From 693780074388111e7b9ef1c3825e462f398dc6c4 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Wed, 27 Apr 2011 11:48:17 +0000 Subject: [PATCH 001/241] Initial branch for 'cycles' From da376e0237517543aa21740ee2363234ee1c20ae Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Wed, 27 Apr 2011 11:58:34 +0000 Subject: [PATCH 002/241] Cycles render engine, initial commit. This is the engine itself, blender modifications and build instructions will follow later. Cycles uses code from some great open source projects, many thanks them: * BVH building and traversal code from NVidia's "Understanding the Efficiency of Ray Traversal on GPUs": http://code.google.com/p/understanding-the-efficiency-of-ray-traversal-on-gpus/ * Open Shading Language for a large part of the shading system: http://code.google.com/p/openshadinglanguage/ * Blender for procedural textures and a few other nodes. * Approximate Catmull Clark subdivision from NVidia Mesh tools: http://code.google.com/p/nvidia-mesh-tools/ * Sobol direction vectors from: http://web.maths.unsw.edu.au/~fkuo/sobol/ * Film response functions from: http://www.cs.columbia.edu/CAVE/software/softlib/dorf.php --- intern/cycles/CMakeLists.txt | 59 + intern/cycles/app/CMakeLists.txt | 48 + intern/cycles/app/cycles_server.cpp | 71 + intern/cycles/app/cycles_test.cpp | 306 + intern/cycles/app/cycles_xml.cpp | 936 + intern/cycles/app/cycles_xml.h | 31 + intern/cycles/blender/CMakeLists.txt | 72 + intern/cycles/blender/addon/__init__.py | 73 + intern/cycles/blender/addon/engine.py | 107 + intern/cycles/blender/addon/enums.py | 113 + intern/cycles/blender/addon/properties.py | 120 + intern/cycles/blender/addon/ui.py | 388 + intern/cycles/blender/addon/xml.py | 99 + intern/cycles/blender/blender_camera.cpp | 249 + intern/cycles/blender/blender_mesh.cpp | 300 + intern/cycles/blender/blender_object.cpp | 183 + intern/cycles/blender/blender_python.cpp | 230 + intern/cycles/blender/blender_session.cpp | 280 + intern/cycles/blender/blender_session.h | 77 + intern/cycles/blender/blender_shader.cpp | 629 + intern/cycles/blender/blender_sync.cpp | 210 + intern/cycles/blender/blender_sync.h | 105 + intern/cycles/blender/blender_util.h | 326 + intern/cycles/bvh/CMakeLists.txt | 18 + intern/cycles/bvh/bvh.cpp | 661 + intern/cycles/bvh/bvh.h | 152 + intern/cycles/bvh/bvh_build.cpp | 545 + intern/cycles/bvh/bvh_build.h | 152 + intern/cycles/bvh/bvh_node.cpp | 101 + intern/cycles/bvh/bvh_node.h | 108 + intern/cycles/bvh/bvh_params.h | 86 + intern/cycles/bvh/bvh_sort.cpp | 57 + intern/cycles/bvh/bvh_sort.h | 28 + intern/cycles/cmake/create_dmg.py | 14 + intern/cycles/cmake/external_libs.cmake | 210 + intern/cycles/cmake/platforms.cmake | 27 + intern/cycles/device/CMakeLists.txt | 18 + intern/cycles/device/device.cpp | 198 + intern/cycles/device/device.h | 136 + intern/cycles/device/device_cpu.cpp | 216 + intern/cycles/device/device_cuda.cpp | 682 + intern/cycles/device/device_intern.h | 35 + intern/cycles/device/device_memory.h | 244 + intern/cycles/device/device_multi.cpp | 304 + intern/cycles/device/device_network.cpp | 382 + intern/cycles/device/device_network.h | 304 + intern/cycles/device/device_opencl.cpp | 396 + intern/cycles/doc/CMakeLists.txt | 105 + intern/cycles/doc/license/Apache_2.0.txt | 203 + intern/cycles/doc/license/Blender.txt | 17 + intern/cycles/doc/license/GPL.txt | 342 + intern/cycles/doc/license/ILM.txt | 29 + intern/cycles/doc/license/NVidia.txt | 36 + intern/cycles/doc/license/OSL.txt | 28 + intern/cycles/doc/license/Sobol.txt | 29 + intern/cycles/doc/license/readme.txt | 11 + intern/cycles/kernel/CMakeLists.txt | 104 + intern/cycles/kernel/kernel.cl | 105 + intern/cycles/kernel/kernel.cpp | 300 + intern/cycles/kernel/kernel.cu | 53 + intern/cycles/kernel/kernel.h | 47 + intern/cycles/kernel/kernel_bvh.h | 361 + intern/cycles/kernel/kernel_camera.h | 132 + intern/cycles/kernel/kernel_compat_cpu.h | 162 + intern/cycles/kernel/kernel_compat_cuda.h | 65 + intern/cycles/kernel/kernel_compat_opencl.h | 50 + intern/cycles/kernel/kernel_differential.h | 90 + intern/cycles/kernel/kernel_displace.h | 35 + intern/cycles/kernel/kernel_emission.h | 118 + intern/cycles/kernel/kernel_film.h | 68 + intern/cycles/kernel/kernel_globals.h | 208 + intern/cycles/kernel/kernel_light.h | 145 + intern/cycles/kernel/kernel_math.h | 27 + intern/cycles/kernel/kernel_mbvh.h | 394 + intern/cycles/kernel/kernel_montecarlo.h | 196 + intern/cycles/kernel/kernel_object.h | 68 + intern/cycles/kernel/kernel_path.h | 263 + intern/cycles/kernel/kernel_qbvh.h | 413 + intern/cycles/kernel/kernel_random.h | 175 + intern/cycles/kernel/kernel_shader.h | 460 + intern/cycles/kernel/kernel_triangle.h | 183 + intern/cycles/kernel/kernel_types.h | 374 + intern/cycles/kernel/osl/CMakeLists.txt | 33 + intern/cycles/kernel/osl/background.cpp | 100 + .../kernel/osl/bsdf_ashikhmin_velvet.cpp | 175 + intern/cycles/kernel/osl/bsdf_diffuse.cpp | 181 + intern/cycles/kernel/osl/bsdf_microfacet.cpp | 533 + intern/cycles/kernel/osl/bsdf_reflection.cpp | 108 + intern/cycles/kernel/osl/bsdf_refraction.cpp | 120 + intern/cycles/kernel/osl/bsdf_transparent.cpp | 97 + intern/cycles/kernel/osl/bsdf_ward.cpp | 222 + intern/cycles/kernel/osl/bsdf_westin.cpp | 239 + intern/cycles/kernel/osl/bssrdf.cpp | 105 + intern/cycles/kernel/osl/debug.cpp | 80 + intern/cycles/kernel/osl/emissive.cpp | 107 + intern/cycles/kernel/osl/nodes/CMakeLists.txt | 69 + .../kernel/osl/nodes/node_add_closure.osl | 28 + .../kernel/osl/nodes/node_attribute.osl | 43 + .../kernel/osl/nodes/node_background.osl | 28 + .../kernel/osl/nodes/node_blend_texture.osl | 78 + intern/cycles/kernel/osl/nodes/node_bump.osl | 46 + .../kernel/osl/nodes/node_clouds_texture.osl | 42 + .../osl/nodes/node_convert_from_color.osl | 33 + .../osl/nodes/node_convert_from_float.osl | 33 + .../osl/nodes/node_convert_from_normal.osl | 33 + .../osl/nodes/node_convert_from_point.osl | 33 + .../osl/nodes/node_convert_from_vector.osl | 33 + .../kernel/osl/nodes/node_diffuse_bsdf.osl | 28 + .../nodes/node_distorted_noise_texture.osl | 46 + .../cycles/kernel/osl/nodes/node_emission.osl | 32 + .../osl/nodes/node_environment_texture.osl | 28 + intern/cycles/kernel/osl/nodes/node_fresnel.h | 21 + .../cycles/kernel/osl/nodes/node_fresnel.osl | 30 + .../cycles/kernel/osl/nodes/node_geometry.osl | 50 + .../kernel/osl/nodes/node_glass_bsdf.osl | 41 + .../kernel/osl/nodes/node_glossy_bsdf.osl | 45 + .../kernel/osl/nodes/node_image_texture.osl | 28 + .../kernel/osl/nodes/node_light_path.osl | 36 + .../kernel/osl/nodes/node_magic_texture.osl | 103 + .../cycles/kernel/osl/nodes/node_mapping.osl | 28 + .../kernel/osl/nodes/node_marble_texture.osl | 58 + intern/cycles/kernel/osl/nodes/node_math.osl | 84 + intern/cycles/kernel/osl/nodes/node_mix.osl | 388 + .../kernel/osl/nodes/node_mix_closure.osl | 30 + .../osl/nodes/node_musgrave_texture.osl | 218 + .../kernel/osl/nodes/node_noise_texture.osl | 36 + .../osl/nodes/node_output_displacement.osl | 25 + .../kernel/osl/nodes/node_output_surface.osl | 25 + .../kernel/osl/nodes/node_output_volume.osl | 25 + .../kernel/osl/nodes/node_sky_texture.osl | 162 + .../kernel/osl/nodes/node_stucci_texture.osl | 49 + intern/cycles/kernel/osl/nodes/node_texture.h | 251 + .../osl/nodes/node_texture_coordinate.osl | 66 + .../osl/nodes/node_translucent_bsdf.osl | 28 + .../osl/nodes/node_transparent_bsdf.osl | 28 + intern/cycles/kernel/osl/nodes/node_value.osl | 33 + .../kernel/osl/nodes/node_vector_math.osl | 53 + .../kernel/osl/nodes/node_velvet_bsdf.osl | 40 + .../kernel/osl/nodes/node_voronoi_texture.osl | 82 + .../kernel/osl/nodes/node_ward_bsdf.osl | 30 + .../kernel/osl/nodes/node_wood_texture.osl | 63 + intern/cycles/kernel/osl/nodes/stdosl.h | 471 + intern/cycles/kernel/osl/osl_closures.cpp | 93 + intern/cycles/kernel/osl/osl_closures.h | 114 + intern/cycles/kernel/osl/osl_globals.h | 74 + intern/cycles/kernel/osl/osl_services.cpp | 424 + intern/cycles/kernel/osl/osl_services.h | 111 + intern/cycles/kernel/osl/osl_shader.cpp | 559 + intern/cycles/kernel/osl/osl_shader.h | 87 + intern/cycles/kernel/osl/vol_subsurface.cpp | 135 + intern/cycles/kernel/svm/bsdf.h | 135 + .../cycles/kernel/svm/bsdf_ashikhmin_velvet.h | 154 + intern/cycles/kernel/svm/bsdf_diffuse.h | 166 + intern/cycles/kernel/svm/bsdf_microfacet.h | 493 + intern/cycles/kernel/svm/bsdf_reflection.h | 95 + intern/cycles/kernel/svm/bsdf_refraction.h | 103 + intern/cycles/kernel/svm/bsdf_transparent.h | 78 + intern/cycles/kernel/svm/bsdf_ward.h | 202 + intern/cycles/kernel/svm/bsdf_westin.h | 212 + intern/cycles/kernel/svm/emissive.h | 83 + intern/cycles/kernel/svm/svm.h | 271 + intern/cycles/kernel/svm/svm_attribute.h | 154 + intern/cycles/kernel/svm/svm_blend.h | 79 + intern/cycles/kernel/svm/svm_bsdf.h | 228 + intern/cycles/kernel/svm/svm_closure.h | 208 + intern/cycles/kernel/svm/svm_clouds.h | 55 + intern/cycles/kernel/svm/svm_convert.h | 48 + intern/cycles/kernel/svm/svm_displace.h | 51 + .../cycles/kernel/svm/svm_distorted_noise.h | 58 + intern/cycles/kernel/svm/svm_fresnel.h | 34 + intern/cycles/kernel/svm/svm_geometry.h | 78 + intern/cycles/kernel/svm/svm_image.h | 162 + intern/cycles/kernel/svm/svm_light_path.h | 41 + intern/cycles/kernel/svm/svm_magic.h | 108 + intern/cycles/kernel/svm/svm_mapping.h | 38 + intern/cycles/kernel/svm/svm_marble.h | 67 + intern/cycles/kernel/svm/svm_math.h | 181 + intern/cycles/kernel/svm/svm_mix.h | 387 + intern/cycles/kernel/svm/svm_musgrave.h | 237 + intern/cycles/kernel/svm/svm_noise.h | 230 + intern/cycles/kernel/svm/svm_noisetex.h | 48 + intern/cycles/kernel/svm/svm_sky.h | 92 + intern/cycles/kernel/svm/svm_stucci.h | 63 + intern/cycles/kernel/svm/svm_tex_coord.h | 170 + intern/cycles/kernel/svm/svm_texture.h | 240 + intern/cycles/kernel/svm/svm_types.h | 286 + intern/cycles/kernel/svm/svm_value.h | 38 + intern/cycles/kernel/svm/svm_voronoi.h | 105 + intern/cycles/kernel/svm/svm_wood.h | 69 + intern/cycles/kernel/svm/volume.h | 43 + intern/cycles/render/CMakeLists.txt | 54 + intern/cycles/render/attribute.cpp | 343 + intern/cycles/render/attribute.h | 161 + intern/cycles/render/background.cpp | 70 + intern/cycles/render/background.h | 47 + intern/cycles/render/buffers.cpp | 177 + intern/cycles/render/buffers.h | 94 + intern/cycles/render/camera.cpp | 193 + intern/cycles/render/camera.h | 93 + intern/cycles/render/film.cpp | 135 + intern/cycles/render/film.h | 51 + intern/cycles/render/filter.cpp | 129 + intern/cycles/render/filter.h | 46 + intern/cycles/render/graph.cpp | 457 + intern/cycles/render/graph.h | 227 + intern/cycles/render/image.cpp | 227 + intern/cycles/render/image.h | 67 + intern/cycles/render/integrator.cpp | 86 + intern/cycles/render/integrator.h | 49 + intern/cycles/render/light.cpp | 220 + intern/cycles/render/light.h | 63 + intern/cycles/render/mesh.cpp | 718 + intern/cycles/render/mesh.h | 133 + intern/cycles/render/mesh_displace.cpp | 153 + intern/cycles/render/nodes.cpp | 1914 ++ intern/cycles/render/nodes.h | 339 + intern/cycles/render/object.cpp | 213 + intern/cycles/render/object.h | 76 + intern/cycles/render/osl.cpp | 497 + intern/cycles/render/osl.h | 103 + intern/cycles/render/scene.cpp | 188 + intern/cycles/render/scene.h | 183 + intern/cycles/render/session.cpp | 435 + intern/cycles/render/session.h | 152 + intern/cycles/render/shader.cpp | 215 + intern/cycles/render/shader.h | 116 + intern/cycles/render/sobol.cpp | 21304 ++++++++++++++++ intern/cycles/render/sobol.h | 32 + intern/cycles/render/svm.cpp | 537 + intern/cycles/render/svm.h | 104 + intern/cycles/render/tile.cpp | 116 + intern/cycles/render/tile.h | 73 + intern/cycles/subd/CMakeLists.txt | 26 + intern/cycles/subd/subd_build.cpp | 666 + intern/cycles/subd/subd_build.h | 75 + intern/cycles/subd/subd_dice.cpp | 461 + intern/cycles/subd/subd_dice.h | 159 + intern/cycles/subd/subd_edge.h | 70 + intern/cycles/subd/subd_face.h | 109 + intern/cycles/subd/subd_mesh.cpp | 309 + intern/cycles/subd/subd_mesh.h | 90 + intern/cycles/subd/subd_patch.cpp | 288 + intern/cycles/subd/subd_patch.h | 107 + intern/cycles/subd/subd_ring.cpp | 236 + intern/cycles/subd/subd_ring.h | 75 + intern/cycles/subd/subd_split.cpp | 325 + intern/cycles/subd/subd_split.h | 71 + intern/cycles/subd/subd_stencil.cpp | 103 + intern/cycles/subd/subd_stencil.h | 65 + intern/cycles/subd/subd_vert.h | 121 + intern/cycles/util/CMakeLists.txt | 47 + intern/cycles/util/util_algorithm.h | 35 + intern/cycles/util/util_args.h | 34 + intern/cycles/util/util_boundbox.h | 98 + intern/cycles/util/util_cache.cpp | 93 + intern/cycles/util/util_cache.h | 132 + intern/cycles/util/util_color.h | 46 + intern/cycles/util/util_cuda.cpp | 379 + intern/cycles/util/util_cuda.h | 619 + intern/cycles/util/util_debug.h | 25 + intern/cycles/util/util_dynlib.cpp | 96 + intern/cycles/util/util_dynlib.h | 33 + intern/cycles/util/util_foreach.h | 28 + intern/cycles/util/util_function.h | 33 + intern/cycles/util/util_hash.h | 50 + intern/cycles/util/util_image.h | 33 + intern/cycles/util/util_list.h | 31 + intern/cycles/util/util_map.h | 34 + intern/cycles/util/util_math.h | 759 + intern/cycles/util/util_md5.cpp | 350 + intern/cycles/util/util_md5.h | 58 + intern/cycles/util/util_opengl.h | 35 + intern/cycles/util/util_param.h | 36 + intern/cycles/util/util_path.cpp | 61 + intern/cycles/util/util_path.h | 41 + intern/cycles/util/util_progress.h | 173 + intern/cycles/util/util_set.h | 33 + intern/cycles/util/util_string.cpp | 92 + intern/cycles/util/util_string.h | 49 + intern/cycles/util/util_system.cpp | 104 + intern/cycles/util/util_system.h | 32 + intern/cycles/util/util_thread.h | 212 + intern/cycles/util/util_time.cpp | 72 + intern/cycles/util/util_time.h | 35 + intern/cycles/util/util_transform.cpp | 142 + intern/cycles/util/util_transform.h | 213 + intern/cycles/util/util_types.h | 266 + intern/cycles/util/util_vector.h | 137 + intern/cycles/util/util_view.cpp | 189 + intern/cycles/util/util_view.h | 44 + intern/cycles/util/util_xml.h | 33 + 291 files changed, 66987 insertions(+) create mode 100644 intern/cycles/CMakeLists.txt create mode 100644 intern/cycles/app/CMakeLists.txt create mode 100644 intern/cycles/app/cycles_server.cpp create mode 100644 intern/cycles/app/cycles_test.cpp create mode 100644 intern/cycles/app/cycles_xml.cpp create mode 100644 intern/cycles/app/cycles_xml.h create mode 100644 intern/cycles/blender/CMakeLists.txt create mode 100644 intern/cycles/blender/addon/__init__.py create mode 100644 intern/cycles/blender/addon/engine.py create mode 100644 intern/cycles/blender/addon/enums.py create mode 100644 intern/cycles/blender/addon/properties.py create mode 100644 intern/cycles/blender/addon/ui.py create mode 100644 intern/cycles/blender/addon/xml.py create mode 100644 intern/cycles/blender/blender_camera.cpp create mode 100644 intern/cycles/blender/blender_mesh.cpp create mode 100644 intern/cycles/blender/blender_object.cpp create mode 100644 intern/cycles/blender/blender_python.cpp create mode 100644 intern/cycles/blender/blender_session.cpp create mode 100644 intern/cycles/blender/blender_session.h create mode 100644 intern/cycles/blender/blender_shader.cpp create mode 100644 intern/cycles/blender/blender_sync.cpp create mode 100644 intern/cycles/blender/blender_sync.h create mode 100644 intern/cycles/blender/blender_util.h create mode 100644 intern/cycles/bvh/CMakeLists.txt create mode 100644 intern/cycles/bvh/bvh.cpp create mode 100644 intern/cycles/bvh/bvh.h create mode 100644 intern/cycles/bvh/bvh_build.cpp create mode 100644 intern/cycles/bvh/bvh_build.h create mode 100644 intern/cycles/bvh/bvh_node.cpp create mode 100644 intern/cycles/bvh/bvh_node.h create mode 100644 intern/cycles/bvh/bvh_params.h create mode 100644 intern/cycles/bvh/bvh_sort.cpp create mode 100644 intern/cycles/bvh/bvh_sort.h create mode 100755 intern/cycles/cmake/create_dmg.py create mode 100644 intern/cycles/cmake/external_libs.cmake create mode 100644 intern/cycles/cmake/platforms.cmake create mode 100644 intern/cycles/device/CMakeLists.txt create mode 100644 intern/cycles/device/device.cpp create mode 100644 intern/cycles/device/device.h create mode 100644 intern/cycles/device/device_cpu.cpp create mode 100644 intern/cycles/device/device_cuda.cpp create mode 100644 intern/cycles/device/device_intern.h create mode 100644 intern/cycles/device/device_memory.h create mode 100644 intern/cycles/device/device_multi.cpp create mode 100644 intern/cycles/device/device_network.cpp create mode 100644 intern/cycles/device/device_network.h create mode 100644 intern/cycles/device/device_opencl.cpp create mode 100644 intern/cycles/doc/CMakeLists.txt create mode 100644 intern/cycles/doc/license/Apache_2.0.txt create mode 100644 intern/cycles/doc/license/Blender.txt create mode 100644 intern/cycles/doc/license/GPL.txt create mode 100644 intern/cycles/doc/license/ILM.txt create mode 100644 intern/cycles/doc/license/NVidia.txt create mode 100644 intern/cycles/doc/license/OSL.txt create mode 100644 intern/cycles/doc/license/Sobol.txt create mode 100644 intern/cycles/doc/license/readme.txt create mode 100644 intern/cycles/kernel/CMakeLists.txt create mode 100644 intern/cycles/kernel/kernel.cl create mode 100644 intern/cycles/kernel/kernel.cpp create mode 100644 intern/cycles/kernel/kernel.cu create mode 100644 intern/cycles/kernel/kernel.h create mode 100644 intern/cycles/kernel/kernel_bvh.h create mode 100644 intern/cycles/kernel/kernel_camera.h create mode 100644 intern/cycles/kernel/kernel_compat_cpu.h create mode 100644 intern/cycles/kernel/kernel_compat_cuda.h create mode 100644 intern/cycles/kernel/kernel_compat_opencl.h create mode 100644 intern/cycles/kernel/kernel_differential.h create mode 100644 intern/cycles/kernel/kernel_displace.h create mode 100644 intern/cycles/kernel/kernel_emission.h create mode 100644 intern/cycles/kernel/kernel_film.h create mode 100644 intern/cycles/kernel/kernel_globals.h create mode 100644 intern/cycles/kernel/kernel_light.h create mode 100644 intern/cycles/kernel/kernel_math.h create mode 100644 intern/cycles/kernel/kernel_mbvh.h create mode 100644 intern/cycles/kernel/kernel_montecarlo.h create mode 100644 intern/cycles/kernel/kernel_object.h create mode 100644 intern/cycles/kernel/kernel_path.h create mode 100644 intern/cycles/kernel/kernel_qbvh.h create mode 100644 intern/cycles/kernel/kernel_random.h create mode 100644 intern/cycles/kernel/kernel_shader.h create mode 100644 intern/cycles/kernel/kernel_triangle.h create mode 100644 intern/cycles/kernel/kernel_types.h create mode 100644 intern/cycles/kernel/osl/CMakeLists.txt create mode 100644 intern/cycles/kernel/osl/background.cpp create mode 100644 intern/cycles/kernel/osl/bsdf_ashikhmin_velvet.cpp create mode 100644 intern/cycles/kernel/osl/bsdf_diffuse.cpp create mode 100644 intern/cycles/kernel/osl/bsdf_microfacet.cpp create mode 100644 intern/cycles/kernel/osl/bsdf_reflection.cpp create mode 100644 intern/cycles/kernel/osl/bsdf_refraction.cpp create mode 100644 intern/cycles/kernel/osl/bsdf_transparent.cpp create mode 100644 intern/cycles/kernel/osl/bsdf_ward.cpp create mode 100644 intern/cycles/kernel/osl/bsdf_westin.cpp create mode 100644 intern/cycles/kernel/osl/bssrdf.cpp create mode 100644 intern/cycles/kernel/osl/debug.cpp create mode 100644 intern/cycles/kernel/osl/emissive.cpp create mode 100644 intern/cycles/kernel/osl/nodes/CMakeLists.txt create mode 100644 intern/cycles/kernel/osl/nodes/node_add_closure.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_attribute.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_background.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_blend_texture.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_bump.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_clouds_texture.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_convert_from_color.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_convert_from_float.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_convert_from_normal.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_convert_from_point.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_convert_from_vector.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_diffuse_bsdf.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_distorted_noise_texture.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_emission.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_environment_texture.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_fresnel.h create mode 100644 intern/cycles/kernel/osl/nodes/node_fresnel.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_geometry.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_glass_bsdf.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_glossy_bsdf.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_image_texture.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_light_path.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_magic_texture.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_mapping.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_marble_texture.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_math.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_mix.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_mix_closure.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_musgrave_texture.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_noise_texture.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_output_displacement.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_output_surface.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_output_volume.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_sky_texture.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_stucci_texture.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_texture.h create mode 100644 intern/cycles/kernel/osl/nodes/node_texture_coordinate.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_translucent_bsdf.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_transparent_bsdf.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_value.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_vector_math.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_velvet_bsdf.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_voronoi_texture.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_ward_bsdf.osl create mode 100644 intern/cycles/kernel/osl/nodes/node_wood_texture.osl create mode 100644 intern/cycles/kernel/osl/nodes/stdosl.h create mode 100644 intern/cycles/kernel/osl/osl_closures.cpp create mode 100644 intern/cycles/kernel/osl/osl_closures.h create mode 100644 intern/cycles/kernel/osl/osl_globals.h create mode 100644 intern/cycles/kernel/osl/osl_services.cpp create mode 100644 intern/cycles/kernel/osl/osl_services.h create mode 100644 intern/cycles/kernel/osl/osl_shader.cpp create mode 100644 intern/cycles/kernel/osl/osl_shader.h create mode 100644 intern/cycles/kernel/osl/vol_subsurface.cpp create mode 100644 intern/cycles/kernel/svm/bsdf.h create mode 100644 intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h create mode 100644 intern/cycles/kernel/svm/bsdf_diffuse.h create mode 100644 intern/cycles/kernel/svm/bsdf_microfacet.h create mode 100644 intern/cycles/kernel/svm/bsdf_reflection.h create mode 100644 intern/cycles/kernel/svm/bsdf_refraction.h create mode 100644 intern/cycles/kernel/svm/bsdf_transparent.h create mode 100644 intern/cycles/kernel/svm/bsdf_ward.h create mode 100644 intern/cycles/kernel/svm/bsdf_westin.h create mode 100644 intern/cycles/kernel/svm/emissive.h create mode 100644 intern/cycles/kernel/svm/svm.h create mode 100644 intern/cycles/kernel/svm/svm_attribute.h create mode 100644 intern/cycles/kernel/svm/svm_blend.h create mode 100644 intern/cycles/kernel/svm/svm_bsdf.h create mode 100644 intern/cycles/kernel/svm/svm_closure.h create mode 100644 intern/cycles/kernel/svm/svm_clouds.h create mode 100644 intern/cycles/kernel/svm/svm_convert.h create mode 100644 intern/cycles/kernel/svm/svm_displace.h create mode 100644 intern/cycles/kernel/svm/svm_distorted_noise.h create mode 100644 intern/cycles/kernel/svm/svm_fresnel.h create mode 100644 intern/cycles/kernel/svm/svm_geometry.h create mode 100644 intern/cycles/kernel/svm/svm_image.h create mode 100644 intern/cycles/kernel/svm/svm_light_path.h create mode 100644 intern/cycles/kernel/svm/svm_magic.h create mode 100644 intern/cycles/kernel/svm/svm_mapping.h create mode 100644 intern/cycles/kernel/svm/svm_marble.h create mode 100644 intern/cycles/kernel/svm/svm_math.h create mode 100644 intern/cycles/kernel/svm/svm_mix.h create mode 100644 intern/cycles/kernel/svm/svm_musgrave.h create mode 100644 intern/cycles/kernel/svm/svm_noise.h create mode 100644 intern/cycles/kernel/svm/svm_noisetex.h create mode 100644 intern/cycles/kernel/svm/svm_sky.h create mode 100644 intern/cycles/kernel/svm/svm_stucci.h create mode 100644 intern/cycles/kernel/svm/svm_tex_coord.h create mode 100644 intern/cycles/kernel/svm/svm_texture.h create mode 100644 intern/cycles/kernel/svm/svm_types.h create mode 100644 intern/cycles/kernel/svm/svm_value.h create mode 100644 intern/cycles/kernel/svm/svm_voronoi.h create mode 100644 intern/cycles/kernel/svm/svm_wood.h create mode 100644 intern/cycles/kernel/svm/volume.h create mode 100644 intern/cycles/render/CMakeLists.txt create mode 100644 intern/cycles/render/attribute.cpp create mode 100644 intern/cycles/render/attribute.h create mode 100644 intern/cycles/render/background.cpp create mode 100644 intern/cycles/render/background.h create mode 100644 intern/cycles/render/buffers.cpp create mode 100644 intern/cycles/render/buffers.h create mode 100644 intern/cycles/render/camera.cpp create mode 100644 intern/cycles/render/camera.h create mode 100644 intern/cycles/render/film.cpp create mode 100644 intern/cycles/render/film.h create mode 100644 intern/cycles/render/filter.cpp create mode 100644 intern/cycles/render/filter.h create mode 100644 intern/cycles/render/graph.cpp create mode 100644 intern/cycles/render/graph.h create mode 100644 intern/cycles/render/image.cpp create mode 100644 intern/cycles/render/image.h create mode 100644 intern/cycles/render/integrator.cpp create mode 100644 intern/cycles/render/integrator.h create mode 100644 intern/cycles/render/light.cpp create mode 100644 intern/cycles/render/light.h create mode 100644 intern/cycles/render/mesh.cpp create mode 100644 intern/cycles/render/mesh.h create mode 100644 intern/cycles/render/mesh_displace.cpp create mode 100644 intern/cycles/render/nodes.cpp create mode 100644 intern/cycles/render/nodes.h create mode 100644 intern/cycles/render/object.cpp create mode 100644 intern/cycles/render/object.h create mode 100644 intern/cycles/render/osl.cpp create mode 100644 intern/cycles/render/osl.h create mode 100644 intern/cycles/render/scene.cpp create mode 100644 intern/cycles/render/scene.h create mode 100644 intern/cycles/render/session.cpp create mode 100644 intern/cycles/render/session.h create mode 100644 intern/cycles/render/shader.cpp create mode 100644 intern/cycles/render/shader.h create mode 100644 intern/cycles/render/sobol.cpp create mode 100644 intern/cycles/render/sobol.h create mode 100644 intern/cycles/render/svm.cpp create mode 100644 intern/cycles/render/svm.h create mode 100644 intern/cycles/render/tile.cpp create mode 100644 intern/cycles/render/tile.h create mode 100644 intern/cycles/subd/CMakeLists.txt create mode 100644 intern/cycles/subd/subd_build.cpp create mode 100644 intern/cycles/subd/subd_build.h create mode 100644 intern/cycles/subd/subd_dice.cpp create mode 100644 intern/cycles/subd/subd_dice.h create mode 100644 intern/cycles/subd/subd_edge.h create mode 100644 intern/cycles/subd/subd_face.h create mode 100644 intern/cycles/subd/subd_mesh.cpp create mode 100644 intern/cycles/subd/subd_mesh.h create mode 100644 intern/cycles/subd/subd_patch.cpp create mode 100644 intern/cycles/subd/subd_patch.h create mode 100644 intern/cycles/subd/subd_ring.cpp create mode 100644 intern/cycles/subd/subd_ring.h create mode 100644 intern/cycles/subd/subd_split.cpp create mode 100644 intern/cycles/subd/subd_split.h create mode 100644 intern/cycles/subd/subd_stencil.cpp create mode 100644 intern/cycles/subd/subd_stencil.h create mode 100644 intern/cycles/subd/subd_vert.h create mode 100644 intern/cycles/util/CMakeLists.txt create mode 100644 intern/cycles/util/util_algorithm.h create mode 100644 intern/cycles/util/util_args.h create mode 100644 intern/cycles/util/util_boundbox.h create mode 100644 intern/cycles/util/util_cache.cpp create mode 100644 intern/cycles/util/util_cache.h create mode 100644 intern/cycles/util/util_color.h create mode 100644 intern/cycles/util/util_cuda.cpp create mode 100644 intern/cycles/util/util_cuda.h create mode 100644 intern/cycles/util/util_debug.h create mode 100644 intern/cycles/util/util_dynlib.cpp create mode 100644 intern/cycles/util/util_dynlib.h create mode 100644 intern/cycles/util/util_foreach.h create mode 100644 intern/cycles/util/util_function.h create mode 100644 intern/cycles/util/util_hash.h create mode 100644 intern/cycles/util/util_image.h create mode 100644 intern/cycles/util/util_list.h create mode 100644 intern/cycles/util/util_map.h create mode 100644 intern/cycles/util/util_math.h create mode 100644 intern/cycles/util/util_md5.cpp create mode 100644 intern/cycles/util/util_md5.h create mode 100644 intern/cycles/util/util_opengl.h create mode 100644 intern/cycles/util/util_param.h create mode 100644 intern/cycles/util/util_path.cpp create mode 100644 intern/cycles/util/util_path.h create mode 100644 intern/cycles/util/util_progress.h create mode 100644 intern/cycles/util/util_set.h create mode 100644 intern/cycles/util/util_string.cpp create mode 100644 intern/cycles/util/util_string.h create mode 100644 intern/cycles/util/util_system.cpp create mode 100644 intern/cycles/util/util_system.h create mode 100644 intern/cycles/util/util_thread.h create mode 100644 intern/cycles/util/util_time.cpp create mode 100644 intern/cycles/util/util_time.h create mode 100644 intern/cycles/util/util_transform.cpp create mode 100644 intern/cycles/util/util_transform.h create mode 100644 intern/cycles/util/util_types.h create mode 100644 intern/cycles/util/util_vector.h create mode 100644 intern/cycles/util/util_view.cpp create mode 100644 intern/cycles/util/util_view.h create mode 100644 intern/cycles/util/util_xml.h diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt new file mode 100644 index 00000000000..406b4e6732b --- /dev/null +++ b/intern/cycles/CMakeLists.txt @@ -0,0 +1,59 @@ + +CMAKE_MINIMUM_REQUIRED(VERSION 2.8) +PROJECT(cycles) +SET(CYCLES_VERSION_MAJOR 0) +SET(CYCLES_VERSION_MINOR 0) +SET(CYCLES_VERSION ${CYCLES_VERSION_MAJOR}.${CYCLES_VERSION_MINOR}) + +# Options + +OPTION(WITH_OSL "Build with Open Shading Language support" OFF) +OPTION(WITH_CUDA "Build with CUDA support" OFF) +OPTION(WITH_OPENCL "Build with OpenCL support (not working)" OFF) +OPTION(WITH_BLENDER "Build Blender Python extension" OFF) +OPTION(WITH_PARTIO "Build with Partio point cloud support (unfinished)" OFF) +OPTION(WITH_NETWORK "Build with network rendering support (unfinished)" OFF) +OPTION(WITH_MULTI "Build with network rendering support (unfinished)" OFF) +OPTION(WITH_DOCS "Build html documentation" OFF) + +# Flags +SET(CUDA_ARCH sm_10 sm_11 sm_12 sm_13 sm_20 sm_21 CACHE STRING "CUDA architectures to build for") +SET(CUDA_MAXREG 24 CACHE STRING "CUDA maximum number of register to use") + +# Paths + +SET(OSL_PATH "" CACHE PATH "Path to OpenShadingLanguage installation") +SET(OIIO_PATH "" CACHE PATH "Path to OpenImageIO installation") +SET(BOOST_PATH "/usr" CACHE PATH "Path to Boost installation") +SET(CUDA_PATH "/usr/local/cuda" CACHE PATH "Path to CUDA installation") +SET(OPENCL_PATH "" CACHE PATH "Path to OpenCL installation") +SET(PYTHON_PATH "" CACHE PATH "Path to Python installation") +SET(BLENDER_PATH "" CACHE PATH "Path to Blender installation") +SET(PARTIO_PATH "" CACHE PATH "Path to Partio installation") +SET(GLEW_PATH "" CACHE PATH "Path to GLEW installation") +SET(GLUT_PATH "" CACHE PATH "Path to GLUT installation") +SET(INSTALL_PATH "${CMAKE_BINARY_DIR}/install" CACHE PATH "Path to install to") + +# External Libraries + +INCLUDE(cmake/external_libs.cmake) + +# Platforms + +INCLUDE(cmake/platforms.cmake) + +# Subdirectories + +IF(WITH_BLENDER) + ADD_SUBDIRECTORY(blender) +ENDIF(WITH_BLENDER) + +ADD_SUBDIRECTORY(app) +ADD_SUBDIRECTORY(bvh) +ADD_SUBDIRECTORY(device) +ADD_SUBDIRECTORY(doc) +ADD_SUBDIRECTORY(kernel) +ADD_SUBDIRECTORY(render) +ADD_SUBDIRECTORY(subd) +ADD_SUBDIRECTORY(util) + diff --git a/intern/cycles/app/CMakeLists.txt b/intern/cycles/app/CMakeLists.txt new file mode 100644 index 00000000000..b1f73ed74a3 --- /dev/null +++ b/intern/cycles/app/CMakeLists.txt @@ -0,0 +1,48 @@ + +INCLUDE_DIRECTORIES(. ../device ../kernel ../kernel/svm ../bvh ../util ../render ../subd) + +SET(LIBRARIES + device + kernel + render + bvh + subd + util + ${Boost_LIBRARIES} + ${OPENGL_LIBRARIES} + ${GLEW_LIBRARIES} + ${OPENIMAGEIO_LIBRARY} + ${GLUT_LIBRARIES}) + +IF(WITH_OSL) + LIST(APPEND LIBRARIES kernel_osl ${OSL_LIBRARIES}) +ENDIF(WITH_OSL) + +IF(WITH_PARTIO) + LIST(APPEND LIBRARIES ${PARTIO_LIBRARIES}) +ENDIF(WITH_PARTIO) + +IF(WITH_OPENCL) + LIST(APPEND LIBRARIES ${OPENCL_LIBRARIES}) +ENDIF(WITH_OPENCL) + +ADD_EXECUTABLE(cycles_test cycles_test.cpp cycles_xml.cpp cycles_xml.h) +TARGET_LINK_LIBRARIES(cycles_test ${LIBRARIES}) +INSTALL(TARGETS cycles_test DESTINATION ${INSTALL_PATH}/cycles) + +IF(UNIX AND NOT APPLE) + SET_TARGET_PROPERTIES(cycles_test PROPERTIES INSTALL_RPATH $ORIGIN/lib) +ENDIF() + +IF(WITH_NETWORK) + ADD_EXECUTABLE(cycles_server cycles_server.cpp) + TARGET_LINK_LIBRARIES(cycles_server ${LIBRARIES}) + INSTALL(TARGETS cycles_server DESTINATION ${INSTALL_PATH}/cycles) + + IF(UNIX AND NOT APPLE) + SET_TARGET_PROPERTIES(cycles_server PROPERTIES INSTALL_RPATH $ORIGIN/lib) + ENDIF() +ENDIF() + +INSTALL(CODE "FILE(MAKE_DIRECTORY ${INSTALL_PATH}/cycles/cache)") + diff --git a/intern/cycles/app/cycles_server.cpp b/intern/cycles/app/cycles_server.cpp new file mode 100644 index 00000000000..bcf4d3ea769 --- /dev/null +++ b/intern/cycles/app/cycles_server.cpp @@ -0,0 +1,71 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include + +#include "device.h" + +#include "util_args.h" +#include "util_foreach.h" +#include "util_path.h" +#include "util_string.h" + +using namespace ccl; + +int main(int argc, const char **argv) +{ + path_init(); + + /* device types */ + string devices = ""; + string devicename = "cpu"; + + vector types = Device::available_types(); + + foreach(DeviceType type, types) { + if(devices != "") + devices += ", "; + + devices += Device::string_from_type(type); + } + + /* parse options */ + ArgParse ap; + + ap.options ("Usage: cycles_server [options]", + "--device %s", &devicename, ("Devices to use: " + devices).c_str(), + NULL); + + if(ap.parse(argc, argv) < 0) { + fprintf(stderr, "%s\n", ap.error_message().c_str()); + ap.usage(); + exit(EXIT_FAILURE); + } + + DeviceType dtype = Device::type_from_string(devicename.c_str()); + + while(1) { + Device *device = Device::create(dtype); + printf("Cycles Server with device: %s\n", device->description().c_str()); + device->server_run(); + delete device; + } + + return 0; +} + diff --git a/intern/cycles/app/cycles_test.cpp b/intern/cycles/app/cycles_test.cpp new file mode 100644 index 00000000000..96072ac3da6 --- /dev/null +++ b/intern/cycles/app/cycles_test.cpp @@ -0,0 +1,306 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include + +#include "buffers.h" +#include "camera.h" +#include "device.h" +#include "scene.h" +#include "session.h" + +#include "util_args.h" +#include "util_foreach.h" +#include "util_function.h" +#include "util_path.h" +#include "util_progress.h" +#include "util_string.h" +#include "util_time.h" +#include "util_view.h" + +#include "cycles_xml.h" + +CCL_NAMESPACE_BEGIN + +struct Options { + Session *session; + Scene *scene; + string filepath; + int width, height; + SceneParams scene_params; + SessionParams session_params; + bool quiet; +} options; + +static void session_print(const string& str) +{ + /* print with carriage return to overwrite previous */ + printf("\r%s", str.c_str()); + + /* add spaces to overwrite longer previous print */ + static int maxlen = 0; + int len = str.size(); + maxlen = max(len, maxlen); + + for(int i = len; i < maxlen; i++) + printf(" "); + + /* flush because we don't write an end of line */ + fflush(stdout); +} + +static void session_print_status() +{ + int pass; + double total_time, pass_time; + string status, substatus; + + /* get status */ + options.session->progress.get_pass(pass, total_time, pass_time); + options.session->progress.get_status(status, substatus); + + if(substatus != "") + status += ": " + substatus; + + /* print status */ + status = string_printf("Pass %d %s", pass, status.c_str()); + session_print(status); +} + +static void session_init() +{ + options.session = new Session(options.session_params); + options.session->reset(options.width, options.height); + options.session->scene = options.scene; + + if(options.session_params.background && !options.quiet) + options.session->progress.set_update_callback(function_bind(&session_print_status)); + else + options.session->progress.set_update_callback(function_bind(&view_redraw)); + + options.session->start(); + + options.scene = NULL; +} + +static void scene_init() +{ + options.scene = new Scene(options.scene_params); + xml_read_file(options.scene, options.filepath.c_str()); + options.width = options.scene->camera->width; + options.height = options.scene->camera->height; +} + +static void session_exit() +{ + if(options.session) { + delete options.session; + options.session = NULL; + } + if(options.scene) { + delete options.scene; + options.scene = NULL; + } + + if(options.session_params.background && !options.quiet) { + session_print("Finished Rendering."); + printf("\n"); + } +} + +static void display_info(Progress& progress) +{ + static double latency = 0.0; + static double last = 0; + double elapsed = time_dt(); + string str; + + latency = (elapsed - last); + last = elapsed; + + int pass; + double total_time, pass_time; + string status, substatus; + + progress.get_pass(pass, total_time, pass_time); + progress.get_status(status, substatus); + + if(substatus != "") + status += ": " + substatus; + + str = string_printf("latency: %.4f pass: %d total: %.4f average: %.4f %s", + latency, pass, total_time, pass_time, status.c_str()); + + view_display_info(str.c_str()); +} + +static void display() +{ + options.session->draw(options.width, options.height); + + display_info(options.session->progress); +} + +static void resize(int width, int height) +{ + options.width= width; + options.height= height; + + if(options.session) + options.session->reset(options.width, options.height); +} + +void keyboard(unsigned char key) +{ + if(key == 'r') + options.session->reset(options.width, options.height); + else if(key == 27) // escape + options.session->progress.set_cancel("Cancelled"); +} + +static int files_parse(int argc, const char *argv[]) +{ + if(argc > 0) + options.filepath = argv[0]; + + return 0; +} + +static void options_parse(int argc, const char **argv) +{ + options.width= 1024; + options.height= 512; + options.filepath = path_get("../../../test/models/elephants.xml"); + options.session = NULL; + options.quiet = false; + + /* devices */ + string devices = ""; + string devicename = "cpu"; + + vector types = Device::available_types(); + + foreach(DeviceType type, types) { + if(devices != "") + devices += ", "; + + devices += Device::string_from_type(type); + } + + /* shading system */ + string ssname = "svm"; + string shadingsystems = "Shading system to use: svm"; + +#ifdef WITH_OSL + shadingsystems += ", osl"; +#endif + + /* parse options */ + ArgParse ap; + bool help = false; + + ap.options ("Usage: cycles_test [options] file.xml", + "%*", files_parse, "", + "--device %s", &devicename, ("Devices to use: " + devices).c_str(), + "--shadingsys %s", &ssname, "Shading system to use: svm, osl", + "--background", &options.session_params.background, "Render in background, without user interface", + "--quiet", &options.quiet, "In background mode, don't print progress messages", + "--passes %d", &options.session_params.passes, "Number of passes to render", + "--output %s", &options.session_params.output_path, "File path to write output image", + "--help", &help, "Print help message", + NULL); + + if(ap.parse(argc, argv) < 0) { + fprintf(stderr, "%s\n", ap.error_message().c_str()); + ap.usage(); + exit(EXIT_FAILURE); + } + else if(help || options.filepath == "") { + ap.usage(); + exit(EXIT_SUCCESS); + } + + options.session_params.device_type = Device::type_from_string(devicename.c_str()); + + if(ssname == "osl") + options.scene_params.shadingsystem = SceneParams::OSL; + else if(ssname == "svm") + options.scene_params.shadingsystem = SceneParams::SVM; + + /* handle invalid configurations */ + bool type_available = false; + + foreach(DeviceType dtype, types) + if(options.session_params.device_type == dtype) + type_available = true; + + if(options.session_params.device_type == DEVICE_NONE || !type_available) { + fprintf(stderr, "Unknown device: %s\n", devicename.c_str()); + exit(EXIT_FAILURE); + } +#ifdef WITH_OSL + else if(!(ssname == "osl" || ssname == "svm")) { +#else + else if(!(ssname == "svm")) { +#endif + fprintf(stderr, "Unknown shading system: %s\n", ssname.c_str()); + exit(EXIT_FAILURE); + } + else if(options.scene_params.shadingsystem == SceneParams::OSL && options.session_params.device_type != DEVICE_CPU) { + fprintf(stderr, "OSL shading system only works with CPU device\n"); + exit(EXIT_FAILURE); + } + else if(options.session_params.passes < 0) { + fprintf(stderr, "Invalid number of passes: %d\n", options.session_params.passes); + exit(EXIT_FAILURE); + } + else if(options.filepath == "") { + fprintf(stderr, "No file path specified\n"); + exit(EXIT_FAILURE); + } + + /* load scene */ + scene_init(); +} + +CCL_NAMESPACE_END + +using namespace ccl; + +int main(int argc, const char **argv) +{ + path_init(); + + options_parse(argc, argv); + + if(options.session_params.background) { + session_init(); + options.session->wait(); + session_exit(); + } + else { + string title = "Cycles: " + path_filename(options.filepath); + + /* init/exit are callback so they run while GL is initialized */ + view_main_loop(title.c_str(), options.width, options.height, + session_init, session_exit, resize, display, keyboard); + } + + return 0; +} + diff --git a/intern/cycles/app/cycles_xml.cpp b/intern/cycles/app/cycles_xml.cpp new file mode 100644 index 00000000000..0e80cd80ece --- /dev/null +++ b/intern/cycles/app/cycles_xml.cpp @@ -0,0 +1,936 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include + +#include +#include +#include + +#include "camera.h" +#include "film.h" +#include "graph.h" +#include "integrator.h" +#include "light.h" +#include "mesh.h" +#include "nodes.h" +#include "object.h" +#include "shader.h" +#include "scene.h" + +#include "subd_mesh.h" +#include "subd_patch.h" +#include "subd_split.h" + +#include "util_debug.h" +#include "util_foreach.h" +#include "util_path.h" +#include "util_transform.h" +#include "util_xml.h" + +#include "cycles_xml.h" + +CCL_NAMESPACE_BEGIN + +/* XML reading state */ + +struct XMLReadState { + Scene *scene; /* scene pointer */ + Transform tfm; /* current transform state */ + bool smooth; /* smooth normal state */ + int shader; /* current shader */ + string base; /* base path to current file*/ + float dicing_rate; /* current dicing rate */ + Mesh::DisplacementMethod displacement_method; +}; + +/* Attribute Reading */ + +static bool xml_read_bool(bool *value, pugi::xml_node node, const char *name) +{ + pugi::xml_attribute attr = node.attribute(name); + + if(attr) { + *value = (string_iequals(attr.value(), "true")) || (atoi(attr.value()) != 0); + return true; + } + + return false; +} + +static bool xml_read_int(int *value, pugi::xml_node node, const char *name) +{ + pugi::xml_attribute attr = node.attribute(name); + + if(attr) { + *value = atoi(attr.value()); + return true; + } + + return false; +} + +static bool xml_read_int_array(vector& value, pugi::xml_node node, const char *name) +{ + pugi::xml_attribute attr = node.attribute(name); + + if(attr) { + vector tokens; + string_split(tokens, attr.value()); + + foreach(const string& token, tokens) + value.push_back(atoi(token.c_str())); + + return true; + } + + return false; +} + +static bool xml_read_float(float *value, pugi::xml_node node, const char *name) +{ + pugi::xml_attribute attr = node.attribute(name); + + if(attr) { + *value = atof(attr.value()); + return true; + } + + return false; +} + +static bool xml_read_float_array(vector& value, pugi::xml_node node, const char *name) +{ + pugi::xml_attribute attr = node.attribute(name); + + if(attr) { + vector tokens; + string_split(tokens, attr.value()); + + foreach(const string& token, tokens) + value.push_back(atof(token.c_str())); + + return true; + } + + return false; +} + +static bool xml_read_float3(float3 *value, pugi::xml_node node, const char *name) +{ + vector array; + + if(xml_read_float_array(array, node, name) && array.size() == 3) { + *value = make_float3(array[0], array[1], array[2]); + return true; + } + + return false; +} + +static bool xml_read_float3_array(vector& value, pugi::xml_node node, const char *name) +{ + vector array; + + if(xml_read_float_array(array, node, name)) { + for(size_t i = 0; i < array.size(); i += 3) + value.push_back(make_float3(array[i+0], array[i+1], array[i+2])); + + return true; + } + + return false; +} + +static bool xml_read_float4(float4 *value, pugi::xml_node node, const char *name) +{ + vector array; + + if(xml_read_float_array(array, node, name) && array.size() == 4) { + *value = make_float4(array[0], array[1], array[2], array[3]); + return true; + } + + return false; +} + +static bool xml_read_string(string *str, pugi::xml_node node, const char *name) +{ + pugi::xml_attribute attr = node.attribute(name); + + if(attr) { + *str = attr.value(); + return true; + } + + return false; +} + +static bool xml_read_ustring(ustring *str, pugi::xml_node node, const char *name) +{ + pugi::xml_attribute attr = node.attribute(name); + + if(attr) { + *str = ustring(attr.value()); + return true; + } + + return false; +} + +static bool xml_equal_string(pugi::xml_node node, const char *name, const char *value) +{ + pugi::xml_attribute attr = node.attribute(name); + + if(attr) + return string_iequals(attr.value(), value); + + return false; +} + +static bool xml_read_enum(ustring *str, ShaderEnum& enm, pugi::xml_node node, const char *name) +{ + pugi::xml_attribute attr = node.attribute(name); + + if(attr) { + ustring ustr(attr.value()); + + if(enm.exists(ustr)) { + *str = ustr; + return true; + } + else + fprintf(stderr, "Unknown value \"%s\" for attribute \"%s\".\n", ustr.c_str(), name); + } + + return false; +} + +/* Film */ + +static void xml_read_film(const XMLReadState& state, pugi::xml_node node) +{ + Camera *cam = state.scene->camera; + + xml_read_int(&cam->width, node, "width"); + xml_read_int(&cam->height, node, "height"); + + float aspect = (float)cam->width/(float)cam->height; + + if(cam->width >= cam->height) { + cam->left = -aspect; + cam->right = aspect; + cam->bottom = -1.0f; + cam->top = 1.0f; + } + else { + cam->left = -1.0f; + cam->right = 1.0f; + cam->bottom = -1.0f/aspect; + cam->top = 1.0f/aspect; + } + + cam->need_update = true; + cam->update(); +} + +/* Integrator */ + +static void xml_read_integrator(const XMLReadState& state, pugi::xml_node node) +{ + Integrator *integrator = state.scene->integrator; + + xml_read_int(&integrator->minbounce, node, "min_bounce"); + xml_read_int(&integrator->maxbounce, node, "max_bounce"); + xml_read_bool(&integrator->no_caustics, node, "no_caustics"); + xml_read_float(&integrator->blur_caustics, node, "blur_caustics"); +} + +/* Camera */ + +static void xml_read_camera(const XMLReadState& state, pugi::xml_node node) +{ + Camera *cam = state.scene->camera; + + if(xml_read_float(&cam->fov, node, "fov")) + cam->fov *= M_PI/180.0f; + + xml_read_float(&cam->nearclip, node, "nearclip"); + xml_read_float(&cam->farclip, node, "farclip"); + xml_read_float(&cam->lensradius, node, "lensradius"); // 0.5*focallength/fstop + xml_read_float(&cam->focaldistance, node, "focaldistance"); + xml_read_float(&cam->shutteropen, node, "shutteropen"); + xml_read_float(&cam->shutterclose, node, "shutterclose"); + + if(xml_equal_string(node, "type", "orthographic")) + cam->ortho = true; + else if(xml_equal_string(node, "type", "perspective")) + cam->ortho = false; + + cam->matrix = state.tfm; + + cam->need_update = true; + cam->update(); +} + +/* Shader */ + +static string xml_socket_name(const char *name) +{ + string sname = name; + size_t i; + + while((i = sname.find(" ")) != string::npos) + sname.replace(i, 1, ""); + + return sname; +} + +static void xml_read_shader_graph(const XMLReadState& state, Shader *shader, pugi::xml_node graph_node) +{ + ShaderGraph *graph = new ShaderGraph(); + + map nodemap; + + nodemap["output"] = graph->output(); + + for(pugi::xml_node node = graph_node.first_child(); node; node = node.next_sibling()) { + ShaderNode *snode = NULL; + + if(string_iequals(node.name(), "image_texture")) { + ImageTextureNode *img = new ImageTextureNode(); + + xml_read_string(&img->filename, node, "src"); + img->filename = path_join(state.base, img->filename); + + snode = img; + } + else if(string_iequals(node.name(), "environment_texture")) { + EnvironmentTextureNode *env = new EnvironmentTextureNode(); + + xml_read_string(&env->filename, node, "src"); + env->filename = path_join(state.base, env->filename); + + snode = env; + } + else if(string_iequals(node.name(), "sky_texture")) { + SkyTextureNode *sky = new SkyTextureNode(); + + xml_read_float3(&sky->sun_direction, node, "sun_direction"); + xml_read_float(&sky->turbidity, node, "turbidity"); + + snode = sky; + } + else if(string_iequals(node.name(), "noise_texture")) { + snode = new NoiseTextureNode(); + } + else if(string_iequals(node.name(), "blend_texture")) { + BlendTextureNode *blend = new BlendTextureNode(); + xml_read_enum(&blend->progression, BlendTextureNode::progression_enum, node, "progression"); + xml_read_enum(&blend->axis, BlendTextureNode::axis_enum, node, "axis"); + snode = blend; + } + else if(string_iequals(node.name(), "clouds_texture")) { + CloudsTextureNode *clouds = new CloudsTextureNode(); + xml_read_bool(&clouds->hard, node, "hard"); + xml_read_int(&clouds->depth, node, "depth"); + xml_read_enum(&clouds->basis, CloudsTextureNode::basis_enum, node, "basis"); + snode = clouds; + } + else if(string_iequals(node.name(), "voronoi_texture")) { + VoronoiTextureNode *voronoi = new VoronoiTextureNode(); + xml_read_enum(&voronoi->distance_metric, VoronoiTextureNode::distance_metric_enum, node, "distance_metric"); + xml_read_enum(&voronoi->coloring, VoronoiTextureNode::coloring_enum, node, "coloring"); + snode = voronoi; + } + else if(string_iequals(node.name(), "musgrave_texture")) { + MusgraveTextureNode *musgrave = new MusgraveTextureNode(); + xml_read_enum(&musgrave->type, MusgraveTextureNode::type_enum, node, "type"); + xml_read_enum(&musgrave->basis, MusgraveTextureNode::basis_enum, node, "basis"); + snode = musgrave; + } + else if(string_iequals(node.name(), "marble_texture")) { + MarbleTextureNode *marble = new MarbleTextureNode(); + xml_read_enum(&marble->type, MarbleTextureNode::type_enum, node, "type"); + xml_read_enum(&marble->wave, MarbleTextureNode::wave_enum, node, "wave"); + xml_read_enum(&marble->basis, MarbleTextureNode::basis_enum, node, "basis"); + xml_read_bool(&marble->hard, node, "hard"); + xml_read_int(&marble->depth, node, "depth"); + snode = marble; + } + else if(string_iequals(node.name(), "magic_texture")) { + MagicTextureNode *magic = new MagicTextureNode(); + xml_read_int(&magic->depth, node, "depth"); + snode = magic; + } + else if(string_iequals(node.name(), "stucci_texture")) { + StucciTextureNode *stucci = new StucciTextureNode(); + xml_read_enum(&stucci->type, StucciTextureNode::type_enum, node, "type"); + xml_read_enum(&stucci->basis, StucciTextureNode::basis_enum, node, "basis"); + xml_read_bool(&stucci->hard, node, "hard"); + snode = stucci; + } + else if(string_iequals(node.name(), "distorted_noise_texture")) { + DistortedNoiseTextureNode *dist = new DistortedNoiseTextureNode(); + xml_read_enum(&dist->basis, DistortedNoiseTextureNode::basis_enum, node, "basis"); + xml_read_enum(&dist->distortion_basis, DistortedNoiseTextureNode::basis_enum, node, "distortion_basis"); + snode = dist; + } + else if(string_iequals(node.name(), "wood_texture")) { + WoodTextureNode *wood = new WoodTextureNode(); + xml_read_enum(&wood->type, WoodTextureNode::type_enum, node, "type"); + xml_read_enum(&wood->wave, WoodTextureNode::wave_enum, node, "wave"); + xml_read_enum(&wood->basis, WoodTextureNode::basis_enum, node, "basis"); + xml_read_bool(&wood->hard, node, "hard"); + snode = wood; + } + else if(string_iequals(node.name(), "mapping")) { + snode = new MappingNode(); + } + else if(string_iequals(node.name(), "ward_bsdf")) { + snode = new WardBsdfNode(); + } + else if(string_iequals(node.name(), "diffuse_bsdf")) { + snode = new DiffuseBsdfNode(); + } + else if(string_iequals(node.name(), "translucent_bsdf")) { + snode = new TranslucentBsdfNode(); + } + else if(string_iequals(node.name(), "transparent_bsdf")) { + snode = new TransparentBsdfNode(); + } + else if(string_iequals(node.name(), "velvet_bsdf")) { + snode = new VelvetBsdfNode(); + } + else if(string_iequals(node.name(), "glossy_bsdf")) { + GlossyBsdfNode *glossy = new GlossyBsdfNode(); + xml_read_enum(&glossy->distribution, GlossyBsdfNode::distribution_enum, node, "distribution"); + snode = glossy; + } + else if(string_iequals(node.name(), "glass_bsdf")) { + GlassBsdfNode *diel = new GlassBsdfNode(); + xml_read_enum(&diel->distribution, GlassBsdfNode::distribution_enum, node, "distribution"); + snode = diel; + } + else if(string_iequals(node.name(), "emission")) { + EmissionNode *emission = new EmissionNode(); + xml_read_bool(&emission->total_power, node, "total_power"); + snode = emission; + } + else if(string_iequals(node.name(), "background")) { + snode = new BackgroundNode(); + } + else if(string_iequals(node.name(), "geometry")) { + snode = new GeometryNode(); + } + else if(string_iequals(node.name(), "texture_coordinate")) { + snode = new TextureCoordinateNode(); + } + else if(string_iequals(node.name(), "lightPath")) { + snode = new LightPathNode(); + } + else if(string_iequals(node.name(), "value")) { + ValueNode *value = new ValueNode(); + xml_read_float(&value->value, node, "value"); + snode = value; + } + else if(string_iequals(node.name(), "color")) { + ColorNode *color = new ColorNode(); + xml_read_float3(&color->value, node, "value"); + snode = color; + } + else if(string_iequals(node.name(), "mix_closure")) { + snode = new MixClosureNode(); + } + else if(string_iequals(node.name(), "add_closure")) { + snode = new AddClosureNode(); + } + else if(string_iequals(node.name(), "mix")) { + MixNode *mix = new MixNode(); + xml_read_enum(&mix->type, MixNode::type_enum, node, "type"); + snode = mix; + } + else if(string_iequals(node.name(), "attribute")) { + AttributeNode *attr = new AttributeNode(); + xml_read_ustring(&attr->attribute, node, "attribute"); + snode = attr; + } + else if(string_iequals(node.name(), "fresnel")) { + snode = new FresnelNode(); + } + else if(string_iequals(node.name(), "math")) { + MathNode *math = new MathNode(); + xml_read_enum(&math->type, MathNode::type_enum, node, "type"); + snode = math; + } + else if(string_iequals(node.name(), "vector_math")) { + VectorMathNode *vmath = new VectorMathNode(); + xml_read_enum(&vmath->type, VectorMathNode::type_enum, node, "type"); + snode = vmath; + } + else if(string_iequals(node.name(), "connect")) { + /* connect nodes */ + vector from_tokens, to_tokens; + + string_split(from_tokens, node.attribute("from").value()); + string_split(to_tokens, node.attribute("to").value()); + + if(from_tokens.size() == 2 && to_tokens.size() == 2) { + /* find nodes and sockets */ + ShaderOutput *output = NULL; + ShaderInput *input = NULL; + + if(nodemap.find(from_tokens[0]) != nodemap.end()) { + ShaderNode *fromnode = nodemap[from_tokens[0]]; + + foreach(ShaderOutput *out, fromnode->outputs) + if(string_iequals(xml_socket_name(out->name), from_tokens[1])) + output = out; + + if(!output) + fprintf(stderr, "Unknown output socket name \"%s\" on \"%s\".\n", from_tokens[1].c_str(), from_tokens[0].c_str()); + } + else + fprintf(stderr, "Unknown shader node name \"%s\".\n", from_tokens[0].c_str()); + + if(nodemap.find(to_tokens[0]) != nodemap.end()) { + ShaderNode *tonode = nodemap[to_tokens[0]]; + + foreach(ShaderInput *in, tonode->inputs) + if(string_iequals(xml_socket_name(in->name), to_tokens[1])) + input = in; + + if(!input) + fprintf(stderr, "Unknown input socket name \"%s\" on \"%s\".\n", to_tokens[1].c_str(), to_tokens[0].c_str()); + } + else + fprintf(stderr, "Unknown shader node name \"%s\".\n", to_tokens[0].c_str()); + + /* connect */ + if(output && input) + graph->connect(output, input); + } + else + fprintf(stderr, "Invalid from or to value for connect node.\n"); + } + else + fprintf(stderr, "Unknown shader node \"%s\".\n", node.name()); + + if(snode) { + /* add to graph */ + graph->add(snode); + + /* add to map for name lookups */ + string name = ""; + xml_read_string(&name, node, "name"); + + nodemap[name] = snode; + + /* read input values */ + for(pugi::xml_attribute attr = node.first_attribute(); attr; attr = attr.next_attribute()) { + foreach(ShaderInput *in, snode->inputs) { + if(string_iequals(in->name, attr.name())) { + switch(in->type) { + case SHADER_SOCKET_FLOAT: + xml_read_float(&in->value.x, node, attr.name()); + break; + case SHADER_SOCKET_COLOR: + case SHADER_SOCKET_VECTOR: + case SHADER_SOCKET_POINT: + case SHADER_SOCKET_NORMAL: + xml_read_float3(&in->value, node, attr.name()); + break; + default: + break; + } + } + } + } + } + } + + shader->set_graph(graph); + shader->tag_update(state.scene); +} + +static void xml_read_shader(const XMLReadState& state, pugi::xml_node node) +{ + Shader *shader = new Shader(); + xml_read_string(&shader->name, node, "name"); + xml_read_shader_graph(state, shader, node); + state.scene->shaders.push_back(shader); +} + +/* Background */ + +static void xml_read_background(const XMLReadState& state, pugi::xml_node node) +{ + Shader *shader = state.scene->shaders[state.scene->default_background]; + + xml_read_shader_graph(state, shader, node); +} + +/* Mesh */ + +static Mesh *xml_add_mesh(Scene *scene, const Transform& tfm) +{ + /* create mesh */ + Mesh *mesh = new Mesh(); + scene->meshes.push_back(mesh); + + /* create object*/ + Object *object = new Object(); + object->mesh = mesh; + object->tfm = tfm; + scene->objects.push_back(object); + + return mesh; +} + +static void xml_read_mesh(const XMLReadState& state, pugi::xml_node node) +{ + /* add mesh */ + Mesh *mesh = xml_add_mesh(state.scene, state.tfm); + mesh->used_shaders.push_back(state.shader); + + /* read state */ + int shader = state.shader; + bool smooth = state.smooth; + + mesh->displacement_method = state.displacement_method; + + /* read vertices and polygons, RIB style */ + vector P; + vector verts, nverts; + + xml_read_float3_array(P, node, "P"); + xml_read_int_array(verts, node, "verts"); + xml_read_int_array(nverts, node, "nverts"); + + if(xml_equal_string(node, "subdivision", "catmull-clark")) { + /* create subd mesh */ + SubdMesh sdmesh; + + /* create subd vertices */ + for(size_t i = 0; i < P.size(); i++) + sdmesh.add_vert(P[i]); + + /* create subd faces */ + int index_offset = 0; + + for(size_t i = 0; i < nverts.size(); i++) { + if(nverts[i] == 4) { + int v0 = verts[index_offset + 0]; + int v1 = verts[index_offset + 1]; + int v2 = verts[index_offset + 2]; + int v3 = verts[index_offset + 3]; + + sdmesh.add_face(v0, v1, v2, v3); + } + else { + for(int j = 0; j < nverts[i]-2; j++) { + int v0 = verts[index_offset]; + int v1 = verts[index_offset + j + 1]; + int v2 = verts[index_offset + j + 2];; + + sdmesh.add_face(v0, v1, v2); + } + } + + index_offset += nverts[i]; + } + + /* finalize subd mesh */ + sdmesh.link_boundary(); + + /* subdivide */ + DiagSplit dsplit; + //dsplit.camera = state.scene->camera; + //dsplit.dicing_rate = 5.0f; + dsplit.dicing_rate = state.dicing_rate; + xml_read_float(&dsplit.dicing_rate, node, "dicing_rate"); + sdmesh.tesselate(&dsplit, false, mesh, shader, smooth); + } + else { + /* create vertices */ + mesh->verts = P; + + /* create triangles */ + int index_offset = 0; + + for(size_t i = 0; i < nverts.size(); i++) { + for(int j = 0; j < nverts[i]-2; j++) { + int v0 = verts[index_offset]; + int v1 = verts[index_offset + j + 1]; + int v2 = verts[index_offset + j + 2]; + + assert(v0 < (int)P.size()); + assert(v1 < (int)P.size()); + assert(v2 < (int)P.size()); + + mesh->add_triangle(v0, v1, v2, shader, smooth); + } + + index_offset += nverts[i]; + } + } + + /* temporary for test compatibility */ + mesh->attributes.remove(Attribute::STD_VERTEX_NORMAL); +} + +/* Patch */ + +static void xml_read_patch(const XMLReadState& state, pugi::xml_node node) +{ + /* read patch */ + Patch *patch = NULL; + + vector P; + xml_read_float3_array(P, node, "P"); + + if(xml_equal_string(node, "type", "bilinear")) { + /* bilinear patch */ + if(P.size() == 4) { + LinearQuadPatch *bpatch = new LinearQuadPatch(); + + for(int i = 0; i < 4; i++) + P[i] = transform(&state.tfm, P[i]); + memcpy(bpatch->hull, &P[0], sizeof(bpatch->hull)); + + patch = bpatch; + } + else + fprintf(stderr, "Invalid number of control points for bilinear patch.\n"); + } + else if(xml_equal_string(node, "type", "bicubic")) { + /* bicubic patch */ + if(P.size() == 16) { + BicubicPatch *bpatch = new BicubicPatch(); + + for(int i = 0; i < 16; i++) + P[i] = transform(&state.tfm, P[i]); + memcpy(bpatch->hull, &P[0], sizeof(bpatch->hull)); + + patch = bpatch; + } + else + fprintf(stderr, "Invalid number of control points for bicubic patch.\n"); + } + else + fprintf(stderr, "Unknown patch type.\n"); + + if(patch) { + /* add mesh */ + Mesh *mesh = xml_add_mesh(state.scene, transform_identity()); + + mesh->used_shaders.push_back(state.shader); + + /* split */ + DiagSplit dsplit; + //dsplit.camera = state.scene->camera; + //dsplit.dicing_rate = 5.0f; + dsplit.dicing_rate = state.dicing_rate; + xml_read_float(&dsplit.dicing_rate, node, "dicing_rate"); + dsplit.split_quad(mesh, patch, state.shader, state.smooth); + + delete patch; + + /* temporary for test compatibility */ + mesh->attributes.remove(Attribute::STD_VERTEX_NORMAL); + } +} + +/* Light */ + +static void xml_read_light(const XMLReadState& state, pugi::xml_node node) +{ + Light *light = new Light(); + light->shader = state.shader; + xml_read_float3(&light->co, node, "P"); + light->co = transform(&state.tfm, light->co); + + state.scene->lights.push_back(light); +} + +/* Transform */ + +static void xml_read_transform(pugi::xml_node node, Transform& tfm) +{ + if(node.attribute("matrix")) { + vector matrix; + if(xml_read_float_array(matrix, node, "matrix") && matrix.size() == 16) + tfm = tfm * transform_transpose((*(Transform*)&matrix[0])); + } + + if(node.attribute("translate")) { + float3 translate = make_float3(0.0f, 0.0f, 0.0f); + xml_read_float3(&translate, node, "translate"); + tfm = tfm * transform_translate(translate); + } + + if(node.attribute("rotate")) { + float4 rotate = make_float4(0.0f, 0.0f, 0.0f, 0.0f); + xml_read_float4(&rotate, node, "rotate"); + tfm = tfm * transform_rotate(rotate.x*M_PI/180.0f, make_float3(rotate.y, rotate.z, rotate.w)); + } + + if(node.attribute("scale")) { + float3 scale = make_float3(0.0f, 0.0f, 0.0f); + xml_read_float3(&scale, node, "scale"); + tfm = tfm * transform_scale(scale); + } +} + +/* State */ + +static void xml_read_state(XMLReadState& state, pugi::xml_node node) +{ + /* read shader */ + string shadername; + + if(xml_read_string(&shadername, node, "shader")) { + int i = 0; + bool found = false; + + foreach(Shader *shader, state.scene->shaders) { + if(shader->name == shadername) { + state.shader = i; + found = true; + break; + } + + i++; + } + + if(!found) + fprintf(stderr, "Unknown shader \"%s\".\n", shadername.c_str()); + } + + xml_read_float(&state.dicing_rate, node, "dicing_rate"); + + /* read smooth/flat */ + if(xml_equal_string(node, "interpolation", "smooth")) + state.smooth = true; + else if(xml_equal_string(node, "interpolation", "flat")) + state.smooth = false; + + /* read displacement method */ + if(xml_equal_string(node, "displacement_method", "true")) + state.displacement_method = Mesh::DISPLACE_TRUE; + else if(xml_equal_string(node, "displacement_method", "bump")) + state.displacement_method = Mesh::DISPLACE_BUMP; + else if(xml_equal_string(node, "displacement_method", "both")) + state.displacement_method = Mesh::DISPLACE_BOTH; +} + +/* Scene */ + +static void xml_read_include(const XMLReadState& state, const string& src); + +static void xml_read_scene(const XMLReadState& state, pugi::xml_node scene_node) +{ + for(pugi::xml_node node = scene_node.first_child(); node; node = node.next_sibling()) { + if(string_iequals(node.name(), "film")) { + xml_read_film(state, node); + } + else if(string_iequals(node.name(), "integrator")) { + xml_read_integrator(state, node); + } + else if(string_iequals(node.name(), "camera")) { + xml_read_camera(state, node); + } + else if(string_iequals(node.name(), "shader")) { + xml_read_shader(state, node); + } + else if(string_iequals(node.name(), "background")) { + xml_read_background(state, node); + } + else if(string_iequals(node.name(), "mesh")) { + xml_read_mesh(state, node); + } + else if(string_iequals(node.name(), "patch")) { + xml_read_patch(state, node); + } + else if(string_iequals(node.name(), "light")) { + xml_read_light(state, node); + } + else if(string_iequals(node.name(), "transform")) { + XMLReadState substate = state; + + xml_read_transform(node, substate.tfm); + xml_read_scene(substate, node); + } + else if(string_iequals(node.name(), "state")) { + XMLReadState substate = state; + + xml_read_state(substate, node); + xml_read_scene(substate, node); + } + else if(string_iequals(node.name(), "include")) { + string src; + + if(xml_read_string(&src, node, "src")) + xml_read_include(state, src); + } + else + fprintf(stderr, "Unknown node \"%s\".\n", node.name()); + } +} + +/* Include */ + +static void xml_read_include(const XMLReadState& state, const string& src) +{ + /* open XML document */ + pugi::xml_document doc; + pugi::xml_parse_result parse_result; + + string path = path_join(state.base, src); + parse_result = doc.load_file(path.c_str()); + + if(parse_result) { + XMLReadState substate = state; + substate.base = path_dirname(path); + + xml_read_scene(substate, doc); + } + else + fprintf(stderr, "%s read error: %s\n", src.c_str(), parse_result.description()); +} + +/* File */ + +void xml_read_file(Scene *scene, const char *filepath) +{ + XMLReadState state; + + state.scene = scene; + state.tfm = transform_identity(); + state.shader = scene->default_surface; + state.smooth = false; + state.dicing_rate = 0.1f; + state.base = path_dirname(filepath); + + xml_read_include(state, path_filename(filepath)); + + scene->params.bvh_type = SceneParams::BVH_STATIC; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/app/cycles_xml.h b/intern/cycles/app/cycles_xml.h new file mode 100644 index 00000000000..90ec52922e1 --- /dev/null +++ b/intern/cycles/app/cycles_xml.h @@ -0,0 +1,31 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __CYCLES_XML__ +#define __CYCLES_XML__ + +CCL_NAMESPACE_BEGIN + +class Scene; + +void xml_read_file(Scene *scene, const char *filepath); + +CCL_NAMESPACE_END + +#endif /* __CYCLES_XML__ */ + diff --git a/intern/cycles/blender/CMakeLists.txt b/intern/cycles/blender/CMakeLists.txt new file mode 100644 index 00000000000..a75f7295e31 --- /dev/null +++ b/intern/cycles/blender/CMakeLists.txt @@ -0,0 +1,72 @@ + +SET(sources + blender_camera.cpp + blender_mesh.cpp + blender_object.cpp + blender_python.cpp + blender_session.cpp + blender_shader.cpp + blender_sync.cpp) + +SET(headers + blender_sync.h + blender_session.h + blender_util.h) + +SET(addonfiles + addon/__init__.py + addon/engine.py + addon/enums.py + addon/properties.py + addon/ui.py + addon/xml.py) + +INCLUDE_DIRECTORIES( + ../render + ../device + ../kernel + ../kernel/svm + ../util + ../subd + ${BLENDER_INCLUDE_DIRS} + ${PYTHON_INCLUDE_DIRS}) + +SET(LIBRARIES + render + bvh + device + kernel + util + subd + ${Boost_LIBRARIES} + ${OPENGL_LIBRARIES} + ${OPENIMAGEIO_LIBRARY} + ${PYTHON_LIBRARIES} + ${GLUT_LIBRARIES} + ${GLEW_LIBRARIES} + ${BLENDER_LIBRARIES}) + +IF(WITH_OSL) + LIST(APPEND LIBRARIES kernel_osl ${OSL_LIBRARIES}) +ENDIF(WITH_OSL) + +IF(WITH_PARTIO) + LIST(APPEND LIBRARIES ${PARTIO_LIBRARIES}) +ENDIF(WITH_PARTIO) + +IF(WITH_OPENCL) + LIST(APPEND LIBRARIES ${OPENCL_LIBRARIES}) +ENDIF(WITH_OPENCL) + +SET(CMAKE_MODULE_LINKER_FLAGS ${PYTHON_MODULE_FLAGS}) + +ADD_LIBRARY(cycles_blender MODULE ${sources} ${headers}) +TARGET_LINK_LIBRARIES(cycles_blender ${LIBRARIES}) + +INSTALL(FILES ${addonfiles} DESTINATION ${INSTALL_PATH}/cycles) +INSTALL(TARGETS cycles_blender LIBRARY DESTINATION ${INSTALL_PATH}/cycles) + +IF(UNIX AND NOT APPLE) + SET_TARGET_PROPERTIES(cycles_blender PROPERTIES INSTALL_RPATH $ORIGIN/lib) +ENDIF() + diff --git a/intern/cycles/blender/addon/__init__.py b/intern/cycles/blender/addon/__init__.py new file mode 100644 index 00000000000..0a2e5cee142 --- /dev/null +++ b/intern/cycles/blender/addon/__init__.py @@ -0,0 +1,73 @@ +# +# Copyright 2011, Blender Foundation. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# + +bl_info = { + "name": "Cycles Render Engine", + "author": "", + "version": (0,0), + "blender": (2, 5, 6), + "api": 34462, + "location": "Info header, render engine menu", + "description": "Cycles Render Engine integration.", + "warning": "", + "wiki_url": "", + "tracker_url": "", + "category": "Render"} + +import bpy + +from cycles import ui +from cycles import properties +from cycles import xml +from cycles import engine + +class CyclesRender(bpy.types.RenderEngine): + bl_idname = 'CYCLES' + bl_label = "Cycles" + + def __init__(self): + engine.init() + self.session = None + + def __del__(self): + engine.free(self) + + def render(self, scene): + engine.create(self, scene, True) + engine.render(self, scene) + + def draw(self, scene): + if not self.session: + engine.create(self, scene, False) + engine.draw(self, scene) + + def update(self, scene): + engine.update(self, scene) + +def register(): + properties.register() + ui.register() + xml.register() + bpy.utils.register_module(__name__) + +def unregister(): + xml.unregister() + ui.unregister() + properties.unregister() + bpy.utils.unregister_module(__name__) + diff --git a/intern/cycles/blender/addon/engine.py b/intern/cycles/blender/addon/engine.py new file mode 100644 index 00000000000..fb98068766f --- /dev/null +++ b/intern/cycles/blender/addon/engine.py @@ -0,0 +1,107 @@ +# +# Copyright 2011, Blender Foundation. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# + +import bpy + +def init(): + from cycles import libcycles_blender as lib + import os.path + lib.init(os.path.dirname(__file__)) + +def create(engine, scene, offline): + from cycles import libcycles_blender as lib + data = bpy.data.as_pointer() + scene = scene.as_pointer() + + if not offline and bpy.context.area.type == 'VIEW_3D': + region = bpy.context.region.as_pointer() + v3d = bpy.context.space_data.as_pointer() + rv3d = bpy.context.region_data.as_pointer() + else: + region = 0 + v3d = 0 + rv3d = 0 + + engine.session = lib.create(engine.as_pointer(), data, scene, region, v3d, rv3d) + +def free(engine): + if "session" in dir(engine): + if engine.session: + from cycles import libcycles_blender as lib + lib.free(engine.session) + del engine.session + +def render(engine, scene): + from cycles import libcycles_blender as lib + lib.render(engine.session) + +def update(engine, scene): + from cycles import libcycles_blender as lib + lib.sync(engine.session) + +def draw(engine, scene): + from cycles import libcycles_blender as lib + v3d = bpy.context.space_data.as_pointer() + rv3d = bpy.context.region_data.as_pointer() + region = bpy.context.region + + # draw render image + status, substatus = lib.draw(engine.session, v3d, rv3d) + + # draw text over image + if status != "": + import blf + import bgl + + fontid = 0 # todo, find out how to set this + dim = blf.dimensions(fontid, status) + dim_sub = blf.dimensions(fontid, substatus) + + padding = 5 + + x = (region.width - max(dim[0], dim_sub[0]))*0.5 - padding + y = (region.height - (dim[1] + dim_sub[1] + padding))*0.5 - padding + + bgl.glColor4f(0.0, 0.0, 0.0, 0.5) + bgl.glEnable(bgl.GL_BLEND) + bgl.glBlendFunc(bgl.GL_SRC_ALPHA, bgl.GL_ONE_MINUS_SRC_ALPHA) + bgl.glRectf(x, y, x+max(dim[0], dim_sub[0])+padding+padding, y+dim[1]+dim_sub[1]+padding+padding+2) + bgl.glDisable(bgl.GL_BLEND) + + x = (region.width - dim[0])*0.5 + y = (region.height - (dim[1] + dim_sub[1] + padding))*0.5 + dim_sub[1] + padding + + bgl.glColor3f(0.8, 0.8, 0.8) + blf.position(fontid, x, y, 0) + blf.draw(fontid, status) + + x = (region.width - dim_sub[0])*0.5 + y = (region.height - (dim[1] + dim_sub[1] + padding))*0.5 + + bgl.glColor3f(0.6, 0.6, 0.6) + blf.position(fontid, x, y, 0) + blf.draw(fontid, substatus) + +def available_devices(): + from cycles import libcycles_blender as lib + return lib.available_devices() + +def with_osl(): + from cycles import libcycles_blender as lib + return lib.with_osl() + diff --git a/intern/cycles/blender/addon/enums.py b/intern/cycles/blender/addon/enums.py new file mode 100644 index 00000000000..fd12fa6d5a5 --- /dev/null +++ b/intern/cycles/blender/addon/enums.py @@ -0,0 +1,113 @@ +# +# Copyright 2011, Blender Foundation. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# + +devices = ( +("CPU", "CPU", "Processor"), +("GPU", "GPU", "Graphics card (NVidia only)")) + +shading_systems = ( +("GPU_COMPATIBLE", "GPU Compatible", "Restricted shading system compatible with GPU rendering"), +("OSL", "Open Shading Language", "Open Shading Language shading system that only runs on the CPU")) + +displacement_methods = ( +("BUMP", "Bump", "Bump mapping to simulate the appearance of displacement"), +("TRUE", "True", "Use true displacement only, requires fine subdivision"), +("BOTH", "Both", "Combination of displacement and bump mapping")) + +bvh_types = ( +("DYNAMIC_BVH", "Dynamic BVH", "Objects can be individually updated, at the cost of slower render time"), +("STATIC_BVH", "Static BVH", "Any object modification requires a complete BVH rebuild, but renders faster")) + +response_curves = ( +("None", "None", ""), +("", "Agfa", ""), +("Agfacolor Futura 100", "Futura 100", ""), +("Agfacolor Futura 200", "Futura 200", ""), +("Agfacolor Futura 400", "Futura 400", ""), +("Agfacolor Futura II 100", "Futura II 100", ""), +("Agfacolor Futura II 200", "Futura II 200", ""), +("Agfacolor Futura II 400", "Futura II 400", ""), +("Agfacolor HDC 100 plus", "HDC 100 plus", ""), +("Agfacolor HDC 400 plus", "HDC 400 plus", ""), +("Agfacolor HDC 200 plus", "HDC 200 plus", ""), +("Agfacolor Optima II 100", "Optima II 100", ""), +("Agfacolor Optima II 200", "Optima II 200", ""), +("Agfacolor Ultra 050", "Ultra 050", ""), +("", "Agfa", ""), +("Agfacolor Vista 100", "Vista 100", ""), +("Agfacolor Vista 200", "Vista 200", ""), +("Agfacolor Vista 400", "Vista 400", ""), +("Agfacolor Vista 800", "Vista 800", ""), +("Agfachrome CT Precisa 100", "CT Precisa 100", ""), +("Agfachrome CT Precisa 200", "CT Precisa 200", ""), +("Agfachrome RSX2 050", "Agfachrome RSX2 050", ""), +("Agfachrome RSX2 100", "Agfachrome RSX2 100", ""), +("Agfachrome RSX2 200", "Agfachrome RSX2 200", ""), +("Advantix 100", "Advantix 100", ""), +("Advantix 200", "Advantix 200", ""), +("Advantix 400", "Advantix 400", ""), +("", "Kodak", ""), +("Gold 100", "Gold 100", ""), +("Gold 200", "Gold 200", ""), +("Max Zoom 800", "Max Zoom 800", ""), +("Portra 100T", "Portra 100T", ""), +("Portra 160NC", "Portra 160NC", ""), +("Portra 160VC", "Portra 160VC", ""), +("Portra 800", "Portra 800", ""), +("Portra 400VC", "Portra 400VC", ""), +("Portra 400NC", "Portra 400NC", ""), +("", "Kodak", ""), +("Ektachrome 100 plus", "Ektachrome 100 plus", ""), +("Ektachrome 320T", "Ektachrome 320T", ""), +("Ektachrome 400X", "Ektachrome 400X", ""), +("Ektachrome 64", "Ektachrome 64", ""), +("Ektachrome 64T", "Ektachrome 64T", ""), +("Ektachrome E100S", "Ektachrome E100S", ""), +("Ektachrome 100", "Ektachrome 100", ""), +("Kodachrome 200", "Kodachrome 200", ""), +("Kodachrome 25", "Kodachrome 25", ""), +("Kodachrome 64", "Kodachrome 64", ""), +#("DSCS 3151", "DSCS 3151", ""), +#("DSCS 3152", "DSCS 3152", ""), +#("DSCS 3153", "DSCS 3153", ""), +#("DSCS 3154", "DSCS 3154", ""), +#("DSCS 3155", "DSCS 3155", ""), +#("DSCS 3156", "DSCS 3156", ""), +#("KAI-0311", "KAI-0311", ""), +#("KAF-2001", "KAF-2001", ""), +#("KAF-3000", "KAF-3000", ""), +#("KAI-0372", "KAI-0372", ""), +#("KAI-1010", "KAI-1010", ""), +("", "Fujifilm", ""), +("F-125", "F-125", ""), +("F-250", "F-250", ""), +("F-400", "F-400", ""), +("FCI", "FCI", ""), +("FP2900Z", "FP2900Z", ""), +("", "Eastman", ""), +("Double X Neg 12min", "Double X Neg 12min", ""), +("Double X Neg 6min", "Double X Neg 6min", ""), +("Double X Neg 5min", "Double X Neg 5min", ""), +("Double X Neg 4min", "Double X Neg 4min", ""), +("", "Canon", ""), +("Optura 981111", "Optura 981111", ""), +("Optura 981113", "Optura 981113", ""), +("Optura 981114", "Optura 981114", ""), +("Optura 981111.SLRR", "Optura 981111.SLRR", "") +) + diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py new file mode 100644 index 00000000000..3ec0587d89c --- /dev/null +++ b/intern/cycles/blender/addon/properties.py @@ -0,0 +1,120 @@ +# +# Copyright 2011, Blender Foundation. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# + +import bpy +from bpy.props import * + +from cycles import enums + +class CyclesRenderSettings(bpy.types.PropertyGroup): + @classmethod + def register(cls): + bpy.types.Scene.cycles = PointerProperty(type=cls, name="Cycles Render Settings", description="Cycles Render Settings") + + cls.device = EnumProperty(name="Device", description="Device to use for rendering", + items=enums.devices, default="CPU") + + cls.shading_system = EnumProperty(name="Shading System", description="Shading system to use for rendering", + items=enums.shading_systems, default="GPU_COMPATIBLE") + + cls.passes = IntProperty(name="Passes", description="Number of passes to render", + default=10, min=1, max=2147483647) + cls.min_bounces = IntProperty(name="Min Bounces", description="Minimum number of bounces", + default=3, min=0, max=1024) + cls.max_bounces = IntProperty(name="Max Bounces", description="Maximum number of bounces", + default=8, min=0, max=1024) + cls.no_caustics = BoolProperty(name="No Caustics", description="Leave out caustics, resulting in a darker image with less noise", + default=False) + cls.blur_caustics = FloatProperty(name="Blur Caustics", description="Blur caustics to reduce noise", + default=0.0, min=0.0, max=1.0) + + cls.exposure = FloatProperty(name="Exposure", description="Image brightness scale", + default=1.0, min=0.0, max=10.0) + cls.response_curve = EnumProperty(name="Response Curve", description="Measured camera film response", + items=enums.response_curves, default="Advantix 400") + + cls.debug_tile_size = IntProperty(name="Tile Size", description="", + default=1024, min=1, max=4096) + cls.debug_min_size = IntProperty(name="Min Size", description="", + default=64, min=1, max=4096) + cls.debug_reset_timeout = FloatProperty(name="Reset timeout", description="", + default=0.1, min=0.01, max=10.0) + cls.debug_cancel_timeout = FloatProperty(name="Cancel timeout", description="", + default=0.1, min=0.01, max=10.0) + cls.debug_text_timeout = FloatProperty(name="Text timeout", description="", + default=1.0, min=0.01, max=10.0) + + cls.debug_bvh_type = EnumProperty(name="BVH Type", description="Choose between faster updates, or faster render", + items=enums.bvh_types, default="DYNAMIC_BVH") + cls.debug_use_spatial_splits = BoolProperty(name="Use Spatial Splits", description="Use BVH spatial splits: longer builder time, faster render", + default=False) + + @classmethod + def unregister(cls): + del bpy.types.Scene.cycles + +class CyclesCameraSettings(bpy.types.PropertyGroup): + @classmethod + def register(cls): + bpy.types.Camera.cycles = PointerProperty(type=cls, name="Cycles Camera Settings", description="Cycles Camera Settings") + + cls.lens_radius = FloatProperty(name="Lens radius", description="Lens radius for depth of field", + default=0.0, min=0.0, max=10.0) + + @classmethod + def unregister(cls): + del bpy.types.Camera.cycles + +class CyclesMaterialSettings(bpy.types.PropertyGroup): + @classmethod + def register(cls): + bpy.types.Material.cycles = PointerProperty(type=cls, name="Cycles Material Settings", description="Cycles Material Settings") + + @classmethod + def unregister(cls): + del bpy.types.Material.cycles + +class CyclesMeshSettings(bpy.types.PropertyGroup): + @classmethod + def register(cls): + bpy.types.Mesh.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles Mesh Settings") + bpy.types.Curve.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles Mesh Settings") + bpy.types.MetaBall.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles Mesh Settings") + + cls.displacement_method = EnumProperty(name="Displacement Method", description="Method to use for the displacement", + items=enums.displacement_methods, default="BUMP") + cls.use_subdivision = BoolProperty(name="Use Subdivision", description="Subdivide mesh for rendering", + default=False) + cls.dicing_rate = FloatProperty(name="Dicing Rate", description="", default=1.0, min=0.001, max=1000.0) + + @classmethod + def unregister(cls): + del bpy.types.Mesh.cycles + +def register(): + bpy.utils.register_class(CyclesRenderSettings) + bpy.utils.register_class(CyclesCameraSettings) + bpy.utils.register_class(CyclesMaterialSettings) + bpy.utils.register_class(CyclesMeshSettings) + +def unregister(): + bpy.utils.unregister_class(CyclesRenderSettings) + bpy.utils.unregister_class(CyclesCameraSettings) + bpy.utils.unregister_class(CyclesMaterialSettings) + bpy.utils.unregister_class(CyclesMeshSettings) + diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py new file mode 100644 index 00000000000..2c4f24db2c5 --- /dev/null +++ b/intern/cycles/blender/addon/ui.py @@ -0,0 +1,388 @@ +# +# Copyright 2011, Blender Foundation. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# + +import bpy + +from cycles import enums +from cycles import engine + +class CyclesButtonsPanel(): + bl_space_type = "PROPERTIES" + bl_region_type = "WINDOW" + bl_context = "render" + + @classmethod + def poll(cls, context): + rd = context.scene.render + return rd.engine == 'CYCLES' + +class CyclesRender_PT_integrator(CyclesButtonsPanel, bpy.types.Panel): + bl_label = "Integrator" + + def draw(self, context): + layout = self.layout + + scene = context.scene + cycles = scene.cycles + + split = layout.split() + + col = split.column() + col.prop(cycles, "passes") + col.prop(cycles, "no_caustics") + + col = split.column() + col = col.column(align=True) + col.prop(cycles, "max_bounces") + col.prop(cycles, "min_bounces") + + #row = col.row() + #row.prop(cycles, "blur_caustics") + #row.active = not cycles.no_caustics + +class CyclesRender_PT_film(CyclesButtonsPanel, bpy.types.Panel): + bl_label = "Film" + + def draw(self, context): + layout = self.layout + + scene = context.scene + cycles = scene.cycles + + split = layout.split() + + split.prop(cycles, "exposure") + split.prop(cycles, "response_curve", text="") + +class CyclesRender_PT_debug(CyclesButtonsPanel, bpy.types.Panel): + bl_label = "Debug" + bl_options = {'DEFAULT_CLOSED'} + + def draw(self, context): + layout = self.layout + + scene = context.scene + cycles = scene.cycles + + split = layout.split() + + col = split.column() + + sub = col.column(align=True) + sub.prop(cycles, "debug_bvh_type", text="") + sub.prop(cycles, "debug_use_spatial_splits") + + sub = col.column(align=True) + sub.prop(cycles, "debug_tile_size") + sub.prop(cycles, "debug_min_size") + + col = split.column(align=True) + col.prop(cycles, "debug_cancel_timeout") + col.prop(cycles, "debug_reset_timeout") + col.prop(cycles, "debug_text_timeout") + +class Cycles_PT_post_processing(CyclesButtonsPanel, bpy.types.Panel): + bl_label = "Post Processing" + bl_options = {'DEFAULT_CLOSED'} + + def draw(self, context): + layout = self.layout + + rd = context.scene.render + + split = layout.split() + + col = split.column() + col.prop(rd, "use_compositing") + col.prop(rd, "use_sequencer") + + col = split.column() + col.prop(rd, "dither_intensity", text="Dither", slider=True) + +class Cycles_PT_camera(CyclesButtonsPanel, bpy.types.Panel): + bl_label = "Cycles" + bl_context = "data" + + @classmethod + def poll(cls, context): + return context.camera + + def draw(self, context): + layout = self.layout + + camera = context.camera + cycles = camera.cycles + + layout.prop(cycles, "lens_radius") + +class Cycles_PT_context_material(CyclesButtonsPanel, bpy.types.Panel): + bl_label = "Surface" + bl_context = "material" + bl_options = {'HIDE_HEADER'} + + @classmethod + def poll(cls, context): + return (context.material or context.object) and CyclesButtonsPanel.poll(context) + + def draw(self, context): + layout = self.layout + + mat = context.material + ob = context.object + slot = context.material_slot + space = context.space_data + + if ob: + row = layout.row() + + row.template_list(ob, "material_slots", ob, "active_material_index", rows=2) + + col = row.column(align=True) + col.operator("object.material_slot_add", icon='ZOOMIN', text="") + col.operator("object.material_slot_remove", icon='ZOOMOUT', text="") + + col.menu("MATERIAL_MT_specials", icon='DOWNARROW_HLT', text="") + + if ob.mode == 'EDIT': + row = layout.row(align=True) + row.operator("object.material_slot_assign", text="Assign") + row.operator("object.material_slot_select", text="Select") + row.operator("object.material_slot_deselect", text="Deselect") + + split = layout.split(percentage=0.65) + + if ob: + split.template_ID(ob, "active_material", new="material.new") + row = split.row() + + if slot: + row.prop(slot, "link", text="") + else: + row.label() + elif mat: + split.template_ID(space, "pin_id") + split.separator() + +class Cycles_PT_mesh_displacement(CyclesButtonsPanel, bpy.types.Panel): + bl_label = "Displacement" + bl_context = "data" + + @classmethod + def poll(cls, context): + return context.mesh or context.curve or context.meta_ball + + def draw(self, context): + layout = self.layout + + mesh = context.mesh + curve = context.curve + mball = context.meta_ball + + if mesh: + cycles = mesh.cycles + elif curve: + cycles = curve.cycles + elif mball: + cycles = mball.cycles + + layout.prop(cycles, "displacement_method", text="Method") + layout.prop(cycles, "use_subdivision"); + layout.prop(cycles, "dicing_rate"); + +def find_node(material, nodetype): + if material and material.node_tree: + ntree = material.node_tree + + for node in ntree.nodes: + if type(node) is not bpy.types.NodeGroup and node.type == nodetype: + return node + + return None + +def find_node_input(node, name): + for input in node.inputs: + if input.name == name: + return input + + return None + +def panel_node_draw(layout, id, output_type, input_name): + if not id.node_tree: + layout.prop(id, "use_nodes") + return + + ntree = id.node_tree + + node = find_node(id, output_type) + if not node: + layout.label(text="No output node.") + + input = find_node_input(node, input_name) + layout.template_node_view(id, ntree, node, input); + +class CyclesLamp_PT_lamp(CyclesButtonsPanel, bpy.types.Panel): + bl_label = "Surface" + bl_context = "data" + + @classmethod + def poll(cls, context): + return context.lamp and CyclesButtonsPanel.poll(context) + + def draw(self, context): + layout = self.layout + + mat = context.lamp + panel_node_draw(layout, mat, 'OUTPUT_LAMP', 'Surface') + +class CyclesWorld_PT_surface(CyclesButtonsPanel, bpy.types.Panel): + bl_label = "Surface" + bl_context = "world" + + @classmethod + def poll(cls, context): + return context.world and CyclesButtonsPanel.poll(context) + + def draw(self, context): + layout = self.layout + + mat = context.world + panel_node_draw(layout, mat, 'OUTPUT_WORLD', 'Surface') + +class CyclesWorld_PT_volume(CyclesButtonsPanel, bpy.types.Panel): + bl_label = "Volume" + bl_context = "world" + + @classmethod + def poll(cls, context): + return context.world and CyclesButtonsPanel.poll(context) + + def draw(self, context): + layout = self.layout + layout.active = False + + mat = context.world + panel_node_draw(layout, mat, 'OUTPUT_WORLD', 'Volume') + +class CyclesMaterial_PT_surface(CyclesButtonsPanel, bpy.types.Panel): + bl_label = "Surface" + bl_context = "material" + + @classmethod + def poll(cls, context): + return context.material and CyclesButtonsPanel.poll(context) + + def draw(self, context): + layout = self.layout + + mat = context.material + panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Surface') + +class CyclesMaterial_PT_volume(CyclesButtonsPanel, bpy.types.Panel): + bl_label = "Volume" + bl_context = "material" + + @classmethod + def poll(cls, context): + return context.material and CyclesButtonsPanel.poll(context) + + def draw(self, context): + layout = self.layout + layout.active = False + + mat = context.material + panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Volume') + +class CyclesMaterial_PT_displacement(CyclesButtonsPanel, bpy.types.Panel): + bl_label = "Displacement" + bl_context = "material" + + @classmethod + def poll(cls, context): + return context.material and CyclesButtonsPanel.poll(context) + + def draw(self, context): + layout = self.layout + + mat = context.material + panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Displacement') + +class CyclesMaterial_PT_settings(CyclesButtonsPanel, bpy.types.Panel): + bl_label = "Settings" + bl_context = "material" + bl_options = {'DEFAULT_CLOSED'} + + @classmethod + def poll(cls, context): + # return context.material and CyclesButtonsPanel.poll(context) + return False + + def draw(self, context): + layout = self.layout + + mat = context.material + + row = layout.row() + row.label(text="Light Group:") + row.prop(mat, "light_group", text="") + +def draw_device(self, context): + scene = context.scene + layout = self.layout + + if scene.render.engine == "CYCLES": + cycles = scene.cycles + + if 'cuda' in engine.available_devices(): + layout.prop(cycles, "device") + if cycles.device == 'CPU' and engine.with_osl(): + layout.prop(cycles, "shading_system") + +def get_panels(): + return [ + bpy.types.RENDER_PT_render, + bpy.types.RENDER_PT_output, + bpy.types.RENDER_PT_encoding, + bpy.types.RENDER_PT_dimensions, + bpy.types.RENDER_PT_stamp, + bpy.types.WORLD_PT_context_world, + bpy.types.DATA_PT_context_mesh, + bpy.types.DATA_PT_vertex_groups, + bpy.types.DATA_PT_shape_keys, + bpy.types.DATA_PT_uv_texture, + bpy.types.DATA_PT_vertex_colors, + bpy.types.DATA_PT_custom_props_mesh, + bpy.types.DATA_PT_context_camera, + bpy.types.DATA_PT_camera, + bpy.types.DATA_PT_camera_display, + bpy.types.DATA_PT_custom_props_camera, + bpy.types.DATA_PT_context_lamp, + bpy.types.DATA_PT_custom_props_lamp, + bpy.types.TEXTURE_PT_context_texture] + +def register(): + bpy.types.RENDER_PT_render.append(draw_device) + + for panel in get_panels(): + panel.COMPAT_ENGINES.add('CYCLES') + +def unregister(): + bpy.types.RENDER_PT_render.remove(draw_device) + + for panel in get_panels(): + panel.COMPAT_ENGINES.remove('CYCLES') + diff --git a/intern/cycles/blender/addon/xml.py b/intern/cycles/blender/addon/xml.py new file mode 100644 index 00000000000..4d1b43d4d95 --- /dev/null +++ b/intern/cycles/blender/addon/xml.py @@ -0,0 +1,99 @@ +# +# Copyright 2011, Blender Foundation. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# + +# XML exporter for generating test files, not intended for end users + +import os +import bpy +import io_utils +import xml.etree.ElementTree as etree +import xml.dom.minidom as dom + +def strip(root): + root.text = None + root.tail = None + + for elem in root: + strip(elem) + +def write(node, fname): + strip(node) + + s = etree.tostring(node) + s = dom.parseString(s).toprettyxml() + + f = open(fname, "w") + f.write(s) + +class ExportCyclesXML(bpy.types.Operator, io_utils.ExportHelper): + '''''' + bl_idname = "export_mesh.cycles_xml" + bl_label = "Export Cycles XML" + + filename_ext = ".xml" + + @classmethod + def poll(cls, context): + return context.active_object != None + + def execute(self, context): + filepath = bpy.path.ensure_ext(self.filepath, ".xml") + + # get mesh + scene = context.scene + object = context.object + + if not object: + raise Exception("No active object") + + mesh = object.create_mesh(scene, True, 'PREVIEW') + + if not mesh: + raise Exception("No mesh data in active object") + + # generate mesh node + nverts = "" + verts = "" + P = "" + + for v in mesh.vertices: + P += "%f %f %f " % (v.co[0], v.co[1], v.co[2]) + + for i, f in enumerate(mesh.faces): + nverts += str(len(f.vertices)) + " " + + for v in f.vertices: + verts += str(v) + " " + verts += " " + + node = etree.Element('mesh', attrib={'nverts': nverts, 'verts': verts, 'P': P}) + + # write to file + write(node, filepath) + + return {'FINISHED'} + +def register(): + pass + +def unregister(): + pass + +if __name__ == "__main__": + register() + diff --git a/intern/cycles/blender/blender_camera.cpp b/intern/cycles/blender/blender_camera.cpp new file mode 100644 index 00000000000..cc4cfda8793 --- /dev/null +++ b/intern/cycles/blender/blender_camera.cpp @@ -0,0 +1,249 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "camera.h" +#include "scene.h" + +#include "blender_sync.h" +#include "blender_util.h" + +CCL_NAMESPACE_BEGIN + +/* Blender Camera Intermediate: we first convert both the offline and 3d view + * render camera to this, and from there convert to our native camera format. */ + +struct BlenderCamera { + float nearclip; + float farclip; + + bool ortho; + float ortho_scale; + + float lens; + float lensradius; + float focaldistance; + + float2 shift; + float2 offset; + float zoom; + + float2 pixelaspect; + + Transform matrix; +}; + +static void blender_camera_init(BlenderCamera *bcam) +{ + memset(bcam, 0, sizeof(BlenderCamera)); + + bcam->zoom = 1.0f; + bcam->pixelaspect = make_float2(1.0f, 1.0f); +} + +static float blender_camera_focal_distance(BL::Object b_ob, BL::Camera b_camera) +{ + BL::Object b_dof_object = b_camera.dof_object(); + + if(!b_dof_object) + return b_camera.dof_distance(); + + /* for dof object, return distance along camera direction. this is + * compatible with blender, but does it fit our dof model? */ + Transform obmat = get_transform(b_ob.matrix_world()); + Transform dofmat = get_transform(b_dof_object.matrix_world()); + + float3 cam_p = transform_get_column(&obmat, 3); + float3 cam_dir = normalize(transform_get_column(&obmat, 2)); + float3 dof_p = transform_get_column(&dofmat, 3); + float3 proj_p = dot(dof_p, cam_dir) * cam_dir; + + return len(proj_p - cam_p); +} + +static void blender_camera_from_object(BlenderCamera *bcam, BL::Object b_ob) +{ + BL::ID b_ob_data = b_ob.data(); + + if(b_ob_data.is_a(&RNA_Camera)) { + BL::Camera b_camera(b_ob_data); + PointerRNA ccamera = RNA_pointer_get(&b_camera.ptr, "cycles"); + + bcam->nearclip = b_camera.clip_start(); + bcam->farclip = b_camera.clip_end(); + + bcam->ortho = (b_camera.type() == BL::Camera::type_ORTHO); + bcam->ortho_scale = b_camera.ortho_scale(); + + bcam->lens = b_camera.lens(); + bcam->lensradius = RNA_float_get(&ccamera, "lens_radius"); + bcam->focaldistance = blender_camera_focal_distance(b_ob, b_camera); + + bcam->shift.x = b_camera.shift_x(); + bcam->shift.y = b_camera.shift_y(); + } + else { + /* from lamp not implemented yet */ + } +} + +static void blender_camera_sync(Camera *cam, BlenderCamera *bcam, int width, int height) +{ + /* copy camera to compare later */ + Camera prevcam = *cam; + + /* dimensions */ + float xratio = width*bcam->pixelaspect.x; + float yratio = height*bcam->pixelaspect.y; + + /* compute x/y aspect and ratio */ + float aspectratio, xaspect, yaspect; + + if(xratio > yratio) { + aspectratio= xratio/yratio; + xaspect= aspectratio; + yaspect= 1.0f; + } + else { + aspectratio= yratio/xratio; + xaspect= 1.0f; + yaspect= aspectratio; + } + + /* modify aspect for orthographic scale */ + if(bcam->ortho) { + xaspect = xaspect*bcam->ortho_scale/(aspectratio*2.0f); + yaspect = yaspect*bcam->ortho_scale/(aspectratio*2.0f); + aspectratio = bcam->ortho_scale/2.0f; + } + + /* set viewplane */ + cam->left = -xaspect; + cam->right = xaspect; + cam->bottom = -yaspect; + cam->top = yaspect; + + /* zoom for 3d camera view */ + cam->left *= bcam->zoom; + cam->right *= bcam->zoom; + cam->bottom *= bcam->zoom; + cam->top *= bcam->zoom; + + /* modify viewplane with camera shift and 3d camera view offset */ + float dx = 2.0f*(aspectratio*bcam->shift.x + bcam->offset.x*xaspect*2.0f); + float dy = 2.0f*(aspectratio*bcam->shift.y + bcam->offset.y*yaspect*2.0f); + + cam->left += dx; + cam->right += dx; + cam->bottom += dy; + cam->top += dy; + + /* clipping distances */ + cam->nearclip = bcam->nearclip; + cam->farclip = bcam->farclip; + + /* orthographic */ + cam->ortho = bcam->ortho; + + /* perspective */ + cam->fov = 2.0f*atan(16.0f/bcam->lens/aspectratio); + cam->focaldistance = bcam->focaldistance; + cam->lensradius = bcam->lensradius; + + /* transform, note the blender camera points along the negative z-axis */ + cam->matrix = bcam->matrix * transform_scale(1.0f, 1.0f, -1.0f); + + /* set update flag */ + if(cam->modified(prevcam)) + cam->tag_update(); +} + +/* Sync Render Camera */ + +void BlenderSync::sync_camera(int width, int height) +{ + BlenderCamera bcam; + blender_camera_init(&bcam); + + /* pixel aspect */ + BL::RenderSettings r = b_scene.render(); + + bcam.pixelaspect.x = r.pixel_aspect_x(); + bcam.pixelaspect.y = r.pixel_aspect_y(); + + /* camera object */ + BL::Object b_ob = b_scene.camera(); + + if(b_ob) { + blender_camera_from_object(&bcam, b_ob); + bcam.matrix = get_transform(b_ob.matrix_world()); + } + + /* sync */ + Camera *cam = scene->camera; + blender_camera_sync(cam, &bcam, width, height); +} + +/* Sync 3D View Camera */ + +void BlenderSync::sync_view(BL::SpaceView3D b_v3d, BL::RegionView3D b_rv3d, int width, int height) +{ + BlenderCamera bcam; + blender_camera_init(&bcam); + + /* 3d view parameters */ + bcam.nearclip = b_v3d.clip_start(); + bcam.farclip = b_v3d.clip_end(); + bcam.lens = b_v3d.lens(); + + if(b_rv3d.view_perspective() == BL::RegionView3D::view_perspective_CAMERA) { + /* camera view */ + BL::Object b_ob = b_scene.camera(); + + if(b_ob) { + blender_camera_from_object(&bcam, b_ob); + + /* magic zoom formula */ + bcam.zoom = b_rv3d.view_camera_zoom(); + bcam.zoom = (1.41421f + bcam.zoom/50.0f); + bcam.zoom *= bcam.zoom; + bcam.zoom = 2.0f/bcam.zoom; + + /* offset */ + bcam.offset = get_float2(b_rv3d.view_camera_offset()); + } + } + else if(b_rv3d.view_perspective() == BL::RegionView3D::view_perspective_ORTHO) { + /* orthographic view */ + bcam.farclip *= 0.5; + bcam.nearclip = -bcam.farclip; + + bcam.ortho = true; + bcam.ortho_scale = b_rv3d.view_distance(); + } + + bcam.zoom *= 2.0f; + + /* 3d view transform */ + bcam.matrix = transform_inverse(get_transform(b_rv3d.view_matrix())); + + /* sync */ + blender_camera_sync(scene->camera, &bcam, width, height); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp new file mode 100644 index 00000000000..e18a67bed8f --- /dev/null +++ b/intern/cycles/blender/blender_mesh.cpp @@ -0,0 +1,300 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "mesh.h" +#include "object.h" +#include "scene.h" + +#include "blender_sync.h" +#include "blender_util.h" + +#include "subd_mesh.h" +#include "subd_patch.h" +#include "subd_split.h" + +#include "util_foreach.h" + +CCL_NAMESPACE_BEGIN + +/* Find/Add */ + +static bool mesh_need_attribute(Scene *scene, Mesh *mesh, Attribute::Standard std) +{ + if(std == Attribute::STD_NONE) + return false; + + foreach(uint shader, mesh->used_shaders) + if(scene->shaders[shader]->attributes.find(std)) + return true; + + return false; +} + +static bool mesh_need_attribute(Scene *scene, Mesh *mesh, ustring name) +{ + if(name == ustring()) + return false; + + foreach(uint shader, mesh->used_shaders) + if(scene->shaders[shader]->attributes.find(name)) + return true; + + return false; +} + +static void create_mesh(Scene *scene, Mesh *mesh, BL::Mesh b_mesh, const vector& used_shaders) +{ + /* create vertices */ + BL::Mesh::vertices_iterator v; + + for(v = b_mesh.vertices.begin(); v != b_mesh.vertices.end(); ++v) + mesh->verts.push_back(get_float3(v->co())); + + /* create faces */ + BL::Mesh::faces_iterator f; + vector nverts; + + for(f = b_mesh.faces.begin(); f != b_mesh.faces.end(); ++f) { + int4 vi = get_int4(f->vertices_raw()); + int n= (vi[3] == 0)? 3: 4; + int shader = used_shaders[f->material_index()]; + bool smooth = f->use_smooth(); + + mesh->add_triangle(vi[0], vi[1], vi[2], shader, smooth); + + if(n == 4) + mesh->add_triangle(vi[0], vi[2], vi[3], shader, smooth); + + nverts.push_back(n); + } + + /* create generated coordinates. todo: we should actually get the orco + coordinates from modifiers, for now we use texspace loc/size which + is available in the api. */ + if(mesh_need_attribute(scene, mesh, Attribute::STD_GENERATED)) { + Attribute *attr = mesh->attributes.add(Attribute::STD_GENERATED); + float3 loc = get_float3(b_mesh.texspace_location()); + float3 size = get_float3(b_mesh.texspace_size()); + + if(size.x != 0.0f) size.x = 0.5f/size.x; + if(size.y != 0.0f) size.y = 0.5f/size.y; + if(size.z != 0.0f) size.z = 0.5f/size.z; + + loc = loc*size - make_float3(0.5f, 0.5f, 0.5f); + + float3 *fdata = attr->data_float3(); + BL::Mesh::vertices_iterator v; + size_t i = 0; + + for(v = b_mesh.vertices.begin(); v != b_mesh.vertices.end(); ++v) + fdata[i++] = get_float3(v->co())*size - loc; + } + + /* create vertex color attributes */ + { + BL::Mesh::vertex_colors_iterator l; + + for(l = b_mesh.vertex_colors.begin(); l != b_mesh.vertex_colors.end(); ++l) { + if(!mesh_need_attribute(scene, mesh, ustring(l->name()))) + continue; + + Attribute *attr = mesh->attributes.add( + ustring(l->name()), TypeDesc::TypeColor, Attribute::CORNER); + + BL::MeshColorLayer::data_iterator c; + float3 *fdata = attr->data_float3(); + size_t i = 0; + + for(c = l->data.begin(); c != l->data.end(); ++c, ++i) { + fdata[0] = get_float3(c->color1()); + fdata[1] = get_float3(c->color2()); + fdata[2] = get_float3(c->color3()); + fdata += 3; + + if(nverts[i] == 4) { + fdata[0] = get_float3(c->color1()); + fdata[1] = get_float3(c->color3()); + fdata[2] = get_float3(c->color4()); + fdata += 3; + } + } + } + } + + /* create uv layer attributes */ + { + BL::Mesh::uv_textures_iterator l; + + for(l = b_mesh.uv_textures.begin(); l != b_mesh.uv_textures.end(); ++l) { + Attribute::Standard std = (l->active_render())? Attribute::STD_UV: Attribute::STD_NONE; + ustring name = ustring(l->name()); + + if(!(mesh_need_attribute(scene, mesh, name) || mesh_need_attribute(scene, mesh, std))) + continue; + + Attribute *attr; + + if(l->active_render()) + attr = mesh->attributes.add(std, name); + else + attr = mesh->attributes.add(name, TypeDesc::TypePoint, Attribute::CORNER); + + BL::MeshTextureFaceLayer::data_iterator t; + float3 *fdata = attr->data_float3(); + size_t i = 0; + + for(t = l->data.begin(); t != l->data.end(); ++t, ++i) { + fdata[0] = get_float3(t->uv1()); + fdata[1] = get_float3(t->uv2()); + fdata[2] = get_float3(t->uv3()); + fdata += 3; + + if(nverts[i] == 4) { + fdata[0] = get_float3(t->uv1()); + fdata[1] = get_float3(t->uv3()); + fdata[2] = get_float3(t->uv4()); + fdata += 3; + } + } + } + } +} + +static void create_subd_mesh(Mesh *mesh, BL::Mesh b_mesh, PointerRNA *cmesh, const vector& used_shaders) +{ + /* create subd mesh */ + SubdMesh sdmesh; + + /* create vertices */ + BL::Mesh::vertices_iterator v; + + for(v = b_mesh.vertices.begin(); v != b_mesh.vertices.end(); ++v) + sdmesh.add_vert(get_float3(v->co())); + + /* create faces */ + BL::Mesh::faces_iterator f; + + for(f = b_mesh.faces.begin(); f != b_mesh.faces.end(); ++f) { + int4 vi = get_int4(f->vertices_raw()); + int n= (vi[3] == 0)? 3: 4; + //int shader = used_shaders[f->material_index()]; + + if(n == 4) + sdmesh.add_face(vi[0], vi[1], vi[2], vi[3]); + /*else + sdmesh.add_face(vi[0], vi[1], vi[2]);*/ + } + + /* finalize subd mesh */ + sdmesh.link_boundary(); + + /* subdivide */ + DiagSplit dsplit; + dsplit.camera = NULL; + dsplit.dicing_rate = RNA_float_get(cmesh, "dicing_rate"); + + sdmesh.tesselate(&dsplit, false, mesh, used_shaders[0], true); +} + +/* Sync */ + +Mesh *BlenderSync::sync_mesh(BL::Object b_ob, bool object_updated) +{ + /* test if we can instance or if the object is modified */ + BL::ID b_ob_data = b_ob.data(); + BL::ID key = (object_is_modified(b_ob))? b_ob: b_ob_data; + + /* find shader indices */ + vector used_shaders; + + BL::Object::material_slots_iterator slot; + for(slot = b_ob.material_slots.begin(); slot != b_ob.material_slots.end(); ++slot) + find_shader(slot->material(), used_shaders); + + if(used_shaders.size() == 0) + used_shaders.push_back(scene->default_surface); + + /* test if we need to sync */ + Mesh *mesh; + + if(!mesh_map.sync(&mesh, key)) { + /* if transform was applied to mesh, need full update */ + if(object_updated && mesh->transform_applied); + /* test if shaders changed, these can be object level so mesh + does not get tagged for recalc */ + else if(mesh->used_shaders != used_shaders); + else { + /* even if not tagged for recalc, we may need to sync anyway + * because the shader needs different mesh attributes */ + bool attribute_recalc = false; + + foreach(uint shader, mesh->used_shaders) + if(scene->shaders[shader]->need_update_attributes) + attribute_recalc = true; + + if(!attribute_recalc) + return mesh; + } + } + + /* create derived mesh */ + BL::Mesh b_mesh = object_to_mesh(b_ob, b_scene, true, !preview); + /* todo: this will crash on non-mesh types! */ + PointerRNA cmesh = RNA_pointer_get(&b_ob_data.ptr, "cycles"); + + vector oldtriangle = mesh->triangles; + + mesh->clear(); + mesh->used_shaders = used_shaders; + mesh->name = ustring(b_ob_data.name()); + + if(cmesh.data && RNA_boolean_get(&cmesh, "use_subdivision")) + create_subd_mesh(mesh, b_mesh, &cmesh, used_shaders); + else + create_mesh(scene, mesh, b_mesh, used_shaders); + + /* free derived mesh */ + object_remove_mesh(b_data, b_mesh); + + /* displacement method */ + if(cmesh.data) { + int method = RNA_enum_get(&cmesh, "displacement_method"); + + if(method == 0) + mesh->displacement_method = Mesh::DISPLACE_BUMP; + else if(method == 1) + mesh->displacement_method = Mesh::DISPLACE_TRUE; + else + mesh->displacement_method = Mesh::DISPLACE_BOTH; + } + + /* tag update */ + bool rebuild = false; + + if(oldtriangle.size() != mesh->triangles.size()) + rebuild = true; + else if(memcmp(&oldtriangle[0], &mesh->triangles[0], sizeof(Mesh::Triangle)*oldtriangle.size()) != 0) + rebuild = true; + + mesh->tag_update(scene, rebuild); + + return mesh; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp new file mode 100644 index 00000000000..51fd743956d --- /dev/null +++ b/intern/cycles/blender/blender_object.cpp @@ -0,0 +1,183 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "light.h" +#include "mesh.h" +#include "object.h" +#include "scene.h" + +#include "blender_sync.h" +#include "blender_util.h" + +#include "util_foreach.h" + +CCL_NAMESPACE_BEGIN + +/* Utilities */ + +bool BlenderSync::object_is_modified(BL::Object b_ob) +{ + /* test if we can instance or if the object is modified */ + if(ccl::object_is_modified(b_ob, b_scene, preview)) { + /* modifiers */ + return true; + } + else { + /* object level material links */ + BL::Object::material_slots_iterator slot; + for(slot = b_ob.material_slots.begin(); slot != b_ob.material_slots.end(); ++slot) + if(slot->link() == BL::MaterialSlot::link_OBJECT) + return true; + } + + return false; +} + +bool BlenderSync::object_is_mesh(BL::Object b_ob) +{ + BL::ID b_ob_data = b_ob.data(); + + return (b_ob_data && (b_ob_data.is_a(&RNA_Mesh) || + b_ob_data.is_a(&RNA_Curve) || b_ob_data.is_a(&RNA_MetaBall))); +} + +bool BlenderSync::object_is_light(BL::Object b_ob) +{ + BL::ID b_ob_data = b_ob.data(); + + return (b_ob_data && b_ob_data.is_a(&RNA_Lamp)); +} + +/* Light */ + +void BlenderSync::sync_light(BL::Object b_ob, Transform& tfm) +{ + /* test if we need to sync */ + Light *light; + + /* todo: account for instancing */ + if(!light_map.sync(&light, b_ob)) + return; + + /* location */ + light->co = make_float3(tfm.x.w, tfm.y.w, tfm.z.w); + + /* shader */ + BL::Lamp b_lamp(b_ob.data()); + vector used_shaders; + + find_shader(b_lamp, used_shaders); + + if(used_shaders.size() == 0) + used_shaders.push_back(scene->default_light); + + light->shader = used_shaders[0]; + + /* tag */ + light->tag_update(scene); +} + +/* Object */ + +void BlenderSync::sync_object(BL::Object b_parent, int b_index, BL::Object b_ob, Transform& tfm) +{ + /* light is handled separately */ + if(object_is_light(b_ob)) { + sync_light(b_ob, tfm); + return; + } + + /* only interested in object that we can create meshes from */ + if(!object_is_mesh(b_ob)) + return; + + /* test if we need to sync */ + ObjectKey key(b_parent, b_index, b_ob); + Object *object; + bool object_updated = false; + + /* object sync */ + if(object_map.sync(&object, b_ob, key)) { + object->name = b_ob.name(); + object->tfm = tfm; + object->tag_update(scene); + object_updated = true; + } + + /* mesh sync */ + object->mesh = sync_mesh(b_ob, object_updated); +} + +/* Object Loop */ + +void BlenderSync::sync_objects(BL::SpaceView3D b_v3d) +{ + /* layer data */ + uint layer; + + if(b_v3d) + layer = get_layer(b_v3d.layers()); + else + layer = get_layer(b_scene.layers()); + + /* prepare for sync */ + light_map.pre_sync(); + mesh_map.pre_sync(); + object_map.pre_sync(); + + /* object loop */ + BL::Scene::objects_iterator b_ob; + + for(b_ob = b_scene.objects.begin(); b_ob != b_scene.objects.end(); ++b_ob) { + bool hide = (b_v3d)? b_ob->hide(): b_ob->hide_render(); + + if(!hide && get_layer(b_ob->layers()) & layer) { + if(b_ob->is_duplicator()) { + /* dupli objects */ + object_create_duplilist(*b_ob, b_scene); + + BL::Object::dupli_list_iterator b_dup; + int b_index = 0; + + for(b_dup = b_ob->dupli_list.begin(); b_dup != b_ob->dupli_list.end(); ++b_dup) { + Transform tfm = get_transform(b_dup->matrix()); + sync_object(*b_ob, b_index, b_dup->object(), tfm); + b_index++; + } + + object_free_duplilist(*b_ob); + } + else { + /* object itself */ + Transform tfm = get_transform(b_ob->matrix_world()); + sync_object(*b_ob, 0, *b_ob, tfm); + } + } + } + + /* handle removed data and modified pointers */ + if(light_map.post_sync()) + scene->light_manager->tag_update(scene); + if(mesh_map.post_sync()) + scene->mesh_manager->tag_update(scene); + if(object_map.post_sync()) + scene->object_manager->tag_update(scene); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/blender/blender_python.cpp b/intern/cycles/blender/blender_python.cpp new file mode 100644 index 00000000000..7c5bdf0e519 --- /dev/null +++ b/intern/cycles/blender/blender_python.cpp @@ -0,0 +1,230 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include + +#include "blender_sync.h" +#include "blender_session.h" + +#include "util_opengl.h" +#include "util_path.h" + +CCL_NAMESPACE_BEGIN + +static PyObject *init_func(PyObject *self, PyObject *args) +{ + const char *path; + + if(!PyArg_ParseTuple(args, "s", &path)) + return NULL; + + path_init(path); + + Py_INCREF(Py_None); + return Py_None; +} + +static PyObject *create_func(PyObject *self, PyObject *args) +{ + Py_ssize_t pyengine, pydata, pyscene, pyregion, pyv3d, pyrv3d; + + if(!PyArg_ParseTuple(args, "nnnnnn", &pyengine, &pydata, &pyscene, &pyregion, &pyv3d, &pyrv3d)) + return NULL; + + /* RNA */ + PointerRNA engineptr; + RNA_pointer_create(NULL, &RNA_RenderEngine, (void*)pyengine, &engineptr); + BL::RenderEngine engine(engineptr); + + PointerRNA dataptr; + RNA_id_pointer_create((ID*)pydata, &dataptr); + BL::BlendData data(dataptr); + + PointerRNA sceneptr; + RNA_id_pointer_create((ID*)pyscene, &sceneptr); + BL::Scene scene(sceneptr); + + PointerRNA regionptr; + RNA_id_pointer_create((ID*)pyregion, ®ionptr); + BL::Region region(regionptr); + + PointerRNA v3dptr; + RNA_id_pointer_create((ID*)pyv3d, &v3dptr); + BL::SpaceView3D v3d(v3dptr); + + PointerRNA rv3dptr; + RNA_id_pointer_create((ID*)pyrv3d, &rv3dptr); + BL::RegionView3D rv3d(rv3dptr); + + /* create session */ + BlenderSession *session; + + if(rv3d) { + /* interactive session */ + int width = region.width(); + int height = region.height(); + + session = new BlenderSession(engine, data, scene, v3d, rv3d, width, height); + } + else { + /* offline session */ + session = new BlenderSession(engine, data, scene); + } + + return PyLong_FromVoidPtr(session); +} + +static PyObject *free_func(PyObject *self, PyObject *args) +{ + Py_ssize_t pysession; + + if(!PyArg_ParseTuple(args, "n", &pysession)) + return NULL; + + delete (BlenderSession*)pysession; + + Py_INCREF(Py_None); + return Py_None; +} + +static PyObject *render_func(PyObject *self, PyObject *args) +{ + Py_ssize_t pysession; + + if(!PyArg_ParseTuple(args, "n", &pysession)) + return NULL; + + Py_BEGIN_ALLOW_THREADS + + BlenderSession *session = (BlenderSession*)pysession; + session->render(); + + Py_END_ALLOW_THREADS + + Py_INCREF(Py_None); + return Py_None; +} + +static PyObject *draw_func(PyObject *self, PyObject *args) +{ + Py_ssize_t pysession, pyv3d, pyrv3d; + + if(!PyArg_ParseTuple(args, "nnn", &pysession, &pyv3d, &pyrv3d)) + return NULL; + + BlenderSession *session = (BlenderSession*)pysession; + + bool draw_text = false; + + if(pyrv3d) { + /* 3d view drawing */ + int viewport[4]; + glGetIntegerv(GL_VIEWPORT, viewport); + + draw_text = session->draw(viewport[2], viewport[3]); + } + else { + /* image editor drawing */ + draw_text = session->draw(); + } + + /* draw */ + PyObject *ret = PyTuple_New(2); + + if(!draw_text) { + PyTuple_SetItem(ret, 0, PyUnicode_FromString("")); + PyTuple_SetItem(ret, 1, PyUnicode_FromString("")); + } + else { + string status, substatus; + + session->get_status(status, substatus); + + PyTuple_SetItem(ret, 0, PyUnicode_FromString(status.c_str())); + PyTuple_SetItem(ret, 1, PyUnicode_FromString(substatus.c_str())); + } + + return ret; +} + +static PyObject *sync_func(PyObject *self, PyObject *args) +{ + Py_ssize_t pysession; + + if(!PyArg_ParseTuple(args, "n", &pysession)) + return NULL; + + BlenderSession *session = (BlenderSession*)pysession; + session->synchronize(); + + Py_INCREF(Py_None); + return Py_None; +} + +static PyObject *available_devices_func(PyObject *self, PyObject *args) +{ + vector types = Device::available_types(); + + PyObject *ret = PyTuple_New(types.size()); + + for(size_t i = 0; i < types.size(); i++) { + string name = Device::string_from_type(types[i]); + PyTuple_SetItem(ret, i, PyUnicode_FromString(name.c_str())); + } + + return ret; +} + +static PyObject *with_osl_func(PyObject *self, PyObject *args) +{ +#ifdef WITH_OSL + PyObject *ret = Py_True; +#else + PyObject *ret = Py_False; +#endif + + return Py_INCREF(ret), ret; +} + +static PyMethodDef methods[] = { + {"init", init_func, METH_VARARGS, ""}, + {"create", create_func, METH_VARARGS, ""}, + {"free", free_func, METH_VARARGS, ""}, + {"render", render_func, METH_VARARGS, ""}, + {"draw", draw_func, METH_VARARGS, ""}, + {"sync", sync_func, METH_VARARGS, ""}, + {"available_devices", available_devices_func, METH_NOARGS, ""}, + {"with_osl", with_osl_func, METH_NOARGS, ""}, + {NULL, NULL}, +}; + +static struct PyModuleDef module = { + PyModuleDef_HEAD_INIT, + "libcycles_blender", + "Blender RNA to render exporter", + -1, + methods +}; + +CCL_NAMESPACE_END + +PyMODINIT_FUNC PyInit_libcycles_blender() +{ + return PyModule_Create(&ccl::module); +} + diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp new file mode 100644 index 00000000000..8e8bba4e5b6 --- /dev/null +++ b/intern/cycles/blender/blender_session.cpp @@ -0,0 +1,280 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "background.h" +#include "buffers.h" +#include "camera.h" +#include "device.h" +#include "integrator.h" +#include "light.h" +#include "scene.h" +#include "session.h" +#include "shader.h" + +#include "util_color.h" +#include "util_foreach.h" +#include "util_function.h" +#include "util_progress.h" +#include "util_time.h" + +#include "blender_sync.h" +#include "blender_session.h" +#include "blender_util.h" + +CCL_NAMESPACE_BEGIN + +BlenderSession::BlenderSession(BL::RenderEngine b_engine_, BL::BlendData b_data_, BL::Scene b_scene_) +: b_engine(b_engine_), b_data(b_data_), b_scene(b_scene_), b_v3d(PointerRNA_NULL), b_rv3d(PointerRNA_NULL) +{ + /* offline render */ + BL::RenderSettings r = b_scene.render(); + + width = (int)(r.resolution_x()*r.resolution_percentage()*0.01f); + height = (int)(r.resolution_y()*r.resolution_percentage()*0.01f); + background = true; + last_redraw_time = 0.0f; + + create_session(); +} + +BlenderSession::BlenderSession(BL::RenderEngine b_engine_, BL::BlendData b_data_, BL::Scene b_scene_, + BL::SpaceView3D b_v3d_, BL::RegionView3D b_rv3d_, int width_, int height_) +: b_engine(b_engine_), b_data(b_data_), b_scene(b_scene_), b_v3d(b_v3d_), b_rv3d(b_rv3d_) +{ + /* 3d view render */ + width = width_; + height = height_; + background = false; + last_redraw_time = 0.0f; + + create_session(); +} + +BlenderSession::~BlenderSession() +{ + free_session(); +} + +void BlenderSession::create_session() +{ + SceneParams scene_params = BlenderSync::get_scene_params(b_scene); + SessionParams session_params = BlenderSync::get_session_params(b_scene, background); + + /* create scene */ + scene = new Scene(scene_params); + + /* create sync */ + sync = new BlenderSync(b_data, b_scene, scene, !background); + sync->sync_data(b_v3d); + + if(b_rv3d) + sync->sync_view(b_v3d, b_rv3d, width, height); + else + sync->sync_camera(width, height); + + /* create session */ + session = new Session(session_params); + session->scene = scene; + session->progress.set_update_callback(function_bind(&BlenderSession::tag_redraw, this)); + session->progress.set_cancel_callback(function_bind(&BlenderSession::test_cancel, this)); + + /* start rendering */ + session->reset(width, height); + session->start(); +} + +void BlenderSession::free_session() +{ + delete sync; + delete session; +} + +void BlenderSession::render() +{ + session->wait(); + + if(session->progress.get_cancel()) + return; + + /* write result */ + write_render_result(); +} + +void BlenderSession::write_render_result() +{ + /* get result */ + DisplayBuffer *display = session->display; + Device *device = session->device; + + if(!display->rgba.device_pointer) + return; + + /* todo: get float buffer */ + device->pixels_copy_from(display->rgba, 0, width, height); + uchar4 *rgba = (uchar4*)display->rgba.data_pointer; + + vector buffer(width*height); + float fac = 1.0f/255.0f; + + /* normalize */ + for(int i = width*height - 1; i >= 0; i--) { + uchar4 f = rgba[i]; + float r = color_srgb_to_scene_linear(f.x*fac); + float g = color_srgb_to_scene_linear(f.y*fac); + float b = color_srgb_to_scene_linear(f.z*fac); + buffer[i] = make_float4(r, g, b, 1.0f); + } + + struct RenderResult *rrp = RE_engine_begin_result((RenderEngine*)b_engine.ptr.data, 0, 0, width, height); + PointerRNA rrptr; + RNA_pointer_create(NULL, &RNA_RenderResult, rrp, &rrptr); + BL::RenderResult rr(rrptr); + + rna_RenderLayer_rect_set(&rr.layers.begin()->ptr, (float*)&buffer[0]); + + RE_engine_end_result((RenderEngine*)b_engine.ptr.data, rrp); +} + +void BlenderSession::synchronize() +{ + /* on session/scene parameter changes, we recreate session entirely */ + SceneParams scene_params = BlenderSync::get_scene_params(b_scene); + SessionParams session_params = BlenderSync::get_session_params(b_scene, background); + + if(session->params.modified(session_params) || + scene->params.modified(scene_params)) { + free_session(); + create_session(); + return; + } + + /* copy recalc flags, outside of mutex so we can decide to do the real + synchronization at a later time to not block on running updates */ + sync->sync_recalc(); + + /* try to acquire mutex. if we don't want to or can't, come back later */ + if(!session->ready_to_reset() || !session->scene->mutex.try_lock()) { + tag_update(); + return; + } + + /* data and camera synchronize */ + sync->sync_data(b_v3d); + + if(b_rv3d) + sync->sync_view(b_v3d, b_rv3d, width, height); + else + sync->sync_camera(width, height); + + /* reset if needed */ + if(scene->need_reset()) + session->reset(width, height); + + /* unlock */ + session->scene->mutex.unlock(); +} + +bool BlenderSession::draw(int w, int h) +{ + /* before drawing, we verify camera and viewport size changes, because + we do not get update callbacks for those, we must detect them here */ + if(session->ready_to_reset()) { + bool reset = false; + + /* try to acquire mutex. if we can't, come back later */ + if(!session->scene->mutex.try_lock()) { + tag_update(); + } + else { + /* update camera from 3d view */ + bool need_update = scene->camera->need_update; + + sync->sync_view(b_v3d, b_rv3d, w, h); + + if(scene->camera->need_update && !need_update) + reset = true; + + session->scene->mutex.unlock(); + } + + /* if dimensions changed, reset */ + if(width != w || height != h) { + width = w; + height = h; + reset = true; + } + + /* reset if requested */ + if(reset) + session->reset(width, height); + } + + /* draw */ + return !session->draw(width, height); +} + +bool BlenderSession::draw() +{ + return !session->draw(width, height); +} + +void BlenderSession::get_status(string& status, string& substatus) +{ + session->progress.get_status(status, substatus); +} + +void BlenderSession::tag_update() +{ + /* tell blender that we want to get another update callback */ + engine_tag_update((RenderEngine*)b_engine.ptr.data); +} + +void BlenderSession::tag_redraw() +{ + if(background) { + /* offline render, set stats and redraw if timeout passed */ + string status, substatus; + get_status(status, substatus); + + if(substatus.size() > 0) + status += " | " + substatus; + + RE_engine_update_stats((RenderEngine*)b_engine.ptr.data, "", status.c_str()); + + if(time_dt() - last_redraw_time > 1.0f) { + write_render_result(); + engine_tag_redraw((RenderEngine*)b_engine.ptr.data); + last_redraw_time = time_dt(); + } + } + else { + /* tell blender that we want to redraw */ + engine_tag_redraw((RenderEngine*)b_engine.ptr.data); + } +} + +void BlenderSession::test_cancel() +{ + /* test if we need to cancel rendering */ + if(background) + if(RE_engine_test_break((RenderEngine*)b_engine.ptr.data)) + session->progress.set_cancel("Cancelled"); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/blender/blender_session.h b/intern/cycles/blender/blender_session.h new file mode 100644 index 00000000000..8bc5d3dfab9 --- /dev/null +++ b/intern/cycles/blender/blender_session.h @@ -0,0 +1,77 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __BLENDER_SESSION_H__ +#define __BLENDER_SESSION_H__ + +#include "device.h" +#include "scene.h" +#include "session.h" + +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +class Scene; +class Session; + +class BlenderSession { +public: + BlenderSession(BL::RenderEngine b_engine, BL::BlendData b_data, BL::Scene b_scene); + BlenderSession(BL::RenderEngine b_engine, BL::BlendData b_data, BL::Scene b_scene, + BL::SpaceView3D b_v3d, BL::RegionView3D b_rv3d, int width, int height); + + ~BlenderSession(); + + /* session */ + void create_session(); + void free_session(); + + /* offline render */ + void render(); + void write_render_result(); + + /* interactive updates */ + void synchronize(); + + /* drawing */ + bool draw(); + bool draw(int w, int h); + void tag_redraw(); + void tag_update(); + void get_status(string& status, string& substatus); + void test_cancel(); + + bool background; + Session *session; + Scene *scene; + BlenderSync *sync; + double last_redraw_time; + + BL::RenderEngine b_engine; + BL::BlendData b_data; + BL::Scene b_scene; + BL::SpaceView3D b_v3d; + BL::RegionView3D b_rv3d; + + int width, height; +}; + +CCL_NAMESPACE_END + +#endif /* __BLENDER_SESSION_H__ */ diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp new file mode 100644 index 00000000000..c6dbfc630ab --- /dev/null +++ b/intern/cycles/blender/blender_shader.cpp @@ -0,0 +1,629 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "background.h" +#include "graph.h" +#include "light.h" +#include "nodes.h" +#include "scene.h" +#include "shader.h" + +#include "blender_sync.h" +#include "blender_util.h" + +#include "util_debug.h" + +CCL_NAMESPACE_BEGIN + +typedef map PtrNodeMap; +typedef pair SocketPair; +typedef map PtrSockMap; + +/* Find */ + +void BlenderSync::find_shader(BL::ID id, vector& used_shaders) +{ + Shader *shader = shader_map.find(id); + + for(size_t i = 0; i < scene->shaders.size(); i++) { + if(scene->shaders[i] == shader) { + used_shaders.push_back(i); + break; + } + } +} + +/* Graph */ + +static BL::NodeSocket get_node_input(BL::Node *b_group_node, BL::Node b_node, const string& name) +{ + BL::Node::inputs_iterator b_in; + + for(b_in = b_node.inputs.begin(); b_in != b_node.inputs.end(); ++b_in) { + if(b_in->name() == name) { + if(b_group_node) { + + BL::NodeTree b_ntree = BL::NodeGroup(*b_group_node).node_tree(); + BL::NodeTree::links_iterator b_link; + + for(b_link = b_ntree.links.begin(); b_link != b_ntree.links.end(); ++b_link) { + if(b_link->to_socket().ptr.data == b_in->ptr.data) { + BL::Node::inputs_iterator b_gin; + + for(b_gin = b_group_node->inputs.begin(); b_gin != b_group_node->inputs.end(); ++b_gin) + if(b_gin->group_socket().ptr.data == b_link->from_socket().ptr.data) + return *b_gin; + + } + } + } + + return *b_in; + } + } + + assert(0); + + return *b_in; +} + +static BL::NodeSocket get_node_output(BL::Node b_node, const string& name) +{ + BL::Node::outputs_iterator b_out; + + for(b_out = b_node.outputs.begin(); b_out != b_node.outputs.end(); ++b_out) + if(b_out->name() == name) + return *b_out; + + assert(0); + + return *b_out; +} + +static float3 get_node_output_rgba(BL::Node b_node, const string& name) +{ + BL::RGBANodeSocket sock(get_node_output(b_node, name)); + return get_float3(sock.default_value()); +} + +static float get_node_output_value(BL::Node b_node, const string& name) +{ + BL::ValueNodeSocket sock(get_node_output(b_node, name)); + return sock.default_value()[0]; +} + +static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node *b_group_node, BL::ShaderNode b_node) +{ + ShaderNode *node = NULL; + + switch(b_node.type()) { + /* not supported */ + case BL::ShaderNode::type_CAMERA: break; + case BL::ShaderNode::type_COMBRGB: break; + case BL::ShaderNode::type_CURVE_RGB: break; + case BL::ShaderNode::type_CURVE_VEC: break; + case BL::ShaderNode::type_GEOM: break; + case BL::ShaderNode::type_HUE_SAT: break; + case BL::ShaderNode::type_INVERT: break; + case BL::ShaderNode::type_MATERIAL: break; + case BL::ShaderNode::type_MATERIAL_EXT: break; + case BL::ShaderNode::type_NORMAL: break; + case BL::ShaderNode::type_OUTPUT: break; + case BL::ShaderNode::type_SCRIPT: break; + case BL::ShaderNode::type_SEPRGB: break; + case BL::ShaderNode::type_SQUEEZE: break; + case BL::ShaderNode::type_TEXTURE: break; + case BL::ShaderNode::type_VALTORGB: break; + /* handled outside this function */ + case BL::ShaderNode::type_GROUP: break; + /* existing blender nodes */ + case BL::ShaderNode::type_RGB: { + ColorNode *color = new ColorNode(); + color->value = get_node_output_rgba(b_node, "Color"); + node = color; + break; + } + case BL::ShaderNode::type_VALUE: { + ValueNode *value = new ValueNode(); + value->value = get_node_output_value(b_node, "Value"); + node = value; + break; + } + case BL::ShaderNode::type_MIX_RGB: { + BL::ShaderNodeMixRGB b_mix_node(b_node); + MixNode *mix = new MixNode(); + mix->type = MixNode::type_enum[b_mix_node.blend_type()]; + node = mix; + break; + } + case BL::ShaderNode::type_RGBTOBW: { + node = new ConvertNode(SHADER_SOCKET_COLOR, SHADER_SOCKET_FLOAT); + break; + } + case BL::ShaderNode::type_MATH: { + BL::ShaderNodeMath b_math_node(b_node); + MathNode *math = new MathNode(); + math->type = MathNode::type_enum[b_math_node.operation()]; + node = math; + break; + } + case BL::ShaderNode::type_VECT_MATH: { + BL::ShaderNodeVectorMath b_vector_math_node(b_node); + VectorMathNode *vmath = new VectorMathNode(); + vmath->type = VectorMathNode::type_enum[b_vector_math_node.operation()]; + node = vmath; + break; + } + case BL::ShaderNode::type_MAPPING: { + BL::ShaderNodeMapping b_mapping_node(b_node); + MappingNode *mapping = new MappingNode(); + mapping->translation = get_float3(b_mapping_node.location()); + mapping->rotation = get_float3(b_mapping_node.rotation()); + mapping->scale = get_float3(b_mapping_node.scale()); + node = mapping; + break; + } + + /* new nodes */ + case BL::ShaderNode::type_OUTPUT_MATERIAL: + case BL::ShaderNode::type_OUTPUT_WORLD: + case BL::ShaderNode::type_OUTPUT_LAMP: { + node = graph->output(); + break; + } + case BL::ShaderNode::type_FRESNEL: { + node = new FresnelNode(); + break; + } + case BL::ShaderNode::type_ADD_CLOSURE: { + node = new AddClosureNode(); + break; + } + case BL::ShaderNode::type_MIX_CLOSURE: { + node = new MixClosureNode(); + break; + } + case BL::ShaderNode::type_ATTRIBUTE: { + AttributeNode *attr = new AttributeNode(); + attr->attribute = ""; + node = attr; + break; + } + case BL::ShaderNode::type_BACKGROUND: { + node = new BackgroundNode(); + break; + } + case BL::ShaderNode::type_BSDF_ANISOTROPIC: { + node = new WardBsdfNode(); + break; + } + case BL::ShaderNode::type_BSDF_DIFFUSE: { + node = new DiffuseBsdfNode(); + break; + } + case BL::ShaderNode::type_BSDF_GLOSSY: { + BL::ShaderNodeBsdfGlossy b_glossy_node(b_node); + GlossyBsdfNode *glossy = new GlossyBsdfNode(); + + switch(b_glossy_node.distribution()) { + case BL::ShaderNodeBsdfGlossy::distribution_SHARP: + glossy->distribution = ustring("Sharp"); + break; + case BL::ShaderNodeBsdfGlossy::distribution_BECKMANN: + glossy->distribution = ustring("Beckmann"); + break; + case BL::ShaderNodeBsdfGlossy::distribution_GGX: + glossy->distribution = ustring("GGX"); + break; + } + node = glossy; + break; + } + case BL::ShaderNode::type_BSDF_GLASS: { + BL::ShaderNodeBsdfGlass b_glass_node(b_node); + GlassBsdfNode *glass = new GlassBsdfNode(); + switch(b_glass_node.distribution()) { + case BL::ShaderNodeBsdfGlass::distribution_SHARP: + glass->distribution = ustring("Sharp"); + break; + case BL::ShaderNodeBsdfGlass::distribution_BECKMANN: + glass->distribution = ustring("Beckmann"); + break; + case BL::ShaderNodeBsdfGlass::distribution_GGX: + glass->distribution = ustring("GGX"); + break; + } + node = glass; + break; + } + case BL::ShaderNode::type_BSDF_TRANSLUCENT: { + node = new TranslucentBsdfNode(); + break; + } + case BL::ShaderNode::type_BSDF_TRANSPARENT: { + node = new TransparentBsdfNode(); + break; + } + case BL::ShaderNode::type_BSDF_VELVET: { + node = new VelvetBsdfNode(); + break; + } + case BL::ShaderNode::type_EMISSION: { + node = new EmissionNode(); + break; + } + case BL::ShaderNode::type_GEOMETRY: { + node = new GeometryNode(); + break; + } + case BL::ShaderNode::type_LIGHT_PATH: { + node = new LightPathNode(); + break; + } + case BL::ShaderNode::type_TEX_IMAGE: { + BL::ShaderNodeTexImage b_image_node(b_node); + BL::Image b_image(b_image_node.image()); + ImageTextureNode *image = new ImageTextureNode(); + /* todo: handle generated/builtin images */ + if(b_image) + image->filename = blender_absolute_path(b_data, b_image, b_image.filepath()); + node = image; + break; + } + case BL::ShaderNode::type_TEX_ENVIRONMENT: { + BL::ShaderNodeTexEnvironment b_environment_node(b_node); + BL::Image b_image(b_environment_node.image()); + EnvironmentTextureNode *env = new EnvironmentTextureNode(); + if(b_image) + env->filename = blender_absolute_path(b_data, b_image, b_image.filepath()); + node = env; + break; + } + case BL::ShaderNode::type_TEX_NOISE: { + node = new NoiseTextureNode(); + break; + } + case BL::ShaderNode::type_TEX_BLEND: { + BL::ShaderNodeTexBlend b_blend_node(b_node); + BlendTextureNode *blend = new BlendTextureNode(); + blend->progression = BlendTextureNode::progression_enum[(int)b_blend_node.progression()]; + blend->axis = BlendTextureNode::axis_enum[(int)b_blend_node.axis()]; + node = blend; + break; + } + case BL::ShaderNode::type_TEX_VORONOI: { + BL::ShaderNodeTexVoronoi b_voronoi_node(b_node); + VoronoiTextureNode *voronoi = new VoronoiTextureNode(); + voronoi->distance_metric = VoronoiTextureNode::distance_metric_enum[(int)b_voronoi_node.distance_metric()]; + voronoi->coloring = VoronoiTextureNode::coloring_enum[(int)b_voronoi_node.coloring()]; + node = voronoi; + break; + } + case BL::ShaderNode::type_TEX_MAGIC: { + BL::ShaderNodeTexMagic b_magic_node(b_node); + MagicTextureNode *magic = new MagicTextureNode(); + magic->depth = b_magic_node.turbulence_depth(); + node = magic; + break; + } + case BL::ShaderNode::type_TEX_MARBLE: { + BL::ShaderNodeTexMarble b_marble_node(b_node); + MarbleTextureNode *marble = new MarbleTextureNode(); + marble->depth = b_marble_node.turbulence_depth(); + marble->basis = MarbleTextureNode::basis_enum[(int)b_marble_node.noise_basis()]; + marble->type = MarbleTextureNode::type_enum[(int)b_marble_node.marble_type()]; + marble->wave = MarbleTextureNode::wave_enum[(int)b_marble_node.wave_type()]; + marble->hard = b_marble_node.noise_type() == BL::ShaderNodeTexMarble::noise_type_HARD; + node = marble; + break; + } + case BL::ShaderNode::type_TEX_CLOUDS: { + BL::ShaderNodeTexClouds b_clouds_node(b_node); + CloudsTextureNode *clouds = new CloudsTextureNode(); + clouds->depth = b_clouds_node.turbulence_depth(); + clouds->basis = CloudsTextureNode::basis_enum[(int)b_clouds_node.noise_basis()]; + clouds->hard = b_clouds_node.noise_type() == BL::ShaderNodeTexClouds::noise_type_HARD; + node = clouds; + break; + } + case BL::ShaderNode::type_TEX_WOOD: { + BL::ShaderNodeTexWood b_wood_node(b_node); + WoodTextureNode *wood = new WoodTextureNode(); + wood->type = WoodTextureNode::type_enum[(int)b_wood_node.wood_type()]; + wood->basis = WoodTextureNode::basis_enum[(int)b_wood_node.noise_basis()]; + wood->hard = b_wood_node.noise_type() == BL::ShaderNodeTexWood::noise_type_HARD; + wood->wave = WoodTextureNode::wave_enum[(int)b_wood_node.wave_type()]; + node = wood; + break; + } + case BL::ShaderNode::type_TEX_MUSGRAVE: { + BL::ShaderNodeTexMusgrave b_musgrave_node(b_node); + MusgraveTextureNode *musgrave = new MusgraveTextureNode(); + musgrave->type = MusgraveTextureNode::type_enum[(int)b_musgrave_node.musgrave_type()]; + musgrave->basis = MusgraveTextureNode::basis_enum[(int)b_musgrave_node.noise_basis()]; + node = musgrave; + break; + } + case BL::ShaderNode::type_TEX_STUCCI: { + BL::ShaderNodeTexStucci b_stucci_node(b_node); + StucciTextureNode *stucci = new StucciTextureNode(); + stucci->type = StucciTextureNode::type_enum[(int)b_stucci_node.stucci_type()]; + stucci->basis = StucciTextureNode::basis_enum[(int)b_stucci_node.noise_basis()]; + stucci->hard = b_stucci_node.noise_type() == BL::ShaderNodeTexStucci::noise_type_HARD; + node = stucci; + break; + } + case BL::ShaderNode::type_TEX_DISTORTED_NOISE: { + BL::ShaderNodeTexDistortedNoise b_distnoise_node(b_node); + DistortedNoiseTextureNode *distnoise = new DistortedNoiseTextureNode(); + distnoise->basis = DistortedNoiseTextureNode::basis_enum[(int)b_distnoise_node.noise_basis()]; + distnoise->distortion_basis = DistortedNoiseTextureNode::basis_enum[(int)b_distnoise_node.noise_distortion()]; + node = distnoise; + break; + } + case BL::ShaderNode::type_TEX_COORD: { + node = new TextureCoordinateNode();; + break; + } + case BL::ShaderNode::type_TEX_SKY: { + BL::ShaderNodeTexSky b_sky_node(b_node); + SkyTextureNode *sky = new SkyTextureNode(); + sky->sun_direction = get_float3(b_sky_node.sun_direction()); + sky->turbidity = b_sky_node.turbidity(); + node = sky; + break; + } + } + + if(node != graph->output()) + graph->add(node); + + return node; +} + +static void add_nodes(BL::BlendData b_data, ShaderGraph *graph, BL::ShaderNodeTree b_ntree, BL::Node *b_group_node, PtrSockMap& sockets_map) +{ + /* add nodes */ + BL::ShaderNodeTree::nodes_iterator b_node; + PtrNodeMap node_map; + map node_groups; + + for(b_node = b_ntree.nodes.begin(); b_node != b_ntree.nodes.end(); ++b_node) { + if(b_node->is_a(&RNA_NodeGroup)) { + BL::NodeGroup b_gnode(*b_node); + BL::ShaderNodeTree b_group_ntree(b_gnode.node_tree()); + + node_groups[b_node->ptr.data] = PtrSockMap(); + add_nodes(b_data, graph, b_group_ntree, &b_gnode, node_groups[b_node->ptr.data]); + } + else { + ShaderNode *node = add_node(b_data, graph, b_group_node, BL::ShaderNode(*b_node)); + + if(node) { + BL::Node::inputs_iterator b_input; + BL::Node::outputs_iterator b_output; + + node_map[b_node->ptr.data] = node; + + for(b_input = b_node->inputs.begin(); b_input != b_node->inputs.end(); ++b_input) { + ShaderInput *input = node->input(b_input->name().c_str()); + BL::NodeSocket sock(get_node_input(b_group_node, *b_node, b_input->name())); + + assert(input); + + /* copy values for non linked inputs */ + switch(input->type) { + case SHADER_SOCKET_FLOAT: { + BL::ValueNodeSocket value_sock(sock); + input->set(value_sock.default_value()[0]); + break; + } + case SHADER_SOCKET_COLOR: { + BL::RGBANodeSocket rgba_sock(sock); + input->set(get_float3(rgba_sock.default_value())); + break; + } + case SHADER_SOCKET_NORMAL: + case SHADER_SOCKET_POINT: + case SHADER_SOCKET_VECTOR: { + BL::VectorNodeSocket vec_sock(sock); + input->set(get_float3(vec_sock.default_value())); + break; + } + case SHADER_SOCKET_CLOSURE: + break; + } + } + } + } + } + + /* connect nodes */ + BL::NodeTree::links_iterator b_link; + + for(b_link = b_ntree.links.begin(); b_link != b_ntree.links.end(); ++b_link) { + /* get blender link data */ + BL::Node b_from_node = b_link->from_node(); + BL::Node b_to_node = b_link->to_node(); + + BL::NodeSocket b_from_sock = b_link->from_socket(); + BL::NodeSocket b_to_sock = b_link->to_socket(); + + /* if link with group socket, add to map so we can connect it later */ + if(b_group_node) { + if(!b_from_node) { + sockets_map[b_from_sock.ptr.data] = + SocketPair(node_map[b_to_node.ptr.data], b_to_sock.name()); + + continue; + } + else if(!b_to_node) { + sockets_map[b_to_sock.ptr.data] = + SocketPair(node_map[b_from_node.ptr.data], b_from_sock.name()); + + continue; + } + } + + ShaderNode *from_node, *to_node; + string from_name, to_name; + + /* from sock */ + if(b_from_node.is_a(&RNA_NodeGroup)) { + /* group node */ + BL::NodeSocket group_sock = b_from_sock.group_socket(); + SocketPair& pair = node_groups[b_from_node.ptr.data][group_sock.ptr.data]; + + from_node = pair.first; + from_name = pair.second; + } + else { + /* regular node */ + from_node = node_map[b_from_node.ptr.data]; + from_name = b_from_sock.name(); + } + + /* to sock */ + if(b_to_node.is_a(&RNA_NodeGroup)) { + /* group node */ + BL::NodeSocket group_sock = b_to_sock.group_socket(); + SocketPair& pair = node_groups[b_to_node.ptr.data][group_sock.ptr.data]; + + to_node = pair.first; + to_name = pair.second; + } + else { + /* regular node */ + to_node = node_map[b_to_node.ptr.data]; + to_name = b_to_sock.name(); + } + + graph->connect(from_node->output(from_name.c_str()), to_node->input(to_name.c_str())); + } +} + +/* Sync Materials */ + +void BlenderSync::sync_materials() +{ + shader_map.set_default(scene->shaders[scene->default_surface]); + + /* material loop */ + BL::BlendData::materials_iterator b_mat; + + for(b_mat = b_data.materials.begin(); b_mat != b_data.materials.end(); ++b_mat) { + Shader *shader; + + /* test if we need to sync */ + if(shader_map.sync(&shader, *b_mat)) { + ShaderGraph *graph = new ShaderGraph(); + + /* create nodes */ + if(b_mat && b_mat->node_tree()) { + shader->name = b_mat->name(); + + PtrSockMap sock_to_node; + BL::ShaderNodeTree b_ntree(b_mat->node_tree()); + + add_nodes(b_data, graph, b_ntree, NULL, sock_to_node); + } + + shader->set_graph(graph); + shader->tag_update(scene); + } + } +} + +/* Sync World */ + +void BlenderSync::sync_world() +{ + Background *background = scene->background; + Background prevbackground = *background; + + BL::World b_world = b_scene.world(); + + if(world_recalc || b_world.ptr.data != world_map) { + Shader *shader = scene->shaders[scene->default_background]; + ShaderGraph *graph = new ShaderGraph(); + + /* create nodes */ + if(b_world && b_world.node_tree()) { + PtrSockMap sock_to_node; + BL::ShaderNodeTree b_ntree(b_world.node_tree()); + + add_nodes(b_data, graph, b_ntree, NULL, sock_to_node); + } + + shader->set_graph(graph); + shader->tag_update(scene); + } + + if(background->modified(prevbackground)) + background->tag_update(scene); + + world_map = b_world.ptr.data; + world_recalc = false; +} + +/* Sync Lamps */ + +void BlenderSync::sync_lamps() +{ + shader_map.set_default(scene->shaders[scene->default_light]); + + /* lamp loop */ + BL::BlendData::lamps_iterator b_lamp; + + for(b_lamp = b_data.lamps.begin(); b_lamp != b_data.lamps.end(); ++b_lamp) { + Shader *shader; + + /* test if we need to sync */ + if(shader_map.sync(&shader, *b_lamp)) { + ShaderGraph *graph = new ShaderGraph(); + + /* create nodes */ + if(b_lamp && b_lamp->node_tree()) { + shader->name = b_lamp->name(); + + PtrSockMap sock_to_node; + BL::ShaderNodeTree b_ntree(b_lamp->node_tree()); + + add_nodes(b_data, graph, b_ntree, NULL, sock_to_node); + } + + shader->set_graph(graph); + shader->tag_update(scene); + } + } +} + +void BlenderSync::sync_shaders() +{ + shader_map.pre_sync(); + + sync_world(); + sync_lamps(); + sync_materials(); + + /* false = don't delete unused shaders, not supported */ + shader_map.post_sync(false); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp new file mode 100644 index 00000000000..1bf85f13fca --- /dev/null +++ b/intern/cycles/blender/blender_sync.cpp @@ -0,0 +1,210 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "background.h" +#include "film.h" +#include "graph.h" +#include "integrator.h" +#include "light.h" +#include "mesh.h" +#include "nodes.h" +#include "object.h" +#include "scene.h" +#include "shader.h" + +#include "device.h" + +#include "blender_sync.h" +#include "blender_util.h" + +#include "util_debug.h" +#include "util_foreach.h" + +CCL_NAMESPACE_BEGIN + +/* Constructor */ + +BlenderSync::BlenderSync(BL::BlendData b_data_, BL::Scene b_scene_, Scene *scene_, bool preview_) +: b_data(b_data_), b_scene(b_scene_), + shader_map(&scene_->shaders), + object_map(&scene_->objects), + mesh_map(&scene_->meshes), + light_map(&scene_->lights), + world_map(NULL), + world_recalc(false) +{ + scene = scene_; + preview = preview_; +} + +BlenderSync::~BlenderSync() +{ +} + +/* Sync */ + +bool BlenderSync::sync_recalc() +{ + BL::BlendData::materials_iterator b_mat; + + for(b_mat = b_data.materials.begin(); b_mat != b_data.materials.end(); ++b_mat) + if(b_mat->recalc()) + shader_map.set_recalc(*b_mat); + + BL::BlendData::lamps_iterator b_lamp; + + for(b_lamp = b_data.lamps.begin(); b_lamp != b_data.lamps.end(); ++b_lamp) + if(b_lamp->recalc()) + shader_map.set_recalc(*b_lamp); + + BL::BlendData::objects_iterator b_ob; + + for(b_ob = b_data.objects.begin(); b_ob != b_data.objects.end(); ++b_ob) { + if(b_ob->recalc()) { + object_map.set_recalc(*b_ob); + light_map.set_recalc(*b_ob); + } + if(object_is_mesh(*b_ob)) { + if(b_ob->recalc_data() || b_ob->data().recalc()) { + BL::ID key = object_is_modified(*b_ob)? *b_ob: b_ob->data(); + mesh_map.set_recalc(key); + } + } + } + + BL::BlendData::meshes_iterator b_mesh; + + for(b_mesh = b_data.meshes.begin(); b_mesh != b_data.meshes.end(); ++b_mesh) + if(b_mesh->recalc()) + mesh_map.set_recalc(*b_mesh); + + BL::BlendData::worlds_iterator b_world; + + for(b_world = b_data.worlds.begin(); b_world != b_data.worlds.end(); ++b_world) + if(world_map == b_world->ptr.data && b_world->recalc()) + world_recalc = true; + + bool recalc = + shader_map.has_recalc() || + object_map.has_recalc() || + light_map.has_recalc() || + mesh_map.has_recalc() || + world_recalc; + + return recalc; +} + +void BlenderSync::sync_data(BL::SpaceView3D b_v3d) +{ + sync_integrator(); + sync_film(); + sync_shaders(); + sync_objects(b_v3d); +} + +/* Integrator */ + +void BlenderSync::sync_integrator() +{ + PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles"); + + Integrator *integrator = scene->integrator; + Integrator previntegrator = *integrator; + + integrator->minbounce = get_int(cscene, "min_bounces"); + integrator->maxbounce = get_int(cscene, "max_bounces"); + integrator->no_caustics = get_boolean(cscene, "no_caustics"); + integrator->blur_caustics = get_float(cscene, "blur_caustics"); + + if(integrator->modified(previntegrator)) + integrator->tag_update(scene); +} + +/* Film */ + +void BlenderSync::sync_film() +{ + PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles"); + + Film *film = scene->film; + Film prevfilm = *film; + + film->exposure = get_float(cscene, "exposure"); + film->response = get_enum_identifier(cscene, "response_curve"); + + if(film->modified(prevfilm)) + film->tag_update(scene); +} + +/* Scene Parameters */ + +SceneParams BlenderSync::get_scene_params(BL::Scene b_scene) +{ + SceneParams params; + PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles"); + int shadingsystem = RNA_enum_get(&cscene, "shading_system"); + + if(shadingsystem == 0) + params.shadingsystem = SceneParams::SVM; + else if(shadingsystem == 1) + params.shadingsystem = SceneParams::OSL; + + params.bvh_type = (SceneParams::BVHType)RNA_enum_get(&cscene, "debug_bvh_type"); + params.use_bvh_spatial_split = RNA_boolean_get(&cscene, "debug_use_spatial_splits"); + + return params; +} + +/* Session Parameters */ + +SessionParams BlenderSync::get_session_params(BL::Scene b_scene, bool background) +{ + SessionParams params; + PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles"); + + /* device type */ + DeviceType dtype = (RNA_enum_get(&cscene, "device") == 1)? DEVICE_CUDA: DEVICE_CPU; + + params.device_type = DEVICE_CPU; + vector types = Device::available_types(); + + foreach(DeviceType dt, types) + if(dt == dtype) + params.device_type = dtype; + + /* other parameters */ + params.background = background; + params.passes = (background)? get_int(cscene, "passes"): INT_MAX; + params.tile_size = get_int(cscene, "debug_tile_size"); + params.min_size = get_int(cscene, "debug_min_size"); + params.cancel_timeout = get_float(cscene, "debug_cancel_timeout"); + params.reset_timeout = get_float(cscene, "debug_reset_timeout"); + params.text_timeout = get_float(cscene, "debug_text_timeout"); + + if(background) { + params.progressive = true; + params.min_size = INT_MAX; + } + else + params.progressive = true; + + return params; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/blender/blender_sync.h b/intern/cycles/blender/blender_sync.h new file mode 100644 index 00000000000..f1fce37bfaf --- /dev/null +++ b/intern/cycles/blender/blender_sync.h @@ -0,0 +1,105 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __BLENDER_SYNC_H__ +#define __BLENDER_SYNC_H__ + +#include "MEM_guardedalloc.h" +#include "RNA_types.h" +#include "RNA_access.h" +#include "RNA_blender_cpp.h" + +#include "blender_util.h" + +#include "scene.h" +#include "session.h" + +#include "util_map.h" +#include "util_set.h" +#include "util_transform.h" +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +class Background; +class Camera; +class Film; +class Light; +class Mesh; +class Object; +class Scene; +class Shader; +class ShaderGraph; +class ShaderNode; + +class BlenderSync { +public: + BlenderSync(BL::BlendData b_data, BL::Scene b_scene, Scene *scene_, bool preview_); + ~BlenderSync(); + + /* sync */ + bool sync_recalc(); + void sync_data(BL::SpaceView3D b_v3d); + void sync_camera(int width, int height); + void sync_view(BL::SpaceView3D b_v3d, BL::RegionView3D b_rv3d, int width, int height); + + /* get parameters */ + static SceneParams get_scene_params(BL::Scene b_scene); + static SessionParams get_session_params(BL::Scene b_scene, bool background); + +private: + /* sync */ + void sync_lamps(); + void sync_materials(); + void sync_objects(BL::SpaceView3D b_v3d); + void sync_film(); + void sync_integrator(); + void sync_view(); + void sync_world(); + void sync_shaders(); + + void sync_nodes(Shader *shader, BL::ShaderNodeTree b_ntree); + Mesh *sync_mesh(BL::Object b_ob, bool object_updated); + void sync_object(BL::Object b_parent, int b_index, BL::Object b_object, Transform& tfm); + void sync_light(BL::Object b_ob, Transform& tfm); + + /* util */ + void find_shader(BL::ID id, vector& used_shaders); + bool object_is_modified(BL::Object b_ob); + bool object_is_mesh(BL::Object b_ob); + bool object_is_light(BL::Object b_ob); + + /* variables */ + BL::BlendData b_data; + BL::Scene b_scene; + + id_map shader_map; + id_map object_map; + id_map mesh_map; + id_map light_map; + void *world_map; + bool world_recalc; + + Scene *scene; + bool preview; +}; + +CCL_NAMESPACE_END + +#endif /* __BLENDER_SYNC_H__ */ + diff --git a/intern/cycles/blender/blender_util.h b/intern/cycles/blender/blender_util.h new file mode 100644 index 00000000000..9da1c1dfe05 --- /dev/null +++ b/intern/cycles/blender/blender_util.h @@ -0,0 +1,326 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __BLENDER_UTIL_H__ +#define __BLENDER_UTIL_H__ + +#include "util_map.h" +#include "util_path.h" +#include "util_set.h" +#include "util_transform.h" +#include "util_types.h" +#include "util_vector.h" + +/* Hacks to hook into Blender API */ + +extern "C" { + +struct RenderEngine; +struct RenderResult; + +ID *rna_Object_to_mesh(void *_self, void *reports, void *scene, int apply_modifiers, int settings); +void rna_Main_meshes_remove(void *bmain, void *reports, void *mesh); +void rna_Object_create_duplilist(void *ob, void *reports, void *sce); +void rna_Object_free_duplilist(void *ob, void *reports); +void rna_RenderLayer_rect_set(PointerRNA *ptr, const float *values); +void rna_RenderPass_rect_set(PointerRNA *ptr, const float *values); +struct RenderResult *RE_engine_begin_result(struct RenderEngine *engine, int x, int y, int w, int h); +void RE_engine_update_result(struct RenderEngine *engine, struct RenderResult *result); +void RE_engine_end_result(struct RenderEngine *engine, struct RenderResult *result); +int RE_engine_test_break(struct RenderEngine *engine); +void RE_engine_update_stats(struct RenderEngine *engine, const char *stats, const char *info); +void engine_tag_redraw(void *engine); +void engine_tag_update(void *engine); +int rna_Object_is_modified(void *ob, void *scene, int settings); + +} + +CCL_NAMESPACE_BEGIN + +static inline BL::Mesh object_to_mesh(BL::Object self, BL::Scene scene, bool apply_modifiers, bool render) +{ + ID *data = rna_Object_to_mesh(self.ptr.data, NULL, scene.ptr.data, apply_modifiers, render); + PointerRNA ptr; + RNA_id_pointer_create(data, &ptr); + return BL::Mesh(ptr); +} + +static inline void object_remove_mesh(BL::BlendData data, BL::Mesh mesh) +{ + rna_Main_meshes_remove(data.ptr.data, NULL, mesh.ptr.data); +} + +static inline void object_create_duplilist(BL::Object self, BL::Scene scene) +{ + rna_Object_create_duplilist(self.ptr.data, NULL, scene.ptr.data); +} + +static inline void object_free_duplilist(BL::Object self) +{ + rna_Object_free_duplilist(self.ptr.data, NULL); +} + +static inline bool object_is_modified(BL::Object self, BL::Scene scene, bool preview) +{ + return rna_Object_is_modified(self.ptr.data, scene.ptr.data, (preview)? (1<<0): (1<<1)); +} + +/* Utilities */ + +static inline Transform get_transform(BL::Array array) +{ + Transform tfm; + + /* we assume both types to be just 16 floats, and transpose because blender + use column major matrix order while we use row major */ + memcpy(&tfm, &array, sizeof(float)*16); + tfm = transform_transpose(tfm); + + return tfm; +} + +static inline float2 get_float2(BL::Array array) +{ + return make_float2(array[0], array[1]); +} + +static inline float3 get_float3(BL::Array array) +{ + return make_float3(array[0], array[1], 0.0f); +} + +static inline float3 get_float3(BL::Array array) +{ + return make_float3(array[0], array[1], array[2]); +} + +static inline float3 get_float3(BL::Array array) +{ + return make_float3(array[0], array[1], array[2]); +} + +static inline int4 get_int4(BL::Array array) +{ + return make_int4(array[0], array[1], array[2], array[3]); +} + +static inline uint get_layer(BL::Array array) +{ + uint layer = 0; + + for(uint i = 0; i < 20; i++) + if(array[i]) + layer |= (1 << i); + + return layer; +} + +/*static inline float3 get_float3(PointerRNA& ptr, const char *name) +{ + float3 f; + RNA_float_get_array(&ptr, name, &f.x); + return f; +}*/ + +static inline bool get_boolean(PointerRNA& ptr, const char *name) +{ + return RNA_boolean_get(&ptr, name); +} + +static inline float get_float(PointerRNA& ptr, const char *name) +{ + return RNA_float_get(&ptr, name); +} + +static inline int get_int(PointerRNA& ptr, const char *name) +{ + return RNA_int_get(&ptr, name); +} + +static inline int get_enum(PointerRNA& ptr, const char *name) +{ + return RNA_enum_get(&ptr, name); +} + +static inline string get_enum_identifier(PointerRNA& ptr, const char *name) +{ + PropertyRNA *prop = RNA_struct_find_property(&ptr, name); + const char *identifier = ""; + int value = RNA_property_enum_get(&ptr, prop); + + RNA_property_enum_identifier(NULL, &ptr, prop, value, &identifier); + + return string(identifier); +} + +/* Relative Paths */ + +static inline string blender_absolute_path(BL::BlendData b_data, BL::ID b_id, const string& path) +{ + if(path.size() >= 2 && path[0] == '/' && path[1] == '/') { + string dirname = (b_id.library())? b_id.library().filepath(): b_data.filepath(); + return path_join(path_dirname(dirname), path.substr(2)); + } + + return path; +} + +/* ID Map + * + * Utility class to keep in sync with blender data. + * Used for objects, meshes, lights and shaders. */ + +template +class id_map { +public: + id_map(vector *scene_data_) + { + scene_data = scene_data_; + } + + T *find(BL::ID id) + { + return find(id.ptr.id.data); + } + + T *find(const K& key) + { + if(b_map.find(key) != b_map.end()) { + T *data = b_map[key]; + return data; + } + + return NULL; + } + + void set_recalc(BL::ID id) + { + b_recalc.insert(id.ptr.data); + } + + bool has_recalc() + { + return !(b_recalc.empty()); + } + + void pre_sync() + { + used_set.clear(); + } + + bool sync(T **r_data, BL::ID id) + { + return sync(r_data, id, id.ptr.id.data); + } + + bool sync(T **r_data, BL::ID id, const K& key) + { + T *data = find(key); + bool recalc; + + if(!data) { + /* add data if it didn't exist yet */ + data = new T(); + scene_data->push_back(data); + b_map[key] = data; + recalc = true; + } + else + recalc = (b_recalc.find(id.ptr.data) != b_recalc.end()); + + used(data); + + *r_data = data; + return recalc; + } + + void used(T *data) + { + /* tag data as still in use */ + used_set.insert(data); + } + + void set_default(T *data) + { + b_map[NULL] = data; + } + + bool post_sync(bool do_delete = true) + { + /* remove unused data */ + vector new_scene_data; + typename vector::iterator it; + bool deleted = false; + + for(it = scene_data->begin(); it != scene_data->end(); it++) { + T *data = *it; + + if(do_delete && used_set.find(data) == used_set.end()) { + delete data; + deleted = true; + } + else + new_scene_data.push_back(data); + } + + *scene_data = new_scene_data; + + /* update mapping */ + map new_map; + typedef pair TMapPair; + typename map::iterator jt; + + for(jt = b_map.begin(); jt != b_map.end(); jt++) { + TMapPair& pair = *jt; + + if(used_set.find(pair.second) != used_set.end()) + new_map[pair.first] = pair.second; + } + + used_set.clear(); + b_recalc.clear(); + b_map = new_map; + + return deleted; + } + +protected: + vector *scene_data; + map b_map; + set used_set; + set b_recalc; +}; + +/* Object Key */ + +struct ObjectKey { + void *parent; + int index; + void *ob; + + ObjectKey(void *parent_, int index_, void *ob_) + : parent(parent_), index(index_), ob(ob_) {} + + bool operator<(const ObjectKey& k) const + { return (parent < k.parent || (parent == k.parent && (index < k.index || (index == k.index && ob < k.ob)))); } +}; + +CCL_NAMESPACE_END + +#endif /* __BLENDER_UTIL_H__ */ + diff --git a/intern/cycles/bvh/CMakeLists.txt b/intern/cycles/bvh/CMakeLists.txt new file mode 100644 index 00000000000..c934cded6da --- /dev/null +++ b/intern/cycles/bvh/CMakeLists.txt @@ -0,0 +1,18 @@ + +INCLUDE_DIRECTORIES(. ../kernel ../kernel/svm ../render ../util ../device) + +SET(sources + bvh.cpp + bvh_build.cpp + bvh_node.cpp + bvh_sort.cpp) + +SET(headers + bvh.h + bvh_build.h + bvh_node.h + bvh_params.h + bvh_sort.h) + +ADD_LIBRARY(bvh ${sources} ${headers}) + diff --git a/intern/cycles/bvh/bvh.cpp b/intern/cycles/bvh/bvh.cpp new file mode 100644 index 00000000000..ab230794774 --- /dev/null +++ b/intern/cycles/bvh/bvh.cpp @@ -0,0 +1,661 @@ +/* + * Adapted from code copyright 2009-2010 NVIDIA Corporation + * Modifications Copyright 2011, Blender Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "mesh.h" +#include "object.h" +#include "scene.h" + +#include "bvh.h" +#include "bvh_build.h" +#include "bvh_node.h" +#include "bvh_params.h" + +#include "util_cache.h" +#include "util_debug.h" +#include "util_foreach.h" +#include "util_progress.h" +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +/* Pack Utility */ + +struct BVHStackEntry +{ + const BVHNode *node; + int idx; + + BVHStackEntry(const BVHNode* n = 0, int i = 0) + : node(n), idx(i) + { + } + + int encodeIdx() const + { + return (node->is_leaf())? ~idx: idx; + } +}; + +/* BVH */ + +BVH::BVH(const BVHParams& params_, const vector& objects_) +: params(params_), objects(objects_) +{ +} + +BVH *BVH::create(const BVHParams& params, const vector& objects) +{ + if(params.use_qbvh) + return new QBVH(params, objects); + else + return new RegularBVH(params, objects); +} + +/* Cache */ + +bool BVH::cache_read(CacheData& key) +{ + key.add(¶ms, sizeof(params)); + + foreach(Object *ob, objects) { + key.add(ob->mesh->verts); + key.add(ob->mesh->triangles); + } + + CacheData value; + + if(Cache::global.lookup(key, value)) { + value.read(pack.root_index); + + value.read(pack.nodes); + value.read(pack.object_node); + value.read(pack.tri_woop); + value.read(pack.prim_index); + value.read(pack.prim_object); + value.read(pack.is_leaf); + + return true; + } + + return false; +} + +void BVH::cache_write(CacheData& key) +{ + CacheData value; + + value.add(pack.root_index); + + value.add(pack.nodes); + value.add(pack.object_node); + value.add(pack.tri_woop); + value.add(pack.prim_index); + value.add(pack.prim_object); + value.add(pack.is_leaf); + + Cache::global.insert(key, value); +} + +/* Building */ + +void BVH::build(Progress& progress) +{ + progress.set_substatus("Building BVH"); + + /* cache read */ + CacheData key("bvh"); + + if(params.use_cache) { + progress.set_substatus("Looking in BVH cache"); + + if(cache_read(key)) + return; + } + + /* build nodes */ + vector prim_index; + vector prim_object; + + BVHBuild bvh_build(objects, prim_index, prim_object, params, progress); + BVHNode *root = bvh_build.run(); + + if(progress.get_cancel()) { + if(root) root->deleteSubtree(); + return; + } + + /* todo: get rid of this copy */ + pack.prim_index = prim_index; + pack.prim_object = prim_object; + + /* compute SAH */ + if(!params.top_level) + pack.SAH = root->computeSubtreeSAHCost(params); + + if(progress.get_cancel()) { + root->deleteSubtree(); + return; + } + + /* pack triangles */ + progress.set_substatus("Packing BVH triangles"); + pack_triangles(); + + if(progress.get_cancel()) { + root->deleteSubtree(); + return; + } + + /* pack nodes */ + progress.set_substatus("Packing BVH nodes"); + array tmp_prim_object = pack.prim_object; + pack_nodes(tmp_prim_object, root); + + /* free build nodes */ + root->deleteSubtree(); + + if(progress.get_cancel()) return; + + /* cache write */ + if(params.use_cache) { + progress.set_substatus("Writing BVH cache"); + cache_write(key); + } +} + +/* Refitting */ + +void BVH::refit(Progress& progress) +{ + progress.set_substatus("Packing BVH triangles"); + pack_triangles(); + + if(progress.get_cancel()) return; + + progress.set_substatus("Refitting BVH nodes"); + refit_nodes(); +} + +/* Triangles */ + +void BVH::pack_triangle(int idx, float4 woop[3]) +{ + /* create Woop triangle */ + int tob = pack.prim_object[idx]; + const Mesh *mesh = objects[tob]->mesh; + int tidx = pack.prim_index[idx]; + const int *vidx = mesh->triangles[tidx].v; + const float3* vpos = &mesh->verts[0]; + float3 v0 = vpos[vidx[0]]; + float3 v1 = vpos[vidx[1]]; + float3 v2 = vpos[vidx[2]]; + + float3 r0 = v0 - v2; + float3 r1 = v1 - v2; + float3 r2 = cross(r0, r1); + + if(dot(r0, r0) == 0.0f || dot(r1, r1) == 0.0f || dot(r2, r2) == 0.0f) { + /* degenerate */ + woop[0] = make_float4(0.0f, 0.0f, 0.0f, 0.0f); + woop[1] = make_float4(0.0f, 0.0f, 0.0f, 0.0f); + woop[2] = make_float4(0.0f, 0.0f, 0.0f, 0.0f); + } + else { + Transform t = make_transform( + r0.x, r1.x, r2.x, v2.x, + r0.y, r1.y, r2.y, v2.y, + r0.z, r1.z, r2.z, v2.z, + 0.0f, 0.0f, 0.0f, 1.0f); + + t = transform_inverse(t); + + woop[0] = make_float4(t.z.x, t.z.y, t.z.z, -t.z.w); + woop[1] = make_float4(t.x.x, t.x.y, t.x.z, t.x.w); + woop[2] = make_float4(t.y.x, t.y.y, t.y.z, t.y.w); + } +} + +void BVH::pack_triangles() +{ + int nsize = TRI_NODE_SIZE; + size_t tidx_size = pack.prim_index.size(); + + pack.tri_woop.clear(); + pack.tri_woop.resize(tidx_size * nsize); + + for(unsigned int i = 0; i < tidx_size; i++) { + if(pack.prim_index[i] != -1) { + float4 woop[3]; + + pack_triangle(i, woop); + memcpy(&pack.tri_woop[i * nsize], woop, sizeof(float4)*3); + } + } +} + +/* Pack Instances */ + +void BVH::pack_instances(size_t nodes_size) +{ + /* The BVH's for instances are built separately, but for traversal all + BVH's are stored in global arrays. This function merges them into the + top level BVH, adjusting indexes and offsets where appropriate. */ + bool use_qbvh = params.use_qbvh; + size_t nsize = (use_qbvh)? BVH_QNODE_SIZE: BVH_NODE_SIZE; + + /* adjust primitive index to point to the triangle in the global array, for + meshes with transform applied and already in the top level BVH */ + for(size_t i = 0; i < pack.prim_index.size(); i++) + if(pack.prim_index[i] != -1) + pack.prim_index[i] += objects[pack.prim_object[i]]->mesh->tri_offset; + + /* track offsets of instanced BVH data in global array */ + size_t tri_offset = pack.prim_index.size(); + size_t nodes_offset = nodes_size; + + /* clear array that gives the node indexes for instanced objects */ + pack.object_node.clear(); + + /* reserve */ + size_t prim_index_size = pack.prim_index.size(); + size_t tri_woop_size = pack.tri_woop.size(); + + size_t pack_prim_index_offset = prim_index_size; + size_t pack_tri_woop_offset = tri_woop_size; + size_t pack_nodes_offset = nodes_size; + size_t object_offset = 0; + + foreach(Object *ob, objects) { + Mesh *mesh = ob->mesh; + BVH *bvh = mesh->bvh; + + if(!mesh->transform_applied) { + prim_index_size += bvh->pack.prim_index.size(); + tri_woop_size += bvh->pack.tri_woop.size(); + nodes_size += bvh->pack.nodes.size()*nsize; + } + } + + pack.prim_index.resize(prim_index_size); + pack.prim_object.resize(prim_index_size); + pack.tri_woop.resize(tri_woop_size); + pack.nodes.resize(nodes_size); + pack.object_node.resize(objects.size()); + + int *pack_prim_index = &pack.prim_index[0]; + int *pack_prim_object = &pack.prim_object[0]; + float4 *pack_tri_woop = &pack.tri_woop[0]; + int4 *pack_nodes = &pack.nodes[0]; + + /* merge */ + foreach(Object *ob, objects) { + Mesh *mesh = ob->mesh; + + /* if mesh transform is applied, that means it's already in the top + level BVH, and we don't need to merge it in */ + if(mesh->transform_applied) { + pack.object_node[object_offset++] = 0; + continue; + } + + BVH *bvh = mesh->bvh; + + int noffset = nodes_offset/nsize; + int mesh_tri_offset = mesh->tri_offset; + + /* fill in node indexes for instances */ + if(bvh->pack.is_leaf[0]) + pack.object_node[object_offset++] = -noffset-1; + else + pack.object_node[object_offset++] = noffset; + + /* merge primitive and object indexes */ + { + size_t bvh_prim_index_size = bvh->pack.prim_index.size(); + int *bvh_prim_index = &bvh->pack.prim_index[0]; + + for(size_t i = 0; i < bvh_prim_index_size; i++) { + pack_prim_index[pack_prim_index_offset] = bvh_prim_index[i] + mesh_tri_offset; + pack_prim_object[pack_prim_index_offset] = 0; // unused for instances + pack_prim_index_offset++; + } + } + + /* merge triangle intersection data */ + { + memcpy(pack_tri_woop+pack_tri_woop_offset, &bvh->pack.tri_woop[0], + bvh->pack.tri_woop.size()*sizeof(float4)); + pack_tri_woop_offset += bvh->pack.tri_woop.size(); + } + + /* merge nodes */ + { + size_t nsize_bbox = (use_qbvh)? nsize-2: nsize-1; + int4 *bvh_nodes = &bvh->pack.nodes[0]; + size_t bvh_nodes_size = bvh->pack.nodes.size(); + int *bvh_is_leaf = &bvh->pack.is_leaf[0]; + + for(size_t i = 0, j = 0; i < bvh_nodes_size; i+=nsize, j++) { + memcpy(pack_nodes + pack_nodes_offset, bvh_nodes + i, nsize_bbox*sizeof(int4)); + + /* modify offsets into arrays */ + int4 data = bvh_nodes[i + nsize_bbox]; + + if(bvh_is_leaf[j]) { + data.x += tri_offset; + data.y += tri_offset; + } + else { + data.x += (data.x < 0)? -noffset: noffset; + data.y += (data.y < 0)? -noffset: noffset; + + if(use_qbvh) { + data.z += (data.z < 0)? -noffset: noffset; + data.w += (data.w < 0)? -noffset: noffset; + } + } + + pack_nodes[pack_nodes_offset + nsize_bbox] = data; + + if(use_qbvh) + pack_nodes[pack_nodes_offset + nsize_bbox+1] = bvh_nodes[i + nsize_bbox+1]; + + pack_nodes_offset += nsize; + } + } + + nodes_offset += bvh->pack.nodes.size(); + tri_offset += bvh->pack.prim_index.size(); + } +} + +/* Regular BVH */ + +RegularBVH::RegularBVH(const BVHParams& params_, const vector& objects_) +: BVH(params_, objects_) +{ +} + +void RegularBVH::pack_leaf(const BVHStackEntry& e, const LeafNode *leaf) +{ + if(leaf->num_triangles() == 1 && pack.prim_index[leaf->m_lo] == -1) + /* object */ + pack_node(e.idx, leaf->m_bounds, leaf->m_bounds, ~(leaf->m_lo), 0); + else + /* triangle */ + pack_node(e.idx, leaf->m_bounds, leaf->m_bounds, leaf->m_lo, leaf->m_hi); +} + +void RegularBVH::pack_inner(const BVHStackEntry& e, const BVHStackEntry& e0, const BVHStackEntry& e1) +{ + pack_node(e.idx, e0.node->m_bounds, e1.node->m_bounds, e0.encodeIdx(), e1.encodeIdx()); +} + +void RegularBVH::pack_node(int idx, const BoundBox& b0, const BoundBox& b1, int c0, int c1) +{ + int4 data[BVH_NODE_SIZE] = + { + make_int4(__float_as_int(b0.min.x), __float_as_int(b0.max.x), __float_as_int(b0.min.y), __float_as_int(b0.max.y)), + make_int4(__float_as_int(b1.min.x), __float_as_int(b1.max.x), __float_as_int(b1.min.y), __float_as_int(b1.max.y)), + make_int4(__float_as_int(b0.min.z), __float_as_int(b0.max.z), __float_as_int(b1.min.z), __float_as_int(b1.max.z)), + make_int4(c0, c1, 0, 0) + }; + + memcpy(&pack.nodes[idx * BVH_NODE_SIZE], data, sizeof(int4)*BVH_NODE_SIZE); +} + +void RegularBVH::pack_nodes(const array& prims, const BVHNode *root) +{ + size_t node_size = root->getSubtreeSize(BVH_STAT_NODE_COUNT); + + /* resize arrays */ + pack.nodes.clear(); + pack.is_leaf.clear(); + pack.is_leaf.resize(node_size); + + /* for top level BVH, first merge existing BVH's so we know the offsets */ + if(params.top_level) + pack_instances(node_size*BVH_NODE_SIZE); + else + pack.nodes.resize(node_size*BVH_NODE_SIZE); + + int nextNodeIdx = 0; + + vector stack; + stack.push_back(BVHStackEntry(root, nextNodeIdx++)); + + while(stack.size()) { + BVHStackEntry e = stack.back(); + stack.pop_back(); + + pack.is_leaf[e.idx] = e.node->is_leaf(); + + if(e.node->is_leaf()) { + /* leaf node */ + const LeafNode* leaf = reinterpret_cast(e.node); + pack_leaf(e, leaf); + } + else { + /* innner node */ + stack.push_back(BVHStackEntry(e.node->get_child(0), nextNodeIdx++)); + stack.push_back(BVHStackEntry(e.node->get_child(1), nextNodeIdx++)); + + pack_inner(e, stack[stack.size()-2], stack[stack.size()-1]); + } + } + + /* root index to start traversal at, to handle case of single leaf node */ + pack.root_index = (pack.is_leaf[0])? -1: 0; +} + +void RegularBVH::refit_nodes() +{ + assert(!params.top_level); + + BoundBox bbox; + refit_node(0, pack.is_leaf[0], bbox); +} + +void RegularBVH::refit_node(int idx, bool leaf, BoundBox& bbox) +{ + int4 *data = &pack.nodes[idx*4]; + + int c0 = data[3].x; + int c1 = data[3].y; + + if(leaf) { + /* refit leaf node */ + for(int tri = c0; tri < c1; tri++) { + int tidx = pack.prim_index[tri]; + int tob = pack.prim_object[tri]; + Object *ob = objects[tob]; + + if(tidx == -1) { + /* object instance */ + bbox.grow(ob->bounds); + } + else { + /* triangles */ + const Mesh *mesh = ob->mesh; + int tri_offset = (params.top_level)? mesh->tri_offset: 0; + const int *vidx = mesh->triangles[tidx - tri_offset].v; + const float3 *vpos = &mesh->verts[0]; + + bbox.grow(vpos[vidx[0]]); + bbox.grow(vpos[vidx[1]]); + bbox.grow(vpos[vidx[2]]); + } + } + + pack_node(idx, bbox, bbox, c0, c1); + } + else { + /* refit inner node, set bbox from children */ + BoundBox bbox0, bbox1; + + refit_node((c0 < 0)? -c0-1: c0, (c0 < 0), bbox0); + refit_node((c1 < 0)? -c1-1: c1, (c1 < 0), bbox1); + + bbox.grow(bbox0); + bbox.grow(bbox1); + + pack_node(idx, bbox0, bbox1, c0, c1); + } +} + +/* QBVH */ + +QBVH::QBVH(const BVHParams& params_, const vector& objects_) +: BVH(params_, objects_) +{ + params.use_qbvh = true; +} + +void QBVH::pack_leaf(const BVHStackEntry& e, const LeafNode *leaf) +{ + float4 data[BVH_QNODE_SIZE]; + + memset(data, 0, sizeof(data)); + + if(leaf->num_triangles() == 1 && pack.prim_index[leaf->m_lo] == -1) { + /* object */ + data[6].x = __int_as_float(~(leaf->m_lo)); + data[6].y = __int_as_float(0); + } + else { + /* triangle */ + data[6].x = __int_as_float(leaf->m_lo); + data[6].y = __int_as_float(leaf->m_hi); + } + + memcpy(&pack.nodes[e.idx * BVH_QNODE_SIZE], data, sizeof(float4)*BVH_QNODE_SIZE); +} + +void QBVH::pack_inner(const BVHStackEntry& e, const BVHStackEntry *en, int num) +{ + float4 data[BVH_QNODE_SIZE]; + + for(int i = 0; i < num; i++) { + float3 bb_min = en[i].node->m_bounds.min; + float3 bb_max = en[i].node->m_bounds.max; + + data[0][i] = bb_min.x; + data[1][i] = bb_max.x; + data[2][i] = bb_min.y; + data[3][i] = bb_max.y; + data[4][i] = bb_min.z; + data[5][i] = bb_max.z; + + data[6][i] = __int_as_float(en[i].encodeIdx()); + data[7][i] = 0.0f; + } + + for(int i = num; i < 4; i++) { + data[0][i] = 0.0f; + data[1][i] = 0.0f; + data[2][i] = 0.0f; + + data[3][i] = 0.0f; + data[4][i] = 0.0f; + data[5][i] = 0.0f; + + data[6][i] = __int_as_float(0); + data[7][i] = 0.0f; + } + + memcpy(&pack.nodes[e.idx * BVH_QNODE_SIZE], data, sizeof(float4)*BVH_QNODE_SIZE); +} + +/* Quad SIMD Nodes */ + +void QBVH::pack_nodes(const array& prims, const BVHNode *root) +{ + size_t node_size = root->getSubtreeSize(BVH_STAT_NODE_COUNT); + + /* resize arrays */ + pack.nodes.clear(); + pack.is_leaf.clear(); + pack.is_leaf.resize(node_size); + + /* for top level BVH, first merge existing BVH's so we know the offsets */ + if(params.top_level) + pack_instances(node_size*BVH_QNODE_SIZE); + else + pack.nodes.resize(node_size*BVH_QNODE_SIZE); + + int nextNodeIdx = 0; + + vector stack; + stack.push_back(BVHStackEntry(root, nextNodeIdx++)); + + while(stack.size()) { + BVHStackEntry e = stack.back(); + stack.pop_back(); + + pack.is_leaf[e.idx] = e.node->is_leaf(); + + if(e.node->is_leaf()) { + /* leaf node */ + const LeafNode* leaf = reinterpret_cast(e.node); + pack_leaf(e, leaf); + } + else { + /* inner node */ + const BVHNode *node = e.node; + const BVHNode *node0 = node->get_child(0); + const BVHNode *node1 = node->get_child(1); + + /* collect nodes */ + const BVHNode *nodes[4]; + int numnodes = 0; + + if(node0->is_leaf()) { + nodes[numnodes++] = node0; + } + else { + nodes[numnodes++] = node0->get_child(0); + nodes[numnodes++] = node0->get_child(1); + } + + if(node1->is_leaf()) { + nodes[numnodes++] = node1; + } + else { + nodes[numnodes++] = node1->get_child(0); + nodes[numnodes++] = node1->get_child(1); + } + + /* push entries on the stack */ + for(int i = 0; i < numnodes; i++) + stack.push_back(BVHStackEntry(nodes[i], nextNodeIdx++)); + + /* set node */ + pack_inner(e, &stack[stack.size()-numnodes], numnodes); + } + } + + /* root index to start traversal at, to handle case of single leaf node */ + pack.root_index = (pack.is_leaf[0])? -1: 0; +} + +void QBVH::refit_nodes() +{ + assert(0); /* todo */ +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/bvh/bvh.h b/intern/cycles/bvh/bvh.h new file mode 100644 index 00000000000..acc25291da3 --- /dev/null +++ b/intern/cycles/bvh/bvh.h @@ -0,0 +1,152 @@ +/* + * Adapted from code copyright 2009-2010 NVIDIA Corporation + * Modifications Copyright 2011, Blender Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __BVH_H__ +#define __BVH_H__ + +#include "bvh_params.h" + +#include "util_types.h" +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +class BVHNode; +class BVHStackEntry; +class BVHParams; +class BoundBox; +class CacheData; +class LeafNode; +class Object; +class Progress; + +#define BVH_NODE_SIZE 4 +#define BVH_QNODE_SIZE 8 +#define BVH_ALIGN 4096 +#define TRI_NODE_SIZE 3 + +/* Packed BVH + * + * BVH stored as it will be used for traversal on the rendering device. */ + +struct PackedBVH { + /* BVH nodes storage, one node is 4x int4, and contains two bounding boxes, + and child, triangle or object indexes dependening on the node type */ + array nodes; + /* object index to BVH node index mapping for instances */ + array object_node; + /* precomputed triangle intersection data, one triangle is 4x float4 */ + array tri_woop; + /* mapping from BVH primitive index to true primitive index, as primitives + may be duplicated due to spatial splits. -1 for instances. */ + array prim_index; + /* mapping from BVH primitive index, to the object id of that primitive. */ + array prim_object; + /* quick array to lookup if a node is a leaf, not used for traversal, only + for instance BVH merging */ + array is_leaf; + + /* index of the root node. */ + int root_index; + + /* surface area heuristic, for building top level BVH */ + float SAH; + + PackedBVH() + { + root_index = 0; + SAH = 0.0f; + } +}; + +/* BVH */ + +class BVH +{ +public: + PackedBVH pack; + BVHParams params; + vector objects; + + static BVH *create(const BVHParams& params, const vector& objects); + + void build(Progress& progress); + void refit(Progress& progress); + +protected: + BVH(const BVHParams& params, const vector& objects); + + /* cache */ + bool cache_read(CacheData& key); + void cache_write(CacheData& key); + + /* triangles */ + void pack_triangles(); + void pack_triangle(int idx, float4 woop[3]); + + /* merge instance BVH's */ + void pack_instances(size_t nodes_size); + + /* for subclasses to implement */ + virtual void pack_nodes(const array& prims, const BVHNode *root) = 0; + virtual void refit_nodes() = 0; +}; + +/* Regular BVH + * + * Typical BVH with each node having two children. */ + +class RegularBVH : public BVH { +protected: + /* constructor */ + friend class BVH; + RegularBVH(const BVHParams& params, const vector& objects); + + /* pack */ + void pack_nodes(const array& prims, const BVHNode *root); + void pack_leaf(const BVHStackEntry& e, const LeafNode *leaf); + void pack_inner(const BVHStackEntry& e, const BVHStackEntry& e0, const BVHStackEntry& e1); + void pack_node(int idx, const BoundBox& b0, const BoundBox& b1, int c0, int c1); + + /* refit */ + void refit_nodes(); + void refit_node(int idx, bool leaf, BoundBox& bbox); +}; + +/* QBVH + * + * Quad BVH, with each node having four children, to use with SIMD instructions. */ + +class QBVH : public BVH { +protected: + /* constructor */ + friend class BVH; + QBVH(const BVHParams& params, const vector& objects); + + /* pack */ + void pack_nodes(const array& prims, const BVHNode *root); + void pack_leaf(const BVHStackEntry& e, const LeafNode *leaf); + void pack_inner(const BVHStackEntry& e, const BVHStackEntry *en, int num); + + /* refit */ + void refit_nodes(); +}; + +CCL_NAMESPACE_END + +#endif /* __BVH_H__ */ + diff --git a/intern/cycles/bvh/bvh_build.cpp b/intern/cycles/bvh/bvh_build.cpp new file mode 100644 index 00000000000..6a9cc915f01 --- /dev/null +++ b/intern/cycles/bvh/bvh_build.cpp @@ -0,0 +1,545 @@ +/* + * Adapted from code copyright 2009-2010 NVIDIA Corporation + * Modifications Copyright 2011, Blender Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "bvh_build.h" +#include "bvh_node.h" +#include "bvh_params.h" +#include "bvh_sort.h" + +#include "mesh.h" +#include "object.h" +#include "scene.h" + +#include "util_algorithm.h" +#include "util_foreach.h" +#include "util_progress.h" +#include "util_time.h" + +CCL_NAMESPACE_BEGIN + +/* Constructor / Destructor */ + +BVHBuild::BVHBuild(const vector& objects_, + vector& prim_index_, vector& prim_object_, + const BVHParams& params_, Progress& progress_) +: objects(objects_), + prim_index(prim_index_), + prim_object(prim_object_), + params(params_), + progress(progress_), + progress_start_time(0.0) +{ + spatial_min_overlap = 0.0f; + progress_num_duplicates = 0; +} + +BVHBuild::~BVHBuild() +{ +} + +/* Adding References */ + +void BVHBuild::add_reference_mesh(NodeSpec& root, Mesh *mesh, int i) +{ + for(uint j = 0; j < mesh->triangles.size(); j++) { + Mesh::Triangle t = mesh->triangles[j]; + Reference ref; + + ref.prim_index = j; + ref.prim_object = i; + + for(int k = 0; k < 3; k++) { + float3 pt = mesh->verts[t.v[k]]; + ref.bounds.grow(pt); + } + + references.push_back(ref); + root.bounds.grow(ref.bounds); + } +} + +void BVHBuild::add_reference_object(NodeSpec& root, Object *ob, int i) +{ + Reference ref; + + ref.prim_index = -1; + ref.prim_object = i; + ref.bounds = ob->bounds; + + references.push_back(ref); + root.bounds.grow(ref.bounds); +} + +void BVHBuild::add_references(NodeSpec& root) +{ + /* init root spec */ + root.num = 0; + root.bounds = BoundBox(); + + /* add objects */ + int i = 0; + + foreach(Object *ob, objects) { + if(params.top_level) { + if(ob->mesh->transform_applied) + add_reference_mesh(root, ob->mesh, i); + else + add_reference_object(root, ob, i); + } + else + add_reference_mesh(root, ob->mesh, i); + + i++; + + if(progress.get_cancel()) return; + } + + /* happens mostly on empty meshes */ + if(!root.bounds.valid()) + root.bounds.grow(make_float3(0.0f, 0.0f, 0.0f)); + + root.num = references.size(); +} + +/* Build */ + +BVHNode* BVHBuild::run() +{ + NodeSpec root; + + /* add references */ + add_references(root); + + if(progress.get_cancel()) return NULL; + + /* init spatial splits */ + if(params.top_level) /* todo: get rid of this */ + params.use_spatial_split = false; + + spatial_min_overlap = root.bounds.area() * params.spatial_split_alpha; + spatial_right_bounds.clear(); + spatial_right_bounds.resize(max(root.num, (int)BVHParams::NUM_SPATIAL_BINS) - 1); + + /* init progress updates */ + progress_num_duplicates = 0; + progress_start_time = time_dt(); + + /* build recursively */ + return build_node(root, 0, 0.0f, 1.0f); +} + +void BVHBuild::progress_update(float progress_start, float progress_end) +{ + if(time_dt() - progress_start_time < 0.25f) + return; + + float duplicates = (float)progress_num_duplicates/(float)references.size(); + string msg = string_printf("Building BVH %.0f%%, duplicates %.0f%%", + progress_start*100.0f, duplicates*100.0f); + + progress.set_substatus(msg); + progress_start_time = time_dt(); +} + +BVHNode* BVHBuild::build_node(const NodeSpec& spec, int level, float progress_start, float progress_end) +{ + /* progress update */ + progress_update(progress_start, progress_end); + if(progress.get_cancel()) return NULL; + + /* small enough or too deep => create leaf. */ + if(spec.num <= params.min_leaf_size || level >= BVHParams::MAX_DEPTH) + return create_leaf_node(spec); + + /* find split candidates. */ + float area = spec.bounds.area(); + float leafSAH = area * params.triangle_cost(spec.num); + float nodeSAH = area * params.node_cost(2); + ObjectSplit object = find_object_split(spec, nodeSAH); + SpatialSplit spatial; + + if(params.use_spatial_split && level < BVHParams::MAX_SPATIAL_DEPTH) { + BoundBox overlap = object.left_bounds; + overlap.intersect(object.right_bounds); + + if(overlap.area() >= spatial_min_overlap) + spatial = find_spatial_split(spec, nodeSAH); + } + + /* leaf SAH is the lowest => create leaf. */ + float minSAH = min(min(leafSAH, object.sah), spatial.sah); + + if(minSAH == leafSAH && spec.num <= params.max_leaf_size) + return create_leaf_node(spec); + + /* perform split. */ + NodeSpec left, right; + + if(params.use_spatial_split && minSAH == spatial.sah) + do_spatial_split(left, right, spec, spatial); + if(!left.num || !right.num) + do_object_split(left, right, spec, object); + + /* create inner node. */ + progress_num_duplicates += left.num + right.num - spec.num; + + float progress_mid = lerp(progress_start, progress_end, (float)right.num / (float)(left.num + right.num)); + + BVHNode* rightNode = build_node(right, level + 1, progress_start, progress_mid); + if(progress.get_cancel()) { + if(rightNode) rightNode->deleteSubtree(); + return NULL; + } + + BVHNode* leftNode = build_node(left, level + 1, progress_mid, progress_end); + if(progress.get_cancel()) { + if(leftNode) leftNode->deleteSubtree(); + return NULL; + } + + return new InnerNode(spec.bounds, leftNode, rightNode); +} + +BVHNode *BVHBuild::create_object_leaf_nodes(const Reference *ref, int num) +{ + if(num == 0) { + BoundBox bounds; + return new LeafNode(bounds, 0, 0); + } + else if(num == 1) { + prim_index.push_back(ref[0].prim_index); + prim_object.push_back(ref[0].prim_object); + return new LeafNode(ref[0].bounds, prim_index.size()-1, prim_index.size()); + } + else { + int mid = num/2; + BVHNode *leaf0 = create_object_leaf_nodes(ref, mid); + BVHNode *leaf1 = create_object_leaf_nodes(ref+mid, num-mid); + + BoundBox bounds; + bounds.grow(leaf0->m_bounds); + bounds.grow(leaf1->m_bounds); + + return new InnerNode(bounds, leaf0, leaf1); + } +} + +BVHNode* BVHBuild::create_leaf_node(const NodeSpec& spec) +{ + vector& p_index = prim_index; + vector& p_object = prim_object; + BoundBox bounds; + int num = 0; + + for(int i = 0; i < spec.num; i++) { + if(references.back().prim_index != -1) { + p_index.push_back(references.back().prim_index); + p_object.push_back(references.back().prim_object); + bounds.grow(references.back().bounds); + references.pop_back(); + num++; + } + } + + BVHNode *leaf = NULL; + + if(num > 0) { + leaf = new LeafNode(bounds, p_index.size() - num, p_index.size()); + + if(num == spec.num) + return leaf; + } + + /* while there may be multiple triangles in a leaf, for object primitives + * we want them to be the only one, so we */ + int ob_num = spec.num - num; + BVHNode *oleaf = create_object_leaf_nodes(&references.back() - (ob_num - 1), ob_num); + for(int i = 0; i < ob_num; i++) + references.pop_back(); + + if(leaf) + return new InnerNode(spec.bounds, leaf, oleaf); + else + return oleaf; +} + +/* Object Split */ + +BVHBuild::ObjectSplit BVHBuild::find_object_split(const NodeSpec& spec, float nodeSAH) +{ + ObjectSplit split; + const Reference *ref_ptr = &references[references.size() - spec.num]; + + for(int dim = 0; dim < 3; dim++) { + /* sort references */ + bvh_reference_sort(references.size() - spec.num, references.size(), &references[0], dim); + + /* sweep right to left and determine bounds. */ + BoundBox right_bounds; + + for(int i = spec.num - 1; i > 0; i--) { + right_bounds.grow(ref_ptr[i].bounds); + spatial_right_bounds[i - 1] = right_bounds; + } + + /* sweep left to right and select lowest SAH. */ + BoundBox left_bounds; + + for(int i = 1; i < spec.num; i++) { + left_bounds.grow(ref_ptr[i - 1].bounds); + right_bounds = spatial_right_bounds[i - 1]; + + float sah = nodeSAH + + left_bounds.area() * params.triangle_cost(i) + + right_bounds.area() * params.triangle_cost(spec.num - i); + + if(sah < split.sah) { + split.sah = sah; + split.dim = dim; + split.num_left = i; + split.left_bounds = left_bounds; + split.right_bounds = right_bounds; + } + } + } + + return split; +} + +void BVHBuild::do_object_split(NodeSpec& left, NodeSpec& right, const NodeSpec& spec, const ObjectSplit& split) +{ + /* sort references according to split */ + int start = references.size() - spec.num; + int end = references.size(); /* todo: is this right? */ + + bvh_reference_sort(start, end, &references[0], split.dim); + + /* split node specs */ + left.num = split.num_left; + left.bounds = split.left_bounds; + right.num = spec.num - split.num_left; + right.bounds = split.right_bounds; +} + +/* Spatial Split */ + +BVHBuild::SpatialSplit BVHBuild::find_spatial_split(const NodeSpec& spec, float nodeSAH) +{ + /* initialize bins. */ + float3 origin = spec.bounds.min; + float3 binSize = (spec.bounds.max - origin) * (1.0f / (float)BVHParams::NUM_SPATIAL_BINS); + float3 invBinSize = 1.0f / binSize; + + for(int dim = 0; dim < 3; dim++) { + for(int i = 0; i < BVHParams::NUM_SPATIAL_BINS; i++) { + SpatialBin& bin = spatial_bins[dim][i]; + + bin.bounds = BoundBox(); + bin.enter = 0; + bin.exit = 0; + } + } + + /* chop references into bins. */ + for(unsigned int refIdx = references.size() - spec.num; refIdx < references.size(); refIdx++) { + const Reference& ref = references[refIdx]; + float3 firstBinf = (ref.bounds.min - origin) * invBinSize; + float3 lastBinf = (ref.bounds.max - origin) * invBinSize; + int3 firstBin = make_int3(firstBinf.x, firstBinf.y, firstBinf.z); + int3 lastBin = make_int3(lastBinf.x, lastBinf.y, lastBinf.z); + + firstBin = clamp(firstBin, 0, BVHParams::NUM_SPATIAL_BINS - 1); + lastBin = clamp(lastBin, firstBin, BVHParams::NUM_SPATIAL_BINS - 1); + + for(int dim = 0; dim < 3; dim++) { + Reference currRef = ref; + + for(int i = firstBin[dim]; i < lastBin[dim]; i++) { + Reference leftRef, rightRef; + + split_reference(leftRef, rightRef, currRef, dim, origin[dim] + binSize[dim] * (float)(i + 1)); + spatial_bins[dim][i].bounds.grow(leftRef.bounds); + currRef = rightRef; + } + + spatial_bins[dim][lastBin[dim]].bounds.grow(currRef.bounds); + spatial_bins[dim][firstBin[dim]].enter++; + spatial_bins[dim][lastBin[dim]].exit++; + } + } + + /* select best split plane. */ + SpatialSplit split; + + for(int dim = 0; dim < 3; dim++) { + /* sweep right to left and determine bounds. */ + BoundBox right_bounds; + + for(int i = BVHParams::NUM_SPATIAL_BINS - 1; i > 0; i--) { + right_bounds.grow(spatial_bins[dim][i].bounds); + spatial_right_bounds[i - 1] = right_bounds; + } + + /* sweep left to right and select lowest SAH. */ + BoundBox left_bounds; + int leftNum = 0; + int rightNum = spec.num; + + for(int i = 1; i < BVHParams::NUM_SPATIAL_BINS; i++) { + left_bounds.grow(spatial_bins[dim][i - 1].bounds); + leftNum += spatial_bins[dim][i - 1].enter; + rightNum -= spatial_bins[dim][i - 1].exit; + + float sah = nodeSAH + + left_bounds.area() * params.triangle_cost(leftNum) + + spatial_right_bounds[i - 1].area() * params.triangle_cost(rightNum); + + if(sah < split.sah) { + split.sah = sah; + split.dim = dim; + split.pos = origin[dim] + binSize[dim] * (float)i; + } + } + } + + return split; +} + +void BVHBuild::do_spatial_split(NodeSpec& left, NodeSpec& right, const NodeSpec& spec, const SpatialSplit& split) +{ + /* Categorize references and compute bounds. + * + * Left-hand side: [left_start, left_end[ + * Uncategorized/split: [left_end, right_start[ + * Right-hand side: [right_start, refs.size()[ */ + + vector& refs = references; + int left_start = refs.size() - spec.num; + int left_end = left_start; + int right_start = refs.size(); + + left.bounds = right.bounds = BoundBox(); + + for(int i = left_end; i < right_start; i++) { + if(refs[i].bounds.max[split.dim] <= split.pos) { + /* entirely on the left-hand side */ + left.bounds.grow(refs[i].bounds); + swap(refs[i], refs[left_end++]); + } + else if(refs[i].bounds.min[split.dim] >= split.pos) { + /* entirely on the right-hand side */ + right.bounds.grow(refs[i].bounds); + swap(refs[i--], refs[--right_start]); + } + } + + /* duplicate or unsplit references intersecting both sides. */ + while(left_end < right_start) { + /* split reference. */ + Reference lref, rref; + + split_reference(lref, rref, refs[left_end], split.dim, split.pos); + + /* compute SAH for duplicate/unsplit candidates. */ + BoundBox lub = left.bounds; // Unsplit to left: new left-hand bounds. + BoundBox rub = right.bounds; // Unsplit to right: new right-hand bounds. + BoundBox ldb = left.bounds; // Duplicate: new left-hand bounds. + BoundBox rdb = right.bounds; // Duplicate: new right-hand bounds. + + lub.grow(refs[left_end].bounds); + rub.grow(refs[left_end].bounds); + ldb.grow(lref.bounds); + rdb.grow(rref.bounds); + + float lac = params.triangle_cost(left_end - left_start); + float rac = params.triangle_cost(refs.size() - right_start); + float lbc = params.triangle_cost(left_end - left_start + 1); + float rbc = params.triangle_cost(refs.size() - right_start + 1); + + float unsplitLeftSAH = lub.area() * lbc + right.bounds.area() * rac; + float unsplitRightSAH = left.bounds.area() * lac + rub.area() * rbc; + float duplicateSAH = ldb.area() * lbc + rdb.area() * rbc; + float minSAH = min(min(unsplitLeftSAH, unsplitRightSAH), duplicateSAH); + + if(minSAH == unsplitLeftSAH) { + /* unsplit to left */ + left.bounds = lub; + left_end++; + } + else if(minSAH == unsplitRightSAH) { + /* unsplit to right */ + right.bounds = rub; + swap(refs[left_end], refs[--right_start]); + } + else { + /* duplicate */ + left.bounds = ldb; + right.bounds = rdb; + refs[left_end++] = lref; + refs.push_back(rref); + } + } + + left.num = left_end - left_start; + right.num = refs.size() - right_start; +} + +void BVHBuild::split_reference(Reference& left, Reference& right, const Reference& ref, int dim, float pos) +{ + /* initialize references. */ + left.prim_index = right.prim_index = ref.prim_index; + left.prim_object = right.prim_object = ref.prim_object; + left.bounds = right.bounds = BoundBox(); + + /* loop over vertices/edges. */ + Object *ob = objects[ref.prim_object]; + const Mesh *mesh = ob->mesh; + const int *inds = mesh->triangles[ref.prim_index].v; + const float3 *verts = &mesh->verts[0]; + const float3* v1 = &verts[inds[2]]; + + for(int i = 0; i < 3; i++) { + const float3* v0 = v1; + int vindex = inds[i]; + v1 = &verts[vindex]; + float v0p = (*v0)[dim]; + float v1p = (*v1)[dim]; + + /* insert vertex to the boxes it belongs to. */ + if(v0p <= pos) + left.bounds.grow(*v0); + + if(v0p >= pos) + right.bounds.grow(*v0); + + /* edge intersects the plane => insert intersection to both boxes. */ + if((v0p < pos && v1p > pos) || (v0p > pos && v1p < pos)) { + float3 t = lerp(*v0, *v1, clamp((pos - v0p) / (v1p - v0p), 0.0f, 1.0f)); + left.bounds.grow(t); + right.bounds.grow(t); + } + } + + /* intersect with original bounds. */ + left.bounds.max[dim] = pos; + right.bounds.min[dim] = pos; + left.bounds.intersect(ref.bounds); + right.bounds.intersect(ref.bounds); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/bvh/bvh_build.h b/intern/cycles/bvh/bvh_build.h new file mode 100644 index 00000000000..1fa1951d7f2 --- /dev/null +++ b/intern/cycles/bvh/bvh_build.h @@ -0,0 +1,152 @@ +/* + * Adapted from code copyright 2009-2010 NVIDIA Corporation + * Modifications Copyright 2011, Blender Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __BVH_BUILD_H__ +#define __BVH_BUILD_H__ + +#include + +#include "bvh.h" + +#include "util_boundbox.h" +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +class BVHParams; +class Mesh; +class Object; +class Progress; + +/* BVH Builder */ + +class BVHBuild +{ +public: + struct Reference + { + int prim_index; + int prim_object; + BoundBox bounds; + + Reference() + { + } + }; + + struct NodeSpec + { + int num; + BoundBox bounds; + + NodeSpec() + { + num = 0; + } + }; + + BVHBuild( + const vector& objects, + vector& prim_index, + vector& prim_object, + const BVHParams& params, + Progress& progress); + ~BVHBuild(); + + BVHNode *run(); + +protected: + /* adding references */ + void add_reference_mesh(NodeSpec& root, Mesh *mesh, int i); + void add_reference_object(NodeSpec& root, Object *ob, int i); + void add_references(NodeSpec& root); + + /* building */ + BVHNode *build_node(const NodeSpec& spec, int level, float progress_start, float progress_end); + BVHNode *create_leaf_node(const NodeSpec& spec); + BVHNode *create_object_leaf_nodes(const Reference *ref, int num); + + void progress_update(float progress_start, float progress_end); + + /* object splits */ + struct ObjectSplit + { + float sah; + int dim; + int num_left; + BoundBox left_bounds; + BoundBox right_bounds; + + ObjectSplit() + : sah(FLT_MAX), dim(0), num_left(0) + { + } + }; + + ObjectSplit find_object_split(const NodeSpec& spec, float nodeSAH); + void do_object_split(NodeSpec& left, NodeSpec& right, const NodeSpec& spec, const ObjectSplit& split); + + /* spatial splits */ + struct SpatialSplit + { + float sah; + int dim; + float pos; + + SpatialSplit() + : sah(FLT_MAX), dim(0), pos(0.0f) + { + } + }; + + struct SpatialBin + { + BoundBox bounds; + int enter; + int exit; + }; + + SpatialSplit find_spatial_split(const NodeSpec& spec, float nodeSAH); + void do_spatial_split(NodeSpec& left, NodeSpec& right, const NodeSpec& spec, const SpatialSplit& split); + void split_reference(Reference& left, Reference& right, const Reference& ref, int dim, float pos); + + /* objects and primitive references */ + vector objects; + vector references; + + /* output primitive indexes and objects */ + vector& prim_index; + vector& prim_object; + + /* build parameters */ + BVHParams params; + + /* progress reporting */ + Progress& progress; + double progress_start_time; + int progress_num_duplicates; + + /* spatial splitting */ + float spatial_min_overlap; + vector spatial_right_bounds; + SpatialBin spatial_bins[3][BVHParams::NUM_SPATIAL_BINS]; +}; + +CCL_NAMESPACE_END + +#endif /* __BVH_BUILD_H__ */ + diff --git a/intern/cycles/bvh/bvh_node.cpp b/intern/cycles/bvh/bvh_node.cpp new file mode 100644 index 00000000000..63683bae4a3 --- /dev/null +++ b/intern/cycles/bvh/bvh_node.cpp @@ -0,0 +1,101 @@ +/* + * Adapted from code copyright 2009-2010 NVIDIA Corporation + * Modifications Copyright 2011, Blender Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "bvh.h" +#include "bvh_build.h" +#include "bvh_node.h" + +#include "util_debug.h" +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +int BVHNode::getSubtreeSize(BVH_STAT stat) const +{ + int cnt = 0; + + switch(stat) + { + case BVH_STAT_NODE_COUNT: + cnt = 1; + break; + case BVH_STAT_LEAF_COUNT: + cnt = is_leaf() ? 1 : 0; + break; + case BVH_STAT_INNER_COUNT: + cnt = is_leaf() ? 0 : 1; + break; + case BVH_STAT_TRIANGLE_COUNT: + cnt = is_leaf() ? reinterpret_cast(this)->num_triangles() : 0; + break; + case BVH_STAT_CHILDNODE_COUNT: + cnt = num_children(); + break; + default: + assert(0); /* unknown mode */ + } + + if(!is_leaf()) + for(int i=0;igetSubtreeSize(stat); + + return cnt; +} + +void BVHNode::deleteSubtree() +{ + for(int i=0;ideleteSubtree(); + + delete this; +} + +float BVHNode::computeSubtreeSAHCost(const BVHParams& p, float probability) const +{ + float SAH = probability * p.cost(num_children(), num_triangles()); + + for(int i=0;icomputeSubtreeSAHCost(p, probability * child->m_bounds.area()/m_bounds.area()); + } + + return SAH; +} + +void InnerNode::print(int depth) const +{ + for(int i = 0; i < depth; i++) + printf(" "); + + printf("inner node %p\n", (void*)this); + + if(children[0]) + children[0]->print(depth+1); + if(children[1]) + children[1]->print(depth+1); +} + +void LeafNode::print(int depth) const +{ + for(int i = 0; i < depth; i++) + printf(" "); + + printf("leaf node %d to %d\n", m_lo, m_hi); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/bvh/bvh_node.h b/intern/cycles/bvh/bvh_node.h new file mode 100644 index 00000000000..d83c006b93d --- /dev/null +++ b/intern/cycles/bvh/bvh_node.h @@ -0,0 +1,108 @@ +/* + * Adapted from code copyright 2009-2010 NVIDIA Corporation + * Modifications Copyright 2011, Blender Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __BVH_NODE_H__ +#define __BVH_NODE_H__ + +#include "util_boundbox.h" +#include "util_debug.h" +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +enum BVH_STAT +{ + BVH_STAT_NODE_COUNT, + BVH_STAT_INNER_COUNT, + BVH_STAT_LEAF_COUNT, + BVH_STAT_TRIANGLE_COUNT, + BVH_STAT_CHILDNODE_COUNT +}; + +class BVHParams; + +class BVHNode +{ +public: + BVHNode() + { + } + + virtual bool is_leaf() const = 0; + virtual int num_children() const = 0; + virtual BVHNode *get_child(int i) const = 0; + virtual int num_triangles() const { return 0; } + virtual void print(int depth = 0) const = 0; + + float getArea() const { return m_bounds.area(); } + + BoundBox m_bounds; + + // Subtree functions + int getSubtreeSize(BVH_STAT stat=BVH_STAT_NODE_COUNT) const; + float computeSubtreeSAHCost(const BVHParams& p, float probability = 1.0f) const; + void deleteSubtree(); +}; + +class InnerNode : public BVHNode +{ +public: + InnerNode(const BoundBox& bounds, BVHNode* child0, BVHNode* child1) + { + m_bounds = bounds; + children[0] = child0; + children[1] = child1; + } + + bool is_leaf() const { return false; } + int num_children() const { return 2; } + BVHNode *get_child(int i) const{ assert(i>=0 && i<2); return children[i]; } + void print(int depth) const; + + BVHNode *children[2]; +}; + +class LeafNode : public BVHNode +{ +public: + LeafNode(const BoundBox& bounds, int lo, int hi) + { + m_bounds = bounds; + m_lo = lo; + m_hi = hi; + } + + LeafNode(const LeafNode& s) + : BVHNode() + { + *this = s; + } + + bool is_leaf() const { return true; } + int num_children() const { return 0; } + BVHNode *get_child(int) const { return NULL; } + int num_triangles() const { return m_hi - m_lo; } + void print(int depth) const; + + int m_lo; + int m_hi; +}; + +CCL_NAMESPACE_END + +#endif /* __BVH_NODE_H__ */ + diff --git a/intern/cycles/bvh/bvh_params.h b/intern/cycles/bvh/bvh_params.h new file mode 100644 index 00000000000..b38e40cfbda --- /dev/null +++ b/intern/cycles/bvh/bvh_params.h @@ -0,0 +1,86 @@ +/* + * Adapted from code copyright 2009-2010 NVIDIA Corporation + * Modifications Copyright 2011, Blender Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __BVH_PARAMS_H__ +#define __BVH_PARAMS_H__ + +CCL_NAMESPACE_BEGIN + +/* BVH Parameters */ + +class BVHParams +{ +public: + /* spatial split area threshold */ + bool use_spatial_split; + float spatial_split_alpha; + + /* SAH costs */ + float sah_node_cost; + float sah_triangle_cost; + + /* number of triangles in leaf */ + int min_leaf_size; + int max_leaf_size; + + /* object or mesh level bvh */ + bool top_level; + + /* disk cache */ + bool use_cache; + + /* QBVH */ + bool use_qbvh; + + /* fixed parameters */ + enum { + MAX_DEPTH = 64, + MAX_SPATIAL_DEPTH = 48, + NUM_SPATIAL_BINS = 32 + }; + + BVHParams() + { + use_spatial_split = true; + spatial_split_alpha = 1e-5f; + + sah_node_cost = 1.0f; + sah_triangle_cost = 1.0f; + + min_leaf_size = 1; + max_leaf_size = 0x7FFFFFF; + + top_level = false; + use_cache = false; + use_qbvh = false; + } + + /* SAH costs */ + float cost(int num_nodes, int num_tris) const + { return node_cost(num_nodes) + triangle_cost(num_tris); } + + float triangle_cost(int n) const + { return n*sah_triangle_cost; } + + float node_cost(int n) const + { return n*sah_node_cost; } +}; + +CCL_NAMESPACE_END + +#endif /* __BVH_PARAMS_H__ */ + diff --git a/intern/cycles/bvh/bvh_sort.cpp b/intern/cycles/bvh/bvh_sort.cpp new file mode 100644 index 00000000000..ee4531a4843 --- /dev/null +++ b/intern/cycles/bvh/bvh_sort.cpp @@ -0,0 +1,57 @@ +/* + * Adapted from code copyright 2009-2010 NVIDIA Corporation + * Modifications Copyright 2011, Blender Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "bvh_build.h" +#include "bvh_sort.h" + +#include "util_algorithm.h" +#include "util_debug.h" + +CCL_NAMESPACE_BEGIN + +struct BVHReferenceCompare { +public: + int dim; + + BVHReferenceCompare(int dim_) + { + dim = dim_; + } + + bool operator()(const BVHBuild::Reference& ra, const BVHBuild::Reference& rb) + { + float ca = ra.bounds.min[dim] + ra.bounds.max[dim]; + float cb = rb.bounds.min[dim] + rb.bounds.max[dim]; + + if(ca < cb) return true; + else if(ca > cb) return false; + else if(ra.prim_object < rb.prim_object) return true; + else if(ra.prim_object > rb.prim_object) return false; + else if(ra.prim_index < rb.prim_index) return true; + else if(ra.prim_index > rb.prim_index) return false; + + return false; + } +}; + +void bvh_reference_sort(int start, int end, BVHBuild::Reference *data, int dim) +{ + sort(data+start, data+end, BVHReferenceCompare(dim)); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/bvh/bvh_sort.h b/intern/cycles/bvh/bvh_sort.h new file mode 100644 index 00000000000..f0676948146 --- /dev/null +++ b/intern/cycles/bvh/bvh_sort.h @@ -0,0 +1,28 @@ + /* + * Adapted from code copyright 2009-2010 NVIDIA Corporation + * Modifications Copyright 2011, Blender Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __BVH_SORT_H__ +#define __BVH_SORT_H__ + +CCL_NAMESPACE_BEGIN + +void bvh_reference_sort(int start, int end, BVHBuild::Reference *data, int dim); + +CCL_NAMESPACE_END + +#endif /* __BVH_SORT_H__ */ + diff --git a/intern/cycles/cmake/create_dmg.py b/intern/cycles/cmake/create_dmg.py new file mode 100755 index 00000000000..bba7f8d3509 --- /dev/null +++ b/intern/cycles/cmake/create_dmg.py @@ -0,0 +1,14 @@ +#!/usr/bin/python + +import os +import string +import sys + +name = string.replace(sys.argv[1], ".zip", "") + +os.system("rm -f %s.dmg" % (name)) +os.system("mkdir -p /tmp/cycles_dmg") +os.system("rm /tmp/cycles_dmg/*") +os.system("cp %s.zip /tmp/cycles_dmg/" % (name)) +os.system("/usr/bin/hdiutil create -fs HFS+ -srcfolder /tmp/cycles_dmg -volname %s %s.dmg" % (name, name)) + diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake new file mode 100644 index 00000000000..6f6f00ed6bc --- /dev/null +++ b/intern/cycles/cmake/external_libs.cmake @@ -0,0 +1,210 @@ +########################################################################### +# Boost setup + +MESSAGE(STATUS "BOOST_PATH ${BOOST_PATH}") +SET(BOOST_ROOT ${BOOST_PATH}) + +SET(Boost_ADDITIONAL_VERSIONS "1.45" "1.44" + "1.43" "1.43.0" "1.42" "1.42.0" + "1.41" "1.41.0" "1.40" "1.40.0" + "1.39" "1.39.0" "1.38" "1.38.0" + "1.37" "1.37.0" "1.34.1" "1_34_1") +IF(LINKSTATIC) + SET(Boost_USE_STATIC_LIBS ON) +ENDIF() + +SET(Boost_USE_MULTITHREADED ON) + +FIND_PACKAGE(Boost 1.34 REQUIRED COMPONENTS filesystem regex system serialization thread) + +MESSAGE(STATUS "Boost found ${Boost_FOUND}") +MESSAGE(STATUS "Boost version ${Boost_VERSION}") +MESSAGE(STATUS "Boost include dirs ${Boost_INCLUDE_DIRS}") +MESSAGE(STATUS "Boost library dirs ${Boost_LIBRARY_DIRS}") +MESSAGE(STATUS "Boost libraries ${Boost_LIBRARIES}") + +INCLUDE_DIRECTORIES("${Boost_INCLUDE_DIRS}") +LINK_DIRECTORIES("${Boost_LIBRARY_DIRS}") + +IF(WITH_NETWORK) + ADD_DEFINITIONS(-DWITH_NETWORK) +ENDIF() + +IF(WITH_MULTI) + ADD_DEFINITIONS(-DWITH_MULTI) +ENDIF() + +########################################################################### +# OpenImageIO + +MESSAGE(STATUS "OIIO_PATH = ${OIIO_PATH}") + +FIND_LIBRARY(OPENIMAGEIO_LIBRARY NAMES OpenImageIO PATHS ${OIIO_PATH}/lib) +FIND_PATH(OPENIMAGEIO_INCLUDES OpenImageIO/imageio.h ${OIIO_PATH}/include) +FIND_PROGRAM(OPENIMAGEIO_IDIFF NAMES idiff PATHS ${OIIO_PATH}/bin) + +IF(OPENIMAGEIO_INCLUDES AND OPENIMAGEIO_LIBRARY) + SET(OPENIMAGEIO_FOUND TRUE) + MESSAGE(STATUS "OpenImageIO includes = ${OPENIMAGEIO_INCLUDES}") + MESSAGE(STATUS "OpenImageIO library = ${OPENIMAGEIO_LIBRARY}") +ELSE() + MESSAGE(STATUS "OpenImageIO not found") +ENDIF() + +ADD_DEFINITIONS(-DWITH_OIIO) +INCLUDE_DIRECTORIES(${OPENIMAGEIO_INCLUDES} ${OPENIMAGEIO_INCLUDES}/OpenImageIO) + +########################################################################### +# OpenGL + +FIND_PACKAGE(OpenGL) +MESSAGE(STATUS "OPENGL_FOUND=${OPENGL_FOUND}") + +INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) + +########################################################################### +# GLUT + +SET(GLUT_ROOT_PATH ${GLUT_PATH}) + +FIND_PACKAGE(GLUT) +MESSAGE(STATUS "GLUT_FOUND=${GLUT_FOUND}") + +INCLUDE_DIRECTORIES(${GLUT_INCLUDE_DIR}) + +########################################################################### +# GLEW + +SET(GLEW_VERSION 1.5.1) +FIND_LIBRARY(GLEW_LIBRARIES NAMES GLEW PATHS ${GLEW_PATH}/lib) +FIND_PATH(GLEW_INCLUDES NAMES glew.h PATH_SUFFIXES GL PATHS ${GLEW_PATH}/include) + +IF(GLEW_INCLUDES AND GLEW_LIBRARIES) + MESSAGE(STATUS "GLEW includes = ${GLEW_INCLUDES}") + MESSAGE(STATUS "GLEW library = ${GLEW_LIBRARIES}") +ELSE() + MESSAGE(STATUS "GLEW not found") +ENDIF() + +INCLUDE_DIRECTORIES("${GLEW_INCLUDES}") + +########################################################################### +# OpenShadingLanguage + +IF(WITH_OSL) + + MESSAGE(STATUS "OSL_PATH = ${OSL_PATH}") + + FIND_LIBRARY(OSL_LIBRARIES NAMES oslexec oslcomp oslquery PATHS ${OSL_PATH}/lib) + FIND_PATH(OSL_INCLUDES OSL/oslclosure.h ${OSL_PATH}/include) + FIND_PROGRAM(OSL_COMPILER NAMES oslc PATHS ${OSL_PATH}/bin) + + IF(OSL_INCLUDES AND OSL_LIBRARIES AND OSL_COMPILER) + SET(OSL_FOUND TRUE) + MESSAGE(STATUS "OSL includes = ${OSL_INCLUDES}") + MESSAGE(STATUS "OSL library = ${OSL_LIBRARIES}") + MESSAGE(STATUS "OSL compiler = ${OSL_COMPILER}") + ELSE() + MESSAGE(STATUS "OSL not found") + ENDIF() + + ADD_DEFINITIONS(-DWITH_OSL) + INCLUDE_DIRECTORIES(${OSL_INCLUDES} ${OSL_INCLUDES}/OSL ${OSL_INCLUDES}/../../../src/liboslexec) + +ENDIF() + +########################################################################### +# Partio + +IF(WITH_PARTIO) + + MESSAGE(STATUS "PARTIO_PATH = ${PARTIO_PATH}") + + FIND_LIBRARY(PARTIO_LIBRARIES NAMES partio PATHS ${PARTIO_PATH}/lib) + FIND_PATH(PARTIO_INCLUDES Partio.h ${PARTIO_PATH}/include) + + FIND_PACKAGE(ZLIB) + + IF(PARTIO_INCLUDES AND PARTIO_LIBRARIES AND ZLIB_LIBRARIES) + LIST(APPEND PARTIO_LIBRARIES ${ZLIB_LIBRARIES}) + SET(PARTIO_FOUND TRUE) + MESSAGE(STATUS "PARTIO includes = ${PARTIO_INCLUDES}") + MESSAGE(STATUS "PARTIO library = ${PARTIO_LIBRARIES}") + ELSE() + MESSAGE(STATUS "PARTIO not found") + ENDIF() + + ADD_DEFINITIONS(-DWITH_PARTIO) + INCLUDE_DIRECTORIES(${PARTIO_INCLUDES}) + +ENDIF() + +########################################################################### +# Python + +IF(WITH_BLENDER) + + FIND_PATH(PYTHON_INCLUDE_DIRS Python.h PATHS ${PYTHON_PATH} ${PYTHON_PATH}/include ${PYTHON_PATH}/include/python3.1 ${PYTHON_PATH}/include/python3.2 NO_DEFAULT_PATH) + IF(WIN32) + FIND_LIBRARY(PYTHON_LIBRARIES NAMES python31 PATHS ${PYTHON_PATH}/lib) + ENDIF() + +ENDIF() + +########################################################################### +# Blender + +IF(WITH_BLENDER) + FIND_PATH(BLENDER_INCLUDE_DIRS RNA_blender.h PATHS ${BLENDER_PATH}/include) + IF(WIN32) + SET(BLENDER_LIBRARIES ${BLENDER_PATH}/bin/Release/blender.lib) + ENDIF() +ENDIF() + +########################################################################### +# CUDA + +IF(WITH_CUDA) + + FIND_LIBRARY(CUDA_LIBRARIES NAMES cuda PATHS ${CUDA_PATH}/lib ${CUDA_PATH}/lib/Win32 NO_DEFAULT_PATH) + FIND_PATH(CUDA_INCLUDES cuda.h ${CUDA_PATH}/include NO_DEFAULT_PATH) + FIND_PROGRAM(CUDA_NVCC NAMES nvcc PATHS ${CUDA_PATH}/bin NO_DEFAULT_PATH) + + IF(CUDA_INCLUDES AND CUDA_LIBRARIES AND CUDA_NVCC) + MESSAGE(STATUS "CUDA includes = ${CUDA_INCLUDES}") + MESSAGE(STATUS "CUDA library = ${CUDA_LIBRARIES}") + MESSAGE(STATUS "CUDA nvcc = ${CUDA_NVCC}") + ELSE() + MESSAGE(STATUS "CUDA not found") + ENDIF() + + ADD_DEFINITIONS(-DWITH_CUDA) + INCLUDE_DIRECTORIES(${CUDA_INCLUDES}) + +ENDIF() + +########################################################################### +# OpenCL + +IF(WITH_OPENCL) + + IF(APPLE) + SET(OPENCL_INCLUDES "/System/Library/Frameworks/OpenCL.framework/Headers") + SET(OPENCL_LIBRARIES "-framework OpenCL") + ENDIF() + + IF(WIN32) + SET(OPENCL_INCLUDES "") + SET(OPENCL_LIRBARIES "OpenCL") + ENDIF() + + IF(UNIX AND NOT APPLE) + SET(OPENCL_INCLUDES ${OPENCL_PATH}) + SET(OPENCL_LIRBARIES "OpenCL") + ENDIF() + + ADD_DEFINITIONS(-DWITH_OPENCL) + INCLUDE_DIRECTORIES(${OPENCL_INCLUDES}) + +ENDIF() + diff --git a/intern/cycles/cmake/platforms.cmake b/intern/cycles/cmake/platforms.cmake new file mode 100644 index 00000000000..ebc4b01edbc --- /dev/null +++ b/intern/cycles/cmake/platforms.cmake @@ -0,0 +1,27 @@ + +# Platform specific build flags + +SET(GCC_WARNING_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-long-long") # -pedantic +SET(GCC_OPTIM_FLAGS "-ffast-math -fPIC -msse -msse2 -msse3 -mtune=native") + +IF(APPLE) + SET(CMAKE_CXX_FLAGS "${GCC_WARNING_FLAGS} ${GCC_OPTIM_FLAGS}") + SET(RTTI_DISABLE_FLAGS "-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID") + SET(PYTHON_MODULE_FLAGS "-undefined dynamic_lookup") +ENDIF(APPLE) + +IF(WIN32) + SET(CMAKE_CXX_FLAGS "-D_CRT_SECURE_NO_WARNINGS /EHsc /fp:fast") + SET(RTTI_DISABLE_FLAGS "/GR- -DBOOST_NO_RTTI -DBOOST_NO_TYPEID") + SET(PYTHON_MODULE_FLAGS "-DLL") +ENDIF(WIN32) + +IF(UNIX AND NOT APPLE) + SET(CMAKE_CXX_FLAGS "${GCC_WARNING_FLAGS} ${GCC_OPTIM_FLAGS}") + SET(RTTI_DISABLE_FLAGS "-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID") + SET(PYTHON_MODULE_FLAGS "-fPIC") +ENDIF(UNIX AND NOT APPLE) + +ADD_DEFINITIONS(-DCCL_NAMESPACE_BEGIN=namespace\ ccl\ {) +ADD_DEFINITIONS(-DCCL_NAMESPACE_END=}) + diff --git a/intern/cycles/device/CMakeLists.txt b/intern/cycles/device/CMakeLists.txt new file mode 100644 index 00000000000..ab72548fc4f --- /dev/null +++ b/intern/cycles/device/CMakeLists.txt @@ -0,0 +1,18 @@ + +INCLUDE_DIRECTORIES(. ../kernel ../kernel/svm ../kernel/osl ../util ../render) + +SET(sources + device.cpp + device_cpu.cpp + device_cuda.cpp + device_multi.cpp + device_network.cpp + device_opencl.cpp) + +SET(headers + device.h + device_intern.h + device_network.h) + +ADD_LIBRARY(device ${sources} ${headers}) + diff --git a/intern/cycles/device/device.cpp b/intern/cycles/device/device.cpp new file mode 100644 index 00000000000..4fae9310a7f --- /dev/null +++ b/intern/cycles/device/device.cpp @@ -0,0 +1,198 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include +#include + +#include "device.h" +#include "device_intern.h" + +#include "util_cuda.h" +#include "util_debug.h" +#include "util_opengl.h" +#include "util_types.h" +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +/* Device Task */ + +DeviceTask::DeviceTask(Type type_) +: type(type_), x(0), y(0), w(0), h(0), rng_state(0), rgba(0), buffer(0), + pass(0), resolution(0), + displace_input(0), displace_offset(0), displace_x(0), displace_w(0) +{ +} + +void DeviceTask::split(ThreadQueue& tasks, int num) +{ + if(type == DISPLACE) { + for(int i = 0; i < num; i++) { + int tx = displace_x + (displace_w/num)*i; + int tw = (i == num-1)? displace_w - i*(displace_w/num): displace_w/num; + + DeviceTask task = *this; + + task.displace_x = tx; + task.displace_w = tw; + + tasks.push(task); + } + } + else { + for(int i = 0; i < num; i++) { + int ty = y + (h/num)*i; + int th = (i == num-1)? h - i*(h/num): h/num; + + DeviceTask task = *this; + + task.y = ty; + task.h = th; + + tasks.push(task); + } + } +} + +/* Device */ + +void Device::pixels_alloc(device_memory& mem) +{ + mem_alloc(mem, MEM_READ_WRITE); +} + +void Device::pixels_copy_from(device_memory& mem, int y, int w, int h) +{ + mem_copy_from(mem, sizeof(uchar)*4*y*w, sizeof(uchar)*4*w*h); +} + +void Device::pixels_free(device_memory& mem) +{ + mem_free(mem); +} + +void Device::draw_pixels(device_memory& rgba, int y, int w, int h, int width, int height) +{ + pixels_copy_from(rgba, y, w, h); + + glPixelZoom((float)width/(float)w, (float)height/(float)h); + glRasterPos2f(0, y); + + glDrawPixels(w, h, GL_RGBA, GL_UNSIGNED_BYTE, (void*)rgba.data_pointer); + + glRasterPos2f(0.0f, 0.0f); + glPixelZoom(1.0f, 1.0f); +} + +Device *Device::create(DeviceType type, bool background) +{ + Device *device; + + switch(type) { + case DEVICE_CPU: + device = device_cpu_create(); + break; +#ifdef WITH_CUDA + case DEVICE_CUDA: + if(cuLibraryInit()) + device = device_cuda_create(background); + else + device = NULL; + break; +#endif +#ifdef WITH_MULTI + case DEVICE_MULTI: + device = device_multi_create(background); + break; +#endif +#ifdef WITH_NETWORK + case DEVICE_NETWORK: + device = device_network_create("127.0.0.1"); + break; +#endif +#ifdef WITH_OPENCL + case DEVICE_OPENCL: + device = device_opencl_create(background); + break; +#endif + default: + return NULL; + } + + return device; +} + +DeviceType Device::type_from_string(const char *name) +{ + if(strcmp(name, "cpu") == 0) + return DEVICE_CPU; + else if(strcmp(name, "cuda") == 0) + return DEVICE_CUDA; + else if(strcmp(name, "opencl") == 0) + return DEVICE_OPENCL; + else if(strcmp(name, "network") == 0) + return DEVICE_NETWORK; + else if(strcmp(name, "multi") == 0) + return DEVICE_MULTI; + + return DEVICE_NONE; +} + +string Device::string_from_type(DeviceType type) +{ + if(type == DEVICE_CPU) + return "cpu"; + else if(type == DEVICE_CUDA) + return "cuda"; + else if(type == DEVICE_OPENCL) + return "opencl"; + else if(type == DEVICE_NETWORK) + return "network"; + else if(type == DEVICE_MULTI) + return "multi"; + + return ""; +} + +vector Device::available_types() +{ + vector types; + + types.push_back(DEVICE_CPU); + +#ifdef WITH_CUDA + if(cuLibraryInit()) + types.push_back(DEVICE_CUDA); +#endif + +#ifdef WITH_OPENCL + types.push_back(DEVICE_OPENCL); +#endif + +#ifdef WITH_NETWORK + types.push_back(DEVICE_NETWORK); +#endif +#ifdef WITH_MULTI + types.push_back(DEVICE_MULTI); +#endif + + return types; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/device/device.h b/intern/cycles/device/device.h new file mode 100644 index 00000000000..aba077fc2f3 --- /dev/null +++ b/intern/cycles/device/device.h @@ -0,0 +1,136 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __DEVICE_H__ +#define __DEVICE_H__ + +#include + +#include "device_memory.h" + +#include "util_string.h" +#include "util_thread.h" +#include "util_types.h" +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +class Progress; + +enum DeviceType { + DEVICE_NONE, + DEVICE_CPU, + DEVICE_OPENCL, + DEVICE_CUDA, + DEVICE_NETWORK, + DEVICE_MULTI +}; + +enum MemoryType { + MEM_READ_ONLY, + MEM_WRITE_ONLY, + MEM_READ_WRITE +}; + +/* Device Task */ + +class DeviceTask { +public: + typedef enum { PATH_TRACE, TONEMAP, DISPLACE } Type; + Type type; + + int x, y, w, h; + device_ptr rng_state; + device_ptr rgba; + device_ptr buffer; + int pass; + int resolution; + + device_ptr displace_input; + device_ptr displace_offset; + int displace_x, displace_w; + + DeviceTask(Type type = PATH_TRACE); + void split(ThreadQueue& tasks, int num); +}; + +/* Device */ + +class Device { +protected: + Device() {} + + DeviceType type; + bool background; + +public: + virtual ~Device() {} + + /* info */ + virtual string description() = 0; + + /* regular memory */ + virtual void mem_alloc(device_memory& mem, MemoryType type) = 0; + virtual void mem_copy_to(device_memory& mem) = 0; + virtual void mem_copy_from(device_memory& mem, + size_t offset, size_t size) = 0; + virtual void mem_zero(device_memory& mem) = 0; + virtual void mem_free(device_memory& mem) = 0; + + /* constant memory */ + virtual void const_copy_to(const char *name, void *host, size_t size) = 0; + + /* texture memory */ + virtual void tex_alloc(const char *name, device_memory& mem, + bool interpolation = false, bool periodic = false) {}; + virtual void tex_free(device_memory& mem) {}; + + /* pixel memory */ + virtual void pixels_alloc(device_memory& mem); + virtual void pixels_copy_from(device_memory& mem, int y, int w, int h); + virtual void pixels_free(device_memory& mem); + + /* open shading language, only for CPU device */ + virtual void *osl_memory() { return NULL; } + + /* tasks */ + virtual void task_add(DeviceTask& task) = 0; + virtual void task_wait() = 0; + virtual void task_cancel() = 0; + + /* opengl drawing */ + virtual void draw_pixels(device_memory& mem, int y, int w, int h, + int width, int height); + +#ifdef WITH_NETWORK + /* networking */ + void server_run(); +#endif + + /* static */ + static Device *create(DeviceType type, bool background = true); + + static DeviceType type_from_string(const char *name); + static string string_from_type(DeviceType type); + static vector available_types(); +}; + +CCL_NAMESPACE_END + +#endif /* __DEVICE_H__ */ + diff --git a/intern/cycles/device/device_cpu.cpp b/intern/cycles/device/device_cpu.cpp new file mode 100644 index 00000000000..bb47a127f20 --- /dev/null +++ b/intern/cycles/device/device_cpu.cpp @@ -0,0 +1,216 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include +#include + +#include "device.h" +#include "device_intern.h" + +#include "kernel.h" +#include "kernel_types.h" + +#include "osl_shader.h" + +#include "util_debug.h" +#include "util_foreach.h" +#include "util_function.h" +#include "util_opengl.h" +#include "util_progress.h" +#include "util_system.h" +#include "util_thread.h" + +CCL_NAMESPACE_BEGIN + +class CPUDevice : public Device +{ +public: + vector threads; + ThreadQueue tasks; + KernelGlobals *kg; + + CPUDevice() + { + kg = kernel_globals_create(); + threads.resize(system_cpu_thread_count()); + + for(size_t i = 0; i < threads.size(); i++) + threads[i] = new thread(function_bind(&CPUDevice::thread_run, this, i)); + } + + ~CPUDevice() + { + tasks.stop(); + + foreach(thread *t, threads) { + t->join(); + delete t; + } + + kernel_globals_free(kg); + } + + string description() + { + return system_cpu_brand_string(); + } + + void mem_alloc(device_memory& mem, MemoryType type) + { + mem.device_pointer = mem.data_pointer; + } + + void mem_copy_to(device_memory& mem) + { + /* no-op */ + } + + void mem_copy_from(device_memory& mem, size_t offset, size_t size) + { + /* no-op */ + } + + void mem_zero(device_memory& mem) + { + memset((void*)mem.device_pointer, 0, mem.memory_size()); + } + + void mem_free(device_memory& mem) + { + mem.device_pointer = 0; + } + + void const_copy_to(const char *name, void *host, size_t size) + { + kernel_const_copy(kg, name, host, size); + } + + void tex_alloc(const char *name, device_memory& mem, bool interpolation, bool periodic) + { + kernel_tex_copy(kg, name, mem.data_pointer, mem.data_width, mem.data_height); + mem.device_pointer = mem.data_pointer; + } + + void tex_free(device_memory& mem) + { + mem.device_pointer = 0; + } + + void *osl_memory() + { +#ifdef WITH_OSL + return kernel_osl_memory(kg); +#else + return NULL; +#endif + } + + void thread_run(int t) + { + DeviceTask task; + + while(tasks.worker_wait_pop(task)) { + if(task.type == DeviceTask::PATH_TRACE) + thread_path_trace(task); + else if(task.type == DeviceTask::TONEMAP) + thread_tonemap(task); + else if(task.type == DeviceTask::DISPLACE) + thread_displace(task); + + tasks.worker_done(); + } + } + + void thread_path_trace(DeviceTask& task) + { + if(tasks.worker_cancel()) + return; + +#ifdef WITH_OSL + if(kernel_osl_use(kg)) + OSLShader::thread_init(kg); +#endif + + for(int y = task.y; y < task.y + task.h; y++) { + for(int x = task.x; x < task.x + task.w; x++) + kernel_cpu_path_trace(kg, (float4*)task.buffer, (unsigned int*)task.rng_state, task.pass, x, y); + + if(tasks.worker_cancel()) + break; + } + +#ifdef WITH_OSL + if(kernel_osl_use(kg)) + OSLShader::thread_free(kg); +#endif + } + + void thread_tonemap(DeviceTask& task) + { + for(int y = task.y; y < task.y + task.h; y++) { + for(int x = task.x; x < task.x + task.w; x++) + kernel_cpu_tonemap(kg, (uchar4*)task.rgba, (float4*)task.buffer, task.pass, task.resolution, x, y); + } + } + + void thread_displace(DeviceTask& task) + { +#ifdef WITH_OSL + if(kernel_osl_use(kg)) + OSLShader::thread_init(kg); +#endif + + for(int x = task.displace_x; x < task.displace_x + task.displace_w; x++) { + kernel_cpu_displace(kg, (uint4*)task.displace_input, (float3*)task.displace_offset, x); + + if(tasks.worker_cancel()) + break; + } + +#ifdef WITH_OSL + if(kernel_osl_use(kg)) + OSLShader::thread_free(kg); +#endif + } + + void task_add(DeviceTask& task) + { + if(task.type == DeviceTask::TONEMAP) + tasks.push(task); + else + task.split(tasks, threads.size()); + } + + void task_wait() + { + tasks.wait_done(); + } + + void task_cancel() + { + tasks.cancel(); + } +}; + +Device *device_cpu_create() +{ + return new CPUDevice(); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/device/device_cuda.cpp b/intern/cycles/device/device_cuda.cpp new file mode 100644 index 00000000000..76692ba8657 --- /dev/null +++ b/intern/cycles/device/device_cuda.cpp @@ -0,0 +1,682 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include +#include +#include + +#include "device.h" +#include "device_intern.h" + +#include "util_cuda.h" +#include "util_debug.h" +#include "util_map.h" +#include "util_opengl.h" +#include "util_path.h" +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +class CUDADevice : public Device +{ +public: + CUdevice cuDevice; + CUcontext cuContext; + CUmodule cuModule; + map tex_interp_map; + int cuDevId; + + struct PixelMem { + GLuint cuPBO; + CUgraphicsResource cuPBOresource; + GLuint cuTexId; + int w, h; + }; + + map pixel_mem_map; + + CUdeviceptr cuda_device_ptr(device_ptr mem) + { + return (CUdeviceptr)mem; + } + + const char *cuda_error_string(CUresult result) + { + switch(result) { + case CUDA_SUCCESS: return "No errors"; + case CUDA_ERROR_INVALID_VALUE: return "Invalid value"; + case CUDA_ERROR_OUT_OF_MEMORY: return "Out of memory"; + case CUDA_ERROR_NOT_INITIALIZED: return "Driver not initialized"; + case CUDA_ERROR_DEINITIALIZED: return "Driver deinitialized"; + + case CUDA_ERROR_NO_DEVICE: return "No CUDA-capable device available"; + case CUDA_ERROR_INVALID_DEVICE: return "Invalid device"; + + case CUDA_ERROR_INVALID_IMAGE: return "Invalid kernel image"; + case CUDA_ERROR_INVALID_CONTEXT: return "Invalid context"; + case CUDA_ERROR_CONTEXT_ALREADY_CURRENT: return "Context already current"; + case CUDA_ERROR_MAP_FAILED: return "Map failed"; + case CUDA_ERROR_UNMAP_FAILED: return "Unmap failed"; + case CUDA_ERROR_ARRAY_IS_MAPPED: return "Array is mapped"; + case CUDA_ERROR_ALREADY_MAPPED: return "Already mapped"; + case CUDA_ERROR_NO_BINARY_FOR_GPU: return "No binary for GPU"; + case CUDA_ERROR_ALREADY_ACQUIRED: return "Already acquired"; + case CUDA_ERROR_NOT_MAPPED: return "Not mapped"; + case CUDA_ERROR_NOT_MAPPED_AS_ARRAY: return "Mapped resource not available for access as an array"; + case CUDA_ERROR_NOT_MAPPED_AS_POINTER: return "Mapped resource not available for access as a pointer"; + case CUDA_ERROR_ECC_UNCORRECTABLE: return "Uncorrectable ECC error detected"; + case CUDA_ERROR_UNSUPPORTED_LIMIT: return "CUlimit not supported by device"; + + case CUDA_ERROR_INVALID_SOURCE: return "Invalid source"; + case CUDA_ERROR_FILE_NOT_FOUND: return "File not found"; + case CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND: return "Link to a shared object failed to resolve"; + case CUDA_ERROR_SHARED_OBJECT_INIT_FAILED: return "Shared object initialization failed"; + + case CUDA_ERROR_INVALID_HANDLE: return "Invalid handle"; + + case CUDA_ERROR_NOT_FOUND: return "Not found"; + + case CUDA_ERROR_NOT_READY: return "CUDA not ready"; + + case CUDA_ERROR_LAUNCH_FAILED: return "Launch failed"; + case CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES: return "Launch exceeded resources"; + case CUDA_ERROR_LAUNCH_TIMEOUT: return "Launch exceeded timeout"; + case CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING: return "Launch with incompatible texturing"; + + case CUDA_ERROR_UNKNOWN: return "Unknown error"; + + default: return "Unknown CUDA error value"; + } + } + + static int cuda_align_up(int& offset, int alignment) + { + return (offset + alignment - 1) & ~(alignment - 1); + } + +#ifdef NDEBUG +#define cuda_abort() +#else +#define cuda_abort() abort() +#endif + +#define cuda_assert(stmt) \ + { \ + CUresult result = stmt; \ + \ + if(result != CUDA_SUCCESS) { \ + fprintf(stderr, "CUDA error: %s in %s\n", cuda_error_string(result), #stmt); \ + cuda_abort(); \ + } \ + } + + void cuda_push_context() + { + cuda_assert(cuCtxSetCurrent(cuContext)) + } + + void cuda_pop_context() + { + cuda_assert(cuCtxSetCurrent(NULL)); + } + + CUDADevice(bool background_) + { + int major, minor; + background = background_; + + cuDevId = 0; + + /* intialize */ + cuda_assert(cuInit(0)) + + /* setup device and context */ + cuda_assert(cuDeviceGet(&cuDevice, cuDevId)) + + if(background) + cuda_assert(cuCtxCreate(&cuContext, 0, cuDevice)) + else + cuda_assert(cuGLCtxCreate(&cuContext, 0, cuDevice)) + + /* open module */ + cuDeviceComputeCapability(&major, &minor, cuDevId); + string cubin = string_printf("lib/kernel_sm_%d%d.cubin", major, minor); + cuda_assert(cuModuleLoad(&cuModule, path_get(cubin).c_str())) + + cuda_pop_context(); + } + + ~CUDADevice() + { + cuda_push_context(); + cuda_assert(cuCtxDetach(cuContext)) + } + + string description() + { + /* print device information */ + char deviceName[100]; + + cuda_push_context(); + cuDeviceGetName(deviceName, 256, cuDevId); + cuda_pop_context(); + + return string("CUDA ") + deviceName; + } + + void mem_alloc(device_memory& mem, MemoryType type) + { + cuda_push_context(); + CUdeviceptr device_pointer; + cuda_assert(cuMemAlloc(&device_pointer, mem.memory_size())) + mem.device_pointer = (device_ptr)device_pointer; + cuda_pop_context(); + } + + void mem_copy_to(device_memory& mem) + { + cuda_push_context(); + cuda_assert(cuMemcpyHtoD(cuda_device_ptr(mem.device_pointer), (void*)mem.data_pointer, mem.memory_size())) + cuda_pop_context(); + } + + void mem_copy_from(device_memory& mem, size_t offset, size_t size) + { + /* todo: offset is ignored */ + cuda_push_context(); + cuda_assert(cuMemcpyDtoH((uchar*)mem.data_pointer + offset, + (CUdeviceptr)((uchar*)mem.device_pointer + offset), size)) + cuda_pop_context(); + } + + void mem_zero(device_memory& mem) + { + memset((void*)mem.data_pointer, 0, mem.memory_size()); + + cuda_push_context(); + cuda_assert(cuMemsetD8(cuda_device_ptr(mem.device_pointer), 0, mem.memory_size())) + cuda_pop_context(); + } + + void mem_free(device_memory& mem) + { + if(mem.device_pointer) { + cuda_push_context(); + cuda_assert(cuMemFree(cuda_device_ptr(mem.device_pointer))) + cuda_pop_context(); + + mem.device_pointer = 0; + } + } + + void const_copy_to(const char *name, void *host, size_t size) + { + CUdeviceptr mem; + size_t bytes; + + cuda_push_context(); + cuda_assert(cuModuleGetGlobal(&mem, &bytes, cuModule, name)) + assert(bytes == size); + cuda_assert(cuMemcpyHtoD(mem, host, size)) + cuda_pop_context(); + } + + void tex_alloc(const char *name, device_memory& mem, bool interpolation, bool periodic) + { + /* determine format */ + CUarray_format_enum format; + size_t dsize = datatype_size(mem.data_type); + size_t size = mem.memory_size(); + + switch(mem.data_type) { + case TYPE_UCHAR: format = CU_AD_FORMAT_UNSIGNED_INT8; break; + case TYPE_UINT: format = CU_AD_FORMAT_UNSIGNED_INT32; break; + case TYPE_INT: format = CU_AD_FORMAT_SIGNED_INT32; break; + case TYPE_FLOAT: format = CU_AD_FORMAT_FLOAT; break; + default: assert(0); return; + } + + CUtexref texref; + + cuda_push_context(); + cuda_assert(cuModuleGetTexRef(&texref, cuModule, name)) + + if(interpolation) { + CUarray handle; + CUDA_ARRAY_DESCRIPTOR desc; + + desc.Width = mem.data_width; + desc.Height = mem.data_height; + desc.Format = format; + desc.NumChannels = mem.data_elements; + + cuda_assert(cuArrayCreate(&handle, &desc)) + + if(mem.data_height > 1) { + CUDA_MEMCPY2D param; + memset(¶m, 0, sizeof(param)); + param.dstMemoryType = CU_MEMORYTYPE_ARRAY; + param.dstArray = handle; + param.srcMemoryType = CU_MEMORYTYPE_HOST; + param.srcHost = (void*)mem.data_pointer; + param.srcPitch = mem.data_width*dsize*mem.data_elements; + param.WidthInBytes = param.srcPitch; + param.Height = mem.data_height; + + cuda_assert(cuMemcpy2D(¶m)) + } + else + cuda_assert(cuMemcpyHtoA(handle, 0, (void*)mem.data_pointer, size)) + + cuda_assert(cuTexRefSetArray(texref, handle, CU_TRSA_OVERRIDE_FORMAT)) + + cuda_assert(cuTexRefSetFilterMode(texref, CU_TR_FILTER_MODE_LINEAR)) + cuda_assert(cuTexRefSetFlags(texref, CU_TRSF_NORMALIZED_COORDINATES)) + + mem.device_pointer = (device_ptr)handle; + } + else { + cuda_pop_context(); + + mem_alloc(mem, MEM_READ_ONLY); + mem_copy_to(mem); + + cuda_push_context(); + + cuda_assert(cuTexRefSetAddress(NULL, texref, cuda_device_ptr(mem.device_pointer), size)) + cuda_assert(cuTexRefSetFilterMode(texref, CU_TR_FILTER_MODE_POINT)) + cuda_assert(cuTexRefSetFlags(texref, CU_TRSF_READ_AS_INTEGER)) + } + + if(periodic) { + cuda_assert(cuTexRefSetAddressMode(texref, 0, CU_TR_ADDRESS_MODE_WRAP)) + cuda_assert(cuTexRefSetAddressMode(texref, 1, CU_TR_ADDRESS_MODE_WRAP)) + } + else { + cuda_assert(cuTexRefSetAddressMode(texref, 0, CU_TR_ADDRESS_MODE_CLAMP)) + cuda_assert(cuTexRefSetAddressMode(texref, 1, CU_TR_ADDRESS_MODE_CLAMP)) + } + cuda_assert(cuTexRefSetFormat(texref, format, mem.data_elements)) + + cuda_pop_context(); + + tex_interp_map[mem.device_pointer] = interpolation; + } + + void tex_free(device_memory& mem) + { + if(mem.device_pointer) { + if(tex_interp_map[mem.device_pointer]) { + cuda_push_context(); + cuArrayDestroy((CUarray)mem.device_pointer); + cuda_pop_context(); + + tex_interp_map.erase(tex_interp_map.find(mem.device_pointer)); + mem.device_pointer = 0; + } + else { + tex_interp_map.erase(tex_interp_map.find(mem.device_pointer)); + mem_free(mem); + } + } + } + + void path_trace(DeviceTask& task) + { + cuda_push_context(); + + CUfunction cuPathTrace; + CUdeviceptr d_buffer = cuda_device_ptr(task.buffer); + CUdeviceptr d_rng_state = cuda_device_ptr(task.rng_state); + + /* get kernel function */ + cuda_assert(cuModuleGetFunction(&cuPathTrace, cuModule, "kernel_cuda_path_trace")) + + /* pass in parameters */ + int offset = 0; + + cuda_assert(cuParamSetv(cuPathTrace, offset, &d_buffer, sizeof(d_buffer))) + offset += sizeof(d_buffer); + + cuda_assert(cuParamSetv(cuPathTrace, offset, &d_rng_state, sizeof(d_rng_state))) + offset += sizeof(d_rng_state); + + offset = cuda_align_up(offset, __alignof(task.pass)); + + cuda_assert(cuParamSeti(cuPathTrace, offset, task.pass)) + offset += sizeof(task.pass); + + cuda_assert(cuParamSeti(cuPathTrace, offset, task.x)) + offset += sizeof(task.x); + + cuda_assert(cuParamSeti(cuPathTrace, offset, task.y)) + offset += sizeof(task.y); + + cuda_assert(cuParamSeti(cuPathTrace, offset, task.w)) + offset += sizeof(task.w); + + cuda_assert(cuParamSeti(cuPathTrace, offset, task.h)) + offset += sizeof(task.h); + + cuda_assert(cuParamSetSize(cuPathTrace, offset)) + + /* launch kernel: todo find optimal size, cache config for fermi */ +#ifndef __APPLE__ + int xthreads = 16; + int ythreads = 16; +#else + int xthreads = 8; + int ythreads = 8; +#endif + int xblocks = (task.w + xthreads - 1)/xthreads; + int yblocks = (task.h + ythreads - 1)/ythreads; + + cuda_assert(cuFuncSetCacheConfig(cuPathTrace, CU_FUNC_CACHE_PREFER_L1)) + cuda_assert(cuFuncSetBlockShape(cuPathTrace, xthreads, ythreads, 1)) + cuda_assert(cuLaunchGrid(cuPathTrace, xblocks, yblocks)) + + cuda_pop_context(); + } + + void tonemap(DeviceTask& task) + { + cuda_push_context(); + + CUfunction cuFilmConvert; + CUdeviceptr d_rgba = map_pixels(task.rgba); + CUdeviceptr d_buffer = cuda_device_ptr(task.buffer); + + /* get kernel function */ + cuda_assert(cuModuleGetFunction(&cuFilmConvert, cuModule, "kernel_cuda_tonemap")) + + /* pass in parameters */ + int offset = 0; + + cuda_assert(cuParamSetv(cuFilmConvert, offset, &d_rgba, sizeof(d_rgba))) + offset += sizeof(d_rgba); + + cuda_assert(cuParamSetv(cuFilmConvert, offset, &d_buffer, sizeof(d_buffer))) + offset += sizeof(d_buffer); + + offset = cuda_align_up(offset, __alignof(task.pass)); + + cuda_assert(cuParamSeti(cuFilmConvert, offset, task.pass)) + offset += sizeof(task.pass); + + cuda_assert(cuParamSeti(cuFilmConvert, offset, task.resolution)) + offset += sizeof(task.resolution); + + cuda_assert(cuParamSeti(cuFilmConvert, offset, task.x)) + offset += sizeof(task.x); + + cuda_assert(cuParamSeti(cuFilmConvert, offset, task.y)) + offset += sizeof(task.y); + + cuda_assert(cuParamSeti(cuFilmConvert, offset, task.w)) + offset += sizeof(task.w); + + cuda_assert(cuParamSeti(cuFilmConvert, offset, task.h)) + offset += sizeof(task.h); + + cuda_assert(cuParamSetSize(cuFilmConvert, offset)) + + /* launch kernel: todo find optimal size, cache config for fermi */ +#ifndef __APPLE__ + int xthreads = 16; + int ythreads = 16; +#else + int xthreads = 8; + int ythreads = 8; +#endif + int xblocks = (task.w + xthreads - 1)/xthreads; + int yblocks = (task.h + ythreads - 1)/ythreads; + + cuda_assert(cuFuncSetCacheConfig(cuFilmConvert, CU_FUNC_CACHE_PREFER_L1)) + cuda_assert(cuFuncSetBlockShape(cuFilmConvert, xthreads, ythreads, 1)) + cuda_assert(cuLaunchGrid(cuFilmConvert, xblocks, yblocks)) + + unmap_pixels(task.rgba); + + cuda_pop_context(); + } + + void displace(DeviceTask& task) + { + cuda_push_context(); + + CUfunction cuDisplace; + CUdeviceptr d_input = cuda_device_ptr(task.displace_input); + CUdeviceptr d_offset = cuda_device_ptr(task.displace_offset); + + /* get kernel function */ + cuda_assert(cuModuleGetFunction(&cuDisplace, cuModule, "kernel_cuda_displace")) + + /* pass in parameters */ + int offset = 0; + + cuda_assert(cuParamSetv(cuDisplace, offset, &d_input, sizeof(d_input))) + offset += sizeof(d_input); + + cuda_assert(cuParamSetv(cuDisplace, offset, &d_offset, sizeof(d_offset))) + offset += sizeof(d_offset); + + offset = cuda_align_up(offset, __alignof(task.displace_x)); + + cuda_assert(cuParamSeti(cuDisplace, offset, task.displace_x)) + offset += sizeof(task.displace_x); + + cuda_assert(cuParamSetSize(cuDisplace, offset)) + + /* launch kernel: todo find optimal size, cache config for fermi */ +#ifndef __APPLE__ + int xthreads = 16; +#else + int xthreads = 8; +#endif + int xblocks = (task.displace_w + xthreads - 1)/xthreads; + + cuda_assert(cuFuncSetCacheConfig(cuDisplace, CU_FUNC_CACHE_PREFER_L1)) + cuda_assert(cuFuncSetBlockShape(cuDisplace, xthreads, 1, 1)) + cuda_assert(cuLaunchGrid(cuDisplace, xblocks, 1)) + + cuda_pop_context(); + } + + CUdeviceptr map_pixels(device_ptr mem) + { + if(!background) { + PixelMem pmem = pixel_mem_map[mem]; + CUdeviceptr buffer; + + size_t bytes; + cuda_assert(cuGraphicsMapResources(1, &pmem.cuPBOresource, 0)) + cuda_assert(cuGraphicsResourceGetMappedPointer(&buffer, &bytes, pmem.cuPBOresource)) + + return buffer; + } + + return cuda_device_ptr(mem); + } + + void unmap_pixels(device_ptr mem) + { + if(!background) { + PixelMem pmem = pixel_mem_map[mem]; + + cuda_assert(cuGraphicsUnmapResources(1, &pmem.cuPBOresource, 0)) + } + } + + void pixels_alloc(device_memory& mem) + { + if(!background) { + PixelMem pmem; + + pmem.w = mem.data_width; + pmem.h = mem.data_height; + + cuda_push_context(); + + glGenBuffers(1, &pmem.cuPBO); + glBindBuffer(GL_PIXEL_UNPACK_BUFFER, pmem.cuPBO); + glBufferData(GL_PIXEL_UNPACK_BUFFER, pmem.w*pmem.h*sizeof(GLfloat)*3, NULL, GL_DYNAMIC_DRAW); + + glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0); + + glGenTextures(1, &pmem.cuTexId); + glBindTexture(GL_TEXTURE_2D, pmem.cuTexId); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, pmem.w, pmem.h, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + glBindTexture(GL_TEXTURE_2D, 0); + + cuda_assert(cuGraphicsGLRegisterBuffer(&pmem.cuPBOresource, pmem.cuPBO, CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE)) + + cuda_pop_context(); + + mem.device_pointer = pmem.cuTexId; + pixel_mem_map[mem.device_pointer] = pmem; + + return; + } + + Device::pixels_alloc(mem); + } + + void pixels_copy_from(device_memory& mem, int y, int w, int h) + { + if(!background) { + PixelMem pmem = pixel_mem_map[mem.device_pointer]; + + cuda_push_context(); + + glBindBuffer(GL_PIXEL_UNPACK_BUFFER, pmem.cuPBO); + uchar *pixels = (uchar*)glMapBuffer(GL_PIXEL_UNPACK_BUFFER, GL_READ_ONLY); + size_t offset = sizeof(uchar)*4*y*w; + memcpy((uchar*)mem.data_pointer + offset, pixels + offset, sizeof(uchar)*4*w*h); + glUnmapBuffer(GL_PIXEL_UNPACK_BUFFER); + glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0); + + cuda_pop_context(); + + return; + } + + Device::pixels_copy_from(mem, y, w, h); + } + + void pixels_free(device_memory& mem) + { + if(mem.device_pointer) { + if(!background) { + PixelMem pmem = pixel_mem_map[mem.device_pointer]; + + cuda_push_context(); + + cuda_assert(cuGraphicsUnregisterResource(pmem.cuPBOresource)) + glDeleteBuffers(1, &pmem.cuPBO); + glDeleteTextures(1, &pmem.cuTexId); + + cuda_pop_context(); + + pixel_mem_map.erase(pixel_mem_map.find(mem.device_pointer)); + mem.device_pointer = 0; + + return; + } + + Device::pixels_free(mem); + } + } + + void draw_pixels(device_memory& mem, int y, int w, int h, int width, int height) + { + if(!background) { + PixelMem pmem = pixel_mem_map[mem.device_pointer]; + + cuda_push_context(); + + glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB, pmem.cuPBO); + glBindTexture(GL_TEXTURE_2D, pmem.cuTexId); + glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, w, h, GL_RGBA, GL_UNSIGNED_BYTE, 0); + glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB, 0); + + glEnable(GL_TEXTURE_2D); + + glColor3f(1.0f, 1.0f, 1.0f); + + glPushMatrix(); + glTranslatef(0, y, 0.0f); + + glBegin(GL_QUADS); + + glTexCoord2f(0, 0); + glVertex2f(0, 0); + glTexCoord2f((float)w/(float)width, 0); + glVertex2f(width, 0); + glTexCoord2f((float)w/(float)width, (float)h/(float)height); + glVertex2f(width, height); + glTexCoord2f(0, (float)h/(float)height); + glVertex2f(0, height); + + glEnd(); + + glPopMatrix(); + + glBindTexture(GL_TEXTURE_2D, 0); + glDisable(GL_TEXTURE_2D); + + cuda_pop_context(); + + return; + } + + Device::draw_pixels(mem, y, w, h, width, height); + } + + void task_add(DeviceTask& task) + { + if(task.type == DeviceTask::TONEMAP) + tonemap(task); + else if(task.type == DeviceTask::PATH_TRACE) + path_trace(task); + else if(task.type == DeviceTask::DISPLACE) + displace(task); + } + + void task_wait() + { + cuda_push_context(); + + cuda_assert(cuCtxSynchronize()) + + cuda_pop_context(); + } + + void task_cancel() + { + } +}; + +Device *device_cuda_create(bool background) +{ + return new CUDADevice(background); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/device/device_intern.h b/intern/cycles/device/device_intern.h new file mode 100644 index 00000000000..b2875b168b4 --- /dev/null +++ b/intern/cycles/device/device_intern.h @@ -0,0 +1,35 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __DEVICE_INTERN_H__ +#define __DEVICE_INTERN_H__ + +CCL_NAMESPACE_BEGIN + +class Device; + +Device *device_cpu_create(); +Device *device_opencl_create(bool background); +Device *device_cuda_create(bool background); +Device *device_network_create(const char *address); +Device *device_multi_create(bool background); + +CCL_NAMESPACE_END + +#endif /* __DEVICE_INTERN_H__ */ + diff --git a/intern/cycles/device/device_memory.h b/intern/cycles/device/device_memory.h new file mode 100644 index 00000000000..516a6bd0739 --- /dev/null +++ b/intern/cycles/device/device_memory.h @@ -0,0 +1,244 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __DEVICE_MEMORY_H__ +#define __DEVICE_MEMORY_H__ + +/* Device Memory + * + * This file defines data types that can be used in device memory arrays, and + * a device_vector type to store such arrays. + * + * device_vector contains an STL vector, metadata about the data type, + * dimensions, elements, and a device pointer. For the CPU device this is just + * a pointer to the STL vector data, as no copying needs to take place. For + * other devices this is a pointer to device memory, where we will copy memory + * to and from. */ + +#include "util_debug.h" +#include "util_types.h" +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +/* Supported Data Types */ + +enum DataType { + TYPE_UCHAR, + TYPE_UINT, + TYPE_INT, + TYPE_FLOAT +}; + +static inline size_t datatype_size(DataType datatype) +{ + switch(datatype) { + case TYPE_UCHAR: return sizeof(uchar); + case TYPE_FLOAT: return sizeof(float); + case TYPE_UINT: return sizeof(uint); + case TYPE_INT: return sizeof(int); + default: return 0; + } +} + +/* Traits for data types */ + +template struct device_type_traits { + static const DataType data_type = TYPE_UCHAR; + static const int num_elements = 0; +}; + +template<> struct device_type_traits { + static const DataType data_type = TYPE_UCHAR; + static const int num_elements = 1; +}; + +template<> struct device_type_traits { + static const DataType data_type = TYPE_UCHAR; + static const int num_elements = 2; +}; + +template<> struct device_type_traits { + static const DataType data_type = TYPE_UCHAR; + static const int num_elements = 3; +}; + +template<> struct device_type_traits { + static const DataType data_type = TYPE_UCHAR; + static const int num_elements = 4; +}; + +template<> struct device_type_traits { + static const DataType data_type = TYPE_UINT; + static const int num_elements = 1; +}; + +template<> struct device_type_traits { + static const DataType data_type = TYPE_UINT; + static const int num_elements = 2; +}; + +template<> struct device_type_traits { + static const DataType data_type = TYPE_UINT; + static const int num_elements = 3; +}; + +template<> struct device_type_traits { + static const DataType data_type = TYPE_UINT; + static const int num_elements = 4; +}; + +template<> struct device_type_traits { + static const DataType data_type = TYPE_INT; + static const int num_elements = 1; +}; + +template<> struct device_type_traits { + static const DataType data_type = TYPE_INT; + static const int num_elements = 2; +}; + +template<> struct device_type_traits { + static const DataType data_type = TYPE_INT; + static const int num_elements = 3; +}; + +template<> struct device_type_traits { + static const DataType data_type = TYPE_INT; + static const int num_elements = 4; +}; + +template<> struct device_type_traits { + static const DataType data_type = TYPE_FLOAT; + static const int num_elements = 1; +}; + +template<> struct device_type_traits { + static const DataType data_type = TYPE_FLOAT; + static const int num_elements = 2; +}; + +template<> struct device_type_traits { + static const DataType data_type = TYPE_FLOAT; + static const int num_elements = 3; +}; + +template<> struct device_type_traits { + static const DataType data_type = TYPE_FLOAT; + static const int num_elements = 4; +}; + +/* Device Memory */ + +class device_memory +{ +public: + size_t memory_size() { return data_size*data_elements*datatype_size(data_type); } + + /* data information */ + DataType data_type; + int data_elements; + device_ptr data_pointer; + size_t data_size; + size_t data_width; + size_t data_height; + + /* device pointer */ + device_ptr device_pointer; + +protected: + device_memory() {} + virtual ~device_memory() { assert(!device_pointer); } + + /* no copying */ + device_memory(const device_memory&); + device_memory& operator = (const device_memory&); +}; + +/* Device Vector */ + +template class device_vector : public device_memory +{ +public: + device_vector() + { + data_type = device_type_traits::data_type; + data_elements = device_type_traits::num_elements; + data_pointer = 0; + data_size = 0; + data_width = 0; + data_height = 0; + + assert(data_elements > 0); + + device_pointer = 0; + } + + virtual ~device_vector() {} + + /* vector functions */ + T *resize(size_t width, size_t height = 0) + { + data_size = (height == 0)? width: width*height; + data.resize(data_size); + data_pointer = (device_ptr)&data[0]; + data_width = width; + data_height = height; + + return &data[0]; + } + + T *copy(T *ptr, size_t width, size_t height = 0) + { + T *mem = resize(width, height); + memcpy(mem, ptr, memory_size()); + return mem; + } + + void reference(T *ptr, size_t width, size_t height = 0) + { + data.clear(); + data_size = (height == 0)? width: width*height; + data_pointer = (device_ptr)ptr; + data_width = width; + data_height = height; + } + + void clear() + { + data.clear(); + data_pointer = 0; + data_width = 0; + data_height = 0; + data_size = 0; + } + + size_t size() + { + return data.size(); + } + +private: + array data; + bool referenced; +}; + +CCL_NAMESPACE_END + +#endif /* __DEVICE_MEMORY_H__ */ + diff --git a/intern/cycles/device/device_multi.cpp b/intern/cycles/device/device_multi.cpp new file mode 100644 index 00000000000..26c9717233a --- /dev/null +++ b/intern/cycles/device/device_multi.cpp @@ -0,0 +1,304 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include +#include + +#include "device.h" +#include "device_intern.h" +#include "device_network.h" + +#include "util_foreach.h" +#include "util_list.h" +#include "util_map.h" +#include "util_time.h" + +CCL_NAMESPACE_BEGIN + +class MultiDevice : public Device +{ +public: + struct SubDevice { + SubDevice(Device *device_) + : device(device_) {} + + Device *device; + map ptr_map; + }; + + list devices; + device_ptr unique_ptr; + + MultiDevice(bool background_) + : unique_ptr(1) + { + /* enforce background for now */ + background = true; + + Device *device; + + /* add CPU device */ + device = Device::create(DEVICE_CPU, background); + devices.push_back(SubDevice(device)); + +#ifdef WITH_CUDA + /* try to add GPU device */ + device = Device::create(DEVICE_CUDA, background); + if(device) { + devices.push_back(SubDevice(device)); + } + else +#endif + { +#ifdef WITH_OPENCL + device = Device::create(DEVICE_OPENCL, background); + if(device) + devices.push_back(SubDevice(device)); +#endif + } + +#ifdef WITH_NETWORK + /* try to add network devices */ + ServerDiscovery discovery(true); + time_sleep(1.0); + + list servers = discovery.get_server_list(); + + foreach(string& server, servers) { + device = device_network_create(server.c_str()); + if(device) + devices.push_back(SubDevice(device)); + } +#endif + } + + ~MultiDevice() + { + foreach(SubDevice& sub, devices) + delete sub.device; + } + + string description() + { + /* create map to find duplicate descriptions */ + map dupli_map; + map::iterator dt; + + foreach(SubDevice& sub, devices) { + string key = sub.device->description(); + + if(dupli_map.find(key) == dupli_map.end()) + dupli_map[key] = 1; + else + dupli_map[key]++; + } + + /* generate string */ + stringstream desc; + bool first = true; + + for(dt = dupli_map.begin(); dt != dupli_map.end(); dt++) { + if(!first) desc << ", "; + first = false; + + if(dt->second > 1) + desc << dt->second << "x " << dt->first; + else + desc << dt->first; + } + + return desc.str(); + } + + void mem_alloc(device_memory& mem, MemoryType type) + { + foreach(SubDevice& sub, devices) { + mem.device_pointer = 0; + sub.device->mem_alloc(mem, type); + sub.ptr_map[unique_ptr] = mem.device_pointer; + } + + mem.device_pointer = unique_ptr++; + } + + void mem_copy_to(device_memory& mem) + { + device_ptr tmp = mem.device_pointer; + + foreach(SubDevice& sub, devices) { + mem.device_pointer = sub.ptr_map[tmp]; + sub.device->mem_copy_to(mem); + } + + mem.device_pointer = tmp; + } + + void mem_copy_from(device_memory& mem, size_t offset, size_t size) + { + device_ptr tmp = mem.device_pointer; + + /* todo: how does this work? */ + foreach(SubDevice& sub, devices) { + mem.device_pointer = sub.ptr_map[tmp]; + sub.device->mem_copy_from(mem, offset, size); + break; + } + + mem.device_pointer = tmp; + } + + void mem_zero(device_memory& mem) + { + device_ptr tmp = mem.device_pointer; + + foreach(SubDevice& sub, devices) { + mem.device_pointer = sub.ptr_map[tmp]; + sub.device->mem_zero(mem); + } + + mem.device_pointer = tmp; + } + + void mem_free(device_memory& mem) + { + device_ptr tmp = mem.device_pointer; + + foreach(SubDevice& sub, devices) { + mem.device_pointer = sub.ptr_map[tmp]; + sub.device->mem_free(mem); + sub.ptr_map.erase(sub.ptr_map.find(tmp)); + } + + mem.device_pointer = 0; + } + + void const_copy_to(const char *name, void *host, size_t size) + { + foreach(SubDevice& sub, devices) + sub.device->const_copy_to(name, host, size); + } + + void tex_alloc(const char *name, device_memory& mem, bool interpolation, bool periodic) + { + foreach(SubDevice& sub, devices) { + mem.device_pointer = 0; + sub.device->tex_alloc(name, mem, interpolation, periodic); + sub.ptr_map[unique_ptr] = mem.device_pointer; + } + + mem.device_pointer = unique_ptr++; + } + + void tex_free(device_memory& mem) + { + device_ptr tmp = mem.device_pointer; + + foreach(SubDevice& sub, devices) { + mem.device_pointer = sub.ptr_map[tmp]; + sub.device->tex_free(mem); + sub.ptr_map.erase(sub.ptr_map.find(tmp)); + } + + mem.device_pointer = 0; + } + + void pixels_alloc(device_memory& mem) + { + Device::pixels_alloc(mem); + } + + void pixels_free(device_memory& mem) + { + Device::pixels_free(mem); + } + + void pixels_copy_from(device_memory& mem, int y, int w, int h) + { + device_ptr tmp = mem.device_pointer; + int i = 0, sub_h = h/devices.size(); + + foreach(SubDevice& sub, devices) { + int sy = y + i*sub_h; + int sh = (i == (int)devices.size() - 1)? h - sub_h*i: sub_h; + + mem.device_pointer = sub.ptr_map[tmp]; + sub.device->pixels_copy_from(mem, sy, w, sh); + i++; + } + + mem.device_pointer = tmp; + } + + void draw_pixels(device_memory& rgba, int x, int y, int w, int h, int width, int height) + { + device_ptr tmp = rgba.device_pointer; + int i = 0, sub_h = h/devices.size(); + + foreach(SubDevice& sub, devices) { + int sy = y + i*sub_h; + int sh = (i == (int)devices.size() - 1)? h - sub_h*i: sub_h; + /* adjust math for w/width */ + + rgba.device_pointer = sub.ptr_map[tmp]; + sub.device->draw_pixels(rgba, sy, w, sh, width, height); + i++; + } + + rgba.device_pointer = tmp; + } + + void task_add(DeviceTask& task) + { + ThreadQueue tasks; + task.split(tasks, devices.size()); + + foreach(SubDevice& sub, devices) { + DeviceTask subtask; + + if(tasks.worker_wait_pop(subtask)) { + if(task.buffer) subtask.buffer = sub.ptr_map[task.buffer]; + if(task.rng_state) subtask.rng_state = sub.ptr_map[task.rng_state]; + if(task.rgba) subtask.rgba = sub.ptr_map[task.rgba]; + if(task.displace_input) subtask.displace_input = sub.ptr_map[task.displace_input]; + if(task.displace_offset) subtask.displace_offset = sub.ptr_map[task.displace_offset]; + + sub.device->task_add(subtask); + } + } + } + + void task_wait() + { + foreach(SubDevice& sub, devices) + sub.device->task_wait(); + } + + void task_cancel() + { + foreach(SubDevice& sub, devices) + sub.device->task_cancel(); + } +}; + +Device *device_multi_create(bool background) +{ + return new MultiDevice(background); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/device/device_network.cpp b/intern/cycles/device/device_network.cpp new file mode 100644 index 00000000000..eb101cdfba4 --- /dev/null +++ b/intern/cycles/device/device_network.cpp @@ -0,0 +1,382 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "device.h" +#include "device_intern.h" +#include "device_network.h" + +#include "util_foreach.h" + +CCL_NAMESPACE_BEGIN + +class NetworkDevice : public Device +{ +public: + boost::asio::io_service io_service; + tcp::socket socket; + + NetworkDevice(const char *address) + : socket(io_service) + { + stringstream portstr; + portstr << SERVER_PORT; + + tcp::resolver resolver(io_service); + tcp::resolver::query query(address, portstr.str()); + tcp::resolver::iterator endpoint_iterator = resolver.resolve(query); + tcp::resolver::iterator end; + + boost::system::error_code error = boost::asio::error::host_not_found; + while(error && endpoint_iterator != end) + { + socket.close(); + socket.connect(*endpoint_iterator++, error); + } + if(error) + throw boost::system::system_error(error); + } + + ~NetworkDevice() + { + } + + string description() + { + RPCSend snd(socket, "description"); + snd.write(); + + RPCReceive rcv(socket); + string desc_string; + + *rcv.archive & desc_string; + + return desc_string + " (remote)"; + } + + void mem_alloc(device_memory& mem, MemoryType type) + { +#if 0 + RPCSend snd(socket, "mem_alloc"); + + snd.archive & size & type; + snd.write(); + + RPCReceive rcv(socket); + + device_ptr mem; + *rcv.archive & mem; + + return mem; +#endif + } + + void mem_copy_to(device_memory& mem) + { +#if 0 + RPCSend snd(socket, "mem_copy_to"); + + snd.archive & mem & size; + snd.write(); + snd.write_buffer(host, size); +#endif + } + + void mem_copy_from(device_memory& mem, size_t offset, size_t size) + { +#if 0 + RPCSend snd(socket, "mem_copy_from"); + + snd.archive & mem & offset & size; + snd.write(); + + RPCReceive rcv(socket); + rcv.read_buffer(host, size); +#endif + } + + void mem_zero(device_memory& mem) + { +#if 0 + RPCSend snd(socket, "mem_zero"); + + snd.archive & mem & size; + snd.write(); +#endif + } + + void mem_free(device_memory& mem) + { +#if 0 + if(mem) { + RPCSend snd(socket, "mem_free"); + + snd.archive & mem; + snd.write(); + } +#endif + } + + void const_copy_to(const char *name, void *host, size_t size) + { + RPCSend snd(socket, "const_copy_to"); + + string name_string(name); + + snd.archive & name_string & size; + snd.write(); + snd.write_buffer(host, size); + } + + void tex_alloc(const char *name, device_memory& mem, bool interpolation, bool periodic) + { +#if 0 + RPCSend snd(socket, "tex_alloc"); + + string name_string(name); + + snd.archive & name_string & width & height & datatype & components & interpolation; + snd.write(); + + size_t size = width*height*components*datatype_size(datatype); + snd.write_buffer(host, size); + + RPCReceive rcv(socket); + + device_ptr mem; + *rcv.archive & mem; + + return mem; +#endif + } + + void tex_free(device_memory& mem) + { +#if 0 + if(mem) { + RPCSend snd(socket, "tex_free"); + + snd.archive & mem; + snd.write(); + } +#endif + } + + void path_trace(int x, int y, int w, int h, device_ptr buffer, device_ptr rng_state, int pass) + { +#if 0 + RPCSend snd(socket, "path_trace"); + + snd.archive & x & y & w & h & buffer & rng_state & pass; + snd.write(); +#endif + } + + void tonemap(int x, int y, int w, int h, device_ptr rgba, device_ptr buffer, int pass, int resolution) + { +#if 0 + RPCSend snd(socket, "tonemap"); + + snd.archive & x & y & w & h & rgba & buffer & pass & resolution; + snd.write(); +#endif + } + + void task_add(DeviceTask& task) + { + if(task.type == DeviceTask::TONEMAP) + tonemap(task.x, task.y, task.w, task.h, task.rgba, task.buffer, task.pass, task.resolution); + else if(task.type == DeviceTask::PATH_TRACE) + path_trace(task.x, task.y, task.w, task.h, task.buffer, task.rng_state, task.pass); + } + + void task_wait() + { + } + + void task_cancel() + { + } +}; + +Device *device_network_create(const char *address) +{ + return new NetworkDevice(address); +} + + +void Device::server_run() +{ + try + { + /* starts thread that responds to discovery requests */ + ServerDiscovery discovery; + + for(;;) + { + + /* accept connection */ + boost::asio::io_service io_service; + tcp::acceptor acceptor(io_service, tcp::endpoint(tcp::v4(), SERVER_PORT)); + + tcp::socket socket(io_service); + acceptor.accept(socket); + + /* receive remote function calls */ + for(;;) { + RPCReceive rcv(socket); + + if(rcv.name == "description") { + string desc = description(); + + RPCSend snd(socket); + snd.archive & desc; + snd.write(); + } + else if(rcv.name == "mem_alloc") { +#if 0 + MemoryType type; + size_t size; + device_ptr mem; + + *rcv.archive & size & type; + mem = mem_alloc(size, type); + + RPCSend snd(socket); + snd.archive & mem; + snd.write(); +#endif + } + else if(rcv.name == "mem_copy_to") { +#if 0 + device_ptr mem; + size_t size; + + *rcv.archive & mem & size; + + vector host_vector(size); + rcv.read_buffer(&host_vector[0], size); + + mem_copy_to(mem, &host_vector[0], size); +#endif + } + else if(rcv.name == "mem_copy_from") { +#if 0 + device_ptr mem; + size_t offset, size; + + *rcv.archive & mem & offset & size; + + vector host_vector(size); + + mem_copy_from(&host_vector[0], mem, offset, size); + + RPCSend snd(socket); + snd.write(); + snd.write_buffer(&host_vector[0], size); +#endif + } + else if(rcv.name == "mem_zero") { +#if 0 + device_ptr mem; + size_t size; + + *rcv.archive & mem & size; + mem_zero(mem, size); +#endif + } + else if(rcv.name == "mem_free") { +#if 0 + device_ptr mem; + + *rcv.archive & mem; + mem_free(mem); +#endif + } + else if(rcv.name == "const_copy_to") { + string name_string; + size_t size; + + *rcv.archive & name_string & size; + + vector host_vector(size); + rcv.read_buffer(&host_vector[0], size); + + const_copy_to(name_string.c_str(), &host_vector[0], size); + } + else if(rcv.name == "tex_alloc") { +#if 0 + string name_string; + DataType datatype; + device_ptr mem; + size_t width, height; + int components; + bool interpolation; + + *rcv.archive & name_string & width & height & datatype & components & interpolation; + + size_t size = width*height*components*datatype_size(datatype); + + vector host_vector(size); + rcv.read_buffer(&host_vector[0], size); + + mem = tex_alloc(name_string.c_str(), &host_vector[0], width, height, datatype, components, interpolation); + + RPCSend snd(socket); + snd.archive & mem; + snd.write(); +#endif + } + else if(rcv.name == "tex_free") { +#if 0 + device_ptr mem; + + *rcv.archive & mem; + tex_free(mem); +#endif + } + else if(rcv.name == "path_trace") { +#if 0 + device_ptr buffer, rng_state; + int x, y, w, h; + int pass; + + *rcv.archive & x & y & w & h & buffer & rng_state & pass; + path_trace(x, y, w, h, buffer, rng_state, pass); +#endif + } + else if(rcv.name == "tonemap") { +#if 0 + device_ptr rgba, buffer; + int x, y, w, h; + int pass, resolution; + + *rcv.archive & x & y & w & h & rgba & buffer & pass & resolution; + tonemap(x, y, w, h, rgba, buffer, pass, resolution); +#endif + } + } + } + } + catch(exception& e) + { + cerr << "Network server exception: " << e.what() << endl; + } +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/device/device_network.h b/intern/cycles/device/device_network.h new file mode 100644 index 00000000000..ebb1e43a7a7 --- /dev/null +++ b/intern/cycles/device/device_network.h @@ -0,0 +1,304 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __DEVICE_NETWORK_H__ +#define __DEVICE_NETWORK_H__ + +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "util_foreach.h" +#include "util_list.h" +#include "util_string.h" + +CCL_NAMESPACE_BEGIN + +using std::cout; +using std::cerr; +using std::endl; +using std::hex; +using std::setw; +using std::exception; + +using boost::asio::ip::tcp; + +static const int SERVER_PORT = 5120; +static const int DISCOVER_PORT = 5121; +static const string DISCOVER_REQUEST_MSG = "REQUEST_RENDER_SERVER_IP"; +static const string DISCOVER_REPLY_MSG = "REPLY_RENDER_SERVER_IP"; + +typedef struct RPCSend { + RPCSend(tcp::socket& socket_, const string& name_ = "") + : name(name_), socket(socket_), archive(archive_stream) + { + archive & name_; + } + + void write() + { + boost::system::error_code error; + + /* get string from stream */ + string archive_str = archive_stream.str(); + + /* first send fixed size header with size of following data */ + ostringstream header_stream; + header_stream << setw(8) << hex << archive_str.size(); + string header_str = header_stream.str(); + + boost::asio::write(socket, + boost::asio::buffer(header_str), + boost::asio::transfer_all(), error); + + if(error.value()) + cout << "Network send error: " << error.message() << "\n"; + + /* then send actual data */ + boost::asio::write(socket, + boost::asio::buffer(archive_str), + boost::asio::transfer_all(), error); + + if(error.value()) + cout << "Network send error: " << error.message() << "\n"; + } + + void write_buffer(void *buffer, size_t size) + { + boost::system::error_code error; + + boost::asio::write(socket, + boost::asio::buffer(buffer, size), + boost::asio::transfer_all(), error); + + if(error.value()) + cout << "Network send error: " << error.message() << "\n"; + } + + string name; + tcp::socket& socket; + ostringstream archive_stream; + boost::archive::text_oarchive archive; +} RPCSend; + +typedef struct RPCReceive { + RPCReceive(tcp::socket& socket_) + : socket(socket_), archive_stream(NULL), archive(NULL) + { + /* read head with fixed size */ + vector header(8); + size_t len = boost::asio::read(socket, boost::asio::buffer(header)); + + /* verify if we got something */ + if(len == header.size()) { + /* decode header */ + string header_str(&header[0], header.size()); + istringstream header_stream(header_str); + + size_t data_size; + + if((header_stream >> hex >> data_size)) { + vector data(data_size); + size_t len = boost::asio::read(socket, boost::asio::buffer(data)); + + if(len == data_size) { + archive_str = string(&data[0], data.size()); + /*istringstream archive_stream(archive_str); + boost::archive::text_iarchive archive(archive_stream);*/ + archive_stream = new istringstream(archive_str); + archive = new boost::archive::text_iarchive(*archive_stream); + + *archive & name; + } + else + cout << "Network receive error: data size doens't match header\n"; + } + else + cout << "Network receive error: can't decode data size from header\n"; + } + else + cout << "Network receive error: invalid header size\n"; + } + + ~RPCReceive() + { + delete archive; + delete archive_stream; + } + + void read_buffer(void *buffer, size_t size) + { + size_t len = boost::asio::read(socket, boost::asio::buffer(buffer, size)); + + if(len != size) + cout << "Network receive error: buffer size doesn't match expected size\n"; + } + + string name; + tcp::socket& socket; + string archive_str; + istringstream *archive_stream; + boost::archive::text_iarchive *archive; +} RPCReceive; + +class ServerDiscovery { +public: + ServerDiscovery(bool discover = false) + : listen_socket(io_service), collect_servers(false) + { + /* setup listen socket */ + listen_endpoint.address(boost::asio::ip::address_v4::any()); + listen_endpoint.port(DISCOVER_PORT); + + listen_socket.open(listen_endpoint.protocol()); + + boost::asio::socket_base::reuse_address option(true); + listen_socket.set_option(option); + + listen_socket.bind(listen_endpoint); + + /* setup receive callback */ + async_receive(); + + /* start server discovery */ + if(discover) { + collect_servers = true; + servers.clear(); + + broadcast_message(DISCOVER_REQUEST_MSG); + } + + /* start thread */ + work = new boost::asio::io_service::work(io_service); + thread = new boost::thread(boost::bind(&boost::asio::io_service::run, &io_service)); + } + + ~ServerDiscovery() + { + io_service.stop(); + thread->join(); + delete thread; + delete work; + } + + list get_server_list() + { + list result; + + mutex.lock(); + result = servers; + mutex.unlock(); + + return result; + } + +private: + void handle_receive_from(const boost::system::error_code& error, size_t size) + { + if(error) { + cout << "Server discovery receive error: " << error.message() << "\n"; + return; + } + + if(size > 0) { + string msg = string(receive_buffer, size); + + /* handle incoming message */ + if(collect_servers) { + if(msg == DISCOVER_REPLY_MSG) { + string address = receive_endpoint.address().to_string(); + + mutex.lock(); + + /* add address if it's not already in the list */ + bool found = false; + + foreach(string& server, servers) + if(server == address) + found = true; + + if(!found) + servers.push_back(address); + + mutex.unlock(); + } + } + else { + /* reply to request */ + if(msg == DISCOVER_REQUEST_MSG) + broadcast_message(DISCOVER_REPLY_MSG); + } + } + + async_receive(); + } + + void async_receive() + { + listen_socket.async_receive_from( + boost::asio::buffer(receive_buffer), receive_endpoint, + boost::bind(&ServerDiscovery::handle_receive_from, this, + boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred)); + } + + void broadcast_message(const string& msg) + { + /* setup broadcast socket */ + boost::asio::ip::udp::socket socket(io_service); + + socket.open(boost::asio::ip::udp::v4()); + + boost::asio::socket_base::broadcast option(true); + socket.set_option(option); + + boost::asio::ip::udp::endpoint broadcast_endpoint( + boost::asio::ip::address::from_string("255.255.255.255"), DISCOVER_PORT); + + /* broadcast message */ + socket.send_to(boost::asio::buffer(msg), broadcast_endpoint); + } + + /* network service and socket */ + boost::asio::io_service io_service; + boost::asio::ip::udp::endpoint listen_endpoint; + boost::asio::ip::udp::socket listen_socket; + + /* threading */ + boost::thread *thread; + boost::asio::io_service::work *work; + boost::mutex mutex; + + /* buffer and endpoint for receiving messages */ + char receive_buffer[256]; + boost::asio::ip::udp::endpoint receive_endpoint; + + /* collection of server addresses in list */ + bool collect_servers; + list servers; +}; + +CCL_NAMESPACE_END + +#endif /* __DEVICE_NETWORK_H__ */ + diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp new file mode 100644 index 00000000000..6b564d10e78 --- /dev/null +++ b/intern/cycles/device/device_opencl.cpp @@ -0,0 +1,396 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifdef WITH_OPENCL + +#include +#include +#include + +#ifdef __APPLE__ +#include +#include +#else +#include +#include +#endif + +#include "device.h" +#include "device_intern.h" + +#include "util_map.h" +#include "util_opengl.h" +#include "util_path.h" +#include "util_time.h" + +CCL_NAMESPACE_BEGIN + +#define CL_MEM_PTR(p) ((cl_mem)(unsigned long)(p)) + +class OpenCLDevice : public Device +{ +public: + cl_context cxGPUContext; + cl_command_queue cqCommandQueue; + cl_platform_id cpPlatform; + cl_device_id cdDevice; + cl_program cpProgram; + cl_kernel ckPathTraceKernel; + cl_kernel ckFilmConvertKernel; + cl_int ciErr; + map*> const_mem_map; + map mem_map; + + const char *opencl_error_string(cl_int err) + { + switch (err) { + case CL_SUCCESS: return "Success!"; + case CL_DEVICE_NOT_FOUND: return "Device not found."; + case CL_DEVICE_NOT_AVAILABLE: return "Device not available"; + case CL_COMPILER_NOT_AVAILABLE: return "Compiler not available"; + case CL_MEM_OBJECT_ALLOCATION_FAILURE: return "Memory object allocation failure"; + case CL_OUT_OF_RESOURCES: return "Out of resources"; + case CL_OUT_OF_HOST_MEMORY: return "Out of host memory"; + case CL_PROFILING_INFO_NOT_AVAILABLE: return "Profiling information not available"; + case CL_MEM_COPY_OVERLAP: return "Memory copy overlap"; + case CL_IMAGE_FORMAT_MISMATCH: return "Image format mismatch"; + case CL_IMAGE_FORMAT_NOT_SUPPORTED: return "Image format not supported"; + case CL_BUILD_PROGRAM_FAILURE: return "Program build failure"; + case CL_MAP_FAILURE: return "Map failure"; + case CL_INVALID_VALUE: return "Invalid value"; + case CL_INVALID_DEVICE_TYPE: return "Invalid device type"; + case CL_INVALID_PLATFORM: return "Invalid platform"; + case CL_INVALID_DEVICE: return "Invalid device"; + case CL_INVALID_CONTEXT: return "Invalid context"; + case CL_INVALID_QUEUE_PROPERTIES: return "Invalid queue properties"; + case CL_INVALID_COMMAND_QUEUE: return "Invalid command queue"; + case CL_INVALID_HOST_PTR: return "Invalid host pointer"; + case CL_INVALID_MEM_OBJECT: return "Invalid memory object"; + case CL_INVALID_IMAGE_FORMAT_DESCRIPTOR: return "Invalid image format descriptor"; + case CL_INVALID_IMAGE_SIZE: return "Invalid image size"; + case CL_INVALID_SAMPLER: return "Invalid sampler"; + case CL_INVALID_BINARY: return "Invalid binary"; + case CL_INVALID_BUILD_OPTIONS: return "Invalid build options"; + case CL_INVALID_PROGRAM: return "Invalid program"; + case CL_INVALID_PROGRAM_EXECUTABLE: return "Invalid program executable"; + case CL_INVALID_KERNEL_NAME: return "Invalid kernel name"; + case CL_INVALID_KERNEL_DEFINITION: return "Invalid kernel definition"; + case CL_INVALID_KERNEL: return "Invalid kernel"; + case CL_INVALID_ARG_INDEX: return "Invalid argument index"; + case CL_INVALID_ARG_VALUE: return "Invalid argument value"; + case CL_INVALID_ARG_SIZE: return "Invalid argument size"; + case CL_INVALID_KERNEL_ARGS: return "Invalid kernel arguments"; + case CL_INVALID_WORK_DIMENSION: return "Invalid work dimension"; + case CL_INVALID_WORK_GROUP_SIZE: return "Invalid work group size"; + case CL_INVALID_WORK_ITEM_SIZE: return "Invalid work item size"; + case CL_INVALID_GLOBAL_OFFSET: return "Invalid global offset"; + case CL_INVALID_EVENT_WAIT_LIST: return "Invalid event wait list"; + case CL_INVALID_EVENT: return "Invalid event"; + case CL_INVALID_OPERATION: return "Invalid operation"; + case CL_INVALID_GL_OBJECT: return "Invalid OpenGL object"; + case CL_INVALID_BUFFER_SIZE: return "Invalid buffer size"; + case CL_INVALID_MIP_LEVEL: return "Invalid mip-map level"; + default: return "Unknown"; + } + } + + void opencl_assert(cl_int err) + { + if(err != CL_SUCCESS) { + printf("error (%d): %s\n", err, opencl_error_string(err)); + abort(); + } + } + + OpenCLDevice(bool background_) + { + background = background_; + + /* setup device */ + ciErr = clGetPlatformIDs(1, &cpPlatform, NULL); + opencl_assert(ciErr); + + ciErr = clGetDeviceIDs(cpPlatform, CL_DEVICE_TYPE_GPU, 1, &cdDevice, NULL); + opencl_assert(ciErr); + + cxGPUContext = clCreateContext(0, 1, &cdDevice, NULL /*clLogMessagesToStdoutAPPLE */, NULL, &ciErr); + opencl_assert(ciErr); + + cqCommandQueue = clCreateCommandQueue(cxGPUContext, cdDevice, 0, &ciErr); + opencl_assert(ciErr); + + /* compile kernel */ + string source = string_printf("#include \"kernel.cl\" // %lf\n", time_dt()); + size_t source_len = source.size(); + string build_options = "-I ../kernel -I ../util -Werror -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END="; //" + path_get("kernel") + " -Werror"; + //printf("path %s\n", path_get("kernel").c_str()); + + //clUnloadCompiler(); + + cpProgram = clCreateProgramWithSource(cxGPUContext, 1, (const char **)&source, &source_len, &ciErr); + + opencl_assert(ciErr); + + ciErr = clBuildProgram(cpProgram, 0, NULL, build_options.c_str(), NULL, NULL); + if(ciErr != CL_SUCCESS) { + char *build_log; + size_t ret_val_size; + + clGetProgramBuildInfo(cpProgram, cdDevice, CL_PROGRAM_BUILD_LOG, 0, NULL, &ret_val_size); + + build_log = new char[ret_val_size+1]; + clGetProgramBuildInfo(cpProgram, cdDevice, CL_PROGRAM_BUILD_LOG, ret_val_size, build_log, NULL); + + build_log[ret_val_size] = '\0'; + printf("OpenCL build failed:\n %s\n", build_log); + + delete[] build_log; + + opencl_assert(ciErr); + + return; + } + + ckPathTraceKernel = clCreateKernel(cpProgram, "kernel_ocl_path_trace", &ciErr); + opencl_assert(ciErr); + ckFilmConvertKernel = clCreateKernel(cpProgram, "kernel_ocl_tonemap", &ciErr); + opencl_assert(ciErr); + } + + ~OpenCLDevice() + { + map*>::iterator mt; + for(mt = const_mem_map.begin(); mt != const_mem_map.end(); mt++) { + mem_free(*(mt->second)); + delete mt->second; + } + + clReleaseKernel(ckPathTraceKernel); + clReleaseKernel(ckFilmConvertKernel); + clReleaseProgram(cpProgram); + clReleaseCommandQueue(cqCommandQueue); + clReleaseContext(cxGPUContext); + } + + string description() + { + char name[1024]; + + clGetDeviceInfo(cdDevice, CL_DEVICE_NAME, sizeof(name), &name, NULL); + + return string("OpenCL ") + name; + } + + void mem_alloc(device_memory& mem, MemoryType type) + { + size_t size = mem.memory_size(); + + if(type == MEM_READ_ONLY) + mem.device_pointer = (device_ptr)clCreateBuffer(cxGPUContext, CL_MEM_READ_ONLY, size, NULL, &ciErr); + else if(type == MEM_WRITE_ONLY) + mem.device_pointer = (device_ptr)clCreateBuffer(cxGPUContext, CL_MEM_WRITE_ONLY, size, NULL, &ciErr); + else + mem.device_pointer = (device_ptr)clCreateBuffer(cxGPUContext, CL_MEM_READ_WRITE, size, NULL, &ciErr); + + opencl_assert(ciErr); + } + + void mem_copy_to(device_memory& mem) + { + /* this is blocking */ + size_t size = mem.memory_size(); + ciErr = clEnqueueWriteBuffer(cqCommandQueue, CL_MEM_PTR(mem.device_pointer), CL_TRUE, 0, size, (void*)mem.data_pointer, 0, NULL, NULL); + opencl_assert(ciErr); + } + + void mem_copy_from(device_memory& mem, size_t offset, size_t size) + { + ciErr = clEnqueueReadBuffer(cqCommandQueue, CL_MEM_PTR(mem.device_pointer), CL_TRUE, offset, size, (uchar*)mem.data_pointer + offset, 0, NULL, NULL); + opencl_assert(ciErr); + } + + void mem_zero(device_memory& mem) + { + if(mem.device_pointer) { + memset((void*)mem.data_pointer, 0, mem.memory_size()); + mem_copy_to(mem); + } + } + + void mem_free(device_memory& mem) + { + if(mem.device_pointer) { + ciErr = clReleaseMemObject(CL_MEM_PTR(mem.device_pointer)); + mem.device_pointer = 0; + opencl_assert(ciErr); + } + } + + void const_copy_to(const char *name, void *host, size_t size) + { + if(const_mem_map.find(name) == const_mem_map.end()) { + device_vector *data = new device_vector(); + data->copy((uchar*)host, size); + + mem_alloc(*data, MEM_READ_ONLY); + const_mem_map[name] = data; + } + else { + device_vector *data = const_mem_map[name]; + data->copy((uchar*)host, size); + } + + mem_copy_to(*const_mem_map[name]); + } + + void tex_alloc(const char *name, device_memory& mem, bool interpolation, bool periodic) + { + mem_alloc(mem, MEM_READ_ONLY); + mem_map[name] = &mem; + } + + void tex_free(device_memory& mem) + { + if(mem.data_pointer) + mem_free(mem); + } + + size_t global_size_round_up(int group_size, int global_size) + { + int r = global_size % group_size; + return global_size + ((r == 0)? 0: group_size - r); + } + + void path_trace(DeviceTask& task) + { + /* cast arguments to cl types */ + cl_mem d_data = CL_MEM_PTR(const_mem_map["__data"]->device_pointer); + cl_mem d_buffer = CL_MEM_PTR(task.buffer); + cl_mem d_rng_state = CL_MEM_PTR(task.rng_state); + cl_int d_x = task.x; + cl_int d_y = task.y; + cl_int d_w = task.w; + cl_int d_h = task.h; + cl_int d_pass = task.pass; + + /* pass arguments */ + int narg = 0; + ciErr = 0; + + ciErr |= clSetKernelArg(ckPathTraceKernel, narg++, sizeof(d_data), (void*)&d_data); + ciErr |= clSetKernelArg(ckPathTraceKernel, narg++, sizeof(d_buffer), (void*)&d_buffer); + ciErr |= clSetKernelArg(ckPathTraceKernel, narg++, sizeof(d_rng_state), (void*)&d_rng_state); + ciErr |= clSetKernelArg(ckPathTraceKernel, narg++, sizeof(d_pass), (void*)&d_pass); + ciErr |= clSetKernelArg(ckPathTraceKernel, narg++, sizeof(d_x), (void*)&d_x); + ciErr |= clSetKernelArg(ckPathTraceKernel, narg++, sizeof(d_y), (void*)&d_y); + ciErr |= clSetKernelArg(ckPathTraceKernel, narg++, sizeof(d_w), (void*)&d_w); + ciErr |= clSetKernelArg(ckPathTraceKernel, narg++, sizeof(d_h), (void*)&d_h); + + opencl_assert(ciErr); + + size_t local_size[2] = {1, 1}; + size_t global_size[2] = {global_size_round_up(local_size[0], d_w), global_size_round_up(local_size[1], d_h)}; + + /* run kernel */ + ciErr = clEnqueueNDRangeKernel(cqCommandQueue, ckPathTraceKernel, 2, NULL, global_size, local_size, 0, NULL, NULL); + opencl_assert(ciErr); + opencl_assert(clFinish(cqCommandQueue)); + } + + cl_int set_kernel_arg_mem(cl_kernel kernel, int *narg, const char *name) + { + device_memory *mem = mem_map[name]; + cl_mem ptr = CL_MEM_PTR(mem->device_pointer); + cl_int size = mem->data_width; + cl_int err = 0; + + err |= clSetKernelArg(kernel, (*narg)++, sizeof(ptr), (void*)&ptr); + opencl_assert(err); + err |= clSetKernelArg(kernel, (*narg)++, sizeof(size), (void*)&size); + opencl_assert(err); + + return err; + } + + void tonemap(DeviceTask& task) + { + /* cast arguments to cl types */ + cl_mem d_data = CL_MEM_PTR(const_mem_map["__data"]->device_pointer); + cl_mem d_rgba = CL_MEM_PTR(task.rgba); + cl_mem d_buffer = CL_MEM_PTR(task.buffer); + cl_int d_x = task.x; + cl_int d_y = task.y; + cl_int d_w = task.w; + cl_int d_h = task.h; + cl_int d_pass = task.pass; + cl_int d_resolution = task.resolution; + + /* pass arguments */ + int narg = 0; + ciErr = 0; + + ciErr |= clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_data), (void*)&d_data); + ciErr |= clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_rgba), (void*)&d_rgba); + ciErr |= clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_buffer), (void*)&d_buffer); + ciErr |= set_kernel_arg_mem(ckFilmConvertKernel, &narg, "__response_curve_R"); + ciErr |= set_kernel_arg_mem(ckFilmConvertKernel, &narg, "__response_curve_G"); + ciErr |= set_kernel_arg_mem(ckFilmConvertKernel, &narg, "__response_curve_B"); + ciErr |= clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_pass), (void*)&d_pass); + ciErr |= clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_resolution), (void*)&d_resolution); + ciErr |= clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_x), (void*)&d_x); + ciErr |= clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_y), (void*)&d_y); + ciErr |= clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_w), (void*)&d_w); + ciErr |= clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_h), (void*)&d_h); + + opencl_assert(ciErr); + + size_t local_size[2] = {1, 1}; + size_t global_size[2] = {global_size_round_up(local_size[0], d_w), global_size_round_up(local_size[1], d_h)}; + + /* run kernel */ + ciErr = clEnqueueNDRangeKernel(cqCommandQueue, ckFilmConvertKernel, 2, NULL, global_size, local_size, 0, NULL, NULL); + opencl_assert(ciErr); + opencl_assert(clFinish(cqCommandQueue)); + } + + void task_add(DeviceTask& task) + { + if(task.type == DeviceTask::TONEMAP) + tonemap(task); + else if(task.type == DeviceTask::PATH_TRACE) + path_trace(task); + } + + void task_wait() + { + } + + void task_cancel() + { + } +}; + +Device *device_opencl_create(bool background) +{ + return new OpenCLDevice(background); +} + +CCL_NAMESPACE_END + +#endif /* WITH_OPENCL */ + diff --git a/intern/cycles/doc/CMakeLists.txt b/intern/cycles/doc/CMakeLists.txt new file mode 100644 index 00000000000..116ca5e5b9f --- /dev/null +++ b/intern/cycles/doc/CMakeLists.txt @@ -0,0 +1,105 @@ + +INSTALL(DIRECTORY license DESTINATION ${INSTALL_PATH}/cycles) + +SET(doc_sources + index.html + + development/build.html + development/bvh.html + development/design.html + development/device_abstraction.html + development/displacement.html + development/feature_todo.html + development/known_issues.html + development/geometric_issues.html + development/ideas.html + development/index.html + development/kernel.html + development/license.html + development/node_guidelines.html + development/optimization.html + development/osl_gpu.html + development/papers.html + development/sobol.html + development/source.html + development/subdivision.html + development/threads.html + development/units_colors.html + + reference/camera.html + reference/curve.html + reference/devices.html + reference/film.html + reference/index.html + reference/integrator.html + reference/interactive.html + reference/lamp.html + reference/mesh.html + reference/motion_blur.html + reference/particle.html + reference/subdivision.html + reference/world.html + + reference/material/displacement.html + reference/material/index.html + reference/material/surface.html + reference/material/volume.html + + reference/shader/background.html + reference/shader/bsdf.html + reference/shader/color_operations.html + reference/shader/custom.html + reference/shader/emission.html + reference/shader/image_textures.html + reference/shader/index.html + reference/shader/input.html + reference/shader/output.html + reference/shader/procedural_textures.html + reference/shader/vector_operations.html + reference/shader/volume.html + reference/shader/volume_textures.html) + +SET(doc_extra + development/images/rng_lcg_50_pass.png + development/images/rng_sobol_50_pass.png + development/threads.svg + reference/camera_ortho.svg + reference/camera_persp.svg + reference/material/material.svg + reference/shader/bsdf.svg + style/style.css) + +SET(doc_templates + templates/development.html + templates/footer.html + templates/header.html + templates/nodes.html + templates/reference.html) + +IF(WITH_DOCS) + MACRO(install_doc_file source_file html_file) + GET_FILENAME_COMPONENT(subdir ${source_file} PATH) + INSTALL( + FILES ${html_file} + DESTINATION ${INSTALL_PATH}/cycles/doc/${subdir}) + ENDMACRO() + + FOREACH(_file ${doc_sources}) + SET(source_file ${_file}) + SET(html_file ${CMAKE_CURRENT_BINARY_DIR}/${_file}) + ADD_CUSTOM_COMMAND( + OUTPUT ${html_file} + COMMAND python generate.py ${source_file} ${html_file} ${CYCLES_VERSION} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + DEPENDS ${source_file} ${doc_templates} generate.py) + LIST(APPEND html_files ${html_file}) + install_doc_file(${source_file} ${html_file}) + ENDFOREACH() + + FOREACH(_file ${doc_extra}) + install_doc_file(${_file} ${_file}) + ENDFOREACH() + + ADD_CUSTOM_TARGET(doc ALL DEPENDS ${html_files}) +ENDIF() + diff --git a/intern/cycles/doc/license/Apache_2.0.txt b/intern/cycles/doc/license/Apache_2.0.txt new file mode 100644 index 00000000000..6b0b1270ff0 --- /dev/null +++ b/intern/cycles/doc/license/Apache_2.0.txt @@ -0,0 +1,203 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/intern/cycles/doc/license/Blender.txt b/intern/cycles/doc/license/Blender.txt new file mode 100644 index 00000000000..35aa258f229 --- /dev/null +++ b/intern/cycles/doc/license/Blender.txt @@ -0,0 +1,17 @@ + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software Foundation, +Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +Contributor(s): Alfredo de Greef, Blender Foundation + diff --git a/intern/cycles/doc/license/GPL.txt b/intern/cycles/doc/license/GPL.txt new file mode 100644 index 00000000000..00e618b783e --- /dev/null +++ b/intern/cycles/doc/license/GPL.txt @@ -0,0 +1,342 @@ + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. + diff --git a/intern/cycles/doc/license/ILM.txt b/intern/cycles/doc/license/ILM.txt new file mode 100644 index 00000000000..0e24aa56203 --- /dev/null +++ b/intern/cycles/doc/license/ILM.txt @@ -0,0 +1,29 @@ + +Copyright (c) 2002, Industrial Light & Magic, a division of Lucas +Digital Ltd. LLC. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. +* Neither the name of Industrial Light & Magic nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/intern/cycles/doc/license/NVidia.txt b/intern/cycles/doc/license/NVidia.txt new file mode 100644 index 00000000000..4fa55d3d2bc --- /dev/null +++ b/intern/cycles/doc/license/NVidia.txt @@ -0,0 +1,36 @@ + +Copyright 2006, NVIDIA Corporation Ignacio Castano + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +Copyright 2009-2010 NVIDIA Corporation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + diff --git a/intern/cycles/doc/license/OSL.txt b/intern/cycles/doc/license/OSL.txt new file mode 100644 index 00000000000..1ffeb58291e --- /dev/null +++ b/intern/cycles/doc/license/OSL.txt @@ -0,0 +1,28 @@ + +Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. +All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +* Neither the name of Sony Pictures Imageworks nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/intern/cycles/doc/license/Sobol.txt b/intern/cycles/doc/license/Sobol.txt new file mode 100644 index 00000000000..4ad42d22fb1 --- /dev/null +++ b/intern/cycles/doc/license/Sobol.txt @@ -0,0 +1,29 @@ +Copyright (c) 2008, Frances Y. Kuo and Stephen Joe +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the copyright holders nor the names of the + University of New South Wales and the University of Waikato + and its contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/intern/cycles/doc/license/readme.txt b/intern/cycles/doc/license/readme.txt new file mode 100644 index 00000000000..de8c28f7f12 --- /dev/null +++ b/intern/cycles/doc/license/readme.txt @@ -0,0 +1,11 @@ + +This program uses code from various sources. These are the licenses: + +* New code is licensed under the GPL license v2 or later. +* BVH building and traversal code is licensed under Apache License v2. +* Approximate Catmull Clark subdivision code is licensed under the MIT license. +* Open Shading Language code on GPU is licensed under the Modified BSD license. +* Sobol direction vectors are licensed under the Modified BSD license. +* Matrix code adapted from OpenEXR under the Modified BSD license. +* Procedural texture functions from Blender are licensed under GPL v2 or later. + diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt new file mode 100644 index 00000000000..30b618eb1ad --- /dev/null +++ b/intern/cycles/kernel/CMakeLists.txt @@ -0,0 +1,104 @@ + +SET(sources + kernel.cpp + kernel.cl + kernel.cu) + +SET(headers + kernel.h + kernel_bvh.h + kernel_camera.h + kernel_compat_cpu.h + kernel_compat_cuda.h + kernel_compat_opencl.h + kernel_differential.h + kernel_displace.h + kernel_emission.h + kernel_film.h + kernel_globals.h + kernel_light.h + kernel_math.h + kernel_mbvh.h + kernel_montecarlo.h + kernel_object.h + kernel_path.h + kernel_qbvh.h + kernel_random.h + kernel_shader.h + kernel_triangle.h + kernel_types.h + svm/bsdf.h + svm/bsdf_ashikhmin_velvet.h + svm/bsdf_diffuse.h + svm/bsdf_microfacet.h + svm/bsdf_reflection.h + svm/bsdf_refraction.h + svm/bsdf_transparent.h + svm/bsdf_ward.h + svm/bsdf_westin.h + svm/emissive.h + svm/svm.h + svm/svm_attribute.h + svm/svm_blend.h + svm/svm_bsdf.h + svm/svm_closure.h + svm/svm_clouds.h + svm/svm_convert.h + svm/svm_displace.h + svm/svm_distorted_noise.h + svm/svm_fresnel.h + svm/svm_geometry.h + svm/svm_image.h + svm/svm_light_path.h + svm/svm_magic.h + svm/svm_mapping.h + svm/svm_marble.h + svm/svm_math.h + svm/svm_mix.h + svm/svm_musgrave.h + svm/svm_noise.h + svm/svm_noisetex.h + svm/svm_sky.h + svm/svm_stucci.h + svm/svm_tex_coord.h + svm/svm_texture.h + svm/svm_types.h + svm/svm_value.h + svm/svm_voronoi.h + svm/svm_wood.h + svm/volume.h + ) + +# CUDA module + +IF(WITH_CUDA) + SET(cuda_sources kernel.cu ${headers}) + SET(cuda_cubins) + + FOREACH(arch ${CUDA_ARCH}) + SET(cuda_cubin kernel_${arch}.cubin) + + ADD_CUSTOM_COMMAND( + OUTPUT ${cuda_cubin} + COMMAND ${CUDA_NVCC} -arch=${arch} -m64 --cubin ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cu --use_fast_math -o ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} --ptxas-options="-v" --maxrregcount=${CUDA_MAXREG} --opencc-options -OPT:Olimit=0 -I${CMAKE_CURRENT_SOURCE_DIR}/../util -I${CMAKE_CURRENT_SOURCE_DIR}/svm -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= + DEPENDS ${cuda_sources}) + + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} DESTINATION ${INSTALL_PATH}/cycles/lib) + LIST(APPEND cuda_cubins ${cuda_cubin}) + ENDFOREACH() + + ADD_CUSTOM_TARGET(kernel_cuda ALL DEPENDS ${cuda_cubins}) +ENDIF(WITH_CUDA) + +# OSL module + +IF(WITH_OSL) + ADD_SUBDIRECTORY(osl) +ENDIF(WITH_OSL) + +# CPU module + +INCLUDE_DIRECTORIES(. ../util osl svm) + +ADD_LIBRARY(kernel ${sources} ${headers}) + diff --git a/intern/cycles/kernel/kernel.cl b/intern/cycles/kernel/kernel.cl new file mode 100644 index 00000000000..a22db5fe040 --- /dev/null +++ b/intern/cycles/kernel/kernel.cl @@ -0,0 +1,105 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +/* OpenCL kernel entry points - unfinished */ + +#include "kernel_compat_opencl.h" +#include "kernel_math.h" +#include "kernel_types.h" +#include "kernel_globals.h" + +typedef struct KernelGlobals { + __constant KernelData *data; + + __global float *__response_curve_R; + int __response_curve_R_width; + + __global float *__response_curve_G; + int __response_curve_G_width; + + __global float *__response_curve_B; + int __response_curve_B_width; +} KernelGlobals; + +#include "kernel_film.h" +//#include "kernel_path.h" +//#include "kernel_displace.h" + +__kernel void kernel_ocl_path_trace(__constant KernelData *data, __global float4 *buffer, __global uint *rng_state, int pass, int sx, int sy, int sw, int sh) +{ + KernelGlobals kglobals, *kg = &kglobals; + kg->data = data; + + int x = get_global_id(0); + int y = get_global_id(1); + int w = kernel_data.cam.width; + + if(x < sx + sw && y < sy + sh) { + if(pass == 0) { + buffer[x + w*y].x = 0.5f; + buffer[x + w*y].y = 0.5f; + buffer[x + w*y].z = 0.5f; + } + else { + buffer[x + w*y].x += 0.5f; + buffer[x + w*y].y += 0.5f; + buffer[x + w*y].z += 0.5f; + } + + //= make_float3(1.0f, 0.9f, 0.0f); + //kernel_path_trace(buffer, rng_state, pass, x, y); + } +} + +__kernel void kernel_ocl_tonemap( + __constant KernelData *data, + __global uchar4 *rgba, + __global float4 *buffer, + __global float *__response_curve_R, + int __response_curve_R_width, + __global float *__response_curve_G, + int __response_curve_G_width, + __global float *__response_curve_B, + int __response_curve_B_width, + int pass, int resolution, + int sx, int sy, int sw, int sh) +{ + KernelGlobals kglobals, *kg = &kglobals; + + kg->data = data; + kg->__response_curve_R = __response_curve_R; + kg->__response_curve_R_width = __response_curve_R_width; + kg->__response_curve_G = __response_curve_G; + kg->__response_curve_G_width = __response_curve_G_width; + kg->__response_curve_B = __response_curve_B; + kg->__response_curve_B_width = __response_curve_B_width; + + int x = sx + get_global_id(0); + int y = sy + get_global_id(1); + + if(x < sx + sw && y < sy + sh) + kernel_film_tonemap(kg, rgba, buffer, pass, resolution, x, y); +} + +__kernel void kernel_ocl_displace(__global uint4 *input, __global float3 *offset, int sx) +{ + int x = sx + get_global_id(0); + + kernel_displace(input, offset, x); +} + diff --git a/intern/cycles/kernel/kernel.cpp b/intern/cycles/kernel/kernel.cpp new file mode 100644 index 00000000000..656e90eb526 --- /dev/null +++ b/intern/cycles/kernel/kernel.cpp @@ -0,0 +1,300 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +/* CPU kernel entry points */ + +#include "kernel.h" +#include "kernel_compat_cpu.h" +#include "kernel_math.h" +#include "kernel_types.h" +#include "kernel_globals.h" +#include "kernel_film.h" +#include "kernel_path.h" +#include "kernel_displace.h" + +CCL_NAMESPACE_BEGIN + +/* Globals */ + +KernelGlobals *kernel_globals_create() +{ + KernelGlobals *kg = new KernelGlobals(); +#ifdef WITH_OSL + kg->osl.use = false; +#endif + return kg; +} + +void kernel_globals_free(KernelGlobals *kg) +{ + delete kg; +} + +/* OSL */ + +#ifdef WITH_OSL + +void *kernel_osl_memory(KernelGlobals *kg) +{ + return (void*)&kg->osl; +} + +bool kernel_osl_use(KernelGlobals *kg) +{ + return kg->osl.use; +} + +#endif + +/* Memory Copy */ + +void kernel_const_copy(KernelGlobals *kg, const char *name, void *host, size_t size) +{ + if(strcmp(name, "__data") == 0) + memcpy(&kg->__data, host, size); + else + assert(0); +} + +void kernel_tex_copy(KernelGlobals *kg, const char *name, device_ptr mem, size_t width, size_t height) +{ + if(strcmp(name, "__bvh_nodes") == 0) { + kg->__bvh_nodes.data = (float4*)mem; + kg->__bvh_nodes.width = width; + } + else if(strcmp(name, "__objects") == 0) { + kg->__objects.data = (float4*)mem; + kg->__objects.width = width; + } + else if(strcmp(name, "__tri_normal") == 0) { + kg->__tri_normal.data = (float4*)mem; + kg->__tri_normal.width = width; + } + else if(strcmp(name, "__tri_woop") == 0) { + kg->__tri_woop.data = (float4*)mem; + kg->__tri_woop.width = width; + } + else if(strcmp(name, "__prim_index") == 0) { + kg->__prim_index.data = (uint*)mem; + kg->__prim_index.width = width; + } + else if(strcmp(name, "__prim_object") == 0) { + kg->__prim_object.data = (uint*)mem; + kg->__prim_object.width = width; + } + else if(strcmp(name, "__object_node") == 0) { + kg->__object_node.data = (uint*)mem; + kg->__object_node.width = width; + } + else if(strcmp(name, "__tri_vnormal") == 0) { + kg->__tri_vnormal.data = (float4*)mem; + kg->__tri_vnormal.width = width; + } + else if(strcmp(name, "__tri_vindex") == 0) { + kg->__tri_vindex.data = (float4*)mem; + kg->__tri_vindex.width = width; + } + else if(strcmp(name, "__tri_verts") == 0) { + kg->__tri_verts.data = (float4*)mem; + kg->__tri_verts.width = width; + } + else if(strcmp(name, "__light_distribution") == 0) { + kg->__light_distribution.data = (float4*)mem; + kg->__light_distribution.width = width; + } + else if(strcmp(name, "__light_point") == 0) { + kg->__light_point.data = (float4*)mem; + kg->__light_point.width = width; + } + else if(strcmp(name, "__svm_nodes") == 0) { + kg->__svm_nodes.data = (uint4*)mem; + kg->__svm_nodes.width = width; + } + else if(strcmp(name, "__filter_table") == 0) { + kg->__filter_table.data = (float*)mem; + kg->__filter_table.width = width; + } + else if(strcmp(name, "__response_curve_R") == 0) { + kg->__response_curve_R.data = (float*)mem; + kg->__response_curve_R.width = width; + } + else if(strcmp(name, "__response_curve_B") == 0) { + kg->__response_curve_B.data = (float*)mem; + kg->__response_curve_B.width = width; + } + else if(strcmp(name, "__response_curve_G") == 0) { + kg->__response_curve_G.data = (float*)mem; + kg->__response_curve_G.width = width; + } + else if(strcmp(name, "__sobol_directions") == 0) { + kg->__sobol_directions.data = (uint*)mem; + kg->__sobol_directions.width = width; + } + else if(strcmp(name, "__attributes_map") == 0) { + kg->__attributes_map.data = (uint4*)mem; + kg->__attributes_map.width = width; + } + else if(strcmp(name, "__attributes_float") == 0) { + kg->__attributes_float.data = (float*)mem; + kg->__attributes_float.width = width; + } + else if(strcmp(name, "__attributes_float3") == 0) { + kg->__attributes_float3.data = (float4*)mem; + kg->__attributes_float3.width = width; + } + else if(strstr(name, "__tex_image")) { + texture_image_uchar4 *tex = NULL; + int id = atoi(name + strlen("__tex_image_")); + + switch(id) { + case 0: tex = &kg->__tex_image_000; break; + case 1: tex = &kg->__tex_image_001; break; + case 2: tex = &kg->__tex_image_002; break; + case 3: tex = &kg->__tex_image_003; break; + case 4: tex = &kg->__tex_image_004; break; + case 5: tex = &kg->__tex_image_005; break; + case 6: tex = &kg->__tex_image_006; break; + case 7: tex = &kg->__tex_image_007; break; + case 8: tex = &kg->__tex_image_008; break; + case 9: tex = &kg->__tex_image_009; break; + case 10: tex = &kg->__tex_image_010; break; + case 11: tex = &kg->__tex_image_011; break; + case 12: tex = &kg->__tex_image_012; break; + case 13: tex = &kg->__tex_image_013; break; + case 14: tex = &kg->__tex_image_014; break; + case 15: tex = &kg->__tex_image_015; break; + case 16: tex = &kg->__tex_image_016; break; + case 17: tex = &kg->__tex_image_017; break; + case 18: tex = &kg->__tex_image_018; break; + case 19: tex = &kg->__tex_image_019; break; + case 20: tex = &kg->__tex_image_020; break; + case 21: tex = &kg->__tex_image_021; break; + case 22: tex = &kg->__tex_image_022; break; + case 23: tex = &kg->__tex_image_023; break; + case 24: tex = &kg->__tex_image_024; break; + case 25: tex = &kg->__tex_image_025; break; + case 26: tex = &kg->__tex_image_026; break; + case 27: tex = &kg->__tex_image_027; break; + case 28: tex = &kg->__tex_image_028; break; + case 29: tex = &kg->__tex_image_029; break; + case 30: tex = &kg->__tex_image_030; break; + case 31: tex = &kg->__tex_image_031; break; + case 32: tex = &kg->__tex_image_032; break; + case 33: tex = &kg->__tex_image_033; break; + case 34: tex = &kg->__tex_image_034; break; + case 35: tex = &kg->__tex_image_035; break; + case 36: tex = &kg->__tex_image_036; break; + case 37: tex = &kg->__tex_image_037; break; + case 38: tex = &kg->__tex_image_038; break; + case 39: tex = &kg->__tex_image_039; break; + case 40: tex = &kg->__tex_image_040; break; + case 41: tex = &kg->__tex_image_041; break; + case 42: tex = &kg->__tex_image_042; break; + case 43: tex = &kg->__tex_image_043; break; + case 44: tex = &kg->__tex_image_044; break; + case 45: tex = &kg->__tex_image_045; break; + case 46: tex = &kg->__tex_image_046; break; + case 47: tex = &kg->__tex_image_047; break; + case 48: tex = &kg->__tex_image_048; break; + case 49: tex = &kg->__tex_image_049; break; + case 50: tex = &kg->__tex_image_050; break; + case 51: tex = &kg->__tex_image_051; break; + case 52: tex = &kg->__tex_image_052; break; + case 53: tex = &kg->__tex_image_053; break; + case 54: tex = &kg->__tex_image_054; break; + case 55: tex = &kg->__tex_image_055; break; + case 56: tex = &kg->__tex_image_056; break; + case 57: tex = &kg->__tex_image_057; break; + case 58: tex = &kg->__tex_image_058; break; + case 59: tex = &kg->__tex_image_059; break; + case 60: tex = &kg->__tex_image_060; break; + case 61: tex = &kg->__tex_image_061; break; + case 62: tex = &kg->__tex_image_062; break; + case 63: tex = &kg->__tex_image_063; break; + case 64: tex = &kg->__tex_image_064; break; + case 65: tex = &kg->__tex_image_065; break; + case 66: tex = &kg->__tex_image_066; break; + case 67: tex = &kg->__tex_image_067; break; + case 68: tex = &kg->__tex_image_068; break; + case 69: tex = &kg->__tex_image_069; break; + case 70: tex = &kg->__tex_image_070; break; + case 71: tex = &kg->__tex_image_071; break; + case 72: tex = &kg->__tex_image_072; break; + case 73: tex = &kg->__tex_image_073; break; + case 74: tex = &kg->__tex_image_074; break; + case 75: tex = &kg->__tex_image_075; break; + case 76: tex = &kg->__tex_image_076; break; + case 77: tex = &kg->__tex_image_077; break; + case 78: tex = &kg->__tex_image_078; break; + case 79: tex = &kg->__tex_image_079; break; + case 80: tex = &kg->__tex_image_080; break; + case 81: tex = &kg->__tex_image_081; break; + case 82: tex = &kg->__tex_image_082; break; + case 83: tex = &kg->__tex_image_083; break; + case 84: tex = &kg->__tex_image_084; break; + case 85: tex = &kg->__tex_image_085; break; + case 86: tex = &kg->__tex_image_086; break; + case 87: tex = &kg->__tex_image_087; break; + case 88: tex = &kg->__tex_image_088; break; + case 89: tex = &kg->__tex_image_089; break; + case 90: tex = &kg->__tex_image_090; break; + case 91: tex = &kg->__tex_image_091; break; + case 92: tex = &kg->__tex_image_092; break; + case 93: tex = &kg->__tex_image_093; break; + case 94: tex = &kg->__tex_image_094; break; + case 95: tex = &kg->__tex_image_095; break; + case 96: tex = &kg->__tex_image_096; break; + case 97: tex = &kg->__tex_image_097; break; + case 98: tex = &kg->__tex_image_098; break; + case 99: tex = &kg->__tex_image_099; break; + default: break; + } + + if(tex) { + tex->data = (uchar4*)mem; + tex->width = width; + tex->height = height; + } + } + else + assert(0); +} + +/* Path Tracing */ + +void kernel_cpu_path_trace(KernelGlobals *kg, float4 *buffer, unsigned int *rng_state, int pass, int x, int y) +{ + kernel_path_trace(kg, buffer, rng_state, pass, x, y); +} + +/* Tonemapping */ + +void kernel_cpu_tonemap(KernelGlobals *kg, uchar4 *rgba, float4 *buffer, int pass, int resolution, int x, int y) +{ + kernel_film_tonemap(kg, rgba, buffer, pass, resolution, x, y); +} + +/* Displacement */ + +void kernel_cpu_displace(KernelGlobals *kg, uint4 *input, float3 *offset, int i) +{ + kernel_displace(kg, input, offset, i); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/kernel.cu b/intern/cycles/kernel/kernel.cu new file mode 100644 index 00000000000..5e5b445ac2c --- /dev/null +++ b/intern/cycles/kernel/kernel.cu @@ -0,0 +1,53 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +/* CUDA kernel entry points */ + +#include "kernel_compat_cuda.h" +#include "kernel_math.h" +#include "kernel_types.h" +#include "kernel_globals.h" +#include "kernel_film.h" +#include "kernel_path.h" +#include "kernel_displace.h" + +extern "C" __global__ void kernel_cuda_path_trace(float4 *buffer, uint *rng_state, int pass, int sx, int sy, int sw, int sh) +{ + int x = sx + blockDim.x*blockIdx.x + threadIdx.x; + int y = sy + blockDim.y*blockIdx.y + threadIdx.y; + + if(x < sx + sw && y < sy + sh) + kernel_path_trace(NULL, buffer, rng_state, pass, x, y); +} + +extern "C" __global__ void kernel_cuda_tonemap(uchar4 *rgba, float4 *buffer, int pass, int resolution, int sx, int sy, int sw, int sh) +{ + int x = sx + blockDim.x*blockIdx.x + threadIdx.x; + int y = sy + blockDim.y*blockIdx.y + threadIdx.y; + + if(x < sx + sw && y < sy + sh) + kernel_film_tonemap(NULL, rgba, buffer, pass, resolution, x, y); +} + +extern "C" __global__ void kernel_cuda_displace(uint4 *input, float3 *offset, int sx) +{ + int x = sx + blockDim.x*blockIdx.x + threadIdx.x; + + kernel_displace(NULL, input, offset, x); +} + diff --git a/intern/cycles/kernel/kernel.h b/intern/cycles/kernel/kernel.h new file mode 100644 index 00000000000..2bab585c6e6 --- /dev/null +++ b/intern/cycles/kernel/kernel.h @@ -0,0 +1,47 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __KERNEL_H__ +#define __KERNEL_H__ + +/* CPU Kernel Interfae */ + +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +struct KernelGlobals; + +KernelGlobals *kernel_globals_create(); +void kernel_globals_free(KernelGlobals *kg); + +void *kernel_osl_memory(KernelGlobals *kg); +bool kernel_osl_use(KernelGlobals *kg); + +void kernel_const_copy(KernelGlobals *kg, const char *name, void *host, size_t size); +void kernel_tex_copy(KernelGlobals *kg, const char *name, device_ptr mem, size_t width, size_t height); + +void kernel_cpu_path_trace(KernelGlobals *kg, float4 *buffer, unsigned int *rng_state, int pass, int x, int y); +void kernel_cpu_tonemap(KernelGlobals *kg, uchar4 *rgba, float4 *buffer, int pass, int resolution, int x, int y); + +void kernel_cpu_displace(KernelGlobals *kg, uint4 *input, float3 *offset, int i); + +CCL_NAMESPACE_END + +#endif /* __KERNEL_H__ */ + diff --git a/intern/cycles/kernel/kernel_bvh.h b/intern/cycles/kernel/kernel_bvh.h new file mode 100644 index 00000000000..4dea540e31c --- /dev/null +++ b/intern/cycles/kernel/kernel_bvh.h @@ -0,0 +1,361 @@ +/* + * Adapted from code Copyright 2009-2010 NVIDIA Corporation + * Modifications Copyright 2011, Blender Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +CCL_NAMESPACE_BEGIN + +/* + * "Persistent while-while kernel" used in: + * + * "Understanding the Efficiency of Ray Traversal on GPUs", + * Timo Aila and Samuli Laine, + * Proc. High-Performance Graphics 2009 + */ + +/* bottom-most stack entry, indicating the end of traversal */ + +#define ENTRYPOINT_SENTINEL 0x76543210 +/* 64 object BVH + 64 mesh BVH + 64 object node splitting */ +#define BVH_STACK_SIZE 192 +#define BVH_NODE_SIZE 4 +#define TRI_NODE_SIZE 3 + +__device_inline float3 bvh_inverse_direction(float3 dir) +{ + /* avoid divide by zero (ooeps = exp2f(-80.0f)) */ + float ooeps = 0.00000000000000000000000082718061255302767487140869206996285356581211090087890625f; + float3 idir; + + idir.x = 1.0f/((fabsf(dir.x) > ooeps)? dir.x: copysignf(ooeps, dir.x)); + idir.y = 1.0f/((fabsf(dir.y) > ooeps)? dir.y: copysignf(ooeps, dir.y)); + idir.z = 1.0f/((fabsf(dir.z) > ooeps)? dir.z: copysignf(ooeps, dir.z)); + + return idir; +} + +__device_inline void bvh_instance_push(KernelGlobals *kg, int object, const Ray *ray, float3 *P, float3 *idir, float *t, const float tmax) +{ + Transform tfm = object_fetch_transform(kg, object, OBJECT_INVERSE_TRANSFORM); + + *P = transform(&tfm, ray->P); + + float3 dir = transform_direction(&tfm, ray->D); + + float len; + dir = normalize_len(dir, &len); + + *idir = bvh_inverse_direction(dir); + + if(*t != FLT_MAX) + *t *= len; +} + +__device_inline void bvh_instance_pop(KernelGlobals *kg, int object, const Ray *ray, float3 *P, float3 *idir, float *t, const float tmax) +{ + Transform tfm = object_fetch_transform(kg, object, OBJECT_TRANSFORM); + + if(*t != FLT_MAX) + *t *= len(transform_direction(&tfm, 1.0f/(*idir))); + + *P = ray->P; + *idir = bvh_inverse_direction(ray->D); +} + +/* intersect two bounding boxes */ +__device_inline void bvh_node_intersect(KernelGlobals *kg, + bool *traverseChild0, bool *traverseChild1, + bool *closestChild1, int *nodeAddr0, int *nodeAddr1, + float3 P, float3 idir, float t, int nodeAddr) +{ + /* fetch node data */ + float4 n0xy = kernel_tex_fetch(__bvh_nodes, nodeAddr*BVH_NODE_SIZE+0); + float4 n1xy = kernel_tex_fetch(__bvh_nodes, nodeAddr*BVH_NODE_SIZE+1); + float4 nz = kernel_tex_fetch(__bvh_nodes, nodeAddr*BVH_NODE_SIZE+2); + float4 cnodes = kernel_tex_fetch(__bvh_nodes, nodeAddr*BVH_NODE_SIZE+3); + + /* intersect ray against child nodes */ + float3 ood = P * idir; + float c0lox = n0xy.x * idir.x - ood.x; + float c0hix = n0xy.y * idir.x - ood.x; + float c0loy = n0xy.z * idir.y - ood.y; + float c0hiy = n0xy.w * idir.y - ood.y; + float c0loz = nz.x * idir.z - ood.z; + float c0hiz = nz.y * idir.z - ood.z; + float c1loz = nz.z * idir.z - ood.z; + float c1hiz = nz.w * idir.z - ood.z; + + float c0min_x = min(c0lox, c0hix); + float c0min_y = min(c0loy, c0hiy); + float c0min_z = min(c0loz, c0hiz); + + float c0min = max4(c0min_x, c0min_y, c0min_z, 0.0f); + float c0max = min4(max(c0lox, c0hix), max(c0loy, c0hiy), max(c0loz, c0hiz), t); + float c1lox = n1xy.x * idir.x - ood.x; + float c1hix = n1xy.y * idir.x - ood.x; + float c1loy = n1xy.z * idir.y - ood.y; + float c1hiy = n1xy.w * idir.y - ood.y; + float c1min = max4(min(c1lox, c1hix), min(c1loy, c1hiy), min(c1loz, c1hiz), 0.0f); + float c1max = min4(max(c1lox, c1hix), max(c1loy, c1hiy), max(c1loz, c1hiz), t); + + /* decide which nodes to traverse next */ + *traverseChild0 = (c0max >= c0min); + *traverseChild1 = (c1max >= c1min); + + *nodeAddr0 = __float_as_int(cnodes.x); + *nodeAddr1 = __float_as_int(cnodes.y); + + *closestChild1 = (c1min < c0min); +} + +/* Sven Woop's algorithm */ +__device_inline void bvh_triangle_intersect(KernelGlobals *kg, Intersection *isect, float3 P, float3 idir, int object, int triAddr) +{ + /* compute and check intersection t-value */ + float4 v00 = kernel_tex_fetch(__tri_woop, triAddr*TRI_NODE_SIZE+0); + float4 v11 = kernel_tex_fetch(__tri_woop, triAddr*TRI_NODE_SIZE+1); + float3 dir = 1.0f/idir; + + float Oz = v00.w - P.x*v00.x - P.y*v00.y - P.z*v00.z; + float invDz = 1.0f/(dir.x*v00.x + dir.y*v00.y + dir.z*v00.z); + float t = Oz * invDz; + + if(t > 0.0f && t < isect->t) { + /* compute and check barycentric u */ + float Ox = v11.w + P.x*v11.x + P.y*v11.y + P.z*v11.z; + float Dx = dir.x*v11.x + dir.y*v11.y + dir.z*v11.z; + float u = Ox + t*Dx; + + if(u >= 0.0f) { + /* compute and check barycentric v */ + float4 v22 = kernel_tex_fetch(__tri_woop, triAddr*TRI_NODE_SIZE+2); + float Oy = v22.w + P.x*v22.x + P.y*v22.y + P.z*v22.z; + float Dy = dir.x*v22.x + dir.y*v22.y + dir.z*v22.z; + float v = Oy + t*Dy; + + if(v >= 0.0f && u + v <= 1.0f) { + /* record intersection */ + isect->prim = triAddr; + isect->object = object; + isect->u = u; + isect->v = v; + isect->t = t; + } + } + } +} + +__device_inline bool scene_intersect(KernelGlobals *kg, const Ray *ray, const bool isshadowray, Intersection *isect) +{ + /* traversal stack in CUDA thread-local memory */ + int traversalStack[BVH_STACK_SIZE]; + traversalStack[0] = ENTRYPOINT_SENTINEL; + + /* traversal variables in registers */ + int stackPtr = 0; + int nodeAddr = kernel_data.bvh.root; + + /* ray parameters in registers */ + const float tmax = ray->t; + float3 P = ray->P; + float3 idir = bvh_inverse_direction(ray->D); + int object = ~0; + + isect->t = tmax; + isect->object = ~0; + isect->prim = ~0; + isect->u = 0.0f; + isect->v = 0.0f; + + /* traversal loop */ + do { + do + { + /* traverse internal nodes */ + while(nodeAddr >= 0 && nodeAddr != ENTRYPOINT_SENTINEL) + { + bool traverseChild0, traverseChild1, closestChild1; + int nodeAddrChild1; + + bvh_node_intersect(kg, &traverseChild0, &traverseChild1, + &closestChild1, &nodeAddr, &nodeAddrChild1, + P, idir, isect->t, nodeAddr); + + if(traverseChild0 != traverseChild1) { + /* one child was intersected */ + if(traverseChild1) { + nodeAddr = nodeAddrChild1; + } + } + else { + if(!traverseChild0) { + /* neither child was intersected */ + nodeAddr = traversalStack[stackPtr]; + --stackPtr; + } + else { + /* both children were intersected, push the farther one */ + if(closestChild1) { + int tmp = nodeAddr; + nodeAddr = nodeAddrChild1; + nodeAddrChild1 = tmp; + } + + ++stackPtr; + traversalStack[stackPtr] = nodeAddrChild1; + } + } + } + + /* if node is leaf, fetch triangle list */ + if(nodeAddr < 0) { + float4 leaf = kernel_tex_fetch(__bvh_nodes, (-nodeAddr-1)*BVH_NODE_SIZE+(BVH_NODE_SIZE-1)); + int primAddr = __float_as_int(leaf.x); + +#ifdef __INSTANCING__ + if(primAddr >= 0) { +#endif + int primAddr2 = __float_as_int(leaf.y); + + /* pop */ + nodeAddr = traversalStack[stackPtr]; + --stackPtr; + + /* triangle intersection */ + while(primAddr < primAddr2) { + /* intersect ray against triangle */ + bvh_triangle_intersect(kg, isect, P, idir, object, primAddr); + + /* shadow ray early termination */ + if(isshadowray && isect->prim != ~0) + return true; + + primAddr++; + } +#ifdef __INSTANCING__ + } + else { + /* instance push */ + object = kernel_tex_fetch(__prim_object, -primAddr-1); + + bvh_instance_push(kg, object, ray, &P, &idir, &isect->t, tmax); + + ++stackPtr; + traversalStack[stackPtr] = ENTRYPOINT_SENTINEL; + + nodeAddr = kernel_tex_fetch(__object_node, object); + } +#endif + } + } while(nodeAddr != ENTRYPOINT_SENTINEL); + +#ifdef __INSTANCING__ + if(stackPtr >= 0) { + kernel_assert(object != ~0); + + /* instance pop */ + bvh_instance_pop(kg, object, ray, &P, &idir, &isect->t, tmax); + object = ~0; + nodeAddr = traversalStack[stackPtr]; + --stackPtr; + } +#endif + } while(nodeAddr != ENTRYPOINT_SENTINEL); + + return (isect->prim != ~0); +} + +__device_inline float3 ray_offset(float3 P, float3 Ng) +{ +#ifdef __INTERSECTION_REFINE__ + const float epsilon_f = 1e-5f; + const int epsilon_i = 32; + + float3 res; + + /* x component */ + if(fabsf(P.x) < epsilon_f) { + res.x = P.x + Ng.x*epsilon_f; + } + else { + uint ix = __float_as_uint(P.x); + ix += ((ix ^ __float_as_uint(Ng.x)) >> 31)? -epsilon_i: epsilon_i; + res.x = __uint_as_float(ix); + } + + /* y component */ + if(fabsf(P.y) < epsilon_f) { + res.y = P.y + Ng.y*epsilon_f; + } + else { + uint iy = __float_as_uint(P.y); + iy += ((iy ^ __float_as_uint(Ng.y)) >> 31)? -epsilon_i: epsilon_i; + res.y = __uint_as_float(iy); + } + + /* z component */ + if(fabsf(P.z) < epsilon_f) { + res.z = P.z + Ng.z*epsilon_f; + } + else { + uint iz = __float_as_uint(P.z); + iz += ((iz ^ __float_as_uint(Ng.z)) >> 31)? -epsilon_i: epsilon_i; + res.z = __uint_as_float(iz); + } + + return res; +#else + const float epsilon_f = 1e-4f; + return P + epsilon_f*Ng; +#endif +} + +__device_inline float3 bvh_triangle_refine(KernelGlobals *kg, const Intersection *isect, const Ray *ray) +{ + float3 P = ray->P; + float3 D = ray->D; + float t = isect->t; + +#ifdef __INTERSECTION_REFINE__ + if(isect->object != ~0) { + Transform tfm = object_fetch_transform(kg, isect->object, OBJECT_INVERSE_TRANSFORM); + + P = transform(&tfm, P); + D = transform_direction(&tfm, D*t); + D = normalize_len(D, &t); + } + + P = P + D*t; + + float4 v00 = kernel_tex_fetch(__tri_woop, isect->prim*TRI_NODE_SIZE+0); + float Oz = v00.w - P.x*v00.x - P.y*v00.y - P.z*v00.z; + float invDz = 1.0f/(D.x*v00.x + D.y*v00.y + D.z*v00.z); + float rt = Oz * invDz; + + P = P + D*rt; + + if(isect->object != ~0) { + Transform tfm = object_fetch_transform(kg, isect->object, OBJECT_TRANSFORM); + P = transform(&tfm, P); + } + + return P; +#else + return P + D*t; +#endif +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/kernel_camera.h b/intern/cycles/kernel/kernel_camera.h new file mode 100644 index 00000000000..1f93394e078 --- /dev/null +++ b/intern/cycles/kernel/kernel_camera.h @@ -0,0 +1,132 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Perspective Camera */ + +__device void camera_sample_perspective(KernelGlobals *kg, float raster_x, float raster_y, float lens_u, float lens_v, Ray *ray) +{ + /* create ray form raster position */ + Transform rastertocamera = kernel_data.cam.rastertocamera; + float3 Pcamera = transform(&rastertocamera, make_float3(raster_x, raster_y, 0.0f)); + + ray->P = make_float3(0.0f, 0.0f, 0.0f); + ray->D = Pcamera; + + /* modify ray for depth of field */ + float lensradius = kernel_data.cam.lensradius; + + if(lensradius > 0.0f) { + /* sample point on lens */ + float2 lensuv; + + lensuv = concentric_sample_disk(lens_u, lens_v); + lensuv *= lensradius; + + /* compute point on plane of focus */ + float ft = kernel_data.cam.focaldistance/ray->D.z; + float3 Pfocus = ray->P + ray->D*ft; + + /* update ray for effect of lens */ + ray->P = make_float3(lensuv.x, lensuv.y, 0.0f); + ray->D = normalize(Pfocus - ray->P); + } + + /* transform ray from camera to world */ + Transform cameratoworld = kernel_data.cam.cameratoworld; + + ray->P = transform(&cameratoworld, ray->P); + ray->D = transform_direction(&cameratoworld, ray->D); + ray->D = normalize(ray->D); + +#ifdef __RAY_DIFFERENTIALS__ + /* ray differential */ + float3 Ddiff = transform_direction(&cameratoworld, Pcamera); + + ray->dP.dx = make_float3(0.0f, 0.0f, 0.0f); + ray->dP.dy = make_float3(0.0f, 0.0f, 0.0f); + + ray->dD.dx = normalize(Ddiff + kernel_data.cam.dx) - normalize(Ddiff); + ray->dD.dy = normalize(Ddiff + kernel_data.cam.dy) - normalize(Ddiff); +#endif + +#ifdef __CAMERA_CLIPPING__ + /* clipping */ + ray->P += kernel_data.cam.nearclip*ray->D; + ray->t = kernel_data.cam.cliplength; +#else + ray->t = FLT_MAX; +#endif +} + +/* Orthographic Camera */ + +__device void camera_sample_orthographic(KernelGlobals *kg, float raster_x, float raster_y, Ray *ray) +{ + /* create ray form raster position */ + Transform rastertocamera = kernel_data.cam.rastertocamera; + float3 Pcamera = transform(&rastertocamera, make_float3(raster_x, raster_y, 0.0f)); + + ray->P = Pcamera; + ray->D = make_float3(0.0f, 0.0f, 1.0f); + + /* transform ray from camera to world */ + Transform cameratoworld = kernel_data.cam.cameratoworld; + + ray->P = transform(&cameratoworld, ray->P); + ray->D = transform_direction(&cameratoworld, ray->D); + ray->D = normalize(ray->D); + +#ifdef __RAY_DIFFERENTIALS__ + /* ray differential */ + ray->dP.dx = kernel_data.cam.dx; + ray->dP.dy = kernel_data.cam.dy; + + ray->dD.dx = make_float3(0.0f, 0.0f, 0.0f); + ray->dD.dy = make_float3(0.0f, 0.0f, 0.0f); +#endif + +#ifdef __CAMERA_CLIPPING__ + /* clipping */ + ray->t = kernel_data.cam.cliplength; +#else + ray->t = FLT_MAX; +#endif +} + +/* Common */ + +__device void camera_sample(KernelGlobals *kg, int x, int y, float filter_u, float filter_v, float lens_u, float lens_v, Ray *ray) +{ + /* pixel filter */ + float raster_x = x + kernel_tex_interp(__filter_table, filter_u); + float raster_y = y + kernel_tex_interp(__filter_table, filter_v); + + /* motion blur */ + //ray->time = lerp(time_t, kernel_data.cam.shutter_open, kernel_data.cam.shutter_close); + + /* sample */ + if(kernel_data.cam.ortho) + camera_sample_orthographic(kg, raster_x, raster_y, ray); + else + camera_sample_perspective(kg, raster_x, raster_y, lens_u, lens_v, ray); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/kernel_compat_cpu.h b/intern/cycles/kernel/kernel_compat_cpu.h new file mode 100644 index 00000000000..cee0710492f --- /dev/null +++ b/intern/cycles/kernel/kernel_compat_cpu.h @@ -0,0 +1,162 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __KERNEL_COMPAT_CPU_H__ +#define __KERNEL_COMPAT_CPU_H__ + +#define __KERNEL_CPU__ + +#include "util_debug.h" +#include "util_math.h" +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +/* Assertions inside the kernel only work for the CPU device, so we wrap it in + a macro which is empty for other devices */ + +#define kernel_assert(cond) assert(cond) + +/* Texture types to be compatible with CUDA textures. These are really just + simple arrays and after inlining fetch hopefully revert to being a simple + pointer lookup. */ + +template struct texture { + T fetch(int index) + { + kernel_assert(index >= 0 && index < width); + return data[index]; + } + + __m128 fetch_m128(int index) + { + kernel_assert(index >= 0 && index < width); + return ((__m128*)data)[index]; + } + + __m128i fetch_m128i(int index) + { + kernel_assert(index >= 0 && index < width); + return ((__m128i*)data)[index]; + } + + float interp(float x) + { + x = clamp(x, 0.0f, 1.0f)*width; + + int index = min((int)x, width-1); + int nindex = min(index+1, width-1); + float t = x - index; + + return (1.0f - t)*data[index] + t*data[nindex]; + } + + T *data; + int width; +}; + +template struct texture_image { + float4 read(float4 r) + { + return r; + } + + float4 read(uchar4 r) + { + float f = 1.0f/255.0f; + return make_float4(r.x*f, r.y*f, r.z*f, r.w*f); + } + + int wrap_periodic(int x, int width) + { + x %= width; + if(x < 0) + x += width; + return x; + } + + int wrap_clamp(int x, int width) + { + return clamp(x, 0, width-1); + } + + float frac(float x, int *ix) + { + int i = (int)x - ((x < 0.0f)? 1: 0); + *ix = i; + return x - (float)i; + } + + float4 interp(float x, float y, bool periodic = true) + { + if(!data) + return make_float4(0.0f, 0.0f, 0.0f, 0.0f); + + int ix, iy, nix, niy; + float tx = frac(x*width, &ix); + float ty = frac(y*height, &iy); + + if(periodic) { + ix = wrap_periodic(ix, width); + iy = wrap_periodic(iy, height); + + nix = wrap_periodic(ix+1, width); + niy = wrap_periodic(iy+1, height); + } + else { + ix = wrap_clamp(ix, width); + iy = wrap_clamp(iy, height); + + nix = wrap_clamp(ix+1, width); + niy = wrap_clamp(iy+1, height); + } + + float4 r = (1.0f - ty)*(1.0f - tx)*read(data[ix + iy*width]); + r += (1.0f - ty)*tx*read(data[nix + iy*width]); + r += ty*(1.0f - tx)*read(data[ix + niy*width]); + r += ty*tx*read(data[nix + niy*width]); + + return r; + } + + T *data; + int width, height; +}; + +typedef texture texture_float4; +typedef texture texture_float; +typedef texture texture_uint; +typedef texture texture_int; +typedef texture texture_uint4; +typedef texture_image texture_image_float4; +typedef texture_image texture_image_uchar4; + +/* Macros to handle different memory storage on different devices */ + +#define kernel_tex_fetch(tex, index) (kg->tex.fetch(index)) +#define kernel_tex_fetch_m128(tex, index) (kg->tex.fetch_m128(index)) +#define kernel_tex_fetch_m128i(tex, index) (kg->tex.fetch_m128i(index)) +#define kernel_tex_interp(tex, t) (kg->tex.interp(t)) +#define kernel_tex_image_interp(tex, x, y) (kg->tex.interp(x, y)) + +#define kernel_data (kg->__data) + +CCL_NAMESPACE_END + +#endif /* __KERNEL_COMPAT_CPU_H__ */ + diff --git a/intern/cycles/kernel/kernel_compat_cuda.h b/intern/cycles/kernel/kernel_compat_cuda.h new file mode 100644 index 00000000000..99c1df1fb1a --- /dev/null +++ b/intern/cycles/kernel/kernel_compat_cuda.h @@ -0,0 +1,65 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __KERNEL_COMPAT_CUDA_H__ +#define __KERNEL_COMPAT_CUDA_H__ + +#define __KERNEL_GPU__ +#define __KERNEL_CUDA__ + +#include +#include + +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +/* Qualifier wrappers for different names on different devices */ + +#define __device __device__ __inline__ +#define __device_inline __device__ __inline__ +#define __global +#define __shared __shared__ +#define __constant __constant__ + +/* No assert supported for CUDA */ + +#define kernel_assert(cond) + +/* Textures */ + +typedef texture texture_float4; +typedef texture texture_float; +typedef texture texture_uint; +typedef texture texture_int; +typedef texture texture_uint4; +typedef texture texture_image_float4; +typedef texture texture_image_uchar4; + +/* Macros to handle different memory storage on different devices */ + +#define kernel_tex_fetch(t, index) tex1Dfetch(t, index) +#define kernel_tex_interp(t, x) tex1D(t, x) +#define kernel_tex_image_interp(t, x, y) tex2D(t, x, y) + +#define kernel_data __data + +CCL_NAMESPACE_END + +#endif /* __KERNEL_COMPAT_CUDA_H__ */ + diff --git a/intern/cycles/kernel/kernel_compat_opencl.h b/intern/cycles/kernel/kernel_compat_opencl.h new file mode 100644 index 00000000000..16ddca5305b --- /dev/null +++ b/intern/cycles/kernel/kernel_compat_opencl.h @@ -0,0 +1,50 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __KERNEL_COMPAT_OPENCL_H__ +#define __KERNEL_COMPAT_OPENCL_H__ + +#define __KERNEL_GPU__ +#define __KERNEL_OPENCL__ + +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +#define __device +#define __device_inline + +__device float kernel_tex_interp_(__global float *data, int width, float x) +{ + x = clamp(x, 0.0f, 1.0f)*width; + + int index = min((int)x, width-1); + int nindex = min(index+1, width-1); + float t = x - index; + + return (1.0f - t)*data[index] + t*data[nindex]; +} + +#define kernel_data (*kg->data) +#define kernel_tex_interp(t, x) \ + kernel_tex_interp_(kg->t, kg->t##_width, x); + +CCL_NAMESPACE_END + +#endif /* __KERNEL_COMPAT_OPENCL_H__ */ + diff --git a/intern/cycles/kernel/kernel_differential.h b/intern/cycles/kernel/kernel_differential.h new file mode 100644 index 00000000000..4e2b1ea7d13 --- /dev/null +++ b/intern/cycles/kernel/kernel_differential.h @@ -0,0 +1,90 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* See "Tracing Ray Differentials", Homan Igehy, 1999. */ + +__device void differential_transfer(differential3 *dP_, const differential3 dP, float3 D, const differential3 dD, float3 Ng, float t) +{ + /* ray differential transfer through homogenous medium, to + * compute dPdx/dy at a shading point from the incoming ray */ + + float3 tmp = D/dot(D, Ng); + float3 tmpx = dP.dx + t*dD.dx; + float3 tmpy = dP.dy + t*dD.dy; + + dP_->dx = tmpx - dot(tmpx, Ng)*tmp; + dP_->dy = tmpy - dot(tmpy, Ng)*tmp; +} + +__device void differential_incoming(differential3 *dI, const differential3 dD) +{ + /* compute dIdx/dy at a shading point, we just need to negate the + * differential of the ray direction */ + + dI->dx = -dD.dx; + dI->dy = -dD.dy; +} + +__device void differential_dudv(differential *du, differential *dv, float3 dPdu, float3 dPdv, differential3 dP, float3 Ng) +{ + /* now we have dPdx/dy from the ray differential transfer, and dPdu/dv + * from the primitive, we can compute dudx/dy and dvdx/dy. these are + * mainly used for differentials of arbitrary mesh attributes. */ + + /* find most stable axis to project to 2D */ + float xn= fabsf(Ng.x); + float yn= fabsf(Ng.y); + float zn= fabsf(Ng.z); + + if(zn < xn || zn < yn) { + if(yn < xn || yn < zn) { + dPdu.x = dPdu.y; + dPdv.x = dPdv.y; + dP.dx.x = dP.dx.y; + dP.dy.x = dP.dy.y; + } + + dPdu.y = dPdu.z; + dPdv.y = dPdv.z; + dP.dx.y = dP.dx.z; + dP.dy.y = dP.dy.z; + } + + /* using Cramer's rule, we solve for dudx and dvdx in a 2x2 linear system, + * and the same for dudy and dvdy. the denominator is the same for both + * solutions, so we compute it only once. + * + * dP.dx = dPdu * dudx + dPdv * dvdx; + * dP.dy = dPdu * dudy + dPdv * dvdy; */ + + float det = (dPdu.x*dPdv.y - dPdv.x*dPdu.y); + + if(det != 0.0f) + det = 1.0f/det; + + du->dx = (dP.dx.x*dPdv.y - dP.dx.y*dPdv.x)*det; + dv->dx = (dP.dx.y*dPdu.x - dP.dx.x*dPdu.y)*det; + + du->dy = (dP.dy.x*dPdv.y - dP.dy.y*dPdv.x)*det; + dv->dy = (dP.dy.y*dPdu.x - dP.dy.x*dPdu.y)*det; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/kernel_displace.h b/intern/cycles/kernel/kernel_displace.h new file mode 100644 index 00000000000..ef6c3810a75 --- /dev/null +++ b/intern/cycles/kernel/kernel_displace.h @@ -0,0 +1,35 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +__device void kernel_displace(KernelGlobals *kg, uint4 *input, float3 *offset, int i) +{ + /* setup shader data */ + ShaderData sd; + uint4 in = input[i]; + shader_setup_from_displace(kg, &sd, in.x, in.y, __int_as_float(in.z), __int_as_float(in.w)); + + /* evaluate */ + float3 P = sd.P; + shader_eval_displacement(kg, &sd); + offset[i] = sd.P - P; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/kernel_emission.h b/intern/cycles/kernel/kernel_emission.h new file mode 100644 index 00000000000..6b6033e9ebd --- /dev/null +++ b/intern/cycles/kernel/kernel_emission.h @@ -0,0 +1,118 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Direction Emission */ + +__device float3 direct_emissive_eval(KernelGlobals *kg, float rando, + LightSample *ls, float u, float v, float3 I) +{ + /* setup shading at emitter */ + ShaderData sd; + + shader_setup_from_sample(kg, &sd, ls->P, ls->Ng, I, ls->shader, ls->object, ls->prim, u, v); + ls->Ng = sd.Ng; + + /* no path flag, we're evaluating this for all closures. that's weak but + we'd have to do multiple evaluations otherwise */ + shader_eval_surface(kg, &sd, rando, 0); + + float3 eval; + + /* evaluate emissive closure */ + if(sd.flag & SD_EMISSION) + eval = shader_emissive_eval(kg, &sd); + else + eval = make_float3(0.0f, 0.0f, 0.0f); + + shader_release(kg, &sd); + + return eval; +} + +__device bool direct_emission(KernelGlobals *kg, ShaderData *sd, float randt, float rando, + float randu, float randv, Ray *ray, float3 *eval) +{ + /* sample a position on a light */ + LightSample ls; + + light_sample(kg, randt, randu, randv, sd->P, &ls); + + /* compute incoming direction and distance */ + float t; + float3 omega_in = normalize_len(ls.P - sd->P, &t); + + /* compute pdf */ + float pdf = light_pdf(kg, &ls, -omega_in, t); + + /* evaluate closure */ + *eval = direct_emissive_eval(kg, rando, &ls, randu, randv, -omega_in); + + if(is_zero(*eval) || pdf == 0.0f) + return false; + + /* evaluate BSDF at shading point */ + float bsdf_pdf; + float3 bsdf_eval = shader_bsdf_eval(kg, sd, omega_in, &bsdf_pdf); + + *eval *= bsdf_eval/pdf; + + if(is_zero(*eval)) + return false; + + if(ls.prim != ~0) { + /* multiple importance sampling */ + float mis_weight = power_heuristic(pdf, bsdf_pdf); + *eval *= mis_weight; + } + else { + /* ensure point light works in Watts, this should be handled + * elsewhere but for now together with the diffuse emission + * closure it works out to the right value */ + *eval *= 0.25f; + } + + /* setup ray */ + ray->P = ray_offset(sd->P, sd->Ng); + ray->D = ray_offset(ls.P, ls.Ng) - ray->P; + ray->D = normalize_len(ray->D, &ray->t); + + return true; +} + +/* Indirect Emission */ + +__device float3 indirect_emission(KernelGlobals *kg, ShaderData *sd, float t, int path_flag, float bsdf_pdf) +{ + /* evaluate emissive closure */ + float3 L = shader_emissive_eval(kg, sd); + + if(!(path_flag & PATH_RAY_SINGULAR)) { + /* multiple importance sampling */ + float pdf = triangle_light_pdf(kg, sd->Ng, sd->I, t); + float mis_weight = power_heuristic(bsdf_pdf, pdf); + + return L*mis_weight; + } + + return L; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/kernel_film.h b/intern/cycles/kernel/kernel_film.h new file mode 100644 index 00000000000..04ea889f4c0 --- /dev/null +++ b/intern/cycles/kernel/kernel_film.h @@ -0,0 +1,68 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +__device float4 film_map(KernelGlobals *kg, float4 irradiance, int pass) +{ + float scale = kernel_data.film.exposure*(1.0f/(pass+1)); + float4 result = irradiance*scale; + + if(kernel_data.film.use_response_curve) { + /* camera response curve */ + result.x = kernel_tex_interp(__response_curve_R, result.x); + result.y = kernel_tex_interp(__response_curve_G, result.y); + result.z = kernel_tex_interp(__response_curve_B, result.z); + } + else { + /* conversion to srgb */ + result.x = color_scene_linear_to_srgb(result.x); + result.y = color_scene_linear_to_srgb(result.y); + result.z = color_scene_linear_to_srgb(result.z); + } + + return result; +} + +__device uchar4 film_float_to_byte(float4 color) +{ + uchar4 result; + + /* simple float to byte conversion */ + result.x = clamp(color.x*255.0f, 0.0f, 255.0f); + result.y = clamp(color.y*255.0f, 0.0f, 255.0f); + result.z = clamp(color.z*255.0f, 0.0f, 255.0f); + result.w = 255; + + return result; +} + +__device void kernel_film_tonemap(KernelGlobals *kg, __global uchar4 *rgba, __global float4 *buffer, int pass, int resolution, int x, int y) +{ + int w = kernel_data.cam.width; + int index = x + y*w; + float4 irradiance = buffer[index]; + + float4 float_result = film_map(kg, irradiance, pass); + uchar4 byte_result = film_float_to_byte(float_result); + + rgba[index] = byte_result; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/kernel_globals.h b/intern/cycles/kernel/kernel_globals.h new file mode 100644 index 00000000000..4c4f35bb508 --- /dev/null +++ b/intern/cycles/kernel/kernel_globals.h @@ -0,0 +1,208 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +/* Constant Globals */ + +#ifdef __KERNEL_CPU__ + +#ifdef WITH_OSL +#include "osl_globals.h" +#endif + +CCL_NAMESPACE_BEGIN + +/* On the CPU, we pass along the struct KernelGlobals to nearly everywhere in + the kernel, to access constant data. These are all stored as "textures", but + these are really just standard arrays. We can't use actually globals because + multiple renders may be running inside the same process. */ +typedef struct KernelGlobals { + +#else + +/* On the GPU, constant memory textures must be globals, so we can't put them + into a struct. As a result we don't actually use this struct and use actual + globals and simply pass along a NULL pointer everywhere, which we hope gets + optimized out. */ +#ifdef __KERNEL_CUDA__ +typedef struct KernelGlobals {} KernelGlobals; +#endif + +#endif + +/* globals */ +__constant KernelData __data; + +#ifndef __KERNEL_OPENCL__ + +/* bvh */ +texture_float4 __bvh_nodes; +texture_float4 __tri_woop; +texture_uint __prim_index; +texture_uint __prim_object; +texture_uint __object_node; + +/* objects */ +texture_float4 __objects; + +/* triangles */ +texture_float4 __tri_normal; +texture_float4 __tri_vnormal; +texture_float4 __tri_vindex; +texture_float4 __tri_verts; + +/* attributes */ +texture_uint4 __attributes_map; +texture_float __attributes_float; +texture_float4 __attributes_float3; + +/* lights */ +texture_float4 __light_distribution; +texture_float4 __light_point; + +/* shaders */ +texture_uint4 __svm_nodes; + +/* camera/film */ +texture_float __filter_table; +texture_float __response_curve_R; +texture_float __response_curve_G; +texture_float __response_curve_B; + +/* sobol */ +texture_uint __sobol_directions; + +/* image */ +texture_image_uchar4 __tex_image_000; +texture_image_uchar4 __tex_image_001; +texture_image_uchar4 __tex_image_002; +texture_image_uchar4 __tex_image_003; +texture_image_uchar4 __tex_image_004; +texture_image_uchar4 __tex_image_005; +texture_image_uchar4 __tex_image_006; +texture_image_uchar4 __tex_image_007; +texture_image_uchar4 __tex_image_008; +texture_image_uchar4 __tex_image_009; +texture_image_uchar4 __tex_image_010; +texture_image_uchar4 __tex_image_011; +texture_image_uchar4 __tex_image_012; +texture_image_uchar4 __tex_image_013; +texture_image_uchar4 __tex_image_014; +texture_image_uchar4 __tex_image_015; +texture_image_uchar4 __tex_image_016; +texture_image_uchar4 __tex_image_017; +texture_image_uchar4 __tex_image_018; +texture_image_uchar4 __tex_image_019; +texture_image_uchar4 __tex_image_020; +texture_image_uchar4 __tex_image_021; +texture_image_uchar4 __tex_image_022; +texture_image_uchar4 __tex_image_023; +texture_image_uchar4 __tex_image_024; +texture_image_uchar4 __tex_image_025; +texture_image_uchar4 __tex_image_026; +texture_image_uchar4 __tex_image_027; +texture_image_uchar4 __tex_image_028; +texture_image_uchar4 __tex_image_029; +texture_image_uchar4 __tex_image_030; +texture_image_uchar4 __tex_image_031; +texture_image_uchar4 __tex_image_032; +texture_image_uchar4 __tex_image_033; +texture_image_uchar4 __tex_image_034; +texture_image_uchar4 __tex_image_035; +texture_image_uchar4 __tex_image_036; +texture_image_uchar4 __tex_image_037; +texture_image_uchar4 __tex_image_038; +texture_image_uchar4 __tex_image_039; +texture_image_uchar4 __tex_image_040; +texture_image_uchar4 __tex_image_041; +texture_image_uchar4 __tex_image_042; +texture_image_uchar4 __tex_image_043; +texture_image_uchar4 __tex_image_044; +texture_image_uchar4 __tex_image_045; +texture_image_uchar4 __tex_image_046; +texture_image_uchar4 __tex_image_047; +texture_image_uchar4 __tex_image_048; +texture_image_uchar4 __tex_image_049; +texture_image_uchar4 __tex_image_050; +texture_image_uchar4 __tex_image_051; +texture_image_uchar4 __tex_image_052; +texture_image_uchar4 __tex_image_053; +texture_image_uchar4 __tex_image_054; +texture_image_uchar4 __tex_image_055; +texture_image_uchar4 __tex_image_056; +texture_image_uchar4 __tex_image_057; +texture_image_uchar4 __tex_image_058; +texture_image_uchar4 __tex_image_059; +texture_image_uchar4 __tex_image_060; +texture_image_uchar4 __tex_image_061; +texture_image_uchar4 __tex_image_062; +texture_image_uchar4 __tex_image_063; +texture_image_uchar4 __tex_image_064; +texture_image_uchar4 __tex_image_065; +texture_image_uchar4 __tex_image_066; +texture_image_uchar4 __tex_image_067; +texture_image_uchar4 __tex_image_068; +texture_image_uchar4 __tex_image_069; +texture_image_uchar4 __tex_image_070; +texture_image_uchar4 __tex_image_071; +texture_image_uchar4 __tex_image_072; +texture_image_uchar4 __tex_image_073; +texture_image_uchar4 __tex_image_074; +texture_image_uchar4 __tex_image_075; +texture_image_uchar4 __tex_image_076; +texture_image_uchar4 __tex_image_077; +texture_image_uchar4 __tex_image_078; +texture_image_uchar4 __tex_image_079; +texture_image_uchar4 __tex_image_080; +texture_image_uchar4 __tex_image_081; +texture_image_uchar4 __tex_image_082; +texture_image_uchar4 __tex_image_083; +texture_image_uchar4 __tex_image_084; +texture_image_uchar4 __tex_image_085; +texture_image_uchar4 __tex_image_086; +texture_image_uchar4 __tex_image_087; +texture_image_uchar4 __tex_image_088; +texture_image_uchar4 __tex_image_089; +texture_image_uchar4 __tex_image_090; +texture_image_uchar4 __tex_image_091; +texture_image_uchar4 __tex_image_092; +texture_image_uchar4 __tex_image_093; +texture_image_uchar4 __tex_image_094; +texture_image_uchar4 __tex_image_095; +texture_image_uchar4 __tex_image_096; +texture_image_uchar4 __tex_image_097; +texture_image_uchar4 __tex_image_098; +texture_image_uchar4 __tex_image_099; + +#endif + +#ifdef __KERNEL_CPU__ + +#ifdef WITH_OSL + +/* On the CPU, we also have the OSL globals here. Most data structures are shared + with SVM, the difference is in the shaders and object/mesh attributes. */ + +OSLGlobals osl; + +#endif + +} KernelGlobals; +#endif + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/kernel_light.h b/intern/cycles/kernel/kernel_light.h new file mode 100644 index 00000000000..537f7ea00f0 --- /dev/null +++ b/intern/cycles/kernel/kernel_light.h @@ -0,0 +1,145 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +struct LightSample { + float3 P; + float3 Ng; + int object; + int prim; + int shader; + float weight; +}; + +/* Point Light */ + +__device void point_light_sample(KernelGlobals *kg, int point, + float randu, float randv, float3 P, LightSample *ls) +{ + float4 f = kernel_tex_fetch(__light_point, point); + + ls->P = make_float3(f.x, f.y, f.z); + ls->Ng = normalize(ls->P - P); + ls->shader = __float_as_int(f.w); + ls->object = ~0; + ls->prim = ~0; +} + +__device float point_light_pdf(KernelGlobals *kg, float t) +{ + return t*t*kernel_data.integrator.pdf_lights; +} + +/* Triangle Light */ + +__device void triangle_light_sample(KernelGlobals *kg, int prim, int object, + float randu, float randv, LightSample *ls) +{ + /* triangle, so get position, normal, shader */ + ls->P = triangle_sample_MT(kg, prim, randu, randv); + ls->Ng = triangle_normal_MT(kg, prim, &ls->shader); + ls->object = object; + ls->prim = prim; + +#ifdef __INSTANCING__ + /* instance transform */ + if(ls->object >= 0) { + object_position_transform(kg, ls->object, &ls->P); + object_normal_transform(kg, ls->object, &ls->Ng); + } +#endif +} + +__device float triangle_light_pdf(KernelGlobals *kg, + const float3 Ng, const float3 I, float t) +{ + float cos_pi = fabsf(dot(Ng, I)); + + if(cos_pi == 0.0f) + return 0.0f; + + return (t*t*kernel_data.integrator.pdf_triangles)/cos_pi; +} + +/* Light Distribution */ + +__device int light_distribution_sample(KernelGlobals *kg, float randt) +{ + /* this is basically std::upper_bound as used by pbrt, to find a point light or + triangle to emit from, proportional to area. a good improvement would be to + also sample proportional to power, though it's not so well defined with + OSL shaders. */ + int first = 0; + int len = kernel_data.integrator.num_distribution + 1; + + while(len > 0) { + int half_len = len >> 1; + int middle = first + half_len; + + if(randt < kernel_tex_fetch(__light_distribution, middle).x) { + len = half_len; + } + else { + first = middle + 1; + len = len - half_len - 1; + } + } + + first = max(0, first-1); + kernel_assert(first >= 0 && first < kernel_data.integrator.num_distribution); + + return first; +} + +/* Generic Light */ + +__device void light_sample(KernelGlobals *kg, float randt, float randu, float randv, float3 P, LightSample *ls) +{ + /* sample index */ + int index = light_distribution_sample(kg, randt); + + /* fetch light data */ + float4 l = kernel_tex_fetch(__light_distribution, index); + int prim = __float_as_int(l.y); + ls->weight = l.z; + + if(prim >= 0) { + int object = __float_as_int(l.w); + triangle_light_sample(kg, prim, object, randu, randv, ls); + } + else { + int point = -prim-1; + point_light_sample(kg, point, randu, randv, P, ls); + } +} + +__device float light_pdf(KernelGlobals *kg, LightSample *ls, float3 I, float t) +{ + float pdf; + + if(ls->prim != ~0) + pdf = triangle_light_pdf(kg, ls->Ng, I, t); + else + pdf = point_light_pdf(kg, t); + + return pdf; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/kernel_math.h b/intern/cycles/kernel/kernel_math.h new file mode 100644 index 00000000000..165535077da --- /dev/null +++ b/intern/cycles/kernel/kernel_math.h @@ -0,0 +1,27 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __KERNEL_MATH_H__ +#define __KERNEL_MATH_H__ + +#include "util_color.h" +#include "util_math.h" +#include "util_transform.h" + +#endif /* __KERNEL_MATH_H__ */ + diff --git a/intern/cycles/kernel/kernel_mbvh.h b/intern/cycles/kernel/kernel_mbvh.h new file mode 100644 index 00000000000..3995e782abd --- /dev/null +++ b/intern/cycles/kernel/kernel_mbvh.h @@ -0,0 +1,394 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +#define MBVH_OBJECT_SENTINEL 0x76543210 +#define MBVH_NODE_SIZE 8 +#define MBVH_STACK_SIZE 1024 +#define MBVH_RAY_STACK_SIZE 10000 + +typedef struct MBVHTask { + int node; + int index; + int num; + int object; +} MBVHTask; + +typedef struct MVBHRay { + float3 P; + float u; + float3 idir; + float v; + float t; + int index; + int object; + + float3 origP; + float3 origD; + float tmax; +} MBVHRay; + +__device float3 mbvh_inverse_direction(float3 dir) +{ + // Avoid divide by zero (ooeps = exp2f(-80.0f)) + float ooeps = 0.00000000000000000000000082718061255302767487140869206996285356581211090087890625f; + float3 idir; + + idir.x = 1.0f / (fabsf(dir.x) > ooeps ? dir.x : copysignf(ooeps, dir.x)); + idir.y = 1.0f / (fabsf(dir.y) > ooeps ? dir.y : copysignf(ooeps, dir.y)); + idir.z = 1.0f / (fabsf(dir.z) > ooeps ? dir.z : copysignf(ooeps, dir.z)); + + return idir; +} + +__device void mbvh_instance_push(KernelGlobals *kg, int object, MBVHRay *ray) +{ + Transform tfm = object_fetch_transform(kg, object, OBJECT_INVERSE_TRANSFORM); + + ray->P = transform(&tfm, ray->origP); + + float3 dir = ray->origD; + + if(ray->t != ray->tmax) dir *= ray->t; + + dir = transform_direction(&tfm, dir); + ray->idir = mbvh_inverse_direction(normalize(dir)); + + if(ray->t != ray->tmax) ray->t = len(dir); +} + +__device void mbvh_instance_pop(KernelGlobals *kg, int object, MBVHRay *ray) +{ + Transform tfm = object_fetch_transform(kg, object, OBJECT_TRANSFORM); + + if(ray->t != ray->tmax) + ray->t = len(transform_direction(&tfm, (1.0f/(ray->idir)) * (ray->t))); + + ray->P = ray->origP; + ray->idir = mbvh_inverse_direction(ray->origD); +} + +/* Sven Woop's algorithm */ +__device void mbvh_triangle_intersect(KernelGlobals *kg, MBVHRay *ray, int object, int triAddr) +{ + float3 P = ray->P; + float3 idir = ray->idir; + + /* compute and check intersection t-value */ + float4 v00 = kernel_tex_fetch(__tri_woop, triAddr*MBVH_NODE_SIZE+0); + float4 v11 = kernel_tex_fetch(__tri_woop, triAddr*MBVH_NODE_SIZE+1); + float3 dir = 1.0f/idir; + + float Oz = v00.w - P.x*v00.x - P.y*v00.y - P.z*v00.z; + float invDz = 1.0f/(dir.x*v00.x + dir.y*v00.y + dir.z*v00.z); + float t = Oz * invDz; + + if(t > 0.0f && t < ray->t) { + /* compute and check barycentric u */ + float Ox = v11.w + P.x*v11.x + P.y*v11.y + P.z*v11.z; + float Dx = dir.x*v11.x + dir.y*v11.y + dir.z*v11.z; + float u = Ox + t*Dx; + + if(u >= 0.0f) { + /* compute and check barycentric v */ + float4 v22 = kernel_tex_fetch(__tri_woop, triAddr*MBVH_NODE_SIZE+2); + float Oy = v22.w + P.x*v22.x + P.y*v22.y + P.z*v22.z; + float Dy = dir.x*v22.x + dir.y*v22.y + dir.z*v22.z; + float v = Oy + t*Dy; + + if(v >= 0.0f && u + v <= 1.0f) { + /* record intersection */ + ray->index = triAddr; + ray->object = object; + ray->u = u; + ray->v = v; + ray->t = t; + } + } + } +} + +__device void mbvh_node_intersect(KernelGlobals *kg, __m128 *traverseChild, + __m128 *tHit, float3 P, float3 idir, float t, int nodeAddr) +{ + /* X axis */ + const __m128 bminx = kernel_tex_fetch_m128(__bvh_nodes, nodeAddr*MBVH_NODE_SIZE+0); + const __m128 t0x = _mm_mul_ps(_mm_sub_ps(bminx, _mm_set_ps1(P.x)), _mm_set_ps1(idir.x)); + const __m128 bmaxx = kernel_tex_fetch_m128(__bvh_nodes, nodeAddr*MBVH_NODE_SIZE+1); + const __m128 t1x = _mm_mul_ps(_mm_sub_ps(bmaxx, _mm_set_ps1(P.x)), _mm_set_ps1(idir.x)); + + __m128 tmin = _mm_max_ps(_mm_min_ps(t0x, t1x), _mm_setzero_ps()); + __m128 tmax = _mm_min_ps(_mm_max_ps(t0x, t1x), _mm_set_ps1(t)); + + /* Y axis */ + const __m128 bminy = kernel_tex_fetch_m128(__bvh_nodes, nodeAddr*MBVH_NODE_SIZE+2); + const __m128 t0y = _mm_mul_ps(_mm_sub_ps(bminy, _mm_set_ps1(P.y)), _mm_set_ps1(idir.y)); + const __m128 bmaxy = kernel_tex_fetch_m128(__bvh_nodes, nodeAddr*MBVH_NODE_SIZE+3); + const __m128 t1y = _mm_mul_ps(_mm_sub_ps(bmaxy, _mm_set_ps1(P.y)), _mm_set_ps1(idir.y)); + + tmin = _mm_max_ps(_mm_min_ps(t0y, t1y), tmin); + tmax = _mm_min_ps(_mm_max_ps(t0y, t1y), tmax); + + /* Z axis */ + const __m128 bminz = kernel_tex_fetch_m128(__bvh_nodes, nodeAddr*MBVH_NODE_SIZE+4); + const __m128 t0z = _mm_mul_ps(_mm_sub_ps(bminz, _mm_set_ps1(P.z)), _mm_set_ps1(idir.z)); + const __m128 bmaxz = kernel_tex_fetch_m128(__bvh_nodes, nodeAddr*MBVH_NODE_SIZE+5); + const __m128 t1z = _mm_mul_ps(_mm_sub_ps(bmaxz, _mm_set_ps1(P.z)), _mm_set_ps1(idir.z)); + + tmin = _mm_max_ps(_mm_min_ps(t0z, t1z), tmin); + tmax = _mm_min_ps(_mm_max_ps(t0z, t1z), tmax); + + /* compare and get mask */ + *traverseChild = _mm_cmple_ps(tmin, tmax); + + /* get distance XXX probably wrong */ + *tHit = tmin; +} + +static void mbvh_sort_by_length(int id[4], float len[4]) +{ + for(int i = 1; i < 4; i++) { + int j = i - 1; + + while(j >= 0 && len[j] > len[j+1]) { + swap(len[j], len[j+1]); + swap(id[j], id[j+1]); + j--; + } + } +} + +__device void scene_intersect(KernelGlobals *kg, MBVHRay *rays, int numrays) +{ + /* traversal stacks */ + MBVHTask task_stack[MBVH_STACK_SIZE]; + int active_ray_stacks[4][MBVH_RAY_STACK_SIZE]; + int num_task, num_active[4] = {0, 0, 0, 0}; + __m128i one_mm = _mm_set1_epi32(1); + + /* push root node task on stack */ + task_stack[0].node = kernel_data.bvh.root; + task_stack[0].index = 0; + task_stack[0].num = numrays; + task_stack[0].object = ~0; + num_task = 1; + + /* push all rays in first SIMD lane */ + for(int i = 0; i < numrays; i++) + active_ray_stacks[0][i] = i; + num_active[0] = numrays; + + while(num_task >= 1) { + /* pop task */ + MBVHTask task = task_stack[--num_task]; + + if(task.node == MBVH_OBJECT_SENTINEL) { + /* instance pop */ + + /* pop rays from stack */ + num_active[task.index] -= task.num; + int ray_offset = num_active[task.index]; + + /* transform rays */ + for(int i = 0; i < task.num; i++) { + MBVHRay *ray = &rays[active_ray_stacks[task.index][ray_offset + i]]; + mbvh_instance_pop(kg, task.object, ray); + } + } + else if(task.node >= 0) { + /* inner node? */ + + /* pop rays from stack*/ + num_active[task.index] -= task.num; + int ray_offset = num_active[task.index]; + + /* initialze simd values */ + __m128i num_active_mm = _mm_load_si128((__m128i*)num_active); + __m128 len_mm = _mm_set_ps1(0.0f); + + for(int i = 0; i < task.num; i++) { + int rayid = active_ray_stacks[task.index][ray_offset + i]; + MVBHRay *ray = rays + rayid; + + /* intersect 4 QBVH node children */ + __m128 result; + __m128 thit; + + mbvh_node_intersect(kg, &result, &thit, ray->P, ray->idir, ray->t, task.node); + + /* update length for sorting */ + len_mm = _mm_add_ps(len_mm, _mm_and_ps(thit, result)); + + /* push rays on stack */ + for(int j = 0; j < 4; j++) + active_ray_stacks[j][num_active[j]] = rayid; + + /* update num active */ + __m128i resulti = _mm_and_si128(*((__m128i*)&result), one_mm); + num_active_mm = _mm_add_epi32(resulti, num_active_mm); + _mm_store_si128((__m128i*)num_active, num_active_mm); + } + + if(num_active[0] || num_active[1] || num_active[2] || num_active[3]) { + /* load child node addresses */ + float4 cnodes = kernel_tex_fetch(__bvh_nodes, task.node); + int child[4] = { + __float_as_int(cnodes.x), + __float_as_int(cnodes.y), + __float_as_int(cnodes.z), + __float_as_int(cnodes.w)}; + + /* sort nodes by average intersection distance */ + int ids[4] = {0, 1, 2, 3}; + float len[4]; + + _mm_store_ps(len, len_mm); + mbvh_sort_by_length(ids, len); + + /* push new tasks on stack */ + for(int j = 0; j < 4; j++) { + if(num_active[j]) { + int id = ids[j]; + + task_stack[num_task].node = child[id]; + task_stack[num_task].index = id; + task_stack[num_task].num = num_active[id]; + task_stack[num_task].object = task.object; + num_task++; + } + } + } + } + else { + /* fetch leaf node data */ + float4 leaf = kernel_tex_fetch(__bvh_nodes, (-task.node-1)*MBVH_NODE_SIZE+(MBVH_NODE_SIZE-2)); + int triAddr = __float_as_int(leaf.x); + int triAddr2 = __float_as_int(leaf.y); + + /* pop rays from stack*/ + num_active[task.index] -= task.num; + int ray_offset = num_active[task.index]; + + /* triangles */ + if(triAddr >= 0) { + int i, numq = (task.num >> 2) << 2; + + /* SIMD ray leaf intersection */ + for(i = 0; i < numq; i += 4) { + MBVHRay *ray4[4] = { + &rays[active_ray_stacks[task.index][ray_offset + i + 0]], + &rays[active_ray_stacks[task.index][ray_offset + i + 1]], + &rays[active_ray_stacks[task.index][ray_offset + i + 2]], + &rays[active_ray_stacks[task.index][ray_offset + i + 3]]}; + + /* load SoA */ + + while(triAddr < triAddr2) { + mbvh_triangle_intersect(ray4[0], task.object, task.node); + mbvh_triangle_intersect(ray4[1], task.object, task.node); + mbvh_triangle_intersect(ray4[2], task.object, task.node); + mbvh_triangle_intersect(ray4[3], task.object, task.node); + triAddr++; + + /* some shadow ray optim could be done by setting t=0 */ + } + + /* store AoS */ + } + + /* mono ray leaf intersection */ + for(; i < task.num; i++) { + MBVHRay *ray = &rays[active_ray_stacks[task.index][ray_offset + i]]; + + while(triAddr < triAddr2) { + mbvh_triangle_intersect(kg, ray, task.object, task.node); + triAddr++; + } + } + } + else { + /* instance push */ + int object = -triAddr-1; + int node = triAddr; + + /* push instance pop task */ + task_stack[num_task].node = MBVH_OBJECT_SENTINEL; + task_stack[num_task].index = task.index; + task_stack[num_task].num = task.num; + task_stack[num_task].object = object; + num_task++; + + num_active[task.index] += task.num; + + /* push node task */ + task_stack[num_task].node = node; + task_stack[num_task].index = task.index; + task_stack[num_task].num = task.num; + task_stack[num_task].object = object; + num_task++; + + for(int i = 0; i < task.num; i++) { + int rayid = active_ray_stacks[task.index][ray_offset + i]; + + /* push on stack for last task */ + active_ray_stacks[task.index][num_active[task.index]] = rayid; + num_active[task.index]++; + + /* transform ray */ + MBVHRay *ray = &rays[rayid]; + mbvh_instance_push(kg, object, ray); + } + } + } + } +} + +__device void mbvh_set_ray(MBVHRay *rays, int i, Ray *ray, float tmax) +{ + MBVHRay *mray = &rays[i]; + + /* ray parameters in registers */ + mray->P = ray->P; + mray->idir = mbvh_inverse_direction(ray->D); + mray->t = tmax; +} + +__device bool mbvh_get_intersection(MVBHRay *rays, int i, Intersection *isect, float tmax) +{ + MBVHRay *mray = &rays[i]; + + if(mray->t == tmax) + return false; + + isect->t = mray->t; + isect->u = mray->u; + isect->v = mray->v; + isect->index = mray->index; + isect->object = mray->object; + + return true; +} + +__device bool mbvh_get_shadow(MBVHRay *rays, int i, float tmax) +{ + return (rays[i].t == tmax); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/kernel_montecarlo.h b/intern/cycles/kernel/kernel_montecarlo.h new file mode 100644 index 00000000000..6f3a3dd3421 --- /dev/null +++ b/intern/cycles/kernel/kernel_montecarlo.h @@ -0,0 +1,196 @@ +/* + * Parts adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef __KERNEL_MONTECARLO_CL__ +#define __KERNEL_MONTECARLO_CL__ + +CCL_NAMESPACE_BEGIN + +/// Given values x and y on [0,1], convert them in place to values on +/// [-1,1] uniformly distributed over a unit sphere. This code is +/// derived from Peter Shirley, "Realistic Ray Tracing", p. 103. +__device void to_unit_disk(float *x, float *y) +{ + float r, phi; + float a = 2.0f * (*x) - 1.0f; + float b = 2.0f * (*y) - 1.0f; + if(a > -b) { + if(a > b) { + r = a; + phi = M_PI_4_F *(b/a); + } else { + r = b; + phi = M_PI_4_F *(2.0f - a/b); + } + } else { + if(a < b) { + r = -a; + phi = M_PI_4_F *(4.0f + b/a); + } else { + r = -b; + if(b != 0.0f) + phi = M_PI_4_F *(6.0f - a/b); + else + phi = 0.0f; + } + } + *x = r * cosf(phi); + *y = r * sinf(phi); +} + +__device_inline void make_orthonormals(const float3 N, float3 *a, float3 *b) +{ + if(N.x != N.y || N.x != N.z) + *a = make_float3(N.z-N.y, N.x-N.z, N.y-N.x); //(1,1,1)x N + else + *a = make_float3(N.z-N.y, N.x+N.z, -N.y-N.x); //(-1,1,1)x N + + *a = normalize(*a); + *b = cross(N, *a); +} + +__device void make_orthonormals_tangent(const float3 N, const float3 T, float3 *a, float3 *b) +{ + *b = cross(N, T); + *a = cross(*b, N); +} + +__device_inline void sample_cos_hemisphere(const float3 N, + float randu, float randv, float3 *omega_in, float *pdf) +{ + // Default closure BSDF implementation: uniformly sample + // cosine-weighted hemisphere above the point. + to_unit_disk(&randu, &randv); + float costheta = sqrtf(max(1.0f - randu * randu - randv * randv, 0.0f)); + float3 T, B; + make_orthonormals(N, &T, &B); + *omega_in = randu * T + randv * B + costheta * N; + *pdf = costheta *M_1_PI_F; +} + +__device_inline void sample_uniform_hemisphere(const float3 N, + float randu, float randv, + float3 *omega_in, float *pdf) +{ + float z = randu; + float r = sqrtf(max(0.f, 1.f - z*z)); + float phi = 2.f * M_PI_F * randv; + float x = r * cosf(phi); + float y = r * sinf(phi); + + float3 T, B; + make_orthonormals (N, &T, &B); + *omega_in = x * T + y * B + z * N; + *pdf = 0.5f * M_1_PI_F; +} + +__device float3 sample_uniform_sphere(float u1, float u2) +{ + float z = 1.0f - 2.0f*u1; + float r = sqrtf(fmaxf(0.0f, 1.0f - z*z)); + float phi = 2.0f*M_PI_F*u2; + float x = r*cosf(phi); + float y = r*sinf(phi); + + return make_float3(x, y, z); +} + +__device float power_heuristic(float a, float b) +{ + return (a*a)/(a*a + b*b); +} + +__device float2 concentric_sample_disk(float u1, float u2) +{ + float r, theta; + // Map uniform random numbers to $[-1,1]^2$ + float sx = 2 * u1 - 1; + float sy = 2 * u2 - 1; + + // Map square to $(r,\theta)$ + + // Handle degeneracy at the origin + if(sx == 0.0f && sy == 0.0f) { + return make_float2(0.0f, 0.0f); + } + if(sx >= -sy) { + if(sx > sy) { + // Handle first region of disk + r = sx; + if(sy > 0.0f) theta = sy/r; + else theta = 8.0f + sy/r; + } + else { + // Handle second region of disk + r = sy; + theta = 2.0f - sx/r; + } + } + else { + if(sx <= sy) { + // Handle third region of disk + r = -sx; + theta = 4.0f - sy/r; + } + else { + // Handle fourth region of disk + r = -sy; + theta = 6.0f + sx/r; + } + } + + theta *= M_PI_4_F; + return make_float2(r * cosf(theta), r * sinf(theta)); +} + +/* Spherical coordinates <-> Cartesion direction */ + +__device float2 direction_to_spherical(float3 dir) +{ + float theta = acosf(dir.z); + float phi = atan2f(dir.x, dir.y); + + return make_float2(theta, phi); +} + +__device float3 spherical_to_direction(float theta, float phi) +{ + return make_float3( + sinf(theta)*cosf(phi), + sinf(theta)*sinf(phi), + cosf(theta)); +} + +CCL_NAMESPACE_END + +#endif /* __KERNEL_MONTECARLO_CL__ */ + diff --git a/intern/cycles/kernel/kernel_object.h b/intern/cycles/kernel/kernel_object.h new file mode 100644 index 00000000000..b4c42d3bacc --- /dev/null +++ b/intern/cycles/kernel/kernel_object.h @@ -0,0 +1,68 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +enum ObjectTransform { + OBJECT_TRANSFORM = 0, + OBJECT_INVERSE_TRANSFORM = 4, + OBJECT_NORMAL_TRANSFORM = 8, + OBJECT_PROPERTIES = 12 +}; + +__device_inline Transform object_fetch_transform(KernelGlobals *kg, int object, enum ObjectTransform type) +{ + Transform tfm; + + int offset = object*OBJECT_SIZE + (int)type; + + tfm.x = kernel_tex_fetch(__objects, offset + 0); + tfm.y = kernel_tex_fetch(__objects, offset + 1); + tfm.z = kernel_tex_fetch(__objects, offset + 2); + tfm.w = kernel_tex_fetch(__objects, offset + 3); + + return tfm; +} + +__device_inline void object_position_transform(KernelGlobals *kg, int object, float3 *P) +{ + Transform tfm = object_fetch_transform(kg, object, OBJECT_TRANSFORM); + *P = transform(&tfm, *P); +} + +__device_inline void object_normal_transform(KernelGlobals *kg, int object, float3 *N) +{ + Transform tfm = object_fetch_transform(kg, object, OBJECT_NORMAL_TRANSFORM); + *N = normalize(transform_direction(&tfm, *N)); +} + +__device_inline void object_dir_transform(KernelGlobals *kg, int object, float3 *D) +{ + Transform tfm = object_fetch_transform(kg, object, OBJECT_TRANSFORM); + *D = transform_direction(&tfm, *D); +} + +__device_inline float object_surface_area(KernelGlobals *kg, int object) +{ + int offset = object*OBJECT_SIZE + OBJECT_PROPERTIES; + float4 f = kernel_tex_fetch(__objects, offset); + return f.x; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/kernel_path.h b/intern/cycles/kernel/kernel_path.h new file mode 100644 index 00000000000..15c7e67f101 --- /dev/null +++ b/intern/cycles/kernel/kernel_path.h @@ -0,0 +1,263 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "kernel_differential.h" +#include "kernel_montecarlo.h" +#include "kernel_triangle.h" +#include "kernel_object.h" +#ifdef __QBVH__ +#include "kernel_qbvh.h" +#else +#include "kernel_bvh.h" +#endif +#include "kernel_camera.h" +#include "kernel_shader.h" +#include "kernel_light.h" +#include "kernel_emission.h" +#include "kernel_random.h" + +CCL_NAMESPACE_BEGIN + +#ifdef __MODIFY_TP__ +__device float3 path_terminate_modified_throughput(KernelGlobals *kg, __global float3 *buffer, int x, int y, int pass) +{ + /* modify throughput to influence path termination probability, to avoid + darker regions receiving fewer samples than lighter regions. also RGB + are weighted differently. proper validation still remains to be done. */ + const float3 weights = make_float3(1.0f, 1.33f, 0.66f); + const float3 one = make_float3(1.0f, 1.0f, 1.0f); + const int minpass = 5; + const float minL = 0.1f; + + if(pass >= minpass) { + float3 L = buffer[x + y*kernel_data.cam.width]; + float3 Lmin = make_float3(minL, minL, minL); + float correct = (float)(pass+1)/(float)pass; + + L = film_map(L*correct, pass); + + return weights/clamp(L, Lmin, one); + } + + return weights; +} +#endif + +__device float path_terminate_probability(KernelGlobals *kg, int bounce, const float3 throughput) +{ + if(bounce >= kernel_data.integrator.maxbounce) + return 0.0f; + else if(bounce <= kernel_data.integrator.minbounce) + return 1.0f; + + return average(throughput); +} + +__device int path_flag_from_label(int path_flag, int label) +{ + /* reflect/transmit */ + if(label & LABEL_REFLECT) { + path_flag |= PATH_RAY_REFLECT; + path_flag &= ~PATH_RAY_TRANSMIT; + } + else { + kernel_assert(label & LABEL_TRANSMIT); + + path_flag |= PATH_RAY_TRANSMIT; + path_flag &= ~PATH_RAY_REFLECT; + } + + /* diffuse/glossy/singular */ + if(label & LABEL_DIFFUSE) { + path_flag |= PATH_RAY_DIFFUSE; + path_flag &= ~(PATH_RAY_GLOSSY|PATH_RAY_SINGULAR); + } + else if(label & LABEL_GLOSSY) { + path_flag |= PATH_RAY_GLOSSY; + path_flag &= ~(PATH_RAY_DIFFUSE|PATH_RAY_SINGULAR); + } + else { + kernel_assert(label & (LABEL_SINGULAR|LABEL_STRAIGHT)); + + path_flag |= PATH_RAY_SINGULAR; + path_flag &= ~(PATH_RAY_DIFFUSE|PATH_RAY_GLOSSY); + } + + /* ray through transparent is still camera ray */ + if(!(label & LABEL_STRAIGHT)) + path_flag &= ~PATH_RAY_CAMERA; + + return path_flag; +} + +__device float3 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray ray, float3 throughput) +{ + /* initialize */ + float3 L = make_float3(0.0f, 0.0f, 0.0f); + +#ifdef __EMISSION__ + float ray_pdf = 0.0f; +#endif + int path_flag = PATH_RAY_CAMERA|PATH_RAY_SINGULAR; + int rng_offset = PRNG_BASE_NUM; + + /* path iteration */ + for(int bounce = 0; ; bounce++, rng_offset += PRNG_BOUNCE_NUM) { + /* intersect scene */ + Intersection isect; + + if(!scene_intersect(kg, &ray, false, &isect)) { + /* eval background shader if nothing hit */ +#ifdef __BACKGROUND__ + ShaderData sd; + shader_setup_from_background(kg, &sd, &ray); + L += throughput*shader_eval_background(kg, &sd, path_flag); + shader_release(kg, &sd); +#else + L += throughputmake_float3(0.8f, 0.8f, 0.8f); +#endif + break; + } + + /* setup shading */ + ShaderData sd; + shader_setup_from_ray(kg, &sd, &isect, &ray); + float rbsdf = path_rng(kg, rng, pass, rng_offset + PRNG_BSDF); + shader_eval_surface(kg, &sd, rbsdf, path_flag); + +#ifdef __EMISSION__ + /* emission */ + if(kernel_data.integrator.use_emission) { + if(sd.flag & SD_EMISSION) + L += throughput*indirect_emission(kg, &sd, isect.t, path_flag, ray_pdf); + + /* sample illumination from lights to find path contribution */ + if((sd.flag & SD_BSDF_HAS_EVAL) && + bounce != kernel_data.integrator.maxbounce) { + float light_t = path_rng(kg, rng, pass, rng_offset + PRNG_LIGHT); + float light_o = path_rng(kg, rng, pass, rng_offset + PRNG_LIGHT_F); + float light_u = path_rng(kg, rng, pass, rng_offset + PRNG_LIGHT_U); + float light_v = path_rng(kg, rng, pass, rng_offset + PRNG_LIGHT_V); + + Ray light_ray; + float3 light_L; + + if(direct_emission(kg, &sd, light_t, light_o, light_u, light_v, &light_ray, &light_L)) { + /* trace shadow ray */ + if(!scene_intersect(kg, &light_ray, true, &isect)) + L += throughput*light_L; + } + } + } +#endif + + /* sample BSDF */ + float bsdf_pdf; + float3 bsdf_eval; + float3 bsdf_omega_in; + differential3 bsdf_domega_in; + float bsdf_u = path_rng(kg, rng, pass, rng_offset + PRNG_BSDF_U); + float bsdf_v = path_rng(kg, rng, pass, rng_offset + PRNG_BSDF_V); + int label; + + label = shader_bsdf_sample(kg, &sd, bsdf_u, bsdf_v, &bsdf_eval, + &bsdf_omega_in, &bsdf_domega_in, &bsdf_pdf); + + shader_release(kg, &sd); + + if(bsdf_pdf == 0.0f || is_zero(bsdf_eval)) + break; + + /* modify throughput */ + throughput *= bsdf_eval/bsdf_pdf; + + /* set labels */ +#ifdef __EMISSION__ + ray_pdf = bsdf_pdf; +#endif + + path_flag = path_flag_from_label(path_flag, label); + + /* path termination */ + float probability = path_terminate_probability(kg, bounce, throughput); + float terminate = path_rng(kg, rng, pass, rng_offset + PRNG_TERMINATE); + + if(terminate >= probability) + break; + + throughput /= probability; + + /* setup ray */ + ray.P = ray_offset(sd.P, (label & LABEL_TRANSMIT)? -sd.Ng: sd.Ng); + ray.D = bsdf_omega_in; + ray.t = FLT_MAX; +#ifdef __RAY_DIFFERENTIALS__ + ray.dP = sd.dP; + ray.dD = bsdf_domega_in; +#endif + } + + return L; +} + +__device void kernel_path_trace(KernelGlobals *kg, __global float4 *buffer, __global uint *rng_state, int pass, int x, int y) +{ + /* initialize random numbers */ + RNG rng; + + float filter_u; + float filter_v; + + path_rng_init(kg, rng_state, pass, &rng, x, y, &filter_u, &filter_v); + + /* sample camera ray */ + Ray ray; + + float lens_u = path_rng(kg, &rng, pass, PRNG_LENS_U); + float lens_v = path_rng(kg, &rng, pass, PRNG_LENS_V); + + camera_sample(kg, x, y, filter_u, filter_v, lens_u, lens_v, &ray); + + /* integrate */ +#ifdef __MODIFY_TP__ + float3 throughput = path_terminate_modified_throughput(kg, buffer, x, y, pass); + float3 L = kernel_path_integrate(kg, &rng, pass, ray, throughput)/throughput; +#else + float3 throughput = make_float3(1.0f, 1.0f, 1.0f); + float3 L = kernel_path_integrate(kg, &rng, pass, ray, throughput); +#endif + + /* accumulate result in output buffer */ + int index = x + y*kernel_data.cam.width; + + float4 result; + result.x = L.x; + result.y = L.y; + result.z = L.z; + result.w = 1.0f; + + if(pass == 0) + buffer[index] = result; + else + buffer[index] += result; + + path_rng_end(kg, rng_state, rng, x, y); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/kernel_qbvh.h b/intern/cycles/kernel/kernel_qbvh.h new file mode 100644 index 00000000000..96e68d797dd --- /dev/null +++ b/intern/cycles/kernel/kernel_qbvh.h @@ -0,0 +1,413 @@ +/* + * Adapted from code Copyright 2009-2010 NVIDIA Corporation + * Modifications Copyright 2011, Blender Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +CCL_NAMESPACE_BEGIN + +/* + * "Persistent while-while kernel" used in: + * + * "Understanding the Efficiency of Ray Traversal on GPUs", + * Timo Aila and Samuli Laine, + * Proc. High-Performance Graphics 2009 + */ + +/* bottom-most stack entry, indicating the end of traversal */ + +#define ENTRYPOINT_SENTINEL 0x76543210 +/* 64 object BVH + 64 mesh BVH + 64 object node splitting */ +#define QBVH_STACK_SIZE 192 +#define QBVH_NODE_SIZE 8 +#define TRI_NODE_SIZE 3 + +__device_inline float3 qbvh_inverse_direction(float3 dir) +{ + // Avoid divide by zero (ooeps = exp2f(-80.0f)) + float ooeps = 0.00000000000000000000000082718061255302767487140869206996285356581211090087890625f; + float3 idir; + + idir.x = 1.0f/((fabsf(dir.x) > ooeps)? dir.x: copysignf(ooeps, dir.x)); + idir.y = 1.0f/((fabsf(dir.y) > ooeps)? dir.y: copysignf(ooeps, dir.y)); + idir.z = 1.0f/((fabsf(dir.z) > ooeps)? dir.z: copysignf(ooeps, dir.z)); + + return idir; +} + +__device_inline void qbvh_instance_push(KernelGlobals *kg, int object, const Ray *ray, float3 *P, float3 *idir, float *t, const float tmax) +{ + Transform tfm = object_fetch_transform(kg, object, OBJECT_INVERSE_TRANSFORM); + + *P = transform(&tfm, ray->P); + + float3 dir = transform_direction(&tfm, ray->D); + + float len; + dir = normalize_len(dir, &len); + + *idir = qbvh_inverse_direction(dir); + + if(*t != FLT_MAX) + *t *= len; +} + +__device_inline void qbvh_instance_pop(KernelGlobals *kg, int object, const Ray *ray, float3 *P, float3 *idir, float *t, const float tmax) +{ + Transform tfm = object_fetch_transform(kg, object, OBJECT_TRANSFORM); + + if(*t != FLT_MAX) + *t *= len(transform_direction(&tfm, 1.0f/(*idir))); + + *P = ray->P; + *idir = qbvh_inverse_direction(ray->D); +} + +#ifdef __KERNEL_CPU__ + +__device_inline void qbvh_node_intersect(KernelGlobals *kg, int *traverseChild, + int nodeAddrChild[4], float3 P, float3 idir, float t, int nodeAddr) +{ + /* X axis */ + const __m128 bminx = kernel_tex_fetch_m128(__bvh_nodes, nodeAddr*QBVH_NODE_SIZE+0); + const __m128 t0x = _mm_mul_ps(_mm_sub_ps(bminx, _mm_set_ps1(P.x)), _mm_set_ps1(idir.x)); + const __m128 bmaxx = kernel_tex_fetch_m128(__bvh_nodes, nodeAddr*QBVH_NODE_SIZE+1); + const __m128 t1x = _mm_mul_ps(_mm_sub_ps(bmaxx, _mm_set_ps1(P.x)), _mm_set_ps1(idir.x)); + + __m128 tmin = _mm_max_ps(_mm_min_ps(t0x, t1x), _mm_setzero_ps()); + __m128 tmax = _mm_min_ps(_mm_max_ps(t0x, t1x), _mm_set_ps1(t)); + + /* Y axis */ + const __m128 bminy = kernel_tex_fetch_m128(__bvh_nodes, nodeAddr*QBVH_NODE_SIZE+2); + const __m128 t0y = _mm_mul_ps(_mm_sub_ps(bminy, _mm_set_ps1(P.y)), _mm_set_ps1(idir.y)); + const __m128 bmaxy = kernel_tex_fetch_m128(__bvh_nodes, nodeAddr*QBVH_NODE_SIZE+3); + const __m128 t1y = _mm_mul_ps(_mm_sub_ps(bmaxy, _mm_set_ps1(P.y)), _mm_set_ps1(idir.y)); + + tmin = _mm_max_ps(_mm_min_ps(t0y, t1y), tmin); + tmax = _mm_min_ps(_mm_max_ps(t0y, t1y), tmax); + + /* Z axis */ + const __m128 bminz = kernel_tex_fetch_m128(__bvh_nodes, nodeAddr*QBVH_NODE_SIZE+4); + const __m128 t0z = _mm_mul_ps(_mm_sub_ps(bminz, _mm_set_ps1(P.z)), _mm_set_ps1(idir.z)); + const __m128 bmaxz = kernel_tex_fetch_m128(__bvh_nodes, nodeAddr*QBVH_NODE_SIZE+5); + const __m128 t1z = _mm_mul_ps(_mm_sub_ps(bmaxz, _mm_set_ps1(P.z)), _mm_set_ps1(idir.z)); + + tmin = _mm_max_ps(_mm_min_ps(t0z, t1z), tmin); + tmax = _mm_min_ps(_mm_max_ps(t0z, t1z), tmax); + + /* compare and get mask */ + *traverseChild = _mm_movemask_ps(_mm_cmple_ps(tmin, tmax)); + + /* get node addresses */ + float4 cnodes = kernel_tex_fetch(__bvh_nodes, nodeAddr*QBVH_NODE_SIZE+6); + + nodeAddrChild[0] = __float_as_int(cnodes.x); + nodeAddrChild[1] = __float_as_int(cnodes.y); + nodeAddrChild[2] = __float_as_int(cnodes.z); + nodeAddrChild[3] = __float_as_int(cnodes.w); +} + +#else + +__device_inline bool qbvh_bb_intersect(float3 bmin, float3 bmax, float3 P, float3 idir, float t) +{ + float t0x = (bmin.x - P.x)*idir.x; + float t1x = (bmax.x - P.x)*idir.x; + float t0y = (bmin.y - P.y)*idir.y; + float t1y = (bmax.y - P.y)*idir.y; + float t0z = (bmin.z - P.z)*idir.z; + float t1z = (bmax.z - P.z)*idir.z; + + float minx = min(t0x, t1x); + float maxx = max(t0x, t1x); + float miny = min(t0y, t1y); + float maxy = max(t0y, t1y); + float minz = min(t0z, t1z); + float maxz = max(t0z, t1z); + + float tmin = max4(0.0f, minx, miny, minz); + float tmax = min4(t, maxx, maxy, maxz); + + return (tmin <= tmax); +} + +/* intersect four bounding boxes */ +__device_inline void qbvh_node_intersect(KernelGlobals *kg, int *traverseChild, + int nodeAddrChild[4], float3 P, float3 idir, float t, int nodeAddr) +{ + /* fetch node data */ + float4 minx = kernel_tex_fetch(__bvh_nodes, nodeAddr*QBVH_NODE_SIZE+0); + float4 miny = kernel_tex_fetch(__bvh_nodes, nodeAddr*QBVH_NODE_SIZE+2); + float4 minz = kernel_tex_fetch(__bvh_nodes, nodeAddr*QBVH_NODE_SIZE+4); + float4 maxx = kernel_tex_fetch(__bvh_nodes, nodeAddr*QBVH_NODE_SIZE+1); + float4 maxy = kernel_tex_fetch(__bvh_nodes, nodeAddr*QBVH_NODE_SIZE+3); + float4 maxz = kernel_tex_fetch(__bvh_nodes, nodeAddr*QBVH_NODE_SIZE+5); + + /* intersect bounding boxes */ + bool traverseChild0 = qbvh_bb_intersect(make_float3(minx.x, miny.x, minz.x), make_float3(maxx.x, maxy.x, maxz.x), P, idir, t); + bool traverseChild1 = qbvh_bb_intersect(make_float3(minx.y, miny.y, minz.y), make_float3(maxx.y, maxy.y, maxz.y), P, idir, t); + bool traverseChild2 = qbvh_bb_intersect(make_float3(minx.z, miny.z, minz.z), make_float3(maxx.z, maxy.z, maxz.z), P, idir, t); + bool traverseChild3 = qbvh_bb_intersect(make_float3(minx.w, miny.w, minz.w), make_float3(maxx.w, maxy.w, maxz.w), P, idir, t); + + *traverseChild = 0; + if(traverseChild0) *traverseChild |= 1; + if(traverseChild1) *traverseChild |= 2; + if(traverseChild2) *traverseChild |= 4; + if(traverseChild3) *traverseChild |= 8; + + /* get node addresses */ + float4 cnodes = kernel_tex_fetch(__bvh_nodes, nodeAddr*QBVH_NODE_SIZE+6); + + nodeAddrChild[0] = __float_as_int(cnodes.x); + nodeAddrChild[1] = __float_as_int(cnodes.y); + nodeAddrChild[2] = __float_as_int(cnodes.z); + nodeAddrChild[3] = __float_as_int(cnodes.w); +} + +#endif + +/* Sven Woop's algorithm */ +__device_inline void qbvh_triangle_intersect(KernelGlobals *kg, Intersection *isect, float3 P, float3 idir, int object, int triAddr) +{ + /* compute and check intersection t-value */ + float4 v00 = kernel_tex_fetch(__tri_woop, triAddr*TRI_NODE_SIZE+0); + float4 v11 = kernel_tex_fetch(__tri_woop, triAddr*TRI_NODE_SIZE+1); + float3 dir = 1.0f/idir; + + float Oz = v00.w - P.x*v00.x - P.y*v00.y - P.z*v00.z; + float invDz = 1.0f/(dir.x*v00.x + dir.y*v00.y + dir.z*v00.z); + float t = Oz * invDz; + + if(t > 0.0f && t < isect->t) { + /* compute and check barycentric u */ + float Ox = v11.w + P.x*v11.x + P.y*v11.y + P.z*v11.z; + float Dx = dir.x*v11.x + dir.y*v11.y + dir.z*v11.z; + float u = Ox + t*Dx; + + if(u >= 0.0f) { + /* compute and check barycentric v */ + float4 v22 = kernel_tex_fetch(__tri_woop, triAddr*TRI_NODE_SIZE+2); + float Oy = v22.w + P.x*v22.x + P.y*v22.y + P.z*v22.z; + float Dy = dir.x*v22.x + dir.y*v22.y + dir.z*v22.z; + float v = Oy + t*Dy; + + if(v >= 0.0f && u + v <= 1.0f) { + /* record intersection */ + isect->prim = triAddr; + isect->object = object; + isect->u = u; + isect->v = v; + isect->t = t; + } + } + } +} + +__device_inline bool scene_intersect(KernelGlobals *kg, const Ray *ray, const bool isshadowray, Intersection *isect) +{ + /* traversal stack in CUDA thread-local memory */ + int traversalStack[QBVH_STACK_SIZE]; + traversalStack[0] = ENTRYPOINT_SENTINEL; + + /* traversal variables in registers */ + int stackPtr = 0; + int nodeAddr = kernel_data.bvh.root; + + /* ray parameters in registers */ + const float tmax = ray->t; + float3 P = ray->P; + float3 idir = qbvh_inverse_direction(ray->D); + int object = ~0; + + isect->t = tmax; + isect->object = ~0; + isect->prim = ~0; + isect->u = 0.0f; + isect->v = 0.0f; + + /* traversal loop */ + do { + do + { + /* traverse internal nodes */ + while(nodeAddr >= 0 && nodeAddr != ENTRYPOINT_SENTINEL) + { + int traverseChild, nodeAddrChild[4]; + + qbvh_node_intersect(kg, &traverseChild, nodeAddrChild, + P, idir, isect->t, nodeAddr); + + if(traverseChild & 1) { + ++stackPtr; + traversalStack[stackPtr] = nodeAddrChild[0]; + } + + if(traverseChild & 2) { + ++stackPtr; + traversalStack[stackPtr] = nodeAddrChild[1]; + } + if(traverseChild & 4) { + ++stackPtr; + traversalStack[stackPtr] = nodeAddrChild[2]; + } + + if(traverseChild & 8) { + ++stackPtr; + traversalStack[stackPtr] = nodeAddrChild[3]; + } + + nodeAddr = traversalStack[stackPtr]; + --stackPtr; + } + + /* if node is leaf, fetch triangle list */ + if(nodeAddr < 0) { + float4 leaf = kernel_tex_fetch(__bvh_nodes, (-nodeAddr-1)*QBVH_NODE_SIZE+(QBVH_NODE_SIZE-2)); + int primAddr = __float_as_int(leaf.x); + +#ifdef __INSTANCING__ + if(primAddr >= 0) { +#endif + int primAddr2 = __float_as_int(leaf.y); + + /* pop */ + nodeAddr = traversalStack[stackPtr]; + --stackPtr; + + /* triangle intersection */ + while(primAddr < primAddr2) { + /* intersect ray against triangle */ + qbvh_triangle_intersect(kg, isect, P, idir, object, primAddr); + + /* shadow ray early termination */ + if(isshadowray && isect->prim != ~0) + return true; + + primAddr++; + } +#ifdef __INSTANCING__ + } + else { + /* instance push */ + object = kernel_tex_fetch(__prim_object, -primAddr-1); + + qbvh_instance_push(kg, object, ray, &P, &idir, &isect->t, tmax); + + ++stackPtr; + traversalStack[stackPtr] = ENTRYPOINT_SENTINEL; + + nodeAddr = kernel_tex_fetch(__object_node, object); + } +#endif + } + } while(nodeAddr != ENTRYPOINT_SENTINEL); + +#ifdef __INSTANCING__ + if(stackPtr >= 0) { + kernel_assert(object != ~0); + + /* instance pop */ + qbvh_instance_pop(kg, object, ray, &P, &idir, &isect->t, tmax); + object = ~0; + nodeAddr = traversalStack[stackPtr]; + --stackPtr; + } +#endif + } while(nodeAddr != ENTRYPOINT_SENTINEL); + + return (isect->prim != ~0); +} + +__device_inline float3 ray_offset(float3 P, float3 Ng) +{ +#ifdef __INTERSECTION_REFINE__ + const float epsilon_f = 1e-5f; + const int epsilon_i = 32; + + float3 res; + + /* x component */ + if(fabsf(P.x) < epsilon_f) { + res.x = P.x + Ng.x*epsilon_f; + } + else { + uint ix = __float_as_uint(P.x); + ix += ((ix ^ __float_as_uint(Ng.x)) >> 31)? -epsilon_i: epsilon_i; + res.x = __uint_as_float(ix); + } + + /* y component */ + if(fabsf(P.y) < epsilon_f) { + res.y = P.y + Ng.y*epsilon_f; + } + else { + uint iy = __float_as_uint(P.y); + iy += ((iy ^ __float_as_uint(Ng.y)) >> 31)? -epsilon_i: epsilon_i; + res.y = __uint_as_float(iy); + } + + /* z component */ + if(fabsf(P.z) < epsilon_f) { + res.z = P.z + Ng.z*epsilon_f; + } + else { + uint iz = __float_as_uint(P.z); + iz += ((iz ^ __float_as_uint(Ng.z)) >> 31)? -epsilon_i: epsilon_i; + res.z = __uint_as_float(iz); + } + + return res; +#else + const float epsilon_f = 1e-4f; + return P + epsilon_f*Ng; +#endif +} + +__device_inline float3 bvh_triangle_refine(KernelGlobals *kg, const Intersection *isect, const Ray *ray) +{ + float3 P = ray->P; + float3 D = ray->D; + float t = isect->t; + +#ifdef __INTERSECTION_REFINE__ + if(isect->object != ~0) { + Transform tfm = object_fetch_transform(kg, isect->object, OBJECT_INVERSE_TRANSFORM); + + P = transform(&tfm, P); + D = transform_direction(&tfm, D*t); + D = normalize_len(D, &t); + } + + P = P + D*t; + + float4 v00 = kernel_tex_fetch(__tri_woop, isect->prim*TRI_NODE_SIZE+0); + float Oz = v00.w - P.x*v00.x - P.y*v00.y - P.z*v00.z; + float invDz = 1.0f/(D.x*v00.x + D.y*v00.y + D.z*v00.z); + float rt = Oz * invDz; + + P = P + D*rt; + + if(isect->object != ~0) { + Transform tfm = object_fetch_transform(kg, isect->object, OBJECT_TRANSFORM); + P = transform(&tfm, P); + } + + return P; +#else + return P + D*t; +#endif +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/kernel_random.h b/intern/cycles/kernel/kernel_random.h new file mode 100644 index 00000000000..6c2daafb061 --- /dev/null +++ b/intern/cycles/kernel/kernel_random.h @@ -0,0 +1,175 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +typedef uint RNG; + +#ifdef __SOBOL__ + +/* High Dimensional Sobol */ + +/* van der corput radical inverse */ +__device uint van_der_corput(uint bits) +{ + bits = (bits << 16) | (bits >> 16); + bits = ((bits & 0x00ff00ff) << 8) | ((bits & 0xff00ff00) >> 8); + bits = ((bits & 0x0f0f0f0f) << 4) | ((bits & 0xf0f0f0f0) >> 4); + bits = ((bits & 0x33333333) << 2) | ((bits & 0xcccccccc) >> 2); + bits = ((bits & 0x55555555) << 1) | ((bits & 0xaaaaaaaa) >> 1); + return bits; +} + +/* sobol radical inverse */ +__device uint sobol(uint i) +{ + uint r = 0; + + for(uint v = 1U << 31; i; i >>= 1, v ^= v >> 1) + if(i & 1) + r ^= v; + + return r; +} + +/* inverse of sobol radical inverse */ +__device uint sobol_inverse(uint i) +{ + const uint msb = 1U << 31; + uint r = 0; + + for(uint v = 1; i; i <<= 1, v ^= v << 1) + if(i & msb) + r ^= v; + + return r; +} + +/* multidimensional sobol with generator matrices + dimension 0 and 1 are equal to van_der_corput() and sobol() respectively */ +__device uint sobol_dimension(KernelGlobals *kg, int index, int dimension) +{ + uint result = 0; + uint i = index; + + for(uint j = 0; i; i >>= 1, j++) + if(i & 1) + result ^= kernel_tex_fetch(__sobol_directions, 32*dimension + j); + + return result; +} + +/* lookup index and x/y coordinate, assumes m is a power of two */ +__device uint sobol_lookup(const uint m, const uint frame, const uint ex, const uint ey, uint *x, uint *y) +{ + /* shift is constant per frame */ + const uint shift = frame << (m << 1); + const uint sobol_shift = sobol(shift); + /* van der Corput is its own inverse */ + const uint lower = van_der_corput(ex << (32 - m)); + /* need to compensate for ey difference and shift */ + const uint sobol_lower = sobol(lower); + const uint mask = ~-(1 << m) << (32 - m); /* only m upper bits */ + const uint delta = ((ey << (32 - m)) ^ sobol_lower ^ sobol_shift) & mask; + /* only use m upper bits for the index (m is a power of two) */ + const uint sobol_result = delta | (delta >> m); + const uint upper = sobol_inverse(sobol_result); + const uint index = shift | upper | lower; + *x = van_der_corput(index); + *y = sobol_shift ^ sobol_result ^ sobol_lower; + return index; +} + +__device_inline float path_rng(KernelGlobals *kg, RNG *rng, int pass, int dimension) +{ +#ifdef __SOBOL_FULL_SCREEN__ + uint result = sobol_dimension(kg, *rng, dimension); + float r = (float)result * (1.0f/(float)0xFFFFFFFF); + return r; +#else + /* compute sobol sequence value using direction vectors */ + uint result = sobol_dimension(kg, pass, dimension); + float r = (float)result * (1.0f/(float)0xFFFFFFFF); + + /* Cranly-Patterson rotation using rng seed */ + float shift; + + if(dimension & 1) + shift = (*rng >> 16)/((float)0xFFFF); + else + shift = (*rng & 0xFFFF)/((float)0xFFFF); + + return r + shift - floor(r + shift); +#endif +} + +__device_inline void path_rng_init(KernelGlobals *kg, __global uint *rng_state, int pass, RNG *rng, int x, int y, float *fx, float *fy) +{ +#ifdef __SOBOL_FULL_SCREEN__ + uint px, py; + uint bits = 16; /* limits us to 65536x65536 and 65536 samples */ + uint size = 1 << bits; + uint frame = pass; + + *rng = sobol_lookup(bits, frame, x, y, &px, &py); + + *fx = size * (float)px * (1.0f/(float)0xFFFFFFFF) - x; + *fy = size * (float)py * (1.0f/(float)0xFFFFFFFF) - y; +#else + *rng = rng_state[x + y*kernel_data.cam.width]; + + *fx = path_rng(kg, rng, pass, PRNG_FILTER_U); + *fy = path_rng(kg, rng, pass, PRNG_FILTER_V); +#endif +} + +__device void path_rng_end(KernelGlobals *kg, __global uint *rng_state, RNG rng, int x, int y) +{ + /* nothing to do */ +} + +#else + +/* Linear Congruential Generator */ + +__device float path_rng(KernelGlobals *kg, RNG *rng, int pass, int dimension) +{ + /* implicit mod 2^32 */ + *rng = (1103515245*(*rng) + 12345); + return (float)*rng * (1.0f/(float)0xFFFFFFFF); +} + +__device void path_rng_init(KernelGlobals *kg, __global uint *rng_state, int pass, RNG *rng, int x, int y, float *fx, float *fy) +{ + /* load state */ + *rng = rng_state[x + y*kernel_data.cam.width]; + + *fx = path_rng(kg, rng, pass, PRNG_FILTER_U); + *fy = path_rng(kg, rng, pass, PRNG_FILTER_V); +} + +__device void path_rng_end(KernelGlobals *kg, __global uint *rng_state, RNG rng, int x, int y) +{ + /* store state for next pass */ + rng_state[x + y*kernel_data.cam.width] = rng; +} + +#endif + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/kernel_shader.h b/intern/cycles/kernel/kernel_shader.h new file mode 100644 index 00000000000..f1abbda7ae5 --- /dev/null +++ b/intern/cycles/kernel/kernel_shader.h @@ -0,0 +1,460 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +/* + * ShaderData, used in four steps: + * + * Setup from incoming ray, sampled position and background. + * Execute for surface, volume or displacement. + * Evaluate one or more closures. + * Release. + * + */ + +#include "svm/bsdf.h" +#include "svm/emissive.h" +#include "svm/volume.h" +#include "svm/svm_bsdf.h" +#include "svm/svm.h" + +#ifdef WITH_OSL +#include "osl_shader.h" +#endif + +CCL_NAMESPACE_BEGIN + +/* ShaderData setup from incoming ray */ + +__device_inline void shader_setup_from_ray(KernelGlobals *kg, ShaderData *sd, + const Intersection *isect, const Ray *ray) +{ + /* fetch triangle data */ + int prim = kernel_tex_fetch(__prim_index, isect->prim); + float4 Ns = kernel_tex_fetch(__tri_normal, prim); + float3 Ng = make_float3(Ns.x, Ns.y, Ns.z); + int shader = __float_as_int(Ns.w); + + /* vectors */ + sd->P = bvh_triangle_refine(kg, isect, ray); + sd->Ng = Ng; + sd->N = Ng; + sd->I = -ray->D; + sd->shader = shader; + sd->flag = 0; + + /* triangle */ +#ifdef __INSTANCING__ + sd->object = isect->object; +#endif + sd->prim = prim; +#ifdef __UV__ + sd->u = isect->u; + sd->v = isect->v; +#endif + + /* smooth normal */ + if(sd->shader < 0) { + sd->N = triangle_smooth_normal(kg, sd->prim, sd->u, sd->v); + sd->shader = -sd->shader; + } + +#ifdef __DPDU__ + /* dPdu/dPdv */ + triangle_dPdudv(kg, &sd->dPdu, &sd->dPdv, sd->prim); +#endif + +#ifdef __INSTANCING__ + if(sd->object != ~0) { + /* instance transform */ + object_normal_transform(kg, sd->object, &sd->N); + object_normal_transform(kg, sd->object, &sd->Ng); +#ifdef __DPDU__ + object_dir_transform(kg, sd->object, &sd->dPdu); + object_dir_transform(kg, sd->object, &sd->dPdv); +#endif + } + else { + /* non-instanced object index */ + sd->object = kernel_tex_fetch(__prim_object, isect->prim); + } +#endif + + /* backfacing test */ + bool backfacing = (dot(sd->Ng, sd->I) < 0.0f); + + if(backfacing) { + sd->flag = SD_BACKFACING; + sd->Ng = -sd->Ng; + sd->N = -sd->N; +#ifdef __DPDU__ + sd->dPdu = -sd->dPdu; + sd->dPdv = -sd->dPdv; +#endif + } + +#ifdef __RAY_DIFFERENTIALS__ + /* differentials */ + differential_transfer(&sd->dP, ray->dP, ray->D, ray->dD, sd->Ng, isect->t); + differential_incoming(&sd->dI, ray->dD); + differential_dudv(&sd->du, &sd->dv, sd->dPdu, sd->dPdv, sd->dP, sd->Ng); +#endif +} + +/* ShaderData setup from position sampled on mesh */ + +__device void shader_setup_from_sample(KernelGlobals *kg, ShaderData *sd, + const float3 P, const float3 Ng, const float3 I, + int shader, int object, int prim, float u, float v) +{ + /* vectors */ + sd->P = P; + sd->N = Ng; + sd->Ng = Ng; + sd->I = I; + sd->shader = shader; + sd->flag = 0; + + /* primitive */ +#ifdef __INSTANCING__ + sd->object = object; +#endif + sd->prim = prim; +#ifdef __UV__ + sd->u = u; + sd->v = v; +#endif + + /* detect instancing, for non-instanced the object index is -object-1 */ + bool instanced = false; + + if(sd->prim != ~0) { + if(sd->object >= 0) + instanced = true; + else + sd->object = -sd->object-1; + } + + /* smooth normal */ + if(sd->shader < 0) { + sd->N = triangle_smooth_normal(kg, sd->prim, sd->u, sd->v); + sd->shader = -sd->shader; + +#ifdef __INSTANCING__ + if(instanced) + object_normal_transform(kg, sd->object, &sd->N); +#endif + } + +#ifdef __DPDU__ + /* dPdu/dPdv */ + if(sd->prim == ~0) { + sd->dPdu = make_float3(0.0f, 0.0f, 0.0f); + sd->dPdv = make_float3(0.0f, 0.0f, 0.0f); + } + else { + triangle_dPdudv(kg, &sd->dPdu, &sd->dPdv, sd->prim); + +#ifdef __INSTANCING__ + if(instanced) { + object_dir_transform(kg, sd->object, &sd->dPdu); + object_dir_transform(kg, sd->object, &sd->dPdv); + } +#endif + } +#endif + + /* backfacing test */ + if(sd->prim != ~0) { + bool backfacing = (dot(sd->Ng, sd->I) < 0.0f); + + if(backfacing) { + sd->flag = SD_BACKFACING; + sd->Ng = -sd->Ng; + sd->N = -sd->N; +#ifdef __DPDU__ + sd->dPdu = -sd->dPdu; + sd->dPdv = -sd->dPdv; +#endif + } + } + +#ifdef __RAY_DIFFERENTIALS__ + /* no ray differentials here yet */ + sd->dP.dx = make_float3(0.0f, 0.0f, 0.0f); + sd->dP.dy = make_float3(0.0f, 0.0f, 0.0f); + sd->dI.dx = make_float3(0.0f, 0.0f, 0.0f); + sd->dI.dy = make_float3(0.0f, 0.0f, 0.0f); + sd->du.dx = 0.0f; + sd->du.dy = 0.0f; + sd->dv.dx = 0.0f; + sd->dv.dy = 0.0f; +#endif +} + +/* ShaderData setup for displacement */ + +__device void shader_setup_from_displace(KernelGlobals *kg, ShaderData *sd, + int object, int prim, float u, float v) +{ + float3 P, Ng, I = make_float3(0.0f, 0.0f, 0.0f); + int shader; + + P = triangle_point_MT(kg, prim, u, v); + Ng = triangle_normal_MT(kg, prim, &shader); + + /* force smooth shading for displacement */ + if(shader >= 0) + shader = -shader; + + /* watch out: no instance transform currently */ + + shader_setup_from_sample(kg, sd, P, Ng, I, shader, object, prim, u, v); +} + +/* ShaderData setup from ray into background */ + +__device_inline void shader_setup_from_background(KernelGlobals *kg, ShaderData *sd, const Ray *ray) +{ + /* vectors */ + sd->P = ray->D; + sd->N = -sd->P; + sd->Ng = -sd->P; + sd->I = -sd->P; + sd->shader = kernel_data.background.shader; + sd->flag = 0; + +#ifdef __INSTANCING__ + sd->object = ~0; +#endif + sd->prim = ~0; +#ifdef __UV__ + sd->u = 0.0f; + sd->v = 0.0f; +#endif + +#ifdef __DPDU__ + /* dPdu/dPdv */ + sd->dPdu = make_float3(0.0f, 0.0f, 0.0f); + sd->dPdv = make_float3(0.0f, 0.0f, 0.0f); +#endif + +#ifdef __RAY_DIFFERENTIALS__ + /* differentials */ + sd->dP = ray->dD; + differential_incoming(&sd->dI, sd->dP); + sd->du.dx = 0.0f; + sd->du.dy = 0.0f; + sd->dv.dx = 0.0f; + sd->dv.dy = 0.0f; +#endif +} + +/* BSDF */ + +__device int shader_bsdf_sample(KernelGlobals *kg, const ShaderData *sd, + float randu, float randv, float3 *eval, + float3 *omega_in, differential3 *domega_in, float *pdf) +{ + int label; + + *pdf = 0.0f; + +#ifdef WITH_OSL + if(kg->osl.use) + label = OSLShader::bsdf_sample(sd, randu, randv, *eval, *omega_in, *domega_in, *pdf); + else +#endif + label = svm_bsdf_sample(sd, randu, randv, eval, omega_in, domega_in, pdf); + + return label; +} + +__device float3 shader_bsdf_eval(KernelGlobals *kg, const ShaderData *sd, + const float3 omega_in, float *pdf) +{ + float3 eval; + + *pdf = 0.0f; + +#ifdef WITH_OSL + if(kg->osl.use) + eval = OSLShader::bsdf_eval(sd, omega_in, *pdf); + else +#endif + eval = svm_bsdf_eval(sd, omega_in, pdf); + + return eval; +} + +__device void shader_bsdf_blur(KernelGlobals *kg, ShaderData *sd, float roughness) +{ +#ifdef WITH_OSL + if(!kg->osl.use) +#endif + svm_bsdf_blur(sd, roughness); +} + +/* Emission */ + +__device float3 shader_emissive_eval(KernelGlobals *kg, ShaderData *sd) +{ +#ifdef WITH_OSL + if(kg->osl.use) { + return OSLShader::emissive_eval(sd); + } + else +#endif + { + return svm_emissive_eval(sd); + } +} + +__device void shader_emissive_sample(KernelGlobals *kg, ShaderData *sd, + float randu, float randv, float3 *eval, float3 *I, float *pdf) +{ +#ifdef WITH_OSL + if(kg->osl.use) { + OSLShader::emissive_sample(sd, randu, randv, eval, I, pdf); + } + else +#endif + { + svm_emissive_sample(sd, randu, randv, eval, I, pdf); + } +} + +/* Surface Evaluation */ + +__device void shader_eval_surface(KernelGlobals *kg, ShaderData *sd, + float randb, int path_flag) +{ +#ifdef WITH_OSL + if(kg->osl.use) { + OSLShader::eval_surface(kg, sd, randb, path_flag); + } + else +#endif + { +#ifdef __SVM__ + svm_eval_nodes(kg, sd, SHADER_TYPE_SURFACE, randb, path_flag); +#else + sd->svm_closure = CLOSURE_BSDF_DIFFUSE_ID; + sd->svm_closure_weight = make_float3(0.8f, 0.8f, 0.8f); +#endif + +#ifdef __CAUSTICS_TRICKS__ + /* caustic tricks */ + if((path_flag & PATH_RAY_DIFFUSE) && (sd->flag & SD_BSDF_GLOSSY)) { + if(kernel_data.integrator.no_caustics) { + sd->flag &= ~(SD_BSDF_GLOSSY|SD_BSDF_HAS_EVAL|SD_EMISSION); + sd->svm_closure = NBUILTIN_CLOSURES; + sd->svm_closure_weight = make_float3(0.0f, 0.0f, 0.0f); + } + else if(kernel_data.integrator.blur_caustics > 0.0f) + shader_bsdf_blur(kg, sd, kernel_data.integrator.blur_caustics); + } +#endif + } +} + +/* Background Evaluation */ + +__device float3 shader_eval_background(KernelGlobals *kg, ShaderData *sd, int path_flag) +{ +#ifdef WITH_OSL + if(kg->osl.use) { + return OSLShader::eval_background(kg, sd, path_flag); + } + else +#endif + { +#ifdef __SVM__ + svm_eval_nodes(kg, sd, SHADER_TYPE_SURFACE, 0.0f, path_flag); +#else + sd->svm_closure_weight = make_float3(0.8f, 0.8f, 0.8f); +#endif + + return sd->svm_closure_weight; + } +} + +/* Volume */ + +__device float3 shader_volume_eval_phase(KernelGlobals *kg, ShaderData *sd, + float3 omega_in, float3 omega_out) +{ +#ifdef WITH_OSL + if(kg->osl.use) { + OSLShader::volume_eval_phase(sd, omega_in, omega_out); + } + else +#endif + { + return volume_eval_phase(sd, omega_in, omega_out); + } +} + +/* Volume Evaluation */ + +__device void shader_eval_volume(KernelGlobals *kg, ShaderData *sd, + float randb, int path_flag) +{ +#ifdef WITH_OSL + if(kg->osl.use) { + OSLShader::eval_volume(kg, sd, randb, path_flag); + } + else +#endif + { +#ifdef __SVM__ + svm_eval_nodes(kg, sd, SHADER_TYPE_VOLUME, randb, path_flag); +#endif + } +} + +/* Displacement Evaluation */ + +__device void shader_eval_displacement(KernelGlobals *kg, ShaderData *sd) +{ + /* this will modify sd->P */ + +#ifdef WITH_OSL + if(kg->osl.use) { + OSLShader::eval_displacement(kg, sd); + } + else +#endif + { +#ifdef __SVM__ + svm_eval_nodes(kg, sd, SHADER_TYPE_DISPLACEMENT, 0.0f, 0); +#endif + } +} + +/* Free ShaderData */ + +__device void shader_release(KernelGlobals *kg, ShaderData *sd) +{ +#ifdef WITH_OSL + if(kg->osl.use) + OSLShader::release(kg, sd); +#endif +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/kernel_triangle.h b/intern/cycles/kernel/kernel_triangle.h new file mode 100644 index 00000000000..64cbb2dcb61 --- /dev/null +++ b/intern/cycles/kernel/kernel_triangle.h @@ -0,0 +1,183 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Point on triangle for Moller-Trumbore triangles */ +__device_inline float3 triangle_point_MT(KernelGlobals *kg, int tri_index, float u, float v) +{ + /* load triangle vertices */ + float3 tri_vindex = as_float3(kernel_tex_fetch(__tri_vindex, tri_index)); + + float3 v0 = as_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.x))); + float3 v1 = as_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.y))); + float3 v2 = as_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.z))); + + /* compute point */ + float t = 1.0f - u - v; + return (u*v0 + v*v1 + t*v2); +} + +/* Sample point on triangle */ +__device_inline float3 triangle_sample_MT(KernelGlobals *kg, int tri_index, float randu, float randv) +{ + /* compute point */ + randu = sqrtf(randu); + + float u = 1.0f - randu; + float v = randv*randu; + + return triangle_point_MT(kg, tri_index, u, v); +} + +/* Normal for Moller-Trumbore triangles */ +__device_inline float3 triangle_normal_MT(KernelGlobals *kg, int tri_index, int *shader) +{ +#if 0 + /* load triangle vertices */ + float3 tri_vindex = as_float3(kernel_tex_fetch(__tri_vindex, tri_index)); + + float3 v0 = as_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.x))); + float3 v1 = as_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.y))); + float3 v2 = as_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.z))); + + /* compute normal */ + return normalize(cross(v2 - v0, v1 - v0)); +#else + float4 Nm = kernel_tex_fetch(__tri_normal, tri_index); + *shader = __float_as_int(Nm.w); + return make_float3(Nm.x, Nm.y, Nm.z); +#endif +} + +__device_inline float3 triangle_smooth_normal(KernelGlobals *kg, int tri_index, float u, float v) +{ + /* load triangle vertices */ + float3 tri_vindex = as_float3(kernel_tex_fetch(__tri_vindex, tri_index)); + + float3 n0 = as_float3(kernel_tex_fetch(__tri_vnormal, __float_as_int(tri_vindex.x))); + float3 n1 = as_float3(kernel_tex_fetch(__tri_vnormal, __float_as_int(tri_vindex.y))); + float3 n2 = as_float3(kernel_tex_fetch(__tri_vnormal, __float_as_int(tri_vindex.z))); + + return normalize((1.0f - u - v)*n2 + u*n0 + v*n1); +} + +__device_inline void triangle_dPdudv(KernelGlobals *kg, float3 *dPdu, float3 *dPdv, int tri) +{ + /* fetch triangle vertex coordinates */ + float3 tri_vindex = as_float3(kernel_tex_fetch(__tri_vindex, tri)); + + float3 p0 = as_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.x))); + float3 p1 = as_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.y))); + float3 p2 = as_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.z))); + + /* compute derivatives of P w.r.t. uv */ + *dPdu = (p0 - p2); + *dPdv = (p1 - p2); +} + +/* attributes */ + +__device float triangle_attribute_float(KernelGlobals *kg, const ShaderData *sd, AttributeElement elem, int offset, float *dx, float *dy) +{ + if(elem == ATTR_ELEMENT_FACE) { + if(dx) *dx = 0.0f; + if(dy) *dy = 0.0f; + + return kernel_tex_fetch(__attributes_float, offset + sd->prim); + } + else if(elem == ATTR_ELEMENT_VERTEX) { + float3 tri_vindex = as_float3(kernel_tex_fetch(__tri_vindex, sd->prim)); + + float f0 = kernel_tex_fetch(__attributes_float, offset + __float_as_int(tri_vindex.x)); + float f1 = kernel_tex_fetch(__attributes_float, offset + __float_as_int(tri_vindex.y)); + float f2 = kernel_tex_fetch(__attributes_float, offset + __float_as_int(tri_vindex.z)); + +#ifdef __RAY_DIFFERENTIALS__ + if(dx) *dx = sd->du.dx*f0 + sd->dv.dx*f1 - (sd->du.dx + sd->dv.dx)*f2; + if(dy) *dy = sd->du.dy*f0 + sd->dv.dy*f1 - (sd->du.dy + sd->dv.dy)*f2; +#endif + + return sd->u*f0 + sd->v*f1 + (1.0f - sd->u - sd->v)*f2; + } + else if(elem == ATTR_ELEMENT_CORNER) { + int tri = offset + sd->prim; + float f0 = kernel_tex_fetch(__attributes_float, tri*3 + 0); + float f1 = kernel_tex_fetch(__attributes_float, tri*3 + 1); + float f2 = kernel_tex_fetch(__attributes_float, tri*3 + 2); + +#ifdef __RAY_DIFFERENTIALS__ + if(dx) *dx = sd->du.dx*f0 + sd->dv.dx*f1 - (sd->du.dx + sd->dv.dx)*f2; + if(dy) *dy = sd->du.dy*f0 + sd->dv.dy*f1 - (sd->du.dy + sd->dv.dy)*f2; +#endif + + return sd->u*f0 + sd->v*f1 + (1.0f - sd->u - sd->v)*f2; + } + else { + if(dx) *dx = 0.0f; + if(dy) *dy = 0.0f; + + return 0.0f; + } +} + +__device float3 triangle_attribute_float3(KernelGlobals *kg, const ShaderData *sd, AttributeElement elem, int offset, float3 *dx, float3 *dy) +{ + if(elem == ATTR_ELEMENT_FACE) { + if(dx) *dx = make_float3(0.0f, 0.0f, 0.0f); + if(dy) *dy = make_float3(0.0f, 0.0f, 0.0f); + + return as_float3(kernel_tex_fetch(__attributes_float3, offset + sd->prim)); + } + else if(elem == ATTR_ELEMENT_VERTEX) { + float3 tri_vindex = as_float3(kernel_tex_fetch(__tri_vindex, sd->prim)); + + float3 f0 = as_float3(kernel_tex_fetch(__attributes_float3, offset + __float_as_int(tri_vindex.x))); + float3 f1 = as_float3(kernel_tex_fetch(__attributes_float3, offset + __float_as_int(tri_vindex.y))); + float3 f2 = as_float3(kernel_tex_fetch(__attributes_float3, offset + __float_as_int(tri_vindex.z))); + +#ifdef __RAY_DIFFERENTIALS__ + if(dx) *dx = sd->du.dx*f0 + sd->dv.dx*f1 - (sd->du.dx + sd->dv.dx)*f2; + if(dy) *dy = sd->du.dy*f0 + sd->dv.dy*f1 - (sd->du.dy + sd->dv.dy)*f2; +#endif + + return sd->u*f0 + sd->v*f1 + (1.0f - sd->u - sd->v)*f2; + } + else if(elem == ATTR_ELEMENT_CORNER) { + int tri = offset + sd->prim; + float3 f0 = as_float3(kernel_tex_fetch(__attributes_float3, tri*3 + 0)); + float3 f1 = as_float3(kernel_tex_fetch(__attributes_float3, tri*3 + 1)); + float3 f2 = as_float3(kernel_tex_fetch(__attributes_float3, tri*3 + 2)); + +#ifdef __RAY_DIFFERENTIALS__ + if(dx) *dx = sd->du.dx*f0 + sd->dv.dx*f1 - (sd->du.dx + sd->dv.dx)*f2; + if(dy) *dy = sd->du.dy*f0 + sd->dv.dy*f1 - (sd->du.dy + sd->dv.dy)*f2; +#endif + + return sd->u*f0 + sd->v*f1 + (1.0f - sd->u - sd->v)*f2; + } + else { + if(dx) *dx = make_float3(0.0f, 0.0f, 0.0f); + if(dy) *dy = make_float3(0.0f, 0.0f, 0.0f); + + return make_float3(0.0f, 0.0f, 0.0f); + } +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h new file mode 100644 index 00000000000..8e378d2871b --- /dev/null +++ b/intern/cycles/kernel/kernel_types.h @@ -0,0 +1,374 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __KERNEL_TYPES_H__ +#define __KERNEL_TYPES_H__ + +#include "kernel_math.h" + +#ifndef __KERNEL_OPENCL__ + +#include "svm_types.h" + +#endif + +CCL_NAMESPACE_BEGIN + +#define OBJECT_SIZE 16 + +#define __INSTANCING__ +#define __DPDU__ +#define __UV__ +#define __BACKGROUND__ +#define __EMISSION__ +#define __CAUSTICS_TRICKS__ +#define __SVM__ +#define __SOBOL__ +#define __TEXTURES__ +#define __RAY_DIFFERENTIALS__ +#define __CAMERA_CLIPPING__ +#define __INTERSECTION_REFINE__ +//#define __SOBOL_FULL_SCREEN__ +//#define __MODIFY_TP__ +//#define __QBVH__ + +/* Path Tracing */ + +enum PathTraceDimension { + PRNG_FILTER_U = 0, + PRNG_FILTER_V = 1, + PRNG_LENS_U = 2, + PRNG_LENS_V = 3, + PRNG_BASE_NUM = 4, + + PRNG_BSDF_U = 0, + PRNG_BSDF_V = 1, + PRNG_BSDF = 2, + PRNG_LIGHT = 3, + PRNG_LIGHT_U = 4, + PRNG_LIGHT_V = 5, + PRNG_LIGHT_F = 6, + PRNG_TERMINATE = 7, + PRNG_BOUNCE_NUM = 8 +}; + +/* these flag values correspond exactly to OSL defaults, so be careful not to + * change this, or if you do, set the "raytypes" shading system attribute with + * your own new ray types and bitflag values */ +enum PathRayFlag { + PATH_RAY_CAMERA = 1, + PATH_RAY_SHADOW = 2, + PATH_RAY_REFLECT = 4, + PATH_RAY_TRANSMIT = 8, + PATH_RAY_DIFFUSE = 16, + PATH_RAY_GLOSSY = 32, + PATH_RAY_SINGULAR = 64 +}; + +/* Bidirectional Path Tracing */ + +enum BidirTraceDimension { + BRNG_FILTER_U = 0, + BRNG_FILTER_V = 1, + BRNG_LENS_U = 2, + BRNG_LENS_V = 3, + BRNG_LIGHT_U = 4, + BRNG_LIGHT_V = 5, + BRNG_LIGHT = 6, + BRNG_LIGHT_F = 7, + BRNG_EMISSIVE_U = 8, + BRNG_EMISSIVE_V = 9, + BRNG_BASE_NUM = 10, + + BRNG_BSDF_U = 0, + BRNG_BSDF_V = 1, + BRNG_BSDF = 2, + BRNG_TERMINATE = 3, + BRNG_BOUNCE_NUM = 4 +}; + +/* Closure Label */ + +typedef enum ClosureLabel { + LABEL_NONE = 0, + LABEL_CAMERA = 1, + LABEL_LIGHT = 2, + LABEL_BACKGROUND = 4, + LABEL_TRANSMIT = 8, + LABEL_REFLECT = 16, + LABEL_VOLUME = 32, + LABEL_OBJECT = 64, + LABEL_DIFFUSE = 128, + LABEL_GLOSSY = 256, + LABEL_SINGULAR = 512, + LABEL_STRAIGHT = 1024, + LABEL_STOP = 2048 +} ClosureLabel; + +/* Ray Type */ + +typedef enum RayType { + RayTypeCamera = 1, + RayTypeShadow = 2, + RayTypeReflection = 4, + RayTypeRefraction = 8, + RayTypeDiffuse = 16, + RayTypeGlossy = 32 +} RayType; + +/* Differential */ + +typedef struct differential3 { + float3 dx; + float3 dy; +} differential3; + +typedef struct differential { + float dx; + float dy; +} differential; + +/* Ray */ + +typedef struct Ray { + float3 P; + float3 D; + float t; + +#ifdef __RAY_DIFFERENTIALS__ + differential3 dP; + differential3 dD; +#endif +} Ray; + +/* Intersection */ + +typedef struct Intersection { + float t, u, v; + int prim; + int object; +} Intersection; + +/* Attributes */ + +typedef enum AttributeElement { + ATTR_ELEMENT_FACE, + ATTR_ELEMENT_VERTEX, + ATTR_ELEMENT_CORNER, + ATTR_ELEMENT_VALUE, + ATTR_ELEMENT_NONE +} AttributeElement; + +/* OSL data */ + +#if !defined(__KERNEL_GPU__) && defined(WITH_OSL) + +#define MAX_OSL_CLOSURE 8 + +struct FlatClosure { + void *prim; + float3 weight; + float sample_weight; +}; + +#endif + +/* Shader Data + * + * Main shader state at a point on the surface or in a volume. All coordinates + * are in world space. */ + +enum ShaderDataFlag { + SD_BACKFACING = 1, /* backside of surface? */ + SD_EMISSION = 2, /* have emissive closure? */ + SD_BSDF_HAS_EVAL = 4, /* have non-singular bsdf closure? */ + SD_BSDF_GLOSSY = 8 /* have glossy bsdf */ +}; + +typedef struct ShaderData { + /* position */ + float3 P; + /* smooth normal for shading */ + float3 N; + /* true geometric normal */ + float3 Ng; + /* view/incoming direction */ + float3 I; + /* shader id */ + int shader; + /* booleans describing shader, see ShaderDataFlag */ + int flag; + + /* primitive id if there is one, ~0 otherwise */ + int prim; + /* parametric coordinates + * - barycentric weights for triangles + * - latlong coordinates for background */ + float u, v; + /* object id if there is one, ~0 otherwise */ + int object; + +#ifdef __RAY_DIFFERENTIALS__ + /* differential of P. these are orthogonal to Ng, not N */ + differential3 dP; + /* differential of I */ + differential3 dI; + /* differential of u, v */ + differential du; + differential dv; +#endif +#ifdef __DPDU__ + /* differential of P w.r.t. parametric coordinates. note that dPdu is + * not readily suitable as a tangent for shading on triangles. */ + float3 dPdu, dPdv; +#endif + + /* SVM closure data. we always sample a single closure, to get fixed + * memory usage, svm_closure_data contains closure parameters. */ +#ifndef __KERNEL_OPENCL__ + ClosureType svm_closure; +#endif + float3 svm_closure_weight; + float svm_closure_data[3]; /* CUDA gives compile error if out of bounds */ + +#if !defined(__KERNEL_GPU__) && defined(WITH_OSL) + /* OSL closure data and context. we store all closures flattened into + * lists per type, different from SVM. */ + struct { + FlatClosure bsdf[MAX_OSL_CLOSURE]; + FlatClosure emissive[MAX_OSL_CLOSURE]; + FlatClosure volume[MAX_OSL_CLOSURE]; + + int num_bsdf; + int num_emissive; + int num_volume; + + float bsdf_sample_sum; + float emissive_sample_sum; + float volume_sample_sum; + + float randb; + } osl_closure; + + void *osl_ctx; +#endif +} ShaderData; + +/* Constrant Kernel Data */ + +typedef struct KernelCamera { + /* type */ + int ortho; + int pad; + + /* size */ + int width, height; + + /* matrices */ + Transform cameratoworld; + Transform rastertocamera; + + /* depth of field */ + float lensradius; + float focaldistance; + + /* motion blur */ + float shutteropen; + float shutterclose; + + /* differentials */ + float3 dx, dy; + + /* clipping */ + float nearclip; + float cliplength; + + /* more matrices */ + Transform screentoworld; + Transform rastertoworld; + Transform ndctoworld; + Transform worldtoscreen; + Transform worldtoraster; + Transform worldtondc; + Transform worldtocamera; +} KernelCamera; + +typedef struct KernelFilm { + float exposure; + int use_response_curve; + int pad1, pad2; +} KernelFilm; + +typedef struct KernelBackground { + /* only shader index */ + int shader; + int pad1, pad2, pad3; +} KernelBackground; + +typedef struct KernelSunSky { + /* sun direction in spherical and cartesian */ + float theta, phi; + float3 dir; + float pad; + + /* perez function parameters */ + float zenith_Y, zenith_x, zenith_y; + float perez_Y[5], perez_x[5], perez_y[5]; +} KernelSunSky; + +typedef struct KernelIntegrator { + /* emission */ + int use_emission; + int num_triangles; + int num_distribution; + int num_lights; + float pdf_triangles; + float pdf_lights; + + /* path tracing */ + int minbounce; + int maxbounce; + + /* caustics */ + int no_caustics; + float blur_caustics; + + /* padding */ + int pad; +} KernelIntegrator; + +typedef struct KernelBVH { + /* root node */ + int root; + int attributes_map_stride; + int pad1, pad2; +} KernelBVH; + +typedef struct KernelData { + KernelCamera cam; + KernelFilm film; + KernelBackground background; + KernelSunSky sunsky; + KernelIntegrator integrator; + KernelBVH bvh; +} KernelData; + +CCL_NAMESPACE_END + +#endif /* __KERNEL_TYPES_H__ */ + diff --git a/intern/cycles/kernel/osl/CMakeLists.txt b/intern/cycles/kernel/osl/CMakeLists.txt new file mode 100644 index 00000000000..3ca3fa4cd6b --- /dev/null +++ b/intern/cycles/kernel/osl/CMakeLists.txt @@ -0,0 +1,33 @@ + +INCLUDE_DIRECTORIES(. ../ ../svm ../../render ../../util ../../device) + +SET(sources + background.cpp + bsdf_ashikhmin_velvet.cpp + bsdf_diffuse.cpp + bsdf_microfacet.cpp + bsdf_reflection.cpp + bsdf_refraction.cpp + bsdf_transparent.cpp + bsdf_ward.cpp + bsdf_westin.cpp + bssrdf.cpp + debug.cpp + emissive.cpp + osl_closures.cpp + osl_services.cpp + osl_shader.cpp + vol_subsurface.cpp) + +SET(headers + osl_closures.h + osl_globals.h + osl_services.h + osl_shader.h) + +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${RTTI_DISABLE_FLAGS}") + +ADD_LIBRARY(kernel_osl ${sources} ${headers}) + +ADD_SUBDIRECTORY(nodes) + diff --git a/intern/cycles/kernel/osl/background.cpp b/intern/cycles/kernel/osl/background.cpp new file mode 100644 index 00000000000..c35119ae9cf --- /dev/null +++ b/intern/cycles/kernel/osl/background.cpp @@ -0,0 +1,100 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include + +#include "osl_closures.h" + +CCL_NAMESPACE_BEGIN + +using namespace OSL; + +/// Generic background closure +/// +/// We only have a background closure for the shaders +/// to return a color in background shaders. No methods, +/// only the weight is taking into account +/// +class GenericBackgroundClosure : public BackgroundClosure { +public: + GenericBackgroundClosure() { } + + void setup() {}; + + size_t memsize () const { return sizeof(*this); } + + const char *name () const { return "background"; } + + void print_on (std::ostream &out) const { + out << name() << " ()"; + } + +}; + + +/// Holdout closure +/// +/// This will be used by the shader to mark the +/// amount of holdout for the current shading +/// point. No parameters, only the weight will be +/// used +/// +class HoldoutClosure : ClosurePrimitive { +public: + HoldoutClosure () : ClosurePrimitive (Holdout) { } + + void setup() {}; + + size_t memsize () const { return sizeof(*this); } + + const char *name () const { return "holdout"; } + + void print_on (std::ostream &out) const { + out << name() << " ()"; + } +}; + +ClosureParam closure_background_params[] = { + CLOSURE_STRING_KEYPARAM("label"), + CLOSURE_FINISH_PARAM(GenericBackgroundClosure) }; + +CLOSURE_PREPARE(closure_background_prepare, GenericBackgroundClosure) + +ClosureParam closure_holdout_params[] = { + CLOSURE_FINISH_PARAM(HoldoutClosure) }; + +CLOSURE_PREPARE(closure_holdout_prepare, HoldoutClosure) + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/osl/bsdf_ashikhmin_velvet.cpp b/intern/cycles/kernel/osl/bsdf_ashikhmin_velvet.cpp new file mode 100644 index 00000000000..a38c5b55cf5 --- /dev/null +++ b/intern/cycles/kernel/osl/bsdf_ashikhmin_velvet.cpp @@ -0,0 +1,175 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include + +#include "osl_closures.h" + +CCL_NAMESPACE_BEGIN + +using namespace OSL; + +class AshikhminVelvetClosure : public BSDFClosure { +public: + Vec3 m_N; + float m_sigma; + float m_invsigma2; + + AshikhminVelvetClosure() : BSDFClosure(Labels::DIFFUSE) { } + + void setup() + { + m_sigma = std::max(m_sigma, 0.01f); + m_invsigma2 = 1.0f/(m_sigma * m_sigma); + } + + bool mergeable (const ClosurePrimitive *other) const { + const AshikhminVelvetClosure *comp = (const AshikhminVelvetClosure *)other; + return m_N == comp->m_N && m_sigma == comp->m_sigma && + BSDFClosure::mergeable(other); + } + + size_t memsize () const { return sizeof(*this); } + + const char *name () const { return "ashikhmin_velvet"; } + + void print_on (std::ostream &out) const + { + out << name() << " ("; + out << "(" << m_N[0] << ", " << m_N[1] << ", " << m_N[2] << "), "; + out << m_sigma; + out << ")"; + } + + float albedo (const Vec3 &omega_out) const + { + return 1.0f; + } + + Color3 eval_reflect (const Vec3 &omega_out, const Vec3 &omega_in, float& pdf) const + { + float cosNO = m_N.dot(omega_out); + float cosNI = m_N.dot(omega_in); + if (cosNO > 0 && cosNI > 0) { + Vec3 H = omega_in + omega_out; + H.normalize(); + + float cosNH = m_N.dot(H); + float cosHO = fabsf(omega_out.dot(H)); + + float cosNHdivHO = cosNH / cosHO; + cosNHdivHO = std::max(cosNHdivHO, 0.00001f); + + float fac1 = 2 * fabsf(cosNHdivHO * cosNO); + float fac2 = 2 * fabsf(cosNHdivHO * cosNI); + + float sinNH2 = 1 - cosNH * cosNH; + float sinNH4 = sinNH2 * sinNH2; + float cotangent2 = (cosNH * cosNH) / sinNH2; + + float D = expf(-cotangent2 * m_invsigma2) * m_invsigma2 * float(M_1_PI) / sinNH4; + float G = std::min(1.0f, std::min(fac1, fac2)); // TODO: derive G from D analytically + + float out = 0.25f * (D * G) / cosNO; + + pdf = 0.5f * (float) M_1_PI; + return Color3 (out, out, out); + } + return Color3 (0, 0, 0); + } + + Color3 eval_transmit (const Vec3 &omega_out, const Vec3 &omega_in, float& pdf) const + { + return Color3 (0, 0, 0); + } + + ustring sample (const Vec3 &Ng, + const Vec3 &omega_out, const Vec3 &domega_out_dx, const Vec3 &domega_out_dy, + float randu, float randv, + Vec3 &omega_in, Vec3 &domega_in_dx, Vec3 &domega_in_dy, + float &pdf, Color3 &eval) const + { + // we are viewing the surface from above - send a ray out with uniform + // distribution over the hemisphere + sample_uniform_hemisphere (m_N, omega_out, randu, randv, omega_in, pdf); + if (Ng.dot(omega_in) > 0) { + Vec3 H = omega_in + omega_out; + H.normalize(); + + float cosNI = m_N.dot(omega_in); + float cosNO = m_N.dot(omega_out); + float cosNH = m_N.dot(H); + float cosHO = fabsf(omega_out.dot(H)); + + float cosNHdivHO = cosNH / cosHO; + cosNHdivHO = std::max(cosNHdivHO, 0.00001f); + + float fac1 = 2 * fabsf(cosNHdivHO * cosNO); + float fac2 = 2 * fabsf(cosNHdivHO * cosNI); + + float sinNH2 = 1 - cosNH * cosNH; + float sinNH4 = sinNH2 * sinNH2; + float cotangent2 = (cosNH * cosNH) / sinNH2; + + float D = expf(-cotangent2 * m_invsigma2) * m_invsigma2 * float(M_1_PI) / sinNH4; + float G = std::min(1.0f, std::min(fac1, fac2)); // TODO: derive G from D analytically + + float power = 0.25f * (D * G) / cosNO; + + eval.setValue(power, power, power); + + // TODO: find a better approximation for the retroreflective bounce + domega_in_dx = (2 * m_N.dot(domega_out_dx)) * m_N - domega_out_dx; + domega_in_dy = (2 * m_N.dot(domega_out_dy)) * m_N - domega_out_dy; + domega_in_dx *= 125; + domega_in_dy *= 125; + } else + pdf = 0; + return Labels::REFLECT; + } + +}; + + + +ClosureParam bsdf_ashikhmin_velvet_params[] = { + CLOSURE_VECTOR_PARAM(AshikhminVelvetClosure, m_N), + CLOSURE_FLOAT_PARAM (AshikhminVelvetClosure, m_sigma), + CLOSURE_STRING_KEYPARAM("label"), + CLOSURE_FINISH_PARAM(AshikhminVelvetClosure) }; + +CLOSURE_PREPARE(bsdf_ashikhmin_velvet_prepare, AshikhminVelvetClosure) + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/osl/bsdf_diffuse.cpp b/intern/cycles/kernel/osl/bsdf_diffuse.cpp new file mode 100644 index 00000000000..0d4b3fa471f --- /dev/null +++ b/intern/cycles/kernel/osl/bsdf_diffuse.cpp @@ -0,0 +1,181 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include + +#include "osl_closures.h" + +CCL_NAMESPACE_BEGIN + +using namespace OSL; + +class DiffuseClosure : public BSDFClosure { +public: + Vec3 m_N; + + DiffuseClosure() : BSDFClosure(Labels::DIFFUSE) { } + + void setup() {}; + + bool mergeable (const ClosurePrimitive *other) const { + const DiffuseClosure *comp = (const DiffuseClosure *)other; + return m_N == comp->m_N && BSDFClosure::mergeable(other); + } + + size_t memsize () const { return sizeof(*this); } + + const char *name () const { return "diffuse"; } + + void print_on (std::ostream &out) const + { + out << name() << " ((" << m_N[0] << ", " << m_N[1] << ", " << m_N[2] << "))"; + } + + float albedo (const Vec3 &omega_out) const + { + return 1.0f; + } + + Color3 eval_reflect (const Vec3 &omega_out, const Vec3 &omega_in, float& pdf) const + { + float cos_pi = std::max(m_N.dot(omega_in),0.0f) * (float) M_1_PI; + pdf = cos_pi; + return Color3 (cos_pi, cos_pi, cos_pi); + } + + Color3 eval_transmit (const Vec3 &omega_out, const Vec3 &omega_in, float& pdf) const + { + return Color3 (0, 0, 0); + } + + ustring sample (const Vec3 &Ng, + const Vec3 &omega_out, const Vec3 &domega_out_dx, const Vec3 &domega_out_dy, + float randu, float randv, + Vec3 &omega_in, Vec3 &domega_in_dx, Vec3 &domega_in_dy, + float &pdf, Color3 &eval) const + { + // we are viewing the surface from the right side - send a ray out with cosine + // distribution over the hemisphere + sample_cos_hemisphere (m_N, omega_out, randu, randv, omega_in, pdf); + if (Ng.dot(omega_in) > 0) { + eval.setValue(pdf, pdf, pdf); + // TODO: find a better approximation for the diffuse bounce + domega_in_dx = (2 * m_N.dot(domega_out_dx)) * m_N - domega_out_dx; + domega_in_dy = (2 * m_N.dot(domega_out_dy)) * m_N - domega_out_dy; + domega_in_dx *= 125; + domega_in_dy *= 125; + } else + pdf = 0; + return Labels::REFLECT; + } +}; + + + +class TranslucentClosure : public BSDFClosure { +public: + Vec3 m_N; + + TranslucentClosure() : BSDFClosure(Labels::DIFFUSE, Back) { } + + void setup() {}; + + bool mergeable (const ClosurePrimitive *other) const { + const TranslucentClosure *comp = (const TranslucentClosure *)other; + return m_N == comp->m_N && BSDFClosure::mergeable(other); + } + + size_t memsize () const { return sizeof(*this); } + + const char *name () const { return "translucent"; } + + void print_on (std::ostream &out) const + { + out << name() << " ((" << m_N[0] << ", " << m_N[1] << ", " << m_N[2] << "))"; + } + + Color3 eval_reflect (const Vec3 &omega_out, const Vec3 &omega_in, float& pdf) const + { + return Color3 (0, 0, 0); + } + + float albedo (const Vec3 &omega_out) const + { + return 1.0f; + } + + Color3 eval_transmit (const Vec3 &omega_out, const Vec3 &omega_in, float& pdf) const + { + float cos_pi = std::max(-m_N.dot(omega_in), 0.0f) * (float) M_1_PI; + pdf = cos_pi; + return Color3 (cos_pi, cos_pi, cos_pi); + } + + ustring sample (const Vec3 &Ng, + const Vec3 &omega_out, const Vec3 &domega_out_dx, const Vec3 &domega_out_dy, + float randu, float randv, + Vec3 &omega_in, Vec3 &domega_in_dx, Vec3 &domega_in_dy, + float &pdf, Color3 &eval) const + { + // we are viewing the surface from the right side - send a ray out with cosine + // distribution over the hemisphere + sample_cos_hemisphere (-m_N, omega_out, randu, randv, omega_in, pdf); + if (Ng.dot(omega_in) < 0) { + eval.setValue(pdf, pdf, pdf); + // TODO: find a better approximation for the diffuse bounce + domega_in_dx = (2 * m_N.dot(domega_out_dx)) * m_N - domega_out_dx; + domega_in_dy = (2 * m_N.dot(domega_out_dy)) * m_N - domega_out_dy; + domega_in_dx *= -125; + domega_in_dy *= -125; + } else + pdf = 0; + return Labels::TRANSMIT; + } +}; + +ClosureParam bsdf_diffuse_params[] = { + CLOSURE_VECTOR_PARAM (DiffuseClosure, m_N), + CLOSURE_STRING_KEYPARAM("label"), + CLOSURE_FINISH_PARAM (DiffuseClosure) }; + +ClosureParam bsdf_translucent_params[] = { + CLOSURE_VECTOR_PARAM (TranslucentClosure, m_N), + CLOSURE_STRING_KEYPARAM("label"), + CLOSURE_FINISH_PARAM (TranslucentClosure) }; + +CLOSURE_PREPARE(bsdf_diffuse_prepare, DiffuseClosure) +CLOSURE_PREPARE(bsdf_translucent_prepare, TranslucentClosure) + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/osl/bsdf_microfacet.cpp b/intern/cycles/kernel/osl/bsdf_microfacet.cpp new file mode 100644 index 00000000000..d87268da81e --- /dev/null +++ b/intern/cycles/kernel/osl/bsdf_microfacet.cpp @@ -0,0 +1,533 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include + +#include "osl_closures.h" + +#include "util_math.h" + +using namespace OSL; + +CCL_NAMESPACE_BEGIN + +// TODO: fresnel_dielectric is only used for derivatives, could be optimized + +// TODO: refactor these two classes so they share everything by the microfacet +// distribution terms + +// microfacet model with GGX facet distribution +// see http://www.graphics.cornell.edu/~bjw/microfacetbsdf.pdf +template +class MicrofacetGGXClosure : public BSDFClosure { +public: + Vec3 m_N; + float m_ag; // width parameter (roughness) + float m_eta; // index of refraction (for fresnel term) + MicrofacetGGXClosure() : BSDFClosure(Labels::GLOSSY, Refractive ? Back : Front) { m_eta = 1.0f; } + + void setup() + { + m_ag = clamp(m_ag, 1e-5f, 1.0f); + } + + bool mergeable (const ClosurePrimitive *other) const { + const MicrofacetGGXClosure *comp = (const MicrofacetGGXClosure *)other; + return m_N == comp->m_N && m_ag == comp->m_ag && + m_eta == comp->m_eta && BSDFClosure::mergeable(other); + } + + size_t memsize () const { return sizeof(*this); } + + const char *name () const { + return Refractive ? "microfacet_ggx_refraction" : "microfacet_ggx"; + } + + void print_on (std::ostream &out) const { + out << name() << " ("; + out << "(" << m_N[0] << ", " << m_N[1] << ", " << m_N[2] << "), "; + out << m_ag << ", "; + out << m_eta; + out << ")"; + } + + float albedo (const Vec3 &omega_out) const + { + return 1.0f; + } + + Color3 eval_reflect (const Vec3 &omega_out, const Vec3 &omega_in, float& pdf) const + { + if (Refractive == 1) return Color3 (0, 0, 0); + float cosNO = m_N.dot(omega_out); + float cosNI = m_N.dot(omega_in); + if (cosNI > 0 && cosNO > 0) { + // get half vector + Vec3 Hr = omega_in + omega_out; + Hr.normalize(); + // eq. 20: (F*G*D)/(4*in*on) + // eq. 33: first we calculate D(m) with m=Hr: + float alpha2 = m_ag * m_ag; + float cosThetaM = m_N.dot(Hr); + float cosThetaM2 = cosThetaM * cosThetaM; + float tanThetaM2 = (1 - cosThetaM2) / cosThetaM2; + float cosThetaM4 = cosThetaM2 * cosThetaM2; + float D = alpha2 / ((float) M_PI * cosThetaM4 * (alpha2 + tanThetaM2) * (alpha2 + tanThetaM2)); + // eq. 34: now calculate G1(i,m) and G1(o,m) + float G1o = 2 / (1 + sqrtf(1 + alpha2 * (1 - cosNO * cosNO) / (cosNO * cosNO))); + float G1i = 2 / (1 + sqrtf(1 + alpha2 * (1 - cosNI * cosNI) / (cosNI * cosNI))); + float G = G1o * G1i; + float out = (G * D) * 0.25f / cosNO; + // eq. 24 + float pm = D * cosThetaM; + // convert into pdf of the sampled direction + // eq. 38 - but see also: + // eq. 17 in http://www.graphics.cornell.edu/~bjw/wardnotes.pdf + pdf = pm * 0.25f / Hr.dot(omega_out); + return Color3 (out, out, out); + } + return Color3 (0, 0, 0); + } + + Color3 eval_transmit (const Vec3 &omega_out, const Vec3 &omega_in, float& pdf) const + { + if (Refractive == 0) return Color3 (0, 0, 0); + float cosNO = m_N.dot(omega_out); + float cosNI = m_N.dot(omega_in); + if (cosNO <= 0 || cosNI >= 0) + return Color3 (0, 0, 0); // vectors on same side -- not possible + // compute half-vector of the refraction (eq. 16) + Vec3 ht = -(m_eta * omega_in + omega_out); + Vec3 Ht = ht; Ht.normalize(); + float cosHO = Ht.dot(omega_out); + + float cosHI = Ht.dot(omega_in); + // eq. 33: first we calculate D(m) with m=Ht: + float alpha2 = m_ag * m_ag; + float cosThetaM = m_N.dot(Ht); + float cosThetaM2 = cosThetaM * cosThetaM; + float tanThetaM2 = (1 - cosThetaM2) / cosThetaM2; + float cosThetaM4 = cosThetaM2 * cosThetaM2; + float D = alpha2 / ((float) M_PI * cosThetaM4 * (alpha2 + tanThetaM2) * (alpha2 + tanThetaM2)); + // eq. 34: now calculate G1(i,m) and G1(o,m) + float G1o = 2 / (1 + sqrtf(1 + alpha2 * (1 - cosNO * cosNO) / (cosNO * cosNO))); + float G1i = 2 / (1 + sqrtf(1 + alpha2 * (1 - cosNI * cosNI) / (cosNI * cosNI))); + float G = G1o * G1i; + // probability + float invHt2 = 1 / ht.dot(ht); + pdf = D * fabsf(cosThetaM) * (fabsf(cosHI) * (m_eta * m_eta)) * invHt2; + float out = (fabsf(cosHI * cosHO) * (m_eta * m_eta) * (G * D) * invHt2) / cosNO; + return Color3 (out, out, out); + } + + ustring sample (const Vec3 &Ng, + const Vec3 &omega_out, const Vec3 &domega_out_dx, const Vec3 &domega_out_dy, + float randu, float randv, + Vec3 &omega_in, Vec3 &domega_in_dx, Vec3 &domega_in_dy, + float &pdf, Color3 &eval) const + { + float cosNO = m_N.dot(omega_out); + if (cosNO > 0) { + Vec3 X, Y, Z = m_N; + make_orthonormals(Z, X, Y); + // generate a random microfacet normal m + // eq. 35,36: + // we take advantage of cos(atan(x)) == 1/sqrt(1+x^2) + // and sin(atan(x)) == x/sqrt(1+x^2) + float alpha2 = m_ag * m_ag; + float tanThetaM2 = alpha2 * randu / (1 - randu); + float cosThetaM = 1 / sqrtf(1 + tanThetaM2); + float sinThetaM = cosThetaM * sqrtf(tanThetaM2); + float phiM = 2 * float(M_PI) * randv; + Vec3 m = (cosf(phiM) * sinThetaM) * X + + (sinf(phiM) * sinThetaM) * Y + + cosThetaM * Z; + if (Refractive == 0) { + float cosMO = m.dot(omega_out); + if (cosMO > 0) { + // eq. 39 - compute actual reflected direction + omega_in = 2 * cosMO * m - omega_out; + if (Ng.dot(omega_in) > 0) { + // microfacet normal is visible to this ray + // eq. 33 + float cosThetaM2 = cosThetaM * cosThetaM; + float cosThetaM4 = cosThetaM2 * cosThetaM2; + float D = alpha2 / (float(M_PI) * cosThetaM4 * (alpha2 + tanThetaM2) * (alpha2 + tanThetaM2)); + // eq. 24 + float pm = D * cosThetaM; + // convert into pdf of the sampled direction + // eq. 38 - but see also: + // eq. 17 in http://www.graphics.cornell.edu/~bjw/wardnotes.pdf + pdf = pm * 0.25f / cosMO; + // eval BRDF*cosNI + float cosNI = m_N.dot(omega_in); + // eq. 34: now calculate G1(i,m) and G1(o,m) + float G1o = 2 / (1 + sqrtf(1 + alpha2 * (1 - cosNO * cosNO) / (cosNO * cosNO))); + float G1i = 2 / (1 + sqrtf(1 + alpha2 * (1 - cosNI * cosNI) / (cosNI * cosNI))); + float G = G1o * G1i; + // eq. 20: (F*G*D)/(4*in*on) + float out = (G * D) * 0.25f / cosNO; + eval.setValue(out, out, out); + domega_in_dx = (2 * m.dot(domega_out_dx)) * m - domega_out_dx; + domega_in_dy = (2 * m.dot(domega_out_dy)) * m - domega_out_dy; + + /* disabled for now - gives texture filtering problems */ +#if 0 + // Since there is some blur to this reflection, make the + // derivatives a bit bigger. In theory this varies with the + // roughness but the exact relationship is complex and + // requires more ops than are practical. + domega_in_dx *= 10; + domega_in_dy *= 10; +#endif + } + } + } else { + // CAUTION: the i and o variables are inverted relative to the paper + // eq. 39 - compute actual refractive direction + Vec3 R, dRdx, dRdy; + Vec3 T, dTdx, dTdy; + bool inside; + fresnel_dielectric(m_eta, m, omega_out, domega_out_dx, domega_out_dy, + R, dRdx, dRdy, + T, dTdx, dTdy, + inside); + + if (!inside) { + omega_in = T; + domega_in_dx = dTdx; + domega_in_dy = dTdy; + // eq. 33 + float cosThetaM2 = cosThetaM * cosThetaM; + float cosThetaM4 = cosThetaM2 * cosThetaM2; + float D = alpha2 / (float(M_PI) * cosThetaM4 * (alpha2 + tanThetaM2) * (alpha2 + tanThetaM2)); + // eq. 24 + float pm = D * cosThetaM; + // eval BRDF*cosNI + float cosNI = m_N.dot(omega_in); + // eq. 34: now calculate G1(i,m) and G1(o,m) + float G1o = 2 / (1 + sqrtf(1 + alpha2 * (1 - cosNO * cosNO) / (cosNO * cosNO))); + float G1i = 2 / (1 + sqrtf(1 + alpha2 * (1 - cosNI * cosNI) / (cosNI * cosNI))); + float G = G1o * G1i; + // eq. 21 + float cosHI = m.dot(omega_in); + float cosHO = m.dot(omega_out); + float Ht2 = m_eta * cosHI + cosHO; + Ht2 *= Ht2; + float out = (fabsf(cosHI * cosHO) * (m_eta * m_eta) * (G * D)) / (cosNO * Ht2); + // eq. 38 and eq. 17 + pdf = pm * (m_eta * m_eta) * fabsf(cosHI) / Ht2; + eval.setValue(out, out, out); + + /* disabled for now - gives texture filtering problems */ +#if 0 + // Since there is some blur to this refraction, make the + // derivatives a bit bigger. In theory this varies with the + // roughness but the exact relationship is complex and + // requires more ops than are practical. + domega_in_dx *= 10; + domega_in_dy *= 10; +#endif + } + } + } + return Refractive ? Labels::TRANSMIT : Labels::REFLECT; + } +}; + +// microfacet model with Beckmann facet distribution +// see http://www.graphics.cornell.edu/~bjw/microfacetbsdf.pdf +template +class MicrofacetBeckmannClosure : public BSDFClosure { +public: + Vec3 m_N; + float m_ab; // width parameter (roughness) + float m_eta; // index of refraction (for fresnel term) + MicrofacetBeckmannClosure() : BSDFClosure(Labels::GLOSSY, Refractive ? Back : Front) { } + + void setup() + { + m_ab = clamp(m_ab, 1e-5f, 1.0f); + } + + bool mergeable (const ClosurePrimitive *other) const { + const MicrofacetBeckmannClosure *comp = (const MicrofacetBeckmannClosure *)other; + return m_N == comp->m_N && m_ab == comp->m_ab && + m_eta == comp->m_eta && BSDFClosure::mergeable(other); + } + + size_t memsize () const { return sizeof(*this); } + + const char * name () const { + return Refractive ? "microfacet_beckmann_refraction" + : "microfacet_beckmann"; + } + + void print_on (std::ostream &out) const + { + out << name() << " ("; + out << "(" << m_N[0] << ", " << m_N[1] << ", " << m_N[2] << "), "; + out << m_ab << ", "; + out << m_eta; + out << ")"; + } + + float albedo (const Vec3 &omega_out) const + { + return 1.0f; + } + + Color3 eval_reflect (const Vec3 &omega_out, const Vec3 &omega_in, float& pdf) const + { + if (Refractive == 1) return Color3 (0, 0, 0); + float cosNO = m_N.dot(omega_out); + float cosNI = m_N.dot(omega_in); + if (cosNO > 0 && cosNI > 0) { + // get half vector + Vec3 Hr = omega_in + omega_out; + Hr.normalize(); + // eq. 20: (F*G*D)/(4*in*on) + // eq. 25: first we calculate D(m) with m=Hr: + float alpha2 = m_ab * m_ab; + float cosThetaM = m_N.dot(Hr); + float cosThetaM2 = cosThetaM * cosThetaM; + float tanThetaM2 = (1 - cosThetaM2) / cosThetaM2; + float cosThetaM4 = cosThetaM2 * cosThetaM2; + float D = expf(-tanThetaM2 / alpha2) / (float(M_PI) * alpha2 * cosThetaM4); + // eq. 26, 27: now calculate G1(i,m) and G1(o,m) + float ao = 1 / (m_ab * sqrtf((1 - cosNO * cosNO) / (cosNO * cosNO))); + float ai = 1 / (m_ab * sqrtf((1 - cosNI * cosNI) / (cosNI * cosNI))); + float G1o = ao < 1.6f ? (3.535f * ao + 2.181f * ao * ao) / (1 + 2.276f * ao + 2.577f * ao * ao) : 1.0f; + float G1i = ai < 1.6f ? (3.535f * ai + 2.181f * ai * ai) / (1 + 2.276f * ai + 2.577f * ai * ai) : 1.0f; + float G = G1o * G1i; + float out = (G * D) * 0.25f / cosNO; + // eq. 24 + float pm = D * cosThetaM; + // convert into pdf of the sampled direction + // eq. 38 - but see also: + // eq. 17 in http://www.graphics.cornell.edu/~bjw/wardnotes.pdf + pdf = pm * 0.25f / Hr.dot(omega_out); + return Color3 (out, out, out); + } + return Color3 (0, 0, 0); + } + + Color3 eval_transmit (const Vec3 &omega_out, const Vec3 &omega_in, float& pdf) const + { + if (Refractive == 0) return Color3 (0, 0, 0); + float cosNO = m_N.dot(omega_out); + float cosNI = m_N.dot(omega_in); + if (cosNO <= 0 || cosNI >= 0) + return Color3 (0, 0, 0); + // compute half-vector of the refraction (eq. 16) + Vec3 ht = -(m_eta * omega_in + omega_out); + Vec3 Ht = ht; Ht.normalize(); + float cosHO = Ht.dot(omega_out); + + float cosHI = Ht.dot(omega_in); + // eq. 33: first we calculate D(m) with m=Ht: + float alpha2 = m_ab * m_ab; + float cosThetaM = m_N.dot(Ht); + float cosThetaM2 = cosThetaM * cosThetaM; + float tanThetaM2 = (1 - cosThetaM2) / cosThetaM2; + float cosThetaM4 = cosThetaM2 * cosThetaM2; + float D = expf(-tanThetaM2 / alpha2) / (float(M_PI) * alpha2 * cosThetaM4); + // eq. 26, 27: now calculate G1(i,m) and G1(o,m) + float ao = 1 / (m_ab * sqrtf((1 - cosNO * cosNO) / (cosNO * cosNO))); + float ai = 1 / (m_ab * sqrtf((1 - cosNI * cosNI) / (cosNI * cosNI))); + float G1o = ao < 1.6f ? (3.535f * ao + 2.181f * ao * ao) / (1 + 2.276f * ao + 2.577f * ao * ao) : 1.0f; + float G1i = ai < 1.6f ? (3.535f * ai + 2.181f * ai * ai) / (1 + 2.276f * ai + 2.577f * ai * ai) : 1.0f; + float G = G1o * G1i; + // probability + float invHt2 = 1 / ht.dot(ht); + pdf = D * fabsf(cosThetaM) * (fabsf(cosHI) * (m_eta * m_eta)) * invHt2; + float out = (fabsf(cosHI * cosHO) * (m_eta * m_eta) * (G * D) * invHt2) / cosNO; + return Color3 (out, out, out); + } + + ustring sample (const Vec3 &Ng, + const Vec3 &omega_out, const Vec3 &domega_out_dx, const Vec3 &domega_out_dy, + float randu, float randv, + Vec3 &omega_in, Vec3 &domega_in_dx, Vec3 &domega_in_dy, + float &pdf, Color3 &eval) const + { + float cosNO = m_N.dot(omega_out); + if (cosNO > 0) { + Vec3 X, Y, Z = m_N; + make_orthonormals(Z, X, Y); + // generate a random microfacet normal m + // eq. 35,36: + // we take advantage of cos(atan(x)) == 1/sqrt(1+x^2) + // and sin(atan(x)) == x/sqrt(1+x^2) + float alpha2 = m_ab * m_ab; + float tanThetaM = sqrtf(-alpha2 * logf(1 - randu)); + float cosThetaM = 1 / sqrtf(1 + tanThetaM * tanThetaM); + float sinThetaM = cosThetaM * tanThetaM; + float phiM = 2 * float(M_PI) * randv; + Vec3 m = (cosf(phiM) * sinThetaM) * X + + (sinf(phiM) * sinThetaM) * Y + + cosThetaM * Z; + if (Refractive == 0) { + float cosMO = m.dot(omega_out); + if (cosMO > 0) { + // eq. 39 - compute actual reflected direction + omega_in = 2 * cosMO * m - omega_out; + if (Ng.dot(omega_in) > 0) { + // microfacet normal is visible to this ray + // eq. 25 + float cosThetaM2 = cosThetaM * cosThetaM; + float tanThetaM2 = tanThetaM * tanThetaM; + float cosThetaM4 = cosThetaM2 * cosThetaM2; + float D = expf(-tanThetaM2 / alpha2) / (float(M_PI) * alpha2 * cosThetaM4); + // eq. 24 + float pm = D * cosThetaM; + // convert into pdf of the sampled direction + // eq. 38 - but see also: + // eq. 17 in http://www.graphics.cornell.edu/~bjw/wardnotes.pdf + pdf = pm * 0.25f / cosMO; + // Eval BRDF*cosNI + float cosNI = m_N.dot(omega_in); + // eq. 26, 27: now calculate G1(i,m) and G1(o,m) + float ao = 1 / (m_ab * sqrtf((1 - cosNO * cosNO) / (cosNO * cosNO))); + float ai = 1 / (m_ab * sqrtf((1 - cosNI * cosNI) / (cosNI * cosNI))); + float G1o = ao < 1.6f ? (3.535f * ao + 2.181f * ao * ao) / (1 + 2.276f * ao + 2.577f * ao * ao) : 1.0f; + float G1i = ai < 1.6f ? (3.535f * ai + 2.181f * ai * ai) / (1 + 2.276f * ai + 2.577f * ai * ai) : 1.0f; + float G = G1o * G1i; + // eq. 20: (F*G*D)/(4*in*on) + float out = (G * D) * 0.25f / cosNO; + eval.setValue(out, out, out); + domega_in_dx = (2 * m.dot(domega_out_dx)) * m - domega_out_dx; + domega_in_dy = (2 * m.dot(domega_out_dy)) * m - domega_out_dy; + + /* disabled for now - gives texture filtering problems */ +#if 0 + // Since there is some blur to this reflection, make the + // derivatives a bit bigger. In theory this varies with the + // roughness but the exact relationship is complex and + // requires more ops than are practical. + domega_in_dx *= 10; + domega_in_dy *= 10; +#endif + } + } + } else { + // CAUTION: the i and o variables are inverted relative to the paper + // eq. 39 - compute actual refractive direction + Vec3 R, dRdx, dRdy; + Vec3 T, dTdx, dTdy; + bool inside; + fresnel_dielectric(m_eta, m, omega_out, domega_out_dx, domega_out_dy, + R, dRdx, dRdy, + T, dTdx, dTdy, + inside); + if (!inside) { + omega_in = T; + domega_in_dx = dTdx; + domega_in_dy = dTdy; + // eq. 33 + float cosThetaM2 = cosThetaM * cosThetaM; + float tanThetaM2 = tanThetaM * tanThetaM; + float cosThetaM4 = cosThetaM2 * cosThetaM2; + float D = expf(-tanThetaM2 / alpha2) / (float(M_PI) * alpha2 * cosThetaM4); + // eq. 24 + float pm = D * cosThetaM; + // eval BRDF*cosNI + float cosNI = m_N.dot(omega_in); + // eq. 26, 27: now calculate G1(i,m) and G1(o,m) + float ao = 1 / (m_ab * sqrtf((1 - cosNO * cosNO) / (cosNO * cosNO))); + float ai = 1 / (m_ab * sqrtf((1 - cosNI * cosNI) / (cosNI * cosNI))); + float G1o = ao < 1.6f ? (3.535f * ao + 2.181f * ao * ao) / (1 + 2.276f * ao + 2.577f * ao * ao) : 1.0f; + float G1i = ai < 1.6f ? (3.535f * ai + 2.181f * ai * ai) / (1 + 2.276f * ai + 2.577f * ai * ai) : 1.0f; + float G = G1o * G1i; + // eq. 21 + float cosHI = m.dot(omega_in); + float cosHO = m.dot(omega_out); + float Ht2 = m_eta * cosHI + cosHO; + Ht2 *= Ht2; + float out = (fabsf(cosHI * cosHO) * (m_eta * m_eta) * (G * D)) / (cosNO * Ht2); + // eq. 38 and eq. 17 + pdf = pm * (m_eta * m_eta) * fabsf(cosHI) / Ht2; + eval.setValue(out, out, out); + + /* disabled for now - gives texture filtering problems */ +#if 0 + // Since there is some blur to this refraction, make the + // derivatives a bit bigger. In theory this varies with the + // roughness but the exact relationship is complex and + // requires more ops than are practical. + domega_in_dx *= 10; + domega_in_dy *= 10; +#endif + } + } + } + return Refractive ? Labels::TRANSMIT : Labels::REFLECT; + } +}; + + + +ClosureParam bsdf_microfacet_ggx_params[] = { + CLOSURE_VECTOR_PARAM(MicrofacetGGXClosure<0>, m_N), + CLOSURE_FLOAT_PARAM (MicrofacetGGXClosure<0>, m_ag), + CLOSURE_STRING_KEYPARAM("label"), + CLOSURE_FINISH_PARAM(MicrofacetGGXClosure<0>) }; + +ClosureParam bsdf_microfacet_ggx_refraction_params[] = { + CLOSURE_VECTOR_PARAM(MicrofacetGGXClosure<1>, m_N), + CLOSURE_FLOAT_PARAM (MicrofacetGGXClosure<1>, m_ag), + CLOSURE_FLOAT_PARAM (MicrofacetGGXClosure<1>, m_eta), + CLOSURE_STRING_KEYPARAM("label"), + CLOSURE_FINISH_PARAM(MicrofacetGGXClosure<1>) }; + +ClosureParam bsdf_microfacet_beckmann_params[] = { + CLOSURE_VECTOR_PARAM(MicrofacetBeckmannClosure<0>, m_N), + CLOSURE_FLOAT_PARAM (MicrofacetBeckmannClosure<0>, m_ab), + CLOSURE_STRING_KEYPARAM("label"), + CLOSURE_FINISH_PARAM(MicrofacetBeckmannClosure<0>) }; + +ClosureParam bsdf_microfacet_beckmann_refraction_params[] = { + CLOSURE_VECTOR_PARAM(MicrofacetBeckmannClosure<1>, m_N), + CLOSURE_FLOAT_PARAM (MicrofacetBeckmannClosure<1>, m_ab), + CLOSURE_FLOAT_PARAM (MicrofacetBeckmannClosure<1>, m_eta), + CLOSURE_STRING_KEYPARAM("label"), + CLOSURE_FINISH_PARAM(MicrofacetBeckmannClosure<1>) }; + +CLOSURE_PREPARE(bsdf_microfacet_ggx_prepare, MicrofacetGGXClosure<0>) +CLOSURE_PREPARE(bsdf_microfacet_ggx_refraction_prepare, MicrofacetGGXClosure<1>) +CLOSURE_PREPARE(bsdf_microfacet_beckmann_prepare, MicrofacetBeckmannClosure<0>) +CLOSURE_PREPARE(bsdf_microfacet_beckmann_refraction_prepare, MicrofacetBeckmannClosure<1>) + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/osl/bsdf_reflection.cpp b/intern/cycles/kernel/osl/bsdf_reflection.cpp new file mode 100644 index 00000000000..b0caff6df44 --- /dev/null +++ b/intern/cycles/kernel/osl/bsdf_reflection.cpp @@ -0,0 +1,108 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include + +#include "osl_closures.h" + +CCL_NAMESPACE_BEGIN + +using namespace OSL; + +class ReflectionClosure : public BSDFClosure { +public: + Vec3 m_N; // shading normal + ReflectionClosure() : BSDFClosure(Labels::SINGULAR) { } + + void setup() {}; + + bool mergeable (const ClosurePrimitive *other) const { + const ReflectionClosure *comp = (const ReflectionClosure *)other; + return m_N == comp->m_N && BSDFClosure::mergeable(other); + } + + size_t memsize () const { return sizeof(*this); } + + const char *name () const { return "reflection"; } + + void print_on (std::ostream &out) const { + out << name() << " ("; + out << "(" << m_N[0] << ", " << m_N[1] << ", " << m_N[2] << "))"; + } + + float albedo (const Vec3 &omega_out) const + { + return 1.0f; + } + + Color3 eval_reflect (const Vec3 &omega_out, const Vec3 &omega_in, float& pdf) const + { + return Color3 (0, 0, 0); + } + + Color3 eval_transmit (const Vec3 &omega_out, const Vec3 &omega_in, float& pdf) const + { + return Color3 (0, 0, 0); + } + + ustring sample (const Vec3 &Ng, + const Vec3 &omega_out, const Vec3 &domega_out_dx, const Vec3 &domega_out_dy, + float randu, float randv, + Vec3 &omega_in, Vec3 &domega_in_dx, Vec3 &domega_in_dy, + float &pdf, Color3 &eval) const + { + // only one direction is possible + float cosNO = m_N.dot(omega_out); + if (cosNO > 0) { + omega_in = (2 * cosNO) * m_N - omega_out; + if (Ng.dot(omega_in) > 0) { + domega_in_dx = 2 * m_N.dot(domega_out_dx) * m_N - domega_out_dx; + domega_in_dy = 2 * m_N.dot(domega_out_dy) * m_N - domega_out_dy; + pdf = 1; + eval.setValue(1, 1, 1); + } + } + return Labels::REFLECT; + } +}; + +ClosureParam bsdf_reflection_params[] = { + CLOSURE_VECTOR_PARAM(ReflectionClosure, m_N), + CLOSURE_STRING_KEYPARAM("label"), + CLOSURE_FINISH_PARAM(ReflectionClosure) }; + +CLOSURE_PREPARE(bsdf_reflection_prepare, ReflectionClosure) + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/osl/bsdf_refraction.cpp b/intern/cycles/kernel/osl/bsdf_refraction.cpp new file mode 100644 index 00000000000..3ae7a3811b4 --- /dev/null +++ b/intern/cycles/kernel/osl/bsdf_refraction.cpp @@ -0,0 +1,120 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include + +#include "osl_closures.h" + +CCL_NAMESPACE_BEGIN + +using namespace OSL; + +class RefractionClosure : public BSDFClosure { +public: + Vec3 m_N; // shading normal + float m_eta; // ratio of indices of refraction (inside / outside) + RefractionClosure() : BSDFClosure(Labels::SINGULAR, Back) { } + + void setup() {} + + bool mergeable (const ClosurePrimitive *other) const { + const RefractionClosure *comp = (const RefractionClosure *)other; + return m_N == comp->m_N && m_eta == comp->m_eta && + BSDFClosure::mergeable(other); + } + + size_t memsize () const { return sizeof(*this); } + + const char *name () const { return "refraction"; } + + void print_on (std::ostream &out) const { + out << name() << " ("; + out << "(" << m_N[0] << ", " << m_N[1] << ", " << m_N[2] << "), "; + out << m_eta; + out << ")"; + } + + Color3 eval_reflect (const Vec3 &omega_out, const Vec3 &omega_in, float& pdf) const + { + return Color3 (0, 0, 0); + } + + Color3 eval_transmit (const Vec3 &omega_out, const Vec3 &omega_in, float& pdf) const + { + return Color3 (0, 0, 0); + } + + float albedo (const Vec3 &omega_out) const + { + return 1.0f; + } + + ustring sample (const Vec3 &Ng, + const Vec3 &omega_out, const Vec3 &domega_out_dx, const Vec3 &domega_out_dy, + float randu, float randv, + Vec3 &omega_in, Vec3 &domega_in_dx, Vec3 &domega_in_dy, + float &pdf, Color3 &eval) const + { + Vec3 R, dRdx, dRdy; + Vec3 T, dTdx, dTdy; + bool inside; + + fresnel_dielectric(m_eta, m_N, + omega_out, domega_out_dx, domega_out_dy, + R, dRdx, dRdy, + T, dTdx, dTdy, + inside); + + if (!inside) { + pdf = 1; + eval.setValue(1.0f, 1.0f, 1.0f); + omega_in = T; + domega_in_dx = dTdx; + domega_in_dy = dTdy; + } + + return Labels::TRANSMIT; + } +}; + +ClosureParam bsdf_refraction_params[] = { + CLOSURE_VECTOR_PARAM(RefractionClosure, m_N), + CLOSURE_FLOAT_PARAM (RefractionClosure, m_eta), + CLOSURE_STRING_KEYPARAM("label"), + CLOSURE_FINISH_PARAM(RefractionClosure) }; + +CLOSURE_PREPARE(bsdf_refraction_prepare, RefractionClosure) + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/osl/bsdf_transparent.cpp b/intern/cycles/kernel/osl/bsdf_transparent.cpp new file mode 100644 index 00000000000..941abd6a483 --- /dev/null +++ b/intern/cycles/kernel/osl/bsdf_transparent.cpp @@ -0,0 +1,97 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include + +#include "osl_closures.h" + +CCL_NAMESPACE_BEGIN + +using namespace OSL; + +class TransparentClosure : public BSDFClosure { +public: + TransparentClosure() : BSDFClosure(Labels::STRAIGHT, Back) { } + + void setup() {} + + size_t memsize () const { return sizeof(*this); } + + const char *name () const { return "transparent"; } + + void print_on (std::ostream &out) const { + out << name() << " ()"; + } + + float albedo (const Vec3 &omega_out) const + { + return 1.0f; + } + + Color3 eval_reflect (const Vec3 &omega_out, const Vec3 &omega_in, float& pdf) const + { + return Color3 (0, 0, 0); + } + + Color3 eval_transmit (const Vec3 &omega_out, const Vec3 &omega_in, float& pdf) const + { + return Color3 (0, 0, 0); + } + + ustring sample (const Vec3 &Ng, + const Vec3 &omega_out, const Vec3 &domega_out_dx, const Vec3 &domega_out_dy, + float randu, float randv, + Vec3 &omega_in, Vec3 &domega_in_dx, Vec3 &domega_in_dy, + float &pdf, Color3 &eval) const + { + // only one direction is possible + omega_in = -omega_out; + domega_in_dx = -domega_out_dx; + domega_in_dy = -domega_out_dy; + pdf = 1; + eval.setValue(1, 1, 1); + return Labels::TRANSMIT; + } +}; + + + +ClosureParam bsdf_transparent_params[] = { + CLOSURE_STRING_KEYPARAM("label"), + CLOSURE_FINISH_PARAM(TransparentClosure) }; + +CLOSURE_PREPARE(bsdf_transparent_prepare, TransparentClosure) + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/osl/bsdf_ward.cpp b/intern/cycles/kernel/osl/bsdf_ward.cpp new file mode 100644 index 00000000000..a7742a04d13 --- /dev/null +++ b/intern/cycles/kernel/osl/bsdf_ward.cpp @@ -0,0 +1,222 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include + +#include "osl_closures.h" + +#include "util_math.h" + +CCL_NAMESPACE_BEGIN + +using namespace OSL; + +// anisotropic ward - leaks energy at grazing angles +// see http://www.graphics.cornell.edu/~bjw/wardnotes.pdf +class WardClosure : public BSDFClosure { +public: + Vec3 m_N; + Vec3 m_T; + float m_ax, m_ay; + WardClosure() : BSDFClosure(Labels::GLOSSY) { } + + void setup() + { + m_ax = clamp(m_ax, 1e-5f, 1.0f); + m_ay = clamp(m_ay, 1e-5f, 1.0f); + } + + bool mergeable (const ClosurePrimitive *other) const { + const WardClosure *comp = (const WardClosure *)other; + return m_N == comp->m_N && m_T == comp->m_T && + m_ax == comp->m_ax && m_ay == comp->m_ay && + BSDFClosure::mergeable(other); + } + + size_t memsize () const { return sizeof(*this); } + + const char *name () const { return "ward"; } + + void print_on (std::ostream &out) const { + out << name() << " (("; + out << m_N[0] << ", " << m_N[1] << ", " << m_N[2] << "), ("; + out << m_T[0] << ", " << m_T[1] << ", " << m_T[2] << "), "; + out << m_ax << ", " << m_ay << ")"; + } + + float albedo (const Vec3 &omega_out) const + { + return 1.0f; + } + + Color3 eval_reflect (const Vec3 &omega_out, const Vec3 &omega_in, float& pdf) const + { + float cosNO = m_N.dot(omega_out); + float cosNI = m_N.dot(omega_in); + if (cosNI > 0 && cosNO > 0) { + // get half vector and get x,y basis on the surface for anisotropy + Vec3 H = omega_in + omega_out; + H.normalize(); // normalize needed for pdf + Vec3 X, Y; + make_orthonormals(m_N, m_T, X, Y); + // eq. 4 + float dotx = H.dot(X) / m_ax; + float doty = H.dot(Y) / m_ay; + float dotn = H.dot(m_N); + float exp_arg = (dotx * dotx + doty * doty) / (dotn * dotn); + float denom = (4 * (float) M_PI * m_ax * m_ay * sqrtf(cosNO * cosNI)); + float exp_val = expf(-exp_arg); + float out = cosNI * exp_val / denom; + float oh = H.dot(omega_out); + denom = 4 * (float) M_PI * m_ax * m_ay * oh * dotn * dotn * dotn; + pdf = exp_val / denom; + return Color3 (out, out, out); + } + return Color3 (0, 0, 0); + } + + Color3 eval_transmit (const Vec3 &omega_out, const Vec3 &omega_in, float& pdf) const + { + return Color3 (0, 0, 0); + } + + ustring sample (const Vec3 &Ng, + const Vec3 &omega_out, const Vec3 &domega_out_dx, const Vec3 &domega_out_dy, + float randu, float randv, + Vec3 &omega_in, Vec3 &domega_in_dx, Vec3 &domega_in_dy, + float &pdf, Color3 &eval) const + { + float cosNO = m_N.dot(omega_out); + if (cosNO > 0) { + // get x,y basis on the surface for anisotropy + Vec3 X, Y; + make_orthonormals(m_N, m_T, X, Y); + // generate random angles for the half vector + // eq. 7 (taking care around discontinuities to keep + // output angle in the right quadrant) + // we take advantage of cos(atan(x)) == 1/sqrt(1+x^2) + // and sin(atan(x)) == x/sqrt(1+x^2) + float alphaRatio = m_ay / m_ax; + float cosPhi, sinPhi; + if (randu < 0.25f) { + float val = 4 * randu; + float tanPhi = alphaRatio * tanf((float) M_PI_2 * val); + cosPhi = 1 / sqrtf(1 + tanPhi * tanPhi); + sinPhi = tanPhi * cosPhi; + } else if (randu < 0.5) { + float val = 1 - 4 * (0.5f - randu); + float tanPhi = alphaRatio * tanf((float) M_PI_2 * val); + // phi = (float) M_PI - phi; + cosPhi = -1 / sqrtf(1 + tanPhi * tanPhi); + sinPhi = -tanPhi * cosPhi; + } else if (randu < 0.75f) { + float val = 4 * (randu - 0.5f); + float tanPhi = alphaRatio * tanf((float) M_PI_2 * val); + //phi = (float) M_PI + phi; + cosPhi = -1 / sqrtf(1 + tanPhi * tanPhi); + sinPhi = tanPhi * cosPhi; + } else { + float val = 1 - 4 * (1 - randu); + float tanPhi = alphaRatio * tanf((float) M_PI_2 * val); + // phi = 2 * (float) M_PI - phi; + cosPhi = 1 / sqrtf(1 + tanPhi * tanPhi); + sinPhi = -tanPhi * cosPhi; + } + // eq. 6 + // we take advantage of cos(atan(x)) == 1/sqrt(1+x^2) + // and sin(atan(x)) == x/sqrt(1+x^2) + float thetaDenom = (cosPhi * cosPhi) / (m_ax * m_ax) + (sinPhi * sinPhi) / (m_ay * m_ay); + float tanTheta2 = -logf(1 - randv) / thetaDenom; + float cosTheta = 1 / sqrtf(1 + tanTheta2); + float sinTheta = cosTheta * sqrtf(tanTheta2); + + Vec3 h; // already normalized becaused expressed from spherical coordinates + h.x = sinTheta * cosPhi; + h.y = sinTheta * sinPhi; + h.z = cosTheta; + // compute terms that are easier in local space + float dotx = h.x / m_ax; + float doty = h.y / m_ay; + float dotn = h.z; + // transform to world space + h = h.x * X + h.y * Y + h.z * m_N; + // generate the final sample + float oh = h.dot(omega_out); + omega_in.x = 2 * oh * h.x - omega_out.x; + omega_in.y = 2 * oh * h.y - omega_out.y; + omega_in.z = 2 * oh * h.z - omega_out.z; + if (Ng.dot(omega_in) > 0) { + float cosNI = m_N.dot(omega_in); + if (cosNI > 0) { + // eq. 9 + float exp_arg = (dotx * dotx + doty * doty) / (dotn * dotn); + float denom = 4 * (float) M_PI * m_ax * m_ay * oh * dotn * dotn * dotn; + pdf = expf(-exp_arg) / denom; + // compiler will reuse expressions already computed + denom = (4 * (float) M_PI * m_ax * m_ay * sqrtf(cosNO * cosNI)); + float power = cosNI * expf(-exp_arg) / denom; + eval.setValue(power, power, power); + domega_in_dx = (2 * m_N.dot(domega_out_dx)) * m_N - domega_out_dx; + domega_in_dy = (2 * m_N.dot(domega_out_dy)) * m_N - domega_out_dy; + + /* disabled for now - gives texture filtering problems */ +#if 0 + // Since there is some blur to this reflection, make the + // derivatives a bit bigger. In theory this varies with the + // roughness but the exact relationship is complex and + // requires more ops than are practical. + domega_in_dx *= 10; + domega_in_dy *= 10; +#endif + } + } + } + return Labels::REFLECT; + } +}; + + + +ClosureParam bsdf_ward_params[] = { + CLOSURE_VECTOR_PARAM(WardClosure, m_N), + CLOSURE_VECTOR_PARAM(WardClosure, m_T), + CLOSURE_FLOAT_PARAM (WardClosure, m_ax), + CLOSURE_FLOAT_PARAM (WardClosure, m_ay), + CLOSURE_STRING_KEYPARAM("label"), + CLOSURE_FINISH_PARAM(WardClosure) }; + +CLOSURE_PREPARE(bsdf_ward_prepare, WardClosure) + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/osl/bsdf_westin.cpp b/intern/cycles/kernel/osl/bsdf_westin.cpp new file mode 100644 index 00000000000..d322f6a7f7e --- /dev/null +++ b/intern/cycles/kernel/osl/bsdf_westin.cpp @@ -0,0 +1,239 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include + +#include "osl_closures.h" + +#include "util_math.h" + +CCL_NAMESPACE_BEGIN + +using namespace OSL; + +class WestinBackscatterClosure : public BSDFClosure { +public: + Vec3 m_N; + float m_roughness; + float m_invroughness; + WestinBackscatterClosure() : BSDFClosure(Labels::GLOSSY) { } + + void setup() + { + m_roughness = clamp(m_roughness, 1e-5f, 1.0f); + m_invroughness = m_roughness > 0 ? 1 / m_roughness : 0; + } + + bool mergeable (const ClosurePrimitive *other) const { + const WestinBackscatterClosure *comp = (const WestinBackscatterClosure *)other; + return m_N == comp->m_N && m_roughness == comp->m_roughness && + BSDFClosure::mergeable(other); + } + + size_t memsize () const { return sizeof(*this); } + + const char *name () const { return "westin_backscatter"; } + + void print_on (std::ostream &out) const + { + out << name() << " ("; + out << "(" << m_N[0] << ", " << m_N[1] << ", " << m_N[2] << "), "; + out << m_roughness; + out << ")"; + } + + float albedo (const Vec3 &omega_out) const + { + return 1.0f; + } + + Color3 eval_reflect (const Vec3 &omega_out, const Vec3 &omega_in, float &pdf) const + { + // pdf is implicitly 0 (no indirect sampling) + float cosNO = m_N.dot(omega_out); + float cosNI = m_N.dot(omega_in); + if (cosNO > 0 && cosNI > 0) { + float cosine = omega_out.dot(omega_in); + pdf = cosine > 0 ? (m_invroughness + 1) * powf(cosine, m_invroughness) : 0; + pdf *= 0.5f * float(M_1_PI); + return Color3 (pdf, pdf, pdf); + } + return Color3 (0, 0, 0); + } + + Color3 eval_transmit (const Vec3 &omega_out, const Vec3 &omega_in, float &pdf) const + { + return Color3 (0, 0, 0); + } + + ustring sample (const Vec3 &Ng, + const Vec3 &omega_out, const Vec3 &domega_out_dx, const Vec3 &domega_out_dy, + float randu, float randv, + Vec3 &omega_in, Vec3 &domega_in_dx, Vec3 &domega_in_dy, + float &pdf, Color3 &eval) const + { + float cosNO = m_N.dot(omega_out); + if (cosNO > 0) { + domega_in_dx = domega_out_dx; + domega_in_dy = domega_out_dy; + Vec3 T, B; + make_orthonormals (omega_out, T, B); + float phi = 2 * (float) M_PI * randu; + float cosTheta = powf(randv, 1 / (m_invroughness + 1)); + float sinTheta2 = 1 - cosTheta * cosTheta; + float sinTheta = sinTheta2 > 0 ? sqrtf(sinTheta2) : 0; + omega_in = (cosf(phi) * sinTheta) * T + + (sinf(phi) * sinTheta) * B + + ( cosTheta) * omega_out; + if (Ng.dot(omega_in) > 0) + { + // common terms for pdf and eval + float cosNI = m_N.dot(omega_in); + // make sure the direction we chose is still in the right hemisphere + if (cosNI > 0) + { + pdf = 0.5f * (float) M_1_PI * powf(cosTheta, m_invroughness); + pdf = (m_invroughness + 1) * pdf; + eval.setValue(pdf, pdf, pdf); + // Since there is some blur to this reflection, make the + // derivatives a bit bigger. In theory this varies with the + // exponent but the exact relationship is complex and + // requires more ops than are practical. + domega_in_dx *= 10; + domega_in_dy *= 10; + } + } + } + return Labels::REFLECT; + } + +}; + + +class WestinSheenClosure : public BSDFClosure { +public: + Vec3 m_N; + float m_edginess; +// float m_normalization; + WestinSheenClosure() : BSDFClosure(Labels::DIFFUSE) { } + + void setup() {}; + + bool mergeable (const ClosurePrimitive *other) const { + const WestinSheenClosure *comp = (const WestinSheenClosure *)other; + return m_N == comp->m_N && m_edginess == comp->m_edginess && + BSDFClosure::mergeable(other); + } + + size_t memsize () const { return sizeof(*this); } + + const char *name () const { return "westin_sheen"; } + + void print_on (std::ostream &out) const + { + out << name() << " ("; + out << "(" << m_N[0] << ", " << m_N[1] << ", " << m_N[2] << "), "; + out << m_edginess; + out << ")"; + } + + float albedo (const Vec3 &omega_out) const + { + return 1.0f; + } + + Color3 eval_reflect (const Vec3 &omega_out, const Vec3 &omega_in, float &pdf) const + { + // pdf is implicitly 0 (no indirect sampling) + float cosNO = m_N.dot(omega_out); + float cosNI = m_N.dot(omega_in); + if (cosNO > 0 && cosNI > 0) { + float sinNO2 = 1 - cosNO * cosNO; + pdf = cosNI * float(M_1_PI); + float westin = sinNO2 > 0 ? powf(sinNO2, 0.5f * m_edginess) * pdf : 0; + return Color3 (westin, westin, westin); + } + return Color3 (0, 0, 0); + } + + Color3 eval_transmit (const Vec3 &omega_out, const Vec3 &omega_in, float &pdf) const + { + return Color3 (0, 0, 0); + } + + ustring sample (const Vec3 &Ng, + const Vec3 &omega_out, const Vec3 &domega_out_dx, const Vec3 &domega_out_dy, + float randu, float randv, + Vec3 &omega_in, Vec3 &domega_in_dx, Vec3 &domega_in_dy, + float &pdf, Color3 &eval) const + { + // we are viewing the surface from the right side - send a ray out with cosine + // distribution over the hemisphere + sample_cos_hemisphere (m_N, omega_out, randu, randv, omega_in, pdf); + if (Ng.dot(omega_in) > 0) { + // TODO: account for sheen when sampling + float cosNO = m_N.dot(omega_out); + float sinNO2 = 1 - cosNO * cosNO; + float westin = sinNO2 > 0 ? powf(sinNO2, 0.5f * m_edginess) * pdf : 0; + eval.setValue(westin, westin, westin); + // TODO: find a better approximation for the diffuse bounce + domega_in_dx = (2 * m_N.dot(domega_out_dx)) * m_N - domega_out_dx; + domega_in_dy = (2 * m_N.dot(domega_out_dy)) * m_N - domega_out_dy; + domega_in_dx *= 125; + domega_in_dy *= 125; + } else + pdf = 0; + return Labels::REFLECT; + } +}; + + + +ClosureParam bsdf_westin_backscatter_params[] = { + CLOSURE_VECTOR_PARAM(WestinBackscatterClosure, m_N), + CLOSURE_FLOAT_PARAM (WestinBackscatterClosure, m_roughness), + CLOSURE_STRING_KEYPARAM("label"), + CLOSURE_FINISH_PARAM(WestinBackscatterClosure) }; + +ClosureParam bsdf_westin_sheen_params[] = { + CLOSURE_VECTOR_PARAM(WestinSheenClosure, m_N), + CLOSURE_FLOAT_PARAM (WestinSheenClosure, m_edginess), + CLOSURE_STRING_KEYPARAM("label"), + CLOSURE_FINISH_PARAM(WestinSheenClosure) }; + +CLOSURE_PREPARE(bsdf_westin_backscatter_prepare, WestinBackscatterClosure) +CLOSURE_PREPARE(bsdf_westin_sheen_prepare, WestinSheenClosure) + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/osl/bssrdf.cpp b/intern/cycles/kernel/osl/bssrdf.cpp new file mode 100644 index 00000000000..66d7818e677 --- /dev/null +++ b/intern/cycles/kernel/osl/bssrdf.cpp @@ -0,0 +1,105 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include + +#include "osl_closures.h" + +CCL_NAMESPACE_BEGIN + +using namespace OSL; + +class BSSRDFCubicClosure : public BSSRDFClosure { +public: + Color3 m_radius; + Color3 m_scale; + float m_max_radius; + + template + static inline T pow3 (const T &x) { return x * x * x; } + + template + static inline T pow5 (const T &x) { T x2 = x * x; return x2 * x2 * x; } + + BSSRDFCubicClosure() { } + + void setup() + { + // pre-compute some terms + m_max_radius = 0; + for (int i = 0; i < 3; i++) { + m_scale[i] = m_radius[i] > 0 ? 4 / pow5 (m_radius[i]) : 0; + m_max_radius = std::max (m_max_radius, m_radius[i]); + } + } + + bool mergeable (const ClosurePrimitive *other) const { + const BSSRDFCubicClosure *comp = (const BSSRDFCubicClosure *)other; + return m_radius == comp->m_radius && BSSRDFClosure::mergeable(other); + } + + size_t memsize () const { return sizeof(*this); } + + const char *name () const { return "bssrdf_cubic"; } + + void print_on (std::ostream &out) const + { + out << name() << " ((" << m_radius[0] << ", " << m_radius[1] << ", " << m_radius[2] << "), (" + << m_scale[0] << ", " << m_scale[1] << ", " << m_scale[2] << "))"; + } + + Color3 eval (float r) const + { + return Color3 ((r < m_radius.x) ? pow3 (m_radius.x - r) * m_scale.x : 0, + (r < m_radius.y) ? pow3 (m_radius.y - r) * m_scale.y : 0, + (r < m_radius.z) ? pow3 (m_radius.z - r) * m_scale.z : 0); + } + + float max_radius() const + { + return m_max_radius; + } +}; + + + +ClosureParam closure_bssrdf_cubic_params[] = { + CLOSURE_COLOR_PARAM (BSSRDFCubicClosure, m_radius), + CLOSURE_STRING_KEYPARAM ("label"), + CLOSURE_FINISH_PARAM(BSSRDFCubicClosure) }; + +CLOSURE_PREPARE(closure_bssrdf_cubic_prepare, BSSRDFCubicClosure) + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/osl/debug.cpp b/intern/cycles/kernel/osl/debug.cpp new file mode 100644 index 00000000000..8c3f8b2b323 --- /dev/null +++ b/intern/cycles/kernel/osl/debug.cpp @@ -0,0 +1,80 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include + +#include "osl_closures.h" + +CCL_NAMESPACE_BEGIN + +using namespace OSL; + +/// Debug closure +/// +/// This is going to be used for mask AOV's and similar +/// purposes. A tag (string) is always associated with +/// this closure, that "selects: the channel where the +/// weight should be sent. + +class DebugClosure : public ClosurePrimitive { +public: + ustring m_tag; + + DebugClosure () : ClosurePrimitive (Debug) { } + + bool mergeable (const ClosurePrimitive *other) const { + const DebugClosure *comp = (const DebugClosure *)other; + return m_tag == comp->m_tag && + ClosurePrimitive::mergeable(other); + } + + size_t memsize () const { return sizeof(*this); } + + const char *name () const { return "debug"; } + + void print_on (std::ostream &out) const { + out << name() << " (\"" << m_tag.c_str() << "\")"; + } + +}; + +ClosureParam closure_debug_params[] = { + CLOSURE_STRING_PARAM(DebugClosure, m_tag), + CLOSURE_STRING_KEYPARAM("label"), + CLOSURE_FINISH_PARAM(DebugClosure) }; + +CLOSURE_PREPARE(closure_debug_prepare, DebugClosure) + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/osl/emissive.cpp b/intern/cycles/kernel/osl/emissive.cpp new file mode 100644 index 00000000000..28d3c73e59b --- /dev/null +++ b/intern/cycles/kernel/osl/emissive.cpp @@ -0,0 +1,107 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include + +#include "osl_closures.h" + +CCL_NAMESPACE_BEGIN + +using namespace OSL; + +/// Variable cone emissive closure +/// +/// This primitive emits in a cone having a configurable +/// penumbra area where the light decays to 0 reaching the +/// outer_angle limit. It can also behave as a lambertian emitter +/// if the provided angles are PI/2, which is the default +/// +class GenericEmissiveClosure : public EmissiveClosure { +public: + GenericEmissiveClosure() { } + + void setup() { } + + size_t memsize () const { return sizeof(*this); } + + const char *name () const { return "emission"; } + + void print_on (std::ostream &out) const { + out << name() << "()"; + } + + Color3 eval (const Vec3 &Ng, const Vec3 &omega_out) const + { + float cosNO = fabsf(Ng.dot(omega_out)); + float res = cosNO > 0 ? 1.0f / float(M_PI) : 0.0f; + return Color3(res, res, res); + } + + void sample (const Vec3 &Ng, float randu, float randv, + Vec3 &omega_out, float &pdf) const + { + // We don't do anything sophisticated here for the step + // We just sample the whole cone uniformly to the cosine + Vec3 T, B; + make_orthonormals(Ng, T, B); + float phi = 2 * (float) M_PI * randu; + float cosTheta = sqrtf(1.0f - 1.0f * randv); + float sinTheta = sqrtf(1.0f - cosTheta * cosTheta); + omega_out = (cosf(phi) * sinTheta) * T + + (sinf(phi) * sinTheta) * B + + cosTheta * Ng; + pdf = 1.0f / float(M_PI); + } + + /// Return the probability distribution function in the direction omega_out, + /// given the parameters and the light's surface normal. This MUST match + /// the PDF computed by sample(). + float pdf (const Vec3 &Ng, + const Vec3 &omega_out) const + { + float cosNO = Ng.dot(omega_out); + return cosNO > 0 ? 1.0f / float(M_PI) : 0.0f; + } +}; + + + +ClosureParam closure_emission_params[] = { + CLOSURE_STRING_KEYPARAM("label"), + CLOSURE_FINISH_PARAM(GenericEmissiveClosure) }; + +CLOSURE_PREPARE(closure_emission_prepare, GenericEmissiveClosure) + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/osl/nodes/CMakeLists.txt b/intern/cycles/kernel/osl/nodes/CMakeLists.txt new file mode 100644 index 00000000000..435acc5f680 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/CMakeLists.txt @@ -0,0 +1,69 @@ + +# OSL node shaders + +SET(osl_sources + node_add_closure.osl + node_attribute.osl + node_background.osl + node_blend_texture.osl + node_bump.osl + node_clouds_texture.osl + node_convert_from_color.osl + node_convert_from_float.osl + node_convert_from_normal.osl + node_convert_from_point.osl + node_convert_from_vector.osl + node_diffuse_bsdf.osl + node_distorted_noise_texture.osl + node_emission.osl + node_environment_texture.osl + node_fresnel.osl + node_geometry.osl + node_glass_bsdf.osl + node_glossy_bsdf.osl + node_image_texture.osl + node_light_path.osl + node_magic_texture.osl + node_mapping.osl + node_marble_texture.osl + node_math.osl + node_mix.osl + node_mix_closure.osl + node_musgrave_texture.osl + node_noise_texture.osl + node_output_displacement.osl + node_output_surface.osl + node_output_volume.osl + node_sky_texture.osl + node_stucci_texture.osl + node_texture_coordinate.osl + node_translucent_bsdf.osl + node_transparent_bsdf.osl + node_value.osl + node_vector_math.osl + node_velvet_bsdf.osl + node_voronoi_texture.osl + node_ward_bsdf.osl + node_wood_texture.osl) + +SET(osl_headers + node_texture.h + stdosl.h) + +SET(oso_sources) + +FOREACH(_file ${osl_sources}) + SET(osl_file ${CMAKE_CURRENT_SOURCE_DIR}/${_file}) + STRING(REPLACE ".osl" ".oso" oso_file ${osl_file}) + STRING(REPLACE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} oso_file ${oso_file}) + ADD_CUSTOM_COMMAND( + OUTPUT ${oso_file} + COMMAND ${OSL_COMPILER} -O2 ${osl_file} + DEPENDS ${osl_file} ${osl_headers}) + LIST(APPEND oso_sources ${oso_file}) +ENDFOREACH() + +ADD_CUSTOM_TARGET(shader ALL DEPENDS ${oso_sources} ${osl_headers}) + +INSTALL(FILES ${oso_sources} DESTINATION ${INSTALL_PATH}/cycles/shader) + diff --git a/intern/cycles/kernel/osl/nodes/node_add_closure.osl b/intern/cycles/kernel/osl/nodes/node_add_closure.osl new file mode 100644 index 00000000000..ecf6bf5912e --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_add_closure.osl @@ -0,0 +1,28 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_add_closure( + closure color Closure1 = background(), + closure color Closure2 = background(), + output closure color Closure = background()) +{ + Closure = Closure1 + Closure2; +} + diff --git a/intern/cycles/kernel/osl/nodes/node_attribute.osl b/intern/cycles/kernel/osl/nodes/node_attribute.osl new file mode 100644 index 00000000000..d273d0c68d7 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_attribute.osl @@ -0,0 +1,43 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_attribute( + string bump_offset = "center", + string name = "", + output point Vector = point(0.0, 0.0, 0.0), + output color Color = color(0.0, 0.0, 0.0), + output float Fac = 0.0) +{ + getattribute(name, Color); + Vector = point(Color); + getattribute(name, Fac); + + if(bump_offset == "dx") { + Color += Dx(Color); + Vector += Dx(Vector); + Fac += Dx(Fac); + } + else if(bump_offset == "dy") { + Color += Dy(Color); + Vector += Dy(Vector); + Fac += Dy(Fac); + } +} + diff --git a/intern/cycles/kernel/osl/nodes/node_background.osl b/intern/cycles/kernel/osl/nodes/node_background.osl new file mode 100644 index 00000000000..69f8d85a82e --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_background.osl @@ -0,0 +1,28 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_background( + color Color = color(0.8, 0.8, 0.8), + float Strength = 1.0, + output closure color Background = background()) +{ + Background = Color*Strength*background(); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_blend_texture.osl b/intern/cycles/kernel/osl/nodes/node_blend_texture.osl new file mode 100644 index 00000000000..de1bdaca90b --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_blend_texture.osl @@ -0,0 +1,78 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" +#include "node_texture.h" + +/* Blend */ + +float blend(point p, string progression, string axis) +{ + float x, y; + + if(axis == "Vertical") { + x= p[1]; + y= p[0]; + } + else { + x= p[0]; + y= p[1]; + } + + float result = 0.0; + + if(progression == "Linear") { + result = (1.0 + x)/2.0; + } + else if(progression == "Quadratic") { + float r = max((1.0 + x)/2.0, 0.0); + result = r*r; + } + else if(progression == "Easing") { + float r = min(max((1.0 + x)/2.0, 0.0), 1.0); + float t = r*r; + + result = (3.0*t - 2.0*t*r); + } + else if(progression == "Diagonal") { + result = (2.0 + x + y)/4.0; + } + else if(progression == "Radial") { + result = atan2(y, x)/(2*M_PI) + 0.5; + } + else { + float r = max(1.0 - sqrt(x*x + y*y + p[2]*p[2]), 0.0); + + if(progression == "Quadratic Sphere") + result = r*r; + else if(progression == "Spherical") + result = r; + } + + return result; +} + +shader node_blend_texture( + string Progression = "Linear", + string Axis = "Horizontal", + point Vector = P, + output float Fac = 0.0) +{ + Fac = blend(Vector, Progression, Axis); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_bump.osl b/intern/cycles/kernel/osl/nodes/node_bump.osl new file mode 100644 index 00000000000..a3849e70f98 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_bump.osl @@ -0,0 +1,46 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +/* "Bump Mapping Unparametrized Surfaces on the GPU" + * Morten S. Mikkelsen, 2010 */ + +surface node_bump( + float SampleCenter = 0.0, + float SampleX = 0.0, + float SampleY = 0.0, + output normal Normal = N) +{ + float dx = SampleX - SampleCenter; + float dy = SampleY - SampleCenter; + + vector dPdx = Dx(P); + vector dPdy = Dy(P); + + vector Rx = cross(dPdy, N); + vector Ry = cross(N, dPdx); + + float det = dot(dPdx, Rx); + vector surfgrad = dx*Rx + dy*Ry; + + surfgrad *= 0.1; /* todo: remove this factor */ + + Normal = normalize(abs(det)*N - sign(det)*surfgrad); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_clouds_texture.osl b/intern/cycles/kernel/osl/nodes/node_clouds_texture.osl new file mode 100644 index 00000000000..6d244d81e27 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_clouds_texture.osl @@ -0,0 +1,42 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" +#include "node_texture.h" + +/* Turbulence */ + +shader node_clouds_texture( + string Basis = "Perlin", + int Hard = 0, + int Depth = 2, + float Size = 0.25, + point Vector = P, + output float Fac = 0.0, + output color Color = color(0.0, 0.0, 0.0)) +{ + float size = nonzero(Size, 1e-5); + point p = Vector/size; + + Fac = noise_turbulence(p, Basis, Depth, Hard); + + Color[0] = Fac; + Color[1] = noise_turbulence(point(p[1], p[0], p[2]), Basis, Depth, Hard); + Color[2] = noise_turbulence(point(p[1], p[2], p[0]), Basis, Depth, Hard); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_convert_from_color.osl b/intern/cycles/kernel/osl/nodes/node_convert_from_color.osl new file mode 100644 index 00000000000..97356139c48 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_convert_from_color.osl @@ -0,0 +1,33 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_convert_from_color( + color Color = color(0.0, 0.0, 0.0), + output float Val = 0.0, + output vector Vector = vector(0.0, 0.0, 0.0), + output point Point = point(0.0, 0.0, 0.0), + output normal Normal = normal(0.0, 0.0, 0.0)) +{ + Val = Color[0]*0.2126 + Color[1]*0.7152 + Color[2]*0.0722; + Vector = vector(Color[0], Color[1], Color[2]); + Point = point(Color[0], Color[1], Color[2]); + Normal = normal(Color[0], Color[1], Color[2]); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_convert_from_float.osl b/intern/cycles/kernel/osl/nodes/node_convert_from_float.osl new file mode 100644 index 00000000000..00e78f3bab4 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_convert_from_float.osl @@ -0,0 +1,33 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_convert_from_float( + float Val = 0.0, + output color Color = color(0.0, 0.0, 0.0), + output vector Vector = vector(0.0, 0.0, 0.0), + output point Point = point(0.0, 0.0, 0.0), + output normal Normal = normal(0.0, 0.0, 0.0)) +{ + Color = color(Val, Val, Val); + Vector = vector(Val, Val, Val); + Point = point(Val, Val, Val); + Normal = normal(Val, Val, Val); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_convert_from_normal.osl b/intern/cycles/kernel/osl/nodes/node_convert_from_normal.osl new file mode 100644 index 00000000000..0bb9092591d --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_convert_from_normal.osl @@ -0,0 +1,33 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_convert_from_normal( + normal Normal = normal(0.0, 0.0, 0.0), + output float Val = 0.0, + output vector Vector = vector(0.0, 0.0, 0.0), + output color Color = color(0.0, 0.0, 0.0), + output point Point = point(0.0, 0.0, 0.0)) +{ + Val = (Normal[0] + Normal[1] + Normal[2])*(1.0/3.0); + Vector = vector(Normal[0], Normal[1], Normal[2]); + Color = color(Normal[0], Normal[1], Normal[2]); + Point = point(Normal[0], Normal[1], Normal[2]); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_convert_from_point.osl b/intern/cycles/kernel/osl/nodes/node_convert_from_point.osl new file mode 100644 index 00000000000..e66d6a864d6 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_convert_from_point.osl @@ -0,0 +1,33 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_convert_from_point( + point Point = point(0.0, 0.0, 0.0), + output float Val = 0.0, + output vector Vector = vector(0.0, 0.0, 0.0), + output color Color = color(0.0, 0.0, 0.0), + output normal Normal = normal(0.0, 0.0, 0.0)) +{ + Val = (Point[0] + Point[1] + Point[2])*(1.0/3.0); + Vector = vector(Point[0], Point[1], Point[2]); + Color = color(Point[0], Point[1], Point[2]); + Normal = normal(Point[0], Point[1], Point[2]); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_convert_from_vector.osl b/intern/cycles/kernel/osl/nodes/node_convert_from_vector.osl new file mode 100644 index 00000000000..37ba9582cad --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_convert_from_vector.osl @@ -0,0 +1,33 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_convert_from_vector( + vector Vector = vector(0.0, 0.0, 0.0), + output float Val = 0.0, + output color Color = color(0.0, 0.0, 0.0), + output point Point = point(0.0, 0.0, 0.0), + output normal Normal = normal(0.0, 0.0, 0.0)) +{ + Val = (Vector[0] + Vector[1] + Vector[2])*(1.0/3.0); + Color = color(Vector[0], Vector[1], Vector[2]); + Point = point(Vector[0], Vector[1], Vector[2]); + Normal = normal(Vector[0], Vector[1], Vector[2]); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_diffuse_bsdf.osl b/intern/cycles/kernel/osl/nodes/node_diffuse_bsdf.osl new file mode 100644 index 00000000000..8cf161c17cc --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_diffuse_bsdf.osl @@ -0,0 +1,28 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_diffuse_bsdf( + color Color = color(0.8, 0.8, 0.8), + normal Normal = N, + output closure color BSDF = diffuse(Normal)) +{ + BSDF = Color*diffuse(Normal); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_distorted_noise_texture.osl b/intern/cycles/kernel/osl/nodes/node_distorted_noise_texture.osl new file mode 100644 index 00000000000..bb338c4ef0f --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_distorted_noise_texture.osl @@ -0,0 +1,46 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" +#include "node_texture.h" + +/* Distorted Noise (variable lacunarity noise) */ + +float noise_distorted(point p, string basis, string distortion_basis, float distortion) +{ + point r; + + r[0] = noise_basis(p + point(13.5), basis) * distortion; + r[1] = noise_basis(p, basis) * distortion; + r[2] = noise_basis(p - point(13.5), basis) * distortion; + + return noise_basis(p + r, distortion_basis); /* distorted-domain noise */ +} + +shader node_distorted_noise_texture( + string Basis = "Perlin", + string DistortionBasis = "Perlin", + float Distortion = 1.0, + float Size = 0.25, + point Vector = P, + output float Fac = 0.0) +{ + float size = nonzero(Size, 1e-5); + Fac = noise_distorted(Vector/size, Basis, DistortionBasis, Distortion); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_emission.osl b/intern/cycles/kernel/osl/nodes/node_emission.osl new file mode 100644 index 00000000000..8bfd1af173a --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_emission.osl @@ -0,0 +1,32 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_emission( + int TotalPower = 0, + color Color = color(0.8, 0.8, 0.8), + float Strength = 1.0, + output closure color Emission = emission()) +{ + if(TotalPower) + Emission = ((Strength/surfacearea())*Color)*emission(); + else + Emission = (Strength*Color)*emission(); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_environment_texture.osl b/intern/cycles/kernel/osl/nodes/node_environment_texture.osl new file mode 100644 index 00000000000..569b22d53ec --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_environment_texture.osl @@ -0,0 +1,28 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_environment_texture( + vector Vector = P, + string filename = "", + output color Color = color(0.0, 0.0, 0.0)) +{ + Color = (color)environment(filename, Vector); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_fresnel.h b/intern/cycles/kernel/osl/nodes/node_fresnel.h new file mode 100644 index 00000000000..0c8a5276ede --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_fresnel.h @@ -0,0 +1,21 @@ + +float fresnel_dielectric(vector Incoming, normal Normal, float eta) +{ + /* compute fresnel reflectance without explicitly computing + the refracted direction */ + float c = fabs(dot(Incoming, Normal)); + float g = eta * eta - 1 + c * c; + float result; + + if(g > 0) { + g = sqrt(g); + float A =(g - c)/(g + c); + float B =(c *(g + c)- 1)/(c *(g - c)+ 1); + result = 0.5 * A * A *(1 + B * B); + } + else + result = 1.0; /* TIR (no refracted component) */ + + return result; +} + diff --git a/intern/cycles/kernel/osl/nodes/node_fresnel.osl b/intern/cycles/kernel/osl/nodes/node_fresnel.osl new file mode 100644 index 00000000000..ddc86db130f --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_fresnel.osl @@ -0,0 +1,30 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" +#include "node_fresnel.h" + +shader node_fresnel( + float Fresnel = 0.3, + normal Normal = N, + output float Fac = 0.0) +{ + float f = max(1.0 - Fresnel, 0.00001); + Fac = fresnel_dielectric(I, Normal, backfacing()? f: 1.0/f); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_geometry.osl b/intern/cycles/kernel/osl/nodes/node_geometry.osl new file mode 100644 index 00000000000..bf76e2e597a --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_geometry.osl @@ -0,0 +1,50 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_geometry( + normal NormalIn = N, + string bump_offset = "center", + + output point Position = point(0.0, 0.0, 0.0), + output normal Normal = normal(0.0, 0.0, 0.0), + output normal Tangent = normal(0.0, 0.0, 0.0), + output normal TrueNormal = normal(0.0, 0.0, 0.0), + output vector Incoming = vector(0.0, 0.0, 0.0), + output point UV = point(0.0, 0.0, 0.0), + output float Backfacing = 0.0) +{ + Position = P; + Normal = NormalIn; + Tangent = normalize(dPdu); + TrueNormal = Ng; + Incoming = I; + UV = point(u, v, 0.0); + Backfacing = backfacing(); + + if(bump_offset == "dx") { + Position += Dx(Position); + UV += Dx(UV); + } + else if(bump_offset == "dy") { + Position += Dy(Position); + UV += Dy(UV); + } +} + diff --git a/intern/cycles/kernel/osl/nodes/node_glass_bsdf.osl b/intern/cycles/kernel/osl/nodes/node_glass_bsdf.osl new file mode 100644 index 00000000000..af946048011 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_glass_bsdf.osl @@ -0,0 +1,41 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" +#include "node_fresnel.h" + +shader node_glass_bsdf( + color Color = color(0.8, 0.8, 0.8), + string distribution = "Sharp", + float Roughness = 0.2, + float Fresnel = 0.3, + normal Normal = N, + output closure color BSDF = diffuse(Normal)) +{ + float f = clamp(1.0 - Fresnel, 1e-5, 1.0 - 1e-5); + float eta = backfacing()? f: 1.0/f; + float Fr = fresnel_dielectric(I, Normal, eta); + + if(distribution == "Sharp") + BSDF = Color*(Fr*reflection(Normal) + (1.0-Fr)*refraction(Normal, eta)); + else if(distribution == "Beckmann") + BSDF = Color*(Fr*microfacet_beckmann(Normal, Roughness) + (1.0-Fr)*microfacet_beckmann_refraction(Normal, Roughness, eta)); + else if(distribution == "GGX") + BSDF = Color*(Fr*microfacet_ggx(Normal, Roughness) + (1.0-Fr)*microfacet_ggx_refraction(Normal, Roughness, eta)); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_glossy_bsdf.osl b/intern/cycles/kernel/osl/nodes/node_glossy_bsdf.osl new file mode 100644 index 00000000000..ca6bee74b38 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_glossy_bsdf.osl @@ -0,0 +1,45 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" +#include "node_fresnel.h" + +shader node_glossy_bsdf( + color Color = color(0.8, 0.8, 0.8), + string distribution = "Beckmann", + float Roughness = 0.2, + float Fresnel = 1.0, + normal Normal = N, + output closure color BSDF = diffuse(Normal)) +{ + float Fr = 1.0; + + if(Fresnel < 1.0) { + float eta = 1.0/clamp(1.0 - Fresnel, 1e-5, 1.0 - 1e-5); + Fr = fresnel_dielectric(I, Normal, eta); + } + + if(distribution == "Sharp") + BSDF = (Fr*Color)*reflection(Normal); + else if(distribution == "Beckmann") + BSDF = (Fr*Color)*microfacet_beckmann(Normal, Roughness); + else if(distribution == "GGX") + BSDF = (Fr*Color)*microfacet_ggx(Normal, Roughness); + +} + diff --git a/intern/cycles/kernel/osl/nodes/node_image_texture.osl b/intern/cycles/kernel/osl/nodes/node_image_texture.osl new file mode 100644 index 00000000000..0dbcc122deb --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_image_texture.osl @@ -0,0 +1,28 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_image_texture( + point Vector = P, + string filename = "", + output color Color = color(0.0, 0.0, 0.0)) +{ + Color = (color)texture(filename, Vector[0], 1.0-Vector[1], "wrap", "periodic"); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_light_path.osl b/intern/cycles/kernel/osl/nodes/node_light_path.osl new file mode 100644 index 00000000000..081640428ab --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_light_path.osl @@ -0,0 +1,36 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_light_path( + output float IsCameraRay = 0.0, + output float IsShadowRay = 0.0, + output float IsDiffuseRay = 0.0, + output float IsGlossyRay = 0.0, + output float IsReflectionRay = 0.0, + output float IsTransmissionRay = 0.0) +{ + IsCameraRay = raytype("camera"); + IsShadowRay = raytype("shadow"); + IsDiffuseRay = raytype("diffuse"); + IsGlossyRay = raytype("glossy"); + IsReflectionRay = raytype("reflection"); + IsTransmissionRay = raytype("refraction"); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_magic_texture.osl b/intern/cycles/kernel/osl/nodes/node_magic_texture.osl new file mode 100644 index 00000000000..0b6e980debc --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_magic_texture.osl @@ -0,0 +1,103 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" +#include "node_texture.h" + +/* Magic */ + +color magic(point p, int n, float turbulence) +{ + float turb = turbulence/5.0; + + float x = sin((p[0] + p[1] + p[2])*5.0); + float y = cos((-p[0] + p[1] - p[2])*5.0); + float z = -cos((-p[0] - p[1] + p[2])*5.0); + + if(n > 0) { + x *= turb; + y *= turb; + z *= turb; + y = -cos(x-y+z); + y *= turb; + + if(n > 1) { + x= cos(x-y-z); + x *= turb; + + if(n > 2) { + z= sin(-x-y-z); + z *= turb; + + if(n > 3) { + x= -cos(-x+y-z); + x *= turb; + + if(n > 4) { + y= -sin(-x+y+z); + y *= turb; + + if(n > 5) { + y= -cos(-x+y+z); + y *= turb; + + if(n > 6) { + x= cos(x+y+z); + x *= turb; + + if(n > 7) { + z= sin(x+y-z); + z *= turb; + + if(n > 8) { + x= -cos(-x-y+z); + x *= turb; + + if(n > 9) { + y= -sin(x-y+z); + y *= turb; + } + } + } + } + } + } + } + } + } + } + + if(turb != 0.0) { + turb *= 2.0; + x /= turb; + y /= turb; + z /= turb; + } + + return color(0.5 - x, 0.5 - y, 0.5 - z); +} + +shader node_magic_texture( + int Depth = 2, + float Turbulence = 5.0, + point Vector = P, + output color Color = color(0.0, 0.0, 0.0)) +{ + Color = magic(Vector, Depth, Turbulence); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_mapping.osl b/intern/cycles/kernel/osl/nodes/node_mapping.osl new file mode 100644 index 00000000000..f342837d3c9 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_mapping.osl @@ -0,0 +1,28 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_mapping( + matrix Matrix = matrix(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + point Vector = point(0.0, 0.0, 0.0), + output point Vector_ = point(0.0, 0.0, 0.0)) +{ + Vector_ = transform(Matrix, Vector); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_marble_texture.osl b/intern/cycles/kernel/osl/nodes/node_marble_texture.osl new file mode 100644 index 00000000000..9e18dee3235 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_marble_texture.osl @@ -0,0 +1,58 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" +#include "node_texture.h" + +/* Marble */ + +float marble(point p, float size, string type, string wave, string basis, int hard, float turb, int depth) +{ + float x = p[0]; + float y = p[1]; + float z = p[2]; + + float n = 5.0 * (x + y + z); + + float mi = n + turb * noise_turbulence(p/size, basis, depth, hard); + + mi = noise_wave(wave, mi); + + if(type == "Sharp") + mi = sqrt(mi); + else if(type == "Sharper") + mi = sqrt(sqrt(mi)); + + return mi; +} + +shader node_marble_texture( + string Type = "Soft", + string Wave = "Sine", + string Basis = "Perlin", + int Hard = 0, + float Size = 0.25, + float Turbulence = 5.0, + int Depth = 2, + point Vector = P, + output float Fac = 0.0) +{ + float size = nonzero(Size, 1e-5); + Fac = marble(Vector, size, Type, Wave, Basis, Hard, Turbulence, Depth); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_math.osl b/intern/cycles/kernel/osl/nodes/node_math.osl new file mode 100644 index 00000000000..be9bb71d511 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_math.osl @@ -0,0 +1,84 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +float safe_divide(float a, float b) +{ + float result; + + if(b == 0.0) + result = 0.0; + else + result = a/b; + + return result; +} + +float safe_log(float a, float b) +{ + if(a < 0.0 || b < 0.0) + return 0.0; + + return log(a)/log(b); +} + +shader node_math( + string type = "Add", + float Value1 = 0.0, + float Value2 = 0.0, + output float Value = 0.0) +{ + /* OSL asin, acos, pow check for values that could give rise to nan */ + + if(type == "Add") + Value = Value1 + Value2; + if(type == "Subtract") + Value = Value1 - Value2; + if(type == "Multiply") + Value = Value1*Value2; + if(type == "Divide") + Value = safe_divide(Value1, Value2); + if(type == "Sine") + Value = sin(Value1); + if(type == "Cosine") + Value = cos(Value1); + if(type == "Tangent") + Value = tan(Value1); + if(type == "Arcsine") + Value = asin(Value1); + if(type == "Arccosine") + Value = acos(Value1); + if(type == "Arctangent") + Value = atan(Value1); + if(type == "Power") + Value = pow(Value1, Value2); + if(type == "Logarithm") + Value = safe_log(Value1, Value2); + if(type == "Minimum") + Value = min(Value1, Value2); + if(type == "Maximum") + Value = max(Value1, Value2); + if(type == "Round") + Value = floor(Value1 + 0.5); + if(type == "Less Than") + Value = Value1 < Value2; + if(type == "Greater Than") + Value = Value1 > Value2; +} + diff --git a/intern/cycles/kernel/osl/nodes/node_mix.osl b/intern/cycles/kernel/osl/nodes/node_mix.osl new file mode 100644 index 00000000000..582aa7b3c60 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_mix.osl @@ -0,0 +1,388 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +color rgb_to_hsv(color rgb) +{ + float cmax, cmin, h, s, v, cdelta; + color c; + + cmax = max(rgb[0], max(rgb[1], rgb[2])); + cmin = min(rgb[0], min(rgb[1], rgb[2])); + cdelta = cmax - cmin; + + v = cmax; + + if(cmax != 0.0) { + s = cdelta/cmax; + } + else { + s = 0.0; + h = 0.0; + } + + if(s == 0.0) { + h = 0.0; + } + else { + c = (color(cmax, cmax, cmax) - rgb)/cdelta; + + if(rgb[0] == cmax) h = c[2] - c[1]; + else if(rgb[1] == cmax) h = 2.0 + c[0] - c[2]; + else h = 4.0 + c[1] - c[0]; + + h /= 6.0; + + if(h < 0.0) + h += 1.0; + } + + return color(h, s, v); +} + +color hsv_to_rgb(color hsv) +{ + float i, f, p, q, t, h, s, v; + color rgb; + + h = hsv[0]; + s = hsv[1]; + v = hsv[2]; + + if(s==0.0) { + rgb = color(v, v, v); + } + else { + if(h==1.0) + h = 0.0; + + h *= 6.0; + i = floor(h); + f = h - i; + rgb = color(f, f, f); + p = v*(1.0-s); + q = v*(1.0-(s*f)); + t = v*(1.0-(s*(1.0-f))); + + if(i == 0.0) rgb = color(v, t, p); + else if(i == 1.0) rgb = color(q, v, p); + else if(i == 2.0) rgb = color(p, v, t); + else if(i == 3.0) rgb = color(p, q, v); + else if(i == 4.0) rgb = color(t, p, v); + else rgb = color(v, p, q); + } + + return rgb; +} + +color node_mix_blend(float t, color col1, color col2) +{ + return mix(col1, col2, t); +} + +color node_mix_add(float t, color col1, color col2) +{ + return mix(col1, col1 + col2, t); +} + +color node_mix_mul(float t, color col1, color col2) +{ + return mix(col1, col1 * col2, t); +} + +color node_mix_screen(float t, color col1, color col2) +{ + float tm = 1.0 - t; + + return color(1.0) - (color(tm) + t*(color(1.0) - col2))*(color(1.0) - col1); +} + +color node_mix_overlay(float t, color col1, color col2) +{ + float tm = 1.0 - t; + + color outcol = col1; + + if(outcol[0] < 0.5) + outcol[0] *= tm + 2.0*t*col2[0]; + else + outcol[0] = 1.0 - (tm + 2.0*t*(1.0 - col2[0]))*(1.0 - outcol[0]); + + if(outcol[1] < 0.5) + outcol[1] *= tm + 2.0*t*col2[1]; + else + outcol[1] = 1.0 - (tm + 2.0*t*(1.0 - col2[1]))*(1.0 - outcol[1]); + + if(outcol[2] < 0.5) + outcol[2] *= tm + 2.0*t*col2[2]; + else + outcol[2] = 1.0 - (tm + 2.0*t*(1.0 - col2[2]))*(1.0 - outcol[2]); + + return outcol; +} + +color node_mix_sub(float t, color col1, color col2) +{ + return mix(col1, col1 - col2, t); +} + +color node_mix_div(float t, color col1, color col2) +{ + float tm = 1.0 - t; + + color outcol = col1; + + if(col2[0] != 0.0) outcol[0] = tm*outcol[0] + t*outcol[0]/col2[0]; + if(col2[1] != 0.0) outcol[1] = tm*outcol[1] + t*outcol[1]/col2[1]; + if(col2[2] != 0.0) outcol[2] = tm*outcol[2] + t*outcol[2]/col2[2]; + + return outcol; +} + +color node_mix_diff(float t, color col1, color col2) +{ + return mix(col1, abs(col1 - col2), t); +} + +color node_mix_dark(float t, color col1, color col2) +{ + return min(col1, col2*t); +} + +color node_mix_light(float t, color col1, color col2) +{ + return max(col1, col2*t); +} + +color node_mix_dodge(float t, color col1, color col2) +{ + color outcol = col1; + + if(outcol[0] != 0.0) { + float tmp = 1.0 - t*col2[0]; + if(tmp <= 0.0) + outcol[0] = 1.0; + else if((tmp = outcol[0]/tmp) > 1.0) + outcol[0] = 1.0; + else + outcol[0] = tmp; + } + if(outcol[1] != 0.0) { + float tmp = 1.0 - t*col2[1]; + if(tmp <= 0.0) + outcol[1] = 1.0; + else if((tmp = outcol[1]/tmp) > 1.0) + outcol[1] = 1.0; + else + outcol[1] = tmp; + } + if(outcol[2] != 0.0) { + float tmp = 1.0 - t*col2[2]; + if(tmp <= 0.0) + outcol[2] = 1.0; + else if((tmp = outcol[2]/tmp) > 1.0) + outcol[2] = 1.0; + else + outcol[2] = tmp; + } + + return outcol; +} + +color node_mix_burn(float t, color col1, color col2) +{ + float tmp, tm = 1.0 - t; + + color outcol = col1; + + tmp = tm + t*col2[0]; + if(tmp <= 0.0) + outcol[0] = 0.0; + else if((tmp = (1.0 - (1.0 - outcol[0])/tmp)) < 0.0) + outcol[0] = 0.0; + else if(tmp > 1.0) + outcol[0] = 1.0; + else + outcol[0] = tmp; + + tmp = tm + t*col2[1]; + if(tmp <= 0.0) + outcol[1] = 0.0; + else if((tmp = (1.0 - (1.0 - outcol[1])/tmp)) < 0.0) + outcol[1] = 0.0; + else if(tmp > 1.0) + outcol[1] = 1.0; + else + outcol[1] = tmp; + + tmp = tm + t*col2[2]; + if(tmp <= 0.0) + outcol[2] = 0.0; + else if((tmp = (1.0 - (1.0 - outcol[2])/tmp)) < 0.0) + outcol[2] = 0.0; + else if(tmp > 1.0) + outcol[2] = 1.0; + else + outcol[2] = tmp; + + return outcol; +} + +color node_mix_hue(float t, color col1, color col2) +{ + color outcol = col1; + color hsv2 = rgb_to_hsv(col2); + + if(hsv2[1] != 0.0) { + color hsv = rgb_to_hsv(outcol); + hsv[0] = hsv2[0]; + color tmp = hsv_to_rgb(hsv); + + outcol = mix(outcol, tmp, t); + } + + return outcol; +} + +color node_mix_sat(float t, color col1, color col2) +{ + float tm = 1.0 - t; + + color outcol = col1; + + color hsv = rgb_to_hsv(outcol); + + if(hsv[1] != 0.0) { + color hsv2 = rgb_to_hsv(col2); + + hsv[1] = tm*hsv[1] + t*hsv2[1]; + outcol = hsv_to_rgb(hsv); + } + + return outcol; +} + +color node_mix_val(float t, color col1, color col2) +{ + float tm = 1.0 - t; + + color hsv = rgb_to_hsv(col1); + color hsv2 = rgb_to_hsv(col2); + + hsv[2] = tm*hsv[2] + t*hsv2[2]; + + return hsv_to_rgb(hsv); +} + +color node_mix_color(float t, color col1, color col2) +{ + color outcol = col1; + color hsv2 = rgb_to_hsv(col2); + + if(hsv2[1] != 0.0) { + color hsv = rgb_to_hsv(outcol); + hsv[0] = hsv2[0]; + hsv[1] = hsv2[1]; + color tmp = hsv_to_rgb(hsv); + + outcol = mix(outcol, tmp, t); + } + + return outcol; +} + +color node_mix_soft(float t, color col1, color col2) +{ + float tm = 1.0 - t; + + color one= color(1.0); + color scr= one - (one - col2)*(one - col1); + + return tm*col1 + t*((one - col1)*col2*col1 + col1*scr); +} + +color node_mix_linear(float t, color col1, color col2) +{ + color outcol = col1; + + if(col2[0] > 0.5) + outcol[0]= col1[0] + t*(2.0*(col2[0] - 0.5)); + else + outcol[0]= col1[0] + t*(2.0*(col2[0]) - 1.0); + + if(col2[1] > 0.5) + outcol[1]= col1[1] + t*(2.0*(col2[1] - 0.5)); + else + outcol[1]= col1[1] + t*(2.0*(col2[1]) - 1.0); + + if(col2[2] > 0.5) + outcol[2]= col1[2] + t*(2.0*(col2[2] - 0.5)); + else + outcol[2]= col1[2] + t*(2.0*(col2[2]) - 1.0); + + return outcol; +} + +shader node_mix( + string type = "Mix", + float Fac = 0.5, + color Color1 = color(0.0, 0.0, 0.0), + color Color2 = color(0.0, 0.0, 0.0), + output color Color = color(0.0, 0.0, 0.0)) +{ + float t = clamp(Fac, 0.0, 1.0); + + if(type == "Mix") + Color = node_mix_blend(t, Color1, Color2); + if(type == "Add") + Color = node_mix_add(t, Color1, Color2); + if(type == "Multiply") + Color = node_mix_mul(t, Color1, Color2); + if(type == "Screen") + Color = node_mix_screen(t, Color1, Color2); + if(type == "Overlay") + Color = node_mix_overlay(t, Color1, Color2); + if(type == "Subtract") + Color = node_mix_sub(t, Color1, Color2); + if(type == "Divide") + Color = node_mix_div(t, Color1, Color2); + if(type == "Difference") + Color = node_mix_diff(t, Color1, Color2); + if(type == "Darken") + Color = node_mix_dark(t, Color1, Color2); + if(type == "Lighten") + Color = node_mix_light(t, Color1, Color2); + if(type == "Dodge") + Color = node_mix_dodge(t, Color1, Color2); + if(type == "Burn") + Color = node_mix_burn(t, Color1, Color2); + if(type == "Hue") + Color = node_mix_hue(t, Color1, Color2); + if(type == "Saturation") + Color = node_mix_sat(t, Color1, Color2); + if(type == "Value") + Color = node_mix_val (t, Color1, Color2); + if(type == "Color") + Color = node_mix_color(t, Color1, Color2); + if(type == "Soft Light") + Color = node_mix_soft(t, Color1, Color2); + if(type == "Linear Light") + Color = node_mix_linear(t, Color1, Color2); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_mix_closure.osl b/intern/cycles/kernel/osl/nodes/node_mix_closure.osl new file mode 100644 index 00000000000..1a377abd381 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_mix_closure.osl @@ -0,0 +1,30 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_mix_closure( + float Fac = 0.5, + closure color Closure1 = background(), + closure color Closure2 = background(), + output closure color Closure = background()) +{ + float t = clamp(Fac, 0.0, 1.0); + Closure = (1.0 - t)*Closure1 + t*Closure2; +} + diff --git a/intern/cycles/kernel/osl/nodes/node_musgrave_texture.osl b/intern/cycles/kernel/osl/nodes/node_musgrave_texture.osl new file mode 100644 index 00000000000..fbd0ce5c3bd --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_musgrave_texture.osl @@ -0,0 +1,218 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" +#include "node_texture.h" + +/* Musgrave fBm + * + * H: fractal increment parameter + * lacunarity: gap between successive frequencies + * octaves: number of frequencies in the fBm + * + * from "Texturing and Modelling: A procedural approach" + */ + +float noise_musgrave_fBm(point p, string basis, float H, float lacunarity, float octaves) +{ + float rmd; + float value = 0.0; + float pwr = 1.0; + float pwHL = pow(lacunarity, -H); + int i; + + for(i = 0; i < (int)octaves; i++) { + value += noise_basis(p, basis) * pwr; + pwr *= pwHL; + p *= lacunarity; + } + + rmd = octaves - floor(octaves); + if(rmd != 0.0) + value += rmd * noise_basis(p, basis) * pwr; + + return value; +} + +/* Musgrave Multifractal + * + * H: highest fractal dimension + * lacunarity: gap between successive frequencies + * octaves: number of frequencies in the fBm + */ + +float noise_musgrave_multi_fractal(point p, string basis, float H, float lacunarity, float octaves) +{ + float rmd; + float value = 1.0; + float pwr = 1.0; + float pwHL = pow(lacunarity, -H); + int i; + + for(i = 0; i < (int)octaves; i++) { + value *= (pwr * noise_basis(p, basis) + 1.0); + pwr *= pwHL; + p *= lacunarity; + } + + rmd = octaves - floor(octaves); + if(rmd != 0.0) + value *= (rmd * pwr * noise_basis(p, basis) + 1.0); /* correct? */ + + return value; +} + +/* Musgrave Heterogeneous Terrain + * + * H: fractal dimension of the roughest area + * lacunarity: gap between successive frequencies + * octaves: number of frequencies in the fBm + * offset: raises the terrain from `sea level' + */ + +float noise_musgrave_hetero_terrain(point p, string basis, float H, float lacunarity, float octaves, float offset) +{ + float value, increment, rmd; + float pwHL = pow(lacunarity, -H); + float pwr = pwHL; + int i; + + /* first unscaled octave of function; later octaves are scaled */ + value = offset + noise_basis(p, basis); + p *= lacunarity; + + for(i = 1; i < (int)octaves; i++) { + increment = (noise_basis(p, basis) + offset) * pwr * value; + value += increment; + pwr *= pwHL; + p *= lacunarity; + } + + rmd = octaves - floor(octaves); + if(rmd != 0.0) { + increment = (noise_basis(p, basis) + offset) * pwr * value; + value += rmd * increment; + } + + return value; +} + +/* Hybrid Additive/Multiplicative Multifractal Terrain + * + * H: fractal dimension of the roughest area + * lacunarity: gap between successive frequencies + * octaves: number of frequencies in the fBm + * offset: raises the terrain from `sea level' + */ + +float noise_musgrave_hybrid_multi_fractal(point p, string basis, float H, float lacunarity, float octaves, float offset, float gain) +{ + float result, signal, weight, rmd; + float pwHL = pow(lacunarity, -H); + float pwr = pwHL; + int i; + + result = noise_basis(p, basis) + offset; + weight = gain * result; + p *= lacunarity; + + for(i = 1; (weight > 0.001) && (i < (int)octaves); i++) { + if(weight > 1.0) + weight = 1.0; + + signal = (noise_basis(p, basis) + offset) * pwr; + pwr *= pwHL; + result += weight * signal; + weight *= gain * signal; + p *= lacunarity; + } + + rmd = octaves - floor(octaves); + if(rmd != 0.0) + result += rmd * ((noise_basis(p, basis) + offset) * pwr); + + return result; +} + +/* Ridged Multifractal Terrain + * + * H: fractal dimension of the roughest area + * lacunarity: gap between successive frequencies + * octaves: number of frequencies in the fBm + * offset: raises the terrain from `sea level' + */ + +float noise_musgrave_ridged_multi_fractal(point p, string basis, float H, float lacunarity, float octaves, float offset, float gain) +{ + float result, signal, weight; + float pwHL = pow(lacunarity, -H); + float pwr = pwHL; + int i; + + signal = offset - fabs(noise_basis(p, basis)); + signal *= signal; + result = signal; + weight = 1.0; + + for(i = 1; i < (int)octaves; i++) { + p *= lacunarity; + weight = clamp(signal * gain, 0.0, 1.0); + signal = offset - fabs(noise_basis(p, basis)); + signal *= signal; + signal *= weight; + result += signal * pwr; + pwr *= pwHL; + } + + return result; +} + +/* Shader */ + +shader node_musgrave_texture( + string Type = "fBM", + string Basis = "Perlin", + float Dimension = 2.0, + float Lacunarity = 1.0, + float Octaves = 2.0, + float Offset = 0.0, + float Intensity = 1.0, + float Gain = 1.0, + float Size = 0.25, + point Vector = P, + output float Fac = 0.0) +{ + float dimension = max(Dimension, 0.0); + float octaves = max(Octaves, 0.0); + float lacunarity = max(Lacunarity, 1e-5); + float size = nonzero(Size, 1e-5); + + point p = Vector/size; + + if(Type == "Multifractal") + Fac = Intensity*noise_musgrave_multi_fractal(p, Basis, dimension, lacunarity, octaves); + else if(Type == "fBM") + Fac = Intensity*noise_musgrave_fBm(p, Basis, dimension, lacunarity, octaves); + else if(Type == "Hybrid Multifractal") + Fac = Intensity*noise_musgrave_hybrid_multi_fractal(p, Basis, dimension, lacunarity, octaves, Offset, Gain); + else if(Type == "Ridged Multifractal") + Fac = Intensity*noise_musgrave_ridged_multi_fractal(p, Basis, dimension, lacunarity, octaves, Offset, Gain); + else if(Type == "Hetero Terrain") + Fac = Intensity*noise_musgrave_hetero_terrain(p, Basis, dimension, lacunarity, octaves, Offset); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_noise_texture.osl b/intern/cycles/kernel/osl/nodes/node_noise_texture.osl new file mode 100644 index 00000000000..193ed67d16e --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_noise_texture.osl @@ -0,0 +1,36 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" +#include "node_texture.h" + +shader node_noise_texture( + point Vector = P, + output color Color = color(0.0, 0.0, 0.0), + output float Fac = 0.0) +{ + point p = Vector*1e8; + + float r = cellnoise(p); + float g = cellnoise(point(p[1], p[0], p[2])); + float b = cellnoise(point(p[1], p[2], p[0])); + + Fac = r; + Color = color(r, g, b); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_output_displacement.osl b/intern/cycles/kernel/osl/nodes/node_output_displacement.osl new file mode 100644 index 00000000000..a6b452c532a --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_output_displacement.osl @@ -0,0 +1,25 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +displacement node_output_displacement(float Displacement = 0.0) +{ + P += N*Displacement*0.1; /* todo: get rid of this factor */ +} + diff --git a/intern/cycles/kernel/osl/nodes/node_output_surface.osl b/intern/cycles/kernel/osl/nodes/node_output_surface.osl new file mode 100644 index 00000000000..6efaf91121b --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_output_surface.osl @@ -0,0 +1,25 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +surface node_output_surface(closure color Surface = background()) +{ + Ci = Surface; +} + diff --git a/intern/cycles/kernel/osl/nodes/node_output_volume.osl b/intern/cycles/kernel/osl/nodes/node_output_volume.osl new file mode 100644 index 00000000000..18094242dc7 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_output_volume.osl @@ -0,0 +1,25 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +volume node_output_volume(closure color Volume = background()) +{ + Ci = Volume; +} + diff --git a/intern/cycles/kernel/osl/nodes/node_sky_texture.osl b/intern/cycles/kernel/osl/nodes/node_sky_texture.osl new file mode 100644 index 00000000000..fdb9b1d9708 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_sky_texture.osl @@ -0,0 +1,162 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +struct KernelSunSky { + /* sun direction in spherical and cartesian */ + float theta, phi; + vector dir; + + /* perez function parameters */ + float zenith_Y, zenith_x, zenith_y; + float perez_Y[5], perez_x[5], perez_y[5]; +}; + +color xyY_to_xyz(float x, float y, float Y) +{ + float X, Z; + + if(y != 0.0) X = (x / y) * Y; + else X = 0.0; + + if(y != 0.0 && Y != 0.0) Z = ((1.0 - x - y) / y) * Y; + else Z = 0.0; + + return color(X, Y, Z); +} + +color xyz_to_rgb(float x, float y, float z) +{ + return color(3.240479 * x + -1.537150 * y + -0.498535 * z, + -0.969256 * x + 1.875991 * y + 0.041556 * z, + 0.055648 * x + -0.204043 * y + 1.057311 * z); +} + +float sky_angle_between(float thetav, float phiv, float theta, float phi) +{ + float cospsi = sin(thetav)*sin(theta)*cos(phi - phiv) + cos(thetav)*cos(theta); + + if(cospsi > 1.0) + return 0.0; + if(cospsi < -1.0) + return M_PI; + + return acos(cospsi); +} + +vector sky_spherical_coordinates(vector dir) +{ + return vector(acos(dir[2]), atan2(dir[0], dir[1]), 0); +} + +float sky_perez_function(float lam[5], float theta, float gamma) +{ + float ctheta = cos(theta); + float cgamma = cos(gamma); + + return (1.0 + lam[0]*exp(lam[1] / ctheta)) * (1.0 + lam[2]*exp(lam[3]*gamma) + lam[4]*cgamma*cgamma); +} + +color sky_xyz_radiance(KernelSunSky sunsky, vector dir) +{ + /* convert vector to spherical coordinates */ + vector spherical = sky_spherical_coordinates(dir); + float theta = spherical[0]; + float phi = spherical[1]; + + /* angle between sun direction and dir */ + float gamma = sky_angle_between(theta, phi, sunsky.theta, sunsky.phi); + + /* clamp theta to horizon */ + theta = min(theta, M_PI_2 - 0.001); + + /* compute xyY color space values */ + float x = sunsky.zenith_x * sky_perez_function(sunsky.perez_x, theta, gamma); + float y = sunsky.zenith_y * sky_perez_function(sunsky.perez_y, theta, gamma); + float Y = sunsky.zenith_Y * sky_perez_function(sunsky.perez_Y, theta, gamma); + + /* convert to RGB */ + color xyz = xyY_to_xyz(x, y, Y); + return xyz_to_rgb(xyz[0], xyz[1], xyz[2]); +} + +void precompute_sunsky(vector dir, float turbidity, output KernelSunSky sunsky) +{ + vector spherical = sky_spherical_coordinates(dir); + float theta = spherical[0]; + float phi = spherical[1]; + + sunsky.theta = theta; + sunsky.phi = phi; + sunsky.dir = dir; + + float theta2 = theta*theta; + float theta3 = theta*theta*theta; + float T = turbidity; + float T2 = T*T; + + float chi = (4.0/ 9.0- T / 120.0) * (M_PI - 2.0* theta); + sunsky.zenith_Y = (4.0453*T - 4.9710) * tan(chi) - 0.2155*T + 2.4192; + sunsky.zenith_Y *= 0.06; + + sunsky.zenith_x = + (0.00166* theta3 - 0.00375* theta2 + 0.00209* theta)*T2 + + (-0.02903* theta3 + 0.06377* theta2 - 0.03202* theta + 0.00394)*T + + (0.11693* theta3 - 0.21196* theta2 + 0.06052* theta + 0.25886); + + sunsky.zenith_y = + (0.00275* theta3 - 0.00610* theta2 + 0.00317* theta)*T2 + + (-0.04214* theta3 + 0.08970* theta2 - 0.04153* theta + 0.00516)*T + + (0.15346* theta3 - 0.26756* theta2 + 0.06670* theta + 0.26688); + + sunsky.perez_Y[0] = (0.1787*T - 1.4630); + sunsky.perez_Y[1] = (-0.3554*T + 0.4275); + sunsky.perez_Y[2] = (-0.0227*T + 5.3251); + sunsky.perez_Y[3] = (0.1206*T - 2.5771); + sunsky.perez_Y[4] = (-0.0670*T + 0.3703); + + sunsky.perez_x[0] = (-0.0193*T - 0.2592); + sunsky.perez_x[1] = (-0.0665*T + 0.0008); + sunsky.perez_x[2] = (-0.0004*T + 0.2125); + sunsky.perez_x[3] = (-0.0641*T - 0.8989); + sunsky.perez_x[4] = (-0.0033*T + 0.0452); + + sunsky.perez_y[0] = (-0.0167*T - 0.2608); + sunsky.perez_y[1] = (-0.0950*T + 0.0092); + sunsky.perez_y[2] = (-0.0079*T + 0.2102); + sunsky.perez_y[3] = (-0.0441*T - 1.6537); + sunsky.perez_y[4] = (-0.0109*T + 0.0529); + + sunsky.zenith_Y /= sky_perez_function(sunsky.perez_Y, 0, theta); + sunsky.zenith_x /= sky_perez_function(sunsky.perez_x, 0, theta); + sunsky.zenith_y /= sky_perez_function(sunsky.perez_y, 0, theta); +} + +shader node_sky_texture( + vector Vector = P, + vector sun_direction = vector(0, 0, 1), + float turbidity = 2.2, + output color Color = color(0.0, 0.0, 0.0)) +{ + KernelSunSky sunsky; + + precompute_sunsky(sun_direction, turbidity, sunsky); + Color = sky_xyz_radiance(sunsky, Vector); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_stucci_texture.osl b/intern/cycles/kernel/osl/nodes/node_stucci_texture.osl new file mode 100644 index 00000000000..f03e03d9a98 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_stucci_texture.osl @@ -0,0 +1,49 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" +#include "node_texture.h" + +/* Stucci */ + +shader node_stucci_texture( + string Type = "Plastic", + string Basis = "Perlin", + int Hard = 0, + float Turbulence = 1.0, + float Size = 0.25, + point Vector = P, + output float Fac = 0.0) +{ + float size = nonzero(Size, 1e-5); + point p = Vector/size; + + float b2 = noise_basis_hard(p, Basis, Hard); + float ofs = Turbulence/200.0; + + if(Type != "Plastic") + ofs *= b2*b2; + + Fac = noise_basis_hard(point(p[0], p[1], p[2]+ofs), Basis, Hard); + + if(Type == "Wall Out") + Fac = 1.0 - Fac; + + Fac = max(Fac, 0.0); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_texture.h b/intern/cycles/kernel/osl/nodes/node_texture.h new file mode 100644 index 00000000000..8adb0e8aeb5 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_texture.h @@ -0,0 +1,251 @@ +/* + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +/* Voronoi Distances */ + +float voronoi_distance(string distance_metric, vector d, float e) +{ + float result = 0.0; + + if(distance_metric == "Distance Squared") + result = dot(d, d); + if(distance_metric == "Actual Distance") + result = length(d); + if(distance_metric == "Manhattan") + result = fabs(d[0]) + fabs(d[1]) + fabs(d[2]); + if(distance_metric == "Chebychev") + result = max(fabs(d[0]), max(fabs(d[1]), fabs(d[2]))); + if(distance_metric == "Minkovsky 1/2") + result = sqrt(fabs(d[0])) + sqrt(fabs(d[1])) + sqrt(fabs(d[1])); + if(distance_metric == "Minkovsky 4") + result = sqrt(sqrt(dot(d*d, d*d))); + if(distance_metric == "Minkovsky") + result = pow(pow(fabs(d[0]), e) + pow(fabs(d[1]), e) + pow(fabs(d[2]), e), 1.0/e); + + return result; +} + +/* Voronoi / Worley like */ + +color cellnoise_color(point p) +{ + float r = cellnoise(p); + float g = cellnoise(point(p[1], p[0], p[2])); + float b = cellnoise(point(p[1], p[2], p[0])); + + return color(r, g, b); +} + +void voronoi(point p, string distance_metric, float e, float da[4], point pa[4]) +{ + /* returns distances in da and point coords in pa */ + int xx, yy, zz, xi, yi, zi; + + xi = (int)floor(p[0]); + yi = (int)floor(p[1]); + zi = (int)floor(p[2]); + + da[0] = 1e10; + da[1] = 1e10; + da[2] = 1e10; + da[3] = 1e10; + + for(xx = xi-1; xx <= xi+1; xx++) { + for(yy = yi-1; yy <= yi+1; yy++) { + for(zz = zi-1; zz <= zi+1; zz++) { + point ip = point(xx, yy, zz); + point vp = (point)cellnoise_color(ip); + point pd = p - (vp + ip); + float d = voronoi_distance(distance_metric, pd, e); + + vp += point(xx, yy, zz); + + if(d < da[0]) { + da[3] = da[2]; + da[2] = da[1]; + da[1] = da[0]; + da[0] = d; + + pa[3] = pa[2]; + pa[2] = pa[1]; + pa[1] = pa[0]; + pa[0] = vp; + } + else if(d < da[1]) { + da[3] = da[2]; + da[2] = da[1]; + da[1] = d; + + pa[3] = pa[2]; + pa[2] = pa[1]; + pa[1] = vp; + } + else if(d < da[2]) { + da[3] = da[2]; + da[2] = d; + + pa[3] = pa[2]; + pa[2] = vp; + } + else if(d < da[3]) { + da[3] = d; + pa[3] = vp; + } + } + } + } +} + +float voronoi_Fn(point p, int n) +{ + float da[4]; + point pa[4]; + + voronoi(p, "Distance Squared", 0, da, pa); + + return da[n]; +} + +float voronoi_FnFn(point p, int n1, int n2) +{ + float da[4]; + point pa[4]; + + voronoi(p, "Distance Squared", 0, da, pa); + + return da[n2] - da[n1]; +} + +float voronoi_F1(point p) { return voronoi_Fn(p, 0); } +float voronoi_F2(point p) { return voronoi_Fn(p, 1); } +float voronoi_F3(point p) { return voronoi_Fn(p, 2); } +float voronoi_F4(point p) { return voronoi_Fn(p, 3); } +float voronoi_F1F2(point p) { return voronoi_FnFn(p, 0, 1); } + +float voronoi_Cr(point p) +{ + /* crackle type pattern, just a scale/clamp of F2-F1 */ + float t = 10.0*voronoi_F1F2(p); + return (t > 1.0)? 1.0: t; +} + +float voronoi_F1S(point p) { return 2.0*voronoi_F1(p) - 1.0; } +float voronoi_F2S(point p) { return 2.0*voronoi_F2(p) - 1.0; } +float voronoi_F3S(point p) { return 2.0*voronoi_F3(p) - 1.0; } +float voronoi_F4S(point p) { return 2.0*voronoi_F4(p) - 1.0; } +float voronoi_F1F2S(point p) { return 2.0*voronoi_F1F2(p) - 1.0; } +float voronoi_CrS(point p) { return 2.0*voronoi_Cr(p) - 1.0; } + +/* Noise Bases */ + +float noise_basis(point p, string basis) +{ + float result = 0.0; + + if(basis == "Perlin") + result = noise(p); + if(basis == "Voronoi F1") + result = voronoi_F1S(p); + if(basis == "Voronoi F2") + result = voronoi_F2S(p); + if(basis == "Voronoi F3") + result = voronoi_F3S(p); + if(basis == "Voronoi F4") + result = voronoi_F4S(p); + if(basis == "Voronoi F2-F1") + result = voronoi_F1F2S(p); + if(basis == "Voronoi Crackle") + result = voronoi_CrS(p); + if(basis == "Cell Noise") + result = cellnoise(p); + + return result; +} + +/* Soft/Hard Noise */ + +float noise_basis_hard(point p, string basis, int hard) +{ + float t = noise_basis(p, basis); + return (hard)? fabs(2.0*t - 1.0): t; +} + +/* Waves */ + +float noise_wave(string wave, float a) +{ + float result = 0.0; + + if(wave == "Sine") { + result = 0.5 + 0.5*sin(a); + } + else if(wave == "Saw") { + float b = 2*M_PI; + int n = (int)(a / b); + a -= n*b; + if(a < 0) a += b; + + result = a / b; + } + else if(wave == "Tri") { + float b = 2*M_PI; + float rmax = 1.0; + + result = rmax - 2.0*fabs(floor((a*(1.0/b))+0.5) - (a*(1.0/b))); + } + + return result; +} + +/* Turbulence */ + +float noise_turbulence(point p, string basis, int octaves, int hard) +{ + float fscale = 1.0; + float amp = 1.0; + float sum = 0.0; + int i; + + for(i = 0; i <= octaves; i++) { + float t = noise_basis(fscale*p, basis); + + if(hard) + t = fabs(2.0*t - 1.0); + + sum += t*amp; + amp *= 0.5; + fscale *= 2.0; + } + + sum *= ((float)(1 << octaves)/(float)((1 << (octaves+1)) - 1)); + + return sum; +} + +/* Utility */ + +float nonzero(float f, float eps) +{ + float r; + + if(abs(f) < eps) + r = sign(f)*eps; + else + r = f; + + return r; +} + diff --git a/intern/cycles/kernel/osl/nodes/node_texture_coordinate.osl b/intern/cycles/kernel/osl/nodes/node_texture_coordinate.osl new file mode 100644 index 00000000000..2acf72aef54 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_texture_coordinate.osl @@ -0,0 +1,66 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_texture_coordinate( + normal Normal = N, + int is_background = 0, + string bump_offset = "center", + + output point Generated = point(0.0, 0.0, 0.0), + output point UV = point(0.0, 0.0, 0.0), + output point Object = point(0.0, 0.0, 0.0), + output point Camera = point(0.0, 0.0, 0.0), + output point Window = point(0.0, 0.0, 0.0), + output point Reflection = point(0.0, 0.0, 0.0)) +{ + if(is_background) { + Generated = P; + UV = point(0.0, 0.0, 0.0); + Object = P; + point Pcam = transform("camera", "world", point(0, 0, 0)); + Camera = transform("camera", P + Pcam); + Window = transform("NDC", P + Pcam); + Reflection = I; + } + else { + getattribute("std::generated", Generated); + getattribute("std::uv", UV); + Object = transform("object", P); + Camera = transform("camera", P); + Window = transform("NDC", P); + Reflection = reflect(I, Normal); + } + + if(bump_offset == "dx") { + Generated += Dx(Generated); + UV += Dx(UV); + Object += Dx(Object); + Camera += Dx(Camera); + Window += Dx(Window); + } + else if(bump_offset == "dy") { + Generated += Dy(Generated); + UV += Dy(UV); + Object += Dy(Object); + Camera += Dy(Camera); + Window += Dy(Window); + } +} + diff --git a/intern/cycles/kernel/osl/nodes/node_translucent_bsdf.osl b/intern/cycles/kernel/osl/nodes/node_translucent_bsdf.osl new file mode 100644 index 00000000000..9acd46756d2 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_translucent_bsdf.osl @@ -0,0 +1,28 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_translucent_bsdf( + color Color = color(0.8, 0.8, 0.8), + normal Normal = N, + output closure color BSDF = diffuse(Normal)) +{ + BSDF = Color*translucent(Normal); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_transparent_bsdf.osl b/intern/cycles/kernel/osl/nodes/node_transparent_bsdf.osl new file mode 100644 index 00000000000..b347bfb116b --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_transparent_bsdf.osl @@ -0,0 +1,28 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_transparent_bsdf( + color Color = color(0.8, 0.8, 0.8), + normal Normal = N, + output closure color BSDF = diffuse(Normal)) +{ + BSDF = Color*transparent(); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_value.osl b/intern/cycles/kernel/osl/nodes/node_value.osl new file mode 100644 index 00000000000..bee6f39f2bc --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_value.osl @@ -0,0 +1,33 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_value( + float value_value = 0.0, + vector vector_value = vector(0.0, 0.0, 0.0), + color color_value = color(0.0, 0.0, 0.0), + output float Value = 0.0, + output vector Vector = vector(0.0, 0.0, 0.0), + output color Color = color(0.0, 0.0, 0.0)) +{ + Value = value_value; + Vector = vector_value; + Color = color_value; +} + diff --git a/intern/cycles/kernel/osl/nodes/node_vector_math.osl b/intern/cycles/kernel/osl/nodes/node_vector_math.osl new file mode 100644 index 00000000000..c6231d4350d --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_vector_math.osl @@ -0,0 +1,53 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_vector_math( + string type = "Add", + vector Vector1 = vector(0.0, 0.0, 0.0), + vector Vector2 = vector(0.0, 0.0, 0.0), + output float Fac = 0.0, + output vector Vector = vector(0.0, 0.0, 0.0)) +{ + if(type == "Add") { + Vector = Vector1 + Vector2; + Fac = (abs(Vector[0]) + abs(Vector[1]) + abs(Vector[2]))/3.0; + } + if(type == "Subtract") { + Vector = Vector1 + Vector2; + Fac = (abs(Vector[0]) + abs(Vector[1]) + abs(Vector[2]))/3.0; + } + if(type == "Average") { + Fac = length(Vector1 + Vector2); + Vector = normalize(Vector1 + Vector2); + } + if(type == "Dot Product") { + Fac = dot(Vector1, Vector2); + } + if(type == "Cross Product") { + vector c = cross(Vector1, Vector2); + Fac = length(c); + Vector = normalize(c); + } + if(type == "Normalize") { + Fac = length(Vector1); + Vector = normalize(Vector1); + } +} + diff --git a/intern/cycles/kernel/osl/nodes/node_velvet_bsdf.osl b/intern/cycles/kernel/osl/nodes/node_velvet_bsdf.osl new file mode 100644 index 00000000000..2b6219f6325 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_velvet_bsdf.osl @@ -0,0 +1,40 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" +#include "node_fresnel.h" + +shader node_velvet_bsdf( + color Color = color(0.8, 0.8, 0.8), + float Sigma = 0.0, + float Fresnel = 0.3, + normal Normal = N, + output closure color BSDF = diffuse(Normal)) +{ + float Fr = 1.0; + + if(Fresnel < 1.0) { + float eta = 1.0/clamp(1.0 - Fresnel, 1e-5, 1.0 - 1e-5); + Fr = fresnel_dielectric(I, Normal, eta); + } + + float sigma = clamp(Sigma, 0.0, 1.0); + + BSDF = (Fr*Color)*ashikhmin_velvet(Normal, sigma); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_voronoi_texture.osl b/intern/cycles/kernel/osl/nodes/node_voronoi_texture.osl new file mode 100644 index 00000000000..140ba6a6ba1 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_voronoi_texture.osl @@ -0,0 +1,82 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" +#include "node_texture.h" + +/* Voronoi */ + +shader node_voronoi_texture( + string DistanceMetric = "Actual Distance", + string Coloring = "Intensity", + float Weight1 = 1.0, + float Weight2 = 0.0, + float Weight3 = 0.0, + float Weight4 = 0.0, + float Exponent = 2.5, + float Intensity = 1.0, + float Size = 0.25, + point Vector = P, + output float Fac = 0.0, + output color Color = color(0.0, 0.0, 0.0)) +{ + float exponent = max(Exponent, 1e-5); + float size = nonzero(Size, 1e-5); + + float aw1 = fabs(Weight1); + float aw2 = fabs(Weight2); + float aw3 = fabs(Weight3); + float aw4 = fabs(Weight4); + float sc = (aw1 + aw2 + aw3 + aw4); + + if(sc != 0.0) + sc = Intensity/sc; + + /* compute distance and point coordinate of 4 nearest neighbours */ + float da[4]; + point pa[4]; + + voronoi(Vector/size, DistanceMetric, exponent, da, pa); + + /* Scalar output */ + Fac = sc * fabs(Weight1*da[0] + Weight2*da[1] + Weight3*da[2] + Weight4*da[3]); + + /* Colored output */ + if(Coloring == "Intensity") { + Color = color(Fac, Fac, Fac); + } + else { + Color = aw1*cellnoise_color(pa[0]); + Color += aw2*cellnoise_color(pa[1]); + Color += aw3*cellnoise_color(pa[2]); + Color += aw4*cellnoise_color(pa[3]); + + if(Coloring != "Position") { + float t1 = min((da[1] - da[0])*10.0, 1.0); + + if(Coloring == "Position, Outline, and Intensity") + Color *= t1*Fac; + else if(Coloring == "Position and Outline") + Color *= t1*sc; + } + else { + Color *= sc; + } + } +} + diff --git a/intern/cycles/kernel/osl/nodes/node_ward_bsdf.osl b/intern/cycles/kernel/osl/nodes/node_ward_bsdf.osl new file mode 100644 index 00000000000..68db07109ed --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_ward_bsdf.osl @@ -0,0 +1,30 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_ward_bsdf( + color Color = color(0.8, 0.8, 0.8), + float RoughnessU = 0.0, + float RoughnessV = 0.0, + normal Normal = N, + output closure color BSDF = diffuse(Normal)) +{ + BSDF = Color*ward(Normal, normalize(dPdu), RoughnessU, RoughnessV); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_wood_texture.osl b/intern/cycles/kernel/osl/nodes/node_wood_texture.osl new file mode 100644 index 00000000000..f1d2e278597 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_wood_texture.osl @@ -0,0 +1,63 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" +#include "node_texture.h" + +/* Wood */ + +float wood(point p, float size, string type, string wave, string basis, int hard, float turb) +{ + float x = p[0]; + float y = p[1]; + float z = p[2]; + + float result = 0.0; + + if(type == "Bands") { + result = noise_wave(wave, (x + y + z)*10.0); + } + else if(type == "Rings") { + result = noise_wave(wave, sqrt(x*x + y*y + z*z)*20.0); + } + else if (type == "Band Noise") { + float wi = turb*noise_basis_hard(p/size, basis, hard); + result = noise_wave(wave, (x + y + z)*10.0 + wi); + } + else if (type == "Ring Noise") { + float wi = turb*noise_basis_hard(p/size, basis, hard); + result = noise_wave(wave, sqrt(x*x + y*y + z*z)*20.0 + wi); + } + + return result; +} + +shader node_wood_texture( + string Type = "Bands", + string Wave = "Sine", + string Basis = "Perlin", + int Hard = 0, + float Size = 0.25, + float Turbulence = 5.0, + point Vector = P, + output float Fac = 0.0) +{ + float size = nonzero(Size, 1e-5); + Fac = wood(Vector, size, Type, Wave, Basis, Hard, Turbulence); +} + diff --git a/intern/cycles/kernel/osl/nodes/stdosl.h b/intern/cycles/kernel/osl/nodes/stdosl.h new file mode 100644 index 00000000000..6fe4f52df4a --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/stdosl.h @@ -0,0 +1,471 @@ +///////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. All Rights Reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// * Neither the name of Sony Pictures Imageworks nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +///////////////////////////////////////////////////////////////////////////// + + +#ifndef CCL_STDOSL_H +#define CCL_STDOSL_H + + +#ifndef M_PI +#define M_PI 3.1415926535897932 /* pi */ +#define M_PI_2 1.5707963267948966 /* pi/2 */ +#define M_PI_4 0.7853981633974483 /* pi/4 */ +#define M_2_PI 0.6366197723675813 /* 2/pi */ +#define M_2_SQRTPI 1.1283791670955126 /* 2/sqrt(pi) */ +#define M_E 2.7182818284590452 /* e (Euler's number) */ +#define M_LN2 0.6931471805599453 /* ln(2) */ +#define M_LN10 2.3025850929940457 /* ln(10) */ +#define M_LOG2E 1.4426950408889634 /* log_2(e) */ +#define M_LOG10E 0.4342944819032518 /* log_10(e) */ +#define M_SQRT2 1.4142135623730950 /* sqrt(2) */ +#define M_SQRT1_2 0.7071067811865475 /* 1/sqrt(2) */ +#endif + + + +// Declaration of built-in functions and closures +#define BUILTIN [[ int builtin = 1 ]] +#define BUILTIN_DERIV [[ int builtin = 1, int deriv = 1 ]] + +#define PERCOMP1(name) \ + normal name (normal x) BUILTIN; \ + vector name (vector x) BUILTIN; \ + point name (point x) BUILTIN; \ + color name (color x) BUILTIN; \ + float name (float x) BUILTIN; + +#define PERCOMP2(name) \ + normal name (normal x, normal y) BUILTIN; \ + vector name (vector x, vector y) BUILTIN; \ + point name (point x, point y) BUILTIN; \ + color name (color x, color y) BUILTIN; \ + float name (float x, float y) BUILTIN; + +#define PERCOMP2F(name) \ + normal name (normal x, float y) BUILTIN; \ + vector name (vector x, float y) BUILTIN; \ + point name (point x, float y) BUILTIN; \ + color name (color x, float y) BUILTIN; \ + float name (float x, float y) BUILTIN; + + +// Basic math +normal degrees (normal x) { return x*(180.0/M_PI); } +vector degrees (vector x) { return x*(180.0/M_PI); } +point degrees (point x) { return x*(180.0/M_PI); } +color degrees (color x) { return x*(180.0/M_PI); } +float degrees (float x) { return x*(180.0/M_PI); } +normal radians (normal x) { return x*(M_PI/180.0); } +vector radians (vector x) { return x*(M_PI/180.0); } +point radians (point x) { return x*(M_PI/180.0); } +color radians (color x) { return x*(M_PI/180.0); } +float radians (float x) { return x*(M_PI/180.0); } +PERCOMP1 (cos) +PERCOMP1 (sin) +PERCOMP1 (tan) +PERCOMP1 (acos) +PERCOMP1 (asin) +PERCOMP1 (atan) +PERCOMP2 (atan2) +PERCOMP1 (cosh) +PERCOMP1 (sinh) +PERCOMP1 (tanh) +PERCOMP2F (pow) +PERCOMP1 (exp) +PERCOMP1 (exp2) +PERCOMP1 (expm1) +PERCOMP1 (log) +point log (point a, float b) { return log(a)/log(b); } +vector log (vector a, float b) { return log(a)/log(b); } +color log (color a, float b) { return log(a)/log(b); } +float log (float a, float b) { return log(a)/log(b); } +PERCOMP1 (log2) +PERCOMP1 (log10) +PERCOMP1 (logb) +PERCOMP1 (sqrt) +PERCOMP1 (inversesqrt) +float hypot (float a, float b) { return sqrt (a*a + b*b); } +float hypot (float a, float b, float c) { return sqrt (a*a + b*b + c*c); } +PERCOMP1 (abs) +int abs (int x) BUILTIN; +PERCOMP1 (fabs) +int fabs (int x) BUILTIN; +PERCOMP1 (sign) +PERCOMP1 (floor) +PERCOMP1 (ceil) +PERCOMP1 (round) +PERCOMP1 (trunc) +PERCOMP2 (fmod) +PERCOMP2F (fmod) +PERCOMP2 (mod) +PERCOMP2F (mod) +int mod (int x, int y) BUILTIN; +PERCOMP2 (min) +PERCOMP2 (max) +normal clamp (normal x, normal minval, normal maxval) { return max(min(x,maxval),minval); } +vector clamp (vector x, vector minval, vector maxval) { return max(min(x,maxval),minval); } +point clamp (point x, point minval, point maxval) { return max(min(x,maxval),minval); } +color clamp (color x, color minval, color maxval) { return max(min(x,maxval),minval); } +float clamp (float x, float minval, float maxval) { return max(min(x,maxval),minval); } +//normal clamp (normal x, normal minval, normal maxval) BUILTIN; +//vector clamp (vector x, vector minval, vector maxval) BUILTIN; +//point clamp (point x, point minval, point maxval) BUILTIN; +//color clamp (color x, color minval, color maxval) BUILTIN; +//float clamp (float x, float minval, float maxval) BUILTIN; +normal mix (normal x, normal y, normal a) { return x*(1-a) + y*a; } +normal mix (normal x, normal y, float a) { return x*(1-a) + y*a; } +vector mix (vector x, vector y, vector a) { return x*(1-a) + y*a; } +vector mix (vector x, vector y, float a) { return x*(1-a) + y*a; } +point mix (point x, point y, point a) { return x*(1-a) + y*a; } +point mix (point x, point y, float a) { return x*(1-a) + y*a; } +color mix (color x, color y, color a) { return x*(1-a) + y*a; } +color mix (color x, color y, float a) { return x*(1-a) + y*a; } +float mix (float x, float y, float a) { return x*(1-a) + y*a; } +int isnan (float x) BUILTIN; +int isinf (float x) BUILTIN; +int isfinite (float x) BUILTIN; +float erf (float x) BUILTIN; +float erfc (float x) BUILTIN; + +// Vector functions + +vector cross (vector a, vector b) BUILTIN; +float dot (vector a, vector b) BUILTIN; +float length (vector v) BUILTIN; +float distance (point a, point b) BUILTIN; +float distance (point a, point b, point q) BUILTIN; +normal normalize (normal v) BUILTIN; +vector normalize (vector v) BUILTIN; +vector faceforward (vector N, vector I, vector Nref) BUILTIN; +vector faceforward (vector N, vector I) BUILTIN; +vector reflect (vector I, vector N) { return I - 2*dot(N,I)*N; } +vector refract (vector I, vector N, float eta) { + float IdotN = dot (I, N); + float k = 1 - eta*eta * (1 - IdotN*IdotN); + return (k < 0) ? vector(0,0,0) : (eta*I - N * (eta*IdotN + sqrt(k))); +} +void fresnel (vector I, normal N, float eta, + output float Kr, output float Kt, + output vector R, output vector T) +{ + float sqr(float x) { return x*x; } + float c = dot(I, N); + if (c < 0) + c = -c; + R = reflect(I, N); + float g = 1.0 / sqr(eta) - 1.0 + c * c; + if (g >= 0.0) { + g = sqrt (g); + float beta = g - c; + float F = (c * (g+c) - 1.0) / (c * beta + 1.0); + F = 0.5 * (1.0 + sqr(F)); + F *= sqr (beta / (g+c)); + Kr = F; + Kt = (1.0 - Kr) * eta*eta; + // OPT: the following recomputes some of the above values, but it + // gives us the same result as if the shader-writer called refract() + T = refract(I, N, eta); + } else { + // total internal reflection + Kr = 1.0; + Kt = 0.0; + T = vector (0,0,0); + } +#undef sqr +} + +void fresnel (vector I, normal N, float eta, + output float Kr, output float Kt) +{ + vector R, T; + fresnel(I, N, eta, Kr, Kt, R, T); +} + +point rotate (point q, float angle, point a, point b) BUILTIN; + +normal transform (matrix Mto, normal p) BUILTIN; +vector transform (matrix Mto, vector p) BUILTIN; +point transform (matrix Mto, point p) BUILTIN; + +// Implementation of transform-with-named-space in terms of matrices: + +point transform (string tospace, point x) +{ + return transform (matrix ("common", tospace), x); +} + +point transform (string fromspace, string tospace, point x) +{ + return transform (matrix (fromspace, tospace), x); +} + + +vector transform (string tospace, vector x) +{ + return transform (matrix ("common", tospace), x); +} + +vector transform (string fromspace, string tospace, vector x) +{ + return transform (matrix (fromspace, tospace), x); +} + + +normal transform (string tospace, normal x) +{ + return transform (matrix ("common", tospace), x); +} + +normal transform (string fromspace, string tospace, normal x) +{ + return transform (matrix (fromspace, tospace), x); +} + +float transformu (string tounits, float x) BUILTIN; +float transformu (string fromunits, string tounits, float x) BUILTIN; + + +// Color functions + +float luminance (color c) { + return dot ((vector)c, vector(0.2126, 0.7152, 0.0722)); +} + + + +color transformc (string to, color x) +{ + color rgb_to_hsv (color rgb) { // See Foley & van Dam + float r = rgb[0], g = rgb[1], b = rgb[2]; + float mincomp = min (r, min (g, b)); + float maxcomp = max (r, max (g, b)); + float delta = maxcomp - mincomp; // chroma + float h, s, v; + v = maxcomp; + if (maxcomp > 0) + s = delta / maxcomp; + else s = 0; + if (s <= 0) + h = 0; + else { + if (r >= maxcomp) h = (g-b) / delta; + else if (g >= maxcomp) h = 2 + (b-r) / delta; + else h = 4 + (r-g) / delta; + h /= 6; + if (h < 0) + h += 1; + } + return color (h, s, v); + } + + color rgb_to_hsl (color rgb) { // See Foley & van Dam + // First convert rgb to hsv, then to hsl + float minval = min (rgb[0], min (rgb[1], rgb[2])); + color hsv = rgb_to_hsv (rgb); + float maxval = hsv[2]; // v == maxval + float h = hsv[0], s, l = (minval+maxval) / 2; + if (minval == maxval) + s = 0; // special 'achromatic' case, hue is 0 + else if (l <= 0.5) + s = (maxval - minval) / (maxval + minval); + else + s = (maxval - minval) / (2 - maxval - minval); + return color (h, s, l); + } + + color r; + if (to == "rgb" || to == "RGB") + r = x; + else if (to == "hsv") + r = rgb_to_hsv (x); + else if (to == "hsl") + r = rgb_to_hsl (x); + else if (to == "YIQ") + r = color (dot (vector(0.299, 0.587, 0.114), (vector)x), + dot (vector(0.596, -0.275, -0.321), (vector)x), + dot (vector(0.212, -0.523, 0.311), (vector)x)); + else if (to == "xyz") + r = color (dot (vector(0.412453, 0.357580, 0.180423), (vector)x), + dot (vector(0.212671, 0.715160, 0.072169), (vector)x), + dot (vector(0.019334, 0.119193, 0.950227), (vector)x)); + else { + error ("Unknown color space \"%s\"", to); + r = x; + } + return r; +} + + +color transformc (string from, string to, color x) +{ + color hsv_to_rgb (color c) { // Reference: Foley & van Dam + float h = c[0], s = c[1], v = c[2]; + color r; + if (s < 0.0001) { + r = v; + } else { + h = 6 * (h - floor(h)); // expand to [0..6) + int hi = (int)h; + float f = h - hi; + float p = v * (1-s); + float q = v * (1-s*f); + float t = v * (1-s*(1-f)); + if (hi == 0) r = color (v, t, p); + else if (hi == 1) r = color (q, v, p); + else if (hi == 2) r = color (p, v, t); + else if (hi == 3) r = color (p, q, v); + else if (hi == 4) r = color (t, p, v); + else r = color (v, p, q); + } + return r; + } + + color hsl_to_rgb (color c) { + float h = c[0], s = c[1], l = c[2]; + // Easiest to convert hsl -> hsv, then hsv -> RGB (per Foley & van Dam) + float v = (l <= 0.5) ? (l * (1 + s)) : (l * (1 - s) + s); + color r; + if (v <= 0) { + r = 0; + } else { + float min = 2 * l - v; + s = (v - min) / v; + r = hsv_to_rgb (color (h, s, v)); + } + return r; + } + + color r; + if (from == "rgb" || from == "RGB") + r = x; + else if (from == "hsv") + r = hsv_to_rgb (x); + else if (from == "hsl") + r = hsl_to_rgb (x); + else if (from == "YIQ") + r = color (dot (vector(1, 0.9557, 0.6199), (vector)x), + dot (vector(1, -0.2716, -0.6469), (vector)x), + dot (vector(1, -1.1082, 1.7051), (vector)x)); + else if (from == "xyz") + r = color (dot (vector( 3.240479, -1.537150, -0.498535), (vector)x), + dot (vector(-0.969256, 1.875991, 0.041556), (vector)x), + dot (vector( 0.055648, -0.204043, 1.057311), (vector)x)); + else { + error ("Unknown color space \"%s\"", to); + r = x; + } + return transformc (to, r); +} + + + +// Matrix functions + +float determinant (matrix m) BUILTIN; +matrix transpose (matrix m) BUILTIN; + + + +// Pattern generation + +float step (float edge, float x) BUILTIN; +color step (color edge, color x) BUILTIN; +point step (point edge, point x) BUILTIN; +vector step (vector edge, vector x) BUILTIN; +normal step (normal edge, normal x) BUILTIN; +float smoothstep (float edge0, float edge1, float x) BUILTIN; + + +// Derivatives and area operators + + +// Displacement functions + + +// String functions + +int strlen (string s) BUILTIN; +int startswith (string s, string prefix) BUILTIN; +int endswith (string s, string suffix) BUILTIN; +string substr (string s, int start, int len) BUILTIN; +string substr (string s, int start) { return substr (s, start, strlen(s)); } + +// Define concat in terms of shorter concat +string concat (string a, string b, string c) { + return concat(concat(a,b), c); +} +string concat (string a, string b, string c, string d) { + return concat(concat(a,b,c), d); +} +string concat (string a, string b, string c, string d, string e) { + return concat(concat(a,b,c,d), e); +} +string concat (string a, string b, string c, string d, string e, string f) { + return concat(concat(a,b,c,d,e), f); +} + + +// Texture + + +// Closures + +closure color diffuse(normal N) BUILTIN; +closure color translucent(normal N) BUILTIN; +closure color reflection(normal N, float eta) BUILTIN; +closure color reflection(normal N) { return reflection (N, 0.0); } +closure color refraction(normal N, float eta) BUILTIN; +closure color dielectric(normal N, float eta) BUILTIN; +closure color transparent() BUILTIN; +closure color microfacet_ggx(normal N, float ag) BUILTIN; +closure color microfacet_ggx_refraction(normal N, float ag, float eta) BUILTIN; +closure color microfacet_beckmann(normal N, float ab) BUILTIN; +closure color microfacet_beckmann_refraction(normal N, float ab, float eta) BUILTIN; +closure color ward(normal N, vector T,float ax, float ay) BUILTIN; +closure color ashikhmin_velvet(normal N, float sigma) BUILTIN; +closure color westin_backscatter(normal N, float roughness) BUILTIN; +closure color westin_sheen(normal N, float edginess) BUILTIN; +closure color bssrdf_cubic(color radius) BUILTIN; +closure color emission(float inner_angle, float outer_angle) BUILTIN; +closure color emission(float outer_angle) BUILTIN; +closure color emission() BUILTIN; +closure color debug(string tag) BUILTIN; +closure color background() BUILTIN; +closure color holdout() BUILTIN; +closure color subsurface(float eta, float g, float mfp, float albedo) BUILTIN; + +// Renderer state +int raytype (string typename) BUILTIN; + +#undef BUILTIN +#undef BUILTIN_DERIV +#undef PERCOMP1 +#undef PERCOMP2 +#undef PERCOMP2F + +#endif /* CCL_STDOSL_H */ + diff --git a/intern/cycles/kernel/osl/osl_closures.cpp b/intern/cycles/kernel/osl/osl_closures.cpp new file mode 100644 index 00000000000..4c2261942fd --- /dev/null +++ b/intern/cycles/kernel/osl/osl_closures.cpp @@ -0,0 +1,93 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., closure_et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include + +#include "osl_closures.h" +#include "osl_shader.h" + +#include "util_debug.h" +#include "util_param.h" + +CCL_NAMESPACE_BEGIN + +static void generic_closure_setup(OSL::RendererServices *, int id, void *data) +{ + assert(data); + OSL::ClosurePrimitive *prim = (OSL::ClosurePrimitive *)data; + prim->setup(); +} + +static bool generic_closure_mergeable(int id, const void *dataA, const void *dataB) +{ + assert(dataA && dataB); + + OSL::ClosurePrimitive *primA = (OSL::ClosurePrimitive *)dataA; + OSL::ClosurePrimitive *primB = (OSL::ClosurePrimitive *)dataB; + return primA->mergeable(primB); +} + +static void register_closure(OSL::ShadingSystem *ss, const char *name, int id, OSL::ClosureParam *params, OSL::PrepareClosureFunc prepare) +{ + int j; + for(j = 0; params[j].type != TypeDesc(); ++j) {} + int size = params[j].offset; + + ss->register_closure(name, id, params, size, prepare, generic_closure_setup, generic_closure_mergeable); +} + +void OSLShader::register_closures(OSL::ShadingSystem *ss) +{ + register_closure(ss, "diffuse", OSL_CLOSURE_BSDF_DIFFUSE_ID, bsdf_diffuse_params, bsdf_diffuse_prepare); + register_closure(ss, "translucent", OSL_CLOSURE_BSDF_TRANSLUCENT_ID, bsdf_translucent_params, bsdf_translucent_prepare); + register_closure(ss, "reflection", OSL_CLOSURE_BSDF_REFLECTION_ID, bsdf_reflection_params, bsdf_reflection_prepare); + register_closure(ss, "refraction", OSL_CLOSURE_BSDF_REFRACTION_ID, bsdf_refraction_params, bsdf_refraction_prepare); + register_closure(ss, "transparent", OSL_CLOSURE_BSDF_TRANSPARENT_ID, bsdf_transparent_params, bsdf_transparent_prepare); + register_closure(ss, "microfacet_ggx", OSL_CLOSURE_BSDF_MICROFACET_GGX_ID, bsdf_microfacet_ggx_params, bsdf_microfacet_ggx_prepare); + register_closure(ss, "microfacet_ggx_refraction", OSL_CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID, bsdf_microfacet_ggx_refraction_params, bsdf_microfacet_ggx_refraction_prepare); + register_closure(ss, "microfacet_beckmann", OSL_CLOSURE_BSDF_MICROFACET_BECKMANN_ID, bsdf_microfacet_beckmann_params, bsdf_microfacet_beckmann_prepare); + register_closure(ss, "microfacet_beckmann_refraction", OSL_CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID, bsdf_microfacet_beckmann_refraction_params, bsdf_microfacet_beckmann_refraction_prepare); + register_closure(ss, "ward", OSL_CLOSURE_BSDF_WARD_ID, bsdf_ward_params, bsdf_ward_prepare); + register_closure(ss, "ashikhmin_velvet", OSL_CLOSURE_BSDF_ASHIKHMIN_VELVET_ID, bsdf_ashikhmin_velvet_params, bsdf_ashikhmin_velvet_prepare); + register_closure(ss, "westin_backscatter", OSL_CLOSURE_BSDF_WESTIN_BACKSCATTER_ID, bsdf_westin_backscatter_params, bsdf_westin_backscatter_prepare); + register_closure(ss, "westin_sheen", OSL_CLOSURE_BSDF_WESTIN_SHEEN_ID, bsdf_westin_sheen_params, bsdf_westin_sheen_prepare); + register_closure(ss, "bssrdf_cubic", OSL_CLOSURE_BSSRDF_CUBIC_ID, closure_bssrdf_cubic_params, closure_bssrdf_cubic_prepare); + register_closure(ss, "emission", OSL_CLOSURE_EMISSION_ID, closure_emission_params, closure_emission_prepare); + register_closure(ss, "debug", OSL_CLOSURE_DEBUG_ID, closure_debug_params, closure_debug_prepare); + register_closure(ss, "background", OSL_CLOSURE_BACKGROUND_ID, closure_background_params, closure_background_prepare); + register_closure(ss, "holdout", OSL_CLOSURE_HOLDOUT_ID, closure_holdout_params, closure_holdout_prepare); + register_closure(ss, "subsurface", OSL_CLOSURE_SUBSURFACE_ID, closure_subsurface_params, closure_subsurface_prepare); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/osl/osl_closures.h b/intern/cycles/kernel/osl/osl_closures.h new file mode 100644 index 00000000000..20a759586b0 --- /dev/null +++ b/intern/cycles/kernel/osl/osl_closures.h @@ -0,0 +1,114 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef __OSL_CLOSURES_H__ +#define __OSL_CLOSURES_H__ + +#include +#include +#include + +CCL_NAMESPACE_BEGIN + +enum { + OSL_CLOSURE_BSDF_DIFFUSE_ID, + OSL_CLOSURE_BSDF_TRANSLUCENT_ID, + OSL_CLOSURE_BSDF_REFLECTION_ID, + OSL_CLOSURE_BSDF_REFRACTION_ID, + OSL_CLOSURE_BSDF_TRANSPARENT_ID, + OSL_CLOSURE_BSDF_MICROFACET_GGX_ID, + OSL_CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID, + OSL_CLOSURE_BSDF_MICROFACET_BECKMANN_ID, + OSL_CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID, + OSL_CLOSURE_BSDF_WARD_ID, + OSL_CLOSURE_BSDF_ASHIKHMIN_VELVET_ID, + OSL_CLOSURE_BSDF_WESTIN_BACKSCATTER_ID, + OSL_CLOSURE_BSDF_WESTIN_SHEEN_ID, + OSL_CLOSURE_BSSRDF_CUBIC_ID, + OSL_CLOSURE_EMISSION_ID, + OSL_CLOSURE_DEBUG_ID, + OSL_CLOSURE_BACKGROUND_ID, + OSL_CLOSURE_HOLDOUT_ID, + OSL_CLOSURE_SUBSURFACE_ID +}; + +extern OSL::ClosureParam bsdf_diffuse_params[]; +extern OSL::ClosureParam bsdf_translucent_params[]; +extern OSL::ClosureParam bsdf_reflection_params[]; +extern OSL::ClosureParam bsdf_refraction_params[]; +extern OSL::ClosureParam bsdf_transparent_params[]; +extern OSL::ClosureParam bsdf_microfacet_ggx_params[]; +extern OSL::ClosureParam bsdf_microfacet_ggx_refraction_params[]; +extern OSL::ClosureParam bsdf_microfacet_beckmann_params[]; +extern OSL::ClosureParam bsdf_microfacet_beckmann_refraction_params[]; +extern OSL::ClosureParam bsdf_ward_params[]; +extern OSL::ClosureParam bsdf_ashikhmin_velvet_params[]; +extern OSL::ClosureParam bsdf_westin_backscatter_params[]; +extern OSL::ClosureParam bsdf_westin_sheen_params[]; +extern OSL::ClosureParam closure_bssrdf_cubic_params[]; +extern OSL::ClosureParam closure_emission_params[]; +extern OSL::ClosureParam closure_debug_params[]; +extern OSL::ClosureParam closure_background_params[]; +extern OSL::ClosureParam closure_holdout_params[]; +extern OSL::ClosureParam closure_subsurface_params[]; + +void bsdf_diffuse_prepare(OSL::RendererServices *, int id, void *data); +void bsdf_translucent_prepare(OSL::RendererServices *, int id, void *data); +void bsdf_reflection_prepare(OSL::RendererServices *, int id, void *data); +void bsdf_refraction_prepare(OSL::RendererServices *, int id, void *data); +void bsdf_transparent_prepare(OSL::RendererServices *, int id, void *data); +void bsdf_microfacet_ggx_prepare(OSL::RendererServices *, int id, void *data); +void bsdf_microfacet_ggx_refraction_prepare(OSL::RendererServices *, int id, void *data); +void bsdf_microfacet_beckmann_prepare(OSL::RendererServices *, int id, void *data); +void bsdf_microfacet_beckmann_refraction_prepare(OSL::RendererServices *, int id, void *data); +void bsdf_ward_prepare(OSL::RendererServices *, int id, void *data); +void bsdf_ashikhmin_velvet_prepare(OSL::RendererServices *, int id, void *data); +void bsdf_westin_backscatter_prepare(OSL::RendererServices *, int id, void *data); +void bsdf_westin_sheen_prepare(OSL::RendererServices *, int id, void *data); +void closure_bssrdf_cubic_prepare(OSL::RendererServices *, int id, void *data); +void closure_emission_prepare(OSL::RendererServices *, int id, void *data); +void closure_debug_prepare(OSL::RendererServices *, int id, void *data); +void closure_background_prepare(OSL::RendererServices *, int id, void *data); +void closure_holdout_prepare(OSL::RendererServices *, int id, void *data); +void closure_subsurface_prepare(OSL::RendererServices *, int id, void *data); + +#define CLOSURE_PREPARE(name, classname) \ +void name(RendererServices *, int id, void *data) \ +{ \ + memset(data, 0, sizeof(classname)); \ + new (data) classname(); \ +} + +CCL_NAMESPACE_END + +#endif /* __OSL_CLOSURES_H__ */ + diff --git a/intern/cycles/kernel/osl/osl_globals.h b/intern/cycles/kernel/osl/osl_globals.h new file mode 100644 index 00000000000..90746c385c7 --- /dev/null +++ b/intern/cycles/kernel/osl/osl_globals.h @@ -0,0 +1,74 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __OSL_GLOBALS_H__ +#define __OSL_GLOBALS_H__ + +#ifdef WITH_OSL + +#include + +#include "util_map.h" +#include "util_param.h" +#include "util_thread.h" +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +struct OSLGlobals { + /* use */ + bool use; + + /* shading system */ + OSL::ShadingSystem *ss; + + /* shader states */ + vector surface_state; + vector volume_state; + vector displacement_state; + OSL::ShadingAttribStateRef background_state; + + /* attributes */ + struct Attribute { + TypeDesc type; + AttributeElement elem; + int offset; + ParamValue value; + }; + + typedef unordered_map AttributeMap; + typedef unordered_map ObjectNameMap; + + vector attribute_map; + ObjectNameMap object_name_map; + + /* thread key for thread specific data lookup */ + struct ThreadData { + OSL::ShaderGlobals globals; + void *thread_info; + }; + + static tls_ptr(ThreadData, thread_data); +}; + +CCL_NAMESPACE_END + +#endif + +#endif /* __OSL_GLOBALS_H__ */ + diff --git a/intern/cycles/kernel/osl/osl_services.cpp b/intern/cycles/kernel/osl/osl_services.cpp new file mode 100644 index 00000000000..ded3a68d667 --- /dev/null +++ b/intern/cycles/kernel/osl/osl_services.cpp @@ -0,0 +1,424 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include + +#include "mesh.h" +#include "object.h" +#include "scene.h" + +#include "osl_services.h" +#include "osl_shader.h" + +#include "util_foreach.h" +#include "util_string.h" + +#include "kernel_compat_cpu.h" +#include "kernel_globals.h" +#include "kernel_object.h" +#include "kernel_triangle.h" + +CCL_NAMESPACE_BEGIN + +/* RenderServices implementation */ + +#define TO_MATRIX44(m) (*(OSL::Matrix44*)&(m)) + +/* static ustrings */ +ustring OSLRenderServices::u_distance("distance"); +ustring OSLRenderServices::u_index("index"); +ustring OSLRenderServices::u_camera("camera"); +ustring OSLRenderServices::u_screen("screen"); +ustring OSLRenderServices::u_raster("raster"); +ustring OSLRenderServices::u_ndc("NDC"); +ustring OSLRenderServices::u_empty; + +OSLRenderServices::OSLRenderServices() +{ + kernel_globals = NULL; +} + +OSLRenderServices::~OSLRenderServices() +{ +} + +void OSLRenderServices::thread_init(KernelGlobals *kernel_globals_) +{ + kernel_globals = kernel_globals_; +} + +bool OSLRenderServices::get_matrix(OSL::Matrix44 &result, OSL::TransformationPtr xform, float time) +{ + /* this is only used for shader and object space, we don't really have + a concept of shader space, so we just use object space for both. */ + if(xform) { + KernelGlobals *kg = kernel_globals; + const ShaderData *sd = (const ShaderData*)xform; + int object = sd->object; + + if(object != ~0) { + Transform tfm = object_fetch_transform(kg, object, OBJECT_TRANSFORM); + tfm = transform_transpose(tfm); + result = TO_MATRIX44(tfm); + + return true; + } + } + + return false; +} + +bool OSLRenderServices::get_inverse_matrix(OSL::Matrix44 &result, OSL::TransformationPtr xform, float time) +{ + /* this is only used for shader and object space, we don't really have + a concept of shader space, so we just use object space for both. */ + if(xform) { + KernelGlobals *kg = kernel_globals; + const ShaderData *sd = (const ShaderData*)xform; + int object = sd->object; + + if(object != ~0) { + Transform tfm = object_fetch_transform(kg, object, OBJECT_INVERSE_TRANSFORM); + tfm = transform_transpose(tfm); + result = TO_MATRIX44(tfm); + + return true; + } + } + + return false; +} + +bool OSLRenderServices::get_matrix(OSL::Matrix44 &result, ustring from, float time) +{ + KernelGlobals *kg = kernel_globals; + + if(from == u_ndc) { + Transform tfm = transform_transpose(kernel_data.cam.ndctoworld); + result = TO_MATRIX44(tfm); + return true; + } + else if(from == u_raster) { + Transform tfm = transform_transpose(kernel_data.cam.rastertoworld); + result = TO_MATRIX44(tfm); + return true; + } + else if(from == u_screen) { + Transform tfm = transform_transpose(kernel_data.cam.screentoworld); + result = TO_MATRIX44(tfm); + return true; + } + else if(from == u_camera) { + Transform tfm = transform_transpose(kernel_data.cam.cameratoworld); + result = TO_MATRIX44(tfm); + return true; + } + + return false; +} + +bool OSLRenderServices::get_inverse_matrix(OSL::Matrix44 &result, ustring to, float time) +{ + KernelGlobals *kg = kernel_globals; + + if(to == u_ndc) { + Transform tfm = transform_transpose(kernel_data.cam.worldtondc); + result = TO_MATRIX44(tfm); + return true; + } + else if(to == u_raster) { + Transform tfm = transform_transpose(kernel_data.cam.worldtoraster); + result = TO_MATRIX44(tfm); + return true; + } + else if(to == u_screen) { + Transform tfm = transform_transpose(kernel_data.cam.worldtoscreen); + result = TO_MATRIX44(tfm); + return true; + } + else if(to == u_camera) { + Transform tfm = transform_transpose(kernel_data.cam.worldtocamera); + result = TO_MATRIX44(tfm); + return true; + } + + return false; +} + +bool OSLRenderServices::get_array_attribute(void *renderstate, bool derivatives, + ustring object, TypeDesc type, ustring name, + int index, void *val) +{ + return false; +} + +static bool get_mesh_attribute(KernelGlobals *kg, const ShaderData *sd, + const OSLGlobals::Attribute& attr, bool derivatives, void *val) +{ + if(attr.type == TypeDesc::TypeFloat) { + float *fval = (float*)val; + fval[0] = triangle_attribute_float(kg, sd, attr.elem, attr.offset, + (derivatives)? &fval[1]: NULL, (derivatives)? &fval[2]: NULL); + } + else { + float3 *fval = (float3*)val; + fval[0] = triangle_attribute_float3(kg, sd, attr.elem, attr.offset, + (derivatives)? &fval[1]: NULL, (derivatives)? &fval[2]: NULL); + } + + return true; +} + +static bool get_mesh_attribute_convert(KernelGlobals *kg, const ShaderData *sd, + const OSLGlobals::Attribute& attr, const TypeDesc& type, bool derivatives, void *val) +{ + if(attr.type == TypeDesc::TypeFloat) { + float tmp[3]; + float3 *fval = (float3*)val; + + get_mesh_attribute(kg, sd, attr, derivatives, tmp); + + fval[0] = make_float3(tmp[0], tmp[0], tmp[0]); + if(derivatives) { + fval[1] = make_float3(tmp[1], tmp[1], tmp[1]); + fval[2] = make_float3(tmp[2], tmp[2], tmp[2]); + } + + return true; + } + else if(attr.type == TypeDesc::TypePoint || attr.type == TypeDesc::TypeVector || + attr.type == TypeDesc::TypeNormal || attr.type == TypeDesc::TypeColor) { + float3 tmp[3]; + float *fval = (float*)val; + + get_mesh_attribute(kg, sd, attr, derivatives, tmp); + + fval[0] = average(tmp[0]); + if(derivatives) { + fval[1] = average(tmp[1]); + fval[2] = average(tmp[2]); + } + + return true; + } + else + return false; +} + +static void get_object_attribute(const OSLGlobals::Attribute& attr, bool derivatives, void *val) +{ + size_t datasize = attr.value.datasize(); + + memcpy(val, attr.value.data(), datasize); + if(derivatives) + memset((char*)val + datasize, 0, datasize*2); +} + +bool OSLRenderServices::get_attribute(void *renderstate, bool derivatives, ustring object_name, + TypeDesc type, ustring name, void *val) +{ + KernelGlobals *kg = kernel_globals; + const ShaderData *sd = (const ShaderData*)renderstate; + int object = sd->object; + int tri = sd->prim; + + /* lookup of attribute on another object */ + if(object_name != u_empty) { + OSLGlobals::ObjectNameMap::iterator it = kg->osl.object_name_map.find(object_name); + + if(it == kg->osl.object_name_map.end()) + return false; + + object = it->second; + tri = ~0; + } + else if(object == ~0) { + /* no background attributes supported */ + return false; + } + + /* find attribute on object */ + OSLGlobals::AttributeMap& attribute_map = kg->osl.attribute_map[object]; + OSLGlobals::AttributeMap::iterator it = attribute_map.find(name); + + if(it == attribute_map.end()) + return false; + + /* type mistmatch? */ + const OSLGlobals::Attribute& attr = it->second; + + if(attr.elem != ATTR_ELEMENT_VALUE) { + /* triangle and vertex attributes */ + if(tri != ~0) { + if(attr.type == type || (attr.type == TypeDesc::TypeColor && + (type == TypeDesc::TypePoint || type == TypeDesc::TypeVector || type == TypeDesc::TypeNormal))) + return get_mesh_attribute(kg, sd, attr, derivatives, val); + else + return get_mesh_attribute_convert(kg, sd, attr, type, derivatives, val); + } + } + else { + /* object attribute */ + get_object_attribute(attr, derivatives, val); + return true; + } + + return false; +} + +bool OSLRenderServices::get_userdata(bool derivatives, ustring name, TypeDesc type, + void *renderstate, void *val) +{ + return false; /* disabled by lockgeom */ +} + +bool OSLRenderServices::has_userdata(ustring name, TypeDesc type, void *renderstate) +{ + return false; /* never called by OSL */ +} + +void *OSLRenderServices::get_pointcloud_attr_query(ustring *attr_names, + TypeDesc *attr_types, int nattrs) +{ +#ifdef WITH_PARTIO + m_attr_queries.push_back(AttrQuery()); + AttrQuery &query = m_attr_queries.back(); + + /* make space for what we need. the only reason to use + std::vector is to skip the delete */ + query.attr_names.resize(nattrs); + query.attr_partio_types.resize(nattrs); + /* capacity will keep the length of the smallest array passed + to the query. Just to prevent buffer overruns */ + query.capacity = -1; + + for(int i = 0; i < nattrs; ++i) + { + query.attr_names[i] = attr_names[i]; + + TypeDesc element_type = attr_types[i].elementtype (); + + if(query.capacity < 0) + query.capacity = attr_types[i].numelements(); + else + query.capacity = min(query.capacity, (int)attr_types[i].numelements()); + + /* convert the OSL (OIIO) type to the equivalent Partio type so + we can do a fast check at query time. */ + if(element_type == TypeDesc::TypeFloat) + query.attr_partio_types[i] = Partio::FLOAT; + else if(element_type == TypeDesc::TypeInt) + query.attr_partio_types[i] = Partio::INT; + else if(element_type == TypeDesc::TypeColor || element_type == TypeDesc::TypePoint || + element_type == TypeDesc::TypeVector || element_type == TypeDesc::TypeNormal) + query.attr_partio_types[i] = Partio::VECTOR; + else + return NULL; /* report some error of unknown type */ + } + + /* this is valid until the end of RenderServices */ + return &query; +#else + return NULL; +#endif +} + +#ifdef WITH_PARTIO +Partio::ParticlesData *OSLRenderServices::get_pointcloud(ustring filename) +{ + return Partio::readCached(filename.c_str(), true); +} + +#endif + +int OSLRenderServices::pointcloud(ustring filename, const OSL::Vec3 ¢er, float radius, + int max_points, void *_attr_query, void **attr_outdata) +{ + /* todo: this code has never been tested, and most likely does not + work. it's based on the example code in OSL */ + +#ifdef WITH_PARTIO + /* query Partio for this pointcloud lookup using cached attr_query */ + if(!_attr_query) + return 0; + + AttrQuery *attr_query = (AttrQuery *)_attr_query; + if(attr_query->capacity < max_points) + return 0; + + /* get the pointcloud entry for the given filename */ + Partio::ParticlesData *cloud = get_pointcloud(filename); + + /* now we have to look up all the attributes in the file. we can't do this + before hand cause we never know what we are going to load. */ + int nattrs = attr_query->attr_names.size(); + Partio::ParticleAttribute *attr = (Partio::ParticleAttribute *)alloca(sizeof(Partio::ParticleAttribute) * nattrs); + + for(int i = 0; i < nattrs; ++i) { + /* special case attributes */ + if(attr_query->attr_names[i] == u_distance || attr_query->attr_names[i] == u_index) + continue; + + /* lookup the attribute by name*/ + if(!cloud->attributeInfo(attr_query->attr_names[i].c_str(), attr[i])) { + /* issue an error here and return, types don't match */ + Partio::endCachedAccess(cloud); + cloud->release(); + return 0; + } + } + + std::vector indices; + std::vector dist2; + + Partio::beginCachedAccess(cloud); + + /* finally, do the lookup */ + cloud->findNPoints((const float *)¢er, max_points, radius, indices, dist2); + int count = indices.size(); + + /* retrieve the attributes directly to user space */ + for(int j = 0; j < nattrs; ++j) { + /* special cases */ + if(attr_query->attr_names[j] == u_distance) { + for(int i = 0; i < count; ++i) + ((float *)attr_outdata[j])[i] = sqrtf(dist2[i]); + } + else if(attr_query->attr_names[j] == u_index) { + for(int i = 0; i < count; ++i) + ((int *)attr_outdata[j])[i] = indices[i]; + } + else { + /* note we make a single call per attribute, we don't loop over the + points. Partio does it, so it is there that we have to care about + performance */ + cloud->data(attr[j], count, &indices[0], true, attr_outdata[j]); + } + } + + Partio::endCachedAccess(cloud); + cloud->release(); + + return count; +#else + return 0; +#endif +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/osl/osl_services.h b/intern/cycles/kernel/osl/osl_services.h new file mode 100644 index 00000000000..e5003074822 --- /dev/null +++ b/intern/cycles/kernel/osl/osl_services.h @@ -0,0 +1,111 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __OSL_SERVICES_H__ +#define __OSL_SERVICES_H__ + +/* OSL Render Services + * + * Implementation of OSL render services, to retriever matrices, attributes, + * textures and point clouds. In principle this should only be accessing + * kernel data, but currently we also reach back into the Scene to retrieve + * attributes. + */ + +#include +#include + +#ifdef WITH_PARTIO +#include +#endif + +CCL_NAMESPACE_BEGIN + +class Object; +class Scene; +class Shader; +class ShaderData; +class float3; +class KernelGlobals; + +class OSLRenderServices : public OSL::RendererServices +{ +public: + OSLRenderServices(); + ~OSLRenderServices(); + + void thread_init(KernelGlobals *kernel_globals); + + bool get_matrix(OSL::Matrix44 &result, OSL::TransformationPtr xform, float time); + bool get_inverse_matrix(OSL::Matrix44 &result, OSL::TransformationPtr xform, float time); + bool get_matrix(OSL::Matrix44 &result, ustring from, float time); + bool get_inverse_matrix(OSL::Matrix44 &result, ustring to, float time); + + bool get_array_attribute(void *renderstate, bool derivatives, + ustring object, TypeDesc type, ustring name, + int index, void *val); + bool get_attribute(void *renderstate, bool derivatives, ustring object, + TypeDesc type, ustring name, void *val); + + bool get_userdata(bool derivatives, ustring name, TypeDesc type, + void *renderstate, void *val); + bool has_userdata(ustring name, TypeDesc type, void *renderstate); + + void *get_pointcloud_attr_query(ustring *attr_names, + TypeDesc *attr_types, int nattrs); + int pointcloud(ustring filename, const OSL::Vec3 ¢er, float radius, + int max_points, void *attr_query, void **attr_outdata); + +private: + KernelGlobals *kernel_globals; + +#ifdef WITH_PARTIO + /* OSL gets pointers to this but its definition is private. + right now it only caches the types already converted to + Partio constants. this is what get_pointcloud_attr_query + returns */ + struct AttrQuery + { + /* names of the attributes to query */ + std::vector attr_names; + /* types as (enum Partio::ParticleAttributeType) of the + attributes in the query */ + std::vector attr_partio_types; + /* for sanity checks, capacity of the output arrays */ + int capacity; + }; + + Partio::ParticlesData *get_pointcloud(ustring filename); + + /* keep a list so adding elements doesn't invalidate pointers */ + std::list m_attr_queries; +#endif + + static ustring u_distance; + static ustring u_index; + static ustring u_camera; + static ustring u_screen; + static ustring u_raster; + static ustring u_ndc; + static ustring u_empty; +}; + +CCL_NAMESPACE_END + +#endif /* __OSL_SERVICES_H__ */ + diff --git a/intern/cycles/kernel/osl/osl_shader.cpp b/intern/cycles/kernel/osl/osl_shader.cpp new file mode 100644 index 00000000000..f4ae0248bef --- /dev/null +++ b/intern/cycles/kernel/osl/osl_shader.cpp @@ -0,0 +1,559 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "kernel_compat_cpu.h" +#include "kernel_types.h" +#include "kernel_globals.h" +#include "kernel_object.h" + +#include "osl_services.h" +#include "osl_shader.h" + +#include "util_foreach.h" + +#include +#include + +CCL_NAMESPACE_BEGIN + +tls_ptr(ThreadData, OSLGlobals::thread_data); + +/* Threads */ + +void OSLShader::thread_init(KernelGlobals *kg) +{ + OSL::pvt::ShadingSystemImpl *ssi = (OSL::pvt::ShadingSystemImpl*)kg->osl.ss; + + OSLGlobals::ThreadData *tdata = new OSLGlobals::ThreadData(); + + memset(&tdata->globals, 0, sizeof(OSL::ShaderGlobals)); + tdata->thread_info = ssi->create_thread_info(); + + tls_set(kg->osl.thread_data, tdata); + + ((OSLRenderServices*)ssi->renderer())->thread_init(kg); +} + +void OSLShader::thread_free(KernelGlobals *kg) +{ + OSL::pvt::ShadingSystemImpl *ssi = (OSL::pvt::ShadingSystemImpl*)kg->osl.ss; + + OSLGlobals::ThreadData *tdata = tls_get(OSLGlobals::ThreadData, kg->osl.thread_data); + + ssi->destroy_thread_info(tdata->thread_info); + + delete tdata; +} + +/* Globals */ + +#define TO_VEC3(v) (*(OSL::Vec3*)&(v)) +#define TO_COLOR3(v) (*(OSL::Color3*)&(v)) +#define TO_FLOAT3(v) make_float3(v[0], v[1], v[2]) + +static void shaderdata_to_shaderglobals(KernelGlobals *kg, ShaderData *sd, + int path_flag, OSL::ShaderGlobals *globals) +{ + /* copy from shader data to shader globals */ + globals->P = TO_VEC3(sd->P); + globals->dPdx = TO_VEC3(sd->dP.dx); + globals->dPdy = TO_VEC3(sd->dP.dy); + globals->I = TO_VEC3(sd->I); + globals->dIdx = TO_VEC3(sd->dI.dx); + globals->dIdy = TO_VEC3(sd->dI.dy); + globals->N = TO_VEC3(sd->N); + globals->Ng = TO_VEC3(sd->Ng); + globals->u = sd->u; + globals->dudx = sd->du.dx; + globals->dudy = sd->du.dy; + globals->v = sd->v; + globals->dvdx = sd->dv.dx; + globals->dvdy = sd->dv.dy; + globals->dPdu = TO_VEC3(sd->dPdu); + globals->dPdv = TO_VEC3(sd->dPdv); + globals->surfacearea = (sd->object == ~0)? 1.0f: object_surface_area(kg, sd->object); + + /* booleans */ + globals->raytype = path_flag; + globals->backfacing = (sd->flag & SD_BACKFACING); + + /* don't know yet if we need this */ + globals->flipHandedness = false; + + /* shader data to be used in services callbacks */ + globals->renderstate = sd; + + /* hacky, we leave it to services to fetch actual object matrix */ + globals->shader2common = sd; + globals->object2common = sd; + + /* must be set to NULL before execute */ + globals->Ci = NULL; +} + +/* Surface */ + +static void flatten_surface_closure_tree(ShaderData *sd, bool no_glossy, + const OSL::ClosureColor *closure, float3 weight = make_float3(1.0f, 1.0f, 1.0f)) +{ + /* OSL gives use a closure tree, we flatten it into arrays per + * closure type, for evaluation, sampling, etc later on. */ + + if(closure->type == OSL::ClosureColor::COMPONENT) { + OSL::ClosureComponent *comp = (OSL::ClosureComponent*)closure; + OSL::ClosurePrimitive *prim = (OSL::ClosurePrimitive*)comp->data(); + + if(prim) { + FlatClosure flat; + flat.prim = prim; + flat.weight = weight; + + switch(prim->category()) { + case ClosurePrimitive::BSDF: { + if(sd->osl_closure.num_bsdf == MAX_OSL_CLOSURE) + return; + + OSL::BSDFClosure *bsdf = (OSL::BSDFClosure*)prim; + ustring scattering = bsdf->scattering(); + + /* no caustics option */ + if(no_glossy && scattering == OSL::Labels::GLOSSY) + return; + + /* sample weight */ + float albedo = bsdf->albedo(TO_VEC3(sd->I)); + float sample_weight = fabsf(average(weight))*albedo; + float sample_sum = sd->osl_closure.bsdf_sample_sum + sample_weight; + + flat.sample_weight = sample_weight; + sd->osl_closure.bsdf_sample_sum = sample_sum; + + /* scattering flags */ + if(scattering == OSL::Labels::DIFFUSE) + sd->flag |= SD_BSDF_HAS_EVAL; + else if(scattering == OSL::Labels::GLOSSY) + sd->flag |= SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; + + /* add */ + sd->osl_closure.bsdf[sd->osl_closure.num_bsdf++] = flat; + break; + } + case ClosurePrimitive::Emissive: { + if(sd->osl_closure.num_bsdf == MAX_OSL_CLOSURE) + return; + + /* sample weight */ + float sample_weight = fabsf(average(weight)); + float sample_sum = sd->osl_closure.emissive_sample_sum + sample_weight; + + flat.sample_weight = sample_weight; + sd->osl_closure.emissive_sample_sum = sample_sum; + + /* flag */ + sd->flag |= SD_EMISSION; + + sd->osl_closure.emissive[sd->osl_closure.num_emissive++] = flat; + break; + } + case ClosurePrimitive::BSSRDF: + case ClosurePrimitive::Holdout: + case ClosurePrimitive::Debug: + break; /* not implemented */ + case ClosurePrimitive::Background: + case ClosurePrimitive::Volume: + break; /* not relevant */ + } + } + } + else if(closure->type == OSL::ClosureColor::MUL) { + OSL::ClosureMul *mul = (OSL::ClosureMul*)closure; + flatten_surface_closure_tree(sd, no_glossy, mul->closure, TO_FLOAT3(mul->weight) * weight); + } + else if(closure->type == OSL::ClosureColor::ADD) { + OSL::ClosureAdd *add = (OSL::ClosureAdd*)closure; + flatten_surface_closure_tree(sd, no_glossy, add->closureA, weight); + flatten_surface_closure_tree(sd, no_glossy, add->closureB, weight); + } +} + +void OSLShader::eval_surface(KernelGlobals *kg, ShaderData *sd, float randb, int path_flag) +{ + /* gather pointers */ + OSL::pvt::ShadingSystemImpl *ssi = (OSL::pvt::ShadingSystemImpl*)kg->osl.ss; + OSLGlobals::ThreadData *tdata = tls_get(OSLGlobals::ThreadData, kg->osl.thread_data); + OSL::ShaderGlobals *globals = &tdata->globals; + OSL::pvt::ShadingContext *ctx = ssi->get_context(tdata->thread_info); + + /* setup shader globals from shader data */ + sd->osl_ctx = ctx; + shaderdata_to_shaderglobals(kg, sd, path_flag, globals); + + /* execute shader for this point */ + if(kg->osl.surface_state[sd->shader]) + ctx->execute(OSL::pvt::ShadUseSurface, *(kg->osl.surface_state[sd->shader]), *globals); + + /* flatten closure tree */ + sd->osl_closure.bsdf_sample_sum = 0.0f; + sd->osl_closure.emissive_sample_sum = 0.0f; + sd->osl_closure.num_bsdf = 0; + sd->osl_closure.num_emissive = 0; + sd->osl_closure.randb = randb; + + if(globals->Ci) { + bool no_glossy = (path_flag & PATH_RAY_DIFFUSE) && kernel_data.integrator.no_caustics; + flatten_surface_closure_tree(sd, no_glossy, globals->Ci); + } +} + +/* Background */ + +static float3 flatten_background_closure_tree(const OSL::ClosureColor *closure) +{ + /* OSL gives use a closure tree, if we are shading for background there + * is only one supported closure type at the moment, which has no evaluation + * functions, so we just sum the weights */ + + if(closure->type == OSL::ClosureColor::COMPONENT) { + OSL::ClosureComponent *comp = (OSL::ClosureComponent*)closure; + OSL::ClosurePrimitive *prim = (OSL::ClosurePrimitive*)comp->data(); + + if(prim && prim->category() == OSL::ClosurePrimitive::Background) + return make_float3(1.0f, 1.0f, 1.0f); + } + else if(closure->type == OSL::ClosureColor::MUL) { + OSL::ClosureMul *mul = (OSL::ClosureMul*)closure; + + return TO_FLOAT3(mul->weight) * flatten_background_closure_tree(mul->closure); + } + else if(closure->type == OSL::ClosureColor::ADD) { + OSL::ClosureAdd *add = (OSL::ClosureAdd*)closure; + + return flatten_background_closure_tree(add->closureA) + + flatten_background_closure_tree(add->closureB); + } + + return make_float3(0.0f, 0.0f, 0.0f); +} + +float3 OSLShader::eval_background(KernelGlobals *kg, ShaderData *sd, int path_flag) +{ + /* gather pointers */ + OSL::pvt::ShadingSystemImpl *ssi = (OSL::pvt::ShadingSystemImpl*)kg->osl.ss; + OSLGlobals::ThreadData *tdata = tls_get(OSLGlobals::ThreadData, kg->osl.thread_data); + OSL::ShaderGlobals *globals = &tdata->globals; + OSL::pvt::ShadingContext *ctx = ssi->get_context(tdata->thread_info); + + /* setup shader globals from shader data */ + sd->osl_ctx = ctx; + shaderdata_to_shaderglobals(kg, sd, path_flag, globals); + + /* execute shader for this point */ + if(kg->osl.background_state) + ctx->execute(OSL::pvt::ShadUseSurface, *kg->osl.background_state, *globals); + + /* return background color immediately */ + if(globals->Ci) + return flatten_background_closure_tree(globals->Ci); + + return make_float3(0.0f, 0.0f, 0.0f); +} + +/* Volume */ + +static void flatten_volume_closure_tree(ShaderData *sd, + const OSL::ClosureColor *closure, float3 weight = make_float3(1.0f, 1.0f, 1.0f)) +{ + /* OSL gives use a closure tree, we flatten it into arrays per + * closure type, for evaluation, sampling, etc later on. */ + + if(closure->type == OSL::ClosureColor::COMPONENT) { + OSL::ClosureComponent *comp = (OSL::ClosureComponent*)closure; + OSL::ClosurePrimitive *prim = (OSL::ClosurePrimitive*)comp->data(); + + if(prim) { + FlatClosure flat; + flat.prim = prim; + flat.weight = weight; + + switch(prim->category()) { + case ClosurePrimitive::Volume: { + if(sd->osl_closure.num_bsdf == MAX_OSL_CLOSURE) + return; + + /* sample weight */ + float sample_weight = fabsf(average(weight)); + float sample_sum = sd->osl_closure.volume_sample_sum + sample_weight; + + flat.sample_weight = sample_weight; + sd->osl_closure.volume_sample_sum = sample_sum; + + /* add */ + sd->osl_closure.volume[sd->osl_closure.num_volume++] = flat; + break; + } + case ClosurePrimitive::Holdout: + case ClosurePrimitive::Debug: + break; /* not implemented */ + case ClosurePrimitive::Background: + case ClosurePrimitive::BSDF: + case ClosurePrimitive::Emissive: + case ClosurePrimitive::BSSRDF: + break; /* not relevant */ + } + } + } + else if(closure->type == OSL::ClosureColor::MUL) { + OSL::ClosureMul *mul = (OSL::ClosureMul*)closure; + flatten_volume_closure_tree(sd, mul->closure, TO_FLOAT3(mul->weight) * weight); + } + else if(closure->type == OSL::ClosureColor::ADD) { + OSL::ClosureAdd *add = (OSL::ClosureAdd*)closure; + flatten_volume_closure_tree(sd, add->closureA, weight); + flatten_volume_closure_tree(sd, add->closureB, weight); + } +} + +void OSLShader::eval_volume(KernelGlobals *kg, ShaderData *sd, float randb, int path_flag) +{ + /* gather pointers */ + OSL::pvt::ShadingSystemImpl *ssi = (OSL::pvt::ShadingSystemImpl*)kg->osl.ss; + OSLGlobals::ThreadData *tdata = tls_get(OSLGlobals::ThreadData, kg->osl.thread_data); + OSL::ShaderGlobals *globals = &tdata->globals; + OSL::pvt::ShadingContext *ctx = ssi->get_context(tdata->thread_info); + + /* setup shader globals from shader data */ + sd->osl_ctx = ctx; + shaderdata_to_shaderglobals(kg, sd, path_flag, globals); + + /* execute shader */ + ctx->execute(OSL::pvt::ShadUseSurface, *(kg->osl.volume_state[sd->shader]), *globals); + + /* retrieve resulting closures */ + sd->osl_closure.volume_sample_sum = 0.0f; + sd->osl_closure.num_volume = 0; + sd->osl_closure.randb = randb; + + if(globals->Ci) + flatten_volume_closure_tree(sd, globals->Ci); +} + +/* Displacement */ + +void OSLShader::eval_displacement(KernelGlobals *kg, ShaderData *sd) +{ + /* gather pointers */ + OSL::pvt::ShadingSystemImpl *ssi = (OSL::pvt::ShadingSystemImpl*)kg->osl.ss; + OSLGlobals::ThreadData *tdata = tls_get(OSLGlobals::ThreadData, kg->osl.thread_data); + OSL::ShaderGlobals *globals = &tdata->globals; + OSL::pvt::ShadingContext *ctx = ssi->get_context(tdata->thread_info); + + /* setup shader globals from shader data */ + sd->osl_ctx = ctx; + shaderdata_to_shaderglobals(kg, sd, 0, globals); + + /* execute shader */ + ctx->execute(OSL::pvt::ShadUseSurface, *(kg->osl.displacement_state[sd->shader]), *globals); + + /* get back position */ + sd->P = TO_FLOAT3(globals->P); +} + +void OSLShader::release(KernelGlobals *kg, const ShaderData *sd) +{ + OSL::pvt::ShadingSystemImpl *ssi = (OSL::pvt::ShadingSystemImpl*)kg->osl.ss; + OSLGlobals::ThreadData *tdata = tls_get(OSLGlobals::ThreadData, kg->osl.thread_data); + + ssi->release_context((OSL::pvt::ShadingContext*)sd->osl_ctx, tdata->thread_info); +} + +/* BSDF Closure */ + +int OSLShader::bsdf_sample(const ShaderData *sd, float randu, float randv, float3& eval, float3& omega_in, differential3& domega_in, float& pdf) +{ + OSL::BSDFClosure *sample_bsdf = NULL; + int label = LABEL_NONE; + float r = sd->osl_closure.randb*sd->osl_closure.bsdf_sample_sum; + float sample_sum = 0.0f; + + pdf = 0.0f; + + if(sd->osl_closure.bsdf_sample_sum == 0.0f) + return LABEL_NONE; + + /* find a closure to sample */ + for(int i = 0; i < sd->osl_closure.num_bsdf; i++) { + const FlatClosure *flat = &sd->osl_closure.bsdf[i]; + sample_sum += flat->sample_weight; + + if(r > sample_sum) + continue; + + /* sample BSDF closure */ + sample_bsdf = (OSL::BSDFClosure*)flat->prim; + ustring ulabel; + + ulabel = sample_bsdf->sample(TO_VEC3(sd->Ng), + TO_VEC3(sd->I), TO_VEC3(sd->dI.dx), TO_VEC3(sd->dI.dy), + randu, randv, + TO_VEC3(omega_in), TO_VEC3(domega_in.dx), TO_VEC3(domega_in.dy), + pdf, TO_COLOR3(eval)); + + /* convert OSL label */ + if(ulabel == OSL::Labels::REFLECT) + label = LABEL_REFLECT; + else if(ulabel == OSL::Labels::TRANSMIT) + label = LABEL_TRANSMIT; + else + return LABEL_NONE; /* sampling failed */ + + /* convert scattering to our bitflag label */ + ustring uscattering = sample_bsdf->scattering(); + + if(uscattering == OSL::Labels::DIFFUSE) + label |= LABEL_DIFFUSE; + else if(uscattering == OSL::Labels::GLOSSY) + label |= LABEL_GLOSSY; + else if(uscattering == OSL::Labels::SINGULAR) + label |= LABEL_SINGULAR; + else + label |= LABEL_STRAIGHT; + + /* eval + pdf */ + eval *= flat->weight; + pdf *= flat->sample_weight; + + break; + } + + if(!sample_bsdf || pdf == 0.0f) + return LABEL_NONE; + + /* add eval/pdf from other BSDF closures */ + for(int i = 0; i < sd->osl_closure.num_bsdf; i++) { + const FlatClosure *flat = &sd->osl_closure.bsdf[i]; + OSL::BSDFClosure *bsdf = (OSL::BSDFClosure*)flat->prim; + + if(bsdf != sample_bsdf) { + OSL::Color3 bsdf_eval; + float bsdf_pdf = 0.0f; + + if(dot(sd->Ng, omega_in) >= 0.0f) + bsdf_eval = bsdf->eval_reflect(TO_VEC3(sd->I), TO_VEC3(omega_in), bsdf_pdf); + else + bsdf_eval = bsdf->eval_transmit(TO_VEC3(sd->I), TO_VEC3(omega_in), bsdf_pdf); + + if(bsdf_pdf != 0.0f) { + eval += TO_FLOAT3(bsdf_eval)*flat->weight; + pdf += bsdf_pdf*flat->sample_weight; + } + } + } + + pdf *= 1.0f/(sd->osl_closure.bsdf_sample_sum); + + return label; +} + +float3 OSLShader::bsdf_eval(const ShaderData *sd, const float3& omega_in, float& pdf) +{ + float3 eval = make_float3(0.0f, 0.0f, 0.0f); + + pdf = 0.0f; + + for(int i = 0; i < sd->osl_closure.num_bsdf; i++) { + const FlatClosure *flat = &sd->osl_closure.bsdf[i]; + OSL::BSDFClosure *bsdf = (OSL::BSDFClosure*)flat->prim; + OSL::Color3 bsdf_eval; + float bsdf_pdf = 0.0f; + + if(dot(sd->Ng, omega_in) >= 0.0f) + bsdf_eval = bsdf->eval_reflect(TO_VEC3(sd->I), TO_VEC3(omega_in), bsdf_pdf); + else + bsdf_eval = bsdf->eval_transmit(TO_VEC3(sd->I), TO_VEC3(omega_in), bsdf_pdf); + + if(bsdf_pdf != 0.0f) { + eval += TO_FLOAT3(bsdf_eval)*flat->weight; + pdf += bsdf_pdf*flat->sample_weight; + } + } + + pdf *= 1.0f/sd->osl_closure.bsdf_sample_sum; + + return eval; +} + +/* Emissive Closure */ + +float3 OSLShader::emissive_eval(const ShaderData *sd) +{ + float3 eval = make_float3(0.0f, 0.0f, 0.0f); + + for(int i = 0; i < sd->osl_closure.num_emissive; i++) { + const FlatClosure *flat = &sd->osl_closure.emissive[i]; + OSL::EmissiveClosure *emissive = (OSL::EmissiveClosure*)flat->prim; + OSL::Color3 emissive_eval = emissive->eval(TO_VEC3(sd->Ng), TO_VEC3(sd->I)); + eval += TO_FLOAT3(emissive_eval)*flat->weight; + } + + return eval; +} + +void OSLShader::emissive_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *I, float *pdf) +{ + float r = sd->osl_closure.randb*sd->osl_closure.emissive_sample_sum; + float sample_sum = 0.0f; + + *pdf = 0.0f; + + if(sd->osl_closure.emissive_sample_sum == 0.0f) + return; + + /* find a closure to sample */ + for(int i = 0; i < sd->osl_closure.num_emissive; i++) { + const FlatClosure *flat = &sd->osl_closure.emissive[i]; + sample_sum += flat->sample_weight; + + if(r <= sample_sum) { + /* sample emissive closure */ + OSL::EmissiveClosure *emissive = (OSL::EmissiveClosure*)flat->prim; + emissive->sample(TO_VEC3(sd->Ng), randu, randv, TO_VEC3(*I), *pdf); + *eval = flat->weight; + *pdf *= flat->sample_weight/sd->osl_closure.emissive_sample_sum; + return; + } + } +} + +/* Volume Closure */ + +float3 OSLShader::volume_eval_phase(const ShaderData *sd, const float3 omega_in, const float3 omega_out) +{ + float3 eval = make_float3(0.0f, 0.0f, 0.0f); + + for(int i = 0; i < sd->osl_closure.num_volume; i++) { + const FlatClosure *flat = &sd->osl_closure.volume[i]; + OSL::VolumeClosure *volume = (OSL::VolumeClosure*)flat->prim; + OSL::Color3 volume_eval = volume->eval_phase(TO_VEC3(omega_in), TO_VEC3(omega_out)); + eval += TO_FLOAT3(volume_eval)*flat->weight; + } + + return eval; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/osl/osl_shader.h b/intern/cycles/kernel/osl/osl_shader.h new file mode 100644 index 00000000000..2e5279c12ce --- /dev/null +++ b/intern/cycles/kernel/osl/osl_shader.h @@ -0,0 +1,87 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __OSL_SHADER_H__ +#define __OSL_SHADER_H__ + +#ifdef WITH_OSL + +/* OSL Shader Engine + * + * Holds all variables to execute and use OSL shaders from the kernel. These + * are initialized externally by OSLShaderManager before rendering starts. + * + * Before/after a thread starts rendering, thread_init/thread_free must be + * called, which will store any per thread OSL state in thread local storage. + * This means no thread state must be passed along in the kernel itself. + */ + +#include +#include + +#include "kernel_types.h" + +#include "util_map.h" +#include "util_param.h" +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +namespace OSL = ::OSL; + +class OSLRenderServices; +class Scene; +class ShaderData; +class differential3; +class KernelGlobals; + +class OSLShader { +public: + /* init */ + static void register_closures(OSL::ShadingSystem *ss); + + /* per thread data */ + static void thread_init(KernelGlobals *kg); + static void thread_free(KernelGlobals *kg); + + /* eval */ + static void eval_surface(KernelGlobals *kg, ShaderData *sd, float randb, int path_flag); + static float3 eval_background(KernelGlobals *kg, ShaderData *sd, int path_flag); + static void eval_volume(KernelGlobals *kg, ShaderData *sd, float randb, int path_flag); + static void eval_displacement(KernelGlobals *kg, ShaderData *sd); + + /* sample & eval */ + static int bsdf_sample(const ShaderData *sd, float randu, float randv, + float3& eval, float3& omega_in, differential3& domega_in, float& pdf); + static float3 bsdf_eval(const ShaderData *sd, const float3& omega_in, float& pdf); + static float3 emissive_eval(const ShaderData *sd); + static void emissive_sample(const ShaderData *sd, float randu, float randv, + float3 *eval, float3 *I, float *pdf); + static float3 volume_eval_phase(const ShaderData *sd, const float3 omega_in, + const float3 omega_out); + + /* release */ + static void release(KernelGlobals *kg, const ShaderData *sd); +}; + +CCL_NAMESPACE_END + +#endif + +#endif /* __OSL_SHADER_H__ */ + diff --git a/intern/cycles/kernel/osl/vol_subsurface.cpp b/intern/cycles/kernel/osl/vol_subsurface.cpp new file mode 100644 index 00000000000..0cd3060051b --- /dev/null +++ b/intern/cycles/kernel/osl/vol_subsurface.cpp @@ -0,0 +1,135 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include + +#include "osl_closures.h" + +CCL_NAMESPACE_BEGIN + +using namespace OSL; + +// Computes scattering properties based on Jensen's reparameterization +// described in: +// http://graphics.ucsd.edu/~henrik/papers/fast_bssrdf/ + +class SubsurfaceClosure : public VolumeClosure { +public: + float m_g; + float m_eta; + Color3 m_mfp, m_albedo; + static float root_find_Rd(const float Rd0, const float A) { + // quick exit for trivial cases + if (Rd0 <= 0) return 0; + const float A43 = A * 4.0f / 3.0f; + // Find alpha such that f(alpha) = Rd (see eq.15). A simple bisection + // method can be used because this function is monotonicaly increasing. + float lo = 0, hi = 1; + for (int i = 0; i < 20; i++) { // 2^20 divisions should be sufficient + // eval function at midpoint + float alpha = 0.5f * (lo + hi); + float a1 = sqrtf(3 * (1 - alpha)); + float e1 = expf(-a1); + float e2 = expf(-A43 * a1); + float Rd = 0.5f * alpha * (1 + e2) * e1 - Rd0; + if (fabsf(Rd) < 1e-6f) + return alpha; // close enough + else if (Rd > 0) + hi = alpha; // root is on left side + else + lo = alpha; // root is on right side + } + // didn't quite converge, pick result in the middle of remaining interval + return 0.5f * (lo + hi); + } + SubsurfaceClosure() { } + + void setup() + { + ior(m_eta); + + if (m_g >= 0.99f) m_g = 0.99f; + if (m_g <= -0.99f) m_g = -0.99f; + + // eq.10 + float inv_eta = 1 / m_eta; + float Fdr = -1.440f * inv_eta * inv_eta + 0.710 * inv_eta + 0.668f + 0.0636 * m_eta; + float A = (1 + Fdr) / (1 - Fdr); + // compute sigma_s, sigma_a (eq.16) + Color3 alpha_prime = Color3 (root_find_Rd(m_albedo[0], A), + root_find_Rd(m_albedo[1], A), + root_find_Rd(m_albedo[2], A)); + Color3 sigma_t_prime = Color3 (m_mfp.x > 0 ? 1.0f / (m_mfp[0] * sqrtf(3 * (1 - alpha_prime[0]))) : 0.0f, + m_mfp.y > 0 ? 1.0f / (m_mfp[1] * sqrtf(3 * (1 - alpha_prime[1]))) : 0.0f, + m_mfp.z > 0 ? 1.0f / (m_mfp[2] * sqrtf(3 * (1 - alpha_prime[2]))) : 0.0f); + Color3 sigma_s_prime = alpha_prime * sigma_t_prime; + + sigma_s((1.0f / (1 - m_g)) * sigma_s_prime); + sigma_a(sigma_t_prime - sigma_s_prime); + } + + bool mergeable (const ClosurePrimitive *other) const { + const SubsurfaceClosure *comp = (const SubsurfaceClosure *)other; + return m_g == comp->m_g && VolumeClosure::mergeable(other); + } + + size_t memsize () const { return sizeof(*this); } + + const char *name () const { return "subsurface"; } + + void print_on (std::ostream &out) const { + out << name() << " ()"; + } + + virtual Color3 eval_phase(const Vec3 &omega_in, const Vec3 &omega_out) const { + float costheta = omega_in.dot(omega_out); + float ph = 0.25f * float(M_1_PI) * ((1 - m_g * m_g) / powf(1 + m_g * m_g - 2.0f * m_g * costheta, 1.5f)); + return Color3 (ph, ph, ph); + } +}; + + + +ClosureParam closure_subsurface_params[] = { + CLOSURE_FLOAT_PARAM (SubsurfaceClosure, m_eta), + CLOSURE_FLOAT_PARAM (SubsurfaceClosure, m_g), + CLOSURE_COLOR_PARAM (SubsurfaceClosure, m_mfp), + CLOSURE_COLOR_PARAM (SubsurfaceClosure, m_albedo), + CLOSURE_STRING_KEYPARAM("label"), + CLOSURE_FINISH_PARAM(SubsurfaceClosure) }; + +CLOSURE_PREPARE(closure_subsurface_prepare, SubsurfaceClosure) + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/bsdf.h b/intern/cycles/kernel/svm/bsdf.h new file mode 100644 index 00000000000..18c1da73fbd --- /dev/null +++ b/intern/cycles/kernel/svm/bsdf.h @@ -0,0 +1,135 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef __OSL_BSDF_H__ +#define __OSL_BSDF_H__ + +CCL_NAMESPACE_BEGIN + +__device float fresnel_dielectric(float eta, const float3 N, + const float3 I, float3 *R, float3 *T, +#ifdef __RAY_DIFFERENTIALS__ + const float3 dIdx, const float3 dIdy, + float3 *dRdx, float3 *dRdy, + float3 *dTdx, float3 *dTdy, +#endif + bool *is_inside) +{ + float cos = dot(N, I), neta; + float3 Nn; + // compute reflection + *R =(2 * cos)* N - I; +#ifdef __RAY_DIFFERENTIALS__ + *dRdx = (2 * dot(N, dIdx)) * N - dIdx; + *dRdy = (2 * dot(N, dIdy)) * N - dIdy; +#endif + // check which side of the surface we are on + if(cos > 0) { + // we are on the outside of the surface, going in + neta = 1 / eta; + Nn = N; + *is_inside = false; + } else { + // we are inside the surface, + cos = -cos; + neta = eta; + Nn = -N; + *is_inside = true; + } + *R =(2 * cos)* Nn - I; + float arg = 1 -(neta * neta *(1 -(cos * cos))); + if(arg < 0) { + *T= make_float3(0.0f, 0.0f, 0.0f); +#ifdef __RAY_DIFFERENTIALS__ + *dTdx= make_float3(0.0f, 0.0f, 0.0f); + *dTdy= make_float3(0.0f, 0.0f, 0.0f); +#endif + return 1; // total internal reflection + } else { + float dnp = sqrtf(arg); + float nK =(neta * cos)- dnp; + *T = -(neta * I)+(nK * Nn); +#ifdef __RAY_DIFFERENTIALS__ + *dTdx = -(neta * dIdx) + ((neta - neta * neta * cos / dnp) * dot(dIdx, Nn)) * Nn; + *dTdy = -(neta * dIdy) + ((neta - neta * neta * cos / dnp) * dot(dIdy, Nn)) * Nn; +#endif + // compute Fresnel terms + float cosTheta1 = cos; // N.R + float cosTheta2 = -dot(Nn, *T); + float pPara =(cosTheta1 - eta * cosTheta2)/(cosTheta1 + eta * cosTheta2); + float pPerp =(eta * cosTheta1 - cosTheta2)/(eta * cosTheta1 + cosTheta2); + return 0.5f * (pPara * pPara + pPerp * pPerp); + } +} + +__device float fresnel_dielectric_cos(float cosi, float eta) +{ + // compute fresnel reflectance without explicitly computing + // the refracted direction + float c = fabsf(cosi); + float g = eta * eta - 1 + c * c; + if(g > 0) { + g = sqrtf(g); + float A =(g - c)/(g + c); + float B =(c *(g + c)- 1)/(c *(g - c)+ 1); + return 0.5f * A * A *(1 + B * B); + } + return 1.0f; // TIR(no refracted component) +} + +__device float fresnel_conductor(float cosi, float eta, float k) +{ + float tmp_f = eta * eta + k * k; + float tmp = tmp_f * cosi * cosi; + float Rparl2 =(tmp -(2.0f * eta * cosi)+ 1)/ + (tmp +(2.0f * eta * cosi)+ 1); + float Rperp2 =(tmp_f -(2.0f * eta * cosi)+ cosi * cosi)/ + (tmp_f +(2.0f * eta * cosi)+ cosi * cosi); + return(Rparl2 + Rperp2) * 0.5f; +} + +__device float smooth_step(float edge0, float edge1, float x) +{ + float result; + if(x < edge0) result = 0.0f; + else if(x >= edge1) result = 1.0f; + else { + float t = (x - edge0)/(edge1 - edge0); + result = (3.0f-2.0f*t)*(t*t); + } + return result; +} + +CCL_NAMESPACE_END + +#endif /* __OSL_BSDF_H__ */ + diff --git a/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h b/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h new file mode 100644 index 00000000000..40bae72a6c5 --- /dev/null +++ b/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h @@ -0,0 +1,154 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef __BSDF_ASHIKHMIN_VELVET_H__ +#define __BSDF_ASHIKHMIN_VELVET_H__ + +CCL_NAMESPACE_BEGIN + +typedef struct BsdfAshikhminVelvetClosure { + //float3 m_N; + float m_invsigma2; +} BsdfAshikhminVelvetClosure; + +__device void bsdf_ashikhmin_velvet_setup(ShaderData *sd, float3 N, float sigma) +{ + BsdfAshikhminVelvetClosure *self = (BsdfAshikhminVelvetClosure*)sd->svm_closure_data; + + sigma = fmaxf(sigma, 0.01f); + + //self->m_N = N; + self->m_invsigma2 = 1.0f/(sigma * sigma); + + sd->svm_closure = CLOSURE_BSDF_ASHIKHMIN_VELVET_ID; + sd->flag |= SD_BSDF_HAS_EVAL; +} + +__device void bsdf_ashikhmin_velvet_blur(ShaderData *sd, float roughness) +{ +} + +__device float3 bsdf_ashikhmin_velvet_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + const BsdfAshikhminVelvetClosure *self = (const BsdfAshikhminVelvetClosure*)sd->svm_closure_data; + float3 m_N = sd->N; + + float cosNO = dot(m_N, I); + float cosNI = dot(m_N, omega_in); + if(cosNO > 0 && cosNI > 0) { + float3 H = normalize(omega_in + I); + + float cosNH = dot(m_N, H); + float cosHO = fabsf(dot(I, H)); + + float cosNHdivHO = cosNH / cosHO; + cosNHdivHO = fmaxf(cosNHdivHO, 0.00001f); + + float fac1 = 2 * fabsf(cosNHdivHO * cosNO); + float fac2 = 2 * fabsf(cosNHdivHO * cosNI); + + float sinNH2 = 1 - cosNH * cosNH; + float sinNH4 = sinNH2 * sinNH2; + float cotangent2 = (cosNH * cosNH) / sinNH2; + + float D = expf(-cotangent2 * self->m_invsigma2) * self->m_invsigma2 * M_1_PI_F / sinNH4; + float G = min(1.0f, min(fac1, fac2)); // TODO: derive G from D analytically + + float out = 0.25f * (D * G) / cosNO; + + *pdf = 0.5f * M_1_PI_F; + return make_float3(out, out, out); + } + return make_float3(0, 0, 0); +} + +__device float3 bsdf_ashikhmin_velvet_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + return make_float3(0.0f, 0.0f, 0.0f); +} + +__device float bsdf_ashikhmin_velvet_albedo(const ShaderData *sd, const float3 I) +{ + return 1.0f; +} + +__device int bsdf_ashikhmin_velvet_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +{ + const BsdfAshikhminVelvetClosure *self = (const BsdfAshikhminVelvetClosure*)sd->svm_closure_data; + float3 m_N = sd->N; + + // we are viewing the surface from above - send a ray out with uniform + // distribution over the hemisphere + sample_uniform_hemisphere(m_N, randu, randv, omega_in, pdf); + + if(dot(sd->Ng, *omega_in) > 0) { + float3 H = normalize(*omega_in + sd->I); + + float cosNI = dot(m_N, *omega_in); + float cosNO = dot(m_N, sd->I); + float cosNH = dot(m_N, H); + float cosHO = fabsf(dot(sd->I, H)); + + float cosNHdivHO = cosNH / cosHO; + cosNHdivHO = fmaxf(cosNHdivHO, 0.00001f); + + float fac1 = 2 * fabsf(cosNHdivHO * cosNO); + float fac2 = 2 * fabsf(cosNHdivHO * cosNI); + + float sinNH2 = 1 - cosNH * cosNH; + float sinNH4 = sinNH2 * sinNH2; + float cotangent2 = (cosNH * cosNH) / sinNH2; + + float D = expf(-cotangent2 * self->m_invsigma2) * self->m_invsigma2 * M_1_PI_F / sinNH4; + float G = min(1.0f, min(fac1, fac2)); // TODO: derive G from D analytically + + float power = 0.25f * (D * G) / cosNO; + + *eval = make_float3(power, power, power); + +#ifdef __RAY_DIFFERENTIALS__ + // TODO: find a better approximation for the retroreflective bounce + *domega_in_dx = (2 * dot(m_N, sd->dI.dx)) * m_N - sd->dI.dx; + *domega_in_dy = (2 * dot(m_N, sd->dI.dy)) * m_N - sd->dI.dy; + *domega_in_dx *= 125; + *domega_in_dy *= 125; +#endif + } else + *pdf = 0.0f; + + return LABEL_REFLECT|LABEL_DIFFUSE; +} + +CCL_NAMESPACE_END + +#endif /* __BSDF_ASHIKHMIN_VELVET_H__ */ + diff --git a/intern/cycles/kernel/svm/bsdf_diffuse.h b/intern/cycles/kernel/svm/bsdf_diffuse.h new file mode 100644 index 00000000000..c505de036aa --- /dev/null +++ b/intern/cycles/kernel/svm/bsdf_diffuse.h @@ -0,0 +1,166 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef __BSDF_DIFFUSE_H__ +#define __BSDF_DIFFUSE_H__ + +CCL_NAMESPACE_BEGIN + +/* DIFFUSE */ + +typedef struct BsdfDiffuseClosure { + //float3 m_N; +} BsdfDiffuseClosure; + +__device void bsdf_diffuse_setup(ShaderData *sd, float3 N) +{ + //BsdfDiffuseClosure *self = (BsdfDiffuseClosure*)sd->svm_closure_data; + //self->m_N = N; + + sd->svm_closure = CLOSURE_BSDF_DIFFUSE_ID; + sd->flag |= SD_BSDF_HAS_EVAL; +} + +__device void bsdf_diffuse_blur(ShaderData *sd, float roughness) +{ +} + +__device float3 bsdf_diffuse_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + //const BsdfDiffuseClosure *self = (const BsdfDiffuseClosure*)sd->svm_closure_data; + float3 m_N = sd->N; + + float cos_pi = fmaxf(dot(m_N, omega_in), 0.0f) * M_1_PI_F; + *pdf = cos_pi; + return make_float3(cos_pi, cos_pi, cos_pi); +} + +__device float3 bsdf_diffuse_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + return make_float3(0.0f, 0.0f, 0.0f); +} + +__device float bsdf_diffuse_albedo(const ShaderData *sd, const float3 I) +{ + return 1.0f; +} + +__device int bsdf_diffuse_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +{ + //const BsdfDiffuseClosure *self = (const BsdfDiffuseClosure*)sd->svm_closure_data; + float3 m_N = sd->N; + + // distribution over the hemisphere + sample_cos_hemisphere(m_N, randu, randv, omega_in, pdf); + + if(dot(sd->Ng, *omega_in) > 0.0f) { + *eval = make_float3(*pdf, *pdf, *pdf); +#ifdef __RAY_DIFFERENTIALS__ + // TODO: find a better approximation for the diffuse bounce + *domega_in_dx = (2 * dot(m_N, sd->dI.dx)) * m_N - sd->dI.dx; + *domega_in_dy = (2 * dot(m_N, sd->dI.dy)) * m_N - sd->dI.dy; + *domega_in_dx *= 125; + *domega_in_dy *= 125; +#endif + } + else + *pdf = 0.0f; + + return LABEL_REFLECT|LABEL_DIFFUSE; +} + +/* TRANSLUCENT */ + +typedef struct BsdfTranslucentClosure { + //float3 m_N; +} BsdfTranslucentClosure; + +__device void bsdf_translucent_setup(ShaderData *sd, float3 N) +{ + //BsdfTranslucentClosure *self = (BsdfTranslucentClosure*)sd->svm_closure_data; + //self->m_N = N; + + sd->svm_closure = CLOSURE_BSDF_TRANSLUCENT_ID; + sd->flag |= SD_BSDF_HAS_EVAL; +} + +__device void bsdf_translucent_blur(ShaderData *sd, float roughness) +{ +} + +__device float3 bsdf_translucent_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + return make_float3(0.0f, 0.0f, 0.0f); +} + +__device float3 bsdf_translucent_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + //const BsdfTranslucentClosure *self = (const BsdfTranslucentClosure*)sd->svm_closure_data; + float3 m_N = sd->N; + + float cos_pi = fmaxf(-dot(m_N, omega_in), 0.0f) * M_1_PI_F; + *pdf = cos_pi; + return make_float3 (cos_pi, cos_pi, cos_pi); +} + +__device float bsdf_translucent_albedo(const ShaderData *sd, const float3 I) +{ + return 1.0f; +} + +__device int bsdf_translucent_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +{ + //const BsdfTranslucentClosure *self = (const BsdfTranslucentClosure*)sd->svm_closure_data; + float3 m_N = sd->N; + + // we are viewing the surface from the right side - send a ray out with cosine + // distribution over the hemisphere + sample_cos_hemisphere (-m_N, randu, randv, omega_in, pdf); + if(dot(sd->Ng, *omega_in) < 0) { + *eval = make_float3(*pdf, *pdf, *pdf); +#ifdef __RAY_DIFFERENTIALS__ + // TODO: find a better approximation for the diffuse bounce + *domega_in_dx = (2 * dot(m_N, sd->dI.dx)) * m_N - sd->dI.dx; + *domega_in_dy = (2 * dot(m_N, sd->dI.dy)) * m_N - sd->dI.dy; + *domega_in_dx *= -125; + *domega_in_dy *= -125; +#endif + } else + *pdf = 0; + + return LABEL_TRANSMIT|LABEL_DIFFUSE; +} + +CCL_NAMESPACE_END + +#endif /* __BSDF_DIFFUSE_H__ */ + diff --git a/intern/cycles/kernel/svm/bsdf_microfacet.h b/intern/cycles/kernel/svm/bsdf_microfacet.h new file mode 100644 index 00000000000..b6baa1e90d8 --- /dev/null +++ b/intern/cycles/kernel/svm/bsdf_microfacet.h @@ -0,0 +1,493 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef __BSDF_MICROFACET_H__ +#define __BSDF_MICROFACET_H__ + +CCL_NAMESPACE_BEGIN + +/* GGX */ + +typedef struct BsdfMicrofacetGGXClosure { + //float3 m_N; + float m_ag; + float m_eta; + int m_refractive; +} BsdfMicrofacetGGXClosure; + +__device void bsdf_microfacet_ggx_setup(ShaderData *sd, float3 N, float ag, float eta, bool refractive) +{ + BsdfMicrofacetGGXClosure *self = (BsdfMicrofacetGGXClosure*)sd->svm_closure_data; + + //self->m_N = N; + self->m_ag = clamp(ag, 1e-5f, 1.0f); + self->m_eta = eta; + self->m_refractive = (refractive)? 1: 0; + + if(refractive) + sd->svm_closure = CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID; + else + sd->svm_closure = CLOSURE_BSDF_MICROFACET_GGX_ID; + + sd->flag |= SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; +} + +__device void bsdf_microfacet_ggx_blur(ShaderData *sd, float roughness) +{ + BsdfMicrofacetGGXClosure *self = (BsdfMicrofacetGGXClosure*)sd->svm_closure_data; + self->m_ag = fmaxf(roughness, self->m_ag); +} + +__device float3 bsdf_microfacet_ggx_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + const BsdfMicrofacetGGXClosure *self = (const BsdfMicrofacetGGXClosure*)sd->svm_closure_data; + float3 m_N = sd->N; + + if(self->m_refractive == 1) return make_float3 (0, 0, 0); + float cosNO = dot(m_N, I); + float cosNI = dot(m_N, omega_in); + if(cosNI > 0 && cosNO > 0) { + // get half vector + float3 Hr = normalize(omega_in + I); + // eq. 20: (F*G*D)/(4*in*on) + // eq. 33: first we calculate D(m) with m=Hr: + float alpha2 = self->m_ag * self->m_ag; + float cosThetaM = dot(m_N, Hr); + float cosThetaM2 = cosThetaM * cosThetaM; + float tanThetaM2 = (1 - cosThetaM2) / cosThetaM2; + float cosThetaM4 = cosThetaM2 * cosThetaM2; + float D = alpha2 / (M_PI_F * cosThetaM4 * (alpha2 + tanThetaM2) * (alpha2 + tanThetaM2)); + // eq. 34: now calculate G1(i,m) and G1(o,m) + float G1o = 2 / (1 + sqrtf(1 + alpha2 * (1 - cosNO * cosNO) / (cosNO * cosNO))); + float G1i = 2 / (1 + sqrtf(1 + alpha2 * (1 - cosNI * cosNI) / (cosNI * cosNI))); + float G = G1o * G1i; + float out = (G * D) * 0.25f / cosNO; + // eq. 24 + float pm = D * cosThetaM; + // convert into pdf of the sampled direction + // eq. 38 - but see also: + // eq. 17 in http://www.graphics.cornell.edu/~bjw/wardnotes.pdf + *pdf = pm * 0.25f / dot(Hr, I); + return make_float3 (out, out, out); + } + return make_float3 (0, 0, 0); +} + +__device float3 bsdf_microfacet_ggx_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + const BsdfMicrofacetGGXClosure *self = (const BsdfMicrofacetGGXClosure*)sd->svm_closure_data; + float3 m_N = sd->N; + + if(self->m_refractive == 0) return make_float3 (0, 0, 0); + float cosNO = dot(m_N, I); + float cosNI = dot(m_N, omega_in); + if(cosNO <= 0 || cosNI >= 0) + return make_float3 (0, 0, 0); // vectors on same side -- not possible + // compute half-vector of the refraction (eq. 16) + float3 ht = -(self->m_eta * omega_in + I); + float3 Ht = normalize(ht); + float cosHO = dot(Ht, I); + + float cosHI = dot(Ht, omega_in); + // eq. 33: first we calculate D(m) with m=Ht: + float alpha2 = self->m_ag * self->m_ag; + float cosThetaM = dot(m_N, Ht); + float cosThetaM2 = cosThetaM * cosThetaM; + float tanThetaM2 = (1 - cosThetaM2) / cosThetaM2; + float cosThetaM4 = cosThetaM2 * cosThetaM2; + float D = alpha2 / (M_PI_F * cosThetaM4 * (alpha2 + tanThetaM2) * (alpha2 + tanThetaM2)); + // eq. 34: now calculate G1(i,m) and G1(o,m) + float G1o = 2 / (1 + sqrtf(1 + alpha2 * (1 - cosNO * cosNO) / (cosNO * cosNO))); + float G1i = 2 / (1 + sqrtf(1 + alpha2 * (1 - cosNI * cosNI) / (cosNI * cosNI))); + float G = G1o * G1i; + // probability + float invHt2 = 1 / dot(ht, ht); + *pdf = D * fabsf(cosThetaM) * (fabsf(cosHI) * (self->m_eta * self->m_eta)) * invHt2; + float out = (fabsf(cosHI * cosHO) * (self->m_eta * self->m_eta) * (G * D) * invHt2) / cosNO; + return make_float3 (out, out, out); +} + +__device float bsdf_microfacet_ggx_albedo(const ShaderData *sd, const float3 I) +{ + return 1.0f; +} + +__device int bsdf_microfacet_ggx_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +{ + const BsdfMicrofacetGGXClosure *self = (const BsdfMicrofacetGGXClosure*)sd->svm_closure_data; + float3 m_N = sd->N; + + float cosNO = dot(m_N, sd->I); + if(cosNO > 0) { + float3 X, Y, Z = m_N; + make_orthonormals(Z, &X, &Y); + // generate a random microfacet normal m + // eq. 35,36: + // we take advantage of cos(atan(x)) == 1/sqrt(1+x^2) + //tttt and sin(atan(x)) == x/sqrt(1+x^2) + float alpha2 = self->m_ag * self->m_ag; + float tanThetaM2 = alpha2 * randu / (1 - randu); + float cosThetaM = 1 / sqrtf(1 + tanThetaM2); + float sinThetaM = cosThetaM * sqrtf(tanThetaM2); + float phiM = 2 * M_PI_F * randv; + float3 m = (cosf(phiM) * sinThetaM) * X + + (sinf(phiM) * sinThetaM) * Y + + cosThetaM * Z; + if(self->m_refractive == 0) { + float cosMO = dot(m, sd->I); + if(cosMO > 0) { + // eq. 39 - compute actual reflected direction + *omega_in = 2 * cosMO * m - sd->I; + if(dot(sd->Ng, *omega_in) > 0) { + // microfacet normal is visible to this ray + // eq. 33 + float cosThetaM2 = cosThetaM * cosThetaM; + float cosThetaM4 = cosThetaM2 * cosThetaM2; + float D = alpha2 / (M_PI_F * cosThetaM4 * (alpha2 + tanThetaM2) * (alpha2 + tanThetaM2)); + // eq. 24 + float pm = D * cosThetaM; + // convert into pdf of the sampled direction + // eq. 38 - but see also: + // eq. 17 in http://www.graphics.cornell.edu/~bjw/wardnotes.pdf + *pdf = pm * 0.25f / cosMO; + // eval BRDF*cosNI + float cosNI = dot(m_N, *omega_in); + // eq. 34: now calculate G1(i,m) and G1(o,m) + float G1o = 2 / (1 + sqrtf(1 + alpha2 * (1 - cosNO * cosNO) / (cosNO * cosNO))); + float G1i = 2 / (1 + sqrtf(1 + alpha2 * (1 - cosNI * cosNI) / (cosNI * cosNI))); + float G = G1o * G1i; + // eq. 20: (F*G*D)/(4*in*on) + float out = (G * D) * 0.25f / cosNO; + *eval = make_float3(out, out, out); +#ifdef __RAY_DIFFERENTIALS__ + *domega_in_dx = (2 * dot(m, sd->dI.dx)) * m - sd->dI.dx; + *domega_in_dy = (2 * dot(m, sd->dI.dy)) * m - sd->dI.dy; + // Since there is some blur to this reflection, make the + // derivatives a bit bigger. In theory this varies with the + // roughness but the exact relationship is complex and + // requires more ops than are practical. + *domega_in_dx *= 10; + *domega_in_dy *= 10; +#endif + } + } + } else { + // CAUTION: the i and o variables are inverted relative to the paper + // eq. 39 - compute actual refractive direction + float3 R, T; +#ifdef __RAY_DIFFERENTIALS__ + float3 dRdx, dRdy, dTdx, dTdy; +#endif + bool inside; + fresnel_dielectric(self->m_eta, m, sd->I, &R, &T, +#ifdef __RAY_DIFFERENTIALS__ + sd->dI.dx, sd->dI.dy, &dRdx, &dRdy, &dTdx, &dTdy, +#endif + &inside); + + if(!inside) { + *omega_in = T; +#ifdef __RAY_DIFFERENTIALS__ + *domega_in_dx = dTdx; + *domega_in_dy = dTdy; +#endif + // eq. 33 + float cosThetaM2 = cosThetaM * cosThetaM; + float cosThetaM4 = cosThetaM2 * cosThetaM2; + float D = alpha2 / (M_PI_F * cosThetaM4 * (alpha2 + tanThetaM2) * (alpha2 + tanThetaM2)); + // eq. 24 + float pm = D * cosThetaM; + // eval BRDF*cosNI + float cosNI = dot(m_N, *omega_in); + // eq. 34: now calculate G1(i,m) and G1(o,m) + float G1o = 2 / (1 + sqrtf(1 + alpha2 * (1 - cosNO * cosNO) / (cosNO * cosNO))); + float G1i = 2 / (1 + sqrtf(1 + alpha2 * (1 - cosNI * cosNI) / (cosNI * cosNI))); + float G = G1o * G1i; + // eq. 21 + float cosHI = dot(m, *omega_in); + float cosHO = dot(m, sd->I); + float Ht2 = self->m_eta * cosHI + cosHO; + Ht2 *= Ht2; + float out = (fabsf(cosHI * cosHO) * (self->m_eta * self->m_eta) * (G * D)) / (cosNO * Ht2); + // eq. 38 and eq. 17 + *pdf = pm * (self->m_eta * self->m_eta) * fabsf(cosHI) / Ht2; + *eval = make_float3(out, out, out); +#ifdef __RAY_DIFFERENTIALS__ + // Since there is some blur to this refraction, make the + // derivatives a bit bigger. In theory this varies with the + // roughness but the exact relationship is complex and + // requires more ops than are practical. + *domega_in_dx *= 10; + *domega_in_dy *= 10; +#endif + } + } + } + return (self->m_refractive == 1) ? LABEL_TRANSMIT|LABEL_GLOSSY : LABEL_REFLECT|LABEL_GLOSSY; +} + +/* BECKMANN */ + +typedef struct BsdfMicrofacetBeckmannClosure { + //float3 m_N; + float m_ab; + float m_eta; + int m_refractive; +} BsdfMicrofacetBeckmannClosure; + +__device void bsdf_microfacet_beckmann_setup(ShaderData *sd, float3 N, float ab, float eta, bool refractive) +{ + BsdfMicrofacetBeckmannClosure *self = (BsdfMicrofacetBeckmannClosure*)sd->svm_closure_data; + + //self->m_N = N; + self->m_ab = clamp(ab, 1e-5f, 1.0f); + self->m_eta = eta; + self->m_refractive = (refractive)? 1: 0; + + if(refractive) + sd->svm_closure = CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID; + else + sd->svm_closure = CLOSURE_BSDF_MICROFACET_BECKMANN_ID; + + sd->flag |= SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; +} + +__device void bsdf_microfacet_beckmann_blur(ShaderData *sd, float roughness) +{ + BsdfMicrofacetBeckmannClosure *self = (BsdfMicrofacetBeckmannClosure*)sd->svm_closure_data; + self->m_ab = fmaxf(roughness, self->m_ab); +} + +__device float3 bsdf_microfacet_beckmann_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + const BsdfMicrofacetBeckmannClosure *self = (const BsdfMicrofacetBeckmannClosure*)sd->svm_closure_data; + float3 m_N = sd->N; + + if(self->m_refractive == 1) return make_float3 (0, 0, 0); + float cosNO = dot(m_N, I); + float cosNI = dot(m_N, omega_in); + if(cosNO > 0 && cosNI > 0) { + // get half vector + float3 Hr = normalize(omega_in + I); + // eq. 20: (F*G*D)/(4*in*on) + // eq. 25: first we calculate D(m) with m=Hr: + float alpha2 = self->m_ab * self->m_ab; + float cosThetaM = dot(m_N, Hr); + float cosThetaM2 = cosThetaM * cosThetaM; + float tanThetaM2 = (1 - cosThetaM2) / cosThetaM2; + float cosThetaM4 = cosThetaM2 * cosThetaM2; + float D = expf(-tanThetaM2 / alpha2) / (M_PI_F * alpha2 * cosThetaM4); + // eq. 26, 27: now calculate G1(i,m) and G1(o,m) + float ao = 1 / (self->m_ab * sqrtf((1 - cosNO * cosNO) / (cosNO * cosNO))); + float ai = 1 / (self->m_ab * sqrtf((1 - cosNI * cosNI) / (cosNI * cosNI))); + float G1o = ao < 1.6f ? (3.535f * ao + 2.181f * ao * ao) / (1 + 2.276f * ao + 2.577f * ao * ao) : 1.0f; + float G1i = ai < 1.6f ? (3.535f * ai + 2.181f * ai * ai) / (1 + 2.276f * ai + 2.577f * ai * ai) : 1.0f; + float G = G1o * G1i; + float out = (G * D) * 0.25f / cosNO; + // eq. 24 + float pm = D * cosThetaM; + // convert into pdf of the sampled direction + // eq. 38 - but see also: + // eq. 17 in http://www.graphics.cornell.edu/~bjw/wardnotes.pdf + *pdf = pm * 0.25f / dot(Hr, I); + return make_float3 (out, out, out); + } + return make_float3 (0, 0, 0); +} + +__device float3 bsdf_microfacet_beckmann_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + const BsdfMicrofacetBeckmannClosure *self = (const BsdfMicrofacetBeckmannClosure*)sd->svm_closure_data; + float3 m_N = sd->N; + + if(self->m_refractive == 0) return make_float3 (0, 0, 0); + float cosNO = dot(m_N, I); + float cosNI = dot(m_N, omega_in); + if(cosNO <= 0 || cosNI >= 0) + return make_float3 (0, 0, 0); + // compute half-vector of the refraction (eq. 16) + float3 ht = -(self->m_eta * omega_in + I); + float3 Ht = normalize(ht); + float cosHO = dot(Ht, I); + + float cosHI = dot(Ht, omega_in); + // eq. 33: first we calculate D(m) with m=Ht: + float alpha2 = self->m_ab * self->m_ab; + float cosThetaM = dot(m_N, Ht); + float cosThetaM2 = cosThetaM * cosThetaM; + float tanThetaM2 = (1 - cosThetaM2) / cosThetaM2; + float cosThetaM4 = cosThetaM2 * cosThetaM2; + float D = expf(-tanThetaM2 / alpha2) / (M_PI_F * alpha2 * cosThetaM4); + // eq. 26, 27: now calculate G1(i,m) and G1(o,m) + float ao = 1 / (self->m_ab * sqrtf((1 - cosNO * cosNO) / (cosNO * cosNO))); + float ai = 1 / (self->m_ab * sqrtf((1 - cosNI * cosNI) / (cosNI * cosNI))); + float G1o = ao < 1.6f ? (3.535f * ao + 2.181f * ao * ao) / (1 + 2.276f * ao + 2.577f * ao * ao) : 1.0f; + float G1i = ai < 1.6f ? (3.535f * ai + 2.181f * ai * ai) / (1 + 2.276f * ai + 2.577f * ai * ai) : 1.0f; + float G = G1o * G1i; + // probability + float invHt2 = 1 / dot(ht, ht); + *pdf = D * fabsf(cosThetaM) * (fabsf(cosHI) * (self->m_eta * self->m_eta)) * invHt2; + float out = (fabsf(cosHI * cosHO) * (self->m_eta * self->m_eta) * (G * D) * invHt2) / cosNO; + return make_float3 (out, out, out); +} + +__device float bsdf_microfacet_beckmann_albedo(const ShaderData *sd, const float3 I) +{ + return 1.0f; +} + +__device int bsdf_microfacet_beckmann_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +{ + const BsdfMicrofacetBeckmannClosure *self = (const BsdfMicrofacetBeckmannClosure*)sd->svm_closure_data; + float3 m_N = sd->N; + + float cosNO = dot(m_N, sd->I); + if(cosNO > 0) { + float3 X, Y, Z = m_N; + make_orthonormals(Z, &X, &Y); + // generate a random microfacet normal m + // eq. 35,36: + // we take advantage of cos(atan(x)) == 1/sqrt(1+x^2) + //tttt and sin(atan(x)) == x/sqrt(1+x^2) + float alpha2 = self->m_ab * self->m_ab; + float tanThetaM = sqrtf(-alpha2 * logf(1 - randu)); + float cosThetaM = 1 / sqrtf(1 + tanThetaM * tanThetaM); + float sinThetaM = cosThetaM * tanThetaM; + float phiM = 2 * M_PI_F * randv; + float3 m = (cosf(phiM) * sinThetaM) * X + + (sinf(phiM) * sinThetaM) * Y + + cosThetaM * Z; + + if(self->m_refractive == 0) { + float cosMO = dot(m, sd->I); + if(cosMO > 0) { + // eq. 39 - compute actual reflected direction + *omega_in = 2 * cosMO * m - sd->I; + if(dot(sd->Ng, *omega_in) > 0) { + // microfacet normal is visible to this ray + // eq. 25 + float cosThetaM2 = cosThetaM * cosThetaM; + float tanThetaM2 = tanThetaM * tanThetaM; + float cosThetaM4 = cosThetaM2 * cosThetaM2; + float D = expf(-tanThetaM2 / alpha2) / (M_PI_F * alpha2 * cosThetaM4); + // eq. 24 + float pm = D * cosThetaM; + // convert into pdf of the sampled direction + // eq. 38 - but see also: + // eq. 17 in http://www.graphics.cornell.edu/~bjw/wardnotes.pdf + *pdf = pm * 0.25f / cosMO; + // Eval BRDF*cosNI + float cosNI = dot(m_N, *omega_in); + // eq. 26, 27: now calculate G1(i,m) and G1(o,m) + float ao = 1 / (self->m_ab * sqrtf((1 - cosNO * cosNO) / (cosNO * cosNO))); + float ai = 1 / (self->m_ab * sqrtf((1 - cosNI * cosNI) / (cosNI * cosNI))); + float G1o = ao < 1.6f ? (3.535f * ao + 2.181f * ao * ao) / (1 + 2.276f * ao + 2.577f * ao * ao) : 1.0f; + float G1i = ai < 1.6f ? (3.535f * ai + 2.181f * ai * ai) / (1 + 2.276f * ai + 2.577f * ai * ai) : 1.0f; + float G = G1o * G1i; + // eq. 20: (F*G*D)/(4*in*on) + float out = (G * D) * 0.25f / cosNO; + *eval = make_float3(out, out, out); +#ifdef __RAY_DIFFERENTIALS__ + *domega_in_dx = (2 * dot(m, sd->dI.dx)) * m - sd->dI.dx; + *domega_in_dy = (2 * dot(m, sd->dI.dy)) * m - sd->dI.dy; + // Since there is some blur to this reflection, make the + // derivatives a bit bigger. In theory this varies with the + // roughness but the exact relationship is complex and + // requires more ops than are practical. + *domega_in_dx *= 10; + *domega_in_dy *= 10; +#endif + } + } + } else { + // CAUTION: the i and o variables are inverted relative to the paper + // eq. 39 - compute actual refractive direction + float3 R, T; +#ifdef __RAY_DIFFERENTIALS__ + float3 dRdx, dRdy, dTdx, dTdy; +#endif + bool inside; + fresnel_dielectric(self->m_eta, m, sd->I, &R, &T, +#ifdef __RAY_DIFFERENTIALS__ + sd->dI.dx, sd->dI.dy, &dRdx, &dRdy, &dTdx, &dTdy, +#endif + &inside); + + if(!inside) { + *omega_in = T; +#ifdef __RAY_DIFFERENTIALS__ + *domega_in_dx = dTdx; + *domega_in_dy = dTdy; +#endif + + // eq. 33 + float cosThetaM2 = cosThetaM * cosThetaM; + float tanThetaM2 = tanThetaM * tanThetaM; + float cosThetaM4 = cosThetaM2 * cosThetaM2; + float D = expf(-tanThetaM2 / alpha2) / (M_PI_F * alpha2 * cosThetaM4); + // eq. 24 + float pm = D * cosThetaM; + // eval BRDF*cosNI + float cosNI = dot(m_N, *omega_in); + // eq. 26, 27: now calculate G1(i,m) and G1(o,m) + float ao = 1 / (self->m_ab * sqrtf((1 - cosNO * cosNO) / (cosNO * cosNO))); + float ai = 1 / (self->m_ab * sqrtf((1 - cosNI * cosNI) / (cosNI * cosNI))); + float G1o = ao < 1.6f ? (3.535f * ao + 2.181f * ao * ao) / (1 + 2.276f * ao + 2.577f * ao * ao) : 1.0f; + float G1i = ai < 1.6f ? (3.535f * ai + 2.181f * ai * ai) / (1 + 2.276f * ai + 2.577f * ai * ai) : 1.0f; + float G = G1o * G1i; + // eq. 21 + float cosHI = dot(m, *omega_in); + float cosHO = dot(m, sd->I); + float Ht2 = self->m_eta * cosHI + cosHO; + Ht2 *= Ht2; + float out = (fabsf(cosHI * cosHO) * (self->m_eta * self->m_eta) * (G * D)) / (cosNO * Ht2); + // eq. 38 and eq. 17 + *pdf = pm * (self->m_eta * self->m_eta) * fabsf(cosHI) / Ht2; + *eval = make_float3(out, out, out); +#ifdef __RAY_DIFFERENTIALS__ + // Since there is some blur to this refraction, make the + // derivatives a bit bigger. In theory this varies with the + // roughness but the exact relationship is complex and + // requires more ops than are practical. + *domega_in_dx *= 10; + *domega_in_dy *= 10; +#endif + } + } + } + return (self->m_refractive == 1) ? LABEL_TRANSMIT|LABEL_GLOSSY : LABEL_REFLECT|LABEL_GLOSSY; +} + +CCL_NAMESPACE_END + +#endif /* __BSDF_MICROFACET_H__ */ + diff --git a/intern/cycles/kernel/svm/bsdf_reflection.h b/intern/cycles/kernel/svm/bsdf_reflection.h new file mode 100644 index 00000000000..287cc9c2506 --- /dev/null +++ b/intern/cycles/kernel/svm/bsdf_reflection.h @@ -0,0 +1,95 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef __BSDF_REFLECTION_H__ +#define __BSDF_REFLECTION_H__ + +CCL_NAMESPACE_BEGIN + +/* REFLECTION */ + +typedef struct BsdfReflectionClosure { + //float3 m_N; +} BsdfReflectionClosure; + +__device void bsdf_reflection_setup(ShaderData *sd, float3 N) +{ + //BsdfReflectionClosure *self = (BsdfReflectionClosure*)sd->svm_closure_data; + //self->m_N = N; + + sd->svm_closure = CLOSURE_BSDF_REFLECTION_ID; +} + +__device void bsdf_reflection_blur(ShaderData *sd, float roughness) +{ +} + +__device float3 bsdf_reflection_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + return make_float3(0.0f, 0.0f, 0.0f); +} + +__device float3 bsdf_reflection_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + return make_float3(0.0f, 0.0f, 0.0f); +} + +__device float bsdf_reflection_albedo(const ShaderData *sd, const float3 I) +{ + return 1.0f; +} + +__device int bsdf_reflection_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +{ + //const BsdfReflectionClosure *self = (const BsdfReflectionClosure*)sd->svm_closure_data; + float3 m_N = sd->N; + + // only one direction is possible + float cosNO = dot(m_N, sd->I); + if(cosNO > 0) { + *omega_in = (2 * cosNO) * m_N - sd->I; + if(dot(sd->Ng, *omega_in) > 0) { +#ifdef __RAY_DIFFERENTIALS__ + *domega_in_dx = 2 * dot(m_N, sd->dI.dx) * m_N - sd->dI.dx; + *domega_in_dy = 2 * dot(m_N, sd->dI.dy) * m_N - sd->dI.dy; +#endif + *pdf = 1; + *eval = make_float3(1, 1, 1); + } + } + return LABEL_REFLECT|LABEL_SINGULAR; +} + +CCL_NAMESPACE_END + +#endif /* __BSDF_REFLECTION_H__ */ + diff --git a/intern/cycles/kernel/svm/bsdf_refraction.h b/intern/cycles/kernel/svm/bsdf_refraction.h new file mode 100644 index 00000000000..55a914f8334 --- /dev/null +++ b/intern/cycles/kernel/svm/bsdf_refraction.h @@ -0,0 +1,103 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef __BSDF_REFRACTION_H__ +#define __BSDF_REFRACTION_H__ + +CCL_NAMESPACE_BEGIN + +/* REFRACTION */ + +typedef struct BsdfRefractionClosure { + float m_eta; +} BsdfRefractionClosure; + +__device void bsdf_refraction_setup(ShaderData *sd, float3 N, float eta) +{ + BsdfRefractionClosure *self = (BsdfRefractionClosure*)sd->svm_closure_data; + + self->m_eta = eta; + + sd->svm_closure = CLOSURE_BSDF_REFRACTION_ID; +} + +__device void bsdf_refraction_blur(ShaderData *sd, float roughness) +{ +} + +__device float3 bsdf_refraction_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + return make_float3(0.0f, 0.0f, 0.0f); +} + +__device float3 bsdf_refraction_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + return make_float3(0.0f, 0.0f, 0.0f); +} + +__device float bsdf_refraction_albedo(const ShaderData *sd, const float3 I) +{ + return 1.0f; +} + +__device int bsdf_refraction_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +{ + const BsdfRefractionClosure *self = (const BsdfRefractionClosure*)sd->svm_closure_data; + float3 m_N = sd->N; + + float3 R, T; +#ifdef __RAY_DIFFERENTIALS__ + float3 dRdx, dRdy, dTdx, dTdy; +#endif + bool inside; + fresnel_dielectric(self->m_eta, m_N, sd->I, &R, &T, +#ifdef __RAY_DIFFERENTIALS__ + sd->dI.dx, sd->dI.dy, &dRdx, &dRdy, &dTdx, &dTdy, +#endif + &inside); + + if(!inside) { + *pdf = 1; + *eval = make_float3(1.0f, 1.0f, 1.0f); + *omega_in = T; +#ifdef __RAY_DIFFERENTIALS__ + *domega_in_dx = dTdx; + *domega_in_dy = dTdy; +#endif + } + return LABEL_TRANSMIT|LABEL_SINGULAR; +} + +CCL_NAMESPACE_END + +#endif /* __BSDF_REFRACTION_H__ */ + diff --git a/intern/cycles/kernel/svm/bsdf_transparent.h b/intern/cycles/kernel/svm/bsdf_transparent.h new file mode 100644 index 00000000000..e689e3db357 --- /dev/null +++ b/intern/cycles/kernel/svm/bsdf_transparent.h @@ -0,0 +1,78 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef __BSDF_TRANSPARENT_H__ +#define __BSDF_TRANSPARENT_H__ + +CCL_NAMESPACE_BEGIN + +__device void bsdf_transparent_setup(ShaderData *sd) +{ + sd->svm_closure = CLOSURE_BSDF_TRANSPARENT_ID; +} + +__device void bsdf_transparent_blur(ShaderData *sd, float roughness) +{ +} + +__device float3 bsdf_transparent_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + return make_float3(0.0f, 0.0f, 0.0f); +} + +__device float3 bsdf_transparent_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + return make_float3(0.0f, 0.0f, 0.0f); +} + +__device float bsdf_transparent_albedo(const ShaderData *sd, const float3 I) +{ + return 1.0f; +} + +__device int bsdf_transparent_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +{ + // only one direction is possible + *omega_in = -sd->I; +#ifdef __RAY_DIFFERENTIALS__ + *domega_in_dx = -sd->dI.dx; + *domega_in_dy = -sd->dI.dy; +#endif + *pdf = 1; + *eval = make_float3(1, 1, 1); + return LABEL_TRANSMIT|LABEL_STRAIGHT; +} + +CCL_NAMESPACE_END + +#endif /* __BSDF_TRANSPARENT_H__ */ + diff --git a/intern/cycles/kernel/svm/bsdf_ward.h b/intern/cycles/kernel/svm/bsdf_ward.h new file mode 100644 index 00000000000..bf591acc9fa --- /dev/null +++ b/intern/cycles/kernel/svm/bsdf_ward.h @@ -0,0 +1,202 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef __BSDF_WARD_H__ +#define __BSDF_WARD_H__ + +CCL_NAMESPACE_BEGIN + +/* WARD */ + +typedef struct BsdfWardClosure { + //float3 m_N; + //float3 m_T; + float m_ax; + float m_ay; +} BsdfWardClosure; + +__device void bsdf_ward_setup(ShaderData *sd, float3 N, float3 T, float ax, float ay) +{ + BsdfWardClosure *self = (BsdfWardClosure*)sd->svm_closure_data; + + //self->m_N = N; + //self->m_T = T; + self->m_ax = clamp(ax, 1e-5f, 1.0f); + self->m_ay = clamp(ay, 1e-5f, 1.0f); + + sd->svm_closure = CLOSURE_BSDF_WARD_ID; + sd->flag |= SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; +} + +__device void bsdf_ward_blur(ShaderData *sd, float roughness) +{ + BsdfWardClosure *self = (BsdfWardClosure*)sd->svm_closure_data; + + self->m_ax = fmaxf(roughness, self->m_ax); + self->m_ay = fmaxf(roughness, self->m_ay); +} + +__device float3 bsdf_ward_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + const BsdfWardClosure *self = (const BsdfWardClosure*)sd->svm_closure_data; + float3 m_N = sd->N; + float3 m_T = normalize(sd->dPdu); + + float cosNO = dot(m_N, I); + float cosNI = dot(m_N, omega_in); + if(cosNI > 0 && cosNO > 0) { + // get half vector and get x,y basis on the surface for anisotropy + float3 H = normalize(omega_in + I); // normalize needed for pdf + float3 X, Y; + make_orthonormals_tangent(m_N, m_T, &X, &Y); + // eq. 4 + float dotx = dot(H, X) / self->m_ax; + float doty = dot(H, Y) / self->m_ay; + float dotn = dot(H, m_N); + float exp_arg = (dotx * dotx + doty * doty) / (dotn * dotn); + float denom = (4 * M_PI_F * self->m_ax * self->m_ay * sqrtf(cosNO * cosNI)); + float exp_val = expf(-exp_arg); + float out = cosNI * exp_val / denom; + float oh = dot(H, I); + denom = 4 * M_PI_F * self->m_ax * self->m_ay * oh * dotn * dotn * dotn; + *pdf = exp_val / denom; + return make_float3 (out, out, out); + } + return make_float3 (0, 0, 0); +} + +__device float3 bsdf_ward_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + return make_float3(0.0f, 0.0f, 0.0f); +} + +__device float bsdf_ward_albedo(const ShaderData *sd, const float3 I) +{ + return 1.0f; +} + +__device int bsdf_ward_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +{ + const BsdfWardClosure *self = (const BsdfWardClosure*)sd->svm_closure_data; + float3 m_N = sd->N; + float3 m_T = normalize(sd->dPdu); + + float cosNO = dot(m_N, sd->I); + if(cosNO > 0) { + // get x,y basis on the surface for anisotropy + float3 X, Y; + make_orthonormals_tangent(m_N, m_T, &X, &Y); + // generate random angles for the half vector + // eq. 7 (taking care around discontinuities to keep + //ttoutput angle in the right quadrant) + // we take advantage of cos(atan(x)) == 1/sqrt(1+x^2) + //tttt and sin(atan(x)) == x/sqrt(1+x^2) + float alphaRatio = self->m_ay / self->m_ax; + float cosPhi, sinPhi; + if(randu < 0.25f) { + float val = 4 * randu; + float tanPhi = alphaRatio * tanf(M_PI_2_F * val); + cosPhi = 1 / sqrtf(1 + tanPhi * tanPhi); + sinPhi = tanPhi * cosPhi; + } else if(randu < 0.5f) { + float val = 1 - 4 * (0.5f - randu); + float tanPhi = alphaRatio * tanf(M_PI_2_F * val); + // phi = M_PI_F - phi; + cosPhi = -1 / sqrtf(1 + tanPhi * tanPhi); + sinPhi = -tanPhi * cosPhi; + } else if(randu < 0.75f) { + float val = 4 * (randu - 0.5f); + float tanPhi = alphaRatio * tanf(M_PI_2_F * val); + //phi = M_PI_F + phi; + cosPhi = -1 / sqrtf(1 + tanPhi * tanPhi); + sinPhi = tanPhi * cosPhi; + } else { + float val = 1 - 4 * (1 - randu); + float tanPhi = alphaRatio * tanf(M_PI_2_F * val); + // phi = 2 * M_PI_F - phi; + cosPhi = 1 / sqrtf(1 + tanPhi * tanPhi); + sinPhi = -tanPhi * cosPhi; + } + // eq. 6 + // we take advantage of cos(atan(x)) == 1/sqrt(1+x^2) + //tttt and sin(atan(x)) == x/sqrt(1+x^2) + float thetaDenom = (cosPhi * cosPhi) / (self->m_ax * self->m_ax) + (sinPhi * sinPhi) / (self->m_ay * self->m_ay); + float tanTheta2 = -logf(1 - randv) / thetaDenom; + float cosTheta = 1 / sqrtf(1 + tanTheta2); + float sinTheta = cosTheta * sqrtf(tanTheta2); + + float3 h; // already normalized becaused expressed from spherical coordinates + h.x = sinTheta * cosPhi; + h.y = sinTheta * sinPhi; + h.z = cosTheta; + // compute terms that are easier in local space + float dotx = h.x / self->m_ax; + float doty = h.y / self->m_ay; + float dotn = h.z; + // transform to world space + h = h.x * X + h.y * Y + h.z * m_N; + // generate the final sample + float oh = dot(h, sd->I); + omega_in->x = 2 * oh * h.x - sd->I.x; + omega_in->y = 2 * oh * h.y - sd->I.y; + omega_in->z = 2 * oh * h.z - sd->I.z; + if(dot(sd->Ng, *omega_in) > 0) { + float cosNI = dot(m_N, *omega_in); + if(cosNI > 0) { + // eq. 9 + float exp_arg = (dotx * dotx + doty * doty) / (dotn * dotn); + float denom = 4 * M_PI_F * self->m_ax * self->m_ay * oh * dotn * dotn * dotn; + *pdf = expf(-exp_arg) / denom; + // compiler will reuse expressions already computed + denom = (4 * M_PI_F * self->m_ax * self->m_ay * sqrtf(cosNO * cosNI)); + float power = cosNI * expf(-exp_arg) / denom; + *eval = make_float3(power, power, power); +#ifdef __RAY_DIFFERENTIALS__ + *domega_in_dx = (2 * dot(m_N, sd->dI.dx)) * m_N - sd->dI.dx; + *domega_in_dy = (2 * dot(m_N, sd->dI.dy)) * m_N - sd->dI.dy; + // Since there is some blur to this reflection, make the + // derivatives a bit bigger. In theory this varies with the + // roughness but the exact relationship is complex and + // requires more ops than are practical. + *domega_in_dx *= 10; + *domega_in_dy *= 10; +#endif + } + } + } + return LABEL_REFLECT|LABEL_GLOSSY; +} + +CCL_NAMESPACE_END + +#endif /* __BSDF_WARD_H__ */ + diff --git a/intern/cycles/kernel/svm/bsdf_westin.h b/intern/cycles/kernel/svm/bsdf_westin.h new file mode 100644 index 00000000000..7fe10f10dfc --- /dev/null +++ b/intern/cycles/kernel/svm/bsdf_westin.h @@ -0,0 +1,212 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef __BSDF_WESTIN_H__ +#define __BSDF_WESTIN_H__ + +CCL_NAMESPACE_BEGIN + +/* WESTIN BACKSCATTER */ + +typedef struct BsdfWestinBackscatterClosure { + //float3 m_N; + float m_invroughness; +} BsdfWestinBackscatterClosure; + +__device void bsdf_westin_backscatter_setup(ShaderData *sd, float3 N, float roughness) +{ + BsdfWestinBackscatterClosure *self = (BsdfWestinBackscatterClosure*)sd->svm_closure_data; + + //self->m_N = N; + roughness = clamp(roughness, 1e-5f, 1.0f); + self->m_invroughness = 1.0f/roughness; + + sd->svm_closure = CLOSURE_BSDF_WESTIN_BACKSCATTER_ID; + sd->flag |= SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; +} + +__device void bsdf_westin_backscatter_blur(ShaderData *sd, float roughness) +{ + BsdfWestinBackscatterClosure *self = (BsdfWestinBackscatterClosure*)sd->svm_closure_data; + self->m_invroughness = min(1.0f/roughness, self->m_invroughness); +} + +__device float3 bsdf_westin_backscatter_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + const BsdfWestinBackscatterClosure *self = (const BsdfWestinBackscatterClosure*)sd->svm_closure_data; + float3 m_N = sd->N; + + // pdf is implicitly 0 (no indirect sampling) + float cosNO = dot(m_N, I); + float cosNI = dot(m_N, omega_in); + if(cosNO > 0 && cosNI > 0) { + float cosine = dot(I, omega_in); + *pdf = cosine > 0 ? (self->m_invroughness + 1) * powf(cosine, self->m_invroughness) : 0; + *pdf *= 0.5f * M_1_PI_F; + return make_float3 (*pdf, *pdf, *pdf); + } + return make_float3 (0, 0, 0); +} + +__device float3 bsdf_westin_backscatter_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + return make_float3(0.0f, 0.0f, 0.0f); +} + +__device float bsdf_westin_backscatter_albedo(const ShaderData *sd, const float3 I) +{ + return 1.0f; +} + +__device int bsdf_westin_backscatter_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +{ + const BsdfWestinBackscatterClosure *self = (const BsdfWestinBackscatterClosure*)sd->svm_closure_data; + float3 m_N = sd->N; + + float cosNO = dot(m_N, sd->I); + if(cosNO > 0) { +#ifdef __RAY_DIFFERENTIALS__ + *domega_in_dx = sd->dI.dx; + *domega_in_dy = sd->dI.dy; +#endif + float3 T, B; + make_orthonormals (sd->I, &T, &B); + float phi = 2 * M_PI_F * randu; + float cosTheta = powf(randv, 1 / (self->m_invroughness + 1)); + float sinTheta2 = 1 - cosTheta * cosTheta; + float sinTheta = sinTheta2 > 0 ? sqrtf(sinTheta2) : 0; + *omega_in = (cosf(phi) * sinTheta) * T + + (sinf(phi) * sinTheta) * B + + (cosTheta) * sd->I; + if(dot(sd->Ng, *omega_in) > 0) + { + // common terms for pdf and eval + float cosNI = dot(m_N, *omega_in); + // make sure the direction we chose is still in the right hemisphere + if(cosNI > 0) + { + *pdf = 0.5f * M_1_PI_F * powf(cosTheta, self->m_invroughness); + *pdf = (self->m_invroughness + 1) * (*pdf); + *eval = make_float3(*pdf, *pdf, *pdf); +#ifdef __RAY_DIFFERENTIALS__ + // Since there is some blur to this reflection, make the + // derivatives a bit bigger. In theory this varies with the + // exponent but the exact relationship is complex and + // requires more ops than are practical. + *domega_in_dx *= 10; + *domega_in_dy *= 10; +#endif + } + } + } + return LABEL_REFLECT|LABEL_GLOSSY; +} + +/* WESTIN SHEEN */ + +typedef struct BsdfWestinSheenClosure { + //float3 m_N; + float m_edginess; +} BsdfWestinSheenClosure; + +__device void bsdf_westin_sheen_setup(ShaderData *sd, float3 N, float edginess) +{ + BsdfWestinSheenClosure *self = (BsdfWestinSheenClosure*)sd->svm_closure_data; + + //self->m_N = N; + self->m_edginess = edginess; + + sd->svm_closure = CLOSURE_BSDF_WESTIN_SHEEN_ID; + sd->flag |= SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; +} + +__device void bsdf_westin_sheen_blur(ShaderData *sd, float roughness) +{ +} + +__device float3 bsdf_westin_sheen_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + const BsdfWestinSheenClosure *self = (const BsdfWestinSheenClosure*)sd->svm_closure_data; + float3 m_N = sd->N; + + // pdf is implicitly 0 (no indirect sampling) + float cosNO = dot(m_N, I); + float cosNI = dot(m_N, omega_in); + if(cosNO > 0 && cosNI > 0) { + float sinNO2 = 1 - cosNO * cosNO; + *pdf = cosNI * M_1_PI_F; + float westin = sinNO2 > 0 ? powf(sinNO2, 0.5f * self->m_edginess) * (*pdf) : 0; + return make_float3 (westin, westin, westin); + } + return make_float3 (0, 0, 0); +} + +__device float3 bsdf_westin_sheen_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +{ + return make_float3(0.0f, 0.0f, 0.0f); +} + +__device float bsdf_westin_sheen_albedo(const ShaderData *sd, const float3 I) +{ + return 1.0f; +} + +__device int bsdf_westin_sheen_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +{ + const BsdfWestinSheenClosure *self = (const BsdfWestinSheenClosure*)sd->svm_closure_data; + float3 m_N = sd->N; + + // we are viewing the surface from the right side - send a ray out with cosine + // distribution over the hemisphere + sample_cos_hemisphere(m_N, randu, randv, omega_in, pdf); + if(dot(sd->Ng, *omega_in) > 0) { + // TODO: account for sheen when sampling + float cosNO = dot(m_N, sd->I); + float sinNO2 = 1 - cosNO * cosNO; + float westin = sinNO2 > 0 ? powf(sinNO2, 0.5f * self->m_edginess) * (*pdf) : 0; + *eval = make_float3(westin, westin, westin); +#ifdef __RAY_DIFFERENTIALS__ + // TODO: find a better approximation for the diffuse bounce + *domega_in_dx = (2 * dot(m_N, sd->dI.dx)) * m_N - sd->dI.dx; + *domega_in_dy = (2 * dot(m_N, sd->dI.dy)) * m_N - sd->dI.dy; + *domega_in_dx *= 125; + *domega_in_dy *= 125; +#endif + } else + pdf = 0; + return LABEL_REFLECT|LABEL_DIFFUSE; +} + +CCL_NAMESPACE_END + +#endif /* __BSDF_WESTIN_H__ */ + diff --git a/intern/cycles/kernel/svm/emissive.h b/intern/cycles/kernel/svm/emissive.h new file mode 100644 index 00000000000..ed2b2e4aee8 --- /dev/null +++ b/intern/cycles/kernel/svm/emissive.h @@ -0,0 +1,83 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +CCL_NAMESPACE_BEGIN + +/* EMISSION CLOSURE */ + +__device float3 emissive_eval(const float3 Ng, const float3 I) +{ + float cosNO = fabsf(dot(Ng, I)); + float res = (cosNO > 0.0f)? M_1_PI_F: 0.0f; + + return make_float3(res, res, res); +} + +__device void emissive_sample(const float3 Ng, float randu, float randv, float3 *I, float *pdf) +{ + // We don't do anything sophisticated here for the step + // We just sample the whole cone uniformly to the cosine + float3 T, B; + make_orthonormals(Ng, &T, &B); + float phi = 2 * M_PI_F * randu; + + float cosTheta = sqrtf(1.0f - 1.0f * randv); + float sinTheta = sqrtf(1.0f - cosTheta * cosTheta); + *I = (cosf(phi) * sinTheta) * T + + (sinf(phi) * sinTheta) * B + + cosTheta * Ng; + + *pdf = M_1_PI_F; +} + +/// Return the probability distribution function in the direction I, +/// given the parameters and the light's surface normal. This MUST match +/// the PDF computed by sample(). +__device float emissive_pdf(const float3 Ng, const float3 I) +{ + float cosNO = fabsf(dot(Ng, I)); + return (cosNO > 0.0f)? M_1_PI_F: 0.0f; +} + +__device float3 svm_emissive_eval(ShaderData *sd) +{ + return sd->svm_closure_weight*emissive_eval(sd->Ng, sd->I); +} + +__device void svm_emissive_sample(ShaderData *sd, float randu, float randv, float3 *eval, float3 *I, float *pdf) +{ + *eval = sd->svm_closure_weight; + emissive_sample(sd->Ng, randu, randv, I, pdf); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm.h b/intern/cycles/kernel/svm/svm.h new file mode 100644 index 00000000000..5bd076c9cab --- /dev/null +++ b/intern/cycles/kernel/svm/svm.h @@ -0,0 +1,271 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __SVM_H__ +#define __SVM_H__ + +/* Shader Virtual Machine + * + * A shader is a list of nodes to be executed. These are simply read one after + * the other and executed, using an node counter. Each node and it's associated + * data is encoded as one or more uint4's in a 1D texture. If the data is larger + * than an uint4, the node can increase the node counter to compensate for this. + * Floats are encoded as int and then converted to float again. + * + * Nodes write their output into a stack. All stack data in the stack is + * floats, since it's all factors, colors and vectors. The stack will be stored + * in local memory on the GPU, as it would take too many register and indexes in + * ways not known at compile time. This seems the only solution even though it + * may be slow, with two positive factors. If the same shader is being executed, + * memory access will be coalesced, and on fermi cards, memory will actually be + * cached. + * + * The result of shader execution will be a single closure. This means the + * closure type, associated label, data and weight. Sampling from multiple + * closures is supported through the mix closure node, the logic for that is + * mostly taken care of in the SVM compiler. + */ + +#include "svm_types.h" + +CCL_NAMESPACE_BEGIN + +/* Stack */ + +__device float3 stack_load_float3(float *stack, uint a) +{ + kernel_assert(a+2 < SVM_STACK_SIZE); + + return make_float3(stack[a+0], stack[a+1], stack[a+2]); +} + +__device void stack_store_float3(float *stack, uint a, float3 f) +{ + kernel_assert(a+2 < SVM_STACK_SIZE); + + stack[a+0] = f.x; + stack[a+1] = f.y; + stack[a+2] = f.z; +} + +__device float stack_load_float(float *stack, uint a) +{ + kernel_assert(a < SVM_STACK_SIZE); + + return stack[a]; +} + +__device float stack_load_float_default(float *stack, uint a, uint value) +{ + return (a == (uint)SVM_STACK_INVALID)? __int_as_float(value): stack_load_float(stack, a); +} + +__device void stack_store_float(float *stack, uint a, float f) +{ + kernel_assert(a < SVM_STACK_SIZE); + + stack[a] = f; +} + +__device bool stack_valid(uint a) +{ + return a != (uint)SVM_STACK_INVALID; +} + +/* Reading Nodes */ + +__device uint4 read_node(KernelGlobals *kg, int *offset) +{ + uint4 node = kernel_tex_fetch(__svm_nodes, *offset); + (*offset)++; + return node; +} + +__device float4 read_node_float(KernelGlobals *kg, int *offset) +{ + uint4 node = kernel_tex_fetch(__svm_nodes, *offset); + float4 f = make_float4(__int_as_float(node.x), __int_as_float(node.y), __int_as_float(node.z), __int_as_float(node.w)); + (*offset)++; + return f; +} + +__device void decode_node_uchar4(uint i, uint *x, uint *y, uint *z, uint *w) +{ + if(x) *x = (i & 0xFF); + if(y) *y = ((i >> 8) & 0xFF); + if(z) *z = ((i >> 16) & 0xFF); + if(w) *w = ((i >> 24) & 0xFF); +} + +CCL_NAMESPACE_END + +/* Nodes */ + +#include "svm_noise.h" +#include "svm_texture.h" + +#include "svm_attribute.h" +#include "svm_blend.h" +#include "svm_closure.h" +#include "svm_clouds.h" +#include "svm_convert.h" +#include "svm_displace.h" +#include "svm_distorted_noise.h" +#include "svm_fresnel.h" +#include "svm_geometry.h" +#include "svm_image.h" +#include "svm_light_path.h" +#include "svm_magic.h" +#include "svm_mapping.h" +#include "svm_marble.h" +#include "svm_math.h" +#include "svm_mix.h" +#include "svm_musgrave.h" +#include "svm_noisetex.h" +#include "svm_sky.h" +#include "svm_stucci.h" +#include "svm_tex_coord.h" +#include "svm_value.h" +#include "svm_voronoi.h" +#include "svm_wood.h" + +CCL_NAMESPACE_BEGIN + +/* Main Interpreter Loop */ + +__device void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderType type, float randb, int path_flag) +{ + float stack[SVM_STACK_SIZE]; + float closure_weight = 1.0f; + int offset = sd->shader; + + sd->svm_closure = NBUILTIN_CLOSURES; + sd->svm_closure_weight = make_float3(0.0f, 0.0f, 0.0f); + + while(1) { + uint4 node = read_node(kg, &offset); + + if(node.x == NODE_SHADER_JUMP) { + if(type == SHADER_TYPE_SURFACE) offset = node.y; + else if(type == SHADER_TYPE_VOLUME) offset = node.z; + else if(type == SHADER_TYPE_DISPLACEMENT) offset = node.w; + else return; + } + else if(node.x == NODE_CLOSURE_BSDF) + svm_node_closure_bsdf(sd, node.y, node.z, node.w, randb); + else if(node.x == NODE_CLOSURE_EMISSION) + svm_node_closure_emission(sd); + else if(node.x == NODE_CLOSURE_BACKGROUND) + svm_node_closure_background(sd); + else if(node.x == NODE_CLOSURE_SET_WEIGHT) + svm_node_closure_set_weight(sd, node.y, node.z, node.w); + else if(node.x == NODE_CLOSURE_WEIGHT) + svm_node_closure_weight(sd, stack, node.y); + else if(node.x == NODE_EMISSION_WEIGHT) + svm_node_emission_weight(kg, sd, stack, node); + else if(node.x == NODE_MIX_CLOSURE) + svm_node_mix_closure(sd, stack, node.y, node.z, &offset, &randb); + else if(node.x == NODE_ADD_CLOSURE) + svm_node_add_closure(sd, stack, node.y, node.z, &offset, &randb, &closure_weight); + else if(node.x == NODE_JUMP) + offset = node.y; +#ifdef __TEXTURES__ + else if(node.x == NODE_TEX_NOISE_F) + svm_node_tex_noise_f(sd, stack, node.y, node.z); + else if(node.x == NODE_TEX_NOISE_V) + svm_node_tex_noise_v(sd, stack, node.y, node.z); + else if(node.x == NODE_TEX_IMAGE) + svm_node_tex_image(kg, sd, stack, node.y, node.z, node.w); + else if(node.x == NODE_TEX_ENVIRONMENT) + svm_node_tex_environment(kg, sd, stack, node.y, node.z, node.w); + else if(node.x == NODE_TEX_SKY) + svm_node_tex_sky(kg, sd, stack, node.y, node.z); + else if(node.x == NODE_TEX_BLEND) + svm_node_tex_blend(sd, stack, node); + else if(node.x == NODE_TEX_CLOUDS) + svm_node_tex_clouds(sd, stack, node); + else if(node.x == NODE_TEX_VORONOI) + svm_node_tex_voronoi(kg, sd, stack, node, &offset); + else if(node.x == NODE_TEX_MUSGRAVE) + svm_node_tex_musgrave(kg, sd, stack, node, &offset); + else if(node.x == NODE_TEX_MARBLE) + svm_node_tex_marble(kg, sd, stack, node, &offset); + else if(node.x == NODE_TEX_MAGIC) + svm_node_tex_magic(sd, stack, node); + else if(node.x == NODE_TEX_STUCCI) + svm_node_tex_stucci(kg, sd, stack, node, &offset); + else if(node.x == NODE_TEX_DISTORTED_NOISE) + svm_node_tex_distorted_noise(kg, sd, stack, node, &offset); + else if(node.x == NODE_TEX_WOOD) + svm_node_tex_wood(kg, sd, stack, node, &offset); +#endif + else if(node.x == NODE_GEOMETRY) + svm_node_geometry(sd, stack, node.y, node.z); + else if(node.x == NODE_GEOMETRY_BUMP_DX) + svm_node_geometry_bump_dx(sd, stack, node.y, node.z); + else if(node.x == NODE_GEOMETRY_BUMP_DY) + svm_node_geometry_bump_dy(sd, stack, node.y, node.z); + else if(node.x == NODE_LIGHT_PATH) + svm_node_light_path(sd, stack, node.y, node.z, path_flag); + else if(node.x == NODE_CONVERT) + svm_node_convert(sd, stack, node.y, node.z, node.w); + else if(node.x == NODE_VALUE_F) + svm_node_value_f(kg, sd, stack, node.y, node.z); + else if(node.x == NODE_VALUE_V) + svm_node_value_v(kg, sd, stack, node.y, &offset); + else if(node.x == NODE_MIX) + svm_node_mix(kg, sd, stack, node.y, node.z, node.w, &offset); + else if(node.x == NODE_ATTR) + svm_node_attr(kg, sd, stack, node); + else if(node.x == NODE_ATTR_BUMP_DX) + svm_node_attr_bump_dx(kg, sd, stack, node); + else if(node.x == NODE_ATTR_BUMP_DY) + svm_node_attr_bump_dy(kg, sd, stack, node); + else if(node.x == NODE_FRESNEL) + svm_node_fresnel(sd, stack, node.y, node.z, node.w); + else if(node.x == NODE_SET_DISPLACEMENT) + svm_node_set_displacement(sd, stack, node.y); + else if(node.x == NODE_SET_BUMP) + svm_node_set_bump(sd, stack, node.y, node.z, node.w); + else if(node.x == NODE_MATH) + svm_node_math(kg, sd, stack, node.y, node.z, node.w, &offset); + else if(node.x == NODE_VECTOR_MATH) + svm_node_vector_math(kg, sd, stack, node.y, node.z, node.w, &offset); + else if(node.x == NODE_MAPPING) + svm_node_mapping(kg, sd, stack, node.y, node.z, &offset); + else if(node.x == NODE_TEX_COORD) + svm_node_tex_coord(kg, sd, stack, node.y, node.z); + else if(node.x == NODE_TEX_COORD_BUMP_DX) + svm_node_tex_coord_bump_dx(kg, sd, stack, node.y, node.z); + else if(node.x == NODE_TEX_COORD_BUMP_DY) + svm_node_tex_coord_bump_dy(kg, sd, stack, node.y, node.z); + else if(node.x == NODE_EMISSION_SET_WEIGHT_TOTAL) + svm_node_emission_set_weight_total(kg, sd, node.y, node.z, node.w); + else if(node.x == NODE_END) + break; + else + return; + } + + sd->svm_closure_weight *= closure_weight; +} + +CCL_NAMESPACE_END + +#endif /* __SVM_H__ */ + diff --git a/intern/cycles/kernel/svm/svm_attribute.h b/intern/cycles/kernel/svm/svm_attribute.h new file mode 100644 index 00000000000..3a94f08d42f --- /dev/null +++ b/intern/cycles/kernel/svm/svm_attribute.h @@ -0,0 +1,154 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Attribute Node */ + +__device void svm_node_attr_init(KernelGlobals *kg, ShaderData *sd, + uint4 node, NodeAttributeType *type, + NodeAttributeType *mesh_type, AttributeElement *elem, uint *offset, uint *out_offset) +{ + if(sd->object != ~0) { + /* find attribute by unique id */ + uint id = node.y; + uint attr_offset = sd->object*kernel_data.bvh.attributes_map_stride; + uint4 attr_map = kernel_tex_fetch(__attributes_map, attr_offset); + + while(attr_map.x != id) + attr_map = kernel_tex_fetch(__attributes_map, ++attr_offset); + + /* return result */ + *elem = (AttributeElement)attr_map.y; + *offset = attr_map.z; + *mesh_type = (NodeAttributeType)attr_map.w; + } + else { + /* background */ + *elem = ATTR_ELEMENT_NONE; + *offset = 0; + *mesh_type = (NodeAttributeType)node.w; + } + + *out_offset = node.z; + *type = (NodeAttributeType)node.w; +} + +__device void svm_node_attr(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node) +{ + NodeAttributeType type, mesh_type; + AttributeElement elem; + uint offset, out_offset; + + svm_node_attr_init(kg, sd, node, &type, &mesh_type, &elem, &offset, &out_offset); + + /* fetch and store attribute */ + if(type == NODE_ATTR_FLOAT) { + if(mesh_type == NODE_ATTR_FLOAT) { + float f = triangle_attribute_float(kg, sd, elem, offset, NULL, NULL); + stack_store_float(stack, out_offset, f); + } + else { + float3 f = triangle_attribute_float3(kg, sd, elem, offset, NULL, NULL); + stack_store_float(stack, out_offset, average(f)); + } + } + else { + if(mesh_type == NODE_ATTR_FLOAT3) { + float3 f = triangle_attribute_float3(kg, sd, elem, offset, NULL, NULL); + stack_store_float3(stack, out_offset, f); + } + else { + float f = triangle_attribute_float(kg, sd, elem, offset, NULL, NULL); + stack_store_float3(stack, out_offset, make_float3(f, f, f)); + } + } +} + +__device void svm_node_attr_bump_dx(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node) +{ + NodeAttributeType type, mesh_type; + AttributeElement elem; + uint offset, out_offset; + + svm_node_attr_init(kg, sd, node, &type, &mesh_type, &elem, &offset, &out_offset); + + /* fetch and store attribute */ + if(type == NODE_ATTR_FLOAT) { + if(mesh_type == NODE_ATTR_FLOAT) { + float dx; + float f = triangle_attribute_float(kg, sd, elem, offset, &dx, NULL); + stack_store_float(stack, out_offset, f+dx); + } + else { + float3 dx; + float3 f = triangle_attribute_float3(kg, sd, elem, offset, &dx, NULL); + stack_store_float(stack, out_offset, average(f+dx)); + } + } + else { + if(mesh_type == NODE_ATTR_FLOAT3) { + float3 dx; + float3 f = triangle_attribute_float3(kg, sd, elem, offset, &dx, NULL); + stack_store_float3(stack, out_offset, f+dx); + } + else { + float dx; + float f = triangle_attribute_float(kg, sd, elem, offset, &dx, NULL); + stack_store_float3(stack, out_offset, make_float3(f+dx, f+dx, f+dx)); + } + } +} + +__device void svm_node_attr_bump_dy(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node) +{ + NodeAttributeType type, mesh_type; + AttributeElement elem; + uint offset, out_offset; + + svm_node_attr_init(kg, sd, node, &type, &mesh_type, &elem, &offset, &out_offset); + + /* fetch and store attribute */ + if(type == NODE_ATTR_FLOAT) { + if(mesh_type == NODE_ATTR_FLOAT) { + float dy; + float f = triangle_attribute_float(kg, sd, elem, offset, NULL, &dy); + stack_store_float(stack, out_offset, f+dy); + } + else { + float3 dy; + float3 f = triangle_attribute_float3(kg, sd, elem, offset, NULL, &dy); + stack_store_float(stack, out_offset, average(f+dy)); + } + } + else { + if(mesh_type == NODE_ATTR_FLOAT3) { + float3 dy; + float3 f = triangle_attribute_float3(kg, sd, elem, offset, NULL, &dy); + stack_store_float3(stack, out_offset, f+dy); + } + else { + float dy; + float f = triangle_attribute_float(kg, sd, elem, offset, NULL, &dy); + stack_store_float3(stack, out_offset, make_float3(f+dy, f+dy, f+dy)); + } + } +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_blend.h b/intern/cycles/kernel/svm/svm_blend.h new file mode 100644 index 00000000000..b1be7b7f6bc --- /dev/null +++ b/intern/cycles/kernel/svm/svm_blend.h @@ -0,0 +1,79 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Blend */ + +__device float svm_blend(float3 p, NodeBlendType type, NodeBlendAxis axis) +{ + float x, y; + + if(axis == NODE_BLEND_VERTICAL) { + x= p.y; + y= p.x; + } + else { + x= p.x; + y= p.y; + } + + if(type == NODE_BLEND_LINEAR) { + return (1.0f + x)/2.0f; + } + else if(type == NODE_BLEND_QUADRATIC) { + float r = fmaxf((1.0f + x)/2.0f, 0.0f); + return r*r; + } + else if(type == NODE_BLEND_EASING) { + float r = min(fmaxf((1.0f + x)/2.0f, 0.0f), 1.0f); + float t = r*r; + + return (3.0f*t - 2.0f*t*r); + } + else if(type == NODE_BLEND_DIAGONAL) { + return (2.0f + x + y)/4.0f; + } + else if(type == NODE_BLEND_RADIAL) { + return atan2(y, x)/(2.0f*M_PI_F) + 0.5f; + } + else { + float r = fmaxf(1.0f - sqrtf(x*x + y*y + p.z*p.z), 0.0f); + + if(type == NODE_BLEND_QUADRATIC_SPHERE) + return r*r; + else if(type == NODE_BLEND_SPHERICAL) + return r; + } + + return 0.0f; +} + +__device void svm_node_tex_blend(ShaderData *sd, float *stack, uint4 node) +{ + float3 co = stack_load_float3(stack, node.z); + uint type, axis; + + decode_node_uchar4(node.y, &type, &axis, NULL, NULL); + + float f = svm_blend(co, (NodeBlendType)type, (NodeBlendAxis)axis); + stack_store_float(stack, node.w, f); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_bsdf.h b/intern/cycles/kernel/svm/svm_bsdf.h new file mode 100644 index 00000000000..f02dc786c6b --- /dev/null +++ b/intern/cycles/kernel/svm/svm_bsdf.h @@ -0,0 +1,228 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "bsdf_ashikhmin_velvet.h" +#include "bsdf_diffuse.h" +#include "bsdf_microfacet.h" +#include "bsdf_reflection.h" +#include "bsdf_refraction.h" +#include "bsdf_transparent.h" +#ifdef __DPDU__ +#include "bsdf_ward.h" +#endif +#include "bsdf_westin.h" + +CCL_NAMESPACE_BEGIN + +__device int svm_bsdf_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, differential3 *domega_in, float *pdf) +{ + int label; + + switch(sd->svm_closure) { + case CLOSURE_BSDF_DIFFUSE_ID: + label = bsdf_diffuse_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + break; + case CLOSURE_BSDF_TRANSLUCENT_ID: + label = bsdf_translucent_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + break; + case CLOSURE_BSDF_REFLECTION_ID: + label = bsdf_reflection_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + break; + case CLOSURE_BSDF_REFRACTION_ID: + label = bsdf_refraction_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + break; + case CLOSURE_BSDF_TRANSPARENT_ID: + label = bsdf_transparent_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + break; + case CLOSURE_BSDF_MICROFACET_GGX_ID: + case CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID: + label = bsdf_microfacet_ggx_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + break; + case CLOSURE_BSDF_MICROFACET_BECKMANN_ID: + case CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID: + label = bsdf_microfacet_beckmann_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + break; +#ifdef __DPDU__ + case CLOSURE_BSDF_WARD_ID: + label = bsdf_ward_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + break; +#endif + case CLOSURE_BSDF_ASHIKHMIN_VELVET_ID: + label = bsdf_ashikhmin_velvet_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + break; + case CLOSURE_BSDF_WESTIN_BACKSCATTER_ID: + label = bsdf_westin_backscatter_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + break; + case CLOSURE_BSDF_WESTIN_SHEEN_ID: + label = bsdf_westin_sheen_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + break; + default: + label = LABEL_NONE; + break; + } + + *eval *= sd->svm_closure_weight; + + return label; +} + +__device float3 svm_bsdf_eval(const ShaderData *sd, const float3 omega_in, float *pdf) +{ + float3 eval; + + if(dot(sd->Ng, omega_in) >= 0.0f) { + switch(sd->svm_closure) { + case CLOSURE_BSDF_DIFFUSE_ID: + eval = bsdf_diffuse_eval_reflect(sd, sd->I, omega_in, pdf); + break; + case CLOSURE_BSDF_TRANSLUCENT_ID: + eval = bsdf_translucent_eval_reflect(sd, sd->I, omega_in, pdf); + break; + case CLOSURE_BSDF_REFLECTION_ID: + eval = bsdf_reflection_eval_reflect(sd, sd->I, omega_in, pdf); + break; + case CLOSURE_BSDF_REFRACTION_ID: + eval = bsdf_refraction_eval_reflect(sd, sd->I, omega_in, pdf); + break; + case CLOSURE_BSDF_TRANSPARENT_ID: + eval = bsdf_transparent_eval_reflect(sd, sd->I, omega_in, pdf); + break; + case CLOSURE_BSDF_MICROFACET_GGX_ID: + case CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID: + eval = bsdf_microfacet_ggx_eval_reflect(sd, sd->I, omega_in, pdf); + break; + case CLOSURE_BSDF_MICROFACET_BECKMANN_ID: + case CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID: + eval = bsdf_microfacet_beckmann_eval_reflect(sd, sd->I, omega_in, pdf); + break; +#ifdef __DPDU__ + case CLOSURE_BSDF_WARD_ID: + eval = bsdf_ward_eval_reflect(sd, sd->I, omega_in, pdf); + break; +#endif + case CLOSURE_BSDF_ASHIKHMIN_VELVET_ID: + eval = bsdf_ashikhmin_velvet_eval_reflect(sd, sd->I, omega_in, pdf); + break; + case CLOSURE_BSDF_WESTIN_BACKSCATTER_ID: + eval = bsdf_westin_backscatter_eval_reflect(sd, sd->I, omega_in, pdf); + break; + case CLOSURE_BSDF_WESTIN_SHEEN_ID: + eval = bsdf_westin_sheen_eval_reflect(sd, sd->I, omega_in, pdf); + break; + default: + eval = make_float3(0.0f, 0.0f, 0.0f); + break; + } + } + else { + switch(sd->svm_closure) { + case CLOSURE_BSDF_DIFFUSE_ID: + eval = bsdf_diffuse_eval_transmit(sd, sd->I, omega_in, pdf); + break; + case CLOSURE_BSDF_TRANSLUCENT_ID: + eval = bsdf_translucent_eval_transmit(sd, sd->I, omega_in, pdf); + break; + case CLOSURE_BSDF_REFLECTION_ID: + eval = bsdf_reflection_eval_transmit(sd, sd->I, omega_in, pdf); + break; + case CLOSURE_BSDF_REFRACTION_ID: + eval = bsdf_refraction_eval_transmit(sd, sd->I, omega_in, pdf); + break; + case CLOSURE_BSDF_TRANSPARENT_ID: + eval = bsdf_transparent_eval_transmit(sd, sd->I, omega_in, pdf); + break; + case CLOSURE_BSDF_MICROFACET_GGX_ID: + case CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID: + eval = bsdf_microfacet_ggx_eval_transmit(sd, sd->I, omega_in, pdf); + break; + case CLOSURE_BSDF_MICROFACET_BECKMANN_ID: + case CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID: + eval = bsdf_microfacet_beckmann_eval_transmit(sd, sd->I, omega_in, pdf); + break; +#ifdef __DPDU__ + case CLOSURE_BSDF_WARD_ID: + eval = bsdf_ward_eval_transmit(sd, sd->I, omega_in, pdf); + break; +#endif + case CLOSURE_BSDF_ASHIKHMIN_VELVET_ID: + eval = bsdf_ashikhmin_velvet_eval_transmit(sd, sd->I, omega_in, pdf); + break; + case CLOSURE_BSDF_WESTIN_BACKSCATTER_ID: + eval = bsdf_westin_backscatter_eval_transmit(sd, sd->I, omega_in, pdf); + break; + case CLOSURE_BSDF_WESTIN_SHEEN_ID: + eval = bsdf_westin_sheen_eval_transmit(sd, sd->I, omega_in, pdf); + break; + default: + eval = make_float3(0.0f, 0.0f, 0.0f); + break; + } + } + + eval *= sd->svm_closure_weight; + + return eval; +} + +__device void svm_bsdf_blur(ShaderData *sd, float roughness) +{ + switch(sd->svm_closure) { + case CLOSURE_BSDF_DIFFUSE_ID: + bsdf_diffuse_blur(sd, roughness); + break; + case CLOSURE_BSDF_TRANSLUCENT_ID: + bsdf_translucent_blur(sd, roughness); + break; + case CLOSURE_BSDF_REFLECTION_ID: + bsdf_reflection_blur(sd, roughness); + break; + case CLOSURE_BSDF_REFRACTION_ID: + bsdf_refraction_blur(sd, roughness); + break; + case CLOSURE_BSDF_TRANSPARENT_ID: + bsdf_transparent_blur(sd, roughness); + break; + case CLOSURE_BSDF_MICROFACET_GGX_ID: + case CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID: + bsdf_microfacet_ggx_blur(sd, roughness); + break; + case CLOSURE_BSDF_MICROFACET_BECKMANN_ID: + case CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID: + bsdf_microfacet_beckmann_blur(sd, roughness); + break; +#ifdef __DPDU__ + case CLOSURE_BSDF_WARD_ID: + bsdf_ward_blur(sd, roughness); + break; +#endif + case CLOSURE_BSDF_ASHIKHMIN_VELVET_ID: + bsdf_ashikhmin_velvet_blur(sd, roughness); + break; + case CLOSURE_BSDF_WESTIN_BACKSCATTER_ID: + bsdf_westin_backscatter_blur(sd, roughness); + break; + case CLOSURE_BSDF_WESTIN_SHEEN_ID: + bsdf_westin_sheen_blur(sd, roughness); + break; + default: + break; + } +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_closure.h b/intern/cycles/kernel/svm/svm_closure.h new file mode 100644 index 00000000000..fe9edc36e95 --- /dev/null +++ b/intern/cycles/kernel/svm/svm_closure.h @@ -0,0 +1,208 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Closure Nodes */ + +__device void svm_node_closure_bsdf(ShaderData *sd, uint type, int iparam1, int iparam2, float randb) +{ + float param1 = __int_as_float(iparam1); + float param2 = __int_as_float(iparam2); + + switch(type) { + case CLOSURE_BSDF_DIFFUSE_ID: + bsdf_diffuse_setup(sd, sd->N); + break; + case CLOSURE_BSDF_TRANSLUCENT_ID: + bsdf_translucent_setup(sd, sd->N); + break; + case CLOSURE_BSDF_TRANSPARENT_ID: + bsdf_transparent_setup(sd); + break; + case CLOSURE_BSDF_REFLECTION_ID: + case CLOSURE_BSDF_MICROFACET_GGX_ID: + case CLOSURE_BSDF_MICROFACET_BECKMANN_ID: { + /* roughness */ + /* index of refraction */ + float eta = clamp(1.0f-param2, 1e-5f, 1.0f - 1e-5f); + eta = 1.0f/eta; + + /* fresnel */ + float cosNO = dot(sd->N, sd->I); + float fresnel = fresnel_dielectric_cos(cosNO, eta); + + sd->svm_closure_weight *= fresnel; + + /* setup bsdf */ + if(type == CLOSURE_BSDF_REFLECTION_ID) { + bsdf_reflection_setup(sd, sd->N); + } + else if(type == CLOSURE_BSDF_MICROFACET_BECKMANN_ID) { + float roughness = param1; + bsdf_microfacet_beckmann_setup(sd, sd->N, roughness, eta, false); + } + else { + float roughness = param1; + bsdf_microfacet_ggx_setup(sd, sd->N, roughness, eta, false); + } + break; + } + case CLOSURE_BSDF_REFRACTION_ID: + case CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID: + case CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID: { + /* index of refraction */ + float eta = clamp(1.0f-param2, 1e-5f, 1.0f - 1e-5f); + eta = (sd->flag & SD_BACKFACING)? eta: 1.0f/eta; + + /* fresnel */ + float cosNO = dot(sd->N, sd->I); + float fresnel = fresnel_dielectric_cos(cosNO, eta); + bool refract = (fresnel < randb); + + /* setup bsdf */ + if(type == CLOSURE_BSDF_REFRACTION_ID) { + if(refract) + bsdf_refraction_setup(sd, sd->N, eta); + else + bsdf_reflection_setup(sd, sd->N); + } + else if(type == CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID) { + float roughness = param1; + bsdf_microfacet_beckmann_setup(sd, sd->N, roughness, eta, refract); + } + else { + float roughness = param1; + bsdf_microfacet_ggx_setup(sd, sd->N, roughness, eta, refract); + } + break; + } +#ifdef __DPDU__ + case CLOSURE_BSDF_WARD_ID: { + float roughness_u = param1; + float roughness_v = param2; + bsdf_ward_setup(sd, sd->N, normalize(sd->dPdu), roughness_u, roughness_v); + break; + } +#endif + case CLOSURE_BSDF_ASHIKHMIN_VELVET_ID: { + /* sigma */ + float sigma = clamp(param1, 0.0f, 1.0f); + + /* index of refraction */ + float eta = clamp(1.0f-param2, 1e-5f, 1.0f - 1e-5f); + eta = 1.0f/eta; + + /* fresnel */ + float cosNO = dot(sd->N, sd->I); + float fresnel = fresnel_dielectric_cos(cosNO, eta); + + sd->svm_closure_weight *= fresnel; + + bsdf_ashikhmin_velvet_setup(sd, sd->N, sigma); + break; + } + default: + return; + } +} + +__device void svm_node_closure_emission(ShaderData *sd) +{ + sd->svm_closure = CLOSURE_EMISSION_ID; + sd->flag |= SD_EMISSION; +} + +__device void svm_node_closure_background(ShaderData *sd) +{ + sd->svm_closure = CLOSURE_BACKGROUND_ID; +} + +/* Closure Nodes */ + +__device void svm_node_closure_set_weight(ShaderData *sd, uint r, uint g, uint b) +{ + sd->svm_closure_weight.x = __int_as_float(r); + sd->svm_closure_weight.y = __int_as_float(g); + sd->svm_closure_weight.z = __int_as_float(b); +} + +__device void svm_node_emission_set_weight_total(KernelGlobals *kg, ShaderData *sd, uint r, uint g, uint b) +{ + sd->svm_closure_weight.x = __int_as_float(r); + sd->svm_closure_weight.y = __int_as_float(g); + sd->svm_closure_weight.z = __int_as_float(b); + + if(sd->object != ~0) + sd->svm_closure_weight /= object_surface_area(kg, sd->object); +} + +__device void svm_node_closure_weight(ShaderData *sd, float *stack, uint weight_offset) +{ + sd->svm_closure_weight = stack_load_float3(stack, weight_offset); +} + +__device void svm_node_emission_weight(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node) +{ + uint color_offset = node.y; + uint strength_offset = node.z; + uint total_power = node.w; + + sd->svm_closure_weight = stack_load_float3(stack, color_offset)*stack_load_float(stack, strength_offset); + + if(total_power && sd->object != ~0) + sd->svm_closure_weight /= object_surface_area(kg, sd->object); +} + +__device void svm_node_mix_closure(ShaderData *sd, float *stack, + uint weight_offset, uint node_jump, int *offset, float *randb) +{ + float weight = stack_load_float(stack, weight_offset); + weight = clamp(weight, 0.0f, 1.0f); + + /* pick a closure and make the random number uniform over 0..1 again. + closure 1 starts on the next node, for closure 2 the start is at an + offset from the current node, so we jump */ + if(*randb < weight) { + *offset += node_jump; + *randb = (*randb - weight)/(1.0f - weight); + } + else + *randb = *randb/weight; +} + +__device void svm_node_add_closure(ShaderData *sd, float *stack, uint unused, + uint node_jump, int *offset, float *randb, float *closure_weight) +{ + float weight = 0.5f; + + /* pick one of the two closures with probability 0.5. sampling quality + is not going to be great, for that we'd need to evaluate the weights + of the two closures being added */ + if(*randb < weight) { + *offset += node_jump; + *randb = (*randb - weight)/(1.0f - weight); + } + else + *randb = *randb/weight; + + *closure_weight *= 2.0f; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_clouds.h b/intern/cycles/kernel/svm/svm_clouds.h new file mode 100644 index 00000000000..e51af684ab9 --- /dev/null +++ b/intern/cycles/kernel/svm/svm_clouds.h @@ -0,0 +1,55 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Clouds */ + +__device void svm_clouds(NodeNoiseBasis basis, int hard, int depth, float size, float3 p, float *fac, float3 *color) +{ + p /= size; + + *fac = noise_turbulence(p, basis, depth, hard); + *color = make_float3(*fac, + noise_turbulence(make_float3(p.y, p.x, p.z), basis, depth, hard), + noise_turbulence(make_float3(p.y, p.z, p.x), basis, depth, hard)); +} + +__device void svm_node_tex_clouds(ShaderData *sd, float *stack, uint4 node) +{ + uint basis, hard, depth; + uint size_offset, co_offset, fac_offset, color_offset; + + decode_node_uchar4(node.y, &basis, &hard, &depth, NULL); + decode_node_uchar4(node.z, &size_offset, &co_offset, &fac_offset, &color_offset); + + float3 co = stack_load_float3(stack, co_offset); + float size = stack_load_float_default(stack, size_offset, node.w); + size = nonzerof(size, 1e-5f); + + float3 color; + float f; + + svm_clouds((NodeNoiseBasis)basis, hard, depth, size, co, &f, &color); + + if(stack_valid(fac_offset)) stack_store_float(stack, fac_offset, f); + if(stack_valid(color_offset)) stack_store_float3(stack, color_offset, color); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_convert.h b/intern/cycles/kernel/svm/svm_convert.h new file mode 100644 index 00000000000..14925569bfb --- /dev/null +++ b/intern/cycles/kernel/svm/svm_convert.h @@ -0,0 +1,48 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Conversion Nodes */ + +__device void svm_node_convert(ShaderData *sd, float *stack, uint type, uint from, uint to) +{ + switch(type) { + case NODE_CONVERT_FV: { + float f = stack_load_float(stack, from); + stack_store_float3(stack, to, make_float3(f, f, f)); + break; + } + case NODE_CONVERT_CF: { + float3 f = stack_load_float3(stack, from); + float g = f.x*0.2126f + f.y*0.7152f + f.z*0.0722f; + stack_store_float(stack, to, g); + break; + } + case NODE_CONVERT_VF: { + float3 f = stack_load_float3(stack, from); + float g = (f.x + f.y + f.z)*(1.0f/3.0f); + stack_store_float(stack, to, g); + break; + } + + } +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_displace.h b/intern/cycles/kernel/svm/svm_displace.h new file mode 100644 index 00000000000..db8a8a13289 --- /dev/null +++ b/intern/cycles/kernel/svm/svm_displace.h @@ -0,0 +1,51 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Bump Node */ + +__device void svm_node_set_bump(ShaderData *sd, float *stack, uint c_offset, uint x_offset, uint y_offset) +{ +#ifdef __RAY_DIFFERENTIALS__ + float h_c = stack_load_float(stack, c_offset); + float h_x = stack_load_float(stack, x_offset); + float h_y = stack_load_float(stack, y_offset); + + float3 Rx = cross(sd->dP.dy, sd->N); + float3 Ry = cross(sd->N, sd->dP.dx); + + float det = dot(sd->dP.dx, Rx); + float3 surfgrad = (h_x - h_c)*Rx + (h_y - h_c)*Ry; + + surfgrad *= 0.1f; /* todo: remove this factor */ + + sd->N = normalize(fabsf(det)*sd->N - signf(det)*surfgrad); +#endif +} + +/* Displacement Node */ + +__device void svm_node_set_displacement(ShaderData *sd, float *stack, uint fac_offset) +{ + float d = stack_load_float(stack, fac_offset); + sd->P += sd->N*d*0.1f; /* todo: get rid of this factor */ +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_distorted_noise.h b/intern/cycles/kernel/svm/svm_distorted_noise.h new file mode 100644 index 00000000000..469313e377d --- /dev/null +++ b/intern/cycles/kernel/svm/svm_distorted_noise.h @@ -0,0 +1,58 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Distorted Noise (variable lacunarity noise) */ + +__device float svm_distorted_noise(float3 p, float size, NodeNoiseBasis basis, NodeNoiseBasis distortion_basis, float distortion) +{ + float3 r; + + p /= size; + + r.x = noise_basis(p + make_float3(13.5f, 13.5f, 13.5f), basis) * distortion; + r.y = noise_basis(p, basis) * distortion; + r.z = noise_basis(p - make_float3(13.5f, 13.5f, 13.5f), basis) * distortion; + + return noise_basis(p + r, distortion_basis); /* distorted-domain noise */ +} + +__device void svm_node_tex_distorted_noise(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, int *offset) +{ + uint4 node2 = read_node(kg, offset); + + uint basis, distortion_basis; + uint size_offset, distortion_offset, co_offset, fac_offset; + + decode_node_uchar4(node.y, &basis, &distortion_basis, NULL, NULL); + decode_node_uchar4(node.z, &size_offset, &distortion_offset, &co_offset, &fac_offset); + + float3 co = stack_load_float3(stack, co_offset); + float size = stack_load_float_default(stack, size_offset, node2.x); + float distortion = stack_load_float_default(stack, distortion_offset, node2.y); + size = nonzerof(size, 1e-5f); + + float f = svm_distorted_noise(co, size, (NodeNoiseBasis)basis, + (NodeNoiseBasis)distortion_basis, distortion); + + stack_store_float(stack, fac_offset, f); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_fresnel.h b/intern/cycles/kernel/svm/svm_fresnel.h new file mode 100644 index 00000000000..f6122fa3071 --- /dev/null +++ b/intern/cycles/kernel/svm/svm_fresnel.h @@ -0,0 +1,34 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Fresnel Node */ + +__device void svm_node_fresnel(ShaderData *sd, float *stack, uint fresnel_offset, uint fresnel_value, uint out_offset) +{ + float fresnel = (stack_valid(fresnel_offset))? stack_load_float(stack, fresnel_offset): __int_as_float(fresnel_value); + fresnel = fmaxf(1.0f - fresnel, 0.00001f); + + float f = fresnel_dielectric_cos(dot(sd->I, sd->N), (sd->flag & SD_BACKFACING)? fresnel: 1.0f/fresnel); + + stack_store_float(stack, out_offset, f); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_geometry.h b/intern/cycles/kernel/svm/svm_geometry.h new file mode 100644 index 00000000000..77fe26c809e --- /dev/null +++ b/intern/cycles/kernel/svm/svm_geometry.h @@ -0,0 +1,78 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Geometry Node */ + +__device void svm_node_geometry(ShaderData *sd, float *stack, uint type, uint out_offset) +{ + float3 data; + + switch(type) { + case NODE_GEOM_P: data = sd->P; break; + case NODE_GEOM_N: data = sd->N; break; +#ifdef __DPDU__ + case NODE_GEOM_T: data = normalize(sd->dPdu); break; +#endif + case NODE_GEOM_I: data = sd->I; break; + case NODE_GEOM_Ng: data = sd->Ng; break; +#ifdef __UV__ + case NODE_GEOM_uv: data = make_float3(sd->u, sd->v, 0.0f); break; +#endif + } + + stack_store_float3(stack, out_offset, data); +} + +__device void svm_node_geometry_bump_dx(ShaderData *sd, float *stack, uint type, uint out_offset) +{ +#ifdef __RAY_DIFFERENTIALS__ + float3 data; + + switch(type) { + case NODE_GEOM_P: data = sd->P + sd->dP.dx; break; + case NODE_GEOM_uv: data = make_float3(sd->u + sd->du.dx, sd->v + sd->dv.dx, 0.0f); break; + default: svm_node_geometry(sd, stack, type, out_offset); return; + } + + stack_store_float3(stack, out_offset, data); +#else + svm_node_geometry(sd, stack, type, out_offset); +#endif +} + +__device void svm_node_geometry_bump_dy(ShaderData *sd, float *stack, uint type, uint out_offset) +{ +#ifdef __RAY_DIFFERENTIALS__ + float3 data; + + switch(type) { + case NODE_GEOM_P: data = sd->P + sd->dP.dy; break; + case NODE_GEOM_uv: data = make_float3(sd->u + sd->du.dy, sd->v + sd->dv.dy, 0.0f); break; + default: svm_node_geometry(sd, stack, type, out_offset); return; + } + + stack_store_float3(stack, out_offset, data); +#else + svm_node_geometry(sd, stack, type, out_offset); +#endif +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_image.h b/intern/cycles/kernel/svm/svm_image.h new file mode 100644 index 00000000000..c2020b1f69c --- /dev/null +++ b/intern/cycles/kernel/svm/svm_image.h @@ -0,0 +1,162 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +__device float4 svm_image_texture(KernelGlobals *kg, int id, float x, float y) +{ + float4 r; + + /* not particularly proud of this massive switch, what are the + alternatives? + - use a single big 1D texture, and do our own lookup/filtering + - group by size and use a 3d texture, performance impact + - group into larger texture with some padding for correct lerp + + also note that cuda has 128 textures limit, we use 100 now, since + we still need some for other storage */ + + switch(id) { + case 0: r = kernel_tex_image_interp(__tex_image_000, x, y); break; + case 1: r = kernel_tex_image_interp(__tex_image_001, x, y); break; + case 2: r = kernel_tex_image_interp(__tex_image_002, x, y); break; + case 3: r = kernel_tex_image_interp(__tex_image_003, x, y); break; + case 4: r = kernel_tex_image_interp(__tex_image_004, x, y); break; + case 5: r = kernel_tex_image_interp(__tex_image_005, x, y); break; + case 6: r = kernel_tex_image_interp(__tex_image_006, x, y); break; + case 7: r = kernel_tex_image_interp(__tex_image_007, x, y); break; + case 8: r = kernel_tex_image_interp(__tex_image_008, x, y); break; + case 9: r = kernel_tex_image_interp(__tex_image_009, x, y); break; + case 10: r = kernel_tex_image_interp(__tex_image_010, x, y); break; + case 11: r = kernel_tex_image_interp(__tex_image_011, x, y); break; + case 12: r = kernel_tex_image_interp(__tex_image_012, x, y); break; + case 13: r = kernel_tex_image_interp(__tex_image_013, x, y); break; + case 14: r = kernel_tex_image_interp(__tex_image_014, x, y); break; + case 15: r = kernel_tex_image_interp(__tex_image_015, x, y); break; + case 16: r = kernel_tex_image_interp(__tex_image_016, x, y); break; + case 17: r = kernel_tex_image_interp(__tex_image_017, x, y); break; + case 18: r = kernel_tex_image_interp(__tex_image_018, x, y); break; + case 19: r = kernel_tex_image_interp(__tex_image_019, x, y); break; + case 20: r = kernel_tex_image_interp(__tex_image_020, x, y); break; + case 21: r = kernel_tex_image_interp(__tex_image_021, x, y); break; + case 22: r = kernel_tex_image_interp(__tex_image_022, x, y); break; + case 23: r = kernel_tex_image_interp(__tex_image_023, x, y); break; + case 24: r = kernel_tex_image_interp(__tex_image_024, x, y); break; + case 25: r = kernel_tex_image_interp(__tex_image_025, x, y); break; + case 26: r = kernel_tex_image_interp(__tex_image_026, x, y); break; + case 27: r = kernel_tex_image_interp(__tex_image_027, x, y); break; + case 28: r = kernel_tex_image_interp(__tex_image_028, x, y); break; + case 29: r = kernel_tex_image_interp(__tex_image_029, x, y); break; + case 30: r = kernel_tex_image_interp(__tex_image_030, x, y); break; + case 31: r = kernel_tex_image_interp(__tex_image_031, x, y); break; + case 32: r = kernel_tex_image_interp(__tex_image_032, x, y); break; + case 33: r = kernel_tex_image_interp(__tex_image_033, x, y); break; + case 34: r = kernel_tex_image_interp(__tex_image_034, x, y); break; + case 35: r = kernel_tex_image_interp(__tex_image_035, x, y); break; + case 36: r = kernel_tex_image_interp(__tex_image_036, x, y); break; + case 37: r = kernel_tex_image_interp(__tex_image_037, x, y); break; + case 38: r = kernel_tex_image_interp(__tex_image_038, x, y); break; + case 39: r = kernel_tex_image_interp(__tex_image_039, x, y); break; + case 40: r = kernel_tex_image_interp(__tex_image_040, x, y); break; + case 41: r = kernel_tex_image_interp(__tex_image_041, x, y); break; + case 42: r = kernel_tex_image_interp(__tex_image_042, x, y); break; + case 43: r = kernel_tex_image_interp(__tex_image_043, x, y); break; + case 44: r = kernel_tex_image_interp(__tex_image_044, x, y); break; + case 45: r = kernel_tex_image_interp(__tex_image_045, x, y); break; + case 46: r = kernel_tex_image_interp(__tex_image_046, x, y); break; + case 47: r = kernel_tex_image_interp(__tex_image_047, x, y); break; + case 48: r = kernel_tex_image_interp(__tex_image_048, x, y); break; + case 49: r = kernel_tex_image_interp(__tex_image_049, x, y); break; + case 50: r = kernel_tex_image_interp(__tex_image_050, x, y); break; + case 51: r = kernel_tex_image_interp(__tex_image_051, x, y); break; + case 52: r = kernel_tex_image_interp(__tex_image_052, x, y); break; + case 53: r = kernel_tex_image_interp(__tex_image_053, x, y); break; + case 54: r = kernel_tex_image_interp(__tex_image_054, x, y); break; + case 55: r = kernel_tex_image_interp(__tex_image_055, x, y); break; + case 56: r = kernel_tex_image_interp(__tex_image_056, x, y); break; + case 57: r = kernel_tex_image_interp(__tex_image_057, x, y); break; + case 58: r = kernel_tex_image_interp(__tex_image_058, x, y); break; + case 59: r = kernel_tex_image_interp(__tex_image_059, x, y); break; + case 60: r = kernel_tex_image_interp(__tex_image_060, x, y); break; + case 61: r = kernel_tex_image_interp(__tex_image_061, x, y); break; + case 62: r = kernel_tex_image_interp(__tex_image_062, x, y); break; + case 63: r = kernel_tex_image_interp(__tex_image_063, x, y); break; + case 64: r = kernel_tex_image_interp(__tex_image_064, x, y); break; + case 65: r = kernel_tex_image_interp(__tex_image_065, x, y); break; + case 66: r = kernel_tex_image_interp(__tex_image_066, x, y); break; + case 67: r = kernel_tex_image_interp(__tex_image_067, x, y); break; + case 68: r = kernel_tex_image_interp(__tex_image_068, x, y); break; + case 69: r = kernel_tex_image_interp(__tex_image_069, x, y); break; + case 70: r = kernel_tex_image_interp(__tex_image_070, x, y); break; + case 71: r = kernel_tex_image_interp(__tex_image_071, x, y); break; + case 72: r = kernel_tex_image_interp(__tex_image_072, x, y); break; + case 73: r = kernel_tex_image_interp(__tex_image_073, x, y); break; + case 74: r = kernel_tex_image_interp(__tex_image_074, x, y); break; + case 75: r = kernel_tex_image_interp(__tex_image_075, x, y); break; + case 76: r = kernel_tex_image_interp(__tex_image_076, x, y); break; + case 77: r = kernel_tex_image_interp(__tex_image_077, x, y); break; + case 78: r = kernel_tex_image_interp(__tex_image_078, x, y); break; + case 79: r = kernel_tex_image_interp(__tex_image_079, x, y); break; + case 80: r = kernel_tex_image_interp(__tex_image_080, x, y); break; + case 81: r = kernel_tex_image_interp(__tex_image_081, x, y); break; + case 82: r = kernel_tex_image_interp(__tex_image_082, x, y); break; + case 83: r = kernel_tex_image_interp(__tex_image_083, x, y); break; + case 84: r = kernel_tex_image_interp(__tex_image_084, x, y); break; + case 85: r = kernel_tex_image_interp(__tex_image_085, x, y); break; + case 86: r = kernel_tex_image_interp(__tex_image_086, x, y); break; + case 87: r = kernel_tex_image_interp(__tex_image_087, x, y); break; + case 88: r = kernel_tex_image_interp(__tex_image_088, x, y); break; + case 89: r = kernel_tex_image_interp(__tex_image_089, x, y); break; + case 90: r = kernel_tex_image_interp(__tex_image_090, x, y); break; + case 91: r = kernel_tex_image_interp(__tex_image_091, x, y); break; + case 92: r = kernel_tex_image_interp(__tex_image_092, x, y); break; + case 93: r = kernel_tex_image_interp(__tex_image_093, x, y); break; + case 94: r = kernel_tex_image_interp(__tex_image_094, x, y); break; + case 95: r = kernel_tex_image_interp(__tex_image_095, x, y); break; + case 96: r = kernel_tex_image_interp(__tex_image_096, x, y); break; + case 97: r = kernel_tex_image_interp(__tex_image_097, x, y); break; + case 98: r = kernel_tex_image_interp(__tex_image_098, x, y); break; + case 99: r = kernel_tex_image_interp(__tex_image_099, x, y); break; + default: + kernel_assert(0); + return make_float4(0.0f, 0.0f, 0.0f, 0.0f); + } + + return r; +} + +__device void svm_node_tex_image(KernelGlobals *kg, ShaderData *sd, float *stack, uint id, uint co_offset, uint out_offset) +{ + float3 co = stack_load_float3(stack, co_offset); + float4 f = svm_image_texture(kg, id, co.x, co.y); + + stack_store_float3(stack, out_offset, make_float3(f.x, f.y, f.z)); +} + +__device void svm_node_tex_environment(KernelGlobals *kg, ShaderData *sd, float *stack, uint id, uint co_offset, uint out_offset) +{ + float3 co = stack_load_float3(stack, co_offset); + float u = (atan2f(co.y, co.x) + M_PI_F)/(2*M_PI_F); + float v = atan2f(co.z, hypotf(co.x, co.y))/M_PI_F + 0.5f; + float4 f = svm_image_texture(kg, id, u, v); + + stack_store_float3(stack, out_offset, make_float3(f.x, f.y, f.z)); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_light_path.h b/intern/cycles/kernel/svm/svm_light_path.h new file mode 100644 index 00000000000..a4a461f9590 --- /dev/null +++ b/intern/cycles/kernel/svm/svm_light_path.h @@ -0,0 +1,41 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Light Path Node */ + +__device void svm_node_light_path(ShaderData *sd, float *stack, uint type, uint out_offset, int path_flag) +{ + float info = 0.0f; + + switch(type) { + case NODE_LP_camera: info = (path_flag & PATH_RAY_CAMERA)? 1.0f: 0.0f; break; + case NODE_LP_shadow: info = (path_flag & PATH_RAY_SHADOW)? 1.0f: 0.0f; break; + case NODE_LP_diffuse: info = (path_flag & PATH_RAY_DIFFUSE)? 1.0f: 0.0f; break; + case NODE_LP_glossy: info = (path_flag & PATH_RAY_GLOSSY)? 1.0f: 0.0f; break; + case NODE_LP_reflection: info = (path_flag & PATH_RAY_REFLECT)? 1.0f: 0.0f; break; + case NODE_LP_transmission: info = (path_flag & PATH_RAY_TRANSMIT)? 1.0f: 0.0f; break; + case NODE_LP_backfacing: info = (sd->flag & SD_BACKFACING)? 1.0f: 0.0f; break; + } + + stack_store_float(stack, out_offset, info? 1.0f: 0.0f); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_magic.h b/intern/cycles/kernel/svm/svm_magic.h new file mode 100644 index 00000000000..608ca4bbd2f --- /dev/null +++ b/intern/cycles/kernel/svm/svm_magic.h @@ -0,0 +1,108 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Magic */ + +__device float3 svm_magic(float3 p, int n, float turbulence) +{ + float turb = turbulence/5.0f; + + float x = sinf((p.x + p.y + p.z)*5.0f); + float y = cosf((-p.x + p.y - p.z)*5.0f); + float z = -cosf((-p.x - p.y + p.z)*5.0f); + + if(n > 0) { + x *= turb; + y *= turb; + z *= turb; + y = -cosf(x-y+z); + y *= turb; + + if(n > 1) { + x= cosf(x-y-z); + x *= turb; + + if(n > 2) { + z= sinf(-x-y-z); + z *= turb; + + if(n > 3) { + x= -cosf(-x+y-z); + x *= turb; + + if(n > 4) { + y= -sinf(-x+y+z); + y *= turb; + + if(n > 5) { + y= -cosf(-x+y+z); + y *= turb; + + if(n > 6) { + x= cosf(x+y+z); + x *= turb; + + if(n > 7) { + z= sinf(x+y-z); + z *= turb; + + if(n > 8) { + x= -cosf(-x-y+z); + x *= turb; + + if(n > 9) { + y= -sinf(x-y+z); + y *= turb; + } + } + } + } + } + } + } + } + } + } + + if(turb != 0.0f) { + turb *= 2.0f; + x /= turb; + y /= turb; + z /= turb; + } + + return make_float3(0.5f - x, 0.5f - y, 0.5f - z); +} + +__device void svm_node_tex_magic(ShaderData *sd, float *stack, uint4 node) +{ + uint depth, turbulence_offset, co_offset, color_offset; + + decode_node_uchar4(node.y, &depth, &turbulence_offset, &co_offset, &color_offset); + + float3 co = stack_load_float3(stack, co_offset); + float turbulence = stack_load_float_default(stack, turbulence_offset, node.z); + + float3 color = svm_magic(co, depth, turbulence); + stack_store_float3(stack, color_offset, color); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_mapping.h b/intern/cycles/kernel/svm/svm_mapping.h new file mode 100644 index 00000000000..7633c3e783b --- /dev/null +++ b/intern/cycles/kernel/svm/svm_mapping.h @@ -0,0 +1,38 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Mapping Node */ + +__device void svm_node_mapping(KernelGlobals *kg, ShaderData *sd, float *stack, uint vec_offset, uint out_offset, int *offset) +{ + float3 v = stack_load_float3(stack, vec_offset); + + Transform tfm; + tfm.x = read_node_float(kg, offset); + tfm.y = read_node_float(kg, offset); + tfm.z = read_node_float(kg, offset); + tfm.w = read_node_float(kg, offset); + + float3 r = transform(&tfm, v); + stack_store_float3(stack, out_offset, r); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_marble.h b/intern/cycles/kernel/svm/svm_marble.h new file mode 100644 index 00000000000..4284688afb8 --- /dev/null +++ b/intern/cycles/kernel/svm/svm_marble.h @@ -0,0 +1,67 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Marble */ + +__device float svm_marble(float3 p, float size, NodeMarbleType type, NodeWaveType wave, NodeNoiseBasis basis, int hard, float turb, int depth) +{ + float x = p.x; + float y = p.y; + float z = p.z; + + float n = 5.0f * (x + y + z); + + float mi = n + turb * noise_turbulence(p/size, basis, depth, hard); + + mi = noise_wave(wave, mi); + + if(type == NODE_MARBLE_SHARP) + mi = sqrt(mi); + else if(type == NODE_MARBLE_SHARPER) + mi = sqrt(sqrt(mi)); + + return mi; +} + +__device void svm_node_tex_marble(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, int *offset) +{ + uint4 node2 = read_node(kg, offset); + + uint type, wave, basis, hard; + uint depth; + uint size_offset, turbulence_offset, co_offset, fac_offset; + + decode_node_uchar4(node.y, &type, &wave, &basis, &hard); + decode_node_uchar4(node.z, &depth, NULL, NULL, NULL); + decode_node_uchar4(node.w, &size_offset, &turbulence_offset, &co_offset, &fac_offset); + + float3 co = stack_load_float3(stack, co_offset); + float size = stack_load_float_default(stack, size_offset, node2.x); + float turbulence = stack_load_float_default(stack, turbulence_offset, node2.y); + size = nonzerof(size, 1e-5f); + + float f = svm_marble(co, size, (NodeMarbleType)type, (NodeWaveType)wave, + (NodeNoiseBasis)basis, hard, turbulence, depth); + + stack_store_float(stack, fac_offset, f); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_math.h b/intern/cycles/kernel/svm/svm_math.h new file mode 100644 index 00000000000..6650a10a4d9 --- /dev/null +++ b/intern/cycles/kernel/svm/svm_math.h @@ -0,0 +1,181 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +__device float safe_asinf(float a) +{ + if(a <= -1.0f) + return -M_PI_2; + else if(a >= 1.0f) + return M_PI_2_F; + + return asinf(a); +} + +__device float safe_acosf(float a) +{ + if(a <= -1.0f) + return M_PI_F; + else if(a >= 1.0f) + return 0.0f; + + return acosf(a); +} + +__device float safe_powf(float a, float b) +{ + if(b == 0.0f) + return 1.0f; + if(a == 0.0f) + return 0.0f; + if(a < 0.0f && b != (int)b) + return 0.0f; + + return powf(a, b); +} + +__device float safe_logf(float a, float b) +{ + if(a < 0.0f || b < 0.0f) + return 0.0f; + + return logf(a)/logf(b); +} + +__device float safe_divide(float a, float b) +{ + float result; + + if(b == 0.0f) + result = 0.0f; + else + result = a/b; + + return result; +} + +__device float svm_math(NodeMath type, float Fac1, float Fac2) +{ + float Fac; + + if(type == NODE_MATH_ADD) + Fac = Fac1 + Fac2; + else if(type == NODE_MATH_SUBTRACT) + Fac = Fac1 - Fac2; + else if(type == NODE_MATH_MULTIPLY) + Fac = Fac1*Fac2; + else if(type == NODE_MATH_DIVIDE) + Fac = safe_divide(Fac1, Fac2); + else if(type == NODE_MATH_SINE) + Fac = sinf(Fac1); + else if(type == NODE_MATH_COSINE) + Fac = cosf(Fac1); + else if(type == NODE_MATH_TANGENT) + Fac = tanf(Fac1); + else if(type == NODE_MATH_ARCSINE) + Fac = safe_asinf(Fac1); + else if(type == NODE_MATH_ARCCOSINE) + Fac = safe_acosf(Fac1); + else if(type == NODE_MATH_ARCTANGENT) + Fac = atanf(Fac1); + else if(type == NODE_MATH_POWER) + Fac = safe_powf(Fac1, Fac2); + else if(type == NODE_MATH_LOGARITHM) + Fac = safe_logf(Fac1, Fac2); + else if(type == NODE_MATH_MINIMUM) + Fac = fminf(Fac1, Fac2); + else if(type == NODE_MATH_MAXIMUM) + Fac = fmaxf(Fac1, Fac2); + else if(type == NODE_MATH_ROUND) + Fac = floorf(Fac1 + 0.5f); + else if(type == NODE_MATH_LESS_THAN) + Fac = Fac1 < Fac2; + else if(type == NODE_MATH_GREATER_THAN) + Fac = Fac1 > Fac2; + else + Fac = 0.0f; + + return Fac; +} + +__device void svm_vector_math(float *Fac, float3 *Vector, NodeVectorMath type, float3 Vector1, float3 Vector2) +{ + if(type == NODE_VECTOR_MATH_ADD) { + *Vector = Vector1 + Vector2; + *Fac = (fabsf(Vector->x) + fabsf(Vector->y) + fabsf(Vector->z))/3.0f; + } + else if(type == NODE_VECTOR_MATH_SUBTRACT) { + *Vector = Vector1 + Vector2; + *Fac = (fabsf(Vector->x) + fabsf(Vector->y) + fabsf(Vector->z))/3.0f; + } + else if(type == NODE_VECTOR_MATH_AVERAGE) { + *Fac = len(Vector1 + Vector2); + *Vector = normalize(Vector1 + Vector2); + } + else if(type == NODE_VECTOR_MATH_DOT_PRODUCT) { + *Fac = dot(Vector1, Vector2); + *Vector = make_float3(0.0f, 0.0f, 0.0f); + } + else if(type == NODE_VECTOR_MATH_CROSS_PRODUCT) { + float3 c = cross(Vector1, Vector2); + *Fac = len(c); + *Vector = normalize(c); + } + else if(type == NODE_VECTOR_MATH_NORMALIZE) { + *Fac = len(Vector1); + *Vector = normalize(Vector1); + } + else { + *Fac = 0.0f; + *Vector = make_float3(0.0f, 0.0f, 0.0f); + } +} + +/* Nodes */ + +__device void svm_node_math(KernelGlobals *kg, ShaderData *sd, float *stack, uint itype, uint f1_offset, uint f2_offset, int *offset) +{ + NodeMath type = (NodeMath)itype; + float f1 = stack_load_float(stack, f1_offset); + float f2 = stack_load_float(stack, f2_offset); + float f = svm_math(type, f1, f2); + + uint4 node1 = read_node(kg, offset); + + stack_store_float(stack, node1.y, f); +} + +__device void svm_node_vector_math(KernelGlobals *kg, ShaderData *sd, float *stack, uint itype, uint v1_offset, uint v2_offset, int *offset) +{ + NodeVectorMath type = (NodeVectorMath)itype; + float3 v1 = stack_load_float3(stack, v1_offset); + float3 v2 = stack_load_float3(stack, v2_offset); + float f; + float3 v; + + svm_vector_math(&f, &v, type, v1, v2); + + uint4 node1 = read_node(kg, offset); + + if(stack_valid(node1.y)) stack_store_float(stack, node1.y, f); + if(stack_valid(node1.z)) stack_store_float3(stack, node1.z, v); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_mix.h b/intern/cycles/kernel/svm/svm_mix.h new file mode 100644 index 00000000000..5a8ca2f76dd --- /dev/null +++ b/intern/cycles/kernel/svm/svm_mix.h @@ -0,0 +1,387 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +__device float3 rgb_to_hsv(float3 rgb) +{ + float cmax, cmin, h, s, v, cdelta; + float3 c; + + cmax = fmaxf(rgb.x, fmaxf(rgb.y, rgb.z)); + cmin = min(rgb.x, min(rgb.y, rgb.z)); + cdelta = cmax - cmin; + + v = cmax; + + if(cmax != 0.0f) { + s = cdelta/cmax; + } + else { + s = 0.0f; + h = 0.0f; + } + + if(s == 0.0f) { + h = 0.0f; + } + else { + c = (make_float3(cmax, cmax, cmax) - rgb)/cdelta; + + if(rgb.x == cmax) h = c.z - c.y; + else if(rgb.y == cmax) h = 2.0f + c.x - c.z; + else h = 4.0f + c.y - c.x; + + h /= 6.0f; + + if(h < 0.0f) + h += 1.0f; + } + + return make_float3(h, s, v); +} + +__device float3 hsv_to_rgb(float3 hsv) +{ + float i, f, p, q, t, h, s, v; + float3 rgb; + + h = hsv.x; + s = hsv.y; + v = hsv.z; + + if(s==0.0f) { + rgb = make_float3(v, v, v); + } + else { + if(h==1.0f) + h = 0.0f; + + h *= 6.0f; + i = floor(h); + f = h - i; + rgb = make_float3(f, f, f); + p = v*(1.0f-s); + q = v*(1.0f-(s*f)); + t = v*(1.0f-(s*(1.0f-f))); + + if(i == 0.0f) rgb = make_float3(v, t, p); + else if(i == 1.0f) rgb = make_float3(q, v, p); + else if(i == 2.0f) rgb = make_float3(p, v, t); + else if(i == 3.0f) rgb = make_float3(p, q, v); + else if(i == 4.0f) rgb = make_float3(t, p, v); + else rgb = make_float3(v, p, q); + } + + return rgb; +} + +__device float3 svm_mix_blend(float t, float3 col1, float3 col2) +{ + return lerp(col1, col2, t); +} + +__device float3 svm_mix_add(float t, float3 col1, float3 col2) +{ + return lerp(col1, col1 + col2, t); +} + +__device float3 svm_mix_mul(float t, float3 col1, float3 col2) +{ + return lerp(col1, col1 * col2, t); +} + +__device float3 svm_mix_screen(float t, float3 col1, float3 col2) +{ + float tm = 1.0f - t; + + return make_float3(1.0f, 1.0f, 1.0f) - (make_float3(tm, tm, tm) + t*(make_float3(1.0f, 1.0f, 1.0f) - col2))*(make_float3(1.0f, 1.0f, 1.0f) - col1); +} + +__device float3 svm_mix_overlay(float t, float3 col1, float3 col2) +{ + float tm = 1.0f - t; + + float3 outcol = col1; + + if(outcol.x < 0.5f) + outcol.x *= tm + 2.0f*t*col2.x; + else + outcol.x = 1.0f - (tm + 2.0f*t*(1.0f - col2.x))*(1.0f - outcol.x); + + if(outcol.y < 0.5f) + outcol.y *= tm + 2.0f*t*col2.y; + else + outcol.y = 1.0f - (tm + 2.0f*t*(1.0f - col2.y))*(1.0f - outcol.y); + + if(outcol.z < 0.5f) + outcol.z *= tm + 2.0f*t*col2.z; + else + outcol.z = 1.0f - (tm + 2.0f*t*(1.0f - col2.z))*(1.0f - outcol.z); + + return outcol; +} + +__device float3 svm_mix_sub(float t, float3 col1, float3 col2) +{ + return lerp(col1, col1 - col2, t); +} + +__device float3 svm_mix_div(float t, float3 col1, float3 col2) +{ + float tm = 1.0f - t; + + float3 outcol = col1; + + if(col2.x != 0.0f) outcol.x = tm*outcol.x + t*outcol.x/col2.x; + if(col2.y != 0.0f) outcol.y = tm*outcol.y + t*outcol.y/col2.y; + if(col2.z != 0.0f) outcol.z = tm*outcol.z + t*outcol.z/col2.z; + + return outcol; +} + +__device float3 svm_mix_diff(float t, float3 col1, float3 col2) +{ + return lerp(col1, fabs(col1 - col2), t); +} + +__device float3 svm_mix_dark(float t, float3 col1, float3 col2) +{ + return min(col1, col2*t); +} + +__device float3 svm_mix_light(float t, float3 col1, float3 col2) +{ + return max(col1, col2*t); +} + +__device float3 svm_mix_dodge(float t, float3 col1, float3 col2) +{ + float3 outcol = col1; + + if(outcol.x != 0.0f) { + float tmp = 1.0f - t*col2.x; + if(tmp <= 0.0f) + outcol.x = 1.0f; + else if((tmp = outcol.x/tmp) > 1.0f) + outcol.x = 1.0f; + else + outcol.x = tmp; + } + if(outcol.y != 0.0f) { + float tmp = 1.0f - t*col2.y; + if(tmp <= 0.0f) + outcol.y = 1.0f; + else if((tmp = outcol.y/tmp) > 1.0f) + outcol.y = 1.0f; + else + outcol.y = tmp; + } + if(outcol.z != 0.0f) { + float tmp = 1.0f - t*col2.z; + if(tmp <= 0.0f) + outcol.z = 1.0f; + else if((tmp = outcol.z/tmp) > 1.0f) + outcol.z = 1.0f; + else + outcol.z = tmp; + } + + return outcol; +} + +__device float3 svm_mix_burn(float t, float3 col1, float3 col2) +{ + float tmp, tm = 1.0f - t; + + float3 outcol = col1; + + tmp = tm + t*col2.x; + if(tmp <= 0.0f) + outcol.x = 0.0f; + else if((tmp = (1.0f - (1.0f - outcol.x)/tmp)) < 0.0f) + outcol.x = 0.0f; + else if(tmp > 1.0f) + outcol.x = 1.0f; + else + outcol.x = tmp; + + tmp = tm + t*col2.y; + if(tmp <= 0.0f) + outcol.y = 0.0f; + else if((tmp = (1.0f - (1.0f - outcol.y)/tmp)) < 0.0f) + outcol.y = 0.0f; + else if(tmp > 1.0f) + outcol.y = 1.0f; + else + outcol.y = tmp; + + tmp = tm + t*col2.z; + if(tmp <= 0.0f) + outcol.z = 0.0f; + else if((tmp = (1.0f - (1.0f - outcol.z)/tmp)) < 0.0f) + outcol.z = 0.0f; + else if(tmp > 1.0f) + outcol.z = 1.0f; + else + outcol.z = tmp; + + return outcol; +} + +__device float3 svm_mix_hue(float t, float3 col1, float3 col2) +{ + float3 outcol = col1; + + float3 hsv2 = rgb_to_hsv(col2); + + if(hsv2.y != 0.0f) { + float3 hsv = rgb_to_hsv(outcol); + hsv.x = hsv2.x; + float3 tmp = hsv_to_rgb(hsv); + + outcol = lerp(outcol, tmp, t); + } + + return outcol; +} + +__device float3 svm_mix_sat(float t, float3 col1, float3 col2) +{ + float tm = 1.0f - t; + + float3 outcol = col1; + + float3 hsv = rgb_to_hsv(outcol); + + if(hsv.y != 0.0f) { + float3 hsv2 = rgb_to_hsv(col2); + + hsv.y = tm*hsv.y + t*hsv2.y; + outcol = hsv_to_rgb(hsv); + } + + return outcol; +} + +__device float3 svm_mix_val(float t, float3 col1, float3 col2) +{ + float tm = 1.0f - t; + + float3 hsv = rgb_to_hsv(col1); + float3 hsv2 = rgb_to_hsv(col2); + + hsv.z = tm*hsv.z + t*hsv2.z; + + return hsv_to_rgb(hsv); +} + +__device float3 svm_mix_color(float t, float3 col1, float3 col2) +{ + float3 outcol = col1; + float3 hsv2 = rgb_to_hsv(col2); + + if(hsv2.y != 0.0f) { + float3 hsv = rgb_to_hsv(outcol); + hsv.x = hsv2.x; + hsv.y = hsv2.y; + float3 tmp = hsv_to_rgb(hsv); + + outcol = lerp(outcol, tmp, t); + } + + return outcol; +} + +__device float3 svm_mix_soft(float t, float3 col1, float3 col2) +{ + float tm = 1.0f - t; + + float3 one= make_float3(1.0f, 1.0f, 1.0f); + float3 scr= one - (one - col2)*(one - col1); + + return tm*col1 + t*((one - col1)*col2*col1 + col1*scr); +} + +__device float3 svm_mix_linear(float t, float3 col1, float3 col2) +{ + float3 outcol = col1; + + if(col2.x > 0.5f) + outcol.x= col1.x + t*(2.0f*(col2.x - 0.5f)); + else + outcol.x= col1.x + t*(2.0f*(col2.x) - 1.0f); + + if(col2.y > 0.5f) + outcol.y= col1.y + t*(2.0f*(col2.y - 0.5f)); + else + outcol.y= col1.y + t*(2.0f*(col2.y) - 1.0f); + + if(col2.z > 0.5f) + outcol.z= col1.z + t*(2.0f*(col2.z - 0.5f)); + else + outcol.z= col1.z + t*(2.0f*(col2.z) - 1.0f); + + return outcol; +} + +__device float3 svm_mix(NodeMix type, float fac, float3 c1, float3 c2) +{ + float t = clamp(fac, 0.0f, 1.0f); + + switch(type) { + case NODE_MIX_BLEND: return svm_mix_blend(t, c1, c2); + case NODE_MIX_ADD: return svm_mix_add(t, c1, c2); + case NODE_MIX_MUL: return svm_mix_mul(t, c1, c2); + case NODE_MIX_SCREEN: return svm_mix_screen(t, c1, c2); + case NODE_MIX_OVERLAY: return svm_mix_overlay(t, c1, c2); + case NODE_MIX_SUB: return svm_mix_sub(t, c1, c2); + case NODE_MIX_DIV: return svm_mix_div(t, c1, c2); + case NODE_MIX_DIFF: return svm_mix_diff(t, c1, c2); + case NODE_MIX_DARK: return svm_mix_dark(t, c1, c2); + case NODE_MIX_LIGHT: return svm_mix_light(t, c1, c2); + case NODE_MIX_DODGE: return svm_mix_dodge(t, c1, c2); + case NODE_MIX_BURN: return svm_mix_burn(t, c1, c2); + case NODE_MIX_HUE: return svm_mix_hue(t, c1, c2); + case NODE_MIX_SAT: return svm_mix_sat(t, c1, c2); + case NODE_MIX_VAL: return svm_mix_val (t, c1, c2); + case NODE_MIX_COLOR: return svm_mix_color(t, c1, c2); + case NODE_MIX_SOFT: return svm_mix_soft(t, c1, c2); + case NODE_MIX_LINEAR: return svm_mix_linear(t, c1, c2); + } + + return make_float3(0.0f, 0.0f, 0.0f); +} + +/* Node */ + +__device void svm_node_mix(KernelGlobals *kg, ShaderData *sd, float *stack, uint fac_offset, uint c1_offset, uint c2_offset, int *offset) +{ + /* read extra data */ + uint4 node1 = read_node(kg, offset); + + float fac = stack_load_float(stack, fac_offset); + float3 c1 = stack_load_float3(stack, c1_offset); + float3 c2 = stack_load_float3(stack, c2_offset); + float3 result = svm_mix((NodeMix)node1.y, fac, c1, c2); + + stack_store_float3(stack, node1.z, result); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_musgrave.h b/intern/cycles/kernel/svm/svm_musgrave.h new file mode 100644 index 00000000000..5163b9f2ced --- /dev/null +++ b/intern/cycles/kernel/svm/svm_musgrave.h @@ -0,0 +1,237 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Musgrave fBm + * + * H: fractal increment parameter + * lacunarity: gap between successive frequencies + * octaves: number of frequencies in the fBm + * + * from "Texturing and Modelling: A procedural approach" + */ + +__device float noise_musgrave_fBm(float3 p, NodeNoiseBasis basis, float H, float lacunarity, float octaves) +{ + float rmd; + float value = 0.0f; + float pwr = 1.0f; + float pwHL = pow(lacunarity, -H); + int i; + + for(i = 0; i < (int)octaves; i++) { + value += noise_basis(p, basis) * pwr; + pwr *= pwHL; + p *= lacunarity; + } + + rmd = octaves - floor(octaves); + if(rmd != 0.0f) + value += rmd * noise_basis(p, basis) * pwr; + + return value; +} + +/* Musgrave Multifractal + * + * H: highest fractal dimension + * lacunarity: gap between successive frequencies + * octaves: number of frequencies in the fBm + */ + +__device float noise_musgrave_multi_fractal(float3 p, NodeNoiseBasis basis, float H, float lacunarity, float octaves) +{ + float rmd; + float value = 1.0f; + float pwr = 1.0f; + float pwHL = pow(lacunarity, -H); + int i; + + for(i = 0; i < (int)octaves; i++) { + value *= (pwr * noise_basis(p, basis) + 1.0f); + pwr *= pwHL; + p *= lacunarity; + } + + rmd = octaves - floor(octaves); + if(rmd != 0.0f) + value *= (rmd * pwr * noise_basis(p, basis) + 1.0f); /* correct? */ + + return value; +} + +/* Musgrave Heterogeneous Terrain + * + * H: fractal dimension of the roughest area + * lacunarity: gap between successive frequencies + * octaves: number of frequencies in the fBm + * offset: raises the terrain from `sea level' + */ + +__device float noise_musgrave_hetero_terrain(float3 p, NodeNoiseBasis basis, float H, float lacunarity, float octaves, float offset) +{ + float value, increment, rmd; + float pwHL = pow(lacunarity, -H); + float pwr = pwHL; + int i; + + /* first unscaled octave of function; later octaves are scaled */ + value = offset + noise_basis(p, basis); + p *= lacunarity; + + for(i = 1; i < (int)octaves; i++) { + increment = (noise_basis(p, basis) + offset) * pwr * value; + value += increment; + pwr *= pwHL; + p *= lacunarity; + } + + rmd = octaves - floor(octaves); + if(rmd != 0.0f) { + increment = (noise_basis(p, basis) + offset) * pwr * value; + value += rmd * increment; + } + + return value; +} + +/* Hybrid Additive/Multiplicative Multifractal Terrain + * + * H: fractal dimension of the roughest area + * lacunarity: gap between successive frequencies + * octaves: number of frequencies in the fBm + * offset: raises the terrain from `sea level' + */ + +__device float noise_musgrave_hybrid_multi_fractal(float3 p, NodeNoiseBasis basis, float H, float lacunarity, float octaves, float offset, float gain) +{ + float result, signal, weight, rmd; + float pwHL = pow(lacunarity, -H); + float pwr = pwHL; + int i; + + result = noise_basis(p, basis) + offset; + weight = gain * result; + p *= lacunarity; + + for(i = 1; (weight > 0.001f) && (i < (int)octaves); i++) { + if(weight > 1.0f) + weight = 1.0f; + + signal = (noise_basis(p, basis) + offset) * pwr; + pwr *= pwHL; + result += weight * signal; + weight *= gain * signal; + p *= lacunarity; + } + + rmd = octaves - floor(octaves); + if(rmd != 0.0f) + result += rmd * ((noise_basis(p, basis) + offset) * pwr); + + return result; +} + +/* Ridged Multifractal Terrain + * + * H: fractal dimension of the roughest area + * lacunarity: gap between successive frequencies + * octaves: number of frequencies in the fBm + * offset: raises the terrain from `sea level' + */ + +__device float noise_musgrave_ridged_multi_fractal(float3 p, NodeNoiseBasis basis, float H, float lacunarity, float octaves, float offset, float gain) +{ + float result, signal, weight; + float pwHL = pow(lacunarity, -H); + float pwr = pwHL; + int i; + + signal = offset - fabsf(noise_basis(p, basis)); + signal *= signal; + result = signal; + weight = 1.0f; + + for(i = 1; i < (int)octaves; i++) { + p *= lacunarity; + weight = clamp(signal * gain, 0.0f, 1.0f); + signal = offset - fabsf(noise_basis(p, basis)); + signal *= signal; + signal *= weight; + result += signal * pwr; + pwr *= pwHL; + } + + return result; +} + +/* Shader */ + +__device float svm_musgrave(NodeMusgraveType type, NodeNoiseBasis basis, float dimension, float lacunarity, float octaves, float offset, float intensity, float gain, float size, float3 p) +{ + p /= size; + + if(type == NODE_MUSGRAVE_MULTIFRACTAL) + return intensity*noise_musgrave_multi_fractal(p, basis, dimension, lacunarity, octaves); + else if(type == NODE_MUSGRAVE_FBM) + return intensity*noise_musgrave_fBm(p, basis, dimension, lacunarity, octaves); + else if(type == NODE_MUSGRAVE_HYBRID_MULTIFRACTAL) + return intensity*noise_musgrave_hybrid_multi_fractal(p, basis, dimension, lacunarity, octaves, offset, gain); + else if(type == NODE_MUSGRAVE_RIDGED_MULTIFRACTAL) + return intensity*noise_musgrave_ridged_multi_fractal(p, basis, dimension, lacunarity, octaves, offset, gain); + else if(type == NODE_MUSGRAVE_HETERO_TERRAIN) + return intensity*noise_musgrave_hetero_terrain(p, basis, dimension, lacunarity, octaves, offset); + + return 0.0f; +} + +__device void svm_node_tex_musgrave(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, int *offset) +{ + uint4 node2 = read_node(kg, offset); + uint4 node3 = read_node(kg, offset); + + uint type, basis, co_offset, fac_offset; + uint dimension_offset, lacunarity_offset, octaves_offset, offset_offset; + uint gain_offset, size_offset; + + decode_node_uchar4(node.y, &type, &basis, &co_offset, &fac_offset); + decode_node_uchar4(node.z, &dimension_offset, &lacunarity_offset, &octaves_offset, &offset_offset); + decode_node_uchar4(node.z, &gain_offset, &size_offset, NULL, NULL); + + float3 co = stack_load_float3(stack, co_offset); + float dimension = stack_load_float_default(stack, dimension_offset, node2.x); + float lacunarity = stack_load_float_default(stack, lacunarity_offset, node2.y); + float octaves = stack_load_float_default(stack, octaves_offset, node2.z); + float foffset = stack_load_float_default(stack, offset_offset, node2.w); + float gain = stack_load_float_default(stack, gain_offset, node3.x); + float size = stack_load_float_default(stack, size_offset, node3.y); + + dimension = fmaxf(dimension, 0.0f); + octaves = fmaxf(octaves, 0.0f); + lacunarity = fmaxf(lacunarity, 1e-5f); + size = nonzerof(size, 1e-5f); + + float f = svm_musgrave((NodeMusgraveType)type, (NodeNoiseBasis)basis, + dimension, lacunarity, octaves, foffset, 1.0f, gain, size, co); + + stack_store_float(stack, fac_offset, f); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_noise.h b/intern/cycles/kernel/svm/svm_noise.h new file mode 100644 index 00000000000..745744e142c --- /dev/null +++ b/intern/cycles/kernel/svm/svm_noise.h @@ -0,0 +1,230 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +CCL_NAMESPACE_BEGIN + +__device int quick_floor(float x) +{ + return (int)x - ((x < 0) ? 1 : 0); +} + +__device float bits_to_01(uint bits) +{ + return bits * (1.0f/(float)0xFFFFFFFF); +} + +__device uint hash(uint kx, uint ky, uint kz) +{ + // define some handy macros +#define rot(x,k) (((x)<<(k)) | ((x)>>(32-(k)))) +#define final(a,b,c) \ +{ \ + c ^= b; c -= rot(b,14); \ + a ^= c; a -= rot(c,11); \ + b ^= a; b -= rot(a,25); \ + c ^= b; c -= rot(b,16); \ + a ^= c; a -= rot(c,4); \ + b ^= a; b -= rot(a,14); \ + c ^= b; c -= rot(b,24); \ +} + // now hash the data! + uint a, b, c, len = 3; + a = b = c = 0xdeadbeef + (len << 2) + 13; + + c += kz; + b += ky; + a += kx; + final(a, b, c); + + return c; + // macros not needed anymore +#undef rot +#undef final +} + +__device int imod(int a, int b) +{ + a %= b; + return a < 0 ? a + b : a; +} + +__device uint phash(int kx, int ky, int kz, int3 p) +{ + return hash(imod(kx, p.x), imod(ky, p.y), imod(kz, p.z)); +} + +__device float floorfrac(float x, int* i) +{ + *i = quick_floor(x); + return x - *i; +} + +__device float fade(float t) +{ + return t * t * t * (t * (t * 6.0f - 15.0f) + 10.0f); +} + +__device float nerp(float t, float a, float b) +{ + return (1.0f - t) * a + t * b; +} + +__device float grad(int hash, float x, float y, float z) +{ + // use vectors pointing to the edges of the cube + int h = hash & 15; + float u = h<8 ? x : y; + float v = h<4 ? y : h==12||h==14 ? x : z; + return ((h&1) ? -u : u) + ((h&2) ? -v : v); +} + +__device float scale3(float result) +{ + return 0.9820f * result; +} + +__device float perlin(float x, float y, float z) +{ + int X; float fx = floorfrac(x, &X); + int Y; float fy = floorfrac(y, &Y); + int Z; float fz = floorfrac(z, &Z); + + float u = fade(fx); + float v = fade(fy); + float w = fade(fz); + + float result; + + result = nerp (w, nerp (v, nerp (u, grad (hash (X , Y , Z ), fx , fy , fz ), + grad (hash (X+1, Y , Z ), fx-1.0f, fy , fz )), + nerp (u, grad (hash (X , Y+1, Z ), fx , fy-1.0f, fz ), + grad (hash (X+1, Y+1, Z ), fx-1.0f, fy-1.0f, fz ))), + nerp (v, nerp (u, grad (hash (X , Y , Z+1), fx , fy , fz-1.0f ), + grad (hash (X+1, Y , Z+1), fx-1.0f, fy , fz-1.0f )), + nerp (u, grad (hash (X , Y+1, Z+1), fx , fy-1.0f, fz-1.0f ), + grad (hash (X+1, Y+1, Z+1), fx-1.0f, fy-1.0f, fz-1.0f )))); + return scale3(result); +} + +__device float perlin_periodic(float x, float y, float z, float3 pperiod) +{ + int X; float fx = floorfrac(x, &X); + int Y; float fy = floorfrac(y, &Y); + int Z; float fz = floorfrac(z, &Z); + + int3 p; + + p.x = fmaxf(quick_floor(pperiod.x), 1); + p.y = fmaxf(quick_floor(pperiod.y), 1); + p.z = fmaxf(quick_floor(pperiod.z), 1); + + float u = fade(fx); + float v = fade(fy); + float w = fade(fz); + + float result; + + result = nerp (w, nerp (v, nerp (u, grad (phash (X , Y , Z , p), fx , fy , fz ), + grad (phash (X+1, Y , Z , p), fx-1.0f, fy , fz )), + nerp (u, grad (phash (X , Y+1, Z , p), fx , fy-1.0f, fz ), + grad (phash (X+1, Y+1, Z , p), fx-1.0f, fy-1.0f, fz ))), + nerp (v, nerp (u, grad (phash (X , Y , Z+1, p), fx , fy , fz-1.0f ), + grad (phash (X+1, Y , Z+1, p), fx-1.0f, fy , fz-1.0f )), + nerp (u, grad (phash (X , Y+1, Z+1, p), fx , fy-1.0f, fz-1.0f ), + grad (phash (X+1, Y+1, Z+1, p), fx-1.0f, fy-1.0f, fz-1.0f )))); + return scale3(result); +} + +/* perlin noise in range 0..1 */ +__device float noise(float3 p) +{ + float r = perlin(p.x, p.y, p.z); + return 0.5f*r + 0.5f; +} + +/* perlin noise in range -1..1 */ +__device float snoise(float3 p) +{ + return perlin(p.x, p.y, p.z); +} + +/* cell noise */ +__device float cellnoise(float3 p) +{ + uint ix = quick_floor(p.x); + uint iy = quick_floor(p.y); + uint iz = quick_floor(p.z); + + return bits_to_01(hash(ix, iy, iz)); +} + +__device float3 cellnoise_color(float3 p) +{ + float r = cellnoise(p); + float g = cellnoise(make_float3(p.y, p.x, p.z)); + float b = cellnoise(make_float3(p.y, p.z, p.x)); + + return make_float3(r, g, b); +} + +/* periodic perlin noise in range 0..1 */ +__device float pnoise(float3 p, float3 pperiod) +{ + float r = perlin_periodic(p.x, p.y, p.z, pperiod); + return 0.5f*r + 0.5f; +} + +/* periodic perlin noise in range -1..1 */ +__device float psnoise(float3 p, float3 pperiod) +{ + return perlin_periodic(p.x, p.y, p.z, pperiod); +} + +/* turbulence */ +__device float turbulence(float3 P, int oct, bool hard) +{ + float amp = 1.0f, fscale = 1.0f, sum = 0.0f; + int i; + + for(i=0; i<=oct; i++, amp *= 0.5f, fscale *= 2.0f) { + float t = noise(fscale*P); + if(hard) t = fabsf(2.0f*t - 1.0f); + sum += t * amp; + } + + sum *= ((float)(1<object != ~0) { + Transform tfm = object_fetch_transform(kg, sd->object, OBJECT_INVERSE_TRANSFORM); + data = transform(&tfm, sd->P); + } + else + data = sd->P; + break; + } + case NODE_TEXCO_CAMERA: { + Transform tfm = kernel_data.cam.worldtocamera; + + if(sd->object != ~0) + data = transform(&tfm, sd->P); + else + data = transform(&tfm, sd->P + svm_background_offset(kg)); + break; + } + case NODE_TEXCO_WINDOW: { + Transform tfm = kernel_data.cam.worldtondc; + + if(sd->object != ~0) + data = transform(&tfm, sd->P); + else + data = transform(&tfm, sd->P + svm_background_offset(kg)); + break; + } + case NODE_TEXCO_REFLECTION: { + if(sd->object != ~0) + data = sd->I - 2.0f*dot(sd->N, sd->I)*sd->N; + else + data = sd->I; + break; + } + } + + stack_store_float3(stack, out_offset, data); +} + +__device void svm_node_tex_coord_bump_dx(KernelGlobals *kg, ShaderData *sd, float *stack, uint type, uint out_offset) +{ +#ifdef __RAY_DIFFERENTIALS__ + float3 data; + + switch(type) { + case NODE_TEXCO_OBJECT: { + if(sd->object != ~0) { + Transform tfm = object_fetch_transform(kg, sd->object, OBJECT_INVERSE_TRANSFORM); + data = transform(&tfm, sd->P + sd->dP.dx); + } + else + data = sd->P + sd->dP.dx; + break; + } + case NODE_TEXCO_CAMERA: { + Transform tfm = kernel_data.cam.worldtocamera; + + if(sd->object != ~0) + data = transform(&tfm, sd->P + sd->dP.dx); + else + data = transform(&tfm, sd->P + sd->dP.dx + svm_background_offset(kg)); + break; + } + case NODE_TEXCO_WINDOW: { + Transform tfm = kernel_data.cam.worldtondc; + + if(sd->object != ~0) + data = transform(&tfm, sd->P + sd->dP.dx); + else + data = transform(&tfm, sd->P + sd->dP.dx + svm_background_offset(kg)); + break; + } + case NODE_TEXCO_REFLECTION: { + if(sd->object != ~0) + data = sd->I - 2.0f*dot(sd->N, sd->I)*sd->N; + else + data = sd->I; + break; + } + } + + stack_store_float3(stack, out_offset, data); +#else + svm_node_tex_coord(kg, sd, stack, type, out_offset); +#endif +} + +__device void svm_node_tex_coord_bump_dy(KernelGlobals *kg, ShaderData *sd, float *stack, uint type, uint out_offset) +{ +#ifdef __RAY_DIFFERENTIALS__ + float3 data; + + switch(type) { + case NODE_TEXCO_OBJECT: { + if(sd->object != ~0) { + Transform tfm = object_fetch_transform(kg, sd->object, OBJECT_INVERSE_TRANSFORM); + data = transform(&tfm, sd->P + sd->dP.dy); + } + else + data = sd->P + sd->dP.dy; + break; + } + case NODE_TEXCO_CAMERA: { + Transform tfm = kernel_data.cam.worldtocamera; + + if(sd->object != ~0) + data = transform(&tfm, sd->P + sd->dP.dy); + else + data = transform(&tfm, sd->P + sd->dP.dy + svm_background_offset(kg)); + break; + } + case NODE_TEXCO_WINDOW: { + Transform tfm = kernel_data.cam.worldtondc; + + if(sd->object != ~0) + data = transform(&tfm, sd->P + sd->dP.dy); + else + data = transform(&tfm, sd->P + sd->dP.dy + svm_background_offset(kg)); + break; + } + case NODE_TEXCO_REFLECTION: { + if(sd->object != ~0) + data = sd->I - 2.0f*dot(sd->N, sd->I)*sd->N; + else + data = sd->I; + break; + } + } + + stack_store_float3(stack, out_offset, data); +#else + svm_node_tex_coord(kg, sd, stack, type, out_offset); +#endif +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_texture.h b/intern/cycles/kernel/svm/svm_texture.h new file mode 100644 index 00000000000..c5f71c0d5bd --- /dev/null +++ b/intern/cycles/kernel/svm/svm_texture.h @@ -0,0 +1,240 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Voronoi Distances */ + +__device float voronoi_distance(NodeDistanceMetric distance_metric, float3 d, float e) +{ + if(distance_metric == NODE_VORONOI_DISTANCE_SQUARED) + return dot(d, d); + if(distance_metric == NODE_VORONOI_ACTUAL_DISTANCE) + return len(d); + if(distance_metric == NODE_VORONOI_MANHATTAN) + return fabsf(d.x) + fabsf(d.y) + fabsf(d.z); + if(distance_metric == NODE_VORONOI_CHEBYCHEV) + return fmaxf(fabsf(d.x), fmaxf(fabsf(d.y), fabsf(d.z))); + if(distance_metric == NODE_VORONOI_MINKOVSKY_H) + return sqrtf(fabsf(d.x)) + sqrtf(fabsf(d.y)) + sqrtf(fabsf(d.y)); + if(distance_metric == NODE_VORONOI_MINKOVSKY_4) + return sqrtf(sqrtf(dot(d*d, d*d))); + if(distance_metric == NODE_VORONOI_MINKOVSKY) + return powf(powf(fabsf(d.x), e) + powf(fabsf(d.y), e) + powf(fabsf(d.z), e), 1.0f/e); + + return 0.0f; +} + +/* Voronoi / Worley like */ + +__device void voronoi(float3 p, NodeDistanceMetric distance_metric, float e, float da[4], float3 pa[4]) +{ + /* returns distances in da and point coords in pa */ + int xx, yy, zz, xi, yi, zi; + + xi = (int)floorf(p.x); + yi = (int)floorf(p.y); + zi = (int)floorf(p.z); + + da[0] = 1e10f; + da[1] = 1e10f; + da[2] = 1e10f; + da[3] = 1e10f; + + pa[0] = make_float3(0.0f, 0.0f, 0.0f); + pa[1] = make_float3(0.0f, 0.0f, 0.0f); + pa[2] = make_float3(0.0f, 0.0f, 0.0f); + pa[3] = make_float3(0.0f, 0.0f, 0.0f); + + for(xx = xi-1; xx <= xi+1; xx++) { + for(yy = yi-1; yy <= yi+1; yy++) { + for(zz = zi-1; zz <= zi+1; zz++) { + float3 ip = make_float3(xx, yy, zz); + float3 vp = cellnoise_color(ip); + float3 pd = p - (vp + ip); + float d = voronoi_distance(distance_metric, pd, e); + + vp += make_float3(xx, yy, zz); + + if(d < da[0]) { + da[3] = da[2]; + da[2] = da[1]; + da[1] = da[0]; + da[0] = d; + + pa[3] = pa[2]; + pa[2] = pa[1]; + pa[1] = pa[0]; + pa[0] = vp; + } + else if(d < da[1]) { + da[3] = da[2]; + da[2] = da[1]; + da[1] = d; + + pa[3] = pa[2]; + pa[2] = pa[1]; + pa[1] = vp; + } + else if(d < da[2]) { + da[3] = da[2]; + da[2] = d; + + pa[3] = pa[2]; + pa[2] = vp; + } + else if(d < da[3]) { + da[3] = d; + pa[3] = vp; + } + } + } + } +} + +__device float voronoi_Fn(float3 p, int n) +{ + float da[4]; + float3 pa[4]; + + voronoi(p, NODE_VORONOI_DISTANCE_SQUARED, 0, da, pa); + + return da[n]; +} + +__device float voronoi_FnFn(float3 p, int n1, int n2) +{ + float da[4]; + float3 pa[4]; + + voronoi(p, NODE_VORONOI_DISTANCE_SQUARED, 0, da, pa); + + return da[n2] - da[n1]; +} + +__device float voronoi_F1(float3 p) { return voronoi_Fn(p, 0); } +__device float voronoi_F2(float3 p) { return voronoi_Fn(p, 1); } +__device float voronoi_F3(float3 p) { return voronoi_Fn(p, 2); } +__device float voronoi_F4(float3 p) { return voronoi_Fn(p, 3); } +__device float voronoi_F1F2(float3 p) { return voronoi_FnFn(p, 0, 1); } + +__device float voronoi_Cr(float3 p) +{ + /* crackle type pattern, just a scale/clamp of F2-F1 */ + float t = 10.0f*voronoi_F1F2(p); + return (t > 1.0f)? 1.0f: t; +} + +__device float voronoi_F1S(float3 p) { return 2.0f*voronoi_F1(p) - 1.0f; } +__device float voronoi_F2S(float3 p) { return 2.0f*voronoi_F2(p) - 1.0f; } +__device float voronoi_F3S(float3 p) { return 2.0f*voronoi_F3(p) - 1.0f; } +__device float voronoi_F4S(float3 p) { return 2.0f*voronoi_F4(p) - 1.0f; } +__device float voronoi_F1F2S(float3 p) { return 2.0f*voronoi_F1F2(p) - 1.0f; } +__device float voronoi_CrS(float3 p) { return 2.0f*voronoi_Cr(p) - 1.0f; } + +/* Noise Bases */ + +__device float noise_basis(float3 p, NodeNoiseBasis basis) +{ + /* Only Perlin enabled for now, others break CUDA compile by making kernel + too big, with compile using > 4GB, due to everything being inlined. */ + +#if 0 + if(basis == NODE_NOISE_PERLIN) +#endif + return noise(p); +#if 0 + if(basis == NODE_NOISE_VORONOI_F1) + return voronoi_F1S(p); + if(basis == NODE_NOISE_VORONOI_F2) + return voronoi_F2S(p); + if(basis == NODE_NOISE_VORONOI_F3) + return voronoi_F3S(p); + if(basis == NODE_NOISE_VORONOI_F4) + return voronoi_F4S(p); + if(basis == NODE_NOISE_VORONOI_F2_F1) + return voronoi_F1F2S(p); + if(basis == NODE_NOISE_VORONOI_CRACKLE) + return voronoi_CrS(p); + if(basis == NODE_NOISE_CELL_NOISE) + return cellnoise(p); + + return 0.0f; +#endif +} + +/* Soft/Hard Noise */ + +__device float noise_basis_hard(float3 p, NodeNoiseBasis basis, int hard) +{ + float t = noise_basis(p, basis); + return (hard)? fabsf(2.0f*t - 1.0f): t; +} + +/* Waves */ + +__device float noise_wave(NodeWaveType wave, float a) +{ + if(wave == NODE_WAVE_SINE) { + return 0.5f + 0.5f*sin(a); + } + else if(wave == NODE_WAVE_SAW) { + float b = 2*M_PI; + int n = (int)(a / b); + a -= n*b; + if(a < 0) a += b; + + return a / b; + } + else if(wave == NODE_WAVE_TRI) { + float b = 2*M_PI; + float rmax = 1.0f; + + return rmax - 2.0f*fabsf(floorf((a*(1.0f/b))+0.5f) - (a*(1.0f/b))); + } + + return 0.0f; +} + +/* Turbulence */ + +__device float noise_turbulence(float3 p, NodeNoiseBasis basis, int octaves, int hard) +{ + float fscale = 1.0f; + float amp = 1.0f; + float sum = 0.0f; + int i; + + for(i = 0; i <= octaves; i++) { + float t = noise_basis(fscale*p, basis); + + if(hard) + t = fabsf(2.0f*t - 1.0f); + + sum += t*amp; + amp *= 0.5f; + fscale *= 2.0f; + } + + sum *= ((float)(1 << octaves)/(float)((1 << (octaves+1)) - 1)); + + return sum; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_types.h b/intern/cycles/kernel/svm/svm_types.h new file mode 100644 index 00000000000..aa58aba79c9 --- /dev/null +++ b/intern/cycles/kernel/svm/svm_types.h @@ -0,0 +1,286 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __SVM_TYPES_H__ +#define __SVM_TYPES_H__ + +CCL_NAMESPACE_BEGIN + +/* Stack */ + +/* SVM stack has a fixed size */ +#define SVM_STACK_SIZE 64 +/* SVM stack offsets with this value indicate that it's not on the stack */ +#define SVM_STACK_INVALID 255 + +/* Nodes */ + +/* note that we do not simply use 0, 1, 2, .. as values for these. this works + * around an obscure CUDA bug that happens when compiling for fermi. why it + * happens i have no idea, but consecutive values are problematic, maybe it + * generates an incorrect jump table. */ + +enum NodeType { + NODE_END = 0, + NODE_CLOSURE_BSDF = 100, + NODE_CLOSURE_EMISSION = 200, + NODE_CLOSURE_BACKGROUND = 300, + NODE_CLOSURE_SET_WEIGHT = 400, + NODE_CLOSURE_WEIGHT = 500, + NODE_MIX_CLOSURE = 600, + NODE_JUMP = 700, + NODE_TEX_NOISE_F = 800, + NODE_TEX_NOISE_V = 900, + NODE_TEX_IMAGE = 1000, + NODE_TEX_SKY = 1100, + NODE_GEOMETRY = 1200, + NODE_LIGHT_PATH = 1300, + NODE_VALUE_F = 1400, + NODE_VALUE_V = 1500, + NODE_MIX = 1600, + NODE_ATTR = 1700, + NODE_CONVERT = 1900, + NODE_FRESNEL = 2000, + NODE_EMISSION_WEIGHT = 2100, + NODE_TEX_BLEND = 2200, + NODE_TEX_VORONOI = 2300, + NODE_TEX_MUSGRAVE = 2400, + NODE_TEX_MARBLE = 2500, + NODE_TEX_MAGIC = 2600, + NODE_TEX_STUCCI = 2700, + NODE_TEX_DISTORTED_NOISE = 2800, + NODE_TEX_WOOD = 2900, + NODE_TEX_CLOUDS = 3000, + NODE_SHADER_JUMP = 3100, + NODE_SET_DISPLACEMENT = 3200, + NODE_GEOMETRY_BUMP_DX = 3300, + NODE_GEOMETRY_BUMP_DY = 3400, + NODE_SET_BUMP = 3500, + NODE_MATH = 3600, + NODE_VECTOR_MATH = 3700, + NODE_MAPPING = 3800, + NODE_TEX_COORD = 3900, + NODE_TEX_COORD_BUMP_DX = 4000, + NODE_TEX_COORD_BUMP_DY = 4100, + NODE_ADD_CLOSURE = 4200, + NODE_EMISSION_SET_WEIGHT_TOTAL = 4300, + NODE_ATTR_BUMP_DX = 4400, + NODE_ATTR_BUMP_DY = 4500, + NODE_TEX_ENVIRONMENT = 4600 +}; + +enum NodeAttributeType { + NODE_ATTR_FLOAT = 0, + NODE_ATTR_FLOAT3 +}; + +enum NodeGeometry { + NODE_GEOM_P = 0, + NODE_GEOM_N, + NODE_GEOM_T, + NODE_GEOM_I, + NODE_GEOM_Ng, + NODE_GEOM_uv +}; + +enum NodeLightPath { + NODE_LP_camera = 0, + NODE_LP_shadow, + NODE_LP_diffuse, + NODE_LP_glossy, + NODE_LP_reflection, + NODE_LP_transmission, + NODE_LP_backfacing +}; + +enum NodeTexCoord { + NODE_TEXCO_OBJECT, + NODE_TEXCO_CAMERA, + NODE_TEXCO_WINDOW, + NODE_TEXCO_REFLECTION +}; + +enum NodeMix { + NODE_MIX_BLEND = 0, + NODE_MIX_ADD, + NODE_MIX_MUL, + NODE_MIX_SCREEN, + NODE_MIX_OVERLAY, + NODE_MIX_SUB, + NODE_MIX_DIV, + NODE_MIX_DIFF, + NODE_MIX_DARK, + NODE_MIX_LIGHT, + NODE_MIX_DODGE, + NODE_MIX_BURN, + NODE_MIX_HUE, + NODE_MIX_SAT, + NODE_MIX_VAL, + NODE_MIX_COLOR, + NODE_MIX_SOFT, + NODE_MIX_LINEAR +}; + +enum NodeMath { + NODE_MATH_ADD, + NODE_MATH_SUBTRACT, + NODE_MATH_MULTIPLY, + NODE_MATH_DIVIDE, + NODE_MATH_SINE, + NODE_MATH_COSINE, + NODE_MATH_TANGENT, + NODE_MATH_ARCSINE, + NODE_MATH_ARCCOSINE, + NODE_MATH_ARCTANGENT, + NODE_MATH_POWER, + NODE_MATH_LOGARITHM, + NODE_MATH_MINIMUM, + NODE_MATH_MAXIMUM, + NODE_MATH_ROUND, + NODE_MATH_LESS_THAN, + NODE_MATH_GREATER_THAN +}; + +enum NodeVectorMath { + NODE_VECTOR_MATH_ADD, + NODE_VECTOR_MATH_SUBTRACT, + NODE_VECTOR_MATH_AVERAGE, + NODE_VECTOR_MATH_DOT_PRODUCT, + NODE_VECTOR_MATH_CROSS_PRODUCT, + NODE_VECTOR_MATH_NORMALIZE +}; + +enum NodeConvert { + NODE_CONVERT_FV, + NODE_CONVERT_CF, + NODE_CONVERT_VF +}; + +enum NodeDistanceMetric { + NODE_VORONOI_DISTANCE_SQUARED, + NODE_VORONOI_ACTUAL_DISTANCE, + NODE_VORONOI_MANHATTAN, + NODE_VORONOI_CHEBYCHEV, + NODE_VORONOI_MINKOVSKY_H, + NODE_VORONOI_MINKOVSKY_4, + NODE_VORONOI_MINKOVSKY +}; + +enum NodeNoiseBasis { + NODE_NOISE_PERLIN, + NODE_NOISE_VORONOI_F1, + NODE_NOISE_VORONOI_F2, + NODE_NOISE_VORONOI_F3, + NODE_NOISE_VORONOI_F4, + NODE_NOISE_VORONOI_F2_F1, + NODE_NOISE_VORONOI_CRACKLE, + NODE_NOISE_CELL_NOISE +}; + +enum NodeWaveType { + NODE_WAVE_SINE, + NODE_WAVE_SAW, + NODE_WAVE_TRI +}; + +enum NodeMusgraveType { + NODE_MUSGRAVE_MULTIFRACTAL, + NODE_MUSGRAVE_FBM, + NODE_MUSGRAVE_HYBRID_MULTIFRACTAL, + NODE_MUSGRAVE_RIDGED_MULTIFRACTAL, + NODE_MUSGRAVE_HETERO_TERRAIN +}; + +enum NodeWoodType { + NODE_WOOD_BANDS, + NODE_WOOD_RINGS, + NODE_WOOD_BAND_NOISE, + NODE_WOOD_RING_NOISE +}; + +enum NodeBlendType { + NODE_BLEND_LINEAR, + NODE_BLEND_QUADRATIC, + NODE_BLEND_EASING, + NODE_BLEND_DIAGONAL, + NODE_BLEND_RADIAL, + NODE_BLEND_QUADRATIC_SPHERE, + NODE_BLEND_SPHERICAL +}; + +enum NodeBlendAxis { + NODE_BLEND_HORIZONTAL, + NODE_BLEND_VERTICAL +}; + +enum NodeMarbleType { + NODE_MARBLE_SOFT, + NODE_MARBLE_SHARP, + NODE_MARBLE_SHARPER +}; + +enum NodeStucciType { + NODE_STUCCI_PLASTIC, + NODE_STUCCI_WALL_IN, + NODE_STUCCI_WALL_OUT +}; + +enum NodeVoronoiColoring { + NODE_VORONOI_INTENSITY, + NODE_VORONOI_POSITION, + NODE_VORONOI_POSITION_OUTLINE, + NODE_VORONOI_POSITION_OUTLINE_INTENSITY +}; + +enum ShaderType { + SHADER_TYPE_SURFACE, + SHADER_TYPE_VOLUME, + SHADER_TYPE_DISPLACEMENT +}; + +/* Closure */ + +typedef enum ClosureType { + CLOSURE_BSDF_DIFFUSE_ID, + CLOSURE_BSDF_TRANSLUCENT_ID, + CLOSURE_BSDF_REFLECTION_ID, + CLOSURE_BSDF_REFRACTION_ID, + CLOSURE_BSDF_GLASS_ID, + CLOSURE_BSDF_TRANSPARENT_ID, + CLOSURE_BSDF_MICROFACET_GGX_ID, + CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID, + CLOSURE_BSDF_MICROFACET_BECKMANN_ID, + CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID, + CLOSURE_BSDF_WARD_ID, + CLOSURE_BSDF_ASHIKHMIN_VELVET_ID, + CLOSURE_BSDF_WESTIN_BACKSCATTER_ID, + CLOSURE_BSDF_WESTIN_SHEEN_ID, + CLOSURE_BSSRDF_CUBIC_ID, + CLOSURE_EMISSION_ID, + CLOSURE_DEBUG_ID, + CLOSURE_BACKGROUND_ID, + CLOSURE_HOLDOUT_ID, + CLOSURE_SUBSURFACE_ID, + + NBUILTIN_CLOSURES +} ClosureType; + +CCL_NAMESPACE_END + +#endif /* __SVM_TYPES_H__ */ + diff --git a/intern/cycles/kernel/svm/svm_value.h b/intern/cycles/kernel/svm/svm_value.h new file mode 100644 index 00000000000..80cb285f80c --- /dev/null +++ b/intern/cycles/kernel/svm/svm_value.h @@ -0,0 +1,38 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Value Nodes */ + +__device void svm_node_value_f(KernelGlobals *kg, ShaderData *sd, float *stack, uint ivalue, uint out_offset) +{ + stack_store_float(stack, out_offset, __int_as_float(ivalue)); +} + +__device void svm_node_value_v(KernelGlobals *kg, ShaderData *sd, float *stack, uint out_offset, int *offset) +{ + /* read extra data */ + uint4 node1 = read_node(kg, offset); + float3 p = make_float3(__int_as_float(node1.y), __int_as_float(node1.z), __int_as_float(node1.w)); + + stack_store_float3(stack, out_offset, p); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_voronoi.h b/intern/cycles/kernel/svm/svm_voronoi.h new file mode 100644 index 00000000000..df37b8faca8 --- /dev/null +++ b/intern/cycles/kernel/svm/svm_voronoi.h @@ -0,0 +1,105 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Voronoi */ + +__device float svm_voronoi(NodeDistanceMetric distance_metric, NodeVoronoiColoring coloring, + float weight1, float weight2, float weight3, float weight4, + float exponent, float intensity, float size, float3 p, float3 *color) +{ + float aw1 = fabsf(weight1); + float aw2 = fabsf(weight2); + float aw3 = fabsf(weight3); + float aw4 = fabsf(weight4); + float sc = (aw1 + aw2 + aw3 + aw4); + + if(sc != 0.0f) + sc = intensity/sc; + + /* compute distance and point coordinate of 4 nearest neighbours */ + float da[4]; + float3 pa[4]; + + voronoi(p/size, distance_metric, exponent, da, pa); + + /* Scalar output */ + float fac = sc * fabsf(weight1*da[0] + weight2*da[1] + weight3*da[2] + weight4*da[3]); + + /* colored output */ + if(coloring == NODE_VORONOI_INTENSITY) { + *color = make_float3(fac, fac, fac); + } + else { + *color = aw1*cellnoise_color(pa[0]); + *color += aw2*cellnoise_color(pa[1]); + *color += aw3*cellnoise_color(pa[2]); + *color += aw4*cellnoise_color(pa[3]); + + if(coloring != NODE_VORONOI_POSITION) { + float t1 = min((da[1] - da[0])*10.0f, 1.0f); + + if(coloring == NODE_VORONOI_POSITION_OUTLINE_INTENSITY) + *color *= t1*fac; + else if(coloring == NODE_VORONOI_POSITION_OUTLINE) + *color *= t1*sc; + } + else { + *color *= sc; + } + } + + return fac; +} + +__device void svm_node_tex_voronoi(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, int *offset) +{ + uint4 node2 = read_node(kg, offset); + uint4 node3 = read_node(kg, offset); + + uint distance_metric, coloring, exponent_offset; + uint size_offset, co_offset, fac_offset, color_offset; + uint weight1_offset, weight2_offset, weight3_offset, weight4_offset; + + decode_node_uchar4(node.y, &distance_metric, &coloring, &exponent_offset, NULL); + decode_node_uchar4(node.z, &size_offset, &co_offset, &fac_offset, &color_offset); + decode_node_uchar4(node.w, &weight1_offset, &weight2_offset, &weight3_offset, &weight4_offset); + + float3 co = stack_load_float3(stack, co_offset); + float weight1 = stack_load_float_default(stack, weight1_offset, node2.x); + float weight2 = stack_load_float_default(stack, weight2_offset, node2.y); + float weight3 = stack_load_float_default(stack, weight3_offset, node2.z); + float weight4 = stack_load_float_default(stack, weight4_offset, node2.w); + float exponent = stack_load_float_default(stack, exponent_offset, node3.x); + float size = stack_load_float_default(stack, size_offset, node3.y); + + exponent = fmaxf(exponent, 1e-5f); + size = nonzerof(size, 1e-5f); + + float3 color; + float f = svm_voronoi((NodeDistanceMetric)distance_metric, + (NodeVoronoiColoring)coloring, + weight1, weight2, weight3, weight4, exponent, 1.0f, size, co, &color); + + if(stack_valid(fac_offset)) stack_store_float(stack, fac_offset, f); + if(stack_valid(color_offset)) stack_store_float3(stack, color_offset, color); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_wood.h b/intern/cycles/kernel/svm/svm_wood.h new file mode 100644 index 00000000000..5c94a9fa3a2 --- /dev/null +++ b/intern/cycles/kernel/svm/svm_wood.h @@ -0,0 +1,69 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Wood */ + +__device float svm_wood(float3 p, float size, NodeWoodType type, NodeWaveType wave, NodeNoiseBasis basis, uint hard, float turb) +{ + float x = p.x; + float y = p.y; + float z = p.z; + + if(type == NODE_WOOD_BANDS) { + return noise_wave(wave, (x + y + z)*10.0f); + } + else if(type == NODE_WOOD_RINGS) { + return noise_wave(wave, sqrt(x*x + y*y + z*z)*20.0f); + } + else if (type == NODE_WOOD_BAND_NOISE) { + float wi = turb*noise_basis_hard(p/size, basis, hard); + return noise_wave(wave, (x + y + z)*10.0f + wi); + } + else if (type == NODE_WOOD_RING_NOISE) { + float wi = turb*noise_basis_hard(p/size, basis, hard); + return noise_wave(wave, sqrt(x*x + y*y + z*z)*20.0f + wi); + } + + return 0.0f; +} + +__device void svm_node_tex_wood(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, int *offset) +{ + uint4 node2 = read_node(kg, offset); + + uint type, wave, basis, hard; + uint co_offset, size_offset, turbulence_offset, fac_offset; + + decode_node_uchar4(node.y, &type, &wave, &basis, &hard); + decode_node_uchar4(node.z, &co_offset, &size_offset, &turbulence_offset, &fac_offset); + + float3 co = stack_load_float3(stack, co_offset); + float size = stack_load_float_default(stack, size_offset, node2.y); + float turbulence = stack_load_float_default(stack, turbulence_offset, node2.z); + size = nonzerof(size, 1e-5f); + + float f = svm_wood(co, size, (NodeWoodType)type, (NodeWaveType)wave, + (NodeNoiseBasis)basis, hard, turbulence); + + stack_store_float(stack, fac_offset, f); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/volume.h b/intern/cycles/kernel/svm/volume.h new file mode 100644 index 00000000000..32e0601ee00 --- /dev/null +++ b/intern/cycles/kernel/svm/volume.h @@ -0,0 +1,43 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +CCL_NAMESPACE_BEGIN + +/* VOLUME CLOSURE */ + +__device float3 volume_eval_phase(ShaderData *sd, const float3 omega_in, const float3 omega_out) +{ + return make_float3(1.0f, 1.0f, 1.0f); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/CMakeLists.txt b/intern/cycles/render/CMakeLists.txt new file mode 100644 index 00000000000..f31e9bfbcb2 --- /dev/null +++ b/intern/cycles/render/CMakeLists.txt @@ -0,0 +1,54 @@ + +INCLUDE_DIRECTORIES(. ../device ../kernel ../kernel/svm ../kernel/osl ../bvh ../util) + +SET(sources + attribute.cpp + background.cpp + buffers.cpp + camera.cpp + film.cpp + film_response.cpp + filter.cpp + graph.cpp + image.cpp + integrator.cpp + light.cpp + mesh.cpp + mesh_displace.cpp + nodes.cpp + object.cpp + osl.cpp + scene.cpp + session.cpp + shader.cpp + sobol.cpp + svm.cpp + tile.cpp) + +SET(headers + attribute.h + background.h + buffers.h + camera.h + film.h + film_response.h + filter.h + graph.h + image.h + integrator.h + light.h + mesh.h + nodes.h + object.h + osl.h + scene.h + session.h + shader.h + sobol.h + svm.h + tile.h) + +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${RTTI_DISABLE_FLAGS}") + +ADD_LIBRARY(render ${sources} ${headers}) + diff --git a/intern/cycles/render/attribute.cpp b/intern/cycles/render/attribute.cpp new file mode 100644 index 00000000000..815478cb733 --- /dev/null +++ b/intern/cycles/render/attribute.cpp @@ -0,0 +1,343 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "mesh.h" +#include "attribute.h" + +#include "util_debug.h" +#include "util_foreach.h" + +CCL_NAMESPACE_BEGIN + +/* Attribute */ + +void Attribute::set(ustring name_, TypeDesc type_, Element element_) +{ + name = name_; + type = type_; + element = element_; + std = STD_NONE; + + /* string and matrix not supported! */ + assert(type == TypeDesc::TypeFloat || type == TypeDesc::TypeColor || + type == TypeDesc::TypePoint || type == TypeDesc::TypeVector || + type == TypeDesc::TypeNormal); +} + +void Attribute::reserve(int numverts, int numtris) +{ + buffer.resize(buffer_size(numverts, numtris), 0); +} + +size_t Attribute::data_sizeof() +{ + return type.size(); +} + +size_t Attribute::element_size(int numverts, int numtris) +{ + if(element == VERTEX) + return numverts; + else if(element == FACE) + return numtris; + else + return numtris*3; +} + +size_t Attribute::buffer_size(int numverts, int numtris) +{ + return element_size(numverts, numtris)*data_sizeof(); +} + +bool Attribute::same_storage(TypeDesc a, TypeDesc b) +{ + if(a == b) + return true; + + if(a == TypeDesc::TypeColor || a == TypeDesc::TypePoint || + a == TypeDesc::TypeVector || a == TypeDesc::TypeNormal) + if(b == TypeDesc::TypeColor || b == TypeDesc::TypePoint || + b == TypeDesc::TypeVector || b == TypeDesc::TypeNormal) + return true; + + return false; +} + +ustring Attribute::standard_name(Attribute::Standard std) +{ + if(std == Attribute::STD_VERTEX_NORMAL) + return ustring("N"); + else if(std == Attribute::STD_FACE_NORMAL) + return ustring("Ng"); + else if(std == Attribute::STD_UV) + return ustring("uv"); + else if(std == Attribute::STD_GENERATED) + return ustring("generated"); + else if(std == Attribute::STD_POSITION_UNDEFORMED) + return ustring("undeformed"); + else if(std == Attribute::STD_POSITION_UNDISPLACED) + return ustring("undisplaced"); + + return ustring(); +} + +/* Attribute Set */ + +AttributeSet::AttributeSet(Mesh *mesh_) +{ + mesh = mesh_; +} + +AttributeSet::~AttributeSet() +{ +} + +Attribute *AttributeSet::add(ustring name, TypeDesc type, Attribute::Element element) +{ + Attribute *attr = find(name); + + if(attr) { + /* return if same already exists */ + if(attr->type == type && attr->element == element) + return attr; + + /* overwrite attribute with same name but different type/element */ + remove(name); + } + + attributes.push_back(Attribute()); + attr = &attributes.back(); + + if(element == Attribute::VERTEX) + attr->set(name, type, element); + else if(element == Attribute::FACE) + attr->set(name, type, element); + else if(element == Attribute::CORNER) + attr->set(name, type, element); + + attr->reserve(mesh->verts.size(), mesh->triangles.size()); + + return attr; +} + +Attribute *AttributeSet::find(ustring name) +{ + foreach(Attribute& attr, attributes) + if(attr.name == name) + return &attr; + + return NULL; +} + +void AttributeSet::remove(ustring name) +{ + Attribute *attr = find(name); + + if(attr) { + list::iterator it; + + for(it = attributes.begin(); it != attributes.end(); it++) { + if(&*it == attr) { + attributes.erase(it); + return; + } + } + } +} + +Attribute *AttributeSet::add(Attribute::Standard std, ustring name) +{ + Attribute *attr = NULL; + + if(name == ustring()) + name = Attribute::standard_name(std); + + if(std == Attribute::STD_VERTEX_NORMAL) + attr = add(name, TypeDesc::TypeNormal, Attribute::VERTEX); + else if(std == Attribute::STD_FACE_NORMAL) + attr = add(name, TypeDesc::TypeNormal, Attribute::FACE); + else if(std == Attribute::STD_UV) + attr = add(name, TypeDesc::TypePoint, Attribute::CORNER); + else if(std == Attribute::STD_GENERATED) + attr = add(name, TypeDesc::TypePoint, Attribute::VERTEX); + else if(std == Attribute::STD_POSITION_UNDEFORMED) + attr = add(name, TypeDesc::TypePoint, Attribute::VERTEX); + else if(std == Attribute::STD_POSITION_UNDISPLACED) + attr = add(name, TypeDesc::TypePoint, Attribute::VERTEX); + else + assert(0); + + attr->std = std; + + return attr; +} + +Attribute *AttributeSet::find(Attribute::Standard std) +{ + foreach(Attribute& attr, attributes) + if(attr.std == std) + return &attr; + + return NULL; +} + +void AttributeSet::remove(Attribute::Standard std) +{ + Attribute *attr = find(std); + + if(attr) { + list::iterator it; + + for(it = attributes.begin(); it != attributes.end(); it++) { + if(&*it == attr) { + attributes.erase(it); + return; + } + } + } +} + +Attribute *AttributeSet::find(AttributeRequest& req) +{ + if(req.std == Attribute::STD_NONE) + return find(req.name); + else + return find(req.std); +} + +void AttributeSet::reserve(int numverts, int numtris) +{ + foreach(Attribute& attr, attributes) + attr.reserve(numverts, numtris); +} + +void AttributeSet::clear() +{ + attributes.clear(); +} + +/* AttributeRequest */ + +AttributeRequest::AttributeRequest(ustring name_) +{ + name = name_; + std = Attribute::STD_NONE; + + type = TypeDesc::TypeFloat; + element = ATTR_ELEMENT_NONE; + offset = 0; +} + +AttributeRequest::AttributeRequest(Attribute::Standard std_) +{ + name = ustring(); + std = std_; + + type = TypeDesc::TypeFloat; + element = ATTR_ELEMENT_NONE; + offset = 0; +} + +/* AttributeRequestSet */ + +AttributeRequestSet::AttributeRequestSet() +{ +} + +AttributeRequestSet::~AttributeRequestSet() +{ +} + +bool AttributeRequestSet::modified(const AttributeRequestSet& other) +{ + if(requests.size() != other.requests.size()) + return true; + + for(size_t i = 0; i < requests.size(); i++) { + bool found = false; + + for(size_t j = 0; j < requests.size() && !found; j++) + if(requests[i].name == other.requests[j].name && + requests[i].std == other.requests[j].std) + found = true; + + if(!found) + return true; + } + + return false; +} + +void AttributeRequestSet::add(ustring name) +{ + foreach(AttributeRequest& req, requests) + if(req.name == name) + return; + + requests.push_back(AttributeRequest(name)); +} + +void AttributeRequestSet::add(Attribute::Standard std) +{ + foreach(AttributeRequest& req, requests) + if(req.std == std) + return; + + requests.push_back(AttributeRequest(std)); +} + +void AttributeRequestSet::add(AttributeRequestSet& reqs) +{ + foreach(AttributeRequest& req, reqs.requests) { + if(req.std == Attribute::STD_NONE) + add(req.name); + else + add(req.std); + } +} + +bool AttributeRequestSet::find(ustring name) +{ + foreach(AttributeRequest& req, requests) + if(req.name == name) + return true; + + return false; +} + +bool AttributeRequestSet::find(Attribute::Standard std) +{ + foreach(AttributeRequest& req, requests) + if(req.std == std) + return true; + + return false; +} + +size_t AttributeRequestSet::size() +{ + return requests.size(); +} + +void AttributeRequestSet::clear() +{ + requests.clear(); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/attribute.h b/intern/cycles/render/attribute.h new file mode 100644 index 00000000000..a1c3d2b6ae7 --- /dev/null +++ b/intern/cycles/render/attribute.h @@ -0,0 +1,161 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __ATTRIBUTE_H__ +#define __ATTRIBUTE_H__ + +#include "kernel_types.h" + +#include "util_list.h" +#include "util_param.h" +#include "util_types.h" +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +class Attribute; +class AttributeSet; +class AttributeRequest; +class AttributeRequestSet; +class Mesh; + +/* Attribute + * + * Arbitrary data layers on meshes. + * Supported types: Float, Color, Vector, Normal, Point */ + +class Attribute { +public: + enum Element { + VERTEX, + FACE, + CORNER + }; + + enum Standard { + STD_NONE = 0, + STD_VERTEX_NORMAL, + STD_FACE_NORMAL, + STD_UV, + STD_GENERATED, + STD_POSITION_UNDEFORMED, + STD_POSITION_UNDISPLACED, + STD_NUM + }; + + ustring name; + Standard std; + + TypeDesc type; + vector buffer; + Element element; + + Attribute() {} + void set(ustring name, TypeDesc type, Element element); + void reserve(int numverts, int numfaces); + + size_t data_sizeof(); + size_t element_size(int numverts, int numfaces); + size_t buffer_size(int numverts, int numfaces); + + char *data() { return &buffer[0]; }; + float3 *data_float3() { return (float3*)&buffer[0]; } + float *data_float() { return (float*)&buffer[0]; } + + const char *data() const { return &buffer[0]; } + const float3 *data_float3() const { return (float3*)&buffer[0]; } + const float *data_float() const { return (float*)&buffer[0]; } + + static bool same_storage(TypeDesc a, TypeDesc b); + static ustring standard_name(Attribute::Standard std); +}; + +/* Attribute Set + * + * Set of attributes on a mesh. */ + +class AttributeSet { +public: + Mesh *mesh; + list attributes; + + AttributeSet(Mesh *mesh); + ~AttributeSet(); + + Attribute *add(ustring name, TypeDesc type, Attribute::Element element); + Attribute *find(ustring name); + void remove(ustring name); + + Attribute *add(Attribute::Standard std, ustring name = ustring()); + Attribute *find(Attribute::Standard std); + void remove(Attribute::Standard std); + + Attribute *find(AttributeRequest& req); + + void reserve(int numverts, int numfaces); + void clear(); +}; + +/* AttributeRequest + * + * Request from a shader to use a certain attribute, so we can figure out + * which ones we need to export from the host app end store for the kernel. + * The attribute is found either by name or by standard. */ + +class AttributeRequest { +public: + ustring name; + Attribute::Standard std; + + /* temporary variables used by MeshManager */ + TypeDesc type; + AttributeElement element; + int offset; + + AttributeRequest(ustring name_); + AttributeRequest(Attribute::Standard std); +}; + +/* AttributeRequestSet + * + * Set of attributes requested by a shader. */ + +class AttributeRequestSet { +public: + vector requests; + + AttributeRequestSet(); + ~AttributeRequestSet(); + + void add(ustring name); + void add(Attribute::Standard std); + void add(AttributeRequestSet& reqs); + + bool find(ustring name); + bool find(Attribute::Standard std); + + size_t size(); + void clear(); + + bool modified(const AttributeRequestSet& other); +}; + +CCL_NAMESPACE_END + +#endif /* __ATTRIBUTE_H__ */ + diff --git a/intern/cycles/render/background.cpp b/intern/cycles/render/background.cpp new file mode 100644 index 00000000000..871fe128514 --- /dev/null +++ b/intern/cycles/render/background.cpp @@ -0,0 +1,70 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "background.h" +#include "device.h" +#include "graph.h" +#include "nodes.h" +#include "scene.h" +#include "shader.h" + +#include "util_foreach.h" +#include "util_math.h" +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +Background::Background() +{ + need_update = true; +} + +Background::~Background() +{ +} + +void Background::device_update(Device *device, DeviceScene *dscene, Scene *scene) +{ + if(!need_update) + return; + + device_free(device, dscene); + + /* set shader index */ + KernelBackground *kbackground = &dscene->data.background; + kbackground->shader = scene->shader_manager->get_shader_id(scene->default_background); + + need_update = false; +} + +void Background::device_free(Device *device, DeviceScene *dscene) +{ +} + +bool Background::modified(const Background& background) +{ + return false; +} + +void Background::tag_update(Scene *scene) +{ + need_update = true; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/background.h b/intern/cycles/render/background.h new file mode 100644 index 00000000000..a048cbc535c --- /dev/null +++ b/intern/cycles/render/background.h @@ -0,0 +1,47 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __BACKGROUND_H__ +#define __BACKGROUND_H__ + +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +class Device; +class DeviceScene; +class Scene; + +class Background { +public: + bool need_update; + + Background(); + ~Background(); + + void device_update(Device *device, DeviceScene *dscene, Scene *scene); + void device_free(Device *device, DeviceScene *dscene); + + bool modified(const Background& background); + void tag_update(Scene *scene); +}; + +CCL_NAMESPACE_END + +#endif /* __BACKGROUND_H__ */ + diff --git a/intern/cycles/render/buffers.cpp b/intern/cycles/render/buffers.cpp new file mode 100644 index 00000000000..c1d9158c85e --- /dev/null +++ b/intern/cycles/render/buffers.cpp @@ -0,0 +1,177 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include + +#include "buffers.h" +#include "device.h" + +#include "util_debug.h" +#include "util_hash.h" +#include "util_image.h" +#include "util_opengl.h" +#include "util_time.h" +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +/* Render Buffers */ + +RenderBuffers::RenderBuffers(Device *device_) +{ + device = device_; + width = 0; + height = 0; +} + +RenderBuffers::~RenderBuffers() +{ + device_free(); +} + +void RenderBuffers::device_free() +{ + if(buffer.device_pointer) { + device->mem_free(buffer); + buffer.clear(); + } + + if(rng_state.device_pointer) { + device->mem_free(rng_state); + rng_state.clear(); + } +} + +void RenderBuffers::reset(Device *device, int width_, int height_) +{ + width = width_; + height = height_; + + /* free existing buffers */ + device_free(); + + /* allocate buffer */ + buffer.resize(width, height); + device->mem_alloc(buffer, MEM_READ_WRITE); + device->mem_zero(buffer); + + /* allocate rng state */ + rng_state.resize(width, height); + + uint *init_state = rng_state.resize(width, height); + int x, y; + + for(x=0; xmem_alloc(rng_state, MEM_READ_WRITE); + device->mem_copy_to(rng_state); +} + +/* Display Buffer */ + +DisplayBuffer::DisplayBuffer(Device *device_) +{ + device = device_; + width = 0; + height = 0; + draw_width = 0; + draw_height = 0; +} + +DisplayBuffer::~DisplayBuffer() +{ + device_free(); +} + +void DisplayBuffer::device_free() +{ + if(rgba.device_pointer) { + device->pixels_free(rgba); + rgba.clear(); + } +} + +void DisplayBuffer::reset(Device *device, int width_, int height_) +{ + draw_width = 0; + draw_height = 0; + + width = width_; + height = height_; + + /* free existing buffers */ + device_free(); + + /* allocate display pixels */ + rgba.resize(width, height); + device->pixels_alloc(rgba); +} + +void DisplayBuffer::draw_set(int width_, int height_) +{ + assert(width_ <= width && height_ <= height); + + draw_width = width_; + draw_height = height_; +} + +void DisplayBuffer::draw(Device *device) +{ + if(draw_width != 0 && draw_height != 0) + device->draw_pixels(rgba, 0, draw_width, draw_height, width, height); +} + +bool DisplayBuffer::draw_ready() +{ + return (draw_width != 0 && draw_height != 0); +} + +void DisplayBuffer::write(Device *device, const string& filename) +{ + int w = draw_width; + int h = draw_height; + + if(w == 0 || h == 0) + return; + + /* read buffer from device */ + device->pixels_copy_from(rgba, 0, w, h); + + /* write image */ + ImageOutput *out = ImageOutput::create(filename); + ImageSpec spec(w, h, 4, TypeDesc::UINT8); + int scanlinesize = w*4*sizeof(uchar); + + out->open(filename, spec); + + /* conversion for different top/bottom convention */ + out->write_image(TypeDesc::UINT8, + (uchar*)rgba.data_pointer + (h-1)*scanlinesize, + AutoStride, + -scanlinesize, + AutoStride); + + out->close(); + + delete out; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/buffers.h b/intern/cycles/render/buffers.h new file mode 100644 index 00000000000..f31ddd1e9bd --- /dev/null +++ b/intern/cycles/render/buffers.h @@ -0,0 +1,94 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __BUFFERS_H__ +#define __BUFFERS_H__ + +#include "device_memory.h" + +#include "util_string.h" +#include "util_thread.h" +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +class Device; +class float4; + +/* Render Buffers */ + +class RenderBuffers { +public: + /* buffer dimensions */ + int width, height; + /* float buffer */ + device_vector buffer; + /* random number generator state */ + device_vector rng_state; + /* mutex, must be locked manually by callers */ + thread_mutex mutex; + + RenderBuffers(Device *device); + ~RenderBuffers(); + + void reset(Device *device, int width, int height); + +protected: + void device_free(); + + Device *device; +}; + +/* Display Buffer + * + * The buffer used for drawing during render, filled by tonemapping the render + * buffers and converting to uchar4 storage. */ + +class DisplayBuffer { +public: + /* buffer dimensions */ + int width, height; + /* dimensions for how much of the buffer is actually ready for display. + with progressive render we can be using only a subset of the buffer. + if these are zero, it means nothing can be drawn yet */ + int draw_width, draw_height; + /* byte buffer for tonemapped result */ + device_vector rgba; + /* mutex, must be locked manually by callers */ + thread_mutex mutex; + + DisplayBuffer(Device *device); + ~DisplayBuffer(); + + void reset(Device *device, int width, int height); + void write(Device *device, const string& filename); + + void draw_set(int width, int height); + void draw(Device *device); + bool draw_ready(); + +protected: + void device_free(); + + Device *device; +}; + +CCL_NAMESPACE_END + +#endif /* __BUFFERS_H__ */ + diff --git a/intern/cycles/render/camera.cpp b/intern/cycles/render/camera.cpp new file mode 100644 index 00000000000..74469c738c7 --- /dev/null +++ b/intern/cycles/render/camera.cpp @@ -0,0 +1,193 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "camera.h" +#include "scene.h" + +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +Camera::Camera() +{ + shutteropen = 0.0f; + shutterclose = 1.0f; + + lensradius = 0.0f; + focaldistance = 10.0f; + + matrix = transform_identity(); + + ortho = false; + fov = M_PI_F/4.0f; + + nearclip = 1e-5f; + farclip = 1e5f; + + width = 1024; + height = 512; + + left = -((float)width/(float)height); + right = (float)width/(float)height; + bottom = -1.0f; + top = 1.0f; + + screentoworld = transform_identity(); + rastertoworld = transform_identity(); + ndctoworld = transform_identity(); + rastertocamera = transform_identity(); + cameratoworld = transform_identity(); + worldtoraster = transform_identity(); + + dx = make_float3(0.0f, 0.0f, 0.0f); + dy = make_float3(0.0f, 0.0f, 0.0f); + + need_update = true; + need_device_update = true; +} + +Camera::~Camera() +{ +} + +void Camera::update() +{ + if(!need_update) + return; + + Transform screentocamera; + Transform ndctoraster = transform_scale((float)width, (float)height, 1.0f); + + /* raster to screen */ + Transform screentoraster = ndctoraster * + transform_scale(1.0f/(right - left), 1.0f/(top - bottom), 1.0f) * + transform_translate(-left, -bottom, 0.0f); + + Transform rastertoscreen = transform_inverse(screentoraster); + + /* screen to camera */ + if(ortho) + screentocamera = transform_inverse(transform_orthographic(nearclip, farclip)); + else + screentocamera = transform_inverse(transform_perspective(fov, nearclip, farclip)); + + rastertocamera = screentocamera * rastertoscreen; + + cameratoworld = matrix; + screentoworld = cameratoworld * screentocamera; + rastertoworld = cameratoworld * rastertocamera; + ndctoworld = rastertoworld * ndctoraster; + worldtoraster = transform_inverse(rastertoworld); + + /* differentials */ + if(ortho) { + dx = transform_direction(&rastertocamera, make_float3(1, 0, 0)); + dy = transform_direction(&rastertocamera, make_float3(0, 1, 0)); + } + else { + dx = transform(&rastertocamera, make_float3(1, 0, 0)) - + transform(&rastertocamera, make_float3(0, 0, 0)); + dy = transform(&rastertocamera, make_float3(0, 1, 0)) - + transform(&rastertocamera, make_float3(0, 0, 0)); + } + + dx = transform_direction(&cameratoworld, dx); + dy = transform_direction(&cameratoworld, dy); + + need_update = false; + need_device_update = true; +} + +void Camera::device_update(Device *device, DeviceScene *dscene) +{ + update(); + + if(!need_device_update) + return; + + KernelCamera *kcam = &dscene->data.cam; + + /* store matrices */ + kcam->screentoworld = screentoworld; + kcam->rastertoworld = rastertoworld; + kcam->ndctoworld = ndctoworld; + kcam->rastertocamera = rastertocamera; + kcam->cameratoworld = cameratoworld; + kcam->worldtoscreen = transform_inverse(screentoworld); + kcam->worldtoraster = transform_inverse(rastertoworld); + kcam->worldtondc = transform_inverse(ndctoworld); + kcam->worldtocamera = transform_inverse(cameratoworld); + + /* depth of field */ + kcam->lensradius = lensradius; + kcam->focaldistance = focaldistance; + + /* motion blur */ + kcam->shutteropen = shutteropen; + kcam->shutterclose = shutterclose; + + /* type */ + kcam->ortho = ortho; + + /* size */ + kcam->width = width; + kcam->height = height; + + /* store differentials */ + kcam->dx = dx; + kcam->dy = dy; + + /* clipping */ + kcam->nearclip = nearclip; + kcam->cliplength = (farclip == FLT_MAX)? FLT_MAX: farclip - nearclip; + + need_device_update = false; +} + +void Camera::device_free(Device *device, DeviceScene *dscene) +{ + /* nothing to free, only writing to constant memory */ +} + +bool Camera::modified(const Camera& cam) +{ + return !((shutteropen == cam.shutteropen) && + (shutterclose == cam.shutterclose) && + (lensradius == cam.lensradius) && + (focaldistance == cam.focaldistance) && + (ortho == cam.ortho) && + (fov == cam.fov) && + (nearclip == cam.nearclip) && + (farclip == cam.farclip) && + // modified for progressive render + // (width == cam.width) && + // (height == cam.height) && + (left == cam.left) && + (right == cam.right) && + (bottom == cam.bottom) && + (top == cam.top) && + (matrix == cam.matrix)); +} + +void Camera::tag_update() +{ + need_update = true; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/camera.h b/intern/cycles/render/camera.h new file mode 100644 index 00000000000..6ae8c8fa4ae --- /dev/null +++ b/intern/cycles/render/camera.h @@ -0,0 +1,93 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __CAMERA_H__ +#define __CAMERA_H__ + +#include "film_response.h" + +#include "util_transform.h" +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +class Device; +class DeviceScene; + +/* Camera + * + * The camera parameters are quite standard, tested to be both compatible with + * Renderman, and Blender after remapping. */ + +class Camera { +public: + /* motion blur */ + float shutteropen; + float shutterclose; + + /* depth of field */ + float lensradius; + float focaldistance; + + /* orthographic/perspective */ + bool ortho; + float fov; + + /* clipping */ + float nearclip; + float farclip; + + /* screen */ + int width, height; + float left, right, bottom, top; + + /* transformation */ + Transform matrix; + + /* computed camera parameters */ + Transform screentoworld; + Transform rastertoworld; + Transform ndctoworld; + Transform rastertocamera; + Transform cameratoworld; + Transform worldtoraster; + + float3 dx; + float3 dy; + + /* update */ + bool need_update; + bool need_device_update; + + /* functions */ + Camera(); + ~Camera(); + + void update(); + + void device_update(Device *device, DeviceScene *dscene); + void device_free(Device *device, DeviceScene *dscene); + + bool modified(const Camera& cam); + void tag_update(); +}; + +CCL_NAMESPACE_END + +#endif /* __CAMERA_H__ */ + diff --git a/intern/cycles/render/film.cpp b/intern/cycles/render/film.cpp new file mode 100644 index 00000000000..05874244605 --- /dev/null +++ b/intern/cycles/render/film.cpp @@ -0,0 +1,135 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "camera.h" +#include "device.h" +#include "film.h" +#include "film_response.h" +#include "scene.h" + +CCL_NAMESPACE_BEGIN + +static FilmResponseType find_response_type(const string& name) +{ + if(name == "" || name == "None") + return FILM_RESPONSE_NONE; + + for(size_t i = 0; i < FILM_RESPONSE_NUM; i++) { + FilmResponse *curve = &FILM_RESPONSE[i]; + if(curve->name == name) + return (FilmResponseType)i; + } + + return FILM_RESPONSE_NONE; +} + +Film::Film() +{ + exposure = 0.8f; + response = "Advantix 400"; + last_response = ""; + need_update = true; +} + +Film::~Film() +{ +} + +#if 0 +static void generate_python_enum() +{ + for(size_t i = 0; i < FILM_RESPONSE_NUM; i++) { + FilmResponse *curve = &FILM_RESPONSE[i]; + /*if(i == 0 || strcmp(curve->brand, FILM_RESPONSE[i-1].brand)) + printf("(\"\", \"%s\", \"\"),\n", curve->brand);*/ + printf("(\"%s\", \"%s %s\", \"\"),\n", curve->name, curve->brand, curve->name); + } +} +#endif + +void Film::device_update(Device *device, DeviceScene *dscene) +{ + if(!need_update) + return; + + KernelFilm *kfilm = &dscene->data.film; + + /* update __data */ + kfilm->exposure = exposure; + + FilmResponseType response_type = find_response_type(response); + + /* update __response_curves */ + if(response != last_response) { + device_free(device, dscene); + + if(response_type != FILM_RESPONSE_NONE) { + FilmResponse *curve = &FILM_RESPONSE[response_type]; + size_t response_curve_size = FILM_RESPONSE_SIZE; + + dscene->response_curve_R.copy(curve->B_R, response_curve_size); + + if(curve->rgb) { + dscene->response_curve_G.copy(curve->B_G, response_curve_size); + dscene->response_curve_B.copy(curve->B_B, response_curve_size); + } + else { + dscene->response_curve_G.copy(curve->B_R, response_curve_size); + dscene->response_curve_B.copy(curve->B_R, response_curve_size); + } + + device->tex_alloc("__response_curve_R", dscene->response_curve_R, true); + device->tex_alloc("__response_curve_G", dscene->response_curve_G, true); + device->tex_alloc("__response_curve_B", dscene->response_curve_B, true); + } + + last_response = response; + } + + kfilm->use_response_curve = (response_type != FILM_RESPONSE_NONE); + + need_update = false; +} + +void Film::device_free(Device *device, DeviceScene *dscene) +{ + device->tex_free(dscene->response_curve_R); + device->tex_free(dscene->response_curve_G); + device->tex_free(dscene->response_curve_B); + + dscene->response_curve_R.clear(); + dscene->response_curve_G.clear(); + dscene->response_curve_B.clear(); + + last_response = ""; +} + +bool Film::modified(const Film& film) +{ + return !(response == film.response && + exposure == film.exposure && + pass == film.pass); +} + +void Film::tag_update(Scene *scene) +{ + need_update = true; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/film.h b/intern/cycles/render/film.h new file mode 100644 index 00000000000..9d6c58b30d1 --- /dev/null +++ b/intern/cycles/render/film.h @@ -0,0 +1,51 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __FILM_H__ +#define __FILM_H__ + +#include "util_string.h" + +CCL_NAMESPACE_BEGIN + +class Device; +class DeviceScene; +class Scene; + +class Film { +public: + string response; + string last_response; + float exposure; + int pass; + bool need_update; + + Film(); + ~Film(); + + void device_update(Device *device, DeviceScene *dscene); + void device_free(Device *device, DeviceScene *dscene); + + bool modified(const Film& film); + void tag_update(Scene *scene); +}; + +CCL_NAMESPACE_END + +#endif /* __FILM_H__ */ + diff --git a/intern/cycles/render/filter.cpp b/intern/cycles/render/filter.cpp new file mode 100644 index 00000000000..d7682bedc12 --- /dev/null +++ b/intern/cycles/render/filter.cpp @@ -0,0 +1,129 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "camera.h" +#include "device.h" +#include "filter.h" +#include "scene.h" + +#include "util_algorithm.h" +#include "util_debug.h" +#include "util_math.h" + +CCL_NAMESPACE_BEGIN + +Filter::Filter() +{ + filter_type = FILTER_BOX; + filter_width = 1.0f; + need_update = true; +} + +Filter::~Filter() +{ +} + +static float filter_func_box(float v, float width) +{ + return (float)1; +} + +static float filter_func_gaussian(float v, float width) +{ + v *= (float)2/width; + return (float)expf((float)-2*v*v); +} + +static vector filter_table(FilterType type, float width) +{ + const int filter_table_size = 256; + vector filter_table_cdf(filter_table_size+1); + vector filter_table(filter_table_size+1); + float (*filter_func)(float, float) = NULL; + int i, half_size = filter_table_size/2; + + switch(type) { + case FILTER_BOX: + filter_func = filter_func_box; + break; + case FILTER_GAUSSIAN: + filter_func = filter_func_gaussian; + break; + default: + assert(0); + } + + /* compute cumulative distribution function */ + filter_table_cdf[0] = 0.0f; + + for(i=0; i table = filter_table(filter_type, filter_width); + + dscene->filter_table.copy(&table[0], table.size()); + device->tex_alloc("__filter_table", dscene->filter_table, true); + + need_update = false; +} + +void Filter::device_free(Device *device, DeviceScene *dscene) +{ + device->tex_free(dscene->filter_table); + dscene->filter_table.clear(); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/filter.h b/intern/cycles/render/filter.h new file mode 100644 index 00000000000..620e6ebe083 --- /dev/null +++ b/intern/cycles/render/filter.h @@ -0,0 +1,46 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __FILTER_H__ +#define __FILTER_H__ + +CCL_NAMESPACE_BEGIN + +typedef enum FilterType { + FILTER_BOX, + FILTER_GAUSSIAN +} FilterType; + +class Filter { +public: + /* pixel filter */ + FilterType filter_type; + float filter_width; + bool need_update; + + Filter(); + ~Filter(); + + void device_update(Device *device, DeviceScene *dscene); + void device_free(Device *device, DeviceScene *dscene); +}; + +CCL_NAMESPACE_END + +#endif /* __FILTER_H__ */ + diff --git a/intern/cycles/render/graph.cpp b/intern/cycles/render/graph.cpp new file mode 100644 index 00000000000..3dd3d6107b4 --- /dev/null +++ b/intern/cycles/render/graph.cpp @@ -0,0 +1,457 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "attribute.h" +#include "graph.h" +#include "nodes.h" + +#include "util_algorithm.h" +#include "util_debug.h" +#include "util_foreach.h" + +CCL_NAMESPACE_BEGIN + +/* Input and Output */ + +ShaderInput::ShaderInput(ShaderNode *parent_, const char *name_, ShaderSocketType type_) +{ + parent = parent_; + name = name_; + type = type_; + link = NULL; + value = make_float3(0, 0, 0); + stack_offset = SVM_STACK_INVALID; + default_value = NONE; + osl_only = false; +} + +ShaderOutput::ShaderOutput(ShaderNode *parent_, const char *name_, ShaderSocketType type_) +{ + parent = parent_; + name = name_; + type = type_; + stack_offset = SVM_STACK_INVALID; +} + +/* Node */ + +ShaderNode::ShaderNode(const char *name_) +{ + name = name_; + id = -1; + bump = SHADER_BUMP_NONE; +} + +ShaderNode::~ShaderNode() +{ + foreach(ShaderInput *socket, inputs) + delete socket; + + foreach(ShaderOutput *socket, outputs) + delete socket; +} + +ShaderInput *ShaderNode::input(const char *name) +{ + foreach(ShaderInput *socket, inputs) + if(strcmp(socket->name, name) == 0) + return socket; + + return NULL; +} + +ShaderOutput *ShaderNode::output(const char *name) +{ + foreach(ShaderOutput *socket, outputs) + if(strcmp(socket->name, name) == 0) + return socket; + + return NULL; +} + +ShaderInput *ShaderNode::add_input(const char *name, ShaderSocketType type, float value) +{ + ShaderInput *input = new ShaderInput(this, name, type); + input->value.x = value; + inputs.push_back(input); + return input; +} + +ShaderInput *ShaderNode::add_input(const char *name, ShaderSocketType type, float3 value) +{ + ShaderInput *input = new ShaderInput(this, name, type); + input->value = value; + inputs.push_back(input); + return input; +} + +ShaderInput *ShaderNode::add_input(const char *name, ShaderSocketType type, ShaderInput::DefaultValue value, bool osl_only) +{ + ShaderInput *input = add_input(name, type); + input->default_value = value; + input->osl_only = osl_only; + return input; +} + +ShaderOutput *ShaderNode::add_output(const char *name, ShaderSocketType type) +{ + ShaderOutput *output = new ShaderOutput(this, name, type); + outputs.push_back(output); + return output; +} + +void ShaderNode::attributes(AttributeRequestSet *attributes) +{ + foreach(ShaderInput *input, inputs) + if(!input->link && input->default_value == ShaderInput::TEXTURE_COORDINATE) + attributes->add(Attribute::STD_GENERATED); +} + +/* Graph */ + +ShaderGraph::ShaderGraph() +{ + finalized = false; + add(new OutputNode()); +} + +ShaderGraph::~ShaderGraph() +{ + foreach(ShaderNode *node, nodes) + delete node; +} + +ShaderNode *ShaderGraph::add(ShaderNode *node) +{ + assert(!finalized); + node->id = nodes.size(); + nodes.push_back(node); + return node; +} + +ShaderNode *ShaderGraph::output() +{ + return nodes.front(); +} + +ShaderGraph *ShaderGraph::copy() +{ + ShaderGraph *newgraph = new ShaderGraph(); + + /* copy nodes */ + set nodes_all; + foreach(ShaderNode *node, nodes) + nodes_all.insert(node); + + map nodes_copy; + copy_nodes(nodes_all, nodes_copy); + + /* add nodes (in same order, so output is still first) */ + newgraph->nodes.clear(); + foreach(ShaderNode *node, nodes) + newgraph->add(nodes_copy[node]); + + return newgraph; +} + +void ShaderGraph::connect(ShaderOutput *from, ShaderInput *to) +{ + assert(!finalized); + assert(from && to); + + if(to->link) { + fprintf(stderr, "ShaderGraph connect: input already connected.\n"); + return; + } + + if(from->type != to->type) { + /* for closures we can't do automatic conversion */ + if(from->type == SHADER_SOCKET_CLOSURE || to->type == SHADER_SOCKET_CLOSURE) { + fprintf(stderr, "ShaderGraph connect: can only connect closure to closure.\n"); + return; + } + + /* add automatic conversion node in case of type mismatch */ + ShaderNode *convert = add(new ConvertNode(from->type, to->type)); + + connect(from, convert->inputs[0]); + connect(convert->outputs[0], to); + } + else { + /* types match, just connect */ + to->link = from; + from->links.push_back(to); + } +} + +void ShaderGraph::disconnect(ShaderInput *to) +{ + assert(!finalized); + assert(to->link); + + ShaderOutput *from = to->link; + + to->link = NULL; + from->links.erase(remove(from->links.begin(), from->links.end(), to), from->links.end()); +} + +void ShaderGraph::finalize(bool do_bump, bool do_osl) +{ + /* before compiling, the shader graph may undergo a number of modifications. + * currently we set default geometry shader inputs, and create automatic bump + * from displacement. a graph can be finalized only once, and should not be + * modified afterwards. */ + + if(!finalized) { + clean(); + default_inputs(do_osl); + if(do_bump) + bump_from_displacement(); + + finalized = true; + } +} + +void ShaderGraph::find_dependencies(set& dependencies, ShaderInput *input) +{ + /* find all nodes that this input dependes on directly and indirectly */ + ShaderNode *node = (input->link)? input->link->parent: NULL; + + if(node) { + foreach(ShaderInput *in, node->inputs) + find_dependencies(dependencies, in); + + dependencies.insert(node); + } +} + +void ShaderGraph::copy_nodes(set& nodes, map& nnodemap) +{ + /* copy a set of nodes, and the links between them. the assumption is + * made that all nodes that inputs are linked to are in the set too. */ + + /* copy nodes */ + foreach(ShaderNode *node, nodes) { + ShaderNode *nnode = node->clone(); + nnodemap[node] = nnode; + + nnode->inputs.clear(); + nnode->outputs.clear(); + + foreach(ShaderInput *input, node->inputs) { + ShaderInput *ninput = new ShaderInput(*input); + nnode->inputs.push_back(ninput); + + ninput->parent = nnode; + ninput->link = NULL; + } + + foreach(ShaderOutput *output, node->outputs) { + ShaderOutput *noutput = new ShaderOutput(*output); + nnode->outputs.push_back(noutput); + + noutput->parent = nnode; + noutput->links.clear(); + } + } + + /* recreate links */ + foreach(ShaderNode *node, nodes) { + foreach(ShaderInput *input, node->inputs) { + if(input->link) { + /* find new input and output */ + ShaderNode *nfrom = nnodemap[input->link->parent]; + ShaderNode *nto = nnodemap[input->parent]; + ShaderOutput *noutput = nfrom->output(input->link->name); + ShaderInput *ninput = nto->input(input->name); + + /* connect */ + connect(noutput, ninput); + } + } + } +} + +void ShaderGraph::break_cycles(ShaderNode *node, vector& visited, vector& on_stack) +{ + visited[node->id] = true; + on_stack[node->id] = true; + + foreach(ShaderInput *input, node->inputs) { + if(input->link) { + ShaderNode *depnode = input->link->parent; + + if(on_stack[depnode->id]) { + /* break cycle */ + disconnect(input); + fprintf(stderr, "ShaderGraph: detected cycle in graph, connection removed.\n"); + } + else if(!visited[depnode->id]) { + /* visit dependencies */ + break_cycles(depnode, visited, on_stack); + } + } + } + + on_stack[node->id] = false; +} + +void ShaderGraph::clean() +{ + /* we do two things here: find cycles and break them, and remove unused + nodes that don't feed into the output. how cycles are broken is + undefined, they are invalid input, the important thing is to not crash */ + + vector visited(nodes.size(), false); + vector on_stack(nodes.size(), false); + + /* break cycles */ + break_cycles(output(), visited, on_stack); + + /* remove unused nodes */ + vector newnodes; + + foreach(ShaderNode *node, nodes) { + if(visited[node->id]) + newnodes.push_back(node); + else + delete node; + } + + nodes = newnodes; +} + +void ShaderGraph::default_inputs(bool do_osl) +{ + /* nodes can specify default texture coordinates, for now we give + * everything the position by default, except for the sky texture */ + + ShaderNode *geom = NULL; + ShaderNode *texco = NULL; + + foreach(ShaderNode *node, nodes) { + foreach(ShaderInput *input, node->inputs) { + if(!input->link && !(input->osl_only && !do_osl)) { + if(input->default_value == ShaderInput::TEXTURE_COORDINATE) { + if(!texco) + texco = new TextureCoordinateNode(); + + connect(texco->output("Generated"), input); + } + else if(input->default_value == ShaderInput::INCOMING) { + if(!geom) + geom = new GeometryNode(); + + connect(geom->output("Incoming"), input); + } + else if(input->default_value == ShaderInput::NORMAL) { + if(!geom) + geom = new GeometryNode(); + + connect(geom->output("Normal"), input); + } + else if(input->default_value == ShaderInput::POSITION) { + if(!geom) + geom = new GeometryNode(); + + connect(geom->output("Position"), input); + } + } + } + } + + if(geom) + add(geom); + if(texco) + add(texco); +} + +void ShaderGraph::bump_from_displacement() +{ + /* generate bump mapping automatically from displacement. bump mapping is + * done using a 3-tap filter, computing the displacement at the center, + * and two other positions shifted by ray differentials. + * + * since the input to displacement is a node graph, we need to ensure that + * all texture coordinates use are shift by the ray differentials. for this + * reason we make 3 copies of the node subgraph defining the displacement, + * with each different geometry and texture coordinate nodes that generate + * different shifted coordinates. + * + * these 3 displacement values are then fed into the bump node, which will + * modify the normal. */ + + ShaderInput *displacement_in = output()->input("Displacement"); + + if(!displacement_in->link) + return; + + /* find dependencies for the given input */ + set nodes_displace; + find_dependencies(nodes_displace, displacement_in); + + /* copy nodes for 3 bump samples */ + map nodes_center; + map nodes_dx; + map nodes_dy; + + copy_nodes(nodes_displace, nodes_center); + copy_nodes(nodes_displace, nodes_dx); + copy_nodes(nodes_displace, nodes_dy); + + /* mark nodes to indicate they are use for bump computation, so + that any texture coordinates are shifted by dx/dy when sampling */ + foreach(NodePair& pair, nodes_center) + pair.second->bump = SHADER_BUMP_CENTER; + foreach(NodePair& pair, nodes_dx) + pair.second->bump = SHADER_BUMP_DX; + foreach(NodePair& pair, nodes_dy) + pair.second->bump = SHADER_BUMP_DY; + + /* add bump node and connect copied graphs to it */ + ShaderNode *bump = add(new BumpNode()); + + ShaderOutput *out = displacement_in->link; + ShaderOutput *out_center = nodes_center[out->parent]->output(out->name); + ShaderOutput *out_dx = nodes_dx[out->parent]->output(out->name); + ShaderOutput *out_dy = nodes_dy[out->parent]->output(out->name); + + connect(out_center, bump->input("SampleCenter")); + connect(out_dx, bump->input("SampleX")); + connect(out_dy, bump->input("SampleY")); + + /* connect bump output to normal input nodes that aren't set yet. actually + this will only set the normal input to the geometry node that we created + and connected to all other normal inputs already. */ + foreach(ShaderNode *node, nodes) + foreach(ShaderInput *input, node->inputs) + if(!input->link && input->default_value == ShaderInput::NORMAL) + connect(bump->output("Normal"), input); + + /* finally, add the copied nodes to the graph. we can't do this earlier + because we would create dependency cycles in the above loop */ + foreach(NodePair& pair, nodes_center) + add(pair.second); + foreach(NodePair& pair, nodes_dx) + add(pair.second); + foreach(NodePair& pair, nodes_dy) + add(pair.second); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/graph.h b/intern/cycles/render/graph.h new file mode 100644 index 00000000000..c73dd77d5df --- /dev/null +++ b/intern/cycles/render/graph.h @@ -0,0 +1,227 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __GRAPH_H__ +#define __GRAPH_H__ + +#include "kernel_types.h" + +#include "util_map.h" +#include "util_param.h" +#include "util_set.h" +#include "util_types.h" +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +class AttributeRequestSet; +class ShaderInput; +class ShaderOutput; +class ShaderNode; +class ShaderGraph; +class SVMCompiler; +class OSLCompiler; + +/* Socket Type + * + * Data type for inputs and outputs */ + +enum ShaderSocketType { + SHADER_SOCKET_FLOAT, + SHADER_SOCKET_COLOR, + SHADER_SOCKET_VECTOR, + SHADER_SOCKET_POINT, + SHADER_SOCKET_NORMAL, + SHADER_SOCKET_CLOSURE +}; + +/* Bump + * + * For bump mapping, a node may be evaluated multiple times, using different + * samples to reconstruct the normal, this indicates the sample position */ + +enum ShaderBump { + SHADER_BUMP_NONE, + SHADER_BUMP_CENTER, + SHADER_BUMP_DX, + SHADER_BUMP_DY +}; + +/* Enum + * + * Utility class for enum values. */ + +class ShaderEnum { +public: + bool empty() const { return left.empty(); } + void insert(const char *x, int y) { + left[ustring(x)] = y; + right[y] = ustring(x); + } + + bool exists(ustring x) { return left.find(x) != left.end(); } + bool exists(int y) { return right.find(y) != right.end(); } + + int operator[](const char *x) { return left[ustring(x)]; } + int operator[](ustring x) { return left[x]; } + ustring operator[](int y) { return right[y]; } + +protected: + map left; + map right; +}; + +/* Input + * + * Input socket for a shader node. May be linked to an output or not. If not + * linked, it will either get a fixed default value, or e.g. a texture + * coordinate. */ + +class ShaderInput { +public: + enum DefaultValue { + TEXTURE_COORDINATE, + INCOMING, + NORMAL, + POSITION, + NONE + }; + + ShaderInput(ShaderNode *parent, const char *name, ShaderSocketType type); + void set(const float3& v) { value = v; } + void set(float f) { value = make_float3(f, 0, 0); } + + const char *name; + ShaderSocketType type; + + ShaderNode *parent; + ShaderOutput *link; + + DefaultValue default_value; + float3 value; + + int stack_offset; /* for SVM compiler */ + bool osl_only; +}; + +/* Output + * + * Output socket for a shader node. */ + +class ShaderOutput { +public: + ShaderOutput(ShaderNode *parent, const char *name, ShaderSocketType type); + + const char *name; + ShaderNode *parent; + ShaderSocketType type; + + vector links; + + int stack_offset; /* for SVM compiler */ +}; + +/* Node + * + * Shader node in graph, with input and output sockets. This is the virtual + * base class for all node types. */ + +class ShaderNode { +public: + ShaderNode(const char *name); + virtual ~ShaderNode(); + + ShaderInput *input(const char *name); + ShaderOutput *output(const char *name); + + ShaderInput *add_input(const char *name, ShaderSocketType type, float value=0.0f); + ShaderInput *add_input(const char *name, ShaderSocketType type, float3 value); + ShaderInput *add_input(const char *name, ShaderSocketType type, ShaderInput::DefaultValue value, bool osl_only=false); + ShaderOutput *add_output(const char *name, ShaderSocketType type); + + virtual ShaderNode *clone() const = 0; + virtual void attributes(AttributeRequestSet *attributes); + virtual void compile(SVMCompiler& compiler) = 0; + virtual void compile(OSLCompiler& compiler) = 0; + + vector inputs; + vector outputs; + + ustring name; /* name, not required to be unique */ + int id; /* index in graph node array */ + ShaderBump bump; /* for bump mapping utility */ +}; + + +/* Node definition utility macros */ + +#define SHADER_NODE_CLASS(type) \ + type(); \ + virtual ShaderNode *clone() const { return new type(*this); } \ + virtual void compile(SVMCompiler& compiler); \ + virtual void compile(OSLCompiler& compiler); \ + +#define SHADER_NODE_NO_CLONE_CLASS(type) \ + type(); \ + virtual void compile(SVMCompiler& compiler); \ + virtual void compile(OSLCompiler& compiler); \ + +#define SHADER_NODE_BASE_CLASS(type) \ + virtual ShaderNode *clone() const { return new type(*this); } \ + virtual void compile(SVMCompiler& compiler); \ + virtual void compile(OSLCompiler& compiler); \ + +/* Graph + * + * Shader graph of nodes. Also does graph manipulations for default inputs, + * bump mapping from displacement, and possibly other things in the future. */ + +class ShaderGraph { +public: + vector nodes; + bool finalized; + + ShaderGraph(); + ~ShaderGraph(); + + ShaderGraph *copy(); + + ShaderNode *add(ShaderNode *node); + ShaderNode *output(); + + void connect(ShaderOutput *from, ShaderInput *to); + void disconnect(ShaderInput *to); + + void finalize(bool do_bump = false, bool do_osl = false); + +protected: + typedef pair NodePair; + + void find_dependencies(set& dependencies, ShaderInput *input); + void copy_nodes(set& nodes, map& nnodemap); + + void break_cycles(ShaderNode *node, vector& visited, vector& on_stack); + void clean(); + void bump_from_displacement(); + void default_inputs(bool do_osl); +}; + +CCL_NAMESPACE_END + +#endif /* __GRAPH_H__ */ + diff --git a/intern/cycles/render/image.cpp b/intern/cycles/render/image.cpp new file mode 100644 index 00000000000..08127cf7409 --- /dev/null +++ b/intern/cycles/render/image.cpp @@ -0,0 +1,227 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "device.h" +#include "image.h" +#include "scene.h" + +#include "util_foreach.h" +#include "util_image.h" +#include "util_path.h" +#include "util_progress.h" + +CCL_NAMESPACE_BEGIN + +ImageManager::ImageManager() +{ + need_update = true; +} + +ImageManager::~ImageManager() +{ + for(size_t slot = 0; slot < images.size(); slot++) { + assert(!images[slot]); + } +} + +int ImageManager::add_image(const string& filename) +{ + Image *img; + size_t slot; + + /* find existing image */ + for(slot = 0; slot < images.size(); slot++) { + if(images[slot] && images[slot]->filename == filename) { + images[slot]->users++; + return slot; + } + } + + /* find free slot */ + for(slot = 0; slot < images.size(); slot++) + if(!images[slot]) + break; + + if(slot == images.size()) { + /* max images limit reached */ + if(images.size() == TEX_IMAGE_MAX) + return -1; + + images.resize(images.size() + 1); + } + + /* add new image */ + img = new Image(); + img->filename = filename; + img->need_load = true; + img->users = 1; + + images[slot] = img; + need_update = true; + + return slot; +} + +void ImageManager::remove_image(int slot) +{ + assert(images[slot]); + + /* decrement user count */ + images[slot]->users--; + assert(images[slot]->users >= 0); + + /* don't remove immediately, rather do it all together later on. one of + the reasons for this is that on shader changes we add and remove nodes + that use them, but we do not want to reload the image all the time. */ + if(images[slot]->users == 0) + need_update = true; + + /* todo: remove OSL image from cache */ +} + +bool ImageManager::file_load_image(Image *img, device_vector& tex_img) +{ + if(img->filename == "") + return false; + + /* load image from file through OIIO */ + ImageInput *in = ImageInput::create(img->filename); + + if(!in) + return false; + + ImageSpec spec; + + if(!in->open(img->filename, spec)) { + delete in; + return false; + } + + /* we only handle certain number of components */ + int width = spec.width; + int height = spec.height; + int components = spec.nchannels; + + if(!(components == 1 || components == 3 || components == 4)) { + delete in; + return false; + } + + /* read RGBA pixels */ + uchar *pixels = (uchar*)tex_img.resize(width, height); + int scanlinesize = width*components*sizeof(uchar); + + in->read_image(TypeDesc::UINT8, + (uchar*)pixels + (height-1)*scanlinesize, + AutoStride, + -scanlinesize, + AutoStride); + + in->close(); + + if(components == 3) { + for(int i = width*height-1; i >= 0; i--) { + pixels[i*4+3] = 255; + pixels[i*4+2] = pixels[i*3+2]; + pixels[i*4+1] = pixels[i*3+1]; + pixels[i*4+0] = pixels[i*3+0]; + } + } + else if(components == 1) { + for(int i = width*height-1; i >= 0; i--) { + pixels[i*4+3] = 255; + pixels[i*4+2] = pixels[i]; + pixels[i*4+1] = pixels[i]; + pixels[i*4+0] = pixels[i]; + } + } + + return true; +} + +void ImageManager::device_load_image(Device *device, DeviceScene *dscene, int slot) +{ + Image *img = images[slot]; + device_vector& tex_img = dscene->tex_image[slot]; + + img->need_load = false; + if(tex_img.device_pointer) + device->tex_free(tex_img); + + if(!file_load_image(img, tex_img)) { + /* on failure to load, we set a 1x1 pixels black image */ + uchar *pixels = (uchar*)tex_img.resize(1, 1); + + pixels[0] = 0; + pixels[1] = 0; + pixels[2] = 0; + pixels[3] = 0; + } + + string name; + + if(slot >= 10) name = string_printf("__tex_image_0%d", slot); + else name = string_printf("__tex_image_00%d", slot); + + device->tex_alloc(name.c_str(), tex_img, true, true); +} + +void ImageManager::device_free_image(Device *device, DeviceScene *dscene, int slot) +{ + if(images[slot]) { + device->tex_free(dscene->tex_image[slot]); + dscene->tex_image[slot].clear(); + + delete images[slot]; + images[slot] = NULL; + } +} + +void ImageManager::device_update(Device *device, DeviceScene *dscene, Progress& progress) +{ + if(!need_update) + return; + + for(size_t slot = 0; slot < images.size(); slot++) { + if(images[slot]) { + if(images[slot]->users == 0) { + device_free_image(device, dscene, slot); + } + else if(images[slot]->need_load) { + string name = path_filename(images[slot]->filename); + progress.set_status("Updating Images", "Loading " + name); + device_load_image(device, dscene, slot); + } + + if(progress.get_cancel()) return; + } + } + + need_update = false; +} + +void ImageManager::device_free(Device *device, DeviceScene *dscene) +{ + for(size_t slot = 0; slot < images.size(); slot++) + device_free_image(device, dscene, slot); + + images.clear(); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/image.h b/intern/cycles/render/image.h new file mode 100644 index 00000000000..a0bf29088b7 --- /dev/null +++ b/intern/cycles/render/image.h @@ -0,0 +1,67 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __IMAGE_H__ +#define __IMAGE_H__ + +#include "device_memory.h" + +#include "util_string.h" +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +#define TEX_IMAGE_MAX 100 + +class Device; +class DeviceScene; +class Progress; + +class ImageManager { +public: + ImageManager(); + ~ImageManager(); + + int add_image(const string& filename); + void remove_image(int slot); + + void device_update(Device *device, DeviceScene *dscene, Progress& progress); + void device_free(Device *device, DeviceScene *dscene); + + bool need_update; + +private: + struct Image { + string filename; + + bool need_load; + int users; + }; + + vector images; + + bool file_load_image(Image *img, device_vector& tex_img); + + void device_load_image(Device *device, DeviceScene *dscene, int slot); + void device_free_image(Device *device, DeviceScene *dscene, int slot); +}; + +CCL_NAMESPACE_END + +#endif /* __IMAGE_H__ */ + diff --git a/intern/cycles/render/integrator.cpp b/intern/cycles/render/integrator.cpp new file mode 100644 index 00000000000..30736670cc3 --- /dev/null +++ b/intern/cycles/render/integrator.cpp @@ -0,0 +1,86 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "device.h" +#include "integrator.h" +#include "scene.h" +#include "sobol.h" + +CCL_NAMESPACE_BEGIN + +Integrator::Integrator() +{ + minbounce = 2; + maxbounce = 7; + no_caustics = false; + blur_caustics = 0.0f; + + need_update = true; +} + +Integrator::~Integrator() +{ +} + +void Integrator::device_update(Device *device, DeviceScene *dscene) +{ + if(!need_update) + return; + + device_free(device, dscene); + + KernelIntegrator *kintegrator = &dscene->data.integrator; + + /* integrator parameters */ + kintegrator->minbounce = minbounce + 1; + kintegrator->maxbounce = maxbounce + 1; + kintegrator->no_caustics = no_caustics; + kintegrator->blur_caustics = blur_caustics; + + /* sobol directions table */ + int dimensions = PRNG_BASE_NUM + (maxbounce + 2)*PRNG_BOUNCE_NUM; + uint *directions = dscene->sobol_directions.resize(SOBOL_BITS*dimensions); + + sobol_generate_direction_vectors((uint(*)[SOBOL_BITS])directions, dimensions); + + device->tex_alloc("__sobol_directions", dscene->sobol_directions); + + need_update = false; +} + +void Integrator::device_free(Device *device, DeviceScene *dscene) +{ + device->tex_free(dscene->sobol_directions); + dscene->sobol_directions.clear(); +} + +bool Integrator::modified(const Integrator& integrator) +{ + return !(minbounce == integrator.minbounce && + maxbounce == integrator.maxbounce && + no_caustics == integrator.no_caustics && + blur_caustics == integrator.blur_caustics); +} + +void Integrator::tag_update(Scene *scene) +{ + need_update = true; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/integrator.h b/intern/cycles/render/integrator.h new file mode 100644 index 00000000000..b7d0c48131f --- /dev/null +++ b/intern/cycles/render/integrator.h @@ -0,0 +1,49 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __INTEGRATOR_H__ +#define __INTEGRATOR_H__ + +CCL_NAMESPACE_BEGIN + +class Device; +class DeviceScene; +class Scene; + +class Integrator { +public: + int minbounce; + int maxbounce; + bool no_caustics; + float blur_caustics; + bool need_update; + + Integrator(); + ~Integrator(); + + void device_update(Device *device, DeviceScene *dscene); + void device_free(Device *device, DeviceScene *dscene); + + bool modified(const Integrator& integrator); + void tag_update(Scene *scene); +}; + +CCL_NAMESPACE_END + +#endif /* __INTEGRATOR_H__ */ + diff --git a/intern/cycles/render/light.cpp b/intern/cycles/render/light.cpp new file mode 100644 index 00000000000..88a797f753d --- /dev/null +++ b/intern/cycles/render/light.cpp @@ -0,0 +1,220 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "device.h" +#include "light.h" +#include "mesh.h" +#include "object.h" +#include "scene.h" +#include "shader.h" + +#include "util_foreach.h" +#include "util_progress.h" + +CCL_NAMESPACE_BEGIN + +/* Light */ + +Light::Light() +{ + co = make_float3(0.0f, 0.0f, 0.0f); + radius = 0.0f; + shader = 0; +} + +void Light::tag_update(Scene *scene) +{ + scene->light_manager->need_update = true; +} + +/* Light Manager */ + +LightManager::LightManager() +{ + need_update = true; +} + +LightManager::~LightManager() +{ +} + +void LightManager::device_update_distribution(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress) +{ + /* count */ + size_t num_lights = scene->lights.size(); + size_t num_triangles = 0; + + foreach(Object *object, scene->objects) { + Mesh *mesh = object->mesh; + + for(size_t i = 0; i < mesh->triangles.size(); i++) { + Shader *shader = scene->shaders[mesh->shader[i]]; + + if(shader->has_surface_emission) + num_triangles++; + } + } + + size_t num_distribution = num_triangles + num_lights; + + /* emission area */ + float4 *distribution = dscene->light_distribution.resize(num_distribution + 1); + float totarea = 0.0f; + + /* triangles */ + size_t offset = 0; + size_t j = 0; + + foreach(Object *object, scene->objects) { + Mesh *mesh = object->mesh; + Transform tfm = object->tfm; + int object_id = (mesh->transform_applied)? -j-1: j; + + for(size_t i = 0; i < mesh->triangles.size(); i++) { + Shader *shader = scene->shaders[mesh->shader[i]]; + + if(shader->has_surface_emission) { + distribution[offset].x = totarea; + distribution[offset].y = __int_as_float(i + mesh->tri_offset); + distribution[offset].z = 1.0f; + distribution[offset].w = __int_as_float(object_id); + offset++; + + Mesh::Triangle t = mesh->triangles[i]; + float3 p1 = transform(&tfm, mesh->verts[t.v[0]]); + float3 p2 = transform(&tfm, mesh->verts[t.v[1]]); + float3 p3 = transform(&tfm, mesh->verts[t.v[2]]); + + totarea += triangle_area(p1, p2, p3); + } + } + + if(progress.get_cancel()) return; + + j++; + } + + float trianglearea = totarea; + + /* point lights */ + float lightarea = (totarea > 0.0f)? totarea/scene->lights.size(): 1.0f; + + for(size_t i = 0; i < scene->lights.size(); i++, offset++) { + distribution[offset].x = totarea; + distribution[offset].y = __int_as_float(-i-1); + distribution[offset].z = 1.0f; + distribution[offset].w = scene->lights[i]->radius; + totarea += lightarea; + } + + /* normalize cumulative distribution functions */ + distribution[num_distribution].x = totarea; + distribution[num_distribution].y = 0.0f; + distribution[num_distribution].z = 0.0f; + distribution[num_distribution].w = 0.0f; + + if(totarea > 0.0f) { + for(size_t i = 0; i < num_distribution; i++) + distribution[i].x /= totarea; + distribution[num_distribution].x = 1.0f; + } + + if(progress.get_cancel()) return; + + /* update device */ + KernelIntegrator *kintegrator = &dscene->data.integrator; + kintegrator->use_emission = (totarea > 0.0f); + + if(kintegrator->use_emission) { + /* number of emissives */ + kintegrator->num_triangles = num_triangles; + kintegrator->num_lights = num_lights; + kintegrator->num_distribution = num_distribution; + + /* precompute pdfs */ + kintegrator->pdf_triangles = 0.0f; + kintegrator->pdf_lights = 0.0f; + + if(trianglearea > 0.0f) { + kintegrator->pdf_triangles = 1.0f/trianglearea; + if(num_lights) + kintegrator->pdf_triangles *= 0.5f; + } + + if(num_lights) { + kintegrator->pdf_lights = 1.0f/num_lights; + if(trianglearea > 0.0f) + kintegrator->pdf_lights *= 0.5f; + } + + /* CDF */ + device->tex_alloc("__light_distribution", dscene->light_distribution); + } + else + dscene->light_distribution.clear(); +} + +void LightManager::device_update_points(Device *device, DeviceScene *dscene, Scene *scene) +{ + if(scene->lights.size() == 0) + return; + + float4 *light_point = dscene->light_point.resize(scene->lights.size()); + + for(size_t i = 0; i < scene->lights.size(); i++) { + float3 co = scene->lights[i]->co; + int shader_id = scene->shader_manager->get_shader_id(scene->lights[i]->shader); + + light_point[i] = make_float4(co.x, co.y, co.z, __int_as_float(shader_id)); + } + + device->tex_alloc("__light_point", dscene->light_point); +} + +void LightManager::device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress) +{ + if(!need_update) + return; + + device_free(device, dscene); + + device_update_points(device, dscene, scene); + if(progress.get_cancel()) return; + + device_update_distribution(device, dscene, scene, progress); + if(progress.get_cancel()) return; + + need_update = false; +} + +void LightManager::device_free(Device *device, DeviceScene *dscene) +{ + device->tex_free(dscene->light_distribution); + device->tex_free(dscene->light_point); + + dscene->light_distribution.clear(); + dscene->light_point.clear(); +} + +void LightManager::tag_update(Scene *scene) +{ + need_update = true; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/light.h b/intern/cycles/render/light.h new file mode 100644 index 00000000000..dbc333260ee --- /dev/null +++ b/intern/cycles/render/light.h @@ -0,0 +1,63 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __LIGHT_H__ +#define __LIGHT_H__ + +#include "util_types.h" +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +class Device; +class DeviceScene; +class Progress; +class Scene; + +class Light { +public: + Light(); + + float3 co; + float radius; /* not implemented yet */ + int shader; + + void tag_update(Scene *scene); +}; + +class LightManager { +public: + bool need_update; + + LightManager(); + ~LightManager(); + + void device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress); + void device_free(Device *device, DeviceScene *dscene); + + void tag_update(Scene *scene); + +protected: + void device_update_points(Device *device, DeviceScene *dscene, Scene *scene); + void device_update_distribution(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress); +}; + +CCL_NAMESPACE_END + +#endif /* __LIGHT_H__ */ + diff --git a/intern/cycles/render/mesh.cpp b/intern/cycles/render/mesh.cpp new file mode 100644 index 00000000000..eb9fefcc0ad --- /dev/null +++ b/intern/cycles/render/mesh.cpp @@ -0,0 +1,718 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "bvh.h" +#include "bvh_build.h" + +#include "device.h" +#include "shader.h" +#include "mesh.h" +#include "object.h" +#include "scene.h" + +#include "osl_globals.h" + +#include "util_cache.h" +#include "util_foreach.h" +#include "util_progress.h" +#include "util_set.h" + +CCL_NAMESPACE_BEGIN + +/* Mesh */ + +Mesh::Mesh() +: attributes(this) +{ + need_update = true; + transform_applied = false; + displacement_method = DISPLACE_BUMP; + + bvh = NULL; + + tri_offset = 0; + vert_offset = 0; +} + +Mesh::~Mesh() +{ + delete bvh; +} + +void Mesh::reserve(int numverts, int numtris) +{ + /* reserve space to add verts and triangles later */ + verts.resize(numverts); + triangles.resize(numtris); + shader.resize(numtris); + smooth.resize(numtris); + attributes.reserve(numverts, numtris); +} + +void Mesh::clear() +{ + /* clear all verts and triangles */ + verts.clear(); + triangles.clear(); + shader.clear(); + smooth.clear(); + + attributes.clear(); + used_shaders.clear(); +} + +void Mesh::add_triangle(int v0, int v1, int v2, int shader_, bool smooth_) +{ + Triangle t; + t.v[0] = v0; + t.v[1] = v1; + t.v[2] = v2; + + triangles.push_back(t); + shader.push_back(shader_); + smooth.push_back(smooth_); +} + +void Mesh::compute_bounds() +{ + BoundBox bnds; + size_t verts_size = verts.size(); + + for(size_t i = 0; i < verts_size; i++) + bnds.grow(verts[i]); + + /* happens mostly on empty meshes */ + if(!bnds.valid()) + bnds.grow(make_float3(0.0f, 0.0f, 0.0f)); + + bounds = bnds; +} + +void Mesh::add_face_normals() +{ + /* don't compute if already there */ + if(attributes.find(Attribute::STD_FACE_NORMAL)) + return; + + /* get attributes */ + Attribute *attr_fN = attributes.add(Attribute::STD_FACE_NORMAL); + float3 *fN = attr_fN->data_float3(); + + /* compute face normals */ + float3 *verts_ptr = &verts[0]; + size_t triangles_size = triangles.size(); + Triangle *triangles_ptr = &triangles[0]; + + for(size_t i = 0; i < triangles_size; i++) { + Triangle t = triangles_ptr[i]; + float3 v0 = verts_ptr[t.v[0]]; + float3 v1 = verts_ptr[t.v[1]]; + float3 v2 = verts_ptr[t.v[2]]; + + fN[i] = normalize(cross(v1 - v0, v2 - v0)); + } +} + +void Mesh::add_vertex_normals() +{ + /* don't compute if already there */ + if(attributes.find(Attribute::STD_VERTEX_NORMAL)) + return; + + /* get attributes */ + Attribute *attr_fN = attributes.find(Attribute::STD_FACE_NORMAL); + Attribute *attr_vN = attributes.add(Attribute::STD_VERTEX_NORMAL); + + float3 *fN = attr_fN->data_float3(); + float3 *vN = attr_vN->data_float3(); + + /* compute vertex normals */ + memset(&vN[0], 0, verts.size()*sizeof(float3)); + + size_t verts_size = verts.size(); + size_t triangles_size = triangles.size(); + Triangle *triangles_ptr = &triangles[0]; + + for(size_t i = 0; i < triangles_size; i++) + for(size_t j = 0; j < 3; j++) + vN[triangles_ptr[i].v[j]] += fN[i]; + + for(size_t i = 0; i < verts_size; i++) + vN[i] = normalize(vN[i]); +} + +void Mesh::pack_normals(Scene *scene, float4 *normal, float4 *vnormal) +{ + Attribute *attr_fN = attributes.find(Attribute::STD_FACE_NORMAL); + Attribute *attr_vN = attributes.find(Attribute::STD_VERTEX_NORMAL); + + float3 *fN = attr_fN->data_float3(); + float3 *vN = attr_vN->data_float3(); + int shader_id = 0; + uint last_shader = -1; + bool last_smooth = false; + + size_t triangles_size = triangles.size(); + uint *shader_ptr = &shader[0]; + + for(size_t i = 0; i < triangles_size; i++) { + normal[i].x = fN[i].x; + normal[i].y = fN[i].y; + normal[i].z = fN[i].z; + + /* stuff shader id in here too */ + if(shader_ptr[i] != last_shader || last_smooth != smooth[i]) { + last_shader = shader_ptr[i]; + last_smooth = smooth[i]; + shader_id = scene->shader_manager->get_shader_id(last_shader, this, last_smooth); + } + + normal[i].w = __int_as_float(shader_id); + } + + size_t verts_size = verts.size(); + + for(size_t i = 0; i < verts_size; i++) + vnormal[i] = make_float4(vN[i].x, vN[i].y, vN[i].z, 0.0f); +} + +void Mesh::pack_verts(float4 *tri_verts, float4 *tri_vindex, size_t vert_offset) +{ + size_t verts_size = verts.size(); + float3 *verts_ptr = &verts[0]; + + for(size_t i = 0; i < verts_size; i++) { + float3 p = verts_ptr[i]; + tri_verts[i] = make_float4(p.x, p.y, p.z, 0.0f); + } + + size_t triangles_size = triangles.size(); + Triangle *triangles_ptr = &triangles[0]; + + for(size_t i = 0; i < triangles_size; i++) { + Triangle t = triangles_ptr[i]; + + tri_vindex[i] = make_float4( + __int_as_float(t.v[0] + vert_offset), + __int_as_float(t.v[1] + vert_offset), + __int_as_float(t.v[2] + vert_offset), + 0); + } +} + +void Mesh::compute_bvh(SceneParams *params, Progress& progress) +{ + Object object; + object.mesh = this; + + vector objects; + objects.push_back(&object); + + if(bvh && !need_update_rebuild) { + progress.set_substatus("Refitting BVH"); + bvh->objects = objects; + bvh->refit(progress); + } + else { + progress.set_substatus("Building BVH"); + + BVHParams bparams; + bparams.use_cache = params->use_bvh_cache; + bparams.use_spatial_split = params->use_bvh_spatial_split; + bparams.use_qbvh = params->use_qbvh; + + delete bvh; + bvh = BVH::create(bparams, objects); + bvh->build(progress); + } +} + +void Mesh::tag_update(Scene *scene, bool rebuild) +{ + need_update = true; + if(rebuild) + need_update_rebuild = true; + + scene->mesh_manager->need_update = true; + scene->object_manager->need_update = true; +} + +/* Mesh Manager */ + +MeshManager::MeshManager() +{ + bvh = NULL; + need_update = true; +} + +MeshManager::~MeshManager() +{ + delete bvh; +} + +void MeshManager::update_osl_attributes(Device *device, Scene *scene, vector& mesh_attributes) +{ +#ifdef WITH_OSL + /* for OSL, a hash map is used to lookup the attribute by name. */ + OSLGlobals *og = (OSLGlobals*)device->osl_memory(); + + og->object_name_map.clear(); + og->attribute_map.clear(); + + og->attribute_map.resize(scene->objects.size()); + + for(size_t i = 0; i < scene->objects.size(); i++) { + /* set object name to object index map */ + Object *object = scene->objects[i]; + og->object_name_map[object->name] = i; + + /* set object attributes */ + foreach(ParamValue& attr, object->attributes) { + OSLGlobals::Attribute osl_attr; + + osl_attr.type = attr.type(); + osl_attr.elem = ATTR_ELEMENT_VALUE; + osl_attr.value = attr; + + og->attribute_map[i][attr.name()] = osl_attr; + } + + /* find mesh attributes */ + size_t j; + + for(j = 0; j < scene->meshes.size(); j++) + if(scene->meshes[j] == object->mesh) + break; + + AttributeRequestSet& attributes = mesh_attributes[j]; + + /* set object attributes */ + foreach(AttributeRequest& req, attributes.requests) { + OSLGlobals::Attribute osl_attr; + + osl_attr.elem = req.element; + osl_attr.offset = req.offset; + + if(req.type == TypeDesc::TypeFloat) + osl_attr.type = TypeDesc::TypeFloat; + else + osl_attr.type = TypeDesc::TypeColor; + + if(req.std != Attribute::STD_NONE) { + /* if standard attribute, add lookup by std:: name convention */ + ustring stdname = ustring(string("std::") + Attribute::standard_name(req.std).c_str()); + og->attribute_map[i][stdname] = osl_attr; + } + else if(req.name != ustring()) { + /* add lookup by mesh attribute name */ + og->attribute_map[i][req.name] = osl_attr; + } + } + } +#endif +} + +void MeshManager::update_svm_attributes(Device *device, DeviceScene *dscene, Scene *scene, vector& mesh_attributes) +{ + /* for SVM, the attributes_map table is used to lookup the offset of an + * attribute, based on a unique shader attribute id. */ + + /* compute array stride */ + int attr_map_stride = 0; + + for(size_t i = 0; i < scene->meshes.size(); i++) + attr_map_stride = max(attr_map_stride, mesh_attributes[i].size()); + + if(attr_map_stride == 0) + return; + + /* create attribute map */ + uint4 *attr_map = dscene->attributes_map.resize(attr_map_stride*scene->objects.size()); + memset(attr_map, 0, dscene->attributes_map.size()*sizeof(uint)); + + for(size_t i = 0; i < scene->objects.size(); i++) { + Object *object = scene->objects[i]; + + /* find mesh attributes */ + size_t j; + + for(j = 0; j < scene->meshes.size(); j++) + if(scene->meshes[j] == object->mesh) + break; + + AttributeRequestSet& attributes = mesh_attributes[j]; + + /* set object attributes */ + j = 0; + + foreach(AttributeRequest& req, attributes.requests) { + int index = i*attr_map_stride; + uint id; + + if(req.std == Attribute::STD_NONE) + id = scene->shader_manager->get_attribute_id(req.name); + else + id = scene->shader_manager->get_attribute_id(req.std); + + attr_map[index].x = id; + attr_map[index].y = req.element; + attr_map[index].z = req.offset; + + if(req.type == TypeDesc::TypeFloat) + attr_map[index].w = NODE_ATTR_FLOAT; + else + attr_map[index].w = NODE_ATTR_FLOAT3; + + j++; + } + } + + /* copy to device */ + dscene->data.bvh.attributes_map_stride = attr_map_stride; + device->tex_alloc("__attributes_map", dscene->attributes_map); +} + +void MeshManager::device_update_attributes(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress) +{ + progress.set_status("Updating Mesh", "Computing attributes"); + + /* gather per mesh requested attributes. as meshes may have multiple + * shaders assigned, this merged the requested attributes that have + * been set per shader by the shader manager */ + vector mesh_attributes(scene->meshes.size()); + + for(size_t i = 0; i < scene->meshes.size(); i++) { + Mesh *mesh = scene->meshes[i]; + + foreach(uint sindex, mesh->used_shaders) { + Shader *shader = scene->shaders[sindex]; + mesh_attributes[i].add(shader->attributes); + } + } + + /* mesh attribute are stored in a single array per data type. here we fill + * those arrays, and set the offset and element type to create attribute + * maps next */ + vector attr_float; + vector attr_float3; + + for(size_t i = 0; i < scene->meshes.size(); i++) { + Mesh *mesh = scene->meshes[i]; + AttributeRequestSet& attributes = mesh_attributes[i]; + + /* todo: we now store std and name attributes from requests even if + they actually refer to the same mesh attributes, optimize */ + foreach(AttributeRequest& req, attributes.requests) { + Attribute *mattr = mesh->attributes.find(req); + + /* todo: get rid of this exception */ + if(!mattr && req.std == Attribute::STD_GENERATED) { + mattr = mesh->attributes.add(Attribute::STD_GENERATED); + memcpy(mattr->data_float3(), &mesh->verts[0], sizeof(float3)*mesh->verts.size()); + } + + /* attribute not found */ + if(!mattr) { + req.element = ATTR_ELEMENT_NONE; + req.offset = 0; + continue; + } + + /* we abuse AttributeRequest to pass on info like element and + offset, it doesn't really make sense but is convenient */ + + /* store element and type */ + if(mattr->element == Attribute::VERTEX) + req.element = ATTR_ELEMENT_VERTEX; + else if(mattr->element == Attribute::FACE) + req.element = ATTR_ELEMENT_FACE; + else if(mattr->element == Attribute::CORNER) + req.element = ATTR_ELEMENT_CORNER; + + req.type = mattr->type; + + /* store attribute data in arrays */ + size_t size = mattr->element_size(mesh->verts.size(), mesh->triangles.size()); + + if(mattr->type == TypeDesc::TypeFloat) { + float *data = mattr->data_float(); + req.offset = attr_float.size(); + + for(size_t k = 0; k < size; k++) + attr_float.push_back(data[k]); + } + else { + float3 *data = mattr->data_float3(); + req.offset = attr_float3.size(); + + for(size_t k = 0; k < size; k++) { + float3 f3 = data[k]; + float4 f4 = make_float4(f3.x, f3.y, f3.z, 0.0f); + + attr_float3.push_back(f4); + } + } + + /* mesh vertex/triangle index is global, not per object, so we sneak + a correct for that in here */ + if(req.element == ATTR_ELEMENT_VERTEX) + req.offset -= mesh->vert_offset; + else + req.offset -= mesh->tri_offset; + + if(progress.get_cancel()) return; + } + } + + /* create attribute lookup maps */ + if(scene->params.shadingsystem == SceneParams::OSL) + update_osl_attributes(device, scene, mesh_attributes); + else + update_svm_attributes(device, dscene, scene, mesh_attributes); + + if(progress.get_cancel()) return; + + /* copy to device */ + progress.set_status("Updating Mesh", "Copying Attributes to device"); + + if(attr_float.size()) { + dscene->attributes_float.copy(&attr_float[0], attr_float.size()); + device->tex_alloc("__attributes_float", dscene->attributes_float); + } + if(attr_float3.size()) { + dscene->attributes_float3.copy(&attr_float3[0], attr_float3.size()); + device->tex_alloc("__attributes_float3", dscene->attributes_float3); + } +} + +void MeshManager::device_update_mesh(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress) +{ + /* count and update offsets */ + size_t vert_size = 0; + size_t tri_size = 0; + + foreach(Mesh *mesh, scene->meshes) { + mesh->vert_offset = vert_size; + mesh->tri_offset = tri_size; + + vert_size += mesh->verts.size(); + tri_size += mesh->triangles.size(); + } + + if(tri_size == 0) + return; + + /* normals */ + progress.set_status("Updating Mesh", "Computing normals"); + + float4 *normal = dscene->tri_normal.resize(tri_size); + float4 *vnormal = dscene->tri_vnormal.resize(vert_size); + float4 *tri_verts = dscene->tri_verts.resize(vert_size); + float4 *tri_vindex = dscene->tri_vindex.resize(tri_size); + + foreach(Mesh *mesh, scene->meshes) { + mesh->pack_normals(scene, &normal[mesh->tri_offset], &vnormal[mesh->vert_offset]); + mesh->pack_verts(&tri_verts[mesh->vert_offset], &tri_vindex[mesh->tri_offset], mesh->vert_offset); + + if(progress.get_cancel()) return; + } + + /* vertex coordinates */ + progress.set_status("Updating Mesh", "Copying Mesh to device"); + + device->tex_alloc("__tri_normal", dscene->tri_normal); + device->tex_alloc("__tri_vnormal", dscene->tri_vnormal); + device->tex_alloc("__tri_verts", dscene->tri_verts); + device->tex_alloc("__tri_vindex", dscene->tri_vindex); +} + +void MeshManager::device_update_bvh(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress) +{ + /* bvh build */ + progress.set_status("Updating Scene BVH", "Building"); + + BVHParams bparams; + bparams.top_level = true; + bparams.use_qbvh = scene->params.use_qbvh; + bparams.use_spatial_split = scene->params.use_bvh_spatial_split; + + delete bvh; + bvh = BVH::create(bparams, scene->objects); + bvh->build(progress); + + if(progress.get_cancel()) return; + + /* copy to device */ + progress.set_status("Updating Scene BVH", "Copying BVH to device"); + + PackedBVH& pack = bvh->pack; + + if(pack.nodes.size()) { + dscene->bvh_nodes.reference((float4*)&pack.nodes[0], pack.nodes.size()); + device->tex_alloc("__bvh_nodes", dscene->bvh_nodes); + } + if(pack.object_node.size()) { + dscene->object_node.reference((uint*)&pack.object_node[0], pack.object_node.size()); + device->tex_alloc("__object_node", dscene->object_node); + } + if(pack.tri_woop.size()) { + dscene->tri_woop.reference(&pack.tri_woop[0], pack.tri_woop.size()); + device->tex_alloc("__tri_woop", dscene->tri_woop); + } + if(pack.prim_index.size()) { + dscene->prim_index.reference((uint*)&pack.prim_index[0], pack.prim_index.size()); + device->tex_alloc("__prim_index", dscene->prim_index); + } + if(pack.prim_object.size()) { + dscene->prim_object.reference((uint*)&pack.prim_object[0], pack.prim_object.size()); + device->tex_alloc("__prim_object", dscene->prim_object); + } + + dscene->data.bvh.root = pack.root_index; +} + +void MeshManager::device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress) +{ + if(!need_update) + return; + + /* update normals */ + foreach(Mesh *mesh, scene->meshes) { + foreach(uint shader, mesh->used_shaders) + if(scene->shaders[shader]->need_update_attributes) + mesh->need_update = true; + + if(mesh->need_update) { + mesh->add_face_normals(); + mesh->add_vertex_normals(); + + if(progress.get_cancel()) return; + } + } + + /* device update */ + device_free(device, dscene); + + device_update_mesh(device, dscene, scene, progress); + if(progress.get_cancel()) return; + + device_update_attributes(device, dscene, scene, progress); + if(progress.get_cancel()) return; + + /* update displacement */ + bool displacement_done = false; + + foreach(Mesh *mesh, scene->meshes) + if(mesh->need_update && displace(device, scene, mesh, progress)) + displacement_done = true; + + /* todo: properly handle cancel halfway displacement */ + if(progress.get_cancel()) return; + + /* device re-update after displacement */ + if(displacement_done) { + device_free(device, dscene); + + device_update_mesh(device, dscene, scene, progress); + if(progress.get_cancel()) return; + + device_update_attributes(device, dscene, scene, progress); + if(progress.get_cancel()) return; + } + + /* update bvh */ + size_t i = 0, num_instance_bvh = 0; + + foreach(Mesh *mesh, scene->meshes) + if(mesh->need_update && !mesh->transform_applied) + num_instance_bvh++; + + foreach(Mesh *mesh, scene->meshes) { + if(mesh->need_update) { + mesh->compute_bounds(); + + if(!mesh->transform_applied) { + string msg = "Updating Mesh BVH "; + if(mesh->name == "") + msg += string_printf("%ld/%ld", i+1, num_instance_bvh); + else + msg += string_printf("%s %ld/%ld", mesh->name.c_str(), i+1, num_instance_bvh); + progress.set_status(msg, "Building BVH"); + + mesh->compute_bvh(&scene->params, progress); + } + + if(progress.get_cancel()) return; + + mesh->need_update = false; + mesh->need_update_rebuild = false; + } + + i++; + } + + foreach(Shader *shader, scene->shaders) + shader->need_update_attributes = false; + + foreach(Object *object, scene->objects) + object->compute_bounds(); + + if(progress.get_cancel()) return; + + device_update_bvh(device, dscene, scene, progress); + + need_update = false; +} + +void MeshManager::device_free(Device *device, DeviceScene *dscene) +{ + device->tex_free(dscene->bvh_nodes); + device->tex_free(dscene->object_node); + device->tex_free(dscene->tri_woop); + device->tex_free(dscene->prim_index); + device->tex_free(dscene->prim_object); + device->tex_free(dscene->tri_normal); + device->tex_free(dscene->tri_vnormal); + device->tex_free(dscene->tri_vindex); + device->tex_free(dscene->tri_verts); + device->tex_free(dscene->attributes_map); + device->tex_free(dscene->attributes_float); + device->tex_free(dscene->attributes_float3); + + dscene->bvh_nodes.clear(); + dscene->object_node.clear(); + dscene->tri_woop.clear(); + dscene->prim_index.clear(); + dscene->prim_object.clear(); + dscene->tri_normal.clear(); + dscene->tri_vnormal.clear(); + dscene->tri_vindex.clear(); + dscene->tri_verts.clear(); + dscene->attributes_map.clear(); + dscene->attributes_float.clear(); + dscene->attributes_float3.clear(); +} + +void MeshManager::tag_update(Scene *scene) +{ + need_update = true; + scene->object_manager->need_update = true; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/mesh.h b/intern/cycles/render/mesh.h new file mode 100644 index 00000000000..367896697ed --- /dev/null +++ b/intern/cycles/render/mesh.h @@ -0,0 +1,133 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __MESH_H__ +#define __MESH_H__ + +#include "attribute.h" +#include "shader.h" + +#include "util_boundbox.h" +#include "util_list.h" +#include "util_map.h" +#include "util_param.h" +#include "util_transform.h" +#include "util_types.h" +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +class BVH; +class Device; +class DeviceScene; +class Mesh; +class Progress; +class Scene; +class SceneParams; +class AttributeRequest; + +/* Mesh */ + +class Mesh { +public: + /* Mesh Triangle */ + struct Triangle { + int v[3]; + }; + + /* Displacement */ + enum DisplacementMethod { + DISPLACE_BUMP, + DISPLACE_TRUE, + DISPLACE_BOTH + }; + + ustring name; + + /* Mesh Data */ + vector verts; + vector triangles; + vector shader; + vector smooth; + + vector used_shaders; + AttributeSet attributes; + + BoundBox bounds; + bool transform_applied; + DisplacementMethod displacement_method; + + /* Update Flags */ + bool need_update; + bool need_update_rebuild; + + /* BVH */ + BVH *bvh; + size_t tri_offset; + size_t vert_offset; + + /* Functions */ + Mesh(); + ~Mesh(); + + void reserve(int numverts, int numfaces); + void clear(); + void add_triangle(int v0, int v1, int v2, int shader, bool smooth); + + void compute_bounds(); + void add_face_normals(); + void add_vertex_normals(); + + void pack_normals(Scene *scene, float4 *normal, float4 *vnormal); + void pack_verts(float4 *tri_verts, float4 *tri_vindex, size_t vert_offset); + void compute_bvh(SceneParams *params, Progress& progress); + + void tag_update(Scene *scene, bool rebuild); +}; + +/* Mesh Manager */ + +class MeshManager { +public: + BVH *bvh; + + bool need_update; + + MeshManager(); + ~MeshManager(); + + bool displace(Device *device, Scene *scene, Mesh *mesh, Progress& progress); + + /* attributes */ + void update_osl_attributes(Device *device, Scene *scene, vector& mesh_attributes); + void update_svm_attributes(Device *device, DeviceScene *dscene, Scene *scene, vector& mesh_attributes); + + void device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress); + void device_update_object(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress); + void device_update_mesh(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress); + void device_update_attributes(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress); + void device_update_bvh(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress); + void device_free(Device *device, DeviceScene *dscene); + + void tag_update(Scene *scene); +}; + +CCL_NAMESPACE_END + +#endif /* __MESH_H__ */ + diff --git a/intern/cycles/render/mesh_displace.cpp b/intern/cycles/render/mesh_displace.cpp new file mode 100644 index 00000000000..e86bea59ec1 --- /dev/null +++ b/intern/cycles/render/mesh_displace.cpp @@ -0,0 +1,153 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "device.h" + +#include "mesh.h" +#include "scene.h" +#include "shader.h" + +#include "util_foreach.h" +#include "util_progress.h" + +CCL_NAMESPACE_BEGIN + +bool MeshManager::displace(Device *device, Scene *scene, Mesh *mesh, Progress& progress) +{ + /* verify if we have a displacement shader */ + bool has_displacement = false; + + if(mesh->displacement_method != Mesh::DISPLACE_BUMP) { + foreach(uint sindex, mesh->used_shaders) + if(scene->shaders[sindex]->has_displacement) + has_displacement = true; + } + + if(!has_displacement) + return false; + + /* setup input for device task */ + vector done(mesh->verts.size(), false); + device_vector d_input; + uint4 *d_input_data = d_input.resize(mesh->verts.size()); + size_t d_input_offset = 0; + + for(size_t i = 0; i < mesh->triangles.size(); i++) { + Mesh::Triangle t = mesh->triangles[i]; + Shader *shader = scene->shaders[mesh->shader[i]]; + + if(!shader->has_displacement) + continue; + + for(int j = 0; j < 3; j++) { + if(done[t.v[j]]) + continue; + + done[t.v[j]] = true; + + /* set up object, primitive and barycentric coordinates */ + /* when used, non-instanced convention: object = -object-1; */ + int object = ~0; /* todo */ + int prim = mesh->tri_offset + i; + float u, v; + + if(j == 0) { + u = 1.0f; + v = 0.0f; + } + else if(j == 1) { + u = 0.0f; + v = 1.0f; + } + else { + u = 0.0f; + v = 0.0f; + } + + /* back */ + uint4 in = make_uint4(object, prim, __float_as_int(u), __float_as_int(v)); + d_input_data[d_input_offset++] = in; + } + } + + if(d_input_offset == 0) + return false; + + /* run device task */ + device_vector d_offset; + d_offset.resize(d_input.size()); + + device->mem_alloc(d_input, MEM_READ_ONLY); + device->mem_copy_to(d_input); + device->mem_alloc(d_offset, MEM_WRITE_ONLY); + + DeviceTask task(DeviceTask::DISPLACE); + task.displace_input = d_input.device_pointer; + task.displace_offset = d_offset.device_pointer; + task.displace_x = 0; + task.displace_w = d_input.size(); + + device->task_add(task); + device->task_wait(); + + device->mem_copy_from(d_offset, 0, sizeof(float3)*d_offset.size()); + device->mem_free(d_input); + device->mem_free(d_offset); + + if(progress.get_cancel()) + return false; + + /* read result */ + done.clear(); + done.resize(mesh->verts.size(), false); + int k = 0; + + float3 *offset = (float3*)d_offset.data_pointer; + + for(size_t i = 0; i < mesh->triangles.size(); i++) { + Mesh::Triangle t = mesh->triangles[i]; + Shader *shader = scene->shaders[mesh->shader[i]]; + + if(!shader->has_displacement) + continue; + + for(int j = 0; j < 3; j++) { + if(!done[t.v[j]]) { + done[t.v[j]] = true; + mesh->verts[t.v[j]] += offset[k++]; + } + } + } + + /* for displacement method both, we only need to recompute the face + * normals, as bump mapping in the shader will already alter the + * vertex normal, so we start from the non-displaced vertex normals + * to avoid applying the perturbation twice. */ + mesh->attributes.remove(Attribute::STD_FACE_NORMAL); + mesh->add_face_normals(); + + if(mesh->displacement_method == Mesh::DISPLACE_TRUE) { + mesh->attributes.remove(Attribute::STD_VERTEX_NORMAL); + mesh->add_vertex_normals(); + } + + return true; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp new file mode 100644 index 00000000000..d783c3699ea --- /dev/null +++ b/intern/cycles/render/nodes.cpp @@ -0,0 +1,1914 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "image.h" +#include "nodes.h" +#include "svm.h" +#include "osl.h" + +#include "util_transform.h" + +CCL_NAMESPACE_BEGIN + +/* Image Texture */ + +ImageTextureNode::ImageTextureNode() +: ShaderNode("image_texture") +{ + image_manager = NULL; + slot = -1; + filename = ""; + + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + add_output("Color", SHADER_SOCKET_COLOR); +} + +ImageTextureNode::~ImageTextureNode() +{ + if(image_manager && slot != -1) + image_manager->remove_image(slot); +} + +ShaderNode *ImageTextureNode::clone() const +{ + ImageTextureNode *node = new ImageTextureNode(*this); + node->image_manager = NULL; + node->slot = -1; + return node; +} + +void ImageTextureNode::compile(SVMCompiler& compiler) +{ + ShaderInput *vector_in = input("Vector"); + ShaderOutput *color_out = output("Color"); + + image_manager = compiler.image_manager; + if(slot == -1) + slot = image_manager->add_image(filename); + + compiler.stack_assign(color_out); + + if(slot != -1) { + compiler.stack_assign(vector_in); + compiler.add_node(NODE_TEX_IMAGE, slot, vector_in->stack_offset, color_out->stack_offset); + } + else { + /* image not found */ + compiler.add_node(NODE_VALUE_V, color_out->stack_offset); + compiler.add_node(NODE_VALUE_V, make_float3(0, 0, 0)); + } +} + +void ImageTextureNode::compile(OSLCompiler& compiler) +{ + compiler.parameter("filename", filename.c_str()); + compiler.add(this, "node_image_texture"); +} + +/* Environment Texture */ + +EnvironmentTextureNode::EnvironmentTextureNode() +: ShaderNode("environment_texture") +{ + image_manager = NULL; + slot = -1; + filename = ""; + + add_input("Vector", SHADER_SOCKET_VECTOR, ShaderInput::POSITION); + add_output("Color", SHADER_SOCKET_COLOR); +} + +EnvironmentTextureNode::~EnvironmentTextureNode() +{ + if(image_manager && slot != -1) + image_manager->remove_image(slot); +} + +ShaderNode *EnvironmentTextureNode::clone() const +{ + EnvironmentTextureNode *node = new EnvironmentTextureNode(*this); + node->image_manager = NULL; + node->slot = -1; + return node; +} + +void EnvironmentTextureNode::compile(SVMCompiler& compiler) +{ + ShaderInput *vector_in = input("Vector"); + ShaderOutput *color_out = output("Color"); + + image_manager = compiler.image_manager; + if(slot == -1) + slot = image_manager->add_image(filename); + + compiler.stack_assign(color_out); + + if(slot != -1) { + compiler.stack_assign(vector_in); + compiler.add_node(NODE_TEX_ENVIRONMENT, slot, vector_in->stack_offset, color_out->stack_offset); + } + else { + /* image not found */ + compiler.add_node(NODE_VALUE_V, color_out->stack_offset); + compiler.add_node(NODE_VALUE_V, make_float3(0, 0, 0)); + } +} + +void EnvironmentTextureNode::compile(OSLCompiler& compiler) +{ + compiler.parameter("filename", filename.c_str()); + compiler.add(this, "node_environment_texture"); +} + +/* Sky Texture */ + +static float2 sky_spherical_coordinates(float3 dir) +{ + return make_float2(acosf(dir.z), atan2f(dir.x, dir.y)); +} + +static float sky_perez_function(float lam[6], float theta, float gamma) +{ + return (1.f + lam[0]*expf(lam[1]/cosf(theta))) * (1.f + lam[2]*expf(lam[3]*gamma) + lam[4]*cosf(gamma)*cosf(gamma)); +} + +static void sky_texture_precompute(KernelSunSky *ksunsky, float3 dir, float turbidity) +{ + float2 spherical = sky_spherical_coordinates(dir); + float theta = spherical.x; + float phi = spherical.y; + + ksunsky->theta = theta; + ksunsky->phi = phi; + ksunsky->dir = dir; + + float theta2 = theta*theta; + float theta3 = theta*theta*theta; + float T = turbidity; + float T2 = T * T; + + float chi = (4.0f / 9.0f - T / 120.0f) * (M_PI_F - 2.0f * theta); + ksunsky->zenith_Y = (4.0453f * T - 4.9710f) * tan(chi) - 0.2155f * T + 2.4192f; + ksunsky->zenith_Y *= 0.06f; + + ksunsky->zenith_x = + (0.00166f * theta3 - 0.00375f * theta2 + 0.00209f * theta) * T2 + + (-0.02903f * theta3 + 0.06377f * theta2 - 0.03202f * theta + 0.00394f) * T + + (0.11693f * theta3 - 0.21196f * theta2 + 0.06052f * theta + 0.25886f); + + ksunsky->zenith_y = + (0.00275f * theta3 - 0.00610f * theta2 + 0.00317f * theta) * T2 + + (-0.04214f * theta3 + 0.08970f * theta2 - 0.04153f * theta + 0.00516f) * T + + (0.15346f * theta3 - 0.26756f * theta2 + 0.06670f * theta + 0.26688f); + + ksunsky->perez_Y[0] = (0.1787f * T - 1.4630f); + ksunsky->perez_Y[1] = (-0.3554f * T + 0.4275f); + ksunsky->perez_Y[2] = (-0.0227f * T + 5.3251f); + ksunsky->perez_Y[3] = (0.1206f * T - 2.5771f); + ksunsky->perez_Y[4] = (-0.0670f * T + 0.3703f); + + ksunsky->perez_x[0] = (-0.0193f * T - 0.2592f); + ksunsky->perez_x[1] = (-0.0665f * T + 0.0008f); + ksunsky->perez_x[2] = (-0.0004f * T + 0.2125f); + ksunsky->perez_x[3] = (-0.0641f * T - 0.8989f); + ksunsky->perez_x[4] = (-0.0033f * T + 0.0452f); + + ksunsky->perez_y[0] = (-0.0167f * T - 0.2608f); + ksunsky->perez_y[1] = (-0.0950f * T + 0.0092f); + ksunsky->perez_y[2] = (-0.0079f * T + 0.2102f); + ksunsky->perez_y[3] = (-0.0441f * T - 1.6537f); + ksunsky->perez_y[4] = (-0.0109f * T + 0.0529f); + + ksunsky->zenith_Y /= sky_perez_function(ksunsky->perez_Y, 0, theta); + ksunsky->zenith_x /= sky_perez_function(ksunsky->perez_x, 0, theta); + ksunsky->zenith_y /= sky_perez_function(ksunsky->perez_y, 0, theta); +} + +SkyTextureNode::SkyTextureNode() +: ShaderNode("sky_texture") +{ + sun_direction = make_float3(0.0f, 0.0f, 1.0f); + turbidity = 2.2f; + + add_input("Vector", SHADER_SOCKET_VECTOR, ShaderInput::POSITION); + add_output("Color", SHADER_SOCKET_COLOR); +} + +void SkyTextureNode::compile(SVMCompiler& compiler) +{ + ShaderInput *vector_in = input("Vector"); + ShaderOutput *color_out = output("Color"); + + if(compiler.sunsky) { + sky_texture_precompute(compiler.sunsky, sun_direction, turbidity); + compiler.sunsky = NULL; + } + + if(vector_in->link) + compiler.stack_assign(vector_in); + compiler.stack_assign(color_out); + compiler.add_node(NODE_TEX_SKY, vector_in->stack_offset, color_out->stack_offset); +} + +void SkyTextureNode::compile(OSLCompiler& compiler) +{ + compiler.parameter_vector("sun_direction", sun_direction); + compiler.parameter("turbidity", turbidity); + compiler.add(this, "node_sky_texture"); +} + +/* Noise Texture */ + +NoiseTextureNode::NoiseTextureNode() +: ShaderNode("noise_texture") +{ + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + add_output("Color", SHADER_SOCKET_COLOR); + add_output("Fac", SHADER_SOCKET_FLOAT); +} + +void NoiseTextureNode::compile(SVMCompiler& compiler) +{ + ShaderInput *vector_in = input("Vector"); + ShaderOutput *color_out = output("Color"); + ShaderOutput *fac_out = output("Fac"); + + if(!color_out->links.empty()) { + compiler.stack_assign(vector_in); + compiler.stack_assign(color_out); + compiler.add_node(NODE_TEX_NOISE_V, vector_in->stack_offset, color_out->stack_offset); + } + + if(!fac_out->links.empty()) { + compiler.stack_assign(vector_in); + compiler.stack_assign(fac_out); + compiler.add_node(NODE_TEX_NOISE_F, vector_in->stack_offset, fac_out->stack_offset); + } +} + +void NoiseTextureNode::compile(OSLCompiler& compiler) +{ + compiler.add(this, "node_noise_texture"); +} + +/* Blend Texture */ + +static ShaderEnum blend_progression_init() +{ + ShaderEnum enm; + + enm.insert("Linear", NODE_BLEND_LINEAR); + enm.insert("Quadratic", NODE_BLEND_QUADRATIC); + enm.insert("Easing", NODE_BLEND_EASING); + enm.insert("Diagonal", NODE_BLEND_DIAGONAL); + enm.insert("Radial", NODE_BLEND_RADIAL); + enm.insert("Quadratic Sphere", NODE_BLEND_QUADRATIC_SPHERE); + enm.insert("Spherical", NODE_BLEND_SPHERICAL); + + return enm; +} + +static ShaderEnum blend_axis_init() +{ + ShaderEnum enm; + + enm.insert("Horizontal", NODE_BLEND_HORIZONTAL); + enm.insert("Vertical", NODE_BLEND_VERTICAL); + + return enm; +} + +ShaderEnum BlendTextureNode::progression_enum = blend_progression_init(); +ShaderEnum BlendTextureNode::axis_enum = blend_axis_init(); + +BlendTextureNode::BlendTextureNode() +: ShaderNode("blend_texture") +{ + progression = ustring("Linear"); + axis = ustring("Horizontal"); + + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + add_output("Fac", SHADER_SOCKET_FLOAT); +} + +void BlendTextureNode::compile(SVMCompiler& compiler) +{ + ShaderInput *vector_in = input("Vector"); + ShaderOutput *fac_out = output("Fac"); + + if(vector_in->link) compiler.stack_assign(vector_in); + + compiler.stack_assign(fac_out); + compiler.add_node(NODE_TEX_BLEND, + compiler.encode_uchar4(progression_enum[progression], axis_enum[axis]), + vector_in->stack_offset, fac_out->stack_offset); +} + +void BlendTextureNode::compile(OSLCompiler& compiler) +{ + compiler.parameter("Progression", progression); + compiler.parameter("Axis", axis); + compiler.add(this, "node_blend_texture"); +} + +/* Clouds Texture */ + +static ShaderEnum noise_basis_init() +{ + ShaderEnum enm; + + enm.insert("Perlin", NODE_NOISE_PERLIN); + enm.insert("Voronoi F1", NODE_NOISE_VORONOI_F1); + enm.insert("Voronoi F2", NODE_NOISE_VORONOI_F2); + enm.insert("Voronoi F3", NODE_NOISE_VORONOI_F3); + enm.insert("Voronoi F4", NODE_NOISE_VORONOI_F4); + enm.insert("Voronoi F2-F1", NODE_NOISE_VORONOI_F2_F1); + enm.insert("Voronoi Crackle", NODE_NOISE_VORONOI_CRACKLE); + enm.insert("Cell Noise", NODE_NOISE_CELL_NOISE); + + return enm; +} + +ShaderEnum CloudsTextureNode::basis_enum = noise_basis_init(); + +CloudsTextureNode::CloudsTextureNode() +: ShaderNode("clouds_texture") +{ + basis = ustring("Perlin"); + hard = false; + depth = 2; + + add_input("Size", SHADER_SOCKET_FLOAT, 0.25f); + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + + add_output("Color", SHADER_SOCKET_COLOR); + add_output("Fac", SHADER_SOCKET_FLOAT); +} + +void CloudsTextureNode::compile(SVMCompiler& compiler) +{ + ShaderInput *size_in = input("Size"); + ShaderInput *vector_in = input("Vector"); + ShaderOutput *color_out = output("Color"); + ShaderOutput *fac_out = output("Fac"); + + if(vector_in->link) compiler.stack_assign(vector_in); + if(size_in->link) compiler.stack_assign(size_in); + + compiler.stack_assign(color_out); + compiler.stack_assign(fac_out); + + compiler.add_node(NODE_TEX_CLOUDS, + compiler.encode_uchar4(basis_enum[basis], hard, depth), + compiler.encode_uchar4(size_in->stack_offset, vector_in->stack_offset, fac_out->stack_offset, color_out->stack_offset), + __float_as_int(size_in->value.x)); +} + +void CloudsTextureNode::compile(OSLCompiler& compiler) +{ + compiler.parameter("Hard", (hard)? 1: 0); + compiler.parameter("Depth", depth); + compiler.parameter("Basis", basis); + compiler.add(this, "node_clouds_texture"); +} + +/* Voronoi Texture */ + +static ShaderEnum distance_metric_init() +{ + ShaderEnum enm; + + enm.insert("Distance Squared", NODE_VORONOI_DISTANCE_SQUARED); + enm.insert("Actual Distance", NODE_VORONOI_ACTUAL_DISTANCE); + enm.insert("Manhattan", NODE_VORONOI_MANHATTAN); + enm.insert("Chebychev", NODE_VORONOI_CHEBYCHEV); + enm.insert("Minkovsky 1/2", NODE_VORONOI_MINKOVSKY_H); + enm.insert("Minkovsky 4", NODE_VORONOI_MINKOVSKY_4); + enm.insert("Minkovsky", NODE_VORONOI_MINKOVSKY); + + return enm; +} + +static ShaderEnum voronoi_coloring_init() +{ + ShaderEnum enm; + + enm.insert("Intensity", NODE_VORONOI_INTENSITY); + enm.insert("Position", NODE_VORONOI_POSITION); + enm.insert("Position and Outline", NODE_VORONOI_POSITION_OUTLINE); + enm.insert("Position, Outline, and Intensity", NODE_VORONOI_POSITION_OUTLINE_INTENSITY); + + return enm; +} + +ShaderEnum VoronoiTextureNode::distance_metric_enum = distance_metric_init(); +ShaderEnum VoronoiTextureNode::coloring_enum = voronoi_coloring_init(); + +VoronoiTextureNode::VoronoiTextureNode() +: ShaderNode("voronoi_texture") +{ + distance_metric = ustring("Actual Distance"); + coloring = ustring("Intensity"); + + add_input("Size", SHADER_SOCKET_FLOAT, 0.25f); + add_input("Weight1", SHADER_SOCKET_FLOAT, 1.0f); + add_input("Weight2", SHADER_SOCKET_FLOAT, 0.0f); + add_input("Weight3", SHADER_SOCKET_FLOAT, 0.0f); + add_input("Weight4", SHADER_SOCKET_FLOAT, 0.0f); + add_input("Exponent", SHADER_SOCKET_FLOAT, 2.5f); + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + + add_output("Color", SHADER_SOCKET_COLOR); + add_output("Fac", SHADER_SOCKET_FLOAT); +} + +void VoronoiTextureNode::compile(SVMCompiler& compiler) +{ + ShaderInput *weight1_in = input("Weight1"); + ShaderInput *weight2_in = input("Weight2"); + ShaderInput *weight3_in = input("Weight3"); + ShaderInput *weight4_in = input("Weight4"); + ShaderInput *exponent_in = input("Exponent"); + ShaderInput *size_in = input("Size"); + ShaderInput *vector_in = input("Vector"); + ShaderOutput *color_out = output("Color"); + ShaderOutput *fac_out = output("Fac"); + + if(weight1_in->link) compiler.stack_assign(weight1_in); + if(weight2_in->link) compiler.stack_assign(weight2_in); + if(weight3_in->link) compiler.stack_assign(weight3_in); + if(weight4_in->link) compiler.stack_assign(weight4_in); + if(exponent_in->link) compiler.stack_assign(exponent_in); + if(vector_in->link) compiler.stack_assign(vector_in); + if(size_in->link) compiler.stack_assign(size_in); + + compiler.stack_assign(color_out); + compiler.stack_assign(fac_out); + + compiler.add_node(NODE_TEX_VORONOI, + compiler.encode_uchar4(distance_metric_enum[distance_metric], coloring_enum[coloring], exponent_in->stack_offset), + compiler.encode_uchar4(size_in->stack_offset, vector_in->stack_offset, fac_out->stack_offset, color_out->stack_offset), + compiler.encode_uchar4(weight1_in->stack_offset, weight2_in->stack_offset, weight3_in->stack_offset, weight4_in->stack_offset)); + compiler.add_node(__float_as_int(weight1_in->value.x), + __float_as_int(weight2_in->value.x), + __float_as_int(weight3_in->value.x), + __float_as_int(weight4_in->value.x)); + compiler.add_node(__float_as_int(exponent_in->value.x), + __float_as_int(size_in->value.x)); +} + +void VoronoiTextureNode::compile(OSLCompiler& compiler) +{ + compiler.parameter("DistanceMetric", distance_metric); + compiler.parameter("Coloring", coloring); + compiler.add(this, "node_voronoi_texture"); +} + +/* Musgrave Texture */ + +static ShaderEnum musgrave_type_init() +{ + ShaderEnum enm; + + enm.insert("Multifractal", NODE_MUSGRAVE_MULTIFRACTAL); + enm.insert("fBM", NODE_MUSGRAVE_FBM); + enm.insert("Hybrid Multifractal", NODE_MUSGRAVE_HYBRID_MULTIFRACTAL); + enm.insert("Ridged Multifractal", NODE_MUSGRAVE_RIDGED_MULTIFRACTAL); + enm.insert("Hetero Terrain", NODE_MUSGRAVE_HETERO_TERRAIN); + + return enm; +} + +ShaderEnum MusgraveTextureNode::type_enum = musgrave_type_init(); +ShaderEnum MusgraveTextureNode::basis_enum = noise_basis_init(); + +MusgraveTextureNode::MusgraveTextureNode() +: ShaderNode("musgrave_texture") +{ + type = ustring("fBM"); + basis = ustring("Perlin"); + + add_input("Dimension", SHADER_SOCKET_FLOAT, 2.0f); + add_input("Lacunarity", SHADER_SOCKET_FLOAT, 1.0f); + add_input("Octaves", SHADER_SOCKET_FLOAT, 2.0f); + add_input("Offset", SHADER_SOCKET_FLOAT, 0.0f); + add_input("Gain", SHADER_SOCKET_FLOAT, 1.0f); + add_input("Size", SHADER_SOCKET_FLOAT, 0.25f); + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + + add_output("Fac", SHADER_SOCKET_FLOAT); +} + +void MusgraveTextureNode::compile(SVMCompiler& compiler) +{ + ShaderInput *vector_in = input("Vector"); + ShaderInput *dimension_in = input("Dimension"); + ShaderInput *lacunarity_in = input("Lacunarity"); + ShaderInput *octaves_in = input("Octaves"); + ShaderInput *offset_in = input("Offset"); + ShaderInput *gain_in = input("Gain"); + ShaderInput *size_in = input("Size"); + ShaderOutput *fac_out = output("Fac"); + + if(vector_in->link) compiler.stack_assign(vector_in); + if(dimension_in->link) compiler.stack_assign(dimension_in); + if(lacunarity_in->link) compiler.stack_assign(lacunarity_in); + if(octaves_in->link) compiler.stack_assign(octaves_in); + if(offset_in->link) compiler.stack_assign(offset_in); + if(gain_in->link) compiler.stack_assign(gain_in); + if(size_in->link) compiler.stack_assign(size_in); + + compiler.stack_assign(fac_out); + compiler.add_node(NODE_TEX_MUSGRAVE, + compiler.encode_uchar4(type_enum[type], basis_enum[basis], vector_in->stack_offset, fac_out->stack_offset), + compiler.encode_uchar4(dimension_in->stack_offset, lacunarity_in->stack_offset, octaves_in->stack_offset, offset_in->stack_offset), + compiler.encode_uchar4(gain_in->stack_offset, size_in->stack_offset)); + compiler.add_node(__float_as_int(dimension_in->value.x), + __float_as_int(lacunarity_in->value.x), + __float_as_int(octaves_in->value.x), + __float_as_int(offset_in->value.x)); + compiler.add_node(__float_as_int(gain_in->value.x), + __float_as_int(size_in->value.x)); +} + +void MusgraveTextureNode::compile(OSLCompiler& compiler) +{ + compiler.parameter("Type", type); + compiler.parameter("Basis", basis); + + compiler.add(this, "node_musgrave_texture"); +} + +/* Marble Texture */ + +static ShaderEnum marble_type_init() +{ + ShaderEnum enm; + + enm.insert("Soft", NODE_MARBLE_SOFT); + enm.insert("Sharp", NODE_MARBLE_SHARP); + enm.insert("Sharper", NODE_MARBLE_SHARPER); + + return enm; +} + +static ShaderEnum noise_wave_init() +{ + ShaderEnum enm; + + enm.insert("Sine", NODE_WAVE_SINE); + enm.insert("Saw", NODE_WAVE_SAW); + enm.insert("Tri", NODE_WAVE_TRI); + + return enm; +} + +ShaderEnum MarbleTextureNode::type_enum = marble_type_init(); +ShaderEnum MarbleTextureNode::wave_enum = noise_wave_init(); +ShaderEnum MarbleTextureNode::basis_enum = noise_basis_init(); + +MarbleTextureNode::MarbleTextureNode() +: ShaderNode("marble_texture") +{ + type = ustring("Soft"); + wave = ustring("Sine"); + basis = ustring("Perlin"); + hard = false; + depth = 2; + + add_input("Size", SHADER_SOCKET_FLOAT, 0.25f); + add_input("Turbulence", SHADER_SOCKET_FLOAT, 5.0f); + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + + add_output("Fac", SHADER_SOCKET_FLOAT); +} + +void MarbleTextureNode::compile(SVMCompiler& compiler) +{ + ShaderInput *size_in = input("Size"); + ShaderInput *turbulence_in = input("Turbulence"); + ShaderInput *vector_in = input("Vector"); + ShaderOutput *fac_out = output("Fac"); + + if(size_in->link) compiler.stack_assign(size_in); + if(turbulence_in->link) compiler.stack_assign(turbulence_in); + if(vector_in->link) compiler.stack_assign(vector_in); + + compiler.stack_assign(fac_out); + compiler.add_node(NODE_TEX_MARBLE, + compiler.encode_uchar4(type_enum[type], wave_enum[wave], basis_enum[basis], hard), + compiler.encode_uchar4(depth), + compiler.encode_uchar4(size_in->stack_offset, turbulence_in->stack_offset, vector_in->stack_offset, fac_out->stack_offset)); + compiler.add_node(__float_as_int(size_in->value.x), __float_as_int(turbulence_in->value.x)); +} + +void MarbleTextureNode::compile(OSLCompiler& compiler) +{ + compiler.parameter("Type", type); + compiler.parameter("Wave", wave); + compiler.parameter("Basis", basis); + compiler.parameter("Hard", (hard)? 1: 0); + compiler.parameter("Depth", depth); + + compiler.add(this, "node_marble_texture"); +} + +/* Magic Texture */ + +MagicTextureNode::MagicTextureNode() +: ShaderNode("magic_texture") +{ + depth = 2; + + add_input("Turbulence", SHADER_SOCKET_FLOAT, 5.0f); + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + add_output("Color", SHADER_SOCKET_COLOR); +} + +void MagicTextureNode::compile(SVMCompiler& compiler) +{ + ShaderInput *vector_in = input("Vector"); + ShaderInput *turbulence_in = input("Turbulence"); + ShaderOutput *color_out = output("Color"); + + if(vector_in->link) compiler.stack_assign(vector_in); + if(turbulence_in->link) compiler.stack_assign(turbulence_in); + + compiler.stack_assign(color_out); + compiler.add_node(NODE_TEX_MAGIC, + compiler.encode_uchar4(depth, turbulence_in->stack_offset, vector_in->stack_offset, color_out->stack_offset), + __float_as_int(turbulence_in->value.x)); +} + +void MagicTextureNode::compile(OSLCompiler& compiler) +{ + compiler.parameter("Depth", depth); + compiler.add(this, "node_magic_texture"); +} + +/* Stucci Texture */ + +static ShaderEnum stucci_type_init() +{ + ShaderEnum enm; + + enm.insert("Plastic", NODE_STUCCI_PLASTIC); + enm.insert("Wall In", NODE_STUCCI_WALL_IN); + enm.insert("Wall Out", NODE_STUCCI_WALL_OUT); + + return enm; +} + +ShaderEnum StucciTextureNode::type_enum = stucci_type_init(); +ShaderEnum StucciTextureNode::basis_enum = noise_basis_init(); + +StucciTextureNode::StucciTextureNode() +: ShaderNode("stucci_texture") +{ + type = ustring("Plastic"); + basis = ustring("Perlin"); + hard = false; + + add_input("Size", SHADER_SOCKET_FLOAT, 1.0f); + add_input("Turbulence", SHADER_SOCKET_FLOAT, 1.0f); + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + + add_output("Fac", SHADER_SOCKET_FLOAT); +} + +void StucciTextureNode::compile(SVMCompiler& compiler) +{ + ShaderInput *size_in = input("Size"); + ShaderInput *turbulence_in = input("Turbulence"); + ShaderInput *vector_in = input("Vector"); + ShaderOutput *fac_out = output("Fac"); + + if(size_in->link) compiler.stack_assign(size_in); + if(turbulence_in->link) compiler.stack_assign(turbulence_in); + if(vector_in->link) compiler.stack_assign(vector_in); + + compiler.stack_assign(fac_out); + + compiler.add_node(NODE_TEX_STUCCI, + compiler.encode_uchar4(type_enum[type], basis_enum[basis], hard), + compiler.encode_uchar4(size_in->stack_offset, turbulence_in->stack_offset, + vector_in->stack_offset, fac_out->stack_offset)); + compiler.add_node(__float_as_int(size_in->value.x), + __float_as_int(turbulence_in->value.x)); +} + +void StucciTextureNode::compile(OSLCompiler& compiler) +{ + compiler.parameter("Type", type); + compiler.parameter("Basis", basis); + compiler.parameter("Hard", (hard)? 1: 0); + compiler.add(this, "node_stucci_texture"); +} + +/* Distorted Noise Texture */ + +ShaderEnum DistortedNoiseTextureNode::basis_enum = noise_basis_init(); + +DistortedNoiseTextureNode::DistortedNoiseTextureNode() +: ShaderNode("distorted_noise_texture") +{ + basis = ustring("Perlin"); + distortion_basis = ustring("Perlin"); + + add_input("Size", SHADER_SOCKET_FLOAT, 0.25f); + add_input("Distortion", SHADER_SOCKET_FLOAT, 1.0f); + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + + add_output("Fac", SHADER_SOCKET_FLOAT); +} + +void DistortedNoiseTextureNode::compile(SVMCompiler& compiler) +{ + ShaderInput *size_in = input("Size"); + ShaderInput *distortion_in = input("Distortion"); + ShaderInput *vector_in = input("Vector"); + ShaderOutput *fac_out = output("Fac"); + + if(size_in->link) compiler.stack_assign(size_in); + if(distortion_in->link) compiler.stack_assign(distortion_in); + if(vector_in->link) compiler.stack_assign(vector_in); + + compiler.stack_assign(fac_out); + + compiler.add_node(NODE_TEX_DISTORTED_NOISE, + compiler.encode_uchar4(basis_enum[basis], basis_enum[distortion_basis]), + compiler.encode_uchar4(size_in->stack_offset, distortion_in->stack_offset, vector_in->stack_offset, fac_out->stack_offset)); + compiler.add_node(__float_as_int(size_in->value.x), + __float_as_int(distortion_in->value.x)); +} + +void DistortedNoiseTextureNode::compile(OSLCompiler& compiler) +{ + compiler.parameter("Basis", basis); + compiler.parameter("DistortionBasis", distortion_basis); + compiler.add(this, "node_distorted_noise_texture"); +} + +/* Wood Texture */ + +static ShaderEnum wood_type_init() +{ + ShaderEnum enm; + + enm.insert("Bands", NODE_WOOD_BANDS); + enm.insert("Rings", NODE_WOOD_RINGS); + enm.insert("Band Noise", NODE_WOOD_BAND_NOISE); + enm.insert("Ring Noise", NODE_WOOD_RING_NOISE); + + return enm; +} + +ShaderEnum WoodTextureNode::type_enum = wood_type_init(); +ShaderEnum WoodTextureNode::wave_enum = noise_wave_init(); +ShaderEnum WoodTextureNode::basis_enum = noise_basis_init(); + +WoodTextureNode::WoodTextureNode() +: ShaderNode("wood_texture") +{ + type = ustring("Bands"); + wave = ustring("Sine"); + basis = ustring("Perlin"); + hard = false; + + add_input("Size", SHADER_SOCKET_FLOAT, 0.25f); + add_input("Turbulence", SHADER_SOCKET_FLOAT, 5.0f); + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + + add_output("Fac", SHADER_SOCKET_FLOAT); +} + +void WoodTextureNode::compile(SVMCompiler& compiler) +{ + ShaderInput *vector_in = input("Vector"); + ShaderInput *size_in = input("Size"); + ShaderInput *turbulence_in = input("Turbulence"); + ShaderOutput *fac_out = output("Fac"); + + if(vector_in->link) compiler.stack_assign(vector_in); + if(size_in->link) compiler.stack_assign(size_in); + if(turbulence_in->link) compiler.stack_assign(turbulence_in); + + compiler.stack_assign(fac_out); + compiler.add_node(NODE_TEX_WOOD, + compiler.encode_uchar4(type_enum[type], wave_enum[wave], basis_enum[basis], hard), + compiler.encode_uchar4(vector_in->stack_offset, size_in->stack_offset, turbulence_in->stack_offset, fac_out->stack_offset)); + compiler.add_node(NODE_TEX_WOOD, make_float3(size_in->value.x, turbulence_in->value.x, 0.0f)); +} + +void WoodTextureNode::compile(OSLCompiler& compiler) +{ + compiler.parameter("Type", type); + compiler.parameter("Wave", wave); + compiler.parameter("Basis", basis); + compiler.parameter("Hard", (hard)? 1: 0); + compiler.add(this, "node_wood_texture"); +} + +/* Mapping */ + +MappingNode::MappingNode() +: ShaderNode("mapping") +{ + add_input("Vector", SHADER_SOCKET_POINT); + add_output("Vector", SHADER_SOCKET_POINT); + + translation = make_float3(0.0f, 0.0f, 0.0f); + rotation = make_float3(0.0f, 0.0f, 0.0f); + scale = make_float3(1.0f, 1.0f, 1.0f); +} + +Transform MappingNode::compute_transform() +{ + Transform smat = transform_scale(scale); + Transform rmat = transform_euler(rotation); + Transform tmat = transform_translate(translation); + + return tmat*rmat*smat; +} + +void MappingNode::compile(SVMCompiler& compiler) +{ + ShaderInput *vector_in = input("Vector"); + ShaderOutput *vector_out = output("Vector"); + + compiler.stack_assign(vector_in); + compiler.stack_assign(vector_out); + + compiler.add_node(NODE_MAPPING, vector_in->stack_offset, vector_out->stack_offset); + + Transform tfm = compute_transform(); + compiler.add_node(tfm.x); + compiler.add_node(tfm.y); + compiler.add_node(tfm.z); + compiler.add_node(tfm.w); +} + +void MappingNode::compile(OSLCompiler& compiler) +{ + Transform tfm = transform_transpose(compute_transform()); + compiler.parameter("Matrix", tfm); + + compiler.add(this, "node_mapping"); +} + +/* Convert */ + +ConvertNode::ConvertNode(ShaderSocketType from_, ShaderSocketType to_) +: ShaderNode("convert") +{ + from = from_; + to = to_; + + assert(from != to); + + if(from == SHADER_SOCKET_FLOAT) + add_input("Val", SHADER_SOCKET_FLOAT); + else if(from == SHADER_SOCKET_COLOR) + add_input("Color", SHADER_SOCKET_COLOR); + else if(from == SHADER_SOCKET_VECTOR) + add_input("Vector", SHADER_SOCKET_VECTOR); + else if(from == SHADER_SOCKET_POINT) + add_input("Point", SHADER_SOCKET_POINT); + else if(from == SHADER_SOCKET_NORMAL) + add_input("Normal", SHADER_SOCKET_NORMAL); + else + assert(0); + + if(to == SHADER_SOCKET_FLOAT) + add_output("Val", SHADER_SOCKET_FLOAT); + else if(to == SHADER_SOCKET_COLOR) + add_output("Color", SHADER_SOCKET_COLOR); + else if(to == SHADER_SOCKET_VECTOR) + add_output("Vector", SHADER_SOCKET_VECTOR); + else if(to == SHADER_SOCKET_POINT) + add_output("Point", SHADER_SOCKET_POINT); + else if(to == SHADER_SOCKET_NORMAL) + add_output("Normal", SHADER_SOCKET_NORMAL); + else + assert(0); +} + +void ConvertNode::compile(SVMCompiler& compiler) +{ + ShaderInput *in = inputs[0]; + ShaderOutput *out = outputs[0]; + + if(to == SHADER_SOCKET_FLOAT) { + compiler.stack_assign(in); + compiler.stack_assign(out); + + if(from == SHADER_SOCKET_COLOR) + /* color to float */ + compiler.add_node(NODE_CONVERT, NODE_CONVERT_CF, in->stack_offset, out->stack_offset); + else + /* vector/point/normal to float */ + compiler.add_node(NODE_CONVERT, NODE_CONVERT_VF, in->stack_offset, out->stack_offset); + } + else if(from == SHADER_SOCKET_FLOAT) { + compiler.stack_assign(in); + compiler.stack_assign(out); + + /* float to float3 */ + compiler.add_node(NODE_CONVERT, NODE_CONVERT_FV, in->stack_offset, out->stack_offset); + } + else { + /* float3 to float3 */ + if(in->link) { + /* no op in SVM */ + compiler.stack_link(in, out); + } + else { + /* set 0,0,0 value */ + compiler.stack_assign(in); + compiler.stack_assign(out); + + compiler.add_node(NODE_VALUE_V, in->stack_offset); + compiler.add_node(NODE_VALUE_V, in->value); + } + } +} + +void ConvertNode::compile(OSLCompiler& compiler) +{ + if(from == SHADER_SOCKET_FLOAT) + compiler.add(this, "node_convert_from_float"); + else if(from == SHADER_SOCKET_COLOR) + compiler.add(this, "node_convert_from_color"); + else if(from == SHADER_SOCKET_VECTOR) + compiler.add(this, "node_convert_from_vector"); + else if(from == SHADER_SOCKET_POINT) + compiler.add(this, "node_convert_from_point"); + else if(from == SHADER_SOCKET_NORMAL) + compiler.add(this, "node_convert_from_normal"); + else + assert(0); +} + +/* BSDF Closure */ + +BsdfNode::BsdfNode() +: ShaderNode("bsdf") +{ + closure = ccl::CLOSURE_BSDF_DIFFUSE_ID; + + add_input("Color", SHADER_SOCKET_COLOR, make_float3(0.8f, 0.8f, 0.8f)); + add_input("Normal", SHADER_SOCKET_NORMAL, ShaderInput::NORMAL, true); + + add_output("BSDF", SHADER_SOCKET_CLOSURE); +} + +void BsdfNode::compile(SVMCompiler& compiler, ShaderInput *param1, ShaderInput *param2) +{ + ShaderInput *color_in = input("Color"); + + if(color_in->link) { + compiler.stack_assign(color_in); + compiler.add_node(NODE_CLOSURE_WEIGHT, color_in->stack_offset); + } + else + compiler.add_node(NODE_CLOSURE_SET_WEIGHT, color_in->value); + + compiler.add_node(NODE_CLOSURE_BSDF, + closure, + (param1)? __float_as_int(param1->value.x): 0.0f, + (param2)? __float_as_int(param2->value.x): 0.0f); +} + +void BsdfNode::compile(SVMCompiler& compiler) +{ + compile(compiler, NULL, NULL); +} + +void BsdfNode::compile(OSLCompiler& compiler) +{ + assert(0); +} + +/* Ward BSDF Closure */ + +WardBsdfNode::WardBsdfNode() +{ + closure = CLOSURE_BSDF_WARD_ID; + + add_input("Roughness U", SHADER_SOCKET_FLOAT, 0.2f); + add_input("Roughness V", SHADER_SOCKET_FLOAT, 0.2f); +} + +void WardBsdfNode::compile(SVMCompiler& compiler) +{ + BsdfNode::compile(compiler, input("Roughness U"), input("Roughness V")); +} + +void WardBsdfNode::compile(OSLCompiler& compiler) +{ + compiler.add(this, "node_ward_bsdf"); +} + +/* Glossy BSDF Closure */ + +static ShaderEnum glossy_distribution_init() +{ + ShaderEnum enm; + + enm.insert("Sharp", CLOSURE_BSDF_REFLECTION_ID); + enm.insert("Beckmann", CLOSURE_BSDF_MICROFACET_BECKMANN_ID); + enm.insert("GGX", CLOSURE_BSDF_MICROFACET_GGX_ID); + + return enm; +} + +ShaderEnum GlossyBsdfNode::distribution_enum = glossy_distribution_init(); + +GlossyBsdfNode::GlossyBsdfNode() +{ + distribution = ustring("Beckmann"); + + add_input("Roughness", SHADER_SOCKET_FLOAT, 0.2f); + add_input("Fresnel", SHADER_SOCKET_FLOAT, 1.0f); +} + +void GlossyBsdfNode::compile(SVMCompiler& compiler) +{ + closure = (ClosureType)distribution_enum[distribution]; + + if(closure == CLOSURE_BSDF_REFLECTION_ID) + BsdfNode::compile(compiler, NULL, input("Fresnel")); + else + BsdfNode::compile(compiler, input("Roughness"), input("Fresnel")); +} + +void GlossyBsdfNode::compile(OSLCompiler& compiler) +{ + compiler.parameter("distribution", distribution); + compiler.add(this, "node_glossy_bsdf"); +} + +/* Glass BSDF Closure */ + +static ShaderEnum glass_distribution_init() +{ + ShaderEnum enm; + + enm.insert("Sharp", CLOSURE_BSDF_REFRACTION_ID); + enm.insert("Beckmann", CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID); + enm.insert("GGX", CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID); + + return enm; +} + +ShaderEnum GlassBsdfNode::distribution_enum = glass_distribution_init(); + +GlassBsdfNode::GlassBsdfNode() +{ + distribution = ustring("Sharp"); + + add_input("Roughness", SHADER_SOCKET_FLOAT, 0.2f); + add_input("Fresnel", SHADER_SOCKET_FLOAT, 0.3f); +} + +void GlassBsdfNode::compile(SVMCompiler& compiler) +{ + closure = (ClosureType)distribution_enum[distribution]; + + if(closure == CLOSURE_BSDF_REFRACTION_ID) + BsdfNode::compile(compiler, NULL, input("Fresnel")); + else + BsdfNode::compile(compiler, input("Roughness"), input("Fresnel")); +} + +void GlassBsdfNode::compile(OSLCompiler& compiler) +{ + compiler.parameter("distribution", distribution); + compiler.add(this, "node_glass_bsdf"); +} + +/* Velvet BSDF Closure */ + +VelvetBsdfNode::VelvetBsdfNode() +{ + closure = CLOSURE_BSDF_ASHIKHMIN_VELVET_ID; + + add_input("Sigma", SHADER_SOCKET_FLOAT, 1.0f); + add_input("Fresnel", SHADER_SOCKET_FLOAT, 1.0f); +} + +void VelvetBsdfNode::compile(SVMCompiler& compiler) +{ + BsdfNode::compile(compiler, input("Sigma"), input("Fresnel")); +} + +void VelvetBsdfNode::compile(OSLCompiler& compiler) +{ + compiler.add(this, "node_velvet_bsdf"); +} + +/* Diffuse BSDF Closure */ + +DiffuseBsdfNode::DiffuseBsdfNode() +{ + closure = CLOSURE_BSDF_DIFFUSE_ID; +} + +void DiffuseBsdfNode::compile(SVMCompiler& compiler) +{ + BsdfNode::compile(compiler, NULL, NULL); +} + +void DiffuseBsdfNode::compile(OSLCompiler& compiler) +{ + compiler.add(this, "node_diffuse_bsdf"); +} + +/* Translucent BSDF Closure */ + +TranslucentBsdfNode::TranslucentBsdfNode() +{ + closure = CLOSURE_BSDF_TRANSLUCENT_ID; +} + +void TranslucentBsdfNode::compile(SVMCompiler& compiler) +{ + BsdfNode::compile(compiler, NULL, NULL); +} + +void TranslucentBsdfNode::compile(OSLCompiler& compiler) +{ + compiler.add(this, "node_translucent_bsdf"); +} + +/* Transparent BSDF Closure */ + +TransparentBsdfNode::TransparentBsdfNode() +{ + closure = CLOSURE_BSDF_TRANSPARENT_ID; +} + +void TransparentBsdfNode::compile(SVMCompiler& compiler) +{ + BsdfNode::compile(compiler, NULL, NULL); +} + +void TransparentBsdfNode::compile(OSLCompiler& compiler) +{ + compiler.add(this, "node_transparent_bsdf"); +} + +/* Emissive Closure */ + +EmissionNode::EmissionNode() +: ShaderNode("emission") +{ + total_power = false; + + add_input("Color", SHADER_SOCKET_COLOR, make_float3(0.8f, 0.8f, 0.8f)); + add_input("Strength", SHADER_SOCKET_FLOAT, 10.0f); + add_output("Emission", SHADER_SOCKET_CLOSURE); +} + +void EmissionNode::compile(SVMCompiler& compiler) +{ + compiler.add_node(NODE_CLOSURE_EMISSION, CLOSURE_EMISSION_ID); + + ShaderInput *color_in = input("Color"); + ShaderInput *strength_in = input("Strength"); + + if(color_in->link || strength_in->link) { + compiler.stack_assign(color_in); + compiler.stack_assign(strength_in); + compiler.add_node(NODE_EMISSION_WEIGHT, color_in->stack_offset, strength_in->stack_offset, total_power? 1: 0); + } + else if(total_power) + compiler.add_node(NODE_EMISSION_SET_WEIGHT_TOTAL, color_in->value * strength_in->value.x); + else + compiler.add_node(NODE_CLOSURE_SET_WEIGHT, color_in->value * strength_in->value.x); +} + +void EmissionNode::compile(OSLCompiler& compiler) +{ + compiler.parameter("TotalPower", (total_power)? 1: 0); + compiler.add(this, "node_emission"); +} + +/* Background Closure */ + +BackgroundNode::BackgroundNode() +: ShaderNode("background") +{ + add_input("Color", SHADER_SOCKET_COLOR, make_float3(0.8f, 0.8f, 0.8f)); + add_input("Strength", SHADER_SOCKET_FLOAT, 1.0f); + add_output("Background", SHADER_SOCKET_CLOSURE); +} + +void BackgroundNode::compile(SVMCompiler& compiler) +{ + compiler.add_node(NODE_CLOSURE_BACKGROUND, CLOSURE_BACKGROUND_ID); + + ShaderInput *color_in = input("Color"); + ShaderInput *strength_in = input("Strength"); + + if(color_in->link || strength_in->link) { + compiler.stack_assign(color_in); + compiler.stack_assign(strength_in); + compiler.add_node(NODE_EMISSION_WEIGHT, color_in->stack_offset, strength_in->stack_offset); + } + else + compiler.add_node(NODE_CLOSURE_SET_WEIGHT, color_in->value*strength_in->value.x); +} + +void BackgroundNode::compile(OSLCompiler& compiler) +{ + compiler.add(this, "node_background"); +} + +/* Geometry */ + +GeometryNode::GeometryNode() +: ShaderNode("geometry") +{ + add_input("NormalIn", SHADER_SOCKET_NORMAL, ShaderInput::NORMAL, true); + add_output("Position", SHADER_SOCKET_POINT); + add_output("Normal", SHADER_SOCKET_NORMAL); + add_output("Tangent", SHADER_SOCKET_NORMAL); + add_output("True Normal", SHADER_SOCKET_NORMAL); + add_output("Incoming", SHADER_SOCKET_VECTOR); + add_output("UV", SHADER_SOCKET_POINT); + add_output("Backfacing", SHADER_SOCKET_FLOAT); +} + +void GeometryNode::compile(SVMCompiler& compiler) +{ + ShaderOutput *out; + NodeType geom_node = NODE_GEOMETRY; + + if(bump == SHADER_BUMP_DX) + geom_node = NODE_GEOMETRY_BUMP_DX; + else if(bump == SHADER_BUMP_DY) + geom_node = NODE_GEOMETRY_BUMP_DY; + + out = output("Position"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(geom_node, NODE_GEOM_P, out->stack_offset); + } + + out = output("Normal"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(geom_node, NODE_GEOM_N, out->stack_offset); + } + + out = output("Tangent"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(geom_node, NODE_GEOM_T, out->stack_offset); + } + + out = output("True Normal"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(geom_node, NODE_GEOM_Ng, out->stack_offset); + } + + out = output("Incoming"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(geom_node, NODE_GEOM_I, out->stack_offset); + } + + out = output("UV"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(geom_node, NODE_GEOM_uv, out->stack_offset); + } + + out = output("Backfacing"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(NODE_LIGHT_PATH, NODE_LP_backfacing, out->stack_offset); + } +} + +void GeometryNode::compile(OSLCompiler& compiler) +{ + if(bump == SHADER_BUMP_DX) + compiler.parameter("bump_offset", "dx"); + else if(bump == SHADER_BUMP_DY) + compiler.parameter("bump_offset", "dy"); + else + compiler.parameter("bump_offset", "center"); + + compiler.add(this, "node_geometry"); +} + +/* TextureCoordinate */ + +TextureCoordinateNode::TextureCoordinateNode() +: ShaderNode("texture_coordinate") +{ + add_input("Normal", SHADER_SOCKET_NORMAL, ShaderInput::NORMAL, true); + add_output("Generated", SHADER_SOCKET_POINT); + add_output("UV", SHADER_SOCKET_POINT); + add_output("Object", SHADER_SOCKET_POINT); + add_output("Camera", SHADER_SOCKET_POINT); + add_output("Window", SHADER_SOCKET_POINT); + add_output("Reflection", SHADER_SOCKET_NORMAL); +} + +void TextureCoordinateNode::attributes(AttributeRequestSet *attributes) +{ + if(!output("Generated")->links.empty()) + attributes->add(Attribute::STD_GENERATED); + if(!output("UV")->links.empty()) + attributes->add(Attribute::STD_UV); + + ShaderNode::attributes(attributes); +} + +void TextureCoordinateNode::compile(SVMCompiler& compiler) +{ + ShaderOutput *out; + NodeType texco_node = NODE_TEX_COORD; + NodeType attr_node = NODE_ATTR; + NodeType geom_node = NODE_GEOMETRY; + + if(bump == SHADER_BUMP_DX) { + texco_node = NODE_TEX_COORD_BUMP_DX; + attr_node = NODE_ATTR_BUMP_DX; + geom_node = NODE_GEOMETRY_BUMP_DX; + } + else if(bump == SHADER_BUMP_DY) { + texco_node = NODE_TEX_COORD_BUMP_DY; + attr_node = NODE_ATTR_BUMP_DY; + geom_node = NODE_GEOMETRY_BUMP_DY; + } + + out = output("Generated"); + if(!out->links.empty()) { + if(compiler.background) { + compiler.stack_assign(out); + compiler.add_node(geom_node, NODE_GEOM_P, out->stack_offset); + } + else { + int attr = compiler.attribute(Attribute::STD_GENERATED); + compiler.stack_assign(out); + compiler.add_node(attr_node, attr, out->stack_offset, NODE_ATTR_FLOAT3); + } + } + + out = output("UV"); + if(!out->links.empty()) { + int attr = compiler.attribute(Attribute::STD_UV); + compiler.stack_assign(out); + compiler.add_node(attr_node, attr, out->stack_offset, NODE_ATTR_FLOAT3); + } + + out = output("Object"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(texco_node, NODE_TEXCO_OBJECT, out->stack_offset); + } + + out = output("Camera"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(texco_node, NODE_TEXCO_CAMERA, out->stack_offset); + } + + out = output("Window"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(texco_node, NODE_TEXCO_WINDOW, out->stack_offset); + } + + out = output("Reflection"); + if(!out->links.empty()) { + if(compiler.background) { + compiler.stack_assign(out); + compiler.add_node(geom_node, NODE_GEOM_I, out->stack_offset); + } + else { + compiler.stack_assign(out); + compiler.add_node(texco_node, NODE_TEXCO_REFLECTION, out->stack_offset); + } + } +} + +void TextureCoordinateNode::compile(OSLCompiler& compiler) +{ + if(bump == SHADER_BUMP_DX) + compiler.parameter("bump_offset", "dx"); + else if(bump == SHADER_BUMP_DY) + compiler.parameter("bump_offset", "dy"); + else + compiler.parameter("bump_offset", "center"); + + if(compiler.background) + compiler.parameter("is_background", true); + + compiler.add(this, "node_texture_coordinate"); +} + +/* Light Path */ + +LightPathNode::LightPathNode() +: ShaderNode("light_path") +{ + add_output("Is Camera Ray", SHADER_SOCKET_FLOAT); + add_output("Is Shadow Ray", SHADER_SOCKET_FLOAT); + add_output("Is Diffuse Ray", SHADER_SOCKET_FLOAT); + add_output("Is Glossy Ray", SHADER_SOCKET_FLOAT); + add_output("Is Reflection Ray", SHADER_SOCKET_FLOAT); + add_output("Is Transmission Ray", SHADER_SOCKET_FLOAT); +} + +void LightPathNode::compile(SVMCompiler& compiler) +{ + ShaderOutput *out; + + out = output("Is Camera Ray"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(NODE_LIGHT_PATH, NODE_LP_camera, out->stack_offset); + } + + out = output("Is Shadow Ray"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(NODE_LIGHT_PATH, NODE_LP_shadow, out->stack_offset); + } + + out = output("Is Diffuse Ray"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(NODE_LIGHT_PATH, NODE_LP_diffuse, out->stack_offset); + } + + out = output("Is Glossy Ray"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(NODE_LIGHT_PATH, NODE_LP_glossy, out->stack_offset); + } + + out = output("Is Reflection Ray"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(NODE_LIGHT_PATH, NODE_LP_reflection, out->stack_offset); + } + + out = output("Is Transmission Ray"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(NODE_LIGHT_PATH, NODE_LP_transmission, out->stack_offset); + } +} + +void LightPathNode::compile(OSLCompiler& compiler) +{ + compiler.add(this, "node_light_path"); +} + +/* Value */ + +ValueNode::ValueNode() +: ShaderNode("value") +{ + value = 0.0f; + + add_output("Value", SHADER_SOCKET_FLOAT); +} + +void ValueNode::compile(SVMCompiler& compiler) +{ + ShaderOutput *val_out = output("Value"); + + compiler.stack_assign(val_out); + compiler.add_node(NODE_VALUE_F, __float_as_int(value), val_out->stack_offset); +} + +void ValueNode::compile(OSLCompiler& compiler) +{ + compiler.parameter("value_value", value); + compiler.add(this, "node_value"); +} + +/* Color */ + +ColorNode::ColorNode() +: ShaderNode("color") +{ + value = make_float3(0.0f, 0.0f, 0.0f); + + add_output("Color", SHADER_SOCKET_COLOR); +} + +void ColorNode::compile(SVMCompiler& compiler) +{ + ShaderOutput *color_out = output("Color"); + + if(color_out && !color_out->links.empty()) { + compiler.stack_assign(color_out); + compiler.add_node(NODE_VALUE_V, color_out->stack_offset); + compiler.add_node(NODE_VALUE_V, value); + } +} + +void ColorNode::compile(OSLCompiler& compiler) +{ + compiler.parameter_color("color_value", value); + + compiler.add(this, "node_value"); +} + +/* Add Closure */ + +AddClosureNode::AddClosureNode() +: ShaderNode("add_closure") +{ + add_input("Closure1", SHADER_SOCKET_CLOSURE); + add_input("Closure2", SHADER_SOCKET_CLOSURE); + add_output("Closure", SHADER_SOCKET_CLOSURE); +} + +void AddClosureNode::compile(SVMCompiler& compiler) +{ + /* handled in the SVM compiler */ +} + +void AddClosureNode::compile(OSLCompiler& compiler) +{ + compiler.add(this, "node_add_closure"); +} + +/* Mix Closure */ + +MixClosureNode::MixClosureNode() +: ShaderNode("mix_closure") +{ + add_input("Fac", SHADER_SOCKET_FLOAT, 0.5f); + add_input("Closure1", SHADER_SOCKET_CLOSURE); + add_input("Closure2", SHADER_SOCKET_CLOSURE); + add_output("Closure", SHADER_SOCKET_CLOSURE); +} + +void MixClosureNode::compile(SVMCompiler& compiler) +{ + /* handled in the SVM compiler */ +} + +void MixClosureNode::compile(OSLCompiler& compiler) +{ + compiler.add(this, "node_mix_closure"); +} + +/* Mix */ + +MixNode::MixNode() +: ShaderNode("mix") +{ + type = ustring("Mix"); + + add_input("Fac", SHADER_SOCKET_FLOAT, 0.5f); + add_input("Color1", SHADER_SOCKET_COLOR); + add_input("Color2", SHADER_SOCKET_COLOR); + add_output("Color", SHADER_SOCKET_COLOR); +} + +static ShaderEnum mix_type_init() +{ + ShaderEnum enm; + + enm.insert("Mix", NODE_MIX_BLEND); + enm.insert("Add", NODE_MIX_ADD); + enm.insert("Multiply", NODE_MIX_MUL); + enm.insert("Screen", NODE_MIX_SCREEN); + enm.insert("Overlay", NODE_MIX_OVERLAY); + enm.insert("Subtract", NODE_MIX_SUB); + enm.insert("Divide", NODE_MIX_DIV); + enm.insert("Difference", NODE_MIX_DIFF); + enm.insert("Darken", NODE_MIX_DARK); + enm.insert("Lighten", NODE_MIX_LIGHT); + enm.insert("Dodge", NODE_MIX_DODGE); + enm.insert("Burn", NODE_MIX_BURN); + enm.insert("Hue", NODE_MIX_HUE); + enm.insert("Saturation", NODE_MIX_SAT); + enm.insert("Value", NODE_MIX_VAL ); + enm.insert("Color", NODE_MIX_COLOR); + enm.insert("Soft Light", NODE_MIX_SOFT); + enm.insert("Linear Light", NODE_MIX_LINEAR); + + return enm; +} + +ShaderEnum MixNode::type_enum = mix_type_init(); + +void MixNode::compile(SVMCompiler& compiler) +{ + ShaderInput *fac_in = input("Fac"); + ShaderInput *color1_in = input("Color1"); + ShaderInput *color2_in = input("Color2"); + ShaderOutput *color_out = output("Color"); + + compiler.stack_assign(fac_in); + compiler.stack_assign(color1_in); + compiler.stack_assign(color2_in); + compiler.stack_assign(color_out); + + compiler.add_node(NODE_MIX, fac_in->stack_offset, color1_in->stack_offset, color2_in->stack_offset); + compiler.add_node(NODE_MIX, type_enum[type], color_out->stack_offset); +} + +void MixNode::compile(OSLCompiler& compiler) +{ + compiler.parameter("type", type); + compiler.add(this, "node_mix"); +} + +/* Attribute */ + +AttributeNode::AttributeNode() +: ShaderNode("attribute") +{ + attribute = ""; + + add_output("Color", SHADER_SOCKET_COLOR); + add_output("Vector", SHADER_SOCKET_VECTOR); + add_output("Fac", SHADER_SOCKET_FLOAT); +} + +void AttributeNode::attributes(AttributeRequestSet *attributes) +{ + ShaderOutput *color_out = output("Color"); + ShaderOutput *vector_out = output("Vector"); + ShaderOutput *fac_out = output("Fac"); + + if(!color_out->links.empty() || !vector_out->links.empty() || !fac_out->links.empty()) + attributes->add(attribute); + + ShaderNode::attributes(attributes); +} + +void AttributeNode::compile(SVMCompiler& compiler) +{ + ShaderOutput *color_out = output("Color"); + ShaderOutput *vector_out = output("Vector"); + ShaderOutput *fac_out = output("Fac"); + NodeType attr_node = NODE_ATTR; + + if(bump == SHADER_BUMP_DX) + attr_node = NODE_ATTR_BUMP_DX; + else if(bump == SHADER_BUMP_DY) + attr_node = NODE_ATTR_BUMP_DY; + + if(!color_out->links.empty() || !vector_out->links.empty()) { + int attr = compiler.attribute(attribute); + + if(!color_out->links.empty()) { + compiler.stack_assign(color_out); + compiler.add_node(attr_node, attr, color_out->stack_offset, NODE_ATTR_FLOAT3); + } + if(!vector_out->links.empty()) { + compiler.stack_assign(vector_out); + compiler.add_node(attr_node, attr, vector_out->stack_offset, NODE_ATTR_FLOAT3); + } + } + + if(!fac_out->links.empty()) { + int attr = compiler.attribute(attribute); + + compiler.stack_assign(fac_out); + compiler.add_node(attr_node, attr, fac_out->stack_offset, NODE_ATTR_FLOAT); + } +} + +void AttributeNode::compile(OSLCompiler& compiler) +{ + if(bump == SHADER_BUMP_DX) + compiler.parameter("bump_offset", "dx"); + else if(bump == SHADER_BUMP_DY) + compiler.parameter("bump_offset", "dy"); + else + compiler.parameter("bump_offset", "center"); + + compiler.parameter("name", attribute.c_str()); + compiler.add(this, "node_attribute"); +} + +/* Fresnel */ + +FresnelNode::FresnelNode() +: ShaderNode("Fresnel") +{ + add_input("Normal", SHADER_SOCKET_NORMAL, ShaderInput::NORMAL, true); + add_input("Fresnel", SHADER_SOCKET_FLOAT, 0.3f); + add_output("Fac", SHADER_SOCKET_FLOAT); +} + +void FresnelNode::compile(SVMCompiler& compiler) +{ + ShaderInput *fresnel_in = input("Fresnel"); + ShaderOutput *fac_out = output("Fac"); + + compiler.stack_assign(fresnel_in); + compiler.stack_assign(fac_out); + compiler.add_node(NODE_FRESNEL, fresnel_in->stack_offset, __float_as_int(fresnel_in->value.x), fac_out->stack_offset); +} + +void FresnelNode::compile(OSLCompiler& compiler) +{ + compiler.add(this, "node_fresnel"); +} + +/* Output */ + +OutputNode::OutputNode() +: ShaderNode("output") +{ + add_input("Surface", SHADER_SOCKET_CLOSURE); + add_input("Volume", SHADER_SOCKET_CLOSURE); + add_input("Displacement", SHADER_SOCKET_FLOAT); +} + +void OutputNode::compile(SVMCompiler& compiler) +{ + if(compiler.output_type() == SHADER_TYPE_DISPLACEMENT) { + ShaderInput *displacement_in = input("Displacement"); + + if(displacement_in->link) { + compiler.stack_assign(displacement_in); + compiler.add_node(NODE_SET_DISPLACEMENT, displacement_in->stack_offset); + } + } +} + +void OutputNode::compile(OSLCompiler& compiler) +{ + if(compiler.output_type() == SHADER_TYPE_SURFACE) + compiler.add(this, "node_output_surface"); + else if(compiler.output_type() == SHADER_TYPE_VOLUME) + compiler.add(this, "node_output_volume"); + else if(compiler.output_type() == SHADER_TYPE_DISPLACEMENT) + compiler.add(this, "node_output_displacement"); +} + +/* Math */ + +MathNode::MathNode() +: ShaderNode("math") +{ + type = ustring("Add"); + + add_input("Value1", SHADER_SOCKET_FLOAT); + add_input("Value2", SHADER_SOCKET_FLOAT); + add_output("Value", SHADER_SOCKET_FLOAT); +} + +static ShaderEnum math_type_init() +{ + ShaderEnum enm; + + enm.insert("Add", NODE_MATH_ADD); + enm.insert("Subtract", NODE_MATH_SUBTRACT); + enm.insert("Multiply", NODE_MATH_MULTIPLY); + enm.insert("Divide", NODE_MATH_DIVIDE); + enm.insert("Sine", NODE_MATH_SINE); + enm.insert("Cosine", NODE_MATH_COSINE); + enm.insert("Tangent", NODE_MATH_TANGENT); + enm.insert("Arcsine", NODE_MATH_ARCSINE); + enm.insert("Arccosine", NODE_MATH_ARCCOSINE); + enm.insert("Arctangent", NODE_MATH_ARCTANGENT); + enm.insert("Power", NODE_MATH_POWER); + enm.insert("Logarithm", NODE_MATH_LOGARITHM); + enm.insert("Minimum", NODE_MATH_MINIMUM); + enm.insert("Maximum", NODE_MATH_MAXIMUM); + enm.insert("Round", NODE_MATH_ROUND); + enm.insert("Less Than", NODE_MATH_LESS_THAN); + enm.insert("Greater Than", NODE_MATH_GREATER_THAN); + + return enm; +} + +ShaderEnum MathNode::type_enum = math_type_init(); + +void MathNode::compile(SVMCompiler& compiler) +{ + ShaderInput *value1_in = input("Value1"); + ShaderInput *value2_in = input("Value2"); + ShaderOutput *value_out = output("Value"); + + compiler.stack_assign(value1_in); + compiler.stack_assign(value2_in); + compiler.stack_assign(value_out); + + compiler.add_node(NODE_MATH, type_enum[type], value1_in->stack_offset, value2_in->stack_offset); + compiler.add_node(NODE_MATH, value_out->stack_offset); +} + +void MathNode::compile(OSLCompiler& compiler) +{ + compiler.parameter("type", type); + compiler.add(this, "node_math"); +} + +/* VectorMath */ + +VectorMathNode::VectorMathNode() +: ShaderNode("vector_math") +{ + type = ustring("Add"); + + add_input("Vector1", SHADER_SOCKET_VECTOR); + add_input("Vector2", SHADER_SOCKET_VECTOR); + add_output("Fac", SHADER_SOCKET_FLOAT); + add_output("Vector", SHADER_SOCKET_VECTOR); +} + +static ShaderEnum vector_math_type_init() +{ + ShaderEnum enm; + + enm.insert("Add", NODE_VECTOR_MATH_ADD); + enm.insert("Subtract", NODE_VECTOR_MATH_SUBTRACT); + enm.insert("Average", NODE_VECTOR_MATH_AVERAGE); + enm.insert("Dot Product", NODE_VECTOR_MATH_DOT_PRODUCT); + enm.insert("Cross Product", NODE_VECTOR_MATH_CROSS_PRODUCT); + enm.insert("Normalize", NODE_VECTOR_MATH_NORMALIZE); + + return enm; +} + +ShaderEnum VectorMathNode::type_enum = vector_math_type_init(); + +void VectorMathNode::compile(SVMCompiler& compiler) +{ + ShaderInput *vector1_in = input("Vector1"); + ShaderInput *vector2_in = input("Vector2"); + ShaderOutput *fac_out = output("Fac"); + ShaderOutput *vector_out = output("Vector"); + + compiler.stack_assign(vector1_in); + compiler.stack_assign(vector2_in); + compiler.stack_assign(fac_out); + compiler.stack_assign(vector_out); + + compiler.add_node(NODE_VECTOR_MATH, type_enum[type], vector1_in->stack_offset, vector2_in->stack_offset); + compiler.add_node(NODE_VECTOR_MATH, fac_out->stack_offset, vector_out->stack_offset); +} + +void VectorMathNode::compile(OSLCompiler& compiler) +{ + compiler.parameter("type", type); + compiler.add(this, "node_vector_math"); +} + +/* BumpNode */ + +BumpNode::BumpNode() +: ShaderNode("bump") +{ + add_input("SampleCenter", SHADER_SOCKET_FLOAT); + add_input("SampleX", SHADER_SOCKET_FLOAT); + add_input("SampleY", SHADER_SOCKET_FLOAT); + + add_output("Normal", SHADER_SOCKET_NORMAL); +} + +void BumpNode::compile(SVMCompiler& compiler) +{ + ShaderInput *center_in = input("SampleCenter"); + ShaderInput *dx_in = input("SampleX"); + ShaderInput *dy_in = input("SampleY"); + + compiler.stack_assign(center_in); + compiler.stack_assign(dx_in); + compiler.stack_assign(dy_in); + + compiler.add_node(NODE_SET_BUMP, center_in->stack_offset, dx_in->stack_offset, dy_in->stack_offset); +} + +void BumpNode::compile(OSLCompiler& compiler) +{ + compiler.add(this, "node_bump"); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h new file mode 100644 index 00000000000..f59a775b658 --- /dev/null +++ b/intern/cycles/render/nodes.h @@ -0,0 +1,339 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __NODES_H__ +#define __NODES_H__ + +#include "graph.h" + +#include "util_string.h" + +CCL_NAMESPACE_BEGIN + +class ImageManager; +class Shadr; + +/* Nodes */ + +class ImageTextureNode : public ShaderNode { +public: + SHADER_NODE_NO_CLONE_CLASS(ImageTextureNode) + ~ImageTextureNode(); + ShaderNode *clone() const; + + ImageManager *image_manager; + int slot; + string filename; +}; + +class EnvironmentTextureNode : public ShaderNode { +public: + SHADER_NODE_NO_CLONE_CLASS(EnvironmentTextureNode) + ~EnvironmentTextureNode(); + ShaderNode *clone() const; + + ImageManager *image_manager; + int slot; + string filename; +}; + +class SkyTextureNode : public ShaderNode { +public: + SHADER_NODE_CLASS(SkyTextureNode) + + float3 sun_direction; + float turbidity; +}; + +class OutputNode : public ShaderNode { +public: + SHADER_NODE_CLASS(OutputNode) +}; + +class NoiseTextureNode : public ShaderNode { +public: + SHADER_NODE_CLASS(NoiseTextureNode) +}; + +class BlendTextureNode : public ShaderNode { +public: + SHADER_NODE_CLASS(BlendTextureNode) + + ustring progression; + ustring axis; + + static ShaderEnum progression_enum; + static ShaderEnum axis_enum; +}; + +class CloudsTextureNode : public ShaderNode { +public: + SHADER_NODE_CLASS(CloudsTextureNode) + + bool hard; + int depth; + ustring basis; + + static ShaderEnum basis_enum; +}; + +class VoronoiTextureNode : public ShaderNode { +public: + SHADER_NODE_CLASS(VoronoiTextureNode) + + ustring distance_metric; + ustring coloring; + + static ShaderEnum distance_metric_enum; + static ShaderEnum coloring_enum; +}; + +class MusgraveTextureNode : public ShaderNode { +public: + SHADER_NODE_CLASS(MusgraveTextureNode) + + ustring type; + ustring basis; + + static ShaderEnum type_enum; + static ShaderEnum basis_enum; +}; + +class MarbleTextureNode : public ShaderNode { +public: + SHADER_NODE_CLASS(MarbleTextureNode) + + ustring type; + ustring wave; + ustring basis; + bool hard; + int depth; + + static ShaderEnum type_enum; + static ShaderEnum wave_enum; + static ShaderEnum basis_enum; +}; + +class MagicTextureNode : public ShaderNode { +public: + SHADER_NODE_CLASS(MagicTextureNode) + + int depth; +}; + +class StucciTextureNode : public ShaderNode { +public: + SHADER_NODE_CLASS(StucciTextureNode) + + ustring type; + ustring basis; + bool hard; + + static ShaderEnum type_enum; + static ShaderEnum basis_enum; +}; + +class DistortedNoiseTextureNode : public ShaderNode { +public: + SHADER_NODE_CLASS(DistortedNoiseTextureNode) + + ustring basis; + ustring distortion_basis; + static ShaderEnum basis_enum; +}; + +class WoodTextureNode : public ShaderNode { +public: + SHADER_NODE_CLASS(WoodTextureNode) + + ustring type; + ustring wave; + ustring basis; + bool hard; + + static ShaderEnum type_enum; + static ShaderEnum wave_enum; + static ShaderEnum basis_enum; +}; + +class MappingNode : public ShaderNode { +public: + SHADER_NODE_CLASS(MappingNode) + + Transform compute_transform(); + float3 translation; + float3 rotation; + float3 scale; +}; + +class ConvertNode : public ShaderNode { +public: + ConvertNode(ShaderSocketType from, ShaderSocketType to); + SHADER_NODE_BASE_CLASS(ConvertNode) + + ShaderSocketType from, to; +}; + +class BsdfNode : public ShaderNode { +public: + SHADER_NODE_CLASS(BsdfNode) + + void compile(SVMCompiler& compiler, ShaderInput *param1, ShaderInput *param2); + + ClosureType closure; +}; + +class WardBsdfNode : public BsdfNode { +public: + SHADER_NODE_CLASS(WardBsdfNode) +}; + +class DiffuseBsdfNode : public BsdfNode { +public: + SHADER_NODE_CLASS(DiffuseBsdfNode) +}; + +class TranslucentBsdfNode : public BsdfNode { +public: + SHADER_NODE_CLASS(TranslucentBsdfNode) +}; + +class TransparentBsdfNode : public BsdfNode { +public: + SHADER_NODE_CLASS(TransparentBsdfNode) +}; + +class VelvetBsdfNode : public BsdfNode { +public: + SHADER_NODE_CLASS(VelvetBsdfNode) +}; + +class GlossyBsdfNode : public BsdfNode { +public: + SHADER_NODE_CLASS(GlossyBsdfNode) + + ustring distribution; + static ShaderEnum distribution_enum; +}; + +class GlassBsdfNode : public BsdfNode { +public: + SHADER_NODE_CLASS(GlassBsdfNode) + + ustring distribution; + static ShaderEnum distribution_enum; +}; + +class EmissionNode : public ShaderNode { +public: + SHADER_NODE_CLASS(EmissionNode) + + bool total_power; +}; + +class BackgroundNode : public ShaderNode { +public: + SHADER_NODE_CLASS(BackgroundNode) +}; + +class GeometryNode : public ShaderNode { +public: + SHADER_NODE_CLASS(GeometryNode) +}; + +class TextureCoordinateNode : public ShaderNode { +public: + SHADER_NODE_CLASS(TextureCoordinateNode) + void attributes(AttributeRequestSet *attributes); +}; + +class LightPathNode : public ShaderNode { +public: + SHADER_NODE_CLASS(LightPathNode) +}; + +class ValueNode : public ShaderNode { +public: + SHADER_NODE_CLASS(ValueNode) + + float value; +}; + +class ColorNode : public ShaderNode { +public: + SHADER_NODE_CLASS(ColorNode) + + float3 value; +}; + +class AddClosureNode : public ShaderNode { +public: + SHADER_NODE_CLASS(AddClosureNode) +}; + +class MixClosureNode : public ShaderNode { +public: + SHADER_NODE_CLASS(MixClosureNode) +}; + +class MixNode : public ShaderNode { +public: + SHADER_NODE_CLASS(MixNode) + + ustring type; + static ShaderEnum type_enum; +}; + +class AttributeNode : public ShaderNode { +public: + SHADER_NODE_CLASS(AttributeNode) + void attributes(AttributeRequestSet *attributes); + + ustring attribute; +}; + +class FresnelNode : public ShaderNode { +public: + SHADER_NODE_CLASS(FresnelNode) +}; + +class MathNode : public ShaderNode { +public: + SHADER_NODE_CLASS(MathNode) + + ustring type; + static ShaderEnum type_enum; +}; + +class VectorMathNode : public ShaderNode { +public: + SHADER_NODE_CLASS(VectorMathNode) + + ustring type; + static ShaderEnum type_enum; +}; + +class BumpNode : public ShaderNode { +public: + SHADER_NODE_CLASS(BumpNode) +}; + +CCL_NAMESPACE_END + +#endif /* __NODES_H__ */ + diff --git a/intern/cycles/render/object.cpp b/intern/cycles/render/object.cpp new file mode 100644 index 00000000000..06c93e48b89 --- /dev/null +++ b/intern/cycles/render/object.cpp @@ -0,0 +1,213 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "device.h" +#include "mesh.h" +#include "object.h" +#include "scene.h" + +#include "util_foreach.h" +#include "util_progress.h" + +CCL_NAMESPACE_BEGIN + +/* Object */ + +Object::Object() +{ + name = ""; + mesh = NULL; + tfm = transform_identity(); +} + +Object::~Object() +{ +} + +void Object::compute_bounds() +{ + bounds = mesh->bounds.transformed(&tfm); +} + +void Object::apply_transform() +{ + if(!mesh || tfm == transform_identity()) + return; + + for(size_t i = 0; i < mesh->verts.size(); i++) + mesh->verts[i] = transform(&tfm, mesh->verts[i]); + + Attribute *attr_fN = mesh->attributes.find(Attribute::STD_FACE_NORMAL); + Attribute *attr_vN = mesh->attributes.find(Attribute::STD_VERTEX_NORMAL); + + Transform ntfm = transform_transpose(transform_inverse(tfm)); + + if(attr_fN) { + float3 *fN = attr_fN->data_float3(); + + for(size_t i = 0; i < mesh->triangles.size(); i++) + fN[i] = transform_direction(&ntfm, fN[i]); + } + + if(attr_vN) { + float3 *vN = attr_vN->data_float3(); + + for(size_t i = 0; i < mesh->verts.size(); i++) + vN[i] = transform_direction(&ntfm, vN[i]); + } + + if(bounds.valid()) { + mesh->compute_bounds(); + compute_bounds(); + } + + tfm = transform_identity(); +} + +void Object::tag_update(Scene *scene) +{ + if(mesh && mesh->transform_applied) + mesh->need_update = true; + scene->mesh_manager->need_update = true; + scene->object_manager->need_update = true; +} + +/* Object Manager */ + +ObjectManager::ObjectManager() +{ + need_update = true; +} + +ObjectManager::~ObjectManager() +{ +} + +void ObjectManager::device_update_transforms(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress) +{ + float4 *objects = dscene->objects.resize(OBJECT_SIZE*scene->objects.size()); + int i = 0; + + foreach(Object *ob, scene->objects) { + Mesh *mesh = ob->mesh; + + /* compute transformations */ + Transform tfm = ob->tfm; + Transform itfm = transform_inverse(tfm); + Transform ntfm = transform_transpose(itfm); + + /* compute surface area */ + /* todo: correct for displacement, and move to a better place */ + float surfacearea = 0.0f; + + foreach(Mesh::Triangle& t, mesh->triangles) { + float3 p1 = transform(&tfm, mesh->verts[t.v[0]]); + float3 p2 = transform(&tfm, mesh->verts[t.v[1]]); + float3 p3 = transform(&tfm, mesh->verts[t.v[2]]); + + surfacearea += triangle_area(p1, p2, p3); + } + + /* pack in texture */ + int offset = i*OBJECT_SIZE; + + memcpy(&objects[offset], &tfm, sizeof(float4)*4); + memcpy(&objects[offset+4], &itfm, sizeof(float4)*4); + memcpy(&objects[offset+8], &ntfm, sizeof(float4)*4); + objects[offset+12] = make_float4(surfacearea, 0.0f, 0.0f, 0.0f); + + i++; + + if(progress.get_cancel()) return; + } + + device->tex_alloc("__objects", dscene->objects); +} + +void ObjectManager::device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress) +{ + if(!need_update) + return; + + device_free(device, dscene); + + if(scene->objects.size() == 0) + return; + + /* set object transform matrices, before applying static transforms */ + progress.set_status("Updating Objects", "Copying Transformations to device"); + device_update_transforms(device, dscene, scene, progress); + + if(progress.get_cancel()) return; + + /* prepare for static BVH building */ + /* todo: do before to support getting object level coords? */ + if(scene->params.bvh_type == SceneParams::BVH_STATIC) { + progress.set_status("Updating Objects", "Applying Static Transformations"); + apply_static_transforms(scene, progress); + } + + if(progress.get_cancel()) return; + + need_update = false; +} + +void ObjectManager::device_free(Device *device, DeviceScene *dscene) +{ + device->tex_free(dscene->objects); + dscene->objects.clear(); +} + +void ObjectManager::apply_static_transforms(Scene *scene, Progress& progress) +{ + /* todo: normals and displacement should be done before applying transform! */ + /* todo: create objects/meshes in right order! */ + + /* counter mesh users */ + map mesh_users; + + foreach(Object *object, scene->objects) { + map::iterator it = mesh_users.find(object->mesh); + + if(it == mesh_users.end()) + mesh_users[object->mesh] = 1; + else + it->second++; + } + + if(progress.get_cancel()) return; + + /* apply transforms for objects with single user meshes */ + foreach(Object *object, scene->objects) { + if(mesh_users[object->mesh] == 1) { + object->apply_transform(); + object->mesh->transform_applied = true; + + if(progress.get_cancel()) return; + } + } +} + +void ObjectManager::tag_update(Scene *scene) +{ + need_update = true; + scene->mesh_manager->need_update = true; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/object.h b/intern/cycles/render/object.h new file mode 100644 index 00000000000..ff92b381063 --- /dev/null +++ b/intern/cycles/render/object.h @@ -0,0 +1,76 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __OBJECT_H__ +#define __OBJECT_H__ + +#include "util_boundbox.h" +#include "util_param.h" +#include "util_transform.h" +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +class Device; +class DeviceScene; +class Mesh; +class Progress; +class Scene; +class Transform; + +/* Object */ + +class Object { +public: + Mesh *mesh; + Transform tfm; + BoundBox bounds; + ustring name; + vector attributes; + + Object(); + ~Object(); + + void tag_update(Scene *scene); + + void compute_bounds(); + void apply_transform(); +}; + +/* Object Manager */ + +class ObjectManager { +public: + bool need_update; + + ObjectManager(); + ~ObjectManager(); + + void device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress); + void device_update_transforms(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress); + void device_free(Device *device, DeviceScene *dscene); + + void tag_update(Scene *scene); + + void apply_static_transforms(Scene *scene, Progress& progress); +}; + +CCL_NAMESPACE_END + +#endif /* __OBJECT_H__ */ + diff --git a/intern/cycles/render/osl.cpp b/intern/cycles/render/osl.cpp new file mode 100644 index 00000000000..068ae883930 --- /dev/null +++ b/intern/cycles/render/osl.cpp @@ -0,0 +1,497 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "device.h" + +#include "graph.h" +#include "light.h" +#include "osl.h" +#include "scene.h" +#include "shader.h" + +#ifdef WITH_OSL + +#include "osl_globals.h" +#include "osl_services.h" +#include "osl_shader.h" + +#include "util_foreach.h" +#include "util_path.h" +#include "util_progress.h" + +#endif + +CCL_NAMESPACE_BEGIN + +#ifdef WITH_OSL + +/* Shader Manager */ + +OSLShaderManager::OSLShaderManager() +{ + /* todo: verify if we are leaking shaders + * todo: verify if we are leaking image cache memory */ + + services = new OSLRenderServices(); + + /* if we let OSL create it, it leaks */ + ts = TextureSystem::create(true); + ts->attribute("automip", 1); + ts->attribute("autotile", 64); + + ss = OSL::ShadingSystem::create(services, ts, &errhandler); + ss->attribute("lockgeom", 1); + ss->attribute("commonspace", "world"); + ss->attribute("optimize", 2); + //ss->attribute("debug", 1); + //ss->attribute("statistics:level", 1); + ss->attribute("searchpath:shader", path_get("shader").c_str()); + + OSLShader::register_closures(ss); +} + +OSLShaderManager::~OSLShaderManager() +{ + OSL::ShadingSystem::destroy(ss); + OSL::TextureSystem::destroy(ts); + delete services; +} + +void OSLShaderManager::device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress) +{ + /* test if we need to update */ + bool need_update = false; + + foreach(Shader *shader, scene->shaders) + if(shader->need_update) + need_update = true; + + if(!need_update) + return; + + device_free(device, dscene); + + /* create shaders */ + OSLGlobals *og = (OSLGlobals*)device->osl_memory(); + + foreach(Shader *shader, scene->shaders) { + assert(shader->graph); + + if(progress.get_cancel()) return; + + if(shader->has_surface_emission) + scene->light_manager->need_update = true; + + OSLCompiler compiler((void*)ss); + compiler.background = (shader == scene->shaders[scene->default_background]); + compiler.compile(og, shader); + } + + /* setup shader engine */ + og->ss = ss; + int background_id = scene->shader_manager->get_shader_id(scene->default_background); + og->background_state = og->surface_state[background_id]; + og->use = true; + + tls_create(OSLGlobals::ThreadData, og->thread_data); + + foreach(Shader *shader, scene->shaders) + shader->need_update = false; +} + +void OSLShaderManager::device_free(Device *device, DeviceScene *dscene) +{ + OSLGlobals *og = (OSLGlobals*)device->osl_memory(); + + /* clear shader engine */ + og->use = false; + og->ss = NULL; + + tls_delete(OSLGlobals::ThreadData, og->thread_data); + + og->surface_state.clear(); + og->volume_state.clear(); + og->displacement_state.clear(); + og->background_state.reset(); +} + +/* Graph Compiler */ + +OSLCompiler::OSLCompiler(void *shadingsys_) +{ + shadingsys = shadingsys_; + current_type = SHADER_TYPE_SURFACE; + current_shader = NULL; + background = false; +} + +string OSLCompiler::id(ShaderNode *node) +{ + /* assign layer unique name based on pointer address + bump mode */ + stringstream stream; + stream << "node_" << node->name << "_" << node; + + return stream.str(); +} + +string OSLCompiler::compatible_name(const char *name) +{ + string sname = name; + size_t i; + + while((i = sname.find(" ")) != string::npos) + sname.replace(i, 1, ""); + + return sname; +} + +bool OSLCompiler::node_skip_input(ShaderNode *node, ShaderInput *input) +{ + /* exception for output node, only one input is actually used + depending on the current shader type */ + + if(node->name == ustring("output")) { + if(strcmp(input->name, "Surface") == 0 && current_type != SHADER_TYPE_SURFACE) + return true; + if(strcmp(input->name, "Volume") == 0 && current_type != SHADER_TYPE_VOLUME) + return true; + if(strcmp(input->name, "Displacement") == 0 && current_type != SHADER_TYPE_DISPLACEMENT) + return true; + } + else if(current_type == SHADER_TYPE_DISPLACEMENT && input->link && input->link->parent->name == ustring("bump")) + return true; + + return false; +} + +void OSLCompiler::add(ShaderNode *node, const char *name) +{ + OSL::ShadingSystem *ss = (OSL::ShadingSystem*)shadingsys; + + /* pass in fixed parameter values */ + foreach(ShaderInput *input, node->inputs) { + if(!input->link) { + /* checks to untangle graphs */ + if(node_skip_input(node, input)) + continue; + /* already has default value assigned */ + else if(input->default_value != ShaderInput::NONE) + continue; + + switch(input->type) { + case SHADER_SOCKET_COLOR: + parameter_color(input->name, input->value); + break; + case SHADER_SOCKET_POINT: + parameter_point(input->name, input->value); + break; + case SHADER_SOCKET_VECTOR: + parameter_vector(input->name, input->value); + break; + case SHADER_SOCKET_NORMAL: + parameter_normal(input->name, input->value); + break; + case SHADER_SOCKET_FLOAT: + parameter(input->name, input->value.x); + break; + case SHADER_SOCKET_CLOSURE: + break; + } + } + } + + /* create shader of the appropriate type. we pass "surface" to all shaders, + * because "volume" and "displacement" don't work yet in OSL. the shaders + * work fine, but presumably these values would be used for more strict + * checking, so when that is fixed, we should update the code here too. */ + if(current_type == SHADER_TYPE_SURFACE) + ss->Shader("surface", name, id(node).c_str()); + else if(current_type == SHADER_TYPE_VOLUME) + ss->Shader("surface", name, id(node).c_str()); + else if(current_type == SHADER_TYPE_DISPLACEMENT) + ss->Shader("surface", name, id(node).c_str()); + else + assert(0); + + /* link inputs to other nodes */ + foreach(ShaderInput *input, node->inputs) { + if(input->link) { + if(node_skip_input(node, input)) + continue; + + /* connect shaders */ + string id_from = id(input->link->parent); + string id_to = id(node); + string param_from = compatible_name(input->link->name); + string param_to = compatible_name(input->name); + + /* avoid name conflict with same input/output socket name */ + if(input->link->parent->input(input->link->name)) + param_from += "_"; + + ss->ConnectShaders(id_from.c_str(), param_from.c_str(), id_to.c_str(), param_to.c_str()); + } + } +} + +void OSLCompiler::parameter(const char *name, float f) +{ + OSL::ShadingSystem *ss = (OSL::ShadingSystem*)shadingsys; + ss->Parameter(name, TypeDesc::TypeFloat, &f); +} + +void OSLCompiler::parameter_color(const char *name, float3 f) +{ + OSL::ShadingSystem *ss = (OSL::ShadingSystem*)shadingsys; + ss->Parameter(name, TypeDesc::TypeColor, &f); +} + +void OSLCompiler::parameter_point(const char *name, float3 f) +{ + OSL::ShadingSystem *ss = (OSL::ShadingSystem*)shadingsys; + ss->Parameter(name, TypeDesc::TypePoint, &f); +} + +void OSLCompiler::parameter_normal(const char *name, float3 f) +{ + OSL::ShadingSystem *ss = (OSL::ShadingSystem*)shadingsys; + ss->Parameter(name, TypeDesc::TypeNormal, &f); +} + +void OSLCompiler::parameter_vector(const char *name, float3 f) +{ + OSL::ShadingSystem *ss = (OSL::ShadingSystem*)shadingsys; + ss->Parameter(name, TypeDesc::TypeVector, &f); +} + +void OSLCompiler::parameter(const char *name, int f) +{ + OSL::ShadingSystem *ss = (OSL::ShadingSystem*)shadingsys; + ss->Parameter(name, TypeDesc::TypeInt, &f); +} + +void OSLCompiler::parameter(const char *name, const char *s) +{ + OSL::ShadingSystem *ss = (OSL::ShadingSystem*)shadingsys; + ss->Parameter(name, TypeDesc::TypeString, &s); +} + +void OSLCompiler::parameter(const char *name, ustring s) +{ + OSL::ShadingSystem *ss = (OSL::ShadingSystem*)shadingsys; + const char *str = s.c_str(); + ss->Parameter(name, TypeDesc::TypeString, &str); +} + +void OSLCompiler::parameter(const char *name, const Transform& tfm) +{ + OSL::ShadingSystem *ss = (OSL::ShadingSystem*)shadingsys; + ss->Parameter(name, TypeDesc::TypeMatrix, (float*)&tfm); +} + +void OSLCompiler::find_dependencies(set& dependencies, ShaderInput *input) +{ + ShaderNode *node = (input->link)? input->link->parent: NULL; + + if(node) { + foreach(ShaderInput *in, node->inputs) + if(!node_skip_input(node, in)) + find_dependencies(dependencies, in); + + dependencies.insert(node); + } +} + +void OSLCompiler::generate_nodes(const set& nodes) +{ + set done; + bool nodes_done; + + do { + nodes_done = true; + + foreach(ShaderNode *node, nodes) { + if(done.find(node) == done.end()) { + bool inputs_done = true; + + foreach(ShaderInput *input, node->inputs) + if(!node_skip_input(node, input)) + if(input->link && done.find(input->link->parent) == done.end()) + inputs_done = false; + + if(inputs_done) { + node->compile(*this); + done.insert(node); + + if(node->name == ustring("emission")) + current_shader->has_surface_emission = true; + } + else + nodes_done = false; + } + } + } while(!nodes_done); +} + +void OSLCompiler::compile_type(Shader *shader, ShaderGraph *graph, ShaderType type) +{ + OSL::ShadingSystem *ss = (OSL::ShadingSystem*)shadingsys; + + current_type = type; + + ss->ShaderGroupBegin(); + + ShaderNode *output = graph->output(); + set dependencies; + + if(type == SHADER_TYPE_SURFACE) { + /* generate surface shader */ + find_dependencies(dependencies, output->input("Surface")); + generate_nodes(dependencies); + output->compile(*this); + } + else if(type == SHADER_TYPE_VOLUME) { + /* generate volume shader */ + find_dependencies(dependencies, output->input("Volume")); + generate_nodes(dependencies); + output->compile(*this); + } + else if(type == SHADER_TYPE_DISPLACEMENT) { + /* generate displacement shader */ + find_dependencies(dependencies, output->input("Displacement")); + generate_nodes(dependencies); + output->compile(*this); + } + else + assert(0); + + ss->ShaderGroupEnd(); +} + +void OSLCompiler::compile(OSLGlobals *og, Shader *shader) +{ + OSL::ShadingSystem *ss = (OSL::ShadingSystem*)shadingsys; + ShaderGraph *graph = shader->graph; + ShaderNode *output = (graph)? graph->output(): NULL; + + /* copy graph for shader with bump mapping */ + if(output->input("Surface")->link && output->input("Displacement")->link) + if(!shader->graph_bump) + shader->graph_bump = shader->graph->copy(); + + /* finalize */ + shader->graph->finalize(false, true); + if(shader->graph_bump) + shader->graph_bump->finalize(true, true); + + current_shader = shader; + + shader->has_surface = false; + shader->has_surface_emission = false; + shader->has_volume = false; + shader->has_displacement = false; + + /* generate surface shader */ + if(graph && output->input("Surface")->link) { + compile_type(shader, shader->graph, SHADER_TYPE_SURFACE); + og->surface_state.push_back(ss->state()); + + if(shader->graph_bump) { + ss->clear_state(); + compile_type(shader, shader->graph_bump, SHADER_TYPE_SURFACE); + og->surface_state.push_back(ss->state()); + } + else + og->surface_state.push_back(ss->state()); + + ss->clear_state(); + + shader->has_surface = true; + } + else { + og->surface_state.push_back(OSL::ShadingAttribStateRef()); + og->surface_state.push_back(OSL::ShadingAttribStateRef()); + } + + /* generate volume shader */ + if(graph && output->input("Volume")->link) { + compile_type(shader, shader->graph, SHADER_TYPE_VOLUME); + shader->has_volume = true; + + og->volume_state.push_back(ss->state()); + og->volume_state.push_back(ss->state()); + ss->clear_state(); + } + else { + og->volume_state.push_back(OSL::ShadingAttribStateRef()); + og->volume_state.push_back(OSL::ShadingAttribStateRef()); + } + + /* generate displacement shader */ + if(graph && output->input("Displacement")->link) { + compile_type(shader, shader->graph, SHADER_TYPE_DISPLACEMENT); + shader->has_displacement = true; + + og->displacement_state.push_back(ss->state()); + og->displacement_state.push_back(ss->state()); + ss->clear_state(); + } + else { + og->displacement_state.push_back(OSL::ShadingAttribStateRef()); + og->displacement_state.push_back(OSL::ShadingAttribStateRef()); + } +} + +#else + +void OSLCompiler::add(ShaderNode *node, const char *name) +{ +} + +void OSLCompiler::parameter(const char *name, float f) +{ +} + +void OSLCompiler::parameter_color(const char *name, float3 f) +{ +} + +void OSLCompiler::parameter_vector(const char *name, float3 f) +{ +} + +void OSLCompiler::parameter(const char *name, int f) +{ +} + +void OSLCompiler::parameter(const char *name, const char *s) +{ +} + +void OSLCompiler::parameter(const char *name, ustring s) +{ +} + +void OSLCompiler::parameter(const char *name, const Transform& tfm) +{ +} + +#endif /* WITH_OSL */ + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/osl.h b/intern/cycles/render/osl.h new file mode 100644 index 00000000000..329cf9a4828 --- /dev/null +++ b/intern/cycles/render/osl.h @@ -0,0 +1,103 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __OSL_H__ +#define __OSL_H__ + +#include "util_set.h" + +#include "shader.h" + +#ifdef WITH_OSL +#include +#endif + +CCL_NAMESPACE_BEGIN + +class Device; +class DeviceScene; +class ImageManager; +class OSLRenderServices; +class OSLGlobals; +class Scene; +class ShaderGraph; +class ShaderNode; +class ShaderOutput; + +#ifdef WITH_OSL + +/* Shader Manage */ + +class OSLShaderManager : public ShaderManager { +public: + OSLShaderManager(); + ~OSLShaderManager(); + + void device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress); + void device_free(Device *device, DeviceScene *dscene); + +private: + OSL::ShadingSystem *ss; + OSL::TextureSystem *ts; + OSLRenderServices *services; + OSL::ErrorHandler errhandler; +}; + +#endif + +/* Graph Compiler */ + +class OSLCompiler { +public: + OSLCompiler(void *shadingsys); + void compile(OSLGlobals *og, Shader *shader); + + void add(ShaderNode *node, const char *name); + + void parameter(const char *name, float f); + void parameter_color(const char *name, float3 f); + void parameter_vector(const char *name, float3 f); + void parameter_normal(const char *name, float3 f); + void parameter_point(const char *name, float3 f); + void parameter(const char *name, int f); + void parameter(const char *name, const char *s); + void parameter(const char *name, ustring str); + void parameter(const char *name, const Transform& tfm); + + ShaderType output_type() { return current_type; } + + bool background; + +private: + string id(ShaderNode *node); + void compile_type(Shader *shader, ShaderGraph *graph, ShaderType type); + bool node_skip_input(ShaderNode *node, ShaderInput *input); + string compatible_name(const char *name); + + void find_dependencies(set& dependencies, ShaderInput *input); + void generate_nodes(const set& nodes); + + void *shadingsys; + ShaderType current_type; + Shader *current_shader; +}; + +CCL_NAMESPACE_END + +#endif /* __OSL_H__ */ + diff --git a/intern/cycles/render/scene.cpp b/intern/cycles/render/scene.cpp new file mode 100644 index 00000000000..85a0cc3a7c4 --- /dev/null +++ b/intern/cycles/render/scene.cpp @@ -0,0 +1,188 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include + +#include "background.h" +#include "camera.h" +#include "device.h" +#include "film.h" +#include "filter.h" +#include "integrator.h" +#include "light.h" +#include "shader.h" +#include "mesh.h" +#include "object.h" +#include "scene.h" +#include "svm.h" +#include "osl.h" + +#include "util_foreach.h" +#include "util_progress.h" + +CCL_NAMESPACE_BEGIN + +Scene::Scene(const SceneParams& params_) +: params(params_) +{ + device = NULL; + memset(&dscene.data, 0, sizeof(dscene.data)); + + camera = new Camera(); + filter = new Filter(); + film = new Film(); + background = new Background(); + light_manager = new LightManager(); + mesh_manager = new MeshManager(); + object_manager = new ObjectManager(); + integrator = new Integrator(); + image_manager = new ImageManager(); + shader_manager = ShaderManager::create(this); +} + +Scene::~Scene() +{ + camera->device_free(device, &dscene); + delete camera; + + filter->device_free(device, &dscene); + delete filter; + + film->device_free(device, &dscene); + delete film; + + background->device_free(device, &dscene); + delete background; + + mesh_manager->device_free(device, &dscene); + delete mesh_manager; + + object_manager->device_free(device, &dscene); + delete object_manager; + + integrator->device_free(device, &dscene); + delete integrator; + + shader_manager->device_free(device, &dscene); + delete shader_manager; + + light_manager->device_free(device, &dscene); + delete light_manager; + + foreach(Shader *s, shaders) + delete s; + foreach(Mesh *m, meshes) + delete m; + foreach(Object *o, objects) + delete o; + foreach(Light *l, lights) + delete l; + + image_manager->device_free(device, &dscene); + delete image_manager; +} + +void Scene::device_update(Device *device_, Progress& progress) +{ + if(!device) + device = device_; + + /* The order of updates is important, because there's dependencies between + * the different managers, using data computed by previous managers. + * + * - Background generates shader graph compiled by shader manager. + * - Image manager uploads images used by shaders. + * - Camera may be used for adapative subdivison. + * - Displacement shader must have all shader data available. + * - Light manager needs final mesh data to compute emission CDF. + */ + + progress.set_status("Updating Background"); + background->device_update(device, &dscene, this); + + if(progress.get_cancel()) return; + + progress.set_status("Updating Shaders"); + shader_manager->device_update(device, &dscene, this, progress); + + if(progress.get_cancel()) return; + + progress.set_status("Updating Images"); + image_manager->device_update(device, &dscene, progress); + + if(progress.get_cancel()) return; + + progress.set_status("Updating Camera"); + camera->device_update(device, &dscene); + + if(progress.get_cancel()) return; + + progress.set_status("Updating Objects"); + object_manager->device_update(device, &dscene, this, progress); + + if(progress.get_cancel()) return; + + progress.set_status("Updating Meshes"); + mesh_manager->device_update(device, &dscene, this, progress); + + if(progress.get_cancel()) return; + + progress.set_status("Updating Lights"); + light_manager->device_update(device, &dscene, this, progress); + + if(progress.get_cancel()) return; + + progress.set_status("Updating Filter"); + filter->device_update(device, &dscene); + + if(progress.get_cancel()) return; + + progress.set_status("Updating Integrator"); + integrator->device_update(device, &dscene); + + if(progress.get_cancel()) return; + + progress.set_status("Updating Film"); + film->device_update(device, &dscene); + + if(progress.get_cancel()) return; + + progress.set_status("Updating Device", "Writing constant memory"); + device->const_copy_to("__data", &dscene.data, sizeof(dscene.data)); +} + +bool Scene::need_update() +{ + return (need_reset() || film->need_update); +} + +bool Scene::need_reset() +{ + return (background->need_update + || image_manager->need_update + || camera->need_update + || object_manager->need_update + || mesh_manager->need_update + || light_manager->need_update + || filter->need_update + || integrator->need_update + || shader_manager->need_update); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/scene.h b/intern/cycles/render/scene.h new file mode 100644 index 00000000000..965a0054846 --- /dev/null +++ b/intern/cycles/render/scene.h @@ -0,0 +1,183 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __SCENE_H__ +#define __SCENE_H__ + +#include "image.h" + +#include "device_memory.h" + +#include "kernel_types.h" + +#include "util_param.h" +#include "util_string.h" +#include "util_thread.h" +#include "util_types.h" +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +class Background; +class Camera; +class Device; +class Film; +class Filter; +class Integrator; +class Light; +class LightManager; +class Mesh; +class MeshManager; +class Object; +class ObjectManager; +class Shader; +class ShaderManager; +class Progress; + +/* Scene Device Data */ + +class DeviceScene { +public: + /* BVH */ + device_vector bvh_nodes; + device_vector object_node; + device_vector tri_woop; + device_vector prim_index; + device_vector prim_object; + + /* mesh */ + device_vector tri_normal; + device_vector tri_vnormal; + device_vector tri_vindex; + device_vector tri_verts; + + /* objects */ + device_vector objects; + + /* attributes */ + device_vector attributes_map; + device_vector attributes_float; + device_vector attributes_float3; + + /* lights */ + device_vector light_distribution; + device_vector light_point; + + /* shaders */ + device_vector svm_nodes; + + /* filter */ + device_vector filter_table; + + /* film */ + device_vector response_curve_R; + device_vector response_curve_G; + device_vector response_curve_B; + + /* integrator */ + device_vector sobol_directions; + + /* images */ + device_vector tex_image[TEX_IMAGE_MAX]; + + KernelData data; +}; + +/* Scene Parameters */ + +class SceneParams { +public: + enum { OSL, SVM } shadingsystem; + enum BVHType { BVH_DYNAMIC, BVH_STATIC } bvh_type; + bool use_bvh_cache; + bool use_bvh_spatial_split; + bool use_qbvh; + + SceneParams() + { + shadingsystem = SVM; + bvh_type = BVH_DYNAMIC; + use_bvh_cache = false; + use_bvh_spatial_split = false; +#ifdef __QBVH__ + use_qbvh = true; +#else + use_qbvh = false; +#endif + } + + bool modified(const SceneParams& params) + { return !(shadingsystem == params.shadingsystem + && bvh_type == params.bvh_type + && use_bvh_cache == params.use_bvh_cache + && use_bvh_spatial_split == params.use_bvh_spatial_split + && use_qbvh == params.use_qbvh); } +}; + +/* Scene */ + +class Scene { +public: + /* data */ + Camera *camera; + Filter *filter; + Film *film; + Background *background; + Integrator *integrator; + + /* data lists */ + vector objects; + vector meshes; + vector shaders; + vector lights; + + /* data managers */ + ImageManager *image_manager; + LightManager *light_manager; + ShaderManager *shader_manager; + MeshManager *mesh_manager; + ObjectManager *object_manager; + + /* default shaders */ + int default_surface; + int default_light; + int default_background; + + /* device */ + Device *device; + DeviceScene dscene; + + /* parameters */ + SceneParams params; + + /* mutex must be locked manually by callers */ + thread_mutex mutex; + + Scene(const SceneParams& params); + ~Scene(); + + void device_update(Device *device, Progress& progress); + + bool need_update(); + bool need_reset(); +}; + +CCL_NAMESPACE_END + +#endif /* __SCENE_H__ */ + diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp new file mode 100644 index 00000000000..9fa0e548cab --- /dev/null +++ b/intern/cycles/render/session.cpp @@ -0,0 +1,435 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include +#include + +#include "buffers.h" +#include "camera.h" +#include "device.h" +#include "scene.h" +#include "session.h" + +#include "util_foreach.h" +#include "util_function.h" +#include "util_time.h" + +CCL_NAMESPACE_BEGIN + +Session::Session(const SessionParams& params_) +: params(params_), + tile_manager(params.progressive, params.passes, params.tile_size, params.min_size) +{ + device_use_gl = (params.device_type == DEVICE_CUDA && !params.background); + + device = Device::create(params.device_type, params.background); + buffers = new RenderBuffers(device); + display = new DisplayBuffer(device); + + session_thread = NULL; + scene = NULL; + + start_time = 0.0; + reset_time = 0.0; + preview_time = 0.0; + pass = 0; + + delayed_reset.do_reset = false; + delayed_reset.w = 0; + delayed_reset.h = 0; + + display_outdated = false; + gpu_draw_ready = false; + gpu_need_tonemap = false; +} + +Session::~Session() +{ + if(session_thread) { + progress.set_cancel("Exiting"); + gpu_need_tonemap = false; + gpu_need_tonemap_cond.notify_all(); + wait(); + } + + if(params.output_path != "") { + progress.set_status("Writing Image", params.output_path); + display->write(device, params.output_path); + } + + delete buffers; + delete display; + delete scene; + delete device; +} + +void Session::start() +{ + session_thread = new thread(function_bind(&Session::run, this)); +} + +bool Session::ready_to_reset() +{ + double dt = time_dt() - reset_time; + + if(!display_outdated) + return (dt > params.reset_timeout); + else + return (dt > params.cancel_timeout); +} + +/* GPU Session */ + +void Session::reset_gpu(int w, int h) +{ + /* block for buffer acces and reset immediately. we can't do this + in the thread, because we need to allocate an OpenGL buffer, and + that only works in the main thread */ + thread_scoped_lock display_lock(display->mutex); + thread_scoped_lock buffers_lock(buffers->mutex); + + display_outdated = true; + reset_time = time_dt(); + + reset_(w, h); + + gpu_need_tonemap = false; + gpu_need_tonemap_cond.notify_all(); +} + +bool Session::draw_gpu(int w, int h) +{ + /* block for buffer access */ + thread_scoped_lock display_lock(display->mutex); + + /* first check we already rendered something */ + if(gpu_draw_ready) { + /* then verify the buffers have the expected size, so we don't + draw previous results in a resized window */ + if(w == display->width && h == display->height) { + /* for CUDA we need to do tonemapping still, since we can + only access GL buffers from the main thread */ + if(gpu_need_tonemap) { + thread_scoped_lock buffers_lock(buffers->mutex); + tonemap(); + gpu_need_tonemap = false; + gpu_need_tonemap_cond.notify_all(); + } + + display->draw(device); + + if(display_outdated && (time_dt() - reset_time) > params.text_timeout) + return false; + + return true; + } + } + + return false; +} + +void Session::run_gpu() +{ + start_time = time_dt(); + reset_time = time_dt(); + + while(!progress.get_cancel() && tile_manager.next()) { + /* buffers mutex is locked entirely while rendering each + pass, and released/reacquired on each iteration to allow + reset and draw in between */ + thread_scoped_lock buffers_lock(buffers->mutex); + + /* update scene */ + update_scene(); + if(progress.get_cancel()) + break; + + /* update status and timing */ + update_status_time(); + + /* path trace */ + foreach(Tile& tile, tile_manager.state.tiles) { + path_trace(tile); + + device->task_wait(); + + if(progress.get_cancel()) + break; + } + + gpu_need_tonemap = true; + gpu_draw_ready = true; + progress.set_update(); + + /* wait for tonemap */ + if(!params.background) { + while(gpu_need_tonemap) { + if(progress.get_cancel()) + break; + + gpu_need_tonemap_cond.wait(buffers_lock); + } + } + + if(progress.get_cancel()) + break; + } +} + +/* CPU Session */ + +void Session::reset_cpu(int w, int h) +{ + thread_scoped_lock reset_lock(delayed_reset.mutex); + + display_outdated = true; + reset_time = time_dt(); + + delayed_reset.w = w; + delayed_reset.h = h; + delayed_reset.do_reset = true; + device->task_cancel(); +} + +bool Session::draw_cpu(int w, int h) +{ + thread_scoped_lock display_lock(display->mutex); + + /* first check we already rendered something */ + if(display->draw_ready()) { + /* then verify the buffers have the expected size, so we don't + draw previous results in a resized window */ + if(w == display->width && h == display->height) { + display->draw(device); + + if(display_outdated && (time_dt() - reset_time) > params.text_timeout) + return false; + + return true; + } + } + + return false; +} + +void Session::run_cpu() +{ + { + /* reset once to start */ + thread_scoped_lock reset_lock(delayed_reset.mutex); + thread_scoped_lock buffers_lock(buffers->mutex); + thread_scoped_lock display_lock(display->mutex); + + reset_(delayed_reset.w, delayed_reset.h); + delayed_reset.do_reset = false; + } + + while(!progress.get_cancel() && tile_manager.next()) { + { + thread_scoped_lock buffers_lock(buffers->mutex); + + /* update scene */ + update_scene(); + if(progress.get_cancel()) + break; + + /* update status and timing */ + update_status_time(); + + /* path trace all tiles */ + foreach(Tile& tile, tile_manager.state.tiles) + path_trace(tile); + } + + device->task_wait(); + + { + thread_scoped_lock reset_lock(delayed_reset.mutex); + thread_scoped_lock buffers_lock(buffers->mutex); + thread_scoped_lock display_lock(display->mutex); + + if(delayed_reset.do_reset) { + /* reset rendering if request from main thread */ + delayed_reset.do_reset = false; + reset_(delayed_reset.w, delayed_reset.h); + } + else { + /* tonemap only if we do not reset, we don't we don't + want to show the result of an incomplete pass*/ + tonemap(); + } + } + + progress.set_update(); + } +} + +void Session::run() +{ + /* session thread loop */ + progress.set_status("Waiting for render to start"); + + /* first scene update */ + if(!progress.get_cancel()) { + thread_scoped_lock scene_lock(scene->mutex); + scene->device_update(device, progress); + } + + /* run */ + if(!progress.get_cancel()) { + if(device_use_gl) + run_gpu(); + else + run_cpu(); + } + + /* progress update */ + if(progress.get_cancel()) + progress.set_status(progress.get_cancel_message()); + else + progress.set_update(); +} + +bool Session::draw(int w, int h) +{ + if(device_use_gl) + return draw_gpu(w, h); + else + return draw_cpu(w, h); +} + +void Session::reset_(int w, int h) +{ + if(w != buffers->width || h != buffers->height) { + gpu_draw_ready = false; + buffers->reset(device, w, h); + display->reset(device, w, h); + } + + tile_manager.reset(w, h); + + start_time = time_dt(); + preview_time = 0.0; + pass = 0; +} + +void Session::reset(int w, int h) +{ + if(device_use_gl) + reset_gpu(w, h); + else + reset_cpu(w, h); +} + +void Session::wait() +{ + session_thread->join(); + delete session_thread; + + session_thread = NULL; +} + +void Session::update_scene() +{ + thread_scoped_lock scene_lock(scene->mutex); + + progress.set_status("Updating Scene"); + + /* update camera if dimensions changed for progressive render */ + Camera *cam = scene->camera; + int w = tile_manager.state.width; + int h = tile_manager.state.height; + + if(cam->width != w || cam->height != h) { + cam->width = w; + cam->height = h; + cam->tag_update(); + } + + /* update scene */ + if(scene->need_update()) + scene->device_update(device, progress); +} + +void Session::update_status_time() +{ + int pass = tile_manager.state.pass; + int resolution = tile_manager.state.resolution; + + /* update status */ + string substatus; + if(!params.progressive) + substatus = "Path Tracing"; + else if(params.passes == INT_MAX) + substatus = string_printf("Path Tracing Pass %d", pass+1); + else + substatus = string_printf("Path Tracing Pass %d/%d", pass+1, params.passes); + progress.set_status("Rendering", substatus); + + /* update timing */ + if(preview_time == 0.0 && resolution == 1) + preview_time = time_dt(); + + double total_time = (time_dt() - start_time); + double pass_time = (pass == 0)? 0.0: (time_dt() - preview_time)/(pass); + + progress.set_pass(pass + 1, total_time, pass_time); +} + +void Session::path_trace(Tile& tile) +{ + /* add path trace task */ + DeviceTask task(DeviceTask::PATH_TRACE); + + task.x = tile.x; + task.y = tile.y; + task.w = tile.w; + task.h = tile.h; + task.buffer = buffers->buffer.device_pointer; + task.rng_state = buffers->rng_state.device_pointer; + task.pass = tile_manager.state.pass; + task.resolution = tile_manager.state.resolution; + + device->task_add(task); +} + +void Session::tonemap() +{ + /* add tonemap task */ + DeviceTask task(DeviceTask::TONEMAP); + + task.x = 0; + task.y = 0; + task.w = tile_manager.state.width; + task.h = tile_manager.state.height; + task.rgba = display->rgba.device_pointer; + task.buffer = buffers->buffer.device_pointer; + task.pass = tile_manager.state.pass; + task.resolution = tile_manager.state.resolution; + + device->task_add(task); + device->task_wait(); + + /* set display to new size */ + display->draw_set(tile_manager.state.width, tile_manager.state.height); + + display_outdated = false; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/session.h b/intern/cycles/render/session.h new file mode 100644 index 00000000000..7b23a89afc2 --- /dev/null +++ b/intern/cycles/render/session.h @@ -0,0 +1,152 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __SESSION_H__ +#define __SESSION_H__ + +#include "device.h" +#include "tile.h" + +#include "util_progress.h" +#include "util_thread.h" + +CCL_NAMESPACE_BEGIN + +class Device; +class DeviceScene; +class DisplayBuffer; +class Progress; +class RenderBuffers; +class Scene; + +/* Session Parameters */ + +class SessionParams { +public: + DeviceType device_type; + bool background; + string output_path; + + bool progressive; + int passes; + int tile_size; + int min_size; + + double cancel_timeout; + double reset_timeout; + double text_timeout; + + SessionParams() + { + device_type = DEVICE_CPU; + background = false; + output_path = ""; + + progressive = false; + passes = INT_MAX; + tile_size = 64; + min_size = 64; + + cancel_timeout = 0.1; + reset_timeout = 0.1; + text_timeout = 1.0; + } + + bool modified(const SessionParams& params) + { return !(device_type == params.device_type + && background == params.background + && output_path == params.output_path + /* && passes == params.passes */ + && progressive == params.progressive + && tile_size == params.tile_size + && min_size == params.min_size + && cancel_timeout == params.cancel_timeout + && reset_timeout == params.reset_timeout + && text_timeout == params.text_timeout); } + +}; + +/* Session + * + * This is the class that contains the session thread, running the render + * control loop and dispatching tasks. */ + +class Session { +public: + Device *device; + Scene *scene; + RenderBuffers *buffers; + DisplayBuffer *display; + Progress progress; + SessionParams params; + int pass; + + Session(const SessionParams& params); + ~Session(); + + void start(); + bool draw(int w, int h); + void wait(); + + bool ready_to_reset(); + void reset(int w, int h); + +protected: + struct DelayedReset { + thread_mutex mutex; + bool do_reset; + int w, h; + } delayed_reset; + + void run(); + + void update_scene(); + void update_status_time(); + + void tonemap(); + void path_trace(Tile& tile); + void reset_(int w, int h); + + void run_cpu(); + bool draw_cpu(int w, int h); + void reset_cpu(int w, int h); + + void run_gpu(); + bool draw_gpu(int w, int h); + void reset_gpu(int w, int h); + + TileManager tile_manager; + bool device_use_gl; + + thread *session_thread; + + volatile bool display_outdated; + + volatile bool gpu_draw_ready; + volatile bool gpu_need_tonemap; + thread_condition_variable gpu_need_tonemap_cond; + + double start_time; + double reset_time; + double preview_time; +}; + +CCL_NAMESPACE_END + +#endif /* __SESSION_H__ */ + diff --git a/intern/cycles/render/shader.cpp b/intern/cycles/render/shader.cpp new file mode 100644 index 00000000000..9ea162d3ad0 --- /dev/null +++ b/intern/cycles/render/shader.cpp @@ -0,0 +1,215 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "device.h" +#include "graph.h" +#include "light.h" +#include "mesh.h" +#include "nodes.h" +#include "osl.h" +#include "scene.h" +#include "shader.h" +#include "svm.h" + +#include "util_foreach.h" + +CCL_NAMESPACE_BEGIN + +/* Shader */ + +Shader::Shader() +{ + name = ""; + + graph = NULL; + graph_bump = NULL; + + has_surface = false; + has_surface_emission = false; + has_volume = false; + has_displacement = false; + + need_update = true; +} + +Shader::~Shader() +{ + delete graph; + delete graph_bump; +} + +void Shader::set_graph(ShaderGraph *graph_) +{ + /* assign graph */ + delete graph; + delete graph_bump; + graph = graph_; + graph_bump = NULL; +} + +void Shader::tag_update(Scene *scene) +{ + /* update tag */ + need_update = true; + scene->shader_manager->need_update = true; + + /* if the shader previously was emissive, update light distribution, + * if the new shader is emissive, a light manager update tag will be + * done in the shader manager device update. */ + if(has_surface_emission) + scene->light_manager->need_update = true; + + /* get requested attributes. this could be optimized by pruning unused + nodes here already, but that's the job of the shader manager currently, + and may not be so great for interactive rendering where you temporarily + disconnect a node */ + AttributeRequestSet prev_attributes = attributes; + + attributes.clear(); + foreach(ShaderNode *node, graph->nodes) + node->attributes(&attributes); + + /* compare if the attributes changed, mesh manager will check + need_update_attributes, update the relevant meshes and clear it. */ + if(attributes.modified(prev_attributes)) { + need_update_attributes = true; + scene->mesh_manager->need_update = true; + } +} + +/* Shader Manager */ + +ShaderManager::ShaderManager() +{ + need_update = true; +} + +ShaderManager::~ShaderManager() +{ +} + +ShaderManager *ShaderManager::create(Scene *scene) +{ + ShaderManager *manager; + +#ifdef WITH_OSL + if(scene->params.shadingsystem == SceneParams::OSL) + manager = new OSLShaderManager(); + else +#endif + manager = new SVMShaderManager(); + + add_default(scene); + + return manager; +} + +uint ShaderManager::get_attribute_id(ustring name) +{ + /* get a unique id for each name, for SVM attribute lookup */ + AttributeIDMap::iterator it = unique_attribute_id.find(name); + + if(it != unique_attribute_id.end()) + return it->second; + + uint id = (uint)Attribute::STD_NUM + unique_attribute_id.size(); + unique_attribute_id[name] = id; + return id; +} + +uint ShaderManager::get_attribute_id(Attribute::Standard std) +{ + return (uint)std; +} + +int ShaderManager::get_shader_id(uint shader, Mesh *mesh, bool smooth) +{ + /* get a shader id to pass to the kernel */ + int id = shader*2; + + /* index depends bump since this setting is not in the shader */ + if(mesh && mesh->displacement_method != Mesh::DISPLACE_TRUE) + id += 1; + /* stuff in smooth flag too */ + if(smooth) + id= -id; + + return id; +} + +void ShaderManager::add_default(Scene *scene) +{ + Shader *shader; + ShaderGraph *graph; + ShaderNode *closure, *out; + + /* default surface */ + { + graph = new ShaderGraph(); + + closure = graph->add(new DiffuseBsdfNode()); + closure->input("Color")->value = make_float3(0.8f, 0.8f, 0.8f); + out = graph->output(); + + graph->connect(closure->output("BSDF"), out->input("Surface")); + + shader = new Shader(); + shader->name = "default_surface"; + shader->graph = graph; + scene->shaders.push_back(shader); + scene->default_surface = scene->shaders.size() - 1; + } + + /* default light */ + { + graph = new ShaderGraph(); + + closure = graph->add(new EmissionNode()); + closure->input("Color")->value = make_float3(0.8f, 0.8f, 0.8f); + closure->input("Strength")->value.x = 0.0f; + out = graph->output(); + + graph->connect(closure->output("Emission"), out->input("Surface")); + + shader = new Shader(); + shader->name = "default_light"; + shader->graph = graph; + scene->shaders.push_back(shader); + scene->default_light = scene->shaders.size() - 1; + } + + /* default background */ + { + graph = new ShaderGraph(); + + closure = graph->add(new BackgroundNode()); + closure->input("Color")->value = make_float3(0.8f, 0.8f, 0.8f); + out = graph->output(); + + graph->connect(closure->output("Background"), out->input("Surface")); + + shader = new Shader(); + shader->name = "default_background"; + shader->graph = graph; + scene->shaders.push_back(shader); + scene->default_background = scene->shaders.size() - 1; + } +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/shader.h b/intern/cycles/render/shader.h new file mode 100644 index 00000000000..0712100b3e7 --- /dev/null +++ b/intern/cycles/render/shader.h @@ -0,0 +1,116 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __SHADER_H__ +#define __SHADER_H__ + +#include "attribute.h" +#include "kernel_types.h" + +#include "util_map.h" +#include "util_param.h" +#include "util_string.h" +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +class Device; +class DeviceScene; +class Mesh; +class Progress; +class Scene; +class ShaderGraph; +class float3; + +/* Shader describing the appearance of a Mesh, Light or Background. + * + * While there is only a single shader graph, it has three outputs: surface, + * volume and displacement, that the shader manager will compile and execute + * separately. */ + +class Shader { +public: + /* name */ + string name; + + /* shader graph */ + ShaderGraph *graph; + + /* shader graph with auto bump mapping included, we compile two shaders, + with and without bump, because the displacement method is a mesh + level setting, so we need to handle both */ + ShaderGraph *graph_bump; + + /* synchronization */ + bool need_update; + bool need_update_attributes; + + /* information about shader after compiling */ + bool has_surface; + bool has_surface_emission; + bool has_volume; + bool has_displacement; + + /* requested mesh attributes */ + AttributeRequestSet attributes; + + Shader(); + ~Shader(); + + void set_graph(ShaderGraph *graph); + void tag_update(Scene *scene); +}; + +/* Shader Manager virtual base class + * + * From this the SVM and OSL shader managers are derived, that do the actual + * shader compiling and device updating. */ + +class ShaderManager { +public: + bool need_update; + + static ShaderManager *create(Scene *scene); + virtual ~ShaderManager(); + + /* device update */ + virtual void device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress) = 0; + virtual void device_free(Device *device, DeviceScene *dscene) = 0; + + /* get globally unique id for a type of attribute */ + uint get_attribute_id(ustring name); + uint get_attribute_id(Attribute::Standard std); + + /* get shader id for mesh faces */ + int get_shader_id(uint shader, Mesh *mesh = NULL, bool smooth = false); + + /* add default shaders to scene, to use as default for things that don't + have any shader assigned explicitly */ + static void add_default(Scene *scene); + +protected: + ShaderManager(); + + typedef unordered_map AttributeIDMap; + AttributeIDMap unique_attribute_id; +}; + +CCL_NAMESPACE_END + +#endif /* __SHADER_H__ */ + diff --git a/intern/cycles/render/sobol.cpp b/intern/cycles/render/sobol.cpp new file mode 100644 index 00000000000..be8939174b4 --- /dev/null +++ b/intern/cycles/render/sobol.cpp @@ -0,0 +1,21304 @@ +/* + * Sobol sequence direction vectors. + * + * This file contains code to create direction vectors for generating sobol + * sequences in high dimensions. It is adapted from code on this webpage: + * + * http://web.maths.unsw.edu.au/~fkuo/sobol/ + * + * From these papers: + * + * S. Joe and F. Y. Kuo, Remark on Algorithm 659: Implementing Sobol's quasirandom + * sequence generator, ACM Trans. Math. Softw. 29, 49-57 (2003) + * + * S. Joe and F. Y. Kuo, Constructing Sobol sequences with better two-dimensional + * projections, SIAM J. Sci. Comput. 30, 2635-2654 (2008) + * + */ + +/* Copyright (c) 2008, Frances Y. Kuo and Stephen Joe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the names of the copyright holders nor the names of the + * University of New South Wales and the University of Waikato + * and its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "util_debug.h" + +#include "sobol.h" + +CCL_NAMESPACE_BEGIN + +#define SOBOL_MAX_NUMBER 32 + +typedef struct SobolDirectionNumbers { + unsigned int d, s, a; + unsigned int m[SOBOL_MAX_NUMBER]; +} SobolDirectionNumbers; + +static SobolDirectionNumbers SOBOL_NUMBERS[SOBOL_MAX_DIMENSIONS-1] = { +{2, 1, 0, {1}}, +{3, 2, 1, {1, 3}}, +{4, 3, 1, {1, 3, 1}}, +{5, 3, 2, {1, 1, 1}}, +{6, 4, 1, {1, 1, 3, 3}}, +{7, 4, 4, {1, 3, 5, 13}}, +{8, 5, 2, {1, 1, 5, 5, 17}}, +{9, 5, 4, {1, 1, 5, 5, 5}}, +{10, 5, 7, {1, 1, 7, 11, 19}}, +{11, 5, 11, {1, 1, 5, 1, 1}}, +{12, 5, 13, {1, 1, 1, 3, 11}}, +{13, 5, 14, {1, 3, 5, 5, 31}}, +{14, 6, 1, {1, 3, 3, 9, 7, 49}}, +{15, 6, 13, {1, 1, 1, 15, 21, 21}}, +{16, 6, 16, {1, 3, 1, 13, 27, 49}}, +{17, 6, 19, {1, 1, 1, 15, 7, 5}}, +{18, 6, 22, {1, 3, 1, 15, 13, 25}}, +{19, 6, 25, {1, 1, 5, 5, 19, 61}}, +{20, 7, 1, {1, 3, 7, 11, 23, 15, 103}}, +{21, 7, 4, {1, 3, 7, 13, 13, 15, 69}}, +{22, 7, 7, {1, 1, 3, 13, 7, 35, 63}}, +{23, 7, 8, {1, 3, 5, 9, 1, 25, 53}}, +{24, 7, 14, {1, 3, 1, 13, 9, 35, 107}}, +{25, 7, 19, {1, 3, 1, 5, 27, 61, 31}}, +{26, 7, 21, {1, 1, 5, 11, 19, 41, 61}}, +{27, 7, 28, {1, 3, 5, 3, 3, 13, 69}}, +{28, 7, 31, {1, 1, 7, 13, 1, 19, 1}}, +{29, 7, 32, {1, 3, 7, 5, 13, 19, 59}}, +{30, 7, 37, {1, 1, 3, 9, 25, 29, 41}}, +{31, 7, 41, {1, 3, 5, 13, 23, 1, 55}}, +{32, 7, 42, {1, 3, 7, 3, 13, 59, 17}}, +{33, 7, 50, {1, 3, 1, 3, 5, 53, 69}}, +{34, 7, 55, {1, 1, 5, 5, 23, 33, 13}}, +{35, 7, 56, {1, 1, 7, 7, 1, 61, 123}}, +{36, 7, 59, {1, 1, 7, 9, 13, 61, 49}}, +{37, 7, 62, {1, 3, 3, 5, 3, 55, 33}}, +{38, 8, 14, {1, 3, 1, 15, 31, 13, 49, 245}}, +{39, 8, 21, {1, 3, 5, 15, 31, 59, 63, 97}}, +{40, 8, 22, {1, 3, 1, 11, 11, 11, 77, 249}}, +{41, 8, 38, {1, 3, 1, 11, 27, 43, 71, 9}}, +{42, 8, 47, {1, 1, 7, 15, 21, 11, 81, 45}}, +{43, 8, 49, {1, 3, 7, 3, 25, 31, 65, 79}}, +{44, 8, 50, {1, 3, 1, 1, 19, 11, 3, 205}}, +{45, 8, 52, {1, 1, 5, 9, 19, 21, 29, 157}}, +{46, 8, 56, {1, 3, 7, 11, 1, 33, 89, 185}}, +{47, 8, 67, {1, 3, 3, 3, 15, 9, 79, 71}}, +{48, 8, 70, {1, 3, 7, 11, 15, 39, 119, 27}}, +{49, 8, 84, {1, 1, 3, 1, 11, 31, 97, 225}}, +{50, 8, 97, {1, 1, 1, 3, 23, 43, 57, 177}}, +{51, 8, 103, {1, 3, 7, 7, 17, 17, 37, 71}}, +{52, 8, 115, {1, 3, 1, 5, 27, 63, 123, 213}}, +{53, 8, 122, {1, 1, 3, 5, 11, 43, 53, 133}}, +{54, 9, 8, {1, 3, 5, 5, 29, 17, 47, 173, 479}}, +{55, 9, 13, {1, 3, 3, 11, 3, 1, 109, 9, 69}}, +{56, 9, 16, {1, 1, 1, 5, 17, 39, 23, 5, 343}}, +{57, 9, 22, {1, 3, 1, 5, 25, 15, 31, 103, 499}}, +{58, 9, 25, {1, 1, 1, 11, 11, 17, 63, 105, 183}}, +{59, 9, 44, {1, 1, 5, 11, 9, 29, 97, 231, 363}}, +{60, 9, 47, {1, 1, 5, 15, 19, 45, 41, 7, 383}}, +{61, 9, 52, {1, 3, 7, 7, 31, 19, 83, 137, 221}}, +{62, 9, 55, {1, 1, 1, 3, 23, 15, 111, 223, 83}}, +{63, 9, 59, {1, 1, 5, 13, 31, 15, 55, 25, 161}}, +{64, 9, 62, {1, 1, 3, 13, 25, 47, 39, 87, 257}}, +{65, 9, 67, {1, 1, 1, 11, 21, 53, 125, 249, 293}}, +{66, 9, 74, {1, 1, 7, 11, 11, 7, 57, 79, 323}}, +{67, 9, 81, {1, 1, 5, 5, 17, 13, 81, 3, 131}}, +{68, 9, 82, {1, 1, 7, 13, 23, 7, 65, 251, 475}}, +{69, 9, 87, {1, 3, 5, 1, 9, 43, 3, 149, 11}}, +{70, 9, 91, {1, 1, 3, 13, 31, 13, 13, 255, 487}}, +{71, 9, 94, {1, 3, 3, 1, 5, 63, 89, 91, 127}}, +{72, 9, 103, {1, 1, 3, 3, 1, 19, 123, 127, 237}}, +{73, 9, 104, {1, 1, 5, 7, 23, 31, 37, 243, 289}}, +{74, 9, 109, {1, 1, 5, 11, 17, 53, 117, 183, 491}}, +{75, 9, 122, {1, 1, 1, 5, 1, 13, 13, 209, 345}}, +{76, 9, 124, {1, 1, 3, 15, 1, 57, 115, 7, 33}}, +{77, 9, 137, {1, 3, 1, 11, 7, 43, 81, 207, 175}}, +{78, 9, 138, {1, 3, 1, 1, 15, 27, 63, 255, 49}}, +{79, 9, 143, {1, 3, 5, 3, 27, 61, 105, 171, 305}}, +{80, 9, 145, {1, 1, 5, 3, 1, 3, 57, 249, 149}}, +{81, 9, 152, {1, 1, 3, 5, 5, 57, 15, 13, 159}}, +{82, 9, 157, {1, 1, 1, 11, 7, 11, 105, 141, 225}}, +{83, 9, 167, {1, 3, 3, 5, 27, 59, 121, 101, 271}}, +{84, 9, 173, {1, 3, 5, 9, 11, 49, 51, 59, 115}}, +{85, 9, 176, {1, 1, 7, 1, 23, 45, 125, 71, 419}}, +{86, 9, 181, {1, 1, 3, 5, 23, 5, 105, 109, 75}}, +{87, 9, 182, {1, 1, 7, 15, 7, 11, 67, 121, 453}}, +{88, 9, 185, {1, 3, 7, 3, 9, 13, 31, 27, 449}}, +{89, 9, 191, {1, 3, 1, 15, 19, 39, 39, 89, 15}}, +{90, 9, 194, {1, 1, 1, 1, 1, 33, 73, 145, 379}}, +{91, 9, 199, {1, 3, 1, 15, 15, 43, 29, 13, 483}}, +{92, 9, 218, {1, 1, 7, 3, 19, 27, 85, 131, 431}}, +{93, 9, 220, {1, 3, 3, 3, 5, 35, 23, 195, 349}}, +{94, 9, 227, {1, 3, 3, 7, 9, 27, 39, 59, 297}}, +{95, 9, 229, {1, 1, 3, 9, 11, 17, 13, 241, 157}}, +{96, 9, 230, {1, 3, 7, 15, 25, 57, 33, 189, 213}}, +{97, 9, 234, {1, 1, 7, 1, 9, 55, 73, 83, 217}}, +{98, 9, 236, {1, 3, 3, 13, 19, 27, 23, 113, 249}}, +{99, 9, 241, {1, 3, 5, 3, 23, 43, 3, 253, 479}}, +{100, 9, 244, {1, 1, 5, 5, 11, 5, 45, 117, 217}}, +{101, 9, 253, {1, 3, 3, 7, 29, 37, 33, 123, 147}}, +{102, 10, 4, {1, 3, 1, 15, 5, 5, 37, 227, 223, 459}}, +{103, 10, 13, {1, 1, 7, 5, 5, 39, 63, 255, 135, 487}}, +{104, 10, 19, {1, 3, 1, 7, 9, 7, 87, 249, 217, 599}}, +{105, 10, 22, {1, 1, 3, 13, 9, 47, 7, 225, 363, 247}}, +{106, 10, 50, {1, 3, 7, 13, 19, 13, 9, 67, 9, 737}}, +{107, 10, 55, {1, 3, 5, 5, 19, 59, 7, 41, 319, 677}}, +{108, 10, 64, {1, 1, 5, 3, 31, 63, 15, 43, 207, 789}}, +{109, 10, 69, {1, 1, 7, 9, 13, 39, 3, 47, 497, 169}}, +{110, 10, 98, {1, 3, 1, 7, 21, 17, 97, 19, 415, 905}}, +{111, 10, 107, {1, 3, 7, 1, 3, 31, 71, 111, 165, 127}}, +{112, 10, 115, {1, 1, 5, 11, 1, 61, 83, 119, 203, 847}}, +{113, 10, 121, {1, 3, 3, 13, 9, 61, 19, 97, 47, 35}}, +{114, 10, 127, {1, 1, 7, 7, 15, 29, 63, 95, 417, 469}}, +{115, 10, 134, {1, 3, 1, 9, 25, 9, 71, 57, 213, 385}}, +{116, 10, 140, {1, 3, 5, 13, 31, 47, 101, 57, 39, 341}}, +{117, 10, 145, {1, 1, 3, 3, 31, 57, 125, 173, 365, 551}}, +{118, 10, 152, {1, 3, 7, 1, 13, 57, 67, 157, 451, 707}}, +{119, 10, 158, {1, 1, 1, 7, 21, 13, 105, 89, 429, 965}}, +{120, 10, 161, {1, 1, 5, 9, 17, 51, 45, 119, 157, 141}}, +{121, 10, 171, {1, 3, 7, 7, 13, 45, 91, 9, 129, 741}}, +{122, 10, 181, {1, 3, 7, 1, 23, 57, 67, 141, 151, 571}}, +{123, 10, 194, {1, 1, 3, 11, 17, 47, 93, 107, 375, 157}}, +{124, 10, 199, {1, 3, 3, 5, 11, 21, 43, 51, 169, 915}}, +{125, 10, 203, {1, 1, 5, 3, 15, 55, 101, 67, 455, 625}}, +{126, 10, 208, {1, 3, 5, 9, 1, 23, 29, 47, 345, 595}}, +{127, 10, 227, {1, 3, 7, 7, 5, 49, 29, 155, 323, 589}}, +{128, 10, 242, {1, 3, 3, 7, 5, 41, 127, 61, 261, 717}}, +{129, 10, 251, {1, 3, 7, 7, 17, 23, 117, 67, 129, 1009}}, +{130, 10, 253, {1, 1, 3, 13, 11, 39, 21, 207, 123, 305}}, +{131, 10, 265, {1, 1, 3, 9, 29, 3, 95, 47, 231, 73}}, +{132, 10, 266, {1, 3, 1, 9, 1, 29, 117, 21, 441, 259}}, +{133, 10, 274, {1, 3, 1, 13, 21, 39, 125, 211, 439, 723}}, +{134, 10, 283, {1, 1, 7, 3, 17, 63, 115, 89, 49, 773}}, +{135, 10, 289, {1, 3, 7, 13, 11, 33, 101, 107, 63, 73}}, +{136, 10, 295, {1, 1, 5, 5, 13, 57, 63, 135, 437, 177}}, +{137, 10, 301, {1, 1, 3, 7, 27, 63, 93, 47, 417, 483}}, +{138, 10, 316, {1, 1, 3, 1, 23, 29, 1, 191, 49, 23}}, +{139, 10, 319, {1, 1, 3, 15, 25, 55, 9, 101, 219, 607}}, +{140, 10, 324, {1, 3, 1, 7, 7, 19, 51, 251, 393, 307}}, +{141, 10, 346, {1, 3, 3, 3, 25, 55, 17, 75, 337, 3}}, +{142, 10, 352, {1, 1, 1, 13, 25, 17, 65, 45, 479, 413}}, +{143, 10, 361, {1, 1, 7, 7, 27, 49, 99, 161, 213, 727}}, +{144, 10, 367, {1, 3, 5, 1, 23, 5, 43, 41, 251, 857}}, +{145, 10, 382, {1, 3, 3, 7, 11, 61, 39, 87, 383, 835}}, +{146, 10, 395, {1, 1, 3, 15, 13, 7, 29, 7, 505, 923}}, +{147, 10, 398, {1, 3, 7, 1, 5, 31, 47, 157, 445, 501}}, +{148, 10, 400, {1, 1, 3, 7, 1, 43, 9, 147, 115, 605}}, +{149, 10, 412, {1, 3, 3, 13, 5, 1, 119, 211, 455, 1001}}, +{150, 10, 419, {1, 1, 3, 5, 13, 19, 3, 243, 75, 843}}, +{151, 10, 422, {1, 3, 7, 7, 1, 19, 91, 249, 357, 589}}, +{152, 10, 426, {1, 1, 1, 9, 1, 25, 109, 197, 279, 411}}, +{153, 10, 428, {1, 3, 1, 15, 23, 57, 59, 135, 191, 75}}, +{154, 10, 433, {1, 1, 5, 15, 29, 21, 39, 253, 383, 349}}, +{155, 10, 446, {1, 3, 3, 5, 19, 45, 61, 151, 199, 981}}, +{156, 10, 454, {1, 3, 5, 13, 9, 61, 107, 141, 141, 1}}, +{157, 10, 457, {1, 3, 1, 11, 27, 25, 85, 105, 309, 979}}, +{158, 10, 472, {1, 3, 3, 11, 19, 7, 115, 223, 349, 43}}, +{159, 10, 493, {1, 1, 7, 9, 21, 39, 123, 21, 275, 927}}, +{160, 10, 505, {1, 1, 7, 13, 15, 41, 47, 243, 303, 437}}, +{161, 10, 508, {1, 1, 1, 7, 7, 3, 15, 99, 409, 719}}, +{162, 11, 2, {1, 3, 3, 15, 27, 49, 113, 123, 113, 67, 469}}, +{163, 11, 11, {1, 3, 7, 11, 3, 23, 87, 169, 119, 483, 199}}, +{164, 11, 21, {1, 1, 5, 15, 7, 17, 109, 229, 179, 213, 741}}, +{165, 11, 22, {1, 1, 5, 13, 11, 17, 25, 135, 403, 557, 1433}}, +{166, 11, 35, {1, 3, 1, 1, 1, 61, 67, 215, 189, 945, 1243}}, +{167, 11, 49, {1, 1, 7, 13, 17, 33, 9, 221, 429, 217, 1679}}, +{168, 11, 50, {1, 1, 3, 11, 27, 3, 15, 93, 93, 865, 1049}}, +{169, 11, 56, {1, 3, 7, 7, 25, 41, 121, 35, 373, 379, 1547}}, +{170, 11, 61, {1, 3, 3, 9, 11, 35, 45, 205, 241, 9, 59}}, +{171, 11, 70, {1, 3, 1, 7, 3, 51, 7, 177, 53, 975, 89}}, +{172, 11, 74, {1, 1, 3, 5, 27, 1, 113, 231, 299, 759, 861}}, +{173, 11, 79, {1, 3, 3, 15, 25, 29, 5, 255, 139, 891, 2031}}, +{174, 11, 84, {1, 3, 1, 1, 13, 9, 109, 193, 419, 95, 17}}, +{175, 11, 88, {1, 1, 7, 9, 3, 7, 29, 41, 135, 839, 867}}, +{176, 11, 103, {1, 1, 7, 9, 25, 49, 123, 217, 113, 909, 215}}, +{177, 11, 104, {1, 1, 7, 3, 23, 15, 43, 133, 217, 327, 901}}, +{178, 11, 112, {1, 1, 3, 3, 13, 53, 63, 123, 477, 711, 1387}}, +{179, 11, 115, {1, 1, 3, 15, 7, 29, 75, 119, 181, 957, 247}}, +{180, 11, 117, {1, 1, 1, 11, 27, 25, 109, 151, 267, 99, 1461}}, +{181, 11, 122, {1, 3, 7, 15, 5, 5, 53, 145, 11, 725, 1501}}, +{182, 11, 134, {1, 3, 7, 1, 9, 43, 71, 229, 157, 607, 1835}}, +{183, 11, 137, {1, 3, 3, 13, 25, 1, 5, 27, 471, 349, 127}}, +{184, 11, 146, {1, 1, 1, 1, 23, 37, 9, 221, 269, 897, 1685}}, +{185, 11, 148, {1, 1, 3, 3, 31, 29, 51, 19, 311, 553, 1969}}, +{186, 11, 157, {1, 3, 7, 5, 5, 55, 17, 39, 475, 671, 1529}}, +{187, 11, 158, {1, 1, 7, 1, 1, 35, 47, 27, 437, 395, 1635}}, +{188, 11, 162, {1, 1, 7, 3, 13, 23, 43, 135, 327, 139, 389}}, +{189, 11, 164, {1, 3, 7, 3, 9, 25, 91, 25, 429, 219, 513}}, +{190, 11, 168, {1, 1, 3, 5, 13, 29, 119, 201, 277, 157, 2043}}, +{191, 11, 173, {1, 3, 5, 3, 29, 57, 13, 17, 167, 739, 1031}}, +{192, 11, 185, {1, 3, 3, 5, 29, 21, 95, 27, 255, 679, 1531}}, +{193, 11, 186, {1, 3, 7, 15, 9, 5, 21, 71, 61, 961, 1201}}, +{194, 11, 191, {1, 3, 5, 13, 15, 57, 33, 93, 459, 867, 223}}, +{195, 11, 193, {1, 1, 1, 15, 17, 43, 127, 191, 67, 177, 1073}}, +{196, 11, 199, {1, 1, 1, 15, 23, 7, 21, 199, 75, 293, 1611}}, +{197, 11, 213, {1, 3, 7, 13, 15, 39, 21, 149, 65, 741, 319}}, +{198, 11, 214, {1, 3, 7, 11, 23, 13, 101, 89, 277, 519, 711}}, +{199, 11, 220, {1, 3, 7, 15, 19, 27, 85, 203, 441, 97, 1895}}, +{200, 11, 227, {1, 3, 1, 3, 29, 25, 21, 155, 11, 191, 197}}, +{201, 11, 236, {1, 1, 7, 5, 27, 11, 81, 101, 457, 675, 1687}}, +{202, 11, 242, {1, 3, 1, 5, 25, 5, 65, 193, 41, 567, 781}}, +{203, 11, 251, {1, 3, 1, 5, 11, 15, 113, 77, 411, 695, 1111}}, +{204, 11, 256, {1, 1, 3, 9, 11, 53, 119, 171, 55, 297, 509}}, +{205, 11, 259, {1, 1, 1, 1, 11, 39, 113, 139, 165, 347, 595}}, +{206, 11, 265, {1, 3, 7, 11, 9, 17, 101, 13, 81, 325, 1733}}, +{207, 11, 266, {1, 3, 1, 1, 21, 43, 115, 9, 113, 907, 645}}, +{208, 11, 276, {1, 1, 7, 3, 9, 25, 117, 197, 159, 471, 475}}, +{209, 11, 292, {1, 3, 1, 9, 11, 21, 57, 207, 485, 613, 1661}}, +{210, 11, 304, {1, 1, 7, 7, 27, 55, 49, 223, 89, 85, 1523}}, +{211, 11, 310, {1, 1, 5, 3, 19, 41, 45, 51, 447, 299, 1355}}, +{212, 11, 316, {1, 3, 1, 13, 1, 33, 117, 143, 313, 187, 1073}}, +{213, 11, 319, {1, 1, 7, 7, 5, 11, 65, 97, 377, 377, 1501}}, +{214, 11, 322, {1, 3, 1, 1, 21, 35, 95, 65, 99, 23, 1239}}, +{215, 11, 328, {1, 1, 5, 9, 3, 37, 95, 167, 115, 425, 867}}, +{216, 11, 334, {1, 3, 3, 13, 1, 37, 27, 189, 81, 679, 773}}, +{217, 11, 339, {1, 1, 3, 11, 1, 61, 99, 233, 429, 969, 49}}, +{218, 11, 341, {1, 1, 1, 7, 25, 63, 99, 165, 245, 793, 1143}}, +{219, 11, 345, {1, 1, 5, 11, 11, 43, 55, 65, 71, 283, 273}}, +{220, 11, 346, {1, 1, 5, 5, 9, 3, 101, 251, 355, 379, 1611}}, +{221, 11, 362, {1, 1, 1, 15, 21, 63, 85, 99, 49, 749, 1335}}, +{222, 11, 367, {1, 1, 5, 13, 27, 9, 121, 43, 255, 715, 289}}, +{223, 11, 372, {1, 3, 1, 5, 27, 19, 17, 223, 77, 571, 1415}}, +{224, 11, 375, {1, 1, 5, 3, 13, 59, 125, 251, 195, 551, 1737}}, +{225, 11, 376, {1, 3, 3, 15, 13, 27, 49, 105, 389, 971, 755}}, +{226, 11, 381, {1, 3, 5, 15, 23, 43, 35, 107, 447, 763, 253}}, +{227, 11, 385, {1, 3, 5, 11, 21, 3, 17, 39, 497, 407, 611}}, +{228, 11, 388, {1, 1, 7, 13, 15, 31, 113, 17, 23, 507, 1995}}, +{229, 11, 392, {1, 1, 7, 15, 3, 15, 31, 153, 423, 79, 503}}, +{230, 11, 409, {1, 1, 7, 9, 19, 25, 23, 171, 505, 923, 1989}}, +{231, 11, 415, {1, 1, 5, 9, 21, 27, 121, 223, 133, 87, 697}}, +{232, 11, 416, {1, 1, 5, 5, 9, 19, 107, 99, 319, 765, 1461}}, +{233, 11, 421, {1, 1, 3, 3, 19, 25, 3, 101, 171, 729, 187}}, +{234, 11, 428, {1, 1, 3, 1, 13, 23, 85, 93, 291, 209, 37}}, +{235, 11, 431, {1, 1, 1, 15, 25, 25, 77, 253, 333, 947, 1073}}, +{236, 11, 434, {1, 1, 3, 9, 17, 29, 55, 47, 255, 305, 2037}}, +{237, 11, 439, {1, 3, 3, 9, 29, 63, 9, 103, 489, 939, 1523}}, +{238, 11, 446, {1, 3, 7, 15, 7, 31, 89, 175, 369, 339, 595}}, +{239, 11, 451, {1, 3, 7, 13, 25, 5, 71, 207, 251, 367, 665}}, +{240, 11, 453, {1, 3, 3, 3, 21, 25, 75, 35, 31, 321, 1603}}, +{241, 11, 457, {1, 1, 1, 9, 11, 1, 65, 5, 11, 329, 535}}, +{242, 11, 458, {1, 1, 5, 3, 19, 13, 17, 43, 379, 485, 383}}, +{243, 11, 471, {1, 3, 5, 13, 13, 9, 85, 147, 489, 787, 1133}}, +{244, 11, 475, {1, 3, 1, 1, 5, 51, 37, 129, 195, 297, 1783}}, +{245, 11, 478, {1, 1, 3, 15, 19, 57, 59, 181, 455, 697, 2033}}, +{246, 11, 484, {1, 3, 7, 1, 27, 9, 65, 145, 325, 189, 201}}, +{247, 11, 493, {1, 3, 1, 15, 31, 23, 19, 5, 485, 581, 539}}, +{248, 11, 494, {1, 1, 7, 13, 11, 15, 65, 83, 185, 847, 831}}, +{249, 11, 499, {1, 3, 5, 7, 7, 55, 73, 15, 303, 511, 1905}}, +{250, 11, 502, {1, 3, 5, 9, 7, 21, 45, 15, 397, 385, 597}}, +{251, 11, 517, {1, 3, 7, 3, 23, 13, 73, 221, 511, 883, 1265}}, +{252, 11, 518, {1, 1, 3, 11, 1, 51, 73, 185, 33, 975, 1441}}, +{253, 11, 524, {1, 3, 3, 9, 19, 59, 21, 39, 339, 37, 143}}, +{254, 11, 527, {1, 1, 7, 1, 31, 33, 19, 167, 117, 635, 639}}, +{255, 11, 555, {1, 1, 1, 3, 5, 13, 59, 83, 355, 349, 1967}}, +{256, 11, 560, {1, 1, 1, 5, 19, 3, 53, 133, 97, 863, 983}}, +{257, 11, 565, {1, 3, 1, 13, 9, 41, 91, 105, 173, 97, 625}}, +{258, 11, 569, {1, 1, 5, 3, 7, 49, 115, 133, 71, 231, 1063}}, +{259, 11, 578, {1, 1, 7, 5, 17, 43, 47, 45, 497, 547, 757}}, +{260, 11, 580, {1, 3, 5, 15, 21, 61, 123, 191, 249, 31, 631}}, +{261, 11, 587, {1, 3, 7, 9, 17, 7, 11, 185, 127, 169, 1951}}, +{262, 11, 589, {1, 1, 5, 13, 11, 11, 9, 49, 29, 125, 791}}, +{263, 11, 590, {1, 1, 1, 15, 31, 41, 13, 167, 273, 429, 57}}, +{264, 11, 601, {1, 3, 5, 3, 27, 7, 35, 209, 65, 265, 1393}}, +{265, 11, 607, {1, 3, 1, 13, 31, 19, 53, 143, 135, 9, 1021}}, +{266, 11, 611, {1, 1, 7, 13, 31, 5, 115, 153, 143, 957, 623}}, +{267, 11, 614, {1, 1, 5, 11, 25, 19, 29, 31, 297, 943, 443}}, +{268, 11, 617, {1, 3, 3, 5, 21, 11, 127, 81, 479, 25, 699}}, +{269, 11, 618, {1, 1, 3, 11, 25, 31, 97, 19, 195, 781, 705}}, +{270, 11, 625, {1, 1, 5, 5, 31, 11, 75, 207, 197, 885, 2037}}, +{271, 11, 628, {1, 1, 1, 11, 9, 23, 29, 231, 307, 17, 1497}}, +{272, 11, 635, {1, 1, 5, 11, 11, 43, 111, 233, 307, 523, 1259}}, +{273, 11, 641, {1, 1, 7, 5, 1, 21, 107, 229, 343, 933, 217}}, +{274, 11, 647, {1, 1, 1, 11, 3, 21, 125, 131, 405, 599, 1469}}, +{275, 11, 654, {1, 3, 5, 5, 9, 39, 33, 81, 389, 151, 811}}, +{276, 11, 659, {1, 1, 7, 7, 7, 1, 59, 223, 265, 529, 2021}}, +{277, 11, 662, {1, 3, 1, 3, 9, 23, 85, 181, 47, 265, 49}}, +{278, 11, 672, {1, 3, 5, 11, 19, 23, 9, 7, 157, 299, 1983}}, +{279, 11, 675, {1, 3, 1, 5, 15, 5, 21, 105, 29, 339, 1041}}, +{280, 11, 682, {1, 1, 1, 1, 5, 33, 65, 85, 111, 705, 479}}, +{281, 11, 684, {1, 1, 1, 7, 9, 35, 77, 87, 151, 321, 101}}, +{282, 11, 689, {1, 1, 5, 7, 17, 1, 51, 197, 175, 811, 1229}}, +{283, 11, 695, {1, 3, 3, 15, 23, 37, 85, 185, 239, 543, 731}}, +{284, 11, 696, {1, 3, 1, 7, 7, 55, 111, 109, 289, 439, 243}}, +{285, 11, 713, {1, 1, 7, 11, 17, 53, 35, 217, 259, 853, 1667}}, +{286, 11, 719, {1, 3, 1, 9, 1, 63, 87, 17, 73, 565, 1091}}, +{287, 11, 724, {1, 1, 3, 3, 11, 41, 1, 57, 295, 263, 1029}}, +{288, 11, 733, {1, 1, 5, 1, 27, 45, 109, 161, 411, 421, 1395}}, +{289, 11, 734, {1, 3, 5, 11, 25, 35, 47, 191, 339, 417, 1727}}, +{290, 11, 740, {1, 1, 5, 15, 21, 1, 93, 251, 351, 217, 1767}}, +{291, 11, 747, {1, 3, 3, 11, 3, 7, 75, 155, 313, 211, 491}}, +{292, 11, 749, {1, 3, 3, 5, 11, 9, 101, 161, 453, 913, 1067}}, +{293, 11, 752, {1, 1, 3, 1, 15, 45, 127, 141, 163, 727, 1597}}, +{294, 11, 755, {1, 3, 3, 7, 1, 33, 63, 73, 73, 341, 1691}}, +{295, 11, 762, {1, 3, 5, 13, 15, 39, 53, 235, 77, 99, 949}}, +{296, 11, 770, {1, 1, 5, 13, 31, 17, 97, 13, 215, 301, 1927}}, +{297, 11, 782, {1, 1, 7, 1, 1, 37, 91, 93, 441, 251, 1131}}, +{298, 11, 784, {1, 3, 7, 9, 25, 5, 105, 69, 81, 943, 1459}}, +{299, 11, 787, {1, 3, 7, 11, 31, 43, 13, 209, 27, 1017, 501}}, +{300, 11, 789, {1, 1, 7, 15, 1, 33, 31, 233, 161, 507, 387}}, +{301, 11, 793, {1, 3, 3, 5, 5, 53, 33, 177, 503, 627, 1927}}, +{302, 11, 796, {1, 1, 7, 11, 7, 61, 119, 31, 457, 229, 1875}}, +{303, 11, 803, {1, 1, 5, 15, 19, 5, 53, 201, 157, 885, 1057}}, +{304, 11, 805, {1, 3, 7, 9, 1, 35, 51, 113, 249, 425, 1009}}, +{305, 11, 810, {1, 3, 5, 7, 21, 53, 37, 155, 119, 345, 631}}, +{306, 11, 815, {1, 3, 5, 7, 15, 31, 109, 69, 503, 595, 1879}}, +{307, 11, 824, {1, 3, 3, 1, 25, 35, 65, 131, 403, 705, 503}}, +{308, 11, 829, {1, 3, 7, 7, 19, 33, 11, 153, 45, 633, 499}}, +{309, 11, 830, {1, 3, 3, 5, 11, 3, 29, 93, 487, 33, 703}}, +{310, 11, 832, {1, 1, 3, 15, 21, 53, 107, 179, 387, 927, 1757}}, +{311, 11, 841, {1, 1, 3, 7, 21, 45, 51, 147, 175, 317, 361}}, +{312, 11, 847, {1, 1, 1, 7, 7, 13, 15, 243, 269, 795, 1965}}, +{313, 11, 849, {1, 1, 3, 5, 19, 33, 57, 115, 443, 537, 627}}, +{314, 11, 861, {1, 3, 3, 9, 3, 39, 25, 61, 185, 717, 1049}}, +{315, 11, 871, {1, 3, 7, 3, 7, 37, 107, 153, 7, 269, 1581}}, +{316, 11, 878, {1, 1, 7, 3, 7, 41, 91, 41, 145, 489, 1245}}, +{317, 11, 889, {1, 1, 5, 9, 7, 7, 105, 81, 403, 407, 283}}, +{318, 11, 892, {1, 1, 7, 9, 27, 55, 29, 77, 193, 963, 949}}, +{319, 11, 901, {1, 1, 5, 3, 25, 51, 107, 63, 403, 917, 815}}, +{320, 11, 908, {1, 1, 7, 3, 7, 61, 19, 51, 457, 599, 535}}, +{321, 11, 920, {1, 3, 7, 1, 23, 51, 105, 153, 239, 215, 1847}}, +{322, 11, 923, {1, 1, 3, 5, 27, 23, 79, 49, 495, 45, 1935}}, +{323, 11, 942, {1, 1, 1, 11, 11, 47, 55, 133, 495, 999, 1461}}, +{324, 11, 949, {1, 1, 3, 15, 27, 51, 93, 17, 355, 763, 1675}}, +{325, 11, 950, {1, 3, 1, 3, 1, 3, 79, 119, 499, 17, 995}}, +{326, 11, 954, {1, 1, 1, 1, 15, 43, 45, 17, 167, 973, 799}}, +{327, 11, 961, {1, 1, 1, 3, 27, 49, 89, 29, 483, 913, 2023}}, +{328, 11, 968, {1, 1, 3, 3, 5, 11, 75, 7, 41, 851, 611}}, +{329, 11, 971, {1, 3, 1, 3, 7, 57, 39, 123, 257, 283, 507}}, +{330, 11, 973, {1, 3, 3, 11, 27, 23, 113, 229, 187, 299, 133}}, +{331, 11, 979, {1, 1, 3, 13, 9, 63, 101, 77, 451, 169, 337}}, +{332, 11, 982, {1, 3, 7, 3, 3, 59, 45, 195, 229, 415, 409}}, +{333, 11, 986, {1, 3, 5, 3, 11, 19, 71, 93, 43, 857, 369}}, +{334, 11, 998, {1, 3, 7, 9, 19, 33, 115, 19, 241, 703, 247}}, +{335, 11, 1001, {1, 3, 5, 11, 5, 35, 21, 155, 463, 1005, 1073}}, +{336, 11, 1010, {1, 3, 7, 3, 25, 15, 109, 83, 93, 69, 1189}}, +{337, 11, 1012, {1, 3, 5, 7, 5, 21, 93, 133, 135, 167, 903}}, +{338, 12, 41, {1, 1, 7, 7, 3, 59, 121, 161, 285, 815, 1769, 3705}}, +{339, 12, 52, {1, 3, 1, 1, 3, 47, 103, 171, 381, 609, 185, 373}}, +{340, 12, 61, {1, 3, 3, 15, 23, 33, 107, 131, 441, 445, 689, 2059}}, +{341, 12, 62, {1, 3, 3, 11, 7, 53, 101, 167, 435, 803, 1255, 3781}}, +{342, 12, 76, {1, 1, 5, 11, 15, 59, 41, 19, 135, 835, 1263, 505}}, +{343, 12, 104, {1, 1, 7, 11, 21, 49, 23, 219, 127, 961, 1065, 385}}, +{344, 12, 117, {1, 3, 5, 15, 7, 47, 117, 217, 45, 731, 1639, 733}}, +{345, 12, 131, {1, 1, 7, 11, 27, 57, 91, 87, 81, 35, 1269, 1007}}, +{346, 12, 143, {1, 1, 3, 11, 15, 37, 53, 219, 193, 937, 1899, 3733}}, +{347, 12, 145, {1, 3, 5, 3, 13, 11, 27, 19, 199, 393, 965, 2195}}, +{348, 12, 157, {1, 3, 1, 3, 5, 1, 37, 173, 413, 1023, 553, 409}}, +{349, 12, 167, {1, 3, 1, 7, 15, 29, 123, 95, 255, 373, 1799, 3841}}, +{350, 12, 171, {1, 3, 5, 13, 21, 57, 51, 17, 511, 195, 1157, 1831}}, +{351, 12, 176, {1, 1, 1, 15, 29, 19, 7, 73, 295, 519, 587, 3523}}, +{352, 12, 181, {1, 1, 5, 13, 13, 35, 115, 191, 123, 535, 717, 1661}}, +{353, 12, 194, {1, 3, 3, 5, 23, 21, 47, 251, 379, 921, 1119, 297}}, +{354, 12, 217, {1, 3, 3, 9, 29, 53, 121, 201, 135, 193, 523, 2943}}, +{355, 12, 236, {1, 1, 1, 7, 29, 45, 125, 9, 99, 867, 425, 601}}, +{356, 12, 239, {1, 3, 1, 9, 13, 15, 67, 181, 109, 293, 1305, 3079}}, +{357, 12, 262, {1, 3, 3, 9, 5, 35, 15, 209, 305, 87, 767, 2795}}, +{358, 12, 283, {1, 3, 3, 11, 27, 57, 113, 123, 179, 643, 149, 523}}, +{359, 12, 286, {1, 1, 3, 15, 11, 17, 67, 223, 63, 657, 335, 3309}}, +{360, 12, 307, {1, 1, 1, 9, 25, 29, 109, 159, 39, 513, 571, 1761}}, +{361, 12, 313, {1, 1, 3, 1, 5, 63, 75, 19, 455, 601, 123, 691}}, +{362, 12, 319, {1, 1, 1, 3, 21, 5, 45, 169, 377, 513, 1951, 2565}}, +{363, 12, 348, {1, 1, 3, 11, 3, 33, 119, 69, 253, 907, 805, 1449}}, +{364, 12, 352, {1, 1, 5, 13, 31, 15, 17, 7, 499, 61, 687, 1867}}, +{365, 12, 357, {1, 3, 7, 11, 17, 33, 73, 77, 299, 243, 641, 2345}}, +{366, 12, 391, {1, 1, 7, 11, 9, 35, 31, 235, 359, 647, 379, 1161}}, +{367, 12, 398, {1, 3, 3, 15, 31, 25, 5, 67, 33, 45, 437, 4067}}, +{368, 12, 400, {1, 1, 3, 11, 7, 17, 37, 87, 333, 253, 1517, 2921}}, +{369, 12, 412, {1, 1, 7, 15, 7, 15, 107, 189, 153, 769, 1521, 3427}}, +{370, 12, 415, {1, 3, 5, 13, 5, 61, 113, 37, 293, 393, 113, 43}}, +{371, 12, 422, {1, 1, 1, 15, 29, 43, 107, 31, 167, 147, 301, 1021}}, +{372, 12, 440, {1, 1, 1, 13, 3, 1, 35, 93, 195, 181, 2027, 1491}}, +{373, 12, 460, {1, 3, 3, 3, 13, 33, 77, 199, 153, 221, 1699, 3671}}, +{374, 12, 465, {1, 3, 5, 13, 7, 49, 123, 155, 495, 681, 819, 809}}, +{375, 12, 468, {1, 3, 5, 15, 27, 61, 117, 189, 183, 887, 617, 4053}}, +{376, 12, 515, {1, 1, 1, 7, 31, 59, 125, 235, 389, 369, 447, 1039}}, +{377, 12, 536, {1, 3, 5, 1, 5, 39, 115, 89, 249, 377, 431, 3747}}, +{378, 12, 539, {1, 1, 1, 5, 7, 47, 59, 157, 77, 445, 699, 3439}}, +{379, 12, 551, {1, 1, 3, 5, 11, 21, 19, 75, 11, 599, 1575, 735}}, +{380, 12, 558, {1, 3, 5, 3, 19, 13, 41, 69, 199, 143, 1761, 3215}}, +{381, 12, 563, {1, 3, 5, 7, 19, 43, 25, 41, 41, 11, 1647, 2783}}, +{382, 12, 570, {1, 3, 1, 9, 19, 45, 111, 97, 405, 399, 457, 3219}}, +{383, 12, 595, {1, 1, 3, 1, 23, 15, 65, 121, 59, 985, 829, 2259}}, +{384, 12, 598, {1, 1, 3, 7, 17, 13, 107, 229, 75, 551, 1299, 2363}}, +{385, 12, 617, {1, 1, 5, 5, 21, 57, 23, 199, 509, 139, 2007, 3875}}, +{386, 12, 647, {1, 3, 1, 11, 19, 53, 15, 229, 215, 741, 695, 823}}, +{387, 12, 654, {1, 3, 7, 1, 29, 3, 17, 163, 417, 559, 549, 319}}, +{388, 12, 678, {1, 3, 1, 13, 17, 9, 47, 133, 365, 7, 1937, 1071}}, +{389, 12, 713, {1, 3, 5, 7, 19, 37, 55, 163, 301, 249, 689, 2327}}, +{390, 12, 738, {1, 3, 5, 13, 11, 23, 61, 205, 257, 377, 615, 1457}}, +{391, 12, 747, {1, 3, 5, 1, 23, 37, 13, 75, 331, 495, 579, 3367}}, +{392, 12, 750, {1, 1, 1, 9, 1, 23, 49, 129, 475, 543, 883, 2531}}, +{393, 12, 757, {1, 3, 1, 5, 23, 59, 51, 35, 343, 695, 219, 369}}, +{394, 12, 772, {1, 3, 3, 1, 27, 17, 63, 97, 71, 507, 1929, 613}}, +{395, 12, 803, {1, 1, 5, 1, 21, 31, 11, 109, 247, 409, 1817, 2173}}, +{396, 12, 810, {1, 1, 3, 15, 23, 9, 7, 209, 301, 23, 147, 1691}}, +{397, 12, 812, {1, 1, 7, 5, 5, 19, 37, 229, 249, 277, 1115, 2309}}, +{398, 12, 850, {1, 1, 1, 5, 5, 63, 5, 249, 285, 431, 343, 2467}}, +{399, 12, 862, {1, 1, 1, 11, 7, 45, 35, 75, 505, 537, 29, 2919}}, +{400, 12, 906, {1, 3, 5, 15, 11, 39, 15, 63, 263, 9, 199, 445}}, +{401, 12, 908, {1, 3, 3, 3, 27, 63, 53, 171, 227, 63, 1049, 827}}, +{402, 12, 929, {1, 1, 3, 13, 7, 11, 115, 183, 179, 937, 1785, 381}}, +{403, 12, 930, {1, 3, 1, 11, 13, 15, 107, 81, 53, 295, 1785, 3757}}, +{404, 12, 954, {1, 3, 3, 13, 11, 5, 109, 243, 3, 505, 323, 1373}}, +{405, 12, 964, {1, 3, 3, 11, 21, 51, 17, 177, 381, 937, 1263, 3889}}, +{406, 12, 982, {1, 3, 5, 9, 27, 25, 85, 193, 143, 573, 1189, 2995}}, +{407, 12, 985, {1, 3, 5, 11, 13, 9, 81, 21, 159, 953, 91, 1751}}, +{408, 12, 991, {1, 1, 3, 3, 27, 61, 11, 253, 391, 333, 1105, 635}}, +{409, 12, 992, {1, 3, 3, 15, 9, 57, 95, 81, 419, 735, 251, 1141}}, +{410, 12, 1067, {1, 1, 5, 9, 31, 39, 59, 13, 319, 807, 1241, 2433}}, +{411, 12, 1070, {1, 3, 3, 5, 27, 13, 107, 141, 423, 937, 2027, 3233}}, +{412, 12, 1096, {1, 3, 3, 9, 9, 25, 125, 23, 443, 835, 1245, 847}}, +{413, 12, 1099, {1, 1, 7, 15, 17, 17, 83, 107, 411, 285, 847, 1571}}, +{414, 12, 1116, {1, 1, 3, 13, 29, 61, 37, 81, 349, 727, 1453, 1957}}, +{415, 12, 1143, {1, 3, 7, 11, 31, 13, 59, 77, 273, 591, 1265, 1533}}, +{416, 12, 1165, {1, 1, 7, 7, 13, 17, 25, 25, 187, 329, 347, 1473}}, +{417, 12, 1178, {1, 3, 7, 7, 5, 51, 37, 99, 221, 153, 503, 2583}}, +{418, 12, 1184, {1, 3, 1, 13, 19, 27, 11, 69, 181, 479, 1183, 3229}}, +{419, 12, 1202, {1, 3, 3, 13, 23, 21, 103, 147, 323, 909, 947, 315}}, +{420, 12, 1213, {1, 3, 1, 3, 23, 1, 31, 59, 93, 513, 45, 2271}}, +{421, 12, 1221, {1, 3, 5, 1, 7, 43, 109, 59, 231, 41, 1515, 2385}}, +{422, 12, 1240, {1, 3, 1, 5, 31, 57, 49, 223, 283, 1013, 11, 701}}, +{423, 12, 1246, {1, 1, 5, 1, 19, 53, 55, 31, 31, 299, 495, 693}}, +{424, 12, 1252, {1, 3, 3, 9, 5, 33, 77, 253, 427, 791, 731, 1019}}, +{425, 12, 1255, {1, 3, 7, 11, 1, 9, 119, 203, 53, 877, 1707, 3499}}, +{426, 12, 1267, {1, 1, 3, 7, 13, 39, 55, 159, 423, 113, 1653, 3455}}, +{427, 12, 1293, {1, 1, 3, 5, 21, 47, 51, 59, 55, 411, 931, 251}}, +{428, 12, 1301, {1, 3, 7, 3, 31, 25, 81, 115, 405, 239, 741, 455}}, +{429, 12, 1305, {1, 1, 5, 1, 31, 3, 101, 83, 479, 491, 1779, 2225}}, +{430, 12, 1332, {1, 3, 3, 3, 9, 37, 107, 161, 203, 503, 767, 3435}}, +{431, 12, 1349, {1, 3, 7, 9, 1, 27, 61, 119, 233, 39, 1375, 4089}}, +{432, 12, 1384, {1, 1, 5, 9, 1, 31, 45, 51, 369, 587, 383, 2813}}, +{433, 12, 1392, {1, 3, 7, 5, 31, 7, 49, 119, 487, 591, 1627, 53}}, +{434, 12, 1402, {1, 1, 7, 1, 9, 47, 1, 223, 369, 711, 1603, 1917}}, +{435, 12, 1413, {1, 3, 5, 3, 21, 37, 111, 17, 483, 739, 1193, 2775}}, +{436, 12, 1417, {1, 3, 3, 7, 17, 11, 51, 117, 455, 191, 1493, 3821}}, +{437, 12, 1423, {1, 1, 5, 9, 23, 39, 99, 181, 343, 485, 99, 1931}}, +{438, 12, 1451, {1, 3, 1, 7, 29, 49, 31, 71, 489, 527, 1763, 2909}}, +{439, 12, 1480, {1, 1, 5, 11, 5, 5, 73, 189, 321, 57, 1191, 3685}}, +{440, 12, 1491, {1, 1, 5, 15, 13, 45, 125, 207, 371, 415, 315, 983}}, +{441, 12, 1503, {1, 3, 3, 5, 25, 59, 33, 31, 239, 919, 1859, 2709}}, +{442, 12, 1504, {1, 3, 5, 13, 27, 61, 23, 115, 61, 413, 1275, 3559}}, +{443, 12, 1513, {1, 3, 7, 15, 5, 59, 101, 81, 47, 967, 809, 3189}}, +{444, 12, 1538, {1, 1, 5, 11, 31, 15, 39, 25, 173, 505, 809, 2677}}, +{445, 12, 1544, {1, 1, 5, 9, 19, 13, 95, 89, 511, 127, 1395, 2935}}, +{446, 12, 1547, {1, 1, 5, 5, 31, 45, 9, 57, 91, 303, 1295, 3215}}, +{447, 12, 1555, {1, 3, 3, 3, 19, 15, 113, 187, 217, 489, 1285, 1803}}, +{448, 12, 1574, {1, 1, 3, 1, 13, 29, 57, 139, 255, 197, 537, 2183}}, +{449, 12, 1603, {1, 3, 1, 15, 11, 7, 53, 255, 467, 9, 757, 3167}}, +{450, 12, 1615, {1, 3, 3, 15, 21, 13, 9, 189, 359, 323, 49, 333}}, +{451, 12, 1618, {1, 3, 7, 11, 7, 37, 21, 119, 401, 157, 1659, 1069}}, +{452, 12, 1629, {1, 1, 5, 7, 17, 33, 115, 229, 149, 151, 2027, 279}}, +{453, 12, 1634, {1, 1, 5, 15, 5, 49, 77, 155, 383, 385, 1985, 945}}, +{454, 12, 1636, {1, 3, 7, 3, 7, 55, 85, 41, 357, 527, 1715, 1619}}, +{455, 12, 1639, {1, 1, 3, 1, 21, 45, 115, 21, 199, 967, 1581, 3807}}, +{456, 12, 1657, {1, 1, 3, 7, 21, 39, 117, 191, 169, 73, 413, 3417}}, +{457, 12, 1667, {1, 1, 1, 13, 1, 31, 57, 195, 231, 321, 367, 1027}}, +{458, 12, 1681, {1, 3, 7, 3, 11, 29, 47, 161, 71, 419, 1721, 437}}, +{459, 12, 1697, {1, 1, 7, 3, 11, 9, 43, 65, 157, 1, 1851, 823}}, +{460, 12, 1704, {1, 1, 1, 5, 21, 15, 31, 101, 293, 299, 127, 1321}}, +{461, 12, 1709, {1, 1, 7, 1, 27, 1, 11, 229, 241, 705, 43, 1475}}, +{462, 12, 1722, {1, 3, 7, 1, 5, 15, 73, 183, 193, 55, 1345, 49}}, +{463, 12, 1730, {1, 3, 3, 3, 19, 3, 55, 21, 169, 663, 1675, 137}}, +{464, 12, 1732, {1, 1, 1, 13, 7, 21, 69, 67, 373, 965, 1273, 2279}}, +{465, 12, 1802, {1, 1, 7, 7, 21, 23, 17, 43, 341, 845, 465, 3355}}, +{466, 12, 1804, {1, 3, 5, 5, 25, 5, 81, 101, 233, 139, 359, 2057}}, +{467, 12, 1815, {1, 1, 3, 11, 15, 39, 55, 3, 471, 765, 1143, 3941}}, +{468, 12, 1826, {1, 1, 7, 15, 9, 57, 81, 79, 215, 433, 333, 3855}}, +{469, 12, 1832, {1, 1, 5, 5, 19, 45, 83, 31, 209, 363, 701, 1303}}, +{470, 12, 1843, {1, 3, 7, 5, 1, 13, 55, 163, 435, 807, 287, 2031}}, +{471, 12, 1849, {1, 3, 3, 7, 3, 3, 17, 197, 39, 169, 489, 1769}}, +{472, 12, 1863, {1, 1, 3, 5, 29, 43, 87, 161, 289, 339, 1233, 2353}}, +{473, 12, 1905, {1, 3, 3, 9, 21, 9, 77, 1, 453, 167, 1643, 2227}}, +{474, 12, 1928, {1, 1, 7, 1, 15, 7, 67, 33, 193, 241, 1031, 2339}}, +{475, 12, 1933, {1, 3, 1, 11, 1, 63, 45, 65, 265, 661, 849, 1979}}, +{476, 12, 1939, {1, 3, 1, 13, 19, 49, 3, 11, 159, 213, 659, 2839}}, +{477, 12, 1976, {1, 3, 5, 11, 9, 29, 27, 227, 253, 449, 1403, 3427}}, +{478, 12, 1996, {1, 1, 3, 1, 7, 3, 77, 143, 277, 779, 1499, 475}}, +{479, 12, 2013, {1, 1, 1, 5, 11, 23, 87, 131, 393, 849, 193, 3189}}, +{480, 12, 2014, {1, 3, 5, 11, 3, 3, 89, 9, 449, 243, 1501, 1739}}, +{481, 12, 2020, {1, 3, 1, 9, 29, 29, 113, 15, 65, 611, 135, 3687}}, +{482, 13, 13, {1, 1, 1, 9, 21, 19, 39, 151, 395, 501, 1339, 959, 2725}}, +{483, 13, 19, {1, 3, 7, 1, 7, 35, 45, 33, 119, 225, 1631, 1695, 1459}}, +{484, 13, 26, {1, 1, 1, 3, 25, 55, 37, 79, 167, 907, 1075, 271, 4059}}, +{485, 13, 41, {1, 3, 5, 13, 5, 13, 53, 165, 437, 67, 1705, 3177, 8095}}, +{486, 13, 50, {1, 3, 3, 13, 27, 57, 95, 55, 443, 245, 1945, 1725, 1929}}, +{487, 13, 55, {1, 3, 1, 9, 5, 33, 109, 35, 99, 827, 341, 2401, 2411}}, +{488, 13, 69, {1, 1, 5, 9, 7, 33, 43, 39, 87, 799, 635, 3481, 7159}}, +{489, 13, 70, {1, 3, 1, 1, 31, 15, 45, 27, 337, 113, 987, 2065, 2529}}, +{490, 13, 79, {1, 1, 5, 9, 5, 15, 105, 123, 479, 289, 1609, 2177, 4629}}, +{491, 13, 82, {1, 3, 5, 11, 31, 47, 97, 87, 385, 195, 1041, 651, 3271}}, +{492, 13, 87, {1, 1, 3, 7, 17, 3, 101, 55, 87, 629, 1687, 1387, 2745}}, +{493, 13, 93, {1, 3, 5, 5, 7, 21, 9, 237, 313, 549, 1107, 117, 6183}}, +{494, 13, 94, {1, 1, 3, 9, 9, 5, 55, 201, 487, 851, 1103, 2993, 4055}}, +{495, 13, 97, {1, 1, 5, 9, 31, 19, 59, 7, 363, 381, 1167, 2057, 5715}}, +{496, 13, 100, {1, 3, 3, 15, 23, 63, 19, 227, 387, 827, 487, 1049, 7471}}, +{497, 13, 112, {1, 3, 1, 5, 23, 25, 61, 245, 363, 863, 963, 3583, 6475}}, +{498, 13, 121, {1, 1, 5, 1, 5, 27, 81, 85, 275, 49, 235, 3291, 1195}}, +{499, 13, 134, {1, 1, 5, 7, 23, 53, 85, 107, 511, 779, 1265, 1093, 7859}}, +{500, 13, 138, {1, 3, 3, 1, 9, 21, 75, 219, 59, 485, 1739, 3845, 1109}}, +{501, 13, 148, {1, 3, 5, 1, 13, 41, 19, 143, 293, 391, 2023, 1791, 4399}}, +{502, 13, 151, {1, 3, 7, 15, 21, 13, 21, 195, 215, 413, 523, 2099, 2341}}, +{503, 13, 157, {1, 1, 1, 3, 29, 51, 47, 57, 135, 575, 943, 1673, 541}}, +{504, 13, 161, {1, 3, 5, 1, 9, 13, 113, 175, 447, 115, 657, 4077, 5973}}, +{505, 13, 179, {1, 1, 1, 11, 17, 41, 37, 95, 297, 579, 911, 2207, 2387}}, +{506, 13, 181, {1, 3, 5, 3, 23, 11, 23, 231, 93, 667, 711, 1563, 7961}}, +{507, 13, 188, {1, 1, 7, 3, 17, 59, 13, 181, 141, 991, 1817, 457, 1711}}, +{508, 13, 196, {1, 3, 3, 5, 31, 59, 81, 205, 245, 537, 1049, 997, 1815}}, +{509, 13, 203, {1, 3, 7, 5, 17, 13, 9, 79, 17, 185, 5, 2211, 6263}}, +{510, 13, 206, {1, 3, 7, 13, 7, 53, 61, 145, 13, 285, 1203, 947, 2933}}, +{511, 13, 223, {1, 1, 7, 3, 31, 19, 69, 217, 47, 441, 1893, 673, 4451}}, +{512, 13, 224, {1, 1, 1, 1, 25, 9, 23, 225, 385, 629, 603, 3747, 4241}}, +{513, 13, 227, {1, 3, 1, 9, 5, 37, 31, 237, 431, 79, 1521, 459, 2523}}, +{514, 13, 230, {1, 3, 7, 3, 9, 43, 105, 179, 5, 225, 799, 1777, 4893}}, +{515, 13, 239, {1, 1, 3, 1, 29, 45, 29, 159, 267, 247, 455, 847, 3909}}, +{516, 13, 241, {1, 1, 3, 7, 25, 21, 121, 57, 467, 275, 719, 1521, 7319}}, +{517, 13, 248, {1, 3, 1, 3, 11, 35, 119, 123, 81, 979, 1187, 3623, 4293}}, +{518, 13, 253, {1, 1, 1, 7, 15, 25, 121, 235, 25, 487, 873, 1787, 1977}}, +{519, 13, 268, {1, 1, 1, 11, 3, 7, 17, 135, 345, 353, 383, 4011, 2573}}, +{520, 13, 274, {1, 3, 7, 15, 27, 13, 97, 123, 65, 675, 951, 1285, 6559}}, +{521, 13, 283, {1, 3, 7, 3, 7, 1, 71, 19, 325, 765, 337, 1197, 2697}}, +{522, 13, 286, {1, 3, 5, 1, 31, 37, 11, 71, 169, 283, 83, 3801, 7083}}, +{523, 13, 289, {1, 1, 3, 15, 17, 29, 83, 65, 275, 679, 1749, 4007, 7749}}, +{524, 13, 301, {1, 1, 3, 1, 21, 11, 41, 95, 237, 361, 1819, 2783, 2383}}, +{525, 13, 302, {1, 3, 7, 11, 29, 57, 111, 187, 465, 145, 605, 1987, 8109}}, +{526, 13, 316, {1, 1, 3, 3, 19, 15, 55, 83, 357, 1001, 643, 1517, 6529}}, +{527, 13, 319, {1, 3, 1, 5, 29, 35, 73, 23, 77, 619, 1523, 1725, 8145}}, +{528, 13, 324, {1, 1, 5, 5, 19, 23, 7, 197, 449, 337, 717, 2921, 315}}, +{529, 13, 331, {1, 3, 5, 9, 7, 63, 117, 97, 97, 813, 1925, 2817, 1579}}, +{530, 13, 333, {1, 1, 1, 11, 31, 7, 25, 235, 231, 133, 1007, 1371, 1553}}, +{531, 13, 345, {1, 1, 7, 5, 19, 7, 47, 171, 267, 243, 1331, 567, 6033}}, +{532, 13, 351, {1, 1, 5, 1, 7, 49, 55, 89, 109, 735, 1455, 3193, 6239}}, +{533, 13, 358, {1, 1, 1, 7, 1, 61, 9, 103, 3, 929, 1481, 2927, 2957}}, +{534, 13, 375, {1, 1, 5, 13, 17, 21, 75, 49, 255, 1019, 1161, 2133, 1177}}, +{535, 13, 379, {1, 3, 1, 3, 13, 15, 41, 247, 211, 409, 1163, 523, 2635}}, +{536, 13, 381, {1, 3, 7, 7, 21, 59, 91, 149, 479, 391, 681, 2311, 6249}}, +{537, 13, 386, {1, 1, 5, 11, 27, 53, 21, 211, 197, 815, 719, 1605, 255}}, +{538, 13, 403, {1, 1, 3, 3, 9, 33, 59, 3, 323, 1, 101, 1135, 8105}}, +{539, 13, 405, {1, 3, 3, 1, 29, 5, 17, 141, 51, 991, 841, 327, 3859}}, +{540, 13, 419, {1, 3, 1, 5, 11, 19, 23, 89, 175, 173, 165, 2881, 1881}}, +{541, 13, 426, {1, 1, 1, 15, 13, 51, 87, 39, 495, 611, 1341, 1531, 7029}}, +{542, 13, 428, {1, 1, 3, 11, 13, 55, 75, 185, 57, 61, 1917, 2051, 5965}}, +{543, 13, 439, {1, 1, 5, 5, 7, 53, 11, 217, 213, 933, 921, 3607, 5175}}, +{544, 13, 440, {1, 3, 3, 5, 17, 53, 103, 251, 369, 781, 1319, 3717, 4439}}, +{545, 13, 446, {1, 3, 5, 13, 1, 39, 25, 235, 321, 773, 251, 3111, 6397}}, +{546, 13, 451, {1, 1, 7, 3, 31, 5, 25, 29, 325, 385, 1313, 127, 4705}}, +{547, 13, 454, {1, 1, 5, 15, 15, 27, 15, 85, 239, 243, 1633, 3473, 2621}}, +{548, 13, 458, {1, 3, 3, 3, 9, 19, 113, 13, 137, 165, 25, 2957, 7549}}, +{549, 13, 465, {1, 3, 1, 3, 11, 21, 3, 97, 417, 183, 1205, 1437, 247}}, +{550, 13, 468, {1, 1, 7, 3, 17, 21, 125, 55, 67, 387, 385, 2323, 887}}, +{551, 13, 472, {1, 3, 5, 5, 29, 11, 103, 223, 233, 641, 133, 415, 1297}}, +{552, 13, 475, {1, 3, 3, 11, 1, 9, 5, 189, 235, 1007, 1363, 3985, 889}}, +{553, 13, 477, {1, 3, 7, 9, 23, 19, 19, 183, 269, 403, 1643, 3559, 5189}}, +{554, 13, 496, {1, 3, 7, 3, 29, 45, 17, 69, 475, 149, 1291, 2689, 7625}}, +{555, 13, 502, {1, 3, 7, 3, 27, 37, 41, 73, 253, 1001, 431, 1111, 7887}}, +{556, 13, 508, {1, 1, 7, 5, 3, 7, 87, 143, 289, 495, 631, 3011, 6151}}, +{557, 13, 517, {1, 1, 1, 13, 5, 45, 17, 167, 23, 975, 801, 1975, 6833}}, +{558, 13, 521, {1, 3, 1, 11, 7, 21, 39, 23, 213, 429, 1301, 2059, 197}}, +{559, 13, 527, {1, 3, 3, 15, 3, 57, 121, 133, 29, 711, 1961, 2497, 189}}, +{560, 13, 530, {1, 1, 3, 5, 11, 55, 115, 137, 233, 673, 985, 2849, 5911}}, +{561, 13, 532, {1, 1, 7, 15, 29, 45, 1, 241, 329, 323, 925, 2821, 3331}}, +{562, 13, 542, {1, 1, 5, 7, 13, 31, 81, 105, 199, 145, 195, 1365, 5119}}, +{563, 13, 552, {1, 3, 7, 11, 3, 55, 11, 31, 117, 343, 1265, 1837, 2451}}, +{564, 13, 555, {1, 1, 3, 7, 29, 57, 61, 179, 429, 591, 177, 1945, 2159}}, +{565, 13, 560, {1, 3, 5, 11, 23, 49, 101, 137, 339, 323, 1035, 1749, 7737}}, +{566, 13, 566, {1, 3, 1, 13, 21, 35, 55, 79, 19, 269, 1055, 2651, 7083}}, +{567, 13, 575, {1, 3, 3, 11, 9, 9, 95, 167, 437, 361, 1185, 4083, 603}}, +{568, 13, 577, {1, 1, 1, 7, 31, 61, 77, 65, 489, 657, 691, 2423, 4147}}, +{569, 13, 589, {1, 3, 5, 7, 21, 37, 87, 191, 311, 453, 2013, 829, 2619}}, +{570, 13, 590, {1, 1, 5, 9, 17, 47, 35, 101, 5, 813, 1157, 1279, 7365}}, +{571, 13, 602, {1, 1, 5, 3, 11, 35, 113, 199, 369, 721, 901, 1471, 7801}}, +{572, 13, 607, {1, 3, 1, 5, 9, 61, 83, 157, 391, 739, 1957, 2123, 4341}}, +{573, 13, 608, {1, 3, 5, 11, 19, 19, 111, 225, 383, 219, 997, 717, 7505}}, +{574, 13, 611, {1, 3, 1, 11, 13, 63, 35, 127, 209, 831, 501, 3017, 3507}}, +{575, 13, 613, {1, 3, 7, 9, 29, 7, 11, 163, 81, 563, 1445, 3215, 6377}}, +{576, 13, 625, {1, 3, 7, 11, 25, 3, 39, 195, 491, 45, 839, 4021, 4899}}, +{577, 13, 644, {1, 3, 7, 15, 13, 5, 67, 143, 117, 505, 1281, 3679, 5695}}, +{578, 13, 651, {1, 3, 7, 9, 9, 19, 21, 221, 147, 763, 683, 2211, 589}}, +{579, 13, 654, {1, 1, 3, 5, 21, 47, 53, 109, 299, 807, 1153, 1209, 7961}}, +{580, 13, 656, {1, 3, 7, 11, 9, 31, 45, 43, 505, 647, 1127, 2681, 4917}}, +{581, 13, 662, {1, 1, 5, 15, 31, 41, 63, 113, 399, 727, 673, 2587, 5259}}, +{582, 13, 668, {1, 1, 1, 13, 17, 53, 35, 99, 57, 243, 1447, 1919, 2831}}, +{583, 13, 681, {1, 3, 7, 11, 23, 51, 13, 9, 49, 449, 997, 3073, 4407}}, +{584, 13, 682, {1, 3, 5, 7, 23, 33, 89, 41, 415, 53, 697, 1113, 1489}}, +{585, 13, 689, {1, 1, 3, 7, 1, 13, 29, 13, 255, 749, 77, 3463, 1761}}, +{586, 13, 696, {1, 3, 3, 7, 13, 15, 93, 191, 309, 869, 739, 1041, 3053}}, +{587, 13, 699, {1, 3, 5, 13, 5, 19, 109, 211, 347, 839, 893, 2947, 7735}}, +{588, 13, 707, {1, 3, 1, 13, 27, 3, 119, 157, 485, 99, 1703, 3895, 573}}, +{589, 13, 709, {1, 3, 7, 11, 1, 23, 123, 105, 31, 359, 275, 1775, 3685}}, +{590, 13, 714, {1, 3, 3, 5, 27, 11, 125, 3, 413, 199, 2043, 2895, 2945}}, +{591, 13, 716, {1, 3, 3, 3, 15, 49, 121, 159, 233, 543, 193, 4007, 321}}, +{592, 13, 719, {1, 1, 3, 5, 9, 47, 87, 1, 51, 1011, 1595, 2239, 6467}}, +{593, 13, 727, {1, 3, 7, 9, 1, 33, 87, 137, 469, 749, 1413, 805, 6817}}, +{594, 13, 734, {1, 3, 1, 13, 19, 45, 95, 227, 29, 677, 1275, 3395, 4451}}, +{595, 13, 738, {1, 1, 7, 5, 7, 63, 33, 71, 443, 561, 1311, 3069, 6943}}, +{596, 13, 743, {1, 1, 1, 13, 9, 37, 23, 69, 13, 415, 1479, 1197, 861}}, +{597, 13, 747, {1, 3, 3, 13, 27, 21, 13, 233, 105, 777, 345, 2443, 1105}}, +{598, 13, 757, {1, 1, 7, 11, 23, 13, 21, 147, 221, 549, 73, 2729, 6279}}, +{599, 13, 769, {1, 1, 7, 7, 25, 27, 15, 45, 227, 39, 75, 1191, 3563}}, +{600, 13, 770, {1, 1, 5, 7, 13, 49, 99, 167, 227, 13, 353, 1047, 8075}}, +{601, 13, 776, {1, 1, 3, 13, 31, 9, 27, 7, 461, 737, 1559, 3243, 53}}, +{602, 13, 790, {1, 3, 1, 1, 21, 41, 97, 165, 171, 821, 587, 2137, 2293}}, +{603, 13, 799, {1, 3, 1, 11, 17, 41, 29, 187, 87, 599, 1467, 1395, 5931}}, +{604, 13, 805, {1, 1, 1, 9, 9, 49, 89, 205, 409, 453, 61, 1923, 1257}}, +{605, 13, 809, {1, 3, 7, 3, 9, 43, 89, 143, 431, 83, 1243, 1795, 3599}}, +{606, 13, 812, {1, 3, 5, 13, 3, 25, 59, 219, 43, 223, 797, 2651, 6015}}, +{607, 13, 820, {1, 1, 5, 15, 7, 55, 65, 207, 213, 311, 1287, 1269, 6467}}, +{608, 13, 827, {1, 3, 7, 11, 21, 57, 31, 183, 351, 857, 911, 1683, 7155}}, +{609, 13, 829, {1, 3, 5, 11, 27, 1, 21, 47, 387, 383, 1593, 115, 3805}}, +{610, 13, 835, {1, 3, 1, 1, 13, 23, 87, 173, 181, 619, 1653, 3931, 6073}}, +{611, 13, 841, {1, 1, 7, 5, 17, 43, 37, 61, 307, 621, 1785, 55, 115}}, +{612, 13, 844, {1, 3, 7, 15, 25, 61, 123, 15, 237, 671, 1473, 467, 1907}}, +{613, 13, 856, {1, 1, 7, 5, 29, 57, 75, 237, 85, 699, 159, 3577, 4771}}, +{614, 13, 859, {1, 1, 1, 11, 25, 19, 51, 1, 147, 31, 895, 2617, 625}}, +{615, 13, 862, {1, 3, 7, 5, 29, 15, 115, 175, 395, 391, 1141, 1827, 1181}}, +{616, 13, 865, {1, 3, 5, 7, 17, 7, 11, 193, 89, 243, 561, 3787, 4551}}, +{617, 13, 885, {1, 3, 1, 11, 7, 57, 7, 125, 403, 947, 1261, 409, 8083}}, +{618, 13, 890, {1, 1, 5, 13, 21, 63, 115, 233, 231, 921, 1747, 3635, 2519}}, +{619, 13, 905, {1, 1, 5, 11, 3, 27, 15, 91, 505, 591, 1451, 3881, 2997}}, +{620, 13, 916, {1, 1, 3, 11, 21, 9, 109, 153, 317, 533, 593, 3967, 2797}}, +{621, 13, 925, {1, 3, 3, 13, 9, 57, 121, 245, 219, 867, 967, 791, 7095}}, +{622, 13, 935, {1, 1, 1, 9, 29, 21, 99, 35, 375, 959, 329, 4087, 7171}}, +{623, 13, 939, {1, 1, 1, 9, 11, 17, 17, 97, 89, 135, 631, 3809, 3253}}, +{624, 13, 942, {1, 1, 1, 15, 21, 51, 91, 249, 459, 801, 757, 2353, 2033}}, +{625, 13, 949, {1, 3, 5, 9, 23, 29, 77, 53, 399, 767, 1817, 2171, 1629}}, +{626, 13, 953, {1, 1, 3, 5, 29, 5, 43, 121, 17, 859, 1479, 3785, 6641}}, +{627, 13, 956, {1, 1, 3, 7, 7, 61, 45, 109, 371, 833, 91, 153, 4553}}, +{628, 13, 961, {1, 1, 3, 11, 7, 55, 81, 123, 389, 139, 1933, 891, 1789}}, +{629, 13, 968, {1, 3, 7, 15, 25, 17, 93, 165, 503, 717, 1553, 1475, 1627}}, +{630, 13, 976, {1, 1, 1, 13, 13, 63, 13, 225, 357, 571, 33, 4073, 3795}}, +{631, 13, 988, {1, 1, 3, 11, 1, 31, 107, 145, 407, 961, 501, 2987, 103}}, +{632, 13, 995, {1, 1, 7, 1, 23, 63, 49, 193, 173, 281, 25, 2465, 5927}}, +{633, 13, 997, {1, 1, 7, 1, 1, 1, 85, 77, 273, 693, 349, 1239, 4503}}, +{634, 13, 1007, {1, 1, 5, 11, 7, 61, 9, 121, 25, 357, 1443, 405, 7827}}, +{635, 13, 1015, {1, 1, 7, 13, 11, 53, 11, 207, 145, 211, 1703, 1081, 2117}}, +{636, 13, 1016, {1, 1, 3, 11, 27, 23, 19, 9, 297, 279, 1481, 2273, 6387}}, +{637, 13, 1027, {1, 3, 3, 5, 15, 45, 3, 41, 305, 87, 1815, 3461, 5349}}, +{638, 13, 1036, {1, 3, 3, 13, 9, 37, 79, 125, 259, 561, 1087, 4091, 793}}, +{639, 13, 1039, {1, 3, 5, 7, 31, 55, 7, 145, 347, 929, 589, 2783, 5905}}, +{640, 13, 1041, {1, 1, 7, 15, 3, 25, 1, 181, 13, 243, 653, 2235, 7445}}, +{641, 13, 1048, {1, 3, 5, 5, 17, 53, 65, 7, 33, 583, 1363, 1313, 2319}}, +{642, 13, 1053, {1, 3, 3, 7, 27, 47, 97, 201, 187, 321, 63, 1515, 7917}}, +{643, 13, 1054, {1, 1, 3, 5, 23, 9, 3, 165, 61, 19, 1789, 3783, 3037}}, +{644, 13, 1058, {1, 3, 1, 13, 15, 43, 125, 191, 67, 273, 1551, 2227, 5253}}, +{645, 13, 1075, {1, 1, 1, 13, 25, 53, 107, 33, 299, 249, 1475, 2233, 907}}, +{646, 13, 1082, {1, 3, 5, 1, 23, 37, 85, 17, 207, 643, 665, 2933, 5199}}, +{647, 13, 1090, {1, 1, 7, 7, 25, 57, 59, 41, 15, 751, 751, 1749, 7053}}, +{648, 13, 1109, {1, 3, 3, 1, 13, 25, 127, 93, 281, 613, 875, 2223, 6345}}, +{649, 13, 1110, {1, 1, 5, 3, 29, 55, 79, 249, 43, 317, 533, 995, 1991}}, +{650, 13, 1119, {1, 3, 3, 15, 17, 49, 79, 31, 193, 233, 1437, 2615, 819}}, +{651, 13, 1126, {1, 1, 5, 15, 25, 3, 123, 145, 377, 9, 455, 1191, 3953}}, +{652, 13, 1130, {1, 3, 5, 3, 15, 19, 41, 231, 81, 393, 3, 19, 2409}}, +{653, 13, 1135, {1, 1, 3, 1, 27, 43, 113, 179, 7, 853, 947, 2731, 297}}, +{654, 13, 1137, {1, 1, 1, 11, 29, 39, 53, 191, 443, 689, 529, 3329, 7431}}, +{655, 13, 1140, {1, 3, 7, 5, 3, 29, 19, 67, 441, 113, 949, 2769, 4169}}, +{656, 13, 1149, {1, 3, 5, 11, 11, 55, 85, 169, 215, 815, 803, 2345, 3967}}, +{657, 13, 1156, {1, 1, 7, 9, 5, 45, 111, 5, 419, 375, 303, 1725, 4489}}, +{658, 13, 1159, {1, 3, 5, 15, 29, 43, 79, 19, 23, 417, 381, 541, 4923}}, +{659, 13, 1160, {1, 1, 3, 15, 3, 31, 117, 39, 117, 305, 1227, 1223, 143}}, +{660, 13, 1165, {1, 1, 5, 9, 5, 47, 87, 239, 181, 353, 1561, 3313, 1921}}, +{661, 13, 1173, {1, 3, 3, 1, 3, 15, 53, 221, 441, 987, 1997, 2529, 8059}}, +{662, 13, 1178, {1, 1, 7, 11, 15, 57, 111, 139, 137, 883, 1881, 2823, 5661}}, +{663, 13, 1183, {1, 3, 5, 5, 21, 11, 5, 13, 27, 973, 587, 1331, 1373}}, +{664, 13, 1184, {1, 1, 7, 11, 29, 51, 93, 29, 217, 221, 55, 2477, 1979}}, +{665, 13, 1189, {1, 3, 3, 13, 3, 11, 49, 75, 379, 371, 1441, 793, 7633}}, +{666, 13, 1194, {1, 1, 1, 13, 19, 45, 89, 249, 91, 649, 1695, 915, 5619}}, +{667, 13, 1211, {1, 3, 1, 7, 7, 29, 1, 77, 313, 895, 519, 771, 295}}, +{668, 13, 1214, {1, 3, 1, 15, 5, 3, 1, 57, 331, 109, 485, 2853, 6831}}, +{669, 13, 1216, {1, 1, 1, 15, 17, 3, 35, 99, 245, 971, 839, 2509, 2803}}, +{670, 13, 1225, {1, 3, 3, 3, 9, 37, 57, 251, 325, 317, 529, 1313, 6379}}, +{671, 13, 1231, {1, 1, 1, 15, 25, 59, 1, 119, 95, 15, 795, 2375, 6463}}, +{672, 13, 1239, {1, 3, 1, 5, 1, 49, 117, 21, 47, 179, 863, 85, 1669}}, +{673, 13, 1243, {1, 3, 7, 3, 9, 37, 19, 221, 455, 973, 571, 1427, 817}}, +{674, 13, 1246, {1, 1, 1, 15, 17, 9, 67, 213, 127, 887, 1299, 2913, 7451}}, +{675, 13, 1249, {1, 3, 1, 13, 27, 27, 41, 43, 171, 623, 691, 391, 4885}}, +{676, 13, 1259, {1, 3, 1, 13, 17, 17, 123, 239, 143, 227, 1151, 519, 6543}}, +{677, 13, 1273, {1, 3, 7, 5, 7, 63, 97, 39, 101, 555, 1057, 381, 7891}}, +{678, 13, 1274, {1, 3, 5, 1, 3, 27, 85, 129, 161, 875, 1945, 3541, 695}}, +{679, 13, 1281, {1, 3, 3, 5, 21, 59, 25, 183, 35, 25, 987, 1459, 181}}, +{680, 13, 1287, {1, 3, 5, 13, 1, 15, 127, 237, 349, 337, 1491, 2383, 7811}}, +{681, 13, 1294, {1, 3, 5, 5, 31, 5, 109, 51, 409, 733, 1395, 3207, 6049}}, +{682, 13, 1296, {1, 1, 5, 7, 13, 35, 113, 25, 263, 389, 299, 2521, 1783}}, +{683, 13, 1305, {1, 3, 7, 11, 15, 47, 97, 73, 55, 75, 113, 2695, 1023}}, +{684, 13, 1306, {1, 3, 1, 1, 3, 13, 69, 211, 289, 483, 1335, 787, 677}}, +{685, 13, 1318, {1, 1, 3, 3, 17, 7, 37, 77, 505, 137, 1113, 345, 2975}}, +{686, 13, 1332, {1, 1, 1, 13, 3, 11, 95, 199, 453, 109, 479, 3725, 239}}, +{687, 13, 1335, {1, 1, 7, 15, 19, 53, 3, 145, 359, 863, 347, 3833, 3043}}, +{688, 13, 1336, {1, 1, 7, 15, 25, 63, 127, 129, 125, 195, 155, 2211, 8153}}, +{689, 13, 1341, {1, 1, 7, 13, 9, 49, 121, 115, 73, 119, 1851, 727, 47}}, +{690, 13, 1342, {1, 3, 3, 13, 13, 11, 71, 7, 45, 591, 133, 2407, 5563}}, +{691, 13, 1362, {1, 1, 1, 13, 23, 29, 87, 89, 501, 71, 1759, 1119, 687}}, +{692, 13, 1364, {1, 1, 7, 7, 13, 7, 13, 183, 53, 951, 1877, 3991, 6771}}, +{693, 13, 1368, {1, 3, 7, 11, 7, 1, 27, 47, 61, 21, 919, 961, 1091}}, +{694, 13, 1378, {1, 3, 5, 5, 1, 27, 1, 5, 63, 157, 1297, 1049, 5893}}, +{695, 13, 1387, {1, 3, 7, 9, 19, 33, 17, 133, 425, 797, 1721, 153, 119}}, +{696, 13, 1389, {1, 3, 3, 7, 13, 37, 1, 215, 509, 1003, 61, 2353, 7511}}, +{697, 13, 1397, {1, 1, 7, 1, 29, 19, 31, 79, 199, 555, 1209, 1603, 6089}}, +{698, 13, 1401, {1, 3, 1, 1, 5, 31, 111, 127, 333, 429, 1863, 3925, 5411}}, +{699, 13, 1408, {1, 1, 7, 5, 5, 5, 123, 191, 47, 993, 269, 4051, 2111}}, +{700, 13, 1418, {1, 1, 5, 15, 1, 9, 87, 5, 47, 463, 865, 1813, 7357}}, +{701, 13, 1425, {1, 3, 1, 3, 23, 63, 123, 83, 511, 777, 63, 1285, 4537}}, +{702, 13, 1426, {1, 3, 3, 7, 27, 25, 31, 65, 441, 529, 1815, 1893, 323}}, +{703, 13, 1431, {1, 3, 7, 5, 11, 19, 7, 5, 397, 811, 755, 2883, 4217}}, +{704, 13, 1435, {1, 3, 1, 13, 9, 21, 13, 7, 271, 539, 1769, 3243, 5325}}, +{705, 13, 1441, {1, 1, 7, 1, 31, 13, 47, 131, 181, 457, 1559, 2663, 6653}}, +{706, 13, 1444, {1, 3, 3, 7, 29, 55, 25, 203, 419, 91, 437, 1159, 5691}}, +{707, 13, 1462, {1, 1, 3, 13, 29, 19, 71, 217, 337, 329, 501, 939, 2205}}, +{708, 13, 1471, {1, 1, 3, 1, 1, 27, 17, 201, 97, 285, 1269, 4043, 2207}}, +{709, 13, 1474, {1, 1, 1, 1, 3, 41, 13, 199, 141, 129, 1515, 3129, 5969}}, +{710, 13, 1483, {1, 3, 3, 9, 3, 17, 119, 41, 271, 933, 877, 701, 2197}}, +{711, 13, 1485, {1, 1, 1, 7, 15, 47, 3, 195, 115, 821, 725, 843, 6071}}, +{712, 13, 1494, {1, 3, 5, 15, 17, 33, 85, 65, 297, 571, 1123, 2743, 5727}}, +{713, 13, 1497, {1, 1, 5, 11, 27, 15, 37, 235, 415, 293, 1439, 2739, 4171}}, +{714, 13, 1516, {1, 3, 7, 7, 1, 55, 71, 35, 307, 11, 401, 1881, 933}}, +{715, 13, 1522, {1, 3, 1, 11, 21, 37, 3, 177, 119, 339, 559, 3991, 3437}}, +{716, 13, 1534, {1, 3, 3, 9, 17, 17, 97, 119, 301, 169, 157, 3267, 2261}}, +{717, 13, 1543, {1, 3, 3, 9, 29, 3, 111, 101, 355, 869, 375, 2609, 7377}}, +{718, 13, 1552, {1, 3, 5, 9, 7, 21, 123, 99, 343, 693, 1927, 1605, 4923}}, +{719, 13, 1557, {1, 1, 3, 5, 13, 31, 99, 17, 75, 385, 1539, 1553, 7077}}, +{720, 13, 1558, {1, 3, 3, 5, 31, 35, 107, 11, 407, 1019, 1317, 3593, 7203}}, +{721, 13, 1567, {1, 3, 3, 13, 17, 33, 99, 245, 401, 957, 157, 1949, 1571}}, +{722, 13, 1568, {1, 3, 1, 11, 27, 15, 11, 109, 429, 307, 1911, 2701, 861}}, +{723, 13, 1574, {1, 1, 5, 13, 13, 35, 55, 255, 311, 957, 1803, 2673, 5195}}, +{724, 13, 1592, {1, 1, 1, 11, 19, 3, 89, 37, 211, 783, 1355, 3567, 7135}}, +{725, 13, 1605, {1, 1, 5, 5, 21, 49, 79, 17, 509, 331, 183, 3831, 855}}, +{726, 13, 1606, {1, 3, 7, 5, 29, 19, 85, 109, 105, 523, 845, 3385, 7477}}, +{727, 13, 1610, {1, 1, 1, 7, 25, 17, 125, 131, 53, 757, 253, 2989, 2939}}, +{728, 13, 1617, {1, 3, 3, 9, 19, 23, 105, 39, 351, 677, 211, 401, 8103}}, +{729, 13, 1623, {1, 3, 5, 1, 5, 11, 17, 3, 405, 469, 1569, 2865, 3133}}, +{730, 13, 1630, {1, 1, 3, 13, 15, 5, 117, 179, 139, 145, 477, 1137, 2537}}, +{731, 13, 1634, {1, 1, 7, 9, 5, 21, 9, 93, 211, 963, 1207, 3343, 4911}}, +{732, 13, 1640, {1, 1, 1, 9, 13, 43, 17, 53, 81, 793, 1571, 2523, 3683}}, +{733, 13, 1643, {1, 3, 3, 13, 25, 21, 5, 59, 489, 987, 1941, 171, 6009}}, +{734, 13, 1648, {1, 3, 3, 7, 1, 39, 89, 171, 403, 467, 1767, 3423, 2791}}, +{735, 13, 1651, {1, 1, 3, 9, 19, 49, 91, 125, 163, 1013, 89, 2849, 6785}}, +{736, 13, 1653, {1, 1, 5, 9, 9, 11, 15, 241, 43, 297, 1719, 1541, 1821}}, +{737, 13, 1670, {1, 3, 7, 15, 29, 23, 103, 239, 191, 33, 1043, 3649, 6579}}, +{738, 13, 1676, {1, 3, 3, 9, 21, 51, 123, 55, 223, 645, 1463, 4021, 5891}}, +{739, 13, 1684, {1, 1, 5, 7, 3, 41, 27, 235, 391, 303, 2021, 3187, 7607}}, +{740, 13, 1687, {1, 1, 1, 9, 5, 49, 49, 29, 377, 251, 1887, 1017, 1301}}, +{741, 13, 1691, {1, 1, 3, 3, 13, 41, 27, 47, 223, 23, 517, 3227, 6731}}, +{742, 13, 1693, {1, 1, 7, 1, 31, 25, 47, 9, 511, 623, 2047, 1263, 1511}}, +{743, 13, 1698, {1, 1, 3, 15, 15, 23, 53, 1, 261, 595, 85, 241, 7047}}, +{744, 13, 1709, {1, 3, 3, 11, 17, 5, 81, 73, 149, 781, 2035, 3163, 4247}}, +{745, 13, 1715, {1, 3, 7, 7, 29, 59, 49, 79, 397, 901, 1105, 2191, 6277}}, +{746, 13, 1722, {1, 3, 3, 11, 13, 27, 25, 173, 107, 73, 1265, 585, 5251}}, +{747, 13, 1732, {1, 1, 7, 15, 29, 23, 73, 229, 235, 887, 1469, 4073, 2591}}, +{748, 13, 1735, {1, 1, 3, 9, 17, 15, 83, 173, 207, 879, 1701, 1509, 11}}, +{749, 13, 1747, {1, 1, 3, 5, 5, 37, 65, 161, 39, 421, 1153, 2007, 5355}}, +{750, 13, 1749, {1, 1, 7, 11, 23, 37, 5, 11, 9, 499, 17, 157, 5747}}, +{751, 13, 1754, {1, 3, 7, 13, 25, 9, 49, 7, 39, 945, 1349, 1759, 1441}}, +{752, 13, 1777, {1, 1, 5, 3, 21, 15, 113, 81, 265, 837, 333, 3625, 6133}}, +{753, 13, 1784, {1, 3, 1, 11, 13, 27, 73, 109, 297, 327, 299, 3253, 6957}}, +{754, 13, 1790, {1, 1, 3, 13, 19, 39, 123, 73, 65, 5, 1061, 2187, 5055}}, +{755, 13, 1795, {1, 1, 3, 1, 11, 31, 21, 115, 453, 857, 711, 495, 549}}, +{756, 13, 1801, {1, 3, 7, 7, 15, 29, 79, 103, 47, 713, 1735, 3121, 6321}}, +{757, 13, 1802, {1, 1, 5, 5, 29, 9, 97, 33, 471, 705, 329, 1501, 1349}}, +{758, 13, 1812, {1, 3, 3, 1, 21, 9, 111, 209, 71, 47, 491, 2143, 1797}}, +{759, 13, 1828, {1, 3, 3, 3, 11, 39, 21, 135, 445, 259, 607, 3811, 5449}}, +{760, 13, 1831, {1, 1, 7, 9, 11, 25, 113, 251, 395, 317, 317, 91, 1979}}, +{761, 13, 1837, {1, 3, 1, 9, 3, 21, 103, 133, 389, 943, 1235, 1749, 7063}}, +{762, 13, 1838, {1, 1, 3, 7, 1, 11, 5, 15, 497, 477, 479, 3079, 6969}}, +{763, 13, 1840, {1, 1, 3, 3, 15, 39, 105, 131, 475, 465, 181, 865, 3813}}, +{764, 13, 1845, {1, 1, 7, 9, 19, 63, 123, 131, 415, 525, 457, 2471, 3135}}, +{765, 13, 1863, {1, 3, 7, 15, 25, 35, 123, 45, 341, 805, 485, 4049, 7065}}, +{766, 13, 1864, {1, 1, 1, 5, 29, 9, 47, 227, 51, 867, 1873, 1593, 2271}}, +{767, 13, 1867, {1, 1, 7, 15, 31, 9, 71, 117, 285, 711, 837, 1435, 6275}}, +{768, 13, 1870, {1, 3, 1, 1, 5, 19, 79, 25, 301, 415, 1871, 645, 3251}}, +{769, 13, 1877, {1, 3, 1, 3, 17, 51, 99, 185, 447, 43, 523, 219, 429}}, +{770, 13, 1881, {1, 3, 1, 13, 29, 13, 51, 93, 7, 995, 757, 3017, 6865}}, +{771, 13, 1884, {1, 1, 3, 15, 7, 25, 75, 17, 155, 981, 1231, 1229, 1995}}, +{772, 13, 1903, {1, 3, 5, 3, 27, 45, 71, 73, 225, 763, 377, 1139, 2863}}, +{773, 13, 1917, {1, 1, 3, 1, 1, 39, 69, 113, 29, 371, 1051, 793, 3749}}, +{774, 13, 1918, {1, 1, 3, 13, 23, 61, 27, 183, 307, 431, 1345, 2757, 4031}}, +{775, 13, 1922, {1, 3, 7, 5, 5, 59, 117, 197, 303, 721, 877, 723, 1601}}, +{776, 13, 1924, {1, 3, 5, 1, 27, 33, 99, 237, 485, 711, 665, 3077, 5105}}, +{777, 13, 1928, {1, 1, 3, 1, 13, 9, 103, 201, 23, 951, 2029, 165, 2093}}, +{778, 13, 1931, {1, 3, 5, 13, 5, 29, 55, 85, 221, 677, 611, 3613, 4567}}, +{779, 13, 1951, {1, 1, 1, 1, 7, 61, 9, 233, 261, 561, 953, 4023, 2443}}, +{780, 13, 1952, {1, 3, 3, 13, 1, 17, 103, 71, 223, 213, 833, 1747, 6999}}, +{781, 13, 1957, {1, 3, 5, 15, 25, 53, 57, 187, 25, 695, 1207, 4089, 2877}}, +{782, 13, 1958, {1, 1, 7, 1, 7, 31, 87, 129, 493, 519, 1555, 1155, 4637}}, +{783, 13, 1964, {1, 1, 1, 15, 21, 17, 23, 29, 19, 255, 927, 1791, 3093}}, +{784, 13, 1967, {1, 1, 3, 9, 17, 33, 95, 129, 175, 461, 287, 2633, 2325}}, +{785, 13, 1970, {1, 3, 5, 7, 23, 19, 63, 209, 249, 583, 1373, 2039, 2225}}, +{786, 13, 1972, {1, 3, 3, 5, 5, 19, 79, 241, 459, 355, 1455, 3313, 3639}}, +{787, 13, 1994, {1, 1, 7, 9, 21, 41, 97, 119, 129, 769, 1541, 3495, 7741}}, +{788, 13, 2002, {1, 1, 7, 11, 9, 29, 35, 255, 141, 937, 1763, 41, 1393}}, +{789, 13, 2007, {1, 3, 7, 1, 13, 51, 61, 157, 177, 847, 1829, 3539, 285}}, +{790, 13, 2008, {1, 1, 1, 15, 21, 13, 9, 55, 397, 19, 1495, 1255, 7235}}, +{791, 13, 2023, {1, 1, 7, 7, 25, 37, 53, 237, 319, 197, 269, 1205, 1485}}, +{792, 13, 2030, {1, 1, 5, 15, 23, 17, 35, 247, 323, 807, 233, 3681, 4407}}, +{793, 13, 2035, {1, 1, 3, 7, 9, 59, 85, 105, 493, 763, 1639, 391, 1451}}, +{794, 13, 2038, {1, 3, 3, 9, 15, 33, 5, 253, 129, 625, 1527, 2793, 6057}}, +{795, 13, 2042, {1, 3, 1, 1, 7, 47, 21, 161, 235, 83, 397, 3563, 5953}}, +{796, 13, 2047, {1, 3, 7, 11, 3, 41, 25, 117, 375, 779, 1297, 3715, 8117}}, +{797, 13, 2051, {1, 1, 3, 7, 31, 19, 103, 173, 475, 189, 2035, 2921, 1107}}, +{798, 13, 2058, {1, 1, 7, 3, 25, 7, 93, 255, 307, 113, 1893, 2233, 6919}}, +{799, 13, 2060, {1, 3, 5, 15, 9, 57, 79, 143, 165, 5, 1389, 193, 693}}, +{800, 13, 2071, {1, 3, 5, 1, 29, 45, 91, 49, 189, 461, 439, 1283, 7835}}, +{801, 13, 2084, {1, 1, 3, 13, 11, 61, 41, 231, 373, 695, 395, 915, 5393}}, +{802, 13, 2087, {1, 3, 7, 11, 5, 51, 67, 53, 483, 95, 1943, 247, 5653}}, +{803, 13, 2099, {1, 3, 7, 5, 5, 57, 45, 235, 137, 793, 1069, 1661, 1557}}, +{804, 13, 2108, {1, 3, 5, 3, 25, 55, 103, 177, 81, 861, 1151, 143, 7655}}, +{805, 13, 2111, {1, 1, 3, 1, 21, 41, 67, 131, 253, 431, 1269, 3181, 3429}}, +{806, 13, 2120, {1, 3, 1, 1, 21, 7, 77, 221, 257, 663, 71, 2949, 2481}}, +{807, 13, 2128, {1, 3, 5, 3, 3, 23, 45, 107, 299, 739, 1013, 3, 3165}}, +{808, 13, 2138, {1, 1, 5, 1, 3, 37, 109, 37, 243, 983, 1221, 1691, 3869}}, +{809, 13, 2143, {1, 1, 5, 5, 31, 7, 5, 193, 397, 867, 1495, 3435, 7441}}, +{810, 13, 2144, {1, 1, 1, 1, 17, 59, 97, 233, 389, 597, 1013, 1631, 483}}, +{811, 13, 2153, {1, 1, 1, 11, 7, 41, 107, 53, 111, 125, 1513, 1921, 7647}}, +{812, 13, 2156, {1, 3, 3, 3, 31, 29, 117, 3, 365, 971, 1139, 2123, 5913}}, +{813, 13, 2162, {1, 1, 1, 13, 23, 3, 1, 167, 475, 639, 1811, 3841, 3081}}, +{814, 13, 2167, {1, 1, 5, 3, 5, 47, 65, 123, 275, 783, 95, 119, 7591}}, +{815, 13, 2178, {1, 3, 1, 15, 13, 33, 93, 237, 467, 431, 705, 4013, 4035}}, +{816, 13, 2183, {1, 3, 5, 1, 19, 7, 101, 231, 155, 737, 1381, 3343, 2051}}, +{817, 13, 2202, {1, 1, 5, 9, 15, 49, 45, 163, 433, 765, 2031, 201, 2589}}, +{818, 13, 2211, {1, 3, 7, 9, 19, 41, 31, 89, 93, 623, 105, 745, 4409}}, +{819, 13, 2214, {1, 1, 5, 1, 11, 45, 127, 85, 389, 439, 829, 477, 7965}}, +{820, 13, 2223, {1, 3, 3, 15, 13, 41, 1, 207, 435, 585, 311, 1725, 2737}}, +{821, 13, 2225, {1, 3, 3, 3, 13, 49, 21, 31, 197, 799, 1411, 2959, 7133}}, +{822, 13, 2232, {1, 3, 1, 3, 7, 43, 9, 141, 133, 579, 1059, 93, 957}}, +{823, 13, 2237, {1, 3, 7, 1, 15, 51, 23, 213, 381, 851, 699, 2261, 3419}}, +{824, 13, 2257, {1, 3, 5, 9, 25, 35, 67, 141, 35, 409, 1423, 365, 1645}}, +{825, 13, 2260, {1, 3, 3, 11, 15, 33, 27, 181, 93, 87, 1761, 3511, 1353}}, +{826, 13, 2267, {1, 3, 5, 3, 25, 63, 111, 137, 321, 819, 705, 1547, 7271}}, +{827, 13, 2274, {1, 3, 1, 1, 5, 57, 99, 59, 411, 757, 1371, 3953, 3695}}, +{828, 13, 2276, {1, 3, 5, 11, 11, 21, 25, 147, 239, 455, 709, 953, 7175}}, +{829, 13, 2285, {1, 3, 3, 15, 5, 53, 91, 205, 341, 63, 723, 1565, 7135}}, +{830, 13, 2288, {1, 1, 7, 15, 11, 21, 99, 79, 63, 593, 2007, 3629, 5271}}, +{831, 13, 2293, {1, 3, 3, 1, 9, 21, 45, 175, 453, 435, 1855, 2649, 6959}}, +{832, 13, 2294, {1, 1, 3, 15, 15, 33, 121, 121, 251, 431, 1127, 3305, 4199}}, +{833, 13, 2297, {1, 1, 1, 9, 31, 15, 71, 29, 345, 391, 1159, 2809, 345}}, +{834, 13, 2303, {1, 3, 7, 1, 23, 29, 95, 151, 327, 727, 647, 1623, 2971}}, +{835, 13, 2308, {1, 1, 7, 7, 9, 29, 79, 91, 127, 909, 1293, 1315, 5315}}, +{836, 13, 2311, {1, 1, 5, 11, 13, 37, 89, 73, 149, 477, 1909, 3343, 525}}, +{837, 13, 2318, {1, 3, 5, 7, 5, 59, 55, 255, 223, 459, 2027, 237, 4205}}, +{838, 13, 2323, {1, 1, 1, 7, 27, 11, 95, 65, 325, 835, 907, 3801, 3787}}, +{839, 13, 2332, {1, 1, 1, 11, 27, 33, 99, 175, 51, 913, 331, 1851, 4133}}, +{840, 13, 2341, {1, 3, 5, 5, 13, 37, 31, 99, 273, 409, 1827, 3845, 5491}}, +{841, 13, 2345, {1, 1, 3, 7, 23, 19, 107, 85, 283, 523, 509, 451, 421}}, +{842, 13, 2348, {1, 3, 5, 7, 13, 9, 51, 81, 87, 619, 61, 2803, 5271}}, +{843, 13, 2354, {1, 1, 1, 15, 9, 45, 35, 219, 401, 271, 953, 649, 6847}}, +{844, 13, 2368, {1, 1, 7, 11, 9, 45, 17, 219, 169, 837, 1483, 1605, 2901}}, +{845, 13, 2377, {1, 1, 7, 7, 21, 43, 37, 33, 291, 359, 71, 2899, 7037}}, +{846, 13, 2380, {1, 3, 3, 13, 31, 53, 37, 15, 149, 949, 551, 3445, 5455}}, +{847, 13, 2383, {1, 3, 1, 5, 19, 45, 81, 223, 193, 439, 2047, 3879, 789}}, +{848, 13, 2388, {1, 1, 7, 3, 11, 63, 35, 61, 255, 563, 459, 2991, 3359}}, +{849, 13, 2395, {1, 1, 5, 9, 13, 49, 47, 185, 239, 221, 1533, 3635, 2045}}, +{850, 13, 2397, {1, 3, 7, 3, 25, 37, 127, 223, 51, 357, 483, 3837, 6873}}, +{851, 13, 2401, {1, 1, 7, 9, 31, 37, 113, 31, 387, 833, 1243, 1543, 5535}}, +{852, 13, 2411, {1, 3, 1, 9, 23, 59, 119, 221, 73, 185, 2007, 2885, 2563}}, +{853, 13, 2413, {1, 1, 1, 13, 7, 33, 53, 179, 67, 185, 1541, 1807, 4659}}, +{854, 13, 2419, {1, 3, 1, 11, 31, 37, 23, 215, 269, 357, 207, 645, 4219}}, +{855, 13, 2435, {1, 3, 3, 13, 19, 27, 107, 55, 91, 71, 1695, 1815, 89}}, +{856, 13, 2442, {1, 1, 3, 15, 3, 19, 35, 247, 49, 529, 1523, 3317, 6151}}, +{857, 13, 2455, {1, 1, 7, 7, 23, 25, 107, 139, 483, 503, 1277, 243, 7879}}, +{858, 13, 2472, {1, 3, 3, 13, 3, 15, 11, 197, 135, 839, 985, 275, 5527}}, +{859, 13, 2478, {1, 3, 5, 3, 25, 47, 95, 21, 113, 307, 1001, 3065, 295}}, +{860, 13, 2490, {1, 1, 3, 9, 19, 19, 99, 213, 363, 449, 735, 2851, 2521}}, +{861, 13, 2507, {1, 1, 3, 9, 5, 49, 63, 61, 157, 857, 497, 2801, 6987}}, +{862, 13, 2509, {1, 1, 1, 9, 1, 41, 109, 119, 499, 939, 867, 3675, 8023}}, +{863, 13, 2517, {1, 3, 1, 1, 13, 33, 109, 123, 289, 3, 1271, 2773, 4265}}, +{864, 13, 2524, {1, 3, 1, 11, 9, 57, 83, 221, 95, 43, 1189, 457, 7133}}, +{865, 13, 2528, {1, 1, 7, 3, 11, 49, 33, 219, 229, 289, 685, 3359, 4495}}, +{866, 13, 2531, {1, 3, 1, 3, 19, 43, 67, 193, 41, 771, 407, 81, 3891}}, +{867, 13, 2538, {1, 1, 7, 11, 5, 29, 51, 175, 297, 539, 1, 2245, 6439}}, +{868, 13, 2545, {1, 3, 7, 15, 21, 33, 117, 183, 511, 489, 1283, 3281, 5979}}, +{869, 13, 2546, {1, 3, 7, 5, 9, 3, 125, 147, 359, 549, 369, 3049, 2405}}, +{870, 13, 2555, {1, 3, 5, 7, 19, 5, 65, 97, 483, 377, 1523, 1457, 2995}}, +{871, 13, 2557, {1, 1, 5, 1, 11, 21, 41, 113, 277, 131, 1475, 1043, 2367}}, +{872, 13, 2564, {1, 3, 3, 1, 15, 17, 101, 69, 443, 865, 817, 1421, 5231}}, +{873, 13, 2573, {1, 1, 3, 3, 3, 55, 95, 99, 75, 195, 1929, 3931, 5855}}, +{874, 13, 2579, {1, 3, 1, 3, 19, 23, 93, 213, 241, 551, 1307, 585, 7729}}, +{875, 13, 2592, {1, 3, 1, 11, 23, 15, 53, 249, 467, 519, 95, 741, 409}}, +{876, 13, 2598, {1, 1, 1, 15, 29, 37, 43, 203, 233, 877, 77, 1933, 2729}}, +{877, 13, 2607, {1, 3, 7, 11, 27, 39, 43, 161, 255, 15, 1463, 833, 495}}, +{878, 13, 2612, {1, 1, 7, 11, 3, 53, 81, 67, 375, 823, 1903, 3061, 395}}, +{879, 13, 2619, {1, 1, 1, 1, 15, 37, 93, 233, 247, 501, 1321, 3275, 5409}}, +{880, 13, 2621, {1, 3, 3, 7, 7, 11, 5, 105, 139, 983, 1239, 531, 3881}}, +{881, 13, 2627, {1, 1, 5, 3, 19, 49, 107, 227, 361, 101, 355, 2649, 7383}}, +{882, 13, 2633, {1, 1, 7, 5, 25, 41, 101, 121, 209, 293, 1937, 2259, 5557}}, +{883, 13, 2636, {1, 1, 3, 7, 7, 1, 9, 13, 463, 1019, 995, 3159, 107}}, +{884, 13, 2642, {1, 3, 5, 11, 5, 35, 127, 97, 261, 789, 807, 807, 6257}}, +{885, 13, 2654, {1, 1, 7, 5, 11, 13, 45, 91, 417, 101, 1973, 3645, 2107}}, +{886, 13, 2660, {1, 1, 3, 7, 5, 63, 57, 49, 203, 157, 115, 1393, 8117}}, +{887, 13, 2669, {1, 3, 5, 5, 3, 43, 15, 155, 127, 489, 1165, 3701, 4867}}, +{888, 13, 2675, {1, 1, 7, 7, 29, 29, 69, 215, 415, 367, 371, 1901, 6075}}, +{889, 13, 2684, {1, 1, 1, 3, 11, 33, 89, 149, 433, 705, 1437, 1597, 505}}, +{890, 13, 2694, {1, 3, 5, 1, 13, 37, 19, 119, 5, 581, 2037, 1633, 2099}}, +{891, 13, 2703, {1, 3, 7, 13, 5, 49, 103, 245, 215, 515, 133, 2007, 1933}}, +{892, 13, 2706, {1, 3, 1, 9, 1, 3, 25, 197, 253, 387, 1683, 2267, 221}}, +{893, 13, 2712, {1, 3, 5, 15, 21, 9, 73, 201, 405, 999, 437, 3877, 6045}}, +{894, 13, 2715, {1, 1, 3, 1, 31, 55, 25, 83, 421, 395, 1807, 2129, 7797}}, +{895, 13, 2722, {1, 1, 3, 1, 23, 21, 121, 183, 125, 347, 143, 3685, 4317}}, +{896, 13, 2727, {1, 3, 3, 3, 17, 45, 17, 223, 267, 795, 1815, 1309, 155}}, +{897, 13, 2734, {1, 1, 1, 15, 17, 59, 5, 133, 15, 715, 1503, 153, 2887}}, +{898, 13, 2742, {1, 1, 1, 1, 27, 13, 119, 77, 243, 995, 1851, 3719, 4695}}, +{899, 13, 2745, {1, 3, 1, 5, 31, 49, 43, 165, 49, 609, 1265, 1141, 505}}, +{900, 13, 2751, {1, 1, 7, 13, 11, 63, 21, 253, 229, 585, 1543, 3719, 4141}}, +{901, 13, 2766, {1, 3, 7, 11, 23, 27, 17, 131, 295, 895, 1493, 1411, 3247}}, +{902, 13, 2768, {1, 1, 5, 9, 29, 7, 97, 15, 113, 445, 859, 1483, 1121}}, +{903, 13, 2780, {1, 3, 1, 9, 13, 49, 99, 107, 323, 201, 681, 3071, 5281}}, +{904, 13, 2790, {1, 1, 1, 15, 9, 19, 61, 161, 7, 87, 587, 2199, 2811}}, +{905, 13, 2794, {1, 3, 3, 15, 15, 19, 95, 45, 299, 829, 981, 3479, 487}}, +{906, 13, 2796, {1, 1, 1, 9, 3, 37, 7, 19, 227, 13, 397, 513, 1257}}, +{907, 13, 2801, {1, 1, 5, 15, 15, 13, 17, 111, 135, 929, 1145, 811, 1801}}, +{908, 13, 2804, {1, 3, 1, 3, 27, 57, 31, 19, 279, 103, 693, 631, 3409}}, +{909, 13, 2807, {1, 1, 1, 1, 15, 13, 67, 83, 23, 799, 1735, 2063, 3363}}, +{910, 13, 2816, {1, 3, 3, 7, 3, 1, 61, 31, 41, 533, 2025, 4067, 6963}}, +{911, 13, 2821, {1, 1, 5, 7, 17, 27, 81, 79, 107, 205, 29, 97, 4883}}, +{912, 13, 2831, {1, 1, 1, 5, 19, 49, 91, 201, 283, 949, 651, 3819, 5073}}, +{913, 13, 2834, {1, 1, 7, 9, 11, 13, 73, 197, 37, 219, 1931, 3369, 6017}}, +{914, 13, 2839, {1, 1, 7, 15, 11, 7, 75, 205, 7, 819, 399, 661, 6487}}, +{915, 13, 2845, {1, 3, 3, 3, 27, 37, 95, 41, 307, 165, 1077, 3485, 563}}, +{916, 13, 2852, {1, 3, 5, 3, 21, 49, 57, 179, 109, 627, 1789, 431, 2941}}, +{917, 13, 2856, {1, 1, 7, 5, 11, 19, 43, 137, 149, 679, 1543, 245, 1381}}, +{918, 13, 2861, {1, 3, 5, 5, 15, 3, 69, 81, 135, 159, 1363, 3401, 6355}}, +{919, 13, 2873, {1, 3, 5, 1, 9, 61, 49, 53, 319, 25, 1647, 1297, 615}}, +{920, 13, 2874, {1, 3, 5, 11, 31, 43, 9, 101, 71, 919, 335, 3147, 5823}}, +{921, 13, 2888, {1, 3, 1, 1, 15, 5, 29, 109, 511, 945, 867, 3677, 6915}}, +{922, 13, 2893, {1, 3, 3, 15, 17, 49, 91, 111, 215, 29, 1879, 97, 2505}}, +{923, 13, 2894, {1, 3, 1, 13, 19, 61, 11, 111, 163, 777, 533, 1113, 5339}}, +{924, 13, 2902, {1, 1, 7, 9, 17, 55, 117, 91, 455, 289, 557, 913, 4455}}, +{925, 13, 2917, {1, 3, 1, 7, 25, 19, 123, 37, 1, 277, 717, 2965, 4469}}, +{926, 13, 2921, {1, 3, 7, 3, 19, 23, 87, 235, 209, 457, 2041, 2893, 1805}}, +{927, 13, 2922, {1, 3, 3, 5, 5, 43, 23, 61, 351, 791, 59, 2009, 2909}}, +{928, 13, 2929, {1, 1, 3, 7, 5, 1, 27, 231, 385, 257, 1261, 2701, 1807}}, +{929, 13, 2935, {1, 3, 1, 1, 27, 19, 87, 253, 131, 685, 1743, 3983, 2651}}, +{930, 13, 2946, {1, 3, 7, 11, 21, 17, 11, 81, 191, 641, 1821, 3005, 7251}}, +{931, 13, 2951, {1, 3, 3, 5, 15, 31, 41, 213, 55, 931, 1953, 49, 6037}}, +{932, 13, 2957, {1, 1, 7, 15, 7, 27, 65, 223, 113, 79, 1875, 911, 5445}}, +{933, 13, 2960, {1, 3, 7, 7, 23, 55, 51, 167, 495, 25, 1585, 3447, 799}}, +{934, 13, 2966, {1, 1, 3, 7, 27, 15, 95, 193, 337, 415, 975, 3085, 967}}, +{935, 13, 2972, {1, 1, 7, 15, 19, 7, 93, 41, 433, 551, 401, 3169, 3971}}, +{936, 13, 2976, {1, 1, 7, 11, 13, 15, 53, 69, 433, 59, 1117, 3359, 6231}}, +{937, 13, 2979, {1, 1, 7, 3, 23, 5, 115, 201, 225, 109, 1903, 3897, 6265}}, +{938, 13, 2985, {1, 1, 1, 11, 17, 1, 39, 143, 361, 659, 1105, 23, 4923}}, +{939, 13, 3000, {1, 1, 1, 9, 27, 57, 85, 227, 261, 119, 1881, 3965, 6999}}, +{940, 13, 3003, {1, 3, 7, 7, 15, 7, 107, 17, 315, 49, 1591, 905, 7789}}, +{941, 13, 3013, {1, 3, 1, 7, 29, 3, 47, 237, 157, 769, 839, 3199, 3195}}, +{942, 13, 3018, {1, 1, 3, 15, 25, 39, 63, 15, 111, 857, 881, 1505, 7671}}, +{943, 13, 3020, {1, 1, 7, 1, 3, 35, 41, 215, 99, 895, 1025, 1483, 4707}}, +{944, 13, 3025, {1, 3, 5, 1, 1, 31, 25, 247, 113, 841, 397, 1825, 6969}}, +{945, 13, 3042, {1, 1, 3, 5, 19, 41, 49, 243, 225, 973, 241, 175, 1041}}, +{946, 13, 3047, {1, 1, 1, 7, 15, 15, 105, 141, 83, 75, 1675, 3523, 5219}}, +{947, 13, 3048, {1, 1, 7, 5, 13, 27, 47, 199, 445, 841, 959, 1157, 2209}}, +{948, 13, 3051, {1, 3, 5, 15, 23, 31, 31, 81, 85, 33, 785, 2639, 7799}}, +{949, 13, 3054, {1, 1, 5, 13, 21, 3, 47, 99, 235, 943, 1731, 2467, 7891}}, +{950, 13, 3056, {1, 1, 1, 3, 17, 53, 85, 219, 73, 131, 1339, 875, 1191}}, +{951, 13, 3065, {1, 1, 5, 7, 17, 63, 113, 7, 185, 557, 749, 3563, 4973}}, +{952, 13, 3073, {1, 3, 3, 15, 15, 21, 43, 111, 155, 689, 345, 423, 3597}}, +{953, 13, 3074, {1, 1, 5, 1, 15, 29, 93, 5, 361, 713, 695, 3937, 425}}, +{954, 13, 3083, {1, 3, 7, 7, 13, 41, 115, 175, 315, 937, 123, 2841, 4457}}, +{955, 13, 3086, {1, 1, 3, 11, 25, 5, 103, 53, 423, 811, 657, 399, 7257}}, +{956, 13, 3091, {1, 1, 1, 1, 1, 13, 101, 211, 383, 325, 97, 1703, 4429}}, +{957, 13, 3097, {1, 3, 7, 9, 31, 45, 83, 157, 509, 701, 841, 1105, 3643}}, +{958, 13, 3109, {1, 1, 1, 7, 1, 9, 69, 17, 129, 281, 1161, 2945, 7693}}, +{959, 13, 3116, {1, 3, 7, 1, 11, 29, 51, 143, 77, 433, 1723, 2317, 5641}}, +{960, 13, 3124, {1, 1, 1, 1, 21, 43, 13, 67, 177, 505, 1629, 1267, 4885}}, +{961, 13, 3128, {1, 1, 3, 11, 27, 63, 111, 47, 233, 781, 453, 1679, 3209}}, +{962, 13, 3153, {1, 1, 3, 13, 29, 27, 119, 141, 493, 971, 461, 1159, 633}}, +{963, 13, 3160, {1, 1, 3, 15, 23, 5, 79, 215, 163, 149, 1805, 2399, 61}}, +{964, 13, 3165, {1, 3, 5, 13, 19, 5, 1, 39, 409, 561, 709, 829, 1357}}, +{965, 13, 3172, {1, 3, 3, 13, 19, 43, 9, 177, 449, 447, 73, 2107, 5669}}, +{966, 13, 3175, {1, 3, 5, 1, 23, 13, 63, 109, 203, 593, 829, 4017, 6881}}, +{967, 13, 3184, {1, 1, 5, 7, 3, 9, 53, 175, 391, 169, 1283, 3793, 4451}}, +{968, 13, 3193, {1, 1, 5, 7, 29, 43, 9, 5, 209, 77, 927, 2941, 8145}}, +{969, 13, 3196, {1, 3, 5, 15, 17, 49, 5, 143, 131, 771, 1685, 925, 2175}}, +{970, 13, 3200, {1, 1, 3, 11, 27, 27, 27, 159, 161, 1015, 1587, 4049, 1983}}, +{971, 13, 3203, {1, 3, 1, 3, 23, 57, 119, 67, 481, 577, 389, 3319, 5325}}, +{972, 13, 3205, {1, 3, 5, 1, 19, 39, 87, 61, 329, 657, 1773, 31, 1707}}, +{973, 13, 3209, {1, 1, 3, 1, 5, 25, 15, 241, 131, 815, 1751, 3029, 8039}}, +{974, 13, 3224, {1, 3, 3, 13, 27, 13, 77, 87, 437, 57, 621, 1031, 7891}}, +{975, 13, 3239, {1, 3, 1, 13, 23, 51, 117, 37, 331, 745, 605, 3179, 4713}}, +{976, 13, 3251, {1, 1, 5, 5, 19, 17, 99, 167, 87, 721, 737, 789, 2165}}, +{977, 13, 3254, {1, 3, 5, 13, 1, 51, 119, 211, 165, 299, 1327, 3053, 3343}}, +{978, 13, 3265, {1, 1, 5, 15, 29, 45, 17, 129, 67, 345, 1553, 2705, 7369}}, +{979, 13, 3266, {1, 1, 1, 9, 23, 7, 13, 209, 7, 407, 317, 3077, 7287}}, +{980, 13, 3275, {1, 1, 1, 5, 9, 59, 89, 3, 487, 451, 505, 2499, 7563}}, +{981, 13, 3280, {1, 3, 1, 7, 21, 1, 21, 203, 101, 417, 1389, 2751, 1397}}, +{982, 13, 3283, {1, 3, 7, 13, 7, 31, 3, 247, 349, 485, 1259, 549, 6321}}, +{983, 13, 3286, {1, 1, 7, 7, 27, 33, 107, 197, 293, 729, 1753, 2571, 103}}, +{984, 13, 3301, {1, 3, 5, 9, 25, 35, 5, 253, 137, 213, 2041, 3387, 1809}}, +{985, 13, 3302, {1, 1, 7, 13, 15, 35, 67, 83, 295, 175, 839, 2831, 839}}, +{986, 13, 3305, {1, 3, 3, 11, 3, 17, 55, 141, 247, 991, 117, 3799, 1221}}, +{987, 13, 3319, {1, 1, 5, 1, 11, 37, 87, 233, 457, 653, 899, 2933, 3105}}, +{988, 13, 3323, {1, 1, 3, 15, 3, 31, 67, 167, 437, 9, 651, 1109, 1139}}, +{989, 13, 3326, {1, 1, 3, 1, 7, 63, 67, 17, 11, 883, 1855, 1941, 4751}}, +{990, 13, 3331, {1, 3, 7, 9, 19, 33, 113, 117, 495, 39, 1795, 2561, 5519}}, +{991, 13, 3348, {1, 1, 7, 5, 1, 3, 103, 37, 201, 223, 1101, 877, 6483}}, +{992, 13, 3351, {1, 1, 5, 9, 29, 49, 51, 33, 439, 917, 861, 1321, 2135}}, +{993, 13, 3358, {1, 1, 3, 3, 1, 5, 17, 93, 217, 619, 613, 1357, 6095}}, +{994, 13, 3368, {1, 3, 1, 11, 3, 21, 5, 41, 15, 175, 843, 2937, 6849}}, +{995, 13, 3374, {1, 3, 3, 7, 9, 57, 55, 127, 79, 287, 445, 2205, 7989}}, +{996, 13, 3376, {1, 1, 7, 13, 23, 17, 93, 129, 157, 135, 1747, 1813, 4183}}, +{997, 13, 3379, {1, 1, 1, 5, 31, 59, 99, 33, 425, 329, 887, 367, 1761}}, +{998, 13, 3385, {1, 1, 7, 9, 17, 53, 77, 139, 435, 387, 49, 3649, 1773}}, +{999, 13, 3386, {1, 3, 3, 15, 21, 57, 45, 161, 331, 719, 273, 3479, 4173}}, +{1000, 13, 3396, {1, 1, 3, 9, 3, 3, 105, 201, 373, 877, 919, 1263, 6649}}, +{1001, 13, 3420, {1, 3, 1, 15, 13, 43, 13, 99, 73, 163, 353, 3569, 5601}}, +{1002, 13, 3423, {1, 3, 7, 3, 5, 9, 69, 177, 449, 47, 781, 1125, 4245}}, +{1003, 13, 3430, {1, 1, 1, 5, 3, 45, 1, 123, 409, 903, 205, 2057, 7637}}, +{1004, 13, 3433, {1, 3, 5, 9, 19, 47, 87, 135, 481, 799, 101, 3409, 2241}}, +{1005, 13, 3434, {1, 3, 1, 13, 3, 25, 15, 27, 181, 967, 669, 2577, 7249}}, +{1006, 13, 3439, {1, 1, 7, 3, 31, 5, 103, 53, 1, 911, 1209, 3697, 6685}}, +{1007, 13, 3442, {1, 1, 3, 1, 5, 5, 49, 135, 281, 747, 761, 2973, 7963}}, +{1008, 13, 3444, {1, 3, 3, 5, 19, 61, 125, 199, 299, 515, 1365, 369, 7027}}, +{1009, 13, 3453, {1, 3, 1, 7, 5, 41, 63, 229, 283, 571, 147, 447, 657}}, +{1010, 13, 3464, {1, 3, 1, 11, 5, 15, 55, 7, 259, 61, 27, 1429, 5631}}, +{1011, 13, 3477, {1, 1, 5, 1, 3, 53, 51, 253, 155, 553, 1293, 3735, 6567}}, +{1012, 13, 3478, {1, 3, 5, 9, 5, 41, 21, 159, 101, 785, 1981, 3799, 7693}}, +{1013, 13, 3482, {1, 3, 7, 7, 9, 3, 95, 105, 129, 213, 1215, 1027, 5699}}, +{1014, 13, 3487, {1, 1, 3, 3, 29, 13, 9, 253, 449, 321, 341, 2879, 171}}, +{1015, 13, 3497, {1, 3, 7, 11, 21, 11, 75, 35, 43, 965, 675, 2217, 7175}}, +{1016, 13, 3500, {1, 1, 5, 15, 31, 5, 29, 137, 311, 751, 47, 1367, 5921}}, +{1017, 13, 3505, {1, 1, 3, 15, 17, 1, 45, 69, 55, 649, 835, 569, 7615}}, +{1018, 13, 3506, {1, 3, 1, 13, 31, 7, 23, 15, 391, 145, 1845, 1825, 1403}}, +{1019, 13, 3511, {1, 1, 3, 15, 5, 9, 79, 77, 105, 399, 1933, 2503, 4781}}, +{1020, 13, 3512, {1, 3, 1, 3, 17, 47, 19, 13, 107, 475, 759, 2933, 3761}}, +{1021, 13, 3515, {1, 1, 7, 11, 3, 7, 121, 209, 397, 877, 293, 847, 7039}}, +{1022, 13, 3525, {1, 1, 1, 15, 29, 45, 5, 109, 335, 461, 143, 931, 4045}}, +{1023, 13, 3532, {1, 3, 1, 7, 11, 57, 73, 89, 201, 173, 803, 3953, 5205}}, +{1024, 13, 3538, {1, 1, 5, 11, 11, 33, 37, 29, 263, 1019, 657, 1453, 7807}}, +{1025, 13, 3540, {1, 3, 3, 13, 31, 25, 37, 47, 261, 607, 1703, 2603, 417}}, +{1026, 13, 3547, {1, 1, 1, 1, 31, 61, 45, 115, 275, 239, 1989, 1897, 4329}}, +{1027, 13, 3549, {1, 3, 5, 3, 31, 3, 11, 173, 335, 579, 1193, 2219, 7875}}, +{1028, 13, 3560, {1, 1, 7, 9, 29, 45, 13, 67, 399, 177, 1293, 3865, 2225}}, +{1029, 13, 3571, {1, 1, 7, 11, 11, 51, 121, 227, 469, 905, 929, 2635, 4165}}, +{1030, 13, 3577, {1, 3, 7, 9, 13, 39, 55, 167, 23, 147, 1603, 2083, 4645}}, +{1031, 13, 3583, {1, 1, 3, 15, 27, 53, 11, 155, 157, 629, 259, 3009, 4605}}, +{1032, 13, 3590, {1, 3, 1, 7, 15, 47, 51, 1, 259, 603, 887, 2833, 6581}}, +{1033, 13, 3593, {1, 3, 5, 3, 1, 47, 91, 43, 361, 571, 29, 1453, 4269}}, +{1034, 13, 3594, {1, 1, 3, 9, 11, 51, 55, 23, 415, 277, 1423, 3475, 1527}}, +{1035, 13, 3599, {1, 1, 3, 11, 29, 49, 101, 75, 299, 709, 805, 4037, 4389}}, +{1036, 13, 3601, {1, 1, 7, 3, 23, 1, 37, 51, 379, 771, 1301, 3717, 6673}}, +{1037, 13, 3602, {1, 1, 5, 3, 23, 11, 125, 177, 375, 665, 951, 1577, 2603}}, +{1038, 13, 3613, {1, 1, 1, 1, 1, 5, 71, 255, 21, 459, 467, 2083, 5415}}, +{1039, 13, 3623, {1, 1, 5, 13, 23, 29, 109, 157, 363, 971, 549, 647, 1177}}, +{1040, 13, 3630, {1, 1, 3, 9, 7, 15, 101, 3, 365, 213, 745, 1155, 6099}}, +{1041, 13, 3638, {1, 3, 5, 15, 15, 19, 47, 179, 303, 521, 1279, 219, 2415}}, +{1042, 13, 3649, {1, 3, 3, 13, 27, 11, 83, 165, 369, 989, 261, 3933, 4809}}, +{1043, 13, 3655, {1, 1, 3, 11, 31, 59, 1, 185, 53, 703, 1471, 2935, 1107}}, +{1044, 13, 3662, {1, 3, 3, 7, 25, 3, 81, 27, 93, 521, 433, 2859, 5861}}, +{1045, 13, 3667, {1, 3, 3, 11, 29, 15, 49, 167, 315, 927, 543, 3473, 4307}}, +{1046, 13, 3669, {1, 3, 1, 3, 29, 33, 53, 15, 183, 691, 703, 1311, 3393}}, +{1047, 13, 3676, {1, 3, 5, 13, 23, 49, 3, 11, 1, 357, 1407, 415, 7211}}, +{1048, 13, 3683, {1, 3, 7, 15, 1, 25, 91, 113, 323, 371, 189, 925, 1181}}, +{1049, 13, 3700, {1, 3, 3, 3, 17, 59, 119, 199, 115, 223, 877, 2193, 193}}, +{1050, 13, 3709, {1, 1, 1, 5, 5, 35, 31, 59, 437, 411, 37, 2405, 3797}}, +{1051, 13, 3710, {1, 3, 1, 13, 9, 37, 1, 241, 59, 157, 1785, 1223, 563}}, +{1052, 13, 3713, {1, 3, 5, 13, 3, 21, 25, 95, 15, 745, 85, 701, 5361}}, +{1053, 13, 3723, {1, 3, 7, 1, 31, 33, 111, 195, 35, 913, 2013, 2951, 6611}}, +{1054, 13, 3725, {1, 3, 5, 1, 19, 3, 75, 119, 111, 409, 951, 1457, 4957}}, +{1055, 13, 3728, {1, 3, 1, 15, 19, 59, 3, 155, 237, 657, 1967, 3323, 6235}}, +{1056, 13, 3734, {1, 1, 5, 1, 3, 19, 45, 105, 377, 881, 167, 2255, 4483}}, +{1057, 13, 3737, {1, 1, 7, 7, 13, 13, 99, 89, 201, 279, 161, 2483, 6001}}, +{1058, 13, 3738, {1, 1, 7, 3, 13, 17, 97, 129, 137, 377, 1519, 183, 3725}}, +{1059, 13, 3744, {1, 1, 7, 9, 9, 5, 45, 135, 115, 181, 1685, 3505, 4387}}, +{1060, 13, 3750, {1, 1, 1, 1, 19, 35, 69, 113, 305, 419, 949, 2969, 247}}, +{1061, 13, 3762, {1, 1, 5, 13, 23, 61, 13, 139, 501, 811, 67, 1501, 6493}}, +{1062, 13, 3764, {1, 1, 3, 13, 15, 41, 27, 217, 293, 13, 145, 2631, 6991}}, +{1063, 13, 3774, {1, 3, 3, 13, 15, 37, 71, 123, 285, 49, 627, 1283, 5993}}, +{1064, 13, 3776, {1, 3, 3, 11, 9, 25, 11, 1, 203, 353, 1347, 1999, 2799}}, +{1065, 13, 3786, {1, 3, 5, 1, 7, 49, 101, 231, 499, 63, 1977, 2207, 7829}}, +{1066, 13, 3800, {1, 1, 7, 1, 17, 15, 115, 139, 381, 943, 623, 4037, 2971}}, +{1067, 13, 3803, {1, 1, 3, 5, 13, 55, 23, 87, 139, 795, 1669, 1375, 1185}}, +{1068, 13, 3809, {1, 3, 3, 5, 5, 45, 97, 253, 241, 333, 645, 555, 7867}}, +{1069, 13, 3816, {1, 3, 5, 1, 1, 1, 89, 27, 407, 509, 1433, 609, 2355}}, +{1070, 13, 3821, {1, 3, 7, 1, 27, 29, 5, 157, 495, 811, 1293, 1143, 827}}, +{1071, 13, 3827, {1, 1, 3, 3, 25, 49, 127, 111, 191, 3, 845, 1383, 2521}}, +{1072, 13, 3829, {1, 1, 5, 7, 5, 51, 101, 155, 237, 461, 831, 3091, 3851}}, +{1073, 13, 3836, {1, 3, 7, 1, 29, 35, 105, 91, 285, 705, 131, 395, 6011}}, +{1074, 13, 3842, {1, 3, 5, 3, 13, 21, 83, 173, 221, 827, 1775, 1931, 6727}}, +{1075, 13, 3844, {1, 1, 3, 5, 3, 25, 95, 115, 205, 569, 1447, 933, 6425}}, +{1076, 13, 3847, {1, 1, 7, 9, 31, 3, 17, 175, 145, 447, 1321, 1069, 6527}}, +{1077, 13, 3853, {1, 1, 3, 3, 23, 1, 79, 51, 421, 419, 873, 3939, 1801}}, +{1078, 13, 3861, {1, 1, 5, 1, 3, 39, 15, 85, 169, 669, 919, 397, 5579}}, +{1079, 13, 3871, {1, 3, 5, 1, 21, 61, 87, 217, 251, 619, 1091, 4009, 229}}, +{1080, 13, 3872, {1, 1, 1, 11, 23, 55, 85, 121, 363, 867, 315, 447, 3373}}, +{1081, 13, 3881, {1, 3, 3, 13, 29, 19, 89, 85, 137, 469, 1873, 2765, 3975}}, +{1082, 13, 3890, {1, 3, 7, 13, 19, 63, 61, 77, 67, 361, 11, 1787, 4703}}, +{1083, 13, 3892, {1, 1, 3, 11, 7, 15, 127, 105, 179, 857, 1671, 3647, 3389}}, +{1084, 13, 3909, {1, 1, 1, 7, 19, 21, 99, 161, 499, 519, 1287, 2973, 479}}, +{1085, 13, 3921, {1, 1, 3, 13, 29, 51, 95, 251, 55, 519, 1955, 2881, 5951}}, +{1086, 13, 3934, {1, 1, 3, 11, 23, 63, 121, 237, 175, 311, 701, 1539, 2383}}, +{1087, 13, 3938, {1, 1, 7, 5, 5, 45, 73, 97, 5, 153, 715, 2037, 3353}}, +{1088, 13, 3947, {1, 1, 1, 3, 13, 7, 67, 173, 425, 843, 1497, 2729, 5193}}, +{1089, 13, 3950, {1, 1, 7, 1, 23, 3, 119, 11, 77, 141, 1905, 2269, 4269}}, +{1090, 13, 3952, {1, 1, 7, 15, 1, 23, 79, 251, 439, 603, 405, 2449, 6383}}, +{1091, 13, 3964, {1, 3, 7, 11, 29, 27, 47, 255, 47, 661, 1967, 1007, 3689}}, +{1092, 13, 3974, {1, 3, 7, 5, 19, 39, 35, 115, 417, 373, 291, 329, 603}}, +{1093, 13, 3980, {1, 3, 1, 9, 11, 33, 27, 193, 207, 423, 1311, 1369, 7307}}, +{1094, 13, 3983, {1, 1, 3, 11, 9, 29, 83, 17, 497, 493, 329, 3141, 5935}}, +{1095, 13, 3986, {1, 3, 1, 5, 31, 51, 29, 171, 51, 493, 1621, 3501, 4091}}, +{1096, 13, 3995, {1, 1, 5, 9, 21, 43, 105, 207, 245, 363, 1191, 699, 1139}}, +{1097, 13, 3998, {1, 1, 3, 11, 19, 5, 81, 119, 247, 169, 1337, 45, 6565}}, +{1098, 13, 4001, {1, 3, 1, 11, 3, 51, 3, 101, 159, 11, 253, 299, 5043}}, +{1099, 13, 4002, {1, 3, 1, 5, 11, 53, 85, 39, 57, 645, 2007, 1039, 3627}}, +{1100, 13, 4004, {1, 3, 5, 3, 17, 61, 97, 165, 415, 357, 283, 601, 5505}}, +{1101, 13, 4008, {1, 3, 7, 3, 9, 51, 49, 85, 3, 227, 137, 309, 243}}, +{1102, 13, 4011, {1, 1, 5, 3, 11, 59, 11, 131, 409, 703, 455, 123, 6727}}, +{1103, 13, 4016, {1, 3, 7, 9, 25, 49, 21, 171, 287, 379, 667, 313, 713}}, +{1104, 13, 4033, {1, 1, 3, 9, 7, 35, 47, 3, 367, 581, 1627, 1665, 3905}}, +{1105, 13, 4036, {1, 3, 1, 1, 29, 57, 35, 55, 255, 653, 823, 2197, 6179}}, +{1106, 13, 4040, {1, 3, 7, 15, 17, 15, 117, 83, 359, 163, 115, 2999, 5373}}, +{1107, 13, 4053, {1, 1, 5, 3, 21, 61, 35, 97, 71, 687, 207, 2917, 1049}}, +{1108, 13, 4058, {1, 1, 1, 15, 13, 15, 125, 81, 263, 661, 417, 3243, 1669}}, +{1109, 13, 4081, {1, 1, 7, 3, 3, 19, 111, 193, 443, 339, 659, 1211, 1557}}, +{1110, 13, 4091, {1, 3, 1, 3, 27, 3, 3, 173, 391, 213, 803, 3281, 3207}}, +{1111, 13, 4094, {1, 1, 5, 15, 19, 1, 7, 211, 157, 603, 403, 1387, 1583}}, +{1112, 14, 21, {1, 3, 5, 13, 17, 53, 125, 13, 339, 723, 521, 413, 5801, 10451}}, +{1113, 14, 28, {1, 1, 3, 13, 29, 9, 99, 77, 141, 609, 1533, 983, 2039, 51}}, +{1114, 14, 41, {1, 1, 3, 11, 21, 55, 5, 51, 423, 309, 525, 3715, 3025, 15055}}, +{1115, 14, 47, {1, 1, 3, 7, 9, 21, 77, 171, 239, 341, 1653, 1093, 2273, 10723}}, +{1116, 14, 61, {1, 1, 1, 15, 31, 15, 23, 35, 317, 869, 1917, 1415, 4313, 3687}}, +{1117, 14, 84, {1, 1, 1, 5, 21, 25, 99, 167, 439, 453, 473, 431, 6665, 4989}}, +{1118, 14, 87, {1, 1, 7, 9, 31, 47, 81, 83, 345, 43, 1363, 1885, 3155, 3185}}, +{1119, 14, 93, {1, 3, 7, 1, 31, 17, 61, 185, 341, 129, 547, 717, 2071, 9991}}, +{1120, 14, 94, {1, 3, 1, 13, 23, 61, 77, 217, 455, 77, 1263, 1601, 3501, 14953}}, +{1121, 14, 103, {1, 1, 7, 7, 19, 19, 1, 229, 431, 943, 1069, 1949, 1289, 15729}}, +{1122, 14, 117, {1, 1, 3, 5, 1, 35, 97, 251, 487, 459, 1265, 1739, 165, 10365}}, +{1123, 14, 121, {1, 3, 5, 3, 11, 25, 79, 175, 383, 545, 187, 197, 4329, 3363}}, +{1124, 14, 134, {1, 1, 3, 3, 29, 9, 63, 55, 175, 277, 431, 2549, 2629, 6409}}, +{1125, 14, 137, {1, 1, 3, 15, 17, 21, 79, 139, 99, 135, 1763, 1805, 3471, 5439}}, +{1126, 14, 157, {1, 1, 3, 9, 9, 15, 35, 119, 289, 835, 769, 3843, 4119, 4421}}, +{1127, 14, 161, {1, 1, 1, 5, 19, 19, 67, 199, 307, 815, 1367, 1231, 3927, 6593}}, +{1128, 14, 205, {1, 1, 3, 1, 29, 51, 121, 209, 431, 47, 1115, 907, 2535, 9755}}, +{1129, 14, 206, {1, 1, 3, 5, 17, 1, 5, 119, 121, 223, 1719, 1291, 3947, 15891}}, +{1130, 14, 211, {1, 3, 1, 15, 29, 25, 3, 131, 373, 307, 645, 3513, 1289, 1987}}, +{1131, 14, 214, {1, 3, 3, 11, 29, 45, 105, 179, 331, 465, 891, 1315, 403, 3057}}, +{1132, 14, 218, {1, 1, 5, 13, 17, 59, 77, 127, 485, 855, 1147, 3093, 891, 9869}}, +{1133, 14, 234, {1, 1, 1, 7, 23, 27, 31, 203, 285, 463, 827, 685, 1349, 15051}}, +{1134, 14, 236, {1, 1, 1, 5, 29, 5, 107, 195, 31, 425, 19, 2865, 3869, 11153}}, +{1135, 14, 248, {1, 1, 7, 5, 7, 47, 1, 73, 307, 347, 393, 2205, 7709, 15121}}, +{1136, 14, 262, {1, 1, 1, 13, 15, 61, 25, 131, 113, 369, 1995, 2527, 4475, 1745}}, +{1137, 14, 299, {1, 1, 1, 1, 31, 63, 21, 253, 307, 281, 859, 3319, 6721, 2891}}, +{1138, 14, 304, {1, 1, 3, 11, 1, 17, 5, 183, 301, 979, 651, 1685, 6343, 10067}}, +{1139, 14, 319, {1, 1, 5, 15, 23, 45, 99, 145, 263, 507, 1381, 3425, 2215, 1815}}, +{1140, 14, 322, {1, 3, 1, 5, 11, 63, 85, 203, 411, 881, 1369, 1237, 4657, 6541}}, +{1141, 14, 334, {1, 3, 3, 13, 17, 53, 121, 201, 269, 983, 215, 3187, 7121, 6111}}, +{1142, 14, 355, {1, 3, 5, 15, 15, 5, 13, 143, 3, 313, 1677, 1093, 3295, 3387}}, +{1143, 14, 357, {1, 1, 3, 13, 3, 23, 73, 17, 257, 965, 239, 1271, 2803, 7327}}, +{1144, 14, 358, {1, 3, 5, 13, 9, 57, 115, 37, 41, 467, 135, 1403, 3811, 4741}}, +{1145, 14, 369, {1, 3, 7, 15, 9, 33, 39, 203, 351, 367, 1355, 1403, 3685, 4757}}, +{1146, 14, 372, {1, 3, 5, 11, 31, 3, 113, 123, 203, 421, 1821, 3151, 2375, 4419}}, +{1147, 14, 375, {1, 1, 1, 7, 21, 63, 99, 23, 133, 79, 991, 1755, 4989, 4709}}, +{1148, 14, 388, {1, 3, 5, 1, 25, 63, 113, 239, 49, 443, 173, 1261, 3201, 10599}}, +{1149, 14, 400, {1, 3, 3, 13, 3, 25, 101, 169, 23, 585, 327, 1327, 111, 10059}}, +{1150, 14, 415, {1, 3, 3, 5, 19, 1, 33, 89, 437, 213, 1933, 1741, 2603, 5625}}, +{1151, 14, 446, {1, 3, 1, 3, 15, 15, 25, 139, 73, 335, 237, 2461, 3101, 14951}}, +{1152, 14, 451, {1, 3, 5, 1, 31, 15, 31, 187, 177, 659, 1339, 3767, 4975, 7123}}, +{1153, 14, 458, {1, 3, 1, 3, 25, 19, 47, 89, 107, 107, 649, 683, 3123, 11085}}, +{1154, 14, 471, {1, 3, 7, 9, 15, 21, 101, 25, 11, 625, 1555, 675, 3893, 5805}}, +{1155, 14, 484, {1, 1, 1, 5, 7, 49, 123, 21, 439, 369, 207, 535, 4619, 14665}}, +{1156, 14, 501, {1, 1, 5, 7, 1, 25, 103, 185, 99, 239, 1093, 1561, 6177, 4039}}, +{1157, 14, 502, {1, 3, 7, 5, 29, 21, 43, 103, 343, 973, 1561, 2975, 7467, 7947}}, +{1158, 14, 517, {1, 1, 7, 9, 19, 3, 13, 23, 461, 813, 1191, 985, 559, 3317}}, +{1159, 14, 545, {1, 3, 5, 5, 27, 31, 79, 15, 365, 901, 1949, 117, 3619, 13311}}, +{1160, 14, 569, {1, 3, 5, 7, 5, 33, 67, 199, 425, 189, 1691, 3099, 815, 1677}}, +{1161, 14, 617, {1, 1, 7, 11, 13, 29, 73, 137, 265, 601, 445, 3893, 2511, 8047}}, +{1162, 14, 618, {1, 1, 3, 1, 13, 5, 57, 101, 357, 391, 335, 601, 1359, 1065}}, +{1163, 14, 623, {1, 1, 1, 1, 25, 57, 27, 115, 31, 873, 611, 2125, 447, 13585}}, +{1164, 14, 625, {1, 3, 3, 13, 27, 17, 73, 11, 359, 33, 1153, 271, 4537, 15141}}, +{1165, 14, 637, {1, 3, 7, 3, 11, 63, 103, 61, 59, 629, 1629, 3279, 3919, 3177}}, +{1166, 14, 661, {1, 1, 5, 15, 3, 63, 85, 193, 381, 165, 175, 3247, 2501, 4209}}, +{1167, 14, 668, {1, 1, 5, 15, 1, 33, 59, 219, 487, 193, 1557, 703, 2907, 7953}}, +{1168, 14, 684, {1, 1, 7, 3, 9, 3, 105, 95, 389, 991, 21, 3841, 6983, 285}}, +{1169, 14, 695, {1, 1, 1, 1, 1, 31, 25, 137, 117, 67, 1283, 1963, 6591, 15541}}, +{1170, 14, 716, {1, 3, 5, 11, 7, 15, 127, 89, 453, 777, 1827, 2311, 7661, 11833}}, +{1171, 14, 719, {1, 1, 7, 13, 19, 29, 79, 165, 223, 453, 2039, 3961, 6467, 5481}}, +{1172, 14, 722, {1, 3, 3, 7, 17, 41, 43, 157, 323, 3, 1001, 2109, 4513, 12127}}, +{1173, 14, 731, {1, 1, 5, 9, 31, 57, 3, 217, 113, 271, 1663, 1367, 6949, 8165}}, +{1174, 14, 738, {1, 1, 7, 15, 27, 35, 81, 235, 61, 205, 525, 311, 6357, 2527}}, +{1175, 14, 747, {1, 3, 1, 9, 19, 29, 71, 207, 321, 1011, 1615, 1333, 3459, 6681}}, +{1176, 14, 755, {1, 3, 7, 7, 3, 57, 41, 19, 25, 397, 565, 1837, 7625, 11813}}, +{1177, 14, 761, {1, 3, 3, 1, 27, 47, 31, 79, 441, 961, 1255, 423, 2405, 913}}, +{1178, 14, 767, {1, 3, 3, 13, 3, 29, 69, 227, 85, 201, 395, 3199, 3869, 13099}}, +{1179, 14, 775, {1, 3, 3, 7, 29, 61, 99, 7, 27, 227, 945, 873, 475, 4363}}, +{1180, 14, 782, {1, 3, 5, 13, 19, 21, 57, 149, 217, 443, 565, 453, 5487, 10981}}, +{1181, 14, 787, {1, 3, 3, 1, 9, 27, 47, 191, 35, 395, 1429, 4079, 6871, 8013}}, +{1182, 14, 794, {1, 3, 5, 15, 5, 43, 9, 79, 279, 563, 1125, 985, 8117, 4099}}, +{1183, 14, 803, {1, 3, 5, 1, 13, 41, 21, 117, 287, 667, 701, 1483, 8167, 13283}}, +{1184, 14, 812, {1, 3, 1, 3, 15, 15, 59, 5, 383, 509, 1657, 3977, 7697, 10941}}, +{1185, 14, 817, {1, 3, 1, 1, 17, 29, 19, 23, 377, 45, 981, 1631, 3557, 6749}}, +{1186, 14, 824, {1, 3, 3, 9, 9, 51, 9, 193, 345, 361, 1679, 3333, 713, 5387}}, +{1187, 14, 829, {1, 3, 5, 5, 17, 45, 97, 17, 385, 349, 105, 2245, 7295, 14393}}, +{1188, 14, 850, {1, 3, 7, 3, 19, 51, 35, 99, 79, 301, 1563, 399, 5879, 14675}}, +{1189, 14, 866, {1, 1, 7, 15, 13, 53, 55, 203, 417, 161, 2033, 1845, 6763, 3585}}, +{1190, 14, 871, {1, 1, 3, 3, 7, 23, 11, 43, 241, 309, 1453, 3147, 2619, 3163}}, +{1191, 14, 877, {1, 1, 1, 11, 17, 1, 17, 137, 443, 465, 993, 3217, 7879, 14607}}, +{1192, 14, 920, {1, 1, 7, 13, 29, 49, 71, 217, 291, 793, 135, 21, 2503, 11091}}, +{1193, 14, 935, {1, 3, 1, 11, 31, 51, 121, 227, 377, 157, 1457, 1317, 5625, 6217}}, +{1194, 14, 959, {1, 1, 3, 7, 23, 61, 47, 93, 79, 617, 1805, 2403, 5513, 16335}}, +{1195, 14, 979, {1, 3, 5, 11, 23, 25, 41, 11, 495, 587, 1223, 3107, 1469, 15223}}, +{1196, 14, 992, {1, 3, 7, 7, 9, 1, 1, 49, 23, 723, 1761, 3717, 7375, 10875}}, +{1197, 14, 1010, {1, 3, 3, 11, 25, 37, 57, 63, 309, 603, 183, 285, 1663, 5627}}, +{1198, 14, 1012, {1, 3, 7, 11, 19, 25, 25, 201, 391, 257, 529, 1645, 1, 15111}}, +{1199, 14, 1015, {1, 3, 3, 9, 11, 43, 91, 65, 5, 959, 301, 1015, 6343, 3453}}, +{1200, 14, 1033, {1, 3, 3, 11, 17, 17, 103, 37, 77, 973, 575, 439, 49, 3639}}, +{1201, 14, 1036, {1, 1, 5, 7, 1, 15, 107, 237, 231, 967, 923, 1101, 6715, 1713}}, +{1202, 14, 1053, {1, 3, 1, 15, 9, 33, 29, 211, 245, 601, 1783, 887, 1209, 11785}}, +{1203, 14, 1057, {1, 3, 3, 7, 21, 43, 27, 89, 27, 141, 865, 367, 1379, 4063}}, +{1204, 14, 1069, {1, 3, 7, 7, 15, 17, 15, 15, 131, 649, 1955, 3289, 3983, 10689}}, +{1205, 14, 1072, {1, 3, 1, 5, 17, 7, 125, 69, 359, 981, 1345, 933, 5281, 7113}}, +{1206, 14, 1075, {1, 1, 5, 9, 17, 7, 41, 207, 497, 1015, 493, 891, 3563, 3541}}, +{1207, 14, 1087, {1, 3, 5, 11, 27, 3, 47, 31, 303, 1007, 2047, 2203, 6257, 8369}}, +{1208, 14, 1089, {1, 1, 1, 15, 25, 15, 89, 51, 217, 357, 1133, 1917, 213, 3365}}, +{1209, 14, 1137, {1, 1, 5, 13, 29, 23, 123, 207, 429, 805, 819, 2357, 6313, 11019}}, +{1210, 14, 1166, {1, 1, 3, 7, 19, 15, 41, 73, 279, 11, 1089, 3107, 7737, 15953}}, +{1211, 14, 1174, {1, 3, 5, 7, 7, 15, 41, 73, 493, 457, 1731, 1139, 2513, 12373}}, +{1212, 14, 1180, {1, 3, 5, 9, 17, 5, 55, 155, 173, 1005, 529, 3175, 7667, 4747}}, +{1213, 14, 1204, {1, 1, 7, 7, 5, 21, 105, 31, 205, 847, 1033, 3167, 2347, 8499}}, +{1214, 14, 1211, {1, 3, 5, 3, 11, 17, 59, 189, 179, 1007, 33, 3287, 4813, 8177}}, +{1215, 14, 1219, {1, 3, 3, 13, 27, 47, 47, 171, 413, 875, 1081, 1259, 7139, 8645}}, +{1216, 14, 1236, {1, 3, 5, 7, 25, 21, 51, 29, 361, 293, 51, 1119, 1453, 5283}}, +{1217, 14, 1255, {1, 3, 7, 7, 29, 55, 103, 199, 511, 341, 1957, 3987, 2855, 1279}}, +{1218, 14, 1264, {1, 1, 1, 9, 23, 51, 61, 63, 391, 37, 55, 3771, 6517, 15913}}, +{1219, 14, 1306, {1, 1, 1, 9, 3, 19, 13, 147, 453, 855, 1321, 189, 5043, 11215}}, +{1220, 14, 1330, {1, 3, 3, 13, 23, 3, 87, 155, 401, 981, 607, 3413, 995, 6473}}, +{1221, 14, 1341, {1, 3, 1, 9, 29, 47, 95, 123, 421, 353, 1867, 2609, 2569, 14083}}, +{1222, 14, 1344, {1, 1, 5, 13, 25, 39, 29, 111, 125, 545, 1493, 2371, 6361, 6307}}, +{1223, 14, 1347, {1, 3, 3, 11, 13, 31, 87, 75, 27, 393, 921, 3655, 3343, 16349}}, +{1224, 14, 1349, {1, 1, 5, 9, 19, 19, 7, 129, 223, 715, 433, 1627, 4463, 2951}}, +{1225, 14, 1361, {1, 1, 7, 1, 31, 13, 49, 33, 89, 43, 1529, 725, 3809, 3427}}, +{1226, 14, 1380, {1, 1, 7, 3, 1, 27, 45, 9, 309, 875, 659, 2661, 553, 7069}}, +{1227, 14, 1390, {1, 1, 7, 15, 13, 37, 61, 19, 125, 683, 1227, 2255, 1455, 9339}}, +{1228, 14, 1404, {1, 3, 5, 7, 19, 7, 71, 21, 465, 645, 1885, 873, 7405, 1913}}, +{1229, 14, 1435, {1, 3, 1, 11, 11, 35, 79, 61, 79, 57, 1603, 3719, 6323, 16371}}, +{1230, 14, 1444, {1, 1, 7, 1, 29, 57, 85, 21, 205, 37, 2045, 683, 4901, 8223}}, +{1231, 14, 1453, {1, 1, 5, 13, 31, 31, 65, 131, 259, 535, 967, 3943, 2605, 2089}}, +{1232, 14, 1461, {1, 1, 7, 9, 27, 61, 39, 243, 207, 41, 1909, 3279, 1331, 4635}}, +{1233, 14, 1462, {1, 3, 3, 5, 11, 63, 105, 19, 169, 95, 773, 3175, 1869, 1797}}, +{1234, 14, 1465, {1, 3, 3, 15, 13, 33, 107, 197, 153, 795, 1477, 105, 4965, 991}}, +{1235, 14, 1468, {1, 3, 7, 11, 11, 37, 23, 149, 197, 3, 1035, 3857, 553, 1059}}, +{1236, 14, 1474, {1, 3, 1, 3, 17, 29, 89, 189, 193, 59, 1477, 3517, 2565, 7739}}, +{1237, 14, 1483, {1, 1, 1, 9, 23, 3, 25, 163, 469, 305, 1791, 3393, 6141, 8119}}, +{1238, 14, 1488, {1, 3, 5, 7, 7, 41, 19, 101, 179, 487, 1071, 2761, 8043, 5103}}, +{1239, 14, 1493, {1, 1, 7, 9, 1, 21, 101, 103, 349, 85, 1841, 1033, 4473, 3563}}, +{1240, 14, 1500, {1, 1, 3, 13, 23, 61, 39, 27, 479, 13, 45, 1371, 7897, 10637}}, +{1241, 14, 1509, {1, 1, 5, 9, 17, 61, 71, 55, 355, 99, 1695, 3053, 839, 959}}, +{1242, 14, 1510, {1, 1, 3, 1, 7, 27, 87, 221, 327, 241, 461, 3177, 5933, 8299}}, +{1243, 14, 1514, {1, 3, 7, 9, 5, 41, 111, 245, 447, 263, 1363, 1767, 6331, 3355}}, +{1244, 14, 1519, {1, 3, 3, 13, 15, 11, 15, 169, 429, 149, 1965, 2477, 7733, 2499}}, +{1245, 14, 1528, {1, 1, 5, 15, 15, 47, 25, 33, 469, 701, 773, 2747, 1533, 14633}}, +{1246, 14, 1533, {1, 3, 1, 5, 19, 57, 37, 75, 423, 11, 685, 2487, 1779, 8797}}, +{1247, 14, 1540, {1, 3, 1, 5, 19, 41, 67, 99, 333, 991, 953, 3221, 939, 4197}}, +{1248, 14, 1550, {1, 3, 1, 15, 11, 39, 25, 1, 159, 679, 465, 1611, 5799, 2537}}, +{1249, 14, 1567, {1, 1, 5, 11, 5, 37, 37, 7, 101, 703, 235, 23, 2209, 12799}}, +{1250, 14, 1571, {1, 1, 7, 3, 11, 23, 71, 215, 45, 269, 1539, 3625, 5773, 6889}}, +{1251, 14, 1573, {1, 3, 5, 15, 27, 33, 105, 109, 205, 653, 821, 435, 1087, 2495}}, +{1252, 14, 1578, {1, 1, 3, 5, 11, 39, 53, 213, 41, 385, 1425, 25, 5553, 12523}}, +{1253, 14, 1598, {1, 3, 5, 15, 29, 49, 13, 253, 505, 407, 985, 2569, 6727, 4761}}, +{1254, 14, 1606, {1, 1, 1, 3, 29, 17, 69, 47, 25, 819, 1145, 2479, 1183, 3343}}, +{1255, 14, 1618, {1, 3, 1, 15, 25, 61, 43, 55, 279, 579, 361, 355, 6101, 3143}}, +{1256, 14, 1630, {1, 3, 5, 11, 3, 59, 125, 101, 451, 495, 1711, 3443, 3625, 15579}}, +{1257, 14, 1634, {1, 3, 1, 11, 25, 61, 49, 219, 23, 795, 481, 3609, 3691, 15419}}, +{1258, 14, 1640, {1, 3, 7, 5, 9, 59, 49, 233, 345, 143, 181, 3587, 3041, 1219}}, +{1259, 14, 1643, {1, 3, 7, 13, 9, 31, 39, 137, 261, 919, 1367, 3145, 4659, 5875}}, +{1260, 14, 1654, {1, 1, 3, 3, 27, 43, 95, 65, 301, 915, 31, 451, 7743, 7277}}, +{1261, 14, 1679, {1, 3, 1, 5, 23, 37, 53, 31, 203, 453, 71, 1585, 6011, 16369}}, +{1262, 14, 1688, {1, 1, 5, 1, 15, 47, 91, 227, 297, 45, 1415, 3647, 7811, 14015}}, +{1263, 14, 1698, {1, 1, 1, 1, 29, 27, 93, 121, 169, 69, 1361, 2907, 1867, 7017}}, +{1264, 14, 1703, {1, 3, 1, 7, 23, 53, 77, 41, 25, 873, 1333, 3889, 3239, 1771}}, +{1265, 14, 1704, {1, 1, 1, 7, 31, 27, 87, 81, 167, 343, 1981, 2499, 7749, 15747}}, +{1266, 14, 1722, {1, 3, 5, 13, 1, 17, 97, 37, 81, 645, 1167, 3547, 7769, 10731}}, +{1267, 14, 1735, {1, 1, 7, 5, 9, 17, 31, 55, 151, 463, 1041, 2303, 4015, 3737}}, +{1268, 14, 1750, {1, 1, 3, 11, 31, 9, 81, 213, 95, 215, 2031, 2129, 4299, 3021}}, +{1269, 14, 1753, {1, 1, 1, 3, 25, 25, 115, 229, 101, 441, 783, 1729, 7905, 2375}}, +{1270, 14, 1760, {1, 1, 5, 9, 3, 19, 73, 35, 379, 493, 1333, 1647, 13, 197}}, +{1271, 14, 1789, {1, 1, 7, 9, 3, 55, 99, 43, 281, 9, 73, 2477, 8183, 11055}}, +{1272, 14, 1792, {1, 3, 7, 13, 25, 19, 27, 195, 469, 175, 355, 1861, 7255, 15377}}, +{1273, 14, 1802, {1, 1, 3, 11, 15, 19, 115, 31, 413, 835, 697, 879, 6515, 13465}}, +{1274, 14, 1819, {1, 3, 3, 15, 3, 61, 105, 201, 151, 739, 49, 3963, 2573, 3303}}, +{1275, 14, 1825, {1, 3, 5, 7, 23, 5, 11, 215, 19, 591, 509, 2887, 1631, 4391}}, +{1276, 14, 1828, {1, 3, 3, 3, 25, 1, 109, 5, 363, 545, 1745, 503, 827, 4677}}, +{1277, 14, 1832, {1, 1, 3, 15, 1, 45, 121, 141, 497, 745, 1825, 2041, 2561, 8153}}, +{1278, 14, 1845, {1, 3, 1, 11, 29, 7, 71, 241, 7, 39, 1379, 2479, 7483, 7195}}, +{1279, 14, 1846, {1, 1, 7, 11, 3, 27, 39, 97, 339, 217, 1409, 1569, 4761, 1567}}, +{1280, 14, 1857, {1, 1, 5, 15, 11, 53, 87, 213, 297, 923, 393, 717, 3297, 16123}}, +{1281, 14, 1869, {1, 1, 1, 11, 27, 41, 121, 49, 225, 379, 1305, 319, 2461, 5445}}, +{1282, 14, 1897, {1, 1, 5, 5, 25, 3, 121, 23, 47, 843, 1679, 1427, 6393, 4199}}, +{1283, 14, 1906, {1, 1, 5, 13, 17, 3, 17, 25, 161, 487, 121, 361, 1375, 10745}}, +{1284, 14, 1908, {1, 1, 7, 3, 3, 37, 7, 245, 107, 107, 745, 2415, 2131, 11419}}, +{1285, 14, 1911, {1, 1, 5, 3, 3, 23, 67, 91, 281, 387, 465, 905, 883, 9775}}, +{1286, 14, 1934, {1, 3, 7, 15, 25, 55, 123, 49, 23, 983, 1903, 2589, 2073, 7823}}, +{1287, 14, 1962, {1, 1, 5, 11, 25, 17, 63, 229, 267, 175, 1759, 1947, 479, 11089}}, +{1288, 14, 1967, {1, 3, 7, 3, 11, 37, 83, 95, 415, 1003, 1175, 2361, 2117, 9809}}, +{1289, 14, 1972, {1, 3, 1, 9, 5, 39, 51, 129, 249, 161, 1981, 2755, 8057, 13641}}, +{1290, 14, 1975, {1, 1, 7, 1, 15, 47, 9, 197, 199, 549, 1091, 2853, 2331, 4535}}, +{1291, 14, 1999, {1, 3, 3, 13, 15, 21, 23, 111, 463, 719, 1667, 377, 5039, 10723}}, +{1292, 14, 2004, {1, 1, 3, 7, 23, 47, 39, 47, 307, 949, 1651, 2525, 5835, 1425}}, +{1293, 14, 2011, {1, 3, 3, 9, 23, 47, 111, 39, 251, 1001, 179, 3985, 535, 15435}}, +{1294, 14, 2013, {1, 1, 3, 13, 5, 45, 51, 123, 205, 651, 1583, 1691, 1631, 11975}}, +{1295, 14, 2037, {1, 1, 7, 9, 1, 29, 59, 27, 389, 497, 1459, 1633, 521, 14037}}, +{1296, 14, 2051, {1, 1, 3, 3, 3, 23, 35, 247, 371, 729, 931, 681, 1777, 8353}}, +{1297, 14, 2063, {1, 3, 3, 1, 19, 15, 17, 191, 495, 643, 319, 37, 5691, 7049}}, +{1298, 14, 2066, {1, 3, 5, 11, 5, 31, 123, 243, 335, 573, 113, 209, 4825, 7783}}, +{1299, 14, 2094, {1, 3, 7, 7, 29, 19, 25, 191, 89, 515, 55, 3013, 4523, 12913}}, +{1300, 14, 2128, {1, 1, 3, 3, 15, 3, 35, 37, 339, 7, 697, 359, 4553, 1431}}, +{1301, 14, 2154, {1, 3, 1, 1, 9, 15, 33, 77, 161, 13, 255, 1187, 6587, 11715}}, +{1302, 14, 2164, {1, 3, 7, 7, 25, 57, 61, 171, 231, 43, 1219, 903, 5623, 4781}}, +{1303, 14, 2198, {1, 1, 5, 15, 29, 47, 117, 23, 213, 907, 1423, 369, 4529, 9651}}, +{1304, 14, 2217, {1, 1, 5, 7, 15, 55, 105, 249, 401, 37, 1885, 3779, 3441, 9057}}, +{1305, 14, 2220, {1, 1, 5, 3, 3, 27, 49, 89, 335, 561, 1235, 3251, 2731, 12711}}, +{1306, 14, 2223, {1, 1, 1, 15, 29, 49, 37, 173, 25, 743, 1321, 821, 5899, 9213}}, +{1307, 14, 2238, {1, 1, 7, 3, 1, 41, 61, 209, 275, 925, 521, 3029, 1569, 9277}}, +{1308, 14, 2245, {1, 3, 5, 13, 17, 1, 11, 171, 441, 119, 1589, 299, 157, 11439}}, +{1309, 14, 2252, {1, 1, 5, 9, 13, 33, 27, 77, 363, 939, 1103, 2135, 1759, 5429}}, +{1310, 14, 2258, {1, 3, 7, 1, 17, 39, 49, 201, 49, 803, 2003, 1193, 7415, 13847}}, +{1311, 14, 2264, {1, 1, 5, 5, 17, 49, 39, 19, 311, 801, 1441, 3263, 7973, 14181}}, +{1312, 14, 2280, {1, 1, 3, 9, 9, 27, 59, 89, 81, 473, 1369, 3121, 7929, 10905}}, +{1313, 14, 2285, {1, 3, 3, 5, 17, 35, 35, 239, 379, 431, 501, 3561, 2059, 9679}}, +{1314, 14, 2293, {1, 3, 5, 15, 25, 29, 113, 179, 269, 891, 301, 2017, 7513, 9379}}, +{1315, 14, 2294, {1, 3, 1, 11, 17, 35, 49, 149, 135, 661, 1691, 3169, 3765, 9003}}, +{1316, 14, 2298, {1, 3, 7, 15, 5, 21, 53, 241, 475, 271, 683, 2351, 2181, 6333}}, +{1317, 14, 2303, {1, 1, 7, 13, 25, 33, 71, 153, 221, 507, 2017, 2401, 7545, 8489}}, +{1318, 14, 2306, {1, 1, 7, 5, 1, 49, 87, 1, 179, 331, 1597, 3713, 809, 11109}}, +{1319, 14, 2311, {1, 3, 1, 5, 5, 61, 93, 39, 479, 977, 1099, 1291, 7049, 2797}}, +{1320, 14, 2326, {1, 3, 1, 13, 19, 41, 57, 77, 5, 117, 125, 115, 3969, 1345}}, +{1321, 14, 2354, {1, 1, 1, 9, 15, 9, 57, 7, 219, 41, 767, 23, 5771, 14175}}, +{1322, 14, 2373, {1, 3, 7, 9, 17, 61, 1, 59, 227, 349, 63, 189, 3871, 7919}}, +{1323, 14, 2380, {1, 3, 5, 5, 9, 29, 33, 203, 413, 701, 1129, 2103, 1889, 8377}}, +{1324, 14, 2385, {1, 1, 3, 1, 9, 17, 69, 115, 123, 1001, 1, 2893, 3957, 8593}}, +{1325, 14, 2392, {1, 1, 3, 1, 31, 41, 83, 91, 113, 195, 1121, 2665, 6815, 1189}}, +{1326, 14, 2401, {1, 1, 1, 13, 3, 59, 13, 123, 95, 103, 1689, 2809, 5049, 4055}}, +{1327, 14, 2402, {1, 1, 1, 15, 21, 41, 11, 167, 375, 589, 207, 1631, 1597, 8091}}, +{1328, 14, 2408, {1, 3, 5, 5, 1, 33, 57, 89, 157, 921, 1353, 2777, 461, 14567}}, +{1329, 14, 2419, {1, 1, 5, 1, 25, 5, 51, 247, 1, 577, 463, 3741, 303, 16059}}, +{1330, 14, 2450, {1, 1, 7, 5, 13, 7, 17, 87, 51, 987, 835, 93, 5203, 3973}}, +{1331, 14, 2452, {1, 1, 7, 7, 3, 27, 7, 1, 135, 171, 231, 3349, 4459, 2925}}, +{1332, 14, 2477, {1, 1, 5, 5, 9, 51, 71, 153, 115, 315, 265, 2207, 4127, 12631}}, +{1333, 14, 2509, {1, 1, 3, 15, 23, 59, 35, 121, 425, 921, 1255, 2123, 5811, 15937}}, +{1334, 14, 2510, {1, 3, 7, 7, 11, 21, 45, 57, 269, 395, 555, 783, 6677, 2889}}, +{1335, 14, 2515, {1, 3, 5, 7, 31, 19, 73, 35, 465, 349, 1429, 863, 4707, 6121}}, +{1336, 14, 2524, {1, 3, 3, 9, 25, 27, 119, 159, 195, 949, 19, 73, 4511, 15711}}, +{1337, 14, 2527, {1, 3, 3, 7, 9, 59, 47, 57, 91, 749, 1579, 1297, 2445, 5167}}, +{1338, 14, 2531, {1, 3, 3, 3, 31, 57, 19, 203, 61, 927, 1477, 2863, 1305, 11673}}, +{1339, 14, 2552, {1, 3, 7, 11, 29, 13, 3, 111, 351, 79, 1863, 2213, 3273, 7049}}, +{1340, 14, 2561, {1, 3, 3, 9, 7, 23, 47, 237, 121, 877, 441, 119, 2723, 3989}}, +{1341, 14, 2567, {1, 3, 3, 11, 17, 23, 63, 177, 231, 363, 1451, 33, 2169, 7251}}, +{1342, 14, 2571, {1, 1, 5, 11, 31, 41, 93, 229, 39, 1009, 1061, 433, 2393, 15401}}, +{1343, 14, 2586, {1, 1, 5, 15, 31, 37, 25, 135, 135, 897, 33, 3713, 7663, 8079}}, +{1344, 14, 2588, {1, 1, 5, 7, 17, 49, 43, 89, 411, 731, 1431, 3893, 1635, 7063}}, +{1345, 14, 2595, {1, 1, 1, 13, 29, 27, 5, 77, 283, 913, 789, 817, 3309, 475}}, +{1346, 14, 2607, {1, 1, 3, 1, 19, 21, 67, 77, 423, 551, 5, 1057, 5469, 7859}}, +{1347, 14, 2621, {1, 1, 5, 1, 1, 21, 99, 237, 215, 759, 1505, 1983, 1517, 8923}}, +{1348, 14, 2630, {1, 3, 5, 7, 19, 61, 73, 215, 165, 127, 205, 259, 7755, 15395}}, +{1349, 14, 2639, {1, 1, 5, 9, 15, 23, 17, 111, 471, 751, 1923, 775, 6901, 13095}}, +{1350, 14, 2653, {1, 1, 7, 1, 25, 5, 63, 141, 461, 687, 1589, 1559, 7719, 11349}}, +{1351, 14, 2670, {1, 1, 1, 3, 11, 63, 11, 27, 253, 439, 297, 1315, 829, 3765}}, +{1352, 14, 2672, {1, 3, 1, 1, 9, 47, 127, 179, 173, 809, 241, 35, 7355, 5049}}, +{1353, 14, 2700, {1, 3, 1, 11, 19, 63, 93, 1, 205, 977, 303, 3409, 6529, 10927}}, +{1354, 14, 2711, {1, 3, 7, 9, 31, 63, 41, 79, 477, 91, 1801, 3487, 6885, 13341}}, +{1355, 14, 2715, {1, 1, 3, 7, 15, 59, 9, 101, 459, 247, 549, 2855, 5765, 7785}}, +{1356, 14, 2748, {1, 1, 7, 3, 13, 59, 71, 123, 93, 517, 1453, 2389, 4429, 5053}}, +{1357, 14, 2751, {1, 1, 5, 3, 19, 21, 77, 53, 81, 879, 1653, 1637, 3667, 2623}}, +{1358, 14, 2753, {1, 1, 1, 15, 17, 57, 65, 53, 407, 765, 417, 497, 5009, 2175}}, +{1359, 14, 2754, {1, 3, 3, 7, 31, 13, 5, 203, 263, 17, 119, 1607, 6773, 11195}}, +{1360, 14, 2760, {1, 3, 3, 13, 19, 13, 13, 147, 93, 735, 689, 781, 655, 6853}}, +{1361, 14, 2774, {1, 1, 1, 1, 1, 25, 63, 159, 493, 987, 71, 1249, 5859, 11717}}, +{1362, 14, 2784, {1, 1, 1, 15, 13, 23, 61, 61, 5, 947, 1853, 3331, 467, 8081}}, +{1363, 14, 2793, {1, 1, 3, 9, 19, 61, 65, 189, 95, 309, 283, 1725, 5683, 15463}}, +{1364, 14, 2804, {1, 1, 7, 5, 9, 33, 35, 75, 475, 831, 1445, 1485, 5047, 9631}}, +{1365, 14, 2811, {1, 1, 3, 15, 11, 23, 59, 87, 433, 221, 685, 3113, 4095, 13819}}, +{1366, 14, 2822, {1, 1, 7, 15, 25, 29, 67, 17, 349, 353, 1321, 563, 57, 533}}, +{1367, 14, 2826, {1, 3, 3, 3, 5, 43, 109, 217, 15, 185, 1895, 1015, 1831, 10623}}, +{1368, 14, 2836, {1, 1, 7, 1, 1, 47, 81, 185, 59, 691, 191, 3709, 1535, 13347}}, +{1369, 14, 2839, {1, 1, 5, 1, 23, 57, 83, 217, 457, 771, 1877, 2789, 8143, 4797}}, +{1370, 14, 2840, {1, 1, 3, 7, 23, 35, 79, 49, 227, 205, 1523, 3873, 4843, 10505}}, +{1371, 14, 2893, {1, 1, 1, 1, 17, 43, 121, 95, 205, 35, 189, 2061, 1693, 13273}}, +{1372, 14, 2901, {1, 1, 1, 15, 31, 49, 83, 249, 433, 497, 1949, 1845, 5215, 5971}}, +{1373, 14, 2902, {1, 3, 1, 1, 21, 53, 73, 211, 265, 929, 923, 279, 3621, 9469}}, +{1374, 14, 2905, {1, 3, 7, 7, 1, 57, 13, 45, 467, 705, 371, 1345, 1647, 3411}}, +{1375, 14, 2912, {1, 3, 1, 11, 27, 29, 117, 163, 143, 669, 489, 3913, 7891, 9031}}, +{1376, 14, 2915, {1, 3, 7, 15, 27, 15, 77, 217, 107, 839, 1517, 1543, 357, 10365}}, +{1377, 14, 2918, {1, 1, 1, 5, 31, 17, 107, 245, 345, 939, 1453, 3645, 6865, 16173}}, +{1378, 14, 2939, {1, 3, 5, 5, 9, 61, 43, 97, 453, 917, 945, 2143, 5473, 5611}}, +{1379, 14, 2965, {1, 1, 5, 11, 3, 33, 71, 97, 137, 549, 1605, 3839, 4883, 2677}}, +{1380, 14, 2966, {1, 3, 1, 11, 29, 23, 85, 47, 225, 633, 1613, 1297, 1415, 15813}}, +{1381, 14, 2975, {1, 1, 3, 3, 9, 19, 57, 107, 79, 449, 1951, 753, 6317, 10377}}, +{1382, 14, 2988, {1, 1, 1, 5, 21, 3, 39, 187, 299, 517, 1313, 741, 7259, 4197}}, +{1383, 14, 2993, {1, 1, 5, 13, 1, 39, 39, 41, 381, 123, 1257, 3185, 493, 3723}}, +{1384, 14, 3006, {1, 3, 7, 7, 3, 37, 15, 161, 129, 169, 555, 3605, 4287, 15831}}, +{1385, 14, 3017, {1, 3, 7, 15, 15, 23, 81, 163, 257, 791, 505, 1903, 2703, 11919}}, +{1386, 14, 3031, {1, 3, 7, 7, 27, 63, 17, 147, 111, 851, 1533, 1365, 5359, 3315}}, +{1387, 14, 3038, {1, 3, 7, 1, 15, 5, 61, 143, 385, 261, 1019, 1705, 1737, 14485}}, +{1388, 14, 3041, {1, 3, 5, 5, 25, 17, 49, 229, 431, 567, 1613, 3431, 2139, 2981}}, +{1389, 14, 3042, {1, 3, 5, 11, 17, 57, 71, 241, 31, 1007, 1695, 2965, 149, 14125}}, +{1390, 14, 3051, {1, 1, 3, 11, 7, 49, 39, 101, 5, 501, 1491, 3061, 225, 12255}}, +{1391, 14, 3073, {1, 3, 5, 7, 17, 35, 37, 97, 415, 15, 1349, 997, 2949, 4511}}, +{1392, 14, 3088, {1, 3, 1, 5, 25, 35, 99, 183, 161, 59, 1363, 515, 3767, 3641}}, +{1393, 14, 3097, {1, 1, 7, 15, 7, 15, 127, 137, 281, 67, 139, 2315, 3517, 13371}}, +{1394, 14, 3098, {1, 1, 5, 15, 23, 49, 19, 79, 425, 805, 1035, 429, 7707, 14195}}, +{1395, 14, 3103, {1, 3, 5, 3, 21, 25, 123, 11, 425, 475, 961, 2995, 7405, 5449}}, +{1396, 14, 3104, {1, 1, 7, 1, 21, 1, 75, 231, 451, 595, 719, 2369, 5907, 1227}}, +{1397, 14, 3146, {1, 1, 1, 9, 21, 57, 45, 255, 19, 79, 481, 3363, 3451, 8399}}, +{1398, 14, 3148, {1, 1, 7, 13, 31, 49, 95, 69, 483, 427, 37, 4047, 7057, 9111}}, +{1399, 14, 3153, {1, 3, 3, 11, 3, 61, 87, 79, 499, 91, 771, 1987, 2017, 3381}}, +{1400, 14, 3159, {1, 3, 1, 7, 5, 57, 1, 121, 155, 225, 501, 477, 6555, 9863}}, +{1401, 14, 3182, {1, 3, 7, 11, 27, 49, 83, 213, 61, 283, 1599, 3205, 2525, 8553}}, +{1402, 14, 3187, {1, 1, 1, 9, 9, 49, 3, 51, 141, 33, 301, 2167, 587, 15067}}, +{1403, 14, 3189, {1, 1, 1, 11, 7, 55, 99, 81, 191, 553, 953, 3753, 6731, 1093}}, +{1404, 14, 3199, {1, 1, 3, 3, 11, 59, 57, 235, 297, 197, 853, 1411, 3799, 7527}}, +{1405, 14, 3239, {1, 3, 5, 3, 7, 7, 5, 201, 393, 95, 91, 3273, 6285, 10661}}, +{1406, 14, 3263, {1, 1, 5, 7, 17, 57, 87, 3, 413, 915, 659, 369, 3593, 14429}}, +{1407, 14, 3271, {1, 3, 7, 1, 31, 31, 45, 115, 417, 427, 745, 4087, 953, 1119}}, +{1408, 14, 3275, {1, 3, 7, 3, 29, 43, 45, 221, 41, 641, 451, 173, 2999, 12103}}, +{1409, 14, 3278, {1, 1, 3, 11, 25, 57, 117, 201, 135, 787, 1525, 3879, 3247, 8907}}, +{1410, 14, 3280, {1, 1, 7, 11, 3, 35, 69, 157, 331, 615, 573, 2169, 3575, 289}}, +{1411, 14, 3283, {1, 3, 3, 13, 15, 51, 67, 127, 265, 495, 103, 3145, 2685, 15919}}, +{1412, 14, 3290, {1, 3, 5, 11, 31, 27, 65, 57, 153, 465, 1163, 467, 4103, 4713}}, +{1413, 14, 3311, {1, 3, 7, 3, 23, 31, 9, 51, 239, 417, 1597, 229, 2865, 15199}}, +{1414, 14, 3316, {1, 3, 5, 3, 11, 45, 123, 217, 31, 765, 1009, 2001, 3645, 9407}}, +{1415, 14, 3343, {1, 3, 3, 9, 5, 23, 117, 83, 237, 1017, 251, 1187, 2631, 5151}}, +{1416, 14, 3346, {1, 1, 1, 7, 23, 55, 97, 141, 501, 305, 467, 4061, 2369, 15973}}, +{1417, 14, 3357, {1, 1, 7, 5, 31, 51, 125, 191, 219, 495, 37, 3337, 813, 241}}, +{1418, 14, 3358, {1, 3, 1, 1, 11, 39, 93, 109, 285, 147, 1297, 737, 4051, 7223}}, +{1419, 14, 3361, {1, 3, 1, 15, 13, 17, 57, 171, 463, 163, 609, 1681, 7583, 9231}}, +{1420, 14, 3362, {1, 3, 1, 1, 23, 5, 51, 5, 205, 415, 419, 989, 4239, 10943}}, +{1421, 14, 3364, {1, 1, 3, 15, 3, 13, 65, 145, 387, 59, 395, 1067, 4143, 5649}}, +{1422, 14, 3386, {1, 3, 1, 13, 9, 59, 121, 127, 95, 71, 1541, 1423, 1753, 8041}}, +{1423, 14, 3418, {1, 1, 3, 15, 7, 5, 69, 167, 181, 991, 1189, 4017, 5935, 6669}}, +{1424, 14, 3424, {1, 3, 5, 7, 23, 41, 53, 21, 47, 261, 1231, 2011, 133, 2247}}, +{1425, 14, 3433, {1, 1, 1, 5, 17, 47, 77, 19, 331, 609, 1893, 3965, 3123, 9093}}, +{1426, 14, 3434, {1, 3, 1, 3, 9, 39, 103, 231, 249, 75, 373, 107, 1823, 10801}}, +{1427, 14, 3436, {1, 3, 3, 7, 1, 51, 35, 111, 137, 879, 1221, 225, 4285, 2287}}, +{1428, 14, 3463, {1, 1, 7, 9, 23, 17, 75, 245, 409, 163, 395, 3731, 7111, 6845}}, +{1429, 14, 3467, {1, 1, 3, 13, 29, 47, 75, 153, 497, 621, 1691, 3187, 2125, 10533}}, +{1430, 14, 3477, {1, 1, 7, 7, 9, 7, 55, 159, 255, 417, 1335, 643, 3843, 3733}}, +{1431, 14, 3484, {1, 3, 3, 1, 21, 41, 7, 21, 5, 679, 1655, 95, 5699, 5785}}, +{1432, 14, 3505, {1, 1, 1, 13, 19, 7, 85, 7, 195, 357, 1097, 2893, 2913, 9635}}, +{1433, 14, 3508, {1, 1, 5, 9, 25, 33, 41, 155, 39, 655, 1993, 3117, 3639, 7977}}, +{1434, 14, 3515, {1, 1, 1, 13, 3, 63, 121, 247, 151, 673, 609, 285, 2299, 7663}}, +{1435, 14, 3532, {1, 3, 7, 11, 17, 13, 49, 253, 245, 21, 273, 993, 911, 863}}, +{1436, 14, 3553, {1, 1, 5, 5, 23, 1, 121, 95, 225, 9, 1237, 1183, 6461, 559}}, +{1437, 14, 3554, {1, 3, 7, 13, 3, 7, 121, 151, 233, 561, 281, 3583, 897, 1767}}, +{1438, 14, 3568, {1, 1, 7, 7, 9, 47, 107, 41, 25, 569, 1697, 2299, 6231, 12209}}, +{1439, 14, 3573, {1, 3, 7, 7, 27, 43, 59, 37, 31, 51, 503, 149, 4043, 11847}}, +{1440, 14, 3587, {1, 3, 3, 11, 5, 1, 119, 181, 47, 641, 685, 4017, 637, 16251}}, +{1441, 14, 3589, {1, 3, 3, 7, 11, 1, 101, 7, 239, 747, 307, 1721, 5979, 4367}}, +{1442, 14, 3596, {1, 3, 5, 7, 1, 63, 19, 151, 469, 333, 1587, 2453, 897, 4711}}, +{1443, 14, 3608, {1, 3, 1, 5, 11, 61, 21, 253, 91, 993, 1347, 1993, 5607, 13031}}, +{1444, 14, 3620, {1, 3, 5, 5, 1, 39, 65, 71, 189, 389, 1437, 1055, 6439, 3989}}, +{1445, 14, 3630, {1, 1, 3, 3, 19, 15, 93, 3, 339, 165, 1675, 3953, 2145, 12113}}, +{1446, 14, 3644, {1, 1, 3, 13, 13, 45, 5, 175, 211, 993, 705, 2761, 3023, 13633}}, +{1447, 14, 3649, {1, 1, 3, 1, 19, 39, 121, 29, 287, 87, 281, 3491, 7107, 13007}}, +{1448, 14, 3664, {1, 1, 7, 1, 29, 49, 103, 187, 39, 923, 51, 1533, 3249, 4399}}, +{1449, 14, 3679, {1, 1, 5, 5, 5, 43, 25, 107, 453, 955, 115, 57, 4589, 14573}}, +{1450, 14, 3680, {1, 1, 3, 5, 21, 45, 103, 99, 183, 987, 1207, 1697, 8033, 13703}}, +{1451, 14, 3685, {1, 1, 5, 7, 11, 23, 9, 17, 261, 749, 1957, 935, 6283, 8625}}, +{1452, 14, 3686, {1, 1, 1, 9, 9, 51, 69, 225, 265, 323, 1161, 2993, 7305, 2249}}, +{1453, 14, 3698, {1, 3, 1, 9, 23, 19, 57, 205, 503, 489, 1499, 3277, 817, 11931}}, +{1454, 14, 3714, {1, 3, 3, 5, 1, 7, 49, 1, 313, 123, 643, 2027, 1469, 3585}}, +{1455, 14, 3726, {1, 3, 7, 11, 27, 47, 95, 111, 27, 213, 465, 3693, 3661, 7531}}, +{1456, 14, 3737, {1, 1, 7, 9, 3, 37, 115, 189, 31, 613, 1393, 1229, 4767, 12425}}, +{1457, 14, 3767, {1, 1, 3, 3, 25, 17, 99, 47, 161, 931, 959, 1293, 7095, 8325}}, +{1458, 14, 3782, {1, 1, 1, 7, 23, 9, 11, 51, 205, 419, 479, 1497, 2493, 13921}}, +{1459, 14, 3786, {1, 3, 1, 9, 17, 29, 51, 79, 159, 435, 477, 413, 3815, 5589}}, +{1460, 14, 3793, {1, 3, 7, 5, 7, 23, 99, 43, 169, 665, 403, 1163, 4337, 1335}}, +{1461, 14, 3796, {1, 3, 1, 5, 25, 27, 125, 249, 421, 267, 1259, 4089, 59, 9377}}, +{1462, 14, 3805, {1, 3, 3, 1, 27, 37, 91, 17, 123, 597, 1749, 3449, 6503, 11043}}, +{1463, 14, 3815, {1, 3, 7, 7, 23, 41, 19, 245, 109, 569, 547, 1917, 7943, 2697}}, +{1464, 14, 3841, {1, 3, 7, 7, 9, 1, 123, 105, 329, 435, 2013, 2745, 347, 11045}}, +{1465, 14, 3847, {1, 1, 1, 13, 29, 53, 51, 67, 105, 89, 1887, 3543, 963, 8159}}, +{1466, 14, 3853, {1, 1, 5, 3, 5, 27, 41, 67, 67, 883, 973, 1785, 901, 14969}}, +{1467, 14, 3862, {1, 3, 3, 13, 17, 11, 117, 115, 163, 939, 79, 641, 4365, 2267}}, +{1468, 14, 3875, {1, 1, 3, 3, 9, 5, 41, 123, 149, 9, 1533, 3939, 5995, 12701}}, +{1469, 14, 3902, {1, 1, 1, 15, 31, 1, 101, 229, 191, 965, 61, 2671, 4177, 15779}}, +{1470, 14, 3904, {1, 1, 5, 15, 1, 25, 49, 185, 33, 697, 1043, 2639, 7819, 3171}}, +{1471, 14, 3916, {1, 3, 5, 13, 19, 9, 111, 49, 47, 847, 1865, 717, 5287, 13417}}, +{1472, 14, 3947, {1, 3, 7, 11, 5, 61, 63, 111, 171, 735, 2003, 73, 5701, 647}}, +{1473, 14, 3949, {1, 3, 1, 11, 1, 49, 121, 79, 431, 671, 1241, 1161, 2057, 263}}, +{1474, 14, 3955, {1, 3, 3, 1, 1, 23, 75, 15, 117, 641, 313, 1525, 2041, 1409}}, +{1475, 14, 3962, {1, 3, 5, 11, 15, 57, 13, 67, 139, 131, 1339, 2419, 7945, 11877}}, +{1476, 14, 3971, {1, 3, 1, 1, 19, 39, 97, 83, 297, 595, 1611, 5, 4753, 3435}}, +{1477, 14, 3980, {1, 3, 1, 9, 7, 49, 125, 101, 383, 717, 63, 2295, 3873, 13461}}, +{1478, 14, 3985, {1, 1, 3, 3, 15, 29, 89, 77, 269, 689, 229, 1207, 7311, 8663}}, +{1479, 14, 3998, {1, 1, 1, 1, 1, 61, 25, 255, 203, 233, 271, 987, 2277, 8735}}, +{1480, 14, 4001, {1, 1, 5, 7, 21, 27, 63, 79, 337, 133, 1453, 3633, 6157, 15875}}, +{1481, 14, 4002, {1, 3, 1, 7, 7, 55, 31, 81, 203, 709, 1743, 1677, 4247, 11411}}, +{1482, 14, 4016, {1, 1, 3, 3, 29, 51, 37, 17, 487, 325, 1393, 1433, 3467, 2851}}, +{1483, 14, 4021, {1, 1, 7, 9, 3, 41, 99, 177, 241, 869, 739, 2729, 4585, 14801}}, +{1484, 14, 4026, {1, 1, 3, 1, 9, 43, 97, 65, 99, 295, 1693, 2083, 3241, 4073}}, +{1485, 14, 4043, {1, 1, 1, 9, 5, 39, 67, 119, 235, 543, 795, 2773, 3195, 6273}}, +{1486, 14, 4079, {1, 1, 5, 5, 21, 41, 89, 1, 85, 81, 57, 2951, 1531, 10101}}, +{1487, 14, 4102, {1, 1, 1, 7, 3, 35, 127, 69, 39, 265, 1643, 2973, 267, 12365}}, +{1488, 14, 4106, {1, 3, 1, 1, 21, 57, 99, 205, 119, 477, 1771, 1989, 2761, 12573}}, +{1489, 14, 4119, {1, 1, 3, 13, 1, 59, 93, 125, 279, 935, 1877, 2061, 4845, 7835}}, +{1490, 14, 4126, {1, 1, 7, 9, 7, 45, 69, 99, 273, 35, 1579, 2137, 7175, 6999}}, +{1491, 14, 4147, {1, 1, 7, 7, 29, 21, 127, 91, 9, 383, 787, 1783, 601, 5047}}, +{1492, 14, 4149, {1, 1, 7, 13, 7, 29, 35, 219, 43, 581, 2043, 2211, 6169, 12173}}, +{1493, 14, 4164, {1, 3, 5, 13, 29, 29, 39, 63, 411, 645, 415, 2383, 1989, 11411}}, +{1494, 14, 4174, {1, 1, 7, 9, 15, 9, 87, 95, 321, 709, 543, 3831, 2453, 4167}}, +{1495, 14, 4181, {1, 3, 1, 5, 31, 25, 5, 85, 239, 487, 1613, 3937, 4661, 3535}}, +{1496, 14, 4185, {1, 3, 5, 11, 27, 41, 3, 201, 39, 91, 1997, 237, 5639, 14703}}, +{1497, 14, 4188, {1, 1, 7, 3, 27, 49, 87, 71, 473, 247, 1007, 47, 475, 5413}}, +{1498, 14, 4202, {1, 3, 7, 15, 9, 57, 81, 149, 287, 333, 1911, 3417, 1081, 8995}}, +{1499, 14, 4228, {1, 1, 5, 1, 3, 63, 43, 151, 97, 431, 961, 1019, 5153, 2407}}, +{1500, 14, 4232, {1, 1, 5, 5, 27, 21, 127, 161, 507, 311, 129, 3489, 1133, 3241}}, +{1501, 14, 4246, {1, 3, 7, 15, 21, 33, 117, 83, 497, 667, 1399, 931, 1695, 8171}}, +{1502, 14, 4252, {1, 1, 1, 13, 3, 39, 53, 27, 193, 993, 671, 1871, 7579, 11457}}, +{1503, 14, 4256, {1, 1, 5, 11, 7, 39, 81, 107, 195, 387, 849, 395, 1317, 6487}}, +{1504, 14, 4286, {1, 3, 3, 3, 3, 15, 45, 127, 279, 111, 331, 357, 4637, 4697}}, +{1505, 14, 4303, {1, 1, 3, 9, 21, 49, 47, 97, 61, 101, 181, 1867, 1201, 14099}}, +{1506, 14, 4306, {1, 1, 5, 11, 25, 19, 51, 51, 101, 451, 545, 101, 7497, 9141}}, +{1507, 14, 4311, {1, 1, 1, 3, 13, 53, 119, 81, 377, 245, 765, 251, 3757, 16045}}, +{1508, 14, 4317, {1, 1, 1, 3, 5, 61, 65, 37, 331, 925, 1439, 3219, 2843, 11397}}, +{1509, 14, 4342, {1, 3, 5, 9, 23, 31, 95, 155, 83, 641, 1129, 135, 477, 1623}}, +{1510, 14, 4346, {1, 1, 3, 9, 9, 61, 93, 11, 331, 585, 799, 1417, 1533, 463}}, +{1511, 14, 4377, {1, 1, 7, 7, 21, 51, 61, 29, 467, 935, 11, 3357, 1087, 12337}}, +{1512, 14, 4401, {1, 3, 3, 11, 1, 39, 103, 153, 351, 893, 1823, 835, 2149, 4203}}, +{1513, 14, 4407, {1, 1, 1, 9, 31, 13, 61, 235, 369, 359, 835, 2067, 2697, 15289}}, +{1514, 14, 4414, {1, 1, 7, 1, 15, 1, 107, 27, 201, 451, 1521, 313, 3195, 3847}}, +{1515, 14, 4422, {1, 1, 5, 13, 1, 27, 63, 137, 355, 489, 2039, 1015, 2519, 13797}}, +{1516, 14, 4431, {1, 1, 7, 9, 29, 33, 23, 197, 49, 555, 1087, 3447, 7299, 15513}}, +{1517, 14, 4434, {1, 3, 5, 11, 7, 37, 55, 63, 443, 573, 1715, 631, 3405, 6155}}, +{1518, 14, 4436, {1, 3, 3, 3, 31, 35, 51, 167, 225, 617, 2007, 2555, 6819, 12709}}, +{1519, 14, 4443, {1, 1, 1, 13, 15, 5, 73, 85, 109, 43, 1067, 3941, 1125, 10269}}, +{1520, 14, 4459, {1, 1, 7, 11, 17, 3, 127, 145, 279, 19, 1007, 3287, 4751, 12507}}, +{1521, 14, 4461, {1, 3, 7, 3, 19, 1, 117, 111, 193, 435, 47, 1801, 529, 8547}}, +{1522, 14, 4462, {1, 3, 3, 13, 1, 19, 101, 19, 469, 187, 207, 1243, 8153, 3273}}, +{1523, 14, 4473, {1, 3, 1, 5, 11, 51, 69, 189, 453, 775, 241, 3331, 4067, 14759}}, +{1524, 14, 4497, {1, 1, 1, 1, 23, 55, 113, 133, 497, 731, 391, 2777, 3529, 955}}, +{1525, 14, 4504, {1, 3, 1, 11, 5, 49, 59, 35, 261, 949, 325, 3595, 7433, 11099}}, +{1526, 14, 4507, {1, 3, 5, 9, 13, 37, 103, 219, 329, 865, 1787, 2497, 7249, 9877}}, +{1527, 14, 4525, {1, 3, 7, 9, 11, 33, 19, 255, 191, 935, 1115, 1901, 1577, 9623}}, +{1528, 14, 4534, {1, 1, 5, 7, 29, 23, 77, 43, 283, 143, 1211, 73, 2835, 10235}}, +{1529, 14, 4538, {1, 1, 7, 3, 3, 27, 35, 173, 453, 425, 1225, 3023, 2159, 8433}}, +{1530, 14, 4548, {1, 1, 1, 5, 27, 21, 35, 25, 71, 145, 1545, 523, 4527, 7655}}, +{1531, 14, 4552, {1, 1, 5, 3, 13, 49, 61, 157, 113, 775, 763, 1785, 225, 11851}}, +{1532, 14, 4560, {1, 1, 3, 1, 31, 57, 97, 229, 291, 777, 213, 4067, 921, 8203}}, +{1533, 14, 4575, {1, 1, 5, 1, 25, 13, 125, 123, 263, 207, 119, 3111, 3841, 843}}, +{1534, 14, 4599, {1, 1, 7, 7, 25, 57, 81, 129, 31, 133, 1869, 2949, 5563, 14965}}, +{1535, 14, 4612, {1, 3, 3, 7, 3, 51, 33, 127, 281, 425, 1253, 405, 7941, 8799}}, +{1536, 14, 4619, {1, 1, 3, 9, 3, 63, 93, 173, 255, 609, 49, 111, 7785, 15865}}, +{1537, 14, 4640, {1, 1, 1, 3, 17, 59, 113, 55, 155, 789, 1335, 177, 3071, 1851}}, +{1538, 14, 4643, {1, 3, 7, 15, 15, 23, 35, 35, 131, 623, 47, 437, 1337, 9891}}, +{1539, 14, 4677, {1, 3, 7, 5, 29, 57, 39, 31, 111, 271, 59, 1473, 949, 3899}}, +{1540, 14, 4687, {1, 1, 3, 11, 17, 19, 41, 229, 259, 691, 1455, 3023, 7455, 9711}}, +{1541, 14, 4723, {1, 3, 5, 11, 29, 13, 9, 165, 499, 355, 1415, 1395, 7595, 15571}}, +{1542, 14, 4730, {1, 3, 1, 9, 5, 5, 25, 247, 185, 241, 1325, 3133, 7471, 2649}}, +{1543, 14, 4736, {1, 3, 3, 11, 17, 29, 57, 61, 51, 203, 993, 1837, 3785, 15163}}, +{1544, 14, 4741, {1, 1, 7, 7, 21, 57, 79, 165, 277, 133, 93, 1055, 7169, 15685}}, +{1545, 14, 4763, {1, 1, 5, 3, 5, 17, 25, 177, 95, 323, 367, 1359, 4915, 6409}}, +{1546, 14, 4765, {1, 1, 1, 1, 11, 25, 115, 45, 373, 221, 1483, 591, 6561, 4527}}, +{1547, 14, 4770, {1, 3, 5, 3, 5, 23, 69, 77, 313, 473, 1037, 4045, 3969, 5445}}, +{1548, 14, 4781, {1, 3, 1, 5, 1, 15, 73, 83, 439, 463, 203, 361, 6835, 1061}}, +{1549, 14, 4808, {1, 1, 3, 11, 21, 5, 89, 233, 405, 253, 773, 3901, 6085, 5677}}, +{1550, 14, 4822, {1, 1, 3, 9, 15, 53, 71, 29, 101, 599, 1073, 705, 4507, 12779}}, +{1551, 14, 4828, {1, 1, 3, 1, 3, 9, 27, 97, 207, 859, 417, 735, 2179, 5071}}, +{1552, 14, 4831, {1, 1, 1, 3, 13, 63, 65, 125, 195, 611, 649, 2221, 3143, 143}}, +{1553, 14, 4842, {1, 3, 3, 15, 17, 57, 99, 119, 243, 407, 1229, 813, 5245, 1893}}, +{1554, 14, 4855, {1, 1, 1, 5, 27, 27, 49, 13, 313, 287, 473, 2629, 3509, 11371}}, +{1555, 14, 4859, {1, 1, 7, 7, 23, 3, 75, 59, 245, 689, 1215, 2375, 3325, 1593}}, +{1556, 14, 4867, {1, 3, 1, 5, 21, 51, 43, 107, 91, 611, 1405, 677, 2087, 9565}}, +{1557, 14, 4870, {1, 3, 7, 11, 9, 27, 81, 101, 449, 201, 1507, 2217, 6767, 8059}}, +{1558, 14, 4881, {1, 1, 3, 9, 13, 41, 21, 195, 421, 315, 347, 2621, 2359, 9247}}, +{1559, 14, 4893, {1, 1, 5, 7, 31, 45, 77, 229, 455, 575, 1087, 1147, 2273, 13773}}, +{1560, 14, 4910, {1, 1, 1, 1, 9, 5, 87, 19, 207, 545, 1435, 495, 1299, 4947}}, +{1561, 14, 4917, {1, 1, 3, 3, 15, 9, 63, 67, 219, 735, 1911, 2361, 6503, 11977}}, +{1562, 14, 4929, {1, 3, 1, 9, 31, 27, 103, 153, 81, 939, 461, 2753, 697, 537}}, +{1563, 14, 4939, {1, 3, 3, 9, 21, 53, 49, 211, 415, 817, 321, 3775, 2921, 9473}}, +{1564, 14, 4947, {1, 1, 7, 3, 23, 55, 15, 51, 435, 1013, 73, 3967, 4575, 13099}}, +{1565, 14, 4949, {1, 1, 3, 7, 5, 27, 43, 225, 267, 21, 1261, 603, 6913, 4421}}, +{1566, 14, 4954, {1, 1, 7, 13, 25, 31, 101, 109, 237, 91, 1587, 1987, 2795, 6991}}, +{1567, 14, 4972, {1, 1, 3, 13, 23, 51, 91, 89, 287, 39, 1513, 463, 6135, 10469}}, +{1568, 14, 4975, {1, 3, 3, 1, 9, 43, 125, 157, 369, 495, 1849, 785, 6357, 6557}}, +{1569, 14, 5000, {1, 3, 1, 13, 5, 25, 107, 139, 367, 239, 1671, 1239, 7027, 5291}}, +{1570, 14, 5005, {1, 3, 5, 13, 11, 13, 35, 177, 45, 939, 251, 59, 333, 13105}}, +{1571, 14, 5029, {1, 3, 5, 7, 29, 57, 109, 227, 435, 739, 423, 1941, 3345, 12731}}, +{1572, 14, 5039, {1, 3, 3, 9, 23, 51, 19, 207, 69, 99, 955, 519, 7305, 2415}}, +{1573, 14, 5044, {1, 1, 5, 13, 17, 1, 67, 201, 61, 403, 1059, 2915, 2419, 12773}}, +{1574, 14, 5051, {1, 3, 1, 11, 17, 19, 25, 27, 207, 299, 143, 1955, 5669, 2301}}, +{1575, 14, 5056, {1, 1, 5, 3, 25, 57, 45, 255, 489, 1011, 1699, 2637, 5279, 12211}}, +{1576, 14, 5073, {1, 3, 3, 15, 7, 47, 113, 33, 511, 907, 1815, 1741, 2091, 13857}}, +{1577, 14, 5096, {1, 3, 3, 5, 5, 27, 95, 3, 353, 253, 947, 393, 1815, 14551}}, +{1578, 14, 5128, {1, 1, 5, 11, 29, 19, 63, 117, 293, 861, 2039, 9, 5999, 6909}}, +{1579, 14, 5134, {1, 3, 7, 3, 15, 63, 107, 173, 509, 817, 99, 2825, 131, 7917}}, +{1580, 14, 5161, {1, 3, 1, 1, 29, 49, 33, 153, 119, 777, 1315, 3581, 5675, 4043}}, +{1581, 14, 5179, {1, 3, 5, 15, 13, 11, 17, 147, 327, 305, 367, 3237, 5423, 13757}}, +{1582, 14, 5193, {1, 1, 5, 13, 1, 39, 35, 29, 25, 751, 1365, 2243, 8181, 7063}}, +{1583, 14, 5199, {1, 3, 7, 11, 25, 53, 11, 111, 289, 755, 1201, 691, 3679, 3725}}, +{1584, 14, 5202, {1, 1, 1, 11, 11, 37, 33, 211, 395, 691, 1817, 861, 6485, 12077}}, +{1585, 14, 5204, {1, 3, 3, 11, 21, 3, 111, 171, 305, 561, 1501, 2011, 7841, 10931}}, +{1586, 14, 5218, {1, 3, 7, 9, 9, 59, 109, 113, 31, 915, 103, 1861, 2779, 10619}}, +{1587, 14, 5247, {1, 1, 1, 1, 7, 25, 61, 97, 103, 723, 1145, 3105, 371, 339}}, +{1588, 14, 5260, {1, 1, 7, 13, 17, 9, 113, 51, 233, 209, 1117, 211, 6969, 2347}}, +{1589, 14, 5271, {1, 1, 5, 9, 25, 43, 21, 217, 327, 735, 197, 1063, 799, 801}}, +{1590, 14, 5301, {1, 1, 7, 13, 9, 13, 73, 33, 415, 923, 863, 1999, 5383, 8119}}, +{1591, 14, 5305, {1, 3, 1, 5, 7, 33, 51, 185, 289, 967, 1277, 1011, 767, 15505}}, +{1592, 14, 5319, {1, 3, 3, 13, 21, 11, 105, 235, 343, 1021, 2009, 2251, 3865, 6923}}, +{1593, 14, 5326, {1, 3, 5, 9, 29, 11, 33, 17, 149, 155, 1739, 3039, 7015, 2401}}, +{1594, 14, 5328, {1, 3, 7, 7, 17, 13, 89, 177, 297, 267, 545, 3861, 329, 13267}}, +{1595, 14, 5333, {1, 3, 5, 15, 27, 33, 1, 231, 181, 557, 447, 379, 7845, 1295}}, +{1596, 14, 5364, {1, 1, 5, 13, 3, 63, 59, 33, 263, 877, 1867, 1383, 641, 7139}}, +{1597, 14, 5376, {1, 3, 7, 5, 13, 51, 9, 113, 223, 605, 1189, 4063, 6925, 9563}}, +{1598, 14, 5399, {1, 1, 1, 13, 5, 35, 83, 107, 295, 231, 265, 5, 4087, 6407}}, +{1599, 14, 5416, {1, 1, 5, 1, 7, 25, 95, 137, 97, 987, 1753, 2781, 1369, 6903}}, +{1600, 14, 5421, {1, 1, 5, 13, 19, 61, 77, 229, 193, 165, 811, 249, 79, 10719}}, +{1601, 14, 5427, {1, 3, 7, 7, 27, 9, 119, 193, 459, 43, 1989, 2959, 3595, 6341}}, +{1602, 14, 5429, {1, 1, 5, 11, 5, 43, 35, 33, 25, 581, 897, 351, 4201, 3971}}, +{1603, 14, 5430, {1, 1, 7, 11, 21, 29, 53, 45, 359, 197, 313, 3825, 6717, 4077}}, +{1604, 14, 5434, {1, 1, 1, 15, 3, 45, 99, 133, 357, 315, 1159, 241, 2463, 11253}}, +{1605, 14, 5441, {1, 1, 7, 11, 9, 33, 111, 85, 443, 601, 447, 337, 6471, 7029}}, +{1606, 14, 5451, {1, 3, 7, 9, 13, 33, 25, 31, 9, 729, 1763, 4077, 7575, 7877}}, +{1607, 14, 5465, {1, 3, 5, 13, 13, 37, 29, 103, 53, 229, 591, 1073, 1323, 14405}}, +{1608, 14, 5466, {1, 1, 5, 1, 17, 33, 15, 183, 473, 297, 2003, 93, 4955, 1787}}, +{1609, 14, 5471, {1, 1, 5, 13, 5, 29, 113, 161, 267, 451, 1193, 149, 273, 11809}}, +{1610, 14, 5477, {1, 1, 1, 9, 17, 39, 47, 233, 165, 373, 955, 2891, 7523, 7235}}, +{1611, 14, 5492, {1, 1, 1, 3, 7, 21, 115, 205, 153, 449, 339, 2073, 1077, 5749}}, +{1612, 14, 5495, {1, 1, 7, 13, 9, 39, 117, 187, 37, 753, 227, 3519, 7391, 5751}}, +{1613, 14, 5505, {1, 1, 1, 9, 5, 19, 41, 161, 141, 195, 1719, 3321, 5, 12877}}, +{1614, 14, 5515, {1, 3, 7, 11, 21, 13, 83, 55, 299, 75, 1905, 3765, 4685, 12297}}, +{1615, 14, 5525, {1, 1, 7, 3, 3, 23, 111, 243, 187, 297, 1061, 2515, 977, 9555}}, +{1616, 14, 5529, {1, 3, 7, 3, 29, 11, 103, 177, 225, 875, 1649, 1401, 6383, 8309}}, +{1617, 14, 5532, {1, 3, 5, 3, 3, 41, 71, 3, 373, 757, 701, 2825, 1521, 13217}}, +{1618, 14, 5539, {1, 1, 5, 3, 11, 5, 103, 227, 209, 723, 1543, 3895, 6345, 7901}}, +{1619, 14, 5541, {1, 1, 5, 1, 9, 51, 77, 67, 359, 937, 557, 993, 3871, 3577}}, +{1620, 14, 5556, {1, 3, 7, 1, 1, 15, 121, 239, 29, 113, 1123, 3877, 6941, 14129}}, +{1621, 14, 5566, {1, 1, 5, 1, 27, 61, 83, 113, 185, 601, 947, 3933, 381, 13869}}, +{1622, 14, 5568, {1, 1, 5, 3, 5, 37, 97, 31, 81, 367, 747, 1811, 5313, 14151}}, +{1623, 14, 5574, {1, 3, 5, 9, 27, 61, 87, 31, 185, 521, 837, 959, 5001, 3957}}, +{1624, 14, 5595, {1, 3, 5, 3, 11, 61, 37, 19, 107, 749, 1345, 3829, 6701, 4315}}, +{1625, 14, 5602, {1, 3, 1, 15, 13, 45, 101, 113, 243, 963, 1861, 3283, 1419, 12131}}, +{1626, 14, 5611, {1, 1, 7, 1, 11, 63, 17, 117, 271, 819, 677, 669, 1991, 12511}}, +{1627, 14, 5616, {1, 1, 1, 13, 13, 33, 41, 73, 187, 537, 993, 3147, 1013, 16063}}, +{1628, 14, 5622, {1, 3, 1, 1, 25, 21, 107, 81, 117, 917, 113, 349, 4475, 9149}}, +{1629, 14, 5628, {1, 1, 1, 11, 21, 21, 29, 251, 125, 681, 141, 2893, 5843, 14359}}, +{1630, 14, 5655, {1, 3, 3, 1, 5, 41, 85, 163, 387, 29, 1593, 221, 2769, 10809}}, +{1631, 14, 5662, {1, 3, 5, 11, 1, 17, 69, 127, 273, 449, 1855, 2971, 7031, 10583}}, +{1632, 14, 5675, {1, 1, 5, 7, 1, 61, 9, 211, 123, 563, 111, 1883, 5801, 2191}}, +{1633, 14, 5689, {1, 1, 3, 11, 11, 51, 1, 81, 405, 803, 2017, 161, 5429, 731}}, +{1634, 14, 5722, {1, 1, 7, 9, 15, 55, 65, 51, 459, 485, 1539, 3135, 2929, 7867}}, +{1635, 14, 5724, {1, 1, 7, 11, 3, 45, 15, 7, 331, 417, 1813, 4009, 1341, 10965}}, +{1636, 14, 5728, {1, 1, 1, 5, 9, 29, 89, 121, 277, 509, 1989, 1293, 4787, 16097}}, +{1637, 14, 5731, {1, 1, 3, 9, 17, 45, 97, 197, 339, 943, 1377, 2947, 5833, 7}}, +{1638, 14, 5746, {1, 1, 7, 9, 15, 61, 75, 233, 401, 705, 825, 2521, 3787, 14387}}, +{1639, 14, 5764, {1, 1, 7, 15, 25, 57, 3, 43, 361, 459, 1551, 1859, 6787, 2293}}, +{1640, 14, 5771, {1, 3, 3, 11, 11, 35, 91, 65, 43, 509, 1829, 1149, 4801, 4109}}, +{1641, 14, 5781, {1, 3, 5, 9, 15, 3, 81, 109, 231, 481, 417, 2505, 315, 6693}}, +{1642, 14, 5801, {1, 1, 3, 9, 3, 7, 107, 221, 297, 543, 149, 579, 927, 79}}, +{1643, 14, 5809, {1, 3, 1, 11, 17, 3, 81, 137, 157, 587, 741, 1277, 2631, 3953}}, +{1644, 14, 5810, {1, 1, 7, 5, 13, 43, 117, 19, 495, 185, 1105, 605, 5249, 11099}}, +{1645, 14, 5812, {1, 1, 7, 9, 23, 55, 91, 213, 21, 779, 857, 2047, 7813, 10053}}, +{1646, 14, 5841, {1, 1, 1, 1, 27, 7, 39, 181, 63, 519, 1073, 3147, 4111, 363}}, +{1647, 14, 5848, {1, 3, 7, 9, 15, 61, 7, 139, 495, 805, 1545, 3789, 2411, 3989}}, +{1648, 14, 5853, {1, 1, 3, 1, 25, 11, 23, 241, 167, 607, 479, 153, 7787, 13929}}, +{1649, 14, 5854, {1, 3, 5, 15, 29, 35, 45, 71, 457, 297, 883, 3021, 5361, 15427}}, +{1650, 14, 5858, {1, 3, 1, 7, 29, 27, 93, 241, 427, 89, 1185, 37, 3863, 14095}}, +{1651, 14, 5892, {1, 3, 1, 5, 5, 45, 51, 15, 235, 889, 1649, 2331, 2713, 10943}}, +{1652, 14, 5907, {1, 1, 3, 11, 11, 15, 71, 85, 135, 163, 139, 1147, 1043, 3195}}, +{1653, 14, 5910, {1, 3, 5, 13, 3, 43, 71, 131, 473, 933, 569, 2491, 7751, 1865}}, +{1654, 14, 5913, {1, 1, 7, 9, 21, 37, 105, 227, 329, 509, 1319, 307, 1557, 14625}}, +{1655, 14, 5920, {1, 1, 3, 13, 15, 1, 25, 93, 335, 953, 769, 4039, 369, 10727}}, +{1656, 14, 5929, {1, 3, 7, 5, 17, 21, 59, 89, 437, 679, 437, 1543, 7663, 5005}}, +{1657, 14, 5949, {1, 1, 7, 15, 27, 49, 125, 13, 397, 877, 1087, 2191, 4711, 9065}}, +{1658, 14, 5952, {1, 1, 7, 5, 15, 47, 115, 125, 187, 31, 1003, 2575, 5397, 3883}}, +{1659, 14, 5955, {1, 1, 7, 11, 15, 1, 127, 207, 383, 707, 183, 1053, 3123, 14071}}, +{1660, 14, 5962, {1, 3, 3, 1, 31, 53, 15, 19, 477, 245, 777, 1613, 5813, 7443}}, +{1661, 14, 5975, {1, 3, 1, 11, 23, 59, 65, 23, 493, 157, 1389, 2833, 4535, 3907}}, +{1662, 14, 5985, {1, 1, 7, 1, 19, 7, 51, 135, 327, 441, 1841, 3091, 3451, 14381}}, +{1663, 14, 5997, {1, 1, 7, 7, 3, 37, 29, 249, 437, 319, 1693, 945, 7639, 5923}}, +{1664, 14, 5998, {1, 3, 7, 15, 7, 61, 81, 127, 383, 99, 23, 3833, 3973, 7651}}, +{1665, 14, 6012, {1, 3, 1, 7, 7, 21, 119, 185, 243, 619, 1363, 2033, 4835, 5089}}, +{1666, 14, 6016, {1, 3, 1, 1, 3, 27, 63, 145, 271, 735, 695, 3981, 3049, 5433}}, +{1667, 14, 6026, {1, 3, 3, 1, 3, 29, 79, 211, 279, 819, 501, 3665, 1455, 10455}}, +{1668, 14, 6036, {1, 1, 3, 3, 31, 61, 113, 5, 411, 91, 489, 3257, 5939, 6715}}, +{1669, 14, 6040, {1, 1, 5, 1, 23, 11, 103, 89, 377, 441, 43, 967, 3383, 8717}}, +{1670, 14, 6045, {1, 1, 5, 13, 29, 39, 97, 189, 197, 621, 1755, 333, 6783, 9711}}, +{1671, 14, 6055, {1, 1, 5, 13, 27, 17, 97, 197, 351, 799, 335, 765, 5329, 12549}}, +{1672, 14, 6059, {1, 1, 5, 11, 29, 17, 9, 211, 127, 633, 1187, 3965, 4145, 12667}}, +{1673, 14, 6088, {1, 1, 7, 5, 27, 29, 65, 115, 287, 325, 461, 5, 899, 2027}}, +{1674, 14, 6115, {1, 1, 1, 5, 27, 17, 31, 13, 231, 627, 1163, 649, 1693, 9975}}, +{1675, 14, 6124, {1, 3, 1, 15, 7, 49, 113, 123, 427, 603, 347, 2785, 7129, 4645}}, +{1676, 14, 6127, {1, 1, 3, 7, 1, 33, 113, 105, 411, 939, 205, 3965, 4361, 4649}}, +{1677, 14, 6132, {1, 1, 1, 1, 5, 21, 35, 159, 275, 929, 1193, 3205, 4787, 3515}}, +{1678, 14, 6146, {1, 1, 1, 5, 1, 21, 29, 191, 275, 233, 1239, 515, 4349, 14989}}, +{1679, 14, 6158, {1, 1, 5, 11, 27, 43, 111, 83, 153, 577, 1537, 149, 231, 839}}, +{1680, 14, 6169, {1, 3, 5, 13, 21, 19, 57, 69, 87, 163, 271, 3535, 1057, 8517}}, +{1681, 14, 6206, {1, 3, 3, 13, 17, 49, 65, 45, 457, 241, 391, 2033, 2507, 7771}}, +{1682, 14, 6228, {1, 1, 5, 7, 11, 19, 79, 133, 341, 761, 27, 3905, 4137, 14363}}, +{1683, 14, 6237, {1, 3, 3, 13, 19, 1, 11, 139, 249, 245, 1393, 2151, 2857, 1665}}, +{1684, 14, 6244, {1, 1, 3, 15, 11, 7, 127, 47, 385, 1007, 713, 2235, 5489, 8755}}, +{1685, 14, 6247, {1, 3, 5, 13, 19, 21, 21, 167, 405, 655, 1653, 889, 7367, 4177}}, +{1686, 14, 6256, {1, 1, 5, 3, 19, 63, 99, 39, 89, 415, 951, 2863, 6569, 3797}}, +{1687, 14, 6281, {1, 1, 1, 13, 31, 29, 119, 35, 311, 839, 1749, 941, 7487, 2385}}, +{1688, 14, 6282, {1, 3, 7, 3, 17, 3, 97, 143, 465, 345, 1457, 2201, 5329, 359}}, +{1689, 14, 6284, {1, 3, 7, 11, 1, 15, 3, 115, 335, 567, 1749, 1811, 3491, 15939}}, +{1690, 14, 6296, {1, 1, 3, 13, 3, 21, 7, 141, 149, 571, 1877, 473, 2143, 9569}}, +{1691, 14, 6299, {1, 3, 3, 11, 23, 61, 47, 179, 297, 453, 181, 3405, 2981, 13409}}, +{1692, 14, 6302, {1, 3, 1, 13, 1, 43, 5, 201, 371, 1003, 367, 2709, 7675, 14973}}, +{1693, 14, 6325, {1, 3, 3, 15, 29, 17, 19, 241, 495, 317, 1135, 2227, 6457, 4783}}, +{1694, 14, 6349, {1, 3, 3, 7, 29, 9, 57, 95, 261, 531, 1717, 3389, 7991, 3793}}, +{1695, 14, 6352, {1, 1, 1, 5, 31, 43, 73, 119, 499, 589, 1529, 3337, 4097, 15641}}, +{1696, 14, 6362, {1, 1, 7, 9, 29, 43, 127, 91, 243, 979, 1325, 2835, 2787, 9445}}, +{1697, 14, 6383, {1, 1, 7, 5, 9, 3, 115, 199, 219, 901, 747, 1077, 3197, 2443}}, +{1698, 14, 6386, {1, 3, 5, 1, 3, 43, 7, 117, 297, 313, 1043, 1579, 5099, 13289}}, +{1699, 14, 6395, {1, 1, 7, 11, 29, 33, 15, 121, 131, 579, 317, 1871, 1121, 11653}}, +{1700, 14, 6397, {1, 1, 5, 9, 25, 25, 43, 89, 355, 1011, 1385, 2901, 6387, 1653}}, +{1701, 14, 6415, {1, 1, 1, 9, 5, 47, 61, 165, 85, 757, 1397, 1177, 1657, 4899}}, +{1702, 14, 6424, {1, 1, 3, 9, 11, 49, 15, 139, 261, 613, 931, 1299, 2777, 2835}}, +{1703, 14, 6429, {1, 1, 1, 5, 3, 55, 83, 227, 125, 581, 1607, 1171, 6681, 14463}}, +{1704, 14, 6439, {1, 3, 5, 13, 5, 55, 3, 247, 493, 155, 1073, 3743, 5719, 4019}}, +{1705, 14, 6451, {1, 1, 7, 1, 11, 23, 13, 75, 399, 847, 499, 1643, 6977, 3699}}, +{1706, 14, 6489, {1, 3, 1, 9, 11, 41, 47, 131, 313, 627, 481, 2469, 3281, 979}}, +{1707, 14, 6496, {1, 3, 5, 13, 29, 3, 65, 101, 11, 29, 1807, 153, 1487, 16109}}, +{1708, 14, 6502, {1, 1, 5, 9, 13, 31, 83, 195, 351, 355, 467, 3871, 3085, 4441}}, +{1709, 14, 6511, {1, 3, 5, 3, 19, 21, 111, 179, 143, 361, 1619, 1547, 3409, 6905}}, +{1710, 14, 6514, {1, 1, 5, 9, 31, 1, 93, 199, 491, 135, 1627, 2559, 1389, 14561}}, +{1711, 14, 6520, {1, 3, 3, 9, 25, 53, 3, 105, 39, 445, 259, 1045, 1129, 9153}}, +{1712, 14, 6523, {1, 1, 5, 9, 19, 63, 71, 9, 73, 435, 1377, 4015, 1821, 6453}}, +{1713, 14, 6529, {1, 3, 7, 13, 19, 13, 37, 247, 391, 23, 1491, 1257, 6395, 237}}, +{1714, 14, 6532, {1, 1, 3, 3, 19, 55, 109, 23, 227, 747, 729, 2221, 727, 2209}}, +{1715, 14, 6547, {1, 1, 5, 11, 25, 21, 75, 37, 219, 355, 1005, 1895, 7039, 5225}}, +{1716, 14, 6549, {1, 3, 5, 13, 11, 43, 9, 67, 87, 797, 1077, 245, 4521, 11845}}, +{1717, 14, 6598, {1, 3, 5, 3, 15, 29, 127, 237, 277, 373, 1859, 3083, 587, 1123}}, +{1718, 14, 6601, {1, 1, 7, 15, 13, 7, 103, 53, 13, 965, 1497, 775, 3439, 1501}}, +{1719, 14, 6610, {1, 3, 3, 15, 17, 13, 97, 169, 67, 953, 189, 2739, 1459, 10543}}, +{1720, 14, 6622, {1, 1, 5, 1, 17, 39, 15, 127, 327, 989, 1471, 3235, 2801, 15311}}, +{1721, 14, 6632, {1, 1, 1, 15, 5, 37, 55, 155, 47, 463, 1851, 3467, 2765, 9359}}, +{1722, 14, 6655, {1, 3, 3, 15, 1, 13, 93, 239, 291, 115, 365, 61, 395, 15853}}, +{1723, 14, 6665, {1, 1, 5, 1, 19, 27, 61, 95, 105, 369, 1557, 961, 6917, 3621}}, +{1724, 14, 6666, {1, 3, 3, 9, 7, 35, 115, 53, 111, 345, 1145, 1687, 3401, 12107}}, +{1725, 14, 6695, {1, 1, 1, 5, 7, 31, 63, 19, 373, 79, 1369, 3037, 2835, 4439}}, +{1726, 14, 6701, {1, 3, 7, 9, 11, 17, 29, 33, 331, 447, 1981, 3333, 6535, 6557}}, +{1727, 14, 6709, {1, 3, 3, 5, 11, 41, 29, 43, 365, 279, 1919, 945, 179, 1987}}, +{1728, 14, 6710, {1, 3, 1, 13, 7, 7, 25, 33, 103, 367, 1267, 763, 5691, 8643}}, +{1729, 14, 6741, {1, 3, 1, 5, 11, 15, 3, 213, 511, 211, 1069, 4047, 3335, 12729}}, +{1730, 14, 6745, {1, 1, 3, 1, 5, 11, 27, 201, 361, 537, 679, 3709, 293, 2997}}, +{1731, 14, 6758, {1, 1, 3, 1, 25, 15, 19, 185, 369, 577, 1625, 655, 2363, 3861}}, +{1732, 14, 6767, {1, 1, 5, 5, 1, 47, 61, 45, 411, 597, 955, 1007, 3775, 5809}}, +{1733, 14, 6772, {1, 1, 5, 3, 27, 51, 101, 167, 429, 333, 1703, 3541, 2947, 3695}}, +{1734, 14, 6782, {1, 3, 5, 5, 1, 53, 17, 63, 141, 215, 1223, 3129, 635, 15919}}, +{1735, 14, 6797, {1, 3, 3, 1, 23, 31, 25, 11, 195, 241, 995, 3941, 573, 13855}}, +{1736, 14, 6800, {1, 3, 3, 7, 17, 13, 71, 203, 465, 479, 1857, 1493, 8067, 7113}}, +{1737, 14, 6843, {1, 1, 5, 3, 11, 57, 9, 59, 225, 691, 425, 2423, 6031, 6631}}, +{1738, 14, 6845, {1, 3, 7, 1, 29, 57, 103, 123, 401, 807, 471, 2759, 5113, 15937}}, +{1739, 14, 6860, {1, 3, 1, 1, 3, 1, 67, 123, 157, 655, 519, 323, 1853, 15041}}, +{1740, 14, 6865, {1, 1, 7, 5, 11, 11, 105, 135, 247, 689, 1141, 2347, 7113, 9347}}, +{1741, 14, 6878, {1, 1, 3, 11, 15, 37, 87, 3, 209, 575, 1521, 3863, 3893, 211}}, +{1742, 14, 6887, {1, 3, 1, 3, 29, 55, 115, 31, 19, 195, 985, 3275, 363, 9801}}, +{1743, 14, 6888, {1, 1, 3, 9, 13, 31, 57, 251, 201, 275, 1751, 389, 1463, 13159}}, +{1744, 14, 6901, {1, 3, 5, 15, 19, 51, 127, 255, 397, 243, 29, 3007, 7845, 4687}}, +{1745, 14, 6906, {1, 1, 7, 15, 9, 37, 39, 217, 509, 137, 1123, 3361, 6323, 5323}}, +{1746, 14, 6940, {1, 3, 7, 5, 25, 3, 93, 203, 345, 581, 261, 2811, 4829, 6977}}, +{1747, 14, 6947, {1, 1, 7, 1, 15, 41, 51, 227, 447, 893, 1209, 3865, 5229, 4277}}, +{1748, 14, 6953, {1, 1, 1, 5, 31, 19, 23, 195, 359, 853, 595, 337, 2503, 16371}}, +{1749, 14, 6954, {1, 3, 7, 5, 5, 13, 89, 157, 351, 777, 151, 3565, 4219, 7423}}, +{1750, 14, 6959, {1, 1, 1, 5, 7, 1, 9, 89, 175, 909, 1523, 2295, 7949, 6739}}, +{1751, 14, 6961, {1, 3, 5, 15, 27, 17, 11, 235, 19, 105, 457, 465, 3819, 11335}}, +{1752, 14, 6964, {1, 3, 1, 13, 3, 41, 85, 221, 451, 613, 543, 2265, 6831, 1725}}, +{1753, 14, 6991, {1, 1, 7, 7, 3, 29, 9, 197, 455, 665, 343, 1811, 5395, 393}}, +{1754, 14, 6993, {1, 1, 3, 13, 29, 55, 71, 95, 475, 615, 2029, 123, 413, 16127}}, +{1755, 14, 6999, {1, 1, 5, 9, 15, 61, 9, 51, 105, 271, 511, 2801, 693, 11839}}, +{1756, 14, 7016, {1, 1, 7, 13, 29, 9, 105, 59, 377, 635, 717, 4033, 6963, 10541}}, +{1757, 14, 7029, {1, 1, 1, 13, 7, 13, 59, 17, 335, 355, 77, 3665, 7003, 9521}}, +{1758, 14, 7036, {1, 3, 1, 1, 23, 43, 51, 209, 151, 365, 1021, 2859, 3937, 2899}}, +{1759, 14, 7045, {1, 1, 3, 3, 31, 41, 111, 107, 171, 433, 1233, 505, 2971, 6927}}, +{1760, 14, 7076, {1, 3, 7, 13, 17, 25, 127, 195, 257, 551, 1867, 2145, 3695, 14567}}, +{1761, 14, 7083, {1, 1, 5, 13, 13, 45, 39, 195, 55, 991, 1981, 1043, 5875, 581}}, +{1762, 14, 7094, {1, 3, 3, 11, 25, 31, 91, 153, 415, 449, 1301, 563, 7755, 10671}}, +{1763, 14, 7097, {1, 1, 3, 5, 31, 63, 1, 157, 229, 949, 971, 137, 6589, 8387}}, +{1764, 14, 7123, {1, 3, 7, 15, 25, 7, 89, 133, 73, 497, 1361, 613, 455, 1005}}, +{1765, 14, 7130, {1, 3, 3, 1, 13, 5, 119, 93, 175, 511, 1923, 763, 7573, 7545}}, +{1766, 14, 7139, {1, 1, 3, 15, 27, 59, 49, 205, 497, 485, 117, 2523, 4495, 15153}}, +{1767, 14, 7145, {1, 3, 7, 9, 15, 47, 111, 31, 363, 11, 475, 2931, 6813, 1259}}, +{1768, 14, 7146, {1, 1, 5, 5, 1, 35, 95, 225, 17, 991, 809, 2601, 6455, 13803}}, +{1769, 14, 7178, {1, 1, 5, 5, 15, 1, 1, 171, 433, 887, 1813, 3431, 2471, 7803}}, +{1770, 14, 7186, {1, 3, 3, 15, 1, 15, 43, 179, 15, 949, 1881, 1027, 6989, 8955}}, +{1771, 14, 7192, {1, 3, 7, 13, 1, 3, 49, 183, 373, 175, 1733, 913, 929, 1065}}, +{1772, 14, 7198, {1, 3, 5, 7, 15, 51, 107, 115, 323, 357, 167, 2069, 7541, 9601}}, +{1773, 14, 7222, {1, 1, 3, 5, 5, 21, 31, 107, 21, 299, 1937, 43, 3673, 8155}}, +{1774, 14, 7269, {1, 3, 5, 11, 9, 55, 35, 113, 29, 99, 161, 1607, 8141, 4951}}, +{1775, 14, 7270, {1, 3, 7, 15, 25, 7, 113, 179, 213, 19, 1717, 1027, 2021, 11263}}, +{1776, 14, 7276, {1, 1, 5, 1, 31, 33, 85, 111, 67, 95, 2013, 2217, 871, 5329}}, +{1777, 14, 7287, {1, 1, 1, 7, 7, 63, 67, 145, 495, 419, 1945, 3437, 6255, 151}}, +{1778, 14, 7307, {1, 3, 5, 7, 17, 37, 97, 187, 215, 399, 1603, 2195, 5923, 769}}, +{1779, 14, 7315, {1, 1, 3, 9, 25, 1, 119, 193, 385, 861, 2005, 2769, 675, 767}}, +{1780, 14, 7334, {1, 3, 1, 15, 19, 7, 5, 227, 173, 383, 289, 461, 579, 3689}}, +{1781, 14, 7340, {1, 3, 1, 11, 1, 37, 93, 239, 465, 891, 1479, 921, 4439, 15265}}, +{1782, 14, 7351, {1, 1, 1, 13, 27, 61, 99, 69, 279, 655, 1853, 1593, 6319, 9003}}, +{1783, 14, 7352, {1, 1, 1, 11, 5, 7, 19, 7, 387, 303, 321, 931, 5809, 16029}}, +{1784, 14, 7357, {1, 1, 1, 15, 21, 55, 43, 107, 217, 687, 19, 3225, 3419, 9991}}, +{1785, 14, 7360, {1, 1, 7, 5, 7, 55, 79, 41, 317, 357, 859, 1205, 191, 9395}}, +{1786, 14, 7363, {1, 1, 3, 11, 3, 43, 7, 133, 115, 995, 1205, 1055, 4153, 10481}}, +{1787, 14, 7384, {1, 1, 7, 11, 31, 57, 53, 9, 459, 223, 1969, 3513, 7033, 8505}}, +{1788, 14, 7396, {1, 1, 3, 7, 17, 11, 115, 255, 281, 97, 1685, 2039, 2845, 11637}}, +{1789, 14, 7403, {1, 3, 7, 1, 23, 41, 69, 199, 53, 105, 657, 1453, 4429, 1101}}, +{1790, 14, 7406, {1, 3, 1, 5, 11, 33, 91, 131, 191, 73, 823, 117, 1053, 127}}, +{1791, 14, 7425, {1, 3, 7, 11, 7, 3, 21, 65, 187, 103, 1393, 1797, 6673, 1409}}, +{1792, 14, 7437, {1, 3, 7, 1, 31, 25, 25, 161, 299, 275, 417, 2267, 6861, 1255}}, +{1793, 14, 7445, {1, 3, 5, 13, 5, 11, 61, 155, 115, 1001, 747, 889, 3235, 5709}}, +{1794, 14, 7450, {1, 3, 7, 7, 7, 1, 97, 177, 507, 273, 1781, 3455, 5123, 15607}}, +{1795, 14, 7455, {1, 1, 7, 5, 1, 7, 59, 49, 147, 343, 97, 3517, 5611, 8705}}, +{1796, 14, 7461, {1, 1, 5, 13, 21, 29, 13, 21, 503, 515, 1217, 3905, 5513, 15849}}, +{1797, 14, 7466, {1, 3, 1, 9, 9, 39, 65, 111, 385, 757, 583, 2225, 2039, 2817}}, +{1798, 14, 7488, {1, 3, 3, 15, 23, 17, 63, 169, 503, 949, 849, 461, 6799, 669}}, +{1799, 14, 7494, {1, 1, 1, 3, 1, 41, 63, 159, 251, 457, 521, 1653, 623, 3287}}, +{1800, 14, 7515, {1, 1, 7, 3, 9, 1, 41, 37, 441, 921, 1415, 2955, 5841, 1451}}, +{1801, 14, 7517, {1, 1, 5, 11, 23, 29, 89, 185, 413, 357, 1131, 2369, 3835, 6233}}, +{1802, 14, 7521, {1, 1, 5, 15, 27, 35, 17, 73, 315, 911, 1761, 797, 5349, 3219}}, +{1803, 14, 7536, {1, 3, 7, 11, 21, 9, 119, 233, 249, 901, 189, 3625, 2691, 16201}}, +{1804, 14, 7546, {1, 3, 3, 13, 29, 61, 105, 145, 187, 79, 609, 321, 4289, 3933}}, +{1805, 14, 7569, {1, 3, 1, 15, 19, 63, 13, 185, 115, 219, 1021, 1205, 4273, 11521}}, +{1806, 14, 7591, {1, 1, 3, 3, 23, 31, 93, 153, 87, 947, 1039, 469, 4047, 8869}}, +{1807, 14, 7592, {1, 1, 1, 1, 9, 1, 85, 3, 15, 995, 455, 2769, 6781, 16203}}, +{1808, 14, 7598, {1, 1, 3, 3, 13, 7, 55, 215, 185, 367, 765, 441, 4497, 1521}}, +{1809, 14, 7612, {1, 1, 1, 5, 1, 31, 13, 95, 417, 735, 975, 3407, 4871, 16133}}, +{1810, 14, 7623, {1, 1, 3, 3, 5, 43, 111, 107, 419, 515, 1075, 3597, 1187, 4143}}, +{1811, 14, 7632, {1, 1, 3, 13, 31, 51, 83, 163, 489, 887, 863, 599, 9, 13861}}, +{1812, 14, 7637, {1, 3, 3, 3, 19, 27, 91, 115, 103, 969, 593, 3667, 1867, 15433}}, +{1813, 14, 7644, {1, 3, 3, 13, 7, 25, 47, 141, 57, 553, 1785, 1709, 7453, 2209}}, +{1814, 14, 7657, {1, 3, 1, 13, 11, 13, 71, 219, 5, 451, 2043, 1605, 6439, 12203}}, +{1815, 14, 7665, {1, 3, 1, 13, 5, 57, 61, 223, 401, 413, 321, 1365, 619, 12477}}, +{1816, 14, 7672, {1, 3, 1, 5, 25, 57, 89, 211, 195, 455, 1165, 3979, 6313, 5751}}, +{1817, 14, 7682, {1, 1, 1, 9, 31, 23, 71, 145, 89, 285, 1593, 1171, 5685, 15459}}, +{1818, 14, 7699, {1, 3, 7, 7, 9, 41, 65, 251, 65, 137, 1577, 3027, 5555, 2865}}, +{1819, 14, 7702, {1, 1, 5, 13, 27, 5, 125, 21, 171, 647, 983, 2921, 6623, 5695}}, +{1820, 14, 7724, {1, 1, 1, 13, 15, 9, 117, 197, 123, 953, 1191, 3657, 5757, 15957}}, +{1821, 14, 7749, {1, 1, 3, 7, 29, 13, 5, 175, 395, 127, 679, 255, 6055, 7639}}, +{1822, 14, 7753, {1, 3, 7, 15, 15, 51, 77, 147, 319, 147, 1775, 3983, 3175, 5723}}, +{1823, 14, 7754, {1, 3, 3, 3, 7, 11, 119, 41, 43, 153, 975, 679, 3081, 10359}}, +{1824, 14, 7761, {1, 1, 5, 13, 3, 7, 65, 67, 63, 399, 1561, 2789, 2083, 12289}}, +{1825, 14, 7771, {1, 1, 7, 3, 19, 53, 103, 67, 35, 865, 161, 93, 2533, 3851}}, +{1826, 14, 7777, {1, 1, 1, 11, 31, 9, 29, 189, 199, 817, 1571, 395, 345, 3777}}, +{1827, 14, 7784, {1, 3, 5, 11, 31, 3, 9, 67, 277, 735, 181, 2777, 3009, 7233}}, +{1828, 14, 7804, {1, 1, 3, 3, 17, 7, 17, 3, 375, 933, 237, 3919, 5409, 3355}}, +{1829, 14, 7807, {1, 3, 3, 5, 9, 27, 19, 77, 221, 3, 1965, 309, 3001, 15977}}, +{1830, 14, 7808, {1, 1, 5, 1, 3, 33, 35, 133, 37, 709, 627, 1705, 2525, 4307}}, +{1831, 14, 7818, {1, 1, 7, 3, 25, 21, 105, 55, 375, 681, 881, 1299, 5879, 459}}, +{1832, 14, 7835, {1, 3, 7, 1, 13, 7, 113, 103, 313, 515, 1041, 3683, 4619, 5093}}, +{1833, 14, 7842, {1, 1, 3, 7, 19, 43, 83, 37, 39, 133, 1759, 1171, 1521, 13717}}, +{1834, 14, 7865, {1, 1, 7, 13, 7, 35, 15, 155, 293, 1001, 157, 3883, 405, 1797}}, +{1835, 14, 7868, {1, 1, 3, 3, 13, 19, 125, 49, 333, 387, 339, 1815, 4503, 7359}}, +{1836, 14, 7880, {1, 1, 3, 13, 19, 19, 105, 225, 151, 27, 1251, 885, 4815, 7863}}, +{1837, 14, 7883, {1, 1, 1, 5, 7, 59, 17, 145, 77, 117, 1355, 1429, 2301, 16177}}, +{1838, 14, 7891, {1, 3, 3, 13, 5, 31, 119, 167, 459, 727, 1799, 2537, 695, 13637}}, +{1839, 14, 7897, {1, 3, 3, 3, 27, 51, 107, 85, 267, 57, 1279, 823, 6247, 3603}}, +{1840, 14, 7907, {1, 1, 7, 15, 29, 17, 67, 197, 215, 465, 109, 3461, 5269, 15287}}, +{1841, 14, 7910, {1, 1, 3, 5, 11, 15, 123, 53, 293, 797, 1105, 1777, 6509, 217}}, +{1842, 14, 7924, {1, 3, 3, 13, 3, 5, 109, 53, 203, 693, 871, 135, 369, 11149}}, +{1843, 14, 7933, {1, 3, 5, 15, 17, 43, 81, 235, 119, 817, 1777, 261, 8049, 4251}}, +{1844, 14, 7934, {1, 1, 3, 7, 7, 13, 87, 99, 481, 931, 1507, 651, 5267, 8281}}, +{1845, 14, 7942, {1, 3, 1, 13, 27, 43, 77, 225, 341, 163, 933, 429, 4943, 7781}}, +{1846, 14, 7948, {1, 1, 7, 1, 1, 49, 85, 211, 449, 479, 1395, 787, 5653, 14891}}, +{1847, 14, 7959, {1, 1, 5, 9, 25, 13, 49, 85, 125, 85, 1281, 3365, 4305, 11791}}, +{1848, 14, 7984, {1, 3, 1, 13, 3, 31, 117, 39, 43, 151, 663, 669, 1571, 5207}}, +{1849, 14, 7994, {1, 3, 7, 15, 17, 7, 79, 163, 37, 841, 1799, 1787, 4501, 3785}}, +{1850, 14, 7999, {1, 1, 3, 9, 1, 23, 67, 191, 449, 931, 1521, 2705, 887, 7037}}, +{1851, 14, 8014, {1, 1, 1, 1, 5, 13, 55, 161, 419, 577, 1703, 2589, 2651, 2873}}, +{1852, 14, 8021, {1, 3, 3, 3, 5, 19, 37, 169, 69, 1003, 1755, 3101, 1469, 8583}}, +{1853, 14, 8041, {1, 1, 1, 1, 11, 33, 105, 79, 283, 91, 299, 835, 3193, 5593}}, +{1854, 14, 8049, {1, 3, 3, 13, 25, 21, 81, 213, 465, 475, 331, 457, 61, 9511}}, +{1855, 14, 8050, {1, 1, 3, 11, 1, 11, 77, 95, 455, 949, 1999, 1833, 1275, 5631}}, +{1856, 14, 8068, {1, 1, 1, 1, 15, 25, 51, 137, 275, 451, 1179, 3595, 5177, 7105}}, +{1857, 14, 8080, {1, 3, 3, 3, 3, 59, 79, 143, 393, 583, 349, 3039, 7079, 14245}}, +{1858, 14, 8095, {1, 1, 7, 9, 21, 11, 123, 105, 53, 297, 803, 4025, 5421, 14527}}, +{1859, 14, 8102, {1, 3, 7, 11, 21, 15, 103, 109, 311, 321, 1217, 2777, 5457, 1823}}, +{1860, 14, 8106, {1, 3, 5, 11, 19, 31, 79, 89, 295, 413, 817, 499, 3699, 14411}}, +{1861, 14, 8120, {1, 1, 1, 5, 11, 3, 81, 13, 315, 841, 1543, 411, 6883, 6347}}, +{1862, 14, 8133, {1, 3, 3, 11, 23, 43, 23, 131, 17, 517, 995, 2687, 7443, 15085}}, +{1863, 14, 8134, {1, 1, 1, 1, 11, 57, 73, 9, 123, 905, 1763, 1789, 3701, 7131}}, +{1864, 14, 8143, {1, 1, 3, 5, 9, 53, 99, 229, 43, 207, 625, 1583, 6727, 15249}}, +{1865, 14, 8162, {1, 1, 7, 7, 17, 39, 91, 1, 297, 711, 225, 513, 7391, 291}}, +{1866, 14, 8168, {1, 1, 7, 11, 7, 55, 111, 129, 423, 521, 1807, 3015, 1449, 12321}}, +{1867, 14, 8179, {1, 3, 7, 3, 13, 9, 125, 187, 11, 485, 647, 275, 3495, 11989}}, +{1868, 15, 1, {1, 1, 3, 11, 11, 25, 49, 33, 361, 105, 271, 3841, 4837, 2437, 30181}}, +{1869, 15, 8, {1, 3, 5, 1, 27, 15, 119, 35, 159, 273, 1489, 3157, 5433, 3337, 26859}}, +{1870, 15, 11, {1, 3, 5, 13, 23, 31, 97, 145, 41, 605, 1455, 59, 5389, 5527, 14447}}, +{1871, 15, 22, {1, 1, 7, 9, 7, 41, 61, 193, 353, 879, 1805, 581, 5447, 11177, 7331}}, +{1872, 15, 26, {1, 1, 7, 11, 29, 19, 55, 207, 361, 759, 63, 2255, 2119, 14671, 21783}}, +{1873, 15, 47, {1, 3, 1, 13, 17, 7, 73, 179, 103, 23, 917, 1205, 4925, 1691, 5419}}, +{1874, 15, 59, {1, 3, 5, 3, 15, 3, 9, 109, 227, 861, 867, 3529, 1535, 489, 22873}}, +{1875, 15, 64, {1, 3, 3, 9, 15, 15, 95, 193, 385, 997, 1525, 1865, 1425, 4079, 14771}}, +{1876, 15, 67, {1, 1, 3, 5, 5, 29, 49, 171, 171, 623, 1167, 3743, 1809, 12009, 7043}}, +{1877, 15, 73, {1, 3, 7, 5, 23, 11, 87, 183, 299, 555, 1857, 489, 3505, 9161, 28763}}, +{1878, 15, 82, {1, 3, 5, 9, 19, 21, 85, 127, 337, 439, 1183, 1891, 1877, 4373, 10451}}, +{1879, 15, 97, {1, 3, 7, 13, 27, 17, 29, 83, 463, 385, 1167, 3453, 4523, 4759, 9321}}, +{1880, 15, 103, {1, 1, 3, 7, 21, 59, 65, 83, 177, 763, 317, 2913, 7527, 5967, 17167}}, +{1881, 15, 110, {1, 1, 7, 15, 13, 27, 49, 35, 253, 101, 1699, 355, 2181, 10859, 24221}}, +{1882, 15, 115, {1, 1, 5, 1, 17, 17, 81, 91, 349, 655, 1373, 2225, 945, 899, 31801}}, +{1883, 15, 122, {1, 3, 7, 11, 5, 1, 81, 53, 215, 587, 167, 4045, 5671, 5597, 13529}}, +{1884, 15, 128, {1, 3, 5, 15, 1, 9, 59, 235, 315, 195, 909, 2237, 505, 10415, 28145}}, +{1885, 15, 138, {1, 1, 1, 3, 9, 31, 41, 43, 275, 921, 25, 671, 5737, 11241, 4193}}, +{1886, 15, 146, {1, 3, 3, 13, 29, 13, 95, 213, 317, 995, 1489, 3779, 3043, 8569, 28823}}, +{1887, 15, 171, {1, 1, 7, 5, 9, 49, 125, 241, 87, 153, 1673, 3849, 7253, 1715, 11627}}, +{1888, 15, 174, {1, 1, 3, 9, 27, 27, 19, 223, 63, 463, 1095, 1395, 6643, 11589, 2145}}, +{1889, 15, 176, {1, 1, 3, 15, 21, 17, 45, 23, 357, 11, 1307, 1791, 2481, 2123, 24341}}, +{1890, 15, 182, {1, 3, 5, 15, 31, 53, 117, 51, 433, 193, 1239, 3329, 2403, 12745, 32219}}, +{1891, 15, 194, {1, 1, 5, 9, 7, 27, 9, 115, 417, 579, 83, 173, 4717, 15665, 27463}}, +{1892, 15, 208, {1, 3, 5, 7, 9, 9, 31, 35, 249, 567, 331, 905, 5101, 14817, 14255}}, +{1893, 15, 211, {1, 3, 7, 3, 1, 61, 29, 129, 119, 421, 1597, 2987, 3041, 7629, 23451}}, +{1894, 15, 220, {1, 1, 7, 9, 13, 1, 99, 105, 107, 509, 989, 2259, 1009, 6827, 8903}}, +{1895, 15, 229, {1, 3, 5, 15, 11, 29, 85, 29, 265, 105, 2035, 3349, 3543, 13903, 10213}}, +{1896, 15, 230, {1, 3, 1, 1, 25, 19, 53, 139, 467, 485, 491, 3067, 7353, 13861, 25819}}, +{1897, 15, 239, {1, 1, 5, 3, 3, 43, 41, 185, 45, 463, 351, 2823, 2519, 6705, 11395}}, +{1898, 15, 254, {1, 3, 7, 13, 11, 15, 87, 221, 427, 673, 1631, 599, 3259, 10691, 31283}}, +{1899, 15, 265, {1, 3, 5, 11, 9, 9, 15, 49, 275, 335, 1613, 3587, 5309, 14849, 26475}}, +{1900, 15, 285, {1, 3, 7, 9, 29, 13, 79, 225, 381, 781, 1411, 2761, 7157, 14983, 19717}}, +{1901, 15, 290, {1, 1, 7, 11, 29, 25, 117, 183, 101, 651, 653, 3157, 445, 14389, 23293}}, +{1902, 15, 319, {1, 1, 1, 3, 5, 33, 73, 155, 473, 387, 591, 2045, 5965, 16299, 31499}}, +{1903, 15, 324, {1, 3, 1, 7, 11, 33, 29, 21, 491, 937, 729, 4075, 975, 2461, 18991}}, +{1904, 15, 327, {1, 3, 7, 15, 29, 39, 105, 111, 173, 943, 69, 295, 8175, 13037, 26131}}, +{1905, 15, 333, {1, 1, 5, 15, 7, 5, 97, 147, 105, 887, 443, 2595, 5889, 10753, 1619}}, +{1906, 15, 357, {1, 3, 3, 15, 11, 45, 87, 207, 353, 909, 1847, 323, 2283, 12885, 16415}}, +{1907, 15, 364, {1, 1, 5, 3, 19, 33, 43, 79, 115, 653, 359, 2873, 4609, 12439, 6339}}, +{1908, 15, 395, {1, 3, 7, 9, 17, 61, 49, 227, 291, 69, 1753, 3899, 483, 3187, 29041}}, +{1909, 15, 397, {1, 3, 5, 3, 25, 35, 61, 211, 393, 199, 691, 1779, 6295, 13371, 15817}}, +{1910, 15, 405, {1, 3, 7, 5, 7, 23, 37, 91, 245, 915, 579, 867, 6193, 1063, 17363}}, +{1911, 15, 409, {1, 3, 7, 7, 23, 51, 41, 63, 375, 3, 159, 1889, 4419, 1687, 17977}}, +{1912, 15, 419, {1, 1, 1, 7, 13, 11, 53, 43, 317, 325, 1749, 2423, 4123, 8595, 20773}}, +{1913, 15, 422, {1, 1, 7, 7, 9, 9, 61, 113, 437, 213, 1407, 645, 4345, 807, 30411}}, +{1914, 15, 431, {1, 3, 3, 11, 17, 39, 17, 113, 391, 385, 581, 2023, 7449, 10153, 22033}}, +{1915, 15, 433, {1, 1, 3, 5, 29, 31, 101, 215, 379, 377, 1113, 2855, 7147, 14377, 25515}}, +{1916, 15, 436, {1, 3, 5, 5, 13, 3, 121, 125, 227, 969, 11, 1115, 5657, 9209, 6117}}, +{1917, 15, 440, {1, 3, 7, 15, 29, 17, 33, 123, 317, 301, 749, 1365, 5619, 605, 1613}}, +{1918, 15, 453, {1, 3, 1, 15, 7, 53, 125, 249, 219, 655, 105, 2825, 1649, 12783, 19777}}, +{1919, 15, 460, {1, 1, 7, 1, 25, 53, 19, 53, 157, 373, 1855, 495, 5065, 9465, 2313}}, +{1920, 15, 471, {1, 3, 5, 13, 3, 57, 57, 161, 431, 415, 1859, 1033, 6349, 1577, 31579}}, +{1921, 15, 478, {1, 1, 7, 5, 23, 63, 29, 221, 13, 965, 1997, 2265, 1583, 10491, 9551}}, +{1922, 15, 482, {1, 1, 3, 13, 31, 25, 23, 61, 285, 5, 2005, 879, 795, 13299, 19685}}, +{1923, 15, 488, {1, 1, 7, 1, 21, 45, 121, 89, 263, 543, 1333, 2711, 219, 10823, 26139}}, +{1924, 15, 524, {1, 1, 3, 3, 27, 13, 19, 117, 161, 457, 1541, 295, 4953, 12125, 14503}}, +{1925, 15, 529, {1, 3, 5, 3, 7, 63, 13, 247, 439, 681, 977, 2537, 6923, 10323, 7349}}, +{1926, 15, 535, {1, 3, 5, 9, 3, 51, 81, 251, 349, 983, 581, 2515, 2281, 2849, 31915}}, +{1927, 15, 536, {1, 3, 5, 3, 11, 63, 47, 137, 303, 627, 91, 2269, 7097, 2145, 31059}}, +{1928, 15, 539, {1, 1, 3, 15, 13, 17, 53, 27, 133, 13, 117, 1837, 4103, 5843, 29153}}, +{1929, 15, 563, {1, 1, 5, 13, 21, 33, 37, 253, 465, 209, 309, 49, 3209, 15677, 14569}}, +{1930, 15, 566, {1, 1, 7, 15, 13, 21, 33, 203, 499, 141, 1155, 3893, 1663, 2115, 27459}}, +{1931, 15, 572, {1, 3, 5, 11, 21, 9, 39, 157, 257, 273, 1257, 1831, 515, 7969, 20133}}, +{1932, 15, 577, {1, 1, 3, 13, 19, 29, 15, 189, 103, 219, 1395, 517, 7425, 6585, 15865}}, +{1933, 15, 587, {1, 1, 5, 11, 21, 31, 49, 151, 39, 537, 1783, 3449, 6915, 223, 11587}}, +{1934, 15, 592, {1, 3, 3, 11, 7, 63, 69, 31, 27, 911, 1903, 2821, 7977, 12949, 32257}}, +{1935, 15, 602, {1, 1, 7, 9, 25, 45, 23, 233, 511, 595, 1383, 1721, 6789, 12055, 21179}}, +{1936, 15, 623, {1, 1, 7, 13, 1, 27, 123, 49, 439, 683, 501, 641, 1947, 6111, 25423}}, +{1937, 15, 635, {1, 3, 3, 5, 1, 23, 57, 241, 243, 593, 2039, 1617, 2209, 5171, 9675}}, +{1938, 15, 638, {1, 1, 1, 7, 5, 19, 83, 55, 481, 125, 177, 1021, 1139, 11403, 23099}}, +{1939, 15, 654, {1, 1, 3, 5, 29, 39, 33, 217, 461, 907, 733, 3795, 4811, 12939, 27715}}, +{1940, 15, 656, {1, 3, 7, 3, 7, 11, 39, 165, 495, 147, 999, 1827, 817, 603, 9293}}, +{1941, 15, 659, {1, 3, 7, 15, 25, 53, 35, 15, 431, 733, 1213, 2907, 8087, 3939, 27363}}, +{1942, 15, 665, {1, 3, 7, 13, 13, 9, 33, 27, 485, 183, 455, 3341, 2555, 4985, 8793}}, +{1943, 15, 675, {1, 1, 1, 15, 25, 47, 75, 21, 205, 15, 1639, 3067, 1295, 11693, 16903}}, +{1944, 15, 677, {1, 1, 1, 15, 3, 31, 93, 57, 43, 185, 251, 1899, 7885, 10829, 3609}}, +{1945, 15, 687, {1, 1, 3, 1, 29, 9, 69, 223, 221, 537, 365, 3411, 5771, 15279, 5309}}, +{1946, 15, 696, {1, 1, 7, 5, 1, 5, 125, 243, 213, 1003, 1571, 3355, 3981, 8781, 25993}}, +{1947, 15, 701, {1, 1, 1, 13, 7, 19, 53, 243, 301, 75, 1183, 2723, 6687, 13, 16581}}, +{1948, 15, 704, {1, 3, 1, 13, 17, 51, 91, 239, 437, 191, 1065, 2495, 5755, 3405, 8299}}, +{1949, 15, 710, {1, 1, 5, 5, 11, 59, 21, 169, 299, 123, 1845, 2199, 2157, 14461, 10327}}, +{1950, 15, 721, {1, 3, 7, 7, 19, 47, 51, 179, 41, 19, 1347, 2325, 8063, 5993, 15653}}, +{1951, 15, 728, {1, 1, 1, 9, 25, 27, 7, 133, 223, 533, 719, 353, 7093, 8285, 10375}}, +{1952, 15, 738, {1, 3, 5, 15, 31, 5, 67, 39, 441, 495, 977, 3699, 1435, 11385, 14567}}, +{1953, 15, 740, {1, 1, 3, 15, 15, 39, 25, 33, 91, 523, 249, 4035, 769, 5181, 9691}}, +{1954, 15, 749, {1, 1, 3, 3, 3, 57, 83, 187, 423, 165, 161, 3453, 2241, 981, 8429}}, +{1955, 15, 758, {1, 1, 7, 15, 1, 17, 57, 189, 283, 11, 823, 3505, 7025, 11879, 15441}}, +{1956, 15, 761, {1, 1, 3, 11, 1, 41, 7, 255, 385, 339, 607, 1405, 1473, 13697, 9491}}, +{1957, 15, 772, {1, 1, 7, 15, 5, 9, 91, 99, 211, 233, 51, 2663, 1165, 9283, 18495}}, +{1958, 15, 776, {1, 1, 3, 7, 21, 37, 13, 91, 39, 27, 1021, 2813, 5937, 6645, 3403}}, +{1959, 15, 782, {1, 3, 1, 1, 29, 29, 5, 69, 399, 665, 1407, 3921, 2653, 11753, 18925}}, +{1960, 15, 789, {1, 3, 7, 15, 13, 41, 39, 1, 437, 549, 161, 2315, 5631, 8335, 22661}}, +{1961, 15, 810, {1, 1, 3, 1, 7, 17, 115, 61, 69, 955, 475, 3763, 8035, 927, 17893}}, +{1962, 15, 812, {1, 3, 1, 13, 21, 59, 81, 145, 463, 145, 1941, 2777, 7453, 14229, 11281}}, +{1963, 15, 818, {1, 1, 1, 15, 15, 11, 27, 165, 461, 395, 1645, 3611, 7463, 12379, 26787}}, +{1964, 15, 830, {1, 1, 7, 9, 29, 19, 27, 123, 21, 149, 1643, 4001, 7207, 6769, 4647}}, +{1965, 15, 832, {1, 1, 1, 11, 13, 9, 103, 139, 185, 587, 591, 1113, 2223, 11667, 32671}}, +{1966, 15, 852, {1, 3, 1, 1, 31, 13, 19, 93, 229, 125, 1471, 2369, 3055, 10277, 28563}}, +{1967, 15, 855, {1, 3, 7, 5, 7, 53, 99, 175, 161, 851, 617, 4027, 2357, 11199, 1931}}, +{1968, 15, 859, {1, 3, 5, 11, 3, 31, 111, 179, 237, 845, 539, 1057, 259, 3417, 26637}}, +{1969, 15, 865, {1, 1, 5, 3, 21, 49, 125, 119, 463, 403, 737, 1811, 3941, 13015, 29081}}, +{1970, 15, 877, {1, 3, 5, 13, 5, 29, 69, 251, 313, 357, 663, 1097, 3307, 12845, 28495}}, +{1971, 15, 895, {1, 3, 3, 5, 29, 17, 89, 15, 411, 409, 2013, 757, 4085, 12521, 11131}}, +{1972, 15, 901, {1, 1, 1, 15, 7, 51, 3, 193, 493, 133, 381, 2027, 227, 6635, 12931}}, +{1973, 15, 902, {1, 1, 1, 15, 7, 23, 99, 203, 323, 1007, 1465, 2887, 2215, 1787, 22069}}, +{1974, 15, 906, {1, 1, 5, 9, 29, 59, 77, 151, 509, 313, 415, 3977, 5431, 8019, 8571}}, +{1975, 15, 916, {1, 3, 1, 15, 19, 13, 57, 217, 87, 119, 25, 1149, 5667, 3765, 6959}}, +{1976, 15, 920, {1, 3, 7, 13, 19, 31, 119, 3, 457, 117, 905, 361, 1483, 12405, 27005}}, +{1977, 15, 949, {1, 3, 5, 11, 15, 35, 61, 77, 119, 51, 1753, 2765, 1091, 10573, 23595}}, +{1978, 15, 962, {1, 3, 3, 7, 1, 35, 17, 93, 197, 511, 1253, 3031, 2739, 15127, 15147}}, +{1979, 15, 964, {1, 3, 3, 1, 11, 55, 55, 107, 161, 75, 129, 2195, 2023, 4877, 25797}}, +{1980, 15, 967, {1, 3, 5, 7, 23, 19, 113, 167, 167, 271, 1303, 125, 5057, 1323, 5165}}, +{1981, 15, 981, {1, 1, 5, 3, 21, 31, 11, 119, 215, 483, 1535, 407, 6485, 15401, 30297}}, +{1982, 15, 982, {1, 3, 5, 9, 21, 5, 77, 95, 443, 247, 913, 605, 365, 7465, 19707}}, +{1983, 15, 985, {1, 3, 1, 7, 17, 59, 9, 35, 391, 767, 1493, 475, 4725, 7529, 31579}}, +{1984, 15, 991, {1, 3, 3, 7, 31, 21, 61, 31, 421, 179, 273, 771, 5745, 10575, 32765}}, +{1985, 15, 1007, {1, 3, 5, 15, 27, 13, 125, 55, 423, 1021, 497, 3521, 6903, 15111, 8285}}, +{1986, 15, 1016, {1, 1, 5, 9, 13, 31, 105, 93, 421, 709, 643, 1079, 1533, 9149, 10799}}, +{1987, 15, 1024, {1, 3, 1, 11, 19, 29, 53, 199, 319, 247, 655, 3039, 6411, 12267, 14245}}, +{1988, 15, 1051, {1, 3, 1, 11, 9, 57, 5, 91, 469, 149, 259, 329, 5433, 6941, 15093}}, +{1989, 15, 1060, {1, 3, 1, 5, 5, 51, 59, 25, 455, 367, 1623, 441, 3155, 11695, 20767}}, +{1990, 15, 1070, {1, 3, 7, 7, 11, 49, 113, 95, 91, 389, 605, 1973, 2051, 2315, 22229}}, +{1991, 15, 1072, {1, 3, 5, 3, 19, 11, 99, 135, 433, 781, 1473, 885, 1105, 3573, 3739}}, +{1992, 15, 1084, {1, 3, 1, 11, 3, 25, 9, 227, 433, 723, 317, 139, 6627, 8067, 28439}}, +{1993, 15, 1089, {1, 1, 1, 9, 9, 9, 5, 63, 241, 215, 1991, 2949, 3943, 775, 31511}}, +{1994, 15, 1095, {1, 1, 3, 7, 17, 49, 35, 167, 131, 107, 1295, 2465, 4577, 11147, 29833}}, +{1995, 15, 1114, {1, 1, 5, 1, 5, 25, 119, 129, 391, 743, 1069, 2957, 349, 6891, 13635}}, +{1996, 15, 1123, {1, 3, 1, 7, 9, 31, 63, 253, 215, 51, 1347, 2361, 3125, 13049, 28461}}, +{1997, 15, 1132, {1, 1, 7, 9, 3, 31, 21, 163, 255, 47, 259, 535, 5461, 3349, 30649}}, +{1998, 15, 1154, {1, 3, 3, 13, 17, 33, 87, 47, 243, 709, 929, 3943, 3107, 3421, 13721}}, +{1999, 15, 1156, {1, 3, 5, 11, 25, 61, 61, 173, 397, 735, 2005, 3355, 8121, 11593, 27697}}, +{2000, 15, 1163, {1, 3, 5, 15, 17, 43, 63, 231, 275, 311, 1277, 2669, 7307, 2099, 9755}}, +{2001, 15, 1171, {1, 3, 5, 3, 25, 43, 71, 191, 9, 121, 1873, 3747, 7491, 14055, 24293}}, +{2002, 15, 1202, {1, 3, 5, 13, 17, 35, 113, 113, 385, 941, 39, 2705, 1225, 5167, 1373}}, +{2003, 15, 1228, {1, 3, 5, 5, 7, 35, 19, 105, 487, 71, 139, 627, 4187, 3183, 713}}, +{2004, 15, 1239, {1, 1, 5, 13, 29, 29, 103, 5, 157, 869, 1675, 423, 6689, 10697, 5303}}, +{2005, 15, 1255, {1, 1, 5, 1, 29, 31, 61, 111, 473, 963, 685, 1483, 2383, 8109, 8495}}, +{2006, 15, 1256, {1, 1, 5, 3, 19, 13, 95, 113, 217, 59, 1353, 1647, 3617, 3271, 2321}}, +{2007, 15, 1262, {1, 3, 5, 7, 25, 35, 59, 131, 309, 445, 415, 93, 1453, 8789, 30201}}, +{2008, 15, 1270, {1, 1, 5, 1, 5, 43, 71, 241, 123, 189, 831, 3469, 8093, 6187, 32721}}, +{2009, 15, 1279, {1, 3, 7, 5, 25, 31, 123, 171, 319, 379, 889, 2365, 4881, 12225, 16609}}, +{2010, 15, 1308, {1, 3, 1, 11, 27, 43, 121, 63, 291, 591, 811, 1995, 4777, 2083, 31385}}, +{2011, 15, 1322, {1, 1, 5, 11, 27, 53, 85, 187, 461, 823, 703, 399, 6925, 11517, 28697}}, +{2012, 15, 1329, {1, 1, 3, 5, 13, 11, 33, 121, 93, 717, 1275, 3877, 4247, 5845, 26909}}, +{2013, 15, 1330, {1, 3, 1, 9, 7, 5, 47, 199, 367, 561, 185, 2855, 5997, 2699, 7581}}, +{2014, 15, 1336, {1, 1, 5, 9, 23, 11, 71, 201, 61, 729, 1011, 3529, 663, 1413, 25675}}, +{2015, 15, 1341, {1, 3, 7, 13, 27, 21, 11, 127, 281, 487, 1217, 3129, 5541, 3129, 17783}}, +{2016, 15, 1347, {1, 1, 5, 9, 1, 29, 85, 193, 213, 743, 1473, 611, 391, 9405, 21137}}, +{2017, 15, 1349, {1, 3, 3, 3, 31, 63, 37, 147, 39, 351, 79, 3069, 2441, 8901, 8777}}, +{2018, 15, 1359, {1, 1, 7, 7, 25, 49, 55, 47, 441, 343, 1267, 1123, 5917, 14395, 10579}}, +{2019, 15, 1367, {1, 1, 7, 1, 13, 55, 55, 123, 103, 773, 125, 2145, 4743, 13347, 2589}}, +{2020, 15, 1368, {1, 3, 7, 3, 9, 33, 25, 183, 469, 213, 291, 75, 6725, 6847, 26745}}, +{2021, 15, 1390, {1, 3, 3, 7, 15, 43, 7, 79, 171, 21, 1767, 2537, 4285, 12007, 24039}}, +{2022, 15, 1413, {1, 3, 7, 13, 9, 61, 125, 23, 227, 879, 215, 1635, 2835, 883, 15939}}, +{2023, 15, 1414, {1, 1, 5, 13, 25, 45, 63, 43, 183, 829, 149, 989, 987, 3819, 12181}}, +{2024, 15, 1437, {1, 1, 3, 7, 19, 27, 35, 83, 135, 459, 785, 131, 2655, 3329, 3009}}, +{2025, 15, 1441, {1, 1, 7, 5, 11, 41, 9, 219, 475, 985, 1329, 3787, 1975, 4679, 8627}}, +{2026, 15, 1462, {1, 1, 7, 3, 1, 17, 91, 155, 3, 763, 1879, 233, 215, 2955, 25993}}, +{2027, 15, 1465, {1, 1, 1, 11, 25, 11, 23, 227, 453, 775, 1935, 3833, 4583, 269, 705}}, +{2028, 15, 1480, {1, 3, 3, 11, 7, 25, 105, 21, 449, 555, 1275, 3475, 5503, 15617, 813}}, +{2029, 15, 1486, {1, 3, 7, 13, 31, 37, 25, 255, 233, 663, 1155, 1563, 4775, 7449, 29949}}, +{2030, 15, 1504, {1, 1, 3, 1, 23, 51, 51, 137, 63, 809, 349, 2789, 6953, 10605, 18959}}, +{2031, 15, 1509, {1, 3, 3, 13, 21, 45, 15, 161, 393, 229, 437, 2967, 4019, 3893, 21305}}, +{2032, 15, 1514, {1, 1, 3, 7, 5, 11, 15, 211, 287, 131, 1847, 2569, 7881, 15669, 31037}}, +{2033, 15, 1522, {1, 3, 3, 15, 27, 19, 85, 251, 221, 639, 665, 3729, 5771, 7873, 28005}}, +{2034, 15, 1528, {1, 3, 7, 15, 15, 47, 93, 215, 343, 85, 1401, 1375, 2949, 13661, 25453}}, +{2035, 15, 1552, {1, 1, 1, 9, 7, 51, 53, 217, 471, 389, 551, 1141, 1767, 2237, 17797}}, +{2036, 15, 1555, {1, 1, 7, 9, 3, 29, 65, 29, 223, 591, 1719, 1049, 7643, 3853, 29867}}, +{2037, 15, 1571, {1, 1, 1, 11, 13, 41, 85, 29, 451, 387, 1783, 3733, 8033, 4711, 31643}}, +{2038, 15, 1578, {1, 3, 1, 11, 11, 57, 75, 153, 7, 373, 2011, 271, 469, 3267, 18969}}, +{2039, 15, 1585, {1, 1, 5, 3, 19, 43, 7, 243, 385, 293, 923, 843, 4895, 469, 8421}}, +{2040, 15, 1588, {1, 3, 1, 15, 29, 47, 17, 125, 471, 927, 349, 3859, 3059, 11483, 14791}}, +{2041, 15, 1603, {1, 3, 1, 11, 17, 17, 111, 109, 9, 213, 1313, 3903, 4411, 4329, 28277}}, +{2042, 15, 1609, {1, 3, 3, 15, 1, 55, 47, 69, 143, 789, 1149, 3833, 5053, 6949, 10569}}, +{2043, 15, 1617, {1, 3, 5, 7, 11, 15, 79, 83, 123, 937, 1115, 2775, 3041, 11869, 21167}}, +{2044, 15, 1620, {1, 3, 7, 13, 9, 47, 45, 221, 139, 923, 1661, 1379, 2485, 7233, 6035}}, +{2045, 15, 1629, {1, 1, 3, 3, 11, 55, 77, 3, 87, 693, 1991, 1145, 2783, 16207, 24569}}, +{2046, 15, 1636, {1, 1, 5, 11, 3, 35, 91, 9, 391, 927, 101, 1839, 3755, 10345, 16907}}, +{2047, 15, 1648, {1, 3, 5, 3, 5, 49, 79, 91, 205, 443, 1369, 197, 2537, 11219, 17765}}, +{2048, 15, 1667, {1, 1, 3, 15, 9, 7, 25, 25, 357, 247, 477, 421, 7679, 5987, 30079}}, +{2049, 15, 1669, {1, 1, 5, 3, 29, 5, 89, 117, 481, 491, 371, 389, 7101, 2253, 23617}}, +{2050, 15, 1682, {1, 1, 5, 13, 29, 59, 17, 181, 511, 291, 1991, 3499, 8177, 5559, 30045}}, +{2051, 15, 1697, {1, 3, 3, 11, 23, 31, 117, 217, 241, 115, 749, 945, 1897, 12253, 8473}}, +{2052, 15, 1704, {1, 1, 7, 15, 25, 47, 31, 1, 165, 311, 635, 3629, 1593, 8305, 30033}}, +{2053, 15, 1709, {1, 3, 5, 9, 3, 17, 101, 237, 379, 503, 49, 929, 1687, 3865, 26723}}, +{2054, 15, 1727, {1, 3, 5, 5, 15, 41, 1, 239, 53, 215, 1733, 827, 579, 4089, 6579}}, +{2055, 15, 1730, {1, 3, 1, 15, 15, 21, 35, 21, 403, 257, 1475, 2403, 4705, 11553, 203}}, +{2056, 15, 1732, {1, 3, 5, 11, 9, 53, 113, 9, 447, 511, 543, 3141, 7389, 11249, 431}}, +{2057, 15, 1741, {1, 3, 5, 9, 9, 11, 55, 93, 325, 411, 305, 2573, 6871, 12339, 6435}}, +{2058, 15, 1744, {1, 3, 3, 7, 31, 27, 21, 113, 99, 853, 365, 589, 3731, 10875, 12767}}, +{2059, 15, 1759, {1, 3, 1, 7, 15, 27, 31, 17, 275, 93, 1161, 2619, 1329, 7307, 587}}, +{2060, 15, 1765, {1, 3, 5, 9, 17, 47, 49, 237, 27, 193, 1237, 591, 5151, 5521, 31583}}, +{2061, 15, 1766, {1, 3, 5, 3, 13, 1, 27, 87, 43, 977, 305, 3293, 2475, 14571, 18321}}, +{2062, 15, 1778, {1, 1, 5, 7, 15, 13, 101, 1, 291, 807, 1711, 2277, 5573, 11051, 13133}}, +{2063, 15, 1780, {1, 3, 3, 1, 9, 3, 65, 81, 415, 733, 1527, 2747, 6069, 159, 7095}}, +{2064, 15, 1783, {1, 3, 3, 15, 27, 1, 71, 49, 231, 851, 2039, 613, 1899, 2537, 14511}}, +{2065, 15, 1797, {1, 1, 1, 11, 3, 41, 55, 23, 247, 1011, 581, 2363, 2745, 1337, 20931}}, +{2066, 15, 1807, {1, 1, 3, 11, 17, 61, 67, 255, 143, 357, 945, 3407, 5817, 4155, 23851}}, +{2067, 15, 1821, {1, 3, 5, 3, 23, 1, 75, 247, 265, 413, 1899, 2565, 6629, 15655, 16117}}, +{2068, 15, 1832, {1, 1, 1, 9, 11, 49, 11, 189, 223, 177, 1457, 1931, 163, 15905, 17297}}, +{2069, 15, 1835, {1, 3, 7, 13, 17, 1, 111, 189, 343, 961, 427, 2507, 2393, 8653, 6353}}, +{2070, 15, 1849, {1, 3, 7, 13, 23, 61, 59, 51, 313, 963, 791, 3681, 5637, 3965, 9263}}, +{2071, 15, 1850, {1, 3, 7, 7, 21, 53, 127, 141, 499, 859, 337, 2835, 3195, 4351, 32369}}, +{2072, 15, 1863, {1, 1, 7, 5, 1, 5, 53, 63, 497, 535, 35, 305, 4395, 9757, 13193}}, +{2073, 15, 1867, {1, 1, 5, 13, 13, 31, 59, 229, 211, 745, 1453, 3677, 3005, 7703, 23907}}, +{2074, 15, 1869, {1, 3, 5, 5, 7, 63, 17, 197, 493, 861, 499, 3015, 6349, 1815, 7437}}, +{2075, 15, 1872, {1, 1, 1, 13, 13, 37, 29, 189, 253, 1017, 321, 3145, 407, 7547, 17099}}, +{2076, 15, 1887, {1, 3, 3, 3, 23, 53, 69, 77, 175, 17, 1831, 841, 3851, 1295, 32107}}, +{2077, 15, 1888, {1, 3, 7, 13, 13, 39, 107, 237, 389, 729, 635, 3717, 3041, 3169, 14987}}, +{2078, 15, 1897, {1, 1, 3, 1, 25, 7, 69, 35, 495, 49, 659, 2783, 6051, 13875, 23927}}, +{2079, 15, 1906, {1, 3, 7, 5, 5, 25, 49, 7, 193, 493, 93, 657, 1515, 13975, 14155}}, +{2080, 15, 1917, {1, 3, 1, 1, 11, 15, 113, 45, 21, 595, 731, 3397, 4117, 9711, 16625}}, +{2081, 15, 1927, {1, 3, 3, 9, 19, 19, 59, 7, 105, 579, 599, 2859, 97, 14717, 15361}}, +{2082, 15, 1939, {1, 1, 1, 5, 27, 49, 113, 5, 367, 563, 1397, 2805, 3021, 3111, 20671}}, +{2083, 15, 1941, {1, 3, 3, 15, 27, 51, 99, 167, 109, 365, 1959, 1523, 6959, 14405, 18191}}, +{2084, 15, 1948, {1, 3, 1, 5, 21, 51, 125, 67, 123, 45, 1657, 51, 4825, 14081, 31049}}, +{2085, 15, 1970, {1, 1, 5, 7, 21, 59, 21, 249, 77, 793, 1687, 2561, 2241, 4321, 7477}}, +{2086, 15, 1979, {1, 1, 1, 7, 15, 35, 71, 29, 267, 611, 1813, 1823, 7039, 3299, 9919}}, +{2087, 15, 1982, {1, 3, 7, 11, 21, 59, 109, 213, 371, 785, 659, 1687, 4827, 6017, 19619}}, +{2088, 15, 2002, {1, 1, 3, 11, 27, 17, 1, 55, 367, 939, 333, 127, 5105, 2405, 28139}}, +{2089, 15, 2020, {1, 1, 7, 13, 5, 35, 59, 133, 509, 573, 625, 3857, 7935, 5279, 3727}}, +{2090, 15, 2024, {1, 1, 1, 7, 11, 47, 127, 157, 19, 403, 151, 1143, 7407, 8985, 32521}}, +{2091, 15, 2032, {1, 3, 1, 1, 5, 13, 105, 123, 63, 139, 1569, 1983, 563, 7175, 27705}}, +{2092, 15, 2053, {1, 1, 3, 13, 9, 35, 105, 227, 145, 21, 1369, 57, 393, 2921, 18511}}, +{2093, 15, 2060, {1, 3, 1, 7, 17, 61, 99, 187, 261, 281, 437, 2219, 5999, 1857, 18001}}, +{2094, 15, 2063, {1, 3, 3, 5, 1, 59, 67, 45, 451, 439, 2005, 3607, 3, 7167, 14227}}, +{2095, 15, 2066, {1, 3, 3, 3, 29, 19, 25, 251, 275, 733, 1749, 4021, 871, 3227, 13701}}, +{2096, 15, 2075, {1, 3, 3, 13, 27, 53, 57, 243, 491, 521, 1921, 1037, 5013, 5703, 15261}}, +{2097, 15, 2078, {1, 3, 1, 11, 13, 57, 1, 15, 123, 533, 785, 335, 1423, 14269, 3483}}, +{2098, 15, 2081, {1, 3, 7, 13, 15, 55, 5, 139, 385, 47, 1981, 1291, 7397, 12925, 29445}}, +{2099, 15, 2091, {1, 1, 7, 1, 23, 23, 59, 93, 117, 57, 63, 3047, 4849, 11637, 25311}}, +{2100, 15, 2096, {1, 1, 7, 13, 19, 37, 25, 203, 477, 447, 1345, 3485, 2099, 13347, 11621}}, +{2101, 15, 2102, {1, 1, 7, 3, 11, 23, 81, 17, 41, 735, 1149, 3253, 7665, 8291, 22293}}, +{2102, 15, 2106, {1, 1, 5, 3, 15, 9, 57, 167, 463, 493, 747, 1947, 6471, 1111, 31619}}, +{2103, 15, 2116, {1, 1, 5, 15, 7, 15, 107, 205, 325, 167, 1749, 927, 3589, 6127, 7617}}, +{2104, 15, 2120, {1, 1, 1, 13, 21, 25, 83, 147, 411, 399, 1423, 2279, 3661, 7591, 17429}}, +{2105, 15, 2125, {1, 1, 1, 9, 5, 17, 69, 205, 243, 647, 473, 1717, 1977, 10725, 2913}}, +{2106, 15, 2134, {1, 1, 3, 5, 5, 37, 103, 15, 485, 641, 1761, 3755, 6997, 10985, 11773}}, +{2107, 15, 2178, {1, 1, 5, 13, 9, 51, 87, 195, 97, 807, 1801, 961, 6341, 4307, 29105}}, +{2108, 15, 2180, {1, 3, 1, 13, 9, 35, 83, 61, 387, 817, 951, 3993, 7831, 8479, 23941}}, +{2109, 15, 2187, {1, 1, 7, 11, 19, 47, 75, 37, 91, 337, 953, 1169, 163, 2259, 24713}}, +{2110, 15, 2189, {1, 1, 1, 11, 13, 15, 83, 171, 159, 87, 619, 2973, 2653, 13725, 12499}}, +{2111, 15, 2190, {1, 3, 5, 3, 5, 63, 119, 25, 343, 269, 553, 2183, 959, 3825, 22189}}, +{2112, 15, 2208, {1, 1, 5, 15, 5, 37, 89, 109, 497, 1013, 265, 669, 1859, 2647, 3445}}, +{2113, 15, 2214, {1, 3, 3, 9, 21, 21, 15, 245, 107, 649, 367, 1601, 7279, 15783, 4943}}, +{2114, 15, 2237, {1, 3, 3, 15, 5, 41, 125, 113, 159, 161, 1191, 3491, 3531, 55, 20857}}, +{2115, 15, 2252, {1, 3, 5, 9, 21, 57, 21, 195, 99, 193, 1915, 2923, 6349, 15085, 24929}}, +{2116, 15, 2257, {1, 1, 1, 11, 31, 11, 73, 141, 361, 621, 1021, 2067, 5115, 12665, 26845}}, +{2117, 15, 2260, {1, 1, 1, 3, 29, 11, 43, 61, 209, 923, 1753, 1937, 843, 205, 8367}}, +{2118, 15, 2264, {1, 1, 1, 5, 15, 33, 119, 209, 215, 973, 1775, 815, 6693, 7957, 14517}}, +{2119, 15, 2270, {1, 1, 1, 5, 17, 57, 27, 147, 489, 59, 1439, 2279, 445, 11791, 19739}}, +{2120, 15, 2279, {1, 3, 1, 7, 11, 55, 1, 83, 305, 17, 1909, 405, 2325, 5293, 28559}}, +{2121, 15, 2288, {1, 3, 3, 7, 11, 27, 103, 157, 455, 1005, 2033, 3145, 1919, 15723, 25197}}, +{2122, 15, 2305, {1, 1, 5, 11, 15, 51, 37, 131, 503, 1007, 1795, 2421, 1335, 7413, 21741}}, +{2123, 15, 2312, {1, 1, 3, 1, 23, 63, 69, 83, 419, 283, 583, 123, 7725, 2243, 8403}}, +{2124, 15, 2317, {1, 1, 5, 5, 27, 45, 109, 17, 299, 65, 351, 947, 1165, 10723, 2053}}, +{2125, 15, 2323, {1, 1, 3, 3, 23, 61, 115, 253, 1, 931, 1481, 3187, 441, 14735, 27207}}, +{2126, 15, 2329, {1, 1, 5, 3, 25, 11, 83, 141, 359, 343, 901, 1629, 731, 12841, 14357}}, +{2127, 15, 2335, {1, 1, 3, 9, 7, 45, 97, 3, 299, 217, 663, 1527, 6379, 4527, 26147}}, +{2128, 15, 2342, {1, 1, 7, 9, 11, 53, 9, 203, 337, 713, 1517, 719, 4587, 11443, 26905}}, +{2129, 15, 2345, {1, 1, 7, 9, 11, 41, 125, 213, 237, 377, 361, 3231, 4223, 3263, 12655}}, +{2130, 15, 2365, {1, 3, 7, 7, 7, 33, 99, 19, 117, 273, 985, 107, 3831, 10135, 19423}}, +{2131, 15, 2371, {1, 1, 5, 15, 25, 41, 13, 125, 449, 169, 1149, 4021, 5663, 3077, 19163}}, +{2132, 15, 2378, {1, 3, 5, 9, 25, 57, 47, 103, 269, 51, 1805, 2503, 6687, 8065, 12045}}, +{2133, 15, 2385, {1, 3, 5, 7, 3, 35, 87, 225, 189, 229, 931, 3293, 1347, 1427, 3269}}, +{2134, 15, 2395, {1, 1, 1, 3, 5, 31, 61, 19, 247, 9, 1667, 343, 559, 2703, 3763}}, +{2135, 15, 2404, {1, 3, 5, 15, 31, 19, 57, 187, 109, 121, 1287, 2269, 659, 16235, 1273}}, +{2136, 15, 2414, {1, 1, 1, 3, 5, 47, 59, 243, 255, 97, 1959, 1723, 1347, 3019, 26989}}, +{2137, 15, 2426, {1, 3, 3, 15, 29, 35, 75, 67, 497, 731, 193, 3307, 3579, 12005, 7209}}, +{2138, 15, 2428, {1, 1, 5, 9, 13, 35, 79, 213, 51, 983, 1927, 1793, 5037, 5463, 965}}, +{2139, 15, 2441, {1, 1, 7, 11, 5, 41, 7, 83, 15, 411, 1775, 3515, 6755, 3249, 16425}}, +{2140, 15, 2456, {1, 3, 5, 1, 19, 61, 3, 19, 395, 819, 1331, 179, 5225, 5333, 3601}}, +{2141, 15, 2466, {1, 1, 3, 9, 7, 5, 87, 15, 387, 609, 1465, 277, 987, 8377, 903}}, +{2142, 15, 2468, {1, 1, 1, 3, 15, 11, 123, 107, 355, 333, 285, 1801, 6989, 1549, 25791}}, +{2143, 15, 2475, {1, 1, 7, 13, 27, 13, 73, 111, 481, 227, 1091, 365, 5713, 5087, 27217}}, +{2144, 15, 2489, {1, 3, 3, 15, 1, 55, 95, 213, 377, 405, 139, 1867, 2175, 4217, 28813}}, +{2145, 15, 2495, {1, 3, 5, 11, 21, 43, 109, 155, 181, 901, 1951, 507, 4389, 10815, 3141}}, +{2146, 15, 2497, {1, 1, 1, 15, 17, 11, 43, 215, 501, 19, 259, 3479, 6381, 6927, 31247}}, +{2147, 15, 2510, {1, 3, 5, 15, 19, 61, 75, 41, 391, 95, 865, 1441, 7993, 13979, 24663}}, +{2148, 15, 2512, {1, 3, 1, 3, 21, 15, 115, 213, 1, 645, 777, 1517, 2543, 11223, 3633}}, +{2149, 15, 2522, {1, 3, 5, 3, 9, 57, 39, 211, 407, 65, 1795, 2805, 2799, 8691, 1987}}, +{2150, 15, 2533, {1, 1, 3, 13, 17, 55, 47, 113, 29, 139, 1301, 3303, 1129, 13947, 29821}}, +{2151, 15, 2543, {1, 1, 3, 13, 5, 35, 97, 151, 477, 409, 1397, 3399, 4421, 15929, 6163}}, +{2152, 15, 2551, {1, 3, 1, 9, 21, 51, 99, 133, 149, 763, 623, 173, 4311, 11081, 1095}}, +{2153, 15, 2552, {1, 3, 7, 15, 13, 3, 99, 3, 195, 907, 1335, 1355, 7977, 5773, 32383}}, +{2154, 15, 2557, {1, 1, 3, 9, 17, 43, 43, 217, 475, 917, 1373, 1677, 4871, 9619, 16657}}, +{2155, 15, 2567, {1, 3, 3, 7, 31, 31, 55, 11, 73, 693, 25, 417, 1195, 6225, 32279}}, +{2156, 15, 2581, {1, 3, 5, 9, 21, 57, 127, 149, 79, 379, 1609, 2543, 6473, 16033, 27191}}, +{2157, 15, 2586, {1, 1, 5, 1, 13, 9, 81, 153, 297, 789, 1749, 2819, 3961, 11231, 24927}}, +{2158, 15, 2597, {1, 3, 5, 3, 23, 61, 45, 43, 43, 133, 1481, 1543, 2991, 13739, 10287}}, +{2159, 15, 2601, {1, 1, 3, 9, 25, 43, 31, 177, 337, 193, 1083, 1, 991, 9725, 8379}}, +{2160, 15, 2622, {1, 3, 5, 11, 13, 33, 65, 83, 421, 149, 409, 2443, 7423, 8847, 29599}}, +{2161, 15, 2633, {1, 1, 5, 11, 11, 1, 23, 225, 77, 585, 1505, 2525, 739, 10915, 25733}}, +{2162, 15, 2636, {1, 3, 7, 13, 7, 55, 3, 223, 415, 521, 1865, 2349, 5663, 7455, 16569}}, +{2163, 15, 2642, {1, 1, 7, 13, 1, 45, 121, 49, 463, 99, 1061, 2559, 5087, 13389, 11035}}, +{2164, 15, 2644, {1, 3, 7, 11, 31, 51, 35, 235, 385, 1023, 1771, 2013, 5437, 4877, 22119}}, +{2165, 15, 2653, {1, 3, 3, 11, 21, 3, 11, 119, 81, 737, 1093, 2377, 4055, 1121, 15767}}, +{2166, 15, 2667, {1, 1, 5, 13, 9, 3, 83, 217, 387, 249, 1047, 1861, 4103, 15367, 24545}}, +{2167, 15, 2669, {1, 3, 3, 1, 5, 37, 43, 183, 383, 463, 937, 1165, 1481, 959, 17047}}, +{2168, 15, 2672, {1, 1, 3, 5, 7, 43, 127, 243, 81, 1021, 165, 753, 4711, 12965, 22049}}, +{2169, 15, 2675, {1, 1, 5, 5, 3, 61, 65, 53, 425, 89, 5, 1467, 1395, 9579, 8961}}, +{2170, 15, 2682, {1, 3, 7, 13, 11, 35, 123, 21, 83, 689, 667, 1203, 5959, 15697, 26885}}, +{2171, 15, 2687, {1, 1, 5, 13, 9, 49, 41, 101, 291, 339, 1067, 657, 4453, 1137, 21131}}, +{2172, 15, 2691, {1, 3, 3, 3, 17, 61, 11, 213, 27, 805, 1691, 1057, 6011, 11941, 18883}}, +{2173, 15, 2698, {1, 3, 1, 7, 3, 51, 5, 63, 121, 3, 245, 2631, 3737, 16121, 26803}}, +{2174, 15, 2708, {1, 3, 1, 1, 23, 51, 79, 19, 161, 107, 609, 3489, 3389, 4035, 2427}}, +{2175, 15, 2712, {1, 3, 1, 1, 17, 11, 101, 101, 373, 63, 1641, 285, 1333, 165, 14025}}, +{2176, 15, 2718, {1, 1, 1, 5, 1, 51, 83, 137, 45, 1019, 821, 867, 6055, 10443, 9857}}, +{2177, 15, 2722, {1, 3, 1, 5, 17, 23, 25, 181, 429, 495, 317, 3219, 5963, 13945, 9969}}, +{2178, 15, 2736, {1, 3, 7, 3, 3, 15, 123, 191, 369, 177, 1697, 2113, 3889, 5201, 21839}}, +{2179, 15, 2741, {1, 3, 1, 11, 21, 39, 51, 139, 271, 605, 1007, 3513, 3365, 3781, 6799}}, +{2180, 15, 2756, {1, 1, 7, 5, 13, 19, 47, 165, 249, 405, 255, 1295, 4513, 14395, 5587}}, +{2181, 15, 2765, {1, 1, 3, 7, 5, 17, 99, 1, 393, 31, 621, 797, 6113, 16003, 32043}}, +{2182, 15, 2774, {1, 3, 5, 13, 11, 21, 65, 81, 147, 443, 775, 3671, 7029, 11749, 3339}}, +{2183, 15, 2799, {1, 3, 7, 1, 23, 33, 99, 177, 161, 577, 1729, 617, 3465, 11787, 17577}}, +{2184, 15, 2804, {1, 1, 5, 7, 15, 15, 53, 193, 97, 255, 1223, 545, 5153, 873, 24525}}, +{2185, 15, 2825, {1, 3, 5, 1, 7, 57, 47, 121, 383, 835, 1709, 2363, 4731, 12163, 7001}}, +{2186, 15, 2826, {1, 3, 3, 11, 19, 33, 63, 99, 387, 95, 783, 1009, 6373, 4021, 7685}}, +{2187, 15, 2840, {1, 1, 1, 15, 25, 33, 73, 135, 335, 785, 935, 1927, 5847, 10501, 7719}}, +{2188, 15, 2843, {1, 1, 5, 3, 27, 45, 71, 215, 489, 157, 1189, 2577, 6901, 10219, 3025}}, +{2189, 15, 2846, {1, 1, 7, 7, 21, 3, 97, 225, 101, 159, 293, 2789, 7955, 14829, 1209}}, +{2190, 15, 2849, {1, 3, 1, 5, 23, 41, 83, 63, 361, 195, 1707, 2081, 5363, 6327, 179}}, +{2191, 15, 2867, {1, 1, 3, 1, 21, 51, 59, 67, 175, 363, 825, 2971, 3321, 8837, 11805}}, +{2192, 15, 2876, {1, 3, 7, 1, 19, 3, 15, 21, 429, 675, 1589, 2615, 2575, 1537, 7139}}, +{2193, 15, 2891, {1, 3, 3, 5, 21, 29, 17, 115, 345, 397, 523, 1699, 7043, 11173, 3023}}, +{2194, 15, 2902, {1, 1, 5, 7, 19, 63, 99, 175, 91, 433, 153, 3749, 517, 13667, 7423}}, +{2195, 15, 2912, {1, 3, 7, 3, 25, 23, 53, 149, 65, 551, 1231, 365, 6637, 15137, 16319}}, +{2196, 15, 2917, {1, 3, 7, 13, 5, 45, 11, 151, 323, 31, 1749, 409, 6753, 10503, 14991}}, +{2197, 15, 2927, {1, 3, 7, 3, 5, 21, 29, 117, 321, 341, 1811, 3619, 4337, 12255, 8629}}, +{2198, 15, 2941, {1, 3, 7, 3, 7, 3, 5, 221, 407, 671, 1763, 3669, 2353, 8175, 23489}}, +{2199, 15, 2965, {1, 1, 3, 7, 11, 55, 53, 185, 247, 35, 1823, 513, 1379, 11827, 20069}}, +{2200, 15, 2970, {1, 3, 3, 5, 29, 51, 73, 191, 185, 961, 881, 2019, 5651, 1019, 15587}}, +{2201, 15, 2982, {1, 3, 7, 13, 7, 55, 59, 5, 417, 829, 453, 2339, 587, 13283, 797}}, +{2202, 15, 2993, {1, 3, 7, 3, 11, 41, 75, 85, 65, 149, 1583, 529, 2707, 11479, 7109}}, +{2203, 15, 3018, {1, 3, 7, 9, 13, 57, 37, 243, 91, 613, 665, 171, 1631, 13737, 2377}}, +{2204, 15, 3023, {1, 1, 3, 7, 5, 43, 97, 53, 477, 793, 999, 3647, 2555, 7371, 19295}}, +{2205, 15, 3025, {1, 1, 7, 1, 1, 9, 99, 253, 317, 817, 1559, 2081, 2529, 14611, 15997}}, +{2206, 15, 3026, {1, 3, 3, 1, 5, 41, 57, 121, 387, 441, 709, 1511, 7045, 8409, 13297}}, +{2207, 15, 3028, {1, 1, 1, 13, 29, 57, 63, 183, 327, 473, 1943, 213, 3973, 16289, 2739}}, +{2208, 15, 3032, {1, 3, 7, 9, 25, 15, 75, 185, 335, 881, 1041, 3339, 4471, 6823, 21121}}, +{2209, 15, 3053, {1, 3, 3, 13, 23, 3, 57, 117, 511, 927, 771, 3229, 949, 15487, 11963}}, +{2210, 15, 3054, {1, 1, 3, 7, 27, 19, 55, 207, 331, 705, 1945, 797, 7125, 10493, 16585}}, +{2211, 15, 3065, {1, 3, 1, 1, 29, 7, 91, 93, 459, 93, 1501, 1927, 6415, 16255, 9823}}, +{2212, 15, 3071, {1, 1, 5, 5, 31, 11, 97, 179, 505, 807, 877, 4003, 4377, 8851, 4239}}, +{2213, 15, 3076, {1, 1, 3, 5, 11, 25, 17, 131, 23, 95, 311, 1429, 2029, 13091, 23739}}, +{2214, 15, 3088, {1, 1, 3, 11, 13, 27, 33, 127, 481, 117, 1127, 1619, 6493, 8507, 6615}}, +{2215, 15, 3107, {1, 3, 1, 13, 19, 27, 89, 101, 27, 235, 1579, 1701, 4421, 16037, 16239}}, +{2216, 15, 3146, {1, 3, 1, 15, 1, 15, 3, 117, 317, 475, 1691, 2423, 5519, 1703, 2969}}, +{2217, 15, 3148, {1, 1, 3, 1, 13, 15, 19, 37, 237, 467, 1321, 453, 2169, 13313, 31499}}, +{2218, 15, 3159, {1, 1, 3, 15, 29, 55, 31, 199, 85, 285, 967, 367, 3941, 151, 20587}}, +{2219, 15, 3165, {1, 3, 7, 15, 7, 13, 31, 35, 117, 543, 1179, 3441, 3039, 11225, 30229}}, +{2220, 15, 3170, {1, 1, 3, 15, 3, 43, 1, 63, 353, 395, 1775, 3493, 5175, 13193, 25343}}, +{2221, 15, 3179, {1, 3, 3, 15, 17, 25, 57, 205, 411, 83, 1877, 2093, 5599, 12115, 8751}}, +{2222, 15, 3182, {1, 1, 1, 11, 15, 9, 115, 99, 85, 887, 987, 4015, 7077, 3739, 21505}}, +{2223, 15, 3205, {1, 3, 1, 11, 25, 39, 127, 37, 329, 273, 1531, 3211, 7115, 15501, 26575}}, +{2224, 15, 3212, {1, 1, 5, 13, 15, 3, 3, 101, 431, 645, 493, 723, 8083, 1423, 14879}}, +{2225, 15, 3218, {1, 3, 3, 5, 31, 35, 37, 131, 259, 849, 325, 3403, 3627, 3295, 30885}}, +{2226, 15, 3220, {1, 3, 7, 1, 9, 3, 31, 201, 379, 907, 1005, 3333, 7457, 2533, 30357}}, +{2227, 15, 3223, {1, 3, 1, 9, 7, 7, 95, 103, 121, 157, 895, 2683, 5839, 12403, 14327}}, +{2228, 15, 3227, {1, 3, 7, 3, 13, 5, 55, 233, 3, 855, 859, 1115, 3883, 8041, 3353}}, +{2229, 15, 3233, {1, 1, 5, 9, 3, 55, 99, 79, 263, 831, 1579, 205, 5673, 1999, 14879}}, +{2230, 15, 3234, {1, 3, 1, 5, 17, 25, 85, 19, 189, 141, 877, 667, 4461, 11915, 23247}}, +{2231, 15, 3254, {1, 1, 5, 5, 1, 35, 15, 219, 469, 725, 1793, 3683, 3661, 15627, 30197}}, +{2232, 15, 3263, {1, 1, 7, 5, 27, 3, 41, 153, 431, 487, 759, 1345, 6735, 9937, 26277}}, +{2233, 15, 3268, {1, 1, 1, 11, 11, 13, 41, 121, 265, 465, 1447, 5, 3407, 1907, 10037}}, +{2234, 15, 3272, {1, 3, 5, 9, 15, 63, 5, 7, 407, 83, 365, 3687, 7721, 6973, 16967}}, +{2235, 15, 3277, {1, 1, 7, 7, 5, 41, 75, 155, 417, 565, 1199, 1111, 2823, 10703, 22561}}, +{2236, 15, 3292, {1, 3, 7, 5, 7, 43, 39, 185, 105, 327, 1977, 1137, 3261, 10583, 11661}}, +{2237, 15, 3295, {1, 3, 7, 7, 19, 19, 103, 137, 169, 273, 1357, 3413, 7647, 10531, 32489}}, +{2238, 15, 3296, {1, 1, 3, 13, 13, 3, 81, 23, 161, 295, 735, 2031, 1027, 15513, 20165}}, +{2239, 15, 3301, {1, 1, 5, 1, 15, 1, 91, 35, 375, 207, 1417, 1115, 2237, 11749, 8509}}, +{2240, 15, 3306, {1, 3, 7, 3, 25, 51, 49, 219, 195, 417, 1523, 3953, 5739, 7499, 27071}}, +{2241, 15, 3313, {1, 1, 3, 11, 23, 29, 19, 81, 421, 633, 513, 547, 7545, 29, 11909}}, +{2242, 15, 3346, {1, 1, 1, 7, 13, 61, 33, 243, 221, 231, 111, 879, 2861, 1795, 27531}}, +{2243, 15, 3367, {1, 3, 7, 3, 19, 21, 1, 141, 159, 605, 969, 3013, 6583, 2447, 19919}}, +{2244, 15, 3371, {1, 3, 7, 3, 31, 9, 91, 83, 29, 873, 929, 43, 2253, 12539, 23951}}, +{2245, 15, 3373, {1, 1, 5, 3, 31, 15, 87, 105, 319, 973, 1489, 3417, 3377, 15749, 2357}}, +{2246, 15, 3374, {1, 1, 3, 15, 7, 23, 3, 81, 383, 419, 713, 997, 6873, 593, 285}}, +{2247, 15, 3376, {1, 3, 3, 1, 29, 13, 29, 101, 441, 693, 2039, 2951, 5921, 12129, 12053}}, +{2248, 15, 3382, {1, 1, 3, 15, 9, 29, 97, 117, 421, 433, 1017, 125, 3607, 9415, 6843}}, +{2249, 15, 3388, {1, 3, 5, 9, 11, 13, 75, 155, 413, 75, 109, 1599, 6161, 16115, 12621}}, +{2250, 15, 3391, {1, 3, 3, 3, 11, 13, 49, 225, 401, 599, 1815, 1643, 7853, 13305, 25195}}, +{2251, 15, 3403, {1, 3, 7, 5, 15, 11, 27, 95, 387, 931, 549, 2179, 3397, 15883, 16563}}, +{2252, 15, 3406, {1, 1, 7, 3, 9, 39, 121, 5, 453, 27, 1747, 657, 2593, 1289, 12577}}, +{2253, 15, 3413, {1, 3, 7, 5, 25, 25, 109, 49, 185, 985, 631, 803, 3865, 8955, 17901}}, +{2254, 15, 3420, {1, 1, 3, 13, 3, 59, 47, 49, 139, 275, 1471, 2995, 5593, 14011, 18741}}, +{2255, 15, 3427, {1, 1, 5, 15, 29, 11, 97, 225, 245, 291, 1873, 2365, 767, 3419, 14943}}, +{2256, 15, 3441, {1, 3, 3, 5, 15, 17, 19, 209, 359, 891, 1375, 2003, 7247, 5299, 28841}}, +{2257, 15, 3453, {1, 3, 7, 7, 9, 55, 105, 35, 77, 47, 1023, 13, 2901, 847, 10265}}, +{2258, 15, 3464, {1, 3, 7, 7, 7, 5, 65, 233, 141, 277, 1333, 2357, 443, 7257, 21979}}, +{2259, 15, 3469, {1, 3, 5, 11, 13, 63, 41, 87, 193, 737, 1085, 2317, 7869, 10149, 12163}}, +{2260, 15, 3481, {1, 3, 1, 1, 7, 57, 75, 235, 461, 857, 155, 2679, 5925, 2565, 10881}}, +{2261, 15, 3488, {1, 1, 7, 15, 13, 41, 63, 135, 433, 387, 1943, 2249, 5469, 11679, 28661}}, +{2262, 15, 3497, {1, 3, 3, 13, 5, 3, 103, 161, 367, 649, 789, 1179, 4163, 5699, 16787}}, +{2263, 15, 3503, {1, 3, 7, 7, 31, 13, 45, 141, 113, 769, 1035, 457, 6709, 14989, 27311}}, +{2264, 15, 3511, {1, 1, 3, 1, 1, 43, 119, 145, 111, 593, 1139, 417, 637, 4437, 17285}}, +{2265, 15, 3515, {1, 3, 5, 9, 9, 33, 19, 99, 201, 685, 1793, 2621, 6857, 8769, 5623}}, +{2266, 15, 3525, {1, 3, 5, 5, 23, 43, 27, 189, 325, 415, 215, 1253, 3599, 1215, 10093}}, +{2267, 15, 3529, {1, 1, 3, 13, 11, 35, 113, 173, 503, 19, 1459, 503, 5363, 3967, 13945}}, +{2268, 15, 3547, {1, 1, 5, 11, 31, 49, 13, 173, 199, 623, 1231, 2495, 6581, 7957, 25321}}, +{2269, 15, 3550, {1, 3, 1, 9, 23, 3, 79, 149, 505, 937, 1839, 3701, 1673, 8589, 8031}}, +{2270, 15, 3573, {1, 3, 3, 5, 21, 27, 107, 11, 505, 407, 177, 3593, 4729, 12773, 11685}}, +{2271, 15, 3583, {1, 3, 1, 11, 29, 49, 79, 53, 61, 895, 2035, 563, 5613, 6065, 6207}}, +{2272, 15, 3594, {1, 1, 3, 7, 1, 53, 3, 215, 99, 865, 1749, 3533, 4305, 1243, 28463}}, +{2273, 15, 3607, {1, 1, 1, 13, 31, 59, 115, 53, 403, 909, 847, 103, 4967, 10623, 30073}}, +{2274, 15, 3613, {1, 1, 7, 5, 27, 1, 119, 83, 457, 81, 395, 811, 6221, 14337, 541}}, +{2275, 15, 3624, {1, 1, 5, 5, 5, 53, 83, 117, 269, 327, 875, 101, 3343, 715, 26339}}, +{2276, 15, 3630, {1, 1, 1, 11, 31, 39, 121, 147, 305, 383, 1211, 1897, 7647, 11687, 18907}}, +{2277, 15, 3635, {1, 3, 3, 15, 23, 53, 17, 85, 395, 503, 61, 1745, 4713, 4641, 13787}}, +{2278, 15, 3642, {1, 1, 7, 7, 27, 1, 105, 29, 287, 37, 959, 975, 4427, 4705, 10175}}, +{2279, 15, 3644, {1, 3, 3, 5, 7, 63, 57, 199, 27, 107, 1095, 3923, 6969, 713, 11619}}, +{2280, 15, 3650, {1, 3, 5, 1, 5, 49, 85, 45, 449, 45, 49, 3419, 1109, 455, 15917}}, +{2281, 15, 3679, {1, 1, 1, 5, 13, 15, 39, 27, 467, 85, 1537, 3055, 1977, 8829, 25231}}, +{2282, 15, 3690, {1, 1, 1, 15, 1, 47, 23, 121, 147, 547, 1865, 1491, 779, 3515, 12667}}, +{2283, 15, 3698, {1, 3, 3, 1, 19, 5, 77, 101, 1, 721, 1149, 2967, 4925, 11889, 16655}}, +{2284, 15, 3704, {1, 1, 1, 7, 1, 35, 95, 239, 127, 855, 1031, 455, 7631, 6039, 21983}}, +{2285, 15, 3707, {1, 3, 7, 9, 23, 43, 75, 105, 335, 223, 1825, 3217, 413, 7473, 30005}}, +{2286, 15, 3713, {1, 1, 5, 15, 29, 9, 43, 145, 223, 523, 511, 323, 5955, 11141, 22533}}, +{2287, 15, 3754, {1, 1, 3, 1, 13, 61, 93, 133, 461, 233, 383, 693, 7347, 3165, 27493}}, +{2288, 15, 3756, {1, 3, 7, 1, 13, 45, 113, 207, 53, 1007, 815, 1145, 2937, 289, 22195}}, +{2289, 15, 3761, {1, 3, 5, 5, 19, 17, 113, 89, 19, 1023, 1625, 3277, 697, 5187, 15433}}, +{2290, 15, 3776, {1, 1, 3, 13, 21, 15, 15, 197, 409, 391, 1993, 2475, 3189, 4431, 29585}}, +{2291, 15, 3781, {1, 1, 5, 5, 31, 7, 111, 231, 187, 543, 45, 3863, 3811, 4573, 4437}}, +{2292, 15, 3788, {1, 3, 3, 7, 19, 7, 123, 23, 79, 513, 189, 3663, 1291, 13257, 8949}}, +{2293, 15, 3791, {1, 1, 5, 13, 3, 53, 109, 133, 157, 223, 651, 3059, 6055, 14455, 26903}}, +{2294, 15, 3794, {1, 1, 7, 1, 23, 63, 59, 229, 17, 199, 643, 637, 7631, 13647, 7399}}, +{2295, 15, 3806, {1, 1, 1, 3, 1, 51, 119, 67, 335, 543, 913, 3565, 4795, 13405, 7463}}, +{2296, 15, 3841, {1, 1, 5, 3, 31, 5, 91, 97, 23, 223, 837, 1353, 1929, 12043, 10039}}, +{2297, 15, 3848, {1, 3, 5, 7, 19, 3, 79, 171, 301, 687, 1545, 355, 4709, 12965, 16797}}, +{2298, 15, 3851, {1, 3, 5, 11, 11, 49, 111, 123, 251, 569, 1605, 401, 5439, 13519, 8847}}, +{2299, 15, 3856, {1, 3, 1, 3, 3, 53, 7, 55, 369, 633, 181, 4037, 2993, 15815, 8661}}, +{2300, 15, 3868, {1, 1, 1, 13, 31, 29, 75, 167, 279, 597, 539, 1791, 8013, 4387, 9717}}, +{2301, 15, 3875, {1, 1, 5, 7, 17, 15, 99, 183, 211, 49, 225, 3143, 4537, 13141, 23375}}, +{2302, 15, 3882, {1, 1, 3, 5, 3, 59, 25, 149, 467, 69, 1939, 1007, 2765, 4693, 29815}}, +{2303, 15, 3884, {1, 3, 1, 3, 17, 33, 119, 189, 447, 251, 879, 177, 5395, 13487, 9587}}, +{2304, 15, 3889, {1, 3, 3, 7, 15, 31, 115, 3, 21, 817, 475, 1849, 6041, 12541, 18701}}, +{2305, 15, 3892, {1, 1, 5, 13, 31, 33, 7, 115, 361, 587, 1919, 1007, 3537, 7493, 19357}}, +{2306, 15, 3919, {1, 3, 7, 13, 23, 35, 15, 111, 123, 633, 805, 1983, 2109, 14477, 4985}}, +{2307, 15, 3921, {1, 3, 3, 11, 25, 13, 11, 205, 97, 893, 927, 1291, 4007, 13593, 29693}}, +{2308, 15, 3958, {1, 3, 5, 15, 9, 13, 121, 89, 215, 823, 1389, 1581, 8095, 4707, 16061}}, +{2309, 15, 3961, {1, 3, 1, 3, 23, 39, 83, 23, 47, 941, 1419, 2389, 5699, 7519, 5829}}, +{2310, 15, 3973, {1, 3, 1, 9, 23, 43, 79, 237, 93, 203, 695, 225, 5645, 3591, 16775}}, +{2311, 15, 3977, {1, 3, 5, 3, 15, 19, 89, 129, 375, 125, 225, 1323, 2267, 11607, 17937}}, +{2312, 15, 3985, {1, 3, 3, 1, 31, 37, 93, 133, 377, 959, 707, 621, 7179, 15493, 30287}}, +{2313, 15, 3991, {1, 3, 7, 13, 5, 13, 15, 1, 37, 525, 1641, 2829, 6139, 4069, 19187}}, +{2314, 15, 4004, {1, 3, 3, 9, 17, 3, 67, 97, 375, 845, 403, 973, 3919, 2275, 31627}}, +{2315, 15, 4007, {1, 1, 3, 3, 25, 7, 91, 67, 271, 465, 481, 3477, 5229, 241, 8411}}, +{2316, 15, 4019, {1, 1, 1, 11, 1, 41, 109, 115, 75, 787, 309, 2887, 179, 9073, 13895}}, +{2317, 15, 4045, {1, 3, 3, 15, 11, 31, 113, 91, 303, 907, 1933, 2167, 7799, 11821, 20659}}, +{2318, 15, 4054, {1, 3, 1, 15, 27, 17, 21, 41, 99, 137, 1397, 929, 5819, 11977, 6201}}, +{2319, 15, 4057, {1, 1, 7, 13, 21, 29, 47, 239, 287, 305, 899, 2711, 1723, 3315, 199}}, +{2320, 15, 4058, {1, 1, 1, 3, 31, 21, 101, 149, 107, 761, 1197, 1703, 4803, 8411, 10649}}, +{2321, 15, 4070, {1, 1, 5, 15, 23, 45, 109, 221, 85, 619, 169, 1013, 3305, 9451, 26189}}, +{2322, 15, 4101, {1, 3, 5, 13, 7, 57, 19, 153, 231, 627, 565, 1595, 6309, 5037, 25505}}, +{2323, 15, 4113, {1, 1, 7, 7, 1, 45, 43, 79, 271, 59, 219, 2255, 1785, 7919, 24061}}, +{2324, 15, 4114, {1, 3, 7, 5, 31, 57, 57, 231, 33, 227, 531, 679, 1141, 85, 19777}}, +{2325, 15, 4119, {1, 1, 3, 15, 11, 59, 59, 169, 459, 693, 907, 1191, 3783, 12809, 6263}}, +{2326, 15, 4129, {1, 1, 7, 13, 19, 21, 105, 65, 267, 141, 1547, 781, 7295, 13565, 17775}}, +{2327, 15, 4141, {1, 3, 3, 5, 31, 63, 97, 155, 477, 661, 329, 797, 2539, 4061, 10537}}, +{2328, 15, 4142, {1, 3, 3, 7, 11, 17, 119, 89, 71, 103, 1043, 413, 6035, 12829, 11559}}, +{2329, 15, 4147, {1, 3, 1, 9, 5, 19, 53, 185, 103, 629, 2015, 1257, 5163, 10581, 13449}}, +{2330, 15, 4149, {1, 1, 1, 5, 23, 35, 25, 129, 179, 959, 677, 2249, 6315, 12151, 3459}}, +{2331, 15, 4150, {1, 1, 1, 1, 9, 47, 93, 45, 35, 45, 265, 2065, 6225, 25, 27135}}, +{2332, 15, 4164, {1, 3, 1, 11, 21, 53, 127, 163, 311, 667, 597, 1561, 4515, 23, 9551}}, +{2333, 15, 4168, {1, 1, 3, 3, 7, 47, 105, 211, 241, 95, 389, 899, 6001, 8129, 19889}}, +{2334, 15, 4186, {1, 1, 3, 15, 29, 45, 9, 27, 483, 799, 269, 1811, 4493, 7109, 22149}}, +{2335, 15, 4198, {1, 1, 3, 3, 29, 5, 57, 205, 187, 615, 1677, 3987, 4577, 8799, 16311}}, +{2336, 15, 4207, {1, 1, 5, 3, 15, 5, 91, 101, 319, 445, 1261, 2039, 4071, 8249, 11611}}, +{2337, 15, 4221, {1, 3, 7, 11, 19, 17, 1, 185, 153, 579, 1001, 2031, 2295, 16335, 24771}}, +{2338, 15, 4225, {1, 3, 3, 15, 13, 45, 93, 185, 319, 667, 1085, 93, 577, 11551, 11355}}, +{2339, 15, 4231, {1, 1, 7, 13, 3, 61, 45, 191, 51, 981, 1151, 2715, 2503, 4147, 4587}}, +{2340, 15, 4238, {1, 1, 3, 3, 27, 17, 71, 141, 57, 981, 1033, 333, 4639, 15885, 1039}}, +{2341, 15, 4243, {1, 3, 3, 15, 21, 55, 33, 123, 357, 893, 829, 4045, 5027, 11727, 13357}}, +{2342, 15, 4249, {1, 1, 1, 9, 31, 47, 27, 223, 311, 205, 179, 3411, 4019, 10997, 28115}}, +{2343, 15, 4250, {1, 3, 5, 1, 3, 39, 15, 7, 501, 641, 735, 295, 2005, 12641, 19779}}, +{2344, 15, 4252, {1, 3, 3, 1, 15, 1, 75, 243, 329, 267, 1323, 2285, 5389, 11881, 15737}}, +{2345, 15, 4259, {1, 1, 3, 3, 13, 17, 101, 99, 209, 939, 1147, 3221, 5159, 3435, 183}}, +{2346, 15, 4279, {1, 1, 1, 1, 27, 43, 29, 179, 179, 659, 807, 313, 4165, 963, 11317}}, +{2347, 15, 4285, {1, 1, 3, 13, 9, 51, 125, 245, 381, 555, 1383, 3887, 2045, 12829, 12029}}, +{2348, 15, 4288, {1, 1, 1, 9, 29, 39, 55, 127, 235, 617, 1553, 3133, 7735, 14725, 16733}}, +{2349, 15, 4303, {1, 1, 3, 5, 15, 9, 47, 217, 89, 987, 1083, 1045, 4745, 12915, 13719}}, +{2350, 15, 4312, {1, 3, 3, 7, 23, 3, 35, 79, 45, 435, 1549, 2645, 2831, 10359, 10041}}, +{2351, 15, 4322, {1, 1, 7, 15, 31, 61, 25, 223, 511, 319, 487, 1677, 739, 7097, 18417}}, +{2352, 15, 4327, {1, 1, 7, 5, 19, 21, 123, 237, 299, 367, 1341, 1449, 2949, 8629, 11051}}, +{2353, 15, 4336, {1, 3, 7, 7, 31, 53, 125, 33, 257, 719, 1297, 895, 5095, 10237, 12309}}, +{2354, 15, 4359, {1, 3, 1, 5, 31, 59, 73, 211, 97, 209, 1289, 4033, 6143, 14275, 7997}}, +{2355, 15, 4384, {1, 1, 5, 7, 31, 5, 75, 105, 389, 985, 9, 4033, 1185, 7821, 19083}}, +{2356, 15, 4387, {1, 1, 1, 15, 11, 39, 73, 253, 275, 813, 25, 3441, 2493, 5873, 3739}}, +{2357, 15, 4401, {1, 3, 7, 1, 31, 19, 119, 5, 109, 397, 1329, 3347, 5941, 12449, 2533}}, +{2358, 15, 4407, {1, 1, 1, 1, 5, 59, 61, 175, 435, 985, 65, 3781, 5425, 15073, 16361}}, +{2359, 15, 4428, {1, 3, 5, 7, 31, 13, 53, 87, 69, 305, 1455, 273, 2197, 4277, 24423}}, +{2360, 15, 4436, {1, 3, 3, 15, 13, 13, 91, 171, 71, 583, 15, 3599, 6801, 10041, 26097}}, +{2361, 15, 4450, {1, 3, 3, 5, 5, 13, 91, 225, 63, 69, 1795, 341, 461, 5015, 9471}}, +{2362, 15, 4452, {1, 3, 7, 5, 21, 55, 109, 39, 459, 925, 229, 2855, 5807, 2117, 31739}}, +{2363, 15, 4459, {1, 1, 3, 3, 1, 5, 17, 177, 401, 727, 1555, 3097, 1243, 5933, 14579}}, +{2364, 15, 4461, {1, 1, 7, 3, 19, 19, 37, 87, 105, 73, 197, 4067, 6237, 10553, 9207}}, +{2365, 15, 4470, {1, 1, 3, 15, 1, 55, 119, 115, 441, 3, 1003, 1631, 197, 12929, 25385}}, +{2366, 15, 4483, {1, 3, 7, 11, 31, 1, 119, 49, 467, 647, 685, 2771, 3689, 11049, 26787}}, +{2367, 15, 4485, {1, 1, 1, 11, 19, 19, 21, 73, 459, 935, 615, 371, 1099, 14407, 10375}}, +{2368, 15, 4486, {1, 3, 5, 13, 15, 3, 107, 179, 259, 677, 1101, 315, 7673, 14639, 11241}}, +{2369, 15, 4492, {1, 1, 7, 9, 15, 21, 93, 25, 349, 23, 1087, 27, 5691, 12997, 29301}}, +{2370, 15, 4497, {1, 3, 3, 5, 7, 43, 1, 195, 69, 753, 1315, 2629, 3259, 5595, 19439}}, +{2371, 15, 4514, {1, 3, 5, 5, 31, 9, 75, 217, 217, 197, 1925, 2033, 3585, 15219, 20251}}, +{2372, 15, 4533, {1, 1, 5, 11, 17, 31, 3, 209, 315, 49, 949, 2267, 4611, 4375, 16431}}, +{2373, 15, 4537, {1, 1, 7, 9, 17, 35, 13, 115, 119, 553, 1527, 2857, 3599, 391, 25101}}, +{2374, 15, 4546, {1, 3, 3, 15, 13, 59, 17, 177, 301, 719, 909, 1663, 5033, 1129, 529}}, +{2375, 15, 4551, {1, 1, 7, 5, 15, 13, 99, 157, 379, 975, 1019, 2251, 3807, 10621, 351}}, +{2376, 15, 4555, {1, 3, 3, 13, 5, 57, 5, 31, 361, 981, 883, 3723, 2259, 5151, 11783}}, +{2377, 15, 4560, {1, 1, 1, 13, 1, 43, 125, 19, 77, 509, 1817, 3795, 1863, 8401, 27253}}, +{2378, 15, 4569, {1, 1, 5, 7, 19, 41, 21, 151, 89, 189, 769, 1937, 4497, 13607, 24691}}, +{2379, 15, 4576, {1, 1, 1, 9, 21, 9, 1, 195, 31, 907, 1719, 1549, 809, 13629, 16597}}, +{2380, 15, 4582, {1, 1, 1, 3, 21, 61, 103, 219, 311, 849, 523, 21, 4533, 6367, 3935}}, +{2381, 15, 4586, {1, 1, 7, 9, 7, 33, 77, 19, 489, 933, 1729, 1813, 6741, 10701, 7}}, +{2382, 15, 4609, {1, 1, 1, 5, 23, 53, 43, 63, 453, 209, 1313, 2847, 2641, 13783, 14983}}, +{2383, 15, 4610, {1, 3, 7, 7, 15, 45, 83, 241, 509, 659, 213, 221, 5205, 6019, 18945}}, +{2384, 15, 4612, {1, 1, 5, 9, 25, 43, 37, 9, 191, 505, 765, 295, 953, 1045, 11203}}, +{2385, 15, 4649, {1, 3, 7, 11, 5, 49, 45, 177, 379, 695, 355, 1711, 7747, 497, 7597}}, +{2386, 15, 4652, {1, 1, 5, 13, 23, 47, 101, 145, 301, 207, 195, 2225, 8093, 15345, 14097}}, +{2387, 15, 4672, {1, 3, 7, 13, 9, 9, 55, 223, 343, 921, 1825, 3281, 2627, 855, 27651}}, +{2388, 15, 4677, {1, 1, 7, 1, 21, 1, 67, 149, 433, 111, 577, 3675, 495, 9043, 23613}}, +{2389, 15, 4684, {1, 3, 1, 13, 9, 39, 37, 73, 117, 559, 1131, 2511, 7599, 8393, 24747}}, +{2390, 15, 4690, {1, 3, 3, 7, 11, 15, 85, 229, 7, 21, 1649, 739, 375, 13991, 27053}}, +{2391, 15, 4695, {1, 1, 5, 5, 15, 41, 49, 117, 173, 825, 1343, 377, 1789, 12519, 30667}}, +{2392, 15, 4696, {1, 1, 7, 15, 9, 11, 97, 99, 347, 729, 9, 1703, 1177, 5189, 9061}}, +{2393, 15, 4702, {1, 1, 5, 11, 15, 25, 99, 63, 89, 675, 561, 215, 8111, 3955, 24635}}, +{2394, 15, 4705, {1, 1, 1, 1, 7, 53, 99, 193, 233, 731, 733, 1883, 7783, 14413, 14003}}, +{2395, 15, 4717, {1, 3, 5, 7, 31, 23, 45, 153, 337, 293, 443, 2301, 5135, 7455, 13123}}, +{2396, 15, 4726, {1, 3, 1, 3, 23, 53, 23, 165, 53, 875, 1543, 1035, 4247, 5101, 28445}}, +{2397, 15, 4736, {1, 1, 1, 15, 13, 41, 77, 93, 205, 743, 1101, 1413, 2371, 7183, 12337}}, +{2398, 15, 4753, {1, 1, 3, 15, 17, 63, 25, 101, 147, 149, 1207, 3525, 2661, 9539, 11145}}, +{2399, 15, 4754, {1, 3, 1, 9, 17, 5, 3, 35, 389, 909, 1017, 2803, 5243, 13025, 8851}}, +{2400, 15, 4756, {1, 1, 7, 15, 19, 27, 69, 91, 71, 547, 1421, 831, 6969, 5517, 28233}}, +{2401, 15, 4775, {1, 1, 3, 3, 17, 45, 55, 63, 263, 819, 1211, 2739, 655, 13269, 22281}}, +{2402, 15, 4801, {1, 3, 1, 5, 23, 13, 81, 251, 83, 551, 491, 1029, 3561, 357, 23393}}, +{2403, 15, 4819, {1, 3, 1, 13, 25, 27, 93, 143, 407, 403, 1395, 1733, 3187, 1917, 31453}}, +{2404, 15, 4828, {1, 1, 7, 13, 3, 21, 85, 113, 483, 461, 1343, 561, 2081, 10857, 24253}}, +{2405, 15, 4838, {1, 1, 1, 1, 11, 11, 53, 135, 25, 163, 1729, 617, 1533, 10881, 16041}}, +{2406, 15, 4852, {1, 1, 5, 1, 3, 49, 125, 139, 77, 891, 815, 3431, 4875, 12513, 4595}}, +{2407, 15, 4856, {1, 1, 1, 1, 27, 63, 111, 109, 421, 425, 345, 1613, 5447, 1357, 32413}}, +{2408, 15, 4873, {1, 3, 5, 3, 17, 5, 37, 171, 259, 281, 1003, 2901, 3241, 15557, 21415}}, +{2409, 15, 4887, {1, 1, 5, 11, 15, 55, 75, 199, 493, 215, 1625, 2345, 7873, 2325, 11003}}, +{2410, 15, 4891, {1, 3, 7, 1, 21, 33, 23, 5, 495, 941, 1185, 475, 5799, 15161, 10677}}, +{2411, 15, 4904, {1, 1, 5, 9, 31, 37, 37, 29, 217, 389, 297, 3097, 7319, 2601, 15307}}, +{2412, 15, 4912, {1, 3, 7, 5, 7, 45, 111, 167, 297, 275, 1669, 2489, 1511, 15753, 1289}}, +{2413, 15, 4921, {1, 3, 1, 7, 3, 45, 19, 11, 189, 199, 1227, 2647, 1897, 9077, 17189}}, +{2414, 15, 4936, {1, 1, 1, 13, 15, 39, 19, 179, 147, 341, 283, 3029, 7599, 8937, 18761}}, +{2415, 15, 4941, {1, 3, 3, 9, 3, 11, 41, 255, 365, 835, 921, 389, 919, 15223, 14541}}, +{2416, 15, 4942, {1, 1, 3, 3, 5, 37, 29, 203, 313, 271, 1207, 487, 3711, 3811, 26757}}, +{2417, 15, 4963, {1, 3, 7, 9, 19, 53, 49, 139, 351, 537, 1681, 1595, 5399, 13839, 28685}}, +{2418, 15, 4984, {1, 3, 1, 1, 15, 35, 21, 37, 247, 891, 1855, 1243, 3137, 10381, 30379}}, +{2419, 15, 4990, {1, 3, 7, 5, 9, 47, 91, 25, 479, 337, 781, 3545, 1045, 9491, 22853}}, +{2420, 15, 5005, {1, 1, 5, 15, 19, 31, 81, 5, 117, 923, 565, 2443, 7383, 1795, 11685}}, +{2421, 15, 5013, {1, 3, 3, 5, 17, 15, 21, 245, 489, 889, 2047, 2737, 7445, 14785, 13401}}, +{2422, 15, 5020, {1, 1, 1, 15, 19, 45, 67, 117, 299, 607, 953, 743, 6863, 12123, 6701}}, +{2423, 15, 5039, {1, 1, 3, 1, 1, 43, 19, 129, 345, 861, 209, 2387, 7205, 7131, 8235}}, +{2424, 15, 5048, {1, 3, 5, 1, 1, 13, 75, 99, 333, 157, 23, 1217, 1857, 15479, 16031}}, +{2425, 15, 5062, {1, 3, 3, 11, 7, 61, 119, 89, 491, 401, 227, 1739, 3807, 16003, 2875}}, +{2426, 15, 5080, {1, 3, 7, 15, 13, 55, 3, 159, 405, 593, 975, 361, 2563, 6061, 28087}}, +{2427, 15, 5085, {1, 1, 3, 13, 19, 5, 5, 9, 119, 41, 33, 1111, 4443, 4663, 28841}}, +{2428, 15, 5086, {1, 1, 7, 7, 25, 59, 125, 255, 49, 947, 1673, 2947, 6369, 2267, 8813}}, +{2429, 15, 5095, {1, 1, 5, 15, 25, 25, 111, 193, 217, 193, 821, 2779, 69, 2957, 27043}}, +{2430, 15, 5096, {1, 3, 5, 7, 21, 19, 51, 157, 203, 487, 1745, 1875, 911, 14071, 7557}}, +{2431, 15, 5102, {1, 1, 5, 9, 3, 15, 55, 73, 313, 245, 1061, 1929, 3035, 607, 11563}}, +{2432, 15, 5107, {1, 1, 5, 7, 3, 57, 105, 121, 461, 43, 803, 1801, 4059, 2157, 17547}}, +{2433, 15, 5141, {1, 3, 7, 7, 19, 11, 1, 121, 499, 841, 601, 3515, 2969, 13697, 8917}}, +{2434, 15, 5145, {1, 3, 3, 3, 13, 35, 113, 231, 391, 689, 697, 2871, 7387, 715, 27005}}, +{2435, 15, 5148, {1, 1, 1, 13, 19, 5, 17, 43, 175, 291, 987, 1917, 7635, 15655, 10689}}, +{2436, 15, 5157, {1, 1, 7, 15, 19, 37, 121, 243, 125, 623, 1231, 29, 2325, 5147, 21435}}, +{2437, 15, 5158, {1, 3, 5, 15, 25, 27, 57, 187, 77, 401, 1489, 2977, 5415, 3381, 2551}}, +{2438, 15, 5162, {1, 1, 1, 7, 1, 1, 85, 27, 115, 559, 9, 2365, 711, 5733, 2819}}, +{2439, 15, 5172, {1, 3, 1, 15, 9, 29, 61, 113, 169, 349, 591, 1061, 6041, 7613, 23691}}, +{2440, 15, 5182, {1, 1, 5, 1, 13, 45, 49, 227, 345, 563, 87, 3597, 3961, 7205, 8441}}, +{2441, 15, 5184, {1, 1, 1, 5, 3, 21, 121, 183, 463, 83, 1365, 539, 1485, 10063, 24867}}, +{2442, 15, 5193, {1, 3, 5, 5, 3, 61, 101, 237, 41, 147, 1907, 3049, 7583, 8283, 6099}}, +{2443, 15, 5199, {1, 3, 1, 15, 31, 57, 19, 155, 445, 805, 1793, 207, 1975, 3357, 14281}}, +{2444, 15, 5201, {1, 1, 7, 13, 9, 39, 27, 73, 165, 345, 543, 4095, 133, 10469, 11573}}, +{2445, 15, 5204, {1, 1, 7, 15, 17, 57, 99, 81, 359, 367, 1057, 1173, 4225, 15127, 2615}}, +{2446, 15, 5211, {1, 3, 5, 3, 31, 23, 113, 111, 495, 947, 1625, 1195, 2053, 1509, 1347}}, +{2447, 15, 5223, {1, 1, 5, 5, 9, 47, 25, 63, 455, 107, 771, 3815, 3827, 16287, 11615}}, +{2448, 15, 5230, {1, 1, 7, 9, 17, 61, 51, 215, 63, 123, 1253, 3927, 721, 9647, 3283}}, +{2449, 15, 5232, {1, 1, 5, 15, 11, 17, 83, 255, 473, 107, 681, 763, 7855, 8043, 31503}}, +{2450, 15, 5253, {1, 3, 1, 7, 7, 31, 37, 5, 253, 155, 2017, 609, 1421, 14927, 25241}}, +{2451, 15, 5257, {1, 3, 3, 13, 31, 25, 21, 241, 431, 193, 681, 2265, 5091, 11479, 21443}}, +{2452, 15, 5260, {1, 3, 5, 5, 15, 9, 49, 255, 157, 995, 631, 1995, 3605, 9085, 24245}}, +{2453, 15, 5284, {1, 3, 3, 7, 19, 31, 85, 153, 493, 951, 451, 1587, 6609, 3681, 13205}}, +{2454, 15, 5306, {1, 1, 5, 1, 17, 41, 107, 231, 307, 361, 575, 3239, 3443, 16159, 20625}}, +{2455, 15, 5331, {1, 1, 7, 9, 31, 49, 93, 79, 181, 117, 1241, 3645, 4901, 12599, 13247}}, +{2456, 15, 5334, {1, 3, 3, 9, 7, 31, 127, 201, 11, 199, 1851, 23, 5667, 8159, 20951}}, +{2457, 15, 5364, {1, 3, 3, 7, 3, 37, 29, 189, 65, 461, 769, 321, 6577, 16223, 16865}}, +{2458, 15, 5367, {1, 1, 5, 11, 1, 13, 91, 167, 33, 111, 1445, 1047, 2479, 12623, 22893}}, +{2459, 15, 5371, {1, 1, 3, 1, 3, 1, 47, 185, 329, 903, 1651, 3005, 907, 1255, 8303}}, +{2460, 15, 5382, {1, 3, 5, 13, 19, 31, 5, 233, 265, 769, 1303, 2503, 2229, 14019, 20257}}, +{2461, 15, 5386, {1, 3, 7, 3, 27, 11, 67, 195, 5, 661, 125, 3761, 7211, 16043, 7267}}, +{2462, 15, 5399, {1, 1, 1, 3, 27, 13, 115, 25, 473, 417, 1751, 2223, 2099, 5913, 14273}}, +{2463, 15, 5400, {1, 3, 7, 15, 13, 53, 99, 115, 225, 737, 1621, 539, 4131, 471, 31865}}, +{2464, 15, 5409, {1, 1, 5, 5, 25, 19, 39, 207, 153, 569, 1755, 2477, 3065, 7383, 29919}}, +{2465, 15, 5415, {1, 3, 5, 11, 13, 59, 33, 3, 435, 273, 701, 3819, 7291, 11803, 26111}}, +{2466, 15, 5416, {1, 1, 3, 9, 29, 19, 71, 59, 93, 1019, 887, 83, 4675, 7541, 26821}}, +{2467, 15, 5424, {1, 3, 1, 3, 21, 53, 71, 73, 43, 321, 1581, 1399, 4043, 12995, 16825}}, +{2468, 15, 5436, {1, 3, 7, 15, 3, 13, 37, 11, 93, 873, 1193, 3481, 451, 15869, 17879}}, +{2469, 15, 5454, {1, 3, 1, 11, 31, 19, 101, 57, 129, 753, 853, 463, 6757, 11083, 8667}}, +{2470, 15, 5462, {1, 3, 5, 15, 25, 41, 25, 197, 235, 609, 905, 993, 3233, 1935, 24661}}, +{2471, 15, 5468, {1, 3, 1, 5, 21, 7, 53, 107, 473, 77, 1135, 1045, 4933, 5615, 15931}}, +{2472, 15, 5481, {1, 3, 7, 11, 3, 9, 105, 183, 151, 527, 425, 975, 4073, 913, 2793}}, +{2473, 15, 5505, {1, 1, 7, 13, 19, 61, 81, 9, 413, 851, 1723, 1113, 1453, 8635, 3353}}, +{2474, 15, 5511, {1, 3, 7, 15, 19, 53, 83, 31, 441, 343, 575, 935, 4543, 1303, 12567}}, +{2475, 15, 5518, {1, 1, 1, 5, 29, 19, 119, 75, 3, 591, 845, 649, 1717, 13695, 26905}}, +{2476, 15, 5530, {1, 1, 7, 9, 5, 53, 127, 191, 15, 773, 1433, 2899, 21, 4977, 17839}}, +{2477, 15, 5532, {1, 1, 5, 9, 21, 9, 99, 115, 397, 99, 725, 3835, 973, 1219, 21159}}, +{2478, 15, 5539, {1, 3, 5, 3, 7, 39, 29, 93, 303, 913, 981, 3549, 5225, 10907, 393}}, +{2479, 15, 5553, {1, 3, 3, 11, 9, 25, 105, 101, 1, 867, 389, 2241, 773, 14123, 10015}}, +{2480, 15, 5573, {1, 1, 5, 1, 1, 37, 117, 213, 391, 779, 1851, 1485, 1277, 5607, 819}}, +{2481, 15, 5580, {1, 3, 7, 1, 3, 5, 43, 47, 483, 367, 749, 1693, 4961, 15257, 3775}}, +{2482, 15, 5597, {1, 3, 3, 1, 27, 11, 21, 83, 437, 379, 1041, 393, 5611, 2421, 31739}}, +{2483, 15, 5602, {1, 3, 5, 7, 19, 1, 79, 63, 53, 201, 1159, 2501, 6327, 11317, 9537}}, +{2484, 15, 5608, {1, 3, 5, 13, 9, 37, 61, 217, 427, 913, 1311, 3503, 5473, 10583, 19723}}, +{2485, 15, 5611, {1, 1, 3, 9, 11, 29, 121, 175, 141, 515, 925, 837, 6011, 10419, 32157}}, +{2486, 15, 5613, {1, 3, 5, 9, 27, 57, 97, 175, 365, 367, 1737, 3845, 1257, 12243, 2201}}, +{2487, 15, 5625, {1, 3, 3, 9, 23, 1, 53, 123, 127, 333, 1335, 707, 5747, 6541, 9809}}, +{2488, 15, 5632, {1, 3, 1, 9, 17, 37, 101, 41, 91, 61, 433, 979, 4345, 12351, 10829}}, +{2489, 15, 5635, {1, 3, 3, 13, 3, 21, 15, 49, 257, 99, 1793, 2987, 5233, 11625, 28069}}, +{2490, 15, 5638, {1, 1, 7, 11, 21, 13, 89, 11, 135, 153, 783, 2893, 6815, 12007, 15605}}, +{2491, 15, 5652, {1, 3, 7, 13, 5, 61, 73, 5, 269, 699, 925, 2925, 5919, 5841, 24875}}, +{2492, 15, 5659, {1, 3, 5, 5, 25, 45, 43, 93, 15, 927, 1253, 319, 1173, 14559, 20221}}, +{2493, 15, 5677, {1, 1, 3, 3, 27, 45, 9, 103, 447, 627, 1239, 3869, 2169, 49, 17917}}, +{2494, 15, 5686, {1, 3, 7, 7, 11, 9, 1, 1, 1, 527, 825, 3295, 623, 2095, 10537}}, +{2495, 15, 5689, {1, 3, 3, 11, 21, 11, 59, 165, 33, 743, 1461, 1535, 6393, 1301, 17823}}, +{2496, 15, 5698, {1, 1, 7, 3, 19, 43, 47, 245, 469, 551, 1447, 1963, 169, 1481, 31925}}, +{2497, 15, 5703, {1, 1, 3, 1, 11, 21, 51, 7, 251, 199, 1153, 767, 6417, 3417, 30171}}, +{2498, 15, 5707, {1, 3, 7, 1, 31, 5, 41, 103, 447, 263, 211, 2029, 8021, 4705, 10579}}, +{2499, 15, 5731, {1, 1, 3, 5, 17, 25, 55, 75, 393, 107, 2017, 2389, 1685, 14021, 9161}}, +{2500, 15, 5738, {1, 1, 1, 9, 13, 1, 75, 237, 205, 461, 689, 2531, 2839, 13925, 23351}}, +{2501, 15, 5743, {1, 3, 7, 1, 23, 39, 33, 189, 157, 571, 239, 1053, 1559, 1685, 23059}}, +{2502, 15, 5748, {1, 3, 3, 3, 27, 61, 71, 121, 49, 157, 1341, 1707, 2417, 11689, 26507}}, +{2503, 15, 5758, {1, 3, 7, 7, 19, 63, 47, 53, 95, 791, 1467, 1273, 2045, 755, 8555}}, +{2504, 15, 5762, {1, 1, 3, 15, 27, 33, 21, 253, 317, 153, 1509, 1765, 3809, 601, 5907}}, +{2505, 15, 5768, {1, 3, 5, 15, 11, 17, 97, 91, 165, 199, 1751, 2135, 1315, 3077, 29995}}, +{2506, 15, 5773, {1, 3, 1, 5, 3, 33, 93, 49, 39, 743, 341, 2549, 7603, 3369, 30889}}, +{2507, 15, 5776, {1, 1, 3, 13, 3, 5, 87, 63, 293, 785, 1591, 675, 3915, 2209, 18201}}, +{2508, 15, 5815, {1, 3, 3, 11, 3, 15, 69, 231, 241, 127, 429, 2201, 8173, 12549, 25745}}, +{2509, 15, 5841, {1, 1, 5, 11, 15, 39, 3, 29, 125, 685, 643, 1385, 829, 7347, 28793}}, +{2510, 15, 5847, {1, 1, 7, 15, 27, 15, 59, 237, 299, 773, 1097, 3875, 6503, 7129, 28495}}, +{2511, 15, 5860, {1, 3, 5, 13, 9, 17, 31, 227, 69, 443, 1633, 525, 1659, 14681, 15209}}, +{2512, 15, 5870, {1, 3, 5, 5, 13, 51, 69, 173, 111, 433, 279, 2145, 2091, 9741, 24881}}, +{2513, 15, 5875, {1, 3, 1, 7, 7, 35, 55, 51, 357, 99, 1789, 333, 2073, 10151, 14527}}, +{2514, 15, 5877, {1, 3, 3, 7, 13, 41, 101, 87, 425, 701, 1143, 2733, 6473, 8667, 17419}}, +{2515, 15, 5884, {1, 1, 5, 5, 25, 29, 63, 31, 385, 537, 563, 607, 6723, 9251, 6531}}, +{2516, 15, 5892, {1, 3, 5, 5, 9, 63, 111, 131, 239, 723, 705, 2805, 6579, 12691, 17521}}, +{2517, 15, 5902, {1, 3, 1, 7, 31, 55, 101, 225, 477, 271, 611, 3179, 7859, 9835, 2165}}, +{2518, 15, 5910, {1, 1, 3, 3, 5, 15, 81, 127, 391, 333, 419, 1091, 5997, 12315, 31521}}, +{2519, 15, 5916, {1, 3, 5, 15, 23, 7, 35, 109, 181, 295, 825, 419, 969, 15753, 9365}}, +{2520, 15, 5919, {1, 3, 5, 5, 25, 23, 69, 177, 325, 359, 1577, 619, 6233, 11753, 8103}}, +{2521, 15, 5935, {1, 3, 5, 11, 31, 13, 79, 61, 241, 1011, 1961, 949, 6211, 497, 7099}}, +{2522, 15, 5937, {1, 3, 5, 3, 25, 19, 67, 235, 337, 1015, 1485, 355, 3653, 12735, 14503}}, +{2523, 15, 5944, {1, 3, 5, 7, 31, 23, 35, 231, 147, 15, 263, 1995, 431, 5941, 18931}}, +{2524, 15, 5947, {1, 3, 3, 7, 1, 35, 37, 7, 85, 443, 715, 743, 2189, 12537, 17427}}, +{2525, 15, 5958, {1, 1, 3, 1, 7, 41, 1, 209, 121, 929, 661, 3999, 955, 5123, 31115}}, +{2526, 15, 5962, {1, 1, 3, 5, 11, 43, 127, 125, 107, 293, 273, 2071, 3003, 11631, 7769}}, +{2527, 15, 5969, {1, 1, 1, 13, 13, 29, 39, 217, 111, 779, 1287, 1675, 4201, 4869, 20403}}, +{2528, 15, 5981, {1, 1, 3, 15, 25, 53, 25, 135, 389, 925, 1971, 663, 7545, 2673, 7725}}, +{2529, 15, 5995, {1, 1, 5, 13, 3, 59, 97, 91, 357, 45, 947, 3031, 8095, 6269, 13975}}, +{2530, 15, 5998, {1, 1, 5, 15, 25, 31, 1, 171, 375, 939, 507, 3591, 1089, 13605, 2813}}, +{2531, 15, 6003, {1, 1, 3, 7, 25, 21, 41, 131, 147, 737, 9, 1603, 1859, 11573, 28397}}, +{2532, 15, 6010, {1, 3, 3, 9, 21, 9, 59, 27, 169, 875, 711, 1389, 2899, 7937, 4173}}, +{2533, 15, 6016, {1, 1, 5, 9, 13, 29, 71, 39, 51, 337, 1067, 2661, 1203, 5967, 19249}}, +{2534, 15, 6025, {1, 3, 7, 1, 17, 21, 43, 79, 181, 741, 1901, 3445, 7171, 2109, 1589}}, +{2535, 15, 6031, {1, 1, 3, 9, 23, 37, 105, 51, 227, 775, 1265, 2987, 2197, 13903, 28891}}, +{2536, 15, 6036, {1, 1, 1, 13, 23, 47, 111, 41, 93, 261, 75, 2155, 4301, 11517, 16101}}, +{2537, 15, 6039, {1, 1, 3, 3, 27, 27, 123, 125, 501, 775, 413, 1065, 7607, 15065, 26013}}, +{2538, 15, 6045, {1, 3, 7, 3, 27, 11, 59, 87, 207, 743, 1765, 2969, 913, 8101, 11583}}, +{2539, 15, 6049, {1, 3, 3, 1, 23, 7, 113, 17, 285, 993, 695, 2399, 5019, 4779, 28917}}, +{2540, 15, 6052, {1, 3, 1, 5, 11, 51, 49, 139, 213, 435, 1475, 2209, 6695, 12981, 9851}}, +{2541, 15, 6067, {1, 3, 5, 7, 1, 63, 31, 151, 173, 767, 1453, 1497, 6911, 9597, 25551}}, +{2542, 15, 6074, {1, 1, 7, 7, 21, 53, 39, 159, 389, 231, 309, 359, 7701, 14819, 5175}}, +{2543, 15, 6087, {1, 1, 1, 1, 11, 47, 83, 29, 247, 89, 369, 2727, 3103, 14421, 17369}}, +{2544, 15, 6101, {1, 3, 1, 5, 25, 25, 111, 245, 239, 755, 113, 1765, 3583, 917, 403}}, +{2545, 15, 6121, {1, 3, 3, 3, 5, 59, 85, 151, 463, 591, 743, 3767, 121, 2927, 11031}}, +{2546, 15, 6129, {1, 3, 5, 9, 11, 39, 77, 161, 275, 233, 1991, 2683, 6545, 2423, 32113}}, +{2547, 15, 6142, {1, 3, 5, 11, 5, 57, 13, 229, 329, 757, 1863, 3959, 4243, 7265, 15599}}, +{2548, 15, 6151, {1, 1, 1, 1, 1, 23, 19, 67, 453, 593, 2011, 1813, 4695, 8903, 9623}}, +{2549, 15, 6157, {1, 3, 3, 7, 1, 29, 103, 255, 493, 647, 1709, 4065, 4199, 949, 28829}}, +{2550, 15, 6166, {1, 1, 7, 9, 3, 55, 53, 33, 5, 223, 423, 3347, 7647, 7211, 25157}}, +{2551, 15, 6170, {1, 3, 5, 13, 3, 43, 79, 255, 471, 573, 1007, 2119, 6731, 10047, 23179}}, +{2552, 15, 6175, {1, 1, 1, 3, 7, 39, 55, 61, 53, 377, 435, 401, 3307, 12621, 14299}}, +{2553, 15, 6186, {1, 3, 3, 7, 21, 31, 67, 17, 243, 425, 747, 2995, 1389, 2557, 18415}}, +{2554, 15, 6203, {1, 3, 1, 3, 3, 39, 75, 11, 447, 249, 1135, 1011, 1657, 10767, 19501}}, +{2555, 15, 6217, {1, 3, 1, 11, 17, 51, 117, 129, 17, 143, 785, 103, 5049, 14703, 28479}}, +{2556, 15, 6231, {1, 3, 7, 5, 13, 17, 75, 255, 75, 661, 1175, 477, 1811, 1479, 15783}}, +{2557, 15, 6241, {1, 3, 7, 9, 11, 57, 101, 77, 431, 247, 997, 3657, 5117, 6815, 3841}}, +{2558, 15, 6242, {1, 1, 5, 1, 17, 21, 101, 183, 209, 69, 299, 1585, 6381, 12983, 10053}}, +{2559, 15, 6248, {1, 1, 7, 3, 5, 13, 21, 63, 83, 857, 749, 1251, 5363, 9629, 16563}}, +{2560, 15, 6256, {1, 3, 3, 9, 3, 59, 9, 45, 55, 489, 137, 2423, 2661, 12111, 4375}}, +{2561, 15, 6265, {1, 1, 5, 9, 23, 9, 41, 177, 447, 671, 1631, 3115, 4215, 14435, 8743}}, +{2562, 15, 6275, {1, 3, 7, 11, 19, 23, 15, 221, 413, 783, 1247, 2343, 4397, 3145, 32043}}, +{2563, 15, 6277, {1, 3, 3, 1, 31, 55, 31, 87, 333, 849, 1777, 343, 5199, 1507, 11621}}, +{2564, 15, 6302, {1, 3, 7, 3, 17, 57, 63, 63, 111, 977, 631, 3019, 2953, 14273, 29209}}, +{2565, 15, 6315, {1, 3, 1, 13, 9, 39, 87, 15, 397, 185, 701, 1487, 3807, 13727, 19883}}, +{2566, 15, 6318, {1, 3, 7, 1, 17, 57, 57, 157, 119, 181, 899, 353, 3603, 15041, 7421}}, +{2567, 15, 6330, {1, 1, 7, 3, 29, 13, 29, 191, 105, 373, 961, 1991, 5531, 6793, 29497}}, +{2568, 15, 6343, {1, 3, 3, 11, 7, 61, 65, 39, 215, 187, 191, 1651, 2481, 3951, 24965}}, +{2569, 15, 6347, {1, 1, 7, 5, 25, 11, 105, 23, 257, 771, 1359, 2837, 7821, 12223, 28033}}, +{2570, 15, 6350, {1, 3, 5, 11, 3, 3, 23, 139, 407, 885, 1679, 2979, 8149, 14281, 12487}}, +{2571, 15, 6352, {1, 3, 7, 3, 21, 45, 13, 85, 249, 1015, 2023, 1429, 965, 7091, 31721}}, +{2572, 15, 6371, {1, 1, 1, 13, 19, 5, 119, 47, 91, 285, 211, 2607, 4287, 9197, 455}}, +{2573, 15, 6383, {1, 3, 1, 1, 9, 59, 25, 137, 121, 287, 577, 3325, 2365, 8823, 5033}}, +{2574, 15, 6386, {1, 3, 3, 13, 25, 63, 99, 43, 15, 855, 245, 3189, 59, 5181, 21299}}, +{2575, 15, 6405, {1, 3, 5, 11, 7, 9, 41, 157, 359, 773, 1347, 2049, 4589, 13731, 32133}}, +{2576, 15, 6409, {1, 1, 7, 11, 31, 37, 83, 105, 183, 375, 79, 1821, 1989, 15199, 22207}}, +{2577, 15, 6410, {1, 1, 5, 3, 23, 37, 127, 9, 467, 651, 993, 69, 6943, 4093, 20871}}, +{2578, 15, 6433, {1, 1, 3, 15, 31, 49, 123, 149, 211, 371, 1825, 3011, 485, 1251, 17343}}, +{2579, 15, 6436, {1, 1, 1, 15, 11, 33, 127, 251, 89, 317, 1869, 219, 2275, 14201, 27063}}, +{2580, 15, 6439, {1, 1, 5, 5, 19, 5, 81, 35, 233, 95, 9, 863, 725, 11095, 16217}}, +{2581, 15, 6463, {1, 1, 1, 15, 23, 47, 51, 43, 169, 637, 865, 57, 1509, 1683, 7587}}, +{2582, 15, 6468, {1, 3, 1, 3, 7, 7, 117, 187, 273, 303, 717, 3091, 2083, 3315, 647}}, +{2583, 15, 6477, {1, 1, 5, 15, 13, 27, 23, 227, 145, 547, 1783, 987, 6895, 7135, 11023}}, +{2584, 15, 6496, {1, 1, 5, 11, 21, 39, 57, 203, 477, 17, 985, 1729, 4297, 7483, 13263}}, +{2585, 15, 6511, {1, 3, 7, 9, 3, 49, 71, 45, 143, 967, 39, 583, 2123, 5165, 17437}}, +{2586, 15, 6516, {1, 1, 1, 9, 21, 51, 71, 163, 441, 709, 397, 445, 6167, 7753, 11513}}, +{2587, 15, 6519, {1, 1, 7, 7, 27, 35, 5, 181, 449, 53, 621, 3401, 5263, 4557, 9141}}, +{2588, 15, 6523, {1, 1, 5, 7, 7, 37, 83, 111, 485, 881, 465, 3371, 5603, 371, 29393}}, +{2589, 15, 6530, {1, 3, 1, 15, 7, 47, 41, 245, 377, 823, 309, 3929, 2159, 13917, 13365}}, +{2590, 15, 6539, {1, 3, 7, 7, 7, 29, 25, 141, 19, 611, 79, 2689, 109, 12321, 8345}}, +{2591, 15, 6547, {1, 1, 1, 13, 3, 53, 113, 151, 381, 791, 137, 3185, 3567, 211, 597}}, +{2592, 15, 6589, {1, 1, 3, 9, 7, 53, 87, 89, 491, 861, 467, 3763, 2025, 4187, 9637}}, +{2593, 15, 6592, {1, 1, 7, 1, 27, 33, 71, 41, 63, 1011, 741, 1135, 175, 3739, 21493}}, +{2594, 15, 6601, {1, 3, 3, 5, 9, 19, 55, 175, 325, 55, 1193, 1423, 2049, 9633, 17515}}, +{2595, 15, 6610, {1, 1, 3, 1, 27, 55, 69, 103, 401, 707, 825, 399, 6799, 13199, 6295}}, +{2596, 15, 6616, {1, 3, 7, 3, 19, 63, 25, 151, 17, 159, 1673, 615, 6317, 13261, 26267}}, +{2597, 15, 6619, {1, 3, 7, 9, 27, 1, 77, 129, 423, 647, 707, 2579, 3525, 6723, 31615}}, +{2598, 15, 6626, {1, 3, 3, 7, 7, 31, 35, 241, 309, 369, 895, 3683, 4795, 11319, 451}}, +{2599, 15, 6635, {1, 3, 5, 7, 17, 7, 117, 141, 267, 713, 569, 1915, 4369, 7793, 30853}}, +{2600, 15, 6637, {1, 3, 7, 1, 29, 61, 81, 73, 413, 13, 1977, 3229, 5853, 8451, 15539}}, +{2601, 15, 6638, {1, 3, 7, 1, 5, 45, 109, 21, 431, 487, 2019, 2647, 927, 16015, 10711}}, +{2602, 15, 6652, {1, 3, 1, 3, 11, 19, 37, 183, 451, 377, 269, 3993, 3229, 4899, 26561}}, +{2603, 15, 6656, {1, 3, 1, 11, 5, 19, 121, 55, 57, 117, 687, 83, 3047, 1367, 17595}}, +{2604, 15, 6662, {1, 3, 1, 7, 17, 31, 41, 219, 239, 963, 199, 2895, 5599, 7639, 17201}}, +{2605, 15, 6689, {1, 3, 3, 5, 27, 53, 71, 183, 509, 771, 1809, 1539, 2229, 4893, 17115}}, +{2606, 15, 6699, {1, 1, 3, 9, 9, 9, 13, 49, 265, 643, 1929, 859, 497, 9797, 27771}}, +{2607, 15, 6710, {1, 3, 7, 11, 19, 39, 115, 139, 207, 903, 963, 1849, 4403, 6229, 10021}}, +{2608, 15, 6714, {1, 3, 7, 13, 3, 57, 99, 223, 503, 423, 1755, 807, 1885, 213, 18723}}, +{2609, 15, 6719, {1, 3, 7, 15, 11, 15, 111, 193, 243, 599, 593, 3385, 5393, 15073, 17777}}, +{2610, 15, 6739, {1, 1, 5, 3, 19, 63, 121, 207, 99, 435, 1961, 2747, 6405, 3971, 23481}}, +{2611, 15, 6751, {1, 3, 5, 13, 9, 29, 79, 131, 415, 49, 229, 1003, 3263, 12975, 15987}}, +{2612, 15, 6775, {1, 1, 3, 7, 1, 41, 127, 155, 29, 73, 963, 659, 2741, 3465, 2595}}, +{2613, 15, 6779, {1, 1, 3, 5, 23, 23, 93, 233, 113, 521, 427, 1557, 6917, 12953, 22441}}, +{2614, 15, 6788, {1, 1, 5, 13, 5, 25, 85, 191, 387, 69, 955, 243, 4473, 9813, 21711}}, +{2615, 15, 6798, {1, 3, 3, 7, 1, 53, 95, 65, 231, 995, 539, 2103, 5513, 14087, 28655}}, +{2616, 15, 6815, {1, 3, 5, 3, 17, 13, 19, 227, 197, 91, 1437, 1121, 3307, 6903, 3297}}, +{2617, 15, 6819, {1, 1, 5, 11, 31, 29, 109, 171, 257, 783, 861, 9, 4895, 1859, 10909}}, +{2618, 15, 6825, {1, 1, 7, 13, 5, 47, 61, 5, 363, 351, 1525, 823, 2883, 12435, 17629}}, +{2619, 15, 6826, {1, 1, 5, 11, 9, 3, 69, 159, 371, 477, 1223, 1973, 2757, 413, 31223}}, +{2620, 15, 6836, {1, 1, 3, 5, 23, 45, 43, 195, 423, 829, 1673, 1563, 6633, 14775, 21097}}, +{2621, 15, 6843, {1, 1, 3, 3, 13, 9, 107, 209, 49, 609, 1047, 3691, 7483, 4269, 7557}}, +{2622, 15, 6845, {1, 1, 3, 15, 3, 43, 73, 161, 53, 813, 325, 3439, 7009, 8691, 11711}}, +{2623, 15, 6858, {1, 1, 3, 3, 23, 45, 99, 61, 407, 15, 1515, 1557, 953, 8567, 13729}}, +{2624, 15, 6868, {1, 1, 5, 9, 31, 35, 117, 57, 227, 923, 1373, 1811, 3405, 11979, 10149}}, +{2625, 15, 6877, {1, 1, 3, 9, 15, 53, 105, 209, 153, 67, 1477, 667, 3077, 4911, 3871}}, +{2626, 15, 6881, {1, 1, 3, 3, 21, 53, 93, 101, 183, 1023, 3, 3041, 5815, 9043, 5801}}, +{2627, 15, 6891, {1, 3, 3, 5, 17, 49, 127, 161, 321, 869, 1369, 923, 3235, 711, 30007}}, +{2628, 15, 6896, {1, 1, 3, 3, 15, 17, 97, 229, 389, 159, 1075, 2001, 7905, 15191, 14693}}, +{2629, 15, 6899, {1, 1, 5, 11, 5, 5, 121, 173, 95, 173, 1883, 3915, 1439, 9981, 24375}}, +{2630, 15, 6901, {1, 3, 3, 1, 31, 53, 29, 189, 37, 623, 217, 949, 3959, 7189, 25427}}, +{2631, 15, 6908, {1, 3, 5, 9, 21, 45, 101, 23, 355, 729, 797, 2317, 2931, 7433, 29175}}, +{2632, 15, 6914, {1, 3, 7, 1, 1, 63, 63, 155, 237, 865, 1169, 43, 7335, 6445, 7979}}, +{2633, 15, 6916, {1, 3, 7, 7, 11, 51, 37, 199, 503, 991, 319, 3013, 7885, 12837, 32419}}, +{2634, 15, 6923, {1, 3, 7, 7, 27, 31, 101, 243, 37, 811, 1909, 109, 6455, 7903, 11821}}, +{2635, 15, 6925, {1, 1, 3, 13, 23, 21, 89, 99, 243, 605, 1017, 1871, 1101, 12825, 8227}}, +{2636, 15, 6928, {1, 3, 3, 13, 19, 3, 51, 59, 501, 605, 385, 2189, 3229, 7981, 31407}}, +{2637, 15, 6931, {1, 1, 1, 1, 25, 11, 127, 215, 295, 237, 1245, 3657, 7803, 3897, 655}}, +{2638, 15, 6934, {1, 1, 7, 7, 5, 9, 63, 129, 143, 417, 795, 3409, 2847, 5887, 3093}}, +{2639, 15, 6937, {1, 3, 3, 13, 7, 57, 67, 57, 5, 847, 1185, 3349, 4841, 11457, 8857}}, +{2640, 15, 6938, {1, 1, 3, 3, 9, 53, 51, 43, 85, 437, 13, 2543, 3651, 15493, 767}}, +{2641, 15, 6949, {1, 1, 7, 9, 1, 49, 97, 115, 133, 1011, 1399, 2653, 7765, 13999, 12097}}, +{2642, 15, 6956, {1, 1, 5, 1, 3, 27, 123, 107, 389, 401, 1759, 1333, 1371, 5277, 14865}}, +{2643, 15, 6973, {1, 1, 5, 1, 13, 23, 3, 123, 137, 821, 399, 1671, 3095, 3121, 31387}}, +{2644, 15, 6976, {1, 1, 5, 3, 7, 35, 57, 237, 509, 753, 1783, 2815, 6495, 13283, 7091}}, +{2645, 15, 6981, {1, 1, 7, 11, 5, 37, 77, 109, 7, 969, 1087, 3705, 1695, 14223, 28959}}, +{2646, 15, 6988, {1, 3, 1, 11, 25, 5, 25, 163, 179, 185, 671, 1031, 4537, 11601, 9323}}, +{2647, 15, 6999, {1, 1, 3, 7, 17, 25, 49, 221, 183, 619, 1953, 343, 4523, 14883, 6833}}, +{2648, 15, 7016, {1, 3, 7, 5, 27, 19, 59, 153, 11, 807, 513, 3019, 6875, 5307, 8405}}, +{2649, 15, 7027, {1, 1, 1, 13, 25, 41, 21, 109, 321, 135, 497, 1235, 5177, 5167, 18609}}, +{2650, 15, 7029, {1, 1, 7, 5, 21, 53, 25, 197, 411, 503, 1009, 1921, 4305, 2633, 31415}}, +{2651, 15, 7055, {1, 3, 5, 1, 25, 45, 27, 227, 271, 903, 639, 3805, 657, 8683, 29585}}, +{2652, 15, 7058, {1, 1, 5, 3, 9, 49, 37, 35, 351, 491, 851, 2983, 31, 5619, 6919}}, +{2653, 15, 7074, {1, 1, 5, 3, 11, 49, 33, 153, 393, 1017, 1561, 2795, 4435, 12589, 22349}}, +{2654, 15, 7083, {1, 1, 1, 15, 17, 29, 49, 245, 217, 359, 1133, 393, 3317, 415, 16407}}, +{2655, 15, 7093, {1, 1, 3, 5, 3, 9, 95, 63, 319, 319, 1009, 19, 6453, 16279, 6975}}, +{2656, 15, 7100, {1, 1, 5, 9, 3, 25, 67, 95, 369, 237, 285, 2409, 671, 5143, 121}}, +{2657, 15, 7105, {1, 1, 3, 1, 9, 49, 35, 87, 317, 185, 445, 2263, 7923, 10183, 26615}}, +{2658, 15, 7112, {1, 3, 3, 11, 9, 59, 29, 135, 129, 477, 353, 3571, 1057, 16329, 23523}}, +{2659, 15, 7118, {1, 1, 1, 15, 13, 11, 19, 5, 133, 827, 1799, 1893, 1939, 1101, 12147}}, +{2660, 15, 7120, {1, 1, 3, 3, 15, 49, 33, 185, 511, 1013, 41, 3499, 6235, 7643, 16725}}, +{2661, 15, 7129, {1, 1, 5, 11, 27, 45, 89, 157, 63, 137, 2047, 1275, 4995, 625, 6111}}, +{2662, 15, 7166, {1, 3, 7, 11, 3, 1, 121, 1, 341, 33, 1895, 3033, 3929, 10257, 21037}}, +{2663, 15, 7207, {1, 3, 3, 11, 7, 11, 117, 5, 115, 287, 335, 3415, 5397, 15065, 19121}}, +{2664, 15, 7216, {1, 3, 3, 13, 21, 25, 15, 125, 277, 125, 801, 3761, 2623, 11333, 16867}}, +{2665, 15, 7226, {1, 3, 5, 11, 19, 33, 21, 71, 499, 747, 1515, 185, 1759, 14623, 895}}, +{2666, 15, 7234, {1, 3, 7, 1, 29, 35, 9, 203, 277, 299, 1509, 2017, 2897, 14175, 1643}}, +{2667, 15, 7236, {1, 3, 5, 11, 7, 47, 111, 197, 459, 941, 1619, 2119, 2191, 11049, 6811}}, +{2668, 15, 7246, {1, 1, 5, 9, 7, 43, 103, 115, 87, 269, 1235, 77, 5887, 1611, 29041}}, +{2669, 15, 7248, {1, 1, 5, 7, 1, 61, 83, 225, 179, 81, 1145, 2403, 1485, 8967, 20607}}, +{2670, 15, 7254, {1, 3, 3, 1, 25, 47, 27, 157, 359, 803, 1683, 1995, 6445, 13113, 17899}}, +{2671, 15, 7263, {1, 3, 1, 7, 21, 37, 43, 119, 245, 49, 1581, 2275, 3311, 4087, 29765}}, +{2672, 15, 7273, {1, 1, 3, 13, 5, 33, 49, 191, 455, 105, 665, 3855, 3207, 2671, 32203}}, +{2673, 15, 7274, {1, 3, 1, 1, 25, 63, 19, 217, 17, 353, 947, 1951, 4097, 9041, 11921}}, +{2674, 15, 7293, {1, 3, 1, 7, 21, 31, 113, 97, 347, 993, 1799, 3831, 3711, 6193, 1235}}, +{2675, 15, 7297, {1, 1, 1, 5, 3, 63, 11, 203, 425, 445, 1361, 531, 1265, 1755, 11685}}, +{2676, 15, 7310, {1, 3, 1, 7, 13, 29, 23, 85, 57, 467, 1835, 133, 7961, 4175, 2445}}, +{2677, 15, 7315, {1, 1, 1, 15, 23, 27, 37, 5, 123, 913, 1293, 1633, 3113, 5413, 26407}}, +{2678, 15, 7317, {1, 1, 5, 13, 27, 1, 121, 151, 303, 931, 375, 3679, 1863, 12301, 30907}}, +{2679, 15, 7331, {1, 3, 1, 9, 31, 9, 49, 203, 177, 937, 1503, 933, 5867, 12533, 13621}}, +{2680, 15, 7338, {1, 3, 3, 15, 1, 41, 23, 191, 191, 931, 837, 3553, 2611, 4735, 18105}}, +{2681, 15, 7340, {1, 1, 5, 7, 27, 49, 51, 111, 435, 195, 1229, 711, 7145, 14571, 31707}}, +{2682, 15, 7346, {1, 1, 7, 7, 3, 41, 59, 203, 291, 903, 1727, 2757, 1463, 6287, 31535}}, +{2683, 15, 7355, {1, 1, 7, 13, 23, 5, 75, 3, 207, 525, 411, 2133, 2231, 477, 7155}}, +{2684, 15, 7366, {1, 3, 5, 7, 13, 19, 111, 225, 489, 83, 1177, 4077, 4617, 14413, 7133}}, +{2685, 15, 7383, {1, 3, 1, 7, 9, 59, 3, 113, 379, 803, 1289, 3347, 4127, 6669, 14867}}, +{2686, 15, 7389, {1, 3, 7, 3, 31, 37, 87, 79, 399, 749, 995, 1611, 3137, 12543, 31955}}, +{2687, 15, 7393, {1, 1, 5, 7, 21, 59, 49, 45, 511, 639, 1033, 2169, 3265, 15001, 10745}}, +{2688, 15, 7396, {1, 1, 5, 1, 25, 19, 23, 203, 11, 883, 1031, 4087, 5059, 11321, 21675}}, +{2689, 15, 7400, {1, 3, 7, 5, 11, 27, 33, 205, 163, 289, 501, 3505, 1515, 1895, 15889}}, +{2690, 15, 7414, {1, 3, 1, 1, 23, 7, 39, 239, 29, 119, 1499, 2071, 6495, 12107, 5339}}, +{2691, 15, 7417, {1, 3, 1, 1, 23, 29, 55, 181, 327, 905, 427, 1033, 427, 3687, 5367}}, +{2692, 15, 7426, {1, 3, 3, 7, 21, 27, 115, 127, 393, 855, 1291, 2121, 381, 9995, 29757}}, +{2693, 15, 7432, {1, 3, 5, 1, 25, 13, 15, 183, 269, 1005, 1531, 3451, 3975, 9479, 23695}}, +{2694, 15, 7452, {1, 3, 7, 7, 19, 31, 111, 97, 33, 179, 1343, 2069, 977, 5043, 9129}}, +{2695, 15, 7468, {1, 3, 1, 5, 17, 57, 99, 129, 379, 829, 837, 1845, 3613, 7351, 19291}}, +{2696, 15, 7488, {1, 3, 3, 5, 31, 23, 119, 229, 135, 389, 9, 705, 6697, 15441, 5303}}, +{2697, 15, 7491, {1, 1, 1, 11, 25, 31, 105, 95, 5, 931, 789, 375, 7543, 9957, 28627}}, +{2698, 15, 7494, {1, 1, 7, 15, 21, 17, 19, 103, 389, 545, 1725, 2867, 4251, 3829, 6907}}, +{2699, 15, 7497, {1, 3, 7, 7, 15, 37, 97, 65, 337, 409, 1649, 2869, 7929, 8905, 21989}}, +{2700, 15, 7515, {1, 3, 5, 3, 11, 15, 69, 29, 353, 207, 233, 411, 2047, 10303, 31655}}, +{2701, 15, 7531, {1, 3, 3, 7, 27, 43, 125, 107, 69, 981, 215, 1955, 3589, 597, 12703}}, +{2702, 15, 7552, {1, 1, 7, 9, 25, 13, 109, 73, 227, 663, 1115, 285, 471, 3359, 15787}}, +{2703, 15, 7562, {1, 3, 7, 5, 1, 45, 7, 79, 441, 149, 701, 1457, 6595, 14829, 20865}}, +{2704, 15, 7564, {1, 3, 7, 15, 15, 47, 83, 239, 295, 23, 1085, 813, 1209, 3573, 2855}}, +{2705, 15, 7569, {1, 1, 3, 15, 13, 7, 59, 67, 255, 537, 1841, 3857, 6821, 15175, 13997}}, +{2706, 15, 7582, {1, 3, 1, 1, 9, 57, 59, 21, 21, 41, 1693, 2805, 7953, 1389, 14105}}, +{2707, 15, 7585, {1, 3, 5, 15, 19, 49, 107, 117, 99, 607, 145, 53, 1863, 9383, 12029}}, +{2708, 15, 7588, {1, 3, 3, 13, 1, 39, 5, 141, 503, 265, 281, 1785, 2673, 6597, 6333}}, +{2709, 15, 7592, {1, 1, 5, 3, 3, 19, 3, 181, 169, 269, 955, 2399, 3157, 11053, 8563}}, +{2710, 15, 7597, {1, 3, 3, 13, 11, 1, 95, 43, 179, 507, 443, 209, 3239, 14239, 21829}}, +{2711, 15, 7603, {1, 1, 7, 9, 3, 17, 99, 179, 445, 479, 1897, 1507, 5753, 4757, 2135}}, +{2712, 15, 7610, {1, 3, 3, 1, 9, 51, 29, 13, 295, 291, 927, 85, 5707, 7447, 32319}}, +{2713, 15, 7624, {1, 1, 1, 3, 13, 11, 21, 157, 213, 327, 1071, 591, 2639, 15405, 6617}}, +{2714, 15, 7642, {1, 3, 5, 1, 7, 25, 55, 47, 495, 681, 727, 2707, 2955, 705, 7489}}, +{2715, 15, 7647, {1, 1, 3, 9, 17, 3, 73, 67, 465, 367, 1473, 3195, 7825, 5299, 1817}}, +{2716, 15, 7653, {1, 1, 1, 1, 19, 31, 77, 253, 71, 599, 1601, 871, 2243, 6699, 13013}}, +{2717, 15, 7654, {1, 1, 7, 9, 21, 1, 71, 115, 5, 65, 767, 925, 7901, 10761, 19431}}, +{2718, 15, 7666, {1, 3, 1, 7, 23, 31, 31, 15, 105, 391, 585, 2995, 2635, 10607, 24951}}, +{2719, 15, 7668, {1, 3, 3, 1, 19, 25, 71, 211, 41, 197, 787, 225, 6781, 813, 10117}}, +{2720, 15, 7684, {1, 3, 3, 3, 17, 29, 3, 153, 231, 643, 1151, 447, 3699, 9625, 26677}}, +{2721, 15, 7705, {1, 1, 5, 9, 1, 25, 71, 21, 395, 297, 557, 3841, 233, 1877, 4569}}, +{2722, 15, 7732, {1, 1, 3, 13, 1, 45, 115, 61, 5, 937, 173, 2109, 2927, 9599, 9155}}, +{2723, 15, 7741, {1, 1, 3, 3, 15, 21, 61, 121, 253, 285, 1083, 3545, 5537, 6773, 2629}}, +{2724, 15, 7749, {1, 3, 3, 15, 13, 63, 33, 77, 49, 849, 1795, 2771, 5481, 9833, 603}}, +{2725, 15, 7750, {1, 1, 7, 5, 1, 39, 113, 237, 225, 1005, 1687, 2297, 3213, 2605, 14669}}, +{2726, 15, 7759, {1, 1, 3, 1, 11, 1, 39, 23, 67, 441, 1235, 2545, 3139, 15901, 29243}}, +{2727, 15, 7764, {1, 3, 1, 3, 15, 49, 39, 57, 311, 345, 525, 223, 4923, 6311, 25275}}, +{2728, 15, 7777, {1, 1, 5, 7, 9, 13, 69, 11, 349, 423, 1773, 1055, 1001, 9359, 17025}}, +{2729, 15, 7790, {1, 1, 1, 13, 15, 63, 89, 207, 335, 591, 1223, 2701, 55, 12471, 13127}}, +{2730, 15, 7817, {1, 1, 3, 5, 15, 19, 83, 67, 407, 113, 1961, 779, 5803, 12417, 21751}}, +{2731, 15, 7826, {1, 3, 3, 1, 21, 53, 81, 95, 405, 427, 1047, 2443, 4153, 5843, 22511}}, +{2732, 15, 7831, {1, 1, 7, 7, 7, 25, 115, 155, 453, 537, 741, 2379, 2343, 16035, 19587}}, +{2733, 15, 7859, {1, 3, 3, 11, 27, 21, 111, 121, 503, 437, 803, 3399, 5303, 10163, 18199}}, +{2734, 15, 7871, {1, 1, 5, 13, 19, 27, 7, 81, 259, 545, 965, 743, 4533, 8813, 21253}}, +{2735, 15, 7873, {1, 1, 5, 5, 1, 59, 37, 11, 105, 343, 75, 1319, 6317, 9593, 1699}}, +{2736, 15, 7876, {1, 3, 1, 9, 13, 9, 115, 131, 387, 1023, 253, 693, 5191, 12777, 10565}}, +{2737, 15, 7900, {1, 3, 1, 15, 7, 35, 111, 195, 287, 305, 533, 1901, 3363, 10085, 30791}}, +{2738, 15, 7904, {1, 1, 3, 9, 27, 51, 21, 77, 413, 925, 717, 791, 4147, 585, 5649}}, +{2739, 15, 7913, {1, 3, 3, 5, 25, 59, 79, 249, 185, 567, 71, 1997, 7373, 2327, 18637}}, +{2740, 15, 7916, {1, 3, 3, 11, 15, 21, 97, 99, 391, 57, 1973, 29, 7451, 2529, 25737}}, +{2741, 15, 7922, {1, 3, 7, 5, 7, 59, 93, 5, 287, 469, 1639, 3637, 5465, 14431, 32265}}, +{2742, 15, 7946, {1, 1, 3, 11, 3, 1, 71, 75, 427, 299, 811, 3697, 3529, 5433, 26957}}, +{2743, 15, 7953, {1, 3, 1, 9, 19, 59, 37, 255, 165, 1005, 19, 2851, 4309, 455, 9485}}, +{2744, 15, 7956, {1, 1, 1, 5, 1, 55, 15, 233, 133, 47, 1831, 713, 2601, 1017, 3201}}, +{2745, 15, 7963, {1, 1, 5, 5, 21, 55, 127, 69, 377, 41, 25, 2295, 7595, 4733, 11615}}, +{2746, 15, 7979, {1, 1, 5, 3, 23, 5, 7, 181, 161, 775, 1095, 2271, 6637, 14489, 6873}}, +{2747, 15, 7981, {1, 3, 5, 9, 9, 15, 5, 133, 357, 21, 127, 2685, 6299, 4363, 17573}}, +{2748, 15, 7984, {1, 3, 3, 9, 13, 39, 51, 223, 201, 401, 1839, 2461, 7633, 6039, 10445}}, +{2749, 15, 7989, {1, 1, 5, 1, 9, 21, 19, 249, 227, 359, 255, 2895, 4117, 2073, 27687}}, +{2750, 15, 7999, {1, 1, 5, 15, 5, 61, 113, 161, 95, 3, 877, 2775, 293, 6655, 4023}}, +{2751, 15, 8001, {1, 3, 7, 1, 7, 55, 73, 39, 295, 403, 985, 2315, 1667, 13525, 1453}}, +{2752, 15, 8021, {1, 1, 5, 1, 27, 1, 85, 195, 11, 713, 1841, 3895, 3131, 2193, 17607}}, +{2753, 15, 8056, {1, 3, 5, 13, 25, 1, 119, 97, 239, 167, 1393, 1753, 6989, 12155, 12509}}, +{2754, 15, 8080, {1, 1, 7, 15, 31, 21, 41, 255, 425, 445, 165, 2097, 5627, 4971, 13207}}, +{2755, 15, 8083, {1, 1, 1, 15, 13, 33, 81, 105, 453, 197, 13, 1547, 7381, 8709, 15103}}, +{2756, 15, 8089, {1, 1, 3, 11, 11, 33, 107, 123, 483, 367, 121, 995, 1911, 8205, 22577}}, +{2757, 15, 8090, {1, 1, 1, 9, 9, 43, 71, 49, 273, 431, 1705, 3313, 4259, 16291, 14345}}, +{2758, 15, 8114, {1, 1, 1, 7, 3, 1, 43, 213, 97, 547, 1559, 1149, 2791, 3751, 887}}, +{2759, 15, 8128, {1, 1, 3, 15, 25, 47, 49, 251, 425, 35, 295, 3767, 6305, 9633, 5045}}, +{2760, 15, 8133, {1, 3, 3, 1, 5, 55, 91, 245, 27, 981, 331, 555, 6553, 11017, 15289}}, +{2761, 15, 8145, {1, 1, 3, 7, 1, 23, 23, 155, 223, 565, 1005, 3211, 3847, 7479, 3643}}, +{2762, 15, 8155, {1, 1, 5, 1, 17, 7, 47, 95, 35, 779, 1685, 2099, 7505, 15425, 18089}}, +{2763, 15, 8161, {1, 3, 3, 7, 3, 63, 83, 151, 211, 147, 611, 1171, 1681, 7687, 13423}}, +{2764, 15, 8182, {1, 3, 3, 1, 3, 27, 107, 117, 497, 537, 195, 3075, 2753, 1665, 19399}}, +{2765, 15, 8186, {1, 1, 1, 7, 23, 5, 103, 209, 117, 845, 1243, 1283, 4253, 9723, 20937}}, +{2766, 15, 8191, {1, 3, 1, 1, 5, 49, 7, 13, 419, 125, 287, 1599, 8161, 1275, 24661}}, +{2767, 15, 8192, {1, 3, 3, 3, 13, 63, 23, 183, 39, 979, 1301, 2349, 905, 15805, 30151}}, +{2768, 15, 8195, {1, 1, 3, 9, 17, 11, 97, 189, 189, 511, 1779, 2077, 6891, 11623, 23949}}, +{2769, 15, 8201, {1, 1, 7, 11, 13, 45, 15, 37, 11, 853, 915, 1569, 6103, 10633, 3137}}, +{2770, 15, 8207, {1, 3, 3, 5, 15, 61, 91, 255, 131, 821, 1755, 1501, 2663, 1747, 941}}, +{2771, 15, 8210, {1, 1, 3, 7, 19, 19, 65, 95, 499, 239, 2023, 3185, 4649, 3861, 3767}}, +{2772, 15, 8228, {1, 3, 5, 15, 15, 63, 55, 93, 127, 303, 171, 1763, 4991, 9479, 9917}}, +{2773, 15, 8249, {1, 3, 7, 5, 31, 53, 111, 35, 433, 163, 1903, 3991, 3585, 643, 21941}}, +{2774, 15, 8252, {1, 3, 1, 9, 27, 39, 67, 89, 487, 349, 587, 1723, 4311, 11321, 25785}}, +{2775, 15, 8258, {1, 3, 5, 7, 1, 63, 23, 237, 507, 689, 1341, 441, 1721, 843, 20335}}, +{2776, 15, 8267, {1, 1, 3, 3, 31, 63, 83, 103, 25, 799, 1379, 1817, 3809, 12285, 16673}}, +{2777, 15, 8270, {1, 1, 5, 3, 25, 29, 99, 193, 21, 549, 33, 3109, 4135, 10071, 32355}}, +{2778, 15, 8275, {1, 3, 1, 7, 13, 27, 83, 189, 121, 167, 379, 1503, 7955, 13189, 313}}, +{2779, 15, 8284, {1, 3, 5, 15, 25, 19, 83, 87, 257, 237, 709, 1169, 1561, 7117, 4785}}, +{2780, 15, 8293, {1, 1, 1, 7, 9, 55, 21, 5, 439, 367, 403, 2311, 6243, 8349, 13127}}, +{2781, 15, 8298, {1, 3, 7, 3, 5, 35, 51, 67, 453, 767, 29, 3293, 6665, 11459, 2799}}, +{2782, 15, 8305, {1, 3, 3, 3, 5, 19, 59, 7, 367, 683, 783, 1317, 7119, 6129, 19525}}, +{2783, 15, 8317, {1, 1, 5, 5, 5, 19, 61, 67, 381, 291, 875, 2179, 2481, 9325, 11253}}, +{2784, 15, 8328, {1, 3, 5, 5, 7, 47, 107, 9, 141, 667, 1989, 821, 3909, 1733, 10187}}, +{2785, 15, 8336, {1, 1, 7, 7, 31, 61, 1, 71, 477, 689, 1539, 3617, 8105, 6535, 3293}}, +{2786, 15, 8345, {1, 1, 5, 5, 23, 9, 103, 197, 241, 249, 297, 3607, 6217, 1673, 30103}}, +{2787, 15, 8351, {1, 3, 1, 5, 23, 15, 115, 105, 365, 51, 825, 2687, 359, 16325, 15083}}, +{2788, 15, 8367, {1, 1, 3, 11, 29, 45, 65, 251, 169, 189, 1243, 2345, 1345, 14471, 25631}}, +{2789, 15, 8379, {1, 1, 5, 9, 7, 63, 81, 167, 309, 539, 1169, 3949, 4193, 12047, 1491}}, +{2790, 15, 8381, {1, 3, 1, 9, 29, 33, 89, 167, 67, 73, 1885, 477, 5745, 13365, 6819}}, +{2791, 15, 8382, {1, 3, 7, 9, 9, 49, 95, 13, 157, 997, 1725, 935, 7543, 6349, 18277}}, +{2792, 15, 8393, {1, 1, 5, 5, 11, 59, 97, 17, 303, 469, 93, 2761, 7395, 9021, 24299}}, +{2793, 15, 8402, {1, 1, 7, 3, 27, 63, 71, 99, 407, 139, 711, 2589, 4715, 5405, 3277}}, +{2794, 15, 8414, {1, 3, 7, 3, 11, 15, 49, 57, 271, 493, 1165, 2839, 8191, 2609, 14759}}, +{2795, 15, 8417, {1, 1, 1, 7, 21, 15, 71, 245, 413, 473, 1321, 1165, 1027, 6983, 12867}}, +{2796, 15, 8420, {1, 1, 5, 3, 15, 21, 19, 197, 401, 627, 2047, 2761, 5807, 5751, 28025}}, +{2797, 15, 8429, {1, 1, 3, 3, 5, 57, 19, 209, 341, 165, 489, 455, 231, 14385, 12457}}, +{2798, 15, 8435, {1, 3, 3, 11, 13, 63, 79, 129, 17, 315, 1881, 1069, 177, 12013, 29567}}, +{2799, 15, 8438, {1, 1, 3, 7, 31, 29, 51, 235, 475, 375, 617, 437, 6379, 8505, 23079}}, +{2800, 15, 8450, {1, 1, 3, 7, 27, 3, 3, 137, 203, 959, 363, 371, 2899, 13491, 22979}}, +{2801, 15, 8452, {1, 3, 3, 3, 9, 1, 57, 7, 363, 537, 713, 2417, 509, 7747, 22135}}, +{2802, 15, 8459, {1, 3, 3, 3, 13, 21, 79, 121, 487, 921, 113, 281, 2853, 14855, 19747}}, +{2803, 15, 8470, {1, 1, 1, 11, 3, 53, 89, 123, 307, 585, 567, 1925, 505, 15935, 20419}}, +{2804, 15, 8486, {1, 1, 3, 3, 15, 45, 77, 197, 499, 683, 1405, 3573, 981, 14135, 19763}}, +{2805, 15, 8490, {1, 1, 1, 11, 27, 31, 61, 191, 29, 601, 373, 2011, 6193, 3599, 4387}}, +{2806, 15, 8500, {1, 3, 5, 9, 7, 13, 1, 193, 469, 603, 1315, 3329, 3761, 8355, 10425}}, +{2807, 15, 8524, {1, 1, 3, 9, 29, 61, 103, 17, 117, 251, 2029, 2963, 3763, 16117, 6627}}, +{2808, 15, 8536, {1, 3, 1, 3, 7, 51, 91, 145, 497, 657, 871, 3707, 5905, 10449, 14901}}, +{2809, 15, 8552, {1, 1, 3, 1, 3, 53, 23, 149, 461, 333, 1809, 1315, 1815, 8223, 13297}}, +{2810, 15, 8558, {1, 1, 1, 7, 15, 31, 3, 47, 443, 829, 1305, 893, 4191, 9681, 32661}}, +{2811, 15, 8570, {1, 3, 1, 3, 27, 43, 51, 221, 295, 825, 649, 2953, 6203, 8237, 20253}}, +{2812, 15, 8576, {1, 3, 1, 3, 9, 35, 41, 195, 249, 225, 387, 3789, 1499, 2559, 28413}}, +{2813, 15, 8582, {1, 1, 5, 15, 19, 29, 13, 115, 333, 787, 787, 723, 2987, 6227, 10865}}, +{2814, 15, 8594, {1, 3, 5, 13, 5, 59, 5, 251, 79, 387, 11, 3167, 6619, 13317, 18979}}, +{2815, 15, 8606, {1, 1, 7, 11, 31, 51, 43, 1, 189, 519, 1945, 2129, 4365, 14059, 3139}}, +{2816, 15, 8619, {1, 1, 7, 5, 31, 9, 43, 19, 151, 533, 1061, 3849, 6871, 6941, 14935}}, +{2817, 15, 8621, {1, 3, 7, 5, 19, 57, 7, 129, 25, 353, 17, 1739, 6513, 399, 28835}}, +{2818, 15, 8624, {1, 3, 5, 15, 25, 15, 37, 125, 39, 239, 271, 65, 2189, 10449, 11815}}, +{2819, 15, 8633, {1, 3, 7, 15, 19, 57, 47, 245, 509, 945, 385, 3987, 3585, 14711, 9655}}, +{2820, 15, 8641, {1, 1, 3, 13, 21, 31, 13, 81, 9, 489, 1321, 63, 1363, 2219, 19541}}, +{2821, 15, 8653, {1, 1, 5, 7, 3, 57, 25, 147, 23, 553, 889, 307, 6429, 15807, 12861}}, +{2822, 15, 8654, {1, 1, 3, 15, 29, 21, 99, 237, 151, 881, 675, 3625, 1159, 11759, 21347}}, +{2823, 15, 8662, {1, 1, 7, 1, 9, 13, 111, 239, 235, 609, 1569, 3271, 2837, 13807, 7301}}, +{2824, 15, 8675, {1, 3, 1, 15, 7, 59, 27, 81, 129, 9, 647, 3595, 1877, 1067, 1859}}, +{2825, 15, 8689, {1, 3, 7, 1, 3, 25, 119, 57, 145, 441, 1045, 789, 215, 1265, 9369}}, +{2826, 15, 8695, {1, 3, 7, 3, 17, 25, 87, 211, 441, 229, 223, 2795, 7241, 7007, 20575}}, +{2827, 15, 8702, {1, 1, 3, 1, 13, 1, 55, 227, 389, 141, 1097, 2487, 7603, 4161, 5025}}, +{2828, 15, 8706, {1, 1, 3, 5, 15, 29, 29, 145, 233, 209, 891, 89, 8097, 2897, 26685}}, +{2829, 15, 8720, {1, 1, 3, 1, 29, 53, 19, 95, 161, 359, 435, 3313, 4955, 7965, 21015}}, +{2830, 15, 8729, {1, 3, 5, 9, 19, 3, 109, 77, 29, 937, 1663, 125, 2453, 1069, 20639}}, +{2831, 15, 8739, {1, 3, 7, 13, 5, 23, 43, 231, 347, 591, 1963, 2491, 4045, 16029, 8149}}, +{2832, 15, 8741, {1, 1, 5, 1, 13, 3, 75, 211, 419, 929, 901, 3453, 8121, 799, 8897}}, +{2833, 15, 8751, {1, 1, 7, 15, 11, 11, 123, 111, 309, 415, 1071, 975, 2009, 12945, 19617}}, +{2834, 15, 8759, {1, 1, 1, 7, 31, 35, 81, 255, 89, 643, 451, 513, 497, 11751, 24215}}, +{2835, 15, 8766, {1, 3, 5, 5, 25, 17, 5, 165, 139, 929, 1927, 1353, 7427, 9719, 17087}}, +{2836, 15, 8777, {1, 3, 5, 1, 21, 55, 79, 85, 333, 847, 1305, 851, 5057, 8361, 18269}}, +{2837, 15, 8783, {1, 3, 7, 15, 27, 17, 55, 125, 395, 223, 271, 781, 1639, 10569, 11143}}, +{2838, 15, 8786, {1, 1, 7, 9, 7, 33, 127, 85, 209, 339, 483, 241, 2523, 14951, 6855}}, +{2839, 15, 8795, {1, 1, 3, 9, 5, 19, 9, 183, 435, 343, 1105, 3139, 7617, 1311, 267}}, +{2840, 15, 8802, {1, 1, 5, 1, 15, 53, 11, 63, 113, 241, 855, 3123, 4777, 3495, 23345}}, +{2841, 15, 8814, {1, 3, 1, 5, 19, 29, 119, 205, 167, 683, 289, 1629, 4977, 8981, 6867}}, +{2842, 15, 8821, {1, 3, 1, 1, 31, 63, 95, 159, 267, 231, 863, 3385, 5315, 7267, 13757}}, +{2843, 15, 8828, {1, 3, 5, 11, 19, 21, 53, 41, 125, 179, 533, 1279, 3759, 7073, 13905}}, +{2844, 15, 8831, {1, 3, 5, 9, 17, 7, 27, 67, 97, 809, 1423, 2743, 2859, 16121, 329}}, +{2845, 15, 8837, {1, 3, 1, 15, 1, 41, 59, 155, 509, 51, 1827, 3739, 3879, 13369, 30821}}, +{2846, 15, 8842, {1, 3, 3, 7, 21, 31, 7, 13, 347, 919, 1225, 497, 5051, 3769, 20211}}, +{2847, 15, 8855, {1, 3, 7, 13, 31, 9, 127, 195, 123, 387, 3, 3593, 6623, 9827, 29319}}, +{2848, 15, 8856, {1, 1, 3, 9, 7, 27, 95, 211, 287, 189, 1683, 1999, 7641, 14983, 4699}}, +{2849, 15, 8868, {1, 1, 5, 3, 7, 21, 29, 189, 101, 423, 885, 3275, 6569, 11023, 22265}}, +{2850, 15, 8877, {1, 3, 5, 3, 9, 33, 79, 75, 327, 975, 287, 3025, 2157, 7301, 24447}}, +{2851, 15, 8890, {1, 3, 3, 15, 31, 27, 63, 1, 71, 119, 1151, 517, 6131, 11055, 179}}, +{2852, 15, 8892, {1, 3, 7, 11, 23, 15, 101, 247, 349, 735, 673, 997, 6451, 229, 32103}}, +{2853, 15, 8900, {1, 3, 5, 15, 7, 1, 51, 135, 207, 741, 1831, 1235, 4747, 11915, 22009}}, +{2854, 15, 8909, {1, 3, 1, 13, 9, 31, 19, 221, 465, 681, 627, 2595, 5617, 14201, 30355}}, +{2855, 15, 8912, {1, 1, 3, 1, 13, 49, 55, 155, 11, 885, 1275, 3591, 2217, 6659, 30885}}, +{2856, 15, 8921, {1, 1, 7, 11, 27, 57, 93, 95, 243, 63, 1405, 2049, 7689, 15943, 18503}}, +{2857, 15, 8922, {1, 1, 7, 7, 5, 11, 47, 189, 467, 631, 1665, 2717, 4285, 2087, 1435}}, +{2858, 15, 8927, {1, 1, 3, 11, 7, 27, 127, 3, 231, 757, 435, 2545, 3537, 9127, 19915}}, +{2859, 15, 8943, {1, 1, 5, 13, 5, 29, 85, 127, 339, 875, 497, 1573, 6553, 11983, 18029}}, +{2860, 15, 8948, {1, 3, 1, 1, 21, 3, 15, 91, 231, 683, 1529, 2651, 4147, 13437, 23861}}, +{2861, 15, 8951, {1, 3, 1, 7, 27, 17, 19, 179, 243, 223, 1037, 1501, 5935, 2259, 25185}}, +{2862, 15, 8958, {1, 1, 3, 15, 11, 19, 127, 27, 483, 219, 583, 2555, 531, 3451, 17875}}, +{2863, 15, 8984, {1, 1, 1, 13, 31, 39, 89, 149, 363, 741, 1355, 4067, 3171, 6783, 1799}}, +{2864, 15, 8994, {1, 1, 3, 11, 25, 51, 45, 235, 379, 123, 1701, 725, 1991, 7471, 9833}}, +{2865, 15, 9000, {1, 1, 5, 13, 15, 47, 13, 201, 263, 57, 375, 2963, 7475, 15929, 13775}}, +{2866, 15, 9013, {1, 1, 3, 1, 29, 29, 11, 161, 345, 253, 97, 255, 7267, 2379, 3933}}, +{2867, 15, 9018, {1, 3, 1, 15, 3, 47, 11, 69, 347, 747, 795, 2401, 3367, 2383, 6125}}, +{2868, 15, 9020, {1, 1, 7, 3, 1, 49, 101, 47, 71, 761, 1503, 2619, 191, 8895, 873}}, +{2869, 15, 9031, {1, 3, 3, 5, 25, 41, 93, 85, 427, 109, 1675, 2409, 4317, 9233, 30283}}, +{2870, 15, 9035, {1, 1, 3, 9, 11, 3, 67, 159, 425, 751, 887, 1415, 403, 15977, 10739}}, +{2871, 15, 9045, {1, 1, 5, 13, 9, 1, 9, 103, 481, 601, 931, 1957, 5763, 7095, 27141}}, +{2872, 15, 9052, {1, 1, 3, 15, 29, 13, 43, 33, 297, 269, 1041, 1411, 3461, 12043, 10045}}, +{2873, 15, 9056, {1, 3, 5, 3, 3, 3, 5, 7, 185, 753, 133, 1561, 5595, 13777, 25795}}, +{2874, 15, 9059, {1, 3, 5, 5, 1, 19, 29, 145, 163, 149, 619, 2603, 7757, 10035, 10189}}, +{2875, 15, 9066, {1, 3, 7, 15, 27, 15, 111, 173, 135, 117, 157, 2601, 7919, 12111, 22795}}, +{2876, 15, 9076, {1, 3, 1, 1, 29, 27, 65, 31, 101, 715, 289, 3643, 2335, 6789, 23397}}, +{2877, 15, 9089, {1, 3, 1, 3, 11, 45, 71, 109, 321, 423, 1695, 169, 3075, 12423, 11391}}, +{2878, 15, 9129, {1, 1, 3, 9, 13, 51, 35, 121, 203, 279, 433, 2725, 7951, 2105, 27333}}, +{2879, 15, 9132, {1, 1, 1, 15, 23, 31, 25, 105, 501, 441, 1511, 3133, 2811, 10595, 21779}}, +{2880, 15, 9147, {1, 1, 5, 13, 7, 1, 97, 193, 121, 993, 1347, 1903, 1883, 6583, 24535}}, +{2881, 15, 9164, {1, 1, 7, 9, 7, 29, 17, 41, 101, 447, 1289, 387, 1891, 2723, 26091}}, +{2882, 15, 9167, {1, 1, 3, 3, 3, 53, 81, 81, 177, 165, 195, 3413, 8177, 3817, 8453}}, +{2883, 15, 9185, {1, 3, 7, 15, 15, 31, 23, 31, 337, 439, 1773, 63, 5351, 5491, 1767}}, +{2884, 15, 9195, {1, 3, 1, 11, 5, 15, 23, 75, 437, 553, 429, 2705, 3625, 13851, 19865}}, +{2885, 15, 9197, {1, 3, 3, 9, 13, 15, 33, 235, 215, 415, 1737, 1409, 2101, 14623, 14717}}, +{2886, 15, 9210, {1, 3, 7, 7, 13, 51, 101, 217, 175, 813, 1639, 4009, 1625, 4991, 17525}}, +{2887, 15, 9217, {1, 1, 5, 13, 23, 33, 29, 175, 39, 673, 557, 3239, 5129, 11049, 27227}}, +{2888, 15, 9229, {1, 3, 7, 13, 1, 37, 33, 139, 493, 891, 1883, 2525, 5741, 15795, 5875}}, +{2889, 15, 9248, {1, 3, 1, 15, 15, 27, 127, 111, 147, 363, 725, 3077, 4341, 9131, 24635}}, +{2890, 15, 9254, {1, 1, 7, 3, 17, 25, 59, 135, 177, 635, 73, 3455, 3083, 6009, 13033}}, +{2891, 15, 9263, {1, 1, 1, 5, 15, 53, 93, 161, 215, 459, 1087, 179, 2235, 8885, 15309}}, +{2892, 15, 9266, {1, 1, 7, 13, 7, 17, 75, 173, 449, 855, 103, 2739, 3421, 11811, 18805}}, +{2893, 15, 9268, {1, 1, 7, 9, 5, 11, 53, 75, 247, 249, 1201, 953, 2455, 4589, 6027}}, +{2894, 15, 9290, {1, 1, 5, 13, 27, 51, 119, 39, 137, 11, 1435, 3773, 3889, 6081, 11829}}, +{2895, 15, 9310, {1, 1, 5, 5, 5, 35, 1, 197, 501, 185, 1039, 1563, 6421, 14373, 25655}}, +{2896, 15, 9316, {1, 1, 3, 13, 31, 55, 115, 183, 483, 655, 1351, 3203, 725, 3299, 22579}}, +{2897, 15, 9338, {1, 3, 5, 11, 31, 31, 83, 59, 395, 21, 1881, 2821, 2251, 11781, 26265}}, +{2898, 15, 9340, {1, 3, 7, 13, 21, 19, 103, 21, 403, 443, 1951, 55, 985, 15983, 15087}}, +{2899, 15, 9343, {1, 1, 5, 15, 29, 11, 51, 53, 255, 183, 1475, 1491, 259, 387, 10303}}, +{2900, 15, 9344, {1, 3, 5, 7, 21, 37, 45, 39, 479, 637, 1325, 3753, 3319, 7403, 31759}}, +{2901, 15, 9350, {1, 1, 3, 5, 7, 43, 89, 53, 269, 187, 995, 141, 119, 8139, 29699}}, +{2902, 15, 9354, {1, 1, 1, 5, 1, 53, 3, 23, 379, 223, 1889, 4035, 1437, 12425, 9051}}, +{2903, 15, 9359, {1, 3, 1, 13, 3, 31, 61, 43, 249, 449, 901, 1921, 3495, 8599, 5263}}, +{2904, 15, 9361, {1, 1, 3, 5, 3, 25, 35, 133, 25, 597, 915, 3663, 5147, 11831, 24269}}, +{2905, 15, 9364, {1, 1, 1, 9, 21, 27, 93, 93, 217, 299, 1881, 3647, 4825, 7989, 24121}}, +{2906, 15, 9368, {1, 3, 1, 15, 5, 15, 49, 129, 315, 631, 2037, 1567, 4043, 15589, 30905}}, +{2907, 15, 9371, {1, 3, 3, 7, 25, 5, 123, 51, 47, 471, 1563, 3947, 7975, 3681, 9611}}, +{2908, 15, 9373, {1, 3, 7, 15, 1, 17, 73, 245, 465, 95, 95, 1159, 1319, 4675, 8841}}, +{2909, 15, 9389, {1, 1, 3, 15, 5, 51, 35, 71, 423, 651, 753, 173, 2131, 15799, 29601}}, +{2910, 15, 9390, {1, 1, 1, 1, 3, 53, 83, 187, 445, 827, 1549, 979, 5363, 1701, 2149}}, +{2911, 15, 9409, {1, 1, 7, 9, 3, 15, 65, 161, 37, 233, 771, 3749, 727, 6857, 17175}}, +{2912, 15, 9443, {1, 1, 7, 7, 27, 29, 107, 247, 249, 353, 773, 3677, 7273, 5419, 29397}}, +{2913, 15, 9445, {1, 3, 3, 7, 31, 49, 87, 159, 145, 497, 1715, 2115, 5035, 6431, 7245}}, +{2914, 15, 9446, {1, 3, 3, 5, 7, 31, 51, 117, 101, 617, 557, 2551, 6589, 13295, 31975}}, +{2915, 15, 9452, {1, 1, 3, 3, 15, 27, 125, 163, 169, 893, 1771, 25, 5787, 10267, 10297}}, +{2916, 15, 9490, {1, 1, 1, 5, 9, 47, 85, 65, 289, 783, 1105, 4035, 4111, 2589, 24575}}, +{2917, 15, 9492, {1, 3, 3, 13, 23, 33, 7, 49, 301, 531, 1713, 2755, 5543, 8153, 24099}}, +{2918, 15, 9495, {1, 1, 5, 9, 7, 39, 101, 67, 417, 923, 757, 1537, 5553, 12233, 20881}}, +{2919, 15, 9508, {1, 1, 5, 1, 19, 7, 25, 123, 125, 183, 573, 3317, 6867, 871, 17631}}, +{2920, 15, 9523, {1, 1, 3, 15, 19, 13, 117, 41, 129, 715, 1525, 2257, 2179, 10807, 23271}}, +{2921, 15, 9543, {1, 3, 1, 5, 25, 53, 19, 169, 289, 569, 1135, 1967, 7001, 15883, 15113}}, +{2922, 15, 9558, {1, 3, 7, 15, 7, 37, 127, 147, 415, 313, 1541, 1889, 3763, 16199, 12681}}, +{2923, 15, 9567, {1, 1, 3, 9, 1, 35, 95, 137, 237, 951, 899, 3177, 6073, 10655, 31687}}, +{2924, 15, 9580, {1, 1, 5, 5, 29, 57, 45, 253, 297, 529, 1553, 467, 8035, 15675, 21691}}, +{2925, 15, 9585, {1, 3, 7, 15, 25, 41, 59, 81, 87, 985, 1001, 2369, 661, 7551, 11829}}, +{2926, 15, 9591, {1, 1, 7, 9, 27, 21, 7, 233, 309, 67, 701, 2737, 4261, 2467, 15691}}, +{2927, 15, 9611, {1, 3, 7, 1, 19, 55, 47, 155, 333, 101, 517, 1991, 4619, 10435, 27241}}, +{2928, 15, 9613, {1, 1, 7, 3, 23, 35, 7, 125, 157, 537, 933, 3281, 4975, 8969, 27581}}, +{2929, 15, 9614, {1, 1, 3, 7, 19, 53, 81, 103, 461, 435, 777, 335, 5261, 12249, 9695}}, +{2930, 15, 9621, {1, 3, 1, 7, 19, 9, 75, 245, 355, 37, 1855, 1339, 3107, 7251, 16543}}, +{2931, 15, 9631, {1, 1, 1, 3, 5, 35, 39, 223, 113, 423, 1423, 713, 6113, 349, 24147}}, +{2932, 15, 9642, {1, 3, 1, 1, 15, 31, 11, 75, 499, 345, 1253, 2629, 2551, 7483, 25395}}, +{2933, 15, 9656, {1, 1, 3, 11, 25, 25, 3, 211, 185, 45, 1865, 1805, 3303, 11091, 529}}, +{2934, 15, 9661, {1, 3, 1, 1, 9, 21, 7, 165, 107, 641, 1083, 2805, 2099, 5855, 18477}}, +{2935, 15, 9667, {1, 3, 5, 3, 9, 21, 77, 103, 505, 277, 335, 797, 3869, 2957, 1979}}, +{2936, 15, 9694, {1, 3, 5, 15, 31, 23, 77, 247, 303, 891, 1261, 3233, 3495, 13111, 13185}}, +{2937, 15, 9715, {1, 3, 5, 11, 11, 35, 49, 229, 149, 931, 881, 775, 2949, 3141, 29157}}, +{2938, 15, 9722, {1, 1, 3, 5, 19, 57, 23, 95, 347, 221, 195, 3561, 1481, 2063, 3979}}, +{2939, 15, 9738, {1, 3, 5, 3, 13, 1, 23, 173, 431, 29, 421, 3235, 2751, 4447, 28283}}, +{2940, 15, 9745, {1, 1, 5, 13, 23, 3, 1, 9, 327, 855, 1251, 2997, 6129, 4223, 11555}}, +{2941, 15, 9758, {1, 3, 7, 13, 29, 21, 37, 229, 217, 353, 1239, 3955, 491, 12183, 14777}}, +{2942, 15, 9764, {1, 1, 5, 5, 1, 33, 103, 187, 183, 939, 1873, 2633, 6143, 15405, 17353}}, +{2943, 15, 9782, {1, 1, 1, 9, 21, 27, 71, 129, 499, 279, 1181, 4053, 2485, 1961, 30603}}, +{2944, 15, 9791, {1, 1, 3, 15, 21, 37, 45, 201, 221, 187, 727, 1241, 6171, 1383, 22277}}, +{2945, 15, 9793, {1, 3, 7, 5, 21, 17, 67, 177, 323, 601, 633, 865, 6131, 10329, 8689}}, +{2946, 15, 9794, {1, 3, 5, 9, 15, 45, 71, 43, 359, 651, 103, 403, 3249, 11769, 6567}}, +{2947, 15, 9805, {1, 3, 3, 13, 3, 23, 101, 145, 367, 999, 1489, 3673, 2959, 10855, 16029}}, +{2948, 15, 9808, {1, 3, 7, 3, 13, 43, 123, 87, 55, 1015, 141, 2917, 6567, 16025, 25555}}, +{2949, 15, 9811, {1, 3, 1, 3, 17, 7, 21, 161, 41, 889, 1315, 1897, 639, 15451, 3049}}, +{2950, 15, 9817, {1, 3, 5, 15, 27, 33, 55, 17, 81, 431, 325, 909, 3547, 10121, 17815}}, +{2951, 15, 9824, {1, 1, 3, 1, 15, 37, 43, 137, 203, 191, 1129, 1585, 435, 3177, 769}}, +{2952, 15, 9836, {1, 3, 7, 11, 21, 23, 125, 41, 17, 951, 465, 3691, 3465, 13247, 13779}}, +{2953, 15, 9851, {1, 3, 3, 1, 31, 23, 43, 101, 405, 739, 1061, 2955, 5643, 16137, 8763}}, +{2954, 15, 9853, {1, 1, 5, 1, 19, 33, 99, 109, 203, 65, 395, 2775, 1373, 2557, 5875}}, +{2955, 15, 9854, {1, 3, 3, 3, 27, 51, 79, 63, 331, 365, 1071, 1661, 4549, 8561, 1719}}, +{2956, 15, 9877, {1, 3, 3, 9, 3, 17, 53, 161, 141, 489, 1325, 1709, 1381, 5093, 171}}, +{2957, 15, 9881, {1, 1, 7, 15, 9, 3, 95, 237, 197, 949, 7, 1837, 729, 10111, 6637}}, +{2958, 15, 9923, {1, 1, 3, 3, 19, 31, 57, 173, 483, 861, 1001, 1919, 3389, 11777, 20693}}, +{2959, 15, 9935, {1, 3, 1, 9, 27, 13, 113, 177, 75, 925, 949, 119, 4759, 7775, 23033}}, +{2960, 15, 9937, {1, 1, 7, 15, 23, 15, 65, 61, 137, 653, 1843, 323, 379, 15157, 29885}}, +{2961, 15, 9954, {1, 3, 3, 7, 29, 3, 11, 205, 347, 745, 1477, 3929, 5749, 4735, 29435}}, +{2962, 15, 9959, {1, 3, 5, 9, 1, 11, 111, 15, 7, 69, 45, 3607, 1099, 9203, 21301}}, +{2963, 15, 9963, {1, 3, 3, 3, 23, 3, 83, 173, 73, 485, 681, 1867, 3839, 11823, 13339}}, +{2964, 15, 9968, {1, 1, 3, 11, 31, 43, 107, 127, 465, 389, 1595, 427, 1571, 5885, 29569}}, +{2965, 15, 9973, {1, 1, 7, 9, 27, 25, 117, 27, 287, 391, 279, 3247, 35, 12973, 5483}}, +{2966, 15, 9974, {1, 3, 7, 11, 19, 55, 45, 127, 245, 945, 305, 3907, 2455, 3163, 31}}, +{2967, 15, 9980, {1, 1, 7, 11, 15, 17, 65, 15, 37, 207, 1447, 3027, 2281, 6557, 16717}}, +{2968, 15, 9983, {1, 1, 1, 13, 5, 27, 33, 213, 29, 603, 1171, 3235, 2255, 2017, 30999}}, +{2969, 15, 9985, {1, 3, 1, 5, 11, 1, 73, 233, 69, 125, 397, 297, 3337, 6191, 31055}}, +{2970, 15, 10003, {1, 1, 1, 15, 1, 1, 65, 145, 201, 917, 1891, 2999, 4069, 10413, 15819}}, +{2971, 15, 10010, {1, 3, 5, 13, 15, 51, 115, 167, 311, 375, 1069, 2595, 3337, 753, 11903}}, +{2972, 15, 10034, {1, 1, 3, 1, 1, 23, 69, 125, 147, 915, 1945, 411, 979, 13863, 30443}}, +{2973, 15, 10040, {1, 3, 1, 11, 5, 1, 93, 23, 135, 93, 1689, 23, 3519, 4491, 24673}}, +{2974, 15, 10063, {1, 1, 7, 3, 11, 59, 93, 153, 487, 475, 1191, 1455, 5963, 8259, 18811}}, +{2975, 15, 10077, {1, 1, 3, 1, 13, 15, 55, 71, 433, 33, 491, 1835, 5695, 10509, 347}}, +{2976, 15, 10081, {1, 1, 1, 15, 19, 1, 23, 47, 235, 101, 1057, 901, 5477, 7079, 30885}}, +{2977, 15, 10082, {1, 1, 5, 13, 11, 43, 119, 77, 441, 121, 783, 827, 1757, 12751, 31593}}, +{2978, 15, 10084, {1, 3, 7, 11, 19, 17, 37, 225, 329, 231, 515, 1541, 7371, 6355, 10905}}, +{2979, 15, 10088, {1, 1, 5, 13, 7, 11, 35, 215, 345, 577, 147, 2803, 3291, 4631, 5329}}, +{2980, 15, 10091, {1, 1, 3, 9, 21, 55, 113, 251, 25, 221, 1445, 3385, 1589, 4109, 29897}}, +{2981, 15, 10105, {1, 1, 5, 7, 9, 45, 5, 33, 331, 285, 1101, 3131, 2713, 5653, 3823}}, +{2982, 15, 10111, {1, 3, 7, 7, 5, 39, 43, 167, 481, 629, 777, 1827, 4653, 403, 4781}}, +{2983, 15, 10118, {1, 3, 3, 7, 31, 33, 31, 159, 313, 673, 1425, 663, 5819, 1297, 26627}}, +{2984, 15, 10127, {1, 3, 3, 1, 19, 61, 117, 93, 373, 491, 1031, 757, 4185, 771, 7265}}, +{2985, 15, 10135, {1, 1, 7, 9, 3, 45, 65, 223, 437, 41, 1139, 2733, 5963, 2709, 25429}}, +{2986, 15, 10169, {1, 3, 5, 11, 21, 27, 31, 127, 255, 761, 1865, 1319, 6583, 9235, 10717}}, +{2987, 15, 10172, {1, 1, 1, 5, 21, 1, 63, 43, 413, 557, 567, 2893, 8017, 2307, 29525}}, +{2988, 15, 10183, {1, 1, 7, 3, 31, 1, 15, 235, 215, 395, 1971, 469, 5275, 431, 5349}}, +{2989, 15, 10190, {1, 1, 1, 13, 25, 59, 71, 245, 389, 279, 1293, 89, 6551, 10285, 14495}}, +{2990, 15, 10192, {1, 1, 5, 5, 9, 63, 17, 229, 425, 939, 877, 3689, 7229, 6707, 30771}}, +{2991, 15, 10211, {1, 3, 7, 7, 11, 29, 43, 41, 25, 237, 1585, 3735, 2617, 7541, 26243}}, +{2992, 15, 10218, {1, 1, 7, 9, 21, 5, 69, 231, 361, 39, 1695, 3043, 2973, 5487, 12857}}, +{2993, 15, 10228, {1, 1, 5, 3, 17, 63, 91, 217, 407, 133, 1373, 4021, 1737, 10043, 4561}}, +{2994, 15, 10235, {1, 3, 7, 9, 31, 13, 101, 231, 175, 457, 89, 2167, 2725, 8505, 375}}, +{2995, 15, 10242, {1, 1, 3, 15, 31, 11, 27, 211, 347, 291, 1881, 3091, 3307, 5117, 13341}}, +{2996, 15, 10244, {1, 3, 5, 5, 13, 25, 5, 197, 237, 135, 635, 1175, 5085, 14737, 10807}}, +{2997, 15, 10271, {1, 3, 3, 9, 7, 63, 107, 127, 147, 477, 1813, 2619, 8089, 2651, 26549}}, +{2998, 15, 10278, {1, 1, 5, 11, 15, 45, 27, 133, 45, 621, 707, 2679, 5929, 19, 9599}}, +{2999, 15, 10296, {1, 3, 7, 9, 21, 37, 41, 255, 69, 1009, 1999, 367, 6177, 10017, 3549}}, +{3000, 15, 10299, {1, 1, 1, 15, 19, 55, 73, 189, 423, 983, 1811, 2551, 4765, 12077, 18205}}, +{3001, 15, 10307, {1, 1, 5, 7, 17, 13, 25, 225, 463, 471, 631, 1811, 5797, 3235, 32253}}, +{3002, 15, 10309, {1, 3, 7, 1, 29, 7, 123, 187, 331, 735, 1757, 1115, 2077, 15725, 2183}}, +{3003, 15, 10310, {1, 3, 7, 9, 17, 61, 111, 93, 21, 1003, 1905, 3719, 2111, 11845, 6427}}, +{3004, 15, 10314, {1, 3, 7, 7, 17, 21, 51, 59, 115, 723, 2039, 2833, 5969, 5737, 18407}}, +{3005, 15, 10316, {1, 3, 3, 13, 9, 47, 95, 233, 13, 281, 1049, 619, 405, 16205, 20097}}, +{3006, 15, 10321, {1, 3, 7, 13, 9, 41, 11, 171, 453, 713, 587, 1669, 2489, 10277, 18599}}, +{3007, 15, 10328, {1, 3, 3, 13, 21, 41, 123, 173, 511, 399, 859, 1515, 5773, 12535, 26289}}, +{3008, 15, 10338, {1, 1, 7, 15, 11, 3, 113, 111, 73, 7, 1191, 2573, 7713, 465, 27615}}, +{3009, 15, 10343, {1, 1, 7, 15, 5, 5, 39, 11, 489, 13, 1041, 1639, 7879, 11899, 6899}}, +{3010, 15, 10344, {1, 1, 5, 9, 27, 31, 15, 237, 401, 795, 1675, 2361, 7333, 12507, 14627}}, +{3011, 15, 10347, {1, 3, 1, 7, 21, 53, 31, 81, 189, 683, 1283, 419, 7585, 9207, 15053}}, +{3012, 15, 10352, {1, 3, 5, 11, 21, 1, 49, 251, 403, 489, 1235, 429, 4855, 4081, 17575}}, +{3013, 15, 10364, {1, 3, 1, 15, 29, 33, 77, 53, 105, 731, 749, 2677, 3967, 7967, 18723}}, +{3014, 15, 10373, {1, 3, 3, 11, 9, 47, 11, 95, 137, 923, 599, 1585, 1969, 9625, 19171}}, +{3015, 15, 10386, {1, 1, 1, 5, 7, 7, 85, 49, 339, 883, 261, 2125, 3831, 9797, 16395}}, +{3016, 15, 10391, {1, 3, 3, 3, 5, 9, 33, 99, 75, 889, 101, 2099, 6635, 11511, 21573}}, +{3017, 15, 10398, {1, 1, 5, 11, 1, 11, 79, 49, 7, 131, 471, 1235, 3287, 14777, 12053}}, +{3018, 15, 10408, {1, 1, 5, 15, 9, 9, 83, 15, 21, 899, 1785, 2349, 3471, 6723, 1405}}, +{3019, 15, 10413, {1, 3, 5, 11, 1, 7, 121, 223, 509, 859, 1037, 491, 5529, 481, 17029}}, +{3020, 15, 10422, {1, 1, 7, 5, 17, 35, 91, 171, 113, 65, 423, 2371, 5105, 12827, 31087}}, +{3021, 15, 10445, {1, 1, 3, 3, 21, 47, 55, 11, 159, 51, 263, 2113, 661, 9147, 28929}}, +{3022, 15, 10460, {1, 1, 1, 9, 19, 7, 43, 223, 207, 787, 543, 2141, 4247, 7369, 29031}}, +{3023, 15, 10463, {1, 1, 7, 11, 11, 51, 121, 9, 211, 905, 687, 889, 1827, 13395, 3507}}, +{3024, 15, 10464, {1, 3, 1, 7, 15, 23, 5, 139, 469, 569, 33, 3477, 5391, 13665, 17011}}, +{3025, 15, 10474, {1, 1, 1, 15, 29, 29, 29, 201, 63, 1019, 97, 1671, 9, 4617, 19833}}, +{3026, 15, 10476, {1, 1, 5, 15, 25, 5, 67, 225, 189, 919, 1471, 1451, 5017, 16189, 31555}}, +{3027, 15, 10487, {1, 3, 5, 5, 15, 51, 89, 221, 149, 863, 43, 2381, 1767, 8037, 5319}}, +{3028, 15, 10494, {1, 3, 3, 1, 15, 17, 5, 77, 69, 27, 1883, 63, 5987, 1497, 3723}}, +{3029, 15, 10499, {1, 3, 7, 11, 7, 5, 113, 229, 123, 709, 1531, 641, 6655, 14923, 22947}}, +{3030, 15, 10506, {1, 3, 1, 13, 21, 15, 45, 175, 81, 499, 1113, 587, 7573, 11689, 15651}}, +{3031, 15, 10513, {1, 3, 1, 1, 29, 43, 101, 37, 131, 757, 465, 743, 2737, 8063, 23967}}, +{3032, 15, 10516, {1, 1, 7, 13, 9, 21, 39, 177, 51, 691, 2047, 1519, 6137, 5271, 8703}}, +{3033, 15, 10523, {1, 1, 3, 3, 5, 55, 63, 21, 3, 317, 461, 527, 2673, 16211, 6721}}, +{3034, 15, 10539, {1, 3, 5, 5, 5, 47, 7, 241, 387, 589, 323, 203, 7241, 14761, 13287}}, +{3035, 15, 10549, {1, 3, 5, 3, 23, 63, 55, 61, 231, 1023, 1315, 1181, 243, 7389, 25639}}, +{3036, 15, 10550, {1, 1, 7, 13, 31, 43, 41, 81, 127, 887, 1513, 4055, 1361, 2443, 6963}}, +{3037, 15, 10567, {1, 1, 1, 5, 7, 43, 43, 33, 323, 911, 1373, 3053, 6503, 513, 6457}}, +{3038, 15, 10576, {1, 1, 7, 11, 25, 61, 21, 149, 205, 349, 1433, 1587, 149, 7275, 5465}}, +{3039, 15, 10625, {1, 3, 5, 5, 11, 9, 31, 217, 119, 511, 209, 3325, 2023, 2877, 463}}, +{3040, 15, 10635, {1, 3, 5, 15, 21, 47, 89, 41, 347, 849, 1375, 3311, 807, 11443, 27643}}, +{3041, 15, 10643, {1, 1, 5, 7, 29, 43, 123, 191, 321, 373, 447, 2145, 1221, 2071, 12689}}, +{3042, 15, 10656, {1, 3, 5, 15, 1, 21, 43, 141, 461, 779, 1109, 2915, 909, 8585, 19859}}, +{3043, 15, 10671, {1, 3, 3, 11, 5, 17, 57, 13, 393, 661, 1761, 2455, 43, 8593, 20505}}, +{3044, 15, 10676, {1, 3, 5, 1, 31, 47, 65, 249, 77, 513, 851, 2381, 3447, 693, 7729}}, +{3045, 15, 10683, {1, 3, 5, 15, 31, 19, 83, 47, 369, 697, 1815, 819, 7573, 9245, 8013}}, +{3046, 15, 10685, {1, 3, 5, 5, 11, 25, 27, 151, 107, 339, 299, 3869, 3393, 5661, 2947}}, +{3047, 15, 10688, {1, 1, 3, 1, 1, 59, 85, 57, 175, 465, 239, 3115, 7157, 7035, 11463}}, +{3048, 15, 10697, {1, 1, 7, 5, 31, 41, 53, 149, 121, 743, 189, 159, 5289, 2945, 1179}}, +{3049, 15, 10700, {1, 3, 3, 15, 23, 51, 83, 25, 159, 163, 61, 713, 4529, 5253, 1603}}, +{3050, 15, 10712, {1, 3, 5, 11, 7, 29, 15, 177, 507, 695, 1305, 1863, 7525, 3063, 27433}}, +{3051, 15, 10724, {1, 1, 3, 11, 5, 41, 115, 227, 409, 951, 591, 4003, 7717, 4369, 15637}}, +{3052, 15, 10728, {1, 1, 7, 11, 23, 55, 71, 135, 51, 411, 2003, 2375, 6823, 1711, 4443}}, +{3053, 15, 10734, {1, 3, 1, 3, 31, 47, 31, 233, 243, 3, 313, 1649, 6955, 13679, 32327}}, +{3054, 15, 10739, {1, 1, 3, 11, 29, 9, 1, 79, 247, 677, 685, 3107, 5987, 9675, 29523}}, +{3055, 15, 10762, {1, 1, 1, 7, 25, 31, 39, 241, 483, 839, 1143, 437, 2317, 2437, 173}}, +{3056, 15, 10772, {1, 1, 5, 1, 17, 19, 83, 57, 39, 479, 715, 1911, 1091, 10937, 22145}}, +{3057, 15, 10781, {1, 1, 7, 1, 27, 45, 35, 55, 477, 719, 217, 3349, 7717, 6853, 9699}}, +{3058, 15, 10800, {1, 3, 1, 11, 9, 39, 25, 223, 303, 713, 151, 2611, 4629, 5855, 31729}}, +{3059, 15, 10805, {1, 1, 1, 11, 13, 35, 53, 39, 167, 779, 1673, 1221, 6281, 15113, 32027}}, +{3060, 15, 10827, {1, 1, 5, 9, 19, 63, 89, 113, 199, 107, 1015, 835, 2879, 9499, 25597}}, +{3061, 15, 10830, {1, 1, 7, 3, 19, 37, 15, 23, 449, 641, 1811, 3407, 6775, 6283, 31157}}, +{3062, 15, 10837, {1, 1, 3, 1, 19, 15, 31, 99, 511, 897, 1693, 2093, 955, 15897, 26693}}, +{3063, 15, 10841, {1, 1, 5, 1, 5, 15, 47, 19, 441, 541, 1621, 3877, 6407, 15991, 1931}}, +{3064, 15, 10847, {1, 3, 5, 9, 21, 61, 15, 77, 265, 351, 879, 3835, 6555, 2349, 23235}}, +{3065, 15, 10848, {1, 1, 5, 11, 25, 37, 29, 181, 341, 641, 1213, 1319, 6359, 6231, 32573}}, +{3066, 15, 10857, {1, 1, 1, 7, 1, 37, 87, 123, 33, 913, 111, 2613, 4895, 12595, 26633}}, +{3067, 15, 10866, {1, 3, 5, 3, 27, 11, 45, 89, 183, 241, 1355, 783, 3343, 239, 8643}}, +{3068, 15, 10868, {1, 3, 7, 7, 9, 35, 67, 187, 233, 577, 1445, 3063, 6039, 16233, 1453}}, +{3069, 15, 10872, {1, 1, 3, 13, 27, 11, 23, 15, 95, 63, 1931, 911, 8149, 6833, 3051}}, +{3070, 15, 10887, {1, 3, 3, 5, 29, 49, 125, 117, 47, 143, 423, 3215, 3605, 3677, 17155}}, +{3071, 15, 10899, {1, 3, 1, 1, 31, 1, 123, 195, 83, 893, 1947, 339, 2927, 7183, 15443}}, +{3072, 15, 10901, {1, 1, 7, 13, 31, 15, 91, 207, 39, 275, 439, 2617, 3093, 11041, 24997}}, +{3073, 15, 10915, {1, 1, 5, 3, 3, 41, 13, 67, 361, 497, 25, 3807, 3551, 9681, 21043}}, +{3074, 15, 10924, {1, 3, 3, 3, 11, 27, 103, 59, 427, 327, 1705, 29, 8127, 1641, 20847}}, +{3075, 15, 10929, {1, 3, 7, 5, 3, 37, 81, 137, 225, 101, 187, 3067, 2491, 12687, 16227}}, +{3076, 15, 10942, {1, 3, 5, 15, 15, 33, 69, 223, 225, 771, 1917, 2293, 2889, 12083, 23971}}, +{3077, 15, 10971, {1, 1, 3, 5, 11, 9, 121, 81, 203, 425, 1189, 2011, 3041, 3247, 739}}, +{3078, 15, 10992, {1, 3, 1, 1, 13, 9, 39, 169, 437, 571, 1481, 3355, 3895, 8975, 31031}}, +{3079, 15, 10995, {1, 3, 1, 11, 1, 43, 35, 35, 293, 11, 657, 1415, 5021, 14463, 17945}}, +{3080, 15, 11002, {1, 1, 5, 5, 13, 47, 91, 15, 159, 23, 971, 3575, 757, 13477, 31757}}, +{3081, 15, 11010, {1, 1, 7, 1, 5, 63, 69, 27, 71, 129, 123, 3767, 89, 7865, 1189}}, +{3082, 15, 11027, {1, 3, 3, 5, 23, 1, 83, 3, 487, 491, 217, 2583, 3889, 15009, 9227}}, +{3083, 15, 11029, {1, 3, 5, 15, 25, 1, 73, 107, 245, 191, 1449, 571, 1403, 6953, 17457}}, +{3084, 15, 11045, {1, 3, 3, 3, 27, 19, 25, 105, 207, 857, 1161, 3657, 2107, 7955, 517}}, +{3085, 15, 11057, {1, 3, 3, 9, 21, 29, 5, 103, 219, 35, 3, 1635, 4815, 15797, 29839}}, +{3086, 15, 11070, {1, 1, 7, 7, 3, 63, 75, 77, 13, 57, 603, 2333, 7761, 14397, 10875}}, +{3087, 15, 11092, {1, 3, 7, 13, 3, 11, 5, 255, 1, 947, 1695, 1927, 7447, 7407, 20797}}, +{3088, 15, 11099, {1, 1, 5, 1, 1, 21, 105, 73, 429, 973, 1801, 3943, 6161, 1309, 3359}}, +{3089, 15, 11106, {1, 1, 3, 15, 27, 9, 9, 129, 117, 545, 9, 1983, 6351, 10925, 27337}}, +{3090, 15, 11115, {1, 3, 3, 5, 5, 5, 13, 155, 503, 875, 1243, 2259, 3445, 11953, 6517}}, +{3091, 15, 11120, {1, 1, 7, 3, 29, 21, 121, 147, 413, 423, 1887, 2429, 2765, 16335, 3071}}, +{3092, 15, 11126, {1, 1, 7, 9, 5, 53, 41, 137, 463, 583, 1627, 1731, 6675, 3703, 8177}}, +{3093, 15, 11153, {1, 3, 5, 11, 31, 29, 67, 159, 425, 25, 1457, 139, 5019, 701, 7357}}, +{3094, 15, 11190, {1, 3, 1, 5, 25, 15, 123, 123, 245, 859, 249, 2175, 2137, 5765, 4873}}, +{3095, 15, 11199, {1, 1, 3, 5, 23, 1, 111, 111, 111, 469, 1473, 1777, 3579, 13503, 2569}}, +{3096, 15, 11222, {1, 1, 7, 3, 17, 23, 51, 23, 499, 135, 713, 3317, 807, 9589, 11349}}, +{3097, 15, 11225, {1, 1, 1, 15, 9, 51, 75, 159, 359, 773, 1521, 2913, 5901, 3047, 14649}}, +{3098, 15, 11226, {1, 1, 3, 1, 13, 61, 117, 195, 49, 267, 57, 1769, 3621, 9415, 29443}}, +{3099, 15, 11231, {1, 3, 7, 11, 3, 25, 33, 31, 315, 191, 359, 3399, 2481, 13831, 20205}}, +{3100, 15, 11244, {1, 3, 3, 5, 31, 43, 35, 125, 291, 51, 1469, 3857, 1707, 2641, 32137}}, +{3101, 15, 11259, {1, 3, 5, 1, 25, 11, 113, 137, 211, 159, 1667, 939, 6439, 5337, 32059}}, +{3102, 15, 11261, {1, 3, 3, 11, 31, 61, 99, 49, 383, 343, 395, 51, 6931, 16039, 5901}}, +{3103, 15, 11270, {1, 1, 3, 5, 9, 63, 63, 49, 405, 915, 1505, 2141, 6749, 7799, 17313}}, +{3104, 15, 11273, {1, 3, 7, 11, 15, 11, 49, 161, 155, 869, 121, 301, 6561, 4279, 15233}}, +{3105, 15, 11300, {1, 1, 5, 13, 19, 13, 103, 59, 503, 293, 701, 2527, 5327, 13927, 5025}}, +{3106, 15, 11307, {1, 1, 7, 1, 1, 37, 55, 155, 485, 399, 855, 2677, 5927, 9657, 2795}}, +{3107, 15, 11318, {1, 1, 1, 5, 19, 15, 121, 69, 385, 75, 1567, 2649, 5601, 12981, 15903}}, +{3108, 15, 11332, {1, 1, 1, 11, 19, 21, 45, 59, 505, 737, 15, 1383, 1177, 8375, 15557}}, +{3109, 15, 11335, {1, 1, 7, 13, 29, 19, 123, 127, 469, 773, 733, 3289, 8087, 5803, 27897}}, +{3110, 15, 11341, {1, 3, 3, 11, 19, 55, 101, 67, 485, 939, 607, 1521, 6161, 12235, 16499}}, +{3111, 15, 11347, {1, 3, 5, 13, 29, 31, 31, 9, 453, 151, 1055, 3873, 405, 12877, 29829}}, +{3112, 15, 11354, {1, 3, 5, 1, 17, 1, 17, 131, 107, 1003, 1749, 1849, 6207, 2153, 21275}}, +{3113, 15, 11360, {1, 3, 7, 15, 7, 25, 51, 143, 51, 517, 1841, 1771, 5389, 4633, 11123}}, +{3114, 15, 11369, {1, 3, 7, 11, 23, 7, 89, 95, 403, 361, 835, 585, 2783, 8091, 5141}}, +{3115, 15, 11372, {1, 3, 1, 9, 1, 53, 115, 11, 493, 587, 305, 3605, 1711, 4169, 20013}}, +{3116, 15, 11378, {1, 3, 7, 3, 17, 59, 55, 251, 49, 759, 1227, 3685, 7765, 1445, 20385}}, +{3117, 15, 11396, {1, 1, 5, 7, 29, 55, 19, 157, 129, 927, 893, 1235, 1955, 8153, 2865}}, +{3118, 15, 11405, {1, 3, 1, 15, 21, 35, 81, 53, 175, 939, 1635, 3597, 747, 14011, 12867}}, +{3119, 15, 11417, {1, 3, 7, 1, 27, 61, 91, 73, 405, 677, 603, 2715, 7099, 941, 24523}}, +{3120, 15, 11424, {1, 3, 5, 9, 13, 45, 35, 167, 57, 483, 735, 2777, 7847, 6257, 13109}}, +{3121, 15, 11427, {1, 3, 5, 7, 1, 3, 97, 13, 159, 533, 1791, 1061, 981, 10795, 26165}}, +{3122, 15, 11430, {1, 1, 5, 13, 27, 5, 125, 25, 251, 221, 1909, 197, 6987, 11537, 15287}}, +{3123, 15, 11439, {1, 3, 5, 5, 27, 15, 1, 131, 375, 923, 81, 3153, 6071, 2515, 23729}}, +{3124, 15, 11442, {1, 3, 3, 9, 9, 23, 71, 13, 465, 261, 937, 1549, 5993, 11325, 15065}}, +{3125, 15, 11448, {1, 3, 1, 3, 7, 63, 17, 129, 435, 23, 215, 2251, 1561, 9703, 26483}}, +{3126, 15, 11461, {1, 1, 3, 1, 5, 53, 77, 109, 9, 605, 371, 2081, 6023, 7145, 15837}}, +{3127, 15, 11468, {1, 3, 7, 11, 27, 39, 115, 47, 259, 337, 1857, 3465, 1549, 7747, 8525}}, +{3128, 15, 11471, {1, 3, 7, 7, 29, 29, 75, 77, 29, 661, 899, 3137, 2661, 15271, 28093}}, +{3129, 15, 11473, {1, 1, 1, 3, 3, 3, 11, 219, 39, 757, 1465, 249, 7445, 7013, 15187}}, +{3130, 15, 11476, {1, 3, 7, 15, 15, 1, 39, 245, 427, 1003, 1493, 1913, 6435, 14787, 13481}}, +{3131, 15, 11480, {1, 1, 7, 3, 3, 37, 5, 97, 343, 833, 1379, 1551, 5403, 1843, 5877}}, +{3132, 15, 11489, {1, 3, 1, 1, 3, 17, 17, 163, 339, 691, 1707, 1845, 5941, 4259, 24531}}, +{3133, 15, 11499, {1, 1, 1, 1, 27, 21, 85, 221, 71, 949, 1753, 391, 6349, 15901, 20811}}, +{3134, 15, 11516, {1, 1, 1, 5, 31, 19, 45, 99, 469, 783, 1747, 3807, 5889, 9485, 13715}}, +{3135, 15, 11522, {1, 3, 1, 9, 23, 21, 39, 25, 421, 713, 461, 2857, 5023, 5341, 6409}}, +{3136, 15, 11531, {1, 3, 7, 5, 25, 19, 59, 147, 387, 857, 375, 3103, 1261, 13697, 25675}}, +{3137, 15, 11539, {1, 3, 5, 5, 31, 21, 49, 251, 463, 441, 473, 3487, 3915, 11151, 17721}}, +{3138, 15, 11546, {1, 1, 3, 9, 15, 47, 81, 219, 143, 141, 81, 1705, 5847, 3437, 30521}}, +{3139, 15, 11551, {1, 1, 7, 3, 25, 19, 97, 41, 77, 105, 1337, 695, 7589, 8587, 7509}}, +{3140, 15, 11564, {1, 1, 5, 13, 3, 11, 61, 19, 139, 667, 963, 1567, 5715, 7079, 15967}}, +{3141, 15, 11582, {1, 1, 5, 5, 5, 29, 67, 57, 477, 173, 1163, 727, 823, 15635, 17705}}, +{3142, 15, 11589, {1, 3, 7, 11, 13, 39, 57, 193, 73, 617, 535, 1623, 4581, 4451, 2589}}, +{3143, 15, 11593, {1, 1, 5, 5, 9, 27, 75, 127, 325, 413, 1669, 1749, 8045, 16199, 12237}}, +{3144, 15, 11601, {1, 1, 3, 1, 17, 23, 27, 189, 319, 953, 347, 909, 4401, 12791, 25077}}, +{3145, 15, 11608, {1, 1, 3, 3, 17, 51, 37, 79, 301, 607, 885, 1169, 3275, 3327, 20013}}, +{3146, 15, 11617, {1, 3, 5, 3, 21, 9, 99, 213, 387, 889, 575, 3591, 5377, 2981, 23989}}, +{3147, 15, 11630, {1, 3, 3, 13, 11, 7, 23, 255, 279, 853, 453, 2377, 8123, 15393, 9669}}, +{3148, 15, 11663, {1, 3, 1, 7, 11, 9, 109, 35, 405, 449, 1967, 2943, 3485, 5031, 14273}}, +{3149, 15, 11666, {1, 3, 3, 1, 25, 27, 43, 115, 435, 675, 1937, 1477, 4831, 9417, 7017}}, +{3150, 15, 11668, {1, 1, 7, 13, 19, 45, 83, 241, 487, 215, 1453, 209, 4061, 1765, 15623}}, +{3151, 15, 11677, {1, 1, 7, 7, 21, 31, 95, 9, 287, 1005, 1933, 3405, 6913, 7733, 18975}}, +{3152, 15, 11682, {1, 1, 1, 11, 13, 11, 25, 39, 283, 57, 255, 2809, 5767, 6127, 6705}}, +{3153, 15, 11687, {1, 3, 1, 11, 1, 51, 73, 181, 261, 215, 385, 2777, 5169, 12431, 23563}}, +{3154, 15, 11696, {1, 3, 3, 9, 9, 39, 123, 197, 501, 679, 109, 3369, 4817, 8855, 7997}}, +{3155, 15, 11713, {1, 1, 5, 1, 29, 61, 15, 183, 453, 999, 1211, 3217, 8035, 5153, 19975}}, +{3156, 15, 11728, {1, 3, 7, 11, 11, 21, 51, 45, 379, 793, 289, 309, 1229, 7159, 581}}, +{3157, 15, 11747, {1, 1, 3, 9, 17, 11, 75, 67, 289, 191, 1083, 2949, 6063, 6611, 21595}}, +{3158, 15, 11750, {1, 3, 7, 3, 27, 45, 59, 193, 485, 277, 27, 1219, 2389, 15875, 6273}}, +{3159, 15, 11754, {1, 1, 5, 3, 31, 29, 65, 197, 115, 163, 9, 783, 5573, 2833, 12603}}, +{3160, 15, 11759, {1, 1, 3, 7, 5, 53, 115, 181, 175, 749, 1335, 1151, 2131, 12467, 15811}}, +{3161, 15, 11761, {1, 1, 1, 9, 27, 39, 11, 1, 443, 677, 777, 1857, 7459, 3177, 3875}}, +{3162, 15, 11764, {1, 1, 7, 7, 17, 3, 23, 161, 105, 603, 1991, 3845, 465, 11467, 2077}}, +{3163, 15, 11767, {1, 1, 3, 13, 5, 23, 39, 35, 399, 795, 265, 207, 1823, 15069, 31839}}, +{3164, 15, 11797, {1, 1, 1, 1, 29, 61, 89, 193, 41, 99, 315, 1021, 6109, 12507, 19973}}, +{3165, 15, 11804, {1, 1, 5, 3, 13, 57, 119, 251, 215, 695, 1521, 4081, 2481, 657, 855}}, +{3166, 15, 11808, {1, 1, 7, 3, 25, 5, 3, 133, 111, 385, 773, 1027, 4327, 3031, 3537}}, +{3167, 15, 11831, {1, 3, 7, 5, 5, 27, 43, 117, 479, 83, 1421, 2791, 6551, 6231, 10353}}, +{3168, 15, 11832, {1, 1, 1, 13, 3, 29, 35, 71, 85, 821, 1671, 3057, 797, 13683, 7025}}, +{3169, 15, 11849, {1, 3, 7, 1, 1, 47, 117, 233, 141, 993, 1381, 2551, 1031, 11765, 18429}}, +{3170, 15, 11855, {1, 3, 1, 3, 13, 3, 77, 29, 35, 807, 1109, 695, 5605, 5477, 449}}, +{3171, 15, 11863, {1, 1, 1, 15, 21, 37, 117, 105, 273, 311, 1287, 1415, 1221, 1847, 19487}}, +{3172, 15, 11880, {1, 3, 1, 11, 21, 61, 107, 225, 335, 501, 1995, 2399, 5475, 12613, 18877}}, +{3173, 15, 11883, {1, 3, 3, 1, 31, 41, 27, 205, 103, 837, 639, 2007, 2759, 12471, 1457}}, +{3174, 15, 11885, {1, 1, 7, 13, 29, 39, 71, 245, 105, 235, 1277, 1515, 6129, 15947, 26653}}, +{3175, 15, 11898, {1, 1, 7, 5, 7, 13, 87, 251, 315, 1017, 587, 2917, 5911, 2919, 29715}}, +{3176, 15, 11916, {1, 1, 1, 3, 7, 19, 81, 243, 177, 917, 2023, 2365, 7465, 4901, 29841}}, +{3177, 15, 11924, {1, 3, 5, 15, 1, 31, 15, 147, 285, 1003, 1757, 47, 6925, 1197, 19633}}, +{3178, 15, 11928, {1, 1, 5, 7, 27, 25, 47, 209, 85, 403, 1399, 2331, 3663, 595, 13407}}, +{3179, 15, 11947, {1, 3, 5, 9, 7, 25, 7, 139, 389, 817, 1153, 1421, 5735, 9577, 10269}}, +{3180, 15, 11955, {1, 1, 1, 9, 5, 61, 49, 117, 389, 541, 433, 1405, 2575, 223, 7265}}, +{3181, 15, 11961, {1, 1, 5, 7, 15, 1, 81, 207, 435, 843, 835, 3797, 7637, 5333, 31115}}, +{3182, 15, 11962, {1, 3, 7, 11, 13, 3, 47, 249, 301, 715, 2015, 3049, 8155, 10989, 26051}}, +{3183, 15, 11982, {1, 1, 7, 7, 3, 33, 119, 113, 381, 575, 367, 41, 3317, 11727, 4351}}, +{3184, 15, 11990, {1, 3, 3, 13, 9, 3, 51, 37, 173, 137, 533, 1827, 631, 10047, 6267}}, +{3185, 15, 12010, {1, 3, 3, 11, 17, 39, 61, 245, 13, 139, 1281, 1319, 1233, 13629, 32269}}, +{3186, 15, 12018, {1, 1, 1, 7, 15, 17, 91, 109, 163, 609, 11, 3251, 7653, 14035, 31755}}, +{3187, 15, 12027, {1, 3, 3, 15, 13, 21, 55, 231, 385, 133, 1833, 2637, 6935, 14303, 26745}}, +{3188, 15, 12029, {1, 1, 1, 7, 17, 41, 125, 141, 89, 823, 1411, 3637, 6211, 13323, 6111}}, +{3189, 15, 12035, {1, 1, 1, 11, 1, 21, 9, 43, 97, 685, 1223, 1491, 121, 1793, 2397}}, +{3190, 15, 12055, {1, 3, 5, 5, 17, 17, 5, 223, 129, 865, 1839, 1137, 6391, 4377, 9233}}, +{3191, 15, 12062, {1, 3, 7, 15, 21, 55, 5, 77, 341, 637, 1853, 1435, 1195, 9283, 21257}}, +{3192, 15, 12068, {1, 3, 5, 1, 9, 49, 43, 211, 127, 655, 1397, 1235, 5279, 2351, 24229}}, +{3193, 15, 12071, {1, 3, 5, 3, 25, 29, 13, 229, 25, 675, 837, 2753, 2125, 9863, 11293}}, +{3194, 15, 12072, {1, 3, 5, 7, 23, 43, 127, 1, 163, 237, 337, 3019, 7747, 16227, 2881}}, +{3195, 15, 12086, {1, 3, 5, 5, 25, 9, 43, 171, 421, 521, 1885, 337, 7873, 6347, 13181}}, +{3196, 15, 12097, {1, 3, 5, 5, 7, 47, 107, 173, 163, 191, 625, 3389, 2833, 7945, 24787}}, +{3197, 15, 12098, {1, 1, 7, 3, 27, 57, 27, 209, 253, 815, 301, 1633, 3945, 5051, 28851}}, +{3198, 15, 12100, {1, 3, 7, 9, 9, 51, 103, 213, 437, 189, 1857, 1331, 5551, 10641, 27405}}, +{3199, 15, 12112, {1, 1, 5, 5, 15, 1, 25, 105, 117, 347, 161, 3369, 3589, 12903, 23559}}, +{3200, 15, 12118, {1, 1, 1, 5, 3, 61, 93, 51, 81, 281, 1383, 745, 4137, 2005, 3635}}, +{3201, 15, 12133, {1, 3, 7, 5, 13, 57, 111, 211, 303, 477, 359, 4019, 6779, 5129, 22035}}, +{3202, 15, 12134, {1, 1, 1, 7, 17, 29, 113, 113, 201, 531, 749, 739, 2879, 3315, 18733}}, +{3203, 15, 12137, {1, 3, 7, 13, 21, 55, 21, 183, 359, 75, 377, 2211, 4281, 14317, 28307}}, +{3204, 15, 12161, {1, 3, 7, 1, 21, 1, 49, 213, 317, 75, 113, 1741, 7963, 12785, 11571}}, +{3205, 15, 12162, {1, 3, 7, 9, 11, 31, 29, 101, 261, 141, 715, 2727, 8187, 2075, 32433}}, +{3206, 15, 12171, {1, 3, 7, 3, 23, 9, 17, 143, 385, 211, 593, 241, 6567, 10777, 6677}}, +{3207, 15, 12174, {1, 1, 3, 15, 3, 17, 117, 99, 91, 793, 989, 2421, 5643, 16103, 9759}}, +{3208, 15, 12185, {1, 3, 7, 11, 23, 43, 107, 35, 421, 431, 743, 853, 7939, 12169, 4199}}, +{3209, 15, 12204, {1, 1, 1, 11, 21, 53, 17, 203, 123, 395, 59, 929, 255, 7585, 10945}}, +{3210, 15, 12212, {1, 3, 3, 15, 17, 57, 57, 133, 67, 71, 1685, 903, 4079, 15423, 26495}}, +{3211, 15, 12215, {1, 1, 1, 15, 3, 47, 95, 39, 405, 407, 1557, 3001, 6225, 15187, 5663}}, +{3212, 15, 12216, {1, 3, 5, 5, 13, 47, 33, 61, 375, 1023, 1981, 2773, 2375, 11321, 17731}}, +{3213, 15, 12253, {1, 3, 5, 9, 17, 59, 117, 95, 493, 149, 1269, 2865, 369, 2109, 24601}}, +{3214, 15, 12260, {1, 3, 5, 13, 17, 63, 67, 247, 95, 721, 67, 305, 6179, 15399, 32559}}, +{3215, 15, 12277, {1, 1, 5, 1, 3, 21, 41, 15, 453, 475, 2017, 3193, 5903, 897, 4237}}, +{3216, 15, 12289, {1, 1, 5, 3, 15, 41, 1, 141, 441, 575, 155, 3791, 7711, 11231, 24611}}, +{3217, 15, 12295, {1, 3, 7, 1, 17, 53, 27, 169, 31, 437, 963, 1793, 7777, 1917, 29311}}, +{3218, 15, 12314, {1, 3, 3, 13, 9, 27, 77, 87, 329, 885, 749, 1713, 6013, 6921, 629}}, +{3219, 15, 12323, {1, 3, 5, 13, 3, 7, 53, 27, 353, 267, 925, 2141, 439, 15175, 30851}}, +{3220, 15, 12325, {1, 3, 3, 13, 17, 57, 35, 101, 265, 901, 1825, 2159, 6149, 5967, 24023}}, +{3221, 15, 12335, {1, 1, 5, 11, 13, 51, 99, 111, 193, 415, 1541, 2929, 5045, 3147, 12587}}, +{3222, 15, 12349, {1, 3, 7, 11, 15, 9, 33, 17, 511, 815, 299, 1077, 6171, 10451, 15039}}, +{3223, 15, 12358, {1, 1, 1, 15, 25, 63, 51, 137, 449, 951, 1051, 1101, 4725, 2463, 7355}}, +{3224, 15, 12372, {1, 1, 1, 7, 27, 63, 29, 179, 317, 521, 1459, 827, 6599, 13459, 15439}}, +{3225, 15, 12376, {1, 3, 3, 15, 17, 31, 37, 191, 229, 245, 181, 941, 5761, 1849, 31599}}, +{3226, 15, 12379, {1, 1, 1, 9, 27, 45, 67, 239, 481, 615, 1667, 3751, 8141, 10013, 2125}}, +{3227, 15, 12386, {1, 1, 1, 1, 13, 51, 117, 135, 73, 151, 1291, 2541, 1411, 3767, 26949}}, +{3228, 15, 12395, {1, 3, 1, 9, 7, 11, 21, 187, 243, 857, 1951, 865, 7273, 2041, 8155}}, +{3229, 15, 12416, {1, 1, 3, 3, 19, 33, 89, 115, 455, 137, 707, 1867, 4221, 2433, 9119}}, +{3230, 15, 12421, {1, 1, 3, 11, 5, 3, 121, 1, 71, 951, 603, 3873, 723, 3285, 19289}}, +{3231, 15, 12440, {1, 3, 7, 15, 21, 1, 117, 17, 455, 519, 731, 3003, 5741, 9557, 29163}}, +{3232, 15, 12452, {1, 1, 3, 13, 25, 5, 43, 147, 209, 895, 255, 1231, 241, 487, 15593}}, +{3233, 15, 12455, {1, 1, 3, 13, 7, 1, 89, 187, 217, 927, 2029, 3521, 2777, 8103, 22819}}, +{3234, 15, 12456, {1, 1, 7, 11, 7, 33, 3, 73, 5, 489, 227, 2259, 7031, 6425, 26135}}, +{3235, 15, 12462, {1, 3, 3, 7, 31, 19, 97, 201, 455, 819, 945, 2771, 8083, 8711, 2835}}, +{3236, 15, 12467, {1, 1, 1, 5, 15, 45, 43, 157, 245, 967, 877, 2289, 4499, 9891, 18827}}, +{3237, 15, 12479, {1, 3, 1, 7, 21, 59, 123, 63, 231, 485, 1781, 1211, 4597, 5269, 1607}}, +{3238, 15, 12505, {1, 1, 1, 13, 23, 39, 105, 55, 249, 991, 1625, 3089, 3825, 4275, 29139}}, +{3239, 15, 12521, {1, 3, 3, 1, 29, 29, 55, 169, 13, 895, 1355, 1101, 6063, 12935, 23215}}, +{3240, 15, 12535, {1, 1, 5, 5, 31, 49, 99, 137, 209, 1017, 1179, 3931, 637, 14131, 19285}}, +{3241, 15, 12547, {1, 1, 1, 1, 3, 11, 119, 11, 215, 337, 243, 3883, 3807, 7335, 11901}}, +{3242, 15, 12556, {1, 3, 7, 3, 7, 27, 71, 225, 219, 367, 1213, 2739, 1185, 10175, 21313}}, +{3243, 15, 12561, {1, 3, 7, 13, 7, 49, 23, 223, 61, 1011, 797, 1335, 6711, 5961, 5605}}, +{3244, 15, 12568, {1, 3, 3, 11, 19, 37, 1, 149, 39, 661, 929, 2125, 2299, 5181, 28083}}, +{3245, 15, 12578, {1, 3, 3, 13, 13, 9, 67, 21, 463, 279, 529, 523, 6705, 11011, 31695}}, +{3246, 15, 12583, {1, 3, 1, 5, 13, 1, 123, 3, 291, 625, 1949, 2713, 5917, 10343, 13627}}, +{3247, 15, 12595, {1, 1, 3, 9, 27, 41, 3, 207, 103, 265, 811, 549, 6109, 313, 8889}}, +{3248, 15, 12604, {1, 3, 3, 13, 23, 43, 99, 33, 279, 463, 955, 793, 4113, 10615, 16957}}, +{3249, 15, 12610, {1, 1, 5, 7, 11, 49, 79, 45, 17, 937, 359, 1037, 1099, 3003, 31561}}, +{3250, 15, 12621, {1, 1, 1, 7, 3, 45, 111, 35, 109, 983, 53, 4057, 7349, 3599, 2209}}, +{3251, 15, 12622, {1, 3, 7, 11, 9, 43, 27, 9, 85, 529, 1497, 347, 759, 12449, 11373}}, +{3252, 15, 12624, {1, 1, 3, 9, 17, 1, 49, 31, 367, 813, 1385, 2025, 773, 4679, 4543}}, +{3253, 15, 12629, {1, 1, 5, 15, 15, 9, 43, 97, 239, 995, 1037, 841, 4167, 12113, 23765}}, +{3254, 15, 12630, {1, 3, 5, 9, 29, 53, 123, 49, 221, 113, 1157, 73, 6087, 1363, 11029}}, +{3255, 15, 12639, {1, 3, 1, 13, 3, 15, 69, 199, 279, 919, 5, 161, 4817, 15031, 121}}, +{3256, 15, 12640, {1, 3, 1, 9, 3, 31, 117, 77, 393, 241, 645, 3181, 1067, 15879, 2037}}, +{3257, 15, 12650, {1, 3, 3, 15, 3, 63, 57, 33, 117, 789, 941, 1301, 5865, 12693, 3523}}, +{3258, 15, 12679, {1, 1, 5, 13, 3, 61, 51, 151, 175, 305, 95, 1557, 6567, 7841, 13903}}, +{3259, 15, 12680, {1, 3, 3, 5, 15, 25, 127, 79, 245, 767, 645, 3933, 1357, 12579, 4067}}, +{3260, 15, 12698, {1, 3, 5, 11, 21, 31, 13, 251, 127, 231, 1795, 2627, 1191, 3363, 23543}}, +{3261, 15, 12716, {1, 1, 3, 5, 7, 49, 121, 57, 131, 481, 1879, 525, 5225, 337, 1957}}, +{3262, 15, 12721, {1, 1, 5, 13, 9, 55, 27, 37, 211, 125, 119, 3373, 251, 12357, 13975}}, +{3263, 15, 12722, {1, 3, 3, 15, 1, 51, 91, 119, 233, 993, 203, 1635, 1167, 6327, 29119}}, +{3264, 15, 12731, {1, 1, 7, 1, 13, 5, 23, 253, 121, 989, 1105, 3321, 3221, 6073, 21185}}, +{3265, 15, 12742, {1, 1, 3, 15, 13, 49, 121, 247, 247, 133, 485, 1067, 7875, 411, 7647}}, +{3266, 15, 12745, {1, 3, 7, 13, 31, 37, 127, 241, 145, 133, 53, 267, 2029, 3703, 16123}}, +{3267, 15, 12751, {1, 3, 1, 15, 15, 9, 15, 89, 35, 367, 401, 61, 1953, 7873, 17861}}, +{3268, 15, 12759, {1, 1, 1, 1, 1, 41, 71, 249, 213, 779, 1385, 1767, 999, 15151, 16647}}, +{3269, 15, 12763, {1, 3, 7, 13, 31, 23, 123, 235, 343, 949, 309, 3777, 3587, 853, 19779}}, +{3270, 15, 12769, {1, 1, 3, 13, 29, 35, 5, 37, 63, 757, 303, 1579, 3443, 243, 11873}}, +{3271, 15, 12781, {1, 3, 1, 9, 19, 49, 81, 53, 11, 901, 1857, 147, 3103, 14019, 21}}, +{3272, 15, 12793, {1, 3, 7, 13, 3, 39, 99, 99, 45, 91, 1567, 551, 3129, 4809, 29057}}, +{3273, 15, 12799, {1, 3, 7, 3, 3, 27, 17, 231, 377, 381, 1479, 2525, 2595, 2799, 25737}}, +{3274, 15, 12815, {1, 3, 5, 15, 15, 25, 103, 215, 301, 59, 1417, 981, 7579, 12731, 22329}}, +{3275, 15, 12824, {1, 1, 1, 13, 5, 31, 61, 31, 349, 925, 1301, 685, 435, 11567, 10715}}, +{3276, 15, 12836, {1, 1, 7, 9, 19, 57, 109, 1, 37, 377, 1015, 2273, 6741, 3191, 15949}}, +{3277, 15, 12845, {1, 3, 3, 13, 3, 23, 103, 127, 11, 59, 1847, 1175, 425, 3423, 20643}}, +{3278, 15, 12853, {1, 3, 3, 7, 3, 11, 105, 141, 55, 217, 1427, 477, 667, 9403, 11905}}, +{3279, 15, 12854, {1, 3, 3, 5, 3, 27, 11, 187, 495, 907, 1925, 445, 6639, 8159, 15225}}, +{3280, 15, 12857, {1, 3, 1, 5, 27, 31, 77, 213, 73, 343, 1123, 3609, 2431, 15329, 32165}}, +{3281, 15, 12866, {1, 1, 7, 5, 1, 11, 105, 139, 485, 1007, 709, 3509, 5231, 11717, 31433}}, +{3282, 15, 12872, {1, 1, 3, 15, 23, 49, 95, 169, 399, 1019, 19, 2013, 5311, 7951, 22609}}, +{3283, 15, 12875, {1, 3, 1, 7, 13, 3, 29, 203, 209, 701, 1791, 2615, 5351, 4237, 12565}}, +{3284, 15, 12878, {1, 3, 1, 15, 27, 11, 91, 31, 205, 205, 1683, 901, 5129, 6049, 11865}}, +{3285, 15, 12880, {1, 1, 7, 7, 27, 59, 21, 3, 209, 79, 769, 4013, 2041, 2645, 11561}}, +{3286, 15, 12885, {1, 3, 7, 11, 5, 45, 39, 243, 185, 871, 795, 1845, 8043, 6285, 20991}}, +{3287, 15, 12901, {1, 1, 5, 7, 13, 7, 15, 165, 349, 179, 789, 1269, 3787, 5429, 26567}}, +{3288, 15, 12902, {1, 3, 3, 13, 31, 23, 75, 41, 177, 735, 1889, 4039, 3519, 15003, 965}}, +{3289, 15, 12920, {1, 3, 1, 7, 15, 57, 15, 139, 27, 469, 1003, 691, 7893, 9643, 30983}}, +{3290, 15, 12926, {1, 3, 1, 13, 23, 27, 3, 237, 233, 875, 99, 883, 6167, 5463, 6245}}, +{3291, 15, 12929, {1, 1, 5, 13, 25, 57, 79, 51, 147, 619, 1147, 279, 6583, 1939, 477}}, +{3292, 15, 12939, {1, 3, 5, 5, 31, 61, 125, 163, 213, 699, 583, 3865, 615, 9707, 11651}}, +{3293, 15, 12941, {1, 1, 5, 1, 5, 21, 93, 239, 31, 641, 777, 27, 5247, 8993, 21053}}, +{3294, 15, 12950, {1, 3, 7, 9, 1, 13, 61, 57, 503, 453, 83, 3271, 2845, 1121, 18639}}, +{3295, 15, 12953, {1, 1, 7, 5, 29, 53, 13, 219, 379, 441, 821, 3179, 4877, 2535, 7557}}, +{3296, 15, 12992, {1, 1, 7, 13, 9, 53, 17, 183, 265, 393, 587, 2753, 6453, 7135, 24737}}, +{3297, 15, 13002, {1, 1, 1, 13, 11, 23, 73, 109, 393, 1013, 559, 755, 7291, 6631, 26509}}, +{3298, 15, 13010, {1, 3, 1, 5, 5, 15, 107, 103, 355, 307, 1559, 837, 5413, 5285, 17489}}, +{3299, 15, 13058, {1, 1, 5, 7, 17, 21, 21, 23, 109, 709, 1947, 3585, 3629, 4669, 949}}, +{3300, 15, 13072, {1, 3, 7, 1, 9, 33, 85, 147, 467, 259, 1913, 199, 7399, 9551, 22387}}, +{3301, 15, 13084, {1, 3, 5, 11, 15, 53, 23, 41, 249, 515, 1161, 2467, 1299, 7449, 2613}}, +{3302, 15, 13087, {1, 1, 5, 5, 5, 29, 91, 139, 487, 545, 321, 3035, 4545, 6747, 21673}}, +{3303, 15, 13091, {1, 1, 3, 13, 23, 49, 95, 103, 25, 119, 469, 2515, 2551, 841, 25089}}, +{3304, 15, 13097, {1, 1, 5, 7, 11, 31, 31, 197, 245, 715, 257, 4043, 8099, 11531, 5617}}, +{3305, 15, 13108, {1, 1, 3, 3, 19, 7, 9, 179, 103, 995, 191, 179, 3843, 5215, 27639}}, +{3306, 15, 13123, {1, 3, 1, 7, 23, 59, 25, 65, 399, 211, 1453, 3511, 7203, 16015, 32197}}, +{3307, 15, 13149, {1, 3, 3, 5, 9, 35, 109, 67, 197, 449, 643, 519, 5751, 15551, 11331}}, +{3308, 15, 13150, {1, 3, 5, 3, 1, 17, 53, 201, 265, 351, 467, 911, 1117, 7183, 20371}}, +{3309, 15, 13163, {1, 1, 7, 7, 27, 17, 93, 81, 227, 619, 1191, 735, 815, 12615, 2719}}, +{3310, 15, 13166, {1, 3, 1, 15, 19, 3, 83, 75, 343, 297, 1019, 3469, 4383, 13299, 29755}}, +{3311, 15, 13178, {1, 1, 5, 3, 13, 55, 119, 169, 85, 595, 299, 2469, 5625, 2877, 16117}}, +{3312, 15, 13180, {1, 1, 3, 5, 15, 17, 61, 161, 47, 393, 143, 867, 5517, 9495, 12795}}, +{3313, 15, 13184, {1, 3, 5, 1, 27, 31, 113, 125, 251, 687, 969, 1473, 2245, 6355, 13655}}, +{3314, 15, 13204, {1, 1, 1, 5, 5, 37, 29, 133, 443, 899, 277, 2353, 7223, 4459, 19159}}, +{3315, 15, 13238, {1, 1, 3, 9, 19, 27, 53, 145, 195, 167, 2045, 447, 1803, 1895, 8431}}, +{3316, 15, 13242, {1, 1, 3, 9, 5, 27, 91, 147, 233, 451, 475, 27, 4629, 16181, 16437}}, +{3317, 15, 13249, {1, 3, 5, 3, 29, 17, 53, 167, 433, 689, 1131, 2985, 1553, 11697, 6993}}, +{3318, 15, 13255, {1, 3, 3, 13, 21, 43, 69, 229, 399, 525, 179, 237, 7017, 5703, 17653}}, +{3319, 15, 13269, {1, 1, 3, 15, 13, 39, 75, 163, 229, 875, 197, 477, 3667, 15501, 15801}}, +{3320, 15, 13270, {1, 1, 7, 15, 15, 51, 81, 187, 487, 673, 865, 1915, 1009, 5935, 8097}}, +{3321, 15, 13274, {1, 3, 5, 5, 7, 3, 63, 77, 495, 815, 391, 2321, 1007, 15661, 30715}}, +{3322, 15, 13285, {1, 1, 7, 3, 17, 25, 83, 173, 173, 911, 1373, 2957, 4549, 15977, 17695}}, +{3323, 15, 13289, {1, 1, 7, 13, 13, 23, 77, 147, 497, 1003, 1687, 1795, 1393, 1881, 8479}}, +{3324, 15, 13298, {1, 3, 7, 11, 27, 43, 97, 25, 61, 457, 203, 2573, 5943, 15021, 4003}}, +{3325, 15, 13307, {1, 3, 3, 13, 9, 37, 37, 25, 219, 889, 1535, 2791, 4531, 13679, 12663}}, +{3326, 15, 13312, {1, 1, 3, 1, 17, 7, 51, 123, 89, 887, 1467, 1645, 3767, 6383, 30837}}, +{3327, 15, 13335, {1, 3, 3, 1, 21, 47, 5, 151, 83, 257, 569, 2711, 637, 12569, 16893}}, +{3328, 15, 13345, {1, 3, 7, 1, 31, 37, 73, 3, 115, 919, 1817, 2483, 4811, 15245, 4375}}, +{3329, 15, 13357, {1, 1, 1, 5, 1, 39, 39, 231, 9, 733, 455, 3383, 4777, 7235, 12631}}, +{3330, 15, 13366, {1, 1, 7, 9, 13, 25, 55, 25, 73, 59, 1699, 929, 755, 1279, 5583}}, +{3331, 15, 13372, {1, 3, 5, 3, 9, 49, 79, 55, 479, 179, 1159, 4079, 3503, 11603, 12361}}, +{3332, 15, 13380, {1, 1, 5, 9, 21, 45, 31, 163, 377, 817, 219, 147, 2581, 12769, 30783}}, +{3333, 15, 13384, {1, 3, 1, 7, 15, 27, 39, 189, 493, 259, 1663, 1213, 961, 11089, 16079}}, +{3334, 15, 13395, {1, 1, 5, 9, 5, 41, 13, 153, 313, 337, 1027, 1267, 4249, 13071, 27043}}, +{3335, 15, 13407, {1, 3, 7, 3, 13, 11, 23, 255, 51, 527, 317, 3217, 5037, 12723, 17411}}, +{3336, 15, 13408, {1, 1, 5, 1, 25, 57, 83, 97, 233, 513, 1283, 2675, 4111, 4111, 32141}}, +{3337, 15, 13413, {1, 3, 3, 15, 25, 33, 103, 81, 155, 189, 139, 1179, 2691, 15119, 13959}}, +{3338, 15, 13414, {1, 3, 3, 1, 25, 55, 67, 19, 19, 9, 437, 579, 4273, 10733, 7125}}, +{3339, 15, 13417, {1, 1, 1, 7, 23, 41, 47, 5, 435, 749, 595, 199, 3941, 7199, 4795}}, +{3340, 15, 13437, {1, 3, 1, 15, 5, 49, 35, 9, 199, 703, 1769, 3269, 5689, 13063, 22771}}, +{3341, 15, 13441, {1, 1, 5, 5, 21, 55, 125, 55, 63, 149, 1167, 3577, 1051, 3921, 20545}}, +{3342, 15, 13447, {1, 3, 7, 13, 29, 53, 107, 193, 163, 339, 1335, 1573, 5809, 5681, 29487}}, +{3343, 15, 13456, {1, 1, 1, 9, 17, 9, 91, 177, 211, 453, 1807, 1881, 6051, 225, 6021}}, +{3344, 15, 13459, {1, 1, 1, 13, 15, 1, 29, 43, 181, 105, 1945, 2313, 6429, 2901, 6221}}, +{3345, 15, 13461, {1, 3, 5, 11, 29, 55, 115, 115, 187, 1013, 697, 1885, 121, 12387, 32443}}, +{3346, 15, 13466, {1, 1, 1, 7, 19, 51, 21, 107, 55, 125, 1655, 2281, 3293, 15749, 27521}}, +{3347, 15, 13484, {1, 1, 7, 9, 19, 9, 81, 93, 139, 401, 193, 73, 5159, 9323, 6019}}, +{3348, 15, 13487, {1, 1, 7, 9, 15, 51, 115, 69, 247, 599, 1163, 2251, 1211, 8827, 15581}}, +{3349, 15, 13489, {1, 1, 7, 9, 5, 39, 75, 185, 321, 911, 849, 843, 6791, 10407, 10513}}, +{3350, 15, 13492, {1, 1, 5, 5, 15, 9, 21, 47, 459, 681, 2001, 1545, 5939, 7073, 29043}}, +{3351, 15, 13496, {1, 3, 1, 11, 13, 25, 53, 97, 487, 797, 567, 3757, 5597, 6313, 18531}}, +{3352, 15, 13510, {1, 1, 3, 3, 29, 55, 11, 219, 325, 591, 2015, 383, 2595, 11855, 22501}}, +{3353, 15, 13531, {1, 1, 1, 5, 15, 57, 33, 125, 323, 749, 1843, 4019, 2075, 6673, 6957}}, +{3354, 15, 13538, {1, 1, 5, 7, 19, 7, 47, 239, 51, 107, 1081, 467, 5493, 7617, 10355}}, +{3355, 15, 13543, {1, 3, 1, 1, 11, 3, 67, 199, 175, 421, 935, 309, 4449, 6363, 9183}}, +{3356, 15, 13547, {1, 1, 1, 7, 9, 33, 3, 219, 481, 513, 417, 1267, 2863, 765, 18431}}, +{3357, 15, 13572, {1, 3, 1, 1, 19, 1, 89, 109, 415, 105, 487, 3241, 7465, 9233, 16307}}, +{3358, 15, 13581, {1, 1, 3, 13, 9, 43, 25, 231, 383, 789, 1855, 691, 3465, 2387, 11715}}, +{3359, 15, 13590, {1, 3, 3, 3, 13, 39, 63, 107, 33, 265, 437, 117, 3179, 5543, 28179}}, +{3360, 15, 13605, {1, 3, 3, 13, 21, 5, 31, 111, 321, 425, 253, 3501, 3209, 15429, 18383}}, +{3361, 15, 13612, {1, 3, 5, 9, 1, 27, 117, 187, 433, 459, 1999, 1069, 4857, 8591, 26343}}, +{3362, 15, 13624, {1, 1, 7, 3, 15, 43, 11, 193, 391, 341, 1203, 1259, 7265, 1783, 13161}}, +{3363, 15, 13630, {1, 1, 7, 1, 5, 15, 45, 143, 193, 985, 1105, 3483, 2421, 9687, 22347}}, +{3364, 15, 13632, {1, 3, 7, 13, 21, 17, 79, 231, 487, 663, 1101, 1025, 5779, 14681, 29181}}, +{3365, 15, 13638, {1, 1, 3, 9, 15, 19, 55, 219, 27, 963, 1513, 1017, 3907, 12279, 32655}}, +{3366, 15, 13661, {1, 3, 7, 3, 31, 27, 17, 1, 51, 861, 529, 1225, 6395, 15787, 5231}}, +{3367, 15, 13665, {1, 3, 3, 11, 27, 7, 101, 143, 21, 191, 1437, 2393, 4097, 14319, 6977}}, +{3368, 15, 13668, {1, 3, 3, 3, 25, 35, 105, 141, 433, 269, 1469, 2939, 5387, 7373, 7863}}, +{3369, 15, 13686, {1, 3, 7, 5, 5, 21, 23, 11, 217, 357, 1847, 101, 1161, 5297, 14879}}, +{3370, 15, 13699, {1, 3, 1, 3, 25, 23, 81, 217, 505, 161, 1667, 1343, 1751, 2463, 26431}}, +{3371, 15, 13701, {1, 1, 3, 1, 17, 51, 125, 205, 385, 351, 731, 2911, 2749, 2689, 27031}}, +{3372, 15, 13708, {1, 1, 5, 5, 5, 17, 31, 171, 477, 671, 167, 1797, 8047, 10123, 4325}}, +{3373, 15, 13716, {1, 1, 7, 1, 11, 23, 123, 161, 99, 1007, 765, 1965, 5395, 16193, 17751}}, +{3374, 15, 13725, {1, 3, 1, 9, 13, 11, 111, 217, 31, 753, 377, 2267, 7893, 7195, 24999}}, +{3375, 15, 13730, {1, 3, 1, 9, 21, 53, 127, 121, 151, 395, 1447, 1411, 5179, 12043, 27607}}, +{3376, 15, 13742, {1, 1, 5, 3, 11, 37, 97, 139, 113, 835, 229, 3741, 827, 5527, 5779}}, +{3377, 15, 13747, {1, 1, 7, 7, 27, 55, 11, 55, 429, 269, 1179, 233, 1053, 10225, 16703}}, +{3378, 15, 13749, {1, 1, 1, 3, 15, 9, 67, 119, 95, 753, 511, 2507, 3953, 6403, 27635}}, +{3379, 15, 13753, {1, 3, 3, 7, 27, 57, 25, 27, 249, 515, 193, 4043, 2017, 751, 10949}}, +{3380, 15, 13754, {1, 3, 1, 9, 31, 57, 67, 21, 177, 573, 1835, 2015, 6201, 2383, 31087}}, +{3381, 15, 13771, {1, 1, 5, 1, 19, 3, 89, 243, 69, 387, 1905, 3465, 2775, 7713, 30081}}, +{3382, 15, 13773, {1, 1, 3, 3, 9, 59, 15, 89, 85, 605, 881, 263, 2551, 797, 16541}}, +{3383, 15, 13782, {1, 3, 7, 11, 25, 41, 59, 139, 405, 571, 1147, 2963, 4175, 12901, 6309}}, +{3384, 15, 13785, {1, 3, 1, 5, 29, 29, 11, 243, 183, 281, 807, 1, 7079, 10079, 13865}}, +{3385, 15, 13798, {1, 3, 7, 5, 5, 1, 89, 55, 423, 157, 675, 1849, 241, 6467, 15459}}, +{3386, 15, 13802, {1, 1, 7, 11, 15, 63, 89, 109, 501, 549, 317, 3043, 1151, 3895, 19851}}, +{3387, 15, 13809, {1, 3, 1, 15, 7, 23, 97, 97, 225, 737, 1117, 3325, 209, 14169, 10813}}, +{3388, 15, 13828, {1, 3, 7, 13, 13, 39, 91, 153, 395, 879, 1041, 3753, 5577, 1985, 25247}}, +{3389, 15, 13832, {1, 1, 1, 3, 17, 15, 113, 143, 101, 901, 1119, 1819, 3577, 3441, 31511}}, +{3390, 15, 13840, {1, 3, 1, 11, 15, 27, 21, 37, 287, 121, 451, 1353, 2173, 299, 18791}}, +{3391, 15, 13850, {1, 3, 3, 5, 23, 1, 49, 145, 315, 769, 99, 1385, 5961, 9121, 1465}}, +{3392, 15, 13861, {1, 3, 3, 13, 21, 39, 39, 233, 271, 113, 615, 2257, 3765, 5921, 313}}, +{3393, 15, 13874, {1, 3, 7, 7, 25, 45, 11, 237, 83, 203, 929, 1819, 2679, 11583, 30091}}, +{3394, 15, 13876, {1, 1, 1, 7, 21, 63, 85, 251, 133, 991, 1515, 2547, 6051, 7279, 3569}}, +{3395, 15, 13886, {1, 3, 7, 15, 11, 19, 87, 17, 313, 283, 1021, 2743, 4855, 13741, 17955}}, +{3396, 15, 13897, {1, 1, 7, 13, 29, 13, 61, 93, 81, 91, 995, 907, 4847, 2599, 20041}}, +{3397, 15, 13900, {1, 1, 3, 11, 13, 45, 103, 33, 243, 109, 2029, 121, 231, 16179, 13741}}, +{3398, 15, 13915, {1, 3, 5, 9, 9, 5, 73, 225, 199, 723, 611, 1909, 2345, 10257, 9909}}, +{3399, 15, 13927, {1, 1, 3, 11, 7, 5, 33, 89, 431, 899, 803, 3173, 6131, 16097, 20561}}, +{3400, 15, 13951, {1, 3, 3, 7, 7, 47, 23, 47, 411, 69, 239, 661, 5591, 10457, 24245}}, +{3401, 15, 13955, {1, 1, 5, 15, 25, 35, 87, 23, 115, 939, 1579, 119, 4001, 13791, 9729}}, +{3402, 15, 13962, {1, 3, 5, 11, 25, 45, 29, 195, 369, 237, 735, 155, 123, 4415, 32255}}, +{3403, 15, 13969, {1, 3, 3, 9, 13, 53, 15, 77, 313, 75, 529, 925, 5679, 14585, 19889}}, +{3404, 15, 13979, {1, 1, 7, 15, 15, 27, 105, 13, 31, 669, 563, 1809, 4321, 7797, 4177}}, +{3405, 15, 13988, {1, 1, 5, 9, 3, 29, 111, 177, 33, 235, 1951, 1561, 141, 4803, 16327}}, +{3406, 15, 13998, {1, 1, 1, 7, 9, 41, 1, 149, 95, 933, 115, 1619, 771, 8189, 8781}}, +{3407, 15, 14000, {1, 1, 5, 3, 13, 41, 33, 159, 355, 159, 1243, 1439, 6571, 14397, 31321}}, +{3408, 15, 14005, {1, 1, 7, 11, 9, 15, 91, 145, 457, 255, 1449, 611, 1449, 2521, 28949}}, +{3409, 15, 14027, {1, 3, 7, 5, 27, 57, 35, 99, 447, 287, 743, 1163, 4379, 7361, 3831}}, +{3410, 15, 14037, {1, 3, 3, 7, 15, 53, 41, 83, 133, 571, 1739, 531, 2921, 11527, 21941}}, +{3411, 15, 14051, {1, 1, 1, 13, 9, 27, 39, 113, 429, 447, 595, 3171, 5245, 4095, 14847}}, +{3412, 15, 14054, {1, 1, 3, 7, 19, 19, 21, 101, 489, 1011, 265, 3899, 3225, 11701, 5193}}, +{3413, 15, 14060, {1, 3, 7, 3, 15, 25, 103, 213, 441, 215, 1483, 263, 3561, 7915, 7969}}, +{3414, 15, 14063, {1, 3, 3, 3, 11, 47, 97, 29, 489, 867, 1347, 2155, 4871, 8001, 18305}}, +{3415, 15, 14071, {1, 3, 1, 9, 25, 15, 61, 17, 343, 775, 1765, 3803, 4577, 8437, 12605}}, +{3416, 15, 14078, {1, 1, 5, 3, 11, 39, 69, 23, 23, 65, 1967, 2429, 1703, 6671, 14981}}, +{3417, 15, 14080, {1, 1, 5, 15, 23, 59, 125, 51, 225, 439, 2019, 2589, 7781, 13111, 2911}}, +{3418, 15, 14085, {1, 1, 1, 3, 1, 31, 37, 245, 203, 305, 821, 367, 5211, 9791, 21777}}, +{3419, 15, 14086, {1, 1, 5, 9, 9, 31, 97, 25, 271, 83, 343, 2461, 1805, 14383, 10059}}, +{3420, 15, 14095, {1, 1, 5, 13, 15, 33, 127, 109, 137, 963, 961, 1647, 7881, 8133, 22359}}, +{3421, 15, 14138, {1, 1, 3, 7, 25, 31, 123, 241, 283, 1, 1781, 23, 971, 6485, 127}}, +{3422, 15, 14145, {1, 1, 5, 15, 15, 27, 25, 145, 395, 679, 979, 571, 1585, 14787, 7465}}, +{3423, 15, 14158, {1, 1, 5, 7, 13, 11, 7, 131, 511, 597, 379, 1513, 6267, 16039, 1503}}, +{3424, 15, 14166, {1, 1, 1, 13, 15, 49, 73, 217, 353, 577, 1913, 1127, 961, 11557, 24993}}, +{3425, 15, 14179, {1, 3, 3, 9, 7, 3, 105, 141, 377, 687, 1917, 485, 983, 11149, 23303}}, +{3426, 15, 14181, {1, 1, 3, 15, 11, 7, 117, 179, 505, 67, 1817, 913, 5757, 1981, 1637}}, +{3427, 15, 14188, {1, 1, 1, 7, 5, 29, 3, 43, 223, 295, 1895, 3425, 5355, 5155, 17197}}, +{3428, 15, 14193, {1, 1, 7, 9, 21, 59, 121, 245, 73, 233, 1527, 869, 4145, 7995, 6473}}, +{3429, 15, 14200, {1, 1, 5, 13, 17, 21, 89, 179, 495, 669, 453, 2603, 5969, 6161, 4743}}, +{3430, 15, 14203, {1, 1, 7, 11, 25, 21, 103, 131, 391, 249, 1633, 2603, 2207, 8987, 15487}}, +{3431, 15, 14215, {1, 3, 7, 9, 13, 45, 99, 251, 115, 597, 1505, 2421, 1231, 10015, 24295}}, +{3432, 15, 14224, {1, 1, 5, 5, 31, 49, 17, 67, 463, 813, 1491, 3309, 7881, 8109, 7289}}, +{3433, 15, 14230, {1, 3, 1, 15, 23, 35, 123, 21, 169, 499, 95, 603, 1829, 7865, 26313}}, +{3434, 15, 14233, {1, 1, 7, 1, 9, 29, 45, 65, 95, 97, 673, 3673, 2969, 2317, 22209}}, +{3435, 15, 14236, {1, 1, 3, 7, 29, 33, 121, 17, 331, 487, 1901, 1951, 5383, 9375, 4029}}, +{3436, 15, 14246, {1, 3, 7, 9, 25, 43, 91, 147, 141, 401, 1647, 2697, 4645, 7179, 31857}}, +{3437, 15, 14267, {1, 3, 5, 11, 9, 31, 127, 105, 39, 883, 1635, 919, 5069, 2875, 24519}}, +{3438, 15, 14282, {1, 1, 5, 9, 1, 63, 73, 135, 95, 503, 385, 3903, 545, 12635, 27569}}, +{3439, 15, 14287, {1, 1, 3, 11, 27, 31, 47, 173, 55, 339, 1255, 1947, 793, 14133, 13963}}, +{3440, 15, 14301, {1, 1, 3, 15, 17, 33, 113, 249, 401, 743, 1307, 3123, 627, 1253, 13285}}, +{3441, 15, 14323, {1, 1, 3, 1, 9, 7, 39, 65, 281, 107, 833, 193, 2987, 12267, 31335}}, +{3442, 15, 14325, {1, 1, 7, 3, 15, 21, 99, 211, 39, 179, 587, 1169, 6455, 8225, 2049}}, +{3443, 15, 14329, {1, 3, 5, 13, 5, 13, 123, 1, 223, 273, 731, 2967, 4793, 4229, 26031}}, +{3444, 15, 14339, {1, 1, 1, 1, 3, 17, 7, 23, 225, 757, 743, 1257, 2047, 12509, 25467}}, +{3445, 15, 14342, {1, 1, 7, 15, 29, 3, 15, 113, 227, 675, 1295, 2777, 2921, 5485, 2577}}, +{3446, 15, 14351, {1, 3, 7, 13, 19, 21, 85, 129, 45, 599, 317, 1513, 4953, 10383, 25253}}, +{3447, 15, 14356, {1, 1, 7, 11, 13, 47, 127, 67, 219, 131, 905, 2005, 851, 15243, 5777}}, +{3448, 15, 14359, {1, 1, 5, 3, 23, 57, 57, 189, 153, 37, 955, 2049, 1295, 15119, 27213}}, +{3449, 15, 14370, {1, 3, 7, 11, 13, 61, 3, 241, 269, 789, 1595, 2369, 4843, 11347, 21543}}, +{3450, 15, 14402, {1, 1, 5, 5, 25, 21, 19, 237, 3, 605, 1343, 3965, 3511, 7889, 27759}}, +{3451, 15, 14411, {1, 3, 1, 15, 21, 15, 123, 5, 345, 945, 283, 1313, 335, 2085, 19505}}, +{3452, 15, 14421, {1, 1, 3, 3, 5, 21, 123, 89, 67, 11, 1247, 1155, 287, 13455, 5693}}, +{3453, 15, 14431, {1, 3, 3, 13, 1, 53, 101, 27, 387, 379, 19, 751, 2445, 11737, 975}}, +{3454, 15, 14435, {1, 3, 3, 3, 9, 29, 81, 117, 443, 145, 1619, 1813, 8125, 5829, 28617}}, +{3455, 15, 14442, {1, 1, 5, 15, 27, 15, 83, 83, 61, 715, 1655, 1631, 3457, 2727, 2163}}, +{3456, 15, 14447, {1, 3, 1, 5, 11, 11, 121, 7, 135, 883, 927, 1817, 6839, 12361, 24119}}, +{3457, 15, 14456, {1, 3, 7, 11, 23, 59, 39, 165, 109, 355, 1303, 381, 5697, 275, 3771}}, +{3458, 15, 14459, {1, 3, 5, 11, 11, 5, 81, 157, 55, 435, 613, 127, 4087, 3791, 21627}}, +{3459, 15, 14472, {1, 3, 7, 15, 13, 37, 83, 195, 207, 771, 51, 3685, 6389, 1229, 11101}}, +{3460, 15, 14477, {1, 3, 7, 13, 31, 3, 9, 13, 487, 95, 77, 809, 5809, 12887, 29933}}, +{3461, 15, 14490, {1, 1, 3, 7, 25, 9, 13, 29, 353, 659, 1785, 3825, 3729, 13109, 12973}}, +{3462, 15, 14496, {1, 1, 1, 5, 21, 3, 97, 1, 245, 917, 29, 1429, 8141, 7569, 32493}}, +{3463, 15, 14501, {1, 3, 1, 9, 19, 13, 13, 109, 377, 1007, 1737, 1939, 1419, 1145, 5065}}, +{3464, 15, 14505, {1, 1, 7, 9, 27, 57, 53, 69, 423, 43, 1629, 1003, 1473, 10809, 5659}}, +{3465, 15, 14513, {1, 1, 1, 9, 1, 45, 11, 231, 351, 155, 663, 2783, 3491, 5725, 25207}}, +{3466, 15, 14520, {1, 1, 1, 3, 15, 25, 77, 89, 231, 813, 657, 2603, 4885, 1383, 14499}}, +{3467, 15, 14534, {1, 3, 5, 5, 9, 21, 101, 181, 449, 491, 737, 803, 659, 11771, 545}}, +{3468, 15, 14562, {1, 3, 7, 9, 7, 19, 27, 199, 265, 329, 1031, 1235, 3191, 10071, 16281}}, +{3469, 15, 14576, {1, 1, 7, 11, 27, 55, 3, 127, 503, 1003, 1041, 1953, 5835, 4851, 13485}}, +{3470, 15, 14579, {1, 1, 7, 15, 5, 45, 97, 61, 221, 497, 1949, 3163, 4707, 8441, 1437}}, +{3471, 15, 14585, {1, 3, 5, 1, 3, 35, 107, 9, 473, 971, 227, 2225, 3999, 3095, 18879}}, +{3472, 15, 14586, {1, 1, 1, 9, 21, 59, 21, 1, 41, 435, 575, 491, 1839, 1095, 9727}}, +{3473, 15, 14606, {1, 3, 5, 9, 13, 29, 123, 251, 465, 701, 1105, 829, 573, 11503, 11861}}, +{3474, 15, 14627, {1, 3, 3, 13, 27, 59, 29, 111, 225, 973, 561, 1481, 835, 9261, 13831}}, +{3475, 15, 14630, {1, 1, 1, 7, 17, 3, 97, 211, 333, 315, 571, 3523, 7305, 6461, 20139}}, +{3476, 15, 14634, {1, 3, 7, 11, 31, 21, 105, 247, 113, 863, 1767, 381, 4623, 8935, 7911}}, +{3477, 15, 14636, {1, 1, 5, 7, 29, 45, 17, 155, 69, 17, 655, 1983, 6385, 6177, 7961}}, +{3478, 15, 14647, {1, 3, 3, 15, 31, 15, 63, 81, 309, 115, 393, 3445, 689, 13963, 18887}}, +{3479, 15, 14653, {1, 1, 5, 1, 19, 39, 127, 61, 357, 53, 195, 2745, 7853, 5753, 3669}}, +{3480, 15, 14659, {1, 3, 7, 7, 17, 51, 57, 145, 451, 365, 1517, 909, 4265, 10737, 9579}}, +{3481, 15, 14671, {1, 1, 3, 13, 3, 37, 121, 103, 257, 47, 1685, 2951, 5753, 15379, 8899}}, +{3482, 15, 14674, {1, 1, 5, 7, 31, 63, 61, 197, 97, 773, 133, 1517, 3093, 14879, 22941}}, +{3483, 15, 14701, {1, 1, 5, 1, 3, 9, 27, 53, 97, 663, 1915, 409, 471, 1391, 24853}}, +{3484, 15, 14716, {1, 1, 1, 7, 21, 53, 69, 5, 187, 571, 2023, 997, 323, 12059, 7071}}, +{3485, 15, 14719, {1, 3, 3, 1, 7, 59, 55, 157, 101, 123, 1301, 3709, 4673, 3897, 28791}}, +{3486, 15, 14720, {1, 3, 7, 5, 5, 23, 39, 139, 365, 415, 1481, 3415, 6323, 11109, 5719}}, +{3487, 15, 14725, {1, 3, 5, 3, 5, 11, 23, 143, 243, 229, 183, 3367, 3187, 8151, 28351}}, +{3488, 15, 14730, {1, 3, 7, 9, 5, 37, 29, 23, 437, 827, 985, 2879, 7611, 1391, 19087}}, +{3489, 15, 14743, {1, 3, 3, 5, 7, 9, 5, 143, 217, 757, 1697, 2459, 453, 8679, 4513}}, +{3490, 15, 14747, {1, 3, 5, 5, 11, 33, 3, 143, 293, 921, 185, 2461, 5547, 12247, 28591}}, +{3491, 15, 14786, {1, 3, 7, 5, 3, 53, 43, 179, 235, 417, 1307, 1367, 3695, 12809, 1807}}, +{3492, 15, 14788, {1, 3, 1, 11, 15, 43, 115, 229, 157, 25, 687, 3347, 271, 5777, 8557}}, +{3493, 15, 14792, {1, 3, 7, 5, 27, 37, 55, 135, 209, 47, 1603, 957, 5785, 11141, 10407}}, +{3494, 15, 14795, {1, 1, 1, 15, 17, 17, 103, 29, 489, 493, 119, 1707, 3463, 1815, 32055}}, +{3495, 15, 14809, {1, 3, 7, 11, 17, 13, 115, 145, 77, 515, 1911, 477, 5997, 8731, 3143}}, +{3496, 15, 14831, {1, 3, 1, 13, 31, 41, 73, 91, 231, 1, 455, 2023, 4691, 3613, 16329}}, +{3497, 15, 14834, {1, 1, 5, 15, 15, 39, 17, 117, 131, 657, 1939, 2245, 2575, 195, 25209}}, +{3498, 15, 14850, {1, 3, 7, 15, 5, 51, 69, 141, 499, 931, 1165, 2119, 1703, 10867, 28443}}, +{3499, 15, 14855, {1, 1, 1, 15, 13, 45, 45, 103, 115, 177, 651, 2545, 1417, 5349, 3385}}, +{3500, 15, 14859, {1, 3, 3, 1, 1, 41, 117, 15, 225, 861, 843, 2775, 4543, 6275, 14671}}, +{3501, 15, 14864, {1, 3, 5, 15, 5, 35, 87, 193, 341, 55, 1131, 945, 6865, 11271, 18705}}, +{3502, 15, 14876, {1, 3, 5, 9, 13, 35, 71, 197, 79, 351, 3, 3939, 1105, 12455, 28921}}, +{3503, 15, 14889, {1, 3, 1, 13, 9, 23, 89, 165, 59, 257, 1369, 161, 6255, 2997, 19175}}, +{3504, 15, 14890, {1, 3, 5, 3, 5, 41, 107, 231, 111, 207, 1865, 2079, 5891, 2487, 5863}}, +{3505, 15, 14898, {1, 3, 7, 15, 3, 3, 105, 235, 263, 991, 367, 1885, 1769, 7805, 11909}}, +{3506, 15, 14909, {1, 3, 3, 5, 15, 59, 67, 247, 77, 367, 1641, 1959, 1921, 5939, 17355}}, +{3507, 15, 14917, {1, 1, 7, 1, 3, 53, 37, 5, 221, 779, 1353, 1633, 2769, 6355, 8505}}, +{3508, 15, 14924, {1, 1, 7, 13, 11, 13, 73, 227, 115, 523, 355, 3127, 7545, 8409, 22335}}, +{3509, 15, 14929, {1, 1, 5, 11, 21, 15, 91, 115, 427, 683, 461, 2433, 6313, 4595, 24401}}, +{3510, 15, 14942, {1, 3, 7, 5, 29, 21, 57, 215, 423, 717, 1455, 705, 6835, 4503, 26077}}, +{3511, 15, 14951, {1, 1, 1, 15, 3, 33, 25, 227, 381, 477, 1023, 2751, 2229, 631, 16903}}, +{3512, 15, 14969, {1, 3, 1, 11, 9, 17, 59, 73, 53, 671, 251, 1729, 7593, 12473, 22533}}, +{3513, 15, 14970, {1, 3, 3, 1, 3, 35, 37, 173, 459, 143, 135, 3871, 2689, 8007, 4379}}, +{3514, 15, 14972, {1, 3, 5, 9, 23, 19, 43, 45, 493, 509, 1851, 1615, 5675, 13793, 6973}}, +{3515, 15, 14982, {1, 3, 3, 15, 5, 17, 77, 85, 451, 753, 579, 1057, 4851, 6017, 4195}}, +{3516, 15, 14988, {1, 3, 3, 5, 31, 29, 81, 159, 103, 391, 15, 899, 4623, 5957, 31961}}, +{3517, 15, 14994, {1, 1, 1, 7, 17, 57, 81, 17, 177, 633, 49, 2793, 5229, 5995, 9491}}, +{3518, 15, 15005, {1, 1, 7, 15, 17, 19, 65, 57, 189, 239, 1229, 929, 2681, 12845, 29311}}, +{3519, 15, 15016, {1, 3, 1, 11, 13, 47, 61, 203, 383, 875, 943, 139, 4217, 8279, 1047}}, +{3520, 15, 15024, {1, 3, 7, 13, 23, 7, 1, 69, 47, 537, 1325, 3101, 685, 14057, 19953}}, +{3521, 15, 15030, {1, 3, 3, 1, 1, 7, 39, 77, 47, 755, 527, 2985, 5433, 15095, 27741}}, +{3522, 15, 15048, {1, 1, 7, 5, 23, 57, 79, 155, 81, 937, 1071, 3929, 1655, 3831, 17351}}, +{3523, 15, 15054, {1, 3, 7, 1, 3, 41, 13, 235, 207, 487, 1883, 2247, 1231, 2751, 15615}}, +{3524, 15, 15066, {1, 1, 7, 1, 21, 57, 95, 191, 119, 483, 283, 2221, 5665, 14819, 26097}}, +{3525, 15, 15071, {1, 3, 1, 1, 9, 59, 27, 51, 393, 31, 925, 715, 7705, 14885, 28767}}, +{3526, 15, 15072, {1, 1, 3, 3, 3, 61, 109, 131, 113, 249, 1331, 2521, 2973, 6375, 20093}}, +{3527, 15, 15075, {1, 3, 7, 9, 31, 37, 125, 245, 237, 245, 111, 379, 7495, 15531, 2325}}, +{3528, 15, 15119, {1, 3, 7, 13, 21, 21, 57, 21, 449, 969, 417, 2999, 509, 639, 7797}}, +{3529, 15, 15121, {1, 3, 7, 7, 7, 29, 11, 175, 55, 705, 891, 863, 3021, 10071, 10267}}, +{3530, 15, 15133, {1, 1, 3, 13, 19, 17, 127, 57, 449, 579, 337, 899, 1235, 11269, 4245}}, +{3531, 15, 15138, {1, 1, 1, 11, 29, 61, 35, 75, 249, 683, 287, 45, 3277, 7521, 2073}}, +{3532, 15, 15143, {1, 3, 5, 5, 15, 25, 77, 63, 63, 801, 1387, 1533, 2185, 10899, 28381}}, +{3533, 15, 15170, {1, 3, 1, 1, 21, 49, 3, 249, 419, 575, 87, 3749, 2523, 16125, 9483}}, +{3534, 15, 15194, {1, 1, 1, 11, 21, 43, 85, 211, 449, 439, 1495, 1841, 4765, 15253, 1467}}, +{3535, 15, 15212, {1, 3, 3, 15, 3, 37, 31, 243, 187, 995, 1103, 2723, 1523, 15967, 28649}}, +{3536, 15, 15223, {1, 1, 5, 11, 9, 11, 17, 87, 335, 125, 1079, 1657, 1237, 8059, 29833}}, +{3537, 15, 15229, {1, 3, 1, 3, 3, 41, 35, 37, 33, 61, 505, 3203, 5, 101, 8571}}, +{3538, 15, 15254, {1, 1, 3, 11, 9, 11, 85, 235, 261, 473, 109, 2127, 5745, 6389, 7431}}, +{3539, 15, 15263, {1, 1, 5, 15, 3, 55, 77, 97, 17, 193, 1267, 3063, 6531, 9797, 8639}}, +{3540, 15, 15270, {1, 1, 5, 5, 25, 41, 79, 83, 485, 697, 149, 1023, 89, 6115, 15227}}, +{3541, 15, 15273, {1, 1, 3, 15, 1, 9, 73, 251, 33, 599, 1017, 353, 4305, 16033, 29663}}, +{3542, 15, 15287, {1, 3, 7, 15, 3, 1, 89, 39, 125, 337, 1445, 3131, 3685, 9849, 25829}}, +{3543, 15, 15299, {1, 3, 7, 3, 19, 1, 63, 179, 349, 135, 185, 2977, 2527, 15087, 18133}}, +{3544, 15, 15301, {1, 1, 3, 3, 23, 7, 91, 221, 325, 723, 345, 81, 8077, 5501, 8453}}, +{3545, 15, 15306, {1, 1, 3, 9, 7, 3, 13, 173, 479, 161, 1989, 3255, 2069, 6717, 559}}, +{3546, 15, 15313, {1, 3, 3, 5, 9, 61, 93, 203, 277, 367, 1141, 981, 4745, 12625, 21003}}, +{3547, 15, 15320, {1, 3, 5, 5, 27, 17, 5, 211, 403, 701, 5, 3091, 4611, 5615, 23667}}, +{3548, 15, 15323, {1, 1, 3, 1, 21, 61, 125, 77, 57, 463, 1499, 791, 2087, 2805, 18829}}, +{3549, 15, 15329, {1, 3, 5, 3, 11, 41, 125, 231, 119, 837, 831, 1331, 7439, 2381, 3759}}, +{3550, 15, 15332, {1, 3, 1, 11, 19, 59, 117, 107, 443, 699, 315, 1491, 2581, 15871, 17159}}, +{3551, 15, 15341, {1, 3, 5, 11, 5, 9, 121, 35, 209, 877, 527, 3493, 4657, 16093, 17589}}, +{3552, 15, 15359, {1, 1, 7, 15, 9, 43, 119, 29, 381, 479, 1443, 3171, 5053, 9625, 21161}}, +{3553, 15, 15361, {1, 1, 3, 5, 15, 21, 31, 223, 83, 399, 1529, 3605, 6343, 10469, 10099}}, +{3554, 15, 15364, {1, 1, 3, 5, 5, 45, 23, 123, 353, 971, 85, 3069, 3245, 6569, 13241}}, +{3555, 15, 15367, {1, 1, 1, 3, 25, 49, 5, 77, 491, 881, 993, 1195, 7677, 5709, 10807}}, +{3556, 15, 15379, {1, 3, 3, 3, 5, 49, 127, 255, 183, 583, 1599, 987, 7281, 7149, 28507}}, +{3557, 15, 15391, {1, 1, 5, 1, 13, 55, 55, 157, 197, 25, 1971, 3161, 3903, 8919, 13563}}, +{3558, 15, 15415, {1, 3, 7, 9, 3, 37, 79, 193, 25, 103, 843, 2651, 6341, 2653, 24337}}, +{3559, 15, 15416, {1, 1, 7, 3, 25, 49, 99, 139, 45, 211, 2033, 2331, 7037, 7177, 1755}}, +{3560, 15, 15419, {1, 3, 7, 3, 5, 19, 127, 135, 403, 221, 141, 1065, 3935, 2745, 25979}}, +{3561, 15, 15433, {1, 1, 3, 3, 31, 23, 111, 37, 261, 7, 835, 2379, 7927, 8181, 23751}}, +{3562, 15, 15469, {1, 3, 7, 15, 1, 39, 79, 3, 103, 427, 1917, 809, 5039, 689, 1939}}, +{3563, 15, 15478, {1, 1, 1, 15, 29, 37, 39, 243, 149, 353, 763, 3405, 5751, 9441, 6653}}, +{3564, 15, 15481, {1, 3, 3, 11, 1, 57, 125, 151, 445, 423, 841, 2265, 5017, 15863, 13057}}, +{3565, 15, 15482, {1, 3, 5, 13, 11, 49, 61, 159, 211, 917, 561, 1903, 3985, 11117, 28969}}, +{3566, 15, 15498, {1, 3, 5, 13, 29, 5, 35, 51, 91, 291, 9, 3713, 3341, 4551, 12085}}, +{3567, 15, 15505, {1, 3, 3, 1, 1, 39, 111, 141, 319, 179, 1709, 1605, 5063, 13279, 10003}}, +{3568, 15, 15517, {1, 1, 3, 9, 7, 59, 91, 41, 343, 475, 1669, 2311, 5141, 12661, 25847}}, +{3569, 15, 15518, {1, 3, 5, 9, 9, 11, 49, 221, 1, 243, 791, 229, 503, 373, 19189}}, +{3570, 15, 15527, {1, 1, 5, 11, 17, 13, 45, 57, 215, 491, 1601, 2183, 3713, 429, 22007}}, +{3571, 15, 15528, {1, 1, 3, 11, 31, 61, 23, 237, 261, 955, 1085, 1541, 2601, 909, 7749}}, +{3572, 15, 15545, {1, 1, 3, 9, 13, 11, 121, 173, 177, 551, 1757, 2745, 2265, 4611, 743}}, +{3573, 15, 15548, {1, 1, 3, 15, 23, 43, 107, 239, 463, 369, 1857, 1073, 1247, 1029, 22557}}, +{3574, 15, 15554, {1, 1, 3, 11, 23, 35, 89, 93, 41, 941, 1141, 2339, 1423, 8007, 28685}}, +{3575, 15, 15565, {1, 3, 5, 13, 29, 7, 79, 15, 59, 145, 1237, 2215, 1257, 12621, 31101}}, +{3576, 15, 15577, {1, 1, 3, 7, 13, 55, 57, 229, 205, 1009, 341, 3901, 5189, 957, 32587}}, +{3577, 15, 15580, {1, 3, 7, 11, 1, 1, 41, 7, 365, 407, 1609, 1423, 6483, 5171, 32519}}, +{3578, 15, 15587, {1, 3, 7, 3, 17, 31, 125, 27, 125, 335, 1395, 2639, 329, 2549, 14449}}, +{3579, 15, 15601, {1, 3, 3, 7, 19, 45, 11, 73, 123, 179, 1685, 3385, 2379, 3387, 16793}}, +{3580, 15, 15604, {1, 3, 7, 5, 31, 25, 47, 153, 121, 453, 935, 3953, 2081, 12145, 24979}}, +{3581, 15, 15611, {1, 1, 7, 13, 25, 11, 65, 3, 277, 237, 1129, 1801, 4165, 9065, 18747}}, +{3582, 15, 15616, {1, 1, 7, 7, 13, 5, 37, 253, 507, 645, 1355, 3401, 6707, 6329, 11237}}, +{3583, 15, 15619, {1, 1, 3, 15, 17, 49, 3, 233, 407, 451, 69, 3859, 3171, 12303, 21031}}, +{3584, 15, 15625, {1, 1, 3, 3, 9, 53, 119, 117, 401, 903, 1449, 3639, 4083, 2095, 22085}}, +{3585, 15, 15633, {1, 3, 7, 15, 5, 61, 117, 193, 137, 431, 195, 4019, 3047, 5049, 14281}}, +{3586, 15, 15674, {1, 1, 1, 15, 17, 19, 29, 83, 449, 257, 1105, 1949, 1749, 3459, 6343}}, +{3587, 15, 15681, {1, 1, 1, 15, 23, 39, 61, 219, 109, 365, 863, 1813, 6673, 15999, 5101}}, +{3588, 15, 15691, {1, 1, 5, 5, 13, 11, 37, 151, 365, 719, 1233, 2425, 1285, 1721, 1205}}, +{3589, 15, 15693, {1, 3, 3, 3, 7, 53, 109, 153, 45, 425, 1741, 1229, 4405, 8071, 25155}}, +{3590, 15, 15696, {1, 3, 1, 1, 1, 13, 39, 49, 413, 77, 1367, 2553, 5563, 7659, 3467}}, +{3591, 15, 15712, {1, 1, 5, 9, 3, 49, 23, 11, 445, 121, 1505, 877, 4137, 1809, 2429}}, +{3592, 15, 15717, {1, 1, 1, 11, 21, 13, 93, 33, 493, 805, 775, 2939, 2961, 13625, 31879}}, +{3593, 15, 15724, {1, 1, 7, 5, 1, 59, 63, 131, 373, 23, 337, 2107, 5315, 4889, 22851}}, +{3594, 15, 15727, {1, 1, 3, 13, 21, 47, 15, 131, 353, 793, 1891, 1757, 5793, 1147, 23697}}, +{3595, 15, 15730, {1, 3, 5, 13, 7, 59, 25, 135, 259, 109, 1835, 429, 8153, 7355, 145}}, +{3596, 15, 15746, {1, 3, 3, 13, 9, 47, 121, 89, 89, 635, 1079, 2353, 4803, 11369, 12653}}, +{3597, 15, 15751, {1, 3, 5, 9, 23, 39, 49, 231, 105, 603, 613, 2021, 6073, 11819, 10595}}, +{3598, 15, 15760, {1, 3, 7, 7, 7, 19, 19, 155, 347, 387, 1459, 3793, 619, 14437, 2455}}, +{3599, 15, 15770, {1, 1, 1, 15, 21, 35, 19, 185, 483, 425, 479, 3429, 5403, 10791, 14219}}, +{3600, 15, 15782, {1, 1, 3, 11, 5, 51, 105, 63, 493, 677, 1457, 2865, 5619, 9321, 19583}}, +{3601, 15, 15791, {1, 1, 3, 3, 23, 1, 77, 177, 263, 289, 1567, 3837, 5359, 3269, 16023}}, +{3602, 15, 15796, {1, 1, 7, 3, 13, 61, 79, 77, 51, 953, 1417, 795, 4467, 2981, 25131}}, +{3603, 15, 15808, {1, 1, 5, 13, 23, 13, 29, 185, 337, 7, 149, 3609, 8119, 9545, 16579}}, +{3604, 15, 15814, {1, 3, 1, 5, 23, 9, 123, 15, 99, 55, 1021, 3709, 1521, 15189, 22193}}, +{3605, 15, 15825, {1, 3, 7, 9, 13, 41, 39, 45, 49, 181, 1587, 3213, 1037, 14775, 3333}}, +{3606, 15, 15828, {1, 1, 1, 7, 29, 55, 59, 31, 411, 601, 191, 283, 3211, 7951, 7919}}, +{3607, 15, 15835, {1, 1, 7, 7, 21, 47, 7, 193, 343, 831, 1267, 3289, 1015, 13093, 2717}}, +{3608, 15, 15844, {1, 3, 7, 1, 17, 9, 97, 19, 279, 827, 1699, 3573, 3137, 3535, 17791}}, +{3609, 15, 15847, {1, 1, 5, 11, 27, 15, 103, 135, 35, 625, 1575, 97, 7013, 13353, 19333}}, +{3610, 15, 15853, {1, 3, 3, 7, 17, 13, 49, 135, 435, 743, 1799, 2655, 4839, 2893, 31153}}, +{3611, 15, 15856, {1, 1, 5, 1, 3, 41, 1, 195, 53, 803, 1575, 2939, 3873, 10495, 5211}}, +{3612, 15, 15877, {1, 3, 1, 15, 19, 19, 37, 59, 355, 483, 685, 3899, 4645, 15127, 3479}}, +{3613, 15, 15878, {1, 1, 5, 3, 25, 9, 9, 229, 101, 631, 1165, 4091, 3723, 10655, 9463}}, +{3614, 15, 15887, {1, 3, 5, 15, 5, 13, 91, 61, 19, 469, 1675, 3331, 3121, 3435, 4111}}, +{3615, 15, 15908, {1, 1, 7, 1, 31, 61, 23, 83, 165, 551, 1097, 3825, 5385, 4723, 3635}}, +{3616, 15, 15917, {1, 3, 7, 15, 9, 31, 11, 121, 503, 855, 561, 1647, 1229, 1147, 15997}}, +{3617, 15, 15923, {1, 3, 7, 13, 21, 47, 41, 195, 197, 719, 1263, 3609, 7515, 2659, 30713}}, +{3618, 15, 15930, {1, 1, 1, 7, 31, 61, 101, 101, 479, 571, 605, 301, 6633, 15587, 23665}}, +{3619, 15, 15937, {1, 3, 7, 3, 25, 39, 35, 225, 135, 463, 53, 709, 5129, 4135, 10421}}, +{3620, 15, 15958, {1, 1, 5, 13, 19, 55, 107, 15, 163, 287, 673, 899, 5197, 4619, 3465}}, +{3621, 15, 15977, {1, 3, 3, 5, 21, 49, 15, 105, 283, 877, 1875, 1079, 3431, 13053, 26599}}, +{3622, 15, 15991, {1, 1, 7, 1, 1, 1, 95, 113, 119, 575, 1159, 2325, 6895, 12177, 4369}}, +{3623, 15, 16007, {1, 1, 1, 11, 25, 25, 83, 207, 301, 729, 1947, 2321, 3621, 15707, 11303}}, +{3624, 15, 16011, {1, 1, 5, 5, 7, 63, 83, 105, 211, 175, 1817, 2883, 5385, 7437, 24865}}, +{3625, 15, 16014, {1, 3, 7, 5, 23, 39, 19, 211, 151, 295, 573, 223, 5065, 6345, 23187}}, +{3626, 15, 16021, {1, 1, 7, 11, 15, 31, 89, 123, 57, 695, 685, 1799, 659, 9929, 22933}}, +{3627, 15, 16022, {1, 1, 7, 7, 19, 17, 27, 137, 117, 141, 1481, 869, 7061, 3073, 19671}}, +{3628, 15, 16028, {1, 3, 3, 11, 9, 19, 123, 93, 39, 517, 883, 3769, 2267, 8089, 6617}}, +{3629, 15, 16035, {1, 3, 1, 7, 9, 61, 51, 241, 319, 853, 1239, 899, 105, 1677, 29351}}, +{3630, 15, 16041, {1, 1, 7, 15, 13, 59, 85, 175, 223, 87, 905, 3175, 3405, 3489, 18475}}, +{3631, 15, 16056, {1, 1, 1, 15, 1, 55, 79, 97, 315, 605, 851, 4015, 3689, 9371, 31523}}, +{3632, 15, 16069, {1, 1, 5, 15, 1, 39, 91, 27, 211, 881, 1375, 2307, 5791, 10185, 23093}}, +{3633, 15, 16076, {1, 3, 1, 5, 3, 17, 59, 219, 105, 623, 21, 2843, 3427, 4799, 3793}}, +{3634, 15, 16081, {1, 3, 3, 7, 21, 55, 17, 29, 397, 93, 1981, 4047, 935, 5971, 14589}}, +{3635, 15, 16087, {1, 1, 3, 9, 5, 57, 63, 27, 373, 815, 167, 205, 367, 4945, 30041}}, +{3636, 15, 16088, {1, 1, 5, 9, 7, 3, 69, 35, 197, 309, 1729, 3735, 1523, 10427, 26253}}, +{3637, 15, 16110, {1, 1, 3, 7, 7, 49, 35, 189, 297, 311, 2025, 305, 3863, 14393, 2533}}, +{3638, 15, 16112, {1, 3, 3, 9, 17, 31, 5, 17, 167, 601, 909, 3149, 2533, 12123, 25325}}, +{3639, 15, 16117, {1, 3, 5, 3, 11, 41, 69, 199, 79, 611, 133, 3519, 5955, 4609, 27403}}, +{3640, 15, 16150, {1, 3, 3, 13, 3, 17, 53, 165, 361, 797, 1447, 869, 6707, 6541, 32249}}, +{3641, 15, 16153, {1, 3, 1, 1, 29, 47, 17, 45, 473, 199, 1595, 3095, 3635, 6965, 21859}}, +{3642, 15, 16160, {1, 1, 3, 9, 1, 15, 59, 163, 91, 811, 1087, 1707, 6743, 12643, 29901}}, +{3643, 15, 16166, {1, 1, 1, 3, 19, 21, 7, 209, 121, 821, 709, 1085, 5333, 7689, 28355}}, +{3644, 15, 16172, {1, 3, 1, 15, 5, 27, 115, 31, 37, 79, 1347, 155, 3709, 13251, 32151}}, +{3645, 15, 16190, {1, 3, 7, 15, 27, 27, 127, 231, 137, 205, 1665, 1461, 299, 2797, 879}}, +{3646, 15, 16195, {1, 1, 1, 7, 13, 3, 127, 13, 253, 481, 1435, 1895, 2665, 7611, 17761}}, +{3647, 15, 16204, {1, 1, 3, 7, 7, 21, 71, 247, 301, 183, 1785, 331, 4835, 2251, 4493}}, +{3648, 15, 16216, {1, 3, 7, 9, 9, 1, 77, 169, 103, 647, 1959, 1847, 5803, 3421, 15915}}, +{3649, 15, 16222, {1, 3, 1, 7, 19, 17, 81, 45, 263, 549, 1607, 2177, 1117, 14427, 16451}}, +{3650, 15, 16228, {1, 1, 7, 15, 27, 25, 27, 27, 33, 813, 1667, 253, 2749, 927, 29707}}, +{3651, 15, 16245, {1, 1, 7, 3, 17, 29, 13, 67, 417, 303, 19, 3809, 7225, 12775, 3933}}, +{3652, 15, 16255, {1, 1, 1, 11, 13, 41, 77, 217, 281, 659, 1099, 3047, 1619, 525, 4313}}, +{3653, 15, 16265, {1, 3, 3, 9, 23, 47, 5, 33, 219, 531, 77, 2307, 1893, 8335, 8281}}, +{3654, 15, 16273, {1, 3, 7, 3, 3, 35, 27, 249, 159, 495, 431, 3001, 1475, 11505, 15693}}, +{3655, 15, 16276, {1, 1, 5, 9, 21, 49, 43, 159, 465, 959, 179, 993, 121, 11569, 21027}}, +{3656, 15, 16283, {1, 3, 1, 5, 1, 61, 9, 221, 231, 55, 191, 2829, 3331, 8911, 15109}}, +{3657, 15, 16295, {1, 1, 7, 1, 7, 35, 67, 97, 159, 191, 935, 3151, 6397, 10751, 1835}}, +{3658, 15, 16304, {1, 1, 1, 7, 15, 39, 127, 163, 437, 333, 829, 753, 8151, 13239, 523}}, +{3659, 15, 16313, {1, 1, 3, 13, 9, 25, 73, 155, 445, 239, 2035, 15, 5243, 15531, 1733}}, +{3660, 15, 16319, {1, 3, 7, 15, 5, 25, 3, 55, 117, 57, 783, 1509, 7043, 13159, 8557}}, +{3661, 15, 16328, {1, 3, 5, 1, 21, 55, 89, 119, 199, 79, 161, 1597, 3263, 3335, 5757}}, +{3662, 15, 16345, {1, 3, 7, 5, 27, 23, 85, 113, 111, 211, 389, 1513, 2759, 7945, 931}}, +{3663, 15, 16355, {1, 1, 1, 7, 1, 5, 17, 177, 357, 619, 5, 2583, 621, 2973, 28845}}, +{3664, 15, 16364, {1, 3, 7, 13, 11, 21, 47, 99, 421, 279, 1541, 1305, 4571, 6127, 20735}}, +{3665, 15, 16372, {1, 3, 5, 5, 23, 43, 19, 137, 425, 409, 1625, 2671, 4385, 3197, 25753}}, +{3666, 15, 16375, {1, 1, 7, 5, 27, 17, 57, 15, 383, 181, 951, 2115, 5237, 1495, 9671}}, +{3667, 15, 16382, {1, 3, 3, 11, 9, 1, 53, 127, 375, 499, 1487, 121, 1465, 3175, 24337}}, +{3668, 16, 22, {1, 3, 7, 11, 29, 35, 67, 129, 221, 439, 1159, 3501, 7741, 8885, 11381, 20707}}, +{3669, 16, 28, {1, 3, 5, 11, 29, 59, 23, 117, 343, 637, 1825, 1687, 2823, 11641, 3311, 23603}}, +{3670, 16, 31, {1, 1, 5, 11, 1, 35, 103, 155, 233, 575, 1761, 503, 4175, 6105, 29737, 32681}}, +{3671, 16, 41, {1, 3, 3, 1, 5, 63, 27, 71, 245, 433, 1779, 2475, 5479, 4705, 10795, 34247}}, +{3672, 16, 94, {1, 3, 5, 7, 29, 45, 117, 5, 393, 849, 843, 3131, 6995, 9979, 28907, 30115}}, +{3673, 16, 107, {1, 3, 5, 9, 27, 29, 69, 5, 395, 561, 1531, 409, 2779, 8785, 16405, 27315}}, +{3674, 16, 151, {1, 3, 1, 9, 15, 29, 85, 3, 331, 19, 1941, 567, 6957, 747, 1627, 11347}}, +{3675, 16, 158, {1, 1, 3, 9, 27, 45, 47, 127, 133, 921, 1817, 2231, 6333, 14371, 12799, 9831}}, +{3676, 16, 167, {1, 1, 5, 15, 31, 7, 125, 13, 455, 159, 331, 3629, 4705, 11261, 3657, 36307}}, +{3677, 16, 174, {1, 1, 5, 9, 11, 53, 51, 35, 87, 885, 1975, 3899, 1013, 7667, 32385, 33635}}, +{3678, 16, 203, {1, 1, 1, 3, 7, 45, 107, 177, 193, 765, 731, 139, 5563, 623, 16485, 54999}}, +{3679, 16, 208, {1, 1, 5, 9, 17, 53, 117, 69, 385, 587, 1483, 149, 2769, 3013, 18183, 10173}}, +{3680, 16, 214, {1, 1, 5, 11, 5, 3, 25, 153, 351, 749, 801, 3077, 3209, 11189, 25241, 14115}}, +{3681, 16, 223, {1, 1, 7, 9, 1, 47, 41, 247, 135, 163, 899, 1517, 5647, 10595, 32531, 12497}}, +{3682, 16, 227, {1, 3, 5, 11, 5, 61, 111, 215, 251, 279, 825, 2155, 3527, 173, 10973, 59257}}, +{3683, 16, 266, {1, 3, 5, 11, 25, 15, 71, 83, 135, 231, 1415, 3761, 7513, 8337, 28979, 43615}}, +{3684, 16, 268, {1, 3, 5, 13, 19, 5, 55, 165, 141, 119, 1891, 2255, 4735, 16217, 26195, 50527}}, +{3685, 16, 274, {1, 1, 7, 15, 23, 59, 59, 191, 1, 855, 453, 2619, 5013, 14749, 24335, 44339}}, +{3686, 16, 279, {1, 1, 1, 13, 15, 41, 51, 147, 229, 495, 1191, 867, 1525, 581, 29713, 26391}}, +{3687, 16, 302, {1, 1, 1, 9, 29, 5, 59, 127, 105, 417, 301, 2249, 6335, 3513, 17373, 52977}}, +{3688, 16, 310, {1, 1, 3, 7, 21, 27, 109, 143, 63, 347, 1429, 2889, 2597, 10243, 9913, 22687}}, +{3689, 16, 322, {1, 3, 5, 5, 7, 3, 125, 147, 313, 351, 1163, 415, 5615, 5571, 7089, 55621}}, +{3690, 16, 328, {1, 3, 3, 3, 31, 43, 101, 93, 9, 671, 135, 333, 2169, 11169, 7403, 50707}}, +{3691, 16, 336, {1, 1, 7, 13, 15, 33, 125, 155, 227, 827, 1047, 2441, 3007, 10881, 19969, 63805}}, +{3692, 16, 370, {1, 3, 3, 5, 31, 33, 29, 249, 159, 797, 1475, 841, 6933, 6417, 25629, 61865}}, +{3693, 16, 398, {1, 3, 3, 15, 11, 55, 11, 117, 149, 911, 1589, 3133, 6477, 6123, 10471, 41099}}, +{3694, 16, 421, {1, 3, 3, 9, 27, 37, 1, 119, 509, 969, 831, 3771, 2093, 13621, 31737, 43269}}, +{3695, 16, 436, {1, 1, 1, 1, 9, 23, 119, 109, 487, 753, 1673, 2163, 3349, 4741, 29971, 3407}}, +{3696, 16, 440, {1, 3, 3, 7, 25, 7, 67, 9, 461, 631, 651, 2271, 5663, 2621, 3953, 20975}}, +{3697, 16, 451, {1, 1, 5, 11, 13, 31, 29, 255, 371, 517, 845, 3649, 1187, 10061, 22887, 58417}}, +{3698, 16, 454, {1, 3, 5, 13, 29, 1, 11, 137, 151, 249, 167, 1243, 997, 11023, 11875, 42315}}, +{3699, 16, 463, {1, 1, 5, 5, 5, 55, 103, 71, 255, 1023, 209, 1005, 2147, 11527, 17863, 6661}}, +{3700, 16, 465, {1, 1, 3, 3, 31, 39, 7, 151, 353, 775, 1313, 1257, 4197, 2625, 9571, 27269}}, +{3701, 16, 494, {1, 1, 1, 3, 7, 17, 3, 127, 501, 503, 1879, 2329, 3049, 10603, 2111, 33189}}, +{3702, 16, 508, {1, 3, 3, 7, 13, 59, 93, 13, 375, 483, 1991, 2257, 3003, 1699, 4339, 51827}}, +{3703, 16, 532, {1, 3, 7, 15, 27, 41, 59, 225, 405, 807, 1545, 2581, 1173, 14137, 3413, 39299}}, +{3704, 16, 555, {1, 1, 1, 3, 9, 23, 37, 123, 465, 1023, 1065, 1455, 5107, 3839, 20451, 11461}}, +{3705, 16, 563, {1, 1, 1, 11, 19, 55, 91, 121, 317, 199, 215, 3031, 7223, 11891, 21463, 64921}}, +{3706, 16, 577, {1, 3, 7, 11, 19, 5, 5, 115, 399, 219, 71, 1465, 281, 14451, 26807, 42541}}, +{3707, 16, 580, {1, 3, 5, 13, 3, 33, 75, 35, 19, 559, 761, 947, 7479, 15325, 31453, 20561}}, +{3708, 16, 584, {1, 3, 3, 13, 23, 47, 99, 73, 331, 353, 401, 1737, 6235, 13781, 5547, 56443}}, +{3709, 16, 607, {1, 3, 3, 13, 21, 37, 41, 205, 87, 399, 51, 3175, 7403, 12875, 21129, 7079}}, +{3710, 16, 608, {1, 3, 5, 11, 15, 47, 33, 39, 465, 871, 277, 2351, 695, 1953, 24293, 20595}}, +{3711, 16, 665, {1, 1, 7, 11, 13, 15, 115, 59, 469, 715, 191, 1927, 905, 13463, 29005, 46789}}, +{3712, 16, 675, {1, 3, 5, 9, 13, 55, 79, 17, 265, 887, 905, 3985, 6907, 3379, 20055, 58569}}, +{3713, 16, 692, {1, 1, 7, 11, 21, 29, 23, 109, 17, 427, 1623, 2219, 3857, 3709, 25033, 63823}}, +{3714, 16, 707, {1, 3, 5, 15, 19, 27, 113, 15, 25, 63, 1885, 2693, 5301, 9385, 14137, 26097}}, +{3715, 16, 737, {1, 3, 3, 11, 17, 5, 73, 143, 79, 957, 461, 1709, 4909, 2285, 18113, 8401}}, +{3716, 16, 750, {1, 1, 3, 7, 9, 9, 101, 127, 137, 755, 1359, 1965, 83, 13335, 27763, 7941}}, +{3717, 16, 757, {1, 1, 1, 3, 13, 61, 95, 61, 295, 615, 555, 2163, 8155, 14043, 21465, 46741}}, +{3718, 16, 800, {1, 1, 1, 13, 29, 19, 111, 17, 373, 153, 1703, 2199, 7209, 15845, 1879, 7493}}, +{3719, 16, 805, {1, 3, 1, 13, 21, 51, 49, 51, 255, 151, 207, 1915, 7629, 2705, 8739, 7467}}, +{3720, 16, 809, {1, 3, 7, 5, 21, 21, 23, 193, 467, 739, 519, 2315, 2953, 10633, 9163, 6007}}, +{3721, 16, 837, {1, 3, 1, 5, 23, 19, 23, 247, 93, 297, 1089, 2349, 4683, 13609, 7615, 18647}}, +{3722, 16, 865, {1, 1, 3, 3, 21, 39, 19, 71, 93, 1, 133, 3531, 7503, 2819, 24211, 1739}}, +{3723, 16, 949, {1, 3, 5, 13, 9, 43, 31, 111, 493, 739, 705, 2715, 3613, 11877, 27945, 46053}}, +{3724, 16, 950, {1, 1, 7, 13, 27, 59, 103, 129, 53, 531, 1379, 1441, 5341, 14937, 5079, 39881}}, +{3725, 16, 956, {1, 1, 3, 3, 11, 63, 91, 95, 433, 393, 715, 809, 591, 4141, 17417, 54107}}, +{3726, 16, 961, {1, 3, 5, 1, 7, 25, 25, 175, 205, 803, 183, 1441, 1279, 2753, 20001, 56677}}, +{3727, 16, 1016, {1, 1, 5, 3, 13, 23, 77, 25, 133, 137, 1907, 1313, 2463, 14339, 13, 57757}}, +{3728, 16, 1030, {1, 1, 5, 9, 23, 35, 1, 119, 111, 61, 403, 1815, 1985, 5651, 10883, 55943}}, +{3729, 16, 1072, {1, 3, 1, 7, 21, 43, 115, 7, 107, 719, 759, 1521, 467, 8735, 29785, 63821}}, +{3730, 16, 1119, {1, 1, 3, 13, 19, 17, 51, 141, 399, 569, 703, 2221, 2809, 13355, 1907, 15837}}, +{3731, 16, 1130, {1, 1, 5, 15, 15, 53, 57, 31, 481, 69, 1439, 4049, 6727, 11307, 20683, 63517}}, +{3732, 16, 1135, {1, 1, 1, 3, 13, 27, 9, 255, 363, 131, 1745, 2489, 6451, 6585, 12873, 35405}}, +{3733, 16, 1137, {1, 3, 5, 1, 17, 31, 113, 135, 449, 915, 1017, 2317, 6821, 5483, 30707, 45279}}, +{3734, 16, 1144, {1, 3, 5, 1, 13, 47, 25, 53, 413, 545, 1777, 3049, 7527, 9689, 25935, 9919}}, +{3735, 16, 1149, {1, 3, 7, 11, 17, 39, 13, 131, 295, 517, 1755, 2977, 6267, 12351, 8957, 17765}}, +{3736, 16, 1180, {1, 1, 7, 5, 27, 57, 47, 21, 125, 429, 1169, 1717, 5455, 16359, 29065, 6671}}, +{3737, 16, 1214, {1, 1, 5, 5, 21, 15, 79, 241, 83, 515, 859, 2351, 3125, 7465, 30475, 19759}}, +{3738, 16, 1221, {1, 3, 1, 9, 11, 5, 81, 11, 7, 221, 141, 3329, 3435, 323, 18999, 54735}}, +{3739, 16, 1234, {1, 1, 1, 15, 7, 57, 87, 251, 63, 561, 929, 1367, 2511, 14527, 9335, 38775}}, +{3740, 16, 1239, {1, 3, 3, 9, 23, 37, 59, 105, 179, 515, 235, 2445, 433, 13039, 27005, 48829}}, +{3741, 16, 1249, {1, 1, 1, 1, 23, 37, 103, 31, 89, 921, 1687, 831, 387, 10237, 1241, 19295}}, +{3742, 16, 1250, {1, 3, 3, 7, 25, 23, 57, 251, 309, 579, 603, 807, 7383, 8579, 4025, 16757}}, +{3743, 16, 1267, {1, 1, 3, 15, 23, 59, 29, 33, 467, 641, 1271, 2915, 2549, 14767, 26557, 43483}}, +{3744, 16, 1273, {1, 1, 7, 13, 1, 57, 23, 129, 321, 75, 189, 4087, 5011, 4355, 25759, 37153}}, +{3745, 16, 1342, {1, 1, 5, 1, 21, 57, 25, 183, 37, 669, 259, 1381, 877, 10245, 16643, 61035}}, +{3746, 16, 1344, {1, 1, 7, 5, 11, 11, 85, 141, 393, 957, 1745, 2243, 1681, 5583, 16527, 12017}}, +{3747, 16, 1373, {1, 1, 5, 15, 23, 31, 5, 169, 287, 527, 1831, 2937, 7533, 9739, 24305, 2239}}, +{3748, 16, 1378, {1, 1, 7, 1, 7, 13, 3, 243, 189, 309, 607, 3659, 6369, 7649, 24255, 55373}}, +{3749, 16, 1408, {1, 1, 1, 3, 3, 59, 103, 209, 287, 913, 1223, 1063, 7715, 6073, 26697, 25671}}, +{3750, 16, 1417, {1, 3, 7, 5, 19, 19, 117, 191, 275, 637, 991, 2199, 2921, 10553, 21211, 25981}}, +{3751, 16, 1418, {1, 3, 3, 5, 29, 59, 17, 13, 127, 57, 1405, 3181, 2237, 1795, 21419, 43421}}, +{3752, 16, 1448, {1, 1, 1, 15, 25, 41, 11, 117, 463, 425, 305, 1441, 4307, 7967, 17529, 4043}}, +{3753, 16, 1454, {1, 3, 5, 5, 19, 53, 69, 73, 453, 611, 1583, 1721, 6303, 10561, 18527, 48973}}, +{3754, 16, 1510, {1, 1, 7, 11, 15, 61, 87, 69, 463, 771, 819, 469, 8165, 8897, 29657, 55161}}, +{3755, 16, 1513, {1, 1, 5, 1, 15, 25, 23, 47, 287, 457, 1219, 473, 4127, 3349, 9425, 41541}}, +{3756, 16, 1522, {1, 3, 7, 5, 17, 17, 33, 161, 239, 231, 241, 1297, 4879, 12761, 20939, 65261}}, +{3757, 16, 1543, {1, 3, 3, 9, 19, 53, 95, 89, 117, 333, 1815, 2217, 7779, 8213, 4667, 58395}}, +{3758, 16, 1550, {1, 3, 3, 9, 17, 7, 41, 99, 371, 797, 729, 2851, 2003, 4463, 20793, 54315}}, +{3759, 16, 1552, {1, 3, 5, 5, 23, 39, 19, 235, 163, 365, 141, 791, 455, 2761, 9115, 53351}}, +{3760, 16, 1588, {1, 3, 3, 3, 9, 27, 29, 139, 165, 867, 2023, 1333, 3771, 10451, 9141, 41177}}, +{3761, 16, 1592, {1, 1, 3, 7, 3, 11, 125, 157, 355, 519, 187, 3381, 1151, 1629, 25247, 42797}}, +{3762, 16, 1597, {1, 3, 3, 3, 21, 25, 37, 155, 257, 311, 961, 1945, 1383, 5679, 7857, 7183}}, +{3763, 16, 1606, {1, 3, 3, 5, 29, 11, 49, 125, 171, 605, 1923, 2781, 2555, 5063, 5075, 43301}}, +{3764, 16, 1610, {1, 3, 5, 9, 27, 1, 27, 149, 253, 205, 1299, 2901, 2891, 975, 7641, 8115}}, +{3765, 16, 1617, {1, 3, 5, 3, 31, 7, 49, 215, 81, 791, 1485, 837, 5051, 1947, 7521, 25723}}, +{3766, 16, 1623, {1, 3, 5, 7, 23, 25, 69, 13, 3, 859, 441, 3577, 1687, 6559, 8687, 46757}}, +{3767, 16, 1657, {1, 1, 1, 9, 1, 59, 3, 31, 251, 187, 617, 2607, 4635, 6121, 8565, 8871}}, +{3768, 16, 1697, {1, 3, 3, 9, 29, 37, 127, 87, 153, 633, 1691, 2729, 3167, 3219, 21237, 25573}}, +{3769, 16, 1729, {1, 1, 5, 13, 19, 63, 93, 235, 299, 621, 405, 663, 6639, 12265, 9303, 42719}}, +{3770, 16, 1735, {1, 1, 3, 9, 25, 11, 9, 231, 101, 335, 1793, 1497, 7069, 4171, 30199, 63}}, +{3771, 16, 1769, {1, 1, 1, 1, 5, 19, 17, 217, 165, 413, 925, 1409, 6559, 14537, 22057, 44331}}, +{3772, 16, 1778, {1, 1, 3, 7, 11, 51, 45, 217, 57, 795, 951, 2933, 6705, 137, 30525, 9679}}, +{3773, 16, 1826, {1, 1, 3, 15, 27, 47, 35, 125, 363, 619, 1027, 2861, 3923, 10459, 16789, 27277}}, +{3774, 16, 1858, {1, 1, 7, 7, 13, 37, 33, 29, 385, 851, 143, 119, 7345, 4251, 25121, 31609}}, +{3775, 16, 1870, {1, 3, 1, 1, 17, 25, 119, 7, 365, 397, 601, 2087, 6903, 15345, 14671, 37889}}, +{3776, 16, 1875, {1, 3, 1, 13, 19, 51, 41, 139, 133, 723, 25, 2621, 1257, 7037, 9527, 50037}}, +{3777, 16, 1922, {1, 1, 5, 11, 5, 59, 119, 75, 397, 545, 1095, 585, 3271, 1049, 123, 33029}}, +{3778, 16, 1924, {1, 1, 7, 11, 9, 27, 21, 197, 177, 31, 453, 2457, 2733, 7787, 1923, 24639}}, +{3779, 16, 1933, {1, 1, 7, 13, 29, 13, 91, 91, 243, 279, 601, 1699, 7169, 4727, 7815, 29099}}, +{3780, 16, 1972, {1, 3, 7, 5, 1, 35, 27, 235, 163, 913, 1479, 769, 7179, 1983, 25977, 55373}}, +{3781, 16, 1979, {1, 3, 5, 11, 9, 33, 99, 141, 301, 109, 1785, 129, 1707, 5181, 4797, 9979}}, +{3782, 16, 1987, {1, 1, 1, 13, 3, 47, 89, 43, 293, 87, 1689, 3885, 7747, 5607, 477, 31887}}, +{3783, 16, 1994, {1, 1, 5, 1, 9, 21, 73, 37, 45, 621, 1855, 3691, 4899, 2191, 13459, 23543}}, +{3784, 16, 2008, {1, 1, 1, 1, 7, 39, 61, 125, 341, 905, 213, 1755, 241, 13407, 8791, 10165}}, +{3785, 16, 2023, {1, 1, 1, 1, 19, 31, 79, 19, 55, 875, 1017, 1787, 4879, 533, 15029, 52295}}, +{3786, 16, 2029, {1, 3, 1, 1, 9, 59, 113, 71, 113, 649, 561, 71, 5253, 783, 7389, 19361}}, +{3787, 16, 2053, {1, 1, 1, 11, 5, 39, 61, 225, 291, 907, 795, 1099, 597, 11829, 15137, 42865}}, +{3788, 16, 2081, {1, 3, 1, 5, 25, 11, 71, 155, 271, 309, 1981, 1253, 463, 1133, 20833, 48625}}, +{3789, 16, 2087, {1, 3, 5, 9, 7, 41, 87, 241, 457, 899, 1493, 3675, 3025, 10607, 22569, 52813}}, +{3790, 16, 2094, {1, 3, 7, 13, 7, 37, 37, 103, 281, 915, 1259, 4049, 559, 173, 4123, 63767}}, +{3791, 16, 2111, {1, 3, 7, 15, 13, 57, 9, 51, 39, 549, 1431, 2887, 1081, 4643, 16331, 14221}}, +{3792, 16, 2113, {1, 3, 5, 7, 13, 1, 101, 125, 25, 713, 1423, 513, 3323, 9951, 7163, 20969}}, +{3793, 16, 2114, {1, 1, 7, 15, 11, 25, 25, 3, 47, 531, 1529, 471, 6191, 10051, 29671, 49085}}, +{3794, 16, 2123, {1, 1, 3, 5, 23, 51, 117, 141, 55, 275, 761, 1923, 6267, 2291, 3701, 26615}}, +{3795, 16, 2190, {1, 1, 7, 9, 15, 19, 111, 65, 137, 373, 1753, 3591, 1137, 11639, 28591, 27265}}, +{3796, 16, 2231, {1, 3, 1, 15, 29, 5, 67, 13, 425, 961, 453, 2481, 1407, 3479, 23303, 30407}}, +{3797, 16, 2276, {1, 1, 5, 3, 19, 39, 39, 123, 351, 77, 1339, 1765, 3767, 1907, 13627, 23877}}, +{3798, 16, 2285, {1, 3, 5, 9, 23, 7, 103, 177, 221, 197, 561, 2121, 7231, 12053, 30127, 29849}}, +{3799, 16, 2297, {1, 1, 5, 7, 15, 1, 3, 123, 197, 493, 171, 2425, 3865, 4061, 31883, 2491}}, +{3800, 16, 2336, {1, 1, 3, 13, 29, 33, 99, 67, 327, 969, 1793, 1871, 1839, 13059, 7605, 16797}}, +{3801, 16, 2345, {1, 3, 5, 11, 25, 53, 25, 93, 303, 623, 1889, 1471, 1213, 14459, 8527, 25095}}, +{3802, 16, 2353, {1, 1, 1, 13, 15, 3, 115, 3, 289, 743, 1855, 359, 2375, 13765, 19711, 40765}}, +{3803, 16, 2363, {1, 1, 7, 11, 27, 51, 85, 163, 219, 871, 637, 2011, 5981, 587, 17521, 17333}}, +{3804, 16, 2368, {1, 3, 5, 1, 21, 59, 49, 39, 305, 513, 2017, 285, 5817, 13123, 27765, 46741}}, +{3805, 16, 2373, {1, 3, 3, 7, 21, 39, 71, 163, 423, 845, 783, 397, 7319, 10677, 13407, 47471}}, +{3806, 16, 2391, {1, 3, 7, 5, 21, 59, 99, 179, 473, 687, 1393, 723, 2245, 2933, 25943, 7769}}, +{3807, 16, 2402, {1, 1, 5, 9, 5, 45, 71, 189, 165, 555, 643, 2289, 3133, 12319, 22209, 1533}}, +{3808, 16, 2413, {1, 1, 3, 9, 7, 43, 1, 155, 323, 169, 339, 2561, 4049, 4953, 5289, 8783}}, +{3809, 16, 2422, {1, 3, 1, 11, 15, 5, 25, 201, 267, 891, 561, 501, 575, 15147, 1743, 45237}}, +{3810, 16, 2425, {1, 3, 5, 13, 25, 27, 105, 205, 165, 795, 975, 943, 7413, 10299, 14839, 54895}}, +{3811, 16, 2461, {1, 1, 5, 1, 17, 43, 69, 103, 449, 917, 103, 945, 513, 709, 11647, 28065}}, +{3812, 16, 2462, {1, 1, 3, 15, 23, 51, 23, 7, 159, 743, 177, 3457, 415, 1775, 25353, 36385}}, +{3813, 16, 2490, {1, 3, 5, 13, 9, 63, 121, 19, 165, 449, 1523, 1959, 6901, 12281, 29149, 45999}}, +{3814, 16, 2492, {1, 3, 7, 11, 17, 19, 9, 155, 373, 753, 1313, 2205, 3571, 16317, 16151, 15325}}, +{3815, 16, 2510, {1, 3, 3, 7, 15, 43, 65, 183, 407, 123, 1151, 375, 3461, 6673, 12985, 21005}}, +{3816, 16, 2564, {1, 3, 7, 7, 9, 1, 87, 247, 489, 123, 1677, 1947, 7961, 13497, 27919, 28993}}, +{3817, 16, 2573, {1, 3, 3, 7, 19, 21, 95, 227, 217, 133, 69, 1535, 699, 3521, 29255, 34733}}, +{3818, 16, 2598, {1, 3, 5, 3, 7, 57, 45, 251, 407, 81, 1259, 2425, 2217, 13097, 12773, 14643}}, +{3819, 16, 2627, {1, 1, 1, 11, 23, 37, 13, 229, 467, 591, 1521, 469, 3763, 2289, 14233, 24053}}, +{3820, 16, 2633, {1, 3, 5, 1, 27, 53, 105, 5, 85, 765, 1973, 2597, 5725, 1063, 18145, 961}}, +{3821, 16, 2647, {1, 3, 7, 1, 21, 47, 115, 95, 403, 3, 1593, 3379, 7371, 15553, 12503, 57979}}, +{3822, 16, 2660, {1, 1, 3, 1, 1, 35, 121, 29, 379, 245, 919, 2673, 3503, 14197, 31193, 8355}}, +{3823, 16, 2664, {1, 3, 5, 11, 19, 49, 97, 7, 195, 1013, 1671, 3415, 2009, 13389, 4837, 27453}}, +{3824, 16, 2678, {1, 1, 5, 13, 9, 15, 115, 97, 463, 449, 303, 2681, 1215, 12559, 15685, 21321}}, +{3825, 16, 2684, {1, 3, 5, 13, 23, 5, 113, 193, 419, 301, 1121, 317, 5503, 4683, 25519, 65}}, +{3826, 16, 2691, {1, 3, 3, 7, 15, 29, 45, 97, 323, 475, 143, 1173, 4033, 8939, 31849, 3575}}, +{3827, 16, 2759, {1, 1, 7, 7, 21, 1, 101, 143, 197, 409, 855, 1753, 5211, 3763, 11139, 37309}}, +{3828, 16, 2768, {1, 1, 3, 13, 25, 33, 55, 45, 381, 349, 991, 535, 4823, 3701, 31629, 48037}}, +{3829, 16, 2773, {1, 3, 1, 11, 17, 51, 27, 57, 409, 551, 949, 365, 8093, 10831, 19697, 39437}}, +{3830, 16, 2794, {1, 3, 5, 3, 31, 33, 81, 49, 91, 865, 469, 2115, 377, 8237, 31907, 38239}}, +{3831, 16, 2813, {1, 1, 3, 7, 29, 59, 57, 17, 121, 889, 1557, 1797, 5001, 14209, 21355, 59739}}, +{3832, 16, 2831, {1, 1, 5, 9, 11, 45, 89, 87, 397, 785, 525, 1593, 5251, 12449, 23579, 54265}}, +{3833, 16, 2843, {1, 3, 5, 11, 5, 31, 19, 47, 207, 331, 91, 1691, 5171, 53, 15945, 33349}}, +{3834, 16, 2846, {1, 1, 1, 15, 11, 41, 91, 177, 505, 871, 815, 3673, 5631, 9915, 1133, 37861}}, +{3835, 16, 2849, {1, 3, 5, 5, 25, 63, 53, 231, 55, 51, 481, 303, 1859, 11973, 28557, 22045}}, +{3836, 16, 2856, {1, 1, 5, 3, 27, 11, 37, 91, 363, 411, 1131, 3369, 377, 6585, 7353, 42949}}, +{3837, 16, 2893, {1, 3, 1, 9, 31, 63, 83, 23, 405, 941, 119, 1471, 2509, 15507, 29239, 49613}}, +{3838, 16, 2901, {1, 1, 5, 1, 11, 63, 117, 237, 407, 231, 1425, 71, 8005, 4023, 9029, 59819}}, +{3839, 16, 2924, {1, 1, 5, 7, 1, 9, 43, 87, 351, 63, 1075, 3381, 5447, 2437, 24983, 26905}}, +{3840, 16, 2942, {1, 3, 7, 5, 5, 35, 33, 89, 251, 819, 1735, 2625, 6363, 6837, 27603, 26669}}, +{3841, 16, 2975, {1, 3, 7, 13, 29, 63, 51, 245, 371, 791, 907, 3499, 3033, 8443, 20023, 1805}}, +{3842, 16, 2979, {1, 1, 5, 7, 13, 15, 109, 197, 451, 709, 929, 3193, 5727, 11185, 29479, 1671}}, +{3843, 16, 2985, {1, 1, 7, 13, 19, 23, 97, 9, 359, 635, 777, 39, 893, 2531, 13563, 19295}}, +{3844, 16, 3020, {1, 1, 5, 1, 31, 63, 55, 7, 157, 877, 991, 1317, 1595, 2019, 21435, 52255}}, +{3845, 16, 3025, {1, 1, 5, 3, 19, 37, 23, 13, 335, 431, 483, 615, 2431, 505, 26245, 63323}}, +{3846, 16, 3028, {1, 3, 7, 5, 5, 9, 37, 65, 303, 423, 1907, 2661, 7213, 2975, 29045, 16243}}, +{3847, 16, 3051, {1, 3, 1, 5, 13, 37, 115, 217, 227, 159, 707, 1387, 943, 4935, 5503, 35171}}, +{3848, 16, 3127, {1, 3, 7, 9, 19, 15, 87, 233, 453, 159, 169, 1077, 2129, 413, 19773, 629}}, +{3849, 16, 3142, {1, 1, 5, 15, 29, 39, 37, 243, 233, 365, 1843, 2219, 1255, 15287, 603, 13511}}, +{3850, 16, 3145, {1, 1, 3, 3, 31, 53, 33, 125, 497, 597, 127, 1829, 3905, 2611, 4263, 40971}}, +{3851, 16, 3156, {1, 3, 5, 9, 11, 47, 71, 215, 383, 321, 1445, 135, 5953, 8791, 22073, 16537}}, +{3852, 16, 3165, {1, 3, 3, 13, 15, 7, 7, 133, 401, 459, 1117, 3165, 4105, 11943, 22431, 56821}}, +{3853, 16, 3196, {1, 1, 7, 9, 31, 39, 19, 7, 19, 401, 79, 3641, 6815, 1489, 7537, 49467}}, +{3854, 16, 3199, {1, 3, 7, 7, 17, 11, 91, 205, 251, 321, 515, 3521, 311, 3169, 271, 34749}}, +{3855, 16, 3217, {1, 3, 3, 7, 29, 15, 5, 153, 83, 603, 1373, 997, 4939, 9811, 243, 5375}}, +{3856, 16, 3218, {1, 1, 3, 11, 21, 47, 25, 221, 237, 177, 535, 2819, 6213, 7877, 26795, 36609}}, +{3857, 16, 3253, {1, 3, 7, 3, 31, 1, 69, 73, 47, 653, 139, 1649, 7183, 1293, 26507, 38415}}, +{3858, 16, 3258, {1, 1, 1, 13, 17, 41, 23, 73, 115, 509, 787, 3733, 1871, 171, 29967, 39941}}, +{3859, 16, 3260, {1, 3, 5, 1, 9, 7, 61, 23, 105, 381, 1421, 2887, 3717, 643, 26375, 57991}}, +{3860, 16, 3289, {1, 3, 3, 3, 19, 3, 101, 117, 393, 83, 1255, 3331, 6481, 8661, 20855, 28875}}, +{3861, 16, 3314, {1, 3, 5, 11, 21, 13, 111, 193, 51, 899, 159, 1989, 7931, 10511, 3933, 447}}, +{3862, 16, 3326, {1, 1, 5, 15, 23, 35, 49, 139, 397, 145, 597, 1847, 7077, 715, 20227, 42183}}, +{3863, 16, 3331, {1, 3, 3, 3, 17, 3, 87, 233, 35, 317, 337, 237, 6901, 3439, 20033, 10307}}, +{3864, 16, 3371, {1, 3, 5, 3, 11, 35, 13, 171, 7, 963, 1443, 1501, 7617, 963, 25453, 62589}}, +{3865, 16, 3381, {1, 1, 1, 5, 11, 9, 39, 175, 409, 411, 1407, 2743, 4255, 989, 15823, 1707}}, +{3866, 16, 3396, {1, 1, 7, 13, 27, 55, 63, 239, 355, 417, 2007, 2299, 2921, 1637, 10687, 60615}}, +{3867, 16, 3441, {1, 1, 7, 9, 5, 61, 57, 73, 263, 307, 2003, 1763, 639, 5885, 14709, 16985}}, +{3868, 16, 3442, {1, 1, 3, 3, 21, 55, 19, 249, 509, 533, 1361, 1397, 2777, 15523, 4389, 13339}}, +{3869, 16, 3460, {1, 3, 5, 15, 9, 3, 91, 237, 451, 299, 1541, 4083, 879, 7859, 21585, 14833}}, +{3870, 16, 3477, {1, 1, 7, 3, 31, 47, 49, 231, 123, 391, 1633, 2567, 5577, 1631, 27951, 22913}}, +{3871, 16, 3491, {1, 3, 7, 13, 11, 13, 1, 111, 183, 87, 839, 1915, 5523, 3677, 13065, 38225}}, +{3872, 16, 3493, {1, 1, 3, 7, 15, 15, 63, 241, 167, 345, 653, 701, 4725, 12911, 11545, 24475}}, +{3873, 16, 3543, {1, 1, 3, 7, 25, 15, 49, 235, 331, 639, 965, 1117, 7147, 3789, 3309, 20255}}, +{3874, 16, 3549, {1, 3, 5, 7, 7, 63, 93, 241, 253, 31, 951, 3723, 3359, 7303, 191, 36427}}, +{3875, 16, 3550, {1, 3, 7, 9, 9, 59, 5, 107, 181, 413, 1269, 3121, 1929, 11921, 8931, 47459}}, +{3876, 16, 3553, {1, 3, 1, 15, 25, 27, 13, 47, 295, 111, 1287, 2551, 4887, 4145, 17063, 42037}}, +{3877, 16, 3563, {1, 3, 3, 13, 17, 17, 21, 17, 491, 845, 1463, 1305, 1375, 16149, 19331, 25043}}, +{3878, 16, 3568, {1, 3, 5, 1, 27, 5, 93, 139, 283, 711, 1141, 1743, 5001, 8851, 19351, 12275}}, +{3879, 16, 3604, {1, 1, 1, 1, 23, 25, 51, 63, 429, 735, 201, 3785, 6677, 16375, 19681, 17857}}, +{3880, 16, 3632, {1, 3, 3, 3, 9, 63, 71, 147, 463, 465, 1163, 1045, 6967, 12537, 31853, 38391}}, +{3881, 16, 3650, {1, 3, 7, 1, 5, 51, 79, 239, 389, 3, 601, 3787, 7635, 16295, 1681, 63971}}, +{3882, 16, 3662, {1, 3, 1, 3, 5, 31, 103, 89, 321, 971, 783, 3685, 1155, 10353, 2167, 35423}}, +{3883, 16, 3674, {1, 1, 5, 15, 25, 19, 93, 59, 361, 217, 1141, 597, 5877, 15961, 1593, 22925}}, +{3884, 16, 3685, {1, 3, 1, 9, 25, 59, 69, 89, 477, 89, 487, 237, 5625, 9579, 30421, 21883}}, +{3885, 16, 3686, {1, 1, 3, 7, 1, 5, 13, 225, 9, 981, 1081, 1407, 6855, 15215, 21713, 62313}}, +{3886, 16, 3700, {1, 1, 7, 15, 11, 13, 119, 109, 151, 245, 1195, 3741, 755, 8047, 15431, 21001}}, +{3887, 16, 3703, {1, 3, 7, 3, 17, 47, 107, 137, 99, 255, 1597, 3281, 5779, 13487, 15061, 19199}}, +{3888, 16, 3704, {1, 1, 3, 3, 9, 39, 77, 227, 511, 839, 1375, 3887, 25, 14763, 13259, 217}}, +{3889, 16, 3723, {1, 3, 5, 7, 17, 3, 87, 61, 439, 287, 709, 4085, 4251, 8945, 28203, 24011}}, +{3890, 16, 3743, {1, 3, 1, 1, 29, 25, 49, 101, 209, 359, 285, 1593, 4161, 2943, 23225, 6381}}, +{3891, 16, 3753, {1, 1, 3, 13, 1, 45, 87, 7, 491, 399, 905, 1403, 4791, 7419, 14355, 47767}}, +{3892, 16, 3756, {1, 1, 7, 15, 13, 25, 111, 197, 297, 301, 499, 4007, 2235, 7681, 4641, 32447}}, +{3893, 16, 3759, {1, 1, 3, 3, 27, 41, 97, 83, 405, 353, 1609, 201, 1503, 10673, 29377, 20445}}, +{3894, 16, 3762, {1, 1, 7, 3, 9, 47, 65, 191, 207, 545, 377, 3011, 7361, 3467, 14073, 46769}}, +{3895, 16, 3771, {1, 1, 7, 5, 7, 39, 9, 91, 187, 949, 1829, 161, 3689, 4145, 32675, 23263}}, +{3896, 16, 3776, {1, 1, 5, 9, 29, 9, 83, 113, 77, 673, 613, 3645, 6671, 8583, 27701, 18615}}, +{3897, 16, 3779, {1, 3, 5, 9, 29, 13, 127, 247, 285, 845, 463, 539, 4441, 1867, 12469, 16213}}, +{3898, 16, 3839, {1, 3, 7, 15, 1, 29, 47, 157, 239, 595, 563, 1103, 3431, 2849, 28125, 19969}}, +{3899, 16, 3856, {1, 1, 1, 15, 25, 13, 1, 131, 57, 257, 2021, 169, 7603, 10721, 21675, 63171}}, +{3900, 16, 3871, {1, 3, 5, 3, 5, 19, 31, 57, 275, 381, 775, 681, 1145, 12237, 5141, 29375}}, +{3901, 16, 3887, {1, 3, 5, 13, 27, 13, 47, 201, 267, 581, 1563, 3845, 951, 7209, 27253, 19755}}, +{3902, 16, 3896, {1, 3, 5, 15, 19, 35, 57, 17, 61, 273, 967, 3029, 1747, 1753, 31321, 23711}}, +{3903, 16, 3901, {1, 1, 1, 5, 13, 13, 7, 177, 335, 393, 1401, 1411, 4703, 8259, 1281, 39835}}, +{3904, 16, 3916, {1, 1, 3, 15, 25, 27, 27, 121, 183, 105, 663, 1375, 6987, 7151, 13763, 39323}}, +{3905, 16, 3919, {1, 3, 7, 5, 15, 1, 81, 129, 455, 163, 675, 81, 3735, 14409, 7269, 16425}}, +{3906, 16, 3937, {1, 3, 3, 11, 13, 7, 79, 157, 165, 663, 229, 3539, 1837, 6485, 30729, 42157}}, +{3907, 16, 3943, {1, 1, 5, 15, 9, 9, 9, 47, 133, 863, 43, 1461, 511, 13991, 24781, 19221}}, +{3908, 16, 3955, {1, 3, 1, 7, 31, 33, 103, 13, 159, 689, 1353, 4025, 6051, 7683, 1741, 30047}}, +{3909, 16, 3961, {1, 1, 3, 11, 5, 45, 71, 219, 475, 585, 1207, 3163, 4661, 4713, 12729, 30445}}, +{3910, 16, 3988, {1, 3, 7, 5, 5, 53, 101, 227, 129, 521, 91, 1129, 4683, 11235, 24697, 45055}}, +{3911, 16, 3997, {1, 1, 3, 13, 1, 43, 7, 1, 73, 857, 1713, 185, 1685, 2369, 24187, 40419}}, +{3912, 16, 4011, {1, 1, 7, 7, 21, 7, 13, 177, 503, 1003, 1091, 2411, 1433, 9063, 13901, 3329}}, +{3913, 16, 4026, {1, 1, 7, 1, 7, 41, 99, 203, 325, 249, 1763, 545, 2981, 14125, 7815, 11385}}, +{3914, 16, 4033, {1, 3, 7, 11, 3, 11, 95, 137, 325, 701, 1177, 1631, 4483, 2955, 30229, 25577}}, +{3915, 16, 4045, {1, 1, 7, 7, 17, 45, 77, 103, 143, 97, 1963, 3635, 1539, 10491, 23483, 22767}}, +{3916, 16, 4060, {1, 1, 7, 15, 7, 5, 81, 63, 243, 55, 39, 207, 2315, 8285, 8155, 11631}}, +{3917, 16, 4063, {1, 3, 5, 15, 23, 19, 115, 9, 125, 851, 161, 3767, 3513, 1855, 11139, 1719}}, +{3918, 16, 4064, {1, 3, 7, 11, 11, 23, 15, 13, 235, 5, 1039, 1425, 6485, 5539, 8967, 64809}}, +{3919, 16, 4126, {1, 3, 5, 7, 19, 11, 83, 135, 45, 905, 1081, 1857, 3185, 13555, 21365, 38143}}, +{3920, 16, 4136, {1, 1, 5, 1, 25, 27, 119, 109, 167, 847, 1539, 2653, 797, 11185, 23501, 22389}}, +{3921, 16, 4167, {1, 1, 7, 7, 11, 3, 51, 97, 277, 557, 207, 3645, 825, 8521, 26653, 60071}}, +{3922, 16, 4173, {1, 3, 3, 15, 17, 35, 57, 7, 267, 549, 97, 243, 1137, 10311, 6737, 19077}}, +{3923, 16, 4188, {1, 1, 1, 15, 23, 33, 27, 203, 415, 1023, 1145, 1881, 7715, 4413, 3727, 5185}}, +{3924, 16, 4195, {1, 1, 3, 3, 13, 47, 63, 13, 75, 505, 595, 2911, 4029, 14187, 23151, 42877}}, +{3925, 16, 4226, {1, 1, 5, 15, 23, 5, 11, 65, 147, 675, 1961, 2177, 727, 15077, 23759, 10195}}, +{3926, 16, 4291, {1, 3, 5, 9, 9, 39, 69, 229, 341, 627, 1331, 3139, 3921, 9219, 14887, 4659}}, +{3927, 16, 4298, {1, 1, 7, 3, 1, 35, 49, 71, 165, 83, 719, 2771, 6475, 7821, 16709, 4449}}, +{3928, 16, 4308, {1, 3, 5, 5, 23, 15, 3, 57, 465, 77, 121, 3767, 6841, 13601, 12035, 14075}}, +{3929, 16, 4312, {1, 1, 7, 3, 3, 23, 45, 131, 287, 941, 713, 415, 6865, 14209, 29555, 55493}}, +{3930, 16, 4336, {1, 3, 5, 11, 29, 35, 55, 75, 225, 779, 569, 1795, 1377, 12765, 19081, 47287}}, +{3931, 16, 4371, {1, 3, 7, 3, 31, 47, 127, 89, 157, 737, 1395, 3615, 7923, 14731, 15797, 40061}}, +{3932, 16, 4378, {1, 1, 1, 11, 21, 37, 21, 59, 9, 141, 193, 3095, 3435, 12371, 26931, 61861}}, +{3933, 16, 4384, {1, 1, 3, 7, 13, 51, 15, 153, 77, 1013, 651, 3949, 6229, 14297, 1039, 46139}}, +{3934, 16, 4393, {1, 3, 3, 13, 7, 43, 95, 61, 217, 3, 549, 739, 123, 3661, 15375, 13919}}, +{3935, 16, 4421, {1, 3, 5, 9, 13, 37, 101, 89, 55, 413, 1089, 775, 7575, 13063, 31393, 29583}}, +{3936, 16, 4425, {1, 1, 3, 9, 25, 63, 119, 143, 499, 145, 603, 2067, 4713, 13457, 14053, 117}}, +{3937, 16, 4439, {1, 1, 5, 9, 7, 23, 57, 253, 115, 591, 2003, 63, 7615, 11493, 28519, 47087}}, +{3938, 16, 4440, {1, 1, 7, 3, 7, 53, 121, 33, 233, 645, 1093, 1697, 7213, 2603, 10743, 51303}}, +{3939, 16, 4500, {1, 3, 5, 7, 13, 31, 17, 125, 93, 969, 159, 1529, 7165, 7371, 8707, 56953}}, +{3940, 16, 4514, {1, 3, 3, 1, 13, 9, 91, 25, 171, 843, 1635, 2043, 1043, 15893, 11409, 53689}}, +{3941, 16, 4523, {1, 3, 5, 7, 13, 19, 89, 97, 203, 923, 1109, 2061, 463, 11703, 8925, 56015}}, +{3942, 16, 4534, {1, 3, 5, 11, 5, 21, 79, 237, 195, 649, 717, 211, 919, 12855, 3045, 39659}}, +{3943, 16, 4593, {1, 1, 1, 15, 13, 19, 21, 69, 393, 257, 1263, 309, 3209, 8403, 24467, 6467}}, +{3944, 16, 4615, {1, 1, 1, 11, 7, 27, 59, 117, 379, 353, 943, 2513, 3869, 4567, 12989, 13139}}, +{3945, 16, 4630, {1, 1, 1, 3, 13, 43, 11, 15, 149, 237, 1555, 71, 2357, 15773, 21419, 40571}}, +{3946, 16, 4636, {1, 3, 1, 9, 19, 23, 59, 215, 15, 921, 1729, 249, 3785, 7171, 1233, 3449}}, +{3947, 16, 4645, {1, 1, 1, 7, 7, 37, 63, 205, 75, 599, 951, 2513, 3347, 2497, 8019, 5433}}, +{3948, 16, 4684, {1, 3, 3, 15, 27, 17, 25, 201, 23, 699, 1525, 465, 1115, 12299, 14747, 40363}}, +{3949, 16, 4687, {1, 1, 1, 3, 29, 59, 115, 233, 107, 815, 291, 3821, 7325, 7381, 21445, 33917}}, +{3950, 16, 4723, {1, 3, 1, 11, 11, 33, 107, 171, 421, 893, 587, 3373, 4101, 3885, 25383, 12035}}, +{3951, 16, 4735, {1, 3, 3, 7, 5, 23, 43, 51, 357, 77, 1327, 2995, 1321, 1571, 26419, 23603}}, +{3952, 16, 4746, {1, 3, 7, 9, 27, 57, 101, 51, 215, 215, 469, 303, 723, 2903, 30569, 42631}}, +{3953, 16, 4779, {1, 3, 3, 13, 1, 7, 63, 205, 143, 321, 1439, 253, 2667, 1271, 11761, 55631}}, +{3954, 16, 4782, {1, 1, 7, 9, 3, 7, 7, 15, 503, 875, 1619, 1715, 5047, 5665, 5503, 17745}}, +{3955, 16, 4793, {1, 1, 7, 15, 19, 49, 65, 31, 245, 371, 377, 2963, 6185, 5519, 10743, 33231}}, +{3956, 16, 4796, {1, 1, 7, 3, 25, 27, 115, 51, 299, 451, 285, 1709, 6153, 14881, 17861, 22071}}, +{3957, 16, 4813, {1, 3, 1, 5, 21, 21, 127, 185, 325, 995, 213, 3279, 4769, 15943, 2589, 29567}}, +{3958, 16, 4850, {1, 3, 7, 5, 21, 9, 63, 59, 159, 743, 663, 2965, 97, 8993, 25633, 29033}}, +{3959, 16, 4867, {1, 3, 7, 13, 3, 35, 59, 101, 21, 659, 1531, 3995, 795, 2143, 21749, 52715}}, +{3960, 16, 4874, {1, 3, 3, 15, 27, 29, 95, 1, 501, 425, 417, 2351, 7877, 4127, 3633, 23347}}, +{3961, 16, 4881, {1, 3, 5, 7, 7, 49, 55, 19, 329, 467, 425, 1609, 6987, 16123, 26879, 42883}}, +{3962, 16, 4894, {1, 1, 1, 15, 17, 21, 13, 13, 85, 7, 677, 3739, 5491, 6299, 29957, 55765}}, +{3963, 16, 4904, {1, 1, 1, 7, 31, 21, 1, 5, 193, 659, 979, 3409, 3151, 6615, 7445, 8151}}, +{3964, 16, 4927, {1, 3, 1, 1, 11, 61, 27, 205, 263, 805, 955, 3469, 1233, 1609, 15329, 13353}}, +{3965, 16, 4929, {1, 3, 3, 9, 3, 29, 59, 75, 149, 557, 663, 3887, 3369, 3397, 10611, 9511}}, +{3966, 16, 4989, {1, 1, 7, 13, 29, 21, 101, 139, 99, 411, 569, 2343, 6901, 1685, 20599, 49543}}, +{3967, 16, 5000, {1, 3, 3, 15, 11, 3, 87, 89, 5, 293, 291, 1405, 1489, 9877, 32505, 32263}}, +{3968, 16, 5020, {1, 1, 5, 5, 19, 45, 89, 5, 381, 253, 1339, 707, 4645, 14177, 29441, 8965}}, +{3969, 16, 5036, {1, 3, 7, 15, 27, 45, 25, 177, 81, 229, 1339, 2143, 6547, 6841, 23449, 14813}}, +{3970, 16, 5041, {1, 1, 1, 3, 27, 23, 81, 157, 53, 513, 1435, 277, 2353, 3545, 21461, 51479}}, +{3971, 16, 5059, {1, 3, 1, 3, 3, 17, 75, 139, 283, 881, 1157, 2081, 937, 14549, 10215, 13053}}, +{3972, 16, 5074, {1, 1, 7, 9, 25, 27, 27, 133, 21, 559, 225, 613, 6931, 11785, 23413, 35757}}, +{3973, 16, 5090, {1, 1, 3, 13, 19, 9, 65, 49, 453, 779, 621, 1151, 1807, 13269, 6515, 17113}}, +{3974, 16, 5110, {1, 1, 1, 13, 21, 49, 39, 79, 119, 401, 903, 493, 3779, 7389, 29425, 28091}}, +{3975, 16, 5134, {1, 3, 1, 3, 23, 57, 59, 213, 463, 839, 1201, 1951, 5197, 13035, 29657, 35517}}, +{3976, 16, 5152, {1, 3, 7, 7, 3, 49, 29, 181, 367, 101, 1277, 3329, 3563, 10373, 29757, 62555}}, +{3977, 16, 5176, {1, 3, 1, 7, 31, 31, 117, 213, 373, 57, 1095, 2733, 3431, 3915, 7665, 44459}}, +{3978, 16, 5181, {1, 1, 7, 5, 9, 25, 47, 117, 355, 495, 1367, 2579, 5617, 787, 27655, 18885}}, +{3979, 16, 5204, {1, 1, 1, 3, 9, 39, 113, 87, 107, 477, 891, 2273, 4239, 7521, 147, 1737}}, +{3980, 16, 5218, {1, 1, 1, 3, 13, 61, 81, 225, 113, 441, 889, 1915, 3897, 15179, 4053, 5925}}, +{3981, 16, 5242, {1, 1, 5, 3, 15, 47, 59, 187, 475, 197, 1381, 33, 4605, 1487, 14359, 33769}}, +{3982, 16, 5253, {1, 3, 7, 15, 23, 45, 53, 215, 129, 465, 795, 53, 7077, 9517, 2663, 55397}}, +{3983, 16, 5260, {1, 1, 7, 13, 25, 49, 105, 255, 245, 153, 1093, 2123, 2823, 5125, 17483, 49003}}, +{3984, 16, 5281, {1, 1, 1, 13, 31, 5, 7, 243, 255, 231, 1663, 1007, 7573, 405, 29183, 11367}}, +{3985, 16, 5282, {1, 1, 5, 13, 15, 15, 115, 91, 63, 1013, 1713, 1945, 6397, 14213, 24417, 40807}}, +{3986, 16, 5313, {1, 1, 5, 3, 19, 49, 91, 25, 43, 601, 25, 2405, 1973, 629, 497, 12625}}, +{3987, 16, 5316, {1, 1, 3, 5, 13, 45, 11, 81, 251, 545, 1155, 1409, 7187, 847, 2835, 32909}}, +{3988, 16, 5326, {1, 3, 1, 13, 27, 57, 1, 103, 465, 809, 1727, 3721, 3347, 3791, 17247, 8377}}, +{3989, 16, 5340, {1, 3, 3, 15, 25, 31, 91, 91, 119, 205, 1431, 703, 5327, 7323, 30415, 61955}}, +{3990, 16, 5347, {1, 3, 5, 11, 19, 39, 79, 243, 109, 463, 1869, 2133, 4139, 10461, 14793, 24025}}, +{3991, 16, 5354, {1, 3, 5, 7, 23, 41, 5, 7, 249, 3, 1743, 489, 4921, 397, 30955, 22207}}, +{3992, 16, 5368, {1, 3, 5, 15, 3, 7, 115, 19, 217, 231, 1183, 3723, 5055, 12967, 7855, 5067}}, +{3993, 16, 5394, {1, 3, 3, 3, 11, 31, 113, 41, 429, 797, 557, 1199, 1819, 1933, 9917, 32229}}, +{3994, 16, 5396, {1, 1, 5, 3, 13, 63, 31, 183, 465, 915, 723, 3227, 4125, 2813, 26313, 34287}}, +{3995, 16, 5400, {1, 1, 7, 5, 31, 55, 117, 243, 37, 885, 85, 1067, 3895, 15655, 28527, 32109}}, +{3996, 16, 5405, {1, 3, 7, 15, 17, 43, 43, 173, 119, 187, 1161, 599, 4595, 1681, 11981, 681}}, +{3997, 16, 5439, {1, 1, 7, 7, 29, 47, 25, 93, 411, 103, 783, 1029, 1927, 3569, 27647, 8281}}, +{3998, 16, 5442, {1, 3, 3, 9, 19, 57, 31, 183, 141, 889, 157, 2267, 5701, 6273, 25739, 34039}}, +{3999, 16, 5459, {1, 3, 5, 1, 29, 35, 105, 165, 505, 299, 1149, 2397, 2013, 11591, 15917, 4791}}, +{4000, 16, 5478, {1, 3, 3, 9, 7, 35, 47, 77, 69, 335, 585, 1131, 531, 8597, 307, 55985}}, +{4001, 16, 5484, {1, 3, 7, 1, 29, 9, 25, 155, 149, 845, 567, 3735, 3501, 9365, 12025, 19131}}, +{4002, 16, 5508, {1, 3, 5, 3, 11, 31, 25, 9, 411, 519, 1611, 1441, 1487, 10049, 14373, 24605}}, +{4003, 16, 5523, {1, 3, 3, 5, 3, 7, 101, 107, 339, 155, 1843, 2529, 443, 8177, 28655, 8151}}, +{4004, 16, 5545, {1, 1, 7, 5, 29, 37, 73, 131, 125, 451, 947, 797, 5053, 10155, 30801, 27235}}, +{4005, 16, 5565, {1, 1, 7, 13, 19, 47, 101, 45, 495, 457, 1293, 1971, 5495, 12737, 17687, 26123}}, +{4006, 16, 5566, {1, 1, 7, 7, 11, 11, 75, 177, 251, 553, 1883, 3379, 1429, 12227, 10301, 16467}}, +{4007, 16, 5580, {1, 3, 3, 9, 3, 61, 95, 35, 97, 551, 233, 2045, 4873, 9109, 10019, 64523}}, +{4008, 16, 5608, {1, 3, 1, 5, 11, 3, 15, 177, 301, 573, 2029, 191, 5551, 12083, 27287, 57235}}, +{4009, 16, 5613, {1, 3, 5, 1, 21, 9, 121, 169, 347, 187, 57, 3163, 5609, 1921, 17581, 28351}}, +{4010, 16, 5647, {1, 3, 3, 1, 31, 51, 15, 45, 429, 245, 573, 1595, 5343, 7519, 17009, 1299}}, +{4011, 16, 5661, {1, 1, 7, 3, 13, 47, 109, 65, 389, 867, 963, 145, 1089, 9749, 19625, 43121}}, +{4012, 16, 5671, {1, 3, 1, 7, 21, 61, 77, 67, 143, 579, 625, 2007, 6343, 4259, 21233, 237}}, +{4013, 16, 5678, {1, 3, 5, 9, 27, 15, 107, 91, 399, 895, 645, 2301, 439, 6789, 18299, 47285}}, +{4014, 16, 5680, {1, 3, 3, 5, 13, 11, 43, 199, 505, 409, 25, 2057, 479, 6031, 9561, 51613}}, +{4015, 16, 5685, {1, 1, 7, 13, 15, 55, 105, 53, 171, 925, 1849, 2881, 6951, 13069, 865, 41019}}, +{4016, 16, 5689, {1, 3, 1, 9, 17, 31, 45, 23, 411, 185, 189, 2123, 2583, 12713, 12681, 2231}}, +{4017, 16, 5692, {1, 3, 7, 9, 3, 63, 11, 253, 177, 127, 545, 3293, 4449, 15995, 10223, 33529}}, +{4018, 16, 5724, {1, 1, 5, 11, 13, 7, 53, 161, 421, 551, 697, 627, 3879, 1639, 24419, 3337}}, +{4019, 16, 5745, {1, 1, 7, 7, 27, 7, 37, 205, 429, 407, 1133, 3563, 2921, 6173, 11173, 3009}}, +{4020, 16, 5755, {1, 3, 3, 15, 31, 39, 117, 81, 337, 729, 567, 2299, 1481, 3189, 1795, 40299}}, +{4021, 16, 5757, {1, 3, 5, 15, 15, 47, 91, 127, 275, 55, 951, 3423, 2879, 6115, 1549, 2287}}, +{4022, 16, 5786, {1, 3, 3, 11, 17, 3, 127, 207, 141, 889, 185, 1095, 4567, 1371, 30545, 54445}}, +{4023, 16, 5792, {1, 1, 7, 3, 25, 11, 11, 139, 43, 1, 1977, 397, 5775, 6913, 13249, 46767}}, +{4024, 16, 5810, {1, 1, 7, 7, 27, 13, 31, 251, 191, 1015, 161, 3719, 5321, 13013, 25187, 51881}}, +{4025, 16, 5824, {1, 1, 1, 1, 3, 3, 13, 19, 423, 349, 1955, 2103, 6395, 3315, 23809, 25925}}, +{4026, 16, 5869, {1, 3, 5, 13, 3, 59, 41, 167, 423, 93, 1299, 2623, 5829, 8537, 8701, 43757}}, +{4027, 16, 5872, {1, 3, 5, 11, 9, 19, 127, 119, 329, 819, 7, 3809, 5305, 3643, 27369, 61827}}, +{4028, 16, 5895, {1, 3, 1, 15, 25, 43, 55, 159, 205, 911, 983, 2825, 3751, 7845, 12023, 18431}}, +{4029, 16, 5923, {1, 3, 3, 13, 11, 1, 65, 133, 479, 181, 679, 981, 3317, 6241, 11693, 9619}}, +{4030, 16, 5925, {1, 3, 3, 3, 21, 25, 117, 183, 127, 73, 703, 1469, 257, 11229, 10167, 50847}}, +{4031, 16, 5926, {1, 1, 5, 13, 5, 5, 113, 15, 231, 269, 989, 465, 3267, 15239, 29503, 42855}}, +{4032, 16, 5944, {1, 3, 3, 15, 9, 63, 79, 27, 21, 709, 1969, 3761, 1015, 13619, 4205, 40591}}, +{4033, 16, 5986, {1, 1, 7, 11, 29, 3, 5, 45, 107, 131, 1287, 3551, 849, 2003, 27451, 47103}}, +{4034, 16, 6012, {1, 3, 5, 11, 3, 47, 59, 53, 369, 249, 915, 2475, 7539, 763, 7063, 63971}}, +{4035, 16, 6015, {1, 1, 5, 1, 7, 53, 45, 127, 321, 341, 635, 2277, 1383, 10951, 29055, 45087}}, +{4036, 16, 6046, {1, 3, 7, 3, 5, 1, 119, 79, 487, 93, 25, 491, 4085, 6403, 27779, 8753}}, +{4037, 16, 6049, {1, 1, 1, 3, 9, 59, 49, 141, 323, 703, 1175, 423, 4323, 10083, 4289, 28931}}, +{4038, 16, 6061, {1, 3, 3, 15, 31, 31, 73, 15, 187, 653, 91, 1707, 1431, 9861, 19071, 8137}}, +{4039, 16, 6067, {1, 1, 1, 5, 27, 63, 93, 1, 329, 353, 863, 473, 7681, 10653, 15819, 8495}}, +{4040, 16, 6099, {1, 1, 1, 5, 25, 57, 119, 167, 219, 319, 231, 1065, 6217, 5131, 1513, 49281}}, +{4041, 16, 6121, {1, 3, 7, 3, 17, 3, 113, 91, 201, 179, 1907, 3423, 821, 12927, 24827, 49403}}, +{4042, 16, 6155, {1, 1, 5, 7, 19, 63, 75, 151, 387, 489, 777, 2049, 1151, 1351, 25687, 4143}}, +{4043, 16, 6163, {1, 3, 5, 7, 9, 37, 9, 3, 87, 385, 1667, 2139, 7527, 16133, 30023, 28783}}, +{4044, 16, 6203, {1, 1, 5, 9, 11, 55, 95, 73, 413, 867, 589, 2901, 3021, 413, 5955, 38921}}, +{4045, 16, 6208, {1, 3, 5, 15, 1, 17, 17, 7, 485, 323, 519, 2325, 2255, 4211, 20661, 28931}}, +{4046, 16, 6231, {1, 1, 5, 13, 21, 19, 85, 189, 167, 645, 1475, 3095, 7123, 3351, 7961, 20967}}, +{4047, 16, 6241, {1, 1, 7, 13, 3, 47, 13, 213, 237, 291, 285, 1465, 1765, 12361, 32651, 54205}}, +{4048, 16, 6254, {1, 3, 7, 13, 13, 27, 71, 35, 67, 117, 647, 2359, 3295, 8445, 24761, 29379}}, +{4049, 16, 6262, {1, 1, 1, 3, 3, 19, 23, 37, 5, 1019, 5, 1605, 2291, 14015, 9311, 39751}}, +{4050, 16, 6266, {1, 3, 3, 3, 31, 1, 65, 159, 221, 675, 1061, 971, 2333, 8265, 14361, 3263}}, +{4051, 16, 6275, {1, 1, 3, 7, 3, 5, 81, 17, 101, 991, 753, 2883, 4977, 4409, 1757, 26803}}, +{4052, 16, 6278, {1, 1, 5, 9, 13, 25, 45, 43, 199, 967, 829, 713, 4547, 7223, 6497, 53895}}, +{4053, 16, 6292, {1, 1, 7, 5, 23, 15, 89, 179, 509, 147, 315, 133, 111, 15577, 23427, 5229}}, +{4054, 16, 6329, {1, 3, 3, 7, 27, 7, 113, 65, 315, 135, 1309, 1179, 5755, 7513, 6815, 5137}}, +{4055, 16, 6355, {1, 1, 3, 7, 1, 13, 29, 155, 477, 721, 71, 865, 3897, 3331, 30641, 65471}}, +{4056, 16, 6357, {1, 1, 7, 3, 29, 45, 83, 3, 461, 109, 1545, 1365, 6633, 16137, 23859, 5995}}, +{4057, 16, 6374, {1, 3, 1, 1, 3, 33, 77, 83, 459, 187, 879, 3731, 6939, 6707, 23409, 24245}}, +{4058, 16, 6380, {1, 3, 5, 5, 13, 43, 127, 41, 29, 735, 1391, 2947, 4873, 4627, 15, 41719}}, +{4059, 16, 6423, {1, 3, 1, 3, 17, 17, 51, 93, 189, 227, 449, 2809, 825, 2009, 9563, 41435}}, +{4060, 16, 6427, {1, 3, 3, 11, 25, 47, 113, 173, 141, 919, 677, 117, 5293, 815, 23749, 19789}}, +{4061, 16, 6430, {1, 1, 1, 13, 15, 61, 121, 223, 53, 389, 489, 1527, 4771, 8975, 8005, 14275}}, +{4062, 16, 6436, {1, 1, 3, 15, 31, 57, 111, 145, 279, 991, 489, 3239, 7647, 473, 31279, 33447}}, +{4063, 16, 6443, {1, 1, 7, 5, 31, 13, 75, 185, 395, 611, 609, 159, 7931, 9887, 4115, 53121}}, +{4064, 16, 6445, {1, 3, 5, 5, 13, 39, 103, 237, 77, 913, 511, 1583, 6763, 14523, 4247, 63403}}, +{4065, 16, 6458, {1, 1, 1, 15, 11, 5, 43, 43, 297, 827, 747, 5, 3785, 15021, 11291, 36743}}, +{4066, 16, 6478, {1, 1, 7, 9, 9, 53, 113, 95, 403, 53, 1335, 4033, 8147, 11963, 6523, 23675}}, +{4067, 16, 6490, {1, 1, 5, 9, 27, 29, 69, 79, 327, 409, 1147, 1579, 2625, 12227, 30933, 9057}}, +{4068, 16, 6508, {1, 1, 1, 7, 1, 33, 29, 173, 5, 517, 437, 2035, 57, 12825, 22095, 65519}}, +{4069, 16, 6519, {1, 1, 3, 7, 27, 29, 53, 79, 429, 707, 589, 2605, 339, 7039, 19319, 17649}}, +{4070, 16, 6520, {1, 3, 3, 11, 9, 57, 43, 117, 39, 193, 1427, 2553, 6877, 7653, 29041, 44865}}, +{4071, 16, 6530, {1, 3, 3, 7, 23, 45, 29, 151, 265, 739, 365, 3565, 6447, 9761, 24021, 679}}, +{4072, 16, 6541, {1, 3, 5, 1, 1, 43, 73, 55, 131, 175, 959, 659, 7315, 15145, 18301, 14865}}, +{4073, 16, 6556, {1, 1, 3, 5, 15, 15, 91, 113, 359, 241, 1627, 1069, 1761, 211, 32671, 58833}}, +{4074, 16, 6607, {1, 3, 3, 7, 29, 27, 79, 53, 409, 81, 693, 3137, 7385, 11007, 28459, 28621}}, +{4075, 16, 6612, {1, 1, 7, 5, 29, 7, 67, 195, 77, 773, 1361, 2153, 4459, 7301, 5129, 17797}}, +{4076, 16, 6626, {1, 3, 3, 7, 25, 27, 91, 223, 115, 91, 1645, 2167, 1955, 9601, 22127, 13055}}, +{4077, 16, 6632, {1, 3, 7, 3, 27, 53, 67, 249, 51, 151, 663, 3231, 895, 6777, 3037, 56755}}, +{4078, 16, 6649, {1, 1, 5, 1, 25, 63, 71, 179, 375, 301, 1127, 2125, 783, 14481, 7293, 47883}}, +{4079, 16, 6666, {1, 1, 3, 9, 25, 3, 39, 69, 1, 85, 1271, 1571, 1953, 5077, 20369, 44827}}, +{4080, 16, 6674, {1, 3, 1, 13, 11, 61, 77, 59, 127, 475, 1609, 3553, 2553, 15589, 9351, 59787}}, +{4081, 16, 6733, {1, 3, 1, 5, 21, 7, 61, 27, 199, 653, 1243, 2481, 5369, 12903, 30229, 39453}}, +{4082, 16, 6782, {1, 3, 7, 3, 13, 15, 107, 153, 501, 573, 863, 3179, 6019, 15177, 16075, 43767}}, +{4083, 16, 6786, {1, 1, 7, 1, 23, 55, 17, 35, 5, 137, 1707, 1377, 6857, 15361, 27299, 61871}}, +{4084, 16, 6798, {1, 3, 5, 7, 27, 17, 87, 213, 95, 125, 1239, 3923, 4193, 11049, 12783, 45017}}, +{4085, 16, 6821, {1, 1, 5, 15, 9, 55, 11, 217, 7, 249, 369, 205, 4251, 13785, 24781, 48929}}, +{4086, 16, 6840, {1, 3, 7, 1, 15, 35, 33, 107, 503, 563, 1591, 3487, 7495, 1767, 24791, 31281}}, +{4087, 16, 6846, {1, 3, 1, 11, 3, 15, 47, 193, 289, 253, 909, 1105, 5119, 1415, 7737, 4341}}, +{4088, 16, 6865, {1, 1, 1, 3, 23, 33, 53, 187, 469, 573, 835, 2049, 791, 1177, 31051, 30955}}, +{4089, 16, 6884, {1, 3, 3, 11, 15, 51, 77, 143, 369, 991, 1103, 1293, 6019, 6361, 26301, 20741}}, +{4090, 16, 6891, {1, 1, 1, 5, 17, 19, 85, 135, 113, 593, 579, 1063, 7173, 2491, 9355, 19223}}, +{4091, 16, 6925, {1, 1, 5, 15, 25, 51, 107, 193, 31, 1, 1693, 125, 6223, 14619, 22683, 26321}}, +{4092, 16, 6938, {1, 1, 7, 1, 17, 45, 87, 39, 87, 499, 1185, 2763, 3989, 2863, 24555, 33817}}, +{4093, 16, 6967, {1, 3, 1, 11, 31, 5, 121, 231, 185, 793, 255, 2785, 5261, 3687, 21711, 3941}}, +{4094, 16, 6988, {1, 3, 7, 15, 5, 59, 73, 227, 365, 937, 893, 2155, 4385, 14345, 6813, 28461}}, +{4095, 16, 6996, {1, 1, 5, 7, 7, 23, 7, 239, 431, 45, 1015, 1663, 1893, 5035, 24075, 2119}}, +{4096, 16, 7009, {1, 3, 5, 1, 3, 15, 63, 103, 119, 801, 1681, 3463, 6083, 6453, 11379, 8205}}, +{4097, 16, 7016, {1, 3, 7, 9, 21, 61, 9, 9, 433, 541, 603, 3905, 3787, 10187, 3643, 21319}}, +{4098, 16, 7030, {1, 3, 5, 3, 11, 1, 101, 243, 363, 559, 561, 1163, 455, 4657, 1147, 39961}}, +{4099, 16, 7043, {1, 3, 5, 13, 17, 37, 57, 47, 483, 571, 1579, 1137, 8125, 12271, 23279, 1615}}, +{4100, 16, 7045, {1, 3, 5, 1, 21, 5, 13, 155, 75, 705, 389, 2855, 6345, 2279, 12627, 49451}}, +{4101, 16, 7052, {1, 1, 3, 9, 15, 51, 73, 99, 445, 227, 1705, 2175, 8111, 9381, 31555, 48491}}, +{4102, 16, 7073, {1, 3, 3, 5, 9, 63, 107, 51, 461, 979, 1033, 421, 4807, 11707, 13261, 26015}}, +{4103, 16, 7142, {1, 1, 5, 3, 13, 53, 117, 249, 57, 851, 1391, 3245, 35, 16043, 24399, 63667}}, +{4104, 16, 7153, {1, 3, 1, 11, 23, 33, 57, 125, 385, 495, 871, 199, 4269, 2269, 22897, 23597}}, +{4105, 16, 7168, {1, 3, 5, 15, 29, 11, 77, 21, 479, 369, 723, 3721, 1121, 9463, 19775, 54525}}, +{4106, 16, 7174, {1, 3, 5, 7, 7, 45, 29, 153, 395, 223, 1917, 3713, 5087, 10827, 1383, 36823}}, +{4107, 16, 7183, {1, 3, 1, 3, 31, 19, 111, 55, 275, 923, 917, 2925, 673, 6579, 18783, 5137}}, +{4108, 16, 7195, {1, 3, 1, 15, 25, 31, 59, 255, 31, 697, 1751, 381, 299, 295, 14037, 40953}}, +{4109, 16, 7204, {1, 3, 1, 7, 15, 23, 69, 219, 351, 183, 1083, 2227, 6249, 9385, 13167, 2901}}, +{4110, 16, 7214, {1, 3, 7, 1, 5, 61, 117, 13, 67, 521, 41, 2929, 3937, 1215, 25593, 32627}}, +{4111, 16, 7222, {1, 3, 5, 1, 9, 47, 63, 39, 371, 657, 491, 2243, 4049, 10517, 12409, 40597}}, +{4112, 16, 7267, {1, 3, 7, 15, 17, 3, 77, 13, 275, 225, 487, 2055, 1293, 15927, 31773, 18275}}, +{4113, 16, 7269, {1, 1, 5, 13, 11, 57, 113, 27, 191, 363, 1341, 3487, 8031, 13801, 7563, 40675}}, +{4114, 16, 7279, {1, 1, 3, 3, 27, 31, 103, 143, 271, 305, 2033, 3623, 4219, 9307, 7501, 8959}}, +{4115, 16, 7293, {1, 1, 1, 13, 1, 3, 27, 97, 475, 143, 333, 2997, 1807, 4231, 27437, 59717}}, +{4116, 16, 7312, {1, 3, 7, 5, 5, 3, 69, 233, 309, 511, 1429, 1887, 2745, 4969, 17595, 5451}}, +{4117, 16, 7327, {1, 1, 7, 3, 23, 17, 115, 89, 265, 467, 257, 2027, 5331, 1195, 4451, 8621}}, +{4118, 16, 7334, {1, 1, 7, 13, 29, 35, 117, 155, 99, 327, 853, 3595, 2997, 10745, 21619, 26549}}, +{4119, 16, 7337, {1, 3, 3, 13, 1, 13, 75, 151, 67, 271, 1609, 1117, 4293, 4645, 12005, 55983}}, +{4120, 16, 7343, {1, 1, 1, 13, 1, 61, 101, 63, 161, 261, 1759, 567, 665, 2339, 9157, 55603}}, +{4121, 16, 7346, {1, 1, 7, 11, 25, 19, 71, 27, 255, 435, 227, 4087, 4309, 14903, 14513, 30207}}, +{4122, 16, 7372, {1, 3, 3, 3, 11, 41, 1, 67, 383, 403, 45, 1521, 1535, 3353, 27361, 7549}}, +{4123, 16, 7387, {1, 1, 1, 1, 13, 51, 31, 137, 147, 907, 19, 3639, 3739, 877, 15005, 60357}}, +{4124, 16, 7390, {1, 1, 3, 11, 11, 23, 29, 173, 105, 873, 1727, 2761, 2015, 7491, 17491, 41065}}, +{4125, 16, 7396, {1, 1, 5, 3, 31, 1, 119, 53, 11, 731, 393, 4031, 4421, 15715, 6431, 18089}}, +{4126, 16, 7423, {1, 1, 3, 5, 15, 37, 55, 147, 307, 521, 711, 3085, 5989, 8081, 23351, 35259}}, +{4127, 16, 7428, {1, 3, 5, 13, 21, 19, 47, 107, 447, 713, 1655, 2809, 4741, 2105, 9255, 103}}, +{4128, 16, 7437, {1, 3, 1, 3, 17, 47, 63, 125, 343, 763, 1777, 607, 5625, 9517, 7221, 27257}}, +{4129, 16, 7466, {1, 1, 7, 5, 31, 13, 67, 255, 41, 947, 99, 721, 7367, 11427, 1357, 12383}}, +{4130, 16, 7474, {1, 1, 7, 3, 23, 27, 73, 185, 189, 545, 1877, 3169, 5419, 15873, 29059, 23983}}, +{4131, 16, 7476, {1, 1, 3, 1, 5, 13, 81, 45, 79, 717, 819, 3539, 7561, 7319, 5113, 27273}}, +{4132, 16, 7483, {1, 3, 7, 9, 21, 25, 71, 247, 41, 583, 771, 3745, 1883, 5717, 755, 14549}}, +{4133, 16, 7518, {1, 1, 3, 7, 23, 25, 87, 143, 499, 515, 1753, 1229, 173, 10629, 30579, 29643}}, +{4134, 16, 7527, {1, 3, 1, 13, 29, 33, 31, 69, 503, 117, 1717, 101, 7647, 1567, 28677, 3079}}, +{4135, 16, 7545, {1, 3, 1, 15, 29, 45, 57, 81, 171, 813, 505, 3647, 3913, 5557, 2477, 42429}}, +{4136, 16, 7572, {1, 1, 5, 13, 21, 13, 81, 5, 471, 221, 1563, 1741, 7269, 16327, 22687, 5291}}, +{4137, 16, 7586, {1, 3, 5, 3, 23, 41, 107, 61, 95, 79, 467, 1533, 739, 6791, 26911, 20309}}, +{4138, 16, 7597, {1, 3, 7, 7, 3, 53, 71, 163, 459, 975, 687, 1115, 5241, 299, 26361, 38583}}, +{4139, 16, 7630, {1, 3, 1, 9, 3, 63, 7, 133, 421, 325, 823, 1175, 6201, 5707, 31539, 34645}}, +{4140, 16, 7653, {1, 3, 7, 5, 27, 27, 107, 239, 247, 257, 1367, 3685, 7839, 11693, 3237, 13085}}, +{4141, 16, 7657, {1, 1, 1, 3, 27, 41, 51, 69, 271, 809, 1453, 519, 1301, 2367, 637, 5267}}, +{4142, 16, 7671, {1, 3, 7, 13, 19, 17, 3, 69, 369, 447, 1685, 4075, 6143, 11387, 5411, 29825}}, +{4143, 16, 7672, {1, 1, 3, 1, 25, 61, 79, 163, 1, 905, 1969, 2735, 7709, 16121, 20441, 4543}}, +{4144, 16, 7715, {1, 3, 7, 5, 15, 29, 7, 245, 343, 803, 1719, 3993, 983, 2925, 10393, 6053}}, +{4145, 16, 7717, {1, 3, 1, 7, 17, 55, 63, 29, 441, 387, 885, 3269, 1977, 1927, 3657, 47043}}, +{4146, 16, 7732, {1, 1, 3, 1, 17, 59, 51, 9, 173, 327, 1185, 3241, 3785, 10907, 19429, 22209}}, +{4147, 16, 7735, {1, 1, 3, 13, 21, 57, 125, 5, 359, 437, 1231, 2441, 5813, 9991, 283, 52555}}, +{4148, 16, 7753, {1, 3, 1, 7, 15, 19, 39, 125, 405, 381, 1757, 4075, 5565, 2065, 295, 8867}}, +{4149, 16, 7811, {1, 3, 3, 11, 7, 33, 95, 19, 253, 141, 1093, 1787, 7495, 5229, 15923, 44157}}, +{4150, 16, 7817, {1, 3, 7, 15, 1, 49, 69, 163, 85, 345, 901, 2329, 8003, 9915, 2209, 33979}}, +{4151, 16, 7825, {1, 1, 1, 9, 23, 51, 125, 163, 257, 681, 565, 945, 6375, 8679, 5985, 28919}}, +{4152, 16, 7832, {1, 3, 5, 7, 11, 23, 123, 231, 377, 121, 1519, 2061, 2957, 14537, 17625, 37773}}, +{4153, 16, 7838, {1, 3, 5, 1, 17, 43, 89, 119, 455, 279, 1857, 3405, 5225, 13035, 6055, 30861}}, +{4154, 16, 7841, {1, 3, 7, 15, 31, 63, 25, 225, 3, 527, 355, 1435, 5763, 15203, 26579, 45659}}, +{4155, 16, 7844, {1, 1, 1, 3, 27, 43, 71, 193, 135, 5, 683, 925, 7023, 7711, 2807, 56003}}, +{4156, 16, 7859, {1, 1, 1, 11, 3, 3, 109, 29, 109, 683, 419, 3295, 1961, 5953, 8887, 1523}}, +{4157, 16, 7861, {1, 3, 3, 11, 17, 39, 19, 225, 103, 249, 81, 3875, 4515, 3969, 24745, 60031}}, +{4158, 16, 7873, {1, 1, 3, 3, 3, 23, 15, 149, 305, 399, 1347, 1001, 597, 10003, 22123, 29919}}, +{4159, 16, 7880, {1, 3, 5, 1, 23, 35, 123, 7, 283, 283, 759, 3061, 2011, 7771, 32201, 40667}}, +{4160, 16, 7897, {1, 3, 7, 15, 23, 5, 81, 51, 357, 79, 133, 285, 425, 7743, 13499, 18983}}, +{4161, 16, 7904, {1, 3, 3, 5, 17, 37, 75, 221, 473, 111, 335, 683, 7353, 2283, 13457, 61171}}, +{4162, 16, 7910, {1, 3, 1, 7, 13, 45, 13, 223, 149, 209, 727, 3553, 2573, 177, 855, 44139}}, +{4163, 16, 7960, {1, 1, 3, 15, 23, 5, 103, 139, 17, 29, 1961, 3021, 5745, 12963, 30669, 44171}}, +{4164, 16, 7969, {1, 3, 1, 1, 3, 33, 67, 203, 29, 785, 71, 1693, 4487, 10221, 24523, 51223}}, +{4165, 16, 7970, {1, 1, 5, 7, 7, 27, 17, 183, 229, 669, 1675, 3751, 3233, 10677, 7509, 52313}}, +{4166, 16, 7976, {1, 1, 5, 5, 25, 35, 21, 163, 483, 399, 195, 3465, 6349, 545, 18861, 31759}}, +{4167, 16, 7979, {1, 3, 1, 5, 15, 39, 13, 157, 71, 841, 447, 3625, 53, 12745, 2719, 27617}}, +{4168, 16, 8007, {1, 1, 5, 5, 3, 45, 113, 121, 263, 887, 709, 2189, 3811, 1409, 10451, 48777}}, +{4169, 16, 8041, {1, 1, 5, 15, 9, 41, 31, 95, 377, 215, 437, 3633, 433, 11935, 15283, 55451}}, +{4170, 16, 8047, {1, 1, 7, 7, 13, 23, 79, 3, 451, 409, 1103, 1771, 553, 3175, 28703, 49357}}, +{4171, 16, 8052, {1, 3, 1, 1, 13, 33, 95, 133, 419, 851, 955, 3985, 5869, 14219, 253, 46883}}, +{4172, 16, 8061, {1, 3, 3, 3, 23, 55, 91, 207, 281, 355, 361, 261, 6837, 4401, 25455, 25313}}, +{4173, 16, 8078, {1, 3, 5, 9, 27, 9, 107, 51, 69, 555, 835, 3541, 1827, 5737, 31225, 55619}}, +{4174, 16, 8128, {1, 1, 1, 11, 27, 51, 79, 85, 447, 447, 9, 2803, 377, 4347, 2183, 61257}}, +{4175, 16, 8146, {1, 1, 1, 3, 23, 21, 51, 217, 297, 135, 573, 689, 4947, 14143, 26247, 43061}}, +{4176, 16, 8162, {1, 3, 1, 7, 15, 13, 27, 151, 463, 707, 43, 3641, 4999, 3783, 9083, 22085}}, +{4177, 16, 8250, {1, 3, 3, 5, 3, 1, 15, 119, 343, 605, 105, 2939, 2259, 889, 21759, 34073}}, +{4178, 16, 8270, {1, 1, 1, 7, 3, 63, 103, 1, 235, 317, 263, 2701, 7331, 15921, 17295, 613}}, +{4179, 16, 8294, {1, 1, 7, 3, 19, 3, 5, 17, 105, 491, 755, 233, 5397, 12365, 16325, 59377}}, +{4180, 16, 8324, {1, 3, 3, 15, 15, 27, 37, 151, 481, 949, 1473, 233, 1925, 15471, 24957, 3241}}, +{4181, 16, 8351, {1, 1, 7, 5, 9, 61, 49, 91, 169, 179, 701, 3957, 473, 15087, 6109, 25083}}, +{4182, 16, 8357, {1, 3, 3, 11, 27, 43, 5, 33, 69, 705, 733, 2675, 2677, 4235, 11109, 15557}}, +{4183, 16, 8361, {1, 3, 1, 3, 17, 19, 101, 119, 289, 341, 1395, 563, 6859, 10359, 10077, 26905}}, +{4184, 16, 8364, {1, 1, 1, 15, 21, 47, 41, 145, 439, 583, 1755, 1977, 5235, 15961, 21315, 60577}}, +{4185, 16, 8393, {1, 1, 5, 3, 9, 59, 71, 143, 27, 1007, 313, 1567, 1685, 11063, 28889, 44253}}, +{4186, 16, 8396, {1, 1, 5, 5, 29, 29, 43, 127, 13, 585, 1245, 187, 2697, 8791, 19561, 6463}}, +{4187, 16, 8407, {1, 1, 3, 11, 29, 39, 127, 75, 23, 521, 421, 3115, 139, 5429, 23341, 58035}}, +{4188, 16, 8413, {1, 1, 3, 1, 27, 35, 27, 9, 185, 653, 887, 2715, 3775, 1753, 22105, 62095}}, +{4189, 16, 8414, {1, 1, 5, 5, 5, 63, 23, 31, 317, 1001, 1751, 1185, 7933, 525, 30501, 15565}}, +{4190, 16, 8432, {1, 1, 1, 5, 9, 27, 79, 91, 453, 995, 1041, 3213, 8027, 5855, 7435, 64079}}, +{4191, 16, 8435, {1, 1, 3, 11, 1, 51, 27, 195, 139, 41, 1891, 1437, 1033, 11671, 3235, 35083}}, +{4192, 16, 8441, {1, 3, 1, 3, 11, 25, 33, 249, 373, 497, 1631, 293, 3657, 10741, 15831, 59545}}, +{4193, 16, 8447, {1, 1, 1, 1, 15, 63, 13, 165, 113, 559, 1615, 3579, 1993, 1907, 22335, 47791}}, +{4194, 16, 8449, {1, 1, 3, 15, 13, 49, 63, 235, 31, 811, 1729, 221, 5143, 11547, 30029, 52003}}, +{4195, 16, 8456, {1, 1, 5, 13, 29, 61, 25, 221, 421, 221, 583, 373, 2341, 7493, 13981, 54141}}, +{4196, 16, 8485, {1, 1, 5, 11, 21, 49, 71, 249, 237, 369, 1273, 1067, 4411, 409, 7219, 52933}}, +{4197, 16, 8504, {1, 3, 1, 1, 13, 23, 53, 15, 137, 553, 401, 2247, 5591, 14021, 445, 20433}}, +{4198, 16, 8512, {1, 1, 7, 7, 7, 23, 19, 189, 119, 643, 847, 2123, 5343, 11839, 4575, 60461}}, +{4199, 16, 8532, {1, 1, 5, 5, 11, 19, 111, 219, 185, 499, 595, 723, 3519, 10891, 27603, 29261}}, +{4200, 16, 8551, {1, 3, 3, 1, 9, 13, 95, 227, 459, 133, 1535, 3481, 7187, 14797, 16511, 6737}}, +{4201, 16, 8560, {1, 1, 7, 7, 19, 57, 117, 7, 455, 941, 455, 797, 6313, 10071, 18651, 25013}}, +{4202, 16, 8566, {1, 3, 7, 3, 25, 25, 79, 19, 383, 971, 1625, 2803, 2461, 633, 32317, 48407}}, +{4203, 16, 8581, {1, 1, 7, 7, 25, 43, 93, 135, 155, 685, 2001, 3007, 7315, 15555, 30401, 36291}}, +{4204, 16, 8609, {1, 1, 1, 5, 13, 33, 123, 221, 341, 105, 1075, 3125, 5323, 14293, 29875, 52215}}, +{4205, 16, 8639, {1, 1, 3, 9, 29, 51, 25, 59, 171, 563, 1695, 2845, 6067, 10671, 2909, 33977}}, +{4206, 16, 8641, {1, 3, 3, 7, 25, 21, 39, 65, 485, 949, 1773, 2775, 6019, 14587, 6715, 54793}}, +{4207, 16, 8671, {1, 1, 7, 11, 17, 57, 125, 17, 111, 167, 289, 3939, 7357, 2289, 1717, 45225}}, +{4208, 16, 8695, {1, 1, 7, 7, 21, 55, 3, 139, 471, 747, 1437, 1353, 7657, 13133, 14193, 38191}}, +{4209, 16, 8701, {1, 3, 5, 7, 25, 57, 55, 17, 315, 159, 437, 933, 7493, 6025, 2775, 24287}}, +{4210, 16, 8711, {1, 1, 7, 1, 15, 45, 67, 191, 355, 681, 1763, 1237, 105, 1425, 26089, 42879}}, +{4211, 16, 8739, {1, 1, 5, 13, 13, 53, 25, 127, 103, 155, 935, 2561, 475, 4341, 30541, 43835}}, +{4212, 16, 8763, {1, 1, 5, 15, 27, 59, 99, 173, 189, 41, 105, 3287, 4071, 15005, 18301, 34487}}, +{4213, 16, 8778, {1, 1, 5, 11, 21, 9, 57, 115, 495, 561, 579, 397, 3049, 2007, 5041, 37345}}, +{4214, 16, 8783, {1, 1, 5, 11, 15, 11, 101, 241, 69, 483, 1007, 4069, 5221, 5323, 20177, 24397}}, +{4215, 16, 8785, {1, 1, 1, 7, 29, 15, 119, 161, 21, 517, 847, 2217, 4487, 4817, 24053, 21683}}, +{4216, 16, 8797, {1, 3, 1, 3, 3, 51, 85, 63, 345, 799, 1699, 3961, 7109, 3931, 28173, 46851}}, +{4217, 16, 8802, {1, 1, 5, 7, 15, 25, 97, 139, 331, 969, 1129, 2451, 3107, 12235, 12949, 29837}}, +{4218, 16, 8816, {1, 3, 7, 1, 19, 21, 51, 155, 295, 565, 29, 2107, 341, 14611, 15281, 50727}}, +{4219, 16, 8828, {1, 3, 1, 11, 3, 37, 13, 217, 429, 217, 301, 1217, 5655, 13845, 32465, 23559}}, +{4220, 16, 8837, {1, 3, 3, 9, 9, 57, 79, 231, 433, 703, 699, 3813, 7035, 5885, 19185, 52551}}, +{4221, 16, 8852, {1, 1, 1, 5, 19, 17, 31, 209, 49, 515, 279, 909, 5881, 2673, 23635, 23101}}, +{4222, 16, 8859, {1, 1, 5, 7, 3, 3, 119, 139, 245, 775, 1009, 1157, 1405, 9737, 17671, 62981}}, +{4223, 16, 8889, {1, 3, 7, 11, 17, 21, 105, 21, 67, 871, 233, 3607, 571, 9141, 9751, 28093}}, +{4224, 16, 8900, {1, 1, 3, 13, 5, 53, 91, 181, 143, 375, 1113, 705, 837, 10505, 11459, 57753}}, +{4225, 16, 8903, {1, 3, 5, 11, 9, 19, 107, 229, 305, 107, 1027, 691, 4677, 8987, 7931, 951}}, +{4226, 16, 8909, {1, 1, 7, 9, 9, 17, 39, 195, 103, 315, 517, 123, 7167, 7039, 3571, 40469}}, +{4227, 16, 8910, {1, 1, 1, 5, 1, 21, 121, 53, 427, 111, 717, 1065, 2843, 5873, 28411, 42443}}, +{4228, 16, 8922, {1, 1, 3, 11, 27, 7, 37, 255, 429, 363, 997, 2429, 6871, 1271, 29375, 62897}}, +{4229, 16, 8924, {1, 3, 3, 13, 23, 23, 123, 119, 213, 51, 771, 1603, 1621, 1497, 23667, 13443}}, +{4230, 16, 8955, {1, 1, 3, 13, 17, 21, 81, 17, 211, 815, 1751, 3875, 4001, 3927, 6185, 28753}}, +{4231, 16, 8958, {1, 3, 1, 5, 13, 41, 23, 187, 475, 353, 1307, 543, 5077, 3459, 20553, 29119}}, +{4232, 16, 8980, {1, 1, 1, 7, 1, 39, 3, 247, 375, 101, 81, 1515, 1079, 15307, 18865, 63115}}, +{4233, 16, 8994, {1, 1, 5, 9, 23, 7, 61, 45, 379, 553, 435, 1805, 4147, 2289, 22081, 40041}}, +{4234, 16, 9006, {1, 1, 7, 3, 17, 13, 107, 169, 119, 981, 1825, 3329, 7779, 12245, 28367, 6749}}, +{4235, 16, 9017, {1, 3, 3, 13, 29, 13, 93, 155, 331, 507, 1073, 279, 6615, 14077, 3005, 10171}}, +{4236, 16, 9032, {1, 1, 5, 7, 29, 23, 81, 181, 321, 921, 1531, 2607, 7291, 1255, 29889, 30095}}, +{4237, 16, 9040, {1, 1, 1, 5, 7, 1, 9, 231, 203, 559, 243, 3999, 3649, 7939, 14729, 34771}}, +{4238, 16, 9061, {1, 3, 7, 3, 17, 29, 79, 251, 305, 641, 1125, 1155, 7139, 6721, 43, 34927}}, +{4239, 16, 9066, {1, 1, 5, 13, 21, 39, 55, 103, 143, 487, 849, 1111, 1105, 8483, 5417, 10521}}, +{4240, 16, 9071, {1, 1, 5, 5, 19, 5, 111, 49, 95, 917, 843, 2539, 6831, 9019, 16045, 59363}}, +{4241, 16, 9076, {1, 3, 3, 11, 7, 45, 87, 51, 49, 615, 603, 1623, 5351, 11939, 21945, 40539}}, +{4242, 16, 9086, {1, 1, 5, 9, 9, 33, 113, 37, 163, 853, 1313, 4021, 965, 11465, 8573, 24425}}, +{4243, 16, 9104, {1, 3, 3, 9, 17, 19, 121, 95, 93, 441, 1951, 3335, 6279, 16087, 14763, 60771}}, +{4244, 16, 9150, {1, 3, 3, 9, 13, 15, 19, 129, 257, 641, 533, 1667, 5959, 2259, 10439, 29745}}, +{4245, 16, 9161, {1, 1, 7, 7, 11, 31, 45, 247, 233, 101, 899, 2033, 7803, 11423, 30645, 7723}}, +{4246, 16, 9164, {1, 3, 5, 11, 23, 3, 69, 79, 319, 125, 1463, 2047, 7311, 5819, 445, 13725}}, +{4247, 16, 9185, {1, 1, 1, 3, 7, 43, 83, 89, 467, 709, 1993, 3773, 7805, 305, 15701, 51101}}, +{4248, 16, 9188, {1, 1, 7, 5, 19, 53, 77, 237, 27, 853, 1003, 2041, 5739, 4663, 9783, 23761}}, +{4249, 16, 9212, {1, 1, 3, 7, 19, 31, 71, 33, 479, 693, 1503, 9, 2779, 1481, 9413, 36227}}, +{4250, 16, 9230, {1, 3, 1, 11, 9, 23, 1, 99, 247, 33, 1987, 1577, 8029, 7785, 29947, 38751}}, +{4251, 16, 9242, {1, 1, 1, 3, 15, 57, 23, 53, 431, 553, 1433, 2447, 1871, 10701, 30961, 12281}}, +{4252, 16, 9247, {1, 3, 5, 9, 11, 49, 123, 91, 87, 155, 301, 3339, 6183, 15895, 17309, 45927}}, +{4253, 16, 9260, {1, 1, 1, 9, 9, 41, 79, 123, 261, 547, 1931, 2553, 7405, 14431, 24079, 20769}}, +{4254, 16, 9280, {1, 3, 1, 3, 31, 17, 17, 137, 419, 591, 1693, 3977, 861, 16025, 189, 60995}}, +{4255, 16, 9300, {1, 3, 7, 11, 19, 47, 107, 243, 87, 135, 507, 189, 1397, 3841, 22999, 50781}}, +{4256, 16, 9313, {1, 3, 5, 5, 15, 11, 19, 239, 133, 295, 673, 2389, 4753, 4363, 21669, 25579}}, +{4257, 16, 9325, {1, 3, 5, 7, 19, 43, 55, 129, 239, 89, 1731, 1381, 5483, 11773, 9201, 17745}}, +{4258, 16, 9343, {1, 3, 1, 13, 3, 15, 77, 131, 417, 845, 1953, 2871, 1789, 10343, 11363, 20699}}, +{4259, 16, 9349, {1, 3, 7, 1, 9, 43, 55, 223, 239, 317, 1951, 2725, 209, 3853, 2201, 6839}}, +{4260, 16, 9354, {1, 3, 1, 3, 7, 35, 29, 21, 149, 779, 467, 65, 811, 4859, 14021, 38429}}, +{4261, 16, 9367, {1, 3, 7, 1, 19, 31, 97, 9, 11, 415, 689, 1513, 2475, 5039, 5669, 65103}}, +{4262, 16, 9368, {1, 3, 3, 3, 11, 25, 37, 247, 189, 911, 429, 2395, 3653, 79, 28115, 23513}}, +{4263, 16, 9455, {1, 1, 5, 5, 5, 27, 25, 45, 291, 455, 741, 2259, 8131, 11779, 14693, 58729}}, +{4264, 16, 9458, {1, 3, 3, 7, 21, 33, 67, 49, 153, 491, 1811, 1955, 925, 15555, 13801, 48717}}, +{4265, 16, 9469, {1, 3, 1, 3, 11, 53, 105, 129, 457, 225, 497, 1123, 973, 2901, 26655, 3643}}, +{4266, 16, 9481, {1, 1, 7, 13, 29, 49, 71, 37, 321, 865, 735, 357, 7629, 6011, 28221, 39041}}, +{4267, 16, 9482, {1, 3, 5, 3, 19, 59, 65, 199, 69, 391, 1735, 3075, 287, 16213, 3211, 22425}}, +{4268, 16, 9495, {1, 1, 1, 5, 15, 61, 67, 255, 5, 689, 759, 155, 7245, 5881, 21685, 3863}}, +{4269, 16, 9526, {1, 1, 3, 11, 23, 63, 69, 241, 359, 735, 371, 603, 2707, 15833, 31795, 14901}}, +{4270, 16, 9530, {1, 1, 1, 7, 19, 33, 83, 19, 13, 667, 317, 3891, 5497, 8213, 4913, 22387}}, +{4271, 16, 9558, {1, 3, 5, 9, 13, 21, 11, 187, 249, 647, 349, 605, 2199, 5033, 29773, 48953}}, +{4272, 16, 9562, {1, 3, 3, 11, 3, 3, 93, 235, 441, 933, 383, 2007, 4015, 4175, 3937, 20623}}, +{4273, 16, 9573, {1, 3, 7, 13, 3, 61, 87, 219, 263, 651, 1343, 2709, 31, 16249, 4749, 28909}}, +{4274, 16, 9583, {1, 3, 1, 1, 17, 19, 101, 107, 499, 127, 13, 2123, 5597, 3751, 14527, 12009}}, +{4275, 16, 9595, {1, 3, 5, 13, 27, 57, 1, 195, 107, 947, 1475, 2831, 6449, 16117, 20555, 61513}}, +{4276, 16, 9597, {1, 3, 1, 9, 9, 47, 89, 187, 401, 299, 637, 197, 1235, 12655, 25025, 24443}}, +{4277, 16, 9616, {1, 1, 3, 5, 9, 57, 33, 41, 451, 983, 391, 2707, 705, 13913, 28843, 34091}}, +{4278, 16, 9638, {1, 3, 5, 3, 29, 19, 61, 31, 349, 253, 1267, 3345, 2151, 11309, 19623, 62407}}, +{4279, 16, 9649, {1, 1, 1, 3, 11, 37, 31, 59, 1, 253, 103, 2811, 1871, 4239, 26311, 32507}}, +{4280, 16, 9662, {1, 1, 5, 7, 7, 7, 69, 63, 281, 901, 1785, 2131, 4265, 253, 13997, 30177}}, +{4281, 16, 9691, {1, 3, 1, 11, 3, 27, 111, 67, 411, 751, 241, 293, 6271, 4187, 22119, 63737}}, +{4282, 16, 9700, {1, 3, 5, 5, 27, 19, 45, 203, 81, 59, 1839, 935, 4847, 1869, 12037, 30971}}, +{4283, 16, 9703, {1, 1, 3, 9, 19, 25, 9, 27, 373, 875, 1735, 689, 2957, 7873, 29771, 4093}}, +{4284, 16, 9710, {1, 1, 7, 11, 13, 39, 11, 129, 53, 433, 1731, 899, 5855, 10221, 24165, 50205}}, +{4285, 16, 9721, {1, 3, 1, 15, 25, 31, 85, 49, 325, 299, 183, 287, 2425, 15353, 25999, 59129}}, +{4286, 16, 9724, {1, 1, 5, 5, 17, 25, 23, 5, 287, 677, 591, 981, 429, 15297, 14573, 61095}}, +{4287, 16, 9727, {1, 1, 5, 15, 5, 15, 67, 195, 209, 341, 1621, 1379, 3031, 5469, 31563, 49291}}, +{4288, 16, 9743, {1, 1, 1, 1, 25, 33, 61, 201, 15, 125, 969, 1965, 2021, 10253, 23801, 28165}}, +{4289, 16, 9779, {1, 1, 5, 5, 13, 17, 5, 245, 11, 133, 287, 1929, 4331, 15919, 29663, 10243}}, +{4290, 16, 9785, {1, 1, 7, 9, 19, 33, 39, 191, 489, 631, 69, 1883, 2183, 14993, 32715, 62217}}, +{4291, 16, 9811, {1, 3, 3, 13, 23, 61, 103, 193, 501, 431, 437, 417, 6557, 11701, 27577, 42943}}, +{4292, 16, 9820, {1, 3, 3, 9, 9, 27, 69, 247, 469, 841, 733, 813, 2673, 7145, 5385, 44917}}, +{4293, 16, 9827, {1, 1, 7, 9, 5, 13, 19, 71, 323, 923, 1885, 3031, 4507, 13787, 14149, 1483}}, +{4294, 16, 9851, {1, 3, 1, 5, 1, 15, 89, 229, 301, 733, 1343, 2415, 6463, 1875, 9293, 6037}}, +{4295, 16, 9854, {1, 3, 1, 5, 29, 57, 67, 121, 311, 441, 1079, 1963, 7137, 6745, 9893, 22811}}, +{4296, 16, 9863, {1, 1, 7, 7, 25, 13, 27, 61, 331, 361, 481, 3783, 3061, 7827, 18885, 27583}}, +{4297, 16, 9884, {1, 3, 1, 5, 17, 47, 19, 83, 309, 65, 1573, 3437, 5623, 12691, 21075, 27789}}, +{4298, 16, 9894, {1, 1, 7, 9, 13, 51, 7, 209, 131, 111, 1143, 53, 7277, 9297, 20869, 33121}}, +{4299, 16, 9903, {1, 1, 3, 9, 13, 17, 57, 89, 239, 281, 775, 333, 5631, 2805, 10195, 9665}}, +{4300, 16, 9908, {1, 1, 3, 7, 19, 39, 71, 79, 63, 551, 103, 3169, 2761, 13929, 20751, 18951}}, +{4301, 16, 9912, {1, 1, 7, 11, 5, 23, 7, 249, 447, 483, 433, 3117, 1421, 14991, 5397, 19813}}, +{4302, 16, 9925, {1, 3, 1, 13, 3, 9, 109, 241, 181, 33, 853, 3939, 3751, 2151, 28375, 64443}}, +{4303, 16, 9926, {1, 1, 7, 7, 3, 33, 65, 211, 251, 631, 1819, 3913, 3353, 12975, 19117, 51515}}, +{4304, 16, 9971, {1, 1, 1, 13, 3, 21, 9, 203, 223, 229, 1399, 117, 6297, 11535, 16383, 12541}}, +{4305, 16, 9973, {1, 1, 5, 7, 25, 9, 53, 27, 497, 103, 1915, 2179, 3679, 11375, 18907, 63385}}, +{4306, 16, 9977, {1, 3, 1, 5, 1, 53, 91, 169, 87, 387, 377, 1121, 7241, 5133, 1949, 13433}}, +{4307, 16, 10021, {1, 1, 1, 3, 27, 35, 61, 189, 241, 445, 287, 325, 127, 2363, 30663, 43557}}, +{4308, 16, 10039, {1, 3, 1, 3, 17, 47, 59, 237, 213, 979, 807, 85, 4621, 9915, 13631, 55657}}, +{4309, 16, 10048, {1, 3, 5, 7, 27, 5, 101, 89, 495, 675, 1181, 2295, 1913, 3731, 32639, 58297}}, +{4310, 16, 10051, {1, 3, 3, 11, 5, 41, 49, 229, 93, 659, 927, 3425, 4083, 11859, 10603, 20631}}, +{4311, 16, 10065, {1, 3, 5, 11, 31, 51, 67, 69, 253, 497, 1665, 1985, 5439, 15999, 4175, 62175}}, +{4312, 16, 10071, {1, 1, 7, 11, 1, 21, 95, 19, 205, 513, 1329, 1821, 1251, 2381, 32623, 23923}}, +{4313, 16, 10072, {1, 1, 5, 13, 3, 1, 29, 175, 315, 865, 599, 1695, 1391, 2313, 31035, 19159}}, +{4314, 16, 10101, {1, 3, 3, 1, 3, 45, 109, 93, 481, 285, 869, 3441, 3715, 1355, 9581, 50173}}, +{4315, 16, 10106, {1, 3, 7, 7, 15, 35, 107, 107, 315, 213, 281, 2073, 4689, 5877, 31, 40967}}, +{4316, 16, 10130, {1, 1, 3, 11, 11, 3, 73, 41, 79, 37, 481, 1993, 931, 7677, 11321, 45735}}, +{4317, 16, 10136, {1, 1, 7, 1, 15, 21, 65, 237, 263, 849, 863, 4039, 3171, 13381, 30373, 51639}}, +{4318, 16, 10148, {1, 1, 1, 3, 21, 57, 113, 3, 487, 41, 1277, 633, 2839, 4977, 14537, 31749}}, +{4319, 16, 10155, {1, 1, 5, 1, 1, 55, 71, 181, 147, 895, 1839, 2157, 3187, 6403, 30367, 48915}}, +{4320, 16, 10157, {1, 1, 5, 3, 9, 17, 19, 127, 115, 875, 831, 2439, 7475, 1921, 18657, 27709}}, +{4321, 16, 10160, {1, 3, 3, 13, 29, 11, 35, 81, 291, 483, 625, 3957, 6017, 12543, 18773, 2471}}, +{4322, 16, 10166, {1, 3, 3, 13, 11, 39, 7, 85, 493, 209, 819, 3277, 4275, 8997, 22943, 33199}}, +{4323, 16, 10183, {1, 1, 1, 7, 11, 25, 1, 57, 505, 135, 1713, 3051, 5893, 10711, 10681, 12235}}, +{4324, 16, 10192, {1, 3, 5, 11, 23, 33, 13, 107, 289, 251, 235, 1747, 4097, 12237, 17559, 5063}}, +{4325, 16, 10225, {1, 3, 3, 9, 19, 17, 23, 45, 297, 147, 1301, 2057, 7871, 9971, 1965, 62449}}, +{4326, 16, 10241, {1, 1, 7, 3, 17, 21, 19, 203, 289, 897, 1967, 3519, 3261, 8199, 24181, 23273}}, +{4327, 16, 10247, {1, 1, 7, 11, 1, 17, 25, 63, 509, 969, 47, 1329, 701, 5227, 419, 14839}}, +{4328, 16, 10284, {1, 3, 5, 11, 1, 41, 81, 157, 395, 97, 1919, 3043, 6015, 15, 23733, 55485}}, +{4329, 16, 10304, {1, 1, 3, 11, 17, 37, 17, 181, 179, 297, 1007, 1559, 6275, 11645, 7535, 28941}}, +{4330, 16, 10322, {1, 3, 7, 15, 5, 47, 31, 237, 215, 563, 207, 1867, 6635, 6857, 11837, 22865}}, +{4331, 16, 10331, {1, 3, 1, 7, 7, 39, 51, 179, 57, 987, 893, 2715, 1045, 5799, 19805, 54275}}, +{4332, 16, 10333, {1, 1, 7, 15, 25, 9, 127, 243, 323, 1013, 929, 2891, 7549, 1071, 17663, 15247}}, +{4333, 16, 10340, {1, 1, 1, 5, 25, 23, 101, 9, 371, 89, 1749, 3559, 8071, 13887, 14807, 42825}}, +{4334, 16, 10347, {1, 3, 3, 11, 21, 41, 3, 77, 3, 709, 1745, 3615, 4141, 5275, 28329, 59739}}, +{4335, 16, 10357, {1, 1, 7, 13, 1, 11, 73, 183, 363, 241, 863, 3983, 3235, 293, 649, 441}}, +{4336, 16, 10371, {1, 1, 5, 3, 13, 27, 13, 191, 57, 639, 1803, 2353, 3143, 12763, 5771, 36155}}, +{4337, 16, 10386, {1, 1, 5, 3, 1, 53, 85, 45, 283, 823, 1213, 3261, 4599, 13267, 4613, 12657}}, +{4338, 16, 10404, {1, 3, 5, 15, 27, 49, 59, 123, 357, 527, 337, 2751, 3999, 8525, 12501, 40621}}, +{4339, 16, 10414, {1, 1, 1, 7, 1, 55, 85, 17, 447, 599, 1315, 2313, 1649, 907, 25647, 3251}}, +{4340, 16, 10422, {1, 3, 5, 13, 9, 1, 37, 121, 143, 1, 631, 2273, 1673, 3649, 27533, 28731}}, +{4341, 16, 10448, {1, 1, 7, 13, 9, 31, 57, 249, 397, 815, 501, 895, 1217, 11387, 8635, 65193}}, +{4342, 16, 10451, {1, 1, 5, 5, 9, 35, 95, 193, 133, 513, 1929, 3841, 3063, 2383, 24413, 51185}}, +{4343, 16, 10473, {1, 1, 1, 13, 3, 49, 45, 191, 15, 181, 1819, 3741, 1227, 12775, 9461, 44951}}, +{4344, 16, 10479, {1, 1, 1, 1, 3, 45, 121, 19, 269, 829, 517, 3913, 183, 11019, 24969, 21973}}, +{4345, 16, 10501, {1, 1, 5, 11, 31, 39, 125, 189, 401, 57, 1557, 1727, 1415, 4025, 30353, 36589}}, +{4346, 16, 10530, {1, 1, 3, 9, 3, 55, 125, 187, 409, 499, 1853, 2781, 4323, 16159, 16345, 34659}}, +{4347, 16, 10542, {1, 3, 5, 11, 31, 5, 125, 137, 197, 475, 2003, 617, 1289, 8365, 28981, 57537}}, +{4348, 16, 10544, {1, 1, 1, 5, 19, 29, 83, 127, 311, 177, 1635, 2187, 5377, 12841, 7591, 6095}}, +{4349, 16, 10571, {1, 3, 5, 5, 21, 39, 65, 197, 115, 411, 1457, 3011, 7021, 14119, 61, 21107}}, +{4350, 16, 10628, {1, 3, 3, 9, 19, 57, 99, 23, 451, 507, 973, 415, 7123, 11367, 29767, 23763}}, +{4351, 16, 10643, {1, 1, 5, 7, 29, 23, 47, 11, 267, 873, 591, 373, 7097, 3783, 23289, 5547}}, +{4352, 16, 10673, {1, 1, 5, 15, 7, 7, 7, 91, 389, 841, 1995, 459, 7013, 3109, 23615, 21519}}, +{4353, 16, 10683, {1, 3, 1, 1, 13, 25, 87, 235, 193, 201, 713, 1633, 3117, 13609, 17211, 573}}, +{4354, 16, 10736, {1, 1, 1, 9, 27, 53, 105, 39, 217, 781, 997, 661, 6243, 6427, 17739, 62239}}, +{4355, 16, 10795, {1, 1, 7, 3, 3, 49, 75, 125, 239, 195, 215, 2983, 1185, 4743, 12069, 55509}}, +{4356, 16, 10797, {1, 1, 5, 15, 31, 11, 9, 91, 253, 361, 571, 1589, 2425, 4279, 3765, 46519}}, +{4357, 16, 10815, {1, 1, 3, 3, 21, 49, 49, 213, 399, 253, 1565, 2447, 453, 7957, 24799, 58503}}, +{4358, 16, 10817, {1, 1, 7, 1, 5, 59, 81, 97, 209, 477, 17, 3085, 3655, 599, 24011, 14981}}, +{4359, 16, 10842, {1, 3, 3, 13, 19, 49, 7, 35, 111, 169, 629, 1587, 5345, 13699, 21187, 30199}}, +{4360, 16, 10844, {1, 1, 3, 13, 19, 59, 73, 127, 475, 509, 9, 2661, 711, 15835, 31429, 33885}}, +{4361, 16, 10863, {1, 3, 5, 3, 31, 15, 43, 185, 29, 897, 1041, 1057, 6285, 13925, 4023, 25741}}, +{4362, 16, 10899, {1, 3, 5, 11, 1, 33, 63, 155, 175, 501, 1147, 3395, 3285, 16237, 22315, 50945}}, +{4363, 16, 10902, {1, 3, 3, 3, 5, 13, 77, 227, 85, 139, 139, 1, 7147, 2023, 32705, 38753}}, +{4364, 16, 10917, {1, 3, 5, 11, 31, 59, 35, 179, 489, 537, 1537, 2877, 4937, 10825, 2445, 34907}}, +{4365, 16, 10953, {1, 3, 7, 11, 17, 17, 95, 223, 165, 925, 829, 3971, 1, 7393, 8825, 25705}}, +{4366, 16, 10967, {1, 1, 1, 1, 25, 17, 25, 143, 385, 907, 1381, 1823, 3819, 8475, 5321, 12037}}, +{4367, 16, 11002, {1, 1, 5, 11, 7, 47, 97, 85, 105, 23, 263, 1329, 1905, 12121, 29635, 41249}}, +{4368, 16, 11024, {1, 1, 7, 11, 1, 51, 13, 13, 5, 143, 83, 3831, 959, 6083, 16997, 59887}}, +{4369, 16, 11029, {1, 3, 3, 13, 25, 9, 31, 5, 215, 791, 767, 1733, 2715, 14283, 25795, 54249}}, +{4370, 16, 11030, {1, 3, 7, 5, 11, 19, 125, 81, 71, 131, 1869, 1111, 6763, 5275, 23095, 1139}}, +{4371, 16, 11043, {1, 3, 3, 9, 25, 43, 119, 49, 133, 217, 521, 1367, 5867, 6829, 29871, 60383}}, +{4372, 16, 11087, {1, 1, 7, 9, 5, 11, 59, 157, 279, 301, 481, 3273, 7943, 3273, 27783, 17271}}, +{4373, 16, 11106, {1, 3, 3, 13, 11, 57, 13, 5, 435, 169, 541, 517, 2359, 9121, 27911, 15679}}, +{4374, 16, 11130, {1, 1, 3, 9, 9, 55, 65, 113, 21, 807, 373, 2825, 1527, 15565, 8339, 7227}}, +{4375, 16, 11156, {1, 3, 5, 9, 1, 1, 49, 255, 477, 821, 1647, 713, 6841, 3187, 22649, 51469}}, +{4376, 16, 11176, {1, 3, 3, 11, 13, 43, 63, 139, 71, 809, 993, 2429, 833, 6545, 10987, 39567}}, +{4377, 16, 11221, {1, 1, 1, 9, 19, 23, 47, 199, 191, 827, 391, 837, 1209, 2493, 24071, 46589}}, +{4378, 16, 11267, {1, 1, 5, 13, 25, 51, 39, 43, 103, 899, 1729, 2389, 2965, 189, 3063, 50609}}, +{4379, 16, 11282, {1, 1, 3, 1, 5, 29, 105, 201, 503, 199, 507, 205, 2389, 695, 15233, 50353}}, +{4380, 16, 11294, {1, 3, 1, 7, 19, 53, 45, 21, 89, 545, 1885, 765, 6673, 13485, 9987, 2609}}, +{4381, 16, 11332, {1, 3, 7, 13, 17, 7, 59, 23, 159, 309, 1407, 2483, 1807, 15733, 5603, 52989}}, +{4382, 16, 11353, {1, 1, 1, 11, 13, 19, 123, 185, 413, 745, 361, 2391, 6697, 2281, 11999, 13175}}, +{4383, 16, 11369, {1, 3, 5, 5, 11, 49, 123, 173, 325, 667, 895, 1067, 8121, 10577, 30561, 17391}}, +{4384, 16, 11372, {1, 1, 5, 5, 23, 21, 77, 223, 281, 161, 141, 345, 3879, 11393, 26907, 53805}}, +{4385, 16, 11375, {1, 3, 3, 5, 3, 47, 17, 109, 185, 139, 957, 1417, 4553, 6101, 29537, 34821}}, +{4386, 16, 11413, {1, 1, 5, 3, 29, 49, 89, 61, 45, 593, 269, 1483, 2971, 991, 21239, 29301}}, +{4387, 16, 11429, {1, 1, 3, 13, 29, 45, 33, 253, 291, 783, 737, 2363, 2651, 8627, 21785, 58419}}, +{4388, 16, 11430, {1, 3, 7, 15, 29, 15, 81, 185, 363, 681, 1737, 3789, 4365, 3295, 23205, 4457}}, +{4389, 16, 11444, {1, 3, 3, 11, 15, 39, 67, 167, 197, 357, 871, 2201, 5377, 6299, 20873, 59283}}, +{4390, 16, 11462, {1, 3, 3, 5, 9, 15, 127, 49, 21, 719, 357, 425, 5507, 9639, 275, 47503}}, +{4391, 16, 11465, {1, 1, 7, 1, 13, 63, 111, 121, 21, 481, 247, 3147, 5783, 8947, 20809, 42039}}, +{4392, 16, 11471, {1, 1, 3, 3, 31, 33, 9, 69, 187, 517, 2029, 2205, 7661, 4757, 27525, 9665}}, +{4393, 16, 11473, {1, 1, 1, 13, 7, 41, 103, 161, 233, 221, 693, 213, 4609, 7771, 28703, 17407}}, +{4394, 16, 11495, {1, 3, 7, 15, 31, 47, 27, 111, 479, 1003, 1687, 347, 2179, 11861, 8169, 31941}}, +{4395, 16, 11499, {1, 1, 3, 5, 5, 63, 25, 125, 199, 147, 589, 3565, 3449, 8331, 8923, 31207}}, +{4396, 16, 11519, {1, 1, 3, 11, 19, 25, 77, 99, 299, 19, 1641, 2193, 4299, 3635, 20621, 267}}, +{4397, 16, 11562, {1, 3, 7, 11, 9, 59, 7, 167, 1, 775, 29, 1935, 3723, 11835, 2887, 65285}}, +{4398, 16, 11576, {1, 1, 7, 13, 5, 47, 101, 155, 235, 93, 465, 3581, 1837, 7675, 10789, 45167}}, +{4399, 16, 11582, {1, 1, 3, 5, 9, 59, 121, 109, 59, 821, 1625, 343, 1591, 3875, 13729, 56381}}, +{4400, 16, 11596, {1, 1, 1, 9, 27, 53, 93, 215, 133, 561, 39, 2591, 1041, 11913, 24493, 37921}}, +{4401, 16, 11602, {1, 1, 1, 7, 23, 7, 81, 107, 219, 943, 563, 1083, 5803, 5687, 32559, 62727}}, +{4402, 16, 11611, {1, 3, 7, 7, 21, 53, 3, 5, 231, 601, 1561, 103, 3837, 2675, 5263, 23375}}, +{4403, 16, 11627, {1, 1, 3, 13, 15, 27, 89, 7, 251, 887, 951, 3001, 5687, 4921, 5091, 59337}}, +{4404, 16, 11682, {1, 3, 7, 15, 25, 53, 19, 155, 185, 503, 547, 1917, 7633, 15167, 14177, 46761}}, +{4405, 16, 11687, {1, 3, 5, 15, 21, 49, 13, 163, 471, 281, 1141, 3013, 6847, 9261, 15955, 9397}}, +{4406, 16, 11691, {1, 3, 3, 3, 1, 21, 19, 239, 479, 609, 65, 2735, 5337, 6293, 19351, 34135}}, +{4407, 16, 11733, {1, 1, 7, 1, 9, 1, 119, 23, 411, 535, 101, 1597, 2379, 2421, 31471, 36473}}, +{4408, 16, 11747, {1, 3, 1, 11, 31, 63, 17, 225, 45, 409, 59, 3943, 8043, 11759, 10667, 58793}}, +{4409, 16, 11759, {1, 1, 3, 3, 9, 49, 61, 239, 245, 765, 1945, 3567, 5355, 14799, 7141, 59511}}, +{4410, 16, 11778, {1, 3, 7, 9, 3, 33, 103, 99, 35, 799, 1347, 2253, 8189, 14177, 13479, 13749}}, +{4411, 16, 11852, {1, 3, 1, 15, 15, 51, 7, 179, 471, 265, 1571, 2983, 701, 15133, 7885, 29977}}, +{4412, 16, 11857, {1, 1, 5, 9, 15, 37, 49, 213, 113, 729, 1115, 2727, 2635, 8433, 11145, 46779}}, +{4413, 16, 11858, {1, 3, 5, 11, 7, 3, 115, 151, 133, 723, 7, 4063, 5807, 9845, 25829, 29315}}, +{4414, 16, 11893, {1, 3, 5, 9, 25, 55, 17, 135, 145, 379, 1603, 3459, 5773, 6545, 17509, 25847}}, +{4415, 16, 11907, {1, 1, 7, 11, 1, 61, 113, 147, 489, 775, 1347, 2199, 299, 9589, 19931, 1335}}, +{4416, 16, 11928, {1, 3, 1, 3, 1, 7, 27, 243, 355, 425, 1215, 3723, 3489, 9285, 12739, 24797}}, +{4417, 16, 11931, {1, 3, 5, 11, 15, 25, 57, 221, 247, 647, 259, 1665, 7055, 2835, 16411, 42999}}, +{4418, 16, 11933, {1, 1, 3, 7, 9, 25, 61, 233, 73, 235, 1539, 1865, 5671, 1329, 5767, 43039}}, +{4419, 16, 11967, {1, 1, 7, 9, 21, 11, 123, 7, 41, 407, 1485, 1723, 585, 10597, 16215, 63403}}, +{4420, 16, 11976, {1, 1, 5, 7, 27, 9, 123, 101, 273, 673, 1141, 3841, 4041, 13169, 8221, 12915}}, +{4421, 16, 11989, {1, 3, 1, 13, 3, 17, 105, 17, 237, 321, 855, 2821, 2467, 3503, 15187, 1689}}, +{4422, 16, 12003, {1, 1, 5, 5, 19, 23, 9, 205, 87, 153, 1543, 1193, 6619, 6845, 8459, 37533}}, +{4423, 16, 12024, {1, 1, 7, 15, 13, 29, 79, 9, 203, 211, 239, 2349, 3447, 7797, 19311, 58071}}, +{4424, 16, 12030, {1, 3, 5, 11, 5, 49, 71, 151, 333, 895, 1095, 2471, 2477, 14493, 16711, 14393}}, +{4425, 16, 12037, {1, 1, 5, 13, 17, 19, 25, 149, 111, 631, 763, 2535, 3631, 1809, 8163, 18037}}, +{4426, 16, 12044, {1, 3, 3, 13, 23, 61, 25, 179, 351, 247, 1021, 2413, 2585, 3731, 5435, 52723}}, +{4427, 16, 12052, {1, 1, 5, 11, 1, 39, 65, 59, 21, 927, 1989, 2823, 4857, 15521, 30495, 16067}}, +{4428, 16, 12059, {1, 3, 3, 7, 17, 5, 17, 125, 379, 875, 1565, 2435, 933, 6809, 20129, 26339}}, +{4429, 16, 12075, {1, 1, 7, 5, 3, 57, 51, 213, 455, 663, 2007, 3995, 4889, 9527, 23507, 3261}}, +{4430, 16, 12083, {1, 3, 7, 5, 1, 29, 85, 151, 165, 123, 1425, 2851, 4427, 7683, 21085, 28925}}, +{4431, 16, 12117, {1, 1, 5, 3, 11, 33, 127, 3, 41, 591, 1539, 3823, 125, 421, 9051, 55025}}, +{4432, 16, 12138, {1, 3, 1, 5, 7, 9, 69, 35, 59, 477, 1207, 1245, 6423, 11329, 26535, 37621}}, +{4433, 16, 12146, {1, 3, 1, 1, 15, 35, 17, 123, 303, 193, 1489, 2587, 1883, 4063, 1921, 60413}}, +{4434, 16, 12202, {1, 1, 5, 1, 7, 61, 39, 247, 139, 1015, 757, 823, 4757, 9307, 32287, 37241}}, +{4435, 16, 12230, {1, 1, 7, 15, 3, 5, 85, 93, 457, 999, 1331, 919, 5271, 11687, 24233, 38803}}, +{4436, 16, 12254, {1, 3, 3, 9, 5, 43, 37, 13, 505, 603, 1857, 2675, 2017, 9481, 10873, 54755}}, +{4437, 16, 12304, {1, 1, 5, 15, 13, 3, 7, 239, 471, 835, 553, 413, 4029, 8613, 15533, 58987}}, +{4438, 16, 12316, {1, 3, 1, 5, 19, 27, 21, 43, 57, 755, 1245, 2805, 3799, 2013, 21145, 10317}}, +{4439, 16, 12337, {1, 3, 5, 13, 9, 23, 35, 5, 315, 169, 399, 2641, 1525, 10561, 11917, 33009}}, +{4440, 16, 12347, {1, 3, 5, 7, 23, 53, 101, 105, 451, 207, 1271, 3067, 6725, 15525, 7951, 1283}}, +{4441, 16, 12367, {1, 1, 5, 5, 27, 21, 77, 143, 213, 443, 149, 2667, 5269, 10359, 25287, 5843}}, +{4442, 16, 12398, {1, 3, 5, 5, 25, 27, 109, 157, 459, 767, 765, 2667, 1833, 3781, 9077, 64321}}, +{4443, 16, 12421, {1, 3, 3, 13, 31, 25, 97, 237, 279, 431, 1713, 809, 1989, 10431, 5867, 42197}}, +{4444, 16, 12428, {1, 3, 7, 3, 9, 5, 5, 191, 73, 521, 787, 903, 3073, 2067, 24741, 57029}}, +{4445, 16, 12446, {1, 3, 3, 1, 3, 41, 125, 53, 125, 781, 865, 3677, 6279, 357, 10667, 1127}}, +{4446, 16, 12449, {1, 1, 5, 11, 25, 19, 99, 121, 359, 73, 607, 2149, 5739, 15669, 29457, 57549}}, +{4447, 16, 12467, {1, 1, 5, 3, 23, 5, 35, 55, 369, 239, 329, 3057, 3757, 12523, 5017, 52185}}, +{4448, 16, 12479, {1, 3, 3, 13, 17, 61, 69, 165, 267, 323, 2007, 2025, 4423, 15975, 31897, 37013}}, +{4449, 16, 12502, {1, 3, 7, 13, 19, 19, 87, 111, 389, 611, 1523, 963, 4671, 12569, 21839, 10919}}, +{4450, 16, 12521, {1, 1, 1, 3, 1, 27, 13, 227, 29, 457, 221, 127, 5335, 16247, 19559, 19185}}, +{4451, 16, 12553, {1, 3, 5, 7, 29, 21, 23, 157, 197, 87, 1591, 1829, 407, 15885, 14933, 1997}}, +{4452, 16, 12568, {1, 1, 1, 9, 3, 35, 43, 187, 195, 325, 197, 2905, 7323, 1563, 7659, 45185}}, +{4453, 16, 12573, {1, 1, 1, 15, 3, 23, 105, 33, 73, 495, 1409, 2583, 1099, 1041, 28955, 60293}}, +{4454, 16, 12592, {1, 3, 7, 13, 25, 19, 99, 137, 139, 719, 529, 1147, 5813, 11551, 30183, 14593}}, +{4455, 16, 12597, {1, 3, 3, 5, 17, 25, 73, 193, 309, 887, 1655, 1641, 2091, 12087, 21881, 1145}}, +{4456, 16, 12601, {1, 3, 1, 1, 27, 41, 13, 151, 83, 645, 327, 1795, 2717, 12433, 22751, 9823}}, +{4457, 16, 12615, {1, 1, 3, 7, 1, 43, 77, 229, 59, 499, 1883, 135, 3461, 9821, 219, 6111}}, +{4458, 16, 12619, {1, 3, 3, 3, 23, 7, 17, 67, 361, 565, 1621, 3253, 7973, 281, 3209, 48215}}, +{4459, 16, 12694, {1, 1, 3, 7, 31, 15, 97, 141, 197, 883, 1689, 269, 7487, 10403, 18903, 58147}}, +{4460, 16, 12697, {1, 3, 3, 3, 23, 9, 87, 125, 359, 527, 1251, 637, 1145, 12721, 14693, 6021}}, +{4461, 16, 12698, {1, 1, 3, 5, 13, 43, 105, 173, 205, 859, 1237, 1227, 1409, 15513, 25317, 30745}}, +{4462, 16, 12713, {1, 3, 3, 15, 31, 43, 125, 149, 145, 109, 975, 1167, 7629, 8373, 5923, 64117}}, +{4463, 16, 12722, {1, 3, 1, 15, 3, 33, 89, 173, 379, 615, 1401, 1567, 4453, 7461, 32555, 64369}}, +{4464, 16, 12733, {1, 3, 7, 11, 27, 23, 45, 7, 15, 21, 1663, 3327, 5611, 8535, 27669, 25525}}, +{4465, 16, 12736, {1, 1, 3, 15, 15, 61, 127, 145, 151, 41, 629, 767, 5801, 3395, 1157, 30033}}, +{4466, 16, 12790, {1, 1, 1, 5, 9, 63, 73, 9, 299, 237, 369, 1295, 4869, 6821, 19961, 32129}}, +{4467, 16, 12794, {1, 1, 5, 13, 19, 7, 119, 35, 319, 405, 1255, 1299, 4311, 14999, 24567, 4001}}, +{4468, 16, 12803, {1, 1, 1, 13, 9, 39, 13, 207, 355, 691, 37, 3137, 6073, 16179, 28661, 41}}, +{4469, 16, 12815, {1, 1, 3, 7, 21, 3, 123, 27, 187, 183, 769, 2367, 2957, 7065, 17855, 60805}}, +{4470, 16, 12829, {1, 1, 1, 1, 19, 31, 71, 85, 303, 617, 1007, 283, 8087, 11079, 11463, 65295}}, +{4471, 16, 12833, {1, 1, 3, 13, 25, 63, 61, 187, 401, 465, 1485, 801, 3649, 7763, 8495, 54479}}, +{4472, 16, 12840, {1, 3, 7, 3, 13, 51, 41, 119, 311, 699, 1113, 3631, 1981, 3259, 25871, 45659}}, +{4473, 16, 12875, {1, 3, 7, 13, 31, 27, 57, 181, 325, 107, 1745, 635, 3941, 3305, 14563, 29855}}, +{4474, 16, 12877, {1, 3, 7, 15, 5, 55, 5, 147, 365, 485, 1841, 3673, 6513, 11121, 5725, 18027}}, +{4475, 16, 12916, {1, 3, 5, 11, 13, 45, 35, 79, 109, 683, 1171, 3015, 2163, 4823, 4365, 42931}}, +{4476, 16, 12923, {1, 1, 7, 7, 13, 45, 57, 39, 297, 985, 1559, 487, 5071, 2657, 9401, 41889}}, +{4477, 16, 12935, {1, 1, 5, 9, 29, 33, 79, 237, 509, 537, 549, 3657, 7141, 15189, 30853, 36089}}, +{4478, 16, 12949, {1, 3, 5, 7, 31, 15, 75, 73, 237, 273, 865, 743, 2607, 7611, 18441, 12703}}, +{4479, 16, 12954, {1, 1, 1, 9, 27, 9, 35, 137, 265, 181, 1341, 1945, 5615, 161, 18369, 4791}}, +{4480, 16, 12956, {1, 3, 7, 11, 27, 29, 29, 43, 489, 177, 1489, 2927, 623, 14571, 22447, 46905}}, +{4481, 16, 12959, {1, 3, 3, 3, 19, 41, 107, 53, 239, 263, 1433, 1655, 7991, 7405, 2735, 25519}}, +{4482, 16, 12978, {1, 3, 5, 7, 19, 37, 73, 243, 215, 445, 1781, 3223, 187, 8443, 18185, 45093}}, +{4483, 16, 13001, {1, 1, 3, 13, 9, 57, 111, 111, 221, 505, 1261, 3045, 1655, 16247, 21033, 17993}}, +{4484, 16, 13010, {1, 1, 7, 5, 7, 55, 77, 5, 131, 969, 1481, 2883, 2645, 3003, 5601, 37063}}, +{4485, 16, 13043, {1, 1, 5, 15, 29, 55, 39, 197, 349, 29, 341, 67, 1977, 425, 4063, 42705}}, +{4486, 16, 13049, {1, 1, 7, 13, 1, 57, 81, 81, 129, 681, 1407, 2465, 3627, 2325, 31649, 18449}}, +{4487, 16, 13058, {1, 3, 5, 5, 23, 59, 35, 217, 393, 155, 1315, 105, 2285, 5167, 27997, 55193}}, +{4488, 16, 13112, {1, 1, 7, 3, 11, 59, 53, 179, 319, 819, 947, 3881, 765, 4219, 16405, 48055}}, +{4489, 16, 13140, {1, 1, 3, 9, 23, 9, 67, 67, 137, 523, 1585, 2441, 167, 5217, 12031, 14297}}, +{4490, 16, 13149, {1, 1, 5, 13, 31, 63, 121, 91, 439, 917, 203, 1519, 4363, 2391, 25755, 26677}}, +{4491, 16, 13163, {1, 1, 3, 5, 25, 31, 11, 95, 339, 817, 35, 3923, 7365, 10537, 5521, 54579}}, +{4492, 16, 13187, {1, 3, 7, 1, 3, 33, 47, 13, 139, 445, 1357, 3907, 7495, 8789, 26589, 43479}}, +{4493, 16, 13196, {1, 1, 1, 11, 5, 45, 61, 13, 167, 287, 931, 881, 5713, 12937, 12951, 21597}}, +{4494, 16, 13237, {1, 3, 5, 1, 29, 23, 7, 117, 503, 897, 733, 1113, 7205, 11507, 561, 34011}}, +{4495, 16, 13244, {1, 3, 5, 7, 3, 51, 21, 147, 35, 259, 689, 3801, 2481, 9673, 4065, 595}}, +{4496, 16, 13264, {1, 3, 3, 9, 9, 29, 5, 191, 393, 979, 1627, 937, 75, 2339, 24007, 30555}}, +{4497, 16, 13279, {1, 1, 5, 7, 9, 35, 111, 23, 113, 563, 1689, 1575, 6127, 9919, 2555, 52261}}, +{4498, 16, 13292, {1, 3, 1, 5, 31, 21, 117, 159, 473, 279, 1281, 311, 159, 3343, 27761, 59989}}, +{4499, 16, 13295, {1, 1, 5, 1, 23, 31, 67, 241, 401, 69, 933, 777, 267, 12411, 23767, 9047}}, +{4500, 16, 13307, {1, 1, 5, 1, 15, 49, 99, 15, 267, 913, 1581, 3713, 651, 14275, 10103, 57619}}, +{4501, 16, 13312, {1, 3, 5, 9, 19, 23, 95, 5, 449, 153, 1195, 1315, 2347, 12683, 10865, 50703}}, +{4502, 16, 13317, {1, 1, 1, 13, 17, 17, 115, 31, 135, 725, 795, 1695, 6199, 4179, 5223, 48457}}, +{4503, 16, 13327, {1, 3, 5, 15, 31, 15, 3, 247, 385, 269, 1665, 581, 2809, 6333, 7459, 14815}}, +{4504, 16, 13348, {1, 3, 7, 5, 15, 35, 117, 85, 11, 621, 1523, 981, 511, 14113, 4673, 22683}}, +{4505, 16, 13390, {1, 1, 7, 1, 27, 61, 119, 249, 431, 147, 173, 423, 1353, 4747, 12761, 32947}}, +{4506, 16, 13413, {1, 3, 7, 1, 23, 39, 15, 153, 219, 359, 1233, 169, 2817, 11043, 12435, 30135}}, +{4507, 16, 13417, {1, 1, 5, 1, 1, 55, 39, 1, 151, 865, 125, 2351, 6315, 1165, 20163, 43991}}, +{4508, 16, 13418, {1, 1, 3, 9, 25, 41, 115, 221, 129, 265, 1887, 4057, 7523, 13591, 5735, 59645}}, +{4509, 16, 13451, {1, 1, 5, 5, 19, 15, 9, 77, 511, 627, 153, 2015, 247, 15949, 9715, 45411}}, +{4510, 16, 13475, {1, 1, 7, 7, 17, 17, 107, 183, 39, 647, 1339, 3915, 4937, 537, 27011, 58937}}, +{4511, 16, 13482, {1, 3, 3, 13, 3, 3, 69, 201, 431, 65, 683, 121, 7017, 2791, 16713, 62555}}, +{4512, 16, 13510, {1, 3, 7, 3, 7, 41, 117, 237, 23, 757, 545, 3899, 1837, 5555, 7891, 29151}}, +{4513, 16, 13527, {1, 1, 1, 3, 27, 15, 39, 195, 353, 299, 1431, 2279, 1795, 13773, 24915, 49701}}, +{4514, 16, 13543, {1, 1, 5, 5, 7, 7, 125, 5, 401, 523, 1967, 2471, 7279, 7559, 12025, 60599}}, +{4515, 16, 13547, {1, 1, 1, 13, 13, 59, 13, 249, 465, 847, 1483, 975, 7729, 2773, 15745, 51237}}, +{4516, 16, 13627, {1, 1, 7, 9, 31, 41, 115, 141, 247, 355, 1109, 3239, 6495, 4515, 30145, 47705}}, +{4517, 16, 13650, {1, 1, 3, 13, 29, 41, 69, 179, 45, 271, 1909, 3095, 7199, 14049, 9903, 33383}}, +{4518, 16, 13683, {1, 1, 3, 13, 7, 45, 105, 105, 243, 121, 67, 3169, 237, 137, 4175, 54325}}, +{4519, 16, 13696, {1, 3, 3, 11, 19, 51, 93, 155, 79, 579, 1621, 1251, 7639, 15875, 25815, 56063}}, +{4520, 16, 13702, {1, 3, 3, 9, 27, 27, 77, 45, 217, 965, 1045, 875, 4515, 11261, 27859, 757}}, +{4521, 16, 13713, {1, 1, 3, 11, 17, 7, 81, 37, 299, 765, 977, 3371, 3163, 13267, 18345, 9239}}, +{4522, 16, 13739, {1, 1, 1, 3, 15, 23, 115, 11, 183, 511, 557, 3253, 153, 8465, 22659, 42143}}, +{4523, 16, 13749, {1, 1, 5, 13, 17, 61, 127, 219, 225, 981, 615, 731, 4069, 12637, 11601, 38257}}, +{4524, 16, 13767, {1, 1, 5, 3, 29, 3, 73, 79, 393, 779, 823, 2473, 3811, 4417, 9399, 50011}}, +{4525, 16, 13774, {1, 3, 3, 9, 21, 35, 61, 99, 115, 657, 629, 1129, 2355, 12665, 459, 40831}}, +{4526, 16, 13781, {1, 3, 1, 7, 25, 61, 53, 249, 15, 649, 665, 595, 1441, 8035, 5381, 7147}}, +{4527, 16, 13795, {1, 3, 1, 7, 19, 9, 27, 207, 205, 461, 1069, 4039, 6549, 2333, 29, 50067}}, +{4528, 16, 13821, {1, 1, 5, 3, 15, 7, 115, 205, 71, 73, 53, 71, 6049, 15293, 17041, 20313}}, +{4529, 16, 13825, {1, 1, 7, 7, 9, 7, 119, 99, 357, 729, 2041, 3355, 5333, 1263, 30521, 64867}}, +{4530, 16, 13838, {1, 1, 1, 7, 31, 63, 63, 159, 281, 295, 913, 2161, 8033, 13789, 17711, 14915}}, +{4531, 16, 13852, {1, 1, 7, 9, 29, 55, 69, 129, 453, 361, 1883, 17, 1765, 111, 10311, 55019}}, +{4532, 16, 13879, {1, 1, 5, 9, 21, 15, 31, 57, 291, 915, 945, 1775, 5905, 9073, 3271, 15571}}, +{4533, 16, 13888, {1, 1, 1, 7, 21, 11, 1, 9, 167, 143, 1535, 1267, 6675, 13037, 19513, 52027}}, +{4534, 16, 13897, {1, 3, 3, 7, 31, 45, 57, 105, 63, 121, 631, 679, 3873, 16333, 32069, 64725}}, +{4535, 16, 13906, {1, 1, 1, 9, 23, 41, 29, 207, 489, 319, 905, 3147, 4195, 2697, 5281, 1771}}, +{4536, 16, 13939, {1, 1, 1, 9, 25, 33, 57, 201, 405, 111, 407, 3489, 449, 8601, 1273, 42105}}, +{4537, 16, 13962, {1, 1, 1, 3, 19, 45, 123, 159, 237, 173, 781, 787, 7537, 15453, 25567, 53729}}, +{4538, 16, 13981, {1, 1, 7, 3, 29, 9, 89, 207, 345, 685, 1701, 2859, 8065, 9289, 2459, 28367}}, +{4539, 16, 13985, {1, 3, 1, 3, 31, 41, 55, 241, 81, 1001, 595, 1725, 853, 11427, 20617, 1717}}, +{4540, 16, 14020, {1, 1, 3, 3, 9, 45, 121, 69, 177, 1017, 211, 2753, 6923, 1387, 32063, 45337}}, +{4541, 16, 14030, {1, 1, 5, 15, 21, 23, 95, 61, 485, 403, 619, 3035, 4881, 13423, 17815, 35221}}, +{4542, 16, 14041, {1, 1, 3, 3, 3, 59, 23, 69, 77, 309, 227, 2877, 3739, 3539, 20083, 23415}}, +{4543, 16, 14047, {1, 3, 7, 3, 17, 43, 95, 239, 223, 353, 1237, 3239, 1369, 7245, 32401, 63889}}, +{4544, 16, 14048, {1, 1, 1, 5, 25, 63, 123, 3, 291, 819, 793, 241, 5619, 8871, 18341, 2757}}, +{4545, 16, 14066, {1, 3, 7, 15, 3, 21, 17, 97, 395, 333, 909, 3783, 3635, 751, 24227, 44281}}, +{4546, 16, 14092, {1, 3, 7, 13, 29, 49, 123, 195, 191, 159, 211, 1887, 3047, 4871, 2607, 32425}}, +{4547, 16, 14120, {1, 1, 7, 7, 15, 57, 91, 255, 267, 897, 441, 1581, 953, 6951, 17275, 50229}}, +{4548, 16, 14126, {1, 3, 7, 15, 1, 35, 91, 219, 7, 117, 119, 2687, 1215, 9517, 10849, 28347}}, +{4549, 16, 14131, {1, 1, 1, 1, 21, 55, 67, 221, 503, 883, 1037, 2965, 1485, 8557, 28091, 25459}}, +{4550, 16, 14143, {1, 3, 5, 9, 19, 3, 73, 123, 95, 307, 1339, 3669, 5077, 12049, 523, 21457}}, +{4551, 16, 14146, {1, 3, 1, 13, 3, 1, 111, 97, 371, 697, 1989, 3715, 7875, 6841, 7009, 17809}}, +{4552, 16, 14152, {1, 1, 1, 9, 25, 21, 19, 43, 329, 531, 491, 1147, 1469, 12841, 29651, 29517}}, +{4553, 16, 14155, {1, 1, 5, 1, 15, 63, 101, 197, 477, 245, 341, 61, 3803, 10001, 5519, 19083}}, +{4554, 16, 14157, {1, 3, 7, 5, 13, 43, 7, 143, 291, 531, 1727, 871, 7091, 5737, 24285, 51017}}, +{4555, 16, 14188, {1, 3, 5, 1, 17, 13, 15, 85, 361, 153, 989, 1367, 4705, 3599, 4441, 52471}}, +{4556, 16, 14206, {1, 1, 7, 13, 21, 43, 111, 29, 299, 439, 1929, 283, 5901, 14113, 3929, 55843}}, +{4557, 16, 14243, {1, 3, 3, 9, 31, 59, 63, 43, 91, 171, 733, 1359, 425, 8505, 19777, 54723}}, +{4558, 16, 14278, {1, 1, 5, 7, 31, 1, 97, 253, 331, 307, 1749, 2115, 2535, 9945, 11013, 14231}}, +{4559, 16, 14308, {1, 1, 5, 11, 13, 7, 109, 237, 301, 383, 683, 1603, 6393, 2437, 12101, 1767}}, +{4560, 16, 14317, {1, 1, 3, 11, 15, 61, 119, 199, 109, 265, 1431, 1729, 3409, 10129, 16945, 34681}}, +{4561, 16, 14335, {1, 3, 7, 9, 13, 59, 121, 73, 29, 513, 279, 457, 7985, 15199, 10185, 33621}}, +{4562, 16, 14354, {1, 3, 7, 7, 23, 17, 27, 65, 387, 487, 1803, 2789, 461, 11201, 7001, 40229}}, +{4563, 16, 14356, {1, 1, 3, 15, 9, 13, 55, 127, 33, 513, 1055, 643, 505, 3005, 6121, 64147}}, +{4564, 16, 14379, {1, 3, 5, 15, 5, 11, 77, 233, 175, 691, 171, 2491, 6915, 14195, 7845, 36499}}, +{4565, 16, 14381, {1, 1, 5, 11, 19, 45, 103, 207, 99, 645, 1739, 1517, 5907, 16035, 14559, 44007}}, +{4566, 16, 14384, {1, 3, 7, 15, 21, 27, 53, 107, 89, 291, 983, 3527, 1025, 2985, 13747, 32715}}, +{4567, 16, 14389, {1, 1, 3, 15, 23, 17, 27, 209, 77, 959, 813, 3597, 5809, 693, 10325, 16855}}, +{4568, 16, 14390, {1, 1, 7, 11, 23, 53, 123, 99, 211, 935, 1371, 1657, 4699, 2683, 27933, 21451}}, +{4569, 16, 14414, {1, 3, 3, 3, 17, 21, 93, 201, 423, 351, 1639, 227, 5719, 13111, 5993, 44615}}, +{4570, 16, 14425, {1, 1, 7, 3, 13, 49, 59, 255, 213, 147, 1441, 3593, 6419, 15657, 1947, 62713}}, +{4571, 16, 14462, {1, 3, 1, 7, 7, 41, 79, 135, 275, 585, 925, 3139, 4351, 1827, 23533, 63031}}, +{4572, 16, 14472, {1, 1, 7, 3, 11, 1, 13, 149, 29, 897, 1043, 2393, 3931, 6741, 19973, 46303}}, +{4573, 16, 14508, {1, 1, 1, 13, 13, 57, 9, 253, 149, 67, 1531, 4049, 3013, 13947, 3371, 35317}}, +{4574, 16, 14511, {1, 3, 1, 1, 15, 19, 11, 125, 179, 383, 1273, 1551, 6441, 6579, 19659, 31005}}, +{4575, 16, 14519, {1, 1, 3, 15, 29, 37, 11, 199, 273, 663, 549, 3167, 2049, 8815, 30719, 47905}}, +{4576, 16, 14528, {1, 1, 1, 15, 7, 9, 113, 231, 155, 27, 419, 1303, 4493, 5633, 5743, 51335}}, +{4577, 16, 14561, {1, 3, 5, 13, 21, 35, 7, 63, 391, 637, 2011, 841, 5933, 10563, 7593, 34767}}, +{4578, 16, 14574, {1, 3, 1, 15, 19, 13, 89, 127, 507, 715, 1305, 2989, 7551, 1953, 26101, 54913}}, +{4579, 16, 14588, {1, 1, 5, 1, 1, 33, 101, 211, 173, 761, 177, 2721, 6949, 15801, 6639, 21405}}, +{4580, 16, 14594, {1, 3, 1, 13, 15, 23, 113, 177, 43, 743, 57, 3875, 7833, 13619, 17637, 5547}}, +{4581, 16, 14606, {1, 1, 3, 13, 21, 7, 123, 83, 391, 731, 597, 2595, 1949, 14619, 17141, 60595}}, +{4582, 16, 14614, {1, 3, 7, 13, 31, 55, 15, 43, 17, 855, 233, 1411, 1063, 12977, 22159, 59185}}, +{4583, 16, 14639, {1, 3, 7, 7, 17, 53, 67, 37, 245, 941, 1213, 1965, 6635, 10189, 12979, 63503}}, +{4584, 16, 14641, {1, 1, 5, 15, 31, 23, 15, 175, 177, 643, 1705, 3541, 2009, 12005, 27281, 16821}}, +{4585, 16, 14648, {1, 3, 1, 13, 27, 37, 1, 171, 255, 445, 171, 3555, 8169, 399, 20975, 36195}}, +{4586, 16, 14668, {1, 3, 7, 11, 13, 15, 123, 65, 173, 317, 1991, 2093, 8073, 12831, 15455, 30175}}, +{4587, 16, 14673, {1, 3, 1, 7, 5, 53, 59, 219, 407, 501, 875, 2627, 1335, 14387, 25523, 28337}}, +{4588, 16, 14679, {1, 3, 3, 13, 13, 41, 93, 125, 41, 461, 887, 1085, 3393, 11945, 16329, 43531}}, +{4589, 16, 14695, {1, 3, 1, 11, 21, 39, 1, 185, 429, 285, 443, 1165, 451, 10903, 31511, 50555}}, +{4590, 16, 14702, {1, 1, 7, 5, 11, 25, 61, 171, 493, 733, 215, 1871, 7783, 14113, 2061, 58961}}, +{4591, 16, 14704, {1, 1, 7, 7, 27, 23, 53, 45, 131, 301, 275, 3855, 4883, 6303, 25269, 12697}}, +{4592, 16, 14740, {1, 3, 5, 7, 11, 15, 71, 101, 377, 803, 1369, 3741, 633, 10571, 30659, 31101}}, +{4593, 16, 14754, {1, 1, 5, 15, 19, 53, 3, 153, 411, 685, 1405, 109, 5755, 13311, 3713, 24579}}, +{4594, 16, 14774, {1, 1, 3, 3, 27, 7, 89, 39, 5, 853, 1757, 2927, 2889, 9735, 17959, 39301}}, +{4595, 16, 14792, {1, 3, 1, 3, 13, 41, 57, 71, 187, 285, 825, 1807, 7261, 2645, 21861, 1839}}, +{4596, 16, 14797, {1, 3, 3, 5, 15, 21, 23, 7, 341, 981, 891, 721, 7221, 3137, 28725, 54993}}, +{4597, 16, 14806, {1, 1, 5, 3, 3, 61, 59, 97, 205, 359, 185, 3361, 7637, 15473, 6351, 62097}}, +{4598, 16, 14812, {1, 1, 1, 9, 13, 11, 123, 71, 199, 251, 535, 371, 1605, 12107, 13833, 2019}}, +{4599, 16, 14856, {1, 1, 7, 13, 27, 1, 43, 73, 409, 601, 1481, 649, 3293, 12257, 23377, 17225}}, +{4600, 16, 14876, {1, 1, 7, 11, 15, 55, 99, 45, 261, 461, 1507, 3575, 4425, 9895, 20191, 61863}}, +{4601, 16, 14900, {1, 3, 7, 1, 3, 7, 19, 85, 139, 691, 1685, 137, 7547, 16143, 14193, 52479}}, +{4602, 16, 14910, {1, 3, 5, 9, 17, 61, 7, 189, 31, 641, 1381, 3999, 4909, 8463, 31761, 54493}}, +{4603, 16, 14912, {1, 1, 5, 15, 17, 15, 69, 111, 55, 1011, 1859, 2643, 6043, 5125, 15875, 611}}, +{4604, 16, 14915, {1, 1, 3, 5, 3, 33, 73, 227, 327, 369, 189, 1841, 5625, 1179, 18651, 34951}}, +{4605, 16, 14922, {1, 3, 7, 13, 1, 17, 109, 149, 89, 889, 799, 3423, 2599, 14525, 12763, 23855}}, +{4606, 16, 14939, {1, 1, 3, 15, 5, 63, 87, 7, 63, 171, 1215, 557, 3009, 16305, 23517, 40101}}, +{4607, 16, 14946, {1, 1, 3, 3, 29, 31, 79, 183, 401, 813, 41, 1111, 5669, 15697, 7813, 10215}}, +{4608, 16, 14955, {1, 1, 5, 7, 9, 25, 25, 57, 343, 375, 535, 3405, 1909, 3201, 2417, 52285}}, +{4609, 16, 14966, {1, 1, 5, 9, 25, 19, 33, 183, 29, 991, 1045, 2249, 2933, 12525, 13943, 10423}}, +{4610, 16, 14976, {1, 3, 1, 7, 3, 45, 49, 37, 429, 67, 821, 1289, 7311, 16165, 25861, 57715}}, +{4611, 16, 14986, {1, 1, 7, 3, 19, 3, 33, 153, 505, 683, 611, 1691, 6421, 15517, 19161, 49013}}, +{4612, 16, 14993, {1, 3, 7, 7, 21, 21, 85, 55, 293, 199, 1671, 1881, 7147, 8241, 16173, 51873}}, +{4613, 16, 15012, {1, 3, 1, 15, 3, 61, 97, 191, 435, 511, 1599, 2705, 1897, 2607, 1801, 48583}}, +{4614, 16, 15041, {1, 1, 5, 3, 9, 23, 23, 185, 401, 947, 33, 385, 7491, 14129, 14561, 13759}}, +{4615, 16, 15053, {1, 3, 5, 15, 19, 21, 37, 233, 149, 673, 29, 1315, 3487, 6705, 28283, 43135}}, +{4616, 16, 15056, {1, 1, 1, 11, 9, 35, 101, 255, 345, 829, 689, 2747, 2145, 2101, 24863, 35529}}, +{4617, 16, 15059, {1, 3, 7, 9, 5, 5, 53, 247, 157, 729, 1621, 129, 2485, 5371, 11115, 47771}}, +{4618, 16, 15110, {1, 1, 3, 9, 29, 29, 13, 229, 87, 281, 1119, 1085, 4423, 1667, 27067, 50397}}, +{4619, 16, 15116, {1, 1, 3, 7, 11, 29, 77, 85, 121, 495, 501, 3209, 3531, 2307, 11367, 34135}}, +{4620, 16, 15133, {1, 1, 7, 9, 3, 37, 33, 209, 493, 869, 367, 3221, 1643, 3353, 22851, 4313}}, +{4621, 16, 15134, {1, 1, 1, 7, 15, 53, 27, 17, 29, 345, 821, 1831, 1963, 10089, 5101, 32689}}, +{4622, 16, 15137, {1, 1, 3, 9, 9, 61, 31, 215, 497, 591, 1301, 157, 3329, 13877, 9017, 34673}}, +{4623, 16, 15147, {1, 1, 5, 1, 29, 49, 93, 139, 279, 167, 143, 279, 6145, 6247, 519, 8869}}, +{4624, 16, 15182, {1, 3, 3, 1, 25, 41, 81, 219, 505, 335, 1941, 2963, 413, 775, 4181, 55269}}, +{4625, 16, 15203, {1, 1, 1, 11, 27, 23, 91, 9, 497, 811, 1469, 1999, 5377, 2943, 17635, 11151}}, +{4626, 16, 15215, {1, 1, 5, 15, 17, 23, 15, 235, 271, 749, 1873, 3805, 5405, 7421, 24339, 14351}}, +{4627, 16, 15245, {1, 3, 7, 1, 5, 61, 81, 9, 269, 43, 1391, 2711, 6973, 11299, 2263, 8715}}, +{4628, 16, 15246, {1, 1, 5, 13, 11, 1, 69, 235, 25, 227, 63, 2591, 913, 12555, 6263, 38981}}, +{4629, 16, 15264, {1, 3, 1, 7, 17, 7, 97, 251, 149, 959, 1895, 1179, 4031, 15975, 20313, 64067}}, +{4630, 16, 15269, {1, 3, 7, 15, 3, 17, 85, 229, 149, 925, 585, 3755, 2359, 13131, 12665, 28861}}, +{4631, 16, 15296, {1, 3, 3, 9, 5, 31, 107, 93, 347, 851, 1249, 2161, 6095, 8315, 20259, 39527}}, +{4632, 16, 15314, {1, 3, 7, 7, 21, 63, 85, 241, 501, 627, 1211, 1713, 6907, 4229, 7557, 55719}}, +{4633, 16, 15323, {1, 1, 1, 13, 19, 43, 21, 177, 13, 353, 679, 511, 5565, 993, 25345, 25087}}, +{4634, 16, 15364, {1, 3, 3, 15, 21, 15, 87, 83, 381, 547, 1429, 2417, 2425, 2097, 20889, 12353}}, +{4635, 16, 15386, {1, 3, 1, 11, 23, 21, 69, 147, 427, 271, 1829, 525, 2951, 10773, 32425, 17685}}, +{4636, 16, 15391, {1, 3, 1, 7, 15, 55, 21, 131, 195, 927, 635, 3505, 3817, 14883, 1149, 10079}}, +{4637, 16, 15436, {1, 3, 3, 9, 23, 15, 45, 147, 249, 87, 377, 1551, 4343, 15373, 2895, 44973}}, +{4638, 16, 15460, {1, 3, 1, 7, 31, 63, 67, 107, 109, 1019, 815, 231, 8135, 559, 8175, 21735}}, +{4639, 16, 15464, {1, 1, 5, 7, 7, 63, 103, 133, 167, 883, 1647, 2827, 6015, 8541, 16963, 37129}}, +{4640, 16, 15469, {1, 3, 5, 9, 27, 25, 59, 147, 29, 943, 865, 1233, 2165, 15259, 2235, 25831}}, +{4641, 16, 15470, {1, 1, 5, 7, 25, 5, 67, 89, 493, 111, 359, 1115, 7963, 6545, 7749, 29179}}, +{4642, 16, 15477, {1, 3, 7, 5, 19, 17, 89, 195, 337, 115, 1417, 3837, 4761, 1959, 16205, 61597}}, +{4643, 16, 15488, {1, 1, 5, 11, 25, 43, 3, 111, 491, 897, 1541, 909, 4751, 739, 7827, 64485}}, +{4644, 16, 15494, {1, 1, 5, 15, 19, 61, 39, 111, 451, 419, 1657, 2427, 4589, 5577, 23967, 19259}}, +{4645, 16, 15548, {1, 3, 3, 1, 31, 15, 7, 131, 329, 847, 537, 1775, 3833, 5683, 17267, 16389}}, +{4646, 16, 15551, {1, 1, 7, 1, 9, 29, 13, 25, 409, 513, 1695, 2175, 5099, 727, 5723, 43547}}, +{4647, 16, 15560, {1, 1, 5, 7, 13, 11, 29, 123, 127, 193, 1647, 3157, 2149, 16209, 19909, 14473}}, +{4648, 16, 15563, {1, 1, 1, 15, 15, 37, 125, 157, 487, 143, 1891, 2895, 4397, 10685, 1463, 55027}}, +{4649, 16, 15604, {1, 3, 7, 1, 1, 15, 115, 105, 479, 529, 1095, 2687, 4483, 15027, 15487, 7113}}, +{4650, 16, 15607, {1, 1, 3, 9, 23, 63, 113, 211, 155, 931, 175, 3037, 2359, 10413, 24561, 21099}}, +{4651, 16, 15616, {1, 3, 3, 11, 5, 15, 13, 37, 257, 447, 203, 545, 2467, 9979, 17543, 62703}}, +{4652, 16, 15631, {1, 1, 3, 7, 17, 31, 83, 91, 79, 265, 1415, 2347, 5337, 7615, 27739, 33841}}, +{4653, 16, 15699, {1, 3, 5, 7, 17, 63, 37, 153, 347, 909, 1945, 7, 2071, 15195, 32083, 26713}}, +{4654, 16, 15701, {1, 1, 3, 11, 19, 51, 69, 21, 323, 635, 443, 1685, 6275, 13787, 20921, 45553}}, +{4655, 16, 15708, {1, 3, 3, 7, 15, 35, 67, 247, 257, 429, 2029, 523, 3219, 3893, 26677, 53273}}, +{4656, 16, 15739, {1, 1, 7, 9, 9, 3, 119, 121, 445, 149, 1539, 1887, 2995, 14867, 809, 48065}}, +{4657, 16, 15746, {1, 3, 5, 13, 15, 27, 75, 9, 217, 35, 1363, 2383, 4357, 1153, 20565, 62277}}, +{4658, 16, 15772, {1, 1, 7, 1, 21, 1, 11, 53, 331, 765, 407, 453, 2725, 11199, 645, 14915}}, +{4659, 16, 15793, {1, 1, 5, 1, 29, 11, 5, 159, 395, 53, 323, 1347, 5529, 8525, 24003, 20535}}, +{4660, 16, 15832, {1, 3, 3, 15, 9, 19, 87, 181, 391, 639, 703, 611, 997, 359, 2471, 58465}}, +{4661, 16, 15837, {1, 3, 5, 9, 27, 9, 117, 47, 223, 509, 1537, 1235, 3885, 6767, 17131, 63421}}, +{4662, 16, 15866, {1, 1, 5, 1, 15, 15, 113, 67, 477, 597, 1795, 3065, 4565, 3609, 16419, 19667}}, +{4663, 16, 15899, {1, 1, 7, 11, 1, 63, 33, 211, 271, 773, 499, 2309, 1303, 14015, 30377, 53195}}, +{4664, 16, 15911, {1, 1, 7, 11, 5, 23, 17, 183, 321, 315, 203, 3371, 907, 9331, 21031, 33765}}, +{4665, 16, 15918, {1, 3, 3, 7, 7, 53, 111, 69, 441, 283, 195, 2415, 7293, 7659, 2731, 5417}}, +{4666, 16, 15952, {1, 3, 5, 15, 3, 61, 5, 241, 427, 463, 1729, 653, 7671, 10979, 7247, 36931}}, +{4667, 16, 15962, {1, 3, 1, 9, 3, 5, 105, 117, 465, 853, 2005, 3925, 4419, 4441, 3701, 50747}}, +{4668, 16, 15967, {1, 1, 3, 7, 1, 3, 3, 149, 65, 405, 299, 99, 481, 14323, 11565, 6227}}, +{4669, 16, 15973, {1, 3, 7, 5, 29, 3, 19, 3, 253, 895, 879, 2435, 2151, 10673, 11013, 43055}}, +{4670, 16, 15977, {1, 3, 1, 11, 15, 57, 127, 197, 319, 913, 1039, 811, 7767, 5791, 31725, 8733}}, +{4671, 16, 16016, {1, 1, 7, 3, 13, 25, 25, 81, 229, 185, 39, 2789, 579, 4973, 28617, 60871}}, +{4672, 16, 16035, {1, 1, 7, 3, 25, 17, 41, 7, 103, 269, 55, 2651, 7579, 10935, 8917, 14323}}, +{4673, 16, 16044, {1, 3, 7, 7, 13, 7, 99, 205, 293, 877, 1893, 3013, 2389, 6021, 2645, 18175}}, +{4674, 16, 16067, {1, 1, 3, 7, 9, 39, 59, 187, 191, 761, 339, 3381, 2921, 5197, 16963, 43019}}, +{4675, 16, 16082, {1, 3, 3, 13, 7, 23, 41, 203, 311, 981, 323, 1675, 6689, 579, 3885, 64475}}, +{4676, 16, 16084, {1, 3, 5, 15, 21, 39, 35, 193, 167, 1009, 493, 829, 6571, 1299, 13061, 1163}}, +{4677, 16, 16098, {1, 1, 3, 5, 3, 19, 123, 123, 111, 599, 193, 3419, 7173, 5595, 12449, 52247}}, +{4678, 16, 16107, {1, 3, 5, 11, 9, 25, 65, 49, 239, 953, 481, 3455, 4335, 305, 22469, 11949}}, +{4679, 16, 16142, {1, 1, 3, 7, 15, 1, 13, 77, 147, 49, 1445, 931, 3405, 15951, 15215, 26451}}, +{4680, 16, 16149, {1, 3, 1, 1, 21, 53, 17, 7, 247, 243, 805, 795, 489, 13351, 13493, 30937}}, +{4681, 16, 16165, {1, 3, 7, 5, 5, 13, 39, 115, 397, 757, 423, 2559, 1677, 9449, 24563, 869}}, +{4682, 16, 16172, {1, 1, 3, 11, 23, 9, 27, 233, 165, 853, 1721, 599, 551, 11657, 27623, 40119}}, +{4683, 16, 16178, {1, 1, 3, 1, 3, 47, 75, 207, 113, 417, 1317, 2215, 2395, 1841, 23125, 50401}}, +{4684, 16, 16197, {1, 3, 3, 1, 13, 55, 103, 55, 351, 785, 1665, 3603, 7705, 4811, 21129, 38115}}, +{4685, 16, 16201, {1, 1, 1, 5, 5, 49, 93, 189, 317, 701, 1545, 1017, 4133, 7655, 19827, 52155}}, +{4686, 16, 16215, {1, 3, 3, 13, 17, 37, 7, 249, 139, 529, 235, 3801, 7871, 459, 15127, 13231}}, +{4687, 16, 16221, {1, 3, 7, 5, 7, 63, 99, 241, 131, 455, 1287, 3539, 8029, 12661, 23313, 54029}}, +{4688, 16, 16226, {1, 3, 1, 3, 29, 63, 51, 227, 497, 685, 1351, 449, 7851, 10815, 17379, 62097}}, +{4689, 16, 16232, {1, 3, 1, 11, 25, 61, 73, 29, 467, 533, 855, 853, 5557, 10953, 18307, 27135}}, +{4690, 16, 16246, {1, 1, 7, 3, 13, 49, 63, 171, 177, 283, 1365, 3087, 5445, 15109, 12523, 25193}}, +{4691, 16, 16261, {1, 3, 5, 15, 9, 39, 95, 81, 417, 199, 1653, 3673, 2663, 8101, 12199, 22759}}, +{4692, 16, 16279, {1, 1, 3, 9, 29, 15, 29, 215, 21, 721, 245, 1197, 7251, 5721, 6735, 7751}}, +{4693, 16, 16280, {1, 3, 5, 5, 21, 7, 81, 61, 157, 707, 819, 1689, 4203, 5559, 25483, 43325}}, +{4694, 16, 16290, {1, 1, 7, 13, 15, 51, 47, 197, 269, 921, 353, 2865, 6227, 537, 20015, 53823}}, +{4695, 16, 16314, {1, 1, 3, 5, 13, 25, 91, 221, 111, 587, 1119, 2343, 4651, 4641, 15915, 36323}}, +{4696, 16, 16345, {1, 1, 7, 11, 1, 45, 7, 215, 483, 545, 731, 3041, 3121, 8681, 20651, 4069}}, +{4697, 16, 16355, {1, 3, 7, 13, 13, 27, 109, 65, 103, 805, 299, 2069, 6017, 14565, 20505, 16161}}, +{4698, 16, 16361, {1, 1, 7, 5, 11, 33, 105, 213, 237, 583, 1033, 2333, 845, 6493, 505, 2563}}, +{4699, 16, 16393, {1, 1, 5, 7, 3, 5, 11, 173, 373, 341, 269, 177, 3175, 9413, 601, 13591}}, +{4700, 16, 16394, {1, 1, 5, 13, 7, 57, 61, 187, 121, 405, 665, 111, 7535, 3355, 14051, 511}}, +{4701, 16, 16438, {1, 1, 1, 3, 3, 29, 15, 253, 227, 123, 333, 1343, 7313, 1955, 17741, 30831}}, +{4702, 16, 16450, {1, 3, 5, 1, 5, 47, 65, 183, 199, 839, 925, 2711, 4609, 201, 15177, 29817}}, +{4703, 16, 16507, {1, 3, 7, 9, 21, 63, 5, 163, 265, 581, 1795, 3937, 4641, 2073, 32225, 60831}}, +{4704, 16, 16523, {1, 1, 1, 5, 7, 47, 125, 203, 511, 841, 1937, 3431, 1495, 12827, 5893, 19265}}, +{4705, 16, 16533, {1, 1, 5, 5, 9, 49, 17, 247, 391, 241, 3, 2253, 6319, 89, 4449, 6371}}, +{4706, 16, 16603, {1, 3, 1, 1, 31, 7, 51, 61, 461, 391, 273, 1609, 5825, 16029, 3851, 39213}}, +{4707, 16, 16648, {1, 3, 3, 7, 29, 21, 65, 75, 317, 925, 1319, 3827, 965, 5685, 17007, 64365}}, +{4708, 16, 16653, {1, 3, 1, 5, 23, 23, 109, 59, 31, 659, 635, 2209, 857, 9847, 2507, 18325}}, +{4709, 16, 16672, {1, 1, 1, 1, 17, 51, 53, 77, 461, 147, 229, 2821, 2405, 1259, 1121, 17429}}, +{4710, 16, 16682, {1, 3, 5, 3, 31, 3, 57, 157, 321, 731, 1609, 2139, 899, 12599, 19803, 51083}}, +{4711, 16, 16709, {1, 1, 3, 11, 27, 43, 73, 209, 431, 587, 1247, 2803, 3593, 1351, 18701, 33423}}, +{4712, 16, 16713, {1, 3, 5, 13, 27, 19, 67, 245, 339, 879, 2035, 1801, 5845, 3883, 22057, 15771}}, +{4713, 16, 16719, {1, 1, 3, 11, 11, 55, 93, 51, 57, 127, 1325, 3975, 3989, 2347, 18831, 2979}}, +{4714, 16, 16733, {1, 1, 1, 13, 17, 1, 17, 103, 303, 777, 1973, 2943, 7439, 8953, 27227, 10229}}, +{4715, 16, 16740, {1, 3, 3, 15, 1, 41, 53, 219, 415, 399, 995, 205, 7719, 10937, 31879, 755}}, +{4716, 16, 16761, {1, 3, 7, 9, 13, 7, 99, 93, 419, 1019, 1605, 161, 3831, 9147, 7877, 1333}}, +{4717, 16, 16767, {1, 3, 7, 15, 5, 51, 37, 115, 259, 549, 353, 2067, 7657, 1283, 20333, 2325}}, +{4718, 16, 16771, {1, 1, 3, 3, 23, 33, 63, 233, 363, 719, 1099, 471, 3079, 10577, 19063, 31535}}, +{4719, 16, 16788, {1, 3, 7, 15, 23, 19, 109, 105, 497, 881, 1055, 537, 4607, 239, 22785, 60201}}, +{4720, 16, 16811, {1, 3, 3, 5, 19, 11, 1, 207, 163, 437, 713, 667, 1427, 7505, 28055, 43101}}, +{4721, 16, 16814, {1, 3, 5, 5, 25, 45, 75, 9, 109, 545, 573, 2685, 1013, 2973, 18619, 55945}}, +{4722, 16, 16816, {1, 1, 1, 3, 27, 27, 39, 33, 285, 453, 613, 2707, 2155, 4355, 21105, 7969}}, +{4723, 16, 16828, {1, 3, 3, 9, 1, 31, 71, 101, 491, 409, 65, 1479, 5743, 525, 2863, 53657}}, +{4724, 16, 16834, {1, 1, 3, 1, 17, 63, 55, 11, 125, 447, 275, 2243, 6827, 5753, 32401, 13819}}, +{4725, 16, 16863, {1, 1, 3, 9, 21, 47, 5, 127, 285, 471, 1681, 945, 6141, 5651, 10273, 30811}}, +{4726, 16, 16864, {1, 3, 3, 1, 13, 53, 91, 3, 255, 429, 107, 2937, 2971, 10251, 15009, 37477}}, +{4727, 16, 16879, {1, 1, 7, 13, 21, 63, 73, 3, 63, 491, 101, 1981, 7457, 879, 6243, 22275}}, +{4728, 16, 16888, {1, 3, 1, 1, 11, 43, 121, 101, 293, 639, 645, 2723, 2075, 3629, 22105, 18199}}, +{4729, 16, 16904, {1, 1, 3, 1, 31, 9, 69, 97, 511, 663, 1147, 1237, 389, 255, 8661, 38533}}, +{4730, 16, 16909, {1, 3, 3, 7, 3, 13, 23, 71, 197, 439, 2003, 1771, 8073, 1549, 29089, 5409}}, +{4731, 16, 16921, {1, 3, 1, 1, 9, 23, 1, 221, 159, 699, 593, 3385, 3869, 10105, 22097, 34753}}, +{4732, 16, 16934, {1, 1, 7, 1, 29, 47, 41, 137, 333, 357, 325, 3151, 6641, 3823, 8763, 28327}}, +{4733, 16, 16951, {1, 3, 1, 7, 19, 19, 39, 225, 477, 619, 583, 229, 6177, 9615, 1203, 13711}}, +{4734, 16, 16983, {1, 1, 3, 13, 9, 41, 127, 147, 13, 301, 861, 2019, 3517, 1147, 21587, 42387}}, +{4735, 16, 16999, {1, 1, 5, 11, 9, 63, 11, 121, 251, 199, 483, 2287, 4667, 3887, 10611, 6019}}, +{4736, 16, 17000, {1, 1, 3, 13, 23, 19, 89, 73, 355, 399, 749, 687, 5707, 11443, 817, 38967}}, +{4737, 16, 17006, {1, 3, 5, 9, 3, 23, 115, 207, 373, 541, 73, 1285, 7245, 12505, 5787, 61207}}, +{4738, 16, 17020, {1, 3, 5, 15, 27, 37, 115, 203, 195, 793, 1577, 1283, 7299, 4025, 5319, 5375}}, +{4739, 16, 17030, {1, 1, 7, 15, 25, 19, 61, 11, 215, 771, 1057, 451, 1965, 13693, 25617, 42657}}, +{4740, 16, 17033, {1, 3, 3, 7, 1, 19, 23, 217, 175, 901, 2009, 2989, 5111, 5027, 4805, 37843}}, +{4741, 16, 17044, {1, 3, 1, 11, 11, 37, 3, 131, 459, 769, 201, 3979, 3009, 8691, 27005, 32175}}, +{4742, 16, 17051, {1, 3, 5, 7, 27, 27, 117, 23, 403, 1003, 1501, 785, 6313, 10187, 5085, 30751}}, +{4743, 16, 17072, {1, 1, 7, 3, 11, 41, 73, 151, 19, 657, 131, 1901, 3879, 14995, 24085, 56621}}, +{4744, 16, 17078, {1, 3, 7, 15, 23, 3, 61, 199, 67, 483, 1961, 3583, 5937, 5749, 16685, 11831}}, +{4745, 16, 17084, {1, 1, 3, 15, 25, 15, 97, 9, 299, 641, 883, 2901, 123, 1523, 7055, 15609}}, +{4746, 16, 17087, {1, 3, 5, 5, 31, 55, 19, 45, 239, 543, 2005, 1041, 1711, 11059, 19927, 17475}}, +{4747, 16, 17090, {1, 1, 3, 9, 5, 59, 105, 209, 323, 613, 1963, 2227, 2947, 11761, 21375, 13265}}, +{4748, 16, 17123, {1, 3, 3, 15, 1, 5, 117, 37, 93, 243, 305, 2299, 5163, 9205, 28761, 35987}}, +{4749, 16, 17132, {1, 1, 1, 5, 5, 29, 13, 147, 457, 187, 1729, 1547, 7745, 13155, 7833, 57449}}, +{4750, 16, 17140, {1, 3, 3, 13, 1, 51, 49, 253, 23, 389, 1611, 3045, 5909, 3947, 25105, 3327}}, +{4751, 16, 17149, {1, 3, 1, 11, 15, 47, 19, 15, 231, 57, 763, 1879, 1765, 14861, 22893, 19437}}, +{4752, 16, 17157, {1, 1, 3, 15, 1, 19, 85, 65, 139, 629, 361, 3513, 3807, 799, 8349, 29247}}, +{4753, 16, 17164, {1, 3, 3, 13, 9, 11, 65, 201, 471, 89, 355, 121, 3947, 10775, 3599, 6041}}, +{4754, 16, 17170, {1, 3, 7, 3, 5, 53, 33, 167, 431, 129, 1449, 3263, 7691, 12569, 7551, 41101}}, +{4755, 16, 17179, {1, 1, 3, 15, 9, 41, 5, 239, 361, 773, 955, 3663, 6051, 12889, 5841, 59615}}, +{4756, 16, 17237, {1, 1, 7, 5, 5, 33, 97, 9, 495, 845, 1953, 3533, 5715, 15055, 25211, 9351}}, +{4757, 16, 17248, {1, 3, 1, 11, 25, 37, 83, 153, 289, 739, 353, 1121, 7641, 2081, 28439, 38085}}, +{4758, 16, 17260, {1, 3, 1, 1, 27, 9, 63, 135, 395, 641, 1759, 3727, 4371, 5193, 2783, 12389}}, +{4759, 16, 17272, {1, 3, 3, 15, 3, 9, 5, 153, 111, 675, 1957, 3817, 4269, 10787, 3413, 34199}}, +{4760, 16, 17275, {1, 3, 5, 9, 23, 23, 97, 137, 255, 249, 333, 2329, 1055, 13769, 13109, 33443}}, +{4761, 16, 17287, {1, 1, 1, 15, 7, 37, 99, 219, 483, 755, 263, 3523, 6179, 4817, 29873, 12771}}, +{4762, 16, 17294, {1, 1, 3, 5, 23, 7, 77, 97, 105, 631, 175, 1911, 7271, 1009, 24081, 61207}}, +{4763, 16, 17296, {1, 3, 5, 3, 1, 31, 71, 91, 265, 669, 1839, 3989, 8127, 15001, 1419, 8895}}, +{4764, 16, 17305, {1, 3, 1, 13, 27, 51, 93, 155, 49, 991, 653, 203, 3863, 5363, 31969, 36083}}, +{4765, 16, 17312, {1, 3, 3, 7, 31, 27, 21, 73, 21, 675, 407, 1215, 2963, 6799, 15259, 13125}}, +{4766, 16, 17321, {1, 3, 5, 13, 5, 53, 19, 215, 243, 487, 689, 2519, 6393, 3987, 30847, 37919}}, +{4767, 16, 17367, {1, 3, 3, 7, 5, 31, 115, 231, 255, 955, 2023, 1487, 6575, 9873, 22585, 29951}}, +{4768, 16, 17368, {1, 3, 5, 11, 11, 57, 109, 203, 417, 29, 1311, 893, 1047, 2413, 9305, 38219}}, +{4769, 16, 17378, {1, 3, 1, 7, 23, 51, 113, 3, 105, 915, 1145, 3431, 7331, 3323, 31669, 21485}}, +{4770, 16, 17433, {1, 1, 7, 13, 9, 29, 119, 205, 403, 1023, 257, 863, 2983, 1895, 16539, 23385}}, +{4771, 16, 17455, {1, 1, 7, 13, 27, 21, 47, 139, 341, 509, 1107, 2197, 3649, 14301, 30789, 48783}}, +{4772, 16, 17457, {1, 3, 3, 7, 25, 19, 99, 11, 309, 919, 1809, 3015, 1587, 3779, 1289, 30207}}, +{4773, 16, 17508, {1, 3, 5, 11, 9, 43, 57, 171, 9, 151, 173, 2301, 7723, 2083, 319, 52883}}, +{4774, 16, 17559, {1, 1, 3, 1, 3, 13, 63, 11, 231, 117, 1257, 237, 581, 13871, 15501, 8741}}, +{4775, 16, 17560, {1, 3, 5, 9, 13, 63, 55, 155, 291, 721, 123, 929, 3351, 11651, 12513, 1779}}, +{4776, 16, 17582, {1, 3, 7, 3, 31, 5, 61, 81, 465, 639, 1363, 3157, 2401, 9513, 32559, 34477}}, +{4777, 16, 17596, {1, 3, 1, 15, 27, 25, 3, 117, 277, 13, 707, 3825, 7287, 10181, 30127, 57247}}, +{4778, 16, 17599, {1, 1, 7, 11, 21, 21, 53, 17, 407, 851, 1191, 285, 6815, 1595, 25507, 8099}}, +{4779, 16, 17613, {1, 3, 5, 9, 9, 61, 83, 61, 65, 671, 63, 311, 6897, 15327, 29809, 4899}}, +{4780, 16, 17619, {1, 1, 7, 1, 21, 45, 99, 235, 477, 461, 1119, 4087, 2057, 14861, 31969, 24357}}, +{4781, 16, 17622, {1, 1, 7, 9, 31, 9, 65, 123, 281, 273, 1059, 1625, 6265, 9635, 11563, 45053}}, +{4782, 16, 17655, {1, 3, 3, 7, 1, 41, 15, 23, 43, 727, 1271, 1741, 765, 13265, 4145, 1335}}, +{4783, 16, 17661, {1, 1, 3, 7, 17, 55, 107, 231, 263, 197, 659, 3621, 2789, 5171, 28635, 13595}}, +{4784, 16, 17698, {1, 1, 5, 1, 27, 23, 13, 83, 431, 507, 1571, 1573, 1733, 12171, 8181, 30843}}, +{4785, 16, 17712, {1, 3, 7, 11, 1, 53, 107, 39, 497, 579, 453, 1339, 1415, 10317, 2741, 34599}}, +{4786, 16, 17715, {1, 3, 3, 5, 31, 41, 49, 41, 33, 665, 1783, 87, 317, 6603, 22603, 22879}}, +{4787, 16, 17721, {1, 3, 1, 15, 5, 47, 41, 87, 231, 853, 1615, 2299, 4643, 9249, 15641, 14323}}, +{4788, 16, 17722, {1, 3, 7, 9, 5, 45, 55, 153, 31, 247, 67, 2335, 6057, 4379, 27579, 38437}}, +{4789, 16, 17742, {1, 1, 5, 7, 9, 3, 73, 81, 479, 909, 1097, 3945, 4485, 7815, 22855, 20825}}, +{4790, 16, 17778, {1, 3, 1, 15, 19, 43, 97, 57, 339, 167, 135, 1777, 7681, 9715, 13863, 6347}}, +{4791, 16, 17818, {1, 1, 1, 1, 5, 53, 33, 123, 449, 165, 1283, 2977, 5919, 12929, 32073, 61851}}, +{4792, 16, 17836, {1, 1, 5, 15, 27, 27, 19, 157, 267, 651, 1319, 3841, 7739, 9947, 16801, 41325}}, +{4793, 16, 17841, {1, 3, 7, 9, 19, 7, 83, 95, 401, 293, 437, 1983, 119, 7553, 11097, 11925}}, +{4794, 16, 17856, {1, 1, 3, 5, 21, 1, 53, 201, 385, 843, 1801, 99, 2697, 9659, 28789, 31417}}, +{4795, 16, 17883, {1, 1, 5, 5, 29, 57, 103, 89, 77, 597, 1849, 3433, 4267, 11167, 3841, 44023}}, +{4796, 16, 17896, {1, 1, 7, 1, 21, 47, 113, 253, 249, 431, 1899, 2859, 7345, 5725, 14805, 19999}}, +{4797, 16, 17901, {1, 3, 3, 5, 1, 11, 77, 213, 359, 665, 1855, 2743, 2407, 14677, 17957, 63257}}, +{4798, 16, 17926, {1, 3, 7, 13, 23, 29, 127, 183, 275, 849, 1005, 3159, 3867, 13029, 7527, 13035}}, +{4799, 16, 17937, {1, 1, 1, 15, 29, 47, 81, 225, 77, 879, 1279, 1929, 1457, 2025, 32229, 2847}}, +{4800, 16, 17992, {1, 1, 1, 3, 29, 45, 37, 189, 217, 53, 281, 1785, 1929, 763, 5875, 34303}}, +{4801, 16, 17995, {1, 3, 1, 9, 21, 61, 21, 149, 215, 13, 1221, 5, 7153, 14089, 3119, 33115}}, +{4802, 16, 17998, {1, 3, 7, 11, 7, 57, 89, 185, 485, 649, 1765, 747, 2983, 6791, 25015, 13627}}, +{4803, 16, 18021, {1, 1, 1, 9, 11, 53, 77, 203, 425, 237, 487, 2317, 1047, 8277, 23405, 30445}}, +{4804, 16, 18039, {1, 1, 3, 5, 7, 29, 39, 195, 109, 381, 655, 931, 4469, 16215, 10627, 64171}}, +{4805, 16, 18067, {1, 3, 1, 3, 5, 9, 89, 131, 509, 275, 489, 3161, 3701, 11951, 6579, 42839}}, +{4806, 16, 18122, {1, 3, 7, 13, 15, 37, 65, 91, 305, 433, 1815, 169, 3117, 47, 30331, 34863}}, +{4807, 16, 18129, {1, 3, 3, 9, 21, 3, 21, 113, 25, 833, 1579, 4021, 3481, 55, 20833, 46277}}, +{4808, 16, 18130, {1, 1, 1, 5, 19, 37, 61, 229, 61, 363, 817, 1235, 6235, 7261, 29917, 43057}}, +{4809, 16, 18142, {1, 3, 1, 9, 7, 59, 119, 189, 341, 945, 633, 3683, 2589, 15453, 4989, 40055}}, +{4810, 16, 18148, {1, 1, 1, 5, 25, 63, 61, 73, 207, 205, 1011, 2857, 8137, 2121, 26731, 46011}}, +{4811, 16, 18163, {1, 3, 7, 11, 13, 59, 107, 57, 49, 555, 441, 1771, 4939, 12107, 8263, 16243}}, +{4812, 16, 18192, {1, 3, 5, 13, 15, 49, 89, 217, 83, 225, 2001, 2727, 4651, 619, 16473, 47525}}, +{4813, 16, 18211, {1, 3, 5, 9, 5, 63, 115, 91, 337, 757, 703, 559, 1683, 14875, 30769, 30331}}, +{4814, 16, 18228, {1, 3, 1, 15, 3, 3, 119, 79, 487, 519, 523, 1177, 7105, 12343, 24671, 31711}}, +{4815, 16, 18264, {1, 1, 7, 15, 25, 63, 87, 23, 59, 277, 849, 953, 4567, 11309, 26181, 749}}, +{4816, 16, 18347, {1, 3, 7, 15, 5, 33, 21, 127, 3, 239, 839, 997, 7253, 8183, 19779, 4185}}, +{4817, 16, 18372, {1, 1, 5, 15, 25, 37, 99, 51, 465, 137, 1339, 541, 4319, 9883, 17425, 30743}}, +{4818, 16, 18409, {1, 3, 3, 5, 13, 7, 3, 249, 365, 749, 527, 3675, 3005, 12905, 9621, 899}}, +{4819, 16, 18412, {1, 3, 3, 7, 29, 31, 69, 21, 365, 1021, 1329, 2623, 3549, 5491, 21293, 63771}}, +{4820, 16, 18418, {1, 1, 5, 9, 5, 35, 53, 247, 193, 17, 227, 381, 5233, 821, 3991, 4439}}, +{4821, 16, 18423, {1, 1, 7, 15, 5, 59, 27, 167, 489, 335, 1565, 2999, 1777, 5009, 519, 57967}}, +{4822, 16, 18433, {1, 1, 1, 11, 25, 47, 23, 155, 419, 863, 1905, 355, 1089, 5871, 10149, 53341}}, +{4823, 16, 18439, {1, 1, 7, 7, 29, 55, 127, 83, 33, 309, 2017, 1021, 5987, 1101, 13657, 60587}}, +{4824, 16, 18445, {1, 1, 1, 7, 3, 1, 9, 75, 257, 407, 659, 529, 2087, 14759, 14483, 36425}}, +{4825, 16, 18451, {1, 3, 7, 3, 11, 29, 113, 255, 301, 799, 1171, 3721, 135, 3467, 7109, 50339}}, +{4826, 16, 18467, {1, 1, 1, 7, 21, 25, 15, 31, 61, 491, 57, 189, 2033, 4363, 31295, 16313}}, +{4827, 16, 18502, {1, 1, 5, 1, 5, 17, 33, 77, 483, 469, 355, 2245, 4165, 459, 30411, 29507}}, +{4828, 16, 18514, {1, 1, 3, 13, 1, 27, 29, 85, 491, 787, 1157, 1299, 4743, 14795, 32587, 12807}}, +{4829, 16, 18547, {1, 3, 3, 1, 23, 45, 35, 129, 3, 55, 969, 2387, 3929, 10397, 19879, 2723}}, +{4830, 16, 18575, {1, 1, 1, 7, 19, 3, 9, 23, 497, 347, 2039, 913, 5925, 7965, 5789, 40949}}, +{4831, 16, 18593, {1, 1, 7, 1, 29, 61, 89, 3, 133, 647, 1585, 2661, 1875, 1859, 3937, 12707}}, +{4832, 16, 18613, {1, 3, 3, 7, 25, 11, 41, 149, 427, 463, 901, 2433, 2617, 13511, 3443, 39867}}, +{4833, 16, 18620, {1, 1, 1, 5, 27, 33, 103, 251, 201, 1023, 1979, 3745, 6365, 14945, 22153, 55535}}, +{4834, 16, 18637, {1, 3, 1, 15, 23, 25, 57, 215, 111, 181, 385, 1123, 3095, 7085, 31863, 37393}}, +{4835, 16, 18640, {1, 3, 5, 13, 17, 35, 27, 159, 255, 241, 413, 1823, 5329, 1825, 28489, 58763}}, +{4836, 16, 18712, {1, 3, 1, 15, 3, 33, 97, 27, 409, 889, 409, 2315, 4743, 14827, 3037, 57149}}, +{4837, 16, 18728, {1, 1, 3, 5, 19, 63, 93, 51, 233, 715, 1571, 1101, 2751, 14805, 25683, 13323}}, +{4838, 16, 18742, {1, 3, 7, 3, 21, 15, 117, 179, 263, 229, 199, 2597, 3999, 3037, 3801, 4775}}, +{4839, 16, 18748, {1, 3, 3, 15, 1, 15, 49, 91, 383, 21, 1955, 773, 1213, 5971, 19525, 8699}}, +{4840, 16, 18753, {1, 3, 1, 15, 29, 49, 11, 101, 261, 761, 709, 3811, 4055, 15675, 32305, 15173}}, +{4841, 16, 18756, {1, 1, 1, 3, 9, 41, 127, 23, 413, 461, 237, 1595, 2257, 2971, 31845, 61485}}, +{4842, 16, 18771, {1, 1, 1, 11, 23, 13, 63, 21, 23, 209, 1317, 1071, 3619, 7275, 9343, 21455}}, +{4843, 16, 18814, {1, 1, 5, 9, 31, 35, 41, 249, 477, 569, 1175, 1571, 4679, 10337, 3507, 23415}}, +{4844, 16, 18818, {1, 3, 5, 11, 29, 3, 117, 65, 301, 913, 1709, 1765, 1801, 15513, 31495, 38131}}, +{4845, 16, 18827, {1, 3, 5, 11, 27, 3, 71, 195, 81, 313, 505, 3941, 3797, 2031, 24151, 65085}}, +{4846, 16, 18835, {1, 1, 1, 5, 13, 17, 59, 151, 191, 489, 1267, 3207, 4495, 15145, 12789, 46313}}, +{4847, 16, 18842, {1, 3, 1, 7, 29, 9, 25, 31, 33, 527, 1939, 4089, 333, 757, 8895, 25331}}, +{4848, 16, 18854, {1, 1, 1, 1, 9, 27, 11, 205, 211, 141, 1171, 1881, 4029, 10587, 30103, 39661}}, +{4849, 16, 18858, {1, 1, 3, 3, 23, 3, 23, 175, 355, 753, 183, 1331, 6403, 3369, 29891, 11109}}, +{4850, 16, 18895, {1, 3, 7, 3, 17, 25, 95, 145, 135, 525, 1073, 1841, 3951, 2027, 23053, 19699}}, +{4851, 16, 18914, {1, 1, 5, 3, 11, 43, 117, 67, 299, 885, 1095, 2777, 8185, 14331, 29543, 655}}, +{4852, 16, 18925, {1, 3, 7, 7, 3, 59, 127, 147, 323, 713, 99, 1179, 6395, 1821, 12673, 35587}}, +{4853, 16, 18933, {1, 3, 5, 3, 7, 11, 33, 87, 99, 967, 1443, 1585, 6215, 15125, 30747, 21513}}, +{4854, 16, 18937, {1, 3, 7, 11, 23, 5, 91, 171, 229, 601, 833, 3157, 1691, 15081, 20607, 7643}}, +{4855, 16, 18944, {1, 1, 3, 1, 5, 1, 39, 59, 157, 7, 601, 2079, 3045, 3693, 26511, 13245}}, +{4856, 16, 18973, {1, 3, 5, 9, 9, 27, 83, 135, 185, 379, 2027, 1407, 7409, 7363, 26471, 35907}}, +{4857, 16, 19001, {1, 3, 7, 15, 29, 49, 1, 69, 383, 915, 183, 3809, 4511, 8751, 4715, 7033}}, +{4858, 16, 19012, {1, 3, 3, 3, 1, 17, 71, 233, 243, 933, 1165, 3089, 3565, 6521, 13203, 13065}}, +{4859, 16, 19016, {1, 1, 5, 9, 9, 55, 53, 129, 331, 943, 587, 2573, 2247, 15101, 4987, 62983}}, +{4860, 16, 19027, {1, 3, 1, 13, 11, 43, 45, 127, 129, 857, 669, 321, 3915, 4477, 26973, 19911}}, +{4861, 16, 19040, {1, 3, 1, 13, 15, 3, 83, 23, 13, 441, 953, 2373, 3539, 4895, 26327, 61961}}, +{4862, 16, 19074, {1, 1, 5, 13, 23, 11, 125, 83, 339, 901, 1809, 2691, 3789, 15007, 10569, 65399}}, +{4863, 16, 19085, {1, 3, 1, 1, 17, 27, 105, 199, 435, 245, 1227, 3029, 3911, 1021, 2931, 24957}}, +{4864, 16, 19093, {1, 3, 1, 11, 17, 5, 123, 39, 413, 627, 1149, 3925, 6635, 8959, 31387, 65047}}, +{4865, 16, 19100, {1, 3, 5, 1, 23, 41, 93, 217, 21, 115, 1311, 3901, 2559, 2925, 30755, 7575}}, +{4866, 16, 19107, {1, 1, 3, 9, 13, 11, 63, 171, 135, 983, 1679, 395, 7349, 5153, 26405, 40589}}, +{4867, 16, 19128, {1, 3, 7, 13, 27, 47, 53, 169, 85, 871, 1087, 619, 7399, 9719, 6349, 59211}}, +{4868, 16, 19141, {1, 3, 3, 15, 31, 45, 3, 33, 11, 879, 929, 1977, 1939, 1049, 16159, 41515}}, +{4869, 16, 19142, {1, 3, 5, 11, 9, 27, 13, 23, 127, 747, 1121, 2497, 8141, 8601, 12431, 3243}}, +{4870, 16, 19156, {1, 3, 7, 15, 23, 43, 23, 225, 283, 13, 1837, 2089, 6435, 10121, 22307, 58767}}, +{4871, 16, 19169, {1, 1, 5, 11, 17, 3, 41, 221, 143, 669, 261, 1367, 7813, 15265, 32751, 62007}}, +{4872, 16, 19176, {1, 1, 1, 1, 5, 45, 41, 161, 327, 185, 1403, 485, 2831, 10025, 12555, 47661}}, +{4873, 16, 19222, {1, 3, 7, 1, 31, 55, 87, 83, 439, 929, 653, 4095, 5443, 7361, 27801, 12979}}, +{4874, 16, 19226, {1, 3, 1, 7, 1, 57, 11, 145, 55, 269, 711, 1889, 8023, 7171, 3247, 35691}}, +{4875, 16, 19247, {1, 1, 1, 3, 15, 1, 15, 131, 479, 797, 815, 2343, 1603, 10775, 21341, 20825}}, +{4876, 16, 19259, {1, 3, 5, 9, 3, 27, 31, 117, 441, 177, 215, 3991, 3197, 8397, 19195, 3883}}, +{4877, 16, 19262, {1, 1, 5, 13, 1, 19, 13, 27, 157, 1001, 43, 251, 7997, 7495, 16515, 44287}}, +{4878, 16, 19291, {1, 1, 3, 5, 17, 57, 117, 53, 413, 905, 551, 149, 7531, 14885, 32493, 34961}}, +{4879, 16, 19309, {1, 3, 3, 7, 27, 1, 7, 13, 259, 21, 189, 451, 6171, 3603, 12053, 45619}}, +{4880, 16, 19324, {1, 1, 7, 11, 5, 41, 59, 119, 419, 93, 1399, 629, 1269, 3789, 17035, 61583}}, +{4881, 16, 19334, {1, 3, 5, 11, 1, 11, 59, 83, 473, 273, 839, 3111, 3081, 10159, 6143, 16297}}, +{4882, 16, 19338, {1, 1, 5, 15, 25, 15, 17, 63, 275, 927, 189, 89, 6595, 4399, 27201, 57205}}, +{4883, 16, 19343, {1, 1, 7, 3, 31, 17, 63, 203, 321, 655, 1751, 2985, 3291, 11567, 15135, 49747}}, +{4884, 16, 19376, {1, 3, 5, 13, 27, 25, 89, 39, 299, 833, 1269, 271, 6481, 3045, 7203, 20279}}, +{4885, 16, 19408, {1, 3, 1, 1, 29, 13, 13, 37, 33, 563, 1825, 3257, 3153, 963, 25801, 15861}}, +{4886, 16, 19413, {1, 3, 5, 11, 15, 7, 49, 117, 479, 221, 579, 2995, 1673, 14927, 2869, 35547}}, +{4887, 16, 19420, {1, 3, 1, 11, 31, 11, 77, 161, 183, 187, 1967, 3037, 4441, 10547, 1443, 8619}}, +{4888, 16, 19441, {1, 1, 3, 11, 27, 41, 83, 179, 293, 421, 1395, 1673, 6375, 9801, 14265, 18117}}, +{4889, 16, 19444, {1, 1, 3, 7, 9, 19, 55, 235, 499, 637, 1121, 3583, 8007, 3749, 20903, 6179}}, +{4890, 16, 19454, {1, 3, 7, 13, 9, 55, 125, 77, 395, 9, 2005, 2247, 1609, 6805, 13099, 26367}}, +{4891, 16, 19461, {1, 3, 5, 13, 9, 41, 49, 133, 443, 995, 209, 341, 8013, 11037, 29663, 21161}}, +{4892, 16, 19473, {1, 3, 1, 1, 1, 47, 45, 243, 161, 433, 129, 39, 4885, 8777, 6395, 16953}}, +{4893, 16, 19479, {1, 3, 3, 15, 11, 13, 41, 113, 279, 657, 763, 2411, 7115, 463, 10759, 50493}}, +{4894, 16, 19489, {1, 1, 5, 5, 31, 5, 25, 181, 385, 445, 625, 313, 4983, 11763, 6065, 63835}}, +{4895, 16, 19591, {1, 3, 3, 15, 13, 25, 103, 5, 205, 223, 1327, 73, 677, 6751, 2071, 24963}}, +{4896, 16, 19605, {1, 1, 7, 15, 21, 61, 21, 11, 47, 775, 113, 991, 1943, 1459, 18049, 45025}}, +{4897, 16, 19616, {1, 3, 3, 1, 11, 43, 27, 89, 49, 711, 173, 181, 1261, 2751, 21321, 5467}}, +{4898, 16, 19619, {1, 3, 3, 7, 17, 7, 57, 61, 87, 973, 985, 1849, 559, 7319, 11457, 46071}}, +{4899, 16, 19653, {1, 1, 1, 1, 9, 37, 99, 157, 423, 189, 1355, 3983, 6357, 10825, 26517, 45815}}, +{4900, 16, 19654, {1, 1, 3, 11, 23, 33, 57, 55, 59, 831, 339, 725, 359, 14859, 17523, 36149}}, +{4901, 16, 19681, {1, 1, 5, 5, 27, 29, 47, 147, 153, 801, 1737, 3617, 5447, 8011, 30631, 7921}}, +{4902, 16, 19711, {1, 1, 5, 1, 11, 43, 35, 105, 69, 453, 1023, 875, 6755, 6015, 12449, 50235}}, +{4903, 16, 19719, {1, 3, 1, 5, 29, 31, 43, 89, 369, 891, 1447, 353, 8103, 2555, 1197, 64005}}, +{4904, 16, 19726, {1, 3, 3, 9, 21, 33, 117, 205, 473, 289, 1699, 2361, 7083, 13001, 24127, 48611}}, +{4905, 16, 19738, {1, 3, 3, 15, 3, 23, 79, 139, 475, 511, 181, 1331, 6137, 2653, 14071, 16947}}, +{4906, 16, 19767, {1, 3, 3, 1, 11, 47, 51, 217, 305, 599, 1609, 237, 4537, 5377, 717, 13269}}, +{4907, 16, 19819, {1, 1, 7, 3, 19, 31, 1, 173, 509, 817, 785, 1223, 5585, 8911, 643, 44575}}, +{4908, 16, 19864, {1, 1, 3, 11, 5, 11, 31, 129, 269, 369, 1833, 2885, 441, 11517, 2323, 26735}}, +{4909, 16, 19867, {1, 1, 5, 9, 7, 51, 31, 21, 5, 157, 541, 2939, 4569, 1679, 17467, 27995}}, +{4910, 16, 19885, {1, 1, 7, 3, 21, 33, 85, 213, 41, 851, 1947, 3205, 5065, 6079, 30789, 63677}}, +{4911, 16, 19894, {1, 1, 5, 3, 9, 53, 3, 179, 157, 407, 537, 1193, 4645, 13791, 28153, 11349}}, +{4912, 16, 19900, {1, 1, 7, 13, 25, 61, 9, 151, 263, 143, 1583, 2859, 6617, 8861, 4163, 40695}}, +{4913, 16, 19903, {1, 1, 1, 1, 7, 25, 19, 207, 335, 1019, 1919, 3893, 831, 12421, 4667, 38967}}, +{4914, 16, 19941, {1, 3, 5, 3, 5, 51, 81, 9, 425, 333, 451, 2569, 2771, 12145, 26065, 14385}}, +{4915, 16, 19951, {1, 1, 3, 7, 3, 49, 17, 147, 327, 331, 1197, 7, 3703, 15247, 9723, 52819}}, +{4916, 16, 19959, {1, 3, 3, 7, 27, 21, 117, 229, 255, 603, 195, 1049, 6243, 13593, 14553, 8267}}, +{4917, 16, 19966, {1, 1, 5, 15, 9, 53, 1, 187, 79, 151, 321, 1883, 6105, 13879, 8201, 53213}}, +{4918, 16, 20009, {1, 1, 1, 7, 21, 27, 103, 147, 351, 901, 1927, 2145, 2685, 453, 15173, 7371}}, +{4919, 16, 20018, {1, 1, 3, 5, 21, 27, 125, 77, 395, 27, 827, 3617, 6033, 1511, 29461, 18907}}, +{4920, 16, 20020, {1, 3, 5, 3, 3, 27, 75, 129, 441, 831, 1213, 2499, 5829, 12181, 7991, 58167}}, +{4921, 16, 20038, {1, 1, 1, 9, 3, 33, 85, 135, 45, 405, 1731, 551, 1251, 7895, 3975, 41621}}, +{4922, 16, 20049, {1, 3, 5, 7, 19, 19, 25, 7, 477, 569, 1089, 2705, 6157, 10279, 14029, 36229}}, +{4923, 16, 20066, {1, 3, 7, 3, 5, 19, 99, 137, 67, 361, 2021, 2891, 1957, 14961, 22673, 45707}}, +{4924, 16, 20108, {1, 3, 7, 1, 21, 11, 81, 225, 151, 235, 1761, 3875, 7427, 11213, 27023, 17945}}, +{4925, 16, 20130, {1, 1, 7, 1, 3, 1, 3, 123, 39, 769, 1467, 1907, 7833, 2099, 19, 54653}}, +{4926, 16, 20132, {1, 1, 1, 3, 25, 35, 33, 111, 407, 497, 1527, 3999, 3083, 6221, 8319, 56959}}, +{4927, 16, 20167, {1, 1, 3, 15, 21, 49, 113, 11, 191, 801, 1835, 3413, 3379, 13129, 3655, 23885}}, +{4928, 16, 20219, {1, 3, 1, 5, 21, 57, 87, 133, 409, 325, 569, 2099, 8143, 315, 23287, 21905}}, +{4929, 16, 20227, {1, 1, 5, 5, 21, 43, 25, 169, 265, 123, 81, 2683, 6137, 7341, 16383, 26435}}, +{4930, 16, 20263, {1, 3, 1, 5, 23, 17, 125, 173, 3, 829, 693, 751, 8021, 3701, 32643, 35405}}, +{4931, 16, 20267, {1, 1, 3, 1, 31, 13, 1, 195, 435, 487, 961, 1681, 1233, 6001, 3113, 29515}}, +{4932, 16, 20272, {1, 1, 7, 5, 9, 41, 81, 137, 257, 337, 1837, 145, 4191, 6313, 9991, 25541}}, +{4933, 16, 20289, {1, 1, 5, 13, 29, 13, 1, 117, 501, 991, 571, 793, 1433, 6005, 19, 61135}}, +{4934, 16, 20296, {1, 1, 7, 1, 9, 43, 65, 69, 297, 331, 1777, 1843, 6477, 13943, 1301, 51001}}, +{4935, 16, 20307, {1, 1, 1, 3, 7, 35, 23, 211, 33, 649, 255, 1831, 635, 9965, 16679, 14531}}, +{4936, 16, 20316, {1, 1, 1, 13, 23, 57, 113, 247, 321, 401, 1761, 4001, 1823, 14457, 5251, 4965}}, +{4937, 16, 20323, {1, 1, 5, 5, 31, 5, 53, 103, 297, 575, 1577, 2217, 977, 14415, 16953, 14793}}, +{4938, 16, 20335, {1, 1, 5, 7, 9, 19, 25, 29, 121, 563, 1707, 901, 6167, 10799, 11897, 31187}}, +{4939, 16, 20344, {1, 1, 5, 9, 17, 39, 89, 29, 251, 259, 411, 819, 6037, 4601, 11481, 46141}}, +{4940, 16, 20354, {1, 1, 1, 15, 23, 9, 65, 95, 189, 93, 1485, 2417, 5183, 5513, 26623, 42637}}, +{4941, 16, 20360, {1, 1, 5, 5, 3, 3, 113, 161, 463, 225, 1089, 2023, 2341, 14931, 28097, 56365}}, +{4942, 16, 20368, {1, 1, 5, 9, 9, 3, 109, 141, 27, 473, 107, 4023, 3279, 7595, 13289, 35649}}, +{4943, 16, 20390, {1, 1, 5, 3, 9, 37, 73, 153, 487, 57, 2035, 3583, 239, 2183, 10903, 171}}, +{4944, 16, 20402, {1, 3, 3, 15, 23, 39, 87, 217, 451, 597, 1817, 2883, 145, 11341, 16015, 16765}}, +{4945, 16, 20413, {1, 1, 7, 5, 19, 61, 45, 37, 473, 883, 277, 2801, 13, 7021, 3851, 53223}}, +{4946, 16, 20425, {1, 3, 3, 9, 1, 35, 97, 237, 279, 541, 1911, 661, 7603, 8183, 22071, 37317}}, +{4947, 16, 20428, {1, 3, 3, 11, 11, 63, 101, 71, 227, 259, 1545, 2779, 3859, 4859, 18957, 31749}}, +{4948, 16, 20434, {1, 3, 3, 1, 27, 29, 91, 215, 381, 607, 1701, 1709, 247, 12403, 29943, 59533}}, +{4949, 16, 20443, {1, 1, 7, 1, 11, 23, 47, 141, 37, 881, 1443, 3921, 3281, 7417, 1549, 50653}}, +{4950, 16, 20488, {1, 1, 7, 11, 23, 61, 17, 39, 373, 871, 1107, 1875, 1419, 3981, 1333, 11485}}, +{4951, 16, 20502, {1, 1, 7, 11, 21, 51, 127, 145, 129, 425, 1263, 1989, 699, 7317, 24827, 15049}}, +{4952, 16, 20505, {1, 1, 1, 11, 9, 59, 59, 67, 329, 841, 905, 467, 1905, 895, 29711, 25585}}, +{4953, 16, 20535, {1, 1, 1, 15, 3, 39, 11, 205, 297, 383, 445, 2139, 2935, 2399, 22237, 20355}}, +{4954, 16, 20541, {1, 3, 7, 7, 17, 9, 17, 205, 369, 1019, 1703, 755, 5507, 14749, 16461, 14519}}, +{4955, 16, 20554, {1, 3, 7, 3, 5, 31, 97, 35, 43, 249, 773, 4033, 6085, 1241, 24743, 22415}}, +{4956, 16, 20577, {1, 3, 7, 3, 17, 11, 45, 203, 251, 669, 1463, 1897, 7913, 2315, 30307, 15431}}, +{4957, 16, 20583, {1, 1, 5, 5, 7, 53, 83, 13, 1, 841, 423, 1059, 3951, 14209, 11113, 13931}}, +{4958, 16, 20602, {1, 3, 3, 5, 5, 15, 11, 71, 237, 553, 829, 3653, 4991, 1003, 8353, 52173}}, +{4959, 16, 20611, {1, 3, 3, 9, 27, 39, 83, 137, 315, 883, 1155, 3541, 3815, 10633, 13277, 20269}}, +{4960, 16, 20614, {1, 3, 3, 15, 13, 55, 43, 19, 345, 351, 1117, 1747, 1949, 3195, 12241, 52441}}, +{4961, 16, 20626, {1, 1, 3, 5, 1, 11, 113, 117, 37, 103, 1681, 3269, 1659, 14779, 30479, 31123}}, +{4962, 16, 20628, {1, 3, 7, 13, 1, 63, 9, 63, 65, 737, 785, 1713, 8123, 10053, 29871, 17647}}, +{4963, 16, 20635, {1, 1, 3, 5, 17, 45, 71, 37, 283, 145, 1927, 75, 7355, 4681, 2777, 31465}}, +{4964, 16, 20642, {1, 1, 3, 7, 21, 19, 113, 89, 67, 751, 99, 421, 201, 6345, 9473, 39849}}, +{4965, 16, 20674, {1, 1, 5, 11, 31, 57, 75, 79, 393, 745, 1435, 3039, 1175, 983, 923, 42867}}, +{4966, 16, 20716, {1, 1, 5, 9, 31, 47, 31, 61, 85, 651, 1733, 3973, 1979, 7223, 13817, 30593}}, +{4967, 16, 20734, {1, 1, 1, 11, 31, 21, 23, 177, 401, 55, 537, 3775, 3241, 15157, 11849, 15629}}, +{4968, 16, 20765, {1, 1, 1, 13, 31, 53, 79, 57, 35, 617, 61, 89, 6917, 6045, 23879, 45485}}, +{4969, 16, 20801, {1, 3, 7, 7, 3, 43, 57, 243, 107, 321, 273, 2171, 2069, 6171, 29181, 8281}}, +{4970, 16, 20804, {1, 1, 1, 11, 3, 27, 51, 57, 81, 795, 1673, 2601, 7335, 16243, 863, 20663}}, +{4971, 16, 20808, {1, 1, 5, 9, 7, 19, 31, 87, 509, 899, 1133, 1609, 2163, 7595, 10523, 43181}}, +{4972, 16, 20831, {1, 1, 1, 7, 21, 53, 103, 43, 507, 317, 685, 1329, 7057, 7275, 2277, 28271}}, +{4973, 16, 20832, {1, 1, 7, 7, 3, 35, 81, 81, 261, 587, 1571, 2771, 4653, 6517, 25101, 56753}}, +{4974, 16, 20862, {1, 3, 1, 11, 17, 61, 29, 137, 7, 929, 393, 2513, 2423, 5457, 6285, 12525}}, +{4975, 16, 20877, {1, 3, 1, 9, 25, 63, 17, 45, 439, 591, 273, 877, 7741, 8381, 32277, 24635}}, +{4976, 16, 20880, {1, 3, 1, 5, 19, 11, 17, 175, 297, 77, 961, 3331, 5193, 14347, 12713, 32067}}, +{4977, 16, 20885, {1, 1, 5, 11, 3, 17, 13, 21, 219, 653, 1279, 1657, 7659, 14459, 27661, 38093}}, +{4978, 16, 20889, {1, 3, 7, 7, 29, 17, 67, 35, 451, 91, 919, 3163, 7459, 14971, 4317, 42503}}, +{4979, 16, 20905, {1, 3, 3, 15, 7, 61, 69, 211, 349, 97, 911, 503, 3903, 12327, 11049, 29387}}, +{4980, 16, 20914, {1, 1, 7, 3, 5, 7, 63, 237, 387, 931, 693, 1143, 6545, 8529, 25217, 53087}}, +{4981, 16, 20967, {1, 1, 5, 7, 1, 13, 21, 169, 259, 289, 437, 649, 4905, 15261, 29997, 34043}}, +{4982, 16, 21028, {1, 1, 1, 9, 25, 13, 19, 229, 29, 213, 1941, 1501, 3463, 15761, 15635, 39687}}, +{4983, 16, 21031, {1, 1, 5, 7, 13, 29, 101, 57, 483, 913, 1025, 2139, 4327, 7847, 12455, 41797}}, +{4984, 16, 21043, {1, 1, 3, 11, 17, 27, 97, 79, 411, 9, 1797, 3721, 5291, 859, 8889, 6151}}, +{4985, 16, 21052, {1, 1, 1, 5, 17, 61, 45, 187, 157, 301, 1017, 1507, 6031, 4271, 32593, 23739}}, +{4986, 16, 21058, {1, 1, 3, 11, 31, 39, 7, 169, 15, 799, 1585, 2055, 4683, 13247, 23743, 50399}}, +{4987, 16, 21087, {1, 1, 1, 9, 25, 37, 15, 39, 339, 383, 1153, 1211, 5745, 15249, 26021, 39871}}, +{4988, 16, 21088, {1, 1, 3, 13, 17, 51, 27, 137, 231, 877, 309, 3633, 2575, 12259, 2743, 14781}}, +{4989, 16, 21093, {1, 1, 5, 7, 5, 33, 95, 19, 37, 829, 1489, 3525, 3887, 8277, 21867, 3581}}, +{4990, 16, 21106, {1, 1, 1, 15, 11, 33, 99, 213, 365, 549, 1603, 777, 3787, 12209, 14999, 50607}}, +{4991, 16, 21108, {1, 3, 1, 9, 23, 25, 57, 147, 73, 285, 1229, 1763, 4579, 14771, 4003, 38197}}, +{4992, 16, 21118, {1, 1, 5, 1, 15, 55, 25, 209, 135, 895, 311, 139, 2445, 6903, 12129, 27907}}, +{4993, 16, 21122, {1, 1, 5, 7, 23, 29, 33, 135, 325, 517, 2021, 1721, 4235, 2363, 12905, 18811}}, +{4994, 16, 21131, {1, 1, 1, 9, 3, 19, 69, 29, 157, 787, 1969, 3711, 8179, 5691, 4059, 25541}}, +{4995, 16, 21139, {1, 1, 5, 15, 1, 61, 11, 195, 317, 13, 923, 2149, 4001, 12843, 27109, 30625}}, +{4996, 16, 21141, {1, 3, 1, 7, 3, 13, 45, 187, 445, 859, 53, 3227, 4381, 8273, 32699, 48719}}, +{4997, 16, 21146, {1, 1, 7, 7, 21, 19, 47, 101, 119, 311, 577, 3309, 4585, 12109, 15153, 22915}}, +{4998, 16, 21162, {1, 3, 5, 15, 21, 39, 15, 211, 349, 237, 1873, 3333, 7837, 12811, 14321, 20227}}, +{4999, 16, 21164, {1, 1, 5, 5, 19, 47, 15, 239, 23, 763, 537, 1477, 2231, 10885, 19487, 47385}}, +{5000, 16, 21184, {1, 1, 3, 1, 19, 37, 67, 85, 11, 817, 869, 2249, 4111, 12411, 10405, 20055}}, +{5001, 16, 21208, {1, 1, 3, 3, 1, 41, 85, 137, 91, 369, 1863, 759, 303, 15859, 8063, 12811}}, +{5002, 16, 21211, {1, 3, 1, 11, 23, 1, 11, 219, 201, 573, 1573, 619, 2959, 6485, 7483, 46099}}, +{5003, 16, 21213, {1, 3, 3, 9, 13, 9, 9, 255, 47, 375, 409, 1435, 1665, 14967, 3247, 18193}}, +{5004, 16, 21230, {1, 1, 1, 5, 9, 61, 121, 173, 51, 415, 1621, 3947, 1379, 847, 23187, 39259}}, +{5005, 16, 21270, {1, 1, 1, 7, 3, 19, 95, 59, 187, 453, 1533, 445, 2699, 4817, 25983, 50925}}, +{5006, 16, 21276, {1, 3, 5, 13, 25, 25, 33, 5, 497, 1, 535, 1653, 6541, 10939, 17721, 43829}}, +{5007, 16, 21285, {1, 3, 7, 11, 9, 59, 115, 127, 85, 505, 541, 3243, 5853, 12673, 25275, 39577}}, +{5008, 16, 21297, {1, 3, 7, 1, 17, 25, 83, 127, 225, 295, 1823, 2051, 847, 4249, 13763, 5723}}, +{5009, 16, 21304, {1, 1, 1, 5, 3, 63, 39, 131, 191, 983, 119, 3287, 3335, 7969, 31347, 39439}}, +{5010, 16, 21310, {1, 3, 7, 9, 19, 31, 19, 91, 35, 677, 1229, 1371, 6497, 3315, 15239, 54235}}, +{5011, 16, 21330, {1, 1, 1, 15, 3, 49, 113, 199, 135, 35, 709, 385, 7923, 3711, 18351, 12711}}, +{5012, 16, 21339, {1, 1, 3, 15, 31, 13, 41, 1, 183, 95, 1625, 1675, 7881, 6607, 4165, 27151}}, +{5013, 16, 21346, {1, 3, 3, 15, 21, 57, 81, 49, 5, 297, 131, 883, 1113, 2497, 32129, 39139}}, +{5014, 16, 21391, {1, 3, 5, 7, 29, 47, 101, 173, 299, 879, 143, 3341, 3929, 6797, 8753, 47963}}, +{5015, 16, 21427, {1, 3, 3, 13, 11, 39, 27, 187, 27, 763, 1515, 1903, 5897, 10061, 14595, 12713}}, +{5016, 16, 21451, {1, 3, 5, 11, 27, 35, 37, 213, 45, 867, 1591, 3083, 8123, 5045, 31703, 61487}}, +{5017, 16, 21465, {1, 1, 3, 5, 3, 31, 23, 89, 369, 371, 1165, 3673, 6821, 333, 10881, 4153}}, +{5018, 16, 21468, {1, 1, 7, 13, 1, 33, 49, 195, 223, 197, 1799, 2427, 6171, 493, 13503, 23619}}, +{5019, 16, 21471, {1, 1, 3, 9, 5, 59, 105, 215, 449, 527, 1661, 2643, 309, 11239, 11633, 63459}}, +{5020, 16, 21533, {1, 1, 3, 11, 13, 11, 15, 99, 409, 807, 1911, 883, 1323, 9037, 6401, 545}}, +{5021, 16, 21610, {1, 1, 5, 7, 7, 7, 1, 167, 353, 923, 1403, 3109, 4981, 3877, 25451, 4667}}, +{5022, 16, 21615, {1, 1, 5, 11, 11, 25, 121, 153, 111, 785, 1301, 1497, 6267, 14919, 24125, 52029}}, +{5023, 16, 21630, {1, 3, 3, 5, 29, 55, 63, 177, 305, 41, 111, 1065, 1127, 113, 2815, 12979}}, +{5024, 16, 21633, {1, 3, 5, 7, 23, 39, 17, 179, 267, 917, 511, 3923, 915, 14173, 10689, 50749}}, +{5025, 16, 21657, {1, 1, 5, 3, 9, 45, 15, 157, 495, 625, 407, 2769, 3267, 7593, 17957, 54597}}, +{5026, 16, 21658, {1, 3, 3, 11, 21, 13, 5, 207, 107, 965, 1803, 1541, 3487, 3483, 109, 26923}}, +{5027, 16, 21669, {1, 1, 5, 11, 25, 49, 99, 135, 109, 371, 1307, 1815, 1095, 2329, 27101, 52269}}, +{5028, 16, 21670, {1, 3, 5, 5, 13, 9, 109, 79, 151, 47, 311, 3873, 3645, 3773, 1083, 31599}}, +{5029, 16, 21673, {1, 3, 5, 15, 1, 9, 87, 21, 145, 583, 159, 2435, 587, 10123, 24803, 19993}}, +{5030, 16, 21701, {1, 3, 1, 1, 23, 11, 5, 45, 373, 1011, 1353, 277, 7051, 3845, 12391, 25313}}, +{5031, 16, 21719, {1, 1, 1, 9, 13, 13, 109, 251, 97, 483, 1723, 2555, 813, 9345, 11351, 44705}}, +{5032, 16, 21720, {1, 3, 5, 7, 21, 49, 63, 13, 119, 813, 1559, 983, 499, 15159, 24163, 59903}}, +{5033, 16, 21747, {1, 1, 3, 5, 27, 33, 27, 165, 207, 693, 1401, 1357, 7637, 337, 10163, 43273}}, +{5034, 16, 21819, {1, 1, 5, 13, 29, 7, 71, 187, 1, 655, 1829, 2645, 6969, 5435, 28415, 33199}}, +{5035, 16, 21839, {1, 1, 1, 13, 17, 21, 13, 141, 41, 267, 1165, 1893, 3455, 10737, 16693, 33065}}, +{5036, 16, 21854, {1, 1, 5, 1, 7, 27, 7, 67, 107, 11, 763, 2529, 3023, 15745, 17023, 51911}}, +{5037, 16, 21857, {1, 3, 3, 3, 7, 57, 123, 249, 309, 511, 1655, 1379, 725, 7325, 20261, 65039}}, +{5038, 16, 21864, {1, 1, 5, 11, 3, 27, 23, 27, 285, 771, 2017, 1727, 4847, 2665, 30655, 47625}}, +{5039, 16, 21882, {1, 3, 7, 7, 17, 3, 93, 133, 427, 1021, 1135, 341, 6711, 11713, 24157, 1561}}, +{5040, 16, 21900, {1, 1, 3, 7, 15, 55, 11, 247, 65, 115, 1967, 535, 841, 15131, 28381, 31337}}, +{5041, 16, 21903, {1, 3, 1, 7, 9, 45, 73, 151, 127, 125, 767, 2003, 6893, 3875, 451, 30275}}, +{5042, 16, 21928, {1, 1, 7, 3, 5, 55, 127, 123, 163, 763, 1165, 1637, 6267, 7215, 23403, 20961}}, +{5043, 16, 21931, {1, 1, 1, 13, 1, 21, 65, 141, 369, 413, 1675, 27, 7357, 6929, 18083, 829}}, +{5044, 16, 21946, {1, 3, 5, 13, 1, 17, 97, 107, 249, 931, 47, 3537, 2245, 9827, 13673, 23217}}, +{5045, 16, 21971, {1, 1, 1, 11, 13, 19, 43, 31, 51, 727, 1001, 927, 771, 11853, 5761, 60537}}, +{5046, 16, 21974, {1, 3, 1, 7, 23, 27, 115, 5, 201, 431, 1021, 585, 6069, 12511, 6129, 2105}}, +{5047, 16, 21978, {1, 1, 3, 11, 3, 25, 75, 129, 389, 131, 223, 2263, 5377, 5561, 15633, 39527}}, +{5048, 16, 21993, {1, 3, 3, 1, 27, 43, 101, 55, 319, 549, 1971, 2255, 353, 93, 25661, 59077}}, +{5049, 16, 21994, {1, 1, 5, 11, 29, 57, 27, 135, 341, 913, 1637, 1781, 457, 11293, 1013, 53863}}, +{5050, 16, 22030, {1, 1, 1, 11, 3, 51, 79, 251, 443, 651, 393, 3635, 7397, 5443, 4225, 991}}, +{5051, 16, 22035, {1, 3, 7, 13, 31, 9, 3, 109, 427, 735, 891, 2789, 2169, 6459, 355, 43177}}, +{5052, 16, 22063, {1, 3, 3, 3, 13, 7, 93, 195, 293, 37, 75, 2467, 933, 8017, 9925, 61397}}, +{5053, 16, 22068, {1, 1, 5, 7, 25, 15, 69, 199, 161, 769, 387, 1491, 4553, 4173, 25631, 37089}}, +{5054, 16, 22086, {1, 3, 1, 3, 7, 59, 53, 93, 103, 413, 531, 887, 6149, 2901, 22611, 27135}}, +{5055, 16, 22104, {1, 1, 1, 13, 31, 39, 71, 215, 385, 821, 1603, 3043, 4967, 10953, 11543, 64433}}, +{5056, 16, 22119, {1, 3, 1, 7, 7, 63, 5, 143, 1, 339, 1165, 3809, 4257, 12879, 21581, 21307}}, +{5057, 16, 22153, {1, 1, 1, 15, 1, 35, 67, 227, 277, 879, 513, 3423, 6153, 11573, 12809, 34335}}, +{5058, 16, 22168, {1, 3, 7, 9, 9, 39, 47, 17, 101, 179, 631, 1307, 481, 871, 16807, 39811}}, +{5059, 16, 22183, {1, 3, 1, 1, 13, 25, 53, 179, 285, 267, 407, 3781, 3267, 3545, 525, 15733}}, +{5060, 16, 22189, {1, 1, 1, 13, 11, 35, 45, 181, 319, 767, 283, 3021, 5405, 403, 3587, 7291}}, +{5061, 16, 22204, {1, 1, 7, 3, 5, 9, 67, 129, 101, 117, 267, 1925, 1209, 13095, 7123, 62941}}, +{5062, 16, 22230, {1, 1, 7, 3, 5, 63, 109, 199, 95, 421, 193, 3519, 6551, 955, 1679, 16627}}, +{5063, 16, 22240, {1, 1, 5, 13, 1, 47, 71, 157, 343, 653, 981, 1335, 3737, 7185, 28861, 22883}}, +{5064, 16, 22246, {1, 1, 3, 15, 7, 63, 7, 81, 481, 5, 1159, 1361, 4167, 2575, 7437, 16917}}, +{5065, 16, 22269, {1, 3, 7, 1, 27, 17, 61, 193, 317, 841, 1149, 955, 5161, 4275, 1955, 15665}}, +{5066, 16, 22282, {1, 1, 1, 7, 19, 63, 77, 57, 367, 237, 579, 3701, 5763, 4951, 24151, 45215}}, +{5067, 16, 22302, {1, 1, 5, 11, 29, 7, 119, 155, 431, 999, 757, 2433, 5811, 3709, 29573, 23639}}, +{5068, 16, 22330, {1, 3, 3, 3, 15, 35, 125, 13, 275, 507, 1719, 1537, 2349, 12909, 8107, 9845}}, +{5069, 16, 22347, {1, 3, 1, 13, 27, 27, 11, 69, 15, 1017, 207, 625, 809, 2921, 8939, 30293}}, +{5070, 16, 22349, {1, 1, 7, 11, 31, 51, 113, 193, 69, 845, 73, 919, 3523, 3987, 23665, 36527}}, +{5071, 16, 22383, {1, 3, 7, 11, 21, 31, 103, 29, 5, 81, 1081, 3847, 4697, 8857, 30769, 40053}}, +{5072, 16, 22386, {1, 1, 1, 1, 5, 11, 5, 169, 13, 899, 769, 3823, 5405, 5991, 3821, 27767}}, +{5073, 16, 22432, {1, 1, 3, 15, 1, 35, 9, 83, 23, 701, 1807, 1681, 4009, 127, 31751, 38059}}, +{5074, 16, 22450, {1, 3, 3, 7, 9, 61, 73, 111, 193, 607, 2001, 413, 3751, 16337, 16597, 23959}}, +{5075, 16, 22473, {1, 1, 7, 7, 21, 29, 53, 253, 187, 507, 1191, 3521, 463, 2167, 23785, 19867}}, +{5076, 16, 22487, {1, 3, 5, 3, 19, 43, 101, 93, 257, 61, 1589, 3883, 1975, 7283, 5253, 23257}}, +{5077, 16, 22527, {1, 3, 1, 9, 1, 63, 25, 101, 377, 571, 1701, 3385, 243, 12051, 32619, 10459}}, +{5078, 16, 22537, {1, 1, 1, 5, 17, 11, 37, 197, 205, 879, 625, 959, 7389, 7857, 20615, 20405}}, +{5079, 16, 22557, {1, 3, 5, 5, 27, 41, 9, 109, 197, 623, 1045, 63, 7977, 11355, 28613, 5131}}, +{5080, 16, 22561, {1, 1, 5, 11, 5, 29, 27, 85, 131, 247, 433, 3981, 2677, 15415, 869, 6045}}, +{5081, 16, 22568, {1, 3, 1, 13, 9, 49, 25, 79, 135, 719, 93, 631, 2149, 5929, 29833, 38673}}, +{5082, 16, 22573, {1, 3, 7, 11, 15, 13, 37, 233, 227, 205, 1579, 65, 1429, 13499, 26355, 63821}}, +{5083, 16, 22591, {1, 1, 5, 11, 21, 19, 7, 183, 409, 275, 899, 3665, 6207, 849, 24339, 1617}}, +{5084, 16, 22593, {1, 3, 1, 3, 21, 61, 23, 125, 463, 489, 1265, 2975, 3907, 11881, 7533, 43331}}, +{5085, 16, 22605, {1, 3, 1, 15, 15, 51, 83, 31, 175, 47, 1791, 3651, 6735, 5013, 723, 24141}}, +{5086, 16, 22620, {1, 3, 1, 9, 17, 41, 57, 43, 469, 911, 1251, 2105, 3133, 3437, 10097, 26687}}, +{5087, 16, 22627, {1, 1, 3, 3, 9, 9, 125, 201, 141, 943, 1509, 1239, 6575, 8707, 363, 23309}}, +{5088, 16, 22636, {1, 1, 5, 3, 19, 37, 43, 141, 413, 149, 1449, 1003, 4473, 12395, 4101, 61201}}, +{5089, 16, 22647, {1, 1, 5, 11, 17, 37, 41, 33, 57, 627, 325, 1895, 1773, 1339, 24859, 587}}, +{5090, 16, 22697, {1, 1, 1, 3, 5, 49, 127, 109, 361, 853, 1437, 3451, 4031, 5379, 27463, 47425}}, +{5091, 16, 22715, {1, 3, 5, 7, 9, 57, 71, 219, 347, 791, 797, 73, 6241, 12717, 24429, 40977}}, +{5092, 16, 22725, {1, 1, 5, 9, 27, 43, 43, 227, 433, 413, 1109, 2589, 4535, 8947, 8121, 43479}}, +{5093, 16, 22732, {1, 3, 7, 1, 9, 21, 81, 23, 157, 313, 197, 2845, 8059, 15957, 28657, 28093}}, +{5094, 16, 22749, {1, 3, 1, 11, 15, 17, 115, 27, 421, 743, 1885, 2089, 5011, 7137, 7395, 36853}}, +{5095, 16, 22766, {1, 1, 5, 15, 5, 53, 69, 255, 63, 29, 1011, 3201, 1467, 15441, 26255, 62895}}, +{5096, 16, 22768, {1, 3, 1, 11, 3, 47, 35, 195, 149, 849, 1317, 439, 3539, 845, 15295, 42183}}, +{5097, 16, 22771, {1, 1, 5, 15, 15, 37, 67, 105, 495, 985, 1777, 3137, 8039, 11795, 29771, 35045}}, +{5098, 16, 22788, {1, 1, 3, 1, 25, 17, 67, 227, 229, 419, 1319, 3325, 1293, 8585, 28425, 34013}}, +{5099, 16, 22797, {1, 1, 5, 1, 27, 51, 71, 197, 375, 407, 259, 4005, 3309, 5475, 13421, 60065}}, +{5100, 16, 22822, {1, 3, 1, 5, 11, 17, 89, 45, 311, 425, 1629, 773, 7267, 8699, 27547, 37081}}, +{5101, 16, 22828, {1, 3, 1, 7, 9, 25, 101, 105, 489, 217, 103, 1959, 4049, 5793, 31201, 11947}}, +{5102, 16, 22851, {1, 1, 5, 5, 19, 3, 63, 55, 431, 49, 273, 3253, 5357, 13801, 9735, 21883}}, +{5103, 16, 22888, {1, 1, 1, 11, 13, 3, 75, 201, 477, 201, 1875, 657, 6217, 8651, 2207, 16421}}, +{5104, 16, 22893, {1, 1, 5, 13, 5, 31, 75, 113, 25, 171, 1147, 3089, 7095, 4405, 26155, 42323}}, +{5105, 16, 22901, {1, 3, 5, 5, 5, 49, 99, 171, 445, 1023, 1793, 3159, 5809, 12509, 31723, 60411}}, +{5106, 16, 22902, {1, 3, 7, 3, 23, 51, 111, 27, 103, 159, 433, 293, 1741, 3599, 4067, 40667}}, +{5107, 16, 22921, {1, 3, 3, 13, 11, 9, 11, 21, 453, 35, 1649, 1261, 3539, 14081, 5581, 57105}}, +{5108, 16, 22929, {1, 3, 3, 13, 7, 9, 113, 87, 391, 647, 223, 1345, 4481, 9855, 20129, 10807}}, +{5109, 16, 22946, {1, 3, 7, 15, 3, 61, 15, 117, 97, 495, 985, 819, 181, 1363, 13111, 35857}}, +{5110, 16, 22948, {1, 3, 1, 9, 3, 27, 125, 151, 217, 961, 707, 2647, 5307, 621, 12581, 13941}}, +{5111, 16, 22951, {1, 3, 1, 11, 17, 37, 35, 211, 179, 29, 627, 3623, 6429, 16237, 24699, 14385}}, +{5112, 16, 22958, {1, 3, 3, 9, 3, 57, 35, 3, 85, 1017, 1739, 2241, 7297, 15637, 27085, 41237}}, +{5113, 16, 22975, {1, 1, 3, 7, 7, 13, 5, 85, 505, 51, 409, 867, 677, 12451, 13633, 47883}}, +{5114, 16, 22983, {1, 3, 5, 13, 5, 51, 37, 79, 237, 133, 1331, 3263, 349, 4971, 16067, 62485}}, +{5115, 16, 22990, {1, 1, 7, 11, 29, 41, 101, 219, 391, 1023, 1681, 3163, 4071, 14665, 11041, 14523}}, +{5116, 16, 23032, {1, 1, 3, 3, 13, 55, 37, 119, 471, 665, 1315, 3071, 5993, 12005, 13549, 63425}}, +{5117, 16, 23047, {1, 3, 5, 7, 5, 25, 59, 71, 77, 841, 91, 1841, 6997, 1139, 11843, 52209}}, +{5118, 16, 23053, {1, 3, 7, 15, 17, 25, 85, 173, 373, 459, 1713, 1055, 5337, 9921, 15213, 44235}}, +{5119, 16, 23054, {1, 1, 1, 15, 7, 11, 89, 237, 131, 565, 745, 457, 4447, 5581, 11053, 43819}}, +{5120, 16, 23082, {1, 3, 5, 1, 29, 21, 11, 7, 125, 851, 2023, 3321, 1885, 67, 8809, 43291}}, +{5121, 16, 23095, {1, 3, 5, 11, 11, 43, 41, 97, 353, 813, 85, 2453, 769, 11709, 4697, 2849}}, +{5122, 16, 23116, {1, 1, 5, 5, 21, 29, 87, 179, 157, 981, 129, 2139, 6841, 5479, 27111, 20749}}, +{5123, 16, 23197, {1, 1, 3, 9, 31, 59, 61, 15, 423, 33, 467, 1817, 6535, 7341, 31061, 20937}}, +{5124, 16, 23221, {1, 1, 7, 3, 1, 21, 127, 135, 321, 699, 727, 3079, 753, 3971, 5611, 28345}}, +{5125, 16, 23257, {1, 3, 7, 11, 27, 3, 39, 63, 389, 433, 43, 1443, 6241, 10769, 20485, 58823}}, +{5126, 16, 23260, {1, 1, 1, 11, 3, 13, 5, 57, 503, 707, 677, 3355, 6691, 8841, 20041, 11867}}, +{5127, 16, 23263, {1, 1, 3, 11, 31, 39, 107, 221, 81, 125, 1439, 2429, 2109, 3931, 31007, 10915}}, +{5128, 16, 23267, {1, 3, 3, 9, 17, 53, 13, 121, 127, 15, 1825, 1909, 5951, 13503, 31565, 56163}}, +{5129, 16, 23282, {1, 1, 1, 1, 19, 55, 3, 153, 385, 277, 1297, 3655, 6027, 3057, 11341, 46989}}, +{5130, 16, 23284, {1, 1, 5, 9, 3, 55, 37, 223, 353, 141, 1917, 3827, 2255, 7617, 10971, 10641}}, +{5131, 16, 23314, {1, 3, 7, 9, 29, 41, 71, 19, 137, 243, 2047, 395, 6981, 15887, 9479, 60199}}, +{5132, 16, 23326, {1, 1, 1, 9, 17, 43, 51, 191, 405, 727, 485, 987, 1855, 15801, 22529, 10165}}, +{5133, 16, 23335, {1, 3, 1, 7, 27, 31, 69, 255, 153, 793, 1353, 1981, 83, 11387, 6747, 23379}}, +{5134, 16, 23368, {1, 1, 5, 5, 31, 49, 83, 157, 63, 647, 1367, 3995, 5899, 8429, 18317, 3471}}, +{5135, 16, 23373, {1, 3, 5, 13, 19, 15, 99, 13, 143, 887, 529, 2855, 573, 9799, 13585, 59263}}, +{5136, 16, 23401, {1, 3, 5, 3, 13, 47, 103, 87, 11, 381, 397, 899, 71, 15539, 13005, 38297}}, +{5137, 16, 23415, {1, 1, 1, 3, 1, 53, 45, 141, 1, 941, 261, 3291, 5177, 9843, 6309, 62799}}, +{5138, 16, 23432, {1, 1, 5, 9, 29, 31, 107, 57, 135, 229, 1147, 247, 265, 12757, 21365, 7219}}, +{5139, 16, 23476, {1, 1, 1, 3, 1, 49, 55, 247, 495, 449, 141, 1349, 7393, 2589, 23587, 1097}}, +{5140, 16, 23479, {1, 3, 5, 1, 9, 11, 73, 153, 89, 575, 1805, 137, 435, 3687, 32169, 24275}}, +{5141, 16, 23497, {1, 1, 7, 15, 25, 61, 51, 21, 109, 139, 611, 3907, 6721, 5081, 6665, 51463}}, +{5142, 16, 23505, {1, 1, 1, 9, 13, 23, 59, 203, 33, 1013, 1533, 291, 6171, 15463, 8581, 9497}}, +{5143, 16, 23508, {1, 3, 3, 9, 7, 25, 51, 189, 49, 265, 1163, 1141, 2467, 7839, 7083, 65527}}, +{5144, 16, 23531, {1, 1, 3, 9, 19, 33, 77, 9, 181, 919, 623, 1521, 7853, 2199, 24115, 60607}}, +{5145, 16, 23536, {1, 1, 3, 11, 9, 11, 27, 57, 355, 313, 151, 3391, 4869, 12541, 30031, 29455}}, +{5146, 16, 23542, {1, 3, 5, 9, 17, 13, 91, 123, 235, 841, 1113, 1451, 501, 3863, 32483, 9445}}, +{5147, 16, 23565, {1, 3, 7, 3, 13, 25, 87, 243, 449, 293, 1279, 3571, 2693, 13459, 5895, 38127}}, +{5148, 16, 23573, {1, 1, 3, 15, 27, 61, 7, 57, 255, 971, 131, 2585, 2187, 7191, 17779, 34587}}, +{5149, 16, 23590, {1, 3, 3, 7, 23, 29, 55, 41, 463, 873, 1781, 2851, 4731, 9819, 25587, 32199}}, +{5150, 16, 23593, {1, 1, 1, 9, 29, 39, 25, 143, 171, 141, 223, 467, 4417, 9575, 23159, 33819}}, +{5151, 16, 23604, {1, 1, 5, 13, 19, 61, 19, 75, 25, 361, 585, 1627, 2231, 1831, 24885, 37917}}, +{5152, 16, 23621, {1, 3, 7, 7, 23, 19, 59, 55, 323, 55, 143, 131, 27, 15363, 26423, 43963}}, +{5153, 16, 23622, {1, 1, 5, 5, 25, 9, 33, 17, 427, 481, 315, 3999, 4757, 4545, 7695, 56733}}, +{5154, 16, 23636, {1, 3, 5, 13, 5, 59, 45, 117, 115, 263, 1441, 3307, 1085, 3875, 25869, 19725}}, +{5155, 16, 23662, {1, 3, 3, 15, 13, 39, 31, 243, 293, 345, 343, 1911, 6123, 12577, 32081, 59993}}, +{5156, 16, 23667, {1, 3, 5, 13, 17, 37, 105, 201, 205, 929, 435, 1467, 8063, 6963, 13709, 53275}}, +{5157, 16, 23703, {1, 3, 7, 15, 31, 3, 65, 221, 191, 413, 427, 2579, 377, 2793, 26943, 61299}}, +{5158, 16, 23725, {1, 3, 5, 3, 11, 61, 75, 107, 53, 689, 1845, 859, 333, 889, 27607, 48795}}, +{5159, 16, 23734, {1, 1, 5, 7, 1, 11, 37, 181, 323, 187, 1511, 25, 5517, 11957, 7093, 429}}, +{5160, 16, 23738, {1, 3, 3, 1, 25, 31, 125, 139, 433, 583, 683, 587, 5389, 1225, 26047, 18717}}, +{5161, 16, 23752, {1, 3, 1, 15, 23, 33, 23, 147, 279, 513, 157, 4023, 2669, 7543, 2111, 9191}}, +{5162, 16, 23800, {1, 3, 1, 1, 5, 39, 55, 127, 257, 649, 347, 3001, 2215, 15579, 29665, 10337}}, +{5163, 16, 23803, {1, 1, 1, 15, 19, 55, 105, 183, 505, 1003, 1311, 2253, 1861, 3561, 19581, 46183}}, +{5164, 16, 23818, {1, 3, 1, 9, 23, 5, 127, 215, 195, 817, 719, 1285, 919, 8627, 20427, 2723}}, +{5165, 16, 23832, {1, 1, 1, 5, 15, 31, 43, 131, 377, 57, 1531, 915, 2871, 1805, 19765, 60529}}, +{5166, 16, 23842, {1, 3, 3, 3, 15, 1, 93, 55, 477, 221, 643, 1319, 959, 475, 14015, 48823}}, +{5167, 16, 23851, {1, 3, 3, 7, 19, 13, 13, 191, 421, 751, 1103, 2129, 1973, 14935, 26485, 41269}}, +{5168, 16, 23873, {1, 1, 5, 13, 17, 43, 81, 83, 67, 643, 1799, 1157, 4365, 2815, 29871, 5351}}, +{5169, 16, 23883, {1, 3, 1, 9, 21, 31, 87, 177, 25, 403, 1357, 4047, 959, 5133, 7307, 4333}}, +{5170, 16, 23888, {1, 1, 7, 7, 29, 39, 27, 139, 159, 529, 1323, 3823, 4569, 12711, 30263, 10961}}, +{5171, 16, 23910, {1, 3, 1, 13, 27, 15, 59, 1, 107, 723, 497, 43, 143, 16119, 29177, 5653}}, +{5172, 16, 23934, {1, 1, 5, 9, 15, 41, 23, 109, 101, 639, 277, 1687, 1311, 1995, 5403, 6867}}, +{5173, 16, 23938, {1, 1, 5, 3, 13, 1, 95, 177, 379, 545, 789, 3479, 4135, 445, 5869, 38923}}, +{5174, 16, 23949, {1, 1, 3, 9, 21, 31, 23, 65, 209, 383, 271, 367, 6605, 1169, 27267, 9331}}, +{5175, 16, 23955, {1, 1, 1, 1, 27, 39, 121, 29, 155, 465, 947, 2675, 6753, 11647, 29781, 30251}}, +{5176, 16, 23967, {1, 3, 1, 5, 7, 45, 7, 21, 223, 363, 1021, 751, 2257, 14423, 19629, 64867}}, +{5177, 16, 23973, {1, 3, 1, 9, 31, 53, 13, 99, 49, 389, 867, 327, 4145, 3265, 15423, 14985}}, +{5178, 16, 23991, {1, 1, 1, 15, 11, 11, 27, 41, 333, 161, 1343, 2023, 3789, 13563, 16957, 26849}}, +{5179, 16, 24024, {1, 3, 7, 1, 7, 51, 7, 163, 239, 393, 231, 3985, 309, 875, 837, 24791}}, +{5180, 16, 24030, {1, 1, 1, 7, 1, 43, 105, 7, 351, 755, 1781, 1925, 4961, 2961, 13427, 44317}}, +{5181, 16, 24039, {1, 3, 1, 9, 17, 39, 81, 75, 201, 931, 1547, 1857, 7251, 11687, 14437, 12603}}, +{5182, 16, 24067, {1, 3, 3, 15, 15, 23, 95, 7, 193, 9, 1749, 809, 5083, 14645, 24893, 35979}}, +{5183, 16, 24069, {1, 1, 7, 1, 9, 9, 127, 149, 433, 985, 1347, 3379, 2881, 681, 20777, 30703}}, +{5184, 16, 24084, {1, 3, 1, 11, 1, 27, 121, 111, 251, 45, 1341, 1709, 3733, 11297, 29063, 57119}}, +{5185, 16, 24112, {1, 3, 3, 1, 19, 3, 77, 127, 187, 831, 1125, 3119, 4665, 9857, 5301, 36755}}, +{5186, 16, 24115, {1, 3, 3, 3, 29, 29, 61, 225, 257, 635, 665, 1279, 3019, 2401, 8253, 40251}}, +{5187, 16, 24184, {1, 1, 7, 9, 29, 43, 47, 95, 221, 823, 257, 1485, 5183, 225, 27675, 60479}}, +{5188, 16, 24187, {1, 1, 5, 3, 15, 49, 25, 69, 101, 393, 901, 305, 4917, 13479, 30209, 9199}}, +{5189, 16, 24262, {1, 1, 3, 15, 1, 9, 47, 243, 403, 341, 143, 1365, 1817, 6017, 3853, 58625}}, +{5190, 16, 24276, {1, 3, 3, 11, 9, 49, 93, 149, 39, 177, 1863, 1027, 659, 9253, 2131, 26943}}, +{5191, 16, 24279, {1, 3, 1, 3, 25, 1, 43, 255, 217, 353, 957, 39, 4607, 15761, 24291, 33619}}, +{5192, 16, 24313, {1, 1, 1, 7, 29, 51, 71, 237, 1, 703, 19, 213, 6429, 11783, 22049, 30597}}, +{5193, 16, 24331, {1, 3, 1, 7, 31, 63, 105, 203, 473, 731, 257, 91, 5749, 4099, 30125, 40171}}, +{5194, 16, 24336, {1, 3, 7, 9, 7, 29, 119, 181, 225, 743, 1031, 55, 3997, 16221, 11663, 14847}}, +{5195, 16, 24348, {1, 3, 3, 11, 5, 21, 43, 17, 473, 981, 125, 2077, 6141, 4757, 7585, 29207}}, +{5196, 16, 24367, {1, 1, 7, 1, 27, 61, 27, 45, 267, 483, 119, 767, 957, 3411, 2653, 53967}}, +{5197, 16, 24372, {1, 1, 1, 3, 9, 41, 43, 17, 485, 253, 825, 3605, 5919, 9285, 1815, 6095}}, +{5198, 16, 24402, {1, 1, 1, 11, 7, 5, 53, 107, 309, 609, 1389, 2035, 861, 15565, 9375, 42363}}, +{5199, 16, 24420, {1, 3, 5, 3, 27, 57, 7, 177, 183, 227, 865, 183, 2903, 6325, 4393, 5257}}, +{5200, 16, 24444, {1, 3, 1, 5, 21, 29, 79, 107, 365, 427, 813, 3563, 7713, 3865, 4289, 28555}}, +{5201, 16, 24465, {1, 3, 5, 7, 11, 27, 1, 197, 425, 769, 1737, 3627, 1273, 4469, 11967, 823}}, +{5202, 16, 24466, {1, 1, 1, 13, 3, 31, 127, 159, 471, 367, 2047, 949, 1591, 12429, 21497, 27153}}, +{5203, 16, 24471, {1, 3, 1, 3, 3, 31, 31, 87, 243, 413, 1777, 1361, 4575, 1147, 17451, 33985}}, +{5204, 16, 24475, {1, 3, 3, 5, 13, 47, 45, 3, 165, 329, 743, 397, 2479, 4999, 12921, 26689}}, +{5205, 16, 24481, {1, 1, 5, 7, 17, 59, 25, 117, 217, 601, 235, 2691, 5569, 7853, 31063, 28281}}, +{5206, 16, 24488, {1, 3, 1, 11, 11, 39, 71, 77, 481, 39, 363, 1921, 3263, 12849, 13325, 41803}}, +{5207, 16, 24501, {1, 3, 7, 5, 19, 1, 59, 197, 239, 787, 1657, 1449, 4245, 1317, 19609, 53583}}, +{5208, 16, 24514, {1, 1, 7, 1, 13, 33, 81, 53, 223, 323, 477, 2421, 4045, 1855, 5823, 9661}}, +{5209, 16, 24531, {1, 3, 1, 7, 1, 3, 121, 19, 329, 569, 481, 3443, 499, 12407, 19625, 4627}}, +{5210, 16, 24534, {1, 1, 1, 7, 3, 33, 91, 241, 69, 581, 1635, 1025, 4677, 14651, 5229, 19555}}, +{5211, 16, 24559, {1, 3, 1, 15, 9, 11, 99, 47, 489, 755, 601, 1221, 4251, 4377, 20567, 33839}}, +{5212, 16, 24602, {1, 3, 3, 5, 21, 21, 127, 151, 499, 971, 1627, 609, 2365, 3183, 7413, 697}}, +{5213, 16, 24614, {1, 3, 7, 13, 5, 35, 61, 121, 51, 297, 29, 1825, 495, 1299, 12741, 3253}}, +{5214, 16, 24637, {1, 1, 1, 1, 13, 15, 49, 205, 235, 9, 849, 1101, 4533, 10221, 32419, 50151}}, +{5215, 16, 24664, {1, 1, 3, 13, 29, 31, 57, 77, 217, 195, 1951, 189, 981, 6169, 22677, 64415}}, +{5216, 16, 24676, {1, 3, 1, 5, 15, 37, 25, 233, 43, 843, 1205, 153, 6339, 3767, 16725, 32699}}, +{5217, 16, 24679, {1, 3, 3, 1, 19, 37, 11, 217, 461, 897, 1181, 2815, 295, 15153, 25351, 57211}}, +{5218, 16, 24697, {1, 3, 5, 11, 15, 9, 5, 179, 353, 769, 1457, 2919, 1201, 14871, 29549, 52265}}, +{5219, 16, 24709, {1, 1, 3, 3, 5, 51, 127, 221, 329, 543, 1537, 2701, 2709, 9311, 2715, 42669}}, +{5220, 16, 24714, {1, 3, 5, 15, 5, 41, 79, 233, 445, 265, 2001, 935, 3133, 3977, 3601, 21389}}, +{5221, 16, 24716, {1, 3, 5, 11, 3, 7, 115, 45, 311, 827, 1897, 3399, 4251, 5341, 22621, 25519}}, +{5222, 16, 24731, {1, 3, 7, 1, 11, 57, 117, 103, 401, 505, 1683, 2161, 4363, 11189, 20263, 13065}}, +{5223, 16, 24744, {1, 1, 1, 7, 23, 29, 31, 77, 63, 179, 195, 2747, 579, 11701, 5101, 11497}}, +{5224, 16, 24762, {1, 3, 7, 3, 9, 33, 81, 165, 433, 545, 1893, 3709, 3813, 6615, 1485, 6395}}, +{5225, 16, 24764, {1, 3, 1, 15, 9, 5, 27, 157, 389, 683, 1919, 509, 455, 3865, 2303, 6993}}, +{5226, 16, 24769, {1, 3, 3, 9, 5, 5, 3, 5, 299, 59, 539, 1199, 2443, 10821, 3359, 44345}}, +{5227, 16, 24806, {1, 3, 5, 9, 21, 37, 87, 35, 501, 943, 1313, 3929, 351, 9851, 22971, 35659}}, +{5228, 16, 24812, {1, 3, 7, 11, 11, 33, 77, 175, 411, 315, 1797, 2731, 4611, 1809, 22027, 50595}}, +{5229, 16, 24872, {1, 3, 7, 13, 15, 11, 13, 189, 209, 1015, 1869, 1593, 6887, 8571, 7217, 2641}}, +{5230, 16, 24878, {1, 1, 3, 13, 29, 15, 119, 127, 329, 275, 865, 1693, 225, 15735, 11071, 37127}}, +{5231, 16, 24883, {1, 3, 7, 13, 9, 31, 85, 25, 281, 401, 1923, 2391, 3875, 2079, 2055, 53275}}, +{5232, 16, 24909, {1, 3, 1, 5, 23, 57, 79, 127, 209, 901, 315, 1165, 3393, 15095, 1981, 34993}}, +{5233, 16, 24943, {1, 3, 7, 7, 25, 13, 15, 223, 157, 335, 1061, 395, 6895, 6283, 18375, 4887}}, +{5234, 16, 24946, {1, 3, 7, 13, 9, 15, 99, 201, 105, 643, 117, 3027, 641, 13353, 4343, 11875}}, +{5235, 16, 24964, {1, 1, 3, 11, 5, 51, 5, 77, 281, 207, 1201, 1187, 8107, 6625, 7517, 34377}}, +{5236, 16, 24992, {1, 1, 1, 5, 29, 61, 3, 181, 297, 151, 565, 2713, 6611, 8665, 32425, 50399}}, +{5237, 16, 25016, {1, 3, 1, 5, 1, 61, 41, 245, 95, 647, 49, 2195, 5927, 15531, 28547, 51075}}, +{5238, 16, 25022, {1, 3, 3, 15, 15, 63, 123, 63, 77, 813, 423, 715, 91, 3793, 20901, 54927}}, +{5239, 16, 25024, {1, 3, 7, 9, 15, 35, 31, 161, 127, 13, 1667, 1225, 5279, 15487, 18769, 24887}}, +{5240, 16, 25039, {1, 1, 3, 5, 27, 25, 61, 21, 447, 175, 1419, 2691, 1993, 13059, 30809, 38325}}, +{5241, 16, 25051, {1, 3, 1, 3, 15, 21, 15, 193, 233, 435, 1993, 4003, 4581, 13837, 16535, 43781}}, +{5242, 16, 25060, {1, 1, 1, 5, 1, 11, 21, 253, 59, 59, 497, 77, 2165, 8197, 5933, 25743}}, +{5243, 16, 25072, {1, 1, 3, 9, 25, 61, 29, 217, 95, 269, 799, 409, 801, 421, 19065, 53443}}, +{5244, 16, 25097, {1, 1, 7, 1, 1, 41, 71, 59, 191, 867, 223, 1467, 6679, 16031, 4451, 15313}}, +{5245, 16, 25122, {1, 1, 1, 11, 13, 27, 7, 241, 167, 969, 1267, 2953, 3769, 2415, 30065, 39483}}, +{5246, 16, 25148, {1, 1, 1, 3, 25, 61, 103, 23, 53, 799, 989, 3859, 7299, 13613, 12007, 37535}}, +{5247, 16, 25194, {1, 1, 7, 1, 29, 19, 121, 57, 355, 663, 643, 3723, 1775, 10363, 1389, 16039}}, +{5248, 16, 25201, {1, 3, 7, 3, 21, 55, 51, 67, 363, 843, 1187, 1983, 7757, 5413, 26575, 53329}}, +{5249, 16, 25204, {1, 3, 1, 3, 31, 55, 73, 55, 75, 533, 197, 1463, 2933, 6033, 24397, 41579}}, +{5250, 16, 25238, {1, 3, 1, 11, 9, 15, 107, 141, 473, 825, 901, 937, 7433, 13119, 20047, 6695}}, +{5251, 16, 25241, {1, 3, 5, 7, 19, 27, 3, 149, 507, 137, 1025, 1841, 33, 3113, 15101, 28187}}, +{5252, 16, 25248, {1, 3, 5, 7, 31, 27, 53, 45, 177, 129, 1241, 1525, 991, 4141, 17681, 39435}}, +{5253, 16, 25257, {1, 1, 1, 15, 31, 57, 29, 137, 395, 563, 101, 3367, 1277, 5431, 1169, 44321}}, +{5254, 16, 25275, {1, 3, 5, 7, 21, 15, 123, 181, 113, 313, 1763, 1429, 2985, 715, 26129, 549}}, +{5255, 16, 25278, {1, 3, 3, 1, 15, 27, 27, 139, 507, 79, 1999, 2505, 485, 7011, 13369, 7159}}, +{5256, 16, 25304, {1, 3, 3, 11, 27, 53, 109, 179, 399, 657, 697, 421, 5467, 4273, 7837, 11631}}, +{5257, 16, 25307, {1, 1, 1, 15, 1, 57, 91, 199, 443, 569, 1945, 2531, 6349, 4851, 3931, 20537}}, +{5258, 16, 25320, {1, 1, 3, 13, 3, 3, 107, 237, 261, 377, 135, 2809, 7239, 1613, 24035, 26053}}, +{5259, 16, 25334, {1, 3, 3, 5, 3, 59, 65, 197, 411, 363, 1729, 967, 3963, 4535, 111, 7273}}, +{5260, 16, 25348, {1, 1, 7, 3, 13, 39, 105, 235, 203, 1015, 1031, 3127, 1209, 10817, 22177, 44117}}, +{5261, 16, 25357, {1, 3, 3, 13, 19, 21, 123, 31, 59, 185, 1007, 1115, 1965, 13087, 18489, 34063}}, +{5262, 16, 25372, {1, 1, 7, 5, 27, 7, 33, 159, 245, 57, 2003, 3229, 2095, 4939, 31355, 23121}}, +{5263, 16, 25394, {1, 3, 3, 9, 9, 41, 49, 203, 397, 915, 821, 3685, 2269, 11159, 25441, 46377}}, +{5264, 16, 25454, {1, 3, 7, 5, 29, 33, 29, 227, 361, 961, 1905, 1149, 2799, 8115, 28235, 25685}}, +{5265, 16, 25465, {1, 3, 1, 1, 19, 13, 73, 103, 11, 183, 853, 2425, 3809, 2391, 18615, 32735}}, +{5266, 16, 25472, {1, 1, 3, 3, 21, 57, 47, 57, 157, 43, 1085, 3319, 461, 11499, 6809, 10435}}, +{5267, 16, 25492, {1, 1, 5, 5, 17, 21, 55, 17, 421, 865, 159, 1643, 4523, 1485, 11937, 8287}}, +{5268, 16, 25505, {1, 1, 3, 11, 7, 43, 39, 37, 187, 797, 1273, 1227, 2683, 1249, 3375, 44499}}, +{5269, 16, 25517, {1, 1, 5, 11, 17, 35, 27, 73, 97, 59, 921, 2171, 7577, 2847, 93, 35911}}, +{5270, 16, 25530, {1, 1, 5, 1, 5, 17, 117, 189, 357, 581, 1945, 2141, 1679, 12019, 11249, 6809}}, +{5271, 16, 25558, {1, 1, 5, 7, 15, 53, 9, 191, 153, 257, 533, 493, 2389, 4657, 20757, 57275}}, +{5272, 16, 25562, {1, 1, 1, 11, 13, 35, 85, 37, 501, 525, 543, 4057, 2001, 6183, 949, 18465}}, +{5273, 16, 25598, {1, 1, 1, 3, 15, 7, 39, 169, 359, 671, 731, 1523, 211, 1233, 29515, 57787}}, +{5274, 16, 25609, {1, 1, 3, 7, 27, 7, 41, 15, 71, 733, 1919, 401, 1915, 4815, 10571, 839}}, +{5275, 16, 25612, {1, 1, 7, 13, 27, 61, 5, 25, 293, 779, 477, 1537, 6695, 7435, 1281, 64369}}, +{5276, 16, 25627, {1, 1, 7, 7, 19, 11, 101, 45, 449, 883, 1181, 3521, 6019, 16305, 23429, 43789}}, +{5277, 16, 25651, {1, 1, 7, 5, 1, 49, 121, 89, 275, 367, 461, 1717, 2733, 4403, 9123, 35217}}, +{5278, 16, 25653, {1, 1, 7, 1, 1, 37, 41, 221, 281, 531, 357, 3783, 3561, 8135, 18405, 56045}}, +{5279, 16, 25668, {1, 3, 5, 7, 29, 9, 127, 37, 13, 519, 1059, 3973, 7253, 15159, 19337, 57103}}, +{5280, 16, 25711, {1, 3, 3, 15, 3, 41, 91, 7, 63, 747, 1649, 3367, 5945, 3603, 28465, 511}}, +{5281, 16, 25765, {1, 3, 3, 15, 27, 19, 67, 179, 505, 131, 149, 1753, 3603, 1135, 15811, 5305}}, +{5282, 16, 25770, {1, 1, 1, 5, 5, 63, 71, 235, 151, 651, 1383, 249, 3223, 14559, 26809, 4551}}, +{5283, 16, 25775, {1, 3, 3, 9, 29, 41, 67, 111, 175, 515, 1123, 1707, 6653, 8233, 22775, 61029}}, +{5284, 16, 25777, {1, 3, 3, 9, 23, 1, 75, 145, 159, 785, 537, 1995, 2241, 8641, 30709, 41373}}, +{5285, 16, 25783, {1, 1, 5, 9, 21, 1, 87, 233, 401, 643, 197, 3437, 8163, 6363, 6537, 17283}}, +{5286, 16, 25801, {1, 3, 5, 3, 23, 19, 55, 243, 405, 369, 1221, 1959, 5455, 11729, 26117, 9097}}, +{5287, 16, 25802, {1, 1, 3, 13, 3, 57, 71, 235, 125, 263, 873, 1079, 2627, 1343, 1979, 49519}}, +{5288, 16, 25812, {1, 3, 1, 11, 21, 15, 27, 7, 425, 935, 305, 2593, 4437, 9517, 26207, 4229}}, +{5289, 16, 25821, {1, 1, 3, 13, 11, 53, 1, 149, 97, 939, 147, 3365, 5023, 607, 2083, 8715}}, +{5290, 16, 25897, {1, 1, 5, 3, 13, 13, 113, 51, 263, 837, 1145, 3621, 5697, 2867, 7975, 22839}}, +{5291, 16, 25906, {1, 1, 3, 15, 31, 9, 91, 231, 399, 295, 1935, 4021, 7669, 3867, 28015, 9865}}, +{5292, 16, 25929, {1, 1, 1, 1, 13, 59, 51, 35, 407, 733, 1629, 2429, 291, 11923, 32129, 28847}}, +{5293, 16, 25940, {1, 3, 3, 11, 25, 21, 13, 117, 31, 547, 327, 2801, 2247, 4051, 27523, 4257}}, +{5294, 16, 25950, {1, 1, 7, 7, 15, 33, 15, 17, 255, 363, 1013, 1463, 7537, 14093, 21883, 35389}}, +{5295, 16, 25968, {1, 1, 5, 9, 11, 61, 7, 161, 121, 413, 515, 413, 4439, 15405, 30265, 23939}}, +{5296, 16, 25971, {1, 3, 7, 7, 11, 15, 5, 181, 315, 231, 1567, 2985, 1653, 12251, 269, 37317}}, +{5297, 16, 25977, {1, 3, 1, 11, 3, 15, 91, 45, 489, 571, 11, 1239, 7705, 4303, 12535, 21359}}, +{5298, 16, 25994, {1, 1, 7, 15, 29, 43, 81, 63, 483, 851, 389, 1719, 6111, 15293, 2513, 44397}}, +{5299, 16, 25996, {1, 1, 5, 15, 25, 33, 97, 131, 183, 269, 1903, 2733, 7197, 4507, 24471, 36871}}, +{5300, 16, 25999, {1, 3, 3, 13, 17, 33, 73, 83, 247, 207, 79, 1139, 581, 12147, 3539, 45423}}, +{5301, 16, 26001, {1, 1, 1, 15, 29, 49, 79, 151, 267, 393, 1995, 105, 2873, 3981, 19147, 53987}}, +{5302, 16, 26030, {1, 1, 5, 1, 31, 25, 39, 203, 459, 181, 661, 717, 6235, 13413, 1197, 40665}}, +{5303, 16, 26069, {1, 1, 5, 9, 19, 33, 65, 239, 463, 133, 461, 3601, 7755, 1771, 20683, 7417}}, +{5304, 16, 26100, {1, 1, 1, 1, 25, 19, 25, 155, 431, 33, 341, 959, 5679, 1205, 2599, 37499}}, +{5305, 16, 26109, {1, 1, 3, 5, 25, 5, 83, 87, 91, 991, 1833, 4063, 147, 14497, 25725, 4617}}, +{5306, 16, 26131, {1, 3, 5, 7, 31, 7, 73, 51, 339, 313, 1593, 2089, 7387, 15759, 3249, 7953}}, +{5307, 16, 26144, {1, 3, 7, 1, 27, 49, 35, 11, 21, 45, 1689, 1665, 4591, 3713, 12781, 4805}}, +{5308, 16, 26149, {1, 1, 3, 9, 29, 51, 73, 51, 303, 179, 67, 3917, 7615, 6131, 26225, 55991}}, +{5309, 16, 26162, {1, 3, 7, 11, 9, 63, 29, 47, 153, 883, 1859, 1913, 3563, 11451, 6333, 51367}}, +{5310, 16, 26167, {1, 3, 1, 3, 5, 25, 69, 87, 389, 613, 989, 3557, 1339, 12503, 14505, 63209}}, +{5311, 16, 26173, {1, 1, 3, 1, 5, 13, 37, 163, 499, 163, 2025, 1467, 5059, 8479, 2889, 62957}}, +{5312, 16, 26179, {1, 1, 7, 9, 23, 31, 109, 49, 73, 197, 337, 2763, 4789, 8983, 9691, 32155}}, +{5313, 16, 26193, {1, 3, 1, 3, 31, 25, 121, 91, 371, 339, 833, 2217, 4997, 9425, 10685, 60037}}, +{5314, 16, 26230, {1, 1, 7, 11, 31, 3, 105, 125, 255, 175, 803, 1787, 6231, 4441, 5031, 29737}}, +{5315, 16, 26234, {1, 1, 1, 11, 21, 63, 75, 209, 393, 437, 495, 2397, 4759, 15703, 29869, 62685}}, +{5316, 16, 26246, {1, 1, 7, 7, 25, 33, 117, 7, 293, 623, 2001, 2409, 2487, 14803, 3329, 38277}}, +{5317, 16, 26267, {1, 1, 7, 9, 31, 51, 75, 151, 487, 85, 639, 3529, 4491, 1957, 22099, 20263}}, +{5318, 16, 26283, {1, 1, 7, 5, 3, 29, 11, 1, 255, 555, 1269, 779, 1525, 7689, 25847, 39347}}, +{5319, 16, 26300, {1, 1, 7, 7, 19, 21, 9, 123, 3, 943, 1627, 2979, 919, 4565, 31435, 59789}}, +{5320, 16, 26341, {1, 3, 7, 5, 29, 13, 57, 221, 9, 893, 1685, 1879, 4575, 7369, 26191, 6067}}, +{5321, 16, 26356, {1, 3, 7, 9, 13, 11, 9, 27, 313, 751, 1377, 1121, 3799, 1673, 16305, 30665}}, +{5322, 16, 26377, {1, 3, 3, 13, 23, 17, 59, 47, 499, 525, 681, 3195, 1611, 7003, 7325, 53019}}, +{5323, 16, 26397, {1, 3, 1, 7, 23, 51, 59, 127, 67, 263, 1305, 2479, 637, 9441, 6329, 12857}}, +{5324, 16, 26404, {1, 1, 7, 7, 9, 3, 51, 193, 205, 503, 19, 2513, 7489, 9241, 15371, 20875}}, +{5325, 16, 26411, {1, 3, 3, 1, 1, 57, 17, 181, 23, 549, 769, 2325, 3669, 7017, 25601, 64479}}, +{5326, 16, 26422, {1, 3, 1, 15, 5, 55, 53, 13, 327, 447, 1031, 1599, 3639, 15305, 1387, 16035}}, +{5327, 16, 26451, {1, 3, 7, 15, 9, 41, 53, 113, 97, 99, 1377, 4047, 3713, 8891, 5601, 5853}}, +{5328, 16, 26454, {1, 1, 7, 9, 9, 7, 29, 249, 411, 315, 181, 2153, 6135, 6947, 27595, 15553}}, +{5329, 16, 26463, {1, 1, 7, 11, 3, 57, 35, 55, 165, 313, 577, 3049, 4259, 4231, 7225, 58973}}, +{5330, 16, 26488, {1, 1, 1, 1, 15, 43, 53, 143, 157, 843, 465, 3897, 4797, 12305, 28807, 46381}}, +{5331, 16, 26498, {1, 3, 7, 9, 17, 3, 99, 61, 475, 507, 831, 2207, 367, 27, 23205, 2303}}, +{5332, 16, 26509, {1, 1, 3, 11, 27, 29, 99, 237, 43, 955, 361, 3231, 1863, 7973, 8969, 58663}}, +{5333, 16, 26512, {1, 3, 1, 7, 15, 15, 11, 251, 135, 261, 675, 3723, 7675, 7993, 1725, 41149}}, +{5334, 16, 26517, {1, 3, 3, 9, 29, 11, 105, 37, 151, 215, 1911, 4051, 5427, 11019, 9073, 33129}}, +{5335, 16, 26534, {1, 3, 3, 1, 19, 7, 103, 81, 371, 253, 1043, 1231, 6497, 10377, 2349, 29047}}, +{5336, 16, 26545, {1, 3, 7, 9, 15, 11, 85, 61, 507, 629, 811, 3883, 1435, 13035, 31913, 2153}}, +{5337, 16, 26546, {1, 1, 5, 11, 13, 7, 63, 147, 117, 223, 1217, 3317, 3275, 6851, 2917, 55901}}, +{5338, 16, 26636, {1, 3, 3, 9, 7, 21, 1, 63, 117, 297, 405, 797, 337, 10173, 8327, 29157}}, +{5339, 16, 26749, {1, 1, 7, 11, 31, 63, 97, 191, 259, 421, 1829, 2117, 4203, 11919, 18001, 55791}}, +{5340, 16, 26753, {1, 3, 7, 9, 21, 13, 125, 247, 133, 611, 463, 227, 7815, 8877, 17961, 3641}}, +{5341, 16, 26759, {1, 1, 7, 9, 27, 21, 97, 165, 371, 715, 491, 3929, 3067, 12501, 5511, 18217}}, +{5342, 16, 26774, {1, 3, 3, 15, 27, 17, 81, 161, 263, 273, 135, 1159, 7535, 4581, 16065, 11493}}, +{5343, 16, 26789, {1, 3, 3, 7, 11, 59, 111, 47, 381, 413, 243, 2173, 4957, 2451, 15669, 22071}}, +{5344, 16, 26808, {1, 3, 7, 5, 3, 31, 65, 131, 111, 141, 1891, 2983, 3331, 769, 24075, 40865}}, +{5345, 16, 26825, {1, 3, 7, 11, 11, 63, 7, 213, 333, 111, 1235, 961, 3749, 9123, 5067, 9657}}, +{5346, 16, 26831, {1, 3, 3, 1, 9, 33, 1, 225, 37, 951, 1995, 3215, 3117, 3723, 15013, 64525}}, +{5347, 16, 26859, {1, 3, 3, 13, 29, 19, 103, 65, 67, 423, 1679, 3791, 5551, 11711, 195, 52291}}, +{5348, 16, 26888, {1, 3, 1, 15, 31, 7, 65, 249, 489, 287, 1385, 1075, 1357, 13593, 20853, 46221}}, +{5349, 16, 26918, {1, 1, 1, 13, 23, 45, 29, 175, 147, 101, 1007, 1867, 5387, 12683, 29609, 55861}}, +{5350, 16, 26929, {1, 3, 5, 13, 21, 31, 85, 187, 183, 179, 1337, 481, 71, 6117, 2177, 27915}}, +{5351, 16, 26950, {1, 3, 5, 1, 15, 5, 11, 141, 205, 177, 891, 3591, 4371, 889, 12957, 61083}}, +{5352, 16, 26954, {1, 3, 7, 7, 11, 39, 81, 241, 13, 757, 521, 3029, 2345, 12385, 20683, 64053}}, +{5353, 16, 26973, {1, 1, 5, 13, 7, 3, 77, 211, 215, 97, 1409, 1021, 1267, 4785, 27231, 2877}}, +{5354, 16, 26997, {1, 3, 5, 3, 11, 57, 93, 39, 415, 179, 1033, 3267, 5383, 10451, 27117, 10711}}, +{5355, 16, 26998, {1, 1, 1, 1, 3, 45, 93, 179, 453, 995, 1423, 3849, 4381, 15789, 20789, 18775}}, +{5356, 16, 27008, {1, 3, 1, 3, 13, 25, 33, 165, 351, 887, 1109, 195, 8131, 3061, 16743, 22997}}, +{5357, 16, 27038, {1, 3, 1, 5, 23, 35, 93, 155, 333, 603, 1571, 229, 2979, 6295, 20793, 40901}}, +{5358, 16, 27109, {1, 3, 3, 11, 29, 57, 101, 61, 487, 719, 1009, 1933, 7815, 15329, 12489, 26105}}, +{5359, 16, 27127, {1, 3, 3, 9, 23, 59, 73, 13, 141, 815, 1819, 3557, 2555, 5901, 23039, 62321}}, +{5360, 16, 27150, {1, 1, 3, 5, 19, 49, 27, 139, 35, 995, 565, 323, 6439, 15679, 27017, 30889}}, +{5361, 16, 27168, {1, 3, 7, 3, 1, 3, 27, 153, 235, 59, 989, 2763, 4197, 3931, 31227, 27129}}, +{5362, 16, 27178, {1, 3, 1, 15, 23, 45, 71, 205, 465, 451, 347, 1909, 3287, 8363, 9081, 35641}}, +{5363, 16, 27212, {1, 1, 5, 1, 25, 29, 17, 201, 463, 903, 1729, 3435, 2483, 10835, 14315, 52505}}, +{5364, 16, 27224, {1, 1, 1, 15, 13, 23, 3, 175, 273, 305, 1945, 3319, 7777, 9411, 4209, 4047}}, +{5365, 16, 27229, {1, 1, 5, 15, 25, 5, 71, 35, 307, 89, 301, 3465, 1497, 13467, 21911, 13611}}, +{5366, 16, 27246, {1, 3, 1, 7, 11, 7, 33, 241, 349, 751, 633, 3281, 6733, 13833, 23605, 34307}}, +{5367, 16, 27251, {1, 1, 1, 15, 17, 27, 45, 13, 259, 843, 1207, 1735, 4063, 6259, 1751, 45107}}, +{5368, 16, 27257, {1, 1, 5, 15, 29, 51, 73, 95, 5, 31, 933, 423, 5505, 2193, 14919, 2715}}, +{5369, 16, 27258, {1, 3, 1, 3, 23, 5, 29, 7, 271, 485, 827, 1159, 77, 16337, 27933, 18741}}, +{5370, 16, 27260, {1, 3, 7, 9, 23, 33, 47, 191, 59, 301, 1277, 3745, 7837, 799, 2861, 25853}}, +{5371, 16, 27287, {1, 3, 7, 13, 13, 39, 33, 91, 279, 855, 1917, 3601, 3971, 6193, 16951, 6115}}, +{5372, 16, 27300, {1, 1, 3, 13, 15, 59, 89, 239, 313, 545, 431, 3823, 5741, 14981, 2647, 42813}}, +{5373, 16, 27315, {1, 1, 1, 3, 17, 21, 45, 37, 343, 737, 1795, 2659, 2897, 7683, 15191, 1393}}, +{5374, 16, 27329, {1, 1, 3, 3, 19, 55, 27, 201, 459, 953, 1531, 671, 5667, 11695, 149, 14605}}, +{5375, 16, 27332, {1, 3, 7, 13, 9, 63, 67, 229, 69, 819, 859, 2035, 5725, 13403, 24197, 2599}}, +{5376, 16, 27349, {1, 1, 7, 7, 1, 59, 45, 105, 327, 779, 59, 791, 7593, 8189, 28161, 13339}}, +{5377, 16, 27350, {1, 3, 3, 15, 25, 55, 125, 189, 327, 733, 115, 3541, 5227, 12143, 32719, 15785}}, +{5378, 16, 27354, {1, 3, 3, 7, 19, 51, 35, 63, 507, 89, 1441, 2369, 4927, 7953, 10193, 8331}}, +{5379, 16, 27359, {1, 1, 5, 5, 21, 1, 41, 49, 217, 1001, 1649, 2789, 5267, 1525, 3811, 40785}}, +{5380, 16, 27377, {1, 1, 7, 15, 31, 21, 33, 183, 425, 393, 367, 3253, 3047, 465, 28229, 44743}}, +{5381, 16, 27378, {1, 3, 7, 5, 1, 23, 11, 71, 269, 707, 5, 2931, 1959, 15089, 9299, 43927}}, +{5382, 16, 27383, {1, 3, 5, 15, 21, 51, 31, 15, 49, 481, 297, 3871, 751, 10661, 26401, 62923}}, +{5383, 16, 27384, {1, 3, 1, 7, 17, 27, 35, 255, 205, 865, 1659, 1921, 5457, 11633, 2825, 13549}}, +{5384, 16, 27387, {1, 1, 5, 15, 17, 35, 83, 237, 437, 7, 2001, 2225, 2601, 10841, 7953, 20651}}, +{5385, 16, 27392, {1, 1, 1, 3, 3, 37, 43, 135, 451, 203, 1319, 261, 3889, 14489, 9635, 52545}}, +{5386, 16, 27402, {1, 3, 3, 13, 15, 41, 95, 207, 43, 997, 207, 3459, 5995, 5187, 15851, 28551}}, +{5387, 16, 27438, {1, 1, 1, 5, 23, 57, 49, 101, 303, 921, 745, 1407, 7071, 2765, 18703, 32671}}, +{5388, 16, 27481, {1, 1, 7, 13, 9, 59, 65, 157, 209, 295, 107, 3175, 3401, 1197, 1875, 9033}}, +{5389, 16, 27482, {1, 1, 3, 3, 17, 9, 101, 75, 177, 905, 1013, 397, 3421, 6475, 15897, 11269}}, +{5390, 16, 27494, {1, 3, 1, 5, 29, 53, 105, 83, 383, 137, 1169, 1245, 6973, 8701, 317, 10073}}, +{5391, 16, 27531, {1, 1, 1, 3, 15, 55, 69, 219, 507, 707, 945, 397, 779, 4157, 10333, 7869}}, +{5392, 16, 27542, {1, 3, 1, 3, 9, 21, 125, 153, 107, 969, 1979, 651, 1199, 11419, 17043, 32269}}, +{5393, 16, 27546, {1, 1, 1, 7, 1, 29, 71, 127, 209, 853, 1515, 1169, 5055, 9981, 30291, 29569}}, +{5394, 16, 27564, {1, 3, 1, 11, 1, 1, 109, 251, 329, 633, 2021, 1237, 2147, 11471, 26025, 19649}}, +{5395, 16, 27567, {1, 1, 5, 1, 5, 7, 77, 175, 251, 143, 711, 1241, 2133, 9993, 9203, 24949}}, +{5396, 16, 27582, {1, 3, 5, 11, 19, 11, 101, 83, 91, 595, 753, 2389, 1887, 11569, 29759, 55785}}, +{5397, 16, 27608, {1, 1, 1, 3, 29, 47, 49, 249, 495, 451, 1887, 2547, 543, 2755, 17207, 24379}}, +{5398, 16, 27611, {1, 3, 7, 7, 19, 15, 95, 143, 109, 221, 2041, 3593, 4571, 14547, 14217, 16711}}, +{5399, 16, 27624, {1, 3, 5, 13, 27, 55, 31, 209, 39, 989, 1435, 1665, 7265, 14127, 13517, 37647}}, +{5400, 16, 27629, {1, 1, 3, 7, 1, 49, 63, 71, 249, 371, 435, 3591, 2677, 143, 28897, 38981}}, +{5401, 16, 27655, {1, 1, 7, 7, 21, 9, 53, 221, 23, 515, 1971, 3759, 3511, 10207, 12929, 42021}}, +{5402, 16, 27667, {1, 3, 1, 13, 25, 21, 3, 85, 421, 19, 663, 3219, 3541, 13021, 5765, 39623}}, +{5403, 16, 27676, {1, 3, 1, 7, 11, 5, 125, 169, 293, 715, 1111, 2965, 4815, 6047, 27207, 23093}}, +{5404, 16, 27710, {1, 1, 5, 13, 11, 15, 37, 201, 457, 551, 821, 25, 435, 14307, 25855, 1811}}, +{5405, 16, 27724, {1, 3, 3, 9, 27, 15, 1, 253, 217, 549, 1013, 2277, 4171, 3813, 19857, 8641}}, +{5406, 16, 27745, {1, 3, 5, 5, 29, 37, 71, 49, 163, 949, 425, 2459, 945, 13125, 13981, 21669}}, +{5407, 16, 27752, {1, 3, 3, 9, 17, 23, 53, 235, 83, 887, 439, 1939, 7601, 15275, 15739, 17623}}, +{5408, 16, 27770, {1, 3, 5, 13, 7, 51, 73, 67, 167, 849, 2021, 2977, 6591, 3721, 5827, 40897}}, +{5409, 16, 27779, {1, 1, 5, 11, 27, 19, 81, 181, 383, 23, 1061, 3327, 1671, 7113, 7435, 17591}}, +{5410, 16, 27781, {1, 3, 3, 7, 25, 33, 73, 23, 103, 821, 917, 1425, 4739, 7227, 12365, 29509}}, +{5411, 16, 27791, {1, 1, 1, 7, 3, 37, 81, 231, 135, 663, 1983, 399, 6881, 14991, 4957, 20913}}, +{5412, 16, 27809, {1, 3, 7, 15, 25, 41, 65, 215, 301, 471, 1669, 65, 227, 9307, 29867, 9503}}, +{5413, 16, 27810, {1, 1, 7, 3, 25, 47, 31, 63, 53, 995, 33, 1297, 3423, 12301, 16255, 14467}}, +{5414, 16, 27815, {1, 3, 1, 1, 31, 25, 79, 131, 353, 169, 1425, 2257, 2631, 1559, 793, 48383}}, +{5415, 16, 27827, {1, 3, 3, 5, 31, 9, 93, 35, 503, 243, 595, 2939, 771, 7333, 13429, 59457}}, +{5416, 16, 27834, {1, 3, 1, 7, 5, 51, 21, 237, 453, 743, 775, 2207, 453, 12077, 12283, 9735}}, +{5417, 16, 27865, {1, 3, 1, 15, 5, 47, 59, 239, 87, 97, 885, 3191, 2547, 13227, 7433, 4989}}, +{5418, 16, 27899, {1, 3, 5, 15, 21, 33, 41, 155, 509, 317, 517, 1101, 133, 1897, 8235, 57673}}, +{5419, 16, 27901, {1, 1, 5, 15, 7, 9, 59, 155, 415, 831, 1173, 1263, 5451, 7181, 7233, 51483}}, +{5420, 16, 27914, {1, 1, 7, 3, 31, 43, 71, 39, 155, 529, 895, 827, 3203, 4625, 32185, 53507}}, +{5421, 16, 27950, {1, 3, 1, 11, 15, 17, 85, 141, 277, 439, 1775, 4015, 4457, 281, 22455, 47591}}, +{5422, 16, 27994, {1, 3, 5, 11, 25, 41, 93, 39, 51, 655, 1347, 3109, 2479, 9057, 18939, 26217}}, +{5423, 16, 28005, {1, 3, 3, 11, 31, 41, 7, 189, 241, 443, 65, 1723, 4817, 13405, 9641, 63965}}, +{5424, 16, 28009, {1, 1, 5, 3, 19, 29, 111, 11, 399, 277, 425, 1331, 5365, 14521, 16449, 29411}}, +{5425, 16, 28033, {1, 1, 3, 9, 25, 53, 91, 175, 481, 307, 1025, 71, 7425, 10667, 4053, 25605}}, +{5426, 16, 28039, {1, 3, 7, 7, 3, 13, 75, 175, 467, 363, 1889, 1759, 1155, 5511, 13047, 39637}}, +{5427, 16, 28060, {1, 3, 7, 9, 5, 21, 65, 43, 223, 97, 835, 2253, 3313, 9817, 23015, 55365}}, +{5428, 16, 28067, {1, 1, 1, 13, 9, 63, 95, 61, 417, 713, 1469, 1815, 795, 13609, 1567, 33535}}, +{5429, 16, 28069, {1, 3, 7, 1, 25, 45, 41, 27, 53, 407, 1633, 1317, 6267, 3293, 8899, 45235}}, +{5430, 16, 28099, {1, 3, 5, 11, 23, 47, 91, 211, 41, 775, 1301, 1407, 7931, 4491, 7579, 62321}}, +{5431, 16, 28113, {1, 1, 1, 7, 23, 15, 57, 31, 437, 293, 1999, 2589, 5453, 2519, 15533, 26949}}, +{5432, 16, 28114, {1, 3, 1, 9, 1, 27, 41, 165, 129, 297, 1887, 1171, 201, 5817, 24503, 38911}}, +{5433, 16, 28139, {1, 3, 1, 7, 1, 11, 63, 225, 191, 623, 1281, 3275, 167, 14697, 4905, 47289}}, +{5434, 16, 28142, {1, 3, 7, 7, 15, 47, 87, 177, 303, 391, 355, 3997, 7557, 6201, 20531, 22483}}, +{5435, 16, 28153, {1, 3, 3, 15, 17, 31, 111, 87, 61, 477, 1581, 3787, 5919, 10511, 2607, 62951}}, +{5436, 16, 28166, {1, 3, 3, 9, 29, 19, 63, 27, 205, 915, 1131, 3821, 673, 2875, 12703, 14367}}, +{5437, 16, 28172, {1, 3, 7, 1, 21, 19, 25, 97, 281, 635, 629, 181, 5207, 11133, 3687, 3489}}, +{5438, 16, 28183, {1, 3, 3, 9, 5, 63, 3, 21, 385, 713, 1805, 3583, 2807, 15455, 13057, 39771}}, +{5439, 16, 28194, {1, 3, 5, 9, 3, 59, 1, 253, 123, 405, 575, 3911, 4609, 11869, 23593, 947}}, +{5440, 16, 28232, {1, 1, 7, 5, 21, 27, 101, 221, 413, 153, 1647, 3637, 803, 5697, 20761, 61137}}, +{5441, 16, 28245, {1, 3, 7, 13, 31, 35, 111, 253, 187, 499, 465, 157, 5551, 10417, 323, 34913}}, +{5442, 16, 28246, {1, 1, 1, 7, 11, 41, 29, 65, 393, 69, 1373, 2291, 7807, 13159, 13735, 31001}}, +{5443, 16, 28252, {1, 3, 7, 13, 31, 49, 1, 35, 377, 11, 427, 2803, 1725, 9165, 22633, 63985}}, +{5444, 16, 28265, {1, 3, 7, 13, 3, 41, 27, 43, 269, 599, 1035, 3681, 309, 6011, 1065, 27901}}, +{5445, 16, 28301, {1, 3, 5, 13, 1, 19, 105, 143, 425, 883, 1669, 155, 189, 8573, 10759, 25507}}, +{5446, 16, 28323, {1, 3, 5, 1, 15, 37, 115, 9, 149, 79, 1733, 1045, 1849, 3289, 13957, 63171}}, +{5447, 16, 28344, {1, 1, 3, 9, 17, 27, 49, 201, 155, 901, 47, 1585, 4419, 8117, 25425, 14699}}, +{5448, 16, 28362, {1, 1, 7, 13, 19, 55, 19, 21, 427, 77, 1295, 1471, 6271, 7985, 19337, 12701}}, +{5449, 16, 28400, {1, 1, 1, 1, 11, 49, 101, 53, 175, 157, 839, 2713, 6149, 6391, 8089, 27739}}, +{5450, 16, 28417, {1, 3, 1, 1, 5, 21, 121, 199, 107, 221, 993, 1737, 409, 2545, 9287, 54605}}, +{5451, 16, 28454, {1, 1, 1, 3, 25, 25, 51, 121, 371, 861, 967, 3257, 6221, 11701, 27897, 42509}}, +{5452, 16, 28466, {1, 1, 1, 3, 17, 25, 101, 191, 313, 817, 815, 1855, 7999, 12649, 23385, 26081}}, +{5453, 16, 28468, {1, 1, 5, 1, 25, 55, 51, 237, 63, 943, 455, 619, 2381, 9773, 14575, 34205}}, +{5454, 16, 28477, {1, 3, 3, 3, 13, 49, 101, 37, 457, 727, 1009, 2389, 4841, 16303, 9599, 17773}}, +{5455, 16, 28498, {1, 1, 7, 9, 19, 59, 111, 205, 19, 229, 1755, 1169, 7767, 13335, 19669, 33269}}, +{5456, 16, 28510, {1, 3, 1, 15, 29, 1, 51, 167, 7, 415, 1295, 3165, 1241, 12859, 5531, 20083}}, +{5457, 16, 28513, {1, 1, 3, 7, 7, 51, 31, 221, 57, 643, 1461, 3951, 6237, 5757, 1907, 40471}}, +{5458, 16, 28571, {1, 3, 3, 5, 23, 39, 49, 177, 183, 117, 1379, 3803, 771, 12723, 22291, 32667}}, +{5459, 16, 28573, {1, 1, 3, 13, 27, 17, 39, 27, 313, 141, 1421, 2967, 2213, 1915, 23219, 15113}}, +{5460, 16, 28578, {1, 1, 1, 11, 5, 55, 51, 55, 389, 895, 57, 1447, 1497, 2799, 19585, 11587}}, +{5461, 16, 28587, {1, 1, 5, 13, 11, 55, 91, 77, 69, 131, 93, 1383, 3321, 10487, 15087, 8539}}, +{5462, 16, 28601, {1, 1, 3, 9, 23, 49, 107, 131, 363, 733, 1189, 3575, 7815, 10071, 20291, 7533}}, +{5463, 16, 28646, {1, 1, 3, 15, 31, 31, 73, 15, 199, 17, 761, 3271, 1419, 12985, 32717, 37317}}, +{5464, 16, 28663, {1, 3, 1, 13, 23, 9, 3, 59, 109, 729, 1321, 4023, 7041, 14445, 22205, 8993}}, +{5465, 16, 28681, {1, 1, 3, 15, 19, 43, 99, 59, 491, 479, 715, 2235, 7493, 889, 31465, 1375}}, +{5466, 16, 28682, {1, 3, 3, 15, 9, 47, 35, 115, 227, 615, 605, 1143, 5923, 10939, 9497, 24911}}, +{5467, 16, 28699, {1, 1, 3, 15, 23, 53, 111, 87, 423, 497, 85, 3525, 7341, 8885, 21543, 30083}}, +{5468, 16, 28706, {1, 1, 5, 3, 21, 5, 117, 157, 407, 743, 715, 1883, 4425, 10187, 6395, 43673}}, +{5469, 16, 28708, {1, 3, 3, 3, 31, 39, 119, 77, 269, 891, 1391, 3085, 2881, 10639, 3391, 44911}}, +{5470, 16, 28717, {1, 3, 7, 5, 7, 5, 115, 91, 5, 107, 1401, 1409, 1811, 737, 5399, 9119}}, +{5471, 16, 28720, {1, 1, 5, 9, 17, 45, 107, 15, 397, 299, 1219, 1675, 963, 10111, 31679, 13809}}, +{5472, 16, 28735, {1, 1, 3, 7, 29, 17, 43, 95, 261, 601, 1091, 3633, 1357, 13461, 16583, 12183}}, +{5473, 16, 28761, {1, 1, 5, 1, 19, 55, 5, 195, 187, 427, 421, 1717, 4223, 2943, 23147, 32985}}, +{5474, 16, 28783, {1, 3, 1, 3, 3, 23, 69, 95, 347, 273, 1223, 3061, 1587, 4707, 32415, 53991}}, +{5475, 16, 28788, {1, 1, 7, 13, 15, 13, 29, 151, 325, 949, 2029, 813, 5339, 14165, 1159, 56917}}, +{5476, 16, 28811, {1, 1, 1, 13, 9, 33, 67, 109, 215, 313, 1407, 3543, 2403, 5051, 20367, 13527}}, +{5477, 16, 28825, {1, 3, 1, 9, 5, 1, 9, 195, 497, 495, 1107, 745, 1647, 10637, 1933, 44965}}, +{5478, 16, 28838, {1, 1, 3, 9, 13, 19, 49, 183, 497, 519, 1433, 519, 4317, 2359, 10349, 63789}}, +{5479, 16, 28850, {1, 3, 5, 9, 29, 45, 55, 163, 189, 533, 275, 237, 5453, 8895, 6377, 14117}}, +{5480, 16, 28891, {1, 3, 7, 5, 25, 3, 111, 241, 139, 383, 689, 3481, 2557, 11163, 5275, 14671}}, +{5481, 16, 28897, {1, 3, 3, 9, 3, 5, 5, 141, 507, 331, 645, 1957, 5857, 2083, 24717, 11131}}, +{5482, 16, 28932, {1, 1, 5, 1, 11, 49, 113, 45, 491, 945, 1467, 3485, 6369, 15983, 14489, 12679}}, +{5483, 16, 28975, {1, 3, 7, 9, 11, 41, 77, 127, 147, 635, 1757, 587, 7423, 4233, 14875, 30531}}, +{5484, 16, 28998, {1, 3, 3, 9, 17, 29, 21, 249, 155, 441, 1443, 2093, 1967, 2117, 5815, 3857}}, +{5485, 16, 29052, {1, 3, 5, 3, 11, 55, 75, 157, 105, 507, 309, 3737, 2645, 7547, 29373, 62775}}, +{5486, 16, 29090, {1, 1, 3, 3, 11, 29, 49, 241, 21, 653, 1273, 715, 8123, 14241, 25257, 1681}}, +{5487, 16, 29096, {1, 1, 7, 5, 11, 31, 33, 215, 243, 369, 247, 3365, 4065, 9389, 32457, 58393}}, +{5488, 16, 29104, {1, 3, 5, 3, 31, 55, 51, 201, 439, 835, 1805, 25, 7987, 10611, 26893, 43663}}, +{5489, 16, 29113, {1, 1, 5, 9, 27, 51, 29, 31, 17, 163, 71, 603, 3083, 12439, 11043, 6471}}, +{5490, 16, 29133, {1, 1, 5, 7, 13, 1, 91, 109, 213, 721, 1345, 3037, 3047, 5209, 15559, 17467}}, +{5491, 16, 29142, {1, 1, 3, 9, 19, 37, 93, 185, 107, 859, 501, 3843, 1631, 4389, 2215, 52225}}, +{5492, 16, 29170, {1, 1, 3, 3, 25, 5, 119, 17, 33, 841, 997, 439, 6135, 7405, 8445, 40087}}, +{5493, 16, 29192, {1, 1, 7, 15, 19, 17, 101, 43, 423, 647, 29, 1143, 3259, 7807, 15929, 809}}, +{5494, 16, 29221, {1, 1, 7, 13, 21, 57, 83, 101, 183, 309, 171, 3173, 7919, 7263, 29403, 11055}}, +{5495, 16, 29236, {1, 1, 1, 13, 3, 1, 57, 15, 435, 713, 459, 847, 3115, 191, 19809, 43037}}, +{5496, 16, 29246, {1, 1, 7, 7, 17, 45, 91, 117, 157, 647, 121, 4091, 3611, 14169, 19883, 9069}}, +{5497, 16, 29293, {1, 1, 7, 7, 1, 47, 21, 253, 419, 157, 549, 2105, 4475, 3127, 3939, 5809}}, +{5498, 16, 29305, {1, 1, 5, 7, 15, 7, 71, 195, 87, 757, 77, 1391, 151, 12995, 26403, 17789}}, +{5499, 16, 29312, {1, 1, 1, 15, 15, 3, 79, 43, 475, 263, 1195, 2385, 5955, 7039, 15625, 19263}}, +{5500, 16, 29339, {1, 1, 5, 13, 13, 29, 5, 29, 489, 929, 2027, 2771, 6899, 14173, 13747, 1019}}, +{5501, 16, 29365, {1, 1, 7, 1, 5, 45, 37, 85, 221, 871, 627, 3445, 4853, 4243, 21651, 30201}}, +{5502, 16, 29389, {1, 3, 7, 11, 9, 49, 73, 245, 161, 321, 579, 2641, 6653, 5513, 11555, 53091}}, +{5503, 16, 29402, {1, 1, 7, 7, 25, 63, 101, 179, 497, 113, 9, 549, 5341, 6097, 13305, 52421}}, +{5504, 16, 29423, {1, 3, 3, 7, 21, 7, 89, 79, 137, 651, 189, 3025, 1403, 4559, 32611, 1857}}, +{5505, 16, 29443, {1, 3, 1, 13, 27, 55, 61, 135, 81, 195, 799, 3477, 4873, 2691, 29769, 59033}}, +{5506, 16, 29445, {1, 3, 3, 15, 29, 11, 7, 11, 151, 649, 1511, 2327, 6921, 12911, 3571, 35039}}, +{5507, 16, 29463, {1, 1, 5, 11, 25, 19, 49, 133, 455, 373, 1827, 3619, 2127, 3365, 11327, 52785}}, +{5508, 16, 29473, {1, 3, 5, 1, 9, 19, 107, 171, 205, 93, 1557, 2693, 4297, 4415, 20407, 19221}}, +{5509, 16, 29493, {1, 3, 3, 11, 15, 45, 37, 143, 61, 759, 2047, 2465, 3923, 9477, 30831, 46377}}, +{5510, 16, 29506, {1, 3, 7, 11, 17, 51, 117, 129, 77, 579, 1167, 1575, 1967, 10099, 22137, 31431}}, +{5511, 16, 29518, {1, 1, 5, 13, 31, 61, 67, 37, 49, 283, 235, 783, 7353, 5149, 12245, 18725}}, +{5512, 16, 29532, {1, 1, 5, 3, 17, 33, 35, 83, 359, 253, 1911, 913, 6481, 4635, 24223, 19693}}, +{5513, 16, 29560, {1, 1, 1, 13, 19, 15, 81, 131, 417, 969, 1911, 2829, 3097, 5333, 11175, 52269}}, +{5514, 16, 29590, {1, 3, 7, 15, 5, 39, 19, 205, 329, 83, 1473, 3259, 6409, 12297, 30557, 40917}}, +{5515, 16, 29594, {1, 3, 1, 15, 17, 33, 123, 185, 501, 299, 621, 929, 5797, 10539, 12321, 61043}}, +{5516, 16, 29637, {1, 3, 3, 1, 7, 51, 119, 19, 17, 203, 373, 2145, 2367, 9965, 28071, 50083}}, +{5517, 16, 29647, {1, 1, 1, 5, 1, 35, 43, 243, 91, 793, 1299, 2705, 7987, 1291, 10147, 17863}}, +{5518, 16, 29650, {1, 3, 5, 15, 27, 13, 99, 33, 179, 479, 897, 1113, 1639, 12321, 23987, 36219}}, +{5519, 16, 29655, {1, 1, 5, 9, 29, 41, 85, 9, 389, 583, 293, 1727, 2575, 13767, 15443, 40027}}, +{5520, 16, 29661, {1, 1, 7, 11, 29, 33, 93, 115, 51, 747, 1569, 3557, 869, 1991, 29877, 44131}}, +{5521, 16, 29680, {1, 3, 7, 7, 29, 11, 33, 137, 411, 689, 1815, 1789, 6557, 5973, 19445, 49449}}, +{5522, 16, 29721, {1, 1, 5, 1, 17, 3, 77, 55, 351, 325, 983, 3935, 819, 14127, 18893, 62553}}, +{5523, 16, 29751, {1, 3, 3, 1, 15, 33, 25, 159, 135, 385, 837, 3615, 1649, 1687, 3421, 47579}}, +{5524, 16, 29755, {1, 3, 1, 7, 17, 25, 125, 169, 469, 919, 1789, 863, 2827, 949, 21347, 10517}}, +{5525, 16, 29760, {1, 3, 1, 11, 27, 19, 45, 255, 175, 483, 1073, 3779, 611, 2809, 179, 19767}}, +{5526, 16, 29772, {1, 1, 3, 1, 21, 61, 47, 171, 179, 85, 61, 1209, 4005, 11439, 8477, 27229}}, +{5527, 16, 29778, {1, 1, 1, 1, 3, 1, 43, 159, 261, 411, 1449, 1621, 3681, 3465, 24029, 3493}}, +{5528, 16, 29799, {1, 3, 1, 11, 5, 13, 9, 23, 369, 769, 363, 3329, 409, 13151, 30269, 9621}}, +{5529, 16, 29824, {1, 1, 5, 1, 13, 39, 121, 39, 295, 981, 1151, 4039, 8179, 5007, 25527, 1249}}, +{5530, 16, 29841, {1, 3, 7, 5, 17, 21, 47, 233, 211, 349, 643, 109, 7553, 11453, 30967, 30959}}, +{5531, 16, 29842, {1, 1, 5, 3, 31, 39, 105, 137, 487, 855, 107, 1567, 2385, 2889, 25777, 33709}}, +{5532, 16, 29853, {1, 1, 1, 9, 1, 7, 9, 69, 465, 965, 355, 299, 3327, 14997, 14599, 2241}}, +{5533, 16, 29867, {1, 3, 5, 11, 5, 39, 69, 203, 367, 611, 199, 3931, 5039, 8683, 8675, 49151}}, +{5534, 16, 29949, {1, 1, 7, 13, 31, 35, 101, 213, 273, 827, 203, 2773, 4131, 1397, 15311, 62903}}, +{5535, 16, 29950, {1, 3, 7, 9, 23, 41, 33, 213, 411, 965, 563, 3035, 247, 15019, 20429, 61081}}, +{5536, 16, 29964, {1, 1, 5, 5, 5, 1, 1, 203, 27, 199, 67, 1301, 7831, 12839, 2777, 6325}}, +{5537, 16, 29967, {1, 3, 1, 11, 27, 3, 11, 173, 9, 121, 1701, 2741, 29, 16319, 15849, 11989}}, +{5538, 16, 29985, {1, 1, 5, 13, 17, 49, 125, 153, 261, 603, 1617, 3967, 6083, 7745, 19683, 49885}}, +{5539, 16, 29992, {1, 3, 3, 7, 23, 13, 39, 169, 135, 361, 579, 1443, 7615, 2389, 5669, 651}}, +{5540, 16, 30000, {1, 3, 5, 9, 31, 19, 81, 83, 483, 93, 1895, 2285, 7771, 8281, 8353, 39677}}, +{5541, 16, 30020, {1, 1, 7, 7, 23, 51, 127, 25, 101, 611, 1095, 3013, 2685, 8153, 22629, 53355}}, +{5542, 16, 30024, {1, 1, 1, 11, 11, 37, 35, 127, 317, 877, 1591, 401, 4121, 9945, 12121, 28257}}, +{5543, 16, 30030, {1, 3, 5, 11, 23, 9, 43, 135, 37, 405, 2009, 2903, 3065, 6591, 8473, 58231}}, +{5544, 16, 30066, {1, 1, 3, 11, 21, 45, 21, 205, 425, 891, 357, 2609, 495, 7541, 2161, 37853}}, +{5545, 16, 30071, {1, 3, 1, 1, 25, 9, 113, 243, 317, 491, 997, 2023, 5869, 13643, 11483, 6733}}, +{5546, 16, 30078, {1, 3, 1, 15, 13, 3, 75, 25, 409, 421, 1817, 857, 4575, 12559, 1211, 62177}}, +{5547, 16, 30082, {1, 1, 3, 7, 17, 35, 115, 195, 217, 223, 1195, 749, 5619, 7265, 7369, 46907}}, +{5548, 16, 30096, {1, 1, 1, 13, 5, 57, 117, 161, 121, 533, 987, 3959, 5047, 15213, 15811, 41841}}, +{5549, 16, 30101, {1, 3, 7, 1, 19, 55, 97, 191, 217, 75, 1881, 3351, 3737, 12179, 22875, 28767}}, +{5550, 16, 30102, {1, 3, 1, 9, 15, 41, 9, 97, 491, 31, 1191, 963, 875, 8259, 2723, 9503}}, +{5551, 16, 30122, {1, 3, 7, 9, 3, 17, 21, 71, 1, 523, 2031, 3469, 3181, 8707, 6093, 8837}}, +{5552, 16, 30141, {1, 3, 5, 3, 5, 1, 11, 91, 33, 37, 643, 85, 4325, 4293, 8351, 28311}}, +{5553, 16, 30159, {1, 3, 7, 5, 15, 45, 47, 183, 391, 113, 493, 3607, 2541, 13521, 31613, 36049}}, +{5554, 16, 30168, {1, 1, 3, 9, 15, 33, 115, 69, 289, 217, 1875, 1339, 4995, 9073, 6909, 15977}}, +{5555, 16, 30177, {1, 1, 7, 3, 9, 29, 39, 219, 119, 369, 893, 1293, 4511, 15703, 11093, 30259}}, +{5556, 16, 30183, {1, 1, 5, 13, 19, 9, 17, 75, 149, 415, 35, 97, 563, 1689, 18311, 54291}}, +{5557, 16, 30197, {1, 1, 7, 3, 17, 15, 71, 29, 25, 883, 1801, 1675, 5585, 9413, 3813, 26673}}, +{5558, 16, 30213, {1, 1, 3, 15, 5, 13, 31, 41, 311, 411, 573, 281, 8075, 7163, 11817, 29121}}, +{5559, 16, 30231, {1, 1, 7, 9, 7, 57, 15, 141, 337, 123, 269, 3737, 6455, 2539, 13655, 59809}}, +{5560, 16, 30232, {1, 3, 1, 15, 15, 23, 111, 51, 429, 483, 1567, 1317, 8057, 1609, 30181, 35687}}, +{5561, 16, 30241, {1, 3, 7, 9, 25, 43, 67, 13, 319, 587, 1827, 443, 2031, 8563, 16173, 58667}}, +{5562, 16, 30253, {1, 3, 5, 13, 11, 63, 89, 105, 377, 257, 7, 4077, 5091, 5125, 25, 39033}}, +{5563, 16, 30259, {1, 3, 3, 1, 9, 29, 7, 87, 239, 469, 1851, 1711, 5797, 7137, 11405, 20175}}, +{5564, 16, 30262, {1, 3, 3, 1, 13, 17, 101, 209, 301, 95, 1181, 3091, 4451, 1241, 17057, 335}}, +{5565, 16, 30268, {1, 1, 1, 9, 31, 7, 81, 161, 391, 677, 115, 141, 5375, 7279, 1887, 1645}}, +{5566, 16, 30297, {1, 1, 1, 11, 27, 61, 3, 195, 189, 409, 1747, 331, 2931, 9535, 1369, 47233}}, +{5567, 16, 30316, {1, 3, 5, 15, 7, 15, 105, 255, 491, 689, 97, 1131, 3459, 7147, 27541, 62307}}, +{5568, 16, 30322, {1, 3, 5, 9, 5, 23, 1, 209, 233, 717, 1919, 1835, 5073, 10403, 28979, 1945}}, +{5569, 16, 30344, {1, 1, 3, 9, 3, 35, 107, 209, 255, 447, 227, 273, 443, 9367, 24105, 34095}}, +{5570, 16, 30350, {1, 1, 3, 11, 3, 33, 5, 165, 83, 787, 1555, 31, 4351, 16301, 27453, 56739}}, +{5571, 16, 30355, {1, 1, 5, 5, 29, 9, 127, 253, 281, 487, 441, 1129, 2811, 9113, 28855, 57117}}, +{5572, 16, 30429, {1, 1, 1, 13, 13, 1, 17, 143, 121, 917, 1571, 3777, 2297, 3691, 3001, 42327}}, +{5573, 16, 30445, {1, 1, 5, 1, 25, 7, 41, 245, 241, 929, 1203, 3755, 7113, 9333, 22549, 12253}}, +{5574, 16, 30477, {1, 3, 1, 11, 1, 13, 69, 73, 285, 975, 1331, 3411, 7777, 3489, 2763, 44297}}, +{5575, 16, 30513, {1, 3, 5, 11, 3, 37, 21, 105, 153, 307, 989, 627, 3127, 6169, 10573, 22139}}, +{5576, 16, 30520, {1, 3, 5, 15, 11, 11, 39, 21, 355, 437, 547, 2283, 6443, 5561, 6367, 53899}}, +{5577, 16, 30540, {1, 1, 1, 9, 25, 51, 97, 175, 131, 207, 1367, 2561, 7455, 8289, 5877, 4383}}, +{5578, 16, 30551, {1, 3, 7, 1, 29, 17, 7, 1, 43, 831, 591, 2145, 975, 909, 23107, 43987}}, +{5579, 16, 30573, {1, 3, 5, 13, 5, 47, 65, 65, 439, 807, 271, 1615, 1873, 10905, 30537, 3337}}, +{5580, 16, 30609, {1, 1, 1, 13, 29, 1, 53, 5, 307, 347, 1059, 545, 1129, 11883, 5969, 50433}}, +{5581, 16, 30622, {1, 1, 3, 5, 31, 29, 63, 201, 255, 803, 677, 1499, 1691, 14037, 18251, 6881}}, +{5582, 16, 30635, {1, 3, 1, 5, 5, 13, 13, 121, 505, 855, 467, 2803, 3297, 4689, 18443, 60757}}, +{5583, 16, 30658, {1, 1, 5, 13, 11, 19, 11, 201, 101, 431, 693, 1267, 6909, 7759, 2265, 6125}}, +{5584, 16, 30667, {1, 1, 7, 13, 9, 3, 37, 209, 269, 27, 1041, 2587, 4667, 11077, 27009, 27967}}, +{5585, 16, 30681, {1, 1, 5, 5, 1, 5, 127, 179, 463, 949, 1525, 231, 1201, 3283, 9929, 46677}}, +{5586, 16, 30684, {1, 3, 1, 15, 9, 11, 89, 129, 331, 833, 1415, 229, 2059, 13145, 30525, 33773}}, +{5587, 16, 30703, {1, 1, 7, 15, 7, 43, 95, 177, 313, 989, 483, 825, 1885, 4535, 8213, 39835}}, +{5588, 16, 30705, {1, 1, 7, 3, 19, 27, 45, 163, 17, 523, 1565, 3753, 7433, 14117, 8499, 40177}}, +{5589, 16, 30715, {1, 3, 3, 15, 23, 45, 95, 31, 55, 469, 383, 237, 6287, 5561, 20901, 48259}}, +{5590, 16, 30742, {1, 1, 3, 1, 23, 61, 101, 185, 35, 553, 463, 1169, 2875, 12491, 14327, 47999}}, +{5591, 16, 30748, {1, 3, 3, 13, 23, 29, 77, 21, 19, 3, 769, 1943, 2081, 9135, 29767, 11367}}, +{5592, 16, 30758, {1, 1, 5, 15, 5, 11, 59, 163, 355, 993, 375, 3181, 2675, 8515, 17007, 38467}}, +{5593, 16, 30767, {1, 1, 5, 13, 19, 5, 107, 83, 123, 843, 413, 2137, 7531, 3833, 6149, 55925}}, +{5594, 16, 30770, {1, 3, 1, 13, 23, 9, 41, 145, 265, 591, 1899, 3145, 5255, 13653, 12245, 25367}}, +{5595, 16, 30772, {1, 1, 3, 15, 1, 45, 119, 79, 121, 137, 1945, 2041, 2409, 1377, 29501, 29885}}, +{5596, 16, 30807, {1, 1, 7, 11, 27, 57, 75, 183, 341, 237, 1909, 2785, 5973, 9965, 21729, 45089}}, +{5597, 16, 30814, {1, 3, 5, 7, 21, 1, 41, 189, 131, 1021, 1375, 1463, 5985, 12499, 4115, 9131}}, +{5598, 16, 30824, {1, 3, 7, 15, 21, 19, 59, 171, 339, 841, 1725, 2909, 6437, 2499, 17191, 43275}}, +{5599, 16, 30857, {1, 3, 1, 1, 15, 55, 31, 199, 351, 183, 1819, 1873, 7877, 12407, 7881, 1663}}, +{5600, 16, 30875, {1, 1, 3, 15, 1, 61, 111, 61, 115, 243, 1281, 3195, 1229, 10973, 189, 36049}}, +{5601, 16, 30931, {1, 1, 3, 15, 13, 13, 3, 49, 61, 839, 1615, 1853, 3619, 7805, 25441, 8789}}, +{5602, 16, 30933, {1, 3, 1, 9, 27, 43, 7, 193, 397, 869, 1079, 1785, 6535, 1801, 29363, 59269}}, +{5603, 16, 30949, {1, 3, 5, 5, 31, 57, 37, 53, 41, 871, 809, 1235, 1011, 12979, 8749, 52151}}, +{5604, 16, 30953, {1, 1, 7, 13, 25, 59, 69, 117, 463, 587, 513, 297, 6991, 5905, 25737, 37249}}, +{5605, 16, 30982, {1, 1, 5, 1, 27, 19, 121, 97, 349, 793, 1971, 3057, 4781, 15841, 22625, 58637}}, +{5606, 16, 31010, {1, 1, 5, 5, 25, 31, 11, 133, 411, 239, 1071, 3473, 1733, 7175, 31841, 46665}}, +{5607, 16, 31012, {1, 3, 3, 13, 19, 25, 99, 175, 271, 175, 1755, 3597, 4615, 15207, 25573, 16089}}, +{5608, 16, 31039, {1, 1, 7, 11, 17, 19, 119, 91, 505, 791, 55, 2979, 7463, 10147, 23647, 33283}}, +{5609, 16, 31041, {1, 3, 1, 1, 21, 11, 43, 173, 239, 839, 1533, 1559, 549, 15621, 22133, 46387}}, +{5610, 16, 31061, {1, 1, 3, 13, 31, 15, 73, 15, 209, 267, 701, 2899, 1163, 10093, 7727, 44211}}, +{5611, 16, 31082, {1, 3, 1, 11, 29, 21, 5, 39, 421, 375, 411, 3693, 3901, 8507, 10883, 16189}}, +{5612, 16, 31087, {1, 3, 1, 7, 13, 13, 73, 167, 149, 677, 1435, 621, 2511, 13813, 13129, 55327}}, +{5613, 16, 31096, {1, 3, 5, 15, 7, 59, 83, 221, 77, 357, 281, 2689, 5629, 5837, 1701, 30811}}, +{5614, 16, 31115, {1, 3, 3, 11, 17, 1, 43, 95, 473, 981, 1487, 1337, 905, 3307, 22357, 181}}, +{5615, 16, 31130, {1, 1, 3, 7, 1, 27, 9, 3, 489, 1, 1265, 2463, 539, 12769, 825, 6149}}, +{5616, 16, 31168, {1, 3, 3, 3, 11, 27, 81, 237, 411, 241, 1613, 931, 6397, 4325, 29651, 49003}}, +{5617, 16, 31171, {1, 3, 3, 13, 1, 19, 55, 73, 47, 203, 1661, 1245, 6847, 2457, 25427, 33069}}, +{5618, 16, 31177, {1, 3, 7, 3, 7, 47, 11, 165, 391, 457, 301, 1213, 1913, 14531, 7847, 14811}}, +{5619, 16, 31180, {1, 3, 1, 9, 1, 9, 57, 203, 15, 733, 1131, 2751, 5869, 3165, 21497, 28881}}, +{5620, 16, 31191, {1, 3, 1, 5, 9, 7, 29, 85, 71, 571, 469, 2395, 2819, 8443, 2281, 50489}}, +{5621, 16, 31207, {1, 3, 5, 11, 13, 63, 47, 47, 349, 21, 861, 2217, 2945, 6967, 6605, 16459}}, +{5622, 16, 31247, {1, 1, 7, 5, 13, 3, 41, 53, 409, 289, 1225, 2965, 5283, 1785, 14443, 51755}}, +{5623, 16, 31249, {1, 3, 7, 13, 19, 1, 29, 191, 119, 37, 697, 1909, 481, 14157, 13425, 60581}}, +{5624, 16, 31285, {1, 3, 1, 13, 1, 15, 105, 79, 505, 681, 1741, 3683, 5775, 7479, 11387, 1321}}, +{5625, 16, 31303, {1, 1, 1, 11, 9, 35, 77, 73, 351, 217, 2029, 2845, 5143, 5677, 15465, 33123}}, +{5626, 16, 31310, {1, 1, 3, 3, 19, 49, 63, 109, 335, 743, 741, 1673, 3311, 3139, 25197, 13793}}, +{5627, 16, 31337, {1, 3, 1, 3, 29, 63, 79, 1, 493, 13, 1487, 4015, 6983, 1433, 26023, 55591}}, +{5628, 16, 31352, {1, 3, 3, 11, 1, 25, 57, 207, 309, 201, 1513, 1749, 3785, 9217, 11531, 40597}}, +{5629, 16, 31357, {1, 3, 7, 13, 3, 23, 69, 253, 311, 773, 807, 1063, 745, 4843, 25221, 55885}}, +{5630, 16, 31374, {1, 1, 3, 11, 29, 47, 67, 183, 11, 259, 5, 1935, 2295, 8105, 19139, 11707}}, +{5631, 16, 31379, {1, 1, 3, 3, 23, 3, 53, 165, 255, 501, 1547, 3649, 5631, 13307, 8869, 5595}}, +{5632, 16, 31388, {1, 1, 3, 5, 7, 29, 37, 223, 289, 925, 959, 309, 1479, 3141, 18661, 52123}}, +{5633, 16, 31410, {1, 3, 1, 1, 7, 59, 101, 219, 91, 793, 1103, 1485, 7547, 12889, 19097, 15613}}, +{5634, 16, 31416, {1, 1, 5, 15, 1, 17, 79, 83, 131, 683, 1611, 1635, 5405, 9621, 29489, 4801}}, +{5635, 16, 31467, {1, 1, 5, 7, 31, 63, 59, 125, 401, 261, 1445, 33, 187, 12913, 8639, 48413}}, +{5636, 16, 31495, {1, 3, 3, 13, 27, 37, 27, 99, 379, 851, 1311, 4051, 5483, 13935, 29679, 30905}}, +{5637, 16, 31504, {1, 1, 3, 1, 7, 57, 79, 23, 97, 561, 1083, 2327, 1545, 5387, 12119, 29717}}, +{5638, 16, 31507, {1, 1, 7, 7, 9, 41, 63, 165, 315, 247, 89, 2055, 7399, 1399, 2057, 39851}}, +{5639, 16, 31509, {1, 1, 1, 15, 9, 23, 7, 15, 457, 669, 661, 3269, 915, 3475, 15845, 59769}}, +{5640, 16, 31514, {1, 3, 7, 15, 17, 53, 83, 5, 457, 103, 1297, 2413, 1095, 7711, 27935, 56357}}, +{5641, 16, 31516, {1, 1, 3, 5, 17, 3, 81, 23, 165, 341, 781, 3583, 1751, 6763, 13937, 35331}}, +{5642, 16, 31530, {1, 1, 5, 11, 31, 21, 7, 63, 369, 867, 573, 45, 2781, 4507, 21553, 51933}}, +{5643, 16, 31555, {1, 1, 5, 15, 1, 37, 85, 133, 489, 733, 1471, 2089, 979, 7723, 7339, 59595}}, +{5644, 16, 31567, {1, 1, 1, 1, 7, 3, 3, 77, 137, 1009, 481, 1343, 397, 15865, 21701, 37509}}, +{5645, 16, 31570, {1, 3, 7, 5, 17, 57, 19, 245, 249, 289, 1847, 3057, 4905, 5905, 32459, 41305}}, +{5646, 16, 31586, {1, 1, 5, 1, 23, 23, 1, 177, 115, 337, 983, 421, 3135, 6319, 27109, 59641}}, +{5647, 16, 31598, {1, 3, 1, 5, 25, 1, 63, 73, 61, 967, 1567, 2645, 7347, 11877, 28777, 38507}}, +{5648, 16, 31605, {1, 1, 3, 9, 5, 41, 39, 101, 339, 337, 1079, 3861, 5049, 5601, 14377, 34093}}, +{5649, 16, 31609, {1, 3, 7, 7, 3, 47, 95, 157, 167, 1011, 1117, 3669, 7993, 11735, 8505, 64713}}, +{5650, 16, 31612, {1, 3, 1, 9, 3, 33, 11, 33, 65, 329, 401, 2659, 2851, 3903, 29791, 41613}}, +{5651, 16, 31626, {1, 1, 1, 15, 15, 17, 9, 69, 359, 41, 1475, 1919, 5829, 2189, 21295, 33255}}, +{5652, 16, 31634, {1, 3, 1, 3, 9, 23, 73, 247, 399, 775, 419, 3033, 865, 12595, 16345, 15079}}, +{5653, 16, 31655, {1, 3, 1, 5, 1, 17, 33, 23, 419, 585, 673, 929, 6955, 10247, 12647, 29107}}, +{5654, 16, 31681, {1, 3, 3, 13, 9, 33, 11, 13, 127, 529, 1219, 2401, 6459, 14745, 5123, 53023}}, +{5655, 16, 31705, {1, 3, 5, 11, 23, 11, 5, 19, 281, 121, 1671, 2171, 4545, 10691, 24875, 28849}}, +{5656, 16, 31706, {1, 3, 1, 3, 13, 25, 85, 131, 127, 977, 1599, 3319, 3107, 3185, 4879, 3455}}, +{5657, 16, 31718, {1, 1, 5, 1, 3, 13, 77, 15, 133, 185, 1319, 727, 2181, 12175, 28017, 28023}}, +{5658, 16, 31735, {1, 3, 7, 5, 29, 51, 113, 203, 331, 847, 1, 3445, 3669, 7711, 13647, 58651}}, +{5659, 16, 31741, {1, 3, 1, 3, 31, 27, 35, 199, 491, 839, 1275, 3385, 4743, 821, 26259, 11345}}, +{5660, 16, 31744, {1, 1, 7, 9, 21, 47, 9, 67, 119, 985, 127, 1987, 5451, 6403, 26183, 8349}}, +{5661, 16, 31762, {1, 3, 5, 1, 19, 3, 91, 217, 301, 595, 1789, 735, 4993, 229, 18033, 59625}}, +{5662, 16, 31774, {1, 3, 3, 3, 11, 25, 103, 211, 117, 9, 773, 1521, 2265, 8277, 23179, 22433}}, +{5663, 16, 31864, {1, 1, 7, 9, 3, 27, 63, 255, 175, 699, 293, 2409, 3155, 285, 8663, 53503}}, +{5664, 16, 31874, {1, 1, 5, 7, 27, 23, 63, 213, 323, 697, 1541, 3497, 2985, 12389, 11155, 26217}}, +{5665, 16, 31900, {1, 3, 1, 3, 31, 7, 47, 207, 185, 873, 1063, 1055, 205, 12469, 23505, 56245}}, +{5666, 16, 31910, {1, 3, 7, 13, 31, 17, 47, 95, 91, 483, 1997, 3273, 445, 2601, 15219, 10997}}, +{5667, 16, 31928, {1, 3, 3, 5, 29, 45, 29, 83, 457, 823, 1395, 1411, 1879, 9409, 11609, 32001}}, +{5668, 16, 31965, {1, 3, 5, 11, 21, 11, 43, 73, 159, 137, 29, 1957, 815, 5077, 16127, 42199}}, +{5669, 16, 31976, {1, 3, 5, 13, 9, 59, 47, 215, 293, 807, 309, 1951, 2285, 9287, 1019, 49501}}, +{5670, 16, 32016, {1, 1, 7, 13, 31, 7, 95, 189, 233, 363, 1039, 1675, 1715, 9049, 8537, 31051}}, +{5671, 16, 32032, {1, 3, 7, 9, 23, 35, 125, 251, 107, 401, 1113, 3585, 6331, 2363, 27889, 28877}}, +{5672, 16, 32037, {1, 1, 7, 13, 9, 1, 13, 69, 257, 369, 547, 1595, 1823, 9553, 25653, 31181}}, +{5673, 16, 32062, {1, 1, 7, 11, 9, 43, 3, 93, 69, 1019, 1935, 3297, 47, 7101, 1037, 63473}}, +{5674, 16, 32069, {1, 1, 7, 5, 21, 9, 97, 105, 405, 893, 1673, 3783, 2965, 7329, 4549, 25433}}, +{5675, 16, 32115, {1, 1, 5, 13, 5, 17, 31, 123, 415, 173, 1333, 2245, 1557, 16011, 28321, 4039}}, +{5676, 16, 32128, {1, 1, 5, 9, 15, 3, 27, 79, 511, 39, 945, 49, 3231, 9199, 21327, 11183}}, +{5677, 16, 32171, {1, 3, 3, 9, 3, 15, 115, 141, 387, 341, 953, 399, 6109, 12037, 21079, 26745}}, +{5678, 16, 32173, {1, 3, 3, 1, 5, 5, 31, 195, 477, 755, 687, 3811, 805, 679, 20687, 46299}}, +{5679, 16, 32182, {1, 1, 7, 15, 1, 31, 67, 159, 205, 141, 1667, 3077, 451, 13161, 16211, 6887}}, +{5680, 16, 32191, {1, 3, 3, 1, 7, 43, 87, 5, 49, 205, 231, 3957, 2947, 13199, 15743, 4681}}, +{5681, 16, 32193, {1, 3, 3, 15, 25, 37, 95, 11, 439, 553, 59, 1241, 7407, 13467, 22403, 44441}}, +{5682, 16, 32194, {1, 1, 1, 3, 21, 3, 127, 239, 491, 139, 1411, 3417, 4247, 6247, 13809, 31609}}, +{5683, 16, 32229, {1, 1, 5, 1, 9, 13, 5, 155, 109, 593, 119, 4091, 1911, 8301, 4239, 50081}}, +{5684, 16, 32230, {1, 3, 5, 13, 27, 3, 99, 225, 253, 169, 801, 3741, 1905, 12073, 31831, 17997}}, +{5685, 16, 32248, {1, 3, 7, 15, 9, 23, 93, 171, 453, 983, 1657, 1133, 6381, 5229, 32303, 17439}}, +{5686, 16, 32263, {1, 1, 7, 11, 7, 5, 125, 141, 63, 763, 1293, 1007, 4579, 1479, 11977, 59261}}, +{5687, 16, 32264, {1, 3, 1, 7, 1, 15, 49, 41, 367, 639, 1933, 401, 2335, 2441, 13653, 55555}}, +{5688, 16, 32269, {1, 3, 1, 7, 15, 23, 5, 213, 45, 721, 543, 2133, 4525, 9719, 28053, 54075}}, +{5689, 16, 32298, {1, 3, 7, 3, 11, 7, 23, 35, 169, 829, 1957, 2423, 3583, 4951, 28957, 29753}}, +{5690, 16, 32335, {1, 1, 3, 3, 1, 5, 19, 235, 175, 969, 229, 2335, 7215, 10195, 7487, 64191}}, +{5691, 16, 32340, {1, 1, 7, 3, 27, 1, 73, 49, 445, 863, 69, 3555, 993, 9553, 31941, 29901}}, +{5692, 16, 32356, {1, 3, 5, 11, 9, 25, 59, 177, 23, 997, 1041, 1135, 3879, 767, 2263, 51267}}, +{5693, 16, 32374, {1, 1, 7, 3, 1, 63, 49, 51, 237, 569, 1293, 1143, 3125, 16315, 17009, 24821}}, +{5694, 16, 32390, {1, 3, 3, 15, 11, 17, 121, 25, 349, 833, 557, 1975, 5405, 15189, 31243, 53541}}, +{5695, 16, 32401, {1, 3, 7, 9, 11, 15, 39, 15, 75, 87, 55, 2069, 3291, 507, 16925, 57751}}, +{5696, 16, 32414, {1, 1, 3, 15, 1, 21, 61, 139, 357, 931, 647, 947, 2291, 15557, 6739, 5881}}, +{5697, 16, 32417, {1, 3, 1, 9, 1, 47, 73, 59, 115, 497, 733, 1777, 905, 16181, 4351, 7345}}, +{5698, 16, 32442, {1, 3, 3, 7, 5, 21, 67, 113, 71, 743, 757, 1851, 7899, 10315, 15437, 61803}}, +{5699, 16, 32450, {1, 3, 7, 1, 9, 23, 77, 131, 395, 767, 1229, 2629, 5731, 11907, 32217, 18473}}, +{5700, 16, 32461, {1, 3, 5, 15, 1, 23, 123, 207, 291, 565, 1211, 501, 2111, 11381, 5171, 54841}}, +{5701, 16, 32473, {1, 1, 1, 15, 21, 13, 3, 175, 405, 109, 1353, 2495, 7619, 14971, 28179, 34737}}, +{5702, 16, 32479, {1, 3, 5, 3, 17, 25, 53, 71, 229, 729, 1953, 3119, 7747, 1551, 23417, 35563}}, +{5703, 16, 32530, {1, 1, 7, 7, 11, 31, 81, 43, 149, 537, 1253, 2759, 431, 4813, 8375, 46329}}, +{5704, 16, 32536, {1, 1, 1, 5, 11, 27, 61, 199, 239, 889, 723, 2353, 5663, 7385, 28165, 14675}}, +{5705, 16, 32548, {1, 3, 1, 7, 3, 3, 83, 247, 247, 57, 579, 1163, 2615, 4051, 2809, 46413}}, +{5706, 16, 32577, {1, 1, 3, 11, 13, 47, 11, 235, 475, 35, 843, 2329, 3519, 8899, 14533, 24889}}, +{5707, 16, 32628, {1, 3, 1, 1, 7, 31, 15, 101, 327, 499, 471, 1001, 339, 11863, 24787, 47191}}, +{5708, 16, 32642, {1, 1, 7, 1, 3, 55, 93, 43, 11, 65, 289, 1249, 5325, 13867, 29841, 34333}}, +{5709, 16, 32665, {1, 3, 3, 1, 25, 61, 87, 113, 115, 265, 1007, 1129, 7633, 6109, 5733, 22649}}, +{5710, 16, 32666, {1, 3, 1, 11, 31, 59, 127, 83, 33, 419, 1037, 3777, 6383, 2711, 2113, 17233}}, +{5711, 16, 32668, {1, 1, 5, 13, 11, 17, 73, 41, 257, 223, 359, 3821, 4617, 1943, 11331, 40153}}, +{5712, 16, 32696, {1, 1, 1, 1, 9, 25, 43, 179, 17, 1021, 1323, 761, 5861, 11547, 26017, 5165}}, +{5713, 16, 32722, {1, 3, 5, 3, 29, 21, 53, 111, 213, 717, 1101, 3215, 3021, 16343, 23387, 33439}}, +{5714, 16, 32757, {1, 3, 5, 13, 29, 11, 21, 89, 107, 111, 1121, 2785, 3493, 9873, 13, 40863}}, +{5715, 16, 32758, {1, 1, 5, 13, 15, 15, 111, 219, 59, 43, 333, 3581, 1311, 2799, 23987, 21637}}, +{5716, 17, 4, {1, 3, 1, 11, 21, 57, 115, 247, 499, 525, 1629, 3679, 2109, 6607, 27435, 1745, 71201}}, +{5717, 17, 7, {1, 3, 3, 3, 31, 17, 113, 165, 189, 361, 103, 1775, 3001, 3865, 30591, 2873, 17129}}, +{5718, 17, 16, {1, 1, 5, 5, 15, 47, 47, 85, 247, 471, 713, 3571, 2407, 9811, 8187, 32133, 8541}}, +{5719, 17, 22, {1, 3, 3, 1, 15, 1, 59, 151, 469, 351, 671, 2925, 7207, 5061, 28691, 4363, 50767}}, +{5720, 17, 25, {1, 1, 5, 7, 11, 35, 67, 45, 193, 3, 627, 3333, 6497, 12307, 28807, 13997, 108645}}, +{5721, 17, 31, {1, 3, 1, 1, 17, 63, 125, 185, 485, 759, 717, 1993, 6707, 3993, 2181, 8173, 18057}}, +{5722, 17, 32, {1, 1, 3, 13, 7, 15, 113, 207, 103, 191, 1895, 2595, 3873, 12021, 19259, 12553, 119119}}, +{5723, 17, 42, {1, 3, 7, 1, 17, 11, 101, 209, 315, 9, 901, 2303, 7623, 7459, 26391, 45143, 5753}}, +{5724, 17, 52, {1, 1, 5, 15, 1, 5, 71, 155, 167, 89, 145, 3483, 2385, 15205, 9193, 20637, 58473}}, +{5725, 17, 61, {1, 1, 5, 7, 25, 55, 57, 51, 333, 299, 1721, 1667, 6513, 10191, 29405, 21923, 76593}}, +{5726, 17, 70, {1, 1, 5, 1, 7, 37, 107, 91, 241, 137, 627, 2749, 5573, 11243, 26197, 4545, 105599}}, +{5727, 17, 76, {1, 3, 1, 5, 25, 37, 73, 61, 57, 249, 1953, 1385, 6479, 3701, 10693, 617, 62535}}, +{5728, 17, 81, {1, 1, 1, 15, 5, 63, 41, 151, 395, 681, 227, 3027, 8123, 15091, 15475, 35671, 21129}}, +{5729, 17, 87, {1, 3, 5, 11, 29, 21, 15, 233, 103, 463, 1829, 2257, 1717, 2249, 9599, 5097, 55705}}, +{5730, 17, 93, {1, 3, 5, 1, 29, 3, 35, 151, 193, 105, 1107, 827, 7169, 1843, 15225, 29025, 43165}}, +{5731, 17, 98, {1, 1, 7, 15, 17, 51, 93, 199, 205, 41, 113, 1081, 1571, 11471, 11057, 16149, 66905}}, +{5732, 17, 122, {1, 1, 3, 11, 5, 25, 107, 195, 51, 675, 1683, 3739, 1653, 611, 23249, 53157, 127785}}, +{5733, 17, 133, {1, 1, 7, 5, 7, 3, 25, 145, 453, 735, 441, 77, 8171, 9281, 22749, 36973, 106237}}, +{5734, 17, 134, {1, 1, 3, 13, 13, 5, 95, 33, 223, 369, 453, 2031, 3531, 6931, 8977, 54109, 115487}}, +{5735, 17, 140, {1, 1, 7, 7, 1, 61, 33, 183, 245, 623, 529, 1831, 1867, 2845, 8311, 10143, 67897}}, +{5736, 17, 146, {1, 3, 7, 11, 27, 23, 93, 9, 61, 451, 67, 1695, 4227, 2415, 19249, 44765, 24611}}, +{5737, 17, 158, {1, 3, 3, 11, 29, 57, 65, 117, 349, 149, 363, 1095, 4989, 3071, 17519, 18079, 7277}}, +{5738, 17, 171, {1, 3, 5, 9, 1, 7, 59, 87, 307, 111, 1291, 789, 7361, 6477, 11229, 36785, 33303}}, +{5739, 17, 176, {1, 3, 5, 1, 19, 47, 53, 81, 127, 849, 1479, 1459, 1889, 15087, 22115, 20587, 121005}}, +{5740, 17, 179, {1, 1, 7, 15, 31, 31, 71, 55, 253, 927, 277, 2087, 1313, 3721, 22729, 34709, 9821}}, +{5741, 17, 182, {1, 3, 5, 13, 13, 63, 73, 41, 165, 315, 1907, 2005, 691, 725, 22685, 8673, 76011}}, +{5742, 17, 191, {1, 1, 5, 9, 23, 61, 47, 167, 279, 683, 683, 1261, 4037, 15251, 9421, 45359, 38001}}, +{5743, 17, 193, {1, 1, 7, 3, 17, 33, 69, 139, 235, 709, 1475, 2483, 7559, 8581, 23965, 31153, 5097}}, +{5744, 17, 224, {1, 1, 7, 15, 23, 61, 43, 5, 433, 531, 761, 2749, 2881, 5225, 13491, 16479, 50203}}, +{5745, 17, 227, {1, 1, 3, 9, 29, 7, 9, 23, 339, 315, 1723, 779, 2983, 6571, 16025, 63055, 111103}}, +{5746, 17, 229, {1, 1, 7, 13, 23, 55, 71, 121, 297, 193, 41, 3165, 4419, 5853, 28127, 56151, 16597}}, +{5747, 17, 236, {1, 1, 5, 7, 7, 23, 93, 11, 261, 297, 1769, 1239, 2579, 531, 4423, 7891, 21729}}, +{5748, 17, 248, {1, 3, 5, 1, 13, 35, 83, 85, 125, 887, 161, 3311, 7261, 9557, 28975, 28643, 21479}}, +{5749, 17, 262, {1, 3, 5, 3, 27, 5, 47, 175, 287, 867, 141, 3079, 7583, 4997, 18271, 24097, 96319}}, +{5750, 17, 273, {1, 3, 5, 1, 21, 51, 47, 67, 211, 281, 1861, 1169, 6403, 4229, 3995, 9921, 41515}}, +{5751, 17, 276, {1, 3, 3, 11, 23, 23, 81, 55, 441, 211, 169, 3197, 7213, 7205, 15, 11771, 129091}}, +{5752, 17, 280, {1, 3, 7, 3, 23, 39, 23, 163, 253, 1005, 1775, 3393, 7659, 8065, 30021, 61065, 35171}}, +{5753, 17, 283, {1, 3, 1, 1, 29, 29, 39, 143, 191, 711, 1077, 13, 4137, 15425, 11139, 1269, 71915}}, +{5754, 17, 290, {1, 3, 3, 5, 11, 41, 101, 127, 301, 335, 45, 2065, 5835, 7801, 2639, 5735, 63445}}, +{5755, 17, 309, {1, 3, 5, 9, 3, 39, 51, 53, 489, 663, 951, 3931, 3075, 753, 22179, 20573, 10775}}, +{5756, 17, 316, {1, 3, 3, 15, 13, 31, 1, 237, 79, 587, 395, 591, 607, 13105, 21301, 26829, 112181}}, +{5757, 17, 319, {1, 1, 7, 7, 5, 55, 31, 117, 247, 229, 247, 307, 3821, 6483, 31317, 22975, 40535}}, +{5758, 17, 321, {1, 3, 7, 15, 15, 59, 101, 17, 437, 373, 1727, 471, 2783, 7825, 24555, 58765, 5097}}, +{5759, 17, 328, {1, 1, 3, 9, 31, 27, 71, 147, 71, 871, 793, 2363, 3213, 13383, 29801, 53187, 70021}}, +{5760, 17, 346, {1, 3, 1, 1, 19, 47, 121, 61, 303, 565, 1371, 3703, 2201, 6835, 26041, 56039, 80227}}, +{5761, 17, 355, {1, 1, 5, 5, 3, 45, 91, 61, 257, 947, 1449, 4031, 4925, 8627, 11909, 9529, 3429}}, +{5762, 17, 367, {1, 1, 1, 7, 9, 63, 69, 233, 141, 361, 1443, 2157, 2877, 643, 2779, 8109, 126911}}, +{5763, 17, 369, {1, 1, 5, 1, 5, 3, 67, 157, 21, 1, 361, 35, 1475, 12877, 22169, 6653, 85005}}, +{5764, 17, 372, {1, 1, 7, 9, 25, 1, 7, 175, 47, 963, 405, 3955, 3905, 8429, 8483, 62037, 11323}}, +{5765, 17, 382, {1, 1, 5, 11, 29, 23, 77, 211, 319, 745, 1935, 2429, 1687, 2173, 1571, 19457, 117777}}, +{5766, 17, 388, {1, 1, 7, 5, 15, 57, 121, 189, 303, 79, 527, 1801, 71, 9857, 14197, 59007, 75341}}, +{5767, 17, 392, {1, 3, 3, 5, 25, 3, 19, 141, 155, 157, 287, 769, 5789, 8443, 31823, 1019, 79111}}, +{5768, 17, 395, {1, 1, 5, 11, 27, 27, 117, 141, 355, 1023, 869, 995, 6311, 6573, 11721, 1565, 35517}}, +{5769, 17, 397, {1, 1, 1, 9, 1, 33, 107, 51, 41, 889, 1191, 1055, 503, 14779, 6641, 58117, 74157}}, +{5770, 17, 403, {1, 1, 7, 5, 13, 39, 39, 33, 293, 75, 963, 3379, 1847, 12371, 9005, 38107, 69753}}, +{5771, 17, 409, {1, 1, 5, 5, 7, 37, 19, 241, 427, 635, 1711, 3835, 773, 10525, 17207, 1675, 127255}}, +{5772, 17, 410, {1, 1, 3, 7, 17, 19, 11, 113, 191, 947, 1133, 3173, 213, 10125, 1373, 56797, 111011}}, +{5773, 17, 425, {1, 3, 1, 1, 29, 45, 65, 237, 223, 695, 697, 3197, 6887, 8079, 22099, 12079, 54847}}, +{5774, 17, 443, {1, 3, 3, 7, 5, 47, 19, 215, 341, 863, 1879, 571, 7113, 2465, 23407, 52555, 44375}}, +{5775, 17, 472, {1, 3, 5, 11, 25, 31, 109, 73, 429, 553, 1905, 1753, 6733, 4433, 13785, 32041, 27115}}, +{5776, 17, 475, {1, 1, 1, 3, 27, 5, 97, 47, 343, 977, 1241, 721, 3355, 3559, 28349, 56389, 63103}}, +{5777, 17, 481, {1, 3, 3, 9, 21, 53, 57, 211, 73, 155, 1855, 715, 3179, 5963, 10061, 35141, 63131}}, +{5778, 17, 488, {1, 3, 1, 15, 21, 25, 51, 73, 31, 25, 1385, 637, 6585, 49, 2105, 6829, 9353}}, +{5779, 17, 493, {1, 1, 7, 5, 11, 55, 31, 69, 145, 637, 1131, 2175, 3547, 13031, 2131, 12361, 74737}}, +{5780, 17, 501, {1, 3, 3, 5, 31, 7, 119, 119, 309, 925, 895, 3813, 1131, 4765, 17865, 48707, 113577}}, +{5781, 17, 515, {1, 3, 3, 9, 13, 33, 127, 177, 323, 727, 1881, 775, 7329, 11881, 28309, 987, 116093}}, +{5782, 17, 522, {1, 1, 3, 5, 31, 55, 39, 41, 511, 157, 1655, 2991, 3633, 8521, 27049, 18771, 54015}}, +{5783, 17, 524, {1, 3, 5, 13, 11, 45, 113, 185, 375, 661, 1331, 4013, 5521, 1037, 23365, 30239, 76957}}, +{5784, 17, 527, {1, 3, 3, 7, 19, 7, 23, 17, 435, 913, 1985, 353, 6049, 7549, 3371, 60867, 41099}}, +{5785, 17, 535, {1, 3, 3, 15, 17, 9, 53, 127, 149, 849, 1181, 2237, 1345, 539, 19715, 26277, 125445}}, +{5786, 17, 542, {1, 1, 1, 3, 1, 9, 67, 79, 79, 795, 1793, 3167, 5917, 5323, 22043, 22007, 3917}}, +{5787, 17, 545, {1, 3, 5, 9, 15, 19, 59, 37, 141, 145, 413, 1095, 7709, 669, 27061, 40171, 101499}}, +{5788, 17, 555, {1, 3, 1, 1, 9, 49, 109, 7, 119, 861, 875, 1049, 4125, 6113, 15699, 6105, 48799}}, +{5789, 17, 558, {1, 1, 3, 9, 11, 29, 43, 175, 371, 357, 1181, 3933, 43, 4559, 10333, 23603, 83095}}, +{5790, 17, 560, {1, 3, 3, 9, 9, 7, 57, 61, 409, 143, 591, 761, 4107, 8117, 1051, 4471, 91771}}, +{5791, 17, 563, {1, 1, 3, 11, 3, 53, 119, 21, 213, 219, 51, 3491, 7143, 937, 24693, 3211, 99463}}, +{5792, 17, 570, {1, 1, 3, 3, 1, 47, 53, 153, 211, 523, 1637, 3351, 3753, 12489, 31825, 27613, 96431}}, +{5793, 17, 578, {1, 1, 5, 15, 23, 57, 81, 231, 147, 9, 1043, 3157, 1463, 4835, 22435, 57407, 59615}}, +{5794, 17, 583, {1, 3, 3, 13, 15, 63, 111, 5, 449, 957, 1175, 2887, 7741, 8975, 28775, 4067, 69283}}, +{5795, 17, 590, {1, 3, 1, 1, 5, 61, 109, 211, 349, 179, 951, 153, 3147, 7555, 27037, 59829, 16077}}, +{5796, 17, 597, {1, 3, 3, 7, 15, 33, 53, 61, 309, 991, 227, 3437, 3983, 14559, 13065, 46387, 49105}}, +{5797, 17, 604, {1, 3, 5, 3, 25, 23, 97, 139, 315, 601, 1179, 1083, 6799, 1813, 15511, 60433, 65641}}, +{5798, 17, 608, {1, 1, 7, 1, 11, 43, 87, 87, 173, 161, 91, 3011, 1869, 2313, 13691, 3509, 39433}}, +{5799, 17, 614, {1, 3, 5, 7, 15, 5, 39, 251, 269, 819, 815, 2283, 5635, 6953, 27017, 65143, 45281}}, +{5800, 17, 635, {1, 3, 7, 9, 1, 37, 9, 57, 467, 37, 1743, 4031, 3751, 8105, 23789, 46847, 21911}}, +{5801, 17, 637, {1, 1, 7, 1, 23, 47, 63, 99, 59, 951, 1837, 2829, 161, 857, 4045, 9945, 53487}}, +{5802, 17, 653, {1, 3, 7, 7, 11, 47, 43, 99, 279, 945, 1189, 2091, 4597, 183, 15527, 7151, 112403}}, +{5803, 17, 654, {1, 3, 3, 15, 9, 53, 63, 135, 119, 95, 131, 2461, 157, 10631, 20847, 51699, 58865}}, +{5804, 17, 659, {1, 1, 3, 1, 25, 3, 115, 29, 303, 361, 1529, 3993, 5899, 11501, 4463, 47121, 75333}}, +{5805, 17, 666, {1, 3, 1, 15, 9, 39, 31, 199, 305, 279, 15, 611, 561, 6593, 3189, 1863, 61875}}, +{5806, 17, 671, {1, 3, 5, 15, 5, 49, 87, 17, 87, 5, 1179, 1351, 7647, 7529, 15901, 30351, 31959}}, +{5807, 17, 689, {1, 3, 3, 9, 31, 57, 127, 239, 349, 773, 547, 2649, 1309, 8071, 10741, 57645, 14423}}, +{5808, 17, 690, {1, 1, 5, 9, 5, 15, 59, 185, 315, 411, 1425, 3905, 853, 12393, 21, 15195, 114291}}, +{5809, 17, 695, {1, 3, 1, 5, 29, 47, 19, 203, 319, 673, 1169, 2413, 5295, 6251, 19883, 2725, 28937}}, +{5810, 17, 713, {1, 3, 1, 5, 21, 55, 19, 185, 103, 827, 117, 341, 3315, 5625, 345, 63845, 49081}}, +{5811, 17, 722, {1, 1, 7, 9, 27, 51, 105, 15, 243, 735, 1221, 1641, 293, 14423, 5363, 60873, 66223}}, +{5812, 17, 733, {1, 1, 5, 1, 19, 5, 109, 131, 131, 67, 231, 2907, 4389, 5079, 20503, 59045, 33625}}, +{5813, 17, 758, {1, 3, 1, 5, 5, 15, 79, 67, 287, 225, 519, 1543, 2389, 671, 7767, 62625, 61639}}, +{5814, 17, 770, {1, 1, 1, 9, 25, 35, 83, 15, 291, 207, 1757, 3691, 5669, 11255, 27939, 57813, 46251}}, +{5815, 17, 782, {1, 3, 1, 1, 29, 3, 83, 109, 323, 179, 1855, 3205, 7665, 16201, 13863, 16347, 98977}}, +{5816, 17, 784, {1, 3, 1, 13, 17, 1, 101, 183, 153, 985, 125, 999, 855, 15897, 19491, 8953, 23277}}, +{5817, 17, 793, {1, 1, 7, 11, 9, 33, 45, 229, 411, 155, 537, 3037, 1785, 11719, 8589, 16617, 47339}}, +{5818, 17, 803, {1, 1, 5, 5, 9, 11, 7, 163, 305, 621, 1647, 2609, 7901, 14421, 23447, 1205, 52681}}, +{5819, 17, 805, {1, 3, 3, 1, 7, 29, 39, 227, 419, 561, 129, 3299, 3123, 4243, 18689, 12335, 71783}}, +{5820, 17, 812, {1, 3, 1, 9, 11, 61, 65, 207, 123, 763, 485, 1943, 3617, 415, 22397, 58597, 128017}}, +{5821, 17, 838, {1, 1, 5, 13, 25, 43, 115, 73, 269, 137, 1765, 705, 1705, 16137, 22751, 60021, 4333}}, +{5822, 17, 849, {1, 1, 5, 13, 3, 57, 9, 141, 75, 695, 597, 3435, 1085, 4905, 19625, 16061, 12111}}, +{5823, 17, 875, {1, 1, 5, 9, 29, 13, 119, 251, 353, 421, 1955, 3503, 2605, 2587, 12503, 46419, 128815}}, +{5824, 17, 877, {1, 3, 5, 7, 7, 29, 67, 25, 37, 327, 1607, 1899, 1691, 5801, 17441, 9755, 24993}}, +{5825, 17, 880, {1, 1, 3, 11, 17, 29, 121, 201, 371, 597, 213, 2361, 6615, 169, 24801, 56175, 129241}}, +{5826, 17, 892, {1, 3, 5, 1, 31, 63, 85, 77, 151, 599, 103, 677, 4431, 12897, 6373, 40349, 100819}}, +{5827, 17, 895, {1, 3, 5, 9, 25, 9, 119, 219, 379, 939, 1907, 945, 5819, 7433, 32519, 56493, 50441}}, +{5828, 17, 899, {1, 1, 3, 9, 13, 1, 63, 189, 135, 839, 1821, 2247, 2547, 965, 6847, 63335, 32921}}, +{5829, 17, 919, {1, 3, 5, 13, 21, 25, 111, 37, 319, 469, 1999, 1637, 8167, 2641, 24615, 63713, 115923}}, +{5830, 17, 920, {1, 3, 5, 9, 9, 27, 1, 63, 275, 223, 1675, 3833, 7377, 9755, 6279, 37161, 108805}}, +{5831, 17, 932, {1, 3, 3, 13, 29, 23, 21, 73, 401, 863, 701, 2527, 4557, 5549, 22493, 6651, 39167}}, +{5832, 17, 935, {1, 1, 3, 15, 25, 21, 97, 25, 83, 925, 2029, 3789, 3241, 7617, 13699, 31123, 124619}}, +{5833, 17, 936, {1, 3, 7, 5, 23, 7, 95, 227, 123, 215, 359, 2099, 4505, 8477, 32665, 18211, 99679}}, +{5834, 17, 941, {1, 3, 1, 9, 11, 57, 75, 17, 105, 175, 831, 1033, 5425, 8419, 16163, 23901, 33889}}, +{5835, 17, 950, {1, 1, 7, 1, 17, 49, 71, 23, 129, 413, 333, 2547, 4627, 14961, 16745, 53649, 73059}}, +{5836, 17, 961, {1, 3, 5, 3, 13, 33, 121, 147, 443, 187, 1949, 319, 8141, 14359, 11203, 53569, 70415}}, +{5837, 17, 962, {1, 3, 1, 11, 15, 1, 23, 29, 509, 985, 1217, 3755, 385, 3697, 24631, 37619, 62435}}, +{5838, 17, 971, {1, 3, 3, 3, 17, 11, 107, 37, 227, 913, 259, 2799, 3249, 2347, 9703, 52741, 101187}}, +{5839, 17, 982, {1, 1, 5, 13, 25, 25, 47, 77, 405, 415, 1947, 1675, 5079, 1333, 10059, 32033, 88975}}, +{5840, 17, 986, {1, 3, 5, 9, 27, 7, 19, 241, 445, 205, 333, 285, 7997, 6339, 29643, 10229, 29965}}, +{5841, 17, 1012, {1, 3, 5, 11, 17, 9, 91, 223, 173, 1013, 779, 3967, 781, 5471, 4309, 24795, 99203}}, +{5842, 17, 1021, {1, 1, 1, 3, 19, 53, 7, 159, 351, 515, 223, 3375, 1, 4985, 16729, 43333, 85917}}, +{5843, 17, 1024, {1, 3, 3, 1, 19, 35, 95, 69, 19, 157, 1177, 579, 7109, 3499, 3219, 26641, 49491}}, +{5844, 17, 1029, {1, 3, 3, 5, 25, 21, 125, 5, 39, 857, 615, 2925, 2005, 5503, 25523, 36711, 30939}}, +{5845, 17, 1030, {1, 3, 1, 5, 11, 33, 29, 5, 425, 125, 939, 1641, 321, 1023, 12551, 4587, 116617}}, +{5846, 17, 1051, {1, 3, 3, 13, 9, 59, 93, 137, 103, 517, 1555, 13, 7965, 13629, 14339, 37425, 65891}}, +{5847, 17, 1054, {1, 3, 7, 1, 31, 31, 87, 237, 365, 951, 267, 2019, 5085, 6133, 29371, 50319, 94313}}, +{5848, 17, 1064, {1, 3, 5, 7, 17, 19, 23, 225, 501, 189, 1291, 603, 6873, 8633, 11425, 30565, 26355}}, +{5849, 17, 1067, {1, 3, 7, 11, 23, 17, 91, 111, 415, 225, 1287, 2081, 4683, 12069, 3627, 32281, 17995}}, +{5850, 17, 1082, {1, 1, 5, 15, 25, 59, 75, 203, 179, 405, 1711, 3147, 7483, 5583, 3729, 11765, 61019}}, +{5851, 17, 1096, {1, 3, 3, 9, 3, 43, 65, 7, 269, 33, 829, 1789, 967, 13119, 26329, 16937, 18533}}, +{5852, 17, 1116, {1, 1, 3, 15, 11, 39, 73, 11, 31, 143, 1913, 1227, 1363, 11831, 28687, 50489, 106373}}, +{5853, 17, 1119, {1, 1, 3, 3, 25, 19, 15, 11, 349, 1011, 421, 3193, 3665, 6149, 20729, 6997, 51437}}, +{5854, 17, 1129, {1, 3, 5, 9, 13, 63, 73, 55, 417, 223, 1753, 2913, 4809, 3947, 10769, 5751, 93867}}, +{5855, 17, 1130, {1, 3, 7, 13, 31, 39, 39, 133, 483, 839, 1137, 3303, 7285, 4309, 24079, 60529, 103337}}, +{5856, 17, 1132, {1, 1, 3, 7, 1, 55, 3, 253, 435, 589, 1949, 1461, 513, 381, 29455, 4263, 16831}}, +{5857, 17, 1137, {1, 1, 1, 15, 25, 19, 77, 101, 299, 187, 1021, 1533, 8021, 4165, 2277, 18927, 110439}}, +{5858, 17, 1147, {1, 1, 1, 11, 9, 35, 71, 159, 409, 527, 15, 4073, 5749, 8563, 2503, 53015, 111581}}, +{5859, 17, 1150, {1, 1, 7, 5, 21, 47, 113, 23, 477, 559, 543, 409, 4701, 11479, 30761, 8373, 87777}}, +{5860, 17, 1154, {1, 3, 5, 13, 9, 27, 25, 137, 81, 37, 799, 857, 3539, 4471, 15753, 59015, 48589}}, +{5861, 17, 1165, {1, 1, 3, 7, 11, 57, 103, 83, 209, 71, 193, 3251, 4839, 13959, 32009, 6471, 23631}}, +{5862, 17, 1166, {1, 1, 7, 11, 25, 33, 85, 31, 371, 253, 1667, 1627, 6159, 10039, 15177, 52121, 39475}}, +{5863, 17, 1174, {1, 1, 5, 9, 13, 55, 37, 13, 95, 113, 1895, 1525, 1907, 6361, 5863, 27767, 108143}}, +{5864, 17, 1177, {1, 1, 3, 13, 21, 5, 53, 39, 485, 171, 1355, 2117, 3127, 6467, 31697, 45343, 111477}}, +{5865, 17, 1184, {1, 1, 7, 15, 13, 57, 11, 231, 329, 703, 1823, 2983, 215, 2835, 19719, 56637, 126169}}, +{5866, 17, 1194, {1, 3, 5, 15, 13, 51, 13, 173, 301, 867, 127, 2391, 2795, 4945, 13293, 49947, 10765}}, +{5867, 17, 1204, {1, 3, 3, 9, 23, 5, 29, 165, 467, 599, 1181, 3213, 4069, 5473, 8937, 51495, 42611}}, +{5868, 17, 1208, {1, 1, 7, 15, 5, 5, 31, 125, 397, 519, 1465, 115, 7877, 7025, 14213, 50343, 85827}}, +{5869, 17, 1213, {1, 3, 7, 3, 25, 59, 95, 103, 101, 347, 95, 3, 1251, 15109, 12615, 7511, 56789}}, +{5870, 17, 1219, {1, 3, 5, 9, 13, 59, 71, 19, 107, 73, 345, 3177, 6519, 2407, 18033, 31075, 113185}}, +{5871, 17, 1233, {1, 1, 1, 3, 27, 37, 5, 219, 169, 149, 355, 549, 1811, 11351, 22627, 53931, 88619}}, +{5872, 17, 1264, {1, 3, 1, 3, 27, 7, 9, 97, 399, 947, 1393, 3917, 5439, 15845, 19465, 30123, 69099}}, +{5873, 17, 1267, {1, 1, 7, 9, 13, 25, 107, 45, 111, 409, 967, 3359, 2499, 1703, 20763, 45187, 16265}}, +{5874, 17, 1281, {1, 1, 1, 13, 5, 49, 43, 249, 49, 947, 597, 1773, 2387, 2693, 15297, 57969, 53385}}, +{5875, 17, 1312, {1, 1, 7, 15, 27, 25, 27, 121, 421, 781, 143, 817, 7335, 14211, 139, 55601, 56671}}, +{5876, 17, 1321, {1, 3, 1, 5, 29, 47, 77, 23, 413, 931, 785, 1221, 769, 13131, 26955, 56441, 85745}}, +{5877, 17, 1330, {1, 1, 1, 11, 27, 3, 53, 21, 467, 43, 1533, 1053, 691, 6369, 8325, 51087, 71261}}, +{5878, 17, 1332, {1, 1, 3, 15, 7, 9, 43, 225, 293, 143, 1049, 3095, 6119, 3165, 9913, 26023, 62657}}, +{5879, 17, 1335, {1, 3, 7, 9, 11, 39, 99, 193, 217, 941, 259, 3811, 6757, 281, 10377, 46961, 48949}}, +{5880, 17, 1341, {1, 1, 1, 1, 25, 1, 99, 61, 495, 861, 2013, 487, 2821, 12921, 30111, 27213, 97363}}, +{5881, 17, 1356, {1, 1, 5, 9, 23, 33, 103, 237, 161, 721, 2021, 159, 995, 475, 20615, 30961, 31767}}, +{5882, 17, 1371, {1, 3, 1, 1, 5, 59, 63, 139, 451, 789, 1285, 655, 5501, 273, 21061, 35937, 20811}}, +{5883, 17, 1377, {1, 3, 3, 9, 9, 15, 121, 233, 287, 929, 1605, 1243, 417, 1695, 29903, 28699, 85981}}, +{5884, 17, 1380, {1, 3, 3, 5, 7, 25, 27, 253, 469, 255, 285, 2467, 4897, 4079, 29759, 50351, 76451}}, +{5885, 17, 1384, {1, 1, 3, 3, 5, 33, 29, 209, 291, 967, 1429, 1953, 5957, 14065, 8875, 32675, 4629}}, +{5886, 17, 1395, {1, 3, 5, 9, 7, 31, 97, 21, 177, 485, 1115, 4051, 6683, 7761, 30181, 37531, 51789}}, +{5887, 17, 1397, {1, 1, 7, 3, 25, 51, 23, 183, 57, 699, 1245, 2519, 2783, 4457, 6381, 43199, 40071}}, +{5888, 17, 1411, {1, 3, 5, 5, 19, 55, 45, 101, 299, 461, 1009, 319, 7335, 7769, 5479, 61113, 7937}}, +{5889, 17, 1414, {1, 1, 7, 3, 29, 21, 55, 55, 437, 771, 363, 683, 4299, 15569, 13813, 40663, 86285}}, +{5890, 17, 1426, {1, 1, 1, 13, 31, 35, 93, 175, 451, 387, 1145, 3367, 3833, 13495, 11019, 48925, 85721}}, +{5891, 17, 1432, {1, 1, 7, 15, 31, 21, 55, 205, 117, 895, 535, 2627, 1473, 10779, 24493, 42999, 130805}}, +{5892, 17, 1435, {1, 1, 3, 13, 27, 11, 45, 37, 193, 237, 1505, 1405, 3613, 9565, 3037, 53643, 85211}}, +{5893, 17, 1437, {1, 1, 3, 13, 9, 17, 19, 27, 117, 503, 65, 1033, 7891, 4005, 9229, 20999, 96601}}, +{5894, 17, 1442, {1, 3, 3, 5, 17, 3, 71, 79, 145, 985, 935, 3997, 6239, 12511, 13895, 65031, 126383}}, +{5895, 17, 1454, {1, 1, 5, 1, 23, 55, 3, 105, 71, 243, 1479, 111, 7103, 10753, 26193, 35833, 14583}}, +{5896, 17, 1468, {1, 3, 3, 3, 15, 3, 73, 125, 267, 29, 1775, 1437, 8091, 10891, 25731, 54381, 12821}}, +{5897, 17, 1473, {1, 1, 1, 3, 23, 15, 67, 123, 401, 347, 807, 1097, 31, 11209, 8727, 58149, 129099}}, +{5898, 17, 1488, {1, 3, 3, 7, 7, 61, 49, 129, 423, 535, 135, 3587, 233, 4509, 23209, 59203, 41297}}, +{5899, 17, 1491, {1, 3, 1, 7, 5, 29, 65, 31, 335, 855, 835, 1421, 3081, 14219, 16321, 48269, 41603}}, +{5900, 17, 1509, {1, 1, 1, 13, 3, 21, 5, 117, 163, 603, 1519, 3789, 7873, 10981, 4615, 9165, 83929}}, +{5901, 17, 1524, {1, 3, 5, 11, 15, 21, 75, 151, 193, 757, 647, 1603, 333, 10515, 22771, 55459, 3315}}, +{5902, 17, 1533, {1, 1, 7, 1, 27, 3, 63, 197, 271, 175, 1599, 2119, 1031, 8671, 10893, 35641, 94535}}, +{5903, 17, 1555, {1, 1, 1, 15, 1, 59, 93, 17, 5, 213, 1663, 941, 435, 8107, 1963, 34951, 106181}}, +{5904, 17, 1567, {1, 1, 5, 11, 13, 35, 111, 97, 267, 737, 2023, 1301, 7407, 11249, 31785, 31933, 20673}}, +{5905, 17, 1571, {1, 3, 3, 15, 5, 15, 29, 63, 189, 687, 27, 2005, 7129, 11377, 23175, 42389, 30933}}, +{5906, 17, 1586, {1, 1, 1, 9, 13, 63, 7, 155, 67, 291, 1419, 755, 2623, 4749, 22971, 7545, 55711}}, +{5907, 17, 1592, {1, 3, 7, 7, 23, 29, 83, 151, 213, 201, 157, 3051, 6553, 6401, 15931, 47941, 22869}}, +{5908, 17, 1595, {1, 3, 5, 5, 7, 45, 33, 155, 225, 25, 49, 2419, 4241, 6835, 11401, 50725, 118343}}, +{5909, 17, 1600, {1, 1, 3, 13, 31, 27, 37, 41, 19, 375, 1771, 1789, 2313, 2577, 12615, 22715, 22179}}, +{5910, 17, 1606, {1, 3, 1, 11, 17, 53, 55, 229, 235, 837, 143, 3583, 2789, 5471, 6515, 44565, 8619}}, +{5911, 17, 1627, {1, 1, 5, 15, 5, 17, 23, 95, 217, 551, 353, 27, 3973, 2547, 27903, 50611, 72277}}, +{5912, 17, 1648, {1, 1, 3, 7, 5, 13, 41, 111, 157, 215, 1327, 3073, 1871, 11875, 24239, 40527, 97637}}, +{5913, 17, 1651, {1, 3, 1, 1, 29, 63, 111, 187, 369, 395, 1197, 3229, 4353, 14715, 29671, 50503, 89321}}, +{5914, 17, 1654, {1, 3, 1, 1, 5, 63, 11, 39, 171, 209, 463, 3421, 3451, 4453, 14397, 2219, 98261}}, +{5915, 17, 1667, {1, 3, 3, 5, 1, 1, 13, 101, 67, 815, 1521, 1543, 7221, 7337, 10765, 30029, 47881}}, +{5916, 17, 1669, {1, 1, 5, 7, 9, 9, 33, 197, 439, 893, 961, 11, 4319, 14265, 24839, 33581, 35531}}, +{5917, 17, 1674, {1, 3, 3, 15, 29, 35, 43, 229, 313, 369, 955, 1069, 2939, 12623, 20373, 1533, 9105}}, +{5918, 17, 1687, {1, 3, 1, 7, 21, 7, 127, 243, 103, 353, 859, 3789, 4369, 12063, 22369, 14531, 94289}}, +{5919, 17, 1698, {1, 3, 5, 15, 1, 27, 65, 127, 229, 99, 627, 2693, 7173, 7305, 29971, 7097, 10113}}, +{5920, 17, 1710, {1, 1, 5, 15, 3, 47, 61, 29, 155, 725, 1727, 2667, 7003, 16277, 21983, 21365, 129365}}, +{5921, 17, 1717, {1, 1, 5, 7, 27, 61, 115, 133, 137, 661, 1201, 2151, 367, 3567, 12885, 62143, 53955}}, +{5922, 17, 1722, {1, 1, 1, 11, 9, 41, 113, 103, 469, 687, 1541, 3679, 6833, 10493, 32747, 39909, 121445}}, +{5923, 17, 1735, {1, 1, 7, 5, 5, 5, 91, 91, 5, 405, 529, 3999, 6783, 2387, 16621, 12919, 8659}}, +{5924, 17, 1741, {1, 1, 7, 13, 21, 47, 125, 155, 83, 913, 1833, 4027, 6657, 7031, 31231, 58201, 88943}}, +{5925, 17, 1749, {1, 3, 7, 3, 17, 55, 25, 29, 181, 205, 1173, 1081, 6475, 5037, 18461, 22487, 114131}}, +{5926, 17, 1750, {1, 1, 7, 7, 25, 63, 101, 103, 171, 191, 1863, 3441, 2515, 14179, 30123, 19145, 31669}}, +{5927, 17, 1769, {1, 3, 7, 11, 29, 49, 73, 163, 415, 821, 1809, 723, 7049, 14565, 4829, 19395, 61131}}, +{5928, 17, 1775, {1, 1, 7, 9, 5, 25, 103, 167, 381, 757, 813, 471, 3021, 6619, 20929, 38133, 129505}}, +{5929, 17, 1777, {1, 1, 5, 13, 25, 61, 59, 199, 257, 999, 169, 3289, 7181, 2049, 2185, 39045, 102703}}, +{5930, 17, 1778, {1, 1, 3, 1, 21, 1, 111, 125, 289, 33, 701, 3491, 5569, 8055, 23149, 26793, 102563}}, +{5931, 17, 1792, {1, 1, 7, 3, 25, 15, 105, 235, 307, 201, 1947, 699, 2519, 10615, 29345, 17061, 112949}}, +{5932, 17, 1797, {1, 3, 3, 15, 19, 1, 93, 173, 399, 13, 269, 1189, 523, 5145, 32731, 54087, 94123}}, +{5933, 17, 1802, {1, 3, 1, 15, 9, 41, 59, 79, 217, 833, 1993, 2429, 3599, 6919, 30911, 12615, 67947}}, +{5934, 17, 1822, {1, 3, 3, 13, 31, 9, 95, 37, 343, 955, 1363, 3851, 4091, 13165, 15241, 14853, 35747}}, +{5935, 17, 1825, {1, 1, 3, 5, 27, 39, 37, 217, 385, 473, 1997, 2247, 7353, 1503, 9003, 15055, 27289}}, +{5936, 17, 1831, {1, 3, 7, 11, 1, 13, 21, 243, 375, 91, 1295, 1661, 203, 15251, 15355, 16065, 24183}}, +{5937, 17, 1838, {1, 3, 1, 13, 11, 45, 85, 5, 275, 741, 1395, 4011, 7987, 16087, 24113, 50555, 128147}}, +{5938, 17, 1852, {1, 1, 1, 7, 3, 11, 13, 189, 55, 151, 395, 657, 807, 11973, 26297, 13043, 109641}}, +{5939, 17, 1855, {1, 1, 7, 13, 31, 19, 33, 235, 491, 647, 1115, 2299, 6381, 7525, 2237, 36197, 126457}}, +{5940, 17, 1860, {1, 3, 5, 1, 21, 15, 53, 231, 77, 347, 969, 141, 4501, 9429, 1815, 50887, 74581}}, +{5941, 17, 1867, {1, 1, 1, 9, 29, 43, 47, 103, 327, 131, 927, 441, 7517, 7277, 21065, 409, 50351}}, +{5942, 17, 1869, {1, 1, 5, 1, 11, 13, 103, 157, 239, 69, 1347, 477, 5017, 9723, 28133, 65135, 12359}}, +{5943, 17, 1875, {1, 1, 1, 13, 17, 63, 117, 189, 323, 565, 927, 1727, 5337, 13243, 5739, 31241, 14209}}, +{5944, 17, 1882, {1, 1, 3, 9, 29, 9, 103, 61, 467, 217, 1367, 2405, 5355, 5743, 31469, 30149, 98775}}, +{5945, 17, 1903, {1, 1, 1, 15, 23, 23, 17, 229, 103, 583, 179, 115, 7081, 9437, 32623, 62639, 72391}}, +{5946, 17, 1908, {1, 1, 5, 11, 11, 39, 97, 209, 115, 107, 593, 2347, 1445, 6179, 32011, 8435, 65847}}, +{5947, 17, 1917, {1, 3, 7, 3, 29, 27, 55, 111, 27, 731, 995, 1871, 5017, 1485, 11313, 2559, 6561}}, +{5948, 17, 1927, {1, 3, 1, 3, 27, 9, 103, 247, 83, 197, 517, 1629, 2189, 7255, 183, 35111, 15077}}, +{5949, 17, 1941, {1, 3, 7, 5, 31, 37, 87, 223, 343, 331, 1361, 3371, 2007, 13235, 10897, 63839, 109837}}, +{5950, 17, 1945, {1, 1, 7, 11, 17, 5, 41, 197, 489, 625, 1595, 2663, 5941, 14029, 30999, 16781, 116001}}, +{5951, 17, 1948, {1, 3, 3, 7, 19, 19, 61, 175, 125, 609, 1391, 147, 3001, 4189, 10133, 24031, 46219}}, +{5952, 17, 1962, {1, 1, 3, 13, 13, 57, 117, 181, 299, 939, 583, 3151, 829, 6561, 30449, 12211, 107879}}, +{5953, 17, 1975, {1, 1, 5, 11, 23, 45, 87, 115, 259, 613, 1001, 171, 57, 13789, 22173, 56837, 26263}}, +{5954, 17, 1976, {1, 1, 3, 3, 7, 43, 45, 131, 87, 251, 1411, 2737, 2739, 4595, 12561, 12043, 82885}}, +{5955, 17, 1987, {1, 3, 3, 7, 19, 39, 87, 223, 461, 37, 283, 3937, 6193, 10887, 11509, 41131, 38359}}, +{5956, 17, 1993, {1, 3, 1, 11, 11, 37, 25, 133, 105, 1013, 925, 3301, 239, 16295, 4831, 8649, 125767}}, +{5957, 17, 2004, {1, 3, 3, 11, 25, 11, 41, 155, 1, 717, 1587, 635, 279, 1803, 14817, 28669, 88835}}, +{5958, 17, 2020, {1, 3, 3, 11, 29, 17, 39, 51, 13, 871, 1197, 2561, 6671, 8465, 22709, 15933, 15923}}, +{5959, 17, 2029, {1, 3, 7, 1, 13, 17, 57, 43, 267, 261, 901, 241, 3767, 15053, 11017, 36321, 72497}}, +{5960, 17, 2030, {1, 3, 1, 15, 23, 13, 17, 63, 171, 919, 1387, 2673, 7605, 8523, 14807, 21187, 56057}}, +{5961, 17, 2038, {1, 3, 7, 15, 23, 41, 85, 95, 53, 629, 1877, 3167, 2411, 9619, 24621, 31213, 30069}}, +{5962, 17, 2041, {1, 1, 5, 3, 3, 25, 99, 39, 321, 549, 599, 1279, 2401, 2335, 8227, 59429, 94549}}, +{5963, 17, 2048, {1, 3, 3, 11, 9, 21, 29, 55, 477, 19, 1275, 29, 2253, 11421, 30401, 57059, 93219}}, +{5964, 17, 2054, {1, 1, 7, 1, 27, 13, 117, 249, 463, 769, 281, 515, 7467, 11507, 1621, 39765, 31109}}, +{5965, 17, 2057, {1, 3, 5, 7, 19, 7, 77, 107, 23, 895, 1013, 2701, 3805, 7327, 27247, 6119, 102395}}, +{5966, 17, 2058, {1, 1, 3, 13, 21, 49, 99, 15, 163, 641, 1703, 3061, 163, 4265, 32571, 13957, 75005}}, +{5967, 17, 2068, {1, 1, 5, 11, 27, 17, 87, 169, 427, 959, 361, 1023, 5727, 16279, 1099, 39081, 67215}}, +{5968, 17, 2072, {1, 3, 3, 9, 23, 13, 1, 91, 173, 325, 1881, 1385, 8023, 935, 9221, 19673, 36949}}, +{5969, 17, 2075, {1, 3, 1, 7, 7, 25, 119, 189, 107, 249, 811, 973, 6499, 101, 11281, 55227, 32361}}, +{5970, 17, 2077, {1, 1, 5, 13, 19, 37, 117, 95, 463, 587, 1419, 445, 4019, 7257, 29757, 50773, 52247}}, +{5971, 17, 2082, {1, 1, 1, 1, 17, 57, 81, 57, 43, 789, 1035, 625, 1707, 9683, 3681, 12411, 110623}}, +{5972, 17, 2084, {1, 1, 7, 5, 7, 57, 49, 91, 459, 513, 1869, 3377, 139, 10037, 24091, 54247, 41279}}, +{5973, 17, 2087, {1, 3, 3, 9, 9, 33, 29, 51, 355, 415, 1907, 809, 6543, 349, 18507, 12919, 41667}}, +{5974, 17, 2101, {1, 1, 5, 11, 3, 17, 73, 201, 121, 909, 1623, 799, 3271, 9051, 5717, 15169, 127861}}, +{5975, 17, 2111, {1, 1, 7, 7, 23, 31, 1, 155, 475, 87, 2001, 2459, 1285, 5931, 6803, 56757, 71671}}, +{5976, 17, 2113, {1, 1, 5, 13, 5, 1, 21, 109, 263, 841, 723, 1539, 7529, 433, 23721, 33195, 57001}}, +{5977, 17, 2119, {1, 3, 3, 13, 29, 55, 105, 231, 405, 265, 671, 351, 4693, 9033, 21963, 52073, 125131}}, +{5978, 17, 2147, {1, 3, 1, 13, 25, 51, 55, 227, 245, 983, 251, 2553, 2017, 1381, 31461, 3953, 75775}}, +{5979, 17, 2154, {1, 1, 1, 11, 31, 11, 91, 91, 287, 749, 1019, 4055, 3237, 6965, 14765, 1663, 82987}}, +{5980, 17, 2161, {1, 1, 7, 3, 11, 15, 67, 161, 79, 729, 1115, 3713, 2715, 9361, 9365, 26093, 63409}}, +{5981, 17, 2164, {1, 3, 1, 7, 1, 51, 125, 15, 457, 433, 405, 2329, 157, 4817, 25867, 38177, 45319}}, +{5982, 17, 2177, {1, 3, 7, 9, 25, 57, 5, 233, 481, 781, 1313, 3179, 7219, 8717, 14825, 16079, 127149}}, +{5983, 17, 2178, {1, 1, 7, 15, 27, 51, 5, 65, 77, 313, 1751, 1489, 4307, 10541, 11345, 52577, 18143}}, +{5984, 17, 2184, {1, 1, 1, 15, 21, 5, 113, 71, 411, 327, 1681, 1023, 5661, 15815, 5387, 10351, 21121}}, +{5985, 17, 2198, {1, 1, 5, 5, 29, 55, 25, 255, 69, 879, 501, 1915, 3731, 633, 12197, 5249, 31129}}, +{5986, 17, 2201, {1, 3, 5, 7, 3, 23, 107, 163, 485, 853, 359, 3069, 4353, 371, 6027, 53239, 105541}}, +{5987, 17, 2213, {1, 3, 5, 15, 7, 41, 9, 47, 33, 327, 621, 147, 577, 29, 14623, 3403, 9791}}, +{5988, 17, 2217, {1, 3, 3, 15, 29, 47, 41, 149, 477, 127, 573, 877, 3101, 5963, 28457, 14231, 67425}}, +{5989, 17, 2228, {1, 1, 1, 15, 31, 7, 55, 191, 101, 259, 1071, 219, 2233, 3583, 21969, 32745, 80529}}, +{5990, 17, 2240, {1, 3, 7, 13, 17, 53, 115, 69, 241, 71, 1475, 191, 509, 3721, 15537, 53773, 18005}}, +{5991, 17, 2245, {1, 1, 3, 9, 5, 57, 13, 95, 103, 871, 2043, 2239, 7833, 10727, 6513, 55273, 3781}}, +{5992, 17, 2250, {1, 1, 5, 5, 9, 11, 55, 151, 239, 537, 135, 2779, 7393, 15393, 11097, 58593, 100745}}, +{5993, 17, 2263, {1, 1, 1, 9, 15, 39, 29, 105, 441, 181, 1113, 2125, 8145, 11045, 6589, 33603, 83377}}, +{5994, 17, 2267, {1, 3, 1, 1, 11, 63, 69, 153, 225, 845, 675, 407, 4691, 13383, 27359, 38881, 5509}}, +{5995, 17, 2285, {1, 3, 7, 11, 23, 31, 69, 3, 41, 57, 683, 887, 6861, 12161, 14537, 27293, 113001}}, +{5996, 17, 2286, {1, 1, 1, 11, 5, 1, 101, 175, 437, 3, 1477, 1005, 6607, 7429, 7213, 4025, 66479}}, +{5997, 17, 2291, {1, 1, 7, 5, 19, 7, 99, 131, 273, 977, 1717, 3831, 175, 5673, 12577, 36787, 30945}}, +{5998, 17, 2298, {1, 3, 1, 1, 15, 37, 105, 195, 61, 869, 255, 2625, 7401, 9361, 13217, 52811, 130811}}, +{5999, 17, 2306, {1, 3, 5, 3, 29, 27, 105, 23, 511, 813, 1311, 2859, 1647, 1949, 1329, 27589, 125209}}, +{6000, 17, 2325, {1, 3, 3, 1, 21, 11, 119, 247, 123, 401, 409, 1845, 2133, 10793, 221, 43217, 14069}}, +{6001, 17, 2329, {1, 1, 5, 1, 29, 21, 51, 73, 501, 861, 725, 249, 4249, 8029, 15767, 11985, 18637}}, +{6002, 17, 2332, {1, 1, 5, 11, 19, 39, 97, 65, 13, 283, 489, 2307, 5239, 4161, 18639, 60035, 22405}}, +{6003, 17, 2335, {1, 3, 5, 1, 3, 7, 109, 27, 429, 663, 1569, 3001, 3453, 8627, 9719, 23941, 110451}}, +{6004, 17, 2339, {1, 3, 7, 5, 17, 13, 125, 209, 347, 95, 1937, 1419, 5661, 7171, 20607, 9777, 68343}}, +{6005, 17, 2346, {1, 1, 1, 1, 7, 41, 43, 229, 57, 49, 1863, 2819, 3735, 915, 1571, 11603, 116275}}, +{6006, 17, 2351, {1, 1, 7, 9, 21, 27, 5, 199, 181, 521, 303, 1097, 5427, 8899, 30325, 55457, 16189}}, +{6007, 17, 2353, {1, 3, 3, 7, 19, 41, 3, 205, 279, 223, 971, 633, 2617, 13191, 10193, 23375, 62563}}, +{6008, 17, 2363, {1, 3, 3, 13, 23, 59, 85, 25, 253, 405, 65, 1625, 4401, 4679, 14381, 57833, 30001}}, +{6009, 17, 2378, {1, 3, 3, 3, 13, 35, 11, 157, 123, 397, 119, 2513, 1919, 14583, 5469, 11463, 94711}}, +{6010, 17, 2383, {1, 1, 1, 7, 17, 37, 83, 211, 451, 939, 449, 13, 6671, 1457, 19855, 15053, 52327}}, +{6011, 17, 2391, {1, 1, 5, 3, 9, 57, 39, 183, 331, 451, 1391, 1865, 7801, 14293, 29069, 705, 109497}}, +{6012, 17, 2401, {1, 3, 7, 7, 23, 21, 85, 81, 255, 9, 1685, 2879, 6327, 12675, 31657, 38877, 74131}}, +{6013, 17, 2408, {1, 1, 5, 9, 25, 19, 41, 195, 31, 555, 927, 1445, 593, 11067, 10819, 17205, 82037}}, +{6014, 17, 2414, {1, 3, 1, 13, 1, 35, 29, 71, 323, 705, 53, 3885, 6223, 1319, 30853, 59935, 35949}}, +{6015, 17, 2419, {1, 1, 7, 3, 27, 63, 67, 31, 149, 61, 1611, 77, 4271, 3161, 12493, 38341, 53837}}, +{6016, 17, 2428, {1, 1, 1, 15, 27, 53, 31, 249, 429, 925, 1485, 1855, 4421, 5703, 10097, 14827, 36685}}, +{6017, 17, 2441, {1, 3, 7, 13, 7, 63, 53, 9, 317, 485, 1679, 3631, 3745, 5643, 21615, 45129, 48027}}, +{6018, 17, 2444, {1, 1, 1, 1, 17, 43, 19, 163, 441, 847, 937, 959, 6649, 13071, 1065, 55193, 129509}}, +{6019, 17, 2461, {1, 1, 1, 11, 29, 47, 9, 215, 397, 637, 961, 3139, 2007, 12603, 27657, 22825, 72873}}, +{6020, 17, 2480, {1, 3, 3, 15, 7, 45, 55, 163, 259, 899, 951, 3245, 4191, 15813, 20195, 8361, 54025}}, +{6021, 17, 2483, {1, 1, 5, 11, 3, 17, 13, 223, 289, 255, 875, 2937, 1593, 9729, 21569, 63199, 83875}}, +{6022, 17, 2486, {1, 1, 1, 15, 19, 31, 17, 129, 267, 9, 2015, 3233, 6799, 12891, 18473, 37865, 19547}}, +{6023, 17, 2489, {1, 1, 5, 5, 5, 29, 81, 37, 357, 539, 1525, 2839, 8041, 5569, 4423, 8907, 35461}}, +{6024, 17, 2490, {1, 1, 5, 5, 29, 11, 85, 61, 333, 521, 1111, 3627, 325, 9805, 17889, 25655, 39537}}, +{6025, 17, 2518, {1, 3, 5, 11, 11, 53, 81, 25, 79, 253, 1963, 287, 7487, 15045, 21431, 35417, 102391}}, +{6026, 17, 2527, {1, 1, 1, 5, 11, 33, 45, 45, 425, 773, 1817, 4077, 1471, 11655, 683, 7115, 92651}}, +{6027, 17, 2540, {1, 1, 3, 3, 21, 13, 101, 215, 311, 853, 41, 1007, 5511, 2581, 25565, 13155, 117225}}, +{6028, 17, 2558, {1, 1, 3, 11, 19, 9, 125, 59, 273, 691, 499, 1547, 567, 10259, 21963, 48725, 3601}}, +{6029, 17, 2567, {1, 1, 3, 7, 27, 31, 39, 125, 317, 625, 1329, 3947, 3943, 6889, 2811, 34055, 1449}}, +{6030, 17, 2571, {1, 1, 1, 3, 29, 45, 73, 239, 319, 611, 647, 1839, 5277, 7807, 3107, 14683, 20203}}, +{6031, 17, 2574, {1, 3, 3, 3, 5, 5, 107, 139, 103, 809, 1343, 4041, 3273, 1789, 16205, 47873, 27803}}, +{6032, 17, 2579, {1, 3, 1, 9, 21, 23, 13, 131, 105, 741, 1773, 981, 5633, 14609, 12281, 50343, 14317}}, +{6033, 17, 2585, {1, 1, 1, 5, 11, 5, 125, 171, 109, 555, 159, 905, 691, 12401, 22817, 41411, 70113}}, +{6034, 17, 2615, {1, 3, 3, 9, 31, 37, 109, 231, 59, 615, 799, 319, 2459, 4521, 8525, 4827, 22969}}, +{6035, 17, 2639, {1, 3, 1, 5, 11, 7, 49, 237, 345, 473, 981, 2073, 6525, 8805, 13403, 3659, 69897}}, +{6036, 17, 2641, {1, 3, 1, 5, 9, 37, 13, 203, 141, 573, 745, 2613, 5589, 607, 24483, 38427, 95775}}, +{6037, 17, 2644, {1, 1, 3, 1, 23, 61, 75, 57, 299, 191, 805, 2993, 5175, 12037, 13649, 58831, 48791}}, +{6038, 17, 2663, {1, 3, 7, 13, 31, 57, 13, 219, 185, 717, 1607, 3785, 4719, 11583, 29285, 48207, 92021}}, +{6039, 17, 2667, {1, 3, 7, 15, 23, 35, 23, 69, 411, 773, 1549, 1087, 1685, 15703, 27193, 62675, 43505}}, +{6040, 17, 2669, {1, 1, 5, 3, 25, 19, 97, 75, 493, 549, 1655, 2881, 4989, 2765, 4797, 43143, 113955}}, +{6041, 17, 2672, {1, 1, 5, 7, 21, 5, 65, 37, 383, 133, 1907, 3747, 1525, 5803, 19977, 50551, 23157}}, +{6042, 17, 2687, {1, 1, 1, 11, 15, 61, 59, 109, 489, 901, 1787, 1611, 6101, 10653, 3071, 35643, 56227}}, +{6043, 17, 2700, {1, 3, 1, 5, 15, 25, 121, 111, 25, 251, 1467, 1795, 1631, 13753, 32391, 14831, 90739}}, +{6044, 17, 2705, {1, 1, 1, 13, 23, 55, 119, 147, 45, 871, 1389, 1929, 1023, 16131, 10041, 40055, 23337}}, +{6045, 17, 2724, {1, 3, 1, 15, 27, 33, 23, 41, 463, 603, 1633, 3445, 2007, 5999, 11175, 18343, 13159}}, +{6046, 17, 2728, {1, 3, 1, 9, 17, 15, 107, 63, 493, 411, 293, 3669, 6143, 3057, 8253, 25491, 58907}}, +{6047, 17, 2733, {1, 3, 5, 11, 1, 43, 5, 117, 127, 813, 1881, 3711, 2567, 7819, 5809, 64471, 104221}}, +{6048, 17, 2741, {1, 3, 5, 9, 25, 27, 49, 93, 77, 705, 1773, 1745, 4605, 16137, 14621, 62893, 81637}}, +{6049, 17, 2748, {1, 3, 1, 15, 9, 29, 41, 101, 291, 763, 1475, 3185, 3661, 10351, 26645, 50375, 59373}}, +{6050, 17, 2751, {1, 1, 5, 15, 9, 31, 107, 159, 125, 471, 1023, 2361, 4805, 8073, 21563, 14903, 77801}}, +{6051, 17, 2756, {1, 3, 7, 1, 27, 17, 75, 129, 71, 697, 551, 1969, 6597, 13821, 2605, 61783, 74791}}, +{6052, 17, 2771, {1, 1, 7, 15, 17, 27, 49, 47, 59, 47, 1671, 2535, 1299, 2387, 24349, 23661, 91123}}, +{6053, 17, 2774, {1, 1, 5, 15, 21, 61, 45, 37, 415, 189, 143, 351, 1815, 3479, 2399, 56753, 123893}}, +{6054, 17, 2793, {1, 1, 3, 7, 7, 19, 93, 249, 335, 305, 1437, 1329, 2693, 13201, 9589, 61513, 115995}}, +{6055, 17, 2796, {1, 1, 1, 11, 21, 57, 33, 205, 235, 253, 751, 259, 6029, 9811, 10231, 36899, 78035}}, +{6056, 17, 2804, {1, 1, 1, 11, 13, 25, 115, 195, 111, 913, 1851, 3283, 6083, 11717, 2773, 40727, 493}}, +{6057, 17, 2814, {1, 3, 3, 9, 9, 17, 83, 137, 465, 671, 1277, 325, 2767, 12413, 21977, 47525, 23041}}, +{6058, 17, 2822, {1, 1, 1, 11, 15, 47, 65, 219, 271, 197, 297, 3195, 1325, 9991, 26385, 46055, 43151}}, +{6059, 17, 2845, {1, 1, 1, 13, 31, 21, 39, 89, 127, 629, 367, 2935, 6259, 6627, 15691, 55781, 97251}}, +{6060, 17, 2846, {1, 1, 7, 13, 11, 45, 65, 75, 211, 785, 1221, 2087, 7751, 15619, 25489, 28195, 69007}}, +{6061, 17, 2850, {1, 3, 5, 15, 27, 37, 75, 111, 487, 219, 233, 583, 6433, 15105, 355, 28331, 21105}}, +{6062, 17, 2855, {1, 3, 3, 15, 31, 53, 33, 95, 27, 197, 1727, 1467, 7115, 15479, 26873, 31075, 12793}}, +{6063, 17, 2856, {1, 3, 7, 1, 19, 3, 19, 105, 225, 599, 737, 107, 7951, 10193, 31699, 59207, 85619}}, +{6064, 17, 2867, {1, 3, 1, 3, 7, 17, 73, 191, 247, 421, 537, 1473, 189, 4219, 29993, 25491, 21189}}, +{6065, 17, 2891, {1, 3, 7, 7, 13, 21, 33, 95, 147, 699, 943, 2275, 4093, 6067, 9063, 25503, 111085}}, +{6066, 17, 2894, {1, 1, 7, 9, 13, 47, 123, 121, 347, 467, 225, 957, 2329, 14075, 29843, 61753, 97179}}, +{6067, 17, 2902, {1, 3, 3, 7, 17, 55, 37, 167, 215, 819, 163, 1747, 4485, 15991, 28011, 36351, 106495}}, +{6068, 17, 2908, {1, 1, 3, 9, 25, 5, 83, 199, 209, 395, 1757, 1967, 5739, 2573, 13989, 32145, 4847}}, +{6069, 17, 2951, {1, 3, 3, 13, 11, 21, 25, 223, 239, 569, 1877, 299, 8089, 3697, 801, 64775, 26827}}, +{6070, 17, 2970, {1, 3, 5, 7, 17, 9, 127, 9, 65, 919, 1073, 2661, 1337, 10065, 30099, 30929, 90067}}, +{6071, 17, 2972, {1, 3, 1, 13, 25, 41, 35, 251, 279, 351, 111, 3917, 2815, 7989, 9895, 54859, 126355}}, +{6072, 17, 2975, {1, 1, 3, 7, 17, 61, 13, 73, 335, 831, 703, 37, 2765, 13169, 12513, 56301, 13907}}, +{6073, 17, 2976, {1, 1, 5, 13, 11, 15, 33, 45, 505, 127, 1723, 17, 4927, 11453, 28859, 9671, 80041}}, +{6074, 17, 2981, {1, 3, 1, 5, 9, 1, 25, 147, 281, 601, 243, 2687, 5533, 6725, 11075, 34807, 24619}}, +{6075, 17, 2986, {1, 1, 3, 1, 7, 21, 71, 31, 485, 561, 1361, 1237, 8171, 15885, 7941, 4583, 32851}}, +{6076, 17, 2999, {1, 3, 7, 1, 5, 35, 95, 155, 283, 959, 577, 1343, 4269, 13481, 30819, 40273, 8711}}, +{6077, 17, 3000, {1, 3, 7, 3, 1, 53, 77, 45, 215, 537, 1045, 77, 2791, 3553, 13273, 23819, 62263}}, +{6078, 17, 3006, {1, 3, 1, 15, 29, 59, 7, 145, 85, 3, 251, 2691, 7547, 11241, 32295, 24645, 75739}}, +{6079, 17, 3014, {1, 1, 5, 9, 19, 9, 39, 163, 303, 233, 2039, 2027, 7169, 2773, 28649, 38317, 66761}}, +{6080, 17, 3028, {1, 3, 7, 5, 21, 27, 93, 227, 131, 1019, 1619, 1497, 4043, 1131, 25761, 20173, 99957}}, +{6081, 17, 3031, {1, 3, 7, 5, 19, 33, 15, 173, 435, 399, 531, 2001, 3221, 12627, 10153, 24421, 61805}}, +{6082, 17, 3035, {1, 3, 1, 9, 11, 3, 69, 105, 289, 183, 1103, 831, 2297, 1613, 18801, 54395, 54243}}, +{6083, 17, 3037, {1, 3, 3, 9, 3, 53, 113, 183, 79, 355, 1629, 1061, 3713, 4563, 14365, 43529, 56073}}, +{6084, 17, 3053, {1, 3, 7, 11, 31, 39, 107, 139, 187, 873, 225, 33, 4943, 15837, 225, 6407, 85967}}, +{6085, 17, 3059, {1, 3, 1, 11, 17, 47, 93, 233, 119, 699, 1429, 2845, 2061, 8887, 20665, 45497, 33107}}, +{6086, 17, 3065, {1, 3, 5, 1, 25, 11, 55, 75, 91, 1009, 1887, 3167, 515, 15929, 11659, 57953, 63401}}, +{6087, 17, 3080, {1, 1, 3, 15, 27, 59, 103, 53, 353, 553, 2021, 1543, 2785, 9373, 14609, 21213, 19911}}, +{6088, 17, 3091, {1, 3, 7, 9, 3, 1, 101, 133, 437, 773, 1399, 1067, 7419, 1793, 16589, 3483, 42065}}, +{6089, 17, 3094, {1, 3, 7, 1, 25, 57, 127, 113, 65, 577, 1865, 1527, 6485, 11273, 15803, 39625, 75219}}, +{6090, 17, 3109, {1, 3, 5, 9, 7, 63, 29, 89, 155, 45, 1029, 2407, 6783, 4749, 4849, 26639, 54059}}, +{6091, 17, 3110, {1, 3, 7, 9, 25, 13, 113, 41, 267, 767, 1071, 1689, 269, 14437, 21255, 39473, 65771}}, +{6092, 17, 3113, {1, 3, 1, 15, 5, 3, 77, 43, 391, 763, 59, 1027, 6263, 3715, 31061, 43311, 130725}}, +{6093, 17, 3116, {1, 3, 7, 7, 21, 51, 127, 71, 229, 171, 397, 1099, 871, 2717, 1643, 17363, 125979}}, +{6094, 17, 3136, {1, 1, 5, 15, 25, 11, 11, 113, 203, 795, 1703, 3901, 1113, 12819, 25345, 46691, 112313}}, +{6095, 17, 3139, {1, 3, 7, 5, 1, 59, 91, 81, 325, 483, 595, 1491, 7455, 6699, 199, 35597, 59851}}, +{6096, 17, 3141, {1, 3, 5, 1, 3, 33, 43, 195, 201, 575, 1395, 1305, 7001, 2023, 22419, 15233, 120355}}, +{6097, 17, 3154, {1, 1, 3, 3, 15, 37, 81, 59, 87, 675, 199, 3231, 4473, 5023, 16753, 51475, 102113}}, +{6098, 17, 3160, {1, 1, 7, 9, 13, 39, 65, 9, 51, 565, 1171, 119, 7875, 12149, 6565, 56849, 123235}}, +{6099, 17, 3169, {1, 3, 3, 7, 15, 45, 53, 93, 111, 533, 1849, 643, 2265, 10241, 24741, 11559, 74333}}, +{6100, 17, 3182, {1, 3, 1, 1, 11, 61, 75, 51, 5, 199, 535, 279, 5821, 6005, 2907, 32521, 74121}}, +{6101, 17, 3187, {1, 1, 3, 15, 3, 21, 29, 193, 71, 993, 1719, 1865, 6135, 7683, 12171, 29275, 14539}}, +{6102, 17, 3189, {1, 1, 1, 7, 7, 13, 1, 61, 315, 431, 1145, 2067, 5745, 1641, 1047, 55111, 129477}}, +{6103, 17, 3190, {1, 1, 5, 1, 21, 43, 115, 193, 153, 573, 1181, 3947, 7809, 11317, 30649, 56891, 47741}}, +{6104, 17, 3203, {1, 1, 5, 7, 19, 15, 61, 239, 109, 683, 395, 2869, 3103, 1531, 12019, 45159, 37525}}, +{6105, 17, 3217, {1, 1, 5, 7, 29, 55, 45, 7, 353, 659, 591, 3371, 5777, 8475, 2743, 47483, 11983}}, +{6106, 17, 3229, {1, 3, 1, 3, 13, 17, 39, 195, 43, 5, 1749, 2559, 5843, 8719, 21421, 58511, 105637}}, +{6107, 17, 3236, {1, 3, 5, 5, 5, 21, 29, 63, 387, 301, 567, 3325, 2109, 403, 23053, 24851, 14493}}, +{6108, 17, 3248, {1, 1, 3, 3, 17, 57, 107, 131, 85, 855, 1101, 3199, 7159, 14739, 4197, 27943, 113009}}, +{6109, 17, 3257, {1, 1, 3, 11, 1, 61, 31, 79, 33, 123, 1509, 507, 6679, 2279, 8465, 37279, 17553}}, +{6110, 17, 3278, {1, 3, 1, 15, 7, 33, 11, 71, 217, 609, 1661, 3437, 5497, 13365, 6247, 649, 26407}}, +{6111, 17, 3283, {1, 1, 3, 1, 19, 45, 49, 125, 5, 455, 1669, 4083, 253, 10101, 27327, 16401, 120399}}, +{6112, 17, 3289, {1, 3, 1, 1, 27, 19, 117, 137, 261, 341, 1697, 457, 7553, 12169, 30049, 49281, 36937}}, +{6113, 17, 3292, {1, 1, 1, 3, 9, 49, 33, 13, 461, 545, 1537, 2623, 883, 10921, 5583, 58997, 114183}}, +{6114, 17, 3302, {1, 1, 7, 9, 29, 53, 29, 165, 205, 989, 1347, 2343, 7505, 7609, 18503, 51677, 105993}}, +{6115, 17, 3316, {1, 1, 1, 13, 1, 29, 59, 121, 297, 659, 1965, 1765, 5255, 10971, 32613, 18763, 41983}}, +{6116, 17, 3328, {1, 3, 7, 11, 21, 41, 19, 47, 125, 485, 475, 2745, 4075, 8101, 31227, 4679, 115473}}, +{6117, 17, 3333, {1, 3, 3, 7, 21, 23, 55, 65, 223, 1001, 317, 1459, 183, 5139, 26553, 41471, 116373}}, +{6118, 17, 3337, {1, 1, 7, 3, 1, 9, 29, 139, 343, 913, 1993, 3139, 3791, 5869, 6057, 23863, 35737}}, +{6119, 17, 3340, {1, 3, 3, 3, 7, 21, 77, 197, 239, 467, 35, 591, 1061, 3417, 31811, 38825, 124981}}, +{6120, 17, 3368, {1, 3, 3, 1, 21, 29, 5, 213, 417, 111, 1681, 1409, 2899, 16233, 1053, 51235, 87767}}, +{6121, 17, 3371, {1, 1, 5, 3, 13, 47, 61, 203, 223, 73, 1947, 3613, 5885, 13567, 7593, 34329, 68597}}, +{6122, 17, 3376, {1, 3, 1, 1, 17, 9, 11, 187, 361, 973, 781, 1835, 1539, 12917, 21725, 48279, 115037}}, +{6123, 17, 3385, {1, 3, 1, 1, 9, 25, 117, 157, 433, 395, 403, 2183, 3327, 5427, 7505, 2673, 77137}}, +{6124, 17, 3386, {1, 1, 7, 15, 31, 15, 27, 155, 441, 837, 1877, 3829, 5139, 16331, 31183, 15803, 95699}}, +{6125, 17, 3393, {1, 1, 7, 15, 5, 51, 77, 179, 289, 727, 1763, 2529, 6715, 3967, 29267, 27293, 67953}}, +{6126, 17, 3399, {1, 3, 7, 13, 7, 3, 3, 17, 311, 547, 1465, 1413, 3937, 2725, 24523, 12321, 109763}}, +{6127, 17, 3405, {1, 3, 5, 15, 9, 5, 87, 135, 281, 97, 2021, 1903, 8007, 10321, 27989, 18993, 110407}}, +{6128, 17, 3414, {1, 1, 1, 13, 25, 61, 89, 107, 233, 823, 1375, 3531, 1757, 1577, 29457, 1461, 17217}}, +{6129, 17, 3433, {1, 1, 1, 13, 17, 17, 27, 193, 485, 759, 145, 3943, 4183, 14119, 11217, 3793, 1935}}, +{6130, 17, 3436, {1, 1, 1, 3, 13, 31, 101, 227, 311, 363, 1925, 1525, 5275, 2385, 15093, 48769, 121189}}, +{6131, 17, 3448, {1, 1, 5, 13, 11, 61, 89, 141, 117, 229, 417, 3935, 7249, 13869, 30591, 62763, 67521}}, +{6132, 17, 3467, {1, 1, 3, 15, 7, 59, 105, 239, 453, 221, 1101, 395, 2031, 8941, 23155, 7077, 125593}}, +{6133, 17, 3469, {1, 1, 1, 11, 7, 55, 99, 31, 305, 371, 1035, 577, 4473, 577, 371, 46093, 69157}}, +{6134, 17, 3472, {1, 3, 1, 9, 9, 33, 35, 245, 95, 47, 1623, 2965, 6849, 7269, 5321, 31641, 73321}}, +{6135, 17, 3477, {1, 1, 1, 15, 21, 61, 65, 65, 159, 151, 625, 2281, 2993, 1311, 29757, 24703, 71029}}, +{6136, 17, 3484, {1, 3, 5, 15, 29, 59, 29, 69, 351, 901, 631, 3501, 7031, 703, 20805, 36437, 94931}}, +{6137, 17, 3494, {1, 3, 7, 1, 21, 11, 19, 125, 237, 807, 1651, 2389, 7347, 11759, 27151, 38669, 965}}, +{6138, 17, 3505, {1, 1, 5, 1, 15, 41, 1, 105, 89, 127, 895, 29, 2339, 15951, 18633, 2781, 67269}}, +{6139, 17, 3515, {1, 1, 5, 15, 25, 7, 3, 33, 375, 447, 203, 2579, 6145, 14015, 9939, 52777, 123181}}, +{6140, 17, 3523, {1, 3, 1, 15, 29, 7, 7, 27, 451, 869, 107, 2457, 5557, 11601, 28957, 36181, 41419}}, +{6141, 17, 3530, {1, 1, 1, 7, 1, 57, 33, 213, 329, 763, 815, 169, 623, 155, 20529, 20603, 73311}}, +{6142, 17, 3543, {1, 3, 5, 7, 25, 21, 7, 217, 159, 89, 1373, 1735, 705, 4093, 13083, 3855, 55875}}, +{6143, 17, 3559, {1, 3, 1, 1, 29, 33, 105, 127, 95, 543, 235, 67, 691, 5015, 22139, 18251, 89945}}, +{6144, 17, 3568, {1, 1, 3, 11, 27, 53, 105, 83, 337, 331, 1571, 1145, 745, 1845, 17881, 17697, 88139}}, +{6145, 17, 3577, {1, 3, 7, 15, 19, 37, 119, 35, 35, 463, 1925, 1665, 673, 12193, 12137, 62371, 10957}}, +{6146, 17, 3578, {1, 3, 3, 3, 19, 21, 113, 29, 459, 467, 623, 2661, 857, 16265, 27509, 46555, 18867}}, +{6147, 17, 3594, {1, 3, 7, 5, 17, 49, 123, 41, 85, 673, 41, 1871, 7649, 8687, 28269, 64423, 93675}}, +{6148, 17, 3601, {1, 3, 3, 3, 7, 23, 101, 171, 181, 527, 65, 2387, 6629, 6089, 17387, 46551, 36143}}, +{6149, 17, 3607, {1, 1, 5, 1, 13, 51, 21, 251, 139, 429, 1993, 3767, 1089, 5459, 19407, 41747, 41033}}, +{6150, 17, 3608, {1, 1, 1, 11, 15, 9, 81, 91, 73, 969, 1513, 2067, 7959, 2605, 26641, 37631, 124571}}, +{6151, 17, 3620, {1, 1, 3, 15, 29, 15, 5, 57, 247, 901, 527, 3325, 5859, 11299, 9871, 63947, 125247}}, +{6152, 17, 3629, {1, 3, 1, 5, 1, 35, 75, 21, 307, 43, 1111, 3299, 1647, 3585, 31045, 18217, 95169}}, +{6153, 17, 3644, {1, 3, 1, 7, 23, 35, 11, 103, 3, 461, 1915, 4019, 453, 13111, 26941, 43091, 22917}}, +{6154, 17, 3656, {1, 1, 5, 5, 1, 61, 121, 167, 475, 5, 1749, 887, 2237, 5055, 7077, 29453, 17691}}, +{6155, 17, 3664, {1, 3, 3, 15, 15, 15, 9, 15, 171, 787, 1965, 577, 4507, 7325, 20901, 8557, 111909}}, +{6156, 17, 3670, {1, 3, 5, 1, 27, 15, 123, 141, 63, 55, 599, 4095, 1245, 13919, 27485, 49977, 74551}}, +{6157, 17, 3680, {1, 3, 5, 9, 21, 61, 79, 119, 7, 573, 1923, 2775, 3127, 12689, 12135, 53429, 130163}}, +{6158, 17, 3685, {1, 3, 3, 13, 27, 41, 67, 249, 447, 277, 311, 775, 8187, 10161, 12953, 22885, 121247}}, +{6159, 17, 3686, {1, 3, 5, 9, 21, 55, 115, 65, 45, 395, 481, 2063, 6493, 4199, 19219, 27119, 62255}}, +{6160, 17, 3695, {1, 1, 3, 13, 7, 41, 3, 127, 383, 923, 1725, 1033, 7731, 11971, 3089, 46459, 98369}}, +{6161, 17, 3698, {1, 1, 3, 11, 13, 39, 39, 149, 309, 311, 1491, 807, 2109, 363, 14637, 65429, 124731}}, +{6162, 17, 3703, {1, 1, 7, 13, 13, 35, 67, 81, 493, 859, 1177, 237, 4605, 15319, 16669, 16661, 21385}}, +{6163, 17, 3710, {1, 1, 3, 7, 7, 39, 57, 103, 239, 753, 221, 1611, 1557, 13317, 27453, 10245, 33839}}, +{6164, 17, 3714, {1, 1, 5, 13, 27, 53, 97, 41, 123, 253, 535, 1839, 5827, 7587, 1261, 20313, 65961}}, +{6165, 17, 3726, {1, 1, 7, 1, 11, 47, 93, 135, 223, 591, 1087, 3329, 3293, 14207, 6187, 54789, 23781}}, +{6166, 17, 3731, {1, 3, 7, 7, 25, 21, 97, 105, 269, 515, 1805, 3711, 3295, 7307, 21065, 65205, 116969}}, +{6167, 17, 3733, {1, 3, 1, 11, 25, 37, 21, 89, 109, 581, 1055, 2393, 1291, 1115, 25545, 36383, 93605}}, +{6168, 17, 3737, {1, 3, 7, 1, 27, 13, 113, 11, 395, 473, 943, 4045, 5507, 15051, 25203, 2971, 31961}}, +{6169, 17, 3756, {1, 1, 5, 5, 27, 35, 57, 219, 67, 949, 659, 203, 5235, 6509, 13731, 61533, 54963}}, +{6170, 17, 3759, {1, 3, 1, 1, 15, 39, 85, 13, 347, 99, 25, 3595, 3081, 13617, 14373, 58909, 102181}}, +{6171, 17, 3767, {1, 1, 7, 13, 3, 25, 97, 91, 287, 389, 665, 2981, 2301, 12625, 4495, 57489, 68677}}, +{6172, 17, 3776, {1, 1, 5, 1, 15, 57, 77, 55, 299, 713, 1457, 3699, 2807, 5549, 467, 47367, 8163}}, +{6173, 17, 3785, {1, 1, 7, 3, 23, 45, 91, 251, 501, 193, 1121, 2359, 4781, 12797, 13713, 55171, 927}}, +{6174, 17, 3793, {1, 3, 3, 7, 7, 31, 87, 163, 249, 163, 937, 1293, 4827, 10299, 31935, 58787, 80589}}, +{6175, 17, 3812, {1, 3, 1, 9, 7, 1, 73, 65, 475, 791, 1429, 3319, 7149, 433, 10373, 44061, 121195}}, +{6176, 17, 3815, {1, 1, 5, 9, 9, 61, 27, 249, 435, 437, 1329, 2163, 5859, 13663, 623, 55569, 94283}}, +{6177, 17, 3824, {1, 3, 7, 11, 1, 29, 117, 195, 399, 999, 1705, 1325, 6043, 9823, 27335, 30377, 16627}}, +{6178, 17, 3844, {1, 1, 1, 15, 5, 11, 63, 185, 15, 741, 1061, 2961, 3455, 5, 26587, 54081, 18107}}, +{6179, 17, 3859, {1, 1, 5, 7, 29, 57, 17, 203, 501, 177, 49, 2773, 8069, 12513, 14437, 64489, 58661}}, +{6180, 17, 3866, {1, 3, 3, 9, 11, 23, 121, 3, 415, 447, 1773, 135, 5901, 4951, 2683, 437, 126251}}, +{6181, 17, 3872, {1, 3, 3, 1, 7, 23, 17, 23, 115, 591, 1075, 3133, 49, 15183, 10615, 37857, 122609}}, +{6182, 17, 3884, {1, 1, 3, 3, 13, 49, 63, 37, 275, 763, 1135, 2913, 1563, 11037, 6693, 18799, 32089}}, +{6183, 17, 3889, {1, 3, 5, 11, 7, 29, 59, 45, 227, 941, 1947, 2733, 797, 10485, 7071, 14741, 11451}}, +{6184, 17, 3899, {1, 1, 1, 9, 21, 19, 77, 97, 75, 991, 187, 1003, 5619, 11013, 3931, 19907, 79723}}, +{6185, 17, 3902, {1, 1, 7, 13, 1, 57, 61, 177, 443, 227, 1347, 2665, 2011, 12329, 14137, 37795, 63331}}, +{6186, 17, 3909, {1, 3, 3, 9, 31, 59, 87, 93, 485, 635, 901, 1845, 6153, 10797, 1289, 8989, 41717}}, +{6187, 17, 3913, {1, 1, 1, 1, 3, 7, 85, 17, 67, 309, 1891, 435, 303, 8011, 32127, 54309, 21457}}, +{6188, 17, 3933, {1, 3, 7, 1, 29, 27, 41, 239, 293, 717, 1331, 917, 6145, 7131, 28199, 35093, 103683}}, +{6189, 17, 3938, {1, 3, 7, 3, 21, 63, 65, 233, 257, 789, 1095, 505, 4557, 16259, 7397, 24815, 89529}}, +{6190, 17, 3949, {1, 3, 3, 11, 29, 41, 55, 17, 335, 715, 779, 2121, 6393, 8887, 32753, 45647, 82665}}, +{6191, 17, 3952, {1, 1, 1, 11, 27, 47, 71, 13, 141, 283, 967, 3359, 4309, 6661, 20481, 23175, 50835}}, +{6192, 17, 3980, {1, 3, 3, 7, 3, 25, 19, 241, 409, 573, 1565, 3355, 1307, 12205, 18017, 8271, 117007}}, +{6193, 17, 3991, {1, 3, 3, 9, 21, 39, 21, 253, 439, 963, 341, 3637, 2275, 1845, 11015, 481, 83369}}, +{6194, 17, 3992, {1, 3, 7, 9, 31, 29, 29, 163, 111, 983, 571, 713, 2621, 11569, 13341, 28341, 130381}}, +{6195, 17, 4002, {1, 3, 7, 7, 11, 35, 89, 49, 81, 115, 113, 1857, 3527, 14819, 6909, 14659, 23557}}, +{6196, 17, 4008, {1, 3, 3, 15, 29, 41, 85, 241, 317, 737, 213, 1667, 5789, 16321, 13991, 36165, 124151}}, +{6197, 17, 4011, {1, 3, 1, 3, 31, 1, 75, 99, 495, 241, 1499, 1535, 2033, 2135, 6699, 58893, 37031}}, +{6198, 17, 4016, {1, 1, 7, 9, 25, 15, 101, 23, 477, 563, 1691, 2655, 2321, 2323, 4255, 22055, 99661}}, +{6199, 17, 4034, {1, 3, 7, 5, 7, 7, 49, 221, 51, 83, 279, 2205, 2939, 2119, 14073, 32839, 108075}}, +{6200, 17, 4036, {1, 3, 5, 11, 17, 39, 3, 127, 87, 501, 799, 401, 4439, 9895, 13017, 64975, 67177}}, +{6201, 17, 4063, {1, 3, 3, 9, 17, 41, 59, 95, 283, 309, 83, 1293, 6385, 5783, 30115, 33997, 12531}}, +{6202, 17, 4067, {1, 3, 5, 3, 7, 31, 69, 171, 225, 409, 1237, 3343, 835, 8039, 16723, 37203, 129047}}, +{6203, 17, 4073, {1, 3, 3, 15, 17, 23, 107, 1, 105, 135, 1245, 993, 4101, 7325, 7425, 17379, 98121}}, +{6204, 17, 4082, {1, 1, 7, 9, 27, 5, 67, 111, 75, 531, 243, 2239, 2527, 4513, 27059, 40533, 88169}}, +{6205, 17, 4091, {1, 3, 5, 7, 21, 63, 57, 15, 75, 679, 1729, 1845, 6259, 8531, 18691, 49321, 101599}}, +{6206, 17, 4093, {1, 1, 5, 9, 3, 35, 7, 201, 351, 885, 669, 2339, 5009, 279, 26469, 54597, 67933}}, +{6207, 17, 4101, {1, 3, 5, 13, 27, 5, 85, 161, 141, 733, 1017, 2021, 6951, 15595, 21817, 17243, 88607}}, +{6208, 17, 4113, {1, 3, 5, 1, 11, 31, 117, 97, 175, 629, 995, 1207, 2941, 5825, 5319, 48191, 9505}}, +{6209, 17, 4120, {1, 3, 3, 7, 25, 39, 45, 79, 21, 607, 1593, 1749, 7951, 10425, 17491, 16617, 56903}}, +{6210, 17, 4125, {1, 1, 1, 5, 15, 41, 107, 115, 79, 693, 919, 3513, 6793, 6541, 5545, 58583, 27963}}, +{6211, 17, 4126, {1, 3, 7, 11, 21, 19, 123, 1, 441, 531, 359, 2117, 2465, 11389, 13489, 32755, 4577}}, +{6212, 17, 4139, {1, 1, 5, 13, 7, 7, 7, 127, 201, 377, 1423, 269, 2611, 3339, 19153, 25659, 33069}}, +{6213, 17, 4142, {1, 3, 7, 1, 13, 35, 45, 5, 313, 739, 1779, 2983, 1815, 8817, 14239, 3921, 57975}}, +{6214, 17, 4144, {1, 3, 1, 11, 9, 39, 33, 111, 39, 255, 159, 2345, 2193, 11475, 12841, 47579, 90309}}, +{6215, 17, 4147, {1, 1, 1, 3, 27, 49, 85, 157, 243, 247, 1473, 323, 4631, 1787, 15193, 5533, 104999}}, +{6216, 17, 4153, {1, 1, 7, 9, 11, 29, 23, 219, 57, 339, 1797, 409, 6025, 10569, 27409, 15147, 130281}}, +{6217, 17, 4154, {1, 1, 7, 1, 31, 31, 113, 229, 63, 877, 319, 2655, 3335, 7743, 19593, 10089, 28215}}, +{6218, 17, 4164, {1, 1, 3, 11, 23, 3, 71, 235, 329, 751, 159, 2579, 5363, 12681, 20233, 53855, 16407}}, +{6219, 17, 4174, {1, 1, 5, 1, 7, 61, 21, 235, 379, 849, 61, 2969, 6399, 2655, 21635, 16955, 58675}}, +{6220, 17, 4182, {1, 3, 7, 7, 29, 15, 5, 11, 143, 699, 1875, 2115, 6633, 6195, 5829, 53633, 111221}}, +{6221, 17, 4185, {1, 3, 7, 11, 19, 41, 17, 219, 483, 829, 1233, 3183, 6283, 2363, 25245, 63075, 82733}}, +{6222, 17, 4188, {1, 3, 7, 13, 21, 17, 1, 207, 443, 575, 521, 2585, 6875, 14871, 14739, 10211, 127435}}, +{6223, 17, 4191, {1, 3, 7, 7, 15, 39, 99, 197, 219, 259, 1723, 3737, 6625, 849, 887, 41293, 53825}}, +{6224, 17, 4195, {1, 3, 3, 3, 5, 3, 75, 155, 189, 935, 85, 2273, 1375, 4217, 10709, 58047, 81689}}, +{6225, 17, 4219, {1, 3, 5, 5, 27, 27, 107, 229, 179, 887, 91, 421, 7313, 6495, 451, 43859, 40033}}, +{6226, 17, 4225, {1, 3, 5, 11, 25, 49, 121, 73, 169, 311, 1387, 1037, 6519, 9317, 26975, 50627, 46805}}, +{6227, 17, 4228, {1, 1, 5, 11, 17, 21, 19, 125, 387, 697, 1017, 1759, 7295, 9869, 28241, 9367, 119255}}, +{6228, 17, 4232, {1, 1, 7, 5, 29, 27, 87, 187, 95, 625, 933, 1751, 5253, 313, 30841, 16349, 67347}}, +{6229, 17, 4246, {1, 1, 3, 3, 15, 51, 23, 101, 183, 267, 243, 711, 983, 12461, 17801, 1429, 47273}}, +{6230, 17, 4255, {1, 1, 1, 3, 17, 3, 73, 67, 49, 449, 879, 2559, 401, 11983, 13697, 12023, 78855}}, +{6231, 17, 4274, {1, 3, 7, 15, 25, 25, 43, 81, 141, 161, 595, 621, 1165, 10869, 22875, 6741, 90017}}, +{6232, 17, 4283, {1, 3, 5, 11, 13, 57, 53, 219, 145, 937, 769, 1961, 4725, 3335, 12623, 8335, 46305}}, +{6233, 17, 4286, {1, 1, 3, 5, 7, 39, 19, 101, 313, 583, 483, 2515, 125, 5211, 2559, 11937, 126717}}, +{6234, 17, 4306, {1, 3, 1, 7, 7, 1, 117, 49, 231, 133, 381, 697, 927, 8263, 26529, 64881, 25059}}, +{6235, 17, 4311, {1, 1, 1, 15, 11, 25, 77, 149, 233, 215, 1239, 3045, 99, 11183, 30279, 32271, 100943}}, +{6236, 17, 4317, {1, 1, 5, 7, 31, 25, 1, 51, 221, 607, 1733, 2145, 6765, 7011, 16927, 29257, 2445}}, +{6237, 17, 4321, {1, 3, 5, 1, 19, 23, 123, 93, 381, 295, 765, 2335, 8025, 14003, 4801, 54243, 57297}}, +{6238, 17, 4324, {1, 1, 7, 9, 9, 31, 63, 191, 495, 527, 251, 2119, 1663, 209, 7445, 1441, 4075}}, +{6239, 17, 4331, {1, 3, 5, 5, 13, 17, 97, 79, 369, 55, 677, 2031, 7315, 4769, 31659, 21975, 22061}}, +{6240, 17, 4333, {1, 3, 3, 7, 3, 63, 121, 243, 39, 917, 1917, 297, 7241, 1565, 31675, 14443, 67239}}, +{6241, 17, 4359, {1, 3, 7, 1, 13, 25, 51, 65, 145, 475, 1853, 4023, 5121, 14411, 15993, 42165, 13615}}, +{6242, 17, 4360, {1, 3, 3, 1, 3, 51, 75, 29, 169, 311, 1309, 2929, 7669, 1507, 14605, 32667, 103861}}, +{6243, 17, 4368, {1, 3, 7, 1, 23, 37, 89, 211, 137, 495, 1469, 3425, 1167, 12429, 27301, 46857, 83007}}, +{6244, 17, 4373, {1, 3, 7, 7, 27, 37, 33, 129, 73, 23, 761, 119, 6217, 4749, 20835, 47477, 33665}}, +{6245, 17, 4389, {1, 1, 3, 5, 29, 35, 79, 21, 183, 933, 43, 3149, 5273, 12159, 20695, 5387, 23569}}, +{6246, 17, 4394, {1, 1, 5, 5, 3, 11, 57, 205, 349, 657, 1509, 3693, 5495, 11865, 13861, 62215, 94141}}, +{6247, 17, 4413, {1, 3, 1, 7, 17, 43, 117, 119, 75, 849, 1247, 643, 2691, 2289, 9759, 18683, 68649}}, +{6248, 17, 4422, {1, 1, 1, 15, 5, 55, 89, 177, 427, 701, 735, 2993, 5293, 15395, 567, 5501, 102393}}, +{6249, 17, 4431, {1, 3, 3, 15, 5, 37, 73, 111, 9, 141, 407, 1579, 6691, 11843, 6377, 64181, 97347}}, +{6250, 17, 4436, {1, 1, 5, 1, 9, 17, 71, 127, 285, 929, 1243, 2605, 359, 14589, 32603, 39879, 115901}}, +{6251, 17, 4440, {1, 3, 7, 15, 3, 27, 91, 121, 47, 631, 1589, 385, 5997, 14077, 21285, 33895, 36985}}, +{6252, 17, 4445, {1, 3, 3, 9, 1, 47, 89, 79, 213, 27, 547, 1703, 4035, 13205, 4341, 21895, 34247}}, +{6253, 17, 4452, {1, 3, 5, 7, 9, 9, 47, 89, 231, 857, 297, 2949, 2715, 1275, 14427, 20227, 21569}}, +{6254, 17, 4462, {1, 3, 1, 3, 15, 57, 61, 183, 377, 477, 1135, 1729, 2863, 8607, 29241, 34983, 84443}}, +{6255, 17, 4469, {1, 1, 7, 7, 5, 53, 91, 149, 71, 41, 1025, 3945, 3989, 15853, 20903, 26943, 99841}}, +{6256, 17, 4470, {1, 3, 3, 3, 29, 21, 59, 217, 483, 257, 331, 657, 2935, 945, 9821, 42501, 98087}}, +{6257, 17, 4473, {1, 3, 5, 3, 17, 39, 123, 103, 109, 957, 853, 3821, 555, 10869, 27673, 38315, 83105}}, +{6258, 17, 4479, {1, 3, 1, 3, 27, 7, 97, 57, 429, 53, 1791, 1405, 4113, 8435, 12845, 21567, 91559}}, +{6259, 17, 4480, {1, 3, 3, 1, 17, 61, 125, 77, 225, 395, 945, 3213, 1363, 15947, 27049, 4389, 64037}}, +{6260, 17, 4483, {1, 1, 1, 3, 15, 51, 15, 189, 449, 989, 939, 985, 6929, 13779, 25011, 22277, 72543}}, +{6261, 17, 4489, {1, 3, 3, 1, 25, 53, 5, 219, 195, 703, 163, 1405, 821, 6797, 14329, 1675, 96653}}, +{6262, 17, 4503, {1, 1, 7, 13, 7, 1, 45, 135, 369, 125, 711, 2509, 131, 13663, 29769, 19497, 116779}}, +{6263, 17, 4519, {1, 1, 7, 15, 23, 25, 7, 225, 435, 835, 1981, 2537, 5727, 15961, 30089, 58905, 100339}}, +{6264, 17, 4520, {1, 3, 7, 3, 19, 9, 79, 63, 371, 419, 1357, 3649, 7987, 14541, 6631, 50555, 84217}}, +{6265, 17, 4525, {1, 3, 3, 9, 7, 61, 11, 157, 99, 95, 945, 2803, 1703, 117, 12891, 21817, 84259}}, +{6266, 17, 4526, {1, 3, 7, 7, 25, 37, 111, 99, 65, 599, 1313, 2557, 5489, 3625, 7429, 19309, 78111}}, +{6267, 17, 4533, {1, 3, 1, 1, 19, 15, 85, 253, 347, 315, 1349, 983, 2507, 4155, 15311, 43535, 101409}}, +{6268, 17, 4552, {1, 3, 3, 3, 1, 55, 3, 57, 375, 107, 177, 1673, 6871, 7137, 10297, 65363, 42293}}, +{6269, 17, 4581, {1, 1, 1, 3, 9, 5, 83, 45, 139, 893, 63, 2859, 6333, 15591, 18491, 26387, 25573}}, +{6270, 17, 4585, {1, 1, 7, 15, 1, 39, 113, 127, 503, 617, 1367, 1855, 185, 4233, 5787, 8265, 42097}}, +{6271, 17, 4591, {1, 1, 3, 11, 11, 41, 119, 165, 331, 625, 81, 2495, 7247, 9139, 15269, 31447, 128425}}, +{6272, 17, 4594, {1, 1, 5, 5, 17, 35, 39, 1, 91, 563, 1841, 2975, 1233, 3837, 22145, 36719, 104503}}, +{6273, 17, 4596, {1, 1, 7, 3, 23, 35, 77, 69, 271, 487, 921, 2597, 8011, 13037, 6001, 20519, 32673}}, +{6274, 17, 4599, {1, 1, 1, 1, 29, 17, 11, 145, 473, 877, 813, 727, 6805, 3563, 13371, 22169, 17239}}, +{6275, 17, 4612, {1, 1, 1, 13, 17, 13, 1, 125, 313, 423, 1079, 2401, 2325, 2219, 24071, 25613, 34163}}, +{6276, 17, 4621, {1, 1, 5, 7, 29, 33, 53, 215, 11, 555, 555, 1965, 3643, 5433, 12923, 59655, 25339}}, +{6277, 17, 4630, {1, 3, 3, 3, 23, 37, 119, 117, 459, 359, 1849, 1019, 433, 15391, 5625, 52649, 81313}}, +{6278, 17, 4636, {1, 3, 3, 1, 21, 31, 121, 161, 113, 667, 863, 105, 3805, 14459, 28235, 24543, 89755}}, +{6279, 17, 4640, {1, 1, 5, 15, 17, 37, 15, 111, 511, 477, 611, 955, 2591, 16137, 14179, 30995, 129575}}, +{6280, 17, 4649, {1, 3, 3, 3, 21, 49, 25, 37, 287, 263, 851, 1015, 8133, 9429, 10959, 64483, 82533}}, +{6281, 17, 4650, {1, 1, 5, 1, 25, 19, 49, 159, 155, 443, 975, 1413, 321, 7871, 22935, 57303, 124027}}, +{6282, 17, 4660, {1, 3, 1, 1, 19, 45, 47, 89, 409, 509, 1249, 2445, 2053, 3781, 7517, 61869, 125137}}, +{6283, 17, 4677, {1, 1, 5, 13, 27, 57, 45, 43, 361, 329, 1321, 771, 4665, 12245, 18993, 15121, 127485}}, +{6284, 17, 4687, {1, 3, 3, 7, 3, 41, 127, 75, 485, 821, 497, 2649, 6423, 12419, 31421, 9441, 63645}}, +{6285, 17, 4696, {1, 1, 3, 5, 19, 61, 91, 35, 311, 287, 449, 3955, 5805, 5631, 25613, 55409, 104545}}, +{6286, 17, 4701, {1, 3, 7, 11, 27, 19, 27, 53, 19, 35, 1687, 3923, 3379, 10435, 15053, 12343, 89077}}, +{6287, 17, 4705, {1, 3, 5, 13, 31, 41, 15, 239, 349, 533, 1771, 737, 6503, 14355, 18781, 27805, 79049}}, +{6288, 17, 4706, {1, 3, 1, 3, 13, 11, 69, 227, 169, 873, 533, 2217, 1047, 12415, 12271, 22447, 14163}}, +{6289, 17, 4711, {1, 1, 3, 9, 7, 31, 23, 155, 133, 305, 1569, 521, 201, 10339, 16999, 29163, 32817}}, +{6290, 17, 4720, {1, 1, 1, 5, 31, 57, 43, 223, 121, 803, 357, 1855, 4321, 10245, 25725, 2543, 47395}}, +{6291, 17, 4723, {1, 3, 5, 9, 3, 5, 47, 189, 217, 899, 1455, 691, 1277, 7861, 3627, 14895, 41109}}, +{6292, 17, 4732, {1, 3, 7, 3, 29, 9, 37, 63, 453, 709, 921, 771, 8069, 239, 22639, 59937, 10635}}, +{6293, 17, 4736, {1, 3, 7, 1, 11, 51, 79, 131, 225, 757, 549, 1605, 3921, 1849, 16307, 29809, 120597}}, +{6294, 17, 4742, {1, 3, 7, 7, 1, 45, 33, 185, 23, 881, 1941, 4093, 4741, 11633, 2059, 32007, 11103}}, +{6295, 17, 4748, {1, 3, 5, 11, 17, 21, 43, 205, 363, 559, 697, 4057, 631, 6697, 883, 61705, 102791}}, +{6296, 17, 4754, {1, 1, 7, 9, 29, 35, 109, 85, 373, 321, 415, 2969, 6163, 6999, 9999, 36435, 125267}}, +{6297, 17, 4759, {1, 1, 7, 11, 25, 9, 113, 91, 337, 889, 947, 2093, 5289, 1367, 13297, 36155, 21825}}, +{6298, 17, 4769, {1, 1, 3, 9, 17, 25, 35, 79, 275, 687, 335, 1181, 7327, 3729, 1561, 27441, 114355}}, +{6299, 17, 4787, {1, 3, 3, 11, 25, 41, 27, 89, 115, 361, 871, 1497, 5735, 6365, 1737, 14277, 63847}}, +{6300, 17, 4807, {1, 3, 7, 7, 1, 63, 31, 73, 289, 67, 277, 1821, 4883, 10795, 11755, 15471, 105871}}, +{6301, 17, 4814, {1, 3, 7, 9, 23, 17, 37, 179, 409, 957, 373, 2393, 2363, 6735, 28737, 41927, 115735}}, +{6302, 17, 4837, {1, 1, 3, 9, 15, 43, 111, 61, 455, 181, 1643, 3063, 4311, 13705, 29993, 21731, 25243}}, +{6303, 17, 4867, {1, 1, 1, 15, 13, 13, 69, 187, 91, 395, 209, 3477, 4649, 7727, 30557, 14719, 1953}}, +{6304, 17, 4873, {1, 1, 1, 15, 9, 39, 119, 193, 459, 135, 567, 25, 4583, 8401, 22161, 14771, 74165}}, +{6305, 17, 4879, {1, 1, 3, 7, 5, 39, 77, 149, 293, 585, 1245, 3615, 357, 11613, 13865, 40227, 41023}}, +{6306, 17, 4884, {1, 1, 7, 9, 9, 37, 5, 177, 121, 181, 771, 733, 7683, 4855, 13629, 8349, 46137}}, +{6307, 17, 4898, {1, 1, 3, 13, 3, 37, 73, 69, 281, 109, 563, 1427, 5127, 8957, 16749, 41489, 49531}}, +{6308, 17, 4907, {1, 1, 7, 11, 29, 63, 79, 127, 95, 809, 1175, 1567, 6353, 7505, 26551, 5073, 53733}}, +{6309, 17, 4910, {1, 1, 1, 5, 25, 41, 59, 103, 59, 365, 1111, 3909, 3749, 14889, 3639, 10435, 45407}}, +{6310, 17, 4918, {1, 1, 1, 5, 3, 61, 93, 199, 97, 779, 67, 241, 6197, 6785, 16869, 7573, 46745}}, +{6311, 17, 4924, {1, 1, 5, 9, 27, 29, 21, 69, 165, 661, 1245, 1265, 2979, 9685, 17781, 23329, 48029}}, +{6312, 17, 4953, {1, 1, 1, 7, 7, 23, 39, 197, 169, 561, 499, 2197, 4371, 157, 6837, 44635, 94861}}, +{6313, 17, 4956, {1, 1, 5, 13, 7, 5, 9, 207, 321, 243, 899, 2967, 3553, 15413, 8961, 55039, 6459}}, +{6314, 17, 4965, {1, 3, 5, 3, 13, 25, 33, 145, 45, 979, 33, 2211, 7003, 11147, 11327, 55151, 30697}}, +{6315, 17, 4966, {1, 1, 3, 13, 7, 51, 25, 229, 231, 115, 1815, 3867, 1533, 15259, 8067, 64803, 87535}}, +{6316, 17, 4970, {1, 1, 3, 3, 21, 51, 101, 49, 227, 393, 1659, 955, 545, 7395, 31563, 5499, 130541}}, +{6317, 17, 4972, {1, 3, 1, 1, 21, 41, 57, 161, 269, 35, 893, 1817, 857, 7027, 973, 12529, 46659}}, +{6318, 17, 4983, {1, 1, 3, 7, 17, 35, 23, 29, 335, 725, 453, 1051, 6019, 7595, 29451, 1853, 116615}}, +{6319, 17, 4989, {1, 3, 3, 1, 3, 55, 73, 187, 213, 329, 997, 703, 5829, 7903, 1081, 33359, 119123}}, +{6320, 17, 4994, {1, 3, 3, 15, 29, 55, 15, 17, 245, 117, 1735, 767, 4457, 8803, 17621, 26925, 72487}}, +{6321, 17, 5000, {1, 3, 5, 3, 25, 7, 119, 139, 159, 199, 317, 3875, 8115, 7581, 29239, 50225, 48459}}, +{6322, 17, 5005, {1, 3, 7, 11, 11, 41, 107, 225, 395, 545, 259, 2379, 6709, 11669, 14545, 43663, 69979}}, +{6323, 17, 5014, {1, 3, 5, 13, 23, 45, 73, 137, 447, 305, 117, 2659, 7989, 233, 31991, 60495, 571}}, +{6324, 17, 5018, {1, 3, 7, 9, 1, 37, 31, 1, 433, 701, 159, 3811, 4529, 6697, 7121, 31107, 61555}}, +{6325, 17, 5023, {1, 3, 5, 5, 13, 21, 81, 63, 95, 741, 1189, 1567, 1223, 12371, 28435, 10537, 53785}}, +{6326, 17, 5039, {1, 1, 1, 11, 17, 31, 67, 121, 281, 593, 561, 1759, 387, 9639, 28595, 22473, 4935}}, +{6327, 17, 5053, {1, 3, 7, 3, 5, 43, 59, 151, 351, 263, 297, 423, 1681, 3785, 15171, 7145, 57531}}, +{6328, 17, 5054, {1, 3, 7, 15, 9, 35, 105, 189, 261, 175, 1669, 1289, 5401, 12801, 19585, 48169, 93195}}, +{6329, 17, 5061, {1, 1, 7, 1, 31, 41, 23, 237, 151, 549, 1079, 2933, 5509, 15593, 1791, 15757, 44607}}, +{6330, 17, 5065, {1, 1, 1, 3, 29, 1, 59, 115, 13, 999, 1179, 3561, 2749, 10059, 12861, 6797, 11793}}, +{6331, 17, 5080, {1, 3, 3, 7, 11, 5, 23, 217, 101, 775, 1497, 4047, 2427, 5117, 9683, 28895, 27557}}, +{6332, 17, 5083, {1, 3, 7, 5, 31, 55, 99, 65, 55, 587, 1271, 2277, 7947, 12995, 13149, 4463, 37625}}, +{6333, 17, 5107, {1, 1, 7, 11, 3, 63, 23, 191, 125, 365, 1153, 2657, 6763, 4557, 21643, 26885, 36753}}, +{6334, 17, 5119, {1, 1, 1, 15, 25, 15, 111, 135, 507, 745, 1947, 2545, 4329, 14325, 8187, 52021, 63401}}, +{6335, 17, 5146, {1, 1, 3, 3, 27, 25, 19, 211, 393, 467, 1015, 2495, 7135, 495, 10385, 26961, 49325}}, +{6336, 17, 5151, {1, 1, 3, 5, 15, 35, 3, 203, 337, 337, 703, 1989, 6869, 6055, 21095, 4749, 125669}}, +{6337, 17, 5152, {1, 1, 5, 1, 31, 39, 57, 101, 419, 717, 1489, 199, 5729, 3003, 2607, 64593, 11515}}, +{6338, 17, 5155, {1, 3, 7, 13, 15, 3, 33, 61, 17, 433, 1097, 957, 5351, 3043, 3679, 44881, 126909}}, +{6339, 17, 5169, {1, 1, 3, 11, 5, 1, 121, 175, 119, 367, 399, 2527, 2157, 2667, 31069, 24797, 119621}}, +{6340, 17, 5170, {1, 3, 1, 7, 27, 47, 115, 229, 455, 775, 73, 837, 1181, 3457, 4057, 33907, 67151}}, +{6341, 17, 5176, {1, 3, 3, 1, 7, 51, 71, 177, 463, 921, 393, 3137, 1225, 5709, 303, 20597, 77581}}, +{6342, 17, 5179, {1, 3, 5, 3, 31, 1, 93, 53, 177, 433, 1471, 2191, 4471, 9211, 19397, 57727, 60367}}, +{6343, 17, 5182, {1, 1, 3, 11, 29, 55, 121, 89, 67, 869, 1631, 2657, 7357, 7159, 22449, 16357, 20077}}, +{6344, 17, 5189, {1, 3, 7, 15, 11, 39, 127, 63, 211, 359, 971, 1221, 1909, 9963, 7827, 60923, 98495}}, +{6345, 17, 5193, {1, 1, 7, 9, 23, 47, 47, 85, 307, 471, 1287, 3825, 5451, 15151, 15647, 63043, 92443}}, +{6346, 17, 5196, {1, 3, 7, 5, 19, 11, 11, 27, 307, 695, 99, 1037, 1997, 13673, 591, 8183, 82197}}, +{6347, 17, 5204, {1, 3, 5, 5, 3, 53, 109, 227, 503, 855, 1269, 3903, 5049, 10647, 21751, 58707, 78311}}, +{6348, 17, 5207, {1, 1, 3, 11, 31, 3, 51, 211, 285, 919, 487, 3393, 3463, 2271, 8053, 56791, 33763}}, +{6349, 17, 5211, {1, 3, 3, 5, 21, 15, 5, 5, 327, 809, 915, 1365, 7323, 4247, 31603, 26261, 80389}}, +{6350, 17, 5220, {1, 3, 7, 7, 15, 33, 31, 221, 291, 815, 1307, 929, 3249, 14573, 13613, 59509, 59741}}, +{6351, 17, 5258, {1, 3, 7, 15, 19, 41, 61, 27, 353, 965, 1901, 87, 2669, 12757, 29723, 47165, 16521}}, +{6352, 17, 5265, {1, 3, 5, 3, 11, 43, 97, 215, 361, 901, 1425, 4063, 5327, 14119, 457, 43145, 107401}}, +{6353, 17, 5271, {1, 1, 3, 15, 19, 37, 101, 69, 131, 927, 897, 477, 7641, 4299, 21213, 26017, 123801}}, +{6354, 17, 5277, {1, 3, 7, 7, 19, 5, 11, 51, 277, 985, 1071, 3437, 6595, 9547, 11855, 64249, 30957}}, +{6355, 17, 5278, {1, 1, 7, 9, 21, 41, 89, 113, 61, 235, 685, 1419, 7619, 9863, 21221, 28685, 53409}}, +{6356, 17, 5282, {1, 1, 1, 1, 27, 1, 19, 3, 473, 827, 269, 1659, 2621, 12347, 13359, 64687, 99293}}, +{6357, 17, 5296, {1, 3, 7, 7, 29, 37, 61, 49, 215, 883, 625, 2671, 3743, 4517, 2075, 64865, 58611}}, +{6358, 17, 5299, {1, 3, 3, 7, 15, 11, 35, 37, 255, 781, 613, 3587, 7643, 13081, 32467, 14427, 15235}}, +{6359, 17, 5319, {1, 1, 1, 11, 31, 47, 107, 65, 489, 377, 425, 3453, 2901, 9999, 7687, 13311, 103947}}, +{6360, 17, 5328, {1, 3, 3, 7, 9, 17, 7, 107, 33, 545, 407, 3335, 7563, 14315, 32725, 8483, 69093}}, +{6361, 17, 5343, {1, 1, 1, 5, 17, 9, 87, 229, 417, 769, 423, 569, 7073, 8705, 24487, 63743, 69807}}, +{6362, 17, 5353, {1, 3, 1, 9, 1, 29, 75, 25, 483, 259, 1941, 1533, 8147, 14127, 24087, 37475, 130961}}, +{6363, 17, 5364, {1, 3, 3, 11, 15, 15, 51, 45, 215, 283, 1687, 185, 4521, 12205, 13041, 33283, 77007}}, +{6364, 17, 5368, {1, 1, 3, 3, 5, 47, 107, 67, 325, 87, 1831, 2845, 1645, 1741, 10811, 8983, 58515}}, +{6365, 17, 5379, {1, 3, 1, 13, 19, 17, 1, 151, 411, 915, 1739, 3781, 4939, 15767, 25897, 7205, 17285}}, +{6366, 17, 5381, {1, 3, 5, 15, 19, 1, 125, 33, 321, 325, 639, 4013, 967, 4347, 19743, 13445, 61229}}, +{6367, 17, 5399, {1, 3, 3, 13, 13, 37, 71, 85, 51, 775, 973, 739, 4341, 15707, 12221, 24321, 48073}}, +{6368, 17, 5415, {1, 1, 7, 13, 15, 13, 9, 211, 331, 429, 1323, 3027, 1091, 13311, 289, 57789, 93261}}, +{6369, 17, 5422, {1, 1, 1, 1, 27, 7, 13, 27, 67, 573, 455, 2353, 113, 11831, 9069, 4503, 89291}}, +{6370, 17, 5441, {1, 1, 1, 7, 21, 63, 47, 39, 419, 991, 1623, 11, 3153, 12633, 9425, 65087, 44935}}, +{6371, 17, 5451, {1, 3, 1, 7, 23, 11, 15, 11, 99, 543, 1739, 3955, 5883, 12469, 7529, 14177, 1945}}, +{6372, 17, 5456, {1, 3, 1, 3, 5, 17, 31, 251, 387, 311, 725, 3827, 6835, 5065, 3141, 43441, 87955}}, +{6373, 17, 5462, {1, 1, 1, 11, 25, 7, 75, 135, 67, 589, 889, 3429, 155, 9081, 28653, 8059, 57251}}, +{6374, 17, 5490, {1, 3, 5, 15, 21, 15, 103, 149, 311, 407, 1391, 717, 1765, 14887, 14381, 37483, 29587}}, +{6375, 17, 5495, {1, 3, 5, 5, 19, 31, 93, 5, 507, 193, 1735, 3841, 7895, 9853, 10317, 14867, 49529}}, +{6376, 17, 5501, {1, 3, 7, 7, 19, 3, 99, 201, 479, 313, 693, 3435, 5453, 1157, 23127, 49005, 20167}}, +{6377, 17, 5502, {1, 3, 7, 9, 15, 21, 123, 41, 19, 281, 1837, 2589, 1003, 1993, 18345, 10039, 89325}}, +{6378, 17, 5505, {1, 3, 5, 1, 19, 21, 77, 151, 145, 951, 2017, 609, 5847, 4475, 12439, 6357, 108277}}, +{6379, 17, 5512, {1, 1, 1, 9, 17, 21, 91, 91, 111, 951, 497, 1759, 503, 12787, 25117, 24323, 96447}}, +{6380, 17, 5523, {1, 1, 3, 11, 13, 9, 73, 205, 329, 243, 1187, 829, 2821, 5563, 14391, 771, 116441}}, +{6381, 17, 5529, {1, 1, 1, 1, 11, 57, 39, 221, 41, 521, 1541, 3515, 2367, 4179, 21039, 52943, 11627}}, +{6382, 17, 5548, {1, 3, 3, 3, 23, 13, 103, 125, 67, 217, 863, 3755, 213, 12657, 31399, 3771, 54107}}, +{6383, 17, 5551, {1, 3, 3, 7, 3, 9, 107, 217, 497, 935, 519, 3041, 323, 14895, 5695, 28789, 36085}}, +{6384, 17, 5553, {1, 1, 5, 11, 23, 33, 81, 23, 167, 3, 1683, 2279, 5365, 847, 14717, 9689, 64481}}, +{6385, 17, 5565, {1, 3, 1, 7, 1, 15, 107, 93, 429, 363, 1745, 1459, 5879, 8351, 17527, 44001, 70293}}, +{6386, 17, 5568, {1, 3, 3, 9, 27, 55, 125, 211, 141, 827, 1239, 663, 4803, 11067, 32039, 28091, 56421}}, +{6387, 17, 5577, {1, 3, 5, 5, 7, 13, 125, 231, 427, 483, 967, 549, 3105, 13919, 3017, 39207, 23253}}, +{6388, 17, 5578, {1, 3, 7, 3, 21, 29, 79, 67, 39, 451, 157, 337, 3585, 3621, 9545, 31205, 63201}}, +{6389, 17, 5583, {1, 3, 1, 1, 29, 25, 77, 57, 167, 899, 95, 2487, 3743, 5381, 3637, 56289, 39453}}, +{6390, 17, 5585, {1, 1, 1, 9, 29, 19, 41, 97, 75, 199, 1709, 483, 4099, 3113, 10953, 20659, 109273}}, +{6391, 17, 5588, {1, 3, 5, 15, 13, 9, 83, 43, 111, 789, 965, 4061, 1239, 14577, 10113, 26359, 52609}}, +{6392, 17, 5613, {1, 3, 5, 5, 11, 39, 113, 31, 457, 119, 725, 831, 4143, 5675, 27431, 12431, 94977}}, +{6393, 17, 5614, {1, 1, 3, 3, 25, 17, 93, 253, 307, 625, 143, 1061, 4415, 3563, 3313, 53527, 29537}}, +{6394, 17, 5616, {1, 3, 5, 3, 29, 41, 43, 109, 147, 919, 1675, 465, 6101, 12251, 28915, 15397, 85233}}, +{6395, 17, 5622, {1, 1, 1, 1, 31, 25, 59, 187, 439, 561, 559, 413, 1917, 9319, 27475, 49715, 32953}}, +{6396, 17, 5631, {1, 1, 7, 13, 23, 31, 95, 231, 141, 207, 1373, 2173, 2905, 169, 23825, 55071, 6147}}, +{6397, 17, 5637, {1, 1, 7, 13, 15, 39, 43, 117, 321, 297, 661, 2941, 7359, 11675, 15483, 24093, 7269}}, +{6398, 17, 5638, {1, 3, 3, 13, 9, 59, 51, 49, 81, 563, 745, 1843, 295, 4689, 19847, 42137, 63197}}, +{6399, 17, 5668, {1, 3, 1, 9, 5, 33, 21, 199, 509, 927, 1777, 1349, 3593, 1065, 24943, 55667, 73539}}, +{6400, 17, 5675, {1, 3, 1, 11, 17, 15, 91, 21, 59, 587, 1207, 543, 6669, 10861, 24755, 1789, 91249}}, +{6401, 17, 5683, {1, 3, 7, 15, 13, 47, 57, 147, 381, 1021, 921, 1347, 3847, 5969, 9075, 39081, 127241}}, +{6402, 17, 5695, {1, 3, 3, 15, 19, 15, 1, 97, 203, 409, 1745, 1217, 2199, 7945, 24361, 41771, 123127}}, +{6403, 17, 5703, {1, 3, 3, 5, 17, 17, 43, 255, 179, 717, 1993, 645, 6527, 1533, 32719, 27481, 122425}}, +{6404, 17, 5710, {1, 3, 5, 9, 13, 59, 15, 157, 373, 937, 27, 3325, 2297, 89, 10861, 48615, 16083}}, +{6405, 17, 5715, {1, 3, 1, 3, 19, 27, 109, 243, 189, 17, 99, 1879, 695, 11329, 12467, 6053, 41749}}, +{6406, 17, 5727, {1, 1, 5, 5, 23, 41, 103, 69, 171, 917, 1303, 2101, 617, 10017, 26525, 11009, 66137}}, +{6407, 17, 5738, {1, 1, 1, 9, 21, 45, 47, 171, 455, 257, 411, 4021, 6995, 12881, 4793, 51193, 60775}}, +{6408, 17, 5752, {1, 3, 7, 5, 25, 31, 89, 53, 321, 593, 1795, 2435, 3833, 2767, 17241, 63373, 25457}}, +{6409, 17, 5767, {1, 3, 1, 1, 3, 45, 19, 255, 179, 991, 1407, 3683, 1435, 6803, 12215, 12835, 2005}}, +{6410, 17, 5773, {1, 3, 7, 3, 17, 5, 117, 251, 71, 983, 1391, 3499, 5119, 7257, 7325, 16565, 6321}}, +{6411, 17, 5776, {1, 3, 5, 7, 5, 49, 47, 201, 297, 485, 1879, 2205, 4903, 13619, 22537, 5479, 121625}}, +{6412, 17, 5781, {1, 1, 3, 5, 27, 27, 87, 61, 145, 943, 343, 1639, 6307, 4549, 20765, 33479, 113697}}, +{6413, 17, 5791, {1, 1, 3, 9, 17, 5, 101, 129, 305, 653, 1901, 3901, 6361, 2369, 7449, 55259, 75215}}, +{6414, 17, 5792, {1, 1, 7, 5, 31, 45, 117, 55, 335, 827, 1309, 2603, 2111, 11005, 14747, 56999, 97373}}, +{6415, 17, 5795, {1, 1, 7, 11, 29, 29, 81, 175, 169, 453, 293, 2589, 1057, 15795, 32397, 65433, 79455}}, +{6416, 17, 5798, {1, 1, 1, 5, 11, 7, 13, 249, 29, 407, 1289, 2385, 8113, 15327, 4029, 32005, 105901}}, +{6417, 17, 5801, {1, 1, 5, 5, 7, 61, 103, 141, 109, 391, 631, 821, 1479, 14771, 25057, 1415, 8081}}, +{6418, 17, 5810, {1, 3, 1, 1, 9, 37, 17, 231, 501, 745, 1695, 45, 7797, 2945, 5529, 34747, 39069}}, +{6419, 17, 5812, {1, 1, 7, 9, 21, 59, 103, 103, 33, 875, 723, 3477, 4729, 7311, 29979, 60901, 72187}}, +{6420, 17, 5836, {1, 3, 3, 3, 15, 63, 93, 237, 203, 635, 1189, 2035, 6499, 9943, 9133, 62977, 29657}}, +{6421, 17, 5839, {1, 1, 1, 9, 3, 11, 63, 207, 95, 563, 775, 3009, 7125, 13141, 4489, 16343, 120951}}, +{6422, 17, 5841, {1, 1, 3, 1, 21, 57, 15, 217, 185, 305, 463, 1597, 6529, 4989, 14011, 11265, 131031}}, +{6423, 17, 5867, {1, 3, 5, 15, 17, 61, 35, 127, 411, 579, 1349, 615, 3293, 8475, 9773, 30635, 117639}}, +{6424, 17, 5870, {1, 1, 7, 9, 11, 3, 55, 105, 305, 223, 1899, 2217, 1261, 9831, 23693, 3013, 30489}}, +{6425, 17, 5877, {1, 3, 7, 15, 15, 29, 1, 99, 67, 293, 499, 1941, 5303, 1329, 24547, 14065, 7927}}, +{6426, 17, 5881, {1, 1, 5, 11, 17, 55, 71, 49, 499, 435, 985, 2803, 6139, 1503, 24167, 47181, 102529}}, +{6427, 17, 5899, {1, 3, 5, 1, 19, 53, 71, 17, 63, 469, 1871, 2051, 357, 11661, 5689, 36373, 13379}}, +{6428, 17, 5914, {1, 1, 5, 1, 27, 47, 23, 247, 59, 381, 1895, 2453, 3665, 5487, 24081, 50501, 91659}}, +{6429, 17, 5925, {1, 1, 5, 7, 29, 19, 3, 33, 83, 301, 133, 3603, 5133, 16171, 22905, 36271, 10405}}, +{6430, 17, 5929, {1, 3, 7, 9, 11, 23, 57, 87, 9, 731, 631, 3703, 2593, 12851, 7115, 8801, 108919}}, +{6431, 17, 5943, {1, 3, 3, 3, 23, 35, 33, 99, 343, 837, 231, 3921, 6975, 15093, 15049, 64623, 123523}}, +{6432, 17, 5949, {1, 1, 7, 11, 15, 61, 113, 103, 501, 57, 1345, 3155, 2965, 4433, 10605, 43765, 42169}}, +{6433, 17, 5962, {1, 1, 7, 13, 7, 53, 91, 121, 229, 127, 103, 833, 7829, 1571, 10847, 20861, 101155}}, +{6434, 17, 5969, {1, 3, 7, 1, 9, 25, 71, 103, 37, 473, 1133, 1129, 1651, 6965, 6937, 16597, 20439}}, +{6435, 17, 5976, {1, 1, 5, 9, 1, 9, 47, 131, 285, 967, 1869, 1075, 8127, 135, 15575, 38569, 123729}}, +{6436, 17, 5988, {1, 1, 7, 9, 5, 31, 33, 227, 347, 41, 2025, 3755, 857, 7805, 13121, 38307, 125825}}, +{6437, 17, 5997, {1, 3, 5, 7, 11, 11, 19, 55, 23, 627, 1477, 3093, 2779, 7653, 7165, 23053, 76123}}, +{6438, 17, 6006, {1, 1, 3, 1, 3, 47, 83, 89, 177, 381, 1247, 141, 7051, 6443, 27369, 34323, 43063}}, +{6439, 17, 6010, {1, 1, 7, 7, 13, 15, 55, 223, 351, 525, 1051, 3009, 5443, 11499, 8335, 37949, 69149}}, +{6440, 17, 6016, {1, 1, 1, 3, 13, 61, 89, 33, 129, 921, 1905, 201, 3141, 5531, 135, 34103, 56883}}, +{6441, 17, 6022, {1, 1, 5, 13, 17, 27, 13, 163, 169, 471, 1263, 1421, 7015, 7927, 21027, 58001, 26739}}, +{6442, 17, 6026, {1, 1, 1, 15, 19, 49, 109, 207, 245, 49, 1271, 3635, 2561, 5091, 24415, 59195, 67701}}, +{6443, 17, 6031, {1, 3, 5, 7, 27, 57, 99, 155, 461, 595, 1859, 1727, 857, 4993, 31733, 42141, 10035}}, +{6444, 17, 6040, {1, 1, 1, 15, 11, 11, 85, 9, 251, 375, 155, 379, 7501, 12559, 32583, 36317, 4675}}, +{6445, 17, 6043, {1, 1, 5, 13, 19, 57, 81, 69, 201, 293, 593, 3169, 4519, 9057, 16685, 12847, 123797}}, +{6446, 17, 6050, {1, 3, 1, 5, 5, 1, 19, 243, 345, 661, 561, 3549, 2541, 5887, 25879, 41467, 72799}}, +{6447, 17, 6059, {1, 1, 5, 13, 15, 51, 67, 61, 79, 89, 447, 1471, 4915, 10637, 10901, 48157, 103545}}, +{6448, 17, 6079, {1, 3, 5, 13, 31, 25, 73, 129, 435, 659, 1851, 3595, 753, 7717, 10927, 30115, 109221}}, +{6449, 17, 6099, {1, 1, 1, 3, 25, 3, 121, 43, 349, 205, 1209, 2671, 6445, 8755, 7171, 58631, 74319}}, +{6450, 17, 6101, {1, 1, 3, 1, 11, 15, 83, 37, 483, 65, 759, 1835, 3883, 1693, 30051, 61077, 1187}}, +{6451, 17, 6105, {1, 3, 7, 15, 29, 23, 85, 77, 139, 903, 1821, 943, 6453, 1523, 18539, 49039, 110787}}, +{6452, 17, 6108, {1, 1, 7, 15, 15, 17, 69, 253, 507, 921, 523, 79, 747, 4011, 25795, 42029, 88309}}, +{6453, 17, 6124, {1, 1, 7, 3, 25, 47, 119, 83, 313, 45, 985, 145, 205, 3407, 9013, 64517, 115811}}, +{6454, 17, 6132, {1, 1, 7, 1, 29, 21, 9, 123, 97, 545, 1987, 2979, 6901, 12667, 23325, 63635, 70593}}, +{6455, 17, 6145, {1, 3, 7, 3, 23, 45, 81, 255, 41, 29, 1493, 4065, 3201, 10479, 17193, 39999, 55493}}, +{6456, 17, 6146, {1, 3, 1, 3, 9, 43, 43, 135, 235, 603, 481, 3139, 2729, 14759, 7269, 7995, 110351}}, +{6457, 17, 6151, {1, 3, 1, 11, 17, 35, 113, 93, 417, 967, 755, 659, 3115, 16163, 22997, 38205, 126961}}, +{6458, 17, 6152, {1, 1, 7, 11, 29, 57, 81, 235, 93, 869, 475, 825, 6269, 15819, 14977, 53057, 116021}}, +{6459, 17, 6158, {1, 1, 7, 13, 5, 61, 5, 241, 245, 673, 1651, 3367, 2355, 713, 20107, 30133, 735}}, +{6460, 17, 6160, {1, 1, 5, 9, 21, 3, 121, 241, 129, 703, 1435, 1943, 5087, 13123, 30023, 58287, 50377}}, +{6461, 17, 6163, {1, 1, 1, 15, 23, 27, 67, 197, 123, 629, 169, 3303, 1679, 11051, 16875, 28055, 12379}}, +{6462, 17, 6165, {1, 1, 3, 3, 7, 63, 97, 43, 89, 739, 779, 2893, 7763, 6351, 26135, 44647, 127987}}, +{6463, 17, 6170, {1, 3, 3, 9, 31, 59, 95, 131, 131, 321, 1125, 127, 4865, 145, 26237, 47871, 114549}}, +{6464, 17, 6182, {1, 3, 3, 13, 21, 3, 33, 17, 445, 693, 1599, 2517, 1679, 2237, 15053, 30983, 106755}}, +{6465, 17, 6196, {1, 1, 5, 13, 31, 37, 49, 67, 403, 27, 575, 1795, 3385, 1067, 585, 60277, 123189}}, +{6466, 17, 6199, {1, 3, 1, 15, 13, 35, 23, 247, 493, 305, 363, 451, 4011, 3679, 18281, 31751, 127933}}, +{6467, 17, 6200, {1, 1, 7, 5, 21, 45, 123, 253, 469, 267, 985, 2349, 3427, 7653, 25685, 13747, 531}}, +{6468, 17, 6205, {1, 1, 5, 11, 7, 59, 105, 209, 27, 847, 593, 3775, 6165, 1655, 29867, 28465, 92193}}, +{6469, 17, 6226, {1, 3, 1, 11, 7, 25, 101, 81, 233, 311, 9, 2735, 3951, 485, 10105, 24489, 649}}, +{6470, 17, 6228, {1, 3, 1, 7, 27, 5, 115, 243, 295, 659, 215, 1787, 5131, 2513, 29201, 21195, 103383}}, +{6471, 17, 6237, {1, 3, 5, 13, 29, 21, 7, 57, 345, 467, 1297, 207, 5115, 335, 6153, 32959, 125697}}, +{6472, 17, 6247, {1, 1, 1, 9, 3, 63, 63, 5, 373, 123, 1265, 2365, 1623, 1561, 14805, 17487, 104787}}, +{6473, 17, 6251, {1, 3, 1, 5, 15, 13, 55, 69, 251, 341, 463, 2611, 4793, 12157, 4669, 11613, 128705}}, +{6474, 17, 6253, {1, 3, 7, 13, 19, 7, 93, 149, 453, 693, 1731, 861, 6971, 943, 18891, 56547, 34411}}, +{6475, 17, 6256, {1, 1, 7, 1, 27, 49, 27, 9, 281, 121, 581, 393, 2583, 1159, 26989, 39955, 100765}}, +{6476, 17, 6268, {1, 1, 3, 9, 3, 43, 97, 207, 311, 617, 1987, 2559, 2101, 15791, 30085, 40713, 41909}}, +{6477, 17, 6272, {1, 3, 1, 3, 15, 19, 53, 183, 375, 867, 397, 3203, 4207, 5381, 25065, 60357, 88739}}, +{6478, 17, 6275, {1, 3, 3, 3, 27, 51, 85, 231, 19, 559, 567, 4049, 4875, 14201, 11623, 39763, 57339}}, +{6479, 17, 6281, {1, 1, 5, 1, 19, 7, 81, 249, 41, 789, 985, 3725, 4053, 4255, 9861, 1609, 29511}}, +{6480, 17, 6289, {1, 3, 5, 5, 21, 13, 49, 41, 367, 283, 1161, 2753, 4733, 3691, 27931, 53055, 83625}}, +{6481, 17, 6335, {1, 3, 5, 11, 29, 47, 95, 51, 265, 85, 385, 833, 7957, 14985, 7017, 41937, 41377}}, +{6482, 17, 6338, {1, 1, 7, 5, 1, 23, 17, 191, 185, 323, 515, 3183, 7685, 7361, 21143, 5227, 110297}}, +{6483, 17, 6355, {1, 3, 3, 7, 11, 39, 31, 97, 237, 497, 1649, 3529, 6153, 5055, 29021, 35125, 121581}}, +{6484, 17, 6362, {1, 3, 5, 3, 17, 47, 105, 75, 55, 343, 595, 2447, 5575, 10673, 32015, 37541, 127867}}, +{6485, 17, 6373, {1, 3, 1, 7, 19, 39, 31, 135, 167, 979, 219, 1353, 489, 9667, 27107, 55565, 72291}}, +{6486, 17, 6386, {1, 1, 3, 13, 31, 49, 87, 93, 235, 577, 1551, 2663, 387, 1129, 26683, 31285, 15913}}, +{6487, 17, 6388, {1, 3, 3, 7, 15, 29, 61, 33, 115, 511, 1781, 2029, 4265, 6745, 1467, 34415, 40907}}, +{6488, 17, 6391, {1, 1, 7, 5, 1, 55, 13, 129, 167, 937, 79, 2047, 3589, 1979, 4153, 15229, 85745}}, +{6489, 17, 6397, {1, 1, 7, 15, 15, 25, 89, 129, 31, 435, 1359, 49, 2659, 2829, 8741, 25215, 4239}}, +{6490, 17, 6405, {1, 3, 5, 3, 11, 39, 95, 239, 187, 615, 1481, 3509, 1133, 13497, 24833, 59635, 45695}}, +{6491, 17, 6406, {1, 1, 5, 3, 19, 17, 17, 235, 315, 943, 883, 1381, 7129, 15709, 9847, 41183, 116071}}, +{6492, 17, 6410, {1, 1, 1, 3, 9, 63, 109, 209, 309, 1015, 1391, 2617, 1481, 6483, 4151, 28063, 49887}}, +{6493, 17, 6417, {1, 1, 5, 13, 23, 37, 31, 89, 501, 461, 41, 931, 7863, 15499, 25635, 16995, 41651}}, +{6494, 17, 6443, {1, 1, 1, 9, 29, 29, 125, 161, 219, 439, 1465, 1615, 7483, 7497, 1121, 49693, 30269}}, +{6495, 17, 6457, {1, 3, 1, 5, 7, 43, 27, 161, 431, 375, 419, 2995, 527, 8207, 747, 18491, 15351}}, +{6496, 17, 6468, {1, 1, 3, 13, 25, 21, 67, 177, 9, 453, 1171, 65, 2845, 16147, 12699, 30905, 122255}}, +{6497, 17, 6475, {1, 3, 1, 5, 29, 47, 77, 251, 473, 385, 947, 3239, 5375, 13617, 10639, 36005, 95821}}, +{6498, 17, 6486, {1, 3, 1, 15, 13, 1, 75, 223, 509, 19, 175, 1541, 637, 5711, 1097, 44901, 35277}}, +{6499, 17, 6489, {1, 3, 3, 7, 3, 27, 17, 151, 39, 583, 391, 2739, 7339, 2051, 17005, 49573, 85969}}, +{6500, 17, 6495, {1, 3, 1, 11, 3, 25, 119, 125, 17, 629, 201, 2347, 2923, 1273, 14871, 58299, 97667}}, +{6501, 17, 6499, {1, 1, 7, 1, 31, 39, 11, 121, 339, 667, 1863, 3479, 1895, 11319, 5683, 64969, 9261}}, +{6502, 17, 6505, {1, 1, 5, 9, 27, 61, 101, 221, 221, 583, 287, 707, 5931, 4225, 29537, 46097, 114361}}, +{6503, 17, 6511, {1, 1, 1, 9, 23, 47, 1, 35, 85, 1021, 151, 3153, 3867, 971, 31573, 4745, 107639}}, +{6504, 17, 6520, {1, 1, 7, 13, 15, 15, 63, 37, 291, 907, 411, 1571, 6415, 7443, 26635, 27945, 130909}}, +{6505, 17, 6529, {1, 3, 1, 9, 21, 13, 77, 147, 485, 107, 235, 481, 2389, 957, 11493, 53033, 46373}}, +{6506, 17, 6542, {1, 3, 5, 7, 3, 55, 125, 237, 205, 411, 1911, 4053, 5983, 15489, 29333, 44727, 62167}}, +{6507, 17, 6547, {1, 1, 3, 3, 17, 3, 59, 239, 209, 495, 447, 3427, 3425, 2347, 10057, 26147, 52243}}, +{6508, 17, 6550, {1, 1, 3, 1, 11, 31, 3, 139, 441, 997, 295, 1267, 2181, 6047, 32419, 62657, 24921}}, +{6509, 17, 6554, {1, 3, 7, 15, 5, 3, 11, 9, 211, 701, 1987, 2611, 6195, 14379, 22919, 15785, 52149}}, +{6510, 17, 6556, {1, 1, 7, 9, 7, 27, 35, 253, 343, 679, 103, 1217, 3983, 8677, 17671, 41347, 89355}}, +{6511, 17, 6560, {1, 1, 1, 5, 7, 55, 111, 115, 231, 999, 773, 2111, 3617, 2469, 16967, 60735, 24557}}, +{6512, 17, 6569, {1, 3, 5, 1, 29, 5, 77, 217, 131, 307, 473, 3595, 2713, 6503, 18459, 57245, 91897}}, +{6513, 17, 6572, {1, 3, 5, 13, 9, 33, 93, 31, 59, 343, 1337, 1971, 7593, 15629, 22693, 19885, 4139}}, +{6514, 17, 6590, {1, 3, 3, 3, 21, 33, 115, 205, 373, 587, 739, 669, 8065, 5339, 16507, 29455, 15863}}, +{6515, 17, 6592, {1, 3, 5, 11, 9, 43, 45, 41, 91, 87, 19, 1523, 5059, 9403, 6739, 36893, 6395}}, +{6516, 17, 6601, {1, 1, 5, 15, 19, 43, 81, 3, 401, 621, 1839, 1443, 179, 8085, 27021, 7757, 95011}}, +{6517, 17, 6610, {1, 3, 5, 15, 19, 21, 45, 167, 77, 977, 309, 431, 3437, 8327, 12895, 50521, 68473}}, +{6518, 17, 6632, {1, 3, 3, 15, 7, 21, 49, 169, 327, 271, 7, 785, 1767, 14747, 7083, 65223, 24213}}, +{6519, 17, 6635, {1, 1, 5, 9, 9, 51, 101, 197, 507, 839, 1413, 3131, 331, 15725, 32293, 60433, 86759}}, +{6520, 17, 6640, {1, 1, 7, 1, 17, 39, 127, 201, 341, 607, 1565, 1615, 1367, 16043, 28265, 29139, 63813}}, +{6521, 17, 6643, {1, 3, 5, 7, 9, 1, 107, 73, 121, 649, 1385, 3203, 2897, 8479, 28519, 34041, 1359}}, +{6522, 17, 6649, {1, 1, 7, 7, 21, 55, 19, 13, 415, 647, 2015, 107, 4167, 5033, 16849, 41407, 94387}}, +{6523, 17, 6659, {1, 3, 5, 13, 31, 27, 107, 95, 425, 679, 55, 3521, 6737, 11459, 19995, 64189, 44323}}, +{6524, 17, 6662, {1, 1, 3, 9, 17, 47, 29, 167, 17, 63, 5, 2505, 6483, 14089, 7127, 7907, 68555}}, +{6525, 17, 6666, {1, 1, 5, 3, 29, 3, 87, 107, 227, 893, 1821, 341, 5481, 13317, 10637, 8611, 28625}}, +{6526, 17, 6690, {1, 1, 1, 13, 11, 19, 59, 157, 397, 103, 1821, 3913, 3083, 6053, 1015, 25475, 94813}}, +{6527, 17, 6692, {1, 3, 1, 3, 15, 45, 1, 209, 335, 1015, 539, 2959, 1711, 2567, 30169, 147, 25383}}, +{6528, 17, 6704, {1, 3, 7, 1, 17, 5, 99, 121, 91, 531, 865, 1667, 5615, 4729, 7473, 21445, 37925}}, +{6529, 17, 6713, {1, 1, 7, 13, 3, 51, 27, 115, 439, 761, 1121, 1503, 3047, 2127, 29253, 48147, 10813}}, +{6530, 17, 6728, {1, 3, 7, 15, 1, 51, 33, 161, 509, 159, 1705, 3365, 7953, 14027, 3873, 29609, 33101}}, +{6531, 17, 6731, {1, 1, 5, 15, 15, 53, 119, 115, 433, 75, 497, 1259, 1681, 7715, 24767, 34647, 82007}}, +{6532, 17, 6734, {1, 1, 5, 3, 27, 63, 41, 181, 393, 439, 95, 2765, 7617, 817, 1311, 18595, 16921}}, +{6533, 17, 6746, {1, 3, 1, 15, 31, 7, 57, 89, 371, 745, 475, 3211, 6893, 10681, 18547, 28373, 127787}}, +{6534, 17, 6755, {1, 3, 5, 13, 5, 55, 45, 167, 147, 833, 765, 1153, 4037, 8503, 10751, 49541, 77489}}, +{6535, 17, 6757, {1, 3, 1, 11, 11, 7, 45, 167, 431, 759, 1035, 1367, 1649, 11711, 4915, 58915, 72479}}, +{6536, 17, 6764, {1, 1, 5, 1, 11, 3, 15, 135, 427, 637, 879, 1667, 6139, 14759, 25665, 13083, 67961}}, +{6537, 17, 6772, {1, 3, 3, 9, 1, 3, 73, 167, 269, 51, 1481, 3659, 7863, 7187, 3951, 10711, 5909}}, +{6538, 17, 6792, {1, 1, 3, 3, 9, 53, 101, 209, 109, 691, 1641, 919, 1083, 6247, 23041, 44681, 130105}}, +{6539, 17, 6797, {1, 3, 7, 5, 21, 55, 127, 9, 437, 225, 1599, 2575, 5407, 8099, 20009, 40339, 110581}}, +{6540, 17, 6821, {1, 3, 3, 13, 7, 41, 15, 137, 363, 337, 995, 1215, 3651, 11011, 27209, 53927, 78065}}, +{6541, 17, 6822, {1, 1, 1, 7, 11, 17, 27, 9, 481, 79, 905, 1297, 811, 10221, 463, 12979, 114731}}, +{6542, 17, 6831, {1, 1, 3, 13, 7, 59, 105, 79, 253, 699, 139, 3823, 4939, 12955, 32069, 7255, 18159}}, +{6543, 17, 6834, {1, 3, 5, 7, 29, 7, 79, 79, 147, 921, 425, 1423, 5967, 6397, 17393, 30009, 84075}}, +{6544, 17, 6851, {1, 3, 7, 13, 23, 45, 51, 141, 237, 443, 1101, 309, 4533, 7479, 22415, 31517, 120407}}, +{6545, 17, 6858, {1, 1, 5, 13, 3, 19, 97, 185, 59, 179, 1343, 2537, 3165, 16295, 25005, 49769, 78007}}, +{6546, 17, 6860, {1, 3, 7, 15, 11, 53, 127, 195, 309, 121, 1741, 1415, 225, 15645, 16365, 38729, 70061}}, +{6547, 17, 6871, {1, 3, 7, 11, 29, 35, 47, 109, 179, 3, 849, 2305, 3035, 15289, 31569, 28851, 90057}}, +{6548, 17, 6875, {1, 1, 7, 1, 13, 27, 93, 119, 439, 45, 623, 1263, 6595, 6669, 12981, 64721, 130109}}, +{6549, 17, 6884, {1, 1, 7, 13, 5, 43, 43, 99, 395, 417, 795, 3991, 5601, 13115, 12803, 52247, 39245}}, +{6550, 17, 6888, {1, 3, 3, 3, 15, 61, 85, 91, 407, 391, 359, 3885, 1925, 4873, 169, 41727, 129471}}, +{6551, 17, 6894, {1, 3, 3, 9, 11, 47, 3, 33, 355, 853, 1329, 1347, 1995, 8197, 10015, 787, 66773}}, +{6552, 17, 6919, {1, 3, 3, 13, 31, 31, 49, 195, 55, 185, 1743, 3523, 1781, 8469, 7623, 55933, 74953}}, +{6553, 17, 6940, {1, 3, 5, 15, 29, 31, 5, 45, 149, 71, 2033, 3171, 4601, 9941, 15005, 55709, 74403}}, +{6554, 17, 6950, {1, 3, 5, 3, 1, 27, 105, 7, 139, 805, 1877, 915, 1843, 11897, 29485, 19275, 44711}}, +{6555, 17, 6959, {1, 1, 5, 7, 25, 57, 111, 57, 401, 935, 1685, 2985, 2015, 13501, 14581, 53579, 117011}}, +{6556, 17, 6968, {1, 1, 5, 11, 13, 47, 63, 137, 145, 77, 1727, 2629, 7377, 6311, 537, 13703, 129503}}, +{6557, 17, 6981, {1, 1, 7, 9, 5, 49, 67, 51, 163, 989, 845, 7, 2141, 14467, 3197, 57581, 121087}}, +{6558, 17, 6988, {1, 1, 5, 3, 31, 49, 57, 103, 171, 491, 1109, 1255, 4353, 11927, 29525, 16685, 48469}}, +{6559, 17, 6996, {1, 1, 1, 3, 7, 29, 17, 111, 339, 747, 763, 179, 7747, 2483, 18415, 45301, 25155}}, +{6560, 17, 6999, {1, 1, 7, 7, 1, 41, 71, 109, 401, 815, 1311, 3933, 1349, 13327, 20847, 44391, 49721}}, +{6561, 17, 7015, {1, 1, 1, 15, 27, 57, 39, 129, 391, 701, 619, 3925, 701, 403, 11821, 30517, 22035}}, +{6562, 17, 7019, {1, 1, 5, 11, 21, 49, 109, 101, 497, 417, 73, 2727, 2899, 2777, 22161, 35561, 70211}}, +{6563, 17, 7022, {1, 1, 3, 3, 15, 43, 1, 159, 41, 833, 55, 2415, 5009, 9663, 31295, 29397, 3187}}, +{6564, 17, 7040, {1, 1, 3, 7, 27, 5, 113, 187, 453, 753, 1649, 1605, 2405, 11791, 4239, 20915, 54033}}, +{6565, 17, 7045, {1, 3, 1, 11, 1, 57, 49, 229, 283, 113, 345, 785, 8009, 11977, 30169, 63787, 32011}}, +{6566, 17, 7049, {1, 1, 7, 3, 5, 59, 57, 91, 327, 685, 219, 1949, 3095, 8389, 2035, 11903, 73461}}, +{6567, 17, 7055, {1, 1, 3, 3, 19, 59, 19, 37, 453, 1, 1811, 3263, 1807, 16147, 24861, 14003, 31747}}, +{6568, 17, 7073, {1, 1, 3, 11, 1, 53, 93, 203, 429, 629, 1931, 1487, 3301, 8805, 4901, 2459, 98555}}, +{6569, 17, 7076, {1, 1, 7, 5, 21, 5, 37, 135, 159, 749, 1589, 2631, 8145, 7279, 28397, 47113, 82309}}, +{6570, 17, 7085, {1, 1, 5, 15, 25, 61, 19, 51, 217, 495, 109, 1179, 2743, 12107, 12509, 13003, 94375}}, +{6571, 17, 7091, {1, 3, 3, 15, 11, 7, 67, 165, 57, 925, 427, 2549, 7189, 5917, 13113, 30933, 62703}}, +{6572, 17, 7103, {1, 1, 5, 5, 9, 5, 43, 5, 485, 159, 757, 3979, 4963, 3389, 29731, 48477, 113429}}, +{6573, 17, 7112, {1, 3, 5, 1, 5, 5, 81, 163, 493, 357, 2005, 1093, 5951, 1045, 10569, 40321, 56881}}, +{6574, 17, 7117, {1, 3, 1, 5, 7, 29, 11, 7, 7, 13, 1641, 1031, 4025, 16337, 24333, 9589, 37779}}, +{6575, 17, 7118, {1, 3, 5, 11, 15, 3, 69, 19, 141, 79, 749, 391, 4505, 6939, 3079, 3647, 22363}}, +{6576, 17, 7123, {1, 3, 3, 3, 29, 3, 7, 189, 183, 513, 1225, 239, 4203, 9197, 23507, 33089, 124433}}, +{6577, 17, 7126, {1, 3, 3, 13, 27, 37, 81, 221, 287, 891, 1197, 3501, 539, 2053, 20509, 48635, 50269}}, +{6578, 17, 7154, {1, 1, 5, 7, 13, 3, 35, 79, 3, 885, 343, 3527, 1043, 7197, 6973, 8515, 39315}}, +{6579, 17, 7180, {1, 3, 3, 9, 21, 53, 79, 225, 229, 759, 457, 293, 953, 12857, 20483, 3677, 93839}}, +{6580, 17, 7192, {1, 3, 5, 3, 5, 17, 45, 107, 153, 279, 761, 1923, 7013, 2989, 10137, 19107, 126897}}, +{6581, 17, 7195, {1, 3, 1, 3, 23, 53, 91, 1, 133, 729, 13, 2017, 6933, 7405, 1255, 49509, 105571}}, +{6582, 17, 7207, {1, 3, 5, 1, 9, 45, 35, 153, 209, 289, 1779, 2557, 315, 981, 15347, 30391, 16027}}, +{6583, 17, 7208, {1, 3, 3, 5, 17, 3, 51, 105, 263, 959, 1255, 1177, 8143, 10541, 7687, 38731, 93561}}, +{6584, 17, 7214, {1, 1, 1, 13, 19, 1, 15, 135, 447, 847, 663, 3893, 3539, 6833, 13265, 62923, 8375}}, +{6585, 17, 7222, {1, 3, 1, 15, 31, 11, 105, 1, 91, 523, 1583, 3493, 2665, 117, 10757, 29845, 127201}}, +{6586, 17, 7234, {1, 1, 1, 3, 29, 49, 9, 103, 309, 605, 1751, 1981, 833, 3653, 14001, 16545, 58513}}, +{6587, 17, 7254, {1, 1, 5, 9, 1, 19, 117, 71, 237, 765, 249, 1983, 2289, 6019, 26505, 31427, 64333}}, +{6588, 17, 7258, {1, 1, 3, 11, 15, 31, 5, 207, 347, 143, 11, 1987, 3569, 2051, 31051, 22193, 93289}}, +{6589, 17, 7264, {1, 1, 3, 5, 13, 15, 5, 73, 457, 611, 673, 2675, 8071, 13245, 19443, 14399, 99599}}, +{6590, 17, 7279, {1, 1, 1, 9, 11, 5, 103, 231, 31, 457, 1031, 2257, 3159, 8323, 31585, 26163, 45159}}, +{6591, 17, 7282, {1, 3, 1, 11, 29, 51, 29, 7, 89, 331, 783, 951, 6353, 15421, 12801, 8337, 119171}}, +{6592, 17, 7293, {1, 1, 3, 13, 23, 57, 63, 43, 505, 1, 657, 4005, 6327, 7545, 15455, 27097, 53649}}, +{6593, 17, 7297, {1, 1, 1, 5, 31, 7, 51, 107, 175, 461, 1893, 305, 157, 4819, 18549, 33087, 9499}}, +{6594, 17, 7322, {1, 3, 1, 3, 19, 45, 37, 9, 459, 143, 1327, 3611, 1899, 15109, 30151, 17911, 13233}}, +{6595, 17, 7324, {1, 1, 5, 15, 19, 49, 11, 227, 375, 661, 665, 259, 3659, 13723, 28239, 48159, 59209}}, +{6596, 17, 7351, {1, 3, 7, 7, 17, 49, 77, 161, 505, 713, 1521, 935, 3629, 5033, 26717, 47199, 3693}}, +{6597, 17, 7363, {1, 3, 5, 9, 17, 61, 1, 201, 259, 179, 1637, 2485, 4995, 2813, 19923, 43739, 32183}}, +{6598, 17, 7380, {1, 1, 3, 5, 1, 23, 125, 61, 225, 703, 2011, 1013, 6651, 14029, 27375, 23301, 80269}}, +{6599, 17, 7384, {1, 1, 3, 9, 11, 57, 37, 49, 321, 443, 1055, 1989, 4755, 8467, 22001, 18647, 112617}}, +{6600, 17, 7389, {1, 3, 1, 5, 5, 39, 21, 139, 101, 583, 1881, 2599, 4185, 15679, 22215, 19093, 76737}}, +{6601, 17, 7396, {1, 3, 1, 11, 31, 51, 85, 91, 159, 421, 2005, 1075, 7757, 12653, 25489, 3545, 62961}}, +{6602, 17, 7413, {1, 1, 1, 15, 27, 57, 75, 151, 357, 571, 395, 299, 5607, 12865, 2149, 21059, 120753}}, +{6603, 17, 7417, {1, 1, 1, 3, 15, 57, 63, 171, 265, 709, 1089, 677, 7243, 10207, 9789, 38431, 130415}}, +{6604, 17, 7431, {1, 3, 7, 5, 21, 9, 73, 149, 197, 773, 773, 3931, 4135, 5671, 2733, 57173, 90693}}, +{6605, 17, 7443, {1, 1, 5, 1, 23, 1, 47, 201, 33, 167, 1643, 4009, 2687, 5725, 28733, 27859, 55163}}, +{6606, 17, 7445, {1, 1, 5, 15, 25, 11, 57, 139, 471, 625, 1067, 3647, 6213, 15605, 23537, 5005, 32593}}, +{6607, 17, 7450, {1, 3, 1, 11, 17, 11, 25, 163, 199, 21, 1775, 3721, 2845, 15769, 2381, 27643, 19909}}, +{6608, 17, 7456, {1, 3, 5, 5, 21, 41, 23, 125, 401, 483, 535, 925, 7065, 1727, 3761, 8485, 3519}}, +{6609, 17, 7466, {1, 1, 3, 15, 27, 31, 11, 7, 93, 237, 611, 3635, 4747, 9751, 20607, 20473, 73935}}, +{6610, 17, 7468, {1, 1, 7, 3, 15, 19, 69, 169, 387, 291, 1981, 635, 3387, 15817, 20357, 47537, 107311}}, +{6611, 17, 7474, {1, 3, 7, 15, 13, 59, 31, 235, 399, 343, 1265, 2975, 6839, 13335, 5397, 58915, 31313}}, +{6612, 17, 7479, {1, 1, 7, 1, 3, 35, 81, 243, 387, 421, 1533, 799, 2615, 13219, 9041, 26967, 22677}}, +{6613, 17, 7486, {1, 1, 7, 15, 17, 41, 89, 115, 67, 569, 1647, 1831, 5533, 4629, 1413, 20037, 97343}}, +{6614, 17, 7497, {1, 1, 5, 1, 23, 41, 11, 149, 319, 377, 439, 1237, 4819, 14303, 14657, 61711, 129235}}, +{6615, 17, 7508, {1, 3, 3, 7, 9, 11, 79, 219, 249, 607, 1453, 2931, 3407, 13725, 28289, 42869, 96759}}, +{6616, 17, 7515, {1, 1, 5, 11, 7, 9, 101, 51, 11, 893, 697, 1221, 4237, 1873, 11191, 25517, 119861}}, +{6617, 17, 7533, {1, 1, 3, 11, 23, 23, 19, 245, 485, 317, 1945, 2339, 193, 9389, 30709, 33927, 95089}}, +{6618, 17, 7542, {1, 1, 3, 1, 27, 55, 5, 81, 63, 185, 223, 3639, 6093, 10053, 1793, 11885, 29307}}, +{6619, 17, 7546, {1, 1, 7, 13, 15, 41, 33, 133, 467, 457, 213, 3687, 1313, 2555, 19487, 44257, 108667}}, +{6620, 17, 7551, {1, 1, 3, 5, 31, 51, 53, 115, 449, 273, 1043, 2743, 1759, 2013, 28171, 57091, 76837}}, +{6621, 17, 7569, {1, 1, 5, 15, 21, 43, 11, 215, 151, 253, 913, 1889, 2799, 13787, 3869, 54413, 50991}}, +{6622, 17, 7572, {1, 1, 3, 13, 29, 19, 81, 123, 461, 203, 81, 555, 6601, 15689, 12637, 41467, 105343}}, +{6623, 17, 7595, {1, 1, 3, 13, 7, 21, 75, 111, 47, 481, 1519, 3299, 6199, 3501, 31323, 29215, 45607}}, +{6624, 17, 7603, {1, 3, 1, 3, 17, 51, 45, 223, 321, 233, 267, 3333, 3803, 3099, 4601, 29061, 88441}}, +{6625, 17, 7605, {1, 1, 5, 13, 23, 27, 7, 57, 273, 893, 773, 239, 6357, 15875, 5497, 21775, 108291}}, +{6626, 17, 7629, {1, 3, 1, 15, 25, 17, 11, 229, 175, 909, 691, 3507, 5247, 2933, 1741, 35059, 62841}}, +{6627, 17, 7632, {1, 3, 5, 1, 29, 7, 11, 69, 345, 87, 99, 3243, 5669, 11053, 1185, 6979, 117069}}, +{6628, 17, 7638, {1, 3, 5, 11, 13, 33, 23, 183, 89, 475, 643, 2773, 7899, 15219, 133, 5073, 129355}}, +{6629, 17, 7648, {1, 3, 7, 9, 23, 17, 31, 53, 455, 193, 1695, 2557, 1645, 12675, 27857, 50447, 121335}}, +{6630, 17, 7654, {1, 1, 3, 11, 15, 19, 41, 57, 305, 235, 1131, 1165, 1857, 13667, 19285, 29755, 118885}}, +{6631, 17, 7663, {1, 3, 7, 3, 9, 43, 107, 3, 275, 673, 677, 3769, 3097, 5497, 24911, 4617, 80505}}, +{6632, 17, 7675, {1, 1, 7, 9, 21, 39, 107, 155, 471, 753, 579, 2929, 4951, 4245, 25035, 41795, 86955}}, +{6633, 17, 7693, {1, 3, 1, 7, 31, 51, 27, 165, 147, 751, 709, 399, 45, 947, 9893, 32721, 122127}}, +{6634, 17, 7705, {1, 3, 3, 1, 31, 31, 73, 59, 351, 293, 845, 3139, 4177, 3537, 9465, 20689, 65837}}, +{6635, 17, 7717, {1, 3, 5, 9, 27, 29, 13, 115, 417, 435, 465, 1291, 5225, 11687, 29207, 39895, 55443}}, +{6636, 17, 7724, {1, 3, 3, 15, 29, 49, 111, 179, 221, 565, 787, 1811, 4055, 7863, 27273, 32975, 26985}}, +{6637, 17, 7727, {1, 1, 1, 7, 15, 49, 121, 145, 277, 27, 149, 965, 4903, 3497, 32333, 37217, 105073}}, +{6638, 17, 7735, {1, 1, 7, 1, 23, 29, 31, 77, 353, 349, 755, 2081, 4291, 567, 641, 41751, 20397}}, +{6639, 17, 7761, {1, 1, 5, 3, 25, 31, 97, 3, 405, 607, 965, 2981, 3217, 14695, 25977, 22457, 113539}}, +{6640, 17, 7767, {1, 3, 3, 15, 25, 3, 91, 125, 269, 825, 1163, 2181, 4247, 6813, 4699, 35091, 87771}}, +{6641, 17, 7783, {1, 1, 5, 9, 25, 23, 113, 145, 71, 31, 1115, 3729, 6793, 11869, 26509, 18779, 99499}}, +{6642, 17, 7784, {1, 1, 1, 9, 31, 51, 77, 217, 247, 599, 1541, 3217, 1383, 5203, 27971, 23647, 71823}}, +{6643, 17, 7798, {1, 1, 5, 7, 17, 35, 113, 73, 475, 511, 35, 1961, 5311, 2257, 1935, 58963, 94349}}, +{6644, 17, 7802, {1, 3, 1, 7, 27, 31, 67, 253, 95, 883, 1213, 855, 3429, 15049, 26715, 56099, 101797}}, +{6645, 17, 7811, {1, 1, 3, 5, 9, 9, 61, 57, 511, 537, 1803, 949, 1327, 3921, 11297, 13807, 64629}}, +{6646, 17, 7817, {1, 1, 5, 1, 31, 57, 105, 161, 309, 283, 1291, 2737, 7141, 7497, 25893, 14453, 35375}}, +{6647, 17, 7823, {1, 1, 3, 1, 21, 3, 77, 37, 13, 211, 1863, 1895, 8035, 5801, 25981, 12317, 48375}}, +{6648, 17, 7832, {1, 3, 7, 7, 25, 45, 13, 77, 185, 553, 1501, 1349, 5951, 15581, 32657, 18467, 128363}}, +{6649, 17, 7837, {1, 3, 5, 9, 23, 63, 105, 239, 213, 935, 1331, 3653, 2775, 6591, 6067, 34597, 19217}}, +{6650, 17, 7842, {1, 3, 7, 13, 15, 19, 79, 91, 391, 637, 1685, 2263, 3507, 2025, 2111, 15875, 14831}}, +{6651, 17, 7853, {1, 3, 3, 5, 7, 29, 81, 69, 511, 399, 343, 737, 2833, 1021, 10471, 18689, 36181}}, +{6652, 17, 7854, {1, 1, 5, 11, 21, 17, 39, 137, 145, 857, 583, 789, 8057, 15995, 32113, 64163, 37153}}, +{6653, 17, 7856, {1, 3, 3, 11, 9, 61, 87, 131, 487, 667, 1295, 493, 4629, 7719, 18157, 49715, 2051}}, +{6654, 17, 7861, {1, 3, 5, 9, 19, 5, 85, 3, 491, 353, 571, 2829, 4411, 343, 24781, 62325, 123959}}, +{6655, 17, 7862, {1, 1, 7, 13, 13, 39, 11, 31, 413, 285, 27, 2433, 3307, 6165, 26565, 40065, 102655}}, +{6656, 17, 7873, {1, 1, 5, 11, 25, 45, 7, 97, 9, 973, 1833, 2537, 1457, 7389, 24087, 38061, 122805}}, +{6657, 17, 7874, {1, 3, 5, 3, 21, 63, 77, 21, 249, 525, 1145, 1421, 8011, 3357, 15051, 30293, 127017}}, +{6658, 17, 7886, {1, 1, 5, 3, 13, 53, 81, 185, 303, 307, 1579, 841, 2277, 607, 10899, 34209, 215}}, +{6659, 17, 7914, {1, 3, 3, 13, 17, 1, 125, 145, 205, 763, 127, 1865, 4129, 849, 27247, 29845, 36515}}, +{6660, 17, 7927, {1, 3, 7, 13, 5, 59, 19, 71, 227, 111, 365, 1309, 5857, 6035, 32379, 11303, 127329}}, +{6661, 17, 7936, {1, 1, 1, 1, 19, 61, 79, 253, 459, 23, 725, 3615, 4583, 429, 13215, 31879, 4523}}, +{6662, 17, 7951, {1, 1, 1, 7, 19, 13, 53, 41, 243, 107, 1767, 983, 3483, 2249, 2209, 58895, 14805}}, +{6663, 17, 7963, {1, 1, 1, 9, 5, 63, 31, 85, 119, 307, 633, 3295, 841, 3495, 22965, 57587, 108271}}, +{6664, 17, 7966, {1, 3, 5, 9, 17, 13, 57, 49, 97, 613, 405, 2637, 3229, 14253, 4663, 61345, 33415}}, +{6665, 17, 7976, {1, 3, 1, 1, 17, 37, 63, 3, 5, 375, 1073, 3971, 665, 4445, 153, 20437, 38513}}, +{6666, 17, 7993, {1, 3, 3, 15, 5, 9, 77, 161, 409, 461, 443, 567, 5581, 8623, 27735, 9041, 5517}}, +{6667, 17, 8001, {1, 3, 5, 13, 13, 5, 19, 53, 263, 155, 557, 3973, 6841, 4829, 30751, 30025, 121973}}, +{6668, 17, 8004, {1, 3, 7, 9, 27, 37, 49, 243, 107, 1013, 1743, 1509, 4465, 15415, 4741, 41409, 72695}}, +{6669, 17, 8013, {1, 1, 3, 5, 11, 49, 39, 45, 21, 463, 875, 3681, 1901, 15325, 24553, 51369, 82227}}, +{6670, 17, 8021, {1, 1, 3, 15, 11, 35, 21, 91, 383, 149, 1815, 911, 4633, 12027, 12413, 22307, 120049}}, +{6671, 17, 8026, {1, 3, 5, 7, 7, 3, 15, 83, 477, 687, 145, 1705, 6893, 5233, 20171, 43337, 72603}}, +{6672, 17, 8028, {1, 1, 3, 9, 25, 35, 19, 173, 67, 5, 561, 2139, 4557, 4911, 26273, 38409, 22801}}, +{6673, 17, 8031, {1, 1, 3, 13, 15, 39, 85, 91, 91, 187, 1851, 1181, 4049, 16353, 26525, 43703, 19415}}, +{6674, 17, 8035, {1, 3, 1, 9, 13, 41, 77, 179, 415, 705, 693, 3017, 5847, 16191, 11435, 28979, 51839}}, +{6675, 17, 8042, {1, 1, 3, 5, 23, 15, 3, 159, 269, 67, 625, 4043, 4701, 1599, 6467, 10949, 80073}}, +{6676, 17, 8071, {1, 3, 3, 15, 7, 43, 81, 157, 393, 321, 1875, 2801, 4359, 11703, 1063, 64015, 109997}}, +{6677, 17, 8085, {1, 1, 7, 3, 25, 21, 37, 123, 133, 691, 973, 3115, 2291, 10519, 13339, 22751, 85445}}, +{6678, 17, 8092, {1, 3, 1, 1, 21, 21, 9, 23, 431, 679, 1873, 289, 4503, 3939, 14417, 36081, 18709}}, +{6679, 17, 8102, {1, 3, 5, 5, 1, 53, 109, 133, 33, 279, 727, 2233, 3065, 8557, 7487, 25797, 109177}}, +{6680, 17, 8105, {1, 1, 7, 7, 1, 9, 47, 127, 179, 757, 1985, 547, 169, 13393, 22669, 58795, 92897}}, +{6681, 17, 8114, {1, 3, 5, 11, 17, 21, 95, 219, 263, 579, 1493, 3283, 5461, 1235, 1749, 33325, 36033}}, +{6682, 17, 8123, {1, 1, 3, 11, 21, 49, 45, 143, 511, 983, 1933, 965, 7905, 1925, 27857, 40723, 68251}}, +{6683, 17, 8131, {1, 3, 7, 3, 27, 9, 73, 7, 441, 877, 107, 1599, 4795, 7251, 6819, 7671, 21137}}, +{6684, 17, 8140, {1, 1, 3, 3, 21, 25, 49, 43, 247, 949, 627, 2859, 2507, 4787, 11269, 53221, 126387}}, +{6685, 17, 8145, {1, 1, 5, 3, 5, 53, 127, 65, 353, 521, 1701, 2981, 3201, 611, 13475, 58015, 2605}}, +{6686, 17, 8157, {1, 1, 5, 13, 9, 39, 55, 103, 53, 281, 705, 2433, 6179, 3381, 31973, 30267, 91307}}, +{6687, 17, 8158, {1, 1, 7, 13, 31, 23, 29, 161, 347, 449, 123, 3427, 5731, 12691, 15175, 20487, 74695}}, +{6688, 17, 8185, {1, 3, 3, 15, 13, 19, 83, 137, 437, 317, 921, 913, 7979, 6665, 5313, 1435, 60271}}, +{6689, 17, 8186, {1, 3, 5, 7, 19, 23, 31, 131, 421, 95, 1999, 897, 4839, 1815, 12387, 45009, 2609}}, +{6690, 17, 8188, {1, 1, 1, 7, 3, 53, 121, 33, 47, 283, 813, 3841, 4449, 2543, 15211, 59285, 42551}}, +{6691, 17, 8192, {1, 3, 1, 13, 9, 43, 37, 167, 93, 417, 213, 2721, 3395, 2089, 13743, 32925, 91147}}, +{6692, 17, 8212, {1, 3, 7, 5, 31, 25, 97, 25, 19, 11, 543, 1889, 455, 5765, 9517, 56963, 131069}}, +{6693, 17, 8219, {1, 3, 1, 7, 3, 7, 87, 61, 209, 39, 1303, 1637, 6687, 8001, 5003, 47911, 110657}}, +{6694, 17, 8221, {1, 1, 5, 3, 11, 25, 99, 77, 379, 843, 1423, 2933, 7535, 4181, 32223, 49327, 48041}}, +{6695, 17, 8235, {1, 3, 3, 13, 9, 7, 85, 59, 47, 777, 401, 2449, 2795, 11289, 25023, 7725, 73887}}, +{6696, 17, 8237, {1, 1, 3, 5, 11, 51, 93, 57, 369, 871, 1175, 2705, 1253, 5169, 24691, 14243, 119667}}, +{6697, 17, 8249, {1, 3, 1, 3, 5, 7, 33, 171, 359, 115, 1909, 2003, 1413, 13829, 3471, 36185, 118399}}, +{6698, 17, 8260, {1, 1, 1, 11, 5, 49, 97, 145, 415, 731, 671, 2309, 7211, 11359, 22757, 15415, 70951}}, +{6699, 17, 8264, {1, 1, 3, 5, 7, 51, 61, 101, 375, 575, 1321, 2835, 7569, 9599, 4707, 7655, 53417}}, +{6700, 17, 8270, {1, 3, 1, 15, 9, 63, 25, 117, 203, 5, 1345, 2571, 5273, 2059, 4689, 27237, 23199}}, +{6701, 17, 8282, {1, 1, 3, 15, 15, 23, 69, 49, 349, 995, 5, 1565, 903, 10165, 9565, 6343, 16653}}, +{6702, 17, 8291, {1, 1, 3, 9, 21, 15, 69, 9, 463, 69, 1447, 2347, 5125, 7479, 18257, 14405, 51321}}, +{6703, 17, 8293, {1, 1, 7, 11, 23, 57, 57, 179, 17, 129, 999, 777, 6281, 1693, 31885, 31085, 29237}}, +{6704, 17, 8297, {1, 3, 5, 1, 25, 55, 15, 21, 199, 271, 1645, 1719, 2023, 10049, 15215, 11959, 44875}}, +{6705, 17, 8298, {1, 3, 1, 3, 29, 43, 83, 11, 281, 27, 429, 685, 7189, 9151, 8665, 9553, 115293}}, +{6706, 17, 8305, {1, 3, 1, 7, 17, 43, 125, 11, 189, 803, 713, 683, 7285, 4455, 18195, 45333, 32281}}, +{6707, 17, 8306, {1, 3, 3, 3, 11, 55, 21, 59, 173, 283, 709, 1561, 5391, 5097, 24725, 19217, 13769}}, +{6708, 17, 8311, {1, 3, 5, 13, 7, 29, 117, 207, 415, 525, 567, 1741, 3553, 6729, 433, 17619, 45971}}, +{6709, 17, 8318, {1, 1, 7, 7, 3, 23, 43, 43, 213, 823, 609, 1037, 3797, 4733, 30717, 61067, 89581}}, +{6710, 17, 8327, {1, 3, 5, 7, 11, 7, 7, 241, 379, 217, 739, 2815, 2549, 14297, 10283, 1509, 80613}}, +{6711, 17, 8345, {1, 1, 1, 1, 17, 45, 53, 229, 193, 893, 1881, 227, 6751, 7135, 20823, 36939, 27667}}, +{6712, 17, 8379, {1, 3, 3, 1, 15, 39, 27, 217, 101, 949, 1963, 2213, 2357, 4129, 11925, 841, 59259}}, +{6713, 17, 8390, {1, 1, 3, 3, 5, 53, 59, 255, 421, 1009, 683, 2171, 6691, 12489, 20865, 29363, 70611}}, +{6714, 17, 8394, {1, 1, 7, 15, 7, 31, 105, 141, 153, 401, 549, 3045, 5443, 11147, 18159, 24283, 21859}}, +{6715, 17, 8414, {1, 3, 7, 1, 11, 17, 17, 231, 175, 603, 1915, 111, 3203, 10627, 9687, 47235, 87057}}, +{6716, 17, 8417, {1, 1, 1, 11, 19, 21, 115, 41, 45, 727, 1523, 739, 3025, 10321, 27353, 63139, 16051}}, +{6717, 17, 8432, {1, 3, 7, 11, 13, 9, 33, 121, 237, 565, 2043, 2131, 3079, 12575, 2187, 14427, 85939}}, +{6718, 17, 8437, {1, 3, 1, 15, 21, 19, 91, 227, 485, 49, 101, 15, 1903, 4039, 23819, 40001, 66405}}, +{6719, 17, 8441, {1, 3, 1, 5, 15, 25, 65, 25, 393, 287, 1435, 1851, 6437, 5983, 13769, 37847, 120907}}, +{6720, 17, 8449, {1, 3, 7, 15, 15, 21, 97, 37, 359, 155, 807, 1421, 517, 13135, 2955, 56979, 52299}}, +{6721, 17, 8456, {1, 1, 5, 1, 27, 53, 79, 27, 467, 605, 267, 1193, 31, 6177, 12369, 32621, 38319}}, +{6722, 17, 8473, {1, 1, 1, 11, 27, 15, 15, 231, 205, 677, 331, 133, 3313, 7193, 8059, 36449, 21671}}, +{6723, 17, 8489, {1, 3, 3, 11, 19, 57, 113, 83, 399, 801, 1843, 2119, 2779, 14061, 30901, 28745, 120903}}, +{6724, 17, 8495, {1, 1, 1, 11, 5, 27, 121, 247, 467, 251, 1487, 251, 897, 3171, 28383, 22473, 1709}}, +{6725, 17, 8522, {1, 1, 1, 15, 7, 59, 123, 165, 123, 373, 167, 1323, 5239, 9027, 13791, 55593, 78785}}, +{6726, 17, 8524, {1, 3, 1, 11, 31, 11, 81, 229, 123, 183, 461, 1751, 5713, 2615, 27795, 1657, 39253}}, +{6727, 17, 8529, {1, 1, 7, 1, 21, 45, 107, 3, 283, 149, 549, 3731, 6435, 3595, 32753, 16079, 84257}}, +{6728, 17, 8545, {1, 3, 3, 15, 19, 9, 81, 37, 51, 341, 909, 985, 1503, 12787, 16129, 37789, 113515}}, +{6729, 17, 8557, {1, 3, 5, 13, 3, 33, 127, 219, 369, 341, 1191, 1305, 567, 2339, 31221, 49435, 114927}}, +{6730, 17, 8565, {1, 1, 7, 15, 29, 47, 103, 107, 257, 15, 2029, 2133, 2129, 11235, 29553, 49139, 33809}}, +{6731, 17, 8572, {1, 3, 3, 13, 23, 33, 105, 43, 155, 815, 1087, 2261, 2781, 3461, 7371, 4479, 123093}}, +{6732, 17, 8576, {1, 1, 1, 13, 17, 7, 89, 107, 143, 349, 637, 3651, 4153, 12131, 28393, 45781, 84133}}, +{6733, 17, 8582, {1, 3, 5, 11, 31, 47, 105, 101, 267, 403, 1853, 3977, 3277, 1737, 15503, 47365, 14361}}, +{6734, 17, 8594, {1, 1, 1, 13, 1, 63, 125, 107, 123, 183, 1027, 3491, 3597, 15949, 5779, 34665, 81257}}, +{6735, 17, 8629, {1, 3, 1, 9, 13, 5, 125, 41, 389, 73, 1487, 1983, 957, 12645, 13983, 7675, 72711}}, +{6736, 17, 8636, {1, 3, 7, 5, 17, 5, 25, 63, 211, 591, 261, 2345, 3883, 4403, 773, 43963, 93509}}, +{6737, 17, 8668, {1, 3, 3, 1, 11, 35, 15, 251, 225, 643, 537, 3769, 7593, 6113, 1377, 52185, 81459}}, +{6738, 17, 8678, {1, 3, 5, 15, 27, 27, 51, 35, 389, 853, 1437, 2803, 5739, 1887, 15099, 3299, 111827}}, +{6739, 17, 8701, {1, 1, 3, 15, 25, 63, 31, 201, 79, 131, 31, 3929, 4195, 13045, 8681, 48121, 110723}}, +{6740, 17, 8702, {1, 1, 5, 7, 11, 43, 101, 57, 69, 271, 189, 3087, 4893, 11365, 6945, 14285, 41961}}, +{6741, 17, 8708, {1, 1, 7, 9, 21, 61, 41, 123, 25, 947, 1619, 2895, 7879, 12397, 17405, 48139, 71519}}, +{6742, 17, 8712, {1, 3, 1, 15, 1, 27, 113, 225, 441, 855, 541, 357, 3111, 4867, 20571, 30627, 70123}}, +{6743, 17, 8745, {1, 3, 5, 3, 5, 33, 103, 1, 21, 93, 383, 407, 5145, 7857, 20289, 51943, 16223}}, +{6744, 17, 8754, {1, 1, 7, 15, 1, 13, 41, 215, 463, 417, 513, 3417, 1755, 16165, 7271, 3101, 54353}}, +{6745, 17, 8759, {1, 3, 3, 13, 19, 29, 5, 205, 245, 927, 1249, 773, 3653, 9959, 357, 40863, 37289}}, +{6746, 17, 8763, {1, 3, 3, 7, 3, 5, 85, 241, 29, 627, 1963, 3133, 1369, 503, 11449, 4699, 2573}}, +{6747, 17, 8766, {1, 1, 7, 15, 3, 35, 47, 157, 413, 437, 1627, 3953, 947, 12721, 22209, 34303, 81237}}, +{6748, 17, 8780, {1, 1, 5, 5, 1, 45, 47, 245, 253, 349, 1853, 3481, 6105, 7267, 3159, 38833, 117889}}, +{6749, 17, 8783, {1, 3, 7, 15, 23, 43, 25, 181, 121, 681, 479, 1239, 6155, 3317, 9419, 28717, 44643}}, +{6750, 17, 8786, {1, 3, 3, 15, 31, 43, 111, 99, 405, 991, 301, 1689, 7107, 16131, 16703, 24059, 40345}}, +{6751, 17, 8798, {1, 1, 3, 9, 25, 5, 107, 91, 117, 351, 1595, 163, 3007, 13743, 24535, 38671, 29745}}, +{6752, 17, 8804, {1, 3, 3, 5, 27, 47, 15, 195, 119, 919, 665, 1903, 1981, 7753, 21709, 33699, 15963}}, +{6753, 17, 8819, {1, 3, 1, 11, 23, 23, 75, 115, 477, 105, 541, 1111, 209, 13939, 17129, 7565, 75415}}, +{6754, 17, 8826, {1, 1, 1, 11, 7, 61, 123, 201, 305, 713, 779, 2059, 4899, 13733, 20529, 15617, 39833}}, +{6755, 17, 8835, {1, 1, 7, 11, 21, 7, 63, 113, 213, 871, 375, 29, 1925, 15237, 7091, 12229, 8457}}, +{6756, 17, 8838, {1, 1, 1, 7, 19, 57, 83, 91, 297, 255, 1993, 63, 5337, 4569, 21243, 40867, 46969}}, +{6757, 17, 8856, {1, 1, 3, 7, 13, 63, 91, 191, 281, 259, 1367, 3505, 5885, 10557, 12423, 56303, 14731}}, +{6758, 17, 8862, {1, 1, 5, 15, 27, 15, 29, 67, 115, 287, 253, 1497, 3739, 2183, 14427, 44931, 11547}}, +{6759, 17, 8871, {1, 3, 1, 9, 25, 61, 25, 113, 137, 819, 781, 3741, 2457, 7817, 31209, 20707, 93007}}, +{6760, 17, 8875, {1, 1, 7, 3, 5, 13, 23, 3, 365, 77, 1117, 3061, 4707, 3013, 27899, 10887, 78677}}, +{6761, 17, 8890, {1, 3, 1, 15, 1, 39, 85, 107, 483, 83, 603, 3121, 1995, 5241, 32319, 9515, 94551}}, +{6762, 17, 8892, {1, 1, 7, 3, 27, 13, 105, 41, 285, 237, 1589, 517, 2009, 10833, 1459, 26217, 50759}}, +{6763, 17, 8898, {1, 1, 3, 11, 27, 1, 127, 83, 355, 107, 1003, 657, 4997, 4123, 13151, 56601, 122307}}, +{6764, 17, 8927, {1, 1, 1, 7, 13, 17, 93, 75, 481, 473, 131, 1359, 4859, 1319, 23919, 50079, 128849}}, +{6765, 17, 8928, {1, 1, 3, 7, 9, 33, 111, 229, 11, 283, 1089, 3049, 1635, 959, 19109, 62821, 105391}}, +{6766, 17, 8945, {1, 3, 1, 3, 9, 47, 49, 169, 343, 929, 1379, 1985, 5867, 6053, 12179, 39727, 116053}}, +{6767, 17, 8952, {1, 3, 3, 15, 27, 39, 61, 113, 439, 719, 1313, 3701, 4793, 10275, 2943, 32405, 95457}}, +{6768, 17, 8955, {1, 1, 1, 1, 27, 49, 121, 171, 319, 365, 1593, 1655, 63, 6257, 18097, 35285, 112245}}, +{6769, 17, 8965, {1, 3, 1, 1, 19, 33, 89, 235, 281, 519, 1867, 525, 4475, 12059, 26611, 14789, 59541}}, +{6770, 17, 8972, {1, 3, 1, 15, 1, 51, 65, 71, 131, 599, 117, 2459, 7421, 7157, 24393, 48139, 53701}}, +{6771, 17, 8977, {1, 1, 7, 7, 1, 41, 57, 191, 207, 329, 43, 1235, 5671, 12243, 22549, 40751, 104513}}, +{6772, 17, 8990, {1, 3, 5, 13, 15, 21, 55, 187, 283, 209, 1511, 1329, 6665, 15953, 4521, 16879, 57625}}, +{6773, 17, 8996, {1, 1, 5, 3, 3, 53, 75, 123, 291, 663, 1893, 3669, 4903, 8575, 27971, 46977, 56357}}, +{6774, 17, 9025, {1, 3, 1, 5, 27, 41, 19, 199, 489, 197, 439, 3299, 6315, 6957, 15809, 35297, 5559}}, +{6775, 17, 9037, {1, 3, 5, 1, 3, 25, 109, 191, 33, 543, 125, 2309, 429, 14059, 3149, 45747, 47357}}, +{6776, 17, 9040, {1, 1, 3, 11, 15, 61, 109, 103, 305, 1, 1479, 2781, 6521, 8921, 23681, 9583, 87257}}, +{6777, 17, 9049, {1, 1, 7, 15, 5, 19, 121, 139, 177, 967, 1363, 705, 211, 11877, 22457, 34563, 7801}}, +{6778, 17, 9062, {1, 1, 7, 13, 9, 21, 103, 95, 483, 567, 5, 2095, 4659, 2447, 23521, 27273, 85867}}, +{6779, 17, 9068, {1, 3, 5, 15, 23, 55, 13, 237, 275, 113, 1431, 2931, 5165, 5317, 5625, 51865, 42177}}, +{6780, 17, 9076, {1, 3, 3, 7, 1, 23, 15, 171, 303, 43, 1137, 1255, 3843, 9049, 1799, 7075, 2115}}, +{6781, 17, 9079, {1, 1, 7, 5, 23, 53, 75, 129, 1, 511, 793, 265, 6535, 9641, 25173, 9449, 46949}}, +{6782, 17, 9099, {1, 3, 3, 1, 19, 39, 51, 173, 5, 281, 2047, 4065, 3225, 14587, 16947, 1459, 87227}}, +{6783, 17, 9107, {1, 3, 7, 13, 13, 53, 39, 115, 403, 37, 1533, 2727, 2229, 8291, 18687, 59553, 37629}}, +{6784, 17, 9114, {1, 3, 1, 9, 3, 55, 63, 191, 147, 321, 1287, 2419, 6881, 2249, 11141, 54839, 50263}}, +{6785, 17, 9123, {1, 1, 5, 3, 9, 61, 85, 139, 1, 409, 633, 53, 163, 14677, 13043, 12253, 106939}}, +{6786, 17, 9126, {1, 1, 7, 3, 19, 3, 7, 165, 497, 621, 1563, 1267, 8113, 2383, 17205, 13337, 102547}}, +{6787, 17, 9137, {1, 3, 3, 13, 15, 29, 23, 31, 481, 535, 471, 2125, 331, 9421, 29799, 27097, 5307}}, +{6788, 17, 9149, {1, 1, 1, 1, 31, 45, 47, 139, 235, 509, 889, 685, 1855, 13599, 24431, 62105, 109509}}, +{6789, 17, 9150, {1, 3, 1, 7, 3, 13, 25, 197, 111, 45, 1815, 1031, 4803, 349, 32369, 40837, 111529}}, +{6790, 17, 9155, {1, 1, 7, 1, 27, 9, 3, 73, 403, 321, 967, 2713, 6953, 16123, 8611, 48651, 120635}}, +{6791, 17, 9161, {1, 3, 5, 3, 3, 25, 69, 231, 249, 393, 1141, 1721, 7071, 3711, 15627, 21815, 104735}}, +{6792, 17, 9162, {1, 3, 1, 11, 19, 63, 77, 5, 55, 481, 1021, 119, 3941, 1227, 10997, 29513, 18923}}, +{6793, 17, 9167, {1, 3, 7, 5, 1, 11, 13, 99, 365, 797, 1993, 699, 3091, 11401, 3659, 15339, 90395}}, +{6794, 17, 9172, {1, 3, 5, 7, 31, 43, 55, 143, 273, 379, 1189, 1689, 4811, 5159, 3281, 63819, 57065}}, +{6795, 17, 9186, {1, 1, 1, 13, 9, 25, 9, 3, 461, 281, 959, 2439, 3187, 4837, 13857, 20221, 29733}}, +{6796, 17, 9188, {1, 1, 7, 11, 31, 17, 13, 101, 81, 921, 1329, 2421, 2747, 9435, 23313, 7093, 7547}}, +{6797, 17, 9191, {1, 1, 3, 3, 9, 51, 67, 95, 511, 1011, 1519, 4089, 5001, 1351, 15367, 50665, 92111}}, +{6798, 17, 9198, {1, 1, 5, 13, 27, 43, 115, 77, 439, 589, 31, 915, 7027, 697, 25143, 1443, 59093}}, +{6799, 17, 9200, {1, 1, 7, 3, 17, 5, 107, 117, 133, 649, 1309, 2979, 969, 9789, 12597, 24507, 106825}}, +{6800, 17, 9205, {1, 1, 7, 13, 1, 27, 97, 35, 431, 183, 199, 2619, 515, 89, 20281, 30291, 97977}}, +{6801, 17, 9206, {1, 1, 7, 1, 31, 9, 35, 11, 359, 21, 1875, 3227, 1307, 15691, 17343, 21163, 84671}}, +{6802, 17, 9215, {1, 3, 1, 11, 29, 21, 47, 137, 441, 841, 1641, 3283, 1371, 8835, 16287, 45009, 13779}}, +{6803, 17, 9227, {1, 1, 3, 9, 23, 53, 1, 99, 473, 649, 447, 2589, 5667, 15579, 6497, 44321, 46993}}, +{6804, 17, 9232, {1, 1, 7, 9, 31, 63, 95, 81, 197, 373, 1027, 3959, 7189, 13369, 17287, 53643, 12673}}, +{6805, 17, 9241, {1, 3, 1, 5, 25, 61, 79, 183, 489, 725, 1077, 1147, 113, 7357, 27505, 529, 61855}}, +{6806, 17, 9244, {1, 1, 7, 11, 19, 35, 73, 223, 125, 765, 1303, 2887, 7861, 14839, 9537, 27027, 94327}}, +{6807, 17, 9251, {1, 3, 1, 3, 17, 35, 63, 233, 317, 133, 1837, 3339, 4351, 10071, 5005, 13245, 34327}}, +{6808, 17, 9254, {1, 3, 1, 3, 17, 13, 59, 113, 247, 1015, 1831, 3391, 6337, 6853, 7145, 64309, 40109}}, +{6809, 17, 9275, {1, 3, 5, 13, 15, 23, 65, 203, 241, 545, 1521, 1253, 3171, 7777, 21145, 565, 87813}}, +{6810, 17, 9283, {1, 1, 5, 15, 31, 9, 9, 145, 409, 155, 409, 2935, 5817, 11427, 32617, 38167, 69465}}, +{6811, 17, 9285, {1, 1, 5, 11, 19, 31, 43, 85, 97, 931, 687, 1501, 3991, 2215, 11091, 64735, 56999}}, +{6812, 17, 9303, {1, 1, 1, 3, 7, 11, 101, 21, 345, 829, 531, 1475, 6617, 1187, 26885, 32135, 9733}}, +{6813, 17, 9304, {1, 3, 5, 11, 7, 49, 79, 197, 57, 15, 1845, 1485, 6167, 10887, 17083, 59367, 7411}}, +{6814, 17, 9313, {1, 3, 7, 5, 9, 33, 7, 91, 311, 847, 1435, 3573, 3693, 5369, 26817, 30105, 115337}}, +{6815, 17, 9314, {1, 3, 1, 9, 25, 43, 65, 69, 225, 337, 575, 1979, 5555, 8499, 8127, 33035, 52549}}, +{6816, 17, 9320, {1, 1, 3, 11, 17, 29, 71, 99, 379, 145, 1067, 2561, 7635, 5647, 32491, 56621, 93603}}, +{6817, 17, 9328, {1, 1, 5, 13, 25, 43, 75, 237, 407, 393, 1219, 3651, 7719, 11685, 26123, 62767, 1043}}, +{6818, 17, 9333, {1, 1, 7, 15, 13, 59, 9, 163, 273, 225, 873, 3201, 633, 6121, 18777, 58763, 77731}}, +{6819, 17, 9337, {1, 3, 7, 7, 3, 7, 99, 155, 279, 991, 799, 753, 7205, 9567, 23643, 38263, 19083}}, +{6820, 17, 9338, {1, 3, 7, 11, 11, 29, 65, 3, 207, 575, 253, 2407, 7935, 11323, 23239, 1923, 47737}}, +{6821, 17, 9340, {1, 1, 5, 9, 25, 47, 1, 25, 397, 1009, 193, 4031, 3023, 2029, 10561, 32363, 104405}}, +{6822, 17, 9353, {1, 3, 7, 9, 19, 55, 63, 179, 385, 97, 461, 3393, 8137, 8929, 17621, 9611, 58925}}, +{6823, 17, 9356, {1, 1, 1, 7, 1, 17, 127, 45, 157, 529, 809, 3545, 5173, 5083, 13325, 52295, 91261}}, +{6824, 17, 9364, {1, 1, 7, 9, 25, 49, 99, 79, 157, 535, 1569, 2195, 1725, 1187, 18423, 47957, 10043}}, +{6825, 17, 9373, {1, 1, 3, 7, 3, 31, 83, 45, 199, 665, 1261, 3497, 7885, 5761, 17187, 12041, 12867}}, +{6826, 17, 9374, {1, 3, 1, 7, 3, 55, 73, 215, 41, 1011, 1883, 1051, 7293, 1881, 27435, 29459, 130933}}, +{6827, 17, 9378, {1, 1, 3, 9, 21, 31, 113, 209, 35, 771, 365, 3151, 787, 3845, 26555, 13823, 36951}}, +{6828, 17, 9380, {1, 3, 7, 15, 13, 21, 119, 91, 15, 251, 1337, 2715, 1665, 3451, 8309, 11033, 127159}}, +{6829, 17, 9389, {1, 3, 1, 9, 9, 63, 5, 145, 357, 9, 859, 1565, 1141, 14689, 25121, 41337, 83357}}, +{6830, 17, 9395, {1, 1, 7, 11, 13, 63, 57, 151, 33, 595, 2025, 571, 4713, 11019, 26771, 16221, 92439}}, +{6831, 17, 9412, {1, 3, 3, 15, 29, 49, 93, 131, 167, 835, 33, 263, 93, 8475, 16139, 61237, 95081}}, +{6832, 17, 9422, {1, 1, 7, 13, 1, 57, 43, 91, 485, 841, 1415, 3083, 2665, 8521, 9825, 59955, 21763}}, +{6833, 17, 9439, {1, 1, 1, 1, 29, 47, 63, 107, 439, 847, 537, 2011, 7571, 3699, 23961, 54887, 92681}}, +{6834, 17, 9450, {1, 3, 7, 5, 27, 41, 105, 161, 95, 821, 451, 2627, 4687, 1899, 18851, 35167, 6869}}, +{6835, 17, 9452, {1, 1, 1, 11, 7, 7, 13, 163, 399, 471, 1587, 2561, 1241, 5365, 27189, 49883, 68101}}, +{6836, 17, 9482, {1, 3, 7, 9, 19, 5, 119, 251, 151, 359, 235, 2387, 3919, 7135, 17591, 1053, 6265}}, +{6837, 17, 9487, {1, 1, 5, 9, 13, 25, 43, 23, 453, 693, 517, 1235, 1045, 4299, 27877, 3733, 72269}}, +{6838, 17, 9489, {1, 1, 7, 1, 27, 43, 103, 249, 487, 67, 855, 3239, 2157, 8121, 4701, 37803, 49971}}, +{6839, 17, 9499, {1, 1, 3, 13, 1, 37, 125, 115, 365, 57, 1419, 4085, 7039, 10079, 14991, 48861, 61979}}, +{6840, 17, 9501, {1, 1, 5, 5, 3, 35, 109, 19, 219, 653, 1219, 1625, 6847, 11271, 4525, 56341, 57801}}, +{6841, 17, 9508, {1, 3, 7, 5, 31, 19, 37, 73, 185, 13, 1723, 1139, 5919, 11717, 27161, 13635, 51765}}, +{6842, 17, 9515, {1, 1, 1, 1, 19, 61, 53, 111, 215, 189, 1199, 591, 943, 2111, 17171, 15621, 128459}}, +{6843, 17, 9518, {1, 1, 7, 9, 17, 61, 101, 159, 85, 537, 15, 1427, 6139, 4091, 32639, 28655, 115385}}, +{6844, 17, 9520, {1, 1, 7, 5, 23, 31, 125, 7, 151, 967, 1079, 4059, 3287, 11673, 19307, 49469, 65981}}, +{6845, 17, 9526, {1, 3, 3, 1, 29, 59, 95, 119, 31, 427, 1653, 721, 5509, 6385, 17043, 45133, 74155}}, +{6846, 17, 9537, {1, 1, 3, 9, 13, 61, 35, 189, 1, 559, 119, 3719, 4137, 1369, 19147, 10923, 43909}}, +{6847, 17, 9552, {1, 3, 3, 13, 1, 41, 31, 185, 451, 379, 29, 153, 4121, 13153, 4171, 36993, 109241}}, +{6848, 17, 9571, {1, 1, 1, 9, 15, 41, 99, 17, 21, 93, 649, 2765, 6955, 10843, 12547, 64989, 63713}}, +{6849, 17, 9588, {1, 1, 7, 5, 5, 5, 73, 187, 473, 235, 1907, 409, 7335, 4429, 7493, 20703, 14505}}, +{6850, 17, 9613, {1, 1, 3, 11, 27, 59, 17, 103, 337, 117, 1241, 951, 3701, 10407, 16741, 46531, 56485}}, +{6851, 17, 9619, {1, 1, 3, 15, 11, 51, 111, 189, 137, 939, 97, 1563, 851, 13949, 1375, 41463, 61445}}, +{6852, 17, 9622, {1, 1, 7, 9, 19, 39, 117, 173, 165, 547, 483, 361, 6819, 15093, 13631, 29785, 29593}}, +{6853, 17, 9637, {1, 3, 3, 5, 15, 39, 41, 249, 455, 79, 233, 3133, 405, 9487, 23161, 32751, 117743}}, +{6854, 17, 9652, {1, 1, 5, 15, 7, 63, 7, 57, 127, 349, 1913, 1145, 3371, 3733, 30971, 35717, 60935}}, +{6855, 17, 9655, {1, 1, 7, 11, 7, 57, 49, 63, 51, 233, 855, 2125, 6961, 15011, 28503, 40549, 47175}}, +{6856, 17, 9661, {1, 3, 7, 1, 25, 49, 35, 39, 237, 545, 1637, 1401, 3279, 10499, 14463, 34973, 29485}}, +{6857, 17, 9664, {1, 3, 3, 13, 7, 13, 79, 141, 55, 277, 843, 3087, 2339, 6855, 10635, 13021, 11273}}, +{6858, 17, 9669, {1, 3, 1, 1, 11, 39, 51, 255, 119, 691, 559, 3287, 5485, 791, 19283, 51027, 8061}}, +{6859, 17, 9681, {1, 3, 7, 7, 3, 59, 119, 241, 185, 81, 1843, 2313, 7471, 15689, 2271, 59781, 107439}}, +{6860, 17, 9682, {1, 3, 3, 3, 17, 63, 93, 217, 329, 39, 583, 3031, 4315, 4623, 12557, 42063, 11877}}, +{6861, 17, 9688, {1, 1, 1, 1, 15, 57, 37, 233, 387, 639, 37, 425, 637, 1577, 16449, 33665, 80417}}, +{6862, 17, 9697, {1, 1, 1, 15, 25, 1, 67, 159, 423, 961, 959, 417, 5657, 8417, 8127, 29251, 105893}}, +{6863, 17, 9700, {1, 3, 5, 15, 31, 9, 87, 217, 259, 771, 1663, 2899, 1531, 7849, 1961, 61487, 55399}}, +{6864, 17, 9715, {1, 1, 3, 9, 21, 13, 39, 107, 89, 811, 449, 2569, 4617, 8977, 1649, 37721, 48943}}, +{6865, 17, 9722, {1, 3, 7, 15, 15, 59, 63, 195, 287, 677, 269, 1715, 3545, 3269, 5231, 46433, 25921}}, +{6866, 17, 9727, {1, 1, 5, 7, 19, 27, 57, 221, 243, 47, 1791, 2309, 2751, 4403, 7083, 34223, 64905}}, +{6867, 17, 9734, {1, 1, 1, 15, 1, 63, 119, 155, 383, 649, 429, 3857, 7309, 9823, 9539, 8933, 128573}}, +{6868, 17, 9740, {1, 3, 7, 11, 17, 19, 99, 19, 321, 415, 1501, 2123, 6119, 9705, 11397, 39521, 34327}}, +{6869, 17, 9743, {1, 1, 5, 15, 29, 37, 9, 95, 417, 19, 1637, 2949, 4961, 10743, 9619, 16045, 48083}}, +{6870, 17, 9745, {1, 1, 1, 11, 21, 17, 57, 23, 247, 201, 1781, 779, 2207, 2511, 4829, 13847, 77593}}, +{6871, 17, 9757, {1, 3, 1, 13, 7, 1, 95, 87, 223, 73, 1129, 383, 1355, 4965, 29645, 63465, 76281}}, +{6872, 17, 9761, {1, 3, 3, 13, 3, 47, 33, 123, 155, 621, 1019, 1817, 4083, 4723, 24701, 47503, 18007}}, +{6873, 17, 9762, {1, 1, 7, 15, 13, 41, 73, 93, 379, 923, 1183, 2475, 5901, 10599, 10053, 9941, 112107}}, +{6874, 17, 9767, {1, 1, 3, 3, 13, 35, 59, 231, 45, 1011, 1101, 2467, 2703, 10305, 12575, 7587, 25737}}, +{6875, 17, 9768, {1, 3, 7, 1, 21, 31, 9, 55, 373, 779, 397, 1551, 5139, 16339, 1769, 10413, 74059}}, +{6876, 17, 9774, {1, 1, 7, 15, 7, 3, 67, 179, 411, 217, 1219, 13, 1577, 13463, 12263, 41465, 83001}}, +{6877, 17, 9786, {1, 3, 7, 1, 21, 53, 7, 187, 395, 777, 391, 737, 47, 12681, 16749, 26507, 49415}}, +{6878, 17, 9796, {1, 1, 5, 7, 5, 57, 93, 53, 419, 731, 825, 487, 45, 9199, 20947, 56067, 45343}}, +{6879, 17, 9820, {1, 3, 3, 9, 31, 41, 35, 133, 63, 293, 1503, 51, 3111, 15711, 15051, 1965, 64951}}, +{6880, 17, 9823, {1, 1, 5, 9, 9, 47, 53, 229, 405, 621, 1795, 1923, 6609, 6983, 1695, 18021, 71893}}, +{6881, 17, 9839, {1, 1, 5, 9, 23, 13, 107, 13, 149, 759, 1113, 1329, 1747, 14159, 16705, 61841, 82955}}, +{6882, 17, 9844, {1, 3, 3, 9, 25, 49, 31, 145, 481, 609, 1847, 1485, 6345, 7859, 21231, 37303, 69975}}, +{6883, 17, 9851, {1, 3, 1, 15, 13, 49, 59, 221, 27, 517, 431, 3961, 6401, 8483, 10161, 37453, 128237}}, +{6884, 17, 9853, {1, 1, 3, 1, 3, 55, 37, 111, 263, 735, 655, 2831, 2219, 9449, 8413, 49585, 91355}}, +{6885, 17, 9863, {1, 3, 7, 1, 31, 33, 7, 55, 261, 977, 1215, 1967, 7297, 14815, 27009, 35001, 89671}}, +{6886, 17, 9864, {1, 1, 7, 11, 13, 21, 33, 151, 195, 373, 181, 1631, 355, 7857, 12555, 7531, 50417}}, +{6887, 17, 9877, {1, 3, 1, 15, 19, 25, 79, 195, 237, 385, 1531, 2509, 4371, 16103, 3575, 62265, 124251}}, +{6888, 17, 9884, {1, 3, 1, 11, 5, 61, 21, 159, 51, 37, 845, 3075, 8039, 14269, 10505, 36369, 73793}}, +{6889, 17, 9888, {1, 3, 5, 9, 11, 43, 67, 57, 271, 451, 989, 3705, 2481, 10717, 10861, 63785, 10183}}, +{6890, 17, 9897, {1, 3, 3, 5, 13, 29, 119, 171, 439, 459, 479, 3173, 3781, 11131, 6827, 53925, 119939}}, +{6891, 17, 9915, {1, 3, 7, 3, 27, 21, 1, 167, 79, 305, 1283, 1903, 5483, 5727, 17911, 16075, 97629}}, +{6892, 17, 9925, {1, 3, 1, 3, 23, 21, 29, 185, 227, 295, 915, 2033, 6269, 2089, 20785, 15207, 115675}}, +{6893, 17, 9949, {1, 3, 7, 15, 11, 15, 65, 103, 249, 27, 1805, 2079, 4797, 2535, 16865, 61449, 90923}}, +{6894, 17, 9954, {1, 3, 7, 9, 27, 41, 77, 181, 457, 677, 633, 1601, 8085, 2431, 7957, 55913, 38677}}, +{6895, 17, 9960, {1, 1, 5, 7, 11, 37, 3, 221, 79, 895, 1023, 653, 3925, 12755, 19729, 18221, 91123}}, +{6896, 17, 9965, {1, 3, 1, 5, 23, 61, 119, 191, 425, 41, 853, 3497, 6915, 1927, 5513, 55303, 4895}}, +{6897, 17, 9978, {1, 3, 5, 3, 7, 35, 47, 243, 167, 821, 267, 2149, 5797, 6329, 32495, 51037, 18313}}, +{6898, 17, 9986, {1, 1, 7, 9, 23, 29, 79, 205, 115, 839, 1217, 479, 1601, 9681, 1, 35293, 28731}}, +{6899, 17, 9992, {1, 3, 3, 5, 31, 17, 31, 161, 35, 953, 377, 451, 7985, 11371, 15115, 60131, 27033}}, +{6900, 17, 9995, {1, 1, 3, 9, 15, 19, 43, 215, 327, 429, 145, 1837, 725, 14775, 10465, 7367, 21271}}, +{6901, 17, 10005, {1, 3, 7, 13, 31, 17, 85, 49, 487, 795, 1679, 599, 3783, 3195, 2683, 53475, 38603}}, +{6902, 17, 10026, {1, 1, 1, 7, 19, 11, 71, 143, 443, 199, 1117, 3445, 6429, 12037, 13751, 43609, 101563}}, +{6903, 17, 10031, {1, 3, 5, 7, 29, 63, 65, 87, 305, 721, 851, 2235, 4987, 3051, 23015, 1281, 15755}}, +{6904, 17, 10040, {1, 1, 3, 9, 17, 3, 57, 47, 223, 305, 1409, 235, 4379, 5779, 27695, 22535, 9387}}, +{6905, 17, 10051, {1, 1, 3, 11, 25, 33, 75, 141, 155, 699, 85, 1729, 2551, 7101, 7739, 18025, 100819}}, +{6906, 17, 10057, {1, 3, 3, 13, 5, 45, 63, 83, 141, 383, 1931, 3343, 7397, 4823, 28893, 41279, 67805}}, +{6907, 17, 10072, {1, 3, 5, 7, 19, 29, 97, 67, 177, 583, 1783, 4007, 5087, 805, 30999, 23197, 117553}}, +{6908, 17, 10096, {1, 3, 5, 1, 25, 41, 33, 109, 511, 449, 653, 995, 5881, 2163, 13689, 54385, 97419}}, +{6909, 17, 10102, {1, 3, 3, 13, 25, 17, 49, 77, 497, 659, 783, 3513, 3735, 3541, 573, 50237, 99247}}, +{6910, 17, 10105, {1, 3, 1, 7, 17, 13, 37, 169, 19, 965, 289, 455, 6855, 11233, 7553, 7007, 57389}}, +{6911, 17, 10115, {1, 1, 7, 11, 5, 15, 11, 177, 75, 243, 453, 3861, 3091, 4625, 12489, 11537, 74199}}, +{6912, 17, 10124, {1, 1, 5, 13, 17, 21, 23, 57, 343, 985, 1755, 3947, 3899, 11847, 19321, 62295, 51265}}, +{6913, 17, 10139, {1, 1, 3, 9, 19, 37, 31, 243, 433, 725, 535, 3733, 33, 7885, 1425, 41919, 66507}}, +{6914, 17, 10145, {1, 3, 5, 11, 15, 11, 25, 255, 93, 33, 71, 2389, 1855, 317, 12773, 13311, 81927}}, +{6915, 17, 10148, {1, 3, 1, 3, 7, 55, 21, 175, 357, 235, 1679, 931, 2051, 14213, 20539, 38049, 122513}}, +{6916, 17, 10157, {1, 1, 5, 15, 5, 51, 127, 79, 297, 135, 1423, 2783, 7229, 14451, 27619, 7299, 49189}}, +{6917, 17, 10158, {1, 1, 1, 3, 5, 13, 9, 209, 455, 483, 1745, 323, 789, 7645, 26373, 61659, 23671}}, +{6918, 17, 10163, {1, 1, 1, 9, 23, 63, 99, 91, 377, 275, 275, 3005, 1563, 5945, 23825, 33211, 52753}}, +{6919, 17, 10180, {1, 1, 1, 1, 31, 55, 31, 109, 481, 581, 771, 197, 6155, 3465, 8451, 25925, 41159}}, +{6920, 17, 10187, {1, 3, 7, 13, 5, 33, 113, 161, 265, 493, 1723, 513, 5111, 10177, 21755, 5321, 58831}}, +{6921, 17, 10198, {1, 1, 7, 1, 21, 33, 117, 183, 89, 689, 1253, 2215, 6565, 3079, 16343, 22427, 96447}}, +{6922, 17, 10208, {1, 1, 1, 5, 15, 61, 5, 139, 111, 463, 573, 1907, 4615, 14975, 5715, 51017, 69827}}, +{6923, 17, 10214, {1, 1, 1, 13, 3, 3, 117, 249, 25, 361, 1177, 2901, 1601, 11381, 18981, 44811, 47117}}, +{6924, 17, 10220, {1, 1, 5, 3, 29, 5, 49, 221, 247, 57, 553, 1889, 479, 15581, 7035, 7293, 53065}}, +{6925, 17, 10237, {1, 3, 3, 3, 15, 49, 91, 187, 213, 981, 1417, 211, 3719, 13693, 17671, 16691, 57147}}, +{6926, 17, 10238, {1, 1, 7, 9, 7, 17, 109, 185, 459, 769, 1783, 899, 885, 2291, 30023, 26315, 7337}}, +{6927, 17, 10241, {1, 1, 5, 11, 11, 31, 73, 191, 95, 25, 1953, 1387, 1077, 7547, 9661, 57739, 76799}}, +{6928, 17, 10244, {1, 1, 7, 13, 23, 41, 69, 177, 407, 699, 1055, 3653, 1239, 8113, 12823, 1803, 117815}}, +{6929, 17, 10251, {1, 1, 1, 15, 1, 55, 71, 133, 401, 593, 605, 2855, 4569, 3533, 14141, 65457, 125655}}, +{6930, 17, 10253, {1, 1, 7, 9, 31, 55, 53, 11, 65, 17, 561, 925, 1561, 8929, 19859, 57111, 12777}}, +{6931, 17, 10256, {1, 3, 3, 11, 7, 59, 125, 205, 473, 655, 1429, 337, 6829, 7551, 27873, 11667, 39231}}, +{6932, 17, 10259, {1, 3, 3, 9, 13, 23, 25, 161, 443, 545, 1967, 1895, 6929, 5975, 17801, 41769, 30429}}, +{6933, 17, 10266, {1, 3, 7, 13, 15, 1, 99, 43, 45, 451, 21, 639, 7121, 4781, 2813, 419, 17761}}, +{6934, 17, 10284, {1, 1, 5, 13, 11, 9, 53, 83, 443, 441, 1601, 3177, 1913, 12211, 25835, 1733, 4793}}, +{6935, 17, 10290, {1, 3, 3, 1, 13, 15, 11, 187, 471, 699, 1751, 3279, 2305, 15259, 31541, 21357, 73763}}, +{6936, 17, 10331, {1, 3, 5, 9, 23, 11, 125, 57, 261, 479, 879, 719, 3221, 2943, 10593, 11521, 83979}}, +{6937, 17, 10334, {1, 3, 7, 13, 3, 39, 119, 135, 85, 417, 1675, 971, 7577, 12709, 20407, 26105, 97021}}, +{6938, 17, 10350, {1, 1, 5, 11, 15, 63, 83, 141, 281, 663, 1745, 2775, 5605, 9127, 553, 7177, 115969}}, +{6939, 17, 10355, {1, 1, 7, 1, 19, 47, 7, 165, 87, 95, 361, 1879, 6351, 2861, 9103, 37489, 24525}}, +{6940, 17, 10357, {1, 3, 3, 11, 9, 21, 51, 149, 375, 967, 1583, 1427, 1223, 11611, 7481, 36619, 128429}}, +{6941, 17, 10367, {1, 1, 5, 1, 3, 31, 7, 217, 453, 565, 1517, 2847, 6937, 1197, 24339, 44311, 66843}}, +{6942, 17, 10368, {1, 1, 5, 3, 3, 17, 127, 59, 3, 905, 531, 1179, 3559, 5175, 24627, 60941, 129457}}, +{6943, 17, 10377, {1, 1, 1, 7, 15, 15, 1, 31, 373, 643, 279, 3831, 4881, 9763, 17641, 43219, 83109}}, +{6944, 17, 10388, {1, 3, 3, 9, 5, 21, 41, 71, 371, 201, 573, 1481, 3631, 10783, 6679, 1089, 117347}}, +{6945, 17, 10407, {1, 1, 7, 7, 5, 25, 73, 63, 173, 197, 147, 981, 1491, 1597, 11733, 14285, 74021}}, +{6946, 17, 10421, {1, 1, 5, 11, 17, 15, 3, 175, 391, 503, 1745, 319, 791, 5607, 18173, 37319, 92025}}, +{6947, 17, 10434, {1, 3, 1, 1, 9, 37, 43, 81, 439, 951, 805, 251, 4625, 15617, 13715, 62263, 3827}}, +{6948, 17, 10439, {1, 3, 1, 1, 25, 21, 67, 191, 499, 205, 1355, 105, 1637, 563, 22291, 9045, 6545}}, +{6949, 17, 10440, {1, 1, 5, 5, 9, 3, 75, 75, 287, 303, 1767, 1789, 3437, 4637, 9605, 2537, 64935}}, +{6950, 17, 10443, {1, 1, 3, 3, 1, 51, 27, 155, 375, 149, 885, 187, 1551, 13109, 27011, 57301, 41047}}, +{6951, 17, 10446, {1, 1, 7, 5, 21, 23, 1, 81, 163, 231, 2039, 1519, 1279, 15379, 25549, 6711, 81499}}, +{6952, 17, 10457, {1, 1, 3, 5, 3, 37, 71, 243, 165, 365, 379, 351, 4649, 4287, 13395, 30329, 78383}}, +{6953, 17, 10469, {1, 3, 1, 1, 25, 63, 27, 215, 223, 699, 2029, 3737, 5947, 7287, 20813, 4931, 19345}}, +{6954, 17, 10476, {1, 1, 3, 15, 21, 7, 25, 187, 219, 53, 1749, 1797, 3533, 14307, 53, 11095, 75469}}, +{6955, 17, 10479, {1, 1, 3, 13, 27, 31, 91, 121, 481, 291, 915, 535, 4291, 5271, 12181, 55921, 125917}}, +{6956, 17, 10481, {1, 3, 1, 1, 3, 29, 21, 251, 361, 747, 997, 2989, 1809, 7235, 17855, 31027, 100689}}, +{6957, 17, 10494, {1, 3, 7, 1, 21, 13, 49, 93, 183, 673, 881, 1931, 7009, 2565, 26021, 53815, 19807}}, +{6958, 17, 10501, {1, 1, 7, 13, 9, 23, 47, 237, 487, 843, 1357, 919, 1753, 903, 2911, 31527, 73027}}, +{6959, 17, 10505, {1, 1, 1, 1, 25, 33, 97, 241, 421, 375, 73, 2541, 6231, 14659, 15335, 5915, 110791}}, +{6960, 17, 10516, {1, 3, 3, 7, 21, 17, 97, 125, 7, 271, 167, 475, 4887, 1847, 30173, 25913, 36659}}, +{6961, 17, 10532, {1, 1, 3, 15, 15, 37, 67, 5, 463, 423, 823, 941, 1551, 14175, 15377, 6017, 118297}}, +{6962, 17, 10541, {1, 1, 1, 7, 31, 51, 71, 127, 73, 517, 881, 3205, 6219, 11213, 14783, 64275, 70033}}, +{6963, 17, 10547, {1, 3, 1, 5, 17, 17, 57, 107, 359, 999, 1415, 757, 4743, 7775, 14111, 20075, 73269}}, +{6964, 17, 10550, {1, 3, 5, 3, 21, 57, 87, 43, 307, 777, 717, 3329, 4159, 12545, 31355, 31329, 41377}}, +{6965, 17, 10591, {1, 3, 7, 15, 25, 43, 19, 147, 487, 517, 977, 3625, 2311, 14173, 15167, 56563, 110417}}, +{6966, 17, 10597, {1, 3, 3, 11, 23, 1, 67, 157, 461, 169, 231, 1977, 5657, 865, 711, 24213, 76895}}, +{6967, 17, 10602, {1, 1, 7, 13, 5, 37, 51, 165, 331, 97, 431, 3819, 1379, 12083, 27521, 19689, 100119}}, +{6968, 17, 10610, {1, 1, 7, 15, 29, 21, 59, 193, 397, 467, 951, 3037, 2955, 13235, 20981, 63865, 30069}}, +{6969, 17, 10619, {1, 3, 3, 5, 7, 49, 41, 143, 319, 71, 353, 2159, 3043, 15317, 24095, 12017, 64393}}, +{6970, 17, 10631, {1, 1, 5, 13, 25, 45, 57, 153, 311, 805, 953, 1763, 5655, 3961, 12085, 58761, 76533}}, +{6971, 17, 10646, {1, 1, 3, 15, 29, 19, 71, 107, 203, 221, 1173, 1597, 1179, 9649, 21659, 10463, 8195}}, +{6972, 17, 10655, {1, 1, 3, 9, 31, 29, 53, 151, 247, 577, 543, 459, 8141, 5613, 12029, 24199, 118603}}, +{6973, 17, 10665, {1, 3, 1, 5, 1, 55, 103, 23, 405, 5, 181, 3805, 1103, 13389, 6725, 48733, 99639}}, +{6974, 17, 10673, {1, 1, 5, 9, 1, 47, 115, 231, 151, 885, 427, 2849, 361, 12969, 705, 41711, 53587}}, +{6975, 17, 10674, {1, 1, 3, 11, 9, 3, 11, 231, 77, 775, 657, 2721, 3431, 11919, 10425, 29405, 91561}}, +{6976, 17, 10680, {1, 1, 1, 5, 5, 7, 79, 41, 181, 333, 963, 3117, 7703, 2259, 16671, 51139, 27997}}, +{6977, 17, 10693, {1, 3, 7, 7, 13, 55, 59, 157, 377, 711, 1475, 1509, 1375, 6825, 13729, 28613, 109199}}, +{6978, 17, 10700, {1, 3, 3, 3, 13, 11, 51, 1, 67, 609, 467, 2161, 7693, 9019, 1847, 27969, 74863}}, +{6979, 17, 10721, {1, 1, 3, 3, 11, 33, 87, 217, 239, 505, 1451, 2801, 1417, 695, 29883, 15877, 99969}}, +{6980, 17, 10727, {1, 3, 3, 5, 3, 61, 9, 171, 57, 547, 2003, 2335, 2259, 3205, 5639, 21721, 25893}}, +{6981, 17, 10746, {1, 3, 1, 3, 19, 15, 83, 69, 47, 897, 627, 2839, 7123, 8567, 14707, 13159, 125139}}, +{6982, 17, 10748, {1, 3, 7, 11, 1, 59, 53, 33, 135, 1009, 1829, 3011, 1245, 421, 28909, 45517, 55071}}, +{6983, 17, 10757, {1, 1, 5, 9, 3, 27, 11, 243, 235, 683, 1329, 3145, 2141, 14027, 3707, 5933, 51965}}, +{6984, 17, 10761, {1, 1, 5, 7, 13, 63, 79, 105, 27, 195, 1657, 3107, 1245, 1681, 29619, 10589, 78197}}, +{6985, 17, 10770, {1, 3, 3, 7, 21, 1, 5, 79, 73, 125, 1587, 3053, 5977, 10745, 28343, 39023, 56201}}, +{6986, 17, 10776, {1, 1, 3, 15, 23, 21, 39, 41, 173, 913, 1267, 1323, 2967, 1979, 16763, 53753, 21905}}, +{6987, 17, 10782, {1, 1, 5, 7, 11, 11, 117, 151, 409, 345, 1461, 1703, 687, 557, 31651, 35507, 54909}}, +{6988, 17, 10791, {1, 1, 1, 15, 15, 49, 55, 223, 289, 765, 1737, 1117, 3717, 15465, 31949, 55061, 97091}}, +{6989, 17, 10792, {1, 1, 5, 9, 21, 29, 99, 13, 119, 35, 1461, 61, 5155, 6785, 15957, 11295, 52203}}, +{6990, 17, 10805, {1, 3, 5, 7, 23, 39, 73, 161, 465, 715, 153, 3529, 2243, 13773, 16573, 26233, 130263}}, +{6991, 17, 10810, {1, 3, 7, 9, 11, 51, 5, 149, 501, 119, 2047, 3417, 3955, 15055, 31633, 473, 127305}}, +{6992, 17, 10832, {1, 1, 1, 9, 31, 57, 91, 119, 215, 11, 1013, 3969, 1285, 11521, 8039, 36737, 86365}}, +{6993, 17, 10835, {1, 1, 5, 3, 7, 17, 9, 27, 59, 883, 541, 3027, 6219, 1091, 2453, 38247, 21323}}, +{6994, 17, 10841, {1, 1, 1, 1, 25, 39, 55, 249, 61, 313, 467, 1763, 4067, 8367, 32431, 44463, 66439}}, +{6995, 17, 10842, {1, 3, 3, 1, 13, 3, 37, 209, 21, 653, 1971, 3649, 6165, 3789, 12793, 56327, 60351}}, +{6996, 17, 10847, {1, 1, 7, 9, 31, 33, 21, 51, 313, 631, 515, 1761, 4149, 2601, 12481, 25975, 94061}}, +{6997, 17, 10853, {1, 1, 7, 15, 3, 7, 55, 129, 297, 735, 779, 633, 3265, 11713, 3893, 61197, 113991}}, +{6998, 17, 10860, {1, 3, 5, 13, 1, 15, 27, 253, 435, 595, 1163, 2753, 7399, 15225, 26215, 59753, 74933}}, +{6999, 17, 10871, {1, 1, 7, 7, 15, 23, 111, 43, 467, 957, 1687, 2893, 2315, 2025, 1475, 9061, 101611}}, +{7000, 17, 10878, {1, 1, 3, 3, 29, 41, 53, 169, 125, 415, 361, 869, 3399, 8821, 18193, 38575, 73979}}, +{7001, 17, 10881, {1, 1, 1, 15, 3, 5, 27, 5, 293, 765, 1809, 1961, 955, 12441, 10915, 2363, 49617}}, +{7002, 17, 10888, {1, 1, 5, 15, 19, 11, 3, 91, 59, 323, 545, 1177, 7967, 2729, 14085, 3283, 79859}}, +{7003, 17, 10894, {1, 1, 7, 13, 11, 17, 29, 163, 295, 951, 311, 3471, 1339, 10719, 701, 32377, 41685}}, +{7004, 17, 10901, {1, 3, 5, 7, 21, 19, 81, 247, 495, 767, 251, 3455, 6383, 7221, 19943, 64865, 33193}}, +{7005, 17, 10915, {1, 1, 7, 15, 23, 41, 63, 195, 311, 619, 211, 743, 889, 7627, 12527, 15865, 40103}}, +{7006, 17, 10918, {1, 1, 3, 1, 23, 23, 57, 221, 153, 27, 939, 3949, 411, 6357, 31985, 939, 91001}}, +{7007, 17, 10922, {1, 3, 5, 15, 7, 5, 35, 135, 245, 921, 307, 823, 775, 4891, 24575, 53503, 48147}}, +{7008, 17, 10936, {1, 1, 5, 7, 9, 31, 23, 139, 477, 495, 287, 807, 1855, 8321, 13963, 52197, 78509}}, +{7009, 17, 10954, {1, 3, 3, 3, 29, 59, 33, 83, 211, 65, 623, 1269, 1745, 16383, 10759, 57199, 14035}}, +{7010, 17, 10968, {1, 3, 3, 15, 25, 55, 69, 171, 411, 937, 731, 2275, 2597, 4133, 5089, 50507, 39989}}, +{7011, 17, 10971, {1, 3, 1, 9, 5, 47, 51, 21, 171, 913, 233, 43, 2673, 471, 27077, 57039, 32579}}, +{7012, 17, 10973, {1, 3, 5, 3, 29, 35, 5, 105, 233, 379, 77, 1775, 2409, 4597, 19879, 12691, 49739}}, +{7013, 17, 10978, {1, 3, 7, 13, 17, 29, 117, 177, 163, 927, 45, 3227, 7263, 5551, 9219, 32101, 122473}}, +{7014, 17, 10998, {1, 1, 7, 5, 31, 39, 75, 147, 311, 991, 1431, 3821, 6891, 9637, 17887, 661, 23067}}, +{7015, 17, 11009, {1, 3, 5, 13, 31, 53, 69, 79, 153, 329, 207, 479, 2395, 6505, 29553, 52023, 31531}}, +{7016, 17, 11021, {1, 3, 1, 7, 15, 7, 87, 233, 25, 275, 981, 1207, 3083, 16349, 30185, 60611, 120607}}, +{7017, 17, 11029, {1, 1, 5, 3, 21, 7, 47, 173, 291, 965, 65, 545, 7465, 4471, 2249, 34281, 107217}}, +{7018, 17, 11030, {1, 1, 3, 11, 19, 53, 17, 243, 193, 297, 1937, 1513, 4979, 14867, 15497, 10049, 9135}}, +{7019, 17, 11034, {1, 3, 1, 3, 25, 39, 29, 63, 231, 145, 247, 1745, 3439, 8635, 26687, 18595, 67123}}, +{7020, 17, 11050, {1, 1, 7, 9, 29, 33, 89, 175, 429, 675, 891, 1739, 3567, 5453, 30427, 33671, 83395}}, +{7021, 17, 11063, {1, 3, 1, 5, 31, 25, 69, 237, 235, 307, 1217, 3805, 153, 13387, 6209, 14179, 128725}}, +{7022, 17, 11064, {1, 1, 3, 3, 19, 45, 117, 135, 67, 601, 369, 3369, 5505, 2049, 24099, 22515, 96575}}, +{7023, 17, 11077, {1, 1, 1, 3, 3, 45, 29, 255, 327, 77, 1103, 4067, 2875, 6487, 5903, 26625, 19631}}, +{7024, 17, 11078, {1, 3, 5, 1, 31, 63, 115, 7, 255, 855, 913, 1779, 7001, 14387, 26765, 51987, 3191}}, +{7025, 17, 11105, {1, 1, 3, 11, 15, 43, 71, 247, 303, 231, 445, 3963, 3699, 11851, 18941, 43465, 63431}}, +{7026, 17, 11106, {1, 1, 3, 5, 31, 33, 93, 127, 267, 399, 653, 1997, 5005, 14535, 4813, 64065, 2159}}, +{7027, 17, 11126, {1, 3, 7, 13, 31, 39, 61, 155, 141, 515, 1217, 161, 4309, 3697, 22445, 43599, 43329}}, +{7028, 17, 11129, {1, 3, 3, 3, 7, 51, 103, 147, 511, 971, 195, 3731, 6629, 12125, 12053, 34951, 60059}}, +{7029, 17, 11135, {1, 1, 5, 11, 21, 49, 99, 31, 55, 309, 1805, 2253, 7095, 15265, 28445, 54813, 48615}}, +{7030, 17, 11151, {1, 3, 1, 15, 9, 41, 61, 125, 65, 143, 1567, 3259, 6757, 653, 31601, 63127, 52179}}, +{7031, 17, 11159, {1, 1, 5, 3, 29, 5, 19, 197, 153, 447, 7, 1713, 469, 6043, 1259, 63641, 29171}}, +{7032, 17, 11165, {1, 3, 3, 7, 3, 41, 95, 245, 445, 15, 607, 565, 2361, 2673, 21077, 20153, 6199}}, +{7033, 17, 11176, {1, 1, 5, 1, 5, 59, 93, 127, 485, 663, 683, 635, 1599, 16377, 31819, 6539, 27789}}, +{7034, 17, 11179, {1, 3, 1, 3, 31, 3, 11, 215, 441, 1005, 1815, 3945, 5109, 5539, 23935, 62671, 90731}}, +{7035, 17, 11182, {1, 3, 3, 1, 13, 47, 19, 229, 191, 427, 1141, 2321, 7105, 1587, 26347, 63265, 23377}}, +{7036, 17, 11189, {1, 1, 5, 15, 31, 55, 61, 93, 89, 945, 1203, 3631, 4457, 15097, 32019, 41747, 46009}}, +{7037, 17, 11204, {1, 1, 5, 13, 5, 33, 69, 59, 93, 247, 503, 421, 1923, 9855, 9825, 14257, 98663}}, +{7038, 17, 11216, {1, 3, 1, 13, 27, 21, 91, 39, 131, 571, 1527, 2715, 2061, 627, 19705, 47165, 84345}}, +{7039, 17, 11232, {1, 1, 1, 7, 3, 3, 7, 251, 225, 959, 1017, 2423, 6163, 1549, 7473, 3193, 104259}}, +{7040, 17, 11235, {1, 3, 3, 1, 5, 5, 115, 221, 505, 649, 1525, 2459, 167, 1899, 23939, 29253, 122835}}, +{7041, 17, 11242, {1, 3, 1, 5, 15, 9, 123, 221, 133, 43, 31, 1211, 4737, 5001, 20065, 6369, 93865}}, +{7042, 17, 11250, {1, 1, 5, 11, 11, 5, 23, 29, 333, 133, 1469, 1895, 5879, 15599, 2131, 25005, 96271}}, +{7043, 17, 11264, {1, 1, 3, 11, 25, 11, 19, 57, 397, 645, 1233, 2433, 6371, 10577, 15489, 60709, 3957}}, +{7044, 17, 11273, {1, 3, 1, 1, 19, 3, 33, 131, 429, 835, 1363, 2213, 3185, 14385, 8831, 43159, 32975}}, +{7045, 17, 11282, {1, 1, 5, 5, 23, 11, 127, 139, 213, 259, 897, 1913, 5737, 1287, 26617, 4885, 30193}}, +{7046, 17, 11288, {1, 3, 5, 13, 3, 27, 99, 31, 11, 27, 1003, 2473, 7055, 12923, 4269, 41433, 90637}}, +{7047, 17, 11291, {1, 3, 1, 7, 17, 25, 95, 151, 199, 237, 207, 1879, 2943, 9845, 3765, 53533, 111191}}, +{7048, 17, 11293, {1, 3, 1, 9, 19, 27, 5, 249, 85, 185, 1883, 1401, 2041, 12721, 20593, 30993, 2601}}, +{7049, 17, 11318, {1, 3, 3, 9, 23, 1, 15, 133, 387, 779, 707, 2723, 4485, 989, 27125, 37295, 125319}}, +{7050, 17, 11321, {1, 1, 7, 3, 9, 41, 81, 151, 349, 941, 357, 3817, 7123, 10079, 27519, 107, 102281}}, +{7051, 17, 11329, {1, 1, 1, 1, 13, 5, 111, 167, 73, 85, 1185, 1213, 333, 153, 13101, 38087, 39389}}, +{7052, 17, 11336, {1, 3, 3, 15, 11, 41, 99, 231, 377, 539, 1335, 1059, 5373, 9611, 27927, 29801, 85749}}, +{7053, 17, 11339, {1, 3, 1, 9, 19, 37, 125, 27, 15, 699, 1867, 2711, 1589, 1675, 32007, 61339, 96919}}, +{7054, 17, 11342, {1, 3, 3, 3, 3, 27, 21, 159, 249, 783, 1517, 2923, 2609, 1207, 13705, 57371, 43603}}, +{7055, 17, 11356, {1, 1, 5, 15, 17, 55, 77, 1, 401, 897, 987, 345, 5283, 5827, 17755, 44371, 13253}}, +{7056, 17, 11383, {1, 3, 1, 7, 3, 3, 99, 237, 487, 405, 771, 3503, 1199, 4779, 26893, 45821, 46383}}, +{7057, 17, 11389, {1, 1, 7, 3, 9, 47, 81, 27, 459, 989, 1891, 3997, 4081, 4075, 15079, 65081, 125185}}, +{7058, 17, 11405, {1, 3, 5, 9, 25, 23, 71, 251, 251, 197, 353, 3553, 2165, 2953, 3733, 52369, 100641}}, +{7059, 17, 11411, {1, 1, 1, 5, 25, 43, 63, 187, 495, 345, 1547, 2293, 7327, 7797, 14001, 61865, 40329}}, +{7060, 17, 11423, {1, 1, 5, 15, 25, 37, 67, 23, 315, 801, 71, 1235, 7293, 7207, 30929, 9417, 94735}}, +{7061, 17, 11424, {1, 1, 1, 3, 23, 29, 87, 171, 337, 457, 1597, 3933, 4151, 1237, 19563, 56997, 81497}}, +{7062, 17, 11430, {1, 3, 3, 11, 3, 33, 79, 239, 277, 611, 205, 2283, 7459, 425, 21999, 26491, 58681}}, +{7063, 17, 11444, {1, 1, 7, 1, 5, 37, 53, 93, 205, 97, 779, 3623, 7777, 521, 21915, 46539, 128811}}, +{7064, 17, 11447, {1, 1, 5, 7, 19, 7, 39, 183, 299, 193, 1351, 3867, 5709, 11655, 1231, 15555, 128023}}, +{7065, 17, 11459, {1, 3, 7, 11, 31, 13, 113, 57, 197, 841, 921, 2087, 2195, 8279, 8353, 1955, 22121}}, +{7066, 17, 11465, {1, 3, 3, 11, 21, 55, 61, 105, 357, 747, 363, 3511, 2547, 16283, 25747, 56041, 33695}}, +{7067, 17, 11473, {1, 3, 3, 13, 27, 13, 5, 27, 93, 691, 1869, 2331, 3131, 14411, 2355, 37195, 129273}}, +{7068, 17, 11479, {1, 3, 3, 7, 27, 9, 11, 165, 435, 811, 215, 1617, 347, 4289, 29373, 15749, 91445}}, +{7069, 17, 11501, {1, 1, 7, 13, 29, 3, 95, 53, 457, 633, 959, 3705, 7461, 9307, 21963, 51599, 6751}}, +{7070, 17, 11510, {1, 1, 1, 15, 29, 25, 95, 1, 125, 61, 683, 2067, 6485, 9095, 5571, 61281, 70865}}, +{7071, 17, 11514, {1, 1, 7, 7, 1, 35, 119, 107, 247, 991, 237, 1865, 3961, 12583, 11417, 14913, 90897}}, +{7072, 17, 11522, {1, 3, 7, 15, 11, 51, 73, 193, 289, 381, 1767, 3803, 3197, 3797, 15059, 19393, 98947}}, +{7073, 17, 11527, {1, 1, 5, 3, 13, 7, 91, 223, 347, 59, 1721, 1501, 6391, 4141, 14495, 47283, 47237}}, +{7074, 17, 11533, {1, 3, 7, 11, 17, 39, 43, 247, 35, 423, 1859, 3199, 5343, 7061, 8609, 6819, 88575}}, +{7075, 17, 11536, {1, 1, 5, 13, 31, 27, 57, 19, 499, 1007, 1965, 795, 1231, 12755, 24631, 53343, 82305}}, +{7076, 17, 11548, {1, 1, 1, 9, 13, 23, 127, 161, 245, 467, 2025, 2545, 3085, 13035, 27087, 14461, 35971}}, +{7077, 17, 11551, {1, 3, 5, 1, 7, 3, 99, 159, 75, 341, 1755, 2337, 5981, 5055, 19445, 30043, 61427}}, +{7078, 17, 11552, {1, 1, 1, 7, 13, 33, 41, 73, 267, 21, 961, 3509, 6839, 13215, 8471, 46735, 93071}}, +{7079, 17, 11555, {1, 3, 7, 7, 3, 25, 81, 239, 357, 445, 1483, 389, 3891, 5131, 21357, 34757, 111063}}, +{7080, 17, 11572, {1, 3, 7, 1, 1, 37, 119, 121, 195, 935, 1711, 2049, 7001, 7117, 9957, 7309, 102293}}, +{7081, 17, 11587, {1, 1, 7, 11, 1, 49, 107, 95, 149, 329, 289, 1121, 7217, 15091, 19071, 13801, 13}}, +{7082, 17, 11601, {1, 1, 1, 13, 17, 17, 7, 105, 81, 1017, 1867, 1567, 5133, 7325, 19797, 16301, 40471}}, +{7083, 17, 11613, {1, 3, 5, 5, 27, 45, 117, 135, 499, 53, 973, 121, 53, 8771, 11893, 35827, 57691}}, +{7084, 17, 11614, {1, 1, 1, 1, 7, 23, 11, 163, 17, 871, 129, 2959, 5583, 12253, 1419, 28367, 32539}}, +{7085, 17, 11618, {1, 1, 3, 5, 23, 31, 127, 33, 115, 799, 331, 1873, 1729, 1383, 23601, 51145, 72027}}, +{7086, 17, 11624, {1, 1, 1, 9, 15, 49, 105, 163, 51, 539, 451, 3983, 6509, 1073, 30757, 13971, 51371}}, +{7087, 17, 11630, {1, 1, 7, 1, 1, 57, 71, 135, 5, 171, 983, 951, 777, 9257, 3607, 3239, 76237}}, +{7088, 17, 11663, {1, 1, 7, 7, 21, 17, 49, 175, 9, 807, 289, 2777, 7309, 14911, 28349, 43871, 96019}}, +{7089, 17, 11682, {1, 3, 1, 13, 5, 7, 83, 215, 297, 319, 347, 633, 7285, 8293, 18811, 31065, 114077}}, +{7090, 17, 11684, {1, 3, 1, 11, 3, 29, 91, 231, 161, 601, 355, 2719, 2941, 6065, 21849, 58051, 46515}}, +{7091, 17, 11702, {1, 1, 3, 9, 25, 41, 111, 135, 71, 755, 29, 131, 1339, 5053, 15713, 14557, 106777}}, +{7092, 17, 11705, {1, 1, 7, 13, 21, 59, 13, 45, 503, 71, 1611, 4021, 2359, 11653, 7261, 14537, 33031}}, +{7093, 17, 11713, {1, 1, 1, 11, 5, 31, 1, 181, 37, 527, 1345, 1979, 4899, 3289, 25181, 49959, 44609}}, +{7094, 17, 11731, {1, 3, 3, 13, 21, 25, 33, 105, 57, 637, 841, 1595, 3881, 5053, 9441, 58717, 127255}}, +{7095, 17, 11734, {1, 3, 5, 7, 23, 57, 9, 117, 281, 769, 1573, 2857, 1139, 6413, 14001, 21097, 55215}}, +{7096, 17, 11740, {1, 1, 7, 7, 3, 5, 75, 149, 269, 353, 437, 61, 2451, 11987, 17243, 5649, 105107}}, +{7097, 17, 11747, {1, 1, 3, 3, 25, 61, 53, 21, 113, 57, 1415, 2825, 11, 14977, 6159, 4181, 96765}}, +{7098, 17, 11754, {1, 1, 7, 5, 15, 25, 121, 159, 71, 773, 601, 147, 6507, 16171, 16607, 32017, 77845}}, +{7099, 17, 11761, {1, 3, 1, 1, 27, 19, 59, 109, 347, 991, 165, 683, 6147, 493, 22017, 19069, 52857}}, +{7100, 17, 11762, {1, 1, 5, 5, 21, 1, 93, 115, 407, 15, 421, 1305, 3495, 14287, 31831, 65347, 35339}}, +{7101, 17, 11787, {1, 3, 5, 11, 29, 35, 87, 27, 453, 769, 1991, 2757, 2607, 9225, 293, 49441, 18185}}, +{7102, 17, 11792, {1, 1, 5, 3, 23, 41, 67, 195, 499, 903, 197, 1121, 4691, 9277, 29225, 34597, 37395}}, +{7103, 17, 11814, {1, 1, 7, 7, 21, 7, 65, 245, 241, 909, 1063, 2271, 1979, 10287, 1747, 61523, 72969}}, +{7104, 17, 11823, {1, 3, 1, 13, 23, 25, 3, 89, 385, 481, 1463, 3431, 6907, 1129, 3519, 35789, 82585}}, +{7105, 17, 11825, {1, 3, 5, 3, 31, 17, 11, 209, 77, 991, 885, 3341, 6895, 3429, 21611, 38555, 35475}}, +{7106, 17, 11837, {1, 1, 3, 1, 9, 61, 27, 219, 433, 787, 281, 1155, 2915, 4449, 30881, 34461, 15357}}, +{7107, 17, 11838, {1, 1, 3, 15, 27, 55, 51, 101, 117, 799, 1475, 4013, 5145, 14991, 27847, 49537, 57339}}, +{7108, 17, 11846, {1, 3, 7, 13, 13, 9, 13, 167, 283, 883, 1501, 2635, 1463, 3353, 14961, 30349, 62043}}, +{7109, 17, 11855, {1, 1, 7, 3, 3, 47, 119, 37, 389, 655, 701, 2471, 5749, 6645, 845, 27065, 82299}}, +{7110, 17, 11864, {1, 1, 7, 15, 27, 5, 95, 195, 227, 991, 1137, 3715, 4901, 9459, 1917, 43857, 126505}}, +{7111, 17, 11876, {1, 3, 7, 5, 29, 35, 45, 165, 361, 257, 641, 1265, 6533, 11333, 26081, 12621, 66909}}, +{7112, 17, 11885, {1, 1, 1, 11, 19, 55, 73, 137, 29, 355, 725, 1161, 6717, 2035, 19769, 43531, 72577}}, +{7113, 17, 11904, {1, 3, 7, 5, 19, 3, 99, 17, 387, 621, 137, 117, 6567, 7667, 14979, 17981, 68319}}, +{7114, 17, 11909, {1, 1, 5, 5, 7, 53, 31, 33, 245, 371, 691, 2763, 95, 16369, 7853, 29839, 34957}}, +{7115, 17, 11913, {1, 1, 3, 1, 9, 1, 83, 177, 17, 141, 1739, 1791, 3849, 3093, 22271, 53755, 7817}}, +{7116, 17, 11916, {1, 3, 3, 1, 3, 51, 71, 69, 439, 987, 807, 3353, 4747, 16031, 29591, 61091, 95675}}, +{7117, 17, 11940, {1, 3, 5, 1, 17, 47, 51, 211, 7, 5, 1751, 1735, 1647, 13389, 13861, 49427, 13577}}, +{7118, 17, 11943, {1, 3, 7, 5, 11, 23, 17, 55, 11, 61, 809, 927, 6533, 1509, 29261, 21555, 55075}}, +{7119, 17, 11972, {1, 3, 1, 1, 15, 51, 37, 47, 183, 117, 597, 3225, 1435, 13359, 19127, 17339, 17345}}, +{7120, 17, 11981, {1, 1, 5, 3, 5, 11, 33, 179, 295, 129, 29, 713, 1561, 27, 21087, 50305, 39253}}, +{7121, 17, 11990, {1, 1, 5, 7, 17, 25, 105, 241, 41, 915, 1223, 2625, 617, 10983, 10749, 2137, 101831}}, +{7122, 17, 11993, {1, 3, 5, 7, 15, 15, 85, 23, 193, 625, 1803, 2903, 1935, 523, 8377, 12165, 105851}}, +{7123, 17, 12000, {1, 3, 3, 7, 3, 35, 5, 107, 191, 855, 405, 1659, 5523, 5011, 6401, 45187, 31345}}, +{7124, 17, 12005, {1, 3, 3, 1, 9, 21, 103, 75, 501, 669, 547, 3685, 411, 2663, 14743, 13869, 124389}}, +{7125, 17, 12015, {1, 3, 5, 13, 15, 37, 39, 79, 19, 165, 1685, 1367, 5951, 12303, 13423, 51083, 119933}}, +{7126, 17, 12020, {1, 1, 3, 1, 7, 25, 1, 221, 415, 591, 859, 1457, 1789, 2269, 15947, 31913, 86397}}, +{7127, 17, 12038, {1, 3, 7, 15, 11, 49, 15, 171, 45, 925, 407, 1719, 4505, 5695, 17397, 28849, 77}}, +{7128, 17, 12042, {1, 1, 3, 11, 21, 33, 91, 115, 263, 141, 753, 3335, 7695, 1981, 6029, 22629, 2467}}, +{7129, 17, 12056, {1, 3, 5, 3, 25, 5, 21, 67, 429, 323, 223, 2395, 761, 14817, 12387, 37905, 19551}}, +{7130, 17, 12065, {1, 3, 1, 15, 31, 43, 35, 255, 73, 533, 1093, 965, 557, 607, 6913, 35283, 12261}}, +{7131, 17, 12066, {1, 3, 1, 15, 25, 13, 39, 83, 77, 269, 1205, 1577, 4095, 6669, 8643, 48807, 98227}}, +{7132, 17, 12072, {1, 3, 3, 7, 31, 57, 25, 177, 441, 973, 1255, 675, 5579, 4899, 27925, 52555, 70845}}, +{7133, 17, 12080, {1, 3, 1, 5, 13, 47, 15, 75, 387, 461, 1909, 841, 7, 9567, 913, 41411, 12565}}, +{7134, 17, 12083, {1, 1, 5, 7, 5, 21, 17, 189, 319, 645, 403, 2723, 6747, 15471, 26533, 12709, 49417}}, +{7135, 17, 12090, {1, 1, 5, 7, 7, 41, 99, 179, 137, 435, 1061, 3987, 4583, 4101, 23781, 54263, 36695}}, +{7136, 17, 12092, {1, 3, 1, 11, 19, 37, 125, 177, 111, 921, 1003, 1433, 1399, 3991, 28193, 40471, 97041}}, +{7137, 17, 12103, {1, 1, 7, 1, 5, 33, 7, 139, 127, 413, 1171, 2237, 265, 10145, 18793, 28957, 25037}}, +{7138, 17, 12109, {1, 3, 1, 1, 25, 37, 13, 17, 471, 195, 1645, 3165, 5635, 8433, 28507, 453, 107709}}, +{7139, 17, 12112, {1, 3, 3, 11, 1, 55, 119, 97, 243, 371, 95, 97, 7833, 777, 12177, 1861, 56323}}, +{7140, 17, 12117, {1, 1, 7, 5, 7, 29, 59, 219, 405, 411, 275, 111, 4899, 10367, 24331, 57295, 47065}}, +{7141, 17, 12121, {1, 1, 3, 3, 19, 23, 91, 111, 221, 195, 1013, 3001, 3227, 6359, 30383, 49699, 49157}}, +{7142, 17, 12137, {1, 1, 5, 7, 1, 21, 125, 23, 177, 291, 249, 861, 1899, 14101, 5079, 5211, 14373}}, +{7143, 17, 12143, {1, 1, 7, 11, 11, 59, 33, 41, 291, 919, 253, 609, 1657, 14633, 15189, 22245, 99815}}, +{7144, 17, 12145, {1, 3, 5, 3, 23, 49, 71, 137, 393, 343, 1845, 343, 5853, 6639, 17435, 62143, 76041}}, +{7145, 17, 12148, {1, 1, 5, 3, 9, 27, 55, 193, 25, 965, 1453, 2739, 3785, 12497, 29607, 11111, 25145}}, +{7146, 17, 12168, {1, 1, 1, 1, 29, 11, 111, 73, 491, 629, 405, 2779, 5313, 589, 1459, 47555, 67945}}, +{7147, 17, 12174, {1, 3, 1, 7, 13, 21, 99, 75, 79, 963, 207, 1725, 6875, 8359, 10573, 45219, 130463}}, +{7148, 17, 12188, {1, 3, 7, 13, 1, 17, 105, 227, 487, 891, 1053, 1333, 7651, 5415, 18661, 22085, 82055}}, +{7149, 17, 12191, {1, 1, 3, 3, 31, 27, 91, 93, 383, 331, 965, 3035, 4931, 13265, 9729, 28985, 118227}}, +{7150, 17, 12192, {1, 3, 1, 1, 11, 9, 59, 191, 253, 909, 301, 3811, 255, 14937, 28627, 54509, 95993}}, +{7151, 17, 12201, {1, 3, 3, 5, 11, 5, 105, 77, 323, 713, 637, 1857, 2697, 12473, 12261, 2933, 101287}}, +{7152, 17, 12224, {1, 3, 3, 11, 9, 63, 19, 19, 213, 859, 1479, 2849, 1067, 5749, 13511, 14933, 11125}}, +{7153, 17, 12230, {1, 1, 5, 9, 19, 19, 13, 49, 237, 511, 533, 543, 575, 8095, 27335, 18847, 18173}}, +{7154, 17, 12239, {1, 3, 5, 5, 9, 53, 47, 157, 35, 827, 637, 2327, 787, 5269, 5145, 10135, 111273}}, +{7155, 17, 12242, {1, 3, 3, 7, 27, 41, 69, 173, 53, 655, 809, 481, 6999, 3101, 20781, 2481, 94957}}, +{7156, 17, 12251, {1, 1, 5, 11, 17, 23, 95, 201, 363, 613, 863, 1365, 1131, 15417, 20705, 8283, 55235}}, +{7157, 17, 12258, {1, 1, 5, 13, 3, 15, 37, 219, 291, 595, 1665, 1861, 1953, 15385, 20569, 46085, 15163}}, +{7158, 17, 12264, {1, 3, 3, 11, 23, 43, 125, 133, 85, 45, 819, 243, 7325, 8723, 1499, 58139, 120353}}, +{7159, 17, 12310, {1, 1, 1, 11, 21, 49, 91, 145, 175, 619, 1817, 3533, 8155, 7521, 30361, 45431, 130175}}, +{7160, 17, 12319, {1, 1, 3, 1, 11, 59, 57, 51, 37, 903, 1221, 3813, 8043, 14165, 31503, 7905, 61515}}, +{7161, 17, 12323, {1, 1, 1, 1, 15, 9, 115, 175, 285, 839, 97, 3119, 719, 15283, 22947, 25417, 40665}}, +{7162, 17, 12325, {1, 3, 1, 7, 5, 49, 127, 111, 373, 747, 393, 2351, 4577, 15227, 23149, 16901, 80253}}, +{7163, 17, 12332, {1, 1, 5, 3, 15, 5, 95, 197, 251, 275, 831, 1389, 3907, 12343, 11599, 24369, 65361}}, +{7164, 17, 12343, {1, 3, 7, 5, 25, 37, 11, 75, 417, 789, 745, 811, 2189, 15381, 4785, 41657, 2897}}, +{7165, 17, 12344, {1, 3, 1, 13, 29, 55, 55, 33, 279, 383, 1645, 975, 4683, 1357, 1149, 30271, 90527}}, +{7166, 17, 12352, {1, 3, 5, 3, 5, 3, 79, 61, 371, 225, 141, 369, 1037, 12249, 29431, 37253, 9899}}, +{7167, 17, 12370, {1, 1, 3, 13, 13, 7, 127, 147, 507, 119, 1085, 1949, 6289, 10179, 10107, 55989, 74395}}, +{7168, 17, 12388, {1, 3, 1, 7, 21, 35, 53, 209, 103, 365, 683, 553, 4977, 14371, 24037, 11453, 45369}}, +{7169, 17, 12395, {1, 1, 5, 11, 27, 39, 41, 145, 437, 55, 893, 2375, 4977, 5451, 21225, 46815, 1423}}, +{7170, 17, 12403, {1, 3, 5, 1, 23, 53, 113, 75, 209, 323, 1975, 3809, 1829, 14625, 3821, 53773, 129173}}, +{7171, 17, 12409, {1, 1, 5, 3, 7, 51, 97, 73, 289, 481, 339, 1375, 3101, 4395, 13933, 33267, 68115}}, +{7172, 17, 12410, {1, 3, 5, 1, 5, 45, 83, 57, 3, 667, 109, 3979, 6447, 8603, 20147, 49291, 18023}}, +{7173, 17, 12415, {1, 3, 7, 1, 11, 7, 45, 233, 65, 745, 1009, 2979, 5965, 10681, 3499, 23077, 87479}}, +{7174, 17, 12419, {1, 3, 3, 3, 13, 25, 25, 189, 197, 83, 1429, 2857, 2877, 8577, 24811, 33049, 46009}}, +{7175, 17, 12426, {1, 1, 1, 7, 11, 47, 47, 255, 89, 625, 449, 3747, 2035, 3509, 4901, 2961, 14073}}, +{7176, 17, 12439, {1, 1, 1, 13, 9, 55, 35, 47, 389, 573, 847, 1037, 1345, 5487, 7575, 57435, 77303}}, +{7177, 17, 12445, {1, 1, 5, 11, 25, 51, 113, 109, 79, 339, 95, 2049, 5881, 13209, 20041, 26419, 110319}}, +{7178, 17, 12459, {1, 1, 7, 1, 27, 15, 93, 145, 253, 917, 1211, 2221, 1087, 14209, 32097, 20083, 67841}}, +{7179, 17, 12464, {1, 1, 3, 15, 13, 19, 67, 107, 75, 919, 2047, 3675, 6231, 1243, 14335, 35939, 17281}}, +{7180, 17, 12474, {1, 3, 7, 5, 27, 47, 53, 239, 475, 231, 1645, 825, 4039, 15985, 10853, 32951, 34985}}, +{7181, 17, 12484, {1, 1, 7, 5, 15, 61, 107, 93, 51, 221, 717, 2859, 7885, 9571, 11841, 45143, 33723}}, +{7182, 17, 12491, {1, 1, 7, 7, 9, 25, 63, 25, 47, 55, 2041, 3965, 215, 14857, 31669, 54775, 42157}}, +{7183, 17, 12501, {1, 3, 5, 1, 5, 45, 123, 109, 471, 599, 479, 475, 3499, 11963, 23709, 18851, 66861}}, +{7184, 17, 12505, {1, 3, 3, 3, 5, 29, 71, 81, 315, 329, 1471, 3995, 623, 5871, 11171, 15645, 97251}}, +{7185, 17, 12508, {1, 1, 7, 11, 15, 15, 101, 173, 445, 871, 765, 1121, 1937, 13055, 7309, 54175, 85559}}, +{7186, 17, 12511, {1, 3, 5, 7, 7, 13, 43, 237, 361, 981, 19, 3113, 4681, 3313, 19147, 35193, 87281}}, +{7187, 17, 12521, {1, 3, 5, 3, 27, 13, 37, 51, 233, 573, 1599, 2807, 7149, 12083, 28927, 7797, 130879}}, +{7188, 17, 12522, {1, 1, 1, 13, 31, 63, 127, 89, 209, 717, 1075, 3887, 1427, 87, 18565, 39973, 55025}}, +{7189, 17, 12530, {1, 3, 1, 5, 15, 11, 121, 247, 273, 613, 1857, 2059, 7399, 13951, 9025, 39523, 68121}}, +{7190, 17, 12544, {1, 3, 7, 13, 31, 9, 61, 143, 375, 433, 471, 1315, 5299, 1167, 10099, 11445, 51693}}, +{7191, 17, 12547, {1, 1, 7, 9, 25, 31, 125, 5, 13, 595, 621, 3551, 7959, 10643, 14345, 37683, 118377}}, +{7192, 17, 12561, {1, 1, 5, 11, 1, 33, 45, 31, 447, 229, 893, 3777, 4101, 2505, 4855, 14057, 20133}}, +{7193, 17, 12571, {1, 1, 1, 1, 7, 23, 89, 53, 483, 873, 521, 2115, 1461, 11241, 1003, 28749, 68227}}, +{7194, 17, 12580, {1, 3, 5, 5, 3, 17, 23, 219, 281, 975, 895, 4043, 6505, 5991, 27401, 38791, 89239}}, +{7195, 17, 12597, {1, 1, 1, 7, 29, 41, 63, 151, 195, 495, 469, 305, 7437, 1107, 31147, 30755, 116551}}, +{7196, 17, 12607, {1, 3, 7, 3, 13, 25, 33, 193, 23, 135, 3, 513, 4169, 15355, 2255, 32167, 68691}}, +{7197, 17, 12609, {1, 3, 3, 11, 29, 19, 125, 177, 83, 361, 393, 663, 1859, 1333, 17507, 10661, 72387}}, +{7198, 17, 12610, {1, 1, 5, 11, 23, 13, 61, 33, 149, 145, 995, 649, 7587, 6743, 25225, 54997, 10193}}, +{7199, 17, 12616, {1, 1, 7, 13, 29, 51, 107, 79, 467, 881, 1227, 1083, 3277, 2559, 26819, 57311, 48095}}, +{7200, 17, 12621, {1, 3, 1, 1, 1, 19, 23, 25, 239, 703, 119, 2525, 8079, 5433, 8989, 42517, 116755}}, +{7201, 17, 12624, {1, 1, 7, 11, 31, 9, 9, 113, 381, 363, 447, 3751, 7523, 15995, 3853, 42069, 81455}}, +{7202, 17, 12639, {1, 1, 5, 9, 29, 41, 103, 179, 477, 527, 1593, 3003, 1095, 6823, 6911, 44987, 32445}}, +{7203, 17, 12645, {1, 1, 7, 15, 5, 31, 55, 181, 149, 127, 1745, 2753, 801, 285, 20199, 33707, 118397}}, +{7204, 17, 12652, {1, 3, 7, 7, 11, 29, 89, 215, 351, 303, 1519, 2593, 2045, 14699, 1657, 40799, 39641}}, +{7205, 17, 12655, {1, 1, 7, 13, 3, 35, 73, 111, 15, 803, 1819, 3453, 3611, 8337, 14239, 14875, 83983}}, +{7206, 17, 12660, {1, 1, 5, 15, 15, 49, 27, 101, 149, 3, 717, 2229, 7397, 6579, 10965, 35997, 28823}}, +{7207, 17, 12667, {1, 1, 5, 7, 3, 17, 49, 245, 343, 657, 15, 749, 6413, 10811, 2909, 47309, 34613}}, +{7208, 17, 12686, {1, 3, 5, 15, 13, 35, 67, 99, 481, 379, 2003, 3367, 3065, 5845, 7799, 43931, 15263}}, +{7209, 17, 12688, {1, 1, 5, 13, 21, 49, 81, 77, 395, 919, 1931, 661, 123, 9965, 10487, 55131, 1567}}, +{7210, 17, 12697, {1, 3, 5, 11, 23, 39, 41, 121, 159, 473, 191, 1983, 6411, 10503, 10523, 40601, 64153}}, +{7211, 17, 12700, {1, 1, 5, 7, 9, 37, 73, 207, 497, 789, 1671, 325, 1697, 11281, 31185, 4961, 124431}}, +{7212, 17, 12707, {1, 1, 5, 15, 7, 51, 71, 91, 449, 707, 621, 2427, 627, 1747, 12779, 17569, 98289}}, +{7213, 17, 12710, {1, 1, 5, 5, 31, 3, 89, 163, 77, 647, 1747, 2965, 1669, 3311, 17651, 8111, 30739}}, +{7214, 17, 12719, {1, 1, 3, 11, 15, 31, 77, 173, 405, 913, 459, 2955, 6153, 13391, 20439, 64433, 12371}}, +{7215, 17, 12739, {1, 1, 3, 11, 13, 55, 29, 37, 379, 689, 407, 1373, 397, 5027, 15497, 25687, 48193}}, +{7216, 17, 12742, {1, 3, 3, 15, 13, 7, 81, 207, 395, 901, 779, 1683, 2491, 3807, 31979, 32403, 81113}}, +{7217, 17, 12746, {1, 3, 3, 13, 29, 31, 25, 81, 459, 991, 793, 3285, 2775, 16199, 11423, 52597, 86041}}, +{7218, 17, 12754, {1, 3, 3, 13, 17, 17, 101, 183, 19, 735, 671, 1097, 2461, 9863, 25985, 31915, 73047}}, +{7219, 17, 12765, {1, 3, 3, 3, 3, 11, 71, 63, 429, 899, 351, 1275, 3907, 14241, 19135, 14875, 43325}}, +{7220, 17, 12772, {1, 1, 7, 11, 11, 61, 15, 213, 411, 13, 1409, 1741, 5257, 8729, 28351, 6381, 77501}}, +{7221, 17, 12784, {1, 1, 7, 7, 29, 27, 51, 217, 411, 261, 599, 3027, 7871, 9133, 32423, 44275, 34701}}, +{7222, 17, 12789, {1, 3, 7, 7, 1, 1, 127, 209, 151, 845, 1421, 3115, 7775, 10133, 6163, 41165, 91187}}, +{7223, 17, 12800, {1, 3, 1, 9, 1, 35, 75, 3, 81, 477, 131, 1383, 1377, 6857, 3863, 12583, 7855}}, +{7224, 17, 12805, {1, 3, 1, 3, 3, 11, 1, 167, 347, 317, 557, 3763, 7175, 13341, 759, 23275, 78039}}, +{7225, 17, 12809, {1, 3, 5, 11, 19, 53, 85, 139, 67, 757, 487, 919, 6001, 16031, 24959, 28013, 65771}}, +{7226, 17, 12815, {1, 1, 1, 1, 23, 9, 83, 55, 249, 305, 1305, 109, 5559, 5129, 30973, 19889, 6691}}, +{7227, 17, 12827, {1, 1, 1, 3, 21, 19, 85, 89, 213, 847, 861, 1651, 6613, 6001, 8157, 2555, 98673}}, +{7228, 17, 12830, {1, 1, 1, 15, 25, 15, 125, 133, 177, 295, 549, 1763, 2811, 4381, 1079, 7813, 87909}}, +{7229, 17, 12833, {1, 1, 1, 5, 5, 17, 25, 225, 353, 997, 1565, 2225, 7265, 16227, 28209, 9011, 97193}}, +{7230, 17, 12840, {1, 3, 7, 15, 13, 13, 35, 239, 331, 965, 1547, 1627, 6409, 7745, 30899, 36915, 59293}}, +{7231, 17, 12851, {1, 1, 1, 13, 27, 45, 23, 179, 193, 801, 381, 3783, 3551, 11855, 11041, 49911, 62101}}, +{7232, 17, 12868, {1, 1, 7, 3, 3, 31, 61, 5, 421, 939, 1637, 217, 389, 1797, 32141, 28817, 6997}}, +{7233, 17, 12871, {1, 3, 3, 5, 21, 31, 83, 65, 421, 577, 1137, 2561, 2943, 4171, 2803, 23325, 92315}}, +{7234, 17, 12886, {1, 1, 3, 3, 27, 33, 75, 81, 477, 3, 1903, 773, 5551, 10069, 7285, 58103, 98311}}, +{7235, 17, 12899, {1, 3, 7, 15, 1, 17, 95, 209, 65, 747, 1633, 581, 7395, 1393, 21795, 15735, 129757}}, +{7236, 17, 12923, {1, 3, 5, 3, 17, 3, 9, 131, 51, 693, 1571, 1865, 8137, 915, 13345, 35137, 59005}}, +{7237, 17, 12926, {1, 1, 3, 7, 23, 27, 61, 163, 449, 87, 717, 1075, 4309, 4887, 11741, 24549, 96729}}, +{7238, 17, 12932, {1, 3, 7, 13, 21, 5, 3, 97, 191, 999, 1193, 1215, 5907, 10491, 2281, 6455, 68625}}, +{7239, 17, 12935, {1, 1, 5, 7, 9, 9, 101, 5, 375, 137, 1473, 1265, 5307, 259, 20699, 25367, 129393}}, +{7240, 17, 12939, {1, 3, 7, 7, 21, 1, 77, 65, 23, 139, 945, 491, 1069, 253, 12335, 26861, 129467}}, +{7241, 17, 12942, {1, 1, 3, 9, 15, 33, 85, 225, 45, 311, 281, 1601, 7325, 12265, 2591, 51955, 130681}}, +{7242, 17, 12953, {1, 1, 1, 3, 27, 33, 17, 89, 495, 91, 527, 3347, 7883, 9481, 28731, 54729, 15265}}, +{7243, 17, 12959, {1, 1, 3, 3, 9, 47, 115, 161, 299, 493, 1857, 3597, 7175, 15603, 11523, 33837, 57557}}, +{7244, 17, 12960, {1, 3, 7, 3, 15, 47, 127, 195, 391, 869, 99, 429, 7125, 10413, 5063, 61845, 71843}}, +{7245, 17, 13002, {1, 3, 3, 1, 7, 31, 27, 69, 7, 83, 315, 2749, 5693, 13377, 28091, 13065, 111029}}, +{7246, 17, 13004, {1, 1, 3, 15, 15, 45, 125, 229, 459, 611, 1167, 3375, 3587, 81, 9275, 45327, 39749}}, +{7247, 17, 13016, {1, 3, 7, 11, 9, 3, 43, 161, 221, 209, 51, 1475, 3577, 13973, 15285, 35553, 83935}}, +{7248, 17, 13021, {1, 1, 7, 9, 15, 55, 25, 119, 39, 537, 317, 1331, 2161, 1791, 19221, 63459, 124595}}, +{7249, 17, 13035, {1, 1, 1, 11, 9, 7, 113, 187, 295, 67, 1795, 113, 119, 9127, 32119, 7719, 67591}}, +{7250, 17, 13038, {1, 3, 7, 13, 1, 53, 17, 19, 331, 711, 359, 2945, 5847, 7237, 23617, 17411, 2203}}, +{7251, 17, 13052, {1, 3, 3, 7, 21, 63, 115, 159, 225, 161, 1255, 2381, 7411, 95, 1625, 30493, 56685}}, +{7252, 17, 13058, {1, 1, 5, 9, 13, 57, 5, 107, 195, 271, 677, 2081, 6027, 11091, 14171, 19007, 102119}}, +{7253, 17, 13069, {1, 3, 3, 3, 19, 13, 31, 155, 209, 89, 955, 523, 615, 5319, 16079, 9289, 49135}}, +{7254, 17, 13082, {1, 3, 1, 13, 1, 31, 69, 143, 329, 813, 635, 891, 2967, 5563, 19643, 35813, 14345}}, +{7255, 17, 13093, {1, 1, 5, 5, 17, 47, 97, 49, 123, 997, 15, 3685, 3925, 4973, 11195, 17115, 63709}}, +{7256, 17, 13094, {1, 1, 7, 13, 13, 17, 99, 149, 309, 281, 329, 905, 6487, 4495, 31831, 24413, 26431}}, +{7257, 17, 13100, {1, 1, 5, 5, 5, 47, 113, 115, 61, 157, 955, 2323, 4445, 229, 24049, 14753, 15189}}, +{7258, 17, 13115, {1, 3, 7, 15, 25, 21, 13, 137, 377, 45, 629, 1339, 8037, 5073, 24741, 48589, 28953}}, +{7259, 17, 13125, {1, 3, 3, 9, 3, 41, 7, 101, 333, 59, 1213, 1871, 3993, 11261, 4403, 42785, 58753}}, +{7260, 17, 13132, {1, 3, 1, 7, 5, 33, 87, 73, 317, 575, 1459, 905, 1033, 14179, 19595, 30269, 103853}}, +{7261, 17, 13143, {1, 1, 1, 1, 19, 49, 63, 181, 227, 401, 695, 1811, 2383, 3835, 14379, 30685, 114731}}, +{7262, 17, 13144, {1, 1, 5, 15, 9, 41, 35, 91, 357, 659, 155, 3725, 6509, 405, 25449, 37719, 6013}}, +{7263, 17, 13153, {1, 1, 7, 3, 11, 59, 33, 151, 291, 393, 741, 3961, 2787, 993, 10361, 11737, 42047}}, +{7264, 17, 13160, {1, 3, 7, 3, 15, 15, 55, 59, 419, 203, 55, 801, 2719, 15487, 13213, 58473, 50315}}, +{7265, 17, 13165, {1, 3, 7, 13, 17, 21, 113, 111, 159, 163, 711, 1135, 1133, 15519, 30515, 55777, 25025}}, +{7266, 17, 13173, {1, 1, 3, 5, 13, 25, 23, 3, 93, 873, 559, 1815, 3381, 5311, 14365, 34349, 17333}}, +{7267, 17, 13174, {1, 3, 5, 7, 15, 43, 85, 33, 23, 903, 1247, 3279, 1393, 12059, 19251, 19389, 5097}}, +{7268, 17, 13187, {1, 3, 1, 11, 21, 59, 3, 153, 403, 95, 1939, 2679, 419, 9035, 31219, 2897, 15727}}, +{7269, 17, 13190, {1, 3, 5, 1, 11, 21, 35, 169, 453, 15, 791, 3931, 1021, 16321, 6033, 10639, 16173}}, +{7270, 17, 13204, {1, 3, 1, 11, 7, 57, 39, 61, 381, 465, 451, 2863, 575, 5597, 31041, 8625, 82373}}, +{7271, 17, 13218, {1, 1, 3, 5, 13, 5, 63, 1, 75, 245, 1305, 285, 3367, 10107, 5853, 35275, 128255}}, +{7272, 17, 13247, {1, 1, 1, 3, 1, 57, 21, 91, 139, 669, 765, 1867, 2153, 10347, 26119, 35517, 4725}}, +{7273, 17, 13250, {1, 3, 5, 1, 21, 41, 59, 247, 473, 1015, 975, 485, 2161, 11941, 10341, 35245, 55587}}, +{7274, 17, 13262, {1, 1, 5, 9, 7, 59, 33, 149, 97, 619, 393, 3613, 6037, 10895, 19461, 15975, 47919}}, +{7275, 17, 13267, {1, 3, 3, 15, 7, 17, 95, 13, 147, 361, 915, 2585, 4483, 3159, 12255, 44685, 116163}}, +{7276, 17, 13274, {1, 3, 1, 15, 27, 31, 75, 31, 423, 233, 1453, 2815, 3633, 6531, 25721, 29649, 80645}}, +{7277, 17, 13304, {1, 3, 3, 3, 19, 7, 73, 33, 163, 495, 1483, 2277, 6455, 6523, 9331, 21869, 52175}}, +{7278, 17, 13309, {1, 3, 5, 13, 5, 1, 63, 35, 335, 189, 713, 2997, 3277, 10049, 4681, 16753, 17107}}, +{7279, 17, 13315, {1, 3, 5, 9, 3, 55, 29, 171, 395, 585, 671, 1875, 4449, 12895, 5455, 11023, 106189}}, +{7280, 17, 13317, {1, 3, 5, 3, 25, 53, 33, 169, 109, 285, 787, 861, 5549, 5171, 15293, 2977, 14559}}, +{7281, 17, 13324, {1, 3, 7, 1, 21, 25, 97, 115, 1, 999, 1033, 3471, 129, 16093, 495, 16859, 34615}}, +{7282, 17, 13332, {1, 3, 5, 9, 13, 5, 109, 41, 57, 957, 231, 3771, 2917, 15649, 8869, 14857, 64943}}, +{7283, 17, 13342, {1, 1, 7, 7, 21, 41, 101, 59, 167, 441, 997, 2951, 7891, 16325, 12669, 53829, 100705}}, +{7284, 17, 13346, {1, 1, 7, 9, 19, 59, 23, 141, 193, 237, 1067, 1823, 3351, 3239, 3135, 9275, 37069}}, +{7285, 17, 13355, {1, 3, 3, 9, 3, 17, 95, 73, 19, 231, 779, 3065, 2245, 2967, 24971, 62589, 16729}}, +{7286, 17, 13358, {1, 3, 3, 13, 25, 19, 117, 147, 443, 123, 157, 2037, 327, 14715, 5693, 54641, 33325}}, +{7287, 17, 13360, {1, 3, 1, 9, 21, 21, 21, 125, 49, 787, 767, 2831, 511, 2461, 31537, 27155, 44053}}, +{7288, 17, 13369, {1, 3, 7, 9, 31, 19, 125, 67, 119, 465, 287, 1869, 3979, 15723, 21069, 8581, 66939}}, +{7289, 17, 13372, {1, 1, 1, 11, 7, 37, 123, 237, 353, 499, 113, 3829, 217, 4751, 7385, 20343, 83699}}, +{7290, 17, 13398, {1, 3, 7, 13, 9, 3, 53, 27, 487, 87, 35, 2645, 3481, 14409, 27875, 31695, 78489}}, +{7291, 17, 13404, {1, 3, 3, 13, 9, 43, 67, 51, 153, 83, 591, 1991, 1787, 11973, 7273, 34801, 47199}}, +{7292, 17, 13407, {1, 3, 7, 1, 15, 53, 71, 11, 205, 853, 2011, 581, 1281, 7819, 23083, 33731, 74951}}, +{7293, 17, 13414, {1, 1, 5, 5, 17, 63, 109, 219, 225, 997, 1251, 3287, 1441, 13489, 22723, 45191, 50249}}, +{7294, 17, 13426, {1, 1, 5, 3, 13, 1, 43, 53, 293, 685, 1369, 1515, 7479, 3233, 20007, 65235, 102467}}, +{7295, 17, 13432, {1, 3, 5, 7, 29, 45, 63, 45, 219, 445, 2047, 317, 7553, 325, 1465, 949, 35163}}, +{7296, 17, 13466, {1, 1, 3, 9, 7, 31, 73, 211, 501, 233, 1495, 701, 5857, 10763, 9743, 10289, 23801}}, +{7297, 17, 13481, {1, 3, 7, 3, 23, 47, 99, 61, 179, 833, 1425, 1275, 4467, 4367, 5567, 23513, 68677}}, +{7298, 17, 13490, {1, 1, 5, 5, 27, 33, 119, 229, 329, 51, 1025, 3167, 3405, 4039, 4135, 6655, 43771}}, +{7299, 17, 13496, {1, 3, 7, 15, 5, 49, 91, 55, 425, 15, 2003, 1571, 3539, 10375, 29645, 5889, 51887}}, +{7300, 17, 13504, {1, 1, 7, 3, 13, 55, 85, 91, 181, 723, 1941, 75, 4443, 11507, 7027, 14189, 50685}}, +{7301, 17, 13516, {1, 3, 5, 5, 29, 49, 13, 3, 97, 165, 41, 3039, 3325, 2161, 775, 38501, 42381}}, +{7302, 17, 13527, {1, 1, 5, 11, 9, 57, 47, 109, 9, 585, 375, 1839, 937, 6877, 29847, 60163, 103081}}, +{7303, 17, 13533, {1, 1, 3, 13, 5, 47, 11, 195, 253, 235, 275, 2313, 163, 14683, 5681, 13381, 84553}}, +{7304, 17, 13537, {1, 3, 3, 15, 15, 1, 93, 157, 437, 557, 307, 1179, 6857, 3101, 16723, 50579, 69603}}, +{7305, 17, 13552, {1, 1, 5, 9, 11, 29, 23, 219, 337, 689, 1155, 2007, 6853, 6749, 20127, 13199, 48433}}, +{7306, 17, 13561, {1, 1, 1, 13, 1, 61, 73, 213, 335, 539, 903, 2719, 775, 2775, 29109, 33367, 3281}}, +{7307, 17, 13567, {1, 3, 1, 5, 15, 31, 65, 231, 439, 623, 1871, 2299, 5365, 10333, 9147, 2781, 63813}}, +{7308, 17, 13582, {1, 1, 3, 1, 1, 25, 23, 229, 173, 279, 181, 1299, 2893, 15475, 12473, 46097, 123387}}, +{7309, 17, 13587, {1, 1, 7, 13, 7, 43, 17, 187, 467, 113, 1293, 2013, 6091, 14621, 22195, 24079, 45379}}, +{7310, 17, 13589, {1, 3, 1, 7, 1, 7, 119, 159, 377, 11, 705, 2853, 3767, 13739, 23375, 25563, 73987}}, +{7311, 17, 13593, {1, 1, 3, 15, 21, 13, 111, 119, 401, 1005, 777, 1699, 2431, 15139, 27887, 28415, 71519}}, +{7312, 17, 13596, {1, 1, 7, 9, 1, 49, 19, 171, 297, 77, 1343, 1249, 5769, 13889, 21401, 24915, 17641}}, +{7313, 17, 13615, {1, 1, 7, 11, 31, 45, 51, 231, 123, 817, 13, 791, 6235, 2787, 475, 1717, 5071}}, +{7314, 17, 13617, {1, 3, 3, 13, 5, 9, 21, 129, 253, 731, 785, 2275, 7343, 7841, 5477, 8973, 101033}}, +{7315, 17, 13623, {1, 1, 7, 13, 23, 1, 119, 221, 293, 709, 2031, 3019, 1529, 2007, 10823, 43193, 82661}}, +{7316, 17, 13641, {1, 3, 1, 11, 29, 29, 87, 79, 415, 679, 1899, 3453, 7355, 8627, 28225, 41857, 106645}}, +{7317, 17, 13647, {1, 1, 5, 15, 9, 13, 21, 241, 491, 927, 999, 2131, 3501, 11063, 28595, 54691, 21297}}, +{7318, 17, 13650, {1, 1, 1, 3, 5, 41, 85, 89, 483, 309, 791, 825, 3043, 2715, 16573, 6551, 77875}}, +{7319, 17, 13659, {1, 3, 1, 1, 25, 21, 107, 123, 79, 1019, 821, 1251, 4943, 1429, 17843, 37013, 53285}}, +{7320, 17, 13671, {1, 1, 5, 3, 7, 5, 35, 123, 445, 315, 627, 2543, 1261, 13737, 15991, 36591, 18309}}, +{7321, 17, 13677, {1, 3, 3, 5, 25, 43, 65, 249, 309, 1023, 737, 1933, 4735, 7725, 12063, 53023, 126677}}, +{7322, 17, 13678, {1, 3, 1, 9, 13, 37, 77, 61, 179, 275, 277, 1431, 2869, 14563, 665, 60553, 7661}}, +{7323, 17, 13680, {1, 3, 5, 3, 29, 1, 127, 73, 363, 311, 1591, 3863, 6481, 4725, 8287, 61311, 39011}}, +{7324, 17, 13685, {1, 3, 1, 7, 13, 23, 115, 215, 385, 563, 1033, 2343, 5023, 11013, 12131, 26997, 48645}}, +{7325, 17, 13689, {1, 1, 5, 13, 3, 59, 41, 155, 263, 507, 1175, 2967, 7929, 8237, 11841, 15365, 51881}}, +{7326, 17, 13701, {1, 1, 3, 11, 19, 35, 89, 115, 121, 315, 1697, 2121, 1867, 6865, 23639, 26525, 44687}}, +{7327, 17, 13706, {1, 3, 5, 15, 9, 5, 125, 183, 149, 447, 309, 1743, 6089, 369, 16153, 63799, 57657}}, +{7328, 17, 13720, {1, 1, 1, 7, 7, 39, 89, 139, 457, 741, 1613, 2883, 5057, 12495, 18669, 55469, 97941}}, +{7329, 17, 13729, {1, 1, 5, 7, 29, 39, 97, 9, 481, 667, 1353, 3387, 2813, 16205, 8353, 22121, 92965}}, +{7330, 17, 13735, {1, 3, 7, 9, 11, 55, 79, 159, 349, 717, 829, 3157, 1457, 6199, 5861, 2553, 20387}}, +{7331, 17, 13736, {1, 1, 1, 11, 3, 51, 113, 53, 287, 109, 1717, 2405, 7207, 4473, 11145, 2549, 591}}, +{7332, 17, 13756, {1, 1, 3, 13, 3, 61, 31, 141, 217, 487, 299, 2755, 3389, 10053, 1105, 21129, 74203}}, +{7333, 17, 13759, {1, 1, 1, 3, 11, 55, 7, 113, 413, 449, 787, 3279, 5123, 16025, 15005, 12175, 6795}}, +{7334, 17, 13761, {1, 3, 1, 1, 25, 23, 107, 191, 3, 3, 49, 1083, 3275, 10385, 7989, 53739, 25505}}, +{7335, 17, 13771, {1, 1, 5, 13, 7, 17, 59, 13, 471, 147, 1627, 2119, 3555, 15555, 10333, 49363, 80959}}, +{7336, 17, 13782, {1, 1, 1, 15, 23, 33, 61, 191, 207, 939, 45, 2781, 71, 9661, 28433, 13089, 76419}}, +{7337, 17, 13786, {1, 3, 3, 7, 29, 47, 111, 19, 315, 381, 851, 1303, 2627, 6255, 30369, 37723, 12949}}, +{7338, 17, 13798, {1, 1, 1, 13, 31, 43, 3, 193, 5, 99, 769, 2523, 1949, 129, 9693, 60535, 67059}}, +{7339, 17, 13810, {1, 1, 3, 15, 5, 33, 73, 149, 253, 985, 863, 1551, 4369, 5911, 8269, 35463, 117055}}, +{7340, 17, 13819, {1, 3, 1, 5, 27, 57, 3, 105, 253, 731, 119, 3287, 613, 4627, 22003, 56027, 123005}}, +{7341, 17, 13826, {1, 1, 3, 3, 27, 47, 67, 147, 495, 865, 1233, 3707, 2511, 2951, 7367, 15625, 86417}}, +{7342, 17, 13831, {1, 1, 7, 1, 7, 7, 13, 255, 457, 529, 953, 1481, 5565, 12495, 4723, 41615, 121829}}, +{7343, 17, 13837, {1, 3, 5, 11, 1, 51, 91, 153, 323, 609, 1353, 2995, 4035, 13835, 28619, 46217, 4967}}, +{7344, 17, 13846, {1, 1, 5, 7, 25, 59, 81, 101, 185, 709, 1249, 2285, 6579, 8655, 17563, 9707, 63845}}, +{7345, 17, 13856, {1, 3, 3, 9, 31, 25, 17, 19, 111, 627, 1187, 2621, 6529, 9457, 25027, 18069, 47559}}, +{7346, 17, 13862, {1, 3, 7, 15, 7, 15, 103, 201, 391, 1023, 817, 535, 2713, 1317, 13469, 56043, 70847}}, +{7347, 17, 13866, {1, 1, 3, 7, 17, 57, 35, 99, 439, 367, 27, 2695, 3519, 8337, 14047, 58489, 69}}, +{7348, 17, 13885, {1, 1, 1, 3, 17, 23, 71, 189, 57, 39, 715, 1779, 3081, 14657, 21895, 59203, 31005}}, +{7349, 17, 13891, {1, 1, 7, 13, 1, 47, 69, 159, 353, 517, 271, 973, 5077, 15707, 11095, 19671, 3389}}, +{7350, 17, 13893, {1, 1, 7, 13, 25, 55, 115, 21, 43, 939, 1697, 101, 4751, 1993, 2389, 28353, 45251}}, +{7351, 17, 13905, {1, 3, 1, 15, 11, 57, 17, 49, 121, 419, 909, 121, 5047, 4235, 13051, 21529, 42097}}, +{7352, 17, 13908, {1, 1, 1, 3, 19, 37, 31, 233, 251, 175, 929, 1527, 7527, 3605, 17075, 61053, 56235}}, +{7353, 17, 13912, {1, 1, 1, 3, 9, 5, 117, 131, 251, 475, 1695, 1381, 2445, 5921, 14921, 937, 80791}}, +{7354, 17, 13917, {1, 1, 3, 9, 11, 5, 31, 215, 37, 567, 1537, 2183, 3291, 1601, 14025, 48807, 7243}}, +{7355, 17, 13918, {1, 3, 1, 9, 7, 13, 81, 249, 321, 473, 1419, 3977, 7037, 14191, 10865, 56131, 43225}}, +{7356, 17, 13946, {1, 1, 1, 13, 15, 23, 31, 69, 449, 491, 1461, 729, 7955, 4003, 16817, 37273, 72025}}, +{7357, 17, 13948, {1, 1, 5, 13, 7, 41, 93, 169, 347, 1013, 301, 2813, 1455, 13187, 10769, 60807, 46333}}, +{7358, 17, 13964, {1, 1, 5, 3, 23, 15, 1, 161, 29, 35, 415, 235, 93, 14543, 29585, 29657, 36489}}, +{7359, 17, 13970, {1, 3, 1, 3, 31, 63, 39, 235, 153, 549, 43, 147, 2317, 3537, 25561, 58287, 58725}}, +{7360, 17, 13975, {1, 1, 3, 5, 5, 11, 59, 97, 349, 307, 501, 1701, 4243, 13717, 17419, 23387, 29533}}, +{7361, 17, 13979, {1, 3, 1, 7, 7, 19, 33, 243, 67, 353, 2023, 3111, 7173, 10979, 28117, 40175, 45337}}, +{7362, 17, 13997, {1, 1, 1, 5, 15, 59, 55, 135, 107, 543, 1743, 2695, 3293, 111, 32629, 8249, 52273}}, +{7363, 17, 14000, {1, 3, 5, 13, 15, 57, 39, 79, 5, 451, 571, 1445, 1393, 2125, 31713, 59655, 20897}}, +{7364, 17, 14006, {1, 1, 3, 11, 29, 61, 1, 37, 173, 513, 1779, 2649, 3289, 4679, 2039, 47587, 28973}}, +{7365, 17, 14020, {1, 1, 5, 5, 15, 19, 17, 143, 387, 359, 275, 625, 7383, 15537, 10311, 40005, 20729}}, +{7366, 17, 14023, {1, 1, 3, 9, 7, 23, 71, 179, 85, 447, 345, 3459, 2857, 8331, 5489, 62207, 64933}}, +{7367, 17, 14024, {1, 1, 1, 1, 11, 61, 47, 131, 213, 611, 701, 713, 1269, 9563, 25223, 50697, 88679}}, +{7368, 17, 14029, {1, 1, 5, 15, 21, 5, 77, 59, 455, 243, 459, 2809, 13, 9325, 32047, 3939, 48389}}, +{7369, 17, 14035, {1, 3, 7, 1, 21, 53, 111, 225, 407, 119, 713, 3635, 1539, 15321, 29827, 36069, 74483}}, +{7370, 17, 14044, {1, 1, 5, 13, 7, 45, 75, 43, 191, 715, 169, 759, 33, 11329, 1069, 36103, 28055}}, +{7371, 17, 14047, {1, 3, 7, 5, 7, 13, 7, 35, 27, 391, 517, 1439, 5699, 1067, 23857, 7293, 66167}}, +{7372, 17, 14058, {1, 1, 7, 11, 3, 31, 1, 83, 299, 345, 65, 669, 1529, 7569, 28959, 50561, 69493}}, +{7373, 17, 14066, {1, 3, 1, 5, 25, 25, 43, 149, 83, 225, 1589, 1691, 7777, 773, 10421, 49523, 23533}}, +{7374, 17, 14075, {1, 1, 5, 11, 25, 29, 81, 11, 497, 43, 951, 2551, 821, 13805, 12315, 61299, 81397}}, +{7375, 17, 14080, {1, 3, 1, 9, 29, 23, 109, 123, 235, 255, 1519, 3289, 7761, 14575, 11851, 1719, 51655}}, +{7376, 17, 14095, {1, 3, 5, 15, 21, 49, 13, 43, 87, 517, 687, 1457, 1501, 15959, 31907, 13771, 69379}}, +{7377, 17, 14100, {1, 1, 5, 3, 21, 11, 87, 9, 343, 317, 845, 1663, 7933, 14063, 24915, 31487, 17445}}, +{7378, 17, 14114, {1, 1, 3, 13, 21, 31, 87, 99, 185, 333, 993, 3899, 971, 2851, 23643, 195, 66957}}, +{7379, 17, 14116, {1, 1, 1, 15, 19, 47, 23, 1, 67, 57, 165, 3903, 421, 10561, 11621, 13815, 10349}}, +{7380, 17, 14123, {1, 3, 5, 11, 9, 19, 73, 17, 229, 913, 459, 3809, 2667, 9775, 3693, 52945, 90837}}, +{7381, 17, 14134, {1, 1, 5, 15, 3, 25, 109, 131, 507, 637, 1615, 859, 6785, 14891, 24801, 39095, 79557}}, +{7382, 17, 14143, {1, 1, 5, 7, 1, 51, 71, 251, 19, 799, 835, 1119, 2349, 15083, 16509, 55621, 123501}}, +{7383, 17, 14151, {1, 3, 5, 9, 13, 39, 127, 1, 233, 37, 735, 3307, 5163, 4529, 5961, 12893, 103641}}, +{7384, 17, 14160, {1, 1, 7, 5, 23, 15, 49, 123, 511, 201, 2025, 289, 3847, 15755, 24279, 52543, 42017}}, +{7385, 17, 14163, {1, 1, 5, 3, 9, 61, 19, 37, 3, 361, 1065, 2971, 2517, 1259, 27359, 3823, 60181}}, +{7386, 17, 14179, {1, 3, 1, 7, 15, 17, 57, 249, 57, 979, 147, 2407, 2579, 3159, 8467, 8433, 72873}}, +{7387, 17, 14181, {1, 1, 3, 1, 25, 7, 47, 117, 449, 321, 143, 3867, 165, 7961, 27597, 10033, 2437}}, +{7388, 17, 14193, {1, 3, 5, 13, 19, 49, 1, 83, 477, 549, 509, 2911, 1559, 14017, 10469, 62171, 82829}}, +{7389, 17, 14209, {1, 3, 3, 7, 27, 21, 15, 63, 31, 45, 1223, 3903, 5469, 11983, 29627, 27453, 32019}}, +{7390, 17, 14210, {1, 1, 7, 7, 9, 9, 7, 77, 349, 467, 61, 3465, 6921, 15761, 15179, 38649, 2469}}, +{7391, 17, 14224, {1, 3, 1, 13, 9, 59, 55, 67, 271, 617, 643, 4071, 7963, 8153, 5121, 43917, 26219}}, +{7392, 17, 14245, {1, 1, 3, 7, 29, 21, 63, 103, 327, 623, 931, 1511, 3125, 229, 28949, 61315, 72667}}, +{7393, 17, 14249, {1, 3, 7, 1, 19, 37, 49, 63, 403, 885, 161, 121, 1447, 9227, 15019, 50049, 26939}}, +{7394, 17, 14255, {1, 3, 3, 3, 23, 57, 95, 79, 485, 173, 93, 835, 7161, 11247, 3485, 5759, 36393}}, +{7395, 17, 14267, {1, 3, 7, 13, 23, 33, 5, 97, 235, 531, 313, 2925, 2223, 847, 18591, 15477, 3129}}, +{7396, 17, 14270, {1, 1, 3, 13, 25, 25, 101, 183, 477, 947, 1251, 2631, 7987, 13417, 23759, 55305, 123817}}, +{7397, 17, 14277, {1, 1, 5, 9, 27, 63, 49, 137, 179, 861, 33, 2375, 3827, 6485, 19689, 7867, 124429}}, +{7398, 17, 14305, {1, 3, 7, 3, 15, 43, 63, 103, 45, 947, 1837, 833, 7055, 7487, 19669, 12045, 78377}}, +{7399, 17, 14308, {1, 3, 5, 3, 29, 35, 57, 19, 471, 985, 1147, 741, 5403, 10057, 25375, 50889, 82719}}, +{7400, 17, 14312, {1, 3, 3, 1, 17, 19, 111, 13, 121, 821, 1831, 4043, 123, 9529, 1511, 10917, 105961}}, +{7401, 17, 14325, {1, 1, 3, 11, 1, 43, 23, 75, 345, 9, 1379, 2157, 5887, 1197, 14849, 17103, 91925}}, +{7402, 17, 14332, {1, 1, 3, 3, 19, 11, 1, 179, 343, 1023, 1801, 915, 255, 519, 5787, 32913, 43471}}, +{7403, 17, 14345, {1, 3, 5, 5, 3, 3, 3, 211, 461, 55, 851, 3165, 2903, 15077, 8537, 2037, 109057}}, +{7404, 17, 14354, {1, 1, 7, 15, 7, 7, 43, 249, 27, 511, 1369, 735, 6093, 12575, 26675, 21745, 117053}}, +{7405, 17, 14372, {1, 1, 5, 7, 21, 53, 45, 83, 415, 645, 325, 4027, 5181, 8485, 1917, 55623, 45203}}, +{7406, 17, 14387, {1, 1, 3, 15, 7, 1, 121, 221, 387, 403, 1877, 1671, 2113, 2379, 5667, 39867, 8079}}, +{7407, 17, 14390, {1, 1, 1, 7, 5, 29, 35, 77, 197, 661, 1859, 2539, 4045, 13497, 305, 44987, 31215}}, +{7408, 17, 14402, {1, 1, 5, 5, 13, 37, 13, 85, 287, 347, 579, 2283, 7911, 5463, 21141, 9035, 105067}}, +{7409, 17, 14408, {1, 1, 1, 9, 17, 17, 63, 97, 57, 629, 1917, 1133, 779, 12365, 17127, 52549, 18755}}, +{7410, 17, 14413, {1, 1, 7, 11, 7, 17, 65, 137, 485, 841, 653, 2921, 4935, 16273, 23333, 7399, 43129}}, +{7411, 17, 14431, {1, 3, 1, 11, 31, 55, 93, 225, 319, 35, 947, 1909, 7733, 8303, 20739, 55713, 6633}}, +{7412, 17, 14438, {1, 1, 1, 3, 11, 25, 1, 165, 305, 275, 607, 3845, 5203, 1989, 13803, 597, 39751}}, +{7413, 17, 14447, {1, 1, 5, 11, 31, 43, 83, 237, 453, 59, 457, 741, 411, 15895, 18891, 30133, 66767}}, +{7414, 17, 14455, {1, 3, 5, 11, 3, 23, 65, 81, 299, 527, 1057, 2731, 3839, 6023, 28887, 64929, 41405}}, +{7415, 17, 14461, {1, 3, 1, 1, 3, 5, 11, 169, 123, 957, 1495, 1717, 4079, 13239, 28339, 33677, 30591}}, +{7416, 17, 14466, {1, 1, 7, 15, 3, 1, 37, 245, 169, 273, 2039, 415, 6555, 13131, 11181, 62179, 36885}}, +{7417, 17, 14480, {1, 1, 3, 11, 1, 55, 19, 19, 425, 113, 1367, 2101, 5581, 985, 2475, 53983, 68999}}, +{7418, 17, 14490, {1, 1, 5, 9, 5, 33, 101, 193, 303, 579, 1265, 2791, 479, 12083, 17609, 31801, 113089}}, +{7419, 17, 14492, {1, 1, 3, 3, 17, 61, 59, 249, 81, 821, 1, 431, 5327, 8675, 23469, 15349, 67711}}, +{7420, 17, 14508, {1, 1, 7, 9, 31, 51, 89, 19, 469, 843, 561, 559, 4823, 7803, 31699, 44537, 56835}}, +{7421, 17, 14513, {1, 3, 7, 9, 11, 57, 27, 43, 469, 655, 433, 3081, 6719, 6651, 30823, 61503, 110711}}, +{7422, 17, 14516, {1, 3, 5, 11, 9, 53, 25, 147, 61, 533, 1369, 879, 7935, 13829, 26655, 17327, 52983}}, +{7423, 17, 14519, {1, 3, 7, 11, 15, 27, 97, 175, 435, 53, 75, 807, 549, 5277, 1831, 19421, 55669}}, +{7424, 17, 14525, {1, 1, 7, 15, 23, 5, 99, 133, 485, 587, 65, 2585, 7667, 2783, 19437, 52769, 1587}}, +{7425, 17, 14534, {1, 1, 7, 7, 13, 39, 111, 165, 489, 355, 1963, 333, 2993, 5233, 9173, 18951, 93737}}, +{7426, 17, 14537, {1, 1, 5, 7, 1, 29, 67, 135, 427, 91, 53, 3109, 3745, 9529, 17567, 42361, 84577}}, +{7427, 17, 14543, {1, 3, 5, 1, 31, 35, 59, 181, 87, 345, 1975, 781, 603, 16365, 19453, 9933, 112739}}, +{7428, 17, 14545, {1, 3, 3, 1, 31, 41, 127, 35, 263, 403, 1811, 383, 1523, 8477, 5973, 41569, 99309}}, +{7429, 17, 14552, {1, 3, 7, 7, 5, 25, 11, 201, 231, 679, 519, 2481, 7415, 12397, 21265, 49419, 13903}}, +{7430, 17, 14562, {1, 1, 7, 5, 1, 11, 63, 221, 327, 509, 419, 871, 7891, 11835, 11099, 10669, 43853}}, +{7431, 17, 14571, {1, 1, 5, 11, 19, 11, 37, 105, 265, 513, 1013, 707, 6083, 14571, 17573, 7645, 5363}}, +{7432, 17, 14574, {1, 1, 1, 13, 19, 19, 67, 93, 113, 509, 1013, 4037, 1939, 7015, 24487, 57183, 123463}}, +{7433, 17, 14582, {1, 1, 1, 1, 21, 17, 95, 25, 261, 1005, 685, 691, 4467, 14723, 24043, 32287, 19651}}, +{7434, 17, 14611, {1, 3, 1, 15, 15, 15, 57, 191, 27, 719, 229, 1977, 241, 9021, 21335, 30967, 81207}}, +{7435, 17, 14614, {1, 3, 1, 9, 23, 61, 103, 67, 361, 925, 811, 1007, 5707, 11479, 5907, 3897, 65141}}, +{7436, 17, 14620, {1, 3, 5, 9, 17, 61, 11, 15, 351, 715, 939, 2141, 4857, 8397, 9693, 26845, 120007}}, +{7437, 17, 14633, {1, 3, 1, 5, 19, 55, 99, 19, 291, 309, 287, 1969, 4341, 7579, 30909, 37277, 54927}}, +{7438, 17, 14641, {1, 3, 7, 3, 19, 29, 43, 163, 367, 753, 1733, 1463, 7927, 10671, 16817, 41229, 113887}}, +{7439, 17, 14648, {1, 3, 7, 1, 11, 51, 39, 207, 283, 73, 1423, 2473, 7593, 3581, 30179, 6369, 112217}}, +{7440, 17, 14671, {1, 1, 3, 15, 15, 25, 43, 5, 271, 611, 959, 537, 303, 3659, 18073, 8147, 81531}}, +{7441, 17, 14674, {1, 3, 7, 1, 27, 55, 77, 11, 367, 209, 1967, 3409, 935, 5309, 18857, 46225, 8367}}, +{7442, 17, 14689, {1, 1, 5, 11, 11, 63, 75, 73, 43, 869, 2021, 3285, 269, 9113, 32699, 2091, 17327}}, +{7443, 17, 14690, {1, 1, 5, 11, 9, 25, 31, 245, 109, 805, 1645, 3607, 817, 9571, 12767, 65441, 129977}}, +{7444, 17, 14692, {1, 3, 7, 5, 11, 61, 67, 223, 433, 387, 935, 1615, 7915, 6133, 24087, 55323, 100619}}, +{7445, 17, 14699, {1, 1, 1, 15, 25, 61, 7, 39, 311, 353, 183, 33, 2591, 4951, 31377, 9081, 9707}}, +{7446, 17, 14710, {1, 1, 3, 3, 1, 9, 65, 229, 185, 47, 1255, 1365, 2231, 6843, 26927, 27195, 60651}}, +{7447, 17, 14719, {1, 1, 7, 5, 7, 25, 91, 133, 159, 737, 1767, 3117, 7321, 6159, 3361, 27793, 33473}}, +{7448, 17, 14730, {1, 3, 7, 3, 11, 7, 5, 125, 369, 951, 1277, 65, 7703, 1817, 11773, 25657, 67045}}, +{7449, 17, 14732, {1, 1, 3, 9, 21, 27, 21, 41, 131, 605, 1, 119, 1553, 1361, 31973, 43135, 119321}}, +{7450, 17, 14743, {1, 3, 7, 1, 25, 63, 55, 173, 323, 403, 1401, 1367, 3455, 15335, 13045, 20759, 8309}}, +{7451, 17, 14744, {1, 1, 3, 5, 3, 61, 59, 7, 39, 439, 721, 2829, 3035, 2293, 32015, 28509, 104831}}, +{7452, 17, 14750, {1, 3, 5, 1, 29, 35, 71, 87, 351, 917, 1661, 547, 4501, 7107, 5493, 17833, 130729}}, +{7453, 17, 14759, {1, 1, 5, 5, 7, 5, 69, 57, 319, 595, 1749, 3789, 1437, 6327, 24089, 7387, 125109}}, +{7454, 17, 14763, {1, 3, 5, 9, 15, 53, 95, 59, 217, 37, 1561, 401, 5259, 4361, 1049, 3437, 30559}}, +{7455, 17, 14768, {1, 3, 7, 13, 15, 15, 107, 167, 475, 157, 1565, 2219, 1891, 1433, 11829, 43433, 48111}}, +{7456, 17, 14773, {1, 1, 1, 3, 11, 41, 25, 211, 243, 355, 1831, 2093, 2747, 2523, 9885, 9503, 120089}}, +{7457, 17, 14777, {1, 3, 7, 5, 11, 3, 1, 231, 243, 541, 341, 887, 3567, 14759, 26763, 35705, 29417}}, +{7458, 17, 14786, {1, 1, 7, 13, 17, 35, 117, 177, 81, 361, 1425, 2437, 6821, 1061, 15019, 19135, 106007}}, +{7459, 17, 14795, {1, 3, 3, 11, 19, 5, 39, 23, 367, 9, 879, 3583, 2527, 14375, 28359, 27393, 55041}}, +{7460, 17, 14800, {1, 1, 7, 11, 9, 41, 63, 125, 33, 337, 587, 3939, 2635, 4559, 1007, 38991, 35651}}, +{7461, 17, 14812, {1, 1, 3, 1, 19, 11, 83, 13, 227, 649, 415, 1661, 3285, 55, 3683, 22319, 2127}}, +{7462, 17, 14816, {1, 3, 7, 13, 19, 49, 113, 129, 83, 5, 19, 1095, 6561, 11049, 3805, 11355, 84265}}, +{7463, 17, 14836, {1, 3, 1, 9, 19, 41, 111, 193, 429, 319, 67, 1717, 1819, 12959, 31449, 21035, 113161}}, +{7464, 17, 14840, {1, 1, 5, 11, 19, 19, 115, 237, 145, 681, 1525, 2215, 7915, 15529, 7533, 45981, 85461}}, +{7465, 17, 14856, {1, 1, 1, 1, 25, 3, 73, 207, 15, 69, 43, 1643, 7707, 12505, 27101, 40735, 6091}}, +{7466, 17, 14859, {1, 1, 5, 11, 21, 61, 119, 7, 37, 147, 1379, 3165, 6555, 3867, 24027, 45161, 93015}}, +{7467, 17, 14870, {1, 1, 3, 9, 9, 25, 51, 125, 511, 209, 75, 2849, 2299, 2901, 25157, 13079, 67733}}, +{7468, 17, 14873, {1, 3, 7, 9, 31, 49, 99, 21, 89, 1, 1391, 1741, 2733, 7283, 12087, 9287, 39713}}, +{7469, 17, 14879, {1, 1, 5, 5, 1, 5, 89, 109, 499, 343, 431, 401, 2023, 5541, 16615, 40059, 119195}}, +{7470, 17, 14880, {1, 3, 5, 15, 27, 27, 9, 159, 395, 31, 865, 2793, 55, 10961, 23123, 63731, 54385}}, +{7471, 17, 14889, {1, 3, 7, 1, 11, 47, 123, 239, 399, 383, 1497, 4075, 4659, 2911, 2101, 8295, 115717}}, +{7472, 17, 14892, {1, 1, 3, 1, 11, 63, 125, 171, 65, 15, 349, 753, 2981, 6713, 6219, 14093, 78797}}, +{7473, 17, 14895, {1, 1, 1, 13, 9, 15, 1, 113, 221, 867, 1907, 103, 1411, 27, 22743, 377, 116907}}, +{7474, 17, 14900, {1, 3, 1, 5, 27, 5, 27, 245, 221, 575, 2009, 1561, 4263, 11843, 28331, 12865, 10483}}, +{7475, 17, 14903, {1, 3, 7, 9, 1, 51, 119, 241, 439, 913, 1191, 2343, 2055, 10247, 18283, 40175, 63321}}, +{7476, 17, 14910, {1, 1, 3, 15, 21, 59, 45, 151, 485, 293, 981, 3523, 7689, 2789, 5003, 62383, 126221}}, +{7477, 17, 14912, {1, 1, 1, 1, 13, 15, 39, 201, 405, 513, 1721, 2077, 5995, 2433, 20421, 12695, 20393}}, +{7478, 17, 14942, {1, 3, 5, 15, 11, 35, 113, 133, 187, 583, 577, 291, 7563, 12959, 9383, 44255, 81763}}, +{7479, 17, 14948, {1, 3, 7, 15, 9, 55, 57, 227, 189, 595, 1311, 1131, 1323, 11347, 12777, 50963, 13827}}, +{7480, 17, 14957, {1, 3, 5, 3, 11, 49, 77, 157, 107, 959, 761, 1457, 7121, 3027, 9269, 26291, 125261}}, +{7481, 17, 14963, {1, 1, 5, 9, 23, 53, 125, 211, 303, 433, 1103, 41, 2643, 5325, 11885, 23825, 80415}}, +{7482, 17, 14975, {1, 1, 7, 1, 29, 25, 51, 107, 209, 165, 707, 1855, 7429, 1583, 5941, 47509, 90105}}, +{7483, 17, 14985, {1, 1, 3, 3, 1, 15, 121, 165, 181, 259, 1949, 3049, 3545, 3093, 5967, 49207, 37129}}, +{7484, 17, 14993, {1, 1, 5, 13, 9, 59, 93, 87, 57, 343, 389, 1995, 4001, 11495, 12909, 13491, 61759}}, +{7485, 17, 15003, {1, 3, 1, 5, 11, 27, 27, 133, 459, 733, 1845, 1795, 4613, 3397, 12313, 52839, 129583}}, +{7486, 17, 15010, {1, 3, 5, 3, 19, 1, 7, 145, 255, 337, 1649, 1473, 4113, 4425, 12233, 55477, 69157}}, +{7487, 17, 15022, {1, 1, 3, 1, 25, 27, 93, 59, 415, 437, 25, 1565, 319, 8981, 2453, 53579, 45033}}, +{7488, 17, 15039, {1, 3, 7, 1, 27, 49, 47, 233, 341, 101, 2017, 2827, 8085, 237, 6363, 61139, 88903}}, +{7489, 17, 15041, {1, 1, 1, 5, 23, 47, 65, 251, 423, 957, 1751, 3541, 5405, 1335, 22703, 12587, 60201}}, +{7490, 17, 15047, {1, 1, 3, 3, 5, 51, 85, 195, 423, 519, 1797, 3821, 5915, 12257, 5377, 62733, 41197}}, +{7491, 17, 15048, {1, 3, 7, 15, 3, 47, 97, 1, 5, 175, 1449, 1609, 6873, 12017, 5579, 2665, 58389}}, +{7492, 17, 15056, {1, 3, 3, 15, 19, 37, 35, 29, 79, 767, 21, 1279, 1997, 11611, 14381, 35607, 127701}}, +{7493, 17, 15066, {1, 3, 7, 7, 7, 43, 47, 33, 69, 155, 703, 1373, 1589, 6997, 8627, 50647, 16989}}, +{7494, 17, 15068, {1, 3, 1, 5, 13, 33, 69, 133, 399, 361, 1633, 321, 2077, 8857, 13419, 23227, 40003}}, +{7495, 17, 15075, {1, 1, 1, 15, 15, 9, 45, 181, 427, 1005, 341, 1697, 6423, 5727, 7163, 10401, 38957}}, +{7496, 17, 15077, {1, 1, 7, 1, 17, 5, 17, 95, 279, 171, 825, 2459, 5243, 10683, 1849, 32809, 8995}}, +{7497, 17, 15082, {1, 3, 5, 15, 27, 47, 103, 69, 69, 255, 961, 2173, 5297, 5987, 5863, 14311, 117569}}, +{7498, 17, 15096, {1, 1, 1, 11, 21, 27, 61, 239, 183, 1013, 1955, 3171, 4183, 965, 14885, 49605, 87851}}, +{7499, 17, 15102, {1, 1, 7, 9, 9, 53, 99, 211, 267, 803, 1545, 4011, 7613, 13889, 28277, 6817, 26515}}, +{7500, 17, 15116, {1, 1, 3, 9, 1, 19, 33, 227, 461, 679, 499, 1069, 837, 12129, 20779, 12937, 104367}}, +{7501, 17, 15122, {1, 3, 3, 15, 7, 3, 29, 245, 179, 1015, 1651, 3753, 4185, 15357, 17379, 52835, 51953}}, +{7502, 17, 15127, {1, 3, 3, 3, 3, 25, 95, 239, 263, 427, 1749, 183, 5251, 361, 32549, 24331, 30789}}, +{7503, 17, 15133, {1, 1, 7, 1, 5, 3, 79, 9, 403, 195, 1433, 385, 8105, 7893, 16415, 23253, 127837}}, +{7504, 17, 15137, {1, 3, 7, 3, 23, 45, 115, 27, 473, 241, 361, 1787, 4247, 13451, 5627, 32923, 29375}}, +{7505, 17, 15138, {1, 3, 7, 1, 5, 55, 43, 37, 481, 899, 51, 2459, 5005, 12365, 19261, 32797, 45843}}, +{7506, 17, 15149, {1, 3, 7, 5, 9, 41, 83, 163, 241, 899, 567, 231, 4897, 15175, 10329, 6625, 95927}}, +{7507, 17, 15152, {1, 3, 1, 1, 7, 51, 61, 55, 253, 315, 1893, 2635, 4061, 257, 14147, 36639, 24893}}, +{7508, 17, 15155, {1, 1, 5, 1, 13, 63, 115, 119, 205, 309, 277, 2191, 341, 4715, 13111, 58043, 51241}}, +{7509, 17, 15158, {1, 3, 1, 15, 17, 23, 89, 121, 205, 15, 295, 667, 421, 14071, 27719, 1335, 9887}}, +{7510, 17, 15187, {1, 3, 5, 5, 17, 49, 5, 93, 251, 613, 1029, 945, 1547, 10479, 20183, 26787, 120441}}, +{7511, 17, 15189, {1, 3, 3, 15, 17, 11, 63, 97, 499, 313, 881, 2233, 4287, 5141, 13841, 40725, 49285}}, +{7512, 17, 15190, {1, 3, 3, 11, 19, 33, 105, 203, 325, 337, 353, 1923, 7157, 8623, 23881, 4513, 71495}}, +{7513, 17, 15196, {1, 1, 5, 1, 3, 15, 119, 43, 85, 869, 1597, 2433, 845, 5065, 12813, 64849, 58491}}, +{7514, 17, 15199, {1, 3, 7, 7, 25, 63, 119, 93, 303, 665, 571, 1795, 5853, 13527, 12715, 36483, 57723}}, +{7515, 17, 15205, {1, 3, 7, 13, 19, 43, 55, 85, 189, 627, 1457, 3185, 3491, 1913, 13399, 30681, 69015}}, +{7516, 17, 15212, {1, 3, 5, 9, 5, 41, 51, 65, 147, 425, 569, 1317, 1557, 7631, 17243, 37847, 51161}}, +{7517, 17, 15236, {1, 1, 3, 7, 29, 39, 61, 127, 489, 89, 749, 2073, 195, 14367, 13533, 27403, 16365}}, +{7518, 17, 15243, {1, 3, 7, 15, 13, 35, 45, 157, 373, 415, 725, 779, 3559, 7489, 11369, 36501, 60761}}, +{7519, 17, 15246, {1, 3, 1, 3, 13, 45, 25, 215, 385, 709, 499, 3861, 761, 15597, 3335, 37013, 13173}}, +{7520, 17, 15260, {1, 1, 7, 1, 13, 49, 89, 135, 175, 1015, 67, 957, 4893, 9843, 13027, 14709, 59721}}, +{7521, 17, 15267, {1, 3, 3, 11, 19, 37, 109, 143, 135, 535, 1543, 3991, 189, 6739, 28087, 18845, 41819}}, +{7522, 17, 15274, {1, 1, 7, 5, 1, 7, 11, 5, 211, 251, 1593, 2527, 3539, 10471, 25595, 60119, 89213}}, +{7523, 17, 15279, {1, 1, 5, 7, 13, 51, 121, 167, 299, 403, 977, 521, 279, 15521, 15901, 935, 14065}}, +{7524, 17, 15281, {1, 1, 7, 13, 7, 21, 27, 205, 377, 801, 1365, 1567, 6651, 139, 14229, 30827, 50429}}, +{7525, 17, 15282, {1, 1, 1, 1, 17, 11, 75, 87, 217, 413, 1923, 1765, 2037, 14061, 12433, 30671, 24883}}, +{7526, 17, 15284, {1, 1, 5, 13, 17, 51, 91, 241, 95, 505, 349, 2689, 1117, 4435, 1713, 44501, 125619}}, +{7527, 17, 15291, {1, 1, 3, 15, 11, 21, 25, 59, 511, 353, 799, 91, 4517, 16005, 17061, 21841, 46311}}, +{7528, 17, 15293, {1, 1, 1, 5, 19, 53, 109, 177, 213, 373, 761, 453, 5753, 69, 3503, 49411, 111105}}, +{7529, 17, 15302, {1, 3, 1, 5, 21, 27, 103, 167, 109, 55, 1849, 3999, 7801, 4185, 9789, 7515, 124983}}, +{7530, 17, 15319, {1, 3, 7, 7, 25, 9, 65, 127, 141, 169, 1079, 3377, 691, 5119, 6629, 3517, 28963}}, +{7531, 17, 15329, {1, 1, 3, 11, 15, 61, 127, 35, 87, 891, 1459, 483, 6763, 16173, 5633, 6939, 63411}}, +{7532, 17, 15336, {1, 3, 5, 3, 7, 63, 111, 85, 415, 273, 1705, 4045, 5551, 2377, 29025, 16831, 90203}}, +{7533, 17, 15347, {1, 3, 5, 13, 7, 23, 103, 227, 477, 985, 1059, 1489, 7233, 1917, 10409, 38759, 86761}}, +{7534, 17, 15353, {1, 3, 5, 7, 31, 33, 75, 41, 355, 577, 225, 5, 897, 15653, 27415, 83, 14911}}, +{7535, 17, 15361, {1, 3, 5, 5, 23, 13, 5, 43, 165, 53, 149, 2005, 4545, 477, 17885, 21343, 35751}}, +{7536, 17, 15371, {1, 3, 3, 3, 25, 51, 33, 203, 291, 835, 241, 3255, 3709, 3573, 9859, 33027, 122801}}, +{7537, 17, 15397, {1, 3, 5, 7, 13, 7, 3, 141, 455, 67, 2003, 3411, 4717, 157, 29491, 14429, 44849}}, +{7538, 17, 15404, {1, 1, 1, 11, 3, 33, 101, 93, 219, 371, 1191, 1521, 1663, 8485, 24815, 38283, 120867}}, +{7539, 17, 15407, {1, 1, 3, 9, 25, 61, 71, 173, 69, 181, 1525, 2129, 2979, 19, 13489, 627, 72619}}, +{7540, 17, 15421, {1, 3, 1, 7, 25, 33, 39, 247, 221, 7, 683, 1837, 8037, 9125, 4259, 63049, 63021}}, +{7541, 17, 15433, {1, 3, 3, 9, 17, 15, 9, 189, 357, 707, 521, 711, 8189, 12945, 29675, 11851, 126813}}, +{7542, 17, 15441, {1, 3, 1, 1, 23, 3, 57, 133, 245, 301, 957, 239, 3139, 7949, 27133, 18229, 93015}}, +{7543, 17, 15442, {1, 1, 3, 1, 29, 23, 35, 87, 231, 257, 1997, 271, 3019, 3409, 10613, 42245, 111309}}, +{7544, 17, 15463, {1, 1, 3, 3, 1, 21, 17, 37, 393, 943, 791, 3101, 6715, 11907, 25369, 9061, 75381}}, +{7545, 17, 15472, {1, 1, 7, 7, 17, 31, 25, 7, 183, 819, 1265, 3343, 6845, 2039, 3779, 41861, 38309}}, +{7546, 17, 15478, {1, 1, 1, 5, 17, 25, 1, 41, 173, 995, 863, 3515, 1779, 2159, 28223, 64661, 40697}}, +{7547, 17, 15488, {1, 1, 3, 15, 29, 49, 81, 241, 511, 817, 1301, 3593, 6759, 7483, 8859, 30339, 106137}}, +{7548, 17, 15493, {1, 3, 1, 11, 17, 61, 95, 231, 3, 693, 37, 1091, 3111, 11941, 17475, 8073, 62373}}, +{7549, 17, 15498, {1, 1, 1, 3, 7, 25, 93, 7, 291, 957, 859, 2519, 241, 10963, 10403, 933, 50599}}, +{7550, 17, 15511, {1, 1, 7, 1, 7, 33, 121, 91, 369, 333, 229, 4073, 6063, 6491, 31711, 65061, 107843}}, +{7551, 17, 15521, {1, 1, 5, 15, 17, 1, 117, 195, 445, 547, 867, 2893, 4835, 6513, 29091, 60367, 33409}}, +{7552, 17, 15534, {1, 3, 3, 7, 15, 5, 125, 131, 165, 127, 207, 853, 5927, 3605, 17083, 44481, 111333}}, +{7553, 17, 15539, {1, 1, 1, 9, 3, 43, 75, 191, 319, 889, 1513, 3301, 1535, 4693, 10367, 12491, 43175}}, +{7554, 17, 15541, {1, 3, 5, 5, 29, 19, 75, 221, 393, 977, 1373, 1571, 7377, 1763, 18073, 11381, 101241}}, +{7555, 17, 15560, {1, 3, 1, 15, 3, 15, 73, 91, 165, 213, 1077, 1267, 2411, 15807, 3979, 12731, 86597}}, +{7556, 17, 15563, {1, 1, 3, 7, 3, 21, 5, 135, 95, 337, 1853, 1675, 2449, 12535, 18505, 60127, 76949}}, +{7557, 17, 15574, {1, 1, 7, 3, 15, 11, 63, 127, 329, 169, 1569, 675, 4801, 5859, 3243, 25811, 77841}}, +{7558, 17, 15578, {1, 1, 1, 9, 19, 13, 73, 119, 105, 537, 951, 1033, 5303, 5775, 815, 19277, 57607}}, +{7559, 17, 15584, {1, 3, 5, 5, 23, 21, 91, 231, 117, 1007, 1603, 841, 2595, 11223, 17171, 25963, 17049}}, +{7560, 17, 15593, {1, 1, 5, 11, 15, 43, 7, 229, 55, 129, 599, 993, 563, 15677, 16703, 36253, 17847}}, +{7561, 17, 15604, {1, 3, 1, 9, 25, 3, 109, 21, 87, 721, 1927, 3219, 3395, 3267, 9117, 13591, 89267}}, +{7562, 17, 15614, {1, 1, 1, 15, 11, 17, 47, 49, 125, 925, 333, 945, 2411, 10907, 12021, 47857, 84303}}, +{7563, 17, 15619, {1, 1, 1, 1, 23, 11, 99, 215, 105, 417, 823, 1289, 421, 12285, 17711, 35389, 1935}}, +{7564, 17, 15622, {1, 1, 1, 15, 27, 7, 23, 141, 7, 929, 147, 681, 5473, 4173, 28645, 42053, 83573}}, +{7565, 17, 15633, {1, 1, 1, 11, 5, 61, 71, 65, 287, 697, 1183, 3257, 7251, 14011, 21349, 42445, 4701}}, +{7566, 17, 15639, {1, 3, 5, 9, 5, 23, 45, 217, 369, 189, 1495, 107, 425, 10467, 4909, 64293, 17885}}, +{7567, 17, 15646, {1, 1, 3, 11, 21, 45, 75, 65, 57, 893, 783, 3429, 409, 13617, 483, 62489, 2919}}, +{7568, 17, 15673, {1, 1, 7, 3, 5, 61, 51, 255, 501, 839, 367, 1165, 7055, 8139, 23891, 18807, 20739}}, +{7569, 17, 15674, {1, 1, 3, 7, 23, 15, 97, 139, 323, 463, 921, 1529, 6655, 8697, 23577, 56761, 62023}}, +{7570, 17, 15684, {1, 1, 5, 11, 13, 11, 57, 225, 277, 713, 1427, 95, 1135, 7721, 30731, 32625, 107891}}, +{7571, 17, 15691, {1, 1, 5, 7, 23, 35, 39, 91, 291, 609, 919, 3325, 6843, 7659, 5603, 37471, 41495}}, +{7572, 17, 15694, {1, 1, 1, 1, 25, 11, 117, 15, 389, 589, 1345, 423, 6531, 9903, 20243, 9523, 22991}}, +{7573, 17, 15696, {1, 3, 5, 15, 29, 7, 57, 113, 387, 883, 1141, 3295, 2973, 4129, 16973, 33429, 109997}}, +{7574, 17, 15701, {1, 3, 5, 3, 25, 1, 73, 207, 353, 203, 1479, 985, 6373, 3079, 28403, 63675, 21787}}, +{7575, 17, 15705, {1, 3, 1, 5, 31, 39, 107, 197, 359, 45, 203, 559, 4721, 6579, 11305, 12957, 10061}}, +{7576, 17, 15715, {1, 3, 7, 15, 9, 3, 55, 153, 373, 981, 575, 827, 4757, 15743, 14295, 43875, 17847}}, +{7577, 17, 15729, {1, 3, 5, 1, 17, 1, 93, 87, 207, 997, 1695, 3643, 6973, 9507, 29309, 58531, 6849}}, +{7578, 17, 15730, {1, 3, 1, 11, 3, 39, 17, 241, 83, 931, 39, 3839, 6437, 5159, 28869, 61859, 96873}}, +{7579, 17, 15741, {1, 1, 5, 13, 29, 43, 71, 159, 261, 563, 695, 1205, 2273, 8077, 12569, 17187, 54369}}, +{7580, 17, 15745, {1, 3, 7, 5, 11, 57, 17, 31, 311, 1001, 1419, 3899, 6679, 15531, 28877, 28221, 105413}}, +{7581, 17, 15748, {1, 3, 3, 13, 23, 29, 127, 19, 345, 1003, 1571, 2219, 3199, 9903, 18701, 31865, 108879}}, +{7582, 17, 15757, {1, 3, 7, 13, 23, 51, 95, 43, 35, 439, 25, 323, 2365, 12407, 27525, 57795, 74495}}, +{7583, 17, 15765, {1, 1, 1, 1, 17, 43, 57, 185, 439, 929, 69, 813, 6205, 3139, 3853, 56967, 19073}}, +{7584, 17, 15766, {1, 3, 7, 1, 27, 5, 43, 211, 395, 113, 1675, 1505, 6171, 5169, 9991, 21641, 27101}}, +{7585, 17, 15775, {1, 3, 3, 1, 17, 41, 59, 131, 131, 339, 955, 1145, 5301, 4585, 20441, 43227, 23123}}, +{7586, 17, 15776, {1, 1, 7, 9, 9, 55, 61, 31, 71, 229, 963, 3247, 4677, 9595, 21715, 36391, 86997}}, +{7587, 17, 15779, {1, 1, 7, 5, 9, 17, 55, 179, 27, 229, 79, 1335, 5887, 1003, 22085, 34377, 51367}}, +{7588, 17, 15786, {1, 1, 1, 5, 11, 45, 15, 219, 411, 27, 1003, 1553, 303, 13571, 13985, 6801, 52407}}, +{7589, 17, 15788, {1, 3, 3, 7, 7, 55, 111, 255, 453, 409, 1863, 1449, 4103, 8725, 26923, 5017, 43657}}, +{7590, 17, 15813, {1, 1, 1, 15, 23, 3, 95, 57, 29, 727, 1111, 3309, 1089, 471, 16099, 11517, 51563}}, +{7591, 17, 15814, {1, 3, 1, 15, 17, 57, 83, 163, 251, 987, 1159, 2079, 3463, 13109, 7443, 8665, 123397}}, +{7592, 17, 15842, {1, 1, 7, 1, 27, 13, 35, 209, 471, 843, 1029, 1383, 5413, 2085, 13431, 26557, 47033}}, +{7593, 17, 15851, {1, 3, 1, 1, 21, 21, 83, 135, 303, 27, 1407, 1751, 331, 9207, 31891, 59287, 120687}}, +{7594, 17, 15862, {1, 1, 1, 9, 11, 35, 103, 157, 1, 855, 175, 3203, 4381, 3113, 27589, 4567, 31897}}, +{7595, 17, 15875, {1, 1, 3, 5, 21, 5, 123, 161, 301, 101, 909, 947, 6893, 15459, 29139, 49377, 94901}}, +{7596, 17, 15878, {1, 3, 7, 7, 21, 27, 5, 69, 427, 409, 1389, 3737, 847, 2775, 603, 1001, 87651}}, +{7597, 17, 15889, {1, 1, 3, 5, 1, 57, 109, 89, 99, 593, 581, 3527, 1557, 4971, 27523, 26909, 35787}}, +{7598, 17, 15896, {1, 1, 7, 3, 31, 19, 83, 65, 239, 919, 15, 2289, 4117, 9127, 6033, 49667, 89343}}, +{7599, 17, 15901, {1, 3, 7, 7, 9, 31, 87, 117, 195, 681, 1711, 1753, 2221, 10053, 1985, 6273, 21801}}, +{7600, 17, 15908, {1, 3, 1, 7, 21, 61, 53, 231, 309, 115, 1729, 3883, 6085, 4825, 31455, 50097, 59779}}, +{7601, 17, 15911, {1, 1, 1, 9, 29, 25, 45, 91, 145, 927, 147, 371, 2603, 12537, 17267, 59895, 128009}}, +{7602, 17, 15915, {1, 1, 1, 1, 15, 41, 63, 43, 167, 215, 15, 3387, 1811, 12391, 25721, 6961, 13701}}, +{7603, 17, 15938, {1, 1, 7, 1, 27, 63, 25, 85, 337, 799, 87, 2237, 4085, 14529, 11493, 60149, 86399}}, +{7604, 17, 15944, {1, 3, 1, 11, 1, 41, 103, 145, 279, 805, 1201, 823, 5411, 4227, 25999, 14373, 36295}}, +{7605, 17, 15950, {1, 1, 7, 3, 27, 51, 83, 105, 155, 657, 1879, 3869, 2559, 2939, 19785, 47167, 34503}}, +{7606, 17, 15955, {1, 3, 1, 5, 3, 31, 47, 241, 257, 15, 983, 4095, 3745, 3901, 1639, 5421, 81585}}, +{7607, 17, 15974, {1, 3, 3, 5, 31, 13, 127, 125, 175, 577, 1103, 3573, 6229, 13969, 6267, 19067, 3933}}, +{7608, 17, 15978, {1, 1, 7, 1, 31, 17, 15, 15, 411, 553, 1929, 3731, 1955, 11749, 21991, 39189, 124427}}, +{7609, 17, 15980, {1, 3, 5, 5, 19, 63, 93, 201, 491, 599, 1093, 767, 3411, 13087, 23569, 42981, 35757}}, +{7610, 17, 15983, {1, 1, 1, 15, 27, 7, 51, 101, 429, 939, 111, 781, 2055, 14227, 17821, 42097, 32485}}, +{7611, 17, 15991, {1, 3, 7, 13, 11, 21, 3, 161, 353, 389, 285, 2633, 6245, 7089, 21907, 40765, 88869}}, +{7612, 17, 16004, {1, 1, 5, 9, 7, 27, 101, 203, 243, 897, 1375, 1619, 5275, 12935, 22103, 38005, 65603}}, +{7613, 17, 16011, {1, 1, 5, 9, 13, 25, 15, 21, 447, 7, 947, 1613, 5055, 129, 18057, 58551, 6603}}, +{7614, 17, 16016, {1, 3, 7, 15, 17, 41, 11, 55, 103, 339, 349, 1813, 7423, 11837, 20641, 51951, 61615}}, +{7615, 17, 16019, {1, 3, 3, 15, 21, 59, 113, 3, 123, 689, 465, 3039, 4109, 3241, 30317, 65053, 117845}}, +{7616, 17, 16025, {1, 3, 3, 1, 31, 33, 73, 155, 245, 401, 473, 51, 1387, 489, 10573, 55401, 106733}}, +{7617, 17, 16041, {1, 3, 3, 1, 31, 37, 15, 139, 127, 201, 229, 1753, 7287, 9045, 18321, 63485, 26399}}, +{7618, 17, 16064, {1, 3, 5, 5, 5, 23, 93, 3, 125, 715, 1827, 419, 1213, 9031, 25139, 20771, 41345}}, +{7619, 17, 16067, {1, 3, 5, 15, 23, 15, 13, 145, 105, 477, 1131, 2699, 1929, 10447, 9655, 26791, 80101}}, +{7620, 17, 16074, {1, 1, 1, 13, 1, 35, 75, 73, 269, 851, 737, 1909, 6805, 11359, 28991, 52435, 83767}}, +{7621, 17, 16082, {1, 1, 7, 5, 11, 31, 31, 91, 111, 161, 1865, 2545, 133, 12215, 8957, 20671, 92975}}, +{7622, 17, 16103, {1, 1, 7, 5, 25, 53, 55, 121, 53, 457, 831, 2493, 339, 10955, 30783, 9095, 97921}}, +{7623, 17, 16109, {1, 1, 5, 3, 25, 33, 81, 51, 211, 737, 1865, 4039, 6931, 8473, 22459, 24885, 96355}}, +{7624, 17, 16122, {1, 3, 7, 13, 23, 5, 101, 171, 65, 793, 443, 411, 7629, 14791, 28633, 9055, 123763}}, +{7625, 17, 16149, {1, 3, 3, 1, 11, 7, 99, 79, 461, 481, 1689, 3777, 2125, 4783, 13061, 19537, 68109}}, +{7626, 17, 16170, {1, 1, 3, 11, 31, 53, 109, 7, 49, 925, 1017, 2371, 1537, 13557, 75, 40677, 49181}}, +{7627, 17, 16175, {1, 3, 3, 3, 9, 1, 95, 113, 189, 389, 377, 393, 6523, 3183, 6461, 30201, 66549}}, +{7628, 17, 16178, {1, 1, 7, 15, 13, 19, 41, 171, 475, 157, 949, 3245, 5581, 2783, 25263, 53023, 11155}}, +{7629, 17, 16189, {1, 3, 5, 7, 29, 63, 61, 65, 315, 595, 905, 899, 5059, 4243, 27287, 14023, 64213}}, +{7630, 17, 16202, {1, 3, 1, 3, 15, 37, 109, 161, 9, 867, 1023, 2513, 4593, 7747, 1505, 4801, 127091}}, +{7631, 17, 16204, {1, 3, 1, 7, 11, 59, 75, 129, 469, 695, 63, 2757, 6357, 8675, 6193, 23439, 66445}}, +{7632, 17, 16222, {1, 1, 3, 13, 17, 9, 47, 91, 161, 265, 139, 129, 6707, 9659, 8917, 54757, 77835}}, +{7633, 17, 16231, {1, 1, 3, 13, 19, 37, 113, 255, 99, 913, 1445, 487, 337, 1001, 16395, 37141, 66595}}, +{7634, 17, 16238, {1, 1, 1, 15, 3, 63, 69, 43, 185, 293, 1137, 2061, 2377, 8741, 26817, 5833, 7807}}, +{7635, 17, 16262, {1, 1, 1, 5, 3, 29, 39, 33, 263, 355, 597, 539, 5055, 13075, 8977, 19829, 88171}}, +{7636, 17, 16265, {1, 3, 7, 9, 17, 49, 125, 101, 447, 597, 1337, 559, 2807, 7925, 12421, 17427, 34815}}, +{7637, 17, 16276, {1, 3, 1, 9, 11, 57, 31, 163, 503, 925, 911, 3721, 2515, 8429, 25749, 55209, 90105}}, +{7638, 17, 16285, {1, 3, 5, 3, 21, 57, 119, 233, 319, 745, 563, 3057, 2683, 7063, 11513, 49157, 64561}}, +{7639, 17, 16313, {1, 1, 3, 9, 15, 21, 93, 99, 227, 479, 965, 51, 6941, 9887, 32409, 23171, 98387}}, +{7640, 17, 16314, {1, 3, 5, 5, 19, 1, 47, 49, 233, 931, 971, 2369, 2827, 1291, 18653, 725, 19791}}, +{7641, 17, 16321, {1, 1, 5, 15, 3, 7, 71, 251, 341, 861, 1203, 793, 7627, 10929, 10717, 10677, 49743}}, +{7642, 17, 16327, {1, 3, 1, 7, 3, 43, 9, 187, 247, 621, 1069, 2875, 1525, 4221, 18813, 35807, 117609}}, +{7643, 17, 16333, {1, 3, 3, 3, 29, 39, 83, 201, 205, 337, 231, 547, 2893, 2483, 6197, 26869, 18921}}, +{7644, 17, 16334, {1, 1, 7, 3, 23, 29, 33, 137, 491, 691, 979, 65, 5711, 11685, 5137, 37993, 37075}}, +{7645, 17, 16364, {1, 3, 3, 1, 11, 3, 99, 119, 203, 901, 1887, 879, 7547, 4613, 31233, 13279, 105089}}, +{7646, 17, 16369, {1, 1, 1, 13, 25, 23, 111, 167, 313, 141, 127, 1223, 5711, 4101, 10977, 34695, 128303}}, +{7647, 17, 16370, {1, 1, 7, 15, 5, 3, 89, 151, 289, 769, 539, 2883, 8121, 15403, 22345, 63765, 117015}}, +{7648, 17, 16375, {1, 1, 1, 13, 15, 9, 71, 95, 37, 705, 1575, 3735, 7445, 2027, 27523, 53321, 106085}}, +{7649, 17, 16376, {1, 3, 5, 7, 5, 29, 7, 25, 181, 491, 1173, 1947, 3321, 9233, 17265, 26999, 97783}}, +{7650, 17, 16379, {1, 1, 3, 15, 1, 63, 111, 113, 279, 123, 345, 1529, 2725, 8643, 8551, 30073, 26689}}, +{7651, 17, 16393, {1, 3, 7, 7, 5, 55, 117, 211, 293, 851, 1491, 3265, 4009, 14949, 10297, 16219, 69983}}, +{7652, 17, 16402, {1, 1, 3, 11, 23, 45, 35, 91, 97, 191, 417, 3545, 1733, 3955, 10763, 10229, 75027}}, +{7653, 17, 16408, {1, 1, 3, 13, 3, 61, 69, 205, 379, 627, 295, 3979, 85, 11305, 2493, 35583, 3133}}, +{7654, 17, 16418, {1, 3, 5, 9, 5, 63, 67, 201, 351, 367, 1009, 739, 5409, 8715, 28939, 31511, 34599}}, +{7655, 17, 16438, {1, 1, 1, 5, 3, 25, 21, 25, 477, 301, 623, 157, 563, 9457, 24515, 30135, 107165}}, +{7656, 17, 16441, {1, 1, 3, 15, 5, 41, 49, 171, 469, 427, 857, 2165, 1437, 2151, 24061, 63243, 105331}}, +{7657, 17, 16447, {1, 3, 5, 11, 21, 25, 59, 167, 29, 653, 1503, 2223, 3889, 4605, 28381, 36075, 74907}}, +{7658, 17, 16450, {1, 3, 7, 7, 17, 55, 73, 127, 33, 319, 1565, 2761, 6473, 2187, 19939, 56687, 112137}}, +{7659, 17, 16455, {1, 1, 1, 9, 7, 53, 105, 3, 299, 15, 1009, 607, 6885, 12875, 20719, 16841, 70471}}, +{7660, 17, 16459, {1, 3, 5, 9, 7, 33, 23, 163, 279, 739, 1541, 3017, 2309, 11827, 3875, 44337, 82063}}, +{7661, 17, 16483, {1, 1, 1, 5, 19, 53, 109, 193, 331, 339, 477, 4093, 5177, 13527, 25731, 64137, 81411}}, +{7662, 17, 16490, {1, 3, 7, 13, 15, 63, 101, 145, 127, 13, 1431, 3581, 4993, 14287, 12125, 60217, 102563}}, +{7663, 17, 16492, {1, 3, 1, 7, 17, 27, 127, 81, 223, 763, 761, 2061, 1031, 12251, 14141, 23587, 124813}}, +{7664, 17, 16495, {1, 3, 5, 13, 27, 21, 9, 249, 285, 875, 65, 4075, 6749, 13417, 3079, 29343, 87075}}, +{7665, 17, 16523, {1, 3, 5, 13, 1, 31, 61, 21, 169, 145, 1681, 1229, 5059, 13555, 21373, 35597, 70669}}, +{7666, 17, 16528, {1, 3, 7, 15, 23, 31, 43, 237, 139, 9, 1905, 3197, 801, 14205, 13323, 18717, 88523}}, +{7667, 17, 16543, {1, 1, 1, 11, 1, 7, 21, 83, 15, 459, 537, 4029, 6973, 4019, 1, 35147, 16329}}, +{7668, 17, 16553, {1, 3, 7, 15, 23, 11, 17, 101, 235, 683, 913, 3529, 4363, 13899, 3603, 27741, 74143}}, +{7669, 17, 16562, {1, 1, 7, 7, 3, 3, 91, 107, 499, 723, 315, 2805, 5909, 11041, 18281, 54981, 76041}}, +{7670, 17, 16564, {1, 3, 7, 9, 15, 7, 93, 171, 275, 647, 655, 3565, 2199, 14795, 21945, 9373, 122299}}, +{7671, 17, 16576, {1, 1, 1, 5, 27, 53, 73, 27, 431, 707, 53, 1281, 49, 13199, 1973, 18935, 114821}}, +{7672, 17, 16588, {1, 1, 3, 3, 25, 1, 17, 159, 217, 413, 1393, 2119, 5611, 7659, 6003, 19927, 22287}}, +{7673, 17, 16612, {1, 1, 7, 15, 29, 59, 77, 9, 205, 795, 627, 2167, 2477, 6841, 17663, 34871, 79823}}, +{7674, 17, 16630, {1, 3, 5, 9, 13, 35, 79, 237, 11, 335, 789, 2291, 13, 853, 20373, 39049, 407}}, +{7675, 17, 16654, {1, 1, 5, 7, 13, 27, 21, 173, 137, 659, 123, 2677, 2153, 14879, 26737, 56291, 47613}}, +{7676, 17, 16656, {1, 3, 5, 15, 23, 47, 15, 109, 311, 597, 261, 2407, 8139, 3215, 28169, 60731, 79937}}, +{7677, 17, 16668, {1, 3, 3, 5, 11, 61, 71, 29, 189, 741, 1171, 397, 2669, 10627, 20037, 51703, 6697}}, +{7678, 17, 16672, {1, 3, 3, 3, 9, 41, 125, 1, 381, 399, 349, 3265, 6337, 8113, 14869, 5305, 83409}}, +{7679, 17, 16675, {1, 1, 3, 13, 5, 19, 33, 225, 45, 55, 1809, 1037, 5443, 15719, 9963, 363, 15145}}, +{7680, 17, 16678, {1, 3, 7, 1, 31, 25, 103, 29, 207, 169, 305, 913, 7501, 15323, 10575, 13477, 65245}}, +{7681, 17, 16681, {1, 3, 3, 15, 13, 23, 69, 255, 333, 157, 279, 1989, 3439, 12955, 13649, 52431, 90009}}, +{7682, 17, 16689, {1, 3, 7, 5, 23, 61, 111, 121, 79, 469, 89, 1545, 3405, 12393, 2035, 15989, 84855}}, +{7683, 17, 16699, {1, 1, 7, 5, 17, 21, 127, 151, 283, 521, 5, 3023, 5365, 11633, 21177, 42207, 48925}}, +{7684, 17, 16719, {1, 3, 7, 5, 21, 21, 61, 17, 415, 879, 1485, 3727, 935, 9899, 23241, 651, 103701}}, +{7685, 17, 16734, {1, 3, 5, 15, 31, 47, 19, 245, 249, 467, 253, 1575, 337, 863, 19353, 13153, 125453}}, +{7686, 17, 16737, {1, 1, 7, 15, 9, 41, 39, 63, 139, 875, 1011, 1961, 1627, 7461, 28961, 47195, 16239}}, +{7687, 17, 16750, {1, 3, 3, 7, 27, 55, 51, 245, 231, 619, 43, 91, 2125, 2685, 23661, 10189, 43085}}, +{7688, 17, 16752, {1, 1, 7, 9, 27, 55, 35, 139, 187, 143, 1545, 2685, 3173, 12065, 21607, 42619, 105279}}, +{7689, 17, 16757, {1, 1, 5, 3, 29, 63, 15, 197, 49, 995, 389, 1959, 2441, 11509, 31753, 40539, 26989}}, +{7690, 17, 16761, {1, 3, 7, 15, 19, 37, 17, 37, 305, 469, 945, 2335, 1493, 13843, 19905, 49031, 107893}}, +{7691, 17, 16773, {1, 3, 1, 11, 3, 35, 113, 181, 223, 27, 485, 2435, 3423, 11321, 1687, 45755, 18017}}, +{7692, 17, 16774, {1, 3, 3, 13, 17, 47, 109, 145, 287, 769, 1373, 3423, 1251, 14357, 3209, 28363, 97987}}, +{7693, 17, 16801, {1, 1, 3, 13, 7, 25, 93, 11, 23, 331, 517, 1705, 1957, 291, 763, 10411, 120367}}, +{7694, 17, 16802, {1, 3, 7, 15, 25, 9, 1, 33, 83, 61, 97, 509, 5387, 8701, 14243, 31883, 7375}}, +{7695, 17, 16822, {1, 3, 1, 5, 19, 11, 59, 95, 265, 205, 533, 1857, 693, 12469, 24445, 19449, 130623}}, +{7696, 17, 16831, {1, 1, 7, 7, 1, 5, 15, 159, 333, 361, 391, 1889, 2645, 15115, 30709, 60515, 13315}}, +{7697, 17, 16840, {1, 3, 5, 15, 25, 61, 69, 213, 183, 575, 1573, 3147, 1753, 2387, 23063, 12853, 108507}}, +{7698, 17, 16854, {1, 1, 1, 15, 17, 31, 11, 177, 411, 23, 469, 3985, 2159, 2273, 14175, 20425, 107741}}, +{7699, 17, 16858, {1, 1, 3, 9, 5, 35, 55, 225, 263, 641, 1393, 1277, 595, 2671, 7039, 64999, 114387}}, +{7700, 17, 16863, {1, 1, 3, 3, 11, 23, 1, 161, 77, 755, 1325, 1773, 4291, 13119, 29677, 27295, 81713}}, +{7701, 17, 16867, {1, 1, 5, 13, 31, 45, 115, 141, 449, 171, 1413, 2411, 7937, 10859, 19453, 64403, 45169}}, +{7702, 17, 16876, {1, 3, 5, 7, 1, 27, 117, 157, 99, 119, 1281, 2633, 5117, 16009, 19545, 7421, 30807}}, +{7703, 17, 16891, {1, 1, 3, 13, 19, 11, 61, 239, 331, 731, 1723, 1773, 2623, 15255, 17197, 63793, 100433}}, +{7704, 17, 16894, {1, 3, 7, 11, 11, 7, 119, 33, 195, 521, 811, 2599, 3113, 5497, 16751, 2541, 21813}}, +{7705, 17, 16898, {1, 1, 1, 15, 23, 47, 25, 73, 429, 213, 557, 1613, 7055, 7211, 2225, 1345, 58033}}, +{7706, 17, 16907, {1, 1, 1, 13, 15, 39, 69, 71, 11, 543, 267, 2803, 4853, 9819, 603, 4629, 78343}}, +{7707, 17, 16915, {1, 1, 7, 1, 15, 55, 47, 223, 63, 679, 1135, 3225, 3845, 12031, 6761, 20337, 29021}}, +{7708, 17, 16917, {1, 1, 3, 3, 3, 51, 127, 103, 43, 379, 169, 2549, 7775, 2553, 27415, 30671, 34043}}, +{7709, 17, 16922, {1, 1, 3, 11, 1, 31, 89, 113, 475, 857, 499, 3901, 5343, 8819, 4503, 58757, 60513}}, +{7710, 17, 16924, {1, 3, 5, 11, 27, 49, 97, 217, 91, 971, 1835, 3447, 2021, 3747, 20533, 13659, 84007}}, +{7711, 17, 16933, {1, 1, 5, 1, 31, 39, 49, 21, 135, 983, 579, 3509, 3611, 15101, 29781, 49941, 14353}}, +{7712, 17, 16938, {1, 1, 1, 9, 7, 17, 55, 233, 295, 161, 823, 3823, 4771, 13531, 24197, 42629, 60269}}, +{7713, 17, 16952, {1, 1, 3, 15, 23, 5, 101, 167, 55, 297, 1733, 3819, 7041, 9915, 27803, 60359, 10249}}, +{7714, 17, 16960, {1, 1, 7, 9, 25, 47, 67, 253, 303, 313, 1389, 3785, 2729, 11471, 27267, 42783, 111595}}, +{7715, 17, 16963, {1, 1, 5, 13, 25, 63, 17, 195, 457, 793, 1553, 1673, 6799, 12171, 9003, 22195, 90229}}, +{7716, 17, 16969, {1, 1, 3, 15, 11, 43, 43, 221, 423, 985, 873, 599, 1753, 4875, 7149, 34625, 8941}}, +{7717, 17, 16978, {1, 3, 5, 11, 1, 7, 109, 163, 309, 477, 1291, 3019, 1933, 14055, 15005, 1141, 66867}}, +{7718, 17, 17014, {1, 3, 3, 15, 21, 35, 95, 131, 413, 1009, 147, 2165, 6333, 8313, 20873, 18377, 23579}}, +{7719, 17, 17020, {1, 3, 1, 5, 21, 49, 29, 187, 67, 419, 253, 2345, 3179, 12331, 23127, 8799, 102493}}, +{7720, 17, 17034, {1, 1, 7, 5, 29, 59, 13, 189, 377, 595, 1893, 527, 7993, 14867, 24671, 14585, 38645}}, +{7721, 17, 17036, {1, 3, 5, 13, 3, 11, 99, 69, 253, 833, 1961, 2719, 3953, 8143, 21277, 16257, 26929}}, +{7722, 17, 17042, {1, 3, 7, 3, 3, 19, 19, 57, 393, 187, 945, 2107, 669, 14785, 13895, 26907, 92439}}, +{7723, 17, 17047, {1, 3, 5, 15, 11, 5, 73, 167, 99, 887, 1213, 2019, 3781, 14345, 30249, 16215, 1893}}, +{7724, 17, 17051, {1, 1, 5, 1, 17, 11, 69, 145, 97, 393, 1587, 2513, 1011, 6933, 7945, 41387, 34361}}, +{7725, 17, 17054, {1, 1, 5, 1, 5, 59, 57, 1, 501, 855, 1485, 977, 4981, 7631, 31853, 30737, 103023}}, +{7726, 17, 17063, {1, 3, 1, 5, 3, 27, 55, 171, 317, 641, 1875, 2523, 1631, 4971, 18743, 25119, 118913}}, +{7727, 17, 17069, {1, 1, 3, 15, 7, 39, 73, 209, 125, 29, 1031, 1569, 1793, 5461, 985, 59441, 92997}}, +{7728, 17, 17075, {1, 3, 5, 11, 27, 23, 57, 13, 65, 555, 1309, 1149, 5125, 11573, 3835, 57913, 78699}}, +{7729, 17, 17077, {1, 3, 7, 5, 29, 7, 51, 131, 443, 623, 1491, 1067, 6647, 6277, 25799, 54843, 90869}}, +{7730, 17, 17089, {1, 1, 1, 11, 7, 33, 67, 113, 319, 665, 11, 1225, 3137, 16269, 20101, 40263, 31091}}, +{7731, 17, 17090, {1, 3, 5, 15, 7, 5, 101, 153, 165, 173, 97, 1651, 6633, 6071, 29079, 35641, 77305}}, +{7732, 17, 17107, {1, 3, 7, 13, 9, 45, 103, 55, 121, 1021, 1841, 315, 8127, 6547, 1093, 7181, 39575}}, +{7733, 17, 17126, {1, 3, 3, 11, 15, 17, 27, 55, 341, 443, 377, 681, 3635, 1091, 16719, 49403, 85507}}, +{7734, 17, 17135, {1, 3, 5, 5, 29, 53, 51, 213, 273, 475, 981, 549, 539, 14989, 4037, 23911, 45997}}, +{7735, 17, 17150, {1, 3, 5, 3, 27, 37, 73, 115, 331, 911, 991, 4049, 6299, 3919, 10231, 31507, 98651}}, +{7736, 17, 17162, {1, 1, 5, 13, 21, 13, 1, 175, 137, 837, 1067, 2845, 307, 4399, 15671, 1309, 107409}}, +{7737, 17, 17169, {1, 1, 3, 1, 5, 47, 111, 75, 193, 389, 157, 3731, 6237, 5053, 9933, 28413, 32939}}, +{7738, 17, 17172, {1, 1, 7, 5, 29, 1, 51, 85, 267, 935, 1021, 3135, 3135, 9263, 32597, 6779, 71473}}, +{7739, 17, 17175, {1, 3, 5, 9, 21, 59, 27, 99, 155, 507, 1911, 3501, 4307, 6755, 17127, 29815, 1577}}, +{7740, 17, 17176, {1, 1, 5, 1, 15, 63, 45, 105, 125, 299, 689, 3935, 7229, 5007, 25003, 30453, 27819}}, +{7741, 17, 17191, {1, 1, 7, 15, 19, 9, 67, 151, 45, 985, 2015, 833, 5435, 15383, 25881, 46735, 56717}}, +{7742, 17, 17209, {1, 1, 5, 15, 27, 59, 119, 163, 293, 63, 1251, 1309, 485, 4937, 27207, 47481, 114357}}, +{7743, 17, 17218, {1, 3, 5, 13, 23, 11, 111, 87, 329, 467, 1657, 3309, 3421, 12013, 23163, 14105, 88761}}, +{7744, 17, 17220, {1, 1, 5, 11, 17, 63, 9, 61, 299, 585, 341, 3375, 3213, 15953, 11455, 5333, 66889}}, +{7745, 17, 17227, {1, 3, 5, 5, 5, 35, 57, 235, 137, 543, 77, 2811, 857, 12793, 10791, 55711, 93353}}, +{7746, 17, 17229, {1, 3, 7, 3, 23, 37, 19, 81, 321, 23, 1625, 2359, 3569, 4685, 7385, 32677, 18073}}, +{7747, 17, 17238, {1, 3, 3, 7, 21, 35, 81, 229, 207, 547, 1397, 2709, 7159, 1265, 16823, 9921, 29159}}, +{7748, 17, 17251, {1, 3, 7, 13, 27, 13, 107, 241, 395, 317, 307, 3927, 1153, 15915, 25179, 25173, 21503}}, +{7749, 17, 17257, {1, 3, 1, 5, 1, 51, 25, 135, 381, 229, 1491, 2009, 3331, 16165, 8169, 65161, 9335}}, +{7750, 17, 17258, {1, 1, 5, 5, 17, 15, 57, 221, 183, 225, 1649, 3701, 299, 12349, 4691, 64479, 82237}}, +{7751, 17, 17272, {1, 3, 7, 7, 31, 39, 65, 183, 149, 67, 1697, 3933, 3709, 15501, 12583, 60117, 88691}}, +{7752, 17, 17277, {1, 1, 5, 15, 17, 49, 117, 233, 161, 891, 789, 1347, 4887, 10713, 10613, 4389, 42619}}, +{7753, 17, 17308, {1, 3, 5, 9, 13, 3, 83, 69, 381, 777, 743, 2843, 7233, 3285, 8931, 48667, 120777}}, +{7754, 17, 17311, {1, 3, 1, 3, 11, 7, 55, 107, 165, 533, 1897, 3385, 1069, 12805, 30125, 42729, 123977}}, +{7755, 17, 17321, {1, 1, 1, 5, 13, 17, 103, 237, 77, 537, 1843, 2817, 7467, 13647, 15259, 3525, 18313}}, +{7756, 17, 17329, {1, 1, 7, 7, 13, 59, 29, 197, 309, 917, 1173, 2605, 4313, 12007, 25611, 60409, 104931}}, +{7757, 17, 17342, {1, 3, 3, 3, 27, 57, 7, 207, 491, 467, 1973, 3075, 8043, 3977, 14517, 13179, 47111}}, +{7758, 17, 17344, {1, 1, 7, 5, 31, 33, 125, 235, 79, 847, 1893, 3875, 7513, 1435, 24959, 46813, 82053}}, +{7759, 17, 17350, {1, 3, 7, 5, 3, 53, 103, 1, 215, 71, 787, 223, 1399, 6793, 11281, 39201, 122119}}, +{7760, 17, 17356, {1, 3, 3, 3, 3, 57, 7, 151, 319, 463, 685, 2917, 4037, 14929, 11971, 41827, 57449}}, +{7761, 17, 17371, {1, 1, 7, 3, 5, 11, 15, 139, 379, 563, 135, 65, 5633, 7535, 1451, 18289, 62457}}, +{7762, 17, 17374, {1, 1, 1, 15, 11, 23, 37, 57, 205, 107, 995, 151, 3279, 2015, 28927, 40731, 95551}}, +{7763, 17, 17392, {1, 3, 5, 9, 15, 43, 95, 217, 203, 215, 203, 2207, 8189, 465, 2175, 29285, 25375}}, +{7764, 17, 17402, {1, 3, 3, 5, 19, 59, 51, 123, 285, 721, 1335, 1777, 1645, 15811, 16539, 14637, 123323}}, +{7765, 17, 17410, {1, 3, 5, 5, 11, 35, 23, 23, 259, 789, 567, 1921, 4743, 6635, 6965, 43025, 43175}}, +{7766, 17, 17421, {1, 3, 7, 3, 7, 27, 77, 121, 285, 65, 647, 591, 2553, 7163, 12057, 43675, 24227}}, +{7767, 17, 17424, {1, 1, 5, 9, 3, 25, 17, 85, 235, 715, 1913, 2391, 3719, 11029, 18359, 6323, 4703}}, +{7768, 17, 17427, {1, 1, 1, 3, 25, 31, 37, 31, 89, 311, 1797, 3409, 6785, 9627, 29721, 58591, 111429}}, +{7769, 17, 17434, {1, 3, 1, 5, 9, 37, 47, 45, 419, 115, 1009, 1359, 65, 1161, 15673, 16075, 63895}}, +{7770, 17, 17449, {1, 1, 3, 5, 25, 47, 27, 87, 441, 547, 1801, 3589, 3773, 12215, 14509, 12669, 99983}}, +{7771, 17, 17452, {1, 1, 1, 3, 19, 33, 51, 91, 447, 577, 491, 539, 3177, 7033, 21633, 51737, 47089}}, +{7772, 17, 17463, {1, 1, 3, 15, 23, 53, 93, 113, 143, 973, 999, 2355, 1489, 3451, 29821, 23769, 74633}}, +{7773, 17, 17470, {1, 3, 7, 11, 27, 1, 35, 109, 111, 51, 425, 3203, 2585, 11255, 20939, 281, 92133}}, +{7774, 17, 17477, {1, 1, 1, 11, 13, 37, 13, 149, 421, 655, 79, 3093, 6429, 1145, 27663, 52861, 81431}}, +{7775, 17, 17482, {1, 1, 5, 13, 19, 23, 105, 39, 97, 239, 469, 1047, 4727, 12009, 8055, 45557, 124219}}, +{7776, 17, 17490, {1, 1, 1, 7, 7, 7, 5, 53, 269, 391, 1893, 2263, 2109, 11531, 12109, 31437, 20445}}, +{7777, 17, 17496, {1, 1, 3, 11, 9, 35, 69, 209, 93, 455, 1117, 3297, 2597, 15035, 17943, 19955, 829}}, +{7778, 17, 17508, {1, 1, 5, 7, 23, 23, 101, 71, 339, 553, 1653, 2997, 1191, 3121, 4575, 49979, 17353}}, +{7779, 17, 17511, {1, 3, 3, 13, 13, 9, 51, 181, 33, 185, 111, 589, 3117, 10105, 28811, 31529, 79657}}, +{7780, 17, 17536, {1, 1, 5, 3, 9, 57, 103, 65, 211, 473, 519, 3815, 4087, 2767, 10213, 37829, 9523}}, +{7781, 17, 17563, {1, 1, 5, 7, 7, 31, 81, 161, 311, 617, 1689, 3133, 57, 14595, 22783, 18475, 85811}}, +{7782, 17, 17570, {1, 3, 5, 5, 21, 51, 99, 249, 7, 525, 885, 3981, 2851, 529, 947, 29885, 122901}}, +{7783, 17, 17581, {1, 3, 1, 5, 1, 23, 85, 91, 309, 747, 183, 1347, 2399, 15777, 16205, 15687, 117333}}, +{7784, 17, 17590, {1, 3, 7, 3, 29, 21, 99, 137, 297, 229, 1063, 2747, 6415, 7791, 4775, 62863, 50849}}, +{7785, 17, 17608, {1, 3, 1, 3, 11, 3, 53, 153, 103, 911, 1595, 1899, 1049, 11643, 21105, 61587, 92399}}, +{7786, 17, 17616, {1, 1, 5, 15, 29, 55, 99, 101, 181, 453, 1917, 2081, 4687, 4335, 2817, 11861, 103167}}, +{7787, 17, 17621, {1, 3, 7, 15, 11, 7, 9, 3, 477, 281, 1141, 453, 4993, 7843, 6169, 49785, 53827}}, +{7788, 17, 17628, {1, 3, 7, 11, 25, 61, 77, 159, 83, 95, 1223, 85, 6309, 16145, 18729, 133, 14193}}, +{7789, 17, 17644, {1, 3, 3, 1, 7, 27, 97, 183, 263, 59, 915, 3857, 3349, 8123, 11251, 55163, 125703}}, +{7790, 17, 17649, {1, 3, 5, 5, 17, 33, 57, 55, 503, 811, 953, 349, 1949, 9127, 31015, 14475, 116769}}, +{7791, 17, 17652, {1, 3, 1, 1, 3, 53, 59, 131, 421, 971, 89, 3047, 3513, 13599, 4569, 54525, 54779}}, +{7792, 17, 17679, {1, 1, 3, 11, 9, 45, 95, 123, 197, 257, 1073, 1461, 5, 12701, 12559, 34989, 71631}}, +{7793, 17, 17691, {1, 3, 3, 7, 1, 27, 55, 191, 447, 561, 1975, 2665, 1341, 8969, 18519, 47389, 70847}}, +{7794, 17, 17693, {1, 1, 5, 5, 3, 31, 15, 165, 95, 423, 233, 2309, 7777, 3503, 20105, 3085, 92349}}, +{7795, 17, 17697, {1, 3, 1, 13, 23, 61, 7, 55, 157, 1, 83, 515, 2169, 14397, 18149, 56855, 117265}}, +{7796, 17, 17698, {1, 3, 3, 3, 3, 59, 69, 95, 127, 241, 65, 3145, 491, 13809, 17529, 20223, 96579}}, +{7797, 17, 17700, {1, 1, 1, 5, 13, 43, 117, 163, 305, 955, 2007, 3337, 807, 16019, 5721, 5479, 90937}}, +{7798, 17, 17704, {1, 3, 3, 1, 19, 9, 127, 5, 113, 491, 1873, 2127, 7949, 5207, 32531, 775, 131065}}, +{7799, 17, 17707, {1, 1, 7, 3, 1, 3, 91, 187, 37, 873, 1039, 4075, 5645, 243, 15127, 45615, 3813}}, +{7800, 17, 17715, {1, 1, 3, 11, 3, 37, 67, 59, 439, 763, 213, 1099, 1659, 12783, 30297, 60713, 43497}}, +{7801, 17, 17718, {1, 3, 3, 13, 23, 49, 47, 191, 245, 985, 487, 3165, 7803, 2437, 19073, 30605, 119641}}, +{7802, 17, 17721, {1, 3, 7, 7, 19, 43, 7, 253, 93, 99, 145, 219, 699, 2433, 3009, 565, 99671}}, +{7803, 17, 17722, {1, 1, 3, 13, 7, 5, 9, 23, 219, 155, 925, 3427, 6631, 16353, 4115, 20831, 49525}}, +{7804, 17, 17727, {1, 1, 7, 11, 15, 45, 41, 35, 301, 273, 241, 4031, 5441, 8281, 9341, 8499, 73841}}, +{7805, 17, 17729, {1, 3, 7, 13, 9, 19, 79, 3, 163, 197, 509, 2301, 6971, 11525, 8805, 33805, 111595}}, +{7806, 17, 17747, {1, 3, 3, 1, 15, 45, 69, 253, 155, 639, 1045, 749, 3619, 14871, 18063, 49763, 66687}}, +{7807, 17, 17754, {1, 3, 3, 3, 29, 5, 41, 171, 265, 677, 1719, 2623, 1721, 12243, 18741, 39595, 92873}}, +{7808, 17, 17756, {1, 3, 5, 7, 27, 23, 69, 61, 453, 399, 1857, 3901, 6565, 15595, 1083, 15065, 91249}}, +{7809, 17, 17760, {1, 1, 5, 7, 1, 27, 9, 145, 95, 983, 685, 2079, 5117, 5037, 22695, 53135, 43569}}, +{7810, 17, 17765, {1, 1, 3, 5, 5, 7, 69, 59, 331, 409, 179, 333, 1293, 3863, 9473, 12537, 55605}}, +{7811, 17, 17778, {1, 3, 5, 1, 1, 19, 1, 49, 317, 769, 91, 2073, 1765, 1197, 15029, 52553, 57361}}, +{7812, 17, 17784, {1, 1, 5, 1, 23, 13, 11, 69, 345, 877, 41, 817, 617, 14415, 8337, 53973, 50007}}, +{7813, 17, 17794, {1, 1, 7, 3, 19, 27, 69, 103, 115, 893, 219, 2891, 2813, 9933, 26401, 63323, 30909}}, +{7814, 17, 17805, {1, 1, 5, 5, 27, 15, 119, 3, 11, 783, 541, 2431, 2395, 3921, 15471, 34657, 100295}}, +{7815, 17, 17806, {1, 1, 7, 11, 15, 25, 39, 191, 345, 1001, 1773, 715, 1627, 15957, 30085, 34097, 58747}}, +{7816, 17, 17817, {1, 1, 1, 5, 17, 43, 65, 81, 487, 387, 1359, 145, 2231, 6693, 15857, 59539, 79615}}, +{7817, 17, 17824, {1, 1, 3, 5, 15, 19, 17, 233, 247, 611, 587, 2587, 2321, 2835, 1477, 41991, 88143}}, +{7818, 17, 17839, {1, 3, 3, 15, 27, 15, 53, 61, 359, 989, 283, 3569, 5551, 11849, 20995, 34065, 69407}}, +{7819, 17, 17842, {1, 3, 3, 11, 13, 31, 41, 87, 379, 47, 1289, 3143, 4213, 8643, 17065, 10707, 62773}}, +{7820, 17, 17844, {1, 3, 7, 1, 9, 61, 59, 121, 453, 663, 27, 793, 4501, 7713, 285, 13279, 11633}}, +{7821, 17, 17851, {1, 1, 7, 5, 29, 51, 57, 15, 233, 743, 879, 2317, 3399, 15741, 605, 57529, 87427}}, +{7822, 17, 17862, {1, 1, 1, 1, 19, 59, 51, 119, 273, 403, 1649, 3877, 3561, 10931, 21139, 2599, 77957}}, +{7823, 17, 17868, {1, 3, 1, 3, 5, 1, 79, 131, 251, 585, 359, 2073, 7041, 13611, 22937, 24645, 72827}}, +{7824, 17, 17871, {1, 3, 7, 9, 19, 39, 93, 137, 359, 565, 1123, 1301, 4111, 13683, 1361, 25147, 38315}}, +{7825, 17, 17873, {1, 1, 5, 13, 27, 31, 11, 243, 111, 243, 1615, 1649, 2999, 15873, 19161, 57485, 35819}}, +{7826, 17, 17896, {1, 3, 3, 5, 25, 57, 61, 207, 219, 969, 303, 1165, 6753, 13473, 10789, 52883, 45205}}, +{7827, 17, 17904, {1, 1, 7, 11, 9, 53, 55, 175, 399, 981, 255, 2499, 373, 13131, 26803, 48017, 25599}}, +{7828, 17, 17909, {1, 1, 3, 3, 11, 23, 73, 25, 83, 39, 1813, 747, 3287, 795, 11917, 55509, 105057}}, +{7829, 17, 17920, {1, 3, 7, 15, 29, 59, 47, 171, 219, 875, 71, 123, 8131, 15595, 12471, 62439, 131}}, +{7830, 17, 17923, {1, 3, 5, 13, 9, 27, 119, 233, 323, 943, 375, 3647, 185, 1639, 431, 27225, 130175}}, +{7831, 17, 17947, {1, 3, 7, 3, 7, 17, 31, 155, 89, 835, 1015, 2019, 3973, 7087, 16899, 29591, 40797}}, +{7832, 17, 17950, {1, 3, 3, 1, 3, 11, 83, 231, 209, 537, 1227, 1519, 1059, 14027, 18591, 34031, 125755}}, +{7833, 17, 17956, {1, 3, 3, 1, 7, 39, 19, 99, 169, 961, 385, 1621, 7373, 7459, 8979, 23643, 17101}}, +{7834, 17, 17959, {1, 1, 3, 11, 11, 23, 61, 37, 359, 981, 209, 2555, 2673, 6501, 12731, 10735, 97321}}, +{7835, 17, 17966, {1, 1, 3, 13, 15, 61, 115, 119, 99, 755, 1933, 345, 3133, 12071, 26657, 7133, 18553}}, +{7836, 17, 17971, {1, 3, 1, 5, 17, 7, 29, 119, 445, 911, 89, 19, 6137, 8037, 19527, 22467, 29253}}, +{7837, 17, 17973, {1, 1, 3, 11, 31, 21, 119, 21, 249, 371, 343, 4037, 7539, 14473, 23829, 46415, 60911}}, +{7838, 17, 17992, {1, 1, 7, 9, 21, 53, 29, 149, 467, 893, 479, 359, 1007, 13955, 9667, 10245, 74761}}, +{7839, 17, 18006, {1, 3, 1, 7, 7, 45, 7, 77, 289, 271, 1329, 261, 5675, 8275, 7443, 57945, 117825}}, +{7840, 17, 18009, {1, 1, 1, 3, 21, 57, 117, 77, 287, 119, 1073, 915, 2521, 455, 7433, 56953, 84433}}, +{7841, 17, 18010, {1, 1, 1, 9, 27, 47, 1, 189, 303, 375, 215, 3117, 4541, 12877, 15523, 32317, 104213}}, +{7842, 17, 18022, {1, 1, 3, 1, 13, 39, 37, 249, 371, 159, 1073, 1351, 4703, 2715, 17463, 3945, 51523}}, +{7843, 17, 18039, {1, 3, 5, 5, 29, 15, 79, 25, 61, 995, 1081, 3377, 345, 13773, 4205, 20589, 83591}}, +{7844, 17, 18046, {1, 1, 3, 1, 9, 1, 41, 39, 389, 509, 561, 3273, 1911, 15271, 22655, 34713, 2045}}, +{7845, 17, 18069, {1, 3, 1, 15, 17, 1, 55, 55, 119, 707, 843, 2657, 3687, 11557, 18331, 4935, 110639}}, +{7846, 17, 18074, {1, 3, 5, 1, 23, 35, 119, 215, 471, 643, 1581, 1965, 2627, 2991, 3361, 6737, 111657}}, +{7847, 17, 18076, {1, 3, 5, 7, 9, 19, 33, 197, 33, 993, 1795, 595, 7113, 14721, 12647, 41035, 13669}}, +{7848, 17, 18085, {1, 1, 7, 15, 31, 39, 51, 157, 373, 473, 665, 3541, 6695, 11741, 5617, 17189, 129851}}, +{7849, 17, 18086, {1, 3, 3, 7, 15, 37, 33, 175, 391, 159, 717, 593, 113, 9331, 10685, 59003, 26975}}, +{7850, 17, 18095, {1, 1, 3, 5, 13, 41, 11, 109, 9, 899, 1503, 901, 6237, 7789, 9963, 14923, 63665}}, +{7851, 17, 18100, {1, 3, 7, 7, 25, 61, 3, 231, 235, 29, 1049, 1997, 5371, 9047, 29595, 49239, 108649}}, +{7852, 17, 18109, {1, 1, 3, 5, 27, 1, 53, 209, 315, 747, 1803, 11, 1815, 6539, 8839, 18385, 88681}}, +{7853, 17, 18121, {1, 1, 5, 13, 25, 55, 117, 197, 13, 689, 751, 1203, 2277, 1763, 23453, 54459, 118023}}, +{7854, 17, 18127, {1, 3, 3, 11, 21, 1, 51, 101, 429, 723, 273, 3021, 1491, 9923, 6629, 63741, 98813}}, +{7855, 17, 18129, {1, 1, 1, 15, 17, 25, 111, 251, 43, 403, 465, 17, 787, 6045, 32185, 22921, 115851}}, +{7856, 17, 18132, {1, 1, 5, 11, 11, 13, 13, 93, 489, 941, 1391, 383, 7735, 1921, 16199, 53099, 25181}}, +{7857, 17, 18141, {1, 3, 3, 7, 15, 1, 3, 159, 507, 867, 1589, 2111, 3839, 8989, 12589, 37657, 97055}}, +{7858, 17, 18146, {1, 3, 3, 13, 25, 23, 7, 95, 489, 1001, 105, 2737, 5013, 14465, 25383, 57551, 77425}}, +{7859, 17, 18151, {1, 3, 5, 3, 3, 7, 81, 15, 255, 297, 1183, 655, 741, 3081, 2141, 34493, 103707}}, +{7860, 17, 18157, {1, 1, 7, 9, 27, 57, 49, 121, 21, 239, 829, 2001, 613, 9569, 4419, 20007, 59109}}, +{7861, 17, 18160, {1, 3, 7, 1, 3, 21, 109, 255, 45, 333, 915, 1245, 5893, 765, 28289, 53927, 15335}}, +{7862, 17, 18183, {1, 3, 3, 7, 5, 35, 33, 79, 111, 509, 347, 3915, 2017, 6461, 11847, 17807, 48601}}, +{7863, 17, 18204, {1, 3, 5, 1, 13, 63, 87, 65, 507, 277, 339, 3637, 6289, 719, 9383, 38887, 55061}}, +{7864, 17, 18218, {1, 1, 5, 15, 17, 5, 59, 107, 355, 1021, 1849, 1807, 7679, 305, 31533, 1221, 98165}}, +{7865, 17, 18226, {1, 1, 1, 13, 19, 7, 37, 63, 267, 399, 1451, 2149, 1003, 13635, 18693, 215, 15887}}, +{7866, 17, 18238, {1, 1, 3, 7, 11, 63, 81, 251, 253, 963, 635, 1697, 6393, 9775, 24189, 9099, 106277}}, +{7867, 17, 18245, {1, 3, 3, 13, 17, 47, 63, 47, 279, 879, 271, 1655, 1897, 10743, 2607, 16695, 32779}}, +{7868, 17, 18249, {1, 3, 5, 15, 3, 1, 121, 181, 303, 973, 19, 3327, 3827, 2197, 31857, 22835, 122611}}, +{7869, 17, 18260, {1, 1, 5, 13, 25, 41, 105, 197, 195, 85, 1515, 2735, 7539, 7557, 24297, 38721, 46895}}, +{7870, 17, 18267, {1, 1, 1, 1, 15, 63, 33, 7, 43, 971, 781, 1461, 4483, 2113, 32459, 37653, 68017}}, +{7871, 17, 18270, {1, 3, 3, 9, 7, 1, 65, 183, 171, 695, 191, 3675, 6749, 6823, 3577, 45031, 81597}}, +{7872, 17, 18273, {1, 3, 3, 3, 9, 61, 13, 159, 295, 329, 943, 3293, 79, 14497, 21461, 4667, 96435}}, +{7873, 17, 18274, {1, 1, 7, 9, 29, 37, 117, 215, 295, 591, 1139, 3093, 7469, 7995, 13581, 48075, 5943}}, +{7874, 17, 18276, {1, 3, 1, 9, 11, 11, 117, 255, 419, 551, 1445, 1987, 1169, 14227, 31095, 36041, 63739}}, +{7875, 17, 18283, {1, 1, 7, 15, 17, 25, 81, 27, 87, 463, 1871, 551, 7449, 12231, 28645, 32663, 43037}}, +{7876, 17, 18307, {1, 3, 5, 11, 3, 49, 109, 123, 397, 113, 1269, 2433, 4463, 1257, 2127, 6677, 96009}}, +{7877, 17, 18314, {1, 1, 1, 11, 27, 19, 83, 123, 297, 867, 941, 3929, 3483, 4641, 32505, 48999, 66169}}, +{7878, 17, 18321, {1, 1, 5, 11, 5, 21, 11, 255, 369, 859, 657, 587, 5245, 12973, 22403, 47935, 121375}}, +{7879, 17, 18334, {1, 3, 1, 13, 17, 43, 83, 51, 339, 967, 499, 1485, 5203, 10053, 31707, 31443, 75033}}, +{7880, 17, 18355, {1, 1, 5, 13, 11, 5, 121, 121, 73, 101, 1751, 3805, 1333, 14043, 26957, 27557, 110899}}, +{7881, 17, 18364, {1, 3, 7, 11, 9, 7, 125, 237, 437, 177, 841, 175, 5509, 9157, 3129, 54119, 109315}}, +{7882, 17, 18372, {1, 3, 7, 15, 1, 59, 87, 121, 43, 475, 1589, 1267, 1501, 1585, 31705, 33959, 27247}}, +{7883, 17, 18390, {1, 1, 5, 3, 27, 63, 117, 205, 169, 701, 1081, 2835, 8049, 11875, 4143, 17663, 90043}}, +{7884, 17, 18399, {1, 3, 1, 9, 23, 27, 31, 141, 411, 145, 1177, 3681, 3403, 6943, 10729, 47219, 102713}}, +{7885, 17, 18415, {1, 1, 7, 11, 5, 49, 33, 27, 121, 865, 471, 1871, 6945, 10051, 4493, 7121, 65551}}, +{7886, 17, 18420, {1, 1, 5, 1, 17, 27, 53, 13, 31, 403, 1319, 1381, 1371, 11693, 18805, 54683, 30137}}, +{7887, 17, 18434, {1, 1, 7, 11, 9, 21, 71, 155, 79, 145, 943, 3891, 641, 3163, 28493, 14729, 83391}}, +{7888, 17, 18443, {1, 3, 3, 13, 3, 53, 21, 189, 245, 803, 1625, 4005, 1163, 16033, 5549, 14301, 115859}}, +{7889, 17, 18446, {1, 3, 1, 5, 17, 59, 61, 31, 293, 677, 1753, 1803, 1671, 14619, 22361, 61453, 78203}}, +{7890, 17, 18460, {1, 3, 3, 1, 5, 51, 99, 231, 175, 97, 1335, 689, 1913, 6157, 22757, 52395, 118347}}, +{7891, 17, 18467, {1, 3, 3, 7, 25, 11, 113, 19, 289, 507, 1143, 3437, 7965, 12551, 27603, 8423, 46713}}, +{7892, 17, 18482, {1, 1, 3, 9, 13, 1, 73, 9, 425, 407, 363, 2915, 4269, 2903, 9251, 17733, 80321}}, +{7893, 17, 18484, {1, 1, 3, 11, 31, 47, 37, 211, 433, 237, 1069, 1891, 6175, 9305, 30385, 2497, 94775}}, +{7894, 17, 18501, {1, 1, 3, 1, 23, 5, 113, 103, 427, 587, 1863, 1863, 679, 2575, 13059, 16163, 42289}}, +{7895, 17, 18506, {1, 1, 5, 3, 7, 17, 45, 33, 209, 609, 1897, 95, 5123, 2239, 5483, 60715, 126497}}, +{7896, 17, 18516, {1, 1, 5, 11, 1, 55, 67, 223, 41, 967, 337, 2511, 7879, 1157, 17635, 64081, 421}}, +{7897, 17, 18519, {1, 3, 3, 9, 27, 33, 87, 97, 231, 895, 1337, 829, 47, 8481, 14059, 57209, 109159}}, +{7898, 17, 18547, {1, 3, 7, 1, 25, 5, 41, 161, 393, 523, 1623, 3761, 1933, 8319, 17309, 46717, 97299}}, +{7899, 17, 18569, {1, 1, 1, 11, 5, 55, 19, 191, 41, 791, 1611, 59, 2633, 13873, 25859, 42879, 54807}}, +{7900, 17, 18575, {1, 3, 1, 11, 11, 33, 5, 13, 199, 411, 895, 759, 2735, 16225, 31469, 24081, 31857}}, +{7901, 17, 18589, {1, 1, 7, 13, 27, 57, 21, 191, 389, 977, 1013, 3493, 6401, 15957, 23181, 52461, 41853}}, +{7902, 17, 18590, {1, 3, 7, 5, 23, 19, 117, 117, 427, 923, 1347, 3099, 247, 8879, 5309, 53277, 100625}}, +{7903, 17, 18605, {1, 1, 5, 13, 11, 23, 69, 37, 119, 329, 1935, 2851, 5127, 6907, 24651, 11135, 118287}}, +{7904, 17, 18611, {1, 1, 3, 15, 23, 1, 69, 107, 253, 771, 1697, 4035, 3219, 15011, 6995, 19255, 39909}}, +{7905, 17, 18625, {1, 3, 1, 1, 5, 21, 35, 173, 407, 603, 27, 3589, 2879, 2755, 17679, 6145, 95989}}, +{7906, 17, 18652, {1, 1, 5, 13, 31, 23, 61, 139, 341, 593, 1673, 4031, 4809, 1107, 22657, 29073, 53401}}, +{7907, 17, 18665, {1, 3, 1, 15, 13, 37, 39, 61, 443, 417, 1125, 1529, 1943, 7317, 2985, 50285, 107069}}, +{7908, 17, 18673, {1, 1, 3, 9, 5, 51, 87, 91, 31, 491, 1455, 1685, 2579, 6023, 10989, 64635, 130147}}, +{7909, 17, 18674, {1, 3, 5, 5, 31, 23, 15, 163, 357, 161, 1597, 1571, 5039, 13213, 32221, 4405, 88079}}, +{7910, 17, 18683, {1, 1, 1, 15, 13, 43, 7, 109, 243, 389, 683, 2671, 8003, 4187, 6507, 11171, 116727}}, +{7911, 17, 18688, {1, 3, 7, 1, 17, 31, 53, 5, 227, 755, 1755, 2939, 1789, 8951, 16777, 30203, 79005}}, +{7912, 17, 18691, {1, 3, 3, 9, 27, 5, 111, 241, 89, 333, 371, 1035, 5719, 2433, 29343, 50829, 25131}}, +{7913, 17, 18698, {1, 1, 3, 13, 7, 37, 125, 69, 79, 397, 1595, 123, 255, 2257, 10881, 27085, 99411}}, +{7914, 17, 18717, {1, 1, 3, 15, 1, 35, 61, 73, 507, 775, 1631, 2005, 4277, 8421, 5669, 39221, 19053}}, +{7915, 17, 18733, {1, 1, 3, 7, 15, 17, 65, 157, 19, 997, 861, 1249, 4059, 7975, 955, 5833, 97733}}, +{7916, 17, 18754, {1, 1, 5, 5, 21, 43, 1, 181, 1, 17, 1337, 3333, 3761, 12283, 20941, 231, 30457}}, +{7917, 17, 18759, {1, 3, 3, 7, 7, 23, 105, 101, 101, 757, 1407, 565, 2187, 1529, 29385, 22847, 57675}}, +{7918, 17, 18760, {1, 3, 3, 1, 11, 3, 65, 93, 201, 773, 1037, 1325, 673, 6625, 2909, 63435, 114311}}, +{7919, 17, 18771, {1, 3, 5, 1, 21, 43, 87, 37, 491, 323, 1093, 2493, 4755, 7225, 12037, 9483, 70351}}, +{7920, 17, 18777, {1, 1, 7, 9, 23, 39, 59, 117, 103, 645, 1975, 1177, 55, 325, 23781, 64365, 94915}}, +{7921, 17, 18796, {1, 3, 7, 15, 21, 29, 109, 35, 307, 847, 777, 3457, 7899, 17, 24065, 10517, 35651}}, +{7922, 17, 18799, {1, 1, 7, 9, 25, 35, 49, 131, 377, 429, 1773, 2107, 6305, 15209, 9567, 17685, 5599}}, +{7923, 17, 18807, {1, 1, 3, 11, 13, 27, 47, 125, 483, 229, 921, 2733, 2217, 2615, 24135, 28759, 109411}}, +{7924, 17, 18813, {1, 3, 1, 7, 19, 45, 23, 195, 445, 955, 853, 2877, 6889, 9507, 2009, 18747, 50545}}, +{7925, 17, 18817, {1, 1, 1, 5, 15, 35, 75, 177, 145, 683, 309, 893, 4999, 827, 26563, 30819, 111115}}, +{7926, 17, 18820, {1, 3, 3, 11, 5, 45, 49, 39, 93, 653, 1053, 2553, 863, 12185, 30261, 16459, 121061}}, +{7927, 17, 18827, {1, 3, 7, 5, 11, 29, 57, 43, 409, 71, 67, 3537, 263, 13237, 8825, 58411, 44629}}, +{7928, 17, 18829, {1, 1, 5, 13, 1, 37, 23, 171, 13, 309, 239, 2023, 6233, 8751, 11371, 5825, 77355}}, +{7929, 17, 18838, {1, 3, 1, 13, 5, 1, 47, 217, 369, 609, 453, 879, 4337, 4441, 8785, 51963, 53819}}, +{7930, 17, 18842, {1, 3, 5, 5, 23, 1, 67, 147, 27, 121, 1369, 569, 1519, 11585, 18193, 30889, 78055}}, +{7931, 17, 18848, {1, 1, 1, 13, 11, 53, 33, 37, 419, 111, 1649, 2495, 6105, 12385, 30865, 3683, 63813}}, +{7932, 17, 18853, {1, 3, 3, 5, 17, 35, 107, 235, 471, 735, 1093, 1007, 567, 173, 9623, 39533, 56455}}, +{7933, 17, 18885, {1, 1, 7, 15, 27, 13, 123, 211, 407, 857, 801, 3951, 8153, 4427, 15333, 13217, 92675}}, +{7934, 17, 18890, {1, 1, 1, 7, 11, 61, 99, 131, 121, 119, 1483, 1485, 3521, 13163, 24899, 56849, 111943}}, +{7935, 17, 18898, {1, 3, 3, 1, 19, 1, 29, 139, 127, 557, 1913, 1487, 1381, 185, 11195, 52499, 45059}}, +{7936, 17, 18903, {1, 3, 7, 11, 5, 29, 95, 111, 235, 55, 1101, 2631, 1219, 9867, 22209, 3095, 56793}}, +{7937, 17, 18910, {1, 3, 7, 1, 31, 61, 37, 125, 241, 985, 1079, 1439, 433, 2779, 8463, 59985, 39667}}, +{7938, 17, 18913, {1, 3, 7, 15, 5, 7, 71, 7, 435, 727, 1611, 135, 1421, 8329, 29995, 64243, 58285}}, +{7939, 17, 18931, {1, 3, 3, 15, 27, 11, 121, 27, 281, 499, 267, 2651, 7575, 9499, 5051, 49475, 79573}}, +{7940, 17, 18934, {1, 3, 3, 15, 29, 47, 11, 183, 235, 537, 79, 2467, 3751, 831, 6725, 52173, 108645}}, +{7941, 17, 18956, {1, 3, 5, 13, 23, 31, 23, 19, 477, 511, 727, 183, 5955, 7613, 31979, 8441, 39835}}, +{7942, 17, 18961, {1, 1, 5, 7, 17, 31, 53, 133, 387, 787, 1573, 89, 1975, 1825, 19963, 27203, 124923}}, +{7943, 17, 18968, {1, 1, 1, 9, 3, 15, 125, 135, 89, 37, 517, 3931, 2013, 2143, 25413, 18421, 6097}}, +{7944, 17, 18978, {1, 1, 3, 11, 23, 29, 89, 45, 53, 135, 223, 3523, 7921, 3271, 1819, 40931, 65471}}, +{7945, 17, 18983, {1, 1, 1, 13, 17, 3, 121, 25, 509, 61, 1009, 2009, 7813, 8499, 5807, 63171, 75991}}, +{7946, 17, 18987, {1, 3, 5, 13, 15, 35, 37, 45, 161, 683, 1665, 59, 6297, 9595, 10193, 46745, 105411}}, +{7947, 17, 18992, {1, 3, 1, 7, 21, 19, 85, 107, 3, 845, 673, 1271, 7581, 15971, 27085, 35375, 29027}}, +{7948, 17, 18997, {1, 3, 3, 9, 5, 17, 79, 137, 123, 809, 583, 3507, 7559, 2857, 13911, 57083, 8595}}, +{7949, 17, 19002, {1, 1, 7, 5, 31, 29, 77, 33, 439, 787, 1223, 2471, 5851, 15891, 27925, 51661, 82645}}, +{7950, 17, 19004, {1, 1, 7, 15, 19, 35, 35, 37, 197, 245, 799, 3971, 277, 11289, 20111, 13857, 104571}}, +{7951, 17, 19010, {1, 3, 5, 15, 19, 3, 65, 17, 201, 1007, 1665, 107, 2409, 1469, 23265, 24547, 8189}}, +{7952, 17, 19012, {1, 3, 1, 13, 29, 45, 109, 243, 43, 383, 631, 265, 6671, 15333, 21931, 30675, 103077}}, +{7953, 17, 19030, {1, 1, 5, 1, 25, 25, 77, 189, 109, 777, 1485, 2265, 1403, 2627, 13843, 27263, 14263}}, +{7954, 17, 19043, {1, 3, 5, 1, 13, 49, 73, 107, 225, 243, 1253, 3503, 735, 2605, 27165, 45467, 93001}}, +{7955, 17, 19049, {1, 1, 5, 9, 15, 17, 1, 33, 69, 321, 1375, 3635, 8131, 6579, 1225, 38699, 17447}}, +{7956, 17, 19079, {1, 3, 5, 3, 25, 49, 15, 149, 483, 37, 1929, 1219, 5841, 11975, 805, 31339, 130971}}, +{7957, 17, 19086, {1, 3, 3, 3, 15, 29, 3, 143, 291, 593, 1769, 3603, 1693, 151, 27701, 9015, 25847}}, +{7958, 17, 19100, {1, 3, 1, 11, 5, 35, 55, 127, 137, 71, 967, 2501, 1023, 2061, 31387, 44011, 130121}}, +{7959, 17, 19103, {1, 1, 7, 1, 29, 13, 93, 41, 125, 263, 521, 2633, 4361, 12153, 30647, 55883, 65185}}, +{7960, 17, 19107, {1, 3, 7, 9, 23, 19, 61, 197, 139, 463, 1867, 3627, 5185, 8251, 26977, 48027, 66301}}, +{7961, 17, 19109, {1, 3, 3, 7, 27, 53, 25, 137, 175, 155, 1843, 2253, 4797, 4989, 32613, 55779, 91625}}, +{7962, 17, 19113, {1, 3, 3, 11, 1, 5, 21, 233, 295, 675, 47, 2995, 8075, 8201, 3845, 23925, 82559}}, +{7963, 17, 19116, {1, 1, 3, 7, 31, 53, 93, 21, 307, 709, 9, 3061, 3935, 11009, 13411, 3657, 30251}}, +{7964, 17, 19127, {1, 3, 7, 13, 13, 25, 51, 205, 391, 897, 275, 333, 6831, 9383, 16101, 14301, 99101}}, +{7965, 17, 19134, {1, 1, 5, 15, 17, 47, 119, 7, 189, 765, 753, 2909, 3373, 2379, 20331, 61535, 51345}}, +{7966, 17, 19141, {1, 1, 3, 1, 27, 43, 9, 185, 9, 197, 1179, 67, 7689, 9679, 29683, 29905, 29393}}, +{7967, 17, 19179, {1, 1, 5, 5, 31, 55, 69, 9, 477, 91, 1705, 1877, 5463, 15401, 13449, 27541, 125521}}, +{7968, 17, 19193, {1, 1, 7, 15, 15, 33, 11, 233, 69, 771, 845, 2715, 5293, 10351, 19557, 15319, 36857}}, +{7969, 17, 19194, {1, 3, 7, 7, 15, 9, 123, 47, 165, 739, 361, 1675, 2743, 8021, 10241, 48275, 51935}}, +{7970, 17, 19201, {1, 1, 5, 1, 9, 25, 99, 83, 487, 627, 343, 3233, 6697, 13197, 19771, 38337, 89139}}, +{7971, 17, 19208, {1, 3, 7, 13, 1, 31, 15, 63, 463, 621, 935, 1093, 6043, 14051, 13665, 43413, 104893}}, +{7972, 17, 19214, {1, 1, 1, 3, 27, 1, 47, 151, 127, 357, 689, 3263, 141, 4459, 9847, 205, 88493}}, +{7973, 17, 19225, {1, 3, 7, 15, 29, 13, 41, 113, 495, 421, 195, 197, 6857, 10555, 22861, 30229, 31707}}, +{7974, 17, 19226, {1, 3, 5, 11, 11, 1, 89, 227, 425, 623, 1605, 1901, 7933, 7211, 16301, 3403, 59651}}, +{7975, 17, 19235, {1, 1, 3, 3, 27, 41, 37, 89, 395, 903, 1641, 2739, 5599, 11371, 8683, 61125, 105231}}, +{7976, 17, 19242, {1, 3, 7, 9, 1, 17, 51, 233, 507, 783, 459, 1187, 7281, 15809, 27637, 6067, 125877}}, +{7977, 17, 19264, {1, 3, 1, 3, 13, 57, 5, 199, 261, 357, 1255, 1849, 8013, 10313, 9375, 1271, 64117}}, +{7978, 17, 19267, {1, 3, 1, 11, 9, 59, 55, 95, 401, 423, 1657, 513, 3565, 12957, 19243, 53027, 11323}}, +{7979, 17, 19293, {1, 3, 7, 13, 27, 35, 121, 215, 397, 991, 191, 3443, 3829, 6107, 5381, 48497, 107997}}, +{7980, 17, 19309, {1, 1, 5, 5, 19, 15, 21, 53, 165, 835, 1599, 3245, 5609, 5991, 18141, 28075, 102809}}, +{7981, 17, 19318, {1, 3, 5, 9, 25, 21, 71, 15, 453, 475, 915, 3097, 5869, 699, 13883, 34919, 127211}}, +{7982, 17, 19324, {1, 1, 3, 7, 21, 53, 27, 207, 373, 703, 593, 17, 6991, 15013, 10125, 34801, 129245}}, +{7983, 17, 19337, {1, 3, 3, 13, 17, 9, 89, 95, 291, 681, 1415, 2323, 2885, 11381, 7703, 3691, 51505}}, +{7984, 17, 19340, {1, 1, 1, 11, 15, 63, 55, 153, 373, 665, 983, 3987, 5997, 6873, 27031, 65449, 22021}}, +{7985, 17, 19345, {1, 1, 5, 5, 1, 55, 119, 61, 159, 889, 225, 709, 1879, 2521, 69, 7815, 18733}}, +{7986, 17, 19346, {1, 3, 5, 11, 23, 53, 23, 61, 71, 993, 633, 1829, 3465, 12465, 30205, 40723, 74499}}, +{7987, 17, 19352, {1, 3, 3, 1, 17, 37, 19, 43, 55, 133, 1171, 3101, 3963, 5177, 24791, 7255, 10263}}, +{7988, 17, 19364, {1, 3, 7, 1, 21, 13, 21, 87, 237, 629, 1167, 3699, 597, 6251, 11545, 34429, 104393}}, +{7989, 17, 19382, {1, 1, 7, 1, 11, 53, 105, 111, 463, 869, 549, 2423, 17, 917, 879, 49367, 72235}}, +{7990, 17, 19391, {1, 1, 5, 15, 17, 51, 69, 55, 309, 867, 257, 573, 4821, 5245, 28033, 61801, 18253}}, +{7991, 17, 19405, {1, 1, 5, 3, 1, 23, 103, 241, 13, 267, 21, 1751, 6637, 12537, 26741, 40651, 94493}}, +{7992, 17, 19411, {1, 3, 3, 13, 25, 35, 21, 83, 337, 363, 1111, 1865, 7889, 985, 465, 40287, 64469}}, +{7993, 17, 19439, {1, 1, 7, 5, 27, 1, 99, 95, 209, 211, 1445, 1577, 6097, 13813, 22463, 64395, 106383}}, +{7994, 17, 19442, {1, 3, 1, 15, 1, 45, 77, 247, 273, 1023, 1377, 1989, 5787, 15267, 24363, 42717, 125617}}, +{7995, 17, 19444, {1, 1, 1, 3, 9, 49, 79, 171, 427, 439, 1725, 3179, 6263, 12437, 31353, 22077, 94455}}, +{7996, 17, 19451, {1, 3, 5, 11, 11, 45, 57, 97, 409, 935, 967, 2509, 3431, 5707, 19473, 15853, 129059}}, +{7997, 17, 19465, {1, 1, 7, 5, 7, 21, 105, 29, 359, 145, 1691, 131, 6721, 10971, 16173, 38193, 37091}}, +{7998, 17, 19471, {1, 1, 1, 15, 15, 35, 5, 185, 455, 507, 681, 3355, 2091, 3437, 27231, 28527, 5383}}, +{7999, 17, 19474, {1, 3, 5, 3, 7, 29, 33, 127, 57, 495, 1069, 3635, 7461, 9861, 18757, 39039, 92421}}, +{8000, 17, 19476, {1, 3, 5, 5, 11, 31, 51, 59, 413, 417, 1577, 2837, 5229, 4501, 18645, 37613, 31325}}, +{8001, 17, 19479, {1, 1, 5, 13, 15, 61, 17, 247, 413, 817, 907, 2249, 3901, 11275, 7469, 33403, 30629}}, +{8002, 17, 19485, {1, 3, 5, 7, 31, 7, 109, 177, 277, 75, 449, 3029, 7135, 427, 26641, 43157, 47671}}, +{8003, 17, 19489, {1, 3, 7, 13, 29, 63, 21, 187, 471, 289, 835, 3885, 6111, 8721, 9841, 24017, 18673}}, +{8004, 17, 19496, {1, 1, 5, 13, 25, 37, 15, 35, 227, 623, 47, 189, 3443, 1911, 8579, 50911, 10895}}, +{8005, 17, 19507, {1, 3, 1, 1, 29, 53, 89, 101, 251, 203, 821, 2485, 633, 7943, 27563, 58735, 72057}}, +{8006, 17, 19513, {1, 3, 7, 9, 23, 61, 121, 199, 19, 165, 131, 1373, 637, 7307, 7109, 42475, 126669}}, +{8007, 17, 19514, {1, 3, 7, 13, 7, 5, 125, 173, 365, 65, 565, 751, 3343, 13421, 6177, 39095, 97375}}, +{8008, 17, 19521, {1, 1, 7, 3, 1, 59, 65, 39, 307, 793, 887, 3291, 3405, 4497, 19351, 1821, 67861}}, +{8009, 17, 19524, {1, 1, 1, 3, 19, 9, 101, 183, 163, 819, 769, 49, 5293, 3715, 4055, 32403, 90763}}, +{8010, 17, 19546, {1, 3, 3, 1, 27, 31, 21, 123, 457, 1021, 1791, 2217, 6171, 11445, 15605, 59945, 19663}}, +{8011, 17, 19552, {1, 1, 1, 9, 13, 53, 61, 201, 457, 111, 1217, 377, 5871, 4591, 16379, 42817, 129807}}, +{8012, 17, 19555, {1, 3, 1, 5, 23, 37, 25, 7, 125, 651, 349, 3727, 1487, 5103, 31407, 40215, 16065}}, +{8013, 17, 19557, {1, 1, 3, 11, 19, 29, 1, 193, 13, 287, 331, 985, 5391, 7307, 28075, 9939, 84999}}, +{8014, 17, 19575, {1, 1, 1, 11, 21, 37, 117, 241, 229, 957, 2019, 819, 459, 6185, 21533, 64725, 24709}}, +{8015, 17, 19579, {1, 3, 5, 13, 11, 25, 107, 245, 175, 519, 629, 537, 2227, 15123, 10619, 32611, 118697}}, +{8016, 17, 19591, {1, 3, 1, 11, 5, 53, 119, 253, 489, 181, 1365, 3465, 1323, 949, 3657, 2467, 38545}}, +{8017, 17, 19595, {1, 1, 3, 9, 27, 17, 109, 19, 297, 541, 89, 3021, 761, 5577, 907, 21405, 128029}}, +{8018, 17, 19605, {1, 1, 3, 9, 31, 9, 61, 149, 267, 707, 671, 2733, 1247, 14623, 6395, 42579, 30845}}, +{8019, 17, 19615, {1, 1, 7, 7, 25, 29, 63, 41, 309, 275, 2019, 1373, 1003, 13891, 16571, 16209, 30115}}, +{8020, 17, 19616, {1, 3, 7, 1, 5, 21, 53, 97, 475, 799, 1963, 1181, 4187, 8767, 24779, 10403, 98349}}, +{8021, 17, 19626, {1, 3, 3, 13, 19, 9, 125, 227, 347, 535, 353, 3087, 769, 9049, 20145, 27433, 23105}}, +{8022, 17, 19631, {1, 1, 1, 15, 7, 61, 51, 113, 403, 501, 1767, 2785, 7151, 14517, 17533, 24913, 7121}}, +{8023, 17, 19634, {1, 1, 1, 9, 7, 21, 27, 169, 425, 567, 31, 35, 7859, 929, 6545, 33983, 13227}}, +{8024, 17, 19640, {1, 1, 5, 15, 11, 15, 69, 33, 127, 1005, 1947, 989, 6333, 15587, 18523, 53547, 115613}}, +{8025, 17, 19645, {1, 3, 5, 3, 1, 55, 7, 99, 213, 737, 363, 3167, 3949, 3723, 15777, 23207, 22901}}, +{8026, 17, 19678, {1, 1, 1, 9, 9, 29, 121, 85, 467, 811, 1, 3543, 6259, 4477, 31371, 27633, 22995}}, +{8027, 17, 19681, {1, 3, 5, 3, 11, 21, 95, 19, 55, 71, 803, 3655, 3749, 5113, 13611, 38097, 20943}}, +{8028, 17, 19682, {1, 3, 3, 11, 19, 25, 127, 105, 447, 499, 485, 881, 2649, 10297, 22283, 18305, 128919}}, +{8029, 17, 19706, {1, 3, 7, 1, 11, 45, 21, 87, 481, 645, 815, 793, 5763, 3945, 14379, 19623, 103199}}, +{8030, 17, 19708, {1, 3, 5, 1, 3, 45, 39, 229, 359, 151, 1079, 3955, 2107, 9593, 6701, 2811, 55215}}, +{8031, 17, 19713, {1, 3, 7, 7, 27, 59, 69, 211, 373, 643, 977, 3545, 2647, 10473, 27919, 10719, 24823}}, +{8032, 17, 19714, {1, 1, 3, 11, 7, 27, 117, 21, 59, 679, 969, 3813, 2701, 7363, 17525, 31229, 100665}}, +{8033, 17, 19720, {1, 3, 3, 5, 29, 53, 113, 141, 197, 991, 81, 2701, 6831, 7949, 16569, 44185, 29631}}, +{8034, 17, 19725, {1, 1, 1, 3, 1, 31, 9, 101, 347, 585, 577, 2529, 7461, 11921, 29475, 34505, 74911}}, +{8035, 17, 19743, {1, 1, 1, 15, 25, 19, 95, 37, 93, 755, 1891, 2309, 623, 13503, 5811, 45863, 106501}}, +{8036, 17, 19753, {1, 1, 5, 3, 15, 23, 51, 225, 87, 679, 1225, 4015, 3971, 163, 3185, 12921, 51267}}, +{8037, 17, 19756, {1, 1, 5, 1, 1, 37, 105, 181, 379, 657, 571, 2775, 5905, 8391, 32069, 18713, 125833}}, +{8038, 17, 19759, {1, 1, 7, 11, 11, 19, 109, 125, 371, 321, 629, 2165, 2861, 7883, 15503, 37679, 33057}}, +{8039, 17, 19762, {1, 1, 3, 5, 7, 5, 21, 5, 169, 321, 1145, 2243, 6143, 2537, 4429, 56493, 39391}}, +{8040, 17, 19776, {1, 3, 5, 5, 31, 7, 15, 175, 441, 663, 921, 3113, 2261, 13033, 19135, 28657, 92225}}, +{8041, 17, 19786, {1, 3, 1, 11, 13, 9, 25, 57, 297, 3, 1561, 825, 2803, 11327, 2699, 28631, 57277}}, +{8042, 17, 19799, {1, 1, 3, 9, 15, 25, 81, 197, 345, 341, 1557, 1375, 2509, 11949, 30201, 6807, 95199}}, +{8043, 17, 19800, {1, 3, 5, 3, 15, 23, 91, 147, 277, 59, 495, 1423, 1775, 12065, 8401, 22639, 111199}}, +{8044, 17, 19803, {1, 1, 5, 1, 1, 59, 35, 255, 229, 293, 187, 2663, 3967, 6493, 20103, 36703, 108939}}, +{8045, 17, 19806, {1, 3, 7, 11, 15, 1, 23, 39, 27, 281, 11, 3119, 2791, 1691, 16521, 39715, 32145}}, +{8046, 17, 19815, {1, 3, 5, 5, 9, 53, 43, 49, 107, 1015, 431, 3017, 3317, 9655, 19193, 45621, 56861}}, +{8047, 17, 19816, {1, 3, 1, 15, 27, 63, 127, 31, 21, 245, 1503, 3339, 6375, 5411, 12369, 35973, 9473}}, +{8048, 17, 19857, {1, 1, 3, 13, 31, 61, 19, 99, 25, 593, 539, 1807, 673, 12339, 23567, 22005, 130341}}, +{8049, 17, 19860, {1, 1, 5, 3, 3, 3, 13, 183, 255, 41, 641, 581, 6509, 1891, 19195, 28277, 51725}}, +{8050, 17, 19874, {1, 1, 3, 5, 3, 59, 17, 227, 9, 345, 1303, 1535, 3089, 2653, 20647, 63159, 124677}}, +{8051, 17, 19883, {1, 3, 1, 11, 25, 19, 117, 29, 221, 461, 1285, 1427, 7183, 3051, 10839, 47491, 92613}}, +{8052, 17, 19885, {1, 1, 3, 5, 27, 19, 1, 235, 51, 215, 783, 2325, 1191, 4679, 14365, 35479, 65083}}, +{8053, 17, 19886, {1, 3, 3, 5, 27, 17, 79, 185, 259, 369, 1399, 1029, 2219, 10975, 30487, 15247, 39789}}, +{8054, 17, 19893, {1, 3, 3, 1, 13, 13, 59, 119, 249, 471, 1433, 1165, 5345, 4431, 375, 64999, 85577}}, +{8055, 17, 19932, {1, 1, 1, 3, 1, 19, 13, 243, 35, 675, 321, 3625, 7835, 6403, 651, 48283, 91819}}, +{8056, 17, 19960, {1, 3, 3, 1, 27, 13, 73, 159, 145, 59, 287, 2419, 8115, 7923, 18933, 36109, 123879}}, +{8057, 17, 19972, {1, 3, 1, 7, 21, 1, 83, 245, 477, 623, 391, 129, 6897, 3447, 11109, 17017, 68277}}, +{8058, 17, 19975, {1, 1, 3, 11, 13, 43, 119, 93, 99, 393, 1219, 995, 1881, 7929, 4337, 33579, 103211}}, +{8059, 17, 20005, {1, 1, 7, 7, 31, 5, 39, 25, 119, 819, 409, 2395, 151, 12763, 28265, 28909, 35685}}, +{8060, 17, 20009, {1, 1, 1, 1, 3, 13, 59, 205, 19, 843, 1691, 955, 1859, 1791, 22083, 37843, 63615}}, +{8061, 17, 20010, {1, 1, 1, 3, 11, 63, 41, 243, 103, 875, 1337, 3731, 6317, 12951, 31743, 56935, 55975}}, +{8062, 17, 20012, {1, 1, 3, 13, 19, 11, 51, 97, 469, 279, 1621, 3521, 853, 11849, 3331, 27907, 119081}}, +{8063, 17, 20023, {1, 1, 5, 1, 23, 55, 9, 141, 449, 41, 167, 2441, 6783, 2785, 3547, 35379, 74973}}, +{8064, 17, 20024, {1, 1, 5, 3, 15, 55, 13, 75, 107, 153, 1841, 3991, 3229, 6523, 18541, 21571, 31539}}, +{8065, 17, 20030, {1, 3, 1, 1, 27, 37, 35, 201, 401, 867, 1861, 1783, 6255, 14001, 29543, 25843, 39719}}, +{8066, 17, 20038, {1, 1, 7, 15, 3, 43, 113, 173, 297, 457, 1369, 4053, 5033, 5513, 27387, 14725, 79937}}, +{8067, 17, 20041, {1, 1, 5, 13, 5, 27, 109, 93, 187, 833, 1551, 2899, 1681, 6979, 1289, 3507, 66499}}, +{8068, 17, 20055, {1, 1, 3, 11, 11, 47, 121, 29, 129, 807, 2037, 1527, 6083, 14803, 10669, 46047, 70241}}, +{8069, 17, 20059, {1, 3, 1, 9, 29, 3, 19, 191, 461, 527, 1389, 3359, 81, 6773, 12185, 49207, 19091}}, +{8070, 17, 20061, {1, 3, 7, 7, 5, 47, 33, 27, 445, 1, 149, 343, 4827, 91, 29233, 37775, 89321}}, +{8071, 17, 20080, {1, 3, 5, 1, 13, 55, 107, 99, 259, 591, 983, 3863, 1231, 3457, 29645, 10709, 16543}}, +{8072, 17, 20086, {1, 3, 7, 9, 29, 5, 9, 165, 337, 187, 219, 97, 6511, 193, 23947, 36329, 35317}}, +{8073, 17, 20089, {1, 3, 7, 1, 31, 25, 5, 175, 409, 1021, 1873, 289, 7143, 15341, 31501, 25707, 106453}}, +{8074, 17, 20095, {1, 3, 7, 7, 27, 1, 15, 221, 341, 987, 1739, 1183, 8139, 11081, 29721, 42991, 72805}}, +{8075, 17, 20111, {1, 1, 1, 9, 11, 1, 13, 17, 501, 543, 1485, 987, 1861, 8527, 1621, 30461, 23057}}, +{8076, 17, 20116, {1, 3, 7, 7, 9, 41, 1, 253, 71, 1009, 427, 3347, 6987, 3303, 30535, 33345, 126459}}, +{8077, 17, 20130, {1, 1, 1, 7, 11, 11, 15, 11, 305, 559, 1805, 1111, 377, 1495, 13471, 34831, 123125}}, +{8078, 17, 20136, {1, 1, 5, 7, 9, 37, 27, 45, 61, 705, 263, 3181, 7077, 5227, 28121, 42865, 3809}}, +{8079, 17, 20147, {1, 1, 5, 1, 23, 25, 29, 199, 259, 959, 661, 43, 6157, 1547, 1497, 24077, 129939}}, +{8080, 17, 20153, {1, 3, 5, 3, 13, 49, 33, 19, 367, 891, 1777, 3119, 5673, 8383, 14487, 1763, 63495}}, +{8081, 17, 20156, {1, 1, 1, 13, 9, 57, 35, 181, 7, 225, 449, 3843, 6257, 4983, 31307, 16559, 27633}}, +{8082, 17, 20167, {1, 3, 1, 11, 7, 33, 55, 81, 41, 61, 1711, 3273, 7629, 11283, 9103, 24105, 107547}}, +{8083, 17, 20173, {1, 3, 5, 5, 13, 17, 13, 51, 235, 869, 1543, 1249, 7749, 14773, 21751, 53497, 108709}}, +{8084, 17, 20182, {1, 1, 3, 9, 3, 63, 89, 43, 23, 479, 115, 3917, 7943, 7323, 5659, 64507, 46941}}, +{8085, 17, 20185, {1, 1, 3, 1, 25, 63, 25, 169, 459, 633, 1785, 1059, 5113, 4799, 29281, 24561, 17017}}, +{8086, 17, 20202, {1, 1, 3, 3, 15, 3, 11, 173, 493, 5, 1575, 653, 7391, 7453, 8297, 28653, 6213}}, +{8087, 17, 20209, {1, 1, 7, 5, 29, 5, 1, 57, 75, 479, 787, 3417, 3349, 111, 17787, 41141, 97597}}, +{8088, 17, 20229, {1, 3, 7, 1, 11, 7, 107, 159, 435, 159, 1401, 803, 7065, 5923, 4005, 37271, 113791}}, +{8089, 17, 20233, {1, 1, 5, 1, 23, 55, 7, 59, 351, 801, 1279, 3231, 4561, 2857, 20563, 46115, 79489}}, +{8090, 17, 20236, {1, 3, 3, 15, 19, 13, 113, 33, 149, 175, 1127, 3815, 4357, 12645, 4449, 61355, 83023}}, +{8091, 17, 20241, {1, 1, 7, 15, 3, 17, 41, 57, 243, 319, 1631, 2751, 7853, 5977, 28367, 20023, 56049}}, +{8092, 17, 20242, {1, 3, 1, 7, 27, 59, 7, 13, 497, 241, 1827, 2861, 1331, 1759, 6037, 18967, 42849}}, +{8093, 17, 20248, {1, 3, 1, 1, 31, 43, 41, 183, 241, 219, 335, 2331, 755, 10589, 29431, 29007, 66667}}, +{8094, 17, 20278, {1, 1, 3, 1, 27, 37, 61, 117, 471, 39, 139, 3821, 2945, 7035, 23673, 20167, 56169}}, +{8095, 17, 20282, {1, 3, 1, 1, 9, 29, 123, 61, 171, 1015, 1029, 1695, 1039, 11883, 259, 10879, 97709}}, +{8096, 17, 20299, {1, 3, 3, 5, 29, 39, 65, 193, 285, 635, 999, 717, 5465, 1849, 4293, 19775, 79121}}, +{8097, 17, 20307, {1, 1, 7, 1, 3, 3, 103, 15, 451, 307, 1027, 263, 6585, 11651, 14457, 62695, 38407}}, +{8098, 17, 20313, {1, 3, 7, 11, 13, 13, 29, 83, 267, 561, 2041, 13, 3167, 3475, 14735, 34455, 117533}}, +{8099, 17, 20314, {1, 3, 1, 15, 5, 1, 35, 225, 151, 637, 1347, 833, 7077, 13145, 10285, 46583, 14351}}, +{8100, 17, 20320, {1, 1, 3, 15, 27, 63, 119, 159, 209, 421, 1413, 2727, 1607, 7175, 6133, 29051, 97387}}, +{8101, 17, 20326, {1, 1, 3, 5, 9, 29, 35, 93, 353, 903, 1037, 469, 5473, 7193, 21883, 14709, 89023}}, +{8102, 17, 20332, {1, 1, 1, 11, 9, 17, 51, 155, 145, 443, 1985, 423, 4721, 15721, 9747, 10303, 21909}}, +{8103, 17, 20350, {1, 3, 7, 15, 19, 49, 53, 153, 241, 739, 1585, 3945, 4869, 11, 15845, 17937, 69397}}, +{8104, 17, 20360, {1, 1, 5, 7, 19, 53, 43, 211, 327, 723, 1513, 1569, 919, 1771, 11309, 50787, 7459}}, +{8105, 17, 20371, {1, 1, 1, 9, 7, 29, 49, 89, 409, 685, 201, 1327, 2807, 13101, 2485, 62909, 102595}}, +{8106, 17, 20373, {1, 3, 1, 13, 21, 51, 37, 231, 271, 475, 855, 3703, 4447, 5161, 17937, 14471, 47173}}, +{8107, 17, 20377, {1, 1, 7, 3, 9, 7, 121, 197, 71, 147, 1669, 1745, 6589, 15029, 1529, 12625, 121925}}, +{8108, 17, 20390, {1, 1, 1, 3, 7, 47, 63, 61, 187, 341, 919, 307, 389, 14141, 12941, 17917, 104289}}, +{8109, 17, 20396, {1, 3, 5, 13, 19, 43, 57, 11, 383, 311, 1229, 3527, 3301, 12473, 24377, 16279, 92733}}, +{8110, 17, 20404, {1, 3, 3, 5, 25, 35, 63, 23, 131, 481, 809, 3627, 5685, 13695, 14121, 64751, 66181}}, +{8111, 17, 20413, {1, 3, 1, 5, 11, 43, 89, 55, 103, 219, 1861, 3223, 5111, 5879, 31399, 1395, 87419}}, +{8112, 17, 20434, {1, 3, 1, 11, 21, 27, 123, 205, 47, 923, 7, 1635, 4019, 8431, 28313, 24275, 129617}}, +{8113, 17, 20436, {1, 1, 1, 3, 1, 11, 91, 215, 393, 999, 1071, 3225, 4415, 759, 24499, 16109, 33791}}, +{8114, 17, 20440, {1, 1, 3, 13, 19, 45, 77, 103, 105, 395, 529, 3631, 8179, 4467, 30263, 39379, 70507}}, +{8115, 17, 20443, {1, 3, 3, 9, 17, 45, 101, 219, 433, 971, 471, 1243, 6955, 5941, 20641, 16119, 129383}}, +{8116, 17, 20445, {1, 1, 7, 7, 9, 9, 91, 95, 503, 171, 129, 1509, 7179, 5367, 2219, 50445, 112459}}, +{8117, 17, 20464, {1, 3, 7, 1, 17, 17, 19, 173, 229, 519, 147, 1835, 3797, 8091, 20335, 33177, 90197}}, +{8118, 17, 20476, {1, 3, 3, 5, 23, 29, 107, 205, 43, 969, 799, 1239, 1353, 5221, 15175, 42945, 34043}}, +{8119, 17, 20494, {1, 1, 5, 7, 31, 63, 67, 87, 189, 301, 1719, 3937, 965, 2505, 24781, 25133, 91675}}, +{8120, 17, 20496, {1, 3, 1, 7, 15, 25, 11, 39, 281, 35, 1149, 1445, 6451, 12069, 20959, 29895, 60059}}, +{8121, 17, 20501, {1, 1, 5, 1, 1, 17, 65, 213, 359, 561, 2015, 1629, 3521, 6877, 8099, 62483, 103903}}, +{8122, 17, 20518, {1, 1, 7, 9, 7, 49, 1, 227, 49, 823, 1141, 2419, 2697, 13293, 14143, 6323, 16081}}, +{8123, 17, 20527, {1, 3, 3, 1, 9, 13, 99, 235, 343, 601, 927, 183, 4545, 14529, 5521, 55571, 90675}}, +{8124, 17, 20529, {1, 1, 5, 1, 13, 49, 95, 153, 131, 955, 283, 2951, 3651, 7743, 4285, 42621, 110577}}, +{8125, 17, 20535, {1, 1, 1, 9, 19, 59, 97, 181, 67, 357, 497, 287, 3523, 3729, 28981, 59687, 39463}}, +{8126, 17, 20544, {1, 1, 3, 7, 5, 19, 107, 55, 393, 225, 1953, 669, 8063, 6537, 15983, 59891, 95079}}, +{8127, 17, 20568, {1, 3, 1, 5, 29, 21, 17, 169, 447, 697, 1613, 3483, 3139, 11175, 28865, 12065, 130241}}, +{8128, 17, 20589, {1, 3, 5, 7, 5, 49, 35, 181, 85, 505, 1537, 1345, 773, 3255, 27405, 3959, 126377}}, +{8129, 17, 20592, {1, 1, 7, 15, 9, 9, 17, 99, 409, 319, 807, 1721, 4023, 2171, 32657, 51663, 23253}}, +{8130, 17, 20601, {1, 3, 5, 1, 5, 3, 37, 219, 89, 263, 397, 573, 6147, 9525, 2521, 11153, 94319}}, +{8131, 17, 20617, {1, 1, 5, 5, 11, 39, 55, 205, 209, 239, 1443, 2477, 1941, 8337, 2883, 54593, 129859}}, +{8132, 17, 20625, {1, 1, 1, 7, 11, 13, 127, 65, 127, 413, 1553, 413, 3395, 9451, 7517, 34103, 57029}}, +{8133, 17, 20626, {1, 1, 1, 15, 5, 25, 109, 181, 399, 1023, 277, 3365, 6209, 827, 13933, 27483, 63835}}, +{8134, 17, 20632, {1, 1, 3, 3, 21, 57, 95, 127, 481, 365, 197, 3631, 7443, 4925, 31277, 35061, 35875}}, +{8135, 17, 20638, {1, 1, 7, 13, 3, 31, 59, 127, 441, 967, 1049, 1281, 3553, 375, 9683, 45755, 18889}}, +{8136, 17, 20644, {1, 1, 1, 13, 11, 39, 49, 43, 383, 607, 157, 1887, 3623, 13335, 31949, 49843, 96781}}, +{8137, 17, 20647, {1, 3, 7, 13, 19, 35, 21, 9, 299, 425, 1921, 3481, 6849, 4149, 5227, 56737, 27559}}, +{8138, 17, 20662, {1, 3, 7, 5, 21, 11, 79, 97, 1, 849, 819, 1133, 3393, 5429, 10621, 38787, 120785}}, +{8139, 17, 20671, {1, 1, 1, 13, 21, 29, 3, 239, 399, 619, 759, 2655, 3691, 655, 30979, 15507, 114791}}, +{8140, 17, 20674, {1, 3, 5, 3, 1, 61, 79, 43, 273, 965, 1759, 3901, 2437, 1703, 20205, 46291, 23679}}, +{8141, 17, 20683, {1, 1, 1, 9, 19, 57, 75, 245, 377, 261, 231, 3683, 6745, 7797, 28471, 56269, 109969}}, +{8142, 17, 20704, {1, 3, 1, 11, 9, 55, 53, 87, 33, 431, 1805, 2933, 455, 12479, 16235, 2667, 70105}}, +{8143, 17, 20724, {1, 3, 5, 1, 29, 1, 101, 17, 377, 499, 1365, 209, 4819, 15099, 8769, 37003, 53003}}, +{8144, 17, 20742, {1, 3, 5, 11, 11, 39, 109, 235, 337, 393, 35, 1071, 7085, 7165, 25143, 24223, 71493}}, +{8145, 17, 20748, {1, 3, 1, 5, 13, 49, 9, 205, 305, 943, 799, 2405, 319, 10755, 9785, 32023, 48015}}, +{8146, 17, 20765, {1, 3, 1, 9, 29, 35, 123, 101, 73, 747, 1257, 407, 5871, 4271, 14837, 52727, 13339}}, +{8147, 17, 20776, {1, 3, 3, 9, 31, 7, 113, 27, 89, 123, 1117, 531, 5531, 7897, 11209, 35267, 123457}}, +{8148, 17, 20789, {1, 1, 1, 1, 29, 19, 93, 11, 61, 743, 267, 13, 6561, 7667, 20537, 12675, 10481}}, +{8149, 17, 20796, {1, 1, 5, 13, 27, 47, 103, 171, 349, 139, 1709, 961, 783, 7147, 5569, 53395, 80797}}, +{8150, 17, 20802, {1, 3, 1, 9, 21, 49, 41, 175, 507, 861, 1157, 1033, 6795, 5795, 603, 12485, 75263}}, +{8151, 17, 20807, {1, 1, 5, 7, 23, 3, 21, 165, 123, 951, 785, 2065, 8001, 7009, 22981, 10011, 9807}}, +{8152, 17, 20814, {1, 3, 7, 15, 1, 53, 49, 197, 231, 351, 141, 3465, 7907, 10695, 30913, 26753, 71079}}, +{8153, 17, 20821, {1, 3, 5, 3, 29, 45, 23, 131, 65, 507, 75, 275, 7287, 187, 1093, 52657, 31533}}, +{8154, 17, 20832, {1, 3, 5, 9, 9, 7, 113, 125, 441, 75, 663, 4081, 3147, 1469, 28375, 35747, 122965}}, +{8155, 17, 20835, {1, 1, 7, 3, 3, 57, 5, 17, 183, 237, 965, 3709, 4161, 9513, 217, 58835, 78789}}, +{8156, 17, 20847, {1, 1, 3, 1, 7, 25, 13, 29, 173, 319, 1723, 57, 2401, 10405, 15541, 52915, 93747}}, +{8157, 17, 20859, {1, 1, 7, 5, 1, 31, 11, 61, 341, 97, 1199, 2585, 5909, 3707, 31507, 51233, 2389}}, +{8158, 17, 20871, {1, 1, 5, 15, 15, 21, 127, 155, 229, 203, 1303, 3215, 1965, 9481, 31909, 52307, 112207}}, +{8159, 17, 20883, {1, 3, 1, 13, 9, 45, 91, 39, 113, 587, 895, 637, 2475, 1695, 9347, 53255, 75797}}, +{8160, 17, 20886, {1, 3, 5, 13, 17, 11, 35, 83, 69, 255, 741, 3927, 153, 11001, 29145, 37107, 51873}}, +{8161, 17, 20892, {1, 1, 7, 5, 5, 37, 35, 219, 153, 1005, 973, 2555, 893, 5931, 23857, 34631, 74561}}, +{8162, 17, 20906, {1, 3, 1, 11, 21, 63, 113, 29, 115, 307, 957, 407, 879, 4819, 2865, 1773, 116825}}, +{8163, 17, 20908, {1, 3, 7, 3, 19, 55, 87, 21, 139, 571, 311, 2295, 2729, 6371, 11845, 30223, 19247}}, +{8164, 17, 20957, {1, 3, 7, 5, 23, 9, 59, 25, 357, 863, 435, 2509, 5599, 14039, 25731, 41645, 255}}, +{8165, 17, 20962, {1, 3, 7, 13, 9, 3, 63, 115, 503, 489, 1585, 813, 5419, 691, 23973, 18677, 59979}}, +{8166, 17, 20968, {1, 1, 1, 1, 13, 3, 55, 23, 185, 731, 459, 1497, 433, 16243, 29995, 20777, 59513}}, +{8167, 17, 20979, {1, 1, 7, 3, 27, 55, 77, 57, 349, 5, 617, 385, 6225, 7025, 23335, 877, 21973}}, +{8168, 17, 20991, {1, 3, 3, 5, 3, 37, 105, 197, 153, 639, 1643, 1093, 801, 4605, 4551, 46081, 7739}}, +{8169, 17, 20998, {1, 1, 5, 11, 29, 23, 5, 91, 39, 489, 2029, 887, 4451, 11463, 5641, 56299, 34027}}, +{8170, 17, 21007, {1, 1, 7, 3, 17, 11, 25, 161, 317, 701, 155, 1989, 7549, 11529, 9945, 18395, 61251}}, +{8171, 17, 21010, {1, 1, 7, 13, 23, 55, 113, 91, 17, 149, 1893, 2793, 8185, 81, 29487, 47925, 51837}}, +{8172, 17, 21026, {1, 3, 7, 7, 9, 29, 103, 161, 215, 129, 113, 1987, 919, 9639, 20715, 6541, 15041}}, +{8173, 17, 21037, {1, 1, 5, 9, 19, 19, 127, 43, 263, 997, 1687, 3801, 4249, 6309, 25889, 1787, 122771}}, +{8174, 17, 21038, {1, 3, 5, 13, 17, 3, 91, 183, 349, 467, 333, 3299, 3085, 12135, 16801, 31471, 37227}}, +{8175, 17, 21045, {1, 1, 5, 3, 7, 53, 11, 221, 407, 545, 237, 3631, 1791, 3729, 19737, 921, 57303}}, +{8176, 17, 21057, {1, 3, 7, 15, 3, 27, 71, 45, 219, 9, 1135, 2267, 6841, 8637, 30317, 9397, 115425}}, +{8177, 17, 21082, {1, 1, 3, 5, 29, 59, 121, 225, 419, 813, 1725, 3969, 3451, 8457, 31803, 57659, 33263}}, +{8178, 17, 21093, {1, 3, 3, 3, 17, 3, 65, 249, 423, 293, 1333, 3947, 1477, 4005, 30445, 28171, 95823}}, +{8179, 17, 21094, {1, 3, 3, 11, 29, 45, 67, 89, 75, 95, 555, 1823, 2795, 11929, 1995, 30013, 116241}}, +{8180, 17, 21105, {1, 3, 3, 3, 23, 35, 87, 221, 385, 275, 803, 387, 7765, 15637, 27953, 20913, 25279}}, +{8181, 17, 21117, {1, 3, 7, 15, 15, 43, 21, 179, 393, 95, 1913, 1715, 4467, 15093, 13613, 50775, 37133}}, +{8182, 17, 21121, {1, 1, 7, 7, 31, 27, 49, 71, 323, 123, 597, 2395, 4449, 7249, 20197, 19789, 92685}}, +{8183, 17, 21124, {1, 1, 5, 13, 31, 37, 89, 225, 357, 201, 1887, 3915, 2165, 10809, 21623, 34375, 110905}}, +{8184, 17, 21136, {1, 1, 5, 7, 11, 53, 37, 55, 61, 679, 1465, 1587, 2215, 16237, 14985, 50507, 128637}}, +{8185, 17, 21139, {1, 1, 7, 1, 15, 53, 115, 21, 279, 555, 43, 2429, 7251, 2141, 4813, 47047, 119551}}, +{8186, 17, 21142, {1, 1, 5, 13, 11, 41, 59, 245, 337, 117, 1125, 4007, 947, 10591, 17795, 48535, 72171}}, +{8187, 17, 21145, {1, 1, 5, 15, 27, 41, 71, 43, 505, 539, 975, 1567, 795, 4433, 11689, 53051, 98819}}, +{8188, 17, 21167, {1, 1, 7, 9, 1, 57, 57, 137, 323, 311, 759, 3027, 3713, 13, 24133, 21451, 1153}}, +{8189, 17, 21170, {1, 1, 5, 15, 31, 49, 23, 123, 271, 549, 1995, 5, 6065, 3797, 1085, 50137, 19741}}, +{8190, 17, 21175, {1, 3, 3, 13, 5, 15, 21, 117, 487, 43, 1759, 2899, 4239, 9729, 16711, 31559, 34553}}, +{8191, 17, 21179, {1, 1, 5, 13, 5, 23, 83, 49, 147, 267, 923, 1377, 1687, 1793, 30383, 19537, 66989}}, +{8192, 17, 21182, {1, 1, 1, 13, 9, 41, 105, 241, 499, 891, 885, 3349, 4703, 5609, 11999, 58025, 69089}}, +{8193, 17, 21193, {1, 1, 7, 9, 21, 11, 121, 69, 115, 895, 91, 3745, 41, 12787, 26181, 31399, 30463}}, +{8194, 17, 21194, {1, 1, 7, 13, 11, 3, 23, 173, 5, 907, 45, 3465, 2807, 3731, 14347, 27973, 8567}}, +{8195, 17, 21207, {1, 3, 7, 5, 27, 47, 43, 25, 499, 57, 649, 705, 6223, 4213, 4549, 23213, 13657}}, +{8196, 17, 21217, {1, 1, 7, 11, 21, 35, 5, 79, 295, 359, 1993, 99, 7917, 14917, 2131, 45527, 31451}}, +{8197, 17, 21224, {1, 1, 5, 15, 1, 39, 85, 93, 65, 991, 389, 585, 4835, 11671, 10913, 41787, 84953}}, +{8198, 17, 21244, {1, 1, 1, 5, 27, 5, 1, 15, 11, 83, 1191, 3945, 4697, 7703, 6929, 6057, 88721}}, +{8199, 17, 21247, {1, 1, 3, 7, 27, 39, 71, 181, 191, 997, 419, 1671, 7771, 15305, 18677, 45033, 64745}}, +{8200, 17, 21252, {1, 3, 7, 3, 15, 41, 33, 239, 93, 307, 153, 2701, 1549, 5011, 6913, 19257, 55829}}, +{8201, 17, 21264, {1, 3, 3, 11, 21, 47, 69, 223, 365, 877, 431, 1629, 4803, 11591, 13973, 56359, 11897}}, +{8202, 17, 21273, {1, 3, 7, 7, 1, 59, 63, 129, 251, 873, 603, 2707, 2847, 8739, 31343, 63291, 5607}}, +{8203, 17, 21289, {1, 3, 5, 5, 19, 13, 79, 235, 151, 571, 953, 2191, 5973, 4751, 11119, 14439, 97755}}, +{8204, 17, 21290, {1, 1, 5, 1, 27, 3, 105, 139, 13, 821, 221, 2025, 7303, 1891, 28193, 45537, 92703}}, +{8205, 17, 21295, {1, 3, 7, 9, 13, 63, 27, 149, 51, 121, 587, 3695, 4115, 3955, 22493, 34903, 51669}}, +{8206, 17, 21297, {1, 1, 5, 7, 19, 5, 89, 87, 269, 585, 421, 3827, 315, 14739, 109, 43009, 94969}}, +{8207, 17, 21309, {1, 1, 5, 15, 9, 53, 125, 83, 159, 917, 1583, 585, 6839, 14957, 20007, 60467, 96309}}, +{8208, 17, 21318, {1, 3, 5, 1, 23, 49, 109, 91, 17, 731, 1083, 3153, 1825, 14293, 25639, 44599, 47541}}, +{8209, 17, 21322, {1, 1, 3, 7, 21, 51, 45, 25, 367, 925, 799, 1673, 6977, 7155, 829, 25899, 104615}}, +{8210, 17, 21324, {1, 3, 3, 13, 13, 49, 95, 239, 195, 353, 1967, 1419, 929, 503, 11717, 9485, 62885}}, +{8211, 17, 21329, {1, 1, 1, 15, 3, 41, 109, 91, 327, 789, 1429, 1159, 2801, 4845, 19663, 47737, 11029}}, +{8212, 17, 21332, {1, 3, 5, 1, 21, 63, 57, 107, 229, 771, 1911, 647, 6989, 12615, 23191, 64941, 97595}}, +{8213, 17, 21336, {1, 1, 1, 15, 5, 13, 15, 109, 459, 447, 1625, 1269, 7629, 7929, 4405, 12143, 40481}}, +{8214, 17, 21342, {1, 3, 3, 1, 23, 3, 95, 229, 363, 379, 1149, 1615, 5125, 3645, 27535, 58791, 38091}}, +{8215, 17, 21351, {1, 1, 1, 1, 9, 45, 119, 85, 151, 171, 1123, 41, 6517, 8067, 17845, 23301, 95383}}, +{8216, 17, 21355, {1, 3, 1, 15, 17, 31, 103, 71, 35, 1019, 1687, 1175, 6119, 14075, 26601, 28873, 36617}}, +{8217, 17, 21363, {1, 3, 3, 9, 13, 39, 7, 17, 207, 219, 637, 3025, 1709, 4031, 563, 14865, 129389}}, +{8218, 17, 21372, {1, 3, 7, 1, 21, 11, 121, 85, 111, 641, 1163, 3173, 5189, 13261, 19471, 39635, 76545}}, +{8219, 17, 21382, {1, 3, 7, 15, 3, 45, 3, 37, 121, 967, 1861, 3257, 3699, 6881, 11905, 8413, 59397}}, +{8220, 17, 21388, {1, 3, 3, 13, 25, 53, 85, 181, 1, 979, 2045, 297, 1739, 8139, 17897, 35251, 7193}}, +{8221, 17, 21394, {1, 1, 1, 3, 5, 49, 77, 115, 377, 209, 1415, 3747, 485, 803, 2507, 27729, 52201}}, +{8222, 17, 21403, {1, 3, 1, 5, 31, 55, 85, 171, 135, 893, 1423, 3693, 6155, 5321, 8297, 39183, 88377}}, +{8223, 17, 21409, {1, 3, 3, 15, 1, 35, 73, 239, 181, 101, 509, 2449, 4955, 13049, 27631, 16871, 40151}}, +{8224, 17, 21416, {1, 1, 7, 13, 27, 7, 109, 71, 437, 835, 563, 1355, 3681, 7431, 32743, 59693, 125055}}, +{8225, 17, 21421, {1, 1, 7, 5, 19, 23, 29, 147, 291, 507, 1943, 2069, 3309, 11569, 1031, 49345, 86735}}, +{8226, 17, 21424, {1, 1, 3, 13, 17, 45, 91, 167, 19, 137, 527, 961, 4435, 2277, 6863, 57917, 129407}}, +{8227, 17, 21444, {1, 3, 5, 7, 11, 31, 79, 207, 43, 871, 1121, 2929, 6899, 4099, 29533, 45333, 33299}}, +{8228, 17, 21453, {1, 1, 7, 5, 5, 49, 13, 95, 475, 91, 337, 3531, 3157, 1331, 32655, 46169, 3549}}, +{8229, 17, 21466, {1, 3, 1, 5, 5, 9, 73, 177, 123, 251, 717, 541, 7083, 6907, 1417, 31203, 9755}}, +{8230, 17, 21471, {1, 3, 1, 11, 21, 11, 91, 155, 447, 165, 1525, 2073, 5103, 193, 2677, 43673, 70579}}, +{8231, 17, 21495, {1, 3, 7, 1, 7, 27, 115, 247, 211, 779, 1999, 209, 3215, 111, 25567, 34641, 130873}}, +{8232, 17, 21499, {1, 1, 5, 9, 25, 7, 15, 19, 217, 831, 1577, 2051, 3533, 2337, 7675, 2845, 69135}}, +{8233, 17, 21504, {1, 3, 5, 15, 29, 11, 91, 59, 221, 383, 1235, 1261, 2967, 14989, 11455, 6459, 58047}}, +{8234, 17, 21507, {1, 3, 5, 1, 3, 35, 5, 127, 99, 981, 493, 3001, 5651, 3125, 27789, 57389, 115631}}, +{8235, 17, 21521, {1, 3, 5, 5, 29, 63, 123, 161, 247, 177, 1653, 2665, 3903, 11129, 20961, 49429, 44075}}, +{8236, 17, 21527, {1, 3, 1, 1, 13, 9, 57, 167, 291, 765, 1929, 397, 5503, 5601, 6957, 62003, 104631}}, +{8237, 17, 21555, {1, 1, 7, 15, 9, 43, 57, 85, 157, 361, 1931, 2183, 8045, 14939, 2169, 25733, 29095}}, +{8238, 17, 21558, {1, 1, 3, 15, 13, 35, 47, 123, 13, 667, 1373, 4069, 6259, 13453, 13439, 25349, 99437}}, +{8239, 17, 21562, {1, 3, 7, 1, 31, 15, 69, 45, 355, 919, 415, 793, 3987, 8785, 4905, 8177, 123989}}, +{8240, 17, 21570, {1, 3, 7, 13, 29, 27, 69, 57, 385, 185, 171, 2499, 3983, 13437, 23585, 21501, 88079}}, +{8241, 17, 21576, {1, 1, 5, 11, 27, 3, 77, 99, 221, 997, 1653, 1963, 2251, 15505, 26347, 51933, 100679}}, +{8242, 17, 21579, {1, 1, 1, 7, 19, 39, 49, 69, 193, 235, 959, 2823, 2573, 8001, 4389, 13217, 60975}}, +{8243, 17, 21581, {1, 1, 7, 5, 1, 3, 3, 189, 199, 293, 1225, 1913, 7271, 2255, 661, 23293, 82069}}, +{8244, 17, 21587, {1, 1, 5, 5, 21, 31, 35, 113, 47, 479, 325, 1663, 7409, 8975, 14151, 56317, 79663}}, +{8245, 17, 21590, {1, 1, 5, 9, 15, 63, 99, 135, 277, 715, 667, 387, 6929, 12873, 12913, 2599, 84939}}, +{8246, 17, 21599, {1, 1, 7, 15, 23, 39, 67, 25, 179, 313, 459, 295, 1103, 1737, 7529, 29463, 104693}}, +{8247, 17, 21605, {1, 1, 3, 13, 23, 11, 111, 67, 105, 191, 1967, 3497, 7621, 487, 18545, 59521, 115315}}, +{8248, 17, 21612, {1, 1, 1, 7, 25, 45, 83, 61, 231, 569, 155, 2817, 6985, 5289, 6731, 3087, 89749}}, +{8249, 17, 21618, {1, 3, 7, 1, 1, 61, 103, 49, 135, 411, 659, 1735, 4461, 8077, 12885, 62791, 114769}}, +{8250, 17, 21630, {1, 1, 7, 13, 3, 53, 21, 81, 433, 563, 857, 891, 195, 11669, 24769, 56539, 47601}}, +{8251, 17, 21639, {1, 3, 1, 13, 3, 41, 59, 101, 67, 803, 1209, 3267, 1255, 5763, 5483, 36339, 38451}}, +{8252, 17, 21640, {1, 3, 5, 3, 25, 51, 53, 213, 329, 11, 483, 81, 2151, 7623, 26309, 15289, 85103}}, +{8253, 17, 21643, {1, 3, 3, 13, 23, 17, 9, 161, 417, 207, 39, 3615, 7567, 15207, 20383, 58885, 121765}}, +{8254, 17, 21648, {1, 3, 1, 7, 15, 59, 9, 195, 187, 583, 341, 2737, 3891, 331, 18055, 60455, 113271}}, +{8255, 17, 21669, {1, 1, 3, 3, 19, 25, 95, 37, 281, 59, 1613, 2733, 5715, 4067, 5509, 5851, 35189}}, +{8256, 17, 21679, {1, 3, 1, 3, 31, 43, 125, 107, 341, 109, 1991, 849, 7795, 13607, 20421, 3339, 78979}}, +{8257, 17, 21681, {1, 3, 7, 13, 15, 57, 87, 151, 479, 99, 479, 447, 7407, 303, 16397, 15699, 122273}}, +{8258, 17, 21687, {1, 1, 3, 1, 27, 61, 79, 195, 5, 839, 1411, 3451, 4627, 13715, 18401, 24325, 44027}}, +{8259, 17, 21688, {1, 1, 7, 15, 21, 39, 57, 207, 213, 367, 547, 1203, 6385, 2555, 31465, 15675, 7133}}, +{8260, 17, 21706, {1, 1, 5, 15, 27, 3, 75, 123, 337, 1019, 1525, 3065, 1919, 10779, 27409, 6291, 86291}}, +{8261, 17, 21713, {1, 1, 7, 11, 15, 27, 67, 145, 125, 521, 647, 2957, 6337, 14973, 24139, 29107, 27151}}, +{8262, 17, 21714, {1, 1, 1, 13, 25, 57, 103, 83, 321, 111, 131, 2051, 5267, 4723, 1939, 40389, 4803}}, +{8263, 17, 21716, {1, 3, 1, 7, 29, 7, 35, 133, 349, 855, 613, 2563, 2261, 2119, 13939, 24727, 26719}}, +{8264, 17, 21730, {1, 3, 3, 1, 11, 61, 25, 177, 427, 1005, 2027, 649, 7871, 7803, 4717, 59207, 57945}}, +{8265, 17, 21732, {1, 1, 7, 1, 15, 45, 75, 133, 193, 745, 485, 197, 6001, 13837, 615, 43629, 127321}}, +{8266, 17, 21749, {1, 3, 3, 13, 5, 7, 101, 183, 211, 283, 1327, 1395, 8175, 13359, 18361, 54243, 3555}}, +{8267, 17, 21756, {1, 1, 7, 13, 7, 43, 19, 41, 319, 701, 795, 1407, 7113, 9149, 31953, 17075, 53975}}, +{8268, 17, 21774, {1, 3, 5, 13, 11, 19, 101, 125, 327, 75, 1471, 3465, 2247, 5107, 11519, 45161, 71373}}, +{8269, 17, 21779, {1, 3, 7, 13, 23, 59, 53, 57, 137, 575, 59, 3829, 963, 11259, 25771, 29223, 79535}}, +{8270, 17, 21781, {1, 3, 3, 11, 17, 31, 111, 147, 499, 441, 1385, 769, 6901, 8349, 1427, 16561, 7485}}, +{8271, 17, 21786, {1, 1, 7, 9, 21, 7, 47, 83, 351, 867, 265, 1329, 7853, 6959, 11821, 44947, 42275}}, +{8272, 17, 21792, {1, 1, 7, 15, 3, 17, 79, 143, 449, 577, 1007, 1101, 3229, 6861, 23921, 37551, 117309}}, +{8273, 17, 21810, {1, 3, 5, 11, 27, 63, 107, 15, 289, 821, 1723, 1945, 1373, 14469, 30985, 55987, 21255}}, +{8274, 17, 21819, {1, 3, 5, 3, 21, 39, 79, 85, 485, 733, 2031, 1573, 6873, 12225, 30471, 54233, 26967}}, +{8275, 17, 21829, {1, 3, 5, 7, 17, 29, 93, 251, 437, 583, 825, 551, 6545, 10905, 27863, 37037, 52129}}, +{8276, 17, 21830, {1, 3, 7, 9, 23, 1, 23, 85, 195, 319, 1759, 3985, 2413, 16205, 22197, 48821, 94907}}, +{8277, 17, 21844, {1, 1, 3, 7, 17, 47, 3, 195, 167, 925, 11, 3431, 1767, 5917, 13915, 54565, 64625}}, +{8278, 17, 21853, {1, 3, 1, 13, 23, 43, 97, 93, 313, 773, 591, 127, 6005, 11497, 32573, 8173, 92053}}, +{8279, 17, 21867, {1, 1, 5, 9, 17, 47, 115, 237, 389, 619, 377, 561, 1333, 6433, 9743, 32673, 98039}}, +{8280, 17, 21869, {1, 3, 7, 15, 23, 17, 99, 225, 145, 191, 2041, 581, 841, 9377, 18123, 32773, 66849}}, +{8281, 17, 21882, {1, 3, 7, 15, 21, 49, 97, 41, 357, 527, 2019, 2083, 2611, 12449, 20037, 52503, 105991}}, +{8282, 17, 21891, {1, 1, 5, 13, 17, 53, 41, 75, 355, 207, 1675, 591, 5797, 9217, 16443, 3205, 81905}}, +{8283, 17, 21898, {1, 3, 7, 11, 1, 61, 29, 207, 449, 103, 1527, 2327, 7895, 10137, 25223, 51607, 60809}}, +{8284, 17, 21917, {1, 3, 3, 5, 15, 57, 87, 233, 301, 989, 485, 2143, 7411, 5475, 23377, 56005, 59721}}, +{8285, 17, 21934, {1, 3, 1, 15, 29, 7, 95, 141, 369, 231, 735, 1103, 1565, 11575, 571, 3257, 62961}}, +{8286, 17, 21946, {1, 1, 5, 15, 27, 19, 25, 35, 303, 555, 95, 1323, 6139, 5079, 21763, 59591, 103537}}, +{8287, 17, 21948, {1, 1, 1, 13, 25, 23, 85, 151, 135, 349, 1753, 1061, 7697, 1723, 5213, 12581, 103995}}, +{8288, 17, 21963, {1, 3, 1, 9, 29, 51, 101, 195, 59, 809, 1527, 2179, 63, 3681, 29823, 57537, 121371}}, +{8289, 17, 21966, {1, 1, 7, 11, 27, 61, 85, 213, 245, 261, 1649, 2423, 6127, 5687, 4247, 56061, 109793}}, +{8290, 17, 21968, {1, 3, 5, 15, 11, 33, 127, 31, 269, 857, 2027, 2611, 1729, 11783, 16459, 31083, 30671}}, +{8291, 17, 21973, {1, 1, 7, 9, 11, 29, 127, 177, 505, 227, 1499, 1309, 6855, 9999, 21815, 32987, 79109}}, +{8292, 17, 21977, {1, 3, 7, 11, 7, 21, 107, 1, 493, 459, 867, 3199, 7985, 12957, 28197, 41133, 105985}}, +{8293, 17, 21980, {1, 1, 3, 15, 1, 57, 113, 97, 213, 547, 1017, 2961, 461, 16125, 10621, 4243, 58277}}, +{8294, 17, 21984, {1, 1, 3, 5, 11, 57, 61, 47, 209, 961, 333, 795, 4491, 15115, 25745, 62633, 66269}}, +{8295, 17, 21994, {1, 1, 7, 3, 19, 13, 49, 167, 455, 863, 581, 1407, 4247, 15023, 2247, 19981, 125891}}, +{8296, 17, 21999, {1, 1, 7, 15, 17, 55, 27, 35, 33, 349, 879, 1781, 1075, 2475, 30689, 42043, 29423}}, +{8297, 17, 22018, {1, 1, 1, 11, 25, 53, 121, 117, 117, 845, 447, 3927, 1951, 8643, 24497, 44833, 99533}}, +{8298, 17, 22020, {1, 1, 7, 13, 3, 59, 117, 9, 359, 453, 327, 3419, 5957, 97, 20541, 49441, 5673}}, +{8299, 17, 22029, {1, 3, 5, 5, 31, 35, 95, 107, 435, 733, 827, 1361, 6627, 8905, 2681, 25473, 46093}}, +{8300, 17, 22032, {1, 3, 3, 5, 7, 23, 75, 137, 231, 915, 637, 2963, 4409, 12799, 31587, 65363, 69539}}, +{8301, 17, 22041, {1, 1, 1, 7, 15, 35, 19, 233, 189, 837, 243, 2525, 6185, 565, 8133, 4265, 3089}}, +{8302, 17, 22047, {1, 1, 5, 5, 19, 59, 103, 201, 287, 449, 21, 2331, 341, 13145, 18607, 46407, 2767}}, +{8303, 17, 22048, {1, 3, 3, 15, 19, 41, 49, 179, 109, 367, 1185, 1045, 1635, 9647, 16613, 25357, 34291}}, +{8304, 17, 22071, {1, 3, 5, 1, 13, 11, 89, 25, 159, 637, 1979, 549, 3553, 9163, 227, 50553, 46307}}, +{8305, 17, 22075, {1, 1, 3, 1, 17, 33, 73, 239, 261, 751, 1267, 2643, 2549, 8331, 25083, 9715, 67289}}, +{8306, 17, 22078, {1, 1, 1, 13, 3, 49, 7, 35, 367, 293, 903, 1045, 569, 6017, 27635, 51833, 32963}}, +{8307, 17, 22083, {1, 3, 5, 3, 31, 3, 69, 137, 57, 87, 719, 3977, 3031, 7675, 24605, 8757, 93173}}, +{8308, 17, 22089, {1, 3, 3, 1, 7, 45, 97, 35, 233, 69, 1525, 4047, 2599, 13679, 4389, 49079, 121465}}, +{8309, 17, 22097, {1, 1, 7, 13, 7, 25, 57, 211, 337, 189, 1825, 2451, 7651, 11277, 27763, 40671, 57223}}, +{8310, 17, 22110, {1, 1, 1, 1, 15, 59, 55, 169, 461, 907, 407, 803, 3349, 4727, 20983, 47717, 51647}}, +{8311, 17, 22113, {1, 3, 7, 1, 15, 51, 25, 119, 439, 593, 1289, 3959, 5489, 13283, 31837, 8441, 58373}}, +{8312, 17, 22119, {1, 3, 1, 9, 5, 1, 81, 45, 13, 537, 1091, 3861, 6781, 5679, 2807, 29757, 40917}}, +{8313, 17, 22120, {1, 3, 5, 3, 27, 41, 19, 235, 207, 697, 775, 837, 3431, 3175, 10807, 42775, 67987}}, +{8314, 17, 22126, {1, 3, 7, 3, 29, 33, 35, 119, 271, 609, 1747, 2839, 3415, 2275, 30979, 41293, 99341}}, +{8315, 17, 22133, {1, 3, 3, 3, 5, 17, 13, 169, 269, 709, 1449, 3169, 1545, 16075, 8937, 39705, 19609}}, +{8316, 17, 22134, {1, 3, 5, 15, 29, 13, 1, 199, 65, 385, 977, 797, 1181, 10979, 241, 40393, 73663}}, +{8317, 17, 22140, {1, 1, 3, 7, 17, 35, 47, 63, 193, 451, 151, 3415, 99, 14557, 26025, 31361, 112639}}, +{8318, 17, 22147, {1, 1, 3, 5, 19, 13, 29, 33, 365, 311, 1241, 217, 6205, 13067, 18585, 21693, 97127}}, +{8319, 17, 22161, {1, 1, 3, 15, 19, 7, 87, 25, 91, 13, 1839, 1445, 957, 9779, 25557, 37027, 38987}}, +{8320, 17, 22164, {1, 1, 5, 1, 21, 5, 79, 67, 481, 455, 37, 1321, 7723, 1413, 7919, 11035, 5739}}, +{8321, 17, 22173, {1, 1, 1, 15, 9, 55, 111, 1, 383, 439, 1037, 4055, 4243, 10443, 26737, 21039, 130847}}, +{8322, 17, 22197, {1, 1, 7, 9, 13, 25, 71, 137, 307, 717, 1009, 2477, 3861, 14145, 14549, 59589, 93401}}, +{8323, 17, 22207, {1, 1, 7, 5, 29, 63, 77, 49, 471, 267, 1457, 1743, 1915, 14793, 17899, 28011, 92183}}, +{8324, 17, 22210, {1, 3, 7, 7, 7, 41, 47, 251, 75, 749, 1915, 1015, 5869, 3211, 24097, 14349, 130571}}, +{8325, 17, 22216, {1, 1, 1, 1, 31, 63, 105, 83, 345, 147, 975, 135, 7299, 15801, 19311, 26143, 80293}}, +{8326, 17, 22234, {1, 1, 3, 1, 7, 1, 47, 45, 251, 635, 583, 3515, 5233, 6281, 7797, 37949, 75877}}, +{8327, 17, 22257, {1, 1, 3, 3, 5, 53, 99, 175, 155, 327, 1841, 211, 2811, 16099, 17255, 34253, 124141}}, +{8328, 17, 22264, {1, 3, 1, 3, 13, 27, 81, 217, 115, 245, 101, 1641, 29, 1441, 4829, 28399, 102303}}, +{8329, 17, 22278, {1, 3, 1, 5, 11, 55, 31, 91, 337, 203, 987, 977, 4929, 14933, 25149, 20493, 19783}}, +{8330, 17, 22284, {1, 1, 5, 9, 9, 37, 103, 211, 349, 165, 1421, 3015, 5133, 4615, 28173, 45787, 10711}}, +{8331, 17, 22287, {1, 1, 1, 1, 1, 17, 29, 117, 421, 651, 1617, 1677, 7841, 16303, 8843, 1321, 90701}}, +{8332, 17, 22299, {1, 1, 1, 15, 27, 23, 49, 195, 139, 319, 1277, 901, 63, 14677, 21815, 19497, 24883}}, +{8333, 17, 22301, {1, 3, 3, 13, 1, 23, 17, 189, 293, 765, 1503, 1485, 7427, 11807, 17629, 61739, 111365}}, +{8334, 17, 22308, {1, 1, 5, 5, 15, 41, 25, 53, 221, 449, 1597, 2763, 4119, 6319, 17509, 23493, 104707}}, +{8335, 17, 22337, {1, 3, 7, 11, 29, 21, 101, 197, 161, 457, 331, 3817, 5139, 14307, 23225, 55567, 62535}}, +{8336, 17, 22349, {1, 1, 7, 5, 9, 57, 39, 101, 5, 847, 1311, 313, 2877, 14811, 21969, 31741, 8075}}, +{8337, 17, 22350, {1, 3, 5, 3, 1, 11, 45, 163, 251, 775, 1031, 1957, 1631, 1691, 3191, 6255, 13037}}, +{8338, 17, 22357, {1, 1, 3, 13, 7, 11, 95, 97, 409, 835, 707, 1579, 2409, 9451, 15069, 62425, 106499}}, +{8339, 17, 22364, {1, 3, 3, 11, 5, 25, 23, 207, 429, 299, 537, 1467, 6309, 891, 15009, 56733, 60397}}, +{8340, 17, 22373, {1, 3, 5, 3, 29, 47, 95, 115, 207, 177, 543, 427, 145, 11169, 7441, 10911, 87413}}, +{8341, 17, 22377, {1, 3, 7, 11, 25, 53, 15, 225, 115, 295, 919, 39, 513, 9989, 11045, 24015, 102387}}, +{8342, 17, 22380, {1, 1, 7, 15, 13, 31, 103, 143, 357, 825, 183, 137, 2671, 9803, 14777, 48333, 79483}}, +{8343, 17, 22386, {1, 3, 5, 1, 25, 13, 65, 9, 461, 307, 1289, 1035, 7253, 14223, 16829, 23361, 84987}}, +{8344, 17, 22391, {1, 3, 5, 7, 5, 57, 47, 251, 5, 9, 965, 2883, 3105, 13931, 807, 31977, 119035}}, +{8345, 17, 22392, {1, 1, 3, 5, 3, 7, 55, 165, 3, 787, 1587, 989, 6049, 14021, 30789, 15283, 92851}}, +{8346, 17, 22411, {1, 1, 5, 5, 3, 17, 11, 167, 487, 885, 193, 3485, 8179, 9485, 24913, 40267, 70625}}, +{8347, 17, 22422, {1, 1, 7, 1, 27, 31, 9, 139, 73, 137, 783, 321, 691, 6157, 19905, 45525, 84877}}, +{8348, 17, 22425, {1, 3, 1, 9, 17, 39, 127, 177, 301, 579, 1065, 3899, 281, 9177, 16295, 51217, 120293}}, +{8349, 17, 22431, {1, 1, 7, 9, 31, 59, 17, 93, 247, 779, 847, 1183, 3453, 1073, 18597, 2655, 121633}}, +{8350, 17, 22438, {1, 1, 7, 1, 25, 43, 47, 253, 23, 999, 973, 1201, 1061, 5947, 5619, 36311, 1545}}, +{8351, 17, 22441, {1, 3, 5, 7, 11, 5, 103, 119, 229, 657, 1993, 1991, 1597, 13165, 19137, 7161, 83487}}, +{8352, 17, 22442, {1, 1, 1, 1, 11, 23, 105, 183, 467, 83, 899, 2447, 4949, 4171, 28943, 4829, 13033}}, +{8353, 17, 22449, {1, 3, 1, 7, 15, 7, 47, 215, 253, 109, 1975, 3337, 1553, 13575, 16835, 61525, 26423}}, +{8354, 17, 22452, {1, 1, 7, 1, 21, 17, 53, 79, 175, 267, 999, 249, 6177, 10453, 12475, 59801, 47351}}, +{8355, 17, 22461, {1, 3, 5, 11, 3, 57, 5, 193, 421, 799, 1833, 2635, 6537, 4669, 9597, 40661, 12113}}, +{8356, 17, 22467, {1, 1, 7, 11, 9, 11, 69, 103, 139, 167, 159, 2469, 703, 1519, 21553, 62875, 60449}}, +{8357, 17, 22479, {1, 1, 5, 3, 9, 11, 17, 183, 499, 301, 1275, 605, 7655, 12141, 7783, 39413, 116263}}, +{8358, 17, 22484, {1, 1, 1, 7, 31, 55, 23, 79, 49, 247, 761, 3573, 8187, 4879, 27379, 15725, 81415}}, +{8359, 17, 22487, {1, 3, 5, 5, 5, 49, 23, 205, 509, 383, 1165, 3839, 7663, 1539, 19967, 55901, 4351}}, +{8360, 17, 22493, {1, 1, 1, 11, 7, 15, 3, 159, 235, 735, 391, 2231, 5043, 9759, 4569, 35601, 71989}}, +{8361, 17, 22510, {1, 3, 3, 15, 23, 3, 49, 97, 99, 517, 1097, 3517, 1035, 2319, 27705, 25547, 101555}}, +{8362, 17, 22521, {1, 3, 7, 11, 27, 29, 33, 241, 205, 113, 291, 1993, 3277, 13155, 1039, 42367, 130477}}, +{8363, 17, 22533, {1, 1, 1, 3, 29, 19, 15, 159, 35, 153, 1177, 3011, 6271, 8203, 8971, 19183, 102871}}, +{8364, 17, 22534, {1, 1, 1, 5, 5, 51, 19, 175, 209, 895, 229, 2355, 499, 7877, 4935, 22737, 35587}}, +{8365, 17, 22543, {1, 3, 7, 11, 15, 9, 7, 113, 41, 835, 1593, 3933, 7165, 10959, 15487, 30019, 114505}}, +{8366, 17, 22548, {1, 1, 7, 5, 31, 21, 27, 11, 421, 165, 1605, 1859, 29, 13051, 3273, 3893, 56089}}, +{8367, 17, 22552, {1, 3, 5, 5, 17, 51, 55, 187, 401, 977, 95, 2617, 727, 9609, 5075, 48989, 120299}}, +{8368, 17, 22558, {1, 1, 5, 7, 21, 31, 127, 87, 379, 125, 247, 3607, 2555, 11873, 32535, 16677, 122273}}, +{8369, 17, 22561, {1, 1, 1, 5, 19, 21, 51, 185, 203, 145, 1073, 167, 235, 12753, 17315, 14683, 44101}}, +{8370, 17, 22562, {1, 3, 3, 1, 5, 61, 71, 17, 63, 151, 823, 17, 5315, 4861, 17279, 23049, 84971}}, +{8371, 17, 22568, {1, 3, 3, 5, 21, 63, 21, 235, 295, 467, 1661, 2487, 335, 6107, 28709, 55875, 129085}}, +{8372, 17, 22571, {1, 3, 3, 5, 1, 55, 35, 187, 5, 687, 1633, 2999, 4513, 10105, 15249, 22591, 102857}}, +{8373, 17, 22574, {1, 3, 1, 5, 19, 1, 113, 27, 261, 623, 831, 3011, 4091, 11967, 17191, 17433, 99925}}, +{8374, 17, 22581, {1, 3, 5, 5, 25, 59, 81, 249, 463, 523, 183, 3049, 3675, 2705, 28379, 1279, 25579}}, +{8375, 17, 22594, {1, 1, 3, 9, 19, 19, 71, 127, 189, 613, 647, 1449, 7755, 1415, 9067, 30683, 79703}}, +{8376, 17, 22603, {1, 1, 7, 1, 27, 33, 61, 135, 233, 633, 1969, 2245, 5841, 14069, 6497, 63617, 101483}}, +{8377, 17, 22605, {1, 3, 3, 9, 23, 3, 17, 163, 309, 741, 2023, 2647, 5847, 7871, 22311, 38377, 70663}}, +{8378, 17, 22606, {1, 3, 5, 15, 31, 33, 51, 243, 209, 273, 1305, 1599, 6115, 6249, 8639, 5903, 17215}}, +{8379, 17, 22623, {1, 1, 1, 1, 21, 11, 107, 185, 463, 435, 149, 3789, 6283, 1327, 20893, 10417, 78673}}, +{8380, 17, 22630, {1, 1, 1, 13, 5, 53, 121, 129, 493, 419, 1711, 2765, 7673, 8979, 25845, 62759, 9669}}, +{8381, 17, 22651, {1, 3, 5, 5, 1, 39, 123, 47, 449, 639, 625, 2355, 511, 1685, 1415, 32417, 76529}}, +{8382, 17, 22657, {1, 3, 1, 11, 1, 49, 67, 237, 203, 967, 1401, 2773, 4951, 13889, 14147, 41031, 71897}}, +{8383, 17, 22669, {1, 3, 5, 11, 13, 49, 17, 113, 315, 207, 1057, 3395, 6151, 2767, 16571, 1811, 66403}}, +{8384, 17, 22670, {1, 1, 7, 7, 29, 63, 49, 115, 327, 987, 1853, 3355, 8139, 2703, 30039, 51343, 86999}}, +{8385, 17, 22677, {1, 1, 3, 9, 1, 3, 45, 35, 509, 483, 159, 1795, 8023, 6989, 3755, 20887, 13587}}, +{8386, 17, 22682, {1, 1, 3, 7, 1, 27, 39, 159, 283, 843, 317, 3229, 2297, 15031, 22039, 21721, 70583}}, +{8387, 17, 22698, {1, 1, 3, 11, 9, 23, 1, 35, 79, 77, 1671, 2583, 647, 12313, 16271, 2959, 108389}}, +{8388, 17, 22712, {1, 1, 1, 7, 5, 55, 1, 233, 429, 231, 833, 1279, 7815, 1051, 30627, 4435, 25997}}, +{8389, 17, 22715, {1, 3, 1, 15, 19, 53, 9, 165, 307, 437, 551, 2477, 1841, 11799, 18477, 5871, 20065}}, +{8390, 17, 22729, {1, 1, 1, 1, 21, 5, 65, 41, 77, 909, 93, 751, 2973, 7341, 30427, 60075, 71457}}, +{8391, 17, 22732, {1, 1, 3, 11, 25, 51, 49, 63, 165, 263, 1915, 747, 8053, 6361, 4843, 20189, 110147}}, +{8392, 17, 22735, {1, 3, 1, 9, 29, 9, 45, 177, 415, 557, 1555, 2967, 1239, 8115, 12853, 19193, 73681}}, +{8393, 17, 22738, {1, 1, 5, 5, 11, 5, 51, 157, 325, 517, 1601, 3911, 1487, 13631, 7483, 61515, 48937}}, +{8394, 17, 22740, {1, 3, 7, 5, 29, 31, 107, 47, 437, 837, 1791, 477, 1717, 7, 25855, 48793, 16385}}, +{8395, 17, 22750, {1, 1, 1, 3, 29, 49, 31, 255, 233, 935, 1993, 125, 2255, 12785, 2807, 54697, 62591}}, +{8396, 17, 22753, {1, 3, 1, 7, 15, 13, 9, 245, 79, 289, 841, 253, 5259, 16123, 29189, 63837, 127915}}, +{8397, 17, 22760, {1, 3, 7, 15, 15, 55, 91, 103, 445, 289, 1471, 423, 3387, 15609, 19311, 28993, 23473}}, +{8398, 17, 22765, {1, 1, 3, 11, 31, 39, 69, 125, 115, 309, 397, 3417, 5693, 10301, 1489, 25955, 2699}}, +{8399, 17, 22768, {1, 3, 3, 5, 13, 21, 51, 207, 239, 311, 1601, 2925, 6285, 9597, 30579, 62957, 6153}}, +{8400, 17, 22778, {1, 1, 7, 1, 27, 21, 63, 143, 399, 971, 1385, 1875, 5143, 6423, 6223, 27009, 14237}}, +{8401, 17, 22785, {1, 3, 5, 1, 5, 59, 125, 133, 151, 997, 1315, 3007, 8173, 16289, 13409, 839, 103519}}, +{8402, 17, 22809, {1, 1, 1, 13, 7, 57, 83, 33, 191, 121, 939, 3927, 6089, 10083, 5903, 52229, 78325}}, +{8403, 17, 22810, {1, 1, 3, 5, 9, 61, 43, 107, 279, 135, 1109, 3779, 5305, 15333, 12217, 41257, 20265}}, +{8404, 17, 22812, {1, 3, 7, 1, 31, 59, 83, 43, 219, 119, 511, 2973, 4587, 10701, 30959, 21489, 124077}}, +{8405, 17, 22828, {1, 1, 7, 9, 17, 3, 59, 151, 281, 209, 1405, 173, 3589, 7679, 29803, 53947, 68291}}, +{8406, 17, 22840, {1, 1, 7, 7, 5, 19, 53, 91, 1, 513, 1495, 231, 3627, 1115, 16121, 12953, 108343}}, +{8407, 17, 22845, {1, 3, 1, 13, 17, 3, 35, 35, 211, 481, 2029, 1035, 3131, 5653, 18097, 10735, 102453}}, +{8408, 17, 22848, {1, 3, 1, 11, 29, 7, 121, 135, 51, 837, 681, 1497, 7435, 2215, 26527, 33029, 93241}}, +{8409, 17, 22857, {1, 3, 3, 15, 29, 43, 17, 243, 195, 315, 499, 3801, 5691, 12119, 4061, 51769, 80497}}, +{8410, 17, 22877, {1, 1, 3, 1, 11, 1, 113, 11, 387, 579, 275, 2995, 895, 11859, 4017, 1543, 11853}}, +{8411, 17, 22882, {1, 1, 7, 9, 31, 27, 63, 217, 97, 275, 435, 1355, 5205, 6587, 32589, 46485, 103587}}, +{8412, 17, 22887, {1, 3, 7, 3, 7, 19, 51, 41, 81, 261, 1909, 1475, 425, 3173, 5679, 34701, 34977}}, +{8413, 17, 22894, {1, 1, 7, 3, 27, 15, 35, 49, 387, 471, 1997, 3643, 2701, 11853, 21311, 36027, 104357}}, +{8414, 17, 22912, {1, 3, 1, 9, 5, 47, 73, 163, 309, 891, 229, 2433, 6715, 6721, 25233, 37043, 29367}}, +{8415, 17, 22930, {1, 1, 1, 7, 27, 15, 9, 185, 421, 597, 565, 143, 1531, 15585, 17057, 54309, 82915}}, +{8416, 17, 22936, {1, 1, 7, 1, 5, 43, 87, 61, 121, 341, 25, 3795, 7161, 11985, 32197, 789, 69543}}, +{8417, 17, 22939, {1, 3, 5, 13, 29, 39, 81, 39, 263, 729, 1833, 365, 1073, 9869, 1845, 52621, 5}}, +{8418, 17, 22957, {1, 1, 7, 7, 5, 33, 117, 11, 371, 161, 1303, 629, 2285, 5827, 32355, 43359, 115595}}, +{8419, 17, 22970, {1, 3, 5, 5, 13, 57, 63, 9, 243, 533, 173, 2197, 717, 13441, 22131, 17783, 3319}}, +{8420, 17, 22980, {1, 1, 7, 11, 15, 31, 87, 255, 183, 273, 805, 2347, 5881, 15401, 273, 17397, 41827}}, +{8421, 17, 22984, {1, 3, 1, 13, 7, 17, 121, 49, 47, 121, 333, 3629, 5337, 4117, 2735, 36581, 61345}}, +{8422, 17, 22992, {1, 3, 3, 11, 9, 7, 25, 223, 379, 119, 385, 1217, 4803, 2947, 30665, 7733, 77893}}, +{8423, 17, 22998, {1, 3, 3, 7, 31, 35, 127, 97, 5, 373, 7, 3035, 843, 5991, 9265, 34289, 42785}}, +{8424, 17, 23001, {1, 3, 7, 3, 27, 19, 95, 253, 349, 871, 807, 413, 5847, 10467, 4277, 12429, 75773}}, +{8425, 17, 23044, {1, 3, 3, 7, 21, 1, 79, 89, 219, 505, 41, 505, 5159, 12839, 3317, 49873, 73705}}, +{8426, 17, 23061, {1, 3, 1, 7, 21, 43, 121, 113, 477, 559, 1831, 3759, 3315, 6367, 7149, 16395, 44703}}, +{8427, 17, 23062, {1, 1, 1, 7, 13, 53, 35, 53, 489, 975, 631, 863, 3067, 1905, 21351, 14705, 80041}}, +{8428, 17, 23071, {1, 1, 1, 5, 13, 27, 121, 65, 351, 123, 1731, 367, 8061, 5229, 8537, 20897, 130373}}, +{8429, 17, 23075, {1, 1, 5, 11, 15, 63, 101, 107, 105, 619, 1771, 3549, 7191, 9083, 16827, 29639, 34219}}, +{8430, 17, 23089, {1, 3, 1, 9, 15, 13, 87, 157, 379, 433, 217, 815, 5079, 1797, 26707, 35165, 92305}}, +{8431, 17, 23090, {1, 1, 5, 13, 27, 35, 31, 65, 313, 629, 375, 1391, 5373, 3497, 7311, 23105, 45293}}, +{8432, 17, 23096, {1, 3, 1, 3, 5, 39, 91, 37, 401, 419, 949, 2431, 3685, 6671, 20789, 8597, 44215}}, +{8433, 17, 23101, {1, 1, 7, 11, 7, 15, 3, 181, 363, 913, 309, 2009, 3805, 6651, 27677, 37711, 40813}}, +{8434, 17, 23114, {1, 3, 5, 5, 17, 11, 47, 9, 27, 459, 773, 1403, 7069, 12651, 8163, 42425, 126697}}, +{8435, 17, 23121, {1, 3, 1, 3, 11, 21, 65, 103, 405, 843, 59, 3653, 1759, 5265, 401, 58019, 124999}}, +{8436, 17, 23124, {1, 1, 3, 7, 11, 25, 61, 211, 199, 849, 1835, 1181, 5003, 3873, 23743, 45451, 54901}}, +{8437, 17, 23127, {1, 3, 5, 3, 29, 25, 43, 199, 481, 991, 699, 3937, 7601, 1253, 24399, 6625, 93917}}, +{8438, 17, 23128, {1, 1, 7, 3, 29, 33, 33, 151, 3, 825, 743, 773, 7825, 8157, 22121, 50095, 16435}}, +{8439, 17, 23137, {1, 3, 1, 1, 27, 15, 81, 151, 271, 167, 1755, 1289, 7473, 8525, 12525, 63139, 48787}}, +{8440, 17, 23138, {1, 1, 7, 13, 27, 33, 87, 125, 211, 631, 149, 3451, 643, 6975, 2659, 12629, 33187}}, +{8441, 17, 23150, {1, 1, 3, 3, 5, 49, 99, 99, 85, 647, 351, 2829, 7005, 7283, 5857, 46157, 52061}}, +{8442, 17, 23155, {1, 1, 3, 5, 11, 37, 43, 129, 21, 639, 187, 2279, 8189, 12877, 28707, 7133, 93639}}, +{8443, 17, 23168, {1, 1, 3, 7, 19, 13, 35, 51, 77, 811, 1553, 2769, 763, 4965, 4643, 37639, 44229}}, +{8444, 17, 23173, {1, 3, 5, 15, 11, 29, 103, 203, 435, 1017, 531, 1453, 1407, 6569, 619, 52103, 45213}}, +{8445, 17, 23174, {1, 1, 7, 5, 25, 25, 47, 229, 201, 843, 473, 2637, 2265, 4627, 20013, 41217, 76095}}, +{8446, 17, 23195, {1, 3, 3, 15, 23, 61, 109, 31, 57, 595, 1303, 3915, 67, 8205, 3553, 9543, 103385}}, +{8447, 17, 23202, {1, 1, 3, 3, 21, 19, 21, 41, 137, 905, 2045, 491, 1783, 151, 20963, 38009, 735}}, +{8448, 17, 23225, {1, 1, 7, 11, 13, 33, 95, 251, 179, 211, 1687, 3189, 6213, 3905, 2117, 15153, 4855}}, +{8449, 17, 23226, {1, 1, 5, 3, 19, 9, 67, 243, 23, 611, 1007, 1317, 7303, 11065, 21157, 56677, 81683}}, +{8450, 17, 23239, {1, 1, 3, 5, 19, 41, 63, 129, 233, 15, 37, 1445, 1095, 11309, 30181, 49199, 85113}}, +{8451, 17, 23253, {1, 3, 7, 1, 21, 53, 83, 79, 155, 379, 773, 1823, 1003, 2787, 31107, 36115, 40987}}, +{8452, 17, 23263, {1, 3, 3, 5, 3, 19, 7, 247, 417, 573, 407, 3577, 6079, 10275, 29791, 35149, 102565}}, +{8453, 17, 23264, {1, 3, 3, 9, 21, 49, 57, 223, 125, 671, 655, 2995, 5849, 5355, 21171, 54857, 114841}}, +{8454, 17, 23281, {1, 3, 7, 3, 27, 23, 125, 103, 485, 955, 963, 1865, 2321, 2263, 32497, 47973, 122111}}, +{8455, 17, 23282, {1, 1, 3, 15, 3, 1, 37, 19, 287, 165, 1717, 851, 3619, 13623, 24295, 48253, 13143}}, +{8456, 17, 23288, {1, 1, 7, 9, 13, 59, 69, 97, 113, 163, 871, 1795, 2719, 13675, 11767, 23687, 65841}}, +{8457, 17, 23294, {1, 1, 5, 3, 21, 31, 41, 115, 469, 177, 137, 2129, 1385, 10835, 16471, 59411, 30795}}, +{8458, 17, 23302, {1, 1, 7, 7, 13, 45, 73, 119, 457, 673, 1481, 3735, 2675, 11413, 9069, 34741, 8757}}, +{8459, 17, 23311, {1, 3, 5, 3, 15, 9, 11, 191, 499, 51, 1963, 3957, 1341, 7129, 13491, 65369, 4339}}, +{8460, 17, 23320, {1, 3, 7, 1, 5, 45, 103, 209, 183, 205, 525, 2417, 847, 10801, 10699, 16723, 36421}}, +{8461, 17, 23325, {1, 3, 7, 13, 3, 57, 37, 75, 299, 359, 2017, 125, 6737, 4859, 18443, 20765, 40319}}, +{8462, 17, 23356, {1, 1, 3, 5, 5, 17, 43, 141, 31, 141, 1019, 1685, 6831, 9433, 31245, 29227, 64083}}, +{8463, 17, 23374, {1, 3, 1, 13, 25, 47, 107, 69, 459, 595, 1759, 3391, 1531, 15197, 25975, 16971, 70861}}, +{8464, 17, 23388, {1, 1, 3, 11, 3, 53, 63, 211, 69, 469, 1407, 1435, 2763, 917, 19943, 16591, 97101}}, +{8465, 17, 23402, {1, 3, 5, 13, 25, 41, 39, 61, 319, 809, 1109, 169, 3101, 8801, 21697, 50759, 130985}}, +{8466, 17, 23415, {1, 3, 1, 9, 23, 1, 11, 249, 243, 605, 1419, 269, 1601, 2063, 5365, 38077, 106161}}, +{8467, 17, 23421, {1, 1, 7, 7, 19, 55, 97, 155, 477, 845, 61, 263, 1337, 8857, 31611, 44417, 43111}}, +{8468, 17, 23426, {1, 3, 3, 15, 7, 63, 45, 239, 291, 279, 1875, 3769, 1571, 15857, 13335, 17209, 34399}}, +{8469, 17, 23443, {1, 1, 7, 11, 19, 19, 69, 111, 217, 927, 1643, 1077, 4763, 15893, 17491, 39737, 10705}}, +{8470, 17, 23446, {1, 1, 5, 11, 3, 3, 31, 199, 109, 403, 973, 3833, 2729, 7285, 26743, 53915, 96203}}, +{8471, 17, 23455, {1, 3, 3, 11, 9, 7, 19, 145, 495, 805, 381, 919, 1323, 4343, 15887, 5163, 68267}}, +{8472, 17, 23461, {1, 1, 3, 11, 15, 31, 27, 201, 251, 279, 1377, 1313, 7143, 9731, 10451, 63431, 31307}}, +{8473, 17, 23468, {1, 1, 7, 1, 1, 55, 35, 249, 133, 645, 425, 279, 6401, 11687, 751, 947, 21791}}, +{8474, 17, 23471, {1, 3, 5, 9, 5, 43, 89, 31, 419, 573, 1087, 2197, 3451, 2393, 6569, 4859, 36607}}, +{8475, 17, 23485, {1, 3, 5, 15, 25, 51, 11, 149, 483, 789, 661, 967, 3537, 15511, 26587, 29861, 120337}}, +{8476, 17, 23486, {1, 3, 5, 13, 21, 39, 75, 111, 57, 321, 1591, 381, 7399, 10807, 26651, 62489, 78341}}, +{8477, 17, 23488, {1, 3, 1, 13, 1, 1, 49, 137, 193, 967, 805, 221, 803, 11381, 27803, 51013, 10475}}, +{8478, 17, 23498, {1, 3, 7, 5, 3, 13, 47, 195, 123, 753, 397, 1203, 981, 12863, 20845, 36155, 19055}}, +{8479, 17, 23500, {1, 1, 1, 9, 9, 11, 53, 203, 3, 163, 1537, 2061, 941, 12629, 16053, 34881, 31489}}, +{8480, 17, 23515, {1, 1, 1, 15, 5, 23, 51, 197, 459, 21, 1989, 2529, 4267, 1505, 8951, 15777, 20493}}, +{8481, 17, 23521, {1, 1, 7, 3, 31, 55, 9, 55, 217, 695, 1563, 4077, 3207, 7029, 10881, 39581, 82511}}, +{8482, 17, 23527, {1, 3, 1, 5, 1, 11, 81, 1, 505, 631, 1093, 3655, 2085, 7349, 5009, 49381, 30527}}, +{8483, 17, 23534, {1, 1, 7, 1, 27, 51, 25, 235, 213, 59, 611, 3883, 2909, 6411, 19605, 49001, 114529}}, +{8484, 17, 23546, {1, 3, 5, 3, 25, 29, 19, 137, 199, 681, 1625, 2711, 4873, 14677, 9767, 30441, 54673}}, +{8485, 17, 23559, {1, 1, 1, 9, 27, 43, 109, 161, 139, 675, 741, 2839, 1425, 5701, 19897, 12787, 33069}}, +{8486, 17, 23560, {1, 3, 5, 11, 21, 19, 77, 107, 197, 591, 1899, 1311, 3347, 6369, 26891, 3771, 32455}}, +{8487, 17, 23566, {1, 1, 7, 15, 31, 13, 109, 69, 207, 349, 249, 971, 7891, 10919, 31579, 38453, 124601}}, +{8488, 17, 23584, {1, 3, 5, 5, 27, 61, 67, 193, 53, 259, 1729, 4033, 2637, 8217, 22351, 4001, 118527}}, +{8489, 17, 23587, {1, 1, 3, 5, 9, 45, 55, 73, 189, 131, 1947, 1889, 837, 4085, 10393, 64359, 1037}}, +{8490, 17, 23594, {1, 3, 7, 3, 13, 51, 55, 37, 335, 939, 35, 461, 5057, 2595, 3305, 58823, 3941}}, +{8491, 17, 23602, {1, 1, 7, 11, 7, 3, 121, 139, 241, 477, 615, 2707, 5391, 7611, 11563, 41083, 16719}}, +{8492, 17, 23607, {1, 3, 3, 15, 27, 55, 13, 221, 195, 543, 215, 4035, 1647, 8111, 26425, 43571, 79893}}, +{8493, 17, 23616, {1, 1, 1, 5, 31, 5, 35, 145, 481, 339, 1951, 2155, 1309, 9851, 31505, 37371, 21247}}, +{8494, 17, 23621, {1, 1, 7, 9, 7, 5, 73, 119, 3, 741, 1351, 2855, 2207, 1465, 12047, 13507, 129173}}, +{8495, 17, 23631, {1, 1, 7, 13, 5, 57, 119, 63, 367, 327, 1257, 3191, 6929, 9593, 16565, 54397, 100305}}, +{8496, 17, 23634, {1, 3, 1, 11, 9, 1, 85, 53, 65, 945, 17, 1963, 4819, 16173, 11669, 53579, 33701}}, +{8497, 17, 23636, {1, 1, 3, 15, 25, 27, 3, 25, 23, 429, 197, 2717, 6107, 6719, 12457, 31793, 78647}}, +{8498, 17, 23649, {1, 1, 3, 1, 7, 63, 111, 235, 299, 91, 369, 1423, 7083, 4229, 18535, 33793, 19943}}, +{8499, 17, 23652, {1, 1, 7, 13, 9, 11, 123, 9, 169, 895, 1989, 1047, 6139, 11773, 19381, 9593, 14809}}, +{8500, 17, 23679, {1, 3, 1, 3, 29, 31, 63, 91, 59, 391, 1695, 2459, 3301, 5615, 3425, 8029, 16069}}, +{8501, 17, 23686, {1, 1, 7, 1, 25, 25, 79, 49, 131, 695, 987, 2911, 1109, 8237, 18227, 37287, 22443}}, +{8502, 17, 23697, {1, 3, 3, 3, 25, 21, 33, 207, 187, 381, 129, 445, 2967, 5119, 18777, 14849, 97115}}, +{8503, 17, 23703, {1, 1, 7, 13, 19, 9, 93, 185, 391, 579, 1509, 3245, 3921, 9473, 4795, 6685, 49549}}, +{8504, 17, 23714, {1, 1, 5, 11, 1, 49, 57, 127, 363, 811, 1383, 2869, 7625, 15177, 2581, 64253, 53677}}, +{8505, 17, 23719, {1, 1, 7, 3, 7, 27, 73, 187, 31, 1011, 1013, 3269, 6625, 5001, 20805, 13331, 93725}}, +{8506, 17, 23723, {1, 3, 7, 1, 23, 61, 123, 9, 141, 113, 1009, 3713, 4947, 9929, 24125, 1101, 104249}}, +{8507, 17, 23726, {1, 3, 7, 3, 23, 17, 25, 187, 189, 875, 1435, 163, 4197, 6619, 29031, 23117, 45347}}, +{8508, 17, 23728, {1, 1, 5, 7, 11, 17, 9, 55, 117, 223, 417, 3993, 1843, 5817, 20435, 56705, 98337}}, +{8509, 17, 23733, {1, 1, 7, 3, 21, 59, 3, 77, 297, 61, 407, 1603, 3209, 1611, 30185, 50275, 56139}}, +{8510, 17, 23740, {1, 1, 1, 5, 31, 3, 101, 167, 367, 543, 339, 1885, 7855, 9989, 30969, 6735, 108123}}, +{8511, 17, 23751, {1, 1, 3, 9, 27, 63, 9, 79, 335, 351, 673, 3107, 3955, 1799, 16879, 57631, 109073}}, +{8512, 17, 23755, {1, 1, 1, 3, 27, 17, 107, 115, 155, 371, 379, 2837, 6213, 2663, 1101, 451, 69517}}, +{8513, 17, 23765, {1, 1, 3, 9, 13, 3, 55, 9, 449, 43, 1011, 3281, 5311, 223, 10715, 6639, 79949}}, +{8514, 17, 23766, {1, 3, 3, 11, 23, 9, 43, 185, 271, 1005, 1041, 2633, 377, 4247, 10417, 51903, 19239}}, +{8515, 17, 23769, {1, 3, 1, 9, 15, 39, 115, 233, 33, 425, 1979, 583, 1901, 8943, 1527, 56065, 50159}}, +{8516, 17, 23779, {1, 1, 3, 1, 13, 1, 105, 149, 13, 625, 671, 1811, 3701, 241, 27357, 25835, 127265}}, +{8517, 17, 23794, {1, 3, 1, 9, 11, 23, 107, 197, 21, 589, 1065, 2591, 1163, 15013, 8931, 6355, 87079}}, +{8518, 17, 23796, {1, 3, 5, 3, 17, 5, 121, 61, 99, 987, 2033, 2237, 2299, 14689, 19785, 9599, 101035}}, +{8519, 17, 23803, {1, 1, 1, 1, 17, 25, 5, 97, 55, 75, 1419, 2793, 7215, 3185, 7029, 23023, 89089}}, +{8520, 17, 23813, {1, 3, 3, 3, 11, 57, 103, 191, 405, 463, 1421, 253, 6069, 10905, 18193, 719, 17337}}, +{8521, 17, 23820, {1, 3, 5, 11, 23, 37, 39, 169, 295, 527, 1671, 3913, 6057, 689, 27719, 47245, 95895}}, +{8522, 17, 23841, {1, 3, 7, 5, 13, 9, 43, 189, 411, 155, 559, 3701, 1623, 2401, 10359, 22675, 41897}}, +{8523, 17, 23853, {1, 1, 1, 11, 17, 55, 47, 101, 357, 669, 857, 2745, 6425, 11839, 13095, 10757, 52383}}, +{8524, 17, 23861, {1, 1, 7, 5, 11, 13, 53, 151, 93, 455, 133, 3353, 1417, 7917, 12913, 2615, 34281}}, +{8525, 17, 23862, {1, 1, 3, 5, 29, 57, 43, 35, 203, 423, 311, 3133, 1757, 1291, 2019, 3115, 126939}}, +{8526, 17, 23873, {1, 1, 3, 11, 9, 43, 119, 95, 135, 351, 1865, 2821, 717, 6275, 19713, 42315, 97935}}, +{8527, 17, 23876, {1, 3, 7, 7, 31, 51, 7, 29, 405, 31, 1765, 3231, 1315, 1307, 26469, 62033, 35619}}, +{8528, 17, 23897, {1, 1, 5, 7, 5, 17, 49, 137, 501, 631, 1401, 2851, 6971, 14721, 4329, 26483, 120007}}, +{8529, 17, 23898, {1, 1, 5, 13, 21, 19, 95, 93, 125, 331, 1797, 1653, 1891, 11081, 30989, 24671, 95421}}, +{8530, 17, 23903, {1, 3, 3, 11, 13, 29, 61, 157, 165, 39, 661, 89, 637, 1397, 12561, 62399, 129107}}, +{8531, 17, 23904, {1, 3, 1, 15, 13, 19, 5, 115, 345, 903, 531, 4069, 6775, 7433, 569, 21779, 13271}}, +{8532, 17, 23910, {1, 3, 3, 9, 5, 53, 17, 115, 67, 939, 1907, 3979, 4311, 3573, 857, 34931, 112397}}, +{8533, 17, 23931, {1, 3, 7, 11, 9, 47, 83, 85, 277, 219, 1701, 3013, 3037, 3473, 3797, 40713, 118573}}, +{8534, 17, 23933, {1, 1, 3, 13, 25, 33, 117, 115, 179, 119, 487, 3213, 2873, 17, 20865, 20043, 64381}}, +{8535, 17, 23934, {1, 1, 1, 3, 1, 45, 73, 103, 75, 579, 981, 2449, 2141, 8697, 22995, 59693, 104461}}, +{8536, 17, 23943, {1, 3, 1, 1, 29, 9, 9, 201, 55, 389, 1069, 2057, 4149, 9217, 10753, 7889, 95849}}, +{8537, 17, 23952, {1, 3, 7, 9, 27, 39, 19, 223, 7, 253, 55, 503, 3339, 6049, 32603, 34807, 115403}}, +{8538, 17, 23955, {1, 1, 5, 3, 13, 21, 67, 87, 205, 309, 1371, 1579, 281, 16135, 28403, 25951, 24109}}, +{8539, 17, 23962, {1, 3, 1, 3, 17, 21, 49, 77, 393, 943, 1701, 2661, 5173, 12875, 2731, 40531, 19301}}, +{8540, 17, 23971, {1, 3, 1, 5, 23, 29, 61, 161, 373, 389, 1699, 359, 2513, 4717, 30397, 24395, 20881}}, +{8541, 17, 23978, {1, 3, 5, 5, 29, 3, 115, 251, 277, 487, 7, 3301, 7945, 14233, 20497, 62035, 21537}}, +{8542, 17, 23998, {1, 1, 1, 9, 7, 59, 23, 85, 367, 109, 1761, 4011, 6535, 8263, 2081, 63647, 69807}}, +{8543, 17, 24003, {1, 1, 7, 11, 21, 41, 29, 219, 271, 617, 929, 407, 2899, 14299, 7645, 44815, 58817}}, +{8544, 17, 24009, {1, 3, 5, 7, 11, 29, 119, 33, 261, 571, 2013, 3327, 2181, 12767, 93, 2437, 76533}}, +{8545, 17, 24017, {1, 1, 7, 13, 17, 39, 55, 203, 261, 917, 967, 3651, 7235, 13751, 14439, 7591, 96553}}, +{8546, 17, 24045, {1, 1, 1, 1, 11, 39, 19, 21, 125, 93, 1773, 1155, 6213, 7173, 9057, 6219, 4643}}, +{8547, 17, 24046, {1, 3, 1, 5, 1, 31, 55, 143, 425, 539, 61, 3377, 7647, 257, 15007, 24511, 8707}}, +{8548, 17, 24060, {1, 3, 3, 11, 27, 51, 103, 197, 427, 139, 181, 1169, 3123, 11803, 5285, 1321, 62267}}, +{8549, 17, 24064, {1, 3, 5, 9, 11, 3, 13, 149, 197, 37, 31, 927, 3313, 16149, 14209, 60177, 46525}}, +{8550, 17, 24076, {1, 1, 5, 13, 15, 29, 103, 49, 355, 797, 1253, 1833, 621, 3877, 9981, 49207, 91035}}, +{8551, 17, 24079, {1, 1, 3, 3, 13, 19, 27, 51, 151, 275, 35, 3755, 7511, 14197, 26141, 43765, 104327}}, +{8552, 17, 24087, {1, 3, 5, 15, 23, 47, 101, 213, 97, 957, 831, 1533, 7913, 15763, 29717, 60425, 38559}}, +{8553, 17, 24094, {1, 1, 7, 9, 29, 31, 49, 245, 361, 299, 151, 2969, 1487, 1761, 11697, 4043, 100909}}, +{8554, 17, 24100, {1, 1, 1, 3, 17, 49, 99, 159, 3, 525, 1527, 3435, 5113, 459, 13341, 54103, 85813}}, +{8555, 17, 24118, {1, 3, 1, 1, 5, 59, 35, 75, 107, 91, 1621, 3261, 619, 3271, 10813, 29857, 1547}}, +{8556, 17, 24121, {1, 1, 5, 9, 9, 33, 85, 245, 39, 879, 1621, 2587, 3825, 12939, 30113, 24611, 68491}}, +{8557, 17, 24132, {1, 3, 1, 3, 9, 39, 93, 241, 307, 237, 3, 1763, 7729, 9257, 31911, 32591, 77333}}, +{8558, 17, 24147, {1, 3, 1, 3, 27, 7, 51, 121, 317, 361, 1027, 95, 7035, 3097, 21007, 38311, 88287}}, +{8559, 17, 24165, {1, 3, 7, 3, 19, 3, 111, 115, 339, 793, 1571, 3101, 1911, 14929, 12841, 45871, 119905}}, +{8560, 17, 24172, {1, 1, 5, 7, 31, 61, 37, 143, 279, 941, 1215, 2411, 7617, 1657, 10189, 19139, 6307}}, +{8561, 17, 24177, {1, 1, 3, 9, 21, 35, 13, 157, 187, 79, 689, 1085, 37, 4549, 5901, 15321, 61627}}, +{8562, 17, 24184, {1, 3, 1, 13, 15, 39, 21, 231, 39, 327, 801, 2321, 587, 1877, 3489, 54467, 95773}}, +{8563, 17, 24187, {1, 1, 5, 7, 1, 9, 53, 1, 243, 365, 789, 3833, 317, 10697, 26567, 65187, 22507}}, +{8564, 17, 24213, {1, 3, 3, 7, 9, 41, 31, 135, 425, 939, 15, 2043, 6593, 7651, 25467, 62549, 35847}}, +{8565, 17, 24217, {1, 1, 1, 7, 15, 23, 19, 57, 421, 25, 1037, 3055, 6173, 12451, 485, 54567, 109561}}, +{8566, 17, 24223, {1, 3, 5, 1, 3, 29, 67, 233, 157, 677, 1711, 513, 4673, 2895, 1983, 31075, 1861}}, +{8567, 17, 24230, {1, 1, 1, 1, 7, 39, 115, 251, 275, 791, 15, 1685, 6835, 14685, 12607, 28213, 121475}}, +{8568, 17, 24234, {1, 1, 5, 5, 13, 11, 103, 93, 489, 709, 1339, 2407, 1663, 10195, 3135, 15531, 88427}}, +{8569, 17, 24241, {1, 1, 7, 7, 17, 1, 123, 143, 31, 721, 1739, 2273, 3785, 10261, 14741, 52573, 113677}}, +{8570, 17, 24248, {1, 3, 7, 3, 9, 21, 77, 13, 241, 429, 165, 3399, 7543, 2633, 21129, 13537, 84473}}, +{8571, 17, 24259, {1, 1, 1, 11, 21, 33, 125, 123, 189, 337, 163, 3727, 2101, 14113, 1719, 46017, 68601}}, +{8572, 17, 24262, {1, 1, 7, 9, 9, 53, 101, 111, 125, 605, 1419, 3901, 1769, 4585, 20063, 20857, 21901}}, +{8573, 17, 24271, {1, 3, 7, 11, 1, 19, 51, 7, 457, 119, 871, 3847, 57, 11437, 28763, 58831, 675}}, +{8574, 17, 24279, {1, 3, 1, 15, 25, 63, 69, 25, 405, 823, 1701, 2441, 7561, 8679, 31643, 29325, 25563}}, +{8575, 17, 24286, {1, 1, 3, 9, 15, 5, 89, 13, 73, 951, 959, 2693, 4565, 13095, 991, 12419, 8267}}, +{8576, 17, 24289, {1, 1, 7, 1, 15, 1, 119, 223, 213, 585, 1047, 2623, 4141, 2043, 1583, 59155, 5133}}, +{8577, 17, 24295, {1, 3, 3, 3, 17, 37, 81, 233, 87, 843, 1597, 1251, 4713, 10813, 24357, 48499, 84465}}, +{8578, 17, 24296, {1, 1, 1, 1, 11, 55, 125, 5, 255, 809, 543, 2351, 7079, 7801, 29247, 23937, 97405}}, +{8579, 17, 24299, {1, 3, 3, 5, 17, 55, 87, 245, 371, 679, 943, 655, 5857, 261, 28229, 22519, 35191}}, +{8580, 17, 24314, {1, 1, 7, 15, 9, 49, 25, 155, 13, 893, 1303, 2317, 2903, 15601, 1433, 20397, 70125}}, +{8581, 17, 24336, {1, 3, 5, 3, 11, 47, 99, 63, 253, 95, 1023, 397, 4307, 4771, 17027, 19833, 18269}}, +{8582, 17, 24342, {1, 3, 3, 7, 25, 17, 69, 119, 475, 575, 1637, 3785, 649, 11557, 22457, 38633, 96153}}, +{8583, 17, 24346, {1, 1, 1, 5, 31, 55, 85, 83, 307, 201, 1543, 727, 977, 15779, 21907, 31025, 38969}}, +{8584, 17, 24357, {1, 3, 5, 1, 7, 53, 107, 239, 341, 237, 1567, 2717, 3197, 12419, 23733, 42119, 86619}}, +{8585, 17, 24367, {1, 1, 5, 13, 3, 7, 105, 95, 201, 953, 781, 2043, 5263, 13427, 10303, 60027, 19297}}, +{8586, 17, 24370, {1, 1, 5, 15, 25, 51, 5, 77, 165, 297, 1281, 1635, 4139, 11569, 32325, 23135, 27013}}, +{8587, 17, 24372, {1, 1, 3, 9, 3, 59, 107, 137, 251, 715, 1477, 511, 5629, 12205, 7541, 62559, 4253}}, +{8588, 17, 24387, {1, 1, 7, 11, 31, 29, 7, 251, 119, 547, 1179, 3063, 1625, 8941, 30515, 13601, 72741}}, +{8589, 17, 24389, {1, 3, 7, 13, 27, 43, 31, 43, 465, 355, 1063, 2305, 1425, 11963, 27327, 53335, 127517}}, +{8590, 17, 24402, {1, 3, 1, 3, 21, 17, 53, 171, 269, 783, 349, 1879, 575, 13537, 16931, 61171, 23499}}, +{8591, 17, 24414, {1, 3, 5, 3, 11, 5, 121, 227, 237, 841, 431, 3209, 3241, 6071, 23465, 39533, 102391}}, +{8592, 17, 24420, {1, 3, 5, 11, 9, 1, 59, 143, 181, 869, 1859, 1543, 6419, 13305, 29075, 28051, 105799}}, +{8593, 17, 24435, {1, 1, 7, 13, 31, 1, 105, 169, 67, 693, 1667, 2181, 4127, 4605, 3701, 36467, 19631}}, +{8594, 17, 24437, {1, 1, 7, 5, 31, 15, 119, 161, 55, 549, 1195, 4051, 1923, 2497, 8289, 60393, 96181}}, +{8595, 17, 24442, {1, 1, 3, 3, 5, 43, 13, 123, 469, 603, 2047, 2347, 815, 3457, 7503, 25261, 71951}}, +{8596, 17, 24444, {1, 1, 7, 3, 13, 25, 85, 141, 497, 405, 957, 1407, 2075, 12445, 6675, 9993, 40429}}, +{8597, 17, 24447, {1, 1, 5, 13, 29, 43, 99, 113, 307, 1003, 859, 723, 7513, 12249, 12653, 57685, 89551}}, +{8598, 17, 24468, {1, 3, 7, 3, 11, 3, 9, 141, 501, 113, 69, 2285, 4525, 9049, 24765, 11585, 53787}}, +{8599, 17, 24475, {1, 1, 3, 1, 25, 41, 103, 159, 215, 871, 77, 1849, 609, 15877, 32515, 22931, 11933}}, +{8600, 17, 24484, {1, 1, 5, 11, 3, 27, 27, 111, 479, 861, 1041, 3777, 4443, 3095, 30379, 6293, 30823}}, +{8601, 17, 24493, {1, 3, 5, 5, 27, 45, 9, 25, 451, 845, 1153, 897, 325, 15679, 30151, 37695, 54593}}, +{8602, 17, 24494, {1, 3, 7, 1, 15, 47, 87, 135, 87, 567, 221, 3173, 769, 8173, 2957, 51287, 20961}}, +{8603, 17, 24496, {1, 3, 1, 9, 3, 33, 1, 71, 147, 983, 1485, 3531, 213, 2353, 28269, 49353, 88343}}, +{8604, 17, 24514, {1, 1, 3, 11, 11, 63, 109, 255, 35, 127, 1777, 791, 1379, 9539, 4915, 21593, 98901}}, +{8605, 17, 24519, {1, 1, 7, 5, 3, 47, 93, 219, 381, 963, 359, 2461, 7629, 2803, 17345, 54311, 79057}}, +{8606, 17, 24533, {1, 3, 5, 13, 13, 21, 1, 65, 455, 203, 29, 3717, 4495, 1285, 25289, 38597, 42431}}, +{8607, 17, 24538, {1, 1, 3, 3, 27, 57, 7, 171, 65, 469, 1921, 3855, 1637, 5517, 14907, 48239, 117573}}, +{8608, 17, 24559, {1, 3, 5, 1, 11, 35, 105, 251, 19, 219, 1191, 2177, 7885, 8399, 30527, 61415, 122215}}, +{8609, 17, 24568, {1, 3, 5, 5, 21, 25, 59, 193, 509, 147, 1805, 561, 3505, 9639, 14221, 31, 99261}}, +{8610, 17, 24573, {1, 1, 5, 13, 31, 23, 35, 143, 367, 385, 1335, 2497, 3573, 8113, 16661, 16147, 8763}}, +{8611, 17, 24577, {1, 1, 7, 13, 15, 27, 35, 15, 7, 539, 633, 1145, 2267, 11527, 20975, 16689, 58227}}, +{8612, 17, 24587, {1, 1, 1, 15, 9, 11, 51, 121, 381, 331, 1445, 187, 519, 15827, 27611, 32891, 113671}}, +{8613, 17, 24592, {1, 3, 1, 5, 19, 3, 77, 67, 107, 105, 1025, 3229, 6869, 5717, 4227, 28489, 59759}}, +{8614, 17, 24601, {1, 1, 5, 15, 25, 23, 7, 25, 103, 733, 525, 453, 6467, 2901, 7197, 33267, 68177}}, +{8615, 17, 24602, {1, 1, 5, 7, 27, 27, 41, 93, 449, 733, 571, 411, 1709, 9557, 549, 5925, 24123}}, +{8616, 17, 24608, {1, 1, 7, 5, 31, 57, 119, 227, 105, 533, 717, 3357, 2495, 6467, 7211, 38169, 44603}}, +{8617, 17, 24645, {1, 1, 5, 7, 29, 9, 125, 241, 471, 571, 1271, 2911, 8087, 5067, 31139, 39681, 28579}}, +{8618, 17, 24650, {1, 3, 5, 11, 25, 53, 109, 35, 183, 109, 1961, 1681, 7773, 6935, 28049, 37279, 96829}}, +{8619, 17, 24657, {1, 1, 1, 11, 1, 17, 47, 245, 231, 747, 1395, 1635, 5129, 3165, 627, 34463, 38967}}, +{8620, 17, 24664, {1, 3, 5, 1, 9, 41, 25, 215, 251, 525, 1399, 3405, 7399, 11041, 5599, 51167, 38697}}, +{8621, 17, 24670, {1, 3, 3, 13, 11, 15, 121, 95, 139, 611, 633, 3941, 2619, 15123, 28535, 64823, 17527}}, +{8622, 17, 24673, {1, 3, 7, 13, 21, 53, 65, 175, 81, 5, 699, 1525, 7397, 2465, 4479, 58225, 26387}}, +{8623, 17, 24676, {1, 1, 5, 7, 9, 31, 31, 149, 359, 613, 397, 153, 4861, 8195, 22969, 26003, 124423}}, +{8624, 17, 24680, {1, 3, 1, 13, 27, 17, 107, 27, 19, 13, 1481, 573, 7701, 6273, 30255, 16125, 11809}}, +{8625, 17, 24686, {1, 3, 1, 9, 15, 1, 45, 105, 287, 901, 667, 3197, 3493, 12259, 1511, 63361, 94257}}, +{8626, 17, 24700, {1, 3, 1, 3, 25, 53, 19, 87, 365, 585, 1569, 1731, 3747, 11985, 22673, 17767, 113779}}, +{8627, 17, 24704, {1, 3, 3, 9, 7, 21, 103, 201, 501, 149, 1939, 3111, 4739, 8389, 27127, 55889, 54487}}, +{8628, 17, 24714, {1, 3, 5, 7, 25, 53, 75, 57, 19, 505, 849, 2631, 6999, 11269, 24541, 17695, 97671}}, +{8629, 17, 24728, {1, 1, 7, 15, 5, 51, 123, 93, 445, 379, 1729, 2747, 5821, 10779, 29335, 57419, 109339}}, +{8630, 17, 24731, {1, 1, 7, 3, 7, 57, 117, 65, 297, 891, 487, 1535, 2361, 10457, 30759, 34571, 129949}}, +{8631, 17, 24733, {1, 3, 5, 5, 17, 51, 27, 103, 55, 925, 947, 1237, 1629, 12687, 14775, 49627, 100939}}, +{8632, 17, 24747, {1, 3, 3, 15, 1, 11, 75, 177, 399, 55, 1705, 1165, 7525, 8909, 13071, 60703, 11561}}, +{8633, 17, 24749, {1, 1, 1, 7, 13, 29, 23, 65, 279, 853, 637, 3947, 4099, 6465, 7061, 50417, 35015}}, +{8634, 17, 24750, {1, 1, 3, 3, 15, 11, 111, 169, 135, 279, 1941, 3035, 3027, 6813, 13363, 20387, 3257}}, +{8635, 17, 24764, {1, 3, 3, 11, 3, 5, 95, 181, 405, 313, 39, 1503, 2443, 3221, 17021, 23485, 43909}}, +{8636, 17, 24782, {1, 1, 1, 3, 17, 63, 27, 247, 441, 533, 449, 3845, 4021, 14269, 31477, 7013, 37473}}, +{8637, 17, 24784, {1, 1, 5, 13, 29, 39, 41, 95, 417, 21, 685, 609, 5787, 13145, 32677, 6121, 50919}}, +{8638, 17, 24793, {1, 1, 5, 3, 17, 5, 93, 143, 171, 681, 1143, 2875, 805, 15823, 29649, 63327, 12041}}, +{8639, 17, 24794, {1, 1, 1, 11, 3, 53, 123, 105, 59, 485, 1799, 2939, 657, 2485, 29563, 36221, 89095}}, +{8640, 17, 24810, {1, 1, 5, 5, 15, 13, 127, 87, 211, 579, 175, 793, 6895, 9051, 17681, 28831, 31783}}, +{8641, 17, 24817, {1, 3, 7, 5, 11, 37, 9, 219, 453, 697, 139, 335, 6411, 8495, 4203, 29065, 114837}}, +{8642, 17, 24820, {1, 1, 3, 5, 31, 25, 89, 215, 249, 271, 1731, 3133, 3947, 10227, 9679, 51303, 82833}}, +{8643, 17, 24823, {1, 3, 5, 1, 31, 15, 7, 131, 369, 757, 1963, 3223, 35, 13967, 31807, 5093, 113743}}, +{8644, 17, 24832, {1, 1, 7, 3, 15, 23, 21, 173, 295, 929, 1137, 3943, 1985, 13015, 8523, 59117, 127}}, +{8645, 17, 24855, {1, 3, 7, 1, 31, 1, 115, 229, 345, 859, 1757, 1835, 7491, 4545, 1483, 40149, 122321}}, +{8646, 17, 24859, {1, 1, 1, 3, 13, 5, 3, 133, 177, 47, 1515, 17, 5663, 3185, 2775, 31389, 37409}}, +{8647, 17, 24862, {1, 1, 3, 3, 31, 3, 43, 137, 185, 803, 709, 391, 3513, 8117, 32593, 46593, 61037}}, +{8648, 17, 24877, {1, 1, 1, 7, 29, 27, 13, 35, 61, 961, 777, 2725, 7379, 7053, 21781, 60285, 49221}}, +{8649, 17, 24890, {1, 3, 7, 15, 7, 7, 15, 123, 109, 97, 361, 791, 4773, 8111, 4319, 13981, 92505}}, +{8650, 17, 24900, {1, 1, 3, 11, 21, 33, 113, 221, 453, 981, 341, 4041, 5129, 5981, 11051, 17243, 19023}}, +{8651, 17, 24904, {1, 3, 1, 1, 19, 7, 75, 213, 467, 221, 1829, 1275, 5729, 6843, 23855, 44805, 89269}}, +{8652, 17, 24909, {1, 1, 3, 7, 5, 29, 39, 125, 147, 329, 1485, 2793, 2329, 14979, 18395, 37951, 58699}}, +{8653, 17, 24910, {1, 3, 1, 3, 11, 37, 117, 189, 103, 381, 39, 31, 5205, 5601, 17127, 49073, 121417}}, +{8654, 17, 24915, {1, 3, 3, 13, 23, 49, 57, 187, 441, 189, 349, 2559, 3313, 1321, 7731, 57309, 80195}}, +{8655, 17, 24922, {1, 3, 7, 1, 17, 9, 21, 15, 447, 333, 959, 3471, 5301, 8573, 9761, 23183, 57997}}, +{8656, 17, 24937, {1, 3, 1, 9, 19, 1, 101, 71, 325, 309, 85, 2097, 8003, 12249, 1887, 2097, 68375}}, +{8657, 17, 24945, {1, 1, 7, 7, 11, 39, 85, 241, 293, 205, 387, 1539, 6583, 1395, 8869, 48843, 49983}}, +{8658, 17, 24962, {1, 3, 7, 13, 11, 23, 83, 125, 55, 429, 169, 1893, 4657, 643, 3405, 9943, 128753}}, +{8659, 17, 24964, {1, 1, 3, 11, 19, 43, 13, 171, 495, 117, 437, 3697, 6723, 6199, 1859, 39637, 111499}}, +{8660, 17, 24991, {1, 1, 1, 5, 1, 31, 83, 199, 129, 941, 1637, 1997, 5011, 14957, 32427, 60797, 4989}}, +{8661, 17, 24992, {1, 3, 3, 3, 5, 61, 33, 225, 315, 157, 1709, 807, 7809, 11063, 319, 20901, 73599}}, +{8662, 17, 24995, {1, 1, 7, 3, 27, 3, 1, 173, 125, 769, 1203, 3357, 4899, 13115, 7081, 42459, 18525}}, +{8663, 17, 25001, {1, 1, 7, 9, 9, 27, 43, 115, 229, 867, 661, 1825, 2883, 4285, 22393, 65141, 24699}}, +{8664, 17, 25009, {1, 1, 3, 7, 5, 9, 93, 47, 33, 823, 309, 2977, 5791, 9177, 27645, 35683, 57455}}, +{8665, 17, 25019, {1, 1, 5, 7, 9, 53, 9, 77, 499, 1023, 917, 209, 7311, 249, 773, 18303, 41447}}, +{8666, 17, 25021, {1, 1, 3, 5, 7, 9, 33, 73, 325, 369, 1657, 2257, 2893, 13911, 10797, 21055, 103511}}, +{8667, 17, 25029, {1, 3, 1, 3, 21, 31, 125, 29, 149, 513, 979, 2271, 989, 9541, 4179, 13215, 71369}}, +{8668, 17, 25034, {1, 1, 7, 7, 19, 41, 39, 165, 59, 79, 137, 3479, 3389, 6635, 21467, 51073, 20765}}, +{8669, 17, 25036, {1, 3, 3, 5, 7, 13, 109, 53, 335, 627, 339, 3825, 287, 6077, 11319, 2377, 112693}}, +{8670, 17, 25039, {1, 3, 3, 1, 3, 57, 9, 47, 437, 717, 563, 1219, 6191, 9081, 21533, 2651, 17275}}, +{8671, 17, 25057, {1, 1, 1, 5, 21, 9, 109, 109, 339, 947, 1699, 1487, 6477, 12601, 12327, 39427, 80937}}, +{8672, 17, 25063, {1, 1, 7, 9, 1, 5, 55, 43, 95, 733, 1151, 3657, 2119, 11947, 21279, 21581, 22053}}, +{8673, 17, 25064, {1, 3, 5, 11, 7, 9, 97, 149, 55, 523, 1911, 1389, 5343, 5533, 15439, 65313, 73421}}, +{8674, 17, 25075, {1, 1, 3, 7, 19, 15, 119, 141, 57, 243, 423, 981, 1407, 12633, 20455, 53069, 98593}}, +{8675, 17, 25077, {1, 1, 3, 3, 15, 57, 71, 203, 15, 133, 601, 805, 2821, 11623, 147, 4333, 97681}}, +{8676, 17, 25084, {1, 1, 5, 7, 17, 61, 15, 251, 53, 699, 105, 1195, 3979, 41, 9077, 5145, 80057}}, +{8677, 17, 25088, {1, 1, 5, 15, 29, 33, 53, 19, 41, 471, 1143, 65, 5833, 8417, 17263, 35859, 45035}}, +{8678, 17, 25091, {1, 1, 1, 1, 15, 51, 73, 131, 181, 147, 1863, 3777, 1749, 10135, 11591, 12395, 85163}}, +{8679, 17, 25105, {1, 3, 1, 9, 23, 63, 83, 199, 87, 499, 2025, 863, 4665, 3941, 17647, 52463, 108615}}, +{8680, 17, 25134, {1, 3, 5, 7, 11, 39, 65, 161, 367, 593, 699, 1807, 7217, 5221, 22093, 44933, 6201}}, +{8681, 17, 25165, {1, 1, 7, 13, 9, 41, 35, 77, 353, 291, 1267, 3923, 5397, 15401, 30317, 14945, 8715}}, +{8682, 17, 25183, {1, 3, 1, 15, 11, 3, 29, 25, 505, 945, 1425, 2297, 1133, 4675, 8069, 55115, 114177}}, +{8683, 17, 25184, {1, 3, 1, 5, 27, 63, 25, 7, 5, 399, 473, 1325, 7391, 5953, 27755, 65407, 89435}}, +{8684, 17, 25202, {1, 3, 3, 13, 21, 61, 5, 119, 23, 999, 849, 1225, 3077, 821, 12059, 43223, 45427}}, +{8685, 17, 25204, {1, 3, 7, 13, 1, 5, 93, 173, 181, 453, 1449, 3823, 1713, 14737, 8891, 43643, 1983}}, +{8686, 17, 25211, {1, 1, 3, 3, 29, 53, 31, 163, 321, 539, 1283, 429, 3449, 15617, 4761, 21187, 120725}}, +{8687, 17, 25223, {1, 1, 1, 1, 13, 27, 49, 37, 33, 631, 375, 425, 2465, 8773, 2777, 2115, 35633}}, +{8688, 17, 25224, {1, 3, 5, 3, 25, 25, 27, 201, 63, 259, 1571, 1143, 2325, 6773, 11941, 28897, 19719}}, +{8689, 17, 25235, {1, 1, 3, 5, 11, 39, 59, 203, 37, 899, 559, 2599, 4397, 12159, 29579, 51251, 83213}}, +{8690, 17, 25241, {1, 1, 1, 7, 9, 19, 63, 169, 257, 921, 381, 3605, 3479, 1739, 26599, 20599, 29617}}, +{8691, 17, 25253, {1, 1, 1, 9, 7, 29, 123, 35, 419, 963, 855, 1903, 6199, 2727, 29811, 49279, 101673}}, +{8692, 17, 25258, {1, 3, 5, 11, 29, 23, 73, 13, 467, 935, 181, 3837, 8117, 11501, 18361, 26803, 99471}}, +{8693, 17, 25277, {1, 1, 1, 5, 31, 41, 109, 45, 115, 113, 1893, 727, 2453, 13463, 22339, 13495, 11473}}, +{8694, 17, 25278, {1, 1, 5, 9, 5, 31, 109, 145, 511, 243, 57, 2219, 1601, 1821, 12787, 48239, 89645}}, +{8695, 17, 25280, {1, 3, 1, 7, 19, 41, 25, 57, 45, 489, 1531, 3959, 2007, 14247, 13445, 1991, 114977}}, +{8696, 17, 25290, {1, 3, 7, 15, 7, 17, 107, 27, 249, 207, 183, 2483, 5817, 8927, 10715, 63631, 51947}}, +{8697, 17, 25295, {1, 3, 1, 3, 13, 21, 57, 113, 171, 885, 1335, 783, 7575, 4443, 19497, 13827, 130727}}, +{8698, 17, 25300, {1, 1, 5, 7, 19, 33, 95, 13, 387, 297, 1597, 767, 7543, 16063, 10367, 51683, 119811}}, +{8699, 17, 25307, {1, 3, 7, 9, 27, 57, 111, 209, 305, 139, 179, 25, 2295, 2593, 31361, 23677, 74501}}, +{8700, 17, 25319, {1, 3, 7, 3, 21, 63, 97, 189, 3, 693, 209, 2227, 7169, 9, 32575, 61521, 115155}}, +{8701, 17, 25323, {1, 1, 1, 11, 13, 21, 125, 249, 193, 895, 139, 1207, 5941, 5821, 6623, 7753, 80939}}, +{8702, 17, 25326, {1, 3, 5, 5, 11, 49, 17, 21, 423, 497, 835, 539, 6195, 12783, 1271, 20069, 2657}}, +{8703, 17, 25333, {1, 1, 7, 15, 13, 39, 83, 191, 77, 95, 661, 3627, 1853, 1349, 23109, 43583, 104121}}, +{8704, 17, 25334, {1, 3, 1, 15, 31, 15, 71, 255, 489, 91, 351, 367, 309, 6275, 18325, 51231, 52159}}, +{8705, 17, 25337, {1, 1, 7, 13, 21, 49, 37, 135, 355, 421, 507, 2563, 4955, 4095, 1933, 29517, 119699}}, +{8706, 17, 25348, {1, 1, 1, 1, 27, 41, 15, 161, 475, 635, 863, 3773, 6015, 6197, 24261, 26271, 42375}}, +{8707, 17, 25351, {1, 1, 7, 13, 25, 7, 23, 185, 129, 597, 1561, 3003, 2879, 15187, 4913, 24589, 12927}}, +{8708, 17, 25372, {1, 1, 3, 3, 9, 23, 49, 233, 345, 83, 823, 2627, 5019, 2365, 23755, 9855, 48515}}, +{8709, 17, 25381, {1, 3, 1, 1, 11, 7, 117, 213, 27, 923, 375, 2597, 8173, 8935, 16487, 49283, 104569}}, +{8710, 17, 25403, {1, 1, 7, 7, 23, 13, 61, 131, 313, 883, 495, 1105, 6207, 1473, 21655, 51883, 403}}, +{8711, 17, 25406, {1, 3, 3, 1, 25, 5, 5, 159, 243, 929, 1429, 1151, 5043, 11551, 21231, 38767, 105299}}, +{8712, 17, 25431, {1, 3, 7, 7, 15, 37, 49, 219, 67, 147, 873, 2391, 455, 9565, 8977, 64759, 40347}}, +{8713, 17, 25437, {1, 1, 1, 13, 21, 13, 13, 243, 303, 333, 187, 3591, 871, 2501, 30853, 5247, 48855}}, +{8714, 17, 25453, {1, 1, 1, 5, 1, 5, 127, 249, 23, 79, 789, 3507, 8119, 5025, 26545, 54009, 100633}}, +{8715, 17, 25459, {1, 3, 3, 11, 3, 31, 27, 115, 423, 309, 1805, 169, 789, 4081, 28139, 35355, 47991}}, +{8716, 17, 25462, {1, 3, 1, 5, 19, 13, 43, 165, 165, 241, 309, 1703, 7631, 5899, 12041, 21235, 97045}}, +{8717, 17, 25466, {1, 3, 1, 13, 15, 49, 29, 199, 93, 611, 77, 2681, 191, 10215, 8115, 11895, 108687}}, +{8718, 17, 25477, {1, 1, 3, 3, 13, 45, 15, 151, 345, 111, 1829, 1357, 6317, 5239, 26193, 46763, 73101}}, +{8719, 17, 25484, {1, 3, 7, 3, 1, 19, 119, 63, 23, 759, 173, 307, 967, 2731, 9353, 14479, 119}}, +{8720, 17, 25495, {1, 3, 5, 15, 5, 21, 127, 21, 419, 575, 991, 3465, 7365, 5711, 30657, 43513, 22447}}, +{8721, 17, 25501, {1, 3, 7, 1, 19, 5, 49, 7, 45, 963, 1755, 3745, 4061, 4619, 9089, 59953, 100265}}, +{8722, 17, 25506, {1, 1, 1, 3, 25, 53, 97, 97, 347, 749, 823, 1499, 8151, 9957, 731, 22317, 121623}}, +{8723, 17, 25511, {1, 3, 5, 5, 19, 3, 121, 127, 313, 457, 1737, 4065, 5295, 7957, 16373, 62085, 5711}}, +{8724, 17, 25515, {1, 1, 7, 13, 7, 37, 97, 43, 179, 837, 161, 477, 5095, 4985, 111, 58743, 24049}}, +{8725, 17, 25525, {1, 3, 1, 13, 27, 13, 91, 241, 339, 235, 111, 369, 3361, 15105, 11097, 23955, 53561}}, +{8726, 17, 25529, {1, 3, 5, 3, 9, 17, 103, 133, 309, 683, 71, 3329, 7229, 8763, 4165, 9649, 8529}}, +{8727, 17, 25532, {1, 3, 5, 13, 29, 55, 29, 205, 433, 1007, 1173, 731, 5653, 89, 18447, 37911, 65603}}, +{8728, 17, 25538, {1, 3, 5, 1, 15, 1, 7, 195, 397, 877, 1433, 3487, 1581, 1539, 3361, 7453, 46451}}, +{8729, 17, 25549, {1, 1, 5, 13, 23, 1, 47, 245, 19, 859, 681, 2971, 2531, 11393, 32765, 4595, 45213}}, +{8730, 17, 25552, {1, 3, 1, 3, 1, 11, 85, 185, 467, 413, 25, 3677, 881, 1791, 14655, 44811, 50819}}, +{8731, 17, 25564, {1, 3, 5, 9, 9, 21, 65, 99, 441, 215, 1453, 2873, 5883, 485, 20883, 1303, 11837}}, +{8732, 17, 25567, {1, 3, 3, 5, 9, 37, 87, 211, 247, 535, 1163, 1785, 4219, 12559, 17419, 48201, 21725}}, +{8733, 17, 25574, {1, 1, 1, 11, 29, 11, 9, 215, 375, 601, 627, 2641, 6961, 6175, 10995, 49299, 102891}}, +{8734, 17, 25577, {1, 3, 1, 3, 7, 7, 23, 139, 89, 1005, 1815, 947, 1507, 10349, 35, 43595, 104697}}, +{8735, 17, 25583, {1, 1, 5, 13, 29, 47, 77, 255, 341, 333, 1211, 3473, 1303, 11237, 28371, 43283, 77617}}, +{8736, 17, 25588, {1, 3, 3, 13, 27, 17, 73, 95, 227, 241, 1369, 833, 6683, 2193, 309, 64249, 6731}}, +{8737, 17, 25603, {1, 3, 3, 3, 15, 29, 45, 209, 401, 725, 1123, 1659, 6099, 15941, 5797, 30563, 119385}}, +{8738, 17, 25610, {1, 1, 1, 1, 7, 55, 95, 151, 351, 373, 1131, 2357, 7535, 3899, 19047, 17879, 34623}}, +{8739, 17, 25615, {1, 3, 1, 5, 31, 5, 33, 97, 477, 399, 1255, 1073, 1513, 11651, 2951, 31351, 102635}}, +{8740, 17, 25624, {1, 1, 3, 13, 17, 63, 51, 209, 57, 87, 977, 3663, 6717, 15441, 10709, 607, 48297}}, +{8741, 17, 25636, {1, 1, 5, 1, 9, 29, 1, 105, 343, 19, 977, 3401, 3873, 4259, 23057, 13071, 105771}}, +{8742, 17, 25639, {1, 1, 1, 5, 1, 33, 59, 17, 115, 225, 853, 3295, 965, 12547, 26971, 50097, 54999}}, +{8743, 17, 25643, {1, 3, 3, 13, 1, 51, 29, 19, 245, 781, 493, 1121, 2937, 4177, 3267, 47463, 101195}}, +{8744, 17, 25645, {1, 3, 7, 5, 3, 51, 25, 131, 451, 997, 1809, 1583, 355, 15383, 28159, 39141, 109379}}, +{8745, 17, 25648, {1, 1, 5, 7, 3, 19, 75, 103, 401, 115, 1627, 423, 2485, 7281, 6177, 54677, 31499}}, +{8746, 17, 25671, {1, 1, 1, 11, 23, 7, 57, 121, 5, 921, 1191, 1779, 1979, 3427, 25617, 19423, 73835}}, +{8747, 17, 25678, {1, 3, 3, 11, 17, 51, 15, 163, 265, 665, 1399, 1977, 3097, 7109, 14741, 24291, 79239}}, +{8748, 17, 25689, {1, 1, 7, 3, 25, 61, 69, 77, 341, 23, 713, 2879, 8075, 14855, 9691, 58241, 113277}}, +{8749, 17, 25708, {1, 3, 7, 9, 27, 43, 95, 11, 239, 445, 951, 3869, 1049, 6493, 9569, 9285, 29183}}, +{8750, 17, 25716, {1, 1, 3, 1, 1, 23, 27, 101, 337, 171, 1977, 3181, 2693, 8591, 32309, 24909, 106535}}, +{8751, 17, 25725, {1, 1, 1, 7, 23, 59, 79, 115, 49, 351, 871, 1209, 1045, 5985, 28427, 23047, 113571}}, +{8752, 17, 25730, {1, 1, 7, 13, 27, 3, 35, 7, 319, 503, 977, 3747, 4859, 16315, 30375, 25999, 24341}}, +{8753, 17, 25739, {1, 3, 3, 7, 23, 43, 67, 21, 399, 349, 1541, 2991, 5781, 14501, 5609, 65093, 12789}}, +{8754, 17, 25747, {1, 3, 1, 11, 5, 21, 17, 157, 311, 663, 469, 4033, 1557, 7569, 31163, 14079, 127771}}, +{8755, 17, 25753, {1, 1, 7, 15, 15, 31, 15, 183, 365, 35, 1433, 2793, 6685, 10565, 30409, 46815, 14173}}, +{8756, 17, 25790, {1, 1, 7, 7, 7, 45, 61, 163, 99, 353, 1535, 3185, 4023, 7999, 26173, 12675, 98073}}, +{8757, 17, 25797, {1, 1, 5, 13, 1, 11, 107, 41, 171, 773, 1513, 883, 2117, 14449, 32323, 58271, 97173}}, +{8758, 17, 25804, {1, 1, 3, 13, 27, 15, 123, 247, 281, 851, 233, 1173, 6863, 14805, 12401, 30729, 104127}}, +{8759, 17, 25809, {1, 1, 7, 11, 25, 9, 97, 215, 217, 51, 1865, 3897, 725, 4779, 21661, 11853, 72225}}, +{8760, 17, 25816, {1, 1, 5, 3, 5, 31, 125, 81, 367, 705, 325, 519, 3879, 5607, 3247, 7149, 33177}}, +{8761, 17, 25825, {1, 3, 3, 7, 17, 17, 19, 113, 331, 277, 317, 1893, 1287, 8965, 27523, 61355, 45331}}, +{8762, 17, 25831, {1, 3, 7, 9, 27, 15, 87, 21, 343, 479, 11, 2945, 1235, 1591, 28195, 40559, 42773}}, +{8763, 17, 25845, {1, 3, 3, 13, 1, 45, 115, 41, 263, 569, 71, 4051, 739, 1031, 19213, 23961, 110767}}, +{8764, 17, 25846, {1, 3, 7, 1, 9, 41, 21, 131, 3, 617, 191, 4051, 2445, 13451, 11889, 25075, 82631}}, +{8765, 17, 25867, {1, 3, 3, 15, 7, 55, 65, 67, 443, 1023, 1445, 1467, 3907, 11449, 2247, 65085, 102161}}, +{8766, 17, 25870, {1, 3, 5, 15, 19, 27, 97, 181, 51, 591, 99, 1443, 4927, 9809, 29693, 44293, 29369}}, +{8767, 17, 25897, {1, 1, 7, 7, 17, 59, 69, 163, 37, 171, 107, 2581, 3567, 9455, 19707, 6329, 27755}}, +{8768, 17, 25908, {1, 1, 1, 11, 15, 17, 83, 223, 183, 861, 1047, 3739, 3509, 5571, 28259, 42781, 130657}}, +{8769, 17, 25937, {1, 3, 3, 7, 15, 11, 33, 115, 297, 841, 1629, 1559, 2261, 11763, 22255, 63819, 55831}}, +{8770, 17, 25940, {1, 3, 3, 5, 19, 49, 17, 251, 507, 251, 805, 1041, 3947, 2219, 19977, 65449, 25031}}, +{8771, 17, 25944, {1, 1, 1, 11, 3, 7, 81, 17, 219, 729, 949, 3257, 6495, 4701, 2181, 7009, 106465}}, +{8772, 17, 25949, {1, 3, 7, 5, 27, 35, 15, 83, 43, 1013, 1427, 1943, 7555, 6613, 26879, 42685, 22071}}, +{8773, 17, 25954, {1, 1, 3, 13, 23, 55, 15, 87, 15, 579, 717, 777, 149, 11431, 26197, 17711, 7337}}, +{8774, 17, 25960, {1, 1, 5, 1, 31, 45, 113, 253, 211, 915, 1855, 4043, 2159, 1803, 5061, 40473, 3657}}, +{8775, 17, 25963, {1, 1, 3, 7, 25, 15, 37, 73, 467, 969, 1123, 4053, 4837, 10091, 25461, 40803, 91157}}, +{8776, 17, 25966, {1, 1, 5, 1, 7, 31, 77, 207, 21, 623, 577, 1195, 5839, 13013, 11189, 61691, 33327}}, +{8777, 17, 25978, {1, 3, 7, 7, 13, 3, 9, 55, 47, 779, 599, 3747, 1533, 14705, 23185, 4011, 36003}}, +{8778, 17, 25996, {1, 1, 5, 5, 31, 17, 99, 253, 103, 957, 241, 1893, 7435, 14907, 9089, 23205, 70639}}, +{8779, 17, 26007, {1, 3, 7, 15, 7, 55, 53, 101, 227, 541, 2017, 275, 577, 15621, 1799, 50373, 43197}}, +{8780, 17, 26011, {1, 3, 1, 15, 29, 23, 69, 193, 429, 359, 1045, 4091, 6551, 1673, 29113, 43247, 80993}}, +{8781, 17, 26027, {1, 3, 7, 11, 5, 37, 13, 27, 277, 65, 565, 2631, 6919, 5593, 8481, 14703, 9719}}, +{8782, 17, 26032, {1, 3, 1, 15, 5, 7, 83, 51, 77, 307, 1299, 1373, 5281, 15359, 15569, 50093, 59661}}, +{8783, 17, 26038, {1, 3, 5, 11, 13, 31, 99, 123, 263, 319, 2033, 4055, 2427, 103, 2009, 27517, 112467}}, +{8784, 17, 26049, {1, 1, 7, 3, 13, 1, 51, 131, 17, 861, 459, 3925, 5511, 5255, 28553, 36437, 54591}}, +{8785, 17, 26052, {1, 3, 7, 5, 9, 57, 49, 119, 291, 727, 1611, 4035, 4517, 10979, 28445, 26905, 57517}}, +{8786, 17, 26055, {1, 1, 5, 9, 9, 55, 43, 209, 411, 137, 1619, 3965, 5253, 8217, 7569, 42043, 104163}}, +{8787, 17, 26085, {1, 3, 3, 7, 21, 3, 107, 255, 353, 735, 71, 1789, 3351, 755, 22805, 53537, 126859}}, +{8788, 17, 26089, {1, 1, 7, 5, 15, 55, 13, 167, 165, 289, 1231, 2547, 8135, 5475, 2361, 49019, 110579}}, +{8789, 17, 26090, {1, 3, 1, 11, 17, 21, 59, 37, 177, 517, 499, 4035, 749, 14297, 22415, 54975, 29769}}, +{8790, 17, 26098, {1, 3, 7, 3, 3, 59, 55, 17, 483, 625, 875, 1465, 7583, 2969, 2741, 36965, 80367}}, +{8791, 17, 26104, {1, 1, 3, 13, 31, 5, 11, 149, 7, 297, 1485, 735, 4095, 10089, 5757, 64997, 56629}}, +{8792, 17, 26110, {1, 3, 1, 13, 19, 43, 77, 209, 309, 739, 1765, 3297, 8167, 6523, 27987, 25235, 80555}}, +{8793, 17, 26113, {1, 1, 3, 9, 31, 57, 125, 75, 3, 633, 85, 3339, 1691, 9721, 17465, 36801, 106147}}, +{8794, 17, 26126, {1, 3, 5, 15, 27, 7, 111, 7, 475, 523, 1825, 1367, 1549, 15533, 13827, 14471, 100271}}, +{8795, 17, 26133, {1, 1, 5, 3, 5, 61, 1, 221, 163, 183, 1701, 3549, 349, 10057, 26169, 20725, 55305}}, +{8796, 17, 26138, {1, 1, 3, 1, 15, 41, 13, 71, 269, 909, 1253, 2553, 83, 10055, 1057, 39841, 20437}}, +{8797, 17, 26140, {1, 3, 3, 5, 29, 39, 113, 23, 137, 601, 361, 1779, 279, 15803, 8993, 2633, 114847}}, +{8798, 17, 26156, {1, 1, 3, 7, 29, 45, 35, 27, 71, 253, 231, 3449, 1955, 9109, 9043, 50593, 15023}}, +{8799, 17, 26159, {1, 3, 1, 11, 17, 45, 85, 255, 341, 957, 769, 3009, 3997, 6435, 1161, 34219, 97077}}, +{8800, 17, 26176, {1, 1, 5, 1, 1, 19, 9, 51, 477, 129, 1411, 3223, 5069, 3237, 15947, 27215, 70401}}, +{8801, 17, 26186, {1, 1, 3, 1, 1, 1, 73, 31, 301, 227, 119, 607, 3379, 3907, 1263, 2651, 43769}}, +{8802, 17, 26203, {1, 1, 1, 15, 21, 59, 109, 155, 473, 361, 1871, 3085, 513, 12607, 12747, 41067, 44977}}, +{8803, 17, 26210, {1, 1, 7, 3, 27, 21, 89, 71, 437, 671, 1469, 2191, 4225, 6343, 1131, 29141, 25221}}, +{8804, 17, 26222, {1, 1, 7, 9, 7, 45, 95, 197, 391, 11, 1913, 3107, 5247, 959, 30395, 32809, 20893}}, +{8805, 17, 26224, {1, 3, 7, 15, 13, 49, 77, 245, 463, 769, 1807, 1311, 2715, 14819, 27595, 57521, 105221}}, +{8806, 17, 26229, {1, 1, 1, 5, 23, 45, 119, 77, 325, 405, 1631, 461, 6357, 7037, 31699, 46295, 118577}}, +{8807, 17, 26233, {1, 3, 5, 1, 21, 3, 31, 13, 7, 571, 633, 425, 6547, 3423, 19355, 49481, 76289}}, +{8808, 17, 26236, {1, 1, 3, 9, 7, 51, 113, 173, 169, 97, 1821, 979, 2553, 11505, 20047, 39277, 122905}}, +{8809, 17, 26239, {1, 1, 5, 13, 17, 9, 111, 205, 261, 671, 657, 507, 3903, 10767, 4387, 3045, 102617}}, +{8810, 17, 26267, {1, 1, 3, 3, 5, 11, 19, 61, 401, 605, 455, 2457, 4471, 7255, 18435, 49673, 97289}}, +{8811, 17, 26291, {1, 3, 1, 1, 31, 25, 77, 35, 65, 127, 929, 2325, 2315, 13819, 5509, 12515, 36991}}, +{8812, 17, 26293, {1, 1, 7, 5, 21, 49, 33, 119, 181, 645, 1425, 2411, 245, 13755, 18775, 50061, 47119}}, +{8813, 17, 26298, {1, 3, 7, 5, 27, 43, 81, 191, 233, 435, 829, 3881, 713, 11153, 4637, 37721, 115567}}, +{8814, 17, 26303, {1, 3, 7, 1, 27, 59, 51, 165, 59, 931, 1921, 3059, 6843, 813, 22063, 29445, 114765}}, +{8815, 17, 26308, {1, 1, 5, 11, 31, 53, 89, 69, 29, 893, 1241, 7, 1707, 16167, 8371, 14021, 103281}}, +{8816, 17, 26312, {1, 3, 1, 1, 23, 21, 3, 35, 73, 769, 1417, 4051, 3223, 813, 1141, 18823, 31951}}, +{8817, 17, 26315, {1, 3, 7, 11, 9, 17, 89, 85, 407, 137, 1865, 2881, 1495, 3757, 3711, 36651, 1797}}, +{8818, 17, 26342, {1, 3, 5, 1, 25, 29, 29, 217, 15, 173, 479, 2363, 2341, 6193, 16403, 64097, 1173}}, +{8819, 17, 26354, {1, 3, 3, 3, 11, 29, 113, 167, 333, 573, 1467, 2223, 5693, 1063, 20299, 40993, 69055}}, +{8820, 17, 26363, {1, 1, 3, 7, 3, 51, 45, 139, 79, 393, 1251, 1087, 1423, 1827, 23445, 41635, 78511}}, +{8821, 17, 26365, {1, 3, 3, 13, 29, 45, 85, 229, 33, 373, 113, 1205, 997, 11777, 7663, 18513, 5797}}, +{8822, 17, 26383, {1, 1, 5, 5, 15, 5, 127, 85, 49, 345, 901, 3215, 2347, 2329, 19597, 39555, 25031}}, +{8823, 17, 26391, {1, 1, 7, 11, 9, 25, 71, 183, 341, 1011, 439, 3649, 2859, 10183, 7635, 45297, 38581}}, +{8824, 17, 26398, {1, 1, 1, 11, 23, 13, 1, 69, 461, 77, 1641, 2851, 1889, 2413, 1131, 39009, 33773}}, +{8825, 17, 26416, {1, 3, 7, 7, 25, 19, 67, 233, 141, 207, 1501, 453, 4773, 7411, 22839, 25365, 53189}}, +{8826, 17, 26421, {1, 1, 7, 3, 3, 17, 13, 167, 73, 1005, 887, 2595, 4351, 3249, 5653, 36025, 33733}}, +{8827, 17, 26425, {1, 1, 7, 15, 11, 1, 105, 215, 329, 601, 1477, 723, 4597, 3525, 26235, 63957, 26677}}, +{8828, 17, 26434, {1, 1, 1, 11, 27, 15, 111, 133, 327, 567, 845, 2135, 7905, 7297, 29255, 14947, 104885}}, +{8829, 17, 26439, {1, 1, 7, 9, 21, 11, 67, 179, 459, 423, 295, 3445, 1681, 12907, 29281, 7445, 35539}}, +{8830, 17, 26453, {1, 1, 3, 11, 23, 61, 111, 123, 81, 439, 299, 3557, 2821, 705, 15393, 37175, 11533}}, +{8831, 17, 26454, {1, 1, 3, 1, 13, 15, 113, 227, 285, 313, 687, 2085, 6363, 8003, 32661, 36461, 68759}}, +{8832, 17, 26470, {1, 3, 3, 1, 27, 7, 101, 177, 363, 461, 1519, 2339, 473, 7469, 4335, 30951, 130987}}, +{8833, 17, 26491, {1, 1, 1, 3, 31, 39, 59, 159, 207, 93, 581, 1973, 945, 11343, 15901, 22001, 3515}}, +{8834, 17, 26493, {1, 3, 7, 5, 11, 53, 125, 57, 389, 985, 1055, 3803, 3879, 5537, 28221, 36805, 16025}}, +{8835, 17, 26500, {1, 1, 1, 9, 1, 63, 81, 57, 59, 813, 865, 3491, 3771, 6121, 6847, 14765, 68567}}, +{8836, 17, 26509, {1, 1, 7, 7, 13, 17, 23, 211, 435, 167, 933, 357, 3567, 3019, 28439, 17701, 119937}}, +{8837, 17, 26518, {1, 1, 1, 9, 7, 53, 103, 155, 211, 719, 413, 3673, 2795, 15687, 1737, 50855, 129133}}, +{8838, 17, 26531, {1, 1, 3, 13, 11, 23, 53, 121, 497, 383, 1655, 937, 5563, 2549, 23183, 46149, 78875}}, +{8839, 17, 26533, {1, 3, 5, 11, 25, 1, 45, 139, 437, 729, 2009, 3245, 4091, 551, 25993, 31655, 33641}}, +{8840, 17, 26540, {1, 3, 1, 13, 7, 23, 87, 111, 471, 501, 1767, 1051, 7037, 3199, 19609, 43227, 53667}}, +{8841, 17, 26552, {1, 3, 7, 1, 25, 1, 49, 189, 55, 375, 601, 2065, 2991, 7697, 25739, 14951, 43705}}, +{8842, 17, 26566, {1, 1, 7, 5, 29, 21, 51, 111, 81, 809, 1963, 2143, 5529, 15701, 4719, 11857, 88207}}, +{8843, 17, 26569, {1, 1, 5, 11, 27, 27, 7, 145, 281, 939, 537, 1255, 1475, 11383, 15081, 9105, 102775}}, +{8844, 17, 26583, {1, 1, 5, 7, 9, 45, 67, 23, 65, 139, 1871, 3975, 6357, 6515, 25423, 23915, 76289}}, +{8845, 17, 26590, {1, 1, 5, 11, 31, 31, 89, 65, 451, 341, 819, 2439, 6753, 15113, 9085, 32687, 5055}}, +{8846, 17, 26596, {1, 1, 5, 1, 15, 29, 123, 83, 495, 185, 303, 315, 6015, 5257, 2467, 4903, 78269}}, +{8847, 17, 26624, {1, 1, 3, 5, 31, 51, 49, 199, 501, 407, 733, 1181, 8023, 7321, 14765, 17535, 19893}}, +{8848, 17, 26636, {1, 1, 5, 5, 19, 15, 103, 183, 13, 969, 1537, 3053, 3173, 12983, 21761, 33733, 67799}}, +{8849, 17, 26667, {1, 3, 1, 1, 27, 55, 37, 149, 379, 11, 1655, 2317, 3135, 6459, 25941, 12679, 60245}}, +{8850, 17, 26669, {1, 1, 3, 9, 9, 13, 33, 243, 337, 741, 1685, 1147, 5465, 4865, 559, 23993, 47273}}, +{8851, 17, 26672, {1, 3, 5, 13, 21, 11, 39, 169, 135, 209, 1909, 3655, 3117, 1075, 8165, 54633, 28189}}, +{8852, 17, 26675, {1, 3, 1, 15, 9, 23, 11, 123, 63, 133, 947, 907, 3853, 10291, 22905, 4561, 92497}}, +{8853, 17, 26687, {1, 1, 3, 13, 17, 9, 5, 209, 429, 3, 2035, 1497, 6765, 5991, 24991, 8155, 103417}}, +{8854, 17, 26689, {1, 1, 5, 13, 27, 47, 79, 11, 41, 791, 1939, 3099, 4069, 4665, 20801, 18659, 72163}}, +{8855, 17, 26696, {1, 3, 1, 13, 25, 37, 79, 131, 233, 647, 291, 1419, 5157, 4261, 27715, 611, 83157}}, +{8856, 17, 26702, {1, 1, 5, 1, 17, 61, 45, 163, 137, 937, 91, 1695, 1553, 543, 28615, 6855, 75201}}, +{8857, 17, 26714, {1, 1, 3, 13, 7, 63, 109, 13, 351, 159, 1111, 2791, 4701, 5805, 9707, 18361, 98091}}, +{8858, 17, 26716, {1, 1, 3, 11, 11, 21, 55, 247, 111, 801, 93, 3091, 1043, 9761, 23679, 5555, 195}}, +{8859, 17, 26729, {1, 1, 1, 1, 13, 43, 123, 113, 265, 561, 659, 3755, 6605, 10949, 30511, 29495, 9075}}, +{8860, 17, 26732, {1, 3, 1, 7, 23, 63, 19, 73, 233, 1017, 851, 1971, 3999, 7407, 25309, 63991, 92867}}, +{8861, 17, 26737, {1, 3, 3, 3, 19, 63, 127, 107, 465, 463, 1507, 1323, 4729, 14717, 9129, 24859, 117565}}, +{8862, 17, 26747, {1, 1, 7, 1, 19, 11, 13, 85, 339, 939, 895, 887, 765, 15501, 8783, 65087, 77899}}, +{8863, 17, 26773, {1, 3, 7, 3, 7, 15, 43, 153, 365, 223, 1947, 2295, 787, 5549, 20089, 29203, 4807}}, +{8864, 17, 26780, {1, 3, 7, 3, 31, 27, 51, 217, 483, 623, 633, 2123, 1211, 9173, 17949, 54251, 89161}}, +{8865, 17, 26801, {1, 3, 3, 11, 3, 11, 111, 73, 283, 23, 1925, 253, 5141, 12545, 24913, 16847, 13067}}, +{8866, 17, 26811, {1, 3, 5, 5, 31, 39, 35, 235, 135, 85, 191, 999, 6633, 12527, 21401, 61339, 81239}}, +{8867, 17, 26813, {1, 1, 3, 15, 9, 13, 39, 125, 137, 639, 555, 813, 2821, 1199, 32075, 15079, 104609}}, +{8868, 17, 26831, {1, 3, 7, 7, 15, 43, 99, 51, 245, 25, 147, 89, 6841, 5523, 28493, 13967, 113109}}, +{8869, 17, 26836, {1, 1, 3, 13, 7, 5, 27, 121, 269, 231, 1011, 1365, 5055, 11619, 27393, 48033, 65725}}, +{8870, 17, 26839, {1, 1, 7, 5, 9, 23, 41, 71, 327, 339, 1681, 3303, 4143, 421, 15213, 48405, 98067}}, +{8871, 17, 26849, {1, 3, 7, 15, 15, 33, 73, 33, 351, 131, 1051, 3909, 7535, 7659, 9443, 35015, 329}}, +{8872, 17, 26862, {1, 1, 3, 9, 19, 55, 97, 223, 265, 877, 235, 867, 4961, 3137, 19885, 10955, 7655}}, +{8873, 17, 26869, {1, 3, 5, 13, 1, 11, 75, 215, 271, 793, 1691, 1437, 1317, 10977, 1311, 64865, 92361}}, +{8874, 17, 26873, {1, 1, 1, 5, 23, 23, 35, 53, 187, 345, 115, 929, 3919, 4523, 31709, 16771, 33399}}, +{8875, 17, 26874, {1, 3, 5, 11, 17, 7, 75, 57, 351, 359, 1737, 2665, 4259, 13905, 6999, 45359, 117891}}, +{8876, 17, 26888, {1, 1, 5, 3, 23, 29, 49, 209, 417, 843, 531, 1649, 7829, 6271, 3759, 39727, 47415}}, +{8877, 17, 26891, {1, 1, 7, 1, 21, 45, 101, 105, 385, 797, 985, 1447, 3757, 3287, 583, 29283, 96821}}, +{8878, 17, 26896, {1, 1, 7, 9, 1, 29, 15, 207, 289, 465, 815, 2289, 449, 9403, 19197, 13797, 102651}}, +{8879, 17, 26899, {1, 3, 7, 15, 5, 45, 81, 187, 21, 433, 679, 2759, 3375, 6935, 22595, 50149, 13557}}, +{8880, 17, 26912, {1, 3, 3, 5, 11, 55, 69, 219, 95, 21, 645, 1955, 7527, 6037, 29427, 36297, 62013}}, +{8881, 17, 26921, {1, 1, 7, 15, 13, 35, 25, 67, 383, 13, 539, 2399, 4611, 8065, 3815, 27771, 50411}}, +{8882, 17, 26935, {1, 3, 1, 3, 27, 47, 65, 33, 393, 895, 1663, 1289, 1057, 11887, 1259, 53611, 36811}}, +{8883, 17, 26941, {1, 3, 5, 3, 5, 1, 27, 65, 379, 15, 1643, 1461, 3009, 8177, 15589, 5889, 1103}}, +{8884, 17, 26949, {1, 1, 5, 15, 27, 53, 43, 173, 377, 665, 581, 1061, 1363, 15015, 26709, 29507, 28075}}, +{8885, 17, 26954, {1, 1, 7, 3, 9, 11, 45, 71, 23, 995, 1277, 855, 1001, 12927, 19753, 46639, 16949}}, +{8886, 17, 26967, {1, 1, 7, 5, 15, 33, 27, 27, 437, 415, 1785, 2091, 279, 8041, 2209, 15821, 122363}}, +{8887, 17, 26977, {1, 1, 7, 1, 21, 1, 47, 215, 463, 959, 849, 1703, 5175, 10043, 16991, 11023, 52201}}, +{8888, 17, 27011, {1, 1, 1, 11, 21, 7, 121, 31, 95, 631, 1717, 3017, 2083, 2047, 12051, 63117, 25949}}, +{8889, 17, 27018, {1, 1, 5, 5, 9, 5, 105, 121, 205, 643, 1721, 2601, 2991, 2381, 4873, 12049, 20043}}, +{8890, 17, 27026, {1, 3, 5, 11, 7, 11, 97, 187, 253, 571, 101, 3077, 1479, 9513, 15451, 37105, 34445}}, +{8891, 17, 27028, {1, 1, 7, 11, 19, 19, 39, 115, 221, 13, 217, 369, 6855, 14529, 143, 13461, 62927}}, +{8892, 17, 27032, {1, 3, 3, 7, 29, 27, 9, 171, 419, 571, 837, 3829, 1871, 12691, 30693, 4195, 38905}}, +{8893, 17, 27044, {1, 1, 1, 11, 5, 55, 17, 41, 241, 419, 337, 897, 4663, 14469, 18701, 18009, 44605}}, +{8894, 17, 27053, {1, 1, 7, 7, 1, 33, 63, 197, 257, 655, 1287, 2571, 57, 13275, 29669, 8501, 61389}}, +{8895, 17, 27062, {1, 3, 5, 3, 29, 39, 101, 215, 101, 271, 1373, 2171, 841, 9865, 28951, 20369, 42413}}, +{8896, 17, 27065, {1, 3, 5, 1, 31, 23, 119, 137, 263, 633, 1239, 281, 4965, 14913, 30229, 14147, 37183}}, +{8897, 17, 27068, {1, 3, 1, 3, 11, 55, 33, 45, 69, 913, 269, 1021, 4005, 15191, 11187, 45917, 76905}}, +{8898, 17, 27080, {1, 1, 1, 13, 27, 11, 75, 139, 243, 221, 1289, 2195, 7041, 10053, 5731, 35245, 41317}}, +{8899, 17, 27083, {1, 1, 7, 9, 25, 11, 81, 243, 233, 137, 831, 2825, 6007, 7305, 31733, 64343, 7047}}, +{8900, 17, 27093, {1, 3, 5, 9, 17, 61, 25, 245, 285, 969, 1397, 1331, 5393, 3653, 15533, 9121, 111115}}, +{8901, 17, 27098, {1, 1, 5, 9, 1, 9, 61, 205, 285, 849, 1071, 1013, 2655, 10121, 15165, 25189, 56207}}, +{8902, 17, 27107, {1, 3, 5, 7, 19, 45, 121, 19, 237, 711, 1523, 3251, 693, 13567, 31993, 11239, 64127}}, +{8903, 17, 27110, {1, 1, 1, 11, 23, 25, 33, 211, 321, 1021, 1855, 291, 2911, 11841, 21929, 64147, 63201}}, +{8904, 17, 27114, {1, 1, 7, 3, 27, 21, 119, 219, 431, 819, 83, 2487, 7533, 10697, 3129, 53301, 104999}}, +{8905, 17, 27121, {1, 3, 5, 15, 9, 25, 89, 65, 293, 411, 989, 3103, 5563, 15703, 8757, 32595, 43409}}, +{8906, 17, 27127, {1, 3, 3, 1, 31, 31, 45, 173, 231, 171, 1185, 1499, 1713, 9945, 11575, 37113, 103989}}, +{8907, 17, 27137, {1, 1, 5, 13, 27, 3, 93, 253, 23, 71, 1963, 2571, 6259, 15757, 9709, 42835, 42047}}, +{8908, 17, 27144, {1, 1, 7, 11, 5, 11, 123, 117, 39, 559, 111, 527, 6253, 781, 9177, 47189, 94031}}, +{8909, 17, 27155, {1, 1, 5, 15, 5, 49, 93, 185, 167, 787, 1553, 3291, 3723, 1651, 23225, 5643, 42967}}, +{8910, 17, 27171, {1, 3, 1, 13, 15, 35, 19, 193, 505, 127, 661, 1943, 1249, 5103, 8233, 64319, 76955}}, +{8911, 17, 27178, {1, 3, 7, 7, 17, 13, 97, 185, 415, 331, 283, 3341, 2903, 2927, 7729, 4095, 103083}}, +{8912, 17, 27180, {1, 1, 3, 15, 15, 25, 65, 45, 413, 521, 747, 2605, 5845, 12909, 7651, 45937, 99043}}, +{8913, 17, 27185, {1, 1, 5, 9, 9, 21, 3, 75, 335, 745, 1493, 1721, 1977, 11105, 22621, 49281, 107113}}, +{8914, 17, 27191, {1, 3, 1, 11, 25, 11, 99, 53, 239, 831, 655, 615, 7565, 14039, 29115, 26165, 127159}}, +{8915, 17, 27192, {1, 1, 7, 5, 31, 35, 75, 157, 441, 815, 119, 565, 2703, 14059, 7867, 42487, 93647}}, +{8916, 17, 27195, {1, 3, 7, 3, 3, 59, 101, 223, 257, 989, 363, 1059, 5157, 11129, 1481, 19287, 117623}}, +{8917, 17, 27212, {1, 1, 1, 1, 29, 27, 1, 129, 253, 673, 103, 1881, 7053, 1261, 32003, 23345, 102503}}, +{8918, 17, 27215, {1, 3, 1, 9, 11, 37, 3, 99, 303, 519, 1175, 3021, 2275, 9919, 25011, 45865, 71351}}, +{8919, 17, 27218, {1, 1, 7, 15, 27, 9, 107, 61, 385, 21, 861, 2119, 4643, 8379, 25455, 22425, 113387}}, +{8920, 17, 27230, {1, 1, 1, 7, 27, 15, 73, 211, 497, 527, 873, 329, 2213, 415, 13987, 56581, 27829}}, +{8921, 17, 27234, {1, 3, 5, 1, 31, 43, 107, 149, 209, 211, 2029, 2793, 2213, 12389, 27177, 51375, 51983}}, +{8922, 17, 27245, {1, 3, 3, 7, 25, 57, 67, 101, 127, 43, 1775, 801, 3343, 12203, 8667, 58387, 10735}}, +{8923, 17, 27248, {1, 1, 7, 5, 13, 47, 101, 123, 133, 593, 1409, 3525, 2545, 13009, 11873, 38463, 1075}}, +{8924, 17, 27263, {1, 3, 3, 1, 3, 19, 75, 221, 157, 67, 397, 1141, 5073, 10795, 9857, 35459, 62701}}, +{8925, 17, 27279, {1, 1, 7, 7, 23, 17, 41, 179, 83, 543, 1839, 3709, 131, 15681, 9147, 18685, 90389}}, +{8926, 17, 27288, {1, 1, 5, 7, 17, 15, 31, 217, 79, 687, 1927, 2889, 6127, 15095, 28437, 16403, 123275}}, +{8927, 17, 27294, {1, 3, 7, 15, 13, 17, 123, 75, 45, 635, 525, 3897, 6769, 13855, 16695, 18039, 37479}}, +{8928, 17, 27303, {1, 1, 5, 1, 23, 15, 69, 161, 503, 339, 1061, 839, 9, 10013, 24493, 32711, 50147}}, +{8929, 17, 27304, {1, 3, 3, 11, 5, 45, 9, 233, 131, 629, 1111, 3311, 2211, 9079, 19763, 23793, 85389}}, +{8930, 17, 27312, {1, 1, 7, 7, 7, 27, 15, 85, 291, 925, 1545, 3061, 4867, 1613, 13467, 53731, 92811}}, +{8931, 17, 27330, {1, 3, 5, 1, 21, 21, 71, 33, 141, 675, 1519, 3275, 1491, 10717, 28199, 14983, 18961}}, +{8932, 17, 27341, {1, 3, 5, 5, 31, 13, 109, 239, 369, 373, 257, 3765, 2531, 13281, 11877, 29439, 106939}}, +{8933, 17, 27342, {1, 3, 7, 15, 13, 39, 111, 203, 109, 179, 789, 3849, 433, 5745, 2343, 15795, 92603}}, +{8934, 17, 27344, {1, 3, 5, 5, 11, 57, 3, 245, 289, 249, 713, 315, 2261, 1249, 6963, 44507, 100829}}, +{8935, 17, 27353, {1, 3, 5, 11, 5, 49, 97, 245, 363, 315, 509, 17, 4485, 15393, 28491, 17945, 65663}}, +{8936, 17, 27356, {1, 3, 5, 1, 5, 13, 15, 17, 141, 119, 1393, 581, 2439, 2015, 11527, 8537, 103005}}, +{8937, 17, 27366, {1, 3, 5, 1, 25, 9, 117, 25, 99, 777, 985, 1159, 99, 3013, 21429, 19027, 61833}}, +{8938, 17, 27369, {1, 1, 1, 5, 1, 47, 37, 83, 159, 29, 281, 3789, 2525, 15999, 8965, 11145, 14453}}, +{8939, 17, 27377, {1, 1, 3, 1, 11, 63, 77, 207, 267, 473, 241, 629, 6969, 9093, 839, 3875, 18873}}, +{8940, 17, 27387, {1, 3, 5, 7, 31, 57, 103, 65, 349, 321, 717, 2403, 105, 643, 27999, 2509, 123061}}, +{8941, 17, 27409, {1, 1, 5, 7, 3, 31, 7, 113, 17, 995, 1211, 1749, 6757, 3391, 8011, 47715, 24301}}, +{8942, 17, 27437, {1, 3, 7, 11, 7, 55, 29, 155, 373, 81, 1255, 2205, 3233, 9537, 22129, 24505, 79021}}, +{8943, 17, 27443, {1, 1, 7, 5, 3, 49, 5, 51, 89, 107, 585, 3933, 745, 11685, 20663, 12521, 24357}}, +{8944, 17, 27446, {1, 1, 7, 1, 17, 17, 83, 215, 357, 581, 2025, 3411, 7287, 11925, 2253, 43513, 98655}}, +{8945, 17, 27450, {1, 3, 5, 3, 27, 27, 51, 147, 471, 509, 423, 3807, 677, 8429, 581, 47999, 35913}}, +{8946, 17, 27452, {1, 3, 3, 9, 15, 31, 1, 93, 207, 759, 1991, 473, 2273, 43, 12547, 58085, 20953}}, +{8947, 17, 27457, {1, 1, 3, 3, 1, 27, 39, 219, 381, 187, 159, 2333, 6141, 3775, 5693, 14853, 38765}}, +{8948, 17, 27472, {1, 3, 1, 5, 19, 1, 19, 237, 231, 975, 1609, 723, 241, 10105, 18817, 58373, 118889}}, +{8949, 17, 27475, {1, 1, 5, 7, 7, 43, 99, 181, 109, 529, 421, 1493, 1075, 12219, 24287, 33479, 29987}}, +{8950, 17, 27487, {1, 1, 7, 1, 17, 11, 79, 85, 157, 851, 1429, 3355, 139, 14327, 30025, 60303, 109015}}, +{8951, 17, 27488, {1, 3, 5, 9, 11, 15, 37, 79, 5, 169, 999, 815, 6255, 11763, 16299, 49891, 101917}}, +{8952, 17, 27493, {1, 3, 5, 9, 29, 45, 51, 211, 159, 771, 1631, 2871, 4877, 4941, 18127, 15669, 57515}}, +{8953, 17, 27506, {1, 1, 3, 3, 19, 29, 9, 205, 253, 399, 303, 2441, 3187, 641, 23341, 52951, 57559}}, +{8954, 17, 27508, {1, 3, 3, 15, 11, 29, 121, 227, 69, 935, 365, 217, 4617, 13193, 27663, 46903, 107843}}, +{8955, 17, 27521, {1, 1, 5, 11, 13, 31, 13, 243, 275, 685, 1613, 1915, 2775, 11225, 4729, 45549, 103875}}, +{8956, 17, 27522, {1, 1, 5, 1, 9, 61, 35, 143, 165, 441, 517, 1735, 5281, 10139, 21107, 11713, 130483}}, +{8957, 17, 27527, {1, 3, 5, 5, 13, 21, 7, 219, 97, 887, 1845, 469, 2523, 1569, 9959, 4397, 15823}}, +{8958, 17, 27536, {1, 3, 7, 11, 15, 27, 73, 223, 365, 939, 331, 145, 683, 6441, 23421, 59177, 31763}}, +{8959, 17, 27539, {1, 3, 1, 5, 9, 59, 85, 113, 343, 831, 121, 3157, 6059, 14923, 27401, 19759, 14223}}, +{8960, 17, 27541, {1, 3, 1, 7, 17, 25, 3, 39, 471, 759, 2041, 609, 4293, 7491, 8041, 50857, 25601}}, +{8961, 17, 27546, {1, 1, 5, 15, 19, 45, 21, 5, 269, 197, 527, 1839, 1719, 15105, 18671, 42167, 9617}}, +{8962, 17, 27557, {1, 3, 1, 3, 5, 35, 3, 105, 395, 113, 1945, 3945, 3951, 12207, 32135, 34121, 10237}}, +{8963, 17, 27564, {1, 1, 5, 13, 21, 43, 51, 255, 57, 399, 1937, 1573, 363, 11589, 26989, 54345, 94341}}, +{8964, 17, 27572, {1, 3, 3, 3, 5, 45, 83, 125, 179, 923, 39, 3617, 7683, 8191, 31469, 23633, 79179}}, +{8965, 17, 27576, {1, 3, 7, 9, 9, 37, 107, 65, 423, 77, 1779, 1375, 2085, 11779, 6535, 2973, 29425}}, +{8966, 17, 27584, {1, 1, 7, 3, 11, 39, 101, 137, 407, 855, 1767, 1717, 2821, 10447, 31187, 6329, 124111}}, +{8967, 17, 27608, {1, 1, 5, 11, 27, 27, 45, 103, 225, 681, 725, 1791, 2881, 2923, 14473, 12269, 58743}}, +{8968, 17, 27611, {1, 1, 3, 11, 15, 39, 113, 167, 143, 677, 1189, 1571, 5339, 6065, 30187, 19639, 42227}}, +{8969, 17, 27618, {1, 1, 1, 3, 13, 7, 113, 75, 129, 619, 1741, 1495, 4751, 11085, 22391, 199, 105463}}, +{8970, 17, 27620, {1, 1, 3, 3, 19, 47, 77, 195, 209, 453, 495, 1605, 5255, 15327, 8941, 18239, 54511}}, +{8971, 17, 27627, {1, 1, 7, 7, 21, 29, 95, 175, 3, 689, 611, 2467, 6919, 12399, 18869, 16171, 102753}}, +{8972, 17, 27630, {1, 1, 5, 1, 27, 43, 61, 133, 37, 603, 315, 1915, 813, 15769, 27447, 29589, 122281}}, +{8973, 17, 27637, {1, 1, 7, 3, 11, 1, 119, 235, 93, 481, 1811, 1643, 4853, 11313, 8991, 6153, 68985}}, +{8974, 17, 27638, {1, 1, 1, 7, 1, 13, 99, 83, 221, 775, 1345, 219, 4445, 11837, 10405, 43563, 122111}}, +{8975, 17, 27641, {1, 1, 5, 13, 21, 33, 105, 19, 343, 571, 703, 429, 2485, 15531, 9801, 24101, 88275}}, +{8976, 17, 27647, {1, 3, 5, 1, 27, 55, 73, 49, 33, 773, 1411, 1227, 6827, 1271, 28897, 24265, 32383}}, +{8977, 17, 27650, {1, 3, 7, 3, 9, 45, 59, 5, 157, 669, 261, 2077, 1425, 8221, 5849, 40857, 121029}}, +{8978, 17, 27676, {1, 3, 7, 11, 23, 5, 87, 113, 279, 611, 1195, 1775, 5813, 6737, 18051, 41341, 93331}}, +{8979, 17, 27683, {1, 1, 7, 7, 9, 55, 113, 3, 167, 295, 1579, 2833, 4003, 7583, 22833, 44427, 34781}}, +{8980, 17, 27690, {1, 1, 5, 13, 21, 33, 127, 175, 153, 961, 819, 143, 3969, 6159, 29437, 14123, 65317}}, +{8981, 17, 27695, {1, 1, 1, 15, 31, 27, 1, 17, 329, 963, 1907, 421, 535, 2323, 22749, 44375, 115531}}, +{8982, 17, 27700, {1, 1, 5, 15, 15, 23, 57, 171, 253, 401, 1577, 3855, 197, 7979, 17577, 25275, 88831}}, +{8983, 17, 27704, {1, 1, 7, 9, 27, 9, 7, 13, 381, 847, 533, 357, 6551, 13441, 5717, 20209, 64347}}, +{8984, 17, 27709, {1, 1, 7, 9, 1, 1, 31, 245, 315, 901, 1857, 497, 4285, 13227, 3937, 45025, 59627}}, +{8985, 17, 27715, {1, 1, 7, 3, 5, 23, 119, 147, 479, 71, 113, 3379, 863, 8285, 31259, 15863, 47267}}, +{8986, 17, 27727, {1, 3, 5, 1, 5, 7, 77, 163, 421, 353, 1757, 1335, 4975, 3011, 11703, 56075, 12045}}, +{8987, 17, 27745, {1, 1, 5, 3, 31, 25, 81, 59, 211, 463, 1693, 609, 3307, 3641, 19643, 29361, 8399}}, +{8988, 17, 27763, {1, 1, 7, 13, 19, 47, 43, 43, 275, 735, 535, 3689, 3987, 10695, 17243, 60565, 72299}}, +{8989, 17, 27769, {1, 3, 3, 5, 25, 35, 75, 63, 305, 127, 189, 1785, 731, 12089, 27811, 43259, 28191}}, +{8990, 17, 27770, {1, 3, 7, 11, 17, 17, 59, 107, 139, 355, 1055, 3181, 4743, 14785, 26323, 441, 35613}}, +{8991, 17, 27796, {1, 3, 1, 1, 17, 17, 39, 203, 373, 601, 449, 1837, 835, 7061, 14655, 61765, 80735}}, +{8992, 17, 27810, {1, 3, 5, 7, 27, 17, 25, 41, 125, 895, 1843, 3167, 1527, 4707, 6477, 33575, 97247}}, +{8993, 17, 27812, {1, 3, 3, 3, 13, 39, 25, 15, 279, 347, 1121, 3603, 3019, 9577, 16863, 61483, 15995}}, +{8994, 17, 27834, {1, 3, 5, 11, 15, 33, 15, 81, 185, 289, 909, 1237, 3623, 3983, 24211, 62719, 79685}}, +{8995, 17, 27847, {1, 1, 1, 7, 29, 1, 53, 17, 137, 269, 1209, 3937, 4167, 14057, 8061, 38863, 101477}}, +{8996, 17, 27848, {1, 1, 1, 9, 5, 45, 95, 127, 507, 159, 1763, 1527, 5689, 11007, 549, 22837, 99207}}, +{8997, 17, 27862, {1, 3, 3, 1, 15, 57, 127, 39, 73, 397, 67, 3159, 119, 8929, 29425, 57687, 68063}}, +{8998, 17, 27868, {1, 3, 1, 3, 27, 7, 111, 209, 291, 17, 1381, 1597, 5389, 4577, 20463, 28325, 23743}}, +{8999, 17, 27881, {1, 3, 3, 7, 23, 41, 83, 81, 213, 537, 1037, 2371, 1485, 8391, 12471, 58541, 27559}}, +{9000, 17, 27884, {1, 3, 1, 15, 21, 43, 87, 75, 451, 851, 1917, 2739, 2167, 12531, 29931, 8017, 15163}}, +{9001, 17, 27890, {1, 1, 3, 9, 27, 19, 41, 145, 401, 759, 527, 3085, 187, 10615, 4995, 22421, 69867}}, +{9002, 17, 27895, {1, 3, 3, 13, 29, 51, 65, 47, 157, 609, 1061, 1913, 6195, 12503, 10375, 55819, 122091}}, +{9003, 17, 27904, {1, 1, 3, 7, 1, 19, 3, 149, 453, 279, 569, 3429, 331, 711, 26773, 21163, 129339}}, +{9004, 17, 27914, {1, 1, 5, 3, 7, 47, 39, 181, 115, 771, 2037, 411, 2697, 7501, 6393, 19461, 74967}}, +{9005, 17, 27919, {1, 3, 3, 5, 5, 17, 89, 161, 409, 49, 1447, 3977, 4777, 15553, 3521, 32553, 126385}}, +{9006, 17, 27921, {1, 3, 1, 3, 25, 59, 73, 105, 505, 1009, 1147, 317, 3457, 13743, 8337, 38077, 7709}}, +{9007, 17, 27931, {1, 3, 3, 15, 23, 37, 25, 123, 413, 911, 637, 2345, 691, 15199, 22927, 52467, 126715}}, +{9008, 17, 27933, {1, 1, 5, 1, 9, 51, 93, 123, 269, 45, 1947, 179, 5091, 3743, 31491, 39771, 119175}}, +{9009, 17, 27938, {1, 3, 1, 5, 29, 23, 107, 183, 25, 115, 187, 857, 7337, 469, 8755, 17281, 45941}}, +{9010, 17, 27943, {1, 3, 1, 13, 25, 61, 85, 115, 181, 955, 1365, 837, 5941, 13209, 27009, 58865, 115149}}, +{9011, 17, 27949, {1, 1, 1, 11, 31, 63, 101, 29, 37, 185, 465, 2651, 6249, 6887, 25021, 60539, 50037}}, +{9012, 17, 28005, {1, 3, 1, 7, 7, 61, 57, 243, 143, 223, 1759, 4085, 6765, 13293, 31929, 29579, 35053}}, +{9013, 17, 28012, {1, 3, 1, 3, 29, 9, 121, 3, 285, 199, 1439, 3151, 5059, 8535, 17049, 38917, 46347}}, +{9014, 17, 28017, {1, 3, 1, 3, 17, 43, 63, 87, 427, 341, 1251, 3775, 7729, 3183, 10579, 917, 49035}}, +{9015, 17, 28024, {1, 1, 7, 3, 5, 59, 119, 227, 495, 345, 841, 2021, 2483, 15987, 24663, 9819, 33009}}, +{9016, 17, 28030, {1, 1, 5, 11, 19, 57, 23, 181, 63, 991, 1, 2927, 4785, 9645, 17435, 55627, 1069}}, +{9017, 17, 28034, {1, 1, 7, 1, 31, 11, 57, 123, 279, 815, 1407, 3509, 3963, 8503, 20345, 7777, 103701}}, +{9018, 17, 28045, {1, 1, 5, 5, 19, 51, 37, 15, 363, 939, 1863, 3485, 7073, 3035, 31279, 7289, 39811}}, +{9019, 17, 28048, {1, 1, 3, 3, 3, 41, 29, 37, 311, 535, 1993, 3937, 309, 13055, 22595, 59641, 95317}}, +{9020, 17, 28054, {1, 3, 7, 9, 19, 29, 23, 181, 503, 223, 1655, 997, 7861, 5867, 16979, 4559, 7447}}, +{9021, 17, 28063, {1, 3, 5, 3, 13, 13, 3, 137, 361, 101, 1005, 2339, 609, 11891, 15245, 9653, 63579}}, +{9022, 17, 28069, {1, 1, 1, 15, 31, 15, 117, 151, 51, 805, 1403, 3243, 4007, 11979, 3945, 61935, 43225}}, +{9023, 17, 28070, {1, 1, 7, 3, 1, 43, 93, 105, 9, 555, 731, 655, 2097, 8015, 27557, 27985, 11323}}, +{9024, 17, 28073, {1, 3, 3, 9, 23, 35, 59, 217, 437, 755, 685, 1431, 2965, 5269, 25621, 21735, 1397}}, +{9025, 17, 28084, {1, 1, 5, 1, 9, 61, 41, 53, 101, 111, 531, 3385, 4771, 9535, 15995, 29687, 99035}}, +{9026, 17, 28096, {1, 1, 7, 7, 1, 3, 25, 251, 463, 99, 677, 1889, 3697, 5579, 11429, 38301, 57917}}, +{9027, 17, 28114, {1, 1, 5, 9, 11, 15, 65, 31, 369, 825, 1229, 1595, 3891, 5235, 16973, 25307, 7805}}, +{9028, 17, 28126, {1, 3, 7, 15, 27, 37, 35, 103, 393, 781, 1713, 2009, 1973, 15461, 6801, 17557, 105139}}, +{9029, 17, 28141, {1, 3, 7, 7, 17, 51, 83, 29, 113, 173, 1733, 2137, 3041, 11361, 15999, 25779, 112493}}, +{9030, 17, 28149, {1, 3, 5, 11, 19, 3, 89, 103, 449, 375, 437, 4077, 889, 12163, 29323, 48845, 7783}}, +{9031, 17, 28165, {1, 3, 7, 1, 19, 25, 83, 35, 203, 27, 507, 25, 6629, 13941, 6187, 17533, 83349}}, +{9032, 17, 28177, {1, 3, 5, 9, 15, 59, 3, 87, 473, 733, 1263, 1733, 4275, 9283, 32535, 20807, 59487}}, +{9033, 17, 28189, {1, 3, 3, 9, 19, 11, 27, 83, 355, 949, 1339, 171, 921, 14171, 16271, 41485, 20405}}, +{9034, 17, 28190, {1, 1, 3, 11, 25, 51, 9, 241, 367, 519, 1895, 429, 7689, 9469, 32709, 46363, 75767}}, +{9035, 17, 28203, {1, 1, 7, 7, 27, 59, 85, 87, 467, 273, 1763, 391, 451, 16165, 7501, 44779, 68281}}, +{9036, 17, 28206, {1, 1, 7, 5, 1, 35, 5, 217, 31, 145, 1151, 2255, 3543, 401, 17141, 5981, 25183}}, +{9037, 17, 28208, {1, 1, 1, 13, 11, 11, 19, 93, 95, 751, 31, 1091, 2733, 10517, 2553, 5247, 42651}}, +{9038, 17, 28220, {1, 3, 7, 5, 15, 1, 67, 21, 303, 137, 355, 1989, 5211, 4985, 645, 6867, 126931}}, +{9039, 17, 28226, {1, 1, 3, 15, 21, 23, 59, 209, 121, 623, 575, 2447, 6149, 10481, 4959, 22913, 64963}}, +{9040, 17, 28231, {1, 3, 1, 1, 25, 55, 47, 95, 215, 609, 639, 1023, 1579, 5953, 3063, 13721, 17607}}, +{9041, 17, 28249, {1, 1, 1, 11, 7, 61, 127, 173, 307, 623, 453, 3827, 4847, 16085, 4407, 4043, 14881}}, +{9042, 17, 28256, {1, 1, 7, 11, 5, 15, 51, 125, 439, 795, 203, 91, 3543, 6925, 32055, 52277, 26841}}, +{9043, 17, 28259, {1, 1, 1, 13, 15, 9, 107, 183, 391, 751, 243, 1105, 8031, 7443, 137, 45695, 80163}}, +{9044, 17, 28265, {1, 3, 5, 9, 5, 61, 117, 113, 121, 291, 225, 1705, 4017, 13113, 11035, 28613, 25927}}, +{9045, 17, 28266, {1, 1, 3, 11, 27, 9, 45, 85, 309, 991, 1639, 1183, 8013, 14587, 7563, 21111, 48497}}, +{9046, 17, 28271, {1, 3, 1, 9, 21, 61, 123, 189, 265, 593, 163, 3681, 2271, 2795, 753, 48019, 129507}}, +{9047, 17, 28274, {1, 1, 1, 5, 31, 51, 127, 79, 333, 177, 1723, 1365, 2055, 3063, 10693, 61223, 60659}}, +{9048, 17, 28280, {1, 3, 7, 15, 9, 11, 11, 223, 31, 397, 319, 3283, 3765, 4729, 4711, 58323, 114063}}, +{9049, 17, 28296, {1, 1, 7, 11, 7, 63, 107, 215, 19, 491, 131, 2491, 6373, 11081, 2159, 1311, 109547}}, +{9050, 17, 28316, {1, 3, 5, 5, 21, 13, 105, 21, 193, 447, 1331, 2439, 4165, 15689, 21273, 4007, 55161}}, +{9051, 17, 28319, {1, 3, 5, 11, 19, 47, 25, 211, 335, 437, 1041, 2093, 7239, 2869, 18273, 40505, 13681}}, +{9052, 17, 28343, {1, 3, 3, 15, 7, 13, 127, 59, 439, 163, 1841, 1945, 4915, 16269, 18315, 15057, 43197}}, +{9053, 17, 28344, {1, 1, 3, 3, 15, 33, 101, 241, 131, 353, 1749, 3965, 1231, 8167, 9309, 40337, 4419}}, +{9054, 17, 28357, {1, 3, 1, 1, 1, 43, 33, 129, 137, 889, 799, 2937, 3633, 4769, 2411, 56059, 585}}, +{9055, 17, 28358, {1, 1, 3, 9, 25, 31, 45, 199, 229, 175, 1099, 1143, 1721, 11811, 22757, 59843, 117813}}, +{9056, 17, 28364, {1, 1, 7, 7, 19, 45, 43, 101, 219, 209, 1169, 599, 5523, 2463, 15161, 16675, 85111}}, +{9057, 17, 28370, {1, 1, 3, 15, 23, 27, 91, 51, 397, 705, 651, 2345, 3875, 10005, 29523, 42805, 76891}}, +{9058, 17, 28372, {1, 3, 3, 5, 29, 49, 17, 233, 149, 821, 1953, 1931, 7127, 957, 6477, 21259, 126657}}, +{9059, 17, 28379, {1, 3, 3, 3, 27, 49, 57, 145, 143, 1, 583, 3987, 651, 12285, 20139, 51063, 21449}}, +{9060, 17, 28388, {1, 1, 3, 5, 29, 61, 41, 93, 277, 111, 395, 2929, 5325, 15183, 3981, 23799, 72781}}, +{9061, 17, 28392, {1, 1, 7, 5, 25, 43, 85, 137, 401, 261, 1183, 3959, 1983, 16209, 30523, 429, 109181}}, +{9062, 17, 28395, {1, 1, 1, 5, 7, 19, 79, 237, 373, 929, 907, 1771, 6991, 211, 5269, 2135, 32051}}, +{9063, 17, 28406, {1, 1, 7, 5, 17, 15, 41, 49, 363, 15, 1483, 1017, 2439, 11713, 19983, 26275, 11945}}, +{9064, 17, 28418, {1, 1, 7, 7, 19, 5, 55, 15, 15, 573, 1075, 3225, 6815, 11893, 18417, 50833, 71903}}, +{9065, 17, 28423, {1, 1, 7, 9, 23, 37, 75, 3, 477, 291, 37, 1861, 2697, 13369, 24573, 27285, 96757}}, +{9066, 17, 28435, {1, 1, 1, 13, 5, 29, 65, 195, 365, 465, 865, 2705, 5249, 7051, 3795, 56611, 72317}}, +{9067, 17, 28444, {1, 1, 3, 9, 19, 9, 85, 239, 509, 313, 1137, 2221, 5475, 71, 11901, 1877, 68701}}, +{9068, 17, 28454, {1, 3, 3, 7, 3, 53, 55, 223, 441, 159, 933, 2573, 3441, 3295, 25005, 29021, 97145}}, +{9069, 17, 28468, {1, 3, 5, 5, 3, 11, 101, 181, 293, 319, 47, 2971, 387, 4697, 26613, 8531, 20461}}, +{9070, 17, 28477, {1, 3, 3, 13, 17, 11, 41, 233, 455, 353, 1817, 3065, 4657, 1717, 3039, 10937, 107085}}, +{9071, 17, 28478, {1, 1, 7, 1, 17, 23, 85, 5, 291, 725, 1791, 3525, 7705, 6561, 25311, 44679, 21419}}, +{9072, 17, 28480, {1, 1, 7, 1, 23, 41, 97, 117, 435, 261, 2007, 965, 6913, 12245, 25723, 8445, 30871}}, +{9073, 17, 28486, {1, 1, 1, 15, 29, 39, 101, 33, 55, 1019, 1431, 2601, 3837, 14873, 11785, 12449, 30815}}, +{9074, 17, 28489, {1, 1, 5, 3, 15, 35, 101, 7, 479, 535, 1875, 2435, 1461, 13967, 2755, 45879, 93561}}, +{9075, 17, 28500, {1, 3, 1, 5, 29, 57, 89, 209, 473, 289, 1843, 2051, 3997, 1753, 18179, 41355, 89301}}, +{9076, 17, 28507, {1, 3, 1, 11, 17, 45, 47, 57, 109, 309, 1009, 653, 5175, 15599, 21617, 35353, 55253}}, +{9077, 17, 28519, {1, 3, 5, 3, 1, 11, 57, 83, 385, 765, 1887, 785, 2115, 8689, 14783, 14841, 122221}}, +{9078, 17, 28523, {1, 3, 5, 11, 11, 5, 77, 115, 189, 371, 887, 3653, 8159, 15737, 6763, 52807, 128841}}, +{9079, 17, 28534, {1, 1, 1, 11, 11, 33, 9, 145, 439, 565, 171, 3867, 7149, 4369, 15073, 3277, 25873}}, +{9080, 17, 28547, {1, 1, 3, 1, 11, 9, 17, 255, 129, 835, 1705, 1551, 877, 4831, 12717, 2549, 62723}}, +{9081, 17, 28549, {1, 1, 7, 11, 17, 33, 21, 195, 143, 153, 1855, 1323, 1225, 16359, 16479, 8883, 76449}}, +{9082, 17, 28562, {1, 1, 1, 5, 31, 23, 61, 53, 77, 465, 1983, 4019, 4865, 14721, 18601, 48179, 100453}}, +{9083, 17, 28571, {1, 3, 1, 13, 19, 53, 83, 63, 165, 393, 469, 1465, 2669, 10155, 7029, 26185, 121223}}, +{9084, 17, 28583, {1, 1, 1, 3, 3, 3, 123, 23, 45, 359, 1063, 847, 3943, 6113, 23749, 30323, 10583}}, +{9085, 17, 28584, {1, 3, 5, 15, 1, 55, 65, 149, 139, 217, 141, 2425, 7019, 14127, 11725, 50821, 52643}}, +{9086, 17, 28595, {1, 3, 5, 15, 13, 13, 15, 93, 457, 869, 117, 585, 7159, 5957, 15073, 21861, 118119}}, +{9087, 17, 28597, {1, 3, 1, 15, 3, 31, 29, 245, 47, 895, 197, 1169, 945, 11503, 26615, 14079, 27175}}, +{9088, 17, 28604, {1, 3, 5, 5, 31, 1, 107, 109, 253, 999, 1451, 2243, 6675, 10779, 26181, 64597, 16443}}, +{9089, 17, 28607, {1, 3, 7, 15, 9, 53, 25, 41, 151, 197, 1955, 2365, 5305, 2901, 24825, 9595, 57377}}, +{9090, 17, 28609, {1, 3, 1, 3, 25, 37, 37, 193, 417, 373, 1127, 3239, 4583, 2861, 14501, 64163, 30055}}, +{9091, 17, 28612, {1, 3, 7, 9, 7, 21, 49, 231, 241, 95, 1757, 2281, 2679, 1611, 11115, 31743, 26851}}, +{9092, 17, 28630, {1, 3, 5, 5, 1, 1, 23, 173, 195, 593, 1639, 1449, 4733, 2451, 12677, 31959, 128217}}, +{9093, 17, 28640, {1, 1, 1, 7, 17, 49, 117, 253, 167, 721, 889, 3027, 7781, 13521, 15477, 17981, 95487}}, +{9094, 17, 28669, {1, 1, 1, 15, 13, 47, 125, 9, 33, 567, 1733, 1263, 307, 10285, 6325, 55827, 39823}}, +{9095, 17, 28677, {1, 1, 1, 15, 23, 3, 11, 169, 369, 667, 313, 2287, 6655, 16067, 5915, 8605, 92177}}, +{9096, 17, 28682, {1, 3, 3, 15, 13, 21, 125, 111, 171, 785, 79, 2281, 1247, 11321, 30397, 28555, 84863}}, +{9097, 17, 28690, {1, 1, 5, 13, 1, 31, 123, 97, 127, 245, 1213, 2381, 3545, 13545, 28657, 54087, 79039}}, +{9098, 17, 28695, {1, 1, 7, 9, 9, 21, 87, 111, 27, 33, 843, 199, 1465, 6555, 8019, 39521, 98883}}, +{9099, 17, 28696, {1, 3, 3, 5, 5, 55, 61, 219, 279, 207, 1811, 667, 2989, 3133, 25213, 51979, 87695}}, +{9100, 17, 28717, {1, 1, 7, 3, 17, 11, 31, 97, 277, 385, 229, 3045, 557, 13521, 32733, 36831, 43003}}, +{9101, 17, 28730, {1, 3, 5, 13, 27, 57, 31, 207, 147, 405, 1495, 2471, 4889, 14861, 4861, 28185, 62363}}, +{9102, 17, 28737, {1, 1, 5, 13, 23, 19, 5, 21, 509, 299, 1077, 1747, 6229, 2375, 17903, 58473, 72637}}, +{9103, 17, 28752, {1, 3, 7, 11, 15, 61, 63, 165, 27, 461, 1359, 3375, 3029, 9907, 17393, 11097, 43593}}, +{9104, 17, 28761, {1, 3, 5, 1, 17, 29, 15, 5, 419, 19, 1981, 3169, 2389, 9169, 31697, 26201, 6997}}, +{9105, 17, 28774, {1, 3, 3, 1, 29, 31, 89, 79, 347, 707, 505, 2087, 2163, 5465, 8677, 11421, 93217}}, +{9106, 17, 28783, {1, 3, 7, 9, 3, 23, 75, 215, 7, 971, 925, 3223, 7825, 12347, 19763, 10927, 41245}}, +{9107, 17, 28791, {1, 3, 5, 5, 3, 43, 119, 79, 373, 761, 709, 1897, 3953, 13895, 13421, 16939, 112449}}, +{9108, 17, 28801, {1, 1, 3, 15, 11, 25, 65, 101, 315, 1005, 1319, 1163, 161, 15331, 4845, 40375, 121361}}, +{9109, 17, 28802, {1, 1, 3, 7, 1, 57, 63, 131, 145, 1007, 549, 2327, 1513, 3591, 10839, 56297, 80613}}, +{9110, 17, 28814, {1, 1, 3, 5, 1, 19, 79, 81, 505, 945, 65, 319, 6105, 5491, 13257, 4651, 48247}}, +{9111, 17, 28837, {1, 3, 1, 9, 27, 41, 61, 41, 421, 707, 1279, 3699, 2403, 4075, 16947, 53435, 2917}}, +{9112, 17, 28838, {1, 1, 5, 13, 11, 29, 35, 141, 313, 769, 749, 4025, 2597, 12197, 32265, 32159, 37003}}, +{9113, 17, 28842, {1, 3, 7, 11, 25, 63, 121, 15, 273, 877, 637, 409, 5001, 4723, 27985, 55501, 43495}}, +{9114, 17, 28844, {1, 3, 1, 13, 27, 29, 127, 65, 275, 967, 1723, 4007, 6147, 13277, 8361, 12305, 95433}}, +{9115, 17, 28849, {1, 3, 3, 13, 11, 45, 7, 101, 169, 361, 517, 2897, 4283, 7587, 7495, 31549, 29113}}, +{9116, 17, 28864, {1, 3, 3, 1, 9, 27, 65, 15, 279, 127, 1039, 829, 5739, 1949, 24789, 30433, 54503}}, +{9117, 17, 28867, {1, 3, 7, 5, 13, 19, 95, 133, 25, 271, 1527, 3571, 101, 15987, 10985, 55761, 39833}}, +{9118, 17, 28881, {1, 3, 5, 9, 27, 5, 37, 219, 249, 947, 1063, 4081, 1763, 15003, 23753, 3975, 109803}}, +{9119, 17, 28882, {1, 3, 3, 5, 21, 37, 35, 145, 323, 573, 1939, 885, 4645, 4515, 16815, 28783, 76017}}, +{9120, 17, 28893, {1, 3, 7, 13, 27, 41, 39, 123, 423, 949, 1487, 2207, 8069, 15337, 20671, 20163, 70667}}, +{9121, 17, 28903, {1, 1, 3, 3, 15, 29, 69, 15, 151, 729, 35, 2067, 6715, 12759, 27611, 54133, 16561}}, +{9122, 17, 28907, {1, 3, 7, 13, 21, 13, 7, 161, 327, 339, 535, 2059, 413, 11161, 18415, 12415, 63713}}, +{9123, 17, 28909, {1, 3, 5, 5, 23, 49, 9, 181, 417, 339, 1013, 1707, 5097, 13319, 18951, 56415, 14397}}, +{9124, 17, 28921, {1, 1, 5, 7, 29, 23, 117, 159, 287, 695, 71, 2393, 2655, 6417, 24349, 20441, 77987}}, +{9125, 17, 28927, {1, 1, 5, 7, 31, 23, 81, 125, 145, 141, 1459, 4095, 713, 1817, 9263, 21025, 91983}}, +{9126, 17, 28929, {1, 1, 1, 9, 17, 23, 91, 39, 459, 299, 1951, 3229, 6229, 3267, 15883, 31719, 96573}}, +{9127, 17, 28935, {1, 1, 1, 15, 3, 51, 9, 7, 455, 653, 1447, 153, 8117, 723, 2177, 9107, 7757}}, +{9128, 17, 28941, {1, 3, 1, 15, 27, 47, 49, 245, 499, 807, 175, 1653, 1693, 3931, 27479, 30095, 62353}}, +{9129, 17, 28942, {1, 1, 5, 5, 23, 7, 15, 193, 499, 193, 201, 2771, 4153, 11533, 25883, 23337, 126685}}, +{9130, 17, 28954, {1, 1, 1, 7, 9, 43, 125, 181, 425, 557, 1401, 2593, 1933, 6803, 20021, 32687, 126465}}, +{9131, 17, 28959, {1, 3, 3, 13, 27, 19, 99, 29, 395, 765, 1137, 2963, 7397, 9695, 19259, 27965, 83157}}, +{9132, 17, 28960, {1, 3, 7, 7, 17, 29, 7, 241, 5, 281, 1489, 1599, 5567, 4579, 7739, 41413, 110571}}, +{9133, 17, 28990, {1, 3, 3, 9, 7, 5, 83, 1, 231, 1003, 631, 2557, 831, 6495, 30409, 53519, 79331}}, +{9134, 17, 28992, {1, 1, 5, 1, 7, 49, 45, 241, 201, 551, 1645, 2003, 1455, 3317, 23639, 7841, 100765}}, +{9135, 17, 29004, {1, 3, 5, 13, 25, 47, 103, 37, 81, 263, 1143, 801, 5863, 6871, 8615, 57363, 90161}}, +{9136, 17, 29010, {1, 3, 7, 11, 27, 23, 119, 211, 473, 207, 605, 637, 3369, 7287, 27827, 25003, 65925}}, +{9137, 17, 29012, {1, 3, 1, 15, 27, 31, 97, 247, 75, 893, 1099, 3609, 6807, 4393, 10253, 62759, 89971}}, +{9138, 17, 29021, {1, 1, 7, 15, 27, 19, 43, 59, 419, 263, 387, 3193, 5589, 4197, 19143, 64749, 103093}}, +{9139, 17, 29035, {1, 1, 7, 11, 21, 51, 97, 227, 251, 869, 1927, 2331, 7741, 8207, 12885, 13267, 17945}}, +{9140, 17, 29040, {1, 1, 7, 7, 5, 53, 41, 147, 75, 709, 607, 1073, 2853, 8081, 12797, 5279, 86083}}, +{9141, 17, 29059, {1, 1, 5, 5, 15, 21, 77, 189, 269, 595, 197, 3117, 5073, 14277, 26867, 49505, 75755}}, +{9142, 17, 29068, {1, 3, 5, 15, 13, 55, 1, 223, 135, 367, 735, 3139, 4851, 9773, 11699, 19081, 26011}}, +{9143, 17, 29080, {1, 3, 5, 7, 9, 3, 89, 103, 321, 727, 1809, 3527, 6881, 2399, 13593, 27867, 16219}}, +{9144, 17, 29086, {1, 3, 3, 1, 23, 5, 53, 51, 403, 753, 2037, 1261, 7575, 2725, 11341, 18533, 98767}}, +{9145, 17, 29089, {1, 1, 1, 11, 1, 13, 37, 141, 477, 689, 1789, 1913, 5753, 6069, 6965, 55209, 77329}}, +{9146, 17, 29090, {1, 3, 7, 3, 17, 59, 79, 249, 381, 163, 1773, 1645, 7295, 2359, 21889, 28429, 117073}}, +{9147, 17, 29095, {1, 3, 5, 15, 7, 45, 59, 3, 93, 259, 1257, 2967, 1175, 10171, 873, 51423, 67437}}, +{9148, 17, 29113, {1, 1, 7, 13, 17, 33, 53, 217, 159, 683, 1169, 3363, 4591, 3959, 10089, 35443, 99677}}, +{9149, 17, 29127, {1, 3, 7, 9, 3, 1, 5, 171, 17, 635, 369, 1529, 4861, 4977, 29303, 42357, 69309}}, +{9150, 17, 29131, {1, 3, 7, 9, 21, 17, 77, 127, 105, 427, 525, 1123, 2365, 7487, 6315, 64773, 122747}}, +{9151, 17, 29148, {1, 1, 1, 15, 19, 63, 65, 83, 219, 987, 169, 2589, 3809, 8807, 22473, 6479, 44617}}, +{9152, 17, 29161, {1, 3, 1, 7, 11, 51, 107, 19, 379, 191, 1013, 3145, 1501, 11871, 14111, 18269, 98247}}, +{9153, 17, 29172, {1, 1, 7, 5, 17, 63, 23, 231, 423, 855, 1955, 907, 4553, 16173, 7701, 40329, 42047}}, +{9154, 17, 29179, {1, 3, 7, 1, 7, 45, 103, 127, 185, 721, 1035, 839, 691, 6823, 23819, 50781, 92767}}, +{9155, 17, 29188, {1, 1, 1, 3, 9, 21, 57, 253, 285, 85, 1227, 365, 2347, 7491, 15183, 8619, 108819}}, +{9156, 17, 29192, {1, 1, 3, 15, 27, 13, 5, 85, 45, 1009, 1315, 1749, 2797, 3941, 19367, 50855, 60693}}, +{9157, 17, 29195, {1, 3, 5, 15, 29, 63, 115, 197, 317, 601, 711, 377, 7489, 4247, 4843, 56549, 108447}}, +{9158, 17, 29206, {1, 3, 7, 15, 11, 25, 7, 145, 371, 395, 1743, 267, 2609, 15707, 13909, 55031, 71115}}, +{9159, 17, 29210, {1, 3, 1, 1, 1, 53, 111, 245, 433, 309, 245, 15, 2091, 9051, 11095, 31821, 104535}}, +{9160, 17, 29215, {1, 3, 1, 15, 25, 31, 99, 89, 259, 595, 1095, 3681, 5105, 8671, 23663, 29717, 126429}}, +{9161, 17, 29221, {1, 3, 7, 7, 5, 31, 15, 59, 109, 527, 257, 1785, 6799, 1283, 11741, 34589, 102397}}, +{9162, 17, 29222, {1, 3, 3, 15, 9, 27, 55, 35, 291, 587, 1281, 779, 4615, 373, 24037, 64671, 124019}}, +{9163, 17, 29236, {1, 1, 5, 5, 13, 51, 49, 19, 37, 857, 539, 1291, 6021, 8645, 30351, 33839, 111515}}, +{9164, 17, 29246, {1, 1, 5, 13, 3, 47, 9, 197, 19, 337, 2025, 3003, 7179, 5755, 31187, 59317, 69753}}, +{9165, 17, 29248, {1, 1, 7, 3, 3, 43, 11, 3, 123, 29, 857, 3349, 791, 11157, 23967, 33729, 28445}}, +{9166, 17, 29253, {1, 1, 5, 1, 1, 11, 73, 231, 173, 925, 331, 161, 3303, 11015, 17507, 21271, 56865}}, +{9167, 17, 29272, {1, 1, 3, 9, 21, 21, 115, 145, 421, 981, 1789, 3343, 7591, 12043, 5795, 17737, 106501}}, +{9168, 17, 29288, {1, 1, 7, 13, 7, 15, 51, 75, 497, 637, 1073, 1505, 5613, 1415, 30861, 26159, 79573}}, +{9169, 17, 29293, {1, 1, 3, 15, 17, 35, 17, 129, 169, 283, 1383, 149, 211, 1381, 22205, 28367, 831}}, +{9170, 17, 29294, {1, 3, 5, 5, 17, 11, 127, 183, 503, 499, 2011, 2721, 2717, 3105, 4731, 60319, 9361}}, +{9171, 17, 29308, {1, 1, 1, 7, 27, 55, 77, 203, 255, 761, 1159, 2915, 4479, 13671, 19757, 65497, 4461}}, +{9172, 17, 29318, {1, 3, 1, 9, 9, 51, 67, 205, 445, 35, 371, 1837, 3623, 10365, 19463, 59005, 3185}}, +{9173, 17, 29321, {1, 3, 7, 3, 23, 5, 51, 141, 293, 489, 263, 2187, 1259, 2729, 1779, 61027, 53931}}, +{9174, 17, 29322, {1, 1, 1, 15, 27, 7, 15, 109, 475, 839, 175, 953, 4531, 437, 22475, 24167, 19051}}, +{9175, 17, 29339, {1, 1, 7, 9, 25, 23, 41, 107, 299, 115, 1713, 1559, 5701, 5427, 28813, 39913, 15941}}, +{9176, 17, 29365, {1, 3, 5, 7, 5, 25, 99, 9, 307, 591, 1303, 3501, 1589, 12095, 26629, 52127, 60635}}, +{9177, 17, 29369, {1, 3, 7, 3, 9, 23, 3, 29, 113, 49, 1601, 541, 1415, 11601, 19165, 46595, 111623}}, +{9178, 17, 29372, {1, 1, 3, 11, 5, 53, 37, 153, 51, 41, 1267, 545, 2055, 13137, 7749, 30721, 119591}}, +{9179, 17, 29377, {1, 3, 5, 11, 1, 15, 65, 17, 155, 65, 745, 2547, 6351, 2347, 13553, 5785, 129857}}, +{9180, 17, 29392, {1, 3, 7, 13, 5, 53, 11, 59, 453, 467, 1275, 3669, 4481, 5229, 2953, 23369, 100161}}, +{9181, 17, 29401, {1, 3, 1, 1, 13, 41, 91, 179, 331, 547, 1571, 1787, 6467, 12375, 4579, 45023, 119149}}, +{9182, 17, 29402, {1, 3, 3, 5, 17, 55, 105, 57, 227, 323, 1517, 1215, 3149, 13919, 18595, 5525, 82445}}, +{9183, 17, 29418, {1, 3, 1, 13, 19, 23, 17, 239, 81, 481, 1625, 2003, 7295, 2185, 7021, 19357, 37867}}, +{9184, 17, 29437, {1, 3, 5, 9, 11, 15, 61, 223, 153, 139, 2023, 2579, 495, 14319, 2835, 26541, 113115}}, +{9185, 17, 29445, {1, 1, 3, 13, 29, 9, 13, 149, 325, 87, 697, 2345, 2205, 5069, 9939, 61351, 127313}}, +{9186, 17, 29446, {1, 1, 7, 11, 13, 53, 45, 197, 167, 551, 439, 3715, 4587, 8549, 28193, 35827, 96721}}, +{9187, 17, 29460, {1, 3, 1, 1, 17, 7, 31, 205, 219, 739, 1165, 243, 3877, 15943, 15207, 43857, 120565}}, +{9188, 17, 29467, {1, 3, 7, 9, 7, 43, 81, 203, 295, 553, 279, 2717, 9, 751, 24715, 21591, 11485}}, +{9189, 17, 29473, {1, 1, 1, 11, 15, 17, 41, 121, 355, 157, 955, 3875, 7595, 235, 4937, 20607, 11401}}, +{9190, 17, 29476, {1, 1, 7, 7, 13, 49, 33, 161, 65, 251, 1895, 2665, 3017, 9725, 10797, 46313, 43407}}, +{9191, 17, 29488, {1, 1, 3, 9, 23, 17, 127, 69, 385, 875, 461, 3305, 3001, 5875, 13547, 61239, 113571}}, +{9192, 17, 29511, {1, 3, 7, 5, 15, 47, 113, 131, 465, 89, 733, 433, 799, 5689, 723, 63479, 106945}}, +{9193, 17, 29512, {1, 3, 3, 15, 29, 1, 51, 115, 317, 1021, 1219, 1797, 4005, 10435, 28935, 49467, 66833}}, +{9194, 17, 29517, {1, 1, 3, 11, 15, 9, 51, 209, 477, 479, 1099, 2781, 5525, 12715, 9067, 18317, 121671}}, +{9195, 17, 29523, {1, 3, 1, 7, 19, 35, 61, 27, 479, 815, 1639, 2825, 7449, 13697, 3079, 49833, 35119}}, +{9196, 17, 29526, {1, 3, 7, 3, 17, 53, 95, 155, 505, 185, 717, 3419, 3857, 2369, 14525, 22797, 38553}}, +{9197, 17, 29535, {1, 3, 1, 13, 27, 5, 11, 21, 507, 65, 39, 2841, 7887, 2783, 18767, 34171, 40527}}, +{9198, 17, 29539, {1, 3, 1, 7, 9, 47, 69, 217, 251, 775, 631, 1967, 5541, 10679, 16439, 33533, 57817}}, +{9199, 17, 29545, {1, 1, 5, 11, 27, 57, 103, 255, 359, 745, 63, 3725, 4113, 10943, 7833, 46857, 99239}}, +{9200, 17, 29559, {1, 3, 1, 5, 31, 41, 69, 245, 401, 451, 959, 351, 6999, 6187, 21437, 55067, 53547}}, +{9201, 17, 29560, {1, 1, 1, 13, 25, 49, 85, 181, 457, 731, 743, 1901, 7013, 12027, 14729, 24193, 89685}}, +{9202, 17, 29589, {1, 3, 3, 1, 31, 29, 101, 137, 117, 135, 345, 1419, 7133, 2695, 3631, 53049, 45875}}, +{9203, 17, 29593, {1, 1, 1, 13, 11, 51, 95, 221, 339, 655, 201, 3007, 8179, 8093, 22399, 59123, 127319}}, +{9204, 17, 29599, {1, 3, 7, 3, 31, 37, 23, 199, 191, 649, 817, 1959, 893, 2333, 21477, 29087, 115667}}, +{9205, 17, 29603, {1, 3, 3, 5, 9, 55, 123, 67, 39, 533, 797, 2575, 3955, 14585, 28587, 13079, 60053}}, +{9206, 17, 29610, {1, 3, 1, 1, 17, 19, 15, 219, 185, 21, 967, 667, 3361, 3883, 8059, 26199, 80913}}, +{9207, 17, 29629, {1, 3, 3, 11, 23, 5, 99, 57, 379, 151, 271, 3735, 7087, 12731, 2949, 54831, 37835}}, +{9208, 17, 29644, {1, 3, 1, 7, 21, 25, 9, 195, 497, 585, 901, 19, 7675, 13611, 31155, 14567, 20545}}, +{9209, 17, 29656, {1, 1, 3, 3, 27, 45, 51, 169, 397, 531, 673, 2935, 3779, 7169, 23479, 16157, 100237}}, +{9210, 17, 29662, {1, 1, 1, 1, 19, 49, 3, 75, 455, 805, 591, 1929, 2883, 2797, 31379, 12025, 120929}}, +{9211, 17, 29675, {1, 3, 5, 3, 17, 39, 115, 93, 341, 329, 1857, 2753, 4923, 12539, 25589, 19437, 29027}}, +{9212, 17, 29692, {1, 3, 5, 9, 27, 37, 21, 235, 499, 369, 1341, 3719, 6819, 3153, 30619, 50901, 52999}}, +{9213, 17, 29704, {1, 3, 1, 11, 3, 55, 43, 219, 83, 771, 783, 3569, 7879, 2363, 30605, 5965, 126855}}, +{9214, 17, 29707, {1, 3, 7, 13, 7, 25, 111, 63, 355, 317, 1579, 1523, 2733, 11963, 25205, 20545, 67389}}, +{9215, 17, 29715, {1, 3, 5, 7, 3, 17, 55, 99, 321, 633, 2013, 1991, 1019, 9223, 21117, 23337, 90589}}, +{9216, 17, 29717, {1, 3, 1, 1, 17, 25, 79, 171, 303, 403, 2037, 2595, 3951, 8021, 8669, 9363, 20345}}, +{9217, 17, 29722, {1, 1, 1, 7, 13, 7, 11, 7, 347, 53, 1763, 3097, 3353, 3769, 22947, 20919, 92247}}, +{9218, 17, 29731, {1, 3, 5, 11, 19, 29, 91, 191, 511, 705, 1317, 3367, 7, 4999, 30251, 18299, 66983}}, +{9219, 17, 29740, {1, 1, 3, 7, 19, 17, 71, 77, 285, 189, 853, 2305, 4205, 15603, 15501, 48073, 11411}}, +{9220, 17, 29743, {1, 3, 7, 5, 21, 15, 47, 13, 277, 969, 1861, 3493, 6723, 11521, 22145, 43779, 44713}}, +{9221, 17, 29752, {1, 1, 3, 5, 19, 47, 51, 207, 229, 957, 709, 267, 8081, 611, 26403, 14871, 111841}}, +{9222, 17, 29760, {1, 3, 7, 1, 19, 43, 71, 73, 405, 351, 1131, 3527, 5949, 14363, 20041, 48123, 68123}}, +{9223, 17, 29766, {1, 3, 3, 7, 23, 51, 81, 13, 161, 453, 365, 1089, 3505, 12359, 14277, 56113, 19717}}, +{9224, 17, 29770, {1, 1, 1, 7, 29, 35, 103, 137, 317, 417, 1465, 2787, 6935, 9885, 12943, 43937, 28353}}, +{9225, 17, 29794, {1, 1, 3, 13, 19, 37, 97, 5, 115, 89, 1005, 3033, 2011, 2633, 10615, 6641, 73385}}, +{9226, 17, 29796, {1, 3, 7, 7, 31, 39, 107, 165, 61, 1009, 1159, 865, 3469, 11093, 10425, 43959, 37395}}, +{9227, 17, 29814, {1, 3, 5, 9, 7, 51, 99, 91, 37, 457, 39, 2455, 7481, 4929, 29755, 50603, 48943}}, +{9228, 17, 29817, {1, 1, 5, 13, 5, 39, 47, 149, 341, 303, 843, 3619, 7527, 8739, 5893, 42623, 99899}}, +{9229, 17, 29829, {1, 1, 1, 1, 1, 41, 73, 71, 409, 351, 131, 515, 6657, 337, 23913, 583, 21665}}, +{9230, 17, 29841, {1, 1, 3, 3, 11, 45, 39, 113, 315, 965, 1605, 2779, 501, 7429, 2567, 7011, 71445}}, +{9231, 17, 29851, {1, 3, 7, 13, 21, 13, 45, 105, 385, 281, 1683, 3997, 6391, 10943, 22349, 37261, 57555}}, +{9232, 17, 29860, {1, 1, 3, 5, 17, 55, 109, 71, 393, 561, 433, 1091, 1923, 13861, 12981, 5523, 15467}}, +{9233, 17, 29864, {1, 3, 7, 5, 17, 11, 113, 119, 37, 989, 1609, 2191, 1511, 11835, 25423, 793, 15227}}, +{9234, 17, 29869, {1, 3, 1, 5, 5, 55, 105, 225, 349, 351, 1259, 1309, 821, 2733, 1357, 3665, 38863}}, +{9235, 17, 29870, {1, 3, 5, 1, 23, 61, 49, 113, 169, 319, 85, 1581, 97, 5271, 30625, 37693, 7297}}, +{9236, 17, 29889, {1, 3, 5, 1, 1, 25, 31, 125, 307, 731, 1815, 1047, 7251, 12481, 20781, 63275, 51985}}, +{9237, 17, 29896, {1, 3, 5, 9, 11, 9, 121, 111, 45, 751, 793, 2593, 6409, 4355, 30183, 36959, 105161}}, +{9238, 17, 29901, {1, 1, 3, 9, 25, 37, 95, 253, 401, 481, 1521, 3555, 231, 15459, 1581, 36661, 121727}}, +{9239, 17, 29913, {1, 3, 5, 3, 27, 11, 107, 115, 213, 813, 27, 1789, 603, 383, 1129, 63365, 51147}}, +{9240, 17, 29919, {1, 1, 3, 13, 25, 7, 33, 1, 97, 907, 35, 4069, 5001, 507, 911, 62037, 22019}}, +{9241, 17, 29920, {1, 1, 3, 5, 7, 55, 35, 95, 261, 217, 1565, 3473, 3475, 12181, 569, 27389, 81771}}, +{9242, 17, 29947, {1, 1, 3, 5, 11, 33, 95, 121, 453, 711, 361, 3927, 5231, 15685, 31143, 56915, 23707}}, +{9243, 17, 29958, {1, 1, 3, 11, 25, 15, 53, 155, 469, 647, 1547, 335, 3753, 12873, 13639, 25129, 79287}}, +{9244, 17, 29975, {1, 3, 3, 3, 1, 21, 21, 121, 105, 903, 83, 2287, 4295, 14369, 29183, 26841, 38115}}, +{9245, 17, 29981, {1, 1, 7, 11, 5, 29, 65, 191, 389, 419, 1315, 739, 3485, 10587, 2399, 36377, 28789}}, +{9246, 17, 29985, {1, 3, 3, 11, 3, 29, 71, 169, 265, 747, 395, 1211, 3487, 15705, 25611, 18183, 85771}}, +{9247, 17, 29998, {1, 1, 7, 3, 23, 5, 45, 47, 337, 571, 33, 1221, 5671, 1233, 28361, 36945, 911}}, +{9248, 17, 30010, {1, 1, 5, 11, 17, 15, 57, 97, 185, 999, 1277, 3371, 2785, 3341, 13395, 11925, 86777}}, +{9249, 17, 30012, {1, 1, 3, 1, 31, 37, 23, 105, 503, 869, 1309, 3733, 4629, 8263, 11763, 30669, 26179}}, +{9250, 17, 30044, {1, 1, 3, 15, 25, 61, 37, 27, 325, 413, 809, 2959, 8137, 3397, 21185, 27995, 84297}}, +{9251, 17, 30048, {1, 3, 5, 5, 1, 55, 95, 41, 493, 469, 331, 1789, 7037, 7947, 14239, 16109, 51795}}, +{9252, 17, 30051, {1, 1, 1, 1, 19, 33, 111, 237, 261, 331, 871, 3539, 1731, 6953, 11345, 37901, 5623}}, +{9253, 17, 30063, {1, 1, 5, 7, 21, 41, 49, 179, 49, 797, 231, 1299, 145, 7743, 725, 60595, 19581}}, +{9254, 17, 30065, {1, 3, 7, 15, 7, 43, 67, 219, 133, 641, 1657, 2301, 1591, 12309, 6395, 3999, 92961}}, +{9255, 17, 30072, {1, 1, 1, 5, 1, 49, 37, 81, 219, 323, 461, 1379, 1797, 14825, 21811, 7347, 35643}}, +{9256, 17, 30077, {1, 1, 1, 11, 1, 3, 83, 31, 307, 83, 1169, 3277, 1875, 13397, 20265, 46707, 15205}}, +{9257, 17, 30087, {1, 3, 7, 11, 29, 41, 69, 33, 405, 991, 1937, 1217, 2137, 8657, 4319, 41119, 43371}}, +{9258, 17, 30088, {1, 3, 3, 3, 25, 49, 107, 197, 347, 923, 1585, 3023, 4087, 13875, 22015, 35733, 33755}}, +{9259, 17, 30101, {1, 3, 3, 5, 15, 61, 89, 249, 141, 853, 1469, 999, 7425, 10015, 12341, 51535, 61619}}, +{9260, 17, 30112, {1, 1, 7, 13, 31, 61, 89, 113, 117, 429, 1011, 1589, 1419, 5083, 4843, 26759, 47401}}, +{9261, 17, 30121, {1, 1, 7, 9, 17, 37, 119, 39, 499, 93, 1155, 3069, 2033, 12483, 29849, 40077, 11103}}, +{9262, 17, 30122, {1, 3, 1, 15, 11, 5, 23, 121, 283, 717, 1573, 3911, 2031, 2617, 20387, 33157, 301}}, +{9263, 17, 30130, {1, 3, 5, 7, 17, 61, 109, 3, 205, 617, 1171, 223, 6609, 15027, 2629, 15801, 73749}}, +{9264, 17, 30135, {1, 1, 3, 7, 5, 49, 9, 73, 333, 401, 675, 2765, 993, 77, 19237, 60929, 88703}}, +{9265, 17, 30139, {1, 1, 1, 9, 21, 25, 53, 249, 241, 43, 1959, 545, 3729, 11395, 3027, 12661, 87729}}, +{9266, 17, 30142, {1, 3, 3, 15, 15, 61, 33, 59, 155, 773, 1043, 3111, 6549, 5397, 29099, 57851, 107671}}, +{9267, 17, 30164, {1, 3, 7, 1, 29, 29, 1, 161, 273, 883, 1913, 2389, 401, 9425, 17613, 50443, 84601}}, +{9268, 17, 30167, {1, 3, 7, 11, 15, 63, 41, 53, 371, 153, 1491, 3013, 6635, 4955, 30145, 20175, 16541}}, +{9269, 17, 30180, {1, 3, 3, 11, 31, 27, 127, 207, 11, 313, 1067, 3445, 3075, 4071, 28305, 58911, 85273}}, +{9270, 17, 30202, {1, 1, 7, 11, 17, 47, 77, 119, 209, 657, 1181, 459, 5821, 4267, 5757, 53703, 35621}}, +{9271, 17, 30211, {1, 3, 1, 15, 27, 41, 3, 217, 457, 531, 1749, 2847, 4715, 11451, 25071, 53999, 93503}}, +{9272, 17, 30214, {1, 3, 5, 3, 19, 29, 9, 177, 355, 265, 883, 1113, 2397, 1819, 20757, 50389, 95551}}, +{9273, 17, 30217, {1, 1, 3, 15, 3, 45, 85, 211, 377, 293, 1791, 1193, 1117, 9383, 28039, 27155, 129513}}, +{9274, 17, 30223, {1, 1, 7, 5, 1, 17, 59, 215, 161, 933, 1653, 2407, 2693, 3655, 7515, 2239, 88985}}, +{9275, 17, 30228, {1, 1, 3, 11, 31, 3, 1, 77, 459, 817, 651, 603, 1711, 9391, 20607, 48195, 127153}}, +{9276, 17, 30235, {1, 1, 5, 13, 11, 49, 25, 13, 51, 443, 1877, 1257, 163, 4673, 30313, 18841, 24547}}, +{9277, 17, 30256, {1, 1, 7, 7, 15, 33, 43, 79, 127, 625, 1991, 1311, 2095, 14659, 3477, 56023, 57955}}, +{9278, 17, 30265, {1, 3, 7, 15, 29, 7, 119, 183, 123, 323, 1723, 959, 2733, 2097, 2927, 57595, 86067}}, +{9279, 17, 30286, {1, 3, 5, 5, 29, 57, 93, 139, 495, 739, 1715, 713, 243, 2027, 11223, 44143, 119155}}, +{9280, 17, 30293, {1, 3, 1, 9, 3, 63, 113, 29, 19, 439, 869, 1101, 4947, 2191, 14737, 57049, 93505}}, +{9281, 17, 30298, {1, 1, 7, 1, 11, 39, 27, 29, 281, 829, 1979, 2185, 2207, 14969, 7447, 55541, 59593}}, +{9282, 17, 30310, {1, 1, 7, 13, 11, 15, 15, 143, 383, 469, 1439, 2823, 7489, 7675, 15433, 26203, 80433}}, +{9283, 17, 30314, {1, 1, 1, 7, 15, 45, 23, 93, 477, 1, 1431, 3173, 7879, 12211, 13051, 56971, 114289}}, +{9284, 17, 30327, {1, 3, 1, 1, 27, 55, 61, 185, 323, 569, 1063, 1357, 7373, 14947, 15967, 64517, 104625}}, +{9285, 17, 30333, {1, 1, 5, 11, 25, 1, 127, 163, 419, 657, 911, 361, 3675, 10765, 24565, 2661, 61979}}, +{9286, 17, 30334, {1, 3, 7, 15, 29, 53, 29, 149, 465, 535, 1865, 2243, 4783, 9327, 24843, 52313, 15683}}, +{9287, 17, 30337, {1, 1, 7, 7, 17, 7, 85, 187, 91, 1013, 1917, 2959, 3571, 12047, 25267, 34095, 9877}}, +{9288, 17, 30338, {1, 1, 1, 7, 5, 27, 111, 107, 313, 571, 1081, 3193, 1025, 2589, 1523, 40453, 77065}}, +{9289, 17, 30344, {1, 3, 7, 1, 19, 27, 1, 103, 479, 405, 583, 1737, 3495, 9093, 20397, 16429, 45609}}, +{9290, 17, 30349, {1, 1, 3, 11, 17, 1, 125, 97, 261, 651, 901, 1245, 1181, 14469, 16229, 31935, 100227}}, +{9291, 17, 30352, {1, 1, 7, 11, 15, 1, 19, 151, 453, 833, 1371, 1109, 5373, 25, 5619, 58351, 26349}}, +{9292, 17, 30362, {1, 1, 7, 15, 17, 55, 51, 67, 123, 13, 1873, 1035, 5871, 11943, 11543, 43261, 62587}}, +{9293, 17, 30374, {1, 3, 1, 13, 21, 15, 83, 205, 333, 379, 2021, 1389, 861, 10395, 20587, 38207, 49109}}, +{9294, 17, 30380, {1, 1, 5, 3, 13, 49, 89, 85, 463, 1005, 1367, 3487, 581, 12145, 22445, 35343, 65745}}, +{9295, 17, 30388, {1, 3, 3, 3, 29, 27, 99, 195, 89, 793, 1677, 3989, 4811, 8303, 9165, 50349, 96947}}, +{9296, 17, 30391, {1, 1, 3, 5, 29, 11, 91, 107, 13, 659, 213, 1613, 2245, 11567, 28157, 2937, 53275}}, +{9297, 17, 30395, {1, 3, 7, 5, 3, 41, 65, 27, 93, 747, 1143, 505, 3881, 2123, 2903, 54137, 96185}}, +{9298, 17, 30403, {1, 1, 3, 15, 9, 49, 3, 25, 77, 681, 1709, 915, 2243, 2127, 18243, 13915, 67399}}, +{9299, 17, 30409, {1, 3, 5, 7, 13, 49, 89, 67, 63, 271, 1651, 897, 4035, 1067, 13743, 56791, 44371}}, +{9300, 17, 30424, {1, 1, 7, 9, 25, 19, 125, 15, 125, 705, 1359, 817, 1241, 12447, 19097, 33209, 89091}}, +{9301, 17, 30427, {1, 3, 7, 3, 19, 43, 127, 197, 39, 709, 257, 3547, 3069, 1187, 21255, 6453, 40763}}, +{9302, 17, 30430, {1, 3, 3, 5, 3, 53, 37, 65, 415, 183, 991, 533, 7805, 9905, 18925, 52665, 100987}}, +{9303, 17, 30451, {1, 3, 3, 11, 17, 41, 17, 137, 143, 277, 945, 1531, 7427, 7287, 30869, 27651, 116507}}, +{9304, 17, 30460, {1, 1, 1, 3, 13, 3, 9, 163, 113, 373, 1909, 1051, 97, 10729, 28615, 40081, 129297}}, +{9305, 17, 30475, {1, 3, 3, 9, 11, 47, 113, 27, 307, 339, 1319, 3083, 7383, 1551, 26691, 28769, 114313}}, +{9306, 17, 30480, {1, 3, 7, 7, 25, 49, 31, 231, 485, 629, 59, 283, 7463, 6603, 23055, 63643, 10121}}, +{9307, 17, 30485, {1, 3, 7, 9, 5, 55, 53, 127, 147, 103, 1697, 485, 7051, 14153, 21631, 35561, 10393}}, +{9308, 17, 30486, {1, 3, 3, 7, 23, 7, 83, 17, 135, 487, 315, 719, 7003, 3919, 13255, 24031, 110493}}, +{9309, 17, 30489, {1, 3, 1, 15, 27, 55, 121, 177, 205, 733, 933, 1535, 2925, 4259, 22203, 59059, 89209}}, +{9310, 17, 30492, {1, 1, 1, 11, 9, 11, 127, 47, 493, 349, 1415, 3089, 4739, 14347, 31579, 20739, 72997}}, +{9311, 17, 30499, {1, 3, 1, 7, 9, 31, 121, 111, 163, 733, 1699, 1507, 5467, 13499, 25269, 6303, 70201}}, +{9312, 17, 30511, {1, 3, 1, 5, 7, 23, 123, 203, 329, 387, 577, 2331, 2283, 14029, 19409, 103, 2477}}, +{9313, 17, 30533, {1, 1, 7, 15, 11, 29, 29, 153, 289, 333, 1669, 2065, 5465, 8835, 28753, 21209, 34283}}, +{9314, 17, 30534, {1, 3, 5, 11, 15, 33, 45, 81, 241, 461, 1167, 1073, 5511, 795, 30955, 49121, 42805}}, +{9315, 17, 30540, {1, 1, 1, 13, 7, 33, 11, 201, 161, 475, 1359, 2329, 177, 9883, 8967, 21399, 73045}}, +{9316, 17, 30545, {1, 3, 3, 1, 25, 59, 85, 51, 481, 751, 1213, 3019, 421, 9903, 30071, 50661, 94715}}, +{9317, 17, 30552, {1, 3, 3, 1, 5, 61, 3, 179, 131, 233, 1627, 3577, 6323, 14161, 21595, 44963, 20215}}, +{9318, 17, 30557, {1, 1, 1, 5, 9, 53, 45, 105, 275, 769, 105, 2757, 6769, 14987, 19955, 18291, 81707}}, +{9319, 17, 30558, {1, 1, 7, 1, 1, 59, 33, 19, 385, 775, 423, 1799, 1325, 13545, 16027, 58347, 102397}}, +{9320, 17, 30567, {1, 1, 3, 11, 15, 61, 63, 59, 355, 659, 1483, 3781, 7383, 5563, 32537, 34175, 40303}}, +{9321, 17, 30568, {1, 3, 5, 7, 5, 37, 19, 223, 323, 129, 287, 2655, 3767, 16201, 4147, 315, 54885}}, +{9322, 17, 30581, {1, 1, 7, 13, 13, 23, 43, 129, 405, 205, 1691, 2189, 3313, 11789, 10263, 16367, 65547}}, +{9323, 17, 30597, {1, 3, 5, 1, 15, 21, 85, 233, 427, 71, 475, 3731, 3335, 11483, 28613, 4335, 35669}}, +{9324, 17, 30607, {1, 1, 3, 3, 31, 47, 27, 109, 373, 451, 1459, 3103, 1941, 10405, 20233, 30517, 122787}}, +{9325, 17, 30621, {1, 3, 1, 7, 3, 11, 113, 49, 355, 465, 1959, 1355, 6521, 10863, 11481, 13385, 31787}}, +{9326, 17, 30632, {1, 3, 1, 1, 9, 45, 125, 69, 267, 413, 717, 2767, 833, 317, 23019, 37753, 3081}}, +{9327, 17, 30650, {1, 1, 7, 7, 13, 55, 75, 105, 71, 505, 239, 3739, 4873, 4257, 18841, 41711, 24045}}, +{9328, 17, 30655, {1, 1, 5, 13, 21, 59, 107, 229, 421, 441, 1079, 3727, 7941, 8443, 30433, 56419, 105751}}, +{9329, 17, 30657, {1, 1, 1, 9, 15, 59, 29, 49, 117, 1009, 1971, 115, 2899, 1069, 29145, 11855, 35277}}, +{9330, 17, 30660, {1, 3, 7, 15, 19, 55, 111, 77, 169, 537, 1695, 2687, 3871, 14017, 15119, 27313, 112807}}, +{9331, 17, 30669, {1, 1, 3, 7, 29, 5, 41, 201, 211, 127, 1877, 643, 2441, 8743, 29393, 6077, 52597}}, +{9332, 17, 30675, {1, 3, 1, 11, 7, 1, 95, 15, 229, 339, 475, 3463, 7827, 9943, 30903, 65013, 1145}}, +{9333, 17, 30678, {1, 1, 1, 5, 23, 19, 81, 23, 475, 169, 373, 1147, 1805, 12779, 13173, 8945, 28175}}, +{9334, 17, 30682, {1, 3, 5, 9, 3, 53, 127, 33, 237, 803, 121, 307, 4981, 8765, 12761, 23601, 92921}}, +{9335, 17, 30687, {1, 1, 3, 7, 17, 63, 11, 37, 213, 619, 1095, 1693, 6747, 7373, 17355, 5987, 97923}}, +{9336, 17, 30688, {1, 1, 3, 15, 11, 37, 109, 175, 503, 339, 591, 2745, 2387, 7419, 13915, 4769, 48229}}, +{9337, 17, 30698, {1, 3, 5, 7, 19, 17, 5, 81, 471, 989, 249, 437, 7309, 5747, 25277, 31911, 87907}}, +{9338, 17, 30711, {1, 3, 1, 7, 15, 25, 49, 243, 423, 911, 1957, 911, 6331, 9831, 26021, 58877, 99257}}, +{9339, 17, 30728, {1, 3, 5, 11, 3, 55, 39, 129, 271, 145, 1973, 3391, 2905, 9229, 7989, 15641, 67933}}, +{9340, 17, 30733, {1, 3, 5, 9, 13, 13, 43, 135, 183, 319, 1391, 2953, 2207, 14205, 31203, 6329, 98907}}, +{9341, 17, 30741, {1, 3, 1, 9, 27, 41, 27, 155, 11, 191, 1747, 975, 7043, 13139, 30387, 47099, 120321}}, +{9342, 17, 30746, {1, 1, 5, 9, 25, 27, 53, 235, 437, 77, 371, 2413, 4867, 14245, 27199, 37387, 88217}}, +{9343, 17, 30752, {1, 1, 7, 7, 11, 59, 103, 15, 109, 65, 1987, 3695, 7737, 7341, 26963, 16075, 6301}}, +{9344, 17, 30764, {1, 3, 7, 5, 7, 59, 109, 159, 121, 377, 1851, 3983, 5421, 7633, 7321, 14869, 54633}}, +{9345, 17, 30769, {1, 1, 3, 15, 21, 51, 35, 243, 397, 411, 1107, 3689, 7913, 14715, 26349, 23361, 90665}}, +{9346, 17, 30784, {1, 1, 1, 3, 5, 11, 77, 205, 187, 981, 1969, 1749, 6295, 8267, 16073, 54451, 103603}}, +{9347, 17, 30796, {1, 3, 3, 9, 11, 13, 113, 83, 243, 1021, 2003, 2277, 6457, 10535, 13461, 52741, 9385}}, +{9348, 17, 30799, {1, 3, 3, 11, 19, 9, 103, 13, 219, 269, 1805, 2689, 5219, 11497, 4909, 57985, 40141}}, +{9349, 17, 30804, {1, 1, 1, 1, 29, 25, 15, 217, 69, 567, 839, 1515, 3627, 9837, 21433, 37177, 10487}}, +{9350, 17, 30811, {1, 1, 7, 15, 15, 23, 119, 217, 277, 447, 551, 825, 7571, 3083, 16573, 1189, 64959}}, +{9351, 17, 30814, {1, 1, 3, 11, 9, 13, 63, 77, 313, 195, 941, 1621, 165, 8905, 20265, 53761, 25091}}, +{9352, 17, 30818, {1, 3, 3, 9, 17, 5, 9, 183, 175, 1015, 253, 233, 2883, 15587, 27175, 38517, 22707}}, +{9353, 17, 30827, {1, 3, 3, 11, 23, 63, 83, 17, 49, 671, 749, 3249, 7821, 7189, 26735, 28995, 101737}}, +{9354, 17, 30838, {1, 1, 7, 5, 25, 15, 97, 247, 161, 585, 1307, 3803, 1105, 9093, 23523, 1383, 65671}}, +{9355, 17, 30842, {1, 1, 3, 15, 29, 51, 65, 237, 349, 709, 799, 1425, 6267, 6283, 4773, 18123, 74833}}, +{9356, 17, 30854, {1, 1, 5, 5, 11, 13, 9, 251, 373, 189, 467, 945, 7279, 11349, 10917, 6581, 83967}}, +{9357, 17, 30863, {1, 1, 7, 15, 23, 27, 1, 197, 41, 325, 757, 1229, 6295, 345, 26147, 40135, 123063}}, +{9358, 17, 30865, {1, 1, 7, 9, 23, 9, 93, 225, 191, 837, 103, 3367, 5411, 8289, 7057, 55391, 10669}}, +{9359, 17, 30877, {1, 1, 5, 15, 21, 17, 49, 221, 487, 23, 1943, 1563, 6157, 4035, 27769, 14933, 56913}}, +{9360, 17, 30881, {1, 1, 5, 13, 13, 43, 67, 245, 457, 365, 1115, 2205, 6229, 4173, 25167, 56333, 55605}}, +{9361, 17, 30887, {1, 1, 5, 11, 15, 59, 109, 83, 17, 913, 497, 1299, 5221, 321, 32139, 13717, 94311}}, +{9362, 17, 30908, {1, 3, 3, 3, 31, 11, 5, 203, 3, 843, 2039, 25, 6211, 14927, 6015, 46269, 90369}}, +{9363, 17, 30916, {1, 1, 3, 9, 21, 51, 91, 203, 149, 147, 197, 1771, 2921, 6609, 2343, 35249, 12963}}, +{9364, 17, 30919, {1, 3, 1, 7, 17, 43, 91, 229, 107, 521, 737, 2355, 5855, 6707, 21217, 47041, 81833}}, +{9365, 17, 30925, {1, 3, 3, 7, 7, 31, 97, 135, 503, 665, 1799, 2937, 6867, 4125, 7375, 34401, 18111}}, +{9366, 17, 30928, {1, 1, 7, 1, 11, 29, 89, 185, 495, 633, 507, 3727, 5999, 5871, 5911, 24877, 10259}}, +{9367, 17, 30944, {1, 1, 1, 13, 25, 3, 25, 65, 91, 411, 147, 3699, 7003, 3017, 25635, 56619, 101491}}, +{9368, 17, 30947, {1, 3, 5, 7, 31, 1, 63, 255, 115, 179, 87, 735, 1649, 4767, 31093, 60149, 49829}}, +{9369, 17, 30950, {1, 1, 3, 1, 21, 63, 67, 85, 399, 279, 1963, 1759, 4679, 15423, 11533, 54387, 36563}}, +{9370, 17, 30968, {1, 3, 5, 3, 31, 53, 73, 73, 481, 443, 1393, 2763, 1199, 5375, 8977, 5369, 114603}}, +{9371, 17, 30971, {1, 1, 1, 3, 29, 47, 73, 205, 469, 187, 815, 2787, 1431, 4705, 11455, 53643, 89269}}, +{9372, 17, 30973, {1, 3, 3, 9, 27, 57, 93, 55, 287, 539, 1259, 3279, 1563, 11399, 22975, 27077, 41031}}, +{9373, 17, 30976, {1, 1, 3, 15, 7, 27, 67, 25, 169, 263, 621, 1921, 509, 11715, 15363, 27447, 75535}}, +{9374, 17, 30986, {1, 1, 1, 9, 29, 63, 31, 99, 321, 361, 1693, 763, 5593, 10815, 741, 31257, 70843}}, +{9375, 17, 30993, {1, 1, 1, 9, 1, 17, 73, 141, 401, 549, 415, 1289, 1697, 1903, 8919, 59563, 60017}}, +{9376, 17, 30994, {1, 3, 7, 3, 5, 51, 127, 221, 9, 929, 153, 1045, 6587, 13653, 5343, 14043, 116125}}, +{9377, 17, 31012, {1, 3, 3, 13, 13, 17, 29, 93, 465, 59, 1207, 3121, 6331, 8647, 5047, 41869, 51969}}, +{9378, 17, 31016, {1, 1, 1, 15, 23, 29, 47, 149, 119, 855, 367, 1419, 7739, 1141, 19787, 38185, 84403}}, +{9379, 17, 31029, {1, 3, 1, 9, 29, 63, 5, 63, 435, 401, 1023, 1981, 6819, 7547, 30065, 33833, 7471}}, +{9380, 17, 31039, {1, 3, 1, 15, 1, 47, 35, 161, 243, 225, 935, 2179, 7737, 7841, 28523, 11505, 103741}}, +{9381, 17, 31041, {1, 1, 7, 3, 7, 57, 73, 55, 101, 905, 1705, 4057, 3781, 8213, 18997, 17185, 33265}}, +{9382, 17, 31042, {1, 1, 5, 1, 7, 57, 31, 77, 323, 395, 927, 1969, 6973, 9013, 30789, 757, 84075}}, +{9383, 17, 31044, {1, 1, 3, 7, 15, 53, 51, 205, 401, 679, 1295, 1955, 7739, 11423, 23207, 55449, 60419}}, +{9384, 17, 31053, {1, 3, 5, 11, 23, 21, 67, 141, 157, 767, 219, 3607, 1847, 11051, 31499, 8461, 106353}}, +{9385, 17, 31059, {1, 1, 3, 9, 17, 19, 123, 169, 1, 31, 1019, 1823, 6043, 1895, 17293, 62079, 16945}}, +{9386, 17, 31062, {1, 3, 5, 9, 3, 15, 49, 27, 183, 293, 989, 2161, 1845, 1103, 20149, 11121, 31935}}, +{9387, 17, 31077, {1, 3, 1, 3, 17, 39, 103, 45, 491, 91, 413, 487, 1381, 5457, 22503, 40477, 94297}}, +{9388, 17, 31095, {1, 1, 3, 7, 29, 11, 87, 79, 349, 437, 945, 3753, 6691, 4373, 24875, 54397, 33697}}, +{9389, 17, 31101, {1, 1, 7, 1, 9, 31, 105, 121, 97, 947, 129, 1909, 2371, 5493, 29523, 52685, 24325}}, +{9390, 17, 31105, {1, 1, 5, 9, 19, 21, 63, 115, 511, 525, 49, 1879, 6075, 8181, 10135, 56785, 53309}}, +{9391, 17, 31118, {1, 1, 5, 15, 3, 55, 75, 135, 451, 697, 1407, 2765, 2443, 11589, 24863, 47187, 98477}}, +{9392, 17, 31129, {1, 1, 1, 13, 27, 37, 77, 157, 121, 603, 491, 2201, 619, 9157, 32511, 19843, 49919}}, +{9393, 17, 31132, {1, 1, 3, 1, 23, 17, 23, 115, 119, 349, 987, 2587, 1847, 12099, 31955, 31685, 1989}}, +{9394, 17, 31141, {1, 3, 7, 7, 5, 47, 63, 209, 69, 921, 1041, 1391, 7485, 11121, 30993, 5691, 74551}}, +{9395, 17, 31159, {1, 3, 1, 3, 23, 61, 55, 253, 355, 299, 971, 279, 3543, 10073, 5199, 50539, 88303}}, +{9396, 17, 31183, {1, 1, 1, 11, 13, 19, 7, 255, 189, 267, 2021, 93, 219, 10537, 28627, 58141, 53675}}, +{9397, 17, 31185, {1, 3, 3, 7, 27, 61, 83, 95, 163, 777, 1533, 2485, 7211, 6979, 4013, 20797, 91411}}, +{9398, 17, 31195, {1, 1, 7, 13, 15, 37, 5, 109, 133, 225, 59, 3855, 3351, 659, 24321, 63531, 15573}}, +{9399, 17, 31202, {1, 1, 5, 1, 7, 55, 59, 213, 45, 77, 2003, 2921, 1105, 11089, 17197, 45459, 67681}}, +{9400, 17, 31213, {1, 1, 1, 5, 13, 21, 107, 245, 505, 409, 1453, 1201, 6945, 2103, 7377, 59413, 8785}}, +{9401, 17, 31238, {1, 1, 1, 13, 5, 37, 73, 55, 39, 219, 225, 3877, 6583, 3105, 25355, 14839, 23435}}, +{9402, 17, 31241, {1, 1, 7, 1, 21, 35, 87, 227, 487, 767, 609, 1685, 2731, 10135, 381, 24021, 122137}}, +{9403, 17, 31252, {1, 1, 1, 3, 29, 13, 19, 255, 355, 505, 1757, 3537, 3029, 11403, 22685, 61169, 397}}, +{9404, 17, 31262, {1, 1, 7, 1, 29, 43, 11, 207, 83, 97, 435, 1453, 4709, 4193, 18517, 47203, 3255}}, +{9405, 17, 31265, {1, 1, 1, 1, 21, 49, 39, 163, 459, 849, 561, 1207, 4109, 1435, 17519, 14839, 1331}}, +{9406, 17, 31295, {1, 1, 3, 11, 27, 35, 65, 219, 135, 559, 1111, 2959, 7835, 5165, 26641, 22765, 121829}}, +{9407, 17, 31300, {1, 3, 5, 3, 23, 31, 57, 149, 431, 451, 189, 1771, 5877, 3503, 7531, 46485, 129031}}, +{9408, 17, 31303, {1, 1, 3, 11, 1, 13, 47, 17, 331, 1003, 215, 2797, 689, 6289, 12719, 37139, 35827}}, +{9409, 17, 31317, {1, 3, 5, 9, 19, 13, 11, 29, 275, 165, 783, 313, 2153, 6009, 2247, 5699, 128753}}, +{9410, 17, 31318, {1, 1, 7, 13, 5, 43, 51, 75, 411, 743, 335, 217, 559, 15389, 6567, 41193, 127443}}, +{9411, 17, 31324, {1, 3, 5, 15, 5, 63, 7, 145, 445, 835, 825, 35, 5951, 5121, 16365, 36789, 2941}}, +{9412, 17, 31338, {1, 3, 5, 5, 29, 1, 61, 19, 427, 245, 445, 3505, 3647, 8817, 8031, 64577, 60745}}, +{9413, 17, 31340, {1, 1, 3, 9, 29, 9, 35, 225, 55, 535, 1537, 831, 6483, 16123, 26079, 32809, 62227}}, +{9414, 17, 31345, {1, 3, 7, 7, 25, 33, 15, 61, 343, 749, 1963, 2763, 3171, 6755, 6529, 49449, 88903}}, +{9415, 17, 31355, {1, 1, 7, 13, 17, 35, 91, 119, 87, 1023, 1101, 1785, 2005, 15947, 21679, 63179, 3389}}, +{9416, 17, 31362, {1, 3, 1, 1, 1, 1, 123, 195, 315, 681, 153, 1621, 5097, 3669, 20505, 39305, 127065}}, +{9417, 17, 31371, {1, 1, 5, 11, 1, 17, 73, 251, 185, 59, 1723, 2321, 2103, 6331, 29571, 63811, 66651}}, +{9418, 17, 31373, {1, 1, 7, 13, 15, 19, 111, 91, 211, 85, 711, 2197, 3107, 2717, 16725, 52995, 65791}}, +{9419, 17, 31381, {1, 3, 3, 9, 21, 41, 53, 145, 459, 155, 93, 2833, 6747, 737, 30625, 40581, 65825}}, +{9420, 17, 31391, {1, 3, 3, 3, 1, 45, 119, 81, 185, 431, 1221, 3043, 7277, 10537, 12355, 42261, 126117}}, +{9421, 17, 31409, {1, 3, 7, 7, 11, 47, 37, 41, 123, 643, 707, 2963, 6183, 15527, 10951, 24031, 38187}}, +{9422, 17, 31410, {1, 3, 1, 7, 13, 57, 1, 149, 117, 627, 1999, 2805, 4857, 12805, 31453, 25699, 109447}}, +{9423, 17, 31412, {1, 3, 5, 3, 9, 37, 83, 221, 77, 573, 661, 465, 1279, 7355, 24061, 36151, 96595}}, +{9424, 17, 31434, {1, 1, 7, 15, 29, 31, 125, 205, 449, 563, 1263, 3427, 8013, 14025, 15235, 11833, 25601}}, +{9425, 17, 31458, {1, 3, 7, 11, 31, 35, 99, 193, 163, 527, 1455, 395, 4853, 2561, 11909, 57311, 101007}}, +{9426, 17, 31467, {1, 1, 5, 3, 17, 39, 99, 173, 497, 245, 1671, 3457, 83, 11959, 2963, 3401, 102259}}, +{9427, 17, 31470, {1, 1, 1, 5, 25, 41, 119, 81, 301, 797, 661, 2543, 1195, 2111, 1785, 41533, 51947}}, +{9428, 17, 31475, {1, 3, 3, 13, 5, 59, 61, 153, 213, 541, 1849, 249, 3897, 3877, 17095, 6857, 76781}}, +{9429, 17, 31481, {1, 3, 7, 1, 19, 13, 57, 47, 359, 165, 1085, 2263, 3261, 12825, 17405, 25853, 20731}}, +{9430, 17, 31482, {1, 1, 1, 7, 7, 43, 7, 65, 51, 503, 173, 1023, 283, 14809, 1183, 33497, 110683}}, +{9431, 17, 31484, {1, 3, 5, 11, 19, 51, 29, 157, 159, 191, 1293, 2951, 6569, 12433, 14587, 30631, 30485}}, +{9432, 17, 31492, {1, 3, 7, 5, 1, 27, 25, 221, 255, 471, 779, 3991, 6985, 1803, 28451, 33403, 5567}}, +{9433, 17, 31507, {1, 1, 5, 5, 7, 29, 55, 241, 457, 863, 1715, 3393, 4127, 13985, 6313, 13683, 114837}}, +{9434, 17, 31514, {1, 3, 5, 5, 11, 27, 55, 109, 247, 199, 1593, 2881, 307, 97, 24751, 35921, 121931}}, +{9435, 17, 31538, {1, 3, 1, 13, 3, 59, 17, 161, 47, 467, 1019, 3629, 3017, 15645, 3983, 32393, 79213}}, +{9436, 17, 31547, {1, 1, 3, 11, 19, 57, 67, 199, 319, 107, 2043, 2045, 4025, 5733, 29979, 37721, 117031}}, +{9437, 17, 31549, {1, 3, 7, 11, 9, 23, 31, 81, 177, 801, 1177, 3451, 7777, 15351, 7579, 39033, 23847}}, +{9438, 17, 31555, {1, 1, 3, 5, 17, 61, 63, 7, 371, 905, 1147, 1383, 4075, 6721, 17503, 32015, 112547}}, +{9439, 17, 31557, {1, 1, 3, 13, 13, 25, 69, 159, 49, 133, 227, 2155, 1603, 10077, 3429, 39131, 18949}}, +{9440, 17, 31597, {1, 3, 5, 3, 29, 5, 115, 93, 243, 791, 1113, 2841, 4733, 3041, 31733, 28539, 84567}}, +{9441, 17, 31598, {1, 3, 3, 7, 21, 9, 5, 95, 489, 517, 1453, 2697, 7951, 12369, 19571, 29811, 51805}}, +{9442, 17, 31610, {1, 1, 5, 9, 1, 29, 97, 191, 73, 357, 745, 2787, 7815, 4565, 19761, 33729, 86849}}, +{9443, 17, 31625, {1, 3, 5, 13, 3, 5, 35, 79, 387, 813, 1673, 3187, 337, 5539, 6761, 46903, 122967}}, +{9444, 17, 31634, {1, 1, 7, 11, 1, 15, 125, 175, 255, 35, 145, 2391, 887, 10505, 11587, 53941, 5089}}, +{9445, 17, 31643, {1, 1, 7, 13, 9, 13, 15, 215, 361, 227, 1665, 3345, 3615, 14031, 16281, 4457, 52037}}, +{9446, 17, 31645, {1, 3, 5, 9, 31, 21, 3, 189, 211, 855, 1781, 2097, 1345, 6763, 27651, 54137, 52689}}, +{9447, 17, 31659, {1, 3, 1, 5, 29, 9, 99, 183, 183, 205, 149, 53, 7179, 3387, 9603, 4281, 47145}}, +{9448, 17, 31669, {1, 3, 1, 11, 13, 35, 97, 21, 29, 877, 191, 1621, 2501, 4283, 1707, 48957, 129029}}, +{9449, 17, 31670, {1, 3, 1, 9, 5, 19, 57, 219, 105, 467, 1179, 3155, 7743, 4835, 14845, 35671, 47655}}, +{9450, 17, 31682, {1, 3, 1, 7, 27, 41, 27, 185, 271, 611, 1173, 2875, 529, 11619, 20231, 18741, 41799}}, +{9451, 17, 31694, {1, 3, 7, 13, 9, 3, 35, 71, 467, 689, 1797, 319, 6657, 13193, 15861, 7567, 12891}}, +{9452, 17, 31717, {1, 1, 7, 13, 19, 57, 25, 141, 195, 995, 859, 811, 4685, 6711, 8963, 49657, 54751}}, +{9453, 17, 31718, {1, 1, 1, 11, 27, 25, 9, 91, 97, 251, 757, 2783, 5447, 3617, 26801, 32501, 55245}}, +{9454, 17, 31729, {1, 3, 7, 1, 5, 1, 103, 129, 127, 593, 857, 3957, 3665, 10279, 26211, 2095, 15869}}, +{9455, 17, 31736, {1, 1, 7, 1, 25, 49, 3, 139, 25, 545, 615, 1353, 4103, 1099, 21729, 45383, 110611}}, +{9456, 17, 31742, {1, 3, 5, 3, 7, 49, 83, 41, 209, 357, 939, 849, 5851, 3945, 831, 8131, 105897}}, +{9457, 17, 31749, {1, 1, 1, 3, 27, 19, 123, 71, 195, 1019, 1021, 1287, 5665, 5277, 8647, 27033, 89539}}, +{9458, 17, 31773, {1, 1, 1, 9, 27, 51, 49, 159, 401, 1013, 763, 653, 1449, 12441, 21191, 28871, 106181}}, +{9459, 17, 31777, {1, 1, 5, 7, 31, 7, 105, 137, 331, 367, 1305, 2761, 863, 3915, 12633, 32251, 82867}}, +{9460, 17, 31778, {1, 3, 7, 11, 9, 47, 35, 57, 137, 269, 443, 79, 11, 11817, 28995, 46681, 104263}}, +{9461, 17, 31784, {1, 3, 1, 5, 3, 25, 89, 179, 183, 835, 367, 2215, 295, 5365, 1899, 10785, 88979}}, +{9462, 17, 31801, {1, 3, 7, 13, 3, 5, 93, 43, 409, 363, 267, 2077, 3745, 445, 25957, 34103, 29475}}, +{9463, 17, 31812, {1, 1, 1, 7, 27, 21, 121, 29, 171, 783, 553, 265, 6835, 3929, 18127, 33463, 70999}}, +{9464, 17, 31821, {1, 3, 3, 15, 15, 55, 13, 1, 297, 935, 1307, 1779, 2239, 15471, 32453, 30649, 45973}}, +{9465, 17, 31822, {1, 3, 7, 5, 25, 41, 3, 171, 347, 607, 1873, 1087, 2433, 8377, 7959, 19941, 117319}}, +{9466, 17, 31836, {1, 1, 1, 3, 5, 47, 107, 69, 431, 63, 325, 1241, 3487, 11249, 28559, 30001, 93789}}, +{9467, 17, 31850, {1, 1, 1, 5, 15, 17, 9, 145, 335, 169, 1099, 3637, 5397, 6711, 16095, 27053, 124247}}, +{9468, 17, 31855, {1, 3, 3, 5, 3, 9, 65, 97, 421, 951, 2003, 2837, 7095, 15685, 5147, 56801, 98679}}, +{9469, 17, 31858, {1, 3, 7, 15, 1, 33, 115, 45, 215, 253, 361, 555, 787, 15483, 25531, 53273, 8933}}, +{9470, 17, 31860, {1, 3, 1, 9, 3, 63, 47, 205, 457, 977, 991, 3189, 1369, 14899, 10937, 56999, 11525}}, +{9471, 17, 31886, {1, 1, 7, 5, 11, 61, 53, 55, 231, 357, 1695, 2489, 2355, 7583, 14097, 50039, 96595}}, +{9472, 17, 31891, {1, 3, 7, 7, 3, 57, 115, 245, 259, 573, 1275, 2971, 1793, 13683, 8683, 51815, 26807}}, +{9473, 17, 31909, {1, 1, 5, 3, 17, 59, 55, 237, 491, 757, 1447, 2941, 2641, 14175, 4401, 4367, 36853}}, +{9474, 17, 31928, {1, 3, 1, 15, 3, 63, 67, 1, 403, 79, 1161, 2379, 3337, 14447, 5877, 40759, 12573}}, +{9475, 17, 31931, {1, 1, 7, 15, 17, 1, 91, 5, 173, 215, 1567, 1851, 3309, 9813, 21215, 19151, 96785}}, +{9476, 17, 31934, {1, 1, 1, 9, 31, 45, 123, 221, 397, 51, 1489, 3247, 923, 10423, 10461, 51231, 92909}}, +{9477, 17, 31941, {1, 1, 1, 13, 27, 17, 105, 163, 403, 193, 1487, 2421, 4415, 14303, 6419, 24105, 29997}}, +{9478, 17, 31942, {1, 1, 5, 13, 31, 55, 17, 125, 341, 219, 401, 1611, 891, 12909, 13949, 46245, 26769}}, +{9479, 17, 31945, {1, 3, 7, 3, 31, 41, 65, 207, 311, 643, 1617, 271, 3749, 14635, 26385, 55251, 50719}}, +{9480, 17, 31951, {1, 3, 3, 13, 7, 55, 69, 241, 413, 399, 137, 2255, 5395, 12625, 26583, 64603, 22571}}, +{9481, 17, 31959, {1, 3, 5, 3, 31, 15, 15, 161, 153, 445, 595, 273, 6631, 12845, 23331, 16963, 52099}}, +{9482, 17, 31963, {1, 3, 3, 1, 27, 39, 71, 41, 455, 841, 831, 1719, 3531, 5113, 29183, 1933, 42227}}, +{9483, 17, 31970, {1, 3, 7, 3, 1, 15, 31, 183, 429, 557, 1747, 1059, 2079, 16361, 29103, 43207, 921}}, +{9484, 17, 31984, {1, 3, 1, 1, 31, 39, 97, 73, 339, 405, 1423, 2215, 5435, 9205, 1889, 58249, 61517}}, +{9485, 17, 31987, {1, 3, 7, 1, 23, 59, 127, 245, 11, 627, 1555, 2497, 6427, 7205, 22675, 62847, 69691}}, +{9486, 17, 31990, {1, 1, 3, 5, 1, 13, 95, 9, 167, 481, 947, 3181, 8057, 5559, 7537, 33757, 72419}}, +{9487, 17, 32001, {1, 1, 7, 3, 15, 9, 105, 205, 287, 375, 115, 1731, 1063, 11551, 12077, 41013, 88853}}, +{9488, 17, 32007, {1, 3, 3, 9, 5, 63, 127, 33, 409, 279, 1379, 4069, 4091, 14703, 27435, 19525, 71261}}, +{9489, 17, 32008, {1, 3, 1, 13, 31, 31, 59, 205, 167, 131, 891, 1259, 6909, 211, 31517, 8085, 112065}}, +{9490, 17, 32025, {1, 1, 5, 11, 17, 25, 119, 77, 449, 569, 381, 825, 2459, 983, 2959, 51611, 90721}}, +{9491, 17, 32035, {1, 3, 1, 7, 17, 55, 91, 231, 133, 541, 499, 3609, 4237, 11627, 30007, 58911, 43443}}, +{9492, 17, 32038, {1, 3, 7, 7, 29, 5, 47, 187, 71, 695, 1389, 2855, 5815, 11605, 3643, 24961, 25793}}, +{9493, 17, 32047, {1, 3, 3, 5, 11, 31, 43, 31, 185, 1021, 795, 3585, 3981, 8627, 18117, 42351, 19513}}, +{9494, 17, 32049, {1, 1, 5, 13, 9, 3, 115, 45, 39, 577, 1847, 653, 2625, 9367, 27923, 35661, 113613}}, +{9495, 17, 32062, {1, 3, 7, 7, 17, 9, 69, 233, 367, 673, 11, 2215, 1177, 4501, 9693, 62013, 45647}}, +{9496, 17, 32067, {1, 3, 5, 7, 7, 53, 11, 227, 465, 843, 2017, 689, 6767, 10321, 25163, 56561, 6865}}, +{9497, 17, 32070, {1, 3, 3, 5, 13, 43, 119, 9, 185, 893, 133, 863, 7137, 6653, 7875, 23167, 13893}}, +{9498, 17, 32073, {1, 3, 5, 9, 1, 47, 17, 85, 273, 901, 493, 2411, 983, 15717, 25151, 21323, 57939}}, +{9499, 17, 32074, {1, 1, 7, 5, 19, 17, 49, 37, 425, 443, 781, 2593, 4929, 12313, 12727, 42285, 88451}}, +{9500, 17, 32079, {1, 3, 3, 11, 9, 53, 17, 67, 237, 463, 1509, 2153, 3715, 7909, 21151, 64517, 87695}}, +{9501, 17, 32081, {1, 3, 7, 1, 29, 39, 25, 83, 413, 1005, 2011, 3933, 2911, 7041, 10537, 23135, 22671}}, +{9502, 17, 32082, {1, 1, 3, 9, 23, 61, 117, 33, 431, 181, 1819, 683, 1809, 1723, 27041, 29113, 99347}}, +{9503, 17, 32107, {1, 1, 5, 11, 11, 7, 101, 181, 51, 857, 923, 3495, 7123, 7775, 30081, 48513, 116137}}, +{9504, 17, 32127, {1, 1, 3, 11, 15, 31, 97, 127, 365, 799, 715, 2101, 6081, 11607, 1055, 35027, 62967}}, +{9505, 17, 32145, {1, 3, 5, 7, 3, 31, 109, 247, 225, 221, 1093, 2633, 1847, 7427, 8767, 16581, 32145}}, +{9506, 17, 32151, {1, 3, 1, 7, 15, 23, 43, 109, 327, 417, 1895, 2333, 6265, 6599, 6623, 47375, 92731}}, +{9507, 17, 32152, {1, 3, 7, 1, 29, 29, 45, 217, 163, 941, 1327, 3685, 5481, 15783, 26281, 60339, 34277}}, +{9508, 17, 32173, {1, 1, 7, 11, 1, 7, 119, 201, 29, 193, 1805, 1395, 267, 2011, 637, 26765, 48883}}, +{9509, 17, 32174, {1, 1, 3, 7, 11, 63, 41, 89, 365, 729, 25, 3185, 2143, 1737, 29693, 7443, 78079}}, +{9510, 17, 32186, {1, 3, 1, 13, 25, 27, 63, 233, 79, 1007, 1357, 679, 7581, 8333, 2469, 31787, 128531}}, +{9511, 17, 32194, {1, 3, 1, 3, 23, 39, 53, 99, 219, 475, 931, 507, 3615, 10613, 14663, 1151, 123459}}, +{9512, 17, 32196, {1, 1, 1, 1, 13, 15, 67, 45, 393, 791, 415, 2731, 1151, 8935, 28983, 7239, 106247}}, +{9513, 17, 32200, {1, 3, 7, 7, 11, 35, 95, 153, 421, 193, 1997, 2587, 3183, 9229, 17663, 28221, 6759}}, +{9514, 17, 32208, {1, 3, 1, 7, 5, 5, 123, 55, 509, 973, 261, 463, 2723, 15225, 1925, 62283, 86329}}, +{9515, 17, 32218, {1, 1, 3, 13, 5, 47, 123, 239, 273, 407, 1725, 717, 1229, 1387, 11743, 13739, 104503}}, +{9516, 17, 32236, {1, 3, 3, 13, 23, 35, 43, 113, 299, 847, 1903, 3445, 3395, 641, 11271, 61517, 40747}}, +{9517, 17, 32260, {1, 3, 1, 15, 17, 49, 97, 9, 335, 731, 151, 167, 8129, 11845, 18285, 20113, 122397}}, +{9518, 17, 32263, {1, 1, 5, 11, 11, 63, 3, 153, 345, 511, 1939, 1815, 7231, 10555, 14293, 50753, 14681}}, +{9519, 17, 32288, {1, 3, 7, 5, 21, 31, 127, 223, 241, 783, 887, 3519, 4743, 3541, 4143, 57461, 27791}}, +{9520, 17, 32298, {1, 1, 5, 7, 13, 15, 83, 225, 201, 979, 145, 769, 1491, 12155, 21307, 64877, 113277}}, +{9521, 17, 32315, {1, 1, 7, 1, 27, 25, 105, 69, 239, 323, 1059, 573, 4913, 14215, 27007, 42351, 66315}}, +{9522, 17, 32332, {1, 1, 3, 11, 21, 33, 93, 23, 363, 633, 935, 637, 6171, 12695, 14077, 17505, 69681}}, +{9523, 17, 32340, {1, 3, 1, 5, 15, 11, 93, 211, 175, 377, 33, 1403, 5097, 1503, 8483, 2881, 85877}}, +{9524, 17, 32354, {1, 1, 5, 3, 5, 51, 5, 255, 429, 661, 625, 3015, 4813, 3573, 22917, 45967, 70559}}, +{9525, 17, 32359, {1, 1, 7, 3, 11, 41, 3, 197, 181, 897, 767, 1385, 7395, 15543, 4655, 40309, 73169}}, +{9526, 17, 32366, {1, 1, 5, 9, 15, 35, 71, 119, 509, 817, 1169, 75, 1337, 2959, 611, 38243, 46987}}, +{9527, 17, 32368, {1, 1, 1, 9, 1, 7, 43, 65, 479, 625, 1685, 1309, 5619, 14163, 13633, 18169, 8311}}, +{9528, 17, 32377, {1, 3, 5, 9, 19, 39, 95, 105, 273, 1023, 79, 229, 6895, 2931, 5717, 27911, 22139}}, +{9529, 17, 32384, {1, 3, 5, 7, 1, 55, 15, 15, 297, 731, 2029, 2789, 11, 1333, 26571, 62595, 15131}}, +{9530, 17, 32399, {1, 1, 5, 7, 29, 35, 3, 125, 381, 709, 2047, 2395, 6315, 2301, 7175, 19857, 75085}}, +{9531, 17, 32417, {1, 1, 5, 15, 23, 45, 95, 117, 49, 635, 1525, 1105, 7335, 4653, 18159, 29729, 62627}}, +{9532, 17, 32424, {1, 3, 3, 11, 29, 19, 29, 169, 141, 243, 1765, 1829, 4555, 16299, 3053, 58933, 44605}}, +{9533, 17, 32427, {1, 1, 3, 15, 5, 45, 35, 213, 385, 993, 1521, 9, 3561, 10497, 12601, 38163, 86501}}, +{9534, 17, 32429, {1, 3, 3, 13, 9, 23, 109, 95, 491, 1003, 473, 3325, 6577, 14617, 17765, 33391, 82927}}, +{9535, 17, 32438, {1, 3, 3, 11, 25, 31, 93, 111, 231, 71, 1233, 3581, 6789, 4569, 16741, 61967, 32249}}, +{9536, 17, 32442, {1, 3, 3, 15, 15, 63, 39, 247, 79, 923, 327, 2639, 2013, 12325, 18133, 60623, 2215}}, +{9537, 17, 32447, {1, 3, 5, 1, 5, 49, 121, 53, 283, 529, 37, 3233, 6285, 12447, 4355, 9343, 45631}}, +{9538, 17, 32469, {1, 1, 7, 11, 11, 11, 111, 139, 429, 279, 1019, 2139, 2033, 6809, 8847, 22535, 107005}}, +{9539, 17, 32479, {1, 3, 5, 1, 1, 21, 35, 97, 167, 57, 491, 511, 4065, 11699, 16851, 6847, 40929}}, +{9540, 17, 32483, {1, 3, 1, 15, 3, 55, 113, 33, 255, 537, 835, 1867, 3927, 839, 955, 29079, 93727}}, +{9541, 17, 32498, {1, 1, 7, 3, 5, 7, 35, 111, 165, 885, 115, 3051, 4541, 1701, 22827, 361, 91843}}, +{9542, 17, 32503, {1, 1, 7, 11, 7, 55, 81, 43, 237, 725, 1761, 1599, 639, 14189, 31241, 52827, 107943}}, +{9543, 17, 32507, {1, 3, 1, 3, 29, 35, 67, 119, 369, 877, 1861, 123, 8121, 13861, 31155, 60245, 79799}}, +{9544, 17, 32521, {1, 1, 3, 13, 7, 49, 63, 19, 253, 723, 639, 1677, 291, 13697, 22231, 46893, 90069}}, +{9545, 17, 32532, {1, 3, 5, 1, 7, 57, 29, 233, 35, 715, 515, 3221, 2715, 13839, 18321, 4445, 103843}}, +{9546, 17, 32539, {1, 3, 1, 7, 1, 63, 33, 7, 481, 461, 1923, 2679, 2441, 5449, 13233, 2245, 48667}}, +{9547, 17, 32551, {1, 1, 7, 11, 11, 9, 95, 151, 441, 333, 1871, 1181, 3027, 12887, 11923, 63847, 6953}}, +{9548, 17, 32572, {1, 3, 5, 5, 15, 33, 53, 47, 351, 387, 55, 393, 5475, 3027, 18565, 37997, 120877}}, +{9549, 17, 32577, {1, 3, 5, 9, 23, 43, 67, 97, 445, 783, 1499, 1977, 1441, 10159, 13479, 149, 4939}}, +{9550, 17, 32578, {1, 3, 7, 3, 15, 41, 119, 55, 139, 25, 849, 857, 53, 10421, 2683, 24839, 107797}}, +{9551, 17, 32587, {1, 1, 7, 13, 25, 51, 51, 13, 333, 93, 95, 1755, 3055, 12585, 3519, 44857, 11257}}, +{9552, 17, 32592, {1, 1, 5, 11, 29, 55, 13, 235, 419, 327, 823, 2675, 8031, 9303, 8749, 20215, 12111}}, +{9553, 17, 32602, {1, 1, 3, 5, 7, 31, 103, 19, 467, 255, 583, 419, 2845, 12179, 63, 51693, 9755}}, +{9554, 17, 32604, {1, 1, 1, 13, 15, 29, 109, 81, 381, 659, 601, 3867, 7663, 7307, 16445, 56327, 48559}}, +{9555, 17, 32613, {1, 3, 3, 15, 31, 35, 29, 153, 423, 247, 55, 3259, 6199, 4199, 13931, 14433, 52645}}, +{9556, 17, 32625, {1, 1, 5, 11, 9, 17, 17, 191, 231, 977, 721, 2817, 2485, 4965, 32341, 55131, 4547}}, +{9557, 17, 32631, {1, 1, 7, 7, 7, 7, 89, 69, 299, 503, 597, 311, 1321, 2335, 30193, 45347, 126631}}, +{9558, 17, 32641, {1, 1, 7, 11, 13, 43, 105, 153, 89, 229, 1573, 1549, 3699, 15981, 28911, 45011, 83759}}, +{9559, 17, 32642, {1, 3, 7, 3, 1, 3, 121, 137, 263, 325, 1449, 3793, 5795, 7715, 7449, 26453, 85081}}, +{9560, 17, 32644, {1, 3, 1, 7, 23, 15, 39, 217, 99, 873, 1641, 1411, 4627, 283, 20707, 41795, 62239}}, +{9561, 17, 32656, {1, 3, 5, 9, 15, 15, 35, 255, 501, 945, 79, 799, 2361, 4495, 27825, 27699, 129335}}, +{9562, 17, 32678, {1, 3, 1, 7, 9, 19, 89, 31, 65, 905, 1475, 1353, 7253, 12825, 20723, 47757, 12007}}, +{9563, 17, 32681, {1, 1, 3, 3, 15, 35, 83, 239, 463, 835, 1249, 2521, 3429, 14073, 13569, 6161, 71309}}, +{9564, 17, 32701, {1, 1, 7, 11, 31, 43, 15, 57, 461, 917, 339, 3787, 2925, 1879, 7217, 17091, 108819}}, +{9565, 17, 32713, {1, 3, 7, 3, 17, 51, 29, 105, 221, 941, 1291, 835, 1563, 15623, 2953, 62985, 63037}}, +{9566, 17, 32721, {1, 1, 7, 3, 1, 39, 83, 41, 399, 465, 587, 2011, 137, 6017, 5067, 52389, 71053}}, +{9567, 17, 32727, {1, 1, 7, 11, 17, 55, 103, 239, 173, 181, 1219, 2671, 5183, 3799, 19589, 31247, 68889}}, +{9568, 17, 32731, {1, 1, 3, 3, 21, 43, 123, 253, 281, 627, 353, 3077, 1685, 12143, 19723, 57775, 70761}}, +{9569, 17, 32734, {1, 1, 7, 15, 31, 13, 101, 159, 311, 305, 1783, 3523, 149, 9269, 7103, 40315, 30569}}, +{9570, 17, 32740, {1, 1, 5, 3, 29, 47, 11, 219, 301, 207, 1361, 563, 7831, 14469, 18983, 54535, 64647}}, +{9571, 17, 32773, {1, 1, 3, 15, 11, 37, 85, 237, 225, 1009, 1065, 985, 6849, 5395, 22853, 43965, 51363}}, +{9572, 17, 32774, {1, 3, 3, 1, 11, 61, 45, 131, 201, 609, 757, 2539, 3817, 9309, 24759, 26789, 41437}}, +{9573, 17, 32785, {1, 1, 7, 3, 21, 5, 19, 137, 75, 573, 583, 2499, 41, 3429, 24273, 36711, 110015}}, +{9574, 17, 32788, {1, 3, 7, 9, 1, 51, 39, 75, 115, 269, 1983, 2709, 6989, 6521, 5551, 43675, 1019}}, +{9575, 17, 32792, {1, 1, 3, 9, 27, 1, 125, 7, 67, 821, 275, 1253, 4635, 3557, 4155, 13831, 1523}}, +{9576, 17, 32797, {1, 1, 5, 15, 23, 15, 79, 43, 275, 791, 1867, 2495, 2933, 2167, 22819, 52913, 88871}}, +{9577, 17, 32801, {1, 1, 1, 5, 31, 59, 27, 153, 159, 919, 219, 3373, 3227, 6321, 27559, 33905, 126145}}, +{9578, 17, 32811, {1, 3, 3, 13, 23, 21, 119, 175, 119, 741, 1745, 3985, 3847, 5163, 13699, 32373, 75201}}, +{9579, 17, 32821, {1, 3, 7, 15, 1, 47, 101, 89, 425, 269, 713, 3587, 3373, 13315, 16481, 40031, 50353}}, +{9580, 17, 32828, {1, 3, 7, 3, 19, 29, 5, 69, 385, 979, 1893, 1849, 8007, 14415, 18343, 60555, 109117}}, +{9581, 17, 32839, {1, 1, 3, 13, 5, 35, 111, 239, 489, 395, 1565, 1607, 543, 89, 8971, 22311, 899}}, +{9582, 17, 32854, {1, 1, 7, 7, 11, 51, 105, 211, 341, 85, 991, 1275, 3995, 12611, 2363, 29501, 44217}}, +{9583, 17, 32867, {1, 1, 5, 13, 9, 17, 93, 69, 145, 917, 469, 1109, 7405, 12903, 8341, 50383, 20133}}, +{9584, 17, 32870, {1, 3, 1, 7, 27, 45, 45, 85, 101, 161, 1117, 2757, 7847, 359, 17155, 27073, 123535}}, +{9585, 17, 32873, {1, 3, 1, 3, 9, 11, 67, 205, 109, 257, 1635, 141, 3969, 11571, 211, 48683, 108671}}, +{9586, 17, 32881, {1, 1, 3, 7, 13, 9, 29, 251, 113, 851, 1549, 981, 5553, 6095, 28885, 32953, 112563}}, +{9587, 17, 32891, {1, 1, 5, 7, 11, 5, 13, 83, 343, 499, 587, 3887, 3859, 11459, 7361, 25665, 86151}}, +{9588, 17, 32900, {1, 1, 5, 1, 13, 43, 3, 37, 273, 749, 1707, 2069, 3083, 1095, 3081, 23919, 21939}}, +{9589, 17, 32903, {1, 3, 5, 13, 13, 49, 115, 99, 357, 95, 699, 2615, 1911, 12675, 8607, 12535, 118651}}, +{9590, 17, 32910, {1, 1, 7, 7, 29, 43, 17, 131, 271, 895, 1427, 3659, 1843, 8247, 1175, 48239, 54435}}, +{9591, 17, 32917, {1, 1, 1, 9, 1, 27, 85, 163, 353, 669, 745, 317, 2505, 7685, 14831, 31131, 106687}}, +{9592, 17, 32922, {1, 1, 7, 9, 1, 23, 121, 53, 289, 651, 303, 3049, 6819, 6733, 17485, 20023, 110009}}, +{9593, 17, 32928, {1, 3, 7, 3, 5, 47, 93, 75, 363, 479, 825, 1801, 6807, 3341, 6419, 9889, 5557}}, +{9594, 17, 32945, {1, 1, 3, 15, 23, 5, 7, 25, 73, 811, 1597, 2041, 6707, 6817, 20427, 50749, 46255}}, +{9595, 17, 32946, {1, 3, 7, 9, 1, 11, 61, 63, 435, 977, 1937, 93, 2685, 643, 20113, 25873, 63829}}, +{9596, 17, 32951, {1, 1, 3, 15, 5, 41, 31, 53, 143, 271, 27, 3899, 5045, 1063, 17229, 52715, 67689}}, +{9597, 17, 32958, {1, 1, 3, 11, 1, 57, 121, 13, 291, 861, 1547, 3899, 7949, 15401, 29807, 52307, 104359}}, +{9598, 17, 32965, {1, 3, 5, 15, 23, 3, 95, 43, 377, 437, 1687, 3075, 5131, 11791, 3637, 12621, 105575}}, +{9599, 17, 32978, {1, 3, 1, 3, 27, 1, 117, 11, 153, 401, 1971, 2097, 3227, 14603, 4757, 56281, 112263}}, +{9600, 17, 32980, {1, 3, 3, 5, 13, 25, 51, 209, 367, 327, 1941, 1943, 1347, 14393, 31997, 16001, 129047}}, +{9601, 17, 32983, {1, 1, 5, 11, 19, 51, 109, 229, 71, 923, 1741, 1193, 4657, 6043, 26703, 17757, 75009}}, +{9602, 17, 32987, {1, 1, 7, 3, 23, 3, 125, 165, 137, 999, 1583, 3493, 859, 15603, 7143, 28791, 28201}}, +{9603, 17, 33023, {1, 1, 5, 11, 29, 57, 65, 41, 295, 729, 635, 1871, 6347, 3509, 59, 40765, 42673}}, +{9604, 17, 33031, {1, 3, 3, 3, 15, 59, 53, 97, 15, 131, 891, 1105, 841, 6065, 14427, 4721, 106433}}, +{9605, 17, 33032, {1, 1, 1, 7, 19, 37, 101, 121, 141, 613, 1363, 691, 1731, 12477, 8339, 55669, 99379}}, +{9606, 17, 33035, {1, 3, 5, 13, 17, 49, 75, 25, 447, 113, 1853, 3465, 5225, 4531, 14287, 1039, 17399}}, +{9607, 17, 33038, {1, 3, 5, 3, 3, 49, 101, 79, 117, 939, 1161, 1991, 2343, 7183, 12599, 52877, 94337}}, +{9608, 17, 33040, {1, 3, 1, 1, 19, 47, 73, 195, 475, 435, 1807, 2723, 7885, 15469, 26057, 37325, 57005}}, +{9609, 17, 33043, {1, 1, 1, 11, 17, 7, 111, 143, 357, 977, 719, 553, 4559, 7225, 10405, 26895, 8385}}, +{9610, 17, 33050, {1, 3, 3, 9, 17, 5, 1, 73, 125, 913, 1275, 2387, 5153, 13611, 20585, 8465, 27545}}, +{9611, 17, 33059, {1, 1, 7, 5, 27, 51, 107, 147, 503, 699, 851, 1729, 2875, 16331, 28025, 26451, 92705}}, +{9612, 17, 33080, {1, 1, 5, 9, 3, 37, 21, 139, 13, 427, 225, 1345, 2491, 15495, 25847, 3095, 128879}}, +{9613, 17, 33098, {1, 1, 3, 11, 7, 47, 113, 133, 99, 871, 1151, 1953, 7931, 6389, 28715, 36861, 60017}}, +{9614, 17, 33108, {1, 1, 7, 1, 21, 47, 35, 83, 137, 945, 2047, 3491, 3719, 3001, 20563, 51243, 14491}}, +{9615, 17, 33115, {1, 1, 5, 15, 1, 13, 85, 61, 479, 853, 813, 805, 4931, 12651, 22757, 29531, 92861}}, +{9616, 17, 33117, {1, 3, 7, 7, 27, 63, 31, 169, 43, 185, 637, 729, 7231, 2381, 23539, 53885, 90215}}, +{9617, 17, 33133, {1, 1, 3, 13, 5, 51, 69, 111, 357, 277, 1889, 3809, 8031, 13341, 14261, 34001, 63317}}, +{9618, 17, 33134, {1, 1, 7, 3, 11, 59, 1, 43, 227, 503, 1407, 3917, 7077, 847, 4513, 53007, 66721}}, +{9619, 17, 33157, {1, 1, 5, 11, 15, 25, 109, 169, 25, 391, 597, 2997, 2377, 9045, 15239, 25291, 5451}}, +{9620, 17, 33169, {1, 3, 3, 11, 15, 11, 1, 59, 347, 707, 239, 2473, 8057, 4787, 32247, 17955, 79151}}, +{9621, 17, 33170, {1, 3, 7, 11, 9, 59, 9, 117, 137, 713, 451, 1105, 4485, 14979, 26271, 46017, 89211}}, +{9622, 17, 33176, {1, 3, 3, 3, 3, 19, 95, 131, 413, 291, 1179, 3265, 7107, 10419, 13527, 19905, 8059}}, +{9623, 17, 33182, {1, 3, 7, 9, 29, 43, 19, 243, 443, 27, 1401, 3469, 6925, 2833, 19715, 39667, 11983}}, +{9624, 17, 33192, {1, 3, 3, 7, 23, 33, 115, 59, 29, 61, 1085, 1115, 4007, 12673, 26479, 22397, 95609}}, +{9625, 17, 33205, {1, 3, 3, 5, 1, 47, 43, 83, 21, 621, 59, 1, 891, 12285, 31855, 48641, 52479}}, +{9626, 17, 33212, {1, 3, 3, 5, 3, 9, 17, 181, 15, 315, 1705, 2461, 1853, 14007, 17665, 40593, 126179}}, +{9627, 17, 33215, {1, 3, 5, 3, 3, 23, 83, 163, 29, 293, 1891, 2631, 2989, 7295, 2441, 21689, 8187}}, +{9628, 17, 33217, {1, 3, 1, 1, 1, 23, 53, 215, 185, 843, 1083, 2603, 3857, 4981, 25079, 20249, 93717}}, +{9629, 17, 33227, {1, 3, 5, 11, 7, 61, 127, 13, 449, 395, 1909, 3967, 2441, 3073, 8159, 33979, 26345}}, +{9630, 17, 33229, {1, 1, 5, 1, 15, 5, 93, 87, 319, 173, 1729, 1395, 1019, 5139, 10819, 29877, 81025}}, +{9631, 17, 33238, {1, 3, 3, 7, 17, 55, 61, 227, 299, 245, 849, 211, 895, 2999, 18215, 37069, 32821}}, +{9632, 17, 33241, {1, 1, 5, 3, 17, 49, 115, 55, 447, 533, 1463, 2983, 3245, 9345, 11955, 49145, 128035}}, +{9633, 17, 33260, {1, 3, 1, 7, 5, 17, 61, 71, 101, 529, 1761, 827, 7887, 5713, 31039, 18087, 82277}}, +{9634, 17, 33271, {1, 3, 1, 11, 27, 59, 1, 231, 303, 431, 1279, 3647, 1333, 3675, 29401, 55533, 65997}}, +{9635, 17, 33278, {1, 1, 5, 9, 7, 9, 111, 245, 269, 919, 1147, 1601, 6219, 4931, 3035, 12231, 4011}}, +{9636, 17, 33293, {1, 3, 5, 15, 3, 19, 83, 25, 129, 979, 79, 3027, 3983, 7703, 16859, 12085, 83115}}, +{9637, 17, 33294, {1, 1, 5, 11, 31, 41, 99, 3, 383, 943, 1579, 2435, 1209, 161, 31733, 11755, 95697}}, +{9638, 17, 33296, {1, 1, 1, 9, 9, 55, 115, 187, 499, 165, 1081, 813, 2545, 8065, 10501, 15475, 85107}}, +{9639, 17, 33302, {1, 1, 1, 3, 1, 31, 81, 213, 301, 575, 605, 543, 3347, 12759, 21645, 37173, 36127}}, +{9640, 17, 33305, {1, 3, 3, 9, 21, 29, 51, 91, 307, 617, 1839, 443, 1013, 4473, 3885, 57669, 123271}}, +{9641, 17, 33329, {1, 3, 1, 15, 31, 43, 83, 187, 51, 513, 1505, 3895, 3557, 9527, 27537, 6173, 99595}}, +{9642, 17, 33330, {1, 3, 3, 1, 3, 53, 113, 27, 431, 505, 219, 2143, 6691, 3219, 9589, 9885, 24037}}, +{9643, 17, 33332, {1, 1, 5, 9, 13, 3, 53, 145, 49, 411, 691, 289, 6443, 4963, 13815, 23663, 95497}}, +{9644, 17, 33354, {1, 3, 5, 9, 19, 7, 53, 101, 199, 69, 1821, 3233, 3267, 5947, 4869, 30095, 21255}}, +{9645, 17, 33383, {1, 1, 5, 11, 29, 7, 79, 11, 451, 585, 987, 2333, 1891, 1853, 14739, 34399, 62895}}, +{9646, 17, 33387, {1, 3, 1, 7, 29, 43, 103, 219, 139, 359, 1663, 3453, 7469, 1943, 11457, 19227, 62211}}, +{9647, 17, 33397, {1, 3, 3, 11, 9, 47, 17, 237, 87, 881, 583, 3473, 2579, 975, 1531, 50997, 76219}}, +{9648, 17, 33408, {1, 1, 7, 15, 31, 37, 79, 115, 95, 515, 2003, 2595, 4077, 4537, 9171, 31183, 41219}}, +{9649, 17, 33417, {1, 1, 1, 9, 21, 41, 93, 33, 211, 341, 233, 2217, 6657, 12913, 8329, 3881, 42563}}, +{9650, 17, 33420, {1, 3, 3, 11, 25, 3, 23, 197, 49, 339, 877, 1117, 7817, 14143, 1575, 50301, 92367}}, +{9651, 17, 33423, {1, 3, 5, 5, 19, 45, 69, 179, 447, 861, 1633, 1941, 5821, 1843, 4085, 23501, 109047}}, +{9652, 17, 33431, {1, 3, 1, 3, 31, 29, 49, 183, 311, 133, 345, 1541, 111, 5571, 1943, 11039, 127673}}, +{9653, 17, 33438, {1, 3, 1, 5, 3, 13, 63, 5, 59, 789, 71, 3271, 3871, 9105, 22525, 31, 117803}}, +{9654, 17, 33442, {1, 3, 1, 13, 31, 43, 97, 133, 313, 729, 287, 2971, 5623, 13183, 15179, 47271, 28853}}, +{9655, 17, 33444, {1, 1, 3, 13, 27, 15, 35, 37, 507, 139, 1933, 2847, 361, 10261, 21031, 3889, 56875}}, +{9656, 17, 33448, {1, 3, 1, 15, 31, 13, 45, 73, 279, 331, 471, 3881, 3295, 12035, 28329, 899, 47397}}, +{9657, 17, 33456, {1, 1, 3, 13, 1, 7, 81, 255, 315, 595, 43, 3919, 5229, 7953, 25711, 19509, 107181}}, +{9658, 17, 33459, {1, 1, 3, 15, 7, 33, 117, 169, 71, 577, 629, 3665, 7761, 13529, 26375, 17181, 22125}}, +{9659, 17, 33466, {1, 3, 5, 7, 5, 7, 1, 93, 489, 289, 329, 2273, 685, 14835, 11433, 26041, 112735}}, +{9660, 17, 33473, {1, 3, 3, 3, 9, 39, 45, 23, 171, 35, 571, 551, 7815, 6169, 24283, 61477, 71877}}, +{9661, 17, 33476, {1, 1, 5, 7, 23, 15, 81, 215, 297, 269, 655, 2059, 3643, 12741, 11955, 41085, 46047}}, +{9662, 17, 33491, {1, 1, 7, 5, 3, 35, 125, 141, 419, 137, 1031, 2053, 7925, 7267, 6267, 34323, 77495}}, +{9663, 17, 33494, {1, 1, 7, 11, 3, 57, 91, 43, 139, 691, 1569, 1825, 7855, 1093, 19263, 31601, 16019}}, +{9664, 17, 33507, {1, 3, 1, 5, 21, 7, 11, 225, 105, 757, 1493, 455, 4757, 12007, 5139, 3545, 79717}}, +{9665, 17, 33514, {1, 3, 1, 13, 17, 29, 125, 249, 475, 79, 1271, 341, 863, 853, 2105, 32897, 121261}}, +{9666, 17, 33521, {1, 3, 1, 11, 17, 59, 3, 29, 61, 399, 1465, 4029, 2103, 12481, 28495, 34363, 63781}}, +{9667, 17, 33528, {1, 3, 3, 15, 29, 13, 101, 191, 435, 215, 1355, 2263, 6059, 4545, 7535, 15041, 84091}}, +{9668, 17, 33534, {1, 1, 3, 9, 29, 23, 99, 55, 91, 145, 235, 2847, 725, 209, 24565, 16545, 103669}}, +{9669, 17, 33536, {1, 1, 1, 1, 31, 15, 93, 197, 207, 357, 667, 3511, 3865, 5329, 6491, 9027, 125979}}, +{9670, 17, 33551, {1, 3, 3, 13, 17, 35, 99, 187, 153, 589, 1633, 4053, 1023, 9541, 9841, 39585, 24885}}, +{9671, 17, 33554, {1, 3, 7, 11, 23, 5, 71, 89, 455, 665, 1221, 1821, 591, 11459, 503, 56777, 65691}}, +{9672, 17, 33563, {1, 3, 1, 1, 9, 33, 51, 203, 223, 709, 1263, 3535, 7753, 8279, 8673, 60259, 2671}}, +{9673, 17, 33575, {1, 1, 7, 9, 17, 63, 5, 229, 495, 435, 1711, 3359, 399, 15901, 28519, 56627, 8079}}, +{9674, 17, 33579, {1, 3, 5, 11, 9, 25, 49, 143, 275, 989, 461, 447, 1917, 9253, 28421, 1803, 119725}}, +{9675, 17, 33582, {1, 3, 3, 7, 25, 3, 39, 171, 303, 905, 1353, 2561, 7347, 7339, 15271, 61945, 26343}}, +{9676, 17, 33601, {1, 1, 1, 3, 5, 63, 9, 229, 107, 815, 1705, 3621, 2345, 3065, 16315, 17017, 33667}}, +{9677, 17, 33602, {1, 3, 5, 13, 29, 13, 91, 111, 475, 561, 443, 3825, 5331, 11211, 27639, 28305, 101831}}, +{9678, 17, 33614, {1, 3, 1, 9, 15, 33, 17, 47, 249, 89, 429, 3819, 1959, 14317, 10737, 28151, 40395}}, +{9679, 17, 33625, {1, 3, 7, 13, 19, 29, 83, 81, 511, 783, 823, 2865, 5823, 9459, 27413, 63297, 44181}}, +{9680, 17, 33628, {1, 3, 1, 1, 19, 53, 45, 227, 193, 631, 289, 1227, 6241, 6915, 16051, 31237, 50201}}, +{9681, 17, 33637, {1, 3, 7, 7, 15, 49, 77, 147, 421, 515, 927, 1561, 4391, 12943, 6807, 36889, 70249}}, +{9682, 17, 33656, {1, 3, 7, 7, 17, 15, 63, 123, 101, 283, 59, 977, 5185, 16161, 5007, 36255, 11537}}, +{9683, 17, 33665, {1, 1, 7, 1, 13, 17, 79, 35, 193, 947, 767, 1365, 2145, 13267, 30561, 51949, 37591}}, +{9684, 17, 33683, {1, 1, 1, 13, 11, 13, 91, 129, 355, 549, 295, 673, 209, 15953, 14703, 30857, 47967}}, +{9685, 17, 33695, {1, 3, 5, 9, 17, 17, 83, 161, 189, 585, 21, 1019, 4879, 15943, 17281, 46013, 94839}}, +{9686, 17, 33696, {1, 3, 5, 9, 23, 39, 65, 25, 181, 3, 2005, 635, 201, 9391, 8755, 38535, 88697}}, +{9687, 17, 33702, {1, 3, 1, 15, 13, 35, 47, 125, 429, 901, 895, 3495, 327, 397, 7847, 62157, 3489}}, +{9688, 17, 33708, {1, 3, 5, 3, 19, 21, 81, 39, 85, 169, 1981, 3323, 113, 2057, 16617, 58051, 55059}}, +{9689, 17, 33711, {1, 3, 1, 13, 9, 1, 101, 81, 129, 717, 1495, 4077, 5555, 93, 12957, 14805, 110219}}, +{9690, 17, 33716, {1, 3, 5, 5, 5, 47, 107, 111, 387, 987, 2009, 179, 1111, 3443, 25579, 12293, 123035}}, +{9691, 17, 33728, {1, 1, 7, 13, 21, 25, 33, 211, 9, 783, 1785, 2691, 6835, 2867, 22469, 17853, 90685}}, +{9692, 17, 33737, {1, 1, 3, 3, 19, 57, 59, 203, 197, 347, 553, 1361, 7593, 91, 15303, 30045, 86605}}, +{9693, 17, 33761, {1, 3, 5, 7, 29, 23, 1, 235, 159, 277, 1227, 1727, 1853, 9717, 2377, 13597, 18119}}, +{9694, 17, 33774, {1, 1, 1, 11, 15, 29, 5, 15, 349, 685, 197, 3127, 1075, 8847, 27873, 539, 57149}}, +{9695, 17, 33782, {1, 1, 7, 9, 23, 25, 121, 239, 219, 747, 1981, 2683, 5319, 75, 22569, 29697, 27627}}, +{9696, 17, 33788, {1, 3, 7, 5, 31, 43, 95, 131, 423, 547, 1437, 127, 1953, 861, 839, 54503, 20465}}, +{9697, 17, 33791, {1, 1, 5, 3, 29, 29, 71, 237, 275, 493, 513, 4067, 393, 9415, 20511, 29257, 86267}}, +{9698, 17, 33793, {1, 1, 1, 1, 25, 11, 59, 185, 211, 175, 37, 2999, 4919, 10225, 16727, 60447, 59985}}, +{9699, 17, 33811, {1, 1, 3, 3, 1, 9, 69, 195, 197, 677, 229, 599, 5613, 4537, 5495, 58801, 14297}}, +{9700, 17, 33813, {1, 3, 1, 15, 17, 23, 5, 101, 331, 943, 1433, 2199, 313, 469, 3651, 3281, 100119}}, +{9701, 17, 33818, {1, 1, 5, 15, 13, 25, 87, 45, 229, 821, 59, 761, 6259, 15159, 3197, 39763, 87301}}, +{9702, 17, 33829, {1, 3, 5, 7, 19, 21, 89, 15, 19, 623, 603, 4069, 3531, 13353, 21267, 6355, 53821}}, +{9703, 17, 33842, {1, 1, 5, 9, 13, 13, 111, 77, 439, 599, 1577, 959, 4567, 3117, 7127, 49265, 35667}}, +{9704, 17, 33854, {1, 3, 7, 9, 27, 61, 1, 19, 43, 475, 221, 655, 4351, 15827, 30489, 22245, 41077}}, +{9705, 17, 33856, {1, 1, 3, 13, 17, 17, 111, 85, 253, 11, 367, 2349, 4103, 12517, 27037, 42481, 84451}}, +{9706, 17, 33868, {1, 3, 5, 7, 7, 25, 53, 27, 429, 503, 893, 2923, 2539, 15849, 30157, 12111, 108893}}, +{9707, 17, 33879, {1, 1, 7, 9, 13, 29, 51, 113, 273, 745, 759, 263, 3031, 705, 23203, 64245, 127183}}, +{9708, 17, 33885, {1, 1, 1, 9, 29, 5, 25, 165, 261, 319, 645, 2199, 3135, 10263, 10711, 18713, 63337}}, +{9709, 17, 33886, {1, 1, 5, 1, 23, 41, 43, 71, 365, 683, 1107, 1671, 7079, 8933, 12815, 8095, 97955}}, +{9710, 17, 33892, {1, 3, 1, 15, 9, 43, 105, 217, 131, 299, 1459, 1087, 3493, 15297, 11741, 43383, 35021}}, +{9711, 17, 33907, {1, 3, 1, 3, 3, 57, 69, 7, 73, 977, 1163, 3591, 243, 13129, 23247, 20609, 22489}}, +{9712, 17, 33913, {1, 3, 7, 5, 1, 57, 65, 27, 121, 575, 903, 3527, 5601, 5597, 1941, 60079, 88121}}, +{9713, 17, 33923, {1, 3, 1, 3, 15, 3, 23, 87, 233, 389, 1671, 1557, 4825, 1017, 17697, 26735, 53421}}, +{9714, 17, 33925, {1, 3, 5, 3, 5, 43, 61, 249, 273, 251, 1383, 2415, 1061, 12363, 3071, 23785, 127909}}, +{9715, 17, 33935, {1, 3, 3, 13, 5, 63, 15, 165, 353, 603, 1627, 2037, 487, 11603, 719, 54693, 52645}}, +{9716, 17, 33937, {1, 3, 5, 11, 31, 41, 41, 83, 481, 251, 1903, 2655, 5237, 6073, 20201, 14069, 91649}}, +{9717, 17, 33954, {1, 3, 1, 15, 21, 41, 99, 61, 55, 63, 1595, 1805, 7625, 12261, 23275, 43471, 5147}}, +{9718, 17, 33963, {1, 3, 1, 5, 23, 21, 71, 169, 197, 51, 1653, 3053, 4663, 293, 12751, 15641, 83993}}, +{9719, 17, 33966, {1, 3, 5, 15, 29, 45, 55, 199, 275, 103, 1093, 3569, 5997, 9445, 2291, 30973, 68589}}, +{9720, 17, 33977, {1, 3, 5, 7, 15, 3, 15, 3, 287, 961, 1759, 1153, 7613, 9885, 8981, 5109, 112865}}, +{9721, 17, 33978, {1, 1, 1, 9, 1, 37, 111, 61, 309, 581, 875, 2121, 1035, 4345, 1351, 59743, 34955}}, +{9722, 17, 33991, {1, 3, 7, 7, 11, 23, 51, 235, 23, 697, 991, 1995, 3615, 6665, 15885, 18555, 11711}}, +{9723, 17, 33998, {1, 3, 7, 13, 3, 59, 87, 129, 405, 689, 1189, 2071, 877, 12347, 18381, 28367, 27247}}, +{9724, 17, 34012, {1, 1, 1, 9, 23, 29, 113, 71, 479, 421, 215, 1029, 6125, 13575, 10823, 45303, 3153}}, +{9725, 17, 34016, {1, 1, 3, 11, 13, 5, 31, 29, 279, 597, 791, 319, 1391, 14487, 3811, 36913, 11513}}, +{9726, 17, 34025, {1, 3, 7, 11, 9, 11, 55, 167, 69, 519, 1887, 145, 6133, 1307, 14465, 17419, 18319}}, +{9727, 17, 34033, {1, 1, 3, 1, 29, 25, 57, 75, 19, 187, 1591, 421, 959, 7499, 8377, 42811, 53423}}, +{9728, 17, 34036, {1, 3, 1, 3, 7, 9, 73, 217, 383, 755, 1561, 3923, 3891, 16129, 13195, 62097, 67493}}, +{9729, 17, 34045, {1, 3, 7, 9, 5, 7, 47, 29, 319, 243, 405, 2867, 5803, 2273, 4913, 54777, 88301}}, +{9730, 17, 34065, {1, 3, 7, 1, 25, 11, 51, 183, 387, 863, 39, 2119, 2395, 10175, 20833, 3235, 108197}}, +{9731, 17, 34078, {1, 1, 7, 13, 25, 43, 21, 67, 103, 709, 603, 1045, 7079, 8867, 29039, 61499, 39533}}, +{9732, 17, 34093, {1, 1, 7, 5, 7, 55, 77, 115, 409, 287, 1149, 1535, 7459, 5525, 27129, 43659, 86953}}, +{9733, 17, 34101, {1, 3, 5, 3, 21, 41, 47, 147, 267, 473, 1501, 2663, 5381, 41, 18265, 53845, 16039}}, +{9734, 17, 34108, {1, 1, 7, 15, 27, 63, 95, 103, 169, 1, 133, 3103, 7539, 5765, 11453, 4133, 95133}}, +{9735, 17, 34111, {1, 3, 3, 15, 3, 53, 121, 135, 385, 475, 889, 2557, 4937, 11129, 18461, 16757, 30339}}, +{9736, 17, 34120, {1, 3, 1, 13, 11, 39, 111, 13, 475, 201, 1973, 2151, 6973, 4083, 12593, 44093, 108037}}, +{9737, 17, 34123, {1, 3, 7, 9, 31, 31, 97, 235, 179, 689, 403, 1995, 7697, 7511, 29333, 11005, 50723}}, +{9738, 17, 34125, {1, 1, 7, 13, 23, 5, 7, 171, 441, 921, 1455, 3865, 7089, 5469, 10423, 53013, 80559}}, +{9739, 17, 34153, {1, 3, 5, 3, 25, 43, 105, 157, 507, 143, 297, 1111, 2761, 14103, 4965, 36733, 11741}}, +{9740, 17, 34171, {1, 3, 7, 9, 29, 61, 49, 239, 271, 697, 211, 1633, 2991, 14933, 12347, 44291, 12219}}, +{9741, 17, 34174, {1, 1, 7, 7, 17, 61, 29, 43, 87, 633, 937, 1931, 3541, 12259, 23045, 5923, 48479}}, +{9742, 17, 34178, {1, 3, 3, 3, 15, 25, 105, 17, 159, 863, 1377, 331, 1475, 10573, 28947, 8141, 26671}}, +{9743, 17, 34183, {1, 1, 7, 7, 31, 59, 81, 23, 467, 241, 1257, 1337, 7731, 9071, 3417, 51191, 78369}}, +{9744, 17, 34190, {1, 1, 5, 9, 11, 45, 49, 227, 319, 63, 1339, 885, 4571, 11649, 5607, 10509, 55055}}, +{9745, 17, 34201, {1, 3, 3, 9, 29, 17, 7, 235, 191, 927, 575, 1115, 4111, 14179, 2041, 13331, 29825}}, +{9746, 17, 34211, {1, 1, 5, 9, 27, 61, 71, 201, 341, 577, 221, 1371, 1135, 4347, 24211, 36171, 23435}}, +{9747, 17, 34220, {1, 3, 3, 1, 1, 29, 75, 121, 193, 647, 1429, 275, 5243, 783, 28533, 13941, 68035}}, +{9748, 17, 34225, {1, 3, 5, 15, 21, 27, 117, 183, 251, 991, 935, 3119, 5133, 2765, 7423, 28867, 120565}}, +{9749, 17, 34237, {1, 3, 5, 5, 13, 23, 29, 101, 299, 699, 1249, 1225, 1335, 6079, 17825, 60467, 87787}}, +{9750, 17, 34249, {1, 1, 1, 9, 15, 19, 11, 163, 433, 553, 1487, 813, 3293, 1195, 895, 28431, 62905}}, +{9751, 17, 34250, {1, 1, 1, 13, 25, 37, 111, 129, 391, 813, 1061, 4065, 7339, 10731, 23799, 41463, 99673}}, +{9752, 17, 34264, {1, 1, 7, 15, 3, 21, 45, 77, 471, 155, 967, 711, 4947, 13983, 27827, 28653, 117839}}, +{9753, 17, 34269, {1, 1, 5, 9, 13, 39, 107, 237, 233, 881, 297, 2189, 8085, 1221, 18659, 299, 90951}}, +{9754, 17, 34276, {1, 1, 1, 13, 21, 53, 83, 17, 487, 215, 1203, 3017, 7887, 3759, 10521, 31223, 87917}}, +{9755, 17, 34279, {1, 1, 7, 1, 13, 31, 123, 219, 127, 743, 1325, 3907, 129, 8901, 4855, 22509, 47331}}, +{9756, 17, 34293, {1, 1, 7, 11, 29, 37, 11, 157, 401, 35, 2037, 2873, 7409, 7837, 1247, 33911, 3979}}, +{9757, 17, 34303, {1, 1, 5, 15, 1, 13, 35, 253, 287, 1007, 1417, 1613, 6019, 11617, 6323, 56263, 45073}}, +{9758, 17, 34310, {1, 3, 1, 15, 1, 59, 41, 239, 373, 443, 897, 275, 5783, 8619, 18559, 16279, 92063}}, +{9759, 17, 34340, {1, 3, 1, 9, 23, 33, 83, 43, 231, 819, 1657, 1031, 5507, 12621, 8961, 23059, 63453}}, +{9760, 17, 34349, {1, 1, 7, 5, 29, 49, 21, 251, 267, 43, 729, 4013, 1497, 15489, 16761, 49689, 122755}}, +{9761, 17, 34352, {1, 3, 7, 1, 31, 21, 11, 149, 127, 711, 1249, 49, 5503, 677, 12313, 61301, 16279}}, +{9762, 17, 34355, {1, 1, 5, 11, 9, 15, 41, 61, 81, 991, 1387, 3567, 221, 15835, 8609, 28265, 98199}}, +{9763, 17, 34358, {1, 3, 1, 7, 21, 35, 13, 59, 173, 637, 107, 393, 4551, 6523, 27389, 33129, 45579}}, +{9764, 17, 34362, {1, 1, 1, 9, 29, 51, 65, 199, 417, 553, 1321, 2513, 4749, 8477, 19721, 24301, 16301}}, +{9765, 17, 34376, {1, 3, 5, 1, 25, 13, 7, 55, 163, 581, 1677, 2313, 6843, 15697, 3055, 53171, 59899}}, +{9766, 17, 34381, {1, 3, 1, 5, 31, 13, 101, 195, 235, 359, 911, 1017, 2575, 12801, 997, 7819, 73243}}, +{9767, 17, 34387, {1, 1, 7, 1, 9, 39, 59, 83, 57, 885, 317, 2689, 5741, 11833, 25563, 62581, 62239}}, +{9768, 17, 34389, {1, 1, 5, 15, 25, 25, 55, 207, 223, 907, 913, 387, 5599, 15567, 8859, 13703, 66071}}, +{9769, 17, 34394, {1, 1, 5, 15, 19, 39, 83, 177, 333, 531, 1257, 2687, 7793, 15967, 19175, 1381, 106629}}, +{9770, 17, 34410, {1, 3, 5, 13, 29, 29, 77, 1, 273, 483, 725, 3825, 5115, 4043, 11571, 8693, 49761}}, +{9771, 17, 34423, {1, 1, 7, 3, 5, 45, 37, 65, 267, 191, 301, 2863, 167, 9303, 14563, 41553, 119561}}, +{9772, 17, 34434, {1, 1, 7, 5, 21, 41, 107, 213, 267, 427, 699, 1485, 2125, 16011, 29243, 4691, 50545}}, +{9773, 17, 34436, {1, 3, 3, 9, 15, 29, 81, 53, 289, 689, 933, 2667, 5175, 10409, 28221, 56375, 49109}}, +{9774, 17, 34448, {1, 1, 1, 15, 3, 11, 77, 107, 353, 349, 219, 1961, 7559, 10081, 25119, 46041, 103827}}, +{9775, 17, 34453, {1, 3, 3, 1, 5, 27, 109, 17, 271, 543, 565, 397, 2649, 12037, 4525, 37835, 107071}}, +{9776, 17, 34454, {1, 1, 5, 15, 3, 37, 123, 157, 389, 619, 1379, 4093, 6107, 4419, 21011, 36189, 21269}}, +{9777, 17, 34460, {1, 3, 1, 7, 25, 17, 37, 133, 247, 113, 985, 815, 441, 7869, 25121, 49459, 429}}, +{9778, 17, 34464, {1, 3, 3, 11, 7, 23, 59, 51, 403, 685, 2019, 1167, 7973, 6915, 10819, 43807, 127793}}, +{9779, 17, 34479, {1, 1, 3, 1, 29, 3, 125, 107, 305, 101, 391, 2733, 6883, 5867, 5139, 16025, 112439}}, +{9780, 17, 34491, {1, 1, 5, 5, 23, 23, 89, 33, 275, 451, 1033, 649, 3761, 4735, 26021, 9627, 102747}}, +{9781, 17, 34501, {1, 1, 5, 13, 3, 17, 117, 251, 425, 917, 759, 3047, 8171, 14421, 27765, 11085, 64889}}, +{9782, 17, 34508, {1, 3, 1, 9, 7, 23, 107, 143, 123, 413, 2045, 655, 6283, 8783, 20263, 55463, 33271}}, +{9783, 17, 34516, {1, 3, 7, 11, 5, 49, 73, 55, 465, 43, 587, 3943, 521, 12357, 16273, 26603, 23219}}, +{9784, 17, 34529, {1, 3, 5, 13, 9, 3, 127, 171, 271, 227, 993, 1427, 2235, 6325, 13501, 1411, 44393}}, +{9785, 17, 34530, {1, 1, 1, 3, 13, 27, 19, 37, 175, 423, 5, 3403, 5427, 16345, 30297, 11909, 104647}}, +{9786, 17, 34553, {1, 3, 1, 3, 3, 39, 111, 179, 487, 923, 1945, 1609, 4689, 11807, 13725, 3081, 48163}}, +{9787, 17, 34564, {1, 3, 1, 1, 9, 35, 7, 151, 109, 925, 1249, 3171, 1207, 2053, 5135, 34821, 57291}}, +{9788, 17, 34568, {1, 1, 5, 13, 31, 35, 101, 199, 499, 725, 1229, 2857, 6437, 503, 14437, 35721, 24971}}, +{9789, 17, 34571, {1, 1, 1, 15, 3, 49, 75, 101, 373, 119, 875, 245, 15, 12937, 4731, 13037, 1555}}, +{9790, 17, 34582, {1, 1, 1, 7, 15, 5, 53, 5, 423, 69, 73, 2139, 383, 4035, 6723, 59941, 124503}}, +{9791, 17, 34586, {1, 1, 3, 13, 1, 23, 29, 47, 145, 785, 1013, 1579, 4579, 107, 17571, 46311, 27777}}, +{9792, 17, 34598, {1, 1, 1, 5, 23, 25, 97, 75, 105, 183, 827, 3871, 2005, 6453, 28729, 42583, 62979}}, +{9793, 17, 34604, {1, 3, 5, 9, 11, 49, 29, 201, 333, 441, 429, 1955, 5301, 11775, 22915, 58693, 111917}}, +{9794, 17, 34610, {1, 3, 3, 1, 15, 37, 117, 223, 319, 181, 61, 177, 507, 14871, 16419, 34261, 106937}}, +{9795, 17, 34619, {1, 3, 3, 9, 25, 27, 81, 253, 459, 5, 693, 1271, 485, 16171, 427, 17917, 4393}}, +{9796, 17, 34621, {1, 3, 3, 1, 27, 47, 11, 57, 269, 95, 569, 2733, 3275, 1599, 15073, 58071, 86805}}, +{9797, 17, 34633, {1, 3, 7, 13, 21, 57, 75, 63, 53, 487, 251, 3193, 4279, 2311, 6613, 38319, 93557}}, +{9798, 17, 34634, {1, 3, 5, 5, 31, 35, 39, 255, 11, 81, 605, 1457, 6367, 14121, 8069, 46653, 79945}}, +{9799, 17, 34657, {1, 1, 1, 7, 17, 19, 19, 247, 13, 757, 1069, 2811, 4969, 10943, 29399, 4153, 120817}}, +{9800, 17, 34682, {1, 1, 1, 15, 31, 13, 1, 247, 157, 785, 1565, 897, 4825, 8375, 4933, 60671, 88403}}, +{9801, 17, 34688, {1, 3, 3, 7, 31, 53, 117, 207, 243, 603, 625, 1039, 5725, 5021, 20227, 28613, 123759}}, +{9802, 17, 34691, {1, 1, 5, 1, 7, 29, 65, 153, 393, 821, 295, 2705, 5999, 15801, 31301, 15545, 52917}}, +{9803, 17, 34694, {1, 1, 1, 1, 11, 51, 97, 143, 27, 279, 1005, 1235, 5539, 1523, 26293, 35015, 47835}}, +{9804, 17, 34706, {1, 3, 3, 13, 27, 17, 123, 147, 39, 35, 567, 961, 5431, 5557, 17849, 46675, 102181}}, +{9805, 17, 34708, {1, 1, 7, 11, 7, 25, 73, 223, 459, 207, 1637, 647, 2057, 685, 24539, 48809, 26877}}, +{9806, 17, 34724, {1, 3, 1, 3, 21, 43, 121, 11, 431, 383, 1703, 1451, 2349, 11845, 13801, 20589, 43125}}, +{9807, 17, 34727, {1, 1, 5, 1, 27, 29, 89, 233, 437, 303, 853, 3425, 263, 2073, 14111, 39129, 59547}}, +{9808, 17, 34751, {1, 1, 1, 3, 3, 47, 99, 207, 261, 179, 1761, 2657, 4339, 6567, 25455, 18729, 51431}}, +{9809, 17, 34753, {1, 3, 3, 13, 5, 5, 109, 125, 123, 233, 1713, 1539, 4375, 12187, 18355, 49597, 109959}}, +{9810, 17, 34759, {1, 3, 7, 7, 9, 23, 45, 193, 363, 837, 855, 1413, 7587, 9091, 27907, 17809, 63249}}, +{9811, 17, 34763, {1, 3, 3, 9, 19, 23, 63, 85, 419, 1007, 1753, 539, 1471, 2171, 9239, 36289, 105503}}, +{9812, 17, 34777, {1, 3, 1, 11, 23, 5, 105, 79, 473, 879, 1623, 3155, 5157, 4699, 697, 41919, 15441}}, +{9813, 17, 34778, {1, 1, 7, 11, 5, 21, 43, 207, 491, 355, 857, 2325, 819, 15849, 24529, 5789, 110661}}, +{9814, 17, 34780, {1, 1, 5, 15, 19, 33, 81, 137, 473, 853, 1681, 3841, 5617, 13715, 1987, 52983, 66327}}, +{9815, 17, 34796, {1, 3, 5, 7, 11, 31, 69, 85, 33, 197, 1771, 1957, 1311, 169, 14159, 7327, 8577}}, +{9816, 17, 34799, {1, 1, 3, 9, 11, 23, 19, 143, 9, 579, 111, 2973, 3567, 8561, 10447, 55875, 64305}}, +{9817, 17, 34801, {1, 1, 5, 7, 1, 17, 93, 11, 423, 1007, 839, 719, 3965, 14531, 17301, 29577, 4083}}, +{9818, 17, 34817, {1, 3, 5, 13, 19, 17, 123, 61, 59, 115, 1165, 579, 2545, 633, 5597, 21865, 109167}}, +{9819, 17, 34824, {1, 1, 5, 3, 29, 29, 99, 163, 321, 367, 1523, 3719, 665, 15843, 28831, 63823, 113533}}, +{9820, 17, 34827, {1, 1, 1, 3, 15, 7, 85, 1, 181, 759, 537, 3315, 7159, 4363, 4183, 53775, 8801}}, +{9821, 17, 34837, {1, 3, 1, 1, 15, 53, 9, 35, 459, 417, 1169, 2055, 1175, 10923, 335, 24269, 93001}}, +{9822, 17, 34841, {1, 3, 1, 5, 31, 43, 51, 149, 175, 541, 629, 1147, 7585, 9725, 18623, 13345, 65391}}, +{9823, 17, 34853, {1, 3, 7, 1, 13, 39, 13, 217, 507, 765, 721, 1491, 5037, 6267, 2871, 19181, 123751}}, +{9824, 17, 34858, {1, 1, 3, 5, 21, 9, 123, 195, 63, 347, 7, 531, 3015, 9457, 29543, 51479, 26607}}, +{9825, 17, 34877, {1, 1, 1, 1, 21, 15, 81, 127, 429, 15, 901, 1503, 1919, 6515, 2477, 53571, 113447}}, +{9826, 17, 34886, {1, 3, 1, 13, 9, 33, 79, 169, 499, 767, 441, 2085, 2429, 10213, 4125, 2611, 26137}}, +{9827, 17, 34895, {1, 1, 3, 1, 19, 23, 83, 179, 447, 513, 913, 1201, 1861, 11595, 29037, 7775, 116417}}, +{9828, 17, 34897, {1, 3, 3, 7, 3, 57, 47, 183, 413, 319, 1375, 1401, 2231, 14331, 28625, 43839, 102717}}, +{9829, 17, 34898, {1, 1, 5, 11, 31, 27, 111, 85, 191, 155, 2025, 1501, 4991, 4655, 3451, 10219, 60391}}, +{9830, 17, 34916, {1, 3, 3, 7, 17, 19, 113, 37, 423, 479, 709, 3659, 6567, 1709, 13483, 61821, 77101}}, +{9831, 17, 34923, {1, 3, 1, 13, 3, 17, 73, 61, 275, 359, 1341, 449, 1373, 12047, 11207, 52651, 83305}}, +{9832, 17, 34928, {1, 1, 7, 9, 9, 45, 15, 121, 15, 51, 509, 2189, 5057, 6119, 11669, 14559, 108323}}, +{9833, 17, 34934, {1, 1, 7, 7, 25, 13, 13, 141, 157, 249, 823, 821, 1909, 5925, 3505, 13187, 19237}}, +{9834, 17, 34940, {1, 3, 3, 1, 9, 51, 79, 91, 5, 709, 787, 2427, 4613, 7307, 20141, 1675, 49779}}, +{9835, 17, 34944, {1, 1, 1, 11, 11, 13, 33, 81, 413, 981, 907, 2709, 4113, 10607, 2587, 12845, 11103}}, +{9836, 17, 34947, {1, 1, 7, 9, 13, 25, 37, 81, 375, 1013, 2027, 321, 3947, 2269, 10687, 7537, 67495}}, +{9837, 17, 34953, {1, 3, 5, 11, 9, 43, 53, 111, 339, 841, 503, 3209, 6437, 10893, 13627, 51809, 57229}}, +{9838, 17, 34956, {1, 3, 1, 1, 21, 15, 71, 93, 453, 405, 1099, 2979, 7471, 10173, 17875, 13179, 48615}}, +{9839, 17, 34967, {1, 3, 5, 9, 9, 1, 121, 117, 275, 157, 57, 3459, 4787, 15005, 24591, 23963, 45077}}, +{9840, 17, 34968, {1, 1, 5, 3, 21, 57, 113, 207, 169, 603, 637, 1455, 6281, 6527, 17219, 32307, 18617}}, +{9841, 17, 34971, {1, 3, 7, 5, 25, 15, 99, 91, 253, 267, 537, 713, 3929, 895, 7999, 47989, 118731}}, +{9842, 17, 34974, {1, 3, 7, 15, 23, 17, 5, 129, 121, 251, 219, 2547, 7291, 1079, 14577, 56229, 35253}}, +{9843, 17, 34977, {1, 3, 1, 15, 5, 61, 35, 135, 497, 681, 751, 2303, 6697, 11225, 30389, 61673, 87313}}, +{9844, 17, 34980, {1, 3, 1, 7, 7, 37, 9, 85, 257, 805, 1325, 3597, 6065, 727, 18203, 57077, 437}}, +{9845, 17, 34983, {1, 3, 5, 7, 5, 43, 29, 179, 73, 173, 1441, 1233, 1779, 7893, 10629, 27547, 7775}}, +{9846, 17, 34998, {1, 1, 7, 5, 31, 29, 21, 35, 289, 423, 449, 3331, 2929, 6827, 15569, 9873, 76889}}, +{9847, 17, 35004, {1, 1, 7, 13, 13, 37, 55, 99, 135, 797, 1263, 2539, 893, 4225, 16689, 38259, 50857}}, +{9848, 17, 35010, {1, 1, 3, 1, 5, 3, 95, 29, 15, 539, 825, 3931, 4809, 8299, 29891, 61357, 97523}}, +{9849, 17, 35012, {1, 3, 1, 9, 27, 25, 115, 239, 387, 163, 1153, 31, 2375, 7943, 31929, 1121, 33085}}, +{9850, 17, 35030, {1, 3, 5, 9, 3, 53, 121, 159, 165, 81, 317, 3051, 1991, 493, 2029, 43305, 130209}}, +{9851, 17, 35039, {1, 1, 1, 5, 9, 57, 39, 247, 73, 613, 1047, 3289, 2569, 5363, 18475, 32749, 39415}}, +{9852, 17, 35058, {1, 3, 1, 5, 19, 23, 39, 33, 151, 463, 153, 737, 2501, 7531, 2769, 35595, 71799}}, +{9853, 17, 35063, {1, 3, 5, 5, 29, 49, 105, 81, 67, 441, 1101, 2241, 6243, 6177, 7157, 51635, 81241}}, +{9854, 17, 35082, {1, 3, 3, 3, 29, 53, 13, 239, 487, 503, 97, 1323, 1817, 13021, 12881, 26943, 21011}}, +{9855, 17, 35095, {1, 1, 1, 15, 25, 9, 5, 205, 85, 635, 789, 2495, 5069, 4987, 847, 26857, 84225}}, +{9856, 17, 35096, {1, 1, 3, 15, 9, 51, 79, 13, 377, 637, 159, 3407, 2057, 13967, 31781, 40869, 52987}}, +{9857, 17, 35101, {1, 3, 1, 13, 11, 27, 103, 207, 383, 887, 749, 1119, 285, 4269, 31745, 57539, 5671}}, +{9858, 17, 35102, {1, 3, 1, 13, 23, 19, 41, 43, 455, 425, 1653, 4091, 4855, 16321, 169, 59289, 82397}}, +{9859, 17, 35105, {1, 3, 3, 15, 31, 39, 51, 127, 391, 989, 1831, 3327, 6487, 6077, 17277, 52093, 20389}}, +{9860, 17, 35112, {1, 3, 5, 15, 19, 1, 21, 241, 15, 543, 1529, 2355, 1503, 12795, 17321, 41219, 61115}}, +{9861, 17, 35118, {1, 1, 3, 11, 9, 33, 21, 197, 307, 141, 1663, 371, 1663, 8307, 3617, 56941, 62477}}, +{9862, 17, 35120, {1, 3, 7, 9, 19, 53, 123, 3, 29, 635, 1795, 2471, 2491, 15847, 9169, 2561, 101515}}, +{9863, 17, 35130, {1, 1, 5, 3, 19, 11, 117, 231, 475, 837, 1833, 3499, 4415, 9961, 28285, 37821, 81497}}, +{9864, 17, 35143, {1, 1, 3, 5, 7, 11, 57, 89, 345, 157, 1519, 3021, 7157, 2159, 32557, 31559, 128907}}, +{9865, 17, 35147, {1, 1, 7, 3, 27, 1, 15, 177, 489, 405, 811, 3597, 4939, 15595, 7279, 58097, 84703}}, +{9866, 17, 35152, {1, 3, 1, 9, 25, 61, 119, 219, 111, 339, 1091, 759, 6087, 16001, 6757, 15627, 1691}}, +{9867, 17, 35157, {1, 3, 7, 9, 1, 39, 107, 139, 143, 917, 421, 1623, 7135, 4851, 6687, 6177, 102425}}, +{9868, 17, 35164, {1, 1, 7, 13, 23, 17, 19, 167, 317, 331, 743, 3737, 2195, 545, 2185, 9125, 30503}}, +{9869, 17, 35178, {1, 1, 5, 13, 27, 33, 117, 141, 493, 129, 1553, 2335, 4161, 14205, 24177, 35163, 84869}}, +{9870, 17, 35195, {1, 3, 7, 1, 11, 9, 75, 133, 113, 507, 2007, 2473, 4769, 14655, 17967, 17709, 90653}}, +{9871, 17, 35197, {1, 1, 7, 11, 17, 11, 83, 23, 387, 61, 29, 3905, 4351, 15173, 28375, 9129, 111939}}, +{9872, 17, 35201, {1, 1, 5, 15, 15, 53, 81, 125, 189, 937, 1607, 2595, 2847, 7229, 22241, 26269, 64781}}, +{9873, 17, 35207, {1, 3, 1, 7, 5, 11, 61, 111, 13, 423, 885, 2329, 6003, 16331, 11207, 25743, 54619}}, +{9874, 17, 35231, {1, 3, 5, 9, 1, 13, 95, 241, 237, 629, 263, 1629, 1063, 12695, 14501, 5455, 121483}}, +{9875, 17, 35249, {1, 1, 7, 15, 5, 17, 45, 255, 143, 79, 87, 1755, 6215, 5095, 32411, 8695, 85511}}, +{9876, 17, 35250, {1, 3, 7, 7, 21, 11, 117, 135, 333, 73, 1471, 2749, 5801, 4209, 9353, 46171, 90645}}, +{9877, 17, 35256, {1, 1, 7, 13, 11, 35, 77, 149, 159, 783, 1527, 2881, 1409, 3455, 26991, 3225, 30693}}, +{9878, 17, 35259, {1, 1, 3, 15, 19, 55, 21, 245, 207, 103, 775, 2041, 4637, 7333, 11267, 60509, 43099}}, +{9879, 17, 35262, {1, 3, 3, 15, 17, 63, 23, 81, 183, 923, 75, 391, 615, 13343, 20839, 56529, 115747}}, +{9880, 17, 35273, {1, 3, 1, 13, 5, 5, 15, 27, 263, 497, 1365, 2733, 5395, 7461, 2725, 24735, 89251}}, +{9881, 17, 35282, {1, 1, 7, 7, 29, 17, 39, 117, 363, 915, 123, 283, 4575, 3497, 20995, 37883, 16645}}, +{9882, 17, 35298, {1, 3, 3, 9, 1, 25, 79, 181, 331, 617, 393, 1807, 5145, 8007, 9173, 45189, 37945}}, +{9883, 17, 35307, {1, 3, 1, 5, 1, 9, 127, 137, 379, 371, 367, 3237, 581, 15295, 18191, 37689, 103495}}, +{9884, 17, 35328, {1, 1, 7, 1, 29, 53, 103, 173, 171, 973, 933, 3847, 3185, 10107, 31701, 45021, 106251}}, +{9885, 17, 35334, {1, 1, 1, 7, 23, 9, 61, 25, 343, 471, 2041, 2179, 7647, 1885, 15353, 50379, 67681}}, +{9886, 17, 35343, {1, 1, 5, 11, 31, 13, 51, 185, 83, 917, 85, 1317, 8185, 14949, 32455, 57939, 1217}}, +{9887, 17, 35345, {1, 1, 7, 5, 23, 45, 101, 227, 497, 941, 985, 167, 6847, 9611, 20011, 40069, 83285}}, +{9888, 17, 35355, {1, 1, 5, 13, 17, 33, 61, 197, 433, 255, 67, 1479, 5663, 6501, 30695, 27235, 80141}}, +{9889, 17, 35388, {1, 1, 3, 5, 11, 45, 123, 49, 327, 893, 1963, 2225, 2611, 8925, 22811, 2313, 8411}}, +{9890, 17, 35399, {1, 3, 7, 7, 15, 39, 75, 235, 13, 847, 575, 3947, 6947, 2061, 13467, 103, 86285}}, +{9891, 17, 35403, {1, 1, 7, 3, 21, 43, 113, 197, 141, 873, 1139, 2707, 7235, 10683, 10831, 33695, 57063}}, +{9892, 17, 35408, {1, 3, 5, 1, 3, 27, 45, 43, 119, 979, 1933, 1851, 6497, 14937, 4965, 41285, 120221}}, +{9893, 17, 35413, {1, 1, 3, 1, 23, 59, 67, 7, 49, 351, 1053, 1837, 501, 7671, 26239, 51951, 95119}}, +{9894, 17, 35418, {1, 3, 5, 11, 3, 19, 33, 33, 219, 175, 1439, 197, 1841, 159, 11229, 20463, 81797}}, +{9895, 17, 35434, {1, 1, 7, 1, 13, 11, 79, 75, 53, 525, 91, 233, 5999, 2921, 21295, 56831, 116049}}, +{9896, 17, 35436, {1, 3, 3, 13, 29, 7, 71, 207, 193, 635, 1393, 3093, 3775, 12445, 23281, 29401, 103225}}, +{9897, 17, 35448, {1, 1, 7, 3, 29, 57, 111, 163, 63, 593, 881, 1587, 3027, 12599, 30977, 38891, 95495}}, +{9898, 17, 35460, {1, 1, 5, 15, 17, 57, 111, 169, 149, 767, 377, 765, 7533, 1539, 22979, 55489, 29799}}, +{9899, 17, 35475, {1, 3, 5, 15, 25, 7, 127, 71, 319, 389, 497, 1513, 1287, 7359, 12311, 45457, 45897}}, +{9900, 17, 35494, {1, 1, 5, 3, 3, 35, 45, 17, 49, 483, 197, 727, 5355, 7201, 3035, 14313, 40933}}, +{9901, 17, 35497, {1, 1, 7, 15, 1, 9, 27, 59, 455, 653, 1907, 281, 1435, 14593, 18909, 37655, 87603}}, +{9902, 17, 35503, {1, 1, 7, 11, 29, 9, 67, 17, 353, 709, 859, 3687, 7741, 4251, 12263, 41717, 79393}}, +{9903, 17, 35508, {1, 3, 3, 3, 1, 15, 113, 187, 255, 851, 503, 4089, 7923, 1701, 305, 8353, 16357}}, +{9904, 17, 35511, {1, 1, 5, 3, 17, 31, 29, 233, 377, 215, 1889, 3459, 2443, 3907, 4193, 16519, 49089}}, +{9905, 17, 35518, {1, 1, 3, 1, 17, 39, 11, 255, 247, 305, 669, 1769, 1355, 12055, 2275, 51681, 112337}}, +{9906, 17, 35520, {1, 3, 1, 1, 17, 17, 75, 95, 409, 21, 1513, 1443, 4931, 6491, 1587, 62979, 90395}}, +{9907, 17, 35530, {1, 1, 3, 5, 3, 19, 125, 175, 279, 911, 301, 407, 7773, 949, 32107, 13571, 58717}}, +{9908, 17, 35537, {1, 3, 3, 15, 31, 35, 11, 223, 125, 209, 1719, 1725, 3387, 14879, 32243, 7219, 126791}}, +{9909, 17, 35543, {1, 1, 3, 1, 31, 29, 67, 79, 93, 193, 1573, 2285, 3209, 8397, 17717, 5657, 61545}}, +{9910, 17, 35560, {1, 3, 1, 9, 11, 33, 85, 121, 193, 63, 461, 1835, 889, 10687, 19831, 49551, 59087}}, +{9911, 17, 35566, {1, 3, 3, 7, 11, 3, 9, 87, 91, 487, 289, 1113, 8135, 7971, 16693, 31009, 81197}}, +{9912, 17, 35571, {1, 3, 3, 1, 23, 23, 61, 209, 409, 845, 547, 1493, 465, 6399, 17633, 53647, 52425}}, +{9913, 17, 35598, {1, 1, 7, 7, 21, 31, 71, 249, 63, 895, 653, 93, 4429, 8951, 16873, 48089, 33947}}, +{9914, 17, 35609, {1, 3, 5, 11, 3, 35, 49, 15, 379, 645, 855, 3657, 8019, 2141, 11233, 60731, 80455}}, +{9915, 17, 35612, {1, 3, 1, 3, 1, 53, 101, 157, 255, 765, 1575, 1615, 7677, 9699, 13351, 2207, 90939}}, +{9916, 17, 35615, {1, 3, 7, 7, 5, 43, 123, 109, 119, 391, 1889, 1991, 3151, 1457, 16321, 65245, 75891}}, +{9917, 17, 35616, {1, 3, 1, 15, 9, 1, 113, 249, 1, 675, 501, 487, 2209, 4411, 6609, 29243, 100177}}, +{9918, 17, 35622, {1, 1, 1, 7, 9, 23, 9, 197, 341, 191, 453, 3733, 5475, 15515, 28979, 36077, 17801}}, +{9919, 17, 35626, {1, 1, 3, 13, 5, 35, 85, 121, 59, 429, 1251, 3437, 3121, 12411, 14713, 28125, 31921}}, +{9920, 17, 35633, {1, 3, 5, 3, 27, 17, 61, 255, 485, 709, 83, 3201, 2191, 3371, 2941, 10931, 22141}}, +{9921, 17, 35636, {1, 1, 1, 1, 19, 19, 25, 177, 397, 579, 529, 1619, 3887, 4537, 8123, 52481, 8305}}, +{9922, 17, 35645, {1, 1, 3, 15, 3, 15, 77, 51, 31, 881, 203, 2359, 4947, 6321, 14705, 16471, 84395}}, +{9923, 17, 35653, {1, 3, 7, 9, 13, 53, 67, 41, 289, 721, 1743, 2725, 435, 1327, 14953, 14283, 113211}}, +{9924, 17, 35663, {1, 3, 1, 5, 19, 23, 73, 181, 187, 675, 125, 1877, 6167, 7919, 3955, 25007, 28299}}, +{9925, 17, 35665, {1, 1, 3, 1, 5, 11, 123, 189, 173, 123, 499, 2175, 483, 13017, 14709, 5797, 36327}}, +{9926, 17, 35682, {1, 3, 7, 5, 21, 39, 79, 229, 19, 203, 375, 3901, 1053, 14209, 13535, 63155, 99727}}, +{9927, 17, 35687, {1, 1, 1, 13, 11, 29, 29, 173, 441, 271, 1147, 2891, 965, 10777, 16325, 37135, 101601}}, +{9928, 17, 35688, {1, 1, 3, 3, 25, 13, 79, 233, 75, 191, 987, 3231, 3667, 1525, 14193, 62027, 77441}}, +{9929, 17, 35691, {1, 3, 1, 1, 15, 53, 17, 45, 367, 263, 425, 1565, 6139, 13833, 12547, 61103, 75361}}, +{9930, 17, 35696, {1, 1, 5, 15, 5, 57, 123, 47, 407, 887, 375, 1181, 5367, 10283, 24799, 33121, 76373}}, +{9931, 17, 35727, {1, 1, 7, 3, 11, 17, 65, 133, 3, 609, 601, 3391, 7801, 4137, 32095, 55983, 23037}}, +{9932, 17, 35741, {1, 3, 1, 3, 25, 5, 125, 5, 297, 571, 145, 3601, 1929, 13457, 16977, 21049, 92169}}, +{9933, 17, 35742, {1, 3, 5, 13, 23, 29, 13, 143, 507, 187, 857, 427, 5125, 1377, 10947, 58473, 110541}}, +{9934, 17, 35746, {1, 3, 3, 15, 15, 49, 39, 103, 193, 507, 639, 2399, 3829, 12105, 15993, 52975, 115935}}, +{9935, 17, 35748, {1, 3, 7, 3, 7, 41, 95, 127, 193, 923, 1729, 3039, 7959, 3345, 7725, 35293, 34361}}, +{9936, 17, 35752, {1, 3, 5, 13, 17, 53, 111, 141, 151, 389, 1955, 3333, 4523, 6331, 21239, 57447, 113325}}, +{9937, 17, 35770, {1, 3, 7, 15, 31, 7, 11, 35, 105, 607, 1665, 3281, 487, 9417, 26205, 26963, 81537}}, +{9938, 17, 35811, {1, 3, 1, 1, 17, 15, 3, 55, 451, 691, 1525, 2009, 6443, 4629, 15091, 46961, 83361}}, +{9939, 17, 35817, {1, 3, 1, 15, 1, 29, 99, 79, 225, 665, 623, 2389, 3303, 7221, 20567, 15917, 24677}}, +{9940, 17, 35832, {1, 1, 3, 15, 3, 17, 125, 239, 485, 849, 327, 1459, 3911, 2145, 14475, 24337, 19695}}, +{9941, 17, 35838, {1, 3, 5, 7, 7, 37, 19, 51, 373, 587, 147, 563, 7623, 7781, 18289, 37239, 6803}}, +{9942, 17, 35850, {1, 3, 5, 1, 9, 63, 5, 87, 171, 5, 1553, 429, 5001, 7881, 1493, 20425, 57727}}, +{9943, 17, 35863, {1, 3, 5, 9, 25, 43, 17, 71, 87, 869, 1219, 2661, 4571, 9689, 18799, 62467, 128531}}, +{9944, 17, 35870, {1, 1, 3, 3, 19, 53, 61, 9, 55, 433, 1555, 2369, 1423, 9081, 19185, 8513, 111079}}, +{9945, 17, 35879, {1, 3, 5, 15, 11, 61, 1, 147, 17, 71, 1563, 1113, 4809, 16229, 23743, 59757, 64699}}, +{9946, 17, 35880, {1, 1, 5, 11, 29, 23, 61, 43, 203, 97, 1119, 237, 6445, 14507, 9799, 18447, 14745}}, +{9947, 17, 35891, {1, 3, 5, 15, 11, 17, 117, 139, 117, 537, 251, 149, 2731, 15863, 1381, 25435, 25501}}, +{9948, 17, 35893, {1, 3, 3, 15, 31, 57, 53, 43, 95, 445, 1423, 3833, 2485, 11789, 16011, 8101, 39165}}, +{9949, 17, 35903, {1, 1, 3, 11, 15, 37, 117, 3, 245, 57, 593, 2771, 7181, 11397, 5691, 3217, 44139}}, +{9950, 17, 35905, {1, 3, 5, 1, 11, 13, 121, 85, 85, 511, 1837, 611, 237, 4893, 24025, 28903, 102025}}, +{9951, 17, 35926, {1, 3, 1, 11, 5, 45, 43, 45, 393, 741, 1157, 1511, 1665, 2359, 19071, 24537, 122879}}, +{9952, 17, 35930, {1, 3, 3, 3, 9, 59, 27, 11, 257, 203, 1535, 2729, 2313, 3539, 1689, 31901, 42949}}, +{9953, 17, 35941, {1, 1, 1, 11, 17, 7, 21, 35, 479, 697, 107, 1317, 6585, 705, 3789, 20439, 33375}}, +{9954, 17, 35956, {1, 1, 3, 11, 19, 37, 123, 233, 253, 733, 901, 3047, 3595, 2357, 24533, 40519, 109171}}, +{9955, 17, 35963, {1, 3, 3, 13, 29, 51, 25, 149, 57, 253, 2001, 351, 7367, 15361, 4955, 60951, 19449}}, +{9956, 17, 35970, {1, 1, 3, 15, 21, 53, 25, 239, 257, 437, 711, 3599, 5441, 7405, 15039, 19207, 63841}}, +{9957, 17, 35984, {1, 3, 1, 9, 17, 41, 43, 231, 413, 747, 1447, 1407, 2615, 14529, 10781, 20001, 82713}}, +{9958, 17, 35996, {1, 3, 7, 7, 9, 29, 25, 55, 53, 423, 1711, 2871, 2675, 421, 31703, 57099, 2955}}, +{9959, 17, 36005, {1, 3, 1, 7, 31, 17, 113, 83, 387, 611, 1815, 2137, 3453, 4409, 20377, 60263, 81205}}, +{9960, 17, 36012, {1, 1, 5, 3, 11, 1, 7, 225, 367, 267, 95, 939, 3801, 2619, 1207, 62695, 116407}}, +{9961, 17, 36015, {1, 3, 3, 9, 5, 39, 85, 45, 247, 483, 491, 865, 3493, 8243, 8411, 26449, 50473}}, +{9962, 17, 36030, {1, 3, 3, 9, 1, 53, 23, 127, 13, 529, 1925, 2629, 3451, 15073, 16075, 29909, 34101}}, +{9963, 17, 36035, {1, 3, 1, 11, 1, 9, 125, 57, 79, 633, 979, 3843, 325, 883, 7769, 40155, 104057}}, +{9964, 17, 36042, {1, 1, 7, 13, 23, 53, 27, 157, 493, 901, 1077, 1079, 1327, 15903, 20603, 64377, 103335}}, +{9965, 17, 36047, {1, 3, 3, 3, 3, 35, 37, 167, 73, 301, 385, 1045, 6913, 2269, 22491, 19735, 70125}}, +{9966, 17, 36049, {1, 1, 1, 11, 5, 23, 23, 85, 267, 845, 207, 77, 1245, 16209, 25579, 12417, 48723}}, +{9967, 17, 36059, {1, 1, 5, 15, 11, 17, 43, 83, 373, 1005, 541, 115, 163, 2165, 8181, 35839, 44471}}, +{9968, 17, 36071, {1, 3, 5, 7, 27, 41, 101, 13, 213, 235, 2037, 2179, 2121, 4481, 8127, 20011, 3981}}, +{9969, 17, 36080, {1, 1, 5, 11, 7, 43, 59, 129, 127, 387, 489, 1985, 623, 13307, 19765, 62155, 93271}}, +{9970, 17, 36085, {1, 1, 7, 5, 23, 63, 23, 177, 211, 233, 101, 1809, 7411, 8003, 25101, 32601, 75071}}, +{9971, 17, 36097, {1, 1, 1, 11, 3, 25, 9, 91, 459, 611, 867, 3639, 5457, 9101, 15333, 40069, 67723}}, +{9972, 17, 36110, {1, 3, 7, 5, 3, 29, 111, 75, 459, 195, 1405, 2281, 6085, 4425, 29061, 57335, 87449}}, +{9973, 17, 36115, {1, 3, 7, 11, 21, 45, 53, 81, 77, 863, 1901, 3355, 5253, 10897, 26289, 48399, 26877}}, +{9974, 17, 36118, {1, 3, 3, 13, 21, 37, 69, 87, 259, 101, 1203, 167, 6229, 145, 9355, 15347, 68047}}, +{9975, 17, 36124, {1, 1, 3, 1, 31, 1, 15, 229, 429, 915, 929, 381, 1857, 8441, 22207, 47071, 127853}}, +{9976, 17, 36137, {1, 3, 7, 3, 15, 9, 13, 161, 173, 573, 405, 3253, 7331, 13965, 3061, 40687, 130185}}, +{9977, 17, 36138, {1, 3, 5, 5, 29, 29, 9, 115, 393, 377, 909, 321, 2861, 9881, 17863, 52033, 55133}}, +{9978, 17, 36155, {1, 1, 7, 7, 27, 53, 101, 213, 199, 301, 1995, 2549, 5037, 13639, 18423, 23547, 79359}}, +{9979, 17, 36160, {1, 3, 1, 7, 21, 51, 29, 151, 301, 665, 571, 53, 2637, 7229, 12517, 33647, 49413}}, +{9980, 17, 36189, {1, 3, 3, 13, 13, 49, 49, 131, 325, 273, 1127, 2981, 2365, 14287, 23185, 26915, 81755}}, +{9981, 17, 36190, {1, 1, 5, 3, 17, 45, 25, 79, 37, 265, 1205, 1805, 6707, 11525, 16473, 39525, 9571}}, +{9982, 17, 36203, {1, 3, 3, 15, 9, 43, 55, 101, 469, 939, 365, 3443, 5759, 4751, 28893, 46727, 74569}}, +{9983, 17, 36211, {1, 3, 7, 9, 5, 33, 11, 201, 263, 227, 1475, 2795, 1489, 11129, 18053, 31009, 73105}}, +{9984, 17, 36218, {1, 3, 5, 5, 5, 25, 41, 151, 393, 237, 2017, 3811, 953, 13835, 28761, 22439, 76355}}, +{9985, 17, 36230, {1, 1, 5, 13, 21, 37, 29, 11, 289, 67, 1317, 511, 685, 15227, 8731, 15039, 79491}}, +{9986, 17, 36241, {1, 3, 1, 9, 31, 59, 123, 169, 473, 139, 575, 1057, 3213, 8213, 21845, 28123, 105335}}, +{9987, 17, 36244, {1, 1, 1, 5, 21, 47, 23, 121, 403, 5, 1457, 2137, 569, 9267, 6367, 6991, 3113}}, +{9988, 17, 36253, {1, 3, 3, 7, 13, 7, 25, 215, 81, 1003, 2041, 1317, 3913, 14705, 30551, 50889, 83441}}, +{9989, 17, 36257, {1, 3, 3, 3, 13, 17, 63, 229, 83, 901, 953, 2603, 4685, 6961, 7519, 52441, 33223}}, +{9990, 17, 36264, {1, 3, 7, 5, 7, 57, 65, 73, 243, 531, 261, 2517, 4083, 5889, 22913, 49603, 67135}}, +{9991, 17, 36272, {1, 3, 5, 11, 15, 47, 81, 83, 35, 1021, 1313, 1109, 5103, 5469, 18149, 15307, 34939}}, +{9992, 17, 36290, {1, 3, 7, 5, 21, 13, 105, 157, 435, 23, 931, 3565, 1, 4987, 8829, 7327, 51049}}, +{9993, 17, 36292, {1, 1, 3, 11, 29, 9, 59, 49, 261, 1009, 1953, 2683, 8125, 10937, 16683, 36013, 5967}}, +{9994, 17, 36301, {1, 1, 1, 1, 19, 29, 57, 9, 307, 457, 675, 3023, 495, 15257, 7945, 10449, 30155}}, +{9995, 17, 36309, {1, 1, 7, 13, 25, 9, 51, 135, 491, 205, 1715, 3253, 1031, 4137, 14885, 39925, 6061}}, +{9996, 17, 36313, {1, 1, 7, 7, 3, 13, 111, 91, 469, 133, 1221, 1035, 919, 3697, 26387, 41675, 487}}, +{9997, 17, 36316, {1, 1, 3, 1, 19, 53, 11, 113, 245, 747, 189, 4051, 87, 1767, 3595, 10259, 100097}}, +{9998, 17, 36319, {1, 1, 5, 3, 23, 49, 31, 47, 341, 1019, 723, 2353, 6191, 3809, 3297, 39443, 73529}}, +{9999, 17, 36330, {1, 3, 3, 9, 25, 27, 123, 49, 51, 85, 1063, 2633, 6549, 14493, 7367, 3557, 60651}}, +{10000, 17, 36335, {1, 3, 7, 5, 13, 27, 127, 65, 115, 731, 1147, 283, 91, 14205, 2457, 57083, 35815}}, +{10001, 17, 36347, {1, 3, 3, 3, 25, 63, 99, 249, 25, 951, 733, 3621, 7139, 14223, 23641, 20287, 30743}}, +{10002, 17, 36353, {1, 3, 3, 7, 21, 23, 83, 207, 235, 467, 1857, 2661, 1391, 10097, 12297, 54825, 5035}}, +{10003, 17, 36356, {1, 1, 5, 3, 31, 17, 77, 9, 215, 553, 989, 3643, 729, 2057, 32053, 50305, 5499}}, +{10004, 17, 36368, {1, 1, 7, 1, 23, 5, 111, 195, 431, 947, 403, 1781, 943, 15073, 67, 52225, 98987}}, +{10005, 17, 36374, {1, 1, 5, 11, 23, 1, 41, 33, 457, 767, 275, 801, 5119, 3781, 14805, 52789, 41775}}, +{10006, 17, 36377, {1, 1, 5, 3, 9, 53, 15, 183, 281, 691, 165, 3277, 7673, 1509, 16605, 53799, 100185}}, +{10007, 17, 36384, {1, 3, 5, 11, 19, 45, 29, 159, 167, 67, 1259, 879, 7787, 8855, 24153, 42667, 102855}}, +{10008, 17, 36407, {1, 1, 7, 13, 31, 19, 43, 133, 295, 287, 1985, 2451, 2297, 3853, 22401, 27659, 11149}}, +{10009, 17, 36413, {1, 1, 7, 13, 31, 39, 125, 21, 173, 103, 1119, 3739, 6467, 2113, 4465, 26537, 129949}}, +{10010, 17, 36419, {1, 1, 5, 15, 21, 47, 35, 125, 199, 335, 421, 31, 185, 12769, 30659, 33427, 106981}}, +{10011, 17, 36425, {1, 3, 5, 13, 25, 35, 53, 253, 325, 921, 1705, 2735, 6437, 2287, 20479, 61107, 91453}}, +{10012, 17, 36426, {1, 3, 7, 13, 25, 63, 83, 183, 5, 401, 329, 525, 3141, 393, 30469, 16529, 9605}}, +{10013, 17, 36446, {1, 3, 3, 13, 19, 23, 15, 85, 323, 545, 149, 3645, 6269, 15595, 18453, 39, 128169}}, +{10014, 17, 36461, {1, 3, 7, 15, 17, 5, 61, 61, 91, 353, 1039, 2959, 4147, 13205, 12599, 53281, 39509}}, +{10015, 17, 36467, {1, 1, 3, 7, 21, 9, 97, 111, 249, 775, 845, 1789, 667, 489, 6689, 29217, 56527}}, +{10016, 17, 36474, {1, 3, 5, 7, 11, 5, 59, 219, 29, 803, 923, 3861, 7953, 8969, 1819, 43501, 20513}}, +{10017, 17, 36480, {1, 1, 5, 11, 7, 53, 63, 231, 193, 293, 1467, 1409, 6397, 13237, 15903, 19271, 66257}}, +{10018, 17, 36486, {1, 3, 1, 15, 23, 15, 37, 123, 189, 63, 1121, 751, 6711, 10095, 6493, 40709, 47641}}, +{10019, 17, 36489, {1, 3, 7, 3, 23, 59, 99, 183, 249, 479, 771, 1087, 7979, 409, 4819, 4337, 33345}}, +{10020, 17, 36495, {1, 1, 5, 1, 17, 7, 15, 167, 305, 411, 1429, 3127, 23, 9123, 7185, 44405, 114841}}, +{10021, 17, 36525, {1, 1, 5, 11, 3, 29, 29, 31, 399, 777, 251, 1841, 3607, 211, 23543, 29111, 54565}}, +{10022, 17, 36526, {1, 3, 3, 9, 27, 33, 79, 27, 469, 67, 1327, 183, 5783, 10039, 13165, 20443, 4913}}, +{10023, 17, 36533, {1, 3, 7, 15, 21, 23, 5, 227, 141, 1021, 69, 3347, 7221, 13837, 20921, 20525, 32567}}, +{10024, 17, 36534, {1, 1, 5, 5, 25, 53, 73, 111, 319, 311, 1597, 1809, 5343, 13963, 6613, 14471, 53871}}, +{10025, 17, 36540, {1, 3, 3, 1, 15, 57, 47, 205, 53, 471, 185, 273, 8077, 5031, 31195, 30859, 15979}}, +{10026, 17, 36555, {1, 1, 3, 5, 23, 15, 87, 211, 83, 265, 1629, 2979, 69, 12559, 30455, 36363, 61461}}, +{10027, 17, 36563, {1, 1, 7, 7, 1, 47, 5, 199, 95, 17, 57, 1887, 6847, 9501, 21361, 57763, 77069}}, +{10028, 17, 36565, {1, 1, 3, 5, 9, 15, 15, 149, 141, 605, 639, 2197, 7237, 5753, 9415, 4677, 129947}}, +{10029, 17, 36588, {1, 3, 7, 1, 7, 9, 29, 249, 275, 461, 1667, 4093, 5763, 3205, 24079, 11883, 86455}}, +{10030, 17, 36593, {1, 1, 3, 5, 15, 39, 117, 145, 153, 671, 1819, 111, 3607, 12279, 4927, 63759, 42905}}, +{10031, 17, 36596, {1, 1, 1, 5, 31, 5, 35, 183, 189, 839, 1811, 1877, 6545, 11373, 27947, 27183, 29857}}, +{10032, 17, 36606, {1, 3, 5, 7, 29, 47, 3, 183, 511, 145, 1953, 3419, 6385, 7745, 12823, 59783, 69399}}, +{10033, 17, 36614, {1, 3, 5, 9, 5, 39, 85, 145, 33, 899, 1009, 2035, 6145, 3855, 20583, 4329, 95231}}, +{10034, 17, 36626, {1, 1, 3, 3, 15, 61, 85, 181, 247, 705, 413, 1633, 7489, 1785, 30397, 42851, 80197}}, +{10035, 17, 36628, {1, 3, 3, 13, 23, 11, 3, 97, 307, 183, 113, 3881, 7455, 8327, 6749, 23977, 101629}}, +{10036, 17, 36641, {1, 1, 7, 13, 1, 23, 59, 219, 125, 789, 1401, 707, 6915, 6275, 25813, 46595, 54119}}, +{10037, 17, 36642, {1, 3, 7, 9, 5, 7, 37, 33, 165, 181, 833, 1993, 4541, 5799, 23323, 39825, 44575}}, +{10038, 17, 36651, {1, 3, 1, 13, 13, 43, 69, 219, 437, 521, 503, 2293, 3607, 6845, 22583, 291, 65645}}, +{10039, 17, 36653, {1, 1, 7, 9, 29, 13, 123, 67, 191, 933, 1875, 1223, 5525, 13797, 29771, 58191, 84469}}, +{10040, 17, 36673, {1, 1, 7, 7, 3, 57, 101, 69, 23, 239, 1023, 3289, 1541, 6245, 23379, 161, 61155}}, +{10041, 17, 36676, {1, 3, 7, 13, 25, 33, 49, 145, 487, 681, 451, 1719, 109, 16273, 20009, 3003, 115815}}, +{10042, 17, 36679, {1, 1, 5, 11, 11, 59, 41, 133, 303, 469, 1975, 847, 5291, 13947, 8759, 8533, 25099}}, +{10043, 17, 36694, {1, 1, 1, 1, 29, 31, 53, 11, 239, 57, 1627, 1247, 1577, 3269, 20751, 4627, 40499}}, +{10044, 17, 36698, {1, 3, 7, 15, 1, 1, 51, 39, 383, 203, 1841, 3867, 4975, 9937, 1863, 52611, 83189}}, +{10045, 17, 36704, {1, 3, 7, 7, 13, 59, 15, 217, 355, 945, 1317, 815, 2413, 10985, 30647, 37745, 126553}}, +{10046, 17, 36714, {1, 1, 3, 11, 7, 29, 101, 137, 97, 119, 927, 3269, 6977, 4253, 10741, 61907, 122815}}, +{10047, 17, 36721, {1, 3, 3, 1, 29, 5, 49, 137, 411, 349, 905, 2481, 4961, 4513, 29409, 19503, 77915}}, +{10048, 17, 36722, {1, 1, 7, 13, 29, 59, 93, 61, 393, 29, 257, 3601, 6281, 5105, 17339, 53827, 83137}}, +{10049, 17, 36727, {1, 1, 1, 13, 5, 23, 61, 7, 51, 161, 737, 1549, 6021, 3385, 5539, 21261, 69995}}, +{10050, 17, 36749, {1, 1, 1, 15, 31, 1, 21, 113, 481, 7, 175, 717, 1593, 5937, 12347, 51835, 66649}}, +{10051, 17, 36758, {1, 1, 3, 7, 9, 51, 9, 199, 39, 607, 1157, 3913, 7767, 14195, 28721, 27655, 34709}}, +{10052, 17, 36761, {1, 3, 5, 5, 1, 15, 49, 33, 441, 721, 1749, 1497, 2023, 8351, 12641, 11861, 78545}}, +{10053, 17, 36771, {1, 3, 1, 7, 7, 17, 103, 113, 243, 25, 889, 1419, 3163, 12401, 22459, 39037, 101719}}, +{10054, 17, 36788, {1, 1, 7, 11, 17, 45, 121, 215, 3, 409, 1871, 2149, 4249, 5071, 14277, 55869, 91233}}, +{10055, 17, 36797, {1, 1, 3, 7, 19, 31, 47, 241, 175, 749, 1709, 355, 6037, 10555, 24107, 64683, 42673}}, +{10056, 17, 36805, {1, 3, 7, 11, 5, 21, 105, 137, 307, 101, 417, 1903, 1027, 10257, 27767, 9755, 92105}}, +{10057, 17, 36830, {1, 1, 3, 13, 9, 59, 11, 63, 295, 923, 401, 1471, 3517, 7761, 28855, 11525, 72455}}, +{10058, 17, 36833, {1, 1, 7, 15, 31, 51, 77, 29, 323, 579, 1313, 3441, 2903, 1683, 20605, 8185, 29753}}, +{10059, 17, 36839, {1, 1, 5, 15, 11, 59, 119, 109, 233, 1001, 1527, 2709, 73, 5311, 18313, 27155, 85999}}, +{10060, 17, 36843, {1, 3, 1, 5, 9, 59, 105, 93, 213, 401, 839, 3225, 3263, 13501, 2413, 60367, 121281}}, +{10061, 17, 36860, {1, 1, 7, 3, 19, 25, 75, 27, 325, 435, 527, 1465, 3601, 5785, 6135, 32841, 60129}}, +{10062, 17, 36866, {1, 1, 3, 7, 31, 19, 37, 157, 189, 51, 869, 2963, 5269, 9151, 14845, 30441, 89685}}, +{10063, 17, 36871, {1, 3, 3, 9, 17, 51, 23, 177, 417, 255, 1739, 3085, 7811, 15177, 25433, 38487, 51021}}, +{10064, 17, 36875, {1, 1, 3, 7, 27, 1, 45, 235, 59, 491, 1327, 3967, 7585, 4313, 29669, 47193, 89427}}, +{10065, 17, 36877, {1, 1, 3, 9, 19, 5, 27, 63, 263, 593, 1599, 1311, 1029, 603, 25291, 51391, 98915}}, +{10066, 17, 36880, {1, 3, 3, 15, 11, 7, 97, 99, 263, 155, 437, 3849, 2665, 3371, 8179, 51883, 3601}}, +{10067, 17, 36892, {1, 1, 3, 15, 7, 35, 37, 149, 251, 619, 1423, 553, 4453, 16365, 22543, 6951, 34655}}, +{10068, 17, 36911, {1, 3, 3, 11, 15, 21, 95, 143, 31, 425, 179, 2383, 4799, 7655, 26945, 9273, 103469}}, +{10069, 17, 36914, {1, 3, 1, 9, 13, 49, 3, 117, 361, 459, 227, 2067, 4909, 13461, 22505, 10259, 59697}}, +{10070, 17, 36916, {1, 1, 7, 7, 7, 23, 67, 217, 313, 965, 1747, 995, 579, 6217, 8915, 49329, 851}}, +{10071, 17, 36923, {1, 1, 3, 1, 17, 19, 7, 99, 281, 207, 1685, 2401, 967, 9399, 28741, 28839, 6003}}, +{10072, 17, 36940, {1, 3, 3, 5, 31, 61, 105, 251, 499, 319, 1167, 2203, 1195, 2663, 11797, 12981, 125523}}, +{10073, 17, 36943, {1, 3, 1, 5, 23, 19, 99, 101, 85, 837, 501, 2737, 4051, 2413, 9275, 38995, 21633}}, +{10074, 17, 36948, {1, 3, 7, 13, 17, 17, 119, 75, 281, 527, 1477, 1515, 7765, 5573, 10143, 6219, 57817}}, +{10075, 17, 36957, {1, 1, 5, 11, 19, 35, 85, 171, 107, 905, 1395, 1199, 7345, 15719, 14021, 47425, 36081}}, +{10076, 17, 36958, {1, 1, 3, 9, 9, 63, 109, 15, 323, 73, 1541, 2227, 5197, 12617, 23379, 53415, 105291}}, +{10077, 17, 36967, {1, 3, 3, 5, 5, 41, 85, 99, 3, 895, 1383, 3627, 3897, 1893, 23673, 56501, 78411}}, +{10078, 17, 36974, {1, 1, 7, 1, 25, 27, 45, 185, 475, 577, 1619, 727, 1407, 2383, 9215, 55295, 27349}}, +{10079, 17, 36981, {1, 3, 7, 11, 3, 51, 53, 53, 399, 711, 1075, 511, 5369, 10777, 14419, 63217, 130181}}, +{10080, 17, 37001, {1, 1, 7, 13, 25, 19, 107, 71, 151, 73, 735, 3837, 5307, 10229, 10529, 9989, 111925}}, +{10081, 17, 37012, {1, 1, 1, 15, 19, 59, 65, 77, 465, 957, 1085, 1359, 3959, 15823, 6273, 12565, 126167}}, +{10082, 17, 37015, {1, 1, 5, 5, 31, 53, 23, 173, 407, 795, 41, 3275, 1953, 13673, 26625, 33477, 14149}}, +{10083, 17, 37019, {1, 1, 7, 7, 1, 11, 121, 139, 77, 321, 1939, 2597, 621, 9579, 11629, 13119, 30505}}, +{10084, 17, 37035, {1, 1, 1, 5, 3, 33, 45, 127, 169, 581, 1521, 1019, 6489, 1069, 2469, 40255, 66619}}, +{10085, 17, 37040, {1, 3, 7, 5, 29, 47, 7, 245, 459, 417, 1027, 857, 4905, 11255, 3267, 9491, 78013}}, +{10086, 17, 37063, {1, 3, 5, 9, 25, 49, 61, 215, 19, 731, 303, 1001, 6031, 3705, 7797, 31957, 119383}}, +{10087, 17, 37064, {1, 3, 5, 5, 1, 9, 37, 187, 235, 453, 963, 2833, 3501, 605, 2763, 41215, 93547}}, +{10088, 17, 37069, {1, 3, 1, 1, 21, 3, 41, 53, 425, 687, 1051, 2365, 7835, 3981, 5557, 61993, 127417}}, +{10089, 17, 37077, {1, 3, 3, 7, 13, 61, 41, 189, 261, 163, 1931, 1803, 2379, 16379, 25453, 17911, 123431}}, +{10090, 17, 37093, {1, 1, 7, 15, 23, 21, 95, 7, 27, 897, 721, 3917, 7971, 4643, 5223, 46583, 32453}}, +{10091, 17, 37097, {1, 1, 7, 7, 1, 25, 83, 109, 223, 573, 533, 449, 6477, 10719, 28705, 8283, 94963}}, +{10092, 17, 37106, {1, 1, 5, 13, 21, 45, 63, 31, 21, 223, 31, 1249, 425, 7199, 11539, 7731, 44333}}, +{10093, 17, 37115, {1, 1, 5, 15, 29, 5, 87, 215, 287, 567, 297, 451, 5867, 15511, 1005, 57469, 87257}}, +{10094, 17, 37118, {1, 3, 5, 11, 13, 51, 117, 139, 377, 1015, 1237, 2053, 7625, 1003, 22673, 64345, 16203}}, +{10095, 17, 37123, {1, 1, 3, 15, 19, 39, 73, 205, 185, 331, 869, 857, 5043, 7247, 25253, 5799, 64857}}, +{10096, 17, 37129, {1, 3, 7, 1, 25, 63, 125, 47, 161, 289, 373, 1603, 1663, 1123, 28907, 37855, 47935}}, +{10097, 17, 37130, {1, 1, 7, 15, 9, 17, 97, 63, 79, 123, 1357, 3055, 2323, 16083, 21861, 38743, 81291}}, +{10098, 17, 37135, {1, 1, 3, 15, 5, 23, 7, 159, 127, 511, 55, 2691, 6823, 16151, 8059, 43021, 18911}}, +{10099, 17, 37137, {1, 1, 3, 9, 27, 19, 41, 75, 375, 921, 1745, 35, 1189, 5857, 29869, 43827, 16899}}, +{10100, 17, 37138, {1, 1, 1, 5, 3, 21, 13, 235, 51, 529, 291, 2619, 5419, 12573, 10907, 8865, 54987}}, +{10101, 17, 37140, {1, 3, 1, 13, 7, 9, 85, 131, 159, 743, 1671, 3001, 4559, 12343, 27563, 49941, 68447}}, +{10102, 17, 37144, {1, 1, 7, 5, 17, 61, 99, 63, 199, 383, 485, 2569, 5329, 645, 18805, 20421, 101229}}, +{10103, 17, 37149, {1, 1, 1, 15, 3, 59, 41, 247, 213, 843, 2003, 125, 7755, 4203, 20277, 47195, 48249}}, +{10104, 17, 37156, {1, 1, 5, 15, 15, 17, 113, 101, 27, 811, 1791, 1777, 749, 14317, 17267, 54467, 118369}}, +{10105, 17, 37159, {1, 3, 3, 3, 19, 37, 23, 117, 275, 733, 1259, 567, 1769, 12071, 5413, 49411, 99259}}, +{10106, 17, 37163, {1, 3, 1, 11, 3, 27, 103, 113, 251, 731, 481, 2771, 3205, 14151, 19403, 30307, 114691}}, +{10107, 17, 37165, {1, 1, 5, 15, 19, 15, 103, 25, 357, 197, 1437, 3621, 4747, 773, 5769, 33465, 28307}}, +{10108, 17, 37183, {1, 1, 5, 15, 5, 17, 89, 87, 423, 611, 549, 2549, 1275, 14545, 2931, 3853, 24577}}, +{10109, 17, 37185, {1, 3, 5, 1, 15, 13, 29, 49, 279, 495, 697, 1015, 4899, 15977, 10765, 47979, 40237}}, +{10110, 17, 37195, {1, 3, 3, 9, 31, 51, 21, 5, 279, 947, 1871, 3075, 5433, 1631, 30075, 30517, 99609}}, +{10111, 17, 37198, {1, 1, 1, 15, 19, 63, 79, 81, 19, 629, 617, 1887, 4015, 15501, 10551, 56419, 108739}}, +{10112, 17, 37203, {1, 1, 3, 9, 31, 15, 45, 37, 43, 349, 1357, 189, 4551, 9363, 15683, 48445, 89279}}, +{10113, 17, 37212, {1, 1, 1, 1, 17, 19, 121, 119, 397, 947, 1797, 613, 1627, 9591, 15779, 62295, 118843}}, +{10114, 17, 37233, {1, 1, 1, 7, 25, 55, 71, 227, 507, 497, 1209, 2919, 5733, 15785, 21437, 40043, 2325}}, +{10115, 17, 37236, {1, 1, 1, 15, 11, 1, 59, 93, 69, 859, 67, 1831, 6345, 5643, 29515, 20337, 77281}}, +{10116, 17, 37240, {1, 3, 5, 9, 19, 53, 59, 63, 161, 853, 697, 1441, 3457, 951, 29659, 15337, 38443}}, +{10117, 17, 37256, {1, 3, 1, 9, 7, 21, 73, 81, 89, 291, 411, 3793, 4639, 2829, 6855, 38113, 32875}}, +{10118, 17, 37264, {1, 1, 7, 1, 15, 3, 79, 35, 363, 459, 907, 1157, 5165, 8021, 10135, 36367, 111991}}, +{10119, 17, 37267, {1, 3, 5, 13, 21, 23, 63, 155, 393, 869, 1553, 3345, 2711, 8249, 24907, 28111, 36667}}, +{10120, 17, 37273, {1, 1, 7, 11, 15, 25, 29, 93, 45, 637, 1473, 2053, 313, 8047, 23411, 8643, 2925}}, +{10121, 17, 37295, {1, 3, 7, 9, 11, 5, 73, 69, 311, 949, 2017, 259, 2861, 10547, 12017, 34125, 74101}}, +{10122, 17, 37315, {1, 3, 1, 13, 19, 61, 115, 59, 447, 787, 1621, 2221, 7841, 5329, 18137, 13857, 51889}}, +{10123, 17, 37330, {1, 3, 7, 13, 1, 23, 117, 49, 449, 541, 7, 3269, 1725, 6677, 15979, 4319, 40919}}, +{10124, 17, 37336, {1, 3, 5, 5, 17, 29, 35, 123, 3, 481, 305, 1589, 4319, 5183, 31907, 53019, 49375}}, +{10125, 17, 37339, {1, 3, 1, 7, 11, 59, 79, 89, 479, 821, 763, 3597, 7457, 13775, 11213, 22777, 80379}}, +{10126, 17, 37342, {1, 1, 3, 7, 13, 17, 65, 155, 335, 671, 331, 895, 7459, 1719, 10675, 60109, 63143}}, +{10127, 17, 37357, {1, 3, 5, 1, 29, 33, 105, 249, 61, 469, 1629, 3777, 4393, 14457, 11701, 6065, 2635}}, +{10128, 17, 37365, {1, 3, 7, 3, 13, 13, 21, 15, 363, 63, 1263, 1479, 1459, 6577, 7481, 30393, 19831}}, +{10129, 17, 37372, {1, 1, 3, 7, 29, 25, 71, 247, 501, 815, 1697, 2457, 4975, 3821, 25759, 24901, 120603}}, +{10130, 17, 37381, {1, 1, 1, 5, 19, 3, 59, 163, 367, 779, 47, 905, 897, 3293, 13951, 25497, 99151}}, +{10131, 17, 37399, {1, 3, 1, 5, 11, 47, 21, 171, 123, 215, 1797, 3741, 4921, 7213, 4847, 3239, 114839}}, +{10132, 17, 37416, {1, 3, 3, 5, 23, 63, 57, 31, 409, 431, 1337, 3301, 4695, 7401, 9383, 12639, 34347}}, +{10133, 17, 37429, {1, 3, 3, 5, 27, 57, 29, 147, 111, 1015, 815, 1509, 3967, 7255, 15109, 26001, 90775}}, +{10134, 17, 37436, {1, 1, 7, 13, 31, 45, 21, 99, 377, 399, 255, 459, 6043, 11055, 5675, 3333, 32813}}, +{10135, 17, 37442, {1, 3, 1, 7, 1, 55, 121, 77, 429, 433, 297, 3181, 3029, 6777, 22795, 61515, 58553}}, +{10136, 17, 37451, {1, 3, 5, 9, 1, 19, 121, 1, 499, 589, 1597, 2219, 1029, 4223, 31613, 45685, 53517}}, +{10137, 17, 37453, {1, 3, 1, 9, 29, 39, 83, 193, 43, 41, 467, 1711, 2761, 10635, 15503, 38043, 120615}}, +{10138, 17, 37475, {1, 1, 7, 13, 27, 61, 1, 181, 163, 613, 221, 63, 6147, 8215, 15093, 2417, 71489}}, +{10139, 17, 37482, {1, 1, 7, 15, 31, 63, 47, 139, 427, 847, 53, 1275, 1019, 9455, 12537, 22467, 129947}}, +{10140, 17, 37489, {1, 1, 5, 3, 7, 1, 67, 189, 501, 319, 37, 2849, 2535, 10917, 11115, 48083, 67255}}, +{10141, 17, 37490, {1, 1, 3, 13, 7, 31, 69, 137, 19, 73, 1553, 3945, 2381, 8761, 3977, 24291, 128189}}, +{10142, 17, 37523, {1, 3, 5, 11, 1, 59, 43, 229, 301, 771, 559, 195, 1675, 12605, 22211, 2915, 90351}}, +{10143, 17, 37525, {1, 3, 3, 9, 13, 27, 97, 33, 273, 229, 1537, 1179, 6985, 11679, 17889, 44673, 126641}}, +{10144, 17, 37530, {1, 1, 7, 3, 31, 29, 41, 123, 491, 639, 269, 45, 2155, 14103, 6725, 50781, 42785}}, +{10145, 17, 37535, {1, 3, 5, 9, 9, 11, 89, 249, 475, 701, 1029, 985, 8167, 439, 31897, 24529, 45759}}, +{10146, 17, 37539, {1, 1, 5, 11, 9, 39, 127, 179, 15, 135, 1437, 3331, 5553, 939, 15319, 64937, 110783}}, +{10147, 17, 37548, {1, 3, 1, 5, 7, 61, 1, 219, 111, 801, 85, 3427, 2533, 12861, 5395, 28969, 48091}}, +{10148, 17, 37559, {1, 1, 1, 9, 23, 57, 77, 41, 61, 635, 457, 231, 8121, 5349, 27021, 64807, 87563}}, +{10149, 17, 37560, {1, 3, 5, 7, 31, 31, 101, 155, 255, 199, 1973, 903, 7681, 15379, 12845, 47943, 60663}}, +{10150, 17, 37566, {1, 1, 5, 7, 1, 7, 71, 121, 323, 669, 193, 1209, 267, 9, 21223, 22037, 121567}}, +{10151, 17, 37597, {1, 3, 1, 5, 17, 29, 97, 189, 219, 813, 187, 1763, 5817, 13185, 467, 40159, 18037}}, +{10152, 17, 37601, {1, 1, 7, 9, 7, 59, 3, 189, 379, 843, 631, 3945, 2909, 4191, 30343, 11223, 105629}}, +{10153, 17, 37602, {1, 3, 1, 3, 15, 17, 23, 73, 439, 699, 657, 451, 6139, 15869, 4101, 32327, 55485}}, +{10154, 17, 37604, {1, 3, 3, 5, 21, 37, 87, 157, 205, 493, 705, 1539, 2193, 13539, 2797, 49063, 55595}}, +{10155, 17, 37616, {1, 1, 5, 11, 11, 41, 5, 131, 445, 781, 1153, 1371, 6763, 3101, 32449, 16065, 86579}}, +{10156, 17, 37622, {1, 3, 5, 1, 23, 51, 97, 87, 161, 261, 269, 2035, 2139, 3049, 32217, 25189, 93571}}, +{10157, 17, 37658, {1, 3, 1, 11, 23, 1, 111, 45, 19, 19, 1767, 3571, 6027, 3593, 17453, 53821, 28121}}, +{10158, 17, 37660, {1, 3, 3, 5, 17, 5, 17, 247, 5, 73, 29, 443, 7713, 15803, 22311, 56755, 100119}}, +{10159, 17, 37667, {1, 3, 1, 13, 7, 1, 41, 139, 317, 977, 1529, 1217, 529, 3231, 21491, 28461, 96699}}, +{10160, 17, 37684, {1, 3, 1, 13, 11, 41, 103, 99, 81, 849, 231, 1729, 761, 711, 11499, 25581, 59433}}, +{10161, 17, 37693, {1, 1, 5, 5, 13, 33, 79, 175, 89, 29, 295, 2867, 1197, 6137, 32063, 23471, 21721}}, +{10162, 17, 37694, {1, 1, 5, 15, 17, 29, 123, 249, 273, 437, 443, 2601, 3957, 11955, 261, 54863, 85727}}, +{10163, 17, 37696, {1, 1, 5, 13, 3, 31, 57, 205, 3, 903, 905, 3851, 757, 13761, 28615, 48185, 33227}}, +{10164, 17, 37706, {1, 3, 7, 1, 1, 1, 107, 15, 307, 405, 45, 297, 4365, 1569, 9263, 13685, 36027}}, +{10165, 17, 37711, {1, 3, 1, 9, 17, 61, 113, 121, 249, 743, 191, 2523, 6621, 5395, 23797, 57975, 51675}}, +{10166, 17, 37730, {1, 3, 5, 3, 27, 21, 49, 113, 59, 989, 501, 2651, 3827, 5121, 29667, 32903, 84199}}, +{10167, 17, 37735, {1, 1, 7, 7, 19, 43, 11, 191, 143, 93, 1167, 2521, 2569, 12187, 28575, 13073, 113545}}, +{10168, 17, 37742, {1, 1, 7, 3, 27, 39, 11, 85, 61, 979, 49, 2191, 2607, 13967, 28123, 48903, 16327}}, +{10169, 17, 37744, {1, 1, 5, 3, 17, 17, 1, 149, 189, 1017, 705, 3119, 6441, 1595, 30533, 18795, 34265}}, +{10170, 17, 37759, {1, 1, 3, 11, 31, 11, 125, 109, 39, 41, 191, 2615, 1377, 16089, 8793, 31425, 90507}}, +{10171, 17, 37777, {1, 1, 1, 1, 23, 15, 21, 245, 337, 649, 585, 2893, 927, 883, 15119, 2595, 127963}}, +{10172, 17, 37783, {1, 3, 5, 3, 13, 17, 123, 167, 471, 5, 1671, 2787, 5081, 12903, 4257, 19213, 2503}}, +{10173, 17, 37784, {1, 1, 5, 7, 21, 57, 75, 171, 509, 591, 85, 407, 1747, 6375, 19641, 55683, 111289}}, +{10174, 17, 37793, {1, 1, 7, 7, 3, 31, 121, 111, 19, 361, 1033, 4033, 2359, 13451, 15095, 61817, 69683}}, +{10175, 17, 37800, {1, 1, 5, 9, 21, 33, 83, 179, 387, 69, 1085, 2147, 2751, 10899, 16971, 40623, 110891}}, +{10176, 17, 37818, {1, 1, 7, 9, 11, 45, 81, 71, 73, 551, 145, 159, 7519, 3459, 5197, 48913, 59045}}, +{10177, 17, 37823, {1, 3, 1, 3, 7, 35, 17, 249, 207, 767, 1189, 1451, 4351, 3673, 28807, 671, 69271}}, +{10178, 17, 37825, {1, 3, 1, 15, 21, 27, 81, 243, 55, 191, 1497, 3205, 1601, 705, 14891, 14403, 130729}}, +{10179, 17, 37828, {1, 3, 1, 7, 17, 43, 41, 123, 507, 201, 1873, 3547, 5681, 1819, 4251, 39661, 57923}}, +{10180, 17, 37832, {1, 3, 1, 9, 3, 59, 57, 235, 445, 479, 961, 1937, 2229, 2511, 15235, 59707, 72261}}, +{10181, 17, 37849, {1, 1, 5, 13, 9, 63, 67, 217, 63, 259, 175, 2469, 3075, 12365, 7727, 42215, 12635}}, +{10182, 17, 37856, {1, 1, 3, 13, 11, 9, 125, 131, 17, 399, 675, 767, 7349, 10433, 21615, 46823, 3955}}, +{10183, 17, 37861, {1, 1, 3, 15, 19, 53, 73, 171, 125, 531, 1093, 1449, 2931, 10897, 12263, 9799, 98251}}, +{10184, 17, 37862, {1, 1, 5, 5, 11, 27, 33, 9, 503, 545, 339, 1099, 1973, 13261, 26871, 14569, 22755}}, +{10185, 17, 37886, {1, 3, 7, 1, 19, 5, 79, 133, 247, 1021, 1431, 3707, 4603, 3285, 5469, 46963, 98203}}, +{10186, 17, 37893, {1, 3, 5, 7, 15, 11, 87, 169, 495, 763, 1295, 2533, 4213, 8671, 21683, 12521, 90071}}, +{10187, 17, 37915, {1, 1, 3, 1, 17, 55, 7, 165, 313, 659, 49, 377, 6675, 15255, 9881, 11751, 87789}}, +{10188, 17, 37922, {1, 3, 1, 15, 3, 49, 27, 109, 145, 1011, 1939, 3201, 6141, 7229, 20741, 59285, 129365}}, +{10189, 17, 37936, {1, 1, 5, 5, 5, 51, 117, 17, 363, 795, 1343, 2637, 6209, 1045, 22515, 10687, 48487}}, +{10190, 17, 37939, {1, 1, 5, 15, 1, 37, 91, 241, 245, 703, 505, 3369, 6163, 10265, 12497, 46301, 109523}}, +{10191, 17, 37945, {1, 1, 7, 11, 3, 37, 67, 35, 229, 823, 193, 913, 3331, 4475, 9271, 11859, 52709}}, +{10192, 17, 37956, {1, 1, 3, 3, 7, 25, 61, 159, 81, 1011, 1491, 1439, 1031, 765, 9839, 61891, 20969}}, +{10193, 17, 37960, {1, 3, 3, 7, 25, 39, 73, 59, 101, 101, 225, 1105, 5943, 5223, 12585, 16411, 62699}}, +{10194, 17, 37971, {1, 1, 7, 5, 25, 19, 27, 113, 465, 319, 2035, 2127, 1319, 11793, 26821, 44805, 28217}}, +{10195, 17, 37980, {1, 3, 5, 11, 7, 9, 81, 107, 67, 31, 1503, 3303, 4451, 11417, 32681, 26861, 54845}}, +{10196, 17, 38002, {1, 3, 1, 1, 3, 51, 93, 235, 93, 247, 2027, 1517, 6797, 1703, 10233, 45313, 60771}}, +{10197, 17, 38007, {1, 3, 3, 15, 25, 11, 83, 77, 413, 189, 119, 597, 2199, 12347, 7935, 40191, 125569}}, +{10198, 17, 38018, {1, 3, 7, 9, 11, 3, 77, 31, 89, 163, 1993, 3017, 3973, 10943, 22247, 45565, 7261}}, +{10199, 17, 38020, {1, 3, 7, 7, 15, 13, 7, 155, 373, 893, 607, 3521, 7455, 13809, 6145, 31743, 86329}}, +{10200, 17, 38038, {1, 1, 1, 15, 25, 41, 111, 65, 11, 627, 59, 2725, 995, 3761, 25361, 45189, 48355}}, +{10201, 17, 38041, {1, 1, 7, 5, 29, 43, 91, 139, 323, 503, 679, 4079, 403, 1899, 1425, 26989, 117057}}, +{10202, 17, 38044, {1, 3, 5, 13, 1, 17, 19, 61, 205, 833, 345, 1031, 7995, 999, 27469, 15943, 88011}}, +{10203, 17, 38048, {1, 3, 1, 7, 23, 49, 123, 9, 11, 761, 1163, 669, 3837, 15225, 23393, 19513, 9457}}, +{10204, 17, 38051, {1, 1, 5, 9, 9, 33, 29, 123, 277, 433, 1799, 1583, 3133, 13461, 26443, 15807, 80173}}, +{10205, 17, 38054, {1, 3, 7, 3, 31, 29, 77, 105, 297, 617, 491, 647, 6541, 5033, 31841, 48405, 126985}}, +{10206, 17, 38065, {1, 1, 5, 5, 31, 39, 17, 25, 3, 279, 89, 3985, 3333, 5681, 3701, 36319, 12585}}, +{10207, 17, 38066, {1, 1, 7, 13, 13, 19, 93, 129, 51, 875, 1083, 1739, 5193, 6217, 10033, 51839, 66071}}, +{10208, 17, 38077, {1, 1, 7, 9, 15, 23, 93, 121, 507, 115, 707, 3181, 1521, 9609, 4577, 54389, 19167}}, +{10209, 17, 38090, {1, 3, 3, 7, 17, 51, 19, 29, 387, 711, 1105, 1627, 4421, 15183, 14149, 26485, 106425}}, +{10210, 17, 38109, {1, 3, 3, 15, 25, 59, 11, 45, 259, 1019, 1997, 3373, 5083, 5701, 30217, 44845, 67559}}, +{10211, 17, 38119, {1, 3, 3, 9, 17, 47, 5, 103, 477, 785, 235, 1523, 1505, 8811, 15255, 53493, 4383}}, +{10212, 17, 38120, {1, 3, 7, 3, 7, 37, 73, 247, 397, 409, 1065, 525, 5665, 8533, 30627, 19035, 22937}}, +{10213, 17, 38123, {1, 3, 3, 15, 15, 47, 123, 215, 413, 249, 55, 2563, 8033, 8743, 18659, 7947, 56057}}, +{10214, 17, 38146, {1, 1, 7, 3, 11, 61, 103, 109, 313, 293, 149, 999, 901, 13387, 15351, 52973, 68385}}, +{10215, 17, 38155, {1, 1, 1, 5, 31, 13, 57, 43, 263, 141, 335, 2777, 3435, 4231, 20623, 2597, 33481}}, +{10216, 17, 38160, {1, 1, 7, 13, 21, 53, 101, 75, 237, 275, 1903, 3501, 8023, 3651, 19609, 44417, 60287}}, +{10217, 17, 38181, {1, 1, 1, 1, 13, 43, 83, 255, 355, 567, 1781, 2943, 1061, 2701, 24861, 58381, 60255}}, +{10218, 17, 38188, {1, 1, 3, 9, 25, 5, 81, 85, 445, 857, 517, 3687, 2641, 6699, 19273, 4481, 8715}}, +{10219, 17, 38199, {1, 1, 3, 7, 17, 39, 33, 31, 29, 269, 379, 3149, 4731, 10387, 7941, 49199, 18423}}, +{10220, 17, 38203, {1, 1, 7, 15, 19, 37, 105, 157, 185, 1023, 1865, 53, 6765, 3, 22897, 17019, 109521}}, +{10221, 17, 38225, {1, 3, 7, 5, 5, 7, 117, 211, 19, 149, 1091, 3721, 201, 4455, 18965, 51401, 67225}}, +{10222, 17, 38226, {1, 3, 5, 11, 1, 55, 101, 41, 469, 271, 1251, 949, 861, 11903, 14773, 25675, 114161}}, +{10223, 17, 38231, {1, 1, 7, 7, 23, 13, 103, 185, 137, 575, 797, 1195, 5301, 13307, 12043, 26003, 31719}}, +{10224, 17, 38244, {1, 1, 5, 7, 11, 51, 17, 71, 321, 559, 1461, 3571, 1033, 15575, 7097, 14703, 52359}}, +{10225, 17, 38248, {1, 1, 1, 5, 21, 9, 123, 211, 233, 81, 111, 1433, 7825, 11771, 30743, 23993, 48717}}, +{10226, 17, 38259, {1, 3, 5, 15, 7, 3, 109, 33, 99, 135, 393, 3463, 7271, 14387, 30723, 19079, 83073}}, +{10227, 17, 38268, {1, 3, 3, 15, 3, 51, 77, 219, 409, 11, 67, 3787, 5155, 9259, 7185, 21611, 32577}}, +{10228, 17, 38271, {1, 3, 7, 1, 5, 49, 125, 85, 151, 301, 887, 1765, 5, 12849, 11775, 11319, 29547}}, +{10229, 17, 38272, {1, 1, 7, 11, 17, 15, 105, 29, 327, 637, 1493, 3361, 1823, 14709, 18355, 741, 57807}}, +{10230, 17, 38278, {1, 1, 7, 7, 3, 27, 15, 113, 227, 617, 1543, 1719, 8065, 13627, 23525, 20511, 64759}}, +{10231, 17, 38292, {1, 1, 3, 3, 21, 47, 89, 177, 381, 711, 1367, 2405, 887, 2351, 22957, 49679, 5963}}, +{10232, 17, 38296, {1, 3, 7, 9, 7, 1, 39, 71, 9, 275, 875, 1385, 6215, 10419, 25921, 63427, 18031}}, +{10233, 17, 38318, {1, 1, 7, 5, 23, 57, 27, 7, 445, 111, 953, 37, 2769, 1967, 8165, 35417, 36471}}, +{10234, 17, 38326, {1, 3, 3, 11, 23, 17, 119, 113, 275, 625, 1957, 2795, 3815, 7937, 11049, 31939, 128053}}, +{10235, 17, 38338, {1, 3, 3, 5, 7, 35, 45, 41, 251, 491, 1953, 3201, 751, 5705, 595, 27003, 77917}}, +{10236, 17, 38347, {1, 3, 5, 3, 25, 17, 55, 137, 299, 541, 289, 2225, 4667, 3569, 13687, 36193, 75705}}, +{10237, 17, 38373, {1, 1, 7, 15, 21, 9, 27, 157, 469, 441, 193, 2097, 4863, 2147, 31197, 24283, 102039}}, +{10238, 17, 38378, {1, 1, 1, 11, 17, 39, 73, 37, 91, 121, 1283, 367, 1875, 14365, 28349, 60993, 10791}}, +{10239, 17, 38380, {1, 3, 5, 9, 13, 63, 89, 53, 459, 347, 343, 2321, 5237, 2497, 279, 63833, 10709}}, +{10240, 17, 38388, {1, 1, 1, 15, 11, 23, 41, 79, 45, 567, 1217, 1669, 1679, 2561, 16191, 49041, 4081}}, +{10241, 17, 38392, {1, 3, 1, 5, 3, 9, 103, 245, 47, 561, 229, 2945, 6563, 797, 21571, 25769, 12995}}, +{10242, 17, 38397, {1, 3, 5, 7, 5, 47, 99, 55, 49, 951, 765, 2095, 8021, 4389, 20501, 26047, 119967}}, +{10243, 17, 38398, {1, 1, 5, 3, 15, 47, 81, 121, 379, 527, 419, 1093, 367, 10939, 17181, 13905, 49859}}, +{10244, 17, 38401, {1, 3, 3, 5, 7, 59, 53, 255, 131, 685, 1677, 3757, 3601, 89, 6225, 32705, 28287}}, +{10245, 17, 38404, {1, 3, 7, 1, 7, 55, 85, 47, 425, 793, 605, 2313, 791, 4247, 9693, 10633, 82915}}, +{10246, 17, 38422, {1, 3, 5, 13, 13, 49, 127, 213, 27, 657, 419, 55, 6289, 295, 4211, 8899, 120237}}, +{10247, 17, 38432, {1, 1, 7, 11, 11, 7, 75, 35, 315, 125, 517, 3677, 2323, 6897, 11535, 36789, 20179}}, +{10248, 17, 38469, {1, 1, 5, 9, 11, 3, 77, 43, 323, 647, 383, 485, 3937, 9081, 27745, 59149, 103433}}, +{10249, 17, 38482, {1, 3, 3, 13, 3, 47, 91, 81, 115, 625, 2003, 3601, 531, 113, 20719, 47391, 111039}}, +{10250, 17, 38493, {1, 1, 3, 13, 5, 49, 123, 189, 109, 325, 497, 923, 3861, 14029, 22651, 19857, 104801}}, +{10251, 17, 38507, {1, 1, 5, 3, 29, 23, 25, 23, 501, 371, 1983, 1303, 2261, 11865, 13281, 2587, 75741}}, +{10252, 17, 38518, {1, 3, 5, 13, 27, 61, 45, 11, 157, 615, 897, 1529, 2213, 757, 30105, 2011, 27267}}, +{10253, 17, 38521, {1, 3, 5, 13, 29, 31, 95, 159, 449, 307, 1575, 1897, 2301, 14023, 6921, 30543, 31843}}, +{10254, 17, 38527, {1, 3, 3, 5, 1, 1, 79, 147, 437, 623, 1161, 3407, 3073, 15425, 4329, 19651, 90597}}, +{10255, 17, 38533, {1, 1, 1, 11, 17, 7, 43, 171, 447, 841, 573, 3775, 5517, 3629, 18241, 31907, 51423}}, +{10256, 17, 38534, {1, 1, 3, 7, 15, 53, 111, 203, 171, 963, 1983, 2017, 6067, 12281, 3417, 7431, 33803}}, +{10257, 17, 38552, {1, 3, 1, 1, 31, 49, 125, 65, 7, 579, 1709, 1815, 2643, 11537, 30093, 11813, 65157}}, +{10258, 17, 38561, {1, 3, 7, 15, 1, 3, 61, 21, 163, 809, 1263, 2577, 7811, 12611, 6921, 18529, 25709}}, +{10259, 17, 38576, {1, 1, 3, 5, 17, 43, 13, 81, 29, 905, 1975, 589, 5875, 15683, 29447, 46453, 127911}}, +{10260, 17, 38581, {1, 1, 5, 3, 19, 29, 11, 67, 375, 771, 755, 3939, 1465, 3275, 1119, 24695, 105105}}, +{10261, 17, 38585, {1, 1, 3, 11, 23, 37, 33, 135, 329, 733, 245, 2353, 2547, 7823, 16265, 5975, 37877}}, +{10262, 17, 38594, {1, 3, 7, 13, 15, 9, 47, 181, 239, 723, 1219, 409, 1685, 5493, 14189, 18107, 26231}}, +{10263, 17, 38606, {1, 1, 5, 1, 9, 1, 65, 125, 439, 591, 1499, 3797, 5879, 4231, 18655, 9643, 42265}}, +{10264, 17, 38613, {1, 1, 7, 7, 11, 51, 111, 47, 169, 39, 45, 2211, 6729, 10987, 22367, 27257, 112711}}, +{10265, 17, 38617, {1, 3, 5, 3, 19, 61, 89, 185, 23, 793, 1457, 1743, 3743, 15063, 14053, 50201, 109175}}, +{10266, 17, 38634, {1, 1, 5, 13, 31, 51, 69, 135, 427, 527, 1673, 2393, 5829, 683, 1509, 56617, 105735}}, +{10267, 17, 38644, {1, 1, 1, 15, 31, 51, 3, 105, 125, 593, 1589, 3217, 7449, 525, 30599, 11689, 14781}}, +{10268, 17, 38651, {1, 1, 1, 11, 9, 37, 113, 45, 487, 961, 87, 1461, 3521, 8645, 19771, 43817, 43277}}, +{10269, 17, 38661, {1, 1, 7, 3, 7, 11, 45, 97, 11, 593, 319, 2597, 37, 4157, 6669, 29929, 17213}}, +{10270, 17, 38665, {1, 3, 7, 3, 29, 21, 101, 93, 289, 975, 1937, 3423, 757, 7075, 12575, 26801, 90989}}, +{10271, 17, 38668, {1, 1, 7, 15, 25, 49, 49, 149, 503, 365, 1359, 2155, 7977, 14955, 18439, 44269, 88995}}, +{10272, 17, 38674, {1, 3, 7, 13, 25, 27, 15, 67, 157, 873, 339, 2143, 1405, 12209, 30939, 36109, 107699}}, +{10273, 17, 38689, {1, 3, 5, 5, 21, 33, 121, 95, 61, 159, 1423, 2899, 3811, 263, 9139, 54481, 107375}}, +{10274, 17, 38695, {1, 1, 7, 7, 13, 49, 83, 53, 267, 131, 673, 3945, 5255, 2009, 21017, 41749, 44817}}, +{10275, 17, 38696, {1, 3, 1, 13, 25, 57, 125, 5, 323, 653, 221, 2013, 7225, 8719, 28049, 41953, 14725}}, +{10276, 17, 38707, {1, 3, 7, 7, 5, 13, 35, 161, 221, 951, 769, 717, 267, 2233, 23387, 47411, 95739}}, +{10277, 17, 38710, {1, 3, 7, 11, 23, 47, 37, 67, 501, 159, 763, 4045, 5125, 5667, 9895, 33041, 101171}}, +{10278, 17, 38716, {1, 1, 7, 1, 31, 31, 111, 183, 33, 895, 1819, 3593, 1285, 10145, 3679, 36615, 82863}}, +{10279, 17, 38733, {1, 3, 5, 7, 21, 59, 55, 163, 139, 855, 1903, 3229, 3745, 10289, 28831, 46895, 12647}}, +{10280, 17, 38736, {1, 3, 7, 9, 25, 31, 113, 177, 459, 201, 565, 2089, 725, 9273, 26249, 5987, 49573}}, +{10281, 17, 38742, {1, 1, 7, 15, 3, 37, 49, 145, 121, 803, 1197, 2797, 21, 833, 2277, 28189, 93171}}, +{10282, 17, 38751, {1, 1, 7, 7, 13, 31, 93, 153, 345, 363, 1825, 1481, 3347, 13277, 26119, 63153, 118231}}, +{10283, 17, 38752, {1, 3, 1, 11, 31, 9, 33, 95, 433, 595, 1131, 465, 1797, 15453, 32527, 40789, 37799}}, +{10284, 17, 38775, {1, 1, 5, 11, 31, 29, 83, 33, 243, 633, 1325, 3843, 7717, 851, 29789, 48827, 89209}}, +{10285, 17, 38779, {1, 1, 3, 7, 25, 31, 127, 219, 281, 51, 1843, 3363, 5985, 1697, 3083, 18967, 117421}}, +{10286, 17, 38792, {1, 3, 7, 9, 1, 19, 125, 199, 41, 117, 903, 1131, 7731, 14431, 24753, 62841, 50251}}, +{10287, 17, 38798, {1, 3, 5, 5, 11, 37, 19, 249, 97, 59, 1849, 1151, 2171, 1217, 31277, 26547, 86601}}, +{10288, 17, 38819, {1, 3, 3, 7, 29, 35, 21, 7, 93, 971, 1155, 1847, 89, 6759, 29611, 40793, 88327}}, +{10289, 17, 38822, {1, 3, 5, 5, 29, 23, 91, 71, 479, 943, 1839, 3699, 2491, 9603, 15061, 43221, 20435}}, +{10290, 17, 38839, {1, 3, 3, 7, 29, 11, 15, 83, 21, 585, 501, 161, 4797, 11243, 14879, 12519, 19069}}, +{10291, 17, 38851, {1, 1, 5, 15, 13, 37, 9, 215, 433, 925, 987, 3253, 8027, 7013, 20801, 12891, 36497}}, +{10292, 17, 38854, {1, 3, 7, 1, 15, 31, 95, 85, 355, 1013, 1963, 2943, 1925, 13691, 15237, 28943, 63873}}, +{10293, 17, 38863, {1, 3, 3, 1, 17, 21, 99, 201, 465, 819, 665, 901, 2671, 2457, 29603, 35275, 28339}}, +{10294, 17, 38865, {1, 1, 1, 9, 5, 23, 111, 107, 27, 433, 1341, 91, 6879, 1933, 25433, 37435, 99061}}, +{10295, 17, 38887, {1, 3, 5, 13, 11, 55, 27, 151, 397, 591, 89, 1221, 5581, 2701, 15033, 41879, 71415}}, +{10296, 17, 38896, {1, 3, 3, 5, 17, 35, 15, 119, 487, 903, 875, 3391, 7731, 12181, 27823, 32561, 59133}}, +{10297, 17, 38901, {1, 1, 5, 7, 15, 33, 67, 53, 307, 947, 857, 2713, 803, 765, 4175, 15513, 23985}}, +{10298, 17, 38912, {1, 3, 1, 15, 23, 11, 15, 101, 467, 429, 153, 3205, 5627, 7555, 22515, 12721, 7905}}, +{10299, 17, 38918, {1, 1, 3, 7, 19, 61, 55, 187, 413, 49, 1031, 3415, 3903, 6933, 20017, 50429, 116407}}, +{10300, 17, 38929, {1, 3, 1, 13, 13, 15, 33, 1, 403, 441, 1969, 775, 2209, 15061, 15657, 28819, 62705}}, +{10301, 17, 38941, {1, 1, 5, 13, 13, 47, 67, 97, 87, 677, 1639, 3281, 1395, 8499, 18449, 49935, 25775}}, +{10302, 17, 38948, {1, 3, 3, 13, 7, 13, 77, 45, 405, 881, 293, 2263, 6517, 15415, 25809, 5681, 31327}}, +{10303, 17, 38965, {1, 3, 7, 5, 5, 51, 63, 171, 401, 671, 1631, 1735, 7361, 8741, 31933, 44761, 12209}}, +{10304, 17, 38969, {1, 1, 7, 3, 13, 3, 39, 223, 105, 781, 241, 2895, 5165, 12135, 5683, 63009, 58399}}, +{10305, 17, 38977, {1, 1, 5, 11, 29, 11, 37, 1, 445, 157, 219, 2269, 3025, 5721, 24539, 41879, 128445}}, +{10306, 17, 38987, {1, 3, 7, 15, 23, 21, 125, 105, 141, 101, 1981, 3765, 5349, 13781, 10055, 7069, 77721}}, +{10307, 17, 38992, {1, 1, 7, 9, 3, 37, 111, 95, 33, 53, 1021, 1629, 6945, 4657, 19977, 36715, 101401}}, +{10308, 17, 38995, {1, 3, 3, 1, 9, 5, 65, 77, 459, 471, 1045, 2351, 2787, 13001, 16211, 22585, 116205}}, +{10309, 17, 39001, {1, 1, 7, 9, 25, 41, 21, 187, 471, 997, 583, 2243, 6537, 11837, 21089, 51051, 98517}}, +{10310, 17, 39004, {1, 1, 7, 5, 13, 15, 81, 39, 223, 935, 951, 5, 4315, 11789, 18365, 49647, 92461}}, +{10311, 17, 39011, {1, 3, 3, 5, 11, 15, 97, 245, 43, 819, 1415, 3287, 2051, 15879, 21727, 54467, 53875}}, +{10312, 17, 39018, {1, 3, 1, 11, 7, 47, 125, 155, 301, 469, 805, 3789, 6967, 12117, 30369, 55183, 12671}}, +{10313, 17, 39025, {1, 1, 3, 13, 17, 25, 45, 199, 69, 1015, 581, 3891, 7743, 9273, 7639, 59055, 93923}}, +{10314, 17, 39031, {1, 1, 5, 11, 9, 47, 39, 251, 489, 47, 83, 2147, 943, 1959, 21361, 5325, 106079}}, +{10315, 17, 39032, {1, 3, 5, 13, 27, 59, 35, 1, 155, 367, 165, 2665, 3021, 1127, 28585, 45347, 66763}}, +{10316, 17, 39044, {1, 3, 1, 5, 31, 31, 15, 125, 485, 581, 1987, 2293, 4573, 11431, 20773, 58661, 79869}}, +{10317, 17, 39056, {1, 3, 5, 15, 31, 11, 109, 229, 11, 831, 1545, 919, 6125, 9337, 4169, 58041, 67577}}, +{10318, 17, 39065, {1, 1, 1, 3, 1, 43, 13, 89, 89, 863, 1607, 1897, 4831, 5239, 24503, 51853, 126983}}, +{10319, 17, 39066, {1, 1, 5, 11, 11, 37, 11, 253, 495, 83, 941, 3665, 5187, 13679, 11811, 29563, 80571}}, +{10320, 17, 39084, {1, 3, 7, 15, 3, 45, 45, 157, 477, 321, 1401, 1133, 271, 12455, 31543, 18223, 116701}}, +{10321, 17, 39095, {1, 1, 5, 3, 7, 5, 17, 127, 195, 583, 715, 3975, 6865, 7617, 6749, 15687, 42375}}, +{10322, 17, 39099, {1, 1, 1, 7, 5, 7, 21, 163, 303, 45, 1435, 1345, 2489, 15333, 18459, 60837, 104339}}, +{10323, 17, 39101, {1, 3, 1, 1, 7, 23, 39, 93, 347, 947, 345, 1713, 6383, 15411, 10849, 32559, 126431}}, +{10324, 17, 39102, {1, 3, 1, 5, 19, 41, 119, 213, 3, 991, 1745, 3989, 155, 7761, 28179, 59805, 106759}}, +{10325, 17, 39104, {1, 1, 7, 5, 25, 11, 105, 89, 505, 711, 1213, 2831, 8087, 8855, 31171, 49749, 921}}, +{10326, 17, 39109, {1, 1, 5, 5, 23, 61, 49, 101, 209, 805, 123, 17, 805, 9033, 25753, 33261, 33753}}, +{10327, 17, 39114, {1, 1, 3, 5, 5, 17, 93, 223, 179, 307, 869, 1851, 4313, 477, 12925, 21365, 103999}}, +{10328, 17, 39121, {1, 1, 7, 13, 21, 23, 105, 53, 393, 939, 291, 2407, 4815, 4961, 30305, 8613, 62599}}, +{10329, 17, 39122, {1, 1, 1, 11, 9, 55, 55, 135, 411, 225, 205, 3357, 4553, 10139, 17649, 51209, 94037}}, +{10330, 17, 39127, {1, 3, 5, 15, 17, 17, 119, 15, 121, 581, 169, 2495, 3673, 7173, 13099, 7683, 53397}}, +{10331, 17, 39150, {1, 3, 1, 11, 29, 29, 119, 255, 447, 85, 845, 1015, 2793, 2471, 12639, 32155, 99193}}, +{10332, 17, 39172, {1, 3, 3, 3, 9, 33, 77, 251, 425, 1007, 1003, 2697, 4989, 7799, 26581, 15963, 50443}}, +{10333, 17, 39181, {1, 3, 1, 5, 13, 47, 13, 203, 473, 529, 147, 2061, 343, 4029, 14615, 51355, 27863}}, +{10334, 17, 39184, {1, 1, 3, 15, 19, 63, 39, 25, 241, 487, 461, 3021, 3545, 4537, 8991, 17689, 77131}}, +{10335, 17, 39193, {1, 3, 5, 5, 7, 1, 61, 89, 495, 943, 1061, 405, 449, 12785, 25151, 24497, 65709}}, +{10336, 17, 39199, {1, 1, 5, 3, 7, 43, 51, 55, 193, 615, 37, 1377, 2541, 3861, 29447, 32269, 106335}}, +{10337, 17, 39200, {1, 1, 5, 11, 21, 55, 103, 43, 421, 673, 175, 979, 5175, 1301, 8617, 55875, 111095}}, +{10338, 17, 39206, {1, 3, 5, 13, 29, 31, 33, 241, 129, 473, 201, 2015, 447, 99, 23781, 33517, 107851}}, +{10339, 17, 39209, {1, 3, 5, 3, 13, 27, 125, 205, 287, 957, 1609, 2907, 5481, 14239, 19719, 22459, 75365}}, +{10340, 17, 39235, {1, 3, 3, 5, 27, 23, 53, 39, 329, 381, 745, 517, 7853, 5333, 2773, 29119, 7049}}, +{10341, 17, 39238, {1, 3, 5, 15, 29, 11, 89, 3, 503, 755, 485, 2669, 6737, 16241, 7345, 50991, 107291}}, +{10342, 17, 39242, {1, 1, 7, 3, 17, 45, 11, 3, 157, 715, 577, 1309, 3323, 9401, 10573, 55135, 100067}}, +{10343, 17, 39244, {1, 1, 5, 9, 19, 21, 49, 103, 349, 503, 1447, 675, 4273, 7673, 27507, 57697, 80875}}, +{10344, 17, 39280, {1, 1, 5, 1, 9, 53, 19, 99, 225, 915, 431, 781, 3291, 4383, 26505, 50339, 99799}}, +{10345, 17, 39290, {1, 3, 1, 5, 7, 37, 87, 201, 481, 991, 1553, 1867, 7893, 13147, 18647, 10373, 51951}}, +{10346, 17, 39292, {1, 1, 3, 13, 17, 37, 19, 199, 253, 901, 759, 3545, 3565, 10461, 11867, 57605, 75555}}, +{10347, 17, 39296, {1, 1, 1, 5, 15, 23, 115, 69, 363, 673, 201, 2451, 3197, 10059, 1667, 47145, 89}}, +{10348, 17, 39305, {1, 1, 7, 13, 19, 31, 63, 35, 93, 939, 1057, 3221, 951, 3575, 9659, 7005, 2087}}, +{10349, 17, 39308, {1, 1, 7, 15, 15, 21, 79, 7, 23, 595, 1123, 1909, 6863, 7383, 28067, 30113, 107497}}, +{10350, 17, 39311, {1, 3, 5, 7, 11, 47, 41, 177, 163, 855, 1853, 3837, 6995, 9727, 27285, 62667, 77531}}, +{10351, 17, 39326, {1, 3, 7, 3, 3, 29, 99, 163, 95, 893, 1049, 2001, 2961, 601, 4613, 59745, 61203}}, +{10352, 17, 39329, {1, 3, 5, 1, 27, 5, 5, 47, 119, 631, 1171, 3467, 2115, 8581, 24863, 64193, 52093}}, +{10353, 17, 39330, {1, 1, 1, 5, 9, 51, 49, 251, 97, 177, 311, 993, 1103, 7875, 25273, 51587, 9081}}, +{10354, 17, 39336, {1, 3, 7, 5, 31, 21, 43, 137, 143, 779, 691, 2331, 5073, 5409, 13335, 999, 127765}}, +{10355, 17, 39339, {1, 1, 7, 1, 31, 33, 27, 193, 175, 755, 1559, 659, 5663, 10491, 29209, 50979, 116683}}, +{10356, 17, 39353, {1, 3, 1, 7, 23, 49, 1, 39, 117, 45, 1767, 3503, 4901, 5699, 23613, 44195, 17867}}, +{10357, 17, 39359, {1, 3, 7, 13, 3, 5, 105, 89, 343, 627, 1117, 3419, 2081, 5747, 7919, 44329, 125133}}, +{10358, 17, 39374, {1, 3, 1, 9, 13, 33, 53, 203, 17, 927, 127, 2195, 415, 11301, 15115, 54467, 128777}}, +{10359, 17, 39391, {1, 3, 7, 1, 9, 41, 15, 89, 403, 333, 57, 1159, 1325, 2335, 10609, 20485, 110317}}, +{10360, 17, 39392, {1, 3, 3, 5, 3, 61, 25, 155, 477, 907, 359, 359, 5119, 8157, 29945, 38955, 106485}}, +{10361, 17, 39402, {1, 1, 7, 5, 19, 47, 91, 89, 367, 703, 761, 431, 6813, 2983, 29739, 52453, 125935}}, +{10362, 17, 39409, {1, 1, 1, 7, 7, 61, 127, 239, 277, 649, 1111, 2319, 1737, 5071, 13469, 52119, 48899}}, +{10363, 17, 39410, {1, 3, 5, 15, 7, 17, 21, 209, 265, 895, 719, 263, 6871, 5835, 28483, 49859, 67619}}, +{10364, 17, 39415, {1, 3, 3, 15, 3, 7, 113, 109, 333, 545, 597, 1193, 7593, 3961, 25169, 64673, 47839}}, +{10365, 17, 39419, {1, 1, 1, 3, 15, 45, 55, 41, 317, 719, 1587, 2953, 2441, 1127, 9183, 21637, 69075}}, +{10366, 17, 39431, {1, 3, 1, 9, 25, 57, 59, 29, 89, 833, 379, 1085, 763, 14747, 30797, 24089, 83367}}, +{10367, 17, 39432, {1, 1, 5, 13, 29, 3, 117, 239, 453, 595, 243, 3103, 6047, 631, 22739, 41669, 11683}}, +{10368, 17, 39438, {1, 1, 3, 1, 9, 53, 81, 21, 67, 735, 827, 3519, 7991, 16249, 4183, 61295, 4531}}, +{10369, 17, 39443, {1, 3, 5, 3, 1, 57, 47, 99, 91, 71, 1421, 2949, 5951, 15439, 25239, 26453, 50199}}, +{10370, 17, 39445, {1, 1, 3, 15, 21, 3, 93, 21, 41, 809, 855, 727, 7797, 6957, 15835, 27175, 60617}}, +{10371, 17, 39449, {1, 1, 1, 13, 1, 3, 83, 135, 197, 171, 1459, 2841, 5021, 6961, 30675, 38295, 39555}}, +{10372, 17, 39461, {1, 1, 7, 5, 7, 49, 83, 83, 117, 73, 639, 2717, 651, 3253, 31635, 14427, 116509}}, +{10373, 17, 39462, {1, 3, 1, 3, 23, 63, 15, 23, 433, 539, 903, 2655, 1787, 12901, 12013, 41315, 128217}}, +{10374, 17, 39485, {1, 3, 1, 7, 5, 19, 3, 137, 493, 681, 775, 3725, 4855, 10817, 25277, 3631, 60779}}, +{10375, 17, 39508, {1, 3, 3, 5, 1, 7, 67, 39, 309, 77, 1679, 2853, 3803, 2065, 7461, 1555, 88219}}, +{10376, 17, 39515, {1, 1, 3, 5, 3, 47, 17, 193, 429, 789, 1525, 969, 7905, 6523, 10149, 64689, 40037}}, +{10377, 17, 39522, {1, 3, 5, 7, 21, 17, 65, 61, 255, 517, 1765, 2603, 4929, 11073, 7871, 29313, 84739}}, +{10378, 17, 39533, {1, 1, 5, 7, 13, 55, 111, 63, 499, 9, 1715, 957, 6951, 15839, 13531, 45483, 17923}}, +{10379, 17, 39541, {1, 1, 1, 1, 27, 7, 13, 135, 27, 259, 1735, 3847, 7931, 14777, 15249, 62367, 45773}}, +{10380, 17, 39542, {1, 1, 5, 3, 5, 7, 99, 171, 491, 1007, 195, 2223, 2657, 13557, 6549, 47125, 25117}}, +{10381, 17, 39557, {1, 1, 1, 9, 13, 21, 59, 205, 205, 951, 1707, 3387, 2901, 5463, 13403, 1917, 90591}}, +{10382, 17, 39570, {1, 3, 3, 5, 21, 37, 71, 91, 297, 885, 1415, 355, 2877, 9261, 6485, 45855, 90081}}, +{10383, 17, 39575, {1, 1, 5, 9, 23, 51, 107, 75, 93, 1015, 439, 3589, 3307, 337, 17247, 42285, 85417}}, +{10384, 17, 39576, {1, 1, 7, 15, 29, 33, 51, 23, 269, 35, 1241, 1137, 729, 14531, 14603, 47547, 17151}}, +{10385, 17, 39591, {1, 3, 3, 1, 25, 21, 51, 229, 55, 561, 653, 3289, 7629, 15445, 21115, 35941, 113669}}, +{10386, 17, 39597, {1, 1, 5, 15, 1, 33, 119, 171, 75, 621, 2025, 3235, 1895, 8279, 13205, 61085, 105401}}, +{10387, 17, 39603, {1, 3, 1, 7, 25, 33, 73, 25, 1, 531, 603, 77, 4939, 5957, 28065, 59467, 66659}}, +{10388, 17, 39610, {1, 1, 7, 3, 17, 61, 103, 47, 289, 39, 917, 2515, 6607, 1129, 23361, 46321, 81929}}, +{10389, 17, 39612, {1, 1, 7, 5, 29, 53, 5, 191, 151, 19, 895, 1215, 5401, 9861, 24751, 15481, 34179}}, +{10390, 17, 39617, {1, 3, 7, 9, 5, 3, 29, 205, 173, 547, 727, 947, 5619, 4181, 30621, 5553, 37587}}, +{10391, 17, 39620, {1, 1, 3, 9, 13, 59, 95, 145, 287, 849, 1483, 3375, 3531, 6585, 29565, 4243, 88333}}, +{10392, 17, 39624, {1, 1, 7, 11, 21, 23, 59, 223, 71, 743, 443, 697, 7789, 10371, 28565, 45127, 37967}}, +{10393, 17, 39627, {1, 3, 5, 11, 15, 25, 79, 71, 21, 817, 751, 189, 1769, 3835, 21465, 17991, 102043}}, +{10394, 17, 39635, {1, 1, 7, 11, 3, 19, 25, 5, 261, 181, 49, 261, 7715, 2195, 19771, 43463, 36533}}, +{10395, 17, 39641, {1, 1, 7, 13, 21, 21, 15, 235, 191, 197, 1305, 1351, 4511, 625, 6613, 37053, 59491}}, +{10396, 17, 39666, {1, 1, 1, 13, 15, 13, 93, 239, 251, 1009, 527, 1347, 4173, 14753, 27389, 20397, 13101}}, +{10397, 17, 39668, {1, 1, 3, 1, 15, 11, 127, 141, 277, 775, 1419, 2353, 6929, 2265, 7253, 19807, 74853}}, +{10398, 17, 39686, {1, 3, 3, 15, 15, 49, 9, 183, 407, 377, 675, 871, 347, 3417, 4409, 7805, 40507}}, +{10399, 17, 39692, {1, 3, 5, 3, 23, 11, 81, 53, 343, 681, 1777, 3411, 757, 10875, 3581, 56105, 79907}}, +{10400, 17, 39700, {1, 3, 5, 1, 25, 9, 109, 55, 283, 311, 1607, 2479, 5675, 8819, 10853, 38719, 44471}}, +{10401, 17, 39709, {1, 1, 7, 7, 9, 53, 33, 195, 503, 167, 993, 3203, 3885, 1921, 1039, 25785, 47411}}, +{10402, 17, 39726, {1, 3, 3, 3, 31, 3, 11, 85, 475, 743, 1825, 2649, 2373, 12177, 21481, 35579, 85803}}, +{10403, 17, 39728, {1, 3, 7, 3, 23, 45, 45, 207, 369, 773, 1579, 783, 2491, 7441, 21203, 57091, 107413}}, +{10404, 17, 39737, {1, 1, 1, 5, 19, 7, 97, 213, 431, 533, 637, 1767, 4945, 4693, 977, 64781, 111811}}, +{10405, 17, 39738, {1, 3, 7, 7, 1, 55, 101, 251, 153, 95, 1043, 3219, 3499, 6297, 11571, 9131, 61899}}, +{10406, 17, 39755, {1, 3, 5, 5, 25, 53, 121, 255, 69, 661, 799, 3559, 2029, 11701, 14151, 37897, 18333}}, +{10407, 17, 39757, {1, 1, 1, 9, 21, 19, 97, 21, 321, 957, 1115, 251, 5131, 8465, 24215, 34423, 12747}}, +{10408, 17, 39758, {1, 3, 5, 7, 17, 19, 99, 135, 429, 625, 1401, 1025, 4193, 2911, 7349, 34135, 9341}}, +{10409, 17, 39765, {1, 3, 5, 1, 5, 63, 97, 121, 307, 547, 1967, 641, 487, 4627, 30899, 62049, 94343}}, +{10410, 17, 39766, {1, 3, 5, 13, 1, 1, 109, 23, 267, 843, 271, 2277, 855, 4245, 2177, 33633, 113835}}, +{10411, 17, 39769, {1, 1, 3, 7, 3, 27, 91, 79, 27, 855, 2025, 443, 4797, 9005, 27533, 20497, 100431}}, +{10412, 17, 39779, {1, 3, 3, 5, 23, 7, 73, 35, 395, 649, 881, 2923, 4065, 853, 10829, 19461, 82383}}, +{10413, 17, 39785, {1, 3, 1, 5, 25, 13, 85, 93, 369, 259, 393, 3233, 799, 12409, 26631, 64291, 110133}}, +{10414, 17, 39794, {1, 3, 5, 5, 31, 35, 25, 239, 455, 893, 573, 1449, 3359, 12077, 17149, 12921, 66931}}, +{10415, 17, 39796, {1, 1, 7, 3, 25, 39, 67, 87, 215, 325, 627, 3609, 4417, 10021, 12047, 64593, 116525}}, +{10416, 17, 39809, {1, 1, 5, 5, 23, 51, 125, 247, 83, 419, 655, 635, 7053, 4907, 12887, 18083, 49481}}, +{10417, 17, 39815, {1, 1, 7, 11, 5, 25, 65, 139, 235, 331, 1885, 1851, 1061, 13265, 14371, 23067, 56757}}, +{10418, 17, 39829, {1, 1, 7, 9, 11, 15, 29, 255, 509, 869, 561, 2201, 487, 2989, 14943, 65373, 35789}}, +{10419, 17, 39834, {1, 1, 1, 3, 3, 33, 23, 121, 129, 351, 1481, 65, 321, 15927, 23849, 2813, 98547}}, +{10420, 17, 39839, {1, 1, 1, 3, 23, 55, 121, 35, 339, 87, 1147, 401, 1477, 10617, 15943, 20535, 89321}}, +{10421, 17, 39850, {1, 3, 5, 15, 25, 59, 111, 185, 305, 47, 523, 2801, 5485, 625, 30191, 58153, 9019}}, +{10422, 17, 39857, {1, 1, 7, 13, 15, 51, 105, 55, 77, 419, 1011, 1117, 2705, 15093, 15629, 51429, 58487}}, +{10423, 17, 39881, {1, 3, 7, 5, 15, 27, 19, 7, 401, 295, 1841, 1167, 2133, 1967, 6941, 13571, 29467}}, +{10424, 17, 39905, {1, 1, 5, 15, 25, 43, 23, 253, 173, 927, 1299, 2779, 5489, 16135, 1503, 51097, 105751}}, +{10425, 17, 39912, {1, 3, 3, 5, 9, 13, 5, 13, 411, 639, 1323, 1495, 2539, 15087, 21489, 49653, 76229}}, +{10426, 17, 39938, {1, 1, 1, 11, 7, 51, 47, 99, 247, 541, 1355, 2373, 4121, 13621, 7715, 16763, 127985}}, +{10427, 17, 39940, {1, 1, 3, 9, 7, 1, 85, 45, 269, 769, 581, 2229, 7143, 5203, 22483, 18511, 30997}}, +{10428, 17, 39944, {1, 3, 5, 7, 21, 41, 97, 225, 109, 195, 1197, 3417, 7613, 13225, 29157, 18969, 82045}}, +{10429, 17, 39955, {1, 3, 3, 3, 17, 41, 13, 77, 129, 679, 1659, 1299, 4809, 8537, 19081, 1281, 70793}}, +{10430, 17, 39961, {1, 1, 5, 5, 5, 49, 5, 15, 313, 941, 775, 259, 6579, 7745, 20531, 51669, 35257}}, +{10431, 17, 39977, {1, 1, 5, 5, 17, 35, 13, 235, 169, 699, 1365, 3907, 4231, 10965, 7737, 6735, 4253}}, +{10432, 17, 39980, {1, 1, 5, 3, 29, 3, 1, 197, 133, 935, 571, 3977, 2467, 2029, 12803, 64559, 6427}}, +{10433, 17, 39986, {1, 3, 5, 5, 27, 5, 69, 57, 439, 925, 1695, 827, 4685, 10971, 3011, 56821, 92187}}, +{10434, 17, 39988, {1, 1, 1, 3, 9, 45, 77, 179, 173, 1023, 907, 1999, 3913, 6973, 26987, 30237, 62987}}, +{10435, 17, 39991, {1, 3, 7, 3, 5, 21, 17, 97, 433, 277, 1515, 2923, 8025, 14119, 11243, 3983, 33943}}, +{10436, 17, 39998, {1, 1, 5, 7, 15, 13, 119, 169, 21, 927, 439, 361, 2655, 2237, 19775, 4157, 84245}}, +{10437, 17, 40003, {1, 3, 5, 5, 31, 41, 117, 159, 421, 505, 1617, 3855, 7835, 8105, 29525, 56735, 82335}}, +{10438, 17, 40005, {1, 1, 5, 5, 1, 33, 51, 3, 79, 933, 389, 493, 5969, 12493, 26723, 61159, 116951}}, +{10439, 17, 40023, {1, 3, 7, 13, 17, 23, 75, 13, 355, 111, 675, 3191, 3931, 5651, 17495, 4595, 49869}}, +{10440, 17, 40024, {1, 1, 7, 7, 15, 21, 35, 125, 89, 903, 697, 3493, 4043, 6631, 4793, 45655, 86969}}, +{10441, 17, 40045, {1, 3, 1, 15, 13, 43, 113, 213, 451, 473, 191, 2913, 6391, 1321, 29615, 24791, 26979}}, +{10442, 17, 40046, {1, 3, 3, 13, 17, 25, 9, 163, 163, 161, 1647, 3949, 1343, 12881, 10931, 31365, 70013}}, +{10443, 17, 40058, {1, 3, 7, 3, 3, 19, 1, 121, 387, 543, 1655, 1797, 6727, 2951, 21925, 21595, 73207}}, +{10444, 17, 40088, {1, 1, 5, 9, 7, 19, 91, 9, 83, 893, 1393, 163, 2219, 7763, 32395, 29569, 98645}}, +{10445, 17, 40091, {1, 1, 5, 7, 13, 63, 91, 115, 247, 387, 87, 3239, 7561, 297, 32615, 48817, 41761}}, +{10446, 17, 40098, {1, 3, 5, 3, 21, 23, 27, 141, 257, 377, 1745, 443, 897, 9033, 1715, 9225, 110181}}, +{10447, 17, 40109, {1, 1, 7, 9, 23, 49, 125, 131, 225, 253, 139, 2057, 3273, 4049, 6861, 4463, 11659}}, +{10448, 17, 40112, {1, 1, 5, 11, 5, 41, 97, 213, 133, 481, 2009, 2039, 1533, 10765, 22427, 23297, 80661}}, +{10449, 17, 40124, {1, 1, 5, 15, 9, 11, 77, 129, 421, 219, 1623, 703, 1611, 13377, 9859, 42869, 101943}}, +{10450, 17, 40130, {1, 3, 3, 3, 17, 63, 55, 29, 317, 973, 1159, 11, 1733, 14551, 25911, 39151, 45861}}, +{10451, 17, 40153, {1, 3, 7, 11, 29, 63, 107, 193, 263, 799, 1171, 543, 553, 12591, 21965, 8165, 64347}}, +{10452, 17, 40166, {1, 1, 7, 15, 23, 49, 65, 65, 401, 897, 681, 1113, 6737, 9157, 1557, 55891, 129175}}, +{10453, 17, 40175, {1, 3, 3, 1, 15, 23, 107, 123, 313, 633, 1009, 2615, 1155, 11701, 21945, 7939, 28111}}, +{10454, 17, 40183, {1, 3, 1, 11, 15, 11, 47, 137, 299, 393, 877, 1989, 5903, 6505, 9599, 4129, 23073}}, +{10455, 17, 40184, {1, 1, 7, 15, 9, 49, 67, 15, 79, 125, 505, 17, 8071, 12957, 13855, 23611, 66465}}, +{10456, 17, 40207, {1, 1, 5, 13, 31, 49, 1, 161, 121, 145, 711, 1347, 5297, 11309, 9871, 43075, 95541}}, +{10457, 17, 40215, {1, 3, 3, 13, 19, 7, 55, 199, 469, 471, 1269, 3779, 6251, 3513, 1775, 19501, 94055}}, +{10458, 17, 40225, {1, 3, 3, 13, 9, 41, 109, 211, 197, 227, 1211, 3327, 1247, 12253, 4493, 31507, 38677}}, +{10459, 17, 40235, {1, 1, 7, 3, 11, 45, 11, 103, 325, 849, 1817, 3971, 1059, 9047, 27237, 32211, 121165}}, +{10460, 17, 40240, {1, 3, 3, 3, 13, 43, 7, 35, 293, 3, 679, 1441, 5189, 7585, 32009, 6151, 89803}}, +{10461, 17, 40255, {1, 1, 7, 9, 29, 41, 127, 255, 363, 913, 2027, 3891, 5187, 10233, 8871, 48085, 125609}}, +{10462, 17, 40263, {1, 3, 1, 5, 21, 23, 59, 145, 171, 775, 535, 3803, 6981, 15901, 20255, 63199, 92905}}, +{10463, 17, 40270, {1, 3, 5, 9, 7, 63, 53, 7, 145, 547, 1753, 3351, 1273, 8175, 24103, 42133, 87459}}, +{10464, 17, 40277, {1, 3, 7, 7, 25, 33, 5, 217, 469, 473, 1573, 2525, 7345, 5261, 7023, 50893, 124129}}, +{10465, 17, 40282, {1, 3, 5, 13, 5, 51, 23, 61, 429, 775, 519, 2671, 1979, 9005, 21617, 33611, 120487}}, +{10466, 17, 40297, {1, 3, 3, 15, 23, 1, 73, 187, 47, 369, 943, 99, 2529, 5569, 13649, 51481, 128949}}, +{10467, 17, 40306, {1, 3, 1, 5, 25, 55, 35, 191, 327, 845, 1353, 261, 6297, 6067, 22241, 32381, 17749}}, +{10468, 17, 40315, {1, 1, 5, 15, 31, 5, 29, 129, 15, 47, 739, 755, 7595, 14743, 14705, 34347, 11805}}, +{10469, 17, 40333, {1, 3, 1, 3, 15, 49, 119, 47, 185, 63, 2003, 2847, 5393, 855, 7699, 29521, 67011}}, +{10470, 17, 40334, {1, 3, 7, 15, 11, 41, 37, 149, 173, 1015, 29, 1805, 1269, 16199, 32337, 11023, 60065}}, +{10471, 17, 40336, {1, 1, 1, 7, 31, 19, 65, 81, 255, 875, 1379, 2347, 1873, 14427, 29523, 38413, 65583}}, +{10472, 17, 40342, {1, 1, 1, 15, 13, 59, 3, 219, 127, 479, 1029, 3385, 563, 11825, 10081, 17423, 26431}}, +{10473, 17, 40345, {1, 1, 1, 1, 25, 27, 79, 87, 489, 281, 457, 3527, 5117, 4705, 21167, 46211, 90383}}, +{10474, 17, 40348, {1, 3, 7, 13, 7, 5, 67, 111, 53, 439, 1483, 3639, 7781, 9471, 10957, 60711, 64957}}, +{10475, 17, 40355, {1, 3, 7, 9, 7, 7, 41, 137, 159, 245, 551, 4007, 1277, 4743, 4863, 48689, 123289}}, +{10476, 17, 40372, {1, 3, 7, 9, 15, 49, 55, 77, 41, 475, 1563, 3569, 5993, 301, 14831, 44095, 22641}}, +{10477, 17, 40381, {1, 1, 1, 1, 15, 33, 39, 135, 81, 533, 869, 305, 1125, 6399, 14321, 37217, 121081}}, +{10478, 17, 40390, {1, 1, 7, 15, 21, 59, 43, 7, 225, 1, 115, 1531, 2931, 2593, 15935, 61973, 106899}}, +{10479, 17, 40407, {1, 1, 1, 1, 13, 13, 99, 191, 437, 367, 641, 1933, 5807, 11677, 13557, 46475, 34875}}, +{10480, 17, 40435, {1, 3, 7, 9, 21, 7, 119, 209, 31, 919, 901, 1229, 5823, 11439, 18151, 18991, 114743}}, +{10481, 17, 40437, {1, 3, 3, 3, 19, 37, 109, 53, 411, 617, 1841, 2769, 1271, 5719, 22359, 1199, 72405}}, +{10482, 17, 40441, {1, 1, 1, 5, 29, 3, 51, 59, 141, 897, 1907, 3799, 1463, 5661, 181, 50565, 95085}}, +{10483, 17, 40444, {1, 1, 1, 7, 1, 35, 77, 225, 341, 587, 137, 35, 2177, 15177, 12869, 35013, 39471}}, +{10484, 17, 40458, {1, 1, 3, 13, 15, 63, 45, 33, 337, 1, 1133, 263, 4985, 11591, 1085, 31197, 67897}}, +{10485, 17, 40460, {1, 1, 5, 13, 23, 11, 123, 21, 185, 639, 145, 3865, 2999, 6261, 23247, 23055, 32755}}, +{10486, 17, 40481, {1, 1, 5, 9, 19, 21, 47, 133, 281, 431, 1661, 3719, 3637, 973, 9727, 52627, 60035}}, +{10487, 17, 40484, {1, 1, 3, 5, 3, 19, 19, 89, 63, 549, 551, 3357, 5665, 4781, 22437, 1149, 10825}}, +{10488, 17, 40487, {1, 3, 5, 15, 3, 25, 81, 193, 11, 711, 1481, 1767, 1159, 4967, 16915, 3387, 26245}}, +{10489, 17, 40493, {1, 1, 1, 3, 29, 39, 23, 131, 473, 107, 765, 2249, 6087, 9145, 20751, 21085, 42989}}, +{10490, 17, 40494, {1, 3, 1, 9, 7, 39, 13, 199, 475, 333, 269, 1041, 5927, 14039, 19081, 9045, 119645}}, +{10491, 17, 40501, {1, 1, 5, 13, 11, 61, 99, 71, 151, 175, 1327, 3397, 5063, 10683, 7895, 62255, 85749}}, +{10492, 17, 40502, {1, 3, 7, 9, 1, 57, 21, 217, 423, 467, 1435, 2887, 1567, 8819, 19961, 36507, 110309}}, +{10493, 17, 40525, {1, 3, 3, 11, 11, 35, 77, 127, 153, 357, 865, 1943, 1947, 10995, 13617, 44347, 26851}}, +{10494, 17, 40550, {1, 3, 1, 11, 9, 43, 31, 81, 123, 813, 995, 169, 6593, 13621, 32195, 51125, 53509}}, +{10495, 17, 40553, {1, 1, 5, 5, 27, 29, 77, 35, 93, 545, 377, 2345, 6475, 15729, 15103, 49591, 101121}}, +{10496, 17, 40559, {1, 1, 5, 13, 1, 17, 97, 187, 129, 173, 641, 2937, 3277, 15087, 28111, 46905, 112367}}, +{10497, 17, 40562, {1, 3, 7, 7, 1, 27, 75, 43, 305, 431, 571, 1327, 7419, 3093, 2691, 23417, 11975}}, +{10498, 17, 40573, {1, 1, 5, 15, 17, 3, 91, 57, 417, 87, 1891, 1973, 5765, 5521, 21931, 60011, 20883}}, +{10499, 17, 40574, {1, 3, 1, 3, 27, 13, 105, 153, 495, 371, 453, 1295, 5675, 6377, 8971, 40505, 41149}}, +{10500, 17, 40578, {1, 1, 1, 15, 1, 17, 105, 177, 41, 455, 611, 3585, 2307, 2603, 20985, 5581, 14033}}, +{10501, 17, 40583, {1, 3, 3, 9, 7, 41, 33, 145, 307, 293, 1321, 2151, 3265, 14845, 15687, 38715, 8041}}, +{10502, 17, 40584, {1, 3, 3, 3, 5, 47, 127, 253, 129, 337, 1467, 5, 2743, 1921, 26979, 11737, 41479}}, +{10503, 17, 40587, {1, 1, 1, 5, 15, 35, 37, 9, 5, 405, 1041, 1903, 3655, 14315, 9441, 20577, 50715}}, +{10504, 17, 40597, {1, 1, 5, 15, 7, 5, 53, 61, 409, 353, 87, 1805, 4523, 11417, 24105, 21451, 56387}}, +{10505, 17, 40620, {1, 3, 3, 5, 5, 9, 25, 249, 511, 795, 559, 2695, 3071, 3971, 29421, 46593, 96563}}, +{10506, 17, 40623, {1, 1, 3, 1, 3, 39, 61, 85, 399, 105, 1253, 3787, 3065, 10553, 8195, 5637, 129579}}, +{10507, 17, 40631, {1, 3, 3, 7, 23, 23, 23, 197, 263, 687, 943, 1977, 5767, 15373, 17995, 24509, 81293}}, +{10508, 17, 40643, {1, 3, 1, 11, 15, 37, 15, 67, 207, 985, 895, 509, 3435, 11563, 2055, 19253, 42649}}, +{10509, 17, 40660, {1, 1, 7, 3, 1, 51, 59, 133, 241, 569, 1575, 3633, 2243, 11939, 5501, 11249, 86013}}, +{10510, 17, 40667, {1, 1, 7, 13, 25, 59, 97, 191, 385, 179, 1195, 1537, 1837, 11953, 14231, 37025, 49803}}, +{10511, 17, 40676, {1, 3, 5, 5, 13, 49, 19, 171, 503, 433, 1633, 553, 2759, 4379, 18313, 62437, 37453}}, +{10512, 17, 40693, {1, 3, 3, 15, 29, 49, 107, 239, 21, 913, 1095, 989, 4749, 10657, 27169, 15913, 1573}}, +{10513, 17, 40697, {1, 1, 1, 1, 3, 3, 53, 241, 287, 149, 557, 2665, 2027, 449, 29231, 23025, 102521}}, +{10514, 17, 40708, {1, 3, 5, 7, 23, 21, 9, 1, 11, 837, 1337, 2815, 7883, 16053, 10031, 43405, 5037}}, +{10515, 17, 40718, {1, 3, 7, 1, 23, 53, 113, 125, 337, 491, 1125, 3083, 4941, 951, 15805, 1571, 79779}}, +{10516, 17, 40726, {1, 3, 7, 13, 1, 3, 95, 105, 431, 723, 1771, 3773, 177, 2045, 24719, 57727, 79005}}, +{10517, 17, 40735, {1, 3, 1, 1, 7, 17, 107, 171, 213, 437, 409, 2015, 7543, 12693, 23597, 44477, 72543}}, +{10518, 17, 40739, {1, 3, 5, 9, 7, 21, 27, 167, 473, 901, 1245, 3737, 3485, 14593, 7619, 18753, 14209}}, +{10519, 17, 40748, {1, 1, 1, 3, 25, 37, 51, 21, 363, 73, 711, 3749, 5147, 8495, 30151, 14275, 128217}}, +{10520, 17, 40760, {1, 3, 1, 13, 17, 35, 69, 15, 293, 331, 301, 691, 7315, 6495, 315, 62909, 105047}}, +{10521, 17, 40763, {1, 3, 5, 3, 25, 23, 105, 111, 213, 887, 1701, 2085, 5931, 9217, 4009, 2321, 103631}}, +{10522, 17, 40773, {1, 1, 7, 15, 17, 57, 59, 249, 267, 941, 777, 2509, 6587, 12033, 24969, 31563, 129049}}, +{10523, 17, 40774, {1, 1, 1, 5, 31, 23, 31, 217, 509, 973, 659, 673, 7759, 3865, 21221, 4319, 117411}}, +{10524, 17, 40786, {1, 1, 3, 7, 13, 13, 103, 179, 107, 233, 753, 3121, 835, 13595, 9271, 31421, 45275}}, +{10525, 17, 40791, {1, 3, 5, 13, 23, 61, 125, 189, 283, 83, 1087, 755, 3697, 14845, 27901, 16389, 82993}}, +{10526, 17, 40798, {1, 3, 1, 3, 1, 55, 25, 139, 435, 681, 1913, 975, 3109, 6699, 12943, 50865, 71811}}, +{10527, 17, 40801, {1, 3, 1, 5, 15, 61, 17, 219, 29, 805, 1881, 3761, 3535, 473, 15629, 26301, 51085}}, +{10528, 17, 40808, {1, 3, 1, 1, 7, 43, 87, 93, 355, 247, 641, 2851, 4565, 9293, 6025, 1945, 112549}}, +{10529, 17, 40811, {1, 3, 7, 5, 19, 55, 69, 227, 107, 443, 1587, 2457, 2873, 953, 27529, 57527, 54145}}, +{10530, 17, 40813, {1, 1, 5, 9, 1, 33, 31, 241, 339, 791, 399, 3435, 1711, 10815, 32657, 59875, 31291}}, +{10531, 17, 40825, {1, 1, 1, 7, 25, 59, 87, 115, 435, 47, 1907, 193, 6069, 10933, 9877, 46443, 3451}}, +{10532, 17, 40831, {1, 3, 3, 15, 25, 33, 19, 121, 133, 253, 1227, 75, 2839, 3341, 30727, 52451, 44883}}, +{10533, 17, 40835, {1, 1, 7, 11, 5, 47, 97, 255, 235, 565, 1701, 529, 839, 15473, 24471, 5749, 73135}}, +{10534, 17, 40856, {1, 1, 3, 7, 21, 15, 31, 81, 389, 957, 603, 3879, 2875, 11987, 24625, 53667, 77775}}, +{10535, 17, 40861, {1, 1, 5, 11, 29, 29, 31, 233, 107, 541, 561, 2533, 1421, 13587, 6943, 45635, 71315}}, +{10536, 17, 40880, {1, 3, 1, 9, 25, 19, 33, 53, 509, 485, 1637, 2877, 5927, 16059, 195, 17279, 127025}}, +{10537, 17, 40889, {1, 1, 1, 3, 9, 23, 97, 101, 337, 43, 1979, 1139, 3693, 2601, 8225, 53037, 63709}}, +{10538, 17, 40912, {1, 1, 7, 7, 17, 25, 121, 253, 63, 105, 527, 1397, 121, 9665, 29151, 10795, 79077}}, +{10539, 17, 40918, {1, 3, 3, 1, 27, 33, 123, 69, 209, 25, 1677, 1569, 4441, 7817, 5165, 29517, 117165}}, +{10540, 17, 40924, {1, 1, 5, 15, 3, 59, 13, 25, 359, 71, 179, 3925, 6899, 6007, 9121, 36297, 88541}}, +{10541, 17, 40927, {1, 1, 3, 11, 23, 17, 55, 133, 27, 277, 1055, 1057, 807, 1221, 1665, 64129, 102395}}, +{10542, 17, 40928, {1, 3, 1, 15, 13, 15, 105, 141, 329, 73, 609, 1663, 3277, 1767, 6371, 34325, 109563}}, +{10543, 17, 40938, {1, 1, 5, 1, 17, 21, 37, 81, 187, 403, 291, 1495, 5071, 14289, 29075, 44089, 95001}}, +{10544, 17, 40952, {1, 3, 3, 3, 15, 33, 49, 155, 41, 853, 15, 3571, 1433, 8469, 18711, 59007, 98703}}, +{10545, 17, 40957, {1, 3, 1, 13, 17, 47, 61, 151, 127, 87, 207, 3157, 5141, 14745, 32567, 18401, 7497}}, +{10546, 17, 40961, {1, 3, 5, 1, 19, 25, 49, 147, 137, 603, 1223, 3195, 5965, 11335, 20343, 10109, 63975}}, +{10547, 17, 40968, {1, 1, 7, 13, 29, 59, 1, 33, 157, 765, 961, 641, 7303, 3279, 20287, 37553, 114573}}, +{10548, 17, 40974, {1, 3, 5, 1, 11, 63, 63, 41, 15, 717, 1037, 227, 7875, 8681, 26943, 11761, 28005}}, +{10549, 17, 40986, {1, 3, 1, 3, 19, 5, 67, 169, 209, 293, 343, 2033, 7669, 1077, 15513, 54475, 15459}}, +{10550, 17, 40992, {1, 1, 3, 3, 17, 47, 49, 187, 341, 767, 1463, 301, 2083, 9265, 12313, 14763, 126627}}, +{10551, 17, 41001, {1, 3, 5, 13, 11, 15, 45, 237, 445, 55, 319, 2989, 5043, 1053, 22809, 23111, 7617}}, +{10552, 17, 41004, {1, 1, 7, 9, 7, 15, 41, 185, 511, 701, 1279, 1995, 7829, 2947, 3431, 45799, 1709}}, +{10553, 17, 41022, {1, 3, 7, 15, 5, 15, 85, 29, 487, 811, 1653, 483, 1193, 11331, 21815, 57215, 8373}}, +{10554, 17, 41033, {1, 3, 1, 15, 27, 19, 111, 161, 19, 373, 419, 1547, 2415, 10705, 17283, 56663, 73625}}, +{10555, 17, 41036, {1, 1, 3, 11, 27, 7, 75, 57, 411, 35, 685, 1249, 5227, 7313, 3167, 30537, 40655}}, +{10556, 17, 41039, {1, 3, 1, 9, 7, 37, 9, 209, 353, 319, 843, 657, 2069, 6523, 611, 16291, 107121}}, +{10557, 17, 41044, {1, 1, 5, 11, 11, 51, 25, 171, 315, 63, 207, 2279, 2379, 3583, 31927, 62451, 109911}}, +{10558, 17, 41064, {1, 1, 7, 11, 15, 41, 19, 175, 103, 605, 1889, 3161, 1217, 3259, 29655, 11715, 35551}}, +{10559, 17, 41078, {1, 3, 5, 13, 23, 11, 121, 147, 179, 397, 659, 3753, 2355, 1093, 25863, 39751, 112381}}, +{10560, 17, 41091, {1, 3, 5, 7, 1, 23, 37, 117, 7, 361, 991, 661, 4427, 15333, 5307, 55171, 96959}}, +{10561, 17, 41103, {1, 3, 1, 5, 17, 9, 77, 147, 289, 79, 295, 1271, 7809, 6387, 31785, 26489, 9335}}, +{10562, 17, 41108, {1, 1, 1, 7, 17, 33, 63, 147, 17, 515, 1349, 1907, 7703, 5511, 27773, 54025, 30019}}, +{10563, 17, 41112, {1, 3, 5, 3, 27, 57, 75, 129, 219, 533, 207, 3569, 5799, 6943, 12271, 53115, 120389}}, +{10564, 17, 41127, {1, 1, 1, 13, 11, 25, 101, 251, 289, 215, 1875, 1821, 703, 15395, 27167, 43187, 63401}}, +{10565, 17, 41128, {1, 1, 7, 15, 7, 39, 125, 41, 57, 513, 17, 965, 3225, 12833, 21131, 53243, 60377}}, +{10566, 17, 41136, {1, 3, 5, 3, 21, 19, 43, 195, 259, 523, 587, 3393, 6621, 43, 10951, 51877, 79967}}, +{10567, 17, 41141, {1, 3, 3, 7, 7, 19, 11, 89, 321, 821, 99, 2201, 1297, 949, 11539, 6295, 19721}}, +{10568, 17, 41146, {1, 1, 5, 3, 29, 27, 123, 111, 441, 441, 337, 3849, 1677, 14403, 17203, 50661, 92177}}, +{10569, 17, 41156, {1, 3, 5, 9, 23, 23, 73, 153, 241, 841, 371, 1503, 5815, 14117, 4679, 17997, 112269}}, +{10570, 17, 41159, {1, 1, 1, 1, 7, 37, 105, 185, 453, 905, 15, 57, 6963, 9665, 3371, 2391, 96023}}, +{10571, 17, 41163, {1, 3, 7, 1, 1, 21, 35, 43, 449, 111, 191, 2163, 3249, 15049, 30215, 43569, 127973}}, +{10572, 17, 41165, {1, 3, 3, 3, 17, 13, 77, 123, 471, 929, 1797, 2061, 355, 4441, 1101, 24631, 128711}}, +{10573, 17, 41166, {1, 3, 7, 7, 17, 51, 1, 69, 23, 1003, 535, 3751, 765, 5253, 21027, 52901, 61951}}, +{10574, 17, 41184, {1, 1, 7, 9, 25, 13, 33, 13, 423, 787, 223, 729, 4443, 227, 11487, 14259, 52951}}, +{10575, 17, 41193, {1, 3, 5, 5, 25, 27, 113, 93, 13, 679, 1295, 3773, 7253, 14629, 8907, 45885, 85387}}, +{10576, 17, 41202, {1, 3, 3, 13, 15, 55, 99, 31, 119, 955, 1477, 3745, 6777, 973, 4723, 62133, 65093}}, +{10577, 17, 41211, {1, 3, 3, 9, 13, 51, 105, 37, 477, 579, 765, 2573, 6869, 3891, 30969, 63413, 56603}}, +{10578, 17, 41216, {1, 3, 1, 3, 15, 23, 67, 109, 75, 721, 523, 1433, 3455, 6377, 23795, 13711, 121349}}, +{10579, 17, 41239, {1, 1, 3, 11, 5, 5, 99, 117, 233, 621, 509, 3235, 7483, 12325, 13203, 20075, 27537}}, +{10580, 17, 41243, {1, 3, 3, 9, 23, 51, 93, 245, 307, 689, 1993, 3607, 1985, 11839, 25553, 54941, 68741}}, +{10581, 17, 41249, {1, 1, 3, 5, 19, 21, 33, 71, 447, 539, 351, 2549, 87, 4317, 1287, 62289, 121065}}, +{10582, 17, 41262, {1, 3, 5, 5, 9, 23, 37, 189, 449, 263, 37, 3127, 1709, 10793, 7379, 38565, 8267}}, +{10583, 17, 41267, {1, 1, 7, 7, 7, 33, 23, 79, 457, 947, 1275, 2755, 3747, 9225, 31385, 8785, 76945}}, +{10584, 17, 41276, {1, 3, 1, 9, 17, 33, 29, 59, 505, 649, 1679, 3609, 1361, 5987, 26455, 17295, 98697}}, +{10585, 17, 41279, {1, 1, 3, 11, 7, 47, 127, 79, 419, 143, 349, 985, 6397, 10271, 29427, 19661, 32629}}, +{10586, 17, 41305, {1, 1, 5, 13, 15, 5, 79, 171, 491, 223, 1601, 705, 623, 4405, 10065, 28057, 105737}}, +{10587, 17, 41306, {1, 1, 7, 3, 29, 7, 81, 69, 265, 669, 1763, 2109, 6275, 7683, 19561, 26737, 54449}}, +{10588, 17, 41312, {1, 1, 1, 7, 1, 1, 5, 9, 65, 487, 1663, 1021, 1819, 9971, 22065, 40407, 4187}}, +{10589, 17, 41317, {1, 3, 5, 5, 21, 33, 11, 213, 309, 575, 427, 1421, 6435, 981, 31533, 16751, 47813}}, +{10590, 17, 41321, {1, 3, 3, 13, 7, 59, 65, 65, 401, 195, 211, 421, 1139, 11729, 19717, 20699, 111863}}, +{10591, 17, 41332, {1, 3, 7, 5, 17, 51, 25, 217, 223, 935, 431, 1703, 4869, 5635, 199, 5485, 37311}}, +{10592, 17, 41335, {1, 1, 3, 11, 23, 25, 15, 37, 187, 1007, 857, 3327, 5471, 10089, 13745, 1741, 37769}}, +{10593, 17, 41345, {1, 3, 5, 15, 31, 17, 75, 125, 1, 449, 1293, 3427, 709, 8285, 31143, 50655, 130793}}, +{10594, 17, 41346, {1, 1, 7, 3, 25, 55, 105, 255, 319, 183, 1571, 2425, 5429, 7151, 8569, 37447, 23055}}, +{10595, 17, 41351, {1, 3, 1, 1, 23, 37, 17, 61, 161, 559, 1025, 2651, 5861, 5231, 1365, 4853, 127301}}, +{10596, 17, 41365, {1, 3, 1, 9, 17, 37, 87, 241, 411, 53, 1555, 3805, 6867, 125, 9829, 53581, 117413}}, +{10597, 17, 41388, {1, 3, 3, 3, 23, 55, 121, 109, 441, 623, 1345, 3055, 2591, 11329, 16891, 61347, 125643}}, +{10598, 17, 41399, {1, 3, 1, 1, 5, 29, 53, 97, 15, 275, 1587, 1245, 379, 16117, 24369, 26873, 39547}}, +{10599, 17, 41405, {1, 3, 1, 5, 3, 63, 85, 167, 301, 45, 1357, 1185, 3939, 945, 24961, 59427, 128129}}, +{10600, 17, 41414, {1, 3, 1, 7, 23, 25, 109, 253, 37, 151, 17, 1241, 787, 15895, 7947, 65071, 14765}}, +{10601, 17, 41432, {1, 3, 3, 1, 7, 3, 103, 35, 73, 533, 1055, 823, 7403, 8117, 28813, 42457, 56037}}, +{10602, 17, 41454, {1, 3, 5, 15, 1, 15, 97, 109, 293, 259, 935, 2977, 5257, 14563, 28871, 17647, 34185}}, +{10603, 17, 41461, {1, 1, 1, 3, 29, 21, 101, 163, 173, 1019, 1025, 553, 945, 3781, 1097, 58025, 124819}}, +{10604, 17, 41462, {1, 1, 3, 9, 7, 35, 65, 61, 31, 547, 75, 3515, 6719, 12809, 23287, 14609, 30341}}, +{10605, 17, 41471, {1, 3, 7, 9, 3, 53, 21, 207, 383, 917, 1383, 2873, 1663, 15665, 1787, 50741, 35145}}, +{10606, 17, 41478, {1, 3, 7, 5, 3, 35, 113, 191, 171, 635, 1597, 2943, 2421, 5555, 6457, 22087, 104221}}, +{10607, 17, 41490, {1, 1, 1, 1, 29, 25, 3, 225, 175, 807, 1325, 215, 6475, 10729, 18619, 45401, 20627}}, +{10608, 17, 41506, {1, 1, 5, 11, 23, 25, 39, 207, 81, 633, 403, 3369, 1295, 1289, 20853, 48899, 16613}}, +{10609, 17, 41508, {1, 1, 7, 15, 5, 23, 17, 77, 169, 969, 1459, 3795, 3121, 5501, 32323, 46743, 124175}}, +{10610, 17, 41512, {1, 1, 7, 13, 3, 25, 77, 153, 105, 1017, 1599, 237, 4691, 1993, 6707, 50265, 13529}}, +{10611, 17, 41517, {1, 3, 3, 15, 7, 11, 81, 223, 61, 589, 1263, 3999, 7643, 12101, 19853, 49279, 29999}}, +{10612, 17, 41520, {1, 3, 1, 13, 3, 31, 61, 59, 41, 313, 115, 561, 3973, 13513, 6359, 29395, 34565}}, +{10613, 17, 41529, {1, 1, 7, 7, 7, 61, 91, 181, 307, 875, 2045, 1367, 3743, 6497, 2443, 12153, 96431}}, +{10614, 17, 41530, {1, 1, 3, 7, 19, 63, 97, 211, 157, 945, 891, 3747, 5483, 3081, 28939, 11179, 15935}}, +{10615, 17, 41544, {1, 3, 7, 3, 23, 39, 51, 137, 91, 179, 1515, 1397, 2783, 9343, 11483, 52407, 111725}}, +{10616, 17, 41550, {1, 3, 3, 11, 11, 25, 111, 61, 115, 329, 485, 1713, 565, 8607, 18869, 6595, 18605}}, +{10617, 17, 41571, {1, 1, 5, 1, 13, 59, 67, 231, 443, 695, 1185, 393, 6393, 12957, 15817, 37219, 113127}}, +{10618, 17, 41577, {1, 3, 5, 3, 15, 57, 25, 97, 321, 627, 15, 2005, 3813, 10399, 26779, 24243, 66463}}, +{10619, 17, 41580, {1, 3, 7, 7, 17, 43, 117, 179, 447, 1005, 2007, 1753, 7685, 13331, 5187, 49341, 111927}}, +{10620, 17, 41595, {1, 1, 3, 3, 5, 53, 35, 185, 93, 847, 1523, 3039, 25, 3351, 23195, 41133, 38547}}, +{10621, 17, 41613, {1, 1, 7, 5, 27, 59, 95, 137, 55, 129, 331, 127, 7421, 5633, 557, 18137, 89055}}, +{10622, 17, 41622, {1, 3, 3, 11, 5, 53, 93, 137, 175, 191, 1645, 2047, 2569, 8177, 22691, 4037, 31823}}, +{10623, 17, 41635, {1, 3, 3, 11, 11, 45, 77, 7, 21, 541, 49, 1689, 171, 829, 28917, 45095, 1807}}, +{10624, 17, 41642, {1, 3, 7, 5, 21, 5, 113, 81, 33, 681, 361, 1107, 1597, 115, 11503, 27413, 9199}}, +{10625, 17, 41661, {1, 1, 3, 11, 29, 57, 15, 249, 105, 683, 833, 2579, 3517, 16153, 17373, 32587, 124333}}, +{10626, 17, 41676, {1, 3, 7, 13, 3, 35, 55, 23, 293, 5, 2003, 2741, 4237, 8117, 20569, 63967, 106041}}, +{10627, 17, 41681, {1, 3, 3, 1, 1, 15, 57, 119, 135, 967, 1495, 801, 4959, 5037, 10051, 53915, 116891}}, +{10628, 17, 41684, {1, 1, 7, 9, 15, 29, 53, 139, 505, 473, 1179, 3289, 369, 13147, 15739, 16739, 54949}}, +{10629, 17, 41687, {1, 1, 5, 7, 7, 45, 17, 213, 381, 63, 437, 3099, 3765, 175, 13521, 11689, 58675}}, +{10630, 17, 41688, {1, 1, 7, 1, 15, 35, 55, 43, 147, 873, 1193, 3801, 2301, 14569, 31789, 50443, 62577}}, +{10631, 17, 41694, {1, 1, 5, 7, 21, 41, 3, 45, 43, 303, 1465, 1461, 5295, 13397, 30439, 7103, 87505}}, +{10632, 17, 41698, {1, 1, 1, 15, 19, 27, 81, 141, 307, 259, 521, 1785, 6917, 15635, 27781, 64809, 53297}}, +{10633, 17, 41710, {1, 1, 1, 7, 27, 15, 53, 99, 377, 935, 1869, 3835, 741, 8447, 18947, 10727, 72179}}, +{10634, 17, 41712, {1, 1, 3, 5, 15, 51, 91, 207, 7, 997, 935, 591, 7325, 3025, 11335, 32087, 109535}}, +{10635, 17, 41721, {1, 3, 1, 5, 11, 13, 1, 57, 45, 307, 1839, 1735, 2247, 13117, 17471, 16599, 103063}}, +{10636, 17, 41722, {1, 3, 5, 11, 19, 7, 121, 3, 325, 731, 1945, 4025, 7649, 8939, 11147, 59065, 49971}}, +{10637, 17, 41729, {1, 3, 1, 5, 29, 63, 95, 121, 467, 7, 1857, 2389, 5213, 3931, 21187, 43529, 6767}}, +{10638, 17, 41744, {1, 1, 7, 7, 9, 53, 31, 227, 95, 827, 927, 3501, 2003, 12853, 2595, 33223, 125799}}, +{10639, 17, 41747, {1, 3, 3, 3, 27, 25, 105, 143, 233, 887, 1135, 3449, 5767, 11447, 10251, 34621, 102113}}, +{10640, 17, 41753, {1, 3, 3, 15, 3, 63, 85, 119, 103, 835, 443, 3861, 4957, 5389, 6137, 48851, 51887}}, +{10641, 17, 41766, {1, 3, 7, 9, 23, 23, 45, 129, 463, 653, 1309, 3533, 1303, 2955, 18023, 37457, 114765}}, +{10642, 17, 41783, {1, 3, 7, 1, 23, 17, 31, 151, 71, 515, 781, 1793, 3507, 6051, 30279, 29461, 48271}}, +{10643, 17, 41790, {1, 3, 5, 15, 1, 31, 9, 187, 131, 571, 1309, 965, 7561, 16113, 23209, 54615, 16969}}, +{10644, 17, 41810, {1, 3, 5, 11, 11, 9, 109, 161, 9, 697, 1683, 1245, 2223, 3571, 18117, 13085, 99315}}, +{10645, 17, 41819, {1, 3, 3, 1, 13, 21, 27, 17, 11, 11, 1095, 1447, 6941, 3399, 21245, 36661, 54283}}, +{10646, 17, 41825, {1, 3, 1, 3, 21, 51, 21, 197, 161, 689, 1219, 1337, 6623, 5765, 11579, 2679, 23889}}, +{10647, 17, 41828, {1, 1, 5, 11, 7, 31, 101, 25, 231, 719, 1677, 1545, 459, 14735, 25153, 65079, 15141}}, +{10648, 17, 41843, {1, 1, 7, 9, 17, 7, 49, 1, 83, 829, 815, 307, 3405, 15189, 23699, 50889, 70391}}, +{10649, 17, 41846, {1, 1, 3, 15, 21, 57, 97, 191, 415, 899, 197, 2635, 7507, 14009, 8633, 48997, 93925}}, +{10650, 17, 41862, {1, 3, 5, 15, 23, 13, 67, 127, 33, 551, 911, 3933, 2027, 10665, 19509, 18485, 76111}}, +{10651, 17, 41871, {1, 1, 5, 7, 23, 63, 19, 149, 139, 155, 1621, 3391, 2337, 2809, 21161, 38565, 401}}, +{10652, 17, 41874, {1, 1, 1, 7, 19, 23, 81, 49, 339, 879, 1903, 657, 2677, 2273, 10853, 3225, 57933}}, +{10653, 17, 41876, {1, 3, 5, 5, 13, 31, 19, 203, 269, 1015, 997, 2151, 4471, 11331, 5363, 46519, 51709}}, +{10654, 17, 41892, {1, 1, 5, 11, 29, 19, 17, 169, 511, 389, 1429, 2707, 1341, 10511, 6779, 43345, 68693}}, +{10655, 17, 41899, {1, 1, 5, 11, 19, 25, 29, 37, 423, 345, 953, 2525, 5937, 6595, 31389, 39347, 36343}}, +{10656, 17, 41916, {1, 3, 1, 3, 15, 25, 45, 95, 111, 207, 19, 1723, 4113, 421, 3297, 46771, 8639}}, +{10657, 17, 41928, {1, 1, 3, 9, 9, 47, 27, 99, 327, 393, 1547, 1587, 4463, 719, 14609, 24347, 68107}}, +{10658, 17, 41957, {1, 3, 7, 7, 29, 19, 57, 229, 131, 497, 109, 251, 6599, 8947, 10255, 12875, 83831}}, +{10659, 17, 41964, {1, 3, 3, 7, 17, 5, 17, 45, 423, 393, 1793, 3, 603, 15221, 13141, 40585, 37489}}, +{10660, 17, 41969, {1, 1, 1, 11, 5, 1, 53, 147, 129, 135, 1473, 17, 7539, 13513, 16045, 17375, 41261}}, +{10661, 17, 41981, {1, 3, 1, 5, 3, 15, 75, 57, 47, 581, 739, 3529, 4323, 10225, 27861, 14431, 106811}}, +{10662, 17, 41996, {1, 3, 3, 13, 23, 57, 41, 39, 217, 67, 595, 1381, 6281, 10125, 30605, 7935, 124219}}, +{10663, 17, 41999, {1, 1, 7, 15, 15, 45, 1, 135, 495, 271, 2023, 3267, 39, 15025, 32763, 39023, 20041}}, +{10664, 17, 42001, {1, 3, 7, 13, 23, 53, 75, 147, 187, 633, 1989, 1885, 6581, 12169, 13639, 19707, 96429}}, +{10665, 17, 42017, {1, 1, 5, 9, 13, 55, 13, 41, 305, 105, 1983, 273, 35, 5185, 22569, 54203, 31641}}, +{10666, 17, 42023, {1, 1, 3, 15, 21, 19, 59, 35, 165, 575, 1961, 1443, 4803, 2339, 28329, 47695, 21505}}, +{10667, 17, 42027, {1, 3, 1, 3, 23, 45, 95, 85, 55, 457, 1957, 1243, 4091, 14669, 13213, 53901, 122605}}, +{10668, 17, 42032, {1, 3, 7, 1, 13, 1, 61, 253, 195, 839, 181, 1153, 1391, 205, 6725, 1757, 86817}}, +{10669, 17, 42035, {1, 1, 3, 9, 7, 13, 115, 137, 169, 851, 299, 509, 6709, 6331, 51, 31833, 25217}}, +{10670, 17, 42044, {1, 1, 5, 15, 29, 23, 119, 15, 41, 585, 1713, 1203, 1653, 3287, 25333, 58873, 71853}}, +{10671, 17, 42050, {1, 3, 5, 15, 1, 45, 35, 79, 97, 381, 2027, 3795, 2127, 4775, 4579, 63267, 24719}}, +{10672, 17, 42061, {1, 1, 5, 7, 17, 21, 123, 75, 3, 887, 1537, 2017, 1623, 16315, 12535, 64281, 54925}}, +{10673, 17, 42062, {1, 1, 3, 13, 5, 23, 117, 43, 305, 365, 775, 1599, 5917, 13995, 6353, 3113, 106317}}, +{10674, 17, 42073, {1, 1, 3, 11, 21, 19, 9, 11, 129, 349, 579, 3523, 5259, 8083, 24513, 15077, 115377}}, +{10675, 17, 42098, {1, 1, 7, 9, 19, 31, 107, 3, 185, 821, 907, 2389, 7015, 3161, 13603, 35063, 60641}}, +{10676, 17, 42104, {1, 1, 3, 1, 19, 35, 105, 245, 363, 745, 1287, 4051, 5201, 7787, 20919, 26567, 37357}}, +{10677, 17, 42109, {1, 3, 1, 1, 23, 31, 1, 149, 61, 489, 371, 987, 3689, 14275, 8581, 48221, 44183}}, +{10678, 17, 42120, {1, 1, 5, 3, 9, 35, 51, 17, 439, 355, 461, 2129, 1567, 13261, 22347, 17013, 53857}}, +{10679, 17, 42125, {1, 3, 3, 15, 3, 33, 59, 185, 157, 933, 1489, 647, 4839, 12139, 3145, 57819, 11731}}, +{10680, 17, 42131, {1, 3, 5, 15, 17, 31, 59, 51, 117, 1001, 1585, 2861, 2785, 9579, 28013, 4481, 126723}}, +{10681, 17, 42143, {1, 3, 7, 13, 27, 1, 41, 119, 179, 879, 1617, 4053, 3537, 15389, 16381, 40153, 68019}}, +{10682, 17, 42153, {1, 1, 3, 13, 13, 35, 45, 203, 333, 337, 1415, 1889, 2361, 4207, 10411, 21013, 44009}}, +{10683, 17, 42176, {1, 3, 3, 5, 27, 9, 17, 85, 331, 369, 1219, 247, 1977, 12267, 1181, 18811, 54017}}, +{10684, 17, 42182, {1, 3, 5, 9, 21, 57, 57, 175, 283, 639, 1155, 1595, 8187, 9981, 21451, 7525, 52751}}, +{10685, 17, 42188, {1, 3, 1, 5, 27, 61, 95, 25, 271, 81, 1335, 2821, 7805, 10167, 13197, 58341, 62325}}, +{10686, 17, 42203, {1, 1, 7, 3, 15, 31, 75, 5, 211, 663, 551, 963, 6015, 11907, 17045, 22863, 32389}}, +{10687, 17, 42216, {1, 1, 7, 5, 21, 53, 67, 71, 251, 135, 1153, 2247, 2499, 15431, 21419, 46737, 2827}}, +{10688, 17, 42219, {1, 1, 5, 3, 31, 25, 39, 209, 437, 791, 1595, 637, 1581, 6575, 26407, 24043, 11277}}, +{10689, 17, 42227, {1, 3, 3, 5, 21, 15, 13, 19, 259, 949, 1237, 239, 5739, 4661, 3405, 55775, 58781}}, +{10690, 17, 42234, {1, 1, 3, 5, 1, 63, 5, 197, 329, 625, 981, 913, 3957, 2765, 8801, 56675, 129511}}, +{10691, 17, 42251, {1, 3, 3, 3, 29, 53, 65, 145, 435, 937, 787, 2043, 4945, 14585, 2789, 15771, 112335}}, +{10692, 17, 42254, {1, 3, 7, 13, 3, 23, 33, 141, 131, 375, 739, 711, 897, 469, 3635, 43335, 3069}}, +{10693, 17, 42256, {1, 1, 7, 11, 29, 13, 111, 149, 197, 793, 1541, 1879, 7683, 9397, 6873, 43733, 118507}}, +{10694, 17, 42259, {1, 3, 7, 7, 29, 21, 97, 113, 139, 573, 1099, 2615, 5123, 13021, 9533, 57673, 79283}}, +{10695, 17, 42282, {1, 3, 1, 5, 11, 9, 59, 89, 469, 797, 1119, 1037, 1667, 5947, 6051, 65045, 98275}}, +{10696, 17, 42289, {1, 3, 3, 9, 11, 7, 51, 191, 321, 677, 1601, 681, 3579, 14441, 26579, 18019, 43065}}, +{10697, 17, 42302, {1, 3, 5, 11, 7, 11, 79, 21, 335, 537, 801, 3553, 4311, 375, 7333, 64839, 88841}}, +{10698, 17, 42307, {1, 3, 1, 7, 5, 11, 15, 163, 69, 645, 57, 3685, 5143, 8275, 12763, 25035, 68949}}, +{10699, 17, 42310, {1, 1, 3, 13, 29, 33, 125, 179, 431, 129, 1367, 951, 5843, 13419, 13897, 17315, 58083}}, +{10700, 17, 42322, {1, 1, 3, 11, 31, 33, 3, 7, 185, 821, 231, 869, 6147, 15243, 32029, 20295, 60871}}, +{10701, 17, 42328, {1, 1, 1, 1, 31, 43, 21, 103, 275, 573, 805, 225, 2049, 8375, 32595, 53201, 126487}}, +{10702, 17, 42338, {1, 1, 1, 9, 31, 29, 7, 91, 277, 937, 1223, 2435, 4335, 7861, 9647, 13577, 30059}}, +{10703, 17, 42349, {1, 1, 1, 1, 23, 25, 69, 175, 293, 905, 765, 1527, 6655, 15431, 2511, 3147, 75431}}, +{10704, 17, 42367, {1, 3, 3, 3, 15, 53, 109, 195, 87, 557, 1277, 1471, 7401, 14127, 11479, 41505, 769}}, +{10705, 17, 42386, {1, 1, 5, 11, 23, 37, 121, 181, 199, 359, 1521, 2561, 3641, 7621, 14219, 6959, 77529}}, +{10706, 17, 42398, {1, 3, 1, 11, 5, 7, 69, 199, 501, 251, 707, 1485, 8125, 3209, 30883, 40259, 85087}}, +{10707, 17, 42404, {1, 3, 5, 13, 9, 35, 5, 133, 505, 39, 581, 1605, 6303, 1211, 27211, 55591, 31689}}, +{10708, 17, 42413, {1, 1, 5, 3, 17, 7, 11, 61, 483, 59, 1569, 2583, 759, 5759, 3575, 44547, 89783}}, +{10709, 17, 42419, {1, 1, 7, 15, 5, 27, 107, 5, 471, 421, 383, 3591, 3609, 13817, 633, 22043, 83119}}, +{10710, 17, 42421, {1, 1, 3, 7, 27, 55, 61, 249, 37, 241, 1483, 2839, 1231, 4765, 1551, 55801, 129679}}, +{10711, 17, 42422, {1, 1, 1, 3, 11, 1, 19, 207, 143, 351, 409, 721, 4597, 13389, 30297, 43253, 129923}}, +{10712, 17, 42431, {1, 3, 3, 7, 7, 53, 83, 27, 167, 163, 537, 3871, 2459, 12813, 30019, 41131, 56109}}, +{10713, 17, 42445, {1, 1, 5, 1, 23, 37, 11, 67, 161, 751, 123, 307, 3341, 12983, 21565, 58529, 94503}}, +{10714, 17, 42448, {1, 3, 3, 15, 11, 33, 39, 195, 467, 647, 1479, 1197, 7949, 6501, 18375, 15263, 21121}}, +{10715, 17, 42451, {1, 3, 5, 13, 3, 35, 9, 253, 299, 679, 69, 165, 2735, 14725, 4217, 16391, 107017}}, +{10716, 17, 42454, {1, 1, 1, 15, 3, 11, 87, 87, 391, 515, 843, 3957, 1365, 13201, 15983, 53647, 35643}}, +{10717, 17, 42458, {1, 1, 3, 7, 9, 53, 45, 221, 209, 855, 169, 2729, 1219, 5229, 14111, 28877, 114653}}, +{10718, 17, 42470, {1, 1, 5, 3, 11, 17, 5, 93, 303, 785, 1895, 2483, 7399, 14031, 1007, 2743, 47307}}, +{10719, 17, 42476, {1, 1, 7, 11, 9, 13, 115, 31, 223, 1011, 723, 1291, 5183, 559, 15881, 43045, 28131}}, +{10720, 17, 42500, {1, 3, 7, 11, 7, 59, 85, 111, 79, 227, 691, 1597, 2453, 10023, 19255, 47781, 88351}}, +{10721, 17, 42509, {1, 3, 3, 7, 21, 33, 39, 35, 253, 743, 563, 2455, 8015, 13403, 24883, 47881, 115559}}, +{10722, 17, 42538, {1, 3, 1, 1, 5, 33, 69, 37, 225, 157, 1347, 3241, 4981, 15985, 9949, 49189, 21267}}, +{10723, 17, 42543, {1, 1, 3, 11, 9, 33, 123, 133, 215, 297, 961, 1571, 1133, 1, 31871, 25253, 100097}}, +{10724, 17, 42545, {1, 1, 1, 7, 13, 29, 101, 127, 113, 785, 1257, 525, 7397, 13143, 30315, 5969, 37829}}, +{10725, 17, 42546, {1, 1, 1, 7, 29, 33, 17, 95, 439, 577, 1857, 423, 63, 15365, 4777, 59073, 7773}}, +{10726, 17, 42563, {1, 1, 5, 15, 3, 17, 89, 133, 217, 601, 1979, 391, 105, 13709, 10081, 37725, 40957}}, +{10727, 17, 42570, {1, 1, 1, 15, 25, 7, 85, 197, 155, 367, 1927, 2007, 2563, 13147, 2345, 28735, 88243}}, +{10728, 17, 42580, {1, 3, 5, 3, 5, 33, 87, 153, 153, 779, 825, 2163, 385, 11663, 2005, 51261, 25893}}, +{10729, 17, 42584, {1, 3, 5, 5, 23, 15, 19, 99, 71, 723, 523, 3683, 7773, 191, 17423, 30497, 129889}}, +{10730, 17, 42589, {1, 1, 7, 11, 1, 3, 49, 119, 39, 661, 297, 27, 1575, 12145, 18519, 57285, 50059}}, +{10731, 17, 42608, {1, 3, 7, 5, 7, 37, 75, 235, 403, 743, 603, 1689, 5031, 8871, 28241, 16917, 16947}}, +{10732, 17, 42618, {1, 1, 5, 13, 17, 41, 67, 219, 237, 365, 833, 3521, 3211, 1037, 5657, 34789, 119739}}, +{10733, 17, 42629, {1, 1, 5, 7, 3, 61, 89, 107, 335, 825, 803, 2445, 6861, 5421, 14585, 44037, 92711}}, +{10734, 17, 42636, {1, 3, 7, 3, 19, 25, 81, 51, 101, 477, 1653, 2841, 6597, 9261, 30609, 15681, 48897}}, +{10735, 17, 42639, {1, 1, 7, 11, 17, 1, 43, 39, 133, 513, 1839, 553, 6379, 4865, 28161, 7249, 80073}}, +{10736, 17, 42644, {1, 1, 5, 5, 13, 45, 19, 225, 399, 679, 195, 3613, 413, 2901, 26749, 39971, 31435}}, +{10737, 17, 42647, {1, 3, 7, 3, 23, 55, 57, 77, 447, 721, 677, 271, 6211, 12631, 5843, 35991, 82653}}, +{10738, 17, 42651, {1, 1, 1, 1, 3, 63, 23, 195, 1, 1019, 723, 3865, 5913, 5491, 5495, 27483, 73637}}, +{10739, 17, 42654, {1, 3, 1, 11, 17, 31, 27, 211, 411, 789, 1049, 2487, 2203, 6457, 7275, 4833, 14131}}, +{10740, 17, 42658, {1, 1, 5, 15, 15, 13, 65, 155, 127, 753, 1605, 1859, 2873, 9197, 1763, 11969, 82971}}, +{10741, 17, 42669, {1, 1, 3, 11, 11, 63, 13, 29, 31, 851, 251, 3231, 1227, 5513, 9785, 34659, 123811}}, +{10742, 17, 42678, {1, 3, 5, 1, 19, 57, 41, 205, 91, 39, 989, 1897, 4789, 16071, 6507, 29363, 75773}}, +{10743, 17, 42689, {1, 1, 1, 1, 5, 29, 113, 203, 53, 599, 1529, 1417, 7017, 9609, 4867, 17659, 80719}}, +{10744, 17, 42695, {1, 3, 7, 9, 27, 17, 77, 25, 461, 511, 781, 2977, 7601, 3551, 23615, 57669, 119723}}, +{10745, 17, 42696, {1, 3, 3, 9, 23, 43, 115, 21, 125, 237, 893, 1431, 7423, 3717, 4371, 36193, 30481}}, +{10746, 17, 42710, {1, 1, 5, 13, 3, 37, 13, 239, 267, 665, 205, 2745, 3865, 12167, 26689, 999, 9355}}, +{10747, 17, 42716, {1, 1, 1, 1, 31, 35, 55, 115, 387, 217, 657, 2827, 2963, 3687, 24271, 41701, 5911}}, +{10748, 17, 42730, {1, 1, 3, 3, 27, 57, 41, 183, 351, 841, 1327, 719, 7043, 12503, 17953, 60719, 98223}}, +{10749, 17, 42732, {1, 3, 1, 1, 27, 1, 119, 85, 197, 673, 1951, 2949, 4783, 561, 12807, 43355, 63397}}, +{10750, 17, 42747, {1, 1, 7, 7, 17, 63, 109, 87, 303, 439, 529, 685, 111, 8405, 21249, 33803, 77927}}, +{10751, 17, 42750, {1, 1, 7, 9, 11, 63, 27, 185, 445, 25, 1313, 3979, 4229, 8797, 10671, 33995, 84463}}, +{10752, 17, 42752, {1, 1, 1, 15, 27, 63, 67, 237, 39, 993, 851, 4075, 3417, 1077, 11939, 31737, 93897}}, +{10753, 17, 42761, {1, 1, 3, 5, 25, 9, 51, 241, 213, 661, 1135, 213, 7027, 5933, 24485, 65029, 8583}}, +{10754, 17, 42772, {1, 3, 5, 11, 31, 1, 17, 237, 107, 1021, 279, 181, 1741, 11099, 7871, 63231, 64445}}, +{10755, 17, 42776, {1, 3, 5, 9, 17, 21, 11, 45, 23, 409, 519, 1703, 5467, 9591, 13555, 23739, 73837}}, +{10756, 17, 42779, {1, 3, 3, 15, 3, 39, 11, 157, 273, 241, 413, 1723, 3179, 2125, 16859, 5231, 122969}}, +{10757, 17, 42797, {1, 3, 5, 11, 21, 27, 29, 243, 255, 1011, 1179, 3545, 3557, 8091, 31569, 10217, 108361}}, +{10758, 17, 42815, {1, 1, 5, 9, 25, 33, 29, 67, 395, 123, 1405, 3855, 7481, 5601, 21231, 17099, 13399}}, +{10759, 17, 42824, {1, 1, 5, 5, 13, 17, 111, 47, 77, 827, 577, 1767, 3367, 11719, 8801, 22431, 85451}}, +{10760, 17, 42837, {1, 3, 7, 11, 11, 31, 17, 141, 149, 293, 55, 3459, 19, 13709, 29135, 62765, 66455}}, +{10761, 17, 42844, {1, 1, 7, 15, 13, 19, 59, 211, 189, 773, 1791, 2089, 2857, 1635, 17777, 46585, 70115}}, +{10762, 17, 42868, {1, 1, 5, 11, 29, 29, 15, 7, 93, 733, 1605, 3731, 2381, 1063, 15565, 25081, 46651}}, +{10763, 17, 42877, {1, 3, 1, 9, 25, 5, 87, 113, 25, 93, 881, 1137, 3237, 10983, 14317, 25945, 121493}}, +{10764, 17, 42888, {1, 1, 5, 11, 29, 47, 99, 111, 165, 453, 259, 2001, 7715, 2609, 15633, 40273, 2065}}, +{10765, 17, 42891, {1, 1, 7, 13, 11, 29, 33, 255, 149, 361, 89, 2837, 49, 3033, 1917, 9029, 38123}}, +{10766, 17, 42912, {1, 1, 1, 7, 27, 31, 105, 61, 469, 497, 1919, 3005, 3651, 2143, 24359, 8053, 103647}}, +{10767, 17, 42918, {1, 1, 3, 13, 31, 63, 101, 47, 397, 89, 1915, 2385, 5399, 8897, 21001, 42997, 110333}}, +{10768, 17, 42921, {1, 3, 7, 5, 29, 1, 5, 119, 493, 349, 153, 1839, 283, 14343, 12975, 55597, 89467}}, +{10769, 17, 42927, {1, 3, 5, 3, 5, 51, 71, 227, 63, 799, 745, 1387, 2435, 1003, 27937, 43421, 12279}}, +{10770, 17, 42949, {1, 3, 3, 7, 7, 31, 37, 61, 11, 175, 581, 1583, 4737, 3087, 10335, 60683, 57085}}, +{10771, 17, 42953, {1, 3, 1, 1, 1, 63, 59, 47, 417, 35, 1673, 3277, 1873, 14981, 22463, 26835, 91115}}, +{10772, 17, 42967, {1, 1, 7, 5, 15, 23, 115, 13, 253, 583, 219, 1307, 1189, 9891, 641, 20841, 87133}}, +{10773, 17, 42974, {1, 1, 5, 11, 1, 3, 71, 235, 429, 335, 1649, 1775, 3077, 13723, 3209, 19807, 7283}}, +{10774, 17, 42989, {1, 1, 7, 1, 31, 49, 39, 141, 127, 63, 1561, 2559, 7661, 4825, 9419, 15327, 87145}}, +{10775, 17, 42995, {1, 1, 5, 3, 17, 33, 51, 219, 467, 151, 161, 3301, 7509, 2235, 30371, 64031, 62741}}, +{10776, 17, 42997, {1, 3, 1, 3, 23, 63, 43, 29, 399, 279, 271, 3537, 1863, 1811, 14917, 28247, 34807}}, +{10777, 17, 43007, {1, 1, 3, 5, 13, 29, 37, 151, 129, 19, 149, 2145, 5363, 6835, 19655, 1207, 74527}}, +{10778, 17, 43018, {1, 3, 5, 7, 27, 35, 63, 53, 247, 987, 1767, 483, 3489, 1711, 10763, 6981, 78251}}, +{10779, 17, 43025, {1, 1, 3, 1, 15, 47, 83, 147, 375, 539, 1623, 29, 4599, 7981, 23533, 64659, 48753}}, +{10780, 17, 43031, {1, 1, 1, 9, 21, 17, 85, 45, 167, 469, 1319, 2969, 1605, 1405, 9961, 28829, 125757}}, +{10781, 17, 43032, {1, 3, 1, 11, 3, 45, 43, 159, 301, 579, 1821, 701, 1149, 457, 16601, 49377, 99845}}, +{10782, 17, 43038, {1, 1, 7, 13, 11, 7, 37, 227, 345, 973, 1167, 1247, 5109, 10917, 3029, 60065, 127347}}, +{10783, 17, 43041, {1, 1, 3, 5, 3, 63, 95, 233, 495, 225, 1225, 3451, 7731, 14677, 10437, 1417, 33293}}, +{10784, 17, 43054, {1, 1, 7, 15, 1, 3, 3, 171, 201, 1009, 1481, 587, 7661, 10085, 4961, 46415, 28573}}, +{10785, 17, 43074, {1, 1, 5, 1, 3, 45, 67, 79, 463, 733, 2007, 2811, 2943, 14857, 23469, 14479, 97875}}, +{10786, 17, 43085, {1, 1, 1, 5, 19, 1, 29, 29, 447, 173, 1081, 153, 5343, 5707, 1357, 30169, 122527}}, +{10787, 17, 43097, {1, 1, 1, 5, 15, 57, 33, 129, 71, 717, 173, 3271, 4741, 13211, 28321, 56793, 119833}}, +{10788, 17, 43098, {1, 3, 3, 9, 9, 41, 47, 71, 103, 713, 725, 1335, 5261, 13835, 17619, 47429, 69815}}, +{10789, 17, 43110, {1, 3, 3, 15, 7, 3, 71, 25, 75, 967, 1037, 3585, 3407, 9979, 2195, 51087, 126535}}, +{10790, 17, 43119, {1, 3, 3, 11, 25, 7, 25, 249, 473, 339, 1211, 3503, 4343, 9707, 26127, 62061, 52479}}, +{10791, 17, 43131, {1, 1, 3, 3, 27, 9, 79, 197, 207, 845, 377, 3231, 5177, 899, 19497, 41187, 105897}}, +{10792, 17, 43143, {1, 3, 5, 15, 5, 27, 65, 151, 207, 677, 713, 2495, 681, 15341, 5389, 51965, 43761}}, +{10793, 17, 43144, {1, 3, 3, 11, 19, 11, 55, 189, 291, 183, 1345, 2677, 791, 2391, 25771, 55147, 24223}}, +{10794, 17, 43152, {1, 1, 3, 11, 31, 59, 29, 5, 275, 483, 1361, 1527, 3019, 245, 17667, 57905, 41329}}, +{10795, 17, 43157, {1, 3, 3, 9, 7, 19, 83, 71, 147, 999, 793, 3535, 1931, 12817, 2707, 45735, 31311}}, +{10796, 17, 43178, {1, 1, 5, 7, 5, 1, 117, 247, 127, 1011, 1441, 2449, 4095, 12239, 4743, 64781, 32621}}, +{10797, 17, 43180, {1, 3, 1, 11, 19, 57, 43, 39, 97, 485, 951, 989, 5975, 5219, 14421, 43681, 37305}}, +{10798, 17, 43192, {1, 1, 5, 15, 7, 49, 113, 161, 199, 545, 1113, 3821, 2019, 8747, 4085, 50823, 31955}}, +{10799, 17, 43197, {1, 3, 3, 3, 19, 41, 47, 191, 403, 25, 2043, 3489, 6263, 4843, 12961, 63791, 5027}}, +{10800, 17, 43203, {1, 1, 7, 1, 25, 55, 5, 51, 121, 273, 973, 3893, 1771, 9373, 21927, 29353, 95935}}, +{10801, 17, 43220, {1, 3, 3, 3, 27, 1, 97, 63, 445, 179, 481, 2995, 3123, 4687, 24359, 35973, 74535}}, +{10802, 17, 43236, {1, 1, 5, 1, 29, 23, 117, 183, 197, 819, 695, 641, 4155, 13593, 30965, 41407, 42433}}, +{10803, 17, 43245, {1, 3, 5, 1, 23, 53, 61, 253, 87, 487, 1995, 1281, 3367, 15047, 3493, 41711, 53407}}, +{10804, 17, 43246, {1, 1, 1, 9, 27, 49, 83, 21, 63, 181, 1661, 1649, 281, 12141, 25771, 35563, 42643}}, +{10805, 17, 43260, {1, 3, 5, 13, 15, 59, 121, 113, 379, 487, 1929, 3725, 2477, 6527, 8619, 64869, 57103}}, +{10806, 17, 43265, {1, 3, 1, 7, 27, 39, 69, 93, 193, 395, 433, 2091, 151, 6921, 11599, 36143, 41179}}, +{10807, 17, 43271, {1, 1, 7, 1, 31, 33, 73, 199, 57, 37, 1387, 3505, 7919, 3507, 2855, 8239, 84527}}, +{10808, 17, 43285, {1, 1, 7, 5, 15, 5, 119, 253, 263, 785, 1409, 1485, 3675, 5515, 13057, 30323, 98015}}, +{10809, 17, 43286, {1, 3, 1, 1, 11, 5, 57, 83, 365, 703, 1923, 1397, 1103, 4015, 13123, 47093, 113793}}, +{10810, 17, 43290, {1, 3, 3, 1, 5, 61, 29, 173, 189, 999, 897, 3389, 6745, 1487, 2349, 59105, 107407}}, +{10811, 17, 43299, {1, 1, 1, 1, 17, 51, 65, 1, 249, 863, 399, 3819, 2485, 12215, 12365, 58909, 25559}}, +{10812, 17, 43314, {1, 3, 7, 1, 31, 39, 43, 219, 51, 13, 779, 505, 2259, 14571, 9049, 21555, 11869}}, +{10813, 17, 43323, {1, 1, 7, 7, 13, 5, 97, 85, 111, 511, 587, 63, 2395, 8099, 26223, 757, 119821}}, +{10814, 17, 43337, {1, 3, 3, 5, 5, 19, 113, 35, 101, 41, 499, 1313, 6489, 6793, 31435, 45007, 95691}}, +{10815, 17, 43348, {1, 3, 5, 15, 19, 37, 103, 187, 347, 667, 1957, 1825, 7447, 12359, 21779, 52749, 18679}}, +{10816, 17, 43355, {1, 3, 5, 5, 17, 19, 19, 193, 435, 379, 439, 2093, 725, 2133, 15659, 54645, 59567}}, +{10817, 17, 43357, {1, 3, 7, 3, 23, 35, 33, 13, 23, 349, 231, 1635, 1625, 5039, 21299, 36413, 104681}}, +{10818, 17, 43358, {1, 1, 3, 13, 23, 49, 15, 253, 509, 9, 411, 2157, 3737, 11227, 6021, 42919, 100375}}, +{10819, 17, 43361, {1, 1, 7, 1, 17, 11, 33, 167, 219, 63, 137, 741, 4193, 16149, 9657, 50223, 85213}}, +{10820, 17, 43362, {1, 3, 7, 11, 23, 59, 113, 149, 427, 697, 1723, 255, 201, 10081, 1079, 323, 109091}}, +{10821, 17, 43364, {1, 3, 3, 15, 11, 9, 89, 39, 67, 249, 1939, 1737, 3719, 10515, 16517, 22345, 83959}}, +{10822, 17, 43368, {1, 3, 3, 13, 5, 33, 127, 9, 329, 429, 563, 1579, 4427, 8343, 22083, 5035, 124915}}, +{10823, 17, 43376, {1, 1, 1, 5, 15, 57, 121, 171, 315, 983, 743, 2015, 2421, 12431, 2561, 13331, 73163}}, +{10824, 17, 43385, {1, 1, 3, 9, 1, 39, 85, 159, 23, 979, 1467, 231, 4231, 3669, 16747, 24195, 46745}}, +{10825, 17, 43386, {1, 1, 3, 7, 3, 11, 65, 67, 85, 455, 365, 2279, 3471, 12771, 14443, 42773, 28723}}, +{10826, 17, 43391, {1, 3, 5, 1, 13, 9, 105, 237, 103, 59, 1301, 3125, 509, 12669, 3893, 9775, 81303}}, +{10827, 17, 43397, {1, 1, 3, 11, 19, 9, 125, 23, 191, 979, 533, 429, 3239, 15013, 13833, 40689, 102827}}, +{10828, 17, 43431, {1, 3, 3, 7, 15, 5, 83, 243, 467, 913, 1279, 3889, 8049, 8357, 5957, 39073, 93521}}, +{10829, 17, 43438, {1, 3, 3, 3, 19, 5, 123, 77, 289, 57, 2001, 807, 5257, 1671, 20273, 10183, 128439}}, +{10830, 17, 43440, {1, 1, 7, 13, 19, 45, 25, 47, 135, 929, 1353, 2731, 3351, 7637, 27037, 58835, 50285}}, +{10831, 17, 43452, {1, 3, 1, 1, 13, 55, 55, 197, 409, 93, 1351, 161, 1885, 5913, 27937, 49793, 84541}}, +{10832, 17, 43463, {1, 1, 3, 7, 29, 21, 113, 179, 203, 533, 1471, 2035, 447, 6781, 28729, 31099, 23027}}, +{10833, 17, 43470, {1, 1, 3, 11, 27, 3, 5, 209, 367, 945, 749, 3637, 2881, 8139, 27875, 34223, 97263}}, +{10834, 17, 43478, {1, 3, 5, 13, 25, 27, 35, 3, 13, 707, 303, 3663, 6617, 13501, 25537, 33077, 71485}}, +{10835, 17, 43481, {1, 1, 7, 15, 11, 29, 65, 47, 235, 635, 133, 153, 6175, 2961, 8171, 28641, 122589}}, +{10836, 17, 43488, {1, 1, 5, 15, 17, 41, 85, 147, 323, 673, 1629, 3477, 3341, 16373, 13901, 60961, 39451}}, +{10837, 17, 43491, {1, 3, 1, 15, 29, 15, 37, 109, 293, 863, 1835, 1173, 2263, 13815, 24995, 6989, 103417}}, +{10838, 17, 43506, {1, 3, 3, 15, 3, 31, 23, 47, 15, 717, 1457, 1067, 6229, 7051, 21771, 54815, 115827}}, +{10839, 17, 43512, {1, 1, 1, 13, 21, 3, 45, 239, 89, 603, 407, 781, 8095, 7389, 18035, 32229, 39867}}, +{10840, 17, 43539, {1, 1, 3, 7, 7, 59, 79, 51, 411, 917, 803, 2455, 2623, 12413, 23957, 44199, 67903}}, +{10841, 17, 43567, {1, 3, 1, 9, 17, 37, 117, 47, 101, 733, 1861, 1111, 6785, 13743, 24371, 49427, 54711}}, +{10842, 17, 43579, {1, 3, 1, 15, 27, 63, 107, 33, 351, 287, 1765, 1947, 6209, 8127, 30007, 18757, 31453}}, +{10843, 17, 43584, {1, 3, 5, 13, 11, 13, 29, 247, 7, 609, 1235, 1767, 5365, 12673, 10151, 51579, 106407}}, +{10844, 17, 43601, {1, 3, 7, 15, 5, 25, 81, 197, 51, 615, 1695, 259, 7983, 1403, 7903, 21441, 73263}}, +{10845, 17, 43614, {1, 1, 5, 1, 13, 61, 55, 175, 445, 3, 1957, 1171, 6823, 4285, 11847, 12789, 79787}}, +{10846, 17, 43617, {1, 1, 5, 15, 17, 51, 111, 201, 45, 97, 45, 2533, 1125, 3663, 13685, 45719, 51497}}, +{10847, 17, 43623, {1, 3, 3, 13, 29, 59, 111, 97, 381, 477, 1229, 3709, 5185, 7055, 32729, 32881, 25539}}, +{10848, 17, 43630, {1, 3, 1, 9, 1, 39, 57, 143, 189, 625, 1717, 1755, 3129, 807, 27975, 15511, 66123}}, +{10849, 17, 43647, {1, 3, 3, 1, 5, 41, 25, 27, 163, 397, 1595, 2325, 1803, 12439, 25743, 24509, 72613}}, +{10850, 17, 43658, {1, 1, 5, 13, 29, 41, 125, 113, 367, 709, 1911, 669, 831, 5375, 31145, 26197, 33543}}, +{10851, 17, 43663, {1, 1, 5, 1, 1, 5, 91, 199, 133, 273, 393, 1179, 717, 12791, 17693, 6905, 20433}}, +{10852, 17, 43665, {1, 1, 3, 15, 29, 35, 9, 127, 383, 673, 1821, 2765, 2425, 11789, 19741, 43189, 99557}}, +{10853, 17, 43691, {1, 1, 7, 13, 9, 19, 119, 103, 11, 983, 623, 391, 1609, 2333, 19843, 28269, 41237}}, +{10854, 17, 43701, {1, 3, 7, 5, 29, 3, 13, 213, 387, 361, 749, 669, 1625, 5687, 11369, 38119, 38389}}, +{10855, 17, 43705, {1, 3, 5, 13, 13, 51, 47, 33, 1, 979, 1817, 2633, 7181, 47, 3603, 49211, 4377}}, +{10856, 17, 43708, {1, 3, 1, 1, 11, 63, 5, 249, 13, 805, 1097, 1449, 5235, 16299, 25855, 30949, 3013}}, +{10857, 17, 43719, {1, 3, 7, 9, 29, 35, 89, 135, 475, 945, 999, 771, 6023, 13317, 32611, 43971, 10393}}, +{10858, 17, 43731, {1, 1, 1, 5, 23, 3, 37, 117, 95, 985, 1599, 2191, 3617, 5831, 31113, 10873, 112219}}, +{10859, 17, 43737, {1, 3, 5, 7, 11, 15, 55, 65, 239, 365, 1209, 3509, 8101, 8619, 24775, 65291, 50589}}, +{10860, 17, 43740, {1, 1, 7, 9, 21, 19, 123, 83, 317, 717, 433, 31, 2597, 14723, 28839, 7817, 126123}}, +{10861, 17, 43747, {1, 1, 7, 11, 3, 33, 99, 39, 227, 279, 353, 1921, 7883, 16187, 5157, 41121, 89425}}, +{10862, 17, 43749, {1, 3, 5, 9, 25, 7, 29, 165, 129, 77, 159, 923, 1357, 1159, 23537, 58087, 56443}}, +{10863, 17, 43750, {1, 1, 7, 3, 13, 51, 45, 161, 27, 41, 1295, 2937, 7223, 5271, 17927, 23311, 2543}}, +{10864, 17, 43754, {1, 1, 1, 1, 11, 53, 119, 165, 409, 785, 1649, 3587, 259, 10997, 3171, 31271, 104631}}, +{10865, 17, 43764, {1, 1, 5, 7, 5, 7, 49, 201, 373, 825, 1755, 3751, 8041, 8133, 21347, 12039, 3049}}, +{10866, 17, 43767, {1, 1, 1, 3, 7, 29, 103, 1, 473, 65, 761, 1611, 5121, 14345, 32535, 16679, 11321}}, +{10867, 17, 43768, {1, 3, 3, 11, 21, 57, 35, 63, 237, 415, 1943, 483, 5377, 14647, 23433, 45459, 32535}}, +{10868, 17, 43773, {1, 1, 1, 15, 21, 57, 7, 103, 493, 279, 665, 3699, 169, 7619, 3571, 11539, 31983}}, +{10869, 17, 43785, {1, 1, 1, 1, 9, 5, 81, 159, 105, 927, 379, 1133, 1805, 14341, 9833, 63151, 70877}}, +{10870, 17, 43788, {1, 1, 7, 5, 19, 5, 63, 127, 129, 43, 757, 2215, 3899, 643, 19731, 17345, 102611}}, +{10871, 17, 43810, {1, 3, 7, 7, 27, 21, 3, 69, 475, 283, 319, 833, 3683, 11275, 18191, 44027, 24901}}, +{10872, 17, 43819, {1, 1, 5, 5, 31, 25, 63, 33, 505, 765, 257, 1147, 779, 12505, 19971, 24695, 65935}}, +{10873, 17, 43834, {1, 1, 1, 15, 23, 33, 31, 107, 59, 639, 1307, 3211, 6171, 15665, 16775, 61671, 25569}}, +{10874, 17, 43853, {1, 3, 3, 9, 31, 3, 113, 199, 425, 895, 1051, 2125, 1525, 15199, 14845, 4213, 18449}}, +{10875, 17, 43866, {1, 3, 5, 3, 3, 11, 75, 121, 33, 265, 459, 3879, 909, 6533, 18451, 32421, 117427}}, +{10876, 17, 43871, {1, 1, 1, 9, 11, 9, 125, 175, 309, 847, 959, 2013, 1557, 9291, 2963, 43275, 9917}}, +{10877, 17, 43872, {1, 1, 5, 3, 15, 39, 67, 35, 373, 601, 463, 1263, 1615, 15059, 31011, 36059, 114493}}, +{10878, 17, 43881, {1, 1, 5, 15, 5, 43, 49, 239, 461, 171, 1863, 2249, 2923, 15897, 22941, 29925, 21429}}, +{10879, 17, 43889, {1, 1, 1, 15, 13, 31, 127, 205, 361, 149, 1641, 1443, 5959, 13183, 13861, 9533, 1011}}, +{10880, 17, 43902, {1, 1, 3, 13, 9, 49, 39, 67, 165, 695, 611, 2261, 3425, 6247, 23575, 51833, 106167}}, +{10881, 17, 43926, {1, 1, 7, 9, 29, 21, 75, 251, 87, 263, 2035, 1007, 3821, 12719, 8889, 47901, 39037}}, +{10882, 17, 43935, {1, 3, 1, 3, 15, 51, 79, 127, 201, 497, 1881, 3841, 1821, 14435, 4933, 6853, 104305}}, +{10883, 17, 43946, {1, 1, 5, 11, 23, 47, 33, 109, 481, 585, 333, 2525, 593, 1625, 5787, 23839, 30647}}, +{10884, 17, 43951, {1, 1, 5, 1, 17, 3, 7, 43, 113, 873, 1433, 3377, 45, 831, 17015, 21479, 7257}}, +{10885, 17, 43953, {1, 1, 1, 1, 13, 21, 59, 159, 279, 871, 53, 3647, 2599, 12417, 25807, 6867, 18251}}, +{10886, 17, 43971, {1, 1, 5, 9, 29, 61, 7, 81, 353, 761, 269, 4047, 3051, 8385, 2919, 18875, 15239}}, +{10887, 17, 44008, {1, 1, 7, 13, 31, 17, 71, 103, 107, 655, 1263, 849, 1809, 349, 3239, 45381, 117451}}, +{10888, 17, 44011, {1, 1, 5, 9, 27, 45, 83, 207, 117, 77, 437, 523, 851, 13595, 12381, 27271, 59951}}, +{10889, 17, 44026, {1, 3, 3, 15, 3, 33, 103, 217, 61, 443, 1077, 2887, 1751, 11111, 465, 37051, 89687}}, +{10890, 17, 44033, {1, 1, 1, 5, 15, 15, 13, 115, 275, 565, 1257, 1067, 6561, 8143, 2149, 53169, 123637}}, +{10891, 17, 44048, {1, 3, 3, 15, 27, 63, 25, 191, 143, 103, 1247, 1053, 2469, 9823, 4437, 18195, 91751}}, +{10892, 17, 44057, {1, 1, 7, 11, 1, 63, 31, 103, 249, 861, 983, 335, 35, 4291, 16307, 43669, 68065}}, +{10893, 17, 44058, {1, 3, 1, 15, 13, 29, 51, 145, 177, 851, 39, 3531, 4477, 4243, 3301, 64293, 15741}}, +{10894, 17, 44067, {1, 1, 7, 3, 29, 45, 5, 85, 185, 191, 1007, 3085, 2177, 14911, 18319, 265, 25435}}, +{10895, 17, 44081, {1, 1, 5, 9, 9, 57, 47, 143, 217, 947, 2021, 1835, 4773, 15145, 26519, 46407, 103667}}, +{10896, 17, 44087, {1, 3, 1, 11, 1, 7, 51, 75, 207, 757, 89, 1289, 39, 15641, 9477, 28503, 47113}}, +{10897, 17, 44099, {1, 3, 1, 11, 9, 19, 21, 197, 429, 121, 813, 3447, 6091, 3167, 5401, 27791, 26499}}, +{10898, 17, 44105, {1, 1, 7, 15, 1, 15, 85, 247, 3, 111, 433, 3103, 5049, 7929, 22645, 53247, 53417}}, +{10899, 17, 44106, {1, 1, 7, 7, 27, 19, 125, 101, 269, 7, 777, 1289, 1429, 11561, 18043, 3601, 125857}}, +{10900, 17, 44114, {1, 1, 1, 13, 11, 9, 127, 231, 239, 435, 1291, 4025, 1049, 15549, 7577, 51147, 38121}}, +{10901, 17, 44116, {1, 1, 7, 3, 9, 55, 57, 137, 387, 565, 873, 1417, 5993, 4849, 1731, 51653, 105697}}, +{10902, 17, 44130, {1, 1, 7, 9, 7, 47, 115, 119, 325, 881, 1687, 1009, 7007, 12541, 6737, 28471, 7369}}, +{10903, 17, 44139, {1, 3, 1, 1, 11, 47, 25, 163, 399, 977, 1777, 727, 5575, 1311, 23843, 2199, 93229}}, +{10904, 17, 44141, {1, 1, 7, 5, 13, 19, 53, 123, 439, 585, 1977, 3387, 5305, 1463, 14307, 9519, 537}}, +{10905, 17, 44153, {1, 1, 7, 15, 1, 53, 13, 213, 323, 699, 1585, 3499, 2441, 3055, 31263, 63923, 9779}}, +{10906, 17, 44159, {1, 1, 5, 5, 21, 43, 123, 43, 475, 521, 1301, 3185, 5627, 7443, 1195, 39485, 113125}}, +{10907, 17, 44160, {1, 1, 5, 7, 9, 3, 39, 5, 237, 719, 1743, 1153, 6401, 14701, 5503, 38491, 24123}}, +{10908, 17, 44170, {1, 3, 5, 9, 17, 33, 117, 23, 409, 63, 1829, 2587, 3489, 3209, 4775, 40069, 4721}}, +{10909, 17, 44172, {1, 3, 3, 5, 21, 63, 95, 231, 25, 167, 1181, 813, 4591, 5227, 21999, 19633, 37547}}, +{10910, 17, 44187, {1, 1, 7, 11, 13, 9, 13, 147, 239, 951, 1247, 1199, 7907, 12493, 25371, 1917, 107499}}, +{10911, 17, 44190, {1, 1, 5, 15, 3, 49, 31, 103, 189, 561, 1763, 3941, 3525, 3165, 7789, 57729, 92635}}, +{10912, 17, 44193, {1, 1, 1, 5, 3, 61, 107, 163, 465, 631, 1519, 169, 4469, 8153, 11039, 247, 37657}}, +{10913, 17, 44199, {1, 3, 1, 5, 9, 37, 51, 195, 465, 975, 169, 1077, 995, 2669, 7663, 28997, 25779}}, +{10914, 17, 44213, {1, 1, 7, 13, 7, 37, 3, 117, 147, 335, 629, 4077, 5855, 2893, 5629, 55075, 83359}}, +{10915, 17, 44218, {1, 1, 5, 9, 9, 25, 53, 63, 315, 287, 1833, 1397, 2395, 5719, 6719, 18003, 101073}}, +{10916, 17, 44223, {1, 1, 7, 1, 13, 19, 13, 81, 497, 399, 413, 2411, 3915, 14037, 19735, 4587, 69655}}, +{10917, 17, 44235, {1, 3, 1, 7, 5, 61, 101, 209, 299, 729, 1359, 4013, 2057, 8439, 8113, 57417, 8951}}, +{10918, 17, 44243, {1, 3, 5, 7, 29, 21, 67, 73, 107, 359, 1655, 3729, 4403, 10467, 28103, 10261, 74651}}, +{10919, 17, 44262, {1, 1, 1, 9, 3, 39, 25, 91, 287, 497, 1743, 339, 4739, 1709, 16351, 45385, 64693}}, +{10920, 17, 44283, {1, 3, 1, 1, 7, 13, 41, 93, 49, 285, 997, 891, 4353, 4249, 11269, 36935, 71249}}, +{10921, 17, 44291, {1, 3, 3, 13, 13, 23, 97, 231, 101, 93, 1183, 201, 6795, 16287, 30707, 20845, 105873}}, +{10922, 17, 44293, {1, 1, 1, 9, 7, 57, 123, 167, 451, 245, 1887, 1839, 2967, 2387, 15075, 11877, 629}}, +{10923, 17, 44308, {1, 3, 3, 1, 13, 13, 83, 41, 219, 313, 1743, 1265, 4435, 11731, 17625, 64235, 24865}}, +{10924, 17, 44327, {1, 3, 1, 9, 13, 17, 109, 235, 387, 581, 887, 1071, 603, 10955, 5001, 8419, 20997}}, +{10925, 17, 44341, {1, 3, 1, 5, 31, 55, 1, 219, 27, 623, 1425, 1309, 5409, 9633, 3231, 15029, 22989}}, +{10926, 17, 44346, {1, 3, 3, 13, 25, 47, 23, 223, 283, 189, 1665, 3743, 387, 1807, 16919, 8511, 15933}}, +{10927, 17, 44348, {1, 1, 1, 1, 13, 11, 81, 59, 423, 1007, 317, 2761, 2617, 9715, 24853, 63585, 77083}}, +{10928, 17, 44354, {1, 3, 1, 3, 3, 11, 103, 123, 401, 467, 1159, 2725, 3275, 15513, 2281, 21617, 87211}}, +{10929, 17, 44366, {1, 1, 5, 7, 23, 17, 25, 83, 11, 901, 809, 3233, 3929, 8685, 7609, 50949, 104841}}, +{10930, 17, 44368, {1, 3, 7, 1, 15, 33, 37, 245, 275, 453, 729, 721, 1589, 5417, 29839, 57315, 67227}}, +{10931, 17, 44373, {1, 3, 7, 3, 21, 17, 51, 213, 225, 471, 1201, 931, 1229, 9503, 5507, 4057, 7737}}, +{10932, 17, 44384, {1, 3, 1, 11, 29, 55, 19, 193, 9, 151, 597, 1377, 827, 8549, 1293, 10963, 86183}}, +{10933, 17, 44390, {1, 3, 3, 15, 17, 23, 89, 47, 195, 333, 2001, 1001, 6715, 9797, 21631, 5723, 88847}}, +{10934, 17, 44393, {1, 3, 5, 9, 21, 33, 111, 101, 503, 513, 785, 1947, 1139, 7921, 13189, 34831, 80963}}, +{10935, 17, 44394, {1, 3, 3, 13, 9, 61, 35, 39, 451, 485, 661, 1993, 4705, 9477, 32541, 16553, 33167}}, +{10936, 17, 44399, {1, 3, 3, 9, 29, 37, 115, 87, 367, 325, 539, 1975, 6769, 1453, 31099, 3335, 16939}}, +{10937, 17, 44401, {1, 1, 1, 7, 15, 21, 113, 203, 97, 847, 625, 847, 1819, 1109, 14503, 25319, 100259}}, +{10938, 17, 44408, {1, 1, 5, 11, 9, 13, 65, 21, 429, 865, 513, 2183, 3785, 11817, 6283, 23041, 7969}}, +{10939, 17, 44411, {1, 1, 5, 13, 1, 41, 109, 43, 91, 211, 1477, 3543, 5217, 3133, 12503, 15523, 12917}}, +{10940, 17, 44417, {1, 3, 7, 9, 23, 53, 109, 89, 229, 939, 1211, 2771, 541, 15915, 5411, 47273, 54453}}, +{10941, 17, 44420, {1, 1, 1, 3, 3, 45, 31, 63, 99, 347, 17, 523, 441, 12325, 15673, 1887, 15289}}, +{10942, 17, 44424, {1, 1, 1, 7, 29, 61, 35, 115, 345, 1011, 5, 595, 465, 3897, 28147, 791, 98757}}, +{10943, 17, 44444, {1, 1, 5, 9, 27, 1, 21, 155, 467, 469, 1565, 1439, 5809, 851, 32503, 3025, 97231}}, +{10944, 17, 44451, {1, 1, 1, 9, 3, 17, 15, 73, 487, 1011, 63, 2605, 6647, 9385, 4527, 21993, 19783}}, +{10945, 17, 44453, {1, 1, 3, 9, 17, 17, 65, 75, 175, 897, 1317, 2593, 1495, 15835, 12025, 57457, 29577}}, +{10946, 17, 44466, {1, 1, 1, 13, 7, 1, 13, 145, 491, 427, 375, 1235, 3045, 2991, 26607, 30581, 43377}}, +{10947, 17, 44472, {1, 1, 1, 1, 31, 1, 75, 235, 345, 75, 1505, 1401, 6921, 6207, 13729, 21545, 34703}}, +{10948, 17, 44475, {1, 3, 7, 9, 31, 35, 53, 233, 85, 385, 2045, 1401, 5365, 827, 13093, 41097, 97381}}, +{10949, 17, 44486, {1, 3, 7, 15, 5, 9, 19, 125, 49, 29, 1553, 675, 3947, 4775, 8161, 12321, 55191}}, +{10950, 17, 44500, {1, 3, 3, 7, 17, 17, 27, 237, 87, 927, 275, 1965, 4993, 1429, 31613, 38403, 119319}}, +{10951, 17, 44510, {1, 3, 7, 13, 25, 61, 87, 133, 37, 725, 697, 371, 7607, 13861, 8015, 63997, 25745}}, +{10952, 17, 44531, {1, 1, 5, 3, 1, 29, 115, 53, 355, 533, 1711, 3863, 6983, 4849, 15787, 38933, 100299}}, +{10953, 17, 44534, {1, 1, 3, 5, 7, 11, 95, 21, 363, 1005, 425, 3497, 841, 8251, 11933, 47783, 122699}}, +{10954, 17, 44553, {1, 1, 1, 11, 15, 41, 23, 159, 191, 433, 919, 3151, 5311, 2061, 11277, 4947, 10549}}, +{10955, 17, 44559, {1, 1, 5, 1, 29, 57, 23, 239, 179, 821, 1825, 1745, 4357, 4041, 27517, 8557, 86969}}, +{10956, 17, 44564, {1, 3, 1, 13, 3, 45, 91, 21, 221, 203, 683, 1787, 375, 4101, 13555, 43269, 8063}}, +{10957, 17, 44580, {1, 1, 5, 15, 17, 61, 95, 95, 285, 597, 1967, 4061, 389, 3813, 6061, 50261, 56035}}, +{10958, 17, 44583, {1, 1, 7, 9, 9, 35, 103, 255, 239, 77, 145, 4089, 757, 16151, 29963, 1229, 31895}}, +{10959, 17, 44589, {1, 1, 7, 7, 29, 51, 63, 105, 55, 609, 665, 2101, 4605, 7085, 18543, 64221, 102503}}, +{10960, 17, 44592, {1, 1, 3, 9, 23, 49, 83, 71, 191, 917, 39, 1013, 4689, 2407, 1733, 31113, 31263}}, +{10961, 17, 44609, {1, 1, 5, 11, 31, 51, 17, 223, 325, 829, 541, 3561, 5319, 15397, 12479, 57199, 38611}}, +{10962, 17, 44627, {1, 3, 1, 3, 19, 57, 19, 191, 427, 905, 1111, 695, 5447, 4061, 25543, 45699, 113283}}, +{10963, 17, 44633, {1, 1, 3, 7, 5, 11, 59, 249, 375, 889, 563, 2757, 5857, 3595, 23183, 1785, 105017}}, +{10964, 17, 44643, {1, 3, 5, 7, 11, 55, 95, 167, 27, 823, 903, 2403, 1137, 3209, 6313, 61871, 129865}}, +{10965, 17, 44646, {1, 1, 3, 11, 25, 3, 89, 171, 209, 409, 1357, 3825, 5261, 10805, 13493, 3303, 129987}}, +{10966, 17, 44650, {1, 1, 5, 1, 23, 21, 3, 207, 471, 375, 1785, 2555, 1613, 16235, 1585, 48221, 10197}}, +{10967, 17, 44674, {1, 1, 1, 15, 13, 33, 89, 185, 331, 239, 1401, 789, 2687, 15193, 20911, 18935, 28751}}, +{10968, 17, 44676, {1, 1, 1, 13, 27, 19, 111, 139, 385, 531, 1069, 2343, 7405, 10305, 7049, 48215, 77591}}, +{10969, 17, 44680, {1, 3, 7, 13, 23, 9, 113, 107, 441, 265, 1617, 63, 7629, 5505, 7059, 47307, 82527}}, +{10970, 17, 44683, {1, 3, 1, 9, 27, 27, 35, 233, 189, 517, 1285, 1843, 1569, 14921, 6617, 44337, 46917}}, +{10971, 17, 44703, {1, 1, 3, 15, 7, 15, 9, 255, 109, 629, 437, 3601, 6591, 10873, 1765, 46459, 110991}}, +{10972, 17, 44704, {1, 1, 5, 15, 17, 13, 115, 97, 401, 979, 1139, 2607, 6537, 5369, 17775, 7657, 57175}}, +{10973, 17, 44716, {1, 1, 5, 15, 27, 15, 43, 95, 271, 945, 1205, 3505, 7403, 13203, 27259, 24821, 62921}}, +{10974, 17, 44733, {1, 1, 7, 15, 9, 13, 53, 177, 93, 169, 1933, 1101, 4847, 15477, 22107, 13009, 93675}}, +{10975, 17, 44748, {1, 3, 1, 3, 13, 57, 121, 229, 353, 449, 769, 1207, 557, 5673, 13129, 29383, 35925}}, +{10976, 17, 44759, {1, 3, 3, 1, 31, 33, 5, 87, 461, 873, 795, 2715, 1421, 14723, 17917, 20681, 46103}}, +{10977, 17, 44763, {1, 1, 7, 3, 29, 5, 49, 215, 341, 25, 1473, 177, 1443, 14181, 26723, 49143, 73461}}, +{10978, 17, 44781, {1, 3, 1, 5, 17, 53, 5, 27, 1, 325, 1335, 2941, 7195, 8179, 26971, 63469, 49357}}, +{10979, 17, 44782, {1, 3, 5, 3, 3, 5, 29, 241, 119, 415, 1371, 3201, 2815, 15567, 32521, 18635, 2101}}, +{10980, 17, 44789, {1, 3, 1, 3, 7, 13, 127, 157, 271, 403, 187, 3663, 4073, 12613, 1305, 31061, 48361}}, +{10981, 17, 44794, {1, 1, 3, 5, 1, 39, 41, 201, 113, 923, 621, 497, 3823, 12543, 27273, 58509, 21613}}, +{10982, 17, 44799, {1, 1, 1, 11, 5, 51, 93, 39, 345, 175, 679, 617, 3445, 8591, 4017, 5147, 88847}}, +{10983, 17, 44804, {1, 1, 7, 7, 7, 9, 63, 7, 89, 711, 487, 69, 447, 3355, 31929, 34719, 93629}}, +{10984, 17, 44813, {1, 3, 1, 3, 27, 11, 51, 11, 471, 889, 1935, 2185, 1277, 3127, 8853, 17839, 40279}}, +{10985, 17, 44822, {1, 3, 3, 15, 25, 35, 71, 213, 121, 935, 1601, 537, 5753, 8743, 15243, 59545, 60399}}, +{10986, 17, 44838, {1, 1, 3, 15, 31, 41, 51, 205, 123, 215, 305, 3777, 4103, 7275, 21603, 56853, 54575}}, +{10987, 17, 44842, {1, 3, 7, 9, 17, 19, 37, 59, 193, 303, 1079, 3627, 6503, 14649, 10283, 64469, 83677}}, +{10988, 17, 44849, {1, 3, 1, 5, 11, 3, 115, 139, 213, 307, 721, 1611, 5093, 11817, 32503, 38559, 38449}}, +{10989, 17, 44856, {1, 3, 1, 1, 17, 31, 41, 113, 135, 733, 723, 2021, 7397, 15917, 15741, 7295, 69885}}, +{10990, 17, 44870, {1, 1, 7, 11, 31, 3, 125, 77, 89, 793, 1441, 1527, 457, 9457, 13581, 62979, 125279}}, +{10991, 17, 44887, {1, 1, 1, 5, 9, 17, 19, 115, 43, 395, 183, 2091, 7021, 7555, 20165, 45165, 58925}}, +{10992, 17, 44904, {1, 1, 1, 15, 23, 37, 97, 45, 357, 201, 425, 3605, 5305, 10079, 16397, 40635, 15355}}, +{10993, 17, 44915, {1, 1, 3, 7, 3, 43, 65, 89, 51, 801, 917, 2835, 5675, 2347, 16587, 19701, 68655}}, +{10994, 17, 44917, {1, 3, 7, 13, 11, 59, 93, 155, 53, 435, 165, 3231, 429, 12757, 27033, 14081, 12625}}, +{10995, 17, 44921, {1, 3, 1, 15, 15, 33, 121, 157, 271, 295, 901, 1689, 709, 13395, 17773, 14397, 37743}}, +{10996, 17, 44928, {1, 1, 1, 3, 7, 17, 125, 113, 223, 603, 425, 3213, 2781, 2921, 15181, 18649, 93493}}, +{10997, 17, 44933, {1, 3, 3, 5, 1, 25, 3, 101, 151, 435, 1339, 1207, 7687, 12579, 29331, 4653, 67353}}, +{10998, 17, 44934, {1, 1, 7, 1, 29, 53, 101, 61, 31, 633, 1899, 3919, 1879, 3143, 25319, 45809, 77425}}, +{10999, 17, 44937, {1, 1, 5, 1, 17, 31, 79, 247, 77, 197, 1693, 313, 2183, 14343, 4511, 26009, 44943}}, +{11000, 17, 44940, {1, 1, 7, 5, 31, 29, 119, 251, 345, 867, 271, 165, 6425, 8343, 11251, 28125, 34849}}, +{11001, 17, 44951, {1, 3, 1, 1, 13, 35, 9, 103, 365, 675, 1653, 4095, 3123, 8245, 4679, 18951, 88543}}, +{11002, 17, 44961, {1, 1, 1, 1, 23, 29, 109, 157, 253, 751, 145, 2077, 4555, 7523, 30099, 37709, 97369}}, +{11003, 17, 44962, {1, 3, 3, 11, 5, 1, 51, 11, 203, 963, 1961, 351, 6697, 8137, 25933, 53505, 28531}}, +{11004, 17, 44971, {1, 1, 7, 15, 27, 1, 31, 159, 447, 501, 1873, 2845, 875, 1671, 5049, 38901, 32559}}, +{11005, 17, 44982, {1, 1, 3, 3, 29, 19, 33, 83, 71, 703, 1861, 3683, 3589, 15339, 21075, 40399, 47853}}, +{11006, 17, 44985, {1, 3, 3, 7, 5, 41, 61, 181, 319, 77, 777, 2537, 3887, 2687, 29227, 55217, 55813}}, +{11007, 17, 44996, {1, 3, 3, 1, 25, 41, 23, 31, 31, 775, 693, 891, 861, 7613, 9557, 43275, 36311}}, +{11008, 17, 44999, {1, 1, 7, 13, 11, 5, 99, 217, 81, 441, 765, 3981, 2921, 9657, 6905, 30657, 18395}}, +{11009, 17, 45014, {1, 3, 1, 11, 21, 55, 25, 209, 13, 1021, 1373, 785, 3243, 1541, 12033, 17309, 116517}}, +{11010, 17, 45029, {1, 1, 1, 7, 3, 3, 61, 113, 453, 405, 1321, 2327, 3529, 12779, 11707, 55795, 105137}}, +{11011, 17, 45033, {1, 3, 1, 13, 15, 53, 17, 189, 197, 459, 1999, 935, 7835, 9563, 31231, 47757, 80807}}, +{11012, 17, 45036, {1, 3, 5, 13, 11, 15, 91, 115, 427, 723, 1815, 3527, 5917, 4931, 28297, 12257, 5587}}, +{11013, 17, 45047, {1, 1, 5, 9, 31, 5, 77, 201, 373, 143, 581, 1199, 6807, 6059, 3133, 57069, 4895}}, +{11014, 17, 45065, {1, 3, 1, 9, 17, 13, 127, 61, 235, 991, 279, 1545, 2875, 8453, 13329, 39763, 66897}}, +{11015, 17, 45076, {1, 1, 3, 15, 31, 51, 3, 95, 221, 685, 635, 1747, 177, 9781, 4859, 45345, 37607}}, +{11016, 17, 45085, {1, 3, 5, 1, 3, 55, 63, 51, 63, 707, 883, 2985, 3699, 3881, 8159, 41775, 41411}}, +{11017, 17, 45086, {1, 1, 1, 11, 3, 41, 69, 181, 413, 33, 525, 1883, 6063, 13787, 1259, 19497, 8119}}, +{11018, 17, 45090, {1, 1, 5, 15, 13, 27, 65, 63, 117, 831, 855, 369, 1005, 9069, 16179, 32027, 6527}}, +{11019, 17, 45107, {1, 3, 7, 5, 25, 51, 63, 163, 101, 299, 1637, 641, 2077, 9195, 11181, 59783, 109481}}, +{11020, 17, 45119, {1, 3, 5, 13, 27, 13, 117, 253, 257, 919, 709, 411, 5525, 1247, 19951, 51423, 34605}}, +{11021, 17, 45121, {1, 1, 5, 5, 1, 37, 49, 125, 87, 291, 339, 3235, 1477, 9787, 19637, 22855, 103013}}, +{11022, 17, 45128, {1, 3, 7, 15, 25, 17, 77, 23, 303, 739, 1921, 1425, 6451, 9521, 6311, 38551, 123683}}, +{11023, 17, 45139, {1, 3, 1, 7, 13, 19, 33, 73, 347, 85, 1693, 3671, 713, 1191, 3285, 6815, 61833}}, +{11024, 17, 45151, {1, 1, 3, 3, 13, 53, 81, 177, 305, 967, 551, 1177, 2315, 4899, 5733, 11147, 128895}}, +{11025, 17, 45157, {1, 3, 5, 3, 17, 17, 93, 173, 417, 645, 1631, 1817, 6127, 3545, 6127, 22331, 59751}}, +{11026, 17, 45162, {1, 1, 5, 11, 7, 53, 61, 117, 133, 141, 283, 3351, 6745, 599, 7221, 50583, 9067}}, +{11027, 17, 45164, {1, 3, 7, 3, 29, 45, 71, 177, 97, 897, 589, 3319, 1821, 7207, 25715, 13043, 96695}}, +{11028, 17, 45176, {1, 3, 3, 1, 13, 39, 19, 49, 419, 905, 1063, 4023, 145, 1479, 22197, 43883, 45503}}, +{11029, 17, 45179, {1, 3, 3, 15, 9, 45, 45, 201, 61, 193, 375, 2439, 2339, 15981, 5197, 6285, 109389}}, +{11030, 17, 45198, {1, 1, 7, 13, 29, 51, 93, 223, 509, 1003, 1861, 3715, 2511, 13843, 25297, 1241, 12157}}, +{11031, 17, 45209, {1, 3, 5, 15, 19, 17, 95, 243, 251, 485, 1837, 1829, 2081, 15117, 29635, 63861, 100397}}, +{11032, 17, 45231, {1, 1, 7, 3, 1, 37, 31, 53, 483, 849, 1197, 3069, 2539, 2529, 12749, 64331, 45757}}, +{11033, 17, 45234, {1, 3, 7, 7, 1, 19, 25, 243, 335, 99, 1507, 2155, 6085, 2253, 32439, 16141, 6781}}, +{11034, 17, 45236, {1, 3, 7, 15, 9, 13, 35, 63, 371, 373, 1891, 3913, 4577, 15553, 13079, 60251, 71193}}, +{11035, 17, 45251, {1, 3, 1, 7, 15, 13, 105, 113, 409, 289, 57, 1095, 791, 15675, 21471, 42851, 29203}}, +{11036, 17, 45260, {1, 1, 1, 13, 1, 57, 65, 7, 153, 929, 1325, 229, 3841, 8967, 29889, 49427, 46853}}, +{11037, 17, 45268, {1, 1, 3, 11, 29, 1, 79, 111, 479, 931, 1619, 505, 4503, 4055, 18849, 3979, 46091}}, +{11038, 17, 45277, {1, 1, 7, 3, 31, 27, 127, 63, 219, 43, 883, 1265, 5733, 9051, 17059, 61625, 93843}}, +{11039, 17, 45299, {1, 1, 7, 7, 23, 21, 35, 211, 243, 399, 1225, 1415, 5923, 2143, 25303, 36171, 126349}}, +{11040, 17, 45301, {1, 3, 1, 3, 3, 13, 77, 205, 271, 393, 769, 2101, 4045, 6159, 3409, 44065, 102799}}, +{11041, 17, 45338, {1, 1, 5, 15, 19, 1, 67, 199, 367, 51, 495, 2051, 3195, 15239, 10525, 45319, 50489}}, +{11042, 17, 45344, {1, 1, 1, 9, 3, 19, 105, 147, 417, 399, 373, 1025, 2727, 13779, 30079, 22723, 41551}}, +{11043, 17, 45349, {1, 1, 3, 1, 9, 15, 105, 95, 267, 995, 275, 2627, 3883, 10785, 8075, 40591, 54647}}, +{11044, 17, 45364, {1, 1, 1, 5, 31, 37, 117, 185, 55, 273, 525, 445, 4221, 2081, 16017, 19859, 3297}}, +{11045, 17, 45367, {1, 3, 5, 13, 21, 13, 105, 231, 461, 831, 393, 3253, 1213, 2625, 3393, 36715, 104889}}, +{11046, 17, 45371, {1, 3, 5, 15, 1, 17, 103, 129, 257, 1003, 285, 2927, 3967, 53, 5197, 39665, 50751}}, +{11047, 17, 45373, {1, 1, 1, 13, 1, 61, 47, 255, 137, 849, 213, 301, 681, 9547, 28209, 32941, 72109}}, +{11048, 17, 45376, {1, 1, 7, 11, 31, 15, 81, 117, 327, 289, 1861, 861, 6189, 13425, 18279, 7635, 116969}}, +{11049, 17, 45381, {1, 3, 3, 3, 9, 11, 13, 181, 183, 621, 329, 2751, 3989, 6345, 20319, 52267, 79695}}, +{11050, 17, 45400, {1, 1, 7, 13, 9, 1, 5, 125, 1, 735, 691, 13, 3961, 2273, 18299, 65221, 20115}}, +{11051, 17, 45406, {1, 3, 7, 1, 7, 3, 87, 115, 241, 101, 523, 3019, 7571, 7721, 27409, 49751, 97859}}, +{11052, 17, 45416, {1, 3, 5, 11, 9, 5, 33, 59, 299, 191, 307, 2115, 2823, 10187, 10437, 34137, 93217}}, +{11053, 17, 45422, {1, 3, 3, 7, 21, 31, 5, 113, 77, 215, 177, 2029, 7241, 4465, 31489, 10165, 19035}}, +{11054, 17, 45427, {1, 3, 5, 1, 27, 63, 11, 161, 435, 941, 1593, 1765, 1519, 9111, 12787, 35961, 105263}}, +{11055, 17, 45440, {1, 1, 1, 9, 11, 57, 41, 229, 387, 617, 1991, 221, 2857, 4337, 13851, 23185, 111031}}, +{11056, 17, 45458, {1, 1, 3, 5, 21, 27, 125, 83, 129, 919, 65, 403, 2981, 10111, 17017, 24829, 12205}}, +{11057, 17, 45467, {1, 3, 3, 9, 25, 19, 109, 47, 199, 395, 1909, 2819, 5361, 6629, 7067, 18755, 17921}}, +{11058, 17, 45474, {1, 1, 3, 15, 25, 37, 111, 129, 409, 291, 1403, 2785, 3819, 10245, 24647, 64799, 64951}}, +{11059, 17, 45476, {1, 3, 5, 11, 1, 7, 105, 223, 427, 661, 1817, 1023, 145, 927, 6507, 13235, 30147}}, +{11060, 17, 45488, {1, 3, 5, 13, 7, 15, 65, 125, 121, 113, 923, 2729, 1397, 14247, 8487, 54907, 41921}}, +{11061, 17, 45494, {1, 1, 5, 1, 13, 15, 47, 111, 453, 375, 1705, 1539, 4103, 601, 7499, 33287, 123689}}, +{11062, 17, 45497, {1, 1, 5, 3, 21, 11, 87, 115, 483, 617, 1593, 2817, 6519, 16203, 361, 34415, 100829}}, +{11063, 17, 45500, {1, 3, 7, 15, 23, 25, 41, 193, 473, 517, 1195, 3627, 1089, 13391, 3653, 25637, 5643}}, +{11064, 17, 45512, {1, 3, 1, 1, 13, 57, 29, 175, 35, 107, 5, 3641, 1843, 1507, 7591, 39967, 66859}}, +{11065, 17, 45515, {1, 1, 3, 13, 1, 39, 31, 11, 493, 123, 523, 843, 133, 7971, 14131, 51927, 97943}}, +{11066, 17, 45523, {1, 1, 3, 7, 23, 45, 5, 195, 195, 683, 497, 1215, 5855, 14569, 20441, 29541, 30431}}, +{11067, 17, 45542, {1, 3, 1, 11, 31, 39, 127, 187, 187, 17, 817, 907, 4657, 8223, 13305, 36489, 28909}}, +{11068, 17, 45553, {1, 1, 7, 13, 9, 1, 59, 27, 449, 887, 39, 191, 803, 2339, 5213, 2611, 93175}}, +{11069, 17, 45559, {1, 1, 1, 1, 29, 17, 105, 13, 175, 401, 1145, 297, 6873, 889, 10301, 48993, 49959}}, +{11070, 17, 45589, {1, 3, 5, 5, 1, 57, 81, 81, 403, 719, 1887, 2597, 1069, 5219, 29767, 46905, 8025}}, +{11071, 17, 45594, {1, 1, 5, 11, 13, 37, 41, 3, 487, 895, 343, 1729, 3777, 8681, 24737, 34179, 15015}}, +{11072, 17, 45596, {1, 1, 1, 15, 9, 43, 67, 203, 71, 399, 23, 529, 2375, 15373, 21013, 17389, 93809}}, +{11073, 17, 45603, {1, 3, 7, 7, 9, 23, 81, 27, 39, 529, 631, 199, 3555, 953, 4249, 39297, 88107}}, +{11074, 17, 45605, {1, 3, 1, 3, 31, 45, 33, 63, 319, 245, 1567, 3359, 2051, 11523, 30177, 20293, 13245}}, +{11075, 17, 45610, {1, 1, 1, 13, 9, 61, 39, 127, 453, 1019, 2037, 3541, 6983, 10717, 19587, 8981, 99637}}, +{11076, 17, 45630, {1, 3, 5, 9, 15, 7, 55, 79, 93, 303, 1423, 499, 5499, 795, 14553, 16945, 46161}}, +{11077, 17, 45638, {1, 1, 7, 5, 21, 21, 27, 201, 147, 461, 363, 267, 2963, 3409, 17835, 40777, 71879}}, +{11078, 17, 45641, {1, 1, 7, 9, 23, 63, 115, 243, 103, 119, 2023, 2223, 7989, 1365, 26181, 4631, 88001}}, +{11079, 17, 45647, {1, 3, 5, 5, 27, 57, 101, 199, 461, 853, 449, 2733, 2225, 8609, 19461, 15265, 54079}}, +{11080, 17, 45655, {1, 3, 3, 15, 29, 59, 115, 105, 145, 391, 303, 901, 5481, 1491, 30441, 22331, 3841}}, +{11081, 17, 45659, {1, 1, 3, 1, 27, 45, 11, 167, 73, 181, 253, 1947, 1731, 15269, 16971, 12299, 46439}}, +{11082, 17, 45665, {1, 1, 7, 13, 11, 21, 83, 157, 75, 705, 1709, 487, 5029, 9879, 27589, 21601, 50575}}, +{11083, 17, 45689, {1, 1, 5, 3, 27, 37, 101, 163, 115, 903, 1137, 3807, 2899, 3407, 27935, 14203, 31009}}, +{11084, 17, 45695, {1, 3, 5, 9, 31, 33, 63, 69, 159, 737, 1973, 3661, 6159, 1781, 9239, 12989, 82947}}, +{11085, 17, 45702, {1, 3, 5, 9, 15, 33, 41, 89, 183, 933, 1305, 1013, 7245, 16225, 10891, 6641, 61699}}, +{11086, 17, 45708, {1, 1, 5, 3, 25, 41, 91, 183, 45, 553, 1817, 3305, 5169, 9051, 24917, 52431, 52505}}, +{11087, 17, 45726, {1, 3, 3, 9, 3, 9, 127, 59, 117, 1001, 1255, 3435, 3797, 8507, 28593, 24119, 75569}}, +{11088, 17, 45729, {1, 3, 1, 5, 17, 43, 45, 21, 461, 339, 1127, 2213, 7351, 14585, 2001, 32619, 33825}}, +{11089, 17, 45739, {1, 1, 5, 11, 3, 37, 61, 83, 101, 707, 861, 3037, 1867, 7747, 16313, 58745, 14387}}, +{11090, 17, 45744, {1, 1, 5, 3, 27, 25, 99, 17, 293, 867, 1655, 2301, 2007, 7379, 14487, 18233, 3625}}, +{11091, 17, 45747, {1, 1, 7, 13, 25, 29, 21, 133, 207, 119, 423, 1561, 6587, 1221, 27295, 48141, 125473}}, +{11092, 17, 45762, {1, 3, 3, 1, 19, 45, 39, 85, 127, 249, 157, 1307, 7343, 6309, 31073, 16909, 93223}}, +{11093, 17, 45764, {1, 1, 5, 13, 19, 43, 111, 109, 385, 847, 1071, 1009, 2783, 8471, 5719, 50459, 110507}}, +{11094, 17, 45773, {1, 1, 5, 15, 1, 45, 39, 197, 209, 839, 485, 3943, 5939, 11835, 18297, 61217, 85015}}, +{11095, 17, 45774, {1, 1, 1, 15, 5, 61, 1, 195, 415, 355, 1593, 151, 8143, 3527, 11633, 44337, 99749}}, +{11096, 17, 45781, {1, 1, 5, 13, 11, 11, 117, 109, 91, 663, 1351, 2361, 1409, 9317, 31133, 17577, 123919}}, +{11097, 17, 45785, {1, 3, 3, 9, 3, 5, 115, 173, 459, 937, 1581, 781, 1069, 573, 24025, 30721, 116837}}, +{11098, 17, 45792, {1, 1, 1, 5, 21, 37, 47, 51, 21, 169, 119, 3285, 2543, 14023, 29179, 13407, 130491}}, +{11099, 17, 45801, {1, 3, 5, 5, 25, 27, 41, 147, 485, 79, 737, 699, 6763, 16347, 9265, 52129, 41431}}, +{11100, 17, 45802, {1, 1, 1, 3, 5, 33, 115, 187, 311, 717, 1897, 2215, 2639, 4167, 1429, 26359, 52703}}, +{11101, 17, 45812, {1, 3, 5, 5, 13, 51, 103, 5, 47, 683, 319, 2969, 7701, 11031, 9257, 16725, 80825}}, +{11102, 17, 45816, {1, 3, 1, 11, 31, 47, 17, 205, 11, 411, 523, 4053, 6743, 3095, 3219, 63163, 84547}}, +{11103, 17, 45829, {1, 1, 7, 15, 9, 55, 109, 225, 273, 595, 1697, 2059, 21, 11319, 23277, 60613, 4539}}, +{11104, 17, 45833, {1, 1, 5, 13, 3, 59, 49, 239, 509, 847, 975, 3361, 5443, 1941, 29277, 56379, 38997}}, +{11105, 17, 45847, {1, 3, 1, 7, 15, 5, 49, 19, 235, 437, 1309, 827, 4123, 5839, 22409, 42535, 98041}}, +{11106, 17, 45851, {1, 1, 5, 15, 9, 33, 57, 153, 165, 215, 177, 1271, 1861, 15489, 4183, 43701, 114169}}, +{11107, 17, 45854, {1, 3, 5, 5, 13, 3, 119, 89, 17, 421, 1205, 835, 4917, 6113, 28991, 26839, 114871}}, +{11108, 17, 45863, {1, 3, 5, 1, 7, 49, 49, 159, 205, 601, 1939, 4063, 5975, 11747, 10329, 21103, 16779}}, +{11109, 17, 45870, {1, 1, 5, 15, 13, 33, 89, 21, 113, 639, 891, 989, 829, 1435, 11475, 42711, 67049}}, +{11110, 17, 45901, {1, 1, 5, 5, 9, 59, 57, 105, 385, 733, 1175, 329, 6809, 7175, 27267, 9941, 14203}}, +{11111, 17, 45910, {1, 3, 1, 13, 21, 53, 83, 139, 287, 659, 1991, 3225, 4153, 4325, 16803, 27719, 86263}}, +{11112, 17, 45920, {1, 3, 5, 13, 27, 21, 111, 105, 29, 573, 405, 2781, 1737, 12057, 25263, 16903, 45389}}, +{11113, 17, 45932, {1, 1, 5, 5, 23, 23, 61, 27, 335, 279, 937, 2509, 4751, 2993, 28069, 30187, 3595}}, +{11114, 17, 45938, {1, 1, 5, 7, 29, 37, 117, 71, 221, 875, 1987, 2329, 5953, 15901, 29813, 17419, 4745}}, +{11115, 17, 45940, {1, 3, 3, 13, 21, 51, 77, 85, 53, 573, 1129, 3415, 2283, 5221, 29991, 46091, 65843}}, +{11116, 17, 45943, {1, 1, 1, 3, 17, 51, 89, 211, 463, 743, 1189, 4083, 1437, 5219, 8373, 15559, 18557}}, +{11117, 17, 45949, {1, 1, 5, 3, 29, 27, 1, 207, 285, 739, 505, 1587, 6565, 14195, 4995, 39453, 61023}}, +{11118, 17, 45953, {1, 3, 3, 15, 7, 57, 19, 45, 39, 881, 1207, 2829, 3265, 2637, 7843, 62889, 53289}}, +{11119, 17, 45963, {1, 1, 1, 11, 31, 21, 73, 245, 87, 457, 1523, 2397, 1157, 8237, 26195, 23149, 106523}}, +{11120, 17, 45971, {1, 3, 5, 13, 3, 55, 3, 179, 107, 85, 639, 2711, 6359, 1599, 2325, 59573, 111941}}, +{11121, 17, 45989, {1, 1, 1, 13, 17, 61, 45, 253, 45, 149, 1251, 139, 7113, 6503, 27675, 37301, 21713}}, +{11122, 17, 45999, {1, 3, 5, 9, 31, 31, 67, 79, 355, 225, 1187, 761, 4927, 5481, 9139, 13399, 35653}}, +{11123, 17, 46001, {1, 1, 5, 3, 7, 3, 95, 119, 161, 529, 1443, 1099, 609, 3919, 10935, 37779, 92993}}, +{11124, 17, 46008, {1, 1, 7, 9, 13, 21, 13, 7, 165, 173, 989, 2315, 2305, 13115, 6933, 56233, 112113}}, +{11125, 17, 46022, {1, 1, 7, 3, 9, 11, 25, 45, 493, 119, 839, 3907, 2273, 14113, 29453, 55181, 667}}, +{11126, 17, 46026, {1, 3, 5, 15, 25, 33, 15, 23, 245, 517, 1883, 2865, 1483, 7043, 32615, 12261, 49297}}, +{11127, 17, 46034, {1, 3, 7, 9, 31, 35, 89, 103, 245, 441, 1709, 1321, 3743, 3767, 23885, 43587, 18017}}, +{11128, 17, 46040, {1, 3, 7, 5, 23, 43, 103, 7, 47, 187, 1257, 3517, 591, 16263, 12047, 16699, 81633}}, +{11129, 17, 46043, {1, 1, 5, 15, 5, 5, 79, 11, 327, 719, 37, 2913, 6107, 3463, 25901, 6125, 100647}}, +{11130, 17, 46045, {1, 1, 1, 11, 13, 29, 83, 251, 41, 125, 1137, 2627, 4643, 29, 24631, 51435, 98643}}, +{11131, 17, 46061, {1, 1, 7, 3, 27, 3, 69, 245, 365, 599, 1575, 2969, 3441, 12327, 18951, 56167, 13861}}, +{11132, 17, 46062, {1, 3, 3, 11, 5, 47, 103, 233, 351, 821, 867, 3199, 6133, 4627, 22663, 14775, 83205}}, +{11133, 17, 46076, {1, 3, 1, 13, 9, 35, 27, 251, 281, 727, 873, 3713, 5247, 8407, 17739, 57207, 126201}}, +{11134, 17, 46084, {1, 1, 7, 11, 11, 35, 53, 115, 93, 663, 625, 565, 3137, 7869, 18845, 49155, 83395}}, +{11135, 17, 46094, {1, 3, 3, 5, 21, 13, 99, 151, 319, 9, 1363, 1489, 2545, 1963, 1271, 24815, 43355}}, +{11136, 17, 46102, {1, 3, 5, 9, 15, 51, 109, 85, 67, 131, 1947, 181, 7331, 15163, 2255, 33449, 78107}}, +{11137, 17, 46118, {1, 1, 7, 9, 27, 61, 1, 163, 309, 739, 453, 1837, 2093, 16021, 8485, 19755, 61335}}, +{11138, 17, 46149, {1, 3, 5, 7, 3, 13, 11, 195, 91, 143, 203, 2785, 7319, 7153, 19265, 11597, 63365}}, +{11139, 17, 46154, {1, 3, 1, 9, 29, 1, 123, 247, 253, 757, 191, 1699, 6625, 1785, 29199, 29409, 32577}}, +{11140, 17, 46167, {1, 3, 5, 11, 23, 21, 31, 35, 383, 587, 65, 1695, 4045, 12305, 12437, 5919, 51465}}, +{11141, 17, 46173, {1, 1, 5, 9, 11, 13, 123, 171, 499, 877, 1785, 561, 2547, 1797, 27679, 56305, 93223}}, +{11142, 17, 46177, {1, 3, 1, 3, 25, 41, 63, 243, 219, 533, 753, 1903, 3257, 11901, 4777, 28629, 111141}}, +{11143, 17, 46192, {1, 3, 3, 5, 31, 47, 1, 253, 283, 995, 1787, 1767, 6599, 11913, 21515, 39259, 117727}}, +{11144, 17, 46197, {1, 1, 7, 7, 31, 35, 39, 255, 463, 763, 881, 2583, 347, 14343, 22761, 45821, 119155}}, +{11145, 17, 46201, {1, 3, 5, 9, 5, 37, 43, 55, 423, 525, 157, 3593, 2831, 11539, 15675, 11695, 100609}}, +{11146, 17, 46214, {1, 3, 3, 5, 11, 9, 27, 57, 409, 201, 1029, 2461, 5823, 2593, 32031, 4203, 55327}}, +{11147, 17, 46217, {1, 1, 7, 15, 15, 25, 69, 83, 309, 687, 1607, 819, 7381, 3697, 5289, 33153, 48157}}, +{11148, 17, 46223, {1, 1, 5, 5, 31, 57, 41, 195, 201, 59, 2045, 2213, 6695, 3839, 17331, 4981, 26803}}, +{11149, 17, 46226, {1, 1, 1, 11, 7, 53, 109, 169, 387, 181, 391, 19, 4159, 299, 29059, 27781, 110193}}, +{11150, 17, 46228, {1, 3, 7, 15, 5, 31, 95, 155, 47, 601, 1463, 1799, 8027, 3003, 18067, 24589, 108171}}, +{11151, 17, 46237, {1, 3, 3, 7, 11, 61, 21, 121, 117, 149, 1037, 3829, 3581, 15223, 17051, 34539, 37263}}, +{11152, 17, 46241, {1, 3, 3, 3, 15, 15, 115, 91, 443, 309, 1073, 2053, 789, 7415, 26253, 62657, 49729}}, +{11153, 17, 46251, {1, 3, 5, 5, 31, 19, 23, 221, 19, 105, 1105, 2025, 4209, 7531, 30191, 40777, 46069}}, +{11154, 17, 46259, {1, 1, 1, 7, 29, 45, 29, 215, 33, 21, 1147, 1725, 3711, 2759, 12731, 57031, 42361}}, +{11155, 17, 46262, {1, 1, 5, 15, 13, 59, 111, 169, 317, 841, 1387, 3513, 3137, 8265, 31789, 26963, 126219}}, +{11156, 17, 46266, {1, 1, 3, 1, 23, 21, 13, 113, 71, 177, 345, 3149, 1461, 12945, 3971, 59759, 61839}}, +{11157, 17, 46294, {1, 3, 5, 13, 9, 19, 103, 17, 95, 617, 1477, 263, 4259, 12899, 24351, 47431, 11583}}, +{11158, 17, 46300, {1, 3, 5, 11, 13, 11, 7, 61, 13, 63, 1687, 631, 381, 5899, 10225, 19657, 37087}}, +{11159, 17, 46303, {1, 3, 5, 3, 7, 53, 11, 193, 103, 427, 1097, 299, 2905, 5019, 31803, 28931, 47495}}, +{11160, 17, 46309, {1, 3, 3, 11, 21, 31, 125, 249, 233, 941, 975, 2287, 7837, 6481, 11021, 52829, 63023}}, +{11161, 17, 46321, {1, 1, 7, 15, 13, 17, 33, 85, 503, 11, 689, 637, 4063, 12223, 1835, 17161, 35213}}, +{11162, 17, 46331, {1, 3, 5, 13, 25, 37, 21, 135, 377, 623, 895, 2547, 2757, 9055, 17337, 65457, 24737}}, +{11163, 17, 46339, {1, 1, 1, 15, 25, 11, 17, 95, 65, 271, 1791, 841, 1441, 11177, 10087, 63963, 71481}}, +{11164, 17, 46342, {1, 3, 5, 11, 31, 1, 37, 107, 109, 459, 1185, 2155, 271, 11775, 23243, 53517, 103669}}, +{11165, 17, 46354, {1, 3, 1, 9, 1, 49, 23, 141, 169, 475, 469, 2271, 1379, 13139, 1765, 63625, 14143}}, +{11166, 17, 46370, {1, 1, 1, 9, 13, 7, 23, 219, 381, 105, 743, 1745, 2999, 661, 7245, 39653, 99913}}, +{11167, 17, 46372, {1, 3, 1, 11, 7, 35, 9, 215, 41, 537, 1569, 1803, 3613, 667, 15089, 39485, 85457}}, +{11168, 17, 46379, {1, 1, 1, 15, 9, 49, 75, 235, 119, 97, 273, 209, 2707, 2071, 21943, 60249, 57737}}, +{11169, 17, 46382, {1, 1, 5, 15, 31, 19, 33, 49, 279, 461, 143, 3001, 3539, 1015, 27597, 35389, 36483}}, +{11170, 17, 46393, {1, 3, 7, 1, 23, 51, 123, 247, 485, 343, 1365, 593, 6465, 12305, 29375, 30641, 43165}}, +{11171, 17, 46402, {1, 1, 7, 13, 15, 11, 125, 51, 235, 717, 1427, 3203, 1711, 12607, 8805, 5773, 27467}}, +{11172, 17, 46407, {1, 3, 5, 5, 5, 13, 51, 181, 133, 977, 469, 2513, 6819, 12985, 8917, 47317, 47557}}, +{11173, 17, 46416, {1, 1, 5, 7, 3, 7, 71, 17, 345, 921, 1621, 2801, 5825, 827, 17711, 33701, 113503}}, +{11174, 17, 46425, {1, 3, 1, 1, 17, 7, 99, 83, 73, 349, 567, 713, 5639, 4969, 11549, 35317, 28995}}, +{11175, 17, 46437, {1, 3, 3, 9, 11, 53, 123, 227, 391, 775, 1013, 3971, 6183, 14453, 6403, 57063, 7123}}, +{11176, 17, 46444, {1, 1, 1, 15, 27, 13, 51, 147, 151, 535, 2017, 3019, 6791, 3931, 12529, 30855, 33243}}, +{11177, 17, 46447, {1, 3, 1, 1, 27, 43, 103, 85, 135, 207, 621, 251, 3723, 10893, 29533, 31023, 11043}}, +{11178, 17, 46449, {1, 3, 7, 5, 7, 39, 55, 133, 141, 63, 237, 3299, 861, 15123, 11859, 13271, 32893}}, +{11179, 17, 46456, {1, 3, 7, 9, 23, 17, 73, 197, 113, 725, 137, 2835, 2877, 6913, 22949, 56071, 67597}}, +{11180, 17, 46462, {1, 3, 7, 7, 15, 3, 15, 253, 51, 443, 15, 2549, 7833, 4713, 29211, 22339, 6009}}, +{11181, 17, 46472, {1, 3, 5, 15, 19, 55, 35, 59, 281, 995, 1113, 605, 2345, 10009, 14629, 11757, 53241}}, +{11182, 17, 46475, {1, 1, 1, 11, 3, 31, 11, 193, 437, 1003, 873, 909, 6513, 2045, 10495, 17387, 25461}}, +{11183, 17, 46486, {1, 1, 3, 5, 21, 61, 47, 177, 379, 773, 951, 419, 4455, 10171, 17403, 19045, 87327}}, +{11184, 17, 46490, {1, 3, 3, 11, 31, 41, 69, 229, 207, 299, 1743, 1417, 4785, 1327, 26967, 43077, 124319}}, +{11185, 17, 46495, {1, 3, 7, 15, 19, 37, 65, 219, 33, 691, 205, 1577, 4775, 8427, 28315, 53559, 100789}}, +{11186, 17, 46501, {1, 3, 5, 11, 5, 39, 55, 147, 139, 871, 1563, 3661, 4791, 423, 30007, 1589, 20255}}, +{11187, 17, 46514, {1, 1, 3, 15, 5, 61, 89, 83, 261, 519, 1367, 2019, 3799, 8237, 9011, 28995, 1587}}, +{11188, 17, 46526, {1, 1, 7, 15, 17, 55, 49, 41, 353, 507, 1565, 3365, 7947, 10391, 1323, 61591, 126305}}, +{11189, 17, 46528, {1, 3, 3, 5, 13, 19, 49, 195, 355, 915, 1867, 3513, 1239, 4809, 16925, 22947, 92641}}, +{11190, 17, 46538, {1, 1, 7, 3, 31, 51, 45, 241, 55, 195, 1233, 3675, 8077, 4981, 17679, 53025, 77927}}, +{11191, 17, 46551, {1, 3, 5, 11, 23, 5, 93, 49, 277, 979, 1093, 3031, 6131, 8085, 19121, 45305, 6705}}, +{11192, 17, 46552, {1, 1, 7, 13, 29, 25, 83, 105, 469, 729, 1495, 2607, 2681, 13959, 101, 1913, 2671}}, +{11193, 17, 46564, {1, 1, 1, 15, 7, 19, 63, 105, 253, 807, 1889, 2433, 1591, 16267, 11997, 18939, 113313}}, +{11194, 17, 46579, {1, 1, 5, 3, 13, 23, 29, 227, 337, 115, 783, 475, 6949, 9485, 1797, 18713, 123981}}, +{11195, 17, 46586, {1, 3, 3, 9, 21, 43, 115, 225, 147, 753, 919, 1157, 2901, 14813, 30035, 52553, 30225}}, +{11196, 17, 46602, {1, 1, 3, 15, 23, 19, 65, 83, 457, 965, 579, 2133, 291, 2033, 7533, 52995, 92243}}, +{11197, 17, 46615, {1, 1, 1, 5, 11, 3, 23, 245, 255, 373, 1119, 3695, 6449, 13497, 817, 32215, 103599}}, +{11198, 17, 46616, {1, 3, 1, 5, 5, 19, 57, 53, 145, 441, 1253, 929, 1299, 11491, 29457, 11245, 55717}}, +{11199, 17, 46621, {1, 1, 7, 13, 9, 13, 73, 85, 127, 29, 629, 409, 2487, 13079, 3767, 27985, 110139}}, +{11200, 17, 46635, {1, 1, 5, 11, 29, 39, 27, 9, 487, 623, 757, 2879, 669, 12521, 23471, 47933, 41721}}, +{11201, 17, 46643, {1, 1, 7, 15, 21, 9, 59, 39, 325, 787, 1347, 3039, 7333, 9793, 19337, 41285, 48339}}, +{11202, 17, 46645, {1, 3, 3, 11, 11, 21, 127, 45, 173, 981, 483, 3707, 3651, 10545, 16865, 62105, 114847}}, +{11203, 17, 46649, {1, 3, 5, 11, 11, 49, 89, 179, 393, 455, 1775, 1903, 8173, 12589, 17281, 57687, 56153}}, +{11204, 17, 46667, {1, 3, 1, 3, 7, 7, 59, 223, 255, 559, 375, 2427, 6921, 3709, 24767, 16213, 60373}}, +{11205, 17, 46670, {1, 1, 7, 15, 3, 31, 37, 129, 307, 1023, 1807, 519, 6779, 8997, 15383, 4391, 61161}}, +{11206, 17, 46672, {1, 1, 1, 1, 9, 25, 53, 27, 263, 459, 1015, 417, 4195, 10931, 20507, 19299, 82371}}, +{11207, 17, 46678, {1, 1, 3, 1, 7, 7, 49, 221, 47, 7, 1747, 1533, 3089, 14369, 32609, 64157, 78139}}, +{11208, 17, 46681, {1, 3, 7, 5, 5, 13, 101, 231, 227, 19, 1359, 3017, 1405, 3715, 3541, 933, 1117}}, +{11209, 17, 46684, {1, 1, 7, 15, 5, 63, 59, 253, 269, 781, 1639, 2247, 1041, 667, 7055, 21221, 84447}}, +{11210, 17, 46687, {1, 1, 7, 3, 9, 13, 115, 247, 215, 173, 457, 1125, 5613, 13171, 17847, 26323, 68461}}, +{11211, 17, 46705, {1, 3, 5, 9, 15, 19, 95, 213, 425, 567, 1625, 1659, 6961, 10569, 20985, 17255, 89919}}, +{11212, 17, 46708, {1, 3, 5, 5, 3, 11, 107, 123, 265, 743, 499, 1885, 6079, 7791, 24953, 30925, 112517}}, +{11213, 17, 46721, {1, 1, 5, 15, 29, 27, 103, 195, 119, 873, 1751, 2091, 6623, 7583, 20413, 52367, 16831}}, +{11214, 17, 46724, {1, 1, 7, 7, 21, 15, 111, 197, 89, 107, 1317, 2107, 1951, 189, 31663, 63007, 21405}}, +{11215, 17, 46739, {1, 3, 1, 13, 27, 15, 93, 251, 209, 93, 1419, 3785, 1899, 3143, 3205, 16309, 121455}}, +{11216, 17, 46757, {1, 1, 7, 7, 17, 43, 23, 251, 425, 591, 1101, 1317, 6369, 14209, 10257, 33813, 59557}}, +{11217, 17, 46762, {1, 1, 7, 3, 5, 41, 65, 59, 327, 369, 1867, 1045, 4953, 3155, 25679, 8545, 22753}}, +{11218, 17, 46764, {1, 1, 5, 3, 5, 25, 117, 97, 369, 721, 1459, 2501, 4899, 5299, 3859, 2509, 127723}}, +{11219, 17, 46776, {1, 3, 3, 1, 27, 13, 65, 185, 255, 543, 2013, 2027, 1131, 4067, 1327, 44639, 53275}}, +{11220, 17, 46784, {1, 1, 7, 3, 11, 15, 53, 67, 265, 477, 971, 3201, 51, 10599, 23691, 10493, 130347}}, +{11221, 17, 46790, {1, 3, 7, 7, 19, 35, 47, 61, 375, 547, 1867, 1147, 7775, 12757, 15101, 63243, 89817}}, +{11222, 17, 46796, {1, 1, 5, 3, 5, 21, 57, 59, 145, 901, 835, 1093, 6487, 12727, 20585, 6309, 67803}}, +{11223, 17, 46799, {1, 1, 1, 11, 13, 31, 75, 171, 189, 741, 1923, 3503, 4887, 15423, 2499, 39125, 4125}}, +{11224, 17, 46802, {1, 3, 7, 1, 29, 31, 103, 207, 383, 631, 1017, 1693, 6251, 9429, 17491, 60959, 68131}}, +{11225, 17, 46813, {1, 1, 1, 1, 19, 45, 127, 105, 451, 287, 657, 3521, 2021, 15793, 8993, 34837, 65441}}, +{11226, 17, 46814, {1, 1, 7, 9, 17, 15, 13, 189, 255, 753, 1779, 3047, 1179, 13201, 28249, 5909, 35775}}, +{11227, 17, 46824, {1, 3, 3, 3, 5, 11, 125, 207, 375, 375, 135, 2939, 1141, 12211, 727, 16137, 52253}}, +{11228, 17, 46832, {1, 3, 7, 9, 29, 3, 83, 221, 281, 299, 667, 3435, 589, 8039, 7991, 24289, 13079}}, +{11229, 17, 46841, {1, 3, 5, 13, 9, 11, 11, 99, 337, 155, 233, 2497, 3385, 15045, 5783, 40915, 19201}}, +{11230, 17, 46856, {1, 1, 7, 5, 5, 23, 25, 223, 341, 149, 505, 893, 4933, 14899, 29899, 207, 125359}}, +{11231, 17, 46862, {1, 3, 3, 15, 3, 5, 43, 165, 21, 993, 1091, 3849, 6005, 1905, 7199, 13495, 76915}}, +{11232, 17, 46864, {1, 1, 1, 15, 1, 19, 55, 217, 179, 431, 935, 2219, 8135, 15071, 17437, 43271, 115963}}, +{11233, 17, 46869, {1, 1, 7, 15, 7, 61, 45, 157, 441, 107, 1955, 2877, 5285, 12157, 21783, 60999, 102949}}, +{11234, 17, 46874, {1, 1, 1, 3, 9, 29, 41, 75, 81, 73, 1859, 2923, 3009, 10847, 30257, 44527, 21933}}, +{11235, 17, 46895, {1, 1, 3, 3, 29, 29, 103, 3, 401, 197, 237, 3727, 7919, 13669, 26869, 64987, 1581}}, +{11236, 17, 46900, {1, 1, 5, 13, 13, 47, 99, 209, 45, 745, 1239, 663, 5535, 3777, 10479, 15327, 1441}}, +{11237, 17, 46903, {1, 3, 1, 9, 1, 49, 31, 231, 15, 1001, 773, 2113, 1957, 15271, 25355, 7461, 33089}}, +{11238, 17, 46927, {1, 1, 1, 5, 13, 31, 123, 123, 439, 373, 1817, 2555, 7905, 3151, 2311, 62083, 45535}}, +{11239, 17, 46946, {1, 3, 1, 3, 31, 37, 83, 117, 177, 483, 1285, 1725, 821, 2115, 12893, 54301, 36491}}, +{11240, 17, 46948, {1, 3, 3, 3, 9, 13, 87, 7, 467, 287, 1173, 2739, 3293, 883, 9123, 30799, 110221}}, +{11241, 17, 46955, {1, 3, 1, 15, 3, 5, 119, 235, 393, 789, 67, 1193, 1613, 8607, 17371, 16723, 103747}}, +{11242, 17, 46965, {1, 3, 1, 13, 13, 47, 61, 51, 447, 1, 1221, 1619, 3785, 5851, 10557, 51181, 6535}}, +{11243, 17, 46972, {1, 3, 5, 11, 1, 1, 85, 119, 195, 177, 805, 1161, 4851, 15765, 24405, 41757, 110081}}, +{11244, 17, 46976, {1, 1, 7, 1, 17, 21, 89, 13, 59, 169, 1847, 2401, 6243, 2841, 6153, 16039, 47407}}, +{11245, 17, 46985, {1, 1, 3, 15, 21, 53, 103, 187, 143, 897, 65, 3677, 213, 4027, 22365, 53703, 82951}}, +{11246, 17, 46999, {1, 3, 5, 5, 25, 5, 39, 49, 55, 71, 825, 2123, 2345, 5683, 18027, 29897, 53023}}, +{11247, 17, 47003, {1, 1, 3, 5, 13, 55, 27, 77, 327, 429, 1219, 2103, 7095, 13461, 31027, 15383, 98485}}, +{11248, 17, 47006, {1, 3, 1, 3, 9, 41, 33, 241, 487, 229, 1743, 951, 2319, 15595, 3213, 5959, 90721}}, +{11249, 17, 47016, {1, 1, 7, 1, 29, 45, 45, 163, 123, 227, 305, 1577, 5465, 5639, 14507, 65155, 71425}}, +{11250, 17, 47030, {1, 1, 5, 1, 3, 5, 33, 15, 203, 141, 465, 3509, 6653, 14193, 7073, 22525, 22951}}, +{11251, 17, 47034, {1, 1, 7, 3, 27, 39, 3, 27, 75, 821, 1329, 3655, 4715, 7659, 31957, 60219, 79123}}, +{11252, 17, 47053, {1, 3, 5, 13, 29, 45, 111, 19, 207, 387, 87, 3731, 7427, 13351, 9497, 34285, 25623}}, +{11253, 17, 47056, {1, 1, 3, 11, 19, 39, 79, 219, 97, 125, 947, 1397, 3645, 1021, 9403, 38695, 54985}}, +{11254, 17, 47059, {1, 3, 3, 7, 3, 3, 45, 93, 65, 289, 1843, 1599, 897, 16159, 23485, 24699, 43123}}, +{11255, 17, 47072, {1, 3, 5, 3, 15, 1, 81, 219, 299, 429, 1115, 1763, 6381, 869, 7817, 143, 23583}}, +{11256, 17, 47077, {1, 1, 3, 5, 1, 35, 95, 147, 425, 1011, 1039, 2875, 3089, 3685, 9995, 13279, 60923}}, +{11257, 17, 47099, {1, 1, 5, 7, 5, 59, 105, 241, 151, 307, 735, 1541, 3115, 12331, 19535, 56965, 127015}}, +{11258, 17, 47105, {1, 3, 5, 7, 5, 33, 83, 179, 65, 397, 787, 3425, 1305, 10713, 6973, 9007, 112081}}, +{11259, 17, 47108, {1, 3, 7, 13, 29, 11, 37, 31, 271, 501, 897, 1383, 5333, 13627, 22091, 38421, 94575}}, +{11260, 17, 47112, {1, 3, 1, 1, 9, 61, 87, 115, 13, 79, 391, 2385, 7157, 3369, 26035, 883, 34705}}, +{11261, 17, 47115, {1, 1, 3, 9, 21, 29, 15, 165, 53, 719, 1509, 1295, 4437, 8229, 17961, 55297, 62635}}, +{11262, 17, 47117, {1, 1, 7, 5, 27, 21, 23, 141, 341, 423, 9, 2693, 5555, 5797, 13179, 1107, 33489}}, +{11263, 17, 47120, {1, 3, 1, 13, 27, 33, 101, 29, 379, 119, 1259, 861, 6843, 69, 3253, 61977, 80061}}, +{11264, 17, 47129, {1, 1, 3, 11, 1, 37, 35, 43, 105, 655, 221, 873, 91, 9095, 8999, 44033, 24807}}, +{11265, 17, 47135, {1, 3, 3, 7, 29, 15, 23, 227, 399, 305, 2007, 747, 2717, 14767, 6515, 40617, 7873}}, +{11266, 17, 47151, {1, 1, 5, 15, 21, 43, 39, 7, 261, 421, 505, 1433, 1155, 5621, 2337, 54027, 54039}}, +{11267, 17, 47154, {1, 1, 1, 9, 15, 39, 49, 185, 503, 895, 1321, 375, 4245, 4929, 9637, 50561, 65733}}, +{11268, 17, 47156, {1, 1, 5, 15, 7, 29, 27, 155, 423, 631, 1295, 973, 4227, 2637, 8479, 29527, 70505}}, +{11269, 17, 47166, {1, 3, 1, 3, 31, 33, 13, 67, 195, 335, 1577, 3715, 559, 7251, 7215, 46443, 125359}}, +{11270, 17, 47171, {1, 3, 1, 9, 17, 37, 15, 119, 79, 851, 911, 3549, 99, 9221, 29897, 63489, 34937}}, +{11271, 17, 47195, {1, 3, 5, 9, 31, 11, 125, 1, 265, 467, 835, 2997, 2401, 9615, 19397, 50947, 29963}}, +{11272, 17, 47204, {1, 1, 5, 3, 11, 21, 63, 15, 471, 763, 1963, 2815, 4419, 11457, 7151, 27009, 124847}}, +{11273, 17, 47213, {1, 1, 7, 3, 19, 9, 97, 59, 375, 109, 519, 305, 2787, 3001, 14199, 27415, 35403}}, +{11274, 17, 47222, {1, 1, 1, 3, 13, 47, 3, 93, 307, 979, 419, 2817, 3741, 305, 1813, 34549, 116959}}, +{11275, 17, 47228, {1, 3, 5, 13, 13, 19, 35, 231, 493, 973, 895, 1583, 1843, 9057, 27705, 32333, 130347}}, +{11276, 17, 47241, {1, 1, 1, 13, 31, 35, 81, 11, 363, 229, 1865, 2849, 7805, 877, 3965, 45337, 33239}}, +{11277, 17, 47242, {1, 3, 5, 1, 15, 3, 125, 93, 191, 405, 1359, 929, 3085, 7907, 7777, 7815, 103717}}, +{11278, 17, 47247, {1, 1, 3, 7, 15, 33, 61, 235, 283, 141, 817, 1611, 665, 13113, 4197, 45831, 44505}}, +{11279, 17, 47249, {1, 1, 5, 5, 25, 3, 63, 159, 223, 531, 1147, 2323, 2715, 10319, 32203, 23943, 95407}}, +{11280, 17, 47250, {1, 3, 3, 3, 3, 33, 37, 99, 317, 811, 515, 339, 6527, 11149, 13071, 7177, 1549}}, +{11281, 17, 47261, {1, 3, 1, 11, 31, 53, 9, 17, 297, 259, 1235, 53, 7065, 1721, 8191, 21663, 13393}}, +{11282, 17, 47266, {1, 3, 7, 7, 29, 41, 127, 179, 113, 191, 783, 861, 6509, 5199, 3369, 18327, 30647}}, +{11283, 17, 47268, {1, 3, 1, 7, 23, 41, 49, 155, 135, 513, 1127, 1443, 8081, 2553, 10389, 35459, 122513}}, +{11284, 17, 47278, {1, 1, 7, 3, 25, 3, 117, 125, 283, 165, 1409, 1587, 7915, 12899, 12239, 48161, 7385}}, +{11285, 17, 47286, {1, 3, 7, 3, 23, 19, 29, 47, 7, 723, 455, 4013, 2739, 12303, 29883, 51485, 1571}}, +{11286, 17, 47312, {1, 1, 1, 11, 1, 31, 111, 199, 207, 209, 1163, 2865, 5335, 2647, 9125, 6737, 99881}}, +{11287, 17, 47315, {1, 3, 1, 11, 31, 19, 59, 153, 65, 133, 1399, 2709, 905, 3257, 13603, 46299, 15139}}, +{11288, 17, 47321, {1, 3, 1, 1, 23, 19, 123, 115, 59, 667, 333, 2461, 1843, 16049, 12353, 17297, 107779}}, +{11289, 17, 47322, {1, 1, 5, 1, 5, 29, 91, 241, 97, 557, 1701, 2441, 2995, 13103, 9261, 55833, 843}}, +{11290, 17, 47324, {1, 1, 1, 5, 15, 19, 23, 189, 69, 91, 427, 3149, 5199, 13073, 32273, 41503, 98749}}, +{11291, 17, 47331, {1, 3, 5, 11, 19, 3, 71, 125, 307, 241, 861, 681, 5657, 5189, 7555, 2037, 72921}}, +{11292, 17, 47338, {1, 1, 5, 5, 29, 61, 93, 61, 421, 685, 883, 1559, 5875, 10561, 11761, 18879, 31577}}, +{11293, 17, 47366, {1, 3, 7, 15, 9, 29, 41, 241, 365, 941, 1087, 3743, 6781, 9467, 1409, 20605, 2361}}, +{11294, 17, 47372, {1, 1, 5, 13, 25, 29, 7, 21, 41, 621, 1751, 3731, 2667, 8613, 20999, 3851, 39677}}, +{11295, 17, 47375, {1, 1, 7, 5, 17, 23, 25, 43, 401, 749, 975, 91, 5277, 2711, 19847, 41419, 11851}}, +{11296, 17, 47378, {1, 1, 7, 9, 13, 37, 113, 89, 435, 749, 1553, 1853, 7709, 5449, 25055, 45207, 2269}}, +{11297, 17, 47387, {1, 3, 1, 11, 3, 59, 79, 13, 35, 901, 165, 907, 7579, 12739, 24679, 54163, 61059}}, +{11298, 17, 47389, {1, 1, 5, 7, 9, 47, 101, 61, 25, 461, 1737, 2825, 4439, 5363, 28433, 61979, 120401}}, +{11299, 17, 47390, {1, 3, 3, 3, 1, 55, 103, 1, 449, 473, 375, 2609, 4933, 3411, 19663, 6067, 61129}}, +{11300, 17, 47396, {1, 1, 3, 9, 27, 29, 53, 151, 391, 507, 425, 3469, 6605, 5783, 31747, 37677, 116037}}, +{11301, 17, 47400, {1, 1, 1, 5, 5, 43, 61, 67, 319, 553, 1163, 3095, 4447, 7505, 15617, 26167, 11145}}, +{11302, 17, 47405, {1, 1, 5, 7, 3, 3, 9, 161, 155, 869, 337, 3693, 6847, 8449, 15077, 54769, 123335}}, +{11303, 17, 47408, {1, 3, 3, 7, 11, 19, 17, 71, 105, 649, 323, 3033, 1695, 15973, 6361, 3163, 17669}}, +{11304, 17, 47411, {1, 3, 7, 13, 13, 9, 3, 251, 149, 513, 637, 2211, 6397, 1741, 8547, 3165, 38241}}, +{11305, 17, 47431, {1, 1, 5, 5, 1, 57, 73, 35, 287, 347, 221, 3261, 7693, 5443, 6175, 18181, 23733}}, +{11306, 17, 47443, {1, 3, 7, 5, 5, 19, 1, 167, 5, 825, 815, 1369, 7657, 6169, 9583, 34761, 81003}}, +{11307, 17, 47459, {1, 3, 3, 5, 15, 17, 23, 157, 475, 297, 1495, 811, 8135, 11453, 9683, 55505, 84361}}, +{11308, 17, 47466, {1, 1, 1, 11, 1, 63, 59, 189, 205, 1023, 1065, 1095, 2293, 14629, 29399, 2925, 28327}}, +{11309, 17, 47479, {1, 3, 1, 3, 31, 33, 85, 183, 383, 731, 1223, 3353, 3703, 5655, 31265, 12249, 22127}}, +{11310, 17, 47480, {1, 3, 5, 7, 7, 29, 61, 3, 375, 95, 1815, 4065, 6287, 3797, 32397, 50581, 123371}}, +{11311, 17, 47495, {1, 3, 1, 9, 13, 37, 57, 139, 43, 561, 425, 3603, 1167, 10281, 31825, 32673, 106169}}, +{11312, 17, 47504, {1, 3, 5, 3, 15, 41, 29, 223, 79, 851, 1741, 2241, 5659, 9773, 18369, 37239, 14831}}, +{11313, 17, 47519, {1, 3, 1, 1, 7, 11, 83, 63, 51, 521, 1911, 475, 5207, 3219, 10257, 40461, 9087}}, +{11314, 17, 47520, {1, 3, 5, 7, 23, 17, 97, 195, 5, 451, 1971, 1881, 921, 8729, 3443, 64529, 67747}}, +{11315, 17, 47530, {1, 1, 3, 9, 21, 63, 45, 181, 429, 605, 169, 3493, 2381, 2887, 19515, 53151, 60147}}, +{11316, 17, 47537, {1, 3, 3, 7, 15, 11, 117, 161, 333, 139, 587, 2331, 3175, 12093, 12649, 52381, 107117}}, +{11317, 17, 47555, {1, 1, 5, 15, 23, 57, 19, 57, 507, 461, 799, 611, 1589, 10909, 7649, 17817, 24677}}, +{11318, 17, 47558, {1, 1, 3, 15, 1, 61, 9, 201, 401, 387, 527, 2855, 2339, 3813, 11825, 14273, 73745}}, +{11319, 17, 47567, {1, 3, 1, 5, 1, 37, 27, 105, 475, 335, 1169, 3233, 3225, 12861, 10133, 36673, 55025}}, +{11320, 17, 47569, {1, 1, 1, 9, 27, 53, 55, 197, 229, 5, 93, 1157, 7929, 9745, 5295, 15359, 75567}}, +{11321, 17, 47572, {1, 1, 7, 5, 11, 3, 109, 81, 457, 159, 1899, 557, 1067, 295, 2661, 1145, 8745}}, +{11322, 17, 47582, {1, 1, 1, 15, 31, 29, 77, 171, 411, 425, 1041, 2791, 2567, 5357, 21871, 27689, 103485}}, +{11323, 17, 47591, {1, 3, 5, 11, 19, 47, 23, 97, 405, 667, 2045, 2951, 2063, 7775, 20629, 34283, 26925}}, +{11324, 17, 47595, {1, 3, 5, 7, 5, 51, 125, 67, 165, 145, 733, 1649, 5787, 4333, 24355, 33397, 101001}}, +{11325, 17, 47598, {1, 3, 7, 11, 13, 7, 117, 147, 449, 201, 953, 553, 1839, 6903, 10417, 42751, 36823}}, +{11326, 17, 47609, {1, 1, 3, 5, 3, 21, 109, 35, 95, 953, 211, 2849, 5681, 16287, 16553, 30345, 69729}}, +{11327, 17, 47612, {1, 3, 7, 5, 25, 37, 21, 143, 317, 621, 1417, 283, 3801, 15375, 3799, 13345, 59727}}, +{11328, 17, 47616, {1, 3, 3, 9, 3, 37, 113, 127, 123, 979, 1225, 2585, 2055, 2571, 16727, 38863, 74347}}, +{11329, 17, 47625, {1, 3, 3, 3, 23, 13, 49, 111, 277, 143, 1171, 605, 91, 13693, 1971, 18209, 114203}}, +{11330, 17, 47640, {1, 1, 1, 9, 27, 33, 73, 9, 93, 343, 55, 3045, 2029, 3665, 28483, 6601, 72085}}, +{11331, 17, 47649, {1, 1, 1, 15, 17, 55, 87, 231, 103, 1005, 1451, 3617, 7477, 2045, 10683, 39053, 1289}}, +{11332, 17, 47655, {1, 3, 7, 7, 25, 55, 39, 89, 489, 609, 1969, 159, 7485, 10713, 28371, 14935, 95347}}, +{11333, 17, 47661, {1, 3, 3, 13, 25, 9, 83, 167, 25, 135, 2017, 3313, 1493, 7799, 22479, 49471, 20149}}, +{11334, 17, 47688, {1, 1, 1, 15, 25, 13, 63, 117, 97, 449, 1331, 229, 6027, 1023, 26705, 15283, 60385}}, +{11335, 17, 47711, {1, 1, 7, 5, 5, 37, 3, 79, 337, 861, 1549, 915, 7303, 1503, 19245, 60721, 45313}}, +{11336, 17, 47717, {1, 3, 7, 15, 19, 1, 11, 39, 505, 757, 1627, 2137, 3209, 7651, 31291, 45913, 26851}}, +{11337, 17, 47721, {1, 3, 1, 5, 25, 21, 85, 233, 171, 269, 367, 1651, 3961, 2487, 1977, 7027, 2725}}, +{11338, 17, 47724, {1, 1, 5, 15, 13, 23, 81, 145, 201, 323, 425, 2785, 1149, 12617, 11451, 23205, 117691}}, +{11339, 17, 47727, {1, 1, 7, 11, 29, 37, 69, 141, 15, 773, 1299, 2147, 8129, 12227, 27811, 58701, 103637}}, +{11340, 17, 47730, {1, 3, 5, 13, 3, 33, 29, 227, 261, 221, 823, 1399, 5107, 2423, 23809, 42175, 28207}}, +{11341, 17, 47739, {1, 3, 1, 15, 21, 1, 121, 255, 259, 441, 45, 1899, 2489, 4155, 18317, 52695, 607}}, +{11342, 17, 47745, {1, 3, 5, 9, 25, 43, 115, 111, 329, 997, 753, 1513, 6949, 3197, 28275, 48855, 25089}}, +{11343, 17, 47752, {1, 3, 3, 3, 25, 9, 21, 213, 111, 173, 913, 1465, 4437, 9725, 1455, 53517, 81843}}, +{11344, 17, 47758, {1, 3, 5, 5, 5, 25, 3, 159, 19, 203, 181, 3447, 6395, 2145, 11289, 16797, 59567}}, +{11345, 17, 47765, {1, 3, 3, 1, 29, 25, 43, 115, 257, 833, 379, 941, 4389, 5795, 12593, 2471, 127149}}, +{11346, 17, 47770, {1, 3, 1, 9, 3, 15, 81, 141, 155, 515, 1677, 2569, 1105, 15653, 24143, 3439, 17317}}, +{11347, 17, 47782, {1, 3, 1, 13, 27, 13, 103, 87, 27, 971, 671, 629, 4943, 13897, 4003, 21507, 40193}}, +{11348, 17, 47786, {1, 3, 5, 9, 1, 49, 11, 15, 511, 837, 1953, 1585, 1867, 9095, 543, 16993, 115187}}, +{11349, 17, 47791, {1, 1, 5, 11, 21, 49, 37, 61, 9, 629, 1025, 1635, 4047, 15491, 28481, 43235, 53165}}, +{11350, 17, 47793, {1, 1, 5, 7, 15, 57, 121, 119, 405, 29, 655, 3085, 7131, 14761, 2273, 47113, 8603}}, +{11351, 17, 47796, {1, 1, 3, 3, 11, 45, 51, 107, 367, 235, 675, 3777, 6081, 16319, 19499, 36893, 25579}}, +{11352, 17, 47814, {1, 1, 7, 11, 1, 13, 43, 159, 415, 423, 1223, 2201, 1089, 10189, 12457, 26691, 3603}}, +{11353, 17, 47823, {1, 1, 3, 3, 3, 37, 109, 67, 487, 785, 637, 3931, 929, 14153, 25283, 483, 14371}}, +{11354, 17, 47826, {1, 1, 7, 9, 31, 59, 9, 245, 479, 113, 1419, 3265, 8131, 11123, 32519, 12141, 82059}}, +{11355, 17, 47837, {1, 1, 1, 7, 25, 25, 31, 13, 81, 217, 997, 1161, 1049, 5487, 8487, 57807, 126115}}, +{11356, 17, 47854, {1, 1, 3, 15, 1, 23, 63, 39, 503, 933, 1915, 687, 547, 779, 7689, 38607, 125229}}, +{11357, 17, 47856, {1, 1, 3, 3, 31, 49, 51, 87, 99, 327, 783, 3487, 7307, 2759, 22781, 56343, 126805}}, +{11358, 17, 47871, {1, 3, 3, 11, 27, 43, 99, 197, 275, 19, 775, 329, 3815, 14277, 3363, 26375, 75427}}, +{11359, 17, 47879, {1, 1, 5, 15, 15, 19, 65, 109, 103, 411, 1591, 2569, 1981, 4773, 7861, 6303, 127421}}, +{11360, 17, 47880, {1, 3, 1, 13, 1, 53, 107, 151, 317, 201, 1053, 2701, 5039, 2179, 10085, 31727, 85579}}, +{11361, 17, 47885, {1, 3, 1, 9, 5, 55, 71, 143, 187, 29, 1363, 2403, 2675, 2187, 12123, 32825, 56461}}, +{11362, 17, 47886, {1, 1, 7, 11, 5, 57, 91, 95, 85, 597, 925, 11, 1915, 9159, 9997, 29565, 111655}}, +{11363, 17, 47903, {1, 1, 5, 9, 25, 57, 79, 189, 205, 687, 471, 601, 5343, 9031, 7853, 6079, 40567}}, +{11364, 17, 47907, {1, 1, 3, 1, 31, 53, 67, 191, 511, 369, 1273, 3859, 4253, 14469, 3427, 17691, 22599}}, +{11365, 17, 47913, {1, 1, 3, 9, 17, 53, 101, 219, 41, 663, 635, 3889, 2197, 8125, 8313, 14957, 111445}}, +{11366, 17, 47916, {1, 1, 5, 5, 7, 49, 113, 9, 399, 257, 617, 63, 2773, 4411, 1193, 54449, 89003}}, +{11367, 17, 47928, {1, 1, 7, 11, 13, 29, 77, 73, 161, 419, 985, 303, 2237, 15217, 26621, 20441, 113955}}, +{11368, 17, 47936, {1, 3, 3, 9, 17, 39, 37, 139, 289, 421, 1021, 2635, 2805, 5815, 9101, 48077, 114009}}, +{11369, 17, 47945, {1, 1, 1, 15, 25, 43, 71, 35, 103, 827, 1301, 3567, 3425, 3689, 14453, 10733, 81257}}, +{11370, 17, 47948, {1, 3, 5, 5, 15, 31, 41, 161, 481, 231, 1135, 3045, 439, 11785, 14863, 39729, 59539}}, +{11371, 17, 47956, {1, 1, 5, 7, 27, 9, 81, 141, 395, 105, 41, 3719, 3105, 13685, 7451, 31381, 82907}}, +{11372, 17, 47965, {1, 3, 1, 13, 15, 25, 127, 231, 433, 837, 1923, 1301, 2479, 3243, 21605, 55789, 11311}}, +{11373, 17, 47970, {1, 3, 5, 7, 17, 5, 27, 111, 217, 445, 1245, 1029, 7663, 10291, 16483, 37503, 110205}}, +{11374, 17, 47972, {1, 1, 1, 7, 31, 21, 51, 235, 487, 457, 1687, 2947, 5067, 13779, 7671, 7257, 119141}}, +{11375, 17, 47981, {1, 1, 5, 13, 25, 31, 59, 183, 33, 887, 469, 813, 7939, 11775, 5795, 26227, 57703}}, +{11376, 17, 47987, {1, 3, 3, 15, 17, 7, 19, 87, 365, 177, 1157, 1023, 3055, 15439, 27187, 32593, 112507}}, +{11377, 17, 48010, {1, 1, 1, 9, 19, 49, 103, 239, 207, 409, 1613, 2793, 5477, 11221, 21611, 19963, 99333}}, +{11378, 17, 48012, {1, 3, 3, 11, 17, 1, 103, 77, 93, 197, 1883, 4053, 4613, 11571, 1841, 23189, 4235}}, +{11379, 17, 48023, {1, 3, 5, 9, 9, 49, 29, 231, 167, 593, 1909, 2457, 323, 10549, 6551, 45597, 96591}}, +{11380, 17, 48033, {1, 1, 7, 11, 15, 39, 33, 61, 13, 879, 1589, 2169, 125, 2427, 13029, 24919, 14147}}, +{11381, 17, 48051, {1, 3, 5, 5, 25, 53, 49, 255, 263, 917, 1997, 171, 2945, 14243, 12983, 21821, 119547}}, +{11382, 17, 48071, {1, 1, 1, 15, 5, 25, 113, 235, 311, 377, 1059, 1365, 3457, 8699, 18617, 25119, 110659}}, +{11383, 17, 48075, {1, 1, 5, 1, 9, 61, 1, 137, 301, 85, 1527, 3831, 923, 13753, 20909, 14007, 22939}}, +{11384, 17, 48077, {1, 1, 7, 9, 23, 17, 31, 107, 55, 293, 425, 3513, 3503, 10075, 6299, 40007, 54355}}, +{11385, 17, 48080, {1, 3, 5, 5, 27, 39, 95, 187, 239, 949, 531, 3541, 99, 6339, 32295, 10377, 111287}}, +{11386, 17, 48099, {1, 1, 5, 15, 19, 39, 23, 89, 185, 47, 87, 1721, 2471, 13221, 13201, 31, 12897}}, +{11387, 17, 48106, {1, 3, 1, 9, 7, 7, 109, 241, 39, 687, 175, 139, 583, 1629, 19775, 6371, 121879}}, +{11388, 17, 48114, {1, 1, 1, 13, 13, 9, 73, 153, 367, 425, 217, 3981, 5203, 1111, 12333, 59799, 105259}}, +{11389, 17, 48120, {1, 1, 3, 5, 7, 33, 27, 123, 335, 727, 1619, 3999, 7799, 2807, 2251, 45835, 113193}}, +{11390, 17, 48128, {1, 3, 1, 7, 25, 3, 49, 163, 447, 555, 647, 1461, 5881, 15755, 32233, 48915, 96203}}, +{11391, 17, 48145, {1, 3, 7, 7, 21, 11, 61, 101, 323, 165, 1489, 2933, 3363, 8471, 4311, 65279, 123813}}, +{11392, 17, 48152, {1, 3, 1, 1, 15, 1, 101, 225, 473, 479, 1237, 113, 7591, 2883, 3891, 53703, 14607}}, +{11393, 17, 48155, {1, 3, 5, 3, 17, 51, 23, 31, 487, 957, 1623, 2329, 2801, 6213, 7523, 14131, 23893}}, +{11394, 17, 48182, {1, 1, 5, 7, 9, 39, 93, 105, 13, 481, 53, 3785, 5621, 11889, 993, 23611, 73651}}, +{11395, 17, 48188, {1, 3, 7, 15, 21, 57, 97, 69, 339, 289, 1805, 2661, 1165, 6079, 1127, 51285, 54453}}, +{11396, 17, 48203, {1, 1, 3, 3, 3, 3, 1, 179, 123, 1011, 1363, 231, 6983, 9499, 91, 52573, 32565}}, +{11397, 17, 48217, {1, 3, 3, 15, 5, 37, 97, 7, 189, 547, 1965, 3821, 4907, 8181, 12857, 7907, 19361}}, +{11398, 17, 48218, {1, 1, 5, 3, 29, 33, 45, 99, 359, 337, 1377, 577, 3117, 9545, 30093, 26147, 128509}}, +{11399, 17, 48236, {1, 3, 5, 11, 7, 49, 99, 249, 37, 755, 383, 2845, 4153, 695, 11099, 33653, 105155}}, +{11400, 17, 48241, {1, 3, 1, 1, 19, 3, 3, 177, 97, 323, 1367, 213, 4391, 11223, 26497, 12289, 39047}}, +{11401, 17, 48244, {1, 1, 3, 7, 3, 33, 73, 199, 339, 479, 1797, 3905, 2849, 5667, 18015, 36653, 83491}}, +{11402, 17, 48264, {1, 1, 5, 3, 27, 59, 27, 241, 49, 161, 451, 3993, 2489, 10681, 11895, 60405, 47021}}, +{11403, 17, 48269, {1, 1, 7, 5, 9, 23, 115, 131, 383, 895, 1591, 585, 2571, 7485, 31535, 12871, 95717}}, +{11404, 17, 48278, {1, 1, 1, 15, 13, 49, 3, 157, 311, 159, 1239, 159, 5643, 6405, 11763, 34609, 75259}}, +{11405, 17, 48282, {1, 1, 1, 13, 11, 41, 119, 3, 165, 943, 2035, 179, 357, 14591, 20099, 4787, 12659}}, +{11406, 17, 48288, {1, 1, 5, 11, 13, 9, 67, 139, 259, 947, 1559, 283, 1557, 11297, 29753, 21953, 100317}}, +{11407, 17, 48311, {1, 1, 7, 11, 13, 39, 105, 83, 109, 723, 1643, 3599, 1471, 13653, 4583, 18595, 91935}}, +{11408, 17, 48315, {1, 1, 5, 9, 25, 5, 69, 189, 209, 779, 1421, 467, 849, 12887, 10317, 3005, 100813}}, +{11409, 17, 48317, {1, 3, 7, 11, 19, 1, 93, 239, 333, 713, 1525, 813, 5913, 10811, 7077, 20573, 86999}}, +{11410, 17, 48329, {1, 3, 1, 5, 25, 1, 107, 153, 225, 889, 1319, 497, 2193, 11511, 17553, 23733, 83179}}, +{11411, 17, 48330, {1, 3, 3, 3, 5, 45, 51, 37, 443, 851, 263, 4067, 2629, 10887, 29081, 30489, 1161}}, +{11412, 17, 48337, {1, 1, 3, 9, 25, 19, 115, 31, 347, 641, 1103, 1121, 7051, 14071, 16663, 48517, 24655}}, +{11413, 17, 48350, {1, 1, 3, 15, 11, 33, 123, 181, 225, 437, 875, 1997, 209, 5487, 1989, 6745, 38423}}, +{11414, 17, 48353, {1, 3, 7, 5, 27, 5, 105, 203, 51, 683, 1523, 347, 6881, 4353, 4531, 29589, 108053}}, +{11415, 17, 48360, {1, 1, 3, 9, 15, 33, 127, 145, 125, 429, 915, 1307, 1495, 3553, 26797, 36819, 121375}}, +{11416, 17, 48374, {1, 3, 5, 15, 7, 1, 55, 99, 7, 405, 885, 59, 5359, 13969, 32037, 53399, 77293}}, +{11417, 17, 48380, {1, 1, 7, 1, 29, 31, 89, 69, 405, 837, 1949, 2337, 1139, 14129, 16867, 15167, 21117}}, +{11418, 17, 48405, {1, 1, 3, 5, 3, 25, 61, 175, 135, 109, 959, 501, 13, 16057, 25031, 16321, 27617}}, +{11419, 17, 48406, {1, 3, 1, 5, 17, 39, 59, 113, 25, 707, 1641, 3489, 6193, 10085, 13837, 57851, 77475}}, +{11420, 17, 48409, {1, 1, 3, 5, 17, 35, 111, 163, 253, 641, 715, 1101, 4411, 10771, 20241, 46415, 114719}}, +{11421, 17, 48412, {1, 3, 1, 1, 7, 11, 77, 59, 71, 869, 1505, 751, 4367, 9603, 29735, 7333, 62487}}, +{11422, 17, 48416, {1, 3, 7, 9, 3, 51, 93, 195, 497, 659, 1563, 3801, 6933, 9089, 10891, 9853, 93611}}, +{11423, 17, 48419, {1, 3, 1, 7, 21, 47, 61, 117, 293, 281, 1547, 3437, 4947, 12119, 21425, 5591, 23951}}, +{11424, 17, 48425, {1, 1, 7, 13, 19, 59, 121, 249, 147, 759, 1963, 465, 7785, 7015, 81, 47869, 123845}}, +{11425, 17, 48434, {1, 1, 7, 13, 5, 35, 45, 69, 167, 263, 979, 2855, 1845, 5531, 17167, 7363, 89233}}, +{11426, 17, 48443, {1, 3, 3, 3, 17, 43, 109, 193, 389, 867, 1403, 1271, 7127, 13977, 22547, 53997, 24475}}, +{11427, 17, 48445, {1, 1, 1, 5, 25, 43, 47, 163, 417, 967, 819, 2433, 439, 8499, 29705, 32697, 109963}}, +{11428, 17, 48453, {1, 1, 1, 15, 19, 5, 83, 237, 431, 697, 1383, 2499, 6907, 9033, 12147, 23479, 17649}}, +{11429, 17, 48454, {1, 3, 5, 13, 27, 35, 103, 95, 239, 903, 537, 601, 417, 15859, 16533, 16753, 128229}}, +{11430, 17, 48482, {1, 1, 3, 1, 11, 55, 57, 9, 229, 135, 805, 2745, 2023, 12645, 29135, 39051, 17065}}, +{11431, 17, 48491, {1, 3, 5, 3, 13, 25, 77, 29, 449, 31, 1733, 1451, 3895, 11551, 1011, 22817, 35959}}, +{11432, 17, 48501, {1, 3, 3, 3, 1, 31, 93, 47, 255, 393, 571, 443, 6079, 6245, 11773, 42087, 40651}}, +{11433, 17, 48517, {1, 3, 1, 5, 17, 49, 119, 219, 375, 337, 29, 3409, 3187, 15243, 25853, 44385, 103675}}, +{11434, 17, 48518, {1, 3, 7, 15, 15, 21, 79, 109, 81, 119, 603, 1665, 7813, 3485, 11801, 48693, 108307}}, +{11435, 17, 48545, {1, 1, 1, 15, 9, 5, 103, 141, 181, 841, 7, 1217, 7713, 4843, 9089, 53641, 3029}}, +{11436, 17, 48548, {1, 3, 3, 1, 29, 47, 13, 179, 439, 387, 1553, 3141, 947, 4893, 29119, 30865, 14207}}, +{11437, 17, 48552, {1, 1, 1, 15, 29, 1, 41, 135, 43, 673, 1527, 883, 3211, 5195, 30219, 47133, 56819}}, +{11438, 17, 48569, {1, 3, 5, 13, 13, 47, 97, 219, 277, 397, 1901, 821, 1961, 705, 7291, 19435, 123563}}, +{11439, 17, 48575, {1, 1, 7, 15, 5, 49, 93, 59, 221, 205, 115, 559, 5633, 5819, 6923, 18301, 72639}}, +{11440, 17, 48580, {1, 3, 5, 13, 29, 49, 25, 203, 125, 385, 487, 1897, 2177, 6859, 6105, 763, 36673}}, +{11441, 17, 48584, {1, 3, 3, 9, 23, 63, 9, 115, 489, 89, 1113, 1351, 8181, 2569, 18263, 32619, 24795}}, +{11442, 17, 48590, {1, 1, 5, 11, 25, 51, 97, 155, 15, 139, 1275, 3479, 5851, 3099, 7417, 57155, 90185}}, +{11443, 17, 48595, {1, 3, 1, 11, 1, 37, 67, 221, 493, 475, 1881, 2277, 4365, 9411, 16629, 65229, 28803}}, +{11444, 17, 48602, {1, 3, 1, 1, 15, 53, 39, 141, 453, 151, 335, 795, 1515, 2719, 24197, 21153, 129549}}, +{11445, 17, 48604, {1, 1, 1, 7, 19, 31, 59, 123, 73, 149, 469, 1199, 3603, 1539, 29157, 50031, 22109}}, +{11446, 17, 48618, {1, 1, 3, 15, 23, 51, 45, 211, 423, 553, 1289, 1125, 6347, 6711, 23761, 14109, 17261}}, +{11447, 17, 48625, {1, 3, 5, 13, 5, 7, 35, 185, 263, 791, 161, 325, 4771, 11913, 31595, 56675, 68615}}, +{11448, 17, 48626, {1, 1, 5, 9, 19, 27, 89, 147, 55, 197, 1695, 99, 755, 15115, 1933, 41439, 85063}}, +{11449, 17, 48638, {1, 1, 7, 7, 17, 11, 103, 55, 281, 707, 1973, 2055, 5015, 5713, 3717, 44149, 8033}}, +{11450, 17, 48668, {1, 3, 1, 5, 21, 49, 55, 93, 161, 565, 81, 3241, 3709, 8185, 16935, 60369, 118127}}, +{11451, 17, 48677, {1, 3, 7, 9, 27, 1, 105, 133, 397, 351, 1021, 739, 161, 9971, 24733, 29239, 68853}}, +{11452, 17, 48678, {1, 1, 7, 1, 1, 19, 97, 243, 73, 969, 313, 399, 2955, 2467, 18265, 60637, 35457}}, +{11453, 17, 48687, {1, 3, 1, 11, 29, 25, 35, 35, 469, 143, 1195, 911, 1023, 14685, 10933, 16449, 102113}}, +{11454, 17, 48692, {1, 1, 5, 3, 31, 21, 65, 181, 13, 235, 501, 3621, 3567, 8771, 32747, 59231, 91551}}, +{11455, 17, 48696, {1, 1, 1, 13, 29, 21, 13, 33, 193, 565, 203, 3927, 4749, 9897, 26109, 14221, 27733}}, +{11456, 17, 48704, {1, 1, 1, 5, 29, 41, 7, 125, 391, 295, 533, 2135, 3107, 7711, 27811, 55767, 78821}}, +{11457, 17, 48707, {1, 1, 7, 3, 19, 25, 117, 195, 155, 685, 147, 2049, 3751, 4585, 24893, 36895, 80371}}, +{11458, 17, 48714, {1, 3, 5, 5, 23, 41, 9, 125, 315, 809, 1019, 1453, 4605, 13753, 30641, 50677, 94781}}, +{11459, 17, 48731, {1, 1, 1, 7, 27, 45, 103, 199, 37, 291, 651, 185, 6715, 15387, 30873, 63051, 123231}}, +{11460, 17, 48740, {1, 1, 5, 7, 17, 5, 75, 129, 401, 107, 1681, 2039, 299, 12399, 30947, 26327, 91589}}, +{11461, 17, 48750, {1, 3, 3, 15, 17, 19, 109, 19, 493, 797, 209, 929, 2821, 395, 22173, 27803, 87953}}, +{11462, 17, 48761, {1, 3, 7, 5, 7, 5, 71, 159, 483, 389, 1817, 4093, 963, 4253, 31267, 63919, 62113}}, +{11463, 17, 48785, {1, 3, 3, 15, 9, 49, 89, 49, 15, 61, 2041, 2357, 2173, 3349, 32565, 23207, 21177}}, +{11464, 17, 48786, {1, 1, 1, 13, 15, 21, 31, 143, 387, 371, 567, 1903, 3793, 9559, 7055, 31251, 13663}}, +{11465, 17, 48798, {1, 1, 3, 13, 3, 7, 49, 31, 255, 581, 627, 1947, 2965, 2787, 8275, 59785, 19979}}, +{11466, 17, 48807, {1, 3, 3, 13, 29, 47, 53, 133, 301, 253, 1215, 3409, 5745, 247, 31585, 5555, 31011}}, +{11467, 17, 48808, {1, 3, 7, 15, 23, 49, 1, 89, 141, 423, 707, 645, 7955, 10485, 27223, 35867, 45461}}, +{11468, 17, 48814, {1, 1, 3, 3, 29, 25, 123, 63, 197, 429, 169, 3229, 3797, 4029, 29947, 52781, 16065}}, +{11469, 17, 48826, {1, 3, 3, 7, 29, 17, 83, 95, 199, 253, 133, 265, 6723, 6207, 12863, 61311, 21937}}, +{11470, 17, 48828, {1, 3, 7, 13, 19, 61, 89, 151, 249, 597, 1389, 717, 5111, 3285, 6251, 50237, 108703}}, +{11471, 17, 48834, {1, 3, 5, 11, 1, 23, 35, 61, 143, 45, 625, 1693, 4943, 2213, 9317, 7601, 28359}}, +{11472, 17, 48840, {1, 3, 3, 15, 29, 43, 115, 23, 167, 355, 977, 439, 4767, 9967, 22997, 54725, 125637}}, +{11473, 17, 48845, {1, 3, 7, 1, 29, 45, 83, 71, 395, 247, 1, 113, 6393, 12445, 16137, 35125, 102053}}, +{11474, 17, 48858, {1, 1, 1, 7, 17, 55, 17, 159, 33, 237, 207, 1297, 5611, 6023, 17709, 60905, 3533}}, +{11475, 17, 48864, {1, 3, 1, 13, 27, 57, 27, 235, 141, 917, 1655, 659, 939, 559, 2651, 705, 80141}}, +{11476, 17, 48869, {1, 3, 7, 3, 3, 17, 111, 117, 467, 129, 1105, 3457, 2093, 8513, 19941, 22111, 54597}}, +{11477, 17, 48870, {1, 3, 7, 3, 5, 17, 59, 195, 23, 547, 1799, 1427, 391, 4043, 10407, 31055, 38495}}, +{11478, 17, 48879, {1, 1, 1, 7, 21, 9, 71, 33, 209, 773, 1243, 3239, 3763, 15229, 9609, 24395, 56145}}, +{11479, 17, 48887, {1, 3, 5, 13, 13, 45, 71, 91, 23, 553, 665, 1753, 5173, 4355, 14317, 42517, 32307}}, +{11480, 17, 48899, {1, 3, 5, 11, 31, 3, 37, 95, 63, 425, 1611, 2983, 5075, 1375, 14305, 11099, 101203}}, +{11481, 17, 48911, {1, 1, 3, 1, 21, 7, 15, 141, 389, 871, 617, 271, 1037, 13569, 13019, 58899, 54097}}, +{11482, 17, 48920, {1, 3, 7, 1, 13, 25, 21, 251, 467, 373, 1539, 4065, 1871, 791, 26315, 64187, 119455}}, +{11483, 17, 48926, {1, 3, 1, 3, 25, 37, 43, 9, 187, 323, 409, 443, 2861, 14145, 26185, 24049, 109613}}, +{11484, 17, 48929, {1, 1, 3, 7, 21, 61, 3, 81, 445, 673, 1269, 613, 1279, 8209, 22911, 48017, 54181}}, +{11485, 17, 48971, {1, 1, 1, 15, 25, 63, 71, 147, 217, 491, 183, 977, 4967, 3471, 8791, 11843, 68005}}, +{11486, 17, 48974, {1, 1, 1, 5, 25, 43, 13, 237, 57, 919, 1641, 399, 4269, 7357, 3465, 63901, 61329}}, +{11487, 17, 48981, {1, 1, 7, 15, 27, 57, 47, 187, 295, 117, 1223, 2963, 4995, 13279, 25107, 56089, 37293}}, +{11488, 17, 48998, {1, 1, 5, 13, 29, 19, 83, 121, 129, 931, 1933, 1141, 3125, 3321, 22019, 52729, 119643}}, +{11489, 17, 49007, {1, 1, 1, 1, 21, 19, 49, 241, 227, 57, 1919, 113, 6993, 4687, 1043, 5247, 15565}}, +{11490, 17, 49028, {1, 3, 3, 15, 5, 21, 65, 129, 485, 173, 1663, 2419, 4279, 4167, 25827, 28457, 68219}}, +{11491, 17, 49031, {1, 1, 3, 1, 17, 9, 65, 21, 487, 875, 1111, 1679, 6451, 14825, 23931, 16053, 79687}}, +{11492, 17, 49056, {1, 3, 3, 5, 13, 5, 49, 15, 267, 389, 1111, 1505, 5815, 6285, 26075, 167, 70325}}, +{11493, 17, 49065, {1, 1, 3, 11, 5, 15, 57, 171, 407, 497, 1979, 2819, 1267, 6893, 6601, 30971, 24477}}, +{11494, 17, 49079, {1, 1, 1, 15, 7, 5, 69, 181, 195, 847, 1245, 4019, 2469, 1407, 17013, 43437, 16307}}, +{11495, 17, 49083, {1, 3, 1, 11, 15, 17, 115, 197, 215, 35, 1489, 659, 4725, 11339, 30259, 52539, 13365}}, +{11496, 17, 49088, {1, 1, 1, 13, 23, 43, 21, 33, 17, 969, 1321, 2469, 4371, 7685, 6817, 20179, 113483}}, +{11497, 17, 49093, {1, 3, 7, 3, 31, 11, 79, 55, 123, 263, 1061, 2087, 183, 11623, 20703, 60291, 115261}}, +{11498, 17, 49100, {1, 1, 5, 13, 5, 53, 21, 71, 399, 165, 1997, 2667, 7361, 8863, 27859, 17235, 77623}}, +{11499, 17, 49103, {1, 3, 3, 15, 21, 55, 27, 31, 371, 289, 253, 1453, 105, 7035, 14787, 2281, 128359}}, +{11500, 17, 49124, {1, 1, 3, 15, 23, 29, 3, 143, 47, 255, 115, 2741, 6773, 16267, 5975, 3689, 97497}}, +{11501, 17, 49136, {1, 1, 1, 15, 9, 57, 109, 43, 359, 365, 1577, 4091, 7399, 10521, 7983, 56119, 65451}}, +{11502, 17, 49139, {1, 3, 7, 7, 29, 55, 115, 155, 121, 679, 663, 2345, 3765, 4493, 9555, 24043, 41467}}, +{11503, 17, 49142, {1, 1, 3, 1, 19, 55, 67, 255, 355, 701, 2027, 3703, 7839, 1701, 7657, 36429, 36623}}, +{11504, 17, 49145, {1, 3, 5, 5, 29, 7, 31, 123, 21, 901, 1581, 3993, 5105, 9715, 18347, 27415, 19253}}, +{11505, 17, 49146, {1, 3, 5, 3, 3, 53, 121, 105, 51, 577, 157, 2151, 5105, 7855, 8595, 24457, 55931}}, +{11506, 17, 49171, {1, 3, 1, 9, 23, 25, 67, 115, 79, 809, 1215, 943, 1075, 7103, 729, 18791, 115977}}, +{11507, 17, 49187, {1, 3, 1, 13, 3, 57, 105, 161, 277, 393, 1671, 2765, 5781, 13429, 24075, 10931, 50951}}, +{11508, 17, 49190, {1, 3, 5, 9, 19, 61, 9, 227, 455, 541, 721, 2855, 949, 10159, 13801, 48199, 26747}}, +{11509, 17, 49194, {1, 3, 1, 3, 25, 61, 53, 177, 441, 697, 1845, 3573, 6673, 9691, 911, 46387, 64727}}, +{11510, 17, 49196, {1, 1, 1, 11, 7, 13, 95, 221, 455, 967, 869, 883, 6301, 5261, 18401, 35745, 114645}}, +{11511, 17, 49207, {1, 3, 1, 11, 15, 7, 115, 217, 235, 539, 491, 603, 2201, 241, 25445, 29773, 122695}}, +{11512, 17, 49216, {1, 1, 5, 3, 19, 9, 71, 193, 131, 927, 1931, 3981, 7537, 10811, 27285, 45865, 106171}}, +{11513, 17, 49219, {1, 1, 7, 5, 5, 21, 107, 77, 363, 733, 1011, 3259, 5263, 15043, 19153, 32117, 129409}}, +{11514, 17, 49222, {1, 1, 3, 13, 21, 5, 9, 103, 369, 699, 329, 1065, 895, 13211, 19017, 5359, 38335}}, +{11515, 17, 49240, {1, 1, 7, 15, 21, 11, 73, 153, 371, 753, 805, 3519, 5839, 1809, 7201, 8189, 68361}}, +{11516, 17, 49250, {1, 3, 7, 9, 27, 45, 25, 175, 317, 381, 961, 619, 4827, 15161, 19091, 29369, 21097}}, +{11517, 17, 49262, {1, 1, 5, 5, 7, 7, 21, 69, 23, 589, 1413, 653, 911, 13599, 18349, 47307, 64047}}, +{11518, 17, 49276, {1, 1, 1, 13, 27, 23, 87, 249, 135, 727, 375, 3641, 1489, 13053, 5151, 62689, 101347}}, +{11519, 17, 49289, {1, 1, 5, 11, 7, 39, 1, 109, 203, 961, 973, 1181, 2357, 5123, 31481, 58345, 52705}}, +{11520, 17, 49292, {1, 1, 1, 15, 25, 15, 85, 49, 77, 235, 1761, 2731, 4157, 2057, 27587, 30299, 52997}}, +{11521, 17, 49298, {1, 1, 5, 3, 1, 13, 47, 219, 51, 521, 625, 3243, 7093, 10823, 9559, 58191, 95573}}, +{11522, 17, 49319, {1, 3, 5, 13, 27, 63, 13, 7, 167, 909, 1559, 2103, 1807, 943, 28997, 31015, 85407}}, +{11523, 17, 49320, {1, 1, 3, 5, 17, 21, 101, 163, 477, 223, 175, 3435, 7071, 5121, 28015, 33365, 121057}}, +{11524, 17, 49325, {1, 3, 7, 1, 11, 35, 111, 41, 261, 45, 1009, 2827, 4019, 5029, 22289, 20235, 13481}}, +{11525, 17, 49333, {1, 3, 5, 5, 15, 41, 109, 7, 329, 447, 65, 1317, 6169, 15947, 31191, 47091, 60643}}, +{11526, 17, 49340, {1, 3, 7, 7, 21, 13, 29, 113, 511, 407, 1211, 2065, 455, 10049, 5745, 48589, 48669}}, +{11527, 17, 49343, {1, 1, 5, 5, 21, 45, 89, 19, 279, 165, 1897, 957, 8045, 565, 4959, 37173, 100773}}, +{11528, 17, 49352, {1, 3, 1, 15, 9, 17, 99, 143, 489, 633, 1721, 1255, 3655, 10083, 29079, 17109, 10035}}, +{11529, 17, 49363, {1, 1, 3, 3, 3, 23, 47, 9, 255, 169, 1103, 1799, 7899, 7673, 19259, 61919, 112831}}, +{11530, 17, 49375, {1, 1, 5, 5, 31, 37, 83, 229, 93, 575, 1589, 2353, 185, 7783, 9413, 9617, 123197}}, +{11531, 17, 49391, {1, 3, 5, 7, 31, 7, 113, 255, 231, 309, 1215, 737, 3635, 14631, 28737, 45127, 111399}}, +{11532, 17, 49405, {1, 1, 7, 1, 11, 5, 55, 235, 369, 983, 873, 655, 6277, 11425, 11191, 38231, 88941}}, +{11533, 17, 49413, {1, 3, 1, 9, 3, 1, 119, 93, 245, 167, 853, 2543, 203, 5313, 14129, 6283, 107117}}, +{11534, 17, 49420, {1, 3, 3, 13, 21, 33, 59, 167, 435, 163, 1873, 3341, 2895, 13205, 14147, 19567, 100127}}, +{11535, 17, 49425, {1, 1, 5, 9, 7, 15, 39, 81, 475, 511, 1585, 63, 6861, 10055, 3577, 48999, 80979}}, +{11536, 17, 49431, {1, 1, 5, 13, 21, 29, 17, 3, 499, 739, 1257, 2925, 8179, 13367, 18879, 19917, 109907}}, +{11537, 17, 49432, {1, 3, 7, 13, 15, 57, 109, 19, 265, 579, 233, 2507, 5059, 14713, 9549, 41915, 56199}}, +{11538, 17, 49441, {1, 3, 3, 5, 31, 25, 85, 163, 187, 795, 1597, 1963, 473, 4673, 4555, 51365, 73817}}, +{11539, 17, 49456, {1, 3, 3, 13, 25, 35, 71, 251, 33, 971, 235, 1919, 6705, 14657, 23417, 56377, 21071}}, +{11540, 17, 49476, {1, 3, 3, 11, 3, 29, 85, 193, 11, 831, 29, 1233, 6199, 11991, 9205, 3323, 23749}}, +{11541, 17, 49479, {1, 3, 7, 7, 11, 15, 1, 17, 87, 665, 1593, 2331, 845, 7821, 89, 7057, 114975}}, +{11542, 17, 49504, {1, 1, 5, 11, 9, 37, 39, 79, 455, 397, 1431, 1541, 7629, 15133, 21395, 35619, 123801}}, +{11543, 17, 49514, {1, 1, 1, 7, 11, 59, 67, 45, 169, 869, 1547, 2947, 3025, 12967, 29927, 22181, 44783}}, +{11544, 17, 49528, {1, 1, 5, 7, 3, 57, 123, 253, 369, 537, 83, 1147, 3469, 9775, 14137, 38899, 101143}}, +{11545, 17, 49543, {1, 3, 5, 3, 19, 35, 11, 215, 343, 677, 1873, 1211, 3129, 9017, 29595, 1291, 39397}}, +{11546, 17, 49544, {1, 1, 7, 3, 25, 7, 61, 229, 187, 839, 747, 3347, 4321, 13201, 19665, 56951, 85273}}, +{11547, 17, 49550, {1, 1, 1, 1, 11, 5, 51, 41, 227, 895, 553, 2673, 6581, 6583, 15429, 33211, 100599}}, +{11548, 17, 49558, {1, 3, 3, 5, 21, 27, 91, 65, 213, 341, 723, 567, 4761, 11549, 15041, 23079, 55245}}, +{11549, 17, 49568, {1, 1, 3, 1, 15, 43, 83, 57, 473, 453, 1351, 2055, 5769, 3887, 29481, 57915, 14017}}, +{11550, 17, 49578, {1, 3, 3, 3, 21, 29, 121, 137, 99, 527, 711, 1169, 7869, 6245, 25423, 38989, 87019}}, +{11551, 17, 49600, {1, 1, 5, 11, 9, 61, 125, 7, 207, 245, 1019, 635, 7099, 13133, 11809, 56705, 18801}}, +{11552, 17, 49612, {1, 3, 7, 9, 15, 31, 37, 205, 439, 651, 255, 971, 4311, 7137, 11821, 45041, 31081}}, +{11553, 17, 49633, {1, 1, 5, 9, 7, 55, 51, 147, 371, 881, 359, 3021, 1141, 14515, 14605, 64067, 98231}}, +{11554, 17, 49634, {1, 3, 1, 3, 29, 9, 109, 21, 437, 321, 753, 3227, 2929, 14787, 2451, 54331, 115921}}, +{11555, 17, 49636, {1, 3, 5, 7, 1, 29, 13, 167, 89, 185, 409, 209, 6625, 5237, 22513, 2095, 26427}}, +{11556, 17, 49643, {1, 1, 1, 3, 3, 31, 25, 145, 27, 345, 957, 823, 7873, 9469, 29115, 12455, 39447}}, +{11557, 17, 49654, {1, 1, 3, 3, 31, 15, 99, 181, 247, 165, 441, 59, 1181, 2851, 1337, 4929, 31079}}, +{11558, 17, 49657, {1, 1, 3, 11, 3, 47, 41, 53, 41, 435, 945, 3839, 8083, 4927, 26919, 24689, 61015}}, +{11559, 17, 49663, {1, 3, 3, 9, 7, 21, 121, 233, 493, 271, 549, 1627, 5861, 377, 20751, 52927, 3649}}, +{11560, 17, 49667, {1, 1, 1, 7, 15, 49, 29, 149, 57, 513, 873, 93, 337, 12559, 24287, 27771, 28207}}, +{11561, 17, 49693, {1, 1, 5, 7, 7, 7, 75, 161, 419, 601, 55, 2599, 5325, 12419, 26755, 5103, 10231}}, +{11562, 17, 49700, {1, 3, 5, 15, 3, 55, 67, 183, 7, 371, 141, 4093, 4567, 13971, 3327, 20701, 78819}}, +{11563, 17, 49703, {1, 1, 1, 13, 15, 41, 45, 29, 375, 235, 1985, 1051, 5863, 7043, 11143, 59381, 55007}}, +{11564, 17, 49712, {1, 3, 1, 15, 15, 29, 15, 101, 395, 39, 1839, 1689, 429, 405, 29337, 28573, 10599}}, +{11565, 17, 49717, {1, 3, 3, 11, 7, 5, 11, 153, 235, 227, 561, 1037, 2283, 6657, 6729, 17939, 29809}}, +{11566, 17, 49718, {1, 1, 1, 5, 15, 59, 33, 69, 275, 447, 661, 2071, 5811, 10463, 32707, 64503, 106313}}, +{11567, 17, 49721, {1, 1, 7, 1, 21, 53, 21, 235, 497, 309, 1207, 1613, 7739, 12785, 7743, 37671, 29197}}, +{11568, 17, 49727, {1, 3, 5, 9, 9, 51, 33, 105, 275, 917, 1911, 3607, 865, 899, 5405, 59593, 113965}}, +{11569, 17, 49730, {1, 3, 1, 7, 7, 63, 51, 83, 481, 347, 1323, 3549, 2873, 12527, 16515, 61077, 63239}}, +{11570, 17, 49735, {1, 1, 1, 1, 13, 21, 87, 139, 461, 215, 1173, 1197, 2091, 11247, 25647, 23443, 105761}}, +{11571, 17, 49739, {1, 1, 1, 1, 27, 33, 21, 27, 365, 75, 351, 2111, 3897, 13325, 4821, 41355, 95681}}, +{11572, 17, 49747, {1, 3, 5, 5, 15, 41, 15, 93, 397, 461, 1993, 321, 4375, 1205, 18417, 37549, 30181}}, +{11573, 17, 49765, {1, 3, 5, 15, 1, 49, 101, 129, 215, 773, 1265, 2245, 2517, 16261, 32149, 3545, 27631}}, +{11574, 17, 49770, {1, 1, 1, 15, 5, 5, 3, 127, 265, 721, 875, 3117, 2177, 7843, 15871, 22687, 89347}}, +{11575, 17, 49772, {1, 3, 7, 11, 29, 23, 69, 41, 155, 257, 563, 509, 6105, 9169, 18341, 25373, 127397}}, +{11576, 17, 49777, {1, 1, 5, 13, 31, 23, 65, 131, 131, 61, 1979, 2737, 3793, 3617, 14385, 189, 84567}}, +{11577, 17, 49789, {1, 1, 1, 13, 21, 33, 43, 97, 83, 903, 1971, 3209, 5391, 7703, 13795, 3895, 78045}}, +{11578, 17, 49817, {1, 3, 3, 5, 17, 53, 113, 237, 269, 83, 589, 4029, 3309, 14531, 11359, 25803, 25525}}, +{11579, 17, 49829, {1, 1, 7, 1, 21, 35, 43, 73, 251, 705, 1737, 3341, 1581, 9663, 6251, 16329, 44491}}, +{11580, 17, 49839, {1, 3, 3, 7, 17, 5, 65, 19, 203, 717, 807, 1759, 6907, 15801, 30369, 2655, 69565}}, +{11581, 17, 49844, {1, 1, 1, 1, 31, 21, 75, 221, 115, 395, 1495, 2739, 1745, 5981, 28045, 56581, 130695}}, +{11582, 17, 49851, {1, 3, 1, 9, 27, 5, 113, 123, 367, 701, 647, 117, 2389, 12309, 1747, 23421, 21583}}, +{11583, 17, 49854, {1, 1, 1, 15, 27, 57, 95, 81, 347, 765, 1435, 1727, 153, 6051, 27085, 62787, 40903}}, +{11584, 17, 49874, {1, 1, 3, 11, 23, 29, 23, 29, 169, 653, 835, 357, 5113, 5293, 11779, 23567, 64569}}, +{11585, 17, 49883, {1, 1, 7, 13, 31, 7, 101, 235, 99, 247, 1267, 509, 3927, 14317, 3217, 24389, 34215}}, +{11586, 17, 49886, {1, 3, 3, 5, 21, 27, 33, 229, 33, 551, 815, 3551, 4261, 13325, 31117, 40689, 66549}}, +{11587, 17, 49892, {1, 3, 7, 1, 23, 1, 99, 11, 139, 569, 365, 1233, 3281, 7817, 8833, 47699, 97825}}, +{11588, 17, 49895, {1, 1, 3, 1, 19, 39, 19, 151, 25, 73, 1271, 1435, 3109, 2571, 9191, 48257, 61001}}, +{11589, 17, 49914, {1, 3, 7, 1, 23, 63, 1, 115, 159, 943, 1637, 1443, 809, 10705, 12563, 63111, 96343}}, +{11590, 17, 49931, {1, 1, 7, 15, 5, 17, 65, 157, 45, 199, 371, 2497, 4367, 9109, 31955, 64253, 69279}}, +{11591, 17, 49933, {1, 3, 3, 15, 29, 45, 103, 183, 87, 543, 97, 1545, 2719, 5619, 28871, 4049, 111825}}, +{11592, 17, 49934, {1, 1, 5, 7, 27, 63, 65, 241, 103, 483, 579, 3589, 5673, 13283, 24193, 31993, 72713}}, +{11593, 17, 49941, {1, 3, 7, 9, 21, 35, 59, 183, 459, 211, 753, 3941, 5389, 10535, 2895, 44307, 26577}}, +{11594, 17, 49952, {1, 3, 1, 3, 9, 11, 15, 141, 159, 853, 1975, 4027, 8053, 16129, 32687, 29117, 67507}}, +{11595, 17, 49967, {1, 3, 3, 1, 19, 51, 55, 167, 85, 869, 437, 457, 7879, 2097, 4403, 2139, 10589}}, +{11596, 17, 49969, {1, 3, 3, 15, 19, 33, 63, 229, 197, 269, 1189, 317, 5087, 3147, 787, 64317, 43293}}, +{11597, 17, 49972, {1, 3, 5, 11, 25, 25, 121, 37, 371, 117, 1683, 2921, 671, 11353, 32273, 57597, 56901}}, +{11598, 17, 49976, {1, 3, 7, 7, 9, 37, 91, 159, 195, 1, 77, 2085, 985, 9999, 5639, 25041, 66393}}, +{11599, 17, 49979, {1, 1, 7, 5, 11, 17, 67, 21, 301, 971, 591, 3809, 4795, 12301, 16977, 27495, 98539}}, +{11600, 17, 49999, {1, 3, 1, 9, 13, 53, 83, 205, 111, 609, 631, 23, 1781, 15401, 1563, 34367, 40345}}, +{11601, 17, 50008, {1, 3, 7, 1, 31, 23, 101, 47, 55, 905, 953, 733, 5173, 5937, 17703, 31077, 49707}}, +{11602, 17, 50030, {1, 3, 5, 3, 5, 3, 127, 171, 511, 289, 685, 1157, 6521, 3301, 3017, 58857, 55289}}, +{11603, 17, 50041, {1, 1, 5, 1, 1, 29, 59, 7, 423, 83, 797, 2633, 2015, 1657, 7575, 39819, 181}}, +{11604, 17, 50042, {1, 3, 5, 15, 25, 27, 39, 99, 83, 381, 401, 1033, 867, 15645, 28643, 34917, 53215}}, +{11605, 17, 50044, {1, 3, 5, 15, 17, 1, 67, 63, 355, 841, 681, 2807, 531, 15295, 7859, 64031, 121519}}, +{11606, 17, 50057, {1, 3, 1, 5, 21, 57, 63, 247, 467, 101, 129, 2627, 4763, 479, 11145, 8861, 69803}}, +{11607, 17, 50060, {1, 3, 1, 15, 13, 13, 77, 39, 297, 401, 1653, 659, 3909, 13179, 10477, 45967, 1665}}, +{11608, 17, 50075, {1, 3, 7, 5, 29, 17, 35, 157, 309, 747, 1717, 1279, 6103, 3509, 17499, 22989, 43157}}, +{11609, 17, 50077, {1, 1, 1, 7, 11, 51, 55, 119, 145, 505, 179, 3979, 1237, 12801, 15921, 13561, 69161}}, +{11610, 17, 50091, {1, 1, 5, 7, 13, 9, 73, 203, 247, 257, 1607, 1183, 6237, 12327, 5059, 51645, 88781}}, +{11611, 17, 50096, {1, 3, 5, 9, 1, 9, 27, 59, 235, 81, 689, 2457, 893, 6107, 27643, 40145, 2329}}, +{11612, 17, 50099, {1, 1, 1, 11, 11, 19, 65, 63, 27, 513, 1473, 2955, 8037, 4991, 22035, 41965, 82589}}, +{11613, 17, 50106, {1, 3, 1, 1, 9, 53, 97, 95, 247, 379, 259, 2789, 1433, 15299, 18309, 51813, 63271}}, +{11614, 17, 50116, {1, 1, 5, 1, 11, 41, 69, 193, 391, 27, 1511, 1575, 1161, 14741, 25193, 31149, 79573}}, +{11615, 17, 50133, {1, 3, 7, 15, 19, 31, 101, 9, 111, 427, 531, 1335, 767, 15075, 28373, 54015, 108021}}, +{11616, 17, 50144, {1, 3, 1, 3, 29, 17, 83, 163, 179, 703, 2027, 3027, 5267, 16111, 23929, 9653, 38633}}, +{11617, 17, 50153, {1, 3, 5, 9, 3, 7, 111, 1, 311, 143, 1563, 2605, 301, 2447, 5009, 63767, 37529}}, +{11618, 17, 50154, {1, 3, 5, 5, 23, 23, 97, 11, 475, 741, 1385, 2491, 1717, 14587, 6289, 27651, 21873}}, +{11619, 17, 50168, {1, 1, 5, 1, 31, 31, 119, 93, 209, 861, 1591, 1233, 3469, 9799, 5969, 35965, 110841}}, +{11620, 17, 50179, {1, 1, 5, 13, 19, 31, 69, 107, 423, 651, 757, 665, 1297, 9985, 14983, 3153, 26425}}, +{11621, 17, 50188, {1, 1, 5, 3, 23, 5, 89, 77, 461, 799, 683, 2885, 845, 12847, 26721, 13145, 88689}}, +{11622, 17, 50194, {1, 1, 3, 3, 19, 3, 41, 71, 247, 293, 1047, 2349, 6815, 2413, 13683, 51421, 110737}}, +{11623, 17, 50203, {1, 3, 3, 9, 19, 51, 91, 193, 447, 305, 751, 1757, 1547, 12683, 4645, 39767, 6433}}, +{11624, 17, 50212, {1, 1, 7, 1, 11, 51, 83, 175, 461, 259, 1337, 175, 877, 15895, 22487, 8079, 71291}}, +{11625, 17, 50216, {1, 1, 1, 11, 13, 23, 19, 69, 285, 629, 563, 2433, 815, 4851, 10617, 59949, 59119}}, +{11626, 17, 50222, {1, 3, 5, 5, 19, 49, 47, 27, 343, 579, 197, 35, 7051, 2441, 30091, 9645, 101899}}, +{11627, 17, 50229, {1, 1, 3, 3, 21, 25, 125, 215, 159, 259, 1915, 2193, 4213, 16157, 8665, 10967, 112793}}, +{11628, 17, 50230, {1, 1, 5, 11, 29, 11, 53, 45, 121, 533, 257, 1749, 6311, 7715, 12037, 12003, 38987}}, +{11629, 17, 50234, {1, 3, 1, 11, 25, 31, 93, 191, 231, 801, 361, 1275, 5031, 7927, 26333, 39795, 45875}}, +{11630, 17, 50251, {1, 1, 5, 1, 7, 37, 117, 35, 257, 225, 1769, 1805, 1593, 1507, 27741, 31561, 52107}}, +{11631, 17, 50253, {1, 1, 3, 3, 27, 23, 55, 5, 137, 677, 459, 2821, 1331, 5845, 17751, 17557, 60495}}, +{11632, 17, 50262, {1, 1, 7, 7, 5, 47, 85, 17, 287, 757, 2013, 2233, 2975, 13769, 23199, 32117, 84429}}, +{11633, 17, 50266, {1, 3, 3, 11, 1, 15, 39, 133, 79, 915, 147, 1489, 2319, 13715, 31317, 46785, 64147}}, +{11634, 17, 50272, {1, 1, 3, 11, 1, 25, 83, 69, 395, 537, 895, 565, 2781, 12685, 7831, 36369, 27871}}, +{11635, 17, 50287, {1, 1, 1, 1, 13, 17, 59, 179, 509, 979, 315, 3495, 1773, 16375, 27873, 18065, 20285}}, +{11636, 17, 50295, {1, 1, 5, 1, 27, 31, 39, 251, 121, 899, 751, 1603, 7501, 425, 25791, 35407, 110405}}, +{11637, 17, 50305, {1, 1, 7, 11, 11, 3, 107, 247, 79, 349, 405, 3469, 2201, 8007, 22891, 7901, 11413}}, +{11638, 17, 50306, {1, 1, 1, 11, 15, 55, 121, 151, 127, 239, 115, 611, 6191, 15435, 19831, 64745, 110473}}, +{11639, 17, 50311, {1, 1, 7, 1, 21, 25, 57, 11, 31, 823, 1855, 2337, 7655, 10845, 22167, 36977, 94265}}, +{11640, 17, 50320, {1, 3, 5, 1, 31, 11, 117, 97, 341, 953, 1499, 2487, 559, 8609, 6321, 20669, 28945}}, +{11641, 17, 50323, {1, 3, 7, 1, 5, 27, 15, 161, 83, 139, 75, 3645, 5227, 16199, 1833, 21767, 67579}}, +{11642, 17, 50325, {1, 1, 7, 5, 31, 35, 75, 115, 451, 773, 1987, 1069, 651, 961, 16317, 18391, 56519}}, +{11643, 17, 50339, {1, 1, 1, 1, 31, 11, 23, 255, 215, 251, 867, 2381, 2351, 13189, 17705, 33569, 102361}}, +{11644, 17, 50356, {1, 3, 7, 1, 17, 49, 49, 125, 445, 947, 1985, 2113, 3025, 6277, 1981, 33329, 99413}}, +{11645, 17, 50365, {1, 3, 3, 3, 27, 7, 59, 109, 37, 777, 1359, 2157, 3185, 7317, 30887, 10499, 126563}}, +{11646, 17, 50366, {1, 3, 3, 9, 27, 5, 99, 167, 457, 363, 2031, 1805, 4661, 8695, 4667, 61129, 81143}}, +{11647, 17, 50368, {1, 1, 5, 13, 5, 47, 95, 249, 289, 631, 1739, 2947, 7169, 13019, 10429, 16197, 11539}}, +{11648, 17, 50377, {1, 3, 7, 15, 27, 45, 93, 131, 269, 835, 399, 1133, 6509, 1279, 3635, 17977, 38667}}, +{11649, 17, 50386, {1, 1, 5, 3, 17, 51, 1, 77, 105, 237, 995, 2643, 6921, 6707, 30129, 1543, 94501}}, +{11650, 17, 50397, {1, 1, 1, 7, 29, 1, 117, 33, 141, 805, 1553, 3943, 45, 8911, 24191, 45191, 36525}}, +{11651, 17, 50411, {1, 1, 7, 7, 31, 21, 97, 29, 179, 345, 1059, 701, 7709, 15831, 22923, 57233, 58961}}, +{11652, 17, 50414, {1, 1, 3, 15, 15, 5, 85, 227, 13, 351, 1167, 3283, 6833, 565, 21019, 53249, 4639}}, +{11653, 17, 50425, {1, 3, 3, 5, 27, 1, 5, 89, 101, 295, 481, 2397, 1459, 3729, 3703, 25109, 69237}}, +{11654, 17, 50451, {1, 3, 7, 13, 31, 37, 69, 147, 505, 487, 1701, 1145, 2061, 10067, 18269, 13049, 92091}}, +{11655, 17, 50463, {1, 3, 3, 1, 29, 39, 33, 199, 499, 377, 1081, 3787, 4843, 16287, 23397, 19083, 91381}}, +{11656, 17, 50467, {1, 1, 1, 13, 21, 61, 121, 251, 511, 615, 625, 2245, 5951, 16165, 2155, 37301, 68319}}, +{11657, 17, 50473, {1, 1, 1, 15, 19, 35, 57, 99, 1, 97, 1177, 3109, 7213, 5447, 25251, 24803, 107449}}, +{11658, 17, 50487, {1, 3, 1, 11, 11, 59, 95, 135, 329, 931, 843, 2847, 463, 10725, 3933, 32325, 44545}}, +{11659, 17, 50501, {1, 1, 7, 13, 13, 57, 29, 175, 11, 701, 231, 2907, 5555, 16159, 1249, 38049, 40115}}, +{11660, 17, 50505, {1, 1, 5, 15, 23, 37, 47, 221, 465, 631, 57, 1189, 2083, 6561, 10725, 8015, 21231}}, +{11661, 17, 50514, {1, 3, 7, 5, 9, 25, 31, 47, 139, 639, 999, 2909, 39, 16227, 16967, 30555, 125541}}, +{11662, 17, 50516, {1, 3, 3, 9, 5, 3, 9, 9, 43, 999, 159, 3063, 3661, 7089, 28929, 55305, 105521}}, +{11663, 17, 50536, {1, 3, 1, 11, 17, 7, 3, 57, 457, 753, 135, 3721, 1111, 7267, 12603, 50511, 85433}}, +{11664, 17, 50547, {1, 3, 5, 1, 27, 3, 107, 187, 247, 891, 1311, 423, 1767, 14769, 22119, 36225, 94267}}, +{11665, 17, 50566, {1, 3, 5, 15, 1, 13, 65, 35, 435, 557, 1755, 1343, 2647, 179, 7781, 62903, 18741}}, +{11666, 17, 50572, {1, 1, 7, 15, 29, 57, 63, 227, 407, 163, 1207, 2717, 2731, 1737, 6379, 14937, 46683}}, +{11667, 17, 50583, {1, 1, 1, 9, 25, 35, 93, 1, 77, 677, 875, 3787, 3075, 14033, 23017, 3487, 14999}}, +{11668, 17, 50593, {1, 3, 3, 9, 3, 45, 115, 61, 437, 823, 1401, 459, 301, 5519, 31003, 64499, 1757}}, +{11669, 17, 50599, {1, 3, 1, 11, 23, 37, 69, 215, 197, 961, 1501, 2953, 3679, 6775, 24679, 44215, 52357}}, +{11670, 17, 50613, {1, 3, 1, 15, 29, 23, 1, 133, 451, 677, 687, 1269, 5987, 11975, 11929, 63691, 48683}}, +{11671, 17, 50617, {1, 1, 1, 7, 13, 31, 13, 71, 355, 345, 1193, 3421, 7601, 7413, 6719, 28681, 97605}}, +{11672, 17, 50618, {1, 1, 5, 13, 23, 3, 15, 253, 109, 17, 341, 471, 1131, 14901, 31783, 41369, 64139}}, +{11673, 17, 50620, {1, 1, 3, 1, 25, 25, 85, 157, 443, 83, 269, 3789, 7977, 7783, 28433, 30563, 82805}}, +{11674, 17, 50628, {1, 1, 7, 5, 3, 11, 83, 63, 253, 349, 217, 2733, 4183, 2759, 7617, 41749, 14015}}, +{11675, 17, 50638, {1, 1, 5, 7, 7, 7, 91, 201, 449, 247, 889, 3829, 3529, 14253, 24091, 33521, 6049}}, +{11676, 17, 50652, {1, 1, 3, 7, 25, 7, 123, 161, 227, 965, 511, 619, 4359, 11833, 12859, 26091, 3867}}, +{11677, 17, 50655, {1, 1, 7, 9, 5, 41, 71, 111, 95, 261, 1809, 3835, 7625, 12085, 28885, 64829, 48981}}, +{11678, 17, 50662, {1, 1, 5, 3, 13, 55, 57, 79, 457, 785, 653, 1429, 3879, 13559, 3953, 18205, 5777}}, +{11679, 17, 50665, {1, 3, 5, 9, 23, 25, 107, 255, 151, 191, 119, 3367, 1081, 12691, 3575, 38171, 42573}}, +{11680, 17, 50673, {1, 1, 7, 15, 3, 23, 115, 233, 265, 187, 1961, 1303, 5101, 1035, 6803, 14557, 4527}}, +{11681, 17, 50683, {1, 1, 3, 11, 19, 37, 45, 167, 17, 793, 1361, 3571, 5889, 14421, 20453, 5093, 59927}}, +{11682, 17, 50689, {1, 1, 7, 15, 3, 53, 1, 11, 159, 389, 171, 2351, 7189, 3109, 1541, 53595, 24247}}, +{11683, 17, 50690, {1, 1, 7, 1, 7, 43, 75, 175, 253, 687, 1811, 3277, 447, 8711, 14281, 53265, 7379}}, +{11684, 17, 50692, {1, 1, 5, 3, 21, 45, 113, 25, 309, 31, 1765, 305, 1423, 115, 26421, 50267, 122115}}, +{11685, 17, 50696, {1, 3, 5, 13, 15, 47, 17, 17, 445, 775, 243, 3959, 7263, 9375, 12017, 57399, 58203}}, +{11686, 17, 50704, {1, 3, 3, 1, 31, 37, 37, 213, 125, 929, 243, 1011, 2841, 4499, 16961, 12639, 23381}}, +{11687, 17, 50713, {1, 3, 1, 3, 7, 53, 31, 165, 311, 239, 731, 1759, 1769, 203, 23201, 20267, 33381}}, +{11688, 17, 50719, {1, 3, 3, 11, 1, 1, 73, 57, 497, 693, 693, 861, 5587, 16307, 8559, 28785, 91147}}, +{11689, 17, 50738, {1, 3, 1, 3, 11, 61, 11, 241, 473, 479, 1831, 1771, 25, 10217, 32683, 40165, 98433}}, +{11690, 17, 50757, {1, 1, 5, 3, 17, 51, 39, 27, 189, 631, 689, 2849, 1849, 9143, 19263, 32729, 23031}}, +{11691, 17, 50761, {1, 1, 5, 9, 15, 39, 103, 83, 485, 689, 1561, 55, 5219, 12069, 32225, 7781, 114299}}, +{11692, 17, 50764, {1, 1, 1, 1, 31, 49, 71, 145, 485, 907, 1551, 3931, 4081, 2159, 24747, 6953, 15887}}, +{11693, 17, 50770, {1, 1, 3, 7, 27, 61, 57, 153, 15, 881, 271, 267, 5827, 7625, 18179, 3769, 42211}}, +{11694, 17, 50776, {1, 3, 1, 3, 21, 49, 65, 177, 341, 851, 1825, 3347, 113, 8077, 1117, 9463, 115821}}, +{11695, 17, 50803, {1, 3, 5, 11, 27, 17, 75, 35, 475, 389, 313, 2187, 7005, 911, 21921, 10979, 13705}}, +{11696, 17, 50805, {1, 1, 5, 9, 1, 49, 15, 21, 163, 355, 193, 3473, 4451, 5325, 28343, 251, 125963}}, +{11697, 17, 50806, {1, 3, 7, 1, 9, 63, 9, 129, 453, 887, 1841, 597, 1989, 14755, 7847, 7581, 251}}, +{11698, 17, 50816, {1, 3, 7, 13, 31, 15, 123, 3, 427, 101, 1039, 1355, 3653, 2871, 28937, 31243, 108827}}, +{11699, 17, 50826, {1, 3, 7, 13, 3, 17, 71, 243, 145, 747, 1933, 1105, 455, 6355, 20321, 60075, 31575}}, +{11700, 17, 50840, {1, 3, 5, 5, 11, 25, 95, 85, 461, 459, 313, 173, 1413, 15761, 31481, 63793, 29047}}, +{11701, 17, 50845, {1, 3, 7, 7, 3, 5, 3, 95, 107, 995, 1203, 2965, 2419, 5325, 17667, 40205, 91059}}, +{11702, 17, 50852, {1, 1, 3, 9, 25, 3, 113, 79, 359, 69, 93, 1539, 483, 12701, 19075, 35021, 17929}}, +{11703, 17, 50855, {1, 3, 5, 1, 31, 35, 67, 97, 105, 381, 973, 1355, 3901, 3847, 12343, 64309, 29835}}, +{11704, 17, 50862, {1, 3, 7, 1, 11, 33, 117, 237, 449, 101, 317, 23, 5157, 8187, 28839, 29465, 97485}}, +{11705, 17, 50876, {1, 3, 5, 5, 1, 49, 93, 71, 89, 607, 1143, 3271, 5825, 8529, 18479, 23859, 40571}}, +{11706, 17, 50879, {1, 3, 1, 3, 13, 35, 79, 9, 315, 943, 1199, 1521, 2023, 11745, 8273, 27643, 89545}}, +{11707, 17, 50882, {1, 3, 5, 1, 21, 3, 15, 111, 19, 895, 1539, 3331, 6741, 9087, 5231, 13435, 60645}}, +{11708, 17, 50894, {1, 3, 1, 9, 25, 9, 109, 253, 263, 425, 915, 1955, 659, 6249, 11803, 34523, 22645}}, +{11709, 17, 50899, {1, 1, 1, 9, 15, 23, 13, 79, 369, 689, 565, 743, 3897, 8837, 13753, 17213, 86801}}, +{11710, 17, 50905, {1, 1, 1, 5, 31, 27, 111, 231, 25, 617, 897, 1325, 4885, 5731, 2027, 34639, 67863}}, +{11711, 17, 50924, {1, 1, 3, 13, 1, 9, 29, 23, 95, 113, 1035, 2729, 6555, 335, 24795, 35387, 31301}}, +{11712, 17, 50936, {1, 1, 1, 7, 3, 53, 91, 143, 167, 773, 207, 31, 4993, 7953, 26997, 40031, 113939}}, +{11713, 17, 50944, {1, 1, 3, 5, 17, 43, 121, 231, 411, 575, 1621, 3079, 535, 3313, 19443, 58271, 54207}}, +{11714, 17, 50973, {1, 1, 1, 7, 11, 41, 61, 81, 97, 91, 1987, 981, 3745, 819, 23785, 48331, 63761}}, +{11715, 17, 50974, {1, 1, 5, 13, 7, 29, 25, 73, 355, 669, 241, 65, 2249, 5551, 5217, 58573, 34049}}, +{11716, 17, 51002, {1, 1, 7, 11, 1, 45, 125, 107, 127, 639, 1989, 2727, 2103, 8985, 30249, 40037, 40931}}, +{11717, 17, 51007, {1, 1, 5, 13, 21, 59, 99, 131, 359, 615, 665, 577, 2559, 3555, 11355, 26213, 76427}}, +{11718, 17, 51009, {1, 3, 3, 1, 19, 9, 85, 111, 381, 661, 561, 3419, 1355, 8473, 329, 4989, 9087}}, +{11719, 17, 51029, {1, 1, 7, 5, 11, 23, 33, 95, 343, 9, 1579, 2663, 6245, 267, 7187, 25381, 103181}}, +{11720, 17, 51036, {1, 1, 7, 11, 23, 7, 113, 49, 89, 587, 1221, 409, 873, 15531, 2721, 44519, 25349}}, +{11721, 17, 51063, {1, 3, 3, 1, 17, 17, 45, 239, 453, 639, 1433, 2829, 6009, 12447, 9393, 59979, 93343}}, +{11722, 17, 51067, {1, 1, 3, 15, 19, 61, 125, 101, 219, 327, 1551, 1623, 951, 8379, 21009, 64089, 21891}}, +{11723, 17, 51070, {1, 1, 5, 7, 23, 5, 111, 43, 57, 71, 407, 4027, 4869, 12033, 19941, 51969, 120115}}, +{11724, 17, 51074, {1, 3, 7, 15, 17, 49, 31, 145, 185, 169, 1559, 4011, 5293, 7559, 23487, 12213, 2757}}, +{11725, 17, 51079, {1, 3, 7, 3, 3, 59, 119, 3, 509, 539, 1623, 539, 1405, 3913, 213, 30293, 68497}}, +{11726, 17, 51083, {1, 1, 1, 9, 15, 43, 67, 171, 397, 233, 379, 1681, 6877, 9169, 19667, 1971, 115347}}, +{11727, 17, 51093, {1, 1, 5, 15, 1, 45, 25, 133, 99, 181, 1825, 3485, 5633, 4629, 30181, 15761, 87161}}, +{11728, 17, 51094, {1, 1, 5, 3, 5, 55, 97, 117, 303, 591, 733, 3631, 4305, 169, 5361, 64491, 71793}}, +{11729, 17, 51124, {1, 1, 5, 11, 19, 9, 5, 147, 223, 51, 1763, 3899, 7393, 8107, 19619, 60509, 61427}}, +{11730, 17, 51131, {1, 1, 1, 15, 15, 3, 103, 15, 423, 649, 613, 1387, 6229, 4147, 17517, 225, 35697}}, +{11731, 17, 51151, {1, 3, 1, 3, 21, 57, 77, 193, 203, 649, 631, 3753, 4259, 3983, 27707, 33623, 83857}}, +{11732, 17, 51153, {1, 3, 3, 5, 11, 37, 95, 201, 83, 643, 1639, 153, 7683, 15249, 23859, 27021, 43321}}, +{11733, 17, 51156, {1, 3, 5, 13, 23, 31, 69, 215, 303, 433, 1325, 1013, 2903, 12659, 3813, 34497, 59651}}, +{11734, 17, 51165, {1, 3, 1, 9, 15, 39, 113, 253, 173, 393, 19, 2343, 2939, 8871, 29741, 2141, 121675}}, +{11735, 17, 51175, {1, 1, 7, 9, 7, 9, 91, 211, 169, 299, 507, 2849, 1321, 15397, 23949, 32387, 108691}}, +{11736, 17, 51184, {1, 1, 7, 13, 1, 21, 119, 127, 229, 253, 39, 323, 1831, 121, 17385, 45511, 43743}}, +{11737, 17, 51187, {1, 1, 1, 15, 25, 25, 97, 209, 375, 945, 1343, 2205, 1701, 13085, 25547, 55555, 129395}}, +{11738, 17, 51203, {1, 1, 1, 5, 31, 25, 91, 255, 163, 169, 703, 1607, 4731, 7413, 10013, 10925, 109151}}, +{11739, 17, 51220, {1, 3, 3, 9, 15, 47, 71, 219, 9, 37, 231, 3227, 3447, 8129, 23421, 30113, 120725}}, +{11740, 17, 51224, {1, 3, 3, 11, 15, 47, 93, 203, 299, 865, 151, 3999, 1245, 8487, 13355, 27373, 93583}}, +{11741, 17, 51233, {1, 3, 7, 5, 13, 7, 97, 81, 271, 95, 513, 365, 5039, 403, 5285, 29475, 129347}}, +{11742, 17, 51234, {1, 1, 7, 7, 9, 27, 25, 207, 161, 785, 1453, 3031, 763, 2313, 29347, 61457, 52561}}, +{11743, 17, 51239, {1, 3, 3, 11, 25, 25, 39, 61, 165, 803, 1435, 3643, 299, 13751, 24239, 53955, 94889}}, +{11744, 17, 51246, {1, 3, 5, 9, 9, 13, 63, 221, 123, 947, 905, 913, 953, 7429, 25409, 43017, 2217}}, +{11745, 17, 51248, {1, 1, 3, 3, 31, 19, 107, 211, 503, 675, 1921, 3027, 1273, 5699, 20683, 55605, 119803}}, +{11746, 17, 51251, {1, 1, 3, 3, 9, 17, 115, 183, 325, 259, 2013, 1505, 6999, 11573, 5315, 18731, 9405}}, +{11747, 17, 51257, {1, 3, 1, 5, 29, 37, 81, 145, 5, 851, 1803, 2011, 6655, 3601, 11325, 17137, 68501}}, +{11748, 17, 51266, {1, 3, 5, 1, 25, 51, 111, 19, 75, 765, 1843, 139, 7253, 12967, 13387, 48631, 124881}}, +{11749, 17, 51280, {1, 3, 3, 7, 15, 29, 7, 231, 13, 901, 1913, 3817, 3993, 3049, 32367, 4201, 90837}}, +{11750, 17, 51285, {1, 3, 1, 11, 27, 5, 109, 57, 81, 147, 1141, 2153, 5255, 6367, 189, 5959, 88843}}, +{11751, 17, 51286, {1, 3, 5, 5, 19, 35, 17, 149, 407, 889, 1583, 1727, 465, 10785, 6043, 21785, 80935}}, +{11752, 17, 51289, {1, 1, 3, 7, 15, 21, 105, 249, 427, 491, 923, 3189, 8103, 3875, 18347, 35799, 36703}}, +{11753, 17, 51295, {1, 1, 3, 15, 3, 45, 93, 197, 265, 309, 1909, 1635, 1743, 9499, 21897, 36889, 67449}}, +{11754, 17, 51296, {1, 3, 1, 11, 15, 57, 31, 231, 363, 879, 1377, 1941, 6969, 10721, 21933, 33419, 102939}}, +{11755, 17, 51311, {1, 1, 3, 9, 3, 57, 49, 51, 71, 991, 885, 1367, 2937, 9301, 29893, 9867, 113711}}, +{11756, 17, 51329, {1, 3, 7, 7, 11, 59, 123, 247, 51, 659, 1323, 3371, 3417, 12295, 2021, 62753, 28059}}, +{11757, 17, 51350, {1, 1, 7, 11, 3, 57, 53, 1, 203, 287, 219, 3531, 1365, 6235, 30187, 4479, 29567}}, +{11758, 17, 51356, {1, 1, 7, 9, 5, 41, 41, 39, 137, 495, 149, 2421, 7365, 11381, 25403, 16063, 47491}}, +{11759, 17, 51363, {1, 1, 5, 13, 25, 25, 47, 25, 213, 661, 1345, 883, 7573, 3291, 21303, 8033, 102639}}, +{11760, 17, 51365, {1, 1, 5, 3, 9, 49, 75, 221, 455, 139, 1533, 3155, 1023, 7249, 10129, 63165, 1713}}, +{11761, 17, 51370, {1, 3, 5, 11, 17, 1, 23, 241, 83, 359, 1243, 2791, 2975, 6271, 19035, 55057, 7625}}, +{11762, 17, 51372, {1, 3, 1, 9, 17, 61, 109, 255, 447, 939, 899, 551, 7049, 4247, 17333, 43369, 30105}}, +{11763, 17, 51377, {1, 1, 3, 5, 3, 31, 79, 39, 225, 605, 1893, 3523, 5391, 6879, 18619, 2339, 108295}}, +{11764, 17, 51383, {1, 1, 5, 1, 29, 15, 123, 39, 239, 57, 843, 2799, 4755, 4993, 23383, 45559, 48359}}, +{11765, 17, 51384, {1, 1, 5, 5, 7, 5, 99, 1, 351, 213, 1061, 721, 343, 16071, 29641, 55607, 76727}}, +{11766, 17, 51397, {1, 3, 1, 7, 9, 9, 15, 25, 87, 595, 71, 3769, 2583, 10105, 28639, 48899, 49753}}, +{11767, 17, 51407, {1, 3, 5, 3, 31, 29, 99, 77, 323, 615, 581, 1725, 2471, 16263, 4903, 205, 55441}}, +{11768, 17, 51422, {1, 1, 5, 11, 17, 53, 47, 53, 125, 717, 867, 1251, 4009, 13981, 10165, 4769, 117431}}, +{11769, 17, 51435, {1, 1, 3, 7, 7, 19, 119, 27, 163, 11, 693, 3197, 3981, 12591, 26017, 62113, 48391}}, +{11770, 17, 51440, {1, 1, 3, 15, 13, 17, 13, 81, 19, 821, 677, 233, 5227, 14855, 18269, 18895, 90041}}, +{11771, 17, 51446, {1, 1, 3, 9, 27, 61, 125, 221, 415, 183, 1137, 1879, 3451, 3599, 27317, 53449, 35499}}, +{11772, 17, 51463, {1, 3, 3, 15, 3, 27, 53, 93, 17, 405, 373, 2531, 3121, 2299, 1593, 34623, 102389}}, +{11773, 17, 51467, {1, 1, 1, 11, 23, 19, 85, 87, 209, 17, 1805, 4067, 7401, 6097, 5865, 61383, 42971}}, +{11774, 17, 51491, {1, 1, 7, 9, 29, 43, 99, 125, 385, 347, 97, 1121, 1533, 10545, 17383, 48649, 78443}}, +{11775, 17, 51493, {1, 3, 3, 13, 7, 9, 95, 105, 463, 911, 357, 423, 5701, 2389, 16307, 17817, 108775}}, +{11776, 17, 51494, {1, 3, 5, 11, 21, 21, 79, 53, 511, 995, 1709, 1715, 6031, 10507, 10735, 48817, 28569}}, +{11777, 17, 51508, {1, 3, 5, 7, 31, 49, 43, 109, 267, 981, 1529, 3611, 3379, 1295, 27489, 46721, 58423}}, +{11778, 17, 51518, {1, 3, 3, 11, 3, 31, 21, 3, 79, 31, 1885, 3029, 6337, 15457, 8995, 9955, 95019}}, +{11779, 17, 51520, {1, 1, 7, 13, 9, 9, 77, 73, 111, 769, 813, 1599, 5925, 1063, 12151, 54125, 67723}}, +{11780, 17, 51526, {1, 1, 1, 7, 13, 5, 43, 201, 379, 199, 769, 3227, 3995, 1543, 21903, 10651, 122007}}, +{11781, 17, 51529, {1, 3, 7, 13, 11, 53, 83, 201, 231, 137, 617, 2395, 2513, 6659, 9387, 15653, 96927}}, +{11782, 17, 51530, {1, 3, 1, 13, 29, 19, 97, 57, 231, 985, 805, 1169, 831, 15867, 20195, 53533, 99735}}, +{11783, 17, 51537, {1, 1, 3, 13, 19, 15, 19, 39, 99, 31, 421, 755, 7439, 4927, 19893, 15449, 47937}}, +{11784, 17, 51547, {1, 3, 3, 9, 1, 17, 71, 37, 289, 537, 69, 3687, 6537, 12295, 28403, 6627, 72991}}, +{11785, 17, 51559, {1, 3, 3, 15, 31, 53, 21, 223, 451, 309, 895, 3923, 3149, 5167, 1979, 31425, 53485}}, +{11786, 17, 51565, {1, 3, 1, 1, 29, 7, 5, 197, 445, 455, 185, 633, 897, 4561, 28833, 39477, 46665}}, +{11787, 17, 51568, {1, 1, 3, 9, 29, 19, 45, 239, 323, 1005, 101, 2083, 7403, 10401, 987, 32301, 58141}}, +{11788, 17, 51580, {1, 3, 3, 5, 31, 17, 7, 141, 245, 301, 1607, 3381, 7517, 6663, 6327, 15321, 19963}}, +{11789, 17, 51583, {1, 1, 7, 5, 5, 37, 109, 31, 285, 767, 1689, 2961, 5511, 15415, 32011, 14889, 7237}}, +{11790, 17, 51584, {1, 1, 3, 7, 31, 35, 47, 157, 407, 719, 1213, 1241, 2475, 10321, 11547, 52641, 21603}}, +{11791, 17, 51593, {1, 1, 1, 7, 5, 45, 35, 137, 403, 321, 1151, 529, 6297, 3059, 27791, 18387, 101431}}, +{11792, 17, 51594, {1, 1, 3, 11, 21, 19, 97, 121, 377, 325, 741, 1601, 1115, 6233, 19089, 40491, 53259}}, +{11793, 17, 51607, {1, 1, 1, 9, 3, 13, 83, 243, 443, 91, 1455, 1875, 3327, 7245, 12735, 14943, 44163}}, +{11794, 17, 51608, {1, 3, 5, 11, 1, 15, 107, 211, 25, 125, 623, 1319, 6133, 12177, 1377, 32547, 110919}}, +{11795, 17, 51620, {1, 1, 3, 3, 7, 39, 23, 99, 433, 581, 53, 3421, 733, 12767, 23595, 22957, 88821}}, +{11796, 17, 51624, {1, 1, 1, 13, 5, 53, 103, 127, 409, 379, 1155, 3097, 6529, 11685, 22147, 46003, 59771}}, +{11797, 17, 51642, {1, 3, 3, 3, 15, 37, 9, 67, 237, 79, 697, 1943, 1021, 3217, 16013, 14727, 105729}}, +{11798, 17, 51649, {1, 1, 7, 1, 9, 43, 55, 79, 63, 553, 871, 2881, 6487, 4667, 24263, 41995, 60907}}, +{11799, 17, 51652, {1, 1, 7, 7, 23, 31, 55, 23, 451, 593, 85, 43, 965, 12491, 15121, 16129, 90639}}, +{11800, 17, 51659, {1, 1, 7, 13, 11, 53, 21, 123, 237, 147, 511, 2105, 5961, 4465, 4015, 19069, 89203}}, +{11801, 17, 51661, {1, 3, 5, 1, 1, 39, 59, 239, 391, 91, 923, 85, 1047, 1489, 31119, 58485, 129171}}, +{11802, 17, 51670, {1, 3, 5, 13, 3, 21, 35, 205, 219, 795, 901, 2465, 5887, 275, 22003, 29659, 50589}}, +{11803, 17, 51674, {1, 3, 1, 5, 1, 35, 127, 147, 159, 791, 1643, 1811, 1199, 3851, 9681, 19845, 127075}}, +{11804, 17, 51698, {1, 3, 3, 7, 17, 19, 13, 223, 395, 971, 125, 181, 4455, 13305, 30433, 46161, 122277}}, +{11805, 17, 51707, {1, 3, 1, 3, 19, 1, 15, 71, 425, 459, 655, 2251, 5525, 7611, 5819, 1255, 43107}}, +{11806, 17, 51725, {1, 1, 5, 15, 3, 9, 83, 191, 439, 663, 399, 2263, 1857, 15421, 2079, 2381, 59193}}, +{11807, 17, 51737, {1, 3, 5, 5, 1, 7, 9, 77, 347, 419, 1329, 3173, 7295, 3631, 13435, 3217, 18053}}, +{11808, 17, 51753, {1, 3, 3, 7, 29, 39, 35, 71, 119, 745, 603, 2247, 377, 3297, 30983, 27857, 105739}}, +{11809, 17, 51754, {1, 1, 5, 13, 9, 59, 57, 239, 247, 921, 1383, 2315, 241, 4435, 24661, 6129, 122727}}, +{11810, 17, 51779, {1, 1, 5, 7, 3, 15, 39, 165, 27, 803, 609, 3081, 6009, 12665, 24155, 51647, 3857}}, +{11811, 17, 51791, {1, 3, 5, 11, 27, 41, 61, 255, 195, 169, 557, 1739, 4029, 1791, 471, 16321, 49801}}, +{11812, 17, 51796, {1, 3, 7, 13, 17, 45, 35, 177, 109, 113, 551, 219, 4065, 303, 15489, 25427, 12349}}, +{11813, 17, 51809, {1, 3, 5, 5, 25, 15, 79, 165, 231, 867, 483, 3563, 6611, 11277, 3193, 37455, 127373}}, +{11814, 17, 51816, {1, 3, 3, 11, 25, 21, 47, 255, 27, 543, 485, 2675, 5893, 3029, 3857, 50967, 14681}}, +{11815, 17, 51819, {1, 3, 7, 11, 3, 23, 81, 135, 77, 227, 417, 1733, 5175, 15295, 15985, 50329, 48641}}, +{11816, 17, 51827, {1, 3, 5, 1, 3, 47, 33, 67, 201, 235, 1299, 3703, 1959, 8091, 11115, 10869, 9595}}, +{11817, 17, 51829, {1, 3, 7, 13, 1, 45, 61, 49, 471, 923, 1827, 2175, 1433, 3473, 3781, 7923, 121525}}, +{11818, 17, 51834, {1, 3, 5, 7, 25, 59, 113, 19, 415, 839, 167, 3549, 7435, 6573, 767, 2751, 18383}}, +{11819, 17, 51836, {1, 3, 3, 1, 5, 11, 125, 241, 395, 423, 955, 2551, 963, 8197, 30253, 10473, 28505}}, +{11820, 17, 51846, {1, 1, 1, 3, 5, 31, 69, 103, 153, 505, 1507, 2827, 165, 4943, 8343, 54253, 87593}}, +{11821, 17, 51849, {1, 3, 3, 1, 7, 37, 27, 75, 251, 623, 965, 1907, 6063, 761, 765, 10103, 43479}}, +{11822, 17, 51855, {1, 1, 1, 13, 7, 21, 53, 219, 267, 57, 959, 579, 2951, 13797, 3249, 29895, 47467}}, +{11823, 17, 51858, {1, 1, 5, 9, 13, 7, 85, 107, 3, 635, 1235, 1339, 3263, 3895, 25911, 7521, 34149}}, +{11824, 17, 51869, {1, 1, 5, 15, 29, 37, 73, 43, 413, 993, 499, 719, 1557, 14397, 11245, 58197, 127901}}, +{11825, 17, 51870, {1, 1, 5, 15, 9, 37, 87, 57, 63, 337, 927, 1887, 6407, 11237, 23233, 53567, 120449}}, +{11826, 17, 51874, {1, 1, 3, 7, 27, 11, 85, 227, 159, 849, 647, 1977, 4623, 7343, 8089, 4251, 26609}}, +{11827, 17, 51918, {1, 1, 5, 11, 11, 3, 105, 191, 189, 627, 367, 3935, 6647, 13069, 26195, 23137, 56427}}, +{11828, 17, 51926, {1, 1, 3, 3, 29, 51, 39, 3, 437, 1011, 1061, 1747, 3051, 11165, 8155, 9723, 41035}}, +{11829, 17, 51932, {1, 3, 7, 15, 9, 43, 79, 195, 265, 395, 1349, 337, 911, 15767, 3593, 42859, 70181}}, +{11830, 17, 51936, {1, 3, 7, 7, 11, 47, 11, 85, 489, 801, 1177, 3861, 3517, 9209, 27505, 12291, 35691}}, +{11831, 17, 51948, {1, 1, 3, 9, 15, 61, 71, 123, 287, 419, 1079, 3489, 3519, 12739, 21341, 24323, 33961}}, +{11832, 17, 51954, {1, 3, 7, 3, 9, 17, 119, 137, 389, 391, 601, 1875, 2197, 5271, 13289, 43597, 43279}}, +{11833, 17, 51959, {1, 3, 7, 15, 29, 35, 41, 171, 183, 701, 1673, 981, 5479, 21, 11353, 64953, 88189}}, +{11834, 17, 51971, {1, 3, 3, 13, 15, 35, 35, 81, 297, 245, 475, 393, 5401, 12369, 21129, 65213, 125013}}, +{11835, 17, 51983, {1, 1, 7, 13, 15, 57, 25, 143, 389, 111, 1219, 2195, 769, 9005, 10367, 39435, 3631}}, +{11836, 17, 51992, {1, 3, 3, 13, 9, 29, 9, 47, 127, 377, 1195, 1221, 5751, 15481, 10537, 29909, 112691}}, +{11837, 17, 51997, {1, 1, 3, 5, 17, 47, 29, 1, 299, 651, 1023, 1601, 5917, 3781, 18421, 42393, 51789}}, +{11838, 17, 52016, {1, 3, 3, 15, 31, 51, 101, 147, 367, 159, 359, 705, 3773, 8649, 31373, 5733, 58287}}, +{11839, 17, 52021, {1, 3, 5, 11, 11, 51, 55, 79, 147, 917, 1945, 1725, 289, 12777, 30099, 3013, 91527}}, +{11840, 17, 52031, {1, 1, 7, 13, 1, 51, 33, 27, 169, 573, 117, 2479, 761, 1283, 32723, 13589, 88821}}, +{11841, 17, 52033, {1, 1, 1, 3, 23, 13, 33, 207, 137, 391, 1309, 4093, 6889, 827, 9331, 57113, 110193}}, +{11842, 17, 52034, {1, 1, 1, 13, 15, 57, 115, 53, 59, 443, 1, 3545, 6923, 6603, 8631, 41703, 8519}}, +{11843, 17, 52048, {1, 1, 5, 5, 25, 29, 53, 153, 107, 423, 1829, 2469, 1843, 889, 31727, 20701, 6343}}, +{11844, 17, 52053, {1, 1, 7, 13, 11, 41, 7, 219, 77, 663, 329, 2639, 1111, 1293, 16771, 20731, 46973}}, +{11845, 17, 52057, {1, 3, 3, 15, 23, 19, 45, 107, 111, 155, 1595, 1821, 471, 6089, 21587, 49259, 85393}}, +{11846, 17, 52067, {1, 3, 1, 3, 27, 21, 39, 227, 359, 885, 449, 2615, 3519, 5377, 16017, 57159, 82399}}, +{11847, 17, 52076, {1, 3, 3, 15, 31, 33, 77, 33, 87, 821, 701, 2859, 1777, 3007, 16757, 5447, 3557}}, +{11848, 17, 52079, {1, 1, 1, 15, 11, 31, 127, 79, 363, 341, 169, 3451, 6351, 6867, 13511, 833, 103151}}, +{11849, 17, 52081, {1, 3, 5, 7, 27, 23, 5, 67, 159, 535, 103, 843, 8187, 6891, 19169, 22565, 95255}}, +{11850, 17, 52109, {1, 3, 5, 5, 15, 27, 53, 49, 343, 815, 1203, 1031, 6359, 1337, 1629, 47783, 103391}}, +{11851, 17, 52127, {1, 3, 1, 1, 13, 19, 51, 185, 45, 549, 619, 2247, 2541, 10421, 31507, 60785, 87139}}, +{11852, 17, 52128, {1, 3, 1, 15, 29, 9, 47, 127, 41, 767, 1375, 2183, 7169, 12855, 15021, 377, 69327}}, +{11853, 17, 52133, {1, 1, 3, 9, 5, 23, 23, 203, 101, 809, 1155, 2885, 3901, 3081, 1827, 65373, 106133}}, +{11854, 17, 52148, {1, 3, 3, 13, 3, 21, 73, 135, 353, 905, 1757, 1361, 3801, 15541, 2261, 17159, 18037}}, +{11855, 17, 52155, {1, 1, 7, 7, 27, 23, 57, 33, 225, 407, 1709, 1159, 6353, 13341, 15883, 17339, 50423}}, +{11856, 17, 52157, {1, 1, 3, 15, 13, 21, 33, 91, 183, 975, 1623, 3187, 5495, 8947, 7031, 19687, 104483}}, +{11857, 17, 52172, {1, 3, 5, 7, 17, 25, 77, 1, 335, 85, 1783, 2617, 4463, 3807, 12883, 24487, 66205}}, +{11858, 17, 52178, {1, 1, 3, 15, 23, 37, 83, 93, 211, 757, 903, 2681, 49, 435, 21057, 63635, 36489}}, +{11859, 17, 52184, {1, 3, 1, 13, 3, 45, 63, 57, 65, 21, 627, 1467, 51, 15887, 27465, 59227, 108233}}, +{11860, 17, 52199, {1, 1, 7, 5, 15, 41, 53, 57, 301, 677, 803, 1675, 6937, 3159, 14281, 22355, 37783}}, +{11861, 17, 52200, {1, 1, 5, 13, 15, 43, 39, 245, 191, 875, 1505, 2085, 3903, 185, 24461, 28939, 98771}}, +{11862, 17, 52205, {1, 1, 7, 9, 17, 25, 29, 31, 439, 159, 533, 3177, 4155, 403, 23735, 61817, 121909}}, +{11863, 17, 52206, {1, 1, 3, 15, 29, 43, 111, 47, 483, 513, 63, 2423, 4979, 5159, 15499, 33391, 51575}}, +{11864, 17, 52232, {1, 1, 5, 15, 15, 43, 13, 41, 445, 929, 1365, 2023, 6173, 6067, 30969, 51457, 51179}}, +{11865, 17, 52237, {1, 3, 3, 11, 15, 17, 93, 235, 159, 599, 635, 1113, 1017, 7413, 7737, 20051, 79127}}, +{11866, 17, 52243, {1, 1, 1, 15, 5, 19, 81, 65, 479, 119, 1831, 2515, 2929, 15395, 31607, 29969, 49935}}, +{11867, 17, 52246, {1, 3, 1, 13, 23, 47, 45, 151, 51, 217, 803, 3265, 5907, 14371, 8287, 25659, 27655}}, +{11868, 17, 52252, {1, 1, 1, 13, 13, 53, 11, 63, 501, 487, 1683, 1147, 4693, 2761, 19359, 2215, 112393}}, +{11869, 17, 52261, {1, 3, 3, 1, 31, 15, 61, 237, 129, 119, 135, 39, 6509, 3753, 16997, 3841, 24521}}, +{11870, 17, 52265, {1, 3, 5, 7, 5, 27, 113, 251, 217, 923, 229, 2259, 5241, 6331, 6773, 41929, 89605}}, +{11871, 17, 52266, {1, 1, 5, 9, 17, 41, 21, 185, 95, 137, 1151, 195, 913, 531, 15731, 22893, 93521}}, +{11872, 17, 52273, {1, 1, 5, 1, 29, 57, 123, 11, 345, 581, 227, 1539, 7527, 8537, 16429, 8437, 18953}}, +{11873, 17, 52274, {1, 1, 3, 7, 7, 21, 103, 239, 115, 513, 1287, 3717, 331, 5453, 18943, 17247, 64975}}, +{11874, 17, 52288, {1, 3, 7, 11, 21, 37, 79, 83, 93, 155, 1297, 1371, 1109, 6569, 21137, 29237, 24007}}, +{11875, 17, 52300, {1, 1, 1, 13, 17, 11, 127, 89, 397, 497, 1017, 721, 2837, 5623, 31745, 52243, 107225}}, +{11876, 17, 52303, {1, 1, 7, 9, 15, 43, 29, 215, 449, 233, 313, 2587, 2903, 2735, 4539, 50481, 85279}}, +{11877, 17, 52321, {1, 1, 3, 15, 13, 35, 109, 211, 299, 255, 1595, 533, 1801, 13965, 25277, 52347, 13447}}, +{11878, 17, 52322, {1, 1, 1, 15, 9, 23, 115, 119, 207, 973, 1339, 1315, 6465, 9917, 4593, 65435, 2515}}, +{11879, 17, 52328, {1, 3, 3, 3, 7, 25, 115, 115, 213, 845, 1445, 1217, 1563, 12491, 5197, 44409, 79895}}, +{11880, 17, 52333, {1, 1, 1, 3, 9, 33, 31, 203, 19, 895, 1145, 2893, 4807, 7501, 6999, 54883, 13797}}, +{11881, 17, 52351, {1, 1, 3, 1, 19, 51, 73, 29, 451, 533, 83, 2477, 335, 9703, 9747, 57427, 69443}}, +{11882, 17, 52357, {1, 1, 7, 5, 21, 11, 53, 133, 165, 291, 591, 1419, 3661, 4697, 21363, 53467, 84063}}, +{11883, 17, 52372, {1, 1, 7, 3, 13, 7, 85, 49, 193, 289, 1531, 709, 2351, 12085, 28553, 57145, 129517}}, +{11884, 17, 52381, {1, 1, 1, 1, 17, 19, 13, 213, 75, 977, 811, 1813, 7293, 13795, 28569, 28133, 11949}}, +{11885, 17, 52386, {1, 1, 5, 1, 27, 11, 47, 89, 271, 65, 1651, 2331, 3289, 6227, 15027, 19959, 22945}}, +{11886, 17, 52395, {1, 3, 7, 9, 17, 37, 17, 245, 249, 501, 405, 951, 3005, 9757, 10265, 35575, 70529}}, +{11887, 17, 52403, {1, 3, 1, 15, 21, 47, 15, 75, 113, 45, 125, 1393, 3361, 13477, 24325, 39743, 67409}}, +{11888, 17, 52423, {1, 3, 5, 1, 13, 3, 33, 51, 463, 241, 1421, 1607, 3937, 3405, 26653, 33955, 97915}}, +{11889, 17, 52427, {1, 3, 7, 13, 29, 17, 41, 193, 461, 787, 459, 4019, 1887, 13831, 9387, 25215, 69801}}, +{11890, 17, 52432, {1, 3, 1, 11, 31, 55, 13, 235, 85, 953, 109, 233, 1893, 13225, 26165, 59237, 15845}}, +{11891, 17, 52438, {1, 1, 1, 13, 11, 43, 127, 193, 143, 831, 875, 2471, 7011, 3063, 21979, 42113, 80581}}, +{11892, 17, 52444, {1, 3, 7, 1, 5, 1, 63, 55, 349, 525, 441, 2695, 3301, 15737, 13355, 16727, 25001}}, +{11893, 17, 52457, {1, 3, 7, 7, 31, 23, 87, 99, 331, 101, 1341, 3, 1447, 9507, 18627, 2503, 57597}}, +{11894, 17, 52468, {1, 1, 1, 9, 11, 19, 89, 141, 269, 31, 1933, 429, 7765, 5905, 15327, 25913, 17281}}, +{11895, 17, 52480, {1, 3, 1, 9, 23, 61, 75, 15, 121, 635, 1409, 615, 7841, 11993, 1637, 26073, 70763}}, +{11896, 17, 52498, {1, 3, 3, 1, 5, 63, 85, 3, 443, 87, 1201, 275, 3457, 16187, 26839, 16593, 36335}}, +{11897, 17, 52516, {1, 1, 5, 5, 27, 61, 1, 145, 287, 563, 1135, 2703, 733, 10209, 3937, 23807, 56857}}, +{11898, 17, 52520, {1, 3, 3, 7, 1, 41, 97, 155, 305, 395, 1607, 1171, 1061, 12301, 8041, 12111, 66831}}, +{11899, 17, 52525, {1, 3, 7, 15, 9, 61, 127, 225, 125, 231, 87, 2433, 6951, 2999, 24859, 61685, 111943}}, +{11900, 17, 52531, {1, 3, 5, 15, 13, 39, 87, 57, 305, 469, 1929, 1559, 1383, 2779, 3883, 845, 45181}}, +{11901, 17, 52540, {1, 1, 1, 15, 19, 1, 23, 41, 207, 731, 501, 1147, 6543, 5011, 483, 56889, 48993}}, +{11902, 17, 52545, {1, 3, 3, 15, 21, 35, 75, 129, 441, 497, 953, 201, 6849, 2893, 6351, 62163, 84127}}, +{11903, 17, 52546, {1, 1, 1, 9, 21, 31, 91, 79, 345, 649, 1529, 805, 4931, 12887, 30167, 52305, 92561}}, +{11904, 17, 52552, {1, 1, 5, 1, 3, 21, 121, 223, 67, 185, 801, 889, 7443, 8419, 19929, 11451, 11487}}, +{11905, 17, 52557, {1, 1, 3, 15, 21, 51, 119, 31, 197, 773, 617, 2055, 799, 9105, 12353, 33635, 27589}}, +{11906, 17, 52569, {1, 3, 5, 3, 27, 11, 41, 105, 289, 877, 1175, 3111, 3161, 12537, 18001, 38061, 59089}}, +{11907, 17, 52575, {1, 3, 3, 5, 3, 27, 101, 253, 225, 915, 1757, 1601, 3391, 10443, 3983, 58427, 93391}}, +{11908, 17, 52582, {1, 3, 1, 7, 9, 43, 85, 115, 169, 285, 1267, 3791, 2701, 5599, 10099, 48105, 45219}}, +{11909, 17, 52594, {1, 1, 7, 13, 25, 57, 35, 223, 265, 451, 1913, 2715, 8017, 3725, 7079, 34611, 61159}}, +{11910, 17, 52615, {1, 1, 3, 7, 23, 27, 93, 195, 449, 845, 865, 655, 4263, 12743, 7467, 7929, 7095}}, +{11911, 17, 52619, {1, 3, 5, 5, 29, 51, 109, 123, 227, 693, 2033, 3829, 7187, 4027, 17861, 45093, 7355}}, +{11912, 17, 52624, {1, 1, 1, 11, 27, 31, 127, 75, 443, 479, 865, 1377, 711, 3791, 27235, 17405, 25975}}, +{11913, 17, 52645, {1, 3, 5, 7, 1, 49, 79, 167, 471, 453, 211, 265, 8163, 6517, 3413, 17283, 51961}}, +{11914, 17, 52663, {1, 3, 1, 5, 17, 29, 15, 239, 385, 239, 425, 2197, 3553, 14913, 14889, 31645, 67477}}, +{11915, 17, 52664, {1, 3, 3, 5, 1, 11, 25, 105, 367, 253, 1395, 2077, 2613, 4535, 18215, 37657, 48283}}, +{11916, 17, 52675, {1, 3, 3, 1, 1, 41, 7, 161, 437, 659, 833, 3175, 2063, 14497, 6655, 8817, 127321}}, +{11917, 17, 52687, {1, 3, 1, 11, 17, 27, 3, 51, 75, 183, 1889, 287, 5429, 14007, 14445, 47395, 94543}}, +{11918, 17, 52696, {1, 1, 7, 13, 29, 9, 109, 19, 73, 3, 1529, 457, 6413, 4113, 14733, 24455, 44623}}, +{11919, 17, 52701, {1, 3, 1, 15, 15, 31, 83, 25, 263, 229, 1801, 377, 1703, 8571, 10393, 52021, 100937}}, +{11920, 17, 52706, {1, 3, 5, 9, 25, 57, 79, 19, 117, 437, 275, 3439, 6393, 2111, 8317, 3521, 96927}}, +{11921, 17, 52708, {1, 3, 1, 13, 27, 43, 103, 171, 361, 949, 347, 809, 5819, 2763, 10447, 35129, 46985}}, +{11922, 17, 52711, {1, 3, 5, 11, 17, 1, 27, 37, 473, 851, 1057, 831, 4373, 5179, 18193, 48731, 64317}}, +{11923, 17, 52726, {1, 3, 1, 7, 17, 5, 19, 217, 439, 549, 1983, 2473, 6059, 5271, 10279, 7793, 114357}}, +{11924, 17, 52748, {1, 3, 1, 5, 25, 19, 99, 65, 507, 527, 825, 2517, 2299, 1725, 9913, 5779, 12207}}, +{11925, 17, 52754, {1, 3, 1, 1, 29, 41, 119, 27, 411, 475, 461, 1885, 2339, 4945, 24665, 13621, 78129}}, +{11926, 17, 52756, {1, 3, 1, 11, 27, 29, 119, 155, 487, 29, 1545, 675, 1417, 6119, 12451, 21345, 39377}}, +{11927, 17, 52759, {1, 1, 3, 7, 19, 5, 111, 227, 49, 307, 549, 737, 4793, 13885, 22971, 18653, 69573}}, +{11928, 17, 52769, {1, 3, 3, 1, 27, 59, 87, 7, 379, 497, 903, 591, 6105, 1957, 25849, 55957, 120181}}, +{11929, 17, 52784, {1, 3, 5, 15, 19, 31, 43, 1, 35, 341, 311, 1343, 3625, 16181, 31047, 59679, 89231}}, +{11930, 17, 52790, {1, 1, 1, 15, 21, 19, 93, 229, 49, 597, 1465, 2027, 5935, 12269, 20239, 17861, 26311}}, +{11931, 17, 52804, {1, 1, 1, 1, 3, 31, 115, 87, 129, 419, 871, 2469, 3807, 4473, 25025, 36923, 67959}}, +{11932, 17, 52807, {1, 1, 1, 3, 23, 31, 41, 247, 295, 369, 1131, 2183, 8097, 7609, 4387, 37565, 50177}}, +{11933, 17, 52808, {1, 3, 1, 11, 9, 17, 111, 249, 417, 775, 217, 1435, 6295, 5065, 2967, 55361, 91933}}, +{11934, 17, 52819, {1, 3, 5, 7, 19, 21, 71, 219, 411, 31, 335, 2915, 3687, 5691, 12405, 34659, 76721}}, +{11935, 17, 52826, {1, 3, 5, 13, 29, 31, 95, 203, 149, 399, 547, 2529, 2485, 3371, 20219, 33647, 34217}}, +{11936, 17, 52828, {1, 3, 5, 13, 31, 41, 97, 115, 427, 35, 1319, 2335, 715, 2541, 4507, 49395, 33895}}, +{11937, 17, 52832, {1, 3, 7, 15, 3, 49, 3, 49, 153, 93, 1343, 1035, 5685, 15855, 15751, 27663, 99553}}, +{11938, 17, 52835, {1, 1, 7, 5, 27, 7, 53, 135, 453, 981, 1767, 3503, 1259, 11973, 23259, 41051, 96593}}, +{11939, 17, 52849, {1, 1, 7, 9, 5, 59, 57, 141, 41, 639, 1681, 145, 7019, 6621, 14221, 12051, 71871}}, +{11940, 17, 52859, {1, 1, 3, 1, 13, 39, 7, 187, 7, 919, 1555, 2111, 6507, 2099, 10643, 22851, 82033}}, +{11941, 17, 52877, {1, 3, 7, 9, 25, 59, 27, 225, 239, 715, 1115, 2309, 7785, 11849, 8991, 54305, 107305}}, +{11942, 17, 52880, {1, 1, 7, 11, 21, 51, 1, 223, 481, 195, 2005, 2651, 6797, 12201, 11013, 1843, 65167}}, +{11943, 17, 52896, {1, 3, 3, 11, 27, 3, 117, 5, 255, 595, 399, 1329, 1437, 12061, 32679, 16655, 76235}}, +{11944, 17, 52899, {1, 1, 7, 13, 21, 1, 35, 159, 329, 37, 1247, 2663, 3889, 14603, 25799, 45363, 87963}}, +{11945, 17, 52905, {1, 1, 7, 7, 7, 11, 53, 215, 351, 329, 1039, 969, 4449, 14785, 28617, 25953, 78663}}, +{11946, 17, 52913, {1, 1, 7, 7, 27, 17, 19, 223, 143, 433, 789, 1941, 5527, 711, 25097, 4571, 121975}}, +{11947, 17, 52933, {1, 3, 1, 13, 11, 47, 31, 249, 325, 1003, 509, 2741, 3953, 1691, 12661, 16097, 80211}}, +{11948, 17, 52934, {1, 3, 7, 9, 27, 11, 21, 129, 25, 57, 1523, 3631, 2639, 2541, 14249, 34539, 70551}}, +{11949, 17, 52938, {1, 1, 5, 3, 31, 47, 47, 73, 71, 783, 1353, 2157, 2563, 14015, 997, 31611, 118649}}, +{11950, 17, 52957, {1, 1, 5, 5, 25, 35, 25, 207, 349, 503, 121, 3455, 5783, 10899, 12745, 35117, 36679}}, +{11951, 17, 52979, {1, 3, 1, 3, 11, 39, 123, 177, 19, 441, 1979, 1257, 1351, 4253, 15145, 44559, 59379}}, +{11952, 17, 52981, {1, 3, 7, 3, 7, 35, 41, 203, 439, 1013, 1055, 1165, 1043, 11183, 1795, 31253, 113693}}, +{11953, 17, 52986, {1, 3, 1, 13, 7, 43, 57, 1, 229, 345, 631, 841, 7923, 5971, 20489, 47917, 66833}}, +{11954, 17, 53005, {1, 1, 1, 15, 27, 5, 31, 117, 153, 755, 1207, 619, 8185, 4329, 9979, 57255, 79045}}, +{11955, 17, 53008, {1, 3, 3, 7, 23, 1, 7, 227, 337, 417, 1895, 765, 7799, 13599, 27253, 4485, 112391}}, +{11956, 17, 53024, {1, 3, 5, 13, 27, 63, 5, 87, 101, 351, 953, 2235, 1587, 5479, 26529, 34165, 83303}}, +{11957, 17, 53029, {1, 1, 5, 15, 1, 43, 63, 193, 143, 711, 1779, 3531, 1355, 16253, 14595, 32343, 131021}}, +{11958, 17, 53054, {1, 1, 1, 9, 29, 37, 29, 71, 11, 877, 1301, 2415, 5593, 1855, 25223, 6805, 12901}}, +{11959, 17, 53073, {1, 1, 7, 9, 31, 5, 49, 63, 185, 373, 129, 1695, 7841, 4477, 17809, 42771, 120221}}, +{11960, 17, 53083, {1, 1, 5, 3, 15, 43, 49, 45, 47, 775, 699, 2787, 7831, 4189, 18317, 63933, 83669}}, +{11961, 17, 53086, {1, 3, 5, 3, 23, 33, 85, 255, 119, 685, 1245, 1647, 1999, 13063, 9241, 49017, 32619}}, +{11962, 17, 53095, {1, 1, 7, 15, 29, 15, 125, 233, 189, 411, 1251, 3459, 7213, 10081, 4403, 56819, 17103}}, +{11963, 17, 53102, {1, 3, 3, 11, 21, 13, 93, 125, 213, 793, 1057, 2363, 661, 12213, 2259, 3787, 91451}}, +{11964, 17, 53107, {1, 3, 5, 5, 19, 35, 5, 153, 507, 691, 1743, 1777, 7579, 14229, 10155, 18529, 35945}}, +{11965, 17, 53126, {1, 3, 7, 5, 27, 35, 13, 77, 189, 793, 877, 643, 2787, 5817, 22589, 58363, 49059}}, +{11966, 17, 53130, {1, 3, 7, 9, 9, 37, 21, 251, 119, 895, 1023, 91, 4317, 10943, 7355, 36961, 36903}}, +{11967, 17, 53138, {1, 3, 3, 13, 19, 49, 15, 105, 399, 29, 1903, 3503, 3453, 15429, 31503, 57815, 34009}}, +{11968, 17, 53144, {1, 1, 5, 1, 19, 35, 49, 97, 335, 665, 1871, 887, 4713, 517, 9571, 41601, 9673}}, +{11969, 17, 53156, {1, 3, 5, 13, 29, 45, 111, 233, 251, 407, 1135, 2791, 6525, 11633, 22295, 65381, 117511}}, +{11970, 17, 53163, {1, 1, 3, 3, 17, 7, 65, 43, 391, 91, 315, 3559, 479, 7337, 25629, 785, 19855}}, +{11971, 17, 53165, {1, 1, 5, 9, 29, 31, 67, 17, 381, 875, 1001, 415, 2263, 4415, 11263, 309, 117623}}, +{11972, 17, 53173, {1, 1, 7, 11, 25, 1, 59, 61, 247, 649, 687, 907, 1037, 13935, 7229, 39769, 92755}}, +{11973, 17, 53177, {1, 3, 5, 15, 21, 51, 27, 79, 343, 785, 1567, 1349, 7991, 8531, 11243, 61351, 21297}}, +{11974, 17, 53183, {1, 1, 1, 3, 31, 41, 67, 169, 83, 959, 813, 1953, 2467, 12369, 31431, 50761, 75731}}, +{11975, 17, 53192, {1, 1, 5, 11, 25, 37, 83, 163, 3, 161, 1249, 3009, 7167, 5473, 10561, 44899, 130879}}, +{11976, 17, 53195, {1, 1, 7, 11, 9, 61, 61, 113, 81, 205, 731, 3887, 5525, 13415, 25181, 11557, 59343}}, +{11977, 17, 53200, {1, 3, 7, 5, 19, 27, 107, 89, 295, 715, 1439, 1285, 5813, 8895, 7233, 32905, 3273}}, +{11978, 17, 53212, {1, 1, 5, 1, 29, 11, 125, 253, 445, 295, 1721, 1271, 2203, 2215, 7613, 55655, 112157}}, +{11979, 17, 53219, {1, 1, 5, 11, 11, 13, 111, 55, 19, 551, 1365, 477, 2513, 12311, 22485, 23291, 92447}}, +{11980, 17, 53221, {1, 1, 7, 11, 9, 5, 3, 109, 507, 441, 1767, 1781, 3077, 219, 29293, 21237, 71159}}, +{11981, 17, 53245, {1, 1, 3, 11, 3, 45, 99, 113, 367, 569, 1907, 1281, 51, 13693, 14639, 32999, 77461}}, +{11982, 17, 53254, {1, 3, 5, 11, 5, 19, 97, 11, 473, 937, 1623, 1507, 3245, 9331, 16005, 37505, 40085}}, +{11983, 17, 53257, {1, 1, 7, 13, 21, 61, 103, 111, 35, 141, 61, 1043, 1989, 1311, 29021, 2617, 89915}}, +{11984, 17, 53265, {1, 3, 7, 15, 19, 31, 39, 175, 371, 459, 1293, 1645, 1125, 1199, 4811, 55721, 76071}}, +{11985, 17, 53266, {1, 1, 7, 3, 3, 35, 17, 7, 91, 317, 1615, 3559, 191, 2579, 15027, 58711, 36009}}, +{11986, 17, 53268, {1, 1, 1, 13, 1, 27, 45, 87, 443, 443, 853, 3917, 1437, 4053, 14861, 2897, 109853}}, +{11987, 17, 53275, {1, 1, 5, 3, 21, 47, 73, 195, 115, 517, 1781, 2341, 805, 5679, 12053, 29113, 100479}}, +{11988, 17, 53277, {1, 1, 7, 1, 25, 27, 61, 167, 203, 57, 527, 1071, 7131, 8403, 9943, 11503, 33081}}, +{11989, 17, 53284, {1, 1, 5, 13, 31, 43, 35, 195, 177, 229, 1401, 4011, 2363, 15787, 21125, 32103, 62337}}, +{11990, 17, 53294, {1, 1, 5, 11, 19, 13, 3, 249, 119, 35, 747, 1419, 5451, 13043, 19813, 54859, 94825}}, +{11991, 17, 53308, {1, 3, 1, 9, 17, 13, 51, 125, 391, 157, 1199, 1805, 1763, 11831, 20915, 38547, 14221}}, +{11992, 17, 53314, {1, 1, 7, 1, 23, 61, 25, 69, 435, 183, 1379, 1211, 5529, 9447, 4575, 14127, 91867}}, +{11993, 17, 53319, {1, 3, 3, 15, 11, 15, 101, 135, 419, 685, 1097, 787, 2045, 3393, 26221, 23653, 116917}}, +{11994, 17, 53326, {1, 3, 1, 11, 29, 23, 13, 153, 27, 683, 1569, 413, 261, 10291, 23763, 15579, 39337}}, +{11995, 17, 53328, {1, 3, 7, 7, 19, 23, 121, 23, 339, 165, 1137, 2791, 319, 16111, 14847, 28171, 79237}}, +{11996, 17, 53340, {1, 3, 1, 5, 9, 59, 33, 19, 191, 707, 1883, 1683, 1161, 12905, 12299, 22201, 19811}}, +{11997, 17, 53364, {1, 3, 1, 3, 27, 11, 69, 199, 415, 251, 1079, 1709, 4539, 7867, 21321, 33617, 53459}}, +{11998, 17, 53367, {1, 1, 3, 9, 19, 59, 21, 95, 275, 213, 1819, 721, 6271, 11845, 9573, 16105, 12755}}, +{11999, 17, 53377, {1, 1, 1, 15, 23, 7, 91, 235, 43, 95, 913, 715, 3229, 12339, 23089, 30963, 129525}}, +{12000, 17, 53395, {1, 1, 7, 9, 7, 41, 43, 131, 485, 621, 1293, 1955, 5215, 6545, 29225, 53587, 46901}}, +{12001, 17, 53398, {1, 3, 1, 5, 7, 57, 97, 199, 225, 707, 1223, 1829, 497, 12587, 24551, 12907, 82411}}, +{12002, 17, 53407, {1, 1, 3, 7, 21, 9, 63, 15, 263, 957, 155, 4021, 4455, 2025, 16981, 19743, 88619}}, +{12003, 17, 53413, {1, 1, 7, 5, 31, 3, 27, 45, 369, 747, 1559, 1429, 8049, 15069, 19897, 50067, 52861}}, +{12004, 17, 53414, {1, 1, 5, 13, 23, 35, 91, 139, 73, 275, 207, 2709, 3801, 12755, 19155, 61629, 5513}}, +{12005, 17, 53417, {1, 1, 5, 7, 5, 25, 33, 45, 325, 847, 81, 891, 3191, 14115, 25095, 39867, 3839}}, +{12006, 17, 53443, {1, 3, 5, 13, 9, 31, 31, 113, 507, 833, 691, 2041, 4873, 81, 21365, 35265, 37627}}, +{12007, 17, 53473, {1, 1, 5, 13, 9, 51, 127, 131, 285, 683, 593, 3411, 6685, 3601, 12255, 8337, 80597}}, +{12008, 17, 53476, {1, 1, 5, 15, 29, 13, 79, 199, 157, 421, 1697, 2063, 2213, 4141, 21045, 45785, 124023}}, +{12009, 17, 53480, {1, 3, 1, 11, 19, 5, 79, 57, 71, 373, 487, 671, 3671, 9093, 20989, 48477, 104951}}, +{12010, 17, 53486, {1, 3, 5, 15, 13, 7, 39, 243, 507, 739, 1905, 3431, 4141, 9345, 27877, 64735, 112997}}, +{12011, 17, 53506, {1, 3, 3, 5, 17, 25, 31, 243, 393, 61, 199, 2825, 6981, 5887, 22289, 9201, 77689}}, +{12012, 17, 53542, {1, 3, 5, 15, 15, 63, 77, 39, 463, 883, 671, 3285, 6925, 15085, 1665, 64005, 130619}}, +{12013, 17, 53546, {1, 3, 3, 11, 21, 15, 7, 115, 9, 879, 1097, 3993, 3929, 9809, 22105, 9549, 31819}}, +{12014, 17, 53554, {1, 1, 7, 15, 3, 9, 19, 97, 327, 105, 1915, 205, 3873, 1229, 29915, 57375, 108217}}, +{12015, 17, 53563, {1, 1, 3, 11, 29, 41, 77, 11, 183, 73, 1651, 3739, 3911, 8695, 15339, 19293, 1827}}, +{12016, 17, 53580, {1, 1, 1, 5, 23, 49, 35, 175, 99, 49, 615, 1733, 6901, 2351, 18765, 55553, 99791}}, +{12017, 17, 53591, {1, 3, 7, 3, 25, 17, 67, 161, 507, 941, 35, 2619, 339, 791, 6485, 64277, 123867}}, +{12018, 17, 53598, {1, 1, 3, 13, 11, 9, 79, 193, 75, 391, 1753, 3537, 6971, 6607, 11933, 4447, 87793}}, +{12019, 17, 53611, {1, 1, 1, 5, 19, 9, 63, 203, 51, 395, 1365, 2393, 7265, 11709, 13721, 4519, 118765}}, +{12020, 17, 53621, {1, 1, 3, 9, 17, 53, 29, 103, 325, 973, 903, 785, 7535, 9951, 8121, 12603, 38679}}, +{12021, 17, 53625, {1, 3, 1, 7, 7, 63, 1, 123, 439, 181, 1373, 2705, 995, 10789, 7495, 54543, 120109}}, +{12022, 17, 53628, {1, 1, 7, 3, 17, 13, 79, 179, 165, 965, 1537, 3753, 3497, 12127, 6983, 48605, 113057}}, +{12023, 17, 53632, {1, 1, 5, 7, 3, 7, 41, 25, 267, 633, 19, 1317, 3445, 12377, 27881, 55249, 40841}}, +{12024, 17, 53650, {1, 3, 5, 1, 31, 55, 43, 129, 411, 281, 1, 851, 2419, 7943, 13721, 39371, 114557}}, +{12025, 17, 53655, {1, 1, 7, 7, 23, 19, 83, 37, 9, 161, 125, 3179, 7973, 9703, 23199, 32723, 130915}}, +{12026, 17, 53675, {1, 1, 7, 5, 27, 21, 11, 219, 403, 239, 1723, 2957, 3029, 9911, 10981, 35421, 74025}}, +{12027, 17, 53677, {1, 3, 1, 1, 31, 59, 69, 77, 395, 1, 157, 1259, 4913, 2089, 17619, 51033, 130899}}, +{12028, 17, 53680, {1, 3, 3, 3, 19, 11, 83, 237, 103, 921, 487, 1833, 8187, 3811, 18887, 9389, 80927}}, +{12029, 17, 53683, {1, 3, 7, 3, 17, 51, 107, 209, 187, 831, 1501, 1337, 803, 10361, 11347, 65291, 42219}}, +{12030, 17, 53700, {1, 3, 3, 15, 7, 29, 61, 25, 413, 257, 1185, 4009, 7463, 1839, 6645, 28389, 14449}}, +{12031, 17, 53709, {1, 3, 1, 9, 5, 31, 83, 55, 375, 399, 945, 997, 7649, 12631, 7691, 53325, 50173}}, +{12032, 17, 53724, {1, 1, 5, 9, 13, 9, 83, 37, 487, 975, 487, 3587, 7285, 7505, 10155, 673, 126505}}, +{12033, 17, 53731, {1, 3, 5, 7, 21, 3, 35, 21, 367, 323, 1579, 3351, 5465, 13719, 17033, 42573, 55079}}, +{12034, 17, 53733, {1, 3, 3, 15, 11, 27, 121, 109, 267, 855, 1417, 3839, 6535, 1051, 29355, 23815, 76031}}, +{12035, 17, 53738, {1, 1, 7, 9, 5, 31, 35, 53, 369, 137, 1545, 927, 825, 1333, 13637, 11003, 96963}}, +{12036, 17, 53762, {1, 1, 5, 3, 29, 41, 31, 85, 35, 477, 227, 3325, 1213, 681, 14591, 31325, 12199}}, +{12037, 17, 53767, {1, 3, 7, 11, 11, 11, 33, 255, 335, 747, 855, 31, 6101, 293, 20423, 47521, 62573}}, +{12038, 17, 53785, {1, 1, 1, 15, 31, 15, 33, 175, 321, 441, 1197, 3579, 4989, 9275, 30485, 1077, 122947}}, +{12039, 17, 53786, {1, 3, 5, 15, 23, 21, 127, 223, 249, 373, 1309, 1469, 5701, 9097, 29897, 26627, 38489}}, +{12040, 17, 53795, {1, 3, 7, 3, 3, 35, 83, 149, 259, 315, 1467, 1953, 6035, 7961, 10901, 25171, 130713}}, +{12041, 17, 53802, {1, 1, 3, 9, 7, 63, 55, 33, 375, 421, 151, 1721, 1999, 14937, 17539, 48323, 97345}}, +{12042, 17, 53812, {1, 1, 5, 5, 3, 21, 47, 19, 227, 131, 1591, 3779, 929, 13879, 13489, 19805, 20135}}, +{12043, 17, 53821, {1, 1, 7, 1, 31, 25, 87, 125, 213, 135, 809, 3067, 5035, 7407, 2193, 31423, 123973}}, +{12044, 17, 53827, {1, 3, 5, 13, 17, 19, 77, 169, 345, 115, 227, 649, 3609, 15063, 1895, 17533, 95859}}, +{12045, 17, 53833, {1, 3, 5, 15, 17, 29, 17, 11, 145, 601, 1871, 851, 8161, 14029, 10039, 4247, 62393}}, +{12046, 17, 53841, {1, 1, 7, 13, 25, 5, 49, 231, 261, 71, 335, 4081, 7915, 11367, 17087, 26041, 128737}}, +{12047, 17, 53848, {1, 1, 1, 13, 13, 21, 77, 113, 373, 1005, 109, 2877, 3001, 15011, 2465, 37015, 69049}}, +{12048, 17, 53869, {1, 1, 3, 15, 31, 33, 119, 121, 41, 9, 1567, 577, 1687, 12117, 17049, 675, 10729}}, +{12049, 17, 53897, {1, 3, 5, 11, 31, 7, 47, 41, 127, 81, 273, 1649, 975, 3953, 17021, 24163, 12599}}, +{12050, 17, 53905, {1, 3, 1, 3, 27, 41, 75, 237, 317, 85, 1995, 2255, 2191, 6441, 26629, 25797, 97681}}, +{12051, 17, 53912, {1, 1, 1, 3, 11, 5, 31, 109, 227, 977, 59, 793, 3305, 10905, 16529, 21345, 2403}}, +{12052, 17, 53921, {1, 3, 5, 9, 9, 37, 107, 129, 421, 383, 1415, 885, 3383, 9547, 7303, 41745, 59919}}, +{12053, 17, 53928, {1, 1, 7, 7, 29, 27, 59, 177, 97, 299, 1019, 1393, 7763, 5715, 9253, 58035, 23431}}, +{12054, 17, 53948, {1, 3, 3, 3, 23, 13, 51, 101, 75, 857, 1699, 2687, 3983, 10427, 19845, 49503, 96033}}, +{12055, 17, 53954, {1, 1, 1, 7, 21, 51, 25, 71, 265, 999, 1259, 625, 775, 11045, 20769, 42597, 115521}}, +{12056, 17, 53968, {1, 3, 1, 13, 25, 47, 21, 245, 201, 667, 1193, 1087, 407, 6057, 14929, 35291, 57615}}, +{12057, 17, 53977, {1, 1, 1, 7, 27, 25, 93, 85, 321, 1009, 1045, 1901, 349, 11393, 10917, 10413, 94125}}, +{12058, 17, 53983, {1, 1, 1, 15, 3, 63, 59, 51, 307, 135, 785, 1921, 6921, 5689, 8487, 21061, 69903}}, +{12059, 17, 53984, {1, 3, 7, 1, 13, 47, 59, 155, 107, 573, 843, 2849, 6685, 5927, 31747, 21541, 94271}}, +{12060, 17, 54002, {1, 1, 7, 15, 23, 7, 85, 169, 209, 527, 1027, 3745, 4773, 14893, 10789, 1243, 87133}}, +{12061, 17, 54007, {1, 1, 5, 9, 1, 1, 53, 57, 245, 899, 1785, 1951, 7651, 10909, 30167, 40789, 66965}}, +{12062, 17, 54013, {1, 1, 1, 7, 17, 33, 65, 79, 455, 677, 157, 1313, 1573, 9697, 4161, 4609, 42783}}, +{12063, 17, 54014, {1, 3, 7, 7, 27, 15, 109, 113, 239, 521, 563, 2493, 1471, 15817, 14515, 48465, 66009}}, +{12064, 17, 54021, {1, 3, 5, 3, 29, 33, 125, 169, 483, 593, 1665, 657, 3799, 15829, 29591, 25813, 40987}}, +{12065, 17, 54026, {1, 3, 1, 11, 15, 25, 21, 215, 341, 241, 1599, 3807, 6633, 15137, 15377, 56881, 47499}}, +{12066, 17, 54028, {1, 3, 3, 3, 15, 49, 89, 117, 191, 641, 675, 2671, 4243, 1617, 20261, 42669, 119173}}, +{12067, 17, 54031, {1, 1, 1, 13, 13, 43, 73, 103, 183, 239, 555, 2121, 4889, 1431, 20601, 21545, 11809}}, +{12068, 17, 54036, {1, 3, 1, 9, 9, 9, 121, 51, 77, 455, 1481, 427, 1961, 12149, 21273, 16295, 21909}}, +{12069, 17, 54067, {1, 1, 5, 11, 19, 55, 37, 63, 493, 663, 945, 2191, 2491, 11545, 7407, 36295, 94293}}, +{12070, 17, 54069, {1, 3, 5, 15, 25, 35, 103, 33, 171, 425, 409, 5, 2519, 2239, 30557, 20007, 69079}}, +{12071, 17, 54074, {1, 1, 5, 11, 13, 29, 71, 21, 35, 833, 191, 365, 7013, 12413, 10227, 56705, 61705}}, +{12072, 17, 54076, {1, 1, 1, 1, 21, 13, 87, 113, 63, 537, 283, 925, 2147, 1683, 31239, 2775, 131021}}, +{12073, 17, 54105, {1, 1, 3, 9, 23, 1, 117, 19, 487, 235, 877, 149, 369, 9615, 12501, 60175, 35741}}, +{12074, 17, 54111, {1, 1, 7, 9, 5, 25, 107, 199, 339, 755, 245, 2861, 1119, 14683, 2221, 5227, 81479}}, +{12075, 17, 54118, {1, 1, 1, 15, 5, 15, 37, 63, 511, 219, 783, 3245, 5563, 13231, 22311, 16803, 10393}}, +{12076, 17, 54129, {1, 3, 7, 5, 1, 15, 9, 21, 287, 991, 555, 771, 7683, 1661, 6553, 43735, 118713}}, +{12077, 17, 54145, {1, 3, 1, 3, 3, 29, 119, 157, 13, 599, 537, 2921, 5207, 11621, 1515, 6351, 118429}}, +{12078, 17, 54157, {1, 1, 5, 1, 27, 39, 111, 117, 481, 25, 549, 913, 6427, 7703, 23099, 50501, 7617}}, +{12079, 17, 54158, {1, 1, 7, 5, 29, 63, 43, 151, 63, 43, 197, 3165, 3879, 12435, 461, 64475, 60597}}, +{12080, 17, 54163, {1, 3, 1, 11, 31, 35, 59, 207, 387, 441, 1293, 2117, 3751, 12653, 2811, 42585, 33297}}, +{12081, 17, 54166, {1, 3, 7, 15, 27, 47, 13, 15, 135, 433, 615, 1, 171, 11503, 27117, 64635, 122191}}, +{12082, 17, 54172, {1, 1, 7, 1, 23, 23, 107, 135, 311, 395, 373, 2771, 81, 12513, 16739, 6715, 94999}}, +{12083, 17, 54185, {1, 3, 5, 7, 19, 9, 21, 139, 307, 231, 65, 59, 7767, 2897, 3503, 58163, 48807}}, +{12084, 17, 54186, {1, 3, 5, 13, 23, 5, 51, 247, 125, 911, 1395, 1337, 3215, 15811, 12729, 21495, 22597}}, +{12085, 17, 54188, {1, 3, 5, 5, 1, 19, 123, 125, 197, 533, 1699, 1397, 3473, 15201, 24493, 3395, 98261}}, +{12086, 17, 54208, {1, 1, 3, 7, 29, 39, 69, 97, 353, 293, 1103, 543, 5015, 9913, 6965, 61921, 122073}}, +{12087, 17, 54223, {1, 1, 3, 13, 19, 41, 117, 253, 449, 231, 865, 3055, 4751, 3277, 22863, 3249, 38359}}, +{12088, 17, 54237, {1, 3, 5, 13, 9, 7, 107, 17, 251, 501, 1925, 3733, 5035, 13213, 12535, 13705, 73047}}, +{12089, 17, 54241, {1, 3, 7, 5, 23, 5, 83, 45, 457, 667, 913, 1167, 7063, 10915, 10911, 20501, 61823}}, +{12090, 17, 54244, {1, 3, 3, 13, 7, 15, 29, 223, 503, 713, 667, 3989, 5927, 5909, 27633, 17615, 97931}}, +{12091, 17, 54259, {1, 3, 7, 13, 19, 53, 25, 41, 311, 327, 1323, 3361, 1095, 12701, 1065, 34155, 34705}}, +{12092, 17, 54273, {1, 1, 7, 7, 11, 35, 63, 73, 179, 477, 467, 4043, 3097, 16089, 12749, 18233, 50299}}, +{12093, 17, 54276, {1, 3, 3, 13, 5, 27, 31, 207, 357, 469, 607, 961, 7393, 6707, 25833, 22337, 119083}}, +{12094, 17, 54280, {1, 1, 3, 3, 7, 53, 47, 55, 267, 107, 1307, 2151, 793, 15605, 12153, 13075, 76529}}, +{12095, 17, 54294, {1, 3, 5, 1, 13, 35, 63, 191, 375, 221, 1603, 2049, 5363, 1481, 32271, 22635, 118603}}, +{12096, 17, 54298, {1, 1, 1, 11, 17, 63, 13, 3, 353, 943, 443, 141, 7441, 12335, 4499, 15923, 63677}}, +{12097, 17, 54303, {1, 3, 7, 13, 21, 51, 125, 61, 203, 1, 707, 3893, 4627, 3125, 14629, 62721, 85101}}, +{12098, 17, 54304, {1, 1, 3, 5, 31, 23, 63, 241, 41, 721, 599, 1761, 2593, 1685, 31247, 7811, 87561}}, +{12099, 17, 54309, {1, 1, 7, 9, 7, 53, 51, 9, 303, 675, 1261, 1591, 4363, 15, 29723, 54533, 103869}}, +{12100, 17, 54310, {1, 3, 5, 7, 27, 21, 103, 113, 463, 379, 635, 2363, 607, 11445, 22475, 58433, 93071}}, +{12101, 17, 54316, {1, 1, 5, 5, 5, 63, 23, 67, 399, 279, 829, 945, 6545, 14951, 5135, 22889, 87625}}, +{12102, 17, 54336, {1, 1, 7, 15, 1, 59, 69, 123, 169, 821, 1125, 2051, 3375, 11691, 1379, 57461, 124209}}, +{12103, 17, 54354, {1, 1, 5, 15, 31, 57, 51, 59, 297, 459, 701, 241, 2801, 11893, 4007, 13165, 79403}}, +{12104, 17, 54359, {1, 1, 5, 9, 11, 41, 79, 47, 19, 529, 21, 1871, 371, 6269, 7433, 36183, 96113}}, +{12105, 17, 54375, {1, 1, 7, 5, 29, 3, 33, 191, 119, 501, 1637, 2903, 3347, 4581, 17407, 18169, 10595}}, +{12106, 17, 54376, {1, 3, 5, 11, 9, 35, 95, 193, 413, 727, 1157, 3331, 5993, 1781, 22653, 3975, 110557}}, +{12107, 17, 54381, {1, 1, 1, 1, 23, 5, 35, 65, 57, 515, 569, 4031, 7983, 4603, 29419, 44847, 63601}}, +{12108, 17, 54390, {1, 3, 1, 7, 21, 5, 77, 23, 317, 803, 723, 3229, 7171, 2883, 10943, 50323, 108579}}, +{12109, 17, 54396, {1, 3, 5, 11, 15, 53, 75, 127, 177, 19, 501, 1201, 5113, 9069, 8817, 14725, 104737}}, +{12110, 17, 54399, {1, 3, 7, 9, 7, 39, 5, 121, 409, 103, 1075, 451, 7603, 16023, 32557, 43159, 94385}}, +{12111, 17, 54409, {1, 3, 1, 11, 29, 57, 123, 141, 57, 945, 1777, 2427, 2359, 12839, 7325, 7945, 129811}}, +{12112, 17, 54424, {1, 3, 5, 15, 5, 3, 17, 55, 467, 61, 131, 2891, 6331, 5859, 20437, 49425, 80731}}, +{12113, 17, 54434, {1, 1, 1, 15, 29, 13, 127, 181, 361, 1019, 1675, 2755, 6533, 8957, 14691, 4285, 65459}}, +{12114, 17, 54436, {1, 1, 7, 11, 23, 43, 111, 183, 103, 269, 229, 3291, 1873, 11349, 29319, 64829, 19639}}, +{12115, 17, 54439, {1, 3, 7, 11, 15, 63, 1, 253, 489, 863, 1707, 2769, 3201, 7901, 18161, 12515, 130237}}, +{12116, 17, 54445, {1, 3, 1, 7, 1, 25, 43, 159, 505, 511, 1745, 1421, 6779, 11103, 23535, 61129, 124571}}, +{12117, 17, 54448, {1, 1, 3, 13, 19, 33, 17, 243, 481, 617, 1061, 1891, 7165, 6821, 18505, 8965, 70179}}, +{12118, 17, 54457, {1, 1, 7, 13, 17, 17, 65, 23, 255, 361, 1873, 1605, 2041, 11119, 11419, 63131, 49207}}, +{12119, 17, 54465, {1, 1, 5, 13, 15, 57, 27, 223, 199, 529, 1115, 1513, 8083, 11713, 21005, 50741, 122223}}, +{12120, 17, 54471, {1, 3, 5, 15, 29, 35, 107, 85, 141, 505, 1553, 1283, 4581, 5077, 9461, 59853, 23219}}, +{12121, 17, 54472, {1, 3, 5, 11, 11, 45, 53, 195, 199, 773, 1911, 721, 1563, 3769, 3267, 30673, 80313}}, +{12122, 17, 54485, {1, 3, 7, 7, 21, 37, 9, 129, 431, 79, 1559, 2125, 7781, 6441, 23533, 46919, 25315}}, +{12123, 17, 54508, {1, 1, 5, 15, 11, 61, 77, 231, 349, 647, 225, 85, 6789, 12557, 6505, 21985, 54965}}, +{12124, 17, 54513, {1, 1, 5, 1, 19, 21, 33, 211, 347, 491, 1119, 1619, 3739, 11255, 26705, 59691, 35337}}, +{12125, 17, 54528, {1, 1, 3, 3, 29, 15, 7, 23, 279, 145, 699, 289, 475, 1681, 3201, 64477, 24919}}, +{12126, 17, 54534, {1, 1, 7, 7, 23, 53, 75, 71, 315, 403, 1521, 1417, 3749, 11243, 3951, 61039, 51143}}, +{12127, 17, 54537, {1, 3, 7, 3, 15, 21, 81, 219, 249, 387, 1405, 3495, 7143, 2599, 25435, 15259, 66069}}, +{12128, 17, 54540, {1, 1, 5, 7, 31, 9, 63, 55, 409, 421, 1851, 847, 1593, 10447, 2833, 13209, 47285}}, +{12129, 17, 54551, {1, 1, 3, 7, 15, 3, 35, 49, 253, 21, 1705, 357, 2751, 9671, 12429, 4549, 118691}}, +{12130, 17, 54561, {1, 1, 5, 15, 1, 3, 97, 197, 43, 923, 1273, 663, 4291, 12357, 28221, 15291, 60989}}, +{12131, 17, 54573, {1, 1, 7, 7, 15, 3, 35, 115, 449, 641, 743, 1855, 359, 10983, 2831, 43983, 56465}}, +{12132, 17, 54579, {1, 3, 7, 11, 1, 51, 69, 27, 29, 187, 1673, 1273, 7987, 1223, 8971, 53805, 4413}}, +{12133, 17, 54586, {1, 1, 3, 11, 1, 55, 91, 241, 35, 97, 1027, 3967, 703, 3535, 21681, 55825, 50423}}, +{12134, 17, 54591, {1, 1, 7, 11, 21, 53, 111, 125, 11, 355, 1585, 3603, 1705, 16311, 7045, 15503, 63625}}, +{12135, 17, 54596, {1, 1, 5, 15, 25, 47, 31, 29, 333, 361, 1831, 1545, 7751, 8679, 32453, 61755, 94637}}, +{12136, 17, 54599, {1, 1, 3, 3, 23, 3, 79, 11, 367, 551, 281, 1273, 5097, 12527, 473, 33855, 85783}}, +{12137, 17, 54605, {1, 1, 1, 15, 27, 21, 107, 121, 187, 495, 1877, 1957, 3647, 13263, 30729, 18131, 33689}}, +{12138, 17, 54613, {1, 1, 5, 13, 3, 43, 41, 53, 127, 299, 839, 3327, 7929, 9921, 29471, 18075, 34283}}, +{12139, 17, 54623, {1, 1, 7, 13, 31, 5, 59, 75, 335, 929, 379, 139, 7121, 9281, 31161, 3177, 2615}}, +{12140, 17, 54654, {1, 3, 7, 1, 11, 19, 81, 199, 425, 639, 497, 693, 1271, 7363, 10543, 52513, 130549}}, +{12141, 17, 54667, {1, 3, 3, 7, 21, 41, 101, 67, 363, 5, 1455, 1433, 81, 15609, 16231, 13285, 38995}}, +{12142, 17, 54681, {1, 1, 3, 15, 11, 19, 123, 177, 429, 27, 141, 3095, 5379, 2241, 29877, 59383, 25199}}, +{12143, 17, 54684, {1, 1, 7, 7, 19, 63, 93, 217, 279, 349, 149, 2479, 2355, 6475, 29993, 37941, 58715}}, +{12144, 17, 54687, {1, 3, 7, 3, 21, 23, 59, 177, 489, 817, 1209, 1629, 5805, 3137, 23767, 62967, 16609}}, +{12145, 17, 54694, {1, 3, 3, 7, 9, 55, 59, 31, 191, 891, 833, 1059, 3007, 2331, 385, 58247, 110697}}, +{12146, 17, 54706, {1, 1, 3, 3, 11, 61, 9, 189, 79, 621, 209, 2785, 2959, 4133, 20691, 45605, 117089}}, +{12147, 17, 54712, {1, 3, 3, 5, 5, 47, 31, 1, 451, 765, 2027, 2327, 1725, 14341, 7997, 6449, 77893}}, +{12148, 17, 54715, {1, 1, 7, 1, 7, 27, 27, 129, 227, 505, 1461, 783, 945, 12653, 17913, 61631, 41875}}, +{12149, 17, 54723, {1, 1, 1, 11, 13, 41, 41, 221, 483, 825, 451, 493, 1717, 10389, 7805, 37707, 30733}}, +{12150, 17, 54725, {1, 1, 5, 3, 31, 31, 75, 3, 323, 83, 563, 919, 7387, 1673, 6157, 7415, 14947}}, +{12151, 17, 54726, {1, 1, 7, 13, 19, 37, 29, 93, 153, 491, 1033, 1389, 6361, 11133, 20049, 24585, 107325}}, +{12152, 17, 54740, {1, 1, 1, 15, 3, 35, 79, 251, 383, 665, 2033, 3165, 3411, 15965, 28281, 56521, 56479}}, +{12153, 17, 54750, {1, 3, 1, 15, 23, 1, 87, 145, 443, 405, 635, 1597, 1455, 5983, 12741, 55133, 2815}}, +{12154, 17, 54760, {1, 1, 1, 13, 11, 25, 19, 129, 23, 913, 1121, 223, 1991, 13449, 30443, 50573, 108467}}, +{12155, 17, 54768, {1, 1, 7, 11, 29, 31, 49, 51, 415, 293, 173, 4091, 159, 2679, 30643, 58725, 109287}}, +{12156, 17, 54771, {1, 1, 1, 7, 15, 53, 69, 231, 387, 693, 1299, 1383, 7935, 10313, 22403, 59341, 3347}}, +{12157, 17, 54773, {1, 3, 3, 5, 9, 21, 111, 11, 469, 109, 1565, 3107, 2975, 12491, 26773, 33245, 27589}}, +{12158, 17, 54796, {1, 1, 3, 5, 3, 9, 103, 127, 345, 301, 857, 2035, 3269, 13819, 7555, 5197, 94557}}, +{12159, 17, 54801, {1, 3, 7, 3, 31, 3, 61, 253, 221, 359, 1281, 1405, 4819, 1329, 17773, 29539, 127043}}, +{12160, 17, 54808, {1, 1, 7, 11, 17, 47, 105, 253, 253, 531, 119, 2009, 6125, 9387, 13141, 29079, 28361}}, +{12161, 17, 54814, {1, 1, 3, 5, 21, 13, 21, 223, 79, 819, 1425, 1001, 6517, 8883, 29997, 30637, 7717}}, +{12162, 17, 54837, {1, 3, 1, 3, 1, 23, 113, 69, 235, 95, 1873, 689, 4611, 13209, 12681, 16057, 114071}}, +{12163, 17, 54847, {1, 3, 3, 13, 25, 21, 93, 55, 253, 373, 1659, 829, 6539, 7453, 28195, 33131, 92559}}, +{12164, 17, 54849, {1, 1, 3, 11, 25, 29, 81, 235, 429, 811, 1867, 2923, 5949, 4423, 93, 64631, 48357}}, +{12165, 17, 54864, {1, 3, 5, 13, 29, 27, 35, 15, 105, 849, 247, 3999, 6441, 12443, 19817, 49897, 21515}}, +{12166, 17, 54867, {1, 1, 5, 15, 13, 59, 3, 199, 267, 463, 655, 3875, 2895, 13411, 5081, 22069, 6053}}, +{12167, 17, 54889, {1, 1, 5, 9, 5, 13, 111, 83, 281, 543, 629, 1349, 1863, 9523, 19201, 39229, 78265}}, +{12168, 17, 54895, {1, 3, 7, 1, 29, 23, 109, 75, 347, 643, 97, 1981, 2797, 11201, 28355, 54105, 45551}}, +{12169, 17, 54907, {1, 3, 1, 7, 9, 5, 77, 17, 179, 957, 621, 779, 7117, 1491, 11563, 10131, 98335}}, +{12170, 17, 54919, {1, 3, 3, 1, 3, 53, 39, 217, 309, 105, 485, 3123, 3143, 2359, 4923, 22307, 120319}}, +{12171, 17, 54923, {1, 1, 7, 7, 11, 5, 65, 165, 321, 455, 625, 2417, 999, 14999, 6777, 13319, 43399}}, +{12172, 17, 54926, {1, 1, 7, 3, 11, 55, 43, 119, 135, 129, 581, 3593, 3475, 14667, 30509, 5007, 120135}}, +{12173, 17, 54940, {1, 1, 1, 11, 7, 17, 95, 169, 401, 87, 1425, 1821, 7619, 3605, 10993, 35837, 87311}}, +{12174, 17, 54950, {1, 1, 7, 11, 11, 35, 29, 63, 395, 301, 373, 2457, 6859, 1915, 11215, 41075, 78219}}, +{12175, 17, 54954, {1, 3, 5, 7, 25, 3, 97, 43, 273, 459, 103, 3441, 71, 10269, 29893, 46053, 104801}}, +{12176, 17, 54961, {1, 3, 3, 7, 31, 3, 121, 255, 73, 783, 977, 513, 6527, 1189, 8925, 23245, 22287}}, +{12177, 17, 54973, {1, 3, 3, 13, 15, 53, 51, 135, 465, 341, 263, 1687, 4085, 14257, 18745, 46945, 115475}}, +{12178, 17, 54974, {1, 3, 1, 5, 31, 1, 1, 91, 511, 771, 1501, 2613, 991, 3859, 28911, 65417, 201}}, +{12179, 17, 54976, {1, 1, 7, 1, 27, 21, 107, 153, 163, 949, 811, 3087, 3443, 5621, 28795, 58311, 63763}}, +{12180, 17, 54986, {1, 1, 7, 5, 29, 29, 57, 175, 29, 821, 1545, 2643, 725, 16225, 29111, 19675, 129995}}, +{12181, 17, 54993, {1, 1, 7, 3, 31, 31, 61, 155, 265, 323, 1829, 3891, 6393, 8573, 10627, 10839, 78683}}, +{12182, 17, 55000, {1, 3, 5, 7, 29, 7, 67, 181, 313, 731, 1761, 1681, 3673, 8939, 811, 48931, 82021}}, +{12183, 17, 55010, {1, 3, 1, 3, 11, 51, 81, 67, 173, 881, 855, 3627, 1613, 4825, 7035, 36261, 64899}}, +{12184, 17, 55019, {1, 3, 7, 7, 15, 53, 123, 41, 265, 817, 807, 3875, 7675, 16225, 13313, 62217, 47647}}, +{12185, 17, 55021, {1, 1, 3, 13, 23, 47, 125, 155, 403, 651, 1693, 2185, 5565, 9947, 20893, 11287, 118943}}, +{12186, 17, 55030, {1, 3, 7, 3, 19, 47, 69, 5, 209, 259, 367, 3929, 7579, 12687, 18109, 51885, 128281}}, +{12187, 17, 55033, {1, 1, 7, 5, 27, 41, 45, 41, 205, 1001, 1509, 2649, 1141, 5355, 10265, 34131, 112111}}, +{12188, 17, 55039, {1, 3, 7, 5, 19, 41, 103, 63, 49, 25, 271, 793, 3217, 4741, 2563, 61333, 113205}}, +{12189, 17, 55047, {1, 3, 3, 15, 15, 35, 13, 233, 277, 673, 545, 545, 7419, 6707, 1867, 58873, 110027}}, +{12190, 17, 55048, {1, 1, 7, 3, 9, 23, 67, 55, 3, 1019, 2001, 2909, 7311, 9295, 26953, 43217, 54597}}, +{12191, 17, 55054, {1, 3, 5, 7, 13, 33, 67, 27, 75, 569, 1777, 791, 1223, 1805, 19167, 60537, 60039}}, +{12192, 17, 55059, {1, 1, 5, 13, 15, 61, 49, 59, 289, 907, 1055, 3579, 8169, 12119, 25479, 32867, 65343}}, +{12193, 17, 55068, {1, 3, 5, 9, 5, 63, 91, 225, 377, 469, 891, 891, 5115, 11487, 30151, 44357, 120077}}, +{12194, 17, 55071, {1, 1, 1, 15, 29, 59, 19, 51, 295, 585, 149, 497, 5837, 11629, 7825, 18129, 113797}}, +{12195, 17, 55075, {1, 1, 3, 7, 31, 25, 77, 209, 183, 337, 1753, 2703, 2559, 11847, 17349, 27359, 21771}}, +{12196, 17, 55077, {1, 1, 7, 7, 13, 23, 69, 61, 353, 339, 833, 1935, 4333, 10521, 20331, 62145, 59245}}, +{12197, 17, 55081, {1, 1, 5, 13, 19, 57, 35, 59, 203, 99, 487, 2747, 637, 8213, 27053, 29, 64335}}, +{12198, 17, 55095, {1, 3, 5, 7, 27, 5, 71, 147, 339, 313, 913, 2845, 5713, 4383, 18969, 54871, 51931}}, +{12199, 17, 55099, {1, 1, 1, 5, 7, 23, 19, 11, 111, 543, 311, 1519, 387, 10175, 18209, 14115, 123421}}, +{12200, 17, 55110, {1, 3, 7, 11, 7, 7, 123, 193, 417, 65, 1317, 3821, 2315, 14527, 14113, 25873, 23977}}, +{12201, 17, 55116, {1, 1, 3, 15, 21, 11, 3, 37, 115, 395, 877, 1227, 6997, 4357, 11397, 52855, 24899}}, +{12202, 17, 55122, {1, 1, 7, 5, 15, 45, 45, 17, 441, 605, 429, 739, 4759, 5249, 11311, 55049, 56909}}, +{12203, 17, 55134, {1, 1, 1, 5, 3, 5, 77, 31, 407, 703, 385, 235, 7751, 617, 16013, 27269, 66971}}, +{12204, 17, 55144, {1, 3, 3, 15, 25, 27, 19, 251, 465, 197, 1039, 3261, 4557, 4821, 16083, 43997, 61371}}, +{12205, 17, 55147, {1, 3, 3, 15, 21, 45, 13, 139, 213, 797, 619, 2125, 3805, 4149, 11427, 59807, 104587}}, +{12206, 17, 55158, {1, 3, 1, 1, 29, 27, 25, 7, 371, 535, 1613, 1083, 4221, 8913, 10601, 6447, 17619}}, +{12207, 17, 55162, {1, 1, 3, 3, 13, 35, 37, 127, 285, 899, 307, 123, 129, 14035, 26503, 64103, 27155}}, +{12208, 17, 55171, {1, 1, 7, 7, 27, 25, 45, 245, 271, 281, 69, 3505, 7087, 1529, 7121, 30327, 89131}}, +{12209, 17, 55185, {1, 1, 3, 11, 13, 57, 31, 23, 455, 427, 1683, 3019, 5827, 8817, 12943, 321, 39951}}, +{12210, 17, 55192, {1, 3, 1, 3, 31, 41, 69, 211, 385, 275, 1569, 2265, 4017, 11057, 15, 16619, 126967}}, +{12211, 17, 55197, {1, 3, 3, 1, 27, 27, 21, 145, 125, 929, 1371, 1469, 1591, 5283, 4651, 1265, 17161}}, +{12212, 17, 55207, {1, 3, 7, 5, 29, 31, 41, 141, 49, 967, 1421, 663, 6089, 3831, 11353, 38809, 108605}}, +{12213, 17, 55228, {1, 1, 7, 15, 11, 23, 91, 31, 9, 717, 265, 1729, 3563, 8145, 20441, 22933, 103683}}, +{12214, 17, 55246, {1, 1, 7, 3, 17, 13, 47, 13, 241, 1017, 1803, 2091, 7379, 2941, 11783, 36189, 53513}}, +{12215, 17, 55253, {1, 3, 1, 11, 31, 63, 107, 79, 427, 385, 1497, 1265, 5135, 13597, 27343, 56733, 100595}}, +{12216, 17, 55254, {1, 3, 7, 3, 9, 15, 119, 29, 205, 151, 1453, 3575, 3627, 7815, 3553, 31457, 14267}}, +{12217, 17, 55281, {1, 3, 1, 7, 15, 21, 73, 47, 417, 29, 1231, 2477, 161, 15997, 4457, 3939, 43929}}, +{12218, 17, 55300, {1, 1, 5, 5, 19, 49, 103, 251, 359, 69, 669, 299, 8161, 10579, 13999, 26859, 92199}}, +{12219, 17, 55303, {1, 1, 3, 1, 9, 27, 81, 7, 115, 29, 1067, 1933, 3061, 2885, 27883, 65227, 59365}}, +{12220, 17, 55307, {1, 1, 1, 5, 23, 17, 1, 113, 495, 155, 1673, 3945, 8053, 7935, 3537, 65141, 11809}}, +{12221, 17, 55312, {1, 1, 1, 15, 15, 59, 61, 213, 303, 851, 1893, 615, 6659, 9351, 16621, 6097, 114383}}, +{12222, 17, 55328, {1, 3, 1, 7, 19, 11, 95, 127, 277, 677, 1631, 2563, 3295, 7029, 4059, 44079, 128857}}, +{12223, 17, 55331, {1, 3, 7, 11, 27, 49, 99, 43, 279, 771, 123, 2969, 699, 12915, 22039, 62257, 79359}}, +{12224, 17, 55337, {1, 1, 7, 3, 19, 45, 45, 113, 251, 883, 715, 1541, 1573, 3345, 23855, 62681, 57591}}, +{12225, 17, 55348, {1, 1, 5, 15, 11, 1, 51, 15, 135, 519, 961, 1447, 4425, 2139, 3309, 35111, 74143}}, +{12226, 17, 55352, {1, 3, 7, 7, 17, 39, 109, 25, 11, 549, 315, 2175, 685, 11837, 9151, 6277, 45011}}, +{12227, 17, 55357, {1, 1, 1, 9, 27, 7, 95, 1, 385, 167, 453, 1027, 4105, 16351, 19, 10375, 62833}}, +{12228, 17, 55372, {1, 3, 7, 13, 17, 19, 107, 11, 441, 171, 185, 3567, 1245, 12161, 30257, 48105, 87105}}, +{12229, 17, 55375, {1, 3, 3, 9, 15, 5, 109, 225, 85, 919, 513, 3559, 5411, 9009, 27391, 25115, 84875}}, +{12230, 17, 55377, {1, 3, 3, 7, 11, 37, 81, 51, 121, 25, 1897, 2121, 6425, 16087, 4259, 29501, 118067}}, +{12231, 17, 55394, {1, 1, 7, 3, 5, 53, 73, 127, 137, 739, 543, 1723, 1163, 2791, 18519, 1459, 50869}}, +{12232, 17, 55406, {1, 1, 3, 11, 29, 51, 101, 189, 193, 839, 25, 3109, 3035, 3917, 23929, 38577, 129705}}, +{12233, 17, 55424, {1, 3, 7, 15, 9, 29, 93, 101, 271, 791, 1257, 1843, 2701, 8205, 15195, 9109, 120835}}, +{12234, 17, 55429, {1, 3, 3, 5, 29, 47, 31, 135, 483, 385, 1395, 2955, 7291, 12885, 9491, 14581, 66293}}, +{12235, 17, 55430, {1, 1, 7, 1, 5, 37, 105, 149, 63, 617, 1611, 3025, 3177, 15463, 3373, 3503, 95001}}, +{12236, 17, 55436, {1, 1, 5, 13, 1, 57, 19, 35, 127, 423, 1221, 1547, 4083, 347, 17131, 60087, 27437}}, +{12237, 17, 55439, {1, 3, 7, 9, 25, 1, 105, 39, 25, 921, 1897, 1729, 2207, 7761, 24197, 457, 64241}}, +{12238, 17, 55447, {1, 3, 7, 9, 15, 21, 13, 113, 379, 1021, 489, 1757, 5869, 4833, 24717, 52227, 3209}}, +{12239, 17, 55453, {1, 3, 1, 5, 9, 61, 25, 41, 183, 473, 383, 2259, 6939, 3, 32161, 6319, 93099}}, +{12240, 17, 55458, {1, 1, 5, 13, 13, 47, 97, 3, 357, 837, 1655, 485, 4251, 12153, 9013, 25121, 51877}}, +{12241, 17, 55460, {1, 1, 1, 15, 7, 59, 65, 119, 467, 313, 1333, 2007, 5165, 13935, 13679, 3999, 81811}}, +{12242, 17, 55478, {1, 1, 5, 13, 13, 1, 63, 117, 449, 13, 1017, 1583, 7599, 3669, 32699, 59455, 32363}}, +{12243, 17, 55489, {1, 1, 7, 9, 7, 15, 37, 251, 167, 25, 1085, 2067, 2771, 5737, 20661, 19231, 59547}}, +{12244, 17, 55501, {1, 1, 5, 13, 29, 11, 63, 37, 281, 657, 1567, 2879, 7601, 15617, 16527, 51695, 5583}}, +{12245, 17, 55502, {1, 1, 5, 3, 31, 17, 19, 65, 315, 413, 927, 3617, 4089, 11899, 3759, 47991, 1685}}, +{12246, 17, 55519, {1, 1, 1, 1, 13, 47, 89, 91, 379, 429, 283, 3765, 2923, 14955, 26399, 9579, 39817}}, +{12247, 17, 55525, {1, 1, 1, 9, 1, 17, 91, 119, 327, 291, 39, 2883, 6265, 553, 7559, 60577, 34393}}, +{12248, 17, 55530, {1, 3, 5, 5, 9, 33, 123, 219, 103, 529, 181, 1321, 6815, 2411, 10555, 43911, 18889}}, +{12249, 17, 55544, {1, 1, 5, 7, 9, 13, 7, 45, 427, 523, 1189, 255, 2103, 7217, 16249, 14631, 90409}}, +{12250, 17, 55550, {1, 1, 1, 9, 11, 35, 55, 71, 89, 637, 1417, 411, 5305, 10125, 20715, 62927, 4993}}, +{12251, 17, 55558, {1, 3, 1, 9, 1, 59, 27, 221, 267, 797, 1081, 951, 1369, 2677, 20763, 63301, 61963}}, +{12252, 17, 55561, {1, 3, 5, 5, 17, 9, 67, 177, 89, 953, 1329, 1649, 989, 7773, 28747, 26231, 42331}}, +{12253, 17, 55569, {1, 3, 3, 9, 23, 35, 17, 145, 53, 519, 1173, 2079, 2593, 3633, 32005, 30573, 55651}}, +{12254, 17, 55586, {1, 1, 7, 7, 17, 41, 47, 253, 107, 843, 9, 323, 2391, 3267, 25813, 1741, 93493}}, +{12255, 17, 55591, {1, 1, 1, 9, 31, 43, 47, 91, 235, 569, 2017, 2385, 5055, 5747, 26471, 48819, 47315}}, +{12256, 17, 55598, {1, 3, 5, 9, 1, 17, 87, 91, 55, 287, 995, 2577, 1151, 9119, 22791, 50899, 16423}}, +{12257, 17, 55605, {1, 3, 7, 1, 3, 29, 9, 193, 269, 201, 325, 2209, 1061, 7957, 23265, 65083, 27575}}, +{12258, 17, 55609, {1, 3, 7, 15, 27, 23, 37, 239, 165, 959, 1965, 2105, 1581, 6621, 17315, 49255, 62487}}, +{12259, 17, 55618, {1, 3, 7, 7, 11, 31, 73, 145, 429, 421, 571, 3375, 2797, 15889, 26523, 12315, 48061}}, +{12260, 17, 55630, {1, 3, 3, 15, 23, 27, 105, 75, 497, 137, 475, 1343, 537, 10499, 27807, 46623, 32435}}, +{12261, 17, 55642, {1, 1, 7, 15, 15, 11, 51, 107, 225, 557, 1461, 3447, 1243, 13827, 23675, 26139, 54603}}, +{12262, 17, 55644, {1, 3, 5, 5, 7, 25, 51, 3, 85, 371, 1503, 3217, 1779, 7141, 29471, 42247, 107699}}, +{12263, 17, 55653, {1, 3, 7, 15, 23, 53, 127, 229, 241, 165, 1985, 1921, 5917, 15743, 18349, 23981, 58241}}, +{12264, 17, 55654, {1, 1, 3, 13, 9, 63, 49, 67, 21, 57, 377, 1807, 5603, 13651, 28039, 3745, 4903}}, +{12265, 17, 55660, {1, 3, 7, 11, 1, 43, 17, 95, 79, 343, 1939, 2349, 5195, 3047, 4325, 27829, 53809}}, +{12266, 17, 55671, {1, 1, 5, 9, 7, 43, 111, 221, 493, 151, 1635, 3949, 6661, 4861, 17661, 61909, 4975}}, +{12267, 17, 55693, {1, 3, 1, 3, 31, 47, 63, 45, 401, 153, 1139, 2125, 6639, 14093, 31607, 20645, 52245}}, +{12268, 17, 55706, {1, 1, 3, 1, 19, 31, 59, 139, 285, 749, 751, 775, 7795, 14917, 30295, 61037, 12315}}, +{12269, 17, 55712, {1, 3, 3, 9, 15, 55, 79, 183, 373, 663, 497, 2589, 4955, 5409, 23527, 2683, 5487}}, +{12270, 17, 55718, {1, 3, 7, 11, 25, 47, 53, 225, 197, 109, 1937, 1375, 7347, 7353, 2335, 21775, 14877}}, +{12271, 17, 55739, {1, 3, 1, 9, 23, 61, 51, 221, 129, 57, 115, 1031, 6793, 14773, 3331, 24951, 94761}}, +{12272, 17, 55747, {1, 1, 5, 15, 31, 9, 69, 117, 295, 147, 673, 3627, 7167, 13835, 20593, 53163, 83033}}, +{12273, 17, 55754, {1, 3, 7, 9, 15, 63, 111, 225, 147, 863, 691, 629, 7485, 483, 21835, 46251, 94645}}, +{12274, 17, 55771, {1, 3, 3, 3, 11, 41, 23, 159, 133, 787, 1617, 629, 5047, 4465, 29051, 47499, 7211}}, +{12275, 17, 55774, {1, 1, 3, 13, 21, 61, 29, 159, 73, 165, 917, 2577, 7237, 11807, 3767, 56861, 51395}}, +{12276, 17, 55780, {1, 1, 5, 3, 15, 31, 37, 233, 283, 265, 1645, 3843, 1971, 4989, 26823, 15243, 74931}}, +{12277, 17, 55783, {1, 3, 7, 11, 9, 51, 7, 119, 237, 905, 1211, 3041, 7641, 3387, 8373, 38961, 68925}}, +{12278, 17, 55784, {1, 1, 7, 3, 17, 53, 55, 195, 57, 957, 2027, 3965, 2993, 411, 13947, 58349, 32169}}, +{12279, 17, 55789, {1, 1, 7, 9, 7, 37, 55, 93, 173, 769, 1381, 3977, 5293, 5051, 21455, 45547, 64653}}, +{12280, 17, 55798, {1, 3, 5, 7, 1, 41, 89, 161, 315, 361, 1675, 2993, 3281, 13043, 19003, 22129, 130379}}, +{12281, 17, 55802, {1, 3, 1, 9, 13, 37, 85, 197, 465, 177, 661, 943, 541, 11117, 9751, 4193, 98291}}, +{12282, 17, 55823, {1, 1, 3, 7, 21, 7, 67, 17, 41, 817, 1159, 1483, 6937, 10079, 3639, 27887, 14541}}, +{12283, 17, 55828, {1, 3, 3, 15, 17, 63, 69, 215, 437, 883, 1857, 3319, 3107, 16279, 10709, 30433, 52551}}, +{12284, 17, 55837, {1, 1, 3, 11, 1, 5, 69, 37, 419, 999, 1711, 875, 3807, 10811, 16345, 61155, 116043}}, +{12285, 17, 55838, {1, 3, 7, 13, 17, 7, 57, 237, 81, 691, 1143, 4075, 2481, 643, 8091, 8243, 80111}}, +{12286, 17, 55847, {1, 1, 7, 7, 17, 61, 73, 215, 113, 885, 159, 2243, 1177, 10981, 10123, 48995, 123349}}, +{12287, 17, 55848, {1, 1, 1, 7, 31, 47, 99, 15, 371, 343, 1483, 1985, 25, 11125, 8357, 10677, 130895}}, +{12288, 17, 55885, {1, 3, 1, 13, 25, 41, 83, 37, 129, 493, 641, 185, 6607, 7213, 13285, 10439, 73227}}, +{12289, 17, 55897, {1, 1, 5, 7, 17, 15, 93, 53, 281, 91, 115, 3675, 3081, 9825, 23653, 40095, 91803}}, +{12290, 17, 55904, {1, 1, 1, 5, 3, 25, 39, 207, 419, 361, 953, 2823, 8105, 15763, 29199, 61607, 32633}}, +{12291, 17, 55910, {1, 1, 3, 1, 31, 51, 55, 3, 277, 639, 191, 1783, 139, 29, 16659, 30199, 69109}}, +{12292, 17, 55919, {1, 1, 1, 7, 31, 59, 25, 13, 239, 617, 115, 1787, 5757, 9927, 2417, 37313, 115135}}, +{12293, 17, 55922, {1, 1, 3, 5, 19, 35, 5, 187, 483, 823, 1875, 163, 4235, 853, 23679, 50899, 94981}}, +{12294, 17, 55931, {1, 3, 3, 11, 9, 39, 121, 201, 189, 543, 1493, 1215, 351, 16063, 1701, 56559, 108053}}, +{12295, 17, 55933, {1, 3, 1, 7, 1, 39, 31, 163, 347, 307, 349, 4081, 1729, 16265, 363, 28297, 50631}}, +{12296, 17, 55937, {1, 3, 7, 13, 21, 55, 127, 161, 75, 9, 1285, 1839, 5283, 5667, 10979, 22185, 7581}}, +{12297, 17, 55943, {1, 1, 3, 5, 13, 45, 17, 181, 117, 395, 1685, 663, 3441, 5359, 7157, 27759, 102343}}, +{12298, 17, 55955, {1, 3, 1, 7, 7, 31, 97, 187, 383, 769, 1469, 4007, 5521, 13973, 49, 43823, 75649}}, +{12299, 17, 55957, {1, 3, 5, 7, 31, 13, 47, 11, 335, 961, 321, 3367, 1903, 503, 8409, 1101, 58215}}, +{12300, 17, 55968, {1, 1, 7, 7, 25, 49, 39, 1, 453, 419, 333, 1759, 2287, 6243, 10723, 13687, 56853}}, +{12301, 17, 55980, {1, 3, 3, 7, 11, 55, 125, 197, 19, 591, 1969, 511, 2501, 8429, 29467, 27917, 63457}}, +{12302, 17, 55986, {1, 1, 3, 11, 11, 43, 35, 213, 231, 119, 379, 3761, 4891, 5677, 20317, 5459, 55487}}, +{12303, 17, 55992, {1, 1, 5, 7, 21, 9, 127, 59, 97, 963, 847, 2131, 7907, 11409, 8785, 48197, 96907}}, +{12304, 17, 56005, {1, 3, 5, 3, 23, 7, 45, 95, 179, 691, 1571, 3091, 6359, 9105, 26021, 26925, 43}}, +{12305, 17, 56034, {1, 3, 3, 7, 21, 7, 11, 219, 439, 465, 1983, 117, 4639, 8387, 27637, 15883, 5567}}, +{12306, 17, 56051, {1, 1, 7, 3, 1, 3, 51, 205, 425, 133, 563, 1317, 533, 1227, 8361, 23407, 39825}}, +{12307, 17, 56054, {1, 1, 5, 3, 3, 39, 19, 69, 477, 605, 3, 1887, 2077, 13673, 2763, 64415, 104519}}, +{12308, 17, 56065, {1, 1, 5, 15, 11, 45, 89, 245, 177, 591, 1313, 587, 4781, 5103, 26401, 12643, 38959}}, +{12309, 17, 56080, {1, 1, 1, 5, 11, 13, 15, 95, 271, 99, 2001, 2701, 6065, 3527, 7423, 37525, 117161}}, +{12310, 17, 56101, {1, 3, 7, 7, 21, 17, 111, 149, 373, 591, 1461, 809, 3877, 8635, 13209, 31439, 64285}}, +{12311, 17, 56113, {1, 3, 1, 15, 25, 51, 55, 161, 357, 181, 41, 2345, 3553, 9917, 30123, 40683, 122497}}, +{12312, 17, 56126, {1, 3, 7, 15, 5, 55, 119, 239, 291, 665, 1537, 3309, 2519, 12397, 25897, 51529, 28673}}, +{12313, 17, 56131, {1, 1, 1, 9, 25, 45, 21, 119, 19, 145, 313, 2509, 1031, 3319, 14863, 10759, 22577}}, +{12314, 17, 56134, {1, 3, 1, 15, 1, 61, 87, 229, 511, 83, 79, 51, 1407, 16293, 26217, 25839, 86207}}, +{12315, 17, 56143, {1, 3, 7, 7, 23, 43, 89, 11, 43, 801, 569, 3273, 315, 9537, 681, 34783, 97101}}, +{12316, 17, 56148, {1, 1, 5, 1, 13, 31, 77, 115, 501, 669, 27, 3765, 6789, 9139, 30587, 45995, 102433}}, +{12317, 17, 56152, {1, 1, 7, 1, 15, 21, 57, 197, 243, 353, 71, 341, 7319, 8467, 9779, 15755, 4185}}, +{12318, 17, 56174, {1, 1, 1, 1, 17, 21, 3, 185, 277, 585, 265, 3189, 3975, 353, 8541, 23905, 21881}}, +{12319, 17, 56181, {1, 3, 5, 3, 5, 23, 113, 253, 343, 73, 1419, 2529, 4333, 2007, 14307, 60591, 55411}}, +{12320, 17, 56182, {1, 1, 7, 3, 25, 35, 109, 173, 351, 487, 1551, 3207, 1189, 5091, 3581, 4699, 22085}}, +{12321, 17, 56185, {1, 1, 3, 11, 9, 9, 71, 173, 17, 595, 2015, 2543, 4889, 6025, 15265, 6459, 3977}}, +{12322, 17, 56192, {1, 3, 5, 15, 11, 13, 11, 189, 431, 307, 317, 3131, 1421, 10863, 5311, 25273, 43187}}, +{12323, 17, 56201, {1, 1, 1, 7, 7, 41, 103, 231, 321, 327, 1849, 2485, 6461, 10259, 4577, 52951, 33053}}, +{12324, 17, 56215, {1, 3, 3, 15, 11, 33, 73, 155, 453, 597, 575, 2119, 327, 4227, 32271, 7429, 102007}}, +{12325, 17, 56219, {1, 1, 3, 7, 15, 9, 95, 177, 21, 245, 257, 3637, 821, 16351, 1733, 10635, 59885}}, +{12326, 17, 56222, {1, 1, 3, 7, 23, 41, 107, 147, 57, 877, 1609, 3275, 339, 12997, 5989, 62293, 21549}}, +{12327, 17, 56258, {1, 1, 7, 13, 19, 39, 111, 229, 321, 487, 873, 3365, 4915, 251, 30629, 45775, 73549}}, +{12328, 17, 56264, {1, 1, 1, 13, 25, 61, 43, 111, 135, 463, 1921, 1723, 7505, 13805, 30633, 51683, 7353}}, +{12329, 17, 56269, {1, 1, 1, 1, 31, 41, 35, 205, 375, 189, 635, 3589, 3507, 8131, 13437, 22823, 68451}}, +{12330, 17, 56272, {1, 3, 7, 5, 31, 47, 13, 229, 105, 195, 685, 529, 39, 2651, 6821, 11043, 112123}}, +{12331, 17, 56278, {1, 3, 7, 13, 3, 23, 21, 203, 89, 957, 1577, 1711, 585, 3937, 17681, 55577, 61075}}, +{12332, 17, 56282, {1, 3, 3, 3, 17, 37, 49, 7, 287, 183, 1185, 2979, 2103, 1217, 22105, 11677, 19603}}, +{12333, 17, 56306, {1, 1, 1, 9, 29, 35, 93, 179, 403, 563, 441, 3485, 6909, 12647, 3885, 60089, 29275}}, +{12334, 17, 56308, {1, 3, 3, 9, 15, 37, 49, 103, 509, 77, 495, 921, 2599, 14735, 30951, 22779, 47747}}, +{12335, 17, 56318, {1, 3, 3, 11, 17, 45, 43, 235, 379, 51, 925, 89, 2241, 10273, 27649, 8101, 93977}}, +{12336, 17, 56329, {1, 3, 3, 3, 11, 7, 25, 163, 405, 997, 847, 2743, 4705, 7041, 10997, 50189, 10775}}, +{12337, 17, 56356, {1, 1, 1, 13, 19, 43, 3, 125, 37, 41, 5, 965, 2681, 3737, 29057, 37777, 119537}}, +{12338, 17, 56360, {1, 1, 1, 1, 11, 27, 101, 67, 73, 199, 1739, 2835, 5837, 10595, 9865, 38493, 99323}}, +{12339, 17, 56383, {1, 3, 1, 13, 27, 43, 21, 79, 419, 847, 843, 2563, 8133, 10295, 10127, 30839, 104863}}, +{12340, 17, 56388, {1, 3, 3, 11, 15, 37, 71, 251, 157, 971, 165, 1647, 2583, 205, 23555, 55297, 106893}}, +{12341, 17, 56391, {1, 1, 5, 15, 1, 21, 113, 107, 287, 727, 71, 2655, 1435, 11125, 15257, 18899, 37737}}, +{12342, 17, 56405, {1, 1, 3, 3, 27, 49, 17, 85, 57, 237, 349, 4049, 1103, 2523, 3919, 36587, 128595}}, +{12343, 17, 56406, {1, 3, 5, 9, 13, 1, 65, 13, 361, 409, 413, 2153, 5953, 10651, 25383, 49777, 65399}}, +{12344, 17, 56416, {1, 1, 7, 9, 19, 47, 69, 127, 121, 925, 57, 2775, 4981, 3643, 4077, 3081, 56093}}, +{12345, 17, 56426, {1, 3, 3, 13, 1, 53, 45, 13, 489, 445, 623, 3547, 1659, 1899, 11971, 3725, 12445}}, +{12346, 17, 56439, {1, 3, 7, 11, 13, 9, 59, 157, 125, 975, 1283, 297, 3609, 3179, 31341, 54727, 112515}}, +{12347, 17, 56446, {1, 1, 1, 13, 23, 63, 69, 249, 159, 593, 47, 3957, 757, 14693, 26345, 18839, 111263}}, +{12348, 17, 56450, {1, 1, 1, 1, 31, 37, 37, 199, 7, 425, 337, 1475, 271, 16215, 12089, 16765, 13519}}, +{12349, 17, 56459, {1, 1, 7, 11, 31, 59, 121, 139, 413, 807, 737, 1235, 3505, 5859, 14205, 31939, 4713}}, +{12350, 17, 56461, {1, 1, 1, 9, 21, 51, 113, 159, 345, 807, 635, 523, 5535, 13307, 4239, 14847, 23711}}, +{12351, 17, 56464, {1, 3, 5, 13, 31, 7, 33, 1, 293, 271, 1829, 2535, 6333, 12037, 29401, 35009, 37789}}, +{12352, 17, 56469, {1, 1, 7, 3, 7, 57, 31, 45, 177, 475, 843, 1265, 585, 16099, 29293, 52407, 56131}}, +{12353, 17, 56489, {1, 3, 3, 11, 1, 25, 117, 205, 139, 141, 1229, 903, 1883, 11269, 30493, 3979, 4263}}, +{12354, 17, 56490, {1, 1, 5, 13, 25, 43, 9, 237, 347, 869, 1765, 1389, 1931, 13331, 17325, 45999, 121201}}, +{12355, 17, 56497, {1, 3, 3, 11, 3, 13, 95, 49, 389, 53, 491, 1467, 5105, 16053, 6305, 15759, 51991}}, +{12356, 17, 56509, {1, 3, 5, 15, 1, 53, 85, 69, 75, 409, 1299, 1245, 7951, 10709, 9157, 3509, 103975}}, +{12357, 17, 56515, {1, 1, 1, 13, 1, 33, 97, 235, 463, 413, 1759, 1891, 1781, 5261, 5759, 201, 69199}}, +{12358, 17, 56518, {1, 1, 3, 13, 21, 27, 101, 143, 123, 705, 969, 2461, 6057, 13091, 6077, 38311, 30379}}, +{12359, 17, 56524, {1, 3, 3, 1, 13, 11, 73, 33, 495, 513, 763, 3089, 421, 13663, 30169, 56599, 38847}}, +{12360, 17, 56535, {1, 1, 7, 13, 13, 31, 91, 63, 233, 137, 859, 2449, 539, 12461, 13477, 31605, 58919}}, +{12361, 17, 56542, {1, 1, 1, 9, 13, 49, 107, 45, 451, 707, 1735, 1881, 3451, 9131, 25481, 10841, 116067}}, +{12362, 17, 56545, {1, 3, 7, 1, 27, 21, 51, 117, 63, 53, 575, 3325, 1099, 11181, 23609, 47141, 115421}}, +{12363, 17, 56551, {1, 3, 1, 13, 25, 29, 53, 135, 165, 319, 1695, 341, 8157, 10671, 7095, 60749, 31513}}, +{12364, 17, 56555, {1, 1, 7, 5, 3, 53, 123, 137, 449, 87, 951, 693, 6943, 15331, 1515, 24019, 56613}}, +{12365, 17, 56560, {1, 3, 7, 5, 25, 17, 43, 251, 301, 203, 633, 1271, 6253, 4475, 10773, 25003, 67599}}, +{12366, 17, 56569, {1, 1, 3, 9, 1, 25, 117, 159, 13, 155, 851, 2497, 6155, 6549, 27909, 24423, 82357}}, +{12367, 17, 56580, {1, 1, 1, 1, 21, 59, 103, 43, 291, 111, 1355, 401, 5129, 16017, 25947, 15391, 46745}}, +{12368, 17, 56584, {1, 1, 1, 13, 13, 51, 95, 111, 17, 963, 1535, 3003, 6163, 11377, 6787, 57275, 109559}}, +{12369, 17, 56598, {1, 1, 5, 11, 11, 3, 85, 207, 489, 117, 269, 747, 5719, 8501, 7307, 59223, 18941}}, +{12370, 17, 56601, {1, 1, 5, 1, 9, 53, 41, 255, 271, 995, 1939, 2739, 2221, 14841, 22617, 10643, 6427}}, +{12371, 17, 56602, {1, 3, 3, 9, 7, 55, 109, 143, 427, 45, 579, 115, 2061, 8447, 29469, 5523, 129063}}, +{12372, 17, 56623, {1, 3, 7, 5, 23, 63, 119, 31, 53, 821, 135, 2677, 807, 4685, 24391, 55165, 88079}}, +{12373, 17, 56637, {1, 3, 5, 9, 15, 11, 73, 177, 243, 375, 115, 1633, 7983, 15039, 21169, 25325, 128479}}, +{12374, 17, 56638, {1, 3, 3, 5, 21, 51, 13, 51, 75, 993, 77, 209, 2761, 451, 11987, 40297, 2383}}, +{12375, 17, 56643, {1, 3, 7, 1, 19, 9, 11, 161, 19, 851, 1313, 1169, 4405, 7493, 23935, 37323, 107387}}, +{12376, 17, 56650, {1, 3, 5, 15, 5, 11, 79, 129, 507, 247, 811, 1145, 3893, 5205, 11309, 38205, 2051}}, +{12377, 17, 56673, {1, 1, 5, 1, 11, 13, 33, 155, 21, 185, 771, 3261, 981, 743, 12479, 22611, 25321}}, +{12378, 17, 56676, {1, 1, 5, 9, 7, 25, 11, 235, 429, 563, 1647, 1429, 1385, 14411, 3831, 19769, 67599}}, +{12379, 17, 56686, {1, 3, 3, 5, 5, 7, 109, 117, 251, 823, 669, 2043, 1843, 11829, 27051, 35865, 11461}}, +{12380, 17, 56704, {1, 3, 5, 5, 7, 3, 45, 63, 305, 99, 393, 1765, 1711, 15569, 27295, 16555, 77631}}, +{12381, 17, 56710, {1, 3, 5, 11, 23, 33, 49, 125, 85, 677, 1589, 2667, 5723, 15619, 30415, 39561, 122763}}, +{12382, 17, 56721, {1, 3, 7, 13, 27, 21, 99, 209, 481, 123, 1285, 115, 6517, 11753, 11365, 44959, 89}}, +{12383, 17, 56731, {1, 1, 1, 7, 15, 15, 45, 151, 489, 169, 933, 2987, 657, 3095, 6745, 131, 37767}}, +{12384, 17, 56738, {1, 3, 1, 15, 1, 37, 99, 137, 151, 891, 715, 383, 1293, 719, 10957, 5557, 92841}}, +{12385, 17, 56747, {1, 1, 1, 3, 27, 59, 93, 49, 473, 313, 431, 1129, 5995, 13101, 13185, 7091, 109677}}, +{12386, 17, 56750, {1, 3, 3, 7, 1, 41, 55, 135, 271, 527, 1919, 1093, 2579, 3725, 22853, 31613, 4729}}, +{12387, 17, 56752, {1, 1, 7, 1, 7, 13, 63, 255, 219, 837, 117, 2323, 4295, 15697, 8607, 47047, 117869}}, +{12388, 17, 56757, {1, 1, 1, 7, 29, 29, 55, 171, 437, 733, 491, 1037, 7221, 5705, 31819, 19583, 103991}}, +{12389, 17, 56787, {1, 3, 7, 1, 31, 19, 65, 39, 151, 517, 1985, 2251, 6147, 12983, 28263, 35891, 7545}}, +{12390, 17, 56796, {1, 1, 7, 7, 21, 41, 97, 253, 427, 391, 849, 611, 4827, 10807, 6267, 22513, 62803}}, +{12391, 17, 56803, {1, 3, 7, 7, 25, 9, 49, 245, 491, 39, 603, 1853, 5655, 3517, 10745, 55069, 121497}}, +{12392, 17, 56812, {1, 3, 1, 5, 9, 39, 109, 195, 283, 141, 2007, 3, 1267, 13053, 8387, 48665, 48877}}, +{12393, 17, 56815, {1, 1, 3, 7, 27, 61, 49, 43, 229, 497, 2015, 1345, 3195, 7139, 13453, 56993, 15099}}, +{12394, 17, 56824, {1, 3, 5, 11, 31, 53, 87, 97, 385, 387, 1107, 3287, 2517, 7421, 1007, 37421, 124113}}, +{12395, 17, 56829, {1, 3, 3, 11, 9, 55, 51, 215, 181, 419, 863, 3149, 5815, 15579, 28527, 34715, 61375}}, +{12396, 17, 56833, {1, 3, 3, 3, 31, 57, 5, 35, 445, 957, 1897, 105, 2533, 10255, 19795, 49127, 38491}}, +{12397, 17, 56839, {1, 3, 3, 13, 25, 53, 1, 159, 443, 541, 439, 3377, 5511, 9667, 26777, 32599, 36981}}, +{12398, 17, 56840, {1, 1, 1, 3, 23, 29, 97, 131, 59, 143, 1601, 2765, 4569, 11081, 6027, 38641, 100745}}, +{12399, 17, 56845, {1, 3, 3, 15, 9, 15, 19, 35, 321, 935, 465, 2707, 4799, 7455, 12743, 31029, 114149}}, +{12400, 17, 56853, {1, 1, 1, 1, 11, 51, 23, 79, 387, 701, 107, 623, 231, 12571, 7719, 3061, 79605}}, +{12401, 17, 56854, {1, 3, 5, 15, 17, 49, 109, 83, 185, 295, 853, 219, 3615, 535, 32001, 6655, 4185}}, +{12402, 17, 56858, {1, 3, 3, 15, 15, 7, 35, 151, 305, 705, 1383, 1595, 5595, 11995, 15491, 49119, 83383}}, +{12403, 17, 56863, {1, 3, 7, 9, 3, 25, 57, 47, 359, 719, 1937, 1403, 1399, 10827, 24181, 29141, 79017}}, +{12404, 17, 56864, {1, 3, 5, 1, 1, 21, 21, 245, 361, 485, 1521, 3935, 1587, 8653, 25871, 49449, 103413}}, +{12405, 17, 56881, {1, 3, 3, 3, 9, 61, 31, 69, 401, 261, 1217, 3069, 4045, 12437, 32017, 15113, 10769}}, +{12406, 17, 56882, {1, 3, 1, 1, 21, 33, 123, 87, 481, 793, 625, 4087, 1361, 11077, 18835, 13287, 40107}}, +{12407, 17, 56896, {1, 3, 7, 3, 9, 49, 101, 213, 467, 77, 1691, 2621, 4411, 8025, 30247, 13691, 20559}}, +{12408, 17, 56901, {1, 1, 1, 9, 29, 49, 47, 135, 1, 337, 1649, 389, 3845, 7213, 19527, 2619, 78841}}, +{12409, 17, 56902, {1, 3, 7, 9, 23, 23, 47, 97, 493, 767, 137, 1467, 7015, 2883, 12749, 9267, 12441}}, +{12410, 17, 56908, {1, 1, 3, 15, 9, 57, 53, 19, 401, 385, 1159, 1185, 6977, 14027, 3183, 59119, 42065}}, +{12411, 17, 56923, {1, 1, 1, 15, 21, 33, 83, 251, 147, 395, 321, 443, 6893, 1877, 6687, 28863, 86531}}, +{12412, 17, 56925, {1, 3, 3, 1, 3, 47, 27, 247, 121, 827, 1399, 4079, 7545, 11691, 27915, 28811, 17099}}, +{12413, 17, 56926, {1, 3, 5, 7, 5, 59, 73, 69, 117, 897, 905, 3273, 2935, 11077, 32443, 60959, 16081}}, +{12414, 17, 56932, {1, 1, 7, 5, 27, 49, 107, 169, 75, 435, 1913, 2089, 5733, 2361, 5163, 52239, 87411}}, +{12415, 17, 56939, {1, 1, 7, 13, 1, 13, 123, 89, 427, 301, 1217, 1491, 5361, 10381, 28971, 57655, 108607}}, +{12416, 17, 56947, {1, 1, 7, 11, 13, 5, 23, 151, 117, 369, 623, 2263, 2609, 109, 32485, 52133, 69391}}, +{12417, 17, 56954, {1, 3, 7, 11, 7, 33, 127, 43, 123, 203, 775, 3215, 5115, 1805, 14581, 46791, 128781}}, +{12418, 17, 56970, {1, 3, 3, 1, 7, 23, 37, 99, 1, 719, 293, 2727, 6859, 683, 13241, 17839, 4215}}, +{12419, 17, 56972, {1, 1, 1, 13, 27, 41, 93, 25, 59, 947, 971, 1523, 4443, 1209, 32317, 58651, 11121}}, +{12420, 17, 56977, {1, 1, 1, 3, 31, 33, 23, 87, 349, 265, 445, 3489, 783, 7833, 5767, 59295, 45057}}, +{12421, 17, 56980, {1, 1, 1, 1, 15, 47, 19, 15, 217, 837, 2043, 2805, 4701, 5873, 1517, 46743, 61655}}, +{12422, 17, 56993, {1, 3, 7, 1, 27, 27, 9, 107, 25, 897, 955, 3763, 821, 1535, 14557, 38537, 128737}}, +{12423, 17, 57013, {1, 3, 3, 7, 19, 49, 121, 217, 401, 975, 1189, 715, 3113, 4219, 4885, 57861, 6833}}, +{12424, 17, 57017, {1, 3, 3, 1, 17, 59, 53, 15, 259, 791, 2035, 499, 7707, 13685, 14367, 20155, 91033}}, +{12425, 17, 57018, {1, 3, 5, 5, 11, 11, 69, 237, 139, 73, 541, 1135, 2647, 14109, 18113, 8051, 31917}}, +{12426, 17, 57031, {1, 1, 1, 15, 11, 23, 89, 181, 295, 743, 29, 4009, 4683, 13989, 4575, 38865, 30449}}, +{12427, 17, 57059, {1, 1, 1, 11, 21, 63, 31, 121, 55, 153, 1143, 4059, 3247, 11725, 17659, 48935, 118369}}, +{12428, 17, 57062, {1, 1, 7, 9, 17, 29, 27, 167, 69, 957, 2009, 2795, 3161, 3493, 16365, 43637, 102321}}, +{12429, 17, 57065, {1, 3, 5, 13, 27, 23, 17, 7, 345, 253, 631, 1389, 2523, 9993, 32619, 46731, 4757}}, +{12430, 17, 57071, {1, 1, 1, 11, 17, 1, 41, 107, 25, 183, 1361, 1211, 3607, 12713, 16011, 42987, 36415}}, +{12431, 17, 57083, {1, 1, 7, 5, 13, 29, 33, 69, 261, 213, 73, 3737, 3867, 503, 28225, 53735, 91695}}, +{12432, 17, 57093, {1, 3, 7, 7, 21, 63, 75, 39, 259, 367, 487, 2087, 5411, 1925, 29589, 39019, 73283}}, +{12433, 17, 57097, {1, 3, 1, 7, 29, 29, 25, 191, 91, 509, 1485, 853, 7011, 13321, 27769, 10249, 87341}}, +{12434, 17, 57106, {1, 1, 7, 7, 1, 9, 115, 71, 321, 913, 1679, 2129, 771, 9217, 4731, 24353, 35631}}, +{12435, 17, 57118, {1, 3, 1, 13, 5, 45, 53, 255, 429, 805, 1983, 1437, 2677, 6337, 22221, 55455, 39855}}, +{12436, 17, 57133, {1, 1, 1, 1, 1, 5, 111, 231, 321, 961, 371, 3825, 3623, 3985, 32151, 6113, 130687}}, +{12437, 17, 57134, {1, 3, 7, 3, 15, 29, 103, 181, 261, 149, 1161, 1745, 1765, 1677, 20051, 47033, 84997}}, +{12438, 17, 57141, {1, 3, 7, 1, 25, 21, 7, 229, 407, 673, 1525, 1207, 3099, 14849, 22103, 45695, 85951}}, +{12439, 17, 57146, {1, 3, 7, 1, 9, 5, 105, 149, 181, 81, 1589, 3477, 5387, 7943, 29203, 50355, 39001}}, +{12440, 17, 57156, {1, 3, 7, 1, 21, 31, 39, 121, 397, 1023, 711, 623, 6193, 12315, 11101, 11911, 50033}}, +{12441, 17, 57174, {1, 3, 7, 3, 7, 19, 73, 69, 201, 337, 1037, 3663, 2679, 5153, 28171, 24455, 74685}}, +{12442, 17, 57183, {1, 3, 1, 1, 21, 35, 121, 111, 217, 809, 507, 1347, 4439, 4601, 26371, 23595, 3583}}, +{12443, 17, 57189, {1, 3, 3, 7, 1, 51, 83, 231, 419, 597, 305, 3405, 5831, 11845, 1861, 48671, 105315}}, +{12444, 17, 57190, {1, 3, 1, 15, 25, 37, 103, 141, 495, 727, 1919, 2821, 4689, 6727, 27117, 2259, 54559}}, +{12445, 17, 57193, {1, 3, 5, 3, 27, 55, 5, 117, 199, 979, 1745, 401, 7967, 5345, 29747, 54085, 124765}}, +{12446, 17, 57196, {1, 3, 3, 15, 23, 61, 1, 29, 489, 131, 583, 389, 6033, 8007, 22933, 44513, 111845}}, +{12447, 17, 57207, {1, 1, 7, 13, 3, 55, 119, 147, 181, 485, 793, 3593, 6971, 2227, 28507, 62393, 127303}}, +{12448, 17, 57211, {1, 1, 5, 3, 29, 53, 37, 59, 213, 283, 1809, 3685, 2677, 5761, 19705, 47079, 3477}}, +{12449, 17, 57214, {1, 1, 1, 7, 21, 63, 91, 13, 347, 605, 589, 415, 5737, 10281, 30941, 25609, 67973}}, +{12450, 17, 57218, {1, 1, 3, 1, 27, 49, 87, 161, 507, 693, 59, 1375, 6737, 1029, 14731, 32335, 51961}}, +{12451, 17, 57230, {1, 3, 3, 9, 11, 15, 121, 121, 151, 335, 221, 3099, 1999, 1047, 20891, 23015, 95809}}, +{12452, 17, 57235, {1, 1, 7, 7, 1, 49, 63, 227, 113, 161, 863, 801, 2559, 7737, 27619, 27419, 128009}}, +{12453, 17, 57241, {1, 1, 7, 1, 25, 59, 67, 111, 435, 309, 807, 2107, 8077, 9671, 6739, 53757, 41259}}, +{12454, 17, 57251, {1, 3, 7, 3, 3, 19, 7, 111, 237, 981, 1717, 3131, 6631, 467, 13103, 61435, 126469}}, +{12455, 17, 57260, {1, 1, 7, 9, 19, 31, 59, 185, 199, 111, 351, 611, 6355, 1095, 28549, 32871, 44537}}, +{12456, 17, 57263, {1, 1, 3, 11, 23, 25, 31, 1, 461, 83, 1723, 1711, 3679, 10963, 14927, 17377, 911}}, +{12457, 17, 57265, {1, 1, 5, 13, 3, 37, 127, 159, 199, 223, 1097, 3033, 5825, 13777, 22189, 44305, 20509}}, +{12458, 17, 57271, {1, 1, 5, 15, 13, 49, 17, 79, 289, 601, 1023, 657, 1687, 14477, 15929, 4279, 68007}}, +{12459, 17, 57272, {1, 1, 5, 7, 29, 3, 45, 225, 65, 711, 1039, 3585, 4957, 9041, 22761, 26649, 95627}}, +{12460, 17, 57290, {1, 3, 5, 5, 13, 29, 33, 211, 461, 799, 1437, 1057, 485, 9535, 8133, 57527, 12873}}, +{12461, 17, 57295, {1, 1, 3, 3, 15, 43, 53, 15, 395, 561, 1371, 3543, 7707, 2399, 13311, 25641, 58865}}, +{12462, 17, 57298, {1, 3, 1, 7, 1, 9, 115, 39, 249, 87, 835, 97, 8137, 6665, 11951, 21045, 76387}}, +{12463, 17, 57325, {1, 3, 3, 9, 5, 63, 115, 163, 331, 1007, 733, 4027, 2911, 5329, 6967, 3535, 107293}}, +{12464, 17, 57328, {1, 3, 1, 11, 5, 55, 81, 63, 345, 535, 1093, 207, 4053, 9129, 10397, 26641, 95171}}, +{12465, 17, 57340, {1, 1, 3, 3, 13, 27, 65, 37, 255, 69, 19, 2565, 4329, 11223, 18131, 18701, 31111}}, +{12466, 17, 57344, {1, 3, 7, 7, 25, 57, 81, 189, 227, 377, 829, 1583, 1343, 4643, 23485, 47463, 83535}}, +{12467, 17, 57353, {1, 3, 5, 9, 13, 33, 103, 75, 501, 803, 427, 1171, 1187, 2655, 24187, 32907, 120239}}, +{12468, 17, 57368, {1, 3, 1, 7, 31, 63, 21, 137, 241, 63, 1925, 2193, 1135, 11159, 14685, 28397, 59}}, +{12469, 17, 57371, {1, 1, 7, 1, 15, 7, 85, 87, 493, 63, 561, 1069, 5481, 12253, 25149, 35283, 16123}}, +{12470, 17, 57383, {1, 3, 3, 5, 19, 17, 23, 95, 429, 805, 1343, 2243, 233, 7219, 6549, 21477, 83679}}, +{12471, 17, 57402, {1, 3, 3, 1, 3, 55, 83, 107, 131, 311, 741, 781, 6227, 10059, 3903, 235, 45971}}, +{12472, 17, 57407, {1, 1, 3, 13, 21, 43, 79, 149, 367, 755, 463, 221, 5117, 7015, 17599, 64665, 37443}}, +{12473, 17, 57419, {1, 1, 7, 15, 3, 59, 107, 13, 213, 287, 1505, 2131, 6965, 12873, 23973, 8449, 24829}}, +{12474, 17, 57424, {1, 3, 5, 11, 25, 45, 39, 17, 175, 749, 1179, 3349, 6723, 12543, 3557, 34521, 103197}}, +{12475, 17, 57433, {1, 1, 3, 13, 23, 41, 21, 25, 91, 941, 879, 4015, 137, 12949, 17245, 41903, 39803}}, +{12476, 17, 57452, {1, 1, 7, 15, 11, 33, 45, 127, 321, 895, 1543, 4013, 6179, 14209, 13317, 46803, 99891}}, +{12477, 17, 57458, {1, 3, 3, 13, 13, 11, 101, 11, 177, 869, 509, 2323, 449, 16379, 31965, 2899, 59229}}, +{12478, 17, 57467, {1, 1, 5, 7, 15, 37, 113, 237, 463, 489, 1145, 1629, 3101, 10305, 31705, 29957, 99665}}, +{12479, 17, 57470, {1, 3, 5, 7, 21, 29, 45, 133, 367, 657, 1315, 537, 6069, 8141, 31479, 32983, 57}}, +{12480, 17, 57473, {1, 1, 3, 9, 13, 39, 109, 125, 467, 975, 829, 4007, 773, 6639, 8793, 4579, 60547}}, +{12481, 17, 57479, {1, 1, 1, 15, 21, 5, 113, 51, 159, 501, 1921, 4095, 5603, 16055, 16649, 50229, 49863}}, +{12482, 17, 57480, {1, 1, 5, 13, 9, 21, 77, 187, 355, 299, 1017, 491, 6725, 4177, 16739, 15909, 84069}}, +{12483, 17, 57486, {1, 3, 7, 5, 13, 13, 51, 19, 159, 339, 735, 933, 2523, 11435, 20793, 21975, 19007}}, +{12484, 17, 57491, {1, 1, 7, 5, 1, 11, 61, 111, 129, 643, 1741, 945, 7349, 11579, 24793, 1751, 2367}}, +{12485, 17, 57493, {1, 1, 5, 5, 29, 45, 63, 177, 507, 277, 1789, 729, 4277, 10099, 28985, 43009, 2319}}, +{12486, 17, 57524, {1, 3, 3, 13, 19, 53, 73, 227, 487, 131, 1227, 3735, 3979, 7383, 6923, 31979, 6651}}, +{12487, 17, 57528, {1, 3, 3, 15, 7, 47, 31, 255, 317, 621, 497, 4069, 5249, 15093, 18013, 6891, 81893}}, +{12488, 17, 57534, {1, 1, 7, 5, 17, 23, 119, 27, 55, 555, 221, 2693, 1757, 11117, 23409, 21135, 122977}}, +{12489, 17, 57542, {1, 1, 5, 1, 15, 17, 127, 109, 75, 1017, 1167, 2975, 3249, 5399, 12599, 50779, 78215}}, +{12490, 17, 57560, {1, 3, 5, 5, 1, 13, 65, 199, 101, 75, 513, 493, 6931, 9363, 5607, 16331, 69219}}, +{12491, 17, 57565, {1, 1, 1, 15, 19, 37, 63, 177, 397, 645, 905, 1599, 609, 14291, 14681, 46719, 117745}}, +{12492, 17, 57570, {1, 3, 7, 13, 3, 57, 63, 49, 67, 913, 1659, 1857, 3595, 9219, 11341, 39735, 82275}}, +{12493, 17, 57579, {1, 1, 5, 11, 19, 1, 5, 181, 55, 763, 469, 2417, 2349, 12437, 22589, 17867, 95701}}, +{12494, 17, 57590, {1, 3, 7, 13, 1, 9, 11, 159, 103, 737, 1989, 59, 4711, 8093, 31703, 45663, 92913}}, +{12495, 17, 57601, {1, 3, 3, 11, 15, 9, 35, 217, 299, 479, 1539, 2605, 2003, 8841, 27261, 28853, 98877}}, +{12496, 17, 57604, {1, 1, 5, 5, 15, 45, 73, 159, 205, 1017, 159, 3659, 2377, 3651, 6489, 19711, 109959}}, +{12497, 17, 57607, {1, 1, 3, 15, 7, 41, 7, 47, 357, 433, 211, 111, 2565, 8637, 15917, 47887, 128513}}, +{12498, 17, 57621, {1, 3, 7, 3, 25, 9, 33, 33, 5, 805, 1541, 3333, 7257, 9011, 4813, 53195, 52469}}, +{12499, 17, 57635, {1, 1, 7, 15, 27, 3, 11, 57, 415, 371, 563, 2515, 149, 6555, 31273, 51465, 2989}}, +{12500, 17, 57642, {1, 1, 1, 11, 3, 41, 25, 175, 499, 879, 1145, 1083, 7857, 10497, 16991, 23351, 115353}}, +{12501, 17, 57650, {1, 1, 3, 15, 15, 9, 39, 239, 285, 413, 989, 2927, 7205, 79, 20101, 30115, 113933}}, +{12502, 17, 57655, {1, 1, 7, 5, 13, 29, 29, 69, 25, 533, 1731, 1391, 4065, 12597, 19167, 51989, 101273}}, +{12503, 17, 57670, {1, 1, 5, 3, 9, 41, 83, 127, 197, 627, 173, 273, 593, 15733, 19285, 26517, 107877}}, +{12504, 17, 57676, {1, 1, 1, 5, 29, 17, 89, 163, 125, 473, 1577, 2435, 3379, 3057, 1829, 64325, 111719}}, +{12505, 17, 57682, {1, 3, 1, 11, 1, 29, 97, 53, 421, 941, 1737, 3337, 2715, 1633, 28485, 30369, 116047}}, +{12506, 17, 57687, {1, 1, 5, 13, 25, 43, 39, 85, 385, 129, 819, 1647, 3527, 12319, 573, 58703, 29463}}, +{12507, 17, 57691, {1, 3, 3, 9, 23, 59, 31, 215, 49, 451, 645, 3687, 4507, 9359, 28161, 34609, 123409}}, +{12508, 17, 57700, {1, 3, 1, 9, 13, 25, 97, 239, 203, 31, 1465, 1089, 7665, 3007, 22465, 28389, 119869}}, +{12509, 17, 57704, {1, 3, 3, 1, 29, 51, 19, 83, 443, 193, 647, 3125, 7269, 3031, 9967, 40447, 102179}}, +{12510, 17, 57707, {1, 3, 5, 15, 5, 63, 125, 55, 295, 787, 559, 3309, 7491, 9907, 5775, 15155, 41793}}, +{12511, 17, 57721, {1, 3, 7, 7, 21, 61, 125, 207, 43, 159, 539, 435, 1945, 725, 797, 47489, 43099}}, +{12512, 17, 57731, {1, 1, 5, 7, 11, 11, 61, 103, 23, 693, 493, 1045, 4435, 9009, 22075, 24839, 125431}}, +{12513, 17, 57733, {1, 3, 1, 9, 13, 61, 83, 181, 373, 949, 1397, 247, 5079, 10933, 31887, 14147, 55121}}, +{12514, 17, 57738, {1, 1, 7, 15, 31, 47, 87, 219, 357, 409, 943, 2993, 7615, 7071, 14179, 41489, 104401}}, +{12515, 17, 57745, {1, 3, 3, 1, 11, 15, 87, 241, 389, 761, 1523, 3049, 2111, 11581, 5493, 11301, 32017}}, +{12516, 17, 57748, {1, 1, 7, 11, 29, 39, 37, 63, 411, 671, 1789, 3541, 5651, 11721, 10871, 53867, 112895}}, +{12517, 17, 57751, {1, 3, 3, 1, 23, 21, 99, 161, 467, 197, 1263, 451, 5469, 7667, 22139, 31599, 8345}}, +{12518, 17, 57757, {1, 3, 1, 3, 11, 41, 13, 79, 3, 377, 1865, 2297, 1383, 14033, 17141, 24787, 127911}}, +{12519, 17, 57761, {1, 1, 1, 1, 5, 11, 5, 181, 323, 853, 831, 1599, 3939, 6391, 22817, 37969, 9997}}, +{12520, 17, 57774, {1, 1, 3, 11, 29, 61, 11, 171, 181, 631, 757, 3879, 4779, 16183, 5969, 7909, 42855}}, +{12521, 17, 57779, {1, 3, 3, 15, 19, 17, 107, 187, 19, 743, 909, 1963, 2131, 2107, 659, 35829, 57905}}, +{12522, 17, 57786, {1, 1, 7, 1, 31, 29, 67, 99, 353, 715, 65, 3907, 1931, 1289, 9217, 60635, 32737}}, +{12523, 17, 57808, {1, 3, 3, 13, 3, 17, 19, 173, 263, 203, 1233, 1407, 933, 8905, 26905, 63343, 64963}}, +{12524, 17, 57814, {1, 3, 1, 13, 21, 43, 97, 79, 163, 529, 1571, 1027, 4339, 16235, 9189, 29203, 36789}}, +{12525, 17, 57817, {1, 1, 7, 1, 31, 1, 117, 247, 193, 333, 1797, 3515, 285, 2803, 25345, 9101, 110569}}, +{12526, 17, 57824, {1, 1, 5, 11, 17, 63, 45, 167, 35, 925, 569, 3687, 6739, 12453, 26171, 28249, 73827}}, +{12527, 17, 57827, {1, 1, 5, 1, 19, 49, 107, 183, 435, 305, 1191, 2711, 891, 15813, 13449, 23489, 89749}}, +{12528, 17, 57848, {1, 1, 1, 11, 7, 53, 105, 17, 433, 351, 1151, 4077, 5371, 10183, 18895, 13229, 101219}}, +{12529, 17, 57853, {1, 3, 7, 9, 21, 33, 27, 125, 177, 607, 817, 2689, 2123, 2037, 29643, 27219, 44591}}, +{12530, 17, 57857, {1, 3, 5, 11, 27, 51, 29, 161, 469, 349, 1445, 3613, 1487, 961, 29017, 2235, 45905}}, +{12531, 17, 57858, {1, 1, 3, 11, 7, 15, 37, 195, 329, 875, 559, 1361, 7373, 7143, 15059, 59205, 37167}}, +{12532, 17, 57867, {1, 1, 5, 1, 7, 25, 27, 211, 301, 369, 227, 123, 4415, 15993, 4829, 43801, 83639}}, +{12533, 17, 57872, {1, 1, 3, 5, 25, 37, 31, 205, 69, 275, 855, 1407, 2989, 11001, 16963, 31497, 3505}}, +{12534, 17, 57887, {1, 1, 7, 7, 25, 33, 81, 181, 197, 717, 207, 535, 8083, 5765, 2523, 40347, 27245}}, +{12535, 17, 57894, {1, 3, 1, 5, 13, 3, 107, 143, 233, 419, 1831, 2149, 7277, 13449, 31609, 48345, 82621}}, +{12536, 17, 57915, {1, 3, 5, 9, 31, 35, 39, 113, 415, 803, 1479, 3169, 8015, 4659, 2445, 9159, 91625}}, +{12537, 17, 57920, {1, 3, 1, 5, 27, 25, 83, 165, 459, 955, 1535, 377, 5531, 2945, 18285, 18097, 21589}}, +{12538, 17, 57923, {1, 1, 1, 15, 13, 23, 11, 159, 471, 951, 1971, 677, 2641, 3227, 14761, 39421, 29841}}, +{12539, 17, 57932, {1, 1, 7, 11, 19, 37, 101, 97, 373, 559, 105, 905, 897, 15309, 14979, 52029, 38989}}, +{12540, 17, 57937, {1, 1, 5, 15, 31, 43, 71, 75, 481, 997, 5, 1005, 4987, 7907, 16237, 43075, 94827}}, +{12541, 17, 57943, {1, 3, 5, 11, 23, 55, 123, 91, 183, 307, 97, 1999, 3341, 4717, 19643, 9455, 26555}}, +{12542, 17, 57950, {1, 1, 7, 3, 29, 61, 75, 197, 125, 579, 145, 1333, 85, 15655, 28177, 6169, 43289}}, +{12543, 17, 57960, {1, 3, 7, 13, 21, 15, 1, 221, 293, 991, 35, 2701, 2909, 7333, 27319, 32281, 77861}}, +{12544, 17, 57971, {1, 1, 3, 1, 17, 11, 81, 209, 499, 125, 105, 2987, 3891, 9531, 27963, 39611, 43633}}, +{12545, 17, 57974, {1, 3, 3, 3, 29, 45, 51, 63, 209, 75, 1321, 4055, 7851, 12329, 8371, 59513, 49105}}, +{12546, 17, 57983, {1, 1, 7, 5, 9, 63, 59, 127, 445, 899, 1857, 3737, 625, 15021, 25177, 21007, 25935}}, +{12547, 17, 57987, {1, 1, 5, 9, 9, 57, 25, 63, 235, 191, 1527, 1783, 1401, 1813, 2553, 1241, 100029}}, +{12548, 17, 57994, {1, 3, 1, 11, 27, 5, 49, 39, 505, 653, 1083, 921, 1045, 11337, 25499, 36211, 75851}}, +{12549, 17, 58001, {1, 3, 3, 1, 29, 19, 71, 93, 223, 153, 561, 1657, 5821, 14181, 1275, 24633, 114787}}, +{12550, 17, 58002, {1, 1, 1, 9, 7, 13, 17, 239, 457, 731, 1811, 3015, 4465, 5865, 2387, 30455, 17405}}, +{12551, 17, 58013, {1, 3, 5, 1, 7, 45, 117, 207, 7, 645, 131, 863, 6443, 14455, 11885, 39257, 126431}}, +{12552, 17, 58023, {1, 1, 3, 5, 17, 23, 3, 27, 475, 731, 431, 1967, 981, 12727, 1301, 17647, 62481}}, +{12553, 17, 58027, {1, 1, 1, 13, 11, 53, 105, 109, 105, 461, 1787, 2851, 1299, 9925, 13055, 58301, 24483}}, +{12554, 17, 58029, {1, 1, 1, 11, 7, 35, 11, 173, 247, 289, 1269, 361, 2059, 5051, 25731, 58085, 21387}}, +{12555, 17, 58032, {1, 3, 1, 5, 9, 31, 59, 151, 435, 519, 1863, 2255, 2585, 10033, 29189, 27189, 25023}}, +{12556, 17, 58041, {1, 1, 5, 5, 25, 17, 53, 189, 187, 847, 369, 3287, 6047, 2385, 26045, 48821, 23335}}, +{12557, 17, 58047, {1, 1, 1, 9, 15, 55, 79, 21, 433, 131, 1677, 3681, 6173, 9189, 15053, 12971, 81135}}, +{12558, 17, 58062, {1, 1, 3, 5, 29, 5, 11, 213, 151, 77, 1493, 3959, 7675, 7689, 10381, 15871, 123463}}, +{12559, 17, 58086, {1, 3, 7, 11, 19, 47, 31, 81, 207, 789, 1945, 2671, 1987, 6363, 26401, 9799, 59531}}, +{12560, 17, 58092, {1, 1, 1, 7, 17, 7, 83, 181, 339, 423, 267, 2251, 1847, 14883, 13423, 27223, 81799}}, +{12561, 17, 58095, {1, 3, 5, 15, 9, 9, 73, 95, 197, 267, 743, 2369, 6417, 3555, 9885, 6373, 87651}}, +{12562, 17, 58097, {1, 1, 3, 13, 21, 29, 57, 59, 395, 631, 993, 17, 2939, 14117, 27521, 61387, 74927}}, +{12563, 17, 58100, {1, 1, 3, 13, 1, 29, 23, 151, 381, 591, 1217, 2295, 4403, 15865, 4325, 31329, 56989}}, +{12564, 17, 58117, {1, 3, 5, 1, 27, 7, 111, 79, 287, 945, 1237, 2857, 1461, 2477, 10929, 17117, 98677}}, +{12565, 17, 58121, {1, 1, 1, 5, 15, 35, 109, 39, 391, 57, 1783, 3133, 5563, 7721, 12651, 3437, 46697}}, +{12566, 17, 58132, {1, 3, 5, 5, 13, 47, 123, 51, 383, 91, 641, 1607, 4461, 7, 6427, 42755, 130097}}, +{12567, 17, 58142, {1, 1, 5, 5, 25, 49, 33, 59, 351, 1003, 301, 2721, 7705, 5447, 21367, 63007, 112465}}, +{12568, 17, 58145, {1, 1, 5, 13, 31, 11, 73, 1, 359, 201, 1465, 187, 7385, 12817, 12911, 17775, 77937}}, +{12569, 17, 58152, {1, 3, 1, 15, 29, 5, 117, 69, 79, 93, 947, 133, 1049, 13907, 3611, 42123, 8041}}, +{12570, 17, 58155, {1, 1, 7, 7, 29, 17, 71, 171, 357, 619, 1199, 3817, 6889, 9607, 19075, 15539, 54939}}, +{12571, 17, 58163, {1, 1, 1, 7, 23, 29, 91, 227, 119, 865, 943, 381, 5289, 189, 15917, 13875, 31095}}, +{12572, 17, 58166, {1, 1, 7, 1, 9, 49, 93, 175, 105, 61, 1285, 3659, 2383, 505, 12337, 43801, 67035}}, +{12573, 17, 58170, {1, 3, 5, 1, 31, 47, 75, 17, 455, 231, 1887, 2295, 2533, 733, 29001, 22001, 119423}}, +{12574, 17, 58175, {1, 3, 7, 3, 5, 5, 69, 205, 459, 805, 1257, 3283, 3305, 6845, 1405, 56051, 63453}}, +{12575, 17, 58184, {1, 3, 3, 3, 19, 57, 65, 149, 175, 683, 1719, 637, 4951, 13645, 30455, 22379, 105369}}, +{12576, 17, 58197, {1, 3, 1, 11, 31, 27, 69, 13, 191, 645, 1563, 3897, 2387, 2269, 12999, 42217, 100853}}, +{12577, 17, 58202, {1, 3, 1, 13, 31, 7, 11, 227, 267, 373, 1249, 2591, 4769, 303, 5865, 59911, 4991}}, +{12578, 17, 58204, {1, 3, 7, 11, 7, 31, 87, 205, 45, 785, 1947, 1965, 5851, 7501, 89, 38897, 91939}}, +{12579, 17, 58208, {1, 3, 5, 9, 21, 37, 79, 181, 163, 355, 1129, 3439, 5103, 15903, 2935, 22505, 97451}}, +{12580, 17, 58213, {1, 1, 3, 9, 7, 37, 107, 255, 69, 133, 551, 1357, 31, 7059, 29195, 30151, 81785}}, +{12581, 17, 58220, {1, 3, 3, 5, 3, 51, 3, 143, 305, 697, 1041, 1267, 7635, 1483, 649, 28275, 65059}}, +{12582, 17, 58226, {1, 3, 1, 7, 11, 13, 113, 81, 159, 993, 797, 3207, 3787, 13005, 29393, 51107, 42709}}, +{12583, 17, 58231, {1, 1, 3, 13, 7, 11, 113, 195, 349, 377, 2033, 197, 147, 13839, 5405, 29577, 64535}}, +{12584, 17, 58235, {1, 3, 1, 9, 1, 1, 77, 73, 383, 463, 1871, 1589, 1805, 2085, 5195, 17805, 33159}}, +{12585, 17, 58254, {1, 1, 1, 9, 25, 37, 123, 119, 507, 515, 1547, 139, 7501, 4725, 30195, 18199, 41145}}, +{12586, 17, 58261, {1, 3, 3, 7, 17, 33, 99, 11, 487, 343, 403, 337, 3831, 6031, 20375, 2071, 39795}}, +{12587, 17, 58271, {1, 1, 5, 1, 13, 57, 59, 11, 391, 953, 597, 1411, 3929, 13963, 15003, 59385, 12293}}, +{12588, 17, 58278, {1, 3, 1, 15, 23, 61, 67, 129, 63, 555, 433, 631, 2725, 317, 10121, 9217, 124371}}, +{12589, 17, 58287, {1, 1, 5, 7, 19, 23, 17, 45, 75, 819, 1879, 2315, 1439, 2643, 26561, 19209, 16081}}, +{12590, 17, 58327, {1, 3, 5, 7, 5, 35, 121, 233, 91, 89, 1741, 3015, 4223, 9605, 22795, 55845, 47167}}, +{12591, 17, 58333, {1, 3, 7, 7, 13, 23, 11, 51, 91, 367, 773, 1303, 2151, 14423, 22263, 28413, 107461}}, +{12592, 17, 58337, {1, 1, 1, 11, 29, 17, 49, 53, 379, 819, 1551, 2907, 5805, 2167, 16123, 9263, 43903}}, +{12593, 17, 58357, {1, 3, 1, 13, 19, 27, 33, 127, 131, 697, 489, 3289, 1895, 3243, 19497, 32419, 55741}}, +{12594, 17, 58362, {1, 3, 1, 15, 7, 51, 91, 45, 251, 829, 2015, 2659, 151, 3327, 25281, 49291, 106343}}, +{12595, 17, 58364, {1, 1, 5, 5, 27, 11, 85, 45, 203, 413, 293, 3067, 4109, 959, 22337, 38767, 75829}}, +{12596, 17, 58375, {1, 1, 3, 5, 21, 35, 65, 173, 315, 423, 171, 3837, 817, 10153, 5517, 18115, 117437}}, +{12597, 17, 58384, {1, 1, 1, 7, 9, 29, 101, 55, 253, 37, 1717, 7, 3181, 1067, 20637, 54773, 106777}}, +{12598, 17, 58387, {1, 3, 7, 11, 13, 11, 87, 83, 83, 969, 589, 3625, 3373, 3921, 24487, 34235, 96289}}, +{12599, 17, 58405, {1, 3, 1, 11, 25, 35, 65, 131, 491, 167, 449, 2949, 5807, 5649, 7569, 37363, 106819}}, +{12600, 17, 58406, {1, 1, 5, 1, 9, 37, 33, 237, 79, 163, 1791, 3499, 4951, 2009, 16183, 10121, 40221}}, +{12601, 17, 58417, {1, 1, 5, 15, 21, 49, 123, 53, 27, 273, 1655, 3713, 5699, 1659, 31985, 6779, 10195}}, +{12602, 17, 58424, {1, 3, 5, 11, 27, 37, 93, 17, 263, 41, 1583, 703, 7689, 6667, 15497, 15255, 67153}}, +{12603, 17, 58435, {1, 1, 5, 9, 19, 13, 121, 39, 321, 177, 711, 3223, 3859, 14775, 19061, 40587, 97199}}, +{12604, 17, 58450, {1, 3, 7, 9, 23, 11, 93, 243, 3, 811, 679, 1103, 7579, 14147, 20255, 22485, 117179}}, +{12605, 17, 58452, {1, 3, 3, 5, 23, 9, 21, 243, 27, 501, 1273, 1501, 5331, 15663, 19483, 10637, 90905}}, +{12606, 17, 58459, {1, 3, 1, 15, 13, 11, 89, 37, 63, 463, 731, 3615, 3923, 4677, 21329, 1069, 57565}}, +{12607, 17, 58461, {1, 1, 1, 13, 19, 39, 63, 59, 389, 367, 1285, 2005, 8103, 4179, 3805, 55475, 126589}}, +{12608, 17, 58466, {1, 3, 5, 11, 27, 57, 27, 63, 365, 171, 665, 2035, 2831, 15955, 11551, 26741, 121059}}, +{12609, 17, 58468, {1, 3, 3, 3, 23, 19, 13, 7, 331, 613, 1783, 733, 7465, 1089, 4683, 15695, 31125}}, +{12610, 17, 58485, {1, 1, 5, 3, 3, 23, 95, 157, 303, 987, 307, 2679, 6173, 6633, 17727, 30901, 76109}}, +{12611, 17, 58489, {1, 1, 1, 1, 11, 21, 111, 81, 31, 727, 1133, 4083, 5811, 2707, 31749, 42939, 92225}}, +{12612, 17, 58492, {1, 3, 1, 11, 29, 21, 31, 115, 351, 213, 201, 3511, 3707, 12821, 8845, 59789, 59721}}, +{12613, 17, 58495, {1, 3, 5, 9, 7, 27, 65, 1, 305, 937, 1201, 2045, 2431, 12275, 24431, 3317, 119671}}, +{12614, 17, 58505, {1, 1, 7, 11, 19, 43, 107, 107, 261, 933, 1125, 1875, 1943, 7477, 20759, 57853, 29459}}, +{12615, 17, 58523, {1, 1, 3, 3, 17, 43, 79, 19, 167, 341, 237, 677, 725, 2353, 12003, 48921, 20707}}, +{12616, 17, 58535, {1, 3, 3, 5, 31, 39, 91, 81, 121, 59, 737, 1767, 4407, 9159, 10237, 25361, 38891}}, +{12617, 17, 58536, {1, 1, 5, 7, 31, 47, 37, 47, 171, 623, 597, 2807, 4875, 15139, 18809, 24279, 36563}}, +{12618, 17, 58549, {1, 3, 5, 3, 3, 7, 31, 135, 81, 777, 1055, 337, 4309, 9575, 11075, 54429, 30097}}, +{12619, 17, 58550, {1, 1, 5, 1, 3, 57, 53, 25, 117, 961, 947, 257, 2645, 6935, 27511, 54051, 129095}}, +{12620, 17, 58561, {1, 1, 1, 15, 23, 45, 11, 173, 407, 373, 1051, 3519, 1875, 1291, 4393, 9047, 102159}}, +{12621, 17, 58562, {1, 1, 3, 5, 9, 51, 23, 253, 261, 339, 505, 3601, 265, 8375, 7241, 40715, 114439}}, +{12622, 17, 58573, {1, 1, 7, 7, 3, 63, 5, 233, 259, 947, 1367, 2699, 6029, 9371, 6567, 39961, 31621}}, +{12623, 17, 58576, {1, 1, 3, 3, 25, 43, 73, 61, 305, 257, 235, 421, 6621, 1025, 18831, 44525, 87665}}, +{12624, 17, 58592, {1, 3, 5, 7, 19, 33, 77, 163, 191, 115, 1275, 3551, 3521, 6767, 30209, 48895, 114185}}, +{12625, 17, 58601, {1, 1, 3, 3, 29, 37, 3, 165, 267, 807, 967, 2893, 3287, 12249, 21411, 19291, 91781}}, +{12626, 17, 58622, {1, 1, 5, 5, 27, 55, 51, 137, 429, 775, 1525, 3911, 5367, 5981, 24373, 16331, 31887}}, +{12627, 17, 58627, {1, 1, 5, 11, 17, 49, 37, 243, 509, 563, 1381, 2013, 7341, 10509, 10049, 29135, 32709}}, +{12628, 17, 58629, {1, 1, 3, 13, 1, 33, 119, 5, 477, 701, 1329, 1023, 2091, 12895, 6443, 1053, 44741}}, +{12629, 17, 58634, {1, 3, 5, 7, 13, 19, 1, 113, 3, 481, 1555, 2857, 3519, 7903, 16153, 62909, 78877}}, +{12630, 17, 58639, {1, 1, 7, 11, 7, 27, 47, 175, 87, 605, 411, 4065, 8059, 5023, 27719, 3111, 62247}}, +{12631, 17, 58641, {1, 3, 1, 15, 27, 37, 71, 77, 297, 647, 1651, 2543, 3925, 4827, 28587, 49663, 56581}}, +{12632, 17, 58644, {1, 3, 5, 1, 19, 49, 63, 9, 43, 243, 931, 3577, 2371, 10513, 13691, 27739, 61011}}, +{12633, 17, 58654, {1, 1, 3, 1, 23, 27, 53, 149, 157, 735, 1087, 1529, 6613, 2493, 4879, 26771, 123711}}, +{12634, 17, 58663, {1, 3, 7, 13, 5, 3, 43, 3, 343, 497, 943, 3443, 4335, 4779, 4033, 25871, 10965}}, +{12635, 17, 58667, {1, 3, 5, 1, 5, 11, 93, 73, 199, 455, 421, 3495, 4381, 717, 21033, 41287, 44743}}, +{12636, 17, 58677, {1, 1, 3, 9, 13, 33, 77, 143, 81, 57, 1061, 3205, 2411, 1347, 23149, 21913, 119331}}, +{12637, 17, 58682, {1, 3, 1, 7, 1, 15, 45, 247, 119, 905, 457, 3939, 4865, 11191, 27705, 46315, 68367}}, +{12638, 17, 58690, {1, 3, 3, 15, 31, 5, 55, 169, 381, 1009, 1893, 2751, 411, 8653, 30367, 54919, 23541}}, +{12639, 17, 58692, {1, 3, 7, 1, 29, 27, 77, 239, 109, 125, 355, 2759, 2229, 3435, 16241, 53309, 613}}, +{12640, 17, 58695, {1, 3, 1, 3, 11, 27, 33, 167, 311, 1003, 1635, 2479, 1831, 6225, 17711, 30185, 87043}}, +{12641, 17, 58710, {1, 3, 7, 13, 7, 61, 3, 243, 55, 259, 461, 3357, 121, 9107, 19393, 3719, 71403}}, +{12642, 17, 58713, {1, 1, 7, 15, 23, 25, 55, 89, 241, 297, 113, 59, 4799, 381, 29127, 811, 91149}}, +{12643, 17, 58723, {1, 1, 3, 3, 13, 35, 43, 163, 69, 69, 1949, 2383, 887, 2349, 12539, 167, 23697}}, +{12644, 17, 58740, {1, 3, 3, 11, 3, 45, 23, 149, 55, 963, 1293, 2715, 1401, 16081, 12821, 2129, 26835}}, +{12645, 17, 58749, {1, 3, 3, 13, 29, 47, 21, 249, 141, 179, 627, 329, 6377, 12049, 11715, 1447, 119359}}, +{12646, 17, 58760, {1, 1, 5, 13, 7, 59, 103, 189, 401, 169, 455, 1197, 1881, 12679, 4533, 25561, 79281}}, +{12647, 17, 58766, {1, 1, 7, 15, 21, 59, 97, 77, 397, 487, 647, 2277, 269, 713, 17741, 37387, 100143}}, +{12648, 17, 58773, {1, 3, 5, 1, 1, 43, 31, 201, 21, 805, 1533, 1407, 4719, 2673, 22757, 7605, 72485}}, +{12649, 17, 58780, {1, 1, 3, 11, 27, 25, 99, 135, 225, 367, 1311, 683, 7193, 8209, 17081, 55709, 3029}}, +{12650, 17, 58787, {1, 3, 5, 5, 17, 9, 59, 27, 153, 353, 647, 2919, 1877, 5359, 19787, 46237, 7}}, +{12651, 17, 58796, {1, 3, 3, 15, 11, 39, 75, 223, 489, 57, 1355, 3941, 6603, 12883, 20909, 24065, 53543}}, +{12652, 17, 58816, {1, 1, 3, 9, 17, 47, 61, 49, 397, 23, 2019, 37, 23, 8967, 10357, 54419, 27279}}, +{12653, 17, 58822, {1, 1, 1, 7, 31, 43, 87, 111, 293, 969, 1431, 2275, 3131, 2915, 24595, 63049, 71517}}, +{12654, 17, 58831, {1, 1, 3, 11, 11, 63, 89, 33, 95, 299, 593, 3353, 7389, 841, 1895, 64835, 19915}}, +{12655, 17, 58839, {1, 1, 1, 3, 13, 63, 51, 3, 327, 401, 1289, 2699, 5599, 5101, 3189, 23415, 53429}}, +{12656, 17, 58849, {1, 1, 7, 13, 27, 15, 57, 201, 365, 643, 171, 2417, 1763, 7567, 5323, 50911, 24281}}, +{12657, 17, 58859, {1, 3, 3, 13, 31, 37, 31, 243, 225, 431, 379, 1565, 1567, 11477, 4641, 58823, 88565}}, +{12658, 17, 58870, {1, 3, 3, 7, 13, 39, 79, 169, 401, 177, 2023, 1703, 5563, 15619, 21445, 59287, 30141}}, +{12659, 17, 58879, {1, 3, 3, 15, 17, 47, 13, 163, 361, 353, 1435, 2083, 4109, 14105, 28585, 1721, 119133}}, +{12660, 17, 58889, {1, 3, 3, 3, 29, 41, 97, 131, 501, 415, 1735, 2315, 6499, 11417, 3879, 3957, 47117}}, +{12661, 17, 58904, {1, 1, 3, 13, 5, 25, 29, 65, 235, 949, 1571, 927, 515, 7519, 23123, 4127, 71019}}, +{12662, 17, 58914, {1, 1, 5, 13, 1, 41, 5, 137, 487, 711, 561, 2495, 5367, 6955, 9453, 54499, 118373}}, +{12663, 17, 58923, {1, 3, 3, 5, 27, 15, 23, 237, 95, 873, 1949, 1579, 7089, 8837, 30463, 9903, 61919}}, +{12664, 17, 58940, {1, 3, 1, 13, 5, 5, 15, 5, 429, 617, 383, 2495, 409, 15541, 11209, 20625, 58493}}, +{12665, 17, 58945, {1, 1, 7, 11, 25, 21, 113, 219, 459, 777, 289, 2435, 6665, 83, 22997, 6561, 82923}}, +{12666, 17, 58952, {1, 1, 1, 7, 19, 53, 37, 249, 273, 639, 2007, 1463, 7819, 9013, 19539, 41235, 58059}}, +{12667, 17, 58960, {1, 1, 3, 11, 13, 51, 97, 55, 237, 159, 1305, 3705, 2527, 13065, 13873, 10275, 3769}}, +{12668, 17, 58965, {1, 1, 5, 7, 13, 49, 41, 13, 301, 461, 1169, 3805, 7163, 4133, 17255, 48283, 87059}}, +{12669, 17, 58986, {1, 3, 7, 15, 9, 19, 45, 195, 445, 145, 543, 2839, 315, 10991, 3317, 46501, 29209}}, +{12670, 17, 59000, {1, 1, 3, 5, 23, 51, 53, 119, 217, 747, 1307, 3039, 5523, 5891, 21035, 56471, 80305}}, +{12671, 17, 59006, {1, 3, 1, 3, 23, 17, 97, 71, 7, 839, 229, 3407, 3025, 1989, 16599, 38755, 11139}}, +{12672, 17, 59027, {1, 1, 7, 7, 7, 19, 67, 43, 293, 191, 1549, 1621, 7083, 11633, 1899, 4515, 89753}}, +{12673, 17, 59034, {1, 3, 7, 11, 1, 23, 17, 63, 265, 709, 453, 1309, 6861, 7257, 17705, 28565, 15231}}, +{12674, 17, 59052, {1, 3, 5, 13, 1, 53, 99, 79, 241, 771, 497, 987, 2353, 6931, 227, 57781, 109583}}, +{12675, 17, 59058, {1, 3, 3, 5, 31, 47, 17, 97, 93, 119, 2045, 3597, 7983, 4993, 30659, 3419, 32803}}, +{12676, 17, 59081, {1, 3, 7, 1, 11, 41, 3, 7, 155, 627, 979, 2405, 7467, 6763, 28523, 56493, 1291}}, +{12677, 17, 59082, {1, 1, 1, 7, 3, 43, 13, 187, 415, 1001, 667, 1371, 8075, 12855, 27215, 9399, 70657}}, +{12678, 17, 59089, {1, 3, 1, 9, 29, 53, 117, 17, 443, 381, 507, 643, 5891, 10725, 20251, 497, 101313}}, +{12679, 17, 59096, {1, 3, 3, 1, 31, 47, 59, 75, 173, 347, 1, 117, 3639, 10231, 863, 56795, 56107}}, +{12680, 17, 59118, {1, 3, 1, 15, 11, 41, 97, 251, 177, 275, 1849, 1281, 3659, 9709, 16239, 7445, 47661}}, +{12681, 17, 59123, {1, 3, 3, 5, 13, 1, 27, 251, 89, 863, 685, 3915, 2201, 4313, 32083, 37171, 120885}}, +{12682, 17, 59126, {1, 3, 3, 3, 3, 11, 77, 135, 147, 475, 505, 611, 4763, 9445, 28639, 51343, 119093}}, +{12683, 17, 59132, {1, 3, 7, 1, 11, 9, 67, 73, 375, 977, 1011, 1621, 6623, 8077, 26321, 7461, 130637}}, +{12684, 17, 59135, {1, 3, 5, 15, 15, 59, 63, 217, 117, 375, 1151, 3451, 5843, 13221, 20673, 10817, 57711}}, +{12685, 17, 59150, {1, 1, 3, 5, 19, 5, 9, 101, 321, 815, 451, 719, 523, 1299, 27823, 48041, 45939}}, +{12686, 17, 59174, {1, 1, 1, 9, 5, 49, 59, 59, 409, 5, 1075, 21, 7837, 4543, 3085, 55473, 89309}}, +{12687, 17, 59177, {1, 3, 3, 13, 9, 31, 93, 181, 153, 795, 713, 933, 6001, 9075, 29781, 14029, 46361}}, +{12688, 17, 59185, {1, 3, 5, 3, 9, 21, 79, 129, 361, 627, 743, 3041, 5381, 3627, 12581, 35183, 83183}}, +{12689, 17, 59195, {1, 3, 3, 3, 29, 29, 93, 187, 341, 727, 181, 133, 6525, 5673, 2739, 23349, 62505}}, +{12690, 17, 59203, {1, 3, 5, 13, 27, 59, 127, 149, 321, 613, 1543, 1537, 2909, 5139, 3755, 49285, 35183}}, +{12691, 17, 59206, {1, 3, 3, 9, 5, 31, 19, 173, 137, 19, 799, 1847, 3897, 15775, 22411, 55405, 95713}}, +{12692, 17, 59234, {1, 3, 5, 5, 31, 1, 87, 97, 481, 797, 459, 793, 4339, 5443, 31717, 6691, 68841}}, +{12693, 17, 59248, {1, 3, 3, 5, 3, 9, 123, 21, 393, 683, 1007, 971, 729, 7113, 2811, 51183, 37093}}, +{12694, 17, 59258, {1, 3, 5, 5, 27, 31, 19, 227, 123, 937, 763, 2117, 3825, 9151, 95, 54963, 62919}}, +{12695, 17, 59260, {1, 3, 1, 3, 23, 21, 21, 7, 7, 165, 99, 3073, 91, 8725, 17613, 47119, 41441}}, +{12696, 17, 59270, {1, 3, 7, 9, 29, 49, 117, 49, 205, 605, 1567, 3323, 1559, 10949, 14349, 34951, 99901}}, +{12697, 17, 59284, {1, 1, 1, 1, 15, 41, 31, 133, 439, 305, 719, 147, 6849, 5947, 31749, 45171, 15265}}, +{12698, 17, 59291, {1, 1, 5, 11, 19, 37, 13, 253, 385, 625, 1801, 1191, 547, 12025, 17971, 54127, 97323}}, +{12699, 17, 59293, {1, 3, 5, 5, 27, 9, 57, 245, 59, 211, 1195, 763, 6743, 6309, 25759, 26633, 27497}}, +{12700, 17, 59297, {1, 3, 5, 5, 9, 51, 49, 29, 213, 855, 305, 3961, 3187, 6815, 19015, 2539, 81705}}, +{12701, 17, 59312, {1, 1, 5, 7, 11, 61, 123, 163, 127, 871, 463, 2279, 5931, 2913, 23215, 40215, 91373}}, +{12702, 17, 59315, {1, 1, 7, 1, 29, 57, 55, 189, 285, 603, 747, 3753, 3359, 10277, 25319, 17569, 80125}}, +{12703, 17, 59327, {1, 3, 1, 9, 7, 53, 9, 55, 117, 495, 2045, 2487, 1625, 775, 17773, 62159, 79537}}, +{12704, 17, 59332, {1, 1, 5, 1, 1, 11, 67, 79, 57, 677, 2045, 3913, 853, 3581, 10509, 35097, 24585}}, +{12705, 17, 59347, {1, 3, 7, 7, 19, 15, 13, 237, 297, 807, 657, 2229, 2931, 10283, 49, 56485, 113889}}, +{12706, 17, 59354, {1, 3, 5, 13, 11, 23, 37, 229, 253, 411, 39, 1069, 3683, 12141, 11087, 64875, 62991}}, +{12707, 17, 59363, {1, 1, 1, 1, 13, 11, 21, 227, 305, 1021, 1039, 3095, 4621, 5723, 31989, 30681, 58487}}, +{12708, 17, 59369, {1, 3, 3, 5, 17, 47, 127, 65, 85, 961, 277, 549, 2111, 4183, 771, 11921, 111489}}, +{12709, 17, 59377, {1, 3, 3, 5, 31, 39, 89, 51, 277, 705, 375, 1603, 2793, 7425, 25065, 44945, 48391}}, +{12710, 17, 59406, {1, 1, 5, 7, 9, 45, 21, 217, 183, 65, 625, 1239, 4241, 8043, 13615, 5611, 82501}}, +{12711, 17, 59413, {1, 1, 7, 13, 15, 51, 29, 35, 73, 601, 233, 3117, 3031, 4229, 4299, 62761, 45291}}, +{12712, 17, 59423, {1, 3, 5, 5, 27, 55, 7, 1, 333, 501, 913, 1939, 5131, 5597, 1271, 30195, 20947}}, +{12713, 17, 59434, {1, 3, 5, 15, 19, 27, 43, 111, 435, 615, 811, 2113, 2503, 7553, 1619, 24773, 40881}}, +{12714, 17, 59441, {1, 3, 5, 11, 11, 31, 21, 147, 151, 141, 527, 1839, 339, 1225, 29621, 19691, 22031}}, +{12715, 17, 59442, {1, 1, 3, 13, 23, 35, 61, 181, 221, 837, 241, 3033, 1849, 12563, 11387, 3027, 33419}}, +{12716, 17, 59456, {1, 3, 3, 7, 1, 39, 125, 249, 231, 575, 1847, 197, 3969, 12945, 10257, 27227, 94097}}, +{12717, 17, 59465, {1, 3, 1, 11, 19, 7, 85, 119, 37, 253, 1575, 447, 6947, 14399, 32095, 15385, 62917}}, +{12718, 17, 59479, {1, 3, 7, 11, 23, 53, 113, 193, 253, 651, 1717, 447, 4055, 13675, 18479, 28375, 66475}}, +{12719, 17, 59501, {1, 1, 7, 3, 17, 27, 13, 209, 67, 271, 121, 1565, 2589, 8033, 3939, 14181, 111787}}, +{12720, 17, 59504, {1, 1, 3, 3, 5, 57, 75, 87, 165, 947, 967, 3353, 2055, 16195, 3701, 62637, 58343}}, +{12721, 17, 59507, {1, 1, 7, 13, 31, 41, 125, 111, 253, 257, 57, 679, 3333, 8259, 26331, 15883, 95023}}, +{12722, 17, 59514, {1, 3, 7, 11, 1, 47, 5, 249, 353, 271, 1121, 1935, 4971, 8447, 9983, 55959, 66179}}, +{12723, 17, 59523, {1, 3, 5, 11, 1, 61, 101, 43, 97, 241, 687, 4027, 4319, 4905, 12357, 51099, 97093}}, +{12724, 17, 59525, {1, 1, 3, 15, 25, 25, 117, 139, 475, 961, 1585, 2795, 2411, 11049, 18209, 15511, 43193}}, +{12725, 17, 59526, {1, 3, 3, 9, 9, 11, 107, 15, 189, 27, 289, 3111, 851, 3401, 31981, 7181, 47533}}, +{12726, 17, 59537, {1, 1, 5, 15, 31, 57, 37, 77, 205, 707, 1505, 1343, 629, 13335, 6719, 35405, 38905}}, +{12727, 17, 59543, {1, 3, 7, 7, 21, 63, 35, 125, 507, 285, 621, 2257, 3009, 13703, 9761, 54927, 16925}}, +{12728, 17, 59560, {1, 1, 1, 11, 11, 53, 37, 17, 167, 663, 1349, 1395, 7721, 9329, 2161, 37093, 52425}}, +{12729, 17, 59563, {1, 1, 7, 9, 1, 15, 113, 53, 87, 133, 131, 847, 609, 14737, 1639, 15511, 46987}}, +{12730, 17, 59566, {1, 1, 7, 7, 25, 21, 125, 149, 201, 791, 1323, 2817, 1141, 289, 14349, 64461, 76575}}, +{12731, 17, 59577, {1, 3, 3, 7, 15, 1, 123, 227, 83, 967, 2039, 3205, 715, 10787, 11235, 50375, 66911}}, +{12732, 17, 59580, {1, 3, 3, 11, 9, 45, 41, 57, 327, 903, 1705, 3947, 3173, 1035, 25529, 15217, 80795}}, +{12733, 17, 59586, {1, 3, 1, 13, 15, 63, 69, 57, 479, 277, 1641, 3465, 2629, 9901, 5781, 55101, 33049}}, +{12734, 17, 59597, {1, 1, 3, 3, 31, 25, 57, 189, 491, 335, 373, 3069, 1623, 10781, 6559, 27057, 111491}}, +{12735, 17, 59612, {1, 3, 3, 15, 19, 57, 67, 225, 343, 93, 315, 1011, 4437, 10371, 27927, 51269, 65653}}, +{12736, 17, 59615, {1, 3, 5, 5, 21, 43, 105, 153, 65, 167, 369, 3167, 785, 7509, 3753, 9035, 29039}}, +{12737, 17, 59622, {1, 1, 7, 3, 17, 9, 113, 21, 175, 967, 13, 2701, 5667, 9761, 20267, 33497, 88819}}, +{12738, 17, 59631, {1, 1, 1, 7, 9, 61, 121, 205, 283, 259, 2027, 2361, 3995, 6787, 26867, 61681, 96149}}, +{12739, 17, 59657, {1, 3, 3, 13, 31, 37, 125, 151, 317, 947, 423, 2907, 6905, 13247, 27997, 4755, 73173}}, +{12740, 17, 59660, {1, 1, 7, 13, 1, 63, 85, 75, 33, 483, 85, 1583, 4783, 14003, 31147, 12643, 99447}}, +{12741, 17, 59665, {1, 1, 1, 7, 31, 5, 93, 179, 213, 857, 3, 1015, 1481, 2413, 28759, 13941, 24851}}, +{12742, 17, 59671, {1, 1, 5, 5, 5, 35, 73, 57, 469, 885, 1951, 3599, 5555, 7259, 22599, 7627, 109227}}, +{12743, 17, 59675, {1, 1, 5, 13, 1, 1, 69, 107, 473, 793, 1851, 887, 2241, 7851, 21821, 25431, 118565}}, +{12744, 17, 59688, {1, 1, 1, 3, 15, 51, 57, 175, 91, 113, 1671, 925, 2187, 1097, 28793, 45819, 41855}}, +{12745, 17, 59706, {1, 1, 3, 3, 15, 51, 99, 177, 379, 713, 1273, 3245, 5515, 14657, 28981, 1197, 29283}}, +{12746, 17, 59708, {1, 3, 3, 15, 13, 27, 29, 7, 17, 373, 779, 1589, 3077, 13673, 31029, 43765, 74339}}, +{12747, 17, 59713, {1, 1, 3, 1, 25, 17, 15, 223, 219, 569, 155, 1307, 7143, 7975, 22581, 53223, 44271}}, +{12748, 17, 59714, {1, 1, 1, 7, 11, 23, 67, 177, 189, 267, 1799, 2453, 2367, 4193, 1827, 10191, 12265}}, +{12749, 17, 59720, {1, 3, 3, 11, 3, 29, 121, 231, 211, 191, 1803, 1171, 6801, 4007, 14111, 42951, 8311}}, +{12750, 17, 59737, {1, 3, 3, 11, 9, 23, 11, 231, 349, 47, 1645, 345, 3681, 12227, 29955, 32131, 391}}, +{12751, 17, 59743, {1, 1, 3, 11, 27, 17, 17, 49, 463, 173, 1993, 2339, 3763, 1931, 29969, 55579, 114805}}, +{12752, 17, 59744, {1, 3, 5, 15, 5, 21, 105, 69, 173, 771, 815, 3807, 577, 12589, 32193, 37601, 23961}}, +{12753, 17, 59749, {1, 1, 3, 9, 21, 63, 57, 213, 327, 765, 333, 2065, 719, 6159, 15769, 49335, 2289}}, +{12754, 17, 59756, {1, 3, 3, 1, 27, 51, 13, 87, 465, 729, 507, 2811, 6721, 14279, 31733, 56165, 78169}}, +{12755, 17, 59783, {1, 1, 1, 9, 25, 1, 47, 37, 407, 623, 1409, 3703, 4491, 3037, 8129, 13547, 50517}}, +{12756, 17, 59784, {1, 3, 5, 13, 5, 51, 127, 225, 215, 377, 1013, 2387, 4237, 1317, 5245, 17535, 100707}}, +{12757, 17, 59787, {1, 3, 5, 13, 31, 25, 123, 243, 317, 505, 483, 1743, 3097, 4139, 4525, 63143, 47665}}, +{12758, 17, 59795, {1, 3, 3, 13, 27, 19, 21, 187, 211, 471, 1931, 2877, 3635, 9233, 12385, 15741, 50843}}, +{12759, 17, 59804, {1, 1, 3, 13, 23, 33, 71, 45, 371, 621, 1057, 1605, 6329, 3763, 8613, 2965, 8141}}, +{12760, 17, 59811, {1, 1, 5, 7, 7, 17, 33, 209, 293, 35, 1665, 3721, 6245, 14567, 15349, 16195, 59757}}, +{12761, 17, 59814, {1, 1, 7, 7, 31, 19, 47, 83, 277, 323, 1225, 969, 2193, 10175, 27657, 50265, 9817}}, +{12762, 17, 59823, {1, 1, 5, 7, 15, 21, 103, 95, 189, 737, 309, 357, 5953, 9701, 15757, 20753, 88647}}, +{12763, 17, 59838, {1, 1, 5, 13, 5, 13, 61, 235, 333, 889, 1559, 1653, 1871, 10631, 18067, 47037, 9507}}, +{12764, 17, 59840, {1, 3, 7, 1, 31, 61, 69, 159, 41, 107, 807, 1517, 3551, 3435, 6151, 50025, 126949}}, +{12765, 17, 59846, {1, 1, 7, 15, 7, 41, 55, 103, 9, 105, 1397, 3955, 7723, 3389, 32435, 36005, 73733}}, +{12766, 17, 59849, {1, 1, 1, 13, 15, 59, 43, 151, 321, 215, 411, 3103, 7455, 14041, 1673, 56425, 59085}}, +{12767, 17, 59855, {1, 1, 1, 1, 5, 39, 81, 183, 509, 455, 753, 3743, 227, 7807, 23747, 42289, 122765}}, +{12768, 17, 59860, {1, 1, 7, 3, 9, 29, 89, 131, 141, 851, 1221, 67, 3117, 1329, 13151, 36827, 34313}}, +{12769, 17, 59867, {1, 3, 1, 5, 9, 29, 11, 189, 389, 79, 1903, 835, 6043, 8953, 18985, 8305, 51939}}, +{12770, 17, 59869, {1, 3, 5, 3, 9, 49, 47, 43, 193, 917, 795, 2719, 5709, 9993, 30637, 26841, 93113}}, +{12771, 17, 59885, {1, 3, 7, 5, 13, 15, 85, 169, 315, 963, 617, 1191, 6739, 11535, 3423, 6695, 2047}}, +{12772, 17, 59888, {1, 3, 1, 3, 5, 49, 41, 255, 131, 255, 825, 1485, 7005, 10107, 3913, 4731, 33199}}, +{12773, 17, 59893, {1, 3, 1, 9, 27, 63, 109, 29, 183, 381, 591, 617, 1187, 4381, 30543, 9933, 109785}}, +{12774, 17, 59904, {1, 3, 7, 7, 13, 29, 125, 105, 353, 677, 623, 1553, 5435, 10853, 16663, 42277, 64333}}, +{12775, 17, 59919, {1, 3, 3, 11, 3, 47, 49, 41, 249, 497, 963, 237, 625, 11303, 6871, 60441, 39559}}, +{12776, 17, 59922, {1, 3, 3, 1, 1, 27, 107, 253, 59, 445, 1761, 2865, 7117, 2363, 4007, 46047, 10811}}, +{12777, 17, 59927, {1, 3, 5, 5, 25, 13, 17, 107, 321, 691, 351, 577, 5001, 9437, 12451, 44997, 42727}}, +{12778, 17, 59937, {1, 3, 1, 9, 1, 31, 87, 117, 111, 379, 1989, 1155, 4777, 8563, 14585, 33375, 66985}}, +{12779, 17, 59940, {1, 3, 5, 5, 9, 51, 79, 135, 89, 929, 277, 763, 5569, 15545, 28393, 56921, 102093}}, +{12780, 17, 59944, {1, 1, 3, 7, 7, 55, 15, 37, 3, 439, 577, 2051, 101, 13655, 11959, 38127, 6639}}, +{12781, 17, 59947, {1, 1, 3, 9, 21, 11, 27, 221, 465, 565, 1313, 1405, 2421, 10543, 18369, 33751, 87785}}, +{12782, 17, 59949, {1, 3, 5, 11, 21, 39, 105, 231, 469, 711, 997, 427, 5797, 3249, 15141, 29413, 66509}}, +{12783, 17, 59961, {1, 3, 7, 5, 25, 31, 111, 37, 229, 773, 193, 553, 673, 4693, 24441, 8713, 121203}}, +{12784, 17, 59975, {1, 3, 1, 9, 23, 27, 103, 7, 183, 549, 1433, 2831, 3383, 13229, 10005, 14135, 15967}}, +{12785, 17, 59981, {1, 3, 3, 11, 11, 59, 11, 251, 373, 399, 255, 1177, 5493, 13559, 29037, 23405, 79495}}, +{12786, 17, 59994, {1, 3, 1, 11, 25, 45, 69, 115, 153, 259, 527, 9, 5807, 6015, 3765, 61621, 8645}}, +{12787, 17, 59999, {1, 3, 3, 9, 19, 5, 113, 191, 345, 655, 429, 3975, 4297, 5723, 5345, 64457, 79031}}, +{12788, 17, 60018, {1, 3, 7, 7, 15, 59, 5, 87, 289, 1005, 931, 2403, 485, 16043, 15623, 39253, 61377}}, +{12789, 17, 60023, {1, 3, 3, 9, 17, 53, 31, 9, 217, 711, 1007, 1375, 2733, 13735, 19825, 59741, 83827}}, +{12790, 17, 60024, {1, 1, 3, 15, 11, 11, 41, 195, 79, 1013, 1353, 1961, 7365, 7533, 13315, 8441, 90705}}, +{12791, 17, 60039, {1, 1, 5, 7, 23, 17, 93, 165, 371, 495, 865, 2753, 15, 10729, 16553, 6039, 96721}}, +{12792, 17, 60043, {1, 3, 3, 3, 25, 25, 67, 119, 485, 63, 75, 2365, 4711, 16129, 5589, 50621, 1203}}, +{12793, 17, 60048, {1, 1, 7, 1, 27, 57, 49, 79, 479, 79, 683, 753, 345, 2007, 18983, 42729, 56369}}, +{12794, 17, 60054, {1, 1, 7, 7, 1, 23, 9, 155, 425, 735, 1625, 2271, 7875, 11219, 12147, 52351, 55845}}, +{12795, 17, 60073, {1, 1, 1, 9, 13, 11, 67, 139, 259, 59, 1593, 1207, 237, 11683, 24719, 27689, 115617}}, +{12796, 17, 60079, {1, 1, 5, 7, 7, 15, 9, 171, 35, 131, 133, 3939, 1401, 6347, 4051, 64235, 68581}}, +{12797, 17, 60082, {1, 3, 3, 1, 27, 21, 29, 119, 201, 527, 763, 203, 1139, 3951, 3341, 17023, 13493}}, +{12798, 17, 60102, {1, 1, 1, 15, 27, 31, 97, 203, 255, 573, 781, 4095, 3381, 363, 32733, 34517, 77973}}, +{12799, 17, 60108, {1, 1, 3, 9, 29, 9, 115, 207, 267, 513, 1071, 3943, 5045, 10071, 6627, 18043, 44289}}, +{12800, 17, 60111, {1, 1, 7, 7, 29, 25, 51, 31, 305, 239, 197, 3825, 2363, 4903, 16237, 37571, 66545}}, +{12801, 17, 60120, {1, 1, 5, 11, 29, 11, 63, 145, 185, 359, 249, 1179, 105, 1745, 28819, 40513, 74525}}, +{12802, 17, 60149, {1, 1, 7, 1, 15, 35, 39, 5, 139, 119, 2047, 3369, 2857, 11037, 30523, 24813, 89209}}, +{12803, 17, 60153, {1, 1, 5, 11, 9, 41, 97, 15, 357, 95, 361, 3, 3227, 8445, 16541, 30661, 84215}}, +{12804, 17, 60161, {1, 1, 7, 5, 11, 55, 77, 19, 331, 621, 893, 577, 1025, 1561, 32331, 59469, 67065}}, +{12805, 17, 60168, {1, 3, 7, 7, 17, 53, 55, 65, 295, 391, 445, 33, 5361, 669, 6447, 3833, 129463}}, +{12806, 17, 60176, {1, 3, 7, 5, 21, 5, 83, 207, 485, 597, 1429, 581, 6831, 2885, 24669, 35211, 69549}}, +{12807, 17, 60182, {1, 3, 3, 1, 3, 33, 69, 199, 427, 893, 1823, 1291, 4533, 11779, 18515, 17597, 79159}}, +{12808, 17, 60185, {1, 3, 1, 1, 17, 41, 91, 21, 509, 875, 777, 639, 4009, 12103, 12947, 58395, 36625}}, +{12809, 17, 60204, {1, 1, 7, 15, 13, 11, 19, 243, 365, 661, 1193, 279, 6055, 13921, 5811, 14337, 105375}}, +{12810, 17, 60212, {1, 3, 7, 3, 3, 51, 101, 175, 83, 921, 523, 3909, 8003, 1295, 4153, 4757, 107881}}, +{12811, 17, 60215, {1, 1, 1, 3, 19, 15, 39, 125, 401, 399, 381, 1123, 2339, 12231, 13387, 50829, 79263}}, +{12812, 17, 60219, {1, 3, 1, 1, 15, 13, 55, 181, 53, 671, 1929, 1003, 521, 15279, 1837, 11877, 79241}}, +{12813, 17, 60222, {1, 3, 3, 9, 23, 45, 21, 37, 1, 701, 1253, 2595, 6261, 4139, 24443, 6655, 109755}}, +{12814, 17, 60229, {1, 3, 7, 1, 1, 13, 57, 41, 95, 985, 1613, 3487, 7509, 213, 32139, 27869, 123589}}, +{12815, 17, 60234, {1, 3, 7, 11, 15, 27, 27, 97, 167, 755, 1331, 3961, 3067, 13827, 8983, 8755, 77847}}, +{12816, 17, 60241, {1, 1, 5, 13, 5, 59, 51, 193, 339, 837, 137, 3807, 2617, 14449, 11035, 16827, 24531}}, +{12817, 17, 60248, {1, 1, 7, 15, 17, 37, 67, 99, 261, 743, 275, 33, 8107, 4959, 9683, 19757, 36471}}, +{12818, 17, 60277, {1, 3, 5, 5, 29, 7, 107, 95, 235, 761, 1205, 3125, 4791, 4645, 25623, 6463, 121887}}, +{12819, 17, 60282, {1, 3, 1, 1, 19, 19, 73, 189, 243, 669, 489, 1927, 1651, 11391, 30699, 64719, 60359}}, +{12820, 17, 60287, {1, 3, 7, 3, 29, 47, 7, 21, 299, 739, 1605, 749, 5755, 11579, 793, 36845, 14695}}, +{12821, 17, 60303, {1, 1, 5, 15, 17, 53, 107, 49, 103, 505, 1191, 2881, 7435, 7515, 24237, 5397, 47003}}, +{12822, 17, 60306, {1, 1, 7, 15, 25, 45, 121, 157, 313, 709, 1519, 2195, 5487, 1789, 32401, 4197, 9329}}, +{12823, 17, 60327, {1, 3, 3, 11, 21, 17, 77, 153, 275, 765, 1943, 3395, 5807, 12809, 29891, 42579, 75565}}, +{12824, 17, 60333, {1, 3, 5, 11, 11, 3, 63, 9, 223, 441, 1047, 441, 867, 3399, 15813, 13, 25293}}, +{12825, 17, 60334, {1, 1, 7, 1, 17, 25, 1, 7, 211, 117, 1417, 1057, 3369, 13211, 11437, 20877, 114867}}, +{12826, 17, 60336, {1, 1, 1, 15, 5, 41, 89, 165, 343, 447, 55, 1013, 8179, 12295, 18615, 23885, 46149}}, +{12827, 17, 60345, {1, 1, 5, 1, 15, 37, 109, 141, 323, 151, 1669, 1365, 3047, 13145, 30355, 12377, 102467}}, +{12828, 17, 60359, {1, 1, 3, 15, 15, 49, 83, 127, 285, 715, 981, 1153, 3019, 11071, 24229, 63807, 16315}}, +{12829, 17, 60368, {1, 1, 3, 1, 23, 35, 21, 179, 83, 929, 1033, 643, 3591, 10363, 7739, 259, 106879}}, +{12830, 17, 60380, {1, 1, 5, 7, 19, 9, 63, 241, 387, 851, 1709, 1161, 7469, 2093, 6169, 6085, 29851}}, +{12831, 17, 60389, {1, 3, 7, 5, 17, 59, 99, 87, 189, 853, 193, 1191, 5683, 15865, 27791, 55575, 13479}}, +{12832, 17, 60390, {1, 3, 3, 3, 25, 51, 81, 129, 365, 319, 179, 2863, 511, 14471, 3689, 59505, 80105}}, +{12833, 17, 60394, {1, 1, 1, 15, 5, 33, 69, 35, 429, 715, 1781, 783, 1089, 8969, 26987, 23519, 34227}}, +{12834, 17, 60407, {1, 3, 5, 9, 1, 51, 9, 121, 325, 945, 2025, 1985, 7337, 10837, 21299, 20591, 76905}}, +{12835, 17, 60414, {1, 3, 7, 3, 15, 51, 19, 109, 297, 491, 15, 1905, 1479, 1997, 18129, 43861, 84925}}, +{12836, 17, 60419, {1, 1, 3, 5, 7, 21, 1, 137, 207, 943, 1171, 2019, 6687, 10683, 20937, 34033, 43907}}, +{12837, 17, 60426, {1, 1, 1, 11, 25, 21, 47, 227, 247, 933, 471, 955, 4299, 5605, 18469, 62357, 98273}}, +{12838, 17, 60428, {1, 1, 5, 13, 21, 39, 41, 23, 493, 311, 1401, 537, 2919, 11519, 12597, 58321, 41401}}, +{12839, 17, 60431, {1, 1, 7, 5, 31, 55, 93, 151, 219, 765, 1247, 2775, 7167, 13413, 17071, 57969, 114069}}, +{12840, 17, 60440, {1, 3, 1, 15, 31, 41, 85, 161, 379, 337, 1639, 933, 3511, 925, 3523, 52379, 18421}}, +{12841, 17, 60450, {1, 3, 3, 11, 17, 17, 71, 11, 291, 305, 1295, 1175, 1803, 6247, 26523, 46467, 126999}}, +{12842, 17, 60469, {1, 1, 1, 13, 9, 43, 113, 7, 1, 443, 719, 3045, 2527, 5233, 13969, 50463, 115629}}, +{12843, 17, 60473, {1, 1, 1, 13, 9, 31, 87, 119, 351, 53, 985, 2017, 1187, 10429, 13719, 41383, 12749}}, +{12844, 17, 60474, {1, 1, 1, 15, 23, 17, 5, 215, 383, 299, 305, 3577, 7707, 6927, 28591, 44287, 65697}}, +{12845, 17, 60484, {1, 1, 5, 7, 23, 61, 89, 235, 97, 463, 237, 2117, 5503, 13693, 28231, 7745, 73631}}, +{12846, 17, 60496, {1, 3, 7, 3, 17, 43, 73, 245, 145, 267, 855, 187, 6167, 3999, 9935, 14347, 57727}}, +{12847, 17, 60502, {1, 1, 7, 3, 25, 47, 11, 221, 425, 527, 1341, 3973, 4635, 16321, 30021, 48547, 109409}}, +{12848, 17, 60508, {1, 3, 1, 13, 5, 11, 41, 191, 121, 219, 1315, 583, 2997, 5883, 31689, 64835, 35351}}, +{12849, 17, 60511, {1, 1, 3, 3, 15, 47, 49, 115, 107, 757, 329, 1653, 4633, 14605, 1579, 62413, 88685}}, +{12850, 17, 60522, {1, 1, 1, 5, 19, 47, 63, 131, 427, 335, 269, 3581, 7613, 15685, 16957, 30487, 94965}}, +{12851, 17, 60529, {1, 1, 3, 15, 31, 11, 77, 115, 467, 249, 247, 651, 3769, 3701, 21627, 36219, 77309}}, +{12852, 17, 60530, {1, 3, 1, 5, 5, 29, 45, 21, 37, 733, 1773, 2467, 2747, 9391, 5449, 23285, 20089}}, +{12853, 17, 60536, {1, 3, 5, 13, 29, 31, 51, 199, 77, 711, 1313, 3303, 2675, 177, 7915, 37129, 123641}}, +{12854, 17, 60551, {1, 3, 7, 15, 17, 17, 99, 43, 9, 699, 491, 669, 1313, 1377, 30015, 59261, 97321}}, +{12855, 17, 60557, {1, 3, 1, 13, 9, 13, 21, 199, 249, 775, 399, 897, 2205, 15357, 17281, 3193, 255}}, +{12856, 17, 60566, {1, 3, 1, 13, 7, 23, 7, 181, 65, 253, 199, 333, 6507, 4409, 13319, 30165, 95191}}, +{12857, 17, 60576, {1, 3, 3, 1, 31, 9, 31, 71, 301, 867, 1655, 2065, 597, 15247, 3019, 31763, 91889}}, +{12858, 17, 60579, {1, 3, 5, 5, 3, 35, 113, 133, 39, 1013, 991, 3521, 5805, 87, 32393, 28619, 34325}}, +{12859, 17, 60585, {1, 3, 1, 9, 15, 27, 45, 85, 61, 99, 1085, 3251, 7085, 4137, 27443, 42581, 94031}}, +{12860, 17, 60588, {1, 1, 5, 7, 11, 49, 97, 129, 339, 259, 821, 165, 833, 11383, 21629, 17473, 2947}}, +{12861, 17, 60600, {1, 3, 3, 3, 11, 7, 27, 231, 169, 847, 1767, 1823, 3855, 14277, 12457, 55825, 14377}}, +{12862, 17, 60613, {1, 1, 7, 3, 27, 5, 47, 193, 207, 747, 271, 3155, 1097, 2229, 4919, 22327, 12659}}, +{12863, 17, 60628, {1, 1, 5, 3, 27, 29, 105, 199, 31, 73, 1741, 2173, 4577, 3917, 31513, 45983, 118015}}, +{12864, 17, 60631, {1, 1, 3, 1, 19, 5, 23, 249, 35, 891, 1105, 1907, 5453, 1877, 1965, 3169, 107091}}, +{12865, 17, 60648, {1, 1, 7, 9, 11, 47, 57, 171, 255, 661, 1925, 2223, 525, 4775, 12327, 8067, 47083}}, +{12866, 17, 60651, {1, 3, 3, 11, 29, 43, 37, 33, 459, 117, 7, 1739, 3585, 7429, 2217, 9533, 95299}}, +{12867, 17, 60653, {1, 1, 5, 11, 23, 3, 33, 13, 45, 201, 467, 597, 4891, 2673, 32407, 56935, 121991}}, +{12868, 17, 60671, {1, 1, 7, 5, 29, 63, 7, 59, 417, 547, 17, 3701, 5775, 1079, 26527, 47187, 14827}}, +{12869, 17, 60673, {1, 1, 5, 3, 27, 11, 85, 129, 377, 497, 1659, 1965, 581, 15075, 31265, 195, 62307}}, +{12870, 17, 60691, {1, 1, 3, 9, 3, 57, 33, 57, 279, 955, 741, 955, 6501, 8069, 27305, 15363, 34715}}, +{12871, 17, 60697, {1, 3, 7, 13, 29, 23, 25, 171, 201, 529, 661, 4089, 5755, 12459, 31269, 9763, 53217}}, +{12872, 17, 60700, {1, 3, 7, 1, 3, 19, 27, 201, 261, 421, 1487, 2907, 547, 15791, 7661, 42871, 116343}}, +{12873, 17, 60714, {1, 3, 7, 9, 5, 59, 51, 91, 7, 399, 2001, 661, 6577, 7473, 5439, 29073, 3391}}, +{12874, 17, 60724, {1, 1, 7, 1, 23, 39, 119, 105, 113, 913, 1097, 2547, 8143, 11409, 23197, 59527, 55677}}, +{12875, 17, 60728, {1, 3, 3, 15, 31, 35, 103, 207, 247, 801, 1821, 1995, 4437, 12891, 659, 15687, 53}}, +{12876, 17, 60733, {1, 3, 3, 5, 13, 5, 45, 187, 231, 661, 1553, 2909, 3715, 4499, 14773, 5957, 24171}}, +{12877, 17, 60736, {1, 1, 1, 11, 3, 53, 93, 29, 379, 713, 299, 445, 2815, 9825, 30941, 22413, 91563}}, +{12878, 17, 60745, {1, 3, 1, 1, 27, 31, 111, 83, 349, 895, 1007, 2649, 7139, 5863, 27739, 53099, 6837}}, +{12879, 17, 60746, {1, 3, 1, 5, 23, 57, 121, 229, 487, 405, 2001, 2761, 3011, 2219, 10711, 31139, 83809}}, +{12880, 17, 60753, {1, 3, 7, 5, 13, 51, 37, 181, 359, 909, 2001, 793, 1143, 9219, 5111, 23021, 126081}}, +{12881, 17, 60754, {1, 3, 1, 13, 27, 27, 99, 25, 189, 129, 1831, 1005, 8119, 2557, 26985, 63447, 89693}}, +{12882, 17, 60782, {1, 1, 7, 5, 1, 21, 79, 33, 99, 7, 433, 1343, 3121, 3705, 477, 41191, 13749}}, +{12883, 17, 60784, {1, 1, 5, 5, 29, 53, 75, 243, 35, 461, 1399, 129, 177, 6533, 22209, 23503, 43819}}, +{12884, 17, 60790, {1, 3, 7, 7, 31, 37, 109, 9, 255, 263, 35, 3451, 7629, 9849, 10387, 3165, 120623}}, +{12885, 17, 60793, {1, 3, 5, 3, 27, 53, 93, 111, 239, 723, 293, 1481, 4427, 13623, 1989, 47705, 122069}}, +{12886, 17, 60805, {1, 3, 7, 7, 31, 37, 37, 213, 191, 627, 1821, 3621, 2875, 15759, 17525, 50969, 35311}}, +{12887, 17, 60830, {1, 3, 5, 5, 11, 41, 87, 233, 79, 251, 25, 1385, 3527, 7853, 5541, 36519, 42779}}, +{12888, 17, 60836, {1, 3, 1, 5, 9, 1, 117, 11, 61, 879, 553, 383, 6237, 15207, 3057, 28051, 59149}}, +{12889, 17, 60846, {1, 1, 1, 15, 15, 7, 37, 133, 81, 815, 893, 2281, 2459, 15325, 20107, 2289, 34535}}, +{12890, 17, 60851, {1, 1, 5, 11, 17, 3, 45, 159, 409, 643, 969, 1289, 4353, 10465, 16233, 55561, 111667}}, +{12891, 17, 60880, {1, 1, 5, 13, 23, 1, 79, 127, 485, 1013, 629, 791, 853, 9247, 26333, 1123, 17313}}, +{12892, 17, 60896, {1, 1, 5, 11, 27, 17, 97, 157, 479, 421, 1739, 3257, 2419, 6673, 2759, 19399, 120305}}, +{12893, 17, 60905, {1, 3, 5, 1, 3, 43, 71, 55, 111, 949, 1957, 3777, 3409, 8229, 26585, 49221, 33639}}, +{12894, 17, 60923, {1, 3, 7, 9, 17, 45, 71, 71, 417, 1007, 213, 1069, 2693, 5065, 23489, 33363, 120459}}, +{12895, 17, 60925, {1, 1, 1, 1, 25, 47, 81, 251, 341, 101, 1941, 1133, 3205, 4141, 26561, 56095, 37193}}, +{12896, 17, 60932, {1, 1, 3, 7, 25, 45, 97, 95, 135, 871, 949, 3489, 7593, 10717, 26163, 12711, 76989}}, +{12897, 17, 60939, {1, 3, 1, 9, 3, 11, 35, 7, 471, 509, 1335, 385, 1297, 11201, 28553, 51609, 45351}}, +{12898, 17, 60942, {1, 1, 5, 11, 21, 23, 105, 31, 125, 5, 1721, 1503, 7807, 13093, 24873, 18467, 30183}}, +{12899, 17, 60953, {1, 3, 7, 15, 15, 57, 61, 213, 79, 655, 517, 1031, 6719, 4807, 12805, 2605, 35407}}, +{12900, 17, 60956, {1, 1, 3, 15, 21, 5, 93, 61, 103, 945, 935, 115, 1281, 7735, 20723, 37211, 50039}}, +{12901, 17, 60959, {1, 3, 3, 15, 19, 51, 79, 187, 127, 205, 121, 701, 6065, 15185, 29343, 58249, 25331}}, +{12902, 17, 60963, {1, 3, 3, 15, 17, 49, 23, 163, 201, 809, 1203, 687, 1777, 695, 18779, 31571, 118383}}, +{12903, 17, 60969, {1, 1, 1, 5, 25, 45, 121, 223, 233, 193, 1459, 1889, 5537, 4421, 13659, 4591, 112563}}, +{12904, 17, 60978, {1, 3, 5, 3, 31, 37, 109, 15, 381, 373, 993, 3633, 641, 4411, 32265, 46481, 49195}}, +{12905, 17, 60980, {1, 3, 3, 11, 19, 21, 39, 67, 447, 829, 1163, 55, 2153, 15045, 6643, 48235, 59261}}, +{12906, 17, 60987, {1, 3, 3, 1, 7, 63, 37, 71, 35, 601, 1719, 447, 8009, 7235, 13225, 44103, 82409}}, +{12907, 17, 61007, {1, 3, 3, 7, 13, 33, 69, 115, 207, 807, 109, 2989, 3727, 9017, 29095, 11377, 122401}}, +{12908, 17, 61012, {1, 1, 3, 15, 9, 9, 57, 197, 115, 73, 1277, 1727, 5275, 11897, 12157, 34763, 58273}}, +{12909, 17, 61015, {1, 1, 3, 15, 19, 19, 127, 105, 289, 663, 877, 1303, 4901, 8897, 4803, 36853, 93361}}, +{12910, 17, 61025, {1, 1, 3, 7, 23, 29, 121, 29, 439, 795, 1469, 523, 7767, 12061, 15613, 57343, 21291}}, +{12911, 17, 61026, {1, 1, 1, 9, 25, 29, 15, 165, 383, 233, 91, 2065, 2741, 7809, 5325, 48581, 65551}}, +{12912, 17, 61038, {1, 1, 5, 15, 29, 19, 103, 143, 283, 597, 1055, 3525, 6115, 11083, 22497, 42893, 86849}}, +{12913, 17, 61040, {1, 1, 1, 15, 13, 43, 75, 157, 267, 519, 1231, 929, 1585, 16137, 1045, 4353, 63473}}, +{12914, 17, 61052, {1, 1, 1, 9, 17, 25, 73, 227, 145, 921, 1845, 2057, 3099, 15523, 8993, 14135, 37811}}, +{12915, 17, 61061, {1, 3, 3, 15, 17, 57, 107, 215, 271, 841, 1543, 2803, 625, 15359, 13341, 36879, 83191}}, +{12916, 17, 61074, {1, 3, 5, 13, 3, 17, 127, 81, 193, 253, 71, 3205, 1157, 1313, 27341, 49657, 96539}}, +{12917, 17, 61083, {1, 3, 1, 5, 27, 43, 1, 111, 23, 963, 1853, 925, 7401, 13999, 29797, 47125, 59955}}, +{12918, 17, 61085, {1, 3, 3, 1, 31, 55, 107, 121, 37, 159, 61, 577, 5711, 6745, 20077, 42333, 37105}}, +{12919, 17, 61086, {1, 1, 5, 3, 31, 11, 1, 7, 295, 515, 203, 707, 2919, 9619, 8877, 45143, 101861}}, +{12920, 17, 61096, {1, 3, 7, 11, 5, 23, 71, 9, 99, 947, 1141, 1651, 1903, 13607, 15433, 55005, 127639}}, +{12921, 17, 61119, {1, 1, 7, 3, 13, 61, 25, 111, 239, 243, 1069, 3551, 3339, 743, 29921, 21313, 54953}}, +{12922, 17, 61124, {1, 1, 3, 3, 23, 7, 21, 47, 367, 871, 1647, 2183, 2615, 2257, 30447, 25761, 110221}}, +{12923, 17, 61127, {1, 3, 7, 15, 13, 51, 115, 19, 277, 463, 475, 3467, 7313, 2477, 10841, 13585, 61449}}, +{12924, 17, 61128, {1, 1, 7, 9, 1, 27, 111, 209, 391, 621, 1047, 549, 2013, 549, 24213, 6369, 68691}}, +{12925, 17, 61133, {1, 1, 1, 11, 19, 59, 11, 107, 79, 1013, 357, 1729, 889, 12823, 6537, 35717, 42761}}, +{12926, 17, 61134, {1, 1, 3, 15, 29, 41, 49, 177, 309, 293, 1035, 1481, 1395, 2009, 7917, 365, 28981}}, +{12927, 17, 61146, {1, 3, 7, 11, 31, 19, 51, 113, 479, 347, 353, 929, 1089, 3373, 2807, 55201, 23137}}, +{12928, 17, 61155, {1, 3, 1, 15, 7, 55, 79, 191, 267, 701, 1885, 1241, 7085, 9835, 24239, 7609, 13967}}, +{12929, 17, 61161, {1, 1, 3, 15, 25, 33, 69, 5, 93, 375, 435, 2401, 1591, 8173, 17293, 20281, 63809}}, +{12930, 17, 61162, {1, 3, 5, 3, 9, 49, 63, 47, 217, 773, 1241, 1131, 7521, 15607, 24341, 20353, 122801}}, +{12931, 17, 61169, {1, 3, 7, 15, 21, 1, 57, 159, 279, 987, 1641, 3883, 1659, 7875, 24857, 33273, 88933}}, +{12932, 17, 61179, {1, 1, 3, 11, 3, 23, 45, 31, 279, 643, 1285, 471, 137, 15871, 13927, 52361, 118901}}, +{12933, 17, 61182, {1, 3, 1, 15, 27, 51, 83, 19, 299, 213, 1001, 897, 2751, 13085, 20841, 24891, 113173}}, +{12934, 17, 61190, {1, 1, 7, 5, 5, 27, 77, 77, 165, 489, 359, 1607, 3903, 16241, 641, 25999, 29279}}, +{12935, 17, 61201, {1, 3, 3, 7, 15, 23, 103, 49, 259, 519, 641, 1577, 3713, 12181, 287, 29483, 58505}}, +{12936, 17, 61208, {1, 1, 7, 13, 11, 29, 125, 45, 45, 167, 261, 2735, 2421, 15457, 5965, 44005, 82141}}, +{12937, 17, 61238, {1, 1, 3, 9, 25, 21, 9, 3, 57, 1017, 1359, 79, 6789, 7805, 20683, 25695, 38893}}, +{12938, 17, 61241, {1, 1, 7, 1, 29, 53, 87, 171, 51, 5, 9, 3033, 787, 10611, 15913, 35703, 70459}}, +{12939, 17, 61247, {1, 1, 3, 5, 1, 33, 111, 139, 477, 33, 1287, 3615, 5235, 15491, 2915, 47821, 55257}}, +{12940, 17, 61259, {1, 1, 1, 13, 5, 23, 55, 225, 303, 587, 1595, 307, 3809, 8093, 13297, 63213, 104317}}, +{12941, 17, 61267, {1, 1, 3, 15, 31, 29, 13, 33, 267, 481, 1039, 3805, 2549, 861, 12483, 61829, 127725}}, +{12942, 17, 61269, {1, 3, 5, 11, 23, 17, 23, 117, 333, 167, 1965, 1387, 5453, 15545, 123, 12991, 36281}}, +{12943, 17, 61295, {1, 3, 5, 1, 3, 9, 25, 55, 497, 951, 1377, 993, 6089, 4801, 32719, 31579, 126663}}, +{12944, 17, 61304, {1, 3, 5, 11, 15, 37, 103, 51, 509, 585, 769, 425, 835, 14027, 30265, 55735, 36655}}, +{12945, 17, 61309, {1, 1, 1, 13, 9, 49, 105, 61, 493, 3, 1663, 815, 8105, 16361, 32477, 30437, 61519}}, +{12946, 17, 61310, {1, 3, 7, 11, 29, 23, 105, 87, 119, 399, 1405, 1515, 7017, 12729, 13769, 29741, 30921}}, +{12947, 17, 61313, {1, 3, 7, 13, 13, 7, 93, 227, 489, 843, 923, 3373, 759, 5105, 9059, 21079, 101335}}, +{12948, 17, 61320, {1, 1, 1, 1, 29, 53, 119, 227, 171, 363, 289, 827, 425, 12827, 25791, 21587, 109567}}, +{12949, 17, 61325, {1, 1, 5, 11, 29, 29, 53, 127, 441, 219, 1049, 275, 525, 5535, 20907, 9299, 76319}}, +{12950, 17, 61334, {1, 3, 7, 15, 3, 53, 109, 61, 275, 391, 1147, 2953, 1439, 4417, 679, 10949, 35101}}, +{12951, 17, 61337, {1, 1, 5, 13, 9, 1, 109, 137, 249, 835, 721, 129, 2883, 13043, 31827, 36741, 107167}}, +{12952, 17, 61386, {1, 1, 5, 9, 27, 17, 117, 121, 111, 433, 743, 1987, 6839, 8439, 2533, 62135, 54281}}, +{12953, 17, 61399, {1, 3, 5, 15, 11, 61, 117, 103, 409, 485, 1047, 469, 2245, 7193, 2541, 9399, 88127}}, +{12954, 17, 61422, {1, 3, 1, 9, 3, 49, 111, 201, 87, 181, 1243, 3261, 1827, 10385, 13045, 58331, 107729}}, +{12955, 17, 61429, {1, 3, 5, 15, 13, 29, 61, 223, 227, 733, 1757, 755, 4231, 13537, 1509, 54623, 120221}}, +{12956, 17, 61436, {1, 1, 1, 15, 13, 9, 7, 233, 391, 689, 355, 1203, 5811, 7759, 2647, 54949, 51891}}, +{12957, 17, 61439, {1, 1, 3, 1, 3, 27, 95, 51, 497, 315, 915, 1055, 2917, 167, 1849, 26591, 102729}}, +{12958, 17, 61466, {1, 3, 7, 13, 1, 51, 3, 113, 437, 449, 1889, 2887, 4735, 5693, 8191, 12847, 52651}}, +{12959, 17, 61477, {1, 1, 7, 13, 1, 45, 41, 221, 403, 185, 1653, 1809, 6405, 9193, 1381, 36677, 43255}}, +{12960, 17, 61478, {1, 1, 5, 1, 25, 51, 109, 245, 291, 809, 1381, 3235, 5933, 10185, 18663, 15589, 39539}}, +{12961, 17, 61490, {1, 3, 3, 1, 27, 29, 3, 227, 275, 705, 489, 681, 323, 7453, 26005, 13791, 115219}}, +{12962, 17, 61495, {1, 3, 5, 1, 3, 51, 101, 75, 157, 529, 45, 3105, 3617, 13081, 21665, 50065, 117823}}, +{12963, 17, 61504, {1, 3, 5, 15, 9, 43, 41, 169, 391, 455, 1375, 253, 1257, 14427, 16325, 11571, 26361}}, +{12964, 17, 61514, {1, 1, 5, 7, 5, 41, 81, 173, 275, 225, 301, 335, 5473, 1509, 20897, 21951, 103967}}, +{12965, 17, 61516, {1, 3, 5, 1, 13, 27, 107, 19, 221, 609, 823, 1193, 665, 4947, 11967, 57373, 21665}}, +{12966, 17, 61521, {1, 3, 7, 13, 7, 11, 109, 59, 193, 103, 943, 595, 5121, 6159, 2103, 52863, 57541}}, +{12967, 17, 61527, {1, 3, 5, 3, 5, 51, 85, 227, 465, 1013, 601, 1687, 7615, 5991, 8635, 64487, 69967}}, +{12968, 17, 61531, {1, 3, 1, 11, 29, 49, 79, 25, 447, 119, 569, 383, 5261, 6209, 21965, 40863, 96593}}, +{12969, 17, 61540, {1, 1, 3, 13, 9, 49, 59, 93, 369, 789, 1373, 425, 3565, 13357, 17783, 46435, 129653}}, +{12970, 17, 61550, {1, 3, 7, 5, 5, 39, 51, 15, 421, 531, 1855, 2105, 5335, 8509, 20841, 44997, 48235}}, +{12971, 17, 61557, {1, 3, 7, 3, 27, 47, 113, 1, 453, 565, 1843, 243, 7663, 10697, 7725, 24485, 49435}}, +{12972, 17, 61562, {1, 1, 1, 11, 25, 25, 47, 1, 475, 831, 1833, 391, 5173, 14873, 14263, 36061, 26781}}, +{12973, 17, 61577, {1, 1, 7, 15, 21, 13, 5, 169, 241, 235, 547, 1565, 2053, 6877, 12811, 22213, 106907}}, +{12974, 17, 61583, {1, 3, 7, 1, 21, 11, 101, 115, 243, 985, 1389, 2189, 563, 12453, 14951, 58889, 48079}}, +{12975, 17, 61597, {1, 1, 5, 7, 9, 37, 33, 241, 337, 453, 1955, 1731, 4445, 8887, 27715, 63975, 95891}}, +{12976, 17, 61602, {1, 1, 5, 1, 23, 21, 95, 237, 241, 991, 1159, 2417, 2279, 8941, 20987, 39773, 79327}}, +{12977, 17, 61604, {1, 3, 3, 1, 19, 39, 73, 253, 137, 1009, 1793, 4007, 2017, 7503, 16689, 29013, 41571}}, +{12978, 17, 61607, {1, 3, 7, 15, 3, 63, 77, 11, 293, 495, 339, 3525, 5747, 1807, 11705, 55807, 54163}}, +{12979, 17, 61622, {1, 3, 7, 3, 25, 41, 127, 23, 113, 807, 387, 3529, 2173, 11217, 21257, 61169, 47749}}, +{12980, 17, 61625, {1, 3, 3, 5, 27, 5, 43, 55, 207, 995, 811, 1473, 481, 4317, 2015, 49161, 94711}}, +{12981, 17, 61633, {1, 3, 1, 9, 21, 61, 41, 147, 425, 353, 1943, 2455, 379, 10729, 3045, 16013, 44527}}, +{12982, 17, 61640, {1, 3, 1, 5, 17, 43, 109, 231, 313, 277, 939, 3491, 5883, 2297, 4763, 33403, 62395}}, +{12983, 17, 61643, {1, 1, 3, 9, 1, 49, 37, 145, 383, 467, 621, 2873, 873, 6163, 16475, 49045, 115599}}, +{12984, 17, 61651, {1, 1, 1, 9, 5, 15, 125, 157, 459, 727, 807, 2769, 5531, 11531, 4277, 42301, 16969}}, +{12985, 17, 61658, {1, 1, 3, 1, 15, 23, 39, 121, 163, 537, 409, 1217, 8007, 5671, 19681, 25371, 69227}}, +{12986, 17, 61670, {1, 3, 7, 9, 23, 1, 93, 41, 267, 995, 1917, 3441, 6237, 7233, 30215, 31945, 33967}}, +{12987, 17, 61674, {1, 1, 1, 15, 7, 5, 123, 53, 359, 677, 1061, 1649, 651, 14079, 30211, 14827, 123175}}, +{12988, 17, 61676, {1, 3, 1, 5, 11, 19, 121, 135, 167, 293, 493, 949, 5459, 11785, 21445, 57161, 129737}}, +{12989, 17, 61679, {1, 1, 3, 13, 19, 39, 43, 55, 149, 549, 479, 925, 341, 1151, 12007, 23473, 10671}}, +{12990, 17, 61688, {1, 3, 5, 9, 7, 41, 37, 103, 381, 373, 1767, 3959, 3001, 7903, 24033, 55123, 93627}}, +{12991, 17, 61693, {1, 3, 3, 3, 31, 27, 93, 175, 393, 575, 703, 3715, 6043, 11763, 7613, 15907, 56821}}, +{12992, 17, 61701, {1, 3, 3, 13, 3, 13, 75, 85, 89, 851, 1171, 3075, 5265, 10293, 14745, 32153, 89877}}, +{12993, 17, 61711, {1, 1, 7, 11, 1, 25, 101, 149, 187, 197, 1485, 1555, 1599, 7413, 23275, 27093, 73483}}, +{12994, 17, 61714, {1, 3, 1, 1, 19, 15, 63, 111, 211, 197, 77, 1683, 3159, 235, 32601, 35715, 59537}}, +{12995, 17, 61723, {1, 3, 5, 11, 23, 61, 91, 135, 403, 669, 267, 2507, 2931, 7813, 5047, 40027, 111705}}, +{12996, 17, 61725, {1, 1, 5, 13, 7, 5, 65, 37, 87, 405, 335, 1095, 3717, 1717, 31551, 28181, 47407}}, +{12997, 17, 61726, {1, 1, 5, 13, 3, 43, 67, 99, 507, 861, 1063, 3003, 6095, 11079, 6919, 41597, 97709}}, +{12998, 17, 61729, {1, 1, 3, 1, 7, 23, 109, 161, 321, 499, 549, 363, 2061, 6519, 1531, 1969, 83845}}, +{12999, 17, 61741, {1, 3, 7, 5, 17, 39, 55, 59, 455, 433, 601, 365, 7987, 2207, 3463, 31755, 94203}}, +{13000, 17, 61761, {1, 3, 5, 5, 29, 61, 79, 101, 125, 1011, 867, 2935, 3269, 13601, 21935, 50355, 65883}}, +{13001, 17, 61779, {1, 1, 1, 5, 3, 41, 101, 107, 299, 125, 81, 2421, 2937, 787, 19479, 25803, 74473}}, +{13002, 17, 61781, {1, 3, 3, 1, 3, 15, 73, 13, 167, 387, 75, 601, 415, 6927, 32277, 16709, 12477}}, +{13003, 17, 61782, {1, 1, 5, 1, 19, 37, 53, 45, 139, 737, 159, 2299, 6219, 11613, 22873, 18303, 56875}}, +{13004, 17, 61797, {1, 1, 3, 9, 23, 15, 17, 37, 373, 445, 1369, 2997, 49, 13901, 13155, 37375, 29063}}, +{13005, 17, 61809, {1, 3, 3, 11, 17, 1, 45, 91, 445, 631, 1297, 1907, 3765, 13893, 29379, 17939, 36573}}, +{13006, 17, 61810, {1, 1, 7, 13, 11, 31, 101, 165, 413, 305, 361, 4019, 3183, 2321, 7819, 49275, 101041}}, +{13007, 17, 61816, {1, 1, 7, 1, 13, 43, 125, 165, 357, 293, 1343, 2219, 4189, 6095, 28509, 27763, 53871}}, +{13008, 17, 61822, {1, 3, 3, 11, 29, 33, 105, 71, 297, 637, 1493, 3797, 5525, 15093, 21647, 57647, 1467}}, +{13009, 17, 61849, {1, 1, 1, 13, 19, 7, 5, 141, 71, 221, 923, 1039, 4777, 9481, 1267, 55345, 116061}}, +{13010, 17, 61876, {1, 1, 7, 11, 19, 43, 57, 243, 21, 217, 1075, 569, 3735, 10477, 18595, 34133, 70391}}, +{13011, 17, 61893, {1, 3, 3, 1, 21, 61, 7, 135, 401, 101, 321, 2959, 7371, 3303, 23023, 28163, 19833}}, +{13012, 17, 61905, {1, 1, 3, 9, 31, 43, 27, 243, 297, 145, 663, 3951, 4283, 10421, 9355, 30381, 68317}}, +{13013, 17, 61908, {1, 3, 7, 13, 29, 53, 101, 253, 49, 129, 831, 513, 5567, 5063, 157, 6465, 90983}}, +{13014, 17, 61911, {1, 1, 5, 15, 27, 29, 3, 231, 503, 173, 913, 3971, 7685, 9679, 32243, 967, 73195}}, +{13015, 17, 61912, {1, 1, 1, 15, 19, 55, 127, 3, 405, 239, 1063, 3473, 7543, 4049, 14509, 22657, 5611}}, +{13016, 17, 61928, {1, 3, 7, 1, 21, 39, 61, 249, 421, 401, 1667, 1981, 5503, 9191, 24027, 35049, 12199}}, +{13017, 17, 61934, {1, 3, 5, 5, 27, 1, 99, 83, 287, 997, 721, 1345, 2197, 6335, 4245, 42575, 102635}}, +{13018, 17, 61957, {1, 3, 3, 1, 31, 7, 103, 107, 387, 273, 951, 2475, 1275, 15607, 2159, 55083, 86107}}, +{13019, 17, 61961, {1, 3, 3, 5, 21, 59, 69, 55, 121, 601, 5, 1871, 7161, 4583, 23867, 7933, 3125}}, +{13020, 17, 61969, {1, 1, 1, 15, 17, 41, 51, 45, 383, 579, 713, 275, 1395, 11665, 30521, 11683, 126493}}, +{13021, 17, 61979, {1, 1, 1, 15, 17, 47, 15, 139, 175, 283, 1377, 827, 5753, 8855, 26437, 59219, 105601}}, +{13022, 17, 61982, {1, 1, 7, 11, 13, 3, 27, 141, 137, 851, 767, 2575, 7685, 11719, 24401, 52547, 127299}}, +{13023, 17, 62003, {1, 3, 3, 9, 11, 41, 75, 69, 167, 897, 1213, 3723, 6773, 12141, 28033, 19695, 128545}}, +{13024, 17, 62006, {1, 1, 5, 13, 7, 61, 55, 131, 465, 169, 1669, 711, 5901, 10769, 11273, 23809, 63625}}, +{13025, 17, 62010, {1, 1, 5, 1, 27, 25, 35, 167, 83, 921, 251, 2571, 6723, 14767, 26715, 21699, 60779}}, +{13026, 17, 62015, {1, 3, 1, 9, 15, 5, 59, 241, 405, 323, 1917, 1161, 6079, 13443, 13079, 58617, 63381}}, +{13027, 17, 62020, {1, 3, 1, 5, 9, 5, 79, 123, 87, 395, 667, 2787, 3711, 3613, 1803, 17885, 78975}}, +{13028, 17, 62024, {1, 3, 3, 5, 17, 45, 61, 107, 485, 163, 33, 1491, 7131, 59, 27327, 8043, 14907}}, +{13029, 17, 62029, {1, 3, 1, 11, 27, 37, 5, 251, 115, 339, 1621, 2013, 3517, 2213, 10145, 47121, 84485}}, +{13030, 17, 62032, {1, 3, 3, 1, 9, 11, 71, 25, 363, 867, 1485, 3897, 3339, 7599, 20777, 52009, 127097}}, +{13031, 17, 62035, {1, 1, 3, 9, 25, 37, 29, 231, 183, 315, 399, 879, 6169, 6355, 3729, 9187, 19405}}, +{13032, 17, 62038, {1, 3, 5, 3, 31, 37, 127, 71, 171, 687, 1237, 151, 7391, 2395, 11979, 23381, 117879}}, +{13033, 17, 62047, {1, 1, 1, 13, 13, 43, 71, 235, 131, 79, 1321, 235, 2221, 1133, 13509, 12205, 44771}}, +{13034, 17, 62068, {1, 3, 7, 5, 29, 51, 125, 191, 153, 35, 1657, 2141, 3701, 7177, 31723, 15189, 55441}}, +{13035, 17, 62071, {1, 1, 5, 1, 5, 35, 13, 165, 461, 255, 1825, 1531, 6195, 7717, 973, 12367, 71747}}, +{13036, 17, 62082, {1, 3, 1, 9, 13, 57, 25, 83, 389, 405, 227, 1037, 3805, 15653, 25365, 47991, 54315}}, +{13037, 17, 62088, {1, 1, 1, 13, 17, 55, 113, 151, 145, 951, 1849, 2205, 6513, 7845, 7947, 59429, 44911}}, +{13038, 17, 62096, {1, 3, 5, 3, 25, 9, 99, 159, 183, 445, 153, 3053, 2537, 1787, 19029, 60047, 128203}}, +{13039, 17, 62108, {1, 1, 5, 5, 31, 37, 13, 11, 271, 491, 1141, 1827, 3751, 9471, 7579, 35969, 95245}}, +{13040, 17, 62124, {1, 3, 3, 15, 1, 43, 9, 109, 13, 991, 345, 1577, 947, 3197, 16747, 8127, 116937}}, +{13041, 17, 62142, {1, 3, 3, 15, 11, 17, 103, 89, 33, 741, 1855, 2879, 3899, 9535, 15119, 56165, 86055}}, +{13042, 17, 62147, {1, 3, 5, 1, 31, 41, 57, 205, 69, 163, 1383, 2087, 6483, 6281, 32079, 40825, 28709}}, +{13043, 17, 62153, {1, 1, 1, 13, 23, 57, 103, 247, 421, 773, 1733, 3249, 6681, 9675, 11669, 51673, 86189}}, +{13044, 17, 62159, {1, 1, 5, 15, 7, 37, 63, 123, 77, 941, 277, 1061, 803, 2135, 15745, 47413, 73843}}, +{13045, 17, 62161, {1, 1, 3, 5, 19, 15, 35, 59, 321, 527, 1669, 2929, 513, 4453, 20521, 19781, 115501}}, +{13046, 17, 62171, {1, 1, 7, 3, 23, 1, 99, 251, 129, 271, 1555, 1191, 2445, 11533, 11921, 19131, 80653}}, +{13047, 17, 62189, {1, 1, 7, 15, 15, 33, 79, 89, 113, 517, 1655, 43, 6255, 15415, 19559, 63309, 16857}}, +{13048, 17, 62207, {1, 3, 5, 1, 13, 61, 87, 159, 65, 875, 163, 663, 7651, 8775, 32505, 39313, 83331}}, +{13049, 17, 62227, {1, 1, 7, 15, 27, 19, 63, 117, 427, 233, 1243, 755, 3201, 5153, 31959, 64545, 69219}}, +{13050, 17, 62230, {1, 1, 5, 3, 3, 27, 15, 11, 427, 431, 107, 2433, 6923, 7503, 31347, 64849, 14541}}, +{13051, 17, 62234, {1, 1, 3, 11, 7, 23, 53, 253, 483, 63, 1749, 2989, 5219, 7361, 6423, 1503, 95431}}, +{13052, 17, 62236, {1, 1, 5, 9, 1, 19, 23, 25, 301, 665, 1457, 2423, 6623, 9771, 2755, 8963, 51037}}, +{13053, 17, 62239, {1, 3, 3, 7, 21, 1, 3, 131, 377, 897, 15, 437, 4075, 7669, 31529, 64123, 101249}}, +{13054, 17, 62257, {1, 3, 5, 3, 31, 41, 99, 27, 397, 393, 1895, 2249, 3925, 6393, 2839, 375, 56721}}, +{13055, 17, 62270, {1, 3, 7, 15, 1, 45, 65, 113, 85, 557, 857, 2281, 1395, 2055, 2405, 34541, 63719}}, +{13056, 17, 62278, {1, 3, 1, 15, 7, 43, 21, 29, 15, 229, 1287, 3005, 339, 5833, 21867, 21643, 37557}}, +{13057, 17, 62287, {1, 3, 7, 3, 3, 51, 67, 119, 423, 539, 1995, 4039, 2999, 2787, 29327, 62687, 11893}}, +{13058, 17, 62295, {1, 3, 7, 3, 25, 23, 85, 11, 105, 523, 889, 2983, 2031, 2049, 16119, 41925, 38345}}, +{13059, 17, 62301, {1, 3, 7, 3, 13, 63, 59, 65, 183, 695, 293, 3301, 7895, 13915, 25847, 22819, 92189}}, +{13060, 17, 62306, {1, 1, 3, 3, 7, 27, 101, 229, 435, 227, 1759, 1275, 5781, 6079, 25125, 64833, 69577}}, +{13061, 17, 62312, {1, 1, 3, 1, 29, 1, 61, 45, 193, 441, 687, 841, 4491, 10683, 13989, 60461, 78071}}, +{13062, 17, 62317, {1, 3, 1, 9, 5, 33, 99, 229, 181, 675, 1629, 1855, 4719, 9585, 8059, 26363, 31161}}, +{13063, 17, 62330, {1, 3, 1, 11, 11, 37, 79, 53, 163, 49, 1173, 1715, 8087, 6535, 14985, 24069, 118597}}, +{13064, 17, 62342, {1, 1, 7, 15, 9, 59, 123, 79, 237, 131, 1693, 2525, 6339, 9843, 24309, 24969, 37645}}, +{13065, 17, 62359, {1, 3, 3, 7, 19, 49, 85, 133, 415, 239, 555, 2581, 6523, 2733, 19665, 19989, 105585}}, +{13066, 17, 62365, {1, 3, 3, 7, 23, 37, 31, 121, 59, 7, 2031, 2893, 6429, 10305, 21221, 20105, 38879}}, +{13067, 17, 62366, {1, 3, 1, 13, 23, 21, 93, 93, 343, 641, 411, 971, 1777, 2135, 22895, 9055, 114457}}, +{13068, 17, 62370, {1, 3, 5, 3, 15, 33, 23, 7, 59, 413, 277, 3551, 7737, 2285, 7951, 5013, 94469}}, +{13069, 17, 62375, {1, 3, 1, 15, 25, 1, 109, 245, 153, 187, 1099, 1071, 145, 6735, 10327, 3921, 62123}}, +{13070, 17, 62376, {1, 1, 7, 11, 11, 53, 51, 123, 277, 281, 1763, 3161, 7639, 14515, 29725, 3919, 5525}}, +{13071, 17, 62387, {1, 3, 3, 15, 27, 47, 109, 121, 317, 221, 187, 617, 1331, 5401, 861, 62465, 9227}}, +{13072, 17, 62404, {1, 3, 3, 15, 27, 25, 101, 111, 469, 85, 1285, 1621, 5393, 1367, 17115, 35141, 126989}}, +{13073, 17, 62411, {1, 3, 5, 1, 15, 23, 25, 249, 69, 17, 1103, 2603, 59, 15637, 22051, 29243, 53113}}, +{13074, 17, 62435, {1, 3, 1, 9, 17, 49, 73, 13, 207, 963, 379, 3561, 6447, 7895, 18651, 8109, 3943}}, +{13075, 17, 62441, {1, 3, 5, 11, 7, 41, 55, 85, 481, 831, 593, 4093, 1151, 12353, 24231, 46091, 80967}}, +{13076, 17, 62442, {1, 3, 7, 7, 5, 39, 47, 187, 427, 1007, 813, 3617, 6063, 12981, 18573, 34061, 85741}}, +{13077, 17, 62452, {1, 3, 3, 11, 9, 17, 29, 141, 341, 485, 1075, 4067, 7247, 11295, 31803, 18347, 54985}}, +{13078, 17, 62459, {1, 1, 3, 7, 17, 25, 7, 29, 355, 35, 1753, 669, 4123, 4293, 22875, 36677, 61201}}, +{13079, 17, 62461, {1, 1, 5, 9, 13, 45, 29, 153, 169, 387, 1275, 3161, 4937, 5331, 16203, 43925, 129231}}, +{13080, 17, 62473, {1, 3, 3, 9, 19, 27, 109, 95, 499, 929, 1627, 3215, 6097, 15837, 5655, 29877, 122513}}, +{13081, 17, 62474, {1, 3, 7, 11, 1, 25, 15, 41, 65, 411, 289, 883, 5069, 8405, 11159, 57357, 114253}}, +{13082, 17, 62493, {1, 1, 3, 11, 31, 57, 39, 89, 77, 321, 1667, 871, 6429, 1005, 18905, 13877, 9305}}, +{13083, 17, 62510, {1, 1, 7, 7, 27, 57, 23, 37, 281, 625, 1871, 565, 5979, 13925, 22591, 2375, 8577}}, +{13084, 17, 62518, {1, 1, 1, 7, 31, 35, 91, 221, 495, 811, 1321, 2235, 4287, 3009, 5745, 35013, 93715}}, +{13085, 17, 62524, {1, 1, 7, 3, 11, 53, 17, 13, 319, 225, 117, 3365, 537, 5249, 14219, 23879, 4321}}, +{13086, 17, 62549, {1, 3, 5, 1, 31, 57, 35, 95, 257, 933, 471, 627, 6733, 8707, 25173, 44291, 105041}}, +{13087, 17, 62556, {1, 1, 3, 3, 31, 53, 69, 19, 277, 669, 497, 3957, 2781, 14107, 27741, 53519, 41057}}, +{13088, 17, 62565, {1, 1, 3, 15, 11, 21, 11, 25, 257, 665, 491, 2119, 3893, 14401, 29147, 3369, 116569}}, +{13089, 17, 62566, {1, 3, 1, 1, 13, 49, 31, 231, 217, 711, 1987, 1487, 7073, 473, 28781, 51283, 86049}}, +{13090, 17, 62580, {1, 1, 1, 5, 23, 31, 119, 115, 381, 179, 1725, 2323, 8013, 15191, 13255, 57813, 95437}}, +{13091, 17, 62584, {1, 1, 3, 15, 15, 37, 83, 223, 259, 605, 2013, 4089, 395, 2063, 11735, 51931, 74677}}, +{13092, 17, 62589, {1, 1, 7, 3, 1, 61, 107, 169, 213, 789, 425, 2309, 225, 1305, 20697, 26281, 60129}}, +{13093, 17, 62596, {1, 1, 5, 15, 27, 15, 69, 169, 289, 931, 1491, 3711, 6875, 7723, 21103, 31795, 53955}}, +{13094, 17, 62608, {1, 1, 1, 3, 3, 43, 49, 205, 247, 817, 2037, 2305, 7935, 255, 18835, 49423, 90727}}, +{13095, 17, 62636, {1, 3, 7, 9, 17, 3, 95, 239, 431, 665, 1271, 3559, 5703, 14607, 9723, 11807, 122937}}, +{13096, 17, 62642, {1, 3, 5, 13, 5, 15, 13, 111, 375, 895, 833, 813, 5451, 13841, 1321, 25273, 25443}}, +{13097, 17, 62651, {1, 1, 3, 1, 11, 49, 3, 97, 467, 631, 51, 3577, 1777, 15965, 6837, 38827, 68627}}, +{13098, 17, 62654, {1, 1, 7, 1, 3, 11, 73, 155, 77, 623, 811, 337, 6837, 10925, 2097, 28325, 97487}}, +{13099, 17, 62659, {1, 1, 1, 3, 29, 35, 9, 215, 415, 143, 1837, 3723, 73, 11305, 23187, 19995, 52987}}, +{13100, 17, 62666, {1, 1, 7, 1, 25, 39, 35, 67, 245, 295, 1143, 2043, 1049, 629, 14111, 62893, 86899}}, +{13101, 17, 62680, {1, 3, 7, 5, 3, 41, 123, 97, 241, 743, 259, 3163, 2289, 6363, 24033, 10789, 44117}}, +{13102, 17, 62692, {1, 3, 1, 7, 25, 33, 33, 17, 359, 567, 901, 3595, 179, 8671, 841, 24787, 4367}}, +{13103, 17, 62701, {1, 3, 1, 13, 5, 13, 57, 185, 321, 727, 789, 3081, 5345, 9721, 32029, 11663, 55695}}, +{13104, 17, 62702, {1, 1, 7, 7, 5, 51, 85, 255, 329, 263, 297, 1687, 6799, 10973, 8265, 19615, 115333}}, +{13105, 17, 62714, {1, 1, 1, 5, 29, 27, 55, 167, 465, 73, 661, 137, 7831, 2571, 15373, 64223, 27335}}, +{13106, 17, 62716, {1, 3, 7, 13, 5, 23, 77, 15, 345, 21, 1729, 3231, 967, 12573, 31415, 24249, 110525}}, +{13107, 17, 62733, {1, 1, 7, 9, 31, 37, 41, 119, 169, 891, 1845, 2139, 1747, 1147, 21983, 11617, 25963}}, +{13108, 17, 62762, {1, 3, 3, 7, 23, 5, 1, 11, 95, 795, 1371, 2631, 3241, 6935, 17353, 25013, 89765}}, +{13109, 17, 62769, {1, 3, 1, 7, 19, 3, 121, 19, 389, 117, 1905, 3135, 7601, 12541, 20855, 38613, 15005}}, +{13110, 17, 62770, {1, 3, 3, 5, 17, 43, 91, 99, 113, 545, 1955, 37, 3411, 15173, 24961, 28761, 15245}}, +{13111, 17, 62787, {1, 3, 3, 13, 25, 9, 83, 17, 17, 271, 1133, 3851, 4607, 11017, 14867, 20677, 42881}}, +{13112, 17, 62794, {1, 1, 5, 15, 5, 9, 99, 179, 263, 623, 441, 2577, 189, 11595, 21505, 27215, 54081}}, +{13113, 17, 62801, {1, 1, 7, 1, 1, 63, 123, 119, 245, 467, 169, 3075, 909, 3581, 14571, 33071, 6261}}, +{13114, 17, 62807, {1, 1, 1, 13, 9, 35, 47, 161, 47, 893, 57, 703, 3373, 4167, 26555, 51265, 1391}}, +{13115, 17, 62808, {1, 3, 1, 13, 9, 61, 9, 5, 47, 259, 579, 113, 355, 14539, 25757, 10119, 96869}}, +{13116, 17, 62813, {1, 1, 5, 11, 3, 5, 61, 231, 291, 21, 1711, 2981, 4727, 14287, 12149, 40275, 51809}}, +{13117, 17, 62817, {1, 3, 5, 3, 21, 5, 87, 251, 373, 679, 949, 1023, 5183, 14549, 4135, 54927, 20369}}, +{13118, 17, 62818, {1, 3, 3, 11, 7, 43, 127, 97, 469, 81, 1843, 3955, 125, 8607, 27185, 50761, 122753}}, +{13119, 17, 62832, {1, 3, 5, 5, 25, 61, 1, 55, 333, 949, 1005, 1051, 6291, 8343, 9627, 37739, 116911}}, +{13120, 17, 62841, {1, 3, 3, 13, 21, 9, 67, 225, 179, 837, 2009, 3171, 217, 5629, 23451, 63171, 53225}}, +{13121, 17, 62857, {1, 3, 7, 1, 23, 15, 91, 163, 351, 883, 579, 3923, 2641, 12735, 24955, 1131, 65119}}, +{13122, 17, 62860, {1, 1, 1, 11, 29, 5, 113, 217, 171, 535, 913, 2419, 3843, 12365, 8287, 27367, 57369}}, +{13123, 17, 62871, {1, 1, 5, 11, 9, 41, 57, 243, 123, 159, 1517, 2653, 4307, 4243, 2801, 43131, 18435}}, +{13124, 17, 62882, {1, 1, 7, 9, 23, 59, 83, 159, 57, 723, 1635, 7, 1463, 121, 541, 7657, 83917}}, +{13125, 17, 62888, {1, 3, 7, 7, 23, 27, 125, 103, 247, 1019, 1063, 3979, 8085, 6449, 12443, 63427, 106235}}, +{13126, 17, 62913, {1, 1, 7, 5, 9, 31, 23, 83, 503, 605, 1731, 3341, 7427, 14571, 5981, 39043, 42965}}, +{13127, 17, 62919, {1, 3, 5, 1, 17, 49, 109, 171, 301, 951, 1879, 1317, 457, 8085, 6803, 62521, 67871}}, +{13128, 17, 62920, {1, 1, 7, 11, 11, 27, 1, 71, 335, 137, 265, 1267, 6399, 14823, 925, 49895, 19731}}, +{13129, 17, 62925, {1, 3, 1, 13, 3, 35, 75, 253, 211, 483, 1495, 3695, 3033, 14643, 1861, 51269, 32655}}, +{13130, 17, 62933, {1, 3, 7, 1, 5, 17, 63, 1, 83, 435, 2007, 2023, 57, 8639, 27067, 4039, 1955}}, +{13131, 17, 62938, {1, 3, 5, 15, 27, 51, 59, 47, 77, 131, 507, 559, 645, 16067, 20989, 15565, 39925}}, +{13132, 17, 62940, {1, 3, 3, 5, 11, 15, 63, 121, 39, 1019, 1027, 2821, 3297, 13769, 18587, 14199, 82251}}, +{13133, 17, 62949, {1, 1, 5, 1, 31, 11, 89, 75, 147, 1007, 917, 3519, 5097, 5695, 15185, 14819, 38597}}, +{13134, 17, 62956, {1, 3, 3, 3, 15, 7, 127, 55, 83, 887, 1901, 75, 639, 713, 13631, 27447, 106707}}, +{13135, 17, 62971, {1, 3, 3, 15, 27, 25, 85, 163, 187, 959, 815, 1403, 6129, 6515, 31597, 28307, 30077}}, +{13136, 17, 62978, {1, 3, 1, 13, 5, 19, 117, 89, 11, 489, 845, 2899, 3695, 3279, 22355, 38759, 85849}}, +{13137, 17, 62990, {1, 3, 1, 7, 25, 59, 109, 185, 87, 591, 825, 1119, 7439, 5451, 17959, 51299, 76693}}, +{13138, 17, 62995, {1, 1, 7, 5, 25, 29, 115, 249, 185, 529, 593, 103, 1739, 4769, 25925, 3317, 102445}}, +{13139, 17, 62997, {1, 1, 3, 1, 3, 35, 19, 255, 279, 295, 1075, 2817, 3513, 7501, 15885, 21653, 113447}}, +{13140, 17, 63004, {1, 3, 1, 5, 27, 1, 21, 137, 303, 981, 631, 2339, 397, 13075, 28815, 50925, 44379}}, +{13141, 17, 63011, {1, 1, 7, 7, 31, 31, 59, 129, 105, 181, 1041, 2685, 1061, 1721, 30365, 6873, 30011}}, +{13142, 17, 63032, {1, 1, 3, 1, 19, 31, 125, 39, 9, 631, 1239, 1061, 6313, 9639, 5991, 27293, 84635}}, +{13143, 17, 63038, {1, 3, 3, 11, 17, 59, 17, 241, 195, 175, 1845, 251, 3323, 13399, 20493, 15241, 69303}}, +{13144, 17, 63067, {1, 1, 5, 3, 9, 19, 59, 25, 49, 359, 263, 4045, 1527, 6703, 555, 26413, 42757}}, +{13145, 17, 63069, {1, 1, 5, 9, 23, 5, 7, 223, 247, 407, 1079, 1069, 3417, 14795, 5015, 2965, 99059}}, +{13146, 17, 63076, {1, 3, 7, 5, 27, 47, 9, 37, 47, 181, 819, 2049, 2643, 9231, 8173, 33495, 91321}}, +{13147, 17, 63083, {1, 3, 5, 11, 5, 27, 5, 237, 349, 653, 1443, 137, 7969, 5961, 24749, 37523, 88921}}, +{13148, 17, 63088, {1, 3, 7, 13, 11, 51, 49, 71, 339, 195, 1239, 3479, 2771, 15217, 23729, 7839, 32633}}, +{13149, 17, 63094, {1, 1, 5, 5, 5, 13, 103, 185, 13, 273, 1793, 761, 5327, 8659, 32599, 38181, 121115}}, +{13150, 17, 63097, {1, 3, 7, 15, 17, 55, 69, 151, 231, 421, 1679, 3657, 8001, 12599, 13761, 13517, 130199}}, +{13151, 17, 63100, {1, 1, 5, 3, 5, 15, 15, 61, 489, 219, 925, 2329, 3415, 10779, 31297, 63805, 13375}}, +{13152, 17, 63104, {1, 1, 7, 9, 7, 11, 87, 45, 39, 885, 87, 1877, 8135, 1247, 25685, 23631, 65579}}, +{13153, 17, 63114, {1, 3, 3, 7, 1, 17, 31, 75, 455, 535, 509, 2151, 1737, 7579, 12727, 25139, 32659}}, +{13154, 17, 63116, {1, 3, 5, 7, 15, 27, 111, 145, 99, 767, 167, 3391, 2155, 7895, 3405, 47451, 65185}}, +{13155, 17, 63122, {1, 1, 1, 3, 23, 31, 15, 53, 59, 787, 431, 2691, 71, 2843, 13469, 54029, 2233}}, +{13156, 17, 63128, {1, 1, 5, 1, 5, 39, 57, 31, 75, 507, 811, 2747, 317, 13545, 7395, 65161, 87987}}, +{13157, 17, 63149, {1, 3, 5, 5, 13, 17, 11, 89, 371, 337, 913, 2775, 27, 4923, 24013, 62955, 65185}}, +{13158, 17, 63150, {1, 3, 3, 7, 9, 27, 91, 187, 17, 443, 807, 853, 6243, 12351, 8123, 4203, 61021}}, +{13159, 17, 63157, {1, 1, 1, 5, 9, 33, 101, 211, 205, 701, 1289, 1253, 653, 8591, 13009, 48525, 77051}}, +{13160, 17, 63167, {1, 3, 5, 11, 5, 19, 1, 67, 259, 355, 15, 2169, 6785, 2019, 8675, 1019, 85903}}, +{13161, 17, 63187, {1, 3, 7, 5, 27, 31, 103, 163, 369, 685, 659, 2009, 5819, 10437, 17311, 35083, 122125}}, +{13162, 17, 63200, {1, 3, 5, 7, 19, 13, 93, 113, 377, 359, 1697, 4063, 4379, 9321, 7335, 25491, 85939}}, +{13163, 17, 63220, {1, 3, 3, 5, 7, 25, 41, 225, 355, 257, 743, 2067, 7627, 14317, 7385, 25187, 63103}}, +{13164, 17, 63223, {1, 1, 7, 7, 17, 43, 75, 1, 95, 547, 1937, 2263, 1709, 5067, 22651, 55733, 44619}}, +{13165, 17, 63229, {1, 1, 7, 3, 5, 27, 45, 23, 107, 547, 1733, 1169, 6709, 861, 4439, 55381, 96447}}, +{13166, 17, 63235, {1, 1, 7, 11, 25, 23, 127, 159, 489, 945, 843, 3715, 5215, 2131, 9681, 35515, 108109}}, +{13167, 17, 63247, {1, 1, 3, 7, 5, 1, 67, 59, 83, 745, 1337, 855, 6087, 14319, 13405, 36261, 49091}}, +{13168, 17, 63252, {1, 3, 1, 1, 13, 27, 41, 155, 463, 709, 1111, 2017, 4701, 8663, 29703, 45311, 113347}}, +{13169, 17, 63255, {1, 1, 7, 5, 1, 11, 83, 101, 283, 505, 893, 705, 2331, 5127, 21793, 28095, 59055}}, +{13170, 17, 63289, {1, 1, 5, 9, 25, 7, 97, 155, 71, 569, 1481, 897, 6177, 13367, 12163, 18171, 24785}}, +{13171, 17, 63298, {1, 3, 5, 11, 19, 25, 7, 15, 511, 369, 957, 1247, 6097, 11181, 17265, 24777, 87377}}, +{13172, 17, 63303, {1, 3, 1, 7, 11, 9, 39, 191, 9, 793, 867, 2779, 3447, 3805, 21025, 64719, 15669}}, +{13173, 17, 63327, {1, 1, 3, 1, 31, 43, 107, 103, 175, 131, 1525, 993, 635, 14383, 26835, 15929, 109977}}, +{13174, 17, 63328, {1, 1, 1, 3, 19, 17, 99, 249, 47, 467, 853, 2805, 3155, 1565, 17291, 18865, 11039}}, +{13175, 17, 63348, {1, 1, 5, 13, 25, 61, 91, 67, 361, 947, 1909, 3403, 945, 3481, 16703, 50227, 43963}}, +{13176, 17, 63355, {1, 3, 1, 3, 19, 27, 31, 219, 185, 579, 1539, 315, 4421, 9473, 30289, 48477, 61365}}, +{13177, 17, 63357, {1, 1, 3, 1, 23, 11, 101, 1, 133, 305, 1107, 1145, 1733, 13275, 221, 5071, 81987}}, +{13178, 17, 63368, {1, 1, 1, 13, 7, 61, 47, 5, 137, 979, 1183, 2049, 5263, 6515, 5585, 6093, 119689}}, +{13179, 17, 63391, {1, 3, 1, 5, 19, 47, 83, 115, 215, 901, 1685, 755, 2327, 13297, 6847, 40329, 19225}}, +{13180, 17, 63402, {1, 1, 3, 3, 3, 13, 31, 127, 199, 655, 55, 2183, 5031, 945, 6073, 54729, 108281}}, +{13181, 17, 63409, {1, 1, 1, 1, 11, 51, 37, 19, 73, 205, 1377, 1881, 3679, 4487, 14693, 41735, 27349}}, +{13182, 17, 63416, {1, 3, 7, 13, 1, 35, 37, 73, 45, 973, 209, 529, 5283, 9765, 26367, 12697, 8685}}, +{13183, 17, 63419, {1, 3, 3, 9, 3, 45, 115, 35, 475, 663, 487, 3613, 4151, 15623, 3057, 31519, 87545}}, +{13184, 17, 63430, {1, 3, 7, 5, 23, 13, 25, 255, 355, 433, 1671, 667, 7463, 14189, 14107, 1531, 11695}}, +{13185, 17, 63442, {1, 1, 7, 3, 15, 25, 37, 127, 265, 493, 1763, 2721, 4335, 13753, 5947, 18375, 29911}}, +{13186, 17, 63457, {1, 1, 3, 15, 1, 55, 25, 69, 335, 157, 1923, 1757, 5689, 6731, 723, 6471, 57415}}, +{13187, 17, 63458, {1, 3, 3, 3, 1, 15, 127, 227, 401, 395, 503, 3783, 1737, 8785, 16287, 34949, 91683}}, +{13188, 17, 63482, {1, 3, 5, 15, 23, 29, 55, 119, 115, 855, 657, 3729, 5309, 14773, 5647, 25953, 67303}}, +{13189, 17, 63487, {1, 3, 5, 13, 23, 25, 1, 187, 67, 389, 359, 619, 2523, 11203, 11049, 60345, 53931}}, +{13190, 17, 63488, {1, 3, 1, 7, 7, 45, 99, 123, 495, 797, 939, 3387, 7563, 16289, 8309, 14917, 99867}}, +{13191, 17, 63500, {1, 3, 5, 11, 29, 49, 89, 205, 447, 541, 1279, 1153, 7277, 5393, 8743, 41057, 100119}}, +{13192, 17, 63511, {1, 1, 1, 9, 1, 7, 43, 165, 259, 311, 993, 1381, 3363, 577, 4023, 443, 101785}}, +{13193, 17, 63517, {1, 1, 7, 9, 25, 55, 93, 63, 423, 787, 549, 1039, 383, 15855, 6013, 51399, 60007}}, +{13194, 17, 63528, {1, 3, 3, 1, 5, 17, 103, 91, 309, 85, 1319, 3869, 559, 3993, 18111, 17753, 66681}}, +{13195, 17, 63531, {1, 3, 7, 9, 1, 11, 87, 151, 311, 597, 811, 3955, 275, 6555, 17005, 26763, 31227}}, +{13196, 17, 63559, {1, 1, 3, 11, 19, 51, 41, 101, 183, 1003, 1635, 2061, 3305, 12925, 7223, 4859, 24433}}, +{13197, 17, 63566, {1, 3, 7, 11, 7, 43, 79, 53, 43, 429, 947, 2533, 7005, 15147, 13435, 33997, 21201}}, +{13198, 17, 63578, {1, 1, 3, 5, 15, 17, 61, 41, 383, 465, 1439, 3503, 3981, 14469, 5075, 25953, 70461}}, +{13199, 17, 63580, {1, 1, 1, 13, 21, 53, 25, 59, 59, 195, 665, 3367, 2777, 9179, 24207, 56729, 94241}}, +{13200, 17, 63584, {1, 3, 7, 15, 27, 13, 41, 147, 415, 351, 961, 3811, 1605, 14231, 31789, 41189, 50265}}, +{13201, 17, 63587, {1, 3, 3, 7, 31, 39, 85, 219, 323, 657, 423, 1579, 3623, 7663, 14631, 47169, 88795}}, +{13202, 17, 63594, {1, 3, 1, 3, 1, 3, 125, 65, 259, 3, 1897, 2203, 347, 4101, 23841, 20217, 117407}}, +{13203, 17, 63607, {1, 1, 3, 7, 29, 1, 75, 255, 413, 237, 1531, 2103, 6847, 10395, 9817, 9383, 60679}}, +{13204, 17, 63611, {1, 3, 5, 3, 7, 63, 17, 83, 375, 835, 1707, 3227, 327, 2205, 25025, 47471, 39967}}, +{13205, 17, 63630, {1, 3, 7, 7, 9, 51, 23, 189, 157, 351, 755, 2695, 3923, 3481, 12159, 1041, 94563}}, +{13206, 17, 63632, {1, 1, 3, 11, 25, 27, 39, 19, 221, 795, 523, 695, 3257, 8045, 2643, 43239, 13291}}, +{13207, 17, 63641, {1, 3, 3, 5, 29, 1, 33, 117, 477, 147, 1117, 1943, 7967, 15999, 10673, 13349, 89471}}, +{13208, 17, 63647, {1, 1, 3, 9, 17, 51, 55, 115, 147, 687, 1751, 3685, 3099, 15369, 371, 55673, 67951}}, +{13209, 17, 63651, {1, 1, 7, 1, 5, 25, 67, 31, 103, 439, 1581, 705, 3855, 15985, 7151, 56511, 23697}}, +{13210, 17, 63666, {1, 3, 5, 3, 21, 7, 11, 123, 121, 1009, 277, 623, 7913, 7525, 4759, 19245, 16735}}, +{13211, 17, 63668, {1, 1, 5, 11, 7, 57, 103, 147, 199, 209, 233, 3665, 4215, 13511, 16393, 37873, 120857}}, +{13212, 17, 63695, {1, 1, 7, 9, 27, 45, 29, 97, 279, 379, 1683, 1965, 1183, 11389, 20445, 38435, 56893}}, +{13213, 17, 63697, {1, 3, 5, 5, 27, 23, 89, 169, 329, 659, 393, 903, 6217, 6459, 27327, 2843, 44889}}, +{13214, 17, 63709, {1, 1, 1, 15, 3, 53, 109, 83, 195, 5, 1865, 729, 3627, 13307, 20761, 50375, 60379}}, +{13215, 17, 63723, {1, 1, 1, 13, 25, 57, 17, 185, 359, 797, 469, 2637, 973, 2731, 25299, 15169, 90187}}, +{13216, 17, 63737, {1, 3, 5, 1, 19, 39, 87, 161, 117, 565, 1737, 3995, 6487, 5067, 18531, 38803, 45453}}, +{13217, 17, 63746, {1, 1, 1, 5, 19, 3, 93, 85, 479, 369, 469, 1407, 475, 7775, 12273, 34417, 65611}}, +{13218, 17, 63752, {1, 1, 3, 15, 31, 11, 105, 19, 281, 711, 713, 3423, 797, 11215, 31409, 44891, 110413}}, +{13219, 17, 63755, {1, 1, 3, 11, 13, 17, 59, 111, 59, 431, 1517, 2159, 1697, 12309, 16293, 2097, 107273}}, +{13220, 17, 63775, {1, 3, 5, 15, 25, 19, 97, 107, 97, 563, 247, 3691, 2775, 10631, 15113, 25721, 12995}}, +{13221, 17, 63781, {1, 1, 5, 3, 31, 25, 47, 201, 231, 123, 1923, 2287, 1711, 12271, 1573, 6605, 72991}}, +{13222, 17, 63794, {1, 1, 5, 5, 27, 17, 109, 125, 423, 1, 819, 3041, 685, 8791, 19697, 13107, 67681}}, +{13223, 17, 63796, {1, 1, 5, 3, 5, 63, 115, 95, 117, 715, 1523, 1231, 8171, 1615, 9819, 14361, 87075}}, +{13224, 17, 63808, {1, 1, 7, 7, 7, 35, 35, 175, 349, 853, 1665, 3101, 6051, 10737, 933, 40591, 9419}}, +{13225, 17, 63817, {1, 1, 1, 3, 23, 49, 65, 23, 103, 837, 403, 3799, 6515, 15363, 28079, 36381, 59523}}, +{13226, 17, 63820, {1, 3, 1, 15, 15, 25, 119, 181, 229, 685, 1047, 2397, 4855, 15393, 2371, 42441, 30151}}, +{13227, 17, 63826, {1, 3, 7, 11, 15, 5, 13, 93, 219, 203, 475, 523, 5827, 6579, 26759, 29795, 108463}}, +{13228, 17, 63838, {1, 1, 7, 13, 25, 53, 75, 195, 443, 1003, 501, 2543, 5453, 3119, 19225, 59631, 16413}}, +{13229, 17, 63848, {1, 1, 7, 13, 13, 25, 93, 211, 191, 1005, 1567, 3057, 3001, 1125, 6237, 35725, 108257}}, +{13230, 17, 63861, {1, 1, 3, 7, 21, 11, 57, 205, 487, 263, 1801, 3235, 1819, 10875, 6063, 26211, 54699}}, +{13231, 17, 63862, {1, 3, 3, 7, 11, 59, 89, 217, 15, 991, 1343, 1247, 277, 13377, 18499, 64987, 26053}}, +{13232, 17, 63866, {1, 3, 3, 1, 15, 51, 111, 69, 137, 817, 1207, 1729, 3877, 9873, 18449, 50749, 57457}}, +{13233, 17, 63878, {1, 3, 3, 5, 3, 39, 97, 147, 327, 257, 1547, 769, 7077, 5221, 13679, 44237, 70053}}, +{13234, 17, 63889, {1, 1, 5, 11, 19, 15, 79, 187, 335, 645, 1235, 4041, 4831, 10847, 28135, 48353, 64921}}, +{13235, 17, 63892, {1, 1, 7, 9, 3, 43, 41, 149, 71, 205, 1513, 2801, 6785, 3187, 25401, 55367, 114491}}, +{13236, 17, 63901, {1, 1, 7, 1, 25, 11, 37, 205, 365, 435, 147, 1303, 587, 14563, 32461, 28983, 86157}}, +{13237, 17, 63915, {1, 1, 7, 1, 31, 11, 51, 37, 401, 343, 1677, 991, 501, 11993, 14781, 37055, 30161}}, +{13238, 17, 63917, {1, 3, 5, 9, 9, 21, 95, 45, 447, 957, 943, 3997, 4033, 8371, 25007, 52827, 50207}}, +{13239, 17, 63926, {1, 1, 7, 1, 9, 45, 3, 255, 297, 341, 215, 3631, 7049, 7625, 4145, 50109, 48615}}, +{13240, 17, 63932, {1, 3, 3, 9, 27, 49, 41, 143, 291, 343, 719, 311, 3819, 7699, 17631, 64785, 49239}}, +{13241, 17, 63937, {1, 1, 7, 3, 27, 35, 61, 183, 153, 781, 979, 1465, 3315, 14893, 29847, 18461, 74949}}, +{13242, 17, 63938, {1, 3, 5, 15, 19, 61, 39, 219, 279, 909, 1295, 1681, 8021, 957, 7675, 14001, 77669}}, +{13243, 17, 63943, {1, 3, 1, 5, 15, 59, 127, 85, 229, 649, 503, 3267, 2465, 5637, 2729, 24831, 44791}}, +{13244, 17, 63944, {1, 3, 7, 11, 23, 55, 61, 191, 345, 255, 105, 1361, 3913, 7655, 8865, 1825, 80619}}, +{13245, 17, 63950, {1, 3, 3, 13, 29, 15, 53, 19, 1, 651, 917, 2043, 2333, 13695, 28225, 16457, 11287}}, +{13246, 17, 63952, {1, 1, 3, 13, 15, 53, 41, 211, 13, 287, 383, 3923, 665, 10343, 4803, 22199, 90521}}, +{13247, 17, 63955, {1, 3, 7, 11, 23, 27, 127, 241, 11, 451, 495, 2779, 319, 13119, 5575, 43043, 11659}}, +{13248, 17, 63957, {1, 1, 1, 7, 17, 53, 55, 39, 233, 273, 1873, 843, 7885, 329, 6809, 33119, 116017}}, +{13249, 17, 63961, {1, 1, 1, 7, 21, 41, 23, 113, 283, 265, 1535, 2371, 3975, 6293, 22497, 65349, 48653}}, +{13250, 17, 63962, {1, 3, 7, 9, 25, 21, 61, 135, 245, 777, 679, 2603, 565, 3251, 32469, 12707, 40297}}, +{13251, 17, 63978, {1, 1, 1, 5, 31, 49, 35, 215, 445, 669, 779, 2231, 5399, 5853, 17941, 33973, 126141}}, +{13252, 17, 63983, {1, 3, 5, 5, 3, 31, 45, 235, 51, 65, 295, 3755, 8101, 821, 28331, 38837, 55235}}, +{13253, 17, 63988, {1, 1, 5, 15, 23, 15, 37, 197, 59, 455, 1875, 1745, 7565, 8039, 15901, 63129, 36095}}, +{13254, 17, 64008, {1, 1, 5, 11, 7, 1, 77, 235, 309, 245, 1539, 1421, 3401, 1477, 12655, 19851, 86147}}, +{13255, 17, 64013, {1, 1, 3, 9, 27, 9, 113, 127, 167, 213, 161, 4065, 1275, 10699, 26111, 26213, 129091}}, +{13256, 17, 64019, {1, 3, 5, 9, 9, 17, 109, 205, 23, 145, 1261, 51, 5855, 7411, 20551, 5801, 47841}}, +{13257, 17, 64026, {1, 1, 3, 3, 15, 1, 1, 39, 431, 601, 177, 525, 6951, 6271, 27031, 37157, 73979}}, +{13258, 17, 64028, {1, 3, 1, 3, 19, 61, 11, 131, 31, 223, 959, 3531, 2433, 15675, 29201, 49277, 43977}}, +{13259, 17, 64032, {1, 1, 5, 9, 5, 27, 57, 3, 503, 755, 1261, 3659, 6685, 10041, 24739, 12201, 19753}}, +{13260, 17, 64042, {1, 1, 7, 3, 31, 27, 7, 191, 7, 415, 1665, 1413, 7493, 2645, 23577, 46331, 9481}}, +{13261, 17, 64044, {1, 1, 5, 1, 29, 59, 99, 231, 33, 613, 1347, 2671, 1767, 15685, 26583, 44699, 73511}}, +{13262, 17, 64055, {1, 1, 3, 3, 9, 47, 93, 87, 45, 549, 219, 2141, 233, 10239, 30325, 14985, 70325}}, +{13263, 17, 64070, {1, 1, 3, 3, 21, 39, 81, 179, 319, 853, 93, 2869, 59, 6675, 22391, 16089, 33949}}, +{13264, 17, 64079, {1, 1, 3, 7, 31, 19, 73, 249, 175, 57, 1717, 3557, 2307, 4595, 22045, 33291, 123003}}, +{13265, 17, 64084, {1, 1, 1, 3, 7, 23, 81, 229, 387, 1001, 1371, 17, 667, 3043, 30507, 44613, 32239}}, +{13266, 17, 64087, {1, 1, 7, 15, 15, 59, 83, 99, 101, 863, 333, 845, 7547, 13345, 7599, 51, 10963}}, +{13267, 17, 64093, {1, 1, 1, 3, 15, 55, 73, 37, 429, 711, 1315, 2911, 5109, 953, 14721, 25551, 33527}}, +{13268, 17, 64100, {1, 1, 5, 9, 11, 57, 75, 107, 449, 293, 1267, 2633, 5291, 9939, 12365, 1975, 75705}}, +{13269, 17, 64104, {1, 3, 3, 7, 19, 51, 111, 233, 369, 873, 1419, 425, 6587, 11371, 29613, 28041, 77405}}, +{13270, 17, 64109, {1, 3, 1, 15, 11, 1, 65, 185, 301, 25, 75, 1353, 6879, 11519, 24093, 65223, 130659}}, +{13271, 17, 64140, {1, 1, 3, 3, 17, 17, 33, 177, 467, 841, 949, 1119, 7869, 5835, 22175, 20439, 98923}}, +{13272, 17, 64148, {1, 3, 1, 9, 1, 19, 1, 9, 487, 425, 1095, 1995, 693, 12661, 27717, 56167, 34829}}, +{13273, 17, 64151, {1, 1, 7, 7, 27, 57, 85, 159, 109, 801, 477, 3953, 3195, 11079, 26885, 59833, 4971}}, +{13274, 17, 64152, {1, 1, 1, 15, 25, 9, 89, 231, 499, 623, 1385, 3753, 4781, 15263, 12721, 17511, 67327}}, +{13275, 17, 64171, {1, 1, 3, 7, 9, 11, 103, 65, 319, 681, 1423, 2355, 6243, 399, 8483, 23697, 107995}}, +{13276, 17, 64179, {1, 1, 1, 1, 5, 7, 63, 117, 151, 905, 163, 3813, 6931, 13161, 15131, 63067, 15649}}, +{13277, 17, 64186, {1, 3, 3, 3, 13, 57, 69, 199, 283, 153, 617, 123, 3125, 3057, 8121, 14483, 28085}}, +{13278, 17, 64203, {1, 3, 7, 15, 25, 45, 25, 179, 91, 457, 681, 537, 243, 4369, 11395, 17565, 47875}}, +{13279, 17, 64206, {1, 3, 1, 13, 29, 51, 101, 23, 143, 715, 1725, 791, 6001, 4283, 10689, 49237, 5231}}, +{13280, 17, 64213, {1, 3, 3, 5, 27, 41, 39, 17, 501, 587, 1067, 1859, 9, 13449, 31257, 17675, 99769}}, +{13281, 17, 64214, {1, 1, 1, 3, 15, 57, 119, 195, 15, 779, 761, 733, 3505, 4815, 23167, 411, 52303}}, +{13282, 17, 64220, {1, 3, 1, 13, 9, 31, 5, 141, 19, 487, 739, 577, 4383, 1951, 24293, 45503, 111923}}, +{13283, 17, 64233, {1, 3, 1, 11, 25, 37, 107, 245, 89, 107, 1969, 1569, 7475, 11795, 6123, 45311, 52251}}, +{13284, 17, 64239, {1, 1, 7, 11, 15, 9, 67, 141, 199, 91, 819, 3721, 6251, 6107, 9393, 14941, 98545}}, +{13285, 17, 64248, {1, 3, 3, 11, 23, 9, 31, 211, 339, 665, 1507, 2255, 3589, 11495, 28393, 2017, 106735}}, +{13286, 17, 64251, {1, 3, 5, 11, 27, 13, 105, 217, 173, 337, 1573, 837, 3771, 8645, 28749, 27501, 45045}}, +{13287, 17, 64259, {1, 1, 5, 1, 11, 43, 99, 217, 131, 545, 1323, 3089, 5689, 785, 9043, 29961, 17855}}, +{13288, 17, 64268, {1, 1, 3, 9, 31, 41, 61, 239, 271, 123, 1583, 397, 4243, 12197, 9847, 12341, 130533}}, +{13289, 17, 64273, {1, 3, 5, 3, 27, 11, 33, 31, 77, 403, 823, 2791, 3475, 4201, 15967, 39149, 107137}}, +{13290, 17, 64279, {1, 3, 1, 11, 9, 5, 103, 145, 85, 341, 1615, 729, 7209, 10289, 20807, 54167, 15613}}, +{13291, 17, 64283, {1, 3, 7, 1, 29, 33, 91, 219, 171, 367, 907, 3645, 1059, 9031, 247, 13231, 14323}}, +{13292, 17, 64292, {1, 1, 1, 7, 19, 15, 65, 61, 221, 941, 1005, 1447, 3513, 8917, 17399, 52471, 64245}}, +{13293, 17, 64296, {1, 1, 5, 7, 5, 35, 15, 253, 325, 313, 2015, 3239, 1633, 9745, 11617, 10575, 35877}}, +{13294, 17, 64301, {1, 3, 5, 3, 13, 1, 115, 207, 227, 637, 1119, 781, 2897, 1573, 16499, 43167, 20631}}, +{13295, 17, 64302, {1, 3, 5, 9, 17, 47, 117, 7, 303, 719, 975, 1167, 2463, 5255, 28237, 33495, 57133}}, +{13296, 17, 64324, {1, 3, 5, 11, 5, 43, 123, 63, 19, 97, 1423, 695, 5985, 5923, 5755, 22721, 5411}}, +{13297, 17, 64331, {1, 3, 1, 9, 9, 25, 87, 197, 325, 827, 1679, 1561, 101, 3951, 17453, 33537, 121431}}, +{13298, 17, 64346, {1, 1, 7, 5, 13, 33, 3, 191, 171, 37, 619, 1917, 7525, 14103, 25807, 25455, 57455}}, +{13299, 17, 64364, {1, 3, 3, 1, 9, 35, 93, 159, 455, 115, 479, 665, 477, 4483, 29751, 45047, 41251}}, +{13300, 17, 64382, {1, 3, 1, 3, 11, 47, 41, 199, 511, 475, 151, 1163, 239, 6731, 4461, 39845, 99555}}, +{13301, 17, 64386, {1, 1, 5, 7, 9, 5, 49, 221, 503, 637, 1323, 3303, 4137, 6675, 17709, 49233, 38325}}, +{13302, 17, 64400, {1, 1, 5, 15, 1, 43, 55, 67, 291, 393, 237, 3555, 4171, 909, 8655, 46309, 61799}}, +{13303, 17, 64409, {1, 3, 5, 3, 3, 37, 125, 249, 509, 611, 983, 4093, 1633, 10063, 10811, 60033, 40999}}, +{13304, 17, 64419, {1, 3, 5, 11, 1, 37, 75, 255, 279, 545, 1999, 833, 2789, 14601, 16707, 64703, 53545}}, +{13305, 17, 64433, {1, 1, 5, 7, 3, 15, 59, 11, 17, 711, 721, 765, 3747, 13549, 28641, 47437, 42261}}, +{13306, 17, 64454, {1, 3, 7, 1, 3, 45, 65, 45, 279, 929, 933, 2215, 7095, 14593, 6047, 40747, 109789}}, +{13307, 17, 64458, {1, 3, 7, 15, 15, 55, 89, 155, 345, 515, 1005, 2921, 1761, 1095, 28463, 20971, 62451}}, +{13308, 17, 64482, {1, 3, 3, 1, 1, 41, 35, 149, 481, 171, 305, 1411, 237, 4515, 32375, 22645, 741}}, +{13309, 17, 64494, {1, 1, 1, 15, 17, 1, 123, 235, 221, 495, 1693, 3109, 6453, 8827, 23775, 9303, 30237}}, +{13310, 17, 64496, {1, 3, 3, 5, 7, 63, 37, 13, 457, 159, 1683, 2207, 1731, 3341, 7415, 21073, 119417}}, +{13311, 17, 64505, {1, 1, 7, 15, 21, 27, 5, 67, 267, 919, 203, 1129, 4029, 3407, 16767, 35485, 66903}}, +{13312, 17, 64514, {1, 1, 1, 5, 15, 29, 99, 5, 219, 677, 443, 3799, 2461, 747, 20885, 32661, 44079}}, +{13313, 17, 64519, {1, 1, 1, 1, 3, 55, 53, 151, 195, 587, 1155, 2439, 3817, 8735, 30849, 54107, 14113}}, +{13314, 17, 64525, {1, 1, 1, 9, 29, 15, 89, 175, 373, 925, 301, 3749, 5439, 2653, 22819, 41201, 77043}}, +{13315, 17, 64528, {1, 1, 1, 1, 25, 49, 29, 129, 331, 539, 1247, 773, 7891, 5905, 19571, 17919, 6815}}, +{13316, 17, 64534, {1, 1, 3, 15, 5, 63, 123, 133, 141, 383, 1893, 573, 629, 3939, 9455, 50433, 111415}}, +{13317, 17, 64561, {1, 1, 7, 9, 15, 33, 119, 159, 17, 511, 1841, 427, 3911, 8609, 4215, 9799, 84397}}, +{13318, 17, 64571, {1, 1, 7, 3, 9, 25, 63, 247, 235, 635, 915, 3423, 5421, 7021, 9203, 18121, 3683}}, +{13319, 17, 64579, {1, 3, 1, 1, 25, 11, 105, 1, 491, 137, 1923, 103, 3371, 3543, 5173, 36777, 23417}}, +{13320, 17, 64591, {1, 3, 3, 13, 19, 37, 93, 191, 101, 193, 351, 839, 7147, 5477, 29225, 45307, 1455}}, +{13321, 17, 64606, {1, 3, 1, 5, 11, 17, 95, 239, 105, 407, 395, 919, 3317, 14825, 23447, 4897, 128363}}, +{13322, 17, 64616, {1, 1, 1, 11, 27, 47, 83, 137, 163, 673, 1291, 3041, 4559, 7217, 23613, 19477, 93805}}, +{13323, 17, 64619, {1, 1, 1, 15, 25, 51, 37, 9, 23, 757, 1921, 2649, 5677, 11421, 10231, 1775, 124709}}, +{13324, 17, 64640, {1, 3, 1, 13, 31, 37, 37, 163, 59, 975, 1203, 1425, 1255, 3259, 16681, 38101, 118165}}, +{13325, 17, 64645, {1, 1, 3, 11, 17, 17, 31, 23, 169, 305, 3, 1631, 6853, 7019, 14539, 57663, 70377}}, +{13326, 17, 64649, {1, 1, 7, 3, 15, 61, 113, 31, 497, 935, 473, 819, 1223, 13907, 5075, 45177, 20255}}, +{13327, 17, 64652, {1, 3, 7, 13, 9, 41, 123, 121, 497, 877, 915, 3323, 4815, 4175, 25979, 38751, 107099}}, +{13328, 17, 64670, {1, 1, 3, 7, 13, 33, 31, 167, 331, 595, 517, 1237, 1947, 1905, 28155, 52431, 93065}}, +{13329, 17, 64673, {1, 3, 1, 1, 11, 51, 7, 151, 323, 211, 523, 2929, 233, 3633, 2785, 6043, 100101}}, +{13330, 17, 64674, {1, 1, 7, 13, 29, 3, 125, 247, 121, 567, 857, 3225, 7461, 15413, 773, 54939, 67443}}, +{13331, 17, 64683, {1, 1, 1, 15, 19, 29, 101, 179, 369, 115, 1777, 3223, 1499, 12487, 41, 50607, 111137}}, +{13332, 17, 64697, {1, 1, 3, 1, 9, 59, 21, 25, 173, 357, 1143, 1353, 3907, 10743, 30325, 39211, 116671}}, +{13333, 17, 64703, {1, 1, 7, 15, 9, 63, 67, 229, 7, 399, 2037, 3531, 6393, 4273, 9365, 52009, 118093}}, +{13334, 17, 64711, {1, 1, 7, 1, 31, 21, 5, 251, 433, 1, 481, 4041, 6179, 825, 8671, 20597, 103257}}, +{13335, 17, 64723, {1, 1, 7, 1, 15, 41, 69, 93, 47, 17, 1901, 2671, 4739, 1883, 30239, 50763, 108295}}, +{13336, 17, 64736, {1, 3, 7, 15, 29, 19, 63, 213, 475, 133, 43, 955, 2001, 555, 10479, 1333, 52807}}, +{13337, 17, 64739, {1, 3, 3, 15, 27, 13, 91, 109, 71, 333, 1971, 3355, 2175, 11457, 31101, 30217, 68263}}, +{13338, 17, 64741, {1, 1, 5, 1, 21, 33, 51, 169, 365, 475, 1015, 985, 7217, 15453, 7727, 49843, 57733}}, +{13339, 17, 64748, {1, 1, 7, 1, 11, 37, 67, 135, 429, 403, 1663, 2037, 7849, 3757, 6373, 38703, 46393}}, +{13340, 17, 64759, {1, 1, 1, 3, 15, 3, 29, 101, 327, 643, 47, 1805, 6873, 1659, 31097, 34847, 46843}}, +{13341, 17, 64768, {1, 3, 1, 15, 9, 45, 7, 189, 175, 955, 45, 3545, 3595, 7443, 2913, 54501, 63279}}, +{13342, 17, 64771, {1, 3, 7, 11, 1, 39, 59, 179, 209, 121, 445, 4077, 4851, 15161, 29133, 13543, 106247}}, +{13343, 17, 64778, {1, 3, 7, 7, 5, 53, 73, 107, 409, 639, 1731, 1921, 999, 14445, 17629, 3667, 74819}}, +{13344, 17, 64792, {1, 3, 3, 9, 23, 41, 117, 195, 497, 425, 627, 1599, 7715, 1401, 7217, 61113, 67135}}, +{13345, 17, 64821, {1, 1, 5, 13, 9, 33, 97, 115, 233, 833, 1041, 1755, 5317, 12703, 25709, 62293, 2569}}, +{13346, 17, 64831, {1, 1, 1, 11, 1, 7, 27, 151, 325, 905, 1279, 4093, 7495, 9803, 17339, 7977, 24009}}, +{13347, 17, 64839, {1, 3, 1, 11, 25, 59, 89, 175, 67, 139, 1507, 411, 7863, 9585, 14869, 46655, 126021}}, +{13348, 17, 64848, {1, 3, 3, 15, 29, 5, 111, 251, 69, 177, 519, 901, 4331, 5341, 22031, 3851, 114369}}, +{13349, 17, 64860, {1, 3, 5, 3, 19, 9, 83, 69, 411, 673, 1549, 3429, 3647, 12601, 17177, 16161, 114561}}, +{13350, 17, 64867, {1, 1, 5, 5, 21, 15, 65, 179, 405, 571, 1245, 3693, 7471, 12109, 20177, 28783, 124339}}, +{13351, 17, 64870, {1, 1, 5, 5, 9, 61, 69, 99, 9, 829, 1823, 3803, 1181, 3073, 10069, 28689, 21347}}, +{13352, 17, 64874, {1, 1, 5, 1, 3, 11, 25, 99, 241, 957, 1137, 7, 3809, 7073, 21217, 49447, 41425}}, +{13353, 17, 64879, {1, 3, 1, 9, 15, 59, 13, 29, 467, 893, 1667, 31, 3269, 12599, 28673, 17101, 81591}}, +{13354, 17, 64887, {1, 3, 7, 3, 15, 55, 79, 177, 1, 891, 217, 2725, 6171, 7779, 16173, 1003, 37093}}, +{13355, 17, 64894, {1, 3, 7, 11, 15, 61, 13, 181, 421, 83, 905, 1089, 4597, 3291, 23243, 53123, 21315}}, +{13356, 17, 64897, {1, 1, 3, 3, 21, 63, 113, 149, 203, 379, 583, 1955, 8087, 9155, 23019, 17757, 1537}}, +{13357, 17, 64898, {1, 3, 5, 9, 27, 41, 61, 207, 213, 253, 693, 273, 1835, 14135, 11519, 40819, 50999}}, +{13358, 17, 64921, {1, 3, 5, 3, 1, 51, 71, 237, 355, 327, 1903, 133, 6075, 4685, 29689, 48723, 67791}}, +{13359, 17, 64933, {1, 3, 5, 9, 21, 13, 101, 23, 95, 369, 1657, 989, 4081, 1373, 29005, 7247, 53923}}, +{13360, 17, 64940, {1, 1, 7, 13, 15, 3, 71, 189, 345, 771, 251, 937, 1041, 3017, 27279, 1635, 32581}}, +{13361, 17, 64957, {1, 1, 5, 7, 23, 63, 99, 43, 237, 189, 1549, 25, 63, 14089, 14387, 51423, 57193}}, +{13362, 17, 64969, {1, 1, 7, 15, 13, 55, 89, 87, 95, 241, 827, 501, 2341, 14357, 831, 27101, 98285}}, +{13363, 17, 64972, {1, 1, 1, 9, 29, 29, 125, 81, 73, 123, 329, 2617, 1259, 4415, 30007, 19467, 117847}}, +{13364, 17, 64978, {1, 3, 1, 11, 15, 63, 85, 121, 409, 885, 1197, 423, 2673, 12107, 1127, 14119, 90541}}, +{13365, 17, 64984, {1, 3, 1, 3, 1, 35, 117, 149, 213, 925, 923, 1013, 3547, 6877, 3467, 47893, 38645}}, +{13366, 17, 64993, {1, 1, 3, 15, 3, 21, 87, 199, 197, 851, 1711, 3449, 1771, 1727, 11651, 51903, 99835}}, +{13367, 17, 64999, {1, 3, 3, 1, 5, 27, 57, 243, 465, 173, 697, 4011, 6177, 3019, 31317, 24699, 53151}}, +{13368, 17, 65000, {1, 3, 5, 7, 7, 51, 61, 177, 489, 381, 493, 1975, 3143, 8003, 7735, 46363, 110705}}, +{13369, 17, 65006, {1, 1, 7, 5, 27, 45, 69, 33, 229, 725, 2033, 3655, 3027, 11795, 2941, 7921, 117605}}, +{13370, 17, 65011, {1, 3, 1, 7, 3, 37, 91, 255, 13, 651, 49, 309, 7425, 11641, 3661, 3929, 94199}}, +{13371, 17, 65014, {1, 3, 7, 5, 7, 47, 121, 203, 297, 941, 1585, 3659, 265, 159, 30729, 31825, 343}}, +{13372, 17, 65036, {1, 3, 5, 9, 3, 25, 95, 215, 125, 105, 37, 943, 4095, 8169, 26763, 20975, 122307}}, +{13373, 17, 65044, {1, 1, 3, 15, 9, 13, 81, 25, 51, 15, 599, 835, 6723, 9487, 25219, 60401, 48749}}, +{13374, 17, 65063, {1, 3, 3, 15, 15, 47, 41, 219, 77, 43, 1705, 2363, 7005, 7137, 17687, 665, 116097}}, +{13375, 17, 65067, {1, 3, 5, 1, 17, 33, 71, 3, 253, 355, 117, 1995, 3339, 11789, 13563, 58889, 18553}}, +{13376, 17, 65075, {1, 3, 5, 1, 21, 33, 89, 177, 9, 951, 1593, 1419, 3295, 9617, 31661, 7841, 119939}}, +{13377, 17, 65077, {1, 3, 3, 1, 31, 35, 25, 9, 379, 271, 923, 2387, 3351, 5869, 4501, 6855, 28273}}, +{13378, 17, 65082, {1, 1, 5, 9, 11, 15, 127, 79, 405, 579, 395, 2469, 5847, 7589, 17577, 61717, 6493}}, +{13379, 17, 65095, {1, 3, 7, 13, 29, 13, 99, 209, 79, 469, 5, 2231, 89, 1557, 5123, 47169, 46529}}, +{13380, 17, 65101, {1, 3, 7, 9, 13, 35, 119, 53, 7, 351, 601, 901, 5407, 13673, 6929, 38311, 2659}}, +{13381, 17, 65104, {1, 3, 7, 9, 13, 23, 61, 255, 113, 331, 367, 2979, 2741, 6971, 26447, 6861, 116267}}, +{13382, 17, 65109, {1, 1, 3, 3, 25, 57, 93, 5, 387, 87, 1765, 1277, 8175, 11185, 4377, 9779, 95569}}, +{13383, 17, 65110, {1, 1, 7, 11, 29, 43, 31, 155, 111, 409, 733, 1919, 2681, 8435, 5877, 35439, 15435}}, +{13384, 17, 65116, {1, 1, 1, 7, 19, 33, 109, 125, 51, 733, 997, 3467, 5081, 8371, 263, 31461, 46117}}, +{13385, 17, 65126, {1, 3, 3, 7, 27, 61, 57, 75, 317, 247, 1535, 3757, 4617, 15627, 11191, 3581, 64475}}, +{13386, 17, 65129, {1, 3, 3, 1, 31, 7, 95, 151, 159, 475, 559, 379, 361, 5953, 5551, 20313, 64015}}, +{13387, 17, 65138, {1, 1, 5, 1, 11, 31, 71, 77, 493, 697, 345, 1809, 611, 14319, 6591, 23657, 44071}}, +{13388, 17, 65160, {1, 1, 1, 13, 5, 1, 9, 233, 229, 397, 1201, 1817, 7409, 11521, 3753, 35611, 123037}}, +{13389, 17, 65171, {1, 3, 7, 15, 9, 15, 85, 163, 99, 867, 265, 1021, 129, 11059, 123, 27185, 68435}}, +{13390, 17, 65173, {1, 3, 1, 11, 25, 43, 105, 165, 291, 977, 463, 2699, 5361, 9951, 29735, 63501, 86235}}, +{13391, 17, 65180, {1, 3, 7, 13, 9, 33, 39, 145, 441, 233, 373, 193, 1451, 7975, 2871, 64431, 43339}}, +{13392, 17, 65189, {1, 1, 7, 13, 15, 25, 45, 27, 319, 719, 1801, 447, 3027, 769, 271, 37227, 26447}}, +{13393, 17, 65193, {1, 1, 5, 1, 29, 1, 59, 59, 121, 251, 387, 55, 5957, 10527, 24227, 38841, 29115}}, +{13394, 17, 65208, {1, 3, 1, 5, 31, 25, 67, 191, 137, 849, 631, 953, 3103, 9737, 28993, 49413, 60709}}, +{13395, 17, 65214, {1, 3, 3, 15, 7, 5, 37, 179, 357, 961, 1649, 441, 5287, 4161, 24013, 39661, 76233}}, +{13396, 17, 65216, {1, 1, 5, 1, 9, 1, 47, 209, 219, 1021, 969, 2343, 5675, 7137, 14247, 50305, 72613}}, +{13397, 17, 65225, {1, 1, 3, 1, 9, 43, 43, 47, 35, 97, 617, 1033, 2387, 14155, 17049, 53333, 108619}}, +{13398, 17, 65236, {1, 3, 1, 3, 1, 45, 11, 171, 349, 65, 909, 1801, 1075, 10905, 7395, 19997, 128205}}, +{13399, 17, 65239, {1, 1, 7, 11, 19, 39, 117, 175, 459, 791, 1383, 3473, 6937, 8447, 10077, 13353, 122063}}, +{13400, 17, 65273, {1, 3, 3, 9, 3, 27, 115, 29, 135, 305, 1023, 2517, 1981, 4969, 18149, 35565, 120785}}, +{13401, 17, 65274, {1, 3, 3, 11, 15, 23, 27, 115, 411, 805, 841, 2205, 5997, 5141, 10679, 25235, 81989}}, +{13402, 17, 65281, {1, 1, 3, 9, 11, 63, 27, 185, 337, 891, 1447, 1397, 8009, 4453, 23077, 37599, 93389}}, +{13403, 17, 65294, {1, 1, 5, 13, 27, 11, 77, 11, 447, 81, 1603, 2317, 6499, 6631, 27305, 51049, 40967}}, +{13404, 17, 65324, {1, 3, 7, 1, 7, 43, 83, 33, 69, 119, 139, 1391, 4879, 3759, 31211, 29203, 110229}}, +{13405, 17, 65335, {1, 3, 7, 15, 31, 59, 53, 97, 135, 233, 1421, 587, 2985, 3627, 7355, 53829, 51581}}, +{13406, 17, 65354, {1, 3, 7, 15, 1, 37, 39, 225, 147, 37, 327, 2819, 6081, 4337, 22063, 21177, 91065}}, +{13407, 17, 65359, {1, 1, 3, 1, 13, 31, 61, 133, 433, 243, 131, 3625, 6389, 335, 24029, 33217, 80833}}, +{13408, 17, 65373, {1, 1, 7, 11, 21, 39, 95, 181, 35, 499, 677, 3935, 1379, 6791, 12633, 13671, 28317}}, +{13409, 17, 65383, {1, 3, 1, 5, 7, 57, 5, 229, 389, 197, 1523, 1221, 609, 10449, 6389, 9279, 53871}}, +{13410, 17, 65387, {1, 3, 5, 7, 1, 39, 69, 131, 387, 839, 1375, 3841, 81, 7395, 5837, 32067, 51183}}, +{13411, 17, 65397, {1, 1, 5, 3, 5, 27, 107, 171, 53, 923, 345, 445, 1101, 11201, 20563, 30889, 72361}}, +{13412, 17, 65411, {1, 3, 7, 11, 19, 7, 99, 219, 485, 403, 293, 3967, 7517, 4765, 11331, 55, 92641}}, +{13413, 17, 65413, {1, 1, 7, 13, 19, 9, 73, 31, 405, 513, 941, 3645, 7075, 8109, 21431, 52791, 120927}}, +{13414, 17, 65418, {1, 1, 1, 15, 29, 33, 75, 65, 479, 47, 35, 4023, 4853, 2793, 29895, 2711, 83779}}, +{13415, 17, 65441, {1, 1, 3, 15, 11, 1, 9, 149, 503, 845, 647, 1233, 4355, 3623, 3197, 36015, 24839}}, +{13416, 17, 65444, {1, 1, 7, 1, 31, 35, 59, 25, 393, 503, 227, 3243, 301, 11121, 32463, 38185, 69969}}, +{13417, 17, 65447, {1, 1, 1, 7, 9, 15, 11, 89, 19, 605, 1657, 3335, 1967, 29, 28619, 42301, 79909}}, +{13418, 17, 65448, {1, 3, 7, 7, 19, 29, 111, 55, 299, 733, 547, 395, 4831, 1991, 7357, 25781, 115129}}, +{13419, 17, 65473, {1, 1, 3, 7, 5, 33, 31, 101, 163, 389, 1163, 1843, 4105, 14209, 29261, 5821, 17929}}, +{13420, 17, 65476, {1, 3, 5, 1, 11, 23, 53, 227, 497, 695, 313, 3305, 6549, 15401, 9339, 40283, 60531}}, +{13421, 17, 65480, {1, 3, 5, 5, 3, 29, 77, 149, 509, 747, 85, 2561, 4435, 14475, 22887, 38177, 24535}}, +{13422, 17, 65494, {1, 1, 7, 1, 1, 33, 7, 77, 153, 369, 689, 3325, 1173, 16203, 1499, 36627, 66915}}, +{13423, 17, 65509, {1, 1, 5, 11, 23, 61, 95, 61, 289, 71, 653, 2817, 365, 7391, 1613, 48901, 57471}}, +{13424, 17, 65519, {1, 3, 3, 7, 15, 29, 65, 133, 15, 921, 1601, 1941, 6917, 10945, 20101, 59809, 9017}}, +{13425, 17, 65527, {1, 3, 3, 15, 7, 51, 95, 53, 87, 1017, 1039, 3405, 1967, 9855, 4905, 4651, 83487}}, +{13426, 18, 19, {1, 3, 5, 13, 23, 27, 31, 179, 121, 597, 829, 4003, 2487, 3977, 3087, 26791, 28305, 138357}}, +{13427, 18, 31, {1, 1, 5, 5, 5, 39, 95, 117, 461, 117, 109, 2571, 7651, 12361, 17921, 555, 33353, 186427}}, +{13428, 18, 38, {1, 1, 3, 13, 23, 47, 89, 125, 271, 609, 215, 3861, 6883, 3217, 2547, 54943, 60565, 215939}}, +{13429, 18, 61, {1, 1, 7, 15, 25, 61, 47, 93, 219, 919, 1551, 1417, 2753, 4353, 9201, 46423, 31227, 150649}}, +{13430, 18, 64, {1, 1, 1, 3, 29, 39, 11, 61, 137, 809, 147, 2715, 5455, 9431, 5725, 46135, 118193, 54099}}, +{13431, 18, 109, {1, 1, 3, 1, 25, 37, 83, 211, 423, 779, 1731, 2827, 883, 10477, 28771, 21723, 114333, 56293}}, +{13432, 18, 115, {1, 1, 5, 5, 27, 17, 21, 125, 495, 655, 1803, 3555, 1997, 15593, 29705, 48537, 53935, 179773}}, +{13433, 18, 118, {1, 1, 7, 5, 19, 63, 55, 15, 469, 769, 967, 3047, 1713, 11655, 15313, 29965, 78857, 223391}}, +{13434, 18, 131, {1, 3, 3, 5, 27, 33, 51, 171, 417, 243, 1203, 3505, 2533, 2695, 219, 57423, 5145, 143165}}, +{13435, 18, 167, {1, 3, 5, 9, 5, 19, 95, 97, 1, 863, 693, 2977, 4839, 6649, 22587, 40745, 113839, 69131}}, +{13436, 18, 200, {1, 3, 5, 1, 31, 39, 53, 85, 509, 5, 359, 1947, 3279, 5433, 21763, 46713, 37289, 35911}}, +{13437, 18, 241, {1, 3, 7, 13, 17, 35, 59, 63, 95, 667, 1775, 2165, 7861, 15731, 12159, 36179, 115457, 184819}}, +{13438, 18, 244, {1, 3, 3, 15, 19, 51, 7, 83, 367, 573, 503, 535, 333, 13041, 7187, 14479, 57473, 242951}}, +{13439, 18, 247, {1, 3, 5, 1, 7, 27, 65, 201, 365, 445, 985, 1175, 6391, 7345, 19935, 29085, 103001, 231855}}, +{13440, 18, 261, {1, 3, 5, 13, 15, 61, 95, 125, 135, 217, 1787, 417, 7641, 11825, 14531, 48497, 125087, 73279}}, +{13441, 18, 265, {1, 1, 5, 13, 7, 25, 77, 99, 341, 447, 1711, 137, 2749, 3465, 26255, 719, 102595, 112825}}, +{13442, 18, 304, {1, 1, 7, 7, 15, 13, 127, 57, 359, 591, 713, 409, 1293, 4979, 7035, 11369, 85255, 207241}}, +{13443, 18, 314, {1, 3, 3, 5, 1, 45, 123, 183, 297, 375, 1269, 1197, 2389, 6269, 24549, 44643, 75893, 161509}}, +{13444, 18, 341, {1, 1, 5, 7, 17, 55, 67, 51, 449, 383, 2037, 871, 1359, 15317, 22055, 4655, 18065, 258271}}, +{13445, 18, 376, {1, 1, 3, 11, 21, 27, 59, 205, 145, 195, 1747, 1121, 1061, 8879, 31455, 56541, 74765, 183047}}, +{13446, 18, 395, {1, 1, 5, 15, 1, 11, 69, 157, 13, 185, 1355, 467, 4383, 13103, 21679, 35169, 33427, 32113}}, +{13447, 18, 405, {1, 3, 1, 3, 29, 41, 15, 209, 313, 61, 1749, 2457, 1897, 15595, 24441, 39913, 40499, 5179}}, +{13448, 18, 406, {1, 3, 7, 15, 25, 41, 87, 125, 239, 73, 207, 2043, 1133, 12845, 8533, 16339, 117913, 118677}}, +{13449, 18, 443, {1, 1, 3, 15, 25, 9, 15, 97, 395, 99, 2017, 1003, 847, 2535, 11753, 54769, 54011, 73541}}, +{13450, 18, 451, {1, 1, 7, 15, 11, 61, 13, 49, 319, 871, 893, 165, 3957, 8683, 31197, 39491, 58705, 213411}}, +{13451, 18, 458, {1, 3, 7, 3, 17, 43, 29, 81, 461, 595, 541, 243, 5587, 13083, 29981, 16187, 124601, 89543}}, +{13452, 18, 460, {1, 1, 5, 11, 7, 5, 61, 43, 445, 115, 1705, 419, 4627, 15063, 16053, 26249, 112243, 208711}}, +{13453, 18, 468, {1, 3, 3, 9, 27, 21, 89, 49, 41, 859, 681, 2043, 7445, 9591, 13443, 36981, 66785, 227899}}, +{13454, 18, 472, {1, 1, 3, 5, 11, 55, 51, 45, 41, 739, 1199, 191, 4563, 4035, 3657, 12189, 52879, 33961}}, +{13455, 18, 482, {1, 1, 1, 3, 17, 59, 47, 217, 389, 783, 1501, 517, 6311, 7903, 1371, 50617, 41723, 116473}}, +{13456, 18, 491, {1, 1, 5, 13, 29, 39, 101, 203, 101, 479, 1337, 2647, 6447, 563, 2593, 16533, 122535, 25587}}, +{13457, 18, 496, {1, 1, 3, 3, 27, 21, 75, 173, 289, 279, 665, 3177, 559, 8539, 10903, 16779, 128219, 125907}}, +{13458, 18, 524, {1, 1, 1, 11, 27, 1, 61, 247, 113, 585, 331, 3443, 5939, 5213, 27289, 57057, 17349, 62359}}, +{13459, 18, 536, {1, 3, 5, 15, 21, 41, 67, 47, 121, 11, 545, 3609, 7745, 3669, 9045, 8377, 97655, 99631}}, +{13460, 18, 542, {1, 3, 5, 9, 11, 15, 111, 61, 67, 775, 579, 3421, 7827, 13607, 32373, 43531, 86149, 238827}}, +{13461, 18, 557, {1, 1, 1, 1, 9, 45, 79, 153, 331, 399, 1777, 3515, 3363, 3499, 13461, 48651, 21731, 220611}}, +{13462, 18, 572, {1, 1, 1, 1, 31, 57, 117, 223, 139, 725, 1115, 3203, 8185, 11983, 20245, 55913, 36803, 68101}}, +{13463, 18, 580, {1, 1, 1, 3, 31, 57, 53, 79, 225, 307, 1645, 3311, 643, 6587, 12037, 12453, 83461, 195503}}, +{13464, 18, 592, {1, 3, 1, 7, 23, 25, 65, 233, 273, 97, 37, 1563, 3635, 9299, 24367, 42761, 55, 128675}}, +{13465, 18, 656, {1, 3, 3, 11, 29, 21, 97, 143, 447, 345, 389, 381, 1403, 685, 309, 11103, 69769, 194441}}, +{13466, 18, 713, {1, 3, 3, 11, 23, 55, 119, 71, 23, 291, 1241, 1723, 5025, 4499, 26617, 22875, 62185, 240321}}, +{13467, 18, 719, {1, 1, 7, 11, 19, 63, 31, 131, 393, 99, 1061, 3805, 7477, 15357, 8269, 26067, 113349, 239333}}, +{13468, 18, 738, {1, 3, 5, 1, 5, 37, 77, 83, 37, 759, 1297, 3067, 5369, 5977, 7531, 49079, 94503, 192765}}, +{13469, 18, 749, {1, 1, 7, 1, 23, 9, 119, 137, 469, 73, 2001, 2629, 2681, 2295, 2055, 44027, 47627, 45283}}, +{13470, 18, 752, {1, 3, 1, 7, 31, 17, 61, 137, 241, 325, 1417, 2383, 4171, 2495, 215, 59593, 98495, 74727}}, +{13471, 18, 767, {1, 1, 7, 13, 7, 5, 59, 189, 131, 865, 1963, 1811, 5629, 16189, 16397, 58069, 72081, 191457}}, +{13472, 18, 772, {1, 1, 7, 15, 23, 33, 93, 247, 395, 643, 693, 3587, 4375, 5519, 9449, 37515, 11455, 218337}}, +{13473, 18, 782, {1, 1, 3, 1, 27, 63, 113, 91, 477, 55, 1461, 1547, 4743, 699, 21639, 1815, 169, 34239}}, +{13474, 18, 789, {1, 1, 5, 15, 29, 37, 19, 19, 247, 771, 695, 319, 1779, 10553, 16165, 60507, 87161, 86967}}, +{13475, 18, 830, {1, 1, 7, 1, 25, 61, 13, 167, 251, 861, 1717, 1533, 7323, 3945, 20879, 37759, 129689, 35901}}, +{13476, 18, 838, {1, 3, 3, 7, 7, 61, 11, 25, 187, 949, 1393, 1743, 745, 16313, 5293, 16921, 17619, 237705}}, +{13477, 18, 916, {1, 3, 5, 11, 7, 27, 11, 107, 299, 711, 149, 1581, 7747, 14285, 6411, 52209, 79043, 61117}}, +{13478, 18, 920, {1, 1, 5, 1, 17, 19, 91, 185, 53, 699, 1185, 4007, 1099, 1965, 20239, 19547, 120859, 234149}}, +{13479, 18, 936, {1, 1, 5, 5, 13, 61, 117, 187, 149, 957, 837, 3549, 6221, 501, 24755, 47975, 67007, 12329}}, +{13480, 18, 991, {1, 1, 3, 15, 21, 41, 55, 81, 397, 403, 1699, 1057, 6125, 11987, 3103, 43361, 21277, 156577}}, +{13481, 18, 998, {1, 1, 5, 11, 5, 27, 5, 177, 387, 859, 809, 3919, 4085, 1535, 6009, 13265, 3065, 217945}}, +{13482, 18, 1016, {1, 3, 1, 13, 15, 57, 107, 81, 437, 305, 879, 1691, 3685, 11415, 3749, 46999, 113933, 10515}}, +{13483, 18, 1024, {1, 1, 7, 13, 9, 43, 59, 223, 189, 329, 829, 2033, 1835, 8255, 8121, 46463, 61433, 86453}}, +{13484, 18, 1053, {1, 3, 1, 9, 11, 49, 63, 125, 11, 987, 2017, 2623, 4753, 13889, 57, 24755, 108489, 175383}}, +{13485, 18, 1081, {1, 1, 1, 3, 25, 33, 39, 151, 405, 657, 1755, 957, 5557, 7611, 25839, 51385, 92713, 64009}}, +{13486, 18, 1090, {1, 3, 7, 9, 17, 17, 115, 89, 225, 715, 1085, 543, 1047, 15053, 14359, 43301, 31455, 156555}}, +{13487, 18, 1125, {1, 1, 7, 11, 11, 21, 115, 5, 371, 1003, 1053, 1713, 5921, 7277, 799, 62483, 28079, 222319}}, +{13488, 18, 1135, {1, 1, 3, 3, 31, 15, 127, 213, 459, 229, 1477, 1863, 1021, 14881, 16299, 5953, 121455, 49659}}, +{13489, 18, 1143, {1, 1, 5, 9, 3, 39, 87, 219, 57, 479, 69, 2777, 8105, 11975, 14743, 26205, 93303, 45311}}, +{13490, 18, 1150, {1, 1, 5, 13, 3, 43, 55, 139, 19, 715, 2035, 2993, 2945, 9075, 6275, 32233, 103127, 49523}}, +{13491, 18, 1154, {1, 3, 1, 13, 19, 31, 109, 211, 261, 231, 697, 383, 2173, 14617, 11877, 37009, 5485, 236549}}, +{13492, 18, 1171, {1, 1, 5, 3, 5, 23, 91, 115, 369, 11, 1021, 519, 655, 4461, 23743, 56981, 51687, 114845}}, +{13493, 18, 1174, {1, 3, 7, 9, 29, 23, 19, 127, 17, 369, 1537, 2705, 4993, 1869, 15447, 28127, 73609, 97683}}, +{13494, 18, 1202, {1, 1, 3, 9, 17, 61, 97, 187, 213, 861, 725, 3205, 103, 12729, 2915, 28389, 83123, 124065}}, +{13495, 18, 1213, {1, 3, 1, 1, 5, 61, 47, 187, 471, 137, 1595, 707, 2449, 14315, 16409, 41467, 37533, 1649}}, +{13496, 18, 1225, {1, 3, 5, 5, 7, 39, 1, 245, 361, 43, 1259, 3149, 3449, 15723, 6225, 27445, 80529, 215349}}, +{13497, 18, 1233, {1, 3, 3, 11, 17, 27, 37, 47, 157, 345, 1437, 3219, 5663, 7299, 23925, 34067, 102379, 42767}}, +{13498, 18, 1234, {1, 3, 5, 13, 21, 59, 43, 189, 17, 303, 1949, 3627, 3495, 7981, 18115, 34221, 43511, 255257}}, +{13499, 18, 1252, {1, 3, 7, 15, 3, 29, 81, 243, 321, 853, 595, 2451, 1713, 11859, 27689, 12849, 24505, 9547}}, +{13500, 18, 1255, {1, 3, 1, 3, 7, 7, 89, 183, 51, 901, 253, 2421, 7453, 15827, 21451, 58653, 51933, 239113}}, +{13501, 18, 1294, {1, 1, 7, 3, 21, 59, 93, 25, 219, 805, 1699, 3777, 3683, 5351, 5481, 44797, 651, 32161}}, +{13502, 18, 1349, {1, 3, 7, 5, 31, 15, 15, 167, 305, 545, 331, 3765, 8191, 5763, 16965, 7239, 73735, 1049}}, +{13503, 18, 1354, {1, 3, 1, 15, 13, 19, 59, 107, 213, 39, 1547, 3413, 6175, 16195, 4635, 8945, 60301, 196697}}, +{13504, 18, 1378, {1, 1, 3, 1, 29, 17, 51, 61, 261, 951, 643, 2329, 2235, 9171, 11265, 3523, 89781, 227125}}, +{13505, 18, 1383, {1, 3, 5, 1, 1, 51, 75, 199, 479, 899, 1425, 3697, 2039, 4503, 11789, 16853, 94607, 236887}}, +{13506, 18, 1387, {1, 3, 1, 9, 19, 43, 111, 41, 385, 677, 1067, 3391, 7819, 13663, 17713, 10155, 124243, 56005}}, +{13507, 18, 1392, {1, 3, 5, 3, 15, 3, 105, 23, 307, 955, 843, 1277, 6697, 11903, 8901, 36129, 51685, 251115}}, +{13508, 18, 1402, {1, 3, 1, 5, 27, 35, 95, 57, 207, 49, 1559, 171, 4703, 511, 4169, 23241, 111447, 173109}}, +{13509, 18, 1420, {1, 3, 1, 13, 23, 5, 31, 15, 223, 673, 1333, 2243, 2479, 7489, 31891, 33909, 96803, 227027}}, +{13510, 18, 1428, {1, 3, 5, 11, 5, 45, 19, 13, 367, 475, 1719, 3947, 5295, 2319, 20697, 181, 16925, 80239}}, +{13511, 18, 1437, {1, 1, 5, 13, 15, 47, 89, 15, 153, 73, 523, 3529, 5401, 15881, 13779, 32123, 82347, 58749}}, +{13512, 18, 1448, {1, 3, 5, 7, 5, 7, 123, 217, 261, 65, 685, 2175, 3289, 7473, 17857, 48335, 94183, 216857}}, +{13513, 18, 1459, {1, 3, 7, 13, 7, 23, 85, 25, 231, 19, 1179, 2705, 6433, 10827, 1969, 51521, 76775, 260291}}, +{13514, 18, 1473, {1, 3, 3, 13, 9, 39, 5, 141, 475, 777, 1809, 1975, 2347, 12611, 28303, 15239, 45429, 170015}}, +{13515, 18, 1507, {1, 1, 7, 7, 31, 31, 39, 19, 317, 897, 739, 275, 2261, 16013, 1123, 33181, 96603, 37563}}, +{13516, 18, 1516, {1, 1, 7, 13, 31, 55, 87, 239, 193, 435, 625, 2153, 3979, 15537, 19937, 50621, 48273, 31381}}, +{13517, 18, 1528, {1, 1, 1, 15, 1, 57, 73, 237, 361, 749, 379, 2511, 501, 10783, 2787, 36983, 12393, 14345}}, +{13518, 18, 1573, {1, 1, 1, 3, 25, 33, 85, 25, 83, 939, 139, 2601, 6385, 16041, 28463, 38977, 28163, 232165}}, +{13519, 18, 1592, {1, 3, 5, 3, 9, 19, 119, 171, 499, 19, 569, 353, 1619, 6235, 24431, 47401, 48125, 168819}}, +{13520, 18, 1597, {1, 1, 1, 3, 9, 27, 121, 137, 411, 391, 1437, 1339, 7475, 3889, 15451, 34809, 69807, 162851}}, +{13521, 18, 1654, {1, 3, 5, 11, 31, 39, 41, 3, 171, 35, 81, 2713, 1077, 10697, 12343, 52133, 52825, 152255}}, +{13522, 18, 1663, {1, 1, 3, 11, 17, 51, 83, 19, 357, 207, 897, 2167, 1333, 4111, 29295, 65371, 73447, 61765}}, +{13523, 18, 1730, {1, 1, 3, 7, 9, 59, 17, 135, 365, 931, 1203, 277, 5531, 4213, 12969, 2617, 591, 154539}}, +{13524, 18, 1739, {1, 3, 7, 11, 1, 53, 31, 49, 135, 603, 227, 911, 7371, 8559, 27195, 33065, 71351, 245255}}, +{13525, 18, 1741, {1, 1, 7, 1, 15, 5, 31, 135, 197, 791, 1531, 2567, 2545, 15515, 25417, 27431, 15571, 176829}}, +{13526, 18, 1753, {1, 3, 1, 1, 15, 7, 89, 217, 505, 859, 1329, 2285, 7921, 11839, 7699, 56867, 112483, 3895}}, +{13527, 18, 1783, {1, 3, 1, 3, 27, 57, 37, 117, 491, 815, 275, 381, 7443, 3297, 1523, 34211, 97589, 232261}}, +{13528, 18, 1804, {1, 1, 3, 3, 29, 63, 69, 153, 297, 423, 1435, 3927, 7265, 13223, 17607, 21201, 57929, 73037}}, +{13529, 18, 1807, {1, 3, 1, 3, 23, 41, 1, 167, 121, 217, 973, 2149, 3807, 9895, 29635, 1625, 99829, 218541}}, +{13530, 18, 1832, {1, 3, 5, 7, 31, 33, 53, 165, 51, 119, 7, 1655, 6521, 5481, 9503, 6833, 80483, 252111}}, +{13531, 18, 1850, {1, 1, 7, 1, 5, 63, 25, 219, 165, 893, 1665, 2789, 1113, 9277, 3151, 12625, 82403, 59749}}, +{13532, 18, 1852, {1, 3, 7, 3, 21, 13, 127, 127, 145, 993, 715, 1947, 7501, 4385, 11759, 2179, 26039, 28027}}, +{13533, 18, 1881, {1, 3, 5, 9, 23, 27, 123, 1, 231, 709, 1615, 1433, 5991, 1045, 16269, 123, 110249, 154819}}, +{13534, 18, 1894, {1, 1, 1, 5, 17, 11, 123, 151, 387, 905, 991, 1571, 4463, 6765, 31905, 59307, 75175, 204571}}, +{13535, 18, 1927, {1, 3, 1, 11, 27, 49, 1, 181, 77, 1023, 807, 3479, 7965, 4633, 17495, 5991, 77081, 249343}}, +{13536, 18, 1952, {1, 3, 1, 1, 13, 53, 105, 79, 269, 173, 1319, 1695, 1215, 3651, 25063, 34949, 77243, 214671}}, +{13537, 18, 1969, {1, 1, 1, 1, 3, 19, 103, 233, 1, 507, 721, 1797, 5025, 405, 13027, 23693, 89963, 25771}}, +{13538, 18, 1999, {1, 3, 5, 9, 21, 53, 1, 241, 405, 707, 1807, 3615, 1199, 11155, 27741, 53931, 55091, 248677}}, +{13539, 18, 2018, {1, 3, 5, 7, 27, 27, 39, 77, 475, 845, 1393, 3779, 5261, 13017, 13517, 18595, 64485, 180577}}, +{13540, 18, 2047, {1, 1, 3, 5, 7, 21, 95, 59, 203, 233, 1167, 3457, 3965, 4321, 14885, 6335, 78353, 39341}}, +{13541, 18, 2066, {1, 1, 7, 13, 27, 19, 27, 133, 419, 507, 945, 3595, 131, 7981, 31451, 62347, 19151, 256127}}, +{13542, 18, 2068, {1, 3, 7, 3, 7, 15, 9, 173, 257, 983, 223, 2881, 6911, 3681, 26183, 38943, 112171, 148627}}, +{13543, 18, 2093, {1, 3, 3, 15, 5, 49, 91, 205, 303, 183, 775, 3841, 4943, 14417, 23013, 59337, 85835, 181771}}, +{13544, 18, 2105, {1, 3, 5, 9, 21, 1, 117, 27, 509, 263, 1215, 893, 6677, 3275, 20831, 5045, 127323, 62589}}, +{13545, 18, 2116, {1, 1, 1, 3, 17, 61, 77, 239, 379, 649, 1151, 2359, 2659, 13853, 30589, 55873, 50359, 184125}}, +{13546, 18, 2149, {1, 1, 7, 5, 17, 33, 95, 111, 245, 873, 1721, 3079, 7753, 12889, 27107, 8267, 119413, 249045}}, +{13547, 18, 2201, {1, 1, 1, 15, 13, 23, 59, 169, 449, 283, 913, 2099, 5337, 4307, 3701, 16395, 112987, 14183}}, +{13548, 18, 2228, {1, 1, 5, 3, 5, 15, 3, 249, 97, 849, 1551, 3437, 1247, 10915, 24073, 53723, 40345, 37215}}, +{13549, 18, 2245, {1, 1, 1, 5, 21, 59, 109, 79, 9, 827, 1329, 405, 3821, 8415, 11239, 1003, 78967, 112627}}, +{13550, 18, 2246, {1, 1, 1, 11, 21, 7, 21, 45, 327, 365, 865, 1409, 1273, 15675, 21425, 45367, 22279, 240943}}, +{13551, 18, 2283, {1, 3, 3, 7, 3, 19, 83, 163, 381, 547, 195, 1537, 7905, 9057, 1309, 41135, 118857, 101725}}, +{13552, 18, 2288, {1, 1, 5, 9, 11, 19, 107, 247, 309, 343, 1697, 699, 7137, 12815, 18405, 42673, 505, 104801}}, +{13553, 18, 2320, {1, 3, 5, 3, 13, 43, 55, 15, 441, 843, 1153, 3739, 67, 11053, 30985, 55329, 57301, 190991}}, +{13554, 18, 2326, {1, 1, 5, 3, 23, 41, 9, 239, 227, 145, 1895, 2645, 945, 6421, 2859, 16173, 97043, 234649}}, +{13555, 18, 2386, {1, 3, 1, 3, 23, 47, 57, 207, 441, 279, 1951, 3041, 2465, 6143, 27669, 41171, 89627, 2489}}, +{13556, 18, 2392, {1, 3, 1, 11, 7, 9, 19, 51, 345, 187, 1699, 1483, 15, 10321, 25277, 34889, 85225, 259071}}, +{13557, 18, 2395, {1, 1, 1, 15, 27, 15, 79, 51, 407, 757, 611, 3955, 1123, 14659, 11273, 56639, 64727, 183077}}, +{13558, 18, 2413, {1, 3, 7, 1, 13, 61, 89, 157, 29, 561, 791, 995, 4233, 11351, 16335, 47041, 108671, 120115}}, +{13559, 18, 2419, {1, 3, 3, 15, 17, 35, 15, 223, 57, 7, 961, 3327, 7287, 5537, 26231, 3289, 106555, 109781}}, +{13560, 18, 2441, {1, 3, 7, 15, 17, 3, 25, 121, 349, 995, 1353, 2991, 3071, 3583, 26173, 42343, 60495, 44035}}, +{13561, 18, 2466, {1, 3, 1, 11, 5, 5, 83, 249, 427, 173, 1733, 45, 3277, 7911, 18091, 61305, 130251, 31849}}, +{13562, 18, 2477, {1, 1, 1, 9, 3, 23, 23, 127, 371, 1011, 573, 1769, 1707, 15351, 30077, 61139, 122963, 203481}}, +{13563, 18, 2485, {1, 1, 1, 13, 27, 41, 97, 29, 461, 207, 1393, 707, 5633, 7155, 13455, 7305, 107539, 136413}}, +{13564, 18, 2492, {1, 1, 1, 9, 3, 13, 61, 115, 297, 333, 1679, 127, 8049, 3129, 31845, 40039, 77087, 6831}}, +{13565, 18, 2495, {1, 3, 3, 11, 27, 25, 49, 29, 423, 193, 1955, 2927, 5679, 3537, 16911, 47065, 126803, 129957}}, +{13566, 18, 2498, {1, 1, 1, 3, 21, 31, 25, 187, 301, 883, 1301, 415, 1515, 14761, 227, 24377, 54415, 64553}}, +{13567, 18, 2504, {1, 3, 7, 7, 3, 5, 69, 221, 357, 587, 1387, 3719, 5355, 10569, 14731, 22515, 107237, 1673}}, +{13568, 18, 2515, {1, 1, 3, 15, 27, 7, 89, 23, 213, 655, 779, 1641, 1793, 1499, 27279, 59423, 56715, 90313}}, +{13569, 18, 2521, {1, 3, 3, 7, 3, 33, 85, 181, 509, 327, 353, 1625, 4995, 15627, 17071, 31885, 122423, 100337}}, +{13570, 18, 2561, {1, 3, 5, 9, 7, 39, 45, 157, 279, 211, 1163, 3283, 4419, 10187, 22397, 42119, 25105, 163925}}, +{13571, 18, 2579, {1, 3, 3, 15, 17, 37, 75, 65, 501, 765, 1171, 2451, 309, 551, 15573, 65497, 106435, 20817}}, +{13572, 18, 2604, {1, 1, 3, 1, 13, 1, 79, 117, 5, 285, 953, 2401, 2479, 15765, 25677, 63611, 91807, 78153}}, +{13573, 18, 2657, {1, 1, 5, 15, 1, 7, 123, 159, 217, 307, 1779, 2625, 101, 13887, 31721, 55769, 94899, 183427}}, +{13574, 18, 2681, {1, 3, 5, 5, 11, 13, 59, 205, 221, 871, 753, 823, 547, 11055, 31621, 54379, 23631, 137027}}, +{13575, 18, 2691, {1, 3, 3, 7, 5, 17, 7, 31, 37, 237, 1633, 969, 4123, 6643, 28499, 3277, 130223, 37465}}, +{13576, 18, 2731, {1, 3, 7, 5, 29, 41, 65, 159, 487, 61, 1217, 4093, 487, 15257, 13379, 46641, 88043, 107425}}, +{13577, 18, 2739, {1, 1, 7, 7, 19, 29, 87, 119, 13, 877, 467, 2661, 7733, 9303, 20069, 8445, 126159, 69421}}, +{13578, 18, 2765, {1, 3, 1, 13, 1, 57, 77, 241, 185, 479, 859, 2397, 1167, 6545, 20715, 50701, 107781, 149965}}, +{13579, 18, 2790, {1, 1, 5, 1, 1, 3, 19, 31, 473, 685, 1455, 1537, 1843, 4051, 17475, 56717, 70257, 112815}}, +{13580, 18, 2802, {1, 3, 7, 15, 9, 21, 19, 201, 13, 551, 1053, 1291, 3793, 7923, 30425, 55513, 30033, 70597}}, +{13581, 18, 2819, {1, 3, 1, 15, 21, 47, 127, 117, 199, 655, 1979, 1291, 8017, 11769, 9071, 12029, 112369, 2529}}, +{13582, 18, 2891, {1, 3, 5, 1, 15, 3, 25, 199, 101, 997, 597, 2485, 6509, 11913, 19573, 13985, 56165, 249}}, +{13583, 18, 2905, {1, 1, 7, 3, 19, 45, 107, 229, 241, 747, 1219, 3133, 3675, 4441, 13933, 64571, 95445, 250713}}, +{13584, 18, 2911, {1, 3, 1, 5, 11, 31, 89, 119, 503, 99, 75, 349, 7479, 15161, 6365, 62461, 39443, 188455}}, +{13585, 18, 2912, {1, 1, 5, 13, 25, 31, 65, 237, 259, 329, 89, 1283, 6033, 4401, 7655, 38837, 62367, 76555}}, +{13586, 18, 2921, {1, 1, 1, 7, 19, 61, 109, 41, 361, 89, 171, 2319, 3625, 8905, 24461, 36135, 28515, 101547}}, +{13587, 18, 2924, {1, 3, 5, 3, 5, 45, 123, 227, 339, 79, 309, 2619, 1621, 1295, 6395, 6717, 119933, 187231}}, +{13588, 18, 2945, {1, 1, 1, 3, 3, 45, 91, 225, 269, 475, 1159, 2599, 5087, 4141, 28375, 22413, 56235, 256559}}, +{13589, 18, 2952, {1, 1, 1, 13, 7, 51, 27, 65, 65, 381, 169, 1759, 4653, 9885, 25839, 19851, 4965, 249097}}, +{13590, 18, 2972, {1, 3, 7, 11, 25, 11, 83, 137, 419, 277, 503, 2823, 2759, 8173, 9405, 23731, 116087, 9735}}, +{13591, 18, 2986, {1, 1, 5, 5, 27, 17, 123, 145, 41, 85, 1099, 1087, 1465, 7063, 8585, 39427, 15479, 243967}}, +{13592, 18, 3000, {1, 1, 7, 3, 21, 53, 105, 185, 101, 763, 593, 2649, 3273, 5655, 12233, 11761, 27093, 121347}}, +{13593, 18, 3008, {1, 1, 1, 5, 11, 55, 107, 167, 179, 681, 741, 1821, 4297, 14677, 9949, 9647, 60465, 36999}}, +{13594, 18, 3011, {1, 1, 1, 7, 25, 43, 95, 71, 161, 517, 1475, 1989, 6273, 13295, 19681, 51773, 93523, 33441}}, +{13595, 18, 3018, {1, 3, 1, 13, 23, 59, 95, 177, 73, 707, 37, 421, 3747, 14207, 17159, 4957, 20161, 26185}}, +{13596, 18, 3047, {1, 1, 7, 13, 13, 1, 19, 153, 445, 429, 1911, 3515, 639, 16015, 833, 54347, 87717, 82175}}, +{13597, 18, 3071, {1, 3, 5, 9, 1, 9, 115, 87, 341, 651, 1583, 807, 559, 13579, 9647, 37277, 125555, 169655}}, +{13598, 18, 3079, {1, 1, 3, 5, 13, 23, 117, 229, 205, 803, 1381, 2773, 7099, 4031, 597, 37135, 11643, 92325}}, +{13599, 18, 3083, {1, 3, 7, 9, 27, 15, 33, 147, 1, 799, 1511, 2609, 1419, 5991, 15571, 56995, 97695, 223969}}, +{13600, 18, 3086, {1, 3, 1, 3, 17, 9, 17, 189, 407, 355, 765, 2545, 1079, 15253, 4785, 5187, 80775, 238775}}, +{13601, 18, 3148, {1, 1, 3, 1, 31, 29, 3, 159, 263, 325, 125, 2221, 6369, 5717, 13985, 33829, 21375, 134249}}, +{13602, 18, 3156, {1, 3, 7, 3, 5, 29, 39, 75, 183, 155, 1017, 637, 921, 9561, 14893, 59695, 38325, 15503}}, +{13603, 18, 3194, {1, 1, 3, 13, 9, 31, 43, 71, 241, 661, 325, 357, 431, 903, 5039, 24535, 94241, 228605}}, +{13604, 18, 3230, {1, 3, 1, 1, 17, 37, 93, 47, 25, 207, 611, 415, 6473, 15979, 2025, 19003, 8941, 248779}}, +{13605, 18, 3233, {1, 1, 7, 15, 19, 17, 81, 201, 121, 11, 1975, 1289, 4405, 7851, 9707, 20057, 33749, 187161}}, +{13606, 18, 3254, {1, 1, 3, 5, 29, 31, 47, 99, 435, 795, 947, 1299, 4011, 8315, 12827, 48071, 86567, 154655}}, +{13607, 18, 3268, {1, 1, 5, 3, 9, 59, 115, 191, 177, 65, 1835, 3989, 1819, 14325, 8939, 25337, 16099, 200577}}, +{13608, 18, 3305, {1, 3, 7, 9, 15, 47, 7, 195, 413, 1013, 1607, 3317, 6979, 13243, 275, 34125, 66069, 90201}}, +{13609, 18, 3323, {1, 1, 3, 3, 29, 3, 51, 137, 341, 393, 897, 351, 1937, 6793, 12551, 18873, 110949, 133925}}, +{13610, 18, 3326, {1, 3, 5, 9, 29, 41, 79, 169, 113, 123, 1229, 1885, 6153, 1549, 31729, 41949, 74083, 41387}}, +{13611, 18, 3343, {1, 3, 1, 15, 31, 49, 7, 233, 305, 435, 1299, 3037, 2387, 15431, 817, 11783, 24067, 116527}}, +{13612, 18, 3345, {1, 3, 5, 13, 7, 17, 49, 33, 133, 45, 689, 2381, 2649, 2433, 27535, 21755, 88611, 200585}}, +{13613, 18, 3382, {1, 1, 5, 11, 1, 61, 87, 97, 91, 433, 313, 2541, 5289, 5769, 17963, 5719, 12165, 146849}}, +{13614, 18, 3413, {1, 3, 7, 13, 17, 21, 37, 191, 489, 847, 841, 3567, 7339, 15233, 23973, 1209, 99741, 243303}}, +{13615, 18, 3420, {1, 3, 1, 1, 5, 21, 11, 39, 69, 751, 1679, 143, 6187, 2963, 695, 45763, 126749, 243841}}, +{13616, 18, 3434, {1, 3, 3, 9, 21, 55, 43, 73, 133, 417, 495, 2899, 5681, 13049, 30241, 44519, 19095, 30673}}, +{13617, 18, 3453, {1, 1, 5, 9, 17, 51, 121, 205, 273, 597, 1325, 3755, 5113, 12287, 21323, 17947, 23807, 20025}}, +{13618, 18, 3472, {1, 1, 7, 7, 21, 11, 25, 33, 207, 13, 1639, 1971, 7401, 11771, 7879, 59027, 111981, 65451}}, +{13619, 18, 3488, {1, 3, 5, 15, 3, 15, 121, 23, 199, 839, 937, 3659, 5379, 2139, 31631, 17215, 65349, 157413}}, +{13620, 18, 3503, {1, 1, 1, 7, 3, 7, 81, 49, 17, 693, 1819, 2737, 7329, 49, 1655, 42317, 31385, 11435}}, +{13621, 18, 3506, {1, 3, 5, 15, 25, 51, 121, 133, 457, 159, 869, 855, 3529, 2691, 147, 58621, 78379, 148519}}, +{13622, 18, 3518, {1, 1, 3, 7, 1, 53, 109, 81, 37, 553, 1921, 3081, 2665, 12665, 13887, 1035, 16987, 48883}}, +{13623, 18, 3532, {1, 1, 5, 1, 19, 1, 121, 97, 143, 871, 1401, 2879, 5657, 5479, 14011, 65131, 56011, 241055}}, +{13624, 18, 3543, {1, 1, 7, 5, 9, 21, 9, 43, 331, 183, 1313, 2495, 6905, 2763, 29567, 7579, 95169, 130937}}, +{13625, 18, 3547, {1, 3, 7, 3, 3, 37, 65, 195, 339, 527, 1383, 3063, 7749, 11109, 8097, 27257, 107615, 134241}}, +{13626, 18, 3573, {1, 1, 1, 5, 25, 25, 63, 179, 135, 65, 169, 2709, 5435, 12119, 21549, 59847, 129639, 220163}}, +{13627, 18, 3574, {1, 3, 5, 1, 3, 17, 87, 181, 9, 923, 731, 3397, 7079, 3281, 10455, 35471, 20439, 206209}}, +{13628, 18, 3587, {1, 1, 1, 5, 31, 25, 15, 89, 381, 675, 1217, 3175, 707, 585, 1695, 57771, 92433, 203523}}, +{13629, 18, 3632, {1, 3, 5, 15, 5, 7, 9, 87, 461, 1017, 869, 1541, 7833, 3117, 24917, 13917, 104797, 149045}}, +{13630, 18, 3664, {1, 1, 7, 15, 13, 49, 9, 89, 165, 827, 657, 1977, 7471, 15437, 25785, 1455, 52803, 198793}}, +{13631, 18, 3713, {1, 3, 1, 15, 3, 39, 27, 205, 325, 345, 965, 1439, 4403, 10717, 9591, 46845, 123983, 76181}}, +{13632, 18, 3726, {1, 3, 1, 1, 25, 23, 97, 135, 367, 179, 1563, 75, 455, 3517, 21539, 59565, 43449, 139495}}, +{13633, 18, 3768, {1, 1, 5, 15, 13, 27, 55, 21, 1, 505, 1349, 409, 2491, 5299, 15771, 59389, 110377, 209275}}, +{13634, 18, 3771, {1, 1, 7, 9, 31, 15, 63, 91, 3, 559, 419, 1237, 1157, 5811, 24335, 19215, 12581, 148813}}, +{13635, 18, 3810, {1, 1, 7, 13, 23, 3, 81, 127, 33, 931, 867, 2905, 1011, 16207, 1543, 54309, 10611, 152733}}, +{13636, 18, 3848, {1, 3, 5, 7, 21, 19, 45, 101, 439, 537, 267, 945, 8007, 9383, 13211, 21867, 5731, 150203}}, +{13637, 18, 3868, {1, 1, 3, 9, 29, 3, 31, 219, 217, 775, 1011, 445, 2663, 1691, 9837, 5727, 116283, 128627}}, +{13638, 18, 3896, {1, 3, 3, 3, 21, 1, 97, 239, 457, 925, 1923, 1693, 1187, 13437, 8529, 22081, 633, 76109}}, +{13639, 18, 3910, {1, 3, 7, 7, 19, 5, 9, 15, 337, 855, 1563, 3159, 2799, 4103, 2013, 47789, 77027, 22425}}, +{13640, 18, 3921, {1, 1, 3, 15, 15, 41, 27, 77, 489, 377, 1953, 305, 5081, 1895, 5117, 51455, 71859, 190289}}, +{13641, 18, 3928, {1, 1, 5, 7, 7, 7, 13, 25, 115, 657, 223, 3185, 5327, 2559, 5147, 22237, 91933, 195429}}, +{13642, 18, 3940, {1, 1, 3, 5, 5, 19, 3, 197, 371, 237, 555, 2873, 3401, 3329, 29165, 4593, 111677, 244025}}, +{13643, 18, 3947, {1, 3, 5, 15, 15, 55, 29, 75, 329, 623, 279, 2831, 4489, 7803, 24119, 12959, 59783, 135213}}, +{13644, 18, 3949, {1, 3, 5, 13, 31, 21, 93, 77, 401, 353, 893, 917, 4813, 8027, 7847, 55315, 60213, 102763}}, +{13645, 18, 4001, {1, 1, 5, 13, 29, 49, 91, 35, 79, 625, 1539, 509, 823, 2239, 30867, 21729, 33195, 38189}}, +{13646, 18, 4004, {1, 3, 3, 3, 19, 11, 39, 145, 5, 329, 1653, 3205, 4431, 9291, 30369, 63173, 72317, 236103}}, +{13647, 18, 4022, {1, 3, 3, 15, 27, 9, 111, 191, 249, 845, 1845, 2097, 6529, 9559, 25757, 29085, 2615, 175759}}, +{13648, 18, 4026, {1, 3, 7, 1, 17, 59, 119, 125, 213, 995, 601, 2517, 1225, 2301, 13031, 40881, 31623, 165799}}, +{13649, 18, 4036, {1, 3, 3, 13, 25, 61, 97, 157, 347, 931, 1731, 3697, 5815, 7309, 30605, 3853, 72395, 103609}}, +{13650, 18, 4073, {1, 1, 7, 5, 23, 13, 51, 117, 495, 683, 777, 1629, 5683, 801, 4907, 24935, 9457, 214131}}, +{13651, 18, 4093, {1, 1, 5, 9, 1, 29, 107, 253, 195, 921, 345, 1451, 2253, 12723, 571, 12009, 34149, 140659}}, +{13652, 18, 4099, {1, 1, 5, 9, 31, 17, 93, 5, 455, 205, 1439, 1199, 7371, 12973, 16455, 675, 60561, 99575}}, +{13653, 18, 4120, {1, 3, 3, 3, 31, 37, 115, 49, 31, 285, 2029, 1369, 3443, 2411, 10367, 44859, 26737, 195703}}, +{13654, 18, 4136, {1, 1, 3, 1, 15, 39, 113, 37, 257, 3, 817, 2901, 4029, 12595, 30475, 34883, 109133, 92159}}, +{13655, 18, 4156, {1, 1, 7, 5, 9, 1, 9, 101, 317, 167, 1975, 411, 6875, 6951, 4401, 59483, 129813, 78289}}, +{13656, 18, 4176, {1, 1, 7, 9, 9, 5, 73, 7, 57, 907, 1887, 2923, 961, 8521, 873, 33791, 114485, 43081}}, +{13657, 18, 4182, {1, 1, 5, 7, 13, 45, 91, 179, 499, 197, 1337, 1321, 5307, 15503, 20449, 60813, 97393, 255741}}, +{13658, 18, 4191, {1, 1, 1, 5, 25, 13, 69, 221, 207, 823, 845, 3845, 6743, 5123, 27447, 2079, 100635, 124157}}, +{13659, 18, 4198, {1, 3, 5, 11, 13, 39, 121, 209, 137, 63, 1479, 323, 5347, 9797, 17785, 55541, 108713, 243347}}, +{13660, 18, 4252, {1, 1, 3, 9, 29, 45, 43, 81, 115, 979, 727, 423, 1133, 8757, 27833, 39907, 104663, 33067}}, +{13661, 18, 4259, {1, 3, 5, 1, 13, 61, 49, 17, 409, 567, 1035, 2299, 3711, 15485, 7767, 27809, 1275, 96455}}, +{13662, 18, 4261, {1, 1, 5, 9, 5, 33, 13, 9, 505, 459, 747, 4079, 4271, 6925, 13933, 31349, 5793, 68381}}, +{13663, 18, 4294, {1, 3, 3, 11, 15, 47, 15, 187, 349, 847, 817, 3551, 6059, 6451, 32615, 1635, 108889, 48003}}, +{13664, 18, 4341, {1, 3, 5, 7, 3, 31, 11, 255, 367, 295, 1079, 2981, 5583, 10771, 25359, 16083, 24163, 111201}}, +{13665, 18, 4348, {1, 3, 5, 5, 7, 5, 127, 19, 343, 849, 287, 1471, 7299, 1209, 31349, 33473, 4989, 229181}}, +{13666, 18, 4356, {1, 1, 3, 9, 25, 61, 7, 65, 77, 745, 1871, 2427, 3669, 8965, 11177, 5531, 115801, 34327}}, +{13667, 18, 4384, {1, 3, 3, 15, 1, 57, 125, 167, 173, 875, 347, 2317, 6687, 4339, 10573, 7841, 16241, 192225}}, +{13668, 18, 4389, {1, 3, 1, 3, 15, 37, 45, 189, 75, 1017, 1919, 3401, 329, 2539, 32697, 60801, 52017, 192611}}, +{13669, 18, 4401, {1, 3, 1, 5, 1, 23, 43, 55, 1, 443, 1769, 1633, 5225, 6855, 5419, 65139, 22237, 17415}}, +{13670, 18, 4428, {1, 3, 5, 15, 25, 7, 107, 209, 325, 367, 373, 1855, 1313, 12899, 30137, 19007, 9911, 11791}}, +{13671, 18, 4431, {1, 3, 7, 13, 3, 57, 123, 93, 279, 469, 1817, 3409, 565, 3997, 14119, 58341, 59691, 163323}}, +{13672, 18, 4445, {1, 1, 3, 9, 3, 3, 69, 109, 47, 487, 1895, 2003, 7309, 9803, 9527, 52211, 31213, 41521}}, +{13673, 18, 4470, {1, 1, 7, 7, 9, 15, 101, 227, 75, 501, 25, 1481, 4847, 13279, 28673, 11069, 61987, 5365}}, +{13674, 18, 4473, {1, 3, 1, 1, 25, 5, 47, 125, 97, 969, 1077, 1185, 6033, 13927, 18149, 34255, 14353, 66323}}, +{13675, 18, 4474, {1, 1, 3, 1, 25, 41, 19, 69, 385, 585, 1049, 3497, 3615, 13211, 18855, 61303, 115739, 42639}}, +{13676, 18, 4490, {1, 3, 7, 7, 13, 15, 13, 133, 497, 265, 1809, 4073, 5673, 7543, 30823, 13505, 76167, 98683}}, +{13677, 18, 4509, {1, 1, 5, 5, 3, 59, 47, 191, 419, 505, 2035, 329, 553, 1561, 27885, 39767, 102611, 12689}}, +{13678, 18, 4510, {1, 3, 7, 3, 27, 49, 27, 133, 305, 537, 385, 335, 2417, 14891, 31299, 26201, 124655, 150545}}, +{13679, 18, 4533, {1, 1, 1, 9, 7, 1, 27, 105, 347, 481, 2043, 1645, 4367, 10335, 16457, 48713, 64699, 63595}}, +{13680, 18, 4548, {1, 1, 3, 3, 7, 57, 125, 209, 299, 525, 591, 1265, 7557, 15113, 19319, 56269, 43919, 215435}}, +{13681, 18, 4558, {1, 1, 1, 11, 29, 59, 119, 245, 63, 919, 1913, 3969, 545, 1033, 20975, 61327, 36783, 124303}}, +{13682, 18, 4594, {1, 1, 7, 7, 11, 63, 45, 135, 405, 931, 753, 2559, 5475, 2107, 6437, 6055, 43497, 133571}}, +{13683, 18, 4596, {1, 3, 1, 13, 31, 39, 39, 141, 231, 83, 69, 473, 1095, 13617, 10909, 49861, 98029, 235003}}, +{13684, 18, 4603, {1, 3, 7, 13, 13, 41, 73, 107, 505, 359, 957, 1599, 7617, 1843, 25531, 63755, 96295, 167955}}, +{13685, 18, 4610, {1, 3, 3, 11, 13, 41, 61, 65, 165, 507, 1007, 1695, 91, 8781, 15017, 12063, 95331, 179853}}, +{13686, 18, 4619, {1, 3, 7, 7, 29, 19, 7, 95, 303, 641, 581, 3539, 4495, 13549, 20195, 20845, 16961, 95053}}, +{13687, 18, 4630, {1, 1, 7, 5, 15, 27, 13, 155, 345, 341, 1583, 2207, 2497, 6509, 24343, 3109, 71431, 184871}}, +{13688, 18, 4652, {1, 1, 3, 15, 31, 35, 37, 249, 71, 1005, 681, 3457, 3387, 13797, 8781, 11789, 16825, 11133}}, +{13689, 18, 4658, {1, 3, 7, 11, 5, 29, 121, 139, 77, 859, 163, 2749, 6401, 16303, 22659, 11817, 61667, 119993}}, +{13690, 18, 4682, {1, 1, 7, 11, 15, 45, 71, 87, 293, 981, 1581, 2789, 4117, 12791, 13611, 489, 74823, 71263}}, +{13691, 18, 4708, {1, 1, 3, 9, 15, 21, 59, 167, 469, 723, 1609, 2111, 6359, 10781, 1043, 51039, 24429, 14605}}, +{13692, 18, 4736, {1, 3, 3, 9, 13, 25, 1, 43, 61, 869, 1919, 601, 8003, 15841, 10141, 33187, 124991, 94205}}, +{13693, 18, 4753, {1, 1, 7, 5, 23, 13, 67, 43, 167, 667, 1743, 2523, 2245, 9287, 8115, 64995, 121371, 188321}}, +{13694, 18, 4760, {1, 1, 1, 9, 13, 19, 45, 249, 21, 751, 239, 4035, 4549, 8905, 9377, 47535, 78135, 210429}}, +{13695, 18, 4781, {1, 1, 3, 7, 5, 43, 13, 227, 75, 785, 631, 205, 3475, 9735, 17867, 61407, 75897, 51151}}, +{13696, 18, 4784, {1, 3, 3, 9, 31, 21, 11, 53, 247, 717, 1505, 3903, 3249, 3185, 29007, 48795, 43413, 158653}}, +{13697, 18, 4799, {1, 1, 5, 11, 19, 9, 37, 159, 183, 521, 743, 2877, 2291, 10317, 1211, 17951, 16335, 66439}}, +{13698, 18, 4807, {1, 1, 3, 7, 3, 41, 15, 113, 125, 391, 201, 3841, 255, 15381, 16801, 47219, 119691, 51811}}, +{13699, 18, 4808, {1, 1, 3, 1, 1, 29, 79, 181, 481, 969, 297, 625, 7449, 5813, 5915, 20011, 44853, 231933}}, +{13700, 18, 4842, {1, 1, 1, 5, 5, 49, 63, 171, 93, 107, 1083, 1277, 121, 4421, 18951, 61155, 66643, 120049}}, +{13701, 18, 4882, {1, 3, 7, 5, 25, 59, 111, 197, 459, 217, 1819, 1603, 5581, 11361, 17721, 57475, 11171, 186577}}, +{13702, 18, 4897, {1, 3, 3, 1, 25, 19, 29, 157, 25, 595, 501, 2145, 7513, 10323, 11107, 13269, 21763, 9427}}, +{13703, 18, 4900, {1, 3, 7, 3, 9, 49, 119, 117, 445, 91, 227, 1203, 6245, 9575, 30653, 65429, 64987, 81249}}, +{13704, 18, 4922, {1, 1, 5, 5, 5, 5, 77, 77, 425, 789, 467, 3931, 4815, 11195, 21939, 59513, 78547, 238035}}, +{13705, 18, 4936, {1, 3, 1, 11, 11, 29, 115, 37, 423, 997, 1231, 3987, 5057, 14533, 18005, 51513, 71851, 258137}}, +{13706, 18, 4960, {1, 3, 1, 1, 27, 31, 7, 223, 23, 59, 1465, 2045, 6677, 15707, 25101, 22269, 46995, 89141}}, +{13707, 18, 4970, {1, 1, 1, 5, 21, 7, 115, 133, 407, 373, 1495, 2551, 6947, 3309, 14903, 5683, 67345, 139381}}, +{13708, 18, 4978, {1, 1, 5, 3, 13, 31, 5, 221, 187, 9, 165, 2295, 1239, 5665, 14543, 3963, 4931, 8269}}, +{13709, 18, 4994, {1, 3, 5, 13, 15, 5, 37, 171, 419, 665, 765, 1619, 1561, 1661, 5873, 25595, 34827, 215599}}, +{13710, 18, 5003, {1, 3, 1, 15, 13, 33, 45, 107, 275, 771, 1105, 2895, 187, 5173, 21179, 35047, 50825, 176775}}, +{13711, 18, 5044, {1, 3, 7, 5, 17, 5, 59, 195, 441, 625, 1205, 207, 4703, 10627, 17123, 61785, 100779, 258597}}, +{13712, 18, 5061, {1, 1, 1, 13, 17, 3, 13, 201, 241, 657, 153, 289, 5213, 2129, 13447, 28807, 25405, 33803}}, +{13713, 18, 5107, {1, 3, 1, 9, 19, 9, 51, 133, 159, 743, 1023, 291, 7137, 6949, 30419, 13449, 111505, 212393}}, +{13714, 18, 5127, {1, 3, 5, 7, 31, 29, 79, 211, 425, 93, 1173, 1957, 6737, 1725, 30703, 43237, 119747, 157395}}, +{13715, 18, 5131, {1, 1, 7, 3, 17, 21, 39, 19, 485, 663, 19, 761, 1525, 11059, 12833, 17567, 61123, 124801}}, +{13716, 18, 5136, {1, 1, 7, 3, 7, 25, 17, 199, 413, 821, 1561, 3855, 1871, 14041, 7525, 19383, 51017, 213357}}, +{13717, 18, 5145, {1, 3, 3, 9, 25, 11, 63, 83, 217, 587, 47, 3775, 767, 9191, 5127, 9133, 97689, 122949}}, +{13718, 18, 5146, {1, 1, 1, 9, 19, 7, 89, 125, 23, 813, 1277, 2965, 1939, 1453, 6349, 53127, 109813, 63767}}, +{13719, 18, 5175, {1, 1, 5, 15, 29, 63, 117, 37, 185, 69, 1823, 2791, 4125, 11757, 14847, 15567, 126141, 185951}}, +{13720, 18, 5218, {1, 3, 7, 1, 23, 11, 15, 113, 209, 785, 229, 3207, 97, 2489, 4587, 14253, 30421, 51027}}, +{13721, 18, 5223, {1, 3, 1, 7, 7, 33, 57, 51, 219, 233, 89, 3781, 2055, 4163, 10935, 51913, 63507, 18645}}, +{13722, 18, 5248, {1, 3, 1, 7, 7, 55, 107, 187, 109, 867, 955, 139, 4979, 8627, 5835, 28761, 72061, 99413}}, +{13723, 18, 5294, {1, 1, 1, 3, 5, 59, 17, 121, 511, 29, 1009, 2875, 2459, 1817, 11741, 13869, 72543, 70485}}, +{13724, 18, 5299, {1, 1, 5, 1, 27, 19, 125, 65, 379, 803, 411, 2403, 719, 10683, 23351, 18113, 66773, 252223}}, +{13725, 18, 5301, {1, 1, 7, 9, 31, 51, 65, 233, 171, 357, 1465, 1609, 4263, 15207, 18825, 48831, 69459, 211321}}, +{13726, 18, 5311, {1, 1, 3, 3, 5, 35, 53, 245, 469, 1011, 759, 455, 4487, 9835, 10349, 61755, 73279, 186049}}, +{13727, 18, 5343, {1, 1, 7, 3, 27, 19, 105, 193, 403, 907, 295, 1445, 1867, 8867, 7821, 45309, 129069, 83953}}, +{13728, 18, 5344, {1, 1, 7, 7, 7, 51, 85, 97, 473, 837, 201, 501, 2929, 9457, 6473, 3653, 126991, 218069}}, +{13729, 18, 5396, {1, 3, 3, 5, 25, 49, 85, 223, 127, 563, 239, 1975, 119, 6029, 19349, 59533, 44173, 142229}}, +{13730, 18, 5406, {1, 1, 3, 7, 23, 11, 27, 49, 467, 701, 2037, 2367, 5829, 12533, 9641, 38629, 90505, 132013}}, +{13731, 18, 5410, {1, 1, 7, 1, 13, 25, 79, 107, 37, 331, 355, 3639, 4875, 6635, 21703, 18289, 36257, 201857}}, +{13732, 18, 5424, {1, 1, 5, 1, 3, 39, 25, 101, 199, 401, 1495, 3683, 5447, 12313, 19707, 20853, 66821, 73959}}, +{13733, 18, 5447, {1, 1, 1, 9, 15, 9, 3, 231, 479, 97, 221, 973, 839, 1757, 8759, 45625, 44691, 139803}}, +{13734, 18, 5461, {1, 1, 7, 15, 9, 51, 23, 233, 311, 83, 287, 4035, 2087, 4245, 25457, 43105, 104903, 132811}}, +{13735, 18, 5468, {1, 1, 1, 9, 5, 13, 33, 167, 363, 67, 601, 2143, 5495, 1277, 14615, 32759, 34935, 158625}}, +{13736, 18, 5475, {1, 1, 5, 11, 5, 63, 35, 49, 183, 705, 377, 2607, 2947, 10119, 15631, 60247, 99309, 25747}}, +{13737, 18, 5478, {1, 3, 7, 5, 7, 3, 127, 109, 165, 767, 1873, 3825, 441, 11957, 2581, 38309, 129623, 77451}}, +{13738, 18, 5523, {1, 3, 1, 7, 19, 53, 101, 117, 505, 363, 1399, 1015, 631, 8309, 17507, 28941, 42585, 116283}}, +{13739, 18, 5530, {1, 1, 7, 7, 9, 27, 127, 195, 499, 225, 153, 517, 3909, 9801, 3787, 32829, 6599, 190807}}, +{13740, 18, 5535, {1, 1, 5, 1, 3, 49, 125, 235, 255, 329, 909, 1685, 759, 2287, 3479, 23491, 71157, 81457}}, +{13741, 18, 5548, {1, 1, 3, 9, 19, 21, 93, 37, 259, 69, 219, 1943, 4747, 13951, 14945, 46099, 87189, 222287}}, +{13742, 18, 5559, {1, 1, 7, 5, 21, 33, 61, 227, 167, 569, 1355, 2997, 4917, 10765, 7015, 54335, 125543, 112867}}, +{13743, 18, 5580, {1, 1, 5, 3, 25, 35, 97, 23, 365, 159, 1211, 1283, 979, 8993, 21323, 6863, 46869, 36169}}, +{13744, 18, 5604, {1, 1, 7, 13, 15, 49, 45, 209, 397, 785, 47, 2307, 4749, 2735, 29525, 54921, 23321, 216197}}, +{13745, 18, 5622, {1, 1, 1, 11, 31, 23, 27, 127, 197, 595, 29, 773, 3291, 6355, 11891, 6635, 99871, 177531}}, +{13746, 18, 5641, {1, 1, 7, 11, 9, 49, 85, 59, 211, 307, 1821, 3947, 4175, 11287, 27889, 107, 46463, 237129}}, +{13747, 18, 5649, {1, 3, 3, 7, 31, 31, 9, 49, 365, 189, 1211, 943, 337, 13809, 16941, 17053, 70125, 149865}}, +{13748, 18, 5656, {1, 3, 1, 13, 9, 21, 67, 1, 365, 77, 1701, 559, 3461, 8961, 13801, 16111, 65239, 157713}}, +{13749, 18, 5671, {1, 3, 7, 13, 19, 49, 29, 233, 361, 1011, 1617, 2989, 2387, 14027, 4021, 28791, 33155, 171449}}, +{13750, 18, 5689, {1, 1, 5, 13, 31, 19, 77, 69, 49, 513, 1411, 77, 4993, 907, 23483, 20129, 29491, 138187}}, +{13751, 18, 5721, {1, 3, 3, 11, 23, 33, 19, 55, 307, 455, 1783, 3997, 6411, 3355, 8815, 39883, 124381, 49667}}, +{13752, 18, 5731, {1, 3, 3, 15, 27, 7, 25, 243, 275, 27, 23, 3039, 6497, 15975, 5877, 58611, 6317, 209119}}, +{13753, 18, 5734, {1, 3, 1, 5, 7, 21, 97, 247, 297, 181, 773, 3095, 2441, 15683, 29609, 50431, 92813, 723}}, +{13754, 18, 5738, {1, 1, 1, 3, 17, 25, 69, 171, 27, 83, 173, 163, 7915, 13547, 5915, 20275, 101613, 225081}}, +{13755, 18, 5740, {1, 1, 7, 15, 19, 13, 53, 95, 171, 889, 131, 1979, 2537, 7749, 77, 49293, 68875, 159125}}, +{13756, 18, 5748, {1, 1, 1, 5, 11, 7, 7, 29, 397, 435, 1495, 2263, 3677, 11121, 1269, 5415, 44427, 249943}}, +{13757, 18, 5791, {1, 3, 1, 5, 23, 21, 13, 185, 231, 757, 1647, 663, 1273, 11641, 25563, 46793, 54231, 113143}}, +{13758, 18, 5801, {1, 3, 3, 7, 11, 21, 83, 109, 409, 923, 1541, 2805, 1781, 6903, 9093, 37327, 60923, 167271}}, +{13759, 18, 5807, {1, 3, 7, 5, 29, 37, 87, 85, 93, 749, 875, 2869, 1023, 13303, 26865, 30971, 40863, 237075}}, +{13760, 18, 5822, {1, 1, 7, 13, 21, 25, 39, 213, 303, 265, 1251, 2963, 3819, 8507, 23239, 52625, 123375, 58553}}, +{13761, 18, 5829, {1, 1, 1, 1, 3, 1, 7, 67, 339, 583, 3, 2489, 5481, 12241, 21695, 31351, 39389, 131925}}, +{13762, 18, 5834, {1, 1, 5, 11, 11, 3, 95, 23, 133, 415, 77, 1891, 4083, 7097, 26455, 28689, 83047, 49759}}, +{13763, 18, 5847, {1, 3, 7, 15, 19, 31, 65, 189, 489, 461, 1255, 1897, 3361, 12223, 9721, 45937, 102695, 113431}}, +{13764, 18, 5854, {1, 3, 1, 5, 9, 57, 3, 225, 241, 769, 1003, 2255, 7655, 4837, 25267, 35845, 49545, 24931}}, +{13765, 18, 5878, {1, 1, 1, 1, 1, 43, 3, 217, 397, 419, 1189, 2037, 5941, 4341, 19851, 13773, 15225, 167581}}, +{13766, 18, 5882, {1, 1, 1, 9, 3, 27, 65, 49, 115, 787, 1637, 1867, 7265, 8541, 1587, 58987, 82161, 19997}}, +{13767, 18, 5919, {1, 3, 7, 11, 17, 17, 93, 103, 309, 159, 781, 3179, 5759, 7661, 5693, 48531, 127375, 141449}}, +{13768, 18, 5947, {1, 3, 7, 5, 13, 39, 79, 241, 7, 137, 219, 523, 541, 4787, 23327, 41665, 111017, 118901}}, +{13769, 18, 5981, {1, 1, 3, 15, 31, 23, 107, 221, 295, 935, 1165, 2463, 1635, 10205, 18057, 28217, 51755, 85579}}, +{13770, 18, 5982, {1, 3, 1, 11, 23, 47, 7, 59, 75, 603, 1237, 2601, 6873, 12735, 32181, 46849, 106363, 171753}}, +{13771, 18, 6025, {1, 1, 7, 13, 15, 31, 3, 113, 355, 955, 919, 1807, 7903, 5485, 1733, 64759, 15817, 93829}}, +{13772, 18, 6028, {1, 1, 3, 15, 11, 33, 95, 67, 511, 971, 343, 41, 2849, 10695, 24487, 8971, 129279, 197635}}, +{13773, 18, 6039, {1, 3, 1, 13, 13, 47, 77, 127, 193, 191, 1185, 3321, 1685, 1421, 28675, 12593, 86689, 186763}}, +{13774, 18, 6056, {1, 3, 7, 13, 1, 11, 123, 91, 287, 751, 11, 2753, 7153, 5253, 21817, 10459, 122225, 105775}}, +{13775, 18, 6064, {1, 3, 3, 13, 1, 17, 121, 13, 391, 253, 1323, 1515, 2067, 8009, 5173, 59543, 109511, 156821}}, +{13776, 18, 6073, {1, 1, 5, 3, 7, 1, 119, 151, 281, 859, 675, 2923, 6627, 16071, 24653, 41325, 118413, 191981}}, +{13777, 18, 6081, {1, 3, 5, 3, 31, 17, 57, 255, 473, 455, 203, 173, 345, 1477, 27939, 39289, 105081, 136179}}, +{13778, 18, 6088, {1, 3, 3, 7, 1, 35, 29, 81, 337, 483, 951, 955, 4343, 14827, 17427, 59919, 81883, 114289}}, +{13779, 18, 6101, {1, 3, 5, 11, 3, 39, 49, 177, 335, 57, 173, 1827, 5729, 2689, 12109, 13247, 117559, 31735}}, +{13780, 18, 6139, {1, 3, 1, 3, 9, 9, 41, 97, 37, 897, 545, 2289, 7917, 5701, 21953, 1863, 33727, 28451}}, +{13781, 18, 6142, {1, 1, 5, 3, 29, 61, 59, 129, 387, 965, 285, 3503, 1651, 10423, 24861, 31853, 38491, 155187}}, +{13782, 18, 6194, {1, 3, 1, 13, 23, 33, 13, 161, 133, 29, 1073, 1491, 3687, 6821, 24153, 3675, 33771, 230087}}, +{13783, 18, 6199, {1, 1, 7, 7, 29, 23, 23, 55, 189, 203, 641, 3391, 1217, 3199, 32531, 43103, 24007, 85613}}, +{13784, 18, 6200, {1, 1, 1, 11, 7, 57, 117, 245, 467, 861, 1265, 2827, 2761, 2817, 15679, 53223, 47245, 139871}}, +{13785, 18, 6203, {1, 1, 3, 15, 25, 1, 125, 237, 489, 1003, 515, 1117, 4427, 4877, 8685, 46211, 19889, 82491}}, +{13786, 18, 6214, {1, 1, 3, 3, 25, 3, 63, 217, 485, 699, 161, 1459, 2973, 15949, 30681, 30991, 13933, 86505}}, +{13787, 18, 6238, {1, 1, 7, 9, 27, 57, 23, 217, 401, 613, 277, 2827, 7111, 2133, 17489, 62059, 7273, 170917}}, +{13788, 18, 6241, {1, 1, 3, 13, 7, 19, 39, 63, 203, 1001, 279, 879, 4293, 10121, 969, 11571, 96427, 218969}}, +{13789, 18, 6244, {1, 3, 7, 7, 5, 21, 113, 203, 77, 971, 1351, 1097, 2581, 7519, 16049, 10565, 5055, 241561}}, +{13790, 18, 6248, {1, 3, 3, 11, 1, 21, 93, 111, 221, 31, 1245, 1499, 2289, 2299, 23457, 49221, 68879, 125029}}, +{13791, 18, 6256, {1, 1, 7, 3, 15, 19, 57, 189, 243, 785, 399, 3147, 6107, 2327, 6275, 9993, 53051, 34053}}, +{13792, 18, 6266, {1, 3, 7, 15, 5, 63, 7, 193, 115, 579, 1987, 765, 7871, 14179, 26383, 61455, 14241, 123515}}, +{13793, 18, 6271, {1, 3, 7, 13, 19, 13, 91, 225, 295, 675, 1995, 1145, 4929, 5163, 1101, 60681, 76777, 146875}}, +{13794, 18, 6275, {1, 3, 7, 15, 21, 37, 57, 89, 297, 143, 717, 4021, 3259, 8869, 21189, 39333, 125045, 94469}}, +{13795, 18, 6295, {1, 1, 5, 9, 27, 35, 69, 121, 433, 39, 889, 915, 4055, 11479, 24757, 53455, 17503, 113295}}, +{13796, 18, 6315, {1, 1, 3, 3, 23, 19, 81, 191, 33, 865, 59, 603, 2819, 4919, 22495, 25089, 73905, 44971}}, +{13797, 18, 6364, {1, 3, 3, 11, 19, 45, 125, 229, 143, 167, 867, 671, 2225, 16099, 14909, 14937, 78063, 135143}}, +{13798, 18, 6368, {1, 1, 7, 11, 21, 55, 73, 247, 211, 895, 1147, 17, 2119, 3261, 19815, 28055, 50139, 178459}}, +{13799, 18, 6377, {1, 1, 3, 1, 19, 3, 37, 221, 243, 459, 1539, 3899, 4597, 5503, 23015, 57019, 62637, 177821}}, +{13800, 18, 6400, {1, 3, 1, 3, 9, 5, 91, 3, 319, 609, 1241, 3953, 5569, 8757, 6453, 8083, 55285, 38297}}, +{13801, 18, 6430, {1, 3, 5, 15, 9, 51, 37, 53, 137, 95, 123, 157, 15, 7421, 22469, 49787, 96245, 199309}}, +{13802, 18, 6477, {1, 3, 1, 1, 29, 61, 85, 211, 437, 1013, 1251, 61, 157, 4325, 24247, 1065, 24875, 31509}}, +{13803, 18, 6480, {1, 3, 1, 13, 7, 43, 13, 171, 53, 567, 77, 3781, 5077, 6691, 32485, 24253, 83919, 159371}}, +{13804, 18, 6490, {1, 1, 1, 13, 15, 15, 19, 53, 325, 309, 53, 1857, 7361, 8831, 31751, 44749, 109265, 227875}}, +{13805, 18, 6526, {1, 3, 7, 3, 31, 19, 113, 253, 361, 697, 1137, 2029, 3673, 10323, 10455, 24935, 7325, 43673}}, +{13806, 18, 6539, {1, 3, 1, 1, 17, 31, 3, 55, 121, 967, 1701, 2171, 4393, 11937, 3987, 5139, 68913, 134233}}, +{13807, 18, 6556, {1, 1, 7, 15, 23, 37, 121, 241, 297, 419, 373, 1219, 739, 4567, 28593, 61267, 95711, 201299}}, +{13808, 18, 6584, {1, 1, 1, 9, 23, 31, 101, 243, 163, 333, 1707, 2553, 5285, 12827, 5051, 14165, 505, 253585}}, +{13809, 18, 6598, {1, 1, 1, 9, 11, 29, 81, 45, 101, 235, 1079, 4091, 1069, 3439, 23599, 6699, 71783, 236943}}, +{13810, 18, 6601, {1, 3, 7, 11, 29, 49, 99, 59, 1, 267, 887, 2941, 6717, 7501, 22549, 53393, 34569, 34671}}, +{13811, 18, 6609, {1, 3, 1, 15, 23, 13, 113, 47, 11, 79, 989, 1025, 35, 10475, 8079, 33121, 32477, 178595}}, +{13812, 18, 6612, {1, 3, 7, 1, 21, 19, 51, 31, 393, 171, 553, 2221, 7017, 8567, 21803, 51803, 83737, 196409}}, +{13813, 18, 6645, {1, 1, 3, 3, 1, 27, 117, 207, 37, 733, 2001, 2575, 4849, 5609, 743, 35987, 109993, 227663}}, +{13814, 18, 6655, {1, 1, 7, 15, 29, 47, 85, 213, 335, 633, 849, 3269, 7723, 4651, 355, 54565, 58829, 22781}}, +{13815, 18, 6679, {1, 3, 7, 5, 5, 3, 91, 243, 17, 85, 1983, 3909, 1839, 10403, 503, 28451, 3221, 215397}}, +{13816, 18, 6683, {1, 1, 1, 15, 13, 3, 9, 25, 249, 113, 1619, 2313, 6461, 2323, 14319, 59635, 9569, 220583}}, +{13817, 18, 6719, {1, 3, 5, 7, 31, 59, 41, 43, 43, 921, 647, 2141, 7011, 2749, 24711, 19067, 107895, 107145}}, +{13818, 18, 6727, {1, 1, 3, 3, 15, 63, 41, 241, 181, 729, 843, 3569, 2645, 2727, 25331, 23067, 115421, 86025}}, +{13819, 18, 6734, {1, 3, 1, 15, 11, 47, 9, 183, 341, 775, 1067, 1317, 6835, 7873, 2653, 33517, 103979, 196761}}, +{13820, 18, 6770, {1, 1, 3, 13, 29, 11, 105, 9, 49, 823, 1343, 759, 1263, 12413, 26047, 54285, 57319, 215387}}, +{13821, 18, 6776, {1, 1, 5, 13, 21, 55, 75, 149, 63, 737, 1305, 929, 4149, 2793, 24505, 11541, 74765, 8207}}, +{13822, 18, 6791, {1, 3, 5, 9, 25, 1, 43, 157, 303, 395, 301, 1561, 5963, 3501, 2259, 59777, 100953, 16051}}, +{13823, 18, 6798, {1, 3, 1, 13, 19, 25, 33, 209, 11, 95, 655, 595, 3081, 10345, 26615, 45129, 84023, 158079}}, +{13824, 18, 6800, {1, 3, 1, 9, 31, 61, 103, 203, 471, 215, 1103, 759, 1197, 3333, 15859, 36103, 31563, 5987}}, +{13825, 18, 6826, {1, 1, 1, 7, 1, 49, 121, 227, 153, 793, 1723, 1033, 6875, 6683, 2503, 57213, 97967, 120383}}, +{13826, 18, 6833, {1, 3, 7, 11, 3, 15, 35, 181, 19, 249, 755, 1385, 3297, 4665, 2761, 22717, 126199, 85065}}, +{13827, 18, 6836, {1, 3, 7, 15, 5, 45, 17, 55, 111, 597, 553, 1203, 7183, 8465, 28523, 50073, 90889, 187205}}, +{13828, 18, 6858, {1, 3, 3, 9, 31, 57, 13, 139, 291, 881, 501, 2051, 617, 5151, 28225, 44777, 31645, 6805}}, +{13829, 18, 6882, {1, 3, 5, 13, 1, 23, 107, 1, 201, 35, 1673, 2281, 7663, 1115, 25061, 59615, 127955, 169685}}, +{13830, 18, 6901, {1, 1, 3, 15, 15, 5, 17, 75, 307, 591, 1661, 855, 4239, 13359, 20027, 51871, 35241, 32769}}, +{13831, 18, 6923, {1, 1, 1, 15, 5, 23, 59, 205, 223, 103, 1889, 141, 6157, 9187, 23571, 15267, 1941, 119173}}, +{13832, 18, 6967, {1, 3, 5, 9, 27, 63, 59, 11, 279, 493, 209, 4087, 1055, 9841, 31753, 37459, 27757, 213151}}, +{13833, 18, 6979, {1, 1, 3, 11, 31, 33, 13, 87, 285, 847, 2005, 3431, 253, 15157, 31359, 45303, 114337, 42541}}, +{13834, 18, 7022, {1, 1, 1, 7, 7, 3, 17, 203, 133, 321, 241, 1323, 5639, 10953, 10069, 4941, 17077, 54493}}, +{13835, 18, 7060, {1, 1, 7, 1, 9, 5, 125, 5, 421, 609, 645, 1927, 3785, 2295, 1491, 23019, 85497, 161231}}, +{13836, 18, 7064, {1, 3, 3, 11, 19, 35, 115, 95, 353, 773, 2025, 2621, 2821, 6361, 29589, 20989, 99645, 90387}}, +{13837, 18, 7083, {1, 3, 1, 15, 23, 3, 71, 253, 467, 307, 1109, 2695, 7175, 15087, 1587, 48229, 104307, 218905}}, +{13838, 18, 7093, {1, 3, 3, 5, 17, 29, 107, 153, 371, 205, 7, 597, 7393, 2345, 20149, 47417, 37983, 200683}}, +{13839, 18, 7094, {1, 1, 7, 1, 3, 55, 113, 117, 241, 923, 1217, 3825, 2635, 8007, 12673, 9533, 7121, 3825}}, +{13840, 18, 7120, {1, 1, 1, 3, 21, 63, 25, 111, 31, 151, 67, 3735, 7833, 749, 28743, 59291, 4989, 93329}}, +{13841, 18, 7125, {1, 3, 5, 13, 31, 5, 91, 153, 235, 1019, 431, 1951, 7501, 8483, 19625, 57789, 13203, 36693}}, +{13842, 18, 7142, {1, 1, 7, 3, 15, 51, 99, 29, 403, 343, 1903, 907, 3255, 4149, 29551, 18885, 74391, 96119}}, +{13843, 18, 7151, {1, 1, 7, 11, 31, 11, 63, 213, 437, 879, 359, 555, 7549, 14269, 31489, 51001, 76857, 237305}}, +{13844, 18, 7165, {1, 1, 1, 15, 23, 21, 31, 227, 311, 273, 253, 2439, 7217, 2191, 31743, 47669, 62279, 201305}}, +{13845, 18, 7173, {1, 3, 5, 11, 3, 43, 97, 121, 363, 91, 201, 1095, 5267, 633, 19111, 36099, 23035, 205655}}, +{13846, 18, 7188, {1, 3, 1, 9, 21, 31, 39, 11, 227, 699, 473, 2109, 2757, 13821, 31181, 40493, 57279, 260085}}, +{13847, 18, 7191, {1, 1, 5, 7, 27, 57, 65, 11, 173, 709, 1139, 3735, 5291, 16053, 32579, 25275, 79865, 196033}}, +{13848, 18, 7202, {1, 1, 1, 9, 19, 35, 83, 153, 287, 207, 593, 2177, 3243, 10433, 24583, 881, 71865, 250223}}, +{13849, 18, 7216, {1, 3, 3, 9, 3, 35, 107, 3, 193, 1011, 463, 1643, 2733, 2157, 6329, 24583, 116901, 226385}}, +{13850, 18, 7219, {1, 3, 1, 11, 3, 47, 39, 33, 495, 137, 1591, 1335, 1347, 4527, 389, 43341, 80163, 5219}}, +{13851, 18, 7267, {1, 3, 3, 5, 19, 51, 121, 135, 93, 891, 13, 1339, 5187, 5005, 12823, 14465, 73845, 119685}}, +{13852, 18, 7358, {1, 3, 7, 7, 19, 1, 57, 193, 325, 49, 813, 5, 4431, 1119, 13625, 43613, 127989, 42669}}, +{13853, 18, 7383, {1, 3, 5, 15, 11, 33, 7, 45, 215, 469, 1059, 4095, 3549, 11839, 5463, 21383, 4831, 188345}}, +{13854, 18, 7387, {1, 1, 1, 13, 5, 61, 7, 161, 99, 623, 1589, 1045, 2385, 8899, 19327, 41373, 109241, 111895}}, +{13855, 18, 7396, {1, 1, 5, 7, 11, 39, 115, 41, 21, 491, 1221, 2805, 4311, 7137, 3151, 1387, 24633, 94679}}, +{13856, 18, 7408, {1, 1, 3, 7, 3, 39, 71, 175, 443, 187, 1727, 2535, 5099, 1881, 21639, 5717, 48589, 95037}}, +{13857, 18, 7432, {1, 1, 1, 11, 25, 21, 37, 227, 407, 73, 721, 3515, 381, 981, 21389, 5205, 31851, 140457}}, +{13858, 18, 7462, {1, 3, 3, 3, 27, 35, 13, 129, 457, 315, 253, 2545, 5469, 6695, 25223, 20115, 38039, 133655}}, +{13859, 18, 7480, {1, 1, 3, 11, 21, 47, 77, 231, 87, 245, 2039, 2515, 2873, 1711, 3361, 62123, 67117, 239047}}, +{13860, 18, 7488, {1, 1, 7, 7, 29, 21, 39, 175, 477, 813, 447, 1109, 7391, 14631, 4437, 42539, 13003, 75403}}, +{13861, 18, 7497, {1, 3, 1, 11, 11, 9, 119, 19, 99, 483, 61, 1883, 3415, 2137, 30415, 34519, 115191, 24437}}, +{13862, 18, 7531, {1, 1, 1, 9, 7, 47, 115, 233, 419, 427, 1605, 3821, 6243, 10861, 28495, 48265, 80811, 147701}}, +{13863, 18, 7561, {1, 3, 5, 5, 11, 61, 51, 155, 279, 463, 31, 1559, 2837, 8795, 4049, 13651, 109227, 52131}}, +{13864, 18, 7582, {1, 1, 7, 9, 25, 33, 97, 79, 477, 83, 923, 3293, 6381, 3063, 23293, 35381, 82867, 233189}}, +{13865, 18, 7591, {1, 1, 1, 9, 11, 39, 109, 189, 219, 1021, 137, 2041, 2719, 1763, 31787, 29377, 96287, 179685}}, +{13866, 18, 7612, {1, 3, 7, 5, 3, 15, 37, 179, 77, 751, 709, 893, 7705, 1563, 7843, 29843, 1107, 35919}}, +{13867, 18, 7677, {1, 3, 3, 3, 29, 17, 123, 201, 275, 487, 1979, 1361, 7523, 13783, 10129, 16877, 127049, 163221}}, +{13868, 18, 7687, {1, 1, 1, 9, 27, 35, 69, 167, 509, 133, 1073, 3773, 265, 8455, 12341, 127, 115075, 94537}}, +{13869, 18, 7701, {1, 3, 7, 9, 13, 35, 57, 83, 123, 211, 739, 253, 3907, 5405, 3229, 46837, 77483, 5915}}, +{13870, 18, 7705, {1, 1, 7, 3, 7, 27, 71, 235, 133, 803, 611, 529, 4449, 16113, 8151, 36519, 34561, 36361}}, +{13871, 18, 7712, {1, 1, 3, 1, 31, 9, 123, 85, 407, 415, 353, 3239, 673, 4641, 25883, 61117, 7669, 240851}}, +{13872, 18, 7721, {1, 1, 5, 11, 29, 9, 49, 31, 3, 249, 1769, 3325, 503, 1397, 30677, 22515, 81279, 90309}}, +{13873, 18, 7736, {1, 3, 5, 3, 15, 63, 121, 253, 421, 279, 497, 3881, 6977, 11061, 5883, 38347, 8351, 118123}}, +{13874, 18, 7756, {1, 1, 1, 13, 1, 27, 3, 91, 281, 563, 1283, 1893, 7593, 12171, 27041, 7769, 95691, 13791}}, +{13875, 18, 7777, {1, 1, 3, 3, 29, 59, 87, 153, 337, 819, 787, 2631, 1889, 13869, 29237, 57097, 91621, 4011}}, +{13876, 18, 7783, {1, 1, 1, 15, 7, 49, 1, 83, 299, 353, 131, 1635, 3723, 16209, 1061, 50669, 68083, 133443}}, +{13877, 18, 7792, {1, 3, 5, 5, 27, 17, 5, 239, 285, 831, 1487, 721, 4891, 4265, 23753, 43921, 116709, 105027}}, +{13878, 18, 7797, {1, 1, 7, 7, 5, 35, 63, 97, 215, 447, 353, 495, 8119, 12537, 9679, 58641, 65057, 21999}}, +{13879, 18, 7802, {1, 3, 7, 5, 23, 43, 69, 115, 59, 603, 493, 1665, 5003, 13607, 28491, 4439, 11855, 228183}}, +{13880, 18, 7808, {1, 3, 3, 3, 15, 35, 19, 63, 241, 357, 979, 2891, 3105, 14085, 10539, 62335, 130903, 163153}}, +{13881, 18, 7866, {1, 3, 5, 3, 23, 51, 23, 193, 129, 171, 1913, 1025, 6397, 15657, 19611, 57455, 87531, 51039}}, +{13882, 18, 7885, {1, 1, 3, 9, 1, 9, 7, 239, 87, 527, 1401, 2703, 4021, 3845, 29269, 48217, 61091, 131949}}, +{13883, 18, 7891, {1, 3, 1, 5, 17, 45, 59, 223, 287, 295, 1959, 3985, 3671, 14605, 18949, 34147, 51251, 10271}}, +{13884, 18, 7913, {1, 3, 5, 9, 5, 49, 63, 105, 43, 157, 1827, 495, 5823, 6323, 6601, 51379, 64411, 204103}}, +{13885, 18, 7936, {1, 1, 7, 1, 11, 31, 117, 9, 13, 965, 177, 1247, 2487, 9849, 20367, 49287, 2193, 235689}}, +{13886, 18, 7946, {1, 1, 3, 11, 19, 31, 23, 215, 489, 657, 801, 3937, 379, 12083, 14969, 37857, 39027, 63985}}, +{13887, 18, 7963, {1, 1, 5, 1, 9, 59, 53, 187, 341, 65, 1251, 767, 4897, 13263, 17439, 26625, 122107, 163653}}, +{13888, 18, 7996, {1, 1, 3, 13, 31, 41, 125, 253, 481, 107, 233, 2305, 3321, 7303, 28585, 12787, 83307, 31497}}, +{13889, 18, 7999, {1, 1, 3, 13, 25, 41, 55, 83, 101, 115, 549, 531, 3085, 9497, 27989, 28257, 121075, 189671}}, +{13890, 18, 8011, {1, 3, 5, 11, 13, 53, 121, 85, 355, 275, 1925, 2117, 1349, 5903, 2041, 20963, 60803, 1121}}, +{13891, 18, 8014, {1, 1, 5, 5, 13, 7, 125, 63, 311, 187, 1127, 643, 6137, 845, 23945, 9403, 451, 53027}}, +{13892, 18, 8028, {1, 1, 3, 7, 19, 31, 27, 239, 337, 61, 641, 1693, 7289, 5675, 30067, 41091, 124607, 36971}}, +{13893, 18, 8047, {1, 3, 1, 13, 25, 61, 11, 81, 165, 129, 241, 711, 5193, 13017, 30821, 35239, 110809, 60909}}, +{13894, 18, 8077, {1, 3, 3, 13, 15, 13, 71, 19, 87, 499, 1395, 1191, 1445, 2687, 4691, 16773, 114269, 186237}}, +{13895, 18, 8101, {1, 3, 3, 15, 1, 49, 33, 109, 241, 5, 431, 461, 3865, 14029, 9827, 54455, 52159, 211585}}, +{13896, 18, 8119, {1, 3, 5, 7, 31, 27, 115, 113, 367, 591, 873, 1447, 6819, 7011, 14095, 55243, 4039, 226985}}, +{13897, 18, 8125, {1, 1, 7, 3, 1, 19, 69, 239, 417, 833, 1867, 3111, 2617, 12781, 5531, 17345, 75717, 139667}}, +{13898, 18, 8140, {1, 1, 5, 11, 11, 63, 23, 141, 221, 897, 1269, 2185, 6057, 8865, 20449, 58255, 27073, 158305}}, +{13899, 18, 8152, {1, 3, 3, 5, 23, 23, 121, 39, 457, 935, 691, 2329, 7055, 2821, 12669, 28713, 82321, 245783}}, +{13900, 18, 8209, {1, 1, 1, 9, 27, 9, 35, 23, 139, 823, 703, 917, 1281, 12155, 11681, 26083, 119445, 181489}}, +{13901, 18, 8212, {1, 1, 3, 7, 27, 21, 35, 243, 17, 633, 1665, 3419, 6301, 16099, 17477, 24983, 128455, 127501}}, +{13902, 18, 8231, {1, 3, 1, 1, 17, 19, 59, 165, 487, 985, 597, 689, 7103, 14475, 6985, 29755, 115977, 105943}}, +{13903, 18, 8258, {1, 1, 5, 5, 23, 41, 67, 175, 3, 571, 1501, 3315, 6111, 1847, 28975, 54117, 66605, 69997}}, +{13904, 18, 8275, {1, 3, 5, 5, 13, 37, 113, 75, 383, 297, 1187, 2055, 3433, 14651, 30393, 29647, 126403, 32265}}, +{13905, 18, 8303, {1, 1, 3, 5, 31, 29, 25, 169, 465, 219, 81, 2019, 4255, 6003, 7425, 53269, 31105, 211937}}, +{13906, 18, 8308, {1, 3, 7, 11, 13, 7, 11, 195, 327, 883, 1295, 3721, 1197, 7585, 5693, 993, 125017, 12007}}, +{13907, 18, 8312, {1, 3, 3, 7, 5, 37, 71, 37, 63, 651, 669, 3445, 3959, 249, 10599, 22329, 107701, 107729}}, +{13908, 18, 8345, {1, 1, 1, 9, 7, 47, 21, 181, 395, 345, 757, 481, 2759, 8157, 19847, 55743, 63137, 224765}}, +{13909, 18, 8346, {1, 3, 5, 9, 29, 3, 61, 35, 271, 157, 549, 843, 2907, 91, 16325, 4241, 94495, 78861}}, +{13910, 18, 8370, {1, 3, 1, 9, 17, 11, 53, 243, 49, 911, 1193, 793, 901, 3727, 21849, 33987, 565, 154171}}, +{13911, 18, 8402, {1, 1, 5, 1, 9, 5, 89, 81, 65, 111, 781, 3775, 591, 4987, 29833, 58159, 7253, 206447}}, +{13912, 18, 8411, {1, 3, 1, 7, 3, 59, 77, 83, 173, 545, 103, 2541, 8095, 10797, 11111, 62351, 88827, 55081}}, +{13913, 18, 8414, {1, 1, 3, 11, 29, 37, 19, 47, 145, 19, 513, 3269, 2205, 5317, 19207, 38051, 5413, 78089}}, +{13914, 18, 8424, {1, 1, 5, 9, 21, 57, 75, 249, 21, 879, 1377, 3407, 6123, 11917, 12493, 44873, 113539, 114717}}, +{13915, 18, 8435, {1, 3, 3, 9, 7, 55, 121, 57, 491, 39, 1561, 2625, 639, 13553, 1159, 43071, 68869, 248837}}, +{13916, 18, 8452, {1, 1, 1, 11, 25, 19, 107, 239, 171, 1001, 69, 4095, 49, 9569, 22613, 59865, 54959, 70031}}, +{13917, 18, 8462, {1, 1, 3, 13, 27, 15, 105, 205, 205, 581, 1965, 1535, 6531, 15935, 7623, 33695, 9317, 44257}}, +{13918, 18, 8479, {1, 1, 1, 3, 3, 51, 115, 185, 315, 763, 211, 339, 7083, 4895, 23277, 14165, 101731, 218903}}, +{13919, 18, 8509, {1, 1, 3, 13, 29, 1, 69, 55, 423, 781, 183, 1417, 151, 14507, 5217, 27757, 52447, 145913}}, +{13920, 18, 8515, {1, 3, 1, 11, 29, 39, 29, 151, 85, 387, 885, 507, 133, 9819, 12627, 30951, 79839, 206267}}, +{13921, 18, 8522, {1, 3, 3, 7, 1, 53, 99, 141, 91, 51, 143, 1751, 3989, 6811, 7339, 52141, 43473, 18615}}, +{13922, 18, 8541, {1, 3, 3, 15, 27, 11, 29, 37, 387, 655, 2019, 1135, 3619, 12995, 12755, 26063, 109419, 103875}}, +{13923, 18, 8560, {1, 3, 3, 13, 31, 15, 93, 231, 195, 261, 1055, 2363, 1123, 3927, 6907, 365, 27043, 157049}}, +{13924, 18, 8563, {1, 1, 1, 15, 7, 29, 105, 199, 507, 437, 117, 2963, 7801, 6291, 19261, 30377, 92205, 20723}}, +{13925, 18, 8585, {1, 1, 1, 9, 29, 19, 75, 189, 3, 387, 1491, 2291, 7739, 12993, 11835, 10873, 54583, 207963}}, +{13926, 18, 8594, {1, 3, 7, 3, 23, 11, 25, 105, 57, 713, 1291, 3293, 4693, 13859, 27541, 31529, 65929, 245143}}, +{13927, 18, 8596, {1, 1, 7, 7, 19, 13, 19, 189, 253, 337, 351, 1751, 6173, 12207, 24483, 31381, 82035, 157143}}, +{13928, 18, 8603, {1, 3, 3, 11, 11, 49, 117, 177, 301, 417, 855, 2433, 5619, 7339, 30361, 29251, 20411, 184981}}, +{13929, 18, 8610, {1, 1, 1, 1, 11, 55, 77, 99, 209, 781, 1193, 2841, 783, 1485, 19413, 52255, 19529, 253927}}, +{13930, 18, 8647, {1, 3, 1, 3, 15, 49, 85, 191, 389, 411, 479, 341, 4985, 6193, 19099, 11497, 103285, 162333}}, +{13931, 18, 8661, {1, 3, 1, 3, 11, 31, 71, 91, 357, 615, 2007, 3601, 5393, 8079, 16811, 54127, 26049, 116341}}, +{13932, 18, 8662, {1, 1, 3, 15, 9, 39, 121, 53, 43, 617, 905, 3629, 6327, 13453, 1435, 24113, 7523, 228523}}, +{13933, 18, 8672, {1, 3, 5, 11, 21, 51, 11, 125, 33, 935, 1069, 2807, 4951, 13261, 17611, 38779, 62203, 135759}}, +{13934, 18, 8690, {1, 1, 1, 13, 29, 59, 53, 245, 219, 423, 809, 1109, 7255, 14679, 25247, 43235, 129565, 72649}}, +{13935, 18, 8696, {1, 3, 5, 7, 27, 29, 119, 91, 297, 407, 187, 2829, 5637, 13851, 14073, 461, 64081, 33971}}, +{13936, 18, 8739, {1, 1, 5, 11, 15, 27, 29, 233, 487, 859, 1021, 3117, 1439, 16021, 31315, 35775, 117363, 131635}}, +{13937, 18, 8783, {1, 1, 5, 3, 3, 1, 91, 229, 327, 777, 393, 3853, 3455, 1785, 13749, 25173, 51575, 167237}}, +{13938, 18, 8811, {1, 3, 7, 9, 27, 7, 15, 71, 283, 71, 1783, 1357, 5581, 3143, 26075, 47751, 71001, 157107}}, +{13939, 18, 8813, {1, 3, 3, 7, 23, 9, 69, 21, 333, 223, 1735, 1057, 8091, 1927, 8507, 40901, 40233, 164115}}, +{13940, 18, 8821, {1, 3, 7, 3, 11, 49, 29, 81, 215, 289, 1137, 765, 6385, 5935, 3435, 11991, 30867, 60745}}, +{13941, 18, 8856, {1, 1, 1, 1, 7, 39, 33, 173, 225, 533, 1927, 3607, 1059, 8779, 2649, 6801, 103963, 167471}}, +{13942, 18, 8877, {1, 3, 3, 15, 27, 51, 107, 3, 195, 87, 739, 1425, 747, 1501, 22245, 59233, 124867, 79753}}, +{13943, 18, 8885, {1, 1, 3, 3, 13, 41, 125, 101, 225, 749, 221, 2735, 6441, 11353, 3943, 35329, 53437, 149063}}, +{13944, 18, 8897, {1, 3, 3, 15, 3, 53, 75, 77, 1, 907, 573, 1909, 363, 6913, 559, 58489, 1053, 25513}}, +{13945, 18, 8898, {1, 1, 7, 11, 7, 15, 91, 155, 447, 555, 473, 3625, 7529, 16307, 32241, 64077, 46943, 85717}}, +{13946, 18, 8934, {1, 1, 1, 13, 9, 61, 91, 41, 101, 107, 1081, 2511, 2881, 14095, 3861, 22771, 32687, 77287}}, +{13947, 18, 8955, {1, 3, 3, 7, 21, 3, 51, 177, 203, 861, 1507, 1177, 2369, 11735, 1667, 28607, 97671, 123263}}, +{13948, 18, 8972, {1, 1, 1, 3, 5, 57, 13, 127, 353, 65, 663, 3849, 3579, 5521, 11765, 63427, 76349, 102517}}, +{13949, 18, 8977, {1, 1, 7, 11, 27, 55, 79, 249, 397, 77, 1543, 3787, 4889, 11145, 18691, 62899, 66425, 116195}}, +{13950, 18, 9038, {1, 1, 1, 3, 5, 3, 1, 143, 73, 999, 2013, 2001, 4001, 6563, 30811, 61445, 2645, 203631}}, +{13951, 18, 9045, {1, 1, 1, 15, 1, 49, 35, 61, 493, 101, 1407, 2211, 7467, 12321, 15901, 15479, 62939, 14643}}, +{13952, 18, 9071, {1, 1, 3, 11, 21, 33, 123, 95, 449, 355, 1501, 1627, 1411, 6183, 17457, 2199, 96313, 25023}}, +{13953, 18, 9085, {1, 1, 5, 5, 13, 49, 73, 203, 83, 3, 137, 119, 3001, 10685, 18231, 60727, 31785, 158605}}, +{13954, 18, 9110, {1, 3, 1, 11, 23, 19, 123, 9, 269, 501, 2005, 3695, 3327, 5353, 12619, 12987, 18213, 29355}}, +{13955, 18, 9120, {1, 3, 1, 5, 1, 25, 99, 197, 327, 575, 773, 2009, 6653, 1807, 20381, 55725, 124359, 176893}}, +{13956, 18, 9157, {1, 1, 7, 15, 27, 9, 81, 175, 73, 727, 1907, 1237, 4983, 16123, 16479, 2283, 57805, 13593}}, +{13957, 18, 9164, {1, 1, 3, 13, 7, 13, 13, 139, 283, 721, 487, 1821, 4257, 5105, 8057, 27193, 46857, 169927}}, +{13958, 18, 9185, {1, 1, 5, 5, 29, 5, 81, 211, 441, 685, 981, 3097, 6253, 10673, 12253, 54943, 69401, 147769}}, +{13959, 18, 9203, {1, 3, 3, 1, 13, 35, 73, 145, 139, 781, 37, 803, 3607, 4327, 1153, 11325, 131025, 168729}}, +{13960, 18, 9235, {1, 3, 1, 13, 17, 41, 19, 59, 23, 561, 315, 719, 3325, 275, 12715, 59843, 16597, 81691}}, +{13961, 18, 9278, {1, 3, 1, 11, 1, 53, 11, 237, 363, 345, 331, 129, 6885, 3105, 12487, 53803, 8897, 193777}}, +{13962, 18, 9290, {1, 3, 7, 15, 3, 53, 55, 101, 389, 839, 413, 2851, 3989, 12857, 25723, 16595, 94145, 193049}}, +{13963, 18, 9292, {1, 3, 1, 7, 15, 31, 3, 115, 197, 753, 1035, 1369, 4925, 4497, 1641, 63743, 127089, 114097}}, +{13964, 18, 9319, {1, 3, 5, 5, 23, 1, 35, 99, 277, 769, 895, 581, 6969, 15339, 10309, 27101, 22611, 86179}}, +{13965, 18, 9334, {1, 1, 1, 11, 19, 17, 45, 35, 257, 313, 815, 1469, 3651, 15101, 22775, 51729, 75401, 123653}}, +{13966, 18, 9362, {1, 3, 1, 15, 5, 11, 83, 141, 373, 935, 1123, 1849, 1267, 15427, 10615, 63303, 109771, 188601}}, +{13967, 18, 9387, {1, 3, 5, 3, 29, 23, 79, 193, 261, 29, 1857, 789, 4359, 14211, 22181, 64901, 129089, 65587}}, +{13968, 18, 9404, {1, 3, 1, 3, 29, 15, 19, 239, 497, 771, 239, 2853, 2391, 8153, 31899, 53759, 127219, 78833}}, +{13969, 18, 9407, {1, 1, 7, 7, 5, 57, 9, 93, 69, 993, 193, 3629, 5761, 9339, 28073, 50035, 81635, 83119}}, +{13970, 18, 9410, {1, 1, 5, 13, 7, 35, 79, 247, 43, 1011, 1189, 2881, 1963, 8889, 9929, 50043, 112581, 224139}}, +{13971, 18, 9422, {1, 3, 3, 7, 15, 63, 85, 33, 107, 37, 45, 1271, 4735, 1151, 19793, 6589, 50875, 185061}}, +{13972, 18, 9478, {1, 3, 1, 15, 1, 63, 1, 201, 207, 179, 67, 3703, 2629, 10517, 1, 39645, 119733, 6449}}, +{13973, 18, 9512, {1, 3, 5, 1, 3, 7, 97, 101, 233, 71, 255, 3767, 8127, 8041, 25001, 7601, 129595, 131657}}, +{13974, 18, 9535, {1, 1, 7, 1, 25, 29, 105, 25, 267, 191, 267, 3141, 4445, 5043, 25203, 32055, 11035, 229031}}, +{13975, 18, 9604, {1, 1, 1, 13, 3, 1, 1, 147, 63, 259, 1171, 401, 6289, 13577, 28129, 1349, 85027, 178123}}, +{13976, 18, 9616, {1, 1, 1, 13, 1, 59, 109, 95, 49, 309, 1141, 1355, 3415, 11237, 21619, 12039, 1795, 57775}}, +{13977, 18, 9622, {1, 3, 1, 11, 19, 3, 51, 227, 277, 49, 703, 2701, 515, 8893, 20163, 65297, 114781, 225687}}, +{13978, 18, 9631, {1, 3, 7, 11, 19, 47, 121, 199, 173, 905, 1903, 1781, 2425, 13381, 25843, 23279, 87701, 10723}}, +{13979, 18, 9656, {1, 3, 1, 13, 7, 21, 17, 15, 85, 241, 119, 2361, 7921, 6077, 955, 34221, 78179, 35511}}, +{13980, 18, 9710, {1, 1, 7, 11, 9, 1, 1, 29, 445, 557, 241, 959, 6077, 3547, 30987, 48129, 79699, 236611}}, +{13981, 18, 9721, {1, 3, 1, 15, 13, 29, 57, 117, 347, 719, 1435, 307, 5209, 4009, 10517, 3373, 67667, 260101}}, +{13982, 18, 9728, {1, 1, 7, 13, 11, 41, 17, 143, 467, 993, 779, 3991, 623, 8915, 21615, 56477, 59721, 164241}}, +{13983, 18, 9733, {1, 1, 3, 7, 15, 37, 53, 33, 395, 547, 1815, 2517, 6575, 14035, 1, 10919, 25467, 117521}}, +{13984, 18, 9738, {1, 1, 3, 9, 17, 47, 45, 3, 509, 53, 1245, 883, 7917, 15445, 4169, 49637, 90933, 109469}}, +{13985, 18, 9774, {1, 3, 1, 3, 27, 37, 3, 95, 31, 665, 701, 1979, 3735, 3257, 18943, 41201, 95721, 69451}}, +{13986, 18, 9791, {1, 1, 1, 15, 19, 49, 61, 5, 115, 801, 805, 2723, 1387, 13165, 20717, 40767, 88857, 28207}}, +{13987, 18, 9803, {1, 1, 5, 9, 21, 25, 23, 179, 59, 29, 547, 1829, 4411, 6689, 22363, 43975, 52259, 187563}}, +{13988, 18, 9805, {1, 1, 5, 11, 13, 31, 97, 131, 135, 415, 53, 4015, 3629, 6613, 25541, 47221, 66483, 224545}}, +{13989, 18, 9817, {1, 3, 1, 11, 19, 13, 65, 95, 381, 759, 1319, 2997, 6321, 9203, 24483, 9925, 10799, 117119}}, +{13990, 18, 9823, {1, 3, 5, 13, 27, 17, 39, 225, 199, 125, 1125, 2673, 6787, 8861, 13139, 13849, 65459, 40183}}, +{13991, 18, 9839, {1, 1, 5, 3, 17, 55, 23, 75, 457, 959, 1507, 1267, 6857, 16141, 1889, 10779, 41331, 166075}}, +{13992, 18, 9847, {1, 3, 1, 15, 7, 55, 109, 59, 241, 431, 1281, 183, 1029, 14617, 4003, 41871, 36007, 129617}}, +{13993, 18, 9854, {1, 3, 1, 1, 27, 61, 79, 93, 217, 251, 671, 989, 7031, 10035, 15455, 13685, 95471, 997}}, +{13994, 18, 9863, {1, 1, 3, 13, 1, 5, 125, 179, 357, 537, 1303, 2653, 7319, 2075, 3861, 11743, 89659, 221705}}, +{13995, 18, 9872, {1, 1, 1, 7, 3, 55, 5, 201, 153, 639, 835, 1913, 3331, 10727, 30365, 15133, 67911, 17851}}, +{13996, 18, 9884, {1, 1, 3, 13, 21, 1, 67, 71, 265, 43, 279, 2009, 873, 4447, 32001, 50783, 76613, 63919}}, +{13997, 18, 9935, {1, 1, 3, 11, 17, 43, 19, 195, 233, 17, 1855, 1227, 3435, 4313, 6417, 51019, 130091, 124947}}, +{13998, 18, 9937, {1, 1, 7, 9, 19, 9, 95, 87, 297, 817, 1217, 3637, 2371, 7073, 387, 62121, 43507, 93927}}, +{13999, 18, 9974, {1, 3, 5, 13, 1, 15, 29, 123, 137, 425, 531, 2659, 2077, 1345, 2803, 49469, 29031, 170825}}, +{14000, 18, 9980, {1, 1, 5, 7, 15, 13, 119, 231, 139, 673, 1105, 2355, 3023, 4437, 17491, 47367, 12751, 183319}}, +{14001, 18, 10003, {1, 1, 5, 15, 19, 5, 125, 121, 509, 539, 473, 2087, 4421, 4205, 23457, 34481, 111231, 145035}}, +{14002, 18, 10015, {1, 3, 7, 5, 23, 21, 85, 23, 415, 715, 1579, 3447, 2373, 233, 19401, 54869, 15977, 138119}}, +{14003, 18, 10016, {1, 1, 3, 11, 21, 1, 37, 127, 101, 943, 79, 2119, 5679, 10749, 16209, 16715, 29421, 259735}}, +{14004, 18, 10066, {1, 3, 7, 7, 23, 25, 1, 73, 505, 979, 535, 87, 4165, 9353, 20075, 57597, 74651, 22133}}, +{14005, 18, 10093, {1, 1, 7, 3, 11, 19, 75, 213, 293, 15, 1981, 1259, 5455, 2897, 18861, 6317, 10339, 123967}}, +{14006, 18, 10118, {1, 3, 1, 3, 29, 5, 93, 169, 51, 519, 1649, 2789, 1251, 8359, 11489, 62443, 91549, 148357}}, +{14007, 18, 10132, {1, 3, 3, 13, 5, 47, 39, 163, 341, 755, 737, 2335, 2389, 8351, 26193, 58111, 18425, 129313}}, +{14008, 18, 10135, {1, 1, 3, 1, 31, 49, 101, 69, 345, 291, 1257, 1801, 1613, 1479, 4403, 21307, 44947, 68591}}, +{14009, 18, 10151, {1, 3, 3, 9, 5, 23, 65, 65, 187, 709, 883, 2199, 1037, 8679, 31527, 23561, 92225, 254215}}, +{14010, 18, 10158, {1, 3, 7, 7, 23, 13, 87, 209, 163, 705, 1199, 3007, 5469, 2453, 2691, 17841, 97045, 174149}}, +{14011, 18, 10169, {1, 1, 1, 9, 5, 35, 21, 91, 145, 559, 131, 3911, 1777, 8225, 6077, 58223, 100827, 3641}}, +{14012, 18, 10172, {1, 1, 5, 5, 7, 5, 31, 189, 117, 785, 1493, 3899, 471, 10971, 4607, 21063, 67225, 195367}}, +{14013, 18, 10180, {1, 1, 7, 5, 31, 61, 63, 163, 417, 655, 2033, 1255, 1139, 6867, 28655, 55295, 100519, 166629}}, +{14014, 18, 10187, {1, 3, 3, 3, 7, 35, 83, 55, 7, 607, 253, 915, 6801, 7505, 15929, 16829, 78469, 150947}}, +{14015, 18, 10189, {1, 3, 3, 9, 29, 3, 127, 235, 347, 3, 193, 1547, 8073, 14963, 20351, 28951, 53855, 261375}}, +{14016, 18, 10192, {1, 1, 7, 3, 31, 19, 75, 87, 23, 419, 75, 1677, 2371, 8875, 31993, 4465, 76085, 86499}}, +{14017, 18, 10197, {1, 3, 5, 7, 1, 51, 47, 161, 415, 521, 1099, 1295, 2545, 15167, 13983, 7347, 60631, 4089}}, +{14018, 18, 10211, {1, 1, 1, 9, 7, 59, 71, 187, 441, 273, 769, 2649, 3261, 12661, 23045, 32035, 104573, 120589}}, +{14019, 18, 10214, {1, 3, 7, 13, 23, 51, 113, 205, 443, 291, 475, 2961, 7615, 105, 22099, 6045, 22667, 65515}}, +{14020, 18, 10256, {1, 1, 5, 11, 1, 1, 23, 231, 413, 371, 1285, 2695, 2751, 4235, 15779, 1903, 24469, 259157}}, +{14021, 18, 10278, {1, 3, 3, 7, 7, 47, 87, 105, 311, 251, 573, 3221, 5757, 11107, 11161, 8809, 14467, 33153}}, +{14022, 18, 10290, {1, 1, 7, 1, 31, 49, 51, 31, 305, 315, 547, 1159, 2741, 3773, 13299, 40115, 62523, 108487}}, +{14023, 18, 10301, {1, 3, 1, 11, 11, 43, 33, 213, 107, 467, 1509, 4081, 4723, 2409, 1447, 42759, 64717, 161991}}, +{14024, 18, 10310, {1, 3, 7, 3, 31, 23, 25, 159, 95, 721, 1981, 3659, 4819, 10119, 25451, 10165, 31281, 238319}}, +{14025, 18, 10344, {1, 3, 1, 5, 19, 27, 67, 125, 481, 585, 43, 3697, 4997, 581, 6439, 33477, 115023, 51759}}, +{14026, 18, 10473, {1, 3, 7, 7, 15, 53, 89, 173, 369, 365, 91, 1583, 4611, 7189, 30383, 47397, 73657, 158695}}, +{14027, 18, 10474, {1, 1, 1, 15, 1, 21, 125, 13, 243, 729, 1397, 2451, 3233, 15593, 2815, 56215, 22685, 167343}}, +{14028, 18, 10482, {1, 3, 1, 13, 13, 29, 119, 223, 51, 695, 273, 2381, 4431, 4891, 29875, 49511, 111003, 174413}}, +{14029, 18, 10499, {1, 3, 3, 15, 9, 13, 19, 177, 371, 957, 255, 115, 4701, 6089, 7237, 17077, 87949, 3111}}, +{14030, 18, 10525, {1, 1, 7, 11, 29, 49, 59, 201, 145, 219, 1159, 3863, 715, 10489, 25883, 56445, 122103, 149877}}, +{14031, 18, 10532, {1, 3, 1, 13, 15, 51, 91, 109, 433, 45, 2045, 3121, 1109, 14713, 2667, 40463, 52185, 64743}}, +{14032, 18, 10535, {1, 3, 3, 7, 21, 31, 7, 155, 347, 305, 1557, 1311, 3315, 1363, 403, 62063, 114195, 44623}}, +{14033, 18, 10556, {1, 3, 5, 11, 9, 11, 11, 245, 49, 21, 239, 3043, 3525, 1055, 21891, 19153, 123689, 170195}}, +{14034, 18, 10568, {1, 1, 1, 11, 17, 51, 83, 249, 483, 489, 1063, 469, 6153, 15551, 13783, 27945, 103775, 68175}}, +{14035, 18, 10579, {1, 3, 3, 13, 11, 61, 107, 113, 503, 819, 1593, 2851, 6711, 14623, 3709, 10931, 8743, 62321}}, +{14036, 18, 10586, {1, 1, 5, 15, 5, 37, 23, 131, 329, 499, 1765, 1273, 819, 11573, 3307, 46933, 22087, 173459}}, +{14037, 18, 10609, {1, 1, 1, 3, 31, 5, 49, 57, 239, 981, 1863, 3233, 2727, 7389, 7923, 63259, 62873, 113607}}, +{14038, 18, 10612, {1, 1, 7, 7, 11, 27, 119, 137, 115, 211, 1239, 2153, 2579, 11501, 747, 31141, 129793, 151589}}, +{14039, 18, 10650, {1, 3, 3, 9, 9, 55, 121, 199, 91, 835, 521, 2433, 8123, 2045, 32553, 48993, 9935, 220537}}, +{14040, 18, 10665, {1, 3, 7, 11, 15, 57, 53, 145, 299, 623, 691, 1557, 785, 15851, 27075, 5983, 18043, 22241}}, +{14041, 18, 10685, {1, 1, 3, 1, 1, 57, 57, 195, 381, 913, 167, 333, 5541, 2323, 17001, 34817, 30795, 144051}}, +{14042, 18, 10686, {1, 3, 3, 3, 31, 1, 83, 31, 91, 855, 195, 3449, 8057, 11061, 29089, 1597, 127581, 189033}}, +{14043, 18, 10688, {1, 3, 1, 1, 21, 59, 113, 179, 13, 523, 629, 3693, 7155, 893, 17449, 46535, 18051, 9191}}, +{14044, 18, 10711, {1, 1, 1, 3, 27, 19, 75, 229, 181, 653, 1849, 501, 5871, 14769, 27461, 59193, 115013, 72227}}, +{14045, 18, 10728, {1, 3, 3, 13, 17, 41, 111, 107, 453, 299, 1699, 2871, 2955, 4215, 13919, 19785, 30339, 148445}}, +{14046, 18, 10748, {1, 3, 3, 11, 5, 19, 21, 87, 173, 439, 1651, 2393, 4137, 16285, 16093, 22953, 105663, 226575}}, +{14047, 18, 10751, {1, 3, 5, 7, 19, 61, 101, 251, 295, 89, 1695, 1359, 5797, 8587, 18753, 65223, 51079, 96169}}, +{14048, 18, 10781, {1, 1, 1, 5, 3, 1, 79, 63, 221, 601, 1385, 1963, 4601, 15217, 4861, 58295, 61043, 88523}}, +{14049, 18, 10805, {1, 3, 3, 7, 31, 63, 73, 177, 455, 487, 1009, 2103, 4753, 3143, 10121, 36509, 24753, 230869}}, +{14050, 18, 10823, {1, 1, 5, 1, 17, 27, 103, 63, 475, 665, 1189, 3513, 89, 2669, 1227, 20635, 121549, 248851}}, +{14051, 18, 10838, {1, 1, 3, 7, 25, 19, 117, 243, 337, 207, 903, 3751, 3309, 11955, 12651, 25359, 83419, 19701}}, +{14052, 18, 10857, {1, 1, 7, 15, 19, 21, 3, 235, 289, 185, 1175, 2291, 4003, 7753, 4775, 65321, 48957, 220261}}, +{14053, 18, 10865, {1, 3, 5, 11, 23, 21, 107, 65, 117, 329, 1085, 3555, 1183, 15241, 32663, 50985, 66753, 38023}}, +{14054, 18, 10872, {1, 1, 7, 9, 11, 49, 65, 17, 291, 435, 1221, 3829, 5467, 5181, 19891, 7091, 80673, 90495}}, +{14055, 18, 10893, {1, 1, 1, 15, 17, 47, 119, 173, 297, 477, 859, 3661, 8081, 8257, 20841, 55123, 11231, 193669}}, +{14056, 18, 10899, {1, 1, 7, 7, 27, 11, 119, 109, 199, 727, 1569, 3749, 4067, 11675, 30213, 58091, 64303, 92785}}, +{14057, 18, 10917, {1, 3, 7, 15, 15, 39, 101, 149, 299, 449, 1017, 723, 7731, 7929, 22465, 61583, 69851, 150507}}, +{14058, 18, 10935, {1, 3, 5, 15, 5, 13, 97, 127, 21, 673, 353, 3885, 5761, 11443, 10089, 23701, 85879, 42217}}, +{14059, 18, 11001, {1, 3, 1, 5, 27, 55, 31, 167, 69, 453, 925, 555, 5135, 2759, 27077, 14497, 94333, 108729}}, +{14060, 18, 11072, {1, 1, 7, 15, 11, 55, 9, 241, 55, 611, 149, 2605, 653, 1631, 15059, 6349, 12321, 124561}}, +{14061, 18, 11089, {1, 1, 1, 9, 3, 11, 95, 67, 443, 103, 1687, 2667, 4567, 4271, 15601, 27859, 4757, 53289}}, +{14062, 18, 11090, {1, 1, 5, 9, 23, 21, 1, 125, 105, 975, 1879, 1821, 5273, 7079, 25009, 10471, 29119, 73249}}, +{14063, 18, 11108, {1, 1, 7, 1, 31, 61, 17, 23, 485, 565, 1325, 1559, 4131, 751, 2071, 4719, 15925, 101207}}, +{14064, 18, 11117, {1, 1, 5, 5, 13, 53, 13, 93, 149, 139, 1429, 3605, 3545, 11193, 14139, 6093, 115727, 183105}}, +{14065, 18, 11136, {1, 1, 1, 7, 15, 37, 51, 77, 177, 967, 405, 563, 3047, 8499, 26787, 27609, 23613, 239679}}, +{14066, 18, 11148, {1, 1, 1, 5, 27, 37, 1, 129, 197, 133, 1329, 3673, 3143, 1059, 19209, 39027, 43787, 42821}}, +{14067, 18, 11153, {1, 3, 7, 5, 5, 47, 105, 121, 219, 777, 1569, 1359, 1955, 13207, 14895, 7829, 40499, 182911}}, +{14068, 18, 11181, {1, 3, 5, 7, 11, 41, 41, 155, 245, 383, 405, 2415, 5809, 5117, 31523, 16927, 76785, 113731}}, +{14069, 18, 11190, {1, 3, 3, 9, 9, 21, 13, 197, 409, 931, 305, 1129, 865, 12961, 5239, 35823, 82565, 226765}}, +{14070, 18, 11201, {1, 1, 5, 3, 17, 27, 59, 79, 359, 601, 979, 1355, 1657, 10479, 4741, 36391, 111527, 105139}}, +{14071, 18, 11204, {1, 3, 5, 9, 13, 43, 31, 1, 309, 723, 1049, 803, 1653, 2551, 26317, 49731, 67799, 129225}}, +{14072, 18, 11216, {1, 1, 5, 3, 1, 39, 95, 243, 499, 809, 1515, 981, 585, 7907, 16801, 43381, 117537, 99787}}, +{14073, 18, 11237, {1, 1, 5, 5, 25, 23, 15, 127, 33, 799, 647, 2923, 7805, 2681, 14773, 42751, 106861, 119657}}, +{14074, 18, 11259, {1, 3, 1, 1, 1, 47, 11, 179, 179, 659, 1061, 2511, 3601, 7107, 27887, 48427, 40559, 106043}}, +{14075, 18, 11279, {1, 1, 7, 11, 5, 33, 115, 195, 431, 383, 1571, 3485, 5741, 5775, 14891, 26389, 71723, 198861}}, +{14076, 18, 11282, {1, 1, 5, 5, 11, 55, 37, 57, 381, 607, 2017, 1981, 6113, 3771, 8827, 13335, 88587, 102791}}, +{14077, 18, 11304, {1, 1, 1, 11, 29, 23, 73, 149, 405, 581, 721, 281, 5315, 4675, 13013, 39003, 20335, 109855}}, +{14078, 18, 11312, {1, 1, 7, 15, 17, 57, 39, 51, 403, 979, 1543, 1235, 797, 5949, 26647, 15125, 33255, 152861}}, +{14079, 18, 11332, {1, 1, 5, 3, 25, 27, 7, 147, 257, 163, 1297, 2289, 693, 7771, 6341, 22323, 1653, 177669}}, +{14080, 18, 11341, {1, 1, 3, 9, 1, 39, 47, 231, 15, 705, 897, 3943, 6281, 6679, 21695, 29553, 39509, 83135}}, +{14081, 18, 11354, {1, 3, 3, 15, 17, 43, 15, 195, 31, 501, 529, 3117, 6031, 12101, 30687, 52465, 66171, 149591}}, +{14082, 18, 11356, {1, 1, 3, 5, 13, 17, 63, 41, 303, 671, 1225, 1761, 6159, 3203, 23611, 18309, 115027, 116325}}, +{14083, 18, 11365, {1, 1, 5, 13, 17, 5, 97, 155, 479, 525, 1403, 4063, 8167, 6443, 20627, 41399, 26897, 102841}}, +{14084, 18, 11377, {1, 3, 5, 9, 9, 27, 59, 177, 453, 659, 765, 431, 4209, 12679, 10719, 22473, 81597, 20057}}, +{14085, 18, 11417, {1, 3, 3, 1, 3, 37, 91, 97, 159, 845, 519, 2603, 6979, 6711, 29781, 53639, 103357, 111671}}, +{14086, 18, 11427, {1, 1, 3, 3, 25, 15, 27, 9, 503, 719, 153, 3071, 281, 5341, 32595, 13069, 6461, 160319}}, +{14087, 18, 11433, {1, 3, 3, 5, 29, 7, 119, 229, 117, 925, 465, 1703, 7277, 10631, 9429, 41011, 45181, 229239}}, +{14088, 18, 11434, {1, 1, 7, 7, 31, 63, 67, 55, 445, 39, 1363, 1369, 1061, 8555, 29263, 47341, 49563, 80445}}, +{14089, 18, 11439, {1, 1, 7, 1, 23, 23, 49, 205, 371, 101, 1963, 2763, 3475, 835, 20371, 51343, 9771, 69713}}, +{14090, 18, 11444, {1, 3, 3, 7, 3, 29, 7, 185, 511, 93, 1077, 3971, 2981, 16367, 12703, 36179, 47755, 42767}}, +{14091, 18, 11448, {1, 1, 1, 11, 27, 47, 43, 39, 129, 337, 1249, 3557, 2871, 13565, 19525, 46263, 49203, 148235}}, +{14092, 18, 11461, {1, 3, 5, 11, 19, 3, 83, 151, 425, 199, 847, 3751, 1729, 12457, 21819, 295, 53627, 17555}}, +{14093, 18, 11466, {1, 1, 3, 5, 7, 43, 21, 221, 93, 785, 1851, 3891, 2103, 5219, 31845, 58943, 42461, 160149}}, +{14094, 18, 11468, {1, 3, 5, 9, 25, 11, 43, 171, 445, 335, 1907, 3401, 815, 10341, 17779, 24895, 7727, 168143}}, +{14095, 18, 11473, {1, 3, 1, 5, 27, 25, 41, 13, 239, 233, 1861, 3409, 4325, 2227, 30197, 59329, 48501, 168799}}, +{14096, 18, 11489, {1, 3, 5, 13, 9, 55, 83, 185, 287, 83, 1545, 2803, 2177, 6195, 14455, 30541, 75731, 98915}}, +{14097, 18, 11499, {1, 3, 3, 5, 25, 19, 5, 203, 303, 703, 1861, 3867, 2683, 8223, 11107, 54785, 106053, 135543}}, +{14098, 18, 11516, {1, 1, 1, 13, 19, 7, 11, 197, 303, 541, 977, 2083, 4739, 7971, 2245, 11029, 77333, 16573}}, +{14099, 18, 11531, {1, 1, 1, 3, 11, 33, 77, 59, 283, 791, 365, 4027, 487, 10559, 4543, 58111, 91861, 102905}}, +{14100, 18, 11533, {1, 3, 7, 7, 15, 3, 19, 51, 339, 377, 929, 693, 1617, 14057, 7107, 27181, 7411, 202843}}, +{14101, 18, 11557, {1, 3, 3, 9, 19, 9, 73, 109, 333, 917, 1227, 2871, 4893, 11029, 5619, 27091, 9381, 213403}}, +{14102, 18, 11572, {1, 1, 1, 9, 9, 13, 77, 131, 163, 619, 169, 315, 1277, 13705, 16853, 1179, 86433, 135427}}, +{14103, 18, 11608, {1, 3, 5, 9, 15, 47, 57, 119, 325, 529, 893, 2395, 5159, 5481, 18689, 6457, 114733, 159999}}, +{14104, 18, 11635, {1, 3, 7, 5, 15, 9, 113, 235, 475, 93, 495, 2983, 2769, 5209, 7481, 49699, 46961, 246393}}, +{14105, 18, 11638, {1, 1, 7, 1, 5, 31, 113, 27, 359, 635, 955, 2795, 6289, 11621, 11059, 2259, 57443, 243143}}, +{14106, 18, 11644, {1, 3, 3, 13, 19, 33, 53, 141, 437, 415, 919, 1375, 2703, 13731, 31559, 14115, 50101, 85199}}, +{14107, 18, 11684, {1, 1, 7, 13, 27, 57, 111, 89, 89, 313, 1107, 4049, 2485, 269, 10197, 36995, 71381, 112795}}, +{14108, 18, 11702, {1, 1, 3, 7, 17, 23, 119, 123, 145, 213, 1273, 1707, 4005, 13815, 23495, 36359, 14391, 94287}}, +{14109, 18, 11740, {1, 1, 7, 1, 5, 49, 81, 193, 105, 1003, 413, 2975, 1725, 5647, 25447, 43501, 4431, 115489}}, +{14110, 18, 11749, {1, 3, 1, 5, 29, 13, 47, 37, 441, 955, 611, 853, 7225, 4959, 8739, 31703, 48095, 124085}}, +{14111, 18, 11754, {1, 1, 5, 15, 31, 9, 125, 53, 229, 631, 1031, 3923, 4417, 12637, 22093, 46985, 103417, 193443}}, +{14112, 18, 11764, {1, 1, 7, 1, 7, 9, 77, 11, 451, 615, 1259, 3097, 1513, 13641, 26845, 17399, 63661, 9231}}, +{14113, 18, 11767, {1, 1, 7, 13, 25, 47, 125, 1, 333, 599, 1133, 3527, 7451, 2849, 27227, 40015, 118185, 24737}}, +{14114, 18, 11784, {1, 1, 5, 5, 31, 15, 85, 37, 121, 677, 593, 2757, 739, 839, 3939, 36339, 116663, 955}}, +{14115, 18, 11789, {1, 3, 1, 11, 19, 13, 87, 109, 149, 215, 1811, 3813, 7699, 16189, 12841, 52081, 104545, 245819}}, +{14116, 18, 11795, {1, 1, 7, 3, 31, 17, 99, 23, 377, 131, 821, 1167, 4437, 15727, 20753, 8163, 43719, 7243}}, +{14117, 18, 11798, {1, 3, 7, 13, 21, 5, 5, 167, 9, 1009, 1013, 797, 6145, 2855, 19969, 59887, 3419, 238661}}, +{14118, 18, 11804, {1, 1, 7, 1, 5, 39, 47, 91, 185, 139, 959, 3149, 3423, 8909, 2045, 18187, 71935, 238605}}, +{14119, 18, 11818, {1, 3, 5, 11, 29, 63, 105, 43, 27, 221, 879, 181, 1499, 10343, 27135, 823, 4893, 101707}}, +{14120, 18, 11820, {1, 3, 5, 11, 5, 13, 59, 83, 315, 999, 1205, 939, 3661, 3081, 15551, 13791, 49027, 26843}}, +{14121, 18, 11860, {1, 1, 1, 5, 3, 57, 105, 169, 123, 463, 1471, 445, 743, 13353, 17661, 23437, 35451, 115919}}, +{14122, 18, 11869, {1, 1, 5, 11, 9, 3, 41, 63, 501, 861, 153, 1591, 1379, 5189, 24483, 8073, 43319, 248959}}, +{14123, 18, 11874, {1, 1, 7, 3, 29, 45, 51, 177, 1, 961, 1493, 2179, 3723, 1923, 1517, 44823, 81613, 194641}}, +{14124, 18, 11903, {1, 1, 5, 11, 17, 17, 61, 141, 5, 529, 379, 2509, 1487, 13141, 10877, 18603, 40569, 69639}}, +{14125, 18, 11916, {1, 1, 5, 15, 1, 15, 33, 219, 269, 557, 7, 3627, 183, 6975, 4627, 15235, 51863, 172393}}, +{14126, 18, 11927, {1, 3, 7, 9, 1, 37, 13, 75, 151, 153, 1693, 2835, 3093, 8847, 6721, 44135, 128931, 230745}}, +{14127, 18, 11933, {1, 1, 3, 13, 29, 63, 33, 153, 503, 137, 401, 2315, 2223, 10843, 4235, 37295, 103249, 183899}}, +{14128, 18, 11962, {1, 1, 7, 11, 15, 25, 49, 55, 39, 13, 269, 3119, 3445, 8265, 16781, 57239, 97489, 204841}}, +{14129, 18, 12009, {1, 1, 1, 1, 25, 57, 117, 199, 41, 351, 477, 1891, 7913, 14439, 25305, 64811, 57731, 184265}}, +{14130, 18, 12020, {1, 3, 3, 1, 13, 41, 33, 53, 381, 31, 1861, 2207, 1497, 15539, 23589, 53215, 36887, 134007}}, +{14131, 18, 12035, {1, 1, 5, 7, 15, 37, 13, 99, 17, 325, 643, 2943, 7967, 11531, 21301, 5125, 63201, 101203}}, +{14132, 18, 12041, {1, 1, 7, 11, 23, 21, 119, 151, 457, 929, 1917, 3123, 1133, 11861, 27889, 40421, 90949, 113237}}, +{14133, 18, 12049, {1, 3, 5, 9, 13, 35, 111, 83, 371, 589, 1507, 3559, 773, 5895, 31453, 40865, 124103, 250473}}, +{14134, 18, 12065, {1, 3, 3, 15, 11, 7, 93, 163, 285, 763, 2023, 1047, 3349, 13575, 22571, 21513, 56081, 204765}}, +{14135, 18, 12072, {1, 3, 3, 5, 19, 19, 47, 25, 49, 717, 1155, 3901, 407, 2699, 30961, 55647, 96043, 185559}}, +{14136, 18, 12098, {1, 1, 1, 7, 29, 1, 49, 87, 311, 435, 1235, 1041, 6595, 1639, 32495, 44245, 6593, 236331}}, +{14137, 18, 12100, {1, 3, 7, 9, 27, 13, 1, 41, 75, 953, 1635, 101, 7231, 13019, 14773, 17315, 120993, 111215}}, +{14138, 18, 12107, {1, 1, 5, 9, 23, 31, 87, 47, 83, 791, 1239, 1453, 5459, 4847, 7285, 32667, 45991, 103593}}, +{14139, 18, 12167, {1, 3, 1, 3, 27, 47, 97, 191, 5, 961, 1191, 3897, 6821, 4257, 22047, 31557, 52603, 251405}}, +{14140, 18, 12202, {1, 1, 5, 3, 23, 45, 103, 115, 287, 47, 93, 2761, 6467, 14031, 21881, 31631, 47605, 237635}}, +{14141, 18, 12207, {1, 3, 7, 15, 23, 41, 63, 239, 115, 655, 1949, 1969, 3145, 91, 16735, 49295, 117995, 40537}}, +{14142, 18, 12233, {1, 1, 7, 11, 5, 25, 99, 247, 11, 707, 1497, 785, 6055, 8521, 12179, 56363, 110131, 55449}}, +{14143, 18, 12269, {1, 1, 1, 7, 5, 31, 99, 7, 285, 281, 1207, 1173, 7637, 9595, 31413, 16597, 96157, 39059}}, +{14144, 18, 12290, {1, 3, 7, 7, 3, 49, 79, 69, 57, 523, 65, 2785, 2907, 11295, 16199, 25845, 51801, 67417}}, +{14145, 18, 12304, {1, 1, 3, 1, 1, 53, 57, 117, 1, 927, 1787, 3059, 7441, 14663, 10881, 2225, 29375, 93717}}, +{14146, 18, 12314, {1, 1, 5, 5, 29, 17, 67, 35, 475, 367, 155, 3463, 2339, 6239, 31073, 56169, 130309, 28981}}, +{14147, 18, 12340, {1, 1, 1, 5, 7, 53, 61, 105, 355, 817, 869, 2863, 6041, 11459, 4151, 61115, 100689, 32917}}, +{14148, 18, 12416, {1, 3, 5, 11, 31, 11, 33, 105, 437, 767, 101, 2979, 3911, 4859, 15551, 23545, 10705, 6271}}, +{14149, 18, 12425, {1, 1, 7, 5, 1, 17, 109, 205, 409, 893, 889, 2181, 6167, 14273, 25389, 50279, 5497, 191755}}, +{14150, 18, 12428, {1, 3, 7, 15, 29, 11, 79, 101, 123, 399, 1159, 1263, 3513, 13169, 2199, 41057, 98639, 227107}}, +{14151, 18, 12446, {1, 1, 3, 11, 13, 31, 51, 119, 257, 829, 337, 3267, 7673, 15459, 26681, 4041, 89429, 198607}}, +{14152, 18, 12462, {1, 3, 7, 11, 23, 29, 49, 159, 327, 415, 857, 2411, 2429, 11839, 20263, 61813, 31811, 225443}}, +{14153, 18, 12476, {1, 1, 3, 11, 7, 61, 61, 119, 431, 299, 1815, 2857, 7605, 7517, 15137, 13727, 73021, 199325}}, +{14154, 18, 12496, {1, 1, 7, 3, 5, 19, 51, 19, 59, 637, 591, 2999, 5997, 13487, 807, 4887, 112189, 226597}}, +{14155, 18, 12511, {1, 1, 1, 13, 21, 5, 55, 167, 463, 679, 891, 3597, 785, 7717, 17495, 51681, 55957, 48561}}, +{14156, 18, 12518, {1, 1, 5, 5, 9, 55, 55, 143, 193, 839, 785, 1713, 7457, 11591, 15803, 2479, 124663, 72631}}, +{14157, 18, 12530, {1, 3, 5, 9, 21, 27, 109, 91, 483, 905, 1369, 2573, 7173, 13977, 20131, 17637, 127477, 66457}}, +{14158, 18, 12532, {1, 1, 5, 7, 31, 17, 43, 153, 505, 413, 867, 769, 6947, 10815, 18805, 5957, 27715, 24529}}, +{14159, 18, 12539, {1, 3, 5, 9, 13, 41, 107, 199, 69, 1019, 2037, 3221, 1081, 15051, 6713, 46379, 17223, 85453}}, +{14160, 18, 12567, {1, 3, 3, 7, 23, 51, 45, 133, 227, 373, 1815, 3795, 5567, 7153, 25003, 64951, 75377, 174115}}, +{14161, 18, 12597, {1, 1, 7, 15, 7, 51, 33, 239, 113, 133, 1213, 327, 4841, 11297, 1093, 40013, 60843, 99845}}, +{14162, 18, 12601, {1, 1, 1, 11, 3, 37, 33, 107, 275, 747, 1451, 1787, 5029, 3101, 11575, 36555, 46181, 221643}}, +{14163, 18, 12602, {1, 1, 3, 3, 29, 53, 57, 67, 209, 153, 345, 2897, 5657, 8907, 14159, 9899, 102487, 237721}}, +{14164, 18, 12622, {1, 3, 1, 7, 7, 59, 17, 151, 423, 903, 2035, 861, 1057, 2399, 28547, 3659, 29583, 100651}}, +{14165, 18, 12693, {1, 1, 5, 15, 27, 53, 101, 17, 405, 869, 1253, 1923, 999, 7787, 23621, 4351, 48611, 47129}}, +{14166, 18, 12707, {1, 3, 7, 11, 13, 43, 61, 161, 43, 831, 2021, 579, 5353, 12451, 32261, 39885, 90051, 34407}}, +{14167, 18, 12713, {1, 1, 1, 5, 25, 19, 37, 33, 37, 59, 1399, 1587, 1517, 4261, 31215, 33777, 50447, 87049}}, +{14168, 18, 12716, {1, 1, 3, 1, 19, 17, 113, 31, 385, 135, 143, 3997, 1365, 2625, 22591, 8887, 31353, 240603}}, +{14169, 18, 12734, {1, 3, 7, 11, 21, 7, 55, 171, 233, 1007, 1321, 2903, 2457, 3941, 19667, 49115, 99119, 185989}}, +{14170, 18, 12763, {1, 3, 7, 9, 3, 31, 83, 99, 303, 443, 99, 2285, 1491, 15897, 21735, 1575, 74449, 59615}}, +{14171, 18, 12765, {1, 3, 1, 5, 29, 37, 125, 213, 277, 115, 255, 137, 6071, 13561, 23871, 48129, 120211, 168603}}, +{14172, 18, 12799, {1, 1, 7, 3, 9, 21, 93, 239, 399, 21, 9, 409, 3403, 9517, 6421, 17121, 65697, 251985}}, +{14173, 18, 12843, {1, 1, 1, 15, 27, 35, 17, 113, 471, 357, 1703, 871, 1803, 3495, 27437, 48343, 86425, 155245}}, +{14174, 18, 12853, {1, 3, 7, 11, 19, 45, 51, 195, 345, 77, 1403, 2527, 3405, 14057, 31965, 17375, 35107, 246545}}, +{14175, 18, 12865, {1, 3, 5, 7, 7, 5, 115, 39, 51, 261, 1883, 1793, 3423, 3613, 20399, 27267, 99875, 119719}}, +{14176, 18, 12866, {1, 3, 3, 9, 21, 23, 65, 69, 261, 79, 151, 3387, 7789, 13275, 30135, 52229, 40787, 181297}}, +{14177, 18, 12919, {1, 1, 5, 13, 19, 49, 111, 125, 433, 99, 1673, 2091, 5447, 9377, 9085, 4659, 75121, 105809}}, +{14178, 18, 12926, {1, 3, 7, 1, 3, 27, 107, 109, 245, 431, 1727, 3269, 2099, 10777, 21843, 63377, 47343, 126269}}, +{14179, 18, 12936, {1, 3, 1, 15, 7, 17, 107, 153, 37, 287, 1873, 573, 5025, 3735, 32545, 35693, 38083, 89569}}, +{14180, 18, 12944, {1, 3, 1, 3, 9, 51, 99, 247, 45, 703, 1231, 1895, 6309, 12137, 14697, 25441, 129701, 198811}}, +{14181, 18, 12959, {1, 3, 3, 11, 5, 43, 1, 31, 359, 563, 1013, 3475, 3935, 7855, 10085, 15279, 25109, 225643}}, +{14182, 18, 12965, {1, 3, 3, 3, 9, 47, 49, 193, 223, 23, 391, 847, 7233, 14955, 10645, 50535, 5415, 119791}}, +{14183, 18, 12980, {1, 3, 1, 7, 3, 7, 57, 189, 219, 287, 401, 1767, 5585, 13983, 18485, 56725, 71905, 33779}}, +{14184, 18, 13004, {1, 3, 5, 15, 23, 17, 115, 223, 35, 263, 345, 3459, 857, 1467, 30255, 50127, 72985, 62509}}, +{14185, 18, 13016, {1, 3, 1, 9, 3, 27, 125, 43, 47, 183, 1421, 319, 4273, 10701, 21761, 23947, 22531, 10855}}, +{14186, 18, 13019, {1, 1, 3, 15, 13, 55, 77, 1, 295, 841, 1115, 4093, 7993, 13309, 24851, 35411, 105201, 188543}}, +{14187, 18, 13037, {1, 3, 3, 5, 19, 39, 101, 19, 225, 997, 1999, 407, 3147, 15393, 30379, 26221, 21685, 114167}}, +{14188, 18, 13055, {1, 3, 3, 3, 23, 15, 3, 57, 45, 381, 47, 1839, 5491, 6775, 18477, 51443, 757, 183111}}, +{14189, 18, 13063, {1, 3, 3, 7, 31, 27, 107, 229, 1, 977, 125, 1137, 4873, 14381, 8705, 64641, 38447, 239887}}, +{14190, 18, 13098, {1, 1, 3, 13, 9, 35, 49, 187, 459, 407, 1677, 2007, 1091, 12385, 8911, 38221, 108681, 171641}}, +{14191, 18, 13103, {1, 1, 3, 5, 7, 61, 115, 155, 437, 829, 1041, 2191, 1489, 1269, 27613, 48713, 40095, 206057}}, +{14192, 18, 13106, {1, 3, 7, 1, 23, 1, 17, 215, 363, 119, 845, 987, 5619, 5857, 11307, 63171, 76921, 201767}}, +{14193, 18, 13115, {1, 1, 7, 9, 29, 23, 63, 247, 37, 199, 103, 1215, 913, 12865, 24089, 35101, 117677, 261393}}, +{14194, 18, 13143, {1, 1, 1, 1, 3, 19, 7, 159, 183, 275, 467, 3629, 6575, 3351, 26955, 29247, 119007, 67895}}, +{14195, 18, 13144, {1, 1, 7, 13, 1, 33, 31, 211, 103, 495, 417, 817, 7129, 10169, 11445, 41511, 73101, 185357}}, +{14196, 18, 13153, {1, 1, 3, 5, 3, 27, 99, 1, 425, 295, 131, 835, 1833, 4547, 8777, 29489, 60303, 191437}}, +{14197, 18, 13171, {1, 1, 5, 5, 31, 63, 71, 189, 317, 61, 385, 891, 2257, 8281, 17325, 12207, 125847, 28259}}, +{14198, 18, 13184, {1, 1, 3, 3, 19, 19, 97, 83, 495, 551, 1339, 1699, 3047, 13623, 27731, 28999, 101225, 146139}}, +{14199, 18, 13193, {1, 3, 5, 7, 25, 9, 37, 73, 239, 47, 583, 3337, 1329, 79, 30109, 12451, 10163, 62943}}, +{14200, 18, 13199, {1, 1, 3, 1, 9, 1, 31, 181, 231, 441, 1241, 233, 6049, 2401, 9867, 58911, 20599, 26321}}, +{14201, 18, 13207, {1, 3, 1, 15, 21, 43, 21, 43, 273, 865, 79, 2069, 3375, 16069, 12355, 56355, 9735, 243719}}, +{14202, 18, 13217, {1, 3, 5, 11, 13, 21, 5, 73, 423, 761, 1947, 2935, 3931, 5573, 83, 58251, 113115, 245767}}, +{14203, 18, 13227, {1, 3, 7, 7, 15, 49, 73, 211, 309, 635, 1257, 2185, 7151, 11959, 26885, 45955, 103503, 161709}}, +{14204, 18, 13232, {1, 3, 1, 15, 31, 53, 29, 35, 343, 87, 1833, 2483, 1847, 4709, 6105, 21961, 106541, 46741}}, +{14205, 18, 13276, {1, 1, 7, 7, 21, 43, 41, 51, 29, 521, 713, 3693, 483, 11777, 10453, 43691, 97585, 133193}}, +{14206, 18, 13283, {1, 3, 3, 11, 5, 45, 3, 179, 183, 255, 1291, 1795, 5721, 10911, 18395, 64349, 23141, 99481}}, +{14207, 18, 13307, {1, 1, 1, 5, 5, 25, 61, 169, 475, 953, 617, 559, 5945, 16377, 30063, 30079, 83305, 81745}}, +{14208, 18, 13317, {1, 1, 5, 11, 29, 59, 113, 37, 153, 807, 135, 2639, 4535, 7079, 6387, 63523, 89669, 198803}}, +{14209, 18, 13330, {1, 1, 7, 7, 19, 23, 71, 51, 165, 733, 1427, 2473, 331, 5027, 9299, 20617, 126775, 91619}}, +{14210, 18, 13345, {1, 3, 5, 7, 31, 35, 117, 235, 29, 677, 1243, 281, 6287, 535, 4783, 37781, 130929, 14193}}, +{14211, 18, 13363, {1, 1, 5, 3, 25, 1, 29, 109, 289, 631, 41, 361, 5537, 9657, 7475, 63749, 50325, 169791}}, +{14212, 18, 13387, {1, 3, 3, 15, 21, 53, 85, 43, 341, 907, 475, 3257, 2541, 10397, 30847, 63681, 121427, 192135}}, +{14213, 18, 13426, {1, 1, 1, 1, 9, 59, 59, 233, 335, 345, 1749, 4007, 1833, 7789, 21015, 48939, 15967, 201321}}, +{14214, 18, 13428, {1, 1, 1, 5, 11, 9, 101, 243, 391, 1003, 1019, 311, 3707, 10223, 21627, 8237, 53861, 159785}}, +{14215, 18, 13431, {1, 3, 7, 15, 5, 3, 109, 197, 507, 947, 833, 1161, 4021, 5575, 8081, 45381, 112597, 70407}}, +{14216, 18, 13489, {1, 1, 3, 1, 7, 63, 63, 53, 481, 1003, 43, 2503, 2303, 12593, 21403, 2965, 5377, 91491}}, +{14217, 18, 13501, {1, 1, 1, 1, 29, 45, 49, 73, 253, 197, 1245, 1509, 4747, 6207, 28321, 59193, 112687, 83719}}, +{14218, 18, 13533, {1, 1, 7, 3, 11, 51, 23, 83, 185, 643, 1427, 227, 2261, 12521, 27033, 5129, 53111, 34975}}, +{14219, 18, 13589, {1, 1, 7, 3, 5, 41, 55, 175, 447, 603, 723, 2141, 1189, 4921, 16905, 2463, 83641, 247241}}, +{14220, 18, 13600, {1, 3, 3, 13, 5, 11, 95, 59, 391, 319, 1675, 329, 7559, 11585, 28905, 27843, 106667, 15531}}, +{14221, 18, 13603, {1, 3, 3, 3, 27, 17, 103, 115, 447, 657, 267, 2541, 665, 7819, 4155, 32191, 60999, 48737}}, +{14222, 18, 13623, {1, 1, 5, 7, 7, 49, 87, 171, 457, 149, 1699, 4081, 3913, 7889, 29517, 3339, 33139, 8925}}, +{14223, 18, 13665, {1, 1, 1, 9, 11, 51, 87, 115, 429, 505, 1665, 2361, 5811, 1621, 12727, 33703, 52255, 93835}}, +{14224, 18, 13672, {1, 3, 3, 5, 27, 11, 35, 49, 281, 607, 1791, 4065, 5103, 5253, 975, 20353, 38253, 139363}}, +{14225, 18, 13675, {1, 1, 5, 9, 29, 15, 37, 141, 445, 751, 1219, 2217, 7207, 14981, 21113, 3313, 107127, 135567}}, +{14226, 18, 13708, {1, 3, 3, 15, 1, 41, 23, 27, 167, 609, 913, 631, 923, 6939, 9793, 57869, 126577, 145271}}, +{14227, 18, 13713, {1, 1, 3, 7, 27, 47, 127, 5, 213, 575, 559, 2541, 3457, 2903, 19529, 53395, 105353, 212607}}, +{14228, 18, 13720, {1, 3, 1, 13, 27, 41, 31, 111, 371, 1019, 241, 2075, 2571, 10739, 28163, 16093, 41127, 69783}}, +{14229, 18, 13730, {1, 1, 5, 1, 21, 9, 15, 141, 287, 675, 1721, 2291, 6587, 7503, 6363, 9109, 33547, 259627}}, +{14230, 18, 13735, {1, 3, 7, 3, 3, 53, 7, 153, 183, 761, 191, 3735, 2619, 11153, 19601, 33855, 82345, 72755}}, +{14231, 18, 13767, {1, 3, 1, 9, 19, 21, 41, 105, 281, 833, 981, 2733, 7179, 14691, 18365, 56283, 53719, 191601}}, +{14232, 18, 13773, {1, 1, 7, 11, 23, 1, 55, 213, 105, 517, 809, 4087, 825, 7011, 15701, 54047, 123831, 49833}}, +{14233, 18, 13792, {1, 1, 7, 13, 27, 9, 111, 57, 357, 95, 1489, 887, 5273, 2833, 8757, 9371, 44637, 94939}}, +{14234, 18, 13843, {1, 1, 3, 5, 1, 17, 43, 31, 509, 353, 401, 1077, 7567, 9657, 15065, 32017, 8491, 214477}}, +{14235, 18, 13891, {1, 1, 1, 15, 7, 59, 41, 99, 101, 845, 1479, 2153, 4281, 12839, 237, 54095, 125873, 57165}}, +{14236, 18, 13946, {1, 3, 7, 13, 5, 17, 1, 249, 309, 351, 709, 3943, 7775, 6449, 26611, 54019, 121015, 213535}}, +{14237, 18, 13967, {1, 1, 1, 5, 7, 25, 33, 149, 291, 777, 161, 2729, 117, 4999, 16781, 23383, 85161, 71689}}, +{14238, 18, 13976, {1, 1, 3, 11, 5, 63, 119, 165, 45, 135, 1723, 811, 1259, 11055, 28625, 37559, 128401, 100715}}, +{14239, 18, 14017, {1, 3, 7, 1, 1, 39, 11, 255, 423, 289, 1359, 2827, 4637, 4089, 26659, 58701, 117403, 133971}}, +{14240, 18, 14030, {1, 1, 7, 1, 25, 9, 127, 121, 147, 831, 17, 3521, 1535, 10931, 17305, 56671, 22425, 157341}}, +{14241, 18, 14041, {1, 3, 1, 15, 5, 55, 95, 95, 169, 497, 739, 2031, 339, 13461, 20619, 24553, 81805, 90789}}, +{14242, 18, 14054, {1, 1, 7, 7, 7, 19, 15, 203, 287, 673, 1033, 3857, 2761, 10835, 11039, 62329, 37893, 6119}}, +{14243, 18, 14058, {1, 1, 3, 11, 19, 35, 55, 9, 399, 443, 583, 89, 2387, 747, 9551, 9907, 96871, 175457}}, +{14244, 18, 14060, {1, 1, 3, 1, 11, 57, 121, 89, 491, 133, 545, 683, 5751, 839, 25975, 44725, 59863, 142671}}, +{14245, 18, 14063, {1, 1, 3, 1, 23, 1, 111, 177, 1, 103, 1933, 2783, 6857, 51, 14547, 5945, 14757, 39783}}, +{14246, 18, 14078, {1, 3, 7, 13, 25, 13, 51, 247, 325, 361, 1225, 15, 1929, 1729, 25293, 59495, 82111, 101809}}, +{14247, 18, 14080, {1, 3, 3, 1, 19, 37, 67, 85, 105, 589, 1273, 2995, 8017, 1613, 22189, 2549, 22671, 72813}}, +{14248, 18, 14089, {1, 3, 7, 9, 15, 41, 25, 43, 411, 663, 387, 2861, 3627, 5839, 733, 53479, 76241, 116763}}, +{14249, 18, 14131, {1, 3, 3, 3, 17, 5, 73, 153, 133, 247, 881, 2853, 6059, 2259, 10181, 63251, 107089, 22579}}, +{14250, 18, 14134, {1, 3, 1, 5, 11, 15, 17, 235, 23, 15, 521, 235, 4137, 12705, 24775, 18197, 56295, 28035}}, +{14251, 18, 14137, {1, 3, 5, 5, 13, 9, 77, 69, 19, 755, 1663, 1499, 1049, 12935, 28835, 55413, 71511, 221223}}, +{14252, 18, 14188, {1, 1, 1, 1, 27, 31, 21, 39, 197, 519, 1621, 3703, 2541, 8865, 21947, 53605, 114551, 205697}}, +{14253, 18, 14215, {1, 1, 1, 13, 11, 53, 41, 245, 495, 275, 385, 3071, 1913, 11135, 8571, 58551, 39049, 5459}}, +{14254, 18, 14222, {1, 3, 5, 5, 11, 63, 25, 173, 57, 441, 1749, 79, 3191, 7733, 13111, 23453, 118399, 101845}}, +{14255, 18, 14249, {1, 1, 3, 11, 29, 25, 119, 39, 65, 623, 517, 1325, 5981, 8381, 32031, 25585, 105537, 214241}}, +{14256, 18, 14292, {1, 3, 5, 9, 21, 43, 13, 69, 109, 311, 1893, 1941, 2491, 7815, 4067, 56749, 33761, 191145}}, +{14257, 18, 14320, {1, 1, 1, 7, 9, 5, 123, 149, 65, 729, 1967, 3089, 3757, 2333, 24587, 36047, 118105, 146277}}, +{14258, 18, 14339, {1, 3, 7, 13, 9, 35, 39, 219, 161, 93, 275, 3619, 353, 14595, 24673, 54753, 117175, 81891}}, +{14259, 18, 14346, {1, 3, 3, 13, 15, 61, 95, 135, 271, 595, 1103, 877, 747, 2535, 7733, 25509, 65673, 62089}}, +{14260, 18, 14353, {1, 3, 3, 5, 21, 21, 67, 5, 373, 377, 61, 2337, 489, 5801, 23203, 42377, 7801, 178095}}, +{14261, 18, 14365, {1, 1, 7, 5, 25, 17, 61, 133, 181, 261, 1627, 1615, 6851, 4763, 30353, 53349, 7545, 66733}}, +{14262, 18, 14384, {1, 3, 5, 7, 29, 3, 85, 231, 121, 669, 1925, 403, 777, 10605, 24125, 60819, 8253, 81209}}, +{14263, 18, 14414, {1, 1, 5, 3, 5, 5, 1, 53, 9, 445, 1339, 2643, 5527, 13757, 9409, 31993, 80845, 97863}}, +{14264, 18, 14428, {1, 1, 7, 13, 29, 49, 97, 89, 319, 349, 1739, 3615, 1113, 11791, 17429, 37195, 1159, 32211}}, +{14265, 18, 14435, {1, 3, 5, 11, 9, 61, 109, 167, 119, 499, 1157, 3615, 5773, 8839, 27915, 47837, 14945, 187225}}, +{14266, 18, 14483, {1, 1, 5, 1, 9, 3, 7, 179, 323, 279, 43, 1337, 4813, 9917, 2033, 34657, 130769, 208089}}, +{14267, 18, 14486, {1, 1, 3, 1, 31, 57, 57, 73, 21, 661, 1861, 1661, 7619, 12155, 23123, 49751, 130697, 74143}}, +{14268, 18, 14506, {1, 3, 3, 13, 11, 61, 95, 75, 227, 491, 463, 597, 2721, 12323, 26195, 53657, 44413, 68965}}, +{14269, 18, 14513, {1, 1, 7, 11, 5, 51, 103, 123, 203, 911, 203, 1641, 7009, 9479, 303, 37649, 32751, 172777}}, +{14270, 18, 14520, {1, 1, 3, 7, 11, 59, 111, 5, 271, 863, 269, 3457, 489, 10877, 8645, 62567, 24893, 201587}}, +{14271, 18, 14526, {1, 1, 5, 7, 29, 23, 127, 151, 371, 121, 1103, 3951, 3107, 15563, 6243, 1631, 75065, 107681}}, +{14272, 18, 14528, {1, 1, 7, 15, 27, 45, 43, 83, 461, 673, 715, 3245, 313, 13731, 21981, 58853, 46569, 165463}}, +{14273, 18, 14533, {1, 1, 1, 9, 7, 53, 63, 43, 3, 187, 1325, 447, 5113, 4993, 21807, 24329, 4499, 30067}}, +{14274, 18, 14576, {1, 3, 1, 9, 21, 45, 111, 231, 407, 213, 1977, 2269, 2323, 4595, 30427, 54753, 95049, 195409}}, +{14275, 18, 14599, {1, 1, 1, 9, 29, 43, 89, 201, 499, 329, 847, 3831, 5403, 13001, 6037, 14371, 25805, 169237}}, +{14276, 18, 14613, {1, 1, 1, 11, 29, 61, 61, 203, 91, 189, 1603, 939, 6575, 3195, 4731, 44923, 33627, 21683}}, +{14277, 18, 14639, {1, 3, 3, 11, 7, 57, 93, 181, 479, 99, 681, 2875, 7649, 5555, 27087, 6841, 69859, 153689}}, +{14278, 18, 14644, {1, 1, 1, 9, 17, 45, 97, 47, 91, 879, 1463, 3041, 2917, 769, 13675, 26489, 88559, 120991}}, +{14279, 18, 14653, {1, 3, 7, 1, 11, 13, 43, 9, 483, 399, 793, 3965, 2375, 4957, 17747, 50905, 56987, 231265}}, +{14280, 18, 14662, {1, 3, 3, 13, 23, 45, 69, 67, 397, 437, 1993, 2569, 8035, 8531, 27623, 53567, 123189, 242515}}, +{14281, 18, 14695, {1, 1, 1, 3, 5, 9, 21, 227, 499, 205, 431, 3711, 5307, 15773, 11337, 6349, 123507, 95941}}, +{14282, 18, 14704, {1, 3, 7, 1, 13, 15, 101, 91, 209, 611, 537, 1427, 101, 2619, 10513, 44323, 92745, 249127}}, +{14283, 18, 14713, {1, 3, 3, 1, 21, 7, 79, 241, 273, 567, 605, 2371, 5427, 15147, 20139, 40987, 75551, 236213}}, +{14284, 18, 14725, {1, 1, 7, 11, 25, 19, 77, 209, 313, 663, 115, 3697, 3641, 12461, 9877, 18331, 70809, 78923}}, +{14285, 18, 14783, {1, 1, 5, 5, 29, 45, 7, 207, 1, 357, 1089, 3861, 4161, 3209, 27845, 20947, 68909, 125179}}, +{14286, 18, 14810, {1, 3, 1, 13, 17, 11, 27, 165, 179, 489, 1611, 2801, 2385, 2971, 6777, 16149, 59811, 151043}}, +{14287, 18, 14816, {1, 1, 3, 3, 17, 53, 121, 227, 7, 71, 1855, 639, 5135, 6349, 7163, 22997, 112551, 44167}}, +{14288, 18, 14822, {1, 3, 1, 11, 15, 9, 125, 213, 485, 291, 1781, 3621, 7529, 13353, 13903, 24151, 130253, 187097}}, +{14289, 18, 14828, {1, 3, 1, 3, 1, 61, 39, 157, 455, 945, 739, 589, 7259, 7149, 16455, 12649, 72003, 152419}}, +{14290, 18, 14883, {1, 1, 3, 3, 31, 23, 17, 255, 319, 907, 563, 2571, 2149, 15323, 20289, 46061, 32769, 184353}}, +{14291, 18, 14889, {1, 3, 7, 9, 21, 51, 27, 13, 495, 909, 2039, 1435, 4791, 10037, 30119, 3405, 22535, 42247}}, +{14292, 18, 14904, {1, 1, 3, 15, 11, 25, 123, 149, 185, 635, 473, 527, 433, 10373, 18205, 853, 94619, 202507}}, +{14293, 18, 14917, {1, 1, 7, 15, 7, 39, 7, 69, 157, 533, 369, 4031, 1335, 4279, 8049, 28491, 103753, 257477}}, +{14294, 18, 14927, {1, 3, 1, 15, 29, 51, 113, 77, 5, 961, 1863, 1477, 5009, 9519, 32029, 2367, 55705, 149597}}, +{14295, 18, 14941, {1, 3, 1, 5, 19, 43, 49, 107, 59, 693, 867, 3011, 2703, 3633, 24567, 52621, 35839, 134823}}, +{14296, 18, 14946, {1, 3, 3, 7, 19, 15, 81, 105, 23, 375, 451, 3017, 1263, 7589, 24453, 21885, 57651, 52613}}, +{14297, 18, 14952, {1, 1, 3, 7, 3, 59, 19, 1, 3, 243, 1891, 2041, 4707, 15557, 28885, 5959, 22517, 237131}}, +{14298, 18, 15010, {1, 3, 7, 11, 25, 33, 105, 15, 245, 247, 1357, 1255, 7463, 4815, 13727, 41687, 112425, 58827}}, +{14299, 18, 15012, {1, 1, 7, 1, 19, 31, 37, 201, 217, 127, 927, 763, 6359, 9951, 2581, 49171, 104305, 215923}}, +{14300, 18, 15033, {1, 1, 7, 7, 13, 9, 9, 139, 363, 85, 1703, 3615, 2545, 15991, 20677, 12109, 54951, 2171}}, +{14301, 18, 15041, {1, 3, 1, 13, 27, 3, 37, 195, 185, 829, 815, 1621, 2917, 8643, 29071, 45523, 38475, 243505}}, +{14302, 18, 15047, {1, 1, 7, 3, 19, 29, 91, 85, 331, 231, 1609, 2583, 1091, 4191, 29929, 55377, 105077, 168425}}, +{14303, 18, 15066, {1, 1, 5, 3, 29, 35, 3, 61, 389, 339, 705, 473, 2075, 7373, 9699, 38809, 60415, 66423}}, +{14304, 18, 15068, {1, 3, 1, 5, 17, 25, 17, 37, 335, 787, 1891, 1861, 4325, 12721, 9675, 13671, 18655, 235443}}, +{14305, 18, 15072, {1, 3, 3, 5, 23, 13, 83, 191, 263, 325, 1847, 1717, 7089, 15709, 26567, 44489, 66523, 3107}}, +{14306, 18, 15095, {1, 3, 7, 7, 25, 29, 63, 55, 9, 481, 899, 669, 5481, 11227, 1637, 17017, 124509, 102775}}, +{14307, 18, 15150, {1, 1, 1, 5, 21, 41, 101, 93, 129, 1023, 561, 2969, 1525, 2929, 32729, 54513, 4359, 28745}}, +{14308, 18, 15152, {1, 1, 5, 13, 15, 13, 79, 9, 257, 535, 861, 2703, 6161, 6659, 10369, 7, 117467, 146651}}, +{14309, 18, 15175, {1, 1, 3, 13, 31, 11, 43, 95, 441, 921, 1323, 343, 5339, 13149, 19643, 24253, 32055, 180327}}, +{14310, 18, 15176, {1, 1, 5, 15, 11, 27, 109, 149, 255, 1021, 249, 1913, 5213, 301, 9939, 49779, 26097, 66007}}, +{14311, 18, 15210, {1, 3, 1, 11, 15, 33, 53, 159, 433, 167, 1107, 3577, 6231, 8309, 28125, 55381, 127309, 14459}}, +{14312, 18, 15245, {1, 3, 5, 9, 7, 3, 45, 139, 133, 359, 537, 805, 3931, 5181, 915, 63317, 86227, 231573}}, +{14313, 18, 15258, {1, 1, 1, 3, 11, 31, 97, 127, 117, 151, 711, 2457, 2777, 3855, 21829, 7913, 30785, 141449}}, +{14314, 18, 15263, {1, 3, 7, 13, 11, 17, 65, 63, 289, 851, 1929, 4021, 105, 5207, 17085, 64119, 48659, 31687}}, +{14315, 18, 15264, {1, 1, 7, 11, 31, 57, 63, 251, 341, 727, 505, 1851, 783, 16191, 9335, 39421, 14793, 238215}}, +{14316, 18, 15279, {1, 3, 3, 11, 23, 13, 119, 195, 117, 579, 693, 3059, 2967, 12791, 26905, 28527, 13393, 11869}}, +{14317, 18, 15301, {1, 3, 7, 11, 23, 7, 61, 143, 409, 309, 651, 3321, 4027, 1351, 10339, 18451, 18447, 235665}}, +{14318, 18, 15306, {1, 1, 1, 9, 13, 21, 7, 65, 103, 789, 973, 475, 2831, 13337, 18989, 40573, 105375, 2221}}, +{14319, 18, 15313, {1, 3, 5, 15, 3, 59, 115, 61, 365, 653, 523, 3927, 8175, 6751, 32561, 55919, 64903, 139005}}, +{14320, 18, 15329, {1, 3, 3, 13, 1, 7, 51, 63, 179, 525, 1899, 373, 3797, 6329, 5539, 32669, 65903, 154993}}, +{14321, 18, 15341, {1, 3, 1, 1, 31, 53, 87, 39, 317, 71, 1899, 925, 4719, 11645, 27125, 50391, 116491, 219271}}, +{14322, 18, 15367, {1, 3, 7, 13, 7, 23, 1, 57, 333, 277, 893, 3245, 1417, 13115, 21835, 25879, 91305, 54691}}, +{14323, 18, 15368, {1, 3, 1, 11, 27, 5, 109, 69, 221, 453, 299, 517, 609, 11959, 27789, 33107, 46559, 121673}}, +{14324, 18, 15386, {1, 3, 5, 7, 27, 7, 119, 169, 129, 643, 173, 2479, 6163, 11159, 11897, 57153, 11347, 135337}}, +{14325, 18, 15404, {1, 1, 5, 13, 13, 59, 21, 13, 429, 601, 267, 1635, 2579, 12053, 31583, 14847, 78187, 217099}}, +{14326, 18, 15422, {1, 3, 5, 9, 5, 3, 125, 159, 411, 15, 479, 933, 6307, 9707, 23491, 6501, 70993, 161365}}, +{14327, 18, 15436, {1, 1, 7, 7, 3, 33, 87, 177, 283, 825, 1935, 1545, 7071, 9975, 1795, 48277, 115725, 173439}}, +{14328, 18, 15444, {1, 3, 3, 9, 19, 63, 17, 119, 13, 337, 2021, 2221, 3237, 3253, 18661, 15479, 59377, 76095}}, +{14329, 18, 15467, {1, 1, 1, 11, 17, 15, 93, 249, 333, 171, 575, 3251, 5413, 3587, 22807, 29273, 56461, 97801}}, +{14330, 18, 15498, {1, 3, 3, 11, 13, 7, 27, 167, 389, 693, 1473, 555, 1603, 3167, 3985, 3841, 100283, 195253}}, +{14331, 18, 15503, {1, 3, 7, 1, 23, 7, 89, 231, 85, 797, 1935, 2557, 4365, 2221, 21069, 44055, 77723, 226547}}, +{14332, 18, 15528, {1, 3, 1, 5, 5, 49, 47, 187, 71, 903, 1279, 3219, 8041, 10915, 5249, 17755, 80077, 3479}}, +{14333, 18, 15534, {1, 1, 3, 13, 5, 53, 35, 25, 183, 791, 1651, 1041, 1221, 2171, 26221, 20649, 126851, 163047}}, +{14334, 18, 15536, {1, 1, 5, 9, 29, 3, 75, 31, 385, 293, 171, 3023, 2075, 14541, 30879, 13895, 67637, 87831}}, +{14335, 18, 15559, {1, 3, 5, 7, 3, 41, 115, 213, 23, 895, 361, 27, 5839, 12447, 13829, 29183, 106539, 134891}}, +{14336, 18, 15565, {1, 3, 7, 7, 11, 39, 99, 229, 195, 633, 837, 3697, 1161, 15119, 20831, 27371, 92195, 26993}}, +{14337, 18, 15583, {1, 1, 5, 9, 25, 17, 5, 169, 475, 73, 1451, 2057, 3671, 12801, 9671, 57427, 25321, 154969}}, +{14338, 18, 15599, {1, 3, 5, 11, 25, 23, 9, 145, 341, 339, 1855, 981, 8041, 569, 19851, 29521, 21767, 136505}}, +{14339, 18, 15602, {1, 1, 1, 1, 3, 9, 101, 253, 475, 529, 387, 1893, 5509, 5763, 29555, 13307, 30001, 105057}}, +{14340, 18, 15616, {1, 3, 3, 5, 17, 23, 127, 161, 375, 817, 1229, 1197, 1097, 3053, 14351, 21213, 12501, 137397}}, +{14341, 18, 15626, {1, 1, 1, 9, 7, 1, 57, 185, 281, 65, 181, 2483, 4739, 4353, 29837, 40613, 32489, 23317}}, +{14342, 18, 15667, {1, 1, 3, 9, 5, 35, 43, 191, 409, 95, 537, 2465, 515, 1633, 20887, 32535, 43863, 199885}}, +{14343, 18, 15684, {1, 3, 3, 13, 19, 49, 41, 51, 3, 979, 1623, 3323, 7711, 3707, 29417, 58011, 114467, 227499}}, +{14344, 18, 15711, {1, 1, 1, 11, 21, 7, 23, 51, 39, 25, 1971, 213, 369, 9149, 12845, 57631, 16597, 22031}}, +{14345, 18, 15745, {1, 3, 3, 11, 27, 59, 71, 37, 461, 353, 2041, 1961, 4643, 6953, 18129, 60337, 82769, 20819}}, +{14346, 18, 15763, {1, 1, 3, 11, 25, 19, 17, 5, 503, 227, 2021, 733, 2867, 201, 25779, 49811, 81167, 95437}}, +{14347, 18, 15779, {1, 3, 3, 15, 7, 53, 35, 143, 27, 937, 215, 3249, 4151, 1933, 25267, 18047, 35131, 25903}}, +{14348, 18, 15811, {1, 1, 1, 3, 3, 39, 71, 99, 291, 97, 1389, 3803, 2881, 9765, 11277, 20071, 15133, 37349}}, +{14349, 18, 15814, {1, 1, 7, 11, 9, 55, 1, 241, 391, 935, 1555, 3585, 1807, 10057, 2633, 14023, 14409, 199643}}, +{14350, 18, 15817, {1, 3, 3, 3, 19, 9, 57, 237, 107, 869, 147, 2673, 5271, 8999, 20723, 63017, 75989, 20131}}, +{14351, 18, 15853, {1, 3, 3, 3, 25, 11, 61, 77, 119, 657, 2011, 3489, 7835, 4473, 2531, 65231, 104797, 161443}}, +{14352, 18, 15881, {1, 1, 5, 5, 11, 63, 25, 93, 181, 797, 367, 3357, 5291, 5087, 28661, 34093, 75195, 165345}}, +{14353, 18, 15890, {1, 1, 1, 7, 17, 1, 77, 149, 59, 633, 1551, 1305, 7677, 8671, 17457, 64037, 104451, 112387}}, +{14354, 18, 15899, {1, 3, 1, 1, 15, 33, 37, 187, 247, 261, 1101, 3451, 7747, 12197, 22465, 30589, 12573, 204517}}, +{14355, 18, 15905, {1, 3, 3, 11, 3, 39, 71, 139, 145, 139, 101, 2815, 3457, 14033, 4531, 42133, 54147, 71259}}, +{14356, 18, 15915, {1, 3, 1, 1, 23, 37, 19, 113, 443, 57, 439, 2929, 3835, 5431, 11189, 4539, 72531, 124453}}, +{14357, 18, 15937, {1, 3, 3, 5, 3, 17, 21, 217, 41, 665, 1565, 3753, 5289, 9789, 29205, 16453, 88979, 171387}}, +{14358, 18, 15950, {1, 3, 3, 13, 27, 15, 15, 223, 231, 311, 311, 1143, 8113, 13863, 3191, 51103, 109437, 245557}}, +{14359, 18, 16002, {1, 1, 3, 13, 11, 59, 7, 191, 477, 683, 353, 2845, 7623, 9035, 453, 48429, 40111, 162859}}, +{14360, 18, 16041, {1, 3, 7, 5, 29, 37, 55, 59, 259, 851, 861, 1951, 7847, 8537, 30107, 2999, 59137, 155615}}, +{14361, 18, 16042, {1, 3, 7, 11, 3, 13, 73, 147, 393, 327, 1289, 37, 795, 1413, 19215, 28345, 124301, 23135}}, +{14362, 18, 16052, {1, 1, 5, 11, 29, 17, 107, 69, 433, 845, 1351, 2551, 807, 15315, 15511, 39475, 84879, 129405}}, +{14363, 18, 16121, {1, 3, 3, 9, 15, 3, 23, 5, 211, 871, 689, 2319, 39, 2215, 25171, 43169, 113715, 186049}}, +{14364, 18, 16132, {1, 1, 3, 7, 3, 37, 23, 9, 453, 649, 373, 1273, 1539, 6221, 27469, 44675, 13513, 131179}}, +{14365, 18, 16136, {1, 3, 1, 5, 29, 41, 119, 133, 37, 761, 1193, 2311, 4945, 7337, 17027, 12873, 51489, 160633}}, +{14366, 18, 16150, {1, 3, 1, 3, 21, 63, 75, 115, 105, 223, 933, 445, 5789, 4611, 13609, 2873, 16679, 222895}}, +{14367, 18, 16153, {1, 1, 7, 5, 17, 13, 15, 217, 193, 863, 1319, 2337, 3055, 14879, 8669, 5705, 42965, 166443}}, +{14368, 18, 16180, {1, 1, 7, 11, 3, 55, 57, 131, 289, 843, 1693, 881, 6737, 5557, 18365, 12393, 38479, 189177}}, +{14369, 18, 16190, {1, 1, 3, 5, 3, 59, 13, 123, 397, 479, 79, 569, 535, 2529, 26225, 43475, 76925, 187763}}, +{14370, 18, 16192, {1, 1, 5, 15, 15, 37, 1, 97, 489, 331, 1499, 1759, 3621, 5373, 1425, 6477, 45805, 235511}}, +{14371, 18, 16195, {1, 3, 1, 3, 7, 51, 55, 157, 61, 751, 1881, 4093, 2557, 11129, 23239, 16335, 8949, 205007}}, +{14372, 18, 16210, {1, 1, 1, 1, 13, 21, 67, 141, 85, 1023, 223, 747, 1951, 10279, 6399, 49887, 100437, 76757}}, +{14373, 18, 16225, {1, 1, 3, 11, 1, 51, 29, 33, 173, 769, 879, 2883, 417, 15031, 13377, 63919, 118803, 87969}}, +{14374, 18, 16256, {1, 1, 1, 5, 1, 1, 17, 153, 81, 691, 961, 3399, 5005, 10617, 18467, 13775, 34905, 241349}}, +{14375, 18, 16266, {1, 1, 1, 13, 7, 37, 57, 187, 389, 575, 1827, 2017, 4541, 10513, 23409, 30945, 126855, 239657}}, +{14376, 18, 16274, {1, 1, 5, 5, 17, 41, 83, 177, 285, 695, 29, 1653, 953, 6377, 13571, 58663, 9265, 100759}}, +{14377, 18, 16302, {1, 3, 5, 3, 5, 13, 27, 153, 207, 699, 1805, 947, 979, 2719, 389, 61953, 16991, 160073}}, +{14378, 18, 16310, {1, 1, 7, 13, 17, 37, 113, 185, 239, 455, 1557, 3201, 1111, 4875, 23197, 41883, 70507, 255047}}, +{14379, 18, 16322, {1, 3, 5, 11, 9, 51, 47, 137, 413, 1015, 259, 1829, 6043, 11757, 22317, 15155, 107827, 171003}}, +{14380, 18, 16339, {1, 1, 1, 13, 27, 7, 49, 91, 285, 13, 2007, 3469, 1223, 2483, 16155, 8413, 10529, 224195}}, +{14381, 18, 16345, {1, 1, 7, 3, 9, 49, 119, 81, 331, 187, 1695, 1729, 533, 6359, 7053, 34665, 37541, 100225}}, +{14382, 18, 16348, {1, 3, 7, 1, 7, 35, 115, 91, 479, 515, 1249, 121, 2885, 16383, 1777, 44205, 86459, 255885}}, +{14383, 18, 16357, {1, 1, 7, 13, 13, 27, 11, 49, 221, 829, 1787, 2889, 3875, 1679, 25333, 1323, 9813, 189373}}, +{14384, 18, 16382, {1, 3, 7, 5, 31, 5, 117, 77, 209, 619, 191, 2969, 2221, 15339, 11461, 64201, 130461, 204467}}, +{14385, 18, 16402, {1, 3, 1, 1, 29, 5, 91, 31, 313, 901, 1501, 2837, 3615, 7765, 341, 13873, 21663, 260637}}, +{14386, 18, 16461, {1, 1, 1, 9, 1, 41, 97, 15, 141, 901, 1309, 3341, 4871, 16033, 12343, 1555, 94989, 78295}}, +{14387, 18, 16469, {1, 1, 7, 3, 3, 15, 1, 29, 445, 59, 475, 3033, 4227, 3219, 6093, 58953, 92179, 49343}}, +{14388, 18, 16474, {1, 1, 5, 3, 27, 25, 109, 13, 219, 983, 131, 2517, 1161, 16063, 32737, 6077, 91183, 37457}}, +{14389, 18, 16483, {1, 3, 3, 1, 3, 1, 85, 147, 17, 543, 1475, 3873, 3719, 2737, 30977, 15953, 66077, 258979}}, +{14390, 18, 16497, {1, 3, 5, 1, 29, 9, 21, 51, 5, 985, 1177, 3287, 2183, 7301, 13713, 53403, 38439, 195863}}, +{14391, 18, 16523, {1, 1, 7, 15, 31, 53, 47, 173, 477, 439, 751, 1019, 3371, 9319, 17995, 29029, 90657, 209277}}, +{14392, 18, 16534, {1, 1, 5, 5, 17, 5, 59, 115, 375, 231, 1891, 1321, 3639, 16117, 32639, 28793, 68213, 41091}}, +{14393, 18, 16550, {1, 3, 5, 11, 17, 15, 13, 11, 459, 767, 849, 1407, 6611, 6409, 21515, 63175, 127155, 171959}}, +{14394, 18, 16564, {1, 1, 5, 1, 17, 49, 61, 161, 399, 137, 845, 2673, 2431, 15343, 389, 42337, 23031, 94811}}, +{14395, 18, 16582, {1, 1, 1, 9, 21, 23, 75, 177, 351, 197, 1619, 2443, 6829, 3773, 16399, 31949, 44975, 221363}}, +{14396, 18, 16591, {1, 1, 3, 1, 11, 19, 103, 61, 135, 863, 1427, 2657, 4553, 1277, 20249, 3973, 25467, 18847}}, +{14397, 18, 16609, {1, 3, 3, 13, 17, 31, 19, 163, 323, 195, 603, 4069, 3181, 12069, 22117, 44229, 23585, 202785}}, +{14398, 18, 16642, {1, 1, 7, 5, 17, 3, 77, 111, 491, 829, 1375, 2829, 5599, 14057, 21387, 52345, 108281, 211285}}, +{14399, 18, 16648, {1, 3, 3, 1, 17, 43, 71, 13, 321, 393, 1803, 727, 5101, 13485, 8693, 60505, 13893, 3467}}, +{14400, 18, 16656, {1, 1, 5, 1, 23, 31, 121, 15, 215, 215, 1113, 3335, 7431, 4863, 31429, 49903, 59403, 60797}}, +{14401, 18, 16662, {1, 3, 3, 9, 21, 43, 61, 171, 361, 323, 1895, 3647, 729, 8809, 9351, 14573, 93593, 17485}}, +{14402, 18, 16665, {1, 3, 3, 7, 7, 19, 45, 247, 203, 757, 1941, 3753, 5317, 13239, 18945, 26173, 43929, 66889}}, +{14403, 18, 16678, {1, 1, 1, 15, 5, 17, 11, 21, 193, 941, 517, 191, 6067, 8403, 27339, 31035, 34767, 28675}}, +{14404, 18, 16701, {1, 3, 1, 7, 27, 59, 27, 7, 491, 551, 867, 3693, 391, 9799, 11051, 28347, 57555, 23079}}, +{14405, 18, 16713, {1, 3, 3, 1, 25, 21, 63, 253, 459, 603, 107, 1229, 1433, 4263, 24341, 20493, 40165, 254725}}, +{14406, 18, 16716, {1, 3, 5, 3, 9, 7, 63, 195, 19, 973, 47, 811, 2207, 3613, 8911, 17495, 62403, 77951}}, +{14407, 18, 16758, {1, 3, 5, 11, 5, 13, 83, 125, 467, 111, 1819, 3807, 4259, 2885, 29577, 13539, 69859, 97379}}, +{14408, 18, 16768, {1, 1, 5, 15, 5, 33, 109, 203, 129, 587, 9, 3025, 2839, 11405, 11257, 7779, 30311, 14015}}, +{14409, 18, 16797, {1, 1, 7, 15, 5, 47, 103, 199, 391, 61, 129, 3511, 1295, 15067, 23919, 2941, 120463, 21665}}, +{14410, 18, 16804, {1, 1, 5, 5, 7, 7, 125, 153, 365, 815, 1423, 4053, 875, 2405, 21291, 26785, 31371, 211045}}, +{14411, 18, 16811, {1, 3, 3, 9, 31, 47, 1, 247, 197, 1019, 985, 2277, 875, 3969, 15093, 15561, 110101, 156547}}, +{14412, 18, 16813, {1, 1, 3, 1, 9, 47, 71, 125, 17, 501, 1783, 2337, 483, 12719, 22453, 16701, 102639, 152955}}, +{14413, 18, 16881, {1, 1, 3, 11, 13, 31, 9, 63, 261, 257, 319, 1443, 5011, 9799, 18639, 53081, 56879, 102335}}, +{14414, 18, 16888, {1, 3, 3, 1, 5, 59, 127, 163, 323, 997, 1755, 1445, 2285, 4935, 22123, 815, 115131, 1009}}, +{14415, 18, 16893, {1, 1, 3, 11, 11, 43, 65, 127, 137, 583, 173, 2601, 5809, 15773, 16129, 2543, 68281, 96107}}, +{14416, 18, 16922, {1, 3, 5, 9, 25, 25, 95, 73, 313, 893, 1805, 2301, 5917, 15159, 8637, 25505, 66053, 31627}}, +{14417, 18, 16937, {1, 1, 3, 7, 25, 59, 55, 13, 297, 849, 187, 359, 3745, 12655, 29293, 58581, 89799, 195867}}, +{14418, 18, 16958, {1, 1, 5, 13, 19, 5, 51, 85, 259, 59, 1003, 2991, 6605, 8405, 5221, 45607, 130729, 99641}}, +{14419, 18, 16965, {1, 3, 5, 5, 25, 61, 51, 211, 143, 233, 1465, 1165, 1769, 3021, 9491, 30335, 34787, 142605}}, +{14420, 18, 16978, {1, 3, 5, 13, 23, 9, 89, 249, 71, 179, 841, 3375, 21, 6757, 27495, 7531, 123725, 253855}}, +{14421, 18, 16980, {1, 3, 7, 13, 9, 33, 109, 103, 475, 781, 493, 2079, 6529, 13443, 2181, 26925, 31345, 142863}}, +{14422, 18, 16989, {1, 1, 7, 9, 15, 41, 17, 85, 503, 839, 533, 731, 2735, 12949, 11395, 22539, 130147, 40045}}, +{14423, 18, 17011, {1, 1, 5, 9, 25, 21, 29, 79, 405, 383, 1271, 385, 7629, 3889, 5319, 57739, 51411, 50895}}, +{14424, 18, 17014, {1, 3, 7, 5, 13, 35, 17, 97, 261, 437, 951, 1403, 2407, 11447, 13565, 10165, 100001, 253093}}, +{14425, 18, 17023, {1, 3, 1, 3, 11, 39, 31, 187, 473, 565, 351, 4007, 2621, 14463, 9009, 40679, 81069, 51131}}, +{14426, 18, 17063, {1, 3, 5, 5, 9, 17, 11, 151, 59, 249, 281, 203, 6423, 4977, 18557, 65383, 88361, 87437}}, +{14427, 18, 17081, {1, 3, 5, 7, 15, 25, 3, 157, 179, 439, 1627, 3493, 6641, 6403, 2361, 3613, 33817, 22585}}, +{14428, 18, 17084, {1, 3, 5, 1, 13, 63, 77, 195, 233, 175, 631, 1021, 637, 13231, 26187, 131, 127379, 256183}}, +{14429, 18, 17099, {1, 1, 7, 9, 5, 13, 15, 187, 55, 37, 1113, 2191, 3439, 1073, 26239, 3049, 19807, 250869}}, +{14430, 18, 17126, {1, 1, 7, 3, 13, 15, 77, 47, 317, 285, 753, 2419, 7795, 11423, 6043, 2913, 42819, 50603}}, +{14431, 18, 17129, {1, 3, 7, 15, 21, 17, 63, 71, 97, 535, 1085, 1531, 5165, 13717, 1537, 26797, 111787, 189403}}, +{14432, 18, 17138, {1, 1, 1, 7, 9, 3, 43, 209, 385, 851, 1411, 4039, 3259, 13387, 24505, 33325, 83741, 241255}}, +{14433, 18, 17164, {1, 1, 1, 1, 3, 41, 13, 43, 303, 445, 1097, 3517, 7753, 8459, 3017, 16385, 13775, 248655}}, +{14434, 18, 17170, {1, 3, 5, 15, 5, 61, 31, 57, 269, 931, 1071, 1137, 6181, 13005, 18493, 1345, 105203, 117309}}, +{14435, 18, 17203, {1, 1, 3, 13, 21, 29, 3, 179, 367, 155, 993, 117, 5849, 10181, 1175, 55769, 16025, 67669}}, +{14436, 18, 17206, {1, 1, 3, 9, 11, 9, 33, 131, 181, 1003, 253, 2759, 1877, 11851, 22959, 37823, 82737, 110329}}, +{14437, 18, 17224, {1, 1, 1, 5, 7, 5, 107, 191, 385, 129, 567, 2585, 7295, 3005, 28185, 7095, 54851, 257587}}, +{14438, 18, 17305, {1, 3, 7, 9, 21, 61, 103, 155, 503, 307, 993, 683, 1491, 14895, 9213, 34535, 17765, 12457}}, +{14439, 18, 17322, {1, 3, 3, 1, 7, 47, 27, 173, 97, 889, 853, 3995, 4943, 71, 20479, 16741, 35479, 35307}}, +{14440, 18, 17327, {1, 1, 5, 3, 15, 35, 29, 207, 117, 267, 1835, 2565, 1199, 3813, 13999, 10537, 129915, 210651}}, +{14441, 18, 17332, {1, 3, 3, 13, 5, 57, 77, 193, 11, 279, 745, 2511, 5775, 13527, 26329, 16303, 111511, 70025}}, +{14442, 18, 17342, {1, 3, 7, 9, 17, 1, 73, 1, 125, 939, 863, 2763, 1951, 3191, 5567, 59729, 32149, 149417}}, +{14443, 18, 17387, {1, 3, 3, 1, 19, 25, 119, 63, 101, 33, 77, 3587, 6367, 8275, 24957, 32087, 7031, 217291}}, +{14444, 18, 17410, {1, 1, 1, 13, 7, 25, 75, 161, 143, 353, 973, 2957, 749, 13519, 11295, 34287, 60727, 83731}}, +{14445, 18, 17419, {1, 3, 7, 7, 17, 9, 59, 45, 97, 619, 895, 1955, 8143, 2507, 4673, 39425, 35679, 152069}}, +{14446, 18, 17429, {1, 1, 5, 9, 31, 19, 115, 177, 349, 877, 525, 305, 2187, 12195, 13529, 61641, 102293, 69941}}, +{14447, 18, 17439, {1, 3, 7, 11, 23, 59, 15, 243, 511, 465, 905, 1979, 2263, 2105, 9009, 3691, 22241, 97765}}, +{14448, 18, 17440, {1, 1, 7, 9, 29, 13, 3, 207, 51, 405, 1703, 1923, 1781, 14723, 8103, 10707, 64799, 99349}}, +{14449, 18, 17457, {1, 1, 7, 5, 23, 29, 51, 63, 489, 273, 1577, 2807, 5427, 9949, 1929, 19791, 109405, 241465}}, +{14450, 18, 17458, {1, 3, 3, 7, 29, 61, 103, 55, 29, 17, 1081, 21, 5791, 9803, 19385, 45091, 118069, 61383}}, +{14451, 18, 17469, {1, 3, 1, 7, 3, 15, 75, 47, 475, 87, 1541, 3933, 1081, 12361, 29213, 64333, 7229, 226909}}, +{14452, 18, 17477, {1, 1, 5, 7, 21, 45, 19, 137, 351, 229, 1773, 1829, 5025, 12661, 18745, 54917, 10419, 176667}}, +{14453, 18, 17512, {1, 1, 1, 3, 9, 37, 81, 25, 11, 327, 1653, 2751, 2823, 12575, 30287, 46265, 17299, 93595}}, +{14454, 18, 17518, {1, 1, 1, 3, 15, 17, 43, 163, 223, 731, 631, 2813, 1723, 6089, 14245, 64339, 114291, 40331}}, +{14455, 18, 17532, {1, 3, 7, 5, 21, 45, 41, 17, 495, 61, 1369, 369, 4493, 12071, 3813, 41455, 62561, 174399}}, +{14456, 18, 17536, {1, 1, 1, 5, 9, 41, 95, 113, 109, 519, 1683, 2265, 2875, 12649, 15575, 53511, 100707, 224035}}, +{14457, 18, 17559, {1, 3, 7, 9, 29, 7, 109, 109, 283, 111, 1167, 3679, 369, 11597, 19459, 759, 128667, 172427}}, +{14458, 18, 17569, {1, 1, 1, 3, 13, 31, 97, 31, 477, 507, 835, 465, 7501, 2485, 19485, 51055, 56363, 229341}}, +{14459, 18, 17641, {1, 3, 5, 11, 3, 23, 67, 173, 99, 963, 977, 1949, 1263, 2427, 15181, 23571, 23509, 26481}}, +{14460, 18, 17667, {1, 3, 3, 1, 29, 3, 35, 191, 197, 277, 397, 205, 5945, 1069, 31789, 3551, 101901, 222609}}, +{14461, 18, 17674, {1, 1, 5, 9, 11, 23, 109, 81, 295, 7, 755, 2345, 2823, 11133, 22623, 14515, 57059, 231099}}, +{14462, 18, 17693, {1, 3, 1, 3, 21, 29, 37, 71, 111, 737, 1881, 871, 5843, 5889, 14615, 49909, 7105, 48335}}, +{14463, 18, 17710, {1, 3, 1, 15, 23, 31, 87, 181, 483, 225, 2003, 365, 1569, 11153, 14673, 30085, 56497, 203723}}, +{14464, 18, 17729, {1, 1, 3, 15, 17, 47, 99, 167, 485, 431, 1481, 2225, 1537, 8513, 19407, 34165, 27289, 84393}}, +{14465, 18, 17754, {1, 3, 7, 3, 11, 17, 115, 205, 403, 831, 1869, 3623, 5215, 15511, 11297, 25181, 127491, 155887}}, +{14466, 18, 17763, {1, 1, 7, 5, 31, 37, 23, 21, 403, 529, 1185, 3363, 6319, 2435, 2687, 39407, 121891, 133047}}, +{14467, 18, 17780, {1, 3, 7, 1, 21, 31, 43, 61, 371, 987, 1783, 3811, 6227, 13199, 31799, 28863, 49329, 73947}}, +{14468, 18, 17784, {1, 3, 1, 1, 13, 1, 5, 99, 35, 793, 483, 2573, 2249, 6345, 12793, 61917, 49419, 58011}}, +{14469, 18, 17790, {1, 3, 1, 15, 3, 45, 35, 189, 67, 447, 1455, 3575, 8191, 7907, 21559, 38211, 26945, 240679}}, +{14470, 18, 17830, {1, 1, 3, 11, 27, 49, 9, 109, 93, 473, 1465, 271, 7389, 47, 8101, 6219, 17437, 220461}}, +{14471, 18, 17851, {1, 1, 7, 3, 23, 31, 75, 61, 375, 901, 1329, 2603, 3469, 12957, 23949, 62183, 126763, 68965}}, +{14472, 18, 17868, {1, 1, 7, 9, 13, 59, 75, 233, 339, 29, 1117, 1693, 593, 15317, 29753, 3079, 43583, 79939}}, +{14473, 18, 17879, {1, 1, 5, 1, 17, 57, 81, 123, 101, 765, 1941, 3143, 7403, 9105, 23197, 28983, 128059, 5931}}, +{14474, 18, 17896, {1, 3, 5, 11, 19, 31, 89, 165, 213, 251, 965, 3203, 1621, 4323, 26877, 17109, 18321, 162413}}, +{14475, 18, 17901, {1, 3, 3, 9, 11, 59, 123, 213, 335, 267, 1767, 3317, 5189, 10149, 27921, 19331, 71541, 170501}}, +{14476, 18, 17916, {1, 3, 3, 15, 3, 3, 115, 235, 305, 219, 265, 1535, 4925, 5597, 20857, 32381, 117237, 197533}}, +{14477, 18, 17935, {1, 3, 5, 13, 13, 59, 93, 85, 419, 337, 513, 2131, 5665, 12229, 1389, 34355, 65485, 81141}}, +{14478, 18, 17953, {1, 3, 7, 7, 11, 59, 111, 219, 293, 289, 325, 623, 3853, 3775, 14771, 5945, 119451, 162861}}, +{14479, 18, 17991, {1, 3, 1, 11, 19, 33, 119, 239, 431, 803, 1119, 2445, 3203, 7219, 31963, 34519, 104953, 254491}}, +{14480, 18, 18009, {1, 3, 7, 9, 21, 53, 21, 115, 365, 419, 11, 3803, 4283, 417, 8937, 64533, 56433, 166025}}, +{14481, 18, 18016, {1, 1, 7, 3, 17, 5, 99, 143, 485, 309, 1255, 2641, 3427, 1681, 3301, 64531, 38629, 20945}}, +{14482, 18, 18034, {1, 1, 5, 1, 31, 3, 115, 217, 451, 5, 1447, 2317, 1725, 12931, 25799, 23569, 51747, 28821}}, +{14483, 18, 18061, {1, 3, 7, 3, 31, 55, 109, 107, 211, 381, 1067, 3973, 5007, 8939, 8605, 55221, 124603, 47115}}, +{14484, 18, 18070, {1, 1, 1, 11, 19, 13, 99, 241, 103, 711, 1823, 2671, 653, 10217, 14195, 39735, 54807, 105599}}, +{14485, 18, 18079, {1, 3, 3, 7, 9, 33, 43, 131, 493, 141, 827, 2909, 2847, 12879, 7879, 6263, 25981, 57323}}, +{14486, 18, 18132, {1, 1, 1, 1, 1, 41, 55, 175, 479, 725, 157, 3403, 5809, 10685, 20433, 21729, 9493, 205685}}, +{14487, 18, 18145, {1, 1, 7, 5, 1, 33, 31, 245, 109, 711, 1047, 941, 449, 1055, 16249, 45211, 48311, 171339}}, +{14488, 18, 18169, {1, 3, 3, 9, 27, 9, 113, 69, 269, 643, 1371, 3521, 4969, 5373, 11133, 63109, 42725, 126969}}, +{14489, 18, 18170, {1, 1, 5, 15, 9, 21, 1, 195, 421, 429, 1103, 2727, 463, 9801, 8955, 62841, 94687, 114509}}, +{14490, 18, 18190, {1, 1, 5, 5, 5, 47, 9, 221, 59, 115, 359, 1147, 749, 1009, 23129, 641, 39471, 23073}}, +{14491, 18, 18192, {1, 3, 5, 13, 27, 29, 19, 3, 121, 773, 625, 2757, 6377, 15867, 14563, 40391, 4351, 21153}}, +{14492, 18, 18201, {1, 1, 5, 9, 11, 25, 51, 101, 273, 541, 1761, 593, 7111, 4369, 30095, 34867, 103989, 19855}}, +{14493, 18, 18228, {1, 1, 3, 13, 27, 55, 79, 115, 105, 855, 627, 2227, 2927, 8757, 8713, 54607, 43671, 130153}}, +{14494, 18, 18243, {1, 1, 3, 5, 7, 45, 21, 71, 157, 773, 1265, 841, 2463, 2217, 6087, 28683, 21251, 72377}}, +{14495, 18, 18260, {1, 1, 3, 1, 15, 11, 117, 211, 223, 713, 545, 907, 6907, 41, 17039, 23079, 86657, 5765}}, +{14496, 18, 18279, {1, 1, 5, 3, 27, 33, 77, 137, 401, 585, 911, 1189, 2749, 3427, 2701, 2453, 84857, 176585}}, +{14497, 18, 18285, {1, 1, 1, 3, 7, 39, 73, 143, 29, 569, 939, 301, 7827, 7691, 11513, 64517, 113679, 234165}}, +{14498, 18, 18297, {1, 3, 1, 11, 29, 57, 127, 181, 175, 973, 1537, 761, 5205, 13641, 32649, 8621, 77509, 261235}}, +{14499, 18, 18300, {1, 3, 5, 5, 13, 19, 117, 225, 477, 297, 1807, 2357, 5653, 3791, 6325, 54877, 120659, 91013}}, +{14500, 18, 18321, {1, 3, 1, 1, 3, 55, 19, 99, 321, 877, 541, 511, 141, 15047, 26377, 9, 2765, 223533}}, +{14501, 18, 18344, {1, 1, 1, 11, 13, 59, 121, 147, 215, 117, 1047, 3055, 2129, 15191, 14425, 28327, 108541, 114275}}, +{14502, 18, 18358, {1, 1, 1, 15, 3, 21, 105, 61, 501, 899, 195, 2745, 5989, 4433, 19525, 35477, 22997, 241657}}, +{14503, 18, 18364, {1, 1, 3, 5, 19, 47, 77, 247, 413, 317, 1255, 2087, 4493, 2211, 9003, 22145, 94001, 50579}}, +{14504, 18, 18376, {1, 3, 7, 11, 31, 47, 25, 191, 65, 409, 1349, 2481, 7619, 223, 18051, 63609, 77187, 75483}}, +{14505, 18, 18390, {1, 1, 1, 9, 21, 59, 115, 251, 401, 91, 627, 3273, 2393, 2949, 11475, 23669, 16171, 77507}}, +{14506, 18, 18399, {1, 3, 5, 1, 19, 7, 65, 253, 217, 493, 227, 3269, 4261, 2295, 32037, 5773, 12925, 41821}}, +{14507, 18, 18400, {1, 1, 5, 11, 5, 31, 71, 205, 285, 37, 1863, 1873, 191, 16137, 2955, 51993, 91401, 206967}}, +{14508, 18, 18427, {1, 3, 1, 7, 23, 31, 21, 81, 37, 903, 817, 3447, 8067, 3087, 25831, 46247, 77255, 68365}}, +{14509, 18, 18443, {1, 1, 7, 11, 7, 43, 21, 243, 431, 633, 2047, 577, 7297, 8151, 15951, 30313, 121569, 241687}}, +{14510, 18, 18487, {1, 1, 3, 5, 7, 45, 35, 189, 381, 849, 1869, 1193, 6815, 9017, 29053, 63605, 113623, 249097}}, +{14511, 18, 18493, {1, 3, 3, 11, 13, 1, 73, 151, 197, 591, 1101, 2437, 6695, 8337, 26539, 40147, 45673, 57727}}, +{14512, 18, 18508, {1, 1, 5, 1, 19, 15, 61, 151, 37, 893, 1819, 2317, 6299, 13097, 5109, 32613, 123685, 128173}}, +{14513, 18, 18532, {1, 1, 1, 7, 25, 29, 29, 203, 179, 211, 1483, 3315, 7125, 6931, 609, 849, 117571, 26829}}, +{14514, 18, 18535, {1, 3, 3, 11, 11, 47, 33, 101, 181, 431, 183, 2777, 5269, 4177, 15727, 717, 111243, 34825}}, +{14515, 18, 18580, {1, 3, 5, 11, 17, 19, 19, 143, 137, 537, 1249, 2889, 1911, 3895, 15433, 60165, 83815, 205569}}, +{14516, 18, 18587, {1, 3, 3, 7, 9, 59, 13, 159, 307, 625, 1, 2887, 3307, 16371, 4269, 56253, 71171, 55543}}, +{14517, 18, 18606, {1, 1, 1, 11, 7, 63, 15, 53, 409, 7, 1317, 473, 7481, 10321, 27941, 4941, 40003, 194153}}, +{14518, 18, 18659, {1, 1, 1, 1, 11, 53, 93, 157, 289, 231, 31, 273, 8131, 7861, 31041, 55221, 58305, 203403}}, +{14519, 18, 18662, {1, 1, 5, 11, 15, 53, 103, 41, 439, 601, 1949, 1087, 4275, 4675, 31879, 40909, 22365, 124781}}, +{14520, 18, 18679, {1, 3, 5, 9, 1, 47, 81, 47, 197, 499, 329, 2387, 5455, 15571, 2289, 44121, 12105, 11883}}, +{14521, 18, 18694, {1, 1, 3, 3, 7, 47, 93, 33, 265, 149, 845, 723, 7783, 6651, 22939, 58027, 66959, 3991}}, +{14522, 18, 18697, {1, 1, 5, 11, 23, 35, 123, 143, 35, 981, 1269, 2853, 4547, 7877, 16181, 17155, 57605, 11589}}, +{14523, 18, 18706, {1, 1, 7, 11, 9, 57, 87, 151, 333, 743, 1939, 3273, 1047, 5033, 16061, 37237, 12013, 17669}}, +{14524, 18, 18708, {1, 3, 7, 5, 29, 15, 109, 185, 51, 159, 1353, 3041, 7821, 14053, 13643, 62045, 78475, 43603}}, +{14525, 18, 18728, {1, 3, 1, 9, 29, 25, 121, 49, 415, 561, 325, 1139, 1993, 6437, 6025, 25225, 20761, 250589}}, +{14526, 18, 18731, {1, 3, 5, 3, 15, 39, 33, 43, 437, 605, 1081, 2397, 3821, 10961, 4853, 19517, 95817, 142023}}, +{14527, 18, 18733, {1, 1, 3, 11, 23, 51, 119, 13, 227, 981, 2017, 3265, 1215, 8737, 10719, 48027, 43239, 19425}}, +{14528, 18, 18751, {1, 3, 1, 15, 5, 5, 33, 175, 509, 611, 451, 2653, 1553, 1941, 25221, 31259, 6027, 159847}}, +{14529, 18, 18766, {1, 3, 7, 11, 7, 25, 71, 61, 89, 775, 609, 2363, 4261, 10677, 1243, 44895, 49113, 209603}}, +{14530, 18, 18773, {1, 3, 5, 15, 23, 23, 3, 15, 489, 455, 1303, 745, 5311, 1639, 18317, 33729, 119303, 255359}}, +{14531, 18, 18796, {1, 3, 7, 5, 13, 53, 29, 127, 159, 67, 469, 1735, 3497, 6985, 24735, 32957, 1225, 24447}}, +{14532, 18, 18811, {1, 3, 5, 5, 9, 13, 119, 83, 387, 777, 361, 3183, 6351, 9071, 13699, 53873, 54663, 67453}}, +{14533, 18, 18823, {1, 1, 5, 9, 17, 33, 9, 159, 143, 193, 1055, 2903, 2719, 12521, 5231, 37639, 94963, 105673}}, +{14534, 18, 18832, {1, 3, 3, 1, 27, 53, 87, 49, 465, 517, 1333, 411, 4089, 9985, 12989, 59511, 49939, 223481}}, +{14535, 18, 18854, {1, 1, 5, 9, 27, 59, 35, 125, 393, 271, 1565, 2847, 8139, 15627, 16059, 55319, 11131, 35141}}, +{14536, 18, 18858, {1, 1, 1, 1, 25, 1, 27, 195, 113, 539, 1281, 2273, 4793, 695, 25599, 41145, 107431, 160137}}, +{14537, 18, 18883, {1, 3, 3, 7, 13, 7, 35, 137, 83, 995, 1671, 1701, 3157, 15583, 7637, 18947, 59675, 9421}}, +{14538, 18, 18900, {1, 1, 7, 15, 23, 37, 109, 93, 377, 885, 1843, 1867, 2013, 10535, 5717, 55463, 18307, 125537}}, +{14539, 18, 18967, {1, 3, 7, 11, 25, 33, 91, 213, 109, 599, 131, 1879, 1375, 2911, 4649, 8809, 41199, 61629}}, +{14540, 18, 18974, {1, 3, 1, 1, 11, 17, 117, 243, 427, 913, 495, 527, 4277, 8867, 3131, 14143, 81677, 177369}}, +{14541, 18, 18990, {1, 3, 7, 11, 11, 37, 71, 185, 487, 161, 1773, 837, 243, 14105, 6881, 2155, 63679, 220387}}, +{14542, 18, 19009, {1, 1, 5, 3, 11, 41, 33, 99, 495, 757, 1083, 1987, 1997, 11057, 18445, 61903, 78163, 121701}}, +{14543, 18, 19055, {1, 1, 1, 1, 23, 37, 9, 19, 411, 11, 1487, 1279, 2129, 7449, 29631, 34559, 129753, 112627}}, +{14544, 18, 19058, {1, 1, 3, 11, 31, 39, 41, 207, 141, 383, 723, 3053, 743, 4479, 12395, 56659, 130303, 152005}}, +{14545, 18, 19074, {1, 3, 1, 7, 27, 25, 19, 37, 29, 781, 1115, 2569, 4113, 14033, 18653, 1055, 50639, 70413}}, +{14546, 18, 19079, {1, 1, 3, 1, 9, 15, 109, 7, 221, 161, 569, 2915, 2717, 2439, 4257, 61851, 113183, 63139}}, +{14547, 18, 19086, {1, 3, 5, 1, 17, 45, 3, 147, 207, 769, 321, 11, 2747, 7189, 8067, 34951, 50851, 42625}}, +{14548, 18, 19128, {1, 1, 7, 11, 15, 53, 117, 161, 219, 937, 1661, 3767, 959, 10351, 26685, 40095, 109821, 140139}}, +{14549, 18, 19145, {1, 3, 3, 9, 15, 47, 61, 35, 289, 743, 1723, 2189, 749, 13499, 22897, 55385, 114953, 67191}}, +{14550, 18, 19163, {1, 3, 7, 3, 23, 19, 123, 217, 393, 889, 1665, 13, 5663, 8695, 29767, 13433, 65133, 226713}}, +{14551, 18, 19175, {1, 1, 7, 11, 5, 57, 59, 171, 321, 519, 1333, 1975, 5331, 2383, 26863, 8989, 82167, 6915}}, +{14552, 18, 19189, {1, 1, 3, 3, 7, 17, 105, 79, 7, 827, 1277, 3805, 5943, 3161, 28953, 15657, 615, 149131}}, +{14553, 18, 19196, {1, 1, 5, 1, 5, 7, 99, 65, 295, 933, 365, 1867, 1959, 10733, 26947, 29659, 121889, 200379}}, +{14554, 18, 19204, {1, 3, 1, 13, 25, 21, 89, 247, 251, 43, 1539, 1317, 1875, 9237, 20693, 58433, 16757, 25451}}, +{14555, 18, 19213, {1, 3, 3, 13, 11, 47, 73, 21, 467, 337, 1881, 2723, 7023, 2767, 12553, 65533, 20517, 203749}}, +{14556, 18, 19237, {1, 1, 1, 1, 1, 17, 85, 133, 369, 577, 71, 859, 8151, 919, 10843, 44017, 10097, 199893}}, +{14557, 18, 19276, {1, 3, 5, 5, 23, 19, 21, 233, 475, 123, 621, 687, 6945, 2373, 6447, 31243, 3525, 256545}}, +{14558, 18, 19287, {1, 1, 7, 5, 9, 5, 35, 21, 33, 353, 1429, 3249, 6159, 8757, 6213, 855, 75863, 74507}}, +{14559, 18, 19291, {1, 1, 5, 11, 29, 21, 45, 155, 369, 769, 1041, 3929, 7377, 1621, 5285, 55213, 66143, 110251}}, +{14560, 18, 19293, {1, 3, 7, 11, 13, 57, 45, 207, 259, 907, 573, 663, 7727, 12677, 5949, 57625, 42183, 217491}}, +{14561, 18, 19304, {1, 3, 5, 3, 21, 63, 113, 159, 87, 551, 1405, 2867, 239, 10941, 27633, 13947, 69689, 225771}}, +{14562, 18, 19371, {1, 1, 3, 1, 1, 59, 5, 41, 125, 707, 1457, 1, 4263, 5519, 26101, 46339, 44949, 63689}}, +{14563, 18, 19379, {1, 1, 1, 1, 11, 9, 65, 155, 3, 85, 273, 2287, 6059, 3289, 19045, 14705, 112465, 202019}}, +{14564, 18, 19381, {1, 3, 3, 3, 21, 49, 95, 75, 479, 519, 1511, 1609, 2421, 14435, 11749, 49627, 16221, 98351}}, +{14565, 18, 19405, {1, 1, 3, 5, 25, 57, 1, 39, 377, 523, 529, 701, 6749, 10109, 15845, 53301, 70979, 210997}}, +{14566, 18, 19417, {1, 3, 1, 3, 27, 29, 101, 87, 361, 1, 229, 2653, 769, 16121, 18221, 31937, 12187, 63801}}, +{14567, 18, 19420, {1, 3, 3, 1, 25, 27, 49, 235, 309, 23, 1625, 589, 1251, 10305, 26943, 38949, 82539, 135491}}, +{14568, 18, 19424, {1, 1, 7, 7, 13, 13, 13, 61, 509, 73, 201, 2309, 1601, 3145, 19867, 5623, 117455, 180681}}, +{14569, 18, 19462, {1, 3, 3, 13, 13, 47, 71, 9, 123, 719, 701, 353, 1877, 3103, 20017, 64731, 72729, 147631}}, +{14570, 18, 19474, {1, 3, 1, 7, 29, 29, 53, 97, 409, 67, 1033, 2403, 2471, 10869, 2837, 43459, 117415, 213371}}, +{14571, 18, 19492, {1, 1, 7, 1, 7, 23, 103, 157, 315, 335, 375, 3493, 4095, 5331, 7773, 64173, 23167, 21259}}, +{14572, 18, 19501, {1, 3, 5, 13, 13, 55, 107, 147, 447, 281, 401, 1897, 7887, 15005, 21645, 26007, 19673, 238931}}, +{14573, 18, 19504, {1, 3, 1, 7, 17, 39, 109, 113, 143, 59, 1095, 225, 1455, 5021, 5011, 2039, 4381, 219847}}, +{14574, 18, 19516, {1, 3, 3, 7, 1, 35, 121, 145, 297, 251, 1153, 1955, 7881, 15461, 26961, 915, 30253, 15289}}, +{14575, 18, 19519, {1, 3, 5, 15, 5, 57, 43, 157, 49, 17, 993, 4085, 5639, 9405, 28661, 30191, 73291, 76913}}, +{14576, 18, 19534, {1, 1, 7, 1, 25, 63, 117, 55, 63, 649, 1635, 2505, 2765, 2715, 30241, 62699, 19567, 65953}}, +{14577, 18, 19555, {1, 3, 5, 13, 21, 49, 111, 127, 179, 819, 1737, 2519, 815, 10541, 15821, 54203, 71767, 7091}}, +{14578, 18, 19597, {1, 1, 1, 3, 27, 41, 101, 139, 39, 995, 819, 319, 1481, 15265, 20611, 22445, 53733, 82871}}, +{14579, 18, 19600, {1, 3, 3, 13, 7, 61, 103, 203, 353, 205, 1927, 2665, 757, 12277, 31217, 22247, 14527, 26385}}, +{14580, 18, 19615, {1, 1, 7, 3, 5, 35, 87, 235, 139, 785, 417, 3975, 6753, 4267, 15201, 8747, 12491, 159979}}, +{14581, 18, 19621, {1, 3, 1, 9, 9, 11, 117, 231, 503, 933, 1461, 2657, 7771, 2161, 26723, 4853, 23215, 162315}}, +{14582, 18, 19646, {1, 1, 7, 15, 27, 25, 115, 9, 257, 89, 571, 41, 2169, 10619, 2695, 2107, 64747, 40489}}, +{14583, 18, 19651, {1, 3, 7, 9, 29, 61, 91, 117, 279, 721, 233, 177, 5509, 7599, 2379, 20297, 75425, 25051}}, +{14584, 18, 19693, {1, 1, 1, 15, 31, 41, 3, 57, 59, 47, 963, 2831, 1885, 1989, 26803, 48243, 112065, 27753}}, +{14585, 18, 19702, {1, 1, 5, 15, 9, 57, 41, 255, 179, 719, 1463, 2857, 285, 9623, 13111, 20415, 28819, 149441}}, +{14586, 18, 19726, {1, 3, 1, 9, 17, 63, 21, 79, 473, 525, 1557, 3205, 7097, 14379, 28039, 30731, 62383, 247429}}, +{14587, 18, 19754, {1, 3, 3, 13, 25, 45, 97, 213, 11, 801, 1519, 1085, 6167, 13701, 6707, 47223, 69923, 66239}}, +{14588, 18, 19759, {1, 1, 1, 13, 1, 1, 9, 21, 363, 729, 1715, 1249, 5299, 11357, 20627, 33559, 84255, 133743}}, +{14589, 18, 19764, {1, 3, 3, 13, 17, 33, 23, 255, 309, 605, 1177, 1305, 2717, 6561, 29193, 7971, 117525, 79139}}, +{14590, 18, 19788, {1, 3, 1, 1, 7, 15, 73, 171, 11, 791, 241, 2641, 5397, 10403, 22207, 64123, 124507, 63855}}, +{14591, 18, 19793, {1, 3, 1, 11, 11, 7, 109, 103, 321, 1009, 1237, 3347, 287, 2389, 16529, 7789, 3347, 97827}}, +{14592, 18, 19836, {1, 3, 3, 3, 1, 27, 17, 9, 223, 755, 559, 3811, 2997, 1543, 23197, 42371, 5837, 13809}}, +{14593, 18, 19855, {1, 3, 1, 3, 7, 57, 31, 23, 35, 329, 1155, 2525, 3029, 5495, 12005, 18045, 4539, 75789}}, +{14594, 18, 19858, {1, 1, 5, 13, 3, 31, 121, 161, 325, 869, 715, 851, 1273, 1871, 22711, 61499, 36291, 11663}}, +{14595, 18, 19880, {1, 1, 5, 11, 7, 39, 23, 139, 197, 47, 513, 373, 6859, 11217, 17725, 60949, 19299, 91425}}, +{14596, 18, 19883, {1, 1, 3, 7, 15, 63, 123, 11, 109, 829, 231, 2591, 7997, 9061, 18647, 3209, 38509, 211219}}, +{14597, 18, 19917, {1, 1, 1, 11, 13, 35, 73, 223, 325, 49, 1317, 4063, 4127, 2755, 555, 51057, 44909, 205723}}, +{14598, 18, 19918, {1, 3, 3, 13, 17, 41, 115, 141, 503, 525, 63, 2487, 3225, 959, 10623, 28577, 89127, 157269}}, +{14599, 18, 19936, {1, 3, 1, 9, 25, 9, 43, 43, 279, 111, 1141, 3033, 7229, 5725, 8277, 59141, 116811, 127945}}, +{14600, 18, 19946, {1, 3, 7, 11, 27, 27, 93, 243, 135, 333, 1475, 1259, 1583, 7191, 6831, 53485, 128819, 174211}}, +{14601, 18, 19954, {1, 3, 3, 3, 17, 17, 43, 251, 433, 1011, 1817, 2835, 7721, 2449, 9463, 23779, 31427, 88127}}, +{14602, 18, 19979, {1, 1, 3, 3, 11, 49, 61, 41, 211, 559, 1761, 1303, 2119, 5743, 25515, 60705, 54405, 241063}}, +{14603, 18, 19993, {1, 1, 3, 11, 7, 61, 15, 115, 29, 35, 187, 3137, 6177, 1449, 32723, 15917, 107851, 101077}}, +{14604, 18, 19994, {1, 3, 5, 13, 21, 7, 11, 231, 417, 73, 1175, 735, 627, 7393, 7233, 39883, 129481, 106733}}, +{14605, 18, 20006, {1, 3, 1, 15, 27, 61, 63, 201, 27, 431, 1127, 1555, 1953, 13051, 18701, 30097, 95549, 198465}}, +{14606, 18, 20017, {1, 1, 3, 1, 23, 25, 43, 85, 291, 85, 1861, 675, 7451, 14701, 3929, 10835, 25569, 154687}}, +{14607, 18, 20032, {1, 3, 7, 15, 5, 43, 91, 225, 283, 259, 1311, 3977, 585, 14803, 14117, 2121, 106981, 157577}}, +{14608, 18, 20038, {1, 1, 1, 11, 7, 51, 49, 115, 477, 861, 1115, 743, 5109, 959, 7105, 9245, 66297, 188751}}, +{14609, 18, 20050, {1, 3, 3, 11, 23, 1, 11, 111, 163, 643, 1907, 3613, 2967, 10071, 6023, 1307, 62341, 241025}}, +{14610, 18, 20080, {1, 3, 5, 5, 15, 29, 31, 43, 445, 219, 1261, 421, 6035, 6461, 25583, 817, 100509, 239637}}, +{14611, 18, 20135, {1, 1, 7, 3, 27, 51, 121, 93, 349, 125, 2013, 1671, 8049, 7807, 7291, 64413, 93625, 245611}}, +{14612, 18, 20142, {1, 3, 3, 9, 11, 1, 91, 137, 501, 617, 1513, 799, 1705, 15737, 14989, 53611, 48781, 64481}}, +{14613, 18, 20159, {1, 3, 3, 1, 21, 55, 95, 79, 383, 617, 1589, 2671, 4057, 13525, 9269, 23539, 13317, 87701}}, +{14614, 18, 20173, {1, 1, 3, 1, 29, 17, 121, 45, 91, 215, 325, 2853, 1213, 10221, 7233, 34063, 21887, 142943}}, +{14615, 18, 20186, {1, 3, 3, 11, 27, 53, 55, 149, 107, 379, 441, 585, 5697, 16353, 5613, 4323, 55315, 197603}}, +{14616, 18, 20229, {1, 3, 7, 3, 31, 9, 71, 175, 485, 35, 675, 2091, 2351, 7985, 14207, 52687, 8559, 1067}}, +{14617, 18, 20234, {1, 1, 5, 15, 29, 37, 9, 73, 357, 961, 489, 875, 7465, 3231, 27821, 42499, 127837, 117215}}, +{14618, 18, 20263, {1, 3, 7, 7, 19, 43, 75, 153, 27, 291, 2039, 2661, 5513, 13429, 27307, 5305, 44771, 200621}}, +{14619, 18, 20270, {1, 1, 1, 15, 5, 39, 61, 107, 201, 485, 319, 335, 5537, 14195, 31861, 63637, 68497, 45637}}, +{14620, 18, 20299, {1, 3, 7, 7, 23, 49, 95, 225, 25, 933, 667, 2993, 2181, 15659, 31343, 20249, 57039, 43399}}, +{14621, 18, 20304, {1, 3, 3, 7, 17, 25, 29, 243, 511, 91, 1409, 203, 2749, 7067, 12471, 41737, 32761, 7535}}, +{14622, 18, 20319, {1, 1, 7, 9, 27, 43, 63, 65, 325, 817, 1127, 2039, 6171, 5867, 10593, 17205, 95913, 207417}}, +{14623, 18, 20329, {1, 1, 7, 3, 3, 51, 107, 153, 193, 579, 593, 2915, 7641, 5157, 1131, 29793, 66579, 81903}}, +{14624, 18, 20337, {1, 1, 5, 15, 19, 61, 125, 107, 235, 513, 1897, 875, 6341, 1817, 10631, 63905, 42993, 150699}}, +{14625, 18, 20353, {1, 1, 3, 11, 27, 1, 93, 107, 325, 459, 1733, 2527, 4557, 2277, 19345, 8205, 67337, 242559}}, +{14626, 18, 20401, {1, 1, 7, 3, 3, 45, 27, 227, 201, 99, 589, 1665, 4851, 2655, 9915, 41321, 59865, 71501}}, +{14627, 18, 20434, {1, 3, 1, 9, 3, 25, 117, 199, 125, 849, 135, 1771, 4743, 13475, 23711, 17389, 52711, 200143}}, +{14628, 18, 20436, {1, 3, 1, 3, 11, 23, 67, 155, 133, 557, 1933, 3169, 1707, 16045, 11039, 13889, 71045, 245885}}, +{14629, 18, 20473, {1, 1, 5, 9, 1, 7, 99, 13, 315, 251, 1289, 225, 2847, 8451, 3139, 46829, 124745, 64825}}, +{14630, 18, 20488, {1, 3, 7, 13, 19, 45, 87, 161, 271, 401, 1995, 935, 1803, 4051, 11709, 26993, 120139, 147895}}, +{14631, 18, 20512, {1, 1, 7, 5, 15, 11, 47, 215, 51, 1019, 2039, 3767, 929, 3845, 3939, 64077, 48115, 61845}}, +{14632, 18, 20515, {1, 1, 1, 5, 1, 39, 15, 77, 179, 13, 1099, 203, 3363, 9071, 12033, 49159, 71137, 124177}}, +{14633, 18, 20517, {1, 3, 5, 5, 1, 31, 83, 219, 387, 347, 1099, 925, 4423, 5081, 15981, 35881, 79131, 248301}}, +{14634, 18, 20530, {1, 3, 7, 3, 25, 19, 53, 43, 347, 845, 1735, 3237, 2795, 2253, 2997, 43729, 122833, 124869}}, +{14635, 18, 20571, {1, 3, 5, 11, 5, 19, 93, 55, 297, 231, 239, 3335, 253, 13607, 16769, 48879, 61439, 54827}}, +{14636, 18, 20574, {1, 3, 7, 11, 11, 55, 121, 73, 19, 1017, 727, 579, 8011, 9559, 15051, 7895, 17609, 103061}}, +{14637, 18, 20589, {1, 1, 7, 5, 19, 47, 85, 195, 75, 1003, 439, 3069, 2107, 12751, 26729, 2329, 1191, 86547}}, +{14638, 18, 20592, {1, 3, 3, 9, 5, 31, 63, 227, 481, 793, 1853, 1491, 2109, 4199, 32149, 45229, 54685, 124819}}, +{14639, 18, 20611, {1, 1, 1, 3, 15, 15, 41, 45, 153, 429, 1691, 1897, 7253, 7239, 26133, 36527, 90319, 186097}}, +{14640, 18, 20613, {1, 3, 1, 13, 15, 33, 103, 113, 121, 387, 177, 1943, 3181, 5483, 18515, 38807, 22655, 59787}}, +{14641, 18, 20628, {1, 1, 5, 7, 15, 3, 53, 155, 99, 133, 579, 2129, 6881, 11091, 26715, 15485, 108071, 230881}}, +{14642, 18, 20637, {1, 1, 3, 13, 25, 61, 91, 81, 9, 1011, 1993, 2485, 3707, 11127, 21279, 15853, 104081, 203769}}, +{14643, 18, 20638, {1, 1, 7, 3, 17, 23, 37, 171, 315, 247, 275, 3215, 7139, 11739, 25859, 34803, 124601, 9169}}, +{14644, 18, 20719, {1, 3, 7, 9, 21, 29, 97, 213, 309, 865, 597, 1811, 5547, 3741, 31927, 53379, 43293, 23589}}, +{14645, 18, 20724, {1, 3, 7, 9, 7, 43, 107, 187, 485, 977, 1329, 3037, 3701, 9667, 13581, 6283, 39221, 63841}}, +{14646, 18, 20772, {1, 1, 3, 11, 3, 51, 117, 45, 293, 409, 689, 153, 1163, 10921, 22709, 30415, 120475, 120751}}, +{14647, 18, 20796, {1, 3, 5, 15, 31, 59, 57, 63, 249, 763, 1627, 3039, 4309, 14115, 25489, 35009, 126609, 146041}}, +{14648, 18, 20799, {1, 1, 1, 9, 3, 47, 21, 183, 495, 361, 1439, 407, 5757, 12645, 11425, 1923, 94511, 205127}}, +{14649, 18, 20816, {1, 3, 1, 9, 15, 5, 101, 107, 385, 175, 791, 901, 4427, 10415, 8163, 14417, 62997, 139309}}, +{14650, 18, 20841, {1, 3, 5, 3, 13, 57, 9, 99, 77, 123, 1607, 3643, 3879, 503, 6021, 60211, 106471, 221801}}, +{14651, 18, 20844, {1, 1, 7, 5, 27, 35, 11, 33, 415, 387, 1461, 741, 55, 15095, 21177, 5715, 109893, 204843}}, +{14652, 18, 20862, {1, 1, 1, 15, 7, 49, 51, 81, 157, 421, 279, 1951, 6847, 10259, 31925, 60761, 12395, 49511}}, +{14653, 18, 20865, {1, 3, 7, 11, 5, 33, 27, 135, 247, 813, 1889, 2547, 2359, 9535, 4141, 59713, 88685, 214641}}, +{14654, 18, 20902, {1, 1, 5, 15, 17, 61, 99, 103, 39, 151, 1033, 2743, 6639, 5271, 22059, 12681, 22763, 88255}}, +{14655, 18, 20938, {1, 1, 7, 13, 5, 11, 39, 139, 353, 989, 1391, 169, 3709, 735, 22965, 227, 103623, 153893}}, +{14656, 18, 20957, {1, 1, 7, 3, 9, 51, 53, 87, 411, 617, 671, 681, 5057, 6003, 23137, 30881, 2289, 187133}}, +{14657, 18, 20971, {1, 1, 7, 7, 17, 59, 77, 219, 25, 53, 145, 129, 4289, 14257, 7159, 44833, 22131, 53393}}, +{14658, 18, 20973, {1, 3, 7, 1, 9, 59, 79, 177, 149, 637, 1641, 3713, 2709, 12321, 5691, 18239, 8617, 225979}}, +{14659, 18, 20981, {1, 1, 7, 5, 9, 9, 67, 51, 451, 815, 295, 813, 1257, 179, 28769, 57241, 51753, 164873}}, +{14660, 18, 20982, {1, 3, 1, 9, 19, 61, 53, 65, 29, 503, 715, 1837, 7487, 16187, 27303, 54681, 98753, 100471}}, +{14661, 18, 20985, {1, 1, 3, 1, 15, 51, 1, 79, 179, 367, 841, 1313, 797, 4777, 1369, 13317, 65059, 204877}}, +{14662, 18, 20991, {1, 3, 5, 9, 15, 19, 109, 45, 473, 517, 1139, 15, 1997, 4245, 11169, 56417, 75017, 37957}}, +{14663, 18, 21012, {1, 1, 7, 1, 3, 41, 75, 95, 59, 503, 1439, 2633, 3527, 5363, 24357, 43659, 10387, 208319}}, +{14664, 18, 21022, {1, 1, 5, 1, 31, 7, 71, 231, 505, 241, 1579, 3517, 3995, 8269, 6793, 15883, 102779, 75589}}, +{14665, 18, 21026, {1, 3, 5, 1, 13, 61, 87, 213, 501, 307, 1629, 2715, 7245, 747, 20601, 28105, 79249, 76231}}, +{14666, 18, 21028, {1, 1, 7, 11, 5, 13, 69, 221, 485, 59, 2027, 483, 6851, 11719, 16787, 54111, 47579, 49959}}, +{14667, 18, 21050, {1, 1, 3, 15, 3, 33, 57, 75, 375, 45, 851, 1673, 8167, 867, 32087, 34157, 96701, 72893}}, +{14668, 18, 21075, {1, 1, 3, 1, 21, 31, 65, 85, 181, 453, 815, 3139, 205, 429, 7451, 50855, 41085, 137927}}, +{14669, 18, 21077, {1, 3, 1, 9, 3, 57, 99, 183, 305, 991, 809, 4021, 3131, 4459, 5839, 32493, 116541, 59329}}, +{14670, 18, 21078, {1, 3, 7, 1, 5, 19, 3, 91, 297, 715, 1081, 445, 393, 12685, 4457, 61437, 103701, 75917}}, +{14671, 18, 21106, {1, 1, 7, 15, 17, 39, 19, 255, 247, 391, 1055, 1241, 4515, 10217, 23363, 40301, 115053, 234349}}, +{14672, 18, 21122, {1, 3, 5, 1, 21, 9, 33, 243, 501, 793, 219, 3595, 2585, 5083, 15377, 35761, 90609, 93761}}, +{14673, 18, 21127, {1, 1, 5, 13, 3, 1, 5, 77, 265, 525, 1107, 1879, 1119, 2277, 30557, 43547, 81947, 134075}}, +{14674, 18, 21155, {1, 1, 7, 5, 11, 47, 71, 83, 255, 183, 515, 2591, 3933, 16025, 16727, 43421, 18725, 106675}}, +{14675, 18, 21167, {1, 3, 1, 1, 5, 17, 57, 209, 509, 421, 1247, 3153, 1835, 8777, 13285, 27699, 34001, 186553}}, +{14676, 18, 21169, {1, 1, 3, 11, 27, 19, 73, 65, 179, 115, 845, 2507, 7673, 14429, 10553, 4999, 82323, 247379}}, +{14677, 18, 21204, {1, 3, 7, 7, 17, 59, 97, 183, 407, 697, 1423, 123, 6479, 3997, 729, 31587, 114383, 61673}}, +{14678, 18, 21230, {1, 1, 5, 9, 21, 23, 21, 153, 187, 255, 125, 1469, 2639, 8099, 29689, 36415, 103959, 231621}}, +{14679, 18, 21256, {1, 1, 3, 11, 19, 59, 115, 205, 123, 133, 1953, 3471, 2495, 329, 32385, 21931, 9691, 51405}}, +{14680, 18, 21285, {1, 3, 3, 13, 7, 7, 115, 65, 301, 621, 1091, 2137, 5729, 5027, 21331, 24803, 114789, 142039}}, +{14681, 18, 21312, {1, 1, 7, 5, 31, 19, 103, 69, 503, 663, 1497, 2867, 5295, 893, 15927, 37513, 94553, 72369}}, +{14682, 18, 21329, {1, 3, 3, 15, 17, 33, 99, 249, 277, 259, 9, 99, 3073, 12017, 14847, 7685, 102499, 26489}}, +{14683, 18, 21351, {1, 1, 1, 1, 5, 23, 31, 45, 29, 483, 1977, 1129, 6925, 2273, 16573, 53039, 90251, 137191}}, +{14684, 18, 21372, {1, 3, 1, 13, 27, 47, 29, 51, 473, 895, 671, 3917, 6905, 15769, 9019, 28879, 120591, 220753}}, +{14685, 18, 21376, {1, 3, 1, 13, 27, 29, 53, 255, 507, 819, 1251, 2463, 1717, 14461, 31997, 30829, 8803, 115539}}, +{14686, 18, 21424, {1, 3, 3, 15, 27, 1, 109, 225, 451, 409, 2025, 2701, 4121, 9949, 1551, 13625, 73577, 211549}}, +{14687, 18, 21448, {1, 1, 1, 3, 23, 57, 49, 35, 365, 711, 2001, 997, 1853, 2913, 15667, 30255, 19535, 2171}}, +{14688, 18, 21465, {1, 1, 7, 1, 21, 37, 127, 3, 117, 449, 1689, 1391, 1427, 12641, 15199, 23769, 66553, 34669}}, +{14689, 18, 21495, {1, 3, 7, 9, 31, 45, 51, 137, 181, 469, 573, 89, 7257, 10991, 30705, 37827, 75071, 152885}}, +{14690, 18, 21509, {1, 3, 1, 1, 19, 13, 55, 223, 261, 353, 1497, 183, 8173, 14421, 9977, 24095, 47215, 155189}}, +{14691, 18, 21550, {1, 1, 3, 15, 15, 41, 31, 105, 459, 27, 299, 159, 2167, 14809, 9983, 2755, 121715, 35921}}, +{14692, 18, 21562, {1, 1, 3, 7, 31, 5, 85, 137, 431, 849, 1479, 2681, 167, 5727, 3211, 30765, 63295, 39509}}, +{14693, 18, 21575, {1, 1, 5, 7, 5, 51, 21, 103, 175, 927, 1115, 1507, 505, 8093, 25831, 54303, 40397, 61249}}, +{14694, 18, 21579, {1, 1, 7, 3, 23, 53, 49, 225, 7, 425, 403, 3949, 1081, 15335, 21737, 647, 107875, 236183}}, +{14695, 18, 21582, {1, 1, 5, 7, 17, 21, 85, 229, 325, 57, 601, 2785, 6417, 5135, 17917, 12861, 97675, 115457}}, +{14696, 18, 21600, {1, 1, 3, 3, 13, 23, 73, 111, 385, 47, 605, 1169, 1729, 2335, 18739, 61293, 41915, 237645}}, +{14697, 18, 21615, {1, 1, 1, 5, 31, 11, 123, 13, 465, 755, 1073, 1885, 2105, 5971, 2347, 10911, 125823, 156037}}, +{14698, 18, 21617, {1, 3, 7, 11, 17, 47, 3, 165, 227, 355, 87, 839, 7741, 12275, 28579, 25337, 87671, 224847}}, +{14699, 18, 21624, {1, 1, 5, 15, 23, 33, 9, 1, 257, 121, 1049, 1009, 187, 9935, 26093, 21921, 130247, 240291}}, +{14700, 18, 21633, {1, 1, 3, 13, 13, 27, 87, 221, 27, 117, 551, 2533, 7611, 5333, 14635, 9911, 37555, 250621}}, +{14701, 18, 21636, {1, 3, 7, 15, 29, 39, 33, 1, 495, 889, 1397, 3415, 7193, 11533, 27379, 36425, 13739, 146635}}, +{14702, 18, 21645, {1, 1, 7, 11, 1, 23, 85, 127, 79, 989, 321, 1913, 7571, 9889, 11803, 1307, 120513, 218077}}, +{14703, 18, 21654, {1, 1, 7, 5, 5, 15, 35, 9, 351, 973, 1455, 2043, 5527, 9431, 16059, 53915, 105785, 180579}}, +{14704, 18, 21660, {1, 1, 1, 13, 13, 45, 15, 41, 131, 463, 1011, 3559, 6393, 4737, 6041, 33073, 60989, 56761}}, +{14705, 18, 21667, {1, 1, 3, 9, 31, 35, 23, 133, 33, 233, 543, 957, 4913, 12441, 10293, 31611, 83383, 154551}}, +{14706, 18, 21702, {1, 3, 3, 1, 29, 37, 117, 247, 345, 197, 1617, 3333, 7901, 8343, 55, 16529, 34627, 172703}}, +{14707, 18, 21714, {1, 1, 1, 13, 23, 51, 7, 219, 503, 215, 375, 2275, 5467, 13953, 13987, 22735, 67505, 185977}}, +{14708, 18, 21719, {1, 3, 5, 5, 29, 53, 85, 147, 167, 409, 853, 667, 4431, 5227, 15535, 34375, 107135, 220637}}, +{14709, 18, 21736, {1, 3, 7, 7, 19, 3, 73, 123, 455, 539, 1735, 1423, 5337, 16311, 15469, 36071, 126437, 219249}}, +{14710, 18, 21767, {1, 1, 1, 3, 19, 49, 17, 133, 101, 1013, 683, 869, 6267, 409, 31379, 2535, 8039, 63205}}, +{14711, 18, 21781, {1, 1, 1, 13, 13, 53, 25, 31, 501, 629, 645, 1811, 3675, 13317, 17009, 7359, 85475, 249823}}, +{14712, 18, 21795, {1, 1, 3, 11, 5, 1, 41, 17, 159, 361, 1439, 2083, 1425, 7221, 9117, 59543, 59285, 188615}}, +{14713, 18, 21841, {1, 3, 7, 1, 11, 27, 71, 121, 471, 749, 1983, 3715, 6463, 5793, 1063, 18201, 189, 243751}}, +{14714, 18, 21853, {1, 3, 3, 11, 19, 17, 15, 175, 379, 683, 1491, 2385, 6981, 1183, 16829, 2103, 9309, 46119}}, +{14715, 18, 21867, {1, 1, 7, 5, 17, 39, 109, 9, 279, 309, 1, 1523, 4551, 3855, 13277, 36125, 54191, 45085}}, +{14716, 18, 21878, {1, 3, 5, 3, 9, 59, 51, 5, 431, 657, 161, 2725, 2401, 9743, 12925, 43501, 51551, 163737}}, +{14717, 18, 21891, {1, 1, 5, 3, 9, 13, 7, 177, 121, 795, 1169, 3169, 3793, 3995, 29027, 32967, 82273, 207939}}, +{14718, 18, 21897, {1, 3, 7, 13, 1, 1, 31, 91, 245, 775, 1589, 2263, 6303, 15787, 3111, 52553, 52507, 183971}}, +{14719, 18, 21954, {1, 3, 5, 11, 15, 49, 73, 191, 67, 449, 1245, 2445, 5617, 8625, 27971, 35939, 76907, 76207}}, +{14720, 18, 21956, {1, 3, 1, 11, 15, 47, 29, 91, 437, 895, 1941, 249, 2739, 15479, 29699, 7257, 39897, 65985}}, +{14721, 18, 21965, {1, 3, 5, 7, 13, 23, 45, 113, 297, 373, 1505, 2317, 7509, 12059, 13737, 29081, 87337, 221917}}, +{14722, 18, 21977, {1, 3, 3, 3, 1, 5, 13, 215, 221, 461, 1337, 3569, 2257, 12135, 14685, 39721, 16723, 234791}}, +{14723, 18, 21978, {1, 1, 7, 5, 11, 25, 71, 103, 87, 533, 779, 379, 6695, 13451, 24801, 49235, 35109, 100865}}, +{14724, 18, 21983, {1, 3, 3, 15, 13, 51, 27, 11, 279, 847, 135, 1119, 2765, 3805, 20273, 29089, 83379, 190353}}, +{14725, 18, 22002, {1, 3, 7, 5, 17, 29, 111, 35, 189, 273, 503, 541, 6691, 9051, 10403, 7559, 54787, 25403}}, +{14726, 18, 22013, {1, 3, 5, 9, 21, 29, 85, 235, 223, 677, 71, 1313, 6587, 10983, 199, 27721, 78627, 105505}}, +{14727, 18, 22014, {1, 3, 1, 3, 13, 3, 123, 115, 173, 907, 1555, 1489, 2745, 6451, 25347, 24105, 66471, 181009}}, +{14728, 18, 22054, {1, 1, 7, 1, 31, 15, 13, 97, 511, 827, 1193, 3081, 1517, 13511, 24887, 39239, 85175, 150213}}, +{14729, 18, 22058, {1, 1, 1, 5, 17, 39, 121, 67, 207, 877, 1885, 171, 2687, 13081, 27267, 58699, 118575, 213025}}, +{14730, 18, 22066, {1, 1, 3, 9, 9, 27, 101, 215, 31, 37, 1629, 3631, 3225, 9667, 31547, 41939, 38683, 150805}}, +{14731, 18, 22085, {1, 3, 1, 11, 11, 59, 17, 15, 187, 667, 747, 2193, 6749, 6019, 31805, 52433, 4141, 52613}}, +{14732, 18, 22103, {1, 3, 3, 13, 9, 1, 51, 101, 213, 881, 899, 2197, 3017, 1591, 9271, 44017, 99893, 192005}}, +{14733, 18, 22138, {1, 3, 7, 13, 23, 41, 79, 83, 123, 585, 49, 849, 2133, 12473, 6907, 15487, 45783, 46609}}, +{14734, 18, 22140, {1, 3, 7, 13, 27, 23, 71, 13, 319, 903, 1123, 933, 2603, 11631, 19953, 47001, 127751, 84547}}, +{14735, 18, 22153, {1, 1, 1, 15, 3, 61, 79, 231, 43, 217, 801, 997, 6545, 13657, 25589, 30435, 49497, 1037}}, +{14736, 18, 22164, {1, 3, 3, 3, 21, 29, 121, 35, 129, 239, 1645, 3147, 7647, 1201, 19287, 7075, 67961, 62481}}, +{14737, 18, 22167, {1, 3, 7, 7, 3, 23, 45, 177, 469, 897, 359, 2521, 2079, 985, 14993, 56813, 20667, 187341}}, +{14738, 18, 22189, {1, 3, 5, 7, 23, 53, 15, 45, 297, 93, 247, 1165, 2683, 5899, 7113, 14859, 22733, 173835}}, +{14739, 18, 22202, {1, 1, 3, 15, 23, 17, 43, 179, 103, 197, 1857, 323, 267, 12417, 2343, 41527, 12243, 112023}}, +{14740, 18, 22212, {1, 3, 7, 13, 7, 43, 75, 19, 169, 621, 735, 141, 3087, 765, 5901, 34029, 117603, 5137}}, +{14741, 18, 22234, {1, 1, 3, 5, 15, 17, 67, 177, 371, 249, 99, 1651, 3701, 343, 435, 50307, 33915, 115391}}, +{14742, 18, 22239, {1, 1, 3, 13, 19, 53, 69, 1, 435, 71, 339, 2289, 1591, 8783, 8087, 25855, 115311, 191115}}, +{14743, 18, 22245, {1, 3, 5, 11, 1, 55, 59, 7, 101, 655, 353, 483, 5681, 12721, 15973, 51377, 94921, 246365}}, +{14744, 18, 22272, {1, 3, 5, 3, 25, 23, 99, 145, 277, 741, 595, 2653, 1393, 2867, 271, 49131, 111973, 118869}}, +{14745, 18, 22308, {1, 1, 7, 13, 11, 51, 127, 27, 305, 265, 1755, 3189, 4679, 9721, 24409, 46941, 94353, 95643}}, +{14746, 18, 22318, {1, 1, 5, 11, 1, 63, 53, 149, 459, 155, 1431, 3969, 3417, 12121, 14535, 52089, 110745, 57}}, +{14747, 18, 22320, {1, 1, 5, 9, 23, 33, 17, 175, 313, 185, 101, 531, 2941, 14999, 31413, 12103, 33709, 260555}}, +{14748, 18, 22338, {1, 1, 3, 13, 3, 11, 67, 95, 211, 673, 23, 2379, 6985, 12101, 13021, 9255, 116437, 228877}}, +{14749, 18, 22350, {1, 1, 3, 15, 7, 51, 25, 109, 45, 691, 869, 485, 111, 11465, 27953, 54375, 10805, 221023}}, +{14750, 18, 22374, {1, 3, 7, 7, 17, 53, 59, 101, 221, 593, 587, 873, 931, 14617, 12067, 58655, 102437, 31675}}, +{14751, 18, 22388, {1, 1, 3, 15, 25, 57, 35, 231, 491, 671, 933, 3525, 1237, 10155, 27501, 50781, 23183, 108283}}, +{14752, 18, 22391, {1, 3, 5, 5, 31, 63, 117, 205, 199, 841, 1455, 3901, 2127, 13573, 20667, 49489, 60217, 197421}}, +{14753, 18, 22422, {1, 1, 3, 7, 15, 21, 73, 211, 421, 873, 607, 709, 9, 10985, 28653, 64579, 118145, 3095}}, +{14754, 18, 22426, {1, 1, 1, 13, 17, 53, 27, 105, 201, 399, 737, 3235, 1287, 13859, 6049, 62249, 88259, 52991}}, +{14755, 18, 22441, {1, 3, 7, 7, 25, 45, 67, 147, 275, 315, 1675, 2289, 4611, 6325, 26617, 38079, 125219, 23569}}, +{14756, 18, 22481, {1, 1, 7, 7, 9, 61, 115, 251, 297, 691, 1881, 1815, 7229, 10859, 8257, 38097, 87927, 162845}}, +{14757, 18, 22488, {1, 3, 3, 9, 9, 59, 17, 207, 433, 825, 93, 697, 7263, 15983, 14829, 47471, 17579, 151519}}, +{14758, 18, 22500, {1, 1, 1, 11, 21, 31, 7, 41, 383, 731, 2033, 3417, 4187, 5515, 10093, 15875, 78551, 2057}}, +{14759, 18, 22517, {1, 3, 7, 15, 5, 29, 7, 171, 129, 727, 1815, 1361, 6137, 10333, 22203, 361, 92437, 6545}}, +{14760, 18, 22531, {1, 1, 3, 13, 25, 45, 111, 69, 333, 365, 765, 2755, 3485, 2729, 23467, 64809, 120755, 169279}}, +{14761, 18, 22552, {1, 1, 3, 1, 19, 13, 33, 165, 157, 429, 1175, 3435, 7523, 5055, 12295, 34309, 36933, 164037}}, +{14762, 18, 22574, {1, 1, 3, 11, 31, 49, 37, 161, 465, 311, 1839, 689, 6837, 13473, 29883, 61587, 86077, 156921}}, +{14763, 18, 22579, {1, 3, 3, 1, 3, 23, 69, 159, 501, 303, 1495, 9, 6055, 545, 12247, 23413, 67247, 38137}}, +{14764, 18, 22582, {1, 1, 5, 15, 5, 39, 107, 121, 295, 167, 1055, 2703, 147, 7291, 3981, 51989, 92953, 225987}}, +{14765, 18, 22586, {1, 3, 1, 1, 21, 5, 91, 129, 57, 53, 365, 2497, 5017, 13535, 19305, 60447, 115467, 225317}}, +{14766, 18, 22594, {1, 3, 1, 7, 25, 17, 51, 15, 119, 1013, 719, 991, 2655, 12587, 15749, 11723, 18461, 155937}}, +{14767, 18, 22611, {1, 3, 7, 3, 25, 33, 59, 135, 501, 813, 235, 3775, 2781, 13137, 32673, 31643, 78881, 207651}}, +{14768, 18, 22614, {1, 1, 7, 13, 27, 51, 99, 189, 187, 577, 941, 1275, 7297, 14731, 12599, 49049, 96439, 35093}}, +{14769, 18, 22700, {1, 3, 1, 15, 9, 45, 1, 149, 305, 231, 935, 1377, 6345, 14795, 20969, 26263, 5711, 146949}}, +{14770, 18, 22711, {1, 1, 5, 9, 5, 9, 47, 127, 105, 517, 671, 67, 4639, 2477, 23109, 56707, 72131, 100709}}, +{14771, 18, 22749, {1, 3, 5, 3, 21, 23, 7, 193, 491, 197, 319, 3207, 2183, 2133, 3127, 34555, 53707, 170875}}, +{14772, 18, 22759, {1, 1, 3, 9, 5, 23, 109, 91, 359, 913, 179, 1031, 3617, 12497, 23299, 53293, 114603, 9931}}, +{14773, 18, 22774, {1, 3, 1, 5, 1, 47, 73, 103, 333, 483, 1015, 3085, 5229, 3171, 16539, 13493, 68957, 177645}}, +{14774, 18, 22777, {1, 1, 1, 9, 27, 15, 25, 255, 383, 501, 831, 2463, 237, 16065, 6991, 56503, 117303, 140573}}, +{14775, 18, 22780, {1, 1, 3, 5, 9, 25, 15, 179, 415, 729, 1163, 2649, 2907, 9591, 29129, 42775, 80537, 139897}}, +{14776, 18, 22783, {1, 1, 3, 7, 31, 15, 113, 1, 263, 685, 1953, 1479, 5143, 8585, 9057, 61479, 122065, 191541}}, +{14777, 18, 22785, {1, 3, 1, 11, 25, 47, 25, 229, 463, 197, 1123, 2665, 2345, 11701, 10435, 15205, 35437, 137619}}, +{14778, 18, 22840, {1, 3, 3, 5, 19, 57, 89, 101, 373, 283, 57, 1701, 5025, 6677, 20321, 58459, 9319, 161501}}, +{14779, 18, 22878, {1, 1, 1, 13, 3, 51, 111, 23, 325, 813, 441, 2371, 1993, 6839, 359, 9873, 33719, 208163}}, +{14780, 18, 22884, {1, 3, 1, 11, 23, 53, 35, 89, 91, 601, 433, 1671, 1919, 2115, 6355, 10639, 87305, 194185}}, +{14781, 18, 22888, {1, 1, 5, 9, 29, 31, 43, 153, 209, 835, 865, 2431, 1085, 9771, 14483, 19551, 98673, 146881}}, +{14782, 18, 22927, {1, 1, 7, 3, 7, 33, 49, 111, 111, 843, 479, 2113, 4575, 14911, 5161, 7153, 37525, 217887}}, +{14783, 18, 22941, {1, 1, 7, 9, 27, 5, 23, 217, 11, 79, 1637, 2047, 6697, 5601, 2877, 63497, 100127, 157833}}, +{14784, 18, 22951, {1, 1, 7, 11, 31, 41, 91, 39, 207, 185, 1163, 2115, 2963, 7605, 12597, 54175, 7221, 117129}}, +{14785, 18, 22958, {1, 3, 7, 13, 9, 15, 3, 47, 281, 451, 1111, 3585, 4505, 9465, 8047, 45893, 27179, 124373}}, +{14786, 18, 22980, {1, 3, 5, 11, 27, 29, 11, 221, 483, 29, 17, 1067, 6761, 39, 13419, 7263, 127547, 178951}}, +{14787, 18, 23007, {1, 3, 5, 5, 19, 3, 51, 155, 41, 251, 851, 1191, 4445, 8337, 25339, 32931, 4743, 31883}}, +{14788, 18, 23032, {1, 3, 7, 15, 9, 3, 113, 151, 239, 611, 381, 1141, 2865, 3071, 7293, 61997, 2891, 14533}}, +{14789, 18, 23041, {1, 3, 5, 3, 15, 59, 3, 37, 385, 587, 837, 2483, 5493, 10571, 26129, 44835, 63425, 246953}}, +{14790, 18, 23044, {1, 3, 5, 13, 9, 9, 93, 11, 139, 619, 581, 2859, 5481, 11941, 20661, 37463, 95369, 177009}}, +{14791, 18, 23059, {1, 1, 7, 11, 7, 17, 89, 7, 479, 377, 1631, 509, 7429, 13733, 24011, 24191, 98409, 180761}}, +{14792, 18, 23065, {1, 3, 7, 1, 5, 17, 51, 113, 181, 75, 1787, 2221, 6181, 16069, 3031, 32531, 107833, 239907}}, +{14793, 18, 23072, {1, 1, 5, 11, 3, 25, 13, 35, 311, 865, 873, 1811, 3101, 4445, 18155, 18647, 55693, 144963}}, +{14794, 18, 23137, {1, 3, 7, 13, 1, 9, 73, 189, 255, 301, 1579, 597, 6027, 15621, 27287, 14615, 76051, 143445}}, +{14795, 18, 23144, {1, 3, 1, 13, 19, 59, 11, 97, 501, 857, 1071, 3633, 8059, 2469, 16803, 49395, 73631, 114297}}, +{14796, 18, 23155, {1, 1, 1, 5, 19, 3, 59, 179, 343, 745, 497, 2965, 3841, 3119, 17707, 31577, 39801, 108819}}, +{14797, 18, 23162, {1, 3, 3, 9, 11, 17, 19, 199, 283, 229, 493, 631, 8133, 1531, 25271, 11353, 114759, 70655}}, +{14798, 18, 23167, {1, 1, 7, 7, 3, 11, 1, 95, 167, 863, 1009, 1695, 2773, 11667, 23515, 12927, 87883, 28773}}, +{14799, 18, 23183, {1, 3, 1, 15, 9, 1, 31, 243, 57, 349, 483, 659, 1971, 7971, 23797, 4403, 83837, 239261}}, +{14800, 18, 23192, {1, 3, 7, 5, 11, 17, 55, 5, 209, 233, 1969, 925, 695, 1321, 11965, 29849, 120519, 195105}}, +{14801, 18, 23197, {1, 3, 7, 11, 9, 45, 27, 9, 57, 649, 1801, 2653, 1535, 45, 8901, 28755, 26475, 112341}}, +{14802, 18, 23216, {1, 1, 3, 13, 11, 57, 103, 213, 193, 779, 541, 3685, 4191, 6105, 7199, 63659, 49673, 208361}}, +{14803, 18, 23221, {1, 3, 3, 7, 15, 15, 9, 207, 387, 429, 1213, 1703, 5753, 10261, 8705, 62783, 9643, 248591}}, +{14804, 18, 23228, {1, 3, 3, 15, 23, 17, 5, 83, 295, 685, 2003, 1723, 2799, 14699, 25171, 20275, 45597, 214107}}, +{14805, 18, 23233, {1, 1, 1, 15, 13, 33, 111, 69, 329, 273, 1303, 3377, 4151, 12547, 20411, 54845, 7839, 173939}}, +{14806, 18, 23234, {1, 1, 5, 15, 25, 31, 11, 75, 69, 501, 1485, 3659, 3889, 9715, 9633, 45313, 112377, 27799}}, +{14807, 18, 23251, {1, 1, 3, 11, 31, 27, 7, 25, 315, 593, 315, 275, 1453, 9429, 10023, 17939, 37651, 217435}}, +{14808, 18, 23257, {1, 3, 7, 7, 27, 41, 69, 95, 19, 763, 1733, 2097, 6723, 7051, 15209, 53047, 56117, 87639}}, +{14809, 18, 23258, {1, 3, 7, 5, 15, 61, 31, 19, 361, 571, 727, 405, 835, 4847, 26777, 50311, 104125, 127197}}, +{14810, 18, 23288, {1, 1, 1, 11, 11, 61, 59, 63, 409, 219, 1135, 3385, 5583, 16143, 22709, 31247, 19871, 68557}}, +{14811, 18, 23302, {1, 3, 7, 1, 11, 3, 121, 41, 135, 427, 1267, 2169, 507, 757, 12411, 50655, 75625, 1199}}, +{14812, 18, 23341, {1, 1, 7, 5, 17, 21, 89, 119, 55, 395, 979, 909, 1711, 3289, 8433, 9, 12743, 109027}}, +{14813, 18, 23373, {1, 1, 1, 13, 5, 11, 93, 35, 437, 173, 1157, 2749, 6855, 8307, 26145, 22593, 125415, 65509}}, +{14814, 18, 23402, {1, 1, 5, 3, 25, 27, 1, 173, 113, 373, 1769, 2941, 1895, 3399, 27665, 50613, 20747, 31903}}, +{14815, 18, 23409, {1, 1, 1, 1, 9, 7, 53, 73, 465, 725, 1537, 579, 83, 925, 15507, 13595, 16927, 205087}}, +{14816, 18, 23428, {1, 1, 3, 7, 7, 23, 31, 127, 27, 727, 1305, 3879, 817, 15995, 28607, 22695, 6367, 161587}}, +{14817, 18, 23435, {1, 3, 1, 7, 29, 23, 27, 117, 279, 917, 1105, 2061, 7719, 13633, 16501, 33739, 71939, 143115}}, +{14818, 18, 23440, {1, 3, 7, 11, 7, 27, 65, 133, 411, 441, 925, 1485, 2035, 3067, 14511, 58511, 120773, 228731}}, +{14819, 18, 23449, {1, 1, 3, 9, 21, 55, 27, 73, 175, 395, 1201, 2599, 3839, 11163, 5057, 3385, 43265, 105211}}, +{14820, 18, 23459, {1, 1, 1, 3, 7, 63, 91, 197, 417, 763, 1391, 3729, 2791, 1975, 23655, 50611, 110315, 86879}}, +{14821, 18, 23473, {1, 3, 3, 5, 31, 35, 67, 67, 89, 933, 1005, 1837, 5947, 2559, 27731, 25151, 102959, 81557}}, +{14822, 18, 23500, {1, 3, 3, 1, 3, 39, 57, 199, 87, 91, 1641, 3407, 2823, 10441, 26357, 56677, 17647, 86831}}, +{14823, 18, 23511, {1, 3, 5, 7, 15, 5, 49, 227, 395, 837, 1707, 1677, 1907, 13101, 1929, 61701, 1479, 80671}}, +{14824, 18, 23548, {1, 1, 1, 11, 17, 57, 37, 151, 61, 709, 2027, 2239, 3283, 5467, 17221, 40759, 91637, 258167}}, +{14825, 18, 23560, {1, 3, 5, 11, 27, 29, 121, 181, 503, 705, 225, 1111, 7183, 3219, 3233, 2085, 113619, 32959}}, +{14826, 18, 23563, {1, 1, 7, 5, 29, 31, 93, 113, 457, 161, 337, 2003, 1865, 13357, 19961, 51485, 62751, 111285}}, +{14827, 18, 23594, {1, 3, 1, 1, 23, 25, 65, 99, 11, 835, 661, 3291, 2655, 1135, 19957, 5029, 110483, 2499}}, +{14828, 18, 23601, {1, 1, 1, 1, 25, 21, 59, 203, 471, 697, 455, 1561, 3215, 609, 5097, 8715, 115705, 21441}}, +{14829, 18, 23625, {1, 1, 5, 13, 27, 37, 15, 175, 191, 975, 977, 401, 7053, 14291, 14621, 48989, 113033, 172569}}, +{14830, 18, 23640, {1, 3, 1, 1, 19, 11, 125, 53, 307, 421, 93, 2487, 5907, 2195, 30569, 21009, 20759, 246937}}, +{14831, 18, 23650, {1, 3, 7, 3, 23, 21, 103, 115, 453, 537, 473, 1069, 3007, 15111, 3477, 5635, 46423, 68633}}, +{14832, 18, 23662, {1, 3, 3, 1, 21, 1, 49, 197, 173, 775, 1877, 1309, 729, 3555, 5981, 32539, 22765, 171077}}, +{14833, 18, 23692, {1, 1, 3, 13, 19, 5, 75, 149, 441, 665, 1567, 2433, 8173, 12639, 27479, 47221, 66203, 89017}}, +{14834, 18, 23726, {1, 1, 1, 11, 1, 55, 99, 119, 491, 621, 619, 2521, 905, 11601, 26481, 2023, 127413, 220387}}, +{14835, 18, 23738, {1, 1, 7, 11, 9, 21, 57, 93, 243, 229, 1445, 997, 1317, 2327, 14141, 45787, 82295, 72823}}, +{14836, 18, 23743, {1, 3, 7, 3, 11, 7, 115, 143, 349, 507, 1047, 2573, 2491, 13351, 19019, 4857, 62781, 261261}}, +{14837, 18, 23755, {1, 1, 3, 1, 1, 13, 45, 227, 41, 947, 693, 2853, 7459, 1485, 22087, 61195, 111771, 136389}}, +{14838, 18, 23760, {1, 1, 3, 11, 13, 53, 49, 15, 425, 29, 681, 1493, 1385, 9555, 13291, 36735, 12351, 29293}}, +{14839, 18, 23799, {1, 1, 3, 1, 5, 19, 37, 45, 69, 209, 365, 3949, 6163, 5207, 9297, 21147, 71437, 40487}}, +{14840, 18, 23848, {1, 3, 3, 13, 31, 21, 9, 177, 95, 285, 1953, 1969, 7367, 7401, 12017, 9939, 11895, 213133}}, +{14841, 18, 23859, {1, 1, 7, 1, 1, 63, 103, 141, 39, 679, 123, 2941, 4335, 199, 12237, 6599, 48641, 140063}}, +{14842, 18, 23876, {1, 3, 7, 3, 31, 17, 21, 77, 65, 979, 109, 3325, 1781, 6983, 31477, 23149, 33943, 96137}}, +{14843, 18, 23897, {1, 3, 3, 5, 21, 5, 125, 117, 427, 381, 511, 2643, 409, 4945, 3167, 45879, 1469, 56077}}, +{14844, 18, 23907, {1, 3, 1, 5, 27, 43, 83, 31, 65, 645, 1205, 1387, 723, 15359, 13517, 23601, 61717, 47079}}, +{14845, 18, 23919, {1, 3, 3, 13, 15, 37, 101, 175, 225, 513, 483, 1291, 669, 5335, 16023, 287, 51819, 239803}}, +{14846, 18, 23921, {1, 3, 3, 3, 3, 1, 75, 175, 185, 949, 673, 2239, 4355, 10687, 27093, 37409, 23193, 211819}}, +{14847, 18, 23931, {1, 1, 3, 13, 21, 3, 41, 55, 243, 501, 285, 7, 6291, 7725, 17051, 45753, 115117, 14323}}, +{14848, 18, 23933, {1, 1, 1, 5, 13, 11, 51, 175, 435, 673, 67, 1525, 323, 5739, 19977, 62317, 97511, 130883}}, +{14849, 18, 23943, {1, 3, 5, 11, 7, 11, 97, 59, 295, 409, 453, 2439, 5217, 10315, 469, 31187, 17325, 158079}}, +{14850, 18, 23957, {1, 1, 3, 5, 31, 9, 15, 63, 411, 427, 277, 2687, 5021, 1507, 22453, 35559, 122081, 121669}}, +{14851, 18, 23986, {1, 3, 5, 13, 3, 21, 69, 51, 27, 571, 1981, 2729, 5733, 1225, 26821, 43763, 57355, 169279}}, +{14852, 18, 24020, {1, 1, 1, 13, 31, 37, 33, 19, 313, 341, 1141, 1689, 4511, 789, 15317, 61263, 79371, 65157}}, +{14853, 18, 24043, {1, 3, 3, 15, 27, 41, 107, 23, 499, 339, 273, 1937, 2743, 10879, 27127, 64817, 1217, 45863}}, +{14854, 18, 24064, {1, 1, 5, 9, 19, 43, 125, 223, 473, 489, 1999, 1513, 6479, 9511, 12503, 29419, 22559, 209499}}, +{14855, 18, 24082, {1, 3, 1, 13, 25, 55, 53, 61, 303, 337, 1325, 2525, 6503, 1155, 6841, 58167, 8175, 183949}}, +{14856, 18, 24084, {1, 3, 3, 11, 3, 15, 55, 105, 497, 527, 1007, 3545, 4187, 8723, 12761, 20751, 101583, 225373}}, +{14857, 18, 24088, {1, 3, 3, 9, 19, 59, 57, 215, 313, 871, 407, 2475, 879, 15147, 31945, 23939, 104073, 217619}}, +{14858, 18, 24117, {1, 1, 3, 1, 27, 23, 3, 43, 471, 757, 1525, 3003, 2779, 6731, 12423, 59621, 72935, 192283}}, +{14859, 18, 24149, {1, 3, 1, 7, 13, 23, 13, 91, 95, 745, 639, 2627, 4595, 11735, 4143, 23573, 98647, 171201}}, +{14860, 18, 24165, {1, 1, 1, 15, 3, 61, 33, 181, 351, 777, 1365, 1691, 2465, 5289, 24567, 8059, 95301, 75855}}, +{14861, 18, 24223, {1, 3, 5, 13, 1, 57, 57, 187, 1, 601, 563, 1703, 1307, 14673, 7793, 44589, 7629, 254071}}, +{14862, 18, 24247, {1, 1, 5, 13, 29, 17, 61, 233, 371, 909, 529, 185, 127, 15773, 19529, 49271, 26749, 70869}}, +{14863, 18, 24259, {1, 1, 3, 9, 21, 41, 37, 71, 505, 969, 301, 1667, 5879, 13187, 2461, 17301, 103673, 235133}}, +{14864, 18, 24283, {1, 3, 1, 3, 9, 13, 75, 63, 313, 273, 1061, 3821, 539, 9887, 19775, 17259, 93133, 217245}}, +{14865, 18, 24296, {1, 3, 5, 5, 21, 27, 9, 11, 461, 575, 507, 577, 4559, 9995, 13953, 61023, 121941, 195419}}, +{14866, 18, 24336, {1, 3, 3, 7, 17, 17, 45, 193, 271, 571, 1337, 2107, 1923, 4791, 23773, 60923, 58085, 81219}}, +{14867, 18, 24342, {1, 3, 1, 7, 11, 7, 85, 33, 231, 307, 993, 1509, 1427, 9545, 7919, 39775, 81145, 79139}}, +{14868, 18, 24389, {1, 3, 5, 3, 9, 57, 117, 187, 57, 719, 1635, 2499, 6747, 6649, 22643, 16429, 83233, 122057}}, +{14869, 18, 24394, {1, 1, 3, 11, 7, 39, 103, 221, 167, 181, 1355, 989, 3399, 9471, 10493, 57267, 106551, 158599}}, +{14870, 18, 24414, {1, 3, 1, 15, 23, 19, 29, 11, 355, 923, 1401, 509, 3647, 5663, 2353, 53217, 70687, 145613}}, +{14871, 18, 24424, {1, 3, 3, 11, 11, 5, 21, 107, 177, 429, 119, 1029, 5931, 7543, 15455, 62797, 118095, 35387}}, +{14872, 18, 24441, {1, 3, 5, 15, 19, 53, 17, 215, 279, 497, 1157, 2235, 5541, 5899, 20711, 20843, 113821, 164231}}, +{14873, 18, 24491, {1, 1, 1, 15, 21, 33, 67, 247, 55, 573, 1863, 2703, 5267, 4071, 18235, 44659, 102379, 171529}}, +{14874, 18, 24502, {1, 3, 1, 15, 5, 59, 69, 189, 313, 243, 339, 3097, 4999, 5909, 1903, 56143, 76209, 83073}}, +{14875, 18, 24534, {1, 3, 5, 15, 11, 41, 65, 207, 95, 115, 1203, 3731, 6845, 11173, 8281, 40623, 97119, 218455}}, +{14876, 18, 24540, {1, 3, 7, 13, 29, 57, 5, 31, 255, 539, 107, 953, 3707, 9233, 20295, 17459, 2005, 56193}}, +{14877, 18, 24543, {1, 1, 1, 15, 5, 31, 83, 165, 211, 433, 1411, 2949, 4817, 1645, 1693, 9877, 118493, 142923}}, +{14878, 18, 24549, {1, 3, 1, 11, 19, 61, 35, 21, 159, 159, 1717, 3227, 3351, 8641, 20575, 13721, 114649, 129201}}, +{14879, 18, 24567, {1, 3, 1, 13, 9, 41, 17, 7, 209, 501, 445, 23, 7911, 5867, 30129, 643, 36363, 52037}}, +{14880, 18, 24583, {1, 3, 5, 11, 31, 55, 27, 81, 413, 167, 599, 2231, 7055, 4013, 26729, 63927, 12075, 208123}}, +{14881, 18, 24693, {1, 1, 7, 9, 11, 39, 99, 187, 169, 999, 609, 3647, 2497, 8969, 30919, 29145, 67699, 51601}}, +{14882, 18, 24704, {1, 3, 1, 1, 11, 11, 69, 29, 197, 979, 1135, 869, 5435, 5151, 26349, 55911, 68051, 131849}}, +{14883, 18, 24719, {1, 1, 1, 5, 27, 1, 85, 145, 439, 585, 1713, 677, 1833, 14139, 5547, 31265, 82223, 47605}}, +{14884, 18, 24749, {1, 3, 5, 9, 17, 23, 31, 199, 447, 551, 683, 2977, 7839, 8681, 15923, 61057, 89875, 52945}}, +{14885, 18, 24799, {1, 1, 3, 11, 9, 17, 29, 125, 195, 123, 1259, 2729, 3099, 2229, 9683, 13121, 105399, 111833}}, +{14886, 18, 24830, {1, 3, 1, 3, 1, 47, 93, 117, 461, 633, 1641, 933, 7927, 13569, 483, 28159, 121561, 164325}}, +{14887, 18, 24835, {1, 3, 1, 5, 21, 19, 79, 183, 395, 23, 767, 519, 4857, 10385, 12425, 26207, 114623, 37125}}, +{14888, 18, 24907, {1, 1, 5, 5, 9, 47, 67, 217, 499, 843, 1539, 301, 1485, 3157, 22375, 47199, 26215, 182785}}, +{14889, 18, 24917, {1, 1, 1, 13, 9, 37, 87, 49, 445, 681, 1097, 1049, 4093, 13167, 18447, 58243, 41797, 217929}}, +{14890, 18, 24940, {1, 1, 5, 13, 13, 49, 21, 149, 79, 113, 1217, 921, 6321, 9345, 27987, 21723, 49249, 18813}}, +{14891, 18, 24943, {1, 3, 1, 3, 15, 27, 67, 69, 131, 713, 1741, 1955, 5665, 8749, 11971, 11257, 13999, 124535}}, +{14892, 18, 24958, {1, 3, 1, 3, 3, 11, 21, 167, 441, 557, 593, 3261, 3099, 2801, 21725, 23247, 106891, 129187}}, +{14893, 18, 24962, {1, 1, 1, 11, 5, 55, 33, 71, 505, 85, 1609, 521, 5459, 12777, 13007, 255, 67537, 2877}}, +{14894, 18, 24964, {1, 1, 1, 3, 31, 47, 49, 119, 351, 797, 1407, 4089, 2381, 12409, 12849, 23489, 53631, 119387}}, +{14895, 18, 24968, {1, 3, 5, 11, 25, 11, 25, 185, 85, 849, 141, 385, 3663, 13133, 8451, 61463, 35129, 149933}}, +{14896, 18, 25015, {1, 3, 7, 9, 23, 17, 21, 197, 15, 893, 939, 707, 5491, 7249, 14009, 18973, 111545, 36809}}, +{14897, 18, 25024, {1, 3, 3, 13, 23, 15, 19, 193, 223, 627, 1529, 1963, 1003, 7199, 15361, 25233, 110281, 221761}}, +{14898, 18, 25027, {1, 3, 3, 1, 17, 51, 61, 215, 311, 919, 349, 59, 2897, 12137, 5931, 37611, 124387, 83503}}, +{14899, 18, 25033, {1, 3, 7, 9, 13, 47, 53, 139, 481, 733, 389, 1209, 3281, 593, 29103, 61521, 41445, 11015}}, +{14900, 18, 25041, {1, 1, 1, 13, 3, 31, 19, 47, 151, 883, 1707, 827, 2129, 4333, 871, 42967, 79701, 192211}}, +{14901, 18, 25047, {1, 3, 3, 11, 11, 51, 121, 241, 199, 881, 1493, 2381, 5161, 13287, 8155, 52481, 120307, 206203}}, +{14902, 18, 25057, {1, 1, 1, 13, 15, 37, 27, 151, 17, 851, 1343, 1447, 43, 10267, 18267, 21347, 129277, 83987}}, +{14903, 18, 25082, {1, 1, 3, 3, 13, 17, 53, 217, 253, 853, 1461, 1953, 617, 4209, 9925, 377, 42789, 150415}}, +{14904, 18, 25093, {1, 3, 7, 11, 13, 23, 83, 235, 39, 701, 1091, 25, 1807, 15431, 2169, 5339, 123679, 117053}}, +{14905, 18, 25105, {1, 3, 7, 13, 3, 29, 43, 149, 33, 873, 1177, 1961, 7943, 11317, 30725, 55765, 50929, 12335}}, +{14906, 18, 25112, {1, 1, 3, 5, 25, 1, 91, 121, 295, 25, 1743, 2125, 2643, 11175, 15089, 44979, 28355, 543}}, +{14907, 18, 25117, {1, 1, 1, 13, 27, 27, 43, 195, 377, 821, 437, 3445, 2673, 15221, 15101, 25143, 22347, 218549}}, +{14908, 18, 25131, {1, 1, 3, 7, 9, 51, 121, 231, 91, 913, 1325, 167, 8067, 8119, 9307, 33551, 58069, 170567}}, +{14909, 18, 25139, {1, 3, 7, 7, 15, 7, 85, 51, 11, 353, 1117, 2479, 3091, 2377, 23589, 38537, 113047, 261285}}, +{14910, 18, 25194, {1, 1, 3, 5, 15, 33, 61, 145, 147, 815, 767, 9, 2059, 11463, 1883, 8565, 101043, 117565}}, +{14911, 18, 25204, {1, 3, 5, 3, 5, 49, 5, 33, 15, 13, 895, 3973, 7963, 3831, 26817, 10799, 111409, 90679}}, +{14912, 18, 25244, {1, 1, 5, 7, 5, 51, 35, 237, 217, 531, 719, 2711, 1937, 16071, 23233, 22799, 66023, 145739}}, +{14913, 18, 25247, {1, 3, 5, 1, 5, 63, 1, 163, 9, 697, 1379, 2989, 7113, 9821, 15941, 6495, 7825, 29715}}, +{14914, 18, 25253, {1, 3, 5, 7, 9, 41, 113, 173, 151, 963, 2019, 3531, 1133, 4287, 16917, 16929, 12345, 31201}}, +{14915, 18, 25258, {1, 3, 7, 1, 25, 9, 5, 195, 175, 297, 717, 3725, 33, 5155, 4405, 56171, 105597, 132407}}, +{14916, 18, 25275, {1, 1, 7, 7, 3, 59, 115, 95, 227, 951, 843, 619, 7791, 10981, 11773, 57651, 108391, 179561}}, +{14917, 18, 25320, {1, 3, 3, 1, 9, 3, 59, 161, 417, 413, 1933, 1027, 4575, 10427, 15643, 16049, 120089, 176607}}, +{14918, 18, 25338, {1, 3, 3, 3, 15, 1, 83, 195, 59, 859, 1669, 1063, 2069, 15875, 16459, 53741, 114521, 37641}}, +{14919, 18, 25343, {1, 1, 1, 11, 11, 45, 47, 143, 11, 239, 1329, 865, 2693, 899, 26265, 43255, 125679, 130099}}, +{14920, 18, 25351, {1, 3, 5, 3, 31, 51, 95, 127, 79, 167, 117, 3177, 5875, 14039, 20341, 47815, 118799, 211871}}, +{14921, 18, 25358, {1, 1, 1, 1, 3, 21, 65, 203, 11, 565, 537, 1307, 8189, 11423, 7745, 56117, 110959, 95361}}, +{14922, 18, 25372, {1, 1, 7, 7, 21, 63, 63, 231, 441, 127, 1943, 13, 4813, 10607, 23867, 43891, 15801, 173245}}, +{14923, 18, 25399, {1, 3, 3, 5, 25, 23, 123, 133, 129, 303, 1993, 1453, 1109, 4649, 30315, 62399, 121575, 60069}}, +{14924, 18, 25408, {1, 3, 5, 3, 29, 23, 69, 141, 137, 1017, 1915, 35, 3817, 6249, 22427, 7281, 88473, 230167}}, +{14925, 18, 25432, {1, 3, 7, 7, 19, 37, 93, 217, 287, 731, 583, 3377, 2879, 4873, 5549, 52949, 127285, 211173}}, +{14926, 18, 25442, {1, 1, 5, 7, 23, 41, 49, 145, 277, 571, 1225, 455, 2133, 1229, 25421, 20179, 70919, 242825}}, +{14927, 18, 25462, {1, 3, 5, 5, 29, 3, 1, 89, 413, 901, 1343, 3963, 6969, 14649, 18331, 4573, 82077, 100693}}, +{14928, 18, 25465, {1, 1, 1, 13, 31, 53, 107, 95, 151, 539, 1593, 3763, 1007, 8959, 25235, 16461, 121819, 106143}}, +{14929, 18, 25468, {1, 1, 1, 3, 11, 15, 5, 157, 347, 81, 2013, 2025, 6541, 12287, 1315, 23285, 23539, 75027}}, +{14930, 18, 25482, {1, 1, 5, 7, 17, 11, 65, 157, 93, 607, 1445, 4089, 3139, 4699, 1225, 58935, 93673, 146467}}, +{14931, 18, 25489, {1, 3, 3, 13, 29, 59, 69, 141, 257, 463, 93, 649, 8179, 15205, 6943, 45317, 31269, 70825}}, +{14932, 18, 25490, {1, 3, 5, 9, 23, 39, 113, 61, 315, 463, 1739, 149, 6007, 2789, 12021, 969, 18551, 153669}}, +{14933, 18, 25505, {1, 1, 3, 15, 19, 9, 23, 211, 265, 877, 325, 2635, 8131, 4957, 24371, 60975, 3887, 198927}}, +{14934, 18, 25511, {1, 1, 3, 11, 29, 31, 5, 105, 157, 573, 2009, 1701, 1549, 1641, 17429, 13587, 48421, 8675}}, +{14935, 18, 25512, {1, 1, 5, 13, 3, 13, 17, 55, 101, 369, 705, 3635, 5195, 10439, 12881, 21565, 1671, 75489}}, +{14936, 18, 25552, {1, 3, 3, 1, 1, 23, 85, 189, 347, 205, 5, 3465, 3269, 3347, 10163, 26921, 86555, 9387}}, +{14937, 18, 25555, {1, 3, 7, 15, 27, 21, 79, 151, 279, 627, 1093, 1929, 5549, 12141, 5245, 55747, 65939, 193759}}, +{14938, 18, 25595, {1, 1, 1, 5, 5, 23, 57, 235, 143, 129, 795, 35, 4375, 12577, 871, 20879, 82811, 52279}}, +{14939, 18, 25636, {1, 3, 1, 5, 11, 1, 125, 99, 89, 629, 857, 2631, 393, 15075, 27473, 42695, 61505, 239651}}, +{14940, 18, 25672, {1, 1, 5, 1, 9, 11, 55, 203, 453, 677, 259, 1979, 4101, 16067, 26783, 17907, 75349, 62797}}, +{14941, 18, 25685, {1, 3, 7, 5, 5, 19, 85, 165, 341, 405, 1779, 87, 889, 265, 9851, 36175, 69697, 123769}}, +{14942, 18, 25696, {1, 3, 7, 1, 7, 49, 93, 57, 85, 597, 183, 3253, 6301, 9307, 8753, 38133, 58743, 19621}}, +{14943, 18, 25720, {1, 1, 3, 9, 1, 15, 125, 215, 391, 141, 87, 37, 4333, 5033, 30549, 64281, 18577, 156093}}, +{14944, 18, 25730, {1, 3, 3, 15, 17, 25, 29, 81, 339, 865, 1619, 773, 901, 8163, 22275, 57159, 119951, 137451}}, +{14945, 18, 25735, {1, 3, 5, 15, 7, 57, 113, 221, 13, 49, 1653, 3695, 4423, 4383, 28669, 64175, 130355, 202543}}, +{14946, 18, 25753, {1, 1, 3, 9, 29, 21, 19, 119, 409, 717, 1853, 3981, 4489, 3985, 31205, 10423, 13223, 131973}}, +{14947, 18, 25756, {1, 1, 3, 15, 29, 7, 1, 85, 133, 345, 317, 2363, 7803, 4975, 19441, 10497, 42059, 131531}}, +{14948, 18, 25769, {1, 1, 7, 13, 3, 53, 49, 27, 487, 901, 801, 335, 6317, 14205, 26655, 52747, 102659, 231359}}, +{14949, 18, 25821, {1, 3, 3, 3, 13, 33, 113, 107, 407, 499, 903, 3059, 1343, 11859, 6315, 23071, 73627, 44239}}, +{14950, 18, 25825, {1, 3, 5, 15, 1, 53, 59, 247, 213, 981, 443, 3, 615, 12067, 3881, 61759, 101219, 110407}}, +{14951, 18, 25840, {1, 3, 5, 13, 7, 31, 87, 161, 61, 1023, 147, 2075, 7245, 9025, 7229, 60935, 104481, 169561}}, +{14952, 18, 25860, {1, 3, 1, 15, 25, 17, 53, 107, 311, 621, 1493, 2443, 4635, 12163, 12543, 43031, 90843, 139645}}, +{14953, 18, 25869, {1, 3, 5, 11, 7, 49, 91, 165, 91, 329, 493, 3533, 7429, 7047, 14767, 31641, 62005, 77267}}, +{14954, 18, 25872, {1, 1, 3, 9, 31, 21, 19, 167, 185, 199, 1989, 1093, 4213, 4769, 21659, 19685, 122123, 215233}}, +{14955, 18, 25956, {1, 3, 3, 7, 27, 23, 99, 205, 365, 689, 1281, 419, 4207, 5355, 20245, 25029, 123029, 61499}}, +{14956, 18, 25973, {1, 3, 3, 7, 19, 15, 29, 185, 165, 203, 1859, 2895, 6361, 6331, 13641, 42577, 33757, 41305}}, +{14957, 18, 25994, {1, 3, 5, 11, 21, 43, 15, 11, 425, 125, 1597, 1109, 3335, 7009, 20799, 41261, 127813, 181261}}, +{14958, 18, 26002, {1, 1, 5, 5, 27, 35, 35, 159, 111, 1011, 1487, 813, 4985, 2555, 23741, 44675, 97159, 250477}}, +{14959, 18, 26020, {1, 3, 3, 7, 17, 41, 81, 187, 367, 767, 1345, 205, 5797, 9129, 21973, 39911, 130131, 96891}}, +{14960, 18, 26023, {1, 3, 5, 1, 1, 47, 57, 177, 127, 791, 1427, 1895, 5995, 12569, 32711, 58599, 55641, 80405}}, +{14961, 18, 26041, {1, 3, 3, 1, 23, 13, 115, 81, 511, 677, 775, 3143, 4963, 7093, 15963, 59893, 22609, 137601}}, +{14962, 18, 26044, {1, 1, 5, 9, 17, 17, 115, 127, 397, 139, 1171, 207, 3485, 15869, 465, 26267, 29957, 205459}}, +{14963, 18, 26069, {1, 3, 7, 3, 9, 29, 23, 189, 447, 481, 753, 2415, 2669, 6007, 15201, 7317, 18861, 173759}}, +{14964, 18, 26097, {1, 3, 5, 7, 13, 43, 13, 163, 363, 683, 1869, 1237, 2523, 3661, 13887, 5593, 91513, 220177}}, +{14965, 18, 26113, {1, 1, 1, 11, 7, 11, 43, 39, 319, 793, 375, 3159, 7621, 8965, 25743, 351, 31873, 18115}}, +{14966, 18, 26138, {1, 1, 5, 5, 11, 57, 79, 147, 55, 553, 417, 1365, 3979, 9789, 22677, 58645, 104549, 9019}}, +{14967, 18, 26167, {1, 1, 3, 11, 17, 37, 127, 5, 165, 867, 79, 2259, 197, 4789, 28109, 46721, 3431, 118939}}, +{14968, 18, 26216, {1, 1, 5, 13, 19, 45, 113, 11, 125, 351, 1753, 3201, 1697, 2567, 9717, 22247, 84309, 248583}}, +{14969, 18, 26230, {1, 1, 5, 9, 5, 37, 65, 47, 261, 855, 1573, 2267, 7977, 13029, 32527, 59805, 103591, 180041}}, +{14970, 18, 26243, {1, 3, 3, 9, 31, 5, 115, 159, 111, 899, 1907, 2671, 1575, 7021, 10281, 34905, 641, 63549}}, +{14971, 18, 26245, {1, 3, 5, 1, 17, 61, 45, 9, 375, 761, 117, 1767, 4657, 12217, 12067, 42807, 118587, 72715}}, +{14972, 18, 26263, {1, 1, 1, 13, 3, 3, 93, 3, 351, 97, 119, 1743, 81, 12761, 22529, 47191, 111315, 256501}}, +{14973, 18, 26264, {1, 1, 5, 7, 29, 23, 41, 9, 231, 567, 1565, 3539, 7241, 11535, 7375, 10391, 127045, 9371}}, +{14974, 18, 26269, {1, 1, 1, 15, 23, 47, 39, 57, 73, 809, 513, 3233, 8071, 8595, 13817, 821, 89091, 107173}}, +{14975, 18, 26311, {1, 1, 1, 13, 13, 43, 75, 239, 487, 175, 1561, 3925, 3743, 14247, 15713, 55005, 116135, 199827}}, +{14976, 18, 26346, {1, 1, 3, 7, 13, 15, 67, 147, 77, 241, 1763, 651, 1107, 4943, 15651, 23259, 45931, 34717}}, +{14977, 18, 26354, {1, 1, 3, 5, 15, 15, 67, 153, 163, 179, 1567, 685, 3245, 2205, 8373, 56567, 32091, 23313}}, +{14978, 18, 26365, {1, 1, 7, 9, 1, 27, 79, 209, 263, 517, 635, 3, 103, 2173, 22659, 11319, 103757, 144449}}, +{14979, 18, 26368, {1, 1, 1, 5, 11, 63, 21, 89, 443, 775, 327, 1559, 1421, 2309, 18597, 46385, 16547, 186813}}, +{14980, 18, 26398, {1, 1, 7, 9, 27, 37, 43, 7, 305, 117, 1103, 1801, 3349, 12225, 28215, 8857, 118677, 88909}}, +{14981, 18, 26401, {1, 3, 3, 7, 15, 59, 21, 19, 371, 81, 755, 1565, 4823, 16363, 20301, 33571, 74423, 177205}}, +{14982, 18, 26426, {1, 1, 3, 9, 15, 33, 23, 31, 171, 713, 271, 2437, 3609, 4271, 24355, 46283, 121767, 188501}}, +{14983, 18, 26436, {1, 1, 1, 1, 21, 3, 3, 241, 339, 211, 443, 1577, 343, 2625, 1077, 29933, 106401, 51439}}, +{14984, 18, 26443, {1, 3, 5, 15, 13, 31, 11, 167, 15, 101, 373, 2095, 3017, 1347, 15029, 6579, 21233, 87589}}, +{14985, 18, 26448, {1, 3, 1, 3, 15, 1, 61, 239, 13, 867, 1621, 2275, 5757, 8275, 7923, 44469, 113513, 84927}}, +{14986, 18, 26458, {1, 1, 1, 13, 23, 27, 101, 25, 459, 517, 127, 1131, 669, 13209, 23671, 3379, 66091, 72919}}, +{14987, 18, 26464, {1, 3, 5, 7, 29, 53, 25, 185, 101, 707, 281, 183, 2823, 7241, 3127, 48093, 20195, 208349}}, +{14988, 18, 26476, {1, 3, 3, 15, 31, 11, 3, 165, 453, 609, 1053, 3937, 1989, 13887, 13415, 8005, 103537, 17853}}, +{14989, 18, 26503, {1, 1, 3, 7, 3, 41, 13, 67, 227, 265, 767, 391, 1835, 8827, 13131, 42605, 117089, 12475}}, +{14990, 18, 26504, {1, 1, 7, 3, 15, 31, 45, 157, 261, 207, 1109, 1587, 5389, 13239, 31697, 35969, 79839, 209633}}, +{14991, 18, 26515, {1, 1, 5, 9, 31, 3, 35, 187, 5, 945, 633, 2645, 171, 2221, 18369, 41765, 82373, 8007}}, +{14992, 18, 26531, {1, 1, 7, 7, 3, 57, 73, 103, 245, 811, 1637, 101, 6335, 9911, 663, 21779, 31681, 119141}}, +{14993, 18, 26548, {1, 1, 5, 13, 27, 25, 5, 203, 183, 251, 1803, 665, 6295, 965, 5269, 379, 78455, 7097}}, +{14994, 18, 26570, {1, 1, 5, 3, 19, 55, 45, 161, 481, 737, 1903, 1093, 3313, 4427, 7959, 6231, 94769, 123827}}, +{14995, 18, 26589, {1, 1, 7, 11, 29, 41, 77, 165, 49, 875, 137, 2003, 8093, 1941, 25979, 10765, 99241, 71275}}, +{14996, 18, 26594, {1, 3, 5, 3, 23, 1, 89, 163, 293, 701, 29, 2543, 4487, 14873, 28123, 48643, 31633, 74179}}, +{14997, 18, 26608, {1, 1, 7, 1, 13, 33, 33, 173, 111, 959, 205, 1633, 3127, 3963, 6455, 41809, 60655, 247121}}, +{14998, 18, 26623, {1, 3, 5, 13, 1, 49, 87, 217, 381, 125, 823, 837, 3967, 8157, 11097, 35721, 93591, 3939}}, +{14999, 18, 26678, {1, 3, 7, 1, 7, 27, 29, 21, 295, 127, 823, 2409, 1873, 2417, 27961, 39211, 14785, 71557}}, +{15000, 18, 26690, {1, 3, 1, 5, 31, 59, 43, 121, 217, 417, 2029, 3983, 5629, 10447, 1073, 57515, 58849, 178927}}, +{15001, 18, 26709, {1, 3, 3, 11, 5, 59, 45, 39, 269, 483, 757, 3245, 4383, 11127, 26535, 17395, 60953, 259333}}, +{15002, 18, 26725, {1, 1, 1, 5, 5, 49, 81, 241, 371, 353, 1293, 3375, 6725, 11891, 5973, 13901, 37999, 17751}}, +{15003, 18, 26744, {1, 3, 3, 7, 31, 21, 45, 107, 33, 911, 1869, 2643, 2655, 3979, 5509, 33065, 128463, 246937}}, +{15004, 18, 26763, {1, 1, 1, 1, 31, 33, 99, 29, 485, 11, 1423, 1775, 2045, 741, 30691, 53957, 13891, 57303}}, +{15005, 18, 26765, {1, 1, 7, 13, 7, 37, 117, 121, 51, 743, 887, 1769, 1049, 12859, 1663, 27763, 90969, 38935}}, +{15006, 18, 26768, {1, 3, 5, 7, 3, 41, 121, 89, 461, 979, 457, 2973, 8109, 13819, 30237, 54671, 66967, 135233}}, +{15007, 18, 26784, {1, 1, 7, 13, 13, 47, 51, 121, 295, 847, 681, 1163, 8123, 14179, 26561, 54057, 74043, 146155}}, +{15008, 18, 26802, {1, 3, 3, 11, 21, 15, 9, 85, 445, 11, 1525, 3165, 5929, 12481, 10769, 31885, 51487, 248933}}, +{15009, 18, 26814, {1, 3, 1, 9, 25, 41, 59, 139, 293, 1021, 2043, 967, 3949, 7309, 6545, 62761, 37761, 22395}}, +{15010, 18, 26856, {1, 3, 7, 15, 25, 45, 29, 75, 283, 845, 687, 3285, 7263, 10237, 5343, 58635, 85137, 2387}}, +{15011, 18, 26861, {1, 1, 3, 15, 29, 33, 111, 175, 251, 181, 709, 1373, 1661, 1155, 30479, 57823, 28809, 74117}}, +{15012, 18, 26862, {1, 3, 3, 5, 11, 37, 55, 155, 439, 173, 1861, 1713, 1675, 12119, 12531, 50995, 124657, 58321}}, +{15013, 18, 26894, {1, 1, 5, 13, 1, 23, 27, 141, 3, 985, 1439, 781, 7381, 2223, 26673, 46607, 54953, 24547}}, +{15014, 18, 26908, {1, 1, 5, 7, 5, 3, 41, 115, 503, 731, 633, 3631, 3455, 15937, 22639, 41163, 65243, 233749}}, +{15015, 18, 26915, {1, 3, 1, 1, 5, 57, 89, 35, 53, 653, 1763, 1247, 6999, 1811, 28191, 52327, 129421, 191093}}, +{15016, 18, 26929, {1, 3, 3, 9, 3, 27, 107, 13, 475, 409, 1623, 483, 3127, 12841, 4777, 36157, 24967, 89795}}, +{15017, 18, 26930, {1, 1, 3, 5, 7, 29, 15, 225, 257, 923, 251, 21, 4559, 3571, 9351, 1739, 37393, 170789}}, +{15018, 18, 26939, {1, 3, 7, 5, 11, 7, 107, 237, 343, 665, 767, 2293, 4781, 4811, 11227, 25045, 3951, 44307}}, +{15019, 18, 26941, {1, 3, 7, 7, 13, 31, 47, 9, 121, 441, 1011, 2015, 8053, 355, 13441, 23213, 60675, 259761}}, +{15020, 18, 26987, {1, 1, 5, 9, 21, 61, 85, 141, 271, 577, 17, 243, 3049, 2479, 28947, 53351, 67379, 211133}}, +{15021, 18, 27023, {1, 1, 1, 15, 23, 1, 119, 141, 311, 543, 1463, 3633, 8111, 9439, 4147, 64913, 28261, 197217}}, +{15022, 18, 27066, {1, 3, 1, 15, 15, 33, 125, 231, 225, 797, 605, 259, 3673, 10423, 7541, 26289, 61681, 136463}}, +{15023, 18, 27079, {1, 3, 1, 13, 23, 15, 15, 151, 289, 657, 1883, 2923, 6861, 1411, 17159, 9353, 79463, 135813}}, +{15024, 18, 27086, {1, 3, 7, 11, 5, 59, 101, 167, 291, 63, 753, 1105, 8173, 2389, 22097, 7207, 110377, 15797}}, +{15025, 18, 27091, {1, 3, 7, 15, 7, 9, 7, 135, 303, 675, 1803, 2827, 1711, 9543, 16567, 24075, 17065, 22193}}, +{15026, 18, 27113, {1, 3, 5, 7, 17, 7, 125, 57, 423, 733, 1813, 4031, 713, 10687, 27315, 37599, 78807, 103429}}, +{15027, 18, 27157, {1, 1, 5, 15, 21, 11, 87, 21, 415, 571, 1169, 2561, 7071, 12499, 195, 20111, 116757, 157731}}, +{15028, 18, 27174, {1, 3, 3, 15, 7, 33, 11, 241, 23, 189, 599, 2891, 2829, 13327, 21777, 57733, 38583, 162161}}, +{15029, 18, 27188, {1, 1, 1, 15, 3, 49, 7, 143, 291, 301, 1439, 793, 3447, 1167, 2815, 24875, 117437, 112561}}, +{15030, 18, 27191, {1, 3, 5, 13, 29, 11, 51, 255, 365, 741, 1919, 2091, 2865, 12721, 4329, 37281, 128703, 739}}, +{15031, 18, 27197, {1, 1, 1, 13, 19, 31, 39, 141, 81, 133, 297, 3837, 7537, 16043, 11755, 10289, 74399, 95371}}, +{15032, 18, 27206, {1, 1, 7, 5, 21, 35, 125, 109, 241, 217, 1219, 2617, 1925, 9573, 19305, 44689, 89365, 248869}}, +{15033, 18, 27210, {1, 3, 5, 5, 13, 33, 43, 221, 325, 267, 837, 809, 6025, 9847, 9267, 13465, 45937, 204339}}, +{15034, 18, 27245, {1, 3, 1, 3, 25, 53, 85, 249, 105, 619, 917, 1213, 5365, 6197, 22929, 27529, 71011, 141651}}, +{15035, 18, 27254, {1, 1, 5, 1, 29, 9, 27, 161, 269, 775, 1043, 303, 4503, 5059, 479, 17237, 51383, 152495}}, +{15036, 18, 27383, {1, 3, 1, 5, 19, 5, 127, 139, 1, 461, 943, 593, 7457, 3357, 1909, 64633, 91811, 92703}}, +{15037, 18, 27387, {1, 1, 5, 7, 1, 21, 83, 29, 123, 83, 1085, 2727, 651, 15801, 20561, 34821, 17671, 162227}}, +{15038, 18, 27416, {1, 3, 7, 1, 19, 59, 33, 195, 81, 69, 51, 1473, 3873, 4247, 3587, 4293, 30831, 245345}}, +{15039, 18, 27422, {1, 3, 1, 3, 23, 27, 19, 115, 275, 293, 705, 131, 1001, 8881, 30165, 25149, 38679, 175167}}, +{15040, 18, 27472, {1, 1, 3, 15, 11, 11, 79, 55, 323, 217, 859, 897, 6567, 12529, 3161, 13009, 100787, 3501}}, +{15041, 18, 27478, {1, 3, 1, 15, 17, 63, 51, 71, 55, 207, 1095, 2527, 611, 9281, 7375, 14553, 16021, 88537}}, +{15042, 18, 27548, {1, 1, 7, 9, 11, 23, 95, 25, 327, 873, 575, 3583, 6587, 137, 23737, 59341, 83281, 93541}}, +{15043, 18, 27579, {1, 1, 5, 7, 15, 37, 89, 105, 471, 757, 103, 3747, 3565, 4957, 23537, 16193, 84843, 256757}}, +{15044, 18, 27582, {1, 3, 5, 1, 15, 17, 119, 231, 387, 715, 797, 3807, 4985, 8335, 4885, 45541, 69597, 238599}}, +{15045, 18, 27589, {1, 1, 3, 1, 7, 21, 87, 205, 39, 503, 433, 3643, 4719, 2051, 10049, 28997, 75981, 253647}}, +{15046, 18, 27593, {1, 3, 1, 13, 9, 21, 103, 63, 27, 267, 185, 3507, 3009, 5183, 2261, 40249, 33733, 70493}}, +{15047, 18, 27613, {1, 1, 3, 13, 7, 7, 79, 13, 141, 327, 1035, 1699, 6273, 5621, 13877, 57607, 50207, 184643}}, +{15048, 18, 27649, {1, 1, 3, 1, 9, 19, 75, 99, 115, 469, 1025, 1999, 1985, 9975, 11069, 59113, 80877, 124153}}, +{15049, 18, 27717, {1, 3, 5, 7, 19, 27, 47, 3, 313, 575, 107, 991, 2575, 11001, 12323, 21443, 126245, 219649}}, +{15050, 18, 27729, {1, 1, 1, 5, 19, 33, 13, 1, 357, 225, 1355, 1827, 7127, 6387, 19299, 24935, 26847, 251433}}, +{15051, 18, 27751, {1, 1, 1, 5, 3, 3, 113, 19, 425, 209, 159, 347, 1349, 6771, 13125, 8393, 21435, 186369}}, +{15052, 18, 27757, {1, 1, 5, 11, 5, 39, 95, 3, 193, 741, 1755, 3361, 1927, 12909, 5413, 29111, 123429, 109191}}, +{15053, 18, 27766, {1, 1, 1, 13, 31, 23, 43, 163, 421, 719, 457, 3149, 7741, 1465, 15719, 42831, 99051, 164675}}, +{15054, 18, 27791, {1, 1, 1, 7, 15, 1, 29, 15, 9, 577, 269, 31, 4361, 5081, 32185, 54869, 115105, 151233}}, +{15055, 18, 27794, {1, 1, 1, 11, 19, 3, 67, 3, 377, 487, 1287, 3463, 6523, 15237, 3171, 38673, 7359, 29739}}, +{15056, 18, 27854, {1, 3, 5, 11, 9, 13, 47, 191, 97, 641, 807, 1085, 1537, 2855, 24615, 32383, 66425, 53713}}, +{15057, 18, 27856, {1, 1, 5, 7, 19, 25, 93, 1, 21, 853, 813, 2535, 4291, 9051, 3385, 507, 73889, 85397}}, +{15058, 18, 27866, {1, 1, 3, 13, 7, 15, 103, 199, 83, 585, 1859, 2089, 839, 8923, 14615, 3399, 7703, 229937}}, +{15059, 18, 27875, {1, 1, 3, 3, 11, 23, 125, 135, 475, 613, 327, 339, 3081, 13221, 4889, 41233, 36547, 195357}}, +{15060, 18, 27902, {1, 3, 7, 7, 19, 23, 85, 217, 501, 447, 1873, 2175, 6753, 2825, 5171, 47561, 13321, 59583}}, +{15061, 18, 27916, {1, 1, 5, 13, 23, 59, 109, 195, 487, 785, 21, 1595, 5641, 10103, 8115, 60647, 78425, 237379}}, +{15062, 18, 27924, {1, 1, 3, 15, 21, 17, 85, 51, 369, 475, 1021, 1129, 7233, 6593, 12467, 55399, 128157, 80539}}, +{15063, 18, 27933, {1, 3, 3, 9, 31, 27, 69, 145, 489, 251, 1997, 1157, 2027, 16109, 4085, 24859, 63561, 79591}}, +{15064, 18, 27940, {1, 3, 3, 5, 29, 49, 41, 185, 405, 471, 431, 3539, 6593, 1185, 24383, 17009, 111215, 79839}}, +{15065, 18, 27947, {1, 1, 7, 3, 3, 15, 97, 157, 301, 227, 717, 3291, 2471, 11515, 30657, 30745, 72147, 98653}}, +{15066, 18, 27969, {1, 3, 5, 1, 23, 21, 67, 223, 185, 385, 137, 2897, 2423, 6119, 28471, 52269, 95725, 9105}}, +{15067, 18, 27981, {1, 3, 3, 11, 19, 1, 111, 131, 293, 495, 1043, 631, 1375, 15347, 22029, 29163, 120025, 81631}}, +{15068, 18, 27996, {1, 1, 7, 5, 17, 55, 47, 183, 367, 81, 555, 2857, 4787, 5605, 32053, 11815, 81771, 234993}}, +{15069, 18, 28005, {1, 3, 7, 15, 15, 49, 45, 221, 49, 299, 887, 3991, 2097, 10819, 23297, 1823, 11319, 205273}}, +{15070, 18, 28030, {1, 1, 1, 1, 1, 15, 91, 253, 213, 849, 501, 1073, 5503, 1379, 28887, 51811, 109763, 226149}}, +{15071, 18, 28064, {1, 1, 1, 7, 27, 39, 17, 29, 359, 655, 1695, 1781, 1203, 1125, 8983, 3477, 13925, 218399}}, +{15072, 18, 28102, {1, 3, 7, 13, 1, 25, 33, 185, 87, 19, 151, 371, 1221, 4859, 20103, 11435, 104263, 218515}}, +{15073, 18, 28108, {1, 1, 3, 5, 17, 43, 29, 149, 207, 39, 1539, 2933, 6825, 12391, 18163, 24543, 35305, 196295}}, +{15074, 18, 28120, {1, 3, 7, 9, 21, 61, 69, 231, 401, 95, 1757, 839, 3395, 7573, 6583, 34621, 119303, 20767}}, +{15075, 18, 28125, {1, 1, 7, 1, 25, 53, 63, 105, 241, 591, 23, 3219, 2387, 13945, 3047, 30939, 63243, 60941}}, +{15076, 18, 28130, {1, 1, 5, 7, 25, 47, 7, 227, 57, 279, 81, 4017, 3117, 6229, 20029, 30031, 25049, 102291}}, +{15077, 18, 28142, {1, 3, 3, 1, 21, 15, 69, 57, 311, 9, 853, 3377, 2949, 4781, 15419, 54741, 11603, 136821}}, +{15078, 18, 28149, {1, 3, 3, 13, 13, 5, 103, 253, 27, 449, 821, 3241, 41, 6643, 15217, 61691, 58463, 46117}}, +{15079, 18, 28165, {1, 1, 7, 7, 27, 51, 1, 239, 71, 955, 145, 1059, 5645, 7025, 4839, 11459, 3051, 235989}}, +{15080, 18, 28169, {1, 1, 5, 15, 15, 13, 33, 21, 209, 681, 1163, 3109, 1441, 6895, 20829, 48769, 35373, 195171}}, +{15081, 18, 28177, {1, 1, 7, 3, 11, 7, 25, 27, 463, 77, 1293, 1977, 4931, 8089, 11079, 14793, 123049, 32259}}, +{15082, 18, 28211, {1, 3, 1, 15, 11, 49, 7, 103, 79, 773, 235, 1653, 6477, 8835, 26627, 61101, 40633, 98155}}, +{15083, 18, 28213, {1, 3, 5, 7, 3, 53, 77, 197, 49, 57, 1533, 3485, 6603, 1131, 9073, 37023, 85293, 170883}}, +{15084, 18, 28220, {1, 3, 7, 15, 23, 5, 125, 75, 413, 521, 1897, 1099, 35, 2013, 687, 51511, 21359, 19995}}, +{15085, 18, 28261, {1, 3, 1, 11, 19, 13, 91, 181, 39, 613, 1917, 3149, 669, 9927, 20967, 38313, 13537, 181873}}, +{15086, 18, 28271, {1, 3, 5, 7, 5, 23, 25, 145, 189, 679, 483, 2689, 2855, 9631, 8863, 34841, 83311, 211507}}, +{15087, 18, 28299, {1, 3, 5, 15, 15, 15, 87, 53, 309, 807, 1405, 259, 3181, 12187, 31529, 8861, 70557, 247787}}, +{15088, 18, 28326, {1, 1, 7, 13, 7, 15, 1, 205, 91, 325, 1371, 531, 4917, 10291, 30827, 32491, 34497, 250301}}, +{15089, 18, 28330, {1, 3, 1, 11, 29, 17, 97, 37, 259, 1021, 1705, 4001, 4385, 7047, 14593, 63443, 3283, 18195}}, +{15090, 18, 28350, {1, 1, 7, 9, 9, 55, 11, 113, 351, 513, 197, 873, 1595, 11331, 27711, 419, 73097, 144357}}, +{15091, 18, 28355, {1, 3, 7, 15, 29, 31, 37, 15, 233, 573, 1457, 293, 5437, 15909, 3087, 24535, 6507, 173555}}, +{15092, 18, 28367, {1, 1, 1, 7, 7, 47, 81, 241, 257, 389, 233, 3275, 919, 14911, 14473, 58457, 78195, 121421}}, +{15093, 18, 28376, {1, 3, 7, 13, 1, 63, 9, 233, 231, 771, 1851, 3829, 7089, 4573, 13297, 58963, 2065, 8365}}, +{15094, 18, 28379, {1, 1, 5, 1, 31, 45, 45, 209, 77, 977, 159, 1521, 969, 10115, 32387, 52821, 124209, 51841}}, +{15095, 18, 28381, {1, 3, 5, 5, 13, 27, 53, 171, 91, 743, 217, 3805, 7721, 15127, 20679, 57459, 53649, 16381}}, +{15096, 18, 28447, {1, 3, 1, 15, 23, 43, 105, 169, 143, 759, 463, 1237, 3311, 2919, 16675, 53049, 12403, 153651}}, +{15097, 18, 28465, {1, 3, 3, 11, 5, 27, 1, 135, 17, 683, 679, 2591, 2929, 12417, 18379, 61903, 81991, 25231}}, +{15098, 18, 28471, {1, 1, 1, 5, 13, 59, 73, 119, 369, 445, 553, 243, 7523, 1105, 20349, 8417, 87535, 148857}}, +{15099, 18, 28472, {1, 3, 7, 15, 29, 3, 49, 49, 7, 753, 1597, 1427, 7485, 9119, 17427, 24961, 114897, 62841}}, +{15100, 18, 28478, {1, 1, 7, 7, 17, 35, 49, 225, 267, 801, 1359, 2131, 6093, 3859, 11305, 6287, 106459, 31093}}, +{15101, 18, 28480, {1, 1, 5, 3, 1, 45, 19, 89, 145, 23, 1071, 3053, 3463, 6781, 8635, 1961, 54403, 183401}}, +{15102, 18, 28489, {1, 3, 1, 13, 17, 35, 105, 155, 145, 597, 1169, 3731, 725, 2185, 23365, 31849, 113717, 185413}}, +{15103, 18, 28514, {1, 3, 3, 5, 3, 5, 13, 119, 39, 383, 1595, 63, 7003, 6465, 19847, 37213, 42921, 254479}}, +{15104, 18, 28525, {1, 3, 3, 1, 3, 33, 43, 255, 227, 151, 1911, 2657, 6529, 3855, 24411, 8485, 30385, 193265}}, +{15105, 18, 28537, {1, 1, 7, 7, 21, 53, 101, 37, 193, 107, 1095, 369, 6423, 3491, 1219, 53385, 31041, 122587}}, +{15106, 18, 28550, {1, 1, 7, 3, 13, 39, 101, 109, 113, 201, 619, 2489, 4545, 5017, 25519, 44281, 128605, 128595}}, +{15107, 18, 28559, {1, 1, 3, 13, 25, 7, 99, 141, 465, 625, 667, 1633, 6719, 16195, 365, 34355, 65025, 128025}}, +{15108, 18, 28595, {1, 1, 1, 7, 15, 51, 43, 159, 223, 493, 411, 65, 5753, 10219, 21885, 33267, 116643, 76777}}, +{15109, 18, 28601, {1, 3, 5, 13, 25, 39, 97, 31, 245, 367, 685, 103, 4093, 10449, 3849, 52659, 63355, 262059}}, +{15110, 18, 28629, {1, 3, 3, 1, 9, 49, 25, 157, 107, 821, 265, 2939, 6365, 7539, 17935, 50147, 88907, 214317}}, +{15111, 18, 28657, {1, 1, 1, 13, 17, 5, 55, 217, 137, 915, 121, 3187, 3111, 7145, 30477, 20023, 71969, 179417}}, +{15112, 18, 28667, {1, 1, 1, 5, 7, 15, 47, 71, 197, 725, 523, 2207, 5729, 741, 8595, 39125, 25431, 101093}}, +{15113, 18, 28711, {1, 3, 1, 7, 19, 37, 117, 235, 353, 459, 207, 953, 4955, 14979, 22897, 53911, 7783, 203667}}, +{15114, 18, 28718, {1, 1, 5, 13, 9, 17, 21, 95, 37, 751, 1463, 2491, 791, 1569, 32055, 61415, 113885, 259285}}, +{15115, 18, 28730, {1, 1, 3, 11, 1, 23, 5, 73, 61, 719, 215, 469, 3267, 12003, 16535, 46913, 58321, 2407}}, +{15116, 18, 28732, {1, 1, 5, 11, 5, 9, 81, 1, 275, 877, 791, 1591, 2109, 9983, 29085, 15069, 44757, 17887}}, +{15117, 18, 28777, {1, 3, 7, 11, 23, 47, 121, 53, 55, 677, 1239, 2591, 579, 11321, 14231, 53701, 71947, 56793}}, +{15118, 18, 28801, {1, 1, 5, 1, 7, 31, 39, 205, 231, 843, 159, 2301, 7765, 3317, 8935, 60647, 110545, 142543}}, +{15119, 18, 28822, {1, 3, 3, 11, 25, 39, 9, 131, 145, 373, 41, 1687, 417, 9427, 8657, 18315, 18505, 144055}}, +{15120, 18, 28855, {1, 3, 7, 3, 1, 51, 61, 223, 409, 607, 1281, 1767, 4719, 10741, 21537, 17307, 5473, 76127}}, +{15121, 18, 28859, {1, 1, 1, 1, 1, 43, 35, 157, 183, 835, 1141, 3235, 1383, 11381, 4503, 20435, 73125, 196955}}, +{15122, 18, 28869, {1, 1, 5, 7, 13, 47, 9, 191, 349, 587, 1887, 3667, 619, 9443, 28781, 7759, 6023, 81595}}, +{15123, 18, 28893, {1, 3, 5, 9, 31, 27, 77, 47, 375, 229, 989, 1241, 4937, 5881, 18797, 21743, 49947, 246165}}, +{15124, 18, 28904, {1, 1, 5, 1, 29, 23, 43, 237, 293, 391, 243, 3471, 5205, 9951, 29329, 19873, 114325, 19239}}, +{15125, 18, 28922, {1, 3, 3, 5, 19, 49, 23, 149, 419, 23, 21, 515, 3321, 3157, 28559, 8521, 11119, 192881}}, +{15126, 18, 28930, {1, 3, 1, 9, 29, 17, 15, 13, 171, 57, 1849, 3815, 7361, 7723, 23657, 60883, 54953, 159861}}, +{15127, 18, 28949, {1, 1, 3, 5, 13, 57, 35, 227, 143, 725, 2023, 2583, 2277, 4721, 4395, 61479, 112487, 211861}}, +{15128, 18, 28972, {1, 1, 5, 7, 7, 25, 83, 95, 281, 931, 415, 1661, 1543, 5313, 13317, 21203, 23965, 60891}}, +{15129, 18, 29002, {1, 3, 3, 1, 25, 51, 65, 147, 7, 521, 235, 2165, 6219, 14247, 30621, 43245, 8133, 49481}}, +{15130, 18, 29009, {1, 1, 5, 11, 13, 27, 39, 51, 213, 811, 151, 1157, 7821, 6481, 32097, 12319, 52005, 33291}}, +{15131, 18, 29061, {1, 1, 1, 13, 19, 15, 39, 205, 481, 253, 1643, 2969, 3181, 13995, 29877, 1307, 101721, 119111}}, +{15132, 18, 29068, {1, 1, 1, 11, 5, 63, 57, 53, 187, 315, 1521, 847, 5955, 3179, 21459, 25937, 83215, 181599}}, +{15133, 18, 29107, {1, 1, 7, 13, 17, 35, 113, 73, 105, 497, 1183, 3397, 4443, 14697, 29201, 40737, 40943, 3529}}, +{15134, 18, 29119, {1, 3, 5, 5, 3, 53, 101, 125, 173, 137, 333, 381, 1143, 1165, 789, 50013, 23595, 50235}}, +{15135, 18, 29142, {1, 1, 3, 1, 23, 3, 21, 143, 475, 337, 1693, 2341, 6509, 4167, 21031, 13887, 83191, 85187}}, +{15136, 18, 29146, {1, 1, 3, 1, 29, 59, 39, 217, 77, 943, 1531, 383, 6535, 2593, 8601, 61865, 26629, 57313}}, +{15137, 18, 29152, {1, 3, 5, 15, 17, 15, 19, 31, 273, 507, 1193, 2501, 4677, 13355, 5287, 1155, 102959, 185219}}, +{15138, 18, 29200, {1, 1, 1, 9, 3, 3, 5, 111, 159, 913, 331, 303, 3673, 12227, 5245, 63749, 107123, 26315}}, +{15139, 18, 29206, {1, 3, 5, 11, 13, 13, 115, 237, 481, 793, 1783, 1107, 4811, 3965, 29571, 63237, 15013, 176925}}, +{15140, 18, 29245, {1, 1, 7, 1, 13, 57, 85, 15, 19, 889, 1637, 1721, 6299, 6659, 5541, 24365, 38363, 67749}}, +{15141, 18, 29254, {1, 1, 3, 1, 9, 39, 15, 183, 133, 821, 1361, 2617, 7197, 8251, 12599, 60549, 42947, 72519}}, +{15142, 18, 29258, {1, 3, 1, 5, 19, 17, 69, 189, 309, 33, 2003, 569, 6189, 7845, 22351, 14623, 35287, 160511}}, +{15143, 18, 29260, {1, 1, 7, 13, 25, 3, 1, 203, 163, 661, 513, 3513, 741, 16259, 29817, 6059, 23823, 51869}}, +{15144, 18, 29268, {1, 3, 3, 1, 9, 43, 59, 77, 465, 223, 2007, 2187, 1499, 9373, 10535, 22207, 111689, 108485}}, +{15145, 18, 29281, {1, 1, 5, 15, 1, 21, 87, 163, 177, 751, 115, 3981, 4257, 5345, 31211, 44075, 16983, 69783}}, +{15146, 18, 29306, {1, 1, 1, 3, 29, 31, 7, 41, 181, 979, 1661, 1403, 2577, 983, 545, 6205, 20183, 44735}}, +{15147, 18, 29317, {1, 3, 3, 15, 5, 1, 85, 243, 59, 161, 1053, 803, 1813, 13583, 2559, 62761, 105337, 83209}}, +{15148, 18, 29324, {1, 3, 3, 3, 5, 21, 101, 61, 379, 369, 1865, 3289, 2643, 951, 26493, 17915, 8185, 42387}}, +{15149, 18, 29342, {1, 3, 5, 15, 15, 13, 119, 103, 141, 735, 1317, 3345, 2885, 4145, 30719, 965, 10819, 90295}}, +{15150, 18, 29375, {1, 3, 7, 13, 15, 11, 19, 163, 495, 369, 1285, 609, 1559, 9965, 31123, 55101, 76743, 104435}}, +{15151, 18, 29384, {1, 1, 5, 1, 25, 5, 5, 139, 441, 447, 353, 1369, 959, 14593, 30991, 20651, 126945, 2219}}, +{15152, 18, 29389, {1, 3, 5, 9, 21, 9, 113, 83, 115, 15, 161, 1559, 3095, 1447, 10253, 51481, 114541, 248375}}, +{15153, 18, 29411, {1, 3, 3, 1, 31, 61, 111, 69, 495, 195, 1153, 2605, 5061, 15509, 8253, 41909, 126033, 51173}}, +{15154, 18, 29413, {1, 1, 7, 15, 15, 41, 121, 75, 471, 539, 341, 441, 5357, 11509, 32525, 65477, 101251, 164835}}, +{15155, 18, 29446, {1, 1, 5, 7, 3, 63, 13, 123, 285, 499, 1023, 3533, 483, 13747, 26515, 52381, 9073, 256319}}, +{15156, 18, 29457, {1, 3, 1, 13, 29, 41, 75, 43, 229, 557, 1775, 1933, 5567, 11439, 22045, 10571, 96761, 98559}}, +{15157, 18, 29458, {1, 1, 3, 11, 19, 39, 3, 93, 435, 433, 2005, 1561, 385, 15865, 19763, 44105, 48107, 163063}}, +{15158, 18, 29483, {1, 1, 7, 5, 29, 37, 53, 19, 335, 325, 133, 2055, 3029, 14573, 30395, 38599, 97637, 203443}}, +{15159, 18, 29488, {1, 1, 7, 15, 29, 51, 7, 145, 21, 955, 1013, 579, 4971, 4849, 11691, 23725, 71079, 102641}}, +{15160, 18, 29494, {1, 1, 7, 3, 9, 49, 79, 187, 237, 823, 1951, 2947, 3633, 9119, 14393, 52969, 44703, 222389}}, +{15161, 18, 29506, {1, 3, 5, 11, 13, 9, 13, 245, 499, 661, 1899, 1313, 6907, 12259, 4577, 38547, 79687, 17555}}, +{15162, 18, 29553, {1, 3, 3, 1, 5, 59, 123, 197, 293, 247, 687, 695, 7493, 3115, 28535, 44335, 31905, 81607}}, +{15163, 18, 29569, {1, 3, 1, 3, 19, 5, 45, 101, 457, 395, 565, 3155, 8081, 4863, 1199, 32133, 73087, 27025}}, +{15164, 18, 29587, {1, 3, 7, 1, 31, 35, 111, 95, 379, 663, 731, 1813, 4551, 13105, 18275, 19729, 121971, 139959}}, +{15165, 18, 29590, {1, 1, 7, 3, 23, 47, 11, 117, 323, 943, 183, 2169, 4625, 12931, 1305, 23345, 119521, 67911}}, +{15166, 18, 29600, {1, 1, 1, 13, 19, 45, 37, 77, 301, 741, 747, 241, 5865, 11141, 7961, 10609, 97833, 256555}}, +{15167, 18, 29612, {1, 1, 1, 11, 27, 21, 119, 103, 277, 761, 201, 2063, 1043, 13303, 6535, 15553, 57695, 124187}}, +{15168, 18, 29665, {1, 3, 7, 3, 1, 11, 79, 143, 345, 237, 1421, 193, 1889, 2515, 11729, 559, 35227, 9393}}, +{15169, 18, 29722, {1, 3, 1, 1, 27, 27, 117, 159, 183, 871, 47, 989, 999, 303, 30833, 8229, 116301, 199439}}, +{15170, 18, 29745, {1, 1, 1, 1, 31, 27, 41, 83, 435, 409, 999, 2275, 4489, 1985, 21455, 23275, 125039, 192979}}, +{15171, 18, 29746, {1, 3, 7, 3, 19, 49, 27, 185, 9, 385, 191, 735, 3439, 16307, 21181, 58749, 128393, 140383}}, +{15172, 18, 29752, {1, 3, 7, 3, 15, 5, 65, 89, 11, 915, 673, 947, 3847, 6833, 10095, 34261, 101645, 42131}}, +{15173, 18, 29775, {1, 3, 5, 11, 11, 25, 79, 225, 495, 951, 1033, 5, 699, 9621, 1791, 48221, 59275, 49875}}, +{15174, 18, 29778, {1, 3, 7, 13, 29, 59, 105, 101, 233, 901, 863, 413, 2087, 16209, 445, 27463, 61465, 121795}}, +{15175, 18, 29800, {1, 1, 1, 11, 5, 19, 11, 51, 503, 313, 195, 3, 7249, 4919, 11931, 15569, 118297, 115989}}, +{15176, 18, 29829, {1, 3, 3, 13, 13, 61, 63, 57, 429, 487, 2033, 847, 7539, 1469, 3197, 1307, 124557, 211999}}, +{15177, 18, 29830, {1, 3, 7, 13, 25, 27, 39, 103, 165, 39, 1587, 3103, 1745, 12593, 10779, 37105, 29059, 256739}}, +{15178, 18, 29877, {1, 3, 3, 9, 25, 51, 105, 109, 99, 267, 623, 1351, 3837, 793, 28609, 52199, 15621, 77873}}, +{15179, 18, 29881, {1, 1, 3, 7, 29, 61, 45, 237, 431, 791, 91, 1259, 8071, 11103, 27257, 10153, 18639, 248949}}, +{15180, 18, 29884, {1, 1, 1, 9, 15, 47, 113, 189, 291, 837, 1317, 2263, 7183, 6669, 17241, 35275, 9087, 241577}}, +{15181, 18, 29895, {1, 1, 3, 1, 15, 59, 85, 21, 69, 569, 1473, 2735, 713, 3817, 14677, 26897, 75291, 251255}}, +{15182, 18, 29899, {1, 1, 1, 7, 17, 21, 105, 77, 367, 905, 513, 1807, 5571, 14627, 10349, 47821, 34395, 51143}}, +{15183, 18, 29916, {1, 3, 7, 13, 27, 19, 123, 145, 371, 857, 1699, 2231, 373, 781, 28713, 21441, 64059, 10689}}, +{15184, 18, 29923, {1, 1, 1, 7, 19, 57, 81, 223, 87, 315, 1253, 421, 1371, 1547, 1411, 6809, 23889, 213385}}, +{15185, 18, 29935, {1, 3, 1, 5, 23, 57, 89, 15, 227, 965, 1247, 3861, 7723, 15621, 7151, 53961, 47167, 73679}}, +{15186, 18, 29955, {1, 3, 7, 15, 31, 21, 9, 79, 87, 561, 1001, 3395, 2095, 15381, 30725, 48111, 68031, 121687}}, +{15187, 18, 29962, {1, 3, 1, 9, 15, 29, 83, 87, 377, 331, 2035, 93, 2319, 3637, 4809, 40091, 93141, 39881}}, +{15188, 18, 29969, {1, 3, 3, 11, 21, 39, 27, 159, 161, 439, 1417, 595, 4873, 15703, 32743, 56603, 35881, 160727}}, +{15189, 18, 29997, {1, 1, 3, 5, 21, 37, 55, 159, 497, 425, 469, 1185, 5015, 7045, 7179, 65325, 97167, 75723}}, +{15190, 18, 30032, {1, 3, 1, 7, 31, 21, 125, 223, 479, 765, 1115, 33, 2765, 12781, 22923, 36051, 103749, 33703}}, +{15191, 18, 30041, {1, 1, 7, 1, 9, 3, 29, 125, 337, 973, 253, 3179, 3269, 8801, 19369, 20693, 17331, 190295}}, +{15192, 18, 30048, {1, 1, 3, 3, 13, 5, 115, 31, 481, 45, 855, 81, 3663, 10443, 13853, 29847, 99471, 249943}}, +{15193, 18, 30060, {1, 1, 3, 7, 3, 1, 47, 31, 169, 625, 201, 2257, 4617, 1633, 26681, 53793, 78257, 8955}}, +{15194, 18, 30063, {1, 1, 5, 1, 23, 3, 95, 89, 429, 559, 119, 2619, 1235, 7609, 21905, 45495, 19461, 189091}}, +{15195, 18, 30105, {1, 3, 5, 5, 11, 33, 123, 45, 89, 899, 1607, 3717, 6745, 15199, 22955, 15891, 50411, 148201}}, +{15196, 18, 30122, {1, 3, 5, 9, 19, 23, 87, 21, 39, 117, 603, 823, 3015, 14853, 4341, 49029, 97183, 218713}}, +{15197, 18, 30141, {1, 1, 3, 7, 11, 55, 31, 255, 399, 861, 745, 1013, 4583, 15871, 32453, 25357, 90645, 100835}}, +{15198, 18, 30142, {1, 1, 1, 11, 13, 27, 57, 233, 45, 339, 305, 3689, 5273, 11801, 29109, 44139, 83171, 250559}}, +{15199, 18, 30153, {1, 3, 7, 13, 19, 1, 29, 113, 207, 313, 1465, 3563, 2535, 3307, 14921, 1923, 31429, 59815}}, +{15200, 18, 30171, {1, 3, 1, 5, 29, 25, 59, 95, 177, 795, 353, 3973, 8029, 1687, 5045, 16157, 30361, 218479}}, +{15201, 18, 30192, {1, 3, 5, 3, 5, 27, 109, 239, 121, 347, 93, 1645, 3293, 13181, 23793, 42935, 98659, 85385}}, +{15202, 18, 30197, {1, 1, 7, 9, 9, 37, 127, 211, 77, 557, 177, 2465, 7895, 5523, 26665, 23463, 71715, 126673}}, +{15203, 18, 30223, {1, 3, 7, 1, 27, 55, 125, 85, 47, 739, 1513, 3763, 5335, 3135, 11913, 22405, 90785, 88845}}, +{15204, 18, 30235, {1, 3, 3, 9, 29, 21, 123, 211, 491, 83, 697, 929, 3507, 7139, 30569, 16365, 122657, 77523}}, +{15205, 18, 30241, {1, 3, 5, 5, 27, 21, 41, 129, 67, 503, 877, 1893, 6055, 12709, 24613, 43831, 124035, 62631}}, +{15206, 18, 30256, {1, 3, 3, 1, 21, 15, 59, 185, 405, 487, 627, 3737, 345, 14751, 2947, 15815, 55047, 207137}}, +{15207, 18, 30291, {1, 1, 1, 9, 15, 29, 19, 155, 101, 405, 597, 329, 2977, 4333, 5465, 43863, 6009, 229481}}, +{15208, 18, 30293, {1, 1, 1, 11, 7, 27, 93, 207, 43, 599, 1899, 3979, 4219, 10199, 2901, 34261, 19435, 58317}}, +{15209, 18, 30300, {1, 1, 7, 15, 9, 47, 33, 209, 235, 655, 253, 3507, 3355, 1685, 7045, 58907, 41791, 175835}}, +{15210, 18, 30331, {1, 3, 3, 11, 11, 43, 21, 255, 45, 831, 1051, 1271, 7945, 9793, 11125, 17709, 118267, 169981}}, +{15211, 18, 30349, {1, 3, 7, 13, 27, 37, 45, 221, 243, 37, 1493, 2773, 6655, 7451, 22609, 56559, 12063, 221143}}, +{15212, 18, 30361, {1, 3, 1, 1, 9, 15, 97, 61, 241, 825, 735, 3953, 5331, 16373, 19403, 28933, 31881, 111545}}, +{15213, 18, 30367, {1, 1, 1, 15, 29, 1, 127, 111, 329, 741, 1589, 1653, 5949, 8703, 27617, 65285, 122167, 11895}}, +{15214, 18, 30392, {1, 1, 3, 3, 17, 31, 91, 197, 421, 865, 1901, 897, 6917, 15943, 12823, 15325, 17011, 110783}}, +{15215, 18, 30405, {1, 1, 3, 15, 21, 57, 29, 179, 503, 929, 1513, 205, 6083, 4015, 32517, 26921, 54229, 147789}}, +{15216, 18, 30410, {1, 1, 7, 15, 27, 21, 95, 59, 193, 97, 1235, 819, 4435, 371, 627, 24673, 1775, 261041}}, +{15217, 18, 30415, {1, 1, 7, 15, 3, 37, 99, 85, 505, 1011, 19, 1241, 5299, 15661, 27323, 44625, 12683, 225687}}, +{15218, 18, 30439, {1, 1, 7, 3, 25, 37, 111, 121, 217, 659, 365, 2627, 5499, 12911, 951, 54317, 51927, 235327}}, +{15219, 18, 30446, {1, 1, 3, 9, 29, 31, 99, 195, 427, 735, 1817, 3675, 4269, 1579, 12593, 39285, 74909, 230613}}, +{15220, 18, 30501, {1, 3, 1, 13, 7, 21, 37, 101, 111, 931, 1581, 465, 4753, 15607, 14515, 29769, 107711, 32703}}, +{15221, 18, 30526, {1, 1, 7, 15, 25, 57, 117, 119, 309, 345, 491, 3647, 2933, 5409, 15431, 43731, 25537, 17269}}, +{15222, 18, 30531, {1, 1, 5, 3, 15, 9, 83, 221, 501, 675, 1441, 129, 213, 5587, 22361, 16739, 118845, 192835}}, +{15223, 18, 30537, {1, 3, 7, 13, 1, 31, 75, 23, 13, 447, 687, 2711, 7577, 8275, 5051, 61835, 22159, 56477}}, +{15224, 18, 30546, {1, 1, 3, 1, 23, 19, 111, 45, 395, 841, 1665, 21, 7435, 12457, 11065, 20007, 48785, 15115}}, +{15225, 18, 30568, {1, 3, 7, 7, 21, 3, 117, 35, 117, 433, 561, 3045, 2169, 3255, 18015, 41093, 99699, 3479}}, +{15226, 18, 30581, {1, 1, 3, 7, 9, 59, 65, 143, 315, 63, 29, 3817, 1259, 7119, 20847, 44407, 80015, 37851}}, +{15227, 18, 30588, {1, 3, 7, 13, 13, 33, 85, 75, 39, 163, 1759, 1197, 5971, 8815, 8745, 45625, 121873, 246197}}, +{15228, 18, 30598, {1, 1, 1, 13, 31, 41, 61, 7, 145, 113, 943, 3757, 2141, 3523, 22351, 14143, 107683, 105579}}, +{15229, 18, 30607, {1, 1, 5, 5, 23, 27, 75, 77, 25, 901, 1295, 3091, 981, 10109, 12649, 15123, 102433, 145557}}, +{15230, 18, 30609, {1, 1, 7, 5, 9, 11, 19, 229, 301, 835, 1577, 3365, 425, 2271, 15647, 11685, 57315, 131043}}, +{15231, 18, 30616, {1, 3, 1, 13, 31, 3, 113, 7, 473, 395, 1979, 61, 4205, 2031, 28007, 34789, 54463, 94741}}, +{15232, 18, 30626, {1, 1, 3, 5, 7, 13, 35, 151, 461, 621, 185, 2645, 907, 9151, 25953, 26363, 105531, 235555}}, +{15233, 18, 30628, {1, 3, 3, 13, 21, 5, 43, 183, 149, 607, 509, 777, 4089, 16365, 32201, 60431, 58773, 92719}}, +{15234, 18, 30638, {1, 3, 3, 11, 25, 53, 103, 203, 269, 1017, 77, 3537, 4839, 15991, 29223, 57397, 122735, 67299}}, +{15235, 18, 30658, {1, 3, 3, 1, 29, 45, 85, 171, 307, 455, 1399, 2367, 5991, 5751, 27957, 36649, 9251, 38581}}, +{15236, 18, 30663, {1, 1, 5, 13, 29, 15, 127, 1, 175, 921, 671, 2469, 3137, 3679, 32521, 5321, 92505, 45901}}, +{15237, 18, 30675, {1, 3, 3, 11, 23, 23, 113, 255, 443, 609, 1085, 133, 5369, 885, 17043, 20961, 36137, 260457}}, +{15238, 18, 30698, {1, 3, 3, 9, 13, 55, 117, 19, 111, 323, 275, 495, 6679, 2217, 12015, 3053, 32745, 189413}}, +{15239, 18, 30708, {1, 3, 5, 13, 31, 43, 37, 225, 67, 755, 1427, 3967, 6497, 9987, 28145, 50583, 59457, 213217}}, +{15240, 18, 30712, {1, 3, 1, 15, 1, 5, 121, 249, 293, 695, 1697, 313, 61, 4037, 11757, 53739, 5693, 106225}}, +{15241, 18, 30727, {1, 1, 7, 1, 23, 9, 111, 211, 303, 147, 1291, 3807, 1969, 4115, 7473, 50077, 60745, 41605}}, +{15242, 18, 30736, {1, 3, 3, 15, 21, 51, 63, 171, 197, 403, 1327, 1851, 6991, 9069, 19221, 45765, 55489, 34853}}, +{15243, 18, 30748, {1, 1, 5, 3, 5, 53, 87, 241, 255, 309, 1319, 3727, 3189, 10887, 13401, 32371, 24479, 170571}}, +{15244, 18, 30758, {1, 1, 7, 11, 5, 5, 59, 177, 317, 835, 527, 165, 2137, 9597, 30181, 1779, 75407, 185827}}, +{15245, 18, 30775, {1, 3, 3, 7, 25, 15, 15, 183, 235, 955, 27, 2223, 5587, 11301, 17653, 56697, 70787, 198347}}, +{15246, 18, 30793, {1, 3, 5, 5, 11, 63, 123, 41, 169, 975, 1709, 2965, 7491, 4183, 15217, 41343, 36139, 9649}}, +{15247, 18, 30802, {1, 1, 3, 7, 5, 37, 87, 247, 379, 603, 781, 463, 8063, 13681, 32005, 43485, 107401, 42303}}, +{15248, 18, 30820, {1, 3, 5, 9, 19, 53, 61, 219, 217, 361, 769, 1687, 5643, 3145, 12885, 40303, 86377, 255051}}, +{15249, 18, 30823, {1, 1, 7, 11, 15, 49, 127, 99, 127, 515, 647, 1725, 1605, 2357, 2069, 31803, 14179, 180367}}, +{15250, 18, 30827, {1, 3, 5, 15, 9, 7, 41, 3, 49, 485, 1471, 207, 6477, 4463, 12255, 53481, 110785, 909}}, +{15251, 18, 30848, {1, 1, 5, 9, 23, 51, 107, 227, 205, 987, 1525, 2739, 6761, 12343, 32311, 12523, 93351, 29663}}, +{15252, 18, 30893, {1, 3, 5, 11, 21, 19, 53, 169, 197, 21, 825, 4029, 6733, 8943, 13475, 60677, 31001, 242291}}, +{15253, 18, 30906, {1, 3, 7, 13, 9, 27, 87, 37, 265, 877, 735, 2249, 4801, 2365, 16923, 40451, 29693, 222483}}, +{15254, 18, 30950, {1, 1, 3, 9, 31, 61, 71, 103, 215, 421, 193, 3451, 6181, 4271, 30875, 59573, 80773, 100369}}, +{15255, 18, 30956, {1, 1, 3, 13, 17, 55, 73, 191, 233, 821, 961, 1637, 2393, 3453, 25959, 5069, 114585, 186001}}, +{15256, 18, 30996, {1, 1, 7, 5, 15, 27, 39, 23, 69, 811, 709, 2349, 6011, 803, 12497, 7387, 62023, 247875}}, +{15257, 18, 31015, {1, 1, 5, 13, 29, 55, 51, 41, 121, 599, 1633, 3813, 1913, 3803, 26097, 53799, 30997, 261965}}, +{15258, 18, 31016, {1, 1, 1, 11, 31, 25, 19, 195, 87, 657, 1005, 3853, 61, 6585, 24665, 38283, 5495, 257201}}, +{15259, 18, 31034, {1, 1, 1, 11, 23, 43, 91, 121, 49, 491, 1443, 1873, 7689, 15957, 30463, 64079, 100003, 325}}, +{15260, 18, 31099, {1, 1, 7, 1, 25, 51, 27, 105, 119, 233, 513, 3403, 2647, 2847, 12687, 15619, 71225, 243759}}, +{15261, 18, 31123, {1, 1, 7, 3, 17, 49, 19, 123, 307, 463, 1619, 1853, 7019, 2605, 17351, 7971, 20675, 235929}}, +{15262, 18, 31145, {1, 1, 5, 3, 17, 29, 71, 215, 365, 955, 1631, 3549, 1379, 13881, 25409, 55703, 29863, 135401}}, +{15263, 18, 31166, {1, 3, 7, 15, 3, 27, 107, 149, 65, 681, 505, 3957, 6697, 11203, 9321, 63323, 98587, 199241}}, +{15264, 18, 31168, {1, 1, 1, 13, 27, 41, 59, 223, 431, 339, 1805, 899, 639, 6559, 13233, 4773, 37415, 110477}}, +{15265, 18, 31174, {1, 3, 7, 9, 1, 59, 79, 161, 311, 905, 1755, 3915, 6259, 8955, 14187, 11331, 86185, 209805}}, +{15266, 18, 31216, {1, 1, 7, 9, 5, 27, 75, 93, 285, 89, 891, 3341, 1157, 11219, 8883, 8093, 68949, 189643}}, +{15267, 18, 31219, {1, 3, 1, 5, 1, 43, 97, 71, 67, 605, 739, 1641, 4415, 4487, 13437, 12755, 121595, 55761}}, +{15268, 18, 31238, {1, 1, 1, 3, 1, 13, 61, 77, 297, 507, 1527, 3585, 4515, 13913, 7679, 28461, 61807, 196517}}, +{15269, 18, 31256, {1, 1, 1, 3, 21, 23, 101, 135, 59, 485, 1601, 3713, 7409, 349, 16543, 18897, 97253, 149055}}, +{15270, 18, 31304, {1, 1, 1, 13, 5, 37, 15, 37, 109, 1005, 363, 1925, 2701, 13169, 17027, 58453, 27667, 234027}}, +{15271, 18, 31315, {1, 1, 7, 1, 1, 41, 67, 231, 143, 951, 2023, 3465, 1717, 645, 17353, 9037, 129127, 199467}}, +{15272, 18, 31324, {1, 1, 1, 11, 27, 29, 65, 139, 425, 947, 141, 2601, 7339, 4451, 25065, 62691, 62355, 91819}}, +{15273, 18, 31364, {1, 3, 7, 15, 29, 29, 93, 25, 139, 267, 1319, 3839, 7295, 11855, 17775, 30199, 44127, 150875}}, +{15274, 18, 31379, {1, 3, 5, 1, 3, 55, 23, 191, 199, 583, 1167, 1357, 6477, 11827, 15581, 56541, 16603, 120139}}, +{15275, 18, 31382, {1, 1, 1, 3, 5, 47, 103, 211, 443, 491, 1043, 4001, 121, 1637, 5685, 42675, 13009, 22979}}, +{15276, 18, 31412, {1, 1, 1, 9, 21, 7, 77, 17, 303, 955, 51, 2389, 3573, 8817, 28053, 40269, 35457, 211023}}, +{15277, 18, 31451, {1, 3, 5, 15, 3, 39, 17, 75, 223, 37, 1231, 2127, 3575, 9085, 10715, 41871, 103703, 154181}}, +{15278, 18, 31487, {1, 3, 3, 15, 25, 31, 31, 223, 473, 267, 1519, 3205, 7029, 10753, 24757, 28187, 117921, 26783}}, +{15279, 18, 31509, {1, 3, 7, 1, 5, 21, 105, 191, 55, 115, 1813, 3701, 1673, 4199, 2441, 19737, 46913, 208725}}, +{15280, 18, 31510, {1, 1, 5, 5, 19, 63, 89, 141, 143, 783, 545, 883, 2979, 9219, 24983, 41793, 88441, 207095}}, +{15281, 18, 31520, {1, 1, 1, 9, 21, 21, 93, 161, 93, 733, 417, 3133, 8155, 12415, 16343, 11727, 82877, 94469}}, +{15282, 18, 31535, {1, 1, 5, 15, 5, 39, 33, 203, 213, 731, 1849, 1675, 6029, 2743, 1529, 16345, 13955, 54929}}, +{15283, 18, 31564, {1, 1, 7, 7, 23, 47, 121, 211, 271, 737, 1015, 1021, 5641, 12659, 27545, 52363, 104761, 150143}}, +{15284, 18, 31585, {1, 3, 1, 11, 11, 51, 79, 141, 255, 1007, 481, 3221, 7741, 6861, 24943, 63091, 46741, 33359}}, +{15285, 18, 31586, {1, 1, 3, 3, 27, 47, 85, 27, 423, 811, 75, 3911, 1951, 10821, 7487, 18971, 83355, 197479}}, +{15286, 18, 31600, {1, 1, 5, 5, 1, 63, 125, 251, 457, 795, 557, 217, 2335, 5659, 18375, 52183, 9789, 31417}}, +{15287, 18, 31643, {1, 3, 3, 3, 19, 61, 41, 129, 345, 361, 187, 3881, 43, 7197, 7673, 25011, 115155, 16375}}, +{15288, 18, 31646, {1, 3, 3, 7, 13, 7, 55, 91, 153, 341, 2003, 2013, 6891, 2411, 14825, 39555, 50267, 61405}}, +{15289, 18, 31649, {1, 3, 5, 7, 13, 57, 21, 91, 331, 615, 1297, 2881, 2011, 1907, 16489, 43061, 75731, 76675}}, +{15290, 18, 31650, {1, 1, 5, 5, 25, 15, 77, 175, 101, 885, 835, 529, 2787, 547, 20191, 50457, 58557, 61807}}, +{15291, 18, 31674, {1, 3, 7, 1, 13, 47, 101, 117, 179, 245, 861, 611, 4377, 5257, 12807, 26667, 19889, 112485}}, +{15292, 18, 31679, {1, 3, 7, 1, 27, 3, 23, 109, 197, 187, 963, 1827, 5741, 11921, 6359, 3989, 108939, 5761}}, +{15293, 18, 31684, {1, 1, 7, 5, 27, 7, 119, 159, 53, 969, 557, 597, 7821, 7121, 17341, 11233, 10811, 23969}}, +{15294, 18, 31688, {1, 1, 3, 13, 23, 55, 75, 131, 339, 917, 317, 2645, 5973, 9939, 26375, 29261, 80883, 229897}}, +{15295, 18, 31706, {1, 1, 5, 13, 3, 63, 41, 191, 315, 191, 649, 2119, 317, 14699, 4097, 19557, 97015, 124557}}, +{15296, 18, 31735, {1, 3, 7, 15, 13, 29, 29, 43, 47, 37, 729, 185, 4477, 15091, 13991, 18701, 56785, 218823}}, +{15297, 18, 31754, {1, 3, 7, 15, 31, 39, 17, 133, 469, 509, 995, 1683, 391, 1775, 15431, 63489, 7405, 122125}}, +{15298, 18, 31761, {1, 3, 7, 5, 15, 63, 5, 235, 193, 411, 1493, 3967, 3279, 6421, 13359, 20949, 68097, 69469}}, +{15299, 18, 31774, {1, 3, 3, 13, 7, 37, 7, 207, 399, 553, 1629, 1903, 329, 7577, 5813, 17151, 40889, 174811}}, +{15300, 18, 31807, {1, 3, 1, 13, 7, 39, 119, 109, 323, 61, 749, 1377, 911, 8195, 19753, 6265, 60783, 182339}}, +{15301, 18, 31812, {1, 1, 5, 11, 3, 21, 89, 61, 243, 273, 1317, 3443, 117, 6205, 13907, 12903, 95485, 103355}}, +{15302, 18, 31821, {1, 3, 7, 13, 19, 27, 45, 251, 405, 289, 121, 1501, 2599, 8111, 5163, 17437, 75095, 165847}}, +{15303, 18, 31855, {1, 3, 3, 5, 23, 13, 29, 145, 333, 573, 1939, 2133, 5797, 5263, 18835, 11945, 42161, 103123}}, +{15304, 18, 31919, {1, 3, 5, 13, 9, 31, 45, 17, 181, 111, 219, 3451, 1591, 5823, 20307, 41207, 77047, 173401}}, +{15305, 18, 31934, {1, 3, 1, 9, 19, 63, 73, 111, 377, 875, 1749, 2887, 7035, 14209, 1805, 20527, 93839, 225185}}, +{15306, 18, 31956, {1, 3, 1, 9, 15, 45, 97, 235, 11, 803, 899, 427, 3353, 7363, 26687, 1307, 5451, 176233}}, +{15307, 18, 31965, {1, 3, 7, 5, 7, 51, 59, 53, 3, 263, 159, 1005, 6079, 7237, 17419, 56653, 61091, 182209}}, +{15308, 18, 31975, {1, 1, 3, 15, 19, 47, 17, 185, 167, 219, 233, 2921, 5755, 1277, 27281, 33671, 3191, 169477}}, +{15309, 18, 31981, {1, 3, 7, 1, 25, 27, 99, 81, 57, 969, 821, 2397, 2947, 5913, 15247, 47651, 449, 183295}}, +{15310, 18, 31999, {1, 3, 1, 15, 3, 63, 83, 75, 41, 959, 1005, 153, 97, 15381, 6901, 55141, 90215, 161321}}, +{15311, 18, 32014, {1, 3, 1, 9, 1, 1, 29, 191, 43, 241, 607, 667, 1189, 4389, 31335, 14133, 104049, 100925}}, +{15312, 18, 32022, {1, 1, 3, 1, 1, 61, 109, 23, 325, 27, 1601, 3957, 7181, 8375, 9823, 50533, 114895, 73825}}, +{15313, 18, 32049, {1, 1, 7, 7, 1, 25, 51, 19, 383, 955, 1717, 2953, 5431, 7883, 14451, 18619, 9601, 153151}}, +{15314, 18, 32055, {1, 3, 1, 5, 1, 1, 35, 3, 141, 37, 1531, 1855, 7905, 6509, 6223, 45911, 54267, 172275}}, +{15315, 18, 32082, {1, 1, 3, 15, 23, 39, 109, 145, 215, 147, 1191, 2425, 301, 5543, 997, 31071, 101697, 169677}}, +{15316, 18, 32087, {1, 1, 3, 5, 17, 23, 41, 191, 367, 967, 1625, 3669, 769, 7599, 111, 4399, 64121, 232275}}, +{15317, 18, 32100, {1, 3, 5, 1, 25, 61, 47, 247, 413, 605, 399, 1233, 2789, 9775, 7111, 42853, 2305, 87423}}, +{15318, 18, 32104, {1, 3, 7, 3, 1, 25, 73, 247, 221, 235, 169, 889, 5635, 4325, 27015, 39549, 107545, 80885}}, +{15319, 18, 32109, {1, 1, 7, 11, 15, 55, 61, 103, 179, 157, 481, 3089, 4539, 375, 25425, 14995, 60119, 31031}}, +{15320, 18, 32138, {1, 3, 3, 1, 31, 17, 87, 123, 27, 309, 1693, 3871, 7319, 15615, 20113, 18239, 86407, 172381}}, +{15321, 18, 32140, {1, 1, 1, 13, 17, 31, 83, 149, 451, 305, 847, 223, 5705, 9697, 4967, 34273, 4041, 252891}}, +{15322, 18, 32148, {1, 3, 3, 15, 7, 27, 105, 207, 443, 825, 701, 1159, 5267, 14085, 28295, 41757, 47799, 14835}}, +{15323, 18, 32161, {1, 3, 7, 3, 1, 31, 77, 219, 139, 497, 1575, 905, 4341, 4611, 27861, 59871, 45525, 21735}}, +{15324, 18, 32162, {1, 3, 3, 3, 7, 17, 65, 183, 231, 955, 1111, 1899, 1677, 13685, 29395, 10449, 62505, 125643}}, +{15325, 18, 32174, {1, 3, 5, 7, 27, 57, 81, 165, 279, 989, 1569, 573, 7593, 10067, 1343, 12039, 117175, 225125}}, +{15326, 18, 32196, {1, 3, 3, 15, 19, 37, 47, 175, 87, 153, 1137, 1985, 2473, 14767, 19587, 41751, 98937, 66667}}, +{15327, 18, 32220, {1, 3, 5, 3, 19, 51, 25, 155, 37, 597, 719, 1039, 165, 1871, 15677, 59891, 29899, 231979}}, +{15328, 18, 32223, {1, 3, 5, 13, 15, 39, 17, 21, 73, 695, 1813, 2463, 3549, 3081, 14037, 13077, 40417, 258995}}, +{15329, 18, 32267, {1, 1, 5, 9, 29, 5, 105, 75, 97, 937, 1767, 975, 637, 9419, 30673, 33537, 979, 45381}}, +{15330, 18, 32272, {1, 1, 5, 9, 3, 31, 91, 193, 171, 163, 925, 3519, 3621, 4943, 14093, 22881, 18459, 110155}}, +{15331, 18, 32308, {1, 1, 3, 7, 29, 1, 39, 107, 359, 805, 91, 2911, 4741, 3099, 16967, 45849, 95255, 63225}}, +{15332, 18, 32315, {1, 1, 5, 13, 25, 41, 49, 145, 345, 823, 1571, 341, 6323, 9679, 14855, 19965, 108367, 99833}}, +{15333, 18, 32317, {1, 3, 5, 3, 27, 35, 87, 83, 373, 425, 281, 1313, 5153, 6301, 2745, 12677, 34603, 181835}}, +{15334, 18, 32347, {1, 1, 7, 7, 13, 17, 83, 101, 141, 789, 1403, 2777, 2749, 1551, 9009, 9909, 48443, 176679}}, +{15335, 18, 32360, {1, 3, 5, 9, 7, 25, 125, 109, 155, 357, 1111, 3057, 771, 11253, 25811, 60333, 68505, 146987}}, +{15336, 18, 32394, {1, 3, 7, 7, 29, 19, 69, 115, 411, 793, 51, 715, 3035, 11577, 14237, 23963, 13915, 196771}}, +{15337, 18, 32411, {1, 1, 3, 3, 27, 37, 61, 163, 131, 749, 37, 1333, 47, 2519, 25473, 40851, 55861, 113961}}, +{15338, 18, 32420, {1, 3, 5, 1, 3, 49, 19, 251, 125, 387, 1887, 3571, 1465, 4831, 3859, 43357, 20859, 225835}}, +{15339, 18, 32423, {1, 3, 5, 9, 27, 53, 53, 143, 383, 781, 819, 2921, 3499, 11551, 18761, 14453, 58209, 181763}}, +{15340, 18, 32455, {1, 3, 7, 9, 17, 17, 79, 61, 145, 413, 541, 895, 2077, 6957, 28681, 44821, 30609, 131705}}, +{15341, 18, 32456, {1, 1, 3, 15, 1, 57, 17, 125, 11, 43, 1079, 1023, 5391, 67, 31701, 5737, 429, 75411}}, +{15342, 18, 32510, {1, 1, 7, 7, 21, 45, 65, 127, 447, 793, 161, 333, 637, 7403, 12861, 30173, 125121, 254687}}, +{15343, 18, 32517, {1, 1, 3, 9, 27, 53, 85, 223, 297, 455, 919, 2371, 7049, 7167, 18075, 22815, 10265, 14765}}, +{15344, 18, 32541, {1, 1, 3, 7, 1, 53, 91, 181, 471, 101, 771, 4043, 3039, 1215, 19289, 15941, 55187, 147355}}, +{15345, 18, 32552, {1, 3, 1, 1, 13, 19, 13, 47, 159, 965, 1383, 297, 4299, 7181, 1271, 17057, 114847, 180883}}, +{15346, 18, 32555, {1, 3, 1, 15, 29, 55, 113, 243, 215, 665, 641, 1975, 5907, 2617, 17077, 43697, 61101, 70007}}, +{15347, 18, 32580, {1, 3, 1, 11, 5, 55, 109, 145, 307, 663, 1327, 1247, 8033, 15425, 18539, 57027, 72161, 181655}}, +{15348, 18, 32598, {1, 3, 5, 9, 25, 17, 3, 57, 7, 449, 1049, 3423, 5769, 12713, 29849, 1017, 92579, 131255}}, +{15349, 18, 32654, {1, 1, 7, 13, 25, 13, 55, 217, 461, 595, 931, 1883, 2645, 9625, 20467, 45825, 72027, 163767}}, +{15350, 18, 32662, {1, 3, 5, 15, 29, 49, 23, 47, 45, 645, 973, 3837, 621, 7373, 3585, 16083, 93823, 184593}}, +{15351, 18, 32665, {1, 3, 7, 11, 27, 19, 59, 125, 447, 33, 541, 1067, 6983, 3779, 27275, 34269, 106937, 65085}}, +{15352, 18, 32678, {1, 3, 1, 9, 23, 23, 51, 43, 475, 861, 1759, 2559, 3059, 1175, 31555, 27671, 117653, 162735}}, +{15353, 18, 32682, {1, 1, 7, 13, 7, 61, 33, 49, 23, 737, 949, 1785, 2921, 873, 26631, 61941, 14467, 76225}}, +{15354, 18, 32687, {1, 3, 7, 5, 31, 11, 49, 149, 7, 85, 1929, 1001, 4185, 221, 23719, 52265, 52973, 67967}}, +{15355, 18, 32692, {1, 3, 1, 13, 17, 31, 35, 191, 65, 527, 51, 1093, 3673, 11167, 29985, 59739, 43567, 109817}}, +{15356, 18, 32710, {1, 1, 1, 11, 23, 39, 95, 121, 501, 355, 1043, 993, 7533, 15763, 18399, 31601, 49373, 243209}}, +{15357, 18, 32791, {1, 1, 3, 3, 15, 37, 57, 183, 27, 981, 153, 1481, 549, 7847, 2689, 57401, 46359, 175401}}, +{15358, 18, 32792, {1, 3, 5, 9, 31, 19, 83, 79, 413, 597, 1957, 3027, 4751, 1437, 11255, 39513, 56927, 166841}}, +{15359, 18, 32813, {1, 3, 7, 5, 27, 61, 69, 65, 143, 321, 1129, 2521, 4467, 4369, 11727, 35643, 80155, 184241}}, +{15360, 18, 32826, {1, 3, 7, 1, 25, 27, 107, 219, 481, 457, 2027, 1057, 6409, 5641, 19711, 11009, 44295, 28171}}, +{15361, 18, 32831, {1, 3, 3, 9, 3, 17, 85, 5, 341, 107, 2037, 93, 741, 5279, 20093, 28637, 80823, 210279}}, +{15362, 18, 32836, {1, 1, 7, 15, 5, 9, 33, 167, 451, 463, 1951, 2395, 3821, 2915, 15195, 34517, 113545, 22173}}, +{15363, 18, 32843, {1, 1, 3, 1, 23, 55, 113, 159, 139, 795, 69, 2021, 6769, 10807, 18605, 54161, 39501, 233797}}, +{15364, 18, 32854, {1, 1, 7, 11, 17, 53, 103, 131, 385, 909, 629, 3127, 6117, 11457, 31115, 8255, 33227, 170877}}, +{15365, 18, 32893, {1, 1, 3, 9, 23, 19, 99, 221, 141, 731, 311, 2617, 2763, 375, 26763, 56473, 6613, 60519}}, +{15366, 18, 32897, {1, 3, 1, 9, 7, 29, 15, 105, 243, 159, 1755, 3999, 5861, 12009, 30111, 48269, 70427, 187173}}, +{15367, 18, 32912, {1, 1, 3, 13, 1, 35, 39, 121, 409, 571, 1835, 1535, 4671, 12671, 4503, 4783, 48009, 216837}}, +{15368, 18, 32951, {1, 1, 1, 9, 25, 61, 87, 109, 489, 107, 1741, 859, 237, 7161, 27117, 58587, 55445, 155763}}, +{15369, 18, 32963, {1, 1, 7, 15, 9, 21, 61, 159, 301, 863, 1823, 11, 419, 6717, 28199, 24129, 58419, 22147}}, +{15370, 18, 32970, {1, 3, 1, 5, 9, 7, 13, 205, 185, 759, 777, 2877, 5991, 14555, 18793, 51485, 6373, 232105}}, +{15371, 18, 32975, {1, 1, 3, 5, 7, 25, 51, 79, 227, 447, 867, 2709, 2677, 15249, 22957, 45577, 39011, 16839}}, +{15372, 18, 33028, {1, 1, 1, 3, 5, 51, 69, 135, 395, 339, 685, 3657, 3789, 16345, 2911, 51737, 97471, 126605}}, +{15373, 18, 33052, {1, 3, 7, 15, 15, 5, 85, 153, 507, 347, 1457, 527, 1055, 7773, 4161, 10487, 92373, 256535}}, +{15374, 18, 33061, {1, 3, 3, 3, 1, 9, 25, 1, 155, 321, 1739, 555, 7719, 10501, 19075, 12529, 75975, 229905}}, +{15375, 18, 33083, {1, 1, 1, 3, 29, 31, 89, 23, 283, 875, 1653, 855, 7613, 15277, 23845, 47443, 287, 217441}}, +{15376, 18, 33103, {1, 3, 3, 1, 25, 7, 75, 119, 493, 131, 231, 3063, 7171, 5437, 16385, 50347, 87427, 53603}}, +{15377, 18, 33117, {1, 3, 7, 7, 27, 55, 103, 223, 219, 103, 733, 1233, 1931, 2119, 19333, 59839, 100421, 256811}}, +{15378, 18, 33139, {1, 3, 7, 15, 23, 63, 77, 151, 285, 701, 1403, 1267, 6975, 11421, 24943, 51647, 75651, 191675}}, +{15379, 18, 33151, {1, 1, 5, 7, 25, 23, 25, 7, 503, 759, 997, 1711, 1439, 12483, 30117, 55205, 8813, 221589}}, +{15380, 18, 33162, {1, 3, 7, 5, 21, 3, 117, 65, 461, 851, 915, 575, 3061, 1055, 11999, 8375, 128677, 98005}}, +{15381, 18, 33209, {1, 3, 7, 7, 19, 13, 123, 23, 41, 293, 79, 1435, 1175, 7399, 14907, 4671, 88029, 220627}}, +{15382, 18, 33210, {1, 3, 3, 13, 11, 17, 65, 21, 143, 257, 1001, 2423, 5659, 11681, 23605, 40649, 49797, 55497}}, +{15383, 18, 33223, {1, 3, 5, 5, 29, 15, 125, 83, 139, 381, 1435, 2129, 1699, 10725, 531, 767, 112477, 134223}}, +{15384, 18, 33227, {1, 3, 7, 9, 9, 23, 35, 1, 127, 143, 707, 1475, 4705, 8921, 14919, 50909, 64425, 33381}}, +{15385, 18, 33241, {1, 1, 1, 15, 11, 63, 87, 101, 243, 833, 707, 4095, 201, 4877, 10219, 39019, 129779, 229857}}, +{15386, 18, 33263, {1, 1, 1, 11, 5, 9, 35, 177, 303, 545, 917, 1037, 1789, 12147, 29095, 27391, 112833, 104713}}, +{15387, 18, 33341, {1, 1, 1, 5, 27, 23, 111, 219, 439, 445, 967, 3527, 6203, 1829, 19657, 48965, 85213, 58719}}, +{15388, 18, 33344, {1, 3, 7, 11, 15, 7, 95, 113, 317, 225, 1229, 3033, 5777, 4075, 24093, 3539, 19333, 212757}}, +{15389, 18, 33356, {1, 3, 7, 7, 1, 35, 35, 67, 459, 769, 1675, 3509, 7393, 10433, 12003, 7385, 4425, 188989}}, +{15390, 18, 33390, {1, 1, 7, 9, 5, 45, 35, 27, 443, 301, 533, 2803, 99, 17, 20749, 58353, 93067, 118763}}, +{15391, 18, 33398, {1, 1, 3, 3, 13, 51, 61, 181, 81, 859, 1461, 3455, 2277, 13769, 1251, 4313, 119973, 30693}}, +{15392, 18, 33423, {1, 1, 3, 7, 15, 29, 23, 207, 239, 65, 1889, 151, 7793, 2657, 13673, 29033, 74477, 215027}}, +{15393, 18, 33428, {1, 1, 5, 1, 19, 35, 19, 71, 187, 783, 543, 505, 347, 3191, 1087, 49735, 54109, 27979}}, +{15394, 18, 33444, {1, 3, 3, 3, 3, 61, 67, 59, 207, 957, 1709, 1567, 7973, 5921, 29841, 8311, 81165, 91965}}, +{15395, 18, 33454, {1, 1, 1, 7, 23, 47, 109, 189, 447, 861, 1615, 3283, 3059, 749, 28729, 8713, 38743, 211019}}, +{15396, 18, 33479, {1, 3, 5, 1, 17, 51, 127, 181, 355, 515, 603, 465, 1825, 9281, 31971, 42793, 22467, 175777}}, +{15397, 18, 33510, {1, 3, 1, 5, 3, 29, 111, 91, 99, 15, 535, 3047, 1083, 7181, 28003, 60719, 71825, 12293}}, +{15398, 18, 33514, {1, 3, 5, 7, 1, 43, 83, 117, 221, 353, 139, 647, 6017, 4655, 31823, 22097, 118537, 71803}}, +{15399, 18, 33528, {1, 1, 3, 3, 27, 11, 35, 169, 215, 883, 1195, 2983, 4651, 15893, 24051, 313, 103947, 5227}}, +{15400, 18, 33548, {1, 3, 5, 13, 3, 51, 33, 159, 499, 763, 845, 1541, 3837, 9397, 855, 4187, 112167, 243817}}, +{15401, 18, 33566, {1, 1, 7, 9, 1, 15, 19, 239, 227, 561, 1685, 2841, 53, 9753, 15105, 34277, 128859, 100085}}, +{15402, 18, 33570, {1, 3, 5, 13, 15, 7, 57, 9, 415, 1005, 583, 1347, 4349, 3603, 9125, 15019, 77735, 237011}}, +{15403, 18, 33593, {1, 1, 1, 13, 27, 21, 105, 17, 235, 605, 1417, 2053, 3233, 11617, 28651, 43161, 71663, 98373}}, +{15404, 18, 33599, {1, 3, 5, 13, 29, 17, 123, 105, 477, 359, 613, 1699, 2581, 3007, 8507, 14391, 95487, 633}}, +{15405, 18, 33619, {1, 1, 7, 7, 13, 55, 107, 211, 71, 339, 1169, 2629, 165, 16207, 25523, 7101, 47553, 261131}}, +{15406, 18, 33635, {1, 3, 5, 15, 11, 7, 45, 207, 39, 41, 781, 3347, 2529, 4475, 9665, 31499, 119837, 128755}}, +{15407, 18, 33659, {1, 3, 1, 15, 23, 59, 59, 17, 89, 823, 59, 3991, 305, 14893, 1411, 8015, 92193, 66935}}, +{15408, 18, 33680, {1, 1, 7, 15, 19, 29, 11, 207, 429, 851, 1661, 2903, 4413, 447, 29447, 39243, 70435, 160451}}, +{15409, 18, 33699, {1, 1, 3, 13, 17, 5, 93, 89, 455, 67, 33, 65, 7957, 14383, 28525, 56983, 71899, 4881}}, +{15410, 18, 33713, {1, 3, 3, 5, 11, 7, 47, 233, 433, 791, 47, 2561, 6539, 1151, 2083, 12309, 62353, 69507}}, +{15411, 18, 33758, {1, 3, 5, 11, 15, 55, 101, 251, 41, 39, 383, 3481, 1817, 3447, 6205, 38169, 98267, 157091}}, +{15412, 18, 33771, {1, 3, 5, 7, 9, 47, 113, 55, 421, 703, 849, 2251, 129, 9257, 28097, 33475, 98933, 32041}}, +{15413, 18, 33779, {1, 3, 3, 11, 9, 59, 1, 211, 277, 969, 977, 3079, 4707, 3341, 17679, 9469, 52859, 125883}}, +{15414, 18, 33800, {1, 1, 7, 13, 29, 19, 49, 149, 259, 573, 1137, 2571, 2661, 12865, 24993, 10721, 96921, 85931}}, +{15415, 18, 33829, {1, 3, 1, 9, 15, 27, 91, 127, 305, 159, 523, 2539, 1969, 4325, 595, 37077, 79919, 26889}}, +{15416, 18, 33836, {1, 3, 1, 11, 1, 5, 65, 75, 317, 909, 1601, 2713, 6891, 4927, 28427, 5791, 82285, 35209}}, +{15417, 18, 33844, {1, 3, 7, 7, 9, 5, 111, 167, 477, 437, 1133, 2715, 6189, 5051, 4765, 26267, 99819, 70419}}, +{15418, 18, 33856, {1, 1, 3, 9, 27, 57, 23, 233, 423, 191, 1159, 1539, 6397, 16041, 8803, 19787, 114447, 17029}}, +{15419, 18, 33859, {1, 1, 5, 1, 11, 3, 111, 125, 287, 487, 1663, 1953, 3771, 2011, 18167, 47471, 94041, 87569}}, +{15420, 18, 33873, {1, 3, 1, 11, 5, 9, 75, 153, 37, 803, 971, 1667, 4631, 9183, 20179, 6905, 80949, 54443}}, +{15421, 18, 33874, {1, 1, 1, 5, 13, 29, 91, 201, 49, 739, 1569, 2725, 257, 5505, 5289, 40731, 27843, 16565}}, +{15422, 18, 33929, {1, 1, 7, 13, 27, 41, 81, 199, 99, 43, 1331, 3237, 6493, 3839, 19329, 44371, 19715, 60553}}, +{15423, 18, 33944, {1, 1, 5, 7, 29, 41, 67, 163, 467, 93, 1977, 2625, 6967, 6655, 19835, 39517, 10259, 200487}}, +{15424, 18, 33965, {1, 1, 3, 15, 23, 35, 31, 171, 175, 883, 593, 245, 6209, 7381, 5555, 54507, 66159, 40771}}, +{15425, 18, 33978, {1, 3, 3, 11, 3, 63, 75, 177, 239, 77, 1543, 875, 7951, 7571, 961, 9909, 101781, 160399}}, +{15426, 18, 33986, {1, 3, 1, 3, 3, 37, 71, 231, 373, 443, 835, 1321, 2107, 2929, 7527, 47969, 15329, 94537}}, +{15427, 18, 34006, {1, 3, 3, 15, 7, 5, 127, 121, 159, 25, 399, 3009, 4401, 9649, 4311, 18045, 22557, 135177}}, +{15428, 18, 34025, {1, 1, 1, 3, 29, 57, 75, 73, 261, 493, 1417, 1351, 3407, 8553, 4893, 10325, 123149, 161435}}, +{15429, 18, 34106, {1, 3, 3, 11, 15, 5, 87, 115, 337, 213, 949, 1925, 5057, 5831, 6837, 51167, 25291, 182197}}, +{15430, 18, 34126, {1, 3, 1, 11, 25, 49, 27, 101, 403, 989, 1129, 3933, 1147, 13091, 11965, 38075, 68251, 103293}}, +{15431, 18, 34171, {1, 1, 7, 5, 7, 49, 1, 189, 275, 63, 149, 3255, 1175, 7811, 24845, 20755, 99391, 140673}}, +{15432, 18, 34189, {1, 3, 1, 13, 17, 35, 37, 37, 415, 125, 643, 443, 6215, 299, 31237, 45687, 78535, 102123}}, +{15433, 18, 34204, {1, 3, 5, 3, 27, 41, 85, 215, 47, 21, 725, 1967, 2317, 121, 7827, 48229, 82027, 60271}}, +{15434, 18, 34260, {1, 3, 5, 1, 1, 55, 37, 183, 117, 421, 383, 3883, 5519, 6161, 6823, 18423, 77747, 215969}}, +{15435, 18, 34270, {1, 3, 5, 13, 31, 3, 117, 59, 375, 797, 1129, 1283, 3245, 12775, 30353, 3837, 130273, 228899}}, +{15436, 18, 34280, {1, 3, 5, 1, 7, 33, 17, 153, 179, 255, 537, 2911, 1223, 367, 18131, 25903, 33509, 220031}}, +{15437, 18, 34298, {1, 3, 7, 5, 5, 7, 103, 233, 309, 947, 1835, 3509, 4267, 15619, 5895, 30707, 81841, 191899}}, +{15438, 18, 34313, {1, 1, 5, 11, 3, 15, 91, 83, 319, 765, 895, 2565, 6833, 1719, 2971, 37483, 21709, 23193}}, +{15439, 18, 34321, {1, 1, 3, 11, 31, 57, 83, 233, 439, 161, 1503, 749, 6347, 15379, 2317, 24671, 93399, 239585}}, +{15440, 18, 34333, {1, 1, 3, 9, 29, 45, 19, 107, 295, 153, 189, 2521, 5465, 7321, 6143, 229, 100553, 258911}}, +{15441, 18, 34370, {1, 3, 7, 11, 31, 27, 95, 21, 249, 981, 1725, 1481, 1025, 9301, 11809, 53109, 29007, 127683}}, +{15442, 18, 34376, {1, 3, 1, 3, 1, 23, 97, 137, 5, 471, 1887, 1035, 2681, 5143, 3145, 1517, 88107, 245245}}, +{15443, 18, 34387, {1, 1, 1, 1, 15, 11, 13, 9, 405, 607, 403, 1693, 4363, 9365, 6425, 48121, 78969, 87341}}, +{15444, 18, 34389, {1, 1, 7, 15, 3, 17, 7, 51, 111, 1023, 9, 465, 1909, 16283, 4763, 50939, 119029, 198257}}, +{15445, 18, 34417, {1, 3, 3, 1, 31, 11, 113, 13, 499, 433, 1941, 991, 5439, 3123, 24591, 16171, 55099, 206015}}, +{15446, 18, 34429, {1, 3, 5, 15, 25, 49, 125, 101, 251, 619, 1895, 4063, 3065, 14965, 20081, 11233, 58253, 69633}}, +{15447, 18, 34440, {1, 1, 1, 5, 21, 35, 29, 241, 359, 553, 1001, 1865, 5183, 5233, 16371, 55277, 102091, 143275}}, +{15448, 18, 34443, {1, 1, 1, 3, 29, 37, 3, 191, 239, 961, 2031, 1337, 1169, 5229, 22861, 38257, 55027, 153703}}, +{15449, 18, 34451, {1, 3, 5, 7, 7, 35, 49, 139, 509, 381, 1267, 2641, 747, 16239, 23133, 32111, 70471, 128427}}, +{15450, 18, 34470, {1, 1, 1, 9, 23, 25, 117, 125, 369, 891, 103, 2215, 3571, 1291, 9001, 35671, 67119, 198847}}, +{15451, 18, 34484, {1, 1, 5, 9, 17, 19, 27, 7, 207, 55, 1099, 2117, 7511, 14999, 7761, 32215, 103401, 68599}}, +{15452, 18, 34493, {1, 1, 7, 9, 1, 59, 41, 91, 9, 225, 457, 3241, 4713, 2923, 11973, 2867, 130583, 202007}}, +{15453, 18, 34496, {1, 3, 1, 9, 31, 47, 63, 49, 457, 757, 885, 937, 2973, 12147, 2607, 52907, 126047, 83275}}, +{15454, 18, 34514, {1, 3, 5, 11, 17, 1, 79, 123, 505, 203, 1779, 71, 4357, 2285, 31625, 15225, 86519, 2021}}, +{15455, 18, 34526, {1, 3, 1, 11, 21, 17, 41, 169, 125, 995, 351, 1235, 25, 7463, 2099, 18917, 71355, 26983}}, +{15456, 18, 34535, {1, 1, 7, 1, 21, 23, 41, 5, 415, 405, 1235, 1245, 151, 11283, 25293, 45147, 12597, 39501}}, +{15457, 18, 34585, {1, 1, 1, 5, 29, 29, 15, 165, 259, 179, 1479, 3535, 779, 6583, 885, 34331, 71193, 154417}}, +{15458, 18, 34591, {1, 1, 1, 5, 3, 1, 13, 181, 507, 339, 333, 4059, 7963, 15649, 15507, 16913, 34741, 202039}}, +{15459, 18, 34592, {1, 3, 7, 1, 1, 9, 17, 119, 77, 583, 259, 883, 4011, 4275, 9599, 58663, 73237, 202783}}, +{15460, 18, 34602, {1, 1, 5, 11, 23, 27, 19, 171, 373, 779, 661, 1701, 3363, 13095, 897, 51233, 1319, 41093}}, +{15461, 18, 34607, {1, 3, 3, 3, 29, 21, 105, 29, 429, 657, 1735, 1279, 809, 14963, 9735, 23251, 44879, 159371}}, +{15462, 18, 34644, {1, 1, 5, 11, 17, 27, 117, 65, 193, 539, 1095, 439, 1687, 11277, 513, 30611, 88885, 69145}}, +{15463, 18, 34657, {1, 3, 1, 7, 11, 1, 27, 41, 63, 501, 917, 2397, 6839, 10835, 26437, 56169, 46631, 64095}}, +{15464, 18, 34675, {1, 1, 7, 15, 29, 5, 17, 217, 333, 389, 403, 3167, 3599, 12055, 30669, 44821, 109811, 237393}}, +{15465, 18, 34681, {1, 3, 5, 13, 1, 39, 51, 233, 159, 135, 763, 2499, 7741, 13099, 8639, 8043, 39827, 5989}}, +{15466, 18, 34693, {1, 1, 7, 3, 1, 61, 41, 37, 37, 67, 867, 2631, 6265, 5551, 161, 56643, 126087, 126829}}, +{15467, 18, 34706, {1, 1, 7, 1, 21, 39, 101, 225, 489, 123, 661, 2489, 1865, 6809, 21663, 59405, 45579, 51257}}, +{15468, 18, 34745, {1, 3, 7, 9, 27, 53, 11, 97, 369, 389, 1933, 3321, 543, 12331, 11571, 10685, 49049, 244027}}, +{15469, 18, 34759, {1, 3, 5, 3, 7, 15, 21, 165, 181, 877, 1161, 1815, 2097, 449, 32411, 22843, 12467, 55397}}, +{15470, 18, 34765, {1, 3, 1, 3, 11, 45, 23, 193, 287, 137, 333, 1831, 457, 583, 23081, 4525, 4781, 249509}}, +{15471, 18, 34774, {1, 3, 5, 5, 15, 13, 27, 199, 267, 297, 923, 3861, 4949, 7945, 25291, 45407, 47529, 127287}}, +{15472, 18, 34780, {1, 1, 5, 7, 19, 29, 113, 51, 503, 487, 699, 2097, 2957, 6519, 19487, 46873, 38871, 89997}}, +{15473, 18, 34794, {1, 1, 5, 13, 17, 31, 57, 127, 335, 223, 1545, 3749, 1539, 3293, 21159, 13019, 48343, 190895}}, +{15474, 18, 34807, {1, 1, 7, 9, 25, 19, 75, 41, 511, 269, 819, 3313, 6805, 15051, 4349, 1809, 34841, 190641}}, +{15475, 18, 34808, {1, 3, 5, 9, 27, 7, 91, 187, 123, 519, 477, 2719, 211, 1225, 22689, 37043, 66291, 205441}}, +{15476, 18, 34835, {1, 1, 5, 13, 5, 41, 95, 49, 187, 239, 1213, 2363, 8075, 12423, 6361, 42471, 70047, 188063}}, +{15477, 18, 34842, {1, 3, 7, 3, 27, 23, 21, 217, 65, 143, 1171, 1441, 1603, 2235, 20923, 32611, 111903, 132771}}, +{15478, 18, 34865, {1, 1, 7, 9, 3, 29, 33, 203, 497, 179, 1253, 2083, 7407, 12551, 8371, 62167, 93875, 193017}}, +{15479, 18, 34907, {1, 1, 1, 13, 7, 61, 43, 107, 417, 757, 1701, 3187, 5489, 11359, 20469, 20249, 93581, 207969}}, +{15480, 18, 34928, {1, 1, 7, 3, 31, 51, 51, 183, 483, 885, 1627, 3605, 6687, 1271, 27013, 40409, 103807, 189805}}, +{15481, 18, 34949, {1, 1, 3, 1, 21, 21, 107, 185, 267, 981, 147, 1873, 1085, 15829, 10315, 21673, 7713, 120087}}, +{15482, 18, 34961, {1, 1, 5, 3, 7, 27, 73, 131, 287, 657, 1351, 547, 3655, 2433, 6753, 2465, 110299, 194587}}, +{15483, 18, 34964, {1, 1, 7, 7, 17, 55, 29, 223, 411, 775, 745, 3515, 4573, 4289, 7411, 55999, 22021, 110567}}, +{15484, 18, 34987, {1, 3, 1, 3, 29, 55, 7, 183, 507, 773, 1299, 3653, 7693, 3773, 29549, 4171, 123039, 137495}}, +{15485, 18, 34990, {1, 1, 1, 7, 5, 25, 53, 85, 41, 837, 587, 2997, 7281, 6821, 15609, 47855, 49017, 108557}}, +{15486, 18, 35019, {1, 1, 5, 5, 1, 17, 109, 231, 295, 825, 1909, 683, 2197, 1895, 8641, 37917, 36347, 38683}}, +{15487, 18, 35069, {1, 3, 7, 3, 23, 39, 91, 121, 223, 505, 127, 3439, 7779, 12917, 17351, 33063, 84019, 40077}}, +{15488, 18, 35077, {1, 3, 3, 1, 19, 1, 125, 99, 143, 549, 709, 3605, 2377, 761, 14369, 52191, 80811, 214877}}, +{15489, 18, 35090, {1, 1, 7, 9, 13, 57, 39, 91, 505, 299, 1241, 1697, 5821, 5327, 22439, 42321, 120941, 40009}}, +{15490, 18, 35152, {1, 1, 3, 13, 15, 59, 15, 129, 265, 841, 1255, 1915, 4645, 5991, 26801, 7839, 66961, 59045}}, +{15491, 18, 35173, {1, 3, 7, 15, 17, 57, 61, 173, 391, 1001, 1815, 2565, 1445, 13237, 2273, 61683, 62327, 180255}}, +{15492, 18, 35174, {1, 1, 3, 3, 23, 29, 115, 185, 333, 103, 1807, 3271, 4803, 9743, 3031, 25263, 30761, 1899}}, +{15493, 18, 35202, {1, 1, 1, 7, 1, 13, 63, 113, 467, 17, 1803, 3141, 7069, 8895, 25823, 40347, 11211, 88769}}, +{15494, 18, 35214, {1, 3, 5, 1, 3, 3, 29, 101, 315, 915, 341, 287, 4167, 7579, 19797, 18287, 19079, 52805}}, +{15495, 18, 35219, {1, 3, 7, 15, 31, 61, 27, 153, 387, 273, 343, 881, 2273, 6621, 19391, 41735, 123899, 117851}}, +{15496, 18, 35226, {1, 1, 7, 11, 5, 49, 83, 223, 87, 341, 1023, 2785, 3635, 2651, 5179, 25907, 115249, 74001}}, +{15497, 18, 35235, {1, 3, 3, 7, 31, 37, 123, 79, 365, 455, 639, 691, 2659, 12215, 26785, 48785, 120175, 155501}}, +{15498, 18, 35255, {1, 3, 3, 11, 19, 49, 81, 97, 429, 317, 257, 663, 5009, 2855, 22721, 51553, 32511, 188977}}, +{15499, 18, 35310, {1, 1, 7, 11, 5, 37, 1, 123, 477, 747, 839, 3975, 6347, 489, 31387, 56037, 62935, 177587}}, +{15500, 18, 35318, {1, 1, 1, 1, 29, 7, 119, 233, 255, 25, 127, 1377, 991, 12151, 31259, 64863, 34733, 86101}}, +{15501, 18, 35321, {1, 3, 7, 5, 19, 57, 67, 1, 81, 719, 891, 2485, 3817, 1055, 437, 9779, 23823, 173219}}, +{15502, 18, 35333, {1, 1, 1, 5, 1, 63, 87, 163, 135, 809, 637, 1233, 5245, 481, 11011, 23477, 114963, 96051}}, +{15503, 18, 35337, {1, 1, 7, 5, 25, 39, 57, 129, 311, 525, 1555, 179, 639, 4949, 8809, 31215, 95975, 79407}}, +{15504, 18, 35346, {1, 3, 1, 1, 15, 59, 77, 87, 479, 889, 1619, 331, 4781, 10597, 935, 28105, 83861, 134273}}, +{15505, 18, 35373, {1, 3, 5, 15, 21, 55, 61, 105, 373, 185, 1579, 3487, 2621, 8993, 6443, 31709, 57329, 128165}}, +{15506, 18, 35414, {1, 3, 3, 3, 7, 21, 117, 159, 177, 927, 1873, 1865, 3219, 1693, 1173, 34365, 107053, 113949}}, +{15507, 18, 35478, {1, 3, 7, 1, 17, 37, 35, 101, 305, 141, 1681, 1949, 47, 11351, 989, 13887, 127429, 13059}}, +{15508, 18, 35497, {1, 1, 3, 7, 13, 41, 125, 115, 65, 621, 1401, 631, 5875, 8589, 17185, 22757, 83625, 92907}}, +{15509, 18, 35503, {1, 3, 1, 5, 25, 37, 73, 39, 495, 645, 265, 2685, 5875, 5919, 23223, 44593, 26207, 49921}}, +{15510, 18, 35512, {1, 3, 1, 13, 25, 31, 39, 15, 179, 791, 1817, 3617, 2139, 1827, 21215, 21767, 15009, 239443}}, +{15511, 18, 35515, {1, 1, 3, 7, 17, 9, 33, 121, 235, 535, 1537, 3307, 2881, 4351, 4721, 34131, 129619, 137993}}, +{15512, 18, 35526, {1, 1, 3, 1, 3, 51, 79, 213, 205, 323, 1749, 2563, 2013, 6519, 18923, 25937, 74445, 252283}}, +{15513, 18, 35577, {1, 3, 5, 11, 3, 53, 17, 195, 305, 543, 1937, 2997, 4593, 7801, 15307, 46359, 39365, 59537}}, +{15514, 18, 35585, {1, 1, 1, 13, 31, 53, 111, 163, 139, 163, 999, 83, 5125, 10047, 11143, 51407, 13627, 3621}}, +{15515, 18, 35592, {1, 1, 3, 9, 5, 1, 125, 95, 281, 939, 913, 1441, 1209, 12983, 27759, 22393, 75985, 178997}}, +{15516, 18, 35615, {1, 3, 5, 3, 5, 27, 91, 41, 51, 447, 491, 3405, 497, 2873, 17865, 30651, 104197, 71751}}, +{15517, 18, 35616, {1, 3, 7, 1, 29, 61, 73, 31, 423, 933, 1327, 809, 1461, 269, 15121, 18649, 36095, 139429}}, +{15518, 18, 35622, {1, 1, 7, 7, 19, 49, 51, 173, 297, 411, 1255, 1093, 2821, 6743, 1927, 27563, 68459, 261411}}, +{15519, 18, 35634, {1, 3, 5, 1, 5, 33, 27, 119, 103, 615, 149, 2299, 6801, 15615, 7361, 31045, 87719, 9557}}, +{15520, 18, 35657, {1, 1, 3, 9, 17, 23, 89, 35, 151, 385, 319, 2065, 1897, 1987, 15159, 34855, 5395, 110751}}, +{15521, 18, 35672, {1, 3, 1, 13, 7, 47, 19, 185, 207, 787, 1179, 1073, 1463, 6277, 6129, 25031, 91969, 123235}}, +{15522, 18, 35708, {1, 1, 7, 3, 19, 63, 97, 1, 381, 71, 1169, 339, 6585, 3629, 31357, 59451, 102735, 253667}}, +{15523, 18, 35772, {1, 3, 3, 13, 9, 27, 69, 17, 509, 599, 1247, 2267, 3309, 1905, 17995, 41263, 5947, 51607}}, +{15524, 18, 35790, {1, 3, 1, 9, 31, 45, 69, 243, 171, 555, 61, 1135, 1993, 8615, 18363, 19545, 64015, 81391}}, +{15525, 18, 35804, {1, 1, 1, 1, 19, 49, 31, 65, 53, 123, 271, 3007, 4509, 9465, 3855, 12673, 19457, 14677}}, +{15526, 18, 35811, {1, 3, 5, 13, 29, 53, 91, 145, 115, 53, 839, 1911, 2887, 6053, 18437, 42273, 63093, 70937}}, +{15527, 18, 35814, {1, 1, 5, 5, 27, 13, 87, 175, 485, 699, 463, 811, 4991, 15303, 23007, 10021, 59125, 39997}}, +{15528, 18, 35837, {1, 1, 5, 5, 27, 21, 89, 61, 109, 555, 953, 2811, 3015, 3249, 16085, 64413, 84605, 177333}}, +{15529, 18, 35846, {1, 1, 7, 3, 1, 29, 83, 143, 67, 577, 971, 2339, 6521, 6341, 27141, 37149, 99813, 37579}}, +{15530, 18, 35873, {1, 3, 3, 7, 23, 29, 117, 5, 287, 559, 667, 2349, 7481, 679, 9633, 40857, 89841, 98125}}, +{15531, 18, 35883, {1, 1, 1, 3, 31, 31, 83, 117, 213, 213, 23, 3803, 5967, 7759, 19521, 13229, 62231, 150687}}, +{15532, 18, 35918, {1, 3, 7, 9, 1, 15, 37, 191, 19, 107, 1723, 3517, 3477, 3777, 4359, 45815, 58661, 33217}}, +{15533, 18, 35920, {1, 1, 5, 1, 17, 3, 3, 255, 501, 1021, 1731, 481, 6145, 3475, 3417, 11847, 92203, 75109}}, +{15534, 18, 35925, {1, 1, 5, 1, 1, 61, 89, 107, 503, 627, 931, 1355, 2067, 12487, 20665, 61543, 15501, 103843}}, +{15535, 18, 35926, {1, 1, 5, 9, 25, 17, 7, 255, 251, 939, 851, 2241, 939, 15331, 29357, 2485, 80791, 152601}}, +{15536, 18, 35945, {1, 1, 5, 3, 13, 25, 35, 113, 83, 765, 1317, 1409, 369, 2215, 5659, 3581, 13925, 108673}}, +{15537, 18, 35956, {1, 1, 1, 1, 13, 13, 83, 27, 5, 563, 723, 2733, 3155, 6567, 24595, 45569, 37587, 144401}}, +{15538, 18, 36003, {1, 1, 1, 9, 31, 51, 73, 105, 299, 857, 669, 963, 4115, 14939, 11669, 46215, 92707, 149249}}, +{15539, 18, 36023, {1, 1, 3, 5, 7, 41, 105, 213, 3, 999, 93, 1497, 6783, 1559, 20047, 40761, 88219, 64769}}, +{15540, 18, 36024, {1, 3, 1, 5, 13, 17, 79, 29, 453, 75, 1095, 623, 7401, 4225, 30467, 60795, 130045, 154767}}, +{15541, 18, 36059, {1, 1, 5, 3, 31, 59, 33, 129, 505, 277, 1623, 3531, 6841, 12903, 7231, 5801, 92405, 260195}}, +{15542, 18, 36061, {1, 1, 3, 5, 27, 23, 63, 219, 225, 547, 1163, 1899, 4191, 9725, 30077, 30157, 73395, 38195}}, +{15543, 18, 36072, {1, 1, 1, 11, 17, 27, 63, 127, 95, 205, 1753, 2023, 6803, 4355, 28169, 16691, 25105, 8969}}, +{15544, 18, 36075, {1, 1, 5, 3, 23, 23, 89, 115, 231, 647, 513, 3161, 3175, 5061, 5797, 35387, 109827, 19511}}, +{15545, 18, 36103, {1, 3, 5, 5, 11, 9, 39, 251, 367, 253, 2031, 3909, 1057, 12545, 25397, 51571, 91229, 83721}}, +{15546, 18, 36110, {1, 3, 5, 7, 5, 35, 57, 153, 111, 789, 177, 2237, 1333, 13185, 993, 22099, 62113, 211815}}, +{15547, 18, 36131, {1, 1, 5, 15, 19, 37, 123, 221, 375, 605, 791, 1663, 7537, 7193, 20149, 58077, 113129, 185493}}, +{15548, 18, 36151, {1, 1, 1, 1, 1, 53, 117, 227, 441, 851, 1171, 4031, 2313, 2847, 25533, 31767, 18197, 153101}}, +{15549, 18, 36160, {1, 1, 3, 3, 13, 9, 65, 225, 71, 763, 1507, 3795, 4321, 399, 12515, 4527, 89193, 236161}}, +{15550, 18, 36199, {1, 1, 3, 11, 21, 63, 73, 125, 369, 309, 953, 3525, 3925, 13609, 26061, 21739, 112867, 112985}}, +{15551, 18, 36223, {1, 1, 7, 1, 27, 25, 3, 129, 321, 193, 1871, 233, 837, 11163, 14861, 42721, 72849, 206739}}, +{15552, 18, 36227, {1, 3, 7, 3, 5, 51, 43, 177, 167, 11, 1297, 1805, 515, 6485, 8253, 271, 47435, 252291}}, +{15553, 18, 36234, {1, 3, 3, 3, 19, 47, 47, 47, 299, 101, 1535, 3593, 4669, 10367, 19219, 16579, 85269, 36115}}, +{15554, 18, 36236, {1, 1, 7, 15, 7, 51, 53, 181, 379, 267, 985, 3401, 2189, 10197, 14183, 413, 76797, 24751}}, +{15555, 18, 36284, {1, 1, 5, 7, 13, 27, 65, 119, 235, 131, 1921, 3411, 1511, 11221, 30315, 11799, 127563, 203533}}, +{15556, 18, 36319, {1, 3, 1, 3, 13, 55, 101, 189, 483, 261, 467, 645, 417, 6203, 9221, 19671, 102331, 259335}}, +{15557, 18, 36332, {1, 1, 5, 15, 19, 7, 81, 1, 371, 119, 1433, 1211, 303, 14393, 27107, 45295, 109211, 224661}}, +{15558, 18, 36343, {1, 3, 7, 9, 19, 53, 31, 55, 103, 351, 1511, 377, 981, 6709, 19553, 53579, 55043, 170489}}, +{15559, 18, 36373, {1, 3, 3, 15, 31, 49, 1, 251, 187, 73, 119, 3041, 5455, 5355, 22245, 7735, 14661, 258447}}, +{15560, 18, 36401, {1, 3, 7, 11, 13, 1, 61, 97, 179, 975, 1653, 3301, 4303, 2271, 30171, 63287, 51271, 21909}}, +{15561, 18, 36413, {1, 1, 5, 11, 21, 45, 101, 131, 121, 881, 1205, 1849, 4337, 5687, 31967, 22559, 98017, 202557}}, +{15562, 18, 36433, {1, 3, 3, 7, 1, 49, 11, 35, 141, 309, 651, 3319, 4313, 3675, 27699, 49429, 109805, 167089}}, +{15563, 18, 36459, {1, 1, 3, 13, 13, 15, 61, 251, 335, 365, 677, 2183, 6291, 8857, 15231, 551, 63149, 76729}}, +{15564, 18, 36480, {1, 3, 3, 13, 1, 59, 85, 127, 409, 1007, 1947, 3495, 6227, 11447, 14329, 3769, 109619, 59063}}, +{15565, 18, 36485, {1, 3, 5, 11, 11, 59, 67, 209, 491, 757, 1137, 1977, 3155, 9339, 11219, 20303, 66417, 187911}}, +{15566, 18, 36510, {1, 1, 5, 9, 27, 51, 87, 249, 327, 867, 29, 3811, 4769, 12353, 24803, 35747, 84101, 210975}}, +{15567, 18, 36513, {1, 3, 7, 7, 23, 37, 23, 55, 237, 543, 779, 1305, 1535, 13333, 1403, 10903, 113135, 195799}}, +{15568, 18, 36523, {1, 1, 3, 11, 1, 1, 3, 153, 401, 35, 981, 79, 4227, 9203, 8179, 29325, 104809, 140613}}, +{15569, 18, 36528, {1, 3, 5, 9, 13, 39, 101, 181, 507, 307, 1411, 1443, 6855, 8747, 22709, 37869, 102303, 577}}, +{15570, 18, 36537, {1, 3, 5, 1, 25, 41, 3, 239, 195, 1, 1277, 2085, 4253, 14683, 24171, 56733, 82795, 213291}}, +{15571, 18, 36558, {1, 1, 3, 5, 25, 55, 31, 55, 215, 149, 1813, 3775, 779, 6137, 10561, 41671, 96883, 177435}}, +{15572, 18, 36563, {1, 1, 5, 11, 15, 5, 1, 237, 131, 13, 229, 3203, 2431, 1829, 31983, 59535, 31381, 175455}}, +{15573, 18, 36576, {1, 3, 3, 7, 5, 19, 61, 253, 223, 609, 1395, 2495, 5501, 6571, 12989, 889, 49435, 200251}}, +{15574, 18, 36608, {1, 1, 7, 13, 25, 49, 33, 157, 457, 259, 1935, 2249, 7419, 12685, 30509, 32187, 108839, 178963}}, +{15575, 18, 36611, {1, 3, 3, 15, 19, 27, 91, 133, 369, 931, 359, 759, 2647, 13643, 14877, 14031, 115367, 201745}}, +{15576, 18, 36617, {1, 1, 5, 3, 9, 23, 87, 27, 203, 995, 1759, 999, 949, 2733, 29053, 46581, 129003, 42585}}, +{15577, 18, 36653, {1, 1, 3, 1, 1, 21, 63, 243, 257, 741, 681, 2471, 2455, 15145, 31739, 8751, 15963, 165405}}, +{15578, 18, 36716, {1, 3, 3, 1, 25, 21, 69, 213, 219, 9, 199, 487, 4103, 141, 18177, 58797, 60415, 6313}}, +{15579, 18, 36721, {1, 3, 1, 5, 23, 43, 61, 121, 123, 89, 283, 1313, 2707, 10199, 7699, 17437, 130995, 140327}}, +{15580, 18, 36733, {1, 3, 5, 13, 31, 41, 111, 39, 403, 5, 1125, 2867, 3143, 7051, 9891, 43349, 20751, 88465}}, +{15581, 18, 36761, {1, 1, 3, 1, 19, 53, 83, 207, 285, 789, 1515, 3455, 4057, 15777, 27879, 46971, 122661, 143407}}, +{15582, 18, 36783, {1, 3, 3, 11, 25, 21, 127, 191, 313, 357, 1625, 1323, 1151, 12509, 22275, 23517, 12221, 258709}}, +{15583, 18, 36786, {1, 1, 5, 7, 1, 47, 1, 107, 387, 965, 1319, 2911, 2121, 8595, 9, 21587, 81187, 2803}}, +{15584, 18, 36795, {1, 3, 3, 5, 19, 55, 37, 213, 23, 767, 1493, 635, 4289, 2503, 16835, 47851, 77335, 60565}}, +{15585, 18, 36800, {1, 1, 1, 7, 23, 9, 101, 145, 457, 691, 1895, 2145, 7527, 7687, 20781, 10957, 24859, 79137}}, +{15586, 18, 36810, {1, 3, 7, 15, 9, 9, 15, 195, 493, 859, 687, 1445, 429, 8599, 24591, 40709, 118361, 148163}}, +{15587, 18, 36812, {1, 1, 1, 3, 7, 51, 45, 143, 339, 475, 1177, 2829, 785, 10141, 4923, 29135, 22603, 119973}}, +{15588, 18, 36817, {1, 3, 5, 15, 25, 37, 1, 13, 351, 127, 143, 2637, 1215, 14577, 12465, 10575, 67997, 21877}}, +{15589, 18, 36818, {1, 3, 7, 3, 27, 19, 59, 241, 327, 307, 731, 3471, 6123, 13607, 8793, 14825, 110681, 83259}}, +{15590, 18, 36851, {1, 1, 1, 11, 25, 5, 59, 85, 335, 189, 499, 1305, 5801, 7259, 2397, 14045, 55585, 258579}}, +{15591, 18, 36853, {1, 1, 3, 5, 21, 49, 49, 63, 261, 657, 1453, 55, 1325, 15513, 14891, 60689, 15381, 252641}}, +{15592, 18, 36868, {1, 1, 7, 15, 25, 3, 85, 33, 495, 867, 903, 1813, 2871, 365, 17399, 45695, 102851, 225873}}, +{15593, 18, 36889, {1, 1, 1, 13, 13, 63, 29, 35, 325, 893, 1313, 133, 8169, 7791, 9271, 36759, 92275, 169717}}, +{15594, 18, 36890, {1, 1, 7, 3, 21, 45, 7, 151, 387, 891, 1921, 1701, 307, 5323, 16321, 51229, 79369, 21513}}, +{15595, 18, 36896, {1, 1, 1, 11, 7, 27, 17, 75, 161, 649, 337, 1731, 2905, 4589, 17387, 10455, 70673, 228373}}, +{15596, 18, 36905, {1, 1, 3, 15, 17, 35, 45, 131, 469, 629, 1771, 1965, 5065, 6249, 29041, 52791, 55619, 154531}}, +{15597, 18, 36919, {1, 1, 7, 3, 25, 53, 85, 233, 161, 163, 1155, 3159, 1551, 13099, 25647, 26777, 91647, 162755}}, +{15598, 18, 36938, {1, 1, 3, 9, 17, 11, 39, 63, 503, 927, 1621, 3425, 4835, 7083, 16449, 47913, 127905, 165567}}, +{15599, 18, 36946, {1, 1, 7, 1, 29, 9, 1, 111, 285, 1009, 1427, 3071, 205, 12269, 31337, 14501, 10923, 14277}}, +{15600, 18, 36951, {1, 1, 5, 5, 1, 3, 51, 205, 477, 661, 1555, 2113, 6487, 4755, 13633, 16391, 35775, 52623}}, +{15601, 18, 36952, {1, 3, 3, 3, 27, 23, 109, 49, 71, 19, 733, 1361, 4369, 14527, 20443, 10507, 120183, 246115}}, +{15602, 18, 36964, {1, 3, 3, 5, 7, 47, 51, 197, 97, 471, 1631, 3317, 5857, 9405, 30359, 7741, 45079, 175929}}, +{15603, 18, 36968, {1, 1, 3, 3, 13, 63, 39, 173, 511, 525, 1687, 1735, 6877, 7383, 27971, 26503, 6189, 232251}}, +{15604, 18, 36979, {1, 1, 5, 3, 5, 31, 101, 99, 51, 987, 1627, 3899, 6321, 9441, 4983, 64001, 30923, 199495}}, +{15605, 18, 36981, {1, 3, 1, 1, 11, 39, 119, 123, 33, 1017, 1477, 283, 4939, 453, 16445, 25599, 106857, 257811}}, +{15606, 18, 37021, {1, 3, 1, 11, 13, 1, 3, 101, 275, 75, 1795, 1449, 2503, 11765, 19299, 14237, 157, 244825}}, +{15607, 18, 37026, {1, 3, 7, 15, 23, 1, 85, 65, 55, 103, 1523, 1443, 1021, 5733, 3297, 10889, 22487, 82503}}, +{15608, 18, 37075, {1, 1, 7, 3, 17, 59, 109, 113, 17, 173, 1709, 273, 5327, 3243, 10751, 58361, 42303, 78391}}, +{15609, 18, 37077, {1, 1, 5, 15, 25, 11, 101, 133, 193, 131, 1671, 3045, 7111, 14331, 15665, 56407, 31561, 154555}}, +{15610, 18, 37108, {1, 3, 3, 5, 15, 41, 105, 65, 81, 293, 389, 2653, 1883, 14741, 23553, 33349, 39665, 154233}}, +{15611, 18, 37112, {1, 1, 5, 15, 31, 19, 121, 41, 261, 511, 1679, 957, 1647, 12647, 12285, 30291, 122483, 187911}}, +{15612, 18, 37150, {1, 3, 1, 5, 27, 25, 17, 45, 303, 947, 1123, 2729, 281, 12389, 27987, 42667, 16089, 17129}}, +{15613, 18, 37154, {1, 3, 7, 15, 13, 17, 25, 223, 125, 837, 159, 253, 2599, 11381, 639, 32545, 50633, 139025}}, +{15614, 18, 37156, {1, 3, 1, 13, 23, 43, 25, 83, 507, 47, 99, 697, 4453, 2139, 17151, 50709, 37099, 212957}}, +{15615, 18, 37163, {1, 1, 7, 7, 29, 7, 63, 141, 475, 853, 1073, 143, 6979, 5663, 29691, 59489, 89689, 223047}}, +{15616, 18, 37178, {1, 1, 1, 1, 13, 27, 101, 61, 27, 735, 207, 2065, 5811, 5461, 21493, 15481, 103727, 80017}}, +{15617, 18, 37183, {1, 3, 1, 11, 9, 9, 35, 251, 147, 841, 1891, 1909, 5053, 5103, 11751, 16209, 110475, 114875}}, +{15618, 18, 37185, {1, 3, 3, 11, 13, 55, 117, 205, 71, 159, 1797, 989, 2221, 16087, 18287, 8355, 96403, 146613}}, +{15619, 18, 37191, {1, 1, 5, 5, 29, 25, 73, 63, 299, 839, 1225, 3583, 5641, 1341, 29431, 7035, 99107, 13493}}, +{15620, 18, 37198, {1, 1, 3, 5, 27, 53, 9, 51, 79, 701, 667, 1469, 4455, 13761, 18607, 39429, 7687, 201115}}, +{15621, 18, 37203, {1, 3, 7, 11, 23, 35, 101, 129, 491, 369, 565, 2557, 2529, 1003, 16003, 33873, 52155, 861}}, +{15622, 18, 37225, {1, 1, 1, 15, 27, 63, 1, 55, 331, 853, 899, 1027, 7389, 8935, 12559, 27315, 101753, 255331}}, +{15623, 18, 37243, {1, 3, 3, 15, 5, 41, 93, 39, 473, 887, 1667, 847, 7619, 8407, 6539, 31989, 63807, 21861}}, +{15624, 18, 37252, {1, 1, 5, 11, 27, 57, 73, 249, 331, 653, 21, 2937, 4403, 16195, 18785, 30375, 22939, 235291}}, +{15625, 18, 37262, {1, 1, 7, 1, 7, 41, 59, 161, 295, 503, 595, 3021, 455, 3991, 8617, 65361, 107239, 83205}}, +{15626, 18, 37264, {1, 3, 3, 15, 17, 41, 61, 229, 273, 687, 657, 1969, 2817, 2367, 29183, 41199, 24123, 184081}}, +{15627, 18, 37276, {1, 3, 7, 5, 25, 63, 43, 65, 443, 423, 549, 2031, 3353, 7041, 6563, 18819, 46047, 239823}}, +{15628, 18, 37327, {1, 3, 3, 3, 3, 17, 13, 115, 377, 623, 1959, 127, 5125, 13209, 24731, 23151, 21303, 7213}}, +{15629, 18, 37355, {1, 1, 7, 1, 21, 11, 21, 41, 491, 37, 1759, 2771, 1301, 12995, 17621, 30907, 75511, 82321}}, +{15630, 18, 37403, {1, 3, 3, 13, 13, 23, 77, 211, 215, 711, 427, 2213, 8041, 1595, 26105, 39051, 105407, 242141}}, +{15631, 18, 37415, {1, 3, 3, 9, 13, 35, 117, 207, 75, 395, 723, 3321, 6643, 2429, 10043, 10585, 3529, 64067}}, +{15632, 18, 37422, {1, 1, 1, 7, 3, 1, 83, 93, 311, 157, 891, 1717, 7669, 16067, 11775, 27693, 11757, 94471}}, +{15633, 18, 37448, {1, 3, 3, 5, 17, 63, 23, 177, 289, 921, 315, 3083, 5903, 8697, 22425, 37845, 31171, 49237}}, +{15634, 18, 37451, {1, 1, 7, 9, 21, 63, 29, 227, 427, 271, 525, 2071, 7103, 8389, 29185, 51601, 110737, 16949}}, +{15635, 18, 37478, {1, 3, 3, 3, 3, 49, 25, 173, 79, 343, 509, 1939, 6389, 15501, 20135, 54365, 69931, 135269}}, +{15636, 18, 37484, {1, 1, 3, 3, 21, 23, 41, 71, 169, 947, 1027, 2345, 3397, 12181, 15409, 31725, 41223, 58837}}, +{15637, 18, 37525, {1, 3, 7, 1, 19, 23, 57, 201, 27, 449, 1479, 921, 4703, 10949, 14369, 27929, 45399, 46055}}, +{15638, 18, 37553, {1, 1, 3, 9, 13, 17, 125, 17, 393, 295, 497, 3089, 6589, 4003, 8687, 48145, 2683, 175521}}, +{15639, 18, 37640, {1, 3, 3, 15, 15, 13, 3, 31, 51, 101, 973, 101, 3709, 13437, 51, 14293, 21561, 136497}}, +{15640, 18, 37645, {1, 1, 5, 11, 17, 27, 51, 45, 77, 539, 225, 2029, 533, 153, 26085, 33611, 28153, 75671}}, +{15641, 18, 37658, {1, 1, 1, 15, 3, 59, 59, 123, 475, 225, 1613, 3121, 2865, 4647, 14553, 35449, 121657, 37457}}, +{15642, 18, 37667, {1, 1, 5, 1, 27, 33, 121, 225, 57, 619, 1293, 3813, 2121, 3525, 21995, 47253, 33095, 257451}}, +{15643, 18, 37708, {1, 3, 1, 11, 11, 43, 115, 233, 335, 185, 989, 3567, 4135, 2357, 20559, 43325, 43015, 51695}}, +{15644, 18, 37723, {1, 1, 5, 9, 11, 49, 45, 187, 93, 967, 1609, 2511, 1549, 4045, 21309, 16341, 13495, 214827}}, +{15645, 18, 37732, {1, 1, 1, 13, 21, 23, 81, 7, 259, 483, 1059, 773, 5297, 10123, 9857, 61187, 47355, 76307}}, +{15646, 18, 37747, {1, 3, 7, 9, 29, 51, 113, 255, 223, 853, 1173, 1019, 1587, 9629, 22373, 32731, 125179, 193271}}, +{15647, 18, 37753, {1, 1, 5, 11, 3, 55, 25, 145, 347, 451, 1447, 3399, 5873, 11579, 11107, 64707, 10161, 142003}}, +{15648, 18, 37772, {1, 1, 1, 7, 15, 49, 109, 93, 267, 919, 177, 2247, 8129, 8039, 15629, 63767, 98153, 143255}}, +{15649, 18, 37789, {1, 1, 5, 3, 3, 27, 47, 151, 231, 35, 155, 2745, 7349, 6543, 14117, 19549, 54927, 10819}}, +{15650, 18, 37817, {1, 3, 7, 15, 31, 29, 17, 203, 249, 169, 1071, 3069, 6269, 3455, 27177, 33761, 111003, 4527}}, +{15651, 18, 37826, {1, 3, 1, 5, 31, 15, 65, 189, 3, 917, 857, 1221, 3553, 2883, 3631, 32971, 68057, 109081}}, +{15652, 18, 37831, {1, 3, 1, 9, 3, 55, 127, 57, 125, 463, 199, 317, 3373, 967, 5569, 55997, 17167, 33585}}, +{15653, 18, 37845, {1, 3, 5, 1, 9, 57, 15, 89, 335, 119, 1445, 1931, 4177, 2495, 27507, 8209, 60003, 29657}}, +{15654, 18, 37855, {1, 3, 5, 7, 15, 43, 83, 117, 283, 131, 653, 57, 6789, 7633, 30525, 64131, 101981, 122017}}, +{15655, 18, 37859, {1, 3, 7, 11, 3, 17, 115, 217, 391, 825, 1633, 885, 7787, 5595, 12235, 30233, 53587, 62985}}, +{15656, 18, 37866, {1, 1, 5, 3, 5, 13, 99, 1, 75, 329, 1247, 107, 2337, 4201, 6217, 12273, 41585, 46563}}, +{15657, 18, 37880, {1, 3, 1, 15, 25, 53, 33, 125, 311, 955, 161, 3631, 581, 11915, 4223, 63207, 16517, 201665}}, +{15658, 18, 37885, {1, 1, 5, 1, 27, 23, 93, 211, 483, 691, 949, 1825, 391, 12111, 13639, 61009, 88503, 104823}}, +{15659, 18, 37897, {1, 3, 1, 13, 3, 9, 51, 133, 259, 977, 697, 661, 7661, 3987, 8327, 50155, 112235, 236135}}, +{15660, 18, 37906, {1, 1, 3, 13, 7, 39, 121, 37, 151, 973, 1275, 2699, 3345, 7167, 19245, 55535, 12305, 33567}}, +{15661, 18, 37948, {1, 1, 1, 1, 27, 5, 91, 63, 409, 579, 459, 2335, 4721, 3305, 11293, 15405, 74513, 157863}}, +{15662, 18, 37954, {1, 1, 5, 1, 21, 45, 55, 111, 475, 381, 659, 1131, 3575, 5165, 27221, 46757, 53587, 90741}}, +{15663, 18, 37978, {1, 1, 5, 15, 11, 31, 121, 209, 69, 389, 779, 2833, 4519, 1801, 4363, 24723, 105849, 54475}}, +{15664, 18, 37980, {1, 1, 3, 9, 7, 19, 11, 75, 275, 77, 1997, 1661, 6139, 13165, 30653, 49469, 67053, 3811}}, +{15665, 18, 37990, {1, 1, 3, 9, 5, 11, 5, 151, 395, 715, 1381, 3011, 5939, 1805, 8063, 62877, 99749, 112951}}, +{15666, 18, 38001, {1, 1, 5, 13, 19, 15, 113, 47, 455, 173, 1897, 701, 6093, 2089, 3977, 20599, 60947, 23671}}, +{15667, 18, 38020, {1, 1, 1, 13, 23, 19, 13, 117, 275, 313, 1683, 2975, 179, 3949, 4361, 60211, 91999, 211219}}, +{15668, 18, 38029, {1, 3, 5, 15, 13, 53, 83, 161, 491, 1001, 1773, 1227, 1965, 14479, 17677, 24399, 86431, 203303}}, +{15669, 18, 38047, {1, 1, 7, 15, 5, 51, 103, 131, 351, 747, 1227, 2859, 6693, 10615, 29485, 6619, 106239, 148739}}, +{15670, 18, 38063, {1, 3, 5, 1, 9, 43, 91, 173, 223, 393, 1181, 3785, 6589, 1299, 10217, 20891, 64125, 63409}}, +{15671, 18, 38077, {1, 1, 5, 7, 11, 23, 45, 57, 397, 771, 511, 1849, 343, 14139, 26271, 56241, 52581, 163187}}, +{15672, 18, 38110, {1, 3, 7, 5, 15, 59, 89, 151, 255, 247, 291, 219, 995, 10821, 1445, 35581, 88767, 16871}}, +{15673, 18, 38116, {1, 1, 7, 11, 7, 25, 3, 175, 253, 193, 1641, 1669, 7095, 11871, 10801, 42567, 120663, 109347}}, +{15674, 18, 38119, {1, 3, 5, 7, 31, 41, 119, 39, 149, 653, 153, 2783, 1377, 5223, 17915, 3127, 41869, 193477}}, +{15675, 18, 38176, {1, 3, 3, 13, 23, 19, 47, 85, 487, 103, 237, 2363, 4451, 5077, 23749, 17011, 73561, 169165}}, +{15676, 18, 38186, {1, 1, 3, 9, 21, 25, 77, 235, 53, 681, 1463, 2093, 1525, 12797, 5469, 54277, 15587, 68395}}, +{15677, 18, 38194, {1, 1, 1, 15, 23, 63, 63, 225, 239, 143, 1073, 199, 3231, 1371, 11215, 5999, 100705, 174681}}, +{15678, 18, 38218, {1, 1, 1, 3, 17, 25, 69, 179, 445, 695, 281, 379, 8115, 9443, 13221, 50669, 37369, 62151}}, +{15679, 18, 38241, {1, 3, 3, 9, 11, 29, 21, 89, 441, 353, 401, 1139, 5003, 8087, 24457, 50237, 110993, 117233}}, +{15680, 18, 38247, {1, 3, 3, 1, 13, 45, 31, 249, 295, 149, 591, 2071, 3611, 931, 16261, 8239, 82767, 195665}}, +{15681, 18, 38261, {1, 3, 3, 9, 19, 47, 69, 177, 493, 231, 431, 1359, 6867, 7641, 15661, 25285, 65477, 212643}}, +{15682, 18, 38268, {1, 3, 3, 13, 19, 63, 83, 153, 367, 407, 547, 661, 7743, 5473, 2993, 62937, 33811, 101313}}, +{15683, 18, 38277, {1, 3, 5, 3, 29, 17, 19, 203, 79, 279, 1333, 1851, 51, 9793, 12955, 17383, 73437, 121743}}, +{15684, 18, 38287, {1, 1, 1, 11, 11, 43, 31, 187, 463, 827, 1511, 225, 845, 8963, 1553, 61269, 122033, 245633}}, +{15685, 18, 38295, {1, 1, 3, 3, 31, 23, 9, 241, 377, 317, 655, 2197, 2461, 13239, 15649, 7879, 55085, 129855}}, +{15686, 18, 38299, {1, 3, 5, 7, 9, 37, 1, 191, 185, 145, 1567, 3423, 1127, 1991, 10741, 38407, 22915, 222845}}, +{15687, 18, 38301, {1, 1, 5, 3, 27, 31, 11, 227, 307, 973, 745, 1079, 7479, 10065, 31389, 19195, 114775, 246615}}, +{15688, 18, 38305, {1, 3, 1, 11, 29, 27, 11, 83, 205, 399, 1489, 739, 715, 7955, 16473, 21127, 62379, 260399}}, +{15689, 18, 38312, {1, 3, 3, 3, 25, 25, 123, 163, 399, 841, 963, 2089, 4949, 13085, 19831, 15345, 60377, 164235}}, +{15690, 18, 38315, {1, 1, 1, 9, 3, 21, 101, 105, 397, 23, 1505, 3201, 547, 295, 23247, 18823, 115243, 151073}}, +{15691, 18, 38317, {1, 3, 7, 1, 31, 27, 111, 23, 205, 709, 1625, 3921, 6225, 11039, 29549, 51239, 119003, 133663}}, +{15692, 18, 38343, {1, 3, 3, 11, 21, 49, 111, 195, 25, 833, 1991, 563, 7031, 15429, 5707, 12351, 32221, 16599}}, +{15693, 18, 38344, {1, 1, 5, 7, 5, 7, 39, 171, 39, 921, 385, 2343, 625, 15355, 4923, 36597, 56901, 148377}}, +{15694, 18, 38350, {1, 1, 3, 15, 7, 43, 89, 217, 67, 271, 853, 147, 6767, 3183, 341, 40769, 116767, 22351}}, +{15695, 18, 38358, {1, 3, 5, 7, 7, 3, 105, 27, 183, 59, 953, 4027, 1277, 10323, 29437, 56085, 32677, 198067}}, +{15696, 18, 38364, {1, 1, 1, 15, 23, 29, 51, 209, 13, 177, 1103, 1723, 2877, 9199, 25601, 15537, 8599, 230819}}, +{15697, 18, 38371, {1, 1, 7, 1, 29, 39, 41, 217, 467, 423, 431, 2707, 2017, 11865, 11989, 12045, 71349, 6311}}, +{15698, 18, 38373, {1, 1, 1, 13, 15, 25, 3, 55, 403, 833, 1843, 1159, 1703, 2221, 15379, 65027, 18327, 108881}}, +{15699, 18, 38377, {1, 3, 7, 13, 3, 27, 13, 227, 215, 873, 1073, 1117, 7941, 13607, 7571, 6957, 44991, 239761}}, +{15700, 18, 38392, {1, 3, 7, 11, 23, 1, 95, 235, 283, 977, 1443, 161, 5937, 4351, 30835, 35569, 57509, 1835}}, +{15701, 18, 38407, {1, 3, 3, 13, 11, 1, 85, 75, 261, 543, 9, 899, 5821, 5465, 9771, 53707, 101003, 219215}}, +{15702, 18, 38408, {1, 3, 1, 7, 21, 49, 35, 19, 35, 759, 1467, 1423, 6355, 8415, 563, 24157, 121029, 87309}}, +{15703, 18, 38421, {1, 1, 7, 1, 9, 13, 65, 85, 209, 583, 387, 1743, 2665, 12021, 7525, 27665, 45885, 135039}}, +{15704, 18, 38438, {1, 1, 7, 11, 29, 41, 91, 17, 291, 211, 1801, 493, 899, 14491, 1741, 28971, 35205, 131417}}, +{15705, 18, 38442, {1, 1, 5, 13, 23, 55, 119, 165, 61, 653, 1375, 3575, 5081, 7767, 19963, 61583, 107149, 240639}}, +{15706, 18, 38464, {1, 3, 5, 15, 25, 3, 51, 27, 127, 259, 55, 2221, 3951, 6243, 15825, 42881, 37009, 254401}}, +{15707, 18, 38473, {1, 3, 5, 11, 25, 63, 13, 105, 111, 677, 1545, 2399, 4419, 10853, 7213, 17183, 103411, 67459}}, +{15708, 18, 38484, {1, 1, 1, 11, 11, 31, 73, 125, 155, 545, 1857, 2749, 6389, 4083, 16239, 23651, 68881, 43455}}, +{15709, 18, 38491, {1, 3, 7, 7, 21, 3, 117, 237, 431, 17, 687, 2613, 7483, 3253, 30511, 53833, 33077, 157055}}, +{15710, 18, 38510, {1, 1, 1, 1, 1, 57, 65, 97, 415, 477, 1003, 1415, 1493, 12993, 30965, 24809, 1467, 213021}}, +{15711, 18, 38518, {1, 1, 3, 7, 25, 33, 45, 25, 511, 733, 1077, 2483, 5899, 14295, 11631, 50609, 128989, 45177}}, +{15712, 18, 38531, {1, 1, 3, 3, 25, 17, 115, 31, 115, 191, 293, 3991, 3039, 6751, 16217, 16517, 21121, 193641}}, +{15713, 18, 38537, {1, 3, 3, 13, 25, 23, 7, 51, 363, 641, 333, 2533, 605, 1105, 12941, 4195, 129571, 13253}}, +{15714, 18, 38538, {1, 3, 1, 11, 17, 21, 7, 205, 293, 159, 9, 441, 3287, 10247, 2115, 54099, 128109, 8137}}, +{15715, 18, 38567, {1, 1, 7, 5, 21, 17, 43, 87, 117, 737, 149, 3175, 343, 8509, 12147, 22041, 80037, 23277}}, +{15716, 18, 38594, {1, 3, 3, 1, 3, 7, 101, 245, 11, 1003, 175, 2323, 7807, 15611, 5161, 10277, 37009, 83231}}, +{15717, 18, 38647, {1, 3, 1, 5, 13, 17, 113, 75, 315, 237, 77, 587, 5409, 2053, 22551, 15205, 82545, 18531}}, +{15718, 18, 38651, {1, 3, 5, 11, 9, 57, 61, 117, 281, 111, 369, 2411, 1691, 3391, 5379, 8237, 87329, 4253}}, +{15719, 18, 38654, {1, 3, 3, 3, 19, 25, 101, 1, 495, 25, 1317, 2333, 6183, 12215, 27879, 56403, 37169, 71635}}, +{15720, 18, 38686, {1, 1, 3, 5, 17, 63, 49, 127, 171, 405, 1763, 3697, 405, 2233, 4137, 28787, 108319, 53133}}, +{15721, 18, 38702, {1, 1, 5, 7, 23, 43, 87, 189, 97, 239, 1459, 2115, 7517, 7799, 28957, 37105, 71835, 199195}}, +{15722, 18, 38751, {1, 3, 1, 3, 25, 25, 23, 61, 369, 717, 1711, 1103, 7535, 9871, 25, 26849, 55955, 113389}}, +{15723, 18, 38821, {1, 1, 1, 11, 25, 57, 33, 175, 127, 541, 1031, 2847, 2069, 4033, 25593, 10615, 50097, 122955}}, +{15724, 18, 38825, {1, 3, 3, 13, 11, 27, 97, 171, 245, 33, 213, 4069, 753, 3535, 11727, 34941, 100543, 220789}}, +{15725, 18, 38853, {1, 3, 3, 9, 3, 17, 13, 237, 477, 507, 1751, 3191, 3385, 13977, 23355, 57355, 64341, 37683}}, +{15726, 18, 38863, {1, 1, 7, 13, 13, 43, 7, 153, 209, 7, 63, 585, 1715, 13313, 25355, 46759, 71893, 29755}}, +{15727, 18, 38882, {1, 3, 3, 3, 11, 23, 11, 147, 135, 1011, 1105, 3931, 3861, 13589, 32183, 30727, 37685, 67123}}, +{15728, 18, 38884, {1, 3, 7, 1, 11, 13, 25, 229, 147, 843, 329, 3337, 7559, 13193, 3011, 31549, 102461, 46195}}, +{15729, 18, 38932, {1, 1, 5, 11, 5, 47, 127, 89, 53, 663, 261, 541, 7743, 13037, 9013, 23079, 81225, 239875}}, +{15730, 18, 38941, {1, 1, 7, 3, 5, 39, 15, 177, 357, 357, 1959, 1721, 6703, 11829, 1195, 42113, 88699, 244347}}, +{15731, 18, 38952, {1, 1, 5, 15, 25, 19, 7, 3, 225, 773, 1535, 99, 6555, 4105, 19137, 56155, 109141, 161015}}, +{15732, 18, 38960, {1, 1, 5, 15, 5, 59, 41, 53, 203, 459, 1063, 3015, 5397, 1559, 20835, 57773, 67687, 206189}}, +{15733, 18, 38980, {1, 3, 1, 11, 17, 25, 61, 221, 37, 809, 1461, 1961, 7697, 1777, 23179, 54761, 7787, 177737}}, +{15734, 18, 38995, {1, 3, 7, 15, 27, 21, 49, 107, 353, 677, 461, 239, 5871, 1059, 3011, 32397, 13149, 103973}}, +{15735, 18, 39004, {1, 1, 5, 3, 11, 53, 61, 239, 479, 913, 479, 3435, 4979, 7931, 16841, 60077, 26667, 212601}}, +{15736, 18, 39013, {1, 1, 3, 5, 3, 19, 43, 143, 353, 507, 871, 2547, 7321, 6163, 9425, 62911, 86153, 239011}}, +{15737, 18, 39017, {1, 1, 1, 3, 15, 7, 115, 43, 69, 299, 1235, 1511, 3111, 7465, 769, 46981, 127707, 195839}}, +{15738, 18, 39026, {1, 1, 1, 5, 23, 27, 19, 21, 273, 291, 953, 3577, 3147, 3863, 18625, 53505, 33699, 123305}}, +{15739, 18, 39056, {1, 3, 5, 9, 3, 11, 89, 27, 447, 119, 493, 2605, 8175, 8837, 27555, 2319, 99101, 79121}}, +{15740, 18, 39121, {1, 1, 7, 11, 1, 11, 77, 129, 97, 261, 1241, 3117, 1627, 5397, 6495, 52339, 52711, 206237}}, +{15741, 18, 39124, {1, 3, 7, 9, 27, 57, 77, 147, 35, 845, 1417, 1615, 6097, 12559, 10765, 19027, 91693, 204339}}, +{15742, 18, 39133, {1, 1, 3, 5, 25, 47, 17, 145, 7, 969, 1981, 733, 4303, 7785, 4241, 39733, 82569, 78061}}, +{15743, 18, 39157, {1, 1, 5, 1, 5, 47, 45, 111, 405, 943, 1911, 1613, 3817, 10483, 17729, 7201, 88033, 261701}}, +{15744, 18, 39181, {1, 3, 3, 13, 9, 3, 87, 39, 277, 769, 57, 2503, 7803, 11041, 20945, 19623, 32617, 110027}}, +{15745, 18, 39187, {1, 1, 3, 3, 27, 57, 1, 103, 427, 935, 1617, 665, 837, 8001, 13543, 44771, 64033, 65239}}, +{15746, 18, 39212, {1, 1, 5, 3, 13, 21, 31, 59, 225, 945, 1825, 1511, 3273, 3171, 30347, 21993, 40203, 143297}}, +{15747, 18, 39223, {1, 3, 5, 7, 11, 3, 3, 217, 167, 885, 975, 3249, 7909, 13621, 18697, 61021, 31497, 198033}}, +{15748, 18, 39250, {1, 3, 5, 9, 11, 5, 87, 33, 117, 471, 267, 529, 5879, 13969, 5731, 52613, 106411, 74341}}, +{15749, 18, 39265, {1, 1, 7, 11, 5, 31, 25, 55, 135, 779, 717, 1953, 7929, 11011, 6133, 14099, 106975, 178337}}, +{15750, 18, 39320, {1, 3, 1, 1, 29, 17, 125, 7, 445, 299, 1897, 3235, 8189, 14339, 14725, 63185, 126751, 88747}}, +{15751, 18, 39330, {1, 1, 5, 3, 1, 11, 65, 161, 243, 605, 1945, 3141, 6443, 9703, 13331, 2239, 6315, 247595}}, +{15752, 18, 39335, {1, 3, 1, 7, 15, 23, 83, 215, 331, 631, 453, 879, 4109, 4897, 16535, 55749, 90799, 147287}}, +{15753, 18, 39353, {1, 3, 5, 13, 25, 1, 109, 205, 49, 471, 1735, 973, 1279, 9917, 18225, 44921, 98519, 211541}}, +{15754, 18, 39371, {1, 1, 5, 11, 29, 41, 113, 187, 75, 479, 1633, 841, 6259, 8919, 27751, 25179, 115369, 166567}}, +{15755, 18, 39385, {1, 3, 5, 11, 17, 31, 107, 41, 435, 647, 811, 2937, 5819, 3483, 3835, 57033, 53543, 61973}}, +{15756, 18, 39421, {1, 3, 3, 11, 15, 45, 33, 103, 505, 67, 463, 1275, 2449, 15261, 22867, 25215, 38793, 189309}}, +{15757, 18, 39432, {1, 1, 1, 5, 19, 45, 35, 173, 365, 39, 1599, 3623, 2231, 12141, 19437, 27053, 15869, 104719}}, +{15758, 18, 39443, {1, 3, 7, 7, 9, 17, 87, 151, 249, 81, 1109, 1951, 7475, 1699, 17847, 64149, 50285, 242793}}, +{15759, 18, 39450, {1, 3, 5, 13, 15, 51, 35, 105, 479, 763, 1945, 2349, 2987, 621, 283, 20411, 65799, 86517}}, +{15760, 18, 39455, {1, 3, 3, 1, 19, 31, 49, 229, 249, 689, 737, 4027, 5405, 15211, 26785, 39143, 93163, 190421}}, +{15761, 18, 39468, {1, 3, 7, 5, 1, 21, 63, 97, 347, 73, 745, 3455, 2347, 3821, 31385, 6545, 91803, 72895}}, +{15762, 18, 39473, {1, 1, 1, 15, 23, 11, 107, 47, 183, 235, 1985, 3277, 933, 8491, 14423, 24293, 6783, 162199}}, +{15763, 18, 39488, {1, 3, 3, 9, 17, 3, 123, 59, 277, 773, 1617, 2979, 1555, 9753, 10947, 24745, 89043, 45185}}, +{15764, 18, 39497, {1, 3, 7, 3, 25, 17, 79, 43, 311, 415, 1045, 1289, 7451, 11413, 11319, 37177, 101327, 147453}}, +{15765, 18, 39521, {1, 3, 7, 7, 17, 45, 49, 33, 313, 613, 1773, 773, 161, 13579, 1207, 5681, 120597, 178639}}, +{15766, 18, 39531, {1, 3, 5, 5, 17, 43, 65, 243, 287, 223, 253, 687, 887, 14887, 1077, 53337, 62381, 43531}}, +{15767, 18, 39542, {1, 3, 5, 1, 21, 3, 39, 149, 497, 939, 1537, 437, 5345, 10321, 25151, 48785, 49879, 90945}}, +{15768, 18, 39585, {1, 1, 7, 11, 1, 61, 113, 63, 285, 615, 343, 2897, 1939, 7911, 16387, 10781, 92769, 27995}}, +{15769, 18, 39605, {1, 1, 3, 3, 19, 29, 85, 227, 355, 857, 883, 1853, 5065, 13795, 5749, 59107, 57947, 35775}}, +{15770, 18, 39658, {1, 3, 5, 9, 23, 37, 119, 161, 23, 511, 81, 973, 4769, 10821, 32607, 61731, 64907, 99055}}, +{15771, 18, 39677, {1, 3, 1, 3, 11, 17, 109, 241, 349, 887, 1651, 3865, 2045, 15893, 4597, 11557, 53313, 48489}}, +{15772, 18, 39703, {1, 1, 5, 9, 31, 43, 49, 193, 171, 477, 363, 735, 1379, 8977, 9759, 56477, 99495, 170433}}, +{15773, 18, 39726, {1, 1, 3, 7, 25, 25, 77, 31, 21, 1001, 1527, 1725, 6479, 8927, 11249, 63969, 86291, 74391}}, +{15774, 18, 39731, {1, 3, 5, 13, 1, 43, 27, 7, 507, 569, 251, 2199, 3895, 7845, 13641, 1655, 112949, 119493}}, +{15775, 18, 39745, {1, 3, 7, 15, 7, 1, 123, 27, 121, 261, 201, 1469, 4229, 2933, 25157, 1919, 127937, 21607}}, +{15776, 18, 39776, {1, 1, 3, 9, 29, 59, 47, 81, 293, 191, 401, 849, 4355, 1643, 23533, 8469, 389, 97891}}, +{15777, 18, 39796, {1, 3, 5, 5, 9, 55, 37, 175, 203, 179, 901, 3473, 1489, 1009, 24623, 54895, 8711, 190271}}, +{15778, 18, 39809, {1, 1, 7, 1, 13, 39, 49, 105, 385, 189, 1079, 2799, 5901, 2511, 23199, 58925, 111727, 131193}}, +{15779, 18, 39833, {1, 1, 1, 7, 31, 63, 37, 181, 493, 745, 1131, 223, 8055, 9507, 26667, 22163, 26495, 200945}}, +{15780, 18, 39850, {1, 3, 7, 1, 25, 15, 127, 71, 445, 935, 1439, 1167, 3751, 799, 27253, 46209, 33413, 38553}}, +{15781, 18, 39869, {1, 3, 3, 11, 29, 35, 125, 77, 129, 851, 731, 3259, 4651, 4137, 20921, 19779, 119261, 141507}}, +{15782, 18, 39882, {1, 3, 1, 9, 11, 13, 31, 211, 87, 377, 547, 113, 1071, 7167, 28377, 52943, 50669, 156915}}, +{15783, 18, 39906, {1, 1, 3, 7, 29, 55, 89, 215, 425, 513, 175, 1145, 6995, 1929, 14253, 20563, 118543, 104403}}, +{15784, 18, 39918, {1, 1, 1, 5, 23, 25, 1, 23, 175, 571, 1597, 3801, 1411, 1783, 13045, 37499, 86831, 139101}}, +{15785, 18, 39929, {1, 3, 3, 13, 15, 19, 35, 139, 483, 17, 1555, 3431, 3417, 13695, 15985, 65243, 96659, 76027}}, +{15786, 18, 39947, {1, 3, 7, 9, 23, 7, 17, 89, 33, 353, 1999, 2561, 331, 15661, 25757, 63389, 112913, 131757}}, +{15787, 18, 39985, {1, 3, 1, 11, 27, 59, 37, 75, 121, 429, 1833, 3243, 2029, 2601, 5013, 29433, 123565, 234803}}, +{15788, 18, 39986, {1, 3, 1, 7, 31, 13, 33, 25, 459, 803, 267, 1573, 5579, 4575, 8125, 7491, 72681, 239409}}, +{15789, 18, 40023, {1, 1, 3, 7, 31, 43, 93, 191, 237, 75, 1809, 3257, 4131, 1983, 29153, 23205, 38393, 197859}}, +{15790, 18, 40024, {1, 3, 5, 5, 17, 47, 17, 153, 499, 529, 1515, 1587, 2951, 12431, 12787, 13245, 54117, 82663}}, +{15791, 18, 40039, {1, 1, 1, 13, 7, 23, 23, 7, 441, 991, 641, 2713, 151, 1863, 6065, 47381, 60493, 136325}}, +{15792, 18, 40053, {1, 3, 3, 11, 11, 15, 31, 137, 285, 439, 835, 3033, 6083, 7883, 3405, 35803, 65059, 150143}}, +{15793, 18, 40079, {1, 1, 7, 3, 19, 47, 61, 163, 313, 813, 1315, 2995, 2805, 14397, 6589, 62123, 46229, 206697}}, +{15794, 18, 40084, {1, 3, 5, 5, 27, 51, 25, 99, 241, 571, 1411, 1191, 7095, 8639, 29195, 53733, 53219, 42851}}, +{15795, 18, 40087, {1, 3, 1, 5, 11, 29, 1, 49, 61, 149, 1931, 29, 7163, 3717, 525, 42375, 71451, 8345}}, +{15796, 18, 40094, {1, 3, 3, 3, 13, 19, 97, 249, 265, 509, 1347, 3081, 6535, 7941, 31565, 59897, 91909, 171789}}, +{15797, 18, 40100, {1, 3, 3, 1, 25, 17, 75, 169, 251, 607, 73, 549, 1397, 10661, 1743, 9615, 41327, 243207}}, +{15798, 18, 40112, {1, 3, 1, 11, 7, 7, 15, 181, 385, 883, 651, 2939, 5457, 15309, 9807, 22221, 72893, 146331}}, +{15799, 18, 40129, {1, 3, 3, 5, 7, 7, 53, 75, 139, 459, 1861, 917, 4101, 10379, 18555, 12633, 70023, 254761}}, +{15800, 18, 40132, {1, 3, 3, 1, 17, 51, 5, 109, 471, 3, 1555, 3731, 6711, 9791, 63, 61931, 75269, 138697}}, +{15801, 18, 40142, {1, 1, 7, 15, 11, 1, 53, 141, 423, 567, 1937, 849, 5657, 7437, 32657, 16253, 115219, 106027}}, +{15802, 18, 40154, {1, 3, 5, 1, 17, 29, 65, 213, 443, 541, 697, 3859, 1463, 16081, 23299, 7645, 19475, 77857}}, +{15803, 18, 40177, {1, 1, 7, 3, 21, 43, 99, 101, 329, 755, 1123, 1277, 1381, 7017, 21763, 28243, 109995, 178377}}, +{15804, 18, 40178, {1, 3, 5, 7, 9, 31, 103, 123, 43, 895, 1925, 3383, 3539, 13669, 873, 57361, 45281, 256517}}, +{15805, 18, 40202, {1, 1, 1, 13, 1, 37, 115, 55, 415, 703, 1217, 939, 1145, 4015, 7233, 44799, 79711, 164725}}, +{15806, 18, 40219, {1, 1, 7, 1, 29, 17, 101, 15, 205, 281, 1059, 301, 753, 11953, 10533, 31881, 67741, 12683}}, +{15807, 18, 40303, {1, 1, 7, 13, 9, 23, 31, 237, 181, 813, 1765, 2237, 4897, 9955, 2139, 13113, 123423, 227629}}, +{15808, 18, 40305, {1, 1, 7, 15, 27, 57, 37, 75, 405, 185, 1671, 2245, 7151, 10531, 13161, 15695, 107547, 47689}}, +{15809, 18, 40311, {1, 1, 5, 15, 17, 53, 75, 251, 277, 1001, 179, 589, 1401, 4937, 11601, 47113, 36677, 39263}}, +{15810, 18, 40336, {1, 3, 5, 15, 23, 47, 53, 81, 115, 547, 1363, 2457, 4407, 10861, 25649, 64013, 44747, 97949}}, +{15811, 18, 40342, {1, 1, 3, 1, 25, 29, 121, 43, 205, 591, 211, 1899, 5835, 739, 19627, 60387, 127369, 11255}}, +{15812, 18, 40358, {1, 1, 3, 15, 31, 11, 93, 227, 501, 731, 1355, 3963, 347, 83, 12595, 56431, 80049, 42103}}, +{15813, 18, 40381, {1, 3, 1, 11, 13, 17, 51, 165, 311, 67, 1873, 1493, 3815, 13209, 11637, 5809, 94219, 118077}}, +{15814, 18, 40417, {1, 1, 7, 15, 19, 17, 13, 73, 365, 413, 1215, 2265, 2173, 8725, 4725, 1373, 76733, 95379}}, +{15815, 18, 40438, {1, 3, 1, 7, 7, 61, 13, 145, 205, 113, 1579, 3851, 7515, 10659, 28665, 5277, 65925, 10141}}, +{15816, 18, 40463, {1, 3, 7, 1, 9, 63, 11, 83, 197, 797, 1065, 1521, 1751, 7423, 7473, 4371, 29533, 225167}}, +{15817, 18, 40471, {1, 3, 7, 7, 3, 63, 71, 177, 53, 279, 1837, 2609, 7819, 7285, 11059, 65247, 102869, 24429}}, +{15818, 18, 40472, {1, 3, 3, 13, 9, 21, 123, 125, 367, 85, 85, 1009, 1009, 7779, 3375, 30999, 5035, 215107}}, +{15819, 18, 40488, {1, 3, 3, 9, 31, 53, 5, 43, 483, 483, 1359, 2605, 377, 4243, 13291, 50211, 118603, 259865}}, +{15820, 18, 40491, {1, 1, 1, 5, 19, 37, 109, 139, 373, 79, 1951, 3379, 5679, 6445, 29127, 56229, 97369, 232561}}, +{15821, 18, 40525, {1, 1, 3, 5, 19, 37, 61, 225, 321, 573, 1831, 971, 6507, 10005, 6837, 16433, 70913, 170873}}, +{15822, 18, 40526, {1, 1, 5, 11, 31, 17, 21, 29, 329, 679, 869, 389, 5121, 1819, 3539, 43793, 31617, 204983}}, +{15823, 18, 40550, {1, 1, 7, 7, 21, 11, 83, 97, 297, 275, 1559, 1899, 4957, 11463, 25647, 21095, 70121, 113395}}, +{15824, 18, 40553, {1, 3, 5, 11, 19, 57, 39, 37, 441, 715, 383, 4083, 1937, 12263, 6989, 36159, 118135, 238475}}, +{15825, 18, 40562, {1, 1, 1, 3, 9, 53, 85, 201, 357, 807, 865, 1621, 1993, 7623, 3165, 1005, 93343, 227765}}, +{15826, 18, 40568, {1, 1, 7, 7, 21, 29, 123, 175, 319, 621, 303, 117, 5589, 12511, 26053, 41603, 78439, 71819}}, +{15827, 18, 40580, {1, 1, 7, 15, 31, 47, 75, 225, 295, 67, 1349, 1749, 1363, 8763, 9153, 4059, 72015, 3155}}, +{15828, 18, 40608, {1, 3, 5, 13, 19, 23, 79, 25, 319, 475, 1517, 2757, 4009, 12663, 535, 51617, 55695, 64399}}, +{15829, 18, 40613, {1, 3, 7, 13, 19, 39, 61, 235, 369, 951, 111, 2169, 353, 15371, 8611, 42477, 130981, 97419}}, +{15830, 18, 40652, {1, 1, 3, 13, 27, 31, 115, 201, 3, 291, 793, 237, 3593, 2307, 12745, 54603, 96451, 80853}}, +{15831, 18, 40703, {1, 3, 3, 11, 11, 35, 43, 1, 35, 415, 1307, 2303, 5407, 6883, 29023, 31271, 119721, 90599}}, +{15832, 18, 40712, {1, 1, 5, 9, 21, 23, 3, 1, 333, 463, 1277, 1165, 6521, 4887, 16029, 32537, 43681, 21633}}, +{15833, 18, 40720, {1, 1, 1, 13, 1, 35, 45, 57, 293, 435, 1113, 2477, 6641, 14083, 28489, 26189, 44695, 220481}}, +{15834, 18, 40723, {1, 3, 5, 5, 5, 31, 75, 149, 309, 921, 941, 1063, 7041, 12651, 29533, 46955, 88133, 89989}}, +{15835, 18, 40746, {1, 1, 3, 5, 15, 23, 127, 143, 193, 739, 281, 991, 3731, 16243, 25483, 24979, 102317, 186657}}, +{15836, 18, 40759, {1, 1, 3, 13, 3, 63, 23, 69, 181, 163, 1733, 893, 5513, 1525, 31483, 15033, 108021, 167875}}, +{15837, 18, 40765, {1, 1, 5, 15, 15, 51, 79, 59, 55, 243, 565, 159, 7925, 8393, 20059, 35011, 53779, 166241}}, +{15838, 18, 40771, {1, 1, 3, 5, 11, 57, 85, 175, 495, 999, 1577, 2377, 715, 2473, 16979, 5949, 87691, 195607}}, +{15839, 18, 40778, {1, 1, 1, 13, 17, 21, 53, 73, 187, 63, 335, 3251, 4439, 5701, 13469, 23567, 70125, 68931}}, +{15840, 18, 40788, {1, 1, 1, 13, 23, 11, 55, 75, 37, 845, 745, 2193, 7113, 5657, 29449, 41153, 115547, 87261}}, +{15841, 18, 40804, {1, 3, 3, 9, 21, 39, 47, 145, 301, 883, 625, 2479, 1089, 3393, 23265, 49577, 81027, 186485}}, +{15842, 18, 40835, {1, 1, 3, 7, 3, 11, 37, 117, 79, 905, 493, 265, 1819, 12179, 12361, 27457, 14459, 231837}}, +{15843, 18, 40841, {1, 3, 5, 11, 19, 45, 99, 5, 455, 497, 1851, 2349, 5213, 3671, 5871, 43187, 59011, 211167}}, +{15844, 18, 40907, {1, 3, 7, 5, 23, 61, 63, 97, 413, 575, 1073, 2587, 573, 1805, 32307, 58463, 84927, 15065}}, +{15845, 18, 40934, {1, 3, 1, 13, 23, 9, 39, 1, 53, 383, 1277, 3599, 7719, 16175, 4443, 53143, 24345, 111899}}, +{15846, 18, 40955, {1, 1, 7, 1, 19, 37, 103, 245, 253, 5, 1367, 3127, 4689, 5089, 30697, 45513, 111291, 26599}}, +{15847, 18, 40986, {1, 3, 3, 7, 31, 31, 107, 163, 1, 855, 163, 875, 7481, 5325, 30107, 19377, 3167, 5613}}, +{15848, 18, 41007, {1, 1, 5, 13, 21, 17, 115, 203, 233, 333, 441, 3185, 3197, 3397, 8515, 61879, 11163, 233277}}, +{15849, 18, 41016, {1, 3, 5, 3, 17, 53, 93, 233, 465, 573, 1075, 1905, 1141, 4965, 13469, 24901, 23653, 225233}}, +{15850, 18, 41034, {1, 3, 7, 11, 11, 1, 95, 47, 85, 65, 9, 2413, 7347, 2127, 305, 4673, 79281, 188081}}, +{15851, 18, 41041, {1, 1, 7, 5, 9, 5, 27, 23, 393, 201, 467, 3677, 2641, 4671, 24627, 18927, 45137, 74167}}, +{15852, 18, 41063, {1, 3, 5, 11, 11, 9, 19, 247, 423, 693, 1885, 1129, 7459, 8411, 2573, 54111, 98919, 160075}}, +{15853, 18, 41084, {1, 3, 3, 3, 1, 3, 67, 131, 317, 915, 151, 3609, 4083, 6395, 12877, 44017, 28877, 244165}}, +{15854, 18, 41093, {1, 3, 1, 3, 1, 33, 29, 23, 19, 323, 873, 115, 2439, 4699, 5449, 51637, 68889, 105197}}, +{15855, 18, 41097, {1, 1, 7, 1, 19, 55, 37, 241, 53, 695, 729, 1565, 19, 12875, 26993, 18511, 35615, 169281}}, +{15856, 18, 41111, {1, 3, 3, 1, 1, 7, 121, 49, 345, 883, 1001, 657, 2647, 15387, 30633, 18107, 13745, 217735}}, +{15857, 18, 41118, {1, 3, 5, 15, 11, 45, 73, 77, 307, 373, 1723, 335, 473, 5735, 11747, 39257, 87199, 47663}}, +{15858, 18, 41121, {1, 1, 7, 7, 27, 21, 121, 169, 427, 605, 1593, 3147, 1001, 3773, 31505, 22823, 21543, 82931}}, +{15859, 18, 41141, {1, 1, 1, 9, 11, 59, 91, 165, 249, 859, 483, 3133, 5729, 12675, 7761, 6475, 116823, 224187}}, +{15860, 18, 41160, {1, 1, 3, 3, 27, 31, 51, 1, 429, 517, 1439, 3959, 2343, 6709, 5287, 24039, 52409, 20749}}, +{15861, 18, 41207, {1, 3, 7, 7, 11, 31, 83, 111, 391, 729, 721, 1675, 5679, 14637, 22065, 49903, 113759, 40881}}, +{15862, 18, 41214, {1, 3, 7, 1, 25, 15, 91, 59, 87, 313, 155, 1439, 2419, 2099, 22709, 10289, 40655, 17351}}, +{15863, 18, 41255, {1, 3, 5, 1, 15, 5, 11, 21, 261, 227, 1563, 1177, 4731, 3487, 1607, 46599, 105599, 193425}}, +{15864, 18, 41284, {1, 1, 5, 5, 5, 45, 77, 181, 431, 27, 1985, 881, 2555, 7589, 16199, 31041, 66683, 52499}}, +{15865, 18, 41287, {1, 1, 1, 15, 5, 29, 111, 209, 335, 747, 93, 3551, 5951, 14995, 18451, 33329, 9117, 167455}}, +{15866, 18, 41308, {1, 3, 1, 7, 25, 9, 113, 123, 387, 87, 267, 2251, 3509, 10829, 32733, 48025, 58267, 143553}}, +{15867, 18, 41330, {1, 3, 5, 15, 17, 17, 65, 107, 175, 427, 733, 797, 3837, 12773, 27865, 29481, 4557, 196163}}, +{15868, 18, 41336, {1, 3, 1, 3, 1, 53, 93, 175, 509, 351, 1093, 1039, 6931, 2691, 14957, 44395, 84383, 58915}}, +{15869, 18, 41437, {1, 1, 1, 11, 1, 43, 61, 123, 377, 813, 1335, 1597, 147, 13663, 30781, 47635, 24111, 64307}}, +{15870, 18, 41444, {1, 1, 3, 11, 25, 27, 15, 215, 125, 679, 1491, 3203, 5403, 4531, 11839, 44227, 49239, 110439}}, +{15871, 18, 41456, {1, 1, 3, 13, 9, 35, 71, 127, 127, 629, 1363, 585, 6713, 10637, 6803, 20963, 47157, 157781}}, +{15872, 18, 41481, {1, 1, 3, 11, 13, 21, 117, 241, 365, 175, 1397, 1279, 4117, 5427, 24007, 50711, 465, 225003}}, +{15873, 18, 41489, {1, 1, 1, 9, 13, 63, 49, 189, 113, 61, 353, 2221, 7541, 4075, 5283, 5505, 51035, 35191}}, +{15874, 18, 41499, {1, 1, 7, 9, 11, 37, 123, 63, 331, 691, 1299, 1661, 3769, 7827, 32127, 32149, 7271, 150363}}, +{15875, 18, 41555, {1, 1, 1, 5, 25, 5, 127, 195, 413, 657, 479, 879, 6743, 8959, 791, 22425, 77119, 180721}}, +{15876, 18, 41561, {1, 1, 7, 3, 13, 57, 123, 125, 135, 69, 455, 3363, 1783, 1557, 20401, 26707, 130345, 195881}}, +{15877, 18, 41562, {1, 3, 3, 7, 27, 19, 125, 71, 201, 1017, 1285, 3955, 5255, 14375, 18163, 28537, 76157, 247193}}, +{15878, 18, 41571, {1, 1, 3, 1, 27, 33, 123, 137, 189, 655, 1891, 2419, 5195, 97, 32565, 38581, 62715, 164697}}, +{15879, 18, 41592, {1, 1, 1, 15, 9, 47, 23, 147, 197, 503, 1803, 2953, 2961, 13787, 10545, 35465, 53997, 198655}}, +{15880, 18, 41631, {1, 3, 1, 9, 9, 43, 65, 237, 119, 621, 1517, 3479, 4165, 12797, 14731, 53131, 105501, 112845}}, +{15881, 18, 41661, {1, 3, 3, 15, 3, 23, 47, 163, 469, 363, 1813, 3107, 6167, 8987, 26829, 33099, 6821, 203017}}, +{15882, 18, 41682, {1, 1, 1, 9, 1, 11, 85, 11, 251, 907, 395, 3935, 3403, 229, 16825, 48337, 103647, 91425}}, +{15883, 18, 41710, {1, 3, 1, 5, 17, 57, 21, 181, 31, 27, 235, 4041, 4927, 8319, 29765, 61603, 19081, 75879}}, +{15884, 18, 41724, {1, 1, 5, 15, 11, 3, 7, 225, 247, 221, 251, 1979, 1151, 10829, 26491, 39705, 41587, 99063}}, +{15885, 18, 41727, {1, 3, 5, 5, 19, 23, 57, 127, 467, 409, 43, 829, 3883, 10767, 24351, 31365, 115943, 209231}}, +{15886, 18, 41730, {1, 1, 7, 15, 3, 51, 17, 251, 219, 33, 1511, 2027, 4995, 12277, 7639, 59895, 85267, 87735}}, +{15887, 18, 41744, {1, 3, 7, 3, 7, 29, 93, 57, 427, 235, 1591, 3475, 1159, 2387, 851, 43307, 87081, 151543}}, +{15888, 18, 41769, {1, 3, 7, 7, 1, 9, 21, 167, 73, 439, 2035, 2091, 4563, 4819, 5591, 57123, 78739, 63235}}, +{15889, 18, 41795, {1, 1, 3, 13, 19, 35, 63, 17, 425, 277, 1669, 931, 597, 5621, 22367, 1155, 109099, 169965}}, +{15890, 18, 41798, {1, 3, 7, 5, 11, 11, 41, 71, 35, 183, 555, 2631, 5199, 16381, 16319, 1851, 121551, 141711}}, +{15891, 18, 41804, {1, 3, 5, 5, 21, 17, 3, 95, 47, 1011, 1757, 3295, 1111, 16043, 6377, 16257, 37941, 206637}}, +{15892, 18, 41826, {1, 3, 1, 5, 25, 19, 19, 69, 395, 589, 1311, 1075, 5763, 12475, 3633, 40647, 54487, 97459}}, +{15893, 18, 41852, {1, 3, 5, 7, 13, 23, 83, 91, 419, 415, 685, 1685, 2893, 12953, 30641, 43565, 11851, 187837}}, +{15894, 18, 41868, {1, 1, 5, 11, 27, 1, 61, 155, 279, 737, 215, 2909, 969, 57, 17979, 34537, 41861, 243717}}, +{15895, 18, 41910, {1, 1, 5, 1, 17, 61, 57, 199, 127, 569, 1109, 3057, 7301, 16097, 17579, 25753, 82653, 237273}}, +{15896, 18, 41914, {1, 1, 7, 15, 17, 45, 19, 53, 153, 785, 51, 291, 5261, 1317, 21163, 44393, 108131, 254373}}, +{15897, 18, 41942, {1, 1, 3, 11, 5, 19, 61, 125, 127, 961, 2019, 1725, 855, 677, 20853, 38845, 3239, 95697}}, +{15898, 18, 41969, {1, 1, 3, 15, 3, 3, 117, 17, 61, 201, 241, 1759, 4465, 3985, 6985, 47703, 58657, 52633}}, +{15899, 18, 41975, {1, 3, 3, 11, 31, 39, 107, 171, 19, 825, 1309, 807, 7787, 10761, 20215, 9287, 21553, 179599}}, +{15900, 18, 41976, {1, 3, 7, 9, 5, 7, 121, 15, 3, 199, 97, 3177, 5461, 15713, 27609, 54349, 24963, 186279}}, +{15901, 18, 41994, {1, 3, 1, 15, 11, 9, 123, 187, 363, 5, 837, 451, 1601, 6597, 10857, 46893, 83729, 20409}}, +{15902, 18, 42002, {1, 3, 1, 9, 1, 53, 71, 191, 217, 165, 1709, 1827, 1977, 10073, 11373, 35311, 26637, 134519}}, +{15903, 18, 42037, {1, 3, 5, 11, 31, 55, 101, 189, 277, 347, 629, 223, 785, 5739, 25505, 55601, 55017, 212837}}, +{15904, 18, 42056, {1, 1, 5, 11, 3, 13, 45, 235, 65, 459, 621, 587, 7105, 6181, 13193, 5683, 42935, 198585}}, +{15905, 18, 42079, {1, 1, 3, 1, 3, 17, 27, 109, 261, 979, 903, 1499, 4799, 11759, 10591, 65429, 74587, 16629}}, +{15906, 18, 42085, {1, 1, 5, 1, 13, 63, 29, 11, 441, 151, 611, 4073, 3933, 6793, 28845, 39223, 120823, 49397}}, +{15907, 18, 42089, {1, 3, 3, 5, 21, 13, 23, 53, 357, 197, 1327, 1773, 2961, 11509, 16585, 10201, 28451, 45109}}, +{15908, 18, 42123, {1, 3, 5, 7, 19, 17, 97, 63, 295, 111, 85, 2981, 6719, 9193, 15197, 12117, 2553, 59909}}, +{15909, 18, 42128, {1, 1, 5, 5, 15, 3, 9, 85, 333, 379, 1409, 1445, 4173, 3953, 833, 48089, 120249, 122703}}, +{15910, 18, 42140, {1, 3, 7, 7, 29, 13, 57, 19, 141, 979, 1991, 4011, 8125, 3915, 15753, 1371, 113771, 117273}}, +{15911, 18, 42149, {1, 3, 3, 13, 21, 53, 115, 187, 279, 29, 1355, 1843, 253, 3531, 8193, 54731, 6213, 123467}}, +{15912, 18, 42156, {1, 3, 3, 1, 25, 29, 109, 19, 37, 385, 901, 3737, 6247, 9941, 13185, 2895, 88819, 53029}}, +{15913, 18, 42186, {1, 1, 1, 1, 3, 31, 89, 157, 483, 657, 1833, 2975, 3187, 631, 28685, 7277, 4915, 115955}}, +{15914, 18, 42191, {1, 3, 3, 1, 25, 41, 13, 99, 385, 303, 297, 419, 7919, 12411, 757, 9227, 47867, 120175}}, +{15915, 18, 42205, {1, 3, 5, 11, 23, 15, 21, 157, 177, 301, 789, 2791, 5769, 7809, 2369, 26123, 116465, 22595}}, +{15916, 18, 42221, {1, 1, 5, 9, 17, 63, 45, 239, 465, 811, 1157, 1443, 8137, 12587, 26209, 62057, 59299, 167171}}, +{15917, 18, 42222, {1, 3, 3, 7, 3, 45, 41, 17, 341, 461, 571, 541, 989, 4069, 17531, 46729, 107915, 47871}}, +{15918, 18, 42230, {1, 1, 7, 1, 1, 23, 45, 213, 125, 799, 5, 3443, 2535, 12983, 2133, 63411, 93027, 89831}}, +{15919, 18, 42233, {1, 1, 1, 15, 7, 31, 49, 181, 213, 923, 281, 2059, 861, 6951, 25659, 32209, 66423, 225885}}, +{15920, 18, 42241, {1, 3, 3, 7, 9, 39, 107, 197, 383, 179, 27, 1395, 6397, 16139, 32049, 33567, 43977, 203939}}, +{15921, 18, 42247, {1, 1, 3, 5, 13, 37, 13, 31, 339, 527, 641, 181, 1413, 8145, 341, 57605, 108031, 109311}}, +{15922, 18, 42248, {1, 1, 1, 1, 21, 35, 87, 15, 279, 967, 1003, 813, 5075, 10595, 5609, 33901, 86443, 150007}}, +{15923, 18, 42254, {1, 3, 1, 5, 27, 9, 75, 199, 377, 889, 545, 1987, 6277, 361, 12563, 35699, 27105, 187995}}, +{15924, 18, 42259, {1, 3, 7, 1, 11, 3, 41, 215, 273, 61, 821, 1207, 2809, 8731, 26409, 50323, 22355, 16521}}, +{15925, 18, 42268, {1, 1, 7, 5, 29, 13, 99, 133, 15, 673, 215, 445, 4051, 2187, 9395, 62491, 58685, 224707}}, +{15926, 18, 42295, {1, 3, 3, 13, 21, 59, 17, 1, 271, 613, 939, 1881, 2379, 16325, 3275, 63707, 59961, 106937}}, +{15927, 18, 42304, {1, 3, 3, 1, 23, 53, 51, 181, 391, 375, 767, 239, 373, 4593, 25211, 37173, 70409, 252345}}, +{15928, 18, 42322, {1, 3, 3, 11, 15, 17, 37, 145, 41, 107, 151, 1351, 3457, 14727, 755, 36321, 99397, 73359}}, +{15929, 18, 42334, {1, 3, 5, 7, 25, 31, 39, 185, 341, 721, 1799, 1803, 5985, 10587, 11605, 9937, 23905, 56485}}, +{15930, 18, 42355, {1, 3, 1, 3, 19, 35, 25, 71, 109, 209, 1675, 4043, 2053, 6285, 25317, 50171, 68293, 124385}}, +{15931, 18, 42361, {1, 1, 1, 1, 21, 11, 63, 137, 361, 157, 1985, 2161, 7239, 1795, 10459, 38511, 36817, 253347}}, +{15932, 18, 42373, {1, 1, 1, 5, 31, 3, 13, 83, 185, 175, 567, 295, 459, 11453, 3765, 9841, 30333, 201377}}, +{15933, 18, 42374, {1, 1, 3, 13, 5, 57, 99, 125, 371, 903, 2001, 285, 2005, 8475, 31617, 58265, 641, 115507}}, +{15934, 18, 42398, {1, 3, 5, 9, 11, 17, 123, 67, 77, 803, 815, 3173, 4795, 11917, 1187, 32389, 102289, 248359}}, +{15935, 18, 42411, {1, 1, 5, 5, 27, 19, 59, 145, 361, 821, 33, 1465, 7643, 11101, 145, 21705, 55105, 181245}}, +{15936, 18, 42443, {1, 3, 7, 5, 15, 55, 127, 133, 157, 989, 1211, 3573, 4021, 2967, 2941, 38657, 97681, 114505}}, +{15937, 18, 42446, {1, 1, 7, 7, 23, 17, 39, 209, 117, 195, 931, 5, 7509, 9187, 6011, 10297, 13727, 258007}}, +{15938, 18, 42463, {1, 3, 1, 13, 3, 17, 105, 69, 9, 163, 1615, 241, 5207, 13173, 28521, 51417, 130645, 106787}}, +{15939, 18, 42479, {1, 1, 7, 13, 15, 3, 5, 187, 5, 239, 1799, 3083, 7801, 12781, 24817, 59341, 73867, 175273}}, +{15940, 18, 42482, {1, 1, 3, 11, 11, 1, 89, 17, 497, 217, 1565, 2933, 6449, 7687, 6561, 57903, 92751, 261371}}, +{15941, 18, 42484, {1, 1, 1, 1, 15, 39, 47, 249, 39, 765, 249, 2785, 4401, 16033, 11463, 127, 120109, 83133}}, +{15942, 18, 42498, {1, 1, 3, 3, 19, 59, 47, 153, 505, 1009, 413, 1177, 5999, 6841, 12013, 40295, 115641, 189241}}, +{15943, 18, 42534, {1, 3, 3, 11, 17, 51, 45, 101, 459, 971, 1133, 3467, 4945, 12445, 1267, 41783, 66825, 130167}}, +{15944, 18, 42537, {1, 3, 1, 7, 17, 45, 77, 211, 387, 23, 1903, 2309, 2681, 6897, 6959, 30981, 113537, 207415}}, +{15945, 18, 42557, {1, 1, 3, 1, 19, 9, 103, 89, 461, 881, 71, 2019, 6475, 13563, 18835, 2375, 34807, 1373}}, +{15946, 18, 42570, {1, 1, 7, 11, 3, 31, 125, 121, 43, 737, 1995, 3043, 811, 8883, 8169, 22131, 29295, 194963}}, +{15947, 18, 42599, {1, 3, 7, 11, 7, 45, 125, 149, 427, 187, 1361, 2405, 2815, 8877, 15255, 36867, 95517, 261969}}, +{15948, 18, 42600, {1, 1, 7, 11, 9, 29, 89, 175, 467, 997, 937, 3869, 7843, 12629, 8701, 60717, 30443, 193427}}, +{15949, 18, 42633, {1, 1, 5, 7, 3, 3, 57, 199, 315, 477, 189, 2029, 2059, 3473, 27411, 30419, 26465, 187807}}, +{15950, 18, 42639, {1, 3, 1, 15, 3, 3, 11, 55, 233, 603, 1749, 1737, 5709, 4559, 13427, 39137, 44885, 61611}}, +{15951, 18, 42672, {1, 1, 7, 1, 25, 15, 61, 199, 107, 737, 909, 3229, 1799, 5129, 27655, 45937, 919, 36161}}, +{15952, 18, 42681, {1, 1, 3, 5, 31, 27, 99, 247, 425, 689, 1335, 1661, 625, 15817, 22601, 33293, 113927, 261931}}, +{15953, 18, 42687, {1, 1, 1, 9, 5, 57, 117, 121, 465, 859, 335, 879, 665, 12787, 21313, 46387, 16437, 53769}}, +{15954, 18, 42704, {1, 1, 3, 1, 11, 11, 75, 145, 307, 621, 833, 235, 3907, 11331, 6633, 51905, 72581, 129613}}, +{15955, 18, 42713, {1, 1, 3, 13, 17, 13, 81, 125, 377, 499, 1597, 3437, 4323, 789, 23825, 46609, 105997, 159709}}, +{15956, 18, 42714, {1, 3, 3, 9, 5, 29, 113, 51, 23, 957, 1981, 3205, 2549, 9771, 2555, 44289, 103893, 170241}}, +{15957, 18, 42716, {1, 1, 5, 15, 13, 17, 101, 67, 71, 7, 185, 3775, 5399, 5213, 13095, 26045, 59467, 95547}}, +{15958, 18, 42726, {1, 1, 5, 5, 31, 11, 77, 169, 3, 1007, 1853, 2245, 509, 13489, 2807, 55227, 67541, 242835}}, +{15959, 18, 42730, {1, 3, 7, 15, 11, 63, 39, 97, 1, 219, 1827, 2343, 6009, 4909, 4327, 21853, 46079, 87719}}, +{15960, 18, 42737, {1, 3, 1, 9, 17, 51, 119, 93, 179, 607, 1051, 2381, 619, 11215, 10839, 44771, 20555, 12721}}, +{15961, 18, 42752, {1, 3, 3, 5, 21, 47, 35, 133, 61, 937, 1561, 1655, 6527, 5085, 4141, 60811, 59971, 6309}}, +{15962, 18, 42757, {1, 3, 1, 7, 5, 63, 7, 235, 489, 675, 945, 943, 7107, 6005, 32695, 27655, 113219, 132963}}, +{15963, 18, 42772, {1, 1, 1, 7, 7, 5, 81, 237, 365, 1, 811, 3075, 1771, 5223, 7337, 24601, 68383, 156975}}, +{15964, 18, 42809, {1, 3, 1, 15, 5, 35, 39, 91, 301, 387, 805, 3537, 737, 7453, 4655, 16349, 108261, 123697}}, +{15965, 18, 42853, {1, 3, 5, 3, 9, 59, 95, 187, 155, 183, 589, 2107, 967, 1095, 4875, 46131, 100699, 212797}}, +{15966, 18, 42857, {1, 3, 1, 7, 27, 29, 77, 133, 397, 445, 933, 1483, 5027, 12569, 22163, 58989, 16657, 195347}}, +{15967, 18, 42902, {1, 3, 5, 15, 21, 51, 97, 135, 165, 311, 525, 171, 4785, 7947, 14649, 40837, 58875, 222303}}, +{15968, 18, 42912, {1, 3, 3, 5, 23, 47, 41, 23, 321, 709, 1555, 1139, 3775, 11617, 13001, 18235, 51803, 197863}}, +{15969, 18, 42930, {1, 3, 5, 3, 3, 41, 91, 157, 29, 1005, 945, 3471, 2563, 8493, 24961, 44759, 103079, 50841}}, +{15970, 18, 42936, {1, 1, 5, 11, 23, 19, 91, 115, 165, 291, 1653, 1061, 1067, 6171, 18441, 26067, 3569, 117329}}, +{15971, 18, 42956, {1, 3, 7, 15, 17, 19, 89, 23, 103, 389, 623, 1071, 203, 9545, 21259, 36155, 55395, 141741}}, +{15972, 18, 42959, {1, 3, 5, 11, 27, 43, 31, 193, 55, 489, 353, 1615, 7461, 13977, 31901, 64051, 82667, 258825}}, +{15973, 18, 42978, {1, 1, 3, 7, 5, 39, 7, 245, 241, 843, 1545, 3499, 8117, 15057, 14153, 2665, 107401, 66059}}, +{15974, 18, 43001, {1, 3, 5, 11, 9, 11, 41, 171, 255, 153, 1973, 759, 51, 15601, 327, 25889, 110861, 20555}}, +{15975, 18, 43011, {1, 3, 5, 7, 5, 15, 41, 77, 87, 143, 1141, 3975, 2675, 7131, 5549, 52397, 42073, 27585}}, +{15976, 18, 43047, {1, 1, 3, 7, 29, 5, 79, 243, 359, 817, 1053, 3509, 3347, 6207, 5147, 31063, 116851, 132627}}, +{15977, 18, 43059, {1, 3, 7, 3, 27, 51, 39, 7, 95, 239, 263, 3497, 867, 1869, 16773, 46947, 59193, 37523}}, +{15978, 18, 43094, {1, 3, 1, 1, 25, 31, 113, 127, 187, 77, 675, 3307, 999, 12255, 26441, 30933, 122761, 116783}}, +{15979, 18, 43124, {1, 1, 5, 7, 7, 11, 87, 59, 437, 485, 685, 3159, 7259, 16271, 24899, 17919, 130271, 52953}}, +{15980, 18, 43218, {1, 1, 3, 11, 7, 13, 61, 157, 149, 1001, 285, 3631, 1923, 16013, 19507, 64447, 8073, 261171}}, +{15981, 18, 43220, {1, 3, 7, 9, 7, 13, 45, 7, 225, 671, 287, 1059, 5223, 2077, 7551, 58385, 92955, 162725}}, +{15982, 18, 43240, {1, 1, 5, 11, 11, 21, 17, 145, 97, 633, 475, 2639, 2069, 9663, 23633, 50949, 109941, 119865}}, +{15983, 18, 43258, {1, 1, 5, 13, 9, 49, 127, 171, 199, 413, 1315, 645, 305, 12123, 9559, 38319, 99945, 103313}}, +{15984, 18, 43263, {1, 3, 5, 3, 19, 21, 119, 17, 301, 611, 1785, 2081, 2245, 8761, 4755, 9507, 23133, 144575}}, +{15985, 18, 43265, {1, 3, 7, 11, 17, 25, 101, 59, 397, 249, 687, 715, 1151, 15941, 20525, 5171, 24073, 46257}}, +{15986, 18, 43290, {1, 1, 3, 15, 11, 45, 9, 201, 421, 867, 389, 3615, 5965, 10561, 18309, 17143, 52771, 230743}}, +{15987, 18, 43346, {1, 1, 3, 5, 9, 1, 109, 233, 431, 849, 421, 475, 1331, 9903, 20649, 34759, 118611, 38541}}, +{15988, 18, 43364, {1, 3, 5, 15, 9, 55, 113, 217, 83, 409, 1449, 2325, 4825, 11311, 14565, 65075, 124399, 3591}}, +{15989, 18, 43373, {1, 3, 3, 9, 27, 13, 101, 181, 255, 313, 693, 951, 1153, 13941, 14097, 8325, 4589, 102883}}, +{15990, 18, 43401, {1, 3, 7, 3, 3, 1, 43, 65, 321, 623, 1389, 57, 3461, 9965, 6743, 34843, 91673, 249573}}, +{15991, 18, 43416, {1, 3, 5, 5, 11, 29, 101, 79, 275, 685, 569, 59, 6921, 16065, 30625, 53339, 32283, 93401}}, +{15992, 18, 43443, {1, 3, 1, 11, 29, 33, 103, 145, 431, 289, 1845, 1915, 23, 699, 5475, 18413, 127185, 162637}}, +{15993, 18, 43458, {1, 3, 1, 11, 27, 23, 71, 63, 45, 579, 1187, 1189, 1781, 5595, 9043, 10155, 33321, 36487}}, +{15994, 18, 43497, {1, 3, 3, 15, 17, 19, 85, 233, 293, 833, 1711, 857, 7573, 393, 23141, 58713, 21399, 228381}}, +{15995, 18, 43506, {1, 3, 3, 15, 3, 35, 33, 35, 403, 123, 575, 3509, 6303, 13203, 17997, 15649, 64331, 124101}}, +{15996, 18, 43545, {1, 1, 3, 9, 23, 25, 39, 53, 119, 879, 573, 3225, 5069, 15489, 21887, 11773, 37783, 169523}}, +{15997, 18, 43558, {1, 3, 5, 5, 5, 25, 29, 189, 145, 863, 661, 3939, 1059, 11993, 1487, 3157, 118287, 69835}}, +{15998, 18, 43576, {1, 3, 7, 3, 15, 9, 85, 107, 17, 965, 1097, 2087, 1947, 14649, 4099, 50941, 64511, 209153}}, +{15999, 18, 43579, {1, 3, 5, 15, 19, 21, 127, 71, 429, 97, 1989, 835, 743, 11973, 14635, 45371, 114657, 208085}}, +{16000, 18, 43624, {1, 3, 5, 7, 23, 61, 99, 133, 235, 237, 435, 2681, 331, 7859, 20859, 3573, 102901, 775}}, +{16001, 18, 43630, {1, 3, 3, 9, 7, 57, 29, 15, 53, 569, 871, 1703, 2573, 10791, 719, 3487, 105709, 89573}}, +{16002, 18, 43637, {1, 1, 1, 9, 7, 21, 21, 207, 459, 621, 737, 635, 5101, 4343, 4961, 32067, 64017, 73675}}, +{16003, 18, 43654, {1, 1, 3, 9, 25, 27, 77, 69, 251, 327, 921, 3759, 1715, 14537, 21399, 10937, 9085, 241329}}, +{16004, 18, 43660, {1, 1, 5, 1, 23, 13, 63, 117, 81, 427, 1063, 1987, 2433, 14837, 13473, 28623, 44799, 202223}}, +{16005, 18, 43696, {1, 3, 1, 11, 17, 55, 89, 89, 455, 255, 1009, 1891, 2197, 9045, 23543, 48783, 22871, 58613}}, +{16006, 18, 43706, {1, 3, 7, 15, 25, 5, 11, 71, 399, 23, 239, 93, 6681, 11311, 23403, 58131, 59549, 38917}}, +{16007, 18, 43725, {1, 1, 1, 1, 19, 63, 73, 31, 69, 145, 921, 2475, 3505, 4797, 23805, 28621, 101153, 98895}}, +{16008, 18, 43733, {1, 3, 3, 3, 9, 1, 113, 111, 275, 851, 519, 1607, 635, 13287, 6191, 24545, 112039, 114383}}, +{16009, 18, 43753, {1, 3, 7, 9, 13, 13, 107, 97, 37, 133, 21, 1059, 4201, 6777, 2843, 43503, 23761, 13247}}, +{16010, 18, 43756, {1, 1, 7, 9, 25, 23, 101, 135, 471, 901, 539, 4083, 1765, 15553, 5879, 10787, 67543, 104543}}, +{16011, 18, 43761, {1, 3, 3, 13, 25, 63, 1, 49, 287, 357, 1701, 3689, 3895, 16313, 22619, 20203, 8195, 93127}}, +{16012, 18, 43768, {1, 1, 1, 11, 15, 37, 75, 43, 311, 443, 1639, 549, 4707, 3099, 677, 59115, 11709, 71013}}, +{16013, 18, 43812, {1, 1, 5, 11, 17, 43, 23, 21, 421, 613, 199, 1029, 5255, 271, 12911, 63431, 108889, 253379}}, +{16014, 18, 43822, {1, 3, 7, 11, 27, 45, 9, 89, 65, 25, 1183, 3497, 8123, 2389, 215, 16819, 63777, 163423}}, +{16015, 18, 43841, {1, 1, 5, 5, 29, 43, 65, 201, 391, 861, 1133, 3985, 983, 13039, 15545, 13695, 91467, 963}}, +{16016, 18, 43861, {1, 3, 7, 3, 9, 55, 73, 205, 287, 765, 941, 353, 7379, 2511, 555, 64399, 77605, 121959}}, +{16017, 18, 43868, {1, 3, 1, 11, 25, 15, 109, 35, 351, 675, 1219, 3791, 233, 15133, 30733, 24477, 86077, 85857}}, +{16018, 18, 43877, {1, 1, 1, 7, 13, 33, 63, 45, 503, 525, 781, 517, 2187, 1587, 17297, 26147, 35421, 61269}}, +{16019, 18, 43878, {1, 3, 1, 9, 9, 35, 69, 79, 447, 675, 803, 2793, 5793, 4433, 29227, 5437, 103347, 37713}}, +{16020, 18, 43908, {1, 3, 1, 9, 27, 31, 65, 167, 327, 231, 1959, 657, 3141, 8659, 11055, 23923, 73597, 187139}}, +{16021, 18, 43917, {1, 1, 5, 9, 29, 5, 37, 3, 281, 693, 133, 2139, 5867, 12073, 23669, 11427, 80627, 249003}}, +{16022, 18, 43936, {1, 1, 1, 13, 9, 35, 89, 203, 381, 281, 535, 1061, 7417, 13373, 12149, 37943, 113133, 110797}}, +{16023, 18, 43954, {1, 1, 7, 5, 7, 17, 71, 65, 385, 851, 1357, 3435, 4441, 6999, 27065, 32753, 129531, 52447}}, +{16024, 18, 43963, {1, 3, 7, 1, 3, 21, 25, 113, 361, 219, 1345, 2193, 5711, 3331, 14343, 23075, 39955, 71223}}, +{16025, 18, 43977, {1, 1, 7, 9, 15, 9, 101, 183, 59, 861, 931, 3385, 6517, 12067, 7753, 37997, 128361, 4591}}, +{16026, 18, 44008, {1, 3, 5, 3, 23, 5, 37, 217, 203, 749, 993, 2537, 2425, 13949, 17235, 15461, 21275, 141815}}, +{16027, 18, 44013, {1, 3, 5, 1, 19, 59, 63, 241, 211, 285, 2033, 1111, 2859, 14801, 9491, 14557, 12973, 223089}}, +{16028, 18, 44026, {1, 1, 1, 11, 15, 41, 57, 59, 233, 897, 1193, 381, 2237, 5309, 19237, 57607, 97941, 116573}}, +{16029, 18, 44028, {1, 1, 3, 9, 15, 17, 75, 15, 385, 129, 495, 887, 4933, 15113, 7449, 56213, 15841, 248029}}, +{16030, 18, 44045, {1, 3, 1, 1, 29, 37, 19, 221, 47, 185, 1105, 3297, 5235, 6917, 12041, 10815, 54747, 132329}}, +{16031, 18, 44046, {1, 3, 1, 5, 3, 17, 33, 35, 395, 491, 1157, 2563, 6257, 1025, 18295, 5293, 77851, 140157}}, +{16032, 18, 44053, {1, 3, 1, 13, 7, 31, 95, 21, 347, 409, 1485, 925, 327, 11497, 7305, 6503, 111175, 70989}}, +{16033, 18, 44091, {1, 3, 3, 1, 11, 41, 127, 93, 367, 649, 1585, 3379, 7269, 5537, 26077, 28541, 55379, 22989}}, +{16034, 18, 44101, {1, 1, 1, 5, 27, 11, 35, 49, 7, 113, 1477, 3615, 7567, 505, 13915, 51023, 50783, 45031}}, +{16035, 18, 44129, {1, 1, 7, 5, 25, 1, 35, 59, 269, 427, 791, 3179, 1423, 9801, 17717, 23631, 97947, 126861}}, +{16036, 18, 44139, {1, 3, 5, 7, 1, 51, 77, 97, 19, 287, 303, 791, 307, 4939, 13615, 61225, 98127, 114693}}, +{16037, 18, 44172, {1, 3, 3, 15, 5, 5, 93, 119, 429, 977, 1763, 3727, 1761, 3597, 16489, 71, 44103, 257929}}, +{16038, 18, 44203, {1, 1, 5, 1, 15, 29, 79, 33, 335, 381, 1233, 47, 6741, 4953, 29689, 11223, 129185, 182487}}, +{16039, 18, 44211, {1, 1, 1, 11, 29, 27, 27, 189, 507, 523, 1949, 2567, 4105, 1227, 16631, 34187, 28521, 265}}, +{16040, 18, 44240, {1, 3, 3, 7, 3, 7, 39, 155, 315, 439, 1953, 1227, 6135, 16291, 453, 50929, 67507, 166981}}, +{16041, 18, 44259, {1, 3, 1, 5, 7, 55, 121, 119, 87, 869, 1049, 575, 3675, 13505, 15661, 43899, 106877, 141691}}, +{16042, 18, 44305, {1, 3, 1, 11, 23, 9, 117, 243, 329, 767, 335, 2951, 2887, 13441, 27579, 15437, 31699, 165177}}, +{16043, 18, 44383, {1, 3, 7, 11, 5, 49, 47, 125, 431, 511, 299, 3215, 3287, 7029, 9737, 28317, 34355, 232365}}, +{16044, 18, 44384, {1, 3, 7, 3, 17, 9, 29, 255, 509, 393, 1583, 1979, 6735, 941, 4393, 35741, 82019, 109633}}, +{16045, 18, 44389, {1, 1, 5, 1, 13, 31, 95, 133, 117, 257, 993, 1513, 4669, 12239, 7841, 751, 79567, 23289}}, +{16046, 18, 44390, {1, 1, 7, 9, 25, 33, 127, 181, 61, 333, 1087, 1661, 2715, 2569, 30041, 4937, 36053, 3435}}, +{16047, 18, 44432, {1, 3, 1, 13, 15, 27, 123, 73, 377, 85, 435, 3435, 2079, 9271, 28685, 30089, 38799, 210247}}, +{16048, 18, 44435, {1, 1, 5, 3, 5, 17, 93, 181, 313, 837, 1115, 3099, 3603, 3483, 23185, 9933, 53127, 123245}}, +{16049, 18, 44468, {1, 1, 1, 13, 3, 57, 11, 67, 41, 273, 1005, 2313, 505, 6593, 27287, 47359, 104597, 45475}}, +{16050, 18, 44472, {1, 1, 1, 5, 13, 41, 97, 251, 317, 483, 163, 1493, 6629, 11995, 31293, 4715, 98569, 178419}}, +{16051, 18, 44483, {1, 3, 5, 5, 21, 7, 69, 169, 223, 953, 1573, 1137, 8075, 7733, 23031, 14589, 6453, 228883}}, +{16052, 18, 44497, {1, 1, 7, 9, 27, 37, 3, 183, 41, 99, 111, 1713, 1291, 8263, 6373, 39549, 3099, 156793}}, +{16053, 18, 44550, {1, 1, 3, 1, 23, 43, 15, 27, 223, 173, 1601, 2159, 3595, 15143, 31065, 35799, 77339, 141397}}, +{16054, 18, 44577, {1, 1, 5, 13, 9, 35, 27, 93, 23, 999, 593, 563, 5333, 8825, 27277, 46381, 3171, 6311}}, +{16055, 18, 44584, {1, 3, 7, 15, 25, 17, 7, 237, 379, 649, 1879, 2643, 5951, 4227, 4937, 24549, 43577, 116327}}, +{16056, 18, 44601, {1, 1, 3, 9, 29, 35, 101, 105, 19, 151, 1135, 897, 2427, 15779, 31851, 29183, 44471, 187817}}, +{16057, 18, 44674, {1, 3, 7, 11, 9, 55, 19, 115, 395, 559, 1883, 409, 2459, 201, 18975, 339, 108251, 19429}}, +{16058, 18, 44683, {1, 3, 1, 13, 1, 11, 67, 45, 407, 169, 1401, 381, 3913, 6491, 28133, 63857, 52095, 115749}}, +{16059, 18, 44688, {1, 1, 1, 11, 21, 45, 65, 253, 511, 51, 893, 3533, 2101, 4779, 23941, 22449, 82457, 44447}}, +{16060, 18, 44694, {1, 1, 7, 11, 19, 33, 101, 241, 493, 111, 1967, 469, 6575, 10445, 733, 56467, 27403, 25863}}, +{16061, 18, 44703, {1, 3, 1, 1, 5, 49, 21, 79, 53, 621, 43, 1183, 1385, 9129, 21727, 35559, 35269, 211383}}, +{16062, 18, 44713, {1, 1, 1, 13, 23, 43, 53, 145, 149, 611, 745, 899, 7095, 3243, 1993, 35807, 110783, 246199}}, +{16063, 18, 44721, {1, 1, 7, 9, 25, 37, 71, 233, 407, 1, 1749, 759, 7689, 15573, 7351, 33505, 22631, 49125}}, +{16064, 18, 44722, {1, 3, 1, 13, 31, 49, 105, 13, 257, 843, 1171, 2819, 621, 12567, 24339, 6689, 127413, 249671}}, +{16065, 18, 44733, {1, 1, 5, 11, 5, 1, 93, 21, 317, 789, 571, 2493, 7255, 6459, 14737, 13989, 47003, 246561}}, +{16066, 18, 44746, {1, 3, 5, 7, 9, 11, 69, 143, 175, 581, 825, 2219, 1165, 9061, 6073, 57169, 18135, 94943}}, +{16067, 18, 44748, {1, 1, 5, 7, 7, 55, 121, 107, 395, 939, 1291, 2497, 3757, 1361, 31823, 19375, 22551, 224653}}, +{16068, 18, 44760, {1, 1, 7, 15, 15, 1, 47, 225, 223, 589, 1539, 173, 6257, 5461, 11197, 9801, 80687, 84279}}, +{16069, 18, 44765, {1, 3, 7, 11, 23, 47, 83, 119, 367, 895, 431, 1949, 565, 1397, 24911, 29661, 67861, 74621}}, +{16070, 18, 44766, {1, 3, 3, 9, 17, 29, 15, 65, 157, 255, 303, 1467, 3279, 8873, 31279, 431, 8497, 7209}}, +{16071, 18, 44775, {1, 1, 5, 13, 9, 39, 85, 133, 427, 897, 1665, 2109, 2865, 15573, 27729, 59905, 2241, 83099}}, +{16072, 18, 44794, {1, 3, 1, 13, 1, 45, 65, 65, 249, 79, 1515, 503, 953, 9859, 13307, 27419, 102209, 107529}}, +{16073, 18, 44822, {1, 3, 7, 9, 17, 13, 79, 93, 231, 5, 1811, 557, 1837, 8077, 8109, 3497, 79985, 134375}}, +{16074, 18, 44841, {1, 1, 5, 9, 15, 3, 23, 27, 491, 9, 1657, 3877, 3783, 12645, 2599, 10673, 40035, 197681}}, +{16075, 18, 44859, {1, 1, 5, 3, 5, 13, 121, 145, 291, 621, 1731, 145, 2033, 341, 3667, 4139, 52035, 115865}}, +{16076, 18, 44894, {1, 3, 5, 5, 3, 29, 115, 227, 339, 23, 1659, 2367, 1079, 10757, 30709, 41473, 55847, 228761}}, +{16077, 18, 44900, {1, 3, 5, 7, 7, 61, 103, 57, 197, 31, 237, 2507, 5247, 10529, 13823, 47845, 129031, 47029}}, +{16078, 18, 44904, {1, 3, 7, 5, 3, 17, 91, 31, 277, 977, 1905, 3991, 3657, 12197, 14535, 43263, 109629, 31665}}, +{16079, 18, 44946, {1, 1, 5, 15, 29, 43, 121, 113, 159, 929, 669, 2067, 4999, 6847, 12369, 61795, 98525, 78051}}, +{16080, 18, 44967, {1, 1, 3, 7, 25, 61, 65, 79, 373, 683, 113, 1495, 5447, 15507, 16731, 53959, 62905, 252173}}, +{16081, 18, 44994, {1, 3, 1, 11, 1, 15, 101, 55, 477, 357, 333, 3243, 3325, 5885, 11385, 685, 90575, 23015}}, +{16082, 18, 44999, {1, 3, 1, 7, 15, 13, 91, 141, 209, 865, 2035, 2791, 367, 9953, 29547, 36731, 13649, 192911}}, +{16083, 18, 45013, {1, 1, 5, 15, 9, 59, 37, 131, 3, 299, 897, 119, 7515, 5271, 2207, 18187, 62613, 210345}}, +{16084, 18, 45017, {1, 3, 1, 7, 29, 53, 95, 185, 327, 473, 1525, 3751, 915, 5883, 4137, 46343, 104917, 182895}}, +{16085, 18, 45020, {1, 1, 7, 3, 31, 57, 53, 169, 215, 607, 541, 1081, 5265, 2509, 28379, 41767, 19435, 143693}}, +{16086, 18, 45027, {1, 1, 7, 7, 31, 57, 19, 203, 467, 57, 1305, 1513, 6069, 15595, 31717, 44687, 65335, 159315}}, +{16087, 18, 45029, {1, 1, 1, 1, 13, 1, 41, 39, 489, 465, 1645, 2847, 6193, 11025, 11297, 55945, 92085, 243061}}, +{16088, 18, 45066, {1, 3, 3, 13, 15, 47, 87, 77, 321, 903, 181, 2093, 1673, 5375, 17969, 48467, 83441, 120867}}, +{16089, 18, 45074, {1, 3, 3, 13, 13, 17, 65, 181, 283, 471, 745, 1091, 7255, 5987, 29423, 27579, 96201, 218157}}, +{16090, 18, 45080, {1, 1, 1, 7, 13, 5, 101, 131, 309, 401, 99, 2353, 55, 2377, 6059, 64777, 33401, 225605}}, +{16091, 18, 45090, {1, 3, 1, 15, 9, 35, 37, 197, 65, 593, 411, 2233, 1485, 9599, 9581, 31935, 115145, 76867}}, +{16092, 18, 45101, {1, 3, 7, 9, 3, 41, 103, 237, 453, 335, 1831, 3947, 7573, 3859, 12495, 60617, 20715, 163119}}, +{16093, 18, 45110, {1, 3, 5, 7, 9, 9, 25, 79, 421, 267, 585, 1093, 2237, 8881, 7311, 39417, 110901, 8969}}, +{16094, 18, 45113, {1, 3, 3, 15, 1, 29, 75, 159, 89, 965, 457, 1645, 1485, 729, 30547, 2275, 79633, 126089}}, +{16095, 18, 45134, {1, 3, 7, 7, 19, 47, 55, 115, 287, 477, 719, 3311, 2455, 12033, 13811, 34011, 45153, 126991}}, +{16096, 18, 45136, {1, 3, 7, 5, 9, 33, 27, 215, 7, 113, 1027, 415, 1057, 13011, 1547, 7955, 21347, 79427}}, +{16097, 18, 45148, {1, 3, 1, 11, 1, 41, 27, 29, 255, 763, 219, 897, 915, 453, 9417, 22845, 31655, 228869}}, +{16098, 18, 45158, {1, 1, 7, 13, 7, 49, 105, 111, 53, 219, 171, 841, 5027, 5311, 28171, 58719, 32241, 170921}}, +{16099, 18, 45176, {1, 3, 5, 7, 21, 53, 11, 169, 45, 429, 1727, 1953, 8119, 14955, 19997, 62665, 31345, 135715}}, +{16100, 18, 45181, {1, 1, 5, 13, 17, 13, 125, 247, 411, 663, 1725, 2515, 7995, 8963, 5797, 32871, 66603, 137997}}, +{16101, 18, 45185, {1, 1, 5, 5, 23, 37, 15, 63, 35, 817, 463, 1413, 1203, 8031, 4169, 45755, 93511, 134751}}, +{16102, 18, 45188, {1, 1, 1, 1, 31, 17, 15, 125, 199, 57, 1499, 1567, 6113, 6503, 515, 57841, 49885, 213881}}, +{16103, 18, 45203, {1, 1, 7, 7, 15, 1, 67, 213, 197, 471, 577, 27, 1533, 13009, 31861, 62435, 113139, 77057}}, +{16104, 18, 45209, {1, 3, 7, 1, 29, 21, 99, 173, 137, 19, 1727, 1157, 5215, 4367, 28803, 26031, 120195, 60111}}, +{16105, 18, 45231, {1, 1, 5, 9, 25, 55, 27, 45, 231, 693, 765, 429, 2897, 6045, 19705, 61903, 5385, 172967}}, +{16106, 18, 45234, {1, 3, 1, 5, 9, 17, 35, 151, 91, 41, 89, 3751, 27, 5721, 26117, 6105, 31609, 79569}}, +{16107, 18, 45239, {1, 3, 5, 11, 15, 3, 25, 73, 383, 765, 729, 51, 4245, 6215, 9435, 45223, 68071, 68453}}, +{16108, 18, 45246, {1, 1, 7, 5, 31, 61, 19, 153, 331, 233, 11, 3047, 3939, 11959, 897, 4437, 2941, 174493}}, +{16109, 18, 45260, {1, 1, 7, 11, 27, 11, 83, 33, 7, 761, 805, 2327, 2997, 12269, 18707, 10615, 114357, 54951}}, +{16110, 18, 45284, {1, 3, 5, 9, 3, 45, 65, 193, 347, 771, 663, 2901, 6467, 14109, 5169, 38021, 39605, 216877}}, +{16111, 18, 45301, {1, 1, 7, 1, 1, 13, 109, 179, 499, 325, 1763, 1923, 7429, 259, 20589, 48473, 49605, 124709}}, +{16112, 18, 45333, {1, 3, 1, 3, 5, 27, 25, 127, 313, 541, 589, 751, 5959, 5801, 32467, 40597, 75625, 24827}}, +{16113, 18, 45350, {1, 1, 1, 3, 13, 35, 71, 223, 281, 767, 447, 1253, 2227, 7305, 23125, 62847, 16783, 76145}}, +{16114, 18, 45354, {1, 1, 5, 5, 11, 1, 95, 215, 351, 915, 1471, 143, 4011, 3373, 19019, 31797, 85891, 33871}}, +{16115, 18, 45446, {1, 1, 3, 9, 15, 39, 125, 29, 85, 625, 1155, 753, 6679, 14239, 14597, 32715, 97313, 162291}}, +{16116, 18, 45458, {1, 1, 1, 7, 13, 47, 127, 69, 199, 145, 123, 3207, 7673, 9991, 27501, 29189, 93027, 136881}}, +{16117, 18, 45518, {1, 3, 1, 15, 9, 21, 121, 23, 457, 315, 437, 1919, 5531, 13817, 8883, 4421, 19487, 88591}}, +{16118, 18, 45566, {1, 3, 1, 9, 15, 49, 101, 27, 11, 283, 1277, 971, 7697, 5915, 12709, 38251, 88165, 261609}}, +{16119, 18, 45569, {1, 1, 3, 9, 17, 19, 53, 131, 327, 917, 603, 2451, 3597, 14731, 9223, 29719, 113507, 69875}}, +{16120, 18, 45575, {1, 1, 5, 7, 1, 3, 77, 71, 149, 901, 283, 1599, 1053, 16305, 9937, 20907, 4133, 29623}}, +{16121, 18, 45576, {1, 1, 3, 9, 25, 63, 101, 255, 397, 233, 1111, 1583, 3431, 5245, 30209, 33201, 63859, 16551}}, +{16122, 18, 45587, {1, 1, 7, 5, 19, 25, 9, 137, 105, 363, 867, 811, 5829, 12595, 18867, 61021, 19425, 99399}}, +{16123, 18, 45615, {1, 1, 3, 7, 11, 1, 119, 95, 367, 239, 1677, 67, 283, 5701, 3635, 26917, 112895, 224049}}, +{16124, 18, 45661, {1, 3, 5, 11, 13, 33, 11, 191, 305, 551, 159, 1953, 4231, 811, 8711, 41291, 110917, 176177}}, +{16125, 18, 45798, {1, 3, 5, 9, 15, 3, 27, 29, 77, 881, 849, 1113, 7151, 3433, 11199, 38409, 98173, 21373}}, +{16126, 18, 45829, {1, 1, 5, 13, 25, 57, 81, 169, 215, 379, 1707, 493, 1071, 4869, 19149, 24585, 61803, 149305}}, +{16127, 18, 45847, {1, 1, 5, 11, 13, 11, 9, 45, 207, 347, 1203, 185, 3919, 3119, 27879, 50793, 18499, 109239}}, +{16128, 18, 45858, {1, 1, 1, 5, 3, 23, 123, 175, 445, 439, 215, 1883, 6857, 14837, 29411, 33633, 96241, 68361}}, +{16129, 18, 45864, {1, 1, 5, 7, 31, 53, 19, 41, 477, 203, 1133, 1471, 5067, 3875, 30655, 9207, 24835, 22019}}, +{16130, 18, 45899, {1, 3, 1, 11, 19, 9, 91, 217, 135, 169, 489, 727, 5471, 2125, 20867, 19689, 78859, 222433}}, +{16131, 18, 45904, {1, 1, 1, 13, 5, 37, 37, 39, 397, 527, 789, 1447, 7123, 6099, 16849, 48895, 95543, 56135}}, +{16132, 18, 45919, {1, 3, 7, 7, 15, 31, 81, 165, 31, 867, 1879, 1161, 3651, 5167, 12855, 60195, 85611, 191791}}, +{16133, 18, 45974, {1, 1, 1, 9, 31, 35, 19, 123, 281, 445, 63, 2683, 7073, 1489, 9791, 40125, 43723, 103765}}, +{16134, 18, 45987, {1, 3, 3, 9, 23, 31, 113, 241, 149, 463, 1047, 3737, 8105, 16295, 4565, 8095, 16617, 87455}}, +{16135, 18, 45989, {1, 3, 5, 15, 1, 47, 29, 77, 27, 1013, 1091, 3657, 835, 563, 7139, 58839, 92697, 114523}}, +{16136, 18, 46008, {1, 3, 1, 1, 5, 49, 87, 251, 473, 583, 2033, 809, 5341, 15835, 691, 57133, 75751, 127717}}, +{16137, 18, 46036, {1, 3, 1, 11, 23, 51, 95, 167, 73, 739, 573, 1113, 7585, 5457, 25767, 5583, 29583, 48263}}, +{16138, 18, 46039, {1, 1, 3, 5, 9, 59, 1, 235, 17, 973, 1987, 3629, 1739, 6419, 29943, 44963, 63943, 18571}}, +{16139, 18, 46043, {1, 3, 7, 11, 9, 37, 25, 253, 307, 411, 891, 1977, 6979, 11287, 12619, 50327, 25831, 135673}}, +{16140, 18, 46045, {1, 1, 5, 15, 23, 27, 83, 157, 253, 559, 1989, 2431, 4821, 6617, 4295, 16143, 249, 109855}}, +{16141, 18, 46079, {1, 1, 3, 9, 31, 59, 117, 139, 379, 703, 49, 3013, 6383, 4019, 7289, 4567, 34931, 224967}}, +{16142, 18, 46084, {1, 1, 1, 3, 3, 33, 49, 127, 177, 417, 723, 3259, 1547, 3297, 19733, 59465, 122179, 13209}}, +{16143, 18, 46091, {1, 3, 3, 1, 3, 61, 23, 177, 77, 579, 1739, 2707, 5319, 13291, 10223, 45395, 62797, 124675}}, +{16144, 18, 46105, {1, 1, 3, 15, 25, 47, 79, 111, 245, 853, 1103, 3741, 5783, 2075, 26371, 28801, 117831, 111735}}, +{16145, 18, 46117, {1, 1, 5, 11, 3, 47, 43, 61, 75, 963, 1507, 3491, 6031, 14171, 32557, 23779, 44815, 168409}}, +{16146, 18, 46141, {1, 3, 3, 7, 21, 39, 61, 109, 13, 833, 373, 4021, 4035, 7987, 18957, 10423, 82823, 8763}}, +{16147, 18, 46147, {1, 1, 7, 3, 3, 33, 113, 77, 447, 127, 213, 1605, 3873, 12345, 7847, 63903, 80665, 6647}}, +{16148, 18, 46162, {1, 3, 1, 5, 25, 11, 49, 233, 377, 791, 43, 195, 393, 1403, 27567, 29673, 11327, 190513}}, +{16149, 18, 46184, {1, 3, 1, 15, 21, 3, 21, 169, 221, 495, 1045, 3715, 4923, 2437, 23203, 59905, 70285, 258455}}, +{16150, 18, 46197, {1, 1, 7, 13, 29, 33, 91, 153, 31, 359, 25, 3947, 1699, 4081, 20907, 24953, 64977, 88115}}, +{16151, 18, 46207, {1, 1, 5, 11, 17, 7, 17, 129, 91, 835, 139, 3823, 1827, 6787, 27367, 26801, 61513, 189677}}, +{16152, 18, 46214, {1, 3, 3, 9, 23, 21, 97, 103, 481, 859, 413, 893, 4021, 8111, 23703, 18791, 102735, 82735}}, +{16153, 18, 46218, {1, 1, 1, 7, 11, 53, 61, 3, 347, 633, 191, 3605, 41, 12605, 14381, 60403, 126223, 186157}}, +{16154, 18, 46237, {1, 3, 5, 1, 11, 33, 61, 235, 245, 623, 2019, 3289, 5761, 15557, 1685, 2173, 104825, 245139}}, +{16155, 18, 46247, {1, 1, 3, 7, 19, 55, 75, 219, 11, 75, 1765, 1833, 263, 6605, 26297, 24969, 17721, 109495}}, +{16156, 18, 46251, {1, 1, 7, 5, 7, 33, 23, 109, 207, 137, 385, 3233, 6765, 3517, 31389, 57049, 25645, 176257}}, +{16157, 18, 46327, {1, 1, 5, 5, 27, 63, 65, 23, 93, 721, 1665, 3805, 3611, 7543, 21119, 38565, 99921, 72773}}, +{16158, 18, 46333, {1, 1, 1, 13, 13, 19, 23, 5, 425, 727, 1469, 1261, 6597, 725, 27129, 36953, 25781, 191581}}, +{16159, 18, 46342, {1, 3, 3, 1, 3, 29, 25, 109, 237, 135, 409, 2239, 5033, 11007, 31861, 55171, 76313, 216271}}, +{16160, 18, 46366, {1, 3, 7, 13, 31, 33, 11, 31, 179, 67, 755, 2513, 37, 12863, 24053, 12315, 45009, 166643}}, +{16161, 18, 46376, {1, 1, 5, 13, 13, 37, 19, 223, 409, 387, 139, 3283, 243, 15573, 24173, 63271, 91561, 168665}}, +{16162, 18, 46384, {1, 3, 5, 7, 17, 25, 63, 231, 23, 965, 1873, 1021, 7927, 11127, 19553, 9883, 83009, 258991}}, +{16163, 18, 46404, {1, 3, 1, 7, 17, 21, 71, 65, 165, 845, 1739, 2395, 5959, 14803, 17333, 59003, 36477, 202511}}, +{16164, 18, 46478, {1, 3, 5, 13, 15, 57, 59, 205, 507, 41, 703, 195, 4373, 4023, 13399, 62061, 43645, 204899}}, +{16165, 18, 46511, {1, 3, 5, 11, 13, 13, 43, 19, 497, 599, 1345, 2001, 407, 2731, 16283, 55161, 130887, 189201}}, +{16166, 18, 46540, {1, 1, 7, 5, 13, 3, 105, 83, 235, 363, 869, 1715, 4031, 3419, 15149, 10627, 47787, 226107}}, +{16167, 18, 46638, {1, 3, 3, 3, 9, 49, 99, 161, 413, 739, 195, 2815, 1157, 9069, 15591, 4509, 30765, 184013}}, +{16168, 18, 46700, {1, 3, 7, 5, 25, 63, 23, 91, 507, 647, 1249, 2035, 4341, 8811, 8345, 49463, 69023, 195775}}, +{16169, 18, 46706, {1, 3, 5, 5, 5, 21, 117, 1, 321, 495, 251, 1961, 8043, 6593, 11017, 6167, 56607, 144009}}, +{16170, 18, 46745, {1, 1, 3, 3, 15, 63, 41, 177, 403, 375, 1771, 3, 7481, 4887, 799, 59283, 106319, 32155}}, +{16171, 18, 46757, {1, 1, 1, 7, 19, 57, 97, 91, 489, 561, 335, 3809, 3167, 8879, 1789, 22329, 58851, 84461}}, +{16172, 18, 46772, {1, 3, 3, 11, 3, 23, 79, 25, 187, 497, 1343, 543, 4495, 14599, 29365, 14795, 26341, 26923}}, +{16173, 18, 46776, {1, 3, 1, 13, 21, 35, 9, 227, 423, 761, 439, 3099, 5167, 12955, 12877, 5591, 123511, 74227}}, +{16174, 18, 46790, {1, 1, 3, 7, 1, 49, 115, 95, 481, 659, 183, 2337, 39, 235, 30869, 10223, 59673, 65293}}, +{16175, 18, 46794, {1, 1, 1, 13, 11, 29, 113, 37, 153, 993, 1195, 1695, 4741, 13671, 29097, 65023, 78281, 156235}}, +{16176, 18, 46804, {1, 3, 5, 11, 19, 17, 47, 243, 273, 679, 393, 4059, 705, 12473, 1867, 13783, 86821, 240545}}, +{16177, 18, 46820, {1, 3, 1, 11, 23, 35, 15, 31, 275, 261, 427, 909, 7925, 4737, 22825, 34859, 28593, 20071}}, +{16178, 18, 46849, {1, 3, 1, 1, 13, 1, 115, 115, 103, 63, 1023, 815, 7007, 6063, 13329, 28051, 29807, 109861}}, +{16179, 18, 46870, {1, 1, 1, 11, 19, 57, 49, 169, 33, 59, 579, 2409, 89, 9655, 18091, 57771, 34509, 175991}}, +{16180, 18, 46876, {1, 1, 5, 9, 27, 19, 41, 217, 313, 359, 1745, 3887, 589, 3103, 10087, 30615, 56793, 102515}}, +{16181, 18, 46903, {1, 3, 7, 11, 25, 43, 101, 245, 67, 1003, 1379, 2141, 8025, 15231, 20705, 45513, 82251, 147295}}, +{16182, 18, 46904, {1, 3, 5, 5, 5, 47, 19, 33, 107, 773, 627, 4077, 5829, 6483, 25791, 35079, 103073, 201657}}, +{16183, 18, 46907, {1, 1, 5, 15, 1, 37, 115, 15, 61, 987, 1029, 2125, 5357, 10233, 14907, 12077, 92143, 207301}}, +{16184, 18, 46932, {1, 1, 7, 7, 3, 15, 95, 3, 393, 535, 819, 743, 3613, 11459, 2269, 17083, 65547, 74813}}, +{16185, 18, 46955, {1, 1, 7, 5, 11, 27, 117, 65, 55, 87, 105, 3219, 1587, 383, 25349, 54561, 11935, 101203}}, +{16186, 18, 46963, {1, 1, 5, 15, 23, 53, 37, 149, 191, 963, 1407, 4091, 1647, 9537, 30247, 23501, 123745, 76301}}, +{16187, 18, 46991, {1, 3, 1, 1, 21, 31, 11, 107, 55, 823, 805, 141, 7177, 15883, 3307, 52245, 115171, 260589}}, +{16188, 18, 47029, {1, 3, 7, 13, 25, 15, 5, 221, 347, 83, 51, 1227, 4591, 851, 10173, 37777, 82441, 175219}}, +{16189, 18, 47036, {1, 1, 7, 15, 17, 41, 121, 215, 111, 999, 367, 1961, 3207, 10145, 10395, 24381, 95937, 12693}}, +{16190, 18, 47054, {1, 1, 1, 11, 23, 27, 117, 255, 87, 519, 599, 3471, 3983, 2797, 13477, 56479, 27321, 101585}}, +{16191, 18, 47099, {1, 1, 5, 9, 1, 3, 35, 15, 457, 209, 141, 1295, 1631, 9745, 30247, 44865, 78113, 13207}}, +{16192, 18, 47106, {1, 3, 3, 1, 27, 63, 29, 31, 277, 173, 1321, 3847, 4127, 8713, 10507, 8697, 97025, 105995}}, +{16193, 18, 47132, {1, 1, 5, 13, 13, 47, 33, 69, 113, 369, 539, 4075, 1013, 9733, 9291, 33377, 130567, 238331}}, +{16194, 18, 47145, {1, 3, 7, 13, 15, 15, 125, 219, 205, 763, 1233, 1911, 7733, 7623, 27305, 6067, 16169, 238805}}, +{16195, 18, 47151, {1, 3, 1, 9, 23, 17, 35, 175, 157, 627, 1045, 1791, 1675, 11699, 2151, 28293, 14529, 30523}}, +{16196, 18, 47156, {1, 1, 5, 9, 5, 1, 23, 151, 295, 949, 371, 3317, 2557, 5815, 9699, 48379, 104561, 103747}}, +{16197, 18, 47171, {1, 3, 5, 5, 11, 57, 125, 247, 29, 257, 979, 2437, 4391, 8229, 11231, 30145, 111165, 92347}}, +{16198, 18, 47188, {1, 1, 3, 3, 27, 17, 71, 71, 357, 367, 1213, 2549, 6049, 15299, 2891, 21839, 109889, 34643}}, +{16199, 18, 47201, {1, 1, 1, 11, 7, 21, 41, 77, 249, 567, 1947, 2989, 875, 12975, 23599, 49313, 67213, 98415}}, +{16200, 18, 47219, {1, 1, 7, 7, 27, 51, 103, 221, 295, 247, 1579, 2435, 67, 3087, 9421, 59573, 111143, 42363}}, +{16201, 18, 47226, {1, 1, 1, 13, 27, 27, 75, 33, 81, 841, 1295, 2823, 997, 16329, 6117, 43361, 63727, 113347}}, +{16202, 18, 47241, {1, 1, 1, 3, 19, 7, 43, 93, 397, 293, 803, 3021, 3915, 1417, 22255, 38529, 53737, 133705}}, +{16203, 18, 47252, {1, 3, 3, 13, 1, 33, 1, 235, 255, 345, 1621, 315, 2685, 6451, 7133, 239, 103075, 175033}}, +{16204, 18, 47261, {1, 3, 1, 11, 29, 47, 61, 115, 395, 633, 1913, 2983, 4581, 3729, 22511, 16479, 80607, 232859}}, +{16205, 18, 47295, {1, 3, 7, 7, 27, 25, 29, 121, 511, 533, 1791, 3349, 4915, 8213, 13913, 6595, 2353, 207495}}, +{16206, 18, 47297, {1, 3, 7, 5, 21, 25, 77, 189, 473, 1015, 1455, 1923, 3281, 15163, 2329, 58529, 55369, 195007}}, +{16207, 18, 47333, {1, 3, 1, 1, 25, 37, 117, 41, 207, 413, 143, 1707, 7463, 15399, 3013, 4141, 37669, 70953}}, +{16208, 18, 47337, {1, 3, 5, 3, 31, 61, 41, 157, 141, 387, 1705, 1661, 3607, 6905, 3305, 63235, 7977, 253707}}, +{16209, 18, 47360, {1, 1, 5, 11, 29, 15, 61, 127, 417, 795, 171, 415, 7935, 4553, 29979, 21153, 108811, 219959}}, +{16210, 18, 47377, {1, 1, 5, 11, 17, 61, 3, 9, 297, 53, 933, 341, 507, 2683, 15313, 24113, 78617, 191127}}, +{16211, 18, 47378, {1, 1, 7, 15, 5, 57, 65, 187, 15, 541, 1843, 731, 7331, 2479, 26259, 32685, 125259, 108693}}, +{16212, 18, 47384, {1, 1, 7, 7, 11, 15, 33, 183, 225, 609, 1755, 3531, 2767, 6267, 30823, 36797, 59699, 136769}}, +{16213, 18, 47389, {1, 3, 5, 13, 15, 19, 77, 239, 307, 691, 1165, 1327, 7901, 9299, 7777, 39151, 96261, 79791}}, +{16214, 18, 47417, {1, 1, 3, 5, 29, 31, 85, 109, 381, 243, 955, 193, 3461, 5163, 18607, 51143, 74457, 84685}}, +{16215, 18, 47420, {1, 1, 5, 9, 11, 23, 77, 247, 149, 759, 1153, 1781, 4107, 16315, 15513, 48545, 55607, 163947}}, +{16216, 18, 47426, {1, 3, 3, 5, 21, 27, 57, 61, 75, 943, 97, 1507, 4091, 671, 23023, 49095, 61649, 222401}}, +{16217, 18, 47443, {1, 1, 3, 13, 1, 3, 15, 105, 285, 255, 577, 1347, 2917, 10257, 21607, 63041, 79823, 6447}}, +{16218, 18, 47504, {1, 1, 3, 1, 17, 25, 109, 47, 445, 225, 1729, 2835, 4569, 8755, 21847, 25839, 43503, 173599}}, +{16219, 18, 47507, {1, 1, 5, 15, 19, 1, 121, 119, 33, 77, 1147, 359, 5747, 2785, 15567, 5409, 125979, 199183}}, +{16220, 18, 47510, {1, 3, 1, 9, 17, 45, 85, 83, 427, 223, 531, 1681, 2343, 14959, 27297, 54607, 70889, 45529}}, +{16221, 18, 47526, {1, 1, 5, 11, 31, 61, 109, 195, 505, 197, 159, 2799, 4517, 11549, 10297, 17415, 58277, 206577}}, +{16222, 18, 47550, {1, 1, 3, 5, 17, 43, 107, 207, 453, 161, 1775, 1287, 5775, 12417, 14201, 48187, 75073, 121099}}, +{16223, 18, 47552, {1, 1, 5, 7, 31, 27, 67, 251, 127, 443, 263, 895, 8081, 14053, 32023, 54743, 14723, 221285}}, +{16224, 18, 47557, {1, 3, 3, 13, 27, 45, 51, 47, 243, 15, 1283, 2291, 3613, 14733, 8777, 3959, 36769, 104789}}, +{16225, 18, 47564, {1, 3, 5, 1, 5, 31, 1, 139, 411, 79, 959, 1431, 2329, 3595, 19231, 55747, 18923, 223709}}, +{16226, 18, 47591, {1, 3, 1, 1, 7, 9, 69, 201, 305, 411, 459, 3201, 2525, 6977, 16249, 17777, 114321, 243831}}, +{16227, 18, 47610, {1, 3, 3, 5, 13, 7, 3, 27, 201, 279, 1253, 1725, 1481, 8885, 1233, 40699, 7267, 189095}}, +{16228, 18, 47621, {1, 3, 5, 5, 31, 61, 53, 231, 93, 597, 2027, 2179, 4517, 565, 27807, 5447, 130341, 10411}}, +{16229, 18, 47639, {1, 1, 7, 1, 9, 17, 63, 245, 405, 23, 1647, 285, 6625, 8935, 959, 29095, 657, 185511}}, +{16230, 18, 47646, {1, 1, 7, 7, 5, 15, 49, 69, 479, 585, 437, 1097, 5933, 1709, 26169, 36895, 16981, 147033}}, +{16231, 18, 47676, {1, 3, 7, 13, 29, 19, 89, 249, 195, 687, 379, 1291, 4791, 9039, 6381, 12965, 99995, 105107}}, +{16232, 18, 47682, {1, 1, 5, 7, 13, 49, 101, 217, 205, 635, 577, 3301, 911, 1793, 22285, 20163, 22593, 45701}}, +{16233, 18, 47732, {1, 3, 7, 9, 3, 21, 55, 123, 205, 309, 59, 3739, 1625, 839, 26733, 27443, 6699, 244287}}, +{16234, 18, 47741, {1, 1, 1, 11, 29, 3, 33, 57, 481, 691, 1401, 3595, 5435, 571, 6945, 10911, 94721, 89751}}, +{16235, 18, 47751, {1, 1, 3, 5, 21, 19, 23, 169, 263, 137, 771, 1995, 2211, 6287, 18691, 14219, 65647, 89885}}, +{16236, 18, 47757, {1, 1, 3, 7, 7, 53, 9, 155, 327, 325, 301, 3703, 1069, 15573, 14873, 15665, 71617, 5079}}, +{16237, 18, 47786, {1, 3, 1, 3, 27, 15, 1, 203, 465, 629, 71, 1093, 2071, 7743, 22441, 42997, 35249, 113329}}, +{16238, 18, 47803, {1, 3, 5, 3, 21, 35, 107, 73, 247, 575, 719, 3215, 3181, 5861, 25169, 6503, 12347, 196371}}, +{16239, 18, 47828, {1, 3, 1, 3, 7, 29, 117, 115, 221, 345, 165, 1367, 1491, 15791, 12647, 34679, 1043, 219311}}, +{16240, 18, 47848, {1, 3, 5, 7, 19, 47, 65, 65, 101, 323, 1209, 3185, 3803, 1077, 18933, 17081, 7475, 165133}}, +{16241, 18, 47853, {1, 1, 7, 1, 25, 9, 61, 245, 175, 201, 1837, 2119, 943, 14043, 14343, 46299, 81151, 5587}}, +{16242, 18, 47856, {1, 1, 1, 1, 31, 27, 49, 89, 387, 975, 1203, 2995, 2969, 1465, 925, 39611, 38101, 126043}}, +{16243, 18, 47862, {1, 3, 7, 13, 21, 17, 45, 139, 359, 11, 335, 79, 6629, 6137, 7879, 62735, 99493, 138943}}, +{16244, 18, 47874, {1, 3, 5, 5, 9, 23, 91, 195, 89, 195, 1931, 3855, 387, 3491, 29643, 59939, 32347, 171539}}, +{16245, 18, 47883, {1, 3, 3, 15, 21, 55, 5, 13, 139, 125, 1731, 3131, 1927, 16051, 8351, 18625, 32465, 255813}}, +{16246, 18, 47916, {1, 3, 7, 11, 21, 45, 53, 225, 33, 733, 115, 639, 4801, 5529, 11041, 3557, 83521, 37525}}, +{16247, 18, 47934, {1, 3, 7, 15, 3, 37, 111, 127, 463, 565, 543, 2593, 2203, 5719, 11667, 63735, 16481, 155613}}, +{16248, 18, 47951, {1, 1, 3, 13, 31, 1, 17, 53, 479, 629, 1517, 89, 3377, 4831, 9213, 55029, 69547, 52363}}, +{16249, 18, 47979, {1, 1, 7, 1, 5, 47, 115, 73, 59, 407, 1227, 2955, 5249, 7921, 4713, 28699, 41455, 1161}}, +{16250, 18, 48010, {1, 1, 7, 7, 5, 7, 39, 7, 97, 867, 247, 639, 3125, 14961, 19737, 52589, 59821, 96095}}, +{16251, 18, 48027, {1, 1, 7, 5, 11, 51, 63, 245, 385, 1003, 189, 4039, 6137, 3621, 13241, 55753, 14855, 50221}}, +{16252, 18, 48046, {1, 3, 5, 3, 9, 61, 83, 209, 301, 917, 259, 187, 6253, 1579, 28285, 16571, 100945, 158067}}, +{16253, 18, 48060, {1, 3, 5, 11, 5, 47, 123, 173, 253, 183, 1823, 459, 4719, 13639, 8455, 12217, 88779, 134863}}, +{16254, 18, 48065, {1, 1, 1, 5, 1, 45, 43, 163, 371, 427, 1791, 1073, 1615, 14473, 15895, 4971, 105269, 109201}}, +{16255, 18, 48075, {1, 3, 1, 15, 11, 9, 99, 99, 25, 21, 1499, 83, 6967, 12923, 13623, 27423, 4707, 477}}, +{16256, 18, 48096, {1, 1, 3, 5, 15, 49, 45, 27, 51, 391, 1849, 347, 6841, 2831, 4425, 40701, 61135, 116945}}, +{16257, 18, 48119, {1, 1, 3, 7, 21, 23, 15, 223, 403, 395, 1997, 3247, 6345, 11739, 6511, 44323, 86667, 213287}}, +{16258, 18, 48173, {1, 3, 7, 11, 31, 21, 75, 129, 427, 777, 1787, 4031, 1493, 2279, 10681, 36675, 25527, 123533}}, +{16259, 18, 48176, {1, 3, 5, 15, 9, 5, 117, 147, 259, 265, 1817, 583, 5341, 12115, 2369, 4023, 123479, 218877}}, +{16260, 18, 48186, {1, 1, 1, 15, 5, 21, 87, 57, 487, 529, 1129, 2989, 39, 5995, 28779, 35813, 97425, 5227}}, +{16261, 18, 48213, {1, 1, 7, 3, 7, 1, 41, 231, 195, 205, 1663, 3149, 4439, 8241, 3085, 43965, 58833, 216779}}, +{16262, 18, 48223, {1, 1, 3, 1, 23, 45, 65, 3, 55, 653, 131, 2425, 5653, 9105, 16921, 55221, 29241, 220927}}, +{16263, 18, 48224, {1, 3, 1, 3, 5, 47, 107, 49, 175, 957, 1287, 1299, 5215, 4141, 31697, 9371, 43339, 133933}}, +{16264, 18, 48229, {1, 3, 1, 7, 13, 55, 33, 163, 361, 793, 101, 2159, 3457, 12893, 11627, 27115, 95201, 2945}}, +{16265, 18, 48241, {1, 1, 7, 15, 11, 39, 79, 113, 385, 41, 1715, 3887, 1347, 8141, 6121, 18653, 50867, 55745}}, +{16266, 18, 48281, {1, 1, 7, 13, 3, 5, 23, 59, 223, 665, 1823, 2989, 1069, 15161, 8917, 5539, 47437, 240933}}, +{16267, 18, 48284, {1, 3, 7, 13, 13, 19, 73, 25, 413, 211, 439, 339, 1159, 16063, 9589, 33451, 28789, 118883}}, +{16268, 18, 48291, {1, 1, 5, 11, 13, 61, 81, 63, 197, 569, 961, 253, 2065, 8969, 24045, 52811, 26929, 111329}}, +{16269, 18, 48308, {1, 3, 7, 5, 19, 23, 27, 163, 37, 103, 1737, 175, 1853, 597, 14147, 46159, 26385, 69427}}, +{16270, 18, 48340, {1, 3, 7, 9, 27, 43, 45, 209, 61, 115, 645, 1149, 1473, 10557, 8541, 51703, 29207, 92059}}, +{16271, 18, 48344, {1, 1, 5, 5, 25, 53, 123, 243, 493, 403, 485, 1505, 6879, 1921, 13569, 28271, 24407, 73057}}, +{16272, 18, 48368, {1, 1, 3, 11, 15, 31, 99, 29, 503, 819, 55, 773, 2993, 15341, 7625, 12835, 28555, 200609}}, +{16273, 18, 48400, {1, 1, 7, 9, 21, 49, 47, 207, 13, 571, 57, 1727, 7441, 1703, 4253, 64851, 113, 180273}}, +{16274, 18, 48406, {1, 3, 3, 9, 23, 1, 1, 53, 195, 569, 925, 1969, 3031, 14371, 17673, 39163, 11819, 117573}}, +{16275, 18, 48409, {1, 1, 1, 11, 5, 3, 103, 133, 447, 1015, 1049, 3283, 7507, 233, 13721, 50721, 75511, 227561}}, +{16276, 18, 48421, {1, 3, 1, 1, 17, 59, 79, 105, 503, 173, 1575, 1563, 5807, 12841, 7983, 28209, 27527, 229919}}, +{16277, 18, 48448, {1, 1, 3, 9, 3, 41, 125, 213, 361, 939, 161, 2235, 2575, 13519, 7957, 21527, 40693, 51055}}, +{16278, 18, 48453, {1, 3, 7, 11, 11, 7, 117, 21, 7, 745, 1109, 3393, 953, 5163, 19909, 49121, 85061, 209555}}, +{16279, 18, 48457, {1, 1, 7, 5, 27, 59, 127, 199, 119, 461, 653, 497, 5867, 767, 16373, 21201, 87589, 171491}}, +{16280, 18, 48478, {1, 1, 7, 11, 7, 21, 121, 97, 17, 827, 1191, 113, 6527, 14977, 32567, 15191, 104541, 140359}}, +{16281, 18, 48493, {1, 1, 7, 13, 19, 29, 127, 207, 233, 511, 43, 3177, 7963, 5559, 24185, 13373, 37853, 150537}}, +{16282, 18, 48527, {1, 3, 3, 9, 15, 17, 119, 201, 443, 51, 17, 605, 4191, 5251, 28903, 4861, 92571, 143499}}, +{16283, 18, 48583, {1, 1, 5, 11, 21, 45, 111, 245, 115, 705, 1267, 3013, 7907, 14973, 30499, 44117, 118229, 136571}}, +{16284, 18, 48597, {1, 3, 7, 7, 31, 35, 69, 143, 269, 27, 1365, 775, 6067, 11477, 28475, 54573, 92827, 226459}}, +{16285, 18, 48641, {1, 1, 5, 1, 1, 29, 41, 189, 423, 245, 1031, 1667, 3465, 1491, 26787, 53851, 26189, 215443}}, +{16286, 18, 48668, {1, 3, 3, 5, 23, 29, 97, 141, 135, 249, 767, 3627, 7867, 9311, 25411, 38325, 118643, 128453}}, +{16287, 18, 48671, {1, 3, 7, 13, 3, 25, 61, 121, 285, 401, 1099, 2327, 5509, 16127, 2363, 52395, 114233, 216013}}, +{16288, 18, 48682, {1, 1, 1, 13, 7, 37, 83, 151, 447, 605, 289, 2941, 6273, 5945, 7493, 29805, 34935, 101177}}, +{16289, 18, 48709, {1, 1, 7, 13, 31, 51, 125, 9, 321, 293, 489, 4023, 2425, 7645, 2927, 20973, 111223, 71255}}, +{16290, 18, 48719, {1, 1, 7, 3, 27, 9, 59, 143, 307, 543, 1995, 111, 5807, 4641, 3581, 2421, 64213, 187567}}, +{16291, 18, 48731, {1, 3, 3, 9, 23, 33, 47, 81, 441, 995, 213, 3501, 1003, 9885, 24101, 58767, 49507, 30525}}, +{16292, 18, 48780, {1, 3, 1, 3, 19, 51, 117, 53, 49, 167, 1799, 1421, 2473, 3183, 14421, 58621, 130703, 48095}}, +{16293, 18, 48791, {1, 1, 7, 7, 5, 25, 33, 237, 447, 377, 517, 2047, 4357, 2747, 16491, 23935, 21655, 144151}}, +{16294, 18, 48797, {1, 1, 7, 7, 17, 5, 57, 67, 89, 897, 1163, 3517, 1651, 6745, 23449, 2853, 43829, 50707}}, +{16295, 18, 48807, {1, 1, 1, 13, 5, 45, 87, 139, 339, 1021, 649, 2957, 7887, 11957, 11235, 11063, 77329, 93121}}, +{16296, 18, 48811, {1, 1, 1, 7, 11, 35, 73, 241, 11, 287, 551, 207, 4701, 2031, 27191, 44337, 35577, 226387}}, +{16297, 18, 48814, {1, 3, 5, 11, 19, 3, 41, 211, 29, 913, 1455, 2525, 3935, 5581, 8043, 12033, 97479, 73521}}, +{16298, 18, 48821, {1, 3, 5, 7, 15, 49, 53, 185, 229, 161, 121, 3407, 903, 7257, 19535, 42197, 3983, 222077}}, +{16299, 18, 48836, {1, 1, 5, 7, 17, 33, 61, 121, 343, 111, 151, 1147, 3743, 2423, 24151, 42307, 50711, 140317}}, +{16300, 18, 48846, {1, 3, 3, 7, 27, 1, 119, 209, 243, 185, 1253, 2307, 7659, 7839, 9697, 16799, 5189, 130005}}, +{16301, 18, 48848, {1, 3, 3, 1, 27, 21, 115, 175, 157, 735, 1233, 1133, 1763, 1125, 4667, 42569, 125185, 218417}}, +{16302, 18, 48854, {1, 3, 5, 9, 5, 37, 97, 165, 87, 447, 1491, 3141, 597, 10651, 9727, 65163, 2469, 141859}}, +{16303, 18, 48874, {1, 1, 5, 13, 11, 53, 111, 123, 423, 413, 1519, 3715, 6623, 15415, 24085, 20925, 1529, 85183}}, +{16304, 18, 48908, {1, 3, 7, 1, 31, 45, 93, 45, 363, 779, 443, 3687, 6051, 11683, 31733, 57251, 55087, 240877}}, +{16305, 18, 48929, {1, 1, 1, 15, 1, 17, 53, 237, 131, 673, 1919, 1531, 7455, 5043, 1709, 23375, 75657, 194393}}, +{16306, 18, 48941, {1, 3, 5, 9, 21, 3, 101, 141, 387, 887, 1329, 2627, 2865, 2685, 20273, 18901, 43805, 181049}}, +{16307, 18, 48954, {1, 3, 5, 5, 7, 49, 55, 243, 311, 653, 959, 3157, 4891, 8777, 14381, 28105, 119323, 181129}}, +{16308, 18, 48961, {1, 1, 1, 9, 17, 33, 97, 123, 71, 5, 793, 2829, 4385, 8577, 9927, 26213, 53287, 203555}}, +{16309, 18, 48962, {1, 1, 1, 9, 15, 61, 51, 31, 195, 1003, 1915, 2349, 5319, 13411, 15265, 36321, 76157, 200437}}, +{16310, 18, 48985, {1, 3, 1, 13, 19, 41, 11, 227, 447, 395, 1885, 2953, 3537, 3855, 21611, 14547, 106573, 233205}}, +{16311, 18, 49001, {1, 3, 1, 11, 1, 1, 7, 61, 69, 631, 1687, 1131, 6901, 5801, 14431, 17807, 35777, 253941}}, +{16312, 18, 49007, {1, 3, 5, 9, 15, 47, 71, 145, 419, 401, 1781, 2031, 3157, 14483, 2393, 4061, 122053, 81701}}, +{16313, 18, 49015, {1, 3, 7, 13, 23, 21, 67, 147, 137, 277, 259, 3119, 4785, 5349, 3193, 21805, 108265, 231111}}, +{16314, 18, 49035, {1, 1, 3, 9, 23, 63, 77, 153, 75, 643, 1341, 3607, 6001, 3387, 17485, 17893, 124699, 99515}}, +{16315, 18, 49062, {1, 1, 7, 11, 9, 51, 79, 255, 255, 723, 1797, 2805, 2505, 3437, 4835, 30731, 73741, 8051}}, +{16316, 18, 49066, {1, 1, 5, 7, 5, 19, 73, 75, 19, 889, 1443, 2263, 5773, 9997, 329, 46679, 82313, 130897}}, +{16317, 18, 49085, {1, 3, 3, 9, 7, 53, 69, 11, 287, 861, 1367, 1433, 2693, 16255, 6785, 24705, 77463, 231247}}, +{16318, 18, 49091, {1, 1, 3, 7, 21, 15, 115, 131, 169, 447, 1731, 2873, 119, 643, 31719, 22193, 17959, 150567}}, +{16319, 18, 49094, {1, 3, 3, 9, 23, 21, 7, 39, 185, 837, 379, 3687, 3751, 14801, 15231, 7239, 77521, 80135}}, +{16320, 18, 49127, {1, 1, 1, 1, 7, 33, 93, 247, 487, 873, 1951, 3273, 551, 3735, 29477, 62387, 30361, 145613}}, +{16321, 18, 49134, {1, 1, 3, 7, 5, 47, 17, 31, 93, 517, 1175, 1033, 7421, 75, 541, 1967, 13059, 104751}}, +{16322, 18, 49183, {1, 3, 5, 3, 19, 23, 123, 115, 99, 747, 655, 2885, 2991, 7497, 5989, 33419, 54363, 224947}}, +{16323, 18, 49221, {1, 3, 3, 1, 15, 9, 51, 3, 307, 879, 1065, 1835, 2267, 11299, 21995, 2997, 102207, 39}}, +{16324, 18, 49231, {1, 3, 5, 3, 9, 19, 19, 79, 499, 121, 951, 1151, 379, 5299, 13727, 49061, 32605, 208683}}, +{16325, 18, 49250, {1, 3, 7, 7, 23, 41, 71, 23, 493, 969, 271, 3729, 6199, 14693, 17625, 52509, 121257, 151175}}, +{16326, 18, 49252, {1, 1, 7, 15, 9, 51, 61, 9, 147, 527, 803, 3255, 723, 3241, 23961, 17497, 122569, 50863}}, +{16327, 18, 49270, {1, 3, 5, 1, 19, 19, 31, 31, 95, 667, 377, 1193, 6759, 8583, 29801, 7989, 113899, 43481}}, +{16328, 18, 49297, {1, 3, 7, 5, 17, 47, 1, 7, 305, 489, 1035, 1335, 5901, 9635, 10433, 4235, 108577, 52661}}, +{16329, 18, 49313, {1, 1, 7, 3, 15, 7, 105, 189, 429, 287, 679, 111, 2087, 8479, 3053, 21763, 65655, 16207}}, +{16330, 18, 49340, {1, 3, 5, 13, 19, 41, 45, 115, 311, 653, 1301, 3797, 6183, 7203, 9829, 13263, 71649, 255611}}, +{16331, 18, 49365, {1, 3, 1, 9, 21, 33, 19, 233, 83, 423, 1701, 347, 3999, 11885, 19699, 61931, 63895, 59615}}, +{16332, 18, 49379, {1, 1, 7, 7, 15, 19, 61, 43, 183, 223, 1135, 3099, 3137, 16181, 31019, 20151, 30169, 13125}}, +{16333, 18, 49386, {1, 1, 1, 11, 9, 11, 3, 157, 495, 207, 603, 1919, 3565, 7639, 4281, 49179, 2465, 224033}}, +{16334, 18, 49391, {1, 3, 1, 13, 13, 19, 127, 81, 475, 659, 1053, 3153, 5223, 12567, 30945, 47109, 98253, 41571}}, +{16335, 18, 49417, {1, 1, 5, 11, 19, 1, 9, 67, 501, 149, 1695, 1265, 6467, 5285, 29865, 46777, 97581, 209395}}, +{16336, 18, 49438, {1, 1, 1, 11, 21, 23, 123, 103, 419, 787, 111, 3327, 673, 3425, 8097, 2411, 107353, 121379}}, +{16337, 18, 49444, {1, 1, 3, 3, 17, 7, 87, 35, 501, 973, 351, 751, 4813, 12245, 3053, 38633, 44995, 37151}}, +{16338, 18, 49453, {1, 3, 5, 15, 7, 57, 99, 53, 3, 355, 153, 3897, 6923, 2075, 10821, 41819, 75665, 21237}}, +{16339, 18, 49454, {1, 3, 5, 9, 3, 29, 85, 115, 191, 977, 1067, 1539, 5287, 3589, 18017, 35571, 41633, 148565}}, +{16340, 18, 49480, {1, 1, 3, 9, 9, 57, 1, 63, 333, 107, 1173, 3377, 3599, 277, 20643, 19295, 91169, 168891}}, +{16341, 18, 49485, {1, 1, 5, 13, 21, 7, 55, 15, 79, 995, 1553, 949, 6357, 8137, 9539, 861, 95635, 63021}}, +{16342, 18, 49498, {1, 1, 5, 13, 31, 59, 11, 55, 159, 449, 307, 2725, 2305, 8259, 13823, 51225, 44775, 54253}}, +{16343, 18, 49513, {1, 3, 3, 15, 19, 61, 105, 19, 211, 693, 835, 3607, 3703, 14007, 24597, 47109, 49855, 166115}}, +{16344, 18, 49527, {1, 3, 1, 9, 27, 33, 81, 229, 445, 171, 247, 2019, 5227, 8759, 30155, 1851, 26909, 47145}}, +{16345, 18, 49531, {1, 1, 3, 5, 23, 1, 57, 49, 177, 451, 1283, 3859, 4719, 13507, 29439, 9155, 129585, 94713}}, +{16346, 18, 49564, {1, 3, 3, 5, 1, 9, 37, 23, 423, 611, 113, 119, 4307, 11747, 93, 51213, 5479, 172061}}, +{16347, 18, 49588, {1, 3, 3, 15, 5, 35, 9, 43, 423, 877, 1563, 3411, 4233, 6961, 22421, 7347, 39553, 199745}}, +{16348, 18, 49609, {1, 3, 1, 9, 15, 35, 85, 57, 151, 323, 1627, 27, 3603, 11475, 6561, 6091, 72099, 185321}}, +{16349, 18, 49617, {1, 1, 3, 15, 17, 21, 3, 119, 455, 147, 1077, 3955, 1355, 3083, 28217, 50745, 114445, 46563}}, +{16350, 18, 49645, {1, 1, 5, 3, 13, 11, 35, 185, 357, 447, 649, 139, 2847, 12011, 7753, 671, 113693, 236281}}, +{16351, 18, 49646, {1, 3, 5, 1, 19, 27, 117, 195, 67, 259, 1073, 81, 5527, 6829, 26675, 60029, 8159, 13553}}, +{16352, 18, 49654, {1, 3, 3, 7, 27, 63, 115, 191, 431, 191, 1547, 2261, 6527, 13459, 12773, 37485, 114847, 61709}}, +{16353, 18, 49697, {1, 1, 3, 1, 29, 63, 47, 77, 415, 191, 325, 2487, 7457, 13721, 1573, 15037, 31941, 226651}}, +{16354, 18, 49718, {1, 1, 5, 11, 29, 59, 49, 209, 195, 901, 691, 3167, 7471, 11609, 30135, 22067, 71395, 248151}}, +{16355, 18, 49741, {1, 3, 7, 11, 7, 43, 55, 69, 289, 735, 1479, 139, 1395, 6463, 19827, 52151, 18963, 103367}}, +{16356, 18, 49754, {1, 3, 5, 5, 27, 45, 77, 79, 89, 79, 913, 1437, 3337, 8861, 5477, 46195, 105869, 242599}}, +{16357, 18, 49756, {1, 3, 5, 3, 3, 27, 103, 207, 233, 995, 1173, 1143, 3517, 3207, 8373, 45145, 79687, 150107}}, +{16358, 18, 49833, {1, 3, 7, 3, 7, 37, 1, 137, 45, 479, 861, 3863, 4249, 3075, 23639, 12531, 118473, 255805}}, +{16359, 18, 49834, {1, 1, 1, 9, 7, 23, 125, 57, 347, 215, 1749, 3029, 97, 14715, 16213, 29291, 104725, 92043}}, +{16360, 18, 49879, {1, 3, 3, 15, 31, 39, 111, 97, 369, 675, 1471, 3889, 6437, 1499, 13325, 46141, 121087, 202493}}, +{16361, 18, 49942, {1, 1, 1, 15, 15, 21, 3, 167, 251, 793, 1291, 427, 6407, 15521, 15441, 20071, 54513, 200485}}, +{16362, 18, 49946, {1, 1, 7, 11, 27, 47, 123, 195, 241, 385, 609, 2323, 1221, 815, 279, 28553, 17663, 180977}}, +{16363, 18, 49982, {1, 1, 3, 15, 23, 53, 21, 19, 329, 903, 561, 1539, 2829, 13037, 29867, 27825, 84005, 14853}}, +{16364, 18, 49994, {1, 1, 5, 1, 21, 27, 103, 99, 31, 829, 515, 3949, 3635, 935, 2127, 56659, 123477, 47003}}, +{16365, 18, 50001, {1, 3, 1, 11, 17, 63, 51, 15, 319, 539, 55, 2561, 1109, 16115, 23387, 20051, 120867, 4019}}, +{16366, 18, 50023, {1, 3, 3, 7, 31, 11, 45, 251, 209, 21, 553, 887, 393, 15183, 14735, 13163, 123681, 15013}}, +{16367, 18, 50047, {1, 3, 1, 7, 21, 41, 105, 39, 213, 477, 985, 2375, 937, 7099, 8867, 36519, 60503, 143225}}, +{16368, 18, 50120, {1, 3, 1, 1, 19, 55, 73, 171, 379, 271, 791, 2477, 5381, 1703, 3805, 37227, 55553, 34549}}, +{16369, 18, 50133, {1, 1, 5, 5, 29, 51, 127, 111, 209, 663, 975, 2293, 8155, 11263, 7891, 15463, 74889, 227403}}, +{16370, 18, 50137, {1, 3, 5, 1, 15, 1, 115, 221, 23, 247, 1597, 87, 7513, 3329, 14491, 8961, 78147, 89499}}, +{16371, 18, 50140, {1, 3, 5, 15, 25, 23, 99, 85, 189, 487, 1559, 427, 6179, 5291, 27279, 65507, 77347, 177073}}, +{16372, 18, 50156, {1, 3, 7, 1, 23, 35, 7, 89, 455, 659, 2039, 3115, 4057, 139, 1269, 62319, 13629, 201571}}, +{16373, 18, 50199, {1, 1, 1, 5, 9, 47, 55, 171, 213, 813, 135, 1545, 1421, 4055, 26697, 18889, 57653, 201369}}, +{16374, 18, 50205, {1, 3, 1, 11, 9, 45, 5, 69, 261, 907, 1229, 1371, 1867, 1771, 17309, 41759, 119129, 43521}}, +{16375, 18, 50215, {1, 1, 7, 5, 11, 27, 9, 237, 405, 53, 1359, 3665, 169, 3547, 23331, 14353, 106627, 219711}}, +{16376, 18, 50216, {1, 3, 3, 5, 17, 23, 9, 41, 81, 601, 1447, 3225, 6721, 161, 16109, 54331, 111273, 81061}}, +{16377, 18, 50224, {1, 1, 5, 7, 7, 37, 71, 13, 505, 671, 425, 2771, 1131, 1259, 13715, 45779, 114839, 217499}}, +{16378, 18, 50229, {1, 1, 1, 5, 9, 51, 85, 223, 117, 403, 1117, 723, 2465, 11947, 7495, 62991, 17825, 169147}}, +{16379, 18, 50233, {1, 1, 3, 13, 5, 57, 47, 35, 313, 901, 365, 1265, 137, 6335, 31419, 38497, 93285, 177187}}, +{16380, 18, 50251, {1, 3, 5, 5, 7, 9, 21, 109, 47, 557, 1449, 3459, 5175, 5135, 727, 55425, 60593, 86571}}, +{16381, 18, 50281, {1, 3, 7, 5, 1, 17, 119, 239, 347, 75, 1345, 2765, 1491, 16297, 25233, 60401, 85433, 59287}}, +{16382, 18, 50326, {1, 1, 5, 5, 19, 57, 41, 53, 161, 475, 1791, 3617, 1651, 15227, 30357, 63547, 69937, 246473}}, +{16383, 18, 50332, {1, 3, 7, 11, 11, 43, 79, 79, 195, 437, 39, 1259, 6041, 14989, 6615, 58747, 43583, 246979}}, +{16384, 18, 50348, {1, 1, 7, 9, 11, 13, 49, 133, 365, 931, 1089, 713, 5997, 8759, 5789, 61329, 22639, 149845}}, +{16385, 18, 50359, {1, 3, 7, 13, 9, 3, 11, 253, 339, 883, 1933, 443, 4265, 14165, 15845, 12625, 1453, 70961}}, +{16386, 18, 50374, {1, 1, 7, 13, 21, 35, 113, 83, 473, 719, 1601, 1727, 3715, 631, 28075, 17725, 11393, 116883}}, +{16387, 18, 50404, {1, 3, 7, 7, 7, 13, 117, 83, 365, 529, 1297, 3903, 2633, 9617, 15819, 38137, 49065, 189445}}, +{16388, 18, 50443, {1, 1, 1, 7, 11, 41, 107, 33, 381, 395, 1993, 2819, 3301, 7543, 6787, 27437, 113681, 132403}}, +{16389, 18, 50488, {1, 1, 1, 1, 3, 59, 91, 235, 67, 987, 1587, 1119, 5851, 13201, 1125, 49709, 381, 183295}}, +{16390, 18, 50493, {1, 3, 5, 9, 3, 33, 45, 187, 455, 151, 823, 565, 5725, 1927, 25387, 61785, 130271, 134083}}, +{16391, 18, 50505, {1, 1, 7, 5, 15, 25, 63, 231, 133, 401, 307, 2961, 4249, 2639, 10207, 8349, 8203, 72783}}, +{16392, 18, 50511, {1, 1, 5, 13, 19, 27, 43, 153, 165, 815, 1385, 3041, 853, 7683, 1035, 13255, 69779, 128765}}, +{16393, 18, 50525, {1, 1, 1, 3, 31, 61, 97, 15, 327, 717, 841, 643, 4781, 11609, 14181, 14625, 75369, 251015}}, +{16394, 18, 50542, {1, 1, 5, 11, 17, 33, 9, 45, 111, 91, 1923, 967, 5649, 13647, 30497, 2925, 18395, 255089}}, +{16395, 18, 50550, {1, 3, 3, 1, 3, 55, 33, 29, 101, 211, 1731, 2351, 7389, 14935, 29703, 60031, 122305, 174323}}, +{16396, 18, 50560, {1, 1, 1, 3, 13, 23, 79, 117, 367, 267, 143, 1537, 3159, 2303, 9653, 12029, 2841, 226971}}, +{16397, 18, 50570, {1, 1, 1, 13, 19, 57, 103, 159, 315, 895, 1879, 2153, 1901, 7635, 14145, 56495, 6203, 151203}}, +{16398, 18, 50587, {1, 3, 3, 11, 31, 11, 75, 5, 419, 963, 1809, 3751, 7291, 12697, 2841, 17965, 91707, 80361}}, +{16399, 18, 50593, {1, 1, 7, 7, 5, 23, 29, 199, 413, 501, 19, 697, 6523, 3997, 4945, 59817, 127613, 220399}}, +{16400, 18, 50611, {1, 1, 7, 5, 1, 17, 51, 9, 183, 689, 325, 2391, 2095, 1907, 10325, 51045, 20097, 33719}}, +{16401, 18, 50649, {1, 3, 5, 11, 3, 33, 45, 221, 325, 7, 253, 1323, 4959, 14067, 10035, 39463, 123171, 194581}}, +{16402, 18, 50656, {1, 1, 3, 3, 15, 45, 25, 57, 357, 907, 1249, 3279, 2631, 9209, 7857, 58233, 29049, 173859}}, +{16403, 18, 50685, {1, 3, 3, 9, 29, 39, 105, 55, 295, 583, 825, 1777, 2403, 9489, 9079, 24855, 18155, 252733}}, +{16404, 18, 50686, {1, 1, 5, 15, 5, 63, 77, 215, 287, 743, 1937, 2103, 2673, 15487, 27855, 46683, 120215, 89721}}, +{16405, 18, 50692, {1, 3, 3, 5, 27, 1, 45, 19, 309, 679, 1405, 415, 6107, 13567, 5803, 61941, 130285, 51847}}, +{16406, 18, 50702, {1, 3, 1, 15, 23, 49, 47, 113, 401, 825, 1299, 2711, 6509, 12225, 16147, 20615, 121305, 121937}}, +{16407, 18, 50704, {1, 3, 5, 5, 31, 41, 31, 57, 385, 919, 593, 1371, 6773, 12099, 23767, 17663, 128321, 188921}}, +{16408, 18, 50709, {1, 1, 3, 15, 5, 41, 17, 7, 479, 143, 549, 1827, 8107, 14775, 28817, 12297, 119893, 191297}}, +{16409, 18, 50720, {1, 3, 7, 5, 29, 61, 27, 123, 269, 223, 121, 1745, 3513, 1989, 9759, 8129, 78933, 40085}}, +{16410, 18, 50726, {1, 1, 5, 13, 23, 49, 125, 225, 479, 123, 41, 2359, 4443, 4729, 31717, 3139, 3869, 118803}}, +{16411, 18, 50729, {1, 3, 3, 3, 15, 7, 7, 87, 415, 95, 1799, 2009, 4711, 15635, 21997, 47201, 16815, 99815}}, +{16412, 18, 50737, {1, 3, 3, 1, 31, 57, 73, 31, 423, 363, 1469, 2411, 6449, 15275, 14189, 51079, 130201, 130181}}, +{16413, 18, 50758, {1, 1, 5, 3, 3, 31, 107, 11, 355, 647, 1463, 3019, 3263, 13727, 10461, 26577, 4439, 132737}}, +{16414, 18, 50772, {1, 1, 1, 7, 13, 55, 31, 227, 71, 563, 1467, 3733, 725, 3443, 19279, 4111, 35749, 62275}}, +{16415, 18, 50849, {1, 3, 3, 15, 9, 17, 61, 95, 43, 583, 1381, 1285, 2655, 9213, 27551, 16237, 29569, 216879}}, +{16416, 18, 50850, {1, 1, 1, 3, 29, 3, 87, 193, 53, 599, 1581, 907, 4381, 8697, 27299, 40259, 122653, 43559}}, +{16417, 18, 50881, {1, 3, 5, 3, 15, 49, 21, 27, 35, 353, 1281, 3253, 7339, 9333, 25253, 35035, 30379, 87387}}, +{16418, 18, 50901, {1, 1, 1, 15, 7, 27, 69, 41, 45, 729, 1005, 3495, 1445, 7421, 27443, 29609, 70105, 93883}}, +{16419, 18, 50906, {1, 1, 7, 7, 1, 41, 15, 149, 107, 121, 639, 3703, 3397, 1727, 14165, 2845, 78531, 175767}}, +{16420, 18, 50915, {1, 3, 7, 15, 27, 17, 121, 175, 399, 551, 1889, 2283, 4343, 3633, 653, 3267, 101901, 162157}}, +{16421, 18, 50961, {1, 3, 3, 15, 23, 41, 97, 251, 435, 955, 69, 509, 8001, 11783, 7397, 7587, 127089, 15391}}, +{16422, 18, 50992, {1, 3, 5, 5, 25, 25, 63, 25, 203, 655, 2039, 2545, 5405, 1377, 30543, 65531, 122825, 6853}}, +{16423, 18, 50997, {1, 1, 7, 9, 9, 43, 73, 195, 465, 497, 1085, 3821, 7115, 7513, 21913, 32499, 96467, 181905}}, +{16424, 18, 51001, {1, 1, 3, 7, 29, 29, 63, 131, 409, 423, 687, 2549, 7367, 6867, 2685, 29137, 61845, 194409}}, +{16425, 18, 51004, {1, 3, 7, 7, 3, 23, 47, 31, 121, 629, 1771, 2387, 861, 2269, 29565, 19599, 18051, 121531}}, +{16426, 18, 51033, {1, 1, 1, 3, 21, 13, 109, 105, 163, 433, 521, 3467, 6225, 3705, 30605, 3265, 119313, 2535}}, +{16427, 18, 51045, {1, 3, 5, 3, 25, 25, 89, 177, 415, 67, 361, 3317, 6411, 4857, 23249, 41959, 59931, 35797}}, +{16428, 18, 51052, {1, 3, 7, 15, 5, 37, 37, 65, 71, 13, 1621, 2217, 3723, 2113, 23755, 46521, 48091, 44307}}, +{16429, 18, 51064, {1, 1, 5, 13, 5, 5, 63, 75, 61, 443, 1663, 3239, 7717, 2623, 5723, 42673, 8519, 58773}}, +{16430, 18, 51085, {1, 1, 3, 1, 29, 13, 35, 61, 391, 517, 1007, 17, 2519, 7121, 20095, 33449, 21397, 103787}}, +{16431, 18, 51127, {1, 1, 5, 1, 9, 45, 49, 151, 39, 347, 1821, 2687, 1551, 12117, 29429, 40963, 77795, 20941}}, +{16432, 18, 51139, {1, 1, 5, 3, 13, 49, 107, 105, 201, 601, 1335, 2389, 6837, 11123, 22985, 62705, 59057, 128333}}, +{16433, 18, 51153, {1, 3, 3, 13, 5, 3, 21, 103, 481, 621, 2037, 2963, 425, 4685, 27475, 24363, 116419, 171743}}, +{16434, 18, 51181, {1, 3, 3, 5, 27, 27, 5, 91, 245, 421, 795, 1869, 6455, 4463, 23467, 24039, 69681, 262127}}, +{16435, 18, 51182, {1, 3, 1, 11, 11, 5, 31, 253, 469, 593, 877, 2041, 4615, 1541, 11823, 58525, 128689, 95985}}, +{16436, 18, 51194, {1, 3, 5, 13, 31, 35, 115, 73, 97, 213, 1499, 1371, 4239, 7897, 3987, 4833, 115043, 222743}}, +{16437, 18, 51196, {1, 3, 3, 5, 31, 15, 17, 233, 137, 521, 1721, 1913, 1881, 13457, 10733, 61527, 19825, 192601}}, +{16438, 18, 51200, {1, 3, 1, 3, 11, 21, 81, 77, 377, 915, 321, 3925, 867, 5491, 4707, 37307, 52141, 29155}}, +{16439, 18, 51239, {1, 1, 5, 1, 13, 51, 97, 161, 295, 159, 1717, 3817, 4687, 1907, 2655, 60577, 73867, 161851}}, +{16440, 18, 51240, {1, 1, 3, 13, 21, 31, 33, 145, 375, 377, 1429, 1981, 4851, 9047, 2685, 49037, 67399, 124243}}, +{16441, 18, 51254, {1, 1, 7, 13, 1, 55, 65, 147, 471, 277, 1585, 3949, 1885, 1635, 15687, 46367, 120931, 192097}}, +{16442, 18, 51260, {1, 1, 7, 9, 13, 27, 33, 41, 377, 863, 1297, 181, 2685, 11285, 3961, 63201, 59757, 70231}}, +{16443, 18, 51342, {1, 1, 3, 15, 29, 3, 79, 25, 147, 683, 1563, 805, 5891, 3355, 20113, 48261, 38195, 14589}}, +{16444, 18, 51370, {1, 1, 7, 11, 9, 15, 21, 33, 47, 923, 1291, 4001, 203, 305, 21575, 41915, 74769, 114921}}, +{16445, 18, 51372, {1, 3, 7, 11, 15, 1, 75, 173, 473, 493, 291, 811, 931, 10731, 9855, 57891, 81575, 250565}}, +{16446, 18, 51377, {1, 3, 3, 3, 31, 31, 71, 141, 389, 661, 71, 3245, 6827, 9219, 26607, 50511, 94783, 130785}}, +{16447, 18, 51398, {1, 1, 7, 3, 9, 15, 67, 141, 293, 779, 3, 3311, 7063, 13709, 29715, 55227, 11043, 150343}}, +{16448, 18, 51402, {1, 3, 3, 3, 21, 9, 45, 111, 207, 715, 345, 1345, 3079, 3851, 23709, 33919, 108213, 25353}}, +{16449, 18, 51407, {1, 3, 5, 13, 7, 3, 35, 95, 397, 397, 1159, 2759, 5233, 16237, 12469, 29543, 39133, 64429}}, +{16450, 18, 51410, {1, 1, 5, 13, 19, 35, 9, 7, 153, 843, 2025, 1379, 3361, 15889, 7411, 26399, 106295, 19851}}, +{16451, 18, 51412, {1, 3, 1, 1, 21, 15, 71, 143, 279, 431, 487, 967, 4445, 11969, 16671, 48891, 59605, 230607}}, +{16452, 18, 51419, {1, 3, 5, 1, 25, 63, 23, 143, 221, 805, 377, 1441, 1971, 1985, 10055, 35991, 115873, 223455}}, +{16453, 18, 51428, {1, 3, 1, 7, 21, 57, 1, 185, 117, 75, 1623, 3805, 2385, 10245, 29009, 59149, 130219, 114763}}, +{16454, 18, 51431, {1, 3, 1, 13, 19, 13, 105, 241, 47, 597, 1725, 2579, 3785, 1667, 12427, 62623, 60883, 189977}}, +{16455, 18, 51460, {1, 3, 5, 13, 1, 55, 59, 133, 263, 415, 1013, 139, 3037, 13661, 15303, 27279, 84095, 184807}}, +{16456, 18, 51475, {1, 3, 1, 11, 7, 45, 3, 179, 315, 639, 875, 3299, 5221, 8463, 17507, 59673, 73865, 98867}}, +{16457, 18, 51477, {1, 3, 7, 7, 3, 3, 53, 233, 219, 519, 585, 3029, 3623, 9559, 2251, 43735, 121513, 208007}}, +{16458, 18, 51478, {1, 3, 1, 3, 17, 47, 47, 145, 445, 541, 163, 2653, 165, 7213, 3311, 57335, 43967, 191841}}, +{16459, 18, 51482, {1, 3, 5, 5, 7, 47, 39, 119, 13, 727, 887, 3743, 3807, 15267, 3977, 52833, 14851, 61851}}, +{16460, 18, 51511, {1, 1, 3, 5, 9, 9, 107, 119, 501, 723, 1965, 3093, 6947, 1783, 11287, 24243, 14005, 106677}}, +{16461, 18, 51518, {1, 3, 3, 11, 11, 29, 85, 243, 359, 195, 221, 1767, 6969, 15275, 20853, 26921, 40903, 29849}}, +{16462, 18, 51568, {1, 3, 1, 5, 31, 3, 11, 247, 371, 339, 1263, 119, 791, 7425, 18879, 11333, 34359, 178929}}, +{16463, 18, 51607, {1, 1, 3, 7, 23, 15, 121, 203, 441, 499, 779, 1971, 339, 8737, 6859, 32417, 97073, 256143}}, +{16464, 18, 51618, {1, 1, 5, 11, 3, 23, 25, 51, 407, 677, 97, 281, 427, 3671, 7939, 54485, 3967, 210199}}, +{16465, 18, 51630, {1, 1, 5, 9, 5, 45, 23, 171, 255, 967, 313, 3881, 6039, 10545, 3591, 51985, 37145, 99291}}, +{16466, 18, 51655, {1, 1, 5, 7, 3, 13, 55, 147, 83, 369, 1707, 1919, 491, 11507, 29559, 29169, 65897, 80587}}, +{16467, 18, 51673, {1, 1, 3, 13, 31, 41, 41, 237, 245, 109, 969, 1797, 8169, 6351, 3657, 9655, 109201, 245117}}, +{16468, 18, 51683, {1, 3, 7, 5, 17, 23, 17, 219, 473, 1, 865, 1949, 7589, 10107, 3035, 19903, 79579, 138695}}, +{16469, 18, 51709, {1, 3, 1, 15, 13, 57, 109, 117, 277, 773, 31, 3807, 7615, 2453, 22655, 51513, 108367, 248473}}, +{16470, 18, 51716, {1, 1, 7, 11, 17, 59, 27, 167, 63, 931, 13, 3721, 1789, 7621, 31093, 27541, 37283, 35193}}, +{16471, 18, 51774, {1, 3, 3, 11, 13, 9, 7, 85, 45, 151, 1865, 4049, 4433, 9517, 231, 30733, 93701, 126585}}, +{16472, 18, 51829, {1, 3, 1, 13, 21, 33, 19, 87, 77, 425, 351, 1163, 7453, 12567, 24615, 35563, 127643, 28625}}, +{16473, 18, 51830, {1, 1, 3, 11, 7, 35, 27, 47, 465, 595, 985, 573, 2541, 7841, 14749, 43761, 26699, 135895}}, +{16474, 18, 51839, {1, 1, 1, 7, 25, 51, 93, 237, 355, 575, 1, 443, 5697, 1997, 28801, 11621, 62531, 88449}}, +{16475, 18, 51849, {1, 1, 1, 9, 23, 35, 23, 91, 161, 601, 1401, 2187, 6283, 10711, 21277, 47771, 12589, 176625}}, +{16476, 18, 51869, {1, 3, 3, 5, 13, 23, 33, 65, 213, 835, 539, 2487, 273, 6113, 18327, 52493, 17571, 160909}}, +{16477, 18, 51886, {1, 3, 1, 5, 25, 9, 117, 201, 457, 331, 1455, 439, 4891, 5515, 21701, 9343, 29085, 120299}}, +{16478, 18, 51905, {1, 1, 1, 5, 29, 7, 43, 125, 155, 43, 1949, 2901, 7293, 13683, 18289, 16873, 27899, 168631}}, +{16479, 18, 51906, {1, 1, 7, 3, 29, 33, 53, 137, 301, 27, 1101, 837, 5843, 13167, 6073, 49083, 120031, 45065}}, +{16480, 18, 51915, {1, 3, 5, 1, 31, 47, 127, 185, 279, 603, 1699, 1693, 3263, 9055, 3525, 46065, 79305, 19949}}, +{16481, 18, 51948, {1, 3, 7, 9, 17, 47, 25, 191, 369, 877, 1477, 3041, 5123, 1393, 5061, 1755, 61051, 55299}}, +{16482, 18, 51988, {1, 1, 5, 13, 13, 7, 89, 141, 251, 321, 1515, 2677, 5103, 12901, 29875, 165, 15073, 47795}}, +{16483, 18, 51998, {1, 3, 1, 7, 1, 37, 55, 173, 191, 981, 685, 4003, 6319, 3037, 30637, 11955, 81015, 89239}}, +{16484, 18, 52004, {1, 3, 5, 5, 1, 5, 55, 251, 229, 153, 425, 2793, 6779, 15797, 10087, 7573, 121789, 115479}}, +{16485, 18, 52026, {1, 3, 7, 13, 23, 39, 23, 21, 55, 543, 1539, 3055, 7825, 2865, 8967, 56719, 117219, 142137}}, +{16486, 18, 52036, {1, 1, 5, 13, 1, 29, 81, 11, 509, 61, 1681, 1911, 829, 10583, 7105, 42047, 128579, 48891}}, +{16487, 18, 52082, {1, 1, 3, 13, 7, 27, 81, 89, 129, 239, 309, 1353, 5265, 12255, 29391, 1659, 114857, 43551}}, +{16488, 18, 52127, {1, 1, 7, 13, 23, 15, 9, 93, 35, 839, 549, 1793, 4693, 13295, 10603, 18179, 33141, 239555}}, +{16489, 18, 52145, {1, 3, 1, 7, 17, 5, 11, 193, 143, 579, 1199, 1239, 4503, 15855, 23345, 34789, 59427, 235319}}, +{16490, 18, 52157, {1, 3, 5, 3, 25, 63, 11, 203, 415, 135, 261, 1843, 3409, 4605, 15213, 28537, 75787, 100007}}, +{16491, 18, 52165, {1, 1, 1, 5, 3, 37, 29, 157, 213, 235, 959, 1087, 2843, 10265, 28233, 14281, 25867, 204031}}, +{16492, 18, 52193, {1, 3, 3, 7, 19, 49, 55, 111, 253, 823, 533, 941, 2509, 5595, 9267, 28457, 84301, 165385}}, +{16493, 18, 52211, {1, 3, 5, 9, 5, 59, 13, 85, 339, 889, 597, 3517, 7001, 5525, 25451, 13855, 19033, 182677}}, +{16494, 18, 52213, {1, 3, 1, 15, 23, 29, 31, 105, 353, 825, 1977, 2013, 131, 1969, 427, 16465, 90817, 257931}}, +{16495, 18, 52218, {1, 3, 1, 3, 29, 9, 109, 243, 321, 15, 1479, 787, 4667, 13925, 7347, 7977, 105585, 143959}}, +{16496, 18, 52220, {1, 1, 7, 15, 5, 45, 11, 95, 215, 719, 827, 77, 7263, 5705, 26971, 26845, 82127, 2849}}, +{16497, 18, 52238, {1, 1, 7, 9, 5, 43, 103, 133, 203, 127, 2021, 3609, 6971, 13447, 27089, 62287, 104391, 147901}}, +{16498, 18, 52240, {1, 3, 1, 3, 3, 41, 61, 101, 381, 985, 1795, 2465, 2899, 13517, 23953, 38831, 43569, 128643}}, +{16499, 18, 52243, {1, 3, 5, 5, 9, 49, 13, 7, 215, 85, 1203, 647, 6627, 1861, 17901, 40203, 13007, 84975}}, +{16500, 18, 52250, {1, 3, 5, 15, 31, 13, 55, 89, 397, 641, 1599, 3379, 3401, 4173, 5757, 42945, 59269, 106891}}, +{16501, 18, 52279, {1, 1, 5, 13, 25, 17, 45, 27, 151, 725, 819, 581, 3675, 3983, 9499, 47511, 128039, 56825}}, +{16502, 18, 52285, {1, 1, 5, 1, 7, 11, 65, 63, 301, 927, 409, 3729, 7227, 12849, 17855, 36527, 2907, 66819}}, +{16503, 18, 52306, {1, 3, 3, 3, 29, 35, 39, 1, 349, 429, 805, 3639, 3909, 4211, 10393, 36223, 72543, 136375}}, +{16504, 18, 52370, {1, 1, 1, 9, 23, 27, 25, 213, 195, 455, 883, 3357, 7277, 9061, 14103, 6005, 35031, 72703}}, +{16505, 18, 52432, {1, 1, 3, 3, 11, 17, 19, 181, 25, 775, 897, 3809, 2031, 13017, 7505, 37469, 107335, 174309}}, +{16506, 18, 52457, {1, 1, 7, 13, 7, 1, 57, 27, 159, 465, 533, 3409, 3863, 14001, 8011, 25873, 14971, 67243}}, +{16507, 18, 52466, {1, 1, 3, 11, 19, 5, 11, 19, 75, 489, 1879, 1539, 6563, 4729, 15605, 35203, 47993, 110139}}, +{16508, 18, 52514, {1, 3, 5, 9, 23, 17, 67, 89, 379, 849, 1667, 955, 1537, 11781, 9791, 46959, 79481, 237335}}, +{16509, 18, 52557, {1, 1, 7, 9, 3, 31, 127, 145, 29, 35, 463, 4009, 4427, 16215, 12093, 50085, 51259, 45091}}, +{16510, 18, 52560, {1, 1, 5, 9, 25, 3, 1, 131, 221, 951, 117, 3227, 797, 7617, 13243, 50139, 26737, 105875}}, +{16511, 18, 52585, {1, 1, 5, 3, 11, 5, 7, 155, 211, 865, 27, 3943, 7923, 9973, 23233, 37399, 89951, 106555}}, +{16512, 18, 52586, {1, 1, 3, 13, 21, 61, 77, 121, 227, 527, 1641, 3535, 3801, 7221, 6423, 9179, 114935, 33373}}, +{16513, 18, 52603, {1, 3, 7, 5, 31, 7, 123, 159, 367, 369, 1905, 1689, 6773, 675, 30289, 54149, 71469, 232835}}, +{16514, 18, 52650, {1, 1, 1, 13, 9, 23, 83, 237, 251, 941, 781, 1489, 6037, 6001, 15909, 50527, 60143, 238499}}, +{16515, 18, 52672, {1, 3, 1, 11, 5, 7, 103, 43, 413, 247, 535, 2107, 1801, 16381, 32529, 2355, 39143, 71281}}, +{16516, 18, 52681, {1, 1, 7, 5, 5, 31, 19, 11, 191, 643, 923, 1661, 2215, 11817, 23937, 62907, 128301, 21459}}, +{16517, 18, 52692, {1, 3, 7, 15, 1, 51, 123, 61, 99, 751, 1819, 1191, 3865, 8765, 7131, 33965, 55697, 87059}}, +{16518, 18, 52735, {1, 1, 5, 13, 5, 57, 41, 103, 135, 207, 517, 3995, 2537, 15705, 9123, 26193, 30653, 190549}}, +{16519, 18, 52760, {1, 1, 3, 1, 23, 5, 109, 209, 407, 143, 943, 2325, 8087, 559, 23675, 31815, 43805, 67497}}, +{16520, 18, 52772, {1, 1, 5, 9, 25, 33, 13, 21, 93, 357, 1551, 739, 5595, 16285, 30761, 54075, 75505, 177333}}, +{16521, 18, 52781, {1, 3, 5, 11, 17, 59, 31, 249, 95, 561, 1849, 4061, 5577, 2607, 30083, 59033, 56697, 89761}}, +{16522, 18, 52793, {1, 1, 3, 13, 27, 57, 9, 17, 323, 813, 1197, 2775, 3443, 9523, 24509, 12129, 89697, 169043}}, +{16523, 18, 52796, {1, 3, 5, 13, 17, 51, 91, 1, 105, 345, 829, 1365, 2755, 7197, 26655, 1303, 52223, 133893}}, +{16524, 18, 52807, {1, 1, 7, 1, 31, 3, 51, 21, 327, 851, 153, 3329, 3393, 8489, 5879, 25035, 124403, 172657}}, +{16525, 18, 52821, {1, 1, 1, 5, 3, 21, 61, 29, 99, 343, 621, 3163, 3763, 9347, 7691, 34667, 24555, 125819}}, +{16526, 18, 52849, {1, 1, 1, 1, 3, 17, 83, 191, 83, 315, 1091, 589, 5081, 4611, 15521, 25791, 9103, 13741}}, +{16527, 18, 52866, {1, 3, 5, 3, 7, 53, 9, 227, 399, 857, 673, 3027, 5045, 5573, 7467, 4813, 99659, 142845}}, +{16528, 18, 52868, {1, 1, 5, 11, 23, 37, 71, 151, 279, 879, 601, 2391, 7091, 12669, 10203, 11747, 9613, 248261}}, +{16529, 18, 52872, {1, 1, 3, 3, 29, 25, 33, 25, 1, 683, 1475, 457, 3641, 14219, 20105, 21449, 6903, 43819}}, +{16530, 18, 52875, {1, 1, 7, 7, 5, 1, 73, 79, 357, 971, 699, 1105, 1683, 1687, 32677, 62467, 47671, 88149}}, +{16531, 18, 52886, {1, 3, 1, 15, 23, 13, 93, 75, 307, 81, 1607, 1333, 6969, 7747, 27135, 58941, 26355, 5565}}, +{16532, 18, 52890, {1, 1, 7, 3, 27, 35, 85, 195, 421, 999, 1721, 2029, 283, 13995, 21649, 7519, 73357, 193171}}, +{16533, 18, 52896, {1, 3, 7, 15, 17, 63, 21, 187, 475, 671, 1681, 2731, 8169, 3327, 19789, 53295, 43219, 6949}}, +{16534, 18, 52925, {1, 1, 7, 13, 9, 33, 47, 115, 295, 123, 1293, 1627, 4261, 4503, 15925, 16521, 81759, 247089}}, +{16535, 18, 52931, {1, 3, 1, 13, 11, 15, 83, 129, 409, 465, 873, 1333, 7939, 973, 2753, 33727, 128975, 43333}}, +{16536, 18, 52937, {1, 3, 3, 3, 27, 59, 1, 137, 145, 29, 1189, 2615, 3249, 11197, 17165, 32313, 14065, 44199}}, +{16537, 18, 52938, {1, 3, 3, 11, 17, 49, 107, 111, 45, 963, 1129, 1775, 7671, 1495, 14531, 49743, 63321, 159841}}, +{16538, 18, 52952, {1, 1, 5, 9, 5, 11, 79, 99, 155, 347, 1777, 3793, 1765, 2319, 3135, 30237, 100845, 52689}}, +{16539, 18, 52979, {1, 3, 7, 13, 21, 57, 71, 207, 149, 161, 265, 991, 6967, 8905, 21581, 13921, 79201, 95667}}, +{16540, 18, 53013, {1, 3, 5, 15, 13, 53, 95, 81, 443, 161, 1071, 2749, 6637, 837, 15015, 62397, 33295, 112005}}, +{16541, 18, 53023, {1, 3, 1, 1, 31, 25, 37, 111, 79, 293, 249, 1523, 1509, 1993, 17167, 62939, 118281, 62699}}, +{16542, 18, 53027, {1, 3, 7, 7, 5, 33, 61, 179, 265, 405, 287, 1899, 437, 1609, 19617, 41093, 36341, 176593}}, +{16543, 18, 53033, {1, 1, 5, 3, 9, 33, 97, 45, 23, 807, 1575, 627, 7465, 4805, 11191, 35439, 69433, 47275}}, +{16544, 18, 53039, {1, 1, 1, 5, 1, 51, 51, 247, 453, 449, 1487, 141, 2501, 8039, 14749, 63733, 91963, 232951}}, +{16545, 18, 53041, {1, 3, 3, 13, 15, 7, 81, 211, 445, 15, 899, 835, 5163, 3403, 7367, 29963, 80413, 87209}}, +{16546, 18, 53048, {1, 3, 1, 11, 25, 43, 113, 139, 381, 391, 485, 1503, 4195, 10109, 13771, 35865, 50909, 224887}}, +{16547, 18, 53073, {1, 1, 7, 9, 9, 51, 21, 85, 137, 765, 951, 2453, 227, 9177, 1457, 47937, 84203, 118987}}, +{16548, 18, 53095, {1, 3, 5, 9, 1, 1, 21, 41, 133, 317, 519, 2249, 3453, 2957, 2029, 54737, 42515, 176017}}, +{16549, 18, 53099, {1, 3, 1, 7, 9, 27, 79, 193, 209, 281, 267, 1267, 7013, 13667, 13331, 32863, 5289, 15077}}, +{16550, 18, 53120, {1, 1, 5, 11, 29, 3, 3, 177, 75, 485, 1735, 3955, 4349, 7893, 13075, 58735, 8629, 78143}}, +{16551, 18, 53154, {1, 1, 7, 13, 3, 15, 15, 77, 7, 843, 1561, 461, 6817, 4363, 7861, 45697, 115663, 93789}}, +{16552, 18, 53168, {1, 1, 1, 7, 5, 35, 83, 213, 229, 383, 747, 337, 2589, 683, 18575, 42415, 74889, 227331}}, +{16553, 18, 53192, {1, 3, 5, 3, 17, 35, 57, 213, 247, 273, 689, 1889, 5667, 357, 4267, 11611, 20621, 159039}}, +{16554, 18, 53205, {1, 3, 3, 15, 7, 55, 25, 83, 293, 939, 1169, 2507, 3939, 7537, 2959, 40231, 124511, 181091}}, +{16555, 18, 53206, {1, 1, 5, 9, 31, 51, 67, 149, 509, 695, 449, 2761, 6597, 4741, 4205, 49177, 45599, 167807}}, +{16556, 18, 53234, {1, 1, 7, 15, 3, 7, 113, 71, 279, 885, 251, 2831, 855, 6673, 6511, 63861, 41109, 177119}}, +{16557, 18, 53246, {1, 1, 5, 3, 7, 23, 125, 11, 217, 1023, 549, 529, 3891, 10595, 13751, 37729, 113469, 110549}}, +{16558, 18, 53253, {1, 1, 3, 15, 21, 9, 13, 63, 93, 635, 659, 2837, 6303, 10083, 10107, 27859, 33891, 181229}}, +{16559, 18, 53263, {1, 1, 7, 3, 3, 43, 5, 149, 353, 353, 565, 2441, 7113, 6493, 30355, 17887, 110787, 187199}}, +{16560, 18, 53275, {1, 1, 3, 7, 19, 43, 99, 63, 169, 743, 185, 3817, 6677, 5549, 1609, 24701, 98669, 233701}}, +{16561, 18, 53313, {1, 1, 1, 1, 21, 49, 73, 169, 223, 551, 553, 917, 4705, 14951, 14031, 19753, 96205, 131755}}, +{16562, 18, 53331, {1, 1, 3, 3, 17, 49, 51, 249, 293, 921, 435, 2915, 3125, 3487, 11417, 35043, 29543, 35933}}, +{16563, 18, 53349, {1, 1, 3, 9, 23, 43, 73, 151, 379, 911, 671, 151, 955, 11885, 28795, 23967, 117135, 137985}}, +{16564, 18, 53367, {1, 1, 3, 7, 29, 3, 51, 231, 59, 227, 443, 3533, 7785, 12535, 25725, 7451, 9391, 239281}}, +{16565, 18, 53383, {1, 3, 3, 9, 17, 37, 91, 195, 5, 843, 313, 1417, 1207, 3225, 15949, 34023, 1275, 221057}}, +{16566, 18, 53392, {1, 1, 3, 15, 3, 51, 111, 135, 63, 495, 1967, 2151, 197, 10913, 20705, 1021, 68431, 67119}}, +{16567, 18, 53404, {1, 1, 5, 3, 7, 29, 87, 219, 273, 267, 1317, 797, 6723, 947, 29867, 32571, 12337, 234715}}, +{16568, 18, 53407, {1, 3, 5, 15, 1, 9, 91, 63, 97, 107, 451, 4025, 233, 7803, 17031, 7669, 49417, 256611}}, +{16569, 18, 53411, {1, 1, 7, 3, 17, 17, 45, 197, 227, 133, 799, 411, 6739, 8037, 19553, 53009, 25201, 107625}}, +{16570, 18, 53417, {1, 3, 5, 7, 3, 39, 25, 95, 197, 127, 45, 173, 3305, 6575, 19633, 54919, 35373, 59509}}, +{16571, 18, 53425, {1, 3, 3, 3, 9, 1, 107, 211, 217, 715, 311, 3641, 8055, 1, 9017, 29329, 128467, 46911}}, +{16572, 18, 53443, {1, 1, 1, 7, 1, 13, 13, 79, 259, 533, 1761, 449, 3363, 3061, 26227, 50407, 122951, 261425}}, +{16573, 18, 53469, {1, 3, 5, 5, 29, 19, 41, 7, 25, 203, 587, 3321, 655, 15877, 10423, 41481, 70325, 165527}}, +{16574, 18, 53480, {1, 3, 5, 9, 11, 45, 91, 253, 7, 137, 795, 2379, 4527, 1677, 5081, 6523, 97245, 3691}}, +{16575, 18, 53508, {1, 3, 7, 9, 25, 43, 125, 243, 391, 785, 651, 3245, 7979, 14689, 15443, 40501, 5519, 96551}}, +{16576, 18, 53535, {1, 1, 1, 3, 25, 53, 45, 159, 47, 701, 1655, 2019, 2355, 11213, 12403, 42291, 44925, 72689}}, +{16577, 18, 53536, {1, 1, 1, 5, 21, 19, 77, 31, 3, 161, 149, 3759, 6331, 12311, 7021, 1117, 12459, 134821}}, +{16578, 18, 53542, {1, 1, 3, 9, 9, 59, 23, 255, 437, 625, 719, 3727, 7157, 1889, 31523, 59127, 114143, 174179}}, +{16579, 18, 53563, {1, 1, 1, 15, 23, 7, 47, 137, 77, 519, 1681, 1159, 6121, 14789, 21343, 43101, 44709, 179863}}, +{16580, 18, 53577, {1, 3, 1, 3, 17, 27, 103, 11, 327, 735, 1949, 3719, 811, 2267, 13187, 29747, 98433, 242021}}, +{16581, 18, 53591, {1, 1, 7, 15, 15, 63, 25, 203, 109, 585, 409, 4093, 6669, 2381, 30721, 58975, 17235, 257959}}, +{16582, 18, 53607, {1, 3, 3, 5, 5, 19, 27, 69, 69, 193, 693, 1169, 6321, 3425, 9285, 28019, 128343, 185165}}, +{16583, 18, 53626, {1, 1, 3, 9, 7, 51, 113, 93, 81, 385, 1811, 2601, 2065, 1029, 24515, 7199, 26425, 174283}}, +{16584, 18, 53628, {1, 1, 1, 5, 29, 55, 93, 219, 281, 887, 891, 2763, 6083, 9627, 18559, 21329, 73887, 83699}}, +{16585, 18, 53638, {1, 1, 1, 3, 21, 31, 49, 173, 15, 177, 1001, 3453, 5623, 14107, 8837, 10163, 26817, 41947}}, +{16586, 18, 53675, {1, 1, 3, 5, 27, 63, 117, 49, 405, 281, 981, 2363, 1525, 9685, 29089, 16739, 66509, 125823}}, +{16587, 18, 53685, {1, 3, 7, 13, 27, 29, 57, 189, 345, 135, 753, 463, 731, 4823, 14335, 33299, 105229, 54705}}, +{16588, 18, 53692, {1, 3, 1, 1, 9, 43, 51, 25, 371, 261, 1409, 3493, 2811, 12915, 16075, 62159, 125945, 108453}}, +{16589, 18, 53703, {1, 3, 7, 15, 13, 33, 47, 53, 263, 669, 1383, 3059, 4043, 4777, 14679, 2077, 11019, 5803}}, +{16590, 18, 53722, {1, 1, 3, 11, 21, 7, 39, 71, 215, 79, 1849, 1261, 45, 1273, 27591, 4653, 25119, 30445}}, +{16591, 18, 53738, {1, 3, 5, 9, 21, 3, 17, 207, 417, 777, 37, 3349, 2761, 4469, 3457, 15593, 87251, 38601}}, +{16592, 18, 53748, {1, 1, 7, 13, 29, 29, 101, 103, 487, 87, 1129, 2497, 5501, 4813, 8623, 25077, 50487, 94053}}, +{16593, 18, 53752, {1, 3, 3, 11, 7, 23, 95, 245, 127, 55, 431, 2707, 4955, 15871, 29589, 60023, 1921, 227623}}, +{16594, 18, 53764, {1, 1, 3, 11, 17, 61, 103, 59, 477, 99, 1203, 157, 203, 557, 22921, 47363, 12853, 144067}}, +{16595, 18, 53781, {1, 3, 1, 13, 15, 23, 51, 109, 499, 841, 1779, 2515, 2519, 4945, 20061, 12395, 9223, 157901}}, +{16596, 18, 53788, {1, 3, 7, 9, 9, 15, 57, 223, 223, 463, 427, 2145, 1219, 12639, 28361, 46019, 128101, 198479}}, +{16597, 18, 53791, {1, 3, 7, 7, 1, 1, 99, 101, 135, 169, 1885, 3979, 3051, 13649, 26607, 45067, 4503, 74087}}, +{16598, 18, 53816, {1, 3, 7, 5, 17, 63, 27, 45, 447, 759, 1099, 3407, 489, 2719, 31577, 10355, 126835, 203439}}, +{16599, 18, 53824, {1, 1, 5, 1, 21, 19, 1, 239, 433, 531, 1181, 2021, 423, 3235, 8457, 44459, 117401, 63545}}, +{16600, 18, 53830, {1, 3, 7, 13, 21, 39, 25, 65, 405, 785, 137, 2899, 3255, 11165, 7827, 46425, 89063, 102787}}, +{16601, 18, 53839, {1, 1, 1, 11, 25, 3, 39, 61, 395, 35, 2001, 3201, 2233, 9625, 26489, 54167, 88495, 127441}}, +{16602, 18, 53844, {1, 1, 7, 7, 3, 27, 11, 49, 117, 711, 1881, 1457, 6759, 10517, 12733, 47435, 103111, 237237}}, +{16603, 18, 53875, {1, 1, 5, 5, 1, 61, 121, 155, 223, 733, 1349, 2825, 2093, 4481, 21389, 40227, 20453, 116907}}, +{16604, 18, 53921, {1, 3, 7, 7, 5, 11, 85, 131, 345, 723, 853, 3679, 7859, 11923, 16619, 63169, 127261, 155665}}, +{16605, 18, 53922, {1, 1, 5, 1, 3, 51, 93, 225, 197, 893, 555, 2611, 6225, 7819, 31655, 12235, 24919, 31451}}, +{16606, 18, 53927, {1, 1, 3, 3, 11, 23, 95, 205, 85, 705, 545, 155, 5533, 14837, 8341, 42473, 96891, 70695}}, +{16607, 18, 53948, {1, 3, 3, 5, 17, 31, 99, 187, 219, 275, 685, 2933, 4535, 13495, 20351, 60667, 95211, 129233}}, +{16608, 18, 53956, {1, 1, 1, 11, 9, 11, 123, 231, 127, 199, 733, 2495, 2601, 10565, 3155, 45251, 128319, 187457}}, +{16609, 18, 53990, {1, 3, 1, 9, 3, 33, 41, 109, 279, 851, 1115, 3773, 2383, 1885, 6993, 59693, 69863, 88081}}, +{16610, 18, 53994, {1, 1, 7, 13, 3, 27, 27, 203, 337, 965, 959, 1125, 2897, 8653, 15827, 51187, 12121, 4665}}, +{16611, 18, 54001, {1, 3, 1, 9, 19, 7, 23, 113, 257, 671, 571, 1061, 4353, 217, 13603, 27961, 68431, 147187}}, +{16612, 18, 54016, {1, 3, 5, 9, 25, 61, 7, 139, 237, 859, 761, 2005, 5981, 153, 6553, 53005, 72653, 33571}}, +{16613, 18, 54019, {1, 3, 5, 5, 9, 35, 63, 149, 427, 65, 635, 1955, 1845, 13781, 9761, 36147, 91479, 141305}}, +{16614, 18, 54070, {1, 1, 3, 5, 13, 39, 53, 113, 481, 933, 239, 3713, 7453, 12363, 14763, 46955, 108545, 74349}}, +{16615, 18, 54074, {1, 3, 1, 7, 13, 41, 57, 225, 213, 617, 1947, 2855, 4885, 8553, 20259, 57125, 59369, 178553}}, +{16616, 18, 54088, {1, 3, 5, 15, 31, 31, 19, 87, 461, 403, 1193, 2123, 4991, 14551, 17153, 14171, 17157, 194879}}, +{16617, 18, 54102, {1, 1, 5, 11, 5, 27, 119, 65, 111, 455, 1949, 3441, 6951, 6819, 12839, 6913, 57695, 145925}}, +{16618, 18, 54111, {1, 1, 1, 15, 19, 41, 55, 45, 33, 559, 589, 3773, 745, 8515, 32389, 47797, 145, 105503}}, +{16619, 18, 54130, {1, 1, 3, 15, 13, 53, 35, 223, 247, 893, 149, 553, 829, 5129, 26417, 15769, 95411, 6595}}, +{16620, 18, 54152, {1, 1, 5, 3, 3, 59, 35, 187, 387, 3, 847, 3579, 7869, 481, 23955, 22191, 21041, 230449}}, +{16621, 18, 54170, {1, 1, 3, 15, 23, 11, 97, 199, 11, 647, 803, 2391, 5791, 2223, 22187, 49675, 87775, 196871}}, +{16622, 18, 54172, {1, 3, 7, 5, 25, 63, 107, 227, 133, 337, 1767, 2459, 2987, 10463, 25001, 17047, 79901, 222877}}, +{16623, 18, 54211, {1, 3, 1, 13, 25, 5, 47, 109, 473, 389, 1743, 3951, 4231, 827, 4189, 29903, 106909, 152835}}, +{16624, 18, 54218, {1, 1, 5, 3, 7, 61, 121, 189, 303, 21, 957, 545, 7893, 3217, 25847, 29371, 100569, 132393}}, +{16625, 18, 54228, {1, 1, 1, 15, 29, 17, 59, 37, 449, 149, 845, 555, 7603, 11911, 18477, 23279, 107167, 160339}}, +{16626, 18, 54251, {1, 1, 7, 5, 13, 27, 43, 167, 443, 445, 2011, 2179, 2785, 13663, 21957, 2455, 18217, 19303}}, +{16627, 18, 54253, {1, 1, 1, 5, 19, 45, 71, 39, 21, 791, 1467, 855, 3101, 8267, 15529, 919, 105313, 75627}}, +{16628, 18, 54268, {1, 3, 1, 11, 31, 25, 57, 177, 211, 327, 679, 771, 7725, 6123, 23931, 48223, 9063, 133319}}, +{16629, 18, 54271, {1, 3, 5, 3, 1, 11, 19, 153, 177, 563, 1919, 117, 5583, 1519, 16623, 10871, 15511, 66113}}, +{16630, 18, 54274, {1, 1, 7, 7, 9, 45, 63, 253, 415, 347, 81, 2991, 2691, 2383, 15573, 33783, 12445, 224107}}, +{16631, 18, 54288, {1, 3, 5, 5, 7, 17, 99, 231, 439, 1009, 623, 833, 685, 6419, 30313, 56197, 73239, 260007}}, +{16632, 18, 54314, {1, 1, 5, 5, 5, 51, 97, 239, 267, 629, 1211, 2175, 5681, 3107, 11381, 57047, 120175, 131285}}, +{16633, 18, 54319, {1, 1, 7, 7, 29, 11, 21, 49, 481, 279, 1795, 1295, 453, 15985, 19941, 51853, 15115, 107271}}, +{16634, 18, 54321, {1, 1, 5, 1, 23, 61, 33, 21, 409, 57, 903, 557, 1673, 2759, 23705, 4109, 58865, 233081}}, +{16635, 18, 54324, {1, 1, 1, 5, 11, 37, 79, 15, 213, 485, 1477, 3925, 3205, 9267, 22043, 54197, 57101, 66185}}, +{16636, 18, 54341, {1, 1, 7, 13, 31, 27, 95, 141, 131, 43, 2039, 2257, 17, 14427, 5699, 22263, 86851, 226283}}, +{16637, 18, 54353, {1, 3, 5, 5, 11, 5, 5, 217, 363, 163, 1241, 3683, 1409, 1731, 20973, 63849, 35041, 94859}}, +{16638, 18, 54366, {1, 1, 7, 1, 25, 61, 67, 239, 369, 319, 1157, 2435, 2147, 12057, 4451, 3005, 31787, 199653}}, +{16639, 18, 54370, {1, 3, 5, 1, 11, 57, 1, 163, 433, 11, 1299, 1711, 1601, 4677, 16481, 25175, 63893, 41853}}, +{16640, 18, 54420, {1, 1, 3, 1, 29, 49, 91, 15, 313, 533, 115, 4005, 3157, 10615, 27915, 52613, 64447, 93091}}, +{16641, 18, 54423, {1, 3, 7, 3, 7, 17, 103, 67, 237, 595, 1571, 3421, 3971, 11123, 145, 52087, 59273, 21417}}, +{16642, 18, 54434, {1, 3, 5, 11, 31, 37, 105, 205, 377, 243, 841, 3153, 6847, 14171, 19947, 61561, 35, 261753}}, +{16643, 18, 54440, {1, 3, 5, 9, 29, 21, 103, 219, 107, 427, 1841, 2015, 2919, 5721, 8631, 48841, 33281, 35835}}, +{16644, 18, 54454, {1, 1, 3, 5, 25, 27, 67, 65, 305, 677, 1975, 1049, 7277, 15279, 30181, 48941, 119087, 130265}}, +{16645, 18, 54495, {1, 1, 3, 9, 29, 27, 109, 167, 351, 463, 663, 3155, 919, 10627, 30163, 62233, 32927, 210775}}, +{16646, 18, 54501, {1, 3, 5, 5, 19, 9, 17, 93, 33, 999, 1537, 3045, 3735, 4625, 31363, 46075, 80985, 108331}}, +{16647, 18, 54526, {1, 3, 7, 7, 11, 63, 83, 157, 205, 505, 657, 1901, 1405, 8349, 16473, 29397, 130379, 167963}}, +{16648, 18, 54639, {1, 3, 1, 15, 25, 49, 65, 189, 461, 923, 1839, 2597, 2471, 14103, 2915, 48429, 74387, 243465}}, +{16649, 18, 54653, {1, 3, 7, 11, 31, 47, 109, 21, 205, 343, 1999, 315, 8119, 15937, 8761, 55257, 99983, 131641}}, +{16650, 18, 54667, {1, 1, 3, 11, 3, 23, 73, 125, 17, 967, 1811, 1413, 4783, 8303, 25301, 26859, 90583, 140721}}, +{16651, 18, 54678, {1, 1, 5, 5, 25, 41, 49, 127, 391, 381, 1575, 1697, 5205, 12805, 24365, 20275, 58819, 167845}}, +{16652, 18, 54700, {1, 1, 7, 11, 17, 53, 51, 35, 383, 931, 359, 2863, 119, 6683, 26247, 14281, 49205, 256869}}, +{16653, 18, 54717, {1, 1, 7, 9, 23, 5, 69, 97, 407, 15, 579, 2905, 47, 6227, 23997, 42459, 26569, 225467}}, +{16654, 18, 54780, {1, 3, 3, 11, 7, 3, 125, 87, 347, 79, 1571, 1513, 285, 12101, 1731, 27887, 42009, 173243}}, +{16655, 18, 54801, {1, 3, 7, 13, 3, 5, 99, 29, 77, 873, 1111, 1451, 5493, 10669, 22597, 54437, 55521, 101617}}, +{16656, 18, 54813, {1, 3, 1, 3, 3, 17, 41, 215, 207, 71, 683, 1979, 4849, 2437, 5717, 28999, 55005, 233929}}, +{16657, 18, 54814, {1, 1, 1, 1, 23, 21, 105, 223, 5, 235, 1533, 3715, 2689, 13937, 12125, 63879, 111537, 39817}}, +{16658, 18, 54850, {1, 3, 3, 15, 25, 47, 71, 229, 21, 563, 1851, 2423, 131, 4431, 31567, 8883, 1311, 227893}}, +{16659, 18, 54883, {1, 3, 5, 11, 7, 23, 19, 59, 397, 315, 1149, 3595, 5973, 11027, 5233, 55237, 102777, 137421}}, +{16660, 18, 54907, {1, 1, 7, 9, 17, 61, 45, 235, 387, 171, 1079, 3119, 6933, 3591, 751, 35495, 49969, 204611}}, +{16661, 18, 54919, {1, 1, 7, 7, 21, 7, 105, 79, 81, 245, 1229, 409, 5159, 9815, 6713, 4687, 120541, 246133}}, +{16662, 18, 54931, {1, 3, 7, 13, 23, 31, 85, 97, 481, 497, 581, 1179, 243, 1767, 11855, 11599, 3141, 104741}}, +{16663, 18, 54933, {1, 3, 7, 3, 3, 45, 15, 29, 413, 631, 273, 1007, 2979, 11307, 24535, 9305, 83591, 77121}}, +{16664, 18, 54991, {1, 3, 7, 15, 21, 55, 11, 169, 417, 631, 141, 1489, 3371, 16073, 11215, 15479, 125341, 131731}}, +{16665, 18, 55003, {1, 1, 7, 5, 13, 33, 7, 121, 295, 191, 497, 2233, 997, 13833, 14503, 38357, 79007, 53985}}, +{16666, 18, 55009, {1, 3, 3, 3, 29, 63, 97, 27, 449, 643, 317, 1989, 1481, 2873, 21247, 35989, 61295, 101829}}, +{16667, 18, 55030, {1, 3, 1, 7, 13, 49, 27, 227, 21, 983, 179, 2761, 2859, 2851, 26447, 33295, 126963, 41441}}, +{16668, 18, 55034, {1, 1, 5, 13, 27, 1, 61, 115, 185, 867, 2017, 2257, 5035, 7855, 25849, 48189, 28287, 133261}}, +{16669, 18, 55039, {1, 1, 7, 13, 27, 17, 13, 205, 379, 717, 247, 3341, 2841, 10845, 26979, 5589, 1935, 48371}}, +{16670, 18, 55048, {1, 3, 1, 11, 9, 51, 25, 185, 65, 643, 1867, 3825, 3395, 8883, 29239, 20019, 19071, 3377}}, +{16671, 18, 55059, {1, 1, 1, 1, 11, 57, 61, 113, 419, 249, 153, 2883, 87, 7919, 11941, 46725, 38701, 73715}}, +{16672, 18, 55061, {1, 3, 3, 11, 3, 15, 19, 87, 27, 839, 463, 1757, 3137, 10821, 2857, 58101, 91983, 137045}}, +{16673, 18, 55068, {1, 3, 3, 1, 25, 25, 15, 93, 359, 5, 53, 647, 6245, 1957, 4651, 14697, 12193, 231303}}, +{16674, 18, 55077, {1, 1, 5, 9, 31, 49, 69, 223, 133, 595, 777, 1281, 727, 6671, 21453, 14193, 51769, 258301}}, +{16675, 18, 55122, {1, 3, 5, 11, 29, 37, 75, 17, 229, 121, 313, 2873, 5233, 13231, 7589, 40075, 42101, 137697}}, +{16676, 18, 55149, {1, 1, 7, 1, 31, 9, 15, 63, 149, 5, 1785, 21, 2619, 15071, 3243, 58023, 20697, 205181}}, +{16677, 18, 55157, {1, 3, 7, 7, 25, 61, 59, 157, 251, 303, 1905, 2389, 1681, 319, 14155, 49089, 45381, 124447}}, +{16678, 18, 55158, {1, 3, 5, 5, 25, 27, 41, 125, 105, 867, 365, 117, 7215, 2887, 28499, 9597, 105999, 150189}}, +{16679, 18, 55178, {1, 1, 5, 13, 5, 33, 47, 221, 207, 641, 525, 3215, 5293, 16343, 16169, 44393, 26305, 194411}}, +{16680, 18, 55222, {1, 3, 5, 13, 29, 17, 31, 77, 511, 465, 1141, 597, 5111, 6629, 14557, 13057, 11643, 250925}}, +{16681, 18, 55234, {1, 1, 7, 11, 1, 5, 65, 139, 471, 265, 1145, 965, 47, 10971, 15615, 62031, 58523, 175593}}, +{16682, 18, 55236, {1, 1, 5, 1, 23, 61, 57, 139, 377, 843, 79, 2873, 1823, 7551, 26741, 63031, 124879, 115295}}, +{16683, 18, 55251, {1, 1, 5, 13, 9, 19, 1, 61, 331, 1015, 1035, 1691, 4057, 6071, 24929, 39569, 95695, 39307}}, +{16684, 18, 55269, {1, 3, 3, 5, 23, 17, 13, 65, 381, 893, 1879, 3735, 1547, 6735, 30251, 11471, 102997, 126429}}, +{16685, 18, 55270, {1, 1, 5, 13, 1, 43, 15, 1, 155, 221, 1463, 3793, 6467, 7221, 28027, 55357, 69397, 87565}}, +{16686, 18, 55284, {1, 1, 7, 3, 17, 9, 71, 75, 77, 639, 1251, 701, 473, 12337, 1893, 6349, 10837, 27797}}, +{16687, 18, 55309, {1, 3, 5, 11, 11, 11, 125, 23, 161, 937, 707, 2487, 695, 8495, 16219, 33671, 109463, 248305}}, +{16688, 18, 55322, {1, 1, 1, 11, 5, 49, 15, 47, 393, 407, 39, 1867, 7727, 12701, 7805, 119, 77401, 186421}}, +{16689, 18, 55334, {1, 1, 5, 5, 19, 21, 77, 187, 387, 51, 1497, 1225, 3101, 791, 529, 4321, 118435, 112889}}, +{16690, 18, 55340, {1, 3, 1, 13, 27, 17, 11, 63, 201, 909, 1549, 3243, 1803, 9461, 20985, 24637, 100993, 200473}}, +{16691, 18, 55348, {1, 3, 7, 13, 11, 35, 97, 213, 415, 467, 2013, 2159, 7017, 7895, 18235, 50659, 113169, 141887}}, +{16692, 18, 55377, {1, 1, 3, 7, 13, 21, 119, 109, 471, 323, 277, 1685, 2399, 14777, 2643, 5879, 113043, 45223}}, +{16693, 18, 55430, {1, 3, 1, 13, 19, 5, 1, 75, 499, 297, 1897, 591, 3223, 12939, 30593, 4053, 122207, 215171}}, +{16694, 18, 55433, {1, 3, 3, 9, 21, 11, 29, 205, 13, 381, 569, 599, 7089, 8145, 18531, 34477, 101057, 64269}}, +{16695, 18, 55441, {1, 1, 5, 15, 1, 19, 37, 131, 325, 441, 3, 4001, 6937, 9207, 27543, 30321, 37083, 241019}}, +{16696, 18, 55470, {1, 3, 7, 13, 7, 15, 9, 159, 97, 905, 557, 1913, 7325, 4057, 19461, 14277, 36873, 25619}}, +{16697, 18, 55535, {1, 3, 5, 7, 3, 51, 99, 9, 185, 227, 2041, 331, 3925, 12481, 17485, 37137, 3753, 125269}}, +{16698, 18, 55561, {1, 1, 7, 11, 31, 49, 89, 37, 49, 863, 833, 3263, 351, 6277, 23055, 49727, 25005, 161585}}, +{16699, 18, 55567, {1, 3, 5, 1, 9, 35, 89, 101, 117, 365, 1015, 1159, 4623, 4541, 6831, 28091, 10647, 221415}}, +{16700, 18, 55597, {1, 1, 5, 5, 13, 47, 125, 209, 199, 885, 927, 1411, 795, 8835, 28589, 48753, 27191, 53455}}, +{16701, 18, 55630, {1, 1, 5, 9, 7, 19, 3, 87, 157, 121, 1433, 1463, 3241, 5969, 203, 36723, 14779, 63949}}, +{16702, 18, 55648, {1, 1, 3, 9, 1, 47, 71, 113, 405, 561, 1149, 3599, 4173, 6819, 5493, 45987, 41521, 221503}}, +{16703, 18, 55653, {1, 3, 3, 1, 3, 55, 101, 103, 161, 549, 457, 2529, 2043, 8843, 5677, 7449, 45185, 178289}}, +{16704, 18, 55657, {1, 1, 1, 3, 31, 25, 1, 161, 7, 503, 641, 2221, 749, 1521, 6151, 19245, 55913, 80141}}, +{16705, 18, 55665, {1, 1, 1, 9, 3, 45, 73, 217, 249, 929, 163, 2139, 3921, 11223, 11161, 52697, 89633, 14243}}, +{16706, 18, 55678, {1, 1, 7, 15, 17, 41, 5, 119, 211, 53, 985, 2679, 679, 9349, 25577, 26947, 35141, 93999}}, +{16707, 18, 55684, {1, 3, 1, 15, 17, 43, 51, 15, 363, 615, 889, 195, 6279, 15477, 31545, 50941, 119711, 66535}}, +{16708, 18, 55691, {1, 1, 1, 13, 7, 11, 17, 127, 131, 759, 739, 161, 5937, 13611, 31757, 10681, 101357, 82873}}, +{16709, 18, 55693, {1, 3, 5, 7, 21, 63, 75, 33, 233, 981, 589, 3409, 3523, 1871, 8919, 38513, 32825, 56935}}, +{16710, 18, 55702, {1, 3, 5, 3, 9, 9, 85, 221, 203, 727, 1035, 1069, 2409, 2687, 235, 23395, 64163, 193235}}, +{16711, 18, 55708, {1, 3, 3, 7, 1, 35, 119, 175, 203, 819, 207, 2283, 4175, 3581, 11647, 43073, 104573, 86607}}, +{16712, 18, 55715, {1, 3, 3, 15, 11, 63, 59, 153, 279, 779, 261, 3317, 7671, 11727, 19381, 33227, 79331, 187227}}, +{16713, 18, 55739, {1, 1, 3, 1, 7, 1, 115, 15, 235, 9, 1877, 1911, 1089, 9939, 9537, 39563, 95327, 70323}}, +{16714, 18, 55761, {1, 1, 5, 7, 25, 61, 63, 145, 425, 617, 1813, 3255, 6797, 16019, 18849, 44191, 69877, 179933}}, +{16715, 18, 55767, {1, 1, 3, 13, 17, 45, 69, 247, 27, 367, 871, 1185, 895, 7991, 8145, 22869, 97609, 14673}}, +{16716, 18, 55768, {1, 3, 3, 11, 19, 41, 99, 213, 159, 803, 121, 1197, 2849, 15191, 15603, 52445, 105077, 128231}}, +{16717, 18, 55774, {1, 3, 1, 11, 21, 61, 117, 167, 437, 447, 419, 1673, 755, 15331, 29819, 16099, 130773, 177547}}, +{16718, 18, 55787, {1, 3, 7, 7, 1, 15, 79, 109, 351, 71, 985, 89, 7517, 4175, 30533, 52125, 100863, 186477}}, +{16719, 18, 55811, {1, 1, 3, 1, 15, 1, 103, 65, 511, 241, 1279, 3233, 7141, 255, 10925, 28271, 56151, 252121}}, +{16720, 18, 55835, {1, 1, 1, 13, 17, 49, 59, 93, 19, 343, 979, 865, 3447, 4595, 3067, 26807, 98915, 126237}}, +{16721, 18, 55894, {1, 3, 3, 5, 17, 5, 91, 199, 191, 775, 233, 919, 277, 3485, 9231, 37025, 23493, 186745}}, +{16722, 18, 55897, {1, 3, 1, 1, 11, 5, 103, 187, 85, 47, 1111, 883, 6155, 15315, 9041, 58275, 75037, 7773}}, +{16723, 18, 55904, {1, 3, 1, 3, 19, 5, 7, 211, 481, 713, 383, 1203, 6089, 15817, 31577, 7283, 25457, 101455}}, +{16724, 18, 55931, {1, 3, 5, 7, 21, 9, 59, 127, 375, 477, 721, 3931, 7089, 9079, 5015, 62019, 113747, 36055}}, +{16725, 18, 55950, {1, 3, 7, 13, 3, 17, 47, 177, 103, 535, 1787, 509, 5253, 2857, 13421, 19875, 37397, 251353}}, +{16726, 18, 55961, {1, 1, 5, 7, 19, 31, 41, 93, 301, 45, 251, 2691, 4657, 2627, 17321, 24627, 80221, 117191}}, +{16727, 18, 55973, {1, 3, 5, 7, 5, 31, 27, 3, 463, 549, 1669, 499, 815, 4091, 7049, 60957, 102849, 235617}}, +{16728, 18, 56078, {1, 3, 5, 1, 21, 31, 57, 201, 503, 977, 893, 3927, 1605, 8265, 5137, 51009, 89375, 237909}}, +{16729, 18, 56099, {1, 3, 3, 1, 27, 5, 11, 81, 445, 229, 5, 543, 3397, 12961, 31911, 36945, 59485, 305}}, +{16730, 18, 56105, {1, 1, 5, 13, 31, 63, 39, 171, 243, 39, 1147, 459, 7215, 14603, 20625, 47369, 121495, 237741}}, +{16731, 18, 56119, {1, 3, 3, 13, 15, 63, 39, 23, 305, 685, 1885, 571, 2657, 16031, 24759, 10639, 25619, 246137}}, +{16732, 18, 56133, {1, 1, 1, 5, 19, 33, 5, 187, 167, 725, 1405, 511, 701, 13283, 3513, 16495, 8755, 221751}}, +{16733, 18, 56168, {1, 1, 7, 11, 3, 27, 27, 237, 495, 637, 479, 3247, 3825, 2567, 12853, 52881, 34807, 161483}}, +{16734, 18, 56191, {1, 3, 3, 9, 23, 43, 101, 175, 19, 443, 787, 1053, 4113, 12777, 4615, 53115, 2873, 117383}}, +{16735, 18, 56202, {1, 3, 1, 13, 3, 23, 33, 93, 145, 937, 957, 2463, 827, 383, 16749, 61567, 10029, 188159}}, +{16736, 18, 56209, {1, 1, 7, 15, 21, 23, 3, 71, 323, 995, 645, 1189, 1029, 519, 3479, 13587, 95641, 215337}}, +{16737, 18, 56215, {1, 3, 7, 11, 9, 17, 101, 59, 421, 417, 797, 3089, 773, 15959, 18127, 13681, 104667, 217433}}, +{16738, 18, 56232, {1, 3, 5, 7, 31, 21, 9, 7, 377, 589, 1497, 939, 5389, 10997, 22291, 19639, 72187, 66193}}, +{16739, 18, 56240, {1, 1, 1, 13, 19, 1, 127, 185, 251, 167, 1289, 2715, 5885, 12715, 18261, 36861, 102721, 246917}}, +{16740, 18, 56260, {1, 1, 7, 1, 23, 41, 19, 151, 125, 465, 813, 1711, 7933, 13561, 29737, 59207, 62533, 124149}}, +{16741, 18, 56270, {1, 3, 5, 9, 7, 13, 17, 119, 425, 877, 1207, 2211, 2943, 13921, 28251, 44143, 112149, 152341}}, +{16742, 18, 56278, {1, 3, 5, 9, 15, 21, 87, 83, 77, 731, 91, 3091, 5687, 9647, 2037, 39031, 106583, 66533}}, +{16743, 18, 56281, {1, 1, 7, 9, 31, 49, 7, 119, 147, 599, 1191, 297, 1597, 10723, 16893, 47387, 106995, 165409}}, +{16744, 18, 56288, {1, 3, 3, 3, 3, 63, 11, 193, 241, 63, 1671, 2139, 5689, 13967, 9239, 7535, 34237, 140283}}, +{16745, 18, 56303, {1, 3, 5, 13, 9, 23, 65, 247, 473, 825, 109, 1897, 245, 10517, 8147, 25989, 96447, 118689}}, +{16746, 18, 56308, {1, 1, 3, 5, 27, 35, 65, 23, 159, 729, 189, 2661, 4245, 14377, 21043, 15551, 2717, 146949}}, +{16747, 18, 56312, {1, 1, 3, 13, 23, 5, 35, 63, 293, 347, 883, 149, 5145, 10821, 5813, 24183, 94711, 64787}}, +{16748, 18, 56320, {1, 1, 5, 3, 27, 3, 127, 141, 237, 535, 1509, 2755, 5843, 2379, 19413, 52345, 100247, 42571}}, +{16749, 18, 56326, {1, 3, 3, 9, 1, 55, 61, 105, 29, 1021, 1215, 2157, 7453, 4643, 26793, 33553, 2959, 51485}}, +{16750, 18, 56392, {1, 1, 3, 7, 31, 51, 59, 49, 321, 207, 415, 2115, 219, 5045, 31133, 17961, 130779, 28255}}, +{16751, 18, 56395, {1, 3, 7, 15, 9, 29, 31, 185, 111, 959, 7, 827, 7891, 5449, 22221, 49933, 2091, 194683}}, +{16752, 18, 56403, {1, 3, 7, 1, 11, 59, 75, 255, 387, 913, 423, 2915, 5079, 6363, 5175, 57977, 5559, 13257}}, +{16753, 18, 56419, {1, 1, 7, 1, 21, 3, 21, 13, 157, 3, 715, 3525, 7769, 5333, 25345, 53473, 44323, 203167}}, +{16754, 18, 56428, {1, 1, 7, 11, 31, 25, 55, 5, 169, 695, 1599, 2357, 1427, 14469, 15223, 34275, 42605, 23005}}, +{16755, 18, 56450, {1, 1, 1, 15, 19, 51, 117, 135, 297, 831, 329, 3793, 4673, 3795, 24185, 52971, 30423, 68771}}, +{16756, 18, 56452, {1, 1, 7, 5, 19, 33, 79, 77, 315, 29, 307, 1709, 3489, 14515, 12477, 58939, 53753, 165031}}, +{16757, 18, 56485, {1, 1, 7, 1, 27, 57, 119, 207, 355, 279, 1371, 3917, 2821, 5285, 12673, 28973, 54957, 94001}}, +{16758, 18, 56486, {1, 3, 7, 3, 19, 57, 53, 199, 485, 805, 301, 1337, 5993, 2187, 30573, 12045, 101205, 129841}}, +{16759, 18, 56492, {1, 1, 3, 9, 15, 45, 71, 119, 445, 759, 1361, 1299, 2927, 2343, 22085, 53733, 21241, 1553}}, +{16760, 18, 56498, {1, 3, 5, 3, 27, 11, 1, 239, 497, 343, 1989, 1463, 2473, 5191, 6271, 14129, 124453, 96817}}, +{16761, 18, 56510, {1, 3, 5, 7, 27, 19, 123, 27, 483, 557, 1545, 1871, 1297, 587, 1067, 51259, 119231, 173659}}, +{16762, 18, 56512, {1, 3, 1, 1, 27, 45, 41, 113, 453, 553, 2019, 2039, 1709, 13017, 5497, 34459, 60295, 229405}}, +{16763, 18, 56524, {1, 3, 1, 11, 1, 57, 51, 125, 261, 915, 1673, 25, 529, 653, 17247, 64225, 98991, 248143}}, +{16764, 18, 56530, {1, 3, 5, 15, 25, 27, 31, 1, 463, 249, 113, 1955, 2223, 5463, 12281, 20843, 26495, 256759}}, +{16765, 18, 56545, {1, 1, 3, 11, 27, 33, 57, 205, 89, 435, 1983, 1165, 3843, 127, 30179, 63971, 10211, 105403}}, +{16766, 18, 56551, {1, 3, 3, 5, 21, 49, 35, 161, 273, 205, 41, 1881, 2013, 12549, 24859, 55711, 98235, 237281}}, +{16767, 18, 56565, {1, 3, 3, 1, 15, 35, 95, 1, 221, 675, 385, 2257, 2531, 2129, 12895, 11565, 125977, 51973}}, +{16768, 18, 56580, {1, 1, 1, 15, 19, 61, 35, 55, 9, 721, 499, 2577, 3001, 14861, 22293, 56195, 72855, 166703}}, +{16769, 18, 56587, {1, 1, 1, 7, 5, 25, 59, 175, 81, 989, 935, 2579, 8183, 1109, 4645, 53753, 115795, 105091}}, +{16770, 18, 56589, {1, 3, 3, 13, 7, 55, 7, 113, 197, 763, 1747, 3291, 1109, 4391, 18257, 28563, 97413, 5847}}, +{16771, 18, 56592, {1, 1, 1, 7, 23, 55, 91, 83, 479, 305, 843, 2055, 3405, 15243, 31551, 5275, 8651, 66915}}, +{16772, 18, 56611, {1, 3, 7, 9, 3, 19, 83, 229, 235, 903, 1495, 1033, 2729, 14927, 11847, 22979, 13905, 84413}}, +{16773, 18, 56623, {1, 3, 3, 13, 27, 37, 83, 193, 475, 439, 745, 757, 7359, 6683, 5839, 50765, 6933, 117411}}, +{16774, 18, 56635, {1, 3, 5, 11, 31, 25, 33, 77, 113, 815, 123, 2721, 2133, 8995, 15237, 54565, 5155, 51235}}, +{16775, 18, 56646, {1, 3, 3, 7, 15, 31, 73, 91, 379, 39, 913, 53, 41, 1059, 25883, 11769, 63015, 48125}}, +{16776, 18, 56660, {1, 1, 5, 5, 5, 13, 81, 169, 71, 529, 1429, 2101, 4069, 5509, 30283, 40625, 103673, 183243}}, +{16777, 18, 56680, {1, 3, 3, 5, 23, 39, 39, 237, 445, 567, 343, 2521, 2287, 1851, 2315, 59979, 5015, 243349}}, +{16778, 18, 56686, {1, 1, 7, 1, 1, 51, 89, 229, 187, 207, 245, 3521, 2987, 4347, 6997, 62565, 54397, 140473}}, +{16779, 18, 56716, {1, 3, 1, 5, 7, 59, 45, 161, 457, 655, 1591, 215, 2213, 15101, 14791, 40397, 95811, 126291}}, +{16780, 18, 56749, {1, 1, 3, 1, 5, 23, 7, 199, 143, 561, 1669, 17, 8109, 11003, 4535, 8593, 112021, 223153}}, +{16781, 18, 56790, {1, 3, 5, 9, 3, 37, 111, 15, 235, 697, 385, 2197, 909, 1247, 26199, 50661, 100643, 122577}}, +{16782, 18, 56809, {1, 3, 5, 11, 23, 53, 95, 75, 463, 137, 1511, 3373, 3071, 547, 22399, 51891, 9123, 240925}}, +{16783, 18, 56869, {1, 3, 7, 3, 21, 35, 69, 197, 371, 15, 185, 3539, 29, 15071, 17069, 34669, 37023, 189385}}, +{16784, 18, 56884, {1, 1, 1, 15, 5, 21, 7, 5, 201, 881, 841, 827, 503, 3545, 17771, 64481, 65105, 209947}}, +{16785, 18, 56887, {1, 1, 1, 5, 3, 31, 83, 201, 455, 169, 1797, 1769, 1999, 8629, 14313, 16851, 64955, 180631}}, +{16786, 18, 56893, {1, 1, 5, 5, 1, 35, 49, 61, 499, 619, 1509, 3015, 237, 8979, 3471, 11513, 80193, 24135}}, +{16787, 18, 56906, {1, 3, 3, 9, 25, 29, 111, 19, 339, 739, 1751, 2671, 5399, 5965, 3943, 45577, 70605, 203117}}, +{16788, 18, 56932, {1, 3, 3, 7, 3, 9, 15, 147, 177, 545, 161, 2211, 4653, 15891, 15939, 19153, 77827, 245787}}, +{16789, 18, 56959, {1, 1, 1, 1, 25, 47, 37, 159, 273, 825, 1037, 2047, 7149, 5517, 699, 49687, 110115, 159475}}, +{16790, 18, 56965, {1, 3, 1, 7, 7, 55, 77, 231, 197, 381, 2013, 2421, 7551, 9955, 21031, 11365, 48271, 190147}}, +{16791, 18, 56983, {1, 1, 5, 9, 25, 1, 81, 145, 215, 427, 905, 2307, 6149, 12777, 131, 57091, 106137, 24625}}, +{16792, 18, 57018, {1, 3, 1, 13, 13, 63, 103, 245, 275, 745, 841, 2993, 2083, 8903, 4499, 55979, 22323, 244447}}, +{16793, 18, 57023, {1, 1, 5, 5, 15, 11, 59, 181, 191, 219, 599, 59, 1079, 4445, 16537, 31127, 103257, 233855}}, +{16794, 18, 57025, {1, 3, 7, 9, 9, 37, 109, 41, 145, 1001, 609, 551, 6843, 13791, 15103, 27851, 7693, 145207}}, +{16795, 18, 57032, {1, 3, 1, 9, 3, 35, 63, 219, 49, 567, 1537, 1327, 6487, 16039, 26019, 13851, 116929, 175121}}, +{16796, 18, 57040, {1, 3, 7, 15, 17, 31, 27, 91, 241, 229, 485, 2601, 3859, 12609, 19847, 31939, 50815, 235529}}, +{16797, 18, 57046, {1, 1, 5, 15, 27, 31, 3, 47, 69, 427, 95, 1445, 1223, 2953, 32343, 6841, 67851, 79561}}, +{16798, 18, 57071, {1, 3, 5, 13, 13, 37, 19, 127, 259, 139, 1597, 651, 4845, 6413, 18205, 56005, 32107, 140783}}, +{16799, 18, 57091, {1, 1, 7, 5, 15, 23, 81, 195, 127, 113, 499, 733, 5907, 12107, 18105, 28113, 16111, 152327}}, +{16800, 18, 57094, {1, 1, 5, 15, 9, 49, 109, 181, 187, 591, 1625, 3641, 313, 1225, 11725, 9047, 30351, 124301}}, +{16801, 18, 57108, {1, 3, 1, 1, 9, 45, 103, 219, 155, 805, 1775, 759, 1687, 11415, 21623, 37831, 18995, 21667}}, +{16802, 18, 57122, {1, 3, 3, 5, 25, 13, 11, 37, 489, 935, 373, 811, 5045, 3615, 2111, 22909, 117155, 69483}}, +{16803, 18, 57127, {1, 3, 3, 5, 9, 45, 71, 87, 265, 93, 161, 2983, 1023, 3633, 5965, 9499, 35653, 219257}}, +{16804, 18, 57168, {1, 1, 5, 13, 21, 27, 101, 231, 85, 469, 1023, 3735, 5093, 253, 22585, 61975, 81041, 4175}}, +{16805, 18, 57183, {1, 3, 1, 7, 5, 41, 105, 153, 391, 5, 1917, 331, 7679, 14359, 13177, 40755, 78669, 133527}}, +{16806, 18, 57184, {1, 3, 3, 15, 21, 61, 87, 63, 227, 195, 1095, 1629, 7787, 5887, 20855, 30203, 61973, 30627}}, +{16807, 18, 57193, {1, 3, 1, 15, 31, 41, 125, 223, 201, 717, 1309, 595, 5333, 10585, 32525, 8597, 92637, 111073}}, +{16808, 18, 57202, {1, 3, 5, 3, 21, 29, 39, 105, 275, 515, 503, 79, 6715, 14203, 14035, 20871, 122417, 243167}}, +{16809, 18, 57235, {1, 3, 7, 5, 29, 41, 3, 89, 165, 879, 773, 3989, 3945, 4771, 2809, 59105, 37177, 193887}}, +{16810, 18, 57237, {1, 3, 3, 3, 27, 1, 91, 191, 135, 257, 527, 2971, 7117, 6013, 8735, 52363, 110617, 96959}}, +{16811, 18, 57251, {1, 3, 7, 9, 3, 63, 67, 67, 231, 23, 1539, 771, 1485, 4331, 19231, 50539, 15081, 75945}}, +{16812, 18, 57289, {1, 3, 3, 11, 29, 11, 77, 67, 497, 861, 21, 2939, 2463, 14435, 27399, 19733, 118207, 60909}}, +{16813, 18, 57349, {1, 1, 5, 5, 1, 11, 117, 55, 485, 877, 1213, 2231, 2613, 14027, 18491, 45431, 113303, 28457}}, +{16814, 18, 57359, {1, 3, 7, 1, 13, 49, 77, 59, 455, 251, 1033, 3451, 7641, 389, 3987, 62361, 90125, 94569}}, +{16815, 18, 57374, {1, 1, 7, 15, 3, 5, 45, 173, 343, 445, 1871, 2505, 1385, 2641, 21299, 35139, 61781, 101195}}, +{16816, 18, 57377, {1, 3, 1, 9, 25, 27, 89, 123, 473, 901, 1513, 2585, 5641, 13123, 22653, 32985, 15763, 9161}}, +{16817, 18, 57387, {1, 3, 3, 9, 29, 41, 5, 127, 489, 715, 1981, 3953, 3557, 10081, 31913, 52191, 118727, 4443}}, +{16818, 18, 57415, {1, 1, 5, 1, 19, 57, 125, 33, 253, 297, 265, 2249, 6859, 14971, 3519, 24783, 127491, 210441}}, +{16819, 18, 57440, {1, 1, 7, 7, 31, 1, 47, 175, 305, 933, 679, 317, 7511, 13219, 9509, 61183, 58907, 72905}}, +{16820, 18, 57446, {1, 1, 1, 7, 13, 49, 75, 85, 341, 911, 1217, 3631, 1849, 9715, 23193, 947, 106647, 180455}}, +{16821, 18, 57450, {1, 1, 7, 7, 1, 49, 91, 195, 329, 771, 607, 1707, 2723, 291, 21393, 6549, 31645, 151431}}, +{16822, 18, 57469, {1, 3, 7, 5, 17, 57, 7, 231, 247, 217, 1729, 3231, 7515, 15341, 18681, 21733, 28723, 228187}}, +{16823, 18, 57491, {1, 1, 5, 9, 5, 19, 121, 251, 43, 951, 957, 173, 4863, 5027, 6781, 29421, 4877, 47749}}, +{16824, 18, 57503, {1, 3, 7, 7, 11, 33, 107, 233, 329, 589, 869, 913, 7687, 13223, 27577, 24379, 13037, 214713}}, +{16825, 18, 57507, {1, 3, 7, 13, 1, 13, 121, 103, 387, 193, 543, 3085, 4323, 9885, 24499, 34985, 45763, 13107}}, +{16826, 18, 57542, {1, 1, 3, 15, 25, 63, 85, 41, 457, 779, 1199, 2235, 309, 2549, 3341, 36265, 17873, 32361}}, +{16827, 18, 57569, {1, 3, 3, 3, 15, 31, 11, 57, 499, 415, 1625, 1195, 6863, 6073, 25083, 57705, 76203, 130993}}, +{16828, 18, 57599, {1, 3, 5, 5, 21, 13, 43, 161, 255, 31, 1901, 3325, 3209, 9809, 8227, 9005, 57263, 95095}}, +{16829, 18, 57601, {1, 1, 3, 15, 13, 33, 5, 123, 291, 579, 1747, 3319, 7351, 1679, 11365, 26909, 74445, 139017}}, +{16830, 18, 57607, {1, 1, 3, 13, 17, 39, 1, 253, 487, 935, 1711, 1397, 503, 7817, 28509, 20665, 78551, 204319}}, +{16831, 18, 57608, {1, 1, 3, 1, 5, 39, 123, 105, 305, 77, 63, 3285, 7463, 11199, 647, 37757, 91083, 108325}}, +{16832, 18, 57625, {1, 1, 7, 5, 9, 49, 121, 155, 389, 119, 1327, 3583, 7715, 2705, 20047, 19151, 101455, 205263}}, +{16833, 18, 57644, {1, 1, 5, 7, 31, 23, 13, 109, 103, 41, 433, 3609, 4973, 11481, 8381, 4725, 113633, 134651}}, +{16834, 18, 57662, {1, 3, 7, 7, 25, 25, 107, 189, 89, 625, 187, 2185, 713, 10107, 11139, 63681, 97005, 79329}}, +{16835, 18, 57664, {1, 3, 1, 11, 3, 41, 43, 161, 337, 955, 1035, 451, 5989, 3593, 18087, 22667, 110213, 128545}}, +{16836, 18, 57674, {1, 1, 5, 1, 25, 31, 95, 113, 205, 565, 557, 3885, 7163, 10703, 27159, 11395, 117459, 52439}}, +{16837, 18, 57698, {1, 1, 1, 5, 27, 31, 39, 61, 323, 983, 1361, 2387, 5401, 8287, 17855, 49783, 65327, 202861}}, +{16838, 18, 57700, {1, 3, 5, 3, 31, 39, 105, 113, 183, 311, 667, 945, 3677, 14623, 27907, 16673, 77899, 182863}}, +{16839, 18, 57709, {1, 1, 5, 3, 17, 27, 99, 93, 81, 805, 1799, 2855, 6859, 3917, 26177, 22307, 59213, 210123}}, +{16840, 18, 57724, {1, 3, 5, 1, 19, 37, 51, 65, 495, 229, 229, 1283, 2967, 5329, 24339, 58739, 23145, 7033}}, +{16841, 18, 57728, {1, 3, 3, 15, 11, 51, 121, 41, 75, 845, 1771, 3625, 6137, 3463, 11767, 45181, 70907, 42771}}, +{16842, 18, 57740, {1, 3, 7, 9, 15, 25, 55, 219, 265, 655, 167, 1247, 5409, 5623, 21045, 12333, 25799, 218601}}, +{16843, 18, 57745, {1, 3, 3, 13, 31, 39, 77, 155, 471, 969, 755, 2745, 3057, 3621, 32423, 48687, 9409, 90997}}, +{16844, 18, 57751, {1, 1, 3, 15, 27, 1, 77, 231, 147, 235, 2027, 4045, 7431, 14655, 6361, 43155, 9839, 161713}}, +{16845, 18, 57774, {1, 3, 7, 5, 25, 19, 25, 75, 415, 931, 457, 3691, 687, 4849, 15469, 42871, 37949, 74163}}, +{16846, 18, 57782, {1, 3, 5, 9, 17, 19, 29, 117, 387, 1021, 1159, 2467, 2585, 2563, 9155, 44763, 93319, 6321}}, +{16847, 18, 57796, {1, 3, 5, 7, 25, 33, 127, 175, 143, 705, 539, 2563, 945, 11369, 19971, 19019, 116195, 84121}}, +{16848, 18, 57803, {1, 3, 7, 7, 5, 55, 29, 1, 419, 715, 1275, 2983, 7853, 12245, 32109, 27371, 123547, 82723}}, +{16849, 18, 57823, {1, 1, 1, 13, 3, 29, 31, 213, 195, 609, 1465, 1711, 6747, 13309, 1131, 3151, 48779, 91571}}, +{16850, 18, 57863, {1, 1, 5, 3, 17, 7, 103, 7, 217, 87, 1641, 833, 4551, 14205, 15119, 6711, 111273, 200545}}, +{16851, 18, 57894, {1, 3, 1, 5, 3, 39, 99, 15, 433, 895, 165, 4049, 3183, 4385, 24695, 40009, 67151, 156643}}, +{16852, 18, 57925, {1, 1, 7, 3, 29, 9, 15, 27, 109, 1019, 327, 2837, 5297, 12455, 2355, 37703, 122995, 177871}}, +{16853, 18, 57971, {1, 1, 5, 15, 29, 5, 121, 117, 31, 155, 1027, 1105, 8057, 8677, 9523, 3019, 98801, 15539}}, +{16854, 18, 58013, {1, 3, 7, 3, 1, 1, 37, 67, 471, 317, 1571, 2801, 7383, 4339, 8095, 45685, 95885, 39577}}, +{16855, 18, 58020, {1, 3, 7, 13, 17, 13, 91, 79, 49, 321, 1235, 311, 129, 6537, 6643, 25813, 48251, 138823}}, +{16856, 18, 58032, {1, 1, 5, 3, 21, 19, 67, 61, 153, 611, 1819, 3755, 5959, 3419, 6117, 1159, 68925, 146199}}, +{16857, 18, 58038, {1, 1, 7, 9, 23, 3, 7, 13, 429, 463, 653, 3461, 6337, 4511, 18097, 44837, 99845, 37101}}, +{16858, 18, 58061, {1, 3, 5, 13, 9, 5, 123, 199, 83, 409, 1391, 1567, 7327, 8173, 30971, 18241, 7755, 185375}}, +{16859, 18, 58069, {1, 3, 1, 7, 19, 51, 51, 23, 85, 923, 1969, 2329, 7343, 12489, 16135, 64783, 117063, 141071}}, +{16860, 18, 58080, {1, 3, 1, 3, 23, 29, 5, 77, 207, 351, 367, 2097, 2639, 9255, 21971, 64167, 98069, 81153}}, +{16861, 18, 58089, {1, 1, 7, 15, 27, 1, 83, 255, 47, 935, 567, 3573, 3629, 5833, 483, 1001, 9337, 119847}}, +{16862, 18, 58107, {1, 3, 7, 11, 31, 53, 25, 35, 463, 51, 401, 3279, 7709, 11265, 17905, 40423, 26277, 43355}}, +{16863, 18, 58121, {1, 1, 7, 5, 9, 15, 73, 217, 239, 405, 1651, 2131, 6791, 11241, 21717, 7393, 77251, 28131}}, +{16864, 18, 58130, {1, 3, 5, 3, 13, 43, 115, 159, 215, 811, 1349, 2941, 2073, 1821, 6891, 17285, 72027, 137849}}, +{16865, 18, 58146, {1, 3, 3, 3, 15, 11, 29, 53, 307, 409, 1069, 3713, 3205, 6185, 2565, 14973, 46149, 162527}}, +{16866, 18, 58190, {1, 1, 3, 15, 21, 39, 61, 209, 211, 123, 697, 2285, 859, 2501, 5847, 56449, 106575, 261069}}, +{16867, 18, 58195, {1, 3, 3, 5, 25, 21, 39, 131, 189, 747, 1499, 1865, 3369, 9161, 12543, 63155, 70083, 69441}}, +{16868, 18, 58202, {1, 3, 1, 15, 31, 43, 127, 57, 169, 109, 979, 1399, 3065, 5865, 16891, 56003, 14319, 94109}}, +{16869, 18, 58237, {1, 1, 1, 13, 23, 57, 13, 239, 139, 41, 1959, 429, 209, 543, 21297, 15343, 16521, 52305}}, +{16870, 18, 58253, {1, 1, 7, 1, 17, 1, 115, 139, 93, 123, 867, 3257, 8135, 12089, 1503, 33287, 79283, 151419}}, +{16871, 18, 58299, {1, 3, 7, 7, 27, 17, 15, 253, 89, 959, 597, 2193, 3505, 13865, 2179, 58711, 114615, 15227}}, +{16872, 18, 58302, {1, 3, 7, 5, 1, 5, 105, 241, 361, 229, 1069, 3815, 1409, 4909, 31785, 46555, 123523, 53259}}, +{16873, 18, 58327, {1, 1, 5, 5, 15, 49, 13, 195, 467, 285, 1405, 3011, 2069, 8331, 13953, 31107, 46581, 154615}}, +{16874, 18, 58328, {1, 3, 5, 7, 21, 23, 17, 17, 345, 369, 1521, 3755, 2165, 15387, 2851, 11115, 60483, 236049}}, +{16875, 18, 58364, {1, 3, 3, 1, 5, 41, 53, 239, 127, 237, 609, 927, 3787, 5059, 1865, 52991, 56229, 102093}}, +{16876, 18, 58367, {1, 1, 7, 5, 23, 7, 15, 199, 325, 695, 1525, 3435, 3997, 11577, 22985, 57713, 94309, 218433}}, +{16877, 18, 58375, {1, 3, 3, 5, 25, 25, 61, 99, 237, 447, 1905, 783, 5239, 11415, 16833, 27815, 115539, 161111}}, +{16878, 18, 58394, {1, 1, 5, 9, 31, 49, 55, 199, 159, 751, 849, 1045, 5485, 8883, 8549, 11735, 35983, 161067}}, +{16879, 18, 58405, {1, 1, 5, 9, 23, 51, 79, 171, 87, 493, 1911, 3867, 3435, 493, 16639, 64085, 97797, 244959}}, +{16880, 18, 58417, {1, 1, 5, 11, 29, 33, 15, 107, 283, 545, 1995, 995, 7181, 3581, 8621, 42391, 117997, 397}}, +{16881, 18, 58424, {1, 3, 7, 13, 31, 25, 91, 75, 123, 451, 1023, 375, 4505, 13235, 8913, 34389, 77385, 168659}}, +{16882, 18, 58430, {1, 1, 3, 3, 3, 3, 85, 143, 173, 709, 1313, 593, 6931, 14609, 13803, 30305, 109089, 11473}}, +{16883, 18, 58452, {1, 3, 7, 5, 25, 45, 25, 223, 407, 597, 83, 2543, 3823, 13959, 9089, 28325, 29237, 57147}}, +{16884, 18, 58466, {1, 1, 1, 3, 25, 53, 57, 255, 231, 361, 109, 113, 6091, 13043, 28399, 29111, 57987, 137709}}, +{16885, 18, 58468, {1, 1, 1, 5, 11, 25, 53, 141, 275, 237, 1427, 1691, 6043, 8951, 10683, 17477, 117645, 89007}}, +{16886, 18, 58495, {1, 3, 3, 13, 7, 23, 73, 213, 285, 667, 1765, 1545, 1401, 12483, 6349, 47205, 25791, 16749}}, +{16887, 18, 58501, {1, 1, 1, 15, 31, 45, 105, 249, 385, 607, 723, 745, 7037, 15735, 3637, 29013, 127315, 165507}}, +{16888, 18, 58544, {1, 1, 7, 5, 21, 63, 95, 247, 161, 839, 939, 931, 4277, 7363, 8289, 55183, 122413, 152997}}, +{16889, 18, 58571, {1, 3, 7, 11, 15, 59, 91, 5, 209, 31, 1581, 979, 6289, 11443, 26641, 20183, 106907, 128647}}, +{16890, 18, 58609, {1, 1, 3, 15, 21, 33, 117, 89, 457, 405, 1971, 2211, 4379, 16189, 7933, 39351, 79813, 56373}}, +{16891, 18, 58610, {1, 3, 3, 9, 5, 9, 93, 75, 55, 271, 321, 3143, 3893, 2601, 26169, 35179, 43063, 156635}}, +{16892, 18, 58616, {1, 3, 3, 11, 29, 37, 95, 249, 221, 965, 423, 1637, 4663, 14839, 16757, 4261, 128453, 165593}}, +{16893, 18, 58619, {1, 3, 3, 7, 1, 55, 31, 235, 447, 839, 721, 1125, 6503, 4019, 23351, 37057, 96103, 143805}}, +{16894, 18, 58641, {1, 3, 7, 5, 31, 39, 7, 157, 469, 719, 1613, 395, 8133, 9753, 17323, 13849, 45409, 7601}}, +{16895, 18, 58642, {1, 3, 7, 7, 31, 37, 89, 215, 453, 659, 605, 3325, 987, 4611, 29667, 23229, 4201, 229675}}, +{16896, 18, 58648, {1, 1, 5, 5, 3, 3, 21, 249, 377, 343, 1751, 891, 5275, 14853, 32703, 51001, 6759, 162991}}, +{16897, 18, 58660, {1, 3, 1, 13, 11, 21, 55, 17, 495, 481, 1817, 919, 2495, 16367, 3343, 16997, 83437, 127791}}, +{16898, 18, 58675, {1, 3, 1, 1, 5, 57, 65, 223, 33, 491, 1953, 1521, 4903, 5007, 14583, 17321, 82231, 206299}}, +{16899, 18, 58678, {1, 3, 7, 11, 21, 45, 55, 141, 185, 379, 851, 885, 3385, 10311, 701, 2983, 71045, 171525}}, +{16900, 18, 58690, {1, 3, 7, 3, 29, 1, 53, 139, 7, 985, 291, 3949, 1163, 14637, 363, 59679, 121571, 121081}}, +{16901, 18, 58735, {1, 3, 7, 1, 31, 1, 111, 19, 421, 917, 1529, 1361, 4461, 12457, 9791, 19985, 77283, 117059}}, +{16902, 18, 58760, {1, 3, 1, 5, 7, 55, 93, 243, 477, 193, 1983, 489, 3735, 1391, 24035, 36395, 49101, 175861}}, +{16903, 18, 58766, {1, 1, 1, 11, 3, 25, 69, 167, 351, 193, 1299, 617, 7455, 2545, 18359, 9951, 119513, 128139}}, +{16904, 18, 58799, {1, 3, 3, 7, 5, 23, 101, 47, 385, 591, 345, 3501, 531, 3277, 28945, 18695, 58587, 87221}}, +{16905, 18, 58825, {1, 1, 3, 3, 29, 47, 5, 91, 365, 1, 2015, 323, 1601, 10615, 28975, 60263, 4813, 143351}}, +{16906, 18, 58836, {1, 3, 1, 7, 25, 43, 65, 211, 91, 759, 985, 3675, 5701, 4373, 27781, 51949, 40667, 102665}}, +{16907, 18, 58855, {1, 3, 3, 5, 3, 43, 91, 33, 247, 593, 849, 1955, 7769, 2307, 2877, 26037, 28907, 211021}}, +{16908, 18, 58864, {1, 3, 5, 15, 29, 29, 85, 97, 99, 979, 2033, 1415, 2955, 15733, 5567, 6241, 100195, 89077}}, +{16909, 18, 58910, {1, 3, 7, 13, 13, 19, 121, 211, 381, 73, 1131, 1881, 1693, 7873, 27557, 201, 24997, 202471}}, +{16910, 18, 58937, {1, 3, 1, 15, 15, 33, 11, 99, 479, 271, 1873, 1117, 3559, 6605, 15995, 44805, 12465, 71933}}, +{16911, 18, 58943, {1, 3, 5, 3, 19, 61, 15, 55, 423, 431, 1321, 3345, 1633, 4587, 24909, 54985, 31831, 181083}}, +{16912, 18, 58952, {1, 1, 3, 5, 29, 43, 49, 205, 415, 907, 1651, 57, 3043, 10763, 16255, 9567, 59453, 135637}}, +{16913, 18, 58965, {1, 3, 3, 1, 17, 11, 29, 33, 293, 203, 1687, 1565, 6131, 5435, 29023, 28425, 102151, 251913}}, +{16914, 18, 58988, {1, 1, 5, 7, 9, 9, 43, 191, 269, 681, 607, 3045, 2799, 14919, 8083, 57781, 19345, 49365}}, +{16915, 18, 58994, {1, 1, 5, 13, 11, 53, 67, 127, 117, 395, 575, 1651, 2601, 15019, 21413, 34433, 66847, 84159}}, +{16916, 18, 58999, {1, 3, 5, 5, 15, 59, 33, 41, 301, 699, 1479, 2285, 1813, 2459, 4775, 53213, 26039, 223155}}, +{16917, 18, 59006, {1, 3, 1, 15, 17, 57, 5, 211, 357, 175, 945, 3625, 3943, 12871, 26805, 29305, 8839, 107837}}, +{16918, 18, 59029, {1, 3, 5, 15, 21, 41, 105, 229, 265, 777, 2047, 767, 2901, 8873, 7631, 18545, 86697, 252965}}, +{16919, 18, 59033, {1, 1, 5, 11, 31, 63, 115, 119, 271, 921, 1221, 3341, 6083, 4293, 28581, 57323, 33889, 112577}}, +{16920, 18, 59069, {1, 1, 5, 5, 31, 21, 119, 93, 287, 139, 451, 2535, 3925, 10671, 21279, 55071, 76127, 248203}}, +{16921, 18, 59096, {1, 3, 7, 11, 19, 61, 61, 53, 203, 181, 963, 3581, 519, 14679, 7717, 31981, 128709, 197269}}, +{16922, 18, 59106, {1, 1, 1, 13, 25, 23, 89, 95, 221, 803, 1433, 3617, 3217, 2033, 7859, 14279, 107239, 5139}}, +{16923, 18, 59123, {1, 3, 7, 3, 29, 41, 87, 21, 71, 959, 1149, 2961, 7471, 11665, 16037, 5791, 110155, 35365}}, +{16924, 18, 59130, {1, 1, 1, 11, 21, 49, 101, 45, 311, 529, 1301, 1377, 983, 3937, 6967, 8413, 33511, 9617}}, +{16925, 18, 59152, {1, 3, 3, 5, 15, 41, 107, 49, 409, 537, 289, 3351, 5307, 16221, 907, 39847, 61579, 161487}}, +{16926, 18, 59162, {1, 1, 3, 11, 5, 49, 71, 107, 431, 469, 453, 1367, 7811, 10485, 3861, 62797, 82025, 253785}}, +{16927, 18, 59180, {1, 1, 3, 3, 27, 19, 89, 13, 445, 915, 1259, 1423, 3987, 3661, 18183, 18521, 18831, 191447}}, +{16928, 18, 59183, {1, 1, 7, 5, 13, 15, 9, 89, 129, 949, 1733, 245, 6815, 8477, 1273, 34737, 33027, 191415}}, +{16929, 18, 59195, {1, 1, 7, 15, 25, 63, 83, 195, 319, 987, 1395, 3559, 6287, 5139, 25967, 48711, 58467, 110983}}, +{16930, 18, 59205, {1, 1, 3, 9, 5, 3, 35, 171, 15, 883, 915, 2451, 871, 11741, 32715, 33475, 81711, 259157}}, +{16931, 18, 59210, {1, 1, 7, 13, 23, 63, 33, 11, 117, 351, 1701, 671, 6753, 5, 9477, 54701, 65507, 242621}}, +{16932, 18, 59217, {1, 3, 7, 11, 21, 37, 127, 143, 369, 819, 1369, 93, 7009, 3773, 30153, 30181, 120783, 137857}}, +{16933, 18, 59218, {1, 3, 3, 7, 27, 61, 15, 141, 67, 815, 1449, 1129, 4703, 3811, 3067, 61697, 8881, 110957}}, +{16934, 18, 59236, {1, 1, 7, 13, 31, 21, 59, 75, 335, 851, 503, 251, 4869, 11789, 30871, 14641, 19319, 156843}}, +{16935, 18, 59267, {1, 3, 5, 5, 9, 41, 11, 67, 231, 945, 37, 2925, 5723, 9053, 13477, 59735, 75181, 60335}}, +{16936, 18, 59298, {1, 1, 5, 1, 13, 39, 81, 43, 363, 611, 1661, 3833, 7387, 10531, 21319, 55579, 102705, 103009}}, +{16937, 18, 59318, {1, 3, 1, 7, 23, 25, 67, 179, 327, 401, 1693, 1453, 4773, 6363, 27169, 49747, 29055, 49145}}, +{16938, 18, 59321, {1, 3, 5, 7, 13, 47, 5, 175, 369, 921, 507, 113, 6069, 10919, 11099, 19795, 95819, 52419}}, +{16939, 18, 59327, {1, 1, 1, 5, 5, 53, 93, 47, 75, 837, 109, 3691, 6961, 10715, 14269, 63791, 1941, 136899}}, +{16940, 18, 59354, {1, 1, 1, 3, 1, 63, 57, 117, 157, 327, 879, 2411, 3987, 15393, 8503, 29829, 77795, 121307}}, +{16941, 18, 59363, {1, 3, 5, 1, 25, 5, 47, 45, 433, 121, 607, 1233, 6433, 3031, 16369, 58589, 79357, 151353}}, +{16942, 18, 59377, {1, 1, 1, 1, 9, 15, 77, 163, 225, 445, 1479, 1267, 2571, 2661, 21489, 5433, 123969, 191967}}, +{16943, 18, 59389, {1, 1, 7, 1, 9, 49, 17, 19, 449, 113, 1289, 2335, 3309, 2595, 17819, 18481, 86605, 125911}}, +{16944, 18, 59403, {1, 1, 5, 11, 11, 23, 65, 147, 257, 625, 1901, 913, 5711, 8159, 16237, 25133, 100059, 11395}}, +{16945, 18, 59420, {1, 3, 7, 13, 5, 33, 89, 189, 171, 185, 751, 2915, 5025, 15981, 14853, 12229, 52829, 59953}}, +{16946, 18, 59444, {1, 3, 1, 13, 3, 37, 15, 87, 463, 655, 1927, 2705, 1885, 14801, 3491, 52835, 81761, 90273}}, +{16947, 18, 59471, {1, 1, 7, 3, 5, 15, 29, 255, 199, 225, 647, 3215, 6795, 3821, 31763, 31059, 65495, 89981}}, +{16948, 18, 59476, {1, 1, 7, 7, 9, 25, 11, 85, 111, 283, 507, 2077, 2993, 5415, 31785, 16495, 82361, 122105}}, +{16949, 18, 59483, {1, 1, 3, 11, 27, 21, 127, 175, 397, 419, 1115, 2285, 223, 3881, 4187, 53759, 115035, 181647}}, +{16950, 18, 59502, {1, 3, 7, 11, 27, 31, 29, 233, 137, 827, 1009, 3879, 7595, 12989, 27655, 8517, 28083, 214985}}, +{16951, 18, 59509, {1, 3, 5, 9, 25, 23, 85, 191, 475, 445, 621, 1341, 4045, 4299, 24933, 32765, 20219, 86949}}, +{16952, 18, 59538, {1, 3, 1, 5, 25, 35, 121, 33, 199, 405, 163, 3487, 1087, 743, 21989, 47273, 49221, 124831}}, +{16953, 18, 59556, {1, 1, 5, 1, 7, 3, 91, 15, 335, 351, 1311, 777, 4303, 7203, 19465, 9135, 32251, 69805}}, +{16954, 18, 59571, {1, 3, 3, 7, 23, 55, 73, 77, 189, 801, 1877, 1901, 2675, 1015, 3041, 35925, 125903, 126227}}, +{16955, 18, 59592, {1, 3, 3, 1, 1, 23, 105, 75, 435, 743, 651, 1045, 579, 13637, 14821, 62683, 95229, 156475}}, +{16956, 18, 59610, {1, 3, 3, 5, 1, 53, 89, 239, 439, 195, 189, 731, 1805, 15123, 23315, 47737, 29167, 112081}}, +{16957, 18, 59654, {1, 1, 5, 7, 31, 11, 119, 191, 155, 61, 247, 915, 5813, 995, 20093, 23379, 118969, 65001}}, +{16958, 18, 59677, {1, 3, 7, 3, 1, 61, 45, 85, 295, 269, 539, 1787, 6639, 11093, 11303, 18509, 77637, 200743}}, +{16959, 18, 59699, {1, 3, 1, 1, 13, 17, 75, 51, 199, 151, 1529, 1443, 4983, 6723, 6071, 34711, 39159, 5441}}, +{16960, 18, 59716, {1, 3, 3, 3, 31, 15, 91, 125, 261, 683, 1769, 1697, 2761, 11373, 13607, 24933, 19079, 55497}}, +{16961, 18, 59719, {1, 1, 1, 15, 21, 49, 117, 99, 29, 969, 463, 3869, 1251, 8815, 16443, 46861, 82839, 233325}}, +{16962, 18, 59737, {1, 3, 5, 3, 27, 39, 89, 225, 161, 63, 61, 2875, 4037, 10413, 5067, 27893, 78825, 250207}}, +{16963, 18, 59747, {1, 1, 1, 9, 13, 49, 93, 11, 23, 25, 2003, 57, 3065, 11241, 13935, 2969, 44235, 39287}}, +{16964, 18, 59789, {1, 3, 3, 9, 21, 5, 55, 247, 193, 523, 575, 1235, 3277, 5253, 5293, 7919, 7573, 168809}}, +{16965, 18, 59807, {1, 3, 1, 13, 29, 39, 43, 21, 511, 205, 303, 703, 3861, 2467, 3909, 31597, 51081, 9863}}, +{16966, 18, 59811, {1, 3, 7, 1, 25, 55, 11, 131, 5, 49, 371, 1683, 1907, 5661, 1015, 15171, 101477, 11221}}, +{16967, 18, 59818, {1, 3, 5, 5, 9, 15, 93, 245, 357, 703, 701, 3675, 4527, 9225, 16137, 55433, 81887, 99153}}, +{16968, 18, 59825, {1, 1, 3, 3, 11, 1, 39, 251, 291, 599, 643, 231, 4031, 7055, 99, 14039, 81811, 184251}}, +{16969, 18, 59826, {1, 3, 5, 13, 29, 55, 11, 117, 325, 401, 2013, 3235, 995, 9255, 2741, 8211, 71451, 180619}}, +{16970, 18, 59832, {1, 1, 1, 5, 31, 41, 41, 175, 247, 3, 739, 1391, 3311, 5975, 16921, 4291, 75065, 161745}}, +{16971, 18, 59858, {1, 1, 7, 13, 23, 19, 13, 149, 203, 351, 2033, 1867, 3871, 14437, 3793, 17399, 99577, 171605}}, +{16972, 18, 59860, {1, 1, 5, 11, 7, 9, 1, 195, 261, 977, 315, 3771, 1179, 16281, 20747, 56309, 108609, 209205}}, +{16973, 18, 59873, {1, 3, 3, 5, 19, 15, 123, 153, 325, 601, 393, 753, 93, 4803, 24343, 42645, 128209, 45773}}, +{16974, 18, 59876, {1, 3, 1, 13, 3, 29, 97, 95, 115, 539, 155, 2789, 1277, 13127, 20383, 52807, 97295, 54589}}, +{16975, 18, 59907, {1, 1, 1, 3, 25, 59, 27, 149, 365, 317, 773, 3379, 5931, 14637, 19881, 37283, 118027, 21557}}, +{16976, 18, 59928, {1, 3, 5, 3, 25, 11, 101, 221, 199, 689, 515, 2255, 6107, 6259, 2853, 19039, 117089, 107181}}, +{16977, 18, 59933, {1, 3, 5, 7, 29, 63, 19, 113, 249, 147, 737, 3959, 209, 7001, 24263, 20443, 99923, 145709}}, +{16978, 18, 59938, {1, 1, 5, 9, 25, 37, 69, 41, 87, 369, 1913, 2255, 7581, 5301, 25751, 24981, 1183, 171969}}, +{16979, 18, 59940, {1, 3, 3, 1, 9, 25, 55, 5, 267, 295, 43, 819, 4569, 7065, 31527, 57811, 48721, 107707}}, +{16980, 18, 59958, {1, 1, 7, 9, 19, 19, 1, 199, 371, 1003, 597, 2097, 4071, 6185, 879, 13545, 30033, 120313}}, +{16981, 18, 59984, {1, 1, 1, 7, 9, 11, 51, 155, 309, 493, 899, 3121, 2085, 10541, 21979, 4725, 70381, 69643}}, +{16982, 18, 60020, {1, 1, 1, 1, 13, 45, 123, 119, 459, 295, 1005, 4093, 393, 11063, 27235, 28209, 1671, 215619}}, +{16983, 18, 60024, {1, 1, 7, 13, 19, 25, 125, 255, 509, 529, 1577, 3221, 4051, 7697, 2065, 42597, 86295, 131719}}, +{16984, 18, 60033, {1, 3, 3, 9, 19, 13, 21, 199, 97, 949, 1297, 379, 1801, 13247, 22563, 49517, 22757, 87371}}, +{16985, 18, 60034, {1, 3, 3, 1, 17, 63, 109, 175, 301, 565, 1181, 465, 3457, 7175, 21225, 33149, 122169, 148043}}, +{16986, 18, 60063, {1, 1, 1, 1, 5, 7, 21, 251, 53, 369, 955, 583, 4703, 9729, 15853, 55701, 29317, 27}}, +{16987, 18, 60070, {1, 3, 3, 1, 31, 3, 53, 57, 231, 441, 109, 149, 8107, 2303, 29729, 42279, 46909, 209877}}, +{16988, 18, 60087, {1, 1, 1, 11, 23, 57, 63, 189, 259, 657, 1653, 1155, 2885, 3317, 22559, 3145, 19151, 172507}}, +{16989, 18, 60091, {1, 3, 7, 5, 31, 63, 103, 147, 287, 685, 1197, 99, 4907, 12335, 12001, 20303, 75503, 231259}}, +{16990, 18, 60105, {1, 3, 3, 13, 15, 33, 63, 11, 99, 299, 97, 2669, 3635, 9969, 1525, 36555, 85215, 86915}}, +{16991, 18, 60126, {1, 3, 7, 5, 25, 47, 25, 61, 227, 939, 1719, 245, 2389, 14663, 30671, 22667, 38873, 245509}}, +{16992, 18, 60132, {1, 1, 3, 5, 25, 15, 105, 203, 57, 961, 1941, 1241, 3163, 6203, 19631, 10383, 19235, 57569}}, +{16993, 18, 60154, {1, 1, 3, 9, 1, 35, 41, 3, 449, 87, 641, 269, 1529, 14559, 16571, 4863, 21625, 921}}, +{16994, 18, 60174, {1, 1, 7, 11, 25, 53, 85, 209, 181, 417, 1657, 2117, 4581, 7069, 15533, 64475, 82381, 146943}}, +{16995, 18, 60181, {1, 3, 1, 7, 17, 53, 5, 199, 347, 887, 1041, 595, 1843, 10931, 30559, 42849, 73723, 220473}}, +{16996, 18, 60198, {1, 3, 7, 7, 21, 53, 105, 21, 141, 575, 1965, 2187, 7293, 13675, 2471, 1259, 42485, 62911}}, +{16997, 18, 60212, {1, 1, 3, 9, 5, 27, 21, 101, 101, 71, 1215, 3235, 2451, 14835, 27817, 30079, 124301, 253691}}, +{16998, 18, 60247, {1, 1, 7, 1, 11, 37, 105, 127, 115, 157, 279, 2425, 2139, 131, 22717, 40803, 74867, 86021}}, +{16999, 18, 60254, {1, 1, 1, 7, 11, 59, 95, 61, 255, 523, 501, 2895, 7531, 8151, 18393, 42069, 120809, 236537}}, +{17000, 18, 60275, {1, 1, 1, 7, 17, 23, 31, 59, 377, 187, 873, 1565, 3459, 2975, 11633, 13247, 13095, 193803}}, +{17001, 18, 60284, {1, 3, 7, 1, 25, 3, 85, 5, 485, 451, 1385, 1663, 4825, 14019, 29437, 33717, 105343, 161335}}, +{17002, 18, 60317, {1, 1, 1, 3, 27, 43, 71, 167, 425, 579, 1739, 3557, 7403, 2023, 6533, 61177, 119273, 85229}}, +{17003, 18, 60318, {1, 1, 7, 3, 31, 37, 19, 213, 373, 505, 97, 3669, 7005, 2205, 26519, 61999, 18395, 25967}}, +{17004, 18, 60346, {1, 3, 3, 7, 29, 17, 9, 137, 265, 875, 887, 3029, 3295, 11619, 8357, 46241, 23543, 43191}}, +{17005, 18, 60360, {1, 1, 5, 1, 25, 43, 33, 133, 65, 7, 1581, 3577, 5997, 6129, 30649, 18923, 56459, 227869}}, +{17006, 18, 60380, {1, 1, 5, 13, 27, 45, 27, 111, 429, 565, 1449, 1475, 6613, 4469, 16083, 42349, 66843, 214875}}, +{17007, 18, 60389, {1, 3, 1, 1, 21, 21, 107, 7, 15, 675, 233, 4021, 1097, 1393, 6445, 3323, 102435, 249355}}, +{17008, 18, 60393, {1, 1, 5, 15, 17, 51, 99, 249, 437, 667, 1921, 2371, 3813, 10543, 19, 39079, 116825, 242821}}, +{17009, 18, 60401, {1, 1, 1, 1, 7, 15, 27, 29, 161, 37, 1847, 287, 4379, 1399, 24547, 60361, 68131, 232883}}, +{17010, 18, 60407, {1, 1, 3, 9, 17, 21, 41, 169, 61, 771, 241, 1435, 4151, 1789, 12195, 27239, 62371, 165145}}, +{17011, 18, 60408, {1, 3, 5, 15, 31, 19, 127, 181, 463, 183, 749, 253, 2403, 1363, 3965, 7953, 124025, 226691}}, +{17012, 18, 60462, {1, 1, 3, 7, 17, 57, 85, 89, 17, 33, 819, 2191, 1525, 15651, 23483, 26027, 86379, 40191}}, +{17013, 18, 60484, {1, 1, 5, 1, 9, 45, 65, 65, 359, 5, 531, 2581, 6313, 13219, 6005, 36215, 16275, 208253}}, +{17014, 18, 60505, {1, 3, 1, 1, 23, 15, 51, 43, 85, 461, 773, 219, 2681, 3377, 9797, 54469, 112871, 231533}}, +{17015, 18, 60521, {1, 3, 7, 7, 15, 9, 97, 115, 301, 493, 1085, 2021, 2305, 15003, 11381, 9339, 63015, 179115}}, +{17016, 18, 60527, {1, 3, 5, 3, 3, 61, 111, 103, 283, 7, 143, 353, 7815, 7901, 25795, 7577, 92991, 228315}}, +{17017, 18, 60532, {1, 1, 7, 13, 29, 3, 53, 105, 83, 531, 497, 729, 1375, 7063, 18655, 35219, 9671, 102913}}, +{17018, 18, 60545, {1, 1, 5, 15, 11, 7, 65, 31, 15, 921, 743, 1469, 5669, 5437, 20019, 28123, 5717, 6181}}, +{17019, 18, 60546, {1, 3, 3, 15, 19, 1, 3, 183, 315, 595, 1033, 3259, 7815, 8281, 32103, 8699, 59149, 56657}}, +{17020, 18, 60555, {1, 1, 1, 7, 9, 1, 87, 81, 267, 637, 1617, 2113, 487, 23, 11213, 29211, 92715, 177767}}, +{17021, 18, 60563, {1, 3, 5, 13, 29, 37, 31, 55, 343, 759, 813, 2945, 7189, 4821, 30661, 38373, 2793, 98683}}, +{17022, 18, 60586, {1, 3, 5, 7, 9, 43, 113, 145, 103, 303, 1065, 3781, 3527, 9449, 17355, 38301, 74859, 30735}}, +{17023, 18, 60626, {1, 1, 1, 1, 3, 53, 53, 27, 119, 701, 1777, 3959, 5911, 8473, 24997, 17557, 11593, 201381}}, +{17024, 18, 60637, {1, 3, 3, 9, 3, 3, 107, 115, 423, 531, 735, 931, 8053, 4661, 1919, 29551, 62515, 210255}}, +{17025, 18, 60665, {1, 1, 3, 9, 21, 21, 117, 67, 301, 49, 2025, 781, 7951, 15719, 27287, 34551, 115241, 243981}}, +{17026, 18, 60673, {1, 1, 7, 9, 9, 25, 87, 229, 375, 353, 445, 3169, 1865, 7305, 11175, 47081, 28609, 107301}}, +{17027, 18, 60685, {1, 3, 3, 11, 7, 31, 19, 177, 17, 535, 1353, 2587, 7723, 8039, 13607, 5017, 104937, 207761}}, +{17028, 18, 60703, {1, 1, 5, 3, 11, 27, 29, 193, 235, 435, 1451, 3487, 5749, 4825, 9487, 53933, 92061, 223305}}, +{17029, 18, 60734, {1, 3, 3, 3, 5, 5, 99, 237, 91, 945, 1373, 3303, 3079, 5345, 6843, 34131, 62851, 259561}}, +{17030, 18, 60742, {1, 1, 3, 7, 7, 25, 11, 27, 329, 37, 307, 771, 659, 13045, 25767, 18887, 54407, 251313}}, +{17031, 18, 60790, {1, 1, 1, 11, 29, 59, 37, 121, 281, 55, 495, 159, 3925, 4447, 14825, 24831, 103147, 211951}}, +{17032, 18, 60830, {1, 3, 3, 7, 23, 31, 59, 67, 303, 383, 1179, 2347, 4001, 14797, 14579, 55365, 112239, 65309}}, +{17033, 18, 60848, {1, 3, 3, 9, 15, 17, 61, 123, 339, 319, 765, 1517, 1269, 69, 9065, 32347, 21377, 38449}}, +{17034, 18, 60857, {1, 3, 5, 3, 7, 35, 71, 63, 251, 457, 351, 385, 4041, 11489, 14511, 11875, 45307, 205041}}, +{17035, 18, 60871, {1, 1, 1, 7, 1, 25, 115, 195, 41, 1001, 835, 767, 7991, 7475, 22397, 36899, 77255, 194827}}, +{17036, 18, 60875, {1, 3, 3, 11, 7, 49, 45, 13, 373, 167, 741, 2569, 3781, 1131, 2909, 40387, 77877, 201859}}, +{17037, 18, 60913, {1, 3, 5, 3, 17, 11, 123, 137, 65, 835, 1385, 1157, 7387, 12301, 5759, 13137, 30595, 50923}}, +{17038, 18, 60923, {1, 1, 5, 7, 1, 55, 57, 97, 377, 223, 115, 2515, 2565, 14965, 10485, 23957, 108239, 160707}}, +{17039, 18, 60972, {1, 3, 1, 9, 15, 17, 81, 65, 387, 275, 997, 1485, 4129, 999, 4915, 55867, 103799, 191829}}, +{17040, 18, 60989, {1, 1, 1, 5, 15, 5, 35, 167, 249, 419, 267, 503, 469, 3163, 19939, 65501, 88573, 11621}}, +{17041, 18, 61001, {1, 3, 3, 13, 7, 9, 101, 125, 371, 97, 1855, 1755, 4103, 12283, 18655, 5965, 17743, 254779}}, +{17042, 18, 61002, {1, 1, 3, 7, 13, 15, 119, 227, 451, 863, 1005, 491, 6515, 717, 12783, 14161, 106249, 185297}}, +{17043, 18, 61019, {1, 1, 7, 13, 17, 23, 95, 143, 133, 219, 897, 2291, 7469, 923, 22323, 60583, 2457, 197231}}, +{17044, 18, 61022, {1, 1, 1, 11, 3, 25, 115, 187, 319, 999, 867, 1725, 6969, 239, 2527, 55283, 91099, 252153}}, +{17045, 18, 61059, {1, 1, 7, 9, 3, 37, 107, 25, 425, 95, 631, 2831, 1265, 11509, 18865, 39791, 22281, 220517}}, +{17046, 18, 61065, {1, 3, 5, 1, 1, 47, 121, 173, 489, 241, 3, 3707, 7081, 5341, 23143, 7321, 30605, 191665}}, +{17047, 18, 61066, {1, 1, 7, 7, 7, 27, 23, 43, 145, 11, 1155, 691, 6993, 9509, 5991, 40705, 58215, 202915}}, +{17048, 18, 61071, {1, 3, 5, 1, 31, 1, 7, 189, 379, 431, 417, 3843, 3885, 3263, 16333, 58123, 68307, 33795}}, +{17049, 18, 61076, {1, 1, 5, 5, 19, 27, 19, 217, 509, 535, 287, 1637, 4829, 2665, 15393, 35185, 125335, 10909}}, +{17050, 18, 61141, {1, 3, 5, 7, 25, 13, 67, 243, 255, 1021, 1203, 821, 7811, 149, 26731, 12913, 18171, 101385}}, +{17051, 18, 61148, {1, 1, 1, 3, 25, 61, 59, 207, 449, 789, 1831, 1731, 513, 10099, 291, 1963, 100233, 21847}}, +{17052, 18, 61167, {1, 1, 7, 1, 27, 19, 45, 81, 479, 31, 707, 2669, 3589, 15411, 12089, 38235, 60897, 135451}}, +{17053, 18, 61190, {1, 3, 5, 15, 11, 3, 113, 169, 171, 21, 1291, 2031, 2023, 5783, 6137, 54637, 50247, 233753}}, +{17054, 18, 61218, {1, 1, 5, 1, 11, 13, 73, 97, 269, 801, 1015, 1329, 1779, 15225, 24251, 35191, 8619, 130993}}, +{17055, 18, 61247, {1, 1, 7, 9, 9, 19, 35, 255, 505, 513, 547, 405, 3065, 4965, 30877, 50091, 81319, 29273}}, +{17056, 18, 61256, {1, 1, 1, 9, 7, 61, 45, 75, 343, 911, 1683, 453, 1225, 10939, 19901, 63685, 123507, 252027}}, +{17057, 18, 61289, {1, 1, 5, 11, 21, 55, 37, 161, 143, 463, 1937, 3349, 2953, 14827, 7893, 26581, 128459, 72325}}, +{17058, 18, 61292, {1, 3, 5, 9, 31, 57, 115, 77, 225, 859, 621, 731, 5677, 759, 20773, 52285, 65555, 4303}}, +{17059, 18, 61307, {1, 1, 3, 15, 23, 15, 49, 171, 137, 449, 855, 565, 5579, 5957, 13643, 8979, 90327, 116349}}, +{17060, 18, 61319, {1, 1, 3, 5, 9, 13, 27, 43, 391, 595, 731, 101, 7121, 13555, 29181, 38273, 42309, 175297}}, +{17061, 18, 61353, {1, 1, 3, 11, 3, 59, 17, 143, 251, 47, 1391, 1297, 23, 15871, 13153, 44081, 65423, 54875}}, +{17062, 18, 61362, {1, 3, 7, 11, 25, 43, 3, 163, 273, 277, 755, 2743, 5909, 10841, 31331, 64131, 13945, 91557}}, +{17063, 18, 61379, {1, 3, 1, 13, 31, 35, 5, 165, 417, 623, 1083, 1221, 1051, 8917, 6725, 11385, 76315, 119837}}, +{17064, 18, 61382, {1, 1, 5, 3, 21, 53, 47, 247, 471, 877, 709, 2425, 3, 1963, 24331, 52151, 98859, 119033}}, +{17065, 18, 61433, {1, 1, 7, 3, 29, 29, 43, 59, 503, 891, 763, 2927, 1613, 9091, 10393, 36003, 61147, 3437}}, +{17066, 18, 61434, {1, 1, 5, 15, 27, 59, 73, 163, 425, 855, 349, 3451, 5779, 10523, 9103, 46477, 129873, 39091}}, +{17067, 18, 61454, {1, 3, 7, 15, 25, 45, 77, 171, 467, 1017, 1553, 1877, 5507, 3909, 12157, 60441, 98261, 37781}}, +{17068, 18, 61461, {1, 1, 7, 13, 13, 39, 99, 51, 197, 327, 1101, 2679, 8025, 11853, 7763, 62537, 96999, 88673}}, +{17069, 18, 61475, {1, 3, 1, 11, 5, 61, 29, 219, 471, 387, 319, 433, 5383, 3933, 27603, 61171, 104711, 233295}}, +{17070, 18, 61481, {1, 3, 5, 11, 15, 23, 91, 119, 207, 717, 1333, 783, 437, 13073, 10923, 27049, 87233, 174899}}, +{17071, 18, 61534, {1, 1, 1, 1, 13, 19, 109, 139, 183, 299, 1023, 3265, 5153, 6307, 27879, 55311, 95201, 19481}}, +{17072, 18, 61547, {1, 1, 5, 11, 13, 61, 81, 115, 53, 483, 693, 3527, 5033, 8527, 31345, 46155, 12403, 126815}}, +{17073, 18, 61564, {1, 3, 7, 3, 27, 7, 73, 227, 269, 683, 719, 763, 5417, 9523, 13625, 6945, 116225, 223093}}, +{17074, 18, 61568, {1, 3, 5, 9, 21, 51, 111, 157, 451, 247, 1375, 1631, 2783, 3371, 22713, 34153, 41949, 141351}}, +{17075, 18, 61588, {1, 1, 5, 1, 21, 19, 45, 69, 41, 453, 523, 3163, 7351, 4467, 18865, 35371, 129577, 78039}}, +{17076, 18, 61604, {1, 3, 5, 1, 29, 33, 13, 19, 341, 321, 117, 1187, 7021, 5785, 5553, 58055, 113557, 46957}}, +{17077, 18, 61626, {1, 1, 5, 5, 13, 59, 47, 59, 69, 125, 1491, 2813, 5005, 5973, 3145, 27579, 7763, 129949}}, +{17078, 18, 61645, {1, 1, 7, 11, 11, 7, 117, 235, 407, 749, 1925, 1735, 4499, 13027, 19355, 1981, 105657, 242853}}, +{17079, 18, 61646, {1, 1, 7, 1, 15, 19, 5, 247, 203, 707, 809, 2085, 5801, 9947, 569, 9883, 109861, 156751}}, +{17080, 18, 61654, {1, 3, 5, 3, 13, 59, 67, 181, 261, 873, 1589, 2249, 7213, 14625, 28403, 41101, 73439, 46873}}, +{17081, 18, 61663, {1, 1, 5, 7, 3, 63, 79, 115, 123, 485, 1373, 3781, 4315, 4627, 29003, 64101, 67521, 184053}}, +{17082, 18, 61669, {1, 1, 3, 9, 11, 57, 93, 243, 505, 189, 449, 643, 5267, 7447, 32265, 44095, 63015, 36905}}, +{17083, 18, 61702, {1, 3, 7, 13, 25, 59, 31, 93, 401, 41, 183, 759, 2473, 8705, 8211, 13543, 59749, 235217}}, +{17084, 18, 61705, {1, 1, 5, 5, 29, 3, 65, 133, 325, 239, 649, 3225, 4095, 11691, 4479, 15419, 100551, 261981}}, +{17085, 18, 61714, {1, 3, 7, 1, 17, 11, 63, 97, 431, 161, 1437, 3679, 1643, 10583, 20731, 45919, 94093, 147067}}, +{17086, 18, 61739, {1, 1, 7, 1, 25, 13, 63, 155, 221, 345, 189, 1199, 5465, 14767, 26263, 54093, 23697, 71231}}, +{17087, 18, 61744, {1, 1, 7, 3, 3, 19, 23, 75, 381, 339, 1989, 1137, 6449, 1437, 32279, 17195, 117423, 259311}}, +{17088, 18, 61749, {1, 3, 5, 3, 27, 45, 117, 113, 129, 585, 2019, 807, 5573, 7407, 9957, 8741, 52333, 115607}}, +{17089, 18, 61776, {1, 1, 3, 7, 9, 5, 77, 9, 417, 725, 429, 1657, 5445, 1901, 28745, 26807, 111743, 169739}}, +{17090, 18, 61786, {1, 3, 1, 5, 7, 63, 51, 183, 117, 383, 435, 755, 7849, 5997, 32697, 5789, 5189, 80645}}, +{17091, 18, 61822, {1, 1, 3, 15, 5, 47, 105, 175, 41, 275, 1441, 3183, 3651, 9561, 5749, 20431, 45969, 59473}}, +{17092, 18, 61826, {1, 1, 1, 11, 13, 35, 19, 129, 125, 35, 339, 3099, 5337, 15605, 10213, 1171, 61869, 216681}}, +{17093, 18, 61862, {1, 3, 7, 1, 7, 25, 23, 9, 431, 73, 1803, 3969, 7853, 12845, 8075, 14553, 124825, 50561}}, +{17094, 18, 61865, {1, 1, 1, 7, 29, 21, 79, 247, 313, 143, 59, 2689, 5643, 827, 26597, 56423, 107903, 180809}}, +{17095, 18, 61868, {1, 3, 7, 1, 3, 3, 25, 39, 269, 529, 67, 3703, 2163, 12417, 6307, 29883, 40303, 171831}}, +{17096, 18, 61879, {1, 3, 7, 13, 1, 19, 71, 245, 267, 105, 749, 1203, 7953, 1881, 9273, 4629, 71793, 195393}}, +{17097, 18, 61885, {1, 1, 1, 15, 3, 49, 53, 145, 47, 959, 1107, 1361, 4517, 16055, 32119, 58433, 110123, 81487}}, +{17098, 18, 61900, {1, 3, 1, 1, 5, 3, 99, 93, 257, 659, 19, 3789, 203, 6183, 11571, 54845, 80591, 243303}}, +{17099, 18, 61905, {1, 3, 7, 1, 1, 7, 27, 11, 255, 261, 769, 2877, 6013, 8431, 25669, 43591, 122501, 208947}}, +{17100, 18, 61906, {1, 1, 7, 7, 3, 25, 117, 19, 15, 843, 401, 613, 801, 10579, 129, 12249, 107465, 95953}}, +{17101, 18, 61962, {1, 1, 3, 5, 1, 35, 95, 93, 243, 937, 1543, 3443, 175, 2199, 12521, 2521, 87225, 38631}}, +{17102, 18, 61967, {1, 3, 7, 13, 21, 29, 81, 139, 247, 937, 1835, 3887, 6917, 15709, 20947, 3341, 125521, 247195}}, +{17103, 18, 61972, {1, 1, 5, 11, 31, 19, 111, 215, 191, 347, 1215, 1757, 6751, 3099, 755, 43753, 2813, 159123}}, +{17104, 18, 61976, {1, 3, 3, 3, 31, 5, 35, 87, 293, 581, 1501, 3255, 7041, 5233, 2053, 63403, 37943, 12115}}, +{17105, 18, 62027, {1, 1, 7, 15, 11, 31, 5, 123, 225, 703, 733, 635, 2193, 3059, 30933, 43149, 79409, 106995}}, +{17106, 18, 62048, {1, 3, 1, 7, 11, 21, 45, 135, 99, 883, 85, 3861, 6617, 7169, 29887, 329, 42487, 129001}}, +{17107, 18, 62051, {1, 1, 1, 3, 11, 53, 31, 245, 141, 667, 1615, 3311, 1475, 12785, 3509, 47153, 105747, 141275}}, +{17108, 18, 62066, {1, 1, 3, 15, 7, 15, 55, 13, 465, 707, 1299, 1393, 399, 9229, 4897, 50313, 1275, 131811}}, +{17109, 18, 62081, {1, 1, 3, 15, 5, 57, 43, 19, 335, 929, 459, 327, 5715, 7173, 27643, 535, 46221, 144619}}, +{17110, 18, 62108, {1, 3, 5, 1, 9, 1, 63, 187, 71, 899, 969, 1349, 1553, 15593, 22783, 211, 41643, 163981}}, +{17111, 18, 62178, {1, 1, 1, 13, 3, 63, 35, 37, 311, 253, 1393, 629, 5299, 14837, 15053, 28041, 81541, 149037}}, +{17112, 18, 62189, {1, 3, 3, 11, 13, 45, 17, 165, 497, 751, 635, 2939, 6891, 14877, 32763, 20671, 106845, 258033}}, +{17113, 18, 62224, {1, 1, 3, 11, 21, 7, 3, 247, 243, 219, 1651, 929, 2737, 9507, 31819, 61389, 14593, 137207}}, +{17114, 18, 62229, {1, 1, 7, 5, 15, 33, 31, 29, 467, 75, 523, 1067, 7313, 11715, 26581, 47037, 106385, 199859}}, +{17115, 18, 62282, {1, 3, 1, 7, 19, 59, 35, 35, 3, 899, 799, 1379, 5113, 7653, 17977, 42197, 52397, 179705}}, +{17116, 18, 62318, {1, 1, 7, 5, 13, 13, 67, 157, 181, 633, 21, 3107, 6301, 7523, 23981, 9079, 88875, 195869}}, +{17117, 18, 62320, {1, 3, 7, 9, 7, 9, 115, 49, 293, 691, 1729, 4087, 6353, 963, 12433, 22135, 96383, 127745}}, +{17118, 18, 62329, {1, 3, 7, 7, 21, 5, 43, 247, 89, 275, 1219, 311, 5677, 7161, 13853, 38613, 84935, 223563}}, +{17119, 18, 62341, {1, 3, 1, 5, 29, 61, 17, 235, 127, 979, 973, 1463, 371, 5567, 6949, 34165, 3075, 169347}}, +{17120, 18, 62353, {1, 3, 3, 15, 25, 51, 43, 73, 7, 123, 1761, 1461, 5291, 14271, 19335, 45379, 123469, 190439}}, +{17121, 18, 62359, {1, 3, 3, 13, 19, 57, 25, 161, 351, 703, 819, 753, 3101, 9043, 19179, 22665, 118533, 45817}}, +{17122, 18, 62382, {1, 3, 5, 15, 3, 33, 15, 63, 251, 87, 611, 1187, 2639, 6001, 16135, 27505, 71077, 34101}}, +{17123, 18, 62389, {1, 1, 5, 3, 31, 5, 13, 239, 119, 803, 1881, 3479, 1933, 6421, 21411, 62923, 76851, 211029}}, +{17124, 18, 62396, {1, 3, 1, 11, 13, 59, 13, 77, 87, 343, 1733, 3493, 5937, 15733, 7763, 12839, 68639, 70965}}, +{17125, 18, 62425, {1, 1, 1, 3, 5, 19, 73, 109, 197, 1007, 1369, 623, 3249, 9263, 12463, 37105, 40599, 115323}}, +{17126, 18, 62455, {1, 1, 7, 1, 21, 23, 27, 221, 117, 27, 1811, 837, 7355, 8083, 12657, 34137, 102025, 6511}}, +{17127, 18, 62484, {1, 3, 7, 13, 13, 29, 7, 103, 511, 449, 1443, 775, 3503, 1057, 8809, 48583, 27649, 206219}}, +{17128, 18, 62494, {1, 1, 7, 1, 15, 37, 53, 205, 393, 691, 989, 3493, 7813, 12371, 18125, 62569, 57075, 100625}}, +{17129, 18, 62507, {1, 3, 5, 7, 11, 11, 55, 7, 487, 861, 1589, 1003, 607, 10031, 22481, 41905, 67791, 168167}}, +{17130, 18, 62512, {1, 3, 1, 9, 21, 31, 25, 187, 315, 379, 961, 2721, 3395, 12321, 21693, 56977, 73197, 160023}}, +{17131, 18, 62550, {1, 3, 3, 7, 9, 25, 103, 1, 13, 1021, 1777, 1015, 2269, 2131, 191, 2561, 74755, 27131}}, +{17132, 18, 62577, {1, 1, 3, 13, 21, 29, 97, 153, 499, 207, 719, 585, 8155, 2873, 22073, 45933, 92875, 19205}}, +{17133, 18, 62590, {1, 3, 7, 15, 13, 31, 43, 223, 405, 839, 1241, 2219, 6911, 9469, 24477, 63157, 95503, 128431}}, +{17134, 18, 62599, {1, 3, 5, 15, 5, 11, 79, 129, 235, 171, 289, 1791, 6061, 9107, 13859, 55923, 30197, 111025}}, +{17135, 18, 62617, {1, 1, 7, 11, 13, 23, 51, 139, 219, 467, 1923, 2847, 1977, 1503, 1939, 55579, 65357, 50047}}, +{17136, 18, 62679, {1, 3, 7, 11, 27, 25, 91, 95, 73, 189, 1537, 273, 725, 1215, 15255, 18847, 67419, 162153}}, +{17137, 18, 62702, {1, 3, 3, 11, 3, 63, 49, 131, 219, 285, 819, 2801, 2645, 2943, 15055, 15659, 130641, 82913}}, +{17138, 18, 62745, {1, 1, 3, 7, 17, 19, 37, 59, 391, 1009, 1569, 2569, 2519, 33, 18827, 23277, 94797, 103673}}, +{17139, 18, 62772, {1, 3, 5, 9, 27, 57, 69, 185, 49, 829, 29, 1247, 6129, 14935, 8005, 48343, 55789, 170099}}, +{17140, 18, 62794, {1, 3, 3, 7, 19, 55, 77, 231, 79, 787, 1597, 2701, 4999, 4247, 31849, 7797, 118993, 77871}}, +{17141, 18, 62835, {1, 1, 7, 13, 5, 45, 105, 137, 239, 923, 593, 3227, 3603, 15463, 15533, 55285, 95295, 141951}}, +{17142, 18, 62842, {1, 3, 1, 5, 29, 3, 113, 241, 255, 181, 1933, 2579, 1865, 11083, 8023, 34271, 78603, 240781}}, +{17143, 18, 62847, {1, 1, 3, 7, 17, 21, 123, 75, 305, 485, 9, 3037, 677, 8001, 16803, 25851, 121773, 77729}}, +{17144, 18, 62857, {1, 3, 1, 5, 23, 7, 39, 25, 381, 1003, 361, 995, 1751, 9599, 6399, 9627, 19303, 249899}}, +{17145, 18, 62894, {1, 3, 5, 5, 13, 39, 65, 145, 351, 135, 981, 3657, 4711, 13649, 17253, 46443, 99187, 176683}}, +{17146, 18, 62911, {1, 3, 1, 9, 9, 41, 79, 237, 445, 507, 1947, 2905, 8161, 715, 24499, 62397, 26393, 197221}}, +{17147, 18, 62928, {1, 3, 5, 3, 23, 9, 107, 121, 59, 265, 177, 3495, 391, 4537, 32099, 45217, 128285, 259285}}, +{17148, 18, 62954, {1, 3, 3, 15, 5, 61, 87, 209, 139, 461, 485, 3261, 7425, 6193, 22221, 22145, 93989, 101459}}, +{17149, 18, 62964, {1, 3, 1, 1, 15, 51, 29, 145, 385, 695, 375, 3743, 1387, 15385, 7995, 22993, 64115, 239897}}, +{17150, 18, 62977, {1, 1, 5, 15, 9, 11, 73, 219, 293, 941, 477, 3935, 2717, 9559, 20537, 6935, 39711, 13623}}, +{17151, 18, 62984, {1, 3, 3, 11, 3, 23, 127, 21, 61, 59, 1685, 507, 3883, 6587, 6355, 65407, 54311, 228555}}, +{17152, 18, 63007, {1, 3, 1, 1, 25, 47, 51, 111, 77, 871, 1045, 4017, 7683, 7729, 24155, 3481, 31749, 245155}}, +{17153, 18, 63017, {1, 3, 5, 1, 25, 29, 119, 131, 475, 763, 1639, 1937, 7387, 2307, 24081, 34797, 91785, 52055}}, +{17154, 18, 63058, {1, 1, 5, 1, 29, 19, 119, 111, 119, 751, 1079, 1911, 4085, 8909, 4351, 30037, 37691, 57175}}, +{17155, 18, 63067, {1, 1, 7, 7, 27, 33, 71, 189, 105, 821, 1543, 2939, 3829, 6485, 22235, 7097, 76987, 207121}}, +{17156, 18, 63085, {1, 1, 3, 3, 7, 7, 65, 121, 355, 405, 1019, 1779, 7301, 10609, 25927, 16501, 37287, 133383}}, +{17157, 18, 63150, {1, 1, 3, 11, 31, 57, 109, 197, 165, 711, 271, 653, 5835, 14905, 26065, 52287, 106215, 225075}}, +{17158, 18, 63170, {1, 1, 3, 3, 1, 41, 5, 169, 15, 49, 1311, 2715, 579, 1693, 28001, 17935, 18585, 123531}}, +{17159, 18, 63184, {1, 1, 7, 7, 1, 49, 59, 75, 173, 361, 1947, 2707, 1835, 12025, 24051, 24359, 121841, 215797}}, +{17160, 18, 63210, {1, 1, 5, 13, 7, 49, 15, 181, 409, 1005, 383, 3449, 2987, 13051, 7097, 34571, 55495, 65251}}, +{17161, 18, 63215, {1, 1, 3, 11, 5, 9, 67, 41, 9, 79, 401, 379, 4107, 5231, 519, 47877, 17273, 137479}}, +{17162, 18, 63217, {1, 1, 3, 13, 25, 7, 9, 165, 103, 37, 1369, 933, 1119, 1025, 19767, 25765, 55487, 249709}}, +{17163, 18, 63229, {1, 3, 5, 5, 19, 53, 105, 135, 245, 957, 185, 2901, 1741, 10429, 747, 23365, 49363, 84095}}, +{17164, 18, 63237, {1, 1, 1, 15, 29, 17, 107, 193, 17, 447, 1261, 1935, 5749, 2303, 23287, 59883, 28655, 188055}}, +{17165, 18, 63259, {1, 1, 5, 9, 13, 27, 99, 253, 299, 481, 89, 3041, 1549, 15417, 30495, 2063, 53649, 219883}}, +{17166, 18, 63265, {1, 3, 3, 15, 19, 19, 7, 149, 67, 349, 789, 129, 2783, 2887, 28631, 26001, 62407, 151767}}, +{17167, 18, 63271, {1, 3, 3, 13, 7, 29, 65, 25, 93, 627, 301, 721, 7249, 13295, 19995, 33715, 36441, 157625}}, +{17168, 18, 63286, {1, 1, 1, 3, 29, 63, 85, 27, 507, 543, 1887, 3169, 4239, 4455, 22047, 15369, 48913, 192071}}, +{17169, 18, 63298, {1, 3, 7, 5, 9, 33, 125, 41, 7, 723, 1091, 3311, 8173, 3861, 31507, 42669, 68853, 60043}}, +{17170, 18, 63343, {1, 3, 1, 13, 13, 7, 121, 41, 181, 913, 371, 163, 7061, 8779, 18345, 41915, 1785, 107113}}, +{17171, 18, 63355, {1, 1, 1, 9, 13, 41, 23, 35, 157, 247, 1243, 1101, 5193, 4027, 29917, 44099, 46211, 162059}}, +{17172, 18, 63361, {1, 3, 1, 5, 15, 51, 3, 241, 131, 741, 1885, 2397, 5673, 9097, 9319, 15381, 55655, 207569}}, +{17173, 18, 63362, {1, 1, 3, 15, 25, 15, 69, 55, 435, 727, 1007, 375, 7871, 10437, 11011, 36711, 11269, 105159}}, +{17174, 18, 63379, {1, 3, 3, 13, 17, 1, 101, 189, 295, 185, 1715, 2609, 6767, 11751, 11469, 3951, 80743, 114439}}, +{17175, 18, 63397, {1, 3, 1, 7, 21, 41, 93, 39, 433, 917, 279, 161, 267, 10201, 26583, 30363, 110187, 46501}}, +{17176, 18, 63415, {1, 1, 7, 7, 13, 15, 89, 167, 365, 925, 107, 3537, 6815, 15251, 23149, 61821, 66569, 135353}}, +{17177, 18, 63421, {1, 1, 1, 3, 13, 59, 21, 255, 111, 603, 547, 465, 3001, 16055, 26389, 64301, 112751, 219279}}, +{17178, 18, 63463, {1, 1, 1, 15, 17, 3, 21, 49, 327, 349, 489, 957, 807, 11685, 23975, 34729, 100773, 223551}}, +{17179, 18, 63491, {1, 3, 5, 15, 19, 59, 63, 71, 233, 767, 1789, 3609, 5911, 3405, 7519, 3611, 92015, 126669}}, +{17180, 18, 63527, {1, 1, 1, 11, 7, 31, 79, 57, 115, 763, 1643, 3329, 7209, 1385, 15565, 64353, 60637, 59445}}, +{17181, 18, 63545, {1, 1, 3, 1, 13, 3, 47, 89, 507, 523, 1, 1391, 6973, 7267, 32527, 52631, 20775, 234503}}, +{17182, 18, 63553, {1, 3, 1, 9, 23, 23, 95, 57, 295, 857, 213, 1211, 3503, 3043, 24843, 16149, 118719, 171585}}, +{17183, 18, 63560, {1, 3, 1, 5, 1, 13, 63, 167, 305, 711, 759, 2521, 5051, 9125, 22917, 24647, 100777, 261137}}, +{17184, 18, 63563, {1, 1, 5, 9, 25, 19, 5, 225, 511, 543, 685, 733, 7249, 10447, 11115, 25927, 104327, 92861}}, +{17185, 18, 63566, {1, 3, 1, 7, 15, 7, 15, 83, 379, 461, 943, 317, 7735, 12655, 7549, 6371, 20901, 170331}}, +{17186, 18, 63589, {1, 1, 1, 13, 7, 17, 41, 51, 47, 15, 477, 1203, 819, 1615, 13805, 40147, 3967, 192647}}, +{17187, 18, 63599, {1, 3, 7, 11, 9, 11, 111, 75, 171, 833, 1503, 2325, 7279, 2687, 16499, 11547, 99409, 186429}}, +{17188, 18, 63601, {1, 1, 5, 3, 13, 21, 75, 17, 447, 647, 1309, 2297, 7911, 12093, 16237, 50831, 96123, 134479}}, +{17189, 18, 63608, {1, 1, 5, 15, 19, 29, 35, 255, 291, 437, 85, 2143, 3281, 3629, 29339, 28169, 46561, 236595}}, +{17190, 18, 63620, {1, 3, 7, 1, 31, 57, 125, 109, 317, 461, 681, 1379, 6387, 14971, 8451, 17655, 87619, 51721}}, +{17191, 18, 63654, {1, 3, 7, 1, 23, 33, 45, 149, 43, 465, 997, 601, 693, 6273, 12867, 25885, 81353, 60437}}, +{17192, 18, 63703, {1, 1, 7, 7, 31, 25, 113, 205, 481, 141, 1757, 587, 2981, 7637, 3869, 4151, 69541, 68587}}, +{17193, 18, 63719, {1, 1, 7, 13, 17, 31, 69, 247, 137, 79, 1221, 1693, 3747, 10711, 1671, 31587, 12139, 248585}}, +{17194, 18, 63758, {1, 1, 1, 3, 1, 61, 39, 139, 37, 79, 125, 1145, 7505, 10129, 29209, 52045, 99159, 195553}}, +{17195, 18, 63769, {1, 1, 5, 3, 13, 41, 13, 11, 167, 953, 1961, 3557, 871, 1687, 28479, 10621, 27533, 243519}}, +{17196, 18, 63782, {1, 1, 7, 7, 1, 35, 107, 227, 375, 225, 483, 1239, 7591, 8549, 7351, 62001, 70245, 102795}}, +{17197, 18, 63803, {1, 1, 1, 9, 29, 35, 15, 3, 337, 1017, 1065, 2107, 2457, 9455, 7069, 55081, 57887, 149679}}, +{17198, 18, 63811, {1, 1, 7, 1, 1, 1, 13, 63, 287, 895, 593, 1253, 4717, 10313, 10275, 22143, 59149, 38865}}, +{17199, 18, 63851, {1, 1, 3, 15, 27, 39, 73, 11, 509, 391, 1901, 503, 5523, 6777, 30849, 41301, 35067, 68443}}, +{17200, 18, 63854, {1, 3, 3, 15, 17, 57, 39, 229, 273, 917, 577, 3627, 3285, 4495, 28581, 34011, 38537, 194999}}, +{17201, 18, 63872, {1, 1, 7, 3, 17, 51, 91, 203, 161, 757, 581, 1625, 477, 8839, 16515, 43101, 121497, 23603}}, +{17202, 18, 63878, {1, 3, 3, 5, 19, 29, 55, 127, 283, 999, 1227, 1937, 4471, 11305, 8813, 40509, 78521, 175573}}, +{17203, 18, 63895, {1, 3, 3, 3, 5, 29, 33, 249, 25, 213, 1315, 393, 6967, 12751, 7485, 39561, 14801, 191921}}, +{17204, 18, 63917, {1, 3, 7, 9, 23, 15, 93, 69, 23, 239, 1993, 3375, 539, 14141, 10123, 33561, 127565, 181527}}, +{17205, 18, 63930, {1, 3, 3, 15, 13, 15, 65, 241, 83, 351, 1943, 1305, 7181, 11803, 31907, 63623, 5439, 150661}}, +{17206, 18, 63935, {1, 3, 7, 11, 13, 17, 17, 37, 409, 577, 973, 797, 1761, 5333, 13803, 22991, 29743, 53051}}, +{17207, 18, 63955, {1, 3, 5, 5, 27, 25, 91, 225, 411, 23, 877, 2487, 8061, 12337, 11471, 8857, 10791, 112699}}, +{17208, 18, 63964, {1, 1, 5, 3, 15, 1, 87, 249, 205, 1011, 2045, 1879, 4137, 5877, 12709, 5231, 74283, 124315}}, +{17209, 18, 63967, {1, 1, 7, 7, 31, 37, 117, 71, 139, 391, 1085, 4033, 3087, 3063, 19991, 8787, 96899, 17279}}, +{17210, 18, 63980, {1, 1, 7, 15, 19, 47, 45, 181, 303, 151, 337, 2557, 6131, 3161, 13097, 52777, 77783, 259817}}, +{17211, 18, 63985, {1, 1, 3, 3, 1, 55, 115, 227, 83, 591, 967, 4067, 3441, 243, 13443, 4043, 129365, 161459}}, +{17212, 18, 63992, {1, 1, 3, 15, 5, 23, 71, 31, 271, 585, 931, 909, 3375, 15063, 12111, 35811, 124047, 68225}}, +{17213, 18, 64021, {1, 1, 5, 11, 1, 59, 19, 193, 323, 489, 837, 3709, 1807, 11617, 30931, 33561, 2805, 100979}}, +{17214, 18, 64026, {1, 3, 5, 7, 27, 7, 71, 67, 167, 521, 1237, 2911, 3531, 2885, 4669, 25703, 87647, 36381}}, +{17215, 18, 64044, {1, 3, 3, 13, 13, 21, 97, 225, 477, 1023, 2029, 877, 3849, 4675, 17665, 19257, 9697, 168577}}, +{17216, 18, 64055, {1, 1, 7, 15, 25, 31, 19, 255, 45, 539, 1831, 2655, 7471, 12011, 12455, 3681, 123881, 234471}}, +{17217, 18, 64056, {1, 1, 3, 9, 17, 39, 105, 73, 271, 555, 987, 873, 5371, 12381, 13469, 54961, 125701, 194063}}, +{17218, 18, 64061, {1, 1, 5, 5, 7, 27, 15, 195, 121, 175, 991, 955, 5007, 11423, 1539, 21381, 79891, 162149}}, +{17219, 18, 64067, {1, 3, 1, 7, 25, 23, 69, 69, 177, 545, 481, 3503, 3721, 1077, 8763, 6919, 64743, 172311}}, +{17220, 18, 64081, {1, 1, 3, 15, 31, 5, 33, 45, 81, 795, 435, 399, 4591, 3741, 26493, 14791, 59529, 89989}}, +{17221, 18, 64100, {1, 1, 7, 13, 21, 29, 95, 75, 213, 59, 1635, 479, 441, 14667, 16389, 9139, 30955, 169895}}, +{17222, 18, 64109, {1, 3, 3, 3, 17, 61, 103, 85, 233, 287, 447, 2687, 4755, 9489, 1669, 10405, 58489, 170429}}, +{17223, 18, 64112, {1, 1, 5, 5, 13, 9, 63, 129, 321, 531, 393, 3353, 5309, 16375, 20473, 12595, 52239, 183647}}, +{17224, 18, 64118, {1, 1, 3, 7, 7, 31, 101, 253, 119, 325, 351, 2321, 1899, 14073, 8985, 13609, 32043, 33225}}, +{17225, 18, 64124, {1, 1, 3, 13, 7, 25, 73, 191, 399, 591, 819, 2859, 6053, 815, 30417, 5709, 18277, 121991}}, +{17226, 18, 64145, {1, 3, 3, 1, 7, 47, 7, 81, 451, 463, 699, 1857, 8169, 15649, 22693, 28673, 9717, 227583}}, +{17227, 18, 64151, {1, 3, 3, 3, 31, 45, 123, 205, 23, 901, 1003, 1149, 7481, 6925, 23845, 18573, 97047, 248957}}, +{17228, 18, 64203, {1, 1, 3, 3, 21, 9, 53, 241, 125, 583, 1055, 3981, 8113, 12477, 8455, 6289, 112253, 17321}}, +{17229, 18, 64208, {1, 1, 7, 3, 19, 5, 51, 111, 443, 283, 117, 2127, 4273, 2335, 20373, 2885, 57439, 56839}}, +{17230, 18, 64236, {1, 1, 5, 15, 7, 5, 65, 163, 27, 691, 1667, 69, 2459, 7477, 21349, 52417, 42299, 75965}}, +{17231, 18, 64254, {1, 1, 1, 13, 13, 19, 87, 223, 475, 205, 1113, 887, 2213, 5533, 15875, 36173, 53933, 200173}}, +{17232, 18, 64261, {1, 3, 3, 13, 23, 17, 93, 37, 391, 127, 873, 1445, 3007, 10863, 21245, 55025, 99275, 255329}}, +{17233, 18, 64280, {1, 3, 1, 15, 1, 47, 57, 5, 207, 825, 161, 539, 6151, 12829, 14121, 51217, 25547, 234303}}, +{17234, 18, 64296, {1, 1, 5, 1, 21, 63, 15, 83, 19, 817, 591, 3131, 889, 12451, 14363, 27295, 83877, 124701}}, +{17235, 18, 64313, {1, 1, 7, 7, 11, 21, 87, 85, 13, 555, 163, 9, 5973, 14749, 19585, 57287, 43421, 66301}}, +{17236, 18, 64314, {1, 3, 5, 5, 7, 33, 19, 7, 9, 819, 533, 2105, 4275, 10611, 30517, 35863, 84687, 245157}}, +{17237, 18, 64316, {1, 3, 5, 13, 3, 55, 111, 157, 235, 405, 39, 2191, 905, 3099, 245, 37371, 365, 257385}}, +{17238, 18, 64348, {1, 3, 3, 13, 29, 39, 125, 235, 213, 879, 497, 1659, 6689, 12165, 18621, 14657, 37079, 167867}}, +{17239, 18, 64352, {1, 1, 5, 15, 5, 5, 27, 197, 77, 477, 1115, 3369, 2253, 5757, 20855, 4473, 112501, 76881}}, +{17240, 18, 64355, {1, 3, 3, 13, 13, 61, 37, 97, 229, 743, 1381, 3979, 307, 319, 16765, 56295, 109303, 21361}}, +{17241, 18, 64361, {1, 1, 7, 11, 19, 7, 63, 145, 129, 899, 93, 1851, 7901, 8767, 15553, 13913, 4897, 129483}}, +{17242, 18, 64388, {1, 3, 5, 11, 7, 23, 19, 5, 465, 365, 883, 3563, 4395, 2759, 4273, 623, 75047, 249519}}, +{17243, 18, 64398, {1, 3, 1, 5, 29, 43, 75, 7, 509, 373, 359, 2041, 5957, 1251, 32431, 37803, 120915, 45137}}, +{17244, 18, 64403, {1, 3, 1, 5, 21, 9, 43, 1, 337, 743, 1359, 1629, 5117, 2499, 16129, 22831, 38795, 32137}}, +{17245, 18, 64419, {1, 3, 3, 7, 23, 57, 9, 31, 351, 559, 1729, 1461, 3037, 12685, 8899, 14859, 108851, 170195}}, +{17246, 18, 64421, {1, 1, 1, 15, 23, 57, 39, 23, 283, 487, 1055, 1265, 6781, 7955, 195, 37745, 66115, 56413}}, +{17247, 18, 64428, {1, 1, 3, 7, 27, 35, 57, 17, 137, 17, 905, 4033, 5775, 5305, 22975, 17547, 106297, 146287}}, +{17248, 18, 64453, {1, 1, 1, 3, 5, 39, 73, 151, 469, 523, 119, 539, 2817, 7783, 22957, 59937, 21331, 172437}}, +{17249, 18, 64463, {1, 1, 3, 13, 21, 1, 23, 109, 113, 257, 817, 1671, 6729, 1571, 15009, 48539, 94025, 160379}}, +{17250, 18, 64475, {1, 1, 1, 1, 31, 23, 83, 107, 225, 715, 949, 69, 2163, 4777, 7715, 25901, 82935, 81455}}, +{17251, 18, 64511, {1, 3, 5, 13, 29, 11, 61, 169, 241, 973, 315, 3991, 1389, 3293, 31123, 59419, 7359, 170929}}, +{17252, 18, 64537, {1, 1, 7, 3, 21, 15, 111, 41, 329, 513, 1175, 4037, 2747, 11465, 17253, 54055, 29409, 230925}}, +{17253, 18, 64576, {1, 3, 5, 15, 31, 17, 105, 45, 61, 339, 1387, 1021, 4499, 13671, 25521, 52081, 49153, 31587}}, +{17254, 18, 64579, {1, 3, 3, 3, 29, 17, 51, 103, 429, 849, 1759, 1267, 6255, 4631, 32643, 44977, 40875, 239457}}, +{17255, 18, 64581, {1, 1, 7, 15, 3, 11, 123, 157, 73, 151, 777, 3855, 1913, 969, 11821, 16889, 63503, 197305}}, +{17256, 18, 64606, {1, 3, 1, 5, 13, 49, 61, 209, 105, 523, 851, 3667, 7525, 5537, 12851, 42867, 50535, 131403}}, +{17257, 18, 64615, {1, 3, 1, 7, 13, 19, 107, 71, 479, 895, 405, 89, 1345, 5543, 12709, 6093, 97581, 20483}}, +{17258, 18, 64649, {1, 3, 3, 11, 3, 47, 117, 175, 175, 321, 1257, 365, 1193, 12813, 2713, 26941, 43605, 223323}}, +{17259, 18, 64655, {1, 1, 7, 1, 19, 35, 45, 143, 395, 255, 1599, 575, 2637, 1287, 27673, 48329, 57975, 44173}}, +{17260, 18, 64664, {1, 3, 5, 1, 1, 19, 107, 233, 465, 661, 91, 4007, 6409, 3399, 8175, 54171, 111417, 124955}}, +{17261, 18, 64667, {1, 1, 5, 13, 9, 27, 121, 225, 55, 761, 779, 3015, 6333, 10779, 26531, 57103, 33463, 90219}}, +{17262, 18, 64712, {1, 3, 1, 9, 17, 3, 85, 147, 111, 133, 869, 1833, 2401, 5811, 24415, 27095, 65529, 164121}}, +{17263, 18, 64715, {1, 1, 5, 13, 11, 37, 13, 83, 391, 909, 2013, 1327, 6697, 1711, 29265, 10607, 20127, 57873}}, +{17264, 18, 64718, {1, 3, 1, 11, 17, 17, 33, 101, 383, 837, 1769, 1711, 3735, 14777, 27101, 56853, 110643, 101917}}, +{17265, 18, 64741, {1, 3, 5, 13, 25, 7, 37, 99, 473, 211, 1469, 1827, 6307, 8835, 15853, 22027, 43095, 15817}}, +{17266, 18, 64766, {1, 3, 1, 5, 19, 13, 61, 193, 57, 359, 1277, 749, 5499, 11239, 20681, 48477, 7225, 259259}}, +{17267, 18, 64780, {1, 1, 1, 7, 27, 17, 79, 213, 307, 761, 429, 1519, 7483, 6007, 11251, 13263, 24851, 7919}}, +{17268, 18, 64788, {1, 1, 3, 5, 9, 37, 101, 149, 405, 413, 1213, 157, 3811, 4485, 13099, 32697, 75677, 127815}}, +{17269, 18, 64791, {1, 3, 3, 7, 29, 29, 13, 113, 45, 885, 1471, 3433, 2289, 4375, 815, 16741, 20933, 9763}}, +{17270, 18, 64795, {1, 3, 5, 15, 5, 3, 7, 37, 347, 41, 1977, 395, 6363, 3591, 21457, 31455, 60547, 108153}}, +{17271, 18, 64798, {1, 3, 5, 7, 19, 9, 113, 1, 241, 439, 731, 1591, 3347, 1295, 6635, 25267, 13239, 214669}}, +{17272, 18, 64816, {1, 1, 3, 5, 7, 7, 69, 77, 281, 851, 1533, 1, 7351, 3429, 29237, 54597, 11171, 66613}}, +{17273, 18, 64819, {1, 1, 7, 15, 29, 7, 59, 9, 105, 129, 1397, 3841, 3945, 4755, 19877, 11109, 17497, 225473}}, +{17274, 18, 64822, {1, 3, 7, 7, 15, 61, 3, 207, 97, 229, 1251, 101, 3157, 5729, 15579, 14849, 119119, 91891}}, +{17275, 18, 64833, {1, 3, 3, 9, 27, 15, 85, 221, 231, 577, 1787, 3489, 2393, 7593, 13175, 25561, 108505, 97267}}, +{17276, 18, 64836, {1, 3, 7, 13, 23, 3, 7, 85, 307, 899, 371, 3539, 3467, 7955, 9539, 53583, 125587, 30969}}, +{17277, 18, 64876, {1, 1, 5, 7, 7, 31, 115, 245, 375, 803, 1121, 3775, 3565, 15283, 25981, 24681, 34469, 172003}}, +{17278, 18, 64891, {1, 1, 5, 1, 31, 5, 5, 161, 153, 235, 1703, 2163, 1089, 16233, 6183, 25167, 102925, 36673}}, +{17279, 18, 64907, {1, 3, 3, 5, 1, 57, 59, 5, 87, 497, 151, 1731, 2727, 4583, 28165, 63053, 76003, 29259}}, +{17280, 18, 64943, {1, 1, 5, 7, 5, 21, 79, 111, 347, 879, 827, 3947, 4421, 9589, 23971, 11681, 104555, 226535}}, +{17281, 18, 64965, {1, 1, 5, 1, 17, 35, 105, 159, 391, 495, 1709, 3731, 261, 2359, 1413, 37105, 8979, 189381}}, +{17282, 18, 64977, {1, 3, 3, 1, 11, 23, 21, 213, 261, 755, 1503, 2369, 1765, 14531, 2605, 15609, 48691, 113059}}, +{17283, 18, 64999, {1, 3, 5, 1, 1, 55, 87, 197, 89, 391, 1157, 3523, 385, 5871, 13681, 29097, 101903, 184553}}, +{17284, 18, 65034, {1, 3, 7, 5, 17, 51, 87, 191, 495, 761, 1943, 1845, 2963, 13133, 22439, 20101, 96759, 215215}}, +{17285, 18, 65036, {1, 3, 5, 11, 23, 9, 53, 41, 229, 233, 2025, 2835, 2359, 4755, 3015, 48267, 20721, 61001}}, +{17286, 18, 65089, {1, 1, 7, 9, 27, 35, 45, 201, 137, 291, 151, 733, 6199, 3127, 3073, 14491, 95051, 12469}}, +{17287, 18, 65107, {1, 1, 1, 9, 7, 49, 73, 233, 239, 881, 1991, 695, 5947, 9377, 12027, 41137, 80217, 122961}}, +{17288, 18, 65110, {1, 1, 5, 11, 3, 15, 85, 203, 305, 945, 1007, 1831, 3999, 373, 21141, 63829, 91779, 122495}}, +{17289, 18, 65120, {1, 1, 1, 11, 23, 51, 127, 215, 441, 467, 229, 3071, 2731, 8813, 30155, 60289, 54531, 196187}}, +{17290, 18, 65132, {1, 3, 5, 15, 29, 31, 11, 129, 443, 649, 773, 3035, 7915, 13831, 31979, 5577, 42869, 153591}}, +{17291, 18, 65143, {1, 1, 3, 11, 21, 37, 23, 79, 153, 7, 1801, 441, 8189, 7235, 6311, 965, 71993, 81755}}, +{17292, 18, 65150, {1, 3, 5, 5, 23, 13, 93, 39, 247, 367, 811, 1381, 6809, 16219, 8755, 41923, 79873, 105781}}, +{17293, 18, 65177, {1, 3, 5, 9, 19, 43, 21, 229, 251, 187, 1047, 2295, 5529, 2965, 1507, 16185, 121183, 30551}}, +{17294, 18, 65201, {1, 3, 7, 9, 19, 11, 33, 213, 39, 811, 231, 1527, 6093, 1507, 3541, 37585, 78785, 215419}}, +{17295, 18, 65214, {1, 3, 7, 7, 11, 13, 109, 119, 175, 311, 719, 3127, 6351, 1909, 5441, 5411, 58751, 80875}}, +{17296, 18, 65234, {1, 1, 1, 7, 17, 35, 57, 139, 289, 137, 1919, 2131, 6145, 3953, 24887, 64737, 4677, 23833}}, +{17297, 18, 65240, {1, 1, 3, 13, 1, 21, 83, 243, 27, 69, 501, 3925, 3339, 13313, 27021, 38319, 76441, 146397}}, +{17298, 18, 65243, {1, 3, 7, 9, 15, 17, 97, 117, 505, 673, 1333, 3891, 7775, 6323, 12967, 17387, 19501, 68347}}, +{17299, 18, 65259, {1, 1, 1, 5, 27, 55, 43, 47, 399, 147, 1539, 2663, 5555, 11993, 8759, 33783, 8361, 78633}}, +{17300, 18, 65276, {1, 1, 1, 15, 1, 17, 21, 85, 129, 117, 339, 1319, 1119, 6869, 12913, 56873, 30795, 76849}}, +{17301, 18, 65287, {1, 1, 5, 5, 11, 1, 11, 175, 355, 737, 1367, 3089, 5993, 4377, 10325, 3817, 61735, 187689}}, +{17302, 18, 65306, {1, 3, 5, 5, 21, 41, 85, 219, 425, 611, 1219, 1849, 349, 925, 26185, 31591, 23855, 35549}}, +{17303, 18, 65311, {1, 1, 3, 5, 21, 3, 77, 25, 265, 949, 1979, 1561, 4243, 12437, 5215, 23445, 33295, 130385}}, +{17304, 18, 65321, {1, 1, 3, 1, 13, 7, 3, 81, 143, 735, 31, 1781, 1537, 10789, 11923, 61589, 75761, 178837}}, +{17305, 18, 65350, {1, 1, 7, 7, 11, 47, 55, 37, 39, 533, 1773, 3121, 183, 7193, 19403, 45757, 20457, 158437}}, +{17306, 18, 65364, {1, 1, 5, 5, 3, 15, 53, 41, 139, 529, 601, 2967, 4683, 3869, 13449, 30155, 85833, 190053}}, +{17307, 18, 65451, {1, 1, 5, 1, 11, 39, 85, 131, 349, 175, 267, 779, 923, 5905, 32727, 22055, 63087, 247607}}, +{17308, 18, 65488, {1, 3, 5, 7, 7, 59, 11, 49, 465, 617, 557, 251, 1303, 10369, 29207, 13457, 113591, 43717}}, +{17309, 18, 65510, {1, 3, 5, 3, 27, 39, 21, 157, 39, 891, 1833, 2887, 7395, 7965, 21771, 42675, 71705, 177323}}, +{17310, 18, 65528, {1, 3, 7, 7, 21, 51, 53, 83, 433, 889, 1033, 1701, 6285, 14335, 1683, 3637, 110241, 110355}}, +{17311, 18, 65533, {1, 1, 7, 7, 11, 23, 35, 63, 71, 867, 79, 2551, 1837, 773, 21093, 60433, 67305, 70731}}, +{17312, 18, 65553, {1, 3, 5, 11, 9, 25, 67, 23, 137, 75, 707, 2229, 6237, 9871, 29063, 30433, 112897, 68037}}, +{17313, 18, 65563, {1, 3, 7, 13, 1, 45, 119, 149, 487, 667, 1177, 2927, 1875, 11963, 20771, 1177, 2331, 244039}}, +{17314, 18, 65579, {1, 3, 3, 7, 19, 61, 89, 163, 91, 409, 1109, 1947, 1017, 12385, 13487, 45645, 64175, 184221}}, +{17315, 18, 65621, {1, 1, 1, 15, 13, 47, 21, 203, 341, 845, 443, 1891, 2591, 2721, 7515, 52161, 70359, 173139}}, +{17316, 18, 65625, {1, 3, 3, 11, 5, 3, 119, 179, 509, 33, 1909, 2531, 6713, 12447, 30157, 61019, 45857, 165557}}, +{17317, 18, 65635, {1, 3, 7, 5, 3, 47, 79, 55, 321, 71, 1917, 4053, 6603, 3079, 28133, 15611, 99161, 118279}}, +{17318, 18, 65644, {1, 1, 1, 7, 19, 13, 3, 31, 213, 705, 435, 2381, 991, 4719, 24473, 8907, 122013, 228081}}, +{17319, 18, 65690, {1, 1, 7, 11, 27, 15, 5, 123, 169, 197, 361, 3803, 2001, 14547, 22967, 27575, 118325, 130651}}, +{17320, 18, 65696, {1, 3, 3, 5, 29, 43, 77, 15, 463, 753, 695, 3489, 2023, 9913, 13029, 26621, 129393, 209439}}, +{17321, 18, 65705, {1, 1, 5, 15, 1, 39, 55, 129, 247, 729, 1537, 2529, 3981, 13153, 1505, 12743, 104173, 218423}}, +{17322, 18, 65716, {1, 3, 7, 3, 21, 3, 49, 173, 445, 821, 3, 2671, 1865, 1377, 7589, 65485, 96485, 80193}}, +{17323, 18, 65725, {1, 3, 3, 11, 7, 21, 99, 143, 333, 869, 1469, 1579, 1749, 2203, 18773, 47377, 103211, 238357}}, +{17324, 18, 65733, {1, 3, 5, 11, 11, 19, 25, 253, 229, 755, 101, 269, 6703, 5603, 23201, 57163, 28431, 159653}}, +{17325, 18, 65740, {1, 3, 5, 3, 3, 15, 45, 225, 325, 997, 1061, 883, 3885, 7633, 461, 44411, 52129, 84535}}, +{17326, 18, 65758, {1, 1, 7, 1, 27, 29, 51, 23, 473, 443, 117, 3021, 55, 7413, 7911, 3063, 47533, 234941}}, +{17327, 18, 65786, {1, 3, 3, 15, 19, 43, 37, 95, 249, 805, 603, 865, 2115, 6999, 9739, 59029, 12181, 211159}}, +{17328, 18, 65806, {1, 3, 7, 3, 3, 61, 105, 113, 11, 169, 1007, 689, 2553, 14561, 17473, 38249, 41225, 80021}}, +{17329, 18, 65834, {1, 3, 7, 11, 5, 47, 69, 49, 457, 931, 435, 1423, 411, 15163, 3171, 29143, 101153, 240869}}, +{17330, 18, 65844, {1, 3, 7, 1, 17, 1, 13, 45, 155, 551, 1783, 3583, 2767, 2761, 18019, 61635, 104527, 123817}}, +{17331, 18, 65866, {1, 1, 5, 11, 9, 43, 101, 205, 233, 689, 1247, 2903, 3117, 12261, 11827, 50403, 103727, 35533}}, +{17332, 18, 65895, {1, 1, 5, 13, 23, 37, 121, 195, 133, 265, 1517, 823, 5933, 13917, 6363, 8533, 58443, 178549}}, +{17333, 18, 65902, {1, 1, 7, 9, 29, 1, 3, 195, 221, 877, 71, 473, 1173, 15285, 6057, 60005, 92401, 65357}}, +{17334, 18, 65953, {1, 3, 7, 1, 5, 25, 15, 207, 455, 447, 1125, 3731, 1289, 867, 22111, 38893, 70779, 88277}}, +{17335, 18, 65954, {1, 1, 1, 13, 31, 19, 15, 179, 183, 351, 1197, 1929, 3569, 12251, 17641, 4097, 24141, 186857}}, +{17336, 18, 65983, {1, 1, 1, 9, 19, 9, 125, 23, 431, 225, 943, 479, 2615, 443, 30977, 10889, 17107, 116819}}, +{17337, 18, 65985, {1, 3, 1, 9, 9, 13, 85, 123, 85, 857, 125, 3149, 1105, 3687, 2313, 38749, 52131, 259511}}, +{17338, 18, 66003, {1, 3, 5, 7, 27, 33, 57, 105, 511, 871, 1089, 2311, 3291, 2245, 3365, 30211, 62549, 56207}}, +{17339, 18, 66010, {1, 1, 7, 11, 1, 19, 75, 37, 139, 173, 391, 317, 2575, 11887, 4289, 32275, 43487, 487}}, +{17340, 18, 66025, {1, 1, 7, 1, 11, 3, 9, 217, 343, 35, 59, 93, 1343, 5043, 14869, 63717, 40983, 235373}}, +{17341, 18, 66050, {1, 1, 3, 5, 15, 13, 93, 247, 417, 179, 307, 3299, 4383, 5491, 21271, 37155, 32289, 75737}}, +{17342, 18, 66074, {1, 3, 3, 9, 3, 39, 63, 243, 305, 729, 9, 3317, 3301, 13165, 20437, 36505, 32977, 2761}}, +{17343, 18, 66076, {1, 3, 7, 5, 3, 37, 61, 109, 351, 641, 1699, 2517, 2637, 4995, 27365, 56971, 53609, 14373}}, +{17344, 18, 66097, {1, 3, 1, 15, 31, 53, 127, 123, 219, 1003, 1425, 1201, 5303, 10369, 21481, 26987, 42541, 37855}}, +{17345, 18, 66132, {1, 3, 3, 13, 9, 29, 35, 111, 395, 791, 1619, 2647, 713, 15955, 19145, 33883, 65215, 166267}}, +{17346, 18, 66158, {1, 1, 7, 11, 17, 5, 45, 249, 421, 273, 411, 2885, 7027, 11933, 24847, 36969, 124701, 214931}}, +{17347, 18, 66175, {1, 1, 3, 1, 27, 41, 125, 83, 327, 643, 223, 151, 6709, 15949, 125, 13275, 90405, 15759}}, +{17348, 18, 66185, {1, 1, 5, 15, 19, 45, 55, 109, 497, 1011, 1363, 1937, 3697, 7475, 10533, 65325, 29681, 76275}}, +{17349, 18, 66199, {1, 1, 1, 3, 23, 17, 59, 209, 229, 151, 1199, 279, 191, 8993, 25939, 13885, 113477, 166961}}, +{17350, 18, 66206, {1, 3, 5, 1, 19, 61, 27, 129, 103, 721, 1451, 2803, 5879, 3523, 15443, 4047, 95927, 50339}}, +{17351, 18, 66222, {1, 1, 1, 11, 27, 9, 53, 47, 331, 185, 1337, 3429, 807, 3341, 14871, 11035, 50651, 243843}}, +{17352, 18, 66227, {1, 3, 5, 11, 7, 57, 125, 15, 271, 811, 1873, 3093, 7841, 5761, 19955, 571, 123319, 149465}}, +{17353, 18, 66241, {1, 3, 1, 3, 31, 61, 71, 47, 477, 273, 167, 1069, 3513, 1463, 2667, 22097, 60367, 246045}}, +{17354, 18, 66272, {1, 1, 1, 11, 1, 55, 35, 233, 37, 659, 1517, 411, 2981, 10339, 21857, 33701, 44393, 6861}}, +{17355, 18, 66324, {1, 1, 5, 7, 11, 43, 109, 205, 103, 315, 1925, 2109, 6307, 7915, 19793, 61167, 27963, 251913}}, +{17356, 18, 66424, {1, 1, 5, 11, 5, 63, 107, 219, 53, 251, 1053, 2035, 77, 15885, 22011, 3945, 91, 204899}}, +{17357, 18, 66460, {1, 3, 7, 13, 21, 45, 51, 53, 99, 831, 1421, 3171, 4241, 14105, 26161, 45071, 2813, 54339}}, +{17358, 18, 66464, {1, 3, 5, 1, 3, 61, 43, 141, 355, 699, 11, 2203, 8055, 14815, 24597, 65201, 32689, 70167}}, +{17359, 18, 66481, {1, 3, 1, 5, 11, 27, 109, 239, 199, 23, 375, 1477, 3197, 4401, 29901, 46623, 79593, 133143}}, +{17360, 18, 66482, {1, 1, 1, 3, 23, 9, 63, 103, 41, 177, 1365, 1971, 5937, 13055, 27713, 13535, 47371, 57841}}, +{17361, 18, 66523, {1, 1, 5, 5, 19, 15, 5, 21, 307, 65, 215, 3801, 4149, 6565, 10249, 63541, 30867, 12129}}, +{17362, 18, 66526, {1, 3, 3, 9, 11, 1, 107, 99, 235, 331, 1479, 1365, 2557, 9545, 25767, 12461, 6471, 184643}}, +{17363, 18, 66532, {1, 3, 3, 5, 17, 13, 103, 223, 95, 955, 1479, 1825, 705, 5311, 28531, 22787, 118899, 181829}}, +{17364, 18, 66539, {1, 3, 7, 1, 5, 59, 65, 11, 251, 419, 659, 2559, 5445, 4221, 5871, 51845, 33925, 167037}}, +{17365, 18, 66541, {1, 3, 5, 13, 15, 45, 35, 181, 325, 293, 1897, 3321, 6081, 9919, 27641, 9407, 35263, 231009}}, +{17366, 18, 66573, {1, 3, 3, 3, 3, 35, 85, 33, 293, 777, 1945, 3771, 6967, 12353, 2737, 12501, 127359, 163591}}, +{17367, 18, 66582, {1, 3, 7, 9, 13, 7, 119, 107, 309, 811, 1113, 2465, 4867, 4295, 565, 59159, 94587, 119761}}, +{17368, 18, 66591, {1, 3, 3, 1, 1, 31, 61, 49, 461, 635, 233, 175, 6237, 10463, 17847, 54925, 115675, 260575}}, +{17369, 18, 66615, {1, 3, 5, 15, 25, 17, 61, 155, 235, 483, 1771, 2903, 3163, 2525, 17153, 54701, 49521, 11911}}, +{17370, 18, 66622, {1, 3, 3, 5, 1, 35, 51, 23, 187, 107, 177, 1381, 165, 6149, 10841, 3619, 107811, 188811}}, +{17371, 18, 66629, {1, 1, 5, 9, 7, 35, 5, 233, 43, 913, 939, 2195, 1369, 5355, 7941, 26075, 66813, 227623}}, +{17372, 18, 66641, {1, 3, 7, 11, 5, 43, 97, 211, 427, 875, 1179, 3631, 7989, 2419, 17209, 15789, 128209, 224117}}, +{17373, 18, 66712, {1, 1, 1, 7, 17, 7, 109, 255, 111, 883, 371, 3481, 6031, 14665, 5905, 28735, 113003, 327}}, +{17374, 18, 66724, {1, 3, 5, 3, 5, 61, 7, 155, 87, 861, 39, 3163, 179, 15493, 16403, 18755, 116157, 233185}}, +{17375, 18, 66731, {1, 3, 5, 5, 23, 45, 67, 205, 395, 417, 1235, 669, 5097, 6823, 31483, 61395, 36073, 24183}}, +{17376, 18, 66745, {1, 1, 3, 1, 11, 35, 123, 171, 125, 759, 197, 907, 2273, 3623, 31861, 60071, 91857, 158011}}, +{17377, 18, 66759, {1, 3, 7, 11, 19, 19, 25, 25, 167, 429, 1565, 3179, 5453, 15731, 30727, 32111, 63685, 113309}}, +{17378, 18, 66808, {1, 3, 7, 9, 15, 33, 67, 225, 495, 19, 1881, 1357, 4311, 9547, 18717, 20749, 8819, 209979}}, +{17379, 18, 66814, {1, 3, 5, 3, 13, 47, 107, 153, 461, 815, 1521, 2361, 7721, 10631, 2799, 62321, 59755, 170803}}, +{17380, 18, 66821, {1, 3, 7, 5, 25, 61, 5, 235, 71, 349, 1555, 3419, 1159, 2027, 17391, 29849, 47145, 122057}}, +{17381, 18, 66831, {1, 1, 5, 11, 19, 19, 101, 45, 333, 553, 1431, 4077, 2629, 15997, 19793, 65521, 124287, 174675}}, +{17382, 18, 66834, {1, 3, 7, 11, 25, 39, 103, 219, 375, 27, 227, 1061, 445, 14803, 18883, 49191, 33303, 114467}}, +{17383, 18, 66879, {1, 1, 5, 7, 3, 13, 117, 29, 387, 891, 371, 2199, 7023, 13671, 26291, 61563, 2733, 16093}}, +{17384, 18, 66884, {1, 3, 5, 11, 29, 5, 17, 249, 149, 777, 1817, 319, 19, 12321, 15241, 29069, 58381, 157467}}, +{17385, 18, 66899, {1, 3, 7, 9, 29, 17, 81, 141, 201, 383, 429, 3675, 69, 8155, 22821, 60707, 127015, 248279}}, +{17386, 18, 66901, {1, 3, 7, 9, 25, 5, 11, 27, 423, 987, 99, 3599, 4849, 4513, 32119, 34301, 6327, 249457}}, +{17387, 18, 66924, {1, 3, 3, 7, 13, 25, 71, 227, 307, 985, 665, 3097, 6713, 3823, 6357, 58199, 84057, 28055}}, +{17388, 18, 66929, {1, 3, 5, 7, 19, 21, 93, 45, 159, 527, 493, 59, 1111, 1415, 1949, 28525, 50343, 11039}}, +{17389, 18, 66942, {1, 3, 5, 13, 17, 35, 79, 229, 449, 533, 235, 3445, 8153, 15473, 12975, 53909, 24589, 237049}}, +{17390, 18, 66985, {1, 1, 7, 5, 3, 53, 93, 33, 339, 423, 497, 2691, 6125, 3931, 25357, 27509, 92509, 227209}}, +{17391, 18, 66986, {1, 1, 7, 3, 13, 49, 111, 179, 449, 279, 827, 1481, 2477, 6867, 18079, 6261, 30885, 205675}}, +{17392, 18, 66994, {1, 3, 7, 7, 11, 9, 13, 105, 367, 639, 1307, 1617, 4759, 8387, 8909, 13715, 56599, 113259}}, +{17393, 18, 67066, {1, 1, 3, 3, 15, 17, 103, 125, 205, 67, 999, 3965, 907, 13235, 15275, 58457, 66889, 227279}}, +{17394, 18, 67075, {1, 3, 3, 3, 11, 35, 99, 81, 421, 75, 1757, 2413, 5655, 1227, 4019, 14503, 20719, 224807}}, +{17395, 18, 67099, {1, 1, 7, 11, 17, 17, 109, 203, 331, 813, 987, 2925, 1601, 13617, 29, 8235, 95129, 117987}}, +{17396, 18, 67130, {1, 3, 7, 5, 5, 33, 105, 191, 183, 899, 1949, 2923, 2473, 3435, 8097, 35615, 10109, 62563}}, +{17397, 18, 67173, {1, 1, 7, 13, 5, 25, 21, 159, 487, 415, 1507, 2161, 649, 14425, 2605, 8357, 92441, 87323}}, +{17398, 18, 67183, {1, 3, 7, 15, 3, 23, 87, 209, 407, 765, 975, 3859, 675, 6351, 18703, 44919, 57155, 134961}}, +{17399, 18, 67186, {1, 3, 5, 15, 7, 59, 77, 37, 235, 565, 1707, 3531, 6733, 2223, 12621, 59523, 83547, 172355}}, +{17400, 18, 67197, {1, 3, 7, 5, 23, 15, 57, 217, 151, 333, 1033, 2549, 303, 1455, 5329, 20187, 55415, 166093}}, +{17401, 18, 67201, {1, 3, 1, 13, 21, 27, 1, 85, 335, 201, 135, 2603, 291, 10573, 28411, 1059, 129871, 98303}}, +{17402, 18, 67208, {1, 1, 3, 5, 23, 61, 123, 169, 503, 629, 711, 2795, 2291, 13273, 32703, 63377, 72809, 214927}}, +{17403, 18, 67221, {1, 3, 5, 13, 31, 11, 115, 133, 443, 709, 263, 3739, 2777, 11545, 19137, 61285, 64065, 214477}}, +{17404, 18, 67238, {1, 3, 1, 11, 29, 25, 3, 5, 385, 613, 1277, 1445, 1643, 15137, 28041, 47713, 122051, 62915}}, +{17405, 18, 67252, {1, 3, 5, 11, 3, 11, 1, 137, 457, 577, 783, 1745, 5, 5817, 26569, 50751, 14075, 246219}}, +{17406, 18, 67256, {1, 1, 1, 9, 7, 9, 105, 27, 167, 939, 799, 2773, 6427, 15579, 1975, 10695, 111429, 227105}}, +{17407, 18, 67270, {1, 3, 1, 11, 23, 23, 73, 103, 103, 61, 1743, 3061, 8127, 15893, 21223, 43549, 103659, 89129}}, +{17408, 18, 67288, {1, 1, 7, 13, 5, 43, 59, 235, 139, 961, 839, 3843, 1317, 4903, 21043, 15479, 115065, 112531}}, +{17409, 18, 67318, {1, 3, 1, 3, 19, 15, 57, 145, 193, 321, 1919, 385, 125, 15517, 14243, 62845, 38995, 120045}}, +{17410, 18, 67329, {1, 3, 3, 7, 17, 61, 77, 75, 267, 203, 1911, 2599, 1797, 761, 28101, 58603, 107755, 158689}}, +{17411, 18, 67349, {1, 1, 5, 11, 15, 21, 71, 227, 377, 361, 2013, 129, 6271, 1421, 6009, 52261, 113389, 74915}}, +{17412, 18, 67369, {1, 1, 5, 7, 3, 39, 27, 49, 97, 885, 651, 1633, 3445, 3415, 20167, 26667, 52997, 221391}}, +{17413, 18, 67392, {1, 1, 7, 9, 7, 59, 95, 127, 479, 871, 845, 2951, 673, 6385, 10057, 2605, 78529, 230771}}, +{17414, 18, 67435, {1, 3, 5, 7, 31, 15, 53, 125, 223, 711, 875, 429, 7237, 4005, 2153, 26865, 63205, 144125}}, +{17415, 18, 67473, {1, 1, 7, 9, 1, 57, 19, 189, 67, 423, 1937, 37, 4925, 15503, 25969, 20419, 59921, 58119}}, +{17416, 18, 67496, {1, 1, 7, 7, 31, 51, 99, 189, 21, 1011, 1551, 3529, 7617, 15805, 11365, 43123, 84785, 203703}}, +{17417, 18, 67507, {1, 1, 3, 15, 3, 63, 9, 67, 399, 151, 253, 1839, 1365, 16295, 13145, 29211, 48681, 177643}}, +{17418, 18, 67514, {1, 1, 1, 5, 13, 37, 1, 21, 435, 483, 939, 535, 1505, 10879, 7027, 5599, 63261, 158573}}, +{17419, 18, 67536, {1, 1, 7, 15, 13, 39, 113, 209, 213, 1017, 1197, 285, 4221, 6831, 13383, 2265, 34313, 160879}}, +{17420, 18, 67555, {1, 3, 7, 15, 25, 23, 95, 217, 141, 681, 451, 1275, 4957, 10197, 21375, 50905, 11087, 96135}}, +{17421, 18, 67598, {1, 3, 1, 11, 17, 35, 87, 15, 57, 777, 1429, 615, 681, 8437, 23981, 51781, 112169, 198471}}, +{17422, 18, 67615, {1, 3, 1, 5, 21, 37, 113, 105, 123, 327, 549, 1641, 7697, 2127, 5709, 8351, 56787, 260157}}, +{17423, 18, 67625, {1, 3, 7, 15, 19, 17, 51, 15, 367, 89, 1635, 353, 4855, 1551, 7197, 27403, 11259, 176029}}, +{17424, 18, 67645, {1, 3, 1, 1, 27, 9, 3, 35, 213, 31, 885, 797, 7077, 15641, 22509, 35193, 112411, 157335}}, +{17425, 18, 67651, {1, 1, 5, 1, 5, 9, 101, 149, 169, 581, 1927, 197, 5935, 6361, 3915, 15541, 69575, 102451}}, +{17426, 18, 67663, {1, 3, 3, 13, 23, 63, 45, 205, 271, 17, 707, 937, 2547, 12019, 8559, 26163, 58117, 138625}}, +{17427, 18, 67672, {1, 1, 3, 1, 19, 63, 125, 175, 253, 629, 1121, 3701, 7755, 61, 13037, 39417, 6179, 261923}}, +{17428, 18, 67682, {1, 1, 5, 1, 25, 63, 27, 245, 371, 657, 157, 3821, 3279, 8977, 9065, 35611, 27325, 205737}}, +{17429, 18, 67699, {1, 3, 7, 15, 7, 57, 19, 191, 1, 927, 1379, 2579, 4335, 7163, 4877, 51435, 17309, 100173}}, +{17430, 18, 67718, {1, 1, 1, 5, 21, 59, 107, 195, 317, 691, 541, 69, 7235, 2175, 25191, 23913, 126369, 9263}}, +{17431, 18, 67780, {1, 3, 5, 15, 17, 7, 67, 27, 263, 855, 1065, 973, 6705, 10729, 8719, 32741, 59207, 249107}}, +{17432, 18, 67795, {1, 3, 1, 1, 21, 23, 115, 119, 351, 207, 1691, 1105, 7479, 3877, 24439, 29017, 34171, 133797}}, +{17433, 18, 67804, {1, 3, 3, 3, 11, 23, 39, 165, 99, 1023, 309, 3933, 4235, 3891, 27237, 30887, 34363, 175017}}, +{17434, 18, 67818, {1, 3, 1, 5, 17, 33, 79, 105, 253, 515, 823, 1783, 1523, 2095, 10355, 8929, 51001, 112815}}, +{17435, 18, 67832, {1, 3, 7, 15, 11, 27, 123, 161, 279, 541, 1343, 1009, 6015, 8565, 27031, 233, 2153, 179243}}, +{17436, 18, 67941, {1, 1, 7, 7, 1, 53, 1, 33, 75, 57, 723, 3855, 3301, 14941, 6637, 25181, 103441, 208339}}, +{17437, 18, 67984, {1, 3, 7, 13, 3, 23, 11, 75, 55, 19, 1181, 3451, 4901, 2621, 18323, 42395, 95701, 237753}}, +{17438, 18, 68044, {1, 1, 1, 5, 1, 1, 123, 203, 367, 71, 1897, 295, 6719, 2647, 7135, 34511, 79853, 58351}}, +{17439, 18, 68059, {1, 3, 3, 7, 7, 63, 87, 91, 223, 265, 927, 3843, 1703, 11633, 8077, 26425, 46573, 181201}}, +{17440, 18, 68062, {1, 3, 3, 3, 1, 51, 3, 99, 37, 251, 1739, 2813, 3955, 8745, 4425, 42419, 124177, 173997}}, +{17441, 18, 68065, {1, 3, 5, 15, 9, 19, 11, 207, 123, 287, 1703, 2155, 2729, 4541, 4925, 4735, 77159, 97911}}, +{17442, 18, 68071, {1, 3, 3, 15, 23, 31, 35, 33, 507, 315, 1071, 3001, 7569, 11749, 3183, 6989, 68637, 177803}}, +{17443, 18, 68072, {1, 3, 5, 1, 31, 1, 113, 39, 295, 263, 1113, 619, 5523, 15385, 24115, 24233, 91943, 129299}}, +{17444, 18, 68085, {1, 1, 5, 11, 9, 57, 89, 49, 67, 601, 1277, 2275, 6349, 4141, 28397, 47061, 28143, 126291}}, +{17445, 18, 68090, {1, 3, 7, 15, 11, 63, 123, 187, 305, 1009, 1509, 2569, 2235, 8233, 27351, 53437, 34353, 105799}}, +{17446, 18, 68101, {1, 1, 3, 1, 13, 9, 11, 169, 427, 171, 1031, 633, 4275, 1173, 11233, 57997, 107753, 257337}}, +{17447, 18, 68102, {1, 3, 5, 5, 3, 39, 49, 233, 309, 999, 1275, 85, 1663, 16275, 9145, 18439, 59055, 249657}}, +{17448, 18, 68106, {1, 1, 3, 7, 11, 55, 73, 75, 115, 397, 945, 3657, 6847, 7341, 21305, 30119, 65675, 169281}}, +{17449, 18, 68164, {1, 1, 7, 7, 3, 5, 31, 179, 183, 479, 329, 217, 1077, 6893, 23425, 21903, 34293, 184819}}, +{17450, 18, 68191, {1, 1, 3, 3, 7, 63, 97, 255, 289, 917, 1881, 3829, 2433, 3473, 11045, 37739, 73349, 171899}}, +{17451, 18, 68192, {1, 3, 5, 5, 27, 23, 61, 151, 353, 667, 1889, 2323, 3261, 15999, 24225, 35265, 97301, 75743}}, +{17452, 18, 68195, {1, 3, 7, 1, 19, 41, 81, 61, 461, 275, 131, 2665, 5615, 1719, 21047, 42025, 97725, 196587}}, +{17453, 18, 68209, {1, 1, 7, 11, 3, 5, 47, 107, 397, 237, 1795, 3049, 5317, 14147, 15299, 50469, 83855, 75685}}, +{17454, 18, 68245, {1, 1, 7, 7, 19, 31, 39, 153, 225, 591, 1547, 3755, 3219, 15823, 4015, 30977, 63999, 198023}}, +{17455, 18, 68246, {1, 3, 1, 1, 17, 57, 91, 3, 425, 465, 735, 719, 2955, 3003, 6669, 14335, 32137, 82265}}, +{17456, 18, 68274, {1, 3, 1, 9, 13, 25, 93, 187, 119, 735, 447, 3387, 5111, 6525, 28241, 37643, 99023, 58551}}, +{17457, 18, 68293, {1, 1, 7, 1, 23, 15, 105, 89, 109, 743, 2007, 3131, 4839, 3285, 14681, 47097, 69531, 104647}}, +{17458, 18, 68294, {1, 1, 5, 7, 27, 33, 85, 109, 165, 569, 511, 3223, 2201, 2869, 30457, 42585, 125187, 83115}}, +{17459, 18, 68322, {1, 1, 7, 13, 1, 39, 55, 69, 279, 757, 425, 1317, 2403, 10711, 3341, 33491, 5607, 214161}}, +{17460, 18, 68353, {1, 3, 3, 9, 23, 57, 109, 9, 473, 323, 1371, 657, 5039, 1947, 12787, 29099, 81887, 44039}}, +{17461, 18, 68359, {1, 3, 1, 9, 21, 49, 39, 71, 493, 611, 1465, 3965, 7509, 5315, 4095, 21865, 123533, 148467}}, +{17462, 18, 68377, {1, 1, 7, 5, 15, 45, 67, 109, 143, 423, 205, 849, 1291, 245, 26275, 62873, 69177, 173705}}, +{17463, 18, 68401, {1, 3, 7, 13, 3, 13, 103, 45, 171, 919, 903, 2171, 5025, 14855, 895, 36937, 37643, 30311}}, +{17464, 18, 68422, {1, 3, 1, 5, 31, 35, 67, 111, 201, 183, 375, 905, 5705, 8839, 31551, 22525, 53013, 34189}}, +{17465, 18, 68434, {1, 1, 3, 7, 25, 11, 85, 231, 285, 957, 1731, 1267, 8179, 14195, 18405, 8489, 32503, 86257}}, +{17466, 18, 68443, {1, 3, 7, 5, 29, 7, 73, 15, 501, 909, 1325, 793, 4479, 12137, 30871, 36243, 109781, 7235}}, +{17467, 18, 68445, {1, 1, 3, 15, 13, 13, 75, 221, 497, 921, 1939, 2791, 5277, 6257, 11129, 109, 27549, 44901}}, +{17468, 18, 68476, {1, 1, 7, 3, 21, 9, 35, 113, 101, 15, 545, 2429, 5869, 11379, 14427, 28605, 108313, 220523}}, +{17469, 18, 68492, {1, 3, 5, 5, 21, 31, 79, 101, 11, 687, 609, 3741, 1259, 1529, 10185, 49863, 86529, 5147}}, +{17470, 18, 68504, {1, 3, 1, 5, 5, 49, 105, 213, 435, 201, 511, 525, 5219, 9503, 32023, 25407, 2493, 51165}}, +{17471, 18, 68525, {1, 1, 5, 9, 9, 61, 67, 107, 351, 519, 1373, 1261, 1069, 4325, 9579, 37117, 71759, 17601}}, +{17472, 18, 68540, {1, 1, 7, 7, 27, 63, 63, 229, 239, 291, 1813, 3831, 8091, 2553, 18445, 60707, 88855, 224325}}, +{17473, 18, 68543, {1, 1, 5, 7, 15, 23, 109, 7, 409, 447, 185, 3535, 4643, 13431, 11107, 48771, 95843, 155889}}, +{17474, 18, 68555, {1, 3, 3, 11, 9, 47, 13, 31, 83, 837, 1661, 2283, 299, 13161, 25305, 6079, 107237, 58477}}, +{17475, 18, 68563, {1, 3, 7, 15, 3, 31, 21, 245, 105, 141, 703, 71, 1887, 9345, 15719, 37737, 58431, 195997}}, +{17476, 18, 68576, {1, 1, 1, 13, 25, 21, 23, 67, 349, 581, 1585, 809, 3955, 4621, 25989, 25633, 107229, 193271}}, +{17477, 18, 68581, {1, 1, 5, 3, 15, 57, 111, 147, 243, 575, 851, 3461, 5171, 4203, 21855, 59579, 90509, 16897}}, +{17478, 18, 68617, {1, 1, 5, 13, 5, 45, 83, 59, 253, 261, 1277, 3179, 6397, 4277, 6629, 10979, 55759, 3033}}, +{17479, 18, 68631, {1, 1, 1, 9, 25, 1, 127, 159, 273, 357, 1343, 3209, 649, 6631, 1365, 40813, 98955, 181679}}, +{17480, 18, 68656, {1, 3, 1, 11, 1, 9, 67, 5, 41, 661, 863, 3769, 2737, 7261, 26829, 43093, 113025, 127975}}, +{17481, 18, 68666, {1, 1, 3, 3, 7, 5, 77, 207, 125, 625, 437, 1059, 2635, 1099, 25567, 63759, 97575, 231313}}, +{17482, 18, 68714, {1, 3, 7, 5, 21, 41, 11, 177, 489, 405, 1831, 1373, 6267, 11275, 23613, 55565, 120353, 98771}}, +{17483, 18, 68743, {1, 1, 3, 11, 15, 55, 103, 185, 493, 755, 1235, 3143, 4355, 4887, 11245, 60103, 4023, 184729}}, +{17484, 18, 68761, {1, 3, 1, 1, 23, 5, 103, 117, 269, 101, 2013, 1781, 6445, 8753, 15041, 13993, 28753, 47133}}, +{17485, 18, 68764, {1, 3, 7, 5, 9, 23, 1, 203, 19, 535, 1445, 1713, 5503, 11555, 6195, 35797, 55663, 10187}}, +{17486, 18, 68767, {1, 3, 5, 1, 15, 3, 125, 225, 447, 269, 1663, 1823, 4309, 12243, 16689, 3889, 41111, 123355}}, +{17487, 18, 68768, {1, 1, 1, 5, 21, 33, 83, 147, 243, 101, 1085, 121, 4939, 6081, 22621, 52995, 103047, 82531}}, +{17488, 18, 68786, {1, 3, 5, 3, 21, 3, 5, 81, 431, 191, 1973, 3675, 6691, 8687, 31619, 51669, 95541, 110447}}, +{17489, 18, 68788, {1, 1, 1, 15, 1, 11, 83, 145, 75, 133, 967, 2837, 5111, 6099, 9119, 53661, 128647, 40557}}, +{17490, 18, 68848, {1, 1, 1, 7, 3, 57, 101, 231, 255, 117, 1903, 2133, 3867, 11299, 647, 58853, 22153, 135959}}, +{17491, 18, 68851, {1, 3, 5, 5, 9, 19, 89, 229, 313, 421, 201, 953, 2487, 6283, 1305, 33421, 20933, 164841}}, +{17492, 18, 68914, {1, 1, 3, 3, 1, 45, 93, 165, 343, 577, 1329, 3019, 2727, 14397, 7123, 63347, 45525, 35133}}, +{17493, 18, 68946, {1, 3, 5, 5, 19, 1, 33, 55, 49, 1003, 1567, 2539, 7461, 14641, 7655, 37499, 65525, 84961}}, +{17494, 18, 68952, {1, 3, 5, 5, 29, 3, 77, 39, 251, 791, 215, 3779, 1589, 3577, 22299, 24133, 105449, 257157}}, +{17495, 18, 68973, {1, 3, 1, 5, 7, 23, 109, 209, 35, 571, 1047, 3453, 3657, 11713, 19379, 57101, 29943, 60909}}, +{17496, 18, 69001, {1, 1, 7, 11, 17, 63, 15, 175, 333, 831, 1447, 1991, 3339, 2519, 30127, 51481, 71935, 144995}}, +{17497, 18, 69016, {1, 3, 1, 11, 13, 51, 17, 67, 43, 209, 789, 1285, 5655, 5841, 10203, 32053, 15721, 211725}}, +{17498, 18, 69035, {1, 1, 5, 7, 31, 49, 69, 255, 325, 819, 1769, 1961, 7403, 1241, 2241, 40425, 14839, 178969}}, +{17499, 18, 69037, {1, 1, 3, 9, 1, 5, 9, 35, 167, 865, 337, 1079, 6195, 10139, 19215, 57607, 122437, 197147}}, +{17500, 18, 69049, {1, 1, 1, 15, 23, 7, 47, 155, 345, 547, 333, 3747, 961, 1397, 17067, 33385, 48253, 138611}}, +{17501, 18, 69052, {1, 1, 7, 9, 29, 27, 81, 183, 153, 171, 1125, 1929, 1047, 12463, 1543, 42981, 126163, 203259}}, +{17502, 18, 69058, {1, 1, 5, 3, 1, 41, 123, 213, 7, 179, 1, 3527, 1437, 3545, 2025, 5325, 27097, 187823}}, +{17503, 18, 69063, {1, 1, 7, 1, 19, 5, 111, 251, 431, 91, 1437, 1155, 335, 9587, 18287, 23937, 123331, 3939}}, +{17504, 18, 69075, {1, 1, 1, 9, 13, 59, 75, 219, 225, 313, 525, 2003, 7829, 7063, 22123, 4263, 95491, 9375}}, +{17505, 18, 69112, {1, 3, 1, 1, 27, 29, 71, 189, 169, 301, 165, 2967, 5147, 7127, 2191, 34259, 66605, 149603}}, +{17506, 18, 69117, {1, 3, 5, 13, 29, 57, 105, 31, 495, 311, 1161, 2109, 1471, 1275, 12761, 58379, 46365, 229935}}, +{17507, 18, 69124, {1, 1, 7, 3, 7, 49, 125, 189, 309, 399, 1361, 3969, 2177, 8171, 26623, 41855, 2809, 5825}}, +{17508, 18, 69127, {1, 3, 5, 7, 17, 21, 77, 101, 37, 661, 1743, 2243, 823, 12431, 26931, 7163, 108093, 191305}}, +{17509, 18, 69134, {1, 1, 7, 5, 27, 55, 109, 119, 13, 727, 421, 3469, 1137, 6125, 5107, 52733, 102891, 147425}}, +{17510, 18, 69139, {1, 1, 3, 5, 17, 45, 17, 211, 137, 21, 689, 1487, 233, 9845, 6499, 52617, 73081, 198137}}, +{17511, 18, 69161, {1, 3, 7, 1, 25, 27, 67, 7, 161, 633, 729, 807, 7371, 7301, 29499, 45939, 110565, 219491}}, +{17512, 18, 69196, {1, 3, 3, 13, 17, 7, 55, 211, 103, 981, 1809, 1913, 5705, 14011, 7405, 13893, 92053, 17997}}, +{17513, 18, 69224, {1, 1, 1, 1, 15, 9, 75, 37, 5, 443, 157, 2749, 5587, 16087, 14953, 26793, 21229, 226879}}, +{17514, 18, 69238, {1, 3, 3, 3, 9, 13, 113, 7, 255, 647, 235, 1713, 525, 8579, 20873, 49565, 43869, 145823}}, +{17515, 18, 69301, {1, 1, 5, 15, 9, 1, 119, 189, 73, 321, 1045, 467, 1565, 14381, 22683, 7939, 44337, 231901}}, +{17516, 18, 69316, {1, 1, 3, 13, 21, 61, 35, 105, 425, 395, 381, 1205, 3631, 8099, 23723, 29435, 94683, 180367}}, +{17517, 18, 69325, {1, 3, 3, 13, 19, 15, 59, 111, 355, 165, 857, 3131, 5037, 2527, 17533, 53563, 621, 89837}}, +{17518, 18, 69334, {1, 3, 3, 11, 11, 41, 3, 75, 179, 325, 897, 3141, 75, 1735, 493, 1123, 126763, 68645}}, +{17519, 18, 69347, {1, 3, 5, 7, 19, 61, 9, 99, 101, 583, 1967, 621, 1869, 10693, 2025, 62797, 85727, 212309}}, +{17520, 18, 69359, {1, 3, 1, 13, 23, 47, 15, 29, 199, 889, 423, 3995, 1655, 10753, 25301, 55551, 94829, 205833}}, +{17521, 18, 69381, {1, 1, 1, 1, 21, 1, 91, 237, 195, 721, 881, 1155, 4109, 10367, 1873, 6851, 13295, 182363}}, +{17522, 18, 69388, {1, 1, 5, 15, 19, 35, 37, 197, 137, 255, 93, 681, 949, 15183, 24785, 39357, 65547, 149013}}, +{17523, 18, 69393, {1, 3, 3, 3, 27, 27, 95, 239, 171, 513, 655, 1629, 4577, 3005, 1681, 2581, 59995, 83981}}, +{17524, 18, 69409, {1, 3, 3, 7, 29, 33, 111, 85, 437, 297, 1563, 2411, 6171, 2043, 17625, 59093, 995, 211599}}, +{17525, 18, 69422, {1, 3, 1, 13, 19, 35, 33, 9, 57, 153, 819, 2017, 5879, 13559, 23135, 25981, 41091, 50975}}, +{17526, 18, 69453, {1, 3, 5, 11, 23, 53, 11, 123, 119, 57, 1775, 3457, 7939, 4999, 10771, 23571, 30099, 17361}}, +{17527, 18, 69459, {1, 1, 7, 11, 27, 13, 7, 215, 7, 1009, 1967, 1845, 6679, 13781, 21797, 18755, 47131, 245907}}, +{17528, 18, 69481, {1, 1, 1, 3, 19, 47, 35, 13, 287, 349, 439, 3125, 2387, 12483, 3833, 29399, 27037, 30235}}, +{17529, 18, 69487, {1, 3, 1, 15, 17, 41, 15, 21, 499, 87, 1899, 2835, 1919, 925, 4525, 12935, 25021, 106657}}, +{17530, 18, 69490, {1, 1, 1, 13, 17, 59, 73, 75, 443, 199, 1871, 3447, 4517, 8395, 16661, 30655, 17871, 231337}}, +{17531, 18, 69495, {1, 1, 7, 1, 1, 53, 17, 49, 259, 77, 917, 631, 6061, 12291, 17715, 49761, 70699, 68313}}, +{17532, 18, 69501, {1, 1, 3, 9, 13, 27, 67, 149, 229, 347, 1397, 3457, 6047, 13117, 11, 18121, 70323, 36441}}, +{17533, 18, 69511, {1, 3, 5, 7, 27, 13, 69, 177, 451, 87, 647, 3797, 5433, 3137, 20213, 9809, 126877, 55243}}, +{17534, 18, 69512, {1, 3, 7, 13, 21, 57, 73, 157, 173, 631, 1527, 337, 5605, 8041, 2181, 19567, 19829, 63353}}, +{17535, 18, 69532, {1, 3, 3, 7, 11, 5, 111, 161, 247, 553, 435, 3883, 5639, 10889, 8953, 58297, 15197, 99711}}, +{17536, 18, 69542, {1, 1, 7, 13, 11, 29, 71, 251, 387, 1003, 1275, 763, 67, 10597, 5995, 53677, 4683, 2157}}, +{17537, 18, 69560, {1, 1, 3, 9, 23, 27, 93, 209, 325, 517, 297, 3215, 4359, 395, 10377, 36967, 69803, 190037}}, +{17538, 18, 69565, {1, 1, 1, 3, 27, 61, 21, 229, 469, 3, 387, 523, 4753, 2267, 9879, 32113, 60837, 76205}}, +{17539, 18, 69571, {1, 3, 1, 7, 31, 31, 67, 15, 161, 699, 713, 2973, 2007, 693, 21823, 57549, 28989, 157879}}, +{17540, 18, 69611, {1, 3, 1, 1, 3, 63, 111, 61, 311, 685, 1029, 345, 6763, 16217, 14505, 9777, 3513, 160985}}, +{17541, 18, 69633, {1, 1, 1, 11, 5, 25, 13, 79, 337, 3, 1997, 3489, 7621, 12115, 9221, 7953, 19067, 52697}}, +{17542, 18, 69640, {1, 1, 1, 3, 19, 3, 85, 127, 475, 391, 293, 2249, 1211, 1185, 17133, 6753, 65517, 98157}}, +{17543, 18, 69667, {1, 1, 5, 9, 11, 31, 57, 107, 315, 983, 1117, 2189, 4813, 9925, 26635, 30589, 32989, 44195}}, +{17544, 18, 69669, {1, 1, 7, 7, 21, 1, 1, 221, 421, 199, 539, 3981, 4627, 15655, 12621, 20427, 11619, 187185}}, +{17545, 18, 69679, {1, 1, 7, 5, 13, 19, 49, 31, 55, 35, 1847, 3173, 475, 15245, 30907, 50075, 130837, 87283}}, +{17546, 18, 69688, {1, 1, 7, 15, 13, 47, 13, 17, 169, 185, 1411, 1689, 2339, 2159, 10591, 52283, 26785, 255707}}, +{17547, 18, 69699, {1, 3, 5, 7, 3, 29, 7, 83, 329, 747, 1755, 1067, 2565, 2437, 12309, 15043, 97589, 69409}}, +{17548, 18, 69756, {1, 3, 3, 9, 19, 49, 9, 231, 427, 131, 485, 1637, 1129, 14723, 19071, 47997, 74613, 171539}}, +{17549, 18, 69759, {1, 1, 1, 1, 5, 17, 105, 39, 313, 407, 1321, 3013, 8035, 4395, 15917, 21105, 53599, 21341}}, +{17550, 18, 69770, {1, 3, 1, 15, 7, 35, 5, 153, 485, 1019, 713, 1891, 5023, 13885, 15911, 48215, 81719, 228189}}, +{17551, 18, 69772, {1, 1, 3, 3, 19, 3, 103, 55, 221, 847, 27, 1653, 4887, 3617, 30235, 42353, 67007, 21443}}, +{17552, 18, 69826, {1, 1, 7, 15, 15, 39, 65, 189, 251, 411, 1953, 1187, 141, 14919, 7763, 50879, 2569, 63467}}, +{17553, 18, 69840, {1, 1, 7, 1, 15, 3, 37, 133, 11, 745, 697, 3755, 1233, 2009, 25597, 40661, 40743, 198117}}, +{17554, 18, 69846, {1, 1, 7, 15, 5, 17, 13, 253, 197, 491, 1499, 2141, 6803, 13833, 27297, 385, 54341, 64305}}, +{17555, 18, 69868, {1, 3, 5, 7, 3, 11, 19, 193, 441, 575, 1649, 1821, 2621, 15803, 7343, 37361, 16467, 60629}}, +{17556, 18, 69885, {1, 3, 3, 11, 11, 29, 109, 1, 83, 475, 1913, 1975, 1289, 5221, 24221, 7479, 26683, 203435}}, +{17557, 18, 69946, {1, 1, 3, 13, 3, 35, 119, 131, 323, 413, 147, 4009, 3167, 11161, 30523, 65223, 109859, 239317}}, +{17558, 18, 69966, {1, 3, 1, 11, 25, 17, 103, 165, 437, 163, 1141, 105, 3655, 8105, 20859, 50727, 27915, 19309}}, +{17559, 18, 69973, {1, 3, 3, 11, 9, 59, 17, 135, 131, 781, 675, 2865, 7287, 11431, 3717, 56691, 54971, 83433}}, +{17560, 18, 69977, {1, 1, 1, 11, 3, 1, 59, 35, 299, 927, 1761, 823, 287, 13271, 30321, 32895, 45961, 23151}}, +{17561, 18, 69980, {1, 3, 3, 7, 11, 3, 11, 115, 241, 497, 1359, 1789, 6677, 2683, 21145, 58185, 46131, 17591}}, +{17562, 18, 69984, {1, 3, 1, 3, 17, 5, 65, 169, 247, 1001, 1183, 1801, 759, 2797, 28721, 7549, 112463, 127451}}, +{17563, 18, 69994, {1, 1, 1, 11, 1, 49, 5, 227, 333, 793, 759, 2845, 6261, 6325, 6581, 35853, 39737, 21457}}, +{17564, 18, 70024, {1, 1, 1, 3, 7, 17, 81, 105, 453, 207, 1113, 301, 4933, 14715, 18815, 29165, 85251, 209171}}, +{17565, 18, 70044, {1, 3, 1, 13, 3, 25, 7, 109, 249, 649, 1009, 937, 659, 14605, 13325, 26003, 45507, 166837}}, +{17566, 18, 70053, {1, 3, 7, 11, 19, 57, 55, 213, 261, 325, 761, 3167, 6823, 15039, 13329, 30195, 52103, 27877}}, +{17567, 18, 70086, {1, 3, 3, 11, 31, 45, 3, 185, 225, 143, 651, 327, 4263, 6005, 31577, 57779, 90485, 48393}}, +{17568, 18, 70113, {1, 1, 3, 13, 9, 21, 97, 63, 285, 531, 1275, 175, 693, 3735, 15137, 62193, 80533, 196545}}, +{17569, 18, 70120, {1, 1, 1, 11, 5, 25, 101, 111, 101, 17, 1999, 3709, 19, 5087, 20151, 4781, 88417, 186293}}, +{17570, 18, 70131, {1, 1, 5, 7, 31, 37, 39, 85, 451, 189, 1521, 619, 5021, 2601, 32447, 43513, 8317, 170611}}, +{17571, 18, 70150, {1, 1, 7, 1, 25, 45, 33, 111, 443, 719, 1869, 3619, 5751, 2649, 27823, 55465, 113203, 23875}}, +{17572, 18, 70178, {1, 3, 5, 15, 19, 47, 49, 241, 75, 395, 307, 1001, 137, 7029, 21661, 39159, 94129, 106693}}, +{17573, 18, 70198, {1, 3, 7, 1, 7, 35, 85, 27, 285, 975, 565, 2119, 5861, 9229, 15877, 25017, 10551, 155357}}, +{17574, 18, 70227, {1, 3, 3, 5, 29, 41, 17, 159, 211, 571, 907, 1745, 6541, 11643, 4441, 54599, 83359, 57227}}, +{17575, 18, 70285, {1, 3, 7, 5, 19, 11, 37, 191, 75, 443, 1833, 1715, 6949, 2477, 31161, 15647, 84305, 82887}}, +{17576, 18, 70288, {1, 1, 3, 9, 29, 35, 87, 11, 147, 443, 1659, 2457, 1615, 16135, 10729, 31583, 111583, 52607}}, +{17577, 18, 70291, {1, 3, 7, 1, 7, 47, 55, 133, 53, 23, 225, 2689, 3075, 12435, 8337, 37065, 58631, 247415}}, +{17578, 18, 70309, {1, 3, 3, 9, 23, 39, 5, 17, 353, 443, 627, 1609, 5277, 3899, 31111, 5935, 25445, 161043}}, +{17579, 18, 70334, {1, 3, 3, 11, 31, 11, 97, 99, 37, 169, 1361, 689, 5481, 5935, 11957, 36761, 105641, 250905}}, +{17580, 18, 70339, {1, 1, 7, 15, 31, 33, 3, 201, 125, 649, 315, 497, 7715, 2331, 9081, 16073, 88459, 70475}}, +{17581, 18, 70381, {1, 1, 7, 13, 25, 25, 39, 193, 185, 253, 495, 1143, 3745, 3459, 10935, 22029, 70213, 245827}}, +{17582, 18, 70413, {1, 3, 3, 11, 1, 47, 93, 27, 117, 755, 1837, 4045, 4839, 3413, 21395, 41905, 6505, 158029}}, +{17583, 18, 70414, {1, 3, 5, 5, 3, 41, 23, 207, 3, 409, 1635, 3511, 899, 747, 10623, 44933, 62439, 75577}}, +{17584, 18, 70481, {1, 3, 7, 15, 1, 15, 113, 175, 43, 513, 515, 1295, 1903, 9961, 20995, 57319, 40649, 22799}}, +{17585, 18, 70488, {1, 1, 5, 9, 7, 25, 99, 167, 117, 547, 777, 3819, 4409, 13465, 3963, 53355, 67895, 58007}}, +{17586, 18, 70493, {1, 1, 5, 9, 25, 9, 11, 113, 455, 563, 143, 1507, 4055, 6805, 25027, 37645, 475, 193193}}, +{17587, 18, 70515, {1, 1, 1, 11, 15, 27, 123, 199, 229, 27, 1285, 4013, 6541, 11203, 23705, 56821, 59665, 151109}}, +{17588, 18, 70540, {1, 1, 3, 1, 31, 19, 27, 129, 235, 407, 865, 2723, 5387, 7727, 2309, 45787, 118107, 199907}}, +{17589, 18, 70543, {1, 1, 5, 15, 17, 1, 21, 167, 165, 203, 745, 825, 7993, 15191, 13731, 13417, 543, 201511}}, +{17590, 18, 70558, {1, 3, 1, 1, 29, 49, 45, 81, 321, 755, 1319, 633, 4889, 7809, 6305, 58233, 20213, 144915}}, +{17591, 18, 70568, {1, 1, 3, 13, 1, 31, 73, 173, 111, 961, 1995, 3827, 879, 5567, 31103, 13227, 126611, 204507}}, +{17592, 18, 70582, {1, 1, 3, 7, 21, 3, 75, 137, 125, 981, 1991, 1167, 1249, 3821, 19503, 52855, 122329, 68717}}, +{17593, 18, 70593, {1, 1, 1, 13, 17, 17, 69, 167, 327, 635, 427, 2125, 7499, 9715, 24097, 39361, 64301, 63411}}, +{17594, 18, 70596, {1, 1, 1, 1, 31, 57, 55, 31, 289, 251, 823, 2301, 5965, 3381, 479, 39545, 93051, 68683}}, +{17595, 18, 70613, {1, 1, 3, 3, 15, 27, 117, 37, 29, 851, 1891, 3507, 6279, 323, 11451, 57961, 41487, 188359}}, +{17596, 18, 70620, {1, 1, 5, 1, 25, 55, 125, 207, 129, 849, 589, 1381, 3395, 645, 1157, 29285, 105423, 104429}}, +{17597, 18, 70647, {1, 1, 7, 7, 9, 47, 41, 103, 473, 395, 883, 1087, 2827, 9685, 6313, 15461, 39803, 254865}}, +{17598, 18, 70666, {1, 1, 7, 3, 17, 55, 71, 119, 159, 185, 1415, 3033, 3045, 1403, 18349, 2727, 123995, 45953}}, +{17599, 18, 70710, {1, 1, 3, 15, 17, 11, 19, 25, 483, 29, 1329, 1779, 2885, 6655, 28327, 42255, 87555, 211051}}, +{17600, 18, 70719, {1, 3, 5, 11, 29, 19, 43, 141, 157, 87, 1091, 3505, 3139, 11919, 12123, 31581, 116229, 167875}}, +{17601, 18, 70721, {1, 3, 1, 5, 25, 55, 113, 219, 491, 607, 1641, 3833, 3153, 1881, 16027, 39923, 38551, 204819}}, +{17602, 18, 70722, {1, 1, 5, 3, 7, 9, 73, 181, 305, 211, 1699, 983, 3051, 11643, 12445, 44827, 74613, 199699}}, +{17603, 18, 70742, {1, 1, 3, 5, 23, 21, 115, 49, 311, 205, 963, 1357, 4013, 8357, 7065, 47757, 7937, 249935}}, +{17604, 18, 70757, {1, 1, 1, 9, 23, 61, 21, 165, 9, 829, 457, 3975, 5831, 10901, 15871, 36769, 45899, 162083}}, +{17605, 18, 70764, {1, 1, 3, 3, 25, 41, 91, 45, 37, 939, 299, 3815, 6433, 3121, 10585, 62125, 51333, 171615}}, +{17606, 18, 70781, {1, 1, 5, 11, 1, 1, 39, 45, 141, 803, 1493, 1151, 6243, 8683, 30223, 53661, 7949, 197291}}, +{17607, 18, 70795, {1, 1, 3, 1, 17, 35, 29, 253, 395, 933, 1015, 3431, 139, 9095, 30745, 39747, 58837, 28517}}, +{17608, 18, 70803, {1, 1, 5, 3, 21, 17, 105, 21, 249, 387, 1985, 951, 6323, 8221, 24601, 57367, 18751, 240661}}, +{17609, 18, 70809, {1, 1, 7, 9, 5, 21, 23, 149, 243, 501, 935, 855, 1821, 15885, 2239, 39091, 93615, 31411}}, +{17610, 18, 70821, {1, 1, 1, 3, 23, 11, 43, 5, 65, 193, 1723, 3253, 7533, 12987, 571, 56073, 125061, 97117}}, +{17611, 18, 70846, {1, 1, 1, 13, 13, 21, 113, 79, 115, 867, 777, 2199, 501, 2913, 18697, 14959, 18369, 41631}}, +{17612, 18, 70882, {1, 1, 7, 13, 13, 53, 101, 165, 447, 995, 587, 201, 1701, 6429, 8647, 59265, 27321, 110841}}, +{17613, 18, 70887, {1, 3, 1, 3, 25, 35, 67, 95, 173, 877, 1133, 3027, 2321, 12517, 4313, 24469, 40313, 253095}}, +{17614, 18, 70940, {1, 1, 1, 9, 17, 33, 103, 141, 259, 963, 1975, 2979, 5017, 15689, 30659, 55145, 73737, 43539}}, +{17615, 18, 70961, {1, 3, 1, 15, 7, 7, 7, 1, 267, 415, 1591, 17, 2451, 13415, 6993, 16631, 90019, 237161}}, +{17616, 18, 70996, {1, 1, 7, 11, 11, 37, 107, 143, 263, 49, 1391, 3269, 6139, 1413, 26557, 16369, 86789, 89151}}, +{17617, 18, 71012, {1, 1, 7, 13, 27, 41, 3, 169, 453, 547, 157, 3219, 4711, 9805, 10657, 8121, 40229, 247825}}, +{17618, 18, 71046, {1, 3, 3, 3, 25, 25, 109, 253, 67, 901, 259, 1159, 6161, 6763, 19669, 42775, 74089, 69821}}, +{17619, 18, 71057, {1, 3, 7, 15, 11, 25, 91, 137, 247, 851, 511, 1847, 1179, 411, 9545, 31275, 46201, 169677}}, +{17620, 18, 71060, {1, 1, 5, 3, 3, 61, 19, 167, 491, 765, 1997, 3267, 883, 15439, 27581, 24865, 128245, 130055}}, +{17621, 18, 71063, {1, 1, 3, 9, 17, 61, 7, 109, 325, 347, 1109, 889, 2995, 4763, 21551, 60137, 91833, 126989}}, +{17622, 18, 71079, {1, 3, 3, 7, 5, 17, 61, 107, 209, 577, 885, 2611, 1471, 7549, 16199, 12319, 48865, 242229}}, +{17623, 18, 71080, {1, 3, 5, 1, 5, 49, 85, 177, 213, 583, 857, 179, 1805, 4297, 5835, 61923, 22741, 261983}}, +{17624, 18, 71111, {1, 3, 1, 13, 1, 1, 83, 227, 457, 375, 567, 1563, 2085, 8153, 12563, 44561, 115487, 188351}}, +{17625, 18, 71118, {1, 3, 1, 9, 15, 39, 127, 135, 181, 967, 1495, 3187, 7463, 9651, 26261, 57435, 42069, 48549}}, +{17626, 18, 71129, {1, 3, 1, 7, 5, 31, 111, 19, 19, 855, 273, 2089, 6001, 2799, 26013, 6625, 75623, 150185}}, +{17627, 18, 71136, {1, 1, 7, 1, 31, 19, 15, 159, 35, 791, 1005, 3947, 7031, 41, 28807, 45299, 37761, 101191}}, +{17628, 18, 71142, {1, 3, 5, 3, 15, 7, 7, 67, 329, 367, 843, 2309, 3023, 5369, 21561, 18881, 14395, 193369}}, +{17629, 18, 71145, {1, 3, 3, 11, 21, 53, 3, 251, 87, 131, 563, 847, 8049, 1639, 30103, 30461, 108427, 125197}}, +{17630, 18, 71151, {1, 1, 1, 5, 21, 45, 79, 229, 29, 133, 1873, 261, 4221, 3091, 25569, 11219, 70693, 227025}}, +{17631, 18, 71163, {1, 3, 1, 5, 17, 9, 75, 101, 155, 311, 789, 821, 7361, 3791, 18511, 57607, 97647, 42107}}, +{17632, 18, 71218, {1, 3, 1, 11, 21, 39, 33, 179, 7, 775, 55, 3779, 6163, 3575, 27535, 32363, 9169, 57133}}, +{17633, 18, 71223, {1, 3, 7, 3, 19, 33, 19, 11, 173, 175, 219, 3585, 1115, 15693, 23481, 45669, 94149, 19531}}, +{17634, 18, 71232, {1, 1, 5, 11, 11, 49, 29, 217, 229, 757, 1031, 3833, 4235, 13535, 8765, 20707, 52851, 9037}}, +{17635, 18, 71237, {1, 3, 1, 13, 25, 61, 65, 111, 95, 533, 1235, 2947, 3239, 9513, 11395, 9321, 117535, 228289}}, +{17636, 18, 71272, {1, 1, 1, 3, 19, 33, 13, 233, 331, 811, 1931, 1109, 7705, 3129, 19757, 44325, 97903, 165311}}, +{17637, 18, 71323, {1, 1, 3, 15, 13, 55, 57, 81, 257, 613, 1305, 653, 6059, 4935, 15707, 4717, 1859, 109265}}, +{17638, 18, 71339, {1, 1, 7, 15, 15, 19, 19, 91, 213, 311, 1651, 2215, 6985, 2989, 11961, 28647, 111163, 217187}}, +{17639, 18, 71341, {1, 3, 3, 5, 15, 31, 45, 193, 119, 11, 511, 3155, 5989, 813, 32655, 41531, 121007, 24733}}, +{17640, 18, 71349, {1, 3, 7, 1, 19, 63, 61, 11, 225, 677, 1323, 1655, 7607, 15691, 27083, 56743, 116167, 250413}}, +{17641, 18, 71368, {1, 1, 1, 15, 7, 25, 27, 213, 171, 1011, 1483, 119, 6849, 12527, 20601, 35701, 68377, 245669}}, +{17642, 18, 71379, {1, 3, 7, 5, 27, 5, 7, 117, 127, 871, 631, 3395, 1501, 4839, 1857, 45769, 107597, 90385}}, +{17643, 18, 71395, {1, 1, 3, 13, 1, 15, 49, 69, 479, 919, 881, 3069, 5609, 12795, 30225, 14411, 122847, 75569}}, +{17644, 18, 71407, {1, 1, 5, 9, 1, 15, 91, 207, 235, 667, 321, 2047, 841, 16049, 12499, 8799, 8245, 42199}}, +{17645, 18, 71421, {1, 3, 7, 15, 11, 19, 99, 163, 331, 953, 791, 3443, 3215, 8025, 1999, 43685, 72595, 153185}}, +{17646, 18, 71430, {1, 3, 1, 13, 25, 23, 17, 133, 59, 233, 151, 1971, 3611, 3951, 16979, 991, 73325, 158475}}, +{17647, 18, 71436, {1, 3, 5, 11, 1, 53, 123, 81, 285, 457, 1183, 489, 939, 3069, 15845, 24799, 81301, 105187}}, +{17648, 18, 71454, {1, 3, 5, 1, 11, 5, 61, 151, 5, 813, 1347, 1107, 4915, 4035, 18709, 20909, 60569, 55007}}, +{17649, 18, 71467, {1, 3, 3, 7, 27, 41, 79, 193, 471, 415, 937, 2561, 1669, 9213, 21145, 44917, 64763, 33195}}, +{17650, 18, 71472, {1, 3, 7, 13, 31, 5, 71, 237, 419, 957, 1741, 2829, 5879, 8143, 8717, 48995, 114465, 110295}}, +{17651, 18, 71478, {1, 1, 7, 3, 7, 23, 83, 161, 381, 313, 383, 2813, 333, 4647, 18321, 10437, 111645, 55509}}, +{17652, 18, 71481, {1, 1, 5, 9, 23, 1, 83, 121, 245, 37, 1097, 1437, 3891, 2727, 30775, 27649, 95571, 216245}}, +{17653, 18, 71501, {1, 1, 5, 7, 1, 43, 59, 253, 329, 421, 791, 3945, 2599, 2243, 11121, 37761, 27223, 176867}}, +{17654, 18, 71519, {1, 3, 5, 5, 25, 59, 85, 155, 367, 291, 1025, 1415, 7871, 14191, 23249, 32233, 93253, 177869}}, +{17655, 18, 71530, {1, 1, 1, 9, 21, 41, 111, 241, 177, 999, 779, 2827, 1683, 6405, 16133, 26523, 102567, 190313}}, +{17656, 18, 71550, {1, 3, 3, 15, 13, 59, 69, 239, 231, 511, 1675, 147, 4041, 3723, 29191, 24913, 15601, 198141}}, +{17657, 18, 71573, {1, 3, 3, 9, 17, 29, 1, 107, 243, 509, 1949, 205, 1693, 6339, 31591, 61527, 128043, 222497}}, +{17658, 18, 71593, {1, 3, 7, 3, 21, 7, 87, 57, 9, 209, 1831, 2189, 5523, 8509, 23687, 46221, 87469, 146815}}, +{17659, 18, 71608, {1, 3, 7, 9, 5, 45, 51, 207, 401, 681, 469, 1951, 793, 16379, 32143, 55457, 91787, 178569}}, +{17660, 18, 71619, {1, 3, 3, 9, 19, 15, 121, 143, 243, 795, 1839, 2411, 7175, 11535, 31995, 4157, 20111, 92653}}, +{17661, 18, 71622, {1, 3, 1, 1, 1, 5, 47, 107, 455, 429, 1411, 2375, 2823, 14657, 16297, 21893, 115257, 50343}}, +{17662, 18, 71636, {1, 3, 5, 9, 19, 63, 55, 197, 281, 797, 1539, 2601, 4497, 1631, 26583, 23819, 104553, 27285}}, +{17663, 18, 71650, {1, 1, 3, 9, 23, 41, 123, 37, 327, 789, 1711, 1299, 6735, 7243, 30635, 21251, 56081, 65623}}, +{17664, 18, 71655, {1, 3, 7, 15, 25, 49, 89, 231, 133, 1003, 351, 765, 7115, 16239, 1141, 44063, 31519, 233719}}, +{17665, 18, 71685, {1, 3, 7, 3, 13, 37, 93, 83, 59, 539, 1185, 525, 705, 993, 1113, 1871, 60817, 254075}}, +{17666, 18, 71703, {1, 3, 7, 11, 25, 33, 23, 21, 141, 451, 25, 1321, 5139, 8947, 10305, 30175, 43123, 113049}}, +{17667, 18, 71714, {1, 3, 5, 5, 17, 1, 125, 211, 143, 637, 1175, 1149, 6775, 11091, 12503, 5537, 35379, 30045}}, +{17668, 18, 71748, {1, 1, 1, 15, 17, 31, 123, 33, 279, 831, 1247, 2305, 1033, 3201, 231, 23173, 34453, 66617}}, +{17669, 18, 71758, {1, 3, 3, 1, 3, 1, 23, 115, 421, 553, 273, 4091, 5965, 7521, 18393, 31229, 78533, 243921}}, +{17670, 18, 71766, {1, 1, 7, 15, 15, 29, 73, 165, 391, 215, 1801, 45, 7451, 6969, 27897, 36599, 103647, 145165}}, +{17671, 18, 71772, {1, 3, 3, 13, 5, 7, 67, 81, 477, 301, 1397, 921, 3777, 12431, 14753, 50555, 24497, 52995}}, +{17672, 18, 71785, {1, 1, 5, 5, 27, 21, 91, 155, 405, 347, 1135, 3701, 2471, 577, 3927, 52605, 1725, 25803}}, +{17673, 18, 71794, {1, 3, 1, 3, 15, 57, 117, 175, 437, 13, 1821, 649, 899, 1295, 2753, 2183, 47923, 163407}}, +{17674, 18, 71796, {1, 3, 5, 9, 23, 15, 103, 179, 233, 787, 715, 3751, 3321, 2069, 8299, 43417, 96549, 180737}}, +{17675, 18, 71803, {1, 3, 7, 9, 1, 41, 81, 205, 141, 707, 397, 763, 4797, 8843, 3311, 37425, 43873, 131491}}, +{17676, 18, 71809, {1, 1, 5, 3, 9, 29, 123, 163, 15, 871, 159, 2615, 6987, 471, 25653, 11295, 94481, 195409}}, +{17677, 18, 71858, {1, 3, 7, 3, 13, 7, 9, 59, 59, 381, 2027, 2639, 59, 7977, 14505, 34327, 99113, 157439}}, +{17678, 18, 71863, {1, 1, 5, 9, 27, 13, 87, 85, 443, 531, 1069, 3479, 6547, 13943, 13711, 11007, 37395, 190293}}, +{17679, 18, 71878, {1, 3, 7, 9, 19, 47, 95, 229, 395, 979, 359, 1799, 7389, 14377, 19371, 56785, 6699, 215433}}, +{17680, 18, 71895, {1, 1, 1, 5, 21, 15, 59, 17, 281, 585, 293, 3029, 2539, 16089, 19, 34757, 115811, 235565}}, +{17681, 18, 71899, {1, 1, 7, 11, 27, 19, 55, 217, 475, 119, 1291, 1761, 6879, 4355, 30019, 17573, 14987, 204623}}, +{17682, 18, 71906, {1, 1, 7, 11, 29, 47, 5, 201, 165, 845, 385, 2903, 7735, 10855, 14171, 17881, 45001, 100725}}, +{17683, 18, 71908, {1, 1, 5, 5, 31, 57, 99, 35, 315, 363, 1135, 897, 1041, 729, 26987, 15299, 29563, 67293}}, +{17684, 18, 71917, {1, 1, 5, 7, 27, 13, 99, 81, 491, 887, 1309, 3343, 7241, 1289, 12021, 52533, 101799, 238721}}, +{17685, 18, 71952, {1, 1, 1, 11, 27, 49, 79, 235, 49, 215, 2003, 2771, 5943, 1183, 31931, 33885, 56971, 52665}}, +{17686, 18, 71957, {1, 1, 1, 13, 13, 1, 123, 1, 191, 747, 859, 2287, 5113, 3715, 2217, 61483, 195, 237163}}, +{17687, 18, 71961, {1, 3, 7, 15, 13, 13, 17, 207, 141, 821, 231, 1373, 5355, 6503, 2403, 18183, 83717, 170047}}, +{17688, 18, 71973, {1, 3, 1, 3, 13, 11, 41, 51, 443, 201, 1349, 2331, 1009, 16169, 5247, 50315, 15589, 150497}}, +{17689, 18, 71980, {1, 3, 5, 13, 29, 21, 93, 55, 27, 17, 1615, 3473, 3641, 10999, 31955, 4699, 23585, 141243}}, +{17690, 18, 71997, {1, 3, 3, 11, 11, 27, 125, 139, 53, 637, 241, 2651, 4999, 5923, 16203, 13645, 95965, 94459}}, +{17691, 18, 72017, {1, 3, 7, 3, 9, 53, 87, 171, 489, 691, 303, 3599, 6093, 841, 3527, 12953, 22907, 69823}}, +{17692, 18, 72060, {1, 1, 5, 13, 31, 11, 33, 207, 437, 683, 703, 1757, 1443, 14269, 12677, 20877, 46791, 176135}}, +{17693, 18, 72091, {1, 1, 7, 1, 13, 53, 123, 199, 173, 585, 1099, 3653, 2253, 13741, 15675, 38755, 74545, 139053}}, +{17694, 18, 72097, {1, 3, 3, 3, 17, 11, 1, 161, 383, 409, 605, 889, 827, 263, 9677, 42857, 127691, 99621}}, +{17695, 18, 72166, {1, 3, 5, 9, 21, 21, 11, 151, 199, 695, 493, 569, 881, 10533, 11255, 61997, 124921, 211139}}, +{17696, 18, 72172, {1, 3, 5, 5, 9, 47, 109, 7, 195, 287, 97, 3691, 6929, 6985, 3063, 16185, 6313, 228147}}, +{17697, 18, 72183, {1, 3, 1, 3, 3, 9, 107, 243, 391, 893, 1207, 2229, 5295, 723, 14753, 10921, 104147, 214941}}, +{17698, 18, 72203, {1, 3, 1, 9, 5, 63, 63, 247, 413, 805, 285, 4001, 6735, 3531, 25949, 44845, 66959, 194429}}, +{17699, 18, 72205, {1, 1, 3, 1, 15, 15, 43, 69, 419, 739, 1739, 1091, 1043, 3217, 1139, 44749, 74131, 165145}}, +{17700, 18, 72213, {1, 1, 3, 9, 17, 53, 119, 25, 427, 791, 1873, 481, 6793, 4767, 30449, 18079, 52105, 260371}}, +{17701, 18, 72214, {1, 1, 3, 15, 15, 41, 15, 53, 395, 571, 1727, 3081, 4531, 4215, 22359, 18165, 91843, 157273}}, +{17702, 18, 72230, {1, 3, 3, 9, 19, 15, 55, 185, 321, 285, 695, 1067, 2551, 1401, 20023, 22671, 21365, 89053}}, +{17703, 18, 72239, {1, 1, 7, 15, 23, 57, 71, 141, 57, 479, 543, 3783, 3635, 14011, 23603, 40877, 21837, 81079}}, +{17704, 18, 72248, {1, 3, 7, 11, 31, 5, 83, 177, 105, 981, 331, 2901, 1781, 8407, 30199, 19287, 116219, 78471}}, +{17705, 18, 72251, {1, 1, 1, 9, 7, 13, 61, 21, 299, 15, 1045, 475, 7141, 4827, 5921, 17323, 42909, 203623}}, +{17706, 18, 72280, {1, 3, 7, 1, 17, 59, 99, 221, 77, 37, 1263, 2137, 1567, 12473, 20029, 9231, 32739, 17021}}, +{17707, 18, 72313, {1, 1, 1, 5, 23, 61, 39, 13, 97, 191, 1479, 19, 1913, 3185, 32393, 59067, 5483, 158895}}, +{17708, 18, 72338, {1, 1, 1, 7, 5, 51, 81, 223, 435, 939, 781, 1153, 6409, 6369, 30559, 19007, 50121, 26525}}, +{17709, 18, 72340, {1, 3, 3, 5, 29, 1, 57, 127, 153, 897, 161, 683, 295, 11207, 245, 1819, 3061, 242609}}, +{17710, 18, 72343, {1, 1, 1, 7, 5, 19, 105, 57, 263, 433, 1339, 1479, 6671, 9917, 26299, 4573, 68725, 195}}, +{17711, 18, 72368, {1, 3, 5, 15, 1, 19, 45, 95, 155, 117, 367, 2051, 1053, 8847, 6399, 23641, 95355, 98415}}, +{17712, 18, 72371, {1, 3, 3, 15, 3, 1, 5, 115, 349, 747, 1865, 1669, 659, 7097, 7871, 3685, 11013, 59837}}, +{17713, 18, 72426, {1, 3, 3, 5, 9, 47, 51, 131, 327, 903, 975, 2481, 3509, 12481, 4049, 38053, 4629, 254415}}, +{17714, 18, 72439, {1, 3, 5, 9, 31, 47, 1, 29, 37, 683, 1363, 2527, 4019, 4965, 14077, 14191, 101, 1945}}, +{17715, 18, 72446, {1, 1, 7, 1, 9, 35, 41, 187, 509, 33, 385, 3907, 1461, 6827, 6931, 44723, 109495, 184641}}, +{17716, 18, 72494, {1, 3, 5, 9, 5, 49, 21, 171, 353, 927, 409, 913, 5199, 11747, 8777, 19891, 63189, 118839}}, +{17717, 18, 72519, {1, 3, 3, 1, 27, 49, 43, 157, 75, 469, 787, 3957, 4147, 13919, 17489, 57103, 62091, 135589}}, +{17718, 18, 72573, {1, 1, 3, 11, 7, 45, 29, 177, 185, 185, 1537, 127, 121, 817, 31269, 1677, 20245, 3835}}, +{17719, 18, 72577, {1, 1, 5, 3, 21, 9, 67, 79, 391, 971, 1711, 2607, 5705, 12863, 12415, 41255, 26447, 1643}}, +{17720, 18, 72578, {1, 1, 5, 5, 9, 63, 67, 245, 31, 225, 309, 1753, 1507, 817, 4275, 51843, 22331, 196875}}, +{17721, 18, 72614, {1, 3, 1, 13, 15, 39, 3, 245, 147, 485, 241, 2507, 1859, 7299, 15037, 41139, 82757, 224031}}, +{17722, 18, 72628, {1, 3, 3, 15, 7, 51, 9, 103, 37, 643, 25, 2067, 7619, 11991, 12885, 46809, 109107, 22393}}, +{17723, 18, 72640, {1, 1, 1, 9, 1, 55, 119, 85, 115, 827, 187, 2241, 2553, 577, 12115, 2391, 69705, 232101}}, +{17724, 18, 72676, {1, 1, 5, 7, 13, 61, 125, 129, 475, 703, 1723, 3233, 5713, 1941, 21375, 42119, 75199, 73163}}, +{17725, 18, 72708, {1, 1, 5, 5, 5, 21, 73, 155, 493, 81, 1627, 827, 5925, 7391, 1587, 39425, 11807, 64385}}, +{17726, 18, 72717, {1, 3, 1, 15, 27, 35, 111, 183, 283, 335, 1387, 669, 6041, 11637, 26255, 21113, 121183, 219703}}, +{17727, 18, 72766, {1, 3, 5, 15, 15, 23, 119, 91, 197, 809, 975, 3275, 6171, 11769, 8385, 5461, 4561, 29159}}, +{17728, 18, 72786, {1, 1, 5, 9, 29, 9, 107, 233, 417, 1005, 799, 1437, 2679, 15643, 32341, 54055, 27861, 115483}}, +{17729, 18, 72788, {1, 1, 5, 7, 27, 19, 95, 153, 175, 407, 215, 303, 8165, 14791, 2099, 61797, 129411, 10461}}, +{17730, 18, 72795, {1, 1, 1, 13, 25, 51, 11, 77, 97, 495, 971, 449, 2833, 7121, 24105, 34527, 123135, 129305}}, +{17731, 18, 72797, {1, 1, 7, 11, 23, 9, 111, 101, 169, 233, 267, 953, 6379, 15887, 22921, 33665, 95195, 159707}}, +{17732, 18, 72798, {1, 1, 5, 15, 21, 3, 21, 57, 173, 513, 2027, 1235, 5031, 5375, 2717, 23361, 71817, 232101}}, +{17733, 18, 72808, {1, 3, 3, 11, 7, 25, 43, 65, 19, 135, 1611, 85, 7673, 6459, 27813, 55557, 100989, 25205}}, +{17734, 18, 72826, {1, 3, 7, 1, 15, 37, 55, 141, 239, 205, 647, 3715, 1617, 13507, 9847, 64681, 108711, 231329}}, +{17735, 18, 72835, {1, 3, 5, 9, 21, 27, 79, 153, 335, 299, 493, 887, 1457, 16011, 13795, 50205, 43319, 130963}}, +{17736, 18, 72837, {1, 1, 3, 1, 23, 59, 121, 83, 463, 151, 323, 2977, 4769, 6011, 20135, 59541, 23179, 203487}}, +{17737, 18, 72865, {1, 1, 5, 7, 9, 17, 63, 149, 59, 281, 763, 619, 2551, 8179, 2963, 61283, 107727, 119817}}, +{17738, 18, 72871, {1, 3, 7, 3, 15, 39, 11, 145, 141, 965, 505, 2625, 4335, 7619, 11007, 43321, 33199, 212661}}, +{17739, 18, 72872, {1, 3, 5, 9, 9, 61, 27, 223, 5, 941, 513, 1437, 481, 9651, 6567, 57945, 52547, 21283}}, +{17740, 18, 72898, {1, 3, 1, 1, 25, 1, 87, 25, 121, 757, 529, 3857, 1321, 13479, 5357, 49341, 5797, 235895}}, +{17741, 18, 72907, {1, 3, 5, 1, 21, 35, 37, 215, 509, 165, 1423, 3067, 4779, 4693, 12523, 48099, 69283, 255111}}, +{17742, 18, 72909, {1, 1, 3, 1, 31, 15, 45, 127, 339, 331, 1249, 1075, 6169, 2941, 30471, 46789, 118039, 224651}}, +{17743, 18, 72917, {1, 1, 5, 13, 21, 37, 39, 61, 191, 17, 177, 3719, 2177, 11039, 20047, 14489, 20475, 171235}}, +{17744, 18, 72934, {1, 1, 3, 9, 19, 11, 65, 111, 121, 901, 99, 1861, 3687, 765, 24861, 46315, 63433, 171679}}, +{17745, 18, 72987, {1, 3, 1, 7, 1, 51, 87, 199, 241, 909, 353, 2471, 7163, 9547, 16351, 41129, 12217, 194099}}, +{17746, 18, 73000, {1, 1, 7, 7, 17, 17, 127, 67, 51, 217, 1189, 19, 2099, 10281, 9071, 21185, 122821, 110211}}, +{17747, 18, 73005, {1, 3, 3, 7, 15, 3, 53, 45, 77, 665, 701, 3175, 6151, 2639, 19819, 1063, 25079, 203343}}, +{17748, 18, 73014, {1, 1, 5, 11, 11, 5, 103, 11, 481, 999, 713, 499, 5069, 921, 20619, 25623, 69601, 82941}}, +{17749, 18, 73023, {1, 3, 5, 9, 15, 61, 67, 79, 371, 993, 475, 617, 1611, 12513, 14907, 55313, 39207, 112653}}, +{17750, 18, 73025, {1, 1, 5, 15, 17, 45, 91, 187, 175, 465, 907, 3371, 3743, 15657, 30511, 58191, 105683, 216759}}, +{17751, 18, 73074, {1, 1, 5, 9, 23, 1, 17, 79, 73, 717, 1785, 677, 7377, 4511, 21927, 34341, 47119, 193977}}, +{17752, 18, 73076, {1, 3, 7, 13, 21, 1, 59, 179, 121, 641, 175, 563, 961, 10549, 15779, 49875, 8109, 1039}}, +{17753, 18, 73113, {1, 1, 5, 7, 17, 9, 37, 171, 335, 135, 1403, 2541, 3845, 15311, 1905, 40853, 11013, 255669}}, +{17754, 18, 73116, {1, 1, 7, 1, 5, 23, 113, 111, 337, 755, 2037, 3067, 2821, 10549, 28467, 22615, 71585, 61871}}, +{17755, 18, 73140, {1, 1, 3, 9, 7, 3, 49, 229, 111, 871, 1711, 1793, 3089, 12571, 30883, 44773, 80827, 151709}}, +{17756, 18, 73149, {1, 1, 5, 1, 13, 41, 3, 253, 399, 881, 1107, 4081, 1849, 115, 31557, 2515, 126751, 195663}}, +{17757, 18, 73186, {1, 1, 3, 1, 13, 31, 113, 85, 57, 549, 1653, 2927, 5433, 11879, 22709, 41675, 13395, 46931}}, +{17758, 18, 73188, {1, 1, 3, 9, 21, 1, 109, 65, 377, 63, 861, 1031, 2709, 7265, 9861, 64109, 34577, 9743}}, +{17759, 18, 73191, {1, 1, 7, 7, 17, 31, 5, 177, 253, 387, 1271, 2805, 2211, 1813, 11649, 3217, 123793, 197753}}, +{17760, 18, 73205, {1, 1, 3, 9, 15, 63, 89, 59, 455, 783, 1181, 7, 2309, 15961, 11231, 37389, 101221, 119331}}, +{17761, 18, 73215, {1, 3, 3, 13, 7, 3, 15, 251, 431, 951, 639, 1585, 1247, 15927, 9695, 37469, 34945, 219723}}, +{17762, 18, 73216, {1, 1, 5, 3, 21, 29, 83, 151, 383, 227, 215, 2329, 1297, 13709, 15653, 3119, 111319, 222877}}, +{17763, 18, 73239, {1, 3, 1, 13, 1, 43, 127, 125, 243, 955, 583, 3497, 6605, 3821, 4657, 10599, 90927, 82725}}, +{17764, 18, 73294, {1, 1, 1, 1, 15, 51, 61, 167, 489, 603, 873, 907, 575, 6957, 24409, 63587, 50205, 159291}}, +{17765, 18, 73311, {1, 3, 3, 1, 19, 23, 7, 23, 239, 961, 1001, 1541, 2211, 4637, 19931, 39153, 102769, 242005}}, +{17766, 18, 73330, {1, 1, 1, 15, 19, 31, 73, 121, 119, 199, 979, 4061, 3903, 12055, 27957, 15999, 5709, 210329}}, +{17767, 18, 73366, {1, 1, 7, 13, 25, 35, 21, 25, 241, 937, 13, 947, 943, 3727, 15321, 46665, 99437, 233919}}, +{17768, 18, 73379, {1, 1, 1, 9, 3, 51, 127, 113, 105, 335, 685, 2173, 4329, 7569, 5617, 32407, 21649, 30609}}, +{17769, 18, 73386, {1, 3, 7, 9, 9, 13, 69, 191, 95, 727, 1649, 1201, 2093, 10053, 29381, 6207, 70755, 118505}}, +{17770, 18, 73391, {1, 1, 1, 11, 21, 57, 77, 139, 271, 21, 1747, 2337, 7761, 7753, 6847, 5219, 87033, 229105}}, +{17771, 18, 73418, {1, 3, 3, 1, 5, 51, 15, 235, 87, 567, 391, 3039, 2253, 11177, 11899, 25305, 14815, 51051}}, +{17772, 18, 73438, {1, 3, 5, 7, 27, 51, 69, 93, 261, 947, 31, 2751, 6685, 3655, 24125, 22161, 108421, 230865}}, +{17773, 18, 73476, {1, 1, 3, 3, 27, 17, 35, 97, 285, 855, 1767, 2545, 825, 11519, 11231, 50951, 32883, 78573}}, +{17774, 18, 73503, {1, 3, 7, 13, 1, 57, 99, 193, 371, 839, 1319, 2295, 5897, 7893, 14339, 64217, 16951, 234953}}, +{17775, 18, 73509, {1, 3, 1, 3, 11, 37, 13, 21, 299, 379, 63, 1209, 7879, 5001, 10181, 40173, 1753, 104821}}, +{17776, 18, 73534, {1, 3, 5, 9, 23, 51, 75, 103, 249, 533, 621, 15, 1883, 2109, 20859, 4635, 120615, 135515}}, +{17777, 18, 73545, {1, 1, 3, 3, 21, 45, 113, 57, 495, 457, 685, 3625, 243, 14831, 12351, 63001, 118191, 153875}}, +{17778, 18, 73548, {1, 3, 5, 5, 21, 15, 65, 251, 183, 241, 1513, 2711, 4527, 12675, 26747, 5181, 4237, 246479}}, +{17779, 18, 73563, {1, 1, 5, 3, 27, 29, 91, 93, 345, 893, 195, 3109, 2611, 12657, 10401, 15063, 95807, 244587}}, +{17780, 18, 73575, {1, 3, 5, 13, 19, 49, 85, 155, 159, 939, 1139, 1569, 1129, 8641, 18391, 55201, 108491, 77863}}, +{17781, 18, 73582, {1, 3, 5, 9, 25, 53, 75, 77, 85, 903, 1399, 2379, 2219, 14725, 21877, 24271, 40955, 61849}}, +{17782, 18, 73603, {1, 1, 5, 9, 13, 49, 53, 177, 163, 331, 533, 1469, 1397, 8187, 12379, 10185, 125541, 260271}}, +{17783, 18, 73609, {1, 1, 7, 9, 19, 31, 81, 89, 281, 397, 1917, 145, 2723, 15019, 18841, 13887, 11859, 171749}}, +{17784, 18, 73610, {1, 3, 7, 13, 25, 17, 87, 189, 29, 283, 913, 3855, 5707, 15881, 12787, 42357, 84579, 78531}}, +{17785, 18, 73645, {1, 1, 5, 15, 15, 31, 37, 249, 445, 119, 431, 4069, 5699, 10119, 31661, 9555, 6869, 1145}}, +{17786, 18, 73646, {1, 3, 7, 1, 31, 29, 57, 177, 341, 411, 1019, 1889, 383, 1461, 26695, 61777, 18367, 137233}}, +{17787, 18, 73678, {1, 3, 5, 1, 7, 53, 29, 53, 387, 675, 435, 461, 6247, 7519, 14003, 9037, 116599, 54471}}, +{17788, 18, 73685, {1, 3, 3, 7, 17, 59, 91, 77, 169, 591, 95, 113, 6135, 10479, 17153, 52953, 16183, 90775}}, +{17789, 18, 73708, {1, 3, 3, 15, 11, 11, 117, 141, 493, 163, 65, 1305, 7477, 7383, 22651, 64271, 80983, 154845}}, +{17790, 18, 73747, {1, 1, 1, 3, 9, 15, 83, 11, 113, 77, 1115, 1417, 511, 6825, 21013, 37241, 104695, 31335}}, +{17791, 18, 73765, {1, 1, 7, 3, 13, 33, 115, 121, 245, 673, 1991, 2157, 479, 9843, 5963, 4637, 8925, 27751}}, +{17792, 18, 73797, {1, 3, 3, 7, 19, 11, 67, 125, 339, 27, 1545, 2319, 5977, 11603, 23219, 48273, 119265, 20151}}, +{17793, 18, 73810, {1, 1, 5, 7, 27, 29, 31, 227, 279, 405, 1133, 689, 1133, 8957, 29629, 48849, 109995, 259749}}, +{17794, 18, 73819, {1, 3, 5, 7, 7, 61, 95, 243, 91, 741, 1591, 3169, 2287, 11015, 15601, 43043, 65319, 50671}}, +{17795, 18, 73825, {1, 1, 5, 5, 13, 47, 31, 95, 425, 715, 1603, 3485, 673, 12869, 32561, 42329, 112809, 181971}}, +{17796, 18, 73845, {1, 3, 3, 3, 17, 51, 109, 45, 397, 457, 1379, 3845, 4215, 14185, 16597, 27711, 74283, 98151}}, +{17797, 18, 73855, {1, 1, 1, 15, 7, 25, 13, 49, 441, 513, 1769, 707, 6037, 9689, 18915, 35647, 110823, 196633}}, +{17798, 18, 73866, {1, 1, 1, 1, 23, 53, 93, 61, 277, 125, 55, 2453, 3331, 14037, 10809, 33205, 43785, 248743}}, +{17799, 18, 73890, {1, 1, 3, 7, 23, 15, 93, 77, 333, 801, 1969, 31, 51, 5239, 24241, 5077, 113503, 132211}}, +{17800, 18, 73919, {1, 3, 3, 1, 7, 55, 53, 5, 311, 657, 1507, 3413, 565, 15745, 6129, 40285, 91811, 90527}}, +{17801, 18, 73922, {1, 3, 3, 13, 19, 23, 45, 25, 509, 313, 915, 2199, 5549, 8469, 32735, 37877, 11607, 37993}}, +{17802, 18, 73936, {1, 1, 5, 11, 25, 33, 55, 31, 311, 851, 159, 2103, 2641, 8957, 9375, 37179, 33667, 100513}}, +{17803, 18, 73939, {1, 3, 1, 1, 7, 7, 17, 75, 217, 171, 359, 1169, 4105, 929, 6427, 56349, 77985, 41941}}, +{17804, 18, 73964, {1, 1, 1, 15, 5, 51, 73, 63, 259, 351, 1797, 1001, 5025, 11203, 30221, 54345, 11331, 158415}}, +{17805, 18, 73976, {1, 3, 1, 5, 3, 21, 13, 3, 63, 779, 871, 2517, 6345, 4103, 16321, 30211, 120815, 83751}}, +{17806, 18, 73984, {1, 1, 3, 13, 11, 7, 41, 255, 215, 37, 279, 2485, 6511, 12855, 22857, 55695, 122717, 238151}}, +{17807, 18, 73990, {1, 3, 3, 3, 1, 55, 27, 193, 509, 677, 1861, 573, 5341, 5285, 6909, 51781, 91203, 139791}}, +{17808, 18, 74013, {1, 3, 7, 11, 5, 63, 87, 215, 305, 235, 1049, 1339, 5301, 9639, 29861, 58415, 68303, 76907}}, +{17809, 18, 74014, {1, 1, 5, 11, 13, 13, 67, 139, 19, 577, 165, 3067, 8023, 10905, 3159, 41289, 118231, 119673}}, +{17810, 18, 74020, {1, 1, 3, 1, 15, 5, 69, 119, 363, 703, 461, 2293, 3801, 14217, 10709, 9553, 100651, 186115}}, +{17811, 18, 74035, {1, 3, 7, 15, 19, 21, 59, 237, 227, 193, 827, 619, 3447, 13815, 3467, 38911, 41403, 99627}}, +{17812, 18, 74038, {1, 1, 3, 3, 27, 23, 41, 199, 161, 555, 1629, 3187, 1355, 5947, 1157, 25877, 110989, 231285}}, +{17813, 18, 74069, {1, 1, 3, 15, 3, 43, 103, 29, 179, 223, 375, 2877, 1917, 9367, 15337, 15381, 62833, 139003}}, +{17814, 18, 74119, {1, 3, 3, 11, 23, 33, 107, 189, 511, 209, 1519, 2809, 6185, 5921, 20939, 63879, 113687, 79149}}, +{17815, 18, 74123, {1, 3, 5, 15, 1, 63, 101, 227, 419, 803, 59, 2261, 6905, 10679, 5393, 54447, 58521, 59855}}, +{17816, 18, 74126, {1, 1, 7, 13, 13, 21, 121, 123, 181, 371, 1485, 3191, 2627, 6197, 11169, 44927, 34739, 10687}}, +{17817, 18, 74153, {1, 1, 3, 3, 25, 47, 13, 115, 187, 967, 1439, 1021, 4413, 3343, 31463, 3729, 13511, 162125}}, +{17818, 18, 74179, {1, 3, 3, 15, 15, 59, 29, 129, 469, 171, 2045, 2859, 1097, 11199, 12147, 37465, 14179, 197923}}, +{17819, 18, 74200, {1, 1, 7, 5, 13, 35, 41, 167, 207, 123, 1077, 3145, 2803, 15729, 767, 7321, 84375, 190855}}, +{17820, 18, 74210, {1, 3, 5, 11, 3, 5, 65, 3, 111, 725, 143, 2945, 4755, 3407, 31801, 15329, 70311, 119197}}, +{17821, 18, 74216, {1, 1, 5, 3, 17, 19, 61, 73, 261, 663, 821, 3389, 3883, 9961, 17727, 33113, 98371, 247097}}, +{17822, 18, 74250, {1, 3, 1, 9, 29, 17, 43, 43, 481, 1015, 1249, 607, 3495, 13259, 29001, 23083, 51487, 81723}}, +{17823, 18, 74263, {1, 3, 1, 3, 25, 57, 5, 33, 313, 21, 1731, 3417, 7033, 6609, 31631, 63231, 61107, 10941}}, +{17824, 18, 74264, {1, 3, 3, 11, 29, 29, 117, 131, 417, 789, 1545, 1677, 3213, 13869, 5319, 41387, 13895, 252387}}, +{17825, 18, 74279, {1, 3, 3, 13, 25, 47, 55, 213, 83, 345, 1453, 159, 1521, 14777, 24177, 7631, 81259, 135411}}, +{17826, 18, 74285, {1, 1, 3, 15, 11, 63, 49, 69, 273, 843, 1661, 1157, 1285, 12751, 5, 54909, 114375, 6395}}, +{17827, 18, 74294, {1, 3, 1, 11, 25, 1, 83, 55, 161, 125, 1547, 401, 7639, 4289, 7075, 9971, 33825, 135071}}, +{17828, 18, 74298, {1, 3, 7, 9, 17, 5, 79, 131, 373, 1023, 573, 2219, 1789, 5789, 5347, 26455, 58661, 206417}}, +{17829, 18, 74303, {1, 1, 7, 5, 1, 43, 83, 107, 125, 289, 793, 1731, 5167, 8943, 28397, 26877, 53781, 95899}}, +{17830, 18, 74306, {1, 3, 3, 13, 21, 53, 123, 103, 385, 753, 1917, 2075, 4385, 5757, 9221, 35797, 86743, 69069}}, +{17831, 18, 74366, {1, 3, 3, 3, 5, 19, 119, 221, 457, 907, 359, 3493, 2331, 5685, 11133, 29293, 27051, 213927}}, +{17832, 18, 74369, {1, 1, 3, 11, 11, 31, 29, 129, 429, 601, 1217, 3653, 5935, 14823, 21161, 33423, 98391, 214703}}, +{17833, 18, 74403, {1, 1, 3, 15, 31, 49, 109, 139, 349, 13, 205, 2483, 8083, 8391, 4789, 30355, 12165, 195263}}, +{17834, 18, 74406, {1, 1, 1, 9, 19, 63, 15, 167, 45, 185, 811, 529, 6811, 13441, 27195, 59047, 106675, 167125}}, +{17835, 18, 74442, {1, 1, 7, 1, 19, 19, 39, 1, 349, 467, 551, 4081, 4743, 11627, 607, 22005, 60893, 49101}}, +{17836, 18, 74450, {1, 3, 7, 9, 9, 25, 105, 119, 113, 825, 1429, 2019, 5209, 8491, 6017, 47783, 88455, 119083}}, +{17837, 18, 74452, {1, 3, 3, 13, 21, 39, 107, 119, 321, 251, 563, 311, 4441, 6491, 3157, 65479, 107349, 211621}}, +{17838, 18, 74459, {1, 1, 7, 13, 9, 3, 17, 117, 327, 459, 489, 7, 6883, 10047, 31935, 28069, 37903, 188281}}, +{17839, 18, 74461, {1, 1, 7, 1, 15, 53, 47, 127, 483, 595, 811, 1143, 4543, 10043, 30349, 24409, 91947, 240165}}, +{17840, 18, 74477, {1, 1, 1, 13, 25, 43, 109, 161, 147, 1009, 1071, 1533, 2781, 13439, 20507, 41387, 26943, 84675}}, +{17841, 18, 74478, {1, 3, 5, 13, 19, 21, 23, 167, 135, 257, 587, 2691, 5877, 3047, 11745, 24895, 114799, 48003}}, +{17842, 18, 74489, {1, 3, 1, 1, 9, 57, 33, 51, 137, 109, 137, 195, 1233, 11139, 16833, 27545, 35877, 126627}}, +{17843, 18, 74504, {1, 1, 1, 15, 5, 37, 7, 19, 363, 411, 1193, 767, 6209, 9115, 14699, 55515, 46023, 90693}}, +{17844, 18, 74528, {1, 3, 5, 3, 19, 55, 85, 117, 391, 757, 861, 3537, 6507, 6993, 19589, 6843, 33557, 64683}}, +{17845, 18, 74533, {1, 1, 7, 5, 5, 61, 99, 9, 311, 595, 807, 429, 63, 12359, 28289, 709, 129911, 143745}}, +{17846, 18, 74538, {1, 1, 1, 7, 17, 9, 9, 117, 19, 985, 657, 2803, 2699, 829, 31069, 13277, 106769, 109231}}, +{17847, 18, 74551, {1, 1, 5, 13, 25, 19, 63, 217, 419, 221, 1921, 215, 2631, 4659, 29855, 46549, 62257, 260113}}, +{17848, 18, 74580, {1, 3, 3, 9, 13, 45, 63, 129, 147, 489, 879, 3025, 6777, 1119, 20963, 30553, 20863, 169837}}, +{17849, 18, 74589, {1, 3, 5, 9, 25, 61, 79, 51, 495, 583, 1519, 1501, 123, 13871, 32239, 957, 31921, 255561}}, +{17850, 18, 74590, {1, 3, 7, 3, 31, 61, 89, 65, 305, 429, 785, 3871, 7711, 2745, 24131, 43055, 51167, 87743}}, +{17851, 18, 74593, {1, 3, 1, 11, 19, 23, 89, 117, 185, 121, 109, 1327, 6553, 14367, 16069, 28657, 81751, 10185}}, +{17852, 18, 74608, {1, 3, 5, 5, 17, 33, 115, 61, 101, 367, 1465, 3899, 6601, 4483, 2447, 49575, 129987, 11703}}, +{17853, 18, 74611, {1, 1, 3, 13, 13, 59, 79, 83, 253, 171, 53, 2467, 5005, 1045, 943, 62419, 98563, 78935}}, +{17854, 18, 74617, {1, 1, 7, 15, 31, 17, 77, 73, 249, 247, 119, 1655, 7079, 14593, 105, 55767, 130401, 74189}}, +{17855, 18, 74623, {1, 3, 5, 11, 19, 29, 79, 251, 75, 949, 527, 2779, 5839, 11451, 24125, 45991, 127437, 86541}}, +{17856, 18, 74648, {1, 1, 5, 7, 1, 29, 127, 27, 477, 807, 829, 1569, 205, 13319, 16149, 26003, 38985, 188587}}, +{17857, 18, 74704, {1, 1, 1, 3, 19, 29, 39, 71, 17, 51, 1169, 467, 7505, 1867, 4469, 32161, 43031, 31675}}, +{17858, 18, 74735, {1, 1, 1, 15, 27, 45, 67, 107, 127, 469, 1955, 1933, 2379, 8513, 32071, 35043, 126537, 23303}}, +{17859, 18, 74737, {1, 3, 7, 9, 23, 41, 23, 197, 97, 213, 17, 1751, 5467, 6179, 29291, 33397, 42131, 151093}}, +{17860, 18, 74738, {1, 3, 7, 15, 27, 3, 39, 87, 365, 77, 487, 293, 6405, 2239, 30455, 44723, 12399, 100013}}, +{17861, 18, 74779, {1, 3, 5, 9, 29, 21, 55, 183, 343, 263, 1643, 2027, 2255, 6259, 18277, 64661, 39391, 255839}}, +{17862, 18, 74781, {1, 1, 7, 11, 21, 55, 11, 139, 261, 11, 1721, 3779, 85, 8203, 12089, 50579, 128341, 119043}}, +{17863, 18, 74809, {1, 3, 5, 13, 27, 53, 109, 1, 313, 661, 431, 1543, 1571, 7337, 18857, 49951, 7881, 228161}}, +{17864, 18, 74812, {1, 1, 7, 5, 5, 31, 27, 149, 239, 199, 1011, 1979, 5297, 14609, 26971, 65531, 64215, 115109}}, +{17865, 18, 74827, {1, 1, 5, 13, 15, 11, 63, 225, 165, 405, 1367, 2291, 5171, 12419, 19561, 37719, 621, 137607}}, +{17866, 18, 74868, {1, 3, 1, 15, 25, 1, 125, 243, 97, 455, 1977, 3333, 801, 1343, 993, 18453, 19285, 71547}}, +{17867, 18, 74871, {1, 1, 5, 11, 9, 51, 109, 135, 73, 147, 649, 4071, 7425, 3093, 26417, 51139, 1523, 142225}}, +{17868, 18, 74905, {1, 3, 7, 11, 1, 39, 109, 119, 337, 715, 1087, 4005, 1393, 6397, 31135, 38935, 106255, 60723}}, +{17869, 18, 74930, {1, 1, 1, 9, 9, 11, 45, 11, 171, 671, 965, 109, 2261, 13775, 8539, 63669, 10507, 249113}}, +{17870, 18, 74962, {1, 3, 1, 15, 21, 33, 127, 173, 419, 31, 299, 857, 4915, 11331, 29385, 47375, 111891, 14505}}, +{17871, 18, 74990, {1, 3, 5, 13, 7, 43, 85, 183, 377, 275, 803, 1755, 8005, 15327, 31043, 18851, 122581, 229731}}, +{17872, 18, 74995, {1, 3, 5, 1, 27, 9, 41, 73, 283, 475, 671, 747, 1419, 15209, 25465, 60061, 91417, 103203}}, +{17873, 18, 75007, {1, 3, 1, 15, 15, 43, 13, 45, 217, 519, 363, 3265, 6213, 13045, 3709, 22119, 79733, 224195}}, +{17874, 18, 75012, {1, 3, 1, 15, 15, 59, 95, 71, 171, 769, 1395, 2673, 4523, 749, 13411, 60431, 124651, 11475}}, +{17875, 18, 75030, {1, 1, 7, 3, 1, 35, 13, 239, 101, 355, 1201, 3665, 5403, 11413, 11983, 52469, 63621, 155819}}, +{17876, 18, 75033, {1, 1, 1, 7, 31, 59, 87, 25, 511, 483, 569, 3337, 4027, 8347, 3031, 24351, 57963, 79425}}, +{17877, 18, 75039, {1, 3, 1, 3, 11, 17, 29, 249, 61, 923, 585, 2107, 2727, 8589, 22809, 3, 17937, 163267}}, +{17878, 18, 75055, {1, 3, 5, 11, 27, 3, 73, 187, 19, 975, 257, 2361, 935, 9071, 29991, 13619, 92169, 101031}}, +{17879, 18, 75078, {1, 1, 5, 13, 17, 53, 105, 157, 343, 673, 237, 3231, 7311, 1593, 18521, 57889, 79805, 97847}}, +{17880, 18, 75120, {1, 3, 1, 3, 31, 55, 63, 167, 489, 167, 121, 3333, 2475, 1545, 13291, 921, 101757, 62147}}, +{17881, 18, 75130, {1, 3, 3, 15, 13, 17, 9, 209, 339, 567, 2011, 1737, 1455, 9289, 6105, 49733, 74237, 93195}}, +{17882, 18, 75159, {1, 1, 7, 11, 3, 13, 77, 115, 305, 327, 1005, 3381, 4269, 4835, 27221, 16301, 75173, 244603}}, +{17883, 18, 75163, {1, 3, 5, 7, 7, 31, 47, 75, 499, 41, 281, 167, 3525, 8649, 23623, 4987, 2057, 204083}}, +{17884, 18, 75170, {1, 3, 3, 5, 9, 5, 35, 53, 269, 437, 1035, 1675, 4567, 13291, 19787, 28937, 108915, 62545}}, +{17885, 18, 75193, {1, 3, 1, 5, 15, 59, 57, 181, 321, 1, 791, 2149, 591, 6691, 8759, 62861, 10815, 257331}}, +{17886, 18, 75228, {1, 1, 7, 1, 21, 25, 93, 39, 429, 455, 669, 1725, 7087, 11805, 22405, 13083, 88411, 225967}}, +{17887, 18, 75244, {1, 1, 5, 15, 5, 45, 15, 1, 55, 281, 2027, 97, 2639, 57, 23717, 21669, 92181, 32731}}, +{17888, 18, 75249, {1, 3, 7, 3, 7, 3, 67, 201, 445, 577, 1011, 793, 7763, 10823, 30309, 41565, 37263, 218909}}, +{17889, 18, 75328, {1, 1, 7, 3, 17, 53, 51, 119, 399, 903, 1785, 1053, 4315, 2967, 17579, 64185, 55005, 12969}}, +{17890, 18, 75357, {1, 3, 3, 13, 21, 63, 13, 1, 427, 39, 71, 1811, 1237, 1623, 11401, 14371, 44355, 93089}}, +{17891, 18, 75373, {1, 1, 5, 1, 17, 39, 39, 105, 187, 691, 251, 3957, 931, 12149, 18299, 48819, 23061, 49179}}, +{17892, 18, 75392, {1, 1, 5, 11, 31, 3, 23, 211, 101, 763, 237, 3635, 417, 4935, 14997, 3859, 22343, 153541}}, +{17893, 18, 75428, {1, 3, 7, 5, 21, 37, 59, 137, 13, 179, 527, 895, 3451, 1743, 3149, 10665, 119427, 259343}}, +{17894, 18, 75438, {1, 3, 5, 3, 7, 37, 103, 173, 453, 327, 131, 2453, 7795, 12585, 13947, 59161, 41845, 29527}}, +{17895, 18, 75469, {1, 3, 3, 1, 17, 49, 57, 251, 295, 279, 1545, 3963, 589, 9211, 32371, 14963, 116927, 197321}}, +{17896, 18, 75487, {1, 1, 3, 7, 17, 59, 37, 115, 315, 591, 481, 767, 4611, 14741, 6949, 19507, 6567, 143371}}, +{17897, 18, 75494, {1, 1, 5, 3, 19, 53, 121, 229, 355, 909, 339, 1645, 2747, 7045, 9085, 5799, 50997, 17981}}, +{17898, 18, 75515, {1, 3, 3, 9, 3, 1, 109, 7, 15, 177, 789, 3911, 6427, 8453, 22583, 12039, 124587, 123887}}, +{17899, 18, 75526, {1, 1, 5, 1, 7, 23, 15, 193, 109, 685, 1147, 3921, 2329, 15153, 25045, 28389, 34759, 256611}}, +{17900, 18, 75532, {1, 1, 3, 3, 23, 27, 55, 43, 485, 541, 1617, 3761, 1051, 7525, 19941, 52699, 35421, 162939}}, +{17901, 18, 75543, {1, 3, 7, 1, 25, 9, 113, 251, 477, 1005, 9, 3321, 5817, 965, 18523, 29407, 53353, 205575}}, +{17902, 18, 75549, {1, 1, 7, 11, 9, 31, 111, 175, 227, 33, 1745, 1141, 1547, 2113, 8785, 40273, 100301, 190749}}, +{17903, 18, 75559, {1, 1, 5, 11, 19, 49, 45, 197, 457, 223, 91, 2769, 6331, 1161, 6609, 61905, 42257, 152117}}, +{17904, 18, 75563, {1, 1, 7, 11, 1, 17, 37, 153, 431, 933, 269, 1529, 1297, 15567, 149, 41701, 59867, 93631}}, +{17905, 18, 75568, {1, 1, 5, 9, 25, 33, 83, 127, 305, 667, 343, 185, 3527, 13079, 10567, 35753, 72191, 214091}}, +{17906, 18, 75598, {1, 3, 7, 1, 1, 7, 75, 241, 185, 81, 2043, 3081, 3563, 385, 3055, 59421, 27081, 32521}}, +{17907, 18, 75612, {1, 1, 3, 5, 31, 1, 101, 21, 69, 979, 917, 695, 5601, 12251, 15031, 18715, 116985, 53071}}, +{17908, 18, 75622, {1, 1, 3, 9, 23, 57, 91, 127, 327, 979, 721, 3855, 1131, 997, 32227, 33843, 128299, 15239}}, +{17909, 18, 75640, {1, 3, 7, 13, 23, 1, 87, 105, 259, 939, 1935, 1983, 6619, 1611, 31901, 14745, 96641, 211945}}, +{17910, 18, 75683, {1, 1, 3, 5, 25, 17, 39, 95, 137, 971, 377, 2493, 981, 329, 25845, 44513, 100561, 57985}}, +{17911, 18, 75689, {1, 1, 3, 9, 27, 37, 69, 103, 167, 131, 487, 2935, 7099, 15375, 4825, 12209, 117165, 84909}}, +{17912, 18, 75690, {1, 3, 1, 15, 27, 19, 115, 239, 247, 243, 83, 1535, 8095, 3953, 25721, 62983, 89045, 16783}}, +{17913, 18, 75692, {1, 1, 5, 1, 19, 13, 125, 39, 439, 411, 171, 155, 5117, 15137, 19851, 251, 37921, 97209}}, +{17914, 18, 75752, {1, 1, 1, 5, 13, 41, 17, 97, 215, 323, 1333, 775, 1155, 15269, 19943, 48489, 71741, 202501}}, +{17915, 18, 75766, {1, 3, 5, 3, 1, 31, 55, 125, 69, 437, 1649, 2791, 8027, 15509, 31575, 8491, 106953, 155215}}, +{17916, 18, 75769, {1, 3, 3, 13, 19, 45, 39, 63, 227, 67, 2021, 1243, 6525, 7211, 6275, 39719, 74513, 6713}}, +{17917, 18, 75791, {1, 1, 5, 11, 13, 45, 15, 101, 171, 613, 1561, 2939, 3849, 2917, 29765, 2027, 53617, 59939}}, +{17918, 18, 75794, {1, 1, 5, 9, 27, 21, 119, 19, 441, 759, 703, 2985, 3007, 2087, 5207, 64403, 20273, 66181}}, +{17919, 18, 75806, {1, 1, 7, 13, 21, 3, 49, 3, 485, 883, 1863, 1925, 877, 10009, 24191, 58639, 107755, 106539}}, +{17920, 18, 75809, {1, 1, 1, 5, 27, 37, 23, 185, 281, 533, 437, 555, 8151, 6489, 22343, 4573, 91577, 167919}}, +{17921, 18, 75819, {1, 1, 7, 15, 3, 61, 103, 221, 223, 703, 133, 2923, 1027, 14643, 26413, 16523, 107223, 97185}}, +{17922, 18, 75834, {1, 3, 1, 11, 13, 15, 1, 203, 363, 675, 511, 3225, 1163, 741, 16063, 8097, 95905, 148465}}, +{17923, 18, 75895, {1, 3, 1, 7, 11, 11, 11, 243, 371, 129, 209, 3533, 1279, 12181, 31973, 29165, 122089, 115117}}, +{17924, 18, 75908, {1, 3, 1, 5, 25, 17, 31, 45, 215, 809, 1443, 3245, 1005, 2903, 20783, 23041, 96577, 192063}}, +{17925, 18, 75951, {1, 3, 3, 3, 19, 17, 101, 219, 91, 805, 189, 761, 4771, 11629, 7285, 21631, 21691, 47421}}, +{17926, 18, 75960, {1, 3, 7, 1, 31, 11, 71, 149, 303, 793, 35, 3109, 2769, 11593, 31839, 2053, 4541, 202997}}, +{17927, 18, 75965, {1, 1, 1, 3, 11, 19, 113, 249, 141, 659, 1117, 2145, 2617, 1075, 25347, 12913, 27457, 222095}}, +{17928, 18, 75974, {1, 3, 1, 3, 5, 23, 41, 57, 193, 815, 1293, 1109, 7597, 999, 10773, 41065, 18555, 35617}}, +{17929, 18, 75978, {1, 1, 3, 1, 31, 11, 127, 99, 163, 293, 299, 3415, 3761, 8781, 5327, 47631, 56411, 242787}}, +{17930, 18, 75998, {1, 3, 7, 13, 3, 41, 23, 169, 419, 725, 1419, 2643, 5265, 77, 24077, 18639, 78665, 205303}}, +{17931, 18, 76001, {1, 1, 5, 1, 31, 39, 39, 205, 413, 393, 1713, 309, 707, 4153, 10461, 16053, 26963, 253993}}, +{17932, 18, 76007, {1, 3, 7, 5, 23, 37, 125, 87, 199, 631, 1935, 551, 7047, 4585, 21257, 42345, 39365, 249393}}, +{17933, 18, 76016, {1, 3, 5, 13, 17, 55, 29, 209, 151, 465, 155, 363, 3097, 4093, 9869, 23297, 33973, 115543}}, +{17934, 18, 76091, {1, 1, 1, 13, 23, 59, 83, 71, 145, 717, 127, 1299, 1701, 10885, 5343, 40793, 87819, 66621}}, +{17935, 18, 76119, {1, 3, 3, 9, 19, 37, 23, 11, 269, 603, 871, 851, 837, 15303, 7595, 56481, 57819, 185065}}, +{17936, 18, 76135, {1, 3, 1, 1, 3, 15, 11, 249, 413, 723, 1403, 3233, 2747, 10335, 7127, 63285, 29237, 191953}}, +{17937, 18, 76170, {1, 3, 1, 1, 11, 31, 67, 139, 51, 413, 521, 969, 171, 5943, 31613, 16477, 85771, 202139}}, +{17938, 18, 76189, {1, 3, 7, 5, 5, 21, 109, 25, 463, 873, 493, 2673, 6409, 11199, 17195, 40623, 76821, 72509}}, +{17939, 18, 76214, {1, 1, 7, 7, 11, 1, 95, 43, 243, 67, 1289, 3219, 2255, 4957, 17561, 40499, 48537, 108809}}, +{17940, 18, 76225, {1, 1, 7, 15, 3, 39, 45, 75, 43, 821, 533, 4043, 1503, 83, 26937, 56327, 114149, 156845}}, +{17941, 18, 76235, {1, 3, 1, 1, 31, 21, 59, 1, 77, 147, 137, 1827, 4123, 2791, 27859, 57921, 40569, 134753}}, +{17942, 18, 76259, {1, 1, 5, 13, 31, 41, 111, 11, 181, 963, 459, 2771, 6123, 4035, 1627, 2047, 109537, 33653}}, +{17943, 18, 76261, {1, 3, 5, 7, 31, 57, 17, 21, 5, 761, 1833, 1279, 1239, 10089, 22531, 32547, 82699, 28389}}, +{17944, 18, 76262, {1, 3, 5, 13, 11, 39, 11, 61, 299, 753, 1067, 1347, 5189, 12859, 681, 46309, 31873, 90333}}, +{17945, 18, 76266, {1, 3, 1, 5, 13, 27, 119, 205, 377, 457, 817, 3017, 279, 1859, 30241, 52089, 61445, 176203}}, +{17946, 18, 76286, {1, 1, 3, 5, 11, 35, 17, 163, 27, 1001, 417, 2899, 1959, 5513, 1441, 19743, 67147, 236591}}, +{17947, 18, 76289, {1, 3, 5, 13, 15, 39, 53, 179, 447, 675, 933, 1261, 4415, 9845, 28459, 33497, 107375, 156855}}, +{17948, 18, 76310, {1, 3, 3, 13, 27, 31, 11, 191, 413, 1011, 2035, 3965, 2071, 5429, 16247, 7439, 15079, 225041}}, +{17949, 18, 76319, {1, 3, 3, 11, 7, 23, 87, 215, 241, 687, 1351, 2399, 4677, 12967, 22957, 10443, 116701, 155477}}, +{17950, 18, 76364, {1, 3, 7, 5, 25, 55, 5, 197, 359, 879, 619, 1969, 1513, 12743, 10953, 28343, 63685, 39115}}, +{17951, 18, 76375, {1, 1, 3, 1, 19, 15, 63, 7, 305, 343, 1333, 3845, 377, 14031, 28383, 4271, 60063, 11827}}, +{17952, 18, 76392, {1, 3, 5, 15, 25, 21, 115, 101, 171, 735, 787, 3143, 593, 8793, 4121, 15471, 53491, 20617}}, +{17953, 18, 76422, {1, 1, 5, 15, 15, 51, 103, 17, 433, 611, 1351, 1729, 6147, 11623, 3, 6319, 6133, 19029}}, +{17954, 18, 76450, {1, 3, 1, 13, 29, 15, 115, 97, 505, 985, 745, 745, 1459, 7193, 1247, 58901, 114255, 212849}}, +{17955, 18, 76496, {1, 1, 7, 1, 1, 53, 99, 35, 377, 723, 1751, 2625, 5113, 13295, 20133, 26831, 41657, 51717}}, +{17956, 18, 76521, {1, 3, 5, 15, 15, 39, 17, 227, 351, 435, 49, 203, 6959, 11673, 15755, 29733, 51445, 64619}}, +{17957, 18, 76522, {1, 1, 1, 3, 25, 51, 57, 137, 415, 49, 355, 2149, 7607, 10781, 30363, 43889, 55543, 36637}}, +{17958, 18, 76527, {1, 1, 7, 5, 5, 15, 73, 189, 153, 949, 527, 587, 513, 12891, 16765, 41477, 75569, 80747}}, +{17959, 18, 76536, {1, 1, 5, 5, 9, 5, 3, 225, 115, 125, 821, 3551, 4833, 927, 24331, 63669, 26549, 220159}}, +{17960, 18, 76541, {1, 1, 3, 9, 21, 7, 9, 183, 391, 783, 493, 2785, 3879, 8311, 9935, 60629, 119329, 5791}}, +{17961, 18, 76553, {1, 1, 5, 15, 15, 41, 61, 97, 33, 29, 199, 3335, 1531, 6107, 757, 33797, 3001, 224507}}, +{17962, 18, 76568, {1, 1, 3, 9, 13, 39, 25, 247, 407, 1, 1129, 1453, 7091, 5557, 8657, 33961, 100763, 25099}}, +{17963, 18, 76574, {1, 3, 3, 13, 31, 21, 69, 73, 431, 827, 861, 235, 2369, 4283, 27183, 29095, 99957, 97577}}, +{17964, 18, 76584, {1, 1, 7, 13, 1, 25, 21, 173, 365, 921, 21, 3527, 2481, 8795, 25621, 41755, 127249, 221385}}, +{17965, 18, 76604, {1, 1, 1, 5, 25, 25, 65, 203, 305, 373, 527, 4033, 3483, 9403, 28669, 32083, 52273, 77037}}, +{17966, 18, 76607, {1, 3, 1, 15, 9, 23, 19, 7, 29, 83, 1163, 1147, 5315, 2381, 21203, 33915, 109511, 40669}}, +{17967, 18, 76609, {1, 3, 7, 15, 23, 19, 69, 127, 113, 937, 935, 1067, 2431, 7677, 21327, 44095, 82799, 5715}}, +{17968, 18, 76669, {1, 1, 5, 5, 7, 37, 107, 223, 433, 515, 393, 1721, 1977, 6383, 18835, 54841, 103263, 196997}}, +{17969, 18, 76683, {1, 1, 1, 3, 1, 11, 85, 173, 259, 685, 595, 1635, 6979, 4483, 8097, 42249, 56259, 105925}}, +{17970, 18, 76745, {1, 1, 7, 7, 1, 23, 11, 253, 187, 665, 313, 3745, 2423, 15835, 32085, 48643, 75625, 47511}}, +{17971, 18, 76753, {1, 1, 3, 5, 1, 59, 127, 83, 501, 387, 977, 3515, 7921, 12329, 14757, 20287, 49699, 91237}}, +{17972, 18, 76754, {1, 3, 5, 11, 31, 45, 51, 109, 319, 621, 1013, 3519, 4023, 12099, 28829, 26691, 83131, 261497}}, +{17973, 18, 76756, {1, 1, 3, 3, 5, 35, 51, 253, 253, 569, 1017, 2299, 8159, 13783, 22123, 55213, 111527, 110699}}, +{17974, 18, 76760, {1, 3, 7, 3, 9, 5, 59, 129, 41, 845, 723, 1607, 3047, 14323, 19277, 39447, 12465, 45925}}, +{17975, 18, 76782, {1, 1, 3, 1, 17, 35, 51, 79, 115, 361, 739, 2037, 6167, 14699, 28187, 65271, 67285, 48489}}, +{17976, 18, 76821, {1, 3, 1, 11, 1, 29, 95, 181, 419, 235, 745, 621, 3889, 2933, 743, 23801, 32057, 54103}}, +{17977, 18, 76828, {1, 3, 1, 11, 17, 47, 43, 55, 7, 695, 1653, 3983, 961, 3037, 8669, 10039, 86571, 6981}}, +{17978, 18, 76849, {1, 1, 5, 15, 13, 19, 67, 141, 291, 511, 1913, 397, 7423, 6541, 21845, 49821, 126047, 218587}}, +{17979, 18, 76850, {1, 1, 5, 3, 11, 13, 103, 213, 189, 115, 1495, 2695, 2127, 11979, 13609, 46615, 64775, 206417}}, +{17980, 18, 76870, {1, 3, 1, 5, 5, 9, 57, 207, 253, 251, 1155, 1319, 6699, 6613, 21757, 49703, 124879, 89987}}, +{17981, 18, 76874, {1, 3, 5, 7, 23, 25, 35, 81, 165, 789, 771, 415, 5557, 8431, 12043, 44359, 9447, 229481}}, +{17982, 18, 76898, {1, 1, 1, 13, 17, 21, 63, 251, 387, 767, 85, 3901, 3227, 10329, 5049, 56173, 58065, 78595}}, +{17983, 18, 76903, {1, 3, 1, 15, 23, 5, 45, 7, 123, 389, 1041, 1223, 5865, 5365, 2915, 24861, 106893, 170769}}, +{17984, 18, 76910, {1, 3, 7, 15, 27, 61, 27, 59, 309, 103, 279, 1829, 1501, 11277, 4461, 34817, 60973, 99805}}, +{17985, 18, 76921, {1, 1, 3, 9, 1, 25, 57, 85, 411, 699, 911, 1643, 2687, 13539, 10187, 21597, 18883, 212975}}, +{17986, 18, 76968, {1, 1, 3, 7, 5, 7, 81, 209, 225, 321, 1867, 2189, 6315, 5393, 8859, 47471, 41677, 222455}}, +{17987, 18, 77013, {1, 1, 5, 11, 27, 33, 119, 159, 273, 659, 883, 3773, 6519, 15449, 17219, 23923, 33749, 225489}}, +{17988, 18, 77027, {1, 1, 7, 13, 29, 39, 1, 161, 165, 531, 1019, 2369, 2093, 4341, 24945, 28537, 49467, 258065}}, +{17989, 18, 77042, {1, 3, 3, 3, 15, 59, 23, 143, 377, 943, 1329, 977, 7025, 2167, 17973, 65087, 115757, 75959}}, +{17990, 18, 77059, {1, 1, 1, 15, 17, 55, 33, 167, 43, 719, 51, 3873, 3317, 10763, 639, 58195, 20023, 100725}}, +{17991, 18, 77062, {1, 1, 7, 5, 17, 23, 71, 249, 23, 929, 467, 3073, 3355, 1343, 18755, 12247, 49737, 184103}}, +{17992, 18, 77074, {1, 3, 3, 15, 1, 9, 17, 193, 157, 265, 983, 1825, 4805, 2131, 22117, 32937, 57, 261867}}, +{17993, 18, 77076, {1, 3, 5, 9, 5, 1, 101, 141, 511, 489, 73, 1789, 1303, 2633, 709, 11891, 44897, 191229}}, +{17994, 18, 77110, {1, 1, 7, 15, 1, 27, 121, 7, 129, 421, 725, 1421, 3883, 13335, 7247, 8393, 85029, 127691}}, +{17995, 18, 77113, {1, 1, 3, 9, 19, 53, 121, 115, 85, 909, 1535, 3261, 7063, 16381, 1719, 19847, 19041, 215433}}, +{17996, 18, 77131, {1, 1, 7, 3, 17, 45, 91, 187, 181, 829, 609, 931, 5727, 3971, 14567, 15871, 9825, 184165}}, +{17997, 18, 77157, {1, 1, 1, 3, 5, 29, 7, 249, 361, 815, 1101, 1485, 6879, 5379, 7179, 27467, 101427, 196089}}, +{17998, 18, 77158, {1, 1, 5, 7, 23, 11, 27, 175, 237, 747, 1911, 3107, 961, 6649, 29887, 11003, 27561, 233841}}, +{17999, 18, 77216, {1, 1, 1, 5, 11, 5, 125, 227, 303, 315, 1879, 817, 7445, 1447, 9333, 54825, 118865, 216397}}, +{18000, 18, 77246, {1, 1, 3, 13, 17, 33, 27, 95, 245, 25, 1741, 2633, 1869, 14111, 24507, 61287, 46397, 220803}}, +{18001, 18, 77258, {1, 1, 7, 7, 25, 5, 41, 101, 171, 333, 497, 3417, 4921, 4553, 25487, 51529, 72873, 43525}}, +{18002, 18, 77281, {1, 1, 7, 7, 9, 19, 25, 161, 235, 929, 1663, 3237, 323, 3889, 31423, 2345, 63113, 212659}}, +{18003, 18, 77284, {1, 1, 5, 13, 29, 59, 39, 25, 393, 519, 429, 1461, 5867, 113, 28091, 36813, 47827, 163407}}, +{18004, 18, 77294, {1, 3, 5, 13, 15, 49, 85, 161, 83, 389, 765, 3349, 4659, 11007, 24749, 51121, 93511, 229885}}, +{18005, 18, 77302, {1, 3, 5, 11, 5, 27, 107, 233, 221, 425, 941, 1181, 5403, 4373, 32625, 41991, 2019, 245967}}, +{18006, 18, 77306, {1, 3, 5, 9, 9, 53, 97, 27, 221, 731, 1301, 3517, 4407, 11369, 4251, 31121, 4813, 42029}}, +{18007, 18, 77315, {1, 1, 1, 9, 17, 59, 107, 247, 231, 123, 1177, 3299, 6163, 4855, 14547, 63171, 45201, 27711}}, +{18008, 18, 77352, {1, 3, 7, 3, 25, 31, 63, 37, 123, 457, 1531, 3723, 4807, 14665, 17973, 42547, 5417, 170323}}, +{18009, 18, 77360, {1, 3, 7, 3, 17, 19, 57, 7, 359, 741, 385, 3127, 855, 10803, 30093, 24501, 53629, 40447}}, +{18010, 18, 77365, {1, 3, 7, 15, 11, 45, 49, 125, 445, 795, 113, 2425, 7085, 7337, 16297, 26447, 94369, 12371}}, +{18011, 18, 77370, {1, 3, 7, 9, 29, 59, 35, 191, 123, 619, 415, 1081, 2469, 4125, 25587, 7853, 119781, 9447}}, +{18012, 18, 77378, {1, 3, 1, 15, 13, 13, 111, 89, 381, 757, 389, 253, 6929, 33, 8263, 17385, 122129, 146679}}, +{18013, 18, 77380, {1, 1, 3, 3, 15, 35, 101, 95, 479, 577, 1645, 3781, 7533, 4665, 6561, 49897, 72413, 151383}}, +{18014, 18, 77407, {1, 1, 1, 1, 7, 49, 23, 223, 189, 763, 227, 2805, 8093, 389, 11525, 30915, 91341, 210231}}, +{18015, 18, 77408, {1, 1, 7, 3, 19, 23, 3, 137, 79, 569, 1833, 2091, 4235, 10739, 22855, 33845, 120141, 220267}}, +{18016, 18, 77414, {1, 3, 7, 3, 11, 43, 85, 63, 419, 681, 365, 3017, 3603, 6413, 13515, 16003, 107949, 241261}}, +{18017, 18, 77444, {1, 1, 5, 13, 3, 35, 41, 193, 189, 999, 1395, 2431, 2227, 7245, 23929, 16137, 14591, 54999}}, +{18018, 18, 77454, {1, 1, 7, 15, 23, 51, 47, 77, 31, 25, 589, 611, 371, 13329, 5873, 2133, 40351, 145293}}, +{18019, 18, 77481, {1, 1, 7, 15, 17, 19, 53, 155, 309, 573, 1059, 3557, 2445, 12205, 4497, 32061, 130293, 73859}}, +{18020, 18, 77482, {1, 1, 7, 13, 3, 25, 71, 157, 237, 185, 1035, 1759, 1331, 13533, 25635, 811, 54391, 91109}}, +{18021, 18, 77531, {1, 1, 1, 11, 5, 21, 99, 31, 259, 413, 2033, 2187, 755, 4591, 28641, 64031, 88499, 160789}}, +{18022, 18, 77544, {1, 3, 7, 13, 29, 33, 13, 157, 97, 981, 329, 81, 6351, 4171, 10925, 22733, 72521, 105477}}, +{18023, 18, 77552, {1, 3, 7, 9, 11, 31, 97, 35, 337, 309, 847, 3429, 2697, 3141, 19481, 43679, 11129, 205757}}, +{18024, 18, 77569, {1, 3, 1, 7, 27, 45, 123, 193, 439, 639, 633, 1375, 7307, 1599, 23379, 56811, 100877, 228687}}, +{18025, 18, 77579, {1, 3, 7, 1, 29, 43, 103, 131, 103, 933, 143, 2431, 2221, 4565, 20841, 58611, 49163, 13673}}, +{18026, 18, 77610, {1, 3, 5, 13, 25, 17, 121, 17, 455, 941, 1577, 509, 5401, 797, 29573, 38373, 50527, 17951}}, +{18027, 18, 77612, {1, 1, 1, 13, 25, 21, 77, 253, 199, 871, 935, 3919, 1687, 6653, 20345, 56969, 77989, 244767}}, +{18028, 18, 77623, {1, 1, 3, 1, 17, 5, 5, 191, 279, 33, 579, 651, 969, 6091, 11659, 1643, 17935, 85145}}, +{18029, 18, 77649, {1, 3, 3, 9, 29, 1, 103, 39, 83, 295, 1237, 207, 4837, 7899, 27879, 23195, 29549, 206885}}, +{18030, 18, 77650, {1, 3, 5, 1, 9, 55, 115, 37, 225, 447, 943, 1133, 6203, 949, 9973, 4309, 43969, 166795}}, +{18031, 18, 77661, {1, 1, 7, 7, 17, 43, 75, 251, 35, 489, 1011, 355, 4113, 2377, 13775, 34935, 84905, 252973}}, +{18032, 18, 77675, {1, 3, 3, 3, 11, 45, 3, 1, 135, 499, 81, 3265, 6657, 3875, 27565, 60931, 13117, 87931}}, +{18033, 18, 77686, {1, 1, 3, 1, 9, 1, 77, 69, 137, 241, 1613, 2607, 3307, 171, 13551, 54529, 45937, 180411}}, +{18034, 18, 77742, {1, 1, 1, 1, 19, 29, 77, 255, 95, 461, 567, 1103, 2753, 10627, 19479, 43411, 128565, 29869}}, +{18035, 18, 77791, {1, 1, 3, 5, 5, 63, 123, 159, 165, 733, 1107, 1711, 5039, 9221, 15541, 5527, 27629, 206505}}, +{18036, 18, 77792, {1, 3, 1, 3, 7, 45, 73, 63, 413, 693, 433, 2281, 3981, 7719, 31473, 56939, 70391, 67467}}, +{18037, 18, 77807, {1, 1, 1, 11, 19, 33, 113, 151, 427, 603, 1653, 2451, 5367, 12171, 14373, 33175, 62013, 209273}}, +{18038, 18, 77815, {1, 3, 5, 5, 17, 37, 109, 5, 187, 293, 617, 2663, 7381, 14217, 23561, 48999, 108717, 248289}}, +{18039, 18, 77842, {1, 1, 5, 1, 9, 27, 35, 127, 355, 479, 281, 2081, 7303, 259, 8893, 59141, 20927, 61611}}, +{18040, 18, 77847, {1, 3, 3, 15, 31, 33, 71, 209, 315, 363, 593, 1035, 8029, 12501, 2859, 54745, 39391, 153259}}, +{18041, 18, 77899, {1, 3, 3, 11, 21, 39, 35, 173, 171, 15, 987, 3737, 7415, 1827, 973, 6831, 108643, 241333}}, +{18042, 18, 77901, {1, 3, 7, 9, 17, 37, 127, 243, 153, 195, 113, 309, 5301, 13619, 7927, 35385, 9501, 99241}}, +{18043, 18, 77904, {1, 3, 5, 13, 23, 9, 81, 235, 139, 635, 443, 2235, 2613, 2389, 18431, 8409, 2885, 254811}}, +{18044, 18, 77914, {1, 3, 7, 9, 1, 5, 15, 109, 141, 173, 1059, 1961, 7945, 10381, 17337, 19591, 42173, 119831}}, +{18045, 18, 77925, {1, 3, 1, 13, 19, 7, 111, 111, 345, 327, 1147, 2293, 49, 16213, 25309, 60537, 50421, 108467}}, +{18046, 18, 77950, {1, 1, 5, 1, 3, 23, 63, 219, 69, 879, 1397, 3857, 1859, 1939, 4851, 26549, 86019, 7927}}, +{18047, 18, 77959, {1, 3, 1, 13, 23, 61, 25, 31, 301, 189, 1031, 2817, 829, 8777, 26869, 54405, 43535, 234687}}, +{18048, 18, 77994, {1, 1, 1, 9, 11, 31, 13, 139, 77, 567, 949, 3415, 6955, 14973, 9565, 37911, 18395, 94167}}, +{18049, 18, 78004, {1, 3, 5, 13, 17, 17, 21, 213, 171, 993, 1001, 979, 5085, 3909, 11797, 48669, 73541, 48979}}, +{18050, 18, 78043, {1, 1, 7, 9, 7, 37, 35, 107, 347, 239, 585, 2883, 3235, 1053, 14871, 25799, 4861, 56335}}, +{18051, 18, 78052, {1, 1, 3, 5, 19, 7, 91, 139, 325, 921, 863, 209, 845, 15943, 8281, 55103, 110193, 216091}}, +{18052, 18, 78061, {1, 3, 1, 13, 31, 33, 65, 155, 177, 103, 1991, 343, 6299, 3587, 30215, 64335, 114301, 220403}}, +{18053, 18, 78064, {1, 3, 5, 3, 31, 37, 121, 157, 443, 349, 1097, 3683, 503, 14061, 14685, 29755, 61543, 232983}}, +{18054, 18, 78084, {1, 3, 3, 11, 17, 59, 29, 161, 381, 791, 1647, 1077, 6369, 1095, 17279, 43141, 65003, 144609}}, +{18055, 18, 78094, {1, 1, 5, 1, 1, 15, 67, 77, 3, 585, 1909, 1485, 3003, 591, 4711, 10279, 75901, 226417}}, +{18056, 18, 78099, {1, 3, 7, 5, 1, 5, 5, 193, 469, 631, 1065, 607, 2751, 8163, 13633, 40563, 1417, 118169}}, +{18057, 18, 78129, {1, 1, 7, 9, 25, 25, 109, 27, 157, 495, 225, 1385, 4315, 995, 10591, 1629, 129939, 56765}}, +{18058, 18, 78142, {1, 3, 1, 7, 9, 23, 61, 63, 35, 145, 1537, 1029, 4225, 1467, 10519, 32861, 519, 53983}}, +{18059, 18, 78149, {1, 3, 3, 11, 7, 59, 25, 199, 403, 967, 1089, 1121, 1063, 6701, 16827, 55479, 72983, 36873}}, +{18060, 18, 78153, {1, 1, 1, 13, 9, 27, 19, 23, 395, 229, 1837, 1231, 1737, 10475, 16743, 42369, 130331, 47255}}, +{18061, 18, 78171, {1, 1, 5, 7, 29, 15, 95, 155, 339, 65, 751, 2399, 5615, 2987, 16769, 57381, 113021, 41417}}, +{18062, 18, 78173, {1, 3, 1, 9, 15, 17, 1, 111, 197, 7, 417, 3999, 7261, 5939, 16773, 29275, 105559, 84685}}, +{18063, 18, 78174, {1, 3, 3, 13, 19, 31, 103, 1, 37, 269, 1257, 1397, 4293, 3019, 6503, 7727, 93943, 237313}}, +{18064, 18, 78195, {1, 1, 3, 9, 13, 37, 67, 129, 43, 669, 1331, 1787, 8185, 323, 18749, 13737, 86123, 154131}}, +{18065, 18, 78201, {1, 3, 1, 11, 3, 51, 13, 35, 197, 867, 559, 1381, 1057, 13293, 20603, 18633, 50503, 169685}}, +{18066, 18, 78202, {1, 3, 1, 11, 9, 35, 7, 51, 499, 885, 353, 4095, 6491, 5917, 15053, 18363, 99593, 213089}}, +{18067, 18, 78241, {1, 1, 3, 9, 19, 23, 107, 147, 339, 331, 1349, 2855, 3721, 13317, 26457, 783, 93949, 196051}}, +{18068, 18, 78247, {1, 1, 5, 1, 9, 61, 89, 217, 315, 385, 1729, 2641, 5753, 6269, 547, 33737, 20103, 31533}}, +{18069, 18, 78274, {1, 3, 5, 13, 13, 61, 3, 191, 57, 683, 1227, 1255, 3651, 10687, 9049, 6529, 60783, 28639}}, +{18070, 18, 78276, {1, 1, 7, 11, 25, 41, 79, 19, 383, 363, 1731, 1597, 1651, 15037, 22191, 51883, 41927, 82419}}, +{18071, 18, 78303, {1, 3, 5, 9, 15, 61, 39, 149, 49, 633, 709, 1743, 621, 14659, 3309, 64129, 91897, 74235}}, +{18072, 18, 78307, {1, 3, 7, 15, 5, 59, 7, 197, 111, 885, 1737, 855, 2807, 3817, 13759, 29989, 45105, 171689}}, +{18073, 18, 78328, {1, 1, 3, 9, 21, 25, 55, 67, 483, 437, 303, 703, 6993, 1971, 4565, 56117, 6105, 254517}}, +{18074, 18, 78344, {1, 3, 3, 13, 15, 13, 19, 3, 487, 751, 1185, 2985, 1619, 7139, 26087, 21105, 9049, 236153}}, +{18075, 18, 78362, {1, 1, 5, 7, 15, 55, 51, 231, 85, 953, 713, 659, 2021, 4271, 15961, 26873, 31141, 76635}}, +{18076, 18, 78367, {1, 3, 5, 1, 11, 39, 3, 223, 367, 903, 799, 415, 7247, 9539, 14479, 37195, 59951, 181935}}, +{18077, 18, 78368, {1, 1, 5, 3, 13, 47, 17, 159, 439, 859, 1067, 3111, 5277, 13973, 21999, 28381, 115685, 231483}}, +{18078, 18, 78409, {1, 1, 7, 15, 17, 21, 69, 131, 193, 479, 1075, 3271, 2057, 1295, 31235, 35027, 94145, 65419}}, +{18079, 18, 78412, {1, 3, 3, 5, 5, 21, 5, 81, 113, 259, 837, 831, 5985, 6717, 12041, 40355, 50957, 111185}}, +{18080, 18, 78417, {1, 1, 1, 9, 15, 47, 103, 195, 465, 739, 1415, 225, 3121, 12623, 7539, 17555, 36703, 217641}}, +{18081, 18, 78430, {1, 3, 1, 3, 31, 17, 91, 153, 221, 217, 525, 981, 281, 9869, 9713, 10669, 12049, 97615}}, +{18082, 18, 78433, {1, 1, 5, 7, 29, 1, 1, 199, 415, 843, 301, 941, 4589, 13301, 5833, 41311, 74019, 78537}}, +{18083, 18, 78440, {1, 1, 5, 11, 13, 5, 41, 127, 213, 917, 1297, 2281, 3193, 3877, 9517, 40685, 14657, 185139}}, +{18084, 18, 78451, {1, 1, 1, 7, 21, 45, 87, 33, 425, 487, 643, 271, 7087, 5979, 14795, 27575, 34541, 173251}}, +{18085, 18, 78453, {1, 3, 7, 5, 21, 11, 7, 169, 325, 905, 973, 2853, 7929, 8801, 1005, 60641, 45973, 81859}}, +{18086, 18, 78458, {1, 3, 3, 1, 1, 35, 39, 81, 93, 463, 697, 2309, 7769, 5169, 17595, 41447, 28837, 52613}}, +{18087, 18, 78467, {1, 1, 7, 1, 1, 23, 37, 17, 137, 873, 1657, 681, 503, 7887, 24463, 32453, 112727, 133347}}, +{18088, 18, 78479, {1, 1, 5, 9, 19, 35, 37, 85, 11, 245, 11, 3, 6475, 5953, 247, 49447, 32813, 243841}}, +{18089, 18, 78507, {1, 3, 5, 3, 19, 53, 37, 45, 431, 259, 1831, 1443, 2237, 7651, 20701, 22857, 50041, 119667}}, +{18090, 18, 78518, {1, 1, 7, 1, 5, 37, 113, 69, 389, 369, 1251, 1989, 7613, 10669, 4233, 33379, 72465, 256861}}, +{18091, 18, 78535, {1, 1, 7, 5, 27, 55, 17, 75, 373, 325, 1981, 1743, 7341, 319, 28169, 3587, 66057, 169723}}, +{18092, 18, 78542, {1, 3, 3, 15, 27, 31, 47, 91, 367, 245, 2045, 979, 2169, 10935, 29523, 64871, 119447, 92131}}, +{18093, 18, 78549, {1, 3, 7, 15, 9, 11, 93, 61, 249, 107, 1883, 2547, 375, 4195, 6451, 14533, 62529, 93557}}, +{18094, 18, 78554, {1, 1, 1, 3, 29, 61, 65, 155, 301, 1017, 131, 1567, 3649, 3447, 27943, 52111, 9133, 88147}}, +{18095, 18, 78556, {1, 1, 1, 1, 21, 59, 107, 151, 265, 707, 767, 2325, 8095, 14027, 15355, 15465, 83143, 116199}}, +{18096, 18, 78583, {1, 3, 1, 15, 23, 51, 31, 25, 439, 357, 1563, 1091, 2135, 1327, 18427, 60965, 29215, 157351}}, +{18097, 18, 78590, {1, 3, 3, 13, 29, 37, 25, 215, 149, 487, 703, 1787, 3641, 8301, 8795, 13845, 95245, 169793}}, +{18098, 18, 78615, {1, 3, 3, 11, 27, 3, 49, 87, 69, 687, 1181, 3405, 589, 12901, 14199, 48607, 74027, 181379}}, +{18099, 18, 78635, {1, 3, 5, 13, 9, 15, 33, 229, 135, 769, 1005, 2435, 4831, 5493, 16745, 64379, 20253, 52661}}, +{18100, 18, 78649, {1, 1, 1, 13, 9, 61, 33, 127, 339, 15, 945, 219, 4291, 6995, 29127, 61853, 40741, 170541}}, +{18101, 18, 78684, {1, 3, 3, 15, 9, 33, 75, 39, 327, 133, 733, 1125, 2747, 15031, 24575, 65013, 41997, 158679}}, +{18102, 18, 78691, {1, 1, 3, 9, 3, 9, 63, 83, 493, 175, 249, 1977, 8177, 4067, 2131, 12467, 86185, 73417}}, +{18103, 18, 78705, {1, 1, 3, 13, 29, 55, 91, 109, 73, 913, 1343, 2147, 105, 8763, 7613, 55749, 4339, 61253}}, +{18104, 18, 78724, {1, 1, 5, 5, 17, 19, 45, 57, 345, 835, 341, 1365, 5187, 7485, 22685, 32321, 67279, 141119}}, +{18105, 18, 78755, {1, 1, 3, 11, 9, 47, 11, 231, 241, 681, 255, 3663, 5547, 997, 2445, 64413, 55349, 61785}}, +{18106, 18, 78770, {1, 3, 5, 5, 23, 29, 23, 249, 149, 1011, 173, 271, 485, 1239, 81, 59277, 96669, 210859}}, +{18107, 18, 78772, {1, 3, 3, 1, 17, 9, 41, 39, 309, 131, 1431, 1497, 1669, 14191, 22795, 48951, 101731, 70847}}, +{18108, 18, 78818, {1, 1, 3, 15, 1, 11, 37, 79, 23, 1023, 585, 127, 7817, 15009, 3897, 44601, 83039, 240457}}, +{18109, 18, 78837, {1, 3, 5, 9, 21, 33, 55, 31, 193, 745, 1741, 3637, 7265, 8969, 11797, 33239, 29123, 126077}}, +{18110, 18, 78844, {1, 3, 3, 13, 31, 5, 87, 215, 271, 573, 1423, 2611, 947, 14669, 23785, 60579, 127099, 55877}}, +{18111, 18, 78849, {1, 3, 1, 13, 5, 53, 103, 85, 237, 457, 739, 1201, 133, 8589, 13471, 6707, 42257, 141989}}, +{18112, 18, 78909, {1, 1, 1, 5, 23, 3, 65, 159, 445, 823, 341, 1723, 6263, 9421, 16023, 19145, 52337, 229397}}, +{18113, 18, 78915, {1, 3, 5, 3, 15, 3, 15, 251, 407, 137, 951, 1319, 1035, 7713, 29579, 19591, 77841, 84949}}, +{18114, 18, 78941, {1, 1, 7, 15, 19, 25, 63, 141, 511, 11, 1027, 1209, 6627, 8127, 14879, 12965, 109973, 144501}}, +{18115, 18, 78958, {1, 1, 1, 3, 11, 57, 65, 169, 453, 197, 1249, 2933, 3743, 1971, 19373, 32109, 73265, 46185}}, +{18116, 18, 78975, {1, 1, 3, 1, 3, 1, 21, 47, 471, 565, 1795, 1771, 3187, 7189, 18627, 22993, 112319, 158693}}, +{18117, 18, 78979, {1, 1, 5, 7, 5, 25, 127, 113, 31, 609, 1273, 2799, 5713, 16091, 22239, 43617, 126003, 218991}}, +{18118, 18, 78986, {1, 3, 3, 7, 19, 59, 19, 185, 483, 431, 335, 565, 819, 2555, 18653, 36573, 50085, 31007}}, +{18119, 18, 79029, {1, 1, 3, 13, 17, 61, 5, 219, 297, 755, 2005, 391, 4927, 1517, 11341, 9527, 51739, 182599}}, +{18120, 18, 79030, {1, 3, 7, 9, 9, 3, 39, 211, 475, 717, 189, 819, 529, 469, 28559, 7321, 60213, 79505}}, +{18121, 18, 79044, {1, 3, 1, 9, 17, 39, 53, 65, 247, 145, 9, 1669, 7221, 8359, 11021, 29775, 24693, 208655}}, +{18122, 18, 79048, {1, 1, 5, 13, 7, 7, 31, 135, 375, 439, 1419, 3579, 4313, 14057, 31505, 55249, 5345, 69537}}, +{18123, 18, 79056, {1, 3, 5, 9, 21, 3, 125, 223, 9, 73, 1693, 281, 3941, 10377, 29365, 19807, 73973, 169113}}, +{18124, 18, 79095, {1, 3, 7, 15, 29, 41, 119, 75, 241, 79, 1969, 1091, 6241, 10685, 11579, 3791, 124443, 5051}}, +{18125, 18, 79099, {1, 3, 7, 15, 23, 53, 13, 255, 205, 547, 255, 1589, 7261, 15735, 14521, 29679, 109373, 236433}}, +{18126, 18, 79121, {1, 3, 7, 3, 17, 37, 71, 163, 95, 265, 1, 3239, 1779, 9047, 31387, 32291, 86741, 55317}}, +{18127, 18, 79150, {1, 3, 1, 9, 31, 55, 117, 247, 317, 673, 749, 1155, 7743, 6427, 25273, 49701, 62345, 20913}}, +{18128, 18, 79196, {1, 3, 3, 7, 27, 55, 35, 111, 69, 799, 213, 3011, 4359, 14763, 7387, 13281, 58397, 38415}}, +{18129, 18, 79199, {1, 1, 5, 9, 5, 61, 49, 219, 419, 297, 1019, 2181, 6069, 12957, 24637, 23317, 6389, 240893}}, +{18130, 18, 79220, {1, 1, 5, 15, 13, 57, 59, 43, 373, 647, 1407, 3955, 5583, 15229, 20935, 38007, 65971, 95987}}, +{18131, 18, 79229, {1, 1, 7, 7, 23, 17, 77, 91, 449, 75, 1059, 3337, 2041, 261, 25077, 28161, 44537, 189443}}, +{18132, 18, 79263, {1, 1, 7, 11, 9, 7, 117, 225, 457, 941, 161, 1825, 1101, 193, 32619, 37245, 102633, 86707}}, +{18133, 18, 79264, {1, 1, 1, 7, 13, 43, 33, 137, 275, 691, 1387, 1265, 759, 1457, 4877, 41813, 4159, 234397}}, +{18134, 18, 79296, {1, 3, 3, 1, 9, 23, 71, 39, 205, 175, 953, 2965, 3283, 6025, 5905, 34691, 120987, 71841}}, +{18135, 18, 79302, {1, 3, 1, 13, 31, 63, 49, 73, 299, 169, 1265, 2205, 1299, 10045, 6919, 26067, 56909, 42549}}, +{18136, 18, 79354, {1, 3, 3, 1, 31, 41, 75, 219, 457, 407, 5, 1901, 6823, 531, 3155, 64375, 38523, 68217}}, +{18137, 18, 79387, {1, 1, 7, 9, 7, 35, 123, 193, 145, 1021, 757, 3775, 2313, 11885, 11649, 61071, 129363, 120467}}, +{18138, 18, 79399, {1, 3, 7, 3, 29, 21, 127, 93, 415, 641, 453, 923, 7713, 9569, 5961, 25969, 31095, 93317}}, +{18139, 18, 79435, {1, 3, 3, 1, 5, 15, 21, 235, 211, 663, 385, 2429, 319, 11571, 17539, 42975, 43179, 100105}}, +{18140, 18, 79525, {1, 3, 7, 7, 25, 57, 51, 215, 393, 167, 1569, 3235, 5555, 3391, 2389, 36485, 21919, 164479}}, +{18141, 18, 79540, {1, 3, 3, 3, 29, 21, 81, 59, 239, 671, 605, 583, 2341, 2321, 28593, 19035, 10209, 36433}}, +{18142, 18, 79552, {1, 3, 3, 11, 31, 33, 1, 147, 111, 523, 427, 3545, 111, 8009, 29101, 34549, 122745, 82117}}, +{18143, 18, 79562, {1, 3, 5, 15, 19, 37, 97, 141, 387, 523, 467, 1657, 4161, 5505, 18091, 39597, 124423, 74827}}, +{18144, 18, 79576, {1, 1, 1, 11, 21, 63, 61, 13, 169, 851, 1863, 3307, 7189, 10791, 22619, 24431, 127781, 14717}}, +{18145, 18, 79579, {1, 1, 3, 13, 27, 41, 69, 127, 497, 565, 1489, 277, 2551, 15409, 9885, 187, 101319, 194121}}, +{18146, 18, 79605, {1, 1, 7, 7, 17, 45, 1, 139, 347, 503, 1189, 1459, 6117, 14319, 22153, 2915, 91991, 246679}}, +{18147, 18, 79618, {1, 3, 3, 3, 9, 41, 25, 199, 327, 295, 945, 2765, 563, 11605, 24267, 37729, 80057, 169479}}, +{18148, 18, 79648, {1, 1, 7, 3, 23, 19, 13, 219, 235, 837, 1015, 2071, 2727, 3989, 32539, 26713, 112391, 163943}}, +{18149, 18, 79654, {1, 3, 3, 9, 21, 27, 17, 187, 315, 753, 817, 3053, 5961, 973, 23973, 37621, 105637, 247711}}, +{18150, 18, 79666, {1, 1, 7, 1, 11, 15, 45, 25, 421, 213, 663, 3829, 469, 15889, 28773, 14323, 107705, 111729}}, +{18151, 18, 79686, {1, 1, 1, 7, 7, 7, 51, 189, 457, 95, 1903, 639, 1933, 7409, 22327, 18959, 42679, 158987}}, +{18152, 18, 79697, {1, 1, 5, 9, 13, 13, 49, 159, 387, 365, 1799, 2399, 6375, 14965, 32495, 5383, 73479, 5653}}, +{18153, 18, 79700, {1, 1, 3, 1, 29, 23, 81, 73, 183, 563, 435, 133, 5731, 6663, 21219, 60007, 101215, 68775}}, +{18154, 18, 79723, {1, 1, 7, 11, 31, 47, 43, 159, 221, 745, 1317, 2405, 4563, 4073, 27675, 14225, 114231, 222553}}, +{18155, 18, 79749, {1, 1, 1, 5, 11, 63, 105, 99, 413, 81, 771, 547, 1633, 8097, 30431, 31417, 101379, 163575}}, +{18156, 18, 79750, {1, 1, 3, 9, 23, 29, 123, 149, 241, 267, 1925, 467, 7743, 4473, 12223, 10521, 86265, 89949}}, +{18157, 18, 79764, {1, 3, 5, 1, 31, 29, 111, 67, 311, 851, 1919, 2563, 3725, 4035, 7241, 13859, 105207, 200599}}, +{18158, 18, 79771, {1, 3, 7, 3, 19, 53, 113, 107, 133, 243, 2021, 2669, 4633, 14393, 24827, 1233, 81471, 20105}}, +{18159, 18, 79774, {1, 1, 1, 5, 3, 23, 43, 149, 157, 875, 1175, 963, 6189, 7343, 13913, 41375, 112857, 236047}}, +{18160, 18, 79780, {1, 3, 5, 15, 11, 31, 43, 225, 469, 229, 703, 3033, 2341, 10309, 12057, 13325, 109019, 130789}}, +{18161, 18, 79789, {1, 1, 1, 7, 27, 47, 45, 49, 371, 971, 1121, 2179, 1267, 9499, 10771, 28781, 77059, 90765}}, +{18162, 18, 79798, {1, 1, 7, 1, 17, 27, 59, 169, 269, 217, 983, 1365, 1985, 12287, 5385, 46407, 24827, 155761}}, +{18163, 18, 79821, {1, 1, 7, 11, 9, 5, 19, 205, 159, 937, 763, 3823, 3625, 14209, 32031, 58879, 118449, 50723}}, +{18164, 18, 79850, {1, 1, 5, 3, 25, 55, 27, 35, 125, 999, 1541, 3883, 539, 5691, 18071, 63199, 112089, 194825}}, +{18165, 18, 79864, {1, 3, 3, 1, 27, 43, 57, 225, 173, 673, 1339, 3433, 5743, 1375, 32429, 35071, 98035, 229973}}, +{18166, 18, 79898, {1, 3, 3, 9, 3, 51, 5, 203, 439, 41, 529, 863, 6735, 13211, 7075, 55637, 24481, 46673}}, +{18167, 18, 79904, {1, 1, 5, 11, 15, 23, 93, 7, 181, 843, 777, 1299, 1941, 7147, 26253, 10967, 5387, 84611}}, +{18168, 18, 79934, {1, 3, 1, 7, 9, 57, 127, 155, 257, 423, 1421, 261, 4477, 11169, 22997, 12371, 8705, 135883}}, +{18169, 18, 79936, {1, 3, 1, 9, 17, 9, 15, 209, 427, 889, 1939, 3623, 2587, 4037, 32233, 40391, 32529, 63851}}, +{18170, 18, 79942, {1, 3, 3, 13, 3, 19, 49, 155, 213, 239, 817, 1787, 2999, 9955, 20155, 44711, 41367, 59623}}, +{18171, 18, 79945, {1, 3, 7, 5, 5, 39, 103, 181, 405, 85, 1997, 3639, 1259, 10737, 189, 44377, 23589, 89371}}, +{18172, 18, 79963, {1, 3, 5, 11, 15, 13, 57, 81, 203, 773, 1571, 3235, 6625, 13803, 2091, 64265, 131013, 189705}}, +{18173, 18, 79987, {1, 1, 1, 13, 15, 3, 113, 159, 149, 55, 355, 2345, 5043, 4067, 23277, 32647, 43755, 5445}}, +{18174, 18, 80057, {1, 3, 3, 9, 31, 7, 67, 177, 423, 269, 1731, 3957, 4383, 13483, 14653, 8243, 57689, 37375}}, +{18175, 18, 80077, {1, 1, 3, 5, 25, 5, 77, 199, 161, 859, 497, 1679, 6809, 4877, 1107, 16443, 15505, 138155}}, +{18176, 18, 80078, {1, 3, 5, 1, 11, 57, 7, 49, 145, 569, 571, 2679, 7531, 14517, 12425, 6285, 116961, 116397}}, +{18177, 18, 80080, {1, 1, 7, 11, 1, 37, 65, 43, 151, 419, 801, 3231, 5321, 10725, 12885, 62771, 16507, 179009}}, +{18178, 18, 80102, {1, 1, 5, 11, 29, 55, 89, 81, 325, 47, 1037, 3235, 2017, 10875, 8919, 25115, 118035, 178227}}, +{18179, 18, 80106, {1, 3, 1, 7, 1, 43, 101, 25, 449, 617, 381, 3437, 6655, 1291, 18693, 53939, 99143, 195695}}, +{18180, 18, 80111, {1, 3, 1, 5, 23, 7, 47, 159, 295, 939, 173, 3087, 1497, 6353, 13893, 13465, 118973, 193737}}, +{18181, 18, 80152, {1, 1, 3, 9, 3, 41, 65, 79, 449, 345, 2039, 1193, 5915, 13689, 1257, 23273, 48515, 256793}}, +{18182, 18, 80155, {1, 3, 5, 11, 11, 55, 13, 117, 343, 899, 1853, 373, 6885, 12863, 1209, 34433, 48215, 218187}}, +{18183, 18, 80173, {1, 3, 7, 7, 3, 45, 103, 145, 55, 507, 743, 4027, 2075, 15707, 4473, 50077, 64551, 204305}}, +{18184, 18, 80186, {1, 1, 3, 5, 31, 45, 123, 233, 363, 1003, 411, 1459, 6455, 985, 29451, 17625, 44153, 137097}}, +{18185, 18, 80203, {1, 3, 3, 1, 27, 11, 53, 251, 41, 43, 495, 107, 6145, 8785, 28997, 7181, 92903, 105785}}, +{18186, 18, 80223, {1, 1, 3, 11, 13, 5, 117, 141, 463, 639, 1857, 2873, 3627, 6081, 18207, 29451, 80909, 73557}}, +{18187, 18, 80233, {1, 1, 1, 3, 29, 51, 15, 81, 85, 487, 307, 2481, 2769, 14901, 9407, 58321, 52813, 230393}}, +{18188, 18, 80258, {1, 3, 3, 11, 31, 7, 107, 43, 205, 811, 1121, 2757, 2447, 6843, 21347, 9143, 41003, 80507}}, +{18189, 18, 80281, {1, 1, 1, 1, 29, 19, 13, 203, 47, 689, 2003, 1477, 7857, 5031, 21781, 5745, 3649, 160389}}, +{18190, 18, 80318, {1, 3, 3, 7, 21, 21, 65, 3, 351, 157, 167, 3425, 2395, 9165, 26143, 57221, 127171, 54461}}, +{18191, 18, 80326, {1, 3, 1, 15, 13, 13, 65, 53, 305, 719, 181, 709, 5485, 13385, 30287, 52669, 82647, 83851}}, +{18192, 18, 80330, {1, 1, 3, 11, 11, 23, 31, 109, 205, 123, 509, 3831, 7771, 7341, 31613, 28035, 38061, 49375}}, +{18193, 18, 80337, {1, 3, 3, 3, 15, 33, 47, 159, 321, 589, 393, 3253, 3743, 6161, 445, 33129, 8181, 27793}}, +{18194, 18, 80344, {1, 1, 1, 13, 9, 57, 111, 253, 203, 539, 673, 855, 1937, 2699, 25795, 6889, 13531, 63561}}, +{18195, 18, 80365, {1, 1, 1, 13, 31, 45, 13, 101, 113, 903, 1699, 2423, 7967, 7957, 20303, 64395, 124447, 33947}}, +{18196, 18, 80383, {1, 3, 5, 11, 17, 39, 59, 181, 421, 535, 1445, 3927, 5433, 12885, 12497, 47231, 39819, 46371}}, +{18197, 18, 80389, {1, 3, 5, 7, 27, 3, 75, 49, 461, 781, 433, 1767, 6903, 11907, 2063, 55199, 82823, 229405}}, +{18198, 18, 80413, {1, 3, 3, 15, 17, 61, 17, 23, 247, 683, 33, 4027, 341, 8069, 2529, 9757, 95653, 12927}}, +{18199, 18, 80441, {1, 3, 3, 11, 17, 7, 29, 205, 353, 917, 219, 3509, 7803, 5939, 25111, 45357, 9259, 1549}}, +{18200, 18, 80449, {1, 3, 3, 15, 21, 7, 23, 25, 459, 291, 31, 2091, 1177, 9311, 12231, 16617, 33575, 252643}}, +{18201, 18, 80461, {1, 3, 5, 5, 3, 51, 113, 123, 453, 503, 1575, 2785, 5011, 1789, 819, 30857, 12955, 172421}}, +{18202, 18, 80467, {1, 1, 5, 3, 15, 15, 125, 65, 113, 281, 53, 3417, 5279, 6351, 25931, 54835, 124077, 204241}}, +{18203, 18, 80476, {1, 1, 3, 9, 29, 31, 19, 179, 275, 933, 711, 3351, 6221, 1711, 9375, 11645, 118911, 249395}}, +{18204, 18, 80507, {1, 3, 7, 13, 23, 59, 43, 61, 85, 267, 691, 3949, 2135, 3203, 21455, 61895, 71157, 136739}}, +{18205, 18, 80516, {1, 1, 7, 5, 19, 27, 69, 141, 9, 633, 95, 3789, 7823, 12635, 27661, 30285, 129469, 67163}}, +{18206, 18, 80519, {1, 3, 3, 9, 11, 25, 103, 47, 425, 809, 1279, 411, 219, 6703, 24145, 17303, 56835, 84879}}, +{18207, 18, 80568, {1, 1, 5, 13, 29, 41, 47, 133, 197, 615, 169, 2157, 1795, 4945, 31693, 57763, 39369, 83353}}, +{18208, 18, 80571, {1, 3, 1, 3, 27, 23, 23, 213, 387, 239, 977, 221, 383, 11005, 7221, 8795, 100963, 163777}}, +{18209, 18, 80579, {1, 1, 1, 1, 31, 29, 87, 93, 239, 399, 801, 3143, 6973, 16331, 16865, 1823, 1127, 41983}}, +{18210, 18, 80586, {1, 1, 3, 13, 7, 39, 25, 251, 277, 417, 119, 3033, 6785, 9783, 1641, 60169, 25047, 182263}}, +{18211, 18, 80599, {1, 1, 5, 5, 7, 35, 17, 47, 295, 861, 1671, 1971, 4583, 3925, 31013, 50039, 125191, 143019}}, +{18212, 18, 80610, {1, 1, 5, 1, 3, 57, 11, 23, 273, 209, 617, 1499, 665, 1193, 7539, 1625, 48065, 82843}}, +{18213, 18, 80629, {1, 1, 3, 15, 15, 17, 39, 145, 193, 503, 1305, 2071, 93, 11529, 14267, 14779, 49327, 51347}}, +{18214, 18, 80642, {1, 3, 5, 3, 7, 39, 63, 171, 263, 493, 383, 3209, 4277, 6259, 1345, 48013, 110571, 127865}}, +{18215, 18, 80690, {1, 3, 1, 7, 15, 29, 93, 75, 37, 235, 1095, 153, 745, 9785, 28831, 58899, 67091, 34743}}, +{18216, 18, 80713, {1, 3, 7, 9, 27, 23, 67, 85, 491, 447, 1899, 709, 555, 13979, 12529, 38383, 16091, 117301}}, +{18217, 18, 80716, {1, 1, 5, 3, 9, 55, 109, 173, 29, 19, 1265, 2391, 7761, 1953, 5643, 24079, 14187, 127017}}, +{18218, 18, 80737, {1, 3, 7, 13, 21, 57, 105, 145, 73, 421, 403, 5, 3523, 7005, 1109, 63357, 111671, 191857}}, +{18219, 18, 80743, {1, 1, 7, 13, 5, 27, 21, 5, 199, 515, 917, 365, 2775, 12453, 26989, 60593, 98977, 161759}}, +{18220, 18, 80750, {1, 3, 1, 13, 15, 37, 71, 65, 27, 533, 1311, 2981, 1945, 7183, 5337, 20659, 67355, 185633}}, +{18221, 18, 80786, {1, 1, 5, 7, 21, 39, 21, 195, 443, 979, 1033, 1823, 3045, 3023, 31783, 61803, 1023, 119291}}, +{18222, 18, 80811, {1, 1, 3, 11, 5, 15, 107, 155, 465, 249, 1845, 357, 2769, 3313, 12335, 16615, 20809, 103469}}, +{18223, 18, 80834, {1, 1, 3, 9, 13, 21, 11, 227, 173, 949, 1255, 3257, 601, 10865, 12779, 9173, 87255, 12867}}, +{18224, 18, 80839, {1, 3, 3, 15, 3, 41, 97, 141, 385, 23, 1253, 2905, 1523, 7647, 7069, 61143, 101245, 59747}}, +{18225, 18, 80840, {1, 3, 1, 3, 7, 35, 117, 93, 357, 741, 1673, 3295, 6809, 547, 22949, 42151, 91241, 16189}}, +{18226, 18, 80846, {1, 3, 5, 9, 25, 31, 27, 221, 55, 595, 1513, 3963, 3143, 1189, 19843, 6361, 19575, 231765}}, +{18227, 18, 80848, {1, 1, 5, 1, 3, 35, 91, 217, 385, 717, 57, 1471, 3529, 859, 15259, 4411, 54491, 79841}}, +{18228, 18, 80876, {1, 1, 5, 9, 29, 47, 111, 89, 469, 975, 513, 1339, 1747, 8839, 30375, 46217, 128191, 95831}}, +{18229, 18, 80911, {1, 1, 5, 13, 9, 45, 3, 221, 223, 461, 1353, 3953, 5505, 3139, 3407, 12953, 74487, 209401}}, +{18230, 18, 80947, {1, 1, 7, 7, 7, 43, 33, 143, 427, 183, 573, 2881, 7355, 10693, 12841, 14267, 61847, 47689}}, +{18231, 18, 81001, {1, 1, 3, 5, 23, 45, 53, 173, 347, 715, 173, 3385, 429, 8143, 2831, 57883, 77245, 37613}}, +{18232, 18, 81031, {1, 1, 1, 13, 21, 47, 33, 157, 171, 47, 1981, 2003, 7401, 7687, 10553, 38083, 111901, 30251}}, +{18233, 18, 81045, {1, 1, 5, 9, 23, 35, 121, 251, 7, 835, 1561, 1605, 7023, 15645, 14313, 6361, 107973, 211667}}, +{18234, 18, 81056, {1, 3, 1, 13, 25, 39, 81, 31, 145, 483, 1587, 3457, 5293, 927, 3529, 22457, 69689, 190371}}, +{18235, 18, 81073, {1, 1, 1, 3, 25, 61, 87, 111, 441, 829, 313, 2271, 205, 10187, 3003, 47237, 99899, 200553}}, +{18236, 18, 81083, {1, 1, 7, 13, 31, 51, 9, 243, 219, 139, 1703, 2001, 959, 11265, 27897, 9081, 4473, 107737}}, +{18237, 18, 81145, {1, 3, 5, 1, 25, 37, 61, 131, 487, 35, 1293, 833, 3847, 11315, 11811, 2763, 2199, 81127}}, +{18238, 18, 81168, {1, 3, 7, 7, 31, 33, 87, 111, 429, 809, 173, 1093, 7719, 14307, 5735, 61019, 21223, 26361}}, +{18239, 18, 81177, {1, 1, 3, 11, 17, 33, 31, 17, 49, 885, 1279, 2243, 3693, 61, 30909, 35807, 14027, 159225}}, +{18240, 18, 81207, {1, 3, 7, 11, 9, 35, 61, 75, 171, 117, 1285, 935, 7271, 3509, 14119, 31065, 58181, 136623}}, +{18241, 18, 81208, {1, 1, 3, 15, 3, 43, 93, 221, 239, 783, 37, 4007, 3637, 10461, 18425, 59629, 93781, 252689}}, +{18242, 18, 81226, {1, 3, 5, 7, 5, 61, 19, 107, 123, 417, 1655, 2307, 8177, 13617, 17195, 31597, 66241, 107199}}, +{18243, 18, 81245, {1, 3, 7, 7, 5, 5, 25, 69, 383, 217, 993, 2719, 3425, 8395, 1125, 10763, 80111, 70421}}, +{18244, 18, 81269, {1, 1, 3, 9, 29, 45, 123, 45, 89, 1015, 1703, 4049, 4969, 3801, 23657, 41031, 66415, 34063}}, +{18245, 18, 81285, {1, 1, 3, 3, 7, 53, 125, 63, 67, 335, 1937, 1793, 4641, 7115, 10951, 45503, 54723, 177433}}, +{18246, 18, 81289, {1, 3, 5, 1, 21, 55, 83, 199, 509, 331, 695, 2133, 1881, 14369, 21687, 2343, 85895, 99255}}, +{18247, 18, 81292, {1, 1, 5, 9, 11, 5, 111, 97, 433, 851, 1537, 411, 6629, 5185, 30749, 50017, 46177, 213347}}, +{18248, 18, 81298, {1, 3, 3, 1, 7, 21, 95, 229, 311, 605, 1277, 2435, 5053, 3051, 15447, 35479, 2835, 204149}}, +{18249, 18, 81310, {1, 3, 5, 9, 31, 27, 79, 201, 329, 735, 1933, 27, 6201, 9375, 24801, 34045, 16227, 61013}}, +{18250, 18, 81346, {1, 1, 5, 5, 31, 7, 73, 197, 455, 835, 1845, 2733, 3371, 513, 10495, 43659, 4621, 68969}}, +{18251, 18, 81348, {1, 1, 1, 15, 21, 55, 15, 83, 419, 471, 1427, 919, 7125, 7635, 25579, 19493, 37381, 191563}}, +{18252, 18, 81355, {1, 1, 7, 3, 15, 35, 25, 73, 295, 507, 719, 3307, 4253, 945, 21005, 24903, 80287, 48885}}, +{18253, 18, 81388, {1, 3, 7, 15, 27, 13, 71, 79, 189, 491, 1185, 3007, 4285, 13005, 18973, 33759, 15327, 45595}}, +{18254, 18, 81396, {1, 3, 3, 9, 9, 33, 115, 103, 31, 949, 1817, 2865, 1215, 9611, 16019, 7925, 72945, 208301}}, +{18255, 18, 81415, {1, 1, 1, 5, 19, 35, 89, 181, 409, 641, 1277, 2201, 2825, 5707, 13463, 34741, 39303, 217803}}, +{18256, 18, 81460, {1, 1, 3, 11, 13, 31, 65, 191, 11, 179, 509, 2513, 3861, 13323, 11817, 24901, 53815, 44343}}, +{18257, 18, 81482, {1, 3, 1, 5, 5, 57, 97, 25, 83, 177, 1963, 2367, 6703, 13361, 8749, 45533, 87883, 2977}}, +{18258, 18, 81518, {1, 3, 5, 3, 15, 41, 113, 145, 39, 509, 81, 1387, 2881, 1441, 75, 28409, 61417, 79393}}, +{18259, 18, 81523, {1, 3, 3, 3, 17, 1, 41, 19, 173, 133, 2033, 3637, 7415, 1841, 19497, 42643, 122885, 195301}}, +{18260, 18, 81529, {1, 3, 3, 9, 15, 37, 11, 87, 291, 881, 1471, 2469, 6877, 6813, 8273, 1455, 30957, 181887}}, +{18261, 18, 81545, {1, 3, 5, 9, 25, 41, 7, 71, 451, 831, 495, 3991, 4173, 4307, 31249, 7253, 57141, 35495}}, +{18262, 18, 81570, {1, 1, 7, 9, 15, 39, 29, 193, 327, 837, 991, 3503, 1175, 14965, 18151, 22479, 51127, 159019}}, +{18263, 18, 81576, {1, 3, 1, 9, 23, 41, 89, 211, 179, 507, 1005, 613, 8083, 15655, 1927, 23401, 51025, 21589}}, +{18264, 18, 81604, {1, 1, 5, 15, 5, 63, 105, 229, 239, 399, 591, 2233, 391, 2871, 29829, 49961, 62045, 190437}}, +{18265, 18, 81613, {1, 3, 5, 9, 7, 23, 85, 219, 163, 37, 1881, 589, 4239, 12845, 19993, 57267, 29519, 207597}}, +{18266, 18, 81631, {1, 3, 7, 15, 19, 19, 115, 141, 41, 405, 657, 2517, 4231, 10247, 21383, 11479, 52955, 121545}}, +{18267, 18, 81656, {1, 3, 1, 7, 23, 33, 65, 229, 287, 739, 1265, 1105, 487, 3801, 5211, 44731, 5359, 103685}}, +{18268, 18, 81679, {1, 3, 1, 13, 23, 29, 101, 153, 395, 335, 899, 303, 2073, 15767, 1303, 15539, 12889, 35517}}, +{18269, 18, 81684, {1, 1, 5, 11, 5, 63, 41, 53, 99, 339, 563, 2921, 4959, 13941, 13655, 10115, 56867, 42919}}, +{18270, 18, 81698, {1, 3, 5, 5, 5, 35, 127, 225, 497, 27, 139, 3269, 3929, 3369, 22697, 19421, 2921, 171927}}, +{18271, 18, 81736, {1, 1, 1, 15, 15, 21, 35, 251, 67, 447, 1045, 1173, 2951, 6589, 27261, 36597, 98721, 7205}}, +{18272, 18, 81747, {1, 3, 3, 9, 11, 63, 83, 19, 163, 381, 87, 1211, 3007, 4971, 27105, 2341, 21389, 32995}}, +{18273, 18, 81765, {1, 1, 3, 3, 21, 19, 63, 65, 505, 987, 1821, 2419, 3195, 2573, 1481, 35279, 45135, 597}}, +{18274, 18, 81775, {1, 3, 1, 15, 29, 5, 77, 65, 121, 223, 2009, 593, 7929, 10353, 22301, 25137, 40289, 95847}}, +{18275, 18, 81805, {1, 1, 3, 1, 17, 49, 9, 167, 69, 729, 1189, 1191, 1, 12603, 8281, 45193, 1427, 15887}}, +{18276, 18, 81842, {1, 1, 3, 7, 17, 5, 11, 217, 505, 317, 505, 1201, 8025, 13255, 12591, 16207, 32387, 242425}}, +{18277, 18, 81859, {1, 3, 7, 9, 25, 9, 97, 23, 91, 765, 653, 2689, 2787, 11719, 8455, 24665, 26907, 78525}}, +{18278, 18, 81865, {1, 3, 3, 15, 27, 19, 79, 157, 117, 715, 1921, 2453, 499, 13593, 14173, 1993, 110087, 151427}}, +{18279, 18, 81866, {1, 3, 1, 13, 5, 43, 59, 21, 451, 863, 533, 1723, 2059, 1611, 10403, 36479, 36999, 109553}}, +{18280, 18, 81892, {1, 3, 7, 7, 29, 63, 51, 5, 475, 549, 123, 1949, 5279, 8581, 20053, 52287, 125223, 152299}}, +{18281, 18, 81902, {1, 3, 1, 1, 7, 19, 1, 215, 273, 157, 1557, 425, 7549, 12337, 1735, 30917, 116487, 177335}}, +{18282, 18, 81933, {1, 1, 1, 1, 7, 47, 61, 191, 73, 551, 1435, 2283, 3191, 8545, 11875, 41389, 17607, 26869}}, +{18283, 18, 81934, {1, 1, 7, 9, 13, 61, 109, 121, 365, 223, 1729, 3311, 7249, 10765, 12419, 4235, 64127, 132257}}, +{18284, 18, 81942, {1, 1, 3, 13, 17, 25, 65, 49, 417, 311, 141, 1127, 53, 945, 28277, 33347, 96399, 166049}}, +{18285, 18, 81969, {1, 3, 7, 9, 5, 21, 93, 203, 467, 805, 115, 1757, 4535, 8687, 10423, 8065, 2955, 20403}}, +{18286, 18, 81981, {1, 3, 3, 15, 7, 63, 103, 137, 227, 111, 735, 2139, 4293, 5347, 4131, 63405, 42599, 173299}}, +{18287, 18, 81999, {1, 3, 7, 7, 17, 53, 127, 251, 57, 625, 843, 3045, 1319, 10085, 18591, 36115, 104193, 183891}}, +{18288, 18, 82004, {1, 3, 7, 1, 31, 57, 107, 253, 207, 739, 1703, 1377, 3807, 10289, 22969, 13087, 2805, 261279}}, +{18289, 18, 82008, {1, 1, 5, 5, 5, 59, 59, 63, 77, 663, 1109, 2159, 3725, 12355, 4805, 22433, 81851, 9419}}, +{18290, 18, 82032, {1, 1, 7, 15, 1, 1, 101, 101, 295, 311, 447, 3931, 933, 15713, 8919, 7185, 38577, 254203}}, +{18291, 18, 82035, {1, 1, 5, 15, 7, 35, 35, 141, 283, 665, 1685, 3875, 495, 1655, 8269, 23493, 1523, 248783}}, +{18292, 18, 82060, {1, 1, 5, 9, 27, 35, 25, 57, 285, 469, 1491, 1479, 3705, 11357, 5319, 11575, 116207, 215961}}, +{18293, 18, 82063, {1, 3, 5, 11, 7, 41, 67, 161, 73, 777, 247, 823, 6677, 1631, 3431, 2821, 25291, 17633}}, +{18294, 18, 82071, {1, 1, 3, 9, 19, 17, 45, 181, 139, 85, 857, 1231, 7167, 2951, 26847, 39113, 51705, 104617}}, +{18295, 18, 82081, {1, 3, 5, 1, 5, 55, 101, 209, 1, 47, 1059, 2175, 1549, 8007, 11267, 21863, 125567, 102775}}, +{18296, 18, 82082, {1, 3, 3, 15, 15, 21, 79, 85, 427, 963, 1335, 2129, 6831, 6613, 13319, 15781, 3781, 222547}}, +{18297, 18, 82105, {1, 3, 3, 13, 19, 63, 25, 123, 1, 215, 139, 1345, 5035, 3107, 14381, 6239, 18481, 202581}}, +{18298, 18, 82106, {1, 1, 5, 1, 11, 11, 11, 53, 109, 533, 1113, 177, 609, 15391, 22735, 62229, 103591, 89143}}, +{18299, 18, 82120, {1, 1, 5, 15, 3, 21, 115, 223, 167, 441, 277, 2971, 933, 2841, 26893, 48513, 74553, 250413}}, +{18300, 18, 82125, {1, 1, 1, 7, 19, 17, 43, 181, 483, 897, 819, 1657, 5539, 8847, 23483, 57605, 104703, 242559}}, +{18301, 18, 82156, {1, 3, 5, 11, 3, 63, 3, 129, 45, 981, 45, 845, 1481, 14735, 30451, 16937, 13789, 27107}}, +{18302, 18, 82176, {1, 3, 3, 15, 25, 11, 33, 49, 155, 947, 521, 3417, 3299, 1123, 9517, 32127, 117795, 223167}}, +{18303, 18, 82203, {1, 3, 5, 15, 3, 35, 27, 37, 287, 541, 727, 2779, 7033, 5189, 21579, 36895, 109645, 123353}}, +{18304, 18, 82210, {1, 3, 7, 9, 15, 53, 123, 125, 405, 841, 119, 63, 853, 8693, 1537, 25509, 49345, 54301}}, +{18305, 18, 82241, {1, 3, 7, 9, 11, 63, 65, 145, 283, 529, 1553, 883, 3319, 8601, 29379, 26991, 127343, 98701}}, +{18306, 18, 82287, {1, 1, 1, 7, 23, 59, 11, 89, 407, 869, 445, 659, 3029, 5465, 5063, 36775, 69089, 205367}}, +{18307, 18, 82323, {1, 3, 7, 5, 19, 35, 99, 49, 257, 287, 1113, 2825, 2797, 7283, 31757, 47015, 106987, 82589}}, +{18308, 18, 82330, {1, 3, 7, 11, 15, 37, 41, 101, 493, 725, 1091, 503, 2611, 13025, 11071, 39311, 5193, 92127}}, +{18309, 18, 82366, {1, 1, 3, 7, 9, 59, 69, 113, 381, 341, 1495, 3169, 5099, 69, 7911, 9721, 84609, 254171}}, +{18310, 18, 82378, {1, 3, 5, 7, 21, 19, 75, 71, 7, 617, 1185, 2787, 4147, 16045, 18859, 52347, 66551, 161563}}, +{18311, 18, 82395, {1, 3, 5, 3, 27, 39, 17, 205, 425, 3, 1443, 1947, 7645, 10125, 24577, 45373, 38015, 30407}}, +{18312, 18, 82398, {1, 3, 3, 11, 1, 57, 105, 251, 65, 389, 1993, 3933, 3093, 1425, 9483, 5953, 13147, 234121}}, +{18313, 18, 82401, {1, 3, 3, 3, 1, 27, 105, 45, 435, 393, 609, 291, 545, 4905, 22621, 62115, 78955, 84355}}, +{18314, 18, 82404, {1, 3, 7, 9, 1, 15, 91, 183, 301, 223, 1183, 1877, 2141, 5549, 371, 44147, 6771, 136777}}, +{18315, 18, 82419, {1, 1, 5, 15, 5, 49, 127, 161, 121, 979, 1247, 3681, 3805, 3363, 11643, 25735, 21193, 111657}}, +{18316, 18, 82421, {1, 3, 5, 15, 15, 33, 47, 91, 137, 323, 1577, 3723, 3609, 11533, 4415, 26467, 120947, 200919}}, +{18317, 18, 82428, {1, 3, 3, 3, 3, 33, 121, 161, 453, 205, 1815, 65, 5893, 4669, 14377, 10905, 9559, 56359}}, +{18318, 18, 82442, {1, 1, 1, 7, 1, 55, 21, 143, 411, 65, 1009, 2989, 133, 7059, 30981, 15417, 2651, 110345}}, +{18319, 18, 82452, {1, 1, 3, 7, 19, 25, 91, 241, 193, 903, 661, 665, 7681, 14111, 29197, 51299, 109519, 155827}}, +{18320, 18, 82455, {1, 1, 1, 15, 25, 3, 79, 57, 417, 73, 705, 7, 4415, 7699, 28185, 53005, 88547, 7281}}, +{18321, 18, 82466, {1, 1, 7, 13, 27, 21, 35, 197, 65, 171, 1773, 393, 3759, 8335, 5987, 20611, 91373, 80715}}, +{18322, 18, 82510, {1, 3, 7, 3, 17, 51, 85, 229, 131, 733, 281, 3157, 1283, 10751, 20203, 49955, 23861, 128517}}, +{18323, 18, 82524, {1, 1, 5, 15, 3, 27, 35, 87, 391, 509, 1627, 769, 701, 4933, 24597, 9695, 111441, 198493}}, +{18324, 18, 82545, {1, 1, 1, 15, 3, 31, 73, 235, 341, 263, 883, 2369, 4887, 4659, 9493, 6763, 130625, 15031}}, +{18325, 18, 82555, {1, 3, 1, 15, 1, 11, 63, 79, 389, 355, 619, 1361, 313, 1199, 555, 42213, 81089, 170863}}, +{18326, 18, 82581, {1, 3, 1, 15, 21, 27, 1, 179, 19, 241, 1655, 1803, 5413, 5353, 65, 31211, 3501, 27205}}, +{18327, 18, 82588, {1, 3, 3, 9, 9, 19, 63, 191, 217, 271, 1453, 2777, 2915, 13291, 31391, 37489, 86435, 22857}}, +{18328, 18, 82591, {1, 3, 5, 9, 13, 41, 85, 11, 333, 479, 363, 2591, 697, 8587, 3647, 5741, 21627, 244573}}, +{18329, 18, 82636, {1, 1, 3, 1, 5, 61, 83, 229, 193, 977, 677, 2585, 3273, 12035, 2621, 12943, 49293, 37985}}, +{18330, 18, 82658, {1, 1, 5, 7, 27, 9, 69, 189, 489, 747, 519, 719, 1493, 13337, 14933, 44359, 11471, 57245}}, +{18331, 18, 82675, {1, 3, 5, 1, 5, 17, 75, 89, 417, 367, 57, 1641, 1573, 1819, 31237, 5213, 78821, 149853}}, +{18332, 18, 82678, {1, 1, 7, 3, 7, 17, 121, 91, 211, 101, 1145, 3753, 2997, 67, 10755, 11261, 122489, 61679}}, +{18333, 18, 82716, {1, 3, 7, 7, 15, 17, 73, 133, 429, 285, 201, 1917, 5677, 1793, 21653, 49729, 68965, 5347}}, +{18334, 18, 82725, {1, 3, 3, 13, 23, 17, 49, 249, 71, 169, 619, 843, 2163, 585, 23309, 39509, 68087, 232233}}, +{18335, 18, 82743, {1, 1, 7, 15, 23, 15, 19, 227, 89, 719, 1247, 2521, 1509, 7553, 12225, 12865, 100107, 261847}}, +{18336, 18, 82744, {1, 1, 5, 3, 23, 17, 117, 5, 401, 57, 1945, 1081, 1269, 5921, 31815, 42341, 112099, 130047}}, +{18337, 18, 82762, {1, 1, 1, 1, 9, 5, 87, 203, 211, 1009, 403, 1617, 3969, 2541, 7261, 6989, 16579, 206159}}, +{18338, 18, 82770, {1, 3, 7, 9, 5, 13, 93, 191, 79, 631, 1019, 3639, 7137, 13859, 19603, 63263, 82947, 181023}}, +{18339, 18, 82809, {1, 1, 5, 11, 25, 17, 85, 51, 61, 311, 517, 2001, 6325, 6831, 10835, 20101, 115241, 15815}}, +{18340, 18, 82846, {1, 3, 7, 13, 29, 19, 33, 115, 473, 477, 471, 773, 4097, 11697, 30781, 20843, 27089, 181927}}, +{18341, 18, 82855, {1, 3, 5, 5, 21, 27, 3, 239, 45, 335, 505, 149, 3005, 3511, 18037, 31291, 6145, 2913}}, +{18342, 18, 82882, {1, 1, 3, 1, 25, 49, 21, 225, 27, 395, 415, 1813, 5727, 7211, 9887, 63533, 99185, 119269}}, +{18343, 18, 82899, {1, 3, 3, 5, 15, 53, 127, 195, 81, 895, 587, 561, 5951, 9901, 18117, 37855, 19393, 259031}}, +{18344, 18, 82905, {1, 1, 7, 13, 9, 49, 109, 127, 53, 735, 391, 1523, 3759, 10363, 11299, 3203, 89121, 122643}}, +{18345, 18, 82950, {1, 1, 5, 3, 13, 3, 21, 247, 259, 557, 977, 1465, 6889, 3879, 4627, 1439, 122809, 248941}}, +{18346, 18, 82953, {1, 3, 7, 15, 7, 19, 113, 251, 245, 63, 267, 1873, 6601, 16253, 24643, 7433, 130051, 233047}}, +{18347, 18, 82967, {1, 1, 3, 9, 29, 39, 47, 31, 493, 817, 1697, 2139, 1059, 11365, 31653, 56477, 119191, 45509}}, +{18348, 18, 82971, {1, 1, 1, 15, 9, 29, 99, 61, 109, 341, 1009, 1551, 897, 13075, 10603, 25153, 65911, 228213}}, +{18349, 18, 82987, {1, 3, 7, 7, 29, 47, 57, 85, 263, 767, 1633, 2473, 199, 49, 22287, 33345, 118877, 248435}}, +{18350, 18, 83007, {1, 3, 1, 9, 5, 45, 5, 179, 9, 129, 1231, 4075, 7497, 2159, 18101, 31039, 95213, 171913}}, +{18351, 18, 83009, {1, 1, 1, 13, 23, 1, 89, 63, 21, 983, 481, 773, 5957, 4823, 4483, 50405, 42979, 243567}}, +{18352, 18, 83012, {1, 1, 5, 13, 15, 21, 65, 133, 347, 511, 1887, 743, 7825, 1681, 4857, 49247, 21277, 212995}}, +{18353, 18, 83030, {1, 3, 7, 9, 7, 51, 3, 233, 287, 727, 815, 3609, 397, 5721, 16473, 7549, 100455, 136233}}, +{18354, 18, 83045, {1, 3, 1, 1, 31, 51, 59, 37, 79, 623, 1219, 2655, 4619, 11967, 11377, 28985, 16069, 188773}}, +{18355, 18, 83050, {1, 3, 3, 13, 13, 59, 93, 159, 197, 339, 1633, 1601, 255, 1631, 4989, 12019, 23921, 261273}}, +{18356, 18, 83052, {1, 1, 3, 13, 27, 25, 55, 43, 147, 981, 65, 725, 5753, 115, 26125, 25501, 89099, 233419}}, +{18357, 18, 83070, {1, 3, 7, 5, 25, 3, 95, 135, 191, 417, 929, 3855, 5829, 3827, 13979, 65367, 63683, 85911}}, +{18358, 18, 83076, {1, 3, 5, 1, 7, 63, 45, 187, 355, 735, 1325, 1461, 3869, 2127, 18231, 45891, 24027, 202997}}, +{18359, 18, 83086, {1, 3, 7, 13, 19, 47, 89, 229, 253, 659, 355, 3323, 4081, 8243, 32553, 46579, 46431, 53291}}, +{18360, 18, 83128, {1, 1, 5, 11, 3, 61, 33, 65, 239, 779, 665, 1337, 6427, 12787, 1495, 27105, 71455, 89715}}, +{18361, 18, 83141, {1, 3, 1, 11, 31, 33, 115, 69, 511, 187, 99, 1055, 1065, 9531, 29897, 23897, 80581, 166957}}, +{18362, 18, 83153, {1, 1, 7, 13, 19, 1, 13, 241, 89, 761, 425, 3865, 961, 14999, 24175, 19103, 39095, 38899}}, +{18363, 18, 83156, {1, 3, 7, 7, 11, 17, 25, 217, 113, 615, 1455, 1409, 5679, 2321, 28687, 8089, 74031, 230559}}, +{18364, 18, 83194, {1, 3, 7, 1, 25, 15, 77, 111, 405, 523, 961, 647, 3857, 14355, 27063, 48829, 87913, 254965}}, +{18365, 18, 83225, {1, 1, 3, 3, 5, 13, 67, 155, 393, 943, 1875, 1209, 3765, 8627, 15123, 43405, 78473, 146127}}, +{18366, 18, 83261, {1, 1, 3, 7, 29, 43, 23, 33, 35, 883, 1859, 1559, 4163, 13277, 16971, 15289, 60305, 56743}}, +{18367, 18, 83264, {1, 1, 1, 5, 19, 55, 37, 53, 123, 35, 1477, 1035, 4683, 259, 20079, 37041, 48081, 198685}}, +{18368, 18, 83322, {1, 1, 3, 3, 1, 19, 27, 129, 427, 685, 959, 2501, 2761, 9495, 23649, 18789, 54521, 219547}}, +{18369, 18, 83382, {1, 1, 7, 1, 31, 11, 65, 171, 229, 11, 1825, 1641, 2731, 11085, 2567, 30831, 20365, 242731}}, +{18370, 18, 83391, {1, 1, 1, 13, 13, 5, 21, 175, 265, 271, 133, 407, 3415, 5943, 15385, 12817, 106159, 41859}}, +{18371, 18, 83399, {1, 3, 7, 1, 11, 45, 105, 229, 395, 877, 1495, 2113, 1733, 10117, 1125, 9989, 109637, 124517}}, +{18372, 18, 83406, {1, 1, 7, 3, 27, 43, 57, 77, 63, 907, 1137, 3333, 189, 15285, 13895, 23773, 73523, 47811}}, +{18373, 18, 83427, {1, 3, 3, 11, 17, 19, 81, 197, 73, 897, 515, 3801, 5105, 6987, 10125, 7239, 32339, 124411}}, +{18374, 18, 83439, {1, 3, 1, 9, 11, 15, 99, 109, 307, 133, 249, 1463, 5479, 8565, 19489, 13773, 11443, 149799}}, +{18375, 18, 83444, {1, 3, 7, 7, 19, 53, 61, 75, 83, 545, 1449, 683, 5845, 8325, 18111, 35941, 51843, 97907}}, +{18376, 18, 83453, {1, 1, 1, 3, 31, 23, 37, 187, 207, 51, 439, 3095, 2217, 6393, 9117, 2779, 47331, 118275}}, +{18377, 18, 83457, {1, 1, 3, 9, 23, 17, 41, 37, 59, 281, 319, 1333, 6207, 2265, 4445, 50831, 115893, 120491}}, +{18378, 18, 83475, {1, 3, 1, 13, 27, 23, 25, 23, 187, 51, 1257, 379, 921, 3801, 24537, 59547, 34191, 184625}}, +{18379, 18, 83484, {1, 1, 5, 3, 23, 21, 23, 159, 163, 537, 1589, 2797, 8007, 6767, 31331, 20741, 119969, 174135}}, +{18380, 18, 83488, {1, 3, 1, 1, 13, 35, 73, 147, 491, 317, 69, 1069, 5413, 13973, 19741, 44717, 63263, 77145}}, +{18381, 18, 83493, {1, 3, 1, 15, 31, 41, 23, 79, 55, 863, 129, 2229, 3395, 1621, 6273, 44521, 100047, 42337}}, +{18382, 18, 83512, {1, 3, 7, 3, 7, 5, 79, 1, 191, 227, 1039, 2909, 1085, 3173, 29311, 13861, 124785, 212453}}, +{18383, 18, 83525, {1, 3, 1, 5, 13, 9, 99, 213, 61, 201, 889, 1171, 3981, 2091, 31679, 26643, 5611, 154339}}, +{18384, 18, 83535, {1, 3, 3, 7, 27, 49, 53, 77, 285, 441, 1669, 2157, 223, 1899, 2725, 36547, 39273, 206653}}, +{18385, 18, 83560, {1, 3, 3, 9, 29, 5, 91, 1, 13, 409, 1275, 891, 6557, 5157, 6481, 57381, 87683, 117277}}, +{18386, 18, 83617, {1, 3, 3, 1, 11, 7, 13, 69, 9, 1015, 907, 2685, 6665, 16307, 24567, 13191, 9567, 55073}}, +{18387, 18, 83664, {1, 3, 1, 5, 19, 15, 65, 13, 503, 427, 1947, 1869, 5857, 823, 20533, 25337, 83551, 128505}}, +{18388, 18, 83676, {1, 1, 5, 11, 25, 53, 83, 175, 445, 5, 841, 2773, 4381, 2829, 1927, 63689, 63643, 246629}}, +{18389, 18, 83757, {1, 3, 1, 11, 27, 63, 43, 95, 453, 235, 673, 117, 6617, 7589, 5767, 16465, 36961, 39395}}, +{18390, 18, 83770, {1, 1, 3, 13, 3, 27, 119, 87, 209, 167, 721, 1499, 1955, 9151, 11649, 29009, 25249, 26125}}, +{18391, 18, 83775, {1, 1, 5, 1, 9, 59, 47, 57, 81, 243, 485, 559, 7311, 15119, 9827, 47219, 5941, 16909}}, +{18392, 18, 83835, {1, 3, 7, 11, 29, 13, 97, 63, 289, 653, 1811, 835, 801, 13103, 9333, 7785, 111587, 10021}}, +{18393, 18, 83838, {1, 3, 3, 1, 27, 61, 73, 165, 279, 239, 865, 517, 7763, 1917, 9839, 20725, 50721, 171351}}, +{18394, 18, 83848, {1, 3, 7, 1, 27, 29, 43, 137, 353, 927, 889, 2511, 709, 3309, 967, 18119, 48099, 98139}}, +{18395, 18, 83856, {1, 3, 1, 1, 17, 5, 79, 23, 367, 231, 605, 3809, 7557, 14283, 18417, 15775, 107421, 9587}}, +{18396, 18, 83878, {1, 1, 1, 7, 25, 9, 93, 41, 165, 509, 661, 2165, 3595, 2555, 11399, 2403, 76179, 176003}}, +{18397, 18, 83884, {1, 3, 3, 7, 27, 19, 55, 213, 83, 601, 377, 2381, 6831, 5609, 31321, 26897, 105321, 144705}}, +{18398, 18, 83896, {1, 3, 7, 7, 21, 11, 45, 55, 379, 133, 653, 3593, 7481, 15789, 12723, 9697, 20073, 58211}}, +{18399, 18, 83902, {1, 3, 5, 1, 1, 57, 89, 159, 461, 719, 1251, 3899, 1063, 10753, 6509, 28391, 129377, 195279}}, +{18400, 18, 83922, {1, 3, 7, 7, 5, 39, 59, 81, 27, 169, 1541, 2213, 3631, 11601, 13153, 43221, 14587, 29719}}, +{18401, 18, 83977, {1, 1, 1, 1, 3, 29, 103, 125, 35, 455, 255, 3855, 567, 12013, 13285, 44753, 117415, 226285}}, +{18402, 18, 83985, {1, 1, 5, 1, 21, 41, 59, 69, 83, 813, 1041, 2559, 1947, 7343, 5291, 39281, 56141, 54487}}, +{18403, 18, 83988, {1, 1, 7, 15, 25, 17, 83, 115, 321, 659, 1625, 3253, 281, 6673, 26301, 45647, 92151, 150707}}, +{18404, 18, 84034, {1, 1, 5, 15, 9, 19, 83, 167, 325, 869, 501, 483, 2155, 14697, 12755, 54687, 100637, 6791}}, +{18405, 18, 84046, {1, 1, 7, 3, 3, 47, 91, 79, 347, 215, 847, 2957, 5881, 5371, 20099, 45603, 29349, 175357}}, +{18406, 18, 84058, {1, 3, 1, 3, 13, 43, 101, 235, 505, 289, 691, 673, 5579, 8721, 9639, 18569, 44797, 250887}}, +{18407, 18, 84069, {1, 1, 3, 11, 23, 27, 85, 223, 365, 767, 577, 2781, 4179, 12963, 25235, 51021, 84989, 149521}}, +{18408, 18, 84107, {1, 1, 1, 1, 9, 51, 13, 129, 393, 725, 1301, 1391, 4693, 4979, 16801, 21361, 122157, 56675}}, +{18409, 18, 84155, {1, 3, 5, 11, 7, 21, 97, 97, 17, 915, 255, 155, 3961, 7999, 7493, 52683, 49377, 131663}}, +{18410, 18, 84157, {1, 3, 5, 15, 31, 23, 41, 187, 89, 933, 309, 2519, 6595, 13785, 14339, 44393, 64439, 142105}}, +{18411, 18, 84160, {1, 1, 1, 11, 13, 57, 29, 249, 467, 863, 77, 3185, 6221, 13109, 32397, 13859, 27331, 35295}}, +{18412, 18, 84165, {1, 3, 3, 3, 23, 31, 29, 189, 405, 855, 1597, 3167, 4171, 13801, 12297, 38019, 130141, 135517}}, +{18413, 18, 84187, {1, 1, 5, 7, 13, 37, 87, 41, 503, 281, 103, 1997, 3603, 4185, 25331, 55123, 74263, 248695}}, +{18414, 18, 84214, {1, 3, 1, 15, 13, 57, 67, 135, 429, 489, 829, 2069, 7657, 15713, 3907, 5819, 114005, 187859}}, +{18415, 18, 84226, {1, 1, 3, 1, 23, 43, 93, 63, 5, 435, 1649, 1429, 2923, 9035, 28667, 13991, 74491, 236225}}, +{18416, 18, 84235, {1, 3, 3, 7, 19, 29, 37, 143, 443, 955, 1431, 3193, 6023, 2421, 28955, 29171, 126785, 124709}}, +{18417, 18, 84240, {1, 3, 7, 7, 23, 45, 59, 101, 25, 711, 1685, 851, 3101, 12273, 10775, 57633, 52739, 244681}}, +{18418, 18, 84255, {1, 1, 1, 5, 3, 13, 97, 143, 367, 139, 1535, 873, 8005, 2795, 11103, 3837, 125833, 194903}}, +{18419, 18, 84273, {1, 3, 5, 7, 23, 61, 61, 203, 443, 543, 573, 2835, 941, 12315, 18453, 34367, 94359, 132437}}, +{18420, 18, 84291, {1, 1, 7, 5, 11, 21, 87, 27, 495, 67, 1267, 2029, 5041, 4133, 18821, 50249, 52397, 101431}}, +{18421, 18, 84311, {1, 3, 3, 3, 13, 51, 89, 183, 61, 919, 1841, 373, 7091, 9413, 1227, 44515, 72869, 198769}}, +{18422, 18, 84317, {1, 3, 3, 11, 13, 63, 13, 253, 203, 571, 91, 3477, 123, 15353, 7803, 62729, 14337, 252725}}, +{18423, 18, 84328, {1, 1, 7, 1, 11, 57, 45, 251, 351, 895, 1813, 3857, 7545, 9739, 32029, 24915, 46261, 8149}}, +{18424, 18, 84346, {1, 3, 1, 15, 25, 41, 71, 47, 265, 567, 307, 4079, 1943, 10407, 2999, 6605, 97621, 194711}}, +{18425, 18, 84357, {1, 1, 3, 5, 17, 29, 97, 249, 449, 761, 1727, 1533, 7417, 16167, 421, 39075, 1029, 180923}}, +{18426, 18, 84361, {1, 1, 1, 3, 11, 27, 67, 227, 131, 453, 951, 3897, 515, 4513, 17361, 50049, 4533, 35953}}, +{18427, 18, 84372, {1, 1, 1, 13, 7, 53, 25, 163, 453, 195, 1115, 1019, 3799, 7489, 12419, 15141, 112001, 106459}}, +{18428, 18, 84388, {1, 1, 3, 9, 27, 15, 63, 109, 293, 867, 645, 1821, 2867, 9653, 32617, 39617, 125589, 249169}}, +{18429, 18, 84415, {1, 1, 7, 5, 19, 17, 15, 105, 65, 143, 961, 493, 7301, 11299, 4549, 49873, 82447, 107}}, +{18430, 18, 84438, {1, 1, 7, 1, 31, 21, 19, 61, 255, 815, 421, 3097, 4993, 9709, 11529, 53839, 32653, 137861}}, +{18431, 18, 84444, {1, 3, 1, 9, 5, 5, 59, 179, 115, 101, 407, 1143, 309, 843, 31143, 60639, 126659, 111695}}, +{18432, 18, 84447, {1, 3, 7, 13, 7, 47, 65, 127, 159, 817, 1029, 2983, 5443, 11087, 10595, 47143, 128353, 195189}}, +{18433, 18, 84451, {1, 3, 7, 1, 27, 21, 61, 235, 433, 929, 581, 1925, 8185, 6037, 28859, 16843, 43499, 217091}}, +{18434, 18, 84465, {1, 3, 7, 11, 1, 11, 81, 187, 227, 967, 25, 2285, 1251, 10743, 2321, 29029, 89739, 188023}}, +{18435, 18, 84471, {1, 3, 5, 11, 21, 25, 57, 201, 89, 965, 1593, 2879, 2469, 13675, 28789, 11407, 13109, 52749}}, +{18436, 18, 84496, {1, 3, 3, 3, 19, 25, 87, 3, 127, 881, 645, 207, 1129, 4235, 1533, 52503, 128733, 238679}}, +{18437, 18, 84554, {1, 3, 3, 1, 5, 5, 63, 181, 493, 457, 1529, 1795, 219, 10807, 26713, 49673, 47167, 103595}}, +{18438, 18, 84561, {1, 1, 3, 3, 1, 31, 65, 79, 473, 257, 1477, 387, 2843, 4031, 8459, 44849, 115157, 8417}}, +{18439, 18, 84571, {1, 3, 3, 5, 15, 1, 105, 67, 343, 333, 1961, 649, 5105, 11387, 27437, 35471, 26295, 220309}}, +{18440, 18, 84580, {1, 3, 7, 15, 1, 7, 23, 113, 67, 1019, 1793, 3237, 7223, 5691, 6279, 50231, 49393, 84393}}, +{18441, 18, 84598, {1, 1, 1, 7, 9, 29, 125, 249, 89, 813, 561, 871, 1957, 1095, 18563, 5257, 39563, 225651}}, +{18442, 18, 84611, {1, 1, 1, 15, 17, 11, 51, 191, 217, 617, 793, 3633, 4673, 15463, 10621, 47221, 51611, 155937}}, +{18443, 18, 84620, {1, 3, 7, 15, 13, 7, 63, 57, 45, 1005, 685, 2913, 3597, 9933, 14819, 26015, 80023, 60547}}, +{18444, 18, 84625, {1, 1, 5, 5, 31, 43, 69, 63, 425, 439, 143, 933, 675, 11301, 31779, 53445, 25143, 213213}}, +{18445, 18, 84632, {1, 1, 1, 5, 21, 9, 91, 89, 483, 153, 389, 7, 633, 15527, 21833, 45171, 88331, 150935}}, +{18446, 18, 84648, {1, 3, 5, 5, 11, 31, 49, 139, 295, 289, 1623, 3359, 7551, 11285, 25083, 27699, 91869, 237571}}, +{18447, 18, 84659, {1, 1, 1, 9, 9, 25, 55, 71, 51, 603, 1901, 2729, 6803, 11135, 5427, 37285, 69141, 262073}}, +{18448, 18, 84662, {1, 1, 3, 11, 3, 7, 81, 89, 49, 303, 755, 223, 603, 12525, 26037, 47867, 118871, 238677}}, +{18449, 18, 84683, {1, 3, 3, 11, 1, 53, 55, 15, 341, 151, 245, 1979, 3523, 15151, 25075, 21425, 48689, 125391}}, +{18450, 18, 84697, {1, 3, 3, 7, 15, 21, 73, 247, 215, 339, 1995, 633, 2557, 5625, 28443, 16413, 34615, 260591}}, +{18451, 18, 84698, {1, 3, 5, 1, 1, 59, 21, 247, 403, 15, 1129, 2263, 3361, 10675, 30417, 31285, 69913, 124329}}, +{18452, 18, 84709, {1, 1, 5, 1, 17, 3, 103, 107, 333, 191, 345, 3219, 3845, 5953, 26403, 51115, 71623, 52293}}, +{18453, 18, 84722, {1, 1, 7, 5, 29, 13, 59, 65, 185, 91, 717, 3179, 1237, 1187, 25485, 40119, 6069, 23567}}, +{18454, 18, 84753, {1, 1, 1, 5, 17, 57, 27, 39, 269, 627, 1239, 135, 623, 483, 19229, 51939, 114387, 146431}}, +{18455, 18, 84775, {1, 3, 7, 9, 21, 41, 119, 129, 177, 149, 1527, 3639, 4489, 11635, 23007, 59863, 85199, 87795}}, +{18456, 18, 84789, {1, 3, 5, 9, 17, 25, 57, 237, 129, 855, 199, 1929, 2793, 4277, 4509, 46301, 32905, 102015}}, +{18457, 18, 84885, {1, 1, 7, 1, 15, 23, 3, 131, 475, 347, 1301, 241, 153, 2801, 29271, 1337, 107613, 154105}}, +{18458, 18, 84890, {1, 1, 1, 13, 5, 19, 43, 47, 381, 709, 637, 2565, 7503, 10027, 16873, 23511, 101785, 47987}}, +{18459, 18, 84899, {1, 1, 5, 13, 31, 15, 125, 97, 361, 819, 121, 2723, 3395, 6943, 5279, 55977, 103559, 134177}}, +{18460, 18, 84926, {1, 1, 7, 13, 17, 27, 105, 11, 327, 203, 1355, 1437, 959, 10113, 7405, 43511, 114073, 199463}}, +{18461, 18, 84946, {1, 1, 7, 5, 29, 19, 7, 151, 107, 739, 1021, 1287, 6881, 2741, 3407, 13847, 75669, 116015}}, +{18462, 18, 84958, {1, 1, 1, 5, 5, 17, 99, 67, 179, 319, 149, 4069, 7811, 3055, 24669, 21635, 68057, 72059}}, +{18463, 18, 84976, {1, 3, 1, 11, 3, 3, 103, 45, 431, 159, 1693, 1069, 3403, 6121, 12695, 16565, 29787, 199327}}, +{18464, 18, 84979, {1, 1, 5, 5, 5, 35, 97, 9, 7, 703, 1533, 847, 7693, 16041, 13127, 26829, 68801, 205219}}, +{18465, 18, 85003, {1, 1, 5, 9, 25, 59, 3, 63, 305, 71, 1429, 1567, 2377, 12611, 9267, 62381, 32373, 187735}}, +{18466, 18, 85014, {1, 1, 3, 15, 5, 31, 21, 113, 329, 573, 1975, 1615, 947, 987, 4655, 46803, 100251, 89729}}, +{18467, 18, 85017, {1, 1, 5, 9, 15, 63, 83, 5, 71, 191, 1127, 3529, 7325, 1169, 4255, 6715, 42765, 73231}}, +{18468, 18, 85024, {1, 3, 3, 9, 11, 1, 1, 23, 97, 967, 1465, 1305, 2073, 3143, 31333, 1409, 95321, 182333}}, +{18469, 18, 85029, {1, 3, 5, 13, 21, 53, 47, 105, 75, 721, 239, 3619, 2581, 2063, 21227, 25579, 23729, 20067}}, +{18470, 18, 85036, {1, 3, 5, 13, 1, 55, 55, 115, 391, 539, 869, 3347, 189, 11087, 11533, 18747, 25387, 19205}}, +{18471, 18, 85042, {1, 3, 1, 15, 25, 57, 81, 27, 379, 635, 1697, 2805, 8071, 11407, 14843, 17593, 20819, 42891}}, +{18472, 18, 85054, {1, 3, 5, 11, 1, 59, 51, 187, 11, 211, 1425, 3829, 3193, 15743, 16479, 4205, 108205, 205367}}, +{18473, 18, 85056, {1, 1, 1, 5, 7, 7, 59, 85, 63, 509, 897, 2473, 7345, 111, 4431, 55273, 114037, 232541}}, +{18474, 18, 85061, {1, 1, 5, 9, 29, 7, 25, 41, 401, 843, 115, 163, 6835, 13943, 5223, 31033, 10813, 250471}}, +{18475, 18, 85066, {1, 1, 5, 11, 27, 45, 43, 233, 195, 151, 11, 1539, 4775, 15743, 15507, 26939, 30353, 162929}}, +{18476, 18, 85073, {1, 3, 1, 7, 7, 39, 1, 87, 85, 1019, 1711, 2707, 735, 5093, 8231, 25069, 102861, 45751}}, +{18477, 18, 85096, {1, 3, 7, 1, 19, 49, 55, 249, 255, 809, 1799, 3475, 7697, 5003, 12437, 52313, 96355, 138537}}, +{18478, 18, 85101, {1, 1, 3, 5, 5, 43, 25, 95, 349, 775, 213, 3643, 1355, 7745, 9553, 53367, 123655, 195365}}, +{18479, 18, 85109, {1, 1, 1, 1, 19, 53, 39, 105, 449, 447, 147, 2293, 7817, 1503, 31985, 37193, 51039, 209083}}, +{18480, 18, 85114, {1, 3, 3, 15, 27, 15, 59, 51, 411, 543, 421, 3595, 2091, 7171, 23595, 33509, 37283, 105719}}, +{18481, 18, 85119, {1, 3, 1, 11, 5, 37, 5, 203, 171, 853, 1875, 2735, 4003, 15163, 26193, 36149, 31389, 256631}}, +{18482, 18, 85123, {1, 3, 5, 1, 21, 1, 127, 41, 185, 929, 1757, 2711, 2947, 9709, 18401, 45037, 1371, 242397}}, +{18483, 18, 85149, {1, 1, 1, 1, 13, 43, 51, 187, 487, 759, 1579, 959, 2499, 4781, 27179, 6839, 43869, 36163}}, +{18484, 18, 85185, {1, 3, 1, 15, 5, 3, 101, 25, 181, 107, 1105, 879, 5341, 12215, 21615, 9619, 129591, 108393}}, +{18485, 18, 85228, {1, 1, 7, 1, 11, 39, 55, 101, 43, 935, 1703, 1269, 6751, 13723, 7463, 10055, 112971, 72789}}, +{18486, 18, 85236, {1, 3, 5, 13, 7, 3, 81, 41, 55, 375, 663, 801, 5051, 14583, 30793, 63897, 127255, 174179}}, +{18487, 18, 85281, {1, 3, 1, 7, 19, 31, 53, 29, 313, 57, 1411, 103, 6863, 10673, 4341, 5587, 106059, 222309}}, +{18488, 18, 85282, {1, 3, 7, 3, 1, 33, 89, 199, 91, 557, 715, 2715, 4753, 5987, 30355, 13819, 57443, 112179}}, +{18489, 18, 85293, {1, 3, 5, 7, 13, 27, 55, 11, 495, 29, 1273, 1727, 3397, 2739, 22907, 46203, 16687, 47385}}, +{18490, 18, 85302, {1, 3, 5, 9, 13, 23, 23, 107, 353, 429, 359, 2667, 6137, 7213, 7977, 35903, 118507, 209243}}, +{18491, 18, 85319, {1, 3, 1, 13, 9, 7, 37, 135, 377, 753, 1819, 113, 7379, 2795, 10373, 7131, 17845, 246101}}, +{18492, 18, 85353, {1, 1, 3, 11, 11, 45, 53, 209, 49, 385, 1573, 1129, 2939, 10949, 413, 59193, 15399, 169355}}, +{18493, 18, 85354, {1, 1, 5, 15, 29, 29, 89, 139, 403, 11, 1335, 2601, 3631, 15317, 1707, 3517, 1939, 121997}}, +{18494, 18, 85356, {1, 3, 1, 7, 17, 3, 113, 97, 435, 911, 1743, 1649, 4829, 9995, 2873, 17527, 46931, 86199}}, +{18495, 18, 85389, {1, 1, 7, 1, 13, 19, 83, 51, 49, 671, 1651, 3443, 2279, 5677, 8859, 41945, 110607, 200469}}, +{18496, 18, 85418, {1, 1, 5, 13, 19, 63, 19, 73, 205, 571, 507, 1781, 1489, 5909, 10351, 64607, 67023, 49441}}, +{18497, 18, 85446, {1, 1, 3, 5, 13, 35, 107, 63, 489, 69, 1541, 3761, 17, 9317, 20323, 35401, 61451, 116115}}, +{18498, 18, 85450, {1, 3, 1, 5, 31, 35, 39, 119, 237, 533, 107, 3235, 4929, 15839, 9309, 50131, 110945, 24739}}, +{18499, 18, 85463, {1, 3, 1, 5, 3, 25, 73, 145, 391, 481, 1927, 3071, 4347, 13415, 26723, 51629, 3003, 54575}}, +{18500, 18, 85497, {1, 3, 3, 11, 29, 63, 63, 183, 11, 269, 153, 3379, 5603, 14279, 28579, 4653, 98179, 125693}}, +{18501, 18, 85534, {1, 1, 5, 15, 1, 51, 101, 69, 177, 233, 213, 2389, 4963, 3391, 13419, 41283, 25667, 187239}}, +{18502, 18, 85543, {1, 1, 1, 11, 13, 29, 95, 231, 481, 283, 1323, 521, 4689, 5311, 21949, 31851, 115845, 50433}}, +{18503, 18, 85549, {1, 3, 7, 15, 11, 31, 67, 207, 57, 439, 1561, 2167, 673, 6467, 8189, 31783, 5051, 64097}}, +{18504, 18, 85562, {1, 1, 7, 9, 17, 57, 77, 85, 119, 149, 211, 2727, 4921, 8701, 23121, 36355, 9179, 68003}}, +{18505, 18, 85587, {1, 1, 5, 15, 1, 15, 123, 205, 79, 299, 71, 3413, 7635, 5699, 32393, 10253, 86205, 216015}}, +{18506, 18, 85590, {1, 1, 5, 11, 23, 39, 105, 187, 487, 247, 333, 2423, 5643, 8111, 23549, 50153, 122859, 100361}}, +{18507, 18, 85599, {1, 1, 1, 9, 11, 33, 65, 125, 67, 743, 1331, 1563, 6333, 11375, 15873, 18137, 52765, 224889}}, +{18508, 18, 85630, {1, 3, 5, 9, 15, 17, 81, 165, 3, 609, 635, 2093, 6635, 8647, 25883, 18907, 73333, 80835}}, +{18509, 18, 85660, {1, 1, 1, 11, 1, 1, 25, 115, 205, 941, 1917, 1295, 3659, 821, 11355, 1435, 40289, 115627}}, +{18510, 18, 85669, {1, 3, 1, 9, 13, 23, 35, 105, 441, 777, 1255, 3315, 1157, 8719, 9939, 38931, 120723, 123201}}, +{18511, 18, 85693, {1, 1, 5, 3, 1, 21, 95, 143, 23, 233, 73, 1223, 5619, 8583, 21417, 61971, 74565, 116249}}, +{18512, 18, 85711, {1, 1, 7, 7, 23, 35, 21, 201, 441, 623, 419, 2375, 1189, 15681, 29469, 29437, 124525, 241899}}, +{18513, 18, 85716, {1, 1, 3, 1, 11, 7, 23, 171, 435, 467, 1811, 63, 3705, 9395, 579, 58305, 86165, 67805}}, +{18514, 18, 85773, {1, 3, 1, 3, 13, 11, 107, 243, 163, 79, 815, 1149, 2247, 12411, 30287, 56915, 26939, 85883}}, +{18515, 18, 85801, {1, 3, 3, 1, 5, 23, 105, 63, 35, 57, 1815, 3325, 3727, 3623, 7203, 8301, 28073, 190053}}, +{18516, 18, 85815, {1, 3, 1, 11, 23, 33, 121, 55, 287, 139, 491, 907, 4237, 17, 20055, 63729, 7517, 151597}}, +{18517, 18, 85839, {1, 3, 5, 5, 21, 1, 37, 19, 159, 1013, 27, 2627, 851, 14021, 31311, 5871, 77613, 125311}}, +{18518, 18, 85842, {1, 3, 3, 1, 27, 3, 51, 133, 459, 581, 383, 1351, 6149, 15611, 2631, 20797, 65955, 113665}}, +{18519, 18, 85864, {1, 3, 1, 11, 23, 61, 75, 217, 283, 405, 767, 1151, 7501, 5553, 113, 48331, 49379, 191473}}, +{18520, 18, 85867, {1, 3, 5, 5, 15, 3, 19, 27, 497, 519, 1611, 709, 405, 13329, 27861, 14981, 47197, 173979}}, +{18521, 18, 85903, {1, 1, 7, 7, 25, 19, 99, 219, 349, 713, 1421, 3427, 153, 13319, 22415, 48617, 119637, 20835}}, +{18522, 18, 85917, {1, 1, 1, 3, 13, 37, 43, 9, 317, 961, 1255, 2975, 2775, 12283, 29941, 57495, 77413, 256695}}, +{18523, 18, 85921, {1, 1, 7, 5, 29, 37, 91, 199, 397, 739, 877, 251, 847, 2951, 19497, 57285, 76891, 258711}}, +{18524, 18, 85928, {1, 1, 7, 15, 21, 55, 107, 115, 481, 845, 2015, 481, 3823, 14071, 4037, 39687, 62867, 170891}}, +{18525, 18, 85934, {1, 3, 3, 1, 17, 51, 81, 195, 189, 455, 1343, 1493, 351, 361, 20289, 37423, 7747, 245861}}, +{18526, 18, 85974, {1, 1, 5, 15, 9, 41, 71, 155, 197, 563, 1271, 2227, 2557, 6657, 13565, 8467, 96135, 5903}}, +{18527, 18, 85994, {1, 1, 5, 13, 29, 33, 115, 131, 283, 435, 1327, 1113, 4729, 14125, 23743, 40121, 119955, 237453}}, +{18528, 18, 85999, {1, 1, 1, 1, 13, 21, 109, 91, 105, 749, 1695, 1123, 4349, 9855, 31565, 64001, 7919, 83591}}, +{18529, 18, 86004, {1, 3, 1, 1, 13, 19, 89, 83, 13, 609, 731, 2655, 1123, 13415, 5645, 10003, 69381, 187621}}, +{18530, 18, 86008, {1, 3, 1, 15, 3, 37, 1, 139, 11, 917, 1191, 1381, 6035, 13851, 4565, 5427, 117703, 109965}}, +{18531, 18, 86046, {1, 1, 5, 3, 17, 37, 15, 115, 19, 65, 1807, 3879, 2709, 9819, 11457, 53705, 14821, 156079}}, +{18532, 18, 86067, {1, 1, 7, 13, 17, 29, 105, 77, 127, 457, 1287, 1533, 6879, 4001, 4083, 29523, 81175, 226409}}, +{18533, 18, 86084, {1, 3, 1, 5, 5, 59, 21, 253, 459, 733, 409, 3359, 1913, 8893, 16113, 61063, 6511, 22441}}, +{18534, 18, 86087, {1, 3, 5, 11, 7, 1, 121, 217, 63, 83, 173, 1869, 7931, 655, 21053, 20703, 116853, 131785}}, +{18535, 18, 86093, {1, 1, 7, 7, 5, 13, 41, 57, 1, 17, 649, 233, 2867, 5577, 30553, 7635, 45305, 47979}}, +{18536, 18, 86121, {1, 1, 7, 1, 1, 29, 61, 241, 107, 891, 49, 3433, 5045, 143, 22473, 29243, 82625, 184163}}, +{18537, 18, 86122, {1, 3, 1, 11, 11, 21, 119, 43, 117, 429, 1569, 637, 67, 9475, 31779, 2237, 122037, 245361}}, +{18538, 18, 86127, {1, 1, 7, 1, 31, 61, 9, 179, 467, 153, 1913, 2839, 6255, 12715, 28229, 20189, 3617, 213539}}, +{18539, 18, 86151, {1, 1, 7, 13, 25, 61, 9, 109, 331, 577, 21, 1017, 6521, 5991, 26573, 56881, 58455, 169407}}, +{18540, 18, 86166, {1, 1, 7, 9, 31, 57, 51, 41, 327, 859, 1295, 1577, 1071, 3277, 11685, 62129, 34111, 174639}}, +{18541, 18, 86179, {1, 3, 5, 1, 7, 63, 35, 165, 43, 943, 1545, 3717, 1471, 11579, 29637, 22913, 8867, 12837}}, +{18542, 18, 86188, {1, 1, 3, 1, 23, 7, 19, 151, 359, 347, 1085, 3923, 1039, 5149, 6047, 49811, 33099, 247983}}, +{18543, 18, 86193, {1, 1, 1, 5, 29, 23, 73, 189, 59, 865, 1499, 1953, 1261, 1071, 26761, 26145, 129427, 223219}}, +{18544, 18, 86206, {1, 3, 1, 9, 1, 29, 107, 173, 387, 703, 193, 1965, 6233, 10997, 32697, 31005, 15415, 94345}}, +{18545, 18, 86214, {1, 1, 3, 9, 31, 35, 7, 15, 317, 79, 2045, 1455, 1559, 15087, 287, 46665, 37225, 149017}}, +{18546, 18, 86226, {1, 1, 5, 13, 17, 27, 11, 107, 47, 803, 1487, 3049, 1171, 6237, 9157, 10037, 122349, 236877}}, +{18547, 18, 86242, {1, 1, 7, 9, 21, 35, 53, 139, 165, 73, 1405, 2941, 3553, 11945, 2493, 5743, 63749, 140535}}, +{18548, 18, 86256, {1, 3, 7, 11, 7, 57, 41, 187, 483, 499, 687, 117, 4951, 14709, 17025, 23027, 94863, 228465}}, +{18549, 18, 86259, {1, 3, 7, 7, 27, 29, 85, 117, 201, 637, 823, 1135, 7595, 3323, 23579, 40759, 25087, 995}}, +{18550, 18, 86298, {1, 3, 1, 9, 31, 53, 101, 29, 381, 101, 1939, 1973, 8191, 8155, 13881, 32309, 92907, 239525}}, +{18551, 18, 86300, {1, 1, 5, 7, 3, 35, 15, 207, 1, 47, 325, 559, 3377, 3909, 31225, 28367, 63891, 19129}}, +{18552, 18, 86307, {1, 1, 1, 5, 31, 61, 117, 211, 127, 969, 73, 1295, 7167, 14881, 9965, 28143, 28161, 131867}}, +{18553, 18, 86310, {1, 3, 7, 5, 5, 57, 37, 207, 201, 79, 1151, 3685, 2071, 1751, 5481, 51447, 103437, 154895}}, +{18554, 18, 86319, {1, 3, 5, 13, 9, 5, 57, 27, 131, 211, 1481, 2237, 4227, 6927, 18625, 49773, 55399, 15209}}, +{18555, 18, 86321, {1, 3, 1, 7, 23, 29, 3, 179, 479, 787, 463, 2041, 2581, 6281, 1657, 51433, 93807, 160047}}, +{18556, 18, 86328, {1, 1, 3, 13, 25, 35, 33, 231, 385, 479, 335, 3837, 5517, 13603, 15623, 46737, 42507, 208355}}, +{18557, 18, 86356, {1, 1, 7, 9, 3, 25, 51, 125, 213, 175, 1575, 1755, 1843, 14361, 13155, 22445, 55435, 62793}}, +{18558, 18, 86360, {1, 1, 1, 7, 25, 3, 21, 7, 309, 547, 19, 471, 2679, 16185, 12149, 41437, 47625, 75113}}, +{18559, 18, 86375, {1, 1, 5, 1, 9, 23, 81, 95, 123, 143, 1111, 9, 3501, 11897, 26499, 10009, 48073, 182529}}, +{18560, 18, 86399, {1, 3, 1, 1, 1, 17, 15, 157, 129, 1005, 543, 3917, 3493, 6537, 26997, 33217, 7987, 251635}}, +{18561, 18, 86400, {1, 3, 1, 13, 11, 41, 9, 19, 173, 751, 491, 1645, 5205, 9907, 28503, 61137, 79727, 200851}}, +{18562, 18, 86403, {1, 1, 1, 1, 3, 5, 105, 203, 97, 903, 1507, 2719, 5275, 1023, 29595, 42507, 39893, 151495}}, +{18563, 18, 86430, {1, 1, 1, 11, 31, 53, 51, 65, 145, 671, 489, 109, 803, 8541, 4439, 33893, 98495, 114955}}, +{18564, 18, 86446, {1, 1, 7, 11, 27, 63, 117, 235, 497, 841, 1461, 3757, 1077, 6997, 9611, 47453, 20197, 176939}}, +{18565, 18, 86460, {1, 3, 3, 3, 31, 17, 85, 145, 377, 225, 1033, 3017, 735, 5811, 25503, 25457, 124623, 51713}}, +{18566, 18, 86465, {1, 3, 3, 13, 19, 33, 127, 57, 321, 687, 1651, 3321, 5051, 8511, 19609, 49927, 30499, 102613}}, +{18567, 18, 86486, {1, 1, 5, 13, 7, 17, 17, 147, 381, 137, 1007, 2607, 1071, 8921, 13955, 47223, 130359, 246265}}, +{18568, 18, 86502, {1, 3, 7, 9, 13, 35, 71, 129, 57, 233, 357, 3181, 2841, 3707, 24947, 57777, 115133, 6049}}, +{18569, 18, 86563, {1, 3, 7, 15, 23, 1, 107, 225, 57, 633, 1515, 1631, 4303, 4221, 8281, 59139, 45023, 70219}}, +{18570, 18, 86595, {1, 1, 7, 5, 9, 9, 93, 131, 41, 245, 1261, 459, 4811, 10987, 10421, 63839, 34067, 196353}}, +{18571, 18, 86635, {1, 3, 3, 13, 17, 3, 87, 255, 167, 701, 821, 1965, 1415, 4101, 549, 6347, 92421, 47193}}, +{18572, 18, 86649, {1, 3, 7, 11, 23, 17, 51, 81, 71, 345, 971, 917, 1057, 3627, 20361, 13491, 12855, 234215}}, +{18573, 18, 86661, {1, 1, 1, 13, 17, 9, 25, 155, 463, 851, 243, 3887, 2445, 7459, 19915, 21813, 86969, 85891}}, +{18574, 18, 86674, {1, 1, 7, 1, 9, 15, 57, 201, 193, 169, 351, 1355, 1089, 4705, 15153, 51359, 49907, 66007}}, +{18575, 18, 86689, {1, 3, 1, 9, 19, 13, 69, 83, 39, 667, 1549, 1503, 7167, 8657, 17269, 59357, 80091, 194007}}, +{18576, 18, 86721, {1, 3, 5, 5, 17, 37, 125, 117, 355, 685, 637, 3159, 4783, 3159, 14953, 12731, 126759, 89149}}, +{18577, 18, 86734, {1, 3, 3, 9, 15, 53, 7, 41, 473, 857, 511, 3741, 6837, 6167, 26351, 9885, 104819, 48221}}, +{18578, 18, 86741, {1, 3, 7, 15, 21, 21, 21, 101, 465, 223, 13, 1773, 2763, 8621, 23591, 12633, 82143, 134899}}, +{18579, 18, 86742, {1, 3, 1, 1, 29, 25, 67, 19, 349, 503, 655, 3567, 97, 6967, 18253, 42755, 33041, 250279}}, +{18580, 18, 86784, {1, 1, 7, 9, 17, 1, 7, 165, 255, 613, 579, 127, 7567, 13181, 6255, 1785, 21527, 113815}}, +{18581, 18, 86799, {1, 3, 1, 5, 27, 33, 61, 235, 37, 135, 1515, 3611, 1825, 9627, 18805, 37065, 126107, 23223}}, +{18582, 18, 86808, {1, 3, 7, 5, 23, 11, 29, 121, 129, 311, 429, 1653, 5789, 7693, 18775, 18189, 97203, 213501}}, +{18583, 18, 86837, {1, 3, 7, 3, 29, 61, 87, 197, 43, 509, 5, 3275, 345, 7885, 4381, 22059, 1395, 40125}}, +{18584, 18, 86869, {1, 3, 5, 1, 1, 59, 69, 125, 297, 983, 641, 2665, 7045, 8591, 16581, 58657, 119189, 256579}}, +{18585, 18, 86900, {1, 3, 7, 7, 7, 53, 65, 181, 149, 987, 1377, 4045, 971, 9827, 17727, 59357, 90975, 27395}}, +{18586, 18, 86949, {1, 1, 7, 7, 1, 51, 109, 165, 361, 515, 739, 3709, 6431, 113, 21401, 41743, 53071, 134205}}, +{18587, 18, 86993, {1, 3, 1, 13, 5, 51, 107, 99, 135, 163, 1705, 1683, 6221, 1377, 2211, 13379, 22801, 208753}}, +{18588, 18, 86999, {1, 3, 5, 11, 11, 39, 49, 45, 503, 549, 821, 4077, 885, 13721, 29673, 28435, 6235, 212071}}, +{18589, 18, 87030, {1, 3, 3, 11, 15, 25, 17, 67, 125, 7, 1163, 973, 5325, 12707, 12763, 9481, 21363, 195897}}, +{18590, 18, 87041, {1, 1, 7, 9, 17, 19, 15, 13, 107, 919, 461, 343, 1101, 8195, 29293, 61643, 64995, 230469}}, +{18591, 18, 87044, {1, 3, 5, 1, 9, 25, 39, 65, 27, 461, 669, 2841, 7973, 11565, 9531, 52235, 6741, 215513}}, +{18592, 18, 87084, {1, 3, 3, 1, 7, 57, 101, 199, 37, 79, 2033, 1723, 6877, 2733, 26445, 62625, 21671, 238431}}, +{18593, 18, 87116, {1, 1, 1, 9, 27, 31, 125, 199, 331, 611, 523, 407, 747, 9499, 4685, 17805, 43717, 253233}}, +{18594, 18, 87138, {1, 1, 3, 7, 29, 7, 7, 153, 339, 337, 701, 2639, 6311, 6375, 26023, 27693, 59733, 260405}}, +{18595, 18, 87162, {1, 1, 7, 7, 15, 27, 23, 49, 181, 433, 485, 2915, 6021, 9095, 15951, 47257, 104513, 208089}}, +{18596, 18, 87188, {1, 1, 5, 7, 19, 19, 125, 153, 109, 829, 1967, 2567, 7157, 6001, 10151, 55323, 92405, 82549}}, +{18597, 18, 87211, {1, 1, 3, 11, 13, 17, 85, 215, 265, 875, 311, 3773, 8059, 2115, 19259, 63999, 77411, 220267}}, +{18598, 18, 87234, {1, 3, 1, 15, 15, 35, 81, 213, 411, 435, 105, 1487, 1991, 14539, 8175, 2115, 47259, 45893}}, +{18599, 18, 87245, {1, 3, 1, 11, 9, 47, 27, 115, 449, 521, 321, 2463, 1355, 5785, 11269, 45337, 29049, 91675}}, +{18600, 18, 87246, {1, 3, 1, 13, 21, 53, 49, 83, 373, 519, 757, 1241, 577, 14443, 449, 44773, 116673, 155209}}, +{18601, 18, 87260, {1, 3, 3, 1, 29, 63, 97, 145, 371, 585, 1809, 3997, 249, 283, 28369, 27325, 61673, 12637}}, +{18602, 18, 87270, {1, 3, 5, 9, 11, 55, 77, 89, 285, 297, 861, 2791, 3245, 15093, 32489, 40477, 97603, 35347}}, +{18603, 18, 87284, {1, 1, 1, 3, 27, 33, 115, 209, 169, 893, 393, 1457, 6069, 12511, 20423, 11385, 86711, 197555}}, +{18604, 18, 87293, {1, 3, 5, 15, 21, 25, 87, 159, 477, 177, 991, 495, 29, 9347, 9721, 4071, 30145, 214155}}, +{18605, 18, 87296, {1, 1, 5, 3, 11, 45, 53, 251, 177, 651, 549, 3377, 3247, 8761, 20339, 27743, 103387, 159591}}, +{18606, 18, 87299, {1, 3, 7, 11, 17, 27, 43, 179, 507, 553, 261, 3939, 6133, 6347, 12987, 46071, 42551, 99225}}, +{18607, 18, 87305, {1, 3, 3, 11, 3, 33, 85, 51, 277, 117, 1295, 2435, 1467, 13787, 2209, 52673, 53515, 157625}}, +{18608, 18, 87308, {1, 3, 3, 3, 9, 15, 121, 229, 227, 795, 541, 3727, 4333, 2251, 27833, 43567, 82505, 230427}}, +{18609, 18, 87313, {1, 1, 5, 13, 29, 19, 119, 63, 207, 945, 761, 2601, 1391, 8939, 11683, 52433, 63301, 82501}}, +{18610, 18, 87323, {1, 3, 7, 1, 3, 57, 127, 115, 209, 31, 1631, 347, 3937, 4015, 13313, 49507, 15103, 237071}}, +{18611, 18, 87332, {1, 3, 1, 13, 3, 25, 85, 151, 115, 385, 303, 2453, 2417, 8051, 1447, 59517, 3711, 160345}}, +{18612, 18, 87361, {1, 3, 1, 13, 1, 23, 49, 75, 117, 295, 1737, 2091, 6229, 3157, 32737, 13751, 101667, 96261}}, +{18613, 18, 87376, {1, 3, 3, 5, 27, 19, 103, 201, 65, 757, 1847, 239, 2185, 15139, 8883, 17737, 9207, 147663}}, +{18614, 18, 87392, {1, 3, 1, 9, 3, 39, 51, 1, 419, 929, 1049, 2891, 2585, 2759, 27587, 55711, 15461, 46851}}, +{18615, 18, 87419, {1, 1, 5, 3, 23, 23, 23, 101, 249, 997, 1889, 2293, 5693, 939, 29619, 2775, 49293, 168895}}, +{18616, 18, 87432, {1, 3, 1, 15, 9, 63, 17, 97, 385, 517, 1737, 713, 157, 2597, 20889, 35209, 47525, 14389}}, +{18617, 18, 87435, {1, 3, 1, 1, 7, 27, 9, 147, 349, 493, 341, 2699, 7743, 4283, 24691, 11881, 78619, 153899}}, +{18618, 18, 87445, {1, 3, 1, 9, 15, 25, 103, 177, 485, 355, 1319, 767, 6675, 3425, 7187, 53767, 92023, 151523}}, +{18619, 18, 87466, {1, 1, 3, 3, 15, 35, 25, 177, 295, 5, 661, 3651, 2597, 16229, 1343, 54941, 72047, 169155}}, +{18620, 18, 87491, {1, 1, 1, 1, 19, 29, 63, 229, 79, 551, 1401, 2851, 6935, 12485, 9243, 21671, 54209, 105347}}, +{18621, 18, 87503, {1, 1, 3, 1, 13, 33, 53, 125, 261, 623, 65, 3863, 1899, 2453, 16483, 48655, 50771, 248555}}, +{18622, 18, 87558, {1, 3, 5, 7, 25, 15, 107, 149, 485, 247, 1977, 3125, 4663, 4925, 15749, 39429, 52315, 30545}}, +{18623, 18, 87570, {1, 1, 7, 13, 23, 13, 127, 111, 9, 17, 1887, 1341, 3017, 14333, 6003, 35113, 14935, 17593}}, +{18624, 18, 87581, {1, 1, 1, 15, 23, 17, 111, 43, 71, 549, 1369, 1711, 3903, 13605, 14573, 18973, 28157, 128421}}, +{18625, 18, 87603, {1, 1, 7, 15, 27, 23, 5, 99, 87, 865, 1979, 3287, 3977, 14989, 17439, 14593, 92711, 211259}}, +{18626, 18, 87615, {1, 3, 3, 15, 5, 19, 3, 231, 127, 863, 1537, 369, 7915, 10281, 13925, 12931, 3905, 178609}}, +{18627, 18, 87623, {1, 1, 3, 15, 13, 5, 17, 217, 383, 251, 1701, 3379, 8157, 4991, 8563, 24611, 66081, 205775}}, +{18628, 18, 87635, {1, 3, 7, 11, 9, 25, 73, 131, 217, 601, 843, 807, 4509, 16209, 29581, 50869, 56595, 14283}}, +{18629, 18, 87647, {1, 3, 5, 9, 5, 59, 57, 153, 359, 775, 859, 1897, 6415, 7389, 10851, 64247, 21627, 145017}}, +{18630, 18, 87651, {1, 3, 7, 1, 27, 11, 117, 179, 175, 343, 687, 2775, 3655, 11655, 2641, 355, 83447, 237799}}, +{18631, 18, 87657, {1, 1, 7, 11, 17, 59, 91, 21, 403, 797, 1839, 525, 3279, 6575, 30083, 12503, 83057, 109465}}, +{18632, 18, 87665, {1, 3, 7, 1, 25, 27, 41, 223, 169, 679, 699, 3287, 6305, 6459, 23145, 45519, 127487, 183563}}, +{18633, 18, 87694, {1, 3, 3, 1, 9, 45, 105, 57, 185, 97, 899, 3113, 7081, 7057, 14559, 53537, 105623, 155399}}, +{18634, 18, 87701, {1, 3, 7, 5, 17, 35, 89, 13, 87, 587, 451, 4079, 1005, 4311, 15861, 49977, 59653, 12107}}, +{18635, 18, 87705, {1, 3, 7, 3, 19, 55, 43, 77, 317, 369, 71, 937, 1905, 5005, 17715, 4005, 55445, 25159}}, +{18636, 18, 87722, {1, 1, 7, 15, 15, 51, 87, 37, 59, 755, 763, 455, 711, 13399, 30999, 61269, 66037, 202793}}, +{18637, 18, 87739, {1, 1, 3, 5, 11, 57, 111, 135, 325, 553, 273, 1533, 3431, 6427, 24771, 42143, 56711, 220873}}, +{18638, 18, 87750, {1, 1, 1, 13, 3, 49, 53, 81, 491, 177, 1543, 1847, 7907, 7817, 15417, 9897, 101597, 160195}}, +{18639, 18, 87790, {1, 3, 1, 15, 19, 15, 91, 123, 365, 113, 129, 3371, 5789, 13553, 6887, 62317, 84269, 44777}}, +{18640, 18, 87795, {1, 3, 7, 13, 15, 63, 43, 175, 449, 437, 597, 1371, 5101, 13797, 28025, 15809, 7645, 21169}}, +{18641, 18, 87797, {1, 1, 7, 13, 23, 63, 105, 69, 219, 153, 1539, 1537, 6899, 9363, 27459, 34551, 62563, 236679}}, +{18642, 18, 87816, {1, 3, 7, 3, 9, 33, 3, 101, 135, 571, 127, 3881, 7017, 13403, 13817, 55167, 8645, 471}}, +{18643, 18, 87884, {1, 3, 3, 13, 7, 53, 29, 89, 473, 135, 639, 3137, 93, 965, 4867, 58265, 114963, 175295}}, +{18644, 18, 87917, {1, 3, 1, 1, 9, 11, 45, 123, 129, 441, 1601, 39, 4657, 3701, 29581, 16045, 57173, 75195}}, +{18645, 18, 87930, {1, 1, 3, 11, 7, 21, 9, 73, 25, 891, 1625, 3019, 223, 14351, 30621, 3075, 79051, 178127}}, +{18646, 18, 87942, {1, 1, 7, 3, 7, 43, 69, 209, 9, 857, 1539, 2629, 5277, 14583, 16443, 28275, 54143, 206479}}, +{18647, 18, 87953, {1, 3, 5, 9, 27, 15, 109, 237, 323, 103, 837, 597, 3609, 6249, 795, 37191, 20997, 142079}}, +{18648, 18, 87954, {1, 1, 3, 1, 27, 33, 123, 191, 55, 531, 1707, 2633, 6717, 9645, 21377, 51593, 9017, 178185}}, +{18649, 18, 87984, {1, 1, 5, 15, 3, 3, 67, 225, 229, 161, 2039, 1499, 873, 8803, 29901, 58809, 35625, 207797}}, +{18650, 18, 87989, {1, 3, 3, 7, 3, 47, 99, 237, 221, 31, 1043, 1081, 837, 1617, 17323, 43879, 55615, 238537}}, +{18651, 18, 88008, {1, 3, 7, 1, 17, 37, 45, 211, 245, 657, 221, 1067, 1683, 16127, 585, 9067, 25935, 162469}}, +{18652, 18, 88016, {1, 1, 5, 9, 23, 27, 5, 237, 137, 227, 129, 279, 4171, 5963, 349, 12387, 40701, 177255}}, +{18653, 18, 88038, {1, 3, 7, 15, 17, 11, 95, 69, 49, 901, 509, 2541, 3001, 15501, 24235, 39863, 95381, 260793}}, +{18654, 18, 88042, {1, 3, 3, 3, 29, 3, 125, 3, 423, 609, 1401, 2337, 1093, 11419, 29735, 9033, 115977, 210201}}, +{18655, 18, 88044, {1, 1, 1, 9, 11, 21, 71, 33, 399, 1005, 1691, 1501, 2585, 7361, 21527, 7535, 87091, 192319}}, +{18656, 18, 88049, {1, 1, 1, 11, 5, 49, 65, 115, 239, 255, 381, 2803, 3447, 5775, 18243, 16545, 108901, 81355}}, +{18657, 18, 88083, {1, 3, 7, 15, 31, 5, 81, 213, 281, 903, 189, 1807, 3551, 4423, 3591, 27449, 71659, 255357}}, +{18658, 18, 88119, {1, 1, 1, 15, 11, 1, 25, 213, 259, 215, 435, 3531, 4889, 9509, 21391, 21589, 89871, 85895}}, +{18659, 18, 88134, {1, 3, 3, 9, 29, 29, 37, 127, 419, 631, 1793, 1547, 1463, 13265, 17233, 24627, 3687, 174179}}, +{18660, 18, 88138, {1, 1, 1, 7, 27, 61, 105, 135, 439, 161, 721, 2779, 6731, 14575, 4565, 25869, 38981, 191683}}, +{18661, 18, 88143, {1, 1, 7, 13, 21, 41, 43, 5, 313, 407, 505, 231, 5023, 8971, 15825, 38461, 38797, 136027}}, +{18662, 18, 88191, {1, 3, 7, 3, 7, 59, 11, 255, 327, 843, 1179, 889, 4505, 10891, 7901, 14485, 72297, 255985}}, +{18663, 18, 88216, {1, 1, 5, 3, 9, 37, 89, 59, 413, 51, 515, 4009, 6501, 8443, 14381, 60917, 43567, 234431}}, +{18664, 18, 88231, {1, 1, 3, 9, 9, 57, 65, 205, 367, 935, 1975, 2561, 225, 12529, 4721, 56659, 87901, 219641}}, +{18665, 18, 88232, {1, 3, 7, 15, 23, 55, 61, 15, 89, 267, 1245, 2703, 7471, 10499, 19, 19357, 72413, 199289}}, +{18666, 18, 88297, {1, 1, 1, 13, 1, 29, 65, 11, 353, 509, 1831, 2181, 5265, 14761, 913, 17109, 113613, 37143}}, +{18667, 18, 88300, {1, 1, 7, 5, 17, 37, 97, 249, 169, 223, 475, 2091, 3101, 8541, 325, 42359, 16121, 151739}}, +{18668, 18, 88308, {1, 1, 3, 13, 1, 45, 13, 209, 395, 215, 15, 2287, 5365, 9887, 29799, 51957, 97483, 109467}}, +{18669, 18, 88317, {1, 3, 7, 1, 9, 35, 91, 51, 387, 833, 783, 2483, 3743, 6155, 5881, 3047, 86191, 151867}}, +{18670, 18, 88344, {1, 1, 1, 7, 15, 25, 13, 3, 119, 333, 761, 3459, 2555, 15737, 12945, 15225, 45487, 78235}}, +{18671, 18, 88350, {1, 3, 1, 3, 13, 55, 111, 45, 121, 593, 633, 2705, 1653, 13275, 13533, 3559, 100573, 124363}}, +{18672, 18, 88371, {1, 1, 3, 1, 29, 49, 65, 69, 133, 667, 653, 2559, 6335, 8019, 9251, 5415, 90125, 197413}}, +{18673, 18, 88469, {1, 1, 1, 7, 23, 53, 99, 149, 39, 453, 129, 185, 1143, 12799, 23339, 41293, 94023, 105581}}, +{18674, 18, 88483, {1, 3, 3, 13, 5, 3, 5, 215, 425, 455, 421, 3815, 5983, 3851, 19569, 17363, 6411, 60037}}, +{18675, 18, 88485, {1, 3, 7, 1, 29, 7, 63, 207, 299, 17, 1915, 2041, 8129, 661, 32481, 55475, 72027, 239683}}, +{18676, 18, 88518, {1, 1, 5, 13, 29, 11, 39, 177, 177, 479, 1291, 3931, 4353, 327, 7827, 9529, 6967, 6469}}, +{18677, 18, 88586, {1, 1, 5, 3, 25, 39, 121, 15, 7, 715, 583, 3997, 1373, 7747, 1777, 7269, 105333, 201511}}, +{18678, 18, 88605, {1, 3, 3, 9, 11, 7, 81, 109, 129, 359, 1281, 1163, 4895, 10303, 17801, 43461, 120271, 173027}}, +{18679, 18, 88621, {1, 3, 5, 1, 23, 59, 123, 75, 505, 925, 637, 1713, 995, 14031, 13711, 62569, 90553, 242345}}, +{18680, 18, 88651, {1, 3, 3, 15, 19, 11, 39, 203, 229, 619, 735, 1367, 4963, 5263, 30229, 17847, 9623, 3277}}, +{18681, 18, 88656, {1, 1, 7, 13, 5, 27, 23, 223, 377, 335, 1821, 2481, 4111, 10373, 18423, 7237, 75225, 223433}}, +{18682, 18, 88665, {1, 3, 7, 1, 21, 19, 71, 107, 19, 703, 945, 3831, 1099, 6267, 17489, 27665, 8861, 127499}}, +{18683, 18, 88668, {1, 3, 5, 1, 19, 49, 117, 181, 245, 939, 1279, 3127, 4427, 3061, 23399, 64805, 43077, 100789}}, +{18684, 18, 88712, {1, 1, 3, 3, 31, 55, 53, 205, 97, 645, 215, 2617, 7419, 7159, 27373, 62341, 58121, 248677}}, +{18685, 18, 88717, {1, 1, 7, 5, 15, 41, 99, 75, 201, 187, 197, 3773, 3097, 6803, 5307, 31375, 26743, 142723}}, +{18686, 18, 88751, {1, 3, 5, 11, 23, 61, 127, 15, 89, 245, 1345, 1305, 5937, 15917, 23867, 50319, 91921, 248663}}, +{18687, 18, 88754, {1, 1, 3, 9, 27, 7, 1, 75, 181, 155, 1947, 577, 2975, 8855, 5295, 43403, 112497, 100679}}, +{18688, 18, 88756, {1, 1, 1, 11, 29, 61, 35, 241, 207, 73, 1747, 1797, 3665, 14275, 25359, 28685, 79367, 81819}}, +{18689, 18, 88785, {1, 3, 5, 9, 11, 1, 37, 79, 431, 157, 1979, 159, 3087, 1731, 26141, 31411, 56457, 94293}}, +{18690, 18, 88801, {1, 3, 7, 1, 17, 35, 107, 243, 279, 79, 227, 1275, 761, 11485, 22181, 16415, 68801, 4577}}, +{18691, 18, 88807, {1, 3, 1, 9, 21, 43, 115, 131, 129, 123, 1677, 1875, 7355, 15927, 845, 24101, 48985, 39703}}, +{18692, 18, 88826, {1, 1, 7, 3, 17, 25, 105, 189, 317, 109, 1629, 3103, 615, 1047, 621, 62743, 43631, 9811}}, +{18693, 18, 88848, {1, 3, 1, 3, 3, 45, 49, 73, 383, 761, 685, 3211, 3855, 16307, 30469, 1393, 52535, 165503}}, +{18694, 18, 88854, {1, 3, 5, 15, 1, 41, 89, 105, 213, 33, 1477, 711, 4823, 503, 12533, 56781, 42825, 223399}}, +{18695, 18, 88864, {1, 3, 5, 9, 17, 45, 63, 113, 359, 927, 1467, 2811, 4275, 5193, 6023, 32689, 87747, 234697}}, +{18696, 18, 88879, {1, 1, 3, 1, 21, 49, 73, 157, 97, 915, 1689, 3289, 7515, 10759, 32253, 63175, 66175, 125813}}, +{18697, 18, 88939, {1, 1, 1, 5, 19, 1, 127, 229, 453, 617, 511, 1515, 3815, 3125, 26851, 31635, 35389, 237483}}, +{18698, 18, 88947, {1, 1, 1, 13, 27, 61, 75, 23, 289, 133, 975, 3217, 3777, 12095, 15235, 33845, 125503, 88417}}, +{18699, 18, 88987, {1, 1, 3, 13, 27, 49, 29, 115, 221, 995, 1305, 2717, 2243, 13391, 20841, 863, 63195, 46829}}, +{18700, 18, 88990, {1, 3, 1, 11, 31, 49, 43, 163, 503, 123, 657, 1285, 3695, 8401, 17087, 48289, 3947, 41495}}, +{18701, 18, 88996, {1, 3, 7, 9, 21, 17, 125, 75, 395, 979, 781, 2501, 6511, 4619, 28943, 18295, 87547, 196289}}, +{18702, 18, 89008, {1, 3, 3, 5, 3, 39, 107, 199, 7, 331, 77, 511, 5787, 3155, 29605, 44633, 51041, 89141}}, +{18703, 18, 89011, {1, 1, 3, 7, 11, 37, 79, 69, 181, 623, 299, 2321, 4371, 7449, 3137, 25753, 116673, 30441}}, +{18704, 18, 89043, {1, 1, 5, 9, 11, 13, 49, 207, 179, 671, 1469, 1005, 6887, 12203, 9365, 62455, 36283, 42053}}, +{18705, 18, 89045, {1, 3, 1, 1, 7, 31, 115, 79, 435, 101, 1525, 3695, 3229, 11401, 23959, 62055, 37725, 219753}}, +{18706, 18, 89050, {1, 3, 3, 7, 25, 49, 123, 161, 275, 291, 255, 2247, 4271, 10771, 2449, 26343, 61169, 30691}}, +{18707, 18, 89097, {1, 1, 7, 1, 15, 3, 11, 15, 125, 1021, 1817, 417, 2721, 13985, 19039, 451, 32559, 199407}}, +{18708, 18, 89100, {1, 1, 5, 15, 11, 25, 23, 101, 427, 431, 1353, 1957, 3529, 513, 11937, 14469, 89539, 242015}}, +{18709, 18, 89106, {1, 1, 5, 13, 27, 5, 107, 29, 469, 3, 1427, 1949, 7007, 16339, 3375, 63545, 100739, 229487}}, +{18710, 18, 89134, {1, 3, 5, 13, 15, 17, 59, 213, 417, 557, 11, 811, 5041, 4133, 25735, 46807, 65669, 148081}}, +{18711, 18, 89178, {1, 1, 5, 13, 9, 47, 35, 173, 277, 805, 1249, 3707, 1079, 2833, 29383, 58995, 21005, 181567}}, +{18712, 18, 89189, {1, 3, 5, 1, 5, 25, 125, 45, 157, 291, 1329, 3317, 2311, 9919, 31001, 65127, 19451, 117621}}, +{18713, 18, 89202, {1, 1, 5, 9, 31, 21, 9, 193, 23, 879, 699, 1135, 7151, 8635, 20711, 45207, 67047, 4397}}, +{18714, 18, 89211, {1, 3, 1, 11, 11, 49, 119, 129, 409, 491, 463, 833, 3661, 607, 25961, 6061, 12747, 160337}}, +{18715, 18, 89224, {1, 3, 1, 15, 31, 35, 93, 95, 239, 695, 1113, 2371, 2625, 10371, 10781, 46209, 67051, 109923}}, +{18716, 18, 89241, {1, 3, 5, 9, 5, 61, 25, 19, 99, 159, 55, 43, 3679, 1023, 17951, 44841, 101653, 195955}}, +{18717, 18, 89251, {1, 1, 3, 11, 19, 45, 99, 47, 407, 115, 353, 3537, 7147, 5837, 27309, 44539, 30227, 93183}}, +{18718, 18, 89254, {1, 1, 7, 15, 13, 59, 83, 215, 79, 865, 269, 2999, 2415, 10631, 23655, 51583, 46105, 43965}}, +{18719, 18, 89258, {1, 3, 7, 5, 17, 1, 7, 119, 501, 25, 1097, 3639, 7017, 381, 4793, 37263, 60431, 77323}}, +{18720, 18, 89295, {1, 3, 7, 13, 1, 37, 99, 103, 459, 853, 5, 3093, 6167, 14497, 7003, 36979, 71919, 64823}}, +{18721, 18, 89328, {1, 3, 7, 5, 23, 7, 37, 255, 297, 115, 113, 579, 4561, 5245, 11173, 28645, 23989, 240777}}, +{18722, 18, 89357, {1, 3, 5, 9, 29, 47, 43, 145, 481, 251, 737, 2531, 2425, 529, 3953, 13229, 35933, 187855}}, +{18723, 18, 89403, {1, 3, 1, 15, 15, 15, 29, 73, 405, 91, 1399, 3599, 1517, 11075, 11265, 22817, 26619, 1183}}, +{18724, 18, 89420, {1, 1, 5, 15, 21, 47, 93, 33, 47, 527, 877, 3453, 3867, 4007, 32503, 11789, 68333, 187419}}, +{18725, 18, 89426, {1, 1, 3, 13, 5, 3, 99, 21, 17, 779, 541, 3919, 1339, 13507, 28965, 61145, 50421, 192319}}, +{18726, 18, 89465, {1, 1, 3, 7, 31, 63, 17, 9, 331, 681, 515, 1067, 351, 2471, 31271, 36015, 72911, 32383}}, +{18727, 18, 89471, {1, 1, 3, 7, 1, 55, 97, 211, 409, 499, 1207, 2405, 2291, 1373, 1263, 65303, 38655, 159965}}, +{18728, 18, 89475, {1, 1, 1, 5, 23, 11, 21, 23, 35, 19, 1699, 2325, 6117, 14971, 32327, 31369, 28061, 112819}}, +{18729, 18, 89547, {1, 3, 3, 13, 29, 63, 19, 201, 173, 395, 1437, 369, 7045, 14347, 5393, 11311, 28415, 161019}}, +{18730, 18, 89549, {1, 3, 1, 5, 31, 15, 101, 13, 97, 865, 1063, 2129, 811, 3337, 7585, 54803, 122099, 149531}}, +{18731, 18, 89558, {1, 3, 3, 13, 19, 5, 47, 13, 497, 683, 1197, 3509, 4375, 3353, 31847, 283, 95281, 7975}}, +{18732, 18, 89564, {1, 1, 7, 5, 25, 19, 59, 105, 167, 775, 581, 2679, 3003, 9345, 20209, 31487, 25357, 226341}}, +{18733, 18, 89611, {1, 1, 5, 5, 31, 61, 13, 77, 189, 141, 1157, 609, 7245, 15303, 32743, 50229, 67391, 173977}}, +{18734, 18, 89616, {1, 3, 7, 13, 17, 11, 49, 135, 475, 303, 1373, 1437, 6119, 1729, 21347, 31643, 86523, 41223}}, +{18735, 18, 89626, {1, 3, 7, 13, 3, 19, 103, 53, 209, 281, 77, 2009, 7911, 8549, 17655, 33165, 9685, 2289}}, +{18736, 18, 89650, {1, 3, 3, 9, 5, 31, 71, 113, 93, 255, 165, 3465, 6769, 13047, 20701, 33669, 22537, 175209}}, +{18737, 18, 89691, {1, 3, 1, 1, 15, 59, 89, 227, 275, 451, 869, 1865, 1327, 3895, 5459, 47997, 34287, 95343}}, +{18738, 18, 89718, {1, 3, 7, 13, 27, 1, 25, 99, 475, 421, 693, 1955, 4017, 16037, 29915, 52415, 99913, 59151}}, +{18739, 18, 89764, {1, 3, 5, 1, 9, 61, 107, 149, 465, 1003, 891, 2387, 407, 5851, 6287, 56401, 109693, 72035}}, +{18740, 18, 89776, {1, 1, 1, 11, 25, 53, 101, 125, 35, 949, 1019, 3087, 2785, 11271, 25623, 57313, 115683, 101923}}, +{18741, 18, 89785, {1, 3, 5, 13, 19, 13, 97, 147, 149, 483, 1727, 1771, 2089, 8661, 28223, 30437, 42565, 13261}}, +{18742, 18, 89813, {1, 3, 3, 11, 17, 9, 13, 13, 419, 531, 1617, 1459, 411, 9953, 25581, 30305, 120721, 81113}}, +{18743, 18, 89817, {1, 3, 3, 9, 9, 9, 83, 35, 367, 981, 911, 1915, 4937, 16187, 20441, 30433, 107605, 119939}}, +{18744, 18, 89861, {1, 3, 7, 11, 11, 47, 31, 7, 141, 905, 1753, 3069, 47, 7347, 10517, 19515, 126827, 68669}}, +{18745, 18, 89876, {1, 3, 3, 9, 17, 33, 121, 159, 265, 389, 261, 2479, 7705, 6453, 31963, 14123, 100201, 77235}}, +{18746, 18, 89889, {1, 1, 5, 5, 13, 63, 3, 1, 107, 383, 633, 2183, 1437, 14525, 29315, 3277, 2153, 204061}}, +{18747, 18, 89904, {1, 3, 3, 3, 17, 9, 47, 173, 17, 413, 451, 1127, 1807, 5265, 32543, 8215, 123601, 138777}}, +{18748, 18, 89939, {1, 3, 1, 1, 7, 57, 93, 29, 101, 955, 1445, 4017, 2853, 3551, 22173, 40355, 34687, 133063}}, +{18749, 18, 89948, {1, 1, 5, 11, 19, 15, 95, 177, 49, 971, 15, 2293, 2627, 7841, 2103, 64331, 60481, 182431}}, +{18750, 18, 89952, {1, 3, 1, 15, 25, 57, 47, 85, 485, 11, 1669, 995, 6939, 4125, 19513, 62397, 62645, 82213}}, +{18751, 18, 89964, {1, 1, 1, 11, 1, 37, 101, 157, 17, 261, 997, 817, 2195, 4141, 10505, 60685, 98165, 167391}}, +{18752, 18, 89969, {1, 1, 1, 1, 31, 9, 103, 97, 161, 13, 1043, 307, 7321, 671, 12417, 58661, 23031, 207833}}, +{18753, 18, 89979, {1, 1, 7, 9, 15, 49, 69, 117, 93, 95, 507, 393, 6169, 2111, 27179, 47217, 93699, 67315}}, +{18754, 18, 90009, {1, 3, 7, 1, 23, 41, 115, 125, 343, 615, 397, 1199, 3041, 11019, 1071, 51069, 75757, 245765}}, +{18755, 18, 90022, {1, 1, 1, 13, 7, 15, 111, 239, 29, 419, 203, 2395, 3995, 13, 32341, 17471, 53259, 3317}}, +{18756, 18, 90031, {1, 3, 1, 11, 29, 27, 15, 217, 17, 163, 1847, 3549, 4911, 4539, 4927, 57157, 44893, 41669}}, +{18757, 18, 90043, {1, 1, 7, 7, 25, 15, 101, 149, 433, 717, 1827, 3837, 4565, 14521, 28857, 27775, 117429, 136131}}, +{18758, 18, 90045, {1, 1, 1, 3, 25, 35, 85, 3, 381, 253, 375, 3967, 3101, 12727, 31739, 48885, 35821, 92229}}, +{18759, 18, 90068, {1, 3, 3, 7, 29, 5, 51, 157, 67, 467, 1957, 3453, 1353, 4839, 25379, 42731, 109385, 52479}}, +{18760, 18, 90071, {1, 3, 7, 13, 3, 55, 61, 73, 257, 313, 89, 2557, 7467, 2223, 2951, 49265, 126605, 72007}}, +{18761, 18, 90082, {1, 3, 7, 5, 5, 11, 83, 3, 347, 63, 479, 529, 5059, 7029, 20523, 58387, 44891, 168921}}, +{18762, 18, 90087, {1, 3, 1, 11, 3, 51, 99, 5, 161, 279, 1509, 3659, 3107, 13925, 5117, 46153, 48731, 69767}}, +{18763, 18, 90117, {1, 1, 5, 5, 3, 53, 49, 243, 383, 401, 1205, 975, 3305, 12769, 25533, 28733, 115161, 160885}}, +{18764, 18, 90127, {1, 1, 1, 7, 15, 5, 43, 143, 493, 527, 1625, 2115, 3929, 12425, 16127, 25045, 55973, 202359}}, +{18765, 18, 90163, {1, 3, 7, 7, 11, 9, 69, 79, 417, 941, 473, 1655, 5763, 9889, 22443, 12153, 103489, 74737}}, +{18766, 18, 90166, {1, 1, 7, 9, 27, 31, 97, 253, 199, 99, 1955, 1481, 2509, 11923, 6337, 15899, 122515, 244721}}, +{18767, 18, 90177, {1, 1, 5, 13, 29, 15, 35, 177, 261, 613, 1279, 2837, 2945, 4501, 22865, 36893, 51979, 245569}}, +{18768, 18, 90211, {1, 1, 5, 9, 21, 5, 85, 5, 303, 165, 681, 3965, 2575, 1493, 10367, 55845, 92139, 92539}}, +{18769, 18, 90218, {1, 3, 5, 1, 23, 49, 49, 161, 481, 181, 1991, 1845, 4541, 14187, 10893, 64931, 79943, 57907}}, +{18770, 18, 90225, {1, 3, 1, 5, 11, 27, 19, 193, 371, 463, 1573, 271, 1127, 15091, 9967, 40337, 104163, 159339}}, +{18771, 18, 90231, {1, 3, 1, 3, 13, 3, 57, 149, 465, 789, 1155, 2223, 2007, 13987, 19057, 40447, 5217, 86191}}, +{18772, 18, 90235, {1, 3, 5, 5, 9, 45, 27, 155, 95, 171, 489, 2539, 843, 16125, 7047, 58541, 84641, 212013}}, +{18773, 18, 90289, {1, 3, 5, 13, 13, 53, 101, 159, 7, 481, 143, 3869, 6629, 3527, 1555, 6019, 155, 230157}}, +{18774, 18, 90344, {1, 3, 1, 1, 19, 59, 59, 129, 107, 887, 1595, 93, 6577, 3947, 14409, 31081, 68595, 226741}}, +{18775, 18, 90347, {1, 3, 3, 11, 13, 49, 81, 253, 363, 875, 489, 2181, 3487, 1615, 31157, 32949, 44809, 119421}}, +{18776, 18, 90379, {1, 1, 3, 1, 3, 19, 71, 93, 397, 521, 2015, 3829, 3013, 3941, 29437, 1959, 70283, 254361}}, +{18777, 18, 90387, {1, 3, 1, 3, 27, 11, 95, 39, 299, 521, 389, 3451, 3047, 8637, 22537, 11279, 67407, 101511}}, +{18778, 18, 90418, {1, 3, 1, 1, 27, 43, 123, 237, 315, 503, 1059, 2185, 3963, 1593, 19157, 13909, 58025, 91649}}, +{18779, 18, 90435, {1, 1, 7, 1, 5, 19, 79, 109, 459, 541, 521, 89, 389, 13499, 9769, 1429, 117357, 153261}}, +{18780, 18, 90444, {1, 1, 5, 3, 9, 29, 21, 97, 219, 915, 2013, 1955, 1015, 549, 9777, 5005, 110953, 16915}}, +{18781, 18, 90472, {1, 1, 1, 9, 29, 11, 103, 167, 465, 515, 843, 151, 769, 12033, 9451, 14949, 110075, 113947}}, +{18782, 18, 90478, {1, 3, 5, 1, 21, 1, 105, 49, 35, 737, 231, 2761, 1519, 9997, 601, 20883, 42575, 98081}}, +{18783, 18, 90485, {1, 1, 1, 5, 13, 63, 47, 171, 187, 407, 643, 1423, 6325, 10079, 23781, 36353, 20655, 10231}}, +{18784, 18, 90486, {1, 1, 7, 13, 13, 13, 91, 31, 19, 305, 505, 1937, 2683, 10791, 7719, 54797, 9405, 195819}}, +{18785, 18, 90513, {1, 1, 1, 7, 17, 9, 21, 211, 85, 851, 211, 1533, 4035, 11, 26873, 16755, 77809, 44603}}, +{18786, 18, 90514, {1, 1, 3, 1, 29, 47, 31, 141, 9, 881, 1229, 1261, 3747, 4603, 22177, 48937, 21435, 157029}}, +{18787, 18, 90532, {1, 1, 1, 9, 11, 35, 109, 187, 319, 863, 1339, 2193, 4147, 3721, 7243, 18295, 92461, 88875}}, +{18788, 18, 90567, {1, 1, 1, 1, 25, 41, 79, 191, 47, 819, 2013, 3133, 2763, 9231, 10343, 49693, 26753, 97465}}, +{18789, 18, 90595, {1, 3, 1, 3, 17, 25, 63, 139, 179, 113, 1681, 1997, 4561, 14453, 30721, 7053, 22937, 183303}}, +{18790, 18, 90597, {1, 1, 7, 3, 29, 11, 41, 157, 427, 887, 295, 443, 5593, 8633, 9757, 37595, 121655, 135739}}, +{18791, 18, 90621, {1, 3, 1, 7, 29, 5, 23, 231, 85, 67, 103, 1395, 7821, 9551, 17019, 1825, 69963, 254583}}, +{18792, 18, 90631, {1, 1, 7, 9, 7, 23, 7, 205, 17, 111, 1219, 3101, 7485, 11579, 11791, 10203, 119835, 175985}}, +{18793, 18, 90668, {1, 3, 3, 13, 3, 57, 101, 255, 331, 911, 491, 3929, 2519, 2185, 21107, 24599, 92831, 75001}}, +{18794, 18, 90706, {1, 3, 7, 1, 23, 53, 69, 229, 295, 881, 905, 3727, 3885, 7967, 2061, 53595, 16033, 36443}}, +{18795, 18, 90708, {1, 1, 7, 15, 21, 1, 127, 115, 191, 53, 929, 1093, 5447, 1665, 4409, 22611, 38157, 139201}}, +{18796, 18, 90715, {1, 3, 3, 13, 29, 31, 113, 215, 365, 41, 1977, 2839, 4147, 8321, 1361, 45717, 80505, 176631}}, +{18797, 18, 90724, {1, 3, 5, 3, 3, 57, 25, 81, 41, 229, 669, 3371, 7505, 1197, 14921, 34365, 67571, 27355}}, +{18798, 18, 90769, {1, 3, 7, 9, 17, 35, 7, 169, 13, 163, 2007, 3697, 5635, 8003, 26105, 62917, 19349, 47029}}, +{18799, 18, 90791, {1, 1, 5, 5, 29, 27, 89, 137, 69, 189, 871, 3139, 6383, 14955, 15349, 60447, 122291, 26541}}, +{18800, 18, 90792, {1, 1, 7, 13, 27, 49, 115, 111, 441, 865, 1397, 161, 755, 14461, 8601, 45533, 105309, 149799}}, +{18801, 18, 90805, {1, 1, 7, 3, 9, 29, 91, 5, 239, 605, 491, 1705, 4099, 9111, 19821, 56903, 62815, 40615}}, +{18802, 18, 90810, {1, 1, 7, 15, 5, 45, 71, 225, 211, 539, 1881, 1201, 5675, 6061, 12121, 13289, 30455, 33131}}, +{18803, 18, 90820, {1, 1, 5, 15, 5, 59, 35, 121, 185, 143, 165, 2999, 7907, 5035, 8337, 11951, 66403, 219997}}, +{18804, 18, 90844, {1, 1, 5, 9, 3, 7, 27, 129, 245, 93, 715, 1249, 1717, 13381, 31255, 23153, 22227, 8077}}, +{18805, 18, 90907, {1, 3, 5, 11, 19, 49, 21, 163, 157, 615, 1475, 2453, 6315, 12325, 26565, 58399, 49385, 252127}}, +{18806, 18, 90925, {1, 3, 7, 11, 23, 3, 35, 61, 409, 795, 1447, 3461, 535, 6533, 25757, 31783, 9509, 217589}}, +{18807, 18, 90926, {1, 1, 5, 15, 9, 21, 67, 65, 399, 515, 777, 3183, 1155, 16071, 7339, 59985, 56659, 200701}}, +{18808, 18, 90934, {1, 3, 3, 1, 15, 33, 119, 145, 71, 517, 1775, 163, 5307, 1549, 31071, 56289, 128395, 230381}}, +{18809, 18, 90946, {1, 3, 1, 7, 7, 47, 97, 187, 193, 887, 515, 1301, 4841, 12069, 413, 41503, 36421, 45909}}, +{18810, 18, 90981, {1, 1, 5, 3, 17, 21, 53, 227, 137, 865, 715, 3601, 5027, 2983, 24113, 23349, 106391, 188193}}, +{18811, 18, 90999, {1, 3, 7, 15, 29, 37, 91, 235, 351, 15, 425, 681, 187, 1517, 30079, 41347, 49691, 66369}}, +{18812, 18, 91003, {1, 1, 5, 5, 15, 25, 93, 245, 397, 517, 1635, 2475, 5543, 9597, 27721, 21475, 79571, 259011}}, +{18813, 18, 91019, {1, 1, 1, 5, 21, 29, 5, 161, 37, 409, 1661, 3371, 5663, 4317, 9951, 23605, 7393, 90593}}, +{18814, 18, 91022, {1, 1, 3, 15, 21, 51, 79, 159, 209, 891, 1391, 2895, 5003, 6601, 17983, 42359, 104497, 162181}}, +{18815, 18, 91050, {1, 3, 7, 11, 23, 51, 99, 145, 21, 345, 1389, 1035, 5939, 8293, 22765, 23331, 7789, 115149}}, +{18816, 18, 91055, {1, 1, 5, 11, 27, 61, 115, 123, 317, 607, 463, 779, 5121, 3861, 18761, 39407, 125837, 244163}}, +{18817, 18, 91064, {1, 1, 7, 3, 15, 9, 33, 1, 437, 621, 31, 147, 8157, 3451, 18223, 61187, 125297, 211225}}, +{18818, 18, 91078, {1, 3, 1, 11, 27, 55, 21, 251, 5, 57, 1889, 71, 3745, 499, 9043, 62683, 21945, 138615}}, +{18819, 18, 91117, {1, 1, 3, 13, 25, 9, 1, 31, 277, 373, 507, 301, 2341, 1741, 11997, 47661, 44121, 183151}}, +{18820, 18, 91120, {1, 3, 3, 5, 15, 51, 5, 233, 475, 397, 1833, 1267, 7025, 2593, 15425, 47053, 16205, 208007}}, +{18821, 18, 91129, {1, 3, 3, 9, 31, 51, 123, 219, 493, 789, 659, 985, 7283, 11545, 15383, 25173, 130423, 196619}}, +{18822, 18, 91140, {1, 1, 1, 15, 9, 17, 37, 145, 297, 933, 1019, 1699, 2149, 12391, 17003, 42157, 126283, 252231}}, +{18823, 18, 91157, {1, 3, 5, 9, 17, 1, 91, 69, 335, 857, 925, 3855, 2225, 6909, 19101, 12191, 92117, 229077}}, +{18824, 18, 91161, {1, 3, 5, 13, 5, 21, 67, 17, 307, 879, 1563, 3169, 745, 6799, 27237, 39621, 1413, 146295}}, +{18825, 18, 91240, {1, 3, 7, 13, 17, 59, 23, 253, 415, 761, 451, 2773, 3523, 10985, 29853, 7275, 79521, 133447}}, +{18826, 18, 91260, {1, 1, 1, 1, 15, 43, 89, 19, 85, 837, 1335, 1641, 105, 5429, 8317, 45555, 104447, 102313}}, +{18827, 18, 91270, {1, 3, 3, 5, 17, 21, 67, 235, 367, 265, 1069, 835, 5457, 177, 26987, 39477, 6895, 123283}}, +{18828, 18, 91287, {1, 1, 5, 15, 19, 61, 5, 15, 487, 291, 661, 825, 1569, 8795, 13035, 57077, 112847, 160267}}, +{18829, 18, 91321, {1, 1, 7, 9, 27, 21, 91, 133, 361, 7, 447, 3035, 3523, 13167, 15927, 35555, 35713, 91291}}, +{18830, 18, 91336, {1, 3, 7, 11, 17, 23, 77, 255, 437, 897, 1185, 1633, 6451, 13081, 29097, 61335, 39671, 177835}}, +{18831, 18, 91341, {1, 1, 7, 5, 31, 49, 81, 221, 167, 241, 1895, 1813, 1493, 2475, 379, 5685, 116341, 121823}}, +{18832, 18, 91378, {1, 3, 5, 9, 25, 11, 117, 253, 337, 381, 743, 69, 1641, 3649, 26335, 59683, 28729, 83449}}, +{18833, 18, 91398, {1, 3, 1, 7, 15, 17, 59, 9, 129, 233, 1905, 1371, 6521, 8953, 26173, 9707, 70817, 260035}}, +{18834, 18, 91437, {1, 3, 1, 5, 19, 53, 23, 255, 305, 835, 1387, 2947, 3013, 9117, 27571, 47123, 49881, 47229}}, +{18835, 18, 91440, {1, 1, 3, 5, 23, 37, 123, 193, 365, 49, 1211, 3083, 8133, 14205, 11361, 55945, 23225, 159109}}, +{18836, 18, 91475, {1, 1, 7, 11, 5, 49, 43, 165, 97, 581, 617, 3045, 6187, 8399, 24045, 46713, 28389, 156811}}, +{18837, 18, 91494, {1, 3, 1, 5, 29, 17, 75, 231, 59, 143, 2041, 2319, 2289, 11805, 4039, 29895, 91305, 179091}}, +{18838, 18, 91500, {1, 1, 7, 7, 29, 5, 13, 43, 409, 81, 751, 2157, 2543, 13317, 28275, 60871, 119833, 36743}}, +{18839, 18, 91511, {1, 1, 5, 13, 5, 5, 21, 101, 497, 993, 157, 647, 3587, 1495, 20233, 30889, 112579, 172009}}, +{18840, 18, 91567, {1, 1, 7, 13, 7, 19, 101, 217, 305, 897, 1305, 1693, 6881, 2415, 17373, 56327, 53971, 19021}}, +{18841, 18, 91572, {1, 1, 7, 15, 31, 61, 93, 99, 459, 999, 239, 969, 2427, 12295, 23699, 4839, 73707, 110365}}, +{18842, 18, 91601, {1, 3, 5, 9, 15, 59, 29, 35, 15, 331, 93, 529, 2651, 5675, 3039, 25967, 2907, 222053}}, +{18843, 18, 91617, {1, 3, 3, 1, 1, 17, 59, 81, 495, 917, 1907, 3, 1989, 14339, 21311, 60909, 39393, 54115}}, +{18844, 18, 91653, {1, 3, 1, 9, 1, 37, 31, 201, 251, 117, 1753, 2453, 5007, 6935, 1165, 49231, 51495, 200219}}, +{18845, 18, 91678, {1, 1, 3, 3, 15, 47, 17, 175, 77, 363, 1455, 1417, 1357, 2295, 31165, 53337, 97891, 145621}}, +{18846, 18, 91705, {1, 3, 3, 3, 27, 31, 41, 179, 47, 629, 5, 2543, 6817, 8953, 7151, 20715, 52363, 251037}}, +{18847, 18, 91723, {1, 3, 1, 1, 21, 11, 103, 87, 285, 189, 1911, 2979, 7563, 13405, 2309, 25695, 106277, 179493}}, +{18848, 18, 91725, {1, 1, 1, 5, 7, 19, 1, 233, 261, 825, 1071, 3529, 5617, 11207, 24559, 47461, 79753, 41009}}, +{18849, 18, 91733, {1, 1, 3, 1, 15, 35, 65, 157, 381, 509, 1455, 3117, 31, 2251, 29729, 33687, 74999, 214765}}, +{18850, 18, 91761, {1, 1, 7, 11, 31, 43, 11, 147, 509, 891, 1929, 357, 3905, 16251, 30169, 27787, 124003, 142587}}, +{18851, 18, 91768, {1, 1, 7, 11, 3, 31, 93, 161, 311, 377, 1119, 2177, 4339, 3889, 24299, 35167, 87583, 145611}}, +{18852, 18, 91790, {1, 1, 5, 9, 23, 9, 73, 85, 233, 919, 1319, 13, 3353, 1029, 31251, 17731, 86759, 11705}}, +{18853, 18, 91804, {1, 1, 1, 7, 27, 23, 67, 235, 207, 161, 697, 2433, 833, 5305, 32695, 29327, 25285, 51289}}, +{18854, 18, 91807, {1, 3, 3, 3, 31, 55, 107, 211, 61, 993, 1443, 463, 5029, 5401, 8821, 29721, 113939, 194839}}, +{18855, 18, 91808, {1, 1, 1, 11, 11, 33, 39, 167, 17, 863, 363, 3967, 2277, 4053, 15403, 31887, 98565, 217953}}, +{18856, 18, 91818, {1, 1, 7, 1, 21, 47, 97, 147, 155, 327, 1417, 3531, 7649, 8975, 21221, 57631, 72611, 97745}}, +{18857, 18, 91840, {1, 3, 3, 1, 1, 63, 19, 91, 105, 991, 819, 673, 7845, 14947, 1633, 40517, 91525, 151041}}, +{18858, 18, 91849, {1, 1, 7, 11, 25, 43, 57, 141, 65, 415, 1045, 3947, 7099, 11653, 29321, 51591, 2591, 44803}}, +{18859, 18, 91869, {1, 3, 1, 9, 15, 19, 105, 37, 485, 3, 213, 1217, 951, 5637, 1589, 25501, 95073, 124683}}, +{18860, 18, 91873, {1, 1, 5, 7, 13, 19, 55, 143, 507, 575, 715, 1633, 5201, 10493, 26041, 18407, 8097, 152313}}, +{18861, 18, 91876, {1, 1, 3, 5, 9, 51, 5, 171, 143, 877, 1571, 2997, 4209, 13423, 9389, 23015, 6665, 254799}}, +{18862, 18, 91888, {1, 3, 5, 15, 31, 43, 87, 79, 89, 463, 1075, 1257, 1631, 13225, 13529, 53267, 73651, 89125}}, +{18863, 18, 91891, {1, 3, 7, 13, 23, 17, 93, 113, 45, 225, 1939, 3301, 6031, 9749, 16577, 12857, 68437, 169861}}, +{18864, 18, 91897, {1, 3, 3, 15, 31, 11, 91, 127, 227, 813, 105, 901, 6861, 10627, 18425, 2553, 102503, 83167}}, +{18865, 18, 91911, {1, 3, 3, 13, 17, 63, 83, 163, 451, 659, 1995, 2283, 6297, 8097, 20935, 6017, 4977, 5045}}, +{18866, 18, 91965, {1, 1, 5, 13, 27, 47, 103, 129, 259, 975, 391, 2343, 6639, 1385, 30187, 35401, 74321, 24751}}, +{18867, 18, 91971, {1, 3, 1, 13, 1, 57, 37, 65, 57, 413, 63, 3819, 5915, 3925, 20777, 48539, 3019, 54965}}, +{18868, 18, 91988, {1, 1, 7, 3, 7, 13, 91, 33, 143, 489, 657, 3127, 707, 10841, 11307, 37855, 92697, 119189}}, +{18869, 18, 91992, {1, 1, 3, 11, 25, 47, 11, 57, 463, 693, 55, 501, 3765, 15443, 12917, 61677, 97145, 213637}}, +{18870, 18, 92004, {1, 3, 1, 1, 13, 49, 13, 225, 101, 475, 627, 1447, 7587, 11335, 3599, 20795, 72915, 174663}}, +{18871, 18, 92021, {1, 3, 7, 5, 31, 15, 115, 255, 329, 365, 959, 3399, 4695, 14537, 1447, 17391, 88557, 130213}}, +{18872, 18, 92035, {1, 1, 1, 9, 25, 47, 29, 173, 29, 149, 291, 691, 7621, 7607, 20769, 7149, 27323, 57689}}, +{18873, 18, 92068, {1, 3, 5, 15, 3, 61, 119, 247, 25, 495, 1297, 1119, 8011, 16077, 21567, 30559, 88455, 68763}}, +{18874, 18, 92098, {1, 1, 7, 1, 11, 47, 109, 115, 313, 517, 1951, 3319, 337, 11793, 22345, 33457, 47383, 213893}}, +{18875, 18, 92104, {1, 1, 5, 11, 11, 53, 103, 237, 383, 927, 421, 4085, 3327, 169, 9941, 24753, 65437, 108173}}, +{18876, 18, 92121, {1, 1, 5, 11, 17, 59, 107, 53, 479, 143, 825, 2667, 5219, 6143, 11573, 33637, 124981, 98195}}, +{18877, 18, 92127, {1, 3, 3, 13, 3, 17, 61, 129, 475, 585, 1611, 1791, 7817, 4099, 20437, 51411, 130173, 220085}}, +{18878, 18, 92151, {1, 3, 3, 3, 27, 25, 33, 255, 361, 967, 1415, 3213, 3341, 15875, 32359, 53267, 27665, 178301}}, +{18879, 18, 92162, {1, 1, 5, 3, 13, 9, 91, 187, 173, 525, 1675, 2217, 4093, 2009, 16917, 18485, 104849, 163233}}, +{18880, 18, 92186, {1, 1, 1, 11, 3, 17, 125, 157, 9, 429, 1573, 2257, 7943, 9893, 5611, 64619, 4509, 200181}}, +{18881, 18, 92191, {1, 3, 1, 1, 3, 9, 83, 53, 315, 85, 1093, 2621, 663, 12369, 317, 6089, 16479, 225071}}, +{18882, 18, 92192, {1, 3, 3, 1, 25, 47, 57, 45, 219, 45, 945, 3989, 4889, 8989, 381, 52483, 57029, 253899}}, +{18883, 18, 92207, {1, 3, 3, 5, 3, 61, 75, 189, 53, 489, 553, 2381, 7485, 9941, 29733, 2611, 74119, 203647}}, +{18884, 18, 92260, {1, 3, 1, 11, 27, 63, 53, 61, 59, 613, 465, 867, 1985, 7605, 14301, 53847, 68547, 14717}}, +{18885, 18, 92282, {1, 3, 5, 11, 5, 41, 51, 11, 59, 761, 59, 267, 7273, 3061, 11223, 48825, 117869, 158551}}, +{18886, 18, 92288, {1, 3, 7, 1, 31, 47, 111, 43, 435, 997, 135, 3369, 6439, 5637, 13629, 13221, 90607, 86359}}, +{18887, 18, 92297, {1, 1, 1, 11, 23, 51, 109, 223, 495, 765, 1557, 3545, 305, 4949, 23931, 45115, 12121, 14487}}, +{18888, 18, 92303, {1, 3, 5, 9, 5, 25, 41, 249, 27, 375, 1339, 3647, 3529, 2077, 21091, 45523, 67191, 1257}}, +{18889, 18, 92315, {1, 1, 3, 7, 13, 15, 63, 45, 187, 761, 1245, 3381, 1817, 2491, 16469, 64417, 87333, 143103}}, +{18890, 18, 92322, {1, 1, 3, 13, 11, 33, 87, 11, 279, 689, 1047, 3935, 5359, 11309, 19735, 33259, 12347, 183653}}, +{18891, 18, 92327, {1, 1, 5, 7, 5, 49, 109, 221, 455, 167, 785, 1859, 4337, 14937, 209, 23435, 22923, 172985}}, +{18892, 18, 92341, {1, 3, 7, 9, 13, 7, 127, 117, 147, 741, 531, 2627, 2565, 11083, 30577, 42471, 77065, 120983}}, +{18893, 18, 92389, {1, 1, 7, 1, 5, 61, 115, 203, 15, 305, 1005, 2085, 2597, 4371, 11661, 33219, 53657, 40325}}, +{18894, 18, 92390, {1, 3, 7, 13, 13, 15, 69, 167, 369, 747, 1115, 1493, 4881, 2693, 32281, 27089, 56821, 121693}}, +{18895, 18, 92422, {1, 3, 5, 3, 19, 51, 101, 29, 411, 509, 847, 1033, 4135, 15561, 7045, 60757, 48479, 247295}}, +{18896, 18, 92439, {1, 1, 5, 3, 27, 47, 103, 123, 413, 71, 689, 2113, 4347, 1983, 25727, 20095, 3271, 133081}}, +{18897, 18, 92452, {1, 1, 3, 3, 5, 39, 87, 27, 505, 631, 689, 2591, 1955, 3205, 12681, 10821, 13343, 101505}}, +{18898, 18, 92470, {1, 3, 7, 9, 31, 23, 103, 223, 499, 721, 13, 1399, 7369, 3945, 27727, 7923, 60265, 197793}}, +{18899, 18, 92473, {1, 3, 3, 5, 27, 7, 119, 23, 371, 495, 1583, 3913, 5139, 12151, 17477, 10907, 121775, 13369}}, +{18900, 18, 92493, {1, 3, 7, 1, 19, 53, 91, 235, 161, 97, 37, 1115, 5909, 1943, 8137, 1541, 16253, 252151}}, +{18901, 18, 92508, {1, 3, 7, 5, 3, 1, 107, 241, 187, 253, 1225, 2827, 4191, 2749, 25629, 47465, 19969, 45035}}, +{18902, 18, 92517, {1, 3, 1, 5, 1, 29, 47, 233, 175, 313, 793, 2089, 6235, 6595, 27599, 20505, 63379, 8729}}, +{18903, 18, 92529, {1, 3, 7, 11, 15, 9, 87, 113, 389, 1, 1057, 3307, 3455, 1847, 1497, 28115, 92897, 2383}}, +{18904, 18, 92551, {1, 3, 7, 13, 19, 59, 45, 59, 49, 273, 1619, 1975, 5949, 9951, 7685, 52559, 42377, 29855}}, +{18905, 18, 92557, {1, 1, 3, 9, 19, 7, 119, 35, 85, 37, 269, 3443, 8015, 8061, 6001, 19123, 70643, 115513}}, +{18906, 18, 92596, {1, 1, 3, 15, 3, 19, 83, 171, 259, 207, 1495, 513, 5455, 4071, 27471, 15773, 66301, 228743}}, +{18907, 18, 92611, {1, 3, 7, 9, 3, 27, 93, 3, 471, 13, 677, 4067, 1941, 15345, 26629, 29419, 121593, 108669}}, +{18908, 18, 92613, {1, 3, 7, 15, 29, 43, 97, 41, 15, 181, 1969, 1901, 7237, 3879, 19337, 17659, 17957, 164667}}, +{18909, 18, 92642, {1, 3, 1, 1, 25, 33, 7, 41, 387, 469, 795, 781, 113, 4161, 29687, 32225, 73905, 137879}}, +{18910, 18, 92666, {1, 1, 3, 13, 9, 59, 89, 23, 393, 111, 1957, 719, 6179, 16183, 31331, 48015, 32147, 31691}}, +{18911, 18, 92684, {1, 3, 7, 5, 9, 45, 73, 219, 181, 51, 717, 1813, 2581, 1395, 17595, 23689, 89709, 201451}}, +{18912, 18, 92723, {1, 3, 7, 3, 1, 21, 15, 35, 131, 515, 803, 1429, 3855, 349, 11795, 26787, 6109, 117745}}, +{18913, 18, 92732, {1, 3, 3, 9, 7, 11, 57, 15, 491, 371, 1787, 85, 577, 11455, 27419, 20687, 2493, 209993}}, +{18914, 18, 92738, {1, 3, 7, 15, 5, 5, 87, 197, 93, 643, 247, 31, 357, 7377, 10509, 29883, 42747, 248861}}, +{18915, 18, 92783, {1, 3, 3, 3, 29, 33, 47, 253, 485, 25, 2003, 2953, 1629, 11549, 5697, 1135, 117761, 96411}}, +{18916, 18, 92808, {1, 3, 5, 1, 29, 5, 27, 187, 235, 423, 41, 1855, 4359, 15627, 28409, 49331, 37735, 68823}}, +{18917, 18, 92816, {1, 1, 5, 5, 21, 61, 67, 85, 41, 671, 1617, 3867, 7913, 1693, 18487, 1831, 100971, 168191}}, +{18918, 18, 92835, {1, 1, 7, 3, 1, 61, 111, 87, 55, 229, 217, 2801, 563, 13617, 9641, 22247, 16039, 113541}}, +{18919, 18, 92847, {1, 3, 5, 7, 5, 29, 67, 99, 91, 561, 1203, 643, 2607, 13421, 29695, 31925, 82985, 69031}}, +{18920, 18, 92879, {1, 1, 1, 1, 27, 7, 63, 107, 269, 163, 1711, 587, 5657, 15077, 24709, 10235, 95483, 94799}}, +{18921, 18, 92881, {1, 3, 3, 5, 29, 5, 127, 137, 67, 609, 1657, 1131, 959, 15773, 17295, 58575, 96525, 80529}}, +{18922, 18, 92884, {1, 3, 7, 7, 25, 15, 89, 93, 145, 695, 367, 2853, 3073, 4867, 26823, 31467, 94769, 9145}}, +{18923, 18, 92932, {1, 1, 7, 15, 15, 5, 1, 225, 57, 381, 1295, 2525, 1493, 2401, 91, 19809, 32803, 195289}}, +{18924, 18, 92935, {1, 3, 3, 7, 29, 51, 29, 63, 249, 107, 1689, 3703, 7227, 6967, 27861, 39167, 20043, 218827}}, +{18925, 18, 92960, {1, 1, 3, 13, 17, 1, 77, 143, 167, 255, 1709, 2089, 7465, 4805, 16185, 15167, 20493, 240855}}, +{18926, 18, 92990, {1, 1, 5, 1, 11, 43, 107, 175, 93, 955, 615, 2923, 3637, 7451, 18847, 53467, 12463, 127249}}, +{18927, 18, 93010, {1, 1, 3, 13, 31, 1, 61, 113, 479, 777, 1805, 3625, 6299, 12221, 29599, 60175, 31165, 122815}}, +{18928, 18, 93025, {1, 3, 3, 11, 11, 29, 89, 129, 195, 337, 1843, 2769, 1747, 7137, 9901, 18459, 25215, 70609}}, +{18929, 18, 93046, {1, 1, 3, 7, 17, 35, 55, 81, 413, 25, 1505, 2185, 3121, 11435, 17885, 12543, 36767, 64039}}, +{18930, 18, 93085, {1, 3, 1, 13, 25, 9, 83, 25, 5, 49, 1975, 3967, 4135, 13213, 26479, 63913, 14921, 96193}}, +{18931, 18, 93089, {1, 3, 7, 5, 17, 15, 101, 47, 245, 821, 1275, 3343, 5471, 5045, 31741, 3319, 8141, 95501}}, +{18932, 18, 93096, {1, 3, 1, 13, 1, 5, 105, 39, 175, 439, 1625, 249, 4859, 12449, 30529, 45669, 49071, 214037}}, +{18933, 18, 93145, {1, 1, 7, 7, 17, 21, 83, 123, 261, 559, 1967, 2933, 4417, 8331, 10119, 21793, 128729, 187247}}, +{18934, 18, 93155, {1, 1, 7, 9, 15, 43, 77, 231, 241, 419, 503, 3335, 927, 2567, 31259, 52453, 114441, 257449}}, +{18935, 18, 93169, {1, 3, 3, 1, 9, 29, 21, 89, 311, 185, 519, 271, 3595, 8951, 6105, 64593, 38209, 120491}}, +{18936, 18, 93179, {1, 1, 7, 9, 1, 57, 65, 5, 275, 615, 801, 2839, 2851, 15609, 28731, 31223, 87725, 437}}, +{18937, 18, 93184, {1, 3, 3, 5, 29, 3, 67, 53, 17, 499, 263, 651, 7963, 5371, 11593, 34761, 57427, 84979}}, +{18938, 18, 93204, {1, 3, 7, 11, 15, 9, 33, 165, 313, 659, 909, 969, 2309, 2197, 27263, 35273, 52887, 236107}}, +{18939, 18, 93211, {1, 1, 7, 1, 13, 17, 29, 3, 329, 573, 619, 1013, 6947, 7031, 30773, 41129, 116481, 184233}}, +{18940, 18, 93213, {1, 1, 5, 9, 13, 5, 87, 235, 63, 759, 1143, 1861, 3783, 2735, 26191, 64387, 3651, 119447}}, +{18941, 18, 93227, {1, 1, 3, 7, 15, 41, 117, 135, 273, 655, 251, 1859, 4363, 14725, 29385, 6269, 91505, 82679}}, +{18942, 18, 93285, {1, 3, 7, 3, 13, 21, 21, 9, 121, 899, 199, 1973, 7437, 9771, 26647, 30909, 118573, 152913}}, +{18943, 18, 93292, {1, 3, 3, 9, 31, 43, 5, 249, 109, 183, 161, 1185, 4025, 10331, 20983, 28549, 122687, 183429}}, +{18944, 18, 93320, {1, 3, 7, 7, 11, 45, 111, 99, 487, 971, 597, 1555, 273, 10403, 25289, 45483, 35845, 35791}}, +{18945, 18, 93356, {1, 1, 1, 7, 11, 49, 125, 229, 279, 289, 1945, 3575, 5683, 15659, 31123, 12517, 79303, 255797}}, +{18946, 18, 93371, {1, 3, 1, 15, 9, 23, 61, 53, 383, 855, 1743, 407, 4401, 7507, 26307, 56205, 110943, 184183}}, +{18947, 18, 93374, {1, 3, 5, 13, 23, 29, 101, 243, 417, 925, 1267, 257, 5893, 4335, 6309, 43519, 126035, 99205}}, +{18948, 18, 93385, {1, 3, 1, 5, 5, 35, 83, 25, 31, 455, 1799, 2919, 7037, 11829, 12239, 12969, 108469, 89513}}, +{18949, 18, 93403, {1, 3, 5, 9, 17, 29, 61, 217, 183, 131, 425, 4025, 7141, 5445, 21497, 10603, 53423, 5701}}, +{18950, 18, 93406, {1, 1, 1, 15, 27, 35, 9, 139, 261, 43, 587, 3835, 4627, 11689, 15739, 6031, 73547, 134271}}, +{18951, 18, 93427, {1, 1, 3, 3, 25, 15, 7, 225, 29, 785, 2047, 2219, 6083, 7973, 17053, 56167, 83915, 87597}}, +{18952, 18, 93451, {1, 3, 7, 15, 13, 43, 85, 121, 421, 867, 1895, 2437, 6003, 5269, 8625, 26877, 100023, 110229}}, +{18953, 18, 93454, {1, 3, 3, 3, 25, 49, 121, 1, 125, 353, 1811, 1575, 3925, 13897, 26087, 24977, 105995, 242817}}, +{18954, 18, 93472, {1, 1, 1, 9, 31, 55, 71, 241, 439, 927, 955, 109, 7779, 2397, 18797, 34177, 1255, 178671}}, +{18955, 18, 93482, {1, 1, 7, 7, 5, 15, 99, 225, 49, 407, 1711, 4027, 4845, 9209, 20983, 33969, 14205, 9351}}, +{18956, 18, 93507, {1, 3, 5, 1, 9, 13, 113, 143, 97, 189, 929, 1163, 2261, 9761, 30011, 32911, 117043, 169493}}, +{18957, 18, 93537, {1, 1, 3, 5, 9, 35, 95, 77, 5, 95, 1745, 2013, 7009, 5427, 18969, 2771, 5099, 52939}}, +{18958, 18, 93562, {1, 3, 7, 9, 13, 19, 31, 189, 367, 569, 95, 1665, 6231, 2169, 22589, 8427, 116097, 41077}}, +{18959, 18, 93564, {1, 3, 7, 3, 31, 61, 45, 233, 327, 541, 87, 3449, 2767, 12237, 17747, 53827, 80389, 121489}}, +{18960, 18, 93608, {1, 3, 7, 15, 31, 1, 49, 73, 157, 131, 553, 3417, 5283, 4737, 31675, 63213, 43689, 261869}}, +{18961, 18, 93636, {1, 3, 7, 1, 3, 5, 113, 43, 343, 39, 135, 1555, 7955, 9851, 30983, 21955, 34871, 147649}}, +{18962, 18, 93640, {1, 3, 5, 3, 5, 27, 15, 179, 141, 983, 265, 2651, 5907, 10501, 6275, 29629, 115965, 125745}}, +{18963, 18, 93653, {1, 3, 7, 13, 1, 1, 81, 105, 309, 457, 1817, 3435, 4615, 1181, 27835, 26075, 63447, 44701}}, +{18964, 18, 93654, {1, 1, 5, 5, 25, 19, 85, 103, 409, 323, 2001, 3719, 3403, 1301, 19615, 47829, 109905, 65777}}, +{18965, 18, 93664, {1, 3, 5, 3, 21, 15, 47, 75, 467, 273, 1885, 3929, 1877, 5209, 6881, 34431, 35663, 100205}}, +{18966, 18, 93676, {1, 1, 5, 3, 3, 9, 47, 143, 471, 653, 1011, 2263, 3673, 11921, 31207, 50365, 27177, 214377}}, +{18967, 18, 93721, {1, 3, 1, 15, 3, 43, 81, 253, 495, 139, 679, 2207, 4603, 5269, 27133, 46461, 120783, 185595}}, +{18968, 18, 93740, {1, 1, 7, 3, 13, 3, 109, 197, 477, 101, 859, 1035, 777, 10153, 15581, 22715, 17493, 120851}}, +{18969, 18, 93743, {1, 3, 1, 3, 23, 5, 121, 67, 265, 935, 741, 3311, 541, 1093, 1639, 5941, 5587, 150345}}, +{18970, 18, 93745, {1, 3, 1, 5, 3, 13, 65, 173, 493, 303, 359, 3813, 6007, 1105, 12185, 10431, 17117, 164899}}, +{18971, 18, 93751, {1, 3, 3, 1, 25, 33, 71, 181, 149, 7, 333, 1981, 2981, 14683, 10997, 63373, 22605, 119681}}, +{18972, 18, 93770, {1, 1, 1, 15, 29, 35, 89, 21, 281, 175, 587, 3117, 7221, 8239, 26399, 49133, 65895, 142175}}, +{18973, 18, 93796, {1, 3, 7, 15, 9, 9, 35, 161, 65, 749, 421, 3575, 6307, 2029, 11423, 63901, 102049, 26333}}, +{18974, 18, 93820, {1, 3, 1, 13, 1, 45, 97, 41, 231, 245, 271, 1497, 3119, 6225, 21665, 12113, 67315, 62779}}, +{18975, 18, 93824, {1, 1, 1, 7, 3, 29, 119, 193, 179, 353, 1015, 2803, 6869, 7653, 22309, 53421, 86969, 115549}}, +{18976, 18, 93833, {1, 3, 3, 5, 17, 37, 49, 129, 195, 537, 1237, 2775, 6683, 699, 19181, 61125, 27483, 175645}}, +{18977, 18, 93841, {1, 3, 7, 3, 7, 49, 107, 41, 285, 335, 1415, 4015, 1301, 6525, 32429, 9337, 87923, 176751}}, +{18978, 18, 93847, {1, 1, 5, 9, 21, 43, 91, 25, 225, 311, 417, 303, 2629, 3609, 29987, 28647, 104173, 52383}}, +{18979, 18, 93848, {1, 3, 5, 9, 13, 47, 75, 143, 109, 173, 503, 3843, 1767, 9433, 10009, 5653, 87339, 212975}}, +{18980, 18, 93854, {1, 3, 1, 13, 13, 55, 123, 95, 499, 245, 1875, 3661, 7661, 6927, 21003, 51729, 88089, 89063}}, +{18981, 18, 93882, {1, 1, 3, 1, 31, 7, 93, 35, 169, 191, 1079, 2137, 4401, 1563, 20021, 9101, 66881, 231589}}, +{18982, 18, 93943, {1, 3, 1, 15, 21, 41, 75, 231, 459, 701, 1715, 2581, 4445, 5877, 4765, 1037, 15827, 189529}}, +{18983, 18, 93958, {1, 3, 5, 13, 17, 23, 41, 133, 143, 297, 1335, 3907, 7745, 5139, 9397, 5765, 5347, 243091}}, +{18984, 18, 93972, {1, 1, 5, 13, 7, 15, 31, 183, 315, 153, 785, 2723, 97, 14361, 10509, 17717, 46615, 133289}}, +{18985, 18, 93975, {1, 3, 7, 9, 13, 3, 75, 103, 445, 409, 603, 201, 1873, 9277, 23953, 6881, 64327, 196771}}, +{18986, 18, 94003, {1, 1, 7, 13, 15, 21, 73, 183, 419, 997, 857, 1373, 3855, 417, 10175, 5253, 66509, 15731}}, +{18987, 18, 94009, {1, 3, 3, 9, 19, 7, 15, 119, 497, 25, 1165, 105, 2605, 15097, 28241, 2269, 519, 235655}}, +{18988, 18, 94020, {1, 3, 3, 9, 27, 9, 103, 205, 97, 317, 1621, 971, 931, 9099, 24583, 12695, 122399, 78021}}, +{18989, 18, 94072, {1, 1, 3, 5, 27, 45, 41, 239, 87, 603, 317, 3507, 7677, 9141, 26721, 40225, 80515, 205263}}, +{18990, 18, 94081, {1, 1, 3, 1, 25, 3, 63, 165, 41, 783, 291, 1997, 3769, 1881, 30613, 18821, 86175, 38837}}, +{18991, 18, 94093, {1, 1, 3, 5, 17, 19, 95, 17, 357, 587, 689, 3127, 6999, 6703, 23923, 55945, 97629, 210177}}, +{18992, 18, 94102, {1, 1, 3, 15, 21, 55, 63, 229, 397, 1007, 779, 2105, 681, 10659, 26679, 681, 115901, 83627}}, +{18993, 18, 94122, {1, 1, 7, 11, 25, 9, 47, 133, 109, 17, 697, 749, 5529, 9289, 29675, 2631, 15247, 13913}}, +{18994, 18, 94135, {1, 1, 7, 7, 3, 55, 29, 13, 467, 889, 675, 1187, 3301, 13721, 13783, 44559, 78177, 114219}}, +{18995, 18, 94136, {1, 3, 5, 13, 15, 11, 77, 71, 313, 427, 1385, 2007, 4003, 1529, 4797, 12289, 24897, 129513}}, +{18996, 18, 94150, {1, 1, 3, 11, 9, 47, 103, 253, 345, 659, 1109, 3493, 2515, 5669, 30551, 25077, 97393, 252689}}, +{18997, 18, 94184, {1, 3, 7, 9, 25, 19, 69, 161, 365, 51, 1365, 1045, 4319, 10035, 15529, 23251, 44359, 62163}}, +{18998, 18, 94187, {1, 3, 1, 7, 3, 25, 119, 33, 19, 561, 659, 2741, 6177, 899, 30911, 9627, 83003, 12939}}, +{18999, 18, 94258, {1, 3, 7, 1, 13, 37, 19, 161, 427, 621, 1045, 1963, 6067, 4439, 32507, 32775, 5201, 144645}}, +{19000, 18, 94264, {1, 1, 5, 7, 31, 17, 89, 239, 317, 109, 1827, 1395, 1587, 14813, 29911, 63545, 22939, 235383}}, +{19001, 18, 94272, {1, 1, 7, 15, 1, 17, 41, 123, 405, 539, 1063, 1443, 4611, 1847, 24107, 29365, 85859, 218601}}, +{19002, 18, 94278, {1, 1, 5, 13, 21, 27, 101, 223, 245, 705, 1579, 679, 5461, 8955, 15031, 7731, 31219, 165033}}, +{19003, 18, 94281, {1, 1, 7, 11, 19, 29, 13, 223, 179, 481, 761, 1543, 3195, 10695, 17147, 37577, 130901, 44699}}, +{19004, 18, 94317, {1, 1, 7, 3, 19, 53, 49, 1, 393, 583, 1183, 2817, 1293, 12949, 15491, 44467, 86261, 220439}}, +{19005, 18, 94348, {1, 3, 7, 15, 15, 47, 7, 125, 467, 511, 1207, 3787, 5575, 5359, 3859, 29933, 104627, 243073}}, +{19006, 18, 94376, {1, 1, 1, 13, 27, 25, 17, 243, 477, 457, 1835, 2859, 1023, 10107, 26829, 49853, 114569, 250471}}, +{19007, 18, 94382, {1, 3, 1, 15, 11, 43, 15, 235, 431, 671, 1935, 1143, 4121, 15403, 19313, 15919, 111961, 50455}}, +{19008, 18, 94387, {1, 3, 3, 3, 11, 45, 107, 143, 353, 671, 1259, 1599, 6075, 10645, 9131, 28133, 58679, 29883}}, +{19009, 18, 94389, {1, 3, 5, 15, 15, 43, 29, 171, 303, 71, 1751, 411, 7615, 12063, 26829, 31469, 34335, 3163}}, +{19010, 18, 94393, {1, 1, 7, 7, 25, 63, 25, 25, 27, 671, 505, 1235, 1985, 2593, 30031, 3251, 94729, 248911}}, +{19011, 18, 94402, {1, 1, 3, 1, 19, 15, 125, 133, 133, 209, 1749, 2091, 6325, 1275, 5675, 2249, 22631, 56293}}, +{19012, 18, 94421, {1, 1, 5, 1, 19, 27, 25, 99, 211, 739, 565, 3903, 7701, 7547, 12303, 5421, 24663, 22807}}, +{19013, 18, 94422, {1, 3, 5, 13, 5, 45, 99, 67, 21, 269, 851, 3333, 4555, 12483, 14645, 44757, 99047, 198521}}, +{19014, 18, 94431, {1, 1, 5, 13, 19, 1, 123, 87, 109, 799, 591, 2997, 1005, 16369, 10329, 34541, 100935, 200397}}, +{19015, 18, 94473, {1, 3, 5, 1, 13, 51, 93, 23, 19, 23, 965, 171, 6865, 3561, 23255, 44295, 87405, 222269}}, +{19016, 18, 94487, {1, 1, 3, 5, 1, 53, 25, 129, 123, 737, 271, 61, 113, 8481, 27075, 58633, 21499, 156689}}, +{19017, 18, 94504, {1, 3, 3, 11, 3, 43, 11, 123, 243, 1015, 1389, 3663, 1725, 6933, 5315, 7137, 127705, 56607}}, +{19018, 18, 94510, {1, 1, 5, 13, 7, 23, 43, 103, 503, 173, 267, 1509, 3311, 9553, 28851, 15771, 28741, 236427}}, +{19019, 18, 94522, {1, 1, 5, 15, 27, 43, 119, 3, 13, 107, 317, 3725, 6669, 4945, 30485, 10155, 96893, 154081}}, +{19020, 18, 94532, {1, 3, 7, 5, 11, 21, 61, 99, 155, 45, 569, 1325, 673, 15803, 12047, 55431, 9515, 106969}}, +{19021, 18, 94572, {1, 1, 7, 11, 27, 49, 121, 145, 105, 223, 1471, 1163, 3889, 4213, 21195, 45649, 14663, 82799}}, +{19022, 18, 94589, {1, 1, 3, 3, 31, 21, 17, 85, 31, 695, 1591, 2465, 907, 11621, 29681, 13131, 77187, 175913}}, +{19023, 18, 94599, {1, 3, 5, 5, 21, 49, 77, 229, 359, 825, 1851, 1223, 3351, 5349, 30971, 20797, 26975, 94425}}, +{19024, 18, 94603, {1, 1, 3, 1, 3, 63, 23, 219, 503, 47, 1675, 1641, 5257, 8035, 29793, 30093, 44897, 235691}}, +{19025, 18, 94647, {1, 1, 7, 9, 27, 37, 109, 33, 511, 203, 1195, 3281, 407, 15237, 28485, 21379, 106325, 231755}}, +{19026, 18, 94665, {1, 3, 1, 3, 9, 45, 19, 31, 255, 799, 909, 767, 421, 3301, 18557, 15043, 48505, 36763}}, +{19027, 18, 94695, {1, 3, 7, 13, 1, 45, 59, 233, 319, 265, 517, 1571, 4593, 12813, 30729, 19517, 70345, 142411}}, +{19028, 18, 94716, {1, 1, 1, 13, 17, 15, 79, 93, 265, 381, 285, 253, 919, 3715, 30555, 38801, 30439, 51511}}, +{19029, 18, 94738, {1, 1, 7, 15, 25, 39, 71, 57, 145, 487, 1655, 2589, 7655, 8413, 24537, 36761, 36427, 88929}}, +{19030, 18, 94740, {1, 1, 3, 3, 29, 41, 61, 191, 97, 849, 911, 3269, 5425, 13997, 7749, 537, 113705, 179765}}, +{19031, 18, 94778, {1, 1, 5, 9, 13, 55, 33, 221, 27, 521, 13, 2847, 6035, 8397, 6579, 29353, 101953, 88983}}, +{19032, 18, 94803, {1, 3, 3, 13, 31, 47, 97, 177, 373, 353, 159, 249, 4741, 7427, 8353, 38617, 13857, 122081}}, +{19033, 18, 94810, {1, 3, 5, 15, 13, 21, 1, 239, 369, 253, 1009, 1927, 5111, 2219, 28167, 32013, 51487, 210521}}, +{19034, 18, 94815, {1, 3, 5, 9, 17, 21, 37, 105, 405, 39, 321, 1515, 3759, 15469, 13643, 60157, 72127, 233505}}, +{19035, 18, 94821, {1, 3, 7, 5, 1, 3, 3, 125, 283, 757, 829, 2303, 3715, 6027, 17795, 37359, 54721, 5891}}, +{19036, 18, 94862, {1, 3, 7, 15, 27, 63, 117, 101, 341, 965, 1543, 51, 3397, 14051, 9889, 64647, 111169, 249477}}, +{19037, 18, 94886, {1, 1, 5, 13, 5, 29, 51, 61, 233, 685, 751, 163, 2319, 14691, 29881, 39029, 57093, 240147}}, +{19038, 18, 94900, {1, 3, 5, 3, 9, 21, 107, 147, 263, 471, 621, 3485, 197, 13271, 24689, 64341, 110163, 142711}}, +{19039, 18, 94924, {1, 3, 1, 7, 1, 23, 17, 31, 131, 631, 795, 3751, 5337, 9151, 2873, 31113, 65303, 244969}}, +{19040, 18, 94952, {1, 1, 5, 11, 3, 51, 93, 155, 389, 859, 1181, 2711, 1375, 6119, 229, 47767, 115521, 114129}}, +{19041, 18, 94963, {1, 3, 3, 15, 5, 7, 29, 187, 259, 911, 1537, 1885, 6139, 4549, 21655, 58771, 1003, 124609}}, +{19042, 18, 94970, {1, 1, 3, 15, 25, 45, 97, 217, 331, 305, 1105, 3465, 3651, 10171, 31601, 6947, 4545, 232627}}, +{19043, 18, 94980, {1, 1, 5, 5, 9, 53, 109, 201, 473, 201, 1113, 973, 1825, 13089, 1207, 9947, 92515, 216199}}, +{19044, 18, 94992, {1, 3, 7, 3, 1, 49, 25, 109, 249, 489, 1663, 3493, 4615, 13899, 27851, 60711, 14351, 41787}}, +{19045, 18, 95017, {1, 3, 3, 7, 3, 15, 29, 53, 61, 669, 371, 2187, 6769, 4623, 25785, 12997, 52263, 28387}}, +{19046, 18, 95028, {1, 1, 1, 3, 9, 31, 69, 3, 441, 219, 285, 183, 1971, 10903, 8271, 19389, 61913, 203537}}, +{19047, 18, 95031, {1, 1, 5, 3, 9, 63, 117, 131, 53, 525, 1349, 2701, 1317, 6047, 1661, 51785, 93199, 158645}}, +{19048, 18, 95035, {1, 3, 5, 3, 21, 61, 11, 91, 317, 635, 61, 1919, 2139, 12817, 6587, 63201, 52659, 8971}}, +{19049, 18, 95040, {1, 3, 1, 9, 11, 47, 49, 35, 115, 711, 511, 835, 3787, 837, 15737, 7467, 53263, 132047}}, +{19050, 18, 95058, {1, 1, 5, 3, 27, 47, 121, 211, 65, 363, 1067, 3813, 6353, 13701, 23943, 7573, 112721, 219587}}, +{19051, 18, 95079, {1, 1, 3, 7, 21, 39, 15, 199, 113, 517, 1429, 1399, 6007, 1389, 16425, 17709, 1231, 51803}}, +{19052, 18, 95122, {1, 3, 5, 11, 5, 37, 35, 97, 215, 281, 517, 1777, 4171, 10161, 18369, 23233, 83005, 75519}}, +{19053, 18, 95149, {1, 3, 7, 9, 3, 9, 69, 111, 135, 351, 971, 3551, 3739, 3571, 22861, 62669, 83723, 10707}}, +{19054, 18, 95150, {1, 3, 3, 5, 31, 35, 103, 205, 321, 553, 409, 363, 4085, 7735, 5513, 64249, 127883, 147839}}, +{19055, 18, 95167, {1, 1, 7, 3, 23, 35, 85, 231, 251, 237, 421, 757, 7081, 11247, 24941, 22649, 51111, 157383}}, +{19056, 18, 95175, {1, 3, 7, 5, 23, 35, 7, 101, 491, 529, 1437, 489, 5057, 12955, 27543, 60903, 104151, 42545}}, +{19057, 18, 95205, {1, 1, 3, 15, 23, 53, 85, 89, 247, 269, 1555, 3789, 467, 11145, 11751, 44343, 120117, 9975}}, +{19058, 18, 95229, {1, 1, 5, 3, 29, 49, 123, 179, 311, 45, 1839, 2725, 7307, 5525, 32075, 7979, 107751, 133677}}, +{19059, 18, 95321, {1, 1, 5, 3, 31, 21, 65, 229, 31, 597, 755, 2653, 2699, 2075, 11693, 28953, 55811, 13653}}, +{19060, 18, 95345, {1, 1, 1, 7, 25, 51, 119, 21, 245, 493, 407, 2997, 4255, 15487, 26359, 24153, 42955, 142191}}, +{19061, 18, 95364, {1, 1, 5, 3, 27, 61, 13, 209, 13, 401, 399, 2909, 3623, 8057, 21301, 32273, 112127, 210221}}, +{19062, 18, 95379, {1, 3, 5, 13, 3, 19, 121, 19, 57, 583, 947, 3591, 5283, 10831, 20429, 54097, 7559, 112465}}, +{19063, 18, 95386, {1, 3, 5, 1, 21, 1, 125, 245, 217, 165, 1319, 2119, 4641, 9481, 4147, 7079, 119015, 128401}}, +{19064, 18, 95395, {1, 1, 5, 3, 3, 31, 25, 63, 17, 191, 497, 819, 1515, 11215, 24961, 7679, 125801, 239521}}, +{19065, 18, 95416, {1, 1, 5, 1, 3, 25, 27, 43, 37, 863, 739, 2585, 773, 799, 17649, 21171, 123541, 164777}}, +{19066, 18, 95419, {1, 3, 5, 7, 7, 25, 15, 251, 305, 159, 1941, 3655, 2881, 15123, 10911, 35541, 62221, 175845}}, +{19067, 18, 95433, {1, 1, 1, 9, 19, 5, 103, 1, 417, 951, 139, 2413, 2983, 15471, 9495, 41349, 110175, 29501}}, +{19068, 18, 95464, {1, 1, 1, 5, 29, 53, 95, 173, 211, 803, 1599, 4093, 5559, 15855, 12271, 12583, 102221, 203453}}, +{19069, 18, 95490, {1, 3, 5, 5, 19, 43, 31, 175, 493, 289, 1865, 2925, 3833, 11327, 23337, 62669, 99485, 230583}}, +{19070, 18, 95496, {1, 3, 3, 11, 11, 25, 95, 215, 501, 421, 725, 1571, 2133, 2761, 8649, 45359, 88851, 55057}}, +{19071, 18, 95504, {1, 1, 7, 7, 21, 45, 69, 63, 399, 929, 1431, 3397, 3613, 14595, 10417, 62913, 106283, 120869}}, +{19072, 18, 95513, {1, 3, 7, 15, 13, 45, 11, 177, 125, 611, 1115, 2441, 2689, 12517, 8989, 34991, 23789, 51543}}, +{19073, 18, 95523, {1, 1, 3, 1, 3, 15, 5, 125, 511, 137, 1919, 2953, 5267, 3543, 5485, 7463, 130407, 255945}}, +{19074, 18, 95525, {1, 1, 3, 7, 7, 21, 95, 97, 51, 91, 813, 2819, 2839, 12041, 26197, 20143, 51403, 171337}}, +{19075, 18, 95558, {1, 1, 1, 1, 7, 27, 15, 125, 441, 387, 1869, 2157, 5863, 581, 893, 58827, 104063, 93735}}, +{19076, 18, 95572, {1, 3, 3, 7, 27, 9, 79, 97, 465, 207, 931, 2809, 2225, 13749, 18819, 30605, 9829, 130743}}, +{19077, 18, 95591, {1, 3, 5, 13, 31, 41, 19, 147, 293, 725, 297, 397, 1343, 12669, 15339, 58599, 12113, 149835}}, +{19078, 18, 95609, {1, 3, 3, 13, 27, 13, 121, 253, 349, 229, 915, 1673, 3819, 77, 20691, 53823, 78265, 138743}}, +{19079, 18, 95619, {1, 1, 5, 5, 29, 41, 65, 235, 123, 871, 1809, 3013, 3531, 1551, 8441, 23481, 58729, 117639}}, +{19080, 18, 95625, {1, 1, 7, 5, 23, 55, 89, 81, 201, 313, 1307, 2427, 2025, 8543, 26631, 58655, 122095, 247579}}, +{19081, 18, 95633, {1, 3, 1, 5, 3, 63, 89, 219, 449, 9, 1771, 2915, 5925, 13773, 26119, 61309, 65107, 33001}}, +{19082, 18, 95649, {1, 3, 7, 1, 27, 11, 25, 221, 139, 665, 1543, 2157, 7617, 9135, 567, 64985, 88749, 54223}}, +{19083, 18, 95652, {1, 1, 3, 9, 13, 41, 7, 99, 483, 115, 1499, 3343, 7207, 1805, 16031, 63707, 8555, 90959}}, +{19084, 18, 95655, {1, 3, 1, 9, 15, 53, 41, 239, 295, 47, 1645, 1095, 5163, 7739, 26635, 28245, 9315, 100629}}, +{19085, 18, 95696, {1, 3, 1, 5, 1, 19, 69, 5, 171, 669, 673, 633, 6895, 7571, 11539, 25133, 99235, 7991}}, +{19086, 18, 95721, {1, 3, 5, 11, 21, 37, 63, 77, 281, 307, 1711, 2671, 1315, 14683, 28757, 22751, 56477, 190805}}, +{19087, 18, 95766, {1, 3, 3, 5, 15, 1, 5, 21, 199, 161, 655, 1263, 3315, 16051, 2409, 773, 9075, 121265}}, +{19088, 18, 95772, {1, 3, 3, 3, 7, 23, 71, 195, 11, 263, 1845, 165, 3489, 447, 11315, 23861, 110949, 78909}}, +{19089, 18, 95775, {1, 1, 7, 5, 1, 53, 37, 9, 439, 135, 909, 457, 6993, 11401, 14065, 30795, 56149, 168013}}, +{19090, 18, 95794, {1, 1, 1, 15, 23, 37, 13, 87, 113, 251, 233, 725, 7757, 14399, 3023, 54277, 87879, 54053}}, +{19091, 18, 95796, {1, 3, 5, 11, 11, 57, 109, 171, 171, 17, 343, 2749, 6525, 9735, 11715, 23783, 54439, 82819}}, +{19092, 18, 95818, {1, 1, 1, 15, 3, 47, 73, 237, 399, 301, 947, 2055, 1909, 14105, 26893, 47805, 25, 172957}}, +{19093, 18, 95820, {1, 1, 7, 7, 11, 27, 93, 167, 117, 637, 351, 319, 4605, 12897, 31001, 39655, 53551, 246113}}, +{19094, 18, 95832, {1, 3, 5, 15, 3, 37, 25, 9, 421, 519, 257, 3251, 1649, 4069, 999, 59367, 112383, 32095}}, +{19095, 18, 95842, {1, 3, 7, 7, 25, 57, 11, 37, 271, 545, 1213, 1927, 6471, 5145, 22995, 51051, 126981, 260457}}, +{19096, 18, 95851, {1, 3, 5, 11, 1, 61, 77, 201, 395, 199, 477, 103, 4069, 7003, 26371, 49145, 103839, 195661}}, +{19097, 18, 95854, {1, 3, 3, 9, 13, 41, 25, 125, 161, 371, 179, 351, 7169, 7179, 21627, 57793, 104679, 158583}}, +{19098, 18, 95859, {1, 3, 7, 11, 5, 7, 111, 163, 201, 783, 189, 273, 2751, 13917, 28501, 18261, 12755, 15521}}, +{19099, 18, 95868, {1, 1, 5, 7, 3, 37, 121, 209, 503, 299, 1301, 3703, 2321, 99, 14953, 28087, 85059, 256911}}, +{19100, 18, 95881, {1, 3, 3, 13, 3, 29, 95, 249, 383, 971, 1291, 13, 1587, 3447, 26477, 15837, 111141, 73899}}, +{19101, 18, 95895, {1, 1, 7, 1, 17, 57, 31, 1, 219, 329, 19, 3841, 1829, 5179, 14945, 6625, 3783, 200583}}, +{19102, 18, 95943, {1, 3, 1, 3, 1, 31, 23, 17, 209, 383, 297, 3065, 4323, 7847, 30189, 56541, 57535, 24853}}, +{19103, 18, 95949, {1, 1, 3, 11, 31, 35, 125, 141, 251, 79, 161, 775, 2455, 6959, 26433, 39145, 26563, 665}}, +{19104, 18, 95978, {1, 1, 7, 1, 11, 9, 9, 211, 231, 723, 1337, 1713, 3779, 2001, 23451, 27107, 64297, 254943}}, +{19105, 18, 95980, {1, 3, 7, 15, 21, 55, 19, 159, 449, 837, 1259, 1851, 5061, 355, 21531, 63479, 114657, 139265}}, +{19106, 18, 96010, {1, 1, 1, 3, 11, 55, 103, 179, 363, 567, 421, 981, 7221, 2077, 19339, 1155, 67019, 218231}}, +{19107, 18, 96020, {1, 1, 7, 11, 3, 43, 55, 161, 347, 995, 1555, 3251, 1605, 13313, 4499, 19361, 60145, 71593}}, +{19108, 18, 96024, {1, 1, 5, 3, 9, 15, 119, 213, 455, 241, 857, 683, 1247, 13085, 23919, 20365, 16303, 73263}}, +{19109, 18, 96063, {1, 1, 3, 13, 25, 17, 45, 193, 375, 289, 1381, 3629, 3015, 15883, 20633, 7431, 108787, 233297}}, +{19110, 18, 96108, {1, 1, 1, 15, 21, 57, 105, 91, 233, 961, 1623, 3849, 711, 3857, 32657, 5935, 85113, 38287}}, +{19111, 18, 96125, {1, 3, 3, 3, 15, 31, 97, 217, 335, 385, 1661, 3927, 6849, 137, 28871, 56485, 32777, 260033}}, +{19112, 18, 96154, {1, 1, 3, 13, 5, 61, 19, 255, 123, 481, 1865, 1815, 3047, 173, 25363, 1277, 6453, 174405}}, +{19113, 18, 96172, {1, 3, 7, 13, 27, 9, 19, 21, 433, 857, 1931, 2927, 629, 7733, 13503, 48263, 67517, 26495}}, +{19114, 18, 96189, {1, 1, 1, 3, 5, 43, 61, 239, 81, 585, 187, 1123, 3319, 8699, 20925, 40815, 76575, 169383}}, +{19115, 18, 96204, {1, 3, 3, 3, 9, 49, 71, 225, 95, 365, 645, 237, 7829, 5727, 17031, 58971, 71415, 232423}}, +{19116, 18, 96219, {1, 3, 5, 9, 25, 49, 113, 47, 105, 609, 1557, 2099, 2129, 8663, 24811, 25505, 38153, 185821}}, +{19117, 18, 96256, {1, 3, 5, 13, 23, 55, 107, 17, 309, 807, 635, 1007, 6207, 3363, 7607, 25013, 4141, 171509}}, +{19118, 18, 96261, {1, 1, 1, 13, 27, 35, 31, 89, 109, 879, 1845, 3999, 5415, 8777, 9605, 29703, 28149, 36469}}, +{19119, 18, 96289, {1, 3, 1, 3, 13, 3, 51, 31, 479, 549, 1245, 2033, 961, 13893, 21829, 32791, 109497, 187425}}, +{19120, 18, 96292, {1, 1, 5, 3, 19, 5, 25, 187, 173, 869, 201, 3851, 7369, 6229, 16577, 45623, 19859, 209855}}, +{19121, 18, 96296, {1, 1, 7, 9, 1, 9, 53, 47, 289, 557, 999, 141, 3789, 3087, 30217, 24221, 81431, 157507}}, +{19122, 18, 96324, {1, 1, 3, 9, 1, 25, 11, 73, 155, 155, 621, 4047, 6759, 5641, 28147, 8523, 69439, 92613}}, +{19123, 18, 96345, {1, 3, 1, 5, 25, 23, 41, 79, 71, 793, 1381, 307, 7863, 16289, 28783, 5299, 128481, 222799}}, +{19124, 18, 96346, {1, 1, 7, 1, 17, 33, 117, 111, 15, 249, 1397, 1349, 4883, 6009, 3179, 33509, 56355, 31937}}, +{19125, 18, 96358, {1, 3, 5, 13, 29, 15, 41, 185, 91, 501, 571, 2889, 6901, 3875, 3737, 23657, 101587, 261181}}, +{19126, 18, 96386, {1, 1, 7, 9, 21, 49, 33, 143, 19, 203, 75, 1353, 585, 7719, 11311, 48989, 10803, 51743}}, +{19127, 18, 96412, {1, 1, 7, 13, 23, 31, 103, 209, 375, 817, 1461, 3657, 7931, 15893, 15065, 28721, 54299, 71147}}, +{19128, 18, 96428, {1, 3, 7, 7, 7, 25, 37, 173, 355, 499, 247, 459, 7701, 2219, 11703, 20631, 128857, 125367}}, +{19129, 18, 96445, {1, 1, 3, 5, 25, 61, 43, 135, 451, 667, 547, 443, 5071, 12671, 26975, 20131, 101545, 115281}}, +{19130, 18, 96446, {1, 3, 3, 5, 9, 19, 75, 133, 211, 585, 1283, 3397, 3181, 65, 20213, 47725, 101883, 194749}}, +{19131, 18, 96448, {1, 1, 1, 1, 19, 13, 75, 135, 111, 641, 765, 1631, 4711, 241, 15125, 38233, 95535, 177965}}, +{19132, 18, 96458, {1, 1, 7, 13, 31, 1, 91, 61, 299, 35, 1327, 3903, 6193, 5589, 6331, 6321, 105741, 89639}}, +{19133, 18, 96475, {1, 3, 3, 15, 1, 55, 11, 39, 171, 713, 973, 1827, 3487, 13057, 30775, 16881, 124989, 208193}}, +{19134, 18, 96482, {1, 3, 7, 1, 21, 29, 19, 75, 397, 755, 1601, 2907, 6861, 10377, 23127, 2443, 86545, 3841}}, +{19135, 18, 96494, {1, 3, 1, 11, 25, 33, 53, 195, 343, 425, 1523, 3051, 3115, 3205, 3457, 20521, 39187, 33307}}, +{19136, 18, 96502, {1, 3, 5, 1, 25, 23, 47, 5, 133, 511, 1549, 2691, 7861, 4987, 2877, 38693, 37491, 22481}}, +{19137, 18, 96508, {1, 1, 5, 15, 5, 55, 125, 231, 11, 451, 1443, 3865, 4115, 2379, 13675, 29953, 85721, 114859}}, +{19138, 18, 96511, {1, 3, 1, 15, 19, 37, 29, 75, 483, 785, 1933, 2435, 1811, 2787, 32653, 23159, 80993, 26867}}, +{19139, 18, 96516, {1, 1, 1, 15, 7, 27, 53, 99, 11, 693, 1085, 743, 939, 6461, 6391, 45913, 94037, 217039}}, +{19140, 18, 96520, {1, 3, 3, 9, 19, 37, 93, 77, 363, 125, 1675, 347, 5599, 7771, 23549, 39945, 106931, 127959}}, +{19141, 18, 96547, {1, 3, 1, 5, 27, 47, 107, 85, 31, 621, 1529, 2349, 7055, 889, 4663, 1705, 40011, 214775}}, +{19142, 18, 96556, {1, 3, 1, 5, 11, 47, 35, 13, 139, 783, 1009, 845, 4139, 14713, 24191, 17597, 124923, 219657}}, +{19143, 18, 96561, {1, 1, 7, 3, 3, 25, 63, 207, 361, 587, 763, 3027, 6523, 6783, 11203, 57313, 115397, 149921}}, +{19144, 18, 96568, {1, 1, 7, 1, 21, 55, 109, 183, 487, 869, 195, 83, 3675, 13103, 12383, 63519, 48379, 256443}}, +{19145, 18, 96581, {1, 3, 7, 13, 9, 21, 29, 163, 105, 871, 747, 2459, 7383, 439, 5223, 1655, 1469, 50345}}, +{19146, 18, 96582, {1, 3, 1, 1, 15, 63, 37, 159, 385, 795, 1369, 1973, 6119, 6027, 23913, 52475, 80827, 198261}}, +{19147, 18, 96679, {1, 3, 3, 11, 15, 5, 121, 231, 43, 907, 1621, 3895, 5075, 10865, 3123, 49657, 69827, 215813}}, +{19148, 18, 96683, {1, 3, 1, 15, 7, 41, 75, 105, 87, 899, 629, 1699, 5861, 9279, 30107, 37443, 7555, 64461}}, +{19149, 18, 96717, {1, 3, 1, 7, 9, 15, 119, 127, 121, 621, 1117, 1659, 605, 13705, 31181, 40063, 17257, 77645}}, +{19150, 18, 96754, {1, 1, 5, 5, 3, 37, 95, 237, 379, 375, 903, 257, 4425, 14191, 9185, 57133, 82067, 73521}}, +{19151, 18, 96769, {1, 1, 7, 15, 1, 43, 63, 45, 121, 669, 1775, 179, 7385, 3557, 17261, 379, 24759, 214831}}, +{19152, 18, 96799, {1, 1, 3, 9, 31, 5, 43, 153, 451, 573, 1623, 2831, 4483, 7219, 27657, 47111, 58165, 145799}}, +{19153, 18, 96805, {1, 1, 3, 11, 3, 11, 111, 83, 329, 807, 779, 1223, 6095, 7269, 22425, 19343, 11937, 10173}}, +{19154, 18, 96809, {1, 1, 1, 13, 27, 15, 7, 111, 37, 663, 51, 3759, 6321, 8253, 737, 59501, 109595, 177827}}, +{19155, 18, 96823, {1, 1, 3, 3, 29, 39, 79, 115, 307, 765, 331, 377, 1873, 14491, 11065, 11865, 76717, 29101}}, +{19156, 18, 96829, {1, 3, 7, 3, 21, 45, 97, 213, 309, 3, 483, 3933, 1043, 8519, 22517, 34675, 78819, 172479}}, +{19157, 18, 96832, {1, 3, 5, 3, 31, 51, 27, 137, 405, 427, 815, 43, 6551, 10971, 28589, 53077, 36639, 167661}}, +{19158, 18, 96850, {1, 3, 1, 3, 29, 5, 111, 19, 343, 21, 557, 4067, 1525, 12793, 11513, 48869, 78035, 171531}}, +{19159, 18, 96856, {1, 1, 5, 7, 25, 47, 53, 245, 135, 137, 1697, 2057, 3147, 15903, 26979, 2157, 43967, 207661}}, +{19160, 18, 96906, {1, 1, 5, 3, 25, 11, 15, 59, 511, 307, 757, 3275, 1299, 10373, 11943, 54169, 32417, 21645}}, +{19161, 18, 96962, {1, 3, 3, 11, 15, 15, 5, 137, 237, 741, 1613, 3565, 7359, 6181, 25953, 18137, 59759, 186693}}, +{19162, 18, 96974, {1, 3, 5, 3, 19, 13, 99, 167, 45, 71, 1683, 3635, 7603, 14879, 23903, 14795, 58395, 11853}}, +{19163, 18, 96979, {1, 3, 1, 7, 15, 45, 111, 111, 175, 567, 1031, 2255, 3895, 11861, 20195, 15461, 88411, 225713}}, +{19164, 18, 96997, {1, 1, 7, 3, 5, 5, 85, 65, 231, 643, 1591, 219, 2929, 4845, 29327, 14769, 46629, 131367}}, +{19165, 18, 96998, {1, 1, 5, 9, 29, 21, 47, 87, 113, 469, 1647, 2461, 3663, 5865, 6647, 41345, 39539, 220301}}, +{19166, 18, 97002, {1, 1, 5, 11, 9, 55, 5, 147, 141, 181, 283, 1695, 6537, 11095, 10385, 36013, 111653, 182273}}, +{19167, 18, 97054, {1, 1, 3, 5, 17, 45, 103, 253, 407, 151, 1585, 1585, 6661, 14579, 5723, 37641, 56813, 258819}}, +{19168, 18, 97064, {1, 3, 3, 3, 5, 63, 85, 201, 87, 419, 1993, 737, 5859, 6049, 17393, 9453, 65915, 1731}}, +{19169, 18, 97067, {1, 1, 3, 3, 3, 27, 97, 135, 137, 731, 1559, 3409, 5973, 15981, 19833, 8419, 33273, 44155}}, +{19170, 18, 97110, {1, 3, 3, 9, 31, 55, 109, 191, 119, 59, 645, 1047, 7767, 8379, 13781, 52289, 31605, 186667}}, +{19171, 18, 97116, {1, 3, 1, 15, 9, 1, 23, 31, 23, 311, 1879, 1939, 5509, 14573, 10501, 38867, 39131, 231151}}, +{19172, 18, 97137, {1, 3, 7, 1, 31, 33, 33, 19, 475, 723, 795, 1793, 6639, 14349, 16639, 31473, 110411, 95703}}, +{19173, 18, 97138, {1, 1, 5, 9, 11, 3, 39, 119, 455, 839, 513, 2423, 2219, 6059, 6125, 60995, 117701, 204057}}, +{19174, 18, 97143, {1, 1, 1, 9, 5, 23, 87, 33, 59, 241, 1427, 3867, 1091, 14683, 21651, 7091, 38011, 63809}}, +{19175, 18, 97183, {1, 1, 7, 15, 15, 23, 75, 227, 415, 1015, 2033, 1311, 6659, 5093, 14799, 65331, 96989, 170395}}, +{19176, 18, 97187, {1, 3, 5, 15, 25, 61, 33, 179, 503, 875, 1853, 257, 6727, 9117, 16777, 29585, 110901, 231617}}, +{19177, 18, 97190, {1, 1, 1, 15, 13, 53, 73, 151, 315, 887, 669, 3959, 5279, 1461, 15497, 40107, 9595, 252059}}, +{19178, 18, 97202, {1, 3, 7, 13, 17, 45, 43, 61, 99, 555, 981, 3255, 6385, 8723, 24451, 45243, 68617, 171911}}, +{19179, 18, 97219, {1, 3, 3, 11, 1, 29, 97, 219, 341, 597, 503, 773, 3777, 5431, 4581, 37169, 57269, 186377}}, +{19180, 18, 97239, {1, 3, 1, 11, 15, 49, 119, 189, 279, 821, 1541, 1343, 4379, 5833, 26537, 29769, 121125, 202553}}, +{19181, 18, 97245, {1, 3, 5, 9, 19, 23, 5, 197, 323, 101, 1155, 7, 5933, 3111, 19595, 36807, 40147, 153}}, +{19182, 18, 97246, {1, 1, 5, 11, 17, 9, 83, 51, 185, 415, 367, 1431, 7803, 8253, 16283, 54545, 99733, 57777}}, +{19183, 18, 97249, {1, 1, 5, 7, 5, 31, 41, 13, 33, 531, 1381, 781, 1699, 6321, 18125, 34567, 113253, 104181}}, +{19184, 18, 97264, {1, 3, 1, 5, 1, 59, 37, 239, 343, 395, 121, 2181, 2485, 13825, 19127, 22689, 103023, 198213}}, +{19185, 18, 97267, {1, 3, 1, 15, 29, 17, 11, 27, 413, 273, 1805, 2845, 8147, 10301, 5423, 29859, 85243, 190379}}, +{19186, 18, 97269, {1, 3, 1, 15, 7, 61, 29, 135, 273, 951, 725, 1345, 4231, 13651, 31291, 6081, 85735, 96023}}, +{19187, 18, 97274, {1, 1, 3, 11, 15, 29, 81, 129, 245, 295, 527, 3905, 4323, 5447, 21253, 51177, 105105, 48323}}, +{19188, 18, 97282, {1, 1, 3, 13, 13, 45, 71, 43, 383, 95, 1689, 639, 4631, 15113, 28053, 49247, 128303, 183999}}, +{19189, 18, 97287, {1, 1, 1, 3, 19, 31, 93, 35, 369, 765, 1201, 1625, 7683, 8719, 13843, 42723, 62323, 49431}}, +{19190, 18, 97294, {1, 3, 3, 11, 5, 39, 49, 217, 109, 63, 1753, 2489, 6017, 403, 16657, 59577, 80255, 66071}}, +{19191, 18, 97299, {1, 3, 5, 5, 11, 1, 79, 37, 261, 537, 1845, 3567, 3233, 16249, 9795, 2471, 69661, 118231}}, +{19192, 18, 97306, {1, 3, 3, 1, 19, 61, 35, 253, 31, 19, 161, 2597, 5733, 8231, 26569, 38613, 121945, 137391}}, +{19193, 18, 97347, {1, 3, 7, 3, 15, 25, 125, 231, 187, 797, 1237, 1767, 1557, 1095, 13613, 43325, 33801, 127881}}, +{19194, 18, 97361, {1, 1, 1, 9, 23, 63, 75, 107, 311, 493, 471, 2985, 1861, 4285, 27125, 14961, 122567, 152033}}, +{19195, 18, 97371, {1, 3, 5, 7, 9, 7, 43, 117, 203, 727, 101, 3831, 3201, 2327, 4675, 12085, 25131, 211835}}, +{19196, 18, 97435, {1, 1, 7, 11, 17, 1, 5, 87, 291, 1023, 1345, 3879, 7739, 9201, 19573, 20037, 128711, 187263}}, +{19197, 18, 97466, {1, 1, 3, 13, 25, 39, 71, 251, 365, 617, 1539, 2121, 3803, 8003, 23393, 56991, 56143, 223453}}, +{19198, 18, 97473, {1, 3, 5, 13, 25, 61, 71, 139, 319, 399, 903, 3063, 3667, 275, 13297, 25285, 120417, 169613}}, +{19199, 18, 97474, {1, 3, 1, 9, 9, 41, 59, 213, 195, 705, 313, 2313, 4993, 323, 24049, 30527, 27287, 80489}}, +{19200, 18, 97559, {1, 1, 5, 1, 29, 57, 107, 161, 217, 295, 721, 3857, 1935, 14981, 12243, 38541, 51177, 248889}}, +{19201, 18, 97565, {1, 1, 1, 15, 5, 25, 95, 137, 11, 215, 971, 1573, 4341, 4725, 8201, 33147, 87687, 187405}}, +{19202, 18, 97587, {1, 3, 3, 9, 9, 13, 31, 3, 175, 309, 145, 2265, 4863, 7199, 23881, 15445, 123753, 126653}}, +{19203, 18, 97611, {1, 1, 7, 3, 7, 43, 51, 191, 21, 639, 939, 691, 7823, 10529, 7757, 9291, 115045, 51539}}, +{19204, 18, 97622, {1, 1, 7, 13, 7, 45, 91, 173, 73, 779, 1647, 2059, 1373, 16027, 4611, 45787, 699, 78905}}, +{19205, 18, 97625, {1, 1, 5, 15, 5, 23, 123, 45, 265, 1009, 235, 1343, 5779, 209, 23263, 63163, 26079, 240905}}, +{19206, 18, 97632, {1, 1, 1, 11, 19, 31, 75, 105, 71, 21, 1361, 2125, 6949, 2111, 10333, 61881, 112811, 85723}}, +{19207, 18, 97635, {1, 3, 5, 7, 27, 17, 95, 35, 503, 181, 1885, 1097, 6019, 13745, 15009, 26343, 117727, 93017}}, +{19208, 18, 97652, {1, 1, 3, 11, 27, 41, 109, 23, 365, 283, 1509, 3269, 5969, 14567, 27715, 429, 65813, 169391}}, +{19209, 18, 97672, {1, 1, 5, 9, 11, 1, 23, 143, 401, 61, 993, 3029, 1901, 12947, 10439, 48661, 113863, 9353}}, +{19210, 18, 97678, {1, 3, 7, 3, 15, 27, 123, 51, 403, 569, 75, 3837, 8167, 10875, 29861, 44133, 52385, 185515}}, +{19211, 18, 97683, {1, 3, 3, 15, 15, 45, 3, 77, 439, 265, 103, 3715, 7889, 9241, 26511, 19063, 108239, 237233}}, +{19212, 18, 97695, {1, 1, 5, 13, 7, 47, 7, 185, 155, 833, 1895, 1103, 6761, 4307, 19551, 2371, 41079, 207663}}, +{19213, 18, 97705, {1, 1, 3, 7, 1, 49, 79, 127, 149, 383, 919, 3787, 6703, 8823, 15551, 28397, 11497, 144227}}, +{19214, 18, 97713, {1, 1, 7, 15, 7, 5, 9, 161, 425, 275, 1943, 3003, 3615, 1417, 587, 20949, 9651, 101257}}, +{19215, 18, 97719, {1, 3, 5, 11, 31, 11, 113, 201, 113, 889, 867, 3537, 7173, 3403, 4713, 29709, 50127, 55893}}, +{19216, 18, 97757, {1, 3, 7, 11, 11, 17, 123, 97, 3, 1009, 1567, 3261, 8053, 4639, 24493, 64085, 73975, 123965}}, +{19217, 18, 97761, {1, 1, 7, 1, 31, 7, 111, 137, 427, 615, 865, 2243, 3603, 5943, 1639, 22213, 81977, 77283}}, +{19218, 18, 97762, {1, 1, 5, 11, 25, 63, 5, 19, 67, 469, 621, 2831, 1635, 11859, 23143, 29189, 43955, 87475}}, +{19219, 18, 97771, {1, 3, 7, 15, 7, 61, 125, 207, 401, 567, 1943, 2645, 641, 15427, 24467, 41767, 122591, 48905}}, +{19220, 18, 97795, {1, 3, 3, 5, 1, 61, 65, 169, 329, 489, 435, 1719, 491, 6189, 18383, 34973, 90611, 180991}}, +{19221, 18, 97809, {1, 3, 7, 9, 25, 43, 115, 11, 289, 193, 263, 3885, 4881, 15669, 19757, 20073, 119873, 67069}}, +{19222, 18, 97826, {1, 1, 7, 11, 3, 45, 93, 115, 233, 891, 1541, 2557, 2115, 2237, 4253, 30445, 32983, 86185}}, +{19223, 18, 97845, {1, 3, 7, 3, 29, 23, 105, 51, 157, 505, 773, 2403, 1237, 5193, 32725, 53331, 66377, 25745}}, +{19224, 18, 97877, {1, 3, 5, 11, 31, 5, 111, 251, 287, 225, 913, 97, 3429, 15111, 10637, 18843, 102589, 229667}}, +{19225, 18, 97882, {1, 3, 7, 13, 21, 43, 27, 11, 265, 991, 1645, 1967, 2675, 3083, 2957, 65275, 7757, 201953}}, +{19226, 18, 97891, {1, 3, 7, 7, 23, 59, 37, 105, 113, 961, 1585, 855, 6037, 8461, 24057, 46861, 42421, 21061}}, +{19227, 18, 97903, {1, 1, 5, 1, 7, 45, 37, 147, 225, 793, 737, 753, 565, 5347, 15393, 42611, 39253, 246455}}, +{19228, 18, 97961, {1, 3, 3, 5, 29, 59, 125, 69, 283, 677, 1615, 3341, 219, 10753, 445, 43343, 117035, 137907}}, +{19229, 18, 97970, {1, 1, 5, 1, 19, 41, 93, 137, 481, 93, 703, 1211, 4051, 5591, 5913, 32831, 62027, 60519}}, +{19230, 18, 97975, {1, 1, 7, 13, 17, 63, 65, 147, 361, 83, 1383, 1761, 579, 9493, 2611, 6951, 12197, 81857}}, +{19231, 18, 97996, {1, 3, 3, 15, 11, 3, 25, 7, 221, 211, 1745, 1173, 5479, 12063, 5667, 43443, 4865, 193345}}, +{19232, 18, 98001, {1, 1, 5, 11, 31, 11, 71, 61, 57, 851, 1089, 1395, 4525, 1223, 27681, 14355, 23125, 257233}}, +{19233, 18, 98014, {1, 3, 1, 11, 25, 59, 17, 193, 229, 1005, 387, 3993, 2457, 4185, 18421, 1315, 125155, 142277}}, +{19234, 18, 98023, {1, 1, 5, 11, 13, 55, 123, 191, 5, 1023, 705, 3481, 367, 12961, 11917, 12131, 99109, 105093}}, +{19235, 18, 98035, {1, 1, 3, 11, 13, 29, 57, 57, 467, 19, 1409, 971, 3041, 13487, 24737, 3377, 97883, 248893}}, +{19236, 18, 98052, {1, 3, 7, 3, 3, 37, 109, 77, 201, 469, 39, 1747, 2027, 14781, 18821, 34647, 123865, 195097}}, +{19237, 18, 98059, {1, 3, 3, 5, 29, 27, 97, 217, 249, 141, 431, 1621, 539, 8945, 3443, 48227, 27867, 205355}}, +{19238, 18, 98061, {1, 1, 3, 13, 7, 57, 65, 167, 103, 511, 239, 325, 1793, 2811, 14223, 40999, 12589, 149759}}, +{19239, 18, 98086, {1, 3, 5, 11, 3, 1, 61, 87, 283, 29, 507, 3473, 2685, 13829, 32337, 8413, 12201, 152309}}, +{19240, 18, 98098, {1, 3, 5, 15, 1, 23, 103, 173, 423, 915, 1519, 1859, 7341, 8689, 17141, 53769, 81189, 144305}}, +{19241, 18, 98117, {1, 1, 1, 5, 31, 41, 89, 117, 329, 245, 381, 3357, 1053, 15079, 3569, 27665, 65645, 259279}}, +{19242, 18, 98118, {1, 1, 7, 5, 3, 55, 91, 35, 463, 15, 1195, 533, 6013, 10755, 1919, 61169, 81285, 82757}}, +{19243, 18, 98132, {1, 3, 5, 11, 3, 29, 85, 169, 163, 733, 939, 3401, 3709, 3307, 17329, 56873, 10721, 174235}}, +{19244, 18, 98135, {1, 1, 5, 1, 11, 45, 75, 247, 435, 21, 1985, 2261, 7013, 4935, 2457, 41077, 53121, 143269}}, +{19245, 18, 98145, {1, 3, 3, 13, 17, 59, 43, 149, 27, 1, 367, 957, 5607, 2591, 22161, 10095, 73769, 52455}}, +{19246, 18, 98160, {1, 1, 3, 13, 15, 15, 121, 83, 469, 819, 1973, 3595, 2313, 1621, 3105, 42971, 7243, 98727}}, +{19247, 18, 98194, {1, 1, 5, 7, 21, 53, 123, 9, 119, 437, 1567, 431, 3647, 10967, 22037, 8523, 81279, 126473}}, +{19248, 18, 98205, {1, 1, 5, 13, 5, 23, 125, 119, 195, 555, 341, 2037, 313, 6323, 27201, 8377, 122793, 197781}}, +{19249, 18, 98210, {1, 3, 3, 5, 17, 25, 67, 237, 349, 443, 1529, 3541, 3105, 10105, 13409, 20165, 64597, 244513}}, +{19250, 18, 98224, {1, 1, 5, 1, 11, 43, 77, 245, 359, 625, 1171, 597, 3, 591, 2457, 20275, 75995, 204685}}, +{19251, 18, 98227, {1, 3, 1, 11, 5, 13, 99, 107, 285, 617, 1687, 2959, 4439, 771, 3103, 62363, 89437, 172221}}, +{19252, 18, 98254, {1, 3, 1, 11, 1, 63, 43, 85, 23, 95, 501, 1223, 669, 16101, 1071, 53175, 102101, 419}}, +{19253, 18, 98271, {1, 3, 1, 5, 19, 23, 63, 105, 289, 419, 885, 441, 5107, 4213, 8683, 1847, 113301, 240821}}, +{19254, 18, 98272, {1, 1, 1, 9, 9, 9, 111, 63, 53, 531, 517, 3463, 8171, 2645, 13883, 52213, 40707, 24637}}, +{19255, 18, 98302, {1, 3, 1, 5, 15, 43, 71, 215, 117, 685, 1819, 1105, 5805, 8875, 31093, 31077, 93807, 65631}}, +{19256, 18, 98320, {1, 1, 7, 7, 17, 15, 31, 87, 13, 615, 2003, 3461, 7585, 1947, 6693, 26141, 95059, 52229}}, +{19257, 18, 98346, {1, 1, 3, 5, 5, 55, 7, 41, 473, 541, 545, 2901, 763, 12731, 24715, 43301, 7981, 123961}}, +{19258, 18, 98356, {1, 3, 1, 11, 13, 29, 65, 47, 511, 931, 1681, 3813, 995, 4261, 32243, 21327, 33749, 52607}}, +{19259, 18, 98360, {1, 1, 3, 1, 27, 51, 19, 119, 71, 989, 485, 1483, 4115, 11743, 5513, 32447, 62599, 163185}}, +{19260, 18, 98366, {1, 3, 7, 13, 7, 5, 127, 67, 221, 773, 1641, 3763, 2061, 2025, 29813, 64385, 109219, 70149}}, +{19261, 18, 98478, {1, 1, 5, 15, 9, 29, 105, 245, 333, 11, 803, 1877, 6735, 3797, 1913, 63837, 23649, 234721}}, +{19262, 18, 98483, {1, 3, 7, 13, 11, 21, 113, 175, 385, 885, 1259, 983, 7715, 11889, 12515, 35723, 9897, 63415}}, +{19263, 18, 98486, {1, 1, 5, 9, 31, 63, 53, 51, 375, 133, 2021, 3173, 3861, 9885, 4117, 37505, 73687, 16411}}, +{19264, 18, 98497, {1, 3, 7, 7, 11, 13, 99, 235, 285, 159, 489, 917, 3033, 7711, 6545, 52893, 28549, 68791}}, +{19265, 18, 98528, {1, 1, 5, 11, 31, 15, 89, 157, 105, 347, 455, 3391, 5341, 16035, 11819, 57679, 48057, 147673}}, +{19266, 18, 98537, {1, 3, 1, 5, 21, 5, 1, 41, 213, 677, 1745, 2591, 6237, 14265, 5963, 30017, 47293, 199411}}, +{19267, 18, 98551, {1, 3, 1, 15, 19, 9, 65, 103, 489, 977, 579, 2571, 2827, 12971, 24445, 17963, 68829, 89781}}, +{19268, 18, 98557, {1, 3, 5, 7, 3, 45, 9, 223, 137, 749, 919, 2695, 7569, 6735, 16649, 55899, 91531, 10709}}, +{19269, 18, 98572, {1, 1, 5, 11, 25, 51, 81, 243, 473, 85, 1189, 2317, 785, 9307, 25555, 36623, 66881, 150945}}, +{19270, 18, 98575, {1, 1, 3, 7, 9, 17, 99, 57, 333, 891, 71, 2359, 2067, 13265, 30077, 17935, 47343, 22673}}, +{19271, 18, 98600, {1, 1, 5, 7, 13, 17, 77, 109, 427, 667, 1367, 2383, 7505, 11239, 14229, 35431, 35473, 62447}}, +{19272, 18, 98628, {1, 1, 1, 15, 27, 5, 51, 221, 471, 877, 449, 3961, 4197, 15713, 2955, 58985, 31431, 241539}}, +{19273, 18, 98635, {1, 1, 7, 1, 13, 61, 55, 199, 87, 679, 723, 271, 1061, 8043, 13163, 8079, 81501, 60467}}, +{19274, 18, 98645, {1, 1, 3, 3, 11, 1, 85, 65, 445, 731, 2017, 3113, 8085, 7133, 14789, 2435, 38459, 234997}}, +{19275, 18, 98652, {1, 3, 3, 9, 23, 31, 49, 137, 349, 651, 1975, 3429, 7137, 7841, 28297, 58209, 36493, 259097}}, +{19276, 18, 98655, {1, 1, 7, 15, 23, 11, 87, 133, 245, 445, 151, 4075, 141, 15395, 16649, 36925, 98421, 217265}}, +{19277, 18, 98665, {1, 3, 3, 5, 25, 53, 57, 177, 481, 177, 671, 1249, 2663, 12855, 24537, 31867, 110323, 164113}}, +{19278, 18, 98710, {1, 3, 5, 7, 23, 25, 19, 91, 447, 1023, 373, 3863, 4399, 12973, 7475, 37485, 8567, 53271}}, +{19279, 18, 98719, {1, 1, 5, 7, 31, 33, 31, 75, 223, 299, 1549, 1863, 353, 4339, 8891, 10365, 3399, 185807}}, +{19280, 18, 98720, {1, 1, 7, 9, 31, 53, 23, 203, 319, 915, 1923, 205, 3119, 7243, 25251, 12907, 101921, 102695}}, +{19281, 18, 98786, {1, 1, 7, 9, 15, 1, 123, 173, 123, 215, 263, 3003, 5881, 1117, 15195, 47457, 66663, 224177}}, +{19282, 18, 98792, {1, 1, 7, 13, 11, 25, 61, 121, 173, 115, 1897, 2145, 7783, 9673, 3321, 1707, 61475, 53875}}, +{19283, 18, 98806, {1, 3, 7, 3, 31, 21, 27, 99, 421, 225, 1565, 2351, 2275, 10583, 7877, 43505, 27629, 140919}}, +{19284, 18, 98816, {1, 3, 5, 5, 11, 45, 71, 105, 487, 867, 361, 3995, 2039, 1495, 27481, 4753, 20657, 67077}}, +{19285, 18, 98836, {1, 1, 5, 1, 19, 33, 1, 77, 377, 353, 719, 1463, 7053, 7409, 32165, 15557, 117673, 69887}}, +{19286, 18, 98859, {1, 1, 5, 7, 25, 5, 15, 231, 23, 213, 1627, 1801, 7793, 651, 9903, 51745, 111611, 39679}}, +{19287, 18, 98864, {1, 3, 3, 5, 23, 43, 37, 199, 437, 19, 1853, 2119, 461, 12641, 15865, 39941, 122545, 213443}}, +{19288, 18, 98879, {1, 3, 3, 11, 31, 45, 19, 227, 507, 909, 1501, 2021, 905, 1763, 1897, 3735, 81475, 30005}}, +{19289, 18, 98905, {1, 1, 5, 5, 29, 9, 55, 25, 23, 59, 593, 2197, 6029, 8235, 8397, 27521, 96221, 168837}}, +{19290, 18, 98917, {1, 3, 1, 15, 5, 33, 75, 121, 433, 557, 1011, 3785, 2545, 953, 17295, 14407, 94871, 60445}}, +{19291, 18, 98929, {1, 3, 3, 7, 7, 53, 29, 75, 171, 587, 1701, 3815, 2761, 4403, 39, 17291, 34897, 187257}}, +{19292, 18, 98969, {1, 3, 1, 15, 17, 57, 11, 95, 335, 13, 265, 1161, 7945, 6419, 26723, 31907, 89995, 82265}}, +{19293, 18, 98975, {1, 1, 7, 5, 9, 59, 27, 153, 37, 165, 823, 3525, 621, 4777, 3485, 9109, 116567, 34691}}, +{19294, 18, 98976, {1, 1, 5, 13, 23, 27, 11, 63, 35, 39, 995, 2101, 2611, 14139, 2683, 63787, 19813, 97497}}, +{19295, 18, 98981, {1, 3, 7, 15, 31, 15, 3, 163, 167, 53, 71, 1881, 4213, 3485, 21525, 705, 122345, 203549}}, +{19296, 18, 98999, {1, 3, 5, 5, 21, 33, 85, 133, 21, 505, 1639, 3989, 771, 7171, 21953, 34503, 31247, 247459}}, +{19297, 18, 99020, {1, 1, 7, 7, 31, 1, 27, 39, 469, 243, 679, 4091, 7137, 8505, 13329, 34139, 69485, 259795}}, +{19298, 18, 99026, {1, 3, 5, 5, 31, 43, 31, 161, 413, 657, 1407, 1417, 7349, 3301, 7691, 49355, 22929, 68043}}, +{19299, 18, 99054, {1, 1, 7, 11, 15, 61, 73, 217, 163, 503, 193, 3795, 41, 16251, 1187, 65363, 113211, 100337}}, +{19300, 18, 99083, {1, 3, 1, 11, 9, 15, 109, 187, 109, 865, 845, 1579, 321, 1269, 20613, 5693, 58421, 254959}}, +{19301, 18, 99093, {1, 3, 1, 13, 11, 3, 19, 135, 93, 779, 1383, 219, 2737, 377, 1125, 35663, 130815, 103797}}, +{19302, 18, 99103, {1, 1, 5, 11, 25, 25, 71, 249, 201, 679, 1677, 1817, 7619, 10327, 14821, 47847, 33629, 250979}}, +{19303, 18, 99131, {1, 1, 7, 15, 23, 19, 69, 39, 25, 843, 99, 3499, 2457, 11681, 30009, 17609, 46653, 162427}}, +{19304, 18, 99156, {1, 3, 3, 7, 23, 25, 77, 135, 61, 501, 1381, 3977, 1957, 11255, 16053, 30297, 58835, 97589}}, +{19305, 18, 99159, {1, 3, 5, 3, 9, 31, 9, 55, 421, 109, 1823, 1921, 7349, 2661, 4503, 36691, 48843, 182631}}, +{19306, 18, 99165, {1, 1, 1, 11, 7, 23, 107, 125, 393, 105, 1407, 3461, 4539, 6121, 7881, 32407, 83749, 98831}}, +{19307, 18, 99170, {1, 3, 3, 13, 5, 59, 5, 3, 185, 959, 241, 819, 1443, 1789, 12771, 26703, 25399, 182583}}, +{19308, 18, 99189, {1, 1, 1, 3, 3, 47, 7, 45, 93, 373, 175, 87, 649, 12903, 5029, 1945, 111967, 140889}}, +{19309, 18, 99223, {1, 3, 1, 11, 9, 47, 25, 191, 215, 845, 1557, 9, 3451, 5837, 11763, 29127, 113115, 99039}}, +{19310, 18, 99227, {1, 1, 1, 5, 23, 53, 45, 1, 361, 751, 807, 1765, 685, 2109, 28437, 60489, 65739, 234511}}, +{19311, 18, 99271, {1, 3, 3, 7, 15, 57, 71, 61, 195, 123, 1745, 3249, 351, 14309, 2017, 15653, 110803, 45937}}, +{19312, 18, 99277, {1, 3, 7, 9, 25, 11, 25, 29, 467, 313, 1927, 2423, 7311, 14299, 8145, 8123, 115103, 213881}}, +{19313, 18, 99278, {1, 1, 3, 15, 1, 35, 111, 99, 507, 417, 1433, 129, 5565, 13365, 18853, 8607, 109739, 120623}}, +{19314, 18, 99313, {1, 1, 1, 7, 13, 31, 93, 3, 327, 67, 1101, 1965, 5939, 6505, 3117, 3021, 33707, 79353}}, +{19315, 18, 99314, {1, 1, 3, 7, 15, 21, 23, 117, 367, 137, 287, 903, 4685, 13943, 26779, 24607, 70853, 99743}}, +{19316, 18, 99345, {1, 1, 7, 11, 25, 43, 67, 181, 459, 737, 1567, 3491, 5085, 6487, 23115, 62341, 102943, 77301}}, +{19317, 18, 99361, {1, 1, 3, 15, 7, 35, 81, 199, 455, 851, 835, 3421, 4675, 15173, 9205, 7305, 109849, 15183}}, +{19318, 18, 99367, {1, 3, 5, 11, 9, 55, 3, 53, 235, 271, 1265, 3681, 3627, 3485, 11591, 53097, 85949, 158173}}, +{19319, 18, 99386, {1, 3, 7, 3, 15, 27, 57, 183, 487, 9, 1797, 2973, 3687, 12987, 9133, 14595, 52067, 131217}}, +{19320, 18, 99394, {1, 1, 5, 3, 7, 25, 19, 215, 291, 325, 813, 577, 4249, 10373, 17233, 29557, 72979, 70721}}, +{19321, 18, 99417, {1, 3, 1, 7, 25, 1, 107, 167, 367, 303, 883, 993, 4189, 6557, 13697, 15251, 77065, 116127}}, +{19322, 18, 99418, {1, 3, 5, 11, 13, 59, 9, 121, 489, 593, 1503, 601, 5263, 13837, 20991, 35761, 45867, 155905}}, +{19323, 18, 99453, {1, 1, 3, 3, 19, 47, 127, 115, 267, 261, 969, 961, 5919, 10085, 29363, 4935, 100485, 75561}}, +{19324, 18, 99454, {1, 3, 1, 15, 11, 53, 39, 187, 53, 11, 1951, 913, 965, 2565, 5457, 3237, 24923, 245681}}, +{19325, 18, 99477, {1, 1, 7, 3, 15, 5, 25, 45, 17, 45, 1317, 1853, 6627, 15879, 29935, 24749, 118149, 35359}}, +{19326, 18, 99518, {1, 1, 7, 1, 21, 45, 67, 71, 25, 743, 925, 3441, 3013, 1613, 6321, 12491, 119931, 164701}}, +{19327, 18, 99544, {1, 1, 7, 1, 13, 15, 35, 187, 91, 995, 401, 2443, 4183, 10823, 20589, 27413, 117095, 20359}}, +{19328, 18, 99559, {1, 3, 3, 7, 15, 51, 55, 167, 409, 859, 719, 3223, 2457, 16013, 13639, 4027, 79339, 225113}}, +{19329, 18, 99592, {1, 3, 1, 9, 3, 29, 105, 193, 279, 27, 1093, 2199, 6983, 619, 10163, 40365, 71015, 102191}}, +{19330, 18, 99597, {1, 1, 3, 9, 29, 5, 33, 247, 27, 299, 2017, 379, 6199, 15047, 18329, 3493, 47679, 76703}}, +{19331, 18, 99603, {1, 3, 5, 5, 9, 19, 51, 129, 157, 831, 1373, 653, 7489, 13125, 1815, 10915, 88679, 50269}}, +{19332, 18, 99621, {1, 3, 3, 9, 9, 49, 79, 11, 181, 679, 1697, 3707, 205, 13305, 6293, 56653, 42619, 116257}}, +{19333, 18, 99646, {1, 1, 5, 9, 23, 41, 17, 135, 145, 715, 257, 1561, 6941, 2411, 31459, 25055, 35807, 51579}}, +{19334, 18, 99693, {1, 1, 1, 7, 11, 13, 49, 155, 403, 569, 751, 2959, 425, 13949, 22047, 49829, 71925, 101647}}, +{19335, 18, 99722, {1, 1, 3, 15, 15, 15, 17, 213, 113, 395, 1999, 2039, 3623, 13255, 24435, 54487, 78773, 202637}}, +{19336, 18, 99760, {1, 3, 7, 9, 5, 21, 61, 165, 97, 349, 1131, 2677, 333, 13129, 2137, 22909, 95795, 143081}}, +{19337, 18, 99780, {1, 1, 1, 5, 31, 41, 109, 179, 295, 475, 639, 3929, 1841, 7545, 19411, 52573, 10173, 236769}}, +{19338, 18, 99789, {1, 1, 1, 5, 27, 51, 9, 217, 393, 671, 931, 433, 7303, 16295, 6727, 5703, 88241, 132665}}, +{19339, 18, 99804, {1, 1, 7, 13, 21, 33, 19, 241, 497, 519, 1413, 489, 4975, 1345, 24925, 40383, 110815, 136217}}, +{19340, 18, 99823, {1, 3, 1, 9, 7, 51, 79, 15, 15, 601, 997, 3713, 7829, 903, 12393, 60059, 42057, 175141}}, +{19341, 18, 99826, {1, 1, 5, 15, 9, 63, 107, 63, 495, 591, 207, 779, 8069, 3013, 23839, 3075, 127481, 193885}}, +{19342, 18, 99832, {1, 1, 1, 7, 13, 17, 121, 171, 99, 59, 1043, 1109, 1337, 1179, 27635, 34063, 12945, 1431}}, +{19343, 18, 99842, {1, 3, 1, 3, 5, 47, 101, 205, 157, 595, 263, 3887, 7015, 4693, 15211, 25381, 128803, 227233}}, +{19344, 18, 99851, {1, 1, 3, 11, 17, 33, 1, 19, 153, 603, 119, 2305, 4041, 4011, 19849, 761, 52807, 129811}}, +{19345, 18, 99862, {1, 3, 7, 15, 21, 7, 13, 225, 497, 459, 389, 911, 6349, 5059, 6363, 41915, 90687, 214501}}, +{19346, 18, 99871, {1, 3, 1, 15, 1, 39, 31, 83, 147, 629, 185, 1913, 3217, 959, 651, 65267, 108613, 20391}}, +{19347, 18, 99899, {1, 3, 1, 7, 9, 11, 29, 201, 245, 815, 1869, 2597, 5693, 15669, 23293, 30885, 4029, 225737}}, +{19348, 18, 99940, {1, 3, 5, 11, 7, 29, 119, 207, 499, 23, 1563, 3645, 3839, 2509, 24043, 64231, 22509, 221835}}, +{19349, 18, 99983, {1, 3, 3, 7, 11, 49, 13, 201, 353, 217, 831, 2803, 1521, 12989, 25339, 41035, 2125, 165271}}, +{19350, 18, 99985, {1, 1, 5, 11, 1, 45, 93, 29, 55, 1007, 1919, 241, 5931, 9211, 17291, 39849, 25453, 96077}}, +{19351, 18, 100025, {1, 3, 1, 1, 29, 43, 11, 105, 331, 693, 1363, 291, 8191, 7813, 14135, 38287, 15469, 256913}}, +{19352, 18, 100043, {1, 3, 5, 11, 19, 21, 23, 117, 253, 111, 733, 3785, 5835, 423, 30251, 27283, 79561, 162095}}, +{19353, 18, 100070, {1, 3, 3, 1, 9, 19, 83, 13, 37, 725, 1597, 1117, 8067, 8085, 1315, 41813, 8973, 175525}}, +{19354, 18, 100076, {1, 1, 5, 3, 13, 39, 3, 213, 335, 907, 1143, 1729, 601, 11255, 24351, 41045, 11335, 186221}}, +{19355, 18, 100084, {1, 3, 3, 9, 17, 11, 29, 33, 303, 815, 1607, 2403, 8095, 4213, 16697, 64733, 24439, 93081}}, +{19356, 18, 100096, {1, 1, 1, 3, 13, 37, 35, 181, 243, 645, 1915, 3521, 569, 3005, 7271, 32755, 64575, 119813}}, +{19357, 18, 100105, {1, 1, 5, 13, 25, 59, 77, 121, 459, 755, 385, 1893, 1227, 9957, 5069, 40063, 27261, 4703}}, +{19358, 18, 100108, {1, 3, 1, 3, 29, 41, 95, 255, 219, 21, 317, 3021, 2615, 5101, 19413, 25795, 6521, 157749}}, +{19359, 18, 100123, {1, 3, 3, 5, 7, 33, 7, 205, 415, 23, 1431, 117, 1605, 9541, 11825, 49195, 86341, 99673}}, +{19360, 18, 100132, {1, 3, 3, 5, 17, 37, 33, 209, 49, 161, 321, 3697, 6483, 12859, 895, 675, 1899, 260289}}, +{19361, 18, 100141, {1, 1, 3, 15, 1, 27, 83, 125, 309, 553, 505, 2209, 4931, 2593, 28253, 12879, 74971, 9047}}, +{19362, 18, 100181, {1, 3, 7, 3, 15, 3, 105, 19, 41, 119, 149, 3847, 6593, 875, 23777, 4547, 57717, 139387}}, +{19363, 18, 100191, {1, 1, 1, 3, 9, 43, 25, 15, 67, 609, 951, 273, 8095, 621, 24819, 17233, 53423, 192757}}, +{19364, 18, 100202, {1, 3, 5, 3, 9, 49, 107, 215, 245, 217, 545, 2285, 2075, 401, 26599, 32967, 130457, 203755}}, +{19365, 18, 100216, {1, 1, 5, 1, 7, 31, 87, 181, 135, 155, 9, 1431, 307, 13367, 31147, 10327, 2817, 63327}}, +{19366, 18, 100246, {1, 3, 3, 3, 29, 17, 55, 201, 33, 275, 2005, 3037, 3439, 1513, 7563, 46491, 103319, 5279}}, +{19367, 18, 100256, {1, 3, 7, 11, 31, 63, 105, 169, 257, 225, 711, 2041, 1519, 11801, 18543, 35173, 92125, 72729}}, +{19368, 18, 100271, {1, 1, 3, 3, 11, 13, 127, 231, 229, 809, 303, 1167, 47, 4281, 2373, 10455, 74685, 131775}}, +{19369, 18, 100285, {1, 1, 5, 15, 1, 5, 97, 139, 189, 39, 37, 3513, 2119, 1453, 11477, 45477, 75613, 169915}}, +{19370, 18, 100294, {1, 3, 5, 1, 15, 27, 31, 87, 311, 785, 489, 1331, 5259, 6963, 26441, 41675, 107187, 60723}}, +{19371, 18, 100305, {1, 1, 3, 5, 13, 9, 33, 3, 273, 357, 841, 1421, 5993, 12449, 6821, 4283, 9437, 215035}}, +{19372, 18, 100321, {1, 3, 3, 1, 15, 43, 101, 35, 23, 743, 29, 3953, 3095, 14355, 25977, 12513, 54565, 20199}}, +{19373, 18, 100331, {1, 3, 3, 1, 11, 53, 99, 95, 63, 503, 1361, 3231, 2445, 5073, 4667, 33033, 4575, 139475}}, +{19374, 18, 100334, {1, 3, 3, 5, 19, 57, 15, 115, 125, 1017, 1913, 907, 2461, 3229, 16591, 6591, 26385, 228661}}, +{19375, 18, 100345, {1, 3, 1, 11, 27, 19, 7, 121, 245, 997, 1743, 2571, 1333, 9603, 27811, 42081, 44365, 94943}}, +{19376, 18, 100346, {1, 3, 1, 1, 13, 5, 127, 217, 63, 137, 989, 1441, 1133, 8273, 18091, 22243, 122931, 28867}}, +{19377, 18, 100369, {1, 1, 7, 15, 23, 39, 57, 83, 321, 817, 819, 223, 4803, 6935, 2027, 20373, 119683, 29781}}, +{19378, 18, 100372, {1, 1, 7, 7, 9, 1, 55, 211, 455, 283, 1647, 471, 4351, 14119, 6945, 63117, 109687, 200165}}, +{19379, 18, 100382, {1, 1, 7, 7, 29, 45, 113, 253, 135, 375, 1091, 959, 1423, 1241, 31689, 33751, 73459, 91769}}, +{19380, 18, 100403, {1, 3, 5, 11, 23, 63, 55, 181, 453, 267, 995, 1309, 2847, 3791, 21683, 59809, 81891, 132635}}, +{19381, 18, 100451, {1, 1, 1, 13, 17, 37, 87, 17, 61, 689, 1895, 3877, 4717, 6447, 22329, 1619, 30069, 190887}}, +{19382, 18, 100488, {1, 3, 1, 7, 27, 61, 17, 51, 99, 909, 85, 951, 107, 1923, 35, 63389, 90273, 152643}}, +{19383, 18, 100499, {1, 1, 1, 1, 15, 39, 77, 255, 191, 613, 655, 1881, 267, 3927, 18025, 13825, 15381, 169193}}, +{19384, 18, 100501, {1, 3, 3, 1, 31, 17, 73, 69, 231, 221, 501, 3755, 1671, 2049, 22493, 16353, 1775, 181783}}, +{19385, 18, 100511, {1, 1, 7, 5, 31, 45, 125, 189, 287, 487, 1911, 3133, 3257, 8967, 21295, 1247, 72297, 68269}}, +{19386, 18, 100536, {1, 3, 3, 1, 7, 9, 123, 147, 7, 381, 1597, 1289, 7831, 14493, 21145, 15487, 70353, 147891}}, +{19387, 18, 100629, {1, 1, 5, 9, 15, 17, 43, 87, 101, 425, 1819, 163, 6741, 8255, 2591, 17719, 112871, 110793}}, +{19388, 18, 100652, {1, 1, 3, 9, 3, 27, 7, 41, 43, 743, 131, 705, 2607, 9963, 26367, 41191, 126347, 164291}}, +{19389, 18, 100655, {1, 3, 3, 15, 7, 17, 97, 153, 283, 461, 1723, 2421, 4973, 16369, 30633, 62299, 119425, 3591}}, +{19390, 18, 100669, {1, 1, 1, 13, 7, 33, 95, 255, 429, 693, 849, 3783, 5985, 8551, 23227, 1015, 109023, 42493}}, +{19391, 18, 100687, {1, 3, 1, 7, 3, 43, 53, 137, 413, 265, 2033, 1347, 335, 529, 24751, 16443, 122195, 158951}}, +{19392, 18, 100692, {1, 1, 5, 9, 27, 21, 83, 185, 325, 557, 1247, 2739, 6925, 5459, 26027, 62217, 61113, 197743}}, +{19393, 18, 100696, {1, 1, 3, 13, 9, 57, 79, 133, 137, 851, 863, 1605, 7839, 11809, 29941, 20473, 6687, 164479}}, +{19394, 18, 100701, {1, 1, 3, 9, 9, 51, 123, 29, 139, 43, 1329, 2701, 3413, 3875, 19673, 62369, 10529, 226525}}, +{19395, 18, 100706, {1, 3, 1, 5, 25, 47, 7, 201, 119, 623, 9, 25, 1713, 10817, 8201, 5847, 77477, 237883}}, +{19396, 18, 100711, {1, 1, 5, 13, 15, 53, 39, 93, 235, 619, 1695, 2389, 2571, 2389, 4619, 45769, 17245, 69973}}, +{19397, 18, 100726, {1, 1, 7, 1, 31, 9, 75, 143, 1, 67, 809, 1037, 2801, 16129, 22443, 26021, 119683, 14681}}, +{19398, 18, 100754, {1, 3, 1, 9, 23, 49, 69, 71, 139, 953, 1053, 3059, 1061, 5881, 26207, 15907, 79389, 95341}}, +{19399, 18, 100759, {1, 3, 5, 1, 19, 39, 69, 183, 95, 289, 847, 393, 1649, 1275, 21187, 34715, 67553, 123239}}, +{19400, 18, 100790, {1, 1, 1, 5, 21, 39, 119, 193, 347, 87, 731, 3327, 6089, 13781, 20389, 52303, 11869, 48975}}, +{19401, 18, 100838, {1, 3, 5, 1, 19, 17, 93, 33, 215, 457, 687, 1325, 1997, 2655, 21195, 54997, 36877, 57991}}, +{19402, 18, 100878, {1, 1, 1, 3, 17, 45, 91, 45, 231, 611, 413, 2321, 7181, 13765, 7791, 6973, 24497, 231795}}, +{19403, 18, 100880, {1, 3, 3, 15, 7, 29, 103, 31, 295, 637, 1775, 2293, 8001, 4175, 1257, 16881, 93695, 180591}}, +{19404, 18, 100885, {1, 1, 1, 13, 31, 7, 47, 51, 267, 231, 463, 939, 7977, 8593, 15329, 36871, 50449, 222341}}, +{19405, 18, 100886, {1, 3, 7, 3, 27, 31, 57, 135, 507, 177, 1455, 1963, 4473, 6449, 727, 49853, 65275, 237531}}, +{19406, 18, 100943, {1, 3, 7, 11, 31, 21, 111, 231, 269, 27, 719, 3275, 2489, 3689, 3425, 23763, 39413, 64565}}, +{19407, 18, 100948, {1, 1, 1, 11, 23, 27, 31, 153, 201, 985, 1553, 3061, 7663, 4079, 13549, 48765, 64169, 68223}}, +{19408, 18, 100957, {1, 1, 7, 15, 11, 53, 125, 23, 73, 799, 591, 665, 127, 3941, 11251, 12649, 2657, 230923}}, +{19409, 18, 100962, {1, 1, 7, 15, 29, 43, 95, 81, 337, 367, 779, 1237, 7627, 997, 3355, 1245, 70477, 159097}}, +{19410, 18, 100968, {1, 3, 1, 13, 19, 31, 11, 91, 179, 425, 1395, 1439, 2723, 401, 26779, 36723, 115743, 179653}}, +{19411, 18, 100981, {1, 1, 3, 1, 29, 35, 11, 217, 301, 421, 765, 1949, 5475, 2247, 3953, 27091, 16895, 194821}}, +{19412, 18, 100986, {1, 1, 5, 9, 11, 21, 95, 135, 127, 65, 609, 3893, 7143, 13231, 29199, 36205, 38711, 159599}}, +{19413, 18, 101001, {1, 3, 5, 13, 25, 25, 101, 221, 495, 993, 961, 2575, 907, 5277, 18415, 1797, 22043, 129889}}, +{19414, 18, 101012, {1, 1, 1, 15, 21, 21, 99, 3, 175, 735, 659, 543, 7573, 15549, 14067, 60009, 65785, 112927}}, +{19415, 18, 101015, {1, 3, 7, 7, 3, 39, 61, 203, 143, 581, 487, 2097, 3943, 6869, 14435, 46431, 101781, 233067}}, +{19416, 18, 101019, {1, 1, 3, 1, 13, 27, 21, 147, 295, 89, 1845, 1017, 4621, 10029, 3517, 25371, 104531, 225179}}, +{19417, 18, 101037, {1, 1, 3, 11, 25, 51, 45, 179, 299, 487, 2039, 85, 4643, 8211, 12051, 64819, 93481, 159511}}, +{19418, 18, 101063, {1, 1, 5, 3, 21, 7, 73, 193, 415, 7, 125, 2487, 7369, 2043, 7633, 19265, 65337, 57399}}, +{19419, 18, 101105, {1, 1, 5, 3, 3, 53, 51, 169, 313, 973, 1549, 243, 3155, 13827, 24971, 61393, 15147, 187397}}, +{19420, 18, 101144, {1, 3, 3, 3, 29, 33, 91, 41, 367, 77, 1259, 1703, 2105, 14473, 17763, 29809, 47777, 205553}}, +{19421, 18, 101147, {1, 3, 7, 3, 23, 61, 59, 235, 51, 41, 417, 691, 2953, 15577, 32283, 2793, 109557, 64729}}, +{19422, 18, 101154, {1, 1, 5, 9, 13, 17, 93, 201, 151, 323, 1481, 3645, 3039, 5131, 503, 42055, 114939, 198755}}, +{19423, 18, 101163, {1, 3, 5, 1, 21, 53, 75, 29, 283, 541, 499, 309, 1923, 995, 21479, 56183, 103743, 152113}}, +{19424, 18, 101166, {1, 3, 1, 3, 21, 51, 67, 97, 481, 509, 805, 213, 5157, 13573, 16187, 8199, 28025, 208445}}, +{19425, 18, 101173, {1, 1, 7, 7, 15, 25, 107, 127, 355, 249, 707, 1287, 6831, 5317, 15613, 12837, 48091, 27611}}, +{19426, 18, 101174, {1, 3, 3, 7, 31, 53, 127, 239, 17, 709, 979, 4023, 7149, 4239, 20015, 44365, 113245, 75873}}, +{19427, 18, 101219, {1, 3, 5, 11, 27, 37, 49, 123, 137, 967, 1857, 3961, 7429, 8355, 30733, 64587, 73903, 188581}}, +{19428, 18, 101240, {1, 3, 3, 7, 19, 51, 69, 121, 345, 637, 1987, 335, 7071, 13849, 22369, 46895, 20761, 148227}}, +{19429, 18, 101250, {1, 1, 3, 11, 9, 1, 93, 151, 487, 889, 919, 2429, 5425, 15303, 12583, 57627, 42683, 98265}}, +{19430, 18, 101259, {1, 3, 5, 3, 1, 29, 87, 189, 285, 805, 933, 1381, 2789, 107, 14215, 33171, 110573, 250983}}, +{19431, 18, 101273, {1, 3, 1, 1, 27, 43, 63, 115, 317, 401, 885, 1029, 7003, 10041, 15299, 42251, 58675, 177545}}, +{19432, 18, 101274, {1, 3, 5, 7, 11, 33, 119, 5, 185, 777, 1795, 1585, 3543, 1801, 17681, 1041, 44513, 105435}}, +{19433, 18, 101285, {1, 3, 1, 9, 19, 33, 15, 253, 299, 925, 241, 1333, 615, 12501, 499, 44449, 16595, 70357}}, +{19434, 18, 101300, {1, 1, 3, 13, 13, 31, 17, 123, 215, 805, 1177, 3683, 27, 11881, 7645, 25575, 63057, 89547}}, +{19435, 18, 101309, {1, 1, 5, 5, 17, 1, 57, 183, 267, 825, 1987, 329, 5603, 1295, 425, 61871, 27859, 157109}}, +{19436, 18, 101310, {1, 3, 3, 11, 19, 45, 37, 79, 191, 17, 17, 3379, 7941, 3159, 20351, 26341, 34687, 116281}}, +{19437, 18, 101321, {1, 1, 3, 7, 11, 7, 61, 199, 459, 993, 1729, 3751, 1067, 14965, 14669, 40281, 12579, 154601}}, +{19438, 18, 101324, {1, 3, 3, 13, 19, 53, 17, 39, 137, 219, 1645, 2899, 505, 10057, 22891, 32317, 81201, 126291}}, +{19439, 18, 101363, {1, 3, 5, 7, 21, 53, 65, 125, 69, 781, 761, 1683, 5817, 11859, 11543, 62853, 57149, 212261}}, +{19440, 18, 101366, {1, 3, 5, 9, 13, 25, 81, 119, 439, 25, 239, 2867, 421, 12631, 22705, 31039, 96105, 79023}}, +{19441, 18, 101377, {1, 3, 5, 3, 19, 9, 51, 135, 437, 393, 1711, 1205, 5195, 10927, 28583, 7513, 110227, 139295}}, +{19442, 18, 101380, {1, 3, 7, 9, 31, 15, 5, 143, 49, 13, 1143, 2325, 5437, 14289, 31555, 58777, 102675, 64559}}, +{19443, 18, 101389, {1, 1, 7, 3, 3, 21, 65, 127, 341, 109, 167, 1835, 6687, 1695, 15631, 47047, 127543, 51413}}, +{19444, 18, 101407, {1, 1, 3, 1, 31, 49, 103, 147, 59, 701, 1251, 3391, 1935, 5371, 28585, 50023, 73839, 118205}}, +{19445, 18, 101411, {1, 3, 3, 1, 5, 49, 91, 23, 91, 663, 1369, 1437, 2657, 11369, 29857, 53875, 127045, 242323}}, +{19446, 18, 101432, {1, 3, 1, 3, 23, 33, 7, 105, 353, 863, 1211, 1175, 1347, 12913, 11973, 55255, 27145, 175539}}, +{19447, 18, 101476, {1, 1, 1, 13, 9, 29, 71, 71, 509, 571, 2005, 3125, 2731, 6829, 26863, 16459, 113195, 80247}}, +{19448, 18, 101488, {1, 3, 5, 1, 7, 11, 45, 177, 281, 695, 1197, 2035, 2137, 11833, 12417, 5805, 77211, 45553}}, +{19449, 18, 101494, {1, 1, 7, 7, 27, 59, 91, 183, 267, 373, 677, 2431, 903, 4229, 31997, 19843, 125089, 242871}}, +{19450, 18, 101514, {1, 3, 3, 13, 23, 23, 53, 101, 225, 247, 2013, 853, 279, 2161, 30045, 28255, 130907, 57157}}, +{19451, 18, 101534, {1, 3, 5, 13, 5, 11, 63, 137, 219, 661, 773, 1991, 4081, 5963, 25207, 50461, 85293, 159441}}, +{19452, 18, 101537, {1, 3, 1, 15, 5, 59, 43, 87, 429, 77, 73, 1275, 2619, 16133, 20009, 26089, 38129, 157267}}, +{19453, 18, 101543, {1, 1, 5, 15, 9, 59, 37, 127, 127, 733, 1703, 1331, 4293, 3555, 22739, 49513, 34533, 143225}}, +{19454, 18, 101547, {1, 1, 7, 7, 11, 51, 121, 59, 505, 147, 1855, 1661, 5539, 3421, 28863, 14811, 39811, 228927}}, +{19455, 18, 101584, {1, 1, 5, 5, 1, 31, 57, 167, 107, 753, 1835, 2491, 3311, 8639, 8743, 17279, 77071, 8673}}, +{19456, 18, 101589, {1, 1, 3, 3, 15, 39, 1, 223, 395, 603, 1095, 435, 1225, 4045, 21721, 40767, 48971, 1583}}, +{19457, 18, 101590, {1, 1, 3, 13, 9, 17, 47, 175, 229, 827, 769, 2901, 137, 9931, 11115, 25337, 105811, 68413}}, +{19458, 18, 101629, {1, 1, 1, 5, 29, 55, 43, 39, 319, 919, 749, 931, 1973, 13147, 913, 48353, 40955, 189783}}, +{19459, 18, 101678, {1, 3, 5, 5, 13, 33, 81, 213, 79, 781, 1069, 3117, 5859, 9061, 30963, 17307, 6281, 208707}}, +{19460, 18, 101683, {1, 1, 5, 13, 27, 63, 41, 91, 123, 763, 1115, 3193, 4571, 4573, 8235, 24291, 40911, 225985}}, +{19461, 18, 101700, {1, 1, 1, 7, 13, 5, 77, 215, 67, 183, 1447, 1571, 213, 3481, 28349, 22451, 44951, 240257}}, +{19462, 18, 101712, {1, 3, 7, 7, 3, 21, 39, 233, 263, 19, 489, 1511, 2313, 1799, 25173, 17913, 70593, 2969}}, +{19463, 18, 101748, {1, 3, 7, 15, 3, 1, 93, 101, 393, 911, 1055, 953, 1279, 11947, 11963, 53443, 29105, 226057}}, +{19464, 18, 101757, {1, 1, 3, 7, 7, 53, 119, 39, 439, 629, 1845, 3411, 3633, 16345, 27501, 59565, 39581, 85373}}, +{19465, 18, 101762, {1, 1, 5, 7, 19, 39, 19, 191, 509, 239, 359, 645, 8107, 13721, 21289, 20763, 67727, 45957}}, +{19466, 18, 101771, {1, 1, 1, 13, 5, 13, 113, 41, 135, 351, 311, 1099, 2391, 16165, 15805, 54737, 102645, 224417}}, +{19467, 18, 101785, {1, 3, 3, 9, 17, 47, 95, 249, 45, 749, 313, 317, 2413, 15861, 27221, 35537, 6407, 50111}}, +{19468, 18, 101795, {1, 1, 7, 5, 29, 57, 81, 7, 233, 393, 307, 1089, 1367, 12275, 11861, 29119, 27271, 36351}}, +{19469, 18, 101822, {1, 3, 5, 15, 9, 15, 23, 241, 233, 305, 1025, 2035, 4897, 10321, 17345, 42873, 109045, 129533}}, +{19470, 18, 101851, {1, 3, 5, 9, 21, 33, 111, 81, 311, 829, 1851, 1437, 5935, 7847, 15493, 28531, 74879, 40567}}, +{19471, 18, 101863, {1, 3, 7, 7, 13, 21, 43, 119, 507, 701, 1385, 745, 799, 1567, 13271, 40267, 130843, 59951}}, +{19472, 18, 101894, {1, 3, 3, 1, 19, 43, 45, 119, 87, 263, 1475, 3897, 2811, 2711, 4949, 48043, 125237, 230897}}, +{19473, 18, 101903, {1, 1, 7, 1, 1, 53, 17, 71, 313, 373, 5, 2359, 1643, 9867, 18365, 5011, 40675, 105371}}, +{19474, 18, 101924, {1, 3, 7, 11, 23, 49, 123, 255, 33, 241, 473, 959, 1859, 6109, 5433, 27625, 46839, 90727}}, +{19475, 18, 101939, {1, 1, 1, 3, 31, 43, 33, 129, 159, 445, 1831, 1005, 587, 2091, 5749, 33271, 50909, 65057}}, +{19476, 18, 101980, {1, 1, 7, 13, 3, 21, 17, 125, 357, 97, 1255, 669, 1583, 7433, 32287, 61795, 5915, 211593}}, +{19477, 18, 101993, {1, 1, 7, 7, 31, 19, 71, 211, 213, 731, 1491, 3315, 3633, 14953, 21369, 4977, 33533, 12115}}, +{19478, 18, 101994, {1, 3, 1, 1, 31, 1, 87, 253, 211, 57, 1431, 2613, 4075, 14463, 11287, 38671, 100129, 4241}}, +{19479, 18, 101996, {1, 1, 1, 5, 21, 13, 27, 29, 31, 285, 179, 3861, 5319, 15683, 2579, 15663, 63357, 81849}}, +{19480, 18, 102007, {1, 1, 3, 7, 23, 29, 29, 79, 263, 865, 1237, 3871, 2097, 5337, 2387, 59277, 28831, 57957}}, +{19481, 18, 102044, {1, 3, 7, 15, 15, 31, 83, 195, 87, 691, 71, 1025, 3145, 675, 14619, 22399, 88885, 222969}}, +{19482, 18, 102086, {1, 1, 5, 7, 19, 3, 121, 105, 383, 675, 777, 2073, 643, 14439, 19467, 13159, 115421, 250561}}, +{19483, 18, 102097, {1, 3, 5, 9, 13, 41, 119, 23, 355, 765, 579, 849, 3313, 2443, 29521, 42965, 102559, 227707}}, +{19484, 18, 102113, {1, 3, 3, 7, 23, 55, 115, 83, 331, 873, 797, 621, 1197, 15299, 26307, 34287, 120459, 260603}}, +{19485, 18, 102123, {1, 1, 3, 5, 7, 11, 113, 119, 65, 691, 1169, 2291, 7283, 1391, 10737, 3801, 40649, 191009}}, +{19486, 18, 102155, {1, 1, 7, 9, 3, 23, 95, 109, 457, 277, 871, 3013, 2833, 4131, 21081, 43635, 19875, 162173}}, +{19487, 18, 102157, {1, 1, 3, 15, 25, 7, 45, 109, 195, 935, 1487, 1603, 1663, 15595, 10687, 4073, 34863, 45851}}, +{19488, 18, 102169, {1, 1, 1, 5, 21, 19, 37, 141, 377, 553, 1225, 2485, 1235, 13179, 2587, 43659, 1405, 52023}}, +{19489, 18, 102181, {1, 3, 1, 9, 5, 27, 1, 219, 397, 555, 533, 941, 2755, 1295, 16157, 30733, 54279, 168455}}, +{19490, 18, 102182, {1, 3, 3, 1, 27, 41, 93, 177, 119, 581, 167, 3943, 5765, 15455, 555, 17419, 33117, 160599}}, +{19491, 18, 102185, {1, 1, 3, 7, 15, 25, 29, 177, 503, 529, 229, 2535, 1493, 805, 30983, 26309, 123453, 118441}}, +{19492, 18, 102199, {1, 1, 7, 15, 13, 33, 83, 151, 183, 433, 823, 4003, 1991, 6563, 18743, 61835, 56535, 191193}}, +{19493, 18, 102208, {1, 1, 1, 13, 9, 31, 91, 63, 455, 67, 243, 1573, 3507, 9491, 4677, 13835, 121603, 241781}}, +{19494, 18, 102213, {1, 1, 5, 5, 29, 13, 45, 29, 289, 909, 1923, 3371, 3675, 13119, 24599, 58511, 109467, 126865}}, +{19495, 18, 102226, {1, 1, 5, 9, 21, 41, 41, 179, 25, 463, 949, 819, 397, 12329, 3461, 34773, 61337, 23579}}, +{19496, 18, 102290, {1, 3, 3, 11, 1, 25, 17, 165, 77, 455, 1983, 143, 2763, 8165, 14849, 1601, 30093, 54599}}, +{19497, 18, 102296, {1, 1, 7, 3, 7, 1, 117, 117, 53, 611, 1405, 3357, 1717, 8157, 247, 17501, 30201, 192485}}, +{19498, 18, 102306, {1, 1, 1, 5, 23, 47, 95, 173, 133, 603, 1627, 4039, 5599, 10575, 30275, 60287, 3313, 77551}}, +{19499, 18, 102317, {1, 1, 1, 9, 31, 49, 87, 169, 221, 561, 1045, 365, 1955, 9905, 13057, 33717, 91203, 57513}}, +{19500, 18, 102337, {1, 3, 3, 1, 19, 25, 113, 231, 415, 717, 1767, 755, 4825, 7541, 10121, 9351, 72093, 255877}}, +{19501, 18, 102344, {1, 3, 1, 7, 1, 35, 3, 231, 345, 375, 809, 2753, 849, 13915, 16127, 7575, 45259, 28917}}, +{19502, 18, 102350, {1, 3, 3, 11, 23, 43, 13, 37, 305, 765, 517, 333, 473, 14949, 11939, 35171, 63963, 181825}}, +{19503, 18, 102378, {1, 3, 3, 3, 5, 43, 35, 89, 293, 913, 1325, 2097, 603, 14365, 4005, 38935, 23837, 34271}}, +{19504, 18, 102383, {1, 1, 3, 15, 1, 47, 67, 199, 167, 909, 1167, 1513, 7087, 5017, 23469, 2621, 24961, 226679}}, +{19505, 18, 102391, {1, 3, 7, 15, 23, 37, 111, 217, 33, 423, 457, 1767, 4821, 10233, 27045, 33397, 85351, 156751}}, +{19506, 18, 102400, {1, 3, 3, 7, 31, 25, 67, 65, 291, 169, 1505, 1707, 4833, 11541, 1189, 62959, 59831, 48729}}, +{19507, 18, 102409, {1, 1, 5, 7, 27, 27, 15, 23, 189, 819, 709, 3591, 2781, 14807, 20303, 27795, 88349, 210251}}, +{19508, 18, 102427, {1, 3, 7, 15, 1, 19, 49, 103, 219, 85, 1281, 3981, 7229, 10427, 11689, 1547, 90747, 12283}}, +{19509, 18, 102434, {1, 1, 1, 13, 31, 49, 81, 121, 287, 851, 333, 353, 7373, 10165, 1157, 11713, 89445, 210709}}, +{19510, 18, 102453, {1, 3, 7, 5, 31, 35, 3, 229, 443, 973, 1971, 1861, 5695, 6725, 6405, 45927, 115313, 228667}}, +{19511, 18, 102472, {1, 3, 3, 11, 29, 17, 105, 203, 69, 945, 1239, 3213, 6005, 10095, 31233, 37421, 62911, 91371}}, +{19512, 18, 102502, {1, 1, 7, 1, 21, 59, 7, 43, 391, 299, 1225, 283, 3351, 11495, 25071, 16619, 65127, 114033}}, +{19513, 18, 102525, {1, 1, 3, 9, 17, 11, 71, 73, 377, 437, 311, 1083, 6941, 1039, 1047, 55647, 21239, 209201}}, +{19514, 18, 102547, {1, 3, 7, 5, 29, 51, 113, 163, 215, 511, 615, 2427, 2747, 14389, 1005, 27015, 31809, 30603}}, +{19515, 18, 102554, {1, 1, 1, 3, 9, 61, 9, 201, 259, 411, 175, 1003, 401, 13695, 13103, 3075, 43695, 177139}}, +{19516, 18, 102560, {1, 1, 5, 3, 17, 47, 125, 173, 277, 17, 619, 2295, 3091, 5615, 4529, 54065, 81875, 97279}}, +{19517, 18, 102578, {1, 3, 3, 9, 3, 61, 97, 151, 287, 671, 1439, 1129, 6343, 8161, 24593, 40371, 109705, 106279}}, +{19518, 18, 102580, {1, 3, 3, 1, 5, 61, 21, 31, 41, 855, 1541, 3351, 575, 3195, 17155, 46913, 1797, 146401}}, +{19519, 18, 102597, {1, 1, 7, 13, 11, 43, 27, 97, 479, 117, 1873, 3103, 1947, 9273, 29171, 35719, 10601, 209629}}, +{19520, 18, 102616, {1, 3, 1, 9, 21, 47, 53, 129, 85, 505, 165, 3437, 5687, 10289, 6615, 46719, 50731, 25271}}, +{19521, 18, 102625, {1, 1, 3, 1, 1, 33, 37, 239, 45, 565, 1907, 3831, 2177, 10967, 12689, 49395, 36289, 247507}}, +{19522, 18, 102632, {1, 1, 5, 1, 19, 57, 75, 245, 59, 967, 1319, 3971, 5267, 11713, 15417, 60503, 63431, 157267}}, +{19523, 18, 102663, {1, 1, 5, 7, 7, 15, 99, 87, 331, 261, 1973, 219, 3063, 4071, 19273, 48637, 128089, 55511}}, +{19524, 18, 102669, {1, 3, 5, 13, 23, 43, 7, 171, 173, 1023, 1145, 3551, 5127, 6365, 18013, 1613, 51997, 107265}}, +{19525, 18, 102681, {1, 3, 5, 3, 7, 7, 23, 195, 251, 387, 1889, 3645, 4221, 6025, 27291, 24831, 123749, 231403}}, +{19526, 18, 102694, {1, 3, 1, 1, 29, 49, 107, 215, 93, 211, 1349, 1925, 7149, 1015, 27465, 34139, 126149, 121349}}, +{19527, 18, 102706, {1, 1, 5, 5, 19, 15, 121, 189, 167, 801, 483, 1955, 8031, 4749, 26665, 64791, 18671, 123221}}, +{19528, 18, 102715, {1, 3, 3, 15, 23, 57, 15, 249, 197, 103, 2021, 1897, 5975, 12821, 6441, 62719, 81415, 232417}}, +{19529, 18, 102723, {1, 1, 3, 9, 17, 45, 111, 225, 103, 121, 1259, 2849, 2235, 2041, 13261, 7929, 76325, 38677}}, +{19530, 18, 102730, {1, 1, 3, 9, 25, 17, 63, 63, 369, 387, 31, 1423, 5699, 12519, 27407, 53193, 963, 123473}}, +{19531, 18, 102743, {1, 3, 3, 13, 3, 59, 59, 3, 367, 357, 1391, 1519, 2619, 2291, 1349, 28275, 21655, 8763}}, +{19532, 18, 102856, {1, 1, 7, 1, 31, 51, 121, 49, 157, 509, 1513, 3247, 3439, 8691, 20729, 17585, 49013, 228695}}, +{19533, 18, 102870, {1, 1, 5, 9, 11, 29, 103, 49, 209, 35, 673, 1409, 2483, 4561, 12435, 46139, 31019, 50929}}, +{19534, 18, 102898, {1, 1, 3, 9, 11, 45, 77, 143, 277, 769, 1151, 3705, 7901, 3735, 31155, 46135, 84061, 254357}}, +{19535, 18, 102926, {1, 3, 3, 3, 5, 51, 95, 7, 155, 121, 1899, 2261, 2915, 6637, 6557, 20535, 20937, 257275}}, +{19536, 18, 102931, {1, 1, 7, 9, 13, 49, 125, 135, 7, 535, 1171, 3501, 1701, 5791, 10121, 9845, 21645, 56451}}, +{19537, 18, 102938, {1, 1, 7, 5, 9, 1, 115, 27, 229, 813, 133, 753, 1959, 13121, 30425, 31059, 114619, 132257}}, +{19538, 18, 102947, {1, 1, 5, 3, 23, 25, 41, 165, 21, 551, 1751, 3563, 731, 15811, 14777, 22327, 82853, 116699}}, +{19539, 18, 102968, {1, 3, 1, 9, 3, 25, 95, 211, 457, 25, 349, 921, 213, 5721, 26725, 19541, 102473, 200845}}, +{19540, 18, 102976, {1, 3, 1, 13, 5, 1, 31, 49, 493, 785, 61, 2603, 5997, 12545, 9793, 32521, 99859, 256105}}, +{19541, 18, 102993, {1, 3, 3, 7, 31, 19, 31, 121, 507, 79, 685, 197, 4027, 12909, 30533, 38427, 38993, 14581}}, +{19542, 18, 103005, {1, 3, 7, 13, 13, 23, 63, 15, 223, 25, 1957, 2527, 6061, 11753, 4835, 34553, 45579, 205805}}, +{19543, 18, 103019, {1, 3, 3, 3, 5, 39, 55, 123, 275, 185, 749, 3227, 8137, 12959, 7243, 20613, 46247, 106127}}, +{19544, 18, 103022, {1, 1, 7, 13, 1, 21, 49, 145, 237, 291, 1721, 2981, 267, 1255, 21817, 39553, 21937, 115307}}, +{19545, 18, 103057, {1, 1, 1, 15, 5, 63, 3, 201, 117, 991, 1049, 1975, 5117, 5799, 28211, 37907, 46799, 240847}}, +{19546, 18, 103080, {1, 3, 3, 5, 25, 15, 29, 111, 201, 857, 319, 2695, 4251, 4303, 28495, 12481, 31979, 107503}}, +{19547, 18, 103100, {1, 1, 3, 11, 3, 27, 81, 55, 489, 983, 293, 3181, 4593, 4759, 18437, 51185, 47701, 75469}}, +{19548, 18, 103106, {1, 3, 1, 3, 11, 25, 113, 243, 365, 299, 1717, 561, 5173, 5983, 7453, 33563, 98519, 162451}}, +{19549, 18, 103126, {1, 3, 1, 5, 1, 21, 3, 87, 267, 483, 1397, 791, 4807, 4649, 13713, 19861, 110471, 51443}}, +{19550, 18, 103173, {1, 3, 7, 5, 31, 9, 13, 251, 351, 609, 841, 3267, 4201, 8771, 6673, 44867, 105221, 189399}}, +{19551, 18, 103202, {1, 1, 3, 1, 13, 43, 47, 153, 331, 1013, 705, 1867, 563, 6361, 7407, 46243, 30521, 213831}}, +{19552, 18, 103207, {1, 3, 3, 7, 29, 41, 3, 179, 319, 877, 905, 3803, 2775, 9729, 5673, 9521, 117887, 37605}}, +{19553, 18, 103219, {1, 1, 5, 5, 11, 49, 111, 195, 467, 931, 849, 2785, 7829, 2291, 29031, 52019, 86493, 213971}}, +{19554, 18, 103226, {1, 1, 3, 11, 13, 11, 81, 81, 419, 621, 181, 1203, 7305, 7857, 16885, 2531, 53127, 35553}}, +{19555, 18, 103228, {1, 1, 5, 1, 19, 35, 75, 131, 159, 211, 319, 2805, 6497, 14759, 28997, 62347, 4013, 233821}}, +{19556, 18, 103248, {1, 3, 3, 15, 1, 55, 107, 105, 35, 369, 1259, 665, 6717, 2555, 7149, 10373, 33153, 105915}}, +{19557, 18, 103274, {1, 3, 7, 5, 31, 13, 27, 207, 359, 355, 2047, 1777, 5555, 12659, 30547, 3655, 86189, 961}}, +{19558, 18, 103288, {1, 3, 7, 9, 9, 55, 7, 117, 57, 115, 745, 501, 2341, 3899, 8229, 10625, 66905, 187959}}, +{19559, 18, 103291, {1, 3, 3, 13, 25, 43, 87, 197, 303, 405, 1459, 3385, 4109, 8325, 24747, 18405, 48845, 96673}}, +{19560, 18, 103293, {1, 3, 5, 3, 21, 37, 109, 9, 183, 585, 1287, 3851, 4939, 1057, 19489, 42603, 32447, 117957}}, +{19561, 18, 103324, {1, 1, 5, 13, 3, 47, 109, 115, 73, 733, 1189, 3773, 7471, 10339, 5093, 50253, 122665, 254381}}, +{19562, 18, 103358, {1, 1, 5, 5, 21, 33, 113, 187, 51, 245, 241, 3887, 4075, 11945, 20883, 18817, 43567, 851}}, +{19563, 18, 103372, {1, 3, 7, 3, 1, 29, 87, 101, 29, 93, 643, 2659, 1753, 4797, 17477, 16087, 43453, 110383}}, +{19564, 18, 103375, {1, 1, 7, 13, 17, 51, 75, 91, 445, 171, 1369, 499, 3753, 14035, 4445, 21437, 86205, 231163}}, +{19565, 18, 103390, {1, 1, 7, 13, 17, 41, 67, 49, 225, 659, 1181, 1751, 5211, 6847, 20339, 34271, 60273, 52315}}, +{19566, 18, 103414, {1, 1, 5, 5, 5, 17, 87, 223, 25, 773, 53, 2447, 6805, 6547, 4429, 46809, 51171, 66457}}, +{19567, 18, 103432, {1, 1, 5, 3, 29, 49, 11, 205, 279, 821, 725, 2425, 443, 211, 6347, 59845, 90763, 237911}}, +{19568, 18, 103446, {1, 1, 3, 9, 31, 7, 49, 1, 229, 755, 517, 809, 2955, 3571, 2385, 33097, 19659, 55397}}, +{19569, 18, 103455, {1, 3, 5, 3, 5, 21, 67, 227, 359, 401, 1697, 2131, 4585, 2661, 3659, 22621, 51639, 245877}}, +{19570, 18, 103471, {1, 1, 7, 5, 11, 7, 57, 133, 9, 917, 427, 2777, 6009, 11393, 29473, 59311, 77095, 176215}}, +{19571, 18, 103474, {1, 1, 7, 5, 13, 29, 101, 15, 293, 7, 797, 437, 3739, 3369, 16917, 19047, 17773, 219541}}, +{19572, 18, 103476, {1, 3, 1, 9, 13, 51, 15, 19, 209, 991, 413, 787, 3797, 14029, 23699, 8591, 40429, 56115}}, +{19573, 18, 103515, {1, 3, 7, 3, 31, 9, 77, 33, 487, 155, 1903, 3023, 8163, 385, 4703, 57511, 102083, 85785}}, +{19574, 18, 103527, {1, 1, 5, 11, 17, 59, 115, 73, 89, 723, 1523, 2671, 1755, 3463, 19861, 31573, 126405, 90215}}, +{19575, 18, 103542, {1, 3, 3, 13, 17, 27, 123, 37, 71, 173, 203, 1245, 7905, 8955, 22589, 56705, 120473, 90129}}, +{19576, 18, 103562, {1, 3, 3, 1, 17, 63, 55, 225, 259, 531, 1493, 2639, 1319, 10865, 17993, 11205, 13253, 111261}}, +{19577, 18, 103569, {1, 1, 1, 11, 25, 17, 41, 45, 385, 1009, 1573, 1797, 527, 543, 14743, 35789, 63871, 112183}}, +{19578, 18, 103572, {1, 1, 7, 15, 15, 57, 109, 127, 143, 955, 1091, 2585, 3429, 11763, 5849, 53805, 116865, 68895}}, +{19579, 18, 103581, {1, 1, 7, 15, 9, 11, 1, 9, 491, 765, 1835, 3825, 5043, 13091, 4123, 19621, 17687, 241015}}, +{19580, 18, 103609, {1, 3, 5, 7, 25, 51, 117, 193, 91, 451, 1871, 3819, 1881, 8065, 25809, 36257, 107955, 37109}}, +{19581, 18, 103612, {1, 3, 1, 15, 5, 5, 101, 7, 59, 859, 977, 2673, 2825, 3291, 26283, 23467, 28383, 257775}}, +{19582, 18, 103618, {1, 3, 3, 15, 17, 43, 87, 191, 85, 829, 653, 327, 1773, 10101, 2707, 18341, 61435, 242215}}, +{19583, 18, 103637, {1, 3, 7, 13, 27, 43, 127, 253, 403, 81, 505, 2841, 1509, 4951, 23791, 18099, 46747, 192717}}, +{19584, 18, 103644, {1, 1, 1, 9, 31, 15, 127, 29, 171, 999, 1919, 4059, 2781, 2475, 8997, 15459, 37003, 217141}}, +{19585, 18, 103653, {1, 3, 3, 1, 31, 41, 67, 31, 171, 719, 789, 645, 3925, 11117, 1241, 63221, 1087, 59789}}, +{19586, 18, 103663, {1, 1, 1, 9, 17, 41, 107, 13, 405, 879, 1955, 3309, 1281, 10601, 13883, 43987, 111691, 130555}}, +{19587, 18, 103671, {1, 3, 7, 9, 21, 17, 127, 243, 51, 689, 1945, 3769, 7121, 7703, 16825, 34893, 32167, 20167}}, +{19588, 18, 103678, {1, 1, 1, 5, 7, 7, 61, 149, 75, 289, 717, 1951, 5917, 13375, 15683, 27507, 10897, 199009}}, +{19589, 18, 103695, {1, 3, 7, 9, 25, 61, 43, 167, 45, 299, 5, 125, 3289, 13685, 10843, 25535, 98383, 143401}}, +{19590, 18, 103698, {1, 1, 3, 15, 21, 27, 37, 45, 233, 179, 611, 3025, 7887, 9421, 16791, 17147, 49013, 33249}}, +{19591, 18, 103720, {1, 3, 7, 15, 19, 43, 43, 9, 255, 295, 649, 811, 1303, 1989, 5401, 53891, 42679, 66879}}, +{19592, 18, 103723, {1, 1, 7, 7, 25, 31, 89, 199, 455, 733, 295, 1157, 4375, 7341, 7823, 6025, 56311, 257579}}, +{19593, 18, 103738, {1, 1, 7, 3, 1, 51, 15, 29, 35, 917, 1839, 741, 1089, 8615, 4967, 34047, 32981, 200693}}, +{19594, 18, 103743, {1, 3, 3, 11, 21, 13, 71, 53, 315, 801, 1015, 3829, 2297, 6649, 28501, 18173, 83121, 107195}}, +{19595, 18, 103745, {1, 1, 7, 7, 1, 5, 127, 103, 435, 707, 7, 1045, 187, 10927, 32395, 24999, 58463, 94069}}, +{19596, 18, 103757, {1, 1, 7, 9, 11, 25, 73, 57, 231, 455, 1033, 2899, 2861, 8811, 21671, 16115, 97807, 221791}}, +{19597, 18, 103810, {1, 3, 5, 11, 11, 19, 105, 37, 181, 1, 1231, 2275, 4789, 13071, 24843, 25901, 123711, 145609}}, +{19598, 18, 103822, {1, 3, 7, 13, 7, 7, 21, 215, 393, 43, 1713, 2921, 1959, 14417, 17109, 55793, 36285, 81731}}, +{19599, 18, 103855, {1, 1, 5, 15, 29, 15, 5, 115, 15, 795, 1535, 2473, 3663, 10123, 20721, 32739, 21141, 217731}}, +{19600, 18, 103887, {1, 1, 3, 1, 15, 13, 21, 49, 293, 689, 985, 3949, 3329, 7167, 16925, 15069, 47345, 192749}}, +{19601, 18, 103905, {1, 3, 3, 7, 5, 27, 85, 11, 337, 651, 777, 1775, 5279, 15229, 21473, 36561, 85293, 27893}}, +{19602, 18, 103915, {1, 3, 7, 1, 15, 29, 7, 199, 71, 893, 1587, 1831, 3891, 3299, 14323, 23165, 28199, 84055}}, +{19603, 18, 103925, {1, 1, 1, 7, 9, 27, 15, 75, 497, 127, 433, 1781, 3711, 12659, 3765, 40827, 112425, 36281}}, +{19604, 18, 103929, {1, 1, 5, 1, 31, 59, 9, 91, 301, 217, 2013, 2015, 265, 3795, 14609, 13389, 5451, 260169}}, +{19605, 18, 103945, {1, 1, 1, 15, 19, 43, 85, 37, 33, 687, 1253, 2615, 4027, 3741, 13971, 21261, 106261, 204233}}, +{19606, 18, 103954, {1, 1, 7, 9, 31, 45, 105, 111, 207, 433, 633, 3949, 8057, 5049, 23657, 12227, 86251, 218077}}, +{19607, 18, 103969, {1, 3, 5, 11, 13, 33, 1, 67, 117, 595, 1835, 287, 2509, 14841, 1525, 15761, 61319, 182531}}, +{19608, 18, 104011, {1, 1, 3, 9, 7, 43, 105, 85, 17, 349, 1769, 3945, 31, 4907, 9373, 22447, 70905, 29189}}, +{19609, 18, 104055, {1, 1, 5, 5, 9, 19, 93, 179, 95, 255, 1807, 2717, 4757, 15025, 19479, 63499, 42441, 236519}}, +{19610, 18, 104111, {1, 1, 1, 1, 21, 35, 1, 101, 343, 1023, 1311, 347, 301, 8419, 23367, 31543, 51661, 148277}}, +{19611, 18, 104116, {1, 1, 7, 11, 23, 37, 113, 207, 147, 743, 1905, 1683, 3733, 5659, 22491, 62129, 111671, 227019}}, +{19612, 18, 104125, {1, 1, 3, 13, 27, 5, 21, 207, 445, 319, 1355, 2541, 2853, 583, 1261, 64477, 18337, 91611}}, +{19613, 18, 104145, {1, 3, 5, 3, 1, 31, 51, 55, 487, 735, 1599, 523, 5323, 10855, 28717, 62103, 18671, 143885}}, +{19614, 18, 104162, {1, 3, 1, 1, 15, 5, 79, 107, 173, 747, 1213, 1151, 875, 12759, 27115, 16403, 31349, 208909}}, +{19615, 18, 104176, {1, 3, 5, 9, 13, 57, 35, 121, 135, 237, 1707, 3655, 8109, 3623, 5119, 27645, 49401, 46453}}, +{19616, 18, 104193, {1, 3, 7, 11, 27, 3, 103, 231, 43, 515, 1279, 499, 1355, 2605, 11587, 33641, 81661, 29441}}, +{19617, 18, 104199, {1, 3, 5, 7, 13, 27, 55, 191, 81, 185, 527, 519, 4555, 3349, 24533, 60635, 40009, 230761}}, +{19618, 18, 104224, {1, 1, 5, 3, 13, 35, 75, 211, 67, 305, 705, 543, 3819, 16265, 9867, 64309, 35047, 24873}}, +{19619, 18, 104236, {1, 3, 1, 1, 11, 37, 75, 3, 145, 327, 1243, 3291, 7127, 5009, 7757, 59567, 90459, 98035}}, +{19620, 18, 104247, {1, 3, 5, 9, 9, 5, 71, 29, 243, 41, 447, 2597, 1243, 12899, 19681, 30523, 90799, 142279}}, +{19621, 18, 104254, {1, 3, 3, 3, 15, 21, 25, 101, 451, 651, 143, 3899, 3377, 4855, 23843, 25047, 87951, 239229}}, +{19622, 18, 104289, {1, 1, 1, 1, 23, 29, 25, 31, 227, 43, 399, 723, 693, 12379, 11343, 46123, 105435, 224997}}, +{19623, 18, 104325, {1, 1, 7, 3, 21, 47, 77, 57, 397, 689, 267, 813, 1279, 1727, 7451, 34025, 90273, 111663}}, +{19624, 18, 104332, {1, 1, 5, 3, 25, 61, 7, 137, 271, 723, 495, 2575, 3695, 4947, 31973, 47835, 107003, 221839}}, +{19625, 18, 104335, {1, 3, 1, 7, 5, 25, 21, 95, 323, 3, 613, 1721, 2551, 8803, 6803, 52765, 34543, 110945}}, +{19626, 18, 104353, {1, 3, 5, 9, 27, 23, 123, 193, 63, 161, 1395, 679, 161, 13719, 29321, 19243, 51947, 229547}}, +{19627, 18, 104363, {1, 3, 5, 15, 15, 37, 127, 103, 439, 513, 989, 1393, 3761, 9109, 20649, 18171, 69939, 117447}}, +{19628, 18, 104371, {1, 1, 7, 9, 7, 57, 87, 159, 195, 821, 57, 2469, 7693, 6759, 32595, 41109, 94785, 53381}}, +{19629, 18, 104373, {1, 3, 3, 7, 17, 63, 41, 7, 437, 469, 1453, 3741, 7591, 5563, 11819, 23861, 129777, 119731}}, +{19630, 18, 104406, {1, 1, 3, 3, 27, 55, 21, 145, 243, 991, 687, 909, 2105, 4485, 9095, 3677, 53819, 183027}}, +{19631, 18, 104412, {1, 1, 1, 15, 13, 61, 27, 81, 95, 37, 1439, 973, 7613, 5749, 16811, 26801, 105745, 8847}}, +{19632, 18, 104440, {1, 3, 1, 9, 15, 17, 111, 61, 27, 373, 89, 2729, 6397, 4899, 11297, 4403, 30657, 207379}}, +{19633, 18, 104459, {1, 3, 5, 15, 19, 9, 19, 19, 497, 667, 105, 601, 6715, 6355, 4231, 19241, 101771, 105651}}, +{19634, 18, 104461, {1, 1, 3, 9, 11, 11, 115, 109, 177, 753, 997, 2119, 5969, 13377, 13285, 25373, 105023, 158393}}, +{19635, 18, 104469, {1, 3, 5, 15, 27, 23, 19, 117, 129, 457, 1973, 2171, 8071, 2093, 13407, 9295, 82967, 184753}}, +{19636, 18, 104479, {1, 1, 7, 5, 1, 45, 9, 25, 307, 629, 1169, 2859, 3987, 11411, 13609, 44993, 26019, 107003}}, +{19637, 18, 104483, {1, 1, 1, 13, 29, 15, 13, 163, 203, 885, 281, 1605, 8001, 899, 4081, 65467, 61283, 198963}}, +{19638, 18, 104490, {1, 1, 3, 5, 27, 9, 89, 193, 375, 633, 1807, 2069, 3467, 3167, 23751, 39115, 90093, 190365}}, +{19639, 18, 104500, {1, 3, 3, 5, 1, 1, 19, 161, 21, 745, 493, 2227, 7993, 3337, 27041, 4817, 58963, 237015}}, +{19640, 18, 104536, {1, 3, 5, 15, 15, 45, 51, 145, 299, 787, 1059, 2407, 1143, 775, 17473, 22235, 18241, 103897}}, +{19641, 18, 104560, {1, 1, 1, 9, 11, 35, 75, 195, 281, 935, 113, 3009, 4797, 7221, 12475, 18563, 10315, 255541}}, +{19642, 18, 104569, {1, 1, 5, 7, 25, 9, 121, 179, 303, 511, 2041, 1485, 529, 13843, 29013, 28139, 63237, 21259}}, +{19643, 18, 104588, {1, 3, 7, 11, 9, 21, 61, 177, 63, 179, 679, 17, 4069, 8929, 14499, 53913, 27925, 48449}}, +{19644, 18, 104591, {1, 3, 5, 3, 9, 27, 111, 247, 253, 175, 1591, 3583, 3351, 9039, 597, 23859, 126585, 157367}}, +{19645, 18, 104621, {1, 1, 7, 9, 1, 9, 29, 1, 273, 89, 767, 1873, 39, 10487, 29857, 23577, 67457, 44571}}, +{19646, 18, 104661, {1, 1, 7, 5, 5, 23, 13, 181, 283, 333, 21, 1409, 5937, 8981, 7445, 61267, 21729, 32677}}, +{19647, 18, 104675, {1, 3, 1, 15, 31, 5, 45, 253, 179, 91, 341, 359, 4269, 7567, 23699, 30589, 42909, 126171}}, +{19648, 18, 104684, {1, 3, 7, 7, 23, 45, 15, 93, 115, 873, 49, 845, 827, 14357, 20163, 41565, 37105, 120331}}, +{19649, 18, 104713, {1, 1, 7, 7, 15, 25, 55, 175, 11, 457, 1537, 1937, 807, 11399, 27751, 16935, 75231, 204039}}, +{19650, 18, 104747, {1, 3, 7, 13, 1, 37, 67, 145, 471, 1013, 1273, 4093, 4449, 4433, 29063, 205, 93249, 140383}}, +{19651, 18, 104750, {1, 3, 1, 13, 1, 57, 85, 223, 349, 125, 863, 2179, 7813, 8817, 1767, 19169, 41367, 65883}}, +{19652, 18, 104757, {1, 3, 3, 15, 21, 39, 3, 31, 67, 505, 271, 505, 5495, 4183, 3631, 4567, 48061, 149565}}, +{19653, 18, 104775, {1, 1, 7, 11, 13, 39, 109, 201, 287, 1013, 1505, 3105, 3845, 1963, 4361, 61753, 29145, 146235}}, +{19654, 18, 104782, {1, 3, 5, 3, 29, 39, 71, 99, 501, 53, 835, 3295, 5335, 1017, 25913, 63637, 115353, 210509}}, +{19655, 18, 104803, {1, 3, 1, 13, 9, 53, 33, 177, 419, 63, 793, 1329, 2261, 11633, 18805, 49771, 47533, 74949}}, +{19656, 18, 104820, {1, 3, 7, 11, 7, 49, 123, 237, 195, 17, 1919, 1911, 4135, 11829, 26307, 34905, 114361, 228655}}, +{19657, 18, 104824, {1, 3, 5, 3, 5, 57, 65, 161, 195, 857, 1187, 2303, 1975, 2555, 26065, 17963, 57403, 136193}}, +{19658, 18, 104829, {1, 1, 3, 11, 1, 5, 105, 217, 229, 769, 1393, 2419, 7751, 14293, 9407, 4569, 30663, 89345}}, +{19659, 18, 104830, {1, 3, 3, 7, 23, 15, 15, 189, 67, 863, 485, 2435, 5145, 10537, 16485, 50369, 118245, 253201}}, +{19660, 18, 104836, {1, 1, 1, 5, 27, 27, 47, 129, 383, 227, 115, 3027, 1575, 15765, 10207, 4885, 125707, 184703}}, +{19661, 18, 104851, {1, 3, 5, 5, 17, 9, 45, 55, 151, 751, 415, 2139, 8071, 2309, 27641, 29743, 47183, 21437}}, +{19662, 18, 104882, {1, 3, 3, 7, 9, 47, 51, 31, 261, 237, 1695, 1065, 4503, 7167, 25791, 39659, 90145, 130481}}, +{19663, 18, 104920, {1, 1, 3, 3, 21, 27, 53, 249, 407, 779, 1315, 1005, 6953, 14959, 2265, 61645, 118623, 254067}}, +{19664, 18, 104941, {1, 3, 1, 9, 13, 25, 33, 225, 467, 325, 1513, 1237, 1569, 8749, 1587, 4699, 19893, 163597}}, +{19665, 18, 104963, {1, 3, 5, 5, 29, 29, 1, 55, 437, 575, 149, 791, 4243, 4405, 22963, 64125, 21631, 25819}}, +{19666, 18, 104989, {1, 3, 5, 3, 25, 9, 19, 27, 419, 139, 2035, 2065, 1925, 11499, 20053, 13161, 15115, 120891}}, +{19667, 18, 104999, {1, 1, 5, 9, 7, 9, 113, 3, 195, 555, 863, 595, 6569, 9819, 14727, 38285, 13737, 130903}}, +{19668, 18, 105006, {1, 1, 3, 7, 19, 17, 35, 107, 489, 285, 247, 3103, 2919, 11163, 2811, 62081, 42989, 24495}}, +{19669, 18, 105040, {1, 3, 1, 15, 17, 5, 123, 221, 117, 689, 1567, 3803, 5801, 14121, 23263, 8851, 41559, 226271}}, +{19670, 18, 105066, {1, 1, 1, 15, 21, 39, 87, 135, 485, 59, 1899, 2483, 2599, 8783, 6129, 55407, 7291, 217117}}, +{19671, 18, 105089, {1, 1, 3, 11, 27, 53, 45, 241, 51, 829, 121, 3047, 6785, 15127, 13923, 47913, 9087, 112005}}, +{19672, 18, 105120, {1, 1, 1, 13, 5, 9, 45, 37, 235, 497, 871, 1471, 2895, 247, 9085, 39611, 63445, 218391}}, +{19673, 18, 105125, {1, 1, 5, 3, 5, 29, 23, 155, 339, 293, 535, 1569, 2625, 2867, 4639, 53049, 88721, 96903}}, +{19674, 18, 105137, {1, 1, 3, 15, 5, 25, 17, 45, 47, 683, 949, 1381, 5929, 9539, 3345, 59883, 19071, 200411}}, +{19675, 18, 105179, {1, 1, 1, 11, 11, 5, 71, 15, 469, 749, 1763, 541, 7109, 11731, 8463, 35145, 121795, 219441}}, +{19676, 18, 105215, {1, 3, 7, 11, 5, 17, 63, 159, 69, 993, 1519, 1531, 6913, 3901, 22131, 42909, 41299, 261813}}, +{19677, 18, 105244, {1, 1, 3, 5, 21, 27, 27, 197, 339, 275, 2011, 2263, 855, 1939, 21561, 30577, 6515, 124417}}, +{19678, 18, 105258, {1, 3, 5, 15, 25, 35, 91, 31, 269, 857, 327, 3643, 3211, 14401, 18399, 9007, 12897, 25555}}, +{19679, 18, 105263, {1, 1, 7, 15, 19, 47, 127, 157, 407, 867, 943, 1509, 3113, 49, 32131, 46975, 130013, 66457}}, +{19680, 18, 105280, {1, 3, 3, 13, 31, 45, 59, 135, 67, 825, 157, 2441, 2851, 2355, 28115, 14075, 106317, 145945}}, +{19681, 18, 105286, {1, 1, 1, 15, 27, 27, 5, 211, 85, 749, 671, 1341, 6865, 10027, 14419, 20159, 126647, 147893}}, +{19682, 18, 105380, {1, 1, 1, 7, 25, 49, 115, 231, 65, 161, 1409, 573, 2859, 639, 12567, 58459, 73781, 136893}}, +{19683, 18, 105397, {1, 1, 1, 7, 11, 57, 97, 141, 327, 975, 1799, 3051, 365, 9331, 14583, 16723, 113153, 224127}}, +{19684, 18, 105409, {1, 3, 1, 13, 13, 17, 105, 109, 151, 41, 1903, 1685, 2285, 5697, 16559, 34133, 106045, 203217}}, +{19685, 18, 105427, {1, 1, 1, 3, 29, 61, 43, 255, 269, 277, 1847, 3781, 7991, 131, 9833, 34305, 10763, 41869}}, +{19686, 18, 105452, {1, 1, 7, 3, 11, 1, 85, 89, 247, 99, 419, 2041, 3729, 10301, 5291, 36033, 31749, 261871}}, +{19687, 18, 105469, {1, 3, 7, 9, 27, 27, 41, 3, 303, 893, 697, 1631, 5015, 4233, 22827, 3913, 22245, 121193}}, +{19688, 18, 105472, {1, 3, 3, 13, 19, 11, 15, 239, 419, 123, 1213, 185, 4465, 4909, 25421, 18363, 72537, 167939}}, +{19689, 18, 105477, {1, 1, 3, 5, 13, 49, 57, 197, 19, 877, 1465, 2933, 5909, 7147, 1039, 37035, 91209, 126013}}, +{19690, 18, 105490, {1, 1, 3, 5, 23, 7, 63, 179, 59, 47, 1501, 1863, 2949, 13959, 28131, 29705, 107975, 155251}}, +{19691, 18, 105505, {1, 1, 1, 5, 25, 51, 77, 169, 327, 585, 1531, 3367, 3075, 6313, 26725, 453, 68635, 173787}}, +{19692, 18, 105529, {1, 3, 7, 9, 5, 15, 43, 45, 311, 367, 297, 2249, 7507, 4785, 22685, 37279, 121683, 141453}}, +{19693, 18, 105530, {1, 3, 7, 15, 17, 33, 43, 251, 281, 345, 1659, 3729, 7629, 6179, 26107, 64255, 88003, 2545}}, +{19694, 18, 105604, {1, 3, 7, 9, 17, 13, 71, 49, 341, 495, 1975, 173, 5773, 3821, 6615, 50917, 53781, 75557}}, +{19695, 18, 105614, {1, 1, 5, 13, 17, 21, 121, 35, 195, 367, 1191, 1331, 6423, 8425, 7705, 59117, 44575, 225431}}, +{19696, 18, 105622, {1, 1, 1, 5, 25, 39, 89, 65, 449, 491, 211, 2949, 4493, 23, 22571, 4801, 50525, 222563}}, +{19697, 18, 105625, {1, 1, 7, 5, 7, 21, 15, 171, 443, 225, 577, 1841, 8139, 15071, 6095, 60185, 71957, 244753}}, +{19698, 18, 105652, {1, 1, 5, 9, 31, 33, 21, 195, 415, 1003, 441, 627, 2339, 8245, 11187, 55933, 59045, 177455}}, +{19699, 18, 105687, {1, 1, 3, 9, 31, 29, 7, 15, 31, 577, 1435, 1317, 2923, 3807, 29693, 45857, 61787, 213565}}, +{19700, 18, 105693, {1, 3, 7, 15, 17, 51, 65, 87, 295, 811, 753, 1113, 7695, 275, 28331, 46363, 53247, 166993}}, +{19701, 18, 105707, {1, 1, 5, 11, 15, 31, 31, 47, 273, 383, 1831, 3821, 1337, 13257, 415, 35453, 15293, 173095}}, +{19702, 18, 105721, {1, 3, 1, 13, 19, 21, 63, 199, 159, 475, 1257, 3119, 7083, 2861, 21099, 16873, 83583, 186289}}, +{19703, 18, 105730, {1, 1, 7, 13, 15, 23, 11, 103, 387, 899, 261, 2863, 3681, 5683, 5587, 64655, 7411, 148633}}, +{19704, 18, 105736, {1, 3, 1, 13, 1, 45, 5, 173, 379, 287, 1451, 2253, 3811, 10963, 20285, 59681, 81285, 48523}}, +{19705, 18, 105753, {1, 1, 5, 9, 27, 17, 57, 25, 499, 289, 1083, 3057, 793, 5251, 10519, 36647, 67751, 237487}}, +{19706, 18, 105759, {1, 1, 3, 1, 17, 13, 23, 73, 1, 951, 111, 3769, 3611, 4827, 10081, 55919, 21411, 127303}}, +{19707, 18, 105760, {1, 3, 1, 1, 29, 35, 93, 139, 179, 217, 1839, 1907, 4365, 1813, 31985, 28927, 39319, 233413}}, +{19708, 18, 105802, {1, 1, 1, 7, 7, 47, 37, 127, 449, 473, 311, 3833, 3263, 4163, 15985, 50159, 82685, 73273}}, +{19709, 18, 105822, {1, 1, 1, 3, 3, 5, 69, 95, 101, 115, 1575, 63, 1897, 13733, 22149, 8793, 82983, 192553}}, +{19710, 18, 105832, {1, 3, 1, 5, 3, 57, 121, 13, 291, 975, 505, 3105, 6929, 12737, 25869, 29173, 16757, 17733}}, +{19711, 18, 105865, {1, 1, 3, 13, 13, 23, 51, 51, 239, 795, 877, 1547, 6533, 11497, 14309, 32941, 128109, 187313}}, +{19712, 18, 105873, {1, 1, 3, 5, 19, 37, 57, 223, 509, 379, 1235, 1881, 4133, 13219, 5479, 36781, 56155, 231001}}, +{19713, 18, 105874, {1, 1, 1, 5, 25, 45, 111, 183, 37, 875, 1487, 3771, 5593, 6835, 10921, 40697, 114455, 259491}}, +{19714, 18, 105880, {1, 1, 3, 11, 13, 5, 43, 47, 7, 435, 1543, 3835, 1631, 8889, 23567, 24705, 26687, 14261}}, +{19715, 18, 105899, {1, 3, 3, 11, 1, 13, 51, 171, 433, 1011, 679, 1307, 1683, 7379, 7163, 29727, 40209, 259973}}, +{19716, 18, 105902, {1, 3, 1, 5, 25, 33, 111, 11, 303, 815, 1883, 263, 7907, 12637, 19203, 64151, 55739, 240509}}, +{19717, 18, 105909, {1, 3, 5, 7, 23, 51, 3, 183, 425, 47, 231, 807, 1891, 10943, 17873, 20209, 60871, 30269}}, +{19718, 18, 105919, {1, 1, 1, 1, 1, 23, 11, 183, 351, 5, 37, 3883, 1291, 15933, 11379, 53057, 61389, 240547}}, +{19719, 18, 105922, {1, 3, 1, 5, 7, 53, 97, 29, 239, 805, 1929, 1001, 5103, 11, 24695, 7825, 109755, 254717}}, +{19720, 18, 105946, {1, 3, 3, 11, 15, 37, 115, 117, 391, 313, 1761, 3627, 3931, 10277, 1767, 25401, 123827, 60463}}, +{19721, 18, 105975, {1, 1, 7, 9, 9, 61, 23, 65, 473, 579, 1979, 415, 629, 3613, 27409, 46909, 3281, 3883}}, +{19722, 18, 105992, {1, 3, 3, 13, 25, 17, 71, 247, 297, 451, 153, 1949, 2727, 6427, 19815, 54013, 129363, 248237}}, +{19723, 18, 106005, {1, 1, 7, 7, 29, 9, 57, 171, 159, 287, 693, 1365, 4665, 5255, 15013, 21225, 125409, 5893}}, +{19724, 18, 106057, {1, 3, 3, 1, 9, 43, 13, 139, 359, 267, 115, 2025, 693, 4789, 10353, 60459, 30835, 56575}}, +{19725, 18, 106081, {1, 1, 1, 7, 23, 35, 35, 77, 245, 705, 75, 2841, 1683, 6109, 19661, 49021, 25019, 7297}}, +{19726, 18, 106093, {1, 3, 1, 5, 1, 19, 49, 53, 19, 435, 1471, 409, 7051, 7057, 3621, 42925, 59551, 70941}}, +{19727, 18, 106117, {1, 3, 7, 5, 21, 27, 39, 221, 389, 255, 537, 597, 7729, 10473, 6657, 13261, 11303, 112409}}, +{19728, 18, 106127, {1, 3, 7, 13, 29, 29, 81, 107, 329, 25, 537, 561, 2247, 10371, 30031, 20537, 28437, 113319}}, +{19729, 18, 106135, {1, 1, 5, 9, 9, 7, 89, 155, 337, 829, 755, 3259, 3563, 11849, 31179, 43297, 79601, 187545}}, +{19730, 18, 106141, {1, 3, 3, 5, 11, 63, 101, 159, 357, 627, 587, 3233, 405, 4083, 5953, 44541, 110723, 240573}}, +{19731, 18, 106189, {1, 1, 3, 15, 5, 39, 87, 231, 455, 195, 1603, 315, 3869, 6375, 745, 28349, 56469, 119033}}, +{19732, 18, 106190, {1, 1, 7, 1, 11, 7, 79, 47, 391, 585, 1299, 3237, 7345, 15959, 4293, 43285, 111737, 215923}}, +{19733, 18, 106197, {1, 1, 3, 15, 21, 53, 113, 73, 265, 589, 299, 289, 3983, 1653, 17407, 15287, 53199, 44221}}, +{19734, 18, 106214, {1, 3, 1, 3, 1, 13, 31, 41, 509, 523, 401, 2647, 2731, 5699, 15649, 51737, 81249, 230865}}, +{19735, 18, 106237, {1, 3, 5, 3, 15, 53, 91, 209, 249, 243, 1119, 2531, 319, 9259, 26555, 59579, 28767, 235073}}, +{19736, 18, 106245, {1, 1, 1, 13, 29, 25, 57, 3, 413, 945, 841, 1151, 7167, 2545, 7283, 3947, 109375, 148677}}, +{19737, 18, 106257, {1, 3, 3, 7, 29, 27, 81, 141, 21, 771, 577, 897, 73, 13081, 30035, 49213, 90627, 7483}}, +{19738, 18, 106300, {1, 3, 1, 13, 23, 11, 19, 159, 183, 789, 683, 2071, 7107, 3025, 27333, 9571, 69621, 48529}}, +{19739, 18, 106335, {1, 3, 1, 9, 5, 43, 7, 123, 341, 75, 1709, 135, 7929, 14563, 6849, 32783, 91971, 223789}}, +{19740, 18, 106351, {1, 1, 7, 3, 19, 13, 45, 229, 7, 559, 1895, 2649, 7593, 1063, 17715, 45019, 29743, 37819}}, +{19741, 18, 106370, {1, 1, 5, 3, 11, 25, 11, 169, 249, 415, 249, 209, 2223, 5947, 23381, 12109, 37697, 131729}}, +{19742, 18, 106375, {1, 1, 1, 7, 19, 47, 125, 117, 235, 825, 801, 921, 2363, 1261, 20529, 65445, 55315, 173561}}, +{19743, 18, 106376, {1, 1, 1, 1, 5, 39, 31, 11, 239, 333, 727, 3991, 1453, 2201, 18129, 3513, 112057, 109673}}, +{19744, 18, 106384, {1, 1, 7, 5, 21, 59, 37, 255, 261, 1, 1401, 1101, 1233, 3813, 22809, 39389, 66263, 191623}}, +{19745, 18, 106403, {1, 3, 1, 7, 5, 51, 73, 85, 319, 671, 1149, 1631, 6021, 10711, 3813, 36485, 106147, 202021}}, +{19746, 18, 106405, {1, 3, 3, 13, 7, 63, 59, 253, 337, 453, 61, 209, 2809, 10429, 28069, 55971, 57985, 244779}}, +{19747, 18, 106406, {1, 1, 1, 9, 27, 59, 45, 101, 427, 713, 1667, 2965, 6161, 1235, 8793, 2387, 66031, 85151}}, +{19748, 18, 106429, {1, 1, 3, 1, 5, 25, 101, 7, 449, 149, 823, 725, 6803, 11949, 13009, 14785, 45633, 241957}}, +{19749, 18, 106447, {1, 3, 7, 15, 29, 45, 103, 151, 159, 23, 1353, 3541, 5909, 4173, 31391, 16179, 38289, 206603}}, +{19750, 18, 106466, {1, 1, 7, 7, 23, 3, 97, 29, 141, 383, 379, 3189, 4399, 4545, 30797, 55827, 126223, 97049}}, +{19751, 18, 106495, {1, 3, 3, 7, 25, 35, 61, 15, 349, 929, 65, 3697, 7637, 12239, 29051, 36001, 114513, 151069}}, +{19752, 18, 106532, {1, 3, 3, 11, 19, 1, 23, 245, 9, 689, 1251, 1043, 2393, 15817, 31561, 21059, 3435, 228091}}, +{19753, 18, 106542, {1, 3, 7, 3, 23, 17, 121, 147, 427, 47, 905, 3877, 2301, 15709, 13599, 48895, 108955, 53219}}, +{19754, 18, 106547, {1, 3, 7, 3, 25, 31, 53, 143, 1, 841, 1691, 749, 6713, 5373, 23487, 25749, 13911, 240923}}, +{19755, 18, 106564, {1, 3, 5, 3, 7, 39, 101, 83, 159, 187, 583, 721, 7745, 1119, 61, 27319, 35157, 241729}}, +{19756, 18, 106576, {1, 1, 5, 11, 27, 21, 79, 199, 179, 463, 987, 3909, 1741, 503, 12339, 15323, 4063, 180337}}, +{19757, 18, 106586, {1, 3, 7, 11, 23, 43, 7, 115, 489, 215, 209, 3213, 4057, 13221, 27061, 52037, 34921, 36385}}, +{19758, 18, 106592, {1, 1, 7, 1, 15, 13, 113, 55, 207, 839, 1939, 4095, 5629, 7647, 12753, 59739, 60779, 196589}}, +{19759, 18, 106597, {1, 1, 1, 5, 5, 13, 113, 243, 297, 513, 1615, 1513, 1247, 4025, 20901, 44775, 86987, 75437}}, +{19760, 18, 106610, {1, 1, 3, 7, 7, 35, 77, 115, 223, 929, 1683, 949, 2191, 15533, 29471, 24103, 102475, 173027}}, +{19761, 18, 106612, {1, 3, 1, 11, 23, 37, 7, 179, 287, 267, 319, 3147, 1481, 12297, 28185, 51423, 7505, 236225}}, +{19762, 18, 106635, {1, 1, 3, 5, 27, 5, 71, 95, 289, 121, 939, 3543, 365, 4903, 10091, 3903, 111155, 83517}}, +{19763, 18, 106640, {1, 1, 7, 9, 29, 3, 87, 245, 313, 973, 1181, 3389, 3697, 13237, 13703, 31557, 17269, 17329}}, +{19764, 18, 106673, {1, 1, 5, 11, 5, 41, 117, 51, 239, 907, 809, 741, 5327, 3403, 11825, 46981, 93485, 38053}}, +{19765, 18, 106691, {1, 1, 7, 1, 25, 41, 5, 169, 11, 599, 1451, 2189, 7255, 8441, 11169, 58313, 4387, 69}}, +{19766, 18, 106724, {1, 3, 1, 13, 5, 21, 75, 229, 153, 355, 1511, 175, 4793, 12111, 25321, 39983, 84205, 195003}}, +{19767, 18, 106731, {1, 1, 7, 1, 17, 61, 67, 181, 69, 149, 921, 1107, 6319, 431, 29481, 12507, 13109, 29527}}, +{19768, 18, 106741, {1, 1, 5, 5, 27, 47, 69, 119, 469, 193, 513, 1573, 7421, 2723, 20997, 59585, 49645, 261259}}, +{19769, 18, 106748, {1, 1, 3, 9, 27, 41, 41, 3, 181, 803, 1281, 2937, 6745, 5629, 8403, 18987, 98411, 128321}}, +{19770, 18, 106765, {1, 3, 3, 9, 5, 29, 55, 223, 309, 841, 1049, 1163, 3497, 8935, 8529, 51367, 90693, 77463}}, +{19771, 18, 106789, {1, 3, 5, 3, 3, 59, 23, 31, 309, 907, 107, 3471, 4365, 14463, 24093, 35435, 24587, 151163}}, +{19772, 18, 106822, {1, 3, 3, 1, 11, 37, 99, 95, 485, 601, 1797, 891, 5645, 8927, 22085, 5185, 18495, 260455}}, +{19773, 18, 106856, {1, 3, 7, 15, 31, 61, 5, 177, 159, 287, 311, 1377, 1419, 4387, 25297, 22505, 100937, 223785}}, +{19774, 18, 106861, {1, 3, 3, 3, 27, 31, 45, 171, 95, 507, 1475, 4013, 2781, 133, 6857, 3367, 103455, 69559}}, +{19775, 18, 106870, {1, 3, 3, 7, 9, 51, 47, 247, 213, 665, 1929, 2799, 5513, 9183, 20197, 14831, 75277, 187565}}, +{19776, 18, 106883, {1, 3, 1, 9, 13, 11, 15, 253, 145, 31, 847, 1579, 5513, 9, 3327, 46049, 16709, 56353}}, +{19777, 18, 106895, {1, 3, 3, 3, 9, 17, 59, 131, 3, 621, 1209, 3415, 2999, 127, 629, 7925, 6109, 59743}}, +{19778, 18, 106928, {1, 1, 5, 15, 29, 35, 87, 197, 495, 671, 51, 293, 3943, 7969, 4739, 10161, 119943, 97217}}, +{19779, 18, 106938, {1, 1, 1, 9, 25, 57, 61, 197, 139, 899, 783, 3835, 3407, 16301, 19033, 33359, 56309, 16237}}, +{19780, 18, 106979, {1, 1, 5, 11, 25, 47, 95, 121, 197, 511, 227, 2281, 5805, 10581, 14885, 19685, 28075, 25431}}, +{19781, 18, 106985, {1, 1, 3, 9, 1, 43, 59, 105, 319, 45, 1567, 905, 7641, 2199, 3979, 13717, 22829, 44777}}, +{19782, 18, 107005, {1, 3, 7, 1, 19, 49, 105, 53, 227, 293, 989, 697, 2553, 4561, 14851, 8999, 74815, 207475}}, +{19783, 18, 107012, {1, 1, 5, 11, 23, 3, 85, 29, 419, 847, 1385, 3857, 641, 14951, 25629, 18019, 2497, 24723}}, +{19784, 18, 107019, {1, 3, 5, 15, 5, 11, 51, 225, 179, 695, 787, 663, 7051, 3595, 4987, 53315, 88693, 7915}}, +{19785, 18, 107045, {1, 3, 1, 13, 17, 51, 51, 247, 431, 555, 603, 3301, 443, 629, 26509, 32047, 54433, 208297}}, +{19786, 18, 107052, {1, 3, 7, 7, 13, 41, 95, 105, 135, 443, 377, 1259, 3301, 6945, 11677, 33869, 107799, 186567}}, +{19787, 18, 107082, {1, 1, 5, 7, 31, 17, 85, 129, 409, 781, 983, 25, 6877, 83, 12625, 31919, 41989, 55195}}, +{19788, 18, 107089, {1, 1, 3, 3, 7, 45, 37, 45, 237, 967, 1371, 657, 7983, 3121, 32707, 25757, 49987, 92683}}, +{19789, 18, 107118, {1, 3, 1, 1, 19, 57, 63, 25, 355, 893, 2017, 1671, 7343, 4451, 28243, 22157, 103901, 178017}}, +{19790, 18, 107163, {1, 3, 7, 13, 17, 59, 81, 99, 329, 117, 1395, 2565, 5725, 2371, 343, 4713, 35077, 49793}}, +{19791, 18, 107202, {1, 3, 7, 15, 31, 19, 87, 243, 411, 339, 1063, 117, 1827, 1583, 12571, 23153, 3363, 81695}}, +{19792, 18, 107238, {1, 3, 7, 1, 3, 49, 95, 133, 295, 433, 1885, 843, 6679, 13673, 32277, 59085, 46957, 217037}}, +{19793, 18, 107242, {1, 1, 3, 9, 23, 53, 45, 183, 79, 55, 1267, 283, 3249, 4101, 8107, 54473, 126141, 127235}}, +{19794, 18, 107244, {1, 3, 5, 7, 19, 57, 113, 205, 37, 817, 929, 3643, 2231, 15725, 1733, 7877, 116741, 254529}}, +{19795, 18, 107264, {1, 3, 1, 9, 9, 7, 75, 45, 83, 203, 1401, 445, 1043, 239, 30865, 32189, 91081, 180681}}, +{19796, 18, 107273, {1, 1, 7, 7, 1, 3, 61, 255, 483, 599, 897, 1601, 5189, 13279, 4981, 37235, 117505, 66625}}, +{19797, 18, 107291, {1, 1, 3, 13, 29, 43, 65, 73, 213, 307, 959, 2735, 5155, 16063, 15745, 6225, 50159, 182445}}, +{19798, 18, 107293, {1, 1, 3, 9, 31, 61, 73, 185, 457, 687, 1887, 4041, 3455, 4739, 16399, 40929, 32631, 179031}}, +{19799, 18, 107312, {1, 3, 3, 15, 5, 45, 1, 241, 187, 23, 63, 2497, 7759, 9175, 11003, 40579, 45769, 107133}}, +{19800, 18, 107318, {1, 3, 3, 7, 5, 63, 7, 67, 31, 917, 1825, 2037, 2527, 9767, 2665, 18573, 14289, 21583}}, +{19801, 18, 107335, {1, 1, 5, 15, 15, 25, 51, 127, 261, 925, 1651, 769, 7779, 7327, 7239, 20437, 9947, 144697}}, +{19802, 18, 107349, {1, 1, 5, 1, 5, 13, 99, 7, 269, 135, 345, 1851, 7963, 457, 24573, 32529, 127359, 157755}}, +{19803, 18, 107350, {1, 3, 5, 15, 21, 17, 31, 115, 321, 351, 117, 1301, 2455, 3363, 14213, 62903, 75273, 261119}}, +{19804, 18, 107363, {1, 3, 7, 1, 1, 9, 53, 209, 319, 489, 827, 1365, 4709, 7419, 28213, 56095, 9611, 234877}}, +{19805, 18, 107390, {1, 1, 5, 5, 1, 7, 49, 15, 377, 309, 1701, 1775, 5571, 12437, 27521, 54753, 68977, 138549}}, +{19806, 18, 107405, {1, 1, 3, 11, 9, 29, 67, 21, 411, 647, 983, 1075, 2387, 13355, 1781, 56129, 87235, 260133}}, +{19807, 18, 107408, {1, 3, 1, 11, 5, 57, 71, 159, 345, 853, 745, 3733, 1607, 7265, 20097, 18911, 101141, 70495}}, +{19808, 18, 107427, {1, 1, 3, 9, 1, 43, 127, 127, 471, 465, 1777, 1879, 4655, 12925, 24935, 58445, 78303, 200463}}, +{19809, 18, 107433, {1, 1, 1, 15, 5, 33, 63, 17, 401, 831, 1559, 3547, 7869, 13901, 18185, 9399, 65859, 185315}}, +{19810, 18, 107444, {1, 3, 7, 1, 25, 21, 17, 175, 401, 833, 847, 3593, 1283, 14745, 11827, 1987, 89299, 187369}}, +{19811, 18, 107514, {1, 1, 7, 13, 29, 31, 45, 219, 177, 369, 1313, 3015, 5859, 1829, 8793, 49109, 97581, 233179}}, +{19812, 18, 107522, {1, 3, 3, 15, 17, 31, 61, 215, 231, 495, 1307, 3067, 3187, 8813, 22505, 14055, 30773, 177955}}, +{19813, 18, 107545, {1, 3, 7, 15, 9, 61, 57, 105, 89, 267, 233, 905, 3727, 1841, 31875, 32499, 27003, 208491}}, +{19814, 18, 107582, {1, 3, 1, 11, 31, 9, 63, 55, 213, 209, 1625, 2635, 4335, 15201, 6127, 11097, 37991, 62813}}, +{19815, 18, 107590, {1, 1, 1, 5, 13, 49, 127, 249, 339, 525, 1943, 2935, 3255, 5199, 6869, 6325, 731, 51085}}, +{19816, 18, 107593, {1, 1, 5, 7, 7, 29, 59, 187, 463, 409, 1321, 377, 7361, 8303, 20385, 39649, 81379, 235555}}, +{19817, 18, 107599, {1, 1, 5, 13, 15, 45, 99, 57, 217, 535, 1747, 4081, 4781, 1005, 25197, 23853, 90587, 189579}}, +{19818, 18, 107604, {1, 1, 7, 7, 23, 31, 1, 151, 339, 447, 523, 2609, 5917, 6965, 25815, 62797, 104083, 245917}}, +{19819, 18, 107608, {1, 3, 5, 3, 7, 37, 79, 253, 423, 511, 1477, 3121, 5557, 1413, 31075, 22249, 117639, 243543}}, +{19820, 18, 107627, {1, 1, 3, 7, 5, 31, 93, 117, 135, 235, 745, 3287, 4451, 2487, 15179, 62229, 18247, 150277}}, +{19821, 18, 107638, {1, 1, 7, 15, 31, 57, 125, 219, 433, 629, 1809, 2499, 6083, 7631, 31495, 63183, 28533, 120579}}, +{19822, 18, 107666, {1, 1, 1, 13, 31, 47, 77, 73, 343, 867, 1055, 1121, 3035, 15693, 6971, 50231, 16527, 190795}}, +{19823, 18, 107678, {1, 3, 7, 7, 11, 1, 5, 215, 87, 885, 1429, 1277, 3831, 9341, 22011, 34585, 56167, 65301}}, +{19824, 18, 107701, {1, 3, 1, 15, 13, 53, 91, 59, 277, 819, 453, 3191, 757, 4729, 20605, 4283, 110745, 233655}}, +{19825, 18, 107720, {1, 3, 3, 5, 17, 47, 69, 117, 113, 775, 935, 1879, 2239, 5877, 18337, 50895, 44891, 2759}}, +{19826, 18, 107723, {1, 3, 5, 1, 27, 31, 77, 65, 355, 405, 825, 2419, 3337, 10179, 27665, 35459, 13721, 154227}}, +{19827, 18, 107725, {1, 3, 3, 7, 23, 61, 9, 241, 239, 85, 485, 2659, 5371, 16175, 28691, 49109, 124433, 167033}}, +{19828, 18, 107731, {1, 3, 3, 3, 11, 57, 37, 155, 443, 249, 1913, 1347, 6569, 5357, 4231, 58273, 50707, 57097}}, +{19829, 18, 107737, {1, 1, 3, 3, 1, 7, 87, 115, 259, 807, 45, 2997, 63, 16313, 12507, 39925, 17699, 24411}}, +{19830, 18, 107767, {1, 3, 3, 1, 19, 59, 97, 209, 247, 395, 21, 1803, 2547, 11607, 15703, 58099, 111907, 196101}}, +{19831, 18, 107779, {1, 1, 7, 13, 27, 61, 73, 183, 493, 953, 445, 567, 7373, 15275, 30081, 539, 89365, 3455}}, +{19832, 18, 107788, {1, 3, 1, 3, 25, 35, 3, 105, 243, 781, 1937, 2781, 7849, 2159, 2221, 58005, 89313, 182183}}, +{19833, 18, 107799, {1, 1, 7, 15, 21, 7, 67, 163, 179, 453, 581, 2245, 3915, 8985, 16809, 35113, 93605, 79009}}, +{19834, 18, 107819, {1, 1, 7, 5, 29, 57, 13, 75, 387, 511, 331, 1119, 307, 6145, 3841, 49987, 67335, 120419}}, +{19835, 18, 107833, {1, 3, 1, 5, 13, 21, 119, 207, 453, 943, 137, 2245, 7771, 5737, 9541, 29209, 106867, 110513}}, +{19836, 18, 107881, {1, 3, 7, 13, 7, 3, 99, 129, 245, 687, 883, 1321, 1131, 6661, 7437, 1345, 128247, 167877}}, +{19837, 18, 107901, {1, 1, 3, 11, 7, 57, 59, 3, 217, 549, 85, 2607, 215, 2249, 3963, 42931, 33747, 226265}}, +{19838, 18, 107911, {1, 1, 5, 5, 29, 23, 115, 215, 103, 427, 1689, 831, 3293, 14055, 3735, 49521, 17703, 182887}}, +{19839, 18, 107930, {1, 1, 1, 15, 5, 43, 27, 181, 217, 955, 225, 2731, 7347, 14123, 26169, 4371, 26907, 15017}}, +{19840, 18, 107936, {1, 1, 7, 7, 31, 55, 63, 223, 61, 63, 431, 2779, 3169, 14323, 2945, 63913, 85407, 76511}}, +{19841, 18, 107980, {1, 1, 3, 11, 5, 27, 113, 75, 313, 697, 13, 1853, 7467, 5701, 16749, 17939, 13475, 39807}}, +{19842, 18, 108004, {1, 1, 7, 5, 13, 53, 55, 115, 125, 341, 321, 3291, 2675, 13659, 16819, 45397, 42917, 104361}}, +{19843, 18, 108008, {1, 3, 3, 15, 27, 47, 19, 213, 441, 605, 593, 2287, 4847, 10505, 22185, 36157, 10881, 87799}}, +{19844, 18, 108016, {1, 1, 1, 11, 15, 39, 109, 3, 469, 371, 1743, 2789, 199, 8703, 7407, 3353, 103417, 73319}}, +{19845, 18, 108066, {1, 3, 7, 5, 25, 61, 77, 111, 263, 399, 1579, 3447, 6205, 5945, 28099, 39183, 77003, 115001}}, +{19846, 18, 108071, {1, 1, 1, 3, 1, 7, 57, 193, 379, 923, 151, 2227, 7285, 2371, 24567, 34037, 80655, 125499}}, +{19847, 18, 108107, {1, 3, 5, 7, 13, 15, 5, 193, 55, 319, 1851, 2439, 8071, 5329, 3155, 64669, 18547, 238997}}, +{19848, 18, 108110, {1, 3, 3, 11, 7, 23, 1, 203, 333, 951, 153, 1249, 5093, 407, 361, 14175, 45149, 186291}}, +{19849, 18, 108124, {1, 3, 1, 11, 13, 19, 89, 229, 139, 981, 455, 907, 5109, 8513, 23823, 54933, 69985, 227679}}, +{19850, 18, 108145, {1, 3, 5, 13, 23, 47, 65, 123, 115, 759, 375, 1283, 729, 11045, 22015, 18287, 112603, 75911}}, +{19851, 18, 108148, {1, 1, 3, 1, 5, 43, 91, 123, 219, 409, 517, 3999, 1409, 5949, 15727, 62705, 73573, 198447}}, +{19852, 18, 108158, {1, 3, 3, 3, 5, 23, 95, 51, 275, 455, 1831, 2427, 3779, 10209, 30839, 23393, 25681, 8715}}, +{19853, 18, 108164, {1, 3, 5, 3, 9, 5, 61, 97, 497, 397, 695, 517, 3313, 4911, 1961, 45805, 99135, 216657}}, +{19854, 18, 108197, {1, 1, 1, 7, 13, 41, 19, 31, 103, 1005, 73, 1855, 405, 12395, 19979, 17663, 105183, 28493}}, +{19855, 18, 108198, {1, 3, 1, 11, 27, 27, 69, 149, 1, 225, 1809, 1367, 3663, 6545, 8475, 40837, 64459, 66705}}, +{19856, 18, 108219, {1, 3, 3, 1, 29, 21, 113, 149, 215, 443, 1069, 3437, 1793, 13573, 28285, 33707, 29127, 40715}}, +{19857, 18, 108222, {1, 3, 3, 5, 21, 9, 53, 181, 455, 283, 245, 3999, 875, 9799, 10963, 31603, 34907, 64977}}, +{19858, 18, 108224, {1, 3, 1, 11, 31, 51, 29, 103, 61, 529, 777, 1097, 445, 9169, 6305, 4513, 60189, 164103}}, +{19859, 18, 108227, {1, 1, 1, 3, 21, 5, 87, 11, 461, 637, 1283, 1471, 1429, 2401, 12163, 29401, 30089, 41745}}, +{19860, 18, 108290, {1, 1, 3, 3, 17, 43, 13, 153, 73, 419, 747, 279, 7195, 4383, 26345, 28365, 97753, 208989}}, +{19861, 18, 108302, {1, 3, 7, 1, 17, 55, 103, 151, 327, 575, 1923, 1533, 4699, 2171, 15447, 64047, 59007, 54523}}, +{19862, 18, 108329, {1, 3, 7, 7, 3, 51, 79, 39, 403, 599, 161, 2465, 4911, 10327, 23599, 3267, 44177, 184231}}, +{19863, 18, 108335, {1, 3, 3, 15, 5, 19, 57, 83, 507, 927, 665, 3471, 5037, 2051, 22923, 36813, 97393, 102715}}, +{19864, 18, 108338, {1, 3, 3, 13, 11, 19, 91, 179, 113, 295, 855, 2071, 3265, 4089, 8627, 7461, 23855, 53675}}, +{19865, 18, 108362, {1, 1, 3, 5, 21, 41, 11, 227, 87, 417, 209, 2013, 4849, 5291, 22073, 40235, 71283, 140785}}, +{19866, 18, 108398, {1, 3, 3, 5, 29, 57, 95, 65, 177, 177, 1973, 563, 5249, 337, 7611, 45099, 15443, 46583}}, +{19867, 18, 108405, {1, 1, 7, 3, 3, 5, 107, 75, 31, 293, 821, 1837, 2363, 13621, 8793, 29841, 127201, 131707}}, +{19868, 18, 108409, {1, 1, 1, 5, 1, 45, 69, 61, 157, 999, 183, 3431, 3487, 9461, 17545, 26973, 115527, 58419}}, +{19869, 18, 108431, {1, 1, 7, 7, 27, 5, 125, 153, 191, 745, 125, 2807, 5043, 10657, 24487, 19517, 31735, 42421}}, +{19870, 18, 108449, {1, 1, 7, 9, 25, 37, 73, 255, 141, 229, 1723, 1331, 6089, 13109, 30683, 2335, 111517, 105411}}, +{19871, 18, 108474, {1, 1, 5, 7, 3, 61, 79, 203, 423, 669, 1757, 1725, 4239, 7013, 28591, 61853, 81103, 39813}}, +{19872, 18, 108488, {1, 1, 3, 7, 21, 27, 23, 119, 441, 113, 1019, 285, 53, 8643, 31689, 2629, 126573, 60835}}, +{19873, 18, 108530, {1, 1, 5, 11, 29, 49, 23, 55, 441, 809, 1177, 1371, 5945, 6461, 11537, 12287, 85637, 232065}}, +{19874, 18, 108545, {1, 3, 1, 15, 5, 13, 19, 209, 105, 897, 565, 3209, 487, 9837, 22169, 26317, 39907, 185193}}, +{19875, 18, 108551, {1, 1, 1, 5, 23, 45, 49, 55, 501, 213, 1217, 3159, 733, 5889, 5475, 4953, 37317, 100369}}, +{19876, 18, 108558, {1, 1, 5, 1, 19, 5, 57, 137, 361, 605, 1077, 2015, 5511, 4667, 18457, 45979, 120253, 203397}}, +{19877, 18, 108585, {1, 1, 7, 9, 19, 19, 11, 187, 5, 647, 275, 1265, 7587, 16183, 369, 31885, 58347, 36829}}, +{19878, 18, 108613, {1, 3, 5, 3, 31, 31, 7, 105, 359, 839, 641, 3215, 4807, 13397, 885, 52867, 57125, 180607}}, +{19879, 18, 108638, {1, 1, 7, 9, 19, 45, 43, 211, 429, 757, 1637, 1569, 935, 8899, 24823, 18599, 111373, 190979}}, +{19880, 18, 108642, {1, 1, 7, 7, 13, 47, 3, 241, 467, 209, 323, 3467, 4397, 15395, 15373, 14499, 92443, 65931}}, +{19881, 18, 108653, {1, 3, 3, 5, 5, 9, 67, 115, 45, 279, 1753, 1575, 8127, 9651, 5169, 25643, 29671, 214383}}, +{19882, 18, 108671, {1, 3, 7, 7, 29, 7, 37, 205, 495, 445, 1771, 1439, 3577, 10423, 10865, 26851, 15251, 63373}}, +{19883, 18, 108675, {1, 3, 1, 9, 29, 13, 45, 61, 153, 193, 1407, 1075, 4023, 2367, 1147, 51277, 52975, 123061}}, +{19884, 18, 108684, {1, 3, 3, 3, 31, 25, 113, 173, 345, 565, 145, 3437, 7051, 12557, 27919, 41733, 76717, 192645}}, +{19885, 18, 108687, {1, 3, 3, 7, 3, 55, 35, 219, 55, 467, 635, 3833, 3753, 1099, 15301, 53121, 120807, 70481}}, +{19886, 18, 108696, {1, 3, 7, 7, 13, 1, 121, 191, 71, 193, 1891, 2303, 1401, 9143, 31297, 38979, 43093, 138941}}, +{19887, 18, 108786, {1, 3, 7, 5, 17, 51, 83, 201, 231, 423, 511, 1301, 6075, 475, 2603, 49327, 78565, 220827}}, +{19888, 18, 108792, {1, 3, 1, 7, 5, 61, 23, 11, 9, 711, 251, 1383, 613, 6213, 8921, 27267, 66009, 28575}}, +{19889, 18, 108795, {1, 3, 1, 3, 13, 13, 61, 211, 353, 883, 343, 1089, 2041, 7781, 25285, 9053, 76801, 153009}}, +{19890, 18, 108818, {1, 3, 7, 5, 17, 61, 67, 69, 361, 937, 949, 1483, 2825, 3753, 16533, 17277, 16539, 140521}}, +{19891, 18, 108830, {1, 3, 5, 9, 7, 19, 31, 239, 357, 561, 1583, 3059, 2023, 2213, 11283, 18603, 83487, 162415}}, +{19892, 18, 108836, {1, 1, 3, 15, 15, 59, 9, 43, 353, 203, 765, 1907, 2733, 3747, 30617, 32671, 119005, 72131}}, +{19893, 18, 108839, {1, 3, 1, 7, 17, 61, 55, 113, 439, 75, 703, 2741, 1059, 4561, 15923, 17153, 32563, 79681}}, +{19894, 18, 108851, {1, 1, 1, 15, 11, 57, 91, 245, 187, 185, 1859, 1209, 3247, 10863, 22421, 47287, 26831, 200935}}, +{19895, 18, 108875, {1, 1, 3, 13, 11, 39, 61, 211, 51, 197, 861, 2965, 4691, 9955, 2289, 28795, 61537, 235359}}, +{19896, 18, 108883, {1, 1, 7, 1, 31, 37, 121, 107, 79, 521, 371, 983, 6189, 4515, 25691, 26933, 123189, 70033}}, +{19897, 18, 108895, {1, 3, 3, 15, 19, 33, 31, 237, 35, 877, 1013, 3445, 573, 1145, 27781, 26327, 117451, 142339}}, +{19898, 18, 108908, {1, 3, 3, 15, 15, 9, 17, 185, 151, 499, 493, 1331, 1587, 12657, 22577, 7957, 126253, 57971}}, +{19899, 18, 108953, {1, 3, 7, 15, 3, 29, 43, 105, 423, 601, 793, 1011, 6657, 7287, 18561, 46993, 72945, 233051}}, +{19900, 18, 108956, {1, 1, 7, 5, 15, 17, 125, 141, 75, 877, 281, 2011, 4217, 9785, 7587, 42863, 35585, 212795}}, +{19901, 18, 108963, {1, 1, 3, 3, 3, 37, 67, 129, 433, 233, 115, 687, 6253, 12805, 10935, 49963, 91675, 241951}}, +{19902, 18, 108989, {1, 3, 1, 5, 3, 41, 3, 233, 317, 959, 1407, 1251, 743, 4165, 15561, 41165, 22393, 111633}}, +{19903, 18, 109001, {1, 3, 3, 15, 17, 15, 53, 245, 109, 413, 1149, 35, 2931, 11635, 27091, 63659, 33973, 16867}}, +{19904, 18, 109009, {1, 3, 7, 13, 3, 43, 83, 201, 367, 275, 235, 1795, 4041, 13539, 22345, 31451, 83985, 3527}}, +{19905, 18, 109052, {1, 3, 3, 9, 31, 47, 63, 117, 195, 497, 453, 1183, 3857, 14075, 28057, 13205, 54331, 54641}}, +{19906, 18, 109083, {1, 1, 7, 11, 11, 39, 37, 183, 213, 537, 1371, 901, 5255, 11791, 18993, 58785, 114113, 229815}}, +{19907, 18, 109090, {1, 3, 5, 5, 13, 45, 77, 165, 329, 439, 2011, 1845, 4577, 12457, 16959, 45943, 37715, 169775}}, +{19908, 18, 109104, {1, 1, 3, 11, 5, 7, 21, 245, 365, 371, 1291, 2569, 1791, 6003, 18619, 18661, 98551, 89645}}, +{19909, 18, 109121, {1, 3, 1, 7, 3, 51, 49, 245, 151, 919, 489, 3967, 3157, 7159, 17207, 19749, 94455, 112403}}, +{19910, 18, 109128, {1, 3, 7, 5, 9, 15, 17, 201, 273, 669, 1571, 3915, 1859, 2569, 28855, 27225, 116711, 148377}}, +{19911, 18, 109141, {1, 3, 7, 3, 19, 45, 115, 71, 201, 85, 1349, 3897, 4941, 10839, 14781, 36487, 107037, 109185}}, +{19912, 18, 109146, {1, 3, 5, 13, 11, 11, 35, 19, 213, 41, 45, 4075, 3163, 12937, 17487, 28911, 21289, 198489}}, +{19913, 18, 109155, {1, 1, 1, 11, 7, 35, 67, 23, 451, 235, 717, 181, 6697, 9359, 24561, 36187, 125179, 35119}}, +{19914, 18, 109162, {1, 1, 7, 15, 7, 47, 55, 125, 465, 251, 211, 3137, 4101, 1341, 2287, 22149, 45089, 94173}}, +{19915, 18, 109209, {1, 3, 1, 15, 19, 7, 15, 207, 7, 759, 869, 2337, 6805, 8287, 13447, 9963, 7177, 173505}}, +{19916, 18, 109216, {1, 3, 7, 13, 15, 3, 65, 143, 291, 511, 939, 669, 4095, 1931, 26015, 18253, 102461, 93837}}, +{19917, 18, 109243, {1, 3, 1, 5, 23, 3, 19, 121, 489, 583, 1425, 627, 4229, 5343, 3759, 17845, 105369, 132239}}, +{19918, 18, 109265, {1, 3, 3, 9, 29, 9, 17, 153, 111, 879, 1225, 979, 2687, 10477, 10105, 18091, 37825, 28077}}, +{19919, 18, 109282, {1, 1, 7, 9, 3, 51, 75, 101, 197, 551, 89, 1441, 607, 14025, 30411, 26887, 3435, 32977}}, +{19920, 18, 109306, {1, 1, 7, 3, 25, 29, 95, 123, 197, 767, 1513, 721, 4149, 10873, 32247, 4469, 42297, 49651}}, +{19921, 18, 109316, {1, 3, 5, 15, 11, 3, 77, 161, 309, 923, 513, 161, 6447, 9811, 9209, 21413, 8611, 237557}}, +{19922, 18, 109334, {1, 3, 1, 3, 23, 11, 61, 107, 317, 771, 1469, 3367, 6607, 11495, 12271, 59989, 52483, 194761}}, +{19923, 18, 109359, {1, 3, 7, 7, 23, 1, 37, 47, 185, 863, 1153, 3517, 6165, 3921, 19311, 37339, 112477, 204915}}, +{19924, 18, 109373, {1, 3, 7, 7, 15, 61, 9, 113, 175, 305, 1759, 2933, 2139, 3591, 15303, 54479, 126511, 255205}}, +{19925, 18, 109386, {1, 1, 1, 3, 29, 43, 19, 183, 121, 577, 1329, 1737, 4373, 5577, 24023, 40103, 22333, 123423}}, +{19926, 18, 109394, {1, 3, 5, 1, 29, 1, 5, 177, 271, 431, 139, 705, 4319, 9301, 15887, 13253, 13275, 233317}}, +{19927, 18, 109403, {1, 1, 3, 7, 21, 3, 13, 51, 459, 359, 1721, 193, 4887, 7805, 20615, 28813, 82427, 57853}}, +{19928, 18, 109409, {1, 3, 3, 13, 3, 29, 43, 95, 339, 993, 979, 2323, 7505, 10203, 9475, 16513, 21651, 104871}}, +{19929, 18, 109412, {1, 1, 3, 15, 11, 5, 97, 127, 397, 25, 507, 1839, 2313, 13399, 899, 25713, 94363, 178287}}, +{19930, 18, 109427, {1, 1, 5, 5, 9, 53, 95, 171, 107, 129, 1041, 3583, 5479, 943, 21435, 36481, 85519, 169651}}, +{19931, 18, 109439, {1, 1, 1, 1, 1, 11, 17, 249, 277, 805, 1827, 2705, 3015, 9033, 25019, 38593, 59235, 21145}}, +{19932, 18, 109464, {1, 1, 7, 3, 7, 59, 107, 213, 109, 213, 555, 3463, 953, 3173, 18947, 2863, 27889, 32493}}, +{19933, 18, 109467, {1, 3, 5, 15, 21, 11, 99, 131, 287, 513, 1393, 3327, 7347, 4343, 8805, 29571, 97151, 97313}}, +{19934, 18, 109476, {1, 3, 5, 3, 17, 53, 23, 21, 227, 291, 111, 1951, 6593, 16325, 31725, 31997, 116907, 181027}}, +{19935, 18, 109488, {1, 1, 5, 3, 15, 57, 93, 153, 345, 257, 169, 795, 3907, 5669, 25447, 28775, 1489, 216417}}, +{19936, 18, 109497, {1, 1, 1, 5, 19, 19, 113, 55, 431, 685, 1839, 711, 4909, 10211, 25765, 37, 72657, 79769}}, +{19937, 18, 109523, {1, 3, 5, 7, 19, 17, 93, 145, 99, 799, 1615, 1583, 7705, 1069, 30259, 37951, 78965, 16203}}, +{19938, 18, 109551, {1, 3, 7, 13, 23, 61, 119, 49, 413, 1021, 415, 465, 7395, 31, 16415, 1009, 9843, 86531}}, +{19939, 18, 109556, {1, 1, 3, 15, 17, 21, 83, 69, 411, 1, 269, 1391, 295, 13649, 21649, 62453, 11457, 215375}}, +{19940, 18, 109566, {1, 3, 3, 7, 25, 53, 95, 99, 447, 323, 27, 1595, 3771, 16099, 31523, 14405, 66999, 65733}}, +{19941, 18, 109598, {1, 1, 3, 11, 25, 29, 19, 95, 101, 661, 537, 641, 1455, 16151, 29087, 54009, 89395, 2223}}, +{19942, 18, 109628, {1, 1, 1, 11, 11, 33, 91, 227, 449, 661, 1621, 1743, 2859, 9797, 32397, 41767, 116325, 6839}}, +{19943, 18, 109643, {1, 3, 3, 7, 31, 41, 15, 139, 53, 789, 25, 67, 1131, 5987, 14091, 37259, 70313, 6633}}, +{19944, 18, 109663, {1, 3, 7, 13, 21, 29, 71, 245, 497, 493, 207, 3221, 3695, 3045, 1497, 29235, 65113, 82015}}, +{19945, 18, 109674, {1, 1, 7, 5, 29, 29, 87, 197, 123, 323, 773, 157, 2925, 9235, 31625, 58187, 121457, 25561}}, +{19946, 18, 109688, {1, 1, 1, 9, 3, 15, 99, 55, 133, 757, 1405, 997, 5201, 8971, 6095, 33309, 35587, 254545}}, +{19947, 18, 109691, {1, 3, 5, 9, 19, 57, 85, 45, 429, 823, 1369, 933, 1971, 13753, 11351, 45805, 16527, 129907}}, +{19948, 18, 109704, {1, 3, 3, 15, 23, 15, 35, 89, 477, 875, 1087, 2837, 1093, 617, 18687, 53269, 63447, 226393}}, +{19949, 18, 109715, {1, 1, 7, 9, 27, 37, 23, 107, 265, 485, 1975, 3159, 4065, 10089, 26975, 45067, 4241, 49051}}, +{19950, 18, 109717, {1, 3, 3, 1, 29, 53, 89, 129, 149, 717, 749, 1481, 7829, 15887, 23185, 30667, 11749, 188963}}, +{19951, 18, 109746, {1, 3, 5, 9, 13, 47, 119, 135, 407, 99, 1773, 2307, 7885, 4013, 25723, 53519, 37487, 205671}}, +{19952, 18, 109789, {1, 1, 5, 1, 11, 27, 121, 213, 147, 669, 799, 485, 4275, 15909, 30583, 45925, 90365, 226901}}, +{19953, 18, 109794, {1, 1, 3, 5, 1, 19, 81, 109, 217, 949, 1637, 3413, 5957, 7293, 17337, 63857, 103815, 80805}}, +{19954, 18, 109868, {1, 3, 7, 3, 9, 43, 119, 251, 345, 3, 203, 829, 3391, 2575, 6859, 50849, 22221, 227581}}, +{19955, 18, 109886, {1, 1, 7, 15, 13, 43, 7, 23, 101, 89, 1747, 1231, 1883, 13363, 10981, 59179, 59555, 242021}}, +{19956, 18, 109888, {1, 1, 5, 5, 23, 15, 93, 183, 231, 891, 1745, 2665, 1689, 8515, 11717, 35643, 113067, 233757}}, +{19957, 18, 109903, {1, 3, 7, 11, 29, 21, 13, 59, 103, 105, 483, 863, 2711, 7917, 29279, 53931, 7011, 60075}}, +{19958, 18, 109908, {1, 1, 3, 15, 5, 37, 101, 163, 31, 575, 2029, 1625, 4545, 12579, 15175, 32667, 59497, 63653}}, +{19959, 18, 109912, {1, 3, 5, 7, 23, 37, 61, 101, 273, 49, 1943, 3381, 491, 4079, 20341, 26463, 122261, 77965}}, +{19960, 18, 109927, {1, 1, 3, 15, 9, 51, 53, 89, 175, 487, 1583, 1797, 4353, 1339, 19613, 26913, 78955, 166523}}, +{19961, 18, 109936, {1, 3, 3, 9, 27, 57, 25, 207, 233, 675, 661, 2629, 6971, 8723, 31199, 47215, 36931, 28347}}, +{19962, 18, 109979, {1, 3, 1, 3, 31, 15, 123, 17, 211, 883, 1861, 2747, 8075, 5373, 23521, 46217, 86629, 171777}}, +{19963, 18, 110005, {1, 3, 5, 9, 11, 43, 45, 171, 465, 835, 603, 2121, 409, 1643, 20327, 63211, 129479, 223113}}, +{19964, 18, 110010, {1, 1, 5, 7, 13, 57, 83, 233, 307, 489, 941, 1723, 6149, 5557, 2053, 17377, 31597, 176051}}, +{19965, 18, 110017, {1, 1, 7, 3, 11, 11, 85, 163, 169, 989, 1289, 2749, 7681, 4679, 645, 36589, 85907, 194713}}, +{19966, 18, 110041, {1, 1, 1, 7, 3, 57, 39, 149, 463, 947, 481, 1163, 7171, 8539, 28991, 61235, 74487, 107051}}, +{19967, 18, 110042, {1, 1, 3, 7, 9, 57, 89, 101, 231, 163, 1355, 1393, 5823, 7565, 26285, 13523, 130329, 26099}}, +{19968, 18, 110047, {1, 1, 7, 15, 13, 59, 111, 35, 265, 927, 125, 1881, 5397, 757, 23845, 9677, 76077, 163361}}, +{19969, 18, 110048, {1, 1, 7, 9, 1, 63, 61, 157, 389, 143, 1445, 881, 3609, 9955, 11159, 59677, 45831, 138345}}, +{19970, 18, 110053, {1, 3, 5, 7, 5, 45, 65, 23, 257, 589, 905, 3651, 743, 117, 30307, 7415, 103331, 252889}}, +{19971, 18, 110054, {1, 1, 7, 13, 3, 57, 113, 91, 217, 967, 481, 989, 4795, 3549, 23717, 60793, 80281, 19977}}, +{19972, 18, 110057, {1, 3, 3, 1, 15, 37, 113, 245, 239, 575, 197, 2803, 7743, 13447, 3601, 56981, 76381, 13321}}, +{19973, 18, 110091, {1, 3, 1, 11, 27, 33, 99, 151, 43, 835, 1951, 1957, 2983, 6781, 9319, 2119, 40533, 118325}}, +{19974, 18, 110093, {1, 3, 3, 7, 27, 19, 23, 243, 347, 477, 1661, 1891, 2439, 2485, 31743, 1427, 20317, 90803}}, +{19975, 18, 110112, {1, 3, 1, 1, 3, 59, 71, 129, 21, 3, 449, 629, 3657, 4045, 8305, 40461, 60927, 38529}}, +{19976, 18, 110127, {1, 3, 3, 7, 9, 11, 85, 185, 369, 451, 887, 3709, 6931, 111, 1379, 8741, 58777, 188045}}, +{19977, 18, 110178, {1, 3, 7, 11, 23, 13, 77, 141, 99, 543, 725, 2439, 6825, 1361, 2785, 5345, 5941, 234751}}, +{19978, 18, 110183, {1, 1, 5, 5, 17, 55, 69, 9, 431, 585, 1049, 165, 1705, 14907, 8655, 12485, 22783, 91195}}, +{19979, 18, 110184, {1, 1, 7, 11, 29, 41, 91, 137, 17, 785, 1151, 2033, 7031, 15077, 2241, 21453, 117947, 128891}}, +{19980, 18, 110195, {1, 1, 1, 11, 17, 53, 113, 195, 409, 275, 1757, 245, 6263, 14785, 29159, 43827, 65027, 248403}}, +{19981, 18, 110307, {1, 3, 3, 3, 5, 15, 23, 41, 261, 891, 1021, 1999, 4883, 9233, 10385, 21953, 50711, 4247}}, +{19982, 18, 110334, {1, 1, 1, 13, 23, 47, 33, 77, 317, 251, 617, 2265, 7549, 327, 2317, 41209, 41063, 120863}}, +{19983, 18, 110336, {1, 1, 7, 11, 15, 17, 25, 105, 253, 713, 1147, 415, 5777, 2215, 4207, 33857, 17001, 260533}}, +{19984, 18, 110354, {1, 1, 1, 11, 31, 45, 3, 25, 329, 45, 1563, 121, 1413, 16229, 32485, 54477, 101025, 64847}}, +{19985, 18, 110356, {1, 3, 5, 1, 15, 59, 113, 203, 481, 545, 371, 1357, 5549, 3043, 397, 61483, 59779, 58159}}, +{19986, 18, 110390, {1, 3, 3, 3, 25, 39, 29, 193, 379, 293, 1173, 3389, 4231, 11519, 6681, 28813, 63609, 13029}}, +{19987, 18, 110419, {1, 3, 1, 1, 27, 57, 37, 249, 441, 905, 463, 3543, 7203, 10075, 5373, 46103, 6685, 146943}}, +{19988, 18, 110452, {1, 3, 5, 7, 31, 51, 21, 139, 209, 219, 1663, 837, 3351, 6291, 735, 8715, 33751, 199485}}, +{19989, 18, 110461, {1, 3, 5, 11, 19, 57, 41, 163, 287, 327, 243, 2891, 1095, 3959, 5067, 2867, 16207, 213089}}, +{19990, 18, 110465, {1, 1, 5, 11, 21, 59, 97, 239, 309, 371, 797, 453, 2595, 4277, 3771, 5665, 10075, 56101}}, +{19991, 18, 110466, {1, 1, 3, 15, 17, 29, 103, 33, 449, 525, 961, 3551, 3611, 14057, 15971, 26981, 35169, 130213}}, +{19992, 18, 110468, {1, 1, 3, 1, 5, 13, 39, 211, 387, 797, 1051, 3287, 3737, 12953, 3387, 35107, 78809, 162907}}, +{19993, 18, 110486, {1, 1, 7, 9, 7, 63, 127, 115, 173, 981, 623, 737, 7625, 12245, 4195, 61873, 104301, 250333}}, +{19994, 18, 110511, {1, 1, 1, 5, 19, 5, 123, 43, 209, 741, 747, 1057, 2683, 15359, 24121, 38413, 5823, 62213}}, +{19995, 18, 110531, {1, 1, 7, 1, 23, 13, 63, 165, 309, 323, 247, 3827, 5451, 4823, 23925, 56957, 69765, 259923}}, +{19996, 18, 110561, {1, 1, 5, 1, 5, 49, 51, 65, 31, 257, 1363, 3031, 5765, 3645, 16383, 6347, 30429, 130557}}, +{19997, 18, 110573, {1, 3, 5, 13, 9, 63, 31, 3, 317, 379, 1345, 2161, 7787, 2055, 21507, 20347, 97021, 183377}}, +{19998, 18, 110593, {1, 3, 5, 11, 15, 59, 13, 139, 415, 821, 639, 1249, 6349, 15861, 21377, 22813, 42839, 76595}}, +{19999, 18, 110611, {1, 1, 7, 9, 23, 11, 25, 115, 393, 153, 1269, 871, 1323, 1891, 11619, 3103, 79813, 39811}}, +{20000, 18, 110614, {1, 3, 1, 15, 27, 37, 63, 253, 1, 855, 1651, 3111, 6693, 1825, 22549, 64189, 18347, 253425}}, +{20001, 18, 110651, {1, 3, 1, 11, 23, 27, 119, 59, 421, 343, 831, 2679, 5899, 12087, 15953, 18601, 109551, 33895}}, +{20002, 18, 110661, {1, 3, 1, 13, 29, 3, 91, 227, 301, 491, 1045, 2105, 5189, 13717, 1095, 6039, 16229, 215687}}, +{20003, 18, 110665, {1, 1, 7, 3, 11, 53, 85, 25, 23, 293, 841, 3569, 5335, 8949, 28665, 15139, 100807, 155587}}, +{20004, 18, 110701, {1, 1, 1, 9, 31, 1, 77, 149, 181, 5, 915, 1155, 4717, 2837, 17545, 3235, 26811, 124901}}, +{20005, 18, 110730, {1, 1, 3, 5, 25, 27, 47, 215, 425, 195, 1575, 3961, 3521, 4197, 9565, 32523, 125091, 165543}}, +{20006, 18, 110735, {1, 3, 7, 3, 17, 57, 7, 137, 507, 303, 1123, 1511, 2465, 4277, 19959, 31951, 83157, 62843}}, +{20007, 18, 110738, {1, 3, 3, 1, 27, 43, 79, 191, 265, 167, 665, 4017, 6613, 1175, 5427, 47139, 91517, 32071}}, +{20008, 18, 110759, {1, 1, 1, 11, 29, 63, 9, 39, 303, 1021, 415, 2157, 5227, 13557, 4931, 12541, 74101, 13189}}, +{20009, 18, 110763, {1, 1, 3, 9, 15, 41, 45, 163, 301, 315, 1433, 1449, 3589, 15783, 16069, 16155, 10527, 69335}}, +{20010, 18, 110768, {1, 3, 1, 1, 1, 5, 75, 169, 215, 115, 939, 1285, 43, 1941, 27847, 5245, 51211, 244817}}, +{20011, 18, 110774, {1, 1, 1, 15, 7, 33, 31, 23, 397, 537, 1415, 329, 6705, 15015, 18883, 62895, 21435, 233075}}, +{20012, 18, 110783, {1, 3, 3, 5, 11, 49, 73, 147, 183, 317, 11, 1997, 1045, 6015, 29159, 55195, 105711, 134727}}, +{20013, 18, 110785, {1, 3, 3, 9, 21, 41, 5, 213, 421, 539, 1269, 1929, 3701, 2165, 14997, 21933, 58167, 239719}}, +{20014, 18, 110809, {1, 3, 1, 5, 23, 63, 37, 27, 21, 547, 1499, 1621, 141, 5309, 32257, 47241, 123617, 243853}}, +{20015, 18, 110812, {1, 1, 1, 13, 31, 45, 47, 91, 165, 1007, 1295, 4035, 1461, 10423, 7747, 7329, 114599, 169375}}, +{20016, 18, 110840, {1, 1, 5, 3, 21, 9, 75, 61, 35, 745, 31, 4085, 3645, 16239, 14979, 15725, 108859, 56745}}, +{20017, 18, 110853, {1, 1, 5, 15, 11, 31, 13, 229, 417, 147, 1993, 4043, 7757, 13507, 15297, 56119, 2223, 142275}}, +{20018, 18, 110905, {1, 3, 5, 13, 3, 57, 45, 109, 135, 829, 159, 769, 865, 2583, 15755, 44343, 84561, 98621}}, +{20019, 18, 110933, {1, 1, 7, 11, 17, 11, 115, 45, 371, 411, 863, 2139, 3897, 13981, 16771, 4587, 25195, 66077}}, +{20020, 18, 110961, {1, 3, 7, 15, 17, 47, 51, 133, 133, 475, 1363, 3325, 4287, 4837, 22077, 60225, 3097, 246805}}, +{20021, 18, 110962, {1, 3, 5, 9, 29, 51, 127, 125, 353, 519, 129, 1409, 1497, 3167, 14163, 24921, 81343, 129835}}, +{20022, 18, 110974, {1, 3, 5, 5, 19, 39, 95, 109, 229, 1015, 367, 2373, 709, 6169, 4089, 13533, 22399, 118977}}, +{20023, 18, 110987, {1, 1, 5, 5, 17, 21, 91, 131, 309, 739, 1373, 3723, 6659, 1119, 27521, 55589, 34967, 70831}}, +{20024, 18, 110989, {1, 3, 1, 11, 5, 7, 85, 215, 425, 947, 589, 375, 5943, 13399, 18307, 27007, 18919, 200617}}, +{20025, 18, 111007, {1, 1, 3, 15, 11, 37, 111, 179, 259, 517, 1679, 225, 3493, 15025, 21751, 40687, 73001, 214477}}, +{20026, 18, 111011, {1, 1, 7, 15, 17, 41, 109, 129, 427, 847, 1965, 3269, 5871, 12331, 26899, 49791, 103471, 213789}}, +{20027, 18, 111043, {1, 3, 3, 3, 9, 41, 25, 115, 95, 737, 717, 1545, 841, 14923, 7409, 45365, 100139, 77787}}, +{20028, 18, 111070, {1, 1, 3, 15, 11, 3, 63, 23, 425, 433, 537, 1599, 2691, 11271, 1695, 40579, 53507, 73033}}, +{20029, 18, 111088, {1, 3, 7, 13, 9, 21, 85, 31, 337, 583, 1883, 3877, 7197, 7715, 21525, 53273, 11263, 41907}}, +{20030, 18, 111127, {1, 3, 7, 1, 7, 53, 61, 45, 299, 885, 1391, 3109, 6851, 6079, 18857, 44537, 95713, 146125}}, +{20031, 18, 111140, {1, 1, 1, 3, 21, 49, 95, 105, 419, 315, 365, 3035, 4169, 5723, 26921, 62809, 27019, 243965}}, +{20032, 18, 111149, {1, 1, 3, 5, 11, 39, 71, 89, 249, 11, 1395, 105, 6637, 4577, 22979, 32405, 93163, 58785}}, +{20033, 18, 111229, {1, 1, 1, 1, 27, 25, 125, 85, 495, 697, 1793, 301, 7665, 12671, 25359, 38803, 58723, 189837}}, +{20034, 18, 111230, {1, 3, 5, 11, 17, 11, 61, 211, 19, 901, 1701, 223, 2195, 15571, 3529, 34699, 94607, 196519}}, +{20035, 18, 111243, {1, 3, 7, 11, 15, 1, 111, 1, 381, 145, 293, 3639, 6931, 13195, 19985, 58491, 53067, 184411}}, +{20036, 18, 111267, {1, 3, 1, 15, 31, 39, 39, 101, 17, 431, 1151, 2465, 727, 12709, 5377, 5857, 49707, 76439}}, +{20037, 18, 111287, {1, 3, 3, 5, 7, 1, 3, 39, 357, 339, 415, 567, 7245, 13943, 7495, 54133, 119705, 160615}}, +{20038, 18, 111313, {1, 3, 5, 15, 9, 17, 13, 253, 337, 673, 1745, 2613, 4635, 14025, 11159, 50001, 40753, 172983}}, +{20039, 18, 111356, {1, 3, 7, 11, 3, 15, 19, 107, 393, 1015, 1441, 181, 5721, 9987, 15557, 37263, 90053, 205685}}, +{20040, 18, 111368, {1, 1, 5, 1, 9, 3, 69, 123, 245, 111, 283, 1581, 259, 275, 813, 12213, 19639, 7335}}, +{20041, 18, 111409, {1, 3, 7, 7, 1, 55, 101, 63, 259, 705, 653, 3821, 2081, 6447, 25471, 15523, 38827, 68055}}, +{20042, 18, 111419, {1, 1, 5, 7, 27, 9, 97, 149, 445, 341, 167, 3695, 375, 853, 8143, 36027, 62729, 197357}}, +{20043, 18, 111430, {1, 3, 7, 1, 1, 37, 97, 103, 493, 319, 1287, 3787, 4079, 13049, 14305, 6665, 4631, 96225}}, +{20044, 18, 111433, {1, 1, 5, 7, 1, 5, 127, 143, 251, 725, 1759, 2381, 181, 15741, 9395, 64441, 44347, 221697}}, +{20045, 18, 111442, {1, 3, 1, 3, 25, 47, 29, 167, 397, 827, 1255, 3271, 6307, 13915, 3131, 19123, 88619, 62847}}, +{20046, 18, 111467, {1, 3, 5, 1, 29, 11, 59, 203, 245, 553, 617, 1287, 205, 2291, 3613, 39933, 116981, 43595}}, +{20047, 18, 111491, {1, 1, 3, 9, 27, 33, 35, 77, 437, 1003, 119, 253, 6643, 113, 10587, 41073, 55371, 233307}}, +{20048, 18, 111503, {1, 3, 7, 1, 29, 63, 1, 231, 373, 995, 1063, 1385, 273, 14115, 6899, 62991, 112003, 80527}}, +{20049, 18, 111527, {1, 3, 3, 1, 31, 21, 55, 115, 393, 685, 245, 1587, 5617, 267, 19639, 15169, 14073, 173091}}, +{20050, 18, 111531, {1, 3, 1, 11, 29, 45, 53, 21, 433, 979, 1067, 2999, 6279, 4739, 30835, 61653, 112893, 75839}}, +{20051, 18, 111541, {1, 1, 5, 11, 23, 25, 15, 107, 325, 981, 1057, 1181, 4465, 16291, 1523, 64497, 129437, 45067}}, +{20052, 18, 111546, {1, 1, 1, 5, 1, 21, 79, 135, 419, 997, 1967, 747, 2097, 15397, 4415, 15807, 79583, 259561}}, +{20053, 18, 111548, {1, 3, 1, 7, 5, 49, 105, 109, 243, 371, 13, 2297, 2845, 12569, 13165, 13551, 75471, 168579}}, +{20054, 18, 111577, {1, 1, 1, 1, 9, 33, 7, 233, 43, 773, 1121, 3763, 4047, 15039, 8165, 25407, 82561, 215045}}, +{20055, 18, 111625, {1, 3, 7, 1, 17, 41, 105, 129, 333, 687, 1357, 1197, 1271, 3835, 15823, 36777, 94311, 192321}}, +{20056, 18, 111636, {1, 1, 5, 15, 13, 31, 93, 249, 81, 167, 1681, 1587, 179, 5755, 27741, 29437, 100407, 63287}}, +{20057, 18, 111650, {1, 3, 3, 13, 11, 39, 85, 23, 37, 183, 547, 1255, 1167, 15961, 23281, 59989, 99393, 34983}}, +{20058, 18, 111655, {1, 3, 7, 5, 13, 33, 17, 243, 321, 845, 447, 1997, 4639, 11175, 24651, 18281, 82677, 244543}}, +{20059, 18, 111662, {1, 3, 5, 13, 3, 63, 75, 35, 493, 207, 1707, 1401, 3687, 11353, 5461, 23433, 71259, 93483}}, +{20060, 18, 111673, {1, 1, 3, 1, 19, 61, 81, 133, 115, 957, 669, 647, 347, 8739, 18451, 39641, 118677, 136601}}, +{20061, 18, 111699, {1, 1, 7, 13, 3, 13, 119, 187, 111, 181, 1865, 1613, 201, 3633, 17805, 46553, 8899, 100407}}, +{20062, 18, 111727, {1, 3, 3, 9, 19, 33, 35, 215, 235, 893, 877, 3099, 7597, 13521, 22473, 65435, 3205, 44897}}, +{20063, 18, 111729, {1, 3, 3, 11, 27, 3, 101, 201, 215, 373, 859, 1435, 2637, 6795, 21157, 3333, 27797, 199427}}, +{20064, 18, 111741, {1, 1, 7, 13, 31, 33, 85, 205, 273, 565, 2033, 3451, 7581, 16223, 1383, 16297, 1263, 49065}}, +{20065, 18, 111757, {1, 1, 1, 13, 11, 29, 65, 71, 395, 179, 1193, 3859, 3075, 10133, 6463, 34617, 20173, 203471}}, +{20066, 18, 111781, {1, 1, 7, 3, 7, 29, 11, 115, 465, 695, 1759, 3137, 6337, 977, 43, 62501, 13297, 59319}}, +{20067, 18, 111791, {1, 3, 5, 9, 31, 59, 11, 107, 109, 797, 177, 2891, 2535, 4305, 19255, 9591, 84417, 87381}}, +{20068, 18, 111826, {1, 3, 3, 3, 1, 9, 45, 219, 73, 573, 1477, 3699, 8145, 835, 7123, 37167, 53411, 45397}}, +{20069, 18, 111838, {1, 3, 5, 15, 15, 41, 37, 63, 233, 971, 1497, 1223, 3909, 11721, 9217, 41055, 9779, 199339}}, +{20070, 18, 111854, {1, 3, 3, 7, 17, 61, 91, 237, 313, 841, 7, 3283, 4049, 10403, 22157, 4889, 31903, 188043}}, +{20071, 18, 111861, {1, 3, 7, 1, 25, 3, 59, 87, 191, 725, 1615, 4057, 3037, 14597, 17371, 42221, 73919, 58009}}, +{20072, 18, 111866, {1, 3, 5, 11, 27, 7, 45, 231, 315, 727, 843, 2191, 7909, 53, 23309, 55189, 96193, 174017}}, +{20073, 18, 111868, {1, 3, 5, 11, 27, 51, 127, 187, 209, 883, 429, 137, 4585, 15195, 16527, 32571, 30905, 8137}}, +{20074, 18, 111897, {1, 1, 1, 11, 15, 55, 13, 161, 183, 671, 659, 3669, 4461, 13691, 17119, 26877, 52041, 110103}}, +{20075, 18, 111903, {1, 3, 5, 9, 5, 45, 29, 19, 415, 931, 683, 2987, 3839, 4529, 3091, 54457, 115537, 102671}}, +{20076, 18, 111904, {1, 1, 7, 13, 23, 31, 61, 17, 327, 951, 1333, 713, 4309, 1955, 22797, 27007, 106673, 47177}}, +{20077, 18, 111959, {1, 3, 3, 9, 31, 49, 19, 115, 413, 257, 1799, 3641, 2075, 15613, 14293, 16123, 45131, 209389}}, +{20078, 18, 111975, {1, 1, 7, 15, 1, 15, 27, 63, 463, 825, 1081, 991, 2641, 5999, 8551, 41119, 80251, 189263}}, +{20079, 18, 112018, {1, 1, 5, 9, 7, 55, 125, 97, 245, 997, 457, 1087, 1297, 3433, 14887, 24117, 30689, 184809}}, +{20080, 18, 112023, {1, 3, 1, 9, 23, 59, 81, 233, 341, 943, 1335, 2819, 2625, 4957, 14925, 7917, 107383, 204493}}, +{20081, 18, 112033, {1, 3, 5, 5, 5, 25, 79, 29, 191, 541, 1295, 269, 613, 5201, 28639, 52839, 52865, 75181}}, +{20082, 18, 112036, {1, 3, 3, 7, 19, 45, 35, 201, 391, 317, 1323, 2733, 3407, 10273, 32689, 52153, 108751, 242493}}, +{20083, 18, 112043, {1, 3, 1, 7, 15, 27, 45, 21, 383, 483, 1857, 3443, 2263, 11471, 3697, 63929, 116399, 229733}}, +{20084, 18, 112095, {1, 1, 3, 9, 13, 27, 19, 37, 181, 811, 1833, 177, 7689, 10073, 20229, 31397, 65415, 68461}}, +{20085, 18, 112113, {1, 1, 1, 15, 19, 53, 65, 209, 433, 783, 1647, 4075, 3155, 733, 25603, 39033, 43109, 151257}}, +{20086, 18, 112136, {1, 3, 3, 5, 9, 37, 61, 75, 497, 825, 1785, 3709, 1731, 889, 19325, 57453, 39095, 190855}}, +{20087, 18, 112153, {1, 3, 3, 13, 3, 53, 21, 39, 483, 833, 1191, 2829, 1323, 1877, 17257, 36077, 47997, 25349}}, +{20088, 18, 112165, {1, 1, 7, 9, 29, 25, 7, 91, 87, 723, 777, 1865, 7763, 10995, 15953, 36111, 21313, 214417}}, +{20089, 18, 112166, {1, 3, 5, 3, 17, 15, 85, 133, 245, 317, 879, 3237, 7049, 6501, 13359, 34063, 124703, 118289}}, +{20090, 18, 112177, {1, 1, 1, 7, 11, 25, 111, 143, 369, 593, 237, 2787, 1015, 13059, 23275, 38453, 90809, 25803}}, +{20091, 18, 112189, {1, 1, 7, 5, 13, 21, 39, 235, 381, 381, 949, 773, 1123, 9911, 18115, 47657, 47849, 197633}}, +{20092, 18, 112226, {1, 1, 3, 13, 15, 57, 47, 203, 483, 341, 137, 1283, 2847, 5051, 22593, 60915, 45123, 258733}}, +{20093, 18, 112237, {1, 1, 3, 5, 29, 7, 23, 127, 493, 543, 747, 3547, 4433, 5847, 28999, 18079, 81205, 231557}}, +{20094, 18, 112240, {1, 1, 3, 15, 9, 63, 17, 197, 75, 387, 1679, 2631, 1033, 2757, 18365, 11957, 98915, 24223}}, +{20095, 18, 112255, {1, 1, 3, 9, 27, 55, 67, 97, 345, 995, 1151, 1747, 4889, 13847, 13237, 9035, 13461, 10377}}, +{20096, 18, 112265, {1, 1, 5, 9, 27, 13, 7, 77, 399, 191, 137, 2801, 6379, 15969, 1727, 27503, 97385, 147625}}, +{20097, 18, 112280, {1, 3, 1, 7, 5, 9, 103, 163, 489, 615, 1359, 2635, 3115, 13795, 18853, 65225, 26545, 212065}}, +{20098, 18, 112292, {1, 3, 7, 3, 13, 25, 125, 133, 359, 423, 751, 4045, 1209, 7521, 6653, 39171, 125083, 229399}}, +{20099, 18, 112307, {1, 3, 1, 9, 15, 21, 121, 223, 283, 313, 1807, 3829, 5279, 10609, 20113, 7851, 23731, 245327}}, +{20100, 18, 112316, {1, 1, 1, 11, 15, 13, 63, 253, 311, 369, 1549, 2803, 2029, 14967, 14217, 1387, 104669, 63375}}, +{20101, 18, 112342, {1, 1, 3, 3, 31, 49, 59, 189, 249, 779, 275, 3761, 3465, 2205, 11543, 16973, 126249, 104769}}, +{20102, 18, 112345, {1, 3, 1, 5, 11, 39, 59, 33, 121, 151, 467, 1011, 1379, 13955, 20117, 52537, 51049, 50663}}, +{20103, 18, 112351, {1, 1, 1, 7, 5, 41, 121, 29, 357, 33, 849, 2441, 2127, 1337, 21147, 63869, 80215, 31211}}, +{20104, 18, 112361, {1, 3, 3, 3, 25, 41, 17, 101, 173, 915, 463, 2391, 1671, 8789, 13357, 42127, 17599, 61087}}, +{20105, 18, 112364, {1, 1, 3, 9, 29, 23, 47, 211, 435, 223, 1421, 2463, 4543, 8569, 30209, 46621, 14367, 13263}}, +{20106, 18, 112372, {1, 3, 7, 7, 5, 9, 75, 209, 299, 81, 1705, 2335, 6703, 6309, 5859, 57889, 43219, 7667}}, +{20107, 18, 112382, {1, 3, 3, 3, 19, 31, 107, 87, 413, 111, 215, 2711, 7053, 5223, 25241, 26675, 16067, 122719}}, +{20108, 18, 112389, {1, 1, 1, 15, 21, 3, 15, 13, 281, 63, 725, 2025, 4813, 14177, 18577, 875, 118623, 192005}}, +{20109, 18, 112408, {1, 3, 5, 9, 17, 21, 85, 173, 59, 153, 763, 3899, 1985, 2071, 10439, 44911, 60915, 122419}}, +{20110, 18, 112417, {1, 3, 7, 13, 11, 63, 59, 95, 53, 927, 555, 1897, 5195, 13469, 16973, 3463, 125173, 256021}}, +{20111, 18, 112423, {1, 1, 3, 7, 9, 63, 33, 193, 61, 445, 1247, 1379, 4701, 5311, 30709, 16795, 69871, 161113}}, +{20112, 18, 112476, {1, 3, 1, 3, 21, 25, 125, 111, 109, 75, 455, 861, 6483, 4501, 19095, 45601, 78415, 30995}}, +{20113, 18, 112480, {1, 1, 3, 5, 1, 25, 15, 25, 223, 961, 537, 1453, 4951, 5085, 19801, 9863, 108819, 7319}}, +{20114, 18, 112483, {1, 3, 1, 5, 29, 21, 79, 113, 177, 691, 219, 3159, 3493, 25, 30655, 46257, 23707, 243377}}, +{20115, 18, 112513, {1, 1, 3, 3, 27, 21, 11, 95, 43, 161, 2029, 4091, 6695, 7179, 9955, 45195, 32017, 128605}}, +{20116, 18, 112538, {1, 1, 7, 5, 19, 37, 47, 83, 169, 143, 773, 2127, 347, 1887, 2861, 8155, 21437, 175641}}, +{20117, 18, 112543, {1, 3, 1, 1, 27, 63, 119, 57, 77, 931, 629, 1807, 4469, 2315, 3767, 19207, 114581, 125135}}, +{20118, 18, 112574, {1, 1, 5, 11, 13, 51, 51, 239, 333, 369, 1035, 3017, 103, 1809, 14579, 34425, 123915, 258397}}, +{20119, 18, 112599, {1, 1, 1, 3, 3, 19, 63, 237, 141, 929, 943, 2597, 3983, 1043, 24269, 12325, 39013, 216689}}, +{20120, 18, 112605, {1, 1, 3, 7, 9, 61, 73, 31, 287, 303, 1415, 3453, 2667, 8625, 14347, 51953, 9181, 251937}}, +{20121, 18, 112667, {1, 1, 7, 1, 15, 41, 1, 197, 87, 311, 1147, 3799, 2585, 14027, 491, 54203, 124861, 227637}}, +{20122, 18, 112688, {1, 3, 7, 3, 15, 35, 97, 89, 65, 493, 1897, 3345, 3807, 5911, 12461, 21393, 116975, 212801}}, +{20123, 18, 112735, {1, 1, 7, 11, 29, 47, 61, 171, 399, 929, 93, 2815, 4933, 9209, 15053, 21911, 117217, 52539}}, +{20124, 18, 112746, {1, 3, 1, 1, 19, 25, 11, 41, 73, 317, 215, 923, 5153, 8025, 18703, 11513, 107981, 2027}}, +{20125, 18, 112810, {1, 1, 5, 7, 27, 33, 47, 99, 171, 259, 2017, 2055, 909, 4185, 26689, 23155, 109857, 213957}}, +{20126, 18, 112817, {1, 3, 7, 3, 31, 17, 39, 203, 255, 345, 1461, 1561, 4349, 6451, 14763, 32993, 74475, 140557}}, +{20127, 18, 112827, {1, 1, 5, 3, 21, 57, 75, 201, 371, 529, 1471, 243, 3751, 581, 18405, 40933, 106311, 745}}, +{20128, 18, 112835, {1, 1, 3, 13, 7, 53, 125, 15, 55, 267, 1865, 3297, 4331, 2913, 21675, 58911, 28419, 105585}}, +{20129, 18, 112892, {1, 3, 5, 13, 7, 13, 37, 37, 207, 127, 785, 1129, 8123, 7655, 16003, 18907, 48883, 2001}}, +{20130, 18, 112898, {1, 1, 5, 3, 11, 3, 127, 149, 503, 1019, 887, 3429, 7775, 7113, 19571, 34461, 38889, 66981}}, +{20131, 18, 112915, {1, 3, 7, 7, 1, 55, 87, 217, 465, 485, 411, 2955, 4899, 1741, 7051, 42885, 1837, 68175}}, +{20132, 18, 112918, {1, 1, 7, 1, 7, 39, 25, 1, 185, 523, 273, 2409, 1867, 3101, 29823, 4509, 81621, 11815}}, +{20133, 18, 112937, {1, 1, 1, 11, 13, 11, 89, 237, 355, 347, 91, 1791, 5745, 4181, 29207, 39495, 5275, 199395}}, +{20134, 18, 112940, {1, 1, 7, 3, 17, 37, 109, 169, 191, 295, 1001, 2631, 1981, 11821, 8315, 40675, 1293, 220247}}, +{20135, 18, 112958, {1, 3, 1, 7, 31, 25, 5, 55, 1, 795, 1663, 3177, 6821, 2073, 25789, 23691, 25015, 75203}}, +{20136, 18, 113013, {1, 3, 5, 9, 19, 9, 97, 129, 351, 735, 1897, 3555, 1731, 5413, 32051, 12869, 111973, 100157}}, +{20137, 18, 113014, {1, 3, 3, 15, 27, 1, 3, 167, 7, 851, 805, 713, 6389, 1455, 32371, 7617, 107157, 131299}}, +{20138, 18, 113027, {1, 3, 1, 13, 31, 29, 91, 123, 387, 939, 223, 3583, 2889, 5307, 16561, 6055, 4437, 123229}}, +{20139, 18, 113048, {1, 3, 5, 11, 27, 17, 5, 145, 369, 449, 1677, 1039, 3553, 3057, 11667, 51879, 20519, 41573}}, +{20140, 18, 113051, {1, 3, 1, 9, 9, 1, 91, 33, 379, 35, 691, 375, 5937, 15019, 16177, 53457, 52015, 232257}}, +{20141, 18, 113053, {1, 1, 3, 11, 23, 17, 75, 217, 377, 571, 1725, 2719, 3911, 12277, 27799, 55573, 21981, 112529}}, +{20142, 18, 113102, {1, 3, 1, 11, 9, 37, 81, 95, 501, 615, 327, 3751, 7333, 15407, 7785, 29113, 116335, 221853}}, +{20143, 18, 113104, {1, 1, 1, 3, 17, 1, 125, 157, 461, 845, 93, 107, 4429, 2271, 14445, 32919, 81175, 244557}}, +{20144, 18, 113114, {1, 3, 3, 1, 27, 23, 33, 15, 29, 361, 409, 981, 7819, 10259, 21971, 23317, 66641, 54591}}, +{20145, 18, 113130, {1, 3, 7, 13, 31, 63, 11, 167, 511, 81, 1165, 3973, 4275, 3315, 10227, 34973, 58505, 2333}}, +{20146, 18, 113159, {1, 3, 1, 9, 3, 49, 111, 101, 41, 775, 449, 1349, 4411, 8691, 535, 60137, 3269, 204895}}, +{20147, 18, 113180, {1, 3, 7, 15, 7, 43, 39, 147, 309, 185, 733, 1473, 5467, 6183, 17971, 56805, 111931, 163515}}, +{20148, 18, 113189, {1, 3, 1, 3, 21, 31, 17, 129, 317, 587, 801, 2517, 2569, 765, 20869, 16461, 34425, 101123}}, +{20149, 18, 113211, {1, 3, 1, 7, 13, 63, 117, 31, 25, 741, 365, 687, 6195, 2093, 14679, 16861, 123381, 25263}}, +{20150, 18, 113245, {1, 1, 1, 3, 13, 59, 65, 131, 41, 39, 1659, 1491, 225, 10277, 12445, 4161, 92119, 146705}}, +{20151, 18, 113261, {1, 3, 5, 1, 31, 11, 21, 203, 345, 473, 1643, 1377, 555, 11675, 15383, 30855, 41249, 231059}}, +{20152, 18, 113273, {1, 1, 7, 15, 3, 23, 33, 133, 433, 407, 1217, 3345, 7455, 11489, 21463, 41621, 95755, 86971}}, +{20153, 18, 113292, {1, 1, 1, 3, 13, 47, 45, 181, 489, 89, 427, 1915, 3993, 10133, 20437, 31811, 48421, 150009}}, +{20154, 18, 113314, {1, 3, 1, 9, 9, 25, 89, 195, 503, 755, 59, 1869, 6645, 13841, 22973, 17761, 46759, 68717}}, +{20155, 18, 113319, {1, 3, 1, 1, 19, 21, 119, 123, 481, 289, 1009, 3769, 3909, 1123, 17875, 17383, 71533, 45455}}, +{20156, 18, 113323, {1, 1, 1, 3, 31, 33, 127, 43, 467, 749, 377, 3025, 511, 13335, 23987, 63627, 50211, 197253}}, +{20157, 18, 113326, {1, 1, 5, 13, 29, 7, 101, 43, 299, 769, 1637, 3731, 1945, 9933, 22263, 1523, 127557, 116867}}, +{20158, 18, 113337, {1, 1, 3, 11, 1, 59, 25, 45, 275, 535, 1349, 3625, 8125, 727, 1215, 15487, 86229, 124817}}, +{20159, 18, 113338, {1, 3, 3, 13, 3, 11, 25, 237, 213, 331, 395, 1775, 1225, 6859, 16577, 39105, 118081, 74727}}, +{20160, 18, 113355, {1, 1, 1, 9, 5, 27, 117, 75, 479, 757, 1299, 2273, 3221, 5297, 249, 60327, 48739, 107023}}, +{20161, 18, 113365, {1, 1, 5, 9, 27, 9, 123, 49, 63, 763, 121, 3955, 2069, 5999, 25973, 64661, 6321, 1179}}, +{20162, 18, 113376, {1, 3, 7, 11, 9, 51, 65, 93, 51, 51, 829, 3239, 7431, 3489, 7691, 38777, 28151, 96635}}, +{20163, 18, 113408, {1, 3, 3, 13, 15, 51, 13, 203, 49, 73, 363, 2173, 7771, 11527, 27683, 39333, 2083, 178623}}, +{20164, 18, 113462, {1, 1, 5, 5, 15, 27, 27, 127, 503, 955, 427, 3061, 6213, 917, 889, 12601, 72445, 105383}}, +{20165, 18, 113476, {1, 3, 5, 3, 27, 43, 105, 187, 309, 747, 1843, 723, 539, 8829, 19171, 46009, 26129, 173145}}, +{20166, 18, 113503, {1, 3, 7, 7, 9, 51, 121, 139, 107, 453, 1103, 2957, 633, 1435, 27275, 53231, 51393, 16847}}, +{20167, 18, 113550, {1, 3, 7, 5, 25, 31, 71, 191, 169, 69, 1477, 1413, 7659, 11737, 12365, 25067, 21787, 16225}}, +{20168, 18, 113578, {1, 1, 7, 1, 9, 33, 37, 123, 391, 341, 829, 1543, 7323, 14695, 16431, 20009, 95821, 182791}}, +{20169, 18, 113580, {1, 3, 1, 5, 9, 59, 109, 39, 301, 977, 1963, 177, 8107, 16193, 5691, 14157, 71605, 250839}}, +{20170, 18, 113634, {1, 3, 5, 9, 29, 33, 33, 153, 7, 217, 201, 563, 6577, 9605, 16671, 63949, 97937, 234309}}, +{20171, 18, 113653, {1, 3, 7, 3, 25, 11, 81, 89, 275, 801, 477, 1921, 2279, 1651, 13333, 9127, 99693, 83141}}, +{20172, 18, 113677, {1, 3, 7, 5, 23, 51, 23, 51, 447, 689, 387, 1845, 6033, 2037, 20139, 33165, 56111, 243353}}, +{20173, 18, 113713, {1, 3, 5, 7, 5, 7, 105, 121, 439, 471, 721, 85, 1627, 3735, 29611, 15537, 36131, 30225}}, +{20174, 18, 113751, {1, 1, 5, 5, 7, 29, 31, 209, 183, 217, 467, 1287, 6145, 14737, 16249, 8857, 101405, 103355}}, +{20175, 18, 113771, {1, 3, 3, 5, 19, 1, 43, 15, 239, 63, 617, 2189, 3841, 1223, 12217, 4121, 88047, 14069}}, +{20176, 18, 113781, {1, 3, 7, 1, 9, 49, 11, 65, 297, 943, 1739, 3797, 6169, 2057, 5031, 2149, 21439, 141039}}, +{20177, 18, 113797, {1, 1, 1, 7, 15, 59, 35, 203, 347, 529, 1741, 1003, 6143, 4979, 15495, 48447, 2139, 187025}}, +{20178, 18, 113846, {1, 1, 7, 13, 15, 17, 77, 225, 461, 691, 1067, 1133, 6555, 511, 25845, 39835, 11755, 142743}}, +{20179, 18, 113849, {1, 3, 3, 11, 27, 25, 49, 51, 335, 1, 381, 2703, 7023, 14739, 19335, 39625, 82255, 76277}}, +{20180, 18, 113855, {1, 3, 3, 7, 19, 3, 35, 95, 203, 991, 515, 2245, 6085, 4129, 9581, 38309, 114203, 136021}}, +{20181, 18, 113878, {1, 1, 7, 7, 21, 61, 31, 57, 459, 119, 523, 1293, 3647, 735, 28849, 15581, 123943, 210069}}, +{20182, 18, 113884, {1, 1, 7, 3, 9, 55, 103, 23, 401, 109, 23, 4083, 6179, 12817, 2787, 43337, 53647, 241507}}, +{20183, 18, 113926, {1, 1, 5, 7, 9, 51, 37, 133, 97, 933, 1509, 2229, 1769, 12901, 15439, 25687, 128823, 72451}}, +{20184, 18, 113938, {1, 3, 1, 13, 17, 19, 7, 109, 299, 799, 621, 3393, 3645, 283, 29889, 63215, 97805, 45795}}, +{20185, 18, 113956, {1, 3, 1, 15, 21, 7, 65, 237, 221, 433, 1611, 2591, 3639, 3231, 6025, 53465, 88091, 17657}}, +{20186, 18, 113980, {1, 1, 7, 9, 27, 13, 11, 185, 381, 43, 961, 2743, 2691, 10531, 3713, 61757, 124011, 209323}}, +{20187, 18, 113986, {1, 3, 5, 1, 13, 7, 109, 65, 359, 577, 2001, 3085, 3519, 8577, 19299, 40145, 37159, 82421}}, +{20188, 18, 113991, {1, 1, 3, 11, 7, 5, 21, 215, 391, 317, 879, 1835, 611, 7189, 3887, 45383, 41025, 175701}}, +{20189, 18, 114005, {1, 1, 1, 1, 5, 17, 69, 115, 481, 477, 2017, 583, 8033, 11349, 16625, 213, 88033, 31707}}, +{20190, 18, 114022, {1, 1, 7, 15, 19, 55, 121, 35, 1, 71, 1011, 3247, 4133, 1681, 29943, 30149, 96797, 177707}}, +{20191, 18, 114036, {1, 3, 5, 13, 11, 45, 83, 153, 455, 223, 787, 2025, 5271, 229, 17549, 5775, 75311, 134523}}, +{20192, 18, 114046, {1, 3, 5, 7, 21, 43, 3, 253, 395, 651, 1111, 1685, 539, 6555, 25761, 39477, 15823, 261825}}, +{20193, 18, 114050, {1, 3, 7, 15, 27, 35, 43, 191, 269, 247, 883, 887, 1505, 7433, 6239, 5421, 49583, 17765}}, +{20194, 18, 114061, {1, 1, 5, 15, 7, 19, 113, 177, 63, 119, 517, 3987, 971, 12071, 13107, 28913, 85675, 204921}}, +{20195, 18, 114067, {1, 3, 7, 15, 31, 47, 21, 129, 31, 505, 661, 855, 6135, 13063, 27971, 63801, 27469, 75373}}, +{20196, 18, 114117, {1, 1, 7, 5, 13, 23, 111, 85, 279, 969, 483, 831, 483, 9065, 10997, 59031, 5083, 150939}}, +{20197, 18, 114142, {1, 3, 5, 7, 17, 55, 11, 223, 189, 209, 139, 577, 5443, 913, 19085, 53113, 8427, 11251}}, +{20198, 18, 114158, {1, 1, 1, 7, 23, 61, 95, 213, 443, 803, 1545, 3625, 2195, 2649, 10913, 14339, 23001, 16735}}, +{20199, 18, 114165, {1, 3, 3, 3, 13, 45, 15, 225, 419, 445, 527, 635, 2279, 5097, 25267, 199, 66187, 156717}}, +{20200, 18, 114200, {1, 1, 1, 7, 23, 17, 113, 245, 99, 159, 919, 2961, 1731, 6241, 12749, 8925, 44153, 243249}}, +{20201, 18, 114219, {1, 3, 1, 3, 29, 57, 43, 245, 389, 233, 135, 45, 3771, 14061, 10173, 51939, 128985, 81605}}, +{20202, 18, 114254, {1, 1, 1, 15, 1, 19, 25, 111, 91, 193, 1185, 3679, 7155, 7077, 13743, 35631, 128975, 196979}}, +{20203, 18, 114265, {1, 3, 3, 13, 31, 57, 25, 53, 149, 331, 643, 915, 1607, 14429, 29803, 23459, 72915, 39253}}, +{20204, 18, 114272, {1, 3, 3, 9, 23, 45, 9, 29, 383, 277, 981, 1647, 5217, 4449, 26759, 63849, 98081, 37565}}, +{20205, 18, 114312, {1, 1, 1, 15, 3, 23, 9, 121, 231, 27, 1961, 2389, 1689, 7041, 8069, 37973, 74601, 15553}}, +{20206, 18, 114318, {1, 1, 5, 15, 15, 29, 11, 177, 355, 47, 1821, 393, 3383, 10439, 6357, 41119, 60323, 206253}}, +{20207, 18, 114348, {1, 1, 1, 1, 21, 29, 87, 149, 157, 979, 1867, 729, 1949, 4409, 27495, 6841, 89033, 214957}}, +{20208, 18, 114377, {1, 1, 3, 3, 9, 7, 115, 129, 141, 157, 881, 109, 5537, 303, 32549, 1953, 9903, 82401}}, +{20209, 18, 114383, {1, 1, 5, 15, 9, 19, 93, 53, 319, 913, 1341, 705, 4639, 16189, 11375, 39155, 81393, 115843}}, +{20210, 18, 114386, {1, 1, 5, 7, 31, 21, 3, 47, 437, 799, 359, 3291, 3917, 12983, 19283, 23769, 34033, 226041}}, +{20211, 18, 114431, {1, 3, 7, 7, 27, 13, 65, 31, 181, 511, 1373, 3871, 1537, 6015, 12103, 42187, 121043, 95715}}, +{20212, 18, 114448, {1, 1, 5, 11, 1, 55, 91, 11, 105, 137, 1787, 81, 5163, 5793, 17403, 59433, 113439, 65751}}, +{20213, 18, 114479, {1, 1, 3, 13, 21, 57, 87, 157, 379, 5, 285, 3217, 4557, 3359, 28953, 63397, 110537, 230571}}, +{20214, 18, 114487, {1, 3, 7, 7, 7, 27, 25, 109, 125, 337, 719, 561, 5903, 12913, 6987, 17157, 50655, 195109}}, +{20215, 18, 114513, {1, 3, 3, 15, 3, 11, 97, 93, 441, 19, 1435, 515, 6129, 5177, 28075, 53495, 107817, 78399}}, +{20216, 18, 114542, {1, 3, 1, 9, 13, 7, 89, 171, 165, 479, 223, 4001, 691, 4033, 13577, 33363, 63447, 46609}}, +{20217, 18, 114572, {1, 3, 7, 1, 15, 47, 103, 45, 209, 639, 1465, 2795, 6025, 7981, 29491, 47743, 12861, 222445}}, +{20218, 18, 114584, {1, 3, 3, 3, 1, 25, 121, 91, 253, 969, 1259, 1409, 1329, 15995, 17733, 24081, 101747, 120619}}, +{20219, 18, 114600, {1, 3, 7, 11, 11, 5, 7, 241, 469, 411, 1733, 1385, 7005, 10977, 23369, 10675, 90341, 93077}}, +{20220, 18, 114605, {1, 3, 3, 13, 17, 35, 107, 189, 437, 801, 1761, 3133, 3847, 14079, 22465, 45957, 38449, 54273}}, +{20221, 18, 114623, {1, 1, 7, 9, 9, 47, 55, 107, 491, 281, 777, 2187, 6179, 6607, 2151, 9093, 42873, 104677}}, +{20222, 18, 114628, {1, 1, 5, 3, 25, 3, 37, 55, 339, 619, 1227, 3859, 5593, 9639, 31199, 48155, 80779, 6497}}, +{20223, 18, 114640, {1, 1, 7, 1, 21, 49, 105, 45, 119, 635, 163, 3821, 3689, 11395, 19265, 14289, 89259, 167433}}, +{20224, 18, 114650, {1, 3, 3, 15, 29, 23, 11, 255, 425, 443, 1659, 3965, 4791, 10223, 11113, 48751, 7987, 166605}}, +{20225, 18, 114668, {1, 1, 7, 3, 7, 1, 113, 153, 233, 803, 539, 297, 4847, 11203, 29393, 54319, 94373, 173471}}, +{20226, 18, 114671, {1, 3, 3, 5, 27, 57, 23, 147, 423, 617, 103, 3369, 4825, 13613, 23635, 61977, 5331, 115243}}, +{20227, 18, 114674, {1, 3, 3, 9, 11, 47, 41, 27, 345, 657, 1873, 365, 1685, 11181, 31977, 60489, 98741, 215357}}, +{20228, 18, 114700, {1, 3, 1, 11, 19, 33, 39, 223, 151, 921, 309, 3413, 6735, 11971, 25583, 6927, 54821, 125203}}, +{20229, 18, 114731, {1, 1, 5, 1, 27, 31, 61, 247, 207, 895, 1453, 3613, 7097, 6537, 29407, 9903, 39937, 98285}}, +{20230, 18, 114748, {1, 3, 1, 5, 7, 11, 119, 7, 323, 27, 1069, 2033, 7387, 3381, 19007, 49039, 39453, 115411}}, +{20231, 18, 114759, {1, 1, 7, 3, 9, 15, 51, 139, 353, 857, 1829, 3955, 7669, 3961, 22805, 39879, 26677, 66865}}, +{20232, 18, 114766, {1, 3, 5, 7, 1, 11, 59, 95, 181, 645, 829, 3119, 3607, 5973, 12381, 41577, 79443, 226945}}, +{20233, 18, 114768, {1, 3, 3, 5, 3, 13, 91, 119, 103, 889, 703, 3005, 541, 7529, 12613, 14267, 70445, 217543}}, +{20234, 18, 114784, {1, 1, 5, 7, 17, 41, 5, 225, 85, 759, 1071, 2055, 1655, 14811, 25635, 50803, 58545, 105687}}, +{20235, 18, 114808, {1, 3, 5, 13, 3, 7, 77, 209, 139, 717, 985, 1085, 831, 11011, 27313, 46423, 29435, 207359}}, +{20236, 18, 114813, {1, 3, 1, 7, 27, 45, 39, 75, 311, 937, 1593, 1357, 4815, 1997, 1045, 48681, 49301, 155607}}, +{20237, 18, 114829, {1, 3, 5, 11, 21, 9, 111, 39, 447, 241, 1613, 1799, 4817, 1861, 1263, 63641, 92081, 252051}}, +{20238, 18, 114830, {1, 1, 1, 13, 31, 13, 39, 29, 349, 25, 1227, 2457, 3831, 7965, 16903, 25825, 62381, 101765}}, +{20239, 18, 114842, {1, 1, 3, 7, 15, 17, 5, 29, 83, 607, 931, 261, 1087, 16247, 10129, 7813, 5445, 167723}}, +{20240, 18, 114875, {1, 3, 5, 9, 15, 31, 69, 191, 139, 467, 1681, 1951, 7813, 4295, 18191, 11411, 15601, 13025}}, +{20241, 18, 114898, {1, 1, 1, 11, 29, 53, 97, 205, 281, 917, 1009, 913, 1003, 16085, 30339, 55753, 53099, 30697}}, +{20242, 18, 114903, {1, 1, 3, 15, 25, 35, 7, 227, 63, 251, 845, 843, 7117, 6021, 26917, 43611, 108643, 215471}}, +{20243, 18, 114913, {1, 1, 3, 11, 19, 29, 75, 5, 131, 37, 1185, 2387, 8161, 1621, 19887, 20525, 33067, 30869}}, +{20244, 18, 114928, {1, 1, 3, 3, 7, 37, 75, 159, 313, 17, 479, 2477, 7779, 309, 26095, 35693, 92561, 143151}}, +{20245, 18, 114937, {1, 1, 5, 9, 5, 29, 65, 223, 331, 1013, 37, 1813, 1379, 9277, 14681, 61687, 24763, 124669}}, +{20246, 18, 114958, {1, 3, 1, 1, 17, 47, 7, 219, 11, 13, 1517, 2583, 7483, 5399, 6883, 51387, 17901, 108659}}, +{20247, 18, 114963, {1, 3, 7, 11, 9, 63, 81, 91, 411, 535, 255, 3683, 5285, 1787, 27205, 43651, 15647, 230651}}, +{20248, 18, 115000, {1, 3, 1, 11, 7, 47, 35, 255, 341, 379, 421, 753, 7821, 13271, 13021, 463, 48457, 132521}}, +{20249, 18, 115018, {1, 1, 5, 7, 21, 23, 53, 229, 393, 509, 1641, 2245, 6941, 10447, 3231, 5451, 18883, 47401}}, +{20250, 18, 115023, {1, 3, 1, 7, 13, 61, 71, 49, 147, 625, 299, 3843, 4851, 3483, 27005, 23871, 18855, 124893}}, +{20251, 18, 115028, {1, 3, 1, 7, 31, 13, 127, 177, 259, 179, 531, 1775, 5481, 13157, 23821, 31773, 93941, 237697}}, +{20252, 18, 115042, {1, 1, 7, 1, 23, 21, 111, 219, 401, 455, 1603, 2077, 1537, 2063, 17821, 52087, 20707, 29535}}, +{20253, 18, 115084, {1, 1, 3, 11, 17, 17, 13, 79, 49, 353, 1691, 361, 2805, 7121, 27013, 50631, 108235, 70513}}, +{20254, 18, 115096, {1, 1, 5, 3, 15, 25, 103, 73, 377, 253, 1303, 501, 555, 15789, 16647, 9019, 60581, 157337}}, +{20255, 18, 115105, {1, 3, 5, 9, 23, 45, 3, 251, 25, 559, 429, 1091, 5657, 15387, 5113, 64533, 131049, 127587}}, +{20256, 18, 115117, {1, 1, 3, 15, 1, 53, 71, 141, 413, 849, 737, 3045, 7119, 8049, 18295, 31447, 70735, 117457}}, +{20257, 18, 115149, {1, 1, 1, 11, 17, 11, 69, 155, 211, 249, 1869, 1575, 6859, 7045, 7015, 20135, 84157, 232621}}, +{20258, 18, 115155, {1, 3, 7, 5, 19, 55, 15, 163, 457, 371, 1665, 1935, 601, 3629, 21975, 1191, 45133, 111649}}, +{20259, 18, 115198, {1, 3, 7, 11, 23, 33, 5, 253, 355, 379, 933, 1781, 3989, 6191, 19081, 7651, 74671, 258799}}, +{20260, 18, 115221, {1, 1, 3, 3, 23, 3, 63, 123, 273, 861, 369, 2409, 1505, 9059, 10727, 189, 122911, 44037}}, +{20261, 18, 115222, {1, 1, 7, 13, 13, 23, 19, 87, 191, 397, 2027, 1689, 1143, 10919, 27073, 15013, 118429, 119165}}, +{20262, 18, 115225, {1, 1, 5, 9, 15, 13, 29, 81, 409, 955, 1827, 1341, 3473, 16005, 29041, 57527, 7329, 167093}}, +{20263, 18, 115276, {1, 1, 5, 3, 11, 31, 47, 13, 171, 995, 961, 3885, 3259, 2745, 12405, 49281, 2901, 207591}}, +{20264, 18, 115294, {1, 3, 5, 13, 31, 3, 1, 215, 465, 279, 1697, 2449, 3829, 2053, 9877, 52911, 126077, 210515}}, +{20265, 18, 115297, {1, 1, 3, 7, 11, 27, 55, 115, 249, 353, 407, 2567, 8105, 7747, 18111, 3383, 101875, 2185}}, +{20266, 18, 115321, {1, 1, 3, 9, 25, 5, 35, 137, 405, 667, 1671, 2965, 5975, 4999, 18421, 43623, 64621, 129797}}, +{20267, 18, 115348, {1, 3, 7, 13, 3, 17, 33, 191, 463, 787, 1795, 3037, 1679, 63, 12389, 3983, 22385, 84235}}, +{20268, 18, 115364, {1, 1, 5, 9, 11, 25, 85, 215, 355, 553, 317, 1637, 3461, 15943, 2619, 14545, 125507, 18659}}, +{20269, 18, 115376, {1, 1, 7, 5, 3, 41, 105, 179, 125, 557, 1345, 3631, 481, 10621, 11213, 40223, 46581, 113137}}, +{20270, 18, 115385, {1, 3, 3, 15, 1, 63, 95, 213, 89, 21, 1249, 3063, 413, 4307, 26723, 10225, 115143, 144817}}, +{20271, 18, 115386, {1, 3, 5, 15, 9, 43, 41, 117, 419, 143, 1651, 377, 4775, 8761, 23793, 8719, 76499, 208119}}, +{20272, 18, 115400, {1, 3, 3, 1, 21, 29, 47, 117, 23, 333, 1153, 1067, 5859, 9375, 29997, 58991, 55895, 204933}}, +{20273, 18, 115414, {1, 1, 3, 11, 11, 21, 115, 85, 223, 281, 701, 1331, 1341, 1149, 5993, 10885, 77353, 113553}}, +{20274, 18, 115465, {1, 1, 5, 1, 25, 1, 1, 153, 449, 231, 593, 3061, 4157, 6661, 21735, 11361, 57751, 129569}}, +{20275, 18, 115485, {1, 1, 3, 7, 27, 63, 81, 251, 125, 197, 1525, 1637, 4643, 4743, 17127, 51217, 95781, 973}}, +{20276, 18, 115492, {1, 1, 3, 7, 11, 51, 13, 139, 83, 341, 543, 3061, 7777, 6705, 9609, 28933, 24669, 225275}}, +{20277, 18, 115501, {1, 3, 1, 9, 25, 39, 99, 139, 5, 725, 1759, 1577, 1751, 3197, 3169, 39051, 1743, 108813}}, +{20278, 18, 115519, {1, 1, 7, 5, 31, 15, 115, 229, 499, 291, 501, 3119, 2293, 14137, 625, 16379, 111057, 101643}}, +{20279, 18, 115527, {1, 3, 7, 15, 31, 1, 51, 73, 455, 51, 1983, 3687, 6049, 3495, 26247, 6567, 28479, 158909}}, +{20280, 18, 115531, {1, 3, 5, 5, 9, 11, 77, 181, 165, 773, 1611, 3945, 6787, 3827, 28597, 53269, 34003, 237291}}, +{20281, 18, 115567, {1, 1, 5, 3, 31, 57, 15, 9, 163, 363, 1021, 2193, 8175, 3851, 26059, 63915, 114293, 163637}}, +{20282, 18, 115572, {1, 1, 3, 7, 27, 49, 35, 121, 469, 833, 879, 1601, 6991, 13271, 8085, 45343, 5189, 109413}}, +{20283, 18, 115631, {1, 3, 1, 15, 7, 11, 111, 153, 129, 769, 565, 2693, 333, 7343, 28535, 56937, 85641, 19871}}, +{20284, 18, 115648, {1, 1, 5, 13, 7, 49, 121, 223, 55, 33, 19, 2291, 1847, 10173, 23337, 23431, 18181, 155663}}, +{20285, 18, 115660, {1, 3, 1, 11, 25, 9, 3, 255, 425, 861, 1025, 3719, 6995, 14687, 31083, 60609, 115375, 17813}}, +{20286, 18, 115672, {1, 1, 5, 13, 1, 55, 109, 239, 13, 939, 1077, 669, 1643, 10949, 25399, 55055, 125829, 253077}}, +{20287, 18, 115681, {1, 1, 5, 3, 15, 51, 13, 133, 257, 387, 2017, 2223, 1479, 9377, 12867, 9833, 32323, 6255}}, +{20288, 18, 115688, {1, 3, 1, 9, 1, 53, 121, 163, 349, 491, 1867, 3403, 6859, 459, 1483, 23893, 66851, 150843}}, +{20289, 18, 115694, {1, 1, 1, 1, 1, 33, 51, 33, 177, 633, 449, 2705, 663, 3701, 8331, 43895, 87223, 48587}}, +{20290, 18, 115699, {1, 3, 5, 7, 23, 7, 99, 43, 217, 31, 749, 2831, 1557, 3295, 6797, 45229, 46831, 62183}}, +{20291, 18, 115719, {1, 1, 7, 7, 1, 45, 35, 51, 415, 693, 479, 1017, 6703, 241, 30887, 8953, 26901, 2951}}, +{20292, 18, 115726, {1, 3, 3, 7, 29, 3, 25, 217, 67, 769, 653, 3983, 5513, 15481, 21399, 17525, 81747, 109843}}, +{20293, 18, 115733, {1, 3, 5, 5, 29, 17, 97, 187, 157, 189, 1531, 1123, 4291, 14831, 15493, 62753, 53563, 153679}}, +{20294, 18, 115796, {1, 3, 7, 13, 15, 63, 47, 5, 351, 275, 1177, 3947, 6755, 1319, 17053, 14267, 98215, 228795}}, +{20295, 18, 115879, {1, 3, 7, 5, 19, 45, 43, 223, 213, 903, 539, 267, 83, 6951, 2979, 56929, 58405, 198373}}, +{20296, 18, 115880, {1, 1, 5, 11, 21, 37, 109, 103, 29, 49, 17, 3987, 5679, 2559, 17391, 46157, 38743, 82245}}, +{20297, 18, 115888, {1, 1, 3, 7, 7, 35, 57, 187, 113, 361, 721, 1821, 6473, 10233, 22549, 37725, 8445, 220669}}, +{20298, 18, 115908, {1, 3, 3, 9, 21, 41, 73, 29, 163, 701, 1277, 3869, 1529, 4889, 10091, 65507, 53829, 191347}}, +{20299, 18, 115925, {1, 1, 5, 15, 5, 21, 39, 39, 341, 271, 1543, 3161, 3935, 8319, 24921, 19575, 95009, 256221}}, +{20300, 18, 115942, {1, 1, 1, 3, 11, 33, 63, 189, 21, 773, 1261, 3947, 183, 6769, 31337, 22179, 57255, 8323}}, +{20301, 18, 115978, {1, 1, 3, 15, 29, 59, 103, 251, 107, 499, 915, 387, 3127, 5597, 3345, 15657, 979, 91685}}, +{20302, 18, 115986, {1, 3, 3, 11, 13, 27, 9, 137, 177, 75, 567, 1511, 7355, 3087, 15309, 51733, 87329, 217125}}, +{20303, 18, 116014, {1, 1, 1, 15, 9, 43, 113, 177, 507, 379, 765, 75, 6895, 7523, 24611, 7315, 49653, 59263}}, +{20304, 18, 116019, {1, 3, 1, 5, 29, 23, 59, 215, 267, 161, 1957, 341, 4081, 9635, 3345, 12323, 128751, 144577}}, +{20305, 18, 116031, {1, 3, 3, 13, 17, 55, 59, 73, 65, 697, 1209, 3345, 5629, 4545, 23043, 37649, 55015, 10263}}, +{20306, 18, 116048, {1, 1, 7, 1, 21, 3, 7, 19, 445, 417, 1677, 799, 1241, 15463, 19815, 52845, 81309, 256713}}, +{20307, 18, 116069, {1, 1, 3, 13, 13, 57, 17, 199, 3, 377, 1799, 2713, 3937, 12511, 7439, 33605, 56697, 168195}}, +{20308, 18, 116091, {1, 3, 1, 7, 21, 53, 115, 97, 389, 83, 961, 813, 1499, 3411, 22377, 33323, 118405, 115947}}, +{20309, 18, 116103, {1, 3, 7, 11, 23, 43, 85, 249, 151, 893, 833, 901, 7731, 13467, 14721, 38613, 104033, 136097}}, +{20310, 18, 116107, {1, 3, 1, 11, 23, 23, 119, 129, 175, 159, 1031, 2379, 2753, 6755, 10979, 18225, 52375, 257003}}, +{20311, 18, 116145, {1, 3, 1, 13, 1, 9, 61, 255, 433, 621, 1469, 705, 5841, 7421, 23873, 30487, 55823, 119705}}, +{20312, 18, 116152, {1, 3, 1, 15, 19, 31, 29, 163, 87, 793, 885, 2495, 4609, 2757, 5333, 52937, 79187, 228777}}, +{20313, 18, 116247, {1, 1, 1, 3, 17, 43, 69, 241, 143, 173, 327, 2747, 5617, 16347, 16155, 47775, 25917, 163663}}, +{20314, 18, 116289, {1, 1, 1, 1, 19, 19, 15, 27, 25, 139, 691, 4019, 3055, 10301, 11281, 10957, 59117, 178149}}, +{20315, 18, 116316, {1, 1, 1, 3, 15, 15, 37, 89, 103, 7, 527, 2823, 7205, 6831, 25179, 22249, 103323, 31251}}, +{20316, 18, 116344, {1, 1, 3, 3, 7, 49, 7, 241, 37, 11, 577, 1987, 1935, 14787, 16411, 36305, 65185, 221253}}, +{20317, 18, 116354, {1, 1, 1, 5, 31, 51, 123, 169, 441, 13, 721, 2359, 5687, 2641, 16339, 8441, 55967, 98775}}, +{20318, 18, 116368, {1, 1, 7, 5, 21, 23, 91, 229, 23, 105, 339, 2371, 7803, 14913, 12651, 40573, 117399, 134865}}, +{20319, 18, 116377, {1, 3, 1, 15, 19, 27, 127, 77, 469, 343, 451, 2251, 6705, 7765, 8623, 10367, 100379, 140899}}, +{20320, 18, 116383, {1, 3, 1, 5, 1, 11, 93, 231, 33, 133, 1545, 1015, 7577, 8871, 29975, 12141, 130833, 103123}}, +{20321, 18, 116387, {1, 3, 3, 5, 7, 25, 95, 93, 293, 543, 1785, 2097, 6045, 4225, 607, 443, 72055, 32269}}, +{20322, 18, 116408, {1, 1, 1, 1, 5, 55, 47, 105, 189, 359, 1589, 765, 2303, 11963, 25565, 40669, 98977, 242089}}, +{20323, 18, 116428, {1, 1, 1, 15, 13, 45, 121, 235, 125, 181, 1891, 3265, 2097, 3207, 31647, 13407, 22515, 15155}}, +{20324, 18, 116445, {1, 1, 5, 15, 13, 11, 81, 233, 307, 505, 221, 813, 6483, 741, 9819, 19405, 74235, 144761}}, +{20325, 18, 116476, {1, 3, 5, 7, 9, 25, 31, 209, 337, 473, 1831, 2711, 5551, 13531, 28747, 1875, 6401, 159995}}, +{20326, 18, 116482, {1, 1, 7, 7, 29, 3, 127, 207, 387, 849, 1449, 2741, 2105, 885, 18115, 5433, 122119, 16969}}, +{20327, 18, 116488, {1, 3, 7, 9, 25, 17, 43, 209, 41, 927, 409, 1567, 1609, 12487, 16305, 41365, 10991, 172127}}, +{20328, 18, 116493, {1, 1, 3, 7, 27, 29, 63, 127, 81, 283, 1459, 143, 5993, 14027, 8055, 28065, 128389, 255307}}, +{20329, 18, 116502, {1, 3, 7, 11, 13, 41, 63, 223, 215, 901, 1853, 2881, 5149, 7439, 4519, 33279, 127765, 139431}}, +{20330, 18, 116518, {1, 3, 7, 7, 15, 61, 61, 173, 221, 711, 191, 3863, 2695, 9663, 6277, 8791, 128019, 256755}}, +{20331, 18, 116524, {1, 3, 1, 9, 29, 45, 83, 43, 297, 605, 1887, 2421, 2307, 5199, 17275, 39225, 127215, 253687}}, +{20332, 18, 116527, {1, 1, 5, 3, 21, 23, 121, 125, 497, 945, 1367, 2757, 3481, 8607, 32447, 62373, 32171, 226621}}, +{20333, 18, 116549, {1, 3, 1, 5, 7, 1, 71, 255, 465, 951, 129, 1989, 6053, 3737, 6511, 54519, 16947, 124491}}, +{20334, 18, 116561, {1, 3, 5, 1, 9, 21, 127, 49, 85, 615, 1897, 1715, 7923, 10309, 16919, 24131, 18015, 140195}}, +{20335, 18, 116562, {1, 1, 1, 1, 5, 27, 3, 205, 29, 319, 485, 3941, 7829, 789, 4207, 39939, 67761, 152459}}, +{20336, 18, 116568, {1, 3, 7, 11, 9, 41, 1, 129, 511, 831, 1007, 2011, 6211, 9179, 20877, 62121, 21879, 23661}}, +{20337, 18, 116577, {1, 1, 7, 1, 19, 53, 75, 123, 181, 735, 925, 1065, 3317, 3201, 27473, 19379, 78223, 45725}}, +{20338, 18, 116590, {1, 1, 5, 9, 9, 61, 3, 193, 441, 815, 583, 3235, 247, 14091, 19877, 33505, 3477, 20111}}, +{20339, 18, 116602, {1, 1, 5, 13, 29, 53, 55, 165, 359, 889, 1833, 1543, 7913, 307, 22853, 37839, 15569, 140127}}, +{20340, 18, 116607, {1, 1, 1, 15, 21, 53, 63, 195, 299, 1019, 1371, 1311, 5401, 8015, 30335, 56281, 61011, 59279}}, +{20341, 18, 116611, {1, 1, 3, 13, 3, 57, 45, 239, 445, 419, 581, 3971, 4621, 9327, 27255, 53069, 126415, 250313}}, +{20342, 18, 116626, {1, 3, 1, 9, 5, 63, 21, 25, 447, 961, 1857, 3123, 3029, 9743, 26069, 38251, 58475, 108737}}, +{20343, 18, 116637, {1, 3, 1, 15, 13, 59, 5, 21, 171, 107, 1631, 2407, 6695, 8079, 2805, 50995, 53173, 104757}}, +{20344, 18, 116647, {1, 3, 7, 7, 1, 55, 103, 67, 369, 533, 515, 2363, 5147, 11633, 20435, 24591, 68155, 140029}}, +{20345, 18, 116665, {1, 3, 7, 13, 19, 51, 13, 149, 159, 915, 1029, 2825, 5259, 5139, 31325, 42825, 119923, 227811}}, +{20346, 18, 116674, {1, 3, 3, 3, 23, 17, 121, 25, 403, 333, 491, 2869, 881, 12997, 5101, 48351, 90831, 143009}}, +{20347, 18, 116700, {1, 1, 3, 15, 23, 63, 93, 43, 107, 393, 419, 3509, 1543, 10295, 11019, 8389, 73753, 42681}}, +{20348, 18, 116714, {1, 1, 7, 1, 29, 49, 41, 189, 303, 955, 1241, 1623, 2269, 3413, 6261, 2155, 90945, 95117}}, +{20349, 18, 116719, {1, 1, 3, 15, 31, 13, 103, 241, 189, 283, 1303, 1693, 1587, 16313, 205, 43421, 121799, 200151}}, +{20350, 18, 116744, {1, 3, 5, 1, 29, 27, 105, 83, 345, 411, 1197, 3489, 5891, 1137, 7311, 681, 127991, 69533}}, +{20351, 18, 116764, {1, 3, 5, 15, 31, 11, 105, 221, 57, 39, 145, 3233, 1431, 16271, 21225, 47989, 72583, 191327}}, +{20352, 18, 116774, {1, 3, 7, 9, 25, 47, 109, 61, 257, 949, 981, 1383, 8003, 4661, 19555, 20191, 114641, 84817}}, +{20353, 18, 116778, {1, 1, 5, 9, 17, 9, 19, 209, 73, 573, 1039, 2741, 1495, 1615, 6299, 20507, 84729, 166977}}, +{20354, 18, 116798, {1, 3, 5, 13, 27, 51, 39, 203, 437, 725, 1479, 3071, 621, 15563, 28473, 58403, 25943, 116683}}, +{20355, 18, 116803, {1, 1, 3, 9, 5, 29, 63, 61, 329, 305, 523, 2243, 6689, 11773, 19319, 57783, 24265, 218153}}, +{20356, 18, 116806, {1, 3, 7, 5, 17, 27, 115, 9, 243, 613, 679, 1915, 7265, 2989, 13663, 15115, 50779, 235761}}, +{20357, 18, 116827, {1, 1, 5, 5, 13, 35, 111, 151, 255, 569, 1209, 3277, 4503, 3797, 22601, 19523, 126339, 141289}}, +{20358, 18, 116839, {1, 1, 3, 9, 15, 51, 85, 125, 233, 1011, 231, 2949, 1091, 8605, 14855, 62401, 14143, 212557}}, +{20359, 18, 116863, {1, 3, 5, 11, 29, 53, 83, 31, 201, 219, 1083, 967, 6913, 10325, 1971, 55841, 7733, 208883}}, +{20360, 18, 116873, {1, 3, 3, 1, 23, 33, 51, 103, 265, 285, 1363, 2813, 3327, 7921, 13537, 31483, 43405, 189641}}, +{20361, 18, 116882, {1, 1, 7, 15, 27, 3, 5, 87, 117, 437, 1251, 189, 3271, 15579, 25025, 23203, 39421, 133581}}, +{20362, 18, 116887, {1, 1, 5, 1, 9, 3, 91, 45, 71, 557, 2019, 2355, 5539, 2843, 13025, 61017, 3475, 179891}}, +{20363, 18, 116915, {1, 1, 7, 5, 17, 11, 127, 241, 9, 971, 1699, 2719, 1947, 109, 19817, 13949, 120247, 60775}}, +{20364, 18, 116939, {1, 1, 5, 9, 9, 39, 117, 221, 197, 767, 1691, 4075, 3665, 1271, 16119, 64129, 2681, 105325}}, +{20365, 18, 116944, {1, 3, 3, 11, 31, 51, 5, 23, 419, 715, 1985, 4095, 7255, 10491, 25575, 6177, 35917, 178345}}, +{20366, 18, 116953, {1, 3, 5, 7, 15, 23, 99, 203, 461, 509, 1501, 1965, 1105, 1341, 21713, 21901, 129905, 67937}}, +{20367, 18, 116965, {1, 3, 3, 15, 25, 5, 55, 167, 477, 125, 163, 2379, 2433, 12975, 26259, 55825, 19913, 202873}}, +{20368, 18, 117002, {1, 3, 3, 7, 15, 15, 67, 227, 413, 905, 1609, 2083, 4011, 10477, 22809, 61873, 96423, 119253}}, +{20369, 18, 117007, {1, 3, 1, 11, 13, 17, 37, 147, 355, 445, 619, 3181, 5939, 6953, 15859, 37979, 24723, 133037}}, +{20370, 18, 117015, {1, 1, 5, 15, 5, 25, 89, 3, 279, 569, 343, 2453, 5739, 2901, 6709, 43957, 75791, 20791}}, +{20371, 18, 117032, {1, 1, 3, 5, 13, 39, 53, 203, 75, 945, 635, 349, 2339, 2549, 23827, 7903, 128005, 14949}}, +{20372, 18, 117035, {1, 1, 7, 3, 7, 59, 59, 77, 143, 99, 1313, 3957, 3807, 15731, 20919, 60829, 105967, 226767}}, +{20373, 18, 117052, {1, 1, 3, 7, 17, 49, 27, 245, 129, 583, 1055, 741, 5607, 689, 20075, 54837, 113257, 222677}}, +{20374, 18, 117087, {1, 1, 7, 13, 17, 5, 19, 141, 205, 749, 1769, 2981, 5787, 4511, 135, 19475, 113735, 116859}}, +{20375, 18, 117139, {1, 3, 7, 1, 9, 33, 111, 139, 77, 117, 363, 1171, 2587, 1539, 30791, 10697, 6879, 104827}}, +{20376, 18, 117157, {1, 3, 3, 5, 27, 47, 49, 215, 65, 435, 1601, 231, 2047, 10405, 28409, 17013, 103909, 232051}}, +{20377, 18, 117193, {1, 3, 3, 3, 13, 19, 3, 159, 293, 675, 247, 2829, 6703, 6085, 1935, 18209, 15709, 186669}}, +{20378, 18, 117211, {1, 3, 3, 5, 21, 55, 17, 237, 121, 603, 953, 947, 6973, 15979, 11029, 12381, 12807, 131603}}, +{20379, 18, 117214, {1, 3, 5, 3, 3, 41, 121, 203, 283, 349, 1841, 115, 6567, 2131, 883, 50515, 78381, 168189}}, +{20380, 18, 117220, {1, 3, 7, 15, 5, 55, 85, 13, 77, 443, 1711, 1043, 1265, 3701, 5121, 41435, 40637, 69125}}, +{20381, 18, 117238, {1, 1, 5, 15, 15, 33, 67, 235, 3, 95, 1685, 731, 2187, 11857, 7197, 62113, 12565, 127455}}, +{20382, 18, 117248, {1, 3, 7, 7, 11, 45, 125, 231, 263, 611, 221, 195, 6347, 14029, 7823, 52295, 78879, 211441}}, +{20383, 18, 117275, {1, 3, 7, 15, 9, 63, 75, 189, 187, 449, 27, 3647, 4705, 13037, 3773, 36441, 35445, 181793}}, +{20384, 18, 117293, {1, 1, 5, 3, 31, 19, 123, 39, 297, 1017, 1191, 2227, 6085, 5117, 16569, 64743, 29329, 157279}}, +{20385, 18, 117301, {1, 1, 5, 5, 15, 47, 111, 61, 435, 657, 141, 3445, 6921, 7759, 30141, 37631, 85969, 227563}}, +{20386, 18, 117319, {1, 3, 1, 13, 27, 39, 15, 167, 151, 185, 1513, 211, 951, 12705, 25703, 29289, 120993, 156741}}, +{20387, 18, 117338, {1, 3, 7, 7, 7, 39, 19, 221, 351, 951, 1231, 1915, 3043, 189, 18977, 50149, 56583, 122147}}, +{20388, 18, 117347, {1, 1, 5, 15, 29, 37, 77, 207, 291, 851, 131, 1041, 1657, 4393, 5023, 12745, 32253, 204431}}, +{20389, 18, 117361, {1, 1, 7, 15, 11, 59, 85, 255, 67, 23, 1321, 2153, 7043, 417, 15719, 59937, 37619, 109331}}, +{20390, 18, 117380, {1, 3, 7, 15, 25, 37, 43, 15, 385, 735, 1741, 3655, 4215, 1097, 19519, 44313, 99851, 204717}}, +{20391, 18, 117389, {1, 1, 3, 7, 15, 17, 17, 105, 399, 49, 105, 159, 465, 11991, 29797, 23907, 129609, 179013}}, +{20392, 18, 117398, {1, 1, 7, 13, 9, 17, 87, 51, 391, 695, 545, 3061, 4499, 2059, 10095, 13847, 68519, 60611}}, +{20393, 18, 117435, {1, 3, 3, 1, 31, 7, 11, 233, 231, 189, 1599, 1589, 401, 8759, 17273, 43613, 48709, 253521}}, +{20394, 18, 117458, {1, 1, 1, 11, 5, 9, 27, 77, 491, 951, 579, 1635, 3241, 14497, 27149, 45001, 56769, 160731}}, +{20395, 18, 117476, {1, 3, 7, 15, 29, 11, 125, 101, 19, 971, 107, 1525, 3939, 7633, 16355, 24727, 19475, 157571}}, +{20396, 18, 117498, {1, 1, 1, 9, 25, 7, 35, 187, 321, 483, 1919, 1911, 7869, 12903, 26977, 49419, 24973, 214731}}, +{20397, 18, 117500, {1, 1, 5, 3, 23, 1, 11, 143, 315, 1015, 1367, 1555, 1041, 6655, 10481, 49275, 49575, 101061}}, +{20398, 18, 117529, {1, 3, 5, 15, 15, 59, 13, 117, 217, 975, 1821, 3829, 1545, 921, 20875, 43305, 18793, 158651}}, +{20399, 18, 117554, {1, 3, 3, 11, 23, 23, 91, 7, 29, 613, 1093, 3881, 3301, 3751, 16137, 48277, 119813, 177341}}, +{20400, 18, 117556, {1, 3, 3, 15, 7, 37, 115, 19, 147, 585, 1877, 2395, 3343, 9567, 16199, 13969, 89731, 124835}}, +{20401, 18, 117565, {1, 1, 5, 7, 29, 3, 59, 141, 375, 527, 1219, 409, 7155, 2823, 32497, 23103, 73187, 53089}}, +{20402, 18, 117580, {1, 1, 5, 3, 13, 27, 111, 63, 189, 813, 643, 19, 3461, 13891, 26651, 52395, 74729, 148397}}, +{20403, 18, 117585, {1, 3, 5, 1, 27, 61, 97, 227, 123, 829, 1559, 2523, 7737, 6047, 213, 23613, 61571, 7093}}, +{20404, 18, 117592, {1, 1, 1, 11, 17, 1, 73, 203, 391, 937, 321, 3431, 7163, 3547, 29467, 65271, 69775, 226405}}, +{20405, 18, 117597, {1, 1, 5, 15, 25, 7, 75, 199, 511, 731, 1547, 2127, 1609, 5623, 26771, 29935, 76671, 178683}}, +{20406, 18, 117616, {1, 3, 5, 15, 25, 49, 99, 23, 281, 81, 507, 1499, 5235, 9945, 14099, 5993, 319, 178581}}, +{20407, 18, 117637, {1, 3, 7, 9, 5, 13, 105, 7, 135, 827, 927, 3463, 839, 7047, 19863, 63859, 13951, 221795}}, +{20408, 18, 117644, {1, 1, 1, 13, 7, 21, 59, 9, 467, 299, 1035, 1395, 7413, 7313, 24769, 44043, 50679, 72867}}, +{20409, 18, 117659, {1, 1, 7, 1, 31, 33, 95, 155, 429, 413, 493, 2025, 2069, 551, 507, 13515, 3507, 93873}}, +{20410, 18, 117703, {1, 1, 3, 5, 3, 33, 109, 1, 299, 727, 495, 2981, 3795, 11467, 27173, 4171, 6859, 129961}}, +{20411, 18, 117704, {1, 1, 7, 9, 23, 41, 113, 103, 161, 303, 1565, 2637, 7113, 11635, 13707, 3559, 21007, 250107}}, +{20412, 18, 117727, {1, 1, 5, 13, 1, 49, 11, 87, 31, 77, 1847, 1137, 3031, 1943, 28755, 32197, 96043, 152447}}, +{20413, 18, 117738, {1, 1, 3, 7, 3, 3, 123, 65, 175, 809, 681, 2135, 5279, 7119, 4573, 19287, 90235, 183391}}, +{20414, 18, 117770, {1, 3, 1, 13, 7, 5, 25, 151, 437, 155, 1841, 219, 5641, 12097, 6153, 11, 60315, 169293}}, +{20415, 18, 117796, {1, 1, 7, 5, 21, 29, 23, 83, 35, 651, 1507, 635, 3867, 12133, 25523, 55341, 105741, 240349}}, +{20416, 18, 117799, {1, 1, 1, 15, 9, 29, 27, 151, 463, 747, 547, 577, 1263, 15235, 6695, 60849, 72231, 175671}}, +{20417, 18, 117820, {1, 3, 5, 11, 11, 43, 81, 37, 505, 509, 1325, 3295, 839, 5855, 19795, 1403, 15711, 219481}}, +{20418, 18, 117832, {1, 3, 3, 15, 25, 61, 121, 37, 201, 133, 537, 1345, 4213, 13023, 18795, 8949, 84431, 105521}}, +{20419, 18, 117840, {1, 3, 7, 11, 13, 51, 87, 245, 357, 7, 699, 2003, 5963, 1399, 69, 19083, 114585, 232313}}, +{20420, 18, 117843, {1, 1, 1, 13, 9, 29, 65, 123, 37, 885, 227, 2795, 1037, 10905, 21217, 4081, 77643, 254245}}, +{20421, 18, 117865, {1, 3, 1, 3, 25, 23, 71, 189, 253, 785, 1337, 1275, 3285, 1067, 8607, 3883, 119099, 116637}}, +{20422, 18, 117868, {1, 1, 1, 15, 19, 43, 17, 89, 257, 175, 1943, 207, 597, 9279, 405, 33209, 65221, 39557}}, +{20423, 18, 117874, {1, 1, 7, 5, 7, 47, 127, 11, 197, 871, 23, 1951, 6829, 7831, 5223, 56287, 115649, 114283}}, +{20424, 18, 117886, {1, 3, 1, 3, 1, 35, 81, 189, 19, 117, 1683, 469, 8117, 5449, 22871, 5505, 125111, 128717}}, +{20425, 18, 117962, {1, 3, 7, 5, 7, 31, 105, 57, 387, 691, 1293, 3103, 2329, 16247, 18357, 55453, 112633, 225641}}, +{20426, 18, 117967, {1, 3, 1, 3, 13, 3, 65, 25, 47, 413, 521, 3507, 1793, 14431, 22341, 39813, 46399, 204501}}, +{20427, 18, 117995, {1, 3, 1, 1, 31, 37, 21, 45, 261, 665, 1243, 1937, 5001, 3789, 26473, 20153, 107131, 75523}}, +{20428, 18, 118000, {1, 3, 5, 15, 27, 61, 109, 139, 19, 583, 353, 445, 53, 67, 20753, 57827, 116527, 55109}}, +{20429, 18, 118017, {1, 1, 3, 3, 1, 37, 113, 21, 305, 967, 1703, 2095, 1059, 2843, 22381, 24871, 24765, 52425}}, +{20430, 18, 118037, {1, 3, 7, 11, 27, 59, 111, 111, 283, 79, 1227, 3631, 4169, 5671, 7769, 56553, 75503, 206259}}, +{20431, 18, 118038, {1, 1, 5, 11, 11, 1, 127, 13, 17, 255, 1383, 2879, 6785, 289, 7061, 53067, 11539, 131405}}, +{20432, 18, 118051, {1, 1, 5, 15, 29, 27, 67, 15, 247, 689, 579, 3237, 5279, 13847, 20305, 60237, 115841, 144855}}, +{20433, 18, 118057, {1, 1, 5, 1, 9, 25, 75, 11, 83, 1015, 281, 1617, 7449, 10673, 7033, 38839, 113703, 233101}}, +{20434, 18, 118072, {1, 3, 3, 3, 23, 41, 81, 109, 199, 969, 935, 1793, 6921, 4013, 9625, 48149, 54395, 1193}}, +{20435, 18, 118080, {1, 3, 5, 7, 19, 63, 25, 201, 63, 799, 765, 533, 1417, 3199, 7773, 44247, 112207, 11783}}, +{20436, 18, 118098, {1, 3, 1, 11, 7, 25, 87, 159, 491, 749, 1157, 667, 2951, 12019, 22259, 36933, 124159, 176041}}, +{20437, 18, 118107, {1, 1, 5, 15, 21, 19, 113, 175, 129, 385, 2025, 2685, 1925, 8547, 4835, 15953, 128023, 236341}}, +{20438, 18, 118109, {1, 1, 1, 9, 13, 47, 25, 81, 389, 249, 1857, 1061, 4439, 3717, 16299, 23247, 95275, 222701}}, +{20439, 18, 118114, {1, 3, 3, 1, 3, 61, 61, 117, 159, 689, 43, 113, 4203, 7699, 27607, 37195, 63415, 90481}}, +{20440, 18, 118123, {1, 3, 1, 5, 11, 49, 73, 13, 307, 655, 645, 2765, 6079, 12687, 22417, 44713, 5247, 40265}}, +{20441, 18, 118150, {1, 1, 7, 13, 5, 55, 57, 237, 317, 101, 481, 2515, 707, 6385, 9421, 50557, 92395, 193737}}, +{20442, 18, 118159, {1, 3, 5, 1, 27, 35, 65, 107, 63, 57, 1699, 4077, 4279, 8547, 15137, 11533, 117641, 64925}}, +{20443, 18, 118164, {1, 1, 5, 1, 13, 7, 7, 141, 305, 191, 2033, 2677, 6025, 12927, 4057, 12047, 60253, 90803}}, +{20444, 18, 118173, {1, 1, 7, 3, 1, 9, 63, 233, 185, 97, 913, 187, 4321, 8951, 27669, 27035, 30029, 218725}}, +{20445, 18, 118201, {1, 1, 7, 1, 11, 59, 41, 195, 335, 551, 491, 3079, 7777, 4003, 24543, 17165, 103261, 167505}}, +{20446, 18, 118212, {1, 1, 3, 3, 9, 59, 37, 185, 289, 845, 1083, 63, 7439, 4677, 29245, 40813, 16295, 45499}}, +{20447, 18, 118246, {1, 3, 5, 1, 1, 37, 89, 5, 277, 493, 155, 1641, 5395, 11389, 26247, 2833, 103803, 74447}}, +{20448, 18, 118257, {1, 1, 3, 1, 29, 55, 83, 211, 377, 583, 1075, 2679, 7157, 11719, 1653, 5977, 52263, 45531}}, +{20449, 18, 118303, {1, 1, 5, 15, 1, 31, 89, 7, 239, 821, 887, 1319, 225, 14555, 5443, 44717, 99803, 241577}}, +{20450, 18, 118310, {1, 3, 5, 11, 7, 23, 81, 161, 67, 1011, 177, 2837, 7767, 14385, 29415, 9377, 7407, 128403}}, +{20451, 18, 118313, {1, 1, 7, 11, 3, 13, 13, 237, 199, 601, 481, 3809, 6591, 8497, 25361, 22547, 28317, 22961}}, +{20452, 18, 118324, {1, 3, 1, 1, 31, 29, 105, 161, 483, 391, 321, 1087, 4149, 8803, 22291, 24611, 114447, 33645}}, +{20453, 18, 118334, {1, 3, 1, 11, 1, 47, 41, 45, 287, 503, 169, 2265, 1835, 6609, 25245, 7069, 61137, 160653}}, +{20454, 18, 118336, {1, 1, 7, 13, 11, 39, 29, 39, 489, 205, 741, 2871, 377, 10679, 11689, 50947, 85309, 95697}}, +{20455, 18, 118339, {1, 3, 7, 7, 23, 19, 103, 15, 79, 425, 369, 2009, 4417, 11031, 2113, 36969, 73241, 120903}}, +{20456, 18, 118353, {1, 3, 1, 7, 27, 9, 43, 33, 123, 895, 223, 1045, 2701, 3339, 12099, 24449, 52973, 175671}}, +{20457, 18, 118354, {1, 3, 5, 5, 3, 1, 13, 117, 429, 167, 1361, 2299, 7565, 1153, 9259, 29209, 25747, 71005}}, +{20458, 18, 118390, {1, 3, 1, 15, 7, 7, 13, 209, 73, 523, 1549, 2545, 5583, 10209, 27205, 41243, 14217, 208993}}, +{20459, 18, 118396, {1, 3, 5, 5, 3, 29, 99, 255, 479, 297, 1319, 2171, 7321, 14425, 15869, 44449, 10917, 171165}}, +{20460, 18, 118436, {1, 3, 3, 11, 13, 49, 29, 95, 79, 987, 161, 859, 6503, 8839, 14131, 30249, 16183, 40257}}, +{20461, 18, 118453, {1, 3, 3, 11, 27, 7, 27, 33, 255, 847, 789, 3897, 2599, 16107, 22379, 1853, 102713, 197547}}, +{20462, 18, 118466, {1, 1, 3, 9, 29, 11, 107, 227, 35, 183, 639, 1585, 313, 1451, 19789, 13855, 94277, 85569}}, +{20463, 18, 118492, {1, 3, 7, 7, 25, 33, 101, 49, 137, 457, 2027, 3317, 1961, 6097, 739, 12875, 69503, 95453}}, +{20464, 18, 118506, {1, 3, 3, 11, 29, 13, 127, 3, 31, 319, 1341, 927, 5067, 13891, 31265, 41381, 49341, 160343}}, +{20465, 18, 118525, {1, 1, 3, 15, 31, 21, 93, 155, 471, 707, 1395, 2995, 867, 10353, 8137, 44267, 24823, 6113}}, +{20466, 18, 118557, {1, 3, 1, 7, 7, 33, 83, 79, 349, 687, 1045, 1183, 4441, 15199, 1953, 36395, 84691, 134939}}, +{20467, 18, 118561, {1, 1, 3, 15, 13, 21, 41, 105, 189, 439, 1171, 4005, 7641, 1597, 24317, 58749, 35539, 220647}}, +{20468, 18, 118586, {1, 1, 3, 15, 13, 39, 49, 5, 461, 613, 1633, 1951, 7959, 5733, 10061, 18829, 49505, 90033}}, +{20469, 18, 118606, {1, 3, 5, 5, 29, 25, 19, 227, 379, 525, 687, 2629, 7729, 4791, 5911, 14481, 49063, 216669}}, +{20470, 18, 118627, {1, 3, 7, 7, 7, 63, 93, 227, 79, 165, 1971, 1695, 4485, 6009, 8769, 12861, 83653, 27667}}, +{20471, 18, 118641, {1, 1, 5, 5, 25, 11, 23, 89, 363, 491, 459, 4063, 3787, 9375, 28011, 44757, 56441, 116609}}, +{20472, 18, 118654, {1, 3, 5, 9, 7, 53, 43, 149, 435, 35, 135, 1759, 3197, 7749, 12731, 28295, 25901, 125847}}, +{20473, 18, 118687, {1, 1, 3, 5, 15, 15, 1, 215, 307, 711, 1971, 2795, 677, 11921, 10303, 37997, 6653, 51295}}, +{20474, 18, 118688, {1, 1, 5, 15, 1, 59, 75, 195, 51, 215, 1303, 3023, 8023, 10951, 13015, 23513, 37029, 23581}}, +{20475, 18, 118735, {1, 1, 1, 3, 27, 3, 77, 165, 97, 499, 937, 1129, 6649, 11305, 27763, 32849, 78251, 210407}}, +{20476, 18, 118737, {1, 3, 3, 3, 9, 21, 19, 197, 339, 53, 1875, 1057, 3485, 14645, 13417, 39307, 81437, 45857}}, +{20477, 18, 118750, {1, 1, 1, 5, 19, 5, 95, 205, 399, 699, 819, 1927, 7913, 8109, 1223, 28595, 397, 81051}}, +{20478, 18, 118773, {1, 3, 7, 13, 23, 11, 37, 167, 189, 813, 1199, 3545, 655, 13239, 10469, 33895, 119025, 185361}}, +{20479, 18, 118778, {1, 1, 5, 11, 9, 13, 41, 37, 443, 269, 1199, 1347, 7081, 11273, 14389, 64083, 117901, 51903}}, +{20480, 18, 118786, {1, 1, 3, 13, 5, 17, 117, 151, 155, 637, 731, 1839, 855, 9749, 19529, 18101, 20341, 21941}}, +{20481, 18, 118809, {1, 1, 1, 11, 15, 17, 35, 9, 91, 907, 667, 853, 1455, 10097, 31277, 749, 47089, 219517}}, +{20482, 18, 118833, {1, 3, 7, 1, 27, 31, 9, 145, 309, 811, 5, 2645, 7851, 1953, 21427, 18805, 108755, 77215}}, +{20483, 18, 118853, {1, 1, 7, 3, 21, 7, 25, 233, 145, 1015, 43, 2205, 4735, 13257, 24001, 50469, 42567, 253745}}, +{20484, 18, 118854, {1, 3, 1, 15, 3, 53, 51, 45, 397, 379, 641, 895, 7569, 15783, 23923, 6147, 121395, 261853}}, +{20485, 18, 118863, {1, 1, 1, 1, 23, 47, 35, 125, 289, 65, 1875, 2309, 519, 5435, 5271, 25319, 14557, 19389}}, +{20486, 18, 118881, {1, 3, 5, 7, 27, 43, 15, 61, 357, 791, 1781, 3671, 3911, 1325, 5607, 44107, 67873, 119849}}, +{20487, 18, 118896, {1, 3, 1, 5, 25, 37, 105, 51, 491, 407, 475, 1763, 1425, 14883, 31435, 48979, 120667, 131089}}, +{20488, 18, 118917, {1, 3, 5, 13, 1, 51, 109, 161, 215, 871, 185, 2389, 7977, 6705, 14045, 45569, 44557, 114795}}, +{20489, 18, 118921, {1, 3, 7, 11, 17, 21, 111, 183, 343, 593, 447, 3995, 759, 3709, 32655, 30141, 127225, 120899}}, +{20490, 18, 118939, {1, 1, 5, 3, 17, 3, 69, 25, 113, 897, 1933, 2717, 2003, 5847, 2541, 62415, 50975, 97903}}, +{20491, 18, 118948, {1, 1, 1, 1, 9, 35, 107, 81, 257, 57, 1719, 4049, 1237, 10659, 4689, 20887, 90791, 251911}}, +{20492, 18, 118960, {1, 1, 7, 11, 1, 49, 83, 213, 169, 169, 825, 2983, 5833, 2413, 32165, 47459, 129021, 156217}}, +{20493, 18, 118970, {1, 1, 5, 13, 15, 39, 61, 93, 407, 553, 839, 4035, 6609, 6327, 945, 49625, 127867, 240161}}, +{20494, 18, 118983, {1, 1, 1, 15, 23, 47, 21, 235, 81, 431, 1819, 1141, 7973, 4623, 4539, 23201, 83111, 230857}}, +{20495, 18, 119025, {1, 3, 3, 15, 9, 15, 15, 173, 29, 803, 1453, 2621, 8095, 6639, 6607, 21471, 44785, 122271}}, +{20496, 18, 119026, {1, 3, 3, 7, 21, 5, 127, 203, 43, 581, 1925, 165, 4615, 9141, 18563, 54413, 71559, 172791}}, +{20497, 18, 119064, {1, 3, 3, 3, 27, 31, 55, 3, 381, 971, 1087, 2659, 139, 10935, 9189, 3445, 15071, 218873}}, +{20498, 18, 119069, {1, 3, 1, 3, 1, 57, 47, 71, 85, 335, 207, 225, 2931, 14721, 21431, 17199, 745, 177403}}, +{20499, 18, 119079, {1, 3, 1, 7, 7, 17, 21, 57, 345, 29, 1147, 1179, 7371, 14725, 27445, 62061, 16483, 112489}}, +{20500, 18, 119085, {1, 3, 7, 15, 23, 11, 91, 1, 1, 117, 1665, 3899, 5683, 14497, 25633, 6233, 104029, 22155}}, +{20501, 18, 119115, {1, 3, 5, 9, 1, 27, 15, 187, 37, 329, 585, 729, 5651, 15715, 4339, 1899, 90611, 195643}}, +{20502, 18, 119165, {1, 1, 3, 11, 1, 45, 95, 103, 13, 83, 319, 2295, 6333, 13469, 19237, 55985, 129725, 141699}}, +{20503, 18, 119166, {1, 1, 5, 11, 7, 41, 97, 159, 511, 617, 1545, 3023, 7919, 8437, 8345, 16701, 69053, 105047}}, +{20504, 18, 119193, {1, 3, 3, 11, 29, 35, 23, 95, 277, 931, 857, 3887, 4597, 10841, 12947, 18009, 61499, 242827}}, +{20505, 18, 119194, {1, 1, 3, 3, 7, 63, 35, 161, 125, 637, 149, 1045, 3297, 16213, 1543, 8073, 80373, 61507}}, +{20506, 18, 119199, {1, 1, 7, 5, 31, 43, 113, 189, 181, 659, 1971, 3309, 4237, 4279, 31563, 29429, 17443, 154385}}, +{20507, 18, 119215, {1, 1, 1, 13, 19, 43, 99, 91, 47, 477, 153, 3295, 6281, 779, 17169, 343, 1723, 171133}}, +{20508, 18, 119218, {1, 1, 1, 15, 9, 35, 123, 45, 417, 631, 1415, 1835, 3063, 897, 18947, 62477, 12759, 97831}}, +{20509, 18, 119241, {1, 1, 3, 13, 31, 1, 31, 139, 411, 605, 1829, 303, 3891, 15807, 7335, 44833, 87427, 62183}}, +{20510, 18, 119277, {1, 1, 3, 13, 29, 55, 97, 107, 241, 981, 1281, 3295, 6825, 15865, 4221, 24695, 54203, 252069}}, +{20511, 18, 119301, {1, 3, 7, 13, 1, 3, 33, 165, 483, 813, 127, 1717, 8077, 3521, 23465, 41705, 2769, 173233}}, +{20512, 18, 119306, {1, 3, 1, 11, 11, 51, 39, 125, 375, 825, 1775, 2923, 4903, 4779, 907, 47787, 22293, 169631}}, +{20513, 18, 119335, {1, 3, 5, 5, 13, 27, 43, 229, 267, 153, 567, 3403, 2103, 6203, 29629, 29715, 116735, 122515}}, +{20514, 18, 119344, {1, 3, 5, 13, 3, 3, 15, 5, 345, 343, 691, 3703, 361, 2019, 9309, 26909, 22897, 103555}}, +{20515, 18, 119364, {1, 3, 1, 11, 9, 25, 123, 235, 131, 469, 1749, 3681, 3841, 10157, 15183, 61413, 42207, 170359}}, +{20516, 18, 119373, {1, 1, 7, 3, 13, 9, 7, 191, 239, 417, 817, 1381, 1179, 2719, 21025, 17429, 50295, 196485}}, +{20517, 18, 119382, {1, 1, 7, 9, 9, 31, 123, 229, 381, 569, 513, 1617, 6141, 9717, 31769, 30159, 113697, 254237}}, +{20518, 18, 119410, {1, 1, 1, 15, 31, 43, 37, 17, 283, 905, 297, 1317, 1883, 11313, 5653, 55655, 121029, 149831}}, +{20519, 18, 119425, {1, 1, 1, 7, 7, 47, 83, 101, 497, 465, 1133, 3877, 5371, 3355, 17161, 50185, 120837, 255103}}, +{20520, 18, 119459, {1, 1, 3, 5, 5, 19, 3, 251, 433, 303, 1193, 1263, 2139, 473, 10725, 57725, 111411, 133687}}, +{20521, 18, 119473, {1, 1, 1, 7, 3, 1, 99, 115, 481, 395, 115, 1699, 953, 2807, 7227, 52781, 2855, 161159}}, +{20522, 18, 119486, {1, 1, 5, 9, 25, 25, 85, 3, 451, 847, 837, 3669, 4717, 3661, 29111, 43735, 49445, 100379}}, +{20523, 18, 119500, {1, 1, 7, 9, 19, 61, 67, 123, 195, 483, 1741, 2719, 7809, 5035, 30689, 21325, 56191, 46127}}, +{20524, 18, 119508, {1, 1, 3, 11, 15, 39, 101, 27, 103, 807, 1557, 1647, 1285, 16169, 20203, 57153, 60749, 71361}}, +{20525, 18, 119511, {1, 3, 3, 3, 19, 1, 93, 31, 105, 925, 689, 3061, 7451, 12667, 27179, 36295, 61011, 90321}}, +{20526, 18, 119517, {1, 3, 7, 15, 19, 35, 47, 241, 261, 935, 1033, 751, 6519, 6911, 13519, 2539, 40285, 81535}}, +{20527, 18, 119528, {1, 1, 7, 13, 17, 31, 71, 135, 167, 5, 673, 2909, 4377, 3453, 31289, 38081, 21993, 192933}}, +{20528, 18, 119533, {1, 1, 5, 15, 23, 49, 85, 127, 13, 849, 1661, 2099, 3479, 3613, 21723, 58147, 56321, 203171}}, +{20529, 18, 119539, {1, 1, 7, 15, 23, 63, 3, 207, 445, 573, 1419, 1161, 2237, 1251, 23387, 65259, 81447, 74555}}, +{20530, 18, 119542, {1, 3, 5, 3, 25, 61, 37, 25, 287, 969, 37, 1615, 7923, 4457, 27611, 8519, 113957, 237427}}, +{20531, 18, 119546, {1, 3, 5, 11, 11, 25, 117, 169, 149, 701, 139, 2835, 6029, 9067, 841, 51707, 9287, 115825}}, +{20532, 18, 119566, {1, 1, 1, 13, 31, 5, 9, 5, 313, 1023, 551, 3635, 6765, 13379, 29135, 39737, 80913, 256355}}, +{20533, 18, 119587, {1, 3, 1, 13, 9, 23, 105, 117, 181, 211, 755, 555, 2763, 13965, 14743, 63725, 16377, 203435}}, +{20534, 18, 119590, {1, 3, 1, 15, 11, 45, 111, 147, 471, 321, 381, 2921, 6423, 629, 25117, 51213, 126941, 181931}}, +{20535, 18, 119607, {1, 1, 1, 11, 1, 49, 127, 105, 315, 1, 859, 1223, 5967, 2521, 14491, 58399, 45155, 192567}}, +{20536, 18, 119614, {1, 1, 3, 9, 19, 21, 73, 93, 95, 307, 293, 3243, 4765, 2253, 16775, 29861, 3785, 90357}}, +{20537, 18, 119625, {1, 1, 3, 7, 3, 53, 33, 167, 165, 509, 1133, 169, 6951, 7715, 26317, 5249, 86235, 39649}}, +{20538, 18, 119633, {1, 1, 5, 5, 3, 47, 105, 89, 201, 1003, 877, 635, 2225, 6391, 21247, 5707, 1233, 87055}}, +{20539, 18, 119634, {1, 1, 1, 1, 9, 39, 61, 201, 435, 843, 1245, 533, 1757, 1117, 19687, 54817, 32495, 228865}}, +{20540, 18, 119643, {1, 3, 1, 1, 3, 61, 63, 117, 143, 217, 435, 1977, 2647, 7631, 12969, 50211, 26483, 256329}}, +{20541, 18, 119683, {1, 3, 3, 9, 21, 25, 113, 243, 457, 143, 833, 1505, 3071, 1845, 17867, 58205, 103819, 185215}}, +{20542, 18, 119704, {1, 1, 5, 7, 23, 51, 11, 117, 195, 535, 685, 31, 3037, 9719, 22811, 42959, 21021, 126297}}, +{20543, 18, 119710, {1, 3, 3, 1, 1, 17, 107, 245, 257, 547, 887, 45, 5243, 2439, 22191, 19503, 2143, 75187}}, +{20544, 18, 119734, {1, 3, 7, 9, 11, 27, 123, 197, 353, 151, 1115, 403, 1105, 7425, 7463, 42065, 116187, 154537}}, +{20545, 18, 119752, {1, 3, 5, 15, 23, 5, 49, 177, 223, 615, 1255, 2081, 321, 8733, 19549, 53027, 275, 62739}}, +{20546, 18, 119760, {1, 3, 7, 1, 17, 61, 3, 233, 249, 763, 369, 555, 1621, 7221, 22575, 13295, 99793, 233635}}, +{20547, 18, 119826, {1, 1, 3, 1, 27, 41, 125, 113, 47, 583, 543, 453, 1213, 14187, 1645, 35761, 110051, 197081}}, +{20548, 18, 119922, {1, 1, 7, 9, 29, 43, 105, 125, 489, 135, 153, 2279, 4079, 6731, 12055, 60181, 82563, 173991}}, +{20549, 18, 119931, {1, 3, 7, 3, 29, 1, 67, 151, 127, 625, 113, 2127, 6723, 12359, 28609, 60605, 20375, 120129}}, +{20550, 18, 119977, {1, 1, 5, 7, 9, 13, 27, 171, 129, 199, 303, 4045, 2047, 8887, 22233, 57571, 40545, 36479}}, +{20551, 18, 120015, {1, 3, 1, 7, 1, 5, 127, 203, 213, 691, 1155, 27, 5409, 13519, 6747, 42371, 37089, 145855}}, +{20552, 18, 120020, {1, 3, 3, 9, 3, 33, 119, 25, 337, 715, 1093, 987, 7157, 14975, 28595, 19021, 1243, 148707}}, +{20553, 18, 120083, {1, 3, 1, 13, 3, 41, 81, 151, 23, 787, 181, 2357, 5077, 1997, 6451, 25505, 44875, 198341}}, +{20554, 18, 120086, {1, 1, 7, 3, 5, 15, 9, 169, 337, 487, 1325, 1505, 465, 2339, 20747, 8269, 96875, 108985}}, +{20555, 18, 120101, {1, 3, 1, 7, 23, 7, 113, 181, 25, 989, 1649, 1, 823, 6793, 18729, 3599, 97951, 239609}}, +{20556, 18, 120105, {1, 3, 7, 7, 3, 63, 63, 207, 419, 355, 1133, 2979, 2071, 11699, 32565, 61347, 106475, 16893}}, +{20557, 18, 120155, {1, 1, 7, 5, 7, 3, 119, 133, 189, 341, 1571, 1559, 4309, 16203, 22459, 21019, 80375, 3453}}, +{20558, 18, 120188, {1, 1, 3, 11, 21, 21, 45, 69, 485, 21, 727, 703, 5209, 14745, 3437, 54603, 104357, 151207}}, +{20559, 18, 120195, {1, 3, 7, 5, 25, 17, 13, 147, 329, 93, 121, 315, 2779, 6921, 425, 50441, 1133, 252291}}, +{20560, 18, 120216, {1, 1, 3, 5, 5, 51, 15, 135, 323, 841, 409, 1067, 3243, 4207, 6833, 59329, 90545, 116661}}, +{20561, 18, 120228, {1, 1, 3, 15, 25, 7, 43, 147, 153, 947, 79, 1897, 4519, 14441, 27181, 38517, 71673, 158597}}, +{20562, 18, 120238, {1, 3, 3, 3, 3, 47, 109, 111, 273, 271, 741, 3999, 649, 7367, 14933, 11785, 92709, 133815}}, +{20563, 18, 120255, {1, 1, 3, 13, 5, 41, 55, 15, 409, 355, 1255, 3043, 7503, 3523, 4261, 48927, 119901, 149411}}, +{20564, 18, 120317, {1, 1, 5, 1, 11, 57, 3, 149, 409, 287, 909, 3541, 4243, 4485, 3611, 63213, 102575, 49863}}, +{20565, 18, 120327, {1, 1, 3, 7, 15, 55, 119, 185, 511, 301, 237, 3701, 3195, 1323, 27511, 44635, 45363, 117683}}, +{20566, 18, 120369, {1, 3, 3, 11, 3, 61, 125, 15, 235, 819, 467, 1097, 1055, 16343, 8329, 37807, 38663, 145625}}, +{20567, 18, 120382, {1, 1, 7, 1, 25, 49, 117, 163, 413, 509, 63, 1313, 5113, 6505, 25475, 12059, 88021, 168037}}, +{20568, 18, 120404, {1, 3, 3, 9, 9, 37, 15, 185, 359, 231, 1483, 2999, 773, 10375, 27103, 39899, 100187, 54485}}, +{20569, 18, 120414, {1, 3, 3, 1, 13, 63, 111, 79, 133, 425, 1491, 3735, 533, 13417, 5161, 11455, 16907, 132267}}, +{20570, 18, 120432, {1, 3, 1, 15, 15, 47, 57, 157, 453, 681, 1811, 1685, 4329, 131, 22763, 1017, 66637, 1673}}, +{20571, 18, 120435, {1, 3, 7, 3, 31, 5, 105, 101, 431, 983, 1333, 845, 7369, 15041, 6527, 8617, 61911, 137513}}, +{20572, 18, 120454, {1, 3, 7, 15, 3, 45, 57, 23, 393, 495, 769, 215, 3611, 12907, 20637, 52997, 88345, 37961}}, +{20573, 18, 120463, {1, 3, 5, 7, 31, 3, 85, 249, 353, 559, 1803, 959, 4625, 9413, 22339, 6071, 124765, 43973}}, +{20574, 18, 120471, {1, 3, 1, 9, 31, 15, 109, 197, 179, 293, 457, 709, 627, 7743, 1997, 59625, 36919, 252849}}, +{20575, 18, 120505, {1, 1, 7, 11, 17, 21, 89, 11, 431, 617, 1029, 2649, 1725, 2723, 18367, 46103, 108063, 221855}}, +{20576, 18, 120528, {1, 3, 7, 1, 29, 7, 81, 187, 353, 807, 965, 3655, 3255, 9139, 28619, 32127, 107901, 139099}}, +{20577, 18, 120588, {1, 1, 5, 3, 17, 9, 39, 59, 431, 829, 525, 1885, 2387, 13381, 5271, 29739, 80413, 240595}}, +{20578, 18, 120616, {1, 3, 1, 5, 1, 5, 25, 9, 193, 971, 681, 2921, 3271, 3891, 20123, 37477, 33141, 82481}}, +{20579, 18, 120630, {1, 1, 3, 5, 1, 63, 77, 93, 63, 399, 1945, 387, 5457, 7339, 13279, 34119, 129903, 12621}}, +{20580, 18, 120644, {1, 3, 3, 11, 17, 11, 117, 189, 473, 23, 13, 1261, 2153, 12181, 21075, 33179, 43355, 168293}}, +{20581, 18, 120672, {1, 3, 5, 11, 21, 13, 73, 227, 211, 939, 885, 2091, 1123, 14809, 15705, 56675, 58087, 1451}}, +{20582, 18, 120677, {1, 3, 7, 1, 15, 15, 101, 235, 287, 675, 1741, 3885, 6211, 14817, 10235, 29289, 60401, 27639}}, +{20583, 18, 120718, {1, 3, 5, 13, 13, 7, 117, 31, 143, 505, 1823, 2841, 2133, 7305, 14093, 14229, 85179, 136793}}, +{20584, 18, 120725, {1, 1, 3, 15, 27, 15, 67, 237, 315, 793, 207, 3781, 5201, 13191, 9601, 44041, 116097, 178543}}, +{20585, 18, 120730, {1, 3, 1, 9, 9, 47, 53, 225, 109, 831, 1757, 349, 6353, 15417, 16395, 36295, 10901, 122349}}, +{20586, 18, 120756, {1, 1, 1, 1, 1, 17, 109, 13, 123, 537, 1859, 3717, 4441, 4271, 29017, 13601, 18533, 216695}}, +{20587, 18, 120759, {1, 3, 3, 13, 31, 23, 45, 233, 29, 295, 761, 757, 777, 3499, 26715, 24153, 113777, 256337}}, +{20588, 18, 120765, {1, 3, 5, 7, 23, 57, 37, 179, 511, 897, 2031, 1285, 3957, 15085, 19993, 28819, 39959, 187445}}, +{20589, 18, 120795, {1, 3, 1, 15, 25, 41, 121, 227, 433, 859, 357, 3107, 3241, 879, 10763, 59473, 73145, 258493}}, +{20590, 18, 120821, {1, 3, 3, 5, 13, 9, 85, 117, 347, 161, 995, 549, 5443, 9057, 28931, 57549, 27523, 54717}}, +{20591, 18, 120850, {1, 1, 5, 13, 13, 33, 97, 37, 55, 367, 403, 2361, 5717, 4433, 26921, 14227, 69445, 100337}}, +{20592, 18, 120868, {1, 3, 5, 7, 1, 41, 89, 165, 163, 1, 685, 3577, 1079, 1057, 125, 35853, 8387, 113035}}, +{20593, 18, 120880, {1, 3, 3, 13, 3, 59, 119, 51, 325, 205, 821, 1417, 2097, 13725, 31785, 53803, 15737, 2013}}, +{20594, 18, 120885, {1, 3, 7, 7, 1, 45, 95, 221, 249, 65, 1479, 2163, 5761, 15321, 8013, 25771, 110897, 214127}}, +{20595, 18, 120892, {1, 3, 3, 5, 25, 11, 27, 29, 95, 955, 1989, 3775, 609, 7073, 4571, 38857, 92205, 156209}}, +{20596, 18, 120897, {1, 3, 1, 13, 29, 57, 97, 47, 499, 641, 587, 2125, 2257, 13911, 13993, 1715, 46233, 181279}}, +{20597, 18, 120912, {1, 1, 7, 13, 7, 55, 69, 235, 379, 269, 1969, 2733, 3677, 1707, 26999, 64041, 98111, 138691}}, +{20598, 18, 120934, {1, 1, 3, 5, 27, 63, 65, 251, 413, 903, 1307, 2941, 5649, 11271, 1935, 49389, 37995, 218197}}, +{20599, 18, 120991, {1, 3, 3, 13, 7, 1, 45, 225, 13, 169, 581, 1657, 117, 10251, 23435, 40379, 127085, 88185}}, +{20600, 18, 121004, {1, 1, 7, 5, 21, 63, 69, 37, 459, 115, 1403, 1939, 6437, 13149, 3597, 50115, 129075, 260613}}, +{20601, 18, 121021, {1, 1, 3, 5, 29, 57, 15, 223, 131, 907, 1561, 1103, 4355, 2763, 6359, 55401, 1751, 53143}}, +{20602, 18, 121022, {1, 1, 7, 11, 15, 5, 17, 159, 505, 407, 1873, 2501, 2203, 12559, 5123, 53281, 29307, 16215}}, +{20603, 18, 121036, {1, 1, 1, 15, 9, 41, 77, 145, 325, 529, 1939, 3835, 3109, 12215, 18323, 2551, 89793, 94745}}, +{20604, 18, 121041, {1, 3, 1, 9, 21, 5, 7, 57, 99, 1005, 1211, 4063, 6851, 7653, 29283, 15463, 121289, 187055}}, +{20605, 18, 121069, {1, 1, 3, 3, 13, 11, 17, 125, 173, 283, 1419, 2533, 6875, 16031, 26633, 51027, 27343, 74257}}, +{20606, 18, 121078, {1, 1, 3, 11, 29, 49, 87, 19, 367, 941, 983, 1041, 8099, 8735, 30123, 62665, 87051, 98745}}, +{20607, 18, 121126, {1, 1, 1, 15, 25, 57, 97, 177, 467, 181, 923, 3833, 5405, 14335, 23495, 48323, 70331, 136825}}, +{20608, 18, 121135, {1, 1, 1, 13, 21, 17, 29, 237, 305, 117, 1077, 2999, 1879, 6875, 19321, 10999, 130513, 160883}}, +{20609, 18, 121138, {1, 3, 7, 15, 19, 47, 89, 153, 287, 7, 1429, 1507, 2853, 4197, 11195, 33891, 59063, 189601}}, +{20610, 18, 121162, {1, 1, 3, 15, 31, 5, 113, 71, 13, 925, 147, 451, 5701, 13671, 13943, 13799, 59627, 115715}}, +{20611, 18, 121176, {1, 1, 1, 5, 13, 25, 51, 11, 409, 393, 1479, 2583, 3101, 303, 17609, 10653, 69107, 150459}}, +{20612, 18, 121186, {1, 1, 5, 7, 21, 27, 107, 77, 61, 467, 1723, 1247, 287, 1039, 25347, 18111, 24837, 42903}}, +{20613, 18, 121209, {1, 3, 5, 5, 1, 29, 57, 177, 311, 9, 819, 3235, 3887, 9679, 11849, 31755, 68467, 135587}}, +{20614, 18, 121212, {1, 1, 5, 5, 29, 15, 13, 69, 163, 709, 1405, 3835, 777, 7567, 10153, 5043, 129465, 59113}}, +{20615, 18, 121221, {1, 1, 1, 13, 3, 47, 97, 101, 179, 53, 1919, 17, 3597, 11769, 17971, 39257, 76167, 255653}}, +{20616, 18, 121225, {1, 1, 7, 5, 1, 45, 121, 223, 299, 271, 1857, 1955, 5509, 1245, 9519, 60547, 78497, 191251}}, +{20617, 18, 121228, {1, 1, 1, 11, 5, 57, 87, 113, 59, 547, 1591, 1905, 475, 4687, 27591, 43807, 9617, 70769}}, +{20618, 18, 121239, {1, 1, 7, 1, 1, 35, 35, 11, 107, 401, 827, 2271, 2131, 12751, 25771, 51311, 46897, 198655}}, +{20619, 18, 121245, {1, 3, 3, 3, 15, 29, 91, 147, 9, 611, 1739, 3211, 3883, 14205, 24073, 37445, 54451, 208123}}, +{20620, 18, 121264, {1, 3, 7, 1, 25, 53, 33, 161, 365, 651, 1263, 1623, 1767, 3789, 18013, 52133, 60119, 100859}}, +{20621, 18, 121270, {1, 3, 5, 9, 15, 9, 97, 67, 379, 981, 1323, 1095, 3701, 3257, 13647, 12511, 53375, 156689}}, +{20622, 18, 121299, {1, 1, 3, 5, 9, 23, 97, 239, 171, 501, 1549, 1029, 8019, 5023, 9439, 14223, 54433, 152855}}, +{20623, 18, 121306, {1, 1, 7, 13, 17, 35, 111, 169, 81, 599, 1673, 3461, 7905, 7925, 16311, 20327, 57109, 158719}}, +{20624, 18, 121315, {1, 1, 3, 15, 7, 33, 23, 33, 273, 987, 1489, 363, 4017, 8919, 28839, 10143, 114179, 218155}}, +{20625, 18, 121317, {1, 3, 5, 13, 29, 5, 61, 133, 65, 933, 509, 551, 7365, 3703, 15003, 27849, 64211, 140383}}, +{20626, 18, 121321, {1, 1, 1, 13, 7, 25, 49, 1, 269, 601, 251, 33, 2443, 13725, 5805, 63347, 109489, 111491}}, +{20627, 18, 121324, {1, 1, 7, 9, 31, 23, 117, 71, 371, 733, 605, 4019, 4577, 3887, 31061, 24939, 57905, 148331}}, +{20628, 18, 121330, {1, 3, 5, 1, 3, 35, 35, 227, 355, 27, 1673, 2173, 5001, 14613, 6343, 40775, 72349, 101287}}, +{20629, 18, 121339, {1, 1, 7, 15, 29, 3, 43, 77, 43, 51, 1495, 2577, 2093, 7515, 20151, 44533, 32223, 6355}}, +{20630, 18, 121346, {1, 1, 5, 5, 11, 47, 91, 221, 35, 969, 343, 3287, 857, 4851, 12599, 939, 53615, 262125}}, +{20631, 18, 121370, {1, 1, 5, 7, 29, 11, 67, 155, 317, 629, 211, 583, 1061, 13243, 13999, 45405, 18187, 99021}}, +{20632, 18, 121372, {1, 3, 7, 13, 3, 39, 5, 207, 175, 515, 1181, 739, 379, 9919, 12079, 18903, 62475, 239383}}, +{20633, 18, 121393, {1, 1, 1, 15, 25, 15, 113, 215, 281, 861, 1055, 2577, 5545, 12365, 16097, 35775, 8331, 119353}}, +{20634, 18, 121396, {1, 1, 1, 1, 25, 55, 111, 185, 485, 361, 155, 4077, 5517, 16057, 19069, 40129, 38959, 211233}}, +{20635, 18, 121414, {1, 1, 3, 3, 13, 1, 93, 129, 243, 813, 115, 177, 53, 8251, 32351, 63847, 54537, 25527}}, +{20636, 18, 121442, {1, 3, 5, 11, 25, 47, 113, 69, 285, 451, 2011, 81, 6535, 3409, 8647, 56575, 975, 149571}}, +{20637, 18, 121475, {1, 1, 7, 7, 19, 1, 75, 123, 413, 697, 41, 3179, 4075, 15967, 2477, 17549, 54193, 258657}}, +{20638, 18, 121499, {1, 1, 5, 5, 11, 23, 19, 253, 303, 255, 901, 875, 1517, 6953, 25189, 26763, 28843, 167705}}, +{20639, 18, 121512, {1, 3, 7, 7, 17, 45, 31, 79, 279, 965, 1869, 1201, 1627, 14035, 11651, 45021, 76171, 49137}}, +{20640, 18, 121518, {1, 3, 1, 15, 9, 55, 83, 59, 437, 915, 1667, 89, 2797, 1841, 29261, 23497, 55785, 102265}}, +{20641, 18, 121588, {1, 1, 5, 5, 3, 59, 17, 131, 199, 541, 1647, 2175, 4449, 6081, 10609, 39467, 72945, 32423}}, +{20642, 18, 121597, {1, 3, 1, 7, 5, 7, 85, 11, 255, 397, 87, 1661, 6523, 5699, 29407, 28015, 50783, 246625}}, +{20643, 18, 121612, {1, 3, 3, 13, 5, 61, 123, 147, 295, 37, 301, 2549, 7615, 5725, 32477, 18121, 69353, 242579}}, +{20644, 18, 121629, {1, 3, 5, 7, 9, 45, 83, 211, 475, 281, 743, 3955, 7811, 6043, 30547, 5315, 53345, 25775}}, +{20645, 18, 121630, {1, 3, 3, 5, 7, 63, 125, 43, 131, 353, 345, 1689, 5483, 5467, 13445, 13041, 68381, 134567}}, +{20646, 18, 121634, {1, 3, 5, 11, 31, 9, 123, 53, 237, 911, 349, 3737, 1867, 7375, 3031, 4191, 8697, 182255}}, +{20647, 18, 121680, {1, 1, 3, 3, 11, 11, 89, 251, 69, 93, 1241, 1719, 2227, 1793, 21683, 58099, 110831, 24835}}, +{20648, 18, 121725, {1, 1, 5, 9, 3, 57, 3, 17, 11, 217, 923, 3623, 727, 1837, 21203, 63007, 33691, 216259}}, +{20649, 18, 121798, {1, 3, 3, 9, 21, 25, 83, 115, 325, 921, 811, 303, 3555, 10669, 5837, 45585, 61923, 159061}}, +{20650, 18, 121815, {1, 3, 3, 15, 17, 29, 77, 75, 509, 363, 199, 317, 7375, 11971, 15679, 17135, 101925, 103375}}, +{20651, 18, 121822, {1, 3, 5, 5, 29, 45, 85, 151, 73, 329, 911, 3055, 2381, 4717, 5133, 58987, 59885, 226689}}, +{20652, 18, 121837, {1, 3, 5, 1, 11, 59, 17, 83, 385, 867, 215, 2275, 7247, 10613, 6493, 63843, 74483, 134271}}, +{20653, 18, 121840, {1, 1, 7, 13, 29, 25, 77, 61, 281, 439, 353, 2213, 697, 14741, 1597, 7515, 7703, 149123}}, +{20654, 18, 121869, {1, 3, 7, 7, 7, 53, 77, 21, 483, 793, 969, 123, 3581, 12489, 22943, 54573, 25785, 178419}}, +{20655, 18, 121878, {1, 3, 5, 3, 17, 59, 75, 55, 125, 569, 1625, 77, 4593, 8493, 5259, 54537, 100479, 107509}}, +{20656, 18, 121897, {1, 1, 1, 15, 5, 7, 11, 169, 349, 133, 1113, 2877, 6109, 16275, 9755, 1385, 55005, 36095}}, +{20657, 18, 121920, {1, 1, 7, 7, 21, 25, 41, 161, 11, 321, 343, 705, 4601, 12867, 21997, 25283, 78467, 159089}}, +{20658, 18, 121929, {1, 3, 7, 1, 15, 3, 71, 227, 427, 883, 1021, 1405, 7791, 12669, 9159, 30931, 105993, 40917}}, +{20659, 18, 121944, {1, 1, 5, 5, 25, 41, 93, 57, 125, 915, 701, 2589, 7147, 15369, 28307, 54635, 13253, 97177}}, +{20660, 18, 121999, {1, 3, 1, 13, 11, 63, 103, 241, 317, 927, 965, 3179, 5213, 13849, 11509, 52665, 1637, 235647}}, +{20661, 18, 122008, {1, 3, 5, 3, 31, 31, 111, 9, 339, 1017, 1715, 101, 6849, 14329, 31607, 40741, 73067, 119001}}, +{20662, 18, 122056, {1, 3, 1, 13, 3, 55, 53, 15, 185, 717, 1447, 3029, 4899, 14217, 19949, 32817, 24829, 206829}}, +{20663, 18, 122062, {1, 3, 7, 9, 21, 11, 33, 213, 5, 769, 1807, 2179, 63, 5167, 23235, 25495, 113299, 129419}}, +{20664, 18, 122067, {1, 3, 7, 11, 11, 33, 23, 125, 21, 609, 595, 1329, 6175, 15837, 3889, 57797, 81453, 211413}}, +{20665, 18, 122083, {1, 1, 5, 11, 31, 7, 13, 73, 143, 559, 1541, 275, 3349, 2987, 21797, 32921, 125395, 247667}}, +{20666, 18, 122095, {1, 1, 3, 11, 19, 1, 23, 167, 337, 75, 1597, 3591, 2705, 7323, 5957, 7317, 58945, 44625}}, +{20667, 18, 122110, {1, 1, 5, 11, 27, 19, 63, 231, 353, 645, 531, 3861, 1681, 6901, 16217, 20639, 70077, 220233}}, +{20668, 18, 122118, {1, 1, 5, 15, 31, 41, 19, 253, 147, 365, 509, 1199, 6699, 14633, 1339, 48203, 58707, 83315}}, +{20669, 18, 122127, {1, 1, 5, 7, 19, 47, 47, 17, 267, 139, 549, 803, 4625, 6851, 32141, 12891, 43785, 211361}}, +{20670, 18, 122189, {1, 3, 1, 13, 19, 35, 13, 45, 167, 627, 1449, 3041, 5043, 9279, 15889, 41675, 25769, 13835}}, +{20671, 18, 122207, {1, 3, 7, 7, 19, 47, 13, 117, 403, 79, 1623, 3741, 3255, 2301, 25, 2311, 5237, 150879}}, +{20672, 18, 122226, {1, 1, 1, 15, 29, 43, 75, 21, 237, 809, 129, 2637, 181, 15921, 30709, 61281, 82405, 232885}}, +{20673, 18, 122253, {1, 1, 3, 15, 15, 15, 55, 217, 243, 579, 945, 3993, 1875, 2425, 25045, 36729, 42935, 213703}}, +{20674, 18, 122301, {1, 3, 3, 1, 5, 59, 115, 71, 483, 327, 701, 2893, 1815, 4611, 3843, 5893, 126479, 167807}}, +{20675, 18, 122324, {1, 3, 1, 7, 17, 59, 115, 191, 3, 615, 215, 2121, 5085, 15233, 16661, 6215, 31061, 192847}}, +{20676, 18, 122337, {1, 3, 1, 1, 21, 25, 41, 195, 151, 905, 1587, 439, 3317, 2275, 4743, 33505, 1185, 254873}}, +{20677, 18, 122362, {1, 1, 3, 9, 11, 49, 37, 117, 419, 1007, 789, 1323, 345, 2047, 20697, 57063, 69167, 219393}}, +{20678, 18, 122368, {1, 3, 1, 1, 25, 49, 81, 79, 117, 1015, 1777, 2427, 527, 10139, 16261, 42587, 33933, 19749}}, +{20679, 18, 122371, {1, 1, 5, 15, 31, 43, 19, 17, 97, 591, 891, 177, 7835, 3979, 15473, 2173, 65555, 182773}}, +{20680, 18, 122378, {1, 1, 3, 15, 13, 53, 31, 179, 247, 635, 683, 423, 2981, 14401, 26385, 10935, 68497, 181703}}, +{20681, 18, 122404, {1, 3, 3, 9, 25, 55, 43, 29, 487, 969, 989, 3561, 6425, 11619, 5773, 56515, 17461, 151239}}, +{20682, 18, 122443, {1, 1, 5, 13, 3, 31, 73, 51, 213, 215, 297, 783, 697, 14197, 7277, 60697, 985, 189995}}, +{20683, 18, 122451, {1, 3, 3, 5, 9, 47, 69, 27, 15, 407, 1029, 2541, 183, 4413, 5143, 33903, 49509, 49007}}, +{20684, 18, 122457, {1, 1, 1, 3, 5, 3, 9, 165, 215, 577, 1657, 363, 737, 5483, 5955, 34533, 45861, 104645}}, +{20685, 18, 122458, {1, 1, 5, 7, 31, 27, 37, 215, 125, 915, 1297, 3095, 1529, 12737, 25675, 29355, 83939, 106765}}, +{20686, 18, 122479, {1, 1, 3, 3, 1, 49, 29, 115, 395, 647, 147, 3905, 1025, 8873, 10587, 25471, 72089, 171467}}, +{20687, 18, 122484, {1, 3, 7, 1, 21, 55, 57, 233, 487, 883, 439, 929, 1405, 13709, 2389, 20205, 17579, 9129}}, +{20688, 18, 122521, {1, 3, 5, 5, 23, 51, 55, 45, 307, 855, 933, 1443, 4757, 8719, 28401, 35189, 105329, 9211}}, +{20689, 18, 122540, {1, 3, 7, 11, 29, 17, 17, 147, 221, 997, 1433, 59, 8027, 231, 30335, 2153, 21393, 116661}}, +{20690, 18, 122545, {1, 1, 7, 3, 5, 43, 47, 155, 357, 915, 1923, 3315, 4107, 9785, 4847, 57683, 87569, 179583}}, +{20691, 18, 122552, {1, 1, 7, 7, 27, 5, 37, 95, 265, 113, 143, 3755, 5793, 5601, 16621, 54777, 15989, 158933}}, +{20692, 18, 122560, {1, 3, 1, 1, 13, 31, 113, 255, 367, 559, 1777, 4065, 8061, 15785, 10345, 54833, 95277, 159347}}, +{20693, 18, 122575, {1, 1, 1, 15, 3, 43, 85, 251, 193, 19, 1685, 271, 1779, 11901, 18983, 65361, 128217, 248051}}, +{20694, 18, 122578, {1, 3, 5, 7, 29, 21, 5, 47, 263, 913, 83, 3233, 113, 8341, 14473, 37405, 2363, 155931}}, +{20695, 18, 122605, {1, 1, 7, 15, 7, 25, 41, 39, 315, 323, 827, 1277, 1211, 4465, 21161, 36865, 6689, 139147}}, +{20696, 18, 122661, {1, 1, 1, 9, 11, 45, 81, 235, 31, 247, 77, 1877, 7119, 16007, 2225, 65, 85537, 99251}}, +{20697, 18, 122673, {1, 1, 3, 11, 19, 5, 49, 179, 345, 961, 349, 2099, 2317, 12771, 27169, 59389, 116071, 68333}}, +{20698, 18, 122722, {1, 3, 3, 5, 15, 53, 47, 177, 103, 941, 87, 2813, 7729, 8003, 7717, 40095, 74569, 106617}}, +{20699, 18, 122728, {1, 1, 7, 7, 31, 23, 105, 205, 325, 855, 1529, 3601, 7151, 15827, 16241, 18221, 55771, 139225}}, +{20700, 18, 122739, {1, 3, 5, 13, 13, 5, 95, 167, 25, 779, 1147, 221, 5055, 10943, 28077, 15131, 89501, 137407}}, +{20701, 18, 122751, {1, 3, 7, 13, 31, 3, 105, 163, 41, 823, 1493, 2985, 5589, 3543, 24683, 34469, 40595, 200875}}, +{20702, 18, 122762, {1, 3, 5, 3, 27, 35, 105, 163, 477, 667, 45, 319, 3201, 11535, 19349, 55253, 60275, 209597}}, +{20703, 18, 122769, {1, 3, 1, 11, 5, 13, 25, 225, 169, 925, 1617, 537, 891, 5583, 7181, 39953, 97537, 104019}}, +{20704, 18, 122772, {1, 3, 5, 9, 13, 1, 69, 147, 465, 259, 1219, 2407, 4015, 4883, 4333, 40441, 31289, 52989}}, +{20705, 18, 122782, {1, 3, 5, 5, 17, 29, 105, 233, 307, 807, 1535, 251, 135, 925, 6865, 59739, 112757, 208275}}, +{20706, 18, 122798, {1, 1, 1, 7, 9, 21, 49, 247, 33, 127, 1277, 1745, 139, 12165, 23517, 50235, 101003, 109031}}, +{20707, 18, 122810, {1, 3, 5, 9, 19, 7, 9, 139, 511, 901, 551, 2717, 6091, 3213, 819, 51381, 108333, 119681}}, +{20708, 18, 122812, {1, 1, 1, 3, 19, 17, 73, 19, 313, 589, 1965, 1745, 921, 4237, 12527, 10735, 110139, 171513}}, +{20709, 18, 122818, {1, 1, 5, 15, 25, 29, 15, 217, 87, 793, 419, 915, 1359, 10507, 25343, 62977, 100913, 110041}}, +{20710, 18, 122829, {1, 3, 7, 15, 15, 15, 91, 243, 441, 437, 1759, 2659, 2319, 7783, 16857, 19051, 15463, 253115}}, +{20711, 18, 122851, {1, 1, 5, 13, 15, 5, 7, 165, 355, 559, 217, 235, 3565, 12047, 2387, 62285, 73363, 238551}}, +{20712, 18, 122857, {1, 3, 7, 11, 5, 5, 69, 205, 179, 815, 335, 979, 2129, 6221, 31987, 13623, 23103, 24373}}, +{20713, 18, 122868, {1, 1, 7, 11, 31, 51, 55, 93, 195, 219, 825, 2919, 4495, 5927, 11813, 16415, 121595, 188613}}, +{20714, 18, 122893, {1, 1, 3, 1, 3, 11, 73, 45, 141, 219, 337, 2569, 6549, 3699, 2417, 2945, 19389, 82561}}, +{20715, 18, 122894, {1, 3, 1, 13, 5, 47, 47, 81, 11, 57, 1965, 2173, 3209, 10617, 19887, 5571, 61403, 37401}}, +{20716, 18, 122902, {1, 3, 3, 7, 3, 5, 99, 253, 287, 655, 813, 3365, 2387, 8951, 1561, 37637, 97625, 148699}}, +{20717, 18, 122921, {1, 1, 3, 5, 9, 31, 49, 7, 55, 607, 1489, 3229, 5871, 1271, 22751, 32309, 16125, 93409}}, +{20718, 18, 122959, {1, 3, 1, 5, 19, 35, 29, 233, 407, 297, 1465, 3089, 7535, 7221, 24469, 42653, 65719, 196771}}, +{20719, 18, 122984, {1, 1, 7, 13, 17, 19, 37, 45, 211, 545, 963, 79, 13, 8319, 8045, 24975, 122749, 25845}}, +{20720, 18, 123001, {1, 3, 5, 3, 23, 23, 53, 101, 363, 49, 1351, 3419, 1603, 10795, 5289, 63695, 113911, 228301}}, +{20721, 18, 123038, {1, 3, 7, 9, 15, 59, 125, 59, 11, 397, 693, 397, 3829, 14349, 13973, 54739, 22093, 216009}}, +{20722, 18, 123076, {1, 1, 1, 13, 5, 63, 21, 23, 421, 35, 589, 803, 6193, 11375, 9501, 34441, 68421, 120109}}, +{20723, 18, 123100, {1, 3, 3, 7, 23, 25, 79, 203, 177, 173, 175, 809, 4331, 6953, 4999, 34345, 94481, 88683}}, +{20724, 18, 123107, {1, 3, 3, 3, 1, 51, 109, 195, 83, 747, 63, 325, 927, 1757, 32055, 37185, 22697, 41509}}, +{20725, 18, 123122, {1, 3, 5, 13, 1, 63, 45, 73, 121, 445, 1935, 3373, 563, 7503, 17941, 60313, 42219, 220917}}, +{20726, 18, 123139, {1, 3, 5, 13, 27, 31, 7, 83, 109, 387, 447, 1691, 1301, 7449, 8075, 30713, 87207, 84855}}, +{20727, 18, 123175, {1, 3, 1, 5, 25, 51, 83, 11, 261, 977, 1415, 2973, 1789, 12641, 16279, 4225, 44237, 173561}}, +{20728, 18, 123190, {1, 1, 5, 15, 17, 47, 105, 199, 83, 705, 1215, 2759, 7509, 10407, 4005, 4575, 65961, 209933}}, +{20729, 18, 123201, {1, 3, 1, 13, 27, 3, 5, 199, 405, 515, 291, 3399, 1497, 14755, 30229, 35075, 111585, 16633}}, +{20730, 18, 123219, {1, 1, 1, 13, 17, 53, 93, 161, 447, 903, 947, 1871, 3597, 10575, 18389, 48551, 65229, 32591}}, +{20731, 18, 123232, {1, 3, 5, 11, 9, 7, 53, 155, 299, 523, 1653, 3517, 2725, 9485, 27099, 47895, 30169, 260463}}, +{20732, 18, 123255, {1, 1, 3, 13, 11, 45, 31, 183, 445, 21, 313, 2597, 195, 16053, 7323, 52951, 25919, 9323}}, +{20733, 18, 123285, {1, 1, 1, 15, 1, 35, 15, 115, 53, 561, 1141, 3261, 83, 2547, 8925, 43455, 112755, 94157}}, +{20734, 18, 123328, {1, 1, 3, 5, 27, 25, 81, 51, 209, 87, 379, 3167, 4953, 13885, 20159, 103, 115363, 123585}}, +{20735, 18, 123385, {1, 3, 5, 1, 25, 29, 107, 225, 77, 435, 2009, 4069, 3703, 8855, 14101, 61683, 16993, 110823}}, +{20736, 18, 123397, {1, 3, 7, 3, 31, 25, 51, 117, 397, 271, 89, 3571, 2357, 4923, 16303, 2357, 107775, 73809}}, +{20737, 18, 123404, {1, 1, 3, 1, 29, 21, 33, 67, 363, 753, 915, 3715, 2013, 8439, 5779, 267, 32687, 104283}}, +{20738, 18, 123419, {1, 3, 1, 11, 11, 7, 31, 43, 339, 917, 2005, 759, 4285, 1933, 4341, 19111, 130651, 122853}}, +{20739, 18, 123435, {1, 1, 5, 1, 17, 63, 85, 63, 387, 127, 1313, 619, 6525, 9003, 10915, 64507, 13175, 45219}}, +{20740, 18, 123437, {1, 3, 7, 9, 25, 15, 43, 13, 411, 391, 571, 527, 8175, 10849, 20093, 2987, 29869, 77207}}, +{20741, 18, 123443, {1, 1, 5, 3, 29, 53, 105, 57, 91, 977, 1103, 2977, 5617, 7203, 26717, 28463, 55909, 59943}}, +{20742, 18, 123500, {1, 3, 1, 7, 1, 47, 111, 215, 189, 377, 11, 871, 2267, 5705, 8165, 38895, 71025, 10921}}, +{20743, 18, 123506, {1, 1, 7, 9, 29, 55, 1, 103, 505, 697, 317, 3209, 3643, 13689, 8499, 14671, 67937, 100467}}, +{20744, 18, 123511, {1, 3, 1, 5, 25, 15, 99, 199, 117, 957, 1421, 1719, 5185, 15247, 28615, 2657, 46867, 190135}}, +{20745, 18, 123512, {1, 1, 7, 9, 27, 55, 81, 47, 15, 497, 537, 857, 2905, 1909, 3341, 32625, 123189, 21875}}, +{20746, 18, 123518, {1, 3, 1, 3, 19, 51, 97, 143, 305, 1021, 543, 829, 7593, 8101, 6337, 4869, 19177, 38981}}, +{20747, 18, 123522, {1, 3, 3, 15, 9, 37, 51, 193, 295, 731, 809, 4065, 3377, 15303, 12505, 11327, 76191, 139899}}, +{20748, 18, 123545, {1, 1, 5, 1, 3, 19, 5, 223, 379, 7, 755, 1127, 505, 9429, 27409, 50817, 97599, 179019}}, +{20749, 18, 123572, {1, 3, 5, 3, 5, 11, 83, 119, 3, 311, 405, 2401, 1821, 1381, 4567, 44079, 61903, 183583}}, +{20750, 18, 123587, {1, 3, 7, 9, 7, 11, 107, 95, 271, 537, 335, 3079, 6695, 1163, 32055, 44985, 29075, 94235}}, +{20751, 18, 123594, {1, 3, 7, 7, 7, 57, 59, 85, 199, 563, 1835, 351, 7675, 2601, 3717, 57975, 92529, 101511}}, +{20752, 18, 123607, {1, 1, 1, 5, 17, 5, 97, 43, 101, 141, 1511, 199, 7157, 3169, 24815, 55653, 104195, 37951}}, +{20753, 18, 123608, {1, 1, 1, 11, 23, 29, 41, 47, 447, 583, 773, 859, 1657, 8707, 16709, 53477, 42037, 186809}}, +{20754, 18, 123630, {1, 1, 1, 13, 13, 5, 85, 9, 213, 511, 1003, 811, 2271, 14715, 21423, 48127, 50613, 214031}}, +{20755, 18, 123635, {1, 1, 3, 5, 7, 31, 87, 101, 297, 853, 1599, 1521, 4965, 9655, 23543, 62277, 11231, 49931}}, +{20756, 18, 123659, {1, 1, 7, 7, 19, 31, 9, 165, 207, 919, 739, 3849, 2121, 867, 3233, 40867, 75721, 5327}}, +{20757, 18, 123692, {1, 3, 7, 1, 17, 3, 27, 13, 431, 283, 465, 1427, 1937, 15601, 21793, 9315, 54285, 196453}}, +{20758, 18, 123695, {1, 1, 7, 3, 17, 39, 65, 137, 511, 19, 1357, 3373, 5227, 2485, 1151, 25061, 117507, 119219}}, +{20759, 18, 123700, {1, 3, 3, 9, 9, 23, 13, 235, 505, 625, 115, 3859, 6943, 14719, 6363, 14957, 28241, 187989}}, +{20760, 18, 123730, {1, 3, 7, 13, 11, 31, 23, 39, 463, 441, 1145, 417, 4177, 1655, 26491, 16895, 26263, 198157}}, +{20761, 18, 123748, {1, 3, 3, 7, 25, 55, 121, 157, 131, 537, 1891, 2367, 1717, 2331, 20251, 8679, 62657, 121957}}, +{20762, 18, 123751, {1, 1, 1, 11, 7, 43, 59, 101, 333, 961, 569, 1603, 3009, 6539, 9627, 5759, 44401, 127613}}, +{20763, 18, 123770, {1, 3, 3, 3, 1, 27, 15, 135, 235, 215, 627, 2427, 2647, 3201, 22873, 64445, 32635, 16587}}, +{20764, 18, 123793, {1, 3, 7, 7, 5, 49, 63, 103, 467, 897, 117, 1149, 6045, 5003, 5005, 6183, 90815, 190909}}, +{20765, 18, 123800, {1, 1, 3, 3, 31, 43, 45, 227, 363, 409, 1097, 3155, 1519, 14461, 29377, 19577, 52595, 94041}}, +{20766, 18, 123803, {1, 3, 1, 1, 3, 25, 83, 243, 57, 243, 389, 1427, 5197, 13125, 18571, 17845, 74961, 125569}}, +{20767, 18, 123851, {1, 3, 5, 5, 1, 39, 11, 175, 97, 1001, 143, 3653, 5887, 5845, 5691, 5433, 62629, 176261}}, +{20768, 18, 123859, {1, 1, 1, 13, 11, 41, 41, 155, 17, 823, 1507, 733, 5663, 13657, 24133, 9971, 27179, 108075}}, +{20769, 18, 123866, {1, 1, 7, 9, 19, 9, 103, 29, 427, 363, 931, 3959, 1629, 5127, 14807, 61937, 127175, 237233}}, +{20770, 18, 123868, {1, 1, 1, 5, 29, 53, 51, 229, 123, 1001, 697, 411, 4669, 5051, 18447, 55437, 129269, 72613}}, +{20771, 18, 123877, {1, 3, 7, 3, 19, 53, 111, 131, 255, 547, 653, 2839, 1447, 14397, 5707, 23773, 127897, 135177}}, +{20772, 18, 123884, {1, 3, 3, 5, 21, 37, 53, 219, 359, 341, 489, 2477, 3383, 6931, 7753, 2619, 114267, 63271}}, +{20773, 18, 123909, {1, 1, 3, 15, 15, 15, 95, 171, 301, 563, 603, 593, 4037, 7305, 10849, 11753, 103087, 74887}}, +{20774, 18, 123910, {1, 1, 5, 3, 11, 51, 105, 35, 155, 643, 569, 1697, 1679, 7547, 19289, 7065, 57359, 142855}}, +{20775, 18, 123919, {1, 1, 7, 15, 23, 55, 17, 67, 375, 559, 355, 165, 93, 973, 22831, 48027, 98435, 59945}}, +{20776, 18, 123927, {1, 3, 7, 3, 5, 43, 9, 253, 111, 819, 45, 3461, 4821, 14735, 14469, 29793, 30681, 26359}}, +{20777, 18, 123937, {1, 3, 3, 5, 15, 1, 39, 233, 63, 287, 131, 3453, 427, 4929, 30085, 18583, 50119, 262101}}, +{20778, 18, 123950, {1, 3, 7, 9, 31, 7, 127, 157, 287, 57, 1091, 1989, 5045, 13071, 27705, 58125, 85317, 66649}}, +{20779, 18, 123957, {1, 1, 1, 15, 17, 29, 25, 223, 311, 489, 1901, 3197, 1813, 10097, 31915, 54871, 32289, 227001}}, +{20780, 18, 123979, {1, 3, 7, 5, 31, 35, 69, 87, 131, 963, 1125, 1109, 8037, 3257, 27655, 50999, 3715, 57851}}, +{20781, 18, 123996, {1, 1, 5, 5, 27, 7, 119, 29, 425, 721, 541, 3069, 3349, 13623, 12293, 51395, 14033, 61545}}, +{20782, 18, 124040, {1, 3, 7, 3, 17, 49, 103, 115, 387, 729, 1389, 2257, 3273, 3375, 23143, 2835, 28071, 79533}}, +{20783, 18, 124054, {1, 1, 3, 7, 9, 19, 55, 159, 261, 467, 17, 2595, 3947, 7045, 193, 23629, 89067, 81197}}, +{20784, 18, 124063, {1, 1, 1, 15, 13, 39, 103, 195, 251, 769, 1003, 2707, 3263, 8451, 8007, 53789, 112653, 258717}}, +{20785, 18, 124067, {1, 3, 5, 1, 3, 21, 29, 217, 125, 779, 1597, 513, 2677, 3979, 31903, 64813, 69963, 92887}}, +{20786, 18, 124088, {1, 1, 3, 11, 11, 59, 81, 237, 447, 703, 41, 3369, 3547, 14935, 31693, 52005, 74149, 131039}}, +{20787, 18, 124101, {1, 1, 3, 1, 23, 1, 33, 93, 275, 847, 921, 2745, 533, 8975, 30529, 46809, 98975, 75541}}, +{20788, 18, 124154, {1, 1, 7, 7, 15, 1, 3, 213, 71, 1009, 1951, 3015, 713, 9365, 21949, 60983, 117633, 225387}}, +{20789, 18, 124162, {1, 1, 1, 11, 31, 27, 59, 179, 231, 635, 1555, 2765, 31, 15065, 22719, 59251, 84733, 96769}}, +{20790, 18, 124167, {1, 3, 7, 3, 19, 5, 35, 207, 317, 735, 943, 3987, 4021, 11229, 13015, 713, 125167, 55887}}, +{20791, 18, 124176, {1, 1, 3, 1, 27, 49, 81, 17, 253, 633, 43, 2953, 3151, 8429, 30625, 28551, 126683, 175087}}, +{20792, 18, 124195, {1, 3, 3, 3, 9, 53, 111, 245, 57, 557, 945, 2957, 7669, 12537, 17291, 9713, 87727, 44739}}, +{20793, 18, 124230, {1, 3, 1, 1, 5, 39, 77, 127, 87, 687, 1485, 1555, 2567, 13551, 17075, 24003, 47627, 129813}}, +{20794, 18, 124267, {1, 3, 5, 9, 25, 35, 87, 233, 439, 563, 1719, 419, 4459, 4285, 25157, 943, 111543, 232107}}, +{20795, 18, 124346, {1, 3, 5, 11, 1, 13, 97, 153, 459, 551, 73, 2087, 3985, 4661, 15603, 22211, 123163, 187233}}, +{20796, 18, 124389, {1, 1, 7, 13, 17, 59, 5, 219, 353, 441, 387, 441, 3009, 485, 20081, 38023, 50659, 159243}}, +{20797, 18, 124418, {1, 3, 1, 7, 21, 31, 117, 49, 227, 677, 417, 1153, 1611, 1669, 25161, 52223, 15109, 114759}}, +{20798, 18, 124420, {1, 1, 7, 9, 19, 13, 111, 7, 1, 701, 731, 2075, 685, 15679, 19149, 44315, 41719, 243975}}, +{20799, 18, 124454, {1, 3, 3, 7, 15, 63, 59, 105, 327, 39, 1497, 2407, 2865, 7065, 9957, 20031, 45359, 73657}}, +{20800, 18, 124490, {1, 3, 1, 13, 7, 3, 55, 221, 443, 953, 15, 2455, 4681, 16247, 18179, 44731, 41323, 172621}}, +{20801, 18, 124503, {1, 1, 3, 9, 1, 27, 65, 167, 115, 137, 819, 2129, 3393, 5901, 11735, 62753, 14941, 21425}}, +{20802, 18, 124519, {1, 3, 7, 11, 7, 9, 41, 175, 237, 481, 59, 265, 2135, 9419, 3937, 55959, 48343, 172549}}, +{20803, 18, 124533, {1, 1, 1, 13, 23, 33, 105, 87, 461, 297, 1345, 3715, 7715, 16369, 19017, 15141, 10873, 109641}}, +{20804, 18, 124544, {1, 3, 5, 1, 11, 1, 13, 41, 447, 511, 447, 2295, 2401, 14171, 16269, 50453, 40361, 205857}}, +{20805, 18, 124589, {1, 1, 3, 3, 27, 7, 35, 193, 113, 341, 335, 2113, 343, 4575, 20863, 40383, 86787, 142603}}, +{20806, 18, 124616, {1, 1, 7, 11, 17, 25, 51, 89, 341, 237, 1233, 1505, 7401, 6887, 26897, 20127, 51077, 107559}}, +{20807, 18, 124630, {1, 1, 1, 15, 9, 59, 29, 115, 339, 785, 201, 947, 1501, 6883, 169, 44059, 17527, 197623}}, +{20808, 18, 124636, {1, 3, 7, 3, 17, 59, 15, 5, 379, 347, 821, 4047, 3565, 13689, 23275, 27901, 121401, 43077}}, +{20809, 18, 124645, {1, 1, 1, 7, 15, 11, 35, 29, 59, 99, 181, 3035, 3239, 1553, 32319, 64195, 115247, 149211}}, +{20810, 18, 124652, {1, 1, 5, 3, 31, 49, 87, 177, 231, 167, 373, 1125, 5919, 4805, 31983, 42873, 30169, 91853}}, +{20811, 18, 124663, {1, 1, 5, 15, 7, 63, 37, 15, 459, 449, 1835, 1769, 2527, 2577, 4251, 62459, 76699, 81721}}, +{20812, 18, 124667, {1, 1, 1, 3, 21, 15, 19, 183, 423, 827, 341, 2101, 3797, 7103, 30845, 24511, 115337, 117019}}, +{20813, 18, 124690, {1, 3, 5, 5, 19, 1, 97, 13, 491, 51, 445, 1987, 7481, 2613, 23141, 36603, 26917, 177397}}, +{20814, 18, 124755, {1, 1, 1, 5, 15, 43, 21, 167, 259, 989, 1937, 1519, 2201, 13973, 18031, 31583, 57557, 252737}}, +{20815, 18, 124757, {1, 3, 3, 7, 31, 11, 89, 53, 279, 83, 1247, 1221, 5499, 1199, 361, 22269, 88633, 134975}}, +{20816, 18, 124819, {1, 1, 3, 5, 9, 5, 113, 41, 143, 655, 1147, 2043, 4229, 10523, 1453, 1735, 76259, 30607}}, +{20817, 18, 124862, {1, 1, 1, 11, 5, 7, 9, 155, 221, 619, 813, 3111, 6039, 10789, 10905, 33285, 62841, 229217}}, +{20818, 18, 124864, {1, 3, 5, 9, 19, 19, 123, 65, 419, 597, 87, 3843, 4857, 15903, 23655, 13023, 8389, 230803}}, +{20819, 18, 124874, {1, 3, 3, 15, 9, 19, 51, 223, 197, 759, 139, 59, 6547, 1043, 5077, 55267, 23681, 17099}}, +{20820, 18, 124882, {1, 1, 3, 3, 15, 43, 63, 85, 227, 961, 1043, 1069, 6557, 7499, 31639, 4345, 26991, 132783}}, +{20821, 18, 124903, {1, 3, 1, 1, 25, 33, 59, 219, 435, 105, 1001, 323, 2729, 12517, 16607, 57533, 101167, 53829}}, +{20822, 18, 124915, {1, 3, 7, 7, 9, 55, 3, 247, 303, 453, 861, 817, 705, 14337, 15965, 28867, 126763, 204005}}, +{20823, 18, 124938, {1, 1, 3, 7, 1, 39, 15, 39, 359, 313, 1753, 2835, 387, 16223, 10945, 19481, 19995, 29989}}, +{20824, 18, 124945, {1, 1, 1, 5, 3, 31, 103, 123, 493, 1023, 119, 2175, 2273, 11637, 21605, 23349, 100759, 41227}}, +{20825, 18, 124973, {1, 3, 7, 13, 5, 13, 17, 7, 341, 945, 621, 1421, 3893, 5825, 26777, 35497, 13791, 25415}}, +{20826, 18, 124986, {1, 1, 5, 1, 19, 27, 39, 7, 177, 749, 1217, 2133, 6913, 13489, 23713, 1085, 31529, 179741}}, +{20827, 18, 124991, {1, 3, 3, 3, 15, 21, 5, 145, 281, 131, 1347, 19, 4917, 8655, 2515, 36927, 56551, 202039}}, +{20828, 18, 125011, {1, 1, 3, 7, 27, 31, 33, 255, 511, 195, 1493, 2221, 2157, 9303, 3957, 14163, 70435, 215763}}, +{20829, 18, 125014, {1, 3, 3, 15, 31, 41, 33, 37, 239, 865, 375, 2217, 809, 11961, 29393, 52145, 76223, 202623}}, +{20830, 18, 125082, {1, 3, 5, 11, 5, 57, 73, 193, 341, 843, 1817, 231, 65, 5941, 29693, 31751, 57081, 180977}}, +{20831, 18, 125105, {1, 3, 1, 9, 29, 57, 85, 107, 343, 891, 465, 2413, 1965, 7303, 7461, 25857, 110517, 16995}}, +{20832, 18, 125163, {1, 1, 7, 15, 7, 49, 121, 211, 253, 511, 1385, 1205, 33, 7713, 20059, 47353, 3267, 215759}}, +{20833, 18, 125165, {1, 1, 3, 9, 15, 63, 45, 155, 415, 589, 651, 3707, 5429, 4497, 13733, 21231, 18953, 28671}}, +{20834, 18, 125205, {1, 1, 5, 15, 7, 57, 31, 109, 427, 921, 629, 3439, 7615, 4535, 1507, 58931, 49597, 214397}}, +{20835, 18, 125219, {1, 3, 3, 5, 21, 35, 9, 241, 67, 767, 659, 1639, 7797, 5209, 14851, 55311, 108549, 175937}}, +{20836, 18, 125239, {1, 1, 7, 15, 21, 61, 13, 47, 267, 269, 1169, 257, 2481, 8345, 1061, 28119, 127197, 95379}}, +{20837, 18, 125240, {1, 1, 3, 7, 21, 35, 121, 223, 145, 665, 1389, 2105, 5499, 1377, 32417, 39027, 5335, 248315}}, +{20838, 18, 125257, {1, 3, 3, 9, 13, 33, 57, 225, 123, 703, 1049, 709, 7347, 11317, 12339, 23247, 62157, 85931}}, +{20839, 18, 125284, {1, 3, 3, 3, 5, 3, 105, 115, 13, 675, 757, 987, 6429, 13017, 21347, 38829, 82153, 220677}}, +{20840, 18, 125302, {1, 3, 1, 13, 5, 51, 75, 205, 7, 561, 207, 1133, 3303, 1889, 17093, 5933, 48109, 244387}}, +{20841, 18, 125327, {1, 3, 3, 7, 11, 11, 71, 243, 235, 941, 1875, 2387, 1139, 16275, 4537, 18791, 67927, 156759}}, +{20842, 18, 125336, {1, 3, 5, 5, 11, 35, 29, 5, 351, 223, 847, 1539, 4903, 7619, 24907, 37071, 57899, 32981}}, +{20843, 18, 125355, {1, 3, 1, 7, 23, 7, 119, 17, 123, 845, 1423, 2995, 3595, 13287, 31217, 33939, 6891, 156477}}, +{20844, 18, 125363, {1, 1, 1, 9, 11, 55, 121, 85, 175, 757, 1093, 513, 1117, 14049, 22377, 4623, 38511, 51391}}, +{20845, 18, 125365, {1, 1, 7, 1, 17, 1, 7, 185, 173, 841, 61, 2735, 6679, 7617, 17309, 58047, 11791, 228635}}, +{20846, 18, 125372, {1, 1, 5, 5, 1, 1, 61, 57, 37, 857, 531, 2655, 1907, 4245, 3047, 50489, 93447, 116637}}, +{20847, 18, 125378, {1, 3, 5, 7, 27, 47, 121, 95, 73, 63, 539, 137, 1765, 4659, 31141, 24495, 109541, 16421}}, +{20848, 18, 125383, {1, 3, 7, 13, 13, 25, 47, 45, 97, 243, 1509, 3539, 4791, 5627, 31981, 57663, 65359, 32183}}, +{20849, 18, 125387, {1, 1, 1, 7, 15, 57, 117, 249, 183, 849, 557, 833, 5751, 8035, 3371, 11389, 125581, 248799}}, +{20850, 18, 125390, {1, 3, 1, 15, 13, 31, 59, 243, 17, 473, 289, 1527, 649, 2807, 6183, 6173, 74381, 261673}}, +{20851, 18, 125414, {1, 1, 7, 7, 19, 17, 95, 81, 191, 487, 2023, 307, 3261, 13885, 9285, 30831, 114009, 26483}}, +{20852, 18, 125435, {1, 1, 3, 11, 17, 21, 85, 193, 477, 267, 393, 39, 5793, 8621, 25379, 9721, 13947, 44235}}, +{20853, 18, 125466, {1, 1, 7, 5, 27, 33, 93, 9, 471, 751, 1279, 695, 2625, 7061, 29577, 5403, 80705, 77895}}, +{20854, 18, 125481, {1, 1, 3, 11, 7, 25, 125, 9, 233, 935, 1897, 3685, 595, 15499, 43, 29251, 18029, 250231}}, +{20855, 18, 125522, {1, 1, 5, 1, 9, 55, 125, 179, 287, 371, 233, 149, 5639, 5737, 25251, 103, 117015, 35579}}, +{20856, 18, 125531, {1, 1, 5, 9, 17, 33, 69, 15, 209, 521, 1083, 2469, 679, 9307, 31539, 63889, 48825, 126327}}, +{20857, 18, 125544, {1, 3, 5, 15, 15, 41, 105, 121, 21, 935, 721, 445, 6759, 4227, 15227, 54933, 69589, 2689}}, +{20858, 18, 125564, {1, 1, 7, 15, 1, 15, 111, 141, 279, 1013, 825, 1069, 3793, 12929, 153, 11463, 87759, 179987}}, +{20859, 18, 125588, {1, 1, 1, 9, 15, 59, 109, 103, 223, 695, 1979, 1241, 2559, 8627, 10559, 53319, 94311, 245193}}, +{20860, 18, 125602, {1, 1, 5, 3, 1, 41, 51, 129, 297, 15, 637, 2489, 343, 13549, 7707, 36757, 55703, 161043}}, +{20861, 18, 125613, {1, 3, 5, 1, 13, 35, 119, 219, 319, 733, 789, 1343, 8035, 15049, 981, 14477, 13717, 177481}}, +{20862, 18, 125621, {1, 1, 1, 11, 5, 17, 3, 43, 129, 705, 1701, 3635, 1201, 12283, 27443, 54257, 102281, 211859}}, +{20863, 18, 125648, {1, 3, 1, 13, 7, 63, 9, 45, 283, 41, 801, 131, 2797, 13329, 19011, 21055, 122965, 7961}}, +{20864, 18, 125651, {1, 3, 3, 5, 9, 27, 99, 129, 499, 523, 1939, 3661, 455, 12601, 11723, 3727, 32671, 78251}}, +{20865, 18, 125681, {1, 3, 7, 5, 9, 57, 63, 47, 49, 745, 945, 2927, 6659, 1023, 9991, 55379, 105295, 259901}}, +{20866, 18, 125719, {1, 1, 3, 3, 3, 47, 15, 237, 193, 409, 1165, 3581, 719, 3049, 14679, 31559, 7825, 96083}}, +{20867, 18, 125773, {1, 1, 7, 11, 9, 55, 29, 123, 163, 415, 2013, 97, 1471, 1409, 28867, 50405, 99417, 57113}}, +{20868, 18, 125774, {1, 1, 7, 15, 5, 17, 57, 123, 25, 119, 1699, 1289, 3139, 7177, 13465, 33583, 34517, 182669}}, +{20869, 18, 125779, {1, 1, 3, 1, 15, 45, 79, 7, 461, 223, 691, 3071, 6233, 14997, 4083, 65391, 60571, 82929}}, +{20870, 18, 125786, {1, 3, 5, 1, 25, 39, 89, 105, 497, 685, 1921, 133, 4849, 8467, 609, 62183, 123787, 223025}}, +{20871, 18, 125792, {1, 1, 1, 13, 3, 57, 117, 241, 501, 107, 1253, 3097, 603, 10645, 3395, 13997, 112527, 208263}}, +{20872, 18, 125822, {1, 1, 7, 9, 7, 31, 25, 97, 205, 785, 517, 549, 6841, 7097, 9635, 17151, 57135, 105469}}, +{20873, 18, 125828, {1, 3, 7, 1, 25, 35, 43, 75, 179, 1023, 1921, 1529, 2791, 6747, 9135, 61801, 46729, 26821}}, +{20874, 18, 125831, {1, 1, 3, 1, 31, 49, 107, 219, 285, 501, 1503, 3103, 5257, 14561, 31493, 7753, 34375, 260357}}, +{20875, 18, 125837, {1, 3, 7, 13, 15, 7, 75, 57, 329, 67, 1541, 2445, 3069, 6723, 10189, 22913, 110781, 243765}}, +{20876, 18, 125880, {1, 1, 5, 3, 5, 45, 47, 39, 493, 787, 1019, 3933, 535, 1763, 139, 45967, 123167, 115019}}, +{20877, 18, 125891, {1, 3, 1, 3, 23, 59, 93, 139, 349, 973, 1401, 2109, 701, 461, 19199, 21733, 80009, 37239}}, +{20878, 18, 125922, {1, 1, 3, 5, 3, 39, 117, 77, 257, 117, 1991, 3371, 509, 3963, 14579, 62459, 52281, 99209}}, +{20879, 18, 125928, {1, 3, 1, 15, 29, 47, 73, 157, 429, 497, 39, 123, 4851, 12871, 4567, 29453, 90777, 188683}}, +{20880, 18, 125931, {1, 3, 3, 1, 17, 25, 5, 247, 61, 81, 1555, 2167, 6003, 15911, 16023, 7841, 50731, 229163}}, +{20881, 18, 125941, {1, 1, 5, 9, 9, 39, 89, 37, 105, 133, 333, 2863, 7249, 2355, 9407, 28145, 25923, 68827}}, +{20882, 18, 125948, {1, 3, 7, 13, 15, 55, 11, 93, 197, 447, 1793, 1793, 4639, 1869, 1711, 1439, 15899, 106931}}, +{20883, 18, 125960, {1, 1, 5, 13, 23, 11, 67, 155, 511, 363, 1073, 2249, 719, 11167, 7953, 21699, 55735, 47353}}, +{20884, 18, 125973, {1, 1, 3, 3, 21, 59, 123, 227, 65, 695, 1769, 4057, 7071, 1827, 13639, 45711, 84019, 96897}}, +{20885, 18, 126014, {1, 3, 1, 11, 25, 51, 57, 139, 147, 589, 1565, 511, 3629, 7329, 9565, 62893, 85789, 112047}}, +{20886, 18, 126016, {1, 3, 5, 5, 23, 11, 93, 75, 25, 947, 1489, 4081, 3395, 4655, 27853, 41299, 89447, 100971}}, +{20887, 18, 126036, {1, 3, 5, 11, 25, 63, 93, 227, 411, 49, 403, 437, 1739, 8453, 31693, 51439, 89729, 113405}}, +{20888, 18, 126043, {1, 3, 7, 9, 29, 13, 51, 155, 403, 627, 173, 2111, 833, 11453, 17673, 7121, 52943, 114835}}, +{20889, 18, 126062, {1, 1, 5, 13, 11, 11, 105, 101, 309, 577, 1003, 3667, 3489, 11807, 6119, 13773, 89879, 12391}}, +{20890, 18, 126076, {1, 3, 7, 9, 17, 11, 111, 239, 225, 723, 933, 3353, 2003, 5273, 207, 38539, 82539, 209781}}, +{20891, 18, 126116, {1, 1, 7, 13, 15, 53, 69, 105, 155, 445, 353, 617, 5625, 13439, 29223, 60439, 119635, 49643}}, +{20892, 18, 126125, {1, 1, 3, 11, 13, 25, 107, 27, 109, 313, 1721, 2647, 1861, 10631, 17131, 31365, 65319, 102905}}, +{20893, 18, 126145, {1, 1, 1, 7, 21, 29, 39, 167, 341, 115, 1523, 2209, 95, 4399, 3881, 38875, 107691, 132471}}, +{20894, 18, 126152, {1, 1, 1, 13, 15, 61, 125, 23, 301, 407, 1497, 3731, 7013, 5405, 31233, 51701, 45619, 107407}}, +{20895, 18, 126175, {1, 3, 5, 5, 31, 27, 77, 21, 339, 1013, 371, 19, 5733, 2177, 15547, 27595, 6805, 172695}}, +{20896, 18, 126188, {1, 3, 5, 11, 5, 15, 71, 23, 441, 169, 1715, 437, 1791, 293, 13441, 11225, 119119, 223035}}, +{20897, 18, 126199, {1, 3, 1, 5, 11, 15, 95, 127, 433, 789, 899, 2591, 2339, 8237, 20765, 32897, 51511, 58437}}, +{20898, 18, 126205, {1, 3, 5, 9, 11, 57, 103, 5, 401, 51, 1813, 923, 1983, 1853, 21913, 3051, 56309, 19423}}, +{20899, 18, 126213, {1, 1, 3, 15, 3, 3, 41, 5, 231, 35, 391, 185, 7585, 1005, 20311, 11193, 18275, 114131}}, +{20900, 18, 126220, {1, 1, 3, 9, 13, 13, 115, 203, 223, 575, 459, 1839, 3949, 16027, 23137, 13723, 19195, 249337}}, +{20901, 18, 126286, {1, 1, 1, 9, 21, 51, 39, 245, 187, 609, 319, 2927, 3625, 10789, 31291, 45557, 45935, 132447}}, +{20902, 18, 126294, {1, 3, 3, 9, 25, 37, 47, 55, 219, 409, 1927, 553, 3953, 6209, 11807, 11133, 48047, 132437}}, +{20903, 18, 126300, {1, 3, 1, 13, 23, 31, 109, 167, 281, 179, 233, 1603, 7391, 9091, 27021, 31213, 13093, 86017}}, +{20904, 18, 126322, {1, 3, 1, 13, 13, 15, 7, 29, 409, 59, 505, 1307, 6247, 6055, 5531, 59727, 58069, 84049}}, +{20905, 18, 126324, {1, 1, 5, 7, 19, 7, 103, 245, 133, 609, 1087, 2365, 3341, 1689, 18841, 19625, 47413, 63445}}, +{20906, 18, 126343, {1, 1, 7, 3, 11, 27, 79, 75, 97, 355, 493, 2035, 3413, 11835, 9157, 51173, 1, 71797}}, +{20907, 18, 126344, {1, 1, 5, 5, 29, 1, 43, 135, 473, 329, 1197, 1693, 3823, 7723, 24771, 22349, 94383, 41461}}, +{20908, 18, 126430, {1, 3, 3, 15, 25, 9, 79, 213, 317, 615, 541, 441, 505, 13665, 3691, 17825, 49303, 91783}}, +{20909, 18, 126433, {1, 3, 1, 11, 27, 33, 65, 31, 469, 799, 1251, 3357, 5239, 5651, 13317, 28553, 64225, 9805}}, +{20910, 18, 126448, {1, 1, 7, 13, 9, 49, 77, 43, 363, 719, 1943, 1285, 1587, 1047, 29419, 24025, 89901, 229095}}, +{20911, 18, 126451, {1, 1, 1, 15, 19, 57, 33, 243, 111, 183, 497, 603, 923, 1957, 6493, 11833, 7331, 229975}}, +{20912, 18, 126457, {1, 3, 1, 1, 13, 43, 31, 25, 169, 303, 69, 723, 1745, 1025, 14301, 2523, 111887, 179519}}, +{20913, 18, 126458, {1, 3, 1, 5, 31, 55, 11, 103, 391, 881, 1885, 3923, 7507, 377, 29331, 32167, 56915, 44211}}, +{20914, 18, 126463, {1, 1, 7, 1, 27, 55, 33, 141, 393, 73, 701, 3173, 973, 15553, 10219, 51441, 55201, 131055}}, +{20915, 18, 126470, {1, 1, 3, 9, 1, 31, 115, 85, 173, 227, 163, 157, 5569, 8291, 27163, 7581, 8699, 104523}}, +{20916, 18, 126484, {1, 1, 1, 5, 5, 19, 11, 55, 217, 571, 1001, 945, 6237, 1993, 11809, 63893, 60081, 102997}}, +{20917, 18, 126518, {1, 3, 3, 15, 15, 7, 51, 161, 147, 263, 1701, 1079, 3027, 11779, 24885, 16127, 68985, 162975}}, +{20918, 18, 126521, {1, 3, 1, 9, 25, 1, 47, 107, 149, 997, 1779, 2905, 4951, 10345, 31059, 63831, 117219, 251935}}, +{20919, 18, 126547, {1, 3, 3, 9, 5, 23, 83, 95, 399, 343, 1597, 1733, 5959, 9685, 4721, 59109, 113633, 80365}}, +{20920, 18, 126556, {1, 1, 7, 11, 31, 43, 71, 133, 305, 529, 645, 3095, 6273, 4019, 14433, 41609, 64093, 79051}}, +{20921, 18, 126583, {1, 3, 5, 11, 1, 63, 123, 25, 245, 583, 1013, 3275, 2997, 13021, 27515, 16233, 113093, 249101}}, +{20922, 18, 126584, {1, 1, 1, 9, 3, 59, 113, 155, 125, 423, 259, 1559, 3745, 9105, 27673, 36601, 36117, 47953}}, +{20923, 18, 126633, {1, 3, 3, 7, 19, 41, 55, 87, 53, 801, 661, 329, 3391, 7581, 25487, 25751, 120171, 35953}}, +{20924, 18, 126673, {1, 1, 7, 15, 31, 57, 49, 179, 147, 139, 957, 289, 4321, 8747, 53, 46003, 40219, 96855}}, +{20925, 18, 126680, {1, 1, 7, 9, 29, 49, 71, 101, 389, 793, 1355, 3263, 6331, 4869, 28479, 8335, 74653, 8519}}, +{20926, 18, 126686, {1, 1, 1, 13, 1, 19, 31, 161, 261, 679, 1115, 985, 2855, 4395, 15087, 18593, 98535, 52537}}, +{20927, 18, 126689, {1, 1, 3, 11, 15, 51, 79, 7, 75, 75, 753, 2637, 7193, 7961, 21411, 24273, 7543, 6277}}, +{20928, 18, 126702, {1, 3, 1, 5, 5, 51, 67, 191, 201, 777, 587, 1439, 1027, 3759, 31141, 42159, 58475, 7355}}, +{20929, 18, 126710, {1, 3, 5, 3, 15, 37, 11, 251, 53, 799, 739, 2225, 6985, 9183, 12341, 29963, 44101, 23889}}, +{20930, 18, 126722, {1, 1, 3, 3, 5, 33, 81, 223, 89, 531, 301, 305, 2401, 4015, 18607, 65041, 82447, 228487}}, +{20931, 18, 126787, {1, 3, 1, 7, 15, 29, 71, 247, 445, 1005, 1229, 3897, 899, 11175, 6349, 29145, 103153, 90275}}, +{20932, 18, 126789, {1, 3, 3, 7, 15, 7, 75, 13, 417, 719, 121, 1345, 3737, 4119, 15259, 33579, 57727, 111517}}, +{20933, 18, 126794, {1, 3, 7, 3, 31, 11, 49, 61, 405, 741, 1607, 1561, 4655, 9775, 14349, 27431, 91791, 228607}}, +{20934, 18, 126801, {1, 3, 5, 13, 17, 27, 93, 153, 99, 683, 219, 3783, 6963, 1633, 6621, 8133, 5111, 57333}}, +{20935, 18, 126857, {1, 3, 3, 3, 25, 29, 75, 155, 159, 25, 637, 3053, 4737, 5831, 9651, 45331, 100407, 188607}}, +{20936, 18, 126891, {1, 3, 1, 9, 21, 55, 123, 27, 509, 227, 1569, 1379, 7137, 11749, 14257, 38349, 459, 54873}}, +{20937, 18, 126896, {1, 1, 7, 15, 29, 35, 81, 79, 237, 155, 1551, 343, 5127, 3233, 3691, 59917, 7367, 181979}}, +{20938, 18, 126902, {1, 3, 1, 15, 1, 57, 111, 121, 375, 635, 1529, 635, 2337, 6553, 22067, 36047, 80099, 116411}}, +{20939, 18, 126911, {1, 1, 3, 3, 29, 27, 19, 3, 69, 197, 1829, 1907, 5901, 12651, 3295, 7805, 57871, 47571}}, +{20940, 18, 126919, {1, 1, 1, 13, 21, 5, 115, 51, 203, 991, 1731, 1101, 1607, 14323, 12233, 48047, 33969, 147621}}, +{20941, 18, 126943, {1, 3, 3, 1, 25, 55, 41, 31, 101, 551, 1519, 1915, 6961, 13919, 15339, 13141, 107625, 9247}}, +{20942, 18, 126947, {1, 1, 7, 11, 17, 25, 87, 175, 341, 445, 1813, 2995, 3217, 6015, 1637, 65243, 72743, 248715}}, +{20943, 18, 126949, {1, 1, 5, 13, 11, 1, 61, 139, 233, 167, 1363, 1991, 7999, 16289, 25595, 8915, 32205, 169963}}, +{20944, 18, 126953, {1, 1, 1, 13, 31, 33, 67, 57, 121, 477, 755, 2035, 3683, 16205, 5511, 25615, 5169, 128843}}, +{20945, 18, 126971, {1, 3, 5, 15, 31, 1, 89, 29, 493, 379, 1627, 491, 2503, 8105, 30275, 27379, 43905, 46397}}, +{20946, 18, 126976, {1, 1, 7, 9, 31, 41, 127, 121, 61, 561, 223, 3231, 7321, 3683, 15455, 8019, 116739, 96557}}, +{20947, 18, 126982, {1, 1, 5, 9, 19, 41, 25, 65, 111, 535, 611, 1631, 4251, 107, 19787, 40749, 65701, 48749}}, +{20948, 18, 127009, {1, 3, 3, 11, 27, 49, 75, 93, 15, 937, 1517, 1577, 7485, 8713, 15979, 13799, 103057, 144799}}, +{20949, 18, 127021, {1, 1, 7, 7, 7, 29, 3, 63, 177, 781, 2001, 315, 6703, 8055, 19081, 33641, 44279, 87597}}, +{20950, 18, 127027, {1, 1, 7, 11, 29, 53, 83, 223, 275, 951, 1883, 2447, 1815, 9313, 9247, 17185, 8143, 135247}}, +{20951, 18, 127039, {1, 1, 5, 13, 21, 47, 87, 55, 169, 95, 777, 2787, 7227, 11373, 16707, 28237, 30789, 64589}}, +{20952, 18, 127041, {1, 1, 1, 11, 15, 41, 1, 55, 337, 493, 1379, 2505, 6831, 10955, 1875, 21821, 54101, 9379}}, +{20953, 18, 127044, {1, 3, 5, 15, 27, 9, 121, 49, 439, 781, 1457, 1341, 7433, 5879, 13039, 24001, 64059, 157077}}, +{20954, 18, 127059, {1, 1, 1, 9, 19, 55, 89, 37, 255, 345, 215, 4067, 8151, 14253, 12121, 3637, 29185, 60643}}, +{20955, 18, 127071, {1, 3, 1, 7, 31, 39, 71, 29, 71, 83, 1249, 871, 8037, 1001, 25245, 26651, 34509, 123607}}, +{20956, 18, 127075, {1, 1, 3, 11, 13, 21, 15, 171, 255, 373, 429, 2179, 4431, 16087, 17949, 16307, 129877, 186495}}, +{20957, 18, 127126, {1, 3, 3, 9, 17, 45, 75, 175, 3, 403, 215, 1781, 7875, 14113, 6967, 65263, 125885, 232983}}, +{20958, 18, 127129, {1, 1, 7, 9, 21, 57, 73, 105, 163, 583, 587, 2743, 2199, 5187, 5571, 56399, 797, 192405}}, +{20959, 18, 127145, {1, 1, 1, 3, 29, 27, 71, 145, 11, 455, 1505, 2789, 4083, 12345, 14785, 4981, 95121, 134977}}, +{20960, 18, 127154, {1, 1, 1, 1, 1, 27, 1, 145, 473, 483, 83, 3009, 7241, 13633, 15071, 30767, 128103, 94727}}, +{20961, 18, 127165, {1, 3, 5, 15, 17, 51, 71, 21, 237, 65, 901, 3365, 7831, 3027, 8751, 14435, 79445, 172587}}, +{20962, 18, 127171, {1, 1, 5, 1, 9, 49, 49, 31, 395, 339, 343, 1813, 2607, 9347, 11239, 6761, 127623, 43459}}, +{20963, 18, 127197, {1, 1, 1, 1, 13, 23, 71, 131, 225, 229, 117, 889, 8145, 5953, 10679, 38687, 80029, 63689}}, +{20964, 18, 127198, {1, 1, 5, 1, 29, 1, 87, 181, 441, 353, 257, 335, 203, 10897, 24085, 26967, 62573, 170285}}, +{20965, 18, 127207, {1, 1, 7, 3, 3, 39, 47, 135, 353, 977, 89, 259, 6411, 5511, 10697, 57623, 27367, 108451}}, +{20966, 18, 127226, {1, 3, 3, 11, 9, 57, 95, 211, 237, 281, 1703, 2107, 2179, 3411, 32621, 5387, 29971, 102889}}, +{20967, 18, 127240, {1, 1, 1, 13, 27, 49, 47, 49, 413, 985, 649, 1245, 807, 13637, 21741, 32565, 80135, 127971}}, +{20968, 18, 127254, {1, 3, 7, 13, 3, 19, 57, 97, 493, 597, 135, 1689, 5011, 4579, 6093, 28341, 37279, 142197}}, +{20969, 18, 127269, {1, 3, 1, 15, 15, 31, 3, 89, 327, 107, 827, 1111, 261, 6211, 4359, 38553, 43297, 75057}}, +{20970, 18, 127305, {1, 1, 1, 9, 19, 19, 53, 195, 141, 297, 141, 3859, 4173, 12243, 31399, 6353, 110505, 172219}}, +{20971, 18, 127323, {1, 3, 3, 9, 31, 51, 59, 53, 55, 723, 1575, 3399, 8057, 12317, 8393, 1719, 96987, 228955}}, +{20972, 18, 127342, {1, 1, 7, 11, 19, 59, 41, 9, 217, 267, 629, 2977, 4515, 463, 31773, 61765, 78827, 51331}}, +{20973, 18, 127347, {1, 3, 3, 13, 9, 55, 51, 177, 183, 431, 555, 3573, 7977, 3067, 21111, 12971, 78283, 260721}}, +{20974, 18, 127363, {1, 1, 1, 11, 27, 5, 89, 69, 435, 199, 221, 1017, 7703, 7469, 7755, 46319, 37941, 55285}}, +{20975, 18, 127394, {1, 1, 7, 13, 19, 55, 53, 207, 367, 177, 1483, 2857, 3753, 5493, 13349, 14033, 7933, 93457}}, +{20976, 18, 127426, {1, 1, 7, 3, 27, 35, 19, 223, 341, 137, 1195, 1263, 5937, 13517, 55, 6391, 106173, 176503}}, +{20977, 18, 127432, {1, 3, 7, 11, 23, 25, 37, 103, 351, 945, 1205, 2543, 3875, 155, 27777, 36647, 47979, 25113}}, +{20978, 18, 127440, {1, 1, 3, 15, 25, 59, 79, 39, 17, 553, 1119, 3353, 2619, 3851, 5945, 47501, 17369, 89355}}, +{20979, 18, 127462, {1, 1, 1, 13, 9, 55, 13, 173, 207, 925, 1855, 1871, 7851, 1361, 20117, 51677, 77703, 51309}}, +{20980, 18, 127468, {1, 3, 1, 1, 31, 57, 3, 25, 329, 927, 1683, 1447, 6853, 103, 9549, 21393, 415, 122749}}, +{20981, 18, 127473, {1, 1, 5, 5, 31, 61, 31, 213, 85, 531, 931, 999, 1189, 5189, 15127, 47799, 70769, 81901}}, +{20982, 18, 127486, {1, 1, 3, 1, 5, 59, 89, 53, 105, 761, 313, 3013, 4093, 9595, 4287, 51505, 20095, 232933}}, +{20983, 18, 127502, {1, 1, 7, 7, 23, 9, 41, 29, 399, 395, 759, 2541, 2373, 15365, 12083, 49579, 34401, 168121}}, +{20984, 18, 127510, {1, 1, 3, 1, 7, 23, 37, 183, 205, 377, 1081, 1081, 7767, 363, 14571, 16265, 18267, 102155}}, +{20985, 18, 127523, {1, 3, 3, 15, 19, 11, 59, 59, 465, 437, 965, 3707, 3505, 14785, 23605, 12505, 130607, 40693}}, +{20986, 18, 127543, {1, 1, 3, 13, 5, 15, 91, 33, 235, 215, 1997, 2035, 7407, 3203, 27143, 14007, 96411, 593}}, +{20987, 18, 127567, {1, 3, 7, 1, 19, 51, 1, 69, 489, 629, 1731, 393, 6807, 10521, 23971, 45649, 105183, 207351}}, +{20988, 18, 127570, {1, 3, 5, 3, 5, 41, 89, 141, 469, 177, 109, 2439, 7155, 2083, 31993, 13933, 100557, 137255}}, +{20989, 18, 127585, {1, 1, 7, 15, 21, 45, 41, 197, 365, 177, 61, 811, 2535, 5219, 3689, 53129, 42063, 60759}}, +{20990, 18, 127588, {1, 3, 5, 1, 23, 7, 19, 193, 253, 793, 539, 3747, 2611, 16211, 17199, 14875, 95377, 6999}}, +{20991, 18, 127619, {1, 1, 3, 5, 9, 5, 9, 129, 217, 473, 151, 3053, 6981, 8075, 32121, 31995, 41271, 208927}}, +{20992, 18, 127621, {1, 1, 5, 9, 9, 9, 89, 139, 381, 937, 1937, 1879, 8191, 2237, 25629, 51471, 87639, 173697}}, +{20993, 18, 127626, {1, 1, 5, 9, 17, 35, 81, 223, 161, 315, 139, 2597, 2599, 16191, 2567, 54947, 8603, 121589}}, +{20994, 18, 127628, {1, 1, 5, 5, 9, 7, 33, 49, 49, 723, 1013, 1055, 4025, 1471, 30081, 17475, 127931, 63723}}, +{20995, 18, 127640, {1, 3, 7, 7, 9, 49, 107, 17, 335, 119, 1959, 3613, 8129, 11033, 12197, 23803, 112595, 131655}}, +{20996, 18, 127662, {1, 3, 5, 11, 3, 45, 91, 17, 181, 1005, 985, 3045, 853, 8181, 5517, 48515, 16225, 237151}}, +{20997, 18, 127684, {1, 1, 3, 1, 3, 63, 35, 135, 61, 383, 1233, 675, 151, 2157, 18711, 37113, 40353, 61783}}, +{20998, 18, 127687, {1, 3, 5, 5, 29, 3, 105, 11, 351, 761, 165, 911, 6903, 10111, 1779, 24601, 3177, 110301}}, +{20999, 18, 127693, {1, 1, 3, 15, 25, 19, 73, 237, 263, 161, 731, 3853, 7705, 14497, 30799, 32979, 100729, 21761}}, +{21000, 18, 127696, {1, 1, 3, 5, 27, 9, 3, 149, 207, 715, 1435, 2563, 2451, 7951, 26313, 55115, 99423, 231639}}, +{21001, 18, 127708, {1, 1, 5, 15, 11, 51, 13, 47, 311, 969, 2013, 357, 4847, 1831, 2235, 22779, 32375, 40893}}, +{21002, 18, 127711, {1, 1, 3, 9, 21, 45, 11, 99, 275, 849, 443, 1257, 7855, 9121, 6549, 20289, 101337, 13869}}, +{21003, 18, 127722, {1, 1, 1, 15, 25, 27, 15, 111, 215, 437, 1923, 1985, 4603, 15469, 6667, 17941, 50433, 152759}}, +{21004, 18, 127732, {1, 3, 7, 15, 7, 37, 119, 53, 337, 853, 1785, 3507, 3743, 14303, 22757, 5149, 1539, 227051}}, +{21005, 18, 127747, {1, 1, 3, 13, 11, 23, 55, 19, 495, 531, 1021, 3831, 5993, 15819, 2121, 52773, 19775, 94643}}, +{21006, 18, 127767, {1, 1, 3, 3, 23, 55, 55, 69, 457, 755, 1187, 3993, 613, 12691, 1779, 21251, 2293, 236725}}, +{21007, 18, 127771, {1, 1, 5, 9, 23, 27, 61, 125, 113, 99, 503, 699, 6873, 13141, 10649, 65209, 21773, 162749}}, +{21008, 18, 127790, {1, 1, 1, 11, 15, 27, 111, 227, 493, 361, 1071, 607, 1409, 9281, 24515, 26739, 82421, 30463}}, +{21009, 18, 127816, {1, 3, 5, 1, 11, 57, 23, 239, 265, 675, 441, 4031, 5163, 15729, 2741, 26037, 32533, 140645}}, +{21010, 18, 127824, {1, 3, 3, 7, 3, 45, 105, 135, 493, 579, 1707, 2933, 1135, 11891, 3171, 45401, 24993, 175681}}, +{21011, 18, 127833, {1, 1, 1, 11, 11, 3, 67, 213, 483, 9, 1053, 213, 3205, 8487, 16093, 7305, 122591, 31811}}, +{21012, 18, 127869, {1, 1, 5, 13, 19, 31, 13, 65, 29, 929, 343, 463, 1885, 13467, 14997, 22737, 42869, 128239}}, +{21013, 18, 127910, {1, 3, 3, 13, 9, 47, 125, 33, 475, 285, 1901, 2525, 305, 11587, 27309, 30037, 70681, 180425}}, +{21014, 18, 127928, {1, 3, 5, 15, 9, 37, 45, 149, 19, 135, 555, 4037, 5173, 12473, 983, 40923, 28561, 185941}}, +{21015, 18, 127933, {1, 3, 3, 9, 23, 35, 35, 151, 113, 885, 1553, 2233, 351, 4071, 28127, 26109, 12299, 163973}}, +{21016, 18, 127963, {1, 3, 3, 11, 17, 55, 125, 87, 315, 917, 383, 2397, 1573, 9255, 10499, 16051, 99487, 139415}}, +{21017, 18, 127975, {1, 1, 3, 1, 29, 21, 101, 153, 5, 705, 1965, 1447, 8163, 13547, 25929, 28569, 57897, 173229}}, +{21018, 18, 128016, {1, 1, 7, 15, 3, 37, 113, 213, 495, 935, 529, 2299, 6901, 1765, 4255, 14579, 14175, 112333}}, +{21019, 18, 128031, {1, 3, 3, 9, 11, 53, 89, 27, 461, 235, 1525, 3533, 3061, 4351, 12847, 21649, 10843, 60901}}, +{21020, 18, 128059, {1, 1, 5, 1, 17, 11, 17, 157, 387, 887, 2017, 3641, 923, 12659, 19691, 18657, 3127, 218819}}, +{21021, 18, 128074, {1, 3, 1, 9, 5, 3, 49, 215, 379, 765, 1375, 345, 2285, 8197, 9531, 6725, 22475, 203883}}, +{21022, 18, 128107, {1, 1, 3, 9, 19, 41, 13, 233, 97, 755, 249, 2011, 5815, 6317, 4121, 63637, 43353, 154753}}, +{21023, 18, 128122, {1, 3, 7, 15, 31, 25, 93, 197, 455, 979, 1805, 2619, 803, 5705, 1679, 29317, 66477, 159187}}, +{21024, 18, 128157, {1, 1, 1, 13, 11, 25, 61, 233, 339, 171, 559, 427, 3239, 8889, 3711, 19743, 18099, 49201}}, +{21025, 18, 128161, {1, 3, 7, 13, 19, 5, 9, 183, 355, 137, 1767, 1113, 1149, 5791, 4099, 37911, 75945, 115397}}, +{21026, 18, 128200, {1, 1, 3, 13, 27, 25, 121, 3, 337, 195, 1841, 2009, 4181, 3197, 20275, 42493, 7495, 24407}}, +{21027, 18, 128213, {1, 1, 1, 15, 3, 43, 39, 25, 57, 829, 565, 1977, 4027, 11053, 13961, 13965, 4207, 1663}}, +{21028, 18, 128229, {1, 3, 5, 9, 11, 7, 107, 205, 479, 961, 1549, 1701, 6305, 15419, 23331, 46443, 55171, 235109}}, +{21029, 18, 128233, {1, 3, 5, 5, 19, 3, 39, 211, 429, 363, 765, 283, 2469, 1947, 10481, 1969, 95545, 187671}}, +{21030, 18, 128241, {1, 1, 1, 1, 11, 55, 47, 121, 251, 63, 767, 3673, 3233, 14865, 25713, 48443, 79139, 225021}}, +{21031, 18, 128259, {1, 1, 3, 11, 25, 35, 57, 103, 385, 155, 173, 4023, 489, 1733, 14423, 61843, 24793, 9871}}, +{21032, 18, 128295, {1, 3, 1, 15, 9, 29, 99, 187, 471, 877, 1321, 2489, 7439, 4259, 32703, 1459, 42093, 261097}}, +{21033, 18, 128299, {1, 1, 3, 11, 9, 25, 113, 251, 337, 405, 847, 2451, 5649, 3449, 11703, 18271, 108005, 208789}}, +{21034, 18, 128313, {1, 3, 3, 7, 13, 53, 61, 251, 461, 461, 1557, 1215, 6731, 13349, 21003, 11573, 66751, 79733}}, +{21035, 18, 128345, {1, 1, 5, 1, 23, 49, 101, 175, 251, 577, 1667, 2561, 6545, 16305, 18457, 65067, 35843, 123445}}, +{21036, 18, 128362, {1, 1, 5, 3, 7, 9, 61, 107, 395, 137, 559, 2315, 2559, 11929, 4843, 41661, 61361, 146163}}, +{21037, 18, 128375, {1, 3, 1, 5, 1, 3, 43, 251, 329, 289, 323, 2201, 4129, 4963, 27477, 18743, 46551, 93061}}, +{21038, 18, 128376, {1, 1, 7, 3, 17, 63, 21, 159, 447, 377, 69, 2517, 8181, 6043, 3039, 7747, 72465, 41027}}, +{21039, 18, 128406, {1, 1, 1, 1, 13, 3, 45, 93, 391, 509, 867, 1561, 5017, 11851, 24891, 22531, 18993, 129421}}, +{21040, 18, 128410, {1, 3, 3, 11, 15, 1, 127, 9, 161, 321, 2003, 239, 1379, 11903, 13503, 26529, 57725, 214797}}, +{21041, 18, 128416, {1, 1, 1, 13, 31, 11, 17, 25, 1, 645, 675, 735, 2083, 1919, 18977, 4995, 91559, 230463}}, +{21042, 18, 128443, {1, 3, 1, 13, 17, 21, 107, 167, 135, 797, 715, 3275, 5437, 4253, 11671, 14867, 36041, 71751}}, +{21043, 18, 128451, {1, 3, 5, 5, 11, 49, 93, 231, 431, 567, 1605, 3281, 7049, 2947, 863, 39593, 117167, 167301}}, +{21044, 18, 128465, {1, 1, 1, 1, 5, 13, 61, 91, 127, 189, 1879, 3921, 4303, 4831, 6765, 31005, 107627, 80693}}, +{21045, 18, 128466, {1, 3, 1, 3, 1, 49, 61, 9, 467, 891, 105, 317, 137, 12789, 12367, 57455, 39777, 88047}}, +{21046, 18, 128484, {1, 1, 3, 13, 23, 63, 37, 103, 23, 223, 647, 2523, 3211, 14551, 22663, 48237, 54777, 180297}}, +{21047, 18, 128499, {1, 3, 3, 7, 29, 51, 85, 179, 441, 431, 535, 2975, 8083, 8619, 30229, 31421, 54063, 163601}}, +{21048, 18, 128502, {1, 3, 1, 1, 27, 39, 125, 171, 57, 729, 511, 957, 7541, 2347, 1669, 32323, 108531, 69943}}, +{21049, 18, 128524, {1, 3, 3, 7, 1, 33, 89, 245, 95, 21, 699, 1441, 2659, 501, 32323, 39145, 82311, 155479}}, +{21050, 18, 128536, {1, 1, 3, 11, 29, 13, 87, 251, 329, 667, 325, 2411, 7959, 8069, 20817, 42445, 121675, 113421}}, +{21051, 18, 128541, {1, 1, 1, 7, 9, 57, 109, 237, 325, 535, 89, 1285, 5649, 13673, 29375, 51553, 81723, 11003}}, +{21052, 18, 128542, {1, 3, 1, 1, 13, 5, 31, 109, 157, 817, 1303, 725, 1841, 5503, 2255, 34637, 93603, 82825}}, +{21053, 18, 128592, {1, 3, 7, 7, 5, 33, 39, 233, 217, 157, 357, 2727, 3565, 1539, 5317, 23967, 30375, 260381}}, +{21054, 18, 128598, {1, 1, 5, 3, 23, 51, 45, 181, 353, 519, 949, 3043, 1517, 3387, 15081, 5997, 31523, 80007}}, +{21055, 18, 128623, {1, 1, 3, 5, 23, 21, 83, 51, 275, 629, 1433, 1821, 3761, 2367, 32089, 13813, 99629, 64603}}, +{21056, 18, 128632, {1, 1, 5, 15, 11, 49, 69, 197, 193, 459, 1915, 787, 3631, 5219, 11109, 12311, 56625, 117439}}, +{21057, 18, 128671, {1, 3, 3, 3, 31, 29, 57, 27, 43, 231, 777, 2139, 2609, 12273, 23777, 4151, 51749, 110013}}, +{21058, 18, 128713, {1, 1, 5, 13, 9, 63, 83, 69, 225, 913, 99, 1167, 5279, 14163, 3979, 55151, 84387, 234583}}, +{21059, 18, 128724, {1, 1, 7, 5, 9, 57, 87, 23, 335, 403, 1843, 725, 5187, 4137, 24299, 44807, 98523, 217815}}, +{21060, 18, 128731, {1, 3, 3, 3, 3, 23, 115, 229, 193, 655, 1205, 3159, 1935, 113, 20943, 32917, 69633, 2133}}, +{21061, 18, 128761, {1, 3, 3, 1, 17, 5, 59, 139, 75, 185, 1951, 3689, 4997, 2761, 8673, 41783, 75075, 101063}}, +{21062, 18, 128767, {1, 3, 1, 13, 1, 51, 63, 127, 67, 743, 1049, 2055, 4249, 131, 8153, 50237, 28135, 76059}}, +{21063, 18, 128782, {1, 3, 7, 13, 5, 39, 83, 63, 429, 573, 1915, 3801, 2223, 1585, 16997, 45571, 23311, 108099}}, +{21064, 18, 128793, {1, 3, 1, 3, 15, 49, 19, 65, 433, 401, 1901, 3653, 2399, 15171, 9695, 30257, 104877, 181221}}, +{21065, 18, 128805, {1, 3, 1, 1, 25, 37, 89, 7, 81, 343, 949, 3535, 1681, 10089, 23513, 3897, 127083, 214005}}, +{21066, 18, 128820, {1, 3, 7, 13, 1, 1, 123, 89, 433, 541, 1579, 931, 3459, 11095, 20729, 13117, 59323, 90309}}, +{21067, 18, 128830, {1, 1, 7, 1, 19, 9, 31, 211, 271, 25, 1053, 2249, 6549, 12785, 16947, 55633, 70155, 253741}}, +{21068, 18, 128842, {1, 3, 5, 9, 7, 49, 11, 251, 101, 795, 1015, 2037, 1239, 10151, 22179, 749, 2373, 224517}}, +{21069, 18, 128852, {1, 3, 7, 15, 21, 19, 15, 59, 439, 621, 1081, 3041, 1587, 3077, 2319, 51135, 110513, 222551}}, +{21070, 18, 128859, {1, 1, 5, 5, 9, 61, 49, 97, 361, 647, 351, 1977, 3023, 10213, 6889, 8753, 72203, 37521}}, +{21071, 18, 128866, {1, 3, 3, 1, 7, 29, 51, 117, 259, 81, 1263, 1829, 6541, 5699, 30367, 61325, 78795, 3491}}, +{21072, 18, 128875, {1, 1, 1, 5, 5, 23, 19, 255, 267, 251, 239, 3561, 6771, 10647, 4129, 40285, 11041, 27023}}, +{21073, 18, 128892, {1, 1, 7, 5, 29, 17, 121, 91, 427, 51, 243, 1617, 5389, 3633, 14105, 5329, 109507, 93719}}, +{21074, 18, 128896, {1, 3, 7, 5, 7, 59, 107, 89, 181, 719, 1029, 585, 2415, 9175, 11605, 9271, 12105, 42503}}, +{21075, 18, 128914, {1, 3, 5, 15, 27, 15, 83, 223, 489, 901, 1823, 1515, 6295, 12509, 27179, 181, 29813, 66163}}, +{21076, 18, 128935, {1, 1, 7, 15, 5, 9, 79, 29, 201, 391, 609, 935, 4025, 201, 8333, 24557, 33739, 257979}}, +{21077, 18, 128964, {1, 3, 3, 9, 9, 19, 55, 211, 347, 943, 559, 467, 1363, 10249, 7109, 41293, 28035, 205889}}, +{21078, 18, 128973, {1, 1, 5, 3, 21, 25, 25, 163, 95, 119, 789, 1679, 3845, 1427, 25531, 13375, 121029, 194845}}, +{21079, 18, 129001, {1, 1, 5, 3, 31, 21, 83, 27, 17, 59, 885, 3889, 4795, 4383, 28739, 55129, 10387, 176437}}, +{21080, 18, 129007, {1, 3, 1, 5, 31, 39, 37, 79, 433, 313, 1155, 3025, 6141, 10695, 27819, 28227, 32161, 250515}}, +{21081, 18, 129012, {1, 1, 5, 9, 27, 41, 3, 129, 235, 621, 1171, 3305, 6309, 5323, 15049, 16301, 13817, 238521}}, +{21082, 18, 129021, {1, 3, 7, 7, 27, 31, 63, 143, 183, 625, 1627, 3093, 6597, 14089, 30197, 60411, 66221, 221691}}, +{21083, 18, 129026, {1, 3, 7, 13, 21, 15, 59, 67, 441, 113, 1229, 1587, 5889, 6691, 10641, 11865, 89791, 82867}}, +{21084, 18, 129055, {1, 1, 7, 9, 13, 21, 53, 145, 235, 877, 2005, 1005, 7137, 6091, 19611, 25959, 124019, 216269}}, +{21085, 18, 129071, {1, 3, 7, 9, 17, 63, 5, 245, 397, 351, 1613, 4079, 7235, 4397, 18951, 11609, 71593, 148615}}, +{21086, 18, 129093, {1, 3, 3, 11, 5, 59, 65, 221, 237, 527, 861, 397, 249, 15273, 8415, 61185, 59419, 98115}}, +{21087, 18, 129105, {1, 1, 3, 5, 5, 59, 17, 247, 3, 765, 835, 1131, 3985, 9021, 18067, 28525, 86513, 250227}}, +{21088, 18, 129124, {1, 3, 7, 15, 25, 47, 119, 143, 143, 283, 1791, 59, 8171, 12577, 17079, 9809, 100299, 63977}}, +{21089, 18, 129148, {1, 3, 5, 13, 1, 47, 93, 159, 199, 863, 1279, 77, 4719, 3623, 30713, 39271, 126299, 130297}}, +{21090, 18, 129151, {1, 1, 5, 3, 23, 11, 119, 187, 57, 373, 747, 1507, 5165, 12929, 903, 49041, 70215, 117113}}, +{21091, 18, 129155, {1, 1, 5, 1, 3, 59, 23, 77, 151, 77, 627, 2865, 7055, 10469, 12095, 20481, 13429, 47573}}, +{21092, 18, 129161, {1, 3, 1, 13, 27, 13, 115, 233, 343, 407, 1321, 4011, 5589, 15369, 23495, 4435, 75421, 229325}}, +{21093, 18, 129200, {1, 3, 3, 3, 5, 51, 89, 53, 275, 279, 203, 2829, 4415, 4735, 25417, 17633, 99445, 183945}}, +{21094, 18, 129224, {1, 3, 3, 15, 7, 9, 91, 63, 143, 945, 453, 4001, 3943, 7285, 9359, 27507, 8571, 31827}}, +{21095, 18, 129230, {1, 3, 3, 11, 15, 49, 103, 25, 273, 791, 145, 2203, 4721, 7709, 25085, 33937, 98693, 97445}}, +{21096, 18, 129237, {1, 1, 5, 15, 9, 13, 87, 27, 331, 137, 1031, 585, 7841, 12213, 32259, 46953, 17813, 203379}}, +{21097, 18, 129298, {1, 3, 1, 5, 29, 53, 121, 179, 21, 311, 991, 2145, 6577, 12889, 8763, 46629, 128093, 105033}}, +{21098, 18, 129300, {1, 3, 1, 9, 7, 29, 57, 137, 333, 109, 615, 749, 2665, 13087, 13989, 41857, 102937, 125183}}, +{21099, 18, 129316, {1, 1, 5, 5, 3, 23, 107, 5, 319, 503, 1209, 47, 349, 11681, 28521, 44707, 112887, 232275}}, +{21100, 18, 129345, {1, 3, 3, 13, 13, 51, 13, 5, 293, 15, 555, 135, 2565, 13325, 30411, 14837, 65591, 249205}}, +{21101, 18, 129351, {1, 3, 5, 13, 17, 3, 73, 255, 447, 699, 503, 3655, 7735, 12163, 6167, 15027, 103831, 146395}}, +{21102, 18, 129352, {1, 3, 1, 13, 5, 9, 27, 45, 397, 463, 1739, 3193, 6731, 7533, 11217, 22359, 82603, 231613}}, +{21103, 18, 129363, {1, 1, 3, 15, 5, 43, 73, 191, 53, 187, 1905, 745, 1571, 9013, 8515, 59527, 104671, 227063}}, +{21104, 18, 129393, {1, 1, 3, 1, 5, 47, 57, 179, 433, 979, 147, 1701, 4019, 6855, 24487, 65495, 69919, 6659}}, +{21105, 18, 129410, {1, 3, 3, 1, 17, 17, 13, 75, 163, 781, 421, 1573, 2519, 9243, 20693, 60909, 65661, 208125}}, +{21106, 18, 129415, {1, 3, 5, 7, 27, 57, 39, 79, 157, 415, 729, 3651, 3581, 9443, 6409, 45993, 99051, 140977}}, +{21107, 18, 129449, {1, 3, 3, 13, 1, 7, 109, 77, 423, 185, 97, 3719, 2355, 10593, 2421, 37339, 24961, 24305}}, +{21108, 18, 129477, {1, 3, 5, 13, 17, 7, 125, 43, 453, 43, 643, 3757, 3721, 16083, 20871, 26451, 95201, 29153}}, +{21109, 18, 129501, {1, 1, 7, 3, 13, 49, 99, 253, 59, 21, 445, 3677, 6683, 2165, 32367, 55249, 5991, 155033}}, +{21110, 18, 129518, {1, 1, 3, 9, 21, 9, 15, 219, 175, 631, 665, 2455, 4701, 10639, 13907, 26937, 58867, 259861}}, +{21111, 18, 129520, {1, 3, 5, 5, 23, 5, 39, 233, 27, 811, 1435, 625, 4703, 3699, 20763, 50047, 123875, 10129}}, +{21112, 18, 129545, {1, 1, 7, 5, 23, 1, 49, 223, 309, 691, 953, 575, 5279, 10515, 11519, 35387, 48417, 134001}}, +{21113, 18, 129563, {1, 1, 7, 11, 3, 15, 125, 109, 39, 713, 1823, 1613, 4347, 6839, 29511, 26865, 102077, 31425}}, +{21114, 18, 129594, {1, 1, 1, 7, 31, 43, 13, 221, 115, 993, 1155, 1641, 1063, 2065, 18909, 45769, 65331, 188455}}, +{21115, 18, 129608, {1, 1, 7, 13, 21, 9, 59, 7, 79, 217, 2009, 667, 7685, 14761, 20149, 44133, 41037, 78369}}, +{21116, 18, 129616, {1, 3, 1, 9, 23, 57, 1, 193, 77, 681, 1135, 3657, 8149, 3559, 25011, 55027, 121903, 240157}}, +{21117, 18, 129652, {1, 3, 3, 5, 31, 41, 59, 5, 159, 627, 1569, 23, 2311, 2239, 20811, 54931, 130949, 193071}}, +{21118, 18, 129659, {1, 1, 1, 1, 27, 45, 43, 1, 381, 801, 451, 1361, 1611, 5379, 27819, 8949, 4953, 222335}}, +{21119, 18, 129680, {1, 1, 7, 7, 7, 11, 101, 17, 197, 561, 297, 159, 7443, 7273, 819, 23487, 24927, 151781}}, +{21120, 18, 129692, {1, 3, 1, 3, 15, 43, 119, 193, 205, 835, 7, 689, 8045, 11167, 19521, 65075, 87265, 53669}}, +{21121, 18, 129738, {1, 3, 7, 7, 9, 51, 43, 209, 239, 415, 995, 4037, 1219, 2683, 30459, 36161, 111157, 184551}}, +{21122, 18, 129764, {1, 3, 7, 11, 27, 3, 81, 43, 407, 463, 231, 3545, 2691, 5235, 22053, 37233, 98757, 149111}}, +{21123, 18, 129782, {1, 3, 1, 5, 17, 25, 47, 185, 487, 403, 1063, 1445, 4457, 15443, 11693, 54823, 131001, 9813}}, +{21124, 18, 129793, {1, 3, 5, 3, 5, 35, 127, 253, 173, 491, 133, 3575, 1981, 12735, 26021, 61615, 74615, 159829}}, +{21125, 18, 129820, {1, 1, 5, 9, 13, 37, 67, 155, 317, 389, 603, 4061, 3527, 9315, 32331, 43145, 82511, 240133}}, +{21126, 18, 129824, {1, 1, 5, 1, 21, 41, 89, 3, 61, 627, 1301, 2073, 447, 8139, 2509, 52075, 50687, 240239}}, +{21127, 18, 129829, {1, 3, 7, 13, 25, 61, 117, 107, 175, 7, 1173, 561, 5777, 10525, 20713, 34987, 48005, 214361}}, +{21128, 18, 129848, {1, 3, 7, 15, 25, 31, 127, 147, 177, 881, 95, 2115, 4765, 10485, 9253, 721, 193, 222459}}, +{21129, 18, 129854, {1, 3, 5, 3, 3, 13, 47, 77, 441, 1001, 215, 2365, 3603, 405, 11401, 14523, 65755, 258229}}, +{21130, 18, 129861, {1, 1, 3, 9, 19, 29, 71, 153, 77, 613, 1815, 2033, 1821, 15497, 18805, 28851, 88247, 143115}}, +{21131, 18, 129879, {1, 3, 1, 11, 21, 19, 37, 35, 427, 887, 1977, 1961, 3619, 10739, 30115, 55937, 102045, 110929}}, +{21132, 18, 129886, {1, 3, 3, 13, 21, 27, 49, 15, 405, 629, 2015, 867, 2121, 13789, 19225, 22343, 105629, 123113}}, +{21133, 18, 129907, {1, 1, 1, 1, 17, 19, 55, 207, 507, 1001, 1753, 315, 2799, 8643, 1519, 4057, 16599, 222223}}, +{21134, 18, 129949, {1, 1, 5, 7, 21, 37, 63, 53, 103, 261, 595, 389, 6041, 11127, 23625, 61683, 80953, 255891}}, +{21135, 18, 129953, {1, 1, 1, 5, 25, 21, 81, 233, 79, 57, 1311, 3965, 7747, 687, 32149, 397, 4551, 37657}}, +{21136, 18, 129980, {1, 1, 1, 5, 9, 19, 87, 67, 325, 157, 317, 591, 1401, 8275, 20413, 39529, 75349, 183679}}, +{21137, 18, 129998, {1, 3, 3, 15, 9, 3, 83, 205, 195, 599, 829, 3109, 3705, 13991, 8781, 41555, 31689, 86933}}, +{21138, 18, 130031, {1, 3, 5, 1, 3, 9, 37, 235, 271, 883, 561, 1473, 7693, 177, 14113, 19507, 75221, 67517}}, +{21139, 18, 130043, {1, 1, 1, 9, 7, 29, 87, 189, 239, 429, 537, 1657, 6373, 2449, 17621, 19649, 77235, 102775}}, +{21140, 18, 130057, {1, 1, 7, 7, 1, 43, 69, 207, 241, 561, 1809, 3119, 4657, 15797, 18751, 52169, 105005, 172657}}, +{21141, 18, 130065, {1, 1, 7, 5, 5, 59, 67, 231, 27, 435, 1073, 2689, 229, 733, 1579, 52289, 110285, 76721}}, +{21142, 18, 130087, {1, 3, 5, 9, 31, 19, 87, 41, 489, 705, 1363, 963, 5865, 8237, 10295, 43169, 81561, 177209}}, +{21143, 18, 130091, {1, 3, 3, 1, 25, 39, 63, 255, 403, 625, 1601, 71, 6609, 4165, 21987, 31269, 25473, 17063}}, +{21144, 18, 130096, {1, 3, 3, 11, 19, 13, 101, 245, 17, 687, 1037, 3345, 7257, 13081, 5131, 29003, 72319, 223505}}, +{21145, 18, 130101, {1, 3, 3, 3, 11, 49, 107, 29, 463, 465, 977, 4007, 2121, 4821, 1465, 53725, 36783, 247057}}, +{21146, 18, 130111, {1, 1, 1, 3, 1, 43, 71, 49, 261, 965, 1041, 3951, 3791, 2503, 26009, 52039, 4639, 141281}}, +{21147, 18, 130126, {1, 1, 3, 5, 29, 45, 79, 33, 119, 491, 1403, 1637, 853, 5609, 29853, 16435, 117877, 58443}}, +{21148, 18, 130137, {1, 1, 3, 5, 13, 17, 109, 187, 201, 705, 235, 1485, 7673, 6335, 3341, 20451, 64697, 129519}}, +{21149, 18, 130138, {1, 1, 7, 13, 11, 41, 95, 81, 135, 783, 1293, 2095, 3599, 10175, 3205, 56915, 131, 19281}}, +{21150, 18, 130149, {1, 3, 5, 9, 13, 19, 53, 223, 283, 733, 1915, 3029, 2779, 8133, 28163, 37263, 91245, 1927}}, +{21151, 18, 130177, {1, 3, 3, 3, 1, 55, 41, 123, 209, 195, 1423, 2467, 3809, 11169, 23593, 8703, 40975, 175651}}, +{21152, 18, 130180, {1, 3, 7, 9, 31, 57, 31, 115, 415, 445, 557, 3971, 1565, 15223, 7799, 10463, 117387, 225127}}, +{21153, 18, 130214, {1, 3, 5, 11, 31, 19, 3, 63, 315, 501, 903, 1925, 3393, 16149, 11013, 15483, 70765, 279}}, +{21154, 18, 130228, {1, 3, 3, 9, 29, 21, 13, 227, 263, 815, 1259, 2549, 955, 9237, 16083, 38891, 31145, 731}}, +{21155, 18, 130240, {1, 3, 3, 5, 27, 23, 33, 189, 107, 655, 889, 1549, 7315, 13341, 12721, 59339, 54503, 91679}}, +{21156, 18, 130267, {1, 3, 7, 5, 15, 9, 1, 255, 451, 91, 1279, 2359, 5913, 5215, 23161, 29327, 45275, 206709}}, +{21157, 18, 130280, {1, 3, 3, 9, 9, 41, 75, 91, 87, 695, 335, 3375, 7307, 14095, 5359, 7815, 9339, 46387}}, +{21158, 18, 130294, {1, 1, 3, 15, 5, 47, 69, 231, 423, 255, 1335, 3395, 2799, 8955, 31445, 59849, 104955, 240587}}, +{21159, 18, 130306, {1, 3, 5, 7, 7, 9, 21, 209, 321, 5, 653, 2199, 3657, 6397, 20229, 32349, 54543, 47971}}, +{21160, 18, 130325, {1, 3, 7, 11, 31, 21, 85, 49, 197, 865, 53, 609, 1867, 14503, 12671, 61703, 39245, 8493}}, +{21161, 18, 130398, {1, 3, 1, 13, 27, 31, 119, 247, 209, 65, 1729, 1563, 1597, 1617, 26597, 50139, 108667, 77035}}, +{21162, 18, 130402, {1, 1, 5, 13, 3, 49, 53, 219, 71, 1013, 1239, 3725, 117, 9273, 8277, 32619, 45933, 71509}}, +{21163, 18, 130421, {1, 3, 7, 13, 1, 3, 119, 153, 79, 555, 429, 1221, 3725, 6073, 1295, 7187, 117709, 258911}}, +{21164, 18, 130438, {1, 3, 3, 13, 1, 13, 105, 185, 81, 989, 563, 3761, 6725, 4699, 10539, 50247, 95307, 211927}}, +{21165, 18, 130441, {1, 3, 7, 3, 21, 11, 45, 81, 495, 391, 1437, 3495, 3789, 13701, 9479, 42505, 22561, 135019}}, +{21166, 18, 130475, {1, 3, 3, 11, 7, 61, 65, 211, 269, 997, 385, 3843, 4905, 2939, 28551, 19515, 25177, 68137}}, +{21167, 18, 130486, {1, 1, 3, 3, 3, 47, 73, 127, 15, 977, 209, 1791, 4711, 6733, 29093, 36311, 13665, 240603}}, +{21168, 18, 130503, {1, 3, 5, 5, 19, 39, 29, 211, 463, 755, 1723, 397, 213, 14009, 22701, 7131, 35587, 183885}}, +{21169, 18, 130551, {1, 3, 5, 9, 11, 29, 7, 25, 381, 631, 1343, 2255, 2535, 3239, 7287, 14161, 69295, 85245}}, +{21170, 18, 130574, {1, 1, 5, 5, 17, 47, 19, 217, 289, 411, 1855, 323, 4109, 2601, 5835, 61909, 99333, 99959}}, +{21171, 18, 130602, {1, 1, 3, 11, 1, 51, 121, 207, 403, 993, 1171, 3451, 3389, 957, 22125, 9333, 110775, 54125}}, +{21172, 18, 130612, {1, 3, 5, 15, 9, 51, 13, 251, 203, 861, 321, 2017, 6933, 10785, 20089, 65213, 105451, 117319}}, +{21173, 18, 130621, {1, 3, 3, 15, 19, 63, 89, 217, 269, 723, 57, 1923, 4267, 4895, 2191, 21605, 62401, 11063}}, +{21174, 18, 130633, {1, 3, 1, 3, 21, 47, 103, 75, 167, 989, 1401, 575, 3717, 10373, 21321, 5487, 36063, 140411}}, +{21175, 18, 130684, {1, 1, 7, 15, 19, 29, 121, 197, 429, 773, 901, 1875, 291, 11395, 31459, 55041, 49263, 185143}}, +{21176, 18, 130688, {1, 3, 3, 1, 19, 17, 19, 21, 41, 885, 1665, 547, 5887, 6205, 3317, 59399, 125559, 82721}}, +{21177, 18, 130698, {1, 3, 1, 9, 15, 39, 81, 9, 279, 33, 1287, 3035, 5759, 10647, 3933, 20953, 3137, 30693}}, +{21178, 18, 130700, {1, 3, 5, 13, 3, 33, 33, 169, 233, 83, 467, 3719, 5617, 6165, 15631, 56059, 95541, 245233}}, +{21179, 18, 130712, {1, 3, 5, 13, 5, 21, 81, 9, 413, 247, 1307, 3363, 3383, 11525, 1259, 8735, 36507, 98359}}, +{21180, 18, 130739, {1, 1, 1, 13, 17, 49, 105, 131, 385, 309, 1295, 565, 8031, 15391, 31263, 52657, 102721, 212195}}, +{21181, 18, 130748, {1, 3, 1, 7, 13, 41, 21, 103, 237, 649, 55, 1565, 6327, 8743, 15457, 29975, 34165, 80839}}, +{21182, 18, 130774, {1, 3, 5, 11, 15, 31, 121, 219, 375, 159, 731, 59, 3205, 15039, 10023, 46209, 34619, 110253}}, +{21183, 18, 130783, {1, 3, 3, 11, 31, 19, 79, 185, 363, 635, 463, 987, 2681, 6405, 30077, 21173, 14213, 58095}}, +{21184, 18, 130802, {1, 1, 5, 13, 23, 37, 57, 111, 293, 553, 269, 3393, 345, 1983, 1097, 47217, 22281, 212607}}, +{21185, 18, 130811, {1, 3, 5, 7, 7, 33, 65, 61, 185, 411, 187, 641, 6437, 4625, 17547, 38941, 81119, 48651}}, +{21186, 18, 130836, {1, 1, 7, 3, 19, 25, 39, 243, 139, 465, 691, 713, 7879, 14539, 31669, 35871, 130681, 255929}}, +{21187, 18, 130840, {1, 3, 1, 1, 3, 43, 87, 13, 179, 835, 719, 1189, 7207, 5863, 6077, 20669, 35469, 211155}}, +{21188, 18, 130856, {1, 3, 7, 13, 25, 59, 97, 129, 151, 985, 739, 1919, 7729, 14057, 21721, 17603, 82797, 181319}}, +{21189, 18, 130864, {1, 1, 7, 7, 5, 3, 21, 141, 379, 257, 207, 597, 4051, 7563, 25481, 59427, 45449, 61159}}, +{21190, 18, 130873, {1, 3, 3, 9, 11, 25, 5, 29, 131, 603, 637, 189, 4033, 13099, 15219, 4447, 73501, 135795}}, +{21191, 18, 130918, {1, 3, 1, 9, 1, 49, 57, 227, 141, 543, 1499, 3525, 3127, 11191, 4071, 47003, 7431, 155137}}, +{21192, 18, 130927, {1, 3, 1, 11, 27, 31, 15, 31, 113, 135, 1251, 245, 6965, 14263, 5679, 55201, 121453, 132503}}, +{21193, 18, 130929, {1, 1, 5, 15, 7, 23, 67, 163, 57, 513, 1809, 1343, 6165, 199, 31169, 30803, 86705, 71103}}, +{21194, 18, 130958, {1, 1, 3, 1, 15, 9, 75, 143, 273, 797, 819, 4037, 2305, 4841, 15697, 41191, 38187, 174131}}, +{21195, 18, 130966, {1, 3, 7, 7, 3, 55, 65, 135, 423, 185, 299, 2221, 7987, 4223, 28183, 32273, 95941, 260297}}, +{21196, 18, 130970, {1, 1, 7, 7, 7, 11, 67, 109, 507, 673, 1555, 2537, 7553, 4659, 3945, 20839, 32539, 43053}}, +{21197, 18, 130976, {1, 1, 7, 15, 1, 47, 61, 73, 211, 397, 1785, 4063, 6461, 13725, 11299, 17565, 80063, 118271}}, +{21198, 18, 131006, {1, 1, 7, 5, 29, 27, 97, 105, 379, 153, 915, 2795, 4933, 6729, 21207, 9995, 70241, 85641}}, +{21199, 18, 131008, {1, 3, 5, 5, 23, 13, 41, 67, 127, 649, 1351, 3597, 7077, 4989, 14649, 17401, 70883, 239841}}, +{21200, 18, 131020, {1, 1, 5, 1, 19, 1, 83, 3, 425, 873, 1943, 3935, 4257, 14587, 11829, 55217, 21963, 39683}}, +{21201, 18, 131059, {1, 1, 7, 11, 15, 7, 37, 239, 337, 245, 1557, 3681, 7357, 9639, 27367, 26869, 114603, 86317}} +}; + +void sobol_generate_direction_vectors(unsigned int vectors[][SOBOL_BITS], int dimensions) +{ + assert(dimensions <= SOBOL_MAX_DIMENSIONS); + + const unsigned int L = SOBOL_BITS; + + /* first dimension is exception */ + unsigned int *v = vectors[0]; + + for(unsigned int i = 0; i < L; i++) + v[i] = 1 << (31-i); // all m's = 1 + + for(int dim = 1; dim < dimensions; dim++) { + SobolDirectionNumbers *numbers = &SOBOL_NUMBERS[dim-1]; + unsigned int s = numbers->s; + unsigned int a = numbers->a; + unsigned int *m = numbers->m; + + v = vectors[dim]; + + if(L <= s) { + for(unsigned int i = 0; i < L; i++) + v[i] = m[i] << (31-i); + } + else { + for(unsigned int i = 0; i < s; i++) + v[i] = m[i] << (31-i); + + for(unsigned int i = s; i < L; i++) { + v[i] = v[i-s] ^ (v[i-s] >> s); + + for(unsigned int k = 1; k < s; k++) + v[i] ^= (((a >> (s-1-k)) & 1) * v[i-k]); + } + } + } +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/sobol.h b/intern/cycles/render/sobol.h new file mode 100644 index 00000000000..bfc2f5512aa --- /dev/null +++ b/intern/cycles/render/sobol.h @@ -0,0 +1,32 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __SOBOL_H__ +#define __SOBOL_H__ + +CCL_NAMESPACE_BEGIN + +#define SOBOL_BITS 32 +#define SOBOL_MAX_DIMENSIONS 21201 + +void sobol_generate_direction_vectors(unsigned int vectors[][SOBOL_BITS], int dimensions); + +CCL_NAMESPACE_END + +#endif /* __SOBOL_H__ */ + diff --git a/intern/cycles/render/svm.cpp b/intern/cycles/render/svm.cpp new file mode 100644 index 00000000000..da52eaecc18 --- /dev/null +++ b/intern/cycles/render/svm.cpp @@ -0,0 +1,537 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "device.h" +#include "graph.h" +#include "light.h" +#include "mesh.h" +#include "scene.h" +#include "shader.h" +#include "svm.h" + +#include "util_debug.h" +#include "util_foreach.h" +#include "util_progress.h" + +CCL_NAMESPACE_BEGIN + +/* Shader Manager */ + +SVMShaderManager::SVMShaderManager() +{ +} + +SVMShaderManager::~SVMShaderManager() +{ +} + +void SVMShaderManager::device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress) +{ + if(!need_update) + return; + + /* test if we need to update */ + device_free(device, dscene); + + /* svm_nodes */ + vector svm_nodes; + size_t i; + + for(i = 0; i < scene->shaders.size(); i++) { + svm_nodes.push_back(make_int4(NODE_SHADER_JUMP, 0, 0, 0)); + svm_nodes.push_back(make_int4(NODE_SHADER_JUMP, 0, 0, 0)); + } + + bool sunsky_done = false; + + for(i = 0; i < scene->shaders.size(); i++) { + Shader *shader = scene->shaders[i]; + + if(progress.get_cancel()) return; + + assert(shader->graph); + + if(shader->has_surface_emission) + scene->light_manager->need_update = true; + + SVMCompiler compiler(scene->shader_manager, scene->image_manager); + compiler.sunsky = (sunsky_done)? NULL: &dscene->data.sunsky; + compiler.background = ((int)i == scene->default_background); + compiler.compile(shader, svm_nodes, i); + if(!compiler.sunsky) + sunsky_done = true; + } + + dscene->svm_nodes.copy((uint4*)&svm_nodes[0], svm_nodes.size()); + device->tex_alloc("__svm_nodes", dscene->svm_nodes); + + for(i = 0; i < scene->shaders.size(); i++) { + Shader *shader = scene->shaders[i]; + shader->need_update = false; + } + + need_update = false; +} + +void SVMShaderManager::device_free(Device *device, DeviceScene *dscene) +{ + device->tex_free(dscene->svm_nodes); + dscene->svm_nodes.clear(); +} + +/* Graph Compiler */ + +SVMCompiler::SVMCompiler(ShaderManager *shader_manager_, ImageManager *image_manager_) +{ + shader_manager = shader_manager_; + image_manager = image_manager_; + sunsky = NULL; + max_stack_use = 0; + current_type = SHADER_TYPE_SURFACE; + current_shader = NULL; + background = false; +} + +int SVMCompiler::stack_size(ShaderSocketType type) +{ + if(type == SHADER_SOCKET_FLOAT) + return 1; + else if(type == SHADER_SOCKET_COLOR) + return 3; + else if(type == SHADER_SOCKET_VECTOR) + return 3; + else if(type == SHADER_SOCKET_NORMAL) + return 3; + else if(type == SHADER_SOCKET_POINT) + return 3; + else if(type == SHADER_SOCKET_CLOSURE) + return 0; + + assert(0); + return 0; +} + +int SVMCompiler::stack_find_offset(ShaderSocketType type) +{ + int size = stack_size(type); + int offset = -1; + + /* find free space in stack & mark as used */ + for(int i = 0, num_unused = 0; i < SVM_STACK_SIZE; i++) { + if(active_stack.users[i]) num_unused = 0; + else num_unused++; + + if(num_unused == size) { + offset = i+1 - size; + max_stack_use = max(i+1, max_stack_use); + + while(i >= offset) + active_stack.users[i--] = 1; + + return offset; + } + } + + fprintf(stderr, "Out of SVM stack space.\n"); + assert(0); + + return offset; +} + +void SVMCompiler::stack_assign(ShaderInput *input) +{ + /* stack offset assign? */ + if(input->stack_offset == SVM_STACK_INVALID) { + if(input->link) { + /* linked to output -> use output offset */ + input->stack_offset = input->link->stack_offset; + } + else { + /* not linked to output -> add nodes to load default value */ + input->stack_offset = stack_find_offset(input->type); + + if(input->type == SHADER_SOCKET_FLOAT) { + add_node(NODE_VALUE_F, __float_as_int(input->value.x), input->stack_offset); + } + else if(input->type == SHADER_SOCKET_VECTOR || + input->type == SHADER_SOCKET_NORMAL || + input->type == SHADER_SOCKET_POINT || + input->type == SHADER_SOCKET_COLOR) { + + add_node(NODE_VALUE_V, input->stack_offset); + add_node(NODE_VALUE_V, input->value); + } + else /* should not get called for closure */ + assert(0); + } + } +} + +void SVMCompiler::stack_assign(ShaderOutput *output) +{ + /* if no stack offset assigned yet, find one */ + if(output->stack_offset == SVM_STACK_INVALID) + output->stack_offset = stack_find_offset(output->type); +} + +void SVMCompiler::stack_link(ShaderInput *input, ShaderOutput *output) +{ + if(output->stack_offset == SVM_STACK_INVALID) { + assert(input->link); + assert(stack_size(output->type) == stack_size(input->link->type)); + + output->stack_offset = input->link->stack_offset; + + int size = stack_size(output->type); + + for(int i = 0; i < size; i++) + active_stack.users[output->stack_offset + i]++; + } +} + +void SVMCompiler::stack_clear_users(ShaderNode *node, set& done) +{ + /* optimization we should add: + find and lower user counts for outputs for which all inputs are done. + this is done before the node is compiled, under the assumption that the + node will first load all inputs from the stack and then writes its + outputs. this used to work, but was disabled because it gave trouble + with inputs getting stack positions assigned */ + + foreach(ShaderInput *input, node->inputs) { + ShaderOutput *output = input->link; + + if(output && output->stack_offset != SVM_STACK_INVALID) { + bool all_done = true; + + /* optimization we should add: verify if in->parent is actually used */ + foreach(ShaderInput *in, output->links) + if(in->parent != node && done.find(in->parent) == done.end()) + all_done = false; + + if(all_done) { + int size = stack_size(output->type); + + for(int i = 0; i < size; i++) + active_stack.users[output->stack_offset + i]--; + } + } + } +} + +void SVMCompiler::stack_clear_temporary(ShaderNode *node) +{ + foreach(ShaderInput *input, node->inputs) { + if(!input->link && input->stack_offset != SVM_STACK_INVALID) { + int size = stack_size(input->type); + + for(int i = 0; i < size; i++) + active_stack.users[input->stack_offset + i]--; + } + } +} + +uint SVMCompiler::encode_uchar4(uint x, uint y, uint z, uint w) +{ + assert(x <= 255); + assert(y <= 255); + assert(z <= 255); + assert(w <= 255); + + return (x) | (y << 8) | (z << 16) | (w << 24); +} + +void SVMCompiler::add_node(int a, int b, int c, int d) +{ + svm_nodes.push_back(make_int4(a, b, c, d)); +} + +void SVMCompiler::add_node(NodeType type, int a, int b, int c) +{ + svm_nodes.push_back(make_int4(type, a, b, c)); +} + +void SVMCompiler::add_node(NodeType type, const float3& f) +{ + svm_nodes.push_back(make_int4(type, + __float_as_int(f.x), + __float_as_int(f.y), + __float_as_int(f.z))); +} + +void SVMCompiler::add_node(const float4& f) +{ + svm_nodes.push_back(make_int4( + __float_as_int(f.x), + __float_as_int(f.y), + __float_as_int(f.z), + __float_as_int(f.w))); +} + +uint SVMCompiler::attribute(ustring name) +{ + return shader_manager->get_attribute_id(name); +} + +uint SVMCompiler::attribute(Attribute::Standard std) +{ + return shader_manager->get_attribute_id(std); +} + +bool SVMCompiler::node_skip_input(ShaderNode *node, ShaderInput *input) +{ + /* nasty exception .. */ + if(current_type == SHADER_TYPE_DISPLACEMENT && input->link && input->link->parent->name == ustring("bump")) + return true; + + return false; +} + +void SVMCompiler::find_dependencies(set& dependencies, const set& done, ShaderInput *input) +{ + ShaderNode *node = (input->link)? input->link->parent: NULL; + + if(node && done.find(node) == done.end()) { + foreach(ShaderInput *in, node->inputs) + if(!node_skip_input(node, in)) + find_dependencies(dependencies, done, in); + + dependencies.insert(node); + } +} + +void SVMCompiler::generate_svm_nodes(const set& nodes, set& done) +{ + bool nodes_done; + + do { + nodes_done = true; + + foreach(ShaderNode *node, nodes) { + if(done.find(node) == done.end()) { + bool inputs_done = true; + + foreach(ShaderInput *input, node->inputs) + if(!node_skip_input(node, input)) + if(input->link && done.find(input->link->parent) == done.end()) + inputs_done = false; + + if(inputs_done) { + node->compile(*this); + stack_clear_users(node, done); + stack_clear_temporary(node); + done.insert(node); + } + else + nodes_done = false; + } + } + } while(!nodes_done); +} + +void SVMCompiler::generate_closure(ShaderNode *node, set done, Stack stack) +{ + /* note that done and stack are passed by value, that's intentional + because different branches of the closure tree should not influence + each other */ + active_stack = stack; + + if(node->name == ustring("mix_closure") || node->name == ustring("add_closure")) { + ShaderInput *fin = node->input("Fac"); + ShaderInput *cl1in = node->input("Closure1"); + ShaderInput *cl2in = node->input("Closure2"); + + /* execute dependencies for mix weight */ + if(fin) { + set dependencies; + find_dependencies(dependencies, done, fin); + generate_svm_nodes(dependencies, done); + + /* add mix node */ + stack_assign(fin); + } + + int mix_offset = svm_nodes.size(); + + if(fin) + add_node(NODE_MIX_CLOSURE, fin->stack_offset, 0, 0); + else + add_node(NODE_ADD_CLOSURE, 0, 0, 0); + + /* generate code for closure 1 */ + if(cl1in->link) { + generate_closure(cl1in->link->parent, done, stack); + add_node(NODE_END, 0, 0, 0); + active_stack = stack; + } + else + add_node(NODE_END, 0, 0, 0); + + /* generate code for closure 2 */ + int cl2_offset = svm_nodes.size(); + + if(cl2in->link) { + generate_closure(cl2in->link->parent, done, stack); + add_node(NODE_END, 0, 0, 0); + active_stack = stack; + } + else + add_node(NODE_END, 0, 0, 0); + + /* set jump for mix node, -1 because offset is already + incremented when this jump is added to it */ + svm_nodes[mix_offset].z = cl2_offset - mix_offset - 1; + } + else { + /* execute dependencies for closure */ + foreach(ShaderInput *in, node->inputs) { + if(!node_skip_input(node, in) && in->link) { + set dependencies; + find_dependencies(dependencies, done, in); + generate_svm_nodes(dependencies, done); + } + } + + /* compile closure itself */ + node->compile(*this); + stack_clear_users(node, done); + stack_clear_temporary(node); + + if(node->name == ustring("emission")) + current_shader->has_surface_emission = true; + + /* end node is added outside of this */ + } +} + +void SVMCompiler::compile_type(Shader *shader, ShaderGraph *graph, ShaderType type) +{ + /* Converting a shader graph into svm_nodes that can be executed + * sequentially on the virtual machine is fairly simple. We can keep + * looping over nodes and each time all the inputs of a node are + * ready, we add svm_nodes for it that read the inputs from the + * stack and write outputs back to the stack. + * + * With the SVM, we always sample only a single closure. We can think + * of all closures nodes as a binary tree with mix closures as inner + * nodes and other closures as leafs. The SVM will traverse that tree, + * each time deciding to go left or right depending on the mix weights, + * until a closure is found. + * + * We only execute nodes that are needed for the mix weights and chosen + * closure. + */ + + current_type = type; + + /* get input in output node */ + ShaderNode *node = graph->output(); + ShaderInput *clin = NULL; + + if(type == SHADER_TYPE_SURFACE) + clin = node->input("Surface"); + else if(type == SHADER_TYPE_VOLUME) + clin = node->input("Volume"); + else if(type == SHADER_TYPE_DISPLACEMENT) + clin = node->input("Displacement"); + else + assert(0); + + /* clear all compiler state */ + memset(&active_stack, 0, sizeof(active_stack)); + svm_nodes.clear(); + + foreach(ShaderNode *node, graph->nodes) { + foreach(ShaderInput *input, node->inputs) + input->stack_offset = SVM_STACK_INVALID; + foreach(ShaderOutput *output, node->outputs) + output->stack_offset = SVM_STACK_INVALID; + } + + if(clin->link) { + if(type == SHADER_TYPE_SURFACE) { + /* generate surface shader */ + generate_closure(clin->link->parent, set(), Stack()); + shader->has_surface = true; + } + else if(type == SHADER_TYPE_VOLUME) { + /* generate volume shader */ + generate_closure(clin->link->parent, set(), Stack()); + shader->has_volume = true; + } + else if(type == SHADER_TYPE_DISPLACEMENT) { + /* generate displacement shader */ + generate_closure(clin->link->parent, set(), Stack()); + shader->has_displacement = true; + } + } + + /* compile output node */ + node->compile(*this); + + add_node(NODE_END, 0, 0, 0); +} + +void SVMCompiler::compile(Shader *shader, vector& global_svm_nodes, int index) +{ + /* copy graph for shader with bump mapping */ + ShaderNode *node = shader->graph->output(); + + if(node->input("Surface")->link && node->input("Displacement")->link) + if(!shader->graph_bump) + shader->graph_bump = shader->graph->copy(); + + /* finalize */ + shader->graph->finalize(false, false); + if(shader->graph_bump) + shader->graph_bump->finalize(true, false); + + current_shader = shader; + + shader->has_surface = false; + shader->has_surface_emission = false; + shader->has_volume = false; + shader->has_displacement = false; + + /* generate surface shader */ + compile_type(shader, shader->graph, SHADER_TYPE_SURFACE); + global_svm_nodes[index*2 + 0].y = global_svm_nodes.size(); + global_svm_nodes[index*2 + 1].y = global_svm_nodes.size(); + global_svm_nodes.insert(global_svm_nodes.end(), svm_nodes.begin(), svm_nodes.end()); + + if(shader->graph_bump) { + compile_type(shader, shader->graph_bump, SHADER_TYPE_SURFACE); + global_svm_nodes[index*2 + 1].y = global_svm_nodes.size(); + global_svm_nodes.insert(global_svm_nodes.end(), svm_nodes.begin(), svm_nodes.end()); + } + + /* generate volume shader */ + compile_type(shader, shader->graph, SHADER_TYPE_VOLUME); + global_svm_nodes[index*2 + 0].z = global_svm_nodes.size(); + global_svm_nodes[index*2 + 1].z = global_svm_nodes.size(); + global_svm_nodes.insert(global_svm_nodes.end(), svm_nodes.begin(), svm_nodes.end()); + + /* generate displacement shader */ + compile_type(shader, shader->graph, SHADER_TYPE_DISPLACEMENT); + global_svm_nodes[index*2 + 0].w = global_svm_nodes.size(); + global_svm_nodes[index*2 + 1].w = global_svm_nodes.size(); + global_svm_nodes.insert(global_svm_nodes.end(), svm_nodes.begin(), svm_nodes.end()); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/svm.h b/intern/cycles/render/svm.h new file mode 100644 index 00000000000..346d2a73801 --- /dev/null +++ b/intern/cycles/render/svm.h @@ -0,0 +1,104 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __SVM_H__ +#define __SVM_H__ + +#include "attribute.h" +#include "graph.h" +#include "shader.h" + +#include "util_set.h" + +CCL_NAMESPACE_BEGIN + +class Device; +class DeviceScene; +class ImageManager; +class KernelSunSky; +class Scene; +class ShaderGraph; +class ShaderInput; +class ShaderNode; +class ShaderOutput; + +/* Shader Manager */ + +class SVMShaderManager : public ShaderManager { +public: + SVMShaderManager(); + ~SVMShaderManager(); + + void device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress); + void device_free(Device *device, DeviceScene *dscene); +}; + +/* Graph Compiler */ + +class SVMCompiler { +public: + SVMCompiler(ShaderManager *shader_manager, ImageManager *image_manager); + void compile(Shader *shader, vector& svm_nodes, int index); + + void stack_assign(ShaderOutput *output); + void stack_assign(ShaderInput *input); + void stack_link(ShaderInput *input, ShaderOutput *output); + void add_node(NodeType type, int a = 0, int b = 0, int c = 0); + void add_node(int a = 0, int b = 0, int c = 0, int d = 0); + void add_node(NodeType type, const float3& f); + void add_node(const float4& f); + uint attribute(ustring name); + uint attribute(Attribute::Standard std); + uint encode_uchar4(uint x, uint y = 0, uint z = 0, uint w = 0); + + ShaderType output_type() { return current_type; } + + ImageManager *image_manager; + ShaderManager *shader_manager; + KernelSunSky *sunsky; + bool background; + +protected: + struct Stack { + int users[SVM_STACK_SIZE]; + }; + + void stack_clear_temporary(ShaderNode *node); + int stack_size(ShaderSocketType type); + int stack_find_offset(ShaderSocketType type); + void stack_clear_users(ShaderNode *node, set& done); + + bool node_skip_input(ShaderNode *node, ShaderInput *input); + + void find_dependencies(set& dependencies, const set& done, ShaderInput *input); + void generate_svm_nodes(const set& nodes, set& done); + void generate_closure(ShaderNode *node, set done, Stack stack); + + void compile_type(Shader *shader, ShaderGraph *graph, ShaderType type); + + vector svm_nodes; + ShaderType current_type; + Shader *current_shader; + Stack active_stack; + int max_stack_use; +}; + +CCL_NAMESPACE_END + +#endif /* __SVM_H__ */ + diff --git a/intern/cycles/render/tile.cpp b/intern/cycles/render/tile.cpp new file mode 100644 index 00000000000..28ea39e70ed --- /dev/null +++ b/intern/cycles/render/tile.cpp @@ -0,0 +1,116 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "tile.h" + +#include "util_algorithm.h" + +CCL_NAMESPACE_BEGIN + +TileManager::TileManager(bool progressive_, int passes_, int tile_size_, int min_size_) +{ + progressive = progressive_; + passes = passes_; + tile_size = tile_size_; + min_size = min_size_; + + reset(0, 0); +} + +TileManager::~TileManager() +{ +} + +void TileManager::reset(int width_, int height_) +{ + full_width = width_; + full_height = height_; + + start_resolution = 1; + + int w = width_, h = height_; + + if(min_size != INT_MAX) { + while(w*h > min_size*min_size) { + w = max(1, w/2); + h = max(1, h/2); + + start_resolution *= 2; + } + } + + state.width = 0; + state.height = 0; + state.pass = -1; + state.resolution = start_resolution; + state.tiles.clear(); +} + +void TileManager::set_tiles() +{ + int resolution = state.resolution; + int image_w = max(1, full_width/resolution); + int image_h = max(1, full_height/resolution); + int tile_w = (image_w + tile_size - 1)/tile_size; + int tile_h = (image_h + tile_size - 1)/tile_size; + int sub_w = image_w/tile_w; + int sub_h = image_h/tile_h; + + state.tiles.clear(); + + for(int tile_y = 0; tile_y < tile_h; tile_y++) { + for(int tile_x = 0; tile_x < tile_w; tile_x++) { + int x = tile_x * sub_w; + int y = tile_y * sub_h; + int w = (tile_x == tile_w-1)? image_w - x: sub_w; + int h = (tile_y == tile_h-1)? image_h - y: sub_h; + + state.tiles.push_back(Tile(x, y, w, h)); + } + } + + state.width = image_w; + state.height = image_h; +} + +bool TileManager::done() +{ + return (state.pass+1 >= passes); +} + +bool TileManager::next() +{ + if(done()) + return false; + + if(progressive && state.resolution > 1) { + state.pass = 0; + state.resolution /= 2; + set_tiles(); + } + else { + state.pass++; + state.resolution = 1; + set_tiles(); + } + + return true; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/render/tile.h b/intern/cycles/render/tile.h new file mode 100644 index 00000000000..c3517b1e24d --- /dev/null +++ b/intern/cycles/render/tile.h @@ -0,0 +1,73 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __TILE_H__ +#define __TILE_H__ + +#include + +#include "util_list.h" + +CCL_NAMESPACE_BEGIN + +/* Tile */ + +class Tile { +public: + int x, y, w, h; + + Tile(int x_, int y_, int w_, int h_) + : x(x_), y(y_), w(w_), h(h_) {} +}; + +/* Tile Manager */ + +class TileManager { +public: + struct State { + int width; + int height; + int pass; + int resolution; + list tiles; + } state; + + TileManager(bool progressive, int passes, int tile_size, int min_size); + ~TileManager(); + + void reset(int width, int height); + bool next(); + bool done(); + +protected: + void set_tiles(); + + bool progressive; + int passes; + int tile_size; + int min_size; + + int full_width; + int full_height; + int start_resolution; +}; + +CCL_NAMESPACE_END + +#endif /* __TILE_H__ */ + diff --git a/intern/cycles/subd/CMakeLists.txt b/intern/cycles/subd/CMakeLists.txt new file mode 100644 index 00000000000..a14bf7896d8 --- /dev/null +++ b/intern/cycles/subd/CMakeLists.txt @@ -0,0 +1,26 @@ + +INCLUDE_DIRECTORIES(. ../util ../kernel ../kernel/svm ../render) + +SET(sources + subd_build.cpp + subd_dice.cpp + subd_mesh.cpp + subd_patch.cpp + subd_ring.cpp + subd_split.cpp + subd_stencil.cpp) + +SET(headers + subd_build.h + subd_dice.h + subd_edge.h + subd_face.h + subd_mesh.h + subd_patch.h + subd_ring.h + subd_split.h + subd_stencil.h + subd_vert.h) + +ADD_LIBRARY(subd ${sources} ${headers}) + diff --git a/intern/cycles/subd/subd_build.cpp b/intern/cycles/subd/subd_build.cpp new file mode 100644 index 00000000000..4c2a6299014 --- /dev/null +++ b/intern/cycles/subd/subd_build.cpp @@ -0,0 +1,666 @@ +/* + * Copyright 2006, NVIDIA Corporation Ignacio Castano + * + * Modifications copyright (c) 2011, Blender Foundation. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include "subd_build.h" +#include "subd_edge.h" +#include "subd_face.h" +#include "subd_ring.h" +#include "subd_mesh.h" +#include "subd_patch.h" +#include "subd_stencil.h" +#include "subd_vert.h" + +#include "util_algorithm.h" +#include "util_debug.h" +#include "util_math.h" +#include "util_string.h" + +CCL_NAMESPACE_BEGIN + +/* Subd Builder */ + +SubdBuilder *SubdBuilder::create(bool linear) +{ + if(linear) + return new SubdLinearBuilder(); + else + return new SubdAccBuilder(); +} + +/* Gregory ACC Stencil */ + +class GregoryAccStencil { +public: + SubdFaceRing *ring; + StencilMask stencil[20]; + + GregoryAccStencil(SubdFaceRing *ring_) + { + ring = ring_; + + for(int i = 0; i < 20; i++) + stencil[i].resize(ring->num_verts()); + } + + StencilMask& get(int i) + { + assert(i < 20); + return stencil[i]; + } + + float& get(int i, SubdVert *vert) + { + assert(i < 20); + return stencil[i][ring->vert_index(vert)]; + } +}; + +static float pseudoValence(SubdVert *vert) +{ + float valence = (float)vert->valence(); + + if(vert->is_boundary()) { + /* we treat boundary verts as being half a closed mesh. corners are + special case. n = 4 for corners and n = 2*(n-1) for boundaries. */ + if(valence == 2) return 4; + return (valence - 1)*2; + } + + return valence; +} + +/* Subd ACC Builder */ + +SubdAccBuilder::SubdAccBuilder() +{ +} + +SubdAccBuilder::~SubdAccBuilder() +{ +} + +Patch *SubdAccBuilder::run(SubdFace *face) +{ + SubdFaceRing ring(face, face->edge); + GregoryAccStencil stencil(&ring); + float3 position[20]; + + computeCornerStencil(&ring, &stencil); + computeEdgeStencil(&ring, &stencil); + computeInteriorStencil(&ring, &stencil); + + ring.evaluate_stencils(position, stencil.stencil, 20); + + if(face->num_edges() == 3) { + GregoryTrianglePatch *patch = new GregoryTrianglePatch(); + memcpy(patch->hull, position, sizeof(float3)*20); + return patch; + } + else if(face->num_edges() == 4) { + GregoryQuadPatch *patch = new GregoryQuadPatch(); + memcpy(patch->hull, position, sizeof(float3)*20); + return patch; + } + + assert(0); /* n-gons should have been split already */ + return NULL; +} + +/* Gregory Patch */ + +void SubdAccBuilder::computeCornerStencil(SubdFaceRing *ring, GregoryAccStencil *stencil) +{ + const int cornerIndices[7] = {8, 11, 19, 16, 6, 9, 12}; + int primitiveOffset = ring->is_quad()? 0: 4; + + SubdEdge *firstEdge = ring->firstEdge(); + + /* compute corner control points */ + int v = 0; + + for(SubdFace::EdgeIterator it(firstEdge); !it.isDone(); it.advance(), v++) { + SubdVert *vert = it.current()->from(); + int valence = vert->valence(); + int cid = cornerIndices[primitiveOffset+v]; + + if(vert->is_boundary()) { + /* compute vertex limit position */ + SubdEdge *edge0 = vert->edge; + SubdEdge *edge1 = vert->edge->prev; + + assert(edge0->face == NULL); + assert(edge0->to() != vert); + assert(edge1->face == NULL); + assert(edge1->from() != vert); + + stencil->get(cid, vert) = 2.0f/3.0f; + stencil->get(cid, edge0->to()) = 1.0f/6.0f; + stencil->get(cid, edge1->from()) = 1.0f/6.0f; + + assert(stencil->get(cid).is_normalized()); + } + else { + stencil->get(cid, vert) = 3.0f*valence*valence; + + for(SubdVert::EdgeIterator eit(vert->edge); !eit.isDone(); eit.advance()) { + SubdEdge *edge = eit.current(); + assert(vert->co == edge->from()->co); + + stencil->get(cid, edge->to()) = 12.0f; + + if(SubdFaceRing::is_triangle(edge->face)) { + /* distribute weight to all verts */ + stencil->get(cid, vert) += 1.0f; + stencil->get(cid, edge->to()) += 1.0f; + stencil->get(cid, edge->next->to()) += 1.0f; + } + else + stencil->get(cid, edge->next->to()) = 3.0f; + } + + /* normalize stencil. */ + stencil->get(cid).normalize(); + } + } +} + +void SubdAccBuilder::computeEdgeStencil(SubdFaceRing *ring, GregoryAccStencil *stencil) +{ + const int cornerIndices[7] = {8, 11, 19, 16, 6, 9, 12}; + const int edge1Indices[7] = {9, 13, 18, 14, 7, 10, 13}; + const int edge2Indices[7] = {12, 10, 15, 17, 14, 8, 11}; + int primitiveOffset = ring->is_quad()? 0: 4; + + float tangentScales[14] = { + 0.0f, 0.0f, 0.0f, 0.667791f, 1.0f, + 1.11268f, 1.1284f, 1.10289f, 1.06062f, + 1.01262f, 0.963949f, 0.916926f, 0.872541f, 0.831134f + }; + + SubdEdge *firstEdge = ring->firstEdge(); + + /* compute corner / edge control points */ + int v = 0; + + for(SubdFace::EdgeIterator it(firstEdge); !it.isDone(); it.advance(), v++) { + SubdVert *vert = it.current()->from(); + int valence = vert->valence(); + int cid = cornerIndices[primitiveOffset+v]; + + int i1 = 0, i2 = 0, j = 0; + + for(SubdVert::EdgeIterator eit(vert->edge); !eit.isDone(); eit.advance(), j++) { + SubdEdge *edge = eit.current(); + + /* find index of "our" edge for edge control points */ + if(edge == it.current()) + i1 = j; + if(edge == it.current()->prev->pair) + i2 = j; + } + + if(vert->is_boundary()) { + int num_verts = ring->num_verts(); + StencilMask r0(num_verts); + StencilMask r1(num_verts); + + computeBoundaryTangentStencils(ring, vert, r0, r1); + + int k = valence - 1; + float omega = M_PI / k; + + int eid1 = edge1Indices[primitiveOffset + v]; + int eid2 = edge2Indices[primitiveOffset + v]; + + if(it.current()->is_boundary()) { + assert(it.current()->from() == vert); + + stencil->get(eid1, vert) = 2.0f / 3.0f; + stencil->get(eid1, it.current()->to()) = 1.0f / 3.0f; + + assert(stencil->get(eid1).is_normalized()); + + if(valence == 2) { + for(int i = 0; i < num_verts; i++) + stencil->get(eid1)[i] += r0[i] * 0.0001f; + } + } + else { + stencil->get(eid1) = stencil->get(cid); + + /* compute index of it.current() around vert */ + int idx = 0; + + for(SubdVert::EdgeIterator eit(vert->edges()); !eit.isDone(); eit.advance(), idx++) + if(eit.current() == it.current()) + break; + + assert(idx != valence); + + float c = cosf(idx * omega); + float s = sinf(idx * omega); + + for(int i = 0; i < num_verts; i++) + stencil->get(eid1)[i] += (r0[i] * s + r1[i] * c) / 3.0f; + } + + if(it.current()->prev->is_boundary()) { + assert(it.current()->prev->pair->from() == vert); + + stencil->get(eid2, vert) = 2.0f / 3.0f; + stencil->get(eid2, it.current()->prev->pair->to()) = 1.0f / 3.0f; + + assert(stencil->get(eid2).is_normalized()); + + if(valence == 2) { + for(int i = 0; i < num_verts; i++) + stencil->get(eid2)[i] += r0[i] * 0.0001f; + } + } + else { + stencil->get(eid2) = stencil->get(cid); + + /* compute index of it.current() around vert */ + int idx = 0; + + for(SubdVert::EdgeIterator eit(vert->edges()); !eit.isDone(); eit.advance(), idx++) + if(eit.current() == it.current()->prev->pair) + break; + + assert(idx != valence); + + float c = cosf(idx * omega); + float s = sinf(idx * omega); + + for(int i = 0; i < num_verts; i++) + stencil->get(eid2)[i] += (r0[i] * s + r1[i] * c) / 3; + } + } + else { + float costerm = cosf(M_PI / valence); + float sqrtterm = sqrtf(4.0f + costerm*costerm); + + /* float tangentScale = 1.0f; */ + float tangentScale = tangentScales[min(valence, 13U)]; + + float alpha = (1.0f + costerm / sqrtterm) / (3.0f * valence) * tangentScale; + float beta = 1.0f / (3.0f * valence * sqrtterm) * tangentScale; + + + int eid1 = edge1Indices[primitiveOffset + v]; + int eid2 = edge2Indices[primitiveOffset + v]; + + stencil->get(eid1) = stencil->get(cid); + stencil->get(eid2) = stencil->get(cid); + + int j = 0; + for(SubdVert::EdgeIterator eit(vert->edges()); !eit.isDone(); eit.advance(), j++) { + SubdEdge *edge = eit.current(); + assert(vert->co == edge->from()->co); + + float costerm1_a = cosf(M_PI * 2 * (j-i1) / valence); + float costerm1_b = cosf(M_PI * (2 * (j-i1)-1) / valence); /* -1 instead of +1 b/c of edge->next->to() */ + + float costerm2_a = cosf(M_PI * 2 * (j-i2) / valence); + float costerm2_b = cosf(M_PI * (2 * (j-i2)-1) / valence); /* -1 instead of +1 b/c of edge->next->to() */ + + + stencil->get(eid1, edge->to()) += alpha * costerm1_a; + stencil->get(eid2, edge->to()) += alpha * costerm2_a; + + if(SubdFaceRing::is_triangle(edge->face)) { + /* @@ this probably does not provide watertight results!! (1/3 + 1/3 + 1/3 != 1) */ + + /* distribute weight to all verts */ + stencil->get(eid1, vert) += beta * costerm1_b / 3.0f; + stencil->get(eid1, edge->to()) += beta * costerm1_b / 3.0f; + stencil->get(eid1, edge->next->to()) += beta * costerm1_b / 3.0f; + + stencil->get(eid2, vert) += beta * costerm2_b / 3.0f; + stencil->get(eid2, edge->to()) += beta * costerm2_b / 3.0f; + stencil->get(eid2, edge->next->to()) += beta * costerm2_b / 3.0f; + } + else { + stencil->get(eid1, edge->next->to()) += beta * costerm1_b; + stencil->get(eid2, edge->next->to()) += beta * costerm2_b; + } + } + } + } +} + +void SubdAccBuilder::computeInteriorStencil(SubdFaceRing *ring, GregoryAccStencil *stencil) +{ + static int corner1Indices[7] = {8, 11, 19, 16, 6, 9, 12}; + static int corner2Indices[7] = {11, 19, 16, 8, 9, 12, 6}; + static int edge1Indices[7] = {9, 13, 18, 14, 7, 10, 13}; + static int edge2Indices[7] = {10, 15, 17, 12, 8, 11, 14}; + static int interior1Indices[7] = {1, 3, 6, 4, 1, 3, 5}; + static int interior2Indices[7] = {2, 7, 5, 0, 2, 4, 0}; + + int primitiveOffset = ring->is_quad()? 0: 4; + + SubdFace * face = ring->face(); + SubdEdge *firstEdge = ring->firstEdge(); + + /* interior control points */ + int v = 0; + for(SubdFace::EdgeIterator it(firstEdge); !it.isDone(); it.advance(), v++) { + SubdEdge *edge = it.current(); + + if(edge->is_boundary()) { + float valence1 = pseudoValence(edge->from()); + float valence2 = pseudoValence(edge->to()); + + float weights1[4]; + float weights2[4]; + + if(ring->is_quad()) { + weights1[0] = 3 * valence1; + weights1[1] = 6; + weights1[2] = 3; + weights1[3] = 6; + + weights2[0] = 6; + weights2[1] = 3 * valence2; + weights2[2] = 6; + weights2[3] = 3; + } + else { + assert(ring->is_triangle()); + weights1[0] = 3 * valence1 + 1; + weights1[1] = 7; + weights1[2] = 7; + + weights2[0] = 7; + weights2[1] = 3 * valence2 + 1; + weights2[2] = 7; + } + + int idx1 = interior1Indices[primitiveOffset+v]; + int idx2 = interior2Indices[primitiveOffset+v]; + + int i = 0; + for(SubdFace::EdgeIterator it(face->edges(edge)); !it.isDone(); it.advance(), i++) { + SubdVert *vert = it.current()->from(); + stencil->get(idx1, vert) += weights1[i]; + stencil->get(idx2, vert) += weights2[i]; + } + + stencil->get(idx1).normalize(); + stencil->get(idx2).normalize(); + } + else { + SubdVert *e0 = edge->from(); + float costerm0 = cosf(2.0f * M_PI / pseudoValence(e0)); + + SubdVert *f0 = edge->to(); + float costerm1 = cosf(2.0f * M_PI / pseudoValence(f0)); + + /* p0 +------+ q0 + * | | + * f0 +======+ e0 <=== current edge + * | | + * p1 +------+ q1 + */ + + SubdVert *q0 = edge->next->to(); + SubdVert *p0 = edge->prev->from(); + + SubdVert *p1 = edge->pair->next->to(); + SubdVert *q1 = edge->pair->prev->from(); + + + StencilMask x(ring->num_verts()); + StencilMask y(ring->num_verts()); + + for(int i = 0; i < ring->num_verts(); i++) { + x[i] = + (costerm1 * stencil->get(corner1Indices[primitiveOffset+v])[i] - + (2*costerm0 + costerm1) * stencil->get(edge1Indices[primitiveOffset+v])[i] + + 2*costerm0 * stencil->get(edge2Indices[primitiveOffset+v])[i]) / 3.0f; + } + + /* y = (2*( midedgeA1 - midedgeB1) + 4*(centroidA - centroidB))/18.0f; */ + y[ring->vert_index(p0)] = 1; + y[ring->vert_index(p1)] = -1; + + /* add centroidA */ + if(ring->is_triangle()) { + y[ring->vert_index(p0)] += 4.0f / 3.0f; + y[ring->vert_index(e0)] += 4.0f / 3.0f; + y[ring->vert_index(f0)] += 4.0f / 3.0f; + } + else { + y[ring->vert_index(p0)] += 1; + y[ring->vert_index(q0)] += 1; + y[ring->vert_index(e0)] += 1; + y[ring->vert_index(f0)] += 1; + } + + /* sub centroidB */ + if(SubdFaceRing::is_triangle(edge->pair->face)) { + y[ring->vert_index(p1)] -= 4.0f / 3.0f; + y[ring->vert_index(e0)] -= 4.0f / 3.0f; + y[ring->vert_index(f0)] -= 4.0f / 3.0f; + + } + else { + y[ring->vert_index(p1)] -= 1; + y[ring->vert_index(q1)] -= 1; + y[ring->vert_index(e0)] -= 1; + y[ring->vert_index(f0)] -= 1; + } + + y /= 18.0f; + + if(ring->is_triangle()) { + x *= 3.0f / 4.0f; + y *= 3.0f / 4.0f; + } + + /* this change makes the triangle boundaries smoother, but distorts the quads next to them */ + /*if(ring->is_triangle() || SubdFaceRing::is_triangle(edge->pair->face)) + { + y *= 4.0f / 3.0f; + }*/ + + stencil->get(interior1Indices[primitiveOffset+v]) = stencil->get(edge1Indices[primitiveOffset+v]); + stencil->get(interior1Indices[primitiveOffset+v]) += x; + stencil->get(interior1Indices[primitiveOffset+v]) += y; + + for(int i = 0; i < ring->num_verts(); i++) { + x[i] = + (costerm0 * stencil->get(corner2Indices[primitiveOffset+v])[i] - + (2*costerm1 + costerm0) * stencil->get(edge2Indices[primitiveOffset+v])[i] + + 2*costerm1 * stencil->get(edge1Indices[primitiveOffset+v])[i]) / 3.0f; + } + + /* y = (2*( midedgeA2 - midedgeB2) + 4*(centroidA - centroidB))/18.0f; */ + y = 0.0f; + + /* (2*( midedgeA2 - midedgeB2) */ + y[ring->vert_index(q0)] = 1; + y[ring->vert_index(q1)] = -1; + + /* add centroidA */ + if(ring->is_triangle()) { + y[ring->vert_index(p0)] += 4.0f / 3.0f; + y[ring->vert_index(e0)] += 4.0f / 3.0f; + y[ring->vert_index(f0)] += 4.0f / 3.0f; + } + else { + y[ring->vert_index(p0)] += 1; + y[ring->vert_index(q0)] += 1; + y[ring->vert_index(e0)] += 1; + y[ring->vert_index(f0)] += 1; + } + + /* sub centroidB */ + if(SubdFaceRing::is_triangle(edge->pair->face)) { + y[ring->vert_index(p1)] -= 4.0f / 3.0f; + y[ring->vert_index(e0)] -= 4.0f / 3.0f; + y[ring->vert_index(f0)] -= 4.0f / 3.0f; + + } + else { + y[ring->vert_index(p1)] -= 1; + y[ring->vert_index(q1)] -= 1; + y[ring->vert_index(e0)] -= 1; + y[ring->vert_index(f0)] -= 1; + } + + y /= 18.0f; + + if(ring->is_triangle()) { + x *= 3.0f / 4.0f; + y *= 3.0f / 4.0f; + } + + /* this change makes the triangle boundaries smoother, but distorts the quads next to them. */ + /*if(ring->is_triangle() || SubdFaceRing::is_triangle(edge->pair->face)) + y *= 4.0f / 3.0f;*/ + + stencil->get(interior2Indices[primitiveOffset+v]) = stencil->get(edge2Indices[primitiveOffset+v]); + stencil->get(interior2Indices[primitiveOffset+v]) += x; + stencil->get(interior2Indices[primitiveOffset+v]) += y; + } + } +} + +void SubdAccBuilder::computeBoundaryTangentStencils(SubdFaceRing *ring, SubdVert *vert, StencilMask & r0, StencilMask & r1) +{ + assert(vert->is_boundary()); + assert(r0.size() == ring->num_verts()); + assert(r1.size() == ring->num_verts()); + + SubdEdge *edge0 = vert->edge; + assert(edge0->face == NULL); + assert(edge0->to() != vert); + + SubdEdge *edgek = vert->edge->prev; + assert(edgek->face == NULL); + assert(edgek->from() != vert); + + int valence = vert->valence(); + + int k = valence - 1; + float omega = M_PI / k; + float s = sinf(omega); + float c = cosf(omega); + + float factor = 1.0f / (3 * k + c); + + float gamma = -4 * s * factor; + r0[ring->vert_index(vert)] = gamma; + /* r1[ring->vert_index(vert)] = 0; */ + + float salpha0 = -((1 + 2 * c) * sqrtf(1 + c)) * factor / sqrtf(1 - c); + float calpha0 = 1.0f / 2.0f; + + r0[ring->vert_index(edge0->to())] = salpha0; + r1[ring->vert_index(edge0->to())] = calpha0; + + float salphak = salpha0; + float calphak = -1.0f / 2.0f; + + r0[ring->vert_index(edgek->from())] = salphak; + r1[ring->vert_index(edgek->from())] = calphak; + + int j = 0; + for(SubdVert::EdgeIterator it(vert->edges()); !it.isDone(); it.advance(), j++) { + SubdEdge *edge = it.current(); + + if(j == k) break; + + SubdVert *p = edge->to(); + SubdVert *q = edge->pair->prev->from(); + + float alphaj = 4 * sinf(j * omega) * factor; + float betaj = (sinf(j * omega) + sinf((j + 1) * omega)) * factor; + + if(j != 0) + r0[ring->vert_index(p)] += alphaj; + + if(edge->pair->prev->prev->prev == edge->pair) { + r0[ring->vert_index(vert)] += betaj / 3.0f; + r0[ring->vert_index(edge->pair->from())] += betaj / 3.0f; + r0[ring->vert_index(q)] += betaj / 3.0f; + } + else + r0[ring->vert_index(q)] += betaj; + } + + if(valence == 2) { + /* r0 perpendicular to r1 */ + r0[ring->vert_index(vert)] = -4.0f / 3.0f; + r0[ring->vert_index(edgek->from())] = 1.0f / 2.0f; + r0[ring->vert_index(edge0->to())] = 1.0f / 2.0f; + r0[ring->vert_index(edge0->next->to())] = 1.0f / 3.0f; + } +} + +/* Subd Linear Builder */ + +SubdLinearBuilder::SubdLinearBuilder() +{ +} + +SubdLinearBuilder::~SubdLinearBuilder() +{ +} + +Patch *SubdLinearBuilder::run(SubdFace *face) +{ + Patch *patch; + float3 *hull; + + if(face->num_edges() == 3) { + LinearTrianglePatch *lpatch = new LinearTrianglePatch(); + hull = lpatch->hull; + patch = lpatch; + } + else if(face->num_edges() == 4) { + LinearQuadPatch *lpatch = new LinearQuadPatch(); + hull = lpatch->hull; + patch = lpatch; + } + else { + assert(0); /* n-gons should have been split already */ + return NULL; + } + + int i = 0; + + for(SubdFace::EdgeIterator it(face->edge); !it.isDone(); it.advance()) + hull[i++] = it.current()->from()->co; + + if(face->num_edges() == 4) + swap(hull[2], hull[3]); + + return patch; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/subd/subd_build.h b/intern/cycles/subd/subd_build.h new file mode 100644 index 00000000000..e93ffc4a2c4 --- /dev/null +++ b/intern/cycles/subd/subd_build.h @@ -0,0 +1,75 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __SUBD_BUILD_H__ +#define __SUBD_BUILD_H__ + +CCL_NAMESPACE_BEGIN + +class SubdFace; +class SubdFaceRing; +class SubdVert; +class GregoryAccStencil; +class Patch; +class StencilMask; + +/* Builder */ + +class SubdBuilder +{ +public: + virtual ~SubdBuilder() {}; + virtual Patch *run(SubdFace *face) = 0; + static SubdBuilder *create(bool linear); +}; + +/* Approximate Catmull Clark using Loop's approximation */ + +class SubdAccBuilder : public SubdBuilder +{ +public: + SubdAccBuilder(); + ~SubdAccBuilder(); + + Patch *run(SubdFace *face); + +protected: + /* Gregory Patch */ + void computeCornerStencil(SubdFaceRing *ring, GregoryAccStencil *stencil); + void computeEdgeStencil(SubdFaceRing *ring, GregoryAccStencil *stencil); + void computeInteriorStencil(SubdFaceRing *ring, GregoryAccStencil *stencil); + void computeBoundaryTangentStencils(SubdFaceRing *ring, + SubdVert *vert, + StencilMask & r0, StencilMask & r1); +}; + +/* Linear Subdivision */ + +class SubdLinearBuilder : public SubdBuilder +{ +public: + SubdLinearBuilder(); + ~SubdLinearBuilder(); + + Patch *run(SubdFace *face); +}; + +CCL_NAMESPACE_END + +#endif /* __SUBD_BUILD_H__ */ + diff --git a/intern/cycles/subd/subd_dice.cpp b/intern/cycles/subd/subd_dice.cpp new file mode 100644 index 00000000000..086b7b246d3 --- /dev/null +++ b/intern/cycles/subd/subd_dice.cpp @@ -0,0 +1,461 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "camera.h" +#include "mesh.h" + +#include "subd_dice.h" +#include "subd_patch.h" + +#include "util_debug.h" + +CCL_NAMESPACE_BEGIN + +/* EdgeDice Base */ + +EdgeDice::EdgeDice(Mesh *mesh_, int shader_, bool smooth_, float dicing_rate_) +{ + mesh = mesh_; + mesh_P = NULL; + mesh_N = NULL; + vert_offset = 0; + dicing_rate = dicing_rate_; + shader = shader_; + smooth = smooth_; + camera = NULL; + + mesh->attributes.add(Attribute::STD_VERTEX_NORMAL); +} + +void EdgeDice::reserve(int num_verts, int num_tris) +{ + vert_offset = mesh->verts.size(); + tri_offset = mesh->triangles.size(); + + mesh->reserve(vert_offset + num_verts, tri_offset + num_tris); + + Attribute *attr_vN = mesh->attributes.add(Attribute::STD_VERTEX_NORMAL); + + mesh_P = &mesh->verts[0]; + mesh_N = attr_vN->data_float3(); +} + +int EdgeDice::add_vert(Patch *patch, float2 uv) +{ + float3 P, N, dPdu, dPdv; + + patch->eval(&P, &dPdu, &dPdv, uv.x, uv.y); + N = normalize(cross(dPdu, dPdv)); + + assert(vert_offset < mesh->verts.size()); + + mesh_P[vert_offset] = P; + mesh_N[vert_offset] = N; + + return vert_offset++; +} + +void EdgeDice::add_triangle(int v0, int v1, int v2) +{ + mesh->add_triangle(v0, v1, v2, shader, smooth); +} + +void EdgeDice::stitch_triangles(vector& outer, vector& inner) +{ + if(inner.size() == 0 || outer.size() == 0) + return; // XXX avoid crashes for Mu or Mv == 1, missing polygons + + /* stitch together two arrays of verts with triangles. at each step, + we compare using the next verts on both sides, to find the split + direction with the smallest diagonal, and use that in order to keep + the triangle shape reasonable. */ + for(size_t i = 0, j = 0; i+1 < inner.size() || j+1 < outer.size();) { + int v0, v1, v2; + + v0 = inner[i]; + v1 = outer[j]; + + if(j+1 == outer.size()) { + v2 = inner[++i]; + } + else if(i+1 == inner.size()) { + v2 = outer[++j]; + } + else { + /* length of diagonals */ + float len1 = len(mesh_P[inner[i]] - mesh_P[outer[j+1]]); + float len2 = len(mesh_P[outer[j]] - mesh_P[inner[i+1]]); + + /* use smallest diagonal */ + if(len1 < len2) + v2 = outer[++j]; + else + v2 = inner[++i]; + } + + add_triangle(v0, v1, v2); + } +} + +/* QuadDice */ + +QuadDice::QuadDice(Mesh *mesh_, int shader_, bool smooth_, float dicing_rate_) +: EdgeDice(mesh_, shader_, smooth_, dicing_rate_) +{ +} + +void QuadDice::reserve(EdgeFactors& ef, int Mu, int Mv) +{ + /* XXX need to make this also work for edge factor 0 and 1 */ + int num_verts = (ef.tu0 + ef.tu1 + ef.tv0 + ef.tv1) + (Mu - 1)*(Mv - 1); + EdgeDice::reserve(num_verts, 0); +} + +float2 QuadDice::map_uv(SubPatch& sub, float u, float v) +{ + /* map UV from subpatch to patch parametric coordinates */ + float2 d0 = interp(sub.P00, sub.P01, v); + float2 d1 = interp(sub.P10, sub.P11, v); + return interp(d0, d1, u); +} + +float3 QuadDice::eval_projected(SubPatch& sub, float u, float v) +{ + float2 uv = map_uv(sub, u, v); + float3 P; + + sub.patch->eval(&P, NULL, NULL, uv.x, uv.y); + if(camera) + P = transform(&camera->worldtoraster, P); + + return P; +} + +int QuadDice::add_vert(SubPatch& sub, float u, float v) +{ + return EdgeDice::add_vert(sub.patch, map_uv(sub, u, v)); +} + +void QuadDice::add_side_u(SubPatch& sub, + vector& outer, vector& inner, + int Mu, int Mv, int tu, int side, int offset) +{ + outer.clear(); + inner.clear(); + + /* set verts on the edge of the patch */ + outer.push_back(offset + ((side)? 2: 0)); + + for(int i = 1; i < tu; i++) { + float u = i/(float)tu; + float v = (side)? 1.0f: 0.0f; + + outer.push_back(add_vert(sub, u, v)); + } + + outer.push_back(offset + ((side)? 3: 1)); + + /* set verts on the edge of the inner grid */ + for(int i = 0; i < Mu-1; i++) { + int j = (side)? Mv-1-1: 0; + inner.push_back(offset + 4 + i + j*(Mu-1)); + } +} + +void QuadDice::add_side_v(SubPatch& sub, + vector& outer, vector& inner, + int Mu, int Mv, int tv, int side, int offset) +{ + outer.clear(); + inner.clear(); + + /* set verts on the edge of the patch */ + outer.push_back(offset + ((side)? 1: 0)); + + for(int j = 1; j < tv; j++) { + float u = (side)? 1.0f: 0.0f; + float v = j/(float)tv; + + outer.push_back(add_vert(sub, u, v)); + } + + outer.push_back(offset + ((side)? 3: 2)); + + /* set verts on the edge of the inner grid */ + for(int j = 0; j < Mv-1; j++) { + int i = (side)? Mu-1-1: 0; + inner.push_back(offset + 4 + i + j*(Mu-1)); + } +} + +float QuadDice::quad_area(const float3& a, const float3& b, const float3& c, const float3& d) +{ + return triangle_area(a, b, d) + triangle_area(a, d, c); +} + +float QuadDice::scale_factor(SubPatch& sub, EdgeFactors& ef, int Mu, int Mv) +{ + /* estimate area as 4x largest of 4 quads */ + float3 P[3][3]; + + for(int i = 0; i < 3; i++) + for(int j = 0; j < 3; j++) + P[i][j] = eval_projected(sub, i*0.5f, j*0.5f); + + float A1 = quad_area(P[0][0], P[1][0], P[0][1], P[1][1]); + float A2 = quad_area(P[1][0], P[2][0], P[1][1], P[2][1]); + float A3 = quad_area(P[0][1], P[1][1], P[0][2], P[1][2]); + float A4 = quad_area(P[1][1], P[2][1], P[1][2], P[2][2]); + float Apatch = max(A1, max(A2, max(A3, A4)))*4.0f; + + /* solve for scaling factor */ + float Atri = dicing_rate*dicing_rate*0.5f; + float Ntris = Apatch/Atri; + + // XXX does the -sqrt solution matter + // XXX max(D, 0.0) is highly suspicious, need to test cases + // where D goes negative + float N = 0.5f*(Ntris - (ef.tu0 + ef.tu1 + ef.tv0 + ef.tv1)); + float D = 4.0f*N*Mu*Mv + (Mu + Mv)*(Mu + Mv); + float S = (Mu + Mv + sqrtf(max(D, 0.0f)))/(2*Mu*Mv); + + return S; +} + +void QuadDice::add_corners(SubPatch& sub) +{ + /* add verts for patch corners */ + if(sub.patch->is_triangle()) { + add_vert(sub, 0.0f, 0.0f); + add_vert(sub, 1.0f, 0.0f); + add_vert(sub, 0.0f, 1.0f); + } + else { + add_vert(sub, 0.0f, 0.0f); + add_vert(sub, 1.0f, 0.0f); + add_vert(sub, 0.0f, 1.0f); + add_vert(sub, 1.0f, 1.0f); + } +} + +void QuadDice::add_grid(SubPatch& sub, int Mu, int Mv, int offset) +{ + /* create inner grid */ + float du = 1.0f/(float)Mu; + float dv = 1.0f/(float)Mv; + + for(int j = 1; j < Mv; j++) { + for(int i = 1; i < Mu; i++) { + float u = i*du; + float v = j*dv; + + add_vert(sub, u, v); + + if(i < Mu-1 && j < Mv-1) { + int i1 = offset + 4 + (i-1) + (j-1)*(Mu-1); + int i2 = offset + 4 + i + (j-1)*(Mu-1); + int i3 = offset + 4 + i + j*(Mu-1); + int i4 = offset + 4 + (i-1) + j*(Mu-1); + + add_triangle(i1, i2, i3); + add_triangle(i1, i3, i4); + } + } + } +} + +void QuadDice::dice(SubPatch& sub, EdgeFactors& ef) +{ + /* compute inner grid size with scale factor */ + int Mu = max(ef.tu0, ef.tu1); + int Mv = max(ef.tv0, ef.tv1); + + float S = scale_factor(sub, ef, Mu, Mv); + Mu = max((int)ceil(S*Mu), 2); // XXX handle 0 & 1? + Mv = max((int)ceil(S*Mv), 2); // XXX handle 0 & 1? + + /* reserve space for new verts */ + int offset = mesh->verts.size(); + reserve(ef, Mu, Mv); + + /* corners and inner grid */ + add_corners(sub); + add_grid(sub, Mu, Mv, offset); + + /* bottom side */ + vector outer, inner; + + add_side_u(sub, outer, inner, Mu, Mv, ef.tu0, 0, offset); + stitch_triangles(outer, inner); + + /* top side */ + add_side_u(sub, outer, inner, Mu, Mv, ef.tu1, 1, offset); + stitch_triangles(inner, outer); + + /* left side */ + add_side_v(sub, outer, inner, Mu, Mv, ef.tv0, 0, offset); + stitch_triangles(inner, outer); + + /* right side */ + add_side_v(sub, outer, inner, Mu, Mv, ef.tv1, 1, offset); + stitch_triangles(outer, inner); + + assert(vert_offset == mesh->verts.size()); +} + +/* TriangleDice */ + +TriangleDice::TriangleDice(Mesh *mesh_, int shader_, bool smooth_, float dicing_rate_) +: EdgeDice(mesh_, shader_, smooth_, dicing_rate_) +{ +} + +void TriangleDice::reserve(EdgeFactors& ef, int M) +{ + int num_verts = ef.tu + ef.tv + ef.tw; + + for(int m = M-2; m > 0; m -= 2) + num_verts += 3 + (m-1)*3; + + if(!(M & 1)) + num_verts++; + + EdgeDice::reserve(num_verts, 0); +} + +float2 TriangleDice::map_uv(SubPatch& sub, float2 uv) +{ + /* map UV from subpatch to patch parametric coordinates */ + return uv.x*sub.Pu + uv.y*sub.Pv + (1.0f - uv.x - uv.y)*sub.Pw; +} + +int TriangleDice::add_vert(SubPatch& sub, float2 uv) +{ + return EdgeDice::add_vert(sub.patch, map_uv(sub, uv)); +} + +void TriangleDice::add_grid(SubPatch& sub, EdgeFactors& ef, int M) +{ + // XXX normals are flipped, why? + + /* grid is constructed starting from the outside edges, and adding + progressively smaller inner triangles that connected to the outer + one, until M = 1 or 2, the we fill up the last part. */ + vector outer_u, outer_v, outer_w; + int m; + + /* add outer corners vertices */ + { + float2 p_u = make_float2(1.0f, 0.0f); + float2 p_v = make_float2(0.0f, 1.0f); + float2 p_w = make_float2(0.0f, 0.0f); + + int corner_u = add_vert(sub, p_u); + int corner_v = add_vert(sub, p_v); + int corner_w = add_vert(sub, p_w); + + outer_u.push_back(corner_v); + outer_v.push_back(corner_w); + outer_w.push_back(corner_u); + + for(int i = 1; i < ef.tu; i++) + outer_u.push_back(add_vert(sub, interp(p_v, p_w, i/(float)ef.tu))); + for(int i = 1; i < ef.tv; i++) + outer_v.push_back(add_vert(sub, interp(p_w, p_u, i/(float)ef.tv))); + for(int i = 1; i < ef.tw; i++) + outer_w.push_back(add_vert(sub, interp(p_u, p_v, i/(float)ef.tw))); + + outer_u.push_back(corner_w); + outer_v.push_back(corner_u); + outer_w.push_back(corner_v); + } + + for(m = M-2; m > 0; m -= 2) { + vector inner_u, inner_v, inner_w; + + float t = m/(float)M; + float2 center = make_float2(1.0f/3.0f, 1.0f/3.0f); + + /* 3 corner vertices */ + float2 p_u = interp(center, make_float2(1.0f, 0.0f), t); + float2 p_v = interp(center, make_float2(0.0f, 1.0f), t); + float2 p_w = interp(center, make_float2(0.0f, 0.0f), t); + + int corner_u = add_vert(sub, p_u); + int corner_v = add_vert(sub, p_v); + int corner_w = add_vert(sub, p_w); + + /* construct array of vertex indices for each side */ + inner_u.push_back(corner_v); + inner_v.push_back(corner_w); + inner_w.push_back(corner_u); + + for(int i = 1; i < m; i++) { + /* add vertices between corners */ + float t = i/(float)m; + + inner_u.push_back(add_vert(sub, interp(p_v, p_w, t))); + inner_v.push_back(add_vert(sub, interp(p_w, p_u, t))); + inner_w.push_back(add_vert(sub, interp(p_u, p_v, t))); + } + + inner_u.push_back(corner_w); + inner_v.push_back(corner_u); + inner_w.push_back(corner_v); + + /* stitch together inner/outer with triangles */ + stitch_triangles(outer_u, inner_u); + stitch_triangles(outer_v, inner_v); + stitch_triangles(outer_w, inner_w); + + outer_u = inner_u; + outer_v = inner_v; + outer_w = inner_w; + } + + /* fill up last part */ + if(m == -1) { + /* single triangle */ + add_triangle(outer_w[0], outer_u[0], outer_v[0]); + } + else { + /* center vertex + 6 triangles */ + int center = add_vert(sub, make_float2(1.0f/3.0f, 1.0f/3.0f)); + + add_triangle(outer_w[0], outer_w[1], center); + add_triangle(outer_w[1], outer_w[2], center); + add_triangle(outer_u[0], outer_u[1], center); + add_triangle(outer_u[1], outer_u[2], center); + add_triangle(outer_v[0], outer_v[1], center); + add_triangle(outer_v[1], outer_v[2], center); + } +} + +void TriangleDice::dice(SubPatch& sub, EdgeFactors& ef) +{ + /* todo: handle 2 1 1 resolution */ + int M = max(ef.tu, max(ef.tv, ef.tw)); + + reserve(ef, M); + add_grid(sub, ef, M); + + assert(vert_offset == mesh->verts.size()); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/subd/subd_dice.h b/intern/cycles/subd/subd_dice.h new file mode 100644 index 00000000000..71879f1f5f1 --- /dev/null +++ b/intern/cycles/subd/subd_dice.h @@ -0,0 +1,159 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __SUBD_DICE_H__ +#define __SUBD_DICE_H__ + +/* DX11 like EdgeDice implementation, with different tesselation factors for + * each edge for watertight tesselation, with subpatch remapping to work with + * DiagSplit. For more algorithm details, see the DiagSplit paper or the + * ARB_tessellation_shader OpenGL extension, Section 2.X.2. */ + +#include "util_types.h" +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +class Camera; +class Mesh; +class Patch; + +/* EdgeDice Base */ + +class EdgeDice { +public: + Camera *camera; + Mesh *mesh; + float3 *mesh_P; + float3 *mesh_N; + float dicing_rate; + size_t vert_offset; + size_t tri_offset; + int shader; + bool smooth; + + EdgeDice(Mesh *mesh, int shader, bool smooth, float dicing_rate); + + void reserve(int num_verts, int num_tris); + + int add_vert(Patch *patch, float2 uv); + void add_triangle(int v0, int v1, int v2); + + void stitch_triangles(vector& outer, vector& inner); +}; + +/* Quad EdgeDice + * + * Edge tesselation factors and subpatch coordinates are as follows: + * + * tu1 + * P01 --------- P11 + * | | + * tv0 | | tv1 + * | | + * P00 --------- P10 + * tu0 + */ + +class QuadDice : public EdgeDice { +public: + struct SubPatch { + Patch *patch; + + float2 P00; + float2 P10; + float2 P01; + float2 P11; + }; + + struct EdgeFactors { + int tu0; + int tu1; + int tv0; + int tv1; + }; + + QuadDice(Mesh *mesh, int shader, bool smooth, float dicing_rate); + + void reserve(EdgeFactors& ef, int Mu, int Mv); + float3 eval_projected(SubPatch& sub, float u, float v); + + float2 map_uv(SubPatch& sub, float u, float v); + int add_vert(SubPatch& sub, float u, float v); + + void add_corners(SubPatch& sub); + void add_grid(SubPatch& sub, int Mu, int Mv, int offset); + + void add_side_u(SubPatch& sub, + vector& outer, vector& inner, + int Mu, int Mv, int tu, int side, int offset); + + void add_side_v(SubPatch& sub, + vector& outer, vector& inner, + int Mu, int Mv, int tv, int side, int offset); + + float quad_area(const float3& a, const float3& b, const float3& c, const float3& d); + float scale_factor(SubPatch& sub, EdgeFactors& ef, int Mu, int Mv); + + void dice(SubPatch& sub, EdgeFactors& ef); +}; + +/* Triangle EdgeDice + * + * Edge tesselation factors and subpatch coordinates are as follows: + * + * Pw + * /\ + * tv / \ tu + * / \ + * / \ + * Pu -------- Pv + * tw + */ + +class TriangleDice : public EdgeDice { +public: + struct SubPatch { + Patch *patch; + + float2 Pu; + float2 Pv; + float2 Pw; + }; + + struct EdgeFactors { + int tu; + int tv; + int tw; + }; + + TriangleDice(Mesh *mesh, int shader, bool smooth, float dicing_rate); + + void reserve(EdgeFactors& ef, int M); + + float2 map_uv(SubPatch& sub, float2 uv); + int add_vert(SubPatch& sub, float2 uv); + + void add_grid(SubPatch& sub, EdgeFactors& ef, int M); + void dice(SubPatch& sub, EdgeFactors& ef); +}; + +CCL_NAMESPACE_END + +#endif /* __SUBD_DICE_H__ */ + diff --git a/intern/cycles/subd/subd_edge.h b/intern/cycles/subd/subd_edge.h new file mode 100644 index 00000000000..edf98c8a5a0 --- /dev/null +++ b/intern/cycles/subd/subd_edge.h @@ -0,0 +1,70 @@ +/* + * Original code in the public domain -- castanyo@yahoo.es + * + * Modifications copyright (c) 2011, Blender Foundation. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef __SUBD_EDGE_H__ +#define __SUBD_EDGE_H__ + +#include "subd_mesh.h" + +CCL_NAMESPACE_BEGIN + +/* Subd Half Edge */ + +class SubdEdge +{ +public: + int id; + + SubdEdge *next; + SubdEdge *prev; + SubdEdge *pair; + SubdVert *vert; + SubdFace *face; + + SubdEdge(int id_) + { + id = id_; + next = NULL; + prev = NULL; + pair = NULL; + vert = NULL; + face = NULL; + } + + /* vertex queries */ + SubdVert *from() { return vert; } + SubdVert *to() { return next->vert; } + + /* face queries */ + bool is_boundary() { return !(face && pair->face); } +}; + +CCL_NAMESPACE_END + +#endif /* __SUBD_EDGE_H__ */ + diff --git a/intern/cycles/subd/subd_face.h b/intern/cycles/subd/subd_face.h new file mode 100644 index 00000000000..8f8a9ec3f47 --- /dev/null +++ b/intern/cycles/subd/subd_face.h @@ -0,0 +1,109 @@ +/* + * Original code in the public domain -- castanyo@yahoo.es + * + * Modifications copyright (c) 2011, Blender Foundation. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef __SUBD_FACE_H__ +#define __SUBD_FACE_H__ + +#include "subd_edge.h" +#include "subd_mesh.h" + +CCL_NAMESPACE_BEGIN + +/* Subd Face */ + +class SubdFace +{ +public: + int id; + SubdEdge *edge; + + SubdFace(int id_) + { + id = id_; + edge = NULL; + } + + bool contains(SubdEdge *e) + { + for(EdgeIterator it(edges()); !it.isDone(); it.advance()) + if(it.current() == e) + return true; + + return false; + } + + int num_edges() + { + int num = 0; + + for(EdgeIterator it(edges()); !it.isDone(); it.advance()) + num++; + + return num; + } + + bool is_boundary() + { + for(EdgeIterator it(edges()); !it.isDone(); it.advance()) { + SubdEdge *edge = it.current(); + + if(edge->pair->face == NULL) + return true; + } + + return false; + } + + /* iterate over edges in clockwise order */ + class EdgeIterator + { + public: + EdgeIterator(SubdEdge *e) : end(NULL), cur(e) { } + + virtual void advance() + { + if (end == NULL) end = cur; + cur = cur->next; + } + + virtual bool isDone() { return end == cur; } + virtual SubdEdge *current() { return cur; } + + private: + SubdEdge *end; + SubdEdge *cur; + }; + + EdgeIterator edges() { return EdgeIterator(edge); } + EdgeIterator edges(SubdEdge *edge) { return EdgeIterator(edge); } +}; + +CCL_NAMESPACE_END + +#endif /* __SUBD_FACE_H__ */ + diff --git a/intern/cycles/subd/subd_mesh.cpp b/intern/cycles/subd/subd_mesh.cpp new file mode 100644 index 00000000000..8ed4854b786 --- /dev/null +++ b/intern/cycles/subd/subd_mesh.cpp @@ -0,0 +1,309 @@ +/* + * Original code in the public domain -- castanyo@yahoo.es + * + * Modifications copyright (c) 2011, Blender Foundation. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include "subd_build.h" +#include "subd_edge.h" +#include "subd_face.h" +#include "subd_mesh.h" +#include "subd_patch.h" +#include "subd_split.h" +#include "subd_vert.h" + +#include "util_debug.h" +#include "util_foreach.h" + +CCL_NAMESPACE_BEGIN + +SubdMesh::SubdMesh() +{ +} + +SubdMesh::~SubdMesh() +{ + pair em; + + foreach(SubdVert *vertex, verts) + delete vertex; + foreach(em, edge_map) + delete em.second; + foreach(SubdFace *face, faces) + delete face; + + verts.clear(); + edges.clear(); + edge_map.clear(); + faces.clear(); +} + +SubdVert *SubdMesh::add_vert(const float3& co) +{ + SubdVert *v = new SubdVert(verts.size()); + v->co = co; + verts.push_back(v); + + return v; +} + +SubdFace *SubdMesh::add_face(int v0, int v1, int v2) +{ + int index[3] = {v0, v1, v2}; + return add_face(index, 3); +} + +SubdFace *SubdMesh::add_face(int v0, int v1, int v2, int v3) +{ + int index[4] = {v0, v1, v2, v3}; + return add_face(index, 4); +} + +SubdFace *SubdMesh::add_face(int *index, int num) +{ + /* test non-manifold cases */ + if(!can_add_face(index, num)) { + /* we could try to add face in opposite winding instead .. */ + fprintf(stderr, "Warning: non manifold mesh, invalid face '%lu'.\n", faces.size()); + return NULL; + } + + SubdFace *f = new SubdFace(faces.size()); + + SubdEdge *first_edge = NULL; + SubdEdge *last = NULL; + SubdEdge *current = NULL; + + /* add edges */ + for(int i = 0; i < num-1; i++) { + current = add_edge(index[i], index[i+1]); + assert(current != NULL); + + current->face = f; + + if(last != NULL) { + last->next = current; + current->prev = last; + } + else + first_edge = current; + + last = current; + } + + current = add_edge(index[num-1], index[0]); + assert(current != NULL); + + current->face = f; + + last->next = current; + current->prev = last; + + current->next = first_edge; + first_edge->prev = current; + + f->edge = first_edge; + faces.push_back(f); + + return f; +} + +bool SubdMesh::can_add_face(int *index, int num) +{ + /* manifold check */ + for(int i = 0; i < num-1; i++) + if(!can_add_edge(index[i], index[i+1])) + return false; + + return can_add_edge(index[num-1], index[0]); +} + +bool SubdMesh::can_add_edge(int i, int j) +{ + /* check for degenerate edge */ + if(i == j) + return false; + + /* make sure edge has not been added yet. */ + return find_edge(i, j) == NULL; +} + +SubdEdge *SubdMesh::add_edge(int i, int j) +{ + SubdEdge *edge; + + /* find pair */ + SubdEdge *pair = find_edge(j, i); + + if(pair != NULL) { + /* create edge with same id */ + edge = new SubdEdge(pair->id + 1); + + /* link edge pairs */ + edge->pair = pair; + pair->pair = edge; + + /* not sure this is necessary? */ + pair->vert->edge = pair; + } + else { + /* create edge */ + edge = new SubdEdge(2*edges.size()); + + /* add only unpaired edges */ + edges.push_back(edge); + } + + /* assign vertex and put into map */ + edge->vert = verts[i]; + edge_map[Key(i, j)] = edge; + + /* face and next are set by add_face */ + + return edge; +} + +SubdEdge *SubdMesh::find_edge(int i, int j) +{ + map::const_iterator it = edge_map.find(Key(i, j)); + + return (it == edge_map.end())? NULL: it->second; +} + +bool SubdMesh::link_boundary() +{ + /* link boundary edges once the mesh has been created */ + int num = 0; + + /* create boundary edges */ + int num_edges = edges.size(); + + for(int e = 0; e < num_edges; e++) { + SubdEdge *edge = edges[e]; + + if(edge->pair == NULL) { + SubdEdge *pair = new SubdEdge(edge->id + 1); + + int i = edge->from()->id; + int j = edge->to()->id; + + assert(edge_map.find(Key(j, i)) == edge_map.end()); + + pair->vert = verts[j]; + edge_map[Key(j, i)] = pair; + + edge->pair = pair; + pair->pair = edge; + + num++; + } + } + + /* link boundary edges */ + for(int e = 0; e < num_edges; e++) { + SubdEdge *edge = edges[e]; + + if(edge->pair->face == NULL) + link_boundary_edge(edge->pair); + } + + /* detect boundary intersections */ + int boundaryIntersections = 0; + int num_verts = verts.size(); + + for(int v = 0; v < num_verts; v++) { + SubdVert *vertex = verts[v]; + + int boundarySubdEdges = 0; + for(SubdVert::EdgeIterator it(vertex->edges()); !it.isDone(); it.advance()) + if(it.current()->is_boundary()) + boundarySubdEdges++; + + if(boundarySubdEdges > 2) { + assert((boundarySubdEdges & 1) == 0); + boundaryIntersections++; + } + } + + if(boundaryIntersections != 0) { + fprintf(stderr, "Invalid mesh, boundary intersections found!\n"); + return false; + } + + return true; +} + +void SubdMesh::link_boundary_edge(SubdEdge *edge) +{ + /* link this boundary edge. */ + + /* make sure next pointer has not been set. */ + assert(edge->face == NULL); + assert(edge->next == NULL); + + SubdEdge *next = edge; + + while(next->pair->face != NULL) { + /* get pair prev */ + SubdEdge *e = next->pair->next; + + while(e->next != next->pair) + e = e->next; + + next = e; + } + + edge->next = next->pair; + next->pair->prev = edge; + + /* adjust vertex edge, so that it's the boundary edge. (required for is_boundary()) */ + if(edge->vert->edge != edge) + edge->vert->edge = edge; +} + +void SubdMesh::tesselate(DiagSplit *split, bool linear, Mesh *mesh, int shader, bool smooth) +{ + SubdBuilder *builder = SubdBuilder::create(linear); + int num_faces = faces.size(); + + for(int f = 0; f < num_faces; f++) { + SubdFace *face = faces[f]; + Patch *patch = builder->run(face); + + if(patch->is_triangle()) + split->split_triangle(mesh, patch, shader, smooth); + else + split->split_quad(mesh, patch, shader, smooth); + + delete patch; + } + + delete builder; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/subd/subd_mesh.h b/intern/cycles/subd/subd_mesh.h new file mode 100644 index 00000000000..999d92d6daf --- /dev/null +++ b/intern/cycles/subd/subd_mesh.h @@ -0,0 +1,90 @@ +/* + * Original code in the public domain -- castanyo@yahoo.es + * + * Modifications copyright (c) 2011, Blender Foundation. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef __SUBD_MESH_H__ +#define __SUBD_MESH_H__ + +#include "util_map.h" +#include "util_types.h" +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +class SubdFace; +class SubdVert; +class SubdEdge; + +class DiagSplit; +class Mesh; + +/* Subd Mesh, half edge based for dynamic mesh manipulation */ + +class SubdMesh +{ +public: + vector verts; + vector edges; + vector faces; + + SubdMesh(); + ~SubdMesh(); + + SubdVert *add_vert(const float3& co); + + SubdFace *add_face(int v0, int v1, int v2); + SubdFace *add_face(int v0, int v1, int v2, int v3); + SubdFace *add_face(int *index, int num); + + bool link_boundary(); + void tesselate(DiagSplit *split, bool linear, + Mesh *mesh, int shader, bool smooth); + +protected: + bool can_add_face(int *index, int num); + bool can_add_edge(int i, int j); + SubdEdge *add_edge(int i, int j); + SubdEdge *find_edge(int i, int j); + void link_boundary_edge(SubdEdge *edge); + + struct Key { + Key() {} + Key(int v0, int v1) : p0(v0), p1(v1) {} + + bool operator<(const Key& k) const + { return (p0 < k.p0 || (p0 == k.p0 && p1 < k.p1)); } + + int p0, p1; + }; + + map edge_map; +}; + +CCL_NAMESPACE_END + +#endif /* __SUBD_MESH_H__ */ + diff --git a/intern/cycles/subd/subd_patch.cpp b/intern/cycles/subd/subd_patch.cpp new file mode 100644 index 00000000000..ff477296c7e --- /dev/null +++ b/intern/cycles/subd/subd_patch.cpp @@ -0,0 +1,288 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +/* Parts adapted from code in the public domain in NVidia Mesh Tools. */ + +#include "mesh.h" + +#include "subd_patch.h" + +#include "util_math.h" +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +/* De Casteljau Evaluation */ + +static float3 decasteljau_quadratic(float t, const float3 cp[3]) +{ + float3 d0 = cp[0] + t*(cp[1] - cp[0]); + float3 d1 = cp[1] + t*(cp[2] - cp[1]); + + return d0 + t*(d1 - d0); +} + +static void decasteljau_cubic(float3 *P, float3 *dt, float t, const float3 cp[4]) +{ + float3 d0 = cp[0] + t*(cp[1] - cp[0]); + float3 d1 = cp[1] + t*(cp[2] - cp[1]); + float3 d2 = cp[2] + t*(cp[3] - cp[2]); + + d0 += t*(d1 - d0); + d1 += t*(d2 - d1); + + *P = d0 + t*(d1 - d0); + if(dt) *dt = d1 - d0; +} + +static void decasteljau_bicubic(float3 *P, float3 *du, float3 *dv, const float3 cp[16], float u, float v) +{ + float3 ucp[4], utn[4]; + + /* interpolate over u */ + decasteljau_cubic(ucp+0, utn+0, u, cp); + decasteljau_cubic(ucp+1, utn+1, u, cp+4); + decasteljau_cubic(ucp+2, utn+2, u, cp+8); + decasteljau_cubic(ucp+3, utn+3, u, cp+12); + + /* interpolate over v */ + decasteljau_cubic(P, dv, v, ucp); + if(du) decasteljau_cubic(du, NULL, v, utn); +} + +static float3 decasteljau_tangent(const float3 cp[12], float u, float v) +{ + float3 ucp[3]; + + decasteljau_cubic(ucp+0, NULL, v, cp); + decasteljau_cubic(ucp+1, NULL, v, cp+4); + decasteljau_cubic(ucp+2, NULL, v, cp+8); + + return decasteljau_quadratic(u, ucp); +} + +/* Linear Quad Patch */ + +void LinearQuadPatch::eval(float3 *P, float3 *dPdu, float3 *dPdv, float u, float v) +{ + float3 d0 = interp(hull[0], hull[1], u); + float3 d1 = interp(hull[2], hull[3], u); + + *P = interp(d0, d1, v); + + if(dPdu && dPdv) { + *dPdu = interp(hull[1] - hull[0], hull[3] - hull[2], v); + *dPdv = interp(hull[2] - hull[0], hull[3] - hull[1], u); + } +} + +BoundBox LinearQuadPatch::bound() +{ + BoundBox bbox; + + for(int i = 0; i < 4; i++) + bbox.grow(hull[i]); + + return bbox; +} + +/* Linear Triangle Patch */ + +void LinearTrianglePatch::eval(float3 *P, float3 *dPdu, float3 *dPdv, float u, float v) +{ + *P = u*hull[0] + v*hull[1] + (1.0f - u - v)*hull[2]; + + if(dPdu && dPdv) { + *dPdu = hull[0] - hull[2]; + *dPdv = hull[1] - hull[2]; + } +} + +BoundBox LinearTrianglePatch::bound() +{ + BoundBox bbox; + + for(int i = 0; i < 3; i++) + bbox.grow(hull[i]); + + return bbox; +} + +/* Bicubic Patch */ + +void BicubicPatch::eval(float3 *P, float3 *dPdu, float3 *dPdv, float u, float v) +{ + decasteljau_bicubic(P, dPdu, dPdv, hull, u, v); +} + +BoundBox BicubicPatch::bound() +{ + BoundBox bbox; + + for(int i = 0; i < 16; i++) + bbox.grow(hull[i]); + + return bbox; +} + +/* Bicubic Patch with Tangent Fields */ + +void BicubicTangentPatch::eval(float3 *P, float3 *dPdu, float3 *dPdv, float u, float v) +{ + decasteljau_bicubic(P, NULL, NULL, hull, u, v); + + if(dPdu) *dPdu = decasteljau_tangent(utan, u, v); + if(dPdv) *dPdv = decasteljau_tangent(vtan, v, u); +} + +BoundBox BicubicTangentPatch::bound() +{ + BoundBox bbox; + + for(int i = 0; i < 16; i++) + bbox.grow(hull[i]); + + return bbox; +} + +/* Gregory Patch */ + +static float no_zero_div(float f) +{ + if(f == 0.0f) return 1.0f; + return f; +} + +void GregoryQuadPatch::eval(float3 *P, float3 *dPdu, float3 *dPdv, float u, float v) +{ + float3 bicubic[16]; + + float U = 1 - u; + float V = 1 - v; + + /* 8 9 10 11 + * 12 0\1 2/3 13 + * 14 4/5 6\7 15 + * 16 17 18 19 + */ + + bicubic[5] = (u*hull[1] + v*hull[0])/no_zero_div(u + v); + bicubic[6] = (U*hull[2] + v*hull[3])/no_zero_div(U + v); + bicubic[9] = (u*hull[5] + V*hull[4])/no_zero_div(u + V); + bicubic[10] = (U*hull[6] + V*hull[7])/no_zero_div(U + V); + + // Map gregory control points to bezier control points. + bicubic[0] = hull[8]; + bicubic[1] = hull[9]; + bicubic[2] = hull[10]; + bicubic[3] = hull[11]; + bicubic[4] = hull[12]; + bicubic[7] = hull[13]; + bicubic[8] = hull[14]; + bicubic[11] = hull[15]; + bicubic[12] = hull[16]; + bicubic[13] = hull[17]; + bicubic[14] = hull[18]; + bicubic[15] = hull[19]; + + decasteljau_bicubic(P, dPdu, dPdv, bicubic, u, v); +} + +BoundBox GregoryQuadPatch::bound() +{ + BoundBox bbox; + + for(int i = 0; i < 20; i++) + bbox.grow(hull[i]); + + return bbox; +} + +void GregoryTrianglePatch::eval(float3 *P, float3 *dPdu, float3 *dPdv, float u, float v) +{ + /* 6 + * + * 14 0/1 7 + * + * 13 5/4 3\2 8 + * + * 12 11 10 9 + */ + + float w = 1 - u - v; + float uu = u * u; + float vv = v * v; + float ww = w * w; + float uuu = uu * u; + float vvv = vv * v; + float www = ww * w; + + float U = 1 - u; + float V = 1 - v; + float W = 1 - w; + + float3 C0 = ( v*U * hull[5] + u*V * hull[4] ) / no_zero_div(v*U + u*V); + float3 C1 = ( w*V * hull[3] + v*W * hull[2] ) / no_zero_div(w*V + v*W); + float3 C2 = ( u*W * hull[1] + w*U * hull[0] ) / no_zero_div(u*W + w*U); + + *P = + (hull[12] * www + 3*hull[11] * ww*u + 3*hull[10] * w*uu + hull[ 9]*uuu) * (w + u) + + (hull[ 9] * uuu + 3*hull[ 8] * uu*v + 3*hull[ 7] * u*vv + hull[ 6]*vvv) * (u + v) + + (hull[ 6] * vvv + 3*hull[14] * vv*w + 3*hull[13] * v*ww + hull[12]*www) * (v + w) - + (hull[12] * www*w + hull[ 9] * uuu*u + hull[ 6] * vvv*v) + + 12*(C0 * u*v*ww + C1 * uu*v*w + C2 * u*vv*w); + + if(dPdu || dPdv) { + float3 E1 = (hull[12]*www + 3*hull[11]*ww*u + 3*hull[10]*w*uu + hull[ 9]*uuu); + float3 E2 = (hull[ 9]*uuu + 3*hull[ 8]*uu*v + 3*hull[ 7]*u*vv + hull[ 6]*vvv); + float3 E3 = (hull[ 6]*vvv + 3*hull[14]*vv*w + 3*hull[13]*v*ww + hull[12]*www); + + if(dPdu) { + float3 E1u = 3*( - hull[12]*ww + hull[11]*(ww-2*u*w) + hull[10]*(2*u*w-uu) + hull[ 9]*uu); + float3 E2u = 3*( hull[ 9]*uu + 2*hull[ 8]*u*v + hull[ 7]*vv ); + float3 E3u = 3*( - hull[14]*vv - 2*hull[13]*v*w - hull[12]*ww); + float3 Su = 4*( -hull[12]*www + hull[9]*uuu); + float3 Cu = 12*( C0*(ww*v-2*u*v*w) + C1*(2*u*v*w-uu*v) + C2*vv*(w-u) ); + + *dPdu = E1u*(w+u) + (E2+E2u*(u+v)) + (E3u*(v+w)-E3) - Su + Cu; + } + + if(dPdv) { + float3 E1v = 3*(-hull[12]*ww - 2*hull[11]*w*u - hull[10]*uu ); + float3 E2v = 3*( hull[ 8]*uu + 2*hull[ 7]*u*v + hull[ 6]*vv); + float3 E3v = 3*( hull[ 6]*vv + hull[14]*(2*w*v-vv) + hull[13]*(ww-2*w*v) - hull[12]*ww); + float3 Sv = 4*(-hull[12]*www + hull[ 6]*vvv); + float3 Cv = 12*(C0*(u*ww-2*u*v*w) + C1*uu*(w-v) + C2*(2*u*v*w-u*vv)); + + *dPdv = ((E1v*(w+u)-E1) + (E2+E2v*(u+v)) + E3v*(v+w) - Sv + Cv ); + } + } +} + +BoundBox GregoryTrianglePatch::bound() +{ + BoundBox bbox; + + for(int i = 0; i < 20; i++) + bbox.grow(hull[i]); + + return bbox; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/subd/subd_patch.h b/intern/cycles/subd/subd_patch.h new file mode 100644 index 00000000000..8d4b8a1c911 --- /dev/null +++ b/intern/cycles/subd/subd_patch.h @@ -0,0 +1,107 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __SUBD_PATCH_H__ +#define __SUBD_PATCH_H__ + +#include "util_boundbox.h" +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +class Mesh; + +/* Base */ + +class Patch { +public: + virtual void eval(float3 *P, float3 *dPdu, float3 *dPdv, float u, float v) = 0; + virtual bool is_triangle() = 0; + virtual BoundBox bound() = 0; +}; + +/* Linear Quad Patch */ + +class LinearQuadPatch : public Patch { +public: + float3 hull[4]; + + void eval(float3 *P, float3 *dPdu, float3 *dPdv, float u, float v); + bool is_triangle() { return false; } + BoundBox bound(); +}; + +/* Linear Triangle Patch */ + +class LinearTrianglePatch : public Patch { +public: + float3 hull[3]; + + void eval(float3 *P, float3 *dPdu, float3 *dPdv, float u, float v); + bool is_triangle() { return true; } + BoundBox bound(); +}; + +/* Bicubic Patch */ + +class BicubicPatch : public Patch { +public: + float3 hull[16]; + + void eval(float3 *P, float3 *dPdu, float3 *dPdv, float u, float v); + bool is_triangle() { return false; } + BoundBox bound(); +}; + +/* Bicubic Patch with Tangent Fields */ + +class BicubicTangentPatch : public Patch { +public: + float3 hull[16]; + float3 utan[12]; + float3 vtan[12]; + + void eval(float3 *P, float3 *dPdu, float3 *dPdv, float u, float v); + bool is_triangle() { return false; } + BoundBox bound(); +}; + +/* Gregory Patches */ + +class GregoryQuadPatch : public Patch { +public: + float3 hull[20]; + + void eval(float3 *P, float3 *dPdu, float3 *dPdv, float u, float v); + bool is_triangle() { return false; } + BoundBox bound(); +}; + +class GregoryTrianglePatch : public Patch { +public: + float3 hull[20]; + + void eval(float3 *P, float3 *dPdu, float3 *dPdv, float u, float v); + bool is_triangle() { return true; } + BoundBox bound(); +}; + +CCL_NAMESPACE_END + +#endif /* __SUBD_PATCH_H__ */ + diff --git a/intern/cycles/subd/subd_ring.cpp b/intern/cycles/subd/subd_ring.cpp new file mode 100644 index 00000000000..cbd12e60da0 --- /dev/null +++ b/intern/cycles/subd/subd_ring.cpp @@ -0,0 +1,236 @@ +/* + * Copyright 2006, NVIDIA Corporation Ignacio Castano + * + * Modifications copyright (c) 2011, Blender Foundation. + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include "subd_face.h" +#include "subd_ring.h" +#include "subd_stencil.h" +#include "subd_vert.h" + +#include "util_algorithm.h" +#include "util_debug.h" +#include "util_math.h" + +CCL_NAMESPACE_BEGIN + +/* Utility for sorting verts by index */ + +class vertex_compare +{ +public: + const vector& index; + vertex_compare(const vector& index_) : index(index_) {} + bool operator()(int a, int b) const { return index[a] < index[b]; } +}; + +/* Subd Face Ring */ + +SubdFaceRing::SubdFaceRing(SubdFace *face, SubdEdge *firstEdge) +{ + m_face = face; + m_firstEdge = firstEdge; + m_num_edges = face->num_edges(); + + assert(m_num_edges == 3 || m_num_edges == 4); + + initVerts(); +} + +int SubdFaceRing::num_verts() +{ + return m_verts.size(); +} + +SubdVert *SubdFaceRing::vertexAt(int i) +{ + return m_verts[i]; +} + +int SubdFaceRing::vert_index(SubdVert *vertex) +{ + int count = this->num_verts(); + + for(int i = 0; i < count; i++) + if(m_verts[i] == vertex) + return i; + + assert(0); + return 0; +} + +void SubdFaceRing::evaluate_stencils(float3 *P, StencilMask *mask, int num) +{ + /* first we sort verts by id. this way verts will always be added + in the same order to ensure the exact same float ops happen for control + points of other patches, so we get water-tight patches */ + int num_verts = m_verts.size(); + + vector vmap(num_verts); + vector vertid(num_verts); + + for(int v = 0; v < num_verts; v++) { + vmap[v] = v; + vertid[v] = m_verts[v]->id; + } + + sort(vmap.begin(), vmap.end(), vertex_compare(vertid)); + + /* then evaluate the stencils */ + for(int j = 0; j < num; j++) { + float3 p = make_float3(0.0f, 0.0f, 0.0f); + + for(int i = 0; i < num_verts; i++) { + int idx = vmap[i]; + p += m_verts[idx]->co * mask[j][idx]; + } + + P[j] = p; + } +} + +bool SubdFaceRing::is_triangle() +{ + return m_num_edges == 3; +} + +bool SubdFaceRing::is_quad() +{ + return m_num_edges == 4; +} + +int SubdFaceRing::num_edges() +{ + return m_num_edges; +} + +bool SubdFaceRing::is_regular(SubdFace *face) +{ + if(!is_quad(face)) + return false; + + for(SubdFace::EdgeIterator it(face->edges()); !it.isDone(); it.advance()) { + SubdEdge *edge = it.current(); + + /* regular faces don't have boundary edges */ + if(edge->is_boundary()) + return false; + + /* regular faces only have ordinary verts */ + if(edge->vert->valence() != 4) + return false; + + /* regular faces are only adjacent to quads */ + for(SubdVert::EdgeIterator eit(edge); !eit.isDone(); eit.advance()) + if(eit.current()->face == NULL || eit.current()->face->num_edges() != 4) + return false; + } + + return true; +} + +bool SubdFaceRing::is_triangle(SubdFace *face) +{ + return face->num_edges() == 3; +} +bool SubdFaceRing::is_quad(SubdFace *face) +{ + return face->num_edges() == 4; +} + +bool SubdFaceRing::is_boundary(SubdFace *face) +{ + /* note that face->is_boundary() returns a different result. That function + returns true when any of the *edges* are on the boundary. however, this + function returns true if any of the face *verts* are on the boundary. */ + + for(SubdFace::EdgeIterator it(face->edges()); !it.isDone(); it.advance()) { + SubdEdge *edge = it.current(); + + if(edge->vert->is_boundary()) + return true; + } + + return false; +} + +void SubdFaceRing::initVerts() +{ + m_verts.reserve(16); + + /* add face verts */ + for(SubdFace::EdgeIterator it(m_firstEdge); !it.isDone(); it.advance()) { + SubdEdge *edge = it.current(); + m_verts.push_back(edge->from()); + } + + // @@ Add support for non manifold surfaces! + // The fix: + // - not all colocals should point to the same edge. + // - multiple colocals could belong to different boundaries, make sure they point to the right one. + + // @@ When the face neighborhood wraps that could result in overlapping stencils. + + // Add surronding verts. + for(SubdFace::EdgeIterator it(m_firstEdge); !it.isDone(); it.advance()) { + SubdEdge *firstEdge = it.current(); + + int i = 0; + + /* traverse edges around vertex */ + for(SubdVert::ReverseEdgeIterator eit(firstEdge); !eit.isDone(); eit.advance(), i++) { + SubdEdge *edge = eit.current(); + + assert(edge->from()->co == firstEdge->from()->co); + + add_vert(edge->to()); + + if(edge->face != NULL) + add_vert(edge->next->to()); + } + + assert(i == firstEdge->from()->valence()); + } +} + + +void SubdFaceRing::add_vert(SubdVert *vertex) +{ + /* avoid having duplicate verts */ + if(!has_vert(vertex)) + m_verts.push_back(vertex); +} + +bool SubdFaceRing::has_vert(SubdVert *vertex) +{ + int num_verts = m_verts.size(); + + for(int i = 0; i < num_verts; i++) + if(m_verts[i]->co == vertex->co) + return true; + + return false; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/subd/subd_ring.h b/intern/cycles/subd/subd_ring.h new file mode 100644 index 00000000000..f25342233b0 --- /dev/null +++ b/intern/cycles/subd/subd_ring.h @@ -0,0 +1,75 @@ +/* + * Copyright 2006, NVIDIA Corporation Ignacio Castano + * + * Modifications copyright (c) 2011, Blender Foundation. + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#ifndef __SUBD_FACE_RING_H__ +#define __SUBD_FACE_RING_H__ + +CCL_NAMESPACE_BEGIN + +class StencilMask; +class SubdVert; +class SubdEdge; +class SubdFace; + +class SubdFaceRing +{ +public: + SubdFaceRing(SubdFace *face, SubdEdge *edge); + + SubdFace *face() { return m_face; } + SubdEdge *firstEdge() { return m_firstEdge; } + + int num_verts(); + SubdVert *vertexAt(int i); + int vert_index(SubdVert *vertex); + + void evaluate_stencils(float3 *P, StencilMask *mask, int num); + + bool is_triangle(); + bool is_quad(); + int num_edges(); + + static bool is_regular(SubdFace *face); + static bool is_triangle(SubdFace *face); + static bool is_quad(SubdFace *face); + static bool is_boundary(SubdFace *face); + +protected: + void initVerts(); + void add_vert(SubdVert *vertex); + bool has_vert(SubdVert *vertex); + +protected: + SubdFace *m_face; + SubdEdge *m_firstEdge; + + int m_num_edges; + vector m_verts; +}; + +CCL_NAMESPACE_END + +#endif /* __SUBD_FACE_RING_H__ */ + diff --git a/intern/cycles/subd/subd_split.cpp b/intern/cycles/subd/subd_split.cpp new file mode 100644 index 00000000000..712bd041e64 --- /dev/null +++ b/intern/cycles/subd/subd_split.cpp @@ -0,0 +1,325 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "camera.h" +#include "mesh.h" + +#include "subd_dice.h" +#include "subd_patch.h" +#include "subd_split.h" + +#include "util_debug.h" +#include "util_math.h" +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +/* DiagSplit */ + +DiagSplit::DiagSplit() +{ + test_steps = 3; + split_threshold = 1; + dicing_rate = 0.1f; + camera = NULL; +} + +void DiagSplit::dispatch(QuadDice::SubPatch& sub, QuadDice::EdgeFactors& ef) +{ + subpatches_quad.push_back(sub); + edgefactors_quad.push_back(ef); +} + +void DiagSplit::dispatch(TriangleDice::SubPatch& sub, TriangleDice::EdgeFactors& ef) +{ + subpatches_triangle.push_back(sub); + edgefactors_triangle.push_back(ef); +} + +float3 DiagSplit::project(Patch *patch, float2 uv) +{ + float3 P; + + patch->eval(&P, NULL, NULL, uv.x, uv.y); + if(camera) + P = transform(&camera->worldtoraster, P); + + return P; +} + +int DiagSplit::T(Patch *patch, float2 Pstart, float2 Pend) +{ + float3 Plast = make_float3(0.0f, 0.0f, 0.0f); + float Lsum = 0.0f; + float Lmax = 0.0f; + + for(int i = 0; i < test_steps; i++) { + float t = i/(float)(test_steps-1); + + float3 P = project(patch, Pstart + t*(Pend - Pstart)); + + if(i > 0) { + float L = len(P - Plast); + Lsum += L; + Lmax = max(L, Lmax); + } + + Plast = P; + } + + int tmin = ceil(Lsum/dicing_rate); + int tmax = ceil((test_steps-1)*Lmax/dicing_rate); // XXX paper says N instead of N-1, seems wrong? + + if(tmax - tmin > split_threshold) + return DSPLIT_NON_UNIFORM; + + return tmax; +} + +void DiagSplit::partition_edge(Patch *patch, float2 *P, int *t0, int *t1, float2 Pstart, float2 Pend, int t) +{ + if(t == DSPLIT_NON_UNIFORM) { + *P = (Pstart + Pend)*0.5f; + *t0 = T(patch, Pstart, *P); + *t1 = T(patch, *P, Pend); + } + else { + int I = floor(t*0.5f); + *P = interp(Pstart, Pend, (t == 0)? 0: I/(float)t); /* XXX is t faces or verts */ + *t0 = I; + *t1 = t - I; + } +} + +void DiagSplit::split(TriangleDice::SubPatch& sub, TriangleDice::EdgeFactors& ef, int depth) +{ + assert(ef.tu == T(sub.patch, sub.Pv, sub.Pw)); + assert(ef.tv == T(sub.patch, sub.Pw, sub.Pu)); + assert(ef.tw == T(sub.patch, sub.Pu, sub.Pv)); + + if(depth == 0) { + dispatch(sub, ef); + return; + } + + if(ef.tu == DSPLIT_NON_UNIFORM) { + /* partition edges */ + TriangleDice::EdgeFactors ef0, ef1; + float2 Psplit; + + partition_edge(sub.patch, + &Psplit, &ef1.tu, &ef0.tu, sub.Pv, sub.Pw, ef.tu); + + /* split */ + int tsplit = T(sub.patch, sub.Pu, Psplit); + ef0.tv = ef.tv; + ef0.tw = tsplit; + + ef1.tv = tsplit; + ef1.tw = ef.tw; + + /* create subpatches */ + TriangleDice::SubPatch sub0 = {sub.patch, sub.Pu, Psplit, sub.Pw}; + TriangleDice::SubPatch sub1 = {sub.patch, sub.Pu, sub.Pv, Psplit}; + + split(sub0, ef0, depth+1); + split(sub1, ef1, depth+1); + } + else if(ef.tv == DSPLIT_NON_UNIFORM) { + /* partition edges */ + TriangleDice::EdgeFactors ef0, ef1; + float2 Psplit; + + partition_edge(sub.patch, + &Psplit, &ef1.tu, &ef0.tu, sub.Pw, sub.Pu, ef.tv); + + /* split */ + int tsplit = T(sub.patch, sub.Pv, Psplit); + ef0.tv = ef.tw; + ef0.tw = tsplit; + + ef1.tv = tsplit; + ef1.tw = ef.tu; + + /* create subpatches */ + TriangleDice::SubPatch sub0 = {sub.patch, sub.Pv, Psplit, sub.Pu}; + TriangleDice::SubPatch sub1 = {sub.patch, sub.Pv, sub.Pw, Psplit}; + + split(sub0, ef0, depth+1); + split(sub1, ef1, depth+1); + } + else if(ef.tw == DSPLIT_NON_UNIFORM) { + /* partition edges */ + TriangleDice::EdgeFactors ef0, ef1; + float2 Psplit; + + partition_edge(sub.patch, + &Psplit, &ef1.tu, &ef0.tu, sub.Pu, sub.Pv, ef.tw); + + /* split */ + int tsplit = T(sub.patch, sub.Pw, Psplit); + ef0.tv = ef.tu; + ef0.tw = tsplit; + + ef1.tv = tsplit; + ef1.tw = ef.tv; + + /* create subpatches */ + TriangleDice::SubPatch sub0 = {sub.patch, sub.Pw, Psplit, sub.Pv}; + TriangleDice::SubPatch sub1 = {sub.patch, sub.Pw, sub.Pu, Psplit}; + + split(sub0, ef0, depth+1); + split(sub1, ef1, depth+1); + } + else + dispatch(sub, ef); +} + +void DiagSplit::split(QuadDice::SubPatch& sub, QuadDice::EdgeFactors& ef, int depth) +{ + if((ef.tu0 == DSPLIT_NON_UNIFORM || ef.tu1 == DSPLIT_NON_UNIFORM)) { + /* partition edges */ + QuadDice::EdgeFactors ef0, ef1; + float2 Pu0, Pu1; + + partition_edge(sub.patch, + &Pu0, &ef0.tu0, &ef1.tu0, sub.P00, sub.P10, ef.tu0); + partition_edge(sub.patch, + &Pu1, &ef0.tu1, &ef1.tu1, sub.P01, sub.P11, ef.tu1); + + /* split */ + int tsplit = T(sub.patch, Pu0, Pu1); + ef0.tv0 = ef.tv0; + ef0.tv1 = tsplit; + + ef1.tv0 = tsplit; + ef1.tv1 = ef.tv1; + + /* create subpatches */ + QuadDice::SubPatch sub0 = {sub.patch, sub.P00, Pu0, sub.P01, Pu1}; + QuadDice::SubPatch sub1 = {sub.patch, Pu0, sub.P10, Pu1, sub.P11}; + + split(sub0, ef0, depth+1); + split(sub1, ef1, depth+1); + } + else if(ef.tv0 == DSPLIT_NON_UNIFORM || ef.tv1 == DSPLIT_NON_UNIFORM) { + /* partition edges */ + QuadDice::EdgeFactors ef0, ef1; + float2 Pv0, Pv1; + + partition_edge(sub.patch, + &Pv0, &ef0.tv0, &ef1.tv0, sub.P00, sub.P01, ef.tv0); + partition_edge(sub.patch, + &Pv1, &ef0.tv1, &ef1.tv1, sub.P10, sub.P11, ef.tv1); + + /* split */ + int tsplit = T(sub.patch, Pv0, Pv1); + ef0.tu0 = ef.tu0; + ef0.tu1 = tsplit; + + ef1.tu0 = tsplit; + ef1.tu1 = ef.tu1; + + /* create subpatches */ + QuadDice::SubPatch sub0 = {sub.patch, sub.P00, sub.P10, Pv0, Pv1}; + QuadDice::SubPatch sub1 = {sub.patch, Pv0, Pv1, sub.P01, sub.P11}; + + split(sub0, ef0, depth+1); + split(sub1, ef1, depth+1); + } + else + dispatch(sub, ef); +} + +void DiagSplit::split_triangle(Mesh *mesh, Patch *patch, int shader, bool smooth) +{ + TriangleDice::SubPatch sub; + TriangleDice::EdgeFactors ef; + + sub.patch = patch; + sub.Pu = make_float2(1.0f, 0.0f); + sub.Pv = make_float2(0.0f, 1.0f); + sub.Pw = make_float2(0.0f, 0.0f); + + ef.tu = T(patch, sub.Pv, sub.Pw); + ef.tv = T(patch, sub.Pw, sub.Pu); + ef.tw = T(patch, sub.Pu, sub.Pv); + + split(sub, ef); + + TriangleDice dice(mesh, shader, smooth, dicing_rate); + dice.camera = camera; + + for(size_t i = 0; i < subpatches_triangle.size(); i++) { + TriangleDice::SubPatch& sub = subpatches_triangle[i]; + TriangleDice::EdgeFactors& ef = edgefactors_triangle[i]; + + ef.tu = 4; + ef.tv = 4; + ef.tw = 4; + + ef.tu = max(ef.tu, 1); + ef.tv = max(ef.tv, 1); + ef.tw = max(ef.tw, 1); + + dice.dice(sub, ef); + } + + subpatches_triangle.clear(); + edgefactors_triangle.clear(); +} + +void DiagSplit::split_quad(Mesh *mesh, Patch *patch, int shader, bool smooth) +{ + QuadDice::SubPatch sub; + QuadDice::EdgeFactors ef; + + sub.patch = patch; + sub.P00 = make_float2(0.0f, 0.0f); + sub.P10 = make_float2(1.0f, 0.0f); + sub.P01 = make_float2(0.0f, 1.0f); + sub.P11 = make_float2(1.0f, 1.0f); + + ef.tu0 = T(patch, sub.P00, sub.P10); + ef.tu1 = T(patch, sub.P01, sub.P11); + ef.tv0 = T(patch, sub.P00, sub.P01); + ef.tv1 = T(patch, sub.P10, sub.P11); + + split(sub, ef); + + QuadDice dice(mesh, shader, smooth, dicing_rate); + dice.camera = camera; + + for(size_t i = 0; i < subpatches_quad.size(); i++) { + QuadDice::SubPatch& sub = subpatches_quad[i]; + QuadDice::EdgeFactors& ef = edgefactors_quad[i]; + + ef.tu0 = max(ef.tu0, 1); + ef.tu1 = max(ef.tu1, 1); + ef.tv0 = max(ef.tv0, 1); + ef.tv1 = max(ef.tv1, 1); + + dice.dice(sub, ef); + } + + subpatches_quad.clear(); + edgefactors_quad.clear(); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/subd/subd_split.h b/intern/cycles/subd/subd_split.h new file mode 100644 index 00000000000..8ec5d24266e --- /dev/null +++ b/intern/cycles/subd/subd_split.h @@ -0,0 +1,71 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __SUBD_SPLIT_H__ +#define __SUBD_SPLIT_H__ + +/* DiagSplit: Parallel, Crack-free, Adaptive Tessellation for Micropolygon Rendering + * Splits up patches and determines edge tesselation factors for dicing. Patch + * evaluation at arbitrary points is required for this to work. See the paper + * for more details. */ + +#include "subd_dice.h" + +#include "util_types.h" +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +class Mesh; +class Patch; + +#define DSPLIT_NON_UNIFORM -1 + +class DiagSplit { +public: + vector subpatches_quad; + vector edgefactors_quad; + vector subpatches_triangle; + vector edgefactors_triangle; + + int test_steps; + int split_threshold; + float dicing_rate; + Camera *camera; + + DiagSplit(); + + float3 project(Patch *patch, float2 uv); + int T(Patch *patch, float2 Pstart, float2 Pend); + void partition_edge(Patch *patch, float2 *P, int *t0, int *t1, + float2 Pstart, float2 Pend, int t); + + void dispatch(QuadDice::SubPatch& sub, QuadDice::EdgeFactors& ef); + void split(QuadDice::SubPatch& sub, QuadDice::EdgeFactors& ef, int depth=0); + + void dispatch(TriangleDice::SubPatch& sub, TriangleDice::EdgeFactors& ef); + void split(TriangleDice::SubPatch& sub, TriangleDice::EdgeFactors& ef, int depth=0); + + void split_triangle(Mesh *mesh, Patch *patch, int shader, bool smooth); + void split_quad(Mesh *mesh, Patch *patch, int shader, bool smooth); +}; + +CCL_NAMESPACE_END + +#endif /* __SUBD_SPLIT_H__ */ + diff --git a/intern/cycles/subd/subd_stencil.cpp b/intern/cycles/subd/subd_stencil.cpp new file mode 100644 index 00000000000..599a745eebb --- /dev/null +++ b/intern/cycles/subd/subd_stencil.cpp @@ -0,0 +1,103 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "subd_stencil.h" + +#include "util_debug.h" +#include "util_math.h" + +CCL_NAMESPACE_BEGIN + +StencilMask::StencilMask() +{ +} + +StencilMask::StencilMask(int size) +{ + /* initialize weights to zero. */ + weights.resize(size, 0.0f); +} + +void StencilMask::resize(int size) +{ + weights.resize(size, 0.0f); +} + +StencilMask& StencilMask::operator=(float value) +{ + const int size = weights.size(); + for(int i = 0; i < size; i++) + weights[i] = value; + + return *this; +} + +void StencilMask::operator+=(const StencilMask& mask) +{ + assert(mask.size() == size()); + + const int size = weights.size(); + for(int i = 0; i < size; i++) + weights[i] += mask.weights[i]; +} + +void StencilMask::operator-=(const StencilMask& mask) +{ + assert(mask.size() == size()); + + const int size = weights.size(); + for(int i = 0; i < size; i++) + weights[i] -= mask.weights[i]; +} + +void StencilMask::operator*=(float scale) +{ + const int size = weights.size(); + + for(int i = 0; i < size; i++) + weights[i] *= scale; +} + +void StencilMask::operator/=(float scale) +{ + *this *= 1.0f/scale; +} + +float StencilMask::sum() const +{ + float total = 0.0f; + const int size = weights.size(); + + for(int i = 0; i < size; i++) + total += weights[i]; + + return total; +} + +bool StencilMask::is_normalized() const +{ + return fabsf(sum() - 1.0f) < 0.0001f; +} + +void StencilMask::normalize() +{ + *this /= sum(); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/subd/subd_stencil.h b/intern/cycles/subd/subd_stencil.h new file mode 100644 index 00000000000..e11d8f37cd3 --- /dev/null +++ b/intern/cycles/subd/subd_stencil.h @@ -0,0 +1,65 @@ +/* + * Copyright 2006, NVIDIA Corporation Ignacio Castano + * + * Modifications copyright (c) 2011, Blender Foundation. + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#ifndef __SUBD_STENCIL__ +#define __SUBD_STENCIL__ + +#include "util_types.h" +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +class StencilMask +{ +public: + StencilMask(); + StencilMask(int size); + + void resize(int size); + + StencilMask& operator=(float value); + + void operator+=(const StencilMask& mask); + void operator-=(const StencilMask& mask); + void operator*=(float scale); + void operator/=(float scale); + + int size() const { return weights.size(); } + + float operator[](int i) const { return weights[i]; } + float& operator[](int i) { return weights[i]; } + + float sum() const; + bool is_normalized() const; + void normalize(); + +private: + vector weights; +}; + +CCL_NAMESPACE_END + +#endif /* __SUBD_STENCIL__ */ + diff --git a/intern/cycles/subd/subd_vert.h b/intern/cycles/subd/subd_vert.h new file mode 100644 index 00000000000..638019547ae --- /dev/null +++ b/intern/cycles/subd/subd_vert.h @@ -0,0 +1,121 @@ +/* + * Original code in the public domain -- castanyo@yahoo.es + * + * Modifications copyright (c) 2011, Blender Foundation. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef __SUBD_VERTEX_H__ +#define __SUBD_VERTEX_H__ + +#include "subd_edge.h" +#include "subd_mesh.h" + +CCL_NAMESPACE_BEGIN + +/* Subd Vertex */ + +class SubdVert +{ +public: + int id; + float3 co; + + SubdEdge *edge; + SubdVert *next; + SubdVert *prev; + + SubdVert(int id_) + { + id = id_; + edge = NULL; + co = make_float3(0.0f, 0.0f, 0.0f); + + next = this; + prev = this; + } + + /* valence */ + int valence() + { + int num = 0; + + for(EdgeIterator it(edges()); !it.isDone(); it.advance()) + num++; + + return num; + } + + /* edge queries */ + bool is_boundary() { return (edge && !edge->face); } + + /* iterator over edges in counterclockwise order */ + class EdgeIterator + { + public: + EdgeIterator(SubdEdge *e) : end(NULL), cur(e) { } + + virtual void advance() + { + if(end == NULL) end = cur; + cur = cur->pair->next; + //cur = cur->prev->pair; + } + + virtual bool isDone() { return end == cur; } + virtual SubdEdge *current() { return cur; } + + private: + SubdEdge *end; + SubdEdge *cur; + }; + + /* iterator over edges in clockwise order */ + class ReverseEdgeIterator + { + public: + ReverseEdgeIterator(SubdEdge *e) : end(NULL), cur(e) { } + + virtual void advance() + { + if(end == NULL) end = cur; + cur = cur->prev->pair; + } + + virtual bool isDone() { return end == cur; } + virtual SubdEdge *current() { return cur; } + + private: + SubdEdge *end; + SubdEdge *cur; + }; + + EdgeIterator edges() { return EdgeIterator(edge); } + EdgeIterator edges(SubdEdge *edge) { return EdgeIterator(edge); } +}; + +CCL_NAMESPACE_END + +#endif /* __SUBD_VERTEX_H__ */ + diff --git a/intern/cycles/util/CMakeLists.txt b/intern/cycles/util/CMakeLists.txt new file mode 100644 index 00000000000..3fea6182a97 --- /dev/null +++ b/intern/cycles/util/CMakeLists.txt @@ -0,0 +1,47 @@ + +INCLUDE_DIRECTORIES(.) + +SET(sources + util_cache.cpp + util_cuda.cpp + util_dynlib.cpp + util_md5.cpp + util_path.cpp + util_string.cpp + util_system.cpp + util_time.cpp + util_transform.cpp + util_view.cpp) + +SET(headers + util_algorithm.h + util_args.h + util_boundbox.h + util_cache.h + util_cuda.h + util_debug.h + util_dynlib.h + util_function.h + util_hash.h + util_image.h + util_list.h + util_map.h + util_math.h + util_md5.h + util_opengl.h + util_param.h + util_path.h + util_progress.h + util_set.h + util_string.h + util_system.h + util_thread.h + util_time.h + util_transform.h + util_types.h + util_view.h + util_vector.h + util_xml.h) + +ADD_LIBRARY(util ${sources} ${headers}) + diff --git a/intern/cycles/util/util_algorithm.h b/intern/cycles/util/util_algorithm.h new file mode 100644 index 00000000000..708a2730be7 --- /dev/null +++ b/intern/cycles/util/util_algorithm.h @@ -0,0 +1,35 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_ALGORITHM_H__ +#define __UTIL_ALGORITHM_H__ + +#include + +CCL_NAMESPACE_BEGIN + +using std::sort; +using std::swap; +using std::max; +using std::min; +using std::remove; + +CCL_NAMESPACE_END + +#endif /* __UTIL_ALGORITHM_H__ */ + diff --git a/intern/cycles/util/util_args.h b/intern/cycles/util/util_args.h new file mode 100644 index 00000000000..639fd06bead --- /dev/null +++ b/intern/cycles/util/util_args.h @@ -0,0 +1,34 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_ARGS_H__ +#define __UTIL_ARGS_H__ + +/* Argument Parsing for command line, we use the OpenImageIO + * library because it has nice functions to do this. */ + +#include + +CCL_NAMESPACE_BEGIN + +OIIO_NAMESPACE_USING + +CCL_NAMESPACE_END + +#endif /* __UTIL_ARGS_H__ */ + diff --git a/intern/cycles/util/util_boundbox.h b/intern/cycles/util/util_boundbox.h new file mode 100644 index 00000000000..34cc1d6e11c --- /dev/null +++ b/intern/cycles/util/util_boundbox.h @@ -0,0 +1,98 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_BOUNDBOX_H__ +#define __UTIL_BOUNDBOX_H__ + +#include + +#include "util_transform.h" +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +class BoundBox +{ +public: + float3 min, max; + + BoundBox(void) + { + min = make_float3(FLT_MAX, FLT_MAX, FLT_MAX); + max = make_float3(-FLT_MAX, -FLT_MAX, -FLT_MAX); + } + + BoundBox(const float3& min_, const float3& max_) + : min(min_), max(max_) + { + } + + void grow(const float3& pt) + { + min = ccl::min(min, pt); + max = ccl::max(max, pt); + } + + void grow(const BoundBox& bbox) + { + grow(bbox.min); + grow(bbox.max); + } + + void intersect(const BoundBox& bbox) + { + min = ccl::max(min, bbox.min); + max = ccl::min(max, bbox.max); + } + + float area(void) const + { + if(!valid()) + return 0.0f; + + float3 d = max - min; + return dot(d, d)*2.0f; + } + + bool valid(void) const + { + return (min.x <= max.x) && (min.y <= max.y) && (min.z <= max.z); + } + + BoundBox transformed(const Transform *tfm) + { + BoundBox result; + + for(int i = 0; i < 8; i++) { + float3 p; + + p.x = (i & 1)? min.x: max.x; + p.y = (i & 2)? min.y: max.y; + p.z = (i & 4)? min.z: max.z; + + result.grow(transform(tfm, p)); + } + + return result; + } +}; + +CCL_NAMESPACE_END + +#endif /* __UTIL_BOUNDBOX_H__ */ + diff --git a/intern/cycles/util/util_cache.cpp b/intern/cycles/util/util_cache.cpp new file mode 100644 index 00000000000..49a0f62cae8 --- /dev/null +++ b/intern/cycles/util/util_cache.cpp @@ -0,0 +1,93 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include + +#include "util_cache.h" +#include "util_foreach.h" +#include "util_md5.h" +#include "util_path.h" +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +/* CacheData */ + +CacheData::CacheData(const string& name_) +{ + name = name_; + f = NULL; +} + +CacheData::~CacheData() +{ + if(f) + fclose(f); +} + +/* Cache */ + +Cache Cache::global; + +string Cache::data_filename(const CacheData& key) +{ + MD5Hash hash; + + foreach(const CacheBuffer& buffer, key.buffers) + hash.append((uint8_t*)buffer.data, buffer.size); + + string fname = key.name + "_" + hash.get_hex(); + return path_get("cache/" + fname); +} + +void Cache::insert(const CacheData& key, const CacheData& value) +{ + string filename = data_filename(key); + FILE *f = fopen(filename.c_str(), "wb"); + + if(!f) { + fprintf(stderr, "Failed to open file %s for writing.\n", filename.c_str()); + return; + } + + foreach(const CacheBuffer& buffer, value.buffers) { + if(!fwrite(&buffer.size, sizeof(buffer.size), 1, f)) + fprintf(stderr, "Failed to write to file %s.\n", filename.c_str()); + if(!fwrite(buffer.data, buffer.size, 1, f)) + fprintf(stderr, "Failed to write to file %s.\n", filename.c_str()); + } + + fclose(f); +} + +bool Cache::lookup(const CacheData& key, CacheData& value) +{ + string filename = data_filename(key); + FILE *f = fopen(filename.c_str(), "rb"); + + if(!f) + return false; + + value.name = key.name; + value.f = f; + + return true; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/util/util_cache.h b/intern/cycles/util/util_cache.h new file mode 100644 index 00000000000..25b1f2e7a51 --- /dev/null +++ b/intern/cycles/util/util_cache.h @@ -0,0 +1,132 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_CACHE_H__ +#define __UTIL_CACHE_H__ + +/* Disk Cache based on Hashing + * + * To be used to cache expensive computations. The hash key is created from an + * arbitrary number of bytes, by hashing the bytes using MD5, which then gives + * the file name containing the data. This data then is read from the file + * again into the appropriate data structures. + * + * This way we do not need to accurately track changes, compare dates and + * invalidate cache entries, at the cost of exta computation. If everything + * is stored in a global cache, computations can perhaps even be shared between + * different scenes where it may be hard to detect duplicate work. + */ + +#include "util_string.h" +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +class CacheBuffer { +public: + const void *data; + size_t size; + + CacheBuffer(const void *data_, size_t size_) + { data = data_; size = size_; } +}; + +class CacheData { +public: + vector buffers; + string name; + FILE *f; + + CacheData(const string& name = ""); + ~CacheData(); + + template void add(const vector& data) + { + CacheBuffer buffer(&data[0], data.size()*sizeof(T)); + buffers.push_back(buffer); + } + + template void add(const array& data) + { + CacheBuffer buffer(&data[0], data.size()*sizeof(T)); + buffers.push_back(buffer); + } + + void add(void *data, size_t size) + { + CacheBuffer buffer(data, size); + buffers.push_back(buffer); + } + + void add(int& data) + { + CacheBuffer buffer(&data, sizeof(int)); + buffers.push_back(buffer); + } + + void add(size_t& data) + { + CacheBuffer buffer(&data, sizeof(size_t)); + buffers.push_back(buffer); + } + + template void read(array& data) + { + size_t size; + + if(!fread(&size, sizeof(size), 1, f)) { + fprintf(stderr, "Failed to read vector size from cache.\n"); + return; + } + + data.resize(size/sizeof(T)); + + if(!fread(&data[0], size, 1, f)) { + fprintf(stderr, "Failed to read vector data from cache (%ld).\n", size); + return; + } + } + + void read(int& data) + { + if(!fread(&data, sizeof(data), 1, f)) + fprintf(stderr, "Failed to read int from cache.\n"); + } + + void read(size_t& data) + { + if(!fread(&data, sizeof(data), 1, f)) + fprintf(stderr, "Failed to read size_t from cache.\n"); + } +}; + +class Cache { +public: + static Cache global; + + void insert(const CacheData& key, const CacheData& value); + bool lookup(const CacheData& key, CacheData& value); + +protected: + string data_filename(const CacheData& key); +}; + +CCL_NAMESPACE_END + +#endif /* __UTIL_CACHE_H__ */ + diff --git a/intern/cycles/util/util_color.h b/intern/cycles/util/util_color.h new file mode 100644 index 00000000000..fbba0fade63 --- /dev/null +++ b/intern/cycles/util/util_color.h @@ -0,0 +1,46 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_COLOR_H__ +#define __UTIL_COLOR_H__ + +#include "util_math.h" +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +__device float color_srgb_to_scene_linear(float c) +{ + if(c < 0.04045f) + return (c < 0.0f)? 0.0f: c * (1.0f/12.92f); + else + return pow((c + 0.055f)*(1.0f/1.055f), 2.4f); +} + +__device float color_scene_linear_to_srgb(float c) +{ + if(c < 0.0031308f) + return (c < 0.0f)? 0.0f: c * 12.92f; + else + return 1.055f * pow(c, 1.0f/2.4f) - 0.055f; +} + +CCL_NAMESPACE_END + +#endif /* __UTIL_COLOR_H__ */ + diff --git a/intern/cycles/util/util_cuda.cpp b/intern/cycles/util/util_cuda.cpp new file mode 100644 index 00000000000..15ce7efd9ee --- /dev/null +++ b/intern/cycles/util/util_cuda.cpp @@ -0,0 +1,379 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "util_cuda.h" +#include "util_debug.h" +#include "util_dynlib.h" + +/* function defininitions */ + +tcuInit *cuInit; +tcuDriverGetVersion *cuDriverGetVersion; +tcuDeviceGet *cuDeviceGet; +tcuDeviceGetCount *cuDeviceGetCount; +tcuDeviceGetName *cuDeviceGetName; +tcuDeviceComputeCapability *cuDeviceComputeCapability; +tcuDeviceTotalMem *cuDeviceTotalMem; +tcuDeviceGetProperties *cuDeviceGetProperties; +tcuDeviceGetAttribute *cuDeviceGetAttribute; +tcuCtxCreate *cuCtxCreate; +tcuCtxDestroy *cuCtxDestroy; +tcuCtxAttach *cuCtxAttach; +tcuCtxDetach *cuCtxDetach; +tcuCtxPushCurrent *cuCtxPushCurrent; +tcuCtxPopCurrent *cuCtxPopCurrent; +tcuCtxGetDevice *cuCtxGetDevice; +tcuCtxSynchronize *cuCtxSynchronize; +tcuModuleLoad *cuModuleLoad; +tcuModuleLoadData *cuModuleLoadData; +tcuModuleLoadDataEx *cuModuleLoadDataEx; +tcuModuleLoadFatBinary *cuModuleLoadFatBinary; +tcuModuleUnload *cuModuleUnload; +tcuModuleGetFunction *cuModuleGetFunction; +tcuModuleGetGlobal *cuModuleGetGlobal; +tcuModuleGetTexRef *cuModuleGetTexRef; +tcuModuleGetSurfRef *cuModuleGetSurfRef; +tcuMemGetInfo *cuMemGetInfo; +tcuMemAlloc *cuMemAlloc; +tcuMemAllocPitch *cuMemAllocPitch; +tcuMemFree *cuMemFree; +tcuMemGetAddressRange *cuMemGetAddressRange; +tcuMemAllocHost *cuMemAllocHost; +tcuMemFreeHost *cuMemFreeHost; +tcuMemHostAlloc *cuMemHostAlloc; +tcuMemHostGetDevicePointer *cuMemHostGetDevicePointer; +tcuMemHostGetFlags *cuMemHostGetFlags; +tcuMemcpyHtoD *cuMemcpyHtoD; +tcuMemcpyDtoH *cuMemcpyDtoH; +tcuMemcpyDtoD *cuMemcpyDtoD; +tcuMemcpyDtoA *cuMemcpyDtoA; +tcuMemcpyAtoD *cuMemcpyAtoD; +tcuMemcpyHtoA *cuMemcpyHtoA; +tcuMemcpyAtoH *cuMemcpyAtoH; +tcuMemcpyAtoA *cuMemcpyAtoA; +tcuMemcpy2D *cuMemcpy2D; +tcuMemcpy2DUnaligned *cuMemcpy2DUnaligned; +tcuMemcpy3D *cuMemcpy3D; +tcuMemcpyHtoDAsync *cuMemcpyHtoDAsync; +tcuMemcpyDtoHAsync *cuMemcpyDtoHAsync; +tcuMemcpyDtoDAsync *cuMemcpyDtoDAsync; +tcuMemcpyHtoAAsync *cuMemcpyHtoAAsync; +tcuMemcpyAtoHAsync *cuMemcpyAtoHAsync; +tcuMemcpy2DAsync *cuMemcpy2DAsync; +tcuMemcpy3DAsync *cuMemcpy3DAsync; +tcuMemsetD8 *cuMemsetD8; +tcuMemsetD16 *cuMemsetD16; +tcuMemsetD32 *cuMemsetD32; +tcuMemsetD2D8 *cuMemsetD2D8; +tcuMemsetD2D16 *cuMemsetD2D16; +tcuMemsetD2D32 *cuMemsetD2D32; +tcuFuncSetBlockShape *cuFuncSetBlockShape; +tcuFuncSetSharedSize *cuFuncSetSharedSize; +tcuFuncGetAttribute *cuFuncGetAttribute; +tcuFuncSetCacheConfig *cuFuncSetCacheConfig; +tcuArrayCreate *cuArrayCreate; +tcuArrayGetDescriptor *cuArrayGetDescriptor; +tcuArrayDestroy *cuArrayDestroy; +tcuArray3DCreate *cuArray3DCreate; +tcuArray3DGetDescriptor *cuArray3DGetDescriptor; +tcuTexRefCreate *cuTexRefCreate; +tcuTexRefDestroy *cuTexRefDestroy; +tcuTexRefSetArray *cuTexRefSetArray; +tcuTexRefSetAddress *cuTexRefSetAddress; +tcuTexRefSetAddress2D *cuTexRefSetAddress2D; +tcuTexRefSetFormat *cuTexRefSetFormat; +tcuTexRefSetAddressMode *cuTexRefSetAddressMode; +tcuTexRefSetFilterMode *cuTexRefSetFilterMode; +tcuTexRefSetFlags *cuTexRefSetFlags; +tcuTexRefGetAddress *cuTexRefGetAddress; +tcuTexRefGetArray *cuTexRefGetArray; +tcuTexRefGetAddressMode *cuTexRefGetAddressMode; +tcuTexRefGetFilterMode *cuTexRefGetFilterMode; +tcuTexRefGetFormat *cuTexRefGetFormat; +tcuTexRefGetFlags *cuTexRefGetFlags; +tcuSurfRefSetArray *cuSurfRefSetArray; +tcuSurfRefGetArray *cuSurfRefGetArray; +tcuParamSetSize *cuParamSetSize; +tcuParamSeti *cuParamSeti; +tcuParamSetf *cuParamSetf; +tcuParamSetv *cuParamSetv; +tcuParamSetTexRef *cuParamSetTexRef; +tcuLaunch *cuLaunch; +tcuLaunchGrid *cuLaunchGrid; +tcuLaunchGridAsync *cuLaunchGridAsync; +tcuEventCreate *cuEventCreate; +tcuEventRecord *cuEventRecord; +tcuEventQuery *cuEventQuery; +tcuEventSynchronize *cuEventSynchronize; +tcuEventDestroy *cuEventDestroy; +tcuEventElapsedTime *cuEventElapsedTime; +tcuStreamCreate *cuStreamCreate; +tcuStreamQuery *cuStreamQuery; +tcuStreamSynchronize *cuStreamSynchronize; +tcuStreamDestroy *cuStreamDestroy; +tcuGraphicsUnregisterResource *cuGraphicsUnregisterResource; +tcuGraphicsSubResourceGetMappedArray *cuGraphicsSubResourceGetMappedArray; +tcuGraphicsResourceGetMappedPointer *cuGraphicsResourceGetMappedPointer; +tcuGraphicsResourceSetMapFlags *cuGraphicsResourceSetMapFlags; +tcuGraphicsMapResources *cuGraphicsMapResources; +tcuGraphicsUnmapResources *cuGraphicsUnmapResources; +tcuGetExportTable *cuGetExportTable; +tcuCtxSetLimit *cuCtxSetLimit; +tcuCtxGetLimit *cuCtxGetLimit; +tcuGLCtxCreate *cuGLCtxCreate; +tcuGraphicsGLRegisterBuffer *cuGraphicsGLRegisterBuffer; +tcuGraphicsGLRegisterImage *cuGraphicsGLRegisterImage; +tcuCtxSetCurrent *cuCtxSetCurrent; + +CCL_NAMESPACE_BEGIN + +/* utility macros */ + +#define CUDA_LIBRARY_FIND(name) \ + name = (t##name*)dynamic_library_find(lib, #name); \ + assert(name); + +#define CUDA_LIBRARY_FIND_V2(name) \ + name = (t##name*)dynamic_library_find(lib, #name "_v2"); \ + assert(name); + +/* initialization function */ + +bool cuLibraryInit() +{ + static bool initialized = false; + static bool result = false; + + if(initialized) + return result; + + initialized = true; + + /* library paths */ +#ifdef _WIN32 + /* expected in c:/windows/system or similar, no path needed */ + const char *path = "nvcuda.dll"; +#elif defined(__APPLE__) + /* default installation path */ + const char *path = "/usr/local/cuda/lib/libcuda.dylib"; +#else + const char *path = "libcuda.so"; +#endif + + /* load library */ + DynamicLibrary *lib = dynamic_library_open(path); + + if(lib == NULL) + return false; + + /* detect driver version */ + int driver_version = 1000; + + CUDA_LIBRARY_FIND(cuDriverGetVersion); + if(cuDriverGetVersion) + cuDriverGetVersion(&driver_version); + + /* we require version 4.0 */ + if(driver_version < 4000) + return false; + + /* fetch all function pointers */ + CUDA_LIBRARY_FIND(cuInit); + CUDA_LIBRARY_FIND(cuDeviceGet); + CUDA_LIBRARY_FIND(cuDeviceGetCount); + CUDA_LIBRARY_FIND(cuDeviceGetName); + CUDA_LIBRARY_FIND(cuDeviceComputeCapability); + CUDA_LIBRARY_FIND(cuDeviceTotalMem); + CUDA_LIBRARY_FIND(cuDeviceGetProperties); + CUDA_LIBRARY_FIND(cuDeviceGetAttribute); + CUDA_LIBRARY_FIND(cuCtxCreate); + CUDA_LIBRARY_FIND(cuCtxDestroy); + CUDA_LIBRARY_FIND(cuCtxAttach); + CUDA_LIBRARY_FIND(cuCtxDetach); + CUDA_LIBRARY_FIND(cuCtxPushCurrent); + CUDA_LIBRARY_FIND(cuCtxPopCurrent); + CUDA_LIBRARY_FIND(cuCtxGetDevice); + CUDA_LIBRARY_FIND(cuCtxSynchronize); + CUDA_LIBRARY_FIND(cuModuleLoad); + CUDA_LIBRARY_FIND(cuModuleLoadData); + CUDA_LIBRARY_FIND(cuModuleUnload); + CUDA_LIBRARY_FIND(cuModuleGetFunction); + CUDA_LIBRARY_FIND(cuModuleGetGlobal); + CUDA_LIBRARY_FIND(cuModuleGetTexRef); + CUDA_LIBRARY_FIND(cuMemGetInfo); + CUDA_LIBRARY_FIND(cuMemAlloc); + CUDA_LIBRARY_FIND(cuMemAllocPitch); + CUDA_LIBRARY_FIND(cuMemFree); + CUDA_LIBRARY_FIND(cuMemGetAddressRange); + CUDA_LIBRARY_FIND(cuMemAllocHost); + CUDA_LIBRARY_FIND(cuMemFreeHost); + CUDA_LIBRARY_FIND(cuMemHostAlloc); + CUDA_LIBRARY_FIND(cuMemHostGetDevicePointer); + CUDA_LIBRARY_FIND(cuMemcpyHtoD); + CUDA_LIBRARY_FIND(cuMemcpyDtoH); + CUDA_LIBRARY_FIND(cuMemcpyDtoD); + CUDA_LIBRARY_FIND(cuMemcpyDtoA); + CUDA_LIBRARY_FIND(cuMemcpyAtoD); + CUDA_LIBRARY_FIND(cuMemcpyHtoA); + CUDA_LIBRARY_FIND(cuMemcpyAtoH); + CUDA_LIBRARY_FIND(cuMemcpyAtoA); + CUDA_LIBRARY_FIND(cuMemcpy2D); + CUDA_LIBRARY_FIND(cuMemcpy2DUnaligned); + CUDA_LIBRARY_FIND(cuMemcpy3D); + CUDA_LIBRARY_FIND(cuMemcpyHtoDAsync); + CUDA_LIBRARY_FIND(cuMemcpyDtoHAsync); + CUDA_LIBRARY_FIND(cuMemcpyHtoAAsync); + CUDA_LIBRARY_FIND(cuMemcpyAtoHAsync); + CUDA_LIBRARY_FIND(cuMemcpy2DAsync); + CUDA_LIBRARY_FIND(cuMemcpy3DAsync); + CUDA_LIBRARY_FIND(cuMemsetD8); + CUDA_LIBRARY_FIND(cuMemsetD16); + CUDA_LIBRARY_FIND(cuMemsetD32); + CUDA_LIBRARY_FIND(cuMemsetD2D8); + CUDA_LIBRARY_FIND(cuMemsetD2D16); + CUDA_LIBRARY_FIND(cuMemsetD2D32); + CUDA_LIBRARY_FIND(cuFuncSetBlockShape); + CUDA_LIBRARY_FIND(cuFuncSetSharedSize); + CUDA_LIBRARY_FIND(cuFuncGetAttribute); + CUDA_LIBRARY_FIND(cuArrayCreate); + CUDA_LIBRARY_FIND(cuArrayGetDescriptor); + CUDA_LIBRARY_FIND(cuArrayDestroy); + CUDA_LIBRARY_FIND(cuArray3DCreate); + CUDA_LIBRARY_FIND(cuArray3DGetDescriptor); + CUDA_LIBRARY_FIND(cuTexRefCreate); + CUDA_LIBRARY_FIND(cuTexRefDestroy); + CUDA_LIBRARY_FIND(cuTexRefSetArray); + CUDA_LIBRARY_FIND(cuTexRefSetAddress); + CUDA_LIBRARY_FIND(cuTexRefSetAddress2D); + CUDA_LIBRARY_FIND(cuTexRefSetFormat); + CUDA_LIBRARY_FIND(cuTexRefSetAddressMode); + CUDA_LIBRARY_FIND(cuTexRefSetFilterMode); + CUDA_LIBRARY_FIND(cuTexRefSetFlags); + CUDA_LIBRARY_FIND(cuTexRefGetAddress); + CUDA_LIBRARY_FIND(cuTexRefGetArray); + CUDA_LIBRARY_FIND(cuTexRefGetAddressMode); + CUDA_LIBRARY_FIND(cuTexRefGetFilterMode); + CUDA_LIBRARY_FIND(cuTexRefGetFormat); + CUDA_LIBRARY_FIND(cuTexRefGetFlags); + CUDA_LIBRARY_FIND(cuParamSetSize); + CUDA_LIBRARY_FIND(cuParamSeti); + CUDA_LIBRARY_FIND(cuParamSetf); + CUDA_LIBRARY_FIND(cuParamSetv); + CUDA_LIBRARY_FIND(cuParamSetTexRef); + CUDA_LIBRARY_FIND(cuLaunch); + CUDA_LIBRARY_FIND(cuLaunchGrid); + CUDA_LIBRARY_FIND(cuLaunchGridAsync); + CUDA_LIBRARY_FIND(cuEventCreate); + CUDA_LIBRARY_FIND(cuEventRecord); + CUDA_LIBRARY_FIND(cuEventQuery); + CUDA_LIBRARY_FIND(cuEventSynchronize); + CUDA_LIBRARY_FIND(cuEventDestroy); + CUDA_LIBRARY_FIND(cuEventElapsedTime); + CUDA_LIBRARY_FIND(cuStreamCreate); + CUDA_LIBRARY_FIND(cuStreamQuery); + CUDA_LIBRARY_FIND(cuStreamSynchronize); + CUDA_LIBRARY_FIND(cuStreamDestroy); + + /* cuda 2.1 */ + CUDA_LIBRARY_FIND(cuModuleLoadDataEx); + CUDA_LIBRARY_FIND(cuModuleLoadFatBinary); + CUDA_LIBRARY_FIND(cuGLCtxCreate); + CUDA_LIBRARY_FIND(cuGraphicsGLRegisterBuffer); + CUDA_LIBRARY_FIND(cuGraphicsGLRegisterImage); + + /* cuda 2.3 */ + CUDA_LIBRARY_FIND(cuMemHostGetFlags); + CUDA_LIBRARY_FIND(cuGraphicsGLRegisterBuffer); + CUDA_LIBRARY_FIND(cuGraphicsGLRegisterImage); + + /* cuda 3.0 */ + CUDA_LIBRARY_FIND(cuMemcpyDtoDAsync); + CUDA_LIBRARY_FIND(cuFuncSetCacheConfig); + CUDA_LIBRARY_FIND(cuGraphicsUnregisterResource); + CUDA_LIBRARY_FIND(cuGraphicsSubResourceGetMappedArray); + CUDA_LIBRARY_FIND(cuGraphicsResourceGetMappedPointer); + CUDA_LIBRARY_FIND(cuGraphicsResourceSetMapFlags); + CUDA_LIBRARY_FIND(cuGraphicsMapResources); + CUDA_LIBRARY_FIND(cuGraphicsUnmapResources); + CUDA_LIBRARY_FIND(cuGetExportTable); + + /* cuda 3.1 */ + CUDA_LIBRARY_FIND(cuModuleGetSurfRef); + CUDA_LIBRARY_FIND(cuSurfRefSetArray); + CUDA_LIBRARY_FIND(cuSurfRefGetArray); + CUDA_LIBRARY_FIND(cuCtxSetLimit); + CUDA_LIBRARY_FIND(cuCtxGetLimit); + + /* functions which changed 3.1 -> 3.2 for 64 bit stuff, the cuda library + has both the old ones for compatibility and new ones with _v2 postfix, + we load the _v2 ones here. */ + CUDA_LIBRARY_FIND_V2(cuDeviceTotalMem); + CUDA_LIBRARY_FIND_V2(cuCtxCreate); + CUDA_LIBRARY_FIND_V2(cuModuleGetGlobal); + CUDA_LIBRARY_FIND_V2(cuMemGetInfo); + CUDA_LIBRARY_FIND_V2(cuMemAlloc); + CUDA_LIBRARY_FIND_V2(cuMemAllocPitch); + CUDA_LIBRARY_FIND_V2(cuMemFree); + CUDA_LIBRARY_FIND_V2(cuMemGetAddressRange); + CUDA_LIBRARY_FIND_V2(cuMemAllocHost); + CUDA_LIBRARY_FIND_V2(cuMemHostGetDevicePointer); + CUDA_LIBRARY_FIND_V2(cuMemcpyHtoD); + CUDA_LIBRARY_FIND_V2(cuMemcpyDtoH); + CUDA_LIBRARY_FIND_V2(cuMemcpyDtoD); + CUDA_LIBRARY_FIND_V2(cuMemcpyDtoA); + CUDA_LIBRARY_FIND_V2(cuMemcpyAtoD); + CUDA_LIBRARY_FIND_V2(cuMemcpyHtoA); + CUDA_LIBRARY_FIND_V2(cuMemcpyAtoH); + CUDA_LIBRARY_FIND_V2(cuMemcpyAtoA); + CUDA_LIBRARY_FIND_V2(cuMemcpyHtoAAsync); + CUDA_LIBRARY_FIND_V2(cuMemcpyAtoHAsync); + CUDA_LIBRARY_FIND_V2(cuMemcpy2D); + CUDA_LIBRARY_FIND_V2(cuMemcpy2DUnaligned); + CUDA_LIBRARY_FIND_V2(cuMemcpy3D); + CUDA_LIBRARY_FIND_V2(cuMemcpyHtoDAsync); + CUDA_LIBRARY_FIND_V2(cuMemcpyDtoHAsync); + CUDA_LIBRARY_FIND_V2(cuMemcpyDtoDAsync); + CUDA_LIBRARY_FIND_V2(cuMemcpy2DAsync); + CUDA_LIBRARY_FIND_V2(cuMemcpy3DAsync); + CUDA_LIBRARY_FIND_V2(cuMemsetD8); + CUDA_LIBRARY_FIND_V2(cuMemsetD16); + CUDA_LIBRARY_FIND_V2(cuMemsetD32); + CUDA_LIBRARY_FIND_V2(cuMemsetD2D8); + CUDA_LIBRARY_FIND_V2(cuMemsetD2D16); + CUDA_LIBRARY_FIND_V2(cuMemsetD2D32); + CUDA_LIBRARY_FIND_V2(cuArrayCreate); + CUDA_LIBRARY_FIND_V2(cuArrayGetDescriptor); + CUDA_LIBRARY_FIND_V2(cuArray3DCreate); + CUDA_LIBRARY_FIND_V2(cuArray3DGetDescriptor); + CUDA_LIBRARY_FIND_V2(cuTexRefSetAddress); + CUDA_LIBRARY_FIND_V2(cuTexRefSetAddress2D); + CUDA_LIBRARY_FIND_V2(cuTexRefGetAddress); + CUDA_LIBRARY_FIND_V2(cuGraphicsResourceGetMappedPointer); + CUDA_LIBRARY_FIND_V2(cuGLCtxCreate); + + /* cuda 4.0 */ + CUDA_LIBRARY_FIND(cuCtxSetCurrent); + + /* success */ + result = true; + + return result; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/util/util_cuda.h b/intern/cycles/util/util_cuda.h new file mode 100644 index 00000000000..ecfaddf43cb --- /dev/null +++ b/intern/cycles/util/util_cuda.h @@ -0,0 +1,619 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_CUDA_H__ +#define __UTIL_CUDA_H__ + +#include +#include "util_opengl.h" + +CCL_NAMESPACE_BEGIN + +/* CUDA is linked in dynamically at runtime, so we can start the application + * without requiring a CUDA installation. Code adapted from the example + * matrixMulDynlinkJIT in the CUDA SDK. */ + +bool cuLibraryInit(); + +CCL_NAMESPACE_END + +/* defines, structs, enums */ + +#define CUDA_VERSION 3020 + +#if defined(__x86_64) || defined(AMD64) || defined(_M_AMD64) +typedef unsigned long long CUdeviceptr; +#else +typedef unsigned int CUdeviceptr; +#endif + +typedef int CUdevice; +typedef struct CUctx_st *CUcontext; +typedef struct CUmod_st *CUmodule; +typedef struct CUfunc_st *CUfunction; +typedef struct CUarray_st *CUarray; +typedef struct CUtexref_st *CUtexref; +typedef struct CUsurfref_st *CUsurfref; +typedef struct CUevent_st *CUevent; +typedef struct CUstream_st *CUstream; +typedef struct CUgraphicsResource_st *CUgraphicsResource; + +typedef struct CUuuid_st { + char bytes[16]; +} CUuuid; + +typedef enum CUctx_flags_enum { + CU_CTX_SCHED_AUTO = 0, + CU_CTX_SCHED_SPIN = 1, + CU_CTX_SCHED_YIELD = 2, + CU_CTX_SCHED_MASK = 0x3, + CU_CTX_BLOCKING_SYNC = 4, + CU_CTX_MAP_HOST = 8, + CU_CTX_LMEM_RESIZE_TO_MAX = 16, + CU_CTX_FLAGS_MASK = 0x1f +} CUctx_flags; + +typedef enum CUevent_flags_enum { + CU_EVENT_DEFAULT = 0, + CU_EVENT_BLOCKING_SYNC = 1, + CU_EVENT_DISABLE_TIMING = 2 +} CUevent_flags; + +typedef enum CUarray_format_enum { + CU_AD_FORMAT_UNSIGNED_INT8 = 0x01, + CU_AD_FORMAT_UNSIGNED_INT16 = 0x02, + CU_AD_FORMAT_UNSIGNED_INT32 = 0x03, + CU_AD_FORMAT_SIGNED_INT8 = 0x08, + CU_AD_FORMAT_SIGNED_INT16 = 0x09, + CU_AD_FORMAT_SIGNED_INT32 = 0x0a, + CU_AD_FORMAT_HALF = 0x10, + CU_AD_FORMAT_FLOAT = 0x20 +} CUarray_format; + +typedef enum CUaddress_mode_enum { + CU_TR_ADDRESS_MODE_WRAP = 0, + CU_TR_ADDRESS_MODE_CLAMP = 1, + CU_TR_ADDRESS_MODE_MIRROR = 2, + CU_TR_ADDRESS_MODE_BORDER = 3 +} CUaddress_mode; + +typedef enum CUfilter_mode_enum { + CU_TR_FILTER_MODE_POINT = 0, + CU_TR_FILTER_MODE_LINEAR = 1 +} CUfilter_mode; + +typedef enum CUdevice_attribute_enum { + CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1, + CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X = 2, + CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y = 3, + CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z = 4, + CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X = 5, + CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y = 6, + CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z = 7, + CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK = 8, + CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK = 8, + CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY = 9, + CU_DEVICE_ATTRIBUTE_WARP_SIZE = 10, + CU_DEVICE_ATTRIBUTE_MAX_PITCH = 11, + CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK = 12, + CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK = 12, + CU_DEVICE_ATTRIBUTE_CLOCK_RATE = 13, + CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT = 14, + CU_DEVICE_ATTRIBUTE_GPU_OVERLAP = 15, + CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT = 16, + CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT = 17, + CU_DEVICE_ATTRIBUTE_INTEGRATED = 18, + CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY = 19, + CU_DEVICE_ATTRIBUTE_COMPUTE_MODE = 20, + CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH = 21, + CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH = 22, + CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT = 23, + CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH = 24, + CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT = 25, + CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH = 26, + CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH = 27, + CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT = 28, + CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES = 29, + CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT = 30, + CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS = 31, + CU_DEVICE_ATTRIBUTE_ECC_ENABLED = 32, + CU_DEVICE_ATTRIBUTE_PCI_BUS_ID = 33, + CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID = 34, + CU_DEVICE_ATTRIBUTE_TCC_DRIVER = 35 +} CUdevice_attribute; + +typedef struct CUdevprop_st { + int maxThreadsPerBlock; + int maxThreadsDim[3]; + int maxGridSize[3]; + int sharedMemPerBlock; + int totalConstantMemory; + int SIMDWidth; + int memPitch; + int regsPerBlock; + int clockRate; + int textureAlign; +} CUdevprop; + +typedef enum CUfunction_attribute_enum { + CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 0, + CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES = 1, + CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES = 2, + CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES = 3, + CU_FUNC_ATTRIBUTE_NUM_REGS = 4, + CU_FUNC_ATTRIBUTE_PTX_VERSION = 5, + CU_FUNC_ATTRIBUTE_BINARY_VERSION = 6, + CU_FUNC_ATTRIBUTE_MAX +} CUfunction_attribute; + +typedef enum CUfunc_cache_enum { + CU_FUNC_CACHE_PREFER_NONE = 0x00, + CU_FUNC_CACHE_PREFER_SHARED = 0x01, + CU_FUNC_CACHE_PREFER_L1 = 0x02 +} CUfunc_cache; + +typedef enum CUmemorytype_enum { + CU_MEMORYTYPE_HOST = 0x01, + CU_MEMORYTYPE_DEVICE = 0x02, + CU_MEMORYTYPE_ARRAY = 0x03 +} CUmemorytype; + +typedef enum CUcomputemode_enum { + CU_COMPUTEMODE_DEFAULT = 0, + CU_COMPUTEMODE_EXCLUSIVE = 1, + CU_COMPUTEMODE_PROHIBITED = 2 +} CUcomputemode; + +typedef enum CUjit_option_enum +{ + CU_JIT_MAX_REGISTERS = 0, + CU_JIT_THREADS_PER_BLOCK, + CU_JIT_WALL_TIME, + CU_JIT_INFO_LOG_BUFFER, + CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES, + CU_JIT_ERROR_LOG_BUFFER, + CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES, + CU_JIT_OPTIMIZATION_LEVEL, + CU_JIT_TARGET_FROM_CUCONTEXT, + CU_JIT_TARGET, + CU_JIT_FALLBACK_STRATEGY + +} CUjit_option; + +typedef enum CUjit_target_enum +{ + CU_TARGET_COMPUTE_10 = 0, + CU_TARGET_COMPUTE_11, + CU_TARGET_COMPUTE_12, + CU_TARGET_COMPUTE_13, + CU_TARGET_COMPUTE_20, + CU_TARGET_COMPUTE_21 +} CUjit_target; + +typedef enum CUjit_fallback_enum +{ + CU_PREFER_PTX = 0, + CU_PREFER_BINARY + +} CUjit_fallback; + +typedef enum CUgraphicsRegisterFlags_enum { + CU_GRAPHICS_REGISTER_FLAGS_NONE = 0x00 +} CUgraphicsRegisterFlags; + +typedef enum CUgraphicsMapResourceFlags_enum { + CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE = 0x00, + CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY = 0x01, + CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 0x02 +} CUgraphicsMapResourceFlags; + +typedef enum CUarray_cubemap_face_enum { + CU_CUBEMAP_FACE_POSITIVE_X = 0x00, + CU_CUBEMAP_FACE_NEGATIVE_X = 0x01, + CU_CUBEMAP_FACE_POSITIVE_Y = 0x02, + CU_CUBEMAP_FACE_NEGATIVE_Y = 0x03, + CU_CUBEMAP_FACE_POSITIVE_Z = 0x04, + CU_CUBEMAP_FACE_NEGATIVE_Z = 0x05 +} CUarray_cubemap_face; + +typedef enum CUlimit_enum { + CU_LIMIT_STACK_SIZE = 0x00, + CU_LIMIT_PRINTF_FIFO_SIZE = 0x01, + CU_LIMIT_MALLOC_HEAP_SIZE = 0x02 +} CUlimit; + +typedef enum cudaError_enum { + CUDA_SUCCESS = 0, + CUDA_ERROR_INVALID_VALUE = 1, + CUDA_ERROR_OUT_OF_MEMORY = 2, + CUDA_ERROR_NOT_INITIALIZED = 3, + CUDA_ERROR_DEINITIALIZED = 4, + CUDA_ERROR_NO_DEVICE = 100, + CUDA_ERROR_INVALID_DEVICE = 101, + CUDA_ERROR_INVALID_IMAGE = 200, + CUDA_ERROR_INVALID_CONTEXT = 201, + CUDA_ERROR_CONTEXT_ALREADY_CURRENT = 202, + CUDA_ERROR_MAP_FAILED = 205, + CUDA_ERROR_UNMAP_FAILED = 206, + CUDA_ERROR_ARRAY_IS_MAPPED = 207, + CUDA_ERROR_ALREADY_MAPPED = 208, + CUDA_ERROR_NO_BINARY_FOR_GPU = 209, + CUDA_ERROR_ALREADY_ACQUIRED = 210, + CUDA_ERROR_NOT_MAPPED = 211, + CUDA_ERROR_NOT_MAPPED_AS_ARRAY = 212, + CUDA_ERROR_NOT_MAPPED_AS_POINTER = 213, + CUDA_ERROR_ECC_UNCORRECTABLE = 214, + CUDA_ERROR_UNSUPPORTED_LIMIT = 215, + CUDA_ERROR_INVALID_SOURCE = 300, + CUDA_ERROR_FILE_NOT_FOUND = 301, + CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND = 302, + CUDA_ERROR_SHARED_OBJECT_INIT_FAILED = 303, + CUDA_ERROR_OPERATING_SYSTEM = 304, + CUDA_ERROR_INVALID_HANDLE = 400, + CUDA_ERROR_NOT_FOUND = 500, + CUDA_ERROR_NOT_READY = 600, + CUDA_ERROR_LAUNCH_FAILED = 700, + CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES = 701, + CUDA_ERROR_LAUNCH_TIMEOUT = 702, + CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING = 703, + CUDA_ERROR_UNKNOWN = 999 +} CUresult; + +#define CU_MEMHOSTALLOC_PORTABLE 0x01 +#define CU_MEMHOSTALLOC_DEVICEMAP 0x02 +#define CU_MEMHOSTALLOC_WRITECOMBINED 0x04 + +typedef struct CUDA_MEMCPY2D_st { + size_t srcXInBytes; + size_t srcY; + + CUmemorytype srcMemoryType; + const void *srcHost; + CUdeviceptr srcDevice; + CUarray srcArray; + size_t srcPitch; + + size_t dstXInBytes; + size_t dstY; + + CUmemorytype dstMemoryType; + void *dstHost; + CUdeviceptr dstDevice; + CUarray dstArray; + size_t dstPitch; + + size_t WidthInBytes; + size_t Height; +} CUDA_MEMCPY2D; + +typedef struct CUDA_MEMCPY3D_st { + size_t srcXInBytes; + size_t srcY; + size_t srcZ; + size_t srcLOD; + CUmemorytype srcMemoryType; + const void *srcHost; + CUdeviceptr srcDevice; + CUarray srcArray; + void *reserved0; + size_t srcPitch; + size_t srcHeight; + + size_t dstXInBytes; + size_t dstY; + size_t dstZ; + size_t dstLOD; + CUmemorytype dstMemoryType; + void *dstHost; + CUdeviceptr dstDevice; + CUarray dstArray; + void *reserved1; + size_t dstPitch; + size_t dstHeight; + + size_t WidthInBytes; + size_t Height; + size_t Depth; +} CUDA_MEMCPY3D; + +typedef struct CUDA_ARRAY_DESCRIPTOR_st +{ + size_t Width; + size_t Height; + + CUarray_format Format; + unsigned int NumChannels; +} CUDA_ARRAY_DESCRIPTOR; + +typedef struct CUDA_ARRAY3D_DESCRIPTOR_st +{ + size_t Width; + size_t Height; + size_t Depth; + + CUarray_format Format; + unsigned int NumChannels; + unsigned int Flags; +} CUDA_ARRAY3D_DESCRIPTOR; + +#define CUDA_ARRAY3D_2DARRAY 0x01 +#define CUDA_ARRAY3D_SURFACE_LDST 0x02 +#define CU_TRSA_OVERRIDE_FORMAT 0x01 +#define CU_TRSF_READ_AS_INTEGER 0x01 +#define CU_TRSF_NORMALIZED_COORDINATES 0x02 +#define CU_TRSF_SRGB 0x10 +#define CU_PARAM_TR_DEFAULT -1 + +#ifdef _WIN32 +#define CUDAAPI __stdcall +#else +#define CUDAAPI +#endif + +/* function types */ + +typedef CUresult CUDAAPI tcuInit(unsigned int Flags); +typedef CUresult CUDAAPI tcuDriverGetVersion(int *driverVersion); +typedef CUresult CUDAAPI tcuDeviceGet(CUdevice *device, int ordinal); +typedef CUresult CUDAAPI tcuDeviceGetCount(int *count); +typedef CUresult CUDAAPI tcuDeviceGetName(char *name, int len, CUdevice dev); +typedef CUresult CUDAAPI tcuDeviceComputeCapability(int *major, int *minor, CUdevice dev); +typedef CUresult CUDAAPI tcuDeviceTotalMem(size_t *bytes, CUdevice dev); +typedef CUresult CUDAAPI tcuDeviceGetProperties(CUdevprop *prop, CUdevice dev); +typedef CUresult CUDAAPI tcuDeviceGetAttribute(int *pi, CUdevice_attribute attrib, CUdevice dev); +typedef CUresult CUDAAPI tcuCtxCreate(CUcontext *pctx, unsigned int flags, CUdevice dev); +typedef CUresult CUDAAPI tcuCtxDestroy(CUcontext ctx); +typedef CUresult CUDAAPI tcuCtxAttach(CUcontext *pctx, unsigned int flags); +typedef CUresult CUDAAPI tcuCtxDetach(CUcontext ctx); +typedef CUresult CUDAAPI tcuCtxPushCurrent(CUcontext ctx ); +typedef CUresult CUDAAPI tcuCtxPopCurrent(CUcontext *pctx); +typedef CUresult CUDAAPI tcuCtxGetDevice(CUdevice *device); +typedef CUresult CUDAAPI tcuCtxSynchronize(void); +typedef CUresult CUDAAPI tcuCtxSetLimit(CUlimit limit, size_t value); +typedef CUresult CUDAAPI tcuCtxGetLimit(size_t *pvalue, CUlimit limit); +typedef CUresult CUDAAPI tcuCtxGetCacheConfig(CUfunc_cache *pconfig); +typedef CUresult CUDAAPI tcuCtxSetCacheConfig(CUfunc_cache config); +typedef CUresult CUDAAPI tcuCtxGetApiVersion(CUcontext ctx, unsigned int *version); +typedef CUresult CUDAAPI tcuModuleLoad(CUmodule *module, const char *fname); +typedef CUresult CUDAAPI tcuModuleLoadData(CUmodule *module, const void *image); +typedef CUresult CUDAAPI tcuModuleLoadDataEx(CUmodule *module, const void *image, unsigned int numOptions, CUjit_option *options, void **optionValues); +typedef CUresult CUDAAPI tcuModuleLoadFatBinary(CUmodule *module, const void *fatCubin); +typedef CUresult CUDAAPI tcuModuleUnload(CUmodule hmod); +typedef CUresult CUDAAPI tcuModuleGetFunction(CUfunction *hfunc, CUmodule hmod, const char *name); +typedef CUresult CUDAAPI tcuModuleGetGlobal(CUdeviceptr *dptr, size_t *bytes, CUmodule hmod, const char *name); +typedef CUresult CUDAAPI tcuModuleGetTexRef(CUtexref *pTexRef, CUmodule hmod, const char *name); +typedef CUresult CUDAAPI tcuModuleGetSurfRef(CUsurfref *pSurfRef, CUmodule hmod, const char *name); +typedef CUresult CUDAAPI tcuMemGetInfo(size_t *free, size_t *total); +typedef CUresult CUDAAPI tcuMemAlloc(CUdeviceptr *dptr, size_t bytesize); +typedef CUresult CUDAAPI tcuMemAllocPitch(CUdeviceptr *dptr, size_t *pPitch, size_t WidthInBytes, size_t Height, unsigned int ElementSizeBytes); +typedef CUresult CUDAAPI tcuMemFree(CUdeviceptr dptr); +typedef CUresult CUDAAPI tcuMemGetAddressRange(CUdeviceptr *pbase, size_t *psize, CUdeviceptr dptr); +typedef CUresult CUDAAPI tcuMemAllocHost(void **pp, size_t bytesize); +typedef CUresult CUDAAPI tcuMemFreeHost(void *p); +typedef CUresult CUDAAPI tcuMemHostAlloc(void **pp, size_t bytesize, unsigned int Flags); +typedef CUresult CUDAAPI tcuMemHostGetDevicePointer(CUdeviceptr *pdptr, void *p, unsigned int Flags); +typedef CUresult CUDAAPI tcuMemHostGetFlags(unsigned int *pFlags, void *p); +typedef CUresult CUDAAPI tcuMemcpyHtoD(CUdeviceptr dstDevice, const void *srcHost, size_t ByteCount); +typedef CUresult CUDAAPI tcuMemcpyDtoH(void *dstHost, CUdeviceptr srcDevice, size_t ByteCount); +typedef CUresult CUDAAPI tcuMemcpyDtoD(CUdeviceptr dstDevice, CUdeviceptr srcDevice, size_t ByteCount); +typedef CUresult CUDAAPI tcuMemcpyDtoA(CUarray dstArray, size_t dstOffset, CUdeviceptr srcDevice, size_t ByteCount); +typedef CUresult CUDAAPI tcuMemcpyAtoD(CUdeviceptr dstDevice, CUarray srcArray, size_t srcOffset, size_t ByteCount); +typedef CUresult CUDAAPI tcuMemcpyHtoA(CUarray dstArray, size_t dstOffset, const void *srcHost, size_t ByteCount); +typedef CUresult CUDAAPI tcuMemcpyAtoH(void *dstHost, CUarray srcArray, size_t srcOffset, size_t ByteCount); +typedef CUresult CUDAAPI tcuMemcpyAtoA(CUarray dstArray, size_t dstOffset, CUarray srcArray, size_t srcOffset, size_t ByteCount); +typedef CUresult CUDAAPI tcuMemcpy2D(const CUDA_MEMCPY2D *pCopy); +typedef CUresult CUDAAPI tcuMemcpy2DUnaligned(const CUDA_MEMCPY2D *pCopy); +typedef CUresult CUDAAPI tcuMemcpy3D(const CUDA_MEMCPY3D *pCopy); +typedef CUresult CUDAAPI tcuMemcpyHtoDAsync(CUdeviceptr dstDevice, const void *srcHost, size_t ByteCount, CUstream hStream); +typedef CUresult CUDAAPI tcuMemcpyDtoHAsync(void *dstHost, CUdeviceptr srcDevice, size_t ByteCount, CUstream hStream); +typedef CUresult CUDAAPI tcuMemcpyDtoDAsync(CUdeviceptr dstDevice, CUdeviceptr srcDevice, size_t ByteCount, CUstream hStream); +typedef CUresult CUDAAPI tcuMemcpyHtoAAsync(CUarray dstArray, size_t dstOffset, const void *srcHost, size_t ByteCount, CUstream hStream); +typedef CUresult CUDAAPI tcuMemcpyAtoHAsync(void *dstHost, CUarray srcArray, size_t srcOffset, size_t ByteCount, CUstream hStream); +typedef CUresult CUDAAPI tcuMemcpy2DAsync(const CUDA_MEMCPY2D *pCopy, CUstream hStream); +typedef CUresult CUDAAPI tcuMemcpy3DAsync(const CUDA_MEMCPY3D *pCopy, CUstream hStream); +typedef CUresult CUDAAPI tcuMemsetD8(CUdeviceptr dstDevice, unsigned char uc, size_t N); +typedef CUresult CUDAAPI tcuMemsetD16(CUdeviceptr dstDevice, unsigned short us, size_t N); +typedef CUresult CUDAAPI tcuMemsetD32(CUdeviceptr dstDevice, unsigned int ui, size_t N); +typedef CUresult CUDAAPI tcuMemsetD2D8(CUdeviceptr dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height); +typedef CUresult CUDAAPI tcuMemsetD2D16(CUdeviceptr dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height); +typedef CUresult CUDAAPI tcuMemsetD2D32(CUdeviceptr dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height); +typedef CUresult CUDAAPI tcuMemsetD8Async(CUdeviceptr dstDevice, unsigned char uc, size_t N, CUstream hStream); +typedef CUresult CUDAAPI tcuMemsetD16Async(CUdeviceptr dstDevice, unsigned short us, size_t N, CUstream hStream); +typedef CUresult CUDAAPI tcuMemsetD32Async(CUdeviceptr dstDevice, unsigned int ui, size_t N, CUstream hStream); +typedef CUresult CUDAAPI tcuMemsetD2D8Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned char uc, size_t Width, size_t Height, CUstream hStream); +typedef CUresult CUDAAPI tcuMemsetD2D16Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned short us, size_t Width, size_t Height, CUstream hStream); +typedef CUresult CUDAAPI tcuMemsetD2D32Async(CUdeviceptr dstDevice, size_t dstPitch, unsigned int ui, size_t Width, size_t Height, CUstream hStream); +typedef CUresult CUDAAPI tcuArrayCreate(CUarray *pHandle, const CUDA_ARRAY_DESCRIPTOR *pAllocateArray); +typedef CUresult CUDAAPI tcuArrayGetDescriptor(CUDA_ARRAY_DESCRIPTOR *pArrayDescriptor, CUarray hArray); +typedef CUresult CUDAAPI tcuArrayDestroy(CUarray hArray); +typedef CUresult CUDAAPI tcuArray3DCreate(CUarray *pHandle, const CUDA_ARRAY3D_DESCRIPTOR *pAllocateArray); +typedef CUresult CUDAAPI tcuArray3DGetDescriptor(CUDA_ARRAY3D_DESCRIPTOR *pArrayDescriptor, CUarray hArray); +typedef CUresult CUDAAPI tcuStreamCreate(CUstream *phStream, unsigned int Flags); +typedef CUresult CUDAAPI tcuStreamWaitEvent(CUstream hStream, CUevent hEvent, unsigned int Flags); +typedef CUresult CUDAAPI tcuStreamQuery(CUstream hStream); +typedef CUresult CUDAAPI tcuStreamSynchronize(CUstream hStream); +typedef CUresult CUDAAPI tcuStreamDestroy(CUstream hStream); +typedef CUresult CUDAAPI tcuEventCreate(CUevent *phEvent, unsigned int Flags); +typedef CUresult CUDAAPI tcuEventRecord(CUevent hEvent, CUstream hStream); +typedef CUresult CUDAAPI tcuEventQuery(CUevent hEvent); +typedef CUresult CUDAAPI tcuEventSynchronize(CUevent hEvent); +typedef CUresult CUDAAPI tcuEventDestroy(CUevent hEvent); +typedef CUresult CUDAAPI tcuEventElapsedTime(float *pMilliseconds, CUevent hStart, CUevent hEnd); +typedef CUresult CUDAAPI tcuFuncSetBlockShape(CUfunction hfunc, int x, int y, int z); +typedef CUresult CUDAAPI tcuFuncSetSharedSize(CUfunction hfunc, unsigned int bytes); +typedef CUresult CUDAAPI tcuFuncGetAttribute(int *pi, CUfunction_attribute attrib, CUfunction hfunc); +typedef CUresult CUDAAPI tcuFuncSetCacheConfig(CUfunction hfunc, CUfunc_cache config); +typedef CUresult CUDAAPI tcuParamSetSize(CUfunction hfunc, unsigned int numbytes); +typedef CUresult CUDAAPI tcuParamSeti(CUfunction hfunc, int offset, unsigned int value); +typedef CUresult CUDAAPI tcuParamSetf(CUfunction hfunc, int offset, float value); +typedef CUresult CUDAAPI tcuParamSetv(CUfunction hfunc, int offset, void *ptr, unsigned int numbytes); +typedef CUresult CUDAAPI tcuLaunch(CUfunction f); +typedef CUresult CUDAAPI tcuLaunchGrid(CUfunction f, int grid_width, int grid_height); +typedef CUresult CUDAAPI tcuLaunchGridAsync(CUfunction f, int grid_width, int grid_height, CUstream hStream); +typedef CUresult CUDAAPI tcuParamSetTexRef(CUfunction hfunc, int texunit, CUtexref hTexRef); +typedef CUresult CUDAAPI tcuTexRefSetArray(CUtexref hTexRef, CUarray hArray, unsigned int Flags); +typedef CUresult CUDAAPI tcuTexRefSetAddress(size_t *ByteOffset, CUtexref hTexRef, CUdeviceptr dptr, size_t bytes); +typedef CUresult CUDAAPI tcuTexRefSetAddress2D(CUtexref hTexRef, const CUDA_ARRAY_DESCRIPTOR *desc, CUdeviceptr dptr, size_t Pitch); +typedef CUresult CUDAAPI tcuTexRefSetFormat(CUtexref hTexRef, CUarray_format fmt, int NumPackedComponents); +typedef CUresult CUDAAPI tcuTexRefSetAddressMode(CUtexref hTexRef, int dim, CUaddress_mode am); +typedef CUresult CUDAAPI tcuTexRefSetFilterMode(CUtexref hTexRef, CUfilter_mode fm); +typedef CUresult CUDAAPI tcuTexRefSetFlags(CUtexref hTexRef, unsigned int Flags); +typedef CUresult CUDAAPI tcuTexRefGetAddress(CUdeviceptr *pdptr, CUtexref hTexRef); +typedef CUresult CUDAAPI tcuTexRefGetArray(CUarray *phArray, CUtexref hTexRef); +typedef CUresult CUDAAPI tcuTexRefGetAddressMode(CUaddress_mode *pam, CUtexref hTexRef, int dim); +typedef CUresult CUDAAPI tcuTexRefGetFilterMode(CUfilter_mode *pfm, CUtexref hTexRef); +typedef CUresult CUDAAPI tcuTexRefGetFormat(CUarray_format *pFormat, int *pNumChannels, CUtexref hTexRef); +typedef CUresult CUDAAPI tcuTexRefGetFlags(unsigned int *pFlags, CUtexref hTexRef); +typedef CUresult CUDAAPI tcuTexRefCreate(CUtexref *pTexRef); +typedef CUresult CUDAAPI tcuTexRefDestroy(CUtexref hTexRef); +typedef CUresult CUDAAPI tcuSurfRefSetArray(CUsurfref hSurfRef, CUarray hArray, unsigned int Flags); +typedef CUresult CUDAAPI tcuSurfRefGetArray(CUarray *phArray, CUsurfref hSurfRef); +typedef CUresult CUDAAPI tcuGraphicsUnregisterResource(CUgraphicsResource resource); +typedef CUresult CUDAAPI tcuGraphicsSubResourceGetMappedArray(CUarray *pArray, CUgraphicsResource resource, unsigned int arrayIndex, unsigned int mipLevel); +typedef CUresult CUDAAPI tcuGraphicsResourceGetMappedPointer(CUdeviceptr *pDevPtr, size_t *pSize, CUgraphicsResource resource); +typedef CUresult CUDAAPI tcuGraphicsResourceSetMapFlags(CUgraphicsResource resource, unsigned int flags); +typedef CUresult CUDAAPI tcuGraphicsMapResources(unsigned int count, CUgraphicsResource *resources, CUstream hStream); +typedef CUresult CUDAAPI tcuGraphicsUnmapResources(unsigned int count, CUgraphicsResource *resources, CUstream hStream); +typedef CUresult CUDAAPI tcuGetExportTable(const void **ppExportTable, const CUuuid *pExportTableId); +typedef CUresult CUDAAPI tcuGLCtxCreate(CUcontext *pCtx, unsigned int Flags, CUdevice device ); +typedef CUresult CUDAAPI tcuGraphicsGLRegisterBuffer(CUgraphicsResource *pCudaResource, GLuint buffer, unsigned int Flags); +typedef CUresult CUDAAPI tcuGraphicsGLRegisterImage(CUgraphicsResource *pCudaResource, GLuint image, GLenum target, unsigned int Flags); +typedef CUresult CUDAAPI tcuCtxSetCurrent(CUcontext ctx); + +/* function declarations */ + +extern tcuInit *cuInit; +extern tcuDriverGetVersion *cuDriverGetVersion; +extern tcuDeviceGet *cuDeviceGet; +extern tcuDeviceGetCount *cuDeviceGetCount; +extern tcuDeviceGetName *cuDeviceGetName; +extern tcuDeviceComputeCapability *cuDeviceComputeCapability; +extern tcuDeviceTotalMem *cuDeviceTotalMem; +extern tcuDeviceGetProperties *cuDeviceGetProperties; +extern tcuDeviceGetAttribute *cuDeviceGetAttribute; +extern tcuCtxCreate *cuCtxCreate; +extern tcuCtxDestroy *cuCtxDestroy; +extern tcuCtxAttach *cuCtxAttach; +extern tcuCtxDetach *cuCtxDetach; +extern tcuCtxPushCurrent *cuCtxPushCurrent; +extern tcuCtxPopCurrent *cuCtxPopCurrent; +extern tcuCtxGetDevice *cuCtxGetDevice; +extern tcuCtxSynchronize *cuCtxSynchronize; +extern tcuModuleLoad *cuModuleLoad; +extern tcuModuleLoadData *cuModuleLoadData; +extern tcuModuleLoadDataEx *cuModuleLoadDataEx; +extern tcuModuleLoadFatBinary *cuModuleLoadFatBinary; +extern tcuModuleUnload *cuModuleUnload; +extern tcuModuleGetFunction *cuModuleGetFunction; +extern tcuModuleGetGlobal *cuModuleGetGlobal; +extern tcuModuleGetTexRef *cuModuleGetTexRef; +extern tcuModuleGetSurfRef *cuModuleGetSurfRef; +extern tcuMemGetInfo *cuMemGetInfo; +extern tcuMemAlloc *cuMemAlloc; +extern tcuMemAllocPitch *cuMemAllocPitch; +extern tcuMemFree *cuMemFree; +extern tcuMemGetAddressRange *cuMemGetAddressRange; +extern tcuMemAllocHost *cuMemAllocHost; +extern tcuMemFreeHost *cuMemFreeHost; +extern tcuMemHostAlloc *cuMemHostAlloc; +extern tcuMemHostGetDevicePointer *cuMemHostGetDevicePointer; +extern tcuMemHostGetFlags *cuMemHostGetFlags; +extern tcuMemcpyHtoD *cuMemcpyHtoD; +extern tcuMemcpyDtoH *cuMemcpyDtoH; +extern tcuMemcpyDtoD *cuMemcpyDtoD; +extern tcuMemcpyDtoA *cuMemcpyDtoA; +extern tcuMemcpyAtoD *cuMemcpyAtoD; +extern tcuMemcpyHtoA *cuMemcpyHtoA; +extern tcuMemcpyAtoH *cuMemcpyAtoH; +extern tcuMemcpyAtoA *cuMemcpyAtoA; +extern tcuMemcpy2D *cuMemcpy2D; +extern tcuMemcpy2DUnaligned *cuMemcpy2DUnaligned; +extern tcuMemcpy3D *cuMemcpy3D; +extern tcuMemcpyHtoDAsync *cuMemcpyHtoDAsync; +extern tcuMemcpyDtoHAsync *cuMemcpyDtoHAsync; +extern tcuMemcpyDtoDAsync *cuMemcpyDtoDAsync; +extern tcuMemcpyHtoAAsync *cuMemcpyHtoAAsync; +extern tcuMemcpyAtoHAsync *cuMemcpyAtoHAsync; +extern tcuMemcpy2DAsync *cuMemcpy2DAsync; +extern tcuMemcpy3DAsync *cuMemcpy3DAsync; +extern tcuMemsetD8 *cuMemsetD8; +extern tcuMemsetD16 *cuMemsetD16; +extern tcuMemsetD32 *cuMemsetD32; +extern tcuMemsetD2D8 *cuMemsetD2D8; +extern tcuMemsetD2D16 *cuMemsetD2D16; +extern tcuMemsetD2D32 *cuMemsetD2D32; +extern tcuFuncSetBlockShape *cuFuncSetBlockShape; +extern tcuFuncSetSharedSize *cuFuncSetSharedSize; +extern tcuFuncGetAttribute *cuFuncGetAttribute; +extern tcuFuncSetCacheConfig *cuFuncSetCacheConfig; +extern tcuArrayCreate *cuArrayCreate; +extern tcuArrayGetDescriptor *cuArrayGetDescriptor; +extern tcuArrayDestroy *cuArrayDestroy; +extern tcuArray3DCreate *cuArray3DCreate; +extern tcuArray3DGetDescriptor *cuArray3DGetDescriptor; +extern tcuTexRefCreate *cuTexRefCreate; +extern tcuTexRefDestroy *cuTexRefDestroy; +extern tcuTexRefSetArray *cuTexRefSetArray; +extern tcuTexRefSetAddress *cuTexRefSetAddress; +extern tcuTexRefSetAddress2D *cuTexRefSetAddress2D; +extern tcuTexRefSetFormat *cuTexRefSetFormat; +extern tcuTexRefSetAddressMode *cuTexRefSetAddressMode; +extern tcuTexRefSetFilterMode *cuTexRefSetFilterMode; +extern tcuTexRefSetFlags *cuTexRefSetFlags; +extern tcuTexRefGetAddress *cuTexRefGetAddress; +extern tcuTexRefGetArray *cuTexRefGetArray; +extern tcuTexRefGetAddressMode *cuTexRefGetAddressMode; +extern tcuTexRefGetFilterMode *cuTexRefGetFilterMode; +extern tcuTexRefGetFormat *cuTexRefGetFormat; +extern tcuTexRefGetFlags *cuTexRefGetFlags; +extern tcuSurfRefSetArray *cuSurfRefSetArray; +extern tcuSurfRefGetArray *cuSurfRefGetArray; +extern tcuParamSetSize *cuParamSetSize; +extern tcuParamSeti *cuParamSeti; +extern tcuParamSetf *cuParamSetf; +extern tcuParamSetv *cuParamSetv; +extern tcuParamSetTexRef *cuParamSetTexRef; +extern tcuLaunch *cuLaunch; +extern tcuLaunchGrid *cuLaunchGrid; +extern tcuLaunchGridAsync *cuLaunchGridAsync; +extern tcuEventCreate *cuEventCreate; +extern tcuEventRecord *cuEventRecord; +extern tcuEventQuery *cuEventQuery; +extern tcuEventSynchronize *cuEventSynchronize; +extern tcuEventDestroy *cuEventDestroy; +extern tcuEventElapsedTime *cuEventElapsedTime; +extern tcuStreamCreate *cuStreamCreate; +extern tcuStreamQuery *cuStreamQuery; +extern tcuStreamSynchronize *cuStreamSynchronize; +extern tcuStreamDestroy *cuStreamDestroy; +extern tcuGraphicsUnregisterResource *cuGraphicsUnregisterResource; +extern tcuGraphicsSubResourceGetMappedArray *cuGraphicsSubResourceGetMappedArray; +extern tcuGraphicsResourceGetMappedPointer *cuGraphicsResourceGetMappedPointer; +extern tcuGraphicsResourceSetMapFlags *cuGraphicsResourceSetMapFlags; +extern tcuGraphicsMapResources *cuGraphicsMapResources; +extern tcuGraphicsUnmapResources *cuGraphicsUnmapResources; +extern tcuGetExportTable *cuGetExportTable; +extern tcuCtxSetLimit *cuCtxSetLimit; +extern tcuCtxGetLimit *cuCtxGetLimit; +extern tcuGLCtxCreate *cuGLCtxCreate; +extern tcuGraphicsGLRegisterBuffer *cuGraphicsGLRegisterBuffer; +extern tcuGraphicsGLRegisterImage *cuGraphicsGLRegisterImage; +extern tcuCtxSetCurrent *cuCtxSetCurrent; + +#endif /* __UTIL_CUDA_H__ */ + diff --git a/intern/cycles/util/util_debug.h b/intern/cycles/util/util_debug.h new file mode 100644 index 00000000000..17c169859ec --- /dev/null +++ b/intern/cycles/util/util_debug.h @@ -0,0 +1,25 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_DEBUG_H__ +#define __UTIL_DEBUG_H__ + +#include + +#endif /* __UTIL_DEBUG_H__ */ + diff --git a/intern/cycles/util/util_dynlib.cpp b/intern/cycles/util/util_dynlib.cpp new file mode 100644 index 00000000000..5836073a07a --- /dev/null +++ b/intern/cycles/util/util_dynlib.cpp @@ -0,0 +1,96 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include + +#include "util_dynlib.h" + +#ifdef _WIN32 + +#include + +CCL_NAMESPACE_BEGIN + +struct DynamicLibrary { + HMODULE module; +}; + +DynamicLibrary *dynamic_library_open(const char *name) +{ + HMODULE module = LoadLibrary(name); + + if(!module) + return NULL; + + DynamicLibrary *lib = new DynamicLibrary(); + lib->module = module; + + return lib; +} + +void *dynamic_library_find(DynamicLibrary *lib, const char *name) +{ + return (void*)GetProcAddress(lib->module, name); +} + +void dynamic_library_close(DynamicLibrary *lib) +{ + FreeLibrary(lib->module); + delete lib; +} + +CCL_NAMESPACE_END + +#else + +#include + +CCL_NAMESPACE_BEGIN + +struct DynamicLibrary { + void *module; +}; + +DynamicLibrary *dynamic_library_open(const char *name) +{ + void *module = dlopen(name, RTLD_NOW); + + if(!module) + return NULL; + + DynamicLibrary *lib = new DynamicLibrary(); + lib->module = module; + + return lib; +} + +void *dynamic_library_find(DynamicLibrary *lib, const char *name) +{ + return dlsym(lib->module, name); +} + +void dynamic_library_close(DynamicLibrary *lib) +{ + dlclose(lib->module); + delete lib; +} + +CCL_NAMESPACE_END + +#endif + diff --git a/intern/cycles/util/util_dynlib.h b/intern/cycles/util/util_dynlib.h new file mode 100644 index 00000000000..888fb6cef24 --- /dev/null +++ b/intern/cycles/util/util_dynlib.h @@ -0,0 +1,33 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_DYNLIB_H__ +#define __UTIL_DYNLIB_H__ + +CCL_NAMESPACE_BEGIN + +struct DynamicLibrary; + +DynamicLibrary *dynamic_library_open(const char *name); +void *dynamic_library_find(DynamicLibrary *lib, const char *name); +void dynamic_library_close(DynamicLibrary *lib); + +CCL_NAMESPACE_END + +#endif /* __UTIL_DYNLIB_H__ */ + diff --git a/intern/cycles/util/util_foreach.h b/intern/cycles/util/util_foreach.h new file mode 100644 index 00000000000..b8298c003b5 --- /dev/null +++ b/intern/cycles/util/util_foreach.h @@ -0,0 +1,28 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_FOREACH_H__ +#define __UTIL_FOREACH_H__ + +/* Use Boost to get nice foreach() loops for STL data structures. */ + +#include +#define foreach BOOST_FOREACH + +#endif /* __UTIL_FOREACH_H__ */ + diff --git a/intern/cycles/util/util_function.h b/intern/cycles/util/util_function.h new file mode 100644 index 00000000000..dfcd58183d9 --- /dev/null +++ b/intern/cycles/util/util_function.h @@ -0,0 +1,33 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_FUNCTION_H__ +#define __UTIL_FUNCTION_H__ + +#include +#include + +CCL_NAMESPACE_BEGIN + +using boost::function; +#define function_bind boost::bind + +CCL_NAMESPACE_END + +#endif /* __UTIL_FUNCTION_H__ */ + diff --git a/intern/cycles/util/util_hash.h b/intern/cycles/util/util_hash.h new file mode 100644 index 00000000000..0b7164403f2 --- /dev/null +++ b/intern/cycles/util/util_hash.h @@ -0,0 +1,50 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_HASH_H__ +#define __UTIL_HASH_H__ + +CCL_NAMESPACE_BEGIN + +static unsigned int hash_int_2d(unsigned int kx, unsigned int ky) +{ + #define rot(x,k) (((x)<<(k)) | ((x)>>(32-(k)))) + + unsigned int a, b, c; + + a = b = c = 0xdeadbeef + (2 << 2) + 13; + a += kx; + b += ky; + + c ^= b; c -= rot(b,14); + a ^= c; a -= rot(c,11); + b ^= a; b -= rot(a,25); + c ^= b; c -= rot(b,16); + a ^= c; a -= rot(c,4); + b ^= a; b -= rot(a,14); + c ^= b; c -= rot(b,24); + + return c; + + #undef rot +} + +CCL_NAMESPACE_END + +#endif /* __UTIL_HASH_H__ */ + diff --git a/intern/cycles/util/util_image.h b/intern/cycles/util/util_image.h new file mode 100644 index 00000000000..df566ccc79c --- /dev/null +++ b/intern/cycles/util/util_image.h @@ -0,0 +1,33 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_IMAGE_H__ +#define __UTIL_IMAGE_H__ + +/* OpenImageIO is used for all image file reading and writing. */ + +#include + +CCL_NAMESPACE_BEGIN + +OIIO_NAMESPACE_USING + +CCL_NAMESPACE_END + +#endif /* __UTIL_IMAGE_H__ */ + diff --git a/intern/cycles/util/util_list.h b/intern/cycles/util/util_list.h new file mode 100644 index 00000000000..d8f79643469 --- /dev/null +++ b/intern/cycles/util/util_list.h @@ -0,0 +1,31 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_LIST_H__ +#define __UTIL_LIST_H__ + +#include + +CCL_NAMESPACE_BEGIN + +using std::list; + +CCL_NAMESPACE_END + +#endif /* __UTIL_LIST_H__ */ + diff --git a/intern/cycles/util/util_map.h b/intern/cycles/util/util_map.h new file mode 100644 index 00000000000..884f45c3b27 --- /dev/null +++ b/intern/cycles/util/util_map.h @@ -0,0 +1,34 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_MAP_H__ +#define __UTIL_MAP_H__ + +#include +#include + +CCL_NAMESPACE_BEGIN + +using std::map; +using std::pair; +using std::tr1::unordered_map; + +CCL_NAMESPACE_END + +#endif /* __UTIL_MAP_H__ */ + diff --git a/intern/cycles/util/util_math.h b/intern/cycles/util/util_math.h new file mode 100644 index 00000000000..349496e4a70 --- /dev/null +++ b/intern/cycles/util/util_math.h @@ -0,0 +1,759 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_MATH_H__ +#define __UTIL_MATH_H__ + +/* Math + * + * Basic math functions on scalar and vector types. This header is used by + * both the kernel code when compiled as C++, and other C++ non-kernel code. */ + +#ifndef __KERNEL_OPENCL__ + +#define _USE_MATH_DEFINES + +#include +#include +#include + +#endif + +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +#define M_PI_F ((float)3.14159265358979323846264338327950288) +#define M_PI_2_F ((float)1.57079632679489661923132169163975144) +#define M_PI_4_F ((float)0.785398163397448309615660845819875721) +#define M_1_PI_F ((float)0.318309886183790671537767526745028724) +#define M_2_PI_F ((float)0.636619772367581343075535053490057448) + +/* Scalar */ + +#ifdef _WIN32 + +#define copysignf _copysign + +__device_inline float fmaxf(float a, float b) +{ + return (a > b)? a: b; +} + +__device_inline float fminf(float a, float b) +{ + return (a < b)? a: b; +} + +#endif + +#ifndef __KERNEL_OPENCL__ + +__device_inline int max(int a, int b) +{ + return (a > b)? a: b; +} + +__device_inline int min(int a, int b) +{ + return (a < b)? a: b; +} + +__device_inline float max(float a, float b) +{ + return (a > b)? a: b; +} + +__device_inline float min(float a, float b) +{ + return (a < b)? a: b; +} + +#endif + +__device_inline float min4(float a, float b, float c, float d) +{ + return min(min(min(a, b), c), d); +} + +__device_inline float max4(float a, float b, float c, float d) +{ + return max(max(max(a, b), c), d); +} + +#ifndef __KERNEL_OPENCL__ + +__device_inline int clamp(int a, int mn, int mx) +{ + return min(max(a, mn), mx); +} + +__device_inline float clamp(float a, float mn, float mx) +{ + return min(max(a, mn), mx); +} + +#endif + +__device_inline float signf(float f) +{ + return (f < 0.0f)? -1.0f: 1.0f; +} + +__device_inline float nonzerof(float f, float eps) +{ + if(fabsf(f) < eps) + return signf(f)*eps; + else + return f; +} + +/* Float2 Vector */ + +#ifndef __KERNEL_OPENCL__ + +__device_inline bool is_zero(const float2 a) +{ + return (a.x == 0.0f && a.y == 0.0f); +} + +#endif + +#ifndef __KERNEL_OPENCL__ + +__device_inline float average(const float2 a) +{ + return (a.x + a.y)*(1.0f/2.0f); +} + +#endif + +#ifndef __KERNEL_OPENCL__ + +__device_inline float2 operator-(const float2 a) +{ + float2 r = {-a.x, -a.y}; + return r; +} + +__device_inline float2 operator*(const float2 a, const float2 b) +{ + float2 r = {a.x*b.x, a.y*b.y}; + return r; +} + +__device_inline float2 operator*(const float2 a, float f) +{ + float2 r = {a.x*f, a.y*f}; + return r; +} + +__device_inline float2 operator*(float f, const float2 a) +{ + float2 r = {a.x*f, a.y*f}; + return r; +} + +__device_inline float2 operator/(float f, const float2 a) +{ + float2 r = {f/a.x, f/a.y}; + return r; +} + +__device_inline float2 operator/(const float2 a, float f) +{ + float invf = 1.0f/f; + float2 r = {a.x*invf, a.y*invf}; + return r; +} + +__device_inline float2 operator/(const float2 a, const float2 b) +{ + float2 r = {a.x/b.x, a.y/b.y}; + return r; +} + +__device_inline float2 operator+(const float2 a, const float2 b) +{ + float2 r = {a.x+b.x, a.y+b.y}; + return r; +} + +__device_inline float2 operator-(const float2 a, const float2 b) +{ + float2 r = {a.x-b.x, a.y-b.y}; + return r; +} + +__device_inline float2 operator+=(float2& a, const float2 b) +{ + a.x += b.x; + a.y += b.y; + return a; +} + +__device_inline float2 operator*=(float2& a, const float2 b) +{ + a.x *= b.x; + a.y *= b.y; + return a; +} + +__device_inline float2 operator*=(float2& a, float f) +{ + a.x *= f; + a.y *= f; + return a; +} + +__device_inline float2 operator/=(float2& a, const float2 b) +{ + a.x /= b.x; + a.y /= b.y; + return a; +} + +__device_inline float2 operator/=(float2& a, float f) +{ + float invf = 1.0f/f; + a.x *= invf; + a.y *= invf; + return a; +} + + +__device_inline float dot(const float2 a, const float2 b) +{ + return a.x*b.x + a.y*b.y; +} + +__device_inline float cross(const float2 a, const float2 b) +{ + return (a.x*b.y - a.y*b.x); +} + +#endif + +#ifndef __KERNEL_OPENCL__ + +__device_inline float len(const float2 a) +{ + return sqrtf(dot(a, a)); +} + +__device_inline float2 normalize(const float2 a) +{ + return a/len(a); +} + +__device_inline float2 normalize_len(const float2 a, float *t) +{ + *t = len(a); + return a/(*t); +} + +__device_inline bool operator==(const float2 a, const float2 b) +{ + return (a.x == b.x && a.y == b.y); +} + +__device_inline bool operator!=(const float2 a, const float2 b) +{ + return !(a == b); +} + +__device_inline float2 min(float2 a, float2 b) +{ + float2 r = {min(a.x, b.x), min(a.y, b.y)}; + return r; +} + +__device_inline float2 max(float2 a, float2 b) +{ + float2 r = {max(a.x, b.x), max(a.y, b.y)}; + return r; +} + +__device_inline float2 clamp(float2 a, float2 mn, float2 mx) +{ + return min(max(a, mn), mx); +} + +__device_inline float2 fabs(float2 a) +{ + return make_float2(fabsf(a.x), fabsf(a.y)); +} + +__device_inline float2 as_float2(const float4 a) +{ + return make_float2(a.x, a.y); +} + +#endif + +#ifndef __KERNEL_GPU__ + +__device_inline void print_float2(const char *label, const float2& a) +{ + printf("%s: %.8f %.8f\n", label, a.x, a.y); +} + +#endif + +#ifndef __KERNEL_OPENCL__ + +__device_inline float2 interp(float2 a, float2 b, float t) +{ + return a + t*(b - a); +} + +#endif + +/* Float3 Vector */ + +__device_inline bool is_zero(const float3 a) +{ + return (a.x == 0.0f && a.y == 0.0f && a.z == 0.0f); +} + +__device_inline float average(const float3 a) +{ + return (a.x + a.y + a.z)*(1.0f/3.0f); +} + +#ifndef __KERNEL_OPENCL__ + +__device_inline float3 operator-(const float3 a) +{ + float3 r = {-a.x, -a.y, -a.z}; + return r; +} + +__device_inline float3 operator*(const float3 a, const float3 b) +{ + float3 r = {a.x*b.x, a.y*b.y, a.z*b.z}; + return r; +} + +__device_inline float3 operator*(const float3 a, float f) +{ + float3 r = {a.x*f, a.y*f, a.z*f}; + return r; +} + +__device_inline float3 operator*(float f, const float3 a) +{ + float3 r = {a.x*f, a.y*f, a.z*f}; + return r; +} + +__device_inline float3 operator/(float f, const float3 a) +{ + float3 r = {f/a.x, f/a.y, f/a.z}; + return r; +} + +__device_inline float3 operator/(const float3 a, float f) +{ + float invf = 1.0f/f; + float3 r = {a.x*invf, a.y*invf, a.z*invf}; + return r; +} + +__device_inline float3 operator/(const float3 a, const float3 b) +{ + float3 r = {a.x/b.x, a.y/b.y, a.z/b.z}; + return r; +} + +__device_inline float3 operator+(const float3 a, const float3 b) +{ + float3 r = {a.x+b.x, a.y+b.y, a.z+b.z}; + return r; +} + +__device_inline float3 operator-(const float3 a, const float3 b) +{ + float3 r = {a.x-b.x, a.y-b.y, a.z-b.z}; + return r; +} + +__device_inline float3 operator+=(float3& a, const float3 b) +{ + a.x += b.x; + a.y += b.y; + a.z += b.z; + return a; +} + +__device_inline float3 operator*=(float3& a, const float3 b) +{ + a.x *= b.x; + a.y *= b.y; + a.z *= b.z; + return a; +} + +__device_inline float3 operator*=(float3& a, float f) +{ + a.x *= f; + a.y *= f; + a.z *= f; + return a; +} + +__device_inline float3 operator/=(float3& a, const float3 b) +{ + a.x /= b.x; + a.y /= b.y; + a.z /= b.z; + return a; +} + +__device_inline float3 operator/=(float3& a, float f) +{ + float invf = 1.0f/f; + a.x *= invf; + a.y *= invf; + a.z *= invf; + return a; +} + +__device_inline float dot(const float3 a, const float3 b) +{ + return a.x*b.x + a.y*b.y + a.z*b.z; +} + +__device_inline float3 cross(const float3 a, const float3 b) +{ + float3 r = {a.y*b.z - a.z*b.y, a.z*b.x - a.x*b.z, a.x*b.y - a.y*b.x}; + return r; +} + +#endif + +__device_inline float len(const float3 a) +{ + return sqrtf(dot(a, a)); +} + +#ifndef __KERNEL_OPENCL__ + +__device_inline float3 normalize(const float3 a) +{ + return a/len(a); +} + +#endif + +__device_inline float3 normalize_len(const float3 a, float *t) +{ + *t = len(a); + return a/(*t); +} + +#ifndef __KERNEL_OPENCL__ + +__device_inline bool operator==(const float3 a, const float3 b) +{ + return (a.x == b.x && a.y == b.y && a.z == b.z); +} + +__device_inline bool operator!=(const float3 a, const float3 b) +{ + return !(a == b); +} + +__device_inline float3 min(float3 a, float3 b) +{ + float3 r = {min(a.x, b.x), min(a.y, b.y), min(a.z, b.z)}; + return r; +} + +__device_inline float3 max(float3 a, float3 b) +{ + float3 r = {max(a.x, b.x), max(a.y, b.y), max(a.z, b.z)}; + return r; +} + +__device_inline float3 clamp(float3 a, float3 mn, float3 mx) +{ + return min(max(a, mn), mx); +} + +__device_inline float3 fabs(float3 a) +{ + return make_float3(fabsf(a.x), fabsf(a.y), fabsf(a.z)); +} + +__device_inline float3 as_float3(const float4& a) +{ + return make_float3(a.x, a.y, a.z); +} + +#endif + +#ifndef __KERNEL_GPU__ + +__device_inline void print_float3(const char *label, const float3& a) +{ + printf("%s: %.8f %.8f %.8f\n", label, a.x, a.y, a.z); +} + +#endif + +__device_inline float3 interp(float3 a, float3 b, float t) +{ + return a + t*(b - a); +} + +/* Float4 Vector */ + +#ifndef __KERNEL_OPENCL__ + +__device_inline bool is_zero(const float4& a) +{ + return (a.x == 0.0f && a.y == 0.0f && a.z == 0.0f && a.w == 0.0f); +} + +__device_inline float average(const float4& a) +{ + return (a.x + a.y + a.z + a.w)*(1.0f/4.0f); +} + +__device_inline float4 operator-(const float4& a) +{ + float4 r = {-a.x, -a.y, -a.z, -a.w}; + return r; +} + +__device_inline float4 operator*(const float4& a, const float4& b) +{ + float4 r = {a.x*b.x, a.y*b.y, a.z*b.z, a.w*b.w}; + return r; +} + +__device_inline float4 operator*(const float4& a, float f) +{ + float4 r = {a.x*f, a.y*f, a.z*f, a.w*f}; + return r; +} + +__device_inline float4 operator*(float f, const float4& a) +{ + float4 r = {a.x*f, a.y*f, a.z*f, a.w*f}; + return r; +} + +__device_inline float4 operator/(const float4& a, float f) +{ + float invf = 1.0f/f; + float4 r = {a.x*invf, a.y*invf, a.z*invf, a.w*invf}; + return r; +} + +__device_inline float4 operator/(const float4& a, const float4& b) +{ + float4 r = {a.x/b.x, a.y/b.y, a.z/b.z, a.w/b.w}; + return r; +} + +__device_inline float4 operator+(const float4& a, const float4& b) +{ + float4 r = {a.x+b.x, a.y+b.y, a.z+b.z, a.w+b.w}; + return r; +} + +__device_inline float4 operator-(const float4& a, const float4& b) +{ + float4 r = {a.x-b.x, a.y-b.y, a.z-b.z, a.w-b.w}; + return r; +} + +__device_inline float4 operator+=(float4& a, const float4& b) +{ + a.x += b.x; + a.y += b.y; + a.z += b.z; + a.w += b.w; + return a; +} + +__device_inline float4 operator*=(float4& a, const float4& b) +{ + a.x *= b.x; + a.y *= b.y; + a.z *= b.z; + a.w *= b.w; + return a; +} + +__device_inline float4 operator/=(float4& a, float f) +{ + float invf = 1.0f/f; + a.x *= invf; + a.y *= invf; + a.z *= invf; + a.w *= invf; + return a; +} + +__device_inline float dot(const float4& a, const float4& b) +{ + return a.x*b.x + a.y*b.y + a.z*b.z + a.w*b.w; +} + +__device_inline float4 cross(const float4& a, const float4& b) +{ + float4 r = {a.y*b.z - a.z*b.y, a.z*b.x - a.x*b.z, a.x*b.y - a.y*b.x, 0.0f}; + return r; +} + +__device_inline float4 min(float4 a, float4 b) +{ + return make_float4(min(a.x, b.x), min(a.y, b.y), min(a.z, b.z), min(a.w, b.w)); +} + +__device_inline float4 max(float4 a, float4 b) +{ + return make_float4(max(a.x, b.x), max(a.y, b.y), max(a.z, b.z), max(a.w, b.w)); +} + +#endif + +#ifndef __KERNEL_GPU__ + +__device_inline void print_float4(const char *label, const float4& a) +{ + printf("%s: %.8f %.8f %.8f %.8f\n", label, a.x, a.y, a.z, a.w); +} + +#endif + +/* Int3 */ + +#ifndef __KERNEL_OPENCL__ + +__device_inline int3 max(int3 a, int3 b) +{ + int3 r = {max(a.x, b.x), max(a.y, b.y), max(a.z, b.z)}; + return r; +} + +__device_inline int3 clamp(const int3& a, int mn, int mx) +{ + int3 r = {clamp(a.x, mn, mx), clamp(a.y, mn, mx), clamp(a.z, mn, mx)}; + return r; +} + +__device_inline int3 clamp(const int3& a, int3& mn, int mx) +{ + int3 r = {clamp(a.x, mn.x, mx), clamp(a.y, mn.y, mx), clamp(a.z, mn.z, mx)}; + return r; +} + +#endif + +#ifndef __KERNEL_GPU__ + +__device_inline void print_int3(const char *label, const int3& a) +{ + printf("%s: %d %d %d\n", label, a.x, a.y, a.z); +} + +#endif + +/* Int4 */ + +#ifndef __KERNEL_OPENCL__ + +__device_inline int4 operator>=(float4 a, float4 b) +{ + return make_int4(a.x >= b.x, a.y >= b.y, a.z >= b.z, a.w >= b.w); +} + +#endif + +#ifndef __KERNEL_GPU__ + +__device_inline void print_int4(const char *label, const int4& a) +{ + printf("%s: %d %d %d %d\n", label, a.x, a.y, a.z, a.w); +} + +#endif + +/* Int/Float conversion */ + +#ifndef __KERNEL_OPENCL__ + +__device_inline unsigned int as_uint(float f) +{ + union { unsigned int i; float f; } u; + u.f = f; + return u.i; +} + +__device_inline int __float_as_int(float f) +{ + union { int i; float f; } u; + u.f = f; + return u.i; +} + +__device_inline float __int_as_float(int i) +{ + union { int i; float f; } u; + u.i = i; + return u.f; +} + +__device_inline uint __float_as_uint(float f) +{ + union { uint i; float f; } u; + u.f = f; + return u.i; +} + +__device_inline float __uint_as_float(uint i) +{ + union { uint i; float f; } u; + u.i = i; + return u.f; +} + +/* Interpolation */ + +template __device_inline A lerp(const A& a, const A& b, const B& t) +{ + return (A)(a * ((B)1 - t) + b * t); +} + +/* Triangle */ + +__device_inline float triangle_area(const float3 v1, const float3 v2, const float3 v3) +{ + return len(cross(v3 - v2, v1 - v2))*0.5f; +} + +#endif + +CCL_NAMESPACE_END + +#endif /* __UTIL_MATH_H__ */ + diff --git a/intern/cycles/util/util_md5.cpp b/intern/cycles/util/util_md5.cpp new file mode 100644 index 00000000000..9fd44740531 --- /dev/null +++ b/intern/cycles/util/util_md5.cpp @@ -0,0 +1,350 @@ +/* + * Copyright (C) 1999, 2002 Aladdin Enterprises. All rights reserved. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + * L. Peter Deutsch + * ghost@aladdin.com + */ + +/* Minor modifications done to remove some code and change style. */ + +#include "util_md5.h" + +#include +#include + +CCL_NAMESPACE_BEGIN + +#define T_MASK ((uint32_t)~0) +#define T1 /* 0xd76aa478 */ (T_MASK ^ 0x28955b87) +#define T2 /* 0xe8c7b756 */ (T_MASK ^ 0x173848a9) +#define T3 0x242070db +#define T4 /* 0xc1bdceee */ (T_MASK ^ 0x3e423111) +#define T5 /* 0xf57c0faf */ (T_MASK ^ 0x0a83f050) +#define T6 0x4787c62a +#define T7 /* 0xa8304613 */ (T_MASK ^ 0x57cfb9ec) +#define T8 /* 0xfd469501 */ (T_MASK ^ 0x02b96afe) +#define T9 0x698098d8 +#define T10 /* 0x8b44f7af */ (T_MASK ^ 0x74bb0850) +#define T11 /* 0xffff5bb1 */ (T_MASK ^ 0x0000a44e) +#define T12 /* 0x895cd7be */ (T_MASK ^ 0x76a32841) +#define T13 0x6b901122 +#define T14 /* 0xfd987193 */ (T_MASK ^ 0x02678e6c) +#define T15 /* 0xa679438e */ (T_MASK ^ 0x5986bc71) +#define T16 0x49b40821 +#define T17 /* 0xf61e2562 */ (T_MASK ^ 0x09e1da9d) +#define T18 /* 0xc040b340 */ (T_MASK ^ 0x3fbf4cbf) +#define T19 0x265e5a51 +#define T20 /* 0xe9b6c7aa */ (T_MASK ^ 0x16493855) +#define T21 /* 0xd62f105d */ (T_MASK ^ 0x29d0efa2) +#define T22 0x02441453 +#define T23 /* 0xd8a1e681 */ (T_MASK ^ 0x275e197e) +#define T24 /* 0xe7d3fbc8 */ (T_MASK ^ 0x182c0437) +#define T25 0x21e1cde6 +#define T26 /* 0xc33707d6 */ (T_MASK ^ 0x3cc8f829) +#define T27 /* 0xf4d50d87 */ (T_MASK ^ 0x0b2af278) +#define T28 0x455a14ed +#define T29 /* 0xa9e3e905 */ (T_MASK ^ 0x561c16fa) +#define T30 /* 0xfcefa3f8 */ (T_MASK ^ 0x03105c07) +#define T31 0x676f02d9 +#define T32 /* 0x8d2a4c8a */ (T_MASK ^ 0x72d5b375) +#define T33 /* 0xfffa3942 */ (T_MASK ^ 0x0005c6bd) +#define T34 /* 0x8771f681 */ (T_MASK ^ 0x788e097e) +#define T35 0x6d9d6122 +#define T36 /* 0xfde5380c */ (T_MASK ^ 0x021ac7f3) +#define T37 /* 0xa4beea44 */ (T_MASK ^ 0x5b4115bb) +#define T38 0x4bdecfa9 +#define T39 /* 0xf6bb4b60 */ (T_MASK ^ 0x0944b49f) +#define T40 /* 0xbebfbc70 */ (T_MASK ^ 0x4140438f) +#define T41 0x289b7ec6 +#define T42 /* 0xeaa127fa */ (T_MASK ^ 0x155ed805) +#define T43 /* 0xd4ef3085 */ (T_MASK ^ 0x2b10cf7a) +#define T44 0x04881d05 +#define T45 /* 0xd9d4d039 */ (T_MASK ^ 0x262b2fc6) +#define T46 /* 0xe6db99e5 */ (T_MASK ^ 0x1924661a) +#define T47 0x1fa27cf8 +#define T48 /* 0xc4ac5665 */ (T_MASK ^ 0x3b53a99a) +#define T49 /* 0xf4292244 */ (T_MASK ^ 0x0bd6ddbb) +#define T50 0x432aff97 +#define T51 /* 0xab9423a7 */ (T_MASK ^ 0x546bdc58) +#define T52 /* 0xfc93a039 */ (T_MASK ^ 0x036c5fc6) +#define T53 0x655b59c3 +#define T54 /* 0x8f0ccc92 */ (T_MASK ^ 0x70f3336d) +#define T55 /* 0xffeff47d */ (T_MASK ^ 0x00100b82) +#define T56 /* 0x85845dd1 */ (T_MASK ^ 0x7a7ba22e) +#define T57 0x6fa87e4f +#define T58 /* 0xfe2ce6e0 */ (T_MASK ^ 0x01d3191f) +#define T59 /* 0xa3014314 */ (T_MASK ^ 0x5cfebceb) +#define T60 0x4e0811a1 +#define T61 /* 0xf7537e82 */ (T_MASK ^ 0x08ac817d) +#define T62 /* 0xbd3af235 */ (T_MASK ^ 0x42c50dca) +#define T63 0x2ad7d2bb +#define T64 /* 0xeb86d391 */ (T_MASK ^ 0x14792c6e) + +void MD5Hash::process(const uint8_t *data /*[64]*/) +{ + uint32_t + a = abcd[0], b = abcd[1], + c = abcd[2], d = abcd[3]; + uint32_t t; + /* Define storage for little-endian or both types of CPUs. */ + uint32_t xbuf[16]; + const uint32_t *X; + + { + /* + * Determine dynamically whether this is a big-endian or + * little-endian machine, since we can use a more efficient + * algorithm on the latter. + */ + static const int w = 1; + + if(*((const uint8_t *)&w)) /* dynamic little-endian */ + { + /* + * On little-endian machines, we can process properly aligned + * data without copying it. + */ + if(!((data - (const uint8_t *)0) & 3)) { + /* data are properly aligned */ + X = (const uint32_t *)data; + } + else { + /* not aligned */ + memcpy(xbuf, data, 64); + X = xbuf; + } + } + else { /* dynamic big-endian */ + /* + * On big-endian machines, we must arrange the bytes in the + * right order. + */ + const uint8_t *xp = data; + int i; + + X = xbuf; /* (dynamic only) */ + for(i = 0; i < 16; ++i, xp += 4) + xbuf[i] = xp[0] + (xp[1] << 8) + (xp[2] << 16) + (xp[3] << 24); + } + } + +#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32 - (n)))) + + /* Round 1. */ + /* Let [abcd k s i] denote the operation + a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s). */ +#define F(x, y, z) (((x) & (y)) | (~(x) & (z))) +#define SET(a, b, c, d, k, s, Ti)\ + t = a + F(b,c,d) + X[k] + Ti;\ + a = ROTATE_LEFT(t, s) + b + /* Do the following 16 operations. */ + SET(a, b, c, d, 0, 7, T1); + SET(d, a, b, c, 1, 12, T2); + SET(c, d, a, b, 2, 17, T3); + SET(b, c, d, a, 3, 22, T4); + SET(a, b, c, d, 4, 7, T5); + SET(d, a, b, c, 5, 12, T6); + SET(c, d, a, b, 6, 17, T7); + SET(b, c, d, a, 7, 22, T8); + SET(a, b, c, d, 8, 7, T9); + SET(d, a, b, c, 9, 12, T10); + SET(c, d, a, b, 10, 17, T11); + SET(b, c, d, a, 11, 22, T12); + SET(a, b, c, d, 12, 7, T13); + SET(d, a, b, c, 13, 12, T14); + SET(c, d, a, b, 14, 17, T15); + SET(b, c, d, a, 15, 22, T16); +#undef SET + + /* Round 2. */ + /* Let [abcd k s i] denote the operation + a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s). */ +#define G(x, y, z) (((x) & (z)) | ((y) & ~(z))) +#define SET(a, b, c, d, k, s, Ti)\ + t = a + G(b,c,d) + X[k] + Ti;\ + a = ROTATE_LEFT(t, s) + b + /* Do the following 16 operations. */ + SET(a, b, c, d, 1, 5, T17); + SET(d, a, b, c, 6, 9, T18); + SET(c, d, a, b, 11, 14, T19); + SET(b, c, d, a, 0, 20, T20); + SET(a, b, c, d, 5, 5, T21); + SET(d, a, b, c, 10, 9, T22); + SET(c, d, a, b, 15, 14, T23); + SET(b, c, d, a, 4, 20, T24); + SET(a, b, c, d, 9, 5, T25); + SET(d, a, b, c, 14, 9, T26); + SET(c, d, a, b, 3, 14, T27); + SET(b, c, d, a, 8, 20, T28); + SET(a, b, c, d, 13, 5, T29); + SET(d, a, b, c, 2, 9, T30); + SET(c, d, a, b, 7, 14, T31); + SET(b, c, d, a, 12, 20, T32); +#undef SET + + /* Round 3. */ + /* Let [abcd k s t] denote the operation + a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s). */ +#define H(x, y, z) ((x) ^ (y) ^ (z)) +#define SET(a, b, c, d, k, s, Ti)\ + t = a + H(b,c,d) + X[k] + Ti;\ + a = ROTATE_LEFT(t, s) + b + /* Do the following 16 operations. */ + SET(a, b, c, d, 5, 4, T33); + SET(d, a, b, c, 8, 11, T34); + SET(c, d, a, b, 11, 16, T35); + SET(b, c, d, a, 14, 23, T36); + SET(a, b, c, d, 1, 4, T37); + SET(d, a, b, c, 4, 11, T38); + SET(c, d, a, b, 7, 16, T39); + SET(b, c, d, a, 10, 23, T40); + SET(a, b, c, d, 13, 4, T41); + SET(d, a, b, c, 0, 11, T42); + SET(c, d, a, b, 3, 16, T43); + SET(b, c, d, a, 6, 23, T44); + SET(a, b, c, d, 9, 4, T45); + SET(d, a, b, c, 12, 11, T46); + SET(c, d, a, b, 15, 16, T47); + SET(b, c, d, a, 2, 23, T48); +#undef SET + + /* Round 4. */ + /* Let [abcd k s t] denote the operation + a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s). */ +#define I(x, y, z) ((y) ^ ((x) | ~(z))) +#define SET(a, b, c, d, k, s, Ti)\ + t = a + I(b,c,d) + X[k] + Ti;\ + a = ROTATE_LEFT(t, s) + b + /* Do the following 16 operations. */ + SET(a, b, c, d, 0, 6, T49); + SET(d, a, b, c, 7, 10, T50); + SET(c, d, a, b, 14, 15, T51); + SET(b, c, d, a, 5, 21, T52); + SET(a, b, c, d, 12, 6, T53); + SET(d, a, b, c, 3, 10, T54); + SET(c, d, a, b, 10, 15, T55); + SET(b, c, d, a, 1, 21, T56); + SET(a, b, c, d, 8, 6, T57); + SET(d, a, b, c, 15, 10, T58); + SET(c, d, a, b, 6, 15, T59); + SET(b, c, d, a, 13, 21, T60); + SET(a, b, c, d, 4, 6, T61); + SET(d, a, b, c, 11, 10, T62); + SET(c, d, a, b, 2, 15, T63); + SET(b, c, d, a, 9, 21, T64); +#undef SET + + /* Then perform the following additions. (That is increment each + of the four registers by the value it had before this block + was started.) */ + abcd[0] += a; + abcd[1] += b; + abcd[2] += c; + abcd[3] += d; +} + +MD5Hash::MD5Hash() +{ + count[0] = count[1] = 0; + abcd[0] = 0x67452301; + abcd[1] = /*0xefcdab89*/ T_MASK ^ 0x10325476; + abcd[2] = /*0x98badcfe*/ T_MASK ^ 0x67452301; + abcd[3] = 0x10325476; +} + +MD5Hash::~MD5Hash() +{ +} + +void MD5Hash::append(const uint8_t *data, int nbytes) +{ + const uint8_t *p = data; + int left = nbytes; + int offset = (count[0] >> 3) & 63; + uint32_t nbits = (uint32_t)(nbytes << 3); + + if(nbytes <= 0) + return; + + /* Update the message length. */ + count[1] += nbytes >> 29; + count[0] += nbits; + if(count[0] < nbits) + count[1]++; + + /* Process an initial partial block. */ + if(offset) { + int copy = (offset + nbytes > 64 ? 64 - offset : nbytes); + + memcpy(buf + offset, p, copy); + if(offset + copy < 64) + return; + p += copy; + left -= copy; + process(buf); + } + + /* Process full blocks. */ + for(; left >= 64; p += 64, left -= 64) + process(p); + + /* Process a final partial block. */ + if(left) + memcpy(buf, p, left); +} + +void MD5Hash::finish(uint8_t digest[16]) +{ + static const uint8_t pad[64] = { + 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; + + uint8_t data[8]; + int i; + + /* Save the length before padding. */ + for(i = 0; i < 8; ++i) + data[i] = (uint8_t)(count[i >> 2] >> ((i & 3) << 3)); + + /* Pad to 56 bytes mod 64. */ + append(pad, ((55 - (count[0] >> 3)) & 63) + 1); + /* Append the length. */ + append(data, 8); + + for(i = 0; i < 16; ++i) + digest[i] = (uint8_t)(abcd[i >> 2] >> ((i & 3) << 3)); +} + +string MD5Hash::get_hex() +{ + uint8_t digest[16]; + char buf[16*2]; + + finish(digest); + + for(int i=0; i<16; i++) + sprintf(buf + i*2, "%02X", digest[i]); + + return string(buf, sizeof(buf)); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/util/util_md5.h b/intern/cycles/util/util_md5.h new file mode 100644 index 00000000000..49f421d43d9 --- /dev/null +++ b/intern/cycles/util/util_md5.h @@ -0,0 +1,58 @@ +/* + * Copyright (C) 1999, 2002 Aladdin Enterprises. All rights reserved. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + * + * L. Peter Deutsch + * ghost@aladdin.com + */ + +/* MD5 + * + * Simply MD5 hash computation, used by disk cache. Adapted from external + * code, with minor code modifications done to remove some unused code and + * change code style. */ + +#ifndef __UTIL_MD5_H__ +#define __UTIL_MD5_H__ + +#include "util_string.h" +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +class MD5Hash { +public: + MD5Hash(); + ~MD5Hash(); + + void append(const uint8_t *data, int size); + string get_hex(); + +protected: + void process(const uint8_t *data); + void finish(uint8_t digest[16]); + + uint32_t count[2]; /* message length in bits, lsw first */ + uint32_t abcd[4]; /* digest buffer */ + uint8_t buf[64]; /* accumulate block */ +}; + +CCL_NAMESPACE_END + +#endif /* __UTIL_MD5_H__ */ + diff --git a/intern/cycles/util/util_opengl.h b/intern/cycles/util/util_opengl.h new file mode 100644 index 00000000000..5396f6f17be --- /dev/null +++ b/intern/cycles/util/util_opengl.h @@ -0,0 +1,35 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_OPENGL_H__ +#define __UTIL_OPENGL_H__ + +/* OpenGL header includes, used everywhere we use OpenGL, to deal with + * platform differences in one central place. */ + +#ifdef __APPLE__ +#include +#include +#include +#else +#include +#include +#endif + +#endif /* __UTIL_OPENGL_H__ */ + diff --git a/intern/cycles/util/util_param.h b/intern/cycles/util/util_param.h new file mode 100644 index 00000000000..d1ca1b65ffb --- /dev/null +++ b/intern/cycles/util/util_param.h @@ -0,0 +1,36 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_PARAM_H__ +#define __UTIL_PARAM_H__ + +/* Parameter value lists from OpenImageIO are used to store custom properties + * on various data, which can then later be used in shaders. */ + +#include +#include +#include + +CCL_NAMESPACE_BEGIN + +OIIO_NAMESPACE_USING + +CCL_NAMESPACE_END + +#endif /* __UTIL_PARAM_H__ */ + diff --git a/intern/cycles/util/util_path.cpp b/intern/cycles/util/util_path.cpp new file mode 100644 index 00000000000..4cf6cea0f69 --- /dev/null +++ b/intern/cycles/util/util_path.cpp @@ -0,0 +1,61 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "util_debug.h" +#include "util_path.h" +#include "util_string.h" + +#include +OIIO_NAMESPACE_USING + +#include + +CCL_NAMESPACE_BEGIN + +static string cached_path = ""; + +void path_init(const string& path) +{ + cached_path = path; +} + +string path_get(const string& sub) +{ + if(cached_path == "") + cached_path = path_dirname(Sysutil::this_program_path()); + + return path_join(cached_path, sub); +} + +string path_filename(const string& path) +{ + return boost::filesystem::path(path).filename(); +} + +string path_dirname(const string& path) +{ + return boost::filesystem::path(path).parent_path().string(); +} + +string path_join(const string& dir, const string& file) +{ + return (boost::filesystem::path(dir) / boost::filesystem::path(file)).string(); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/util/util_path.h b/intern/cycles/util/util_path.h new file mode 100644 index 00000000000..b80bc0e9131 --- /dev/null +++ b/intern/cycles/util/util_path.h @@ -0,0 +1,41 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_PATH_H__ +#define __UTIL_PATH_H__ + +/* Utility functions to get paths to files distributed with the program. For + * the standalone apps, paths are relative to the executable, for dynamically + * linked libraries, the path to the library may be set with path_init, which + * then makes all paths relative to that. */ + +#include "util_string.h" + +CCL_NAMESPACE_BEGIN + +void path_init(const string& path = ""); +string path_get(const string& sub = ""); + +string path_filename(const string& path); +string path_dirname(const string& path); +string path_join(const string& dir, const string& file); + +CCL_NAMESPACE_END + +#endif + diff --git a/intern/cycles/util/util_progress.h b/intern/cycles/util/util_progress.h new file mode 100644 index 00000000000..86ab34aa7f9 --- /dev/null +++ b/intern/cycles/util/util_progress.h @@ -0,0 +1,173 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_PROGRESS_H__ +#define __UTIL_PROGRESS_H__ + +/* Progress + * + * Simple class to communicate progress status messages, timing information, + * update notifications from a job running in another thread. All methods + * except for the constructor/destructor are thread safe. */ + +#include "util_string.h" +#include "util_thread.h" + +CCL_NAMESPACE_BEGIN + +class Progress { +public: + Progress() + { + pass = 0; + total_time = 0.0f; + pass_time = 0.0f; + status = "Initializing"; + substatus = ""; + update_cb = NULL; + cancel = false; + cancel_message = ""; + cancel_cb = NULL; + } + + Progress(Progress& progress) + { + *this = progress; + } + + Progress& operator=(Progress& progress) + { + thread_scoped_lock lock(progress.progress_mutex); + + progress.get_pass(pass, total_time, pass_time); + progress.get_status(status, substatus); + + return *this; + } + + /* cancel */ + void set_cancel(const string& cancel_message_) + { + thread_scoped_lock lock(progress_mutex); + cancel_message = cancel_message_; + cancel = true; + } + + bool get_cancel() + { + if(!cancel && cancel_cb) + cancel_cb(); + + return cancel; + } + + string get_cancel_message() + { + thread_scoped_lock lock(progress_mutex); + return cancel_message; + } + + void set_cancel_callback(boost::function function) + { + cancel_cb = function; + } + + /* pass and timing information */ + + void set_pass(int pass_, double total_time_, double pass_time_) + { + thread_scoped_lock lock(progress_mutex); + + pass = pass_; + total_time = total_time_; + pass_time = pass_time_; + } + + void get_pass(int& pass_, double& total_time_, double& pass_time_) + { + thread_scoped_lock lock(progress_mutex); + + pass_ = pass; + total_time_ = total_time; + pass_time_ = pass_time; + } + + /* status messages */ + + void set_status(const string& status_, const string& substatus_ = "") + { + { + thread_scoped_lock lock(progress_mutex); + status = status_; + substatus = substatus_; + } + + set_update(); + } + + void set_substatus(const string& substatus_) + { + { + thread_scoped_lock lock(progress_mutex); + substatus = substatus_; + } + + set_update(); + } + + void get_status(string& status_, string& substatus_) + { + thread_scoped_lock lock(progress_mutex); + status_ = status; + substatus_ = substatus; + } + + /* callback */ + + void set_update() + { + if(update_cb) + update_cb(); + } + + void set_update_callback(boost::function function) + { + update_cb = function; + } + +protected: + thread_mutex progress_mutex; + boost::function update_cb; + boost::function cancel_cb; + + int pass; + + double total_time; + double pass_time; + + string status; + string substatus; + + volatile bool cancel; + string cancel_message; +}; + +CCL_NAMESPACE_END + +#endif /* __UTIL_PROGRESS_H__ */ + diff --git a/intern/cycles/util/util_set.h b/intern/cycles/util/util_set.h new file mode 100644 index 00000000000..ac310e93e80 --- /dev/null +++ b/intern/cycles/util/util_set.h @@ -0,0 +1,33 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_SET_H__ +#define __UTIL_SET_H__ + +#include +#include + +CCL_NAMESPACE_BEGIN + +using std::set; +using std::tr1::unordered_set; + +CCL_NAMESPACE_END + +#endif /* __UTIL_SET_H__ */ + diff --git a/intern/cycles/util/util_string.cpp b/intern/cycles/util/util_string.cpp new file mode 100644 index 00000000000..aaa482eec0d --- /dev/null +++ b/intern/cycles/util/util_string.cpp @@ -0,0 +1,92 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include +#include + +#include + +#include "util_foreach.h" +#include "util_string.h" + +#ifdef _WIN32 +#ifndef vsnprintf +#define vsnprintf _vsnprintf +#endif +#endif + +CCL_NAMESPACE_BEGIN + +string string_printf(const char *format, ...) +{ + vector str(128, 0); + + while(1) { + va_list args; + int result; + + va_start(args, format); + result = vsnprintf(&str[0], str.size(), format, args); + va_end(args); + + if(result == -1) { + /* not enough space or formatting error */ + if(str.size() > 65536) { + assert(0); + return string(""); + } + + str.resize(str.size()*2, 0); + continue; + } + else if(result >= (int)str.size()) { + /* not enough space */ + str.resize(result + 1, 0); + continue; + } + + return string(&str[0]); + } +} + +bool string_iequals(const string& a, const string& b) +{ + if(a.size() == b.size()) { + for(size_t i = 0; i < a.size(); i++) + if(toupper(a[i]) != toupper(b[i])) + return false; + + return true; + } + + return false; +} + +void string_split(vector& tokens, const string& str) +{ + vector split; + + boost::split(split, str, boost::is_any_of("\t "), boost::token_compress_on); + + foreach(const string& token, split) + if(token != "") + tokens.push_back(token); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/util/util_string.h b/intern/cycles/util/util_string.h new file mode 100644 index 00000000000..72b893d2b17 --- /dev/null +++ b/intern/cycles/util/util_string.h @@ -0,0 +1,49 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_STRING_H__ +#define __UTIL_STRING_H__ + +#include +#include +#include + +#include "util_vector.h" + +CCL_NAMESPACE_BEGIN + +using std::string; +using std::stringstream; +using std::ostringstream; +using std::istringstream; + +#ifdef __GNUC__ +#define PRINTF_ATTRIBUTE __attribute__((format(printf, 1, 2))) +#else +#define PRINTF_ATTRIBUTE +#endif + +string string_printf(const char *format, ...) PRINTF_ATTRIBUTE; + +bool string_iequals(const string& a, const string& b); +void string_split(vector& tokens, const string& str); + +CCL_NAMESPACE_END + +#endif /* __UTIL_STRING_H__ */ + diff --git a/intern/cycles/util/util_system.cpp b/intern/cycles/util/util_system.cpp new file mode 100644 index 00000000000..fae575873e0 --- /dev/null +++ b/intern/cycles/util/util_system.cpp @@ -0,0 +1,104 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "util_system.h" +#include "util_types.h" + +#ifdef _WIN32 +#include +#include +#elif defined(__APPLE__) +#include +#include +#else +#include +#endif + +CCL_NAMESPACE_BEGIN + +int system_cpu_thread_count() +{ + static uint count = 0; + + if(count > 0) + return count; + +#ifdef _WIN32 + SYSTEM_INFO info; + GetSystemInfo(&info); + count = (uint)info.dwNumberOfProcessors; +#elif defined(__APPLE__) + size_t len = sizeof(count); + int mib[2] = { CTL_HW, HW_NCPU }; + + sysctl(mib, 2, &count, &len, NULL, 0); +#else + count = (uint)sysconf(_SC_NPROCESSORS_ONLN); +#endif + + if(count < 1) + count = 1; + + return count; +} + +#ifndef _WIN32 +static void __cpuid(int data[4], int selector) +{ + asm("cpuid" : "=a" (data[0]), "=b" (data[1]), "=c" (data[2]), "=d" (data[3]) : "a"(selector)); +} +#endif + +static void replace_string(string& haystack, const string& needle, const string& other) +{ + size_t i; + + while((i = haystack.find(needle)) != string::npos) + haystack.replace(i, needle.length(), other); +} + +string system_cpu_brand_string() +{ + char buf[48]; + int result[4]; + + __cpuid(result, 0x80000000); + + if(result[0] >= (int)0x80000004) { + __cpuid((int*)(buf+0), 0x80000002); + __cpuid((int*)(buf+16), 0x80000003); + __cpuid((int*)(buf+32), 0x80000004); + + string brand = buf; + + /* make it a bit more presentable */ + replace_string(brand, "(TM)", ""); + replace_string(brand, "(R)", ""); + + size_t i; + if((i = brand.find(" ")) != string::npos) + brand = brand.substr(0, i); + + return brand; + } + + return "Unknown CPU"; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/util/util_system.h b/intern/cycles/util/util_system.h new file mode 100644 index 00000000000..49a798acf03 --- /dev/null +++ b/intern/cycles/util/util_system.h @@ -0,0 +1,32 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_SYSTEM_H__ +#define __UTIL_SYSTEM_H__ + +#include "util_string.h" + +CCL_NAMESPACE_BEGIN + +int system_cpu_thread_count(); +string system_cpu_brand_string(); + +CCL_NAMESPACE_END + +#endif /* __UTIL_SYSTEM_H__ */ + diff --git a/intern/cycles/util/util_thread.h b/intern/cycles/util/util_thread.h new file mode 100644 index 00000000000..ad95f04b4f9 --- /dev/null +++ b/intern/cycles/util/util_thread.h @@ -0,0 +1,212 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_THREAD_H__ +#define __UTIL_THREAD_H__ + +#include +#include + +CCL_NAMESPACE_BEGIN + +#if 0 + +/* Use STL for threading */ + +using std::thread; +using std::thread_mutex; +typedef std::lock_guard thread_scoped_lock; +using std::condition_variable; + +#else + +/* Use boost for threading */ + +using boost::thread; +typedef boost::mutex thread_mutex; +typedef boost::mutex::scoped_lock thread_scoped_lock; +typedef boost::condition_variable thread_condition_variable; + +#endif + +/* Thread Safe Queue to pass tasks from one thread to another. Tasks should be + * pushed into the queue, while the worker thread waits to pop the next task + * off the queue. Once all tasks are into the queue, calling stop() will stop + * the worker threads from waiting for more tasks once all tasks are done. */ + +template class ThreadQueue +{ +public: + ThreadQueue() + { + tot = 0; + tot_done = 0; + do_stop = false; + do_cancel = false; + } + + /* Main thread functions */ + + /* push a task to be executed */ + void push(const T& value) + { + thread_scoped_lock lock(queue_mutex); + queue.push(value); + tot++; + lock.unlock(); + + queue_cond.notify_one(); + } + + /* wait until all tasks are done */ + void wait_done() + { + thread_scoped_lock lock(done_mutex); + + while(tot_done != tot) + done_cond.wait(lock); + } + + /* stop all worker threads */ + void stop() + { + clear(); + do_stop = true; + queue_cond.notify_all(); + } + + /* cancel all tasks, but keep worker threads running */ + void cancel() + { + clear(); + do_cancel = true; + wait_done(); + do_cancel = false; + } + + /* Worker thread functions + * + * while(queue.worker_wait_pop(task)) { + * for(..) { + * ... do work ... + * + * if(queue.worker_cancel()) + * break; + * } + * + * queue.worker_done(); + * } + */ + + bool worker_wait_pop(T& value) + { + thread_scoped_lock lock(queue_mutex); + + while(queue.empty() && !do_stop) + queue_cond.wait(lock); + + if(queue.empty()) + return false; + + value = queue.front(); + queue.pop(); + + return true; + } + + void worker_done() + { + thread_scoped_lock lock(done_mutex); + tot_done++; + lock.unlock(); + + assert(tot_done <= tot); + + done_cond.notify_all(); + } + + bool worker_cancel() + { + return do_cancel; + } + +protected: + void clear() + { + thread_scoped_lock lock(queue_mutex); + + while(!queue.empty()) { + thread_scoped_lock done_lock(done_mutex); + tot_done++; + done_lock.unlock(); + + queue.pop(); + } + + done_cond.notify_all(); + } + + std::queue queue; + thread_mutex queue_mutex; + thread_mutex done_mutex; + thread_condition_variable queue_cond; + thread_condition_variable done_cond; + volatile bool do_stop; + volatile bool do_cancel; + volatile int tot, tot_done; +}; + +/* Thread Local Storage + * + * Boost implementation is a bit slow, and Mac OS X __thread is not supported + * but the pthreads implementation is optimized, so we use these macros. */ + +#ifdef __APPLE__ + +#define tls_ptr(type, name) \ + pthread_key_t name +#define tls_set(name, value) \ + pthread_setspecific(name, value) +#define tls_get(type, name) \ + ((type*)pthread_getspecific(name)) +#define tls_create(type, name) \ + pthread_key_create(&name, NULL) +#define tls_delete(type, name) \ + pthread_key_delete(name); + +#else + +#ifdef __WIN32 +#define __thread __declspec(thread) +#endif + +#define tls_ptr(type, name) \ + __thread type *name +#define tls_set(name, value) \ + name = value +#define tls_get(type, name) \ + name +#define tls_create(type, name) +#define tls_delete(type, name) + +#endif + +CCL_NAMESPACE_END + +#endif /* __UTIL_THREAD_H__ */ + diff --git a/intern/cycles/util/util_time.cpp b/intern/cycles/util/util_time.cpp new file mode 100644 index 00000000000..5f543fc7f91 --- /dev/null +++ b/intern/cycles/util/util_time.cpp @@ -0,0 +1,72 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include + +#include "util_time.h" + +#ifdef _WIN32 + +#include + +CCL_NAMESPACE_BEGIN + +double time_dt() +{ + __int64 frequency, counter; + + QueryPerformanceFrequency((LARGE_INTEGER*)&frequency); + QueryPerformanceCounter((LARGE_INTEGER*)&counter); + + return (double)counter/(double)frequency; +} + +void time_sleep(double t) +{ + Sleep((int)(t*1000)); +} + +CCL_NAMESPACE_END + +#else + +#include +#include + +CCL_NAMESPACE_BEGIN + +double time_dt() +{ + struct timeval now; + gettimeofday(&now, NULL); + + return now.tv_sec + now.tv_usec*1e-6; +} + +void time_sleep(double t) +{ + if(t >= 1.0) + sleep((int)t); + + usleep((int)(t*1e6)); +} + +CCL_NAMESPACE_END + +#endif + diff --git a/intern/cycles/util/util_time.h b/intern/cycles/util/util_time.h new file mode 100644 index 00000000000..33fa8797a69 --- /dev/null +++ b/intern/cycles/util/util_time.h @@ -0,0 +1,35 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_TIME_H__ +#define __UTIL_TIME_H__ + +CCL_NAMESPACE_BEGIN + +/* Give current time in seconds in double precision, with good accuracy. */ + +double time_dt(); + +/* Sleep for the specified number of seconds */ + +void time_sleep(double t); + +CCL_NAMESPACE_END + +#endif + diff --git a/intern/cycles/util/util_transform.cpp b/intern/cycles/util/util_transform.cpp new file mode 100644 index 00000000000..5c2f28af318 --- /dev/null +++ b/intern/cycles/util/util_transform.cpp @@ -0,0 +1,142 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +/* + * Adapted from code with license: + * + * Copyright (c) 2002, Industrial Light & Magic, a division of Lucas + * Digital Ltd. LLC. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Industrial Light & Magic nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "util_math.h" +#include "util_transform.h" + +CCL_NAMESPACE_BEGIN + +static bool transform_matrix4_gj_inverse(float R[][4], float M[][4]) +{ + /* forward elimination */ + for(int i = 0; i < 4; i++) { + int pivot = i; + float pivotsize = M[i][i]; + + if(pivotsize < 0) + pivotsize = -pivotsize; + + for(int j = i + 1; j < 4; j++) { + float tmp = M[j][i]; + + if(tmp < 0) + tmp = -tmp; + + if(tmp > pivotsize) { + pivot = j; + pivotsize = tmp; + } + } + + if(pivotsize == 0) + return false; + + if(pivot != i) { + for(int j = 0; j < 4; j++) { + float tmp; + + tmp = M[i][j]; + M[i][j] = M[pivot][j]; + M[pivot][j] = tmp; + + tmp = R[i][j]; + R[i][j] = R[pivot][j]; + R[pivot][j] = tmp; + } + } + + for(int j = i + 1; j < 4; j++) { + float f = M[j][i] / M[i][i]; + + for(int k = 0; k < 4; k++) { + M[j][k] -= f*M[i][k]; + R[j][k] -= f*R[i][k]; + } + } + } + + /* backward substitution */ + for(int i = 3; i >= 0; --i) { + float f; + + if((f = M[i][i]) == 0) + return false; + + for(int j = 0; j < 4; j++) { + M[i][j] /= f; + R[i][j] /= f; + } + + for(int j = 0; j < i; j++) { + f = M[j][i]; + + for(int k = 0; k < 4; k++) { + M[j][k] -= f*M[i][k]; + R[j][k] -= f*R[i][k]; + } + } + } + + return true; +} + +Transform transform_inverse(const Transform& tfm) +{ + Transform R = transform_identity(); + Transform M = tfm; + + if(!transform_matrix4_gj_inverse((float(*)[4])&R, (float(*)[4])&M)) + return transform_identity(); + + return R; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/util/util_transform.h b/intern/cycles/util/util_transform.h new file mode 100644 index 00000000000..9cde410edc8 --- /dev/null +++ b/intern/cycles/util/util_transform.h @@ -0,0 +1,213 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_TRANSFORM_H__ +#define __UTIL_TRANSFORM_H__ + +#ifndef __KERNEL_GPU__ +#include +#endif + +#include "util_math.h" +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +typedef struct Transform { + float4 x, y, z, w; /* rows */ +} Transform; + +__device_inline float3 transform(const Transform *t, const float3 a) +{ + float4 b = {a.x, a.y, a.z, 1.0f}; + float3 c = {dot(t->x, b), dot(t->y, b), dot(t->z, b)}; + + return c/dot(t->w, b); +} + +__device_inline float3 transform_direction(const Transform *t, const float3 a) +{ + float4 b = {a.x, a.y, a.z, 0.0f}; + float3 c = {dot(t->x, b), dot(t->y, b), dot(t->z, b)}; + + return c; +} + +#ifndef __KERNEL_GPU__ + +__device_inline void print_transform(const char *label, const Transform& t) +{ + print_float4(label, t.x); + print_float4(label, t.y); + print_float4(label, t.z); + print_float4(label, t.w); + printf("\n"); +} + +__device_inline Transform transform_transpose(const Transform a) +{ + Transform t; + + t.x.x = a.x.x; t.x.y = a.y.x; t.x.z = a.z.x; t.x.w = a.w.x; + t.y.x = a.x.y; t.y.y = a.y.y; t.y.z = a.z.y; t.y.w = a.w.y; + t.z.x = a.x.z; t.z.y = a.y.z; t.z.z = a.z.z; t.z.w = a.w.z; + t.w.x = a.x.w; t.w.y = a.y.w; t.w.z = a.z.w; t.w.w = a.w.w; + + return t; +} + +__device_inline Transform operator*(const Transform a, const Transform b) +{ + Transform c = transform_transpose(b); + Transform t; + + t.x = make_float4(dot(a.x, c.x), dot(a.x, c.y), dot(a.x, c.z), dot(a.x, c.w)); + t.y = make_float4(dot(a.y, c.x), dot(a.y, c.y), dot(a.y, c.z), dot(a.y, c.w)); + t.z = make_float4(dot(a.z, c.x), dot(a.z, c.y), dot(a.z, c.z), dot(a.z, c.w)); + t.w = make_float4(dot(a.w, c.x), dot(a.w, c.y), dot(a.w, c.z), dot(a.w, c.w)); + + return t; +} + +__device_inline Transform make_transform(float a, float b, float c, float d, + float e, float f, float g, float h, + float i, float j, float k, float l, + float m, float n, float o, float p) +{ + Transform t; + + t.x.x = a; t.x.y = b; t.x.z = c; t.x.w = d; + t.y.x = e; t.y.y = f; t.y.z = g; t.y.w = h; + t.z.x = i; t.z.y = j; t.z.z = k; t.z.w = l; + t.w.x = m; t.w.y = n; t.w.z = o; t.w.w = p; + + return t; +} + +__device_inline Transform transform_translate(float3 t) +{ + return make_transform( + 1, 0, 0, t.x, + 0, 1, 0, t.y, + 0, 0, 1, t.z, + 0, 0, 0, 1); +} + +__device_inline Transform transform_translate(float x, float y, float z) +{ + return transform_translate(make_float3(x, y, z)); +} + +__device_inline Transform transform_scale(float3 s) +{ + return make_transform( + s.x, 0, 0, 0, + 0, s.y, 0, 0, + 0, 0, s.z, 0, + 0, 0, 0, 1); +} + +__device_inline Transform transform_scale(float x, float y, float z) +{ + return transform_scale(make_float3(x, y, z)); +} + +__device_inline Transform transform_perspective(float fov, float n, float f) +{ + Transform persp = make_transform( + 1, 0, 0, 0, + 0, 1, 0, 0, + 0, 0, f / (f - n), -f*n / (f - n), + 0, 0, 1, 0); + + float inv_angle = 1.0f/tanf(0.5f*fov); + + Transform scale = transform_scale(inv_angle, inv_angle, 1); + + return scale * persp; +} + +__device_inline Transform transform_rotate(float angle, float3 axis) +{ + float s = sinf(angle); + float c = cosf(angle); + float t = 1.f - c; + + axis = normalize(axis); + + return make_transform( + axis.x*axis.x*t + c, + axis.x*axis.y*t - s*axis.z, + axis.x*axis.z*t + s*axis.y, + 0.0f, + + axis.y*axis.x*t + s*axis.z, + axis.y*axis.y*t + c, + axis.y*axis.z*t - s*axis.x, + 0.0f, + + axis.z*axis.x*t - s*axis.y, + axis.z*axis.y*t + s*axis.x, + axis.z*axis.z*t + c, + 0.0f, + + 0.0f, 0.0f, 0.0f, 1.0f); +} + +__device_inline Transform transform_euler(float3 euler) +{ + return + transform_rotate(euler.x, make_float3(1.0f, 0.0f, 0.0f)) * + transform_rotate(euler.y, make_float3(1.0f, 0.0f, 0.0f)) * + transform_rotate(euler.z, make_float3(1.0f, 0.0f, 0.0f)); +} + +__device_inline Transform transform_orthographic(float znear, float zfar) +{ + return transform_scale(1.0f, 1.0f, 1.0f / (zfar-znear)) * + transform_translate(0.0f, 0.0f, -znear); +} + +__device_inline Transform transform_identity() +{ + return transform_scale(1.0f, 1.0f, 1.0f); +} + +__device_inline bool operator==(const Transform& A, const Transform& B) +{ + return memcmp(&A, &B, sizeof(Transform)) == 0; +} + +__device_inline bool operator!=(const Transform& A, const Transform& B) +{ + return !(A == B); +} + +__device_inline float3 transform_get_column(const Transform *t, int column) +{ + return make_float3(t->x[column], t->y[column], t->z[column]); +} + +Transform transform_inverse(const Transform& a); + +#endif + +CCL_NAMESPACE_END + +#endif /* __UTIL_TRANSFORM_H__ */ + diff --git a/intern/cycles/util/util_types.h b/intern/cycles/util/util_types.h new file mode 100644 index 00000000000..a0e352128d1 --- /dev/null +++ b/intern/cycles/util/util_types.h @@ -0,0 +1,266 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_TYPES_H__ +#define __UTIL_TYPES_H__ + +#ifndef __KERNEL_OPENCL__ + +#include + +#endif + +/* Qualifiers for kernel code shared by CPU and GPU */ + +#ifndef __KERNEL_GPU__ + +#define __device static inline +#define __global +#define __local +#define __shared +#define __constant +#define __device_inline static inline __attribute__((always_inline)) + +#endif + +/* SIMD Types */ + +#ifndef __KERNEL_GPU__ + +#include +#include + +#endif + +#ifndef _WIN32 +#ifndef __KERNEL_GPU__ + +#include + +#endif +#endif + +CCL_NAMESPACE_BEGIN + +/* Types + * + * Define simpler unsigned type names, and integer with defined number of bits. + * Also vector types, named to be compatible with OpenCL builtin types, while + * working for CUDA and C++ too. */ + +/* Shorter Unsigned Names */ + +typedef unsigned char uchar; +typedef unsigned int uint; + +#ifndef __KERNEL_GPU__ + +/* Fixed Bits Types */ + +#ifdef _WIN32 + +typedef signed char int8_t; +typedef unsigned char uint8_t; + +typedef signed short int16_t; +typedef unsigned short uint16_t; + +typedef signed int int32_t; +typedef unsigned int uint32_t; + +typedef long long int64_t; +typedef unsigned long long uint64_t; + +#endif + +/* Generic Memory Pointer */ + +typedef uint64_t device_ptr; + +/* Vector Types */ + +struct uchar2 { + uchar x, y; + + uchar operator[](int i) const { return *(&x + i); } + uchar& operator[](int i) { return *(&x + i); } +}; + +struct uchar3 { + uchar x, y, z; + + uchar operator[](int i) const { return *(&x + i); } + uchar& operator[](int i) { return *(&x + i); } +}; + +struct uchar4 { + uchar x, y, z, w; + + uchar operator[](int i) const { return *(&x + i); } + uchar& operator[](int i) { return *(&x + i); } +}; + +struct int2 { + int x, y; + + int operator[](int i) const { return *(&x + i); } + int& operator[](int i) { return *(&x + i); } +}; + +struct int3 { + int x, y, z; + + int operator[](int i) const { return *(&x + i); } + int& operator[](int i) { return *(&x + i); } +}; + +struct int4 { + int x, y, z, w; + + int operator[](int i) const { return *(&x + i); } + int& operator[](int i) { return *(&x + i); } +}; + +struct uint2 { + uint x, y; + + uint operator[](int i) const { return *(&x + i); } + uint& operator[](int i) { return *(&x + i); } +}; + +struct uint3 { + uint x, y, z; + + uint operator[](int i) const { return *(&x + i); } + uint& operator[](int i) { return *(&x + i); } +}; + +struct uint4 { + uint x, y, z, w; + + uint operator[](int i) const { return *(&x + i); } + uint& operator[](int i) { return *(&x + i); } +}; + +struct float2 { + float x, y; + + float operator[](int i) const { return *(&x + i); } + float& operator[](int i) { return *(&x + i); } +}; + +struct float3 { + float x, y, z; + + float operator[](int i) const { return *(&x + i); } + float& operator[](int i) { return *(&x + i); } +}; + +struct float4 { + float x, y, z, w; + + float operator[](int i) const { return *(&x + i); } + float& operator[](int i) { return *(&x + i); } +}; + +#endif + +#ifndef __KERNEL_GPU__ + +/* Vector Type Constructors + * + * OpenCL does not support C++ class, so we use these instead. */ + +__device uchar2 make_uchar2(uchar x, uchar y) +{ + uchar2 a = {x, y}; + return a; +} + +__device uchar3 make_uchar3(uchar x, uchar y, uchar z) +{ + uchar3 a = {x, y, z}; + return a; +} + +__device uchar4 make_uchar4(uchar x, uchar y, uchar z, uchar w) +{ + uchar4 a = {x, y, z, w}; + return a; +} + +__device int2 make_int2(int x, int y) +{ + int2 a = {x, y}; + return a; +} + +__device int3 make_int3(int x, int y, int z) +{ + int3 a = {x, y, z}; + return a; +} + +__device int4 make_int4(int x, int y, int z, int w) +{ + int4 a = {x, y, z, w}; + return a; +} + +__device uint2 make_uint2(uint x, uint y) +{ + uint2 a = {x, y}; + return a; +} + +__device uint3 make_uint3(uint x, uint y, uint z) +{ + uint3 a = {x, y, z}; + return a; +} + +__device uint4 make_uint4(uint x, uint y, uint z, uint w) +{ + uint4 a = {x, y, z, w}; + return a; +} + +__device float2 make_float2(float x, float y) +{ + float2 a = {x, y}; + return a; +} + +__device float3 make_float3(float x, float y, float z) +{ + float3 a = {x, y, z}; + return a; +} + +__device float4 make_float4(float x, float y, float z, float w) +{ + float4 a = {x, y, z, w}; + return a; +} + +#endif + +CCL_NAMESPACE_END + +#endif /* __UTIL_TYPES_H__ */ + diff --git a/intern/cycles/util/util_vector.h b/intern/cycles/util/util_vector.h new file mode 100644 index 00000000000..fb872936e3f --- /dev/null +++ b/intern/cycles/util/util_vector.h @@ -0,0 +1,137 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_VECTOR_H__ +#define __UTIL_VECTOR_H__ + +/* Vector */ + +#include + +CCL_NAMESPACE_BEGIN + +using std::vector; + +/* Array + * + * Simplified version of vector, serving two purposes: + * - somewhat faster in that it does not clear memory on resize/alloc, + * this was actually showing up in profiles quite significantly + * - if this is used, we are not tempted to use inefficient operations */ + +template +class array +{ +public: + array() + { + data = NULL; + datasize = 0; + } + + array(size_t newsize) + { + if(newsize == 0) { + data = NULL; + datasize = 0; + } + else { + data = new T[newsize]; + datasize = newsize; + } + } + + array(const array& from) + { + *this = from; + } + + array& operator=(const array& from) + { + if(from.datasize == 0) { + data = NULL; + datasize = 0; + } + else { + data = new T[from.datasize]; + memcpy(data, from.data, from.datasize*sizeof(T)); + datasize = from.datasize; + } + + return *this; + } + + array& operator=(const vector& from) + { + datasize = from.size(); + data = NULL; + + if(datasize > 0) { + data = new T[datasize]; + memcpy(data, &from[0], datasize*sizeof(T)); + } + + return *this; + } + + ~array() + { + delete [] data; + } + + void resize(size_t newsize) + { + if(newsize == 0) { + clear(); + } + else { + T *newdata = new T[newsize]; + memcpy(newdata, data, ((datasize < newsize)? datasize: newsize)*sizeof(T)); + delete [] data; + + data = newdata; + datasize = newsize; + } + } + + void clear() + { + delete [] data; + data = NULL; + datasize = 0; + } + + size_t size() const + { + return datasize; + } + + T& operator[](size_t i) const + { + return data[i]; + } + +protected: + T *data; + size_t datasize; +}; + +CCL_NAMESPACE_END + +#endif /* __UTIL_VECTOR_H__ */ + diff --git a/intern/cycles/util/util_view.cpp b/intern/cycles/util/util_view.cpp new file mode 100644 index 00000000000..75f0b92e705 --- /dev/null +++ b/intern/cycles/util/util_view.cpp @@ -0,0 +1,189 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include +#include +#include + +#include "util_opengl.h" +#include "util_time.h" +#include "util_view.h" + +CCL_NAMESPACE_BEGIN + +/* structs */ + +struct View { + ViewInitFunc initf; + ViewExitFunc exitf; + ViewResizeFunc resize; + ViewDisplayFunc display; + ViewKeyboardFunc keyboard; + + bool first_display; + bool redraw; + + int width, height; +} V; + +/* public */ + +static void view_display_text(int x, int y, const char *text) +{ + const char *c; + + glRasterPos3f(x, y, 0); + + for(c=text; *c != '\0'; c++) + glutBitmapCharacter(GLUT_BITMAP_HELVETICA_10, *c); +} + +void view_display_info(const char *info) +{ + const int height = 20; + + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glColor4f(0.1f, 0.1f, 0.1f, 0.8f); + glRectf(0.0f, V.height - height, V.width, V.height); + glDisable(GL_BLEND); + + glColor3f(0.5f, 0.5f, 0.5f); + + view_display_text(10, 7 + V.height - height, info); + + glColor3f(1.0f, 1.0f, 1.0f); +} + +static void view_display() +{ + if(V.first_display) { + if(V.initf) V.initf(); + if(V.exitf) atexit(V.exitf); + + V.first_display = false; + } + + glClearColor(0.05f, 0.05f, 0.05f, 0.0f); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + gluOrtho2D(0, V.width, 0, V.height); + + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + + glRasterPos3f(0, 0, 0); + + if(V.display) + V.display(); + + glutSwapBuffers(); +} + +static void view_reshape(int width, int height) +{ + if(width <= 0 || height <= 0) + return; + + V.width = width; + V.height = height; + + glViewport(0, 0, width, height); + + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + + if(V.resize) + V.resize(width, height); +} + +static void view_keyboard(unsigned char key, int x, int y) +{ + if(V.keyboard) + V.keyboard(key); + + if(key == 'm') + printf("mouse %d %d\n", x, y); + if(key == 'q') { + if(V.exitf) V.exitf(); + exit(0); + } +} + +void view_idle() +{ + if(V.redraw) { + V.redraw = false; + glutPostRedisplay(); + } + + time_sleep(0.1f); +} + +void view_main_loop(const char *title, int width, int height, + ViewInitFunc initf, ViewExitFunc exitf, + ViewResizeFunc resize, ViewDisplayFunc display, + ViewKeyboardFunc keyboard) +{ + const char *name = "app"; + char *argv = (char*)name; + int argc = 1; + + memset(&V, 0, sizeof(V)); + V.width = width; + V.height = height; + V.first_display = true; + V.redraw = false; + V.initf = initf; + V.exitf = exitf; + V.resize = resize; + V.display = display; + V.keyboard = keyboard; + + glutInit(&argc, &argv); + glutInitWindowSize(width, height); + glutInitWindowPosition(0, 0); + glutInitDisplayMode(GLUT_RGB|GLUT_DOUBLE|GLUT_DEPTH); + glutCreateWindow(title); + +#ifndef __APPLE__ + glewInit(); +#endif + + view_reshape(width, height); + + glutDisplayFunc(view_display); + glutIdleFunc(view_idle); + glutReshapeFunc(view_reshape); + glutKeyboardFunc(view_keyboard); + + glutMainLoop(); +} + +void view_redraw() +{ + V.redraw = true; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/util/util_view.h b/intern/cycles/util/util_view.h new file mode 100644 index 00000000000..c6805b5ce7c --- /dev/null +++ b/intern/cycles/util/util_view.h @@ -0,0 +1,44 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_VIEW_H__ +#define __UTIL_VIEW_H__ + +/* Functions to display a simple OpenGL window using GLUT, simplified to the + * bare minimum we need to reduce boilerplate code in tests apps. */ + +CCL_NAMESPACE_BEGIN + +typedef void (*ViewInitFunc)(void); +typedef void (*ViewExitFunc)(void); +typedef void (*ViewResizeFunc)(int width, int height); +typedef void (*ViewDisplayFunc)(void); +typedef void (*ViewKeyboardFunc)(unsigned char key); + +void view_main_loop(const char *title, int width, int height, + ViewInitFunc initf, ViewExitFunc exitf, + ViewResizeFunc resize, ViewDisplayFunc display, + ViewKeyboardFunc keyboard); + +void view_display_info(const char *info); +void view_redraw(); + +CCL_NAMESPACE_END + +#endif /*__UTIL_VIEW_H__*/ + diff --git a/intern/cycles/util/util_xml.h b/intern/cycles/util/util_xml.h new file mode 100644 index 00000000000..1e6874b7d77 --- /dev/null +++ b/intern/cycles/util/util_xml.h @@ -0,0 +1,33 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_XML_H__ +#define __UTIL_XML_H__ + +/* PugiXML from OpenImageIO is used for XML parsing. */ + +#include + +CCL_NAMESPACE_BEGIN + +OIIO_NAMESPACE_USING + +CCL_NAMESPACE_END + +#endif /* __UTIL_XML_H__ */ + From 4e235c184b534d31b651ac0449a1b55a000639fc Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 27 Apr 2011 14:36:02 +0000 Subject: [PATCH 003/241] Blender modifications for Cycles integration. 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. --- CMakeLists.txt | 2 + intern/cycles/device/device_network.cpp | 4 + intern/guardedalloc/MEM_guardedalloc.h | 10 +- .../startup/bl_ui/properties_particle.py | 29 +- release/scripts/startup/bl_ui/space_node.py | 17 +- source/blender/blenkernel/BKE_depsgraph.h | 4 + source/blender/blenkernel/BKE_node.h | 44 +- source/blender/blenkernel/BKE_object.h | 1 + source/blender/blenkernel/BKE_subsurf.h | 2 +- source/blender/blenkernel/BKE_world.h | 1 + source/blender/blenkernel/intern/anim_sys.c | 6 +- source/blender/blenkernel/intern/depsgraph.c | 105 +- source/blender/blenkernel/intern/material.c | 3 +- source/blender/blenkernel/intern/mesh.c | 1 - source/blender/blenkernel/intern/multires.c | 4 +- source/blender/blenkernel/intern/node.c | 255 +- source/blender/blenkernel/intern/object.c | 43 +- source/blender/blenkernel/intern/scene.c | 2 + source/blender/blenkernel/intern/shrinkwrap.c | 2 +- .../blender/blenkernel/intern/subsurf_ccg.c | 11 +- source/blender/blenkernel/intern/world.c | 43 +- source/blender/blenloader/intern/readfile.c | 56 +- source/blender/blenloader/intern/writefile.c | 12 + source/blender/editors/datafiles/bfont.ttf.c | 11885 +++++---- .../blender/editors/datafiles/bmonofont.ttf.c | 13318 +++------- .../blender/editors/datafiles/startup.blend.c | 21150 ++++++++++------ source/blender/editors/include/ED_node.h | 11 +- source/blender/editors/include/ED_render.h | 2 + source/blender/editors/include/UI_interface.h | 6 + .../blender/editors/interface/CMakeLists.txt | 1 + .../editors/interface/interface_handlers.c | 8 +- .../editors/interface/interface_icons.c | 1 + .../editors/interface/interface_intern.h | 1 + .../editors/interface/interface_layout.c | 6 +- .../editors/interface/interface_node.c | 567 + .../editors/interface/interface_panel.c | 23 +- .../editors/interface/interface_widgets.c | 46 +- source/blender/editors/interface/view2d.c | 7 +- source/blender/editors/object/object_add.c | 13 +- .../blender/editors/render/render_preview.c | 83 +- .../blender/editors/render/render_shading.c | 83 +- source/blender/editors/screen/area.c | 34 +- .../editors/space_buttons/buttons_header.c | 32 +- .../editors/space_buttons/buttons_intern.h | 3 - .../editors/space_buttons/space_buttons.c | 2 +- .../blender/editors/space_node/CMakeLists.txt | 1 + source/blender/editors/space_node/drawnode.c | 138 +- source/blender/editors/space_node/node_draw.c | 35 +- source/blender/editors/space_node/node_edit.c | 132 +- .../blender/editors/space_node/node_header.c | 4 +- .../blender/editors/space_node/node_intern.h | 3 + .../blender/editors/space_node/node_layout.c | 128 + source/blender/editors/space_node/node_ops.c | 3 +- .../blender/editors/space_node/space_node.c | 22 +- .../blender/editors/space_view3d/drawobject.c | 4 +- .../editors/space_view3d/space_view3d.c | 21 +- .../editors/space_view3d/view3d_draw.c | 38 + source/blender/makesdna/DNA_ID.h | 1 + source/blender/makesdna/DNA_image_types.h | 1 - source/blender/makesdna/DNA_lamp_types.h | 12 +- source/blender/makesdna/DNA_node_types.h | 145 +- source/blender/makesdna/DNA_object_types.h | 1 + source/blender/makesdna/DNA_space_types.h | 6 + source/blender/makesdna/DNA_view3d_types.h | 2 + source/blender/makesdna/DNA_world_types.h | 6 +- source/blender/makesrna/RNA_access.h | 1474 +- source/blender/makesrna/RNA_define.h | 2 +- source/blender/makesrna/RNA_types.h | 7 + source/blender/makesrna/intern/CMakeLists.txt | 1 + source/blender/makesrna/intern/makesrna.c | 218 +- source/blender/makesrna/intern/rna_ID.c | 12 +- source/blender/makesrna/intern/rna_access.c | 19 +- .../blender/makesrna/intern/rna_animation.c | 2 +- source/blender/makesrna/intern/rna_define.c | 3 +- source/blender/makesrna/intern/rna_internal.h | 10 +- .../makesrna/intern/rna_internal_types.h | 1 + source/blender/makesrna/intern/rna_lamp.c | 20 + source/blender/makesrna/intern/rna_main_api.c | 2 +- source/blender/makesrna/intern/rna_material.c | 2 +- source/blender/makesrna/intern/rna_nodetree.c | 375 +- .../makesrna/intern/rna_nodetree_types.h | 37 +- .../blender/makesrna/intern/rna_object_api.c | 8 +- source/blender/makesrna/intern/rna_render.c | 79 +- source/blender/makesrna/intern/rna_scene.c | 9 +- source/blender/makesrna/intern/rna_space.c | 52 +- source/blender/makesrna/intern/rna_ui.c | 6 +- source/blender/makesrna/intern/rna_ui_api.c | 21 + source/blender/makesrna/intern/rna_wm.c | 9 +- source/blender/makesrna/intern/rna_world.c | 21 + source/blender/modifiers/intern/MOD_subsurf.c | 8 +- source/blender/nodes/CMakeLists.txt | 32 + source/blender/nodes/SHD_node.h | 59 +- .../nodes/intern/SHD_nodes/SHD_add_closure.c | 64 + .../nodes/intern/SHD_nodes/SHD_attribute.c | 59 + .../nodes/intern/SHD_nodes/SHD_background.c | 65 + .../intern/SHD_nodes/SHD_bsdf_anisotropic.c | 65 + .../nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c | 63 + .../nodes/intern/SHD_nodes/SHD_bsdf_glass.c | 83 + .../nodes/intern/SHD_nodes/SHD_bsdf_glossy.c | 65 + .../intern/SHD_nodes/SHD_bsdf_translucent.c | 63 + .../intern/SHD_nodes/SHD_bsdf_transparent.c | 63 + .../nodes/intern/SHD_nodes/SHD_bsdf_velvet.c | 65 + .../nodes/intern/SHD_nodes/SHD_emission.c | 64 + .../nodes/intern/SHD_nodes/SHD_fresnel.c | 62 + .../blender/nodes/intern/SHD_nodes/SHD_geom.c | 2 +- .../nodes/intern/SHD_nodes/SHD_geometry.c | 64 + .../nodes/intern/SHD_nodes/SHD_hueSatVal.c | 2 - .../nodes/intern/SHD_nodes/SHD_light_path.c | 63 + .../blender/nodes/intern/SHD_nodes/SHD_math.c | 4 +- .../nodes/intern/SHD_nodes/SHD_mix_closure.c | 65 + .../nodes/intern/SHD_nodes/SHD_output_lamp.c | 58 + .../intern/SHD_nodes/SHD_output_material.c | 60 + .../nodes/intern/SHD_nodes/SHD_output_world.c | 59 + .../nodes/intern/SHD_nodes/SHD_tex_blend.c | 72 + .../nodes/intern/SHD_nodes/SHD_tex_clouds.c | 75 + .../nodes/intern/SHD_nodes/SHD_tex_coord.c | 63 + .../intern/SHD_nodes/SHD_tex_distnoise.c | 74 + .../intern/SHD_nodes/SHD_tex_environment.c | 70 + .../nodes/intern/SHD_nodes/SHD_tex_image.c | 70 + .../nodes/intern/SHD_nodes/SHD_tex_magic.c | 72 + .../nodes/intern/SHD_nodes/SHD_tex_marble.c | 77 + .../nodes/intern/SHD_nodes/SHD_tex_musgrave.c | 78 + .../nodes/intern/SHD_nodes/SHD_tex_noise.c | 64 + .../nodes/intern/SHD_nodes/SHD_tex_sky.c | 74 + .../nodes/intern/SHD_nodes/SHD_tex_stucci.c | 75 + .../nodes/intern/SHD_nodes/SHD_tex_voronoi.c | 79 + .../nodes/intern/SHD_nodes/SHD_tex_wood.c | 76 + source/blender/python/intern/bpy_rna.c | 13 +- source/blender/render/CMakeLists.txt | 9 +- source/blender/render/SConscript | 7 + .../render/extern/include/RE_pipeline.h | 18 +- .../blender/render/intern/source/pipeline.c | 137 +- source/blender/windowmanager/intern/wm_draw.c | 41 +- .../windowmanager/intern/wm_event_system.c | 6 +- source/creator/CMakeLists.txt | 13 + 135 files changed, 28722 insertions(+), 24830 deletions(-) create mode 100644 source/blender/editors/interface/interface_node.c create mode 100644 source/blender/editors/space_node/node_layout.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_add_closure.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_attribute.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_background.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_emission.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_fresnel.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_geometry.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_light_path.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_mix_closure.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_output_lamp.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_output_material.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_output_world.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_tex_coord.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 3711227fdef..e24ce2990f4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) diff --git a/intern/cycles/device/device_network.cpp b/intern/cycles/device/device_network.cpp index eb101cdfba4..0feba34f713 100644 --- a/intern/cycles/device/device_network.cpp +++ b/intern/cycles/device/device_network.cpp @@ -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 diff --git a/intern/guardedalloc/MEM_guardedalloc.h b/intern/guardedalloc/MEM_guardedalloc.h index f96a49b9f4a..1bc7f7c59dd 100644 --- a/intern/guardedalloc/MEM_guardedalloc.h +++ b/intern/guardedalloc/MEM_guardedalloc.h @@ -61,6 +61,14 @@ #ifndef MEM_MALLOCN_H #define MEM_MALLOCN_H +#ifndef LIBEXPORT +#ifdef _WIN32 +#define LIBEXPORT __declspec(dllexport) +#else +#define LIBEXPORT +#endif +#endif + #include /* 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 diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py index 5037308c6fd..1876b86fcc9 100644 --- a/release/scripts/startup/bl_ui/properties_particle.py +++ b/release/scripts/startup/bl_ui/properties_particle.py @@ -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 diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py index fed1cc49c4c..29fe32119ba 100644 --- a/release/scripts/startup/bl_ui/space_node.py +++ b/release/scripts/startup/bl_ui/space_node.py @@ -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) diff --git a/source/blender/blenkernel/BKE_depsgraph.h b/source/blender/blenkernel/BKE_depsgraph.h index 14251fb1762..9b2c1d117f5 100644 --- a/source/blender/blenkernel/BKE_depsgraph.h +++ b/source/blender/blenkernel/BKE_depsgraph.h @@ -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); diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h index a126f405d09..a2cfc037f44 100644 --- a/source/blender/blenkernel/BKE_node.h +++ b/source/blender/blenkernel/BKE_node.h @@ -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 diff --git a/source/blender/blenkernel/BKE_object.h b/source/blender/blenkernel/BKE_object.h index 3a98f892bd8..a6b5c04b5c3 100644 --- a/source/blender/blenkernel/BKE_object.h +++ b/source/blender/blenkernel/BKE_object.h @@ -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); diff --git a/source/blender/blenkernel/BKE_subsurf.h b/source/blender/blenkernel/BKE_subsurf.h index b82db853d37..a400c1e27b9 100644 --- a/source/blender/blenkernel/BKE_subsurf.h +++ b/source/blender/blenkernel/BKE_subsurf.h @@ -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]); diff --git a/source/blender/blenkernel/BKE_world.h b/source/blender/blenkernel/BKE_world.h index 30780b87085..6c8d1ba7945 100644 --- a/source/blender/blenkernel/BKE_world.h +++ b/source/blender/blenkernel/BKE_world.h @@ -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 diff --git a/source/blender/blenkernel/intern/anim_sys.c b/source/blender/blenkernel/intern/anim_sys.c index 5198172c205..f17d362f237 100644 --- a/source/blender/blenkernel/intern/anim_sys.c +++ b/source/blender/blenkernel/intern/anim_sys.c @@ -45,9 +45,11 @@ #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); diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c index 94fbcd9ccb4..96391a36b34 100644 --- a/source/blender/blenkernel/intern/depsgraph.c +++ b/source/blender/blenkernel/intern/depsgraph.c @@ -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 */ diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c index fd58dc2dfc0..334f018efc9 100644 --- a/source/blender/blenkernel/intern/material.c +++ b/source/blender/blenkernel/intern/material.c @@ -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; diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c index 45a60b842a7..4459b8fb423 100644 --- a/source/blender/blenkernel/intern/mesh.c +++ b/source/blender/blenkernel/intern/mesh.c @@ -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; diff --git a/source/blender/blenkernel/intern/multires.c b/source/blender/blenkernel/intern/multires.c index 5706a3997e6..637f5da45af 100644 --- a/source/blender/blenkernel/intern/multires.c +++ b/source/blender/blenkernel/intern/multires.c @@ -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)); } diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index 4b40c07b7a9..9f9af8e4c6f 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -45,6 +45,10 @@ #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_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_math(ntypelist); + register_node_type_sh_vect_math(ntypelist); + register_node_type_sh_mix_rgb(ntypelist); + register_node_type_sh_rgbtobw(ntypelist); + register_node_type_sh_mapping(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) diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 29fa731594d..d869cb513cd 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -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; amtex[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; amtex[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); diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index 791d572d385..d4a1eb0330c 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -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 */ diff --git a/source/blender/blenkernel/intern/shrinkwrap.c b/source/blender/blenkernel/intern/shrinkwrap.c index 5b6c6bf8732..7b04a72666d 100644 --- a/source/blender/blenkernel/intern/shrinkwrap.c +++ b/source/blender/blenkernel/intern/shrinkwrap.c @@ -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) { diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c index 33094313acd..05a653d7c95 100644 --- a/source/blender/blenkernel/intern/subsurf_ccg.c +++ b/source/blender/blenkernel/intern/subsurf_ccg.c @@ -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; } diff --git a/source/blender/blenkernel/intern/world.c b/source/blender/blenkernel/intern/world.c index 7a76e61c17b..2e0eec42669 100644 --- a/source/blender/blenkernel/intern/world.c +++ b/source/blender/blenkernel/intern/world.c @@ -43,14 +43,17 @@ #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; amtex[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; amtex[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; } diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index f669b178252..82c847abebf 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -139,6 +139,8 @@ #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; amtex[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); } diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c index 7f791591e7d..56db4d2a26e 100644 --- a/source/blender/blenloader/intern/writefile.c +++ b/source/blender/blenloader/intern/writefile.c @@ -1771,6 +1771,12 @@ static void write_worlds(WriteData *wd, ListBase *idbase) for(a=0; amtex[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); } diff --git a/source/blender/editors/datafiles/bfont.ttf.c b/source/blender/editors/datafiles/bfont.ttf.c index 3ebd06a47df..379af401075 100644 --- a/source/blender/editors/datafiles/bfont.ttf.c +++ b/source/blender/editors/datafiles/bfont.ttf.c @@ -2,5621 +2,4533 @@ * \ingroup eddatafiles */ /* DataToC output of file */ - -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, 9, 12, 5, 2, 7, 3, 0,111, 5, 10, 7,111, 12,110, 14, 16,252,252, 60,212,236, 50, 17, 57, - 17, 18, 57, 49, 0, 16,244, 60,236, 50, 57, 57, 48, 75, 83, 88, 7, 16, 4,237, 7, 16, 8,237, 7, 16, 8,237, 7, 16, 4,237, - 7, 16, 4,237, 7, 16, 8,237, 7, 16, 8,237, 7, 16, 4,237, 89, 34, 1, 21, 9, 1, 21, 1, 53, 19, 21, 9, 1, 21, 1, 53, - 4, 37,254,211, 1, 45,254, 43, 35,254,211, 1, 45,254, 43, 4, 35,191,254,244,254,244,191, 1,162, 82, 1,162,191,254,244,254, -244,191, 1,162, 82, 0, 0, 0, 0, 1, 0,217, 1, 31, 5,219, 3, 94, 0, 5, 0, 23, 64, 10, 4,156, 2, 0, 6, 3, 23, 1, - 0, 6, 16,220,212,236, 49, 0, 16,212,196,236, 48, 19, 33, 17, 35, 17, 33,217, 5, 2,168,251,166, 3, 94,253,193, 1,149, 0, - 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, 4, 1, 27, 0, 0, 6,229, 5,205, 0, 23, 0, 47, 0, 56, 0, 76, 0, 96, - 64, 54, 69, 66, 67, 63, 50,201, 72, 48,201, 57, 74, 67,202, 12, 57,202, 0,201, 24,200, 12,201, 36, 72, 69, 51, 48, 4, 49, 66, - 60, 63, 57, 54, 73, 49, 96, 75, 54, 96, 67, 60, 94, 18, 9, 30, 75, 94, 6, 9, 30, 95, 42, 77, 16,220,228,252,236, 16,254,253, -196,238, 16,238, 50, 17, 57, 57, 18, 57, 18, 23, 57, 49, 0, 47,238,246,254,237, 16,237, 50, 16,238,214,238, 57, 18, 57, 57, 48, - 1, 34, 6, 7, 14, 1, 21, 20, 22, 23, 30, 1, 51, 50, 54, 55, 62, 1, 53, 52, 38, 39, 46, 1, 39, 50, 4, 23, 22, 18, 21, 20, - 2, 7, 6, 4, 35, 34, 36, 39, 38, 2, 53, 52, 18, 55, 54, 36, 19, 35, 17, 51, 50, 54, 53, 52, 38, 39, 50, 22, 21, 20, 6, 7, - 30, 1, 31, 1, 35, 39, 46, 1, 43, 1, 17, 35, 17, 4, 0,131,226, 94, 94, 96, 96, 94, 94,226,131,132,227, 94, 93, 93, 94, 92, - 94,227,132,152, 1, 7,109,109,108,108,109,109,254,249,152,152,254,249,109,109,108,108,109,109, 1, 7,125,123,123,110, 87, 88, -102,176,174,105, 96, 24, 67, 46,137,172,129, 59, 73, 54, 66,155, 5,102, 94, 94, 94,229,130,129,227, 94, 94, 95, 95, 94, 93,226, -131,133,227, 93, 94, 94,103,110,109,109,254,250,154,152,254,251,109,109,110,110,109,109, 1, 5,152,154, 1, 6,109,109,110,254, - 98,254,236, 62, 75, 76, 63,103,119,121, 86,112, 17, 8, 77, 73,223,209, 96, 51,254,156, 3, 68, 0, 1, 0,213, 5, 98, 3, 43, - 5,246, 0, 3, 0, 47,183, 2,239, 0,238, 4, 1, 0, 4, 16,212,204, 49, 0, 16,252,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, 19, 33, 21, 33,213, 2, 86,253,170, 5,246, -148, 0, 0, 0, 0, 2, 0,195, 3,117, 3, 61, 5,240, 0, 11, 0, 26, 0, 32, 64, 17, 6,195, 21,196, 0,195, 12,145, 27, 9, - 90, 18, 91, 3, 90, 24, 27, 16,220,236,252,236, 49, 0, 16,244,236,252,236, 48, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, - 39, 50, 22, 23, 30, 1, 21, 20, 6, 35, 34, 38, 53, 52, 54, 2, 0, 80,110,110, 80, 80,110,111, 79, 64,118, 43, 46, 46,185,134, -135,180,184, 5,111,111, 80, 79,109,109, 79, 79,112,129, 49, 46, 45,114, 66,132,183,180,135,134,186, 0, 0, 0, 0, 2, 0,217, - 0, 0, 5,219, 5, 4, 0, 11, 0, 15, 0, 46, 64, 24, 5,208, 7, 3,156, 0,208, 9, 1, 12,156, 14, 13, 2, 21, 4, 0, 23, - 12, 8, 21, 10, 6, 16, 16,212, 60,236, 50,252, 60,236, 50, 49, 0, 47,236,212, 60,236,252, 60,236, 48, 1, 17, 33, 21, 33, 17, - 35, 17, 33, 53, 33, 17, 1, 33, 21, 33, 3,174, 2, 45,253,211,168,253,211, 2, 45,253,211, 5, 2,250,254, 5, 4,254,125,170, -254,125, 1,131,170, 1,131,251,166,170, 0, 0, 0, 1, 0, 94, 2,156, 2,180, 5,240, 0, 24, 0, 74, 64, 36, 0,125, 6, 4, - 0, 23,125, 6, 6, 4, 66, 4, 2, 0, 14,221, 15, 0,221, 2,247, 11,221, 15, 18,145, 25, 0, 14, 8,126, 1, 21, 14, 3, 25, - 16,220,196,212,196,236, 17, 57, 49, 0, 16,244,196,236,252,236, 16,238, 17, 18, 57, 48, 75, 83, 88, 7, 16, 5,237, 23, 50, 7, - 5,237, 89, 34, 1, 33, 21, 33, 53, 54, 55, 0, 53, 52, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 21, 20, 1, 6, 1, 12, 1, -168,253,170, 34, 63, 1, 88,104, 85, 52,122, 72, 77,133, 57,145,174,254,181, 56, 3, 14,114,110, 31, 56, 1, 49, 94, 66, 81, 35, - 35,123, 28, 28,132,108,139,254,228, 48, 0, 0, 0, 1, 0, 98, 2,141, 2,205, 5,240, 0, 40, 0, 72, 64, 39, 0, 21, 19, 10, -221, 9, 31,221, 32, 19,221, 21, 13,221, 9,248, 6,247, 28,221, 32,248, 35,145, 41, 22, 19, 0, 20, 25,126, 38, 16,126, 3, 20, - 31, 9, 41, 16,220,196,196,212,236,212,236, 17, 57, 57, 57, 49, 0, 16,244,228,236,252,228,236,212,236, 16,238, 16,238, 17, 18, - 57, 48, 1, 30, 1, 21, 20, 6, 35, 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, 22, 21, 20, 6, 2, 12, 92,101,190,177, 57,125, 70, 52,119, 67,109,120,111,108, 86, 94, 94, 97,100, - 95, 40,102, 81, 73,128, 55,144,169, 90, 4, 96, 18,109, 82,124,134, 21, 20,121, 27, 26, 79, 70, 74, 76,108, 63, 60, 58, 61, 18, - 23,115, 17, 18,118, 99, 69, 96, 0, 1, 1,115, 4,238, 3, 82, 6,102, 0, 3, 0, 49, 64, 9, 2,180, 0,179, 4, 3, 68, 1, - 4, 16,212,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, 1, 51, 1, 35, 2,139,199,254,186,153, 6,102,254,136, 0, 0, 0, 0, 1, 0,174,254, 86, 4,229, - 4, 96, 0, 32, 0, 77, 64, 37, 19, 25, 31, 3, 22, 6, 3, 9, 12, 3, 1, 18, 15, 6,135, 28, 22,140, 10, 1,188, 0,189, 33, - 25, 9, 18, 9, 8, 11, 78, 31, 2, 8, 0, 70, 33, 16,252,236, 50,244,236,196, 18, 57, 49, 0, 16,228,228, 50,244, 60,236,220, -196, 17, 23, 57, 17, 18, 23, 57, 48,182, 31, 34, 96, 34,207, 34, 3, 1, 93, 19, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, - 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 39, 14, 1, 35, 34, 38, 39, 17,174,184,138,135,148,149,184, 35, 37, 9, 32, 28, - 41, 73, 35, 69, 82, 15, 50,145, 98,102,143, 42,254, 86, 6, 10,253, 72,145,148,168,168, 2,141,252,162, 60, 57, 11, 12,148, 23, - 22, 78, 80, 79, 79, 78, 78,253,215, 0, 0, 0, 0, 1, 0,158,255, 59, 4, 57, 5,213, 0, 13, 0, 37, 64, 18, 8, 2, 4,193, - 0,129, 6, 2, 14, 0, 7, 93, 5, 3, 93, 1, 11, 14, 16,212,212,252,220,236, 57, 49, 0, 16,196, 50,244,236, 17, 57, 48, 1, - 33, 17, 35, 17, 35, 17, 35, 17, 46, 1, 53, 52, 36, 2,121, 1,192,141,190,142,215,235, 1, 4, 5,213,249,102, 6, 31,249,225, - 3, 78, 17,221,184,190,232, 0, 0, 1, 0,219, 2, 72, 1,174, 3, 70, 0, 3, 0, 18,183, 2,131, 0, 4, 1, 25, 0, 4, 16, -212,236, 49, 0, 16,212,236, 48, 19, 51, 21, 35,219,211,211, 3, 70,254, 0, 0, 0, 1, 1, 35,254,117, 2,193, 0, 0, 0, 19, - 0, 31, 64, 14, 9, 6, 10, 13,243, 6, 0, 19, 0, 16, 39, 3, 9, 20, 16,220,212,236,212,204, 49, 0, 47,212,252,196, 18, 57, - 48, 33, 30, 1, 21, 20, 6, 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 53, 52, 38, 39, 2, 84, 55, 54,120,118, 46, 87, 43, 34, 74, - 47, 59, 60, 43, 45, 62,105, 48, 89, 91, 12, 12,131, 17, 15, 48, 46, 30, 87, 61, 0, 1, 0,137, 2,156, 2,197, 5,223, 0, 10, - 0, 44, 64, 24, 7, 0,221, 9, 3,221, 4, 2,221, 9,247, 5,145, 11, 8,124, 6, 93, 3,124, 1,124, 0, 11, 16,220,244,228, -252,228, 49, 0, 16,244,236,236,212,236, 16,238, 50, 48, 19, 51, 17, 7, 53, 55, 51, 17, 51, 21, 33,156,204,223,230,137,205,253, -215, 3, 10, 2, 99, 41,116, 39,253, 43,110, 0, 0, 3, 0, 96, 1,213, 3,100, 5,240, 0, 3, 0, 15, 0, 27, 0, 46, 64, 25, - 2,227, 0,225, 22,221, 10,224, 16,221, 4,145, 28, 0, 19, 13, 1, 25,107, 7,108, 19,107, 13, 28, 16,220,236,252,236, 57, 17, - 18, 57, 49, 0, 16,244,236,244,236,252,236, 48, 19, 33, 21, 33, 1, 50, 22, 21, 20, 6, 35, 34, 38, 53, 52, 54, 23, 34, 6, 21, - 20, 22, 51, 50, 54, 53, 52, 38,139, 2,176,253, 80, 1, 88,179,206,206,179,179,208,208,179,105,126,127,104,105,125,124, 2, 80, -123, 4, 27,221,191,191,219,220,190,191,221,115,161,136,133,160,160,133,137,160, 0, 2, 0,193, 0,141, 4, 72, 4, 35, 0, 6, - 0, 13, 0,134, 64, 73, 12,232, 13, 12, 9, 10, 9, 11,232, 10, 10, 9, 13,232, 7, 8, 7, 12,232, 11, 12, 8, 8, 7, 5,232, - 6, 5, 2, 3, 2, 4,232, 3, 3, 2, 6,232, 0, 1, 0, 5,232, 4, 5, 1, 1, 0, 66, 12, 5, 10, 3,231, 7, 0,166, 14, - 12, 8, 1, 5, 0, 8,111, 10, 7, 1,111, 3, 0,112, 14, 16,252, 60,252,212, 60,236, 18, 57, 17, 18, 57, 49, 0, 16,244, 60, -236, 50, 57, 57, 48, 75, 83, 88, 7, 16, 8,237, 7, 16, 4,237, 7, 16, 4,237, 7, 16, 8,237, 7, 16, 8,237, 7, 16, 4,237, - 7, 16, 4,237, 7, 16, 8,237, 89, 34, 19, 1, 21, 1, 53, 9, 1, 37, 1, 21, 1, 53, 9, 1,193, 1,213,254, 43, 1, 45,254, -211, 1,178, 1,213,254, 43, 1, 45,254,211, 4, 35,254, 94, 82,254, 94,191, 1, 12, 1, 12,191,254, 94, 82,254, 94,191, 1, 12, - 1, 12, 0, 0,255,255, 0,137,255,227, 7,127, 5,240, 16, 39, 5,206, 4,139,253,100, 16, 38, 0,123, 0, 0, 16, 7, 6, 90, - 3, 53, 0, 0,255,255, 0,137,255,227, 7, 63, 5,240, 16, 38, 0,123, 0, 0, 16, 39, 6, 90, 3, 53, 0, 0, 16, 7, 0,116, - 4,139,253,100,255,255, 0, 98,255,227, 7,127, 5,240, 16, 39, 5,206, 4,139,253,100, 16, 38, 0,117, 0, 0, 16, 7, 6, 90, - 3, 53, 0, 0, 0, 2, 0,143,255,227, 3,172, 5,213, 0, 32, 0, 36, 0,134, 64, 47, 32, 26, 5, 2, 4, 6, 25, 0, 16,134, - 15,136, 12, 0, 33,131, 35, 12,149, 19,140, 35,129, 37, 6, 34, 25, 22, 9, 5, 1, 0, 26, 34, 9, 0, 28, 1, 34, 28, 33, 38, - 15, 9, 28, 22, 37, 16,220,236,212,252,236,212,236, 17, 18, 57, 17, 18, 57, 17, 18, 57, 18, 57, 49, 0, 16,228,244,236, 16,254, -205, 16,244,238, 18, 57, 57, 23, 57, 48, 1, 75,176, 16, 84, 75,176, 18, 84, 91, 75,176, 19, 84, 91, 88,189, 0, 37,255,192, 0, - 1, 0, 37, 0, 37, 0, 64, 56, 17, 55, 56, 89, 64, 11,116, 4,116, 5,116, 6,116, 7,118, 28, 5, 93, 1, 51, 21, 20, 6, 15, - 1, 14, 1, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 53, 52, 54, 63, 1, 62, 1, 55, 62, 1, 53, 19, 35, 53, 51, 1, -244,190, 55, 90, 90, 58, 51,131,109, 78,180, 96, 94,192,103,184,224, 73, 89, 88, 48, 38, 8, 7, 6,196,202,202, 4, 68,156,101, -130, 87, 88, 53, 94, 49, 89,110, 70, 67,188, 57, 56,194,159, 76,137, 86, 86, 47, 53, 25, 21, 60, 54, 1, 14,254,255,255, 0, 16, - 0, 0, 5,104, 5,213, 18, 38, 0, 36, 0, 0, 16, 7, 6,135, 4,188, 1,117,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 38, - 0, 36, 0, 0, 16, 7, 6,133, 4,188, 1,117,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 38, 0, 36, 0, 0, 17, 7, 6,136, - 4,188, 1,117, 0, 16,180, 5, 13, 17, 10, 7, 43, 64, 5, 15, 13, 0, 17, 2, 93, 49, 0, 0,255,255, 0, 16, 0, 0, 5,104, - 5,213, 18, 38, 0, 36, 0, 0, 17, 7, 6,134, 4,188, 1,117, 0, 20,180, 10, 20, 35, 5, 7, 43, 64, 9, 64, 20, 79, 35, 32, - 20, 47, 35, 4, 93, 49, 0, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 38, 0, 36, 0, 0, 17, 7, 6,132, 4,188, 1,117, - 0, 20,180, 10, 18, 13, 5, 7, 43, 64, 9, 48, 18, 63, 13, 0, 18, 15, 13, 4, 93, 49, 0, 0, 0, 3, 0, 16, 0, 0, 5,104, - 7,109, 0, 11, 0, 14, 0, 33, 0,203, 64, 84, 12, 17, 13, 12, 27, 28, 27, 14, 17, 28, 27, 30, 17, 28, 27, 29, 17, 28, 28, 27, - 13, 17, 33, 15, 33, 12, 17, 14, 12, 15, 15, 33, 32, 17, 15, 33, 31, 17, 33, 15, 33, 66, 12, 27, 15, 13, 9, 3,193, 21, 9, 30, -149, 13, 9,142, 32, 28, 30, 29, 28, 24, 32, 31, 33, 13, 18, 6, 14, 24, 12, 6, 27, 0, 86, 24, 28, 15, 6, 86, 18, 28, 33, 34, - 16,212,196,212,236, 50, 16,212,238, 50, 17, 57, 17, 57, 17, 18, 57, 17, 57, 57, 17, 18, 57, 57, 49, 0, 47, 60,230,214,238, 16, -212,238, 17, 18, 57, 57, 57, 48, 75, 83, 88, 7, 16, 5,237, 7, 5,237, 7, 16, 8,237, 7, 16, 5,237, 7, 16, 5,237, 7, 5, -237, 7, 5,237, 7, 16, 8,237, 89, 34,178, 32, 35, 1, 1, 93, 64, 32, 26, 12,115, 12,155, 12, 3, 7, 15, 8, 27, 80, 35,102, - 13,105, 14,117, 13,123, 14,121, 28,121, 29,118, 32,118, 33,128, 35, 12, 93, 0, 93, 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, - 54, 3, 1, 33, 1, 46, 1, 53, 52, 54, 51, 50, 22, 21, 20, 6, 7, 1, 35, 3, 33, 3, 35, 3, 84, 89, 63, 64, 87, 88, 63, 63, - 89,152,254,240, 2, 33,254, 88, 61, 62,159,115,114,161, 63, 60, 2, 20,210,136,253, 95,136,213, 6, 90, 63, 89, 87, 65, 63, 88, - 88,254,243,253, 25, 3, 78, 41,115, 73,115,160,161,114, 70,118, 41,250,139, 1,127,254,129, 0, 0, 2, 0, 8, 0, 0, 7, 72, - 5,213, 0, 15, 0, 19, 0,135, 64, 57, 17, 17, 14, 15, 14, 16, 17, 15, 15, 14, 13, 17, 15, 14, 12, 17, 14, 15, 14, 66, 5,149, - 3, 11,149, 17, 1,149, 16,149, 0,129, 17, 7,149, 3,173, 13, 9, 17, 16, 15, 13, 12, 5, 14, 10, 0, 4, 8, 6, 2, 28, 18, - 10, 14, 20, 16,212,212, 60,236, 50,212,196,196, 17, 18, 23, 57, 49, 0, 47, 60,236,236,196,244,236,236, 16,238, 16,238, 48, 75, - 83, 88, 7, 16, 5,237, 7, 5,237, 7, 16, 5,237, 7, 16, 5,237, 89, 34,178,128, 21, 1, 1, 93, 64, 19,103, 17,119, 16,119, - 17,134, 12,133, 16,150, 17,144, 21,160, 21,191, 21, 9, 93, 1, 21, 33, 17, 33, 21, 33, 17, 33, 21, 33, 17, 33, 3, 35, 1, 23, - 1, 33, 17, 7, 53,253, 27, 2,199,253, 57, 2,248,252, 61,253,240,160,205, 2,113,139,254,182, 1,203, 5,213,170,254, 70,170, -253,227,170, 1,127,254,129, 5,213,158,252,240, 3, 16, 0, 0,255,255, 0,115,254,117, 5, 39, 5,240, 18, 38, 0, 38, 0, 0, - 16, 7, 0,122, 1, 45, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 18, 38, 0, 40, 0, 0, 16, 7, 6,135, 4,158, 1,117, -255,255, 0,201, 0, 0, 4,139, 5,213, 18, 38, 0, 40, 0, 0, 16, 7, 6,133, 4,158, 1,117,255,255, 0,201, 0, 0, 4,139, - 5,213, 18, 38, 0, 40, 0, 0, 17, 7, 6,136, 4,158, 1,117, 0, 7, 64, 3, 64, 12, 1, 93, 49, 0, 0, 0,255,255, 0,201, - 0, 0, 4,139, 5,213, 18, 38, 0, 40, 0, 0, 17, 7, 6,132, 4,158, 1,117, 0, 9, 64, 5, 64, 12, 64, 16, 2, 93, 49, 0, -255,255, 0,201, 0, 0, 1,147, 5,213, 18, 38, 0, 44, 0, 0, 16, 7, 6,135, 3, 47, 1,117,255,255, 0,201, 0, 0, 1,147, - 5,213, 18, 38, 0, 44, 0, 0, 16, 7, 6,133, 3, 47, 1,117,255,255, 0,201, 0, 0, 1,147, 5,213, 18, 38, 0, 44, 0, 0, - 17, 7, 6,136, 3, 47, 1,117, 0, 8,180, 1, 6, 10, 0, 7, 43, 49, 0, 0,255,255, 0,201, 0, 0, 1,147, 5,213, 18, 38, - 0, 44, 0, 0, 17, 7, 6,132, 3, 47, 1,117, 0, 8,180, 0, 10, 7, 1, 7, 43, 49, 0, 0, 0, 2, 0, 10, 0, 0, 5,186, - 5,213, 0, 12, 0, 25, 0,103, 64, 32, 16, 9,169, 11, 13,149, 0,129, 18,149, 14, 11, 7, 7, 1, 25, 19, 4, 15, 13, 22, 25, - 4, 50, 10, 17, 13, 28, 8, 0,121, 26, 16,244, 60,236, 50,196,244,236, 16,196, 23, 57, 49, 0, 47,198, 50,238,246,238, 16,238, - 50, 48, 64, 40, 32, 27,127, 27,176, 27, 3,159, 9,159, 10,159, 11,159, 12,159, 14,159, 15,159, 16,159, 17,191, 9,191, 10,191, - 11,191, 12,191, 14,191, 15,191, 16,191, 17, 16, 93, 1, 93, 19, 33, 32, 0, 17, 16, 0, 41, 1, 17, 35, 53, 51, 19, 17, 33, 21, - 33, 17, 51, 32, 0, 17, 16, 0, 33,211, 1,160, 1,177, 1,150,254,105,254, 80,254, 96,201,201,203, 1, 80,254,176,243, 1, 53, - 1, 31,254,225,254,203, 5,213,254,151,254,128,254,126,254,150, 2,188,144, 1,227,254, 29,144,253,234, 1, 24, 1, 46, 1, 44, - 1, 23, 0, 0,255,255, 0,201, 0, 0, 5, 51, 5,213, 18, 38, 0, 49, 0, 0, 17, 7, 6,134, 4,254, 1,117, 0, 20,180, 0, - 19, 34, 4, 7, 43, 64, 9, 48, 19, 63, 34, 16, 19, 31, 34, 4, 93, 49, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 18, 38, - 0, 50, 0, 0, 16, 7, 6,135, 5, 39, 1,117,255,255, 0,115,255,227, 5,217, 5,240, 18, 38, 0, 50, 0, 0, 16, 7, 6,133, - 5, 39, 1,117,255,255, 0,115,255,227, 5,217, 5,240, 18, 38, 0, 50, 0, 0, 17, 7, 6,136, 5, 39, 1,117, 0, 16,180, 15, - 26, 30, 21, 7, 43, 64, 5, 31, 26, 16, 30, 2, 93, 49, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 18, 38, 0, 50, 0, 0, - 17, 7, 6,134, 5, 39, 1,117, 0, 24,180, 3, 33, 48, 9, 7, 43, 64, 13, 48, 33, 63, 48, 32, 33, 47, 48, 16, 33, 31, 48, 6, - 93, 49, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 18, 38, 0, 50, 0, 0, 17, 7, 6,132, 5, 39, 1,117, 0, 20,180, 3, - 31, 26, 9, 7, 43, 64, 9, 64, 31, 79, 26, 16, 31, 31, 26, 4, 93, 49, 0, 0, 0, 1, 1, 25, 0, 63, 5,156, 4,197, 0, 11, - 0,133, 64, 77, 10,156, 11, 10, 7, 8, 7, 9,156, 8, 8, 7, 4,156, 3, 4, 7, 7, 6, 5,156, 6, 7, 6, 4,156, 5, 4, - 1, 2, 1, 3,156, 2, 2, 1, 11,156, 0, 1, 0, 10,156, 9, 10, 1, 1, 0, 66, 10, 8, 7, 6, 4, 2, 1, 0, 8, 5, 3, - 11, 9, 12, 11, 10, 9, 7, 5, 4, 3, 1, 8, 2, 0, 8, 6, 12, 16,212, 60,204, 50, 23, 57, 49, 0, 16,212, 60,204, 50, 23, - 57, 48, 75, 83, 88, 7, 16, 8,237, 7, 16, 5,237, 7, 16, 5,237, 7, 16, 8,237, 7, 16, 5,237, 7, 16, 8,237, 7, 16, 5, -237, 7, 16, 8,237, 89, 34, 9, 2, 7, 9, 1, 39, 9, 1, 55, 9, 1, 5,156,254, 55, 1,201,119,254, 53,254, 53,118, 1,200, -254, 56,118, 1,203, 1,203, 4, 76,254, 53,254, 55,121, 1,203,254, 53,121, 1,201, 1,203,121,254, 53, 1,203, 0, 3, 0,102, -255,186, 5,229, 6, 23, 0, 9, 0, 19, 0, 43, 0,158, 64, 60, 29, 31, 26, 13, 43, 44, 19, 10, 1, 0, 4, 13, 41, 38, 32, 20, - 13, 4, 42, 38, 30, 26, 4,149, 38, 13,149, 26,145, 38,140, 44, 43, 44, 42, 20, 23, 16, 32, 30, 35, 19, 10, 1, 0, 4, 29, 41, - 16, 7, 31, 7, 25, 35, 51, 16, 25, 23, 16, 44, 16,252,236,252,236,192, 17, 18, 57, 57, 23, 57, 18, 57, 57, 17, 18, 57, 57, 17, - 57, 49, 0, 16,228,244,236, 16,238, 16,192, 16,192, 17, 18, 57, 57, 18, 57, 18, 23, 57, 18, 57, 17, 18, 57, 57, 48, 64, 42, 87, - 0, 90, 21, 87, 25, 85, 33,106, 21,101, 33,123, 21,118, 28,117, 33, 9, 70, 19, 89, 0, 86, 19,106, 0,100, 19,100, 28,106, 40, -124, 0,115, 19,118, 28,122, 40, 11, 93, 1, 93, 9, 1, 30, 1, 51, 50, 0, 17, 52, 38, 39, 46, 1, 35, 34, 0, 17, 20, 22, 23, - 7, 38, 2, 53, 16, 0, 33, 50, 22, 23, 55, 23, 7, 22, 18, 21, 16, 0, 33, 34, 38, 39, 7, 39, 4,182,253, 51, 62,161, 95,220, - 1, 1, 39,121, 61,161, 95,220,254,253, 39, 39,134, 78, 79, 1,121, 1, 59,130,221, 87,162,102,170, 78, 80,254,136,254,198,128, -221, 91,162,103, 4, 88,252,178, 64, 67, 1, 72, 1, 26,112,184,184, 64, 67,254,184,254,229,112,188, 68,158,102, 1, 8,160, 1, - 98, 1,165, 77, 75,191, 89,198,103,254,246,158,254,159,254, 91, 75, 75,191, 88,255,255, 0,178,255,227, 5, 41, 5,213, 18, 38, - 0, 56, 0, 0, 16, 7, 6,135, 4,238, 1,117,255,255, 0,178,255,227, 5, 41, 5,213, 18, 38, 0, 56, 0, 0, 16, 7, 6,133, - 4,238, 1,117,255,255, 0,178,255,227, 5, 41, 5,213, 18, 38, 0, 56, 0, 0, 17, 7, 6,136, 4,238, 1,117, 0, 20,180, 10, - 20, 24, 0, 7, 43, 64, 9, 47, 20, 32, 24, 31, 20, 16, 24, 4, 93, 49, 0, 0,255,255, 0,178,255,227, 5, 41, 5,213, 18, 38, - 0, 56, 0, 0, 17, 7, 6,132, 4,238, 1,117, 0, 28,180, 1, 25, 20, 9, 7, 43, 64, 17, 80, 25, 95, 20, 64, 25, 79, 20, 32, - 25, 47, 20, 16, 25, 31, 20, 8, 93, 49, 0, 0,255,255,255,252, 0, 0, 4,231, 5,213, 18, 38, 0, 60, 0, 0, 16, 7, 6,133, - 4,115, 1,117, 0, 2, 0,201, 0, 0, 4,141, 5,213, 0, 12, 0, 21, 0, 61, 64, 27, 14,149, 9, 13,149, 2,246, 0,129, 11, - 21, 15, 9, 3, 4, 1, 18, 25, 6, 63, 13, 10, 1, 28, 0, 4, 22, 16,252,236, 50, 50,252,236, 17, 23, 57, 49, 0, 47,244,252, -236,212,236, 48, 64, 9, 15, 23, 31, 23, 63, 23, 95, 23, 4, 1, 93, 19, 51, 17, 51, 50, 4, 21, 20, 4, 43, 1, 17, 35, 19, 17, - 51, 50, 54, 53, 52, 38, 35,201,202,254,251, 1, 1,254,255,251,254,202,202,254,141,154,153,142, 5,213,254,248,225,220,220,226, -254,174, 4, 39,253,209,146,134,134,145, 0, 0, 0, 1, 0,186,255,227, 4,172, 6, 20, 0, 47, 0,154, 64, 48, 45, 39, 33, 12, - 4, 6, 13, 32, 0, 4, 42, 22,134, 23, 26,185, 19, 42,185, 3,151, 19,140, 46, 12, 9, 13, 29, 32, 33, 39, 9, 8, 36, 39, 8, - 6, 29, 8, 36, 16, 22, 45, 8, 16, 0, 70, 48, 16,252,196,252,204, 16,198,238,212,238, 16,238, 17, 57, 57, 18, 57, 18, 57, 49, - 0, 47,228,254,238, 16,254,213,238, 18, 23, 57, 23, 57, 48, 64, 64, 15, 5, 15, 6, 15, 7, 15, 39, 15, 40,138, 12,138, 13, 7, - 10, 6, 10, 7, 10, 11, 10, 12, 10, 13, 10, 31, 13, 32, 10, 33, 12, 34, 4, 38, 25, 13, 25, 31, 25, 32, 58, 32, 58, 33, 77, 31, - 77, 32, 73, 33, 73, 34,106, 31,106, 32,165, 6,165, 7,166, 32, 24, 93, 1, 93, 19, 52, 54, 51, 50, 22, 23, 14, 1, 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, 55, 46, 1, 35, 34, - 6, 21, 17, 35,186,239,218,208,219, 3,151,168, 58, 65, 57,166, 96,225,211, 64,136, 73, 80,140, 65,116,120, 59,101, 92, 96, 87, -167,151, 8,131,113,130,136,187, 4,113,200,219,232,224, 8,115, 96, 47, 81, 42, 37,106,142,100,172,183, 25, 24,164, 30, 29, 95, - 91, 63, 84, 62, 55, 59,135, 91,127,172, 29,103,112,139,131,251,147, 0, 0, 0,255,255, 0,123,255,227, 4, 45, 6,102, 18, 38, - 0, 68, 0, 0, 17, 6, 0, 67, 82, 0, 0, 11, 64, 7, 63, 38, 47, 38, 31, 38, 3, 93, 49, 0,255,255, 0,123,255,227, 4, 45, - 6,102, 18, 38, 0, 68, 0, 0, 17, 6, 0,118, 82, 0, 0, 11, 64, 7, 63, 38, 47, 38, 31, 38, 3, 93, 49, 0,255,255, 0,123, -255,227, 4, 45, 6,102, 18, 38, 0, 68, 0, 0, 17, 6, 2, 31, 82, 0, 0, 8,180, 11, 40, 44, 20, 7, 43, 49,255,255, 0,123, -255,227, 4, 45, 6, 55, 18, 38, 0, 68, 0, 0, 17, 6, 2, 53, 82, 0, 0, 20,180, 20, 46, 60, 11, 7, 43, 64, 9, 32, 46, 47, - 60, 16, 46, 31, 60, 4, 93, 49,255,255, 0,123,255,227, 4, 45, 6, 16, 18, 38, 0, 68, 0, 0, 17, 6, 0,106, 82, 0, 0, 32, -180, 20, 45, 40, 11, 7, 43, 64, 21,127, 40,111, 40, 80, 45, 95, 40, 64, 45, 79, 40, 48, 45, 63, 40, 0, 45, 15, 40, 10, 93, 49, -255,255, 0,123,255,227, 4, 45, 7, 6, 18, 38, 0, 68, 0, 0, 17, 6, 2, 51, 82, 0, 0, 37, 64, 14, 38, 44, 20, 44, 38, 11, - 7, 50, 56, 20, 56, 50, 11, 7, 43, 16,196, 43, 16,196, 49, 0, 64, 9, 63, 53, 63, 47, 15, 53, 15, 47, 4, 93, 48, 0, 0, 0, - 0, 3, 0,123,255,227, 7,111, 4,123, 0, 6, 0, 51, 0, 62, 1, 3, 64, 67, 39, 45, 37, 61, 14, 13, 0, 52,169, 37, 22,134, - 21,136, 18, 0,169, 14, 58, 18,185, 28, 25, 46,134, 45,186, 42, 3,185, 14,187, 7, 49, 10,184, 31, 25,140, 37, 63, 52, 55, 38, - 6, 15, 0, 37, 55, 28, 7, 38, 15, 21, 0, 8, 13, 61, 38, 8, 15, 45, 55, 8, 34, 69, 63, 16,252,236,204,212,252, 60,212,236, -196, 17, 18, 57, 57, 17, 57, 17, 18, 57, 17, 18, 57, 49, 0, 16,196,228, 50,244, 60,196,228,252, 60,244,236, 16,196,238, 50, 16, -238, 16,244,238, 16,238, 17, 57, 17, 57, 17, 18, 57, 48, 64,129, 48, 43, 48, 44, 48, 45, 48, 46, 48, 47, 48, 48, 64, 43, 64, 44, - 64, 45, 64, 46, 64, 47, 64, 48, 80, 43, 80, 44, 80, 45, 80, 46, 80, 47, 80, 48,133, 43,133, 48,128, 64,144, 64,160, 64,176, 64, -192, 64,208, 64,224, 64,224, 64,240, 64, 29, 63, 0, 63, 6, 63, 13, 63, 14, 63, 15, 5, 48, 44, 48, 45, 48, 46, 48, 47, 64, 44, - 64, 45, 64, 46, 64, 47, 80, 44, 80, 45, 80, 46, 80, 47,111, 0,111, 6,111, 13,111, 14,111, 15, 96, 44, 96, 45, 96, 46, 96, 47, -112, 44,112, 45,112, 46,112, 47,128, 44,128, 45,128, 46,128, 47, 29, 93,113, 1, 93, 1, 46, 1, 35, 34, 6, 7, 3, 62, 1, 51, - 50, 0, 29, 1, 33, 30, 1, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 39, 14, 1, 35, 34, 38, 53, 52, 54, 51, 33, 53, 52, 38, 35, - 34, 6, 7, 53, 62, 1, 51, 50, 22, 3, 34, 6, 21, 20, 22, 51, 50, 54, 61, 1, 6,182, 1,165,137,153,185, 14, 68, 74,212,132, -226, 1, 8,252,178, 12,204,183,104,200,100,100,208,106,167,248, 77, 73,216,143,189,210,253,251, 1, 2,167,151, 96,182, 84,101, -190, 90,142,213,239,223,172,129,111,153,185, 2,148,151,180,174,158, 1, 48, 90, 94,254,221,250, 90,191,200, 53, 53,174, 42, 44, -121,119,120,120,187,168,189,192, 18,127,139, 46, 46,170, 39, 39, 96,254, 24,102,123, 98,115,217,180, 41, 0, 0,255,255, 0,113, -254,117, 3,231, 4,123, 18, 38, 0, 70, 0, 0, 16, 7, 0,122, 0,143, 0, 0,255,255, 0,113,255,227, 4,127, 6,102, 18, 38, - 0, 72, 0, 0, 16, 7, 0, 67, 0,139, 0, 0,255,255, 0,113,255,227, 4,127, 6,102, 18, 38, 0, 72, 0, 0, 16, 7, 0,118, - 0,139, 0, 0,255,255, 0,113,255,227, 4,127, 6,102, 18, 38, 0, 72, 0, 0, 17, 7, 2, 31, 0,139, 0, 0, 0, 8,180, 21, - 30, 34, 27, 7, 43, 49, 0, 0,255,255, 0,113,255,227, 4,127, 6, 16, 18, 38, 0, 72, 0, 0, 17, 7, 0,106, 0,139, 0, 0, - 0, 7, 64, 3, 64, 32, 1, 93, 49, 0, 0, 0,255,255,255,199, 0, 0, 1,166, 6,102, 18, 38, 0,243, 0, 0, 16, 7, 0, 67, -255, 29, 0, 0,255,255, 0,144, 0, 0, 2,111, 6,102, 18, 38, 0,243, 0, 0, 16, 7, 0,118,255, 29, 0, 0,255,255,255,222, - 0, 0, 2, 92, 6,102, 18, 38, 0,243, 0, 0, 17, 7, 2, 31,255, 29, 0, 0, 0, 8,180, 1, 6, 10, 0, 7, 43, 49, 0, 0, -255,255,255,244, 0, 0, 2, 70, 6, 16, 18, 38, 0,243, 0, 0, 17, 7, 0,106,255, 29, 0, 0, 0, 8,180, 0, 10, 7, 1, 7, - 43, 49, 0, 0, 0, 2, 0,113,255,227, 4,117, 6, 20, 0, 14, 0, 40, 1, 39, 64, 94, 37,123, 38, 37, 30, 35, 30, 36,123, 35, - 35, 30, 15,123, 35, 30, 40,123, 39, 40, 30, 35, 30, 38, 39, 40, 39, 37, 36, 37, 40, 40, 39, 34, 35, 34, 31, 32, 31, 33, 32, 32, - 31, 66, 40, 39, 38, 37, 34, 33, 32, 31, 8, 35, 30, 3, 15, 35, 3,185, 27, 9,185, 21,140, 27, 35,177, 41, 38, 39, 18, 12, 33, - 32, 24, 40, 37, 35, 34, 31, 5, 30, 15, 6, 12, 18, 18, 81, 6, 18, 24, 69, 41, 16,252,236,244,236, 17, 57, 57, 23, 57, 18, 57, - 57, 17, 18, 57, 57, 49, 0, 16,236,196,244,236, 16,238, 18, 57, 18, 57, 18, 23, 57, 48, 75, 83, 88, 7, 16, 14,201, 7, 16, 8, -201, 7, 16, 8,201, 7, 16, 14,201, 7, 16, 8,237, 7, 14,237, 7, 16, 5,237, 7, 16, 8,237, 89, 34,178, 63, 42, 1, 1, 93, - 64,118, 22, 37, 43, 31, 40, 34, 47, 35, 47, 36, 41, 37, 45, 38, 45, 39, 42, 40, 54, 37, 70, 37, 88, 32, 88, 33, 96, 32, 96, 33, -102, 34,117, 32,117, 33,117, 34, 19, 37, 35, 37, 36, 38, 38, 38, 39, 39, 40, 54, 36, 54, 37, 70, 36, 69, 37, 90, 32, 90, 33, 98, - 32, 98, 33,127, 0,127, 1,127, 2,122, 3,123, 9,127, 10,127, 11,127, 12,127, 13,127, 14,127, 15,127, 16,127, 17,127, 18,127, - 19,127, 20,123, 21,122, 27,122, 28,127, 29,127, 30,118, 32,118, 33,120, 34,160, 42,240, 42, 39, 93, 0, 93, 1, 46, 1, 35, 34, - 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 19, 22, 18, 21, 20, 0, 35, 34, 0, 17, 52, 0, 51, 50, 22, 23, 39, 5, 39, 37, 39, 51, - 23, 37, 23, 5, 3, 70, 50, 88, 41,167,185,174,146,145,174, 54, 9,126,114,254,228,230,231,254,229, 1, 20,221, 18, 52, 42,159, -254,193, 33, 1, 25,181,228,127, 1, 77, 33,254,217, 3,147, 17, 16,216,195,188,222,222,188,122,188, 1, 38,143,254,224,173,255, -254,201, 1, 55, 0,255,250, 1, 55, 5, 5,180,107, 99, 92,204,145,111, 97, 98,255,255, 0,186, 0, 0, 4,100, 6, 55, 18, 38, - 0, 81, 0, 0, 16, 7, 2, 53, 0,152, 0, 0,255,255, 0,113,255,227, 4,117, 6,102, 18, 38, 0, 82, 0, 0, 16, 6, 0, 67, -115, 0, 0, 0,255,255, 0,113,255,227, 4,117, 6,102, 18, 38, 0, 82, 0, 0, 16, 6, 0,118,115, 0, 0, 0,255,255, 0,113, -255,227, 4,117, 6,102, 18, 38, 0, 82, 0, 0, 17, 6, 2, 31,115, 0, 0, 8,180, 15, 26, 30, 21, 7, 43, 49,255,255, 0,113, -255,227, 4,117, 6, 55, 18, 38, 0, 82, 0, 0, 17, 6, 2, 53,115, 0, 0, 20,180, 21, 32, 46, 15, 7, 43, 64, 9, 32, 32, 47, - 46, 16, 32, 31, 46, 4, 93, 49,255,255, 0,113,255,227, 4,117, 6, 16, 18, 38, 0, 82, 0, 0, 17, 6, 0,106,115, 0, 0, 20, -180, 3, 31, 26, 9, 7, 43, 64, 9, 64, 31, 79, 26, 48, 31, 63, 26, 4, 93, 49, 0, 3, 0,217, 0,150, 5,219, 4,111, 0, 3, - 0, 7, 0, 11, 0, 41, 64, 20, 0,234, 2, 6,234, 4, 2, 8,156, 4, 10, 12, 9, 5, 1,114, 4, 0, 8, 12, 16,220,212, 60, -252, 60,196, 49, 0, 16,212,196,252,196, 16,238, 16,238, 48, 1, 51, 21, 35, 17, 51, 21, 35, 1, 33, 21, 33, 2,223,246,246,246, -246,253,250, 5, 2,250,254, 4,111,246,254, 18,245, 2, 65,170, 0, 3, 0, 72,255,162, 4,156, 4,188, 0, 9, 0, 19, 0, 43, - 0,228, 64, 60, 43, 44, 38, 31, 29, 26, 19, 10, 1, 0, 4, 13, 41, 38, 32, 20, 13, 4, 42, 38, 30, 26, 4,185, 38, 13,185, 26, -184, 38,140, 44, 43, 44, 42, 20, 23, 16, 32, 30, 35, 19, 10, 1, 0, 4, 16, 7, 31, 29, 7, 18, 35, 81, 41, 16, 18, 23, 69, 44, - 16,252,236, 50,244,236, 50,192, 17, 18, 23, 57, 18, 57, 57, 17, 18, 57, 57, 17, 57, 49, 0, 16,228,244,236, 16,238, 16,192, 16, -192, 17, 18, 57, 57, 18, 57, 18, 23, 57, 17, 57, 57, 17, 18, 57, 48, 64,112, 40, 1, 63, 45, 89, 20, 86, 28, 85, 29, 86, 32,106, - 21,102, 33,127, 0,123, 4,127, 5,127, 6,127, 7,127, 8,127, 9,127, 10,127, 11,127, 12,123, 13,122, 21,123, 26,127, 27,127, - 28,127, 29,127, 30,127, 31,127, 32,123, 33,127, 34,127, 35,127, 36,127, 37,123, 38,155, 25,149, 37,168, 25,160, 45,240, 45, 38, - 89, 0, 86, 19, 85, 29, 90, 40,105, 0,102, 19,101, 28,106, 40,122, 0,116, 19,118, 28,122, 40,137, 30,149, 24,154, 36,162, 24, -173, 36, 17, 93, 1, 93, 9, 1, 30, 1, 51, 50, 54, 53, 52, 38, 39, 46, 1, 35, 34, 6, 21, 20, 22, 23, 7, 46, 1, 53, 16, 0, - 51, 50, 22, 23, 55, 23, 7, 30, 1, 21, 16, 0, 35, 34, 38, 39, 7, 39, 3,137,254, 25, 41,103, 65,147,172, 20, 92, 42,103, 62, -151,169, 19, 20,125, 54, 54, 1, 17,241, 93,159, 67,139, 95,146, 53, 54,254,238,240, 96,161, 63,139, 96, 3, 33,253,176, 42, 40, -232,200, 79,117,154, 41, 41,235,211, 72,110, 46,151, 77,197,119, 1, 20, 1, 56, 51, 52,168, 79,179, 77,198,120,254,237,254,199, - 52, 51,168, 78,255,255, 0,174,255,227, 4, 88, 6,102, 18, 38, 0, 88, 0, 0, 16, 6, 0, 67,123, 0, 0, 0,255,255, 0,174, -255,227, 4, 88, 6,102, 18, 38, 0, 88, 0, 0, 16, 6, 0,118,123, 0, 0, 0,255,255, 0,174,255,227, 4, 88, 6,102, 18, 38, - 0, 88, 0, 0, 17, 6, 2, 31,123, 0, 0, 8,180, 11, 22, 26, 1, 7, 43, 49,255,255, 0,174,255,227, 4, 88, 6, 16, 18, 38, - 0, 88, 0, 0, 17, 6, 0,106,123, 0, 0, 24,180, 2, 26, 23, 10, 7, 43, 64, 13, 64, 26, 79, 23, 48, 26, 63, 23, 0, 26, 15, - 23, 6, 93, 49,255,255, 0, 61,254, 86, 4,127, 6,102, 18, 38, 0, 92, 0, 0, 16, 6, 0,118, 94, 0, 0, 0, 0, 2, 0,186, -254, 86, 4,164, 6, 20, 0, 16, 0, 28, 0, 62, 64, 27, 20,185, 5, 8, 26,185, 0, 14,140, 8,184, 1,189, 3,151, 29, 17, 18, - 11, 71, 23, 4, 0, 8, 2, 70, 29, 16,252,236, 50, 50,244,236, 49, 0, 16,236,228,228,244,196,236, 16,198,238, 48, 64, 9, 96, - 30,128, 30,160, 30,224, 30, 4, 1, 93, 37, 17, 35, 17, 51, 17, 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, 7,190,253,162,100, 97,254,188,254,248,254,248,254,188, 97, 1,235,203,231,231,203,203,231,231, 0, 0,255,255, 0, 61, -254, 86, 4,127, 6, 16, 18, 38, 0, 92, 0, 0, 17, 6, 0,106, 94, 0, 0, 22,180, 24, 23, 18, 25, 7, 43, 64, 11, 48, 23, 63, - 18, 32, 23, 47, 18, 31, 18, 5, 93, 49, 0, 0,255,255, 0, 16, 0, 0, 5,104, 7, 49, 16, 39, 0,113, 0,188, 1, 59, 19, 6, - 0, 36, 0, 0, 0, 16,180, 14, 3, 2, 9, 7, 43, 64, 5, 64, 3, 79, 2, 2, 93, 49, 0, 0,255,255, 0,123,255,227, 4, 45, - 5,246, 16, 38, 0,113, 74, 0, 19, 6, 0, 68, 0, 0, 0, 16,180, 24, 3, 2, 15, 7, 43, 64, 5,111, 2,127, 3, 2, 93, 49, -255,255, 0, 16, 0, 0, 5,104, 7,146, 16, 39, 2, 49, 0,206, 1, 74, 19, 6, 0, 36, 0, 0, 0, 18,180, 24, 0, 8, 19, 7, - 43, 49, 0, 64, 5,111, 0,111, 8, 2, 93, 48,255,255, 0,123,255,227, 4, 45, 6, 31, 16, 38, 2, 49, 79,215, 19, 6, 0, 68, - 0, 0, 0, 8,180, 34, 0, 8, 25, 7, 43, 49,255,255, 0, 16,254,117, 5,165, 5,213, 16, 39, 2, 52, 2,228, 0, 0, 18, 6, - 0, 36, 0, 0,255,255, 0,123,254,117, 4,128, 4,123, 16, 39, 2, 52, 1,191, 0, 0, 18, 6, 0, 68, 0, 0,255,255, 0,115, -255,227, 5, 39, 5,240, 18, 38, 0, 38, 0, 0, 16, 7, 6,133, 5, 45, 1,117,255,255, 0,113,255,227, 3,231, 6,102, 18, 38, - 0, 70, 0, 0, 16, 7, 0,118, 0,137, 0, 0,255,255, 0,115,255,227, 5, 39, 5,240, 16, 39, 6,136, 5, 76, 1,117, 19, 6, - 0, 38, 0, 0, 0, 9,178, 4, 4, 30, 16, 60, 61, 47, 49, 0,255,255, 0,113,255,227, 3,231, 6,102, 16, 39, 2, 31, 0,164, - 0, 0, 18, 6, 0, 70, 0, 0,255,255, 0,115,255,227, 5, 39, 5,240, 16, 39, 6,140, 5, 76, 1,117, 18, 6, 0, 38, 0, 0, -255,255, 0,113,255,227, 3,231, 6, 16, 16, 39, 2, 50, 0,164, 0, 0, 18, 6, 0, 70, 0, 0,255,255, 0,115,255,227, 5, 39, - 5,240, 18, 38, 0, 38, 0, 0, 17, 7, 6,137, 5, 45, 1,117, 0, 7, 64, 3, 31, 29, 1, 93, 49, 0, 0, 0,255,255, 0,113, -255,227, 3,231, 6,102, 18, 38, 0, 70, 0, 0, 16, 7, 2, 32, 0,137, 0, 0,255,255, 0,201, 0, 0, 5,176, 5,213, 16, 38, - 0, 39, 0, 0, 16, 7, 6,137, 4,236, 1,137,255,255, 0,113,255,227, 4, 90, 6, 20, 18, 38, 0, 71, 0, 0, 17, 7, 6,131, - 5, 20, 0, 0, 0, 11, 64, 7, 95, 29, 63, 29, 31, 29, 3, 93, 49, 0, 0, 0,255,255, 0, 10, 0, 0, 5,186, 5,213, 16, 6, - 0,146, 0, 0, 0, 2, 0,113,255,227, 4,244, 6, 20, 0, 24, 0, 36, 0, 74, 64, 36, 7, 3,211, 9, 1,249, 34,185, 0, 22, - 28,185, 13, 16,140, 22,184, 5,151, 11, 2, 31, 12, 4, 3, 0, 8, 8, 10, 6, 71, 25, 18, 19, 69, 37, 16,252,236,244, 60,196, -252, 23, 60,196, 49, 0, 47,236,228,244,196,236, 16,196,238,253, 60,238, 50, 48,182, 96, 38,128, 38,160, 38, 3, 1, 93, 1, 17, - 33, 53, 33, 53, 51, 21, 51, 21, 35, 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,254,186, 1, 70,184,154,154,184, 58,177,124,203,255, 0,255,203,124,177,253,199,167,146,146,168,168,146,146, -167, 3,182, 1, 78,125,147,147,125,250,252,168,100, 97, 1, 68, 1, 8, 1, 8, 1, 68, 97,254, 21,203,231,231,203,203,231,231, -255,255, 0,201, 0, 0, 4,139, 7, 51, 16, 39, 0,113, 0,161, 1, 61, 18, 6, 0, 40, 0, 0,255,255, 0,113,255,227, 4,127, - 5,246, 16, 39, 0,113, 0,150, 0, 0, 19, 6, 0, 72, 0, 0, 0, 7, 64, 3,112, 0, 1, 93, 49, 0, 0, 0,255,255, 0,201, - 0, 0, 4,139, 5,213, 16, 39, 6,139, 4,161, 1,117, 19, 6, 0, 40, 0, 0, 0, 7, 64, 3, 64, 0, 1, 93, 49, 0, 0, 0, -255,255, 0,113,255,227, 4,127, 6, 72, 16, 39, 2, 49, 0,150, 0, 0, 19, 6, 0, 72, 0, 0, 0, 7, 64, 3,112, 0, 1, 93, - 49, 0, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 16, 39, 6,140, 4,161, 1,117, 18, 6, 0, 40, 0, 0,255,255, 0,113, -255,227, 4,127, 6, 16, 16, 39, 2, 50, 0,150, 0, 0, 18, 6, 0, 72, 0, 0,255,255, 0,201,254,117, 4,141, 5,213, 16, 39, - 2, 52, 1,204, 0, 0, 18, 6, 0, 40, 0, 0,255,255, 0,113,254,117, 4,127, 4,123, 16, 39, 2, 52, 1,120, 0, 0, 18, 6, - 0, 72, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 18, 38, 0, 40, 0, 0, 17, 7, 6,137, 4,166, 1,111, 0, 7, 64, 3, - 64, 12, 1, 93, 49, 0, 0, 0,255,255, 0,113,255,227, 4,127, 6, 97, 18, 38, 0, 72, 0, 0, 17, 7, 2, 32, 0,148,255,251, - 0, 16,180, 0, 33, 29, 15, 7, 43, 64, 5, 15, 33, 0, 29, 2, 93, 49, 0, 0,255,255, 0,115,255,227, 5,139, 5,240, 16, 39, - 6,136, 5, 92, 1,117, 19, 6, 0, 42, 0, 0, 0, 9,178, 4, 4, 21, 16, 60, 61, 47, 49, 0,255,255, 0,113,254, 86, 4, 90, - 6,102, 16, 38, 2, 31,104, 0, 19, 6, 0, 74, 0, 0, 0, 9,178, 4, 4, 10, 16, 60, 61, 47, 49, 0, 0, 0,255,255, 0,115, -255,227, 5,139, 5,240, 18, 38, 0, 42, 0, 0, 16, 7, 6,139, 5, 27, 1,117,255,255, 0,113,254, 86, 4, 90, 6, 72, 18, 38, - 0, 74, 0, 0, 16, 7, 2, 49, 0,139, 0, 0,255,255, 0,115,255,227, 5,139, 5,240, 16, 39, 6,140, 5, 92, 1,117, 19, 6, - 0, 42, 0, 0, 0, 8, 0, 64, 3, 63, 0, 1, 93, 48, 0, 0,255,255, 0,113,254, 86, 4, 90, 6, 16, 16, 38, 2, 50,104, 0, - 18, 6, 0, 74, 0, 0, 0, 0,255,255, 0,115,254, 1, 5,139, 5,240, 16, 39, 2,110, 5, 94,255,237, 18, 6, 0, 42, 0, 0, -255,255, 0,113,254, 86, 4, 90, 6, 52, 16, 39, 2, 90, 3,224, 1, 12, 18, 6, 0, 74, 0, 0,255,255, 0,201, 0, 0, 5, 59, - 5,213, 16, 39, 6,136, 5, 2, 1,117, 19, 6, 0, 43, 0, 0, 0, 20,180, 12, 2, 6, 7, 7, 43, 64, 9, 47, 2, 32, 6, 31, - 2, 16, 6, 4, 93, 49, 0, 0,255,255, 0,186, 0, 0, 4,100, 6, 20, 16, 39, 6,136, 3, 22, 1,117, 19, 6, 0, 75, 0, 0, - 0, 42,180, 20, 2, 6, 19, 7, 43, 49, 0, 75,176, 14, 81, 88,187, 0, 20,255,192, 0, 19,255,192, 56, 56, 89, 64, 13,144, 20, -144, 19,128, 20,128, 19, 64, 20, 64, 19, 6, 93, 0, 2, 0,201, 0, 0, 6,139, 5,213, 0, 19, 0, 23, 0, 58, 64, 30, 6, 2, - 18,149, 9, 20, 17, 12,149, 21,173, 4, 0,129, 14, 10, 7, 12, 23, 4, 28, 5, 56, 18, 13, 20, 1, 28, 0, 24, 16,220,236, 50, - 50,204,252,236, 50, 50,204, 49, 0, 47, 60,228, 50,252,236,220, 50, 50,236, 50, 50, 48, 1, 51, 21, 33, 53, 51, 21, 51, 21, 35, - 17, 35, 17, 33, 17, 35, 17, 35, 53, 51, 23, 21, 33, 53, 1,113,202, 2,222,202,168,168,202,253, 34,202,168,168,202, 2,222, 5, -213,224,224,224,164,251,175, 2,199,253, 57, 4, 81,164,164,224,224, 0, 0, 0, 0, 1, 0,120, 0, 0, 4,159, 6, 20, 0, 27, - 0, 62, 64, 33, 3, 9, 0, 3, 22, 1, 14, 18,135, 13, 21, 6,135, 22, 25,184, 16,151, 10, 1, 2, 8, 0, 78, 19, 14, 17, 21, - 9, 8, 16, 11, 28, 16,220, 50,236, 50, 50,204,204,244,236, 49, 0, 47, 60,236,244,196,236,220, 50,236, 50, 17, 18, 23, 57, 48, - 1, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 35, 53, 51, 53, 51, 21, 33, 21, 33, 17, 62, 1, 51, 50, 22, 4,159,184,124, -124,149,172,185,125,125,185, 1, 96,254,160, 66,179,117,193,198, 2,164,253, 92, 2,158,159,158,190,164,253,135, 4,246,164,122, -122,164,254,188,101,100,239, 0,255,255, 0,201, 0, 0, 1,147, 5,213, 16, 39, 6,134, 3, 46, 1,117, 19, 6, 0, 44, 0, 0, - 0, 8,180, 30, 9, 24, 31, 7, 43, 49, 0, 0,255,255,255,211, 0, 0, 2,103, 6, 55, 16, 39, 2, 53,255, 29, 0, 0, 19, 6, - 0,243, 0, 0, 0, 8,180, 28, 8, 22, 29, 7, 43, 49, 0, 0,255,255, 0, 3, 0, 0, 2, 89, 7, 49, 16, 39, 0,113,255, 46, - 1, 59, 19, 6, 0, 44, 0, 0, 0, 8,180, 4, 3, 2, 5, 7, 43, 49, 0, 0,255,255,255,242, 0, 0, 2, 72, 5,245, 16, 39, - 0,113,255, 29,255,255, 19, 6, 0,243, 0, 0, 0, 8,180, 4, 3, 2, 5, 7, 43, 49, 0, 0,255,255, 0,201, 0, 0, 1,147, - 5,213, 16, 39, 6,139, 3, 46, 1,117, 19, 6, 0, 44, 0, 0, 0, 8,180, 14, 0, 8, 15, 7, 43, 49, 0, 0,255,255,255,228, - 0, 0, 2, 86, 6, 72, 16, 39, 2, 49,255, 29, 0, 0, 19, 6, 0,243, 0, 0, 0, 8,180, 14, 0, 8, 15, 7, 43, 49, 0, 0, -255,255, 0,176,254,117, 2, 37, 5,213, 16, 39, 2, 52,255,100, 0, 0, 18, 6, 0, 44, 0, 0,255,255, 0,150,254,117, 2, 11, - 6, 20, 16, 39, 2, 52,255, 74, 0, 0, 18, 6, 0, 76, 0, 0,255,255, 0,201, 0, 0, 1,147, 5,213, 18, 38, 0, 44, 0, 0, - 17, 7, 6,140, 3, 47, 1,117, 0, 19,179, 6, 1, 7, 0, 16, 60, 16, 60, 49, 0,180, 63, 7, 63, 6, 2, 93, 48, 0, 0, 0, - 0, 1, 0,193, 0, 0, 1,121, 4, 96, 0, 3, 0, 32,183, 0,191, 2, 1, 8, 0, 70, 4, 16,252,236, 49, 0, 47,236, 48, 64, - 11, 16, 5, 64, 5, 80, 5, 96, 5,112, 5, 5, 1, 93, 19, 51, 17, 35,193,184,184, 4, 96,251,160, 0, 0, 0,255,255, 0,201, -254,102, 3,239, 5,213, 16, 39, 0, 45, 2, 92, 0, 0, 17, 6, 0, 44, 0, 0, 0, 8, 64, 3, 17, 4, 1, 16,236, 49, 0, 0, -255,255, 0,193,254, 86, 3,177, 6, 20, 16, 39, 0, 77, 2, 56, 0, 0, 17, 6, 0, 76, 0, 0, 0, 8, 64, 3, 25, 70, 1, 16, -236, 49, 0, 0,255,255,255,150,254,102, 1,147, 5,213, 16, 39, 6,136, 3, 46, 1,117, 19, 6, 0, 45, 0, 0, 0, 8,180, 8, - 2, 6, 7, 7, 43, 49, 0, 0,255,255,255,219,254, 86, 2, 92, 6,102, 16, 39, 2, 31,255, 29, 0, 0, 19, 6, 1,249, 0, 0, - 0, 8,180, 8, 2, 6, 7, 7, 43, 49, 0, 0,255,255, 0,201,254, 30, 5,106, 5,213, 16, 39, 2,110, 5, 27, 0, 10, 18, 6, - 0, 46, 0, 0,255,255, 0,186,254, 30, 4,156, 6, 20, 16, 39, 2,110, 4,172, 0, 10, 18, 6, 0, 78, 0, 0, 0, 1, 0,186, - 0, 0, 4,156, 4, 96, 0, 10, 0,187, 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,188, 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, 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, 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, 4, 96,254, - 27, 1,229,253,242,253,174, 2, 33,253,223, 0,255,255, 0,201, 0, 0, 4,106, 5,213, 16, 39, 6,133, 3,110, 1,118, 18, 6, - 0, 47, 0, 0,255,255, 0,193, 0, 0, 1,121, 6, 20, 16, 39, 6,133, 3, 90, 1,118, 19, 6, 0, 79, 0, 0, 0, 30,177, 3, - 4, 16, 60, 49, 0, 75,176, 14, 81, 88,185, 0, 0, 0, 64, 56, 89, 64, 7,159, 0,143, 0, 79, 0, 3, 93, 48,255,255, 0,201, -254, 30, 4,106, 5,213, 16, 39, 2,110, 4,155, 0, 10, 18, 6, 0, 47, 0, 0,255,255, 0,136,254, 30, 1,174, 6, 20, 16, 39, - 2,110, 3, 30, 0, 10, 19, 6, 0, 79, 0, 0, 0, 7, 64, 3, 64, 0, 1, 93, 49, 0, 0, 0,255,255, 0,201, 0, 0, 4,106, - 5,213, 16, 39, 6,131, 2,159,255,195, 18, 6, 0, 47, 0, 0,255,255, 0,193, 0, 0, 1,121, 6, 20, 16, 39, 6,131, 2, 57, - 0, 2, 17, 6, 0, 79, 0, 0, 0, 9, 64, 5,143, 0, 31, 0, 2, 93, 49, 0,255,255, 0,201, 0, 0, 4,106, 5,213, 16, 39, - 0,121, 2, 49, 0,119, 18, 6, 0, 47, 0, 0,255,255, 0,193, 0, 0, 2,132, 6, 20, 16, 39, 0,121, 0,214, 0,115, 17, 6, - 0, 79, 0, 0, 0, 23, 75,176, 13, 81, 75,176, 17, 83, 75,176, 24, 81, 90, 91, 88,185, 0, 0, 0, 64, 56, 89, 49, 0, 0, 0, - 0, 1,255,242, 0, 0, 4,117, 5,213, 0, 13, 0, 63, 64, 30, 12, 11, 10, 4, 3, 2, 6, 0, 6,149, 0,129, 8, 3, 4, 1, - 11, 14, 0, 4, 5, 1, 28, 12, 7, 58, 9, 0,121, 14, 16,244, 60,236,196,252, 60,196, 17, 18, 57, 17, 18, 57, 49, 0, 47,228, -236, 17, 23, 57, 48,180, 48, 15, 80, 15, 2, 1, 93, 19, 51, 17, 37, 23, 1, 17, 33, 21, 33, 17, 7, 39, 55,211,203, 1, 57, 80, -254,119, 2,215,252, 94,148, 77,225, 5,213,253,152,219,111,254,238,253,227,170, 2, 59,106,110,158, 0, 0, 0, 0, 1, 0, 2, - 0, 0, 2, 72, 6, 20, 0, 11, 0, 94, 64, 26, 10, 9, 8, 4, 3, 2, 6, 0,151, 6, 3, 4, 1, 9, 10, 0, 4,122, 5, 1, - 8, 10,122, 7, 0, 12, 16,212, 60,228,252, 60,228, 17, 18, 57, 17, 18, 57, 49, 0, 47,236, 23, 57, 48, 1, 75,176, 16, 84, 88, -189, 0, 12, 0, 64, 0, 1, 0, 12, 0, 12,255,192, 56, 17, 55, 56, 89, 64, 19, 16, 13, 64, 13, 80, 13, 96, 13,115, 4,122, 10, -112, 13,224, 13,240, 13, 9, 93, 19, 51, 17, 55, 23, 7, 17, 35, 17, 7, 39, 55,199,184,125, 76,201,184,123, 74,197, 6, 20,253, -166, 90,106,141,252,227, 2,154, 88,106,141, 0,255,255, 0,201, 0, 0, 5, 51, 5,213, 16, 39, 6,133, 4,197, 1,118, 19, 6, - 0, 49, 0, 0, 0, 7, 64, 3, 79, 0, 1, 93, 49, 0, 0, 0,255,255, 0,186, 0, 0, 4,100, 6,109, 16, 38, 0,118, 66, 7, - 19, 6, 0, 81, 0, 0, 0, 9, 64, 5, 63, 0, 79, 0, 2, 93, 49, 0, 0, 0,255,255, 0,201,254, 30, 5, 51, 5,213, 16, 39, - 2,110, 5, 0, 0, 10, 18, 6, 0, 49, 0, 0,255,255, 0,186,254, 30, 4,100, 4,123, 16, 39, 2,110, 4,144, 0, 10, 18, 6, - 0, 81, 0, 0,255,255, 0,201, 0, 0, 5, 51, 5,213, 18, 38, 0, 49, 0, 0, 17, 7, 6,137, 4,245, 1,103, 0, 20,180, 4, - 15, 11, 0, 7, 43, 64, 9, 47, 15, 32, 11, 31, 15, 16, 11, 4, 93, 49, 0, 0,255,255, 0,186, 0, 0, 4,100, 6,102, 18, 38, - 0, 81, 0, 0, 17, 7, 2, 32, 0,141, 0, 0, 0, 16,180, 0, 25, 21, 12, 7, 43, 64, 5, 15, 25, 0, 21, 2, 93, 49, 0, 0, -255,255, 0,205, 0, 0, 5,185, 5,213, 16, 39, 0, 81, 1, 85, 0, 0, 16, 6, 2, 21, 27, 0, 0, 1, 0,213,254, 86, 5, 39, - 5,213, 0, 19, 0, 74, 64, 33, 17, 17, 1, 2, 1, 2, 17, 16, 17, 16, 66, 11,149, 10, 17, 2, 3, 0,175, 16, 19, 11, 16, 1, - 17, 2, 28, 4, 54, 17, 28, 0, 20, 16,220,236,252,236, 17, 57, 57,204, 49, 0, 47, 60,236, 50, 57, 57,220,236, 48, 75, 83, 88, - 7, 16, 4,237, 7, 16, 4,237, 89, 34,178, 31, 21, 1, 1, 93, 19, 51, 1, 17, 51, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, - 53, 1, 17, 35,213,184, 2,226,184, 82, 81,181,254,233,105, 38, 38,253, 30,184, 5,213,251,131, 4,125,250, 23,214, 96, 96,156, - 48, 49,173, 4,125,251,131, 0, 0, 1, 0,186,254, 86, 4,100, 4,123, 0, 31, 0, 59, 64, 28, 13, 19, 0, 3, 24, 21, 7,135, - 6, 16,135, 24, 28,184, 22,188, 21, 7, 13, 8, 0, 78, 19, 23, 8, 22, 70, 32, 16,252,236, 50,244,236,196, 49, 0, 47,228,244, -196,236,212,236, 17, 18, 23, 57, 48,180, 96, 33,207, 33, 2, 1, 93, 1, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, - 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 54, 55, 54, 51, 50, 23, 22, 4,100, 82, 81,181,254,233,105, 38, 38,124,124,149,172,185, -185, 66, 89, 90,117,193, 99, 99, 2,164,253, 72,214, 96, 96,156, 48, 49,153, 2,178,159,158,190,164,253,135, 4, 96,174,101, 50, - 50,119,120, 0,255,255, 0,115,255,227, 5,217, 7, 49, 16, 39, 0,113, 1, 39, 1, 59, 19, 6, 0, 50, 0, 0, 0, 16,180, 13, - 2, 3, 7, 7, 43, 64, 5, 31, 2, 16, 3, 2, 93, 49, 0, 0,255,255, 0,113,255,227, 4,117, 5,245, 16, 38, 0,113,115,255, - 19, 6, 0, 82, 0, 0, 0, 8,180, 19, 2, 3, 25, 7, 43, 49,255,255, 0,115,255,227, 5,217, 5,240, 16, 39, 6,139, 5, 39, - 1,117, 19, 6, 0, 50, 0, 0, 0, 16,180, 17, 0, 8, 23, 7, 43, 64, 5, 16, 0, 31, 8, 2, 93, 49, 0, 0,255,255, 0,113, -255,227, 4,117, 6, 72, 16, 38, 2, 49,115, 0, 19, 6, 0, 82, 0, 0, 0, 8,180, 29, 8, 0, 35, 7, 43, 49,255,255, 0,115, -255,227, 5,217, 5,240, 16, 39, 6,141, 5, 39, 1,117, 18, 6, 0, 50, 0, 0,255,255, 0,113,255,227, 4,117, 6,102, 16, 39, - 2, 54, 0,160, 0, 0, 18, 6, 0, 82, 0, 0, 0, 2, 0,115, 0, 0, 8, 12, 5,213, 0, 16, 0, 25, 0, 59, 64, 31, 5,149, - 3, 17, 1,149, 0,129, 24, 7,149, 3,173, 9, 24, 18, 16, 10, 21, 6, 2, 28, 17, 0, 4, 8, 21, 25, 13, 16, 26, 16,252,236, -212,196,196,212,236, 50, 18, 57, 57, 57, 57, 49, 0, 47,236,236, 50,244,236, 50, 16,238, 48, 1, 21, 33, 17, 33, 21, 33, 17, 33, - 21, 33, 32, 0, 17, 16, 0, 33, 23, 35, 32, 0, 17, 16, 0, 33, 51, 7,250,253, 26, 2,199,253, 57, 2,248,251,215,254, 79,254, - 65, 1,191, 1,177,103,129,254,191,254,192, 1, 64, 1, 65,129, 5,213,170,254, 70,170,253,227,170, 1,124, 1,112, 1,109, 1, -124,170,254,225,254,224,254,223,254,223, 0, 0, 0, 3, 0,113,255,227, 7,195, 4,123, 0, 6, 0, 39, 0, 51, 0,132, 64, 49, - 7, 8, 0, 16,134, 15,136, 12, 0,169, 8, 46, 12,185, 22, 19, 40, 3,185, 8,187, 34, 37, 31,184, 25, 19,140, 52, 6, 0, 22, - 34, 49, 9, 15, 0, 8, 7, 75, 49, 18, 9, 81, 43, 18, 28, 69, 52, 16,252,236,244,252,244,236,196, 17, 18, 57, 57, 18, 57, 49, - 0, 16,228, 50,244, 60,196,228,236, 50, 16,196,238, 50, 16,238, 16,244,238, 17, 18, 57, 48, 64, 37, 63, 53, 95, 53,112, 53,159, - 53,207, 53,208, 53,240, 53, 7, 63, 0, 63, 6, 63, 7, 63, 8, 63, 9, 5,111, 0,111, 6,111, 7,111, 8,111, 9, 5, 93,113, - 1, 93, 1, 46, 1, 35, 34, 6, 7, 5, 21, 33, 30, 1, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 39, 14, 1, 35, 34, 0, 17, 16, - 0, 51, 50, 22, 23, 62, 1, 51, 50, 0, 37, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 7, 10, 2,164,137,153,185, 14, 3, 72, -252,178, 12,204,183,106,200, 98,100,208,106,160,242, 81, 71,209,140,241,254,239, 1, 17,241,140,211, 66, 78,232,143,226, 1, 8, -250,176,148,172,171,149,147,172,172, 2,148,152,179,174,158, 53, 90,190,199, 52, 52,174, 42, 44,110,109,110,109, 1, 57, 1, 19, - 1, 20, 1, 56,111,108,107,112,254,221,135,231,201,201,231,232,200,199,233, 0,255,255, 0,201, 0, 0, 5, 84, 5,213, 16, 39, - 6,133, 4,149, 1,118, 18, 6, 0, 53, 0, 0,255,255, 0,186, 0, 0, 3,149, 6,109, 16, 38, 0,118, 66, 7, 18, 6, 0, 85, - 0, 0, 0, 0,255,255, 0,201,254, 30, 5, 84, 5,213, 16, 39, 2,110, 5, 16, 0, 10, 18, 6, 0, 53, 0, 0,255,255, 0,130, -254, 30, 3, 74, 4,123, 16, 39, 2,110, 3, 24, 0, 10, 18, 6, 0, 85, 0, 0,255,255, 0,201, 0, 0, 5, 84, 5,213, 18, 38, - 0, 53, 0, 0, 17, 7, 6,137, 4,125, 1,103, 0, 8, 0, 64, 3, 95, 29, 1, 93, 48, 0, 0,255,255, 0,186, 0, 0, 3, 90, - 6,102, 18, 38, 0, 85, 0, 0, 17, 6, 2, 32, 27, 0, 0, 16,180, 17, 23, 19, 9, 7, 43, 64, 5, 15, 23, 0, 19, 2, 93, 49, -255,255, 0,135,255,227, 4,162, 5,240, 16, 39, 6,133, 4,149, 1,118, 18, 6, 0, 54, 0, 0,255,255, 0,111,255,227, 3,199, - 6,109, 16, 38, 0,118, 66, 7, 18, 6, 0, 86, 0, 0, 0, 0,255,255, 0,135,255,227, 4,162, 5,240, 16, 39, 6,136, 4,147, - 1,117, 19, 6, 0, 54, 0, 0, 0, 11,180, 4, 32, 21, 41, 41, 16, 73, 99, 58, 49, 0, 0, 0,255,255, 0,111,255,227, 3,199, - 6,102, 16, 38, 2, 31, 37, 0, 19, 6, 0, 86, 0, 0, 0, 11,180, 4, 32, 21, 41, 41, 16, 73, 99, 58, 49, 0,255,255, 0,135, -254,117, 4,162, 5,240, 18, 38, 0, 54, 0, 0, 16, 7, 0,122, 0,139, 0, 0,255,255, 0,111,254,117, 3,199, 4,123, 18, 38, - 0, 86, 0, 0, 16, 6, 0,122, 23, 0, 0, 0,255,255, 0,135,255,227, 4,162, 5,240, 18, 38, 0, 54, 0, 0, 17, 7, 6,137, - 4,139, 1,117, 0, 11,180, 43, 32, 14, 34, 34, 16, 73, 99, 58, 49, 0, 0, 0,255,255, 0,111,255,227, 3,199, 6,102, 18, 38, - 0, 86, 0, 0, 17, 6, 2, 32, 23, 0, 0, 11,180, 43, 32, 14, 34, 34, 16, 73, 99, 58, 49, 0,255,255,255,250,254,117, 4,233, - 5,213, 16, 38, 0,122, 80, 0, 18, 6, 0, 55, 0, 0, 0, 0,255,255, 0, 55,254,117, 2,242, 5,158, 16, 38, 0,122,225, 0, - 18, 6, 0, 87, 0, 0, 0, 0,255,255,255,250, 0, 0, 4,233, 5,213, 18, 38, 0, 55, 0, 0, 17, 7, 6,137, 4,115, 1,103, - 0, 16,180, 1, 13, 9, 0, 7, 43, 49, 0, 64, 3, 95, 8, 1, 93, 48, 0, 0,255,255, 0, 55, 0, 0, 2,242, 5,158, 18, 38, - 0, 87, 0, 0, 17, 7, 6,131, 2, 55, 0,112, 0, 7, 64, 3,143, 20, 1, 93, 49, 0, 0, 0, 0, 1,255,250, 0, 0, 4,233, - 5,213, 0, 15, 0, 70, 64, 24, 7, 11,149, 4, 12, 9, 3, 15,149, 0,129, 9, 5, 1, 64, 7, 3, 28, 12, 0, 64, 10, 14, 16, - 16,212, 60,228,204,252, 60,228,204, 49, 0, 47,244,236, 50, 16,212, 60,236, 50, 48, 1, 64, 19, 0, 17, 31, 0, 16, 1, 16, 2, - 31, 15, 16, 17, 64, 17,112, 17,159, 17, 9, 93, 3, 33, 21, 33, 17, 33, 21, 33, 17, 35, 17, 33, 53, 33, 17, 33, 6, 4,239,253, -238, 1, 9,254,247,203,254,247, 1, 9,253,238, 5,213,170,253,192,170,253,191, 2, 65,170, 2, 64, 0, 0, 0, 0, 1, 0, 55, - 0, 0, 2,242, 5,158, 0, 29, 0, 67, 64, 31, 8, 22,169, 5, 23, 4, 26,169, 0, 1, 27,188, 13,135, 16, 16, 13, 14, 2, 6, - 8, 4, 0, 8, 23, 27, 21, 25, 29, 70, 30, 16,252, 60, 60,196, 50,252, 60, 60,196,196, 50, 57, 57, 49, 0, 47,236,244, 60,196, -252, 60,220, 60,236, 50, 48,178,175, 31, 1, 1, 93, 1, 17, 33, 21, 33, 21, 51, 21, 35, 21, 20, 23, 22, 59, 1, 21, 35, 34, 39, - 38, 61, 1, 35, 53, 51, 53, 35, 53, 51, 17, 1,119, 1,123,254,133,190,190, 37, 38,115,189,189,213, 81, 81,135,135,135,135, 5, -158,254,194,143,233,142,233,137, 39, 39,154, 80, 79,210,233,142,233,143, 1, 62,255,255, 0,178,255,227, 5, 41, 5,213, 16, 39, - 6,134, 4,238, 1,117, 19, 6, 0, 56, 0, 0, 0, 16,180, 31, 9, 24, 39, 7, 43, 64, 5, 16, 9, 31, 24, 2, 93, 49, 0, 0, -255,255, 0,174,255,227, 4, 88, 6, 55, 16, 39, 2, 53, 0,131, 0, 0, 19, 6, 0, 88, 0, 0, 0, 8,180, 30, 8, 22, 38, 7, - 43, 49, 0, 0,255,255, 0,178,255,227, 5, 41, 7, 49, 16, 39, 0,113, 0,238, 1, 59, 19, 6, 0, 56, 0, 0, 0, 20,180, 5, - 3, 2, 13, 7, 43, 64, 9, 47, 2, 32, 3, 31, 2, 16, 3, 4, 93, 49, 0, 0,255,255, 0,174,255,227, 4, 88, 5,245, 16, 39, - 0,113, 0,131,255,255, 19, 6, 0, 88, 0, 0, 0, 8,180, 6, 3, 2, 14, 7, 43, 49, 0, 0,255,255, 0,178,255,227, 5, 41, - 5,213, 16, 39, 6,139, 4,238, 1,117, 19, 6, 0, 56, 0, 0, 0, 16,180, 15, 0, 8, 23, 7, 43, 64, 5, 16, 0, 31, 8, 2, - 93, 49, 0, 0,255,255, 0,174,255,227, 4, 88, 6, 72, 16, 39, 2, 49, 0,131, 0, 0, 19, 6, 0, 88, 0, 0, 0, 8,180, 16, - 0, 8, 24, 7, 43, 49, 0, 0,255,255, 0,178,255,227, 5, 41, 8, 75, 18, 38, 0, 56, 0, 0, 17, 7, 2, 51, 0,240, 1, 69, - 0, 9, 64, 5, 64, 30, 64, 18, 2, 93, 49, 0,255,255, 0,174,255,227, 4, 88, 6,202, 18, 38, 0, 88, 0, 0, 17, 6, 2, 51, -124,196, 0, 9, 64, 5, 64, 20, 64, 32, 2, 93, 49, 0, 0, 0,255,255, 0,178,255,227, 5, 41, 5,213, 16, 39, 6,141, 4,238, - 1,117, 18, 6, 0, 56, 0, 0,255,255, 0,174,255,227, 4, 94, 6,102, 16, 39, 2, 54, 0,176, 0, 0, 18, 6, 0, 88, 0, 0, -255,255, 0,178,254,101, 5, 41, 5,213, 18, 38, 0, 56, 0, 0, 16, 7, 2, 52, 0,250,255,240,255,255, 0,174,254,117, 4,232, - 4, 96, 18, 38, 0, 88, 0, 0, 16, 7, 2, 52, 2, 39, 0, 0,255,255, 0, 68, 0, 0, 7,166, 5,213, 16, 39, 6,136, 5,245, - 1,124, 19, 6, 0, 58, 0, 0, 0, 8,180, 21, 2, 6, 20, 7, 43, 49, 0, 0,255,255, 0, 86, 0, 0, 6, 53, 6,109, 16, 39, - 2, 31, 1, 69, 0, 7, 19, 6, 0, 90, 0, 0, 0, 8,180, 21, 2, 6, 20, 7, 43, 49, 0, 0,255,255,255,252, 0, 0, 4,231, - 5,213, 16, 39, 6,136, 4,114, 1,124, 19, 6, 0, 60, 0, 0, 0, 8,180, 11, 2, 6, 7, 7, 43, 49, 0, 0,255,255, 0, 61, -254, 86, 4,127, 6,109, 16, 38, 2, 31, 94, 7, 19, 6, 0, 92, 0, 0, 0, 8,180, 24, 2, 6, 23, 7, 43, 49,255,255,255,252, - 0, 0, 4,231, 5,213, 18, 38, 0, 60, 0, 0, 17, 7, 6,132, 4,115, 1,117, 0, 8,180, 0, 16, 11, 4, 7, 43, 49, 0, 0, -255,255, 0, 92, 0, 0, 5, 31, 5,213, 16, 39, 6,133, 4,149, 1,118, 18, 6, 0, 61, 0, 0,255,255, 0, 88, 0, 0, 3,219, - 6,109, 16, 38, 0,118, 66, 7, 18, 6, 0, 93, 0, 0, 0, 0,255,255, 0, 92, 0, 0, 5, 31, 5,213, 16, 39, 6,140, 4,168, - 1, 98, 18, 6, 0, 61, 0, 0,255,255, 0, 88, 0, 0, 3,219, 6, 16, 16, 38, 2, 50, 0, 0, 18, 6, 0, 93, 0, 0, 0, 0, -255,255, 0, 92, 0, 0, 5, 31, 5,213, 18, 38, 0, 61, 0, 0, 16, 7, 6,137, 4,190, 1,117,255,255, 0, 88, 0, 0, 3,219, - 6,102, 18, 38, 0, 93, 0, 0, 17, 6, 2, 32, 27, 0, 0, 16,180, 1, 15, 11, 0, 7, 43, 64, 5, 15, 15, 0, 11, 2, 93, 49, - 0, 1, 0, 47, 0, 0, 2,248, 6, 20, 0, 16, 0, 35, 64, 18, 11,135, 10,151, 1, 2,169, 5,188, 1, 10, 16, 8, 4, 6, 2, - 76, 17, 16,252, 60,204,252,204, 49, 0, 47,244,236, 16,244,236, 48, 33, 35, 17, 35, 53, 51, 53, 52, 54, 59, 1, 21, 35, 34, 7, - 6, 21, 1,152,185,176,176,174,189,174,176, 99, 39, 38, 3,209,143, 78,187,171,153, 40, 41,103, 0, 2, 0, 32,255,227, 4,164, - 6, 20, 0, 15, 0, 44, 0, 68, 64, 37, 4,185, 16, 20, 12,185, 32, 28,140, 20,184, 34, 41, 37,169, 44, 36, 39,151, 34, 46, 69, - 0, 18, 24, 71, 42, 32, 6, 44, 40, 8, 37, 35, 39, 70, 45, 16,252, 60,204,236, 50, 50, 50,204,244,236,236, 49, 0, 47,244,220, - 60,236, 50, 16,228,244,196,236, 16,198,238, 48, 1, 52, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 51, 50, 55, 54, 1, 54, 55, 54, - 51, 50, 23, 22, 17, 16, 7, 6, 35, 34, 39, 38, 39, 21, 35, 17, 35, 53, 51, 53, 51, 21, 33, 21, 33, 3,229, 83, 84,146,146, 84, - 83, 83, 84,146,146, 84, 83,253,142, 58, 89, 88,123,204,127,128,128,127,204,123, 88, 89, 58,185,154,154,185, 1, 69,254,187, 2, - 47,203,116,115,115,116,203,203,116,115,115,116, 2, 82,100, 48, 49,162,162,254,248,254,248,162,162, 49, 48,100,168, 5, 4,125, -147,147,125, 0, 0, 3,255,151, 0, 0, 5, 80, 5,213, 0, 8, 0, 17, 0, 41, 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, 42, 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, 17, 34, 6, 29, 1, 35, - 53, 52, 54, 1,247, 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,132,118,156,192, 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, 5, 48, 95,105, 49, 70,181,163, 0, 0, 0,255,255, 0,201, 0, 0, 4,236, 5,213, 18, 6, 3, 46, 0, 0, 0, 2, 0,186, -255,227, 4,164, 6, 20, 0, 22, 0, 38, 0, 56, 64, 31, 27,185, 0, 4, 35,185, 16, 12,140, 4,184, 18, 22,169, 19,151, 18, 40, - 69, 20, 23, 18, 8, 71, 16, 31, 22, 8, 19, 70, 39, 16,252,236, 50, 50,244,236,196,236, 49, 0, 47,244,236, 16,228,244,196,236, - 16,198,238, 48, 1, 54, 55, 54, 51, 50, 23, 22, 17, 16, 7, 6, 35, 34, 39, 38, 39, 21, 35, 17, 33, 21, 37, 1, 52, 39, 38, 35, - 34, 7, 6, 21, 20, 23, 22, 51, 50, 55, 54, 1,115, 58, 89, 88,123,204,127,128,128,127,204,123, 88, 89, 58,185, 3, 78,253,107, - 2,114, 83, 84,146,146, 84, 83, 83, 84,146,146, 84, 83, 3,182,100, 48, 49,162,162,254,248,254,248,162,162, 49, 48,100,168, 6, - 20,166, 1,252,192,203,116,115,115,116,203,203,116,115,115,116, 0, 2, 0, 0, 0, 0, 4,236, 5,213, 0, 10, 0, 23, 0, 51, - 64, 12, 23, 11, 25, 0, 25, 16, 46, 5, 11, 28, 21, 22, 47,220,236, 50,252,236,196, 16,204, 49, 64, 9, 5,149, 12,173, 11,129, - 6,149, 20, 0, 47,236,228,244,236,179, 21, 21, 11, 20, 17, 18, 57, 47, 48, 1, 52, 39, 38, 35, 33, 17, 33, 50, 55, 54, 1, 17, - 33, 50, 4, 21, 20, 4, 35, 33, 17, 35, 1, 4, 23, 79, 78,163,254,188, 1, 68,163, 78, 79,253,124, 1, 78,251, 1, 16,254,240, -251,253,232,201, 1, 56, 1,183,139, 68, 67,253,221, 68, 67, 4,168,253,154,218,222,221,218, 4, 68, 1,145, 0, 0, 2, 0, 0, -255,227, 4,164, 6, 21, 0, 18, 0, 30, 0, 62, 64, 13, 17, 18, 32, 19, 18, 6, 71, 13, 25, 18, 8, 15, 16, 47,220,236, 50, 50, -244,236,196, 16,204, 49, 64, 14, 0, 22,185, 3,184, 14, 12, 28,185, 9,140, 17,151, 14, 0, 47,228,244,236,196, 16,244,236,196, -179, 15, 15, 17, 14, 17, 18, 57, 47, 48, 1, 62, 1, 51, 50, 0, 17, 16, 2, 35, 34, 38, 39, 21, 35, 17, 35, 1, 51, 1, 52, 38, - 35, 34, 6, 21, 20, 22, 51, 50, 54, 1,115, 58,177,123,204, 0,255,255,204,123,177, 58,185,186, 1, 34, 81, 2,114,167,146,146, -167,167,146,146,167, 3,182,100, 97,254,188,254,248,254,248,254,188, 97,100,168, 4, 68, 1,209,252, 26,203,231,231,203,203,231, -231, 0, 0, 0, 0, 1, 0,115,255,227, 5, 39, 5,240, 0, 25, 0, 48, 64, 27, 25,134, 0,136, 22,149, 3,145, 26, 13,134, 12, -136, 16,149, 9,140, 26, 27, 16, 19, 25, 6, 48, 13, 0, 26, 16,220, 60,244,236,236, 49, 0, 16,244,236,244,236, 16,244,236,244, -236, 48, 19, 62, 1, 51, 32, 0, 17, 16, 0, 33, 34, 38, 39, 53, 30, 1, 51, 32, 0, 17, 16, 0, 33, 34, 6, 7,115,104,237,134, - 1, 83, 1,134,254,122,254,173,132,237,106,102,231,130, 1, 0, 1, 16,254,240,255, 0,130,231,102, 5, 98, 71, 71,254, 97,254, -152,254,153,254, 97, 72, 72,211, 95, 94, 1, 57, 1, 39, 1, 40, 1, 57, 94, 95, 0, 1, 0,115,255,227, 6, 90, 7,100, 0, 36, - 0, 0, 1, 54, 55, 54, 59, 1, 21, 35, 34, 6, 29, 1, 46, 1, 35, 32, 0, 17, 16, 0, 33, 50, 54, 55, 21, 14, 1, 35, 32, 0, - 17, 16, 0, 33, 50, 23, 22, 4, 97, 16, 83,102,227, 77, 63,134,110,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,118, 13, 5,197,195, 98,122,170,150,194,213, 95, 94,254,199,254,216,254,217,254,199, - 94, 95,211, 72, 72, 1,159, 1,103, 1,104, 1,159, 36, 3, 0, 0, 1, 0,113,255,227, 4,205, 5,203, 0, 33, 0, 0, 1, 54, - 55, 54, 59, 1, 21, 35, 34, 6, 29, 1, 46, 1, 35, 34, 6, 16, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 0, 17, 16, 0, 33, 50, - 3, 49, 9, 70, 82,181, 70, 49,105, 76, 78,157, 80,179,198,198,179, 80,157, 78, 77,165, 93,253,254,214, 1, 45, 1, 6, 72, 4, -111,169, 83, 96,156, 97,153,172, 43, 43,227,254,102,227, 43, 43,170, 36, 36, 1, 62, 1, 14, 1, 18, 1, 58, 0,255,255, 0, 10, - 0, 0, 5,186, 5,213, 16, 6, 0,146, 0, 0, 0, 2,255,151, 0, 0, 6, 20, 5,213, 0, 8, 0, 26, 0, 46, 64, 21, 0,149, - 9,129, 1,149, 16, 8, 2, 16, 10, 0, 5, 25, 13, 50, 0, 28, 9, 4, 27, 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, 17, 34, 6, 29, - 1, 35, 53, 52, 54, 1,247,244, 1, 53, 1, 31,254,225,254,203,254, 66, 1,159, 1,178, 1,150,254,104,254, 80,254, 97,132,118, -156,192, 5, 47,251,119, 1, 24, 1, 46, 1, 44, 1, 23,166,254,151,254,128,254,126,254,150, 5, 48, 95,105, 49, 70,181,163, 0, - 0, 2, 0,201, 0, 0, 4,236, 5,213, 0, 7, 0, 20, 0, 46, 64, 12, 22, 8, 4, 19, 28, 10, 46, 0, 25, 14, 16, 21, 16,252, -236,244,236, 50,196,196, 49, 64, 12, 19,149, 9,129, 10, 4,149, 18,173, 3,149, 10, 0, 47,236,244,236, 16,244,236, 48, 1, 16, - 41, 1, 17, 33, 34, 6, 17, 33, 17, 33, 34, 36, 53, 52, 36, 51, 33, 17, 33, 1,158, 1, 64, 1, 68,254,188,163,157, 3, 78,253, -232,251,254,240, 1, 16,251, 1, 78,253,124, 1,183,254,239, 2, 35,135, 3,147,250, 43,218,222,221,218, 1,192, 0, 2, 0,113, -255,227, 4, 90, 6, 20, 0, 17, 0, 25, 0, 0, 1, 17, 5, 53, 33, 17, 35, 53, 14, 1, 35, 34, 2, 16, 0, 51, 50, 22, 0, 16, - 22, 32, 54, 16, 38, 32, 3,162,253,107, 3, 77,184, 58,177,123,204,255, 0,255,204,123,177,253,200,167, 1, 36,167,167,254,220, - 3,182, 1,185, 1,166,249,236,168,100, 97, 1, 68, 2, 16, 1, 68, 97,254,224,254,106,231,231, 1,150,231, 0, 0, 2, 0,113, -254, 86, 4,117, 4, 99, 0, 28, 0, 45, 0, 0, 23, 22, 51, 50, 53, 52, 37, 38, 39, 38, 17, 16, 55, 54, 51, 50, 23, 22, 17, 20, - 7, 6, 7, 22, 21, 16, 33, 34, 39, 1, 54, 55, 54, 53, 52, 39, 38, 35, 34, 6, 21, 20, 23, 22, 23, 22,250,102,239,253,254,248, -208,117,142,137,137,240,239,138,137,137, 53, 75,156,254, 71,221,120, 1,232, 68, 55, 86, 85, 86,149,147,172, 91, 97,126, 64,203, - 70,117, 92, 48, 37,112,135, 1, 21, 1, 9,156,157,157,156,254,237,204,165, 64, 36, 79,141,254,240, 70, 1,216, 29, 73,113,204, -203,114,115,232,190,199, 96,103, 11, 6, 0, 0, 0, 1, 0,131, 0, 0, 4, 69, 5,213, 0, 11, 0, 43, 64, 9, 13, 5, 9, 28, - 0, 11, 7, 2, 12, 16,220,196,196,212,236, 50,196, 49, 64, 12, 10,149, 11,129, 2, 6,149, 7,173, 3,149, 2, 0, 47,236,244, -236, 16,244,236, 48, 1, 17, 33, 53, 33, 17, 33, 53, 33, 17, 33, 53, 4, 69,252, 62, 2,248,253, 57, 2,199,253, 26, 5,213,250, - 43,170, 2, 29,170, 1,186,170, 0, 2, 0,117,255,227, 5,217, 5,240, 0, 19, 0, 26, 0, 68, 64, 38, 1, 20, 0, 8,161, 7, -174, 4, 0,149, 20, 23,149, 17, 0,149, 20,173, 4,149, 11,145, 17,140, 27, 1, 20, 26, 26, 25, 15, 51, 20, 25, 7, 0, 16, 27, - 16,252,196,236,244,236, 17, 18, 57, 49, 0, 16,228,244,236,244,228, 16,238, 16,238, 16,244,238, 17, 18, 57, 48, 19, 33, 16, 0, - 33, 34, 6, 7, 53, 54, 36, 51, 32, 0, 17, 16, 0, 33, 32, 0, 55, 22, 0, 51, 50, 0, 55,117, 4,143,254,237,254,238,139,252, -112,111, 1, 7,146, 1, 94, 1,139,254,136,254,198,254,183,254,151,220, 13, 0,255,202,202, 0,255, 13, 3, 12, 1, 12, 1, 50, - 96, 95,215, 70, 72,254,103,254,146,254,159,254, 91, 1,183,204,195,254,228, 1, 28,195, 0, 0, 0, 1, 0,164,255,227, 4,123, - 5,240, 0, 40, 0, 64, 64, 36, 10,134, 9,136, 13,149, 6,145, 41, 0, 22,149, 19,173, 41, 31,134, 32,136, 28,149, 35,140, 41, - 42, 20, 9, 31, 16, 25, 3, 25, 25, 38, 16, 41, 16,252,236,212,236,212,196,196,204, 49, 0, 16,244,236,244,236, 16,244,236, 57, - 16,244,236,244,236, 48, 1, 46, 1, 53, 52, 36, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 21, 20, 22, 59, 1, 21, 35, 34, 6, 21, - 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 32, 36, 53, 52, 54, 1,216,131,142, 1, 12,230, 89,201,115,114,190, 83,152,163,158,149, -182,174,165,185,199,190,109,200, 84,106,199, 94,254,232,254,208,163, 3, 37, 33,171,124,178,209, 32, 32,180, 38, 36,123,115,112, -119,166,149,132,143,150, 50, 49,195, 37, 37,242,221,144,196, 0, 0, 1,255,150,254,102, 4, 35, 5,213, 0, 17, 0, 65, 64, 31, - 17, 8, 18, 13,149, 12,176, 18, 6,149, 4, 2,149, 0,129, 4,173, 18, 17, 8, 0, 7, 12, 5, 1, 7, 3, 28, 0, 4, 18, 16, -252,236, 50,212,196,196, 17, 18, 57, 57, 49, 0, 16,236,244,236, 16,238, 16,244,236, 16, 57, 57, 48,178, 15, 11, 1, 1, 93, 19, - 33, 21, 33, 17, 33, 21, 33, 17, 16, 6, 43, 1, 53, 51, 50, 54, 53,201, 3, 90,253,112, 2, 80,253,176,205,227, 77, 63,134,110, - 5,213,170,254, 72,170,253,159,254,242,244,170,150,194, 0, 0, 0, 1,255,127,254, 86, 2,248, 6, 20, 0, 27, 0,101, 64, 35, - 19, 10, 15,135, 13,189, 29, 5, 24, 1, 20, 8,169, 6, 1,135, 0,151, 22, 6,188, 28, 2, 27, 7, 0, 7, 9, 5, 8, 21, 23, - 19, 76, 28, 16,252, 75,176, 10, 84, 88,185, 0, 19, 0, 64, 56, 89, 75,176, 22, 84, 88,185, 0, 19,255,192, 56, 89, 60,196,252, - 60,196,196, 18, 57, 57, 49, 0, 16,228, 50,252,236, 16,238, 50, 18, 57, 57, 16,244,236, 57, 57, 48, 1,182, 64, 29, 80, 29,160, - 29, 3, 93, 1, 21, 35, 34, 6, 29, 1, 33, 21, 33, 17, 20, 6, 43, 1, 53, 51, 50, 54, 53, 17, 35, 53, 51, 53, 52, 54, 51, 2, -248,176, 99, 77, 1, 47,254,209,174,189,174,176, 99, 77,176,176,174,189, 6, 20,153, 80,104, 99,143,251,235,187,171,153, 80,104, - 4, 42,143, 78,187,171, 0, 0, 0, 1, 0,115,255,227, 6,151, 7,100, 0, 38, 0, 70, 64, 39, 22,149, 21, 39, 0, 5, 36, 1, -149, 3, 36,149, 8, 26,161, 27, 30,149, 14,145, 8,140, 39, 21, 2, 0, 28, 4, 17, 28, 26, 52, 4, 51, 33, 25, 11, 70, 39, 16, -252,236,252,244,236, 16,252,196,196, 49, 0, 16,228,244,252,244,204, 16,254,212,238, 17, 57, 57, 16,220,236, 48, 37, 17, 33, 53, - 33, 17, 6, 4, 35, 32, 0, 17, 16, 0, 33, 50, 22, 23, 52, 54, 59, 1, 21, 35, 34, 6, 29, 1, 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, 91,163, 68,201,227, 77, 63,134,110,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, 25, 25,188,234,170, -150,194,215, 95, 96,254,206,254,209,254,210,254,206, 37, 0, 0, 0, 2, 0, 8,254, 82, 5,118, 5,213, 0, 15, 0, 37, 0,149, - 64, 13, 39, 80, 18, 1, 18, 4, 25, 23, 12, 25, 31, 36, 38, 16,212,212,236,212,236,212, 93,196,181, 16, 8, 0, 3, 4, 12, 17, - 18, 23, 57, 49, 64, 10, 0,149, 27,189, 17, 37, 18, 36,129, 38, 0, 16,228, 50, 50, 50,244,236,179, 31, 23, 8, 27, 17, 18, 57, - 57, 48, 64, 12, 19, 17, 17, 18, 18, 8, 35, 37, 17, 36, 36, 8, 7, 5, 16,236, 60, 7, 16,236, 60,182, 19, 17, 8, 18, 8, 36, - 8, 7, 8, 16,236,182, 35, 17, 8, 36, 8, 18, 8, 7, 8, 16,236,180, 16, 37, 19, 17, 35, 15, 64, 16, 22, 21, 20, 3, 23, 19, - 36, 8, 34, 33, 32, 3, 31, 35, 18, 8, 4, 7, 17, 18, 23, 57, 7, 17, 18, 23, 57, 1, 50, 55, 54, 53, 52, 39, 38, 39, 6, 7, - 6, 21, 20, 23, 22, 19, 1, 51, 1, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 55, 1, 51, 2,191, 54, 44, 28, - 31, 51, 44, 44, 51, 31, 28, 44, 54, 1,217,222,253,186,104, 67, 46, 75,100,155,155,100, 75, 46, 67,104,253,186,222,254,253, 32, - 20, 66, 57, 73,121, 92, 92,121, 73, 57, 66, 20, 32, 3,122, 3, 94,251,207,200,174,119, 66,139, 65, 87, 87, 65,139, 66,119,174, -200, 4, 49, 0, 0, 1, 0,186, 0, 0, 7, 71, 6, 20, 0, 67, 0, 0, 1, 52, 38, 35, 34, 6, 7, 17, 35, 17, 51, 17, 52, 54, - 51, 50, 22, 21, 17, 20, 23, 22, 59, 1, 50, 63, 1, 53, 51, 63, 2, 53, 51, 55, 53, 51, 53, 55, 51, 53, 63, 2, 54, 53, 52, 39, - 38, 39, 33, 22, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 35, 7, 6, 39, 38, 53, 4,100,198,193,117,179, 66,185,185,172,149,124, -124, 81, 82,181, 70,225,142, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 35, 30, 66, 54, 56,114,254,190, 46, 76, 77, 55, 15, 24, - 66, 88, 88,144, 51,103, 40, 38, 2,164,232,239,100,101, 2, 98,249,236, 2,121,164,190,158,156,254,245,214, 96, 96,146, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 42, 47,119,161,136,110,113,100, 12, 44, 45, 72, 21, 36,100,146,158, 98, 97, 1, 2, 50, - 49,153, 0, 0, 0, 1, 0,201, 0, 0, 2,198, 5,213, 0, 11, 0, 46, 64, 16, 11, 2, 0, 6,149, 0,129, 7, 5, 8, 6, 1, - 28, 0, 4, 12, 16,252, 75,176, 16, 84, 88,185, 0, 0, 0, 64, 56, 89,236,196, 57, 57, 49, 0, 47,228,236, 17, 57, 57, 48, 1, - 19, 51, 17, 20, 22, 59, 1, 21, 35, 34, 38, 17,201,202,110,134, 63, 77,227,205, 5,213,252, 45,194,150,170,244, 1, 14, 0, 0, - 0, 1, 0, 10, 0, 0, 2, 82, 5,213, 0, 11, 0, 69, 64, 17, 2, 11,149, 5, 8, 0,175, 6, 3, 5, 1, 28, 10, 8, 0, 4, - 12, 16,252, 60,196, 75,176, 16, 84, 88,187, 0, 8, 0, 64, 0, 0, 0, 64, 56, 56, 89,236, 50,196, 49, 0, 47,236,220, 60,244, - 50, 48, 1, 64, 13, 48, 13, 64, 13, 80, 13, 96, 13,143, 13,159, 13, 6, 93, 19, 51, 17, 51, 21, 35, 17, 35, 17, 35, 53, 51,201, -202,191,191,202,191,191, 5,213,253, 22,170,253,191, 2, 65,170, 0, 1, 0,201, 0, 0, 5,221, 5,222, 0, 18, 0, 0, 1, 54, - 31, 1, 55, 39, 38, 7, 6, 7, 1, 17, 35, 17, 51, 17, 1, 33, 1, 4, 80, 62, 58,172,105,237, 96, 76, 53, 71,253,203,202,202, - 2,205, 1, 10,252,230, 4,254, 59, 33,141,116,176, 72, 39, 27, 67,253,236, 2,119,250, 43, 2,207,253, 49, 3, 29, 0, 0, 0, - 0, 1, 0,185, 0, 0, 4,156, 6, 20, 0, 18, 0,193, 64, 44, 16, 17, 13, 14, 13, 15, 17, 14, 14, 13, 11, 17, 12, 13, 12, 10, - 17, 13, 13, 12, 66, 16, 13, 10, 3, 6,149, 3,151, 11,188, 17, 14, 4, 13, 9, 12, 14, 16, 9, 8, 0, 70, 19, 16,252,236, 50, -212,196, 17, 57,196, 49, 0, 47, 60,228,252,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, 10, 10, 16, 22, 10, 39, 10, 41, 13, 43, 16, 86, 10,102, 10,103, 16,115, 10, -119, 13,130, 10,137, 13,142, 16,147, 10,150, 13,151, 16,163, 10, 18, 17, 5, 17, 6, 10, 11, 11, 10, 15, 40, 11, 39, 12, 40, 13, - 43, 14, 43, 15, 64, 20,104, 11, 96, 20,137, 11,133, 12,137, 13,141, 14,143, 15,154, 11,151, 15,170, 11,167, 13,182, 15,197, 15, -214, 15,247, 11,240, 11,247, 12,240, 12, 26, 93,113, 0, 93, 19, 52, 54, 59, 1, 21, 35, 34, 6, 21, 17, 1, 51, 9, 1, 35, 1, - 17, 35,185,163,181,191,168,105, 76, 2, 37,235,253,174, 2,107,240,253,199,185, 4,126,214,192,156, 97,153,253,255, 1,227,253, -244,253,172, 2, 35,253,221, 0, 0, 1, 0, 10, 0, 0, 2, 42, 6, 20, 0, 11, 0, 50, 64, 7, 5, 1, 8, 8, 0, 70, 12, 16, -252, 60,236, 50, 49, 0, 64, 8, 2, 11,169, 5, 8, 0,151, 6, 47,236,212, 60,236, 50, 48, 64, 13, 16, 13, 64, 13, 80, 13, 96, - 13,112, 13,240, 13, 6, 1, 93, 19, 51, 17, 51, 21, 35, 17, 35, 17, 35, 53, 51,193,184,177,177,184,183,183, 6, 20,253, 56,144, -253, 68, 2,188,144, 0, 0, 0, 0, 1, 0, 61, 0, 0, 4,127, 6, 20, 0, 15, 0, 0, 51, 1, 39, 5, 39, 37, 39, 51, 23, 37, - 23, 5, 1, 35, 9, 1, 61, 1,235, 71,254,212, 33, 1, 41, 75,200, 52, 1, 58, 33,254,201, 1,237,195,254,198,254,126, 4, 50, -188,101, 99, 99,197,138,104, 97,104,250,215, 3, 60,252,196, 0, 0, 1, 0,178,255,227, 7, 39, 5,213, 0, 35, 0, 0, 37, 14, - 1, 35, 34, 38, 53, 17, 51, 17, 20, 23, 22, 51, 50, 54, 53, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, - 34, 38, 3,166, 69,192,130,175,190,203, 39, 57,117,143,166,203,114,119,123,166,203,203, 63,176,121,122,171,213,124,118,245,226, - 4, 27,251,239,186, 53, 78,190,164, 3,236,251,239,162,155,191,163, 3,236,250, 41,174,103, 98,124, 0, 0, 0, 0, 1,255,150, -254,102, 5, 51, 5,213, 0, 17, 0,140, 64, 41, 7, 17, 1, 2, 1, 2, 17, 6, 7, 6, 66, 8, 17, 0, 13,149, 12,176, 18, 7, - 2, 3, 0,175, 5, 6, 1, 7, 2, 28, 4, 54, 11, 14, 12, 57, 7, 28, 0, 4, 18, 16,252,236,228, 57, 57,252,236, 17, 57, 57, - 49, 0, 47,236, 50, 57, 57, 16,252,236, 17, 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, 19, 16, 93, 0, 93, 19, 33, 1, 17, 51, 17, 33, 1, 17, 16, - 6, 43, 1, 53, 51, 50, 54, 53,201, 1, 16, 2,150,196,254,240,253,106,205,227, 71, 63,134,110, 5,213,251, 31, 4,225,250, 43, - 4,225,251,135,254,242,244,170,150,194, 0, 0,255,255, 0,186,254, 86, 4,100, 4,123, 16, 6, 2,213, 0, 0, 0, 3, 0,115, -255,227, 5,217, 5,240, 0, 11, 0, 18, 0, 25, 0, 47, 64, 11, 25, 16, 25, 6, 51, 15, 19, 25, 0, 16, 26, 16,252,236, 50,244, -236, 50, 49, 0, 64, 14, 22,149, 9, 15,149, 19,173, 12,149, 3,145, 9,140, 26, 16,228,244,236,244,228, 16,236, 48, 19, 16, 0, - 33, 32, 0, 17, 16, 0, 33, 32, 0, 1, 34, 2, 7, 33, 38, 2, 1, 22, 0, 51, 50, 0, 55,115, 1,121, 1, 59, 1, 58, 1,120, -254,136,254,198,254,197,254,135, 2,180,232,239, 6, 3,186, 6,239,253, 66, 13, 0,255,202,202, 0,255, 13, 2,233, 1, 98, 1, -165,254, 91,254,158,254,159,254, 91, 1,164, 3,197,254,172,236,236, 1, 84,253, 26,195,254,228, 1, 28,195, 0,255,255, 0,103, -255,227, 6,195, 5,240, 16, 38, 0, 50,244, 0, 16, 7, 2, 99, 6, 72, 0, 11,255,255, 0,118,255,227, 4,211, 4,235, 16, 39, - 2, 99, 4, 88, 0, 11, 16, 6, 0, 82, 5, 0, 0, 2, 0,115,255,227, 6,207, 5,240, 0, 10, 0, 30, 0, 0, 1, 34, 0, 17, - 16, 0, 51, 50, 55, 17, 38, 1, 17, 52, 38, 35, 17, 6, 33, 32, 0, 16, 0, 33, 50, 23, 33, 50, 22, 25, 1, 3, 39,220,254,253, - 1, 3,220,175,128,138, 2, 57,110,122,188,254,198,254,197,254,135, 1,121, 1, 59,112, 97, 1, 39,227,205, 5, 76,254,184,254, -229,254,230,254,184,164, 3,125,164,250,180, 3,211,194,150,251,139,211, 1,164, 2,196, 1,165, 27,244,254,242,252, 45, 0, 0, - 0, 2, 0,113,254, 86, 5, 89, 4,123, 0, 9, 0, 30, 0, 0, 1, 38, 7, 6, 16, 22, 32, 55, 17, 38, 1, 17, 52, 38, 35, 17, - 6, 35, 34, 0, 17, 16, 0, 51, 50, 23, 51, 50, 22, 21, 17, 2,115,147, 87, 86,171, 1, 42, 44, 44, 1,153, 76,105,137,240,241, -254,239, 1, 17,241,100, 82,216,181,163, 3,223, 2,117,116,254,110,231, 89, 2,168, 95,250,119, 4,116,153, 97,252,188,157, 1, - 57, 1, 19, 1, 20, 1, 56, 27,192,214,251,140, 0, 2,255,151, 0, 0, 4,241, 5,213, 0, 8, 0, 28, 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, 29, 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, 17, 34, 6, 29, 1, 35, 53, 52, 54, 1,247,254,141,154,154,141,254, 56, 1,200,251, 1, - 1,254,255,251,254,202,132,118,156,192, 5, 47,253,207,146,135,134,146,166,227,219,221,226,253,168, 5, 48, 95,105, 49, 70,181, -163, 0, 0, 0, 0, 2, 0,184,254, 86, 4,164, 6, 20, 0, 24, 0, 36, 0, 79, 64, 36, 35,185, 0, 23, 29,185, 14, 17,184, 23, -140, 1,189, 37, 3, 12, 9,169, 6,151, 37, 26, 18, 20, 71, 6, 9, 3, 7, 32, 12, 0, 8, 2, 70, 37, 16,252,236, 50, 50,204, - 17, 57, 57,244,236, 49, 0, 16,244,236, 57, 57, 16,228,228,244,196,236, 16,196,238, 48, 64, 9, 96, 39,128, 39,160, 39,224, 39, - 4, 1, 93, 37, 17, 35, 3, 52, 54, 59, 1, 21, 35, 34, 6, 29, 1, 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, 1,163,181,254,231,105, 76, 58,177,123,204, 0,255,255,204,123,177, 2, 56,167,146, -146,167,167,146,146,167,168,253,174, 6, 40,214,192,156, 97,153,200,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,201,254, 86, 4,166, 5,213, 0, 29, 0, 38, 0, 0, 19, 51, 17, 51, 50, 4, 16, 7, - 6, 7, 22, 23, 19, 22, 23, 22, 59, 1, 21, 35, 34, 39, 38, 39, 3, 38, 43, 1, 17, 35, 1, 51, 50, 54, 16, 38, 43, 1, 17,201, -202,254,251, 1, 1,129,101,178, 10, 9,144, 54, 39, 42, 76, 59, 98,127, 71, 74, 78,153, 21, 46,119,202, 1, 2,198,141,154,153, -142,254, 5,213,254,248,225,254, 72,113, 89, 19, 20, 23,254,146,136, 34, 36,154, 61, 63,198, 1,133, 53,254,174, 1,248,146, 1, - 12,145,253,209, 0, 1, 0, 69,255,227, 4, 96, 5,240, 0, 39, 0, 0, 19, 62, 1, 51, 50, 4, 21, 20, 6, 15, 1, 14, 1, 21, - 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 32, 36, 53, 52, 54, 63, 1, 62, 1, 53, 52, 38, 35, 34, 6, 7,159,114,218,105,245, 1, - 23,202,226,123,154,135,188,173,114,236,123,128,239,106,254,231,254,221,215,226,122,166,119,179,165, 95,204,115, 5,164, 38, 38, -228,198,171,192, 45, 24, 31,124,110,126,136, 70, 69,208, 47, 48,224,217,182,217, 43, 25, 31,101, 99,118,128, 54, 55, 0, 0, 0, - 0, 1, 0,100,255,227, 3,188, 4,123, 0, 39, 0,207, 64, 17, 10, 30, 29, 9, 13, 33, 20, 33, 8, 6, 13, 8, 0, 82, 26, 69, - 40, 16,252,228,236,212,236,196, 17, 18, 57, 57, 57, 57, 49, 64, 25, 30, 29, 10, 9, 4, 19, 0,134, 39,137, 36, 20,134, 19,137, - 16,185, 23, 36,185, 3,184, 23,140, 40, 0, 16,228,244,236, 16,254,245,238, 16,245,238, 18, 23, 57, 48, 64, 18, 27, 28, 2, 26, - 29, 83, 9, 10, 32, 31, 2, 33, 30, 83, 10, 10, 9, 66, 75, 83, 88, 7, 16, 14,237, 17, 23, 57, 7, 14,237, 17, 23, 57, 89, 34, -178, 0, 1, 1, 1, 93, 64, 17, 47, 41, 63, 41, 95, 41,127, 41,128, 41,144, 41,160, 41,240, 41, 8, 93, 64, 37, 32, 0, 32, 39, - 36, 38, 40, 30, 40, 29, 42, 21, 47, 20, 47, 19, 42, 18, 40, 10, 40, 9, 41, 8, 41, 7, 36, 1,134, 30,134, 29,134, 28,134, 27, - 18, 0, 93, 64, 23, 28, 30, 28, 29, 28, 28, 46, 31, 44, 30, 44, 29, 44, 28, 59, 31, 59, 30, 59, 29, 59, 28, 11,113, 19, 62, 1, - 51, 50, 22, 21, 20, 6, 15, 1, 14, 1, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 53, 52, 54, 63, 1, 62, 1, 53, 52, - 38, 35, 34, 6, 7,160, 76,180,102,206,224,152,171, 64,171,101,140,130, 97,198,102,108,195, 90,216,247,165,196, 63,148, 98,137, -137, 90,168, 78, 4, 63, 30, 30,172,158,130,149, 36, 15, 37, 80, 75, 81, 89, 53, 53,190, 35, 35,182,156,137,153, 42, 14, 33, 73, - 64, 84, 84, 40, 40, 0, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 16, 6, 2,193, 0, 0, 0, 2,254,242,254, 86, 2,215, - 6, 20, 0, 8, 0, 33, 0, 0, 19, 38, 39, 38, 35, 34, 7, 6, 51, 5, 3, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 53, 17, 35, - 32, 53, 52, 33, 50, 23, 22, 23, 51, 21,180, 7, 18, 33,110,124, 3, 3,119, 1,120, 2, 39, 37,100,176,174,195, 81, 87,190,254, -242, 1, 47,181, 82, 53, 18,191, 5, 4, 45, 23, 48, 65, 51,154,251, 61,103, 41, 40,153, 86, 92,180, 4,174,210,216, 96, 64,111, -155, 0, 0, 0, 0, 1, 0, 55,254, 86, 2,242, 5,158, 0, 29, 0, 0, 1, 17, 33, 21, 33, 17, 20, 22, 59, 1, 21, 20, 6, 43, - 1, 53, 51, 50, 54, 61, 1, 35, 34, 38, 53, 17, 35, 53, 51, 17, 1,119, 1,123,254,133, 75,115,189,164,180, 70, 48,106, 76, 5, -213,162,135,135, 5,158,254,194,143,253,160,137, 78,174,214,192,156, 97,153, 20,159,210, 2, 96,143, 1, 62, 0, 0, 1, 0, 24, - 0, 0, 4,233, 5,213, 0, 15, 0, 88, 64, 21, 13, 10, 12, 6, 2,149, 0,129, 4, 0, 7, 1, 64, 3, 28, 5, 11, 28, 13, 5, - 16, 16,212,212,236, 16,252,228, 57, 57, 49, 0, 47,244,236, 50,196, 57, 57, 48, 1, 75,176, 10, 84, 88,189, 0, 16, 0, 64, 0, - 1, 0, 16, 0, 16,255,192, 56, 17, 55, 56, 89, 64, 19, 0, 17, 31, 0, 16, 1, 16, 2, 31, 7, 16, 17, 64, 17,112, 17,159, 17, - 9, 93, 1, 33, 21, 33, 17, 35, 17, 35, 34, 6, 29, 1, 35, 53, 52, 54, 1,174, 3, 59,253,238,203, 94,132,118,156,192, 5,213, -170,250,213, 5, 43, 90,105, 49, 70,181,163, 0, 0, 1, 0, 55, 0, 0, 2,242, 6, 20, 0, 27, 0, 73, 64, 16, 25, 22, 11, 8, - 4, 23, 9, 2, 4, 0, 8, 16, 19, 14, 70, 28, 16,252, 60,196,252, 60,196, 50, 50, 23, 57, 49, 0, 64, 19, 19, 0, 25,135, 22, -151, 10, 14, 5, 8, 15, 3,169, 17, 1,188, 8,135, 10, 47,236,244, 60,236, 50, 17, 57, 57, 16,244,236, 57, 57, 48,178,175, 21, - 1, 1, 93, 1, 21, 33, 21, 33, 17, 20, 22, 59, 1, 21, 35, 34, 38, 53, 17, 35, 53, 51, 53, 52, 54, 59, 1, 21, 35, 34, 6, 1, -119, 1,123,254,133, 75,115,189,189,213,162,135,135,174,189,174,176, 99, 77, 4,195, 99,143,253,160,137, 78,154,159,210, 2, 96, -143, 78,187,171,153, 81, 0, 0, 0, 1,255,250,254,102, 4,233, 5,213, 0, 15, 0, 84, 64, 20, 7,149, 10,189, 16, 14, 2,149, - 0,129, 16, 8, 1, 64, 3, 28, 0, 64, 13, 16, 16,212,228,252,228,196, 49, 0, 16,244,236, 50, 16,244,236, 48, 1, 75,176, 10, - 84, 88,189, 0, 16, 0, 64, 0, 1, 0, 16, 0, 16,255,192, 56, 17, 55, 56, 89, 64, 19, 0, 17, 31, 0, 16, 1, 16, 2, 31, 15, - 16, 17, 64, 17,112, 17,159, 17, 17, 93, 3, 33, 21, 33, 17, 20, 22, 59, 1, 21, 35, 34, 38, 25, 1, 33, 6, 4,239,253,238,110, -134, 63, 78,227,205,253,238, 5,213,170,251, 61,194,150,170,244, 1, 14, 4,195,255,255, 0,173,255,247, 6, 95, 5,233, 16, 38, - 0, 56,251, 20, 16, 7, 2, 99, 5,228, 0, 11,255,255, 0,176,255,227, 5,105, 4,235, 16, 39, 2, 99, 4,238, 0, 11, 16, 6, - 0, 88, 2, 0, 0, 1, 0, 78,255,227, 5,207, 5,202, 0, 31, 0, 58, 64, 16, 3, 6, 25, 40, 16, 0, 28, 51, 22, 15, 12, 25, - 18, 22, 16, 32, 16,252,196,252,196, 16,244,196,236,252,196, 49, 0, 64, 14, 19, 15, 31, 3,149, 2, 16,129, 32, 9,149, 25,140, - 32, 16,244,236, 16,252, 60,236, 50, 50, 50, 48, 1, 53, 33, 21, 22, 18, 21, 20, 0, 35, 34, 0, 53, 52, 18, 55, 53, 33, 21, 33, - 6, 2, 21, 16, 0, 33, 32, 0, 17, 52, 2, 39, 5,207,253,168,177,198,254,248,216,216,254,247,199,178,253,168, 1, 63,158,145, - 1,127, 1, 49, 1, 47, 1,129,142,161, 5, 24,178,178, 97,254,180,202,240,254,222, 1, 35,239,202, 1, 76, 97,178,178,139,254, -214,184,254,194,254,118, 1,137, 1, 53,194, 1, 40,141, 0, 0, 0, 1, 0,201,255,254, 5,118, 5,213, 0, 26, 0, 0, 37, 35, - 34, 38, 53, 17, 35, 17, 16, 23, 22, 31, 1, 32, 0, 17, 52, 2, 47, 1, 21, 22, 23, 22, 21, 20, 0, 2,198, 63,134,110,202,103, - 97,232, 77, 1, 47, 1,129,142,161,179,110, 65, 99,254,248,170,150,194, 3,211,252, 45,254,242,122,116, 6, 2, 1,137, 1, 53, -194, 1, 40,141, 1, 68, 87,109,166,202,240,254,222, 0, 0, 0, 0, 1,255,252, 0, 0, 5,220, 5,237, 0, 16, 0, 0, 9, 1, - 54, 55, 54, 23, 5, 7, 39, 6, 7, 1, 17, 35, 17, 1, 51, 2,115, 1, 72, 52, 49, 66,109, 1, 13, 78,198, 85, 38,254,138,203, -253,240,217, 3,111, 1,235, 78, 40, 54, 49,122,135,101, 6, 57,253,205,253, 57, 2,199, 3, 14, 0, 1, 0, 61,254, 86, 5,150, - 4,112, 0, 23, 0, 0, 5, 14, 1, 43, 1, 53, 51, 50, 54, 63, 1, 1, 51, 9, 1, 54, 55, 54, 31, 1, 7, 39, 38, 7, 2,147, - 78,148,124,147,108, 76, 84, 51, 33,254, 59,195, 1, 94, 1, 23, 50, 81, 97,101,215, 53,195, 81, 28,104,200,122,154, 72,134, 84, - 4, 78,252,148, 2,187,126, 41, 50, 48,101,147, 94, 39, 69, 0, 0, 1, 0, 92, 0, 0, 5, 31, 5,213, 0, 17, 0, 0, 19, 33, - 21, 1, 33, 21, 33, 1, 33, 21, 33, 53, 1, 33, 53, 33, 1, 33,115, 4,149,254,112, 1, 25,254,115,254, 84, 3,199,251, 61, 1, -185,254,213, 1,159, 1,131,252,103, 5,213,154,254, 17,144,253,238,170,154, 2, 34,144, 1,223, 0, 1, 0, 88, 0, 0, 3,219, - 4, 96, 0, 17, 0, 0, 19, 33, 21, 3, 51, 21, 33, 1, 33, 21, 33, 53, 1, 35, 53, 33, 1, 33,113, 3,106,251,194,254,194,254, -195, 2,180,252,125, 1, 43,212, 1, 80, 1, 13,253,101, 4, 96,168,254,220,144,254,143,147,168, 1, 92,144, 1, 57, 0, 0, 0, - 0, 1, 0,160,255,193, 4,248, 5,213, 0, 37, 0, 0, 37, 50, 55, 54, 53, 52, 39, 38, 43, 1, 53, 1, 33, 53, 33, 21, 1, 50, - 23, 22, 23, 22, 21, 20, 15, 1, 6, 7, 6, 33, 34, 39, 38, 39, 53, 22, 23, 22, 2,168,192, 99,100, 92, 93,165,174, 1,129,252, -252, 4, 0,254,101,106,128, 98, 86, 81, 59, 28, 20, 45,152,254,232,119,125,126,134,106,127,126,107, 75, 75,143,134, 73, 74,166, - 1,220,170,168,254, 36, 56, 42,109,104,138,151, 85, 41, 29, 36,121, 19, 18, 37,195, 49, 25, 25, 0, 1, 0, 92,255,193, 4,180, - 5,213, 0, 37, 0, 0, 37, 50, 55, 54, 55, 21, 6, 7, 6, 35, 32, 39, 38, 47, 1, 38, 53, 52, 55, 54, 55, 54, 51, 1, 53, 33, - 21, 33, 1, 21, 35, 34, 7, 6, 21, 20, 23, 22, 2,172,137,126,127,106,134,126,125,119,254,232,152, 45, 20, 28, 59, 81, 86, 98, -128,106,254,101, 4, 0,252,252, 1,129,174,165, 93, 92,100, 99,107, 25, 25, 49,195, 37, 18, 19,121, 36, 29, 41, 85,151,138,104, -109, 42, 56, 1,220,168,170,254, 36,166, 74, 73,134,143, 75, 75, 0, 1, 0,104,254, 76, 4, 63, 4, 96, 0, 36, 0, 0, 1, 34, - 7, 6, 7, 6, 21, 20, 31, 1, 22, 23, 22, 33, 50, 55, 54, 55, 53, 14, 1, 35, 34, 39, 38, 53, 52, 55, 54, 59, 1, 53, 1, 33, - 53, 33, 21, 2, 91,106,128, 98, 86, 81, 59, 28, 28, 37,152, 1, 24, 94, 99,100,106, 84,200,109,190, 99,100, 92, 93,165,174,254, - 82, 2,155,252,150, 1,220, 56, 42,109,104,138,138, 98, 41, 36, 29,121, 18, 19, 37,195, 49, 50, 75, 75,143,132, 75, 74,166, 1, -243,147,168, 0, 0, 1, 0,113,254, 86, 3,232, 4, 96, 0, 31, 0, 0, 1, 50, 55, 54, 55, 21, 6, 7, 6, 35, 32, 17, 52, 37, - 36, 53, 52, 35, 33, 1, 33, 53, 33, 21, 1, 32, 21, 16, 5, 6, 21, 20, 2,127, 84, 77, 79, 81, 87, 80, 86, 97,254, 32, 1,150, - 1, 28,235,254,222, 1,229,253,101, 3,106,254,158, 1,111,254, 48,226,254,238, 21, 21, 44,179, 32, 13, 14, 1, 25,238, 53, 37, - 98,124, 2, 56,147,168,254,100,229,254,236, 49, 24, 97,139, 0, 0, 1, 0,150, 0, 0, 4, 74, 5,240, 0, 34, 0, 0, 37, 33, - 21, 33, 53, 1, 55, 33, 53, 33, 54, 55, 54, 53, 52, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 4, 21, 20, 7, 6, 7, 51, 21, 35, - 7, 1,137, 2,193,252, 76, 1, 58,115,254,167, 1,226, 95, 37, 39,167,134, 95,211,120,122,212, 88,232, 1, 20, 34, 31, 74,104, -236, 48,170,170,170, 1, 64,117,144,109, 72, 76, 73,119,150, 66, 67,204, 49, 50,232,194, 92, 82, 73, 96,144, 49, 0, 1, 0, 93, -255,193, 4,249, 5,213, 0, 40, 0, 0, 1, 50, 23, 22, 23, 22, 21, 20, 15, 1, 6, 7, 6, 33, 32, 39, 38, 47, 1, 38, 53, 51, - 20, 23, 22, 32, 55, 54, 53, 52, 39, 38, 35, 33, 21, 35, 17, 33, 21, 33, 17, 3, 6,104,130, 99, 85, 81, 59, 28, 20, 45,152,254, -232,254,220,152, 45, 20, 28, 59,201,100, 99, 1,124, 99,100, 92, 93,165,254,193,202, 3,161,253, 41, 3, 81, 56, 43,108,104,138, -151, 85, 41, 29, 36,121,121, 36, 29, 41, 85,151,143, 75, 75, 75, 75,143,134, 73, 74, 1, 3, 45,170,254, 37, 0, 0, 1, 0,104, -254, 76, 4, 63, 4, 96, 0, 37, 0, 0, 1, 50, 23, 22, 23, 22, 21, 20, 15, 1, 6, 7, 6, 33, 34, 39, 38, 39, 53, 30, 1, 51, - 50, 55, 54, 53, 52, 39, 38, 35, 33, 53, 51, 19, 33, 21, 33, 3, 2, 76,105,129, 99, 85, 81, 59, 28, 20, 45,152,254,232, 94, 99, -100,106, 84,200,109,190, 99,100, 92, 93,165,254,158, 1, 3, 3, 22,253,162, 3, 1,220, 56, 43,108,104,138,151, 85, 41, 29, 36, -121, 18, 19, 37,195, 49, 50, 75, 75,143,134, 73, 74,168, 2,132,170,254, 38, 0, 0, 1, 0, 88,255,227, 3,165, 5,158, 0, 36, - 0, 0, 1, 7, 22, 23, 22, 21, 20, 7, 6, 33, 34, 39, 38, 39, 53, 22, 23, 22, 51, 50, 55, 54, 55, 52, 39, 38, 43, 1, 19, 35, - 53, 51, 17, 51, 17, 51, 21, 2, 33, 2,170,112,108,110,137,254,237, 85, 81, 81, 76, 73, 84, 78, 80,179, 99, 57, 1, 58, 86,192, - 62, 2,229,229,202,231, 3,230,125, 30,119,115,170,186,125,157, 18, 17, 35,172, 40, 24, 22,114, 65,133, 98, 76,114, 1, 15,164, - 1, 20,254,236,164, 0, 0, 0, 0, 2, 0,186,254, 86, 4,164, 4,123, 0, 14, 0, 23, 0, 0, 5, 17, 35, 17, 51, 21, 54, 55, - 54, 51, 50, 23, 22, 21, 16, 1, 0, 53, 52, 39, 38, 35, 34, 7, 1,115,185,185, 52,135, 81,210,184, 77, 78,252,207, 2,114, 57, - 56,120,220,173,122,254,208, 6, 10,170, 66, 82, 49,112,113,153,254, 87,254,228, 1,144,249,133, 66, 65,239, 0, 0, 1, 0,201, -254, 86, 1,147, 5,213, 0, 3, 0, 0, 19, 51, 17, 35,201,202,202, 5,213,248,129, 0, 0, 0,255,255, 0,201,254, 86, 3, 39, - 5,213, 16, 39, 1,130, 1,148, 0, 0, 16, 6, 1,130, 0, 0, 0, 1, 0, 20,254, 86, 3,156, 5,213, 0, 19, 0, 0, 1, 51, - 17, 33, 21, 33, 21, 33, 21, 33, 17, 35, 17, 33, 53, 33, 53, 33, 53, 33, 1,115,202, 1, 95,254,161, 1, 95,254,161,202,254,161, - 1, 95,254,161, 1, 95, 5,213,253,151,168,240,170,253, 44, 2,212,170,240,168,255,255, 0,201, 0, 0, 1,148, 5,213, 16, 6, - 0, 4,148, 0,255,255, 0,201, 0, 0, 10,208, 5,213, 16, 39, 1, 63, 5,177, 0, 0, 16, 6, 0, 39, 0, 0,255,255, 0,201, - 0, 0, 9,176, 6,102, 16, 39, 1, 64, 5,213, 0, 0, 16, 6, 0, 39, 0, 0,255,255, 0,113,255,227, 8,145, 6,102, 16, 39, - 1, 64, 4,182, 0, 0, 16, 6, 0, 71, 0, 0,255,255, 0,201,254,102, 6, 36, 5,213, 16, 39, 0, 45, 4,145, 0, 0, 16, 6, - 0, 47, 0, 0,255,255, 0,201,254, 86, 5,222, 6, 20, 16, 39, 0, 77, 4,101, 0, 0, 16, 6, 0, 47, 0, 0,255,255, 0,193, -254, 86, 2,239, 6, 20, 16, 39, 0, 77, 1,118, 0, 0, 16, 6, 0, 79, 0, 0,255,255, 0,201,254,102, 6,242, 5,213, 16, 39, - 0, 45, 5, 95, 0, 0, 16, 6, 0, 49, 0, 0,255,255, 0,201,254, 86, 6,183, 6, 20, 16, 39, 0, 77, 5, 62, 0, 0, 16, 6, - 0, 49, 0, 0,255,255, 0,186,254, 86, 5,222, 6, 20, 16, 39, 0, 77, 4,101, 0, 0, 16, 6, 0, 81, 0, 0,255,255, 0, 16, - 0, 0, 5,104, 5,213, 18, 38, 0, 36, 0, 0, 17, 7, 6,137, 4,190, 1,117, 0, 6,177, 14, 0, 16, 60, 49,255,255, 0,123, -255,227, 4, 45, 6,102, 18, 38, 0, 68, 0, 0, 17, 6, 2, 32, 90, 0, 0, 8,180, 11, 43, 39, 20, 7, 43, 49,255,255, 0,201, - 0, 0, 1,147, 5,213, 18, 38, 0, 44, 0, 0, 17, 7, 6,137, 3, 47, 1,117, 0, 11,180, 7, 32, 1, 0, 0, 16, 73, 99, 58, - 49, 0, 0, 0,255,255,255,224, 0, 0, 2, 94, 6,102, 18, 38, 0,243, 0, 0, 17, 7, 2, 32,255, 31, 0, 0, 0, 11,180, 7, - 32, 1, 0, 0, 16, 73, 99, 58, 49, 0, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 18, 38, 0, 50, 0, 0, 16, 7, 6,137, - 5, 39, 1,117,255,255, 0,113,255,227, 4,117, 6,102, 18, 38, 0, 82, 0, 0, 17, 6, 2, 32,118, 0, 0, 6,177, 27, 12, 16, - 60, 49, 0, 0,255,255, 0,178,255,227, 5, 41, 5,213, 18, 38, 0, 56, 0, 0, 17, 7, 6,137, 4,246, 1,117, 0, 6,177, 21, - 5, 16, 60, 49,255,255, 0,174,255,227, 4, 88, 6,102, 18, 38, 0, 88, 0, 0, 17, 6, 2, 32,118, 0, 0, 11,180, 23, 32, 11, - 1, 1, 16, 73, 99, 58, 49, 0,255,255, 0,178,255,227, 5, 41, 5,213, 16, 38, 6,143, 48, 0, 18, 2, 0, 56, 0, 0, 0, 0, -255,255, 0,174,255,227, 4, 88, 7, 49, 16, 39, 0,113, 0,123, 1, 59, 18, 6, 0,190, 0, 0,255,255, 0,178,255,227, 5, 41, - 5,213, 16, 38, 0, 56, 0, 0, 16, 6, 6,146, 54, 0, 0, 0,255,255, 0,174,255,227, 4, 88, 4, 96, 16, 38, 0, 88, 0, 0, - 16, 7, 6,146,255,190,254,200,255,255, 0,178,255,227, 5, 41, 5,213, 16, 38, 0, 56, 0, 0, 16, 6, 6,151, 48, 0, 0, 0, -255,255, 0,174,255,227, 4, 88, 4, 96, 16, 38, 0, 88, 0, 0, 16, 7, 6,151,255,196,254,200,255,255, 0,178,255,227, 5, 41, - 5,213, 16, 38, 0, 56, 0, 0, 16, 6, 6,147, 48, 6, 0, 0,255,255, 0,174,255,227, 4, 88, 4, 96, 16, 38, 0, 88, 0, 0, - 16, 7, 6,147,255,190,254,200,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 16, 6, 2, 4, 0, 0,255,255, 0, 16, 0, 0, 5,104, - 5,213, 18, 34, 0, 36, 0, 0, 16, 6, 6,143, 0, 0, 0, 0,255,255, 0,123,255,227, 4, 45, 7, 49, 18, 38, 0,166, 0, 0, - 16, 7, 0,113, 0, 82, 1, 59,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 34, 0, 36, 0, 0, 16, 6, 6,145, 0, 0, 0, 0, -255,255, 0,123,255,227, 4, 45, 4,123, 18, 34, 0, 68, 0, 0, 16, 7, 6,145,255,147,254,193,255,255, 0, 8, 0, 0, 7, 72, - 7, 52, 16, 39, 0,113, 2,215, 1, 62, 18, 6, 0,136, 0, 0,255,255, 0,123,255,227, 7,111, 5,242, 16, 39, 0,113, 1,232, -255,252, 18, 6, 0,168, 0, 0, 0, 1, 0,115,255,227, 6, 4, 5,240, 0, 37, 0, 0, 1, 21, 6, 4, 35, 32, 0, 17, 16, 0, - 33, 50, 4, 23, 21, 46, 1, 35, 32, 0, 17, 16, 0, 33, 50, 54, 55, 53, 35, 53, 51, 53, 33, 53, 33, 17, 51, 21, 5,139,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, 67,253,253,254,182, - 2, 18,121, 1,138,255, 83, 85, 1,153, 1,109, 1,110, 1,153, 72, 70,215, 95, 96,254,206,254,209,254,210,254,206, 37, 39,181, - 88,132,166,254,214, 88, 0, 0, 0, 2, 0,113,254, 86, 4,250, 4,123, 0, 11, 0, 52, 0, 0, 1, 52, 38, 35, 34, 6, 21, 20, - 22, 51, 50, 54, 3, 54, 61, 1, 14, 1, 35, 34, 2, 17, 16, 18, 51, 50, 22, 23, 53, 51, 17, 20, 7, 51, 21, 35, 6, 7, 6, 33, - 34, 38, 39, 53, 30, 1, 51, 50, 55, 54, 55, 5, 53, 3,162,165,149,148,165,165,148,149,165, 22, 22, 57,178,124,206,252,252,206, -124,178, 57,184, 19,179,198, 31, 58,127,254,250, 97,172, 81, 81,158, 82,181, 90, 21, 17,253,132, 2, 61,200,220,220,200,199,220, -220,254, 79, 71, 94, 91, 99, 98, 1, 58, 1, 3, 1, 4, 1, 58, 98, 99,170,252, 43,110, 88, 70, 93, 64,140, 29, 30,179, 44, 42, - 95, 23, 28, 1, 70, 0, 0, 0,255,255, 0,115,255,227, 5,139, 5,240, 18, 34, 0, 42, 0, 0, 17, 7, 6,137, 5, 74, 1,117, - 0, 16,177, 33, 14, 16, 60, 64, 7,148, 33, 84, 33, 36, 33, 3, 93, 49, 0, 0,255,255, 0,113,254, 86, 4, 90, 6, 99, 16, 34, - 2, 32, 74,253, 18, 2, 0, 74, 0, 0, 0, 0,255,255, 0,201, 0, 0, 5,106, 5,213, 16, 39, 6,137, 4,162, 1,117, 18, 2, - 0, 46, 0, 0,255,255, 0,186, 0, 0, 4,156, 6, 20, 18, 34, 0, 78, 0, 0, 17, 7, 6,137, 3, 26, 1,117, 0, 42,180, 1, - 16, 12, 0, 7, 43, 49, 0, 75,176, 14, 81, 88,187, 0, 1,255,192, 0, 0,255,192, 56, 56, 89, 64, 13,144, 1,144, 0,128, 1, -128, 0, 64, 1, 64, 0, 6, 93,255,255, 0,115,254,101, 5,217, 5,240, 16, 39, 2, 52, 1, 52,255,240, 18, 6, 0, 50, 0, 0, -255,255, 0,113,254,101, 4,117, 4,123, 16, 39, 2, 52, 0,128,255,240, 18, 6, 0, 82, 0, 0,255,255, 0,115,254,101, 5,217, - 7, 49, 16, 39, 0,113, 1, 39, 1, 59, 18, 6, 1,172, 0, 0,255,255, 0,113,254,101, 4,117, 5,245, 16, 38, 0,113,115,255, - 18, 6, 1,173, 0, 0, 0, 0,255,255, 0,160,255,193, 4,248, 5,213, 16, 39, 6,137, 4,190, 1,117, 18, 2, 1,121, 0, 0, -255,255, 0,220, 4,238, 3, 90, 6,102, 16, 38, 2, 32, 27, 0, 16, 6, 2, 8, 0, 0, 0, 0,255,255,255,219,254, 86, 2,100, - 6,102, 16, 39, 2, 32,255, 37, 0, 0, 17, 6, 1,249, 0, 0, 0, 11,180, 3, 32, 8, 7, 7, 16, 73, 99, 58, 49, 0, 0, 0, -255,255, 0,201, 0, 0, 10,208, 5,213, 16, 39, 0, 61, 5,177, 0, 0, 16, 6, 0, 39, 0, 0,255,255, 0,201, 0, 0, 9,176, - 5,213, 16, 39, 0, 93, 5,213, 0, 0, 16, 6, 0, 39, 0, 0,255,255, 0,113,255,227, 8,145, 6, 20, 16, 39, 0, 93, 4,182, - 0, 0, 16, 6, 0, 71, 0, 0,255,255, 0,115,255,227, 5,139, 7,107, 18, 34, 0, 42, 0, 0, 16, 67, 0,118, 1, 22, 2,240, - 64, 0, 44,204,255,255, 0,113,254, 86, 4, 90, 6, 99, 18, 34, 0, 74, 0, 0, 16, 2, 0,118, 27,253, 0, 0, 0, 1, 0,201, -255,227, 8, 45, 5,213, 0, 29, 0, 0, 1, 17, 20, 7, 6, 33, 32, 39, 38, 53, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 20, - 23, 22, 23, 50, 55, 54, 53, 17, 8, 45,100, 96,254,230,254,237,103,100,253, 34,202,202, 2,222,202, 62, 61,153,148, 66, 62, 4, - 96,253, 90,223,128,120,120,118,233, 1, 13,253, 57, 5,213,253,156, 2,100,251,236,159, 80, 78, 1, 79, 75,164, 2,159, 0, 0, - 0, 2, 0,201,254, 86, 5, 2, 5,240, 0, 14, 0, 23, 0, 0, 37, 17, 35, 17, 51, 21, 54, 55, 54, 51, 50, 23, 22, 21, 16, 1, - 0, 17, 52, 39, 38, 35, 34, 3, 1,147,202,202, 56,145, 87,226,198, 83, 84,252,145, 2,161, 61, 60,129,237,186,156,253,186, 7, -127,185, 72, 87, 53,120,122,164,254, 55,254,206, 1,174, 1, 12,143, 71, 70,254,255, 0, 0, 0,255,255, 0,201, 0, 0, 5, 51, - 5,213, 16, 39, 6,135, 5, 30, 1,117, 18, 2, 0, 49, 0, 0,255,255, 0,186, 0, 0, 4,100, 6,100, 18, 34, 0, 81, 0, 0, - 16, 3, 0, 67, 1, 24,255,254,255,255, 0, 16, 0, 0, 5,104, 7,109, 16, 34, 0,135, 0, 0, 16, 7, 6,133, 6, 92, 1,125, -255,255, 0,123,255,227, 4, 45, 7, 6, 16, 34, 0,167, 0, 0, 16, 7, 6,133, 5,236, 1,125,255,255, 0, 8, 0, 0, 7, 72, - 5,213, 16, 39, 6,133, 6, 92, 1,118, 18, 2, 0,136, 0, 0,255,255, 0,123,255,227, 7,111, 6, 99, 18, 34, 0,168, 0, 0, - 16, 3, 0,118, 1,101,255,253,255,255, 0,102,255,186, 5,229, 6, 23, 16, 39, 6,133, 4,254, 1,118, 18, 2, 0,154, 0, 0, -255,255, 0, 72,255,162, 4,156, 6, 99, 18, 34, 0,186, 0, 0, 16, 2, 0,118, 28,253, 0, 0,255,255, 0, 16, 0, 0, 5,104, - 5,213, 18, 34, 0, 36, 0, 0, 16, 7, 6,142, 4,229, 1,122,255,255, 0,123,255,227, 4, 45, 6,100, 16, 35, 2, 87, 4,152, -255,254, 18, 2, 0, 68, 0, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 34, 0, 36, 0, 0, 16, 7, 6,138, 4,188, 1, 62, -255,255, 0,123,255,227, 4, 45, 6, 72, 16, 35, 2, 89, 4,101, 0, 0, 18, 6, 0, 68, 0, 0,255,255, 0,201, 0, 0, 4,139, - 5,213, 18, 34, 0, 40, 0, 0, 16, 7, 6,142, 4,165, 1,122,255,255, 0,113,255,227, 4,127, 6, 99, 16, 35, 2, 87, 4,186, -255,253, 18, 2, 0, 72, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 18, 34, 0, 40, 0, 0, 16, 7, 6,138, 4,166, 1, 62, -255,255, 0,113,255,227, 4,127, 6, 72, 16, 35, 2, 89, 4,169, 0, 0, 18, 2, 0, 72, 0, 0,255,255, 0,201, 0, 0, 1,147, - 5,213, 18, 34, 0, 44, 0, 0, 16, 7, 6,142, 3, 89, 1,122,255,255,255,195, 0, 0, 2,129, 6, 99, 16, 35, 2, 87, 3,102, -255,253, 18, 2, 0,243, 0, 0,255,255, 0,201, 0, 0, 1,147, 5,213, 18, 34, 0, 44, 0, 0, 16, 7, 6,138, 3, 62, 1, 62, -255,255,255,227, 0, 0, 2, 86, 6, 72, 16, 35, 2, 89, 3, 36, 0, 0, 18, 2, 0,243, 0, 0,255,255, 0,115,255,227, 5,217, - 5,240, 18, 34, 0, 50, 0, 0, 16, 7, 6,142, 5, 65, 1,122,255,255, 0,113,255,227, 4,117, 6,100, 16, 35, 2, 87, 4,159, -255,254, 18, 2, 0, 82, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, 16, 7, 6,138, 5, 28, 1, 62, -255,255, 0,113,255,227, 4,117, 6, 72, 16, 35, 2, 89, 4,152, 0, 0, 18, 2, 0, 82, 0, 0,255,255, 0,201, 0, 0, 5, 84, - 5,213, 18, 34, 0, 53, 0, 0, 16, 7, 6,142, 4,121, 1,122,255,255, 0,130, 0, 0, 3, 74, 6, 99, 16, 35, 2, 87, 4, 37, -255,253, 18, 2, 0, 85, 0, 0,255,255, 0,201, 0, 0, 5, 84, 5,213, 18, 34, 0, 53, 0, 0, 16, 7, 6,138, 4,128, 1, 62, -255,255, 0,186, 0, 0, 3, 94, 6, 72, 16, 35, 2, 89, 4, 45, 0, 0, 18, 2, 0, 85, 0, 0,255,255, 0,178,255,227, 5, 41, - 5,213, 18, 34, 0, 56, 0, 0, 16, 7, 6,142, 5, 21, 1,122,255,255, 0,174,255,227, 4, 88, 6,100, 16, 35, 2, 87, 4,212, -255,254, 18, 2, 0, 88, 0, 0,255,255, 0,178,255,227, 5, 41, 5,213, 18, 34, 0, 56, 0, 0, 16, 7, 6,138, 4,236, 1, 62, -255,255, 0,174,255,227, 4, 88, 6, 72, 16, 35, 2, 89, 4,171, 0, 0, 18, 2, 0, 88, 0, 0,255,255, 0,135,254, 20, 4,162, - 5,240, 16, 39, 2,110, 4,118, 0, 0, 18, 6, 0, 54, 0, 0,255,255, 0,111,254, 20, 3,199, 4,123, 16, 39, 2,110, 4, 44, - 0, 0, 18, 6, 0, 86, 0, 0,255,255,255,250,254, 20, 4,233, 5,213, 16, 39, 2,110, 4, 83, 0, 0, 18, 6, 0, 55, 0, 0, -255,255, 0, 55,254, 20, 2,242, 5,158, 16, 39, 2,110, 4, 0, 0, 0, 18, 6, 0, 87, 0, 0, 0, 1, 0,156,254, 82, 4,115, - 5,240, 0, 49, 0, 0, 19, 54, 55, 54, 55, 54, 53, 52, 38, 35, 34, 15, 1, 53, 55, 54, 55, 54, 53, 52, 39, 38, 7, 34, 7, 6, - 7, 53, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 7, 22, 23, 22, 21, 20, 7, 6, 5, 6, 7,156,199,194,165,126, 98,146, 91, - 63, 70,240,248,142,106, 79, 81, 95, 99,105,113, 89,120,119, 96,129,101,192,132,134, 71, 82,120,138, 81, 89,150,130,254,208,218, -181,254,242, 64, 88, 75,121, 94,142,113,134, 31,106,171,106, 61,118, 88,144,123, 53, 63, 1, 58, 46, 80,190, 66, 42, 56,104,105, -178,170, 99,113, 77, 19,109,119,113,218,142,123,129, 92, 40, 0, 0, 1, 0, 71,254, 79, 3,188, 4,123, 0, 50, 0, 0, 19, 54, - 55, 54, 55, 54, 53, 52, 39, 38, 35, 34, 15, 1, 53, 55, 54, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 7, 53, 54, 55, 54, 51, 50, - 23, 22, 21, 20, 7, 6, 7, 22, 23, 22, 21, 20, 7, 6, 5, 6, 7, 71,178,176,148,114, 88, 66, 65, 82, 57, 63,216,223,124, 99, - 71, 73, 78, 96, 92,104, 79,109, 96, 98,115, 91,171,121,120, 64, 73,108,124, 73, 80,135,120,254,241,196,163,254,209, 51, 72, 60, - 99, 76,115, 91, 55, 54, 25, 86,139, 85, 47, 99, 71,116, 96, 47, 50, 47, 35, 67,154, 48, 39, 46, 85, 85,144,137, 81, 91, 63, 15, - 88, 97, 91,177,115,102,102, 74, 33, 0, 0, 0,255,255, 0,201, 0, 0, 5, 59, 5,213, 16, 39, 6,137, 5, 4, 1,117, 18, 2, - 0, 43, 0, 0,255,255, 0,186, 0, 0, 4,100, 6, 20, 16, 39, 6,137, 3, 33, 1,117, 19, 2, 0, 75, 0, 0, 0, 42,180, 20, - 5, 1, 19, 7, 43, 49, 0, 75,176, 14, 81, 88,187, 0, 20,255,192, 0, 19,255,192, 56, 56, 89, 64, 13,144, 20,144, 19,128, 20, -128, 19, 64, 20, 64, 19, 6, 93, 0, 1, 0,201,254, 86, 5, 25, 5,240, 0, 23, 0, 0, 1, 17, 35, 17, 52, 39, 38, 35, 34, 7, - 6, 21, 17, 35, 17, 51, 21, 54, 55, 54, 51, 50, 23, 22, 5, 25,201, 78, 76,153,179,109,106,202,202, 78,105,105,154,227,116,117, - 3,125,250,217, 5, 41,212,109,107,129,126,222,252,178, 5,213,241,135, 66, 67,159,159, 0, 0, 0, 3, 0,113,255,112, 6, 68, - 6, 20, 0, 7, 0, 40, 0, 52, 0, 0, 37, 22, 51, 50, 53, 52, 39, 34, 7, 54, 51, 50, 21, 16, 33, 34, 39, 6, 7, 35, 54, 55, - 38, 53, 6, 7, 6, 35, 34, 39, 38, 16, 55, 54, 51, 50, 23, 22, 23, 17, 51, 0, 16, 23, 22, 32, 55, 54, 16, 39, 38, 32, 7, 4, -182, 17, 37,160, 52, 52,202,110,136,244,254,170, 73, 53, 34, 24,196, 29, 67, 48, 58, 88, 89,124,203,128,127,127,128,203,124, 89, - 88, 58,184,252,213, 83, 84, 1, 36, 84, 84, 84, 84,254,220, 84,130, 5,175, 45, 1, 32,184,206,254,191, 15, 72, 58, 69,147, 60, - 36,100, 48, 49,162,162, 2, 16,162,162, 49, 48,100, 2, 94,252,230,254,106,116,115,115,116, 1,150,116,115,115, 0, 2, 0,113, -255,227, 5, 37, 5,240, 0, 12, 0, 59, 0, 0, 1, 34, 7, 6, 16, 23, 22, 32, 55, 54, 53, 52, 38, 3, 14, 1, 21, 20, 23, 22, - 51, 50, 55, 54, 53, 52, 39, 38, 39, 53, 50, 23, 22, 21, 20, 6, 7, 22, 23, 22, 21, 20, 7, 6, 32, 39, 38, 53, 52, 55, 54, 55, - 38, 39, 38, 53, 52, 55, 54, 33, 2,203,184,106,107,107,106, 1,112,107,107,212,244,130,170, 95, 59,204,168, 95, 96, 76,109,130, -228,150,139,170,152,172, 95, 96,156,155,253,186,155,156, 96, 97,171,171, 67, 85,130,116, 1, 1, 2,197, 77, 77,254,242, 77, 77, - 77, 78,134,135,154, 2, 39, 3,124, 79, 69, 72, 45, 65, 65,136,158, 43, 77, 8,100,104, 97,186,128,178, 32, 34, 99, 99,143,217, -116,116,116,116,217,143, 99, 99, 34, 31, 70, 89, 88,130, 83, 74, 0, 2, 0,113,255,227, 4,113, 5, 47, 0, 13, 0, 52, 0, 0, - 1, 34, 7, 6, 16, 23, 22, 32, 55, 54, 53, 52, 39, 38, 19, 22, 21, 20, 7, 6, 7, 22, 23, 22, 21, 20, 7, 6, 32, 39, 38, 53, - 52, 54, 55, 38, 39, 38, 53, 52, 55, 23, 6, 20, 23, 22, 51, 50, 55, 54, 53, 52, 39, 2,113,144, 83, 82, 82, 83, 1, 32, 83, 83, - 83, 82,254, 58, 52, 73,129,146, 82, 81,133,132,254, 18,132,133,164,146,142, 61, 52, 63,161, 43, 73, 72,131,130, 73, 74, 44, 2, -197, 77, 77,254,242, 77, 77, 77, 78,134,135, 77, 77, 2,106, 82,112,153, 64, 89, 32, 34, 99, 99,143,217,116,116,116,116,217,143, -198, 34, 35, 86, 75,142,106, 88, 32, 65,232, 65, 65, 65, 65,116,119, 62, 0, 0, 0, 1, 0, 92,254, 86, 5, 31, 5,213, 0, 21, - 0, 0, 5, 16, 7, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 33, 53, 1, 33, 53, 33, 21, 1, 33, 5, 31,158, 72,114,254,233,105, - 38, 38,251,245, 3,176,252,103, 4,149,252, 80, 3,199, 20,254,223, 80, 37,156, 48, 49,153, 20,154, 4,145,170,154,251,111, 0, - 0, 1, 0, 88,254, 86, 3,219, 4, 96, 0, 21, 0, 0, 5, 16, 7, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 33, 53, 1, 33, 53, - 33, 21, 1, 33, 3,219,158, 72,114,254,233,105, 38, 38,253, 53, 2,180,253,101, 3,106,253, 76, 2,180, 20,254,223, 80, 37,156, - 48, 49,153, 20,168, 3, 37,147,168,252,219, 0,255,255, 0, 16, 0, 0, 5,104, 7, 80, 18, 34, 0, 36, 0, 0, 16, 3, 2, 50, - 0,196, 1, 64,255,255, 0,123,255,227, 4, 45, 6, 18, 18, 34, 0, 68, 0, 0, 16, 2, 2, 50, 95, 2, 0, 0,255,255, 0,201, -254,117, 4,139, 5,213, 18, 34, 0, 40, 0, 0, 16, 3, 0,122, 0,162, 0, 0,255,255, 0,113,254,117, 4,127, 4,123, 18, 34, - 0, 72, 0, 0, 16, 2, 0,122,123, 0, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, 16, 6, 6,143, - 98, 0, 0, 0,255,255, 0,113,255,227, 4,117, 7, 49, 18, 38, 0,184, 0, 0, 16, 7, 0,113, 0,115, 1, 59,255,255, 0,115, -255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, 16, 6, 6,150,105, 0, 0, 0,255,255, 0,113,255,227, 4,117, 4,123, 16, 38, - 0, 82, 0, 0, 16, 7, 6,150,255,181,254,182,255,255, 0,115,255,227, 5,217, 5,240, 16, 39, 6,140, 5, 39, 1,116, 18, 6, - 0, 50, 0, 0,255,255, 0,113,255,227, 4,117, 6, 16, 16, 38, 2, 50,115, 0, 18, 6, 0, 82, 0, 0, 0, 0,255,255, 0,115, -255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, 16, 6, 6,145,106, 0, 0, 0,255,255, 0,113,255,227, 4,117, 7, 49, 18, 38, - 1,241, 0, 0, 16, 7, 0,113, 0,115, 1, 59,255,255,255,252, 0, 0, 4,231, 7, 49, 16, 39, 0,113, 0,114, 1, 59, 18, 6, - 0, 60, 0, 0,255,255, 0, 61,254, 86, 4,127, 5,245, 16, 38, 0,113, 94,255, 18, 6, 0, 92, 0, 0, 0, 0, 0, 2, 0,138, -255,112, 3, 92, 6, 14, 0, 7, 0, 25, 0, 0, 37, 22, 51, 50, 53, 52, 39, 34, 7, 54, 51, 50, 21, 16, 33, 34, 39, 6, 7, 35, - 54, 55, 38, 55, 17, 51, 1,206, 17, 37,160, 52, 52,202,110,136,244,254,170, 73, 53, 34, 24,196, 29, 67, 49, 1,184,130, 5,175, - 45, 1, 32,184,206,254,191, 15, 72, 58, 69,147, 60, 90, 5, 48, 0, 2, 0,186,255,112, 6, 78, 4,123, 0, 7, 0, 43, 0, 0, - 37, 22, 51, 50, 53, 52, 39, 34, 7, 54, 51, 50, 21, 16, 33, 34, 39, 6, 7, 35, 54, 55, 38, 55, 17, 52, 38, 35, 34, 6, 21, 17, - 35, 17, 51, 21, 54, 55, 54, 51, 50, 23, 22, 21, 4,192, 17, 37,160, 52, 52,202,110,136,244,254,170, 73, 53, 34, 24,196, 29, 67, - 49, 1,124,124,149,172,185,185, 66, 89, 90,117,193, 99, 99,130, 5,175, 45, 1, 32,184,206,254,191, 15, 72, 58, 69,147, 60, 90, - 1,192,159,158,190,164,253,135, 4, 96,174,101, 50, 50,119,120,232, 0, 0, 0, 0, 2, 0, 55,255,112, 3, 97, 5,158, 0, 7, - 0, 33, 0, 0, 37, 22, 51, 50, 53, 52, 39, 34, 7, 54, 51, 50, 21, 16, 33, 34, 39, 6, 7, 35, 54, 55, 38, 53, 17, 35, 53, 51, - 17, 51, 17, 33, 21, 33, 1,211, 17, 37,160, 52, 52,202,110,136,244,254,170, 73, 54, 33, 24,196, 29, 67, 49,135,135,185, 1,123, -254,133,130, 5,175, 45, 1, 32,184,206,254,191, 15, 72, 58, 69,147, 60, 90, 2,243,143, 1, 62,254,194,143, 0, 0, 1,255,219, -254, 86, 1,121, 4, 96, 0, 11, 0, 56, 64, 21, 11, 2, 7, 0, 7,135, 5,189, 0,188, 12, 8, 12, 5, 6, 79, 1, 8, 0, 70, - 12, 16,252,236,228, 57, 18, 57, 49, 0, 16,228,244,236, 17, 18, 57, 57, 48, 64, 11, 16, 13, 64, 13, 80, 13, 96, 13,112, 13, 5, - 1, 93, 19, 51, 17, 20, 6, 43, 1, 53, 51, 50, 54, 53,193,184,163,181, 70, 49,105, 76, 4, 96,251,140,214,192,156, 97,153, 0, - 0, 3, 0,113,255,227, 7,140, 6, 20, 0, 7, 0, 37, 0, 45, 0, 0, 0, 16, 22, 32, 54, 16, 38, 32, 5, 62, 1, 51, 50, 0, - 16, 2, 35, 34, 38, 39, 21, 43, 1, 53, 14, 1, 35, 34, 2, 16, 0, 51, 50, 22, 23, 17, 59, 1, 0, 16, 38, 32, 6, 16, 22, 32, - 1, 47,167, 1, 36,168,168,254,220, 2,133, 58,177,123,204, 0,255,255,204,123,177, 58, 1,184, 58,177,124,203,255, 0,255,203, -124,177, 58,184, 1, 2,114,167,254,220,167,167, 1, 36, 2,250,254,106,231,231, 1,150,231, 43,100, 97,254,188,253,240,254,188, - 97,100,168,168,100, 97, 1, 68, 2, 16, 1, 68, 97,100, 2, 94,251, 80, 1,150,231,231,254,106,231, 0, 0, 0, 0, 3, 0,113, -254, 86, 7,140, 4,123, 0, 7, 0, 37, 0, 45, 0, 0, 0, 16, 38, 32, 6, 16, 22, 32, 37, 17, 43, 1, 17, 14, 1, 35, 34, 2, - 16, 0, 51, 50, 22, 23, 53, 59, 1, 21, 62, 1, 51, 50, 0, 16, 2, 35, 34, 38, 0, 16, 22, 32, 54, 16, 38, 32, 6,205,167,254, -220,167,167, 1, 36,254, 53, 1,184, 58,177,124,203,255, 0,255,203,124,177, 58,184, 1, 58,177,123,204, 0,255,255,204,123,177, -252,154,167, 1, 36,168,168,254,220, 1,100, 1,150,231,231,254,106,231, 43,253,174, 2, 82,100, 97, 1, 68, 2, 16, 1, 68, 97, -100,170,170,100, 97,254,188,253,240,254,188, 97, 2,182,254,106,231,231, 1,150,231, 0, 0, 0, 0, 3,255,253,255,186, 5,124, - 6, 23, 0, 18, 0, 22, 0, 25, 0, 0, 1, 51, 19, 1, 23, 9, 1, 35, 3, 33, 15, 1, 35, 7, 39, 35, 55, 39, 55, 9, 1, 51, - 1, 3, 33, 3, 2, 74,229,134, 1, 97,102,254,112, 1,124,210,136,253,214,205, 50, 70, 59, 82, 2, 1, 20, 47, 2,144,254,238, - 22, 1,111,189, 1, 93,106, 5,213,254,161, 1,161, 89,254, 39,252, 27, 1,127,241,142, 70, 70, 1, 17, 56, 4,196,253, 25, 1, -177,254, 79, 1, 31, 0, 0, 0, 0, 2, 0, 11,255,186, 5,139, 6, 23, 0, 31, 0, 40, 0, 0, 23, 39, 19, 38, 17, 16, 0, 33, - 50, 23, 22, 23, 55, 23, 7, 21, 38, 39, 1, 22, 23, 22, 33, 50, 54, 55, 21, 14, 1, 35, 32, 39, 19, 1, 35, 38, 35, 32, 0, 17, - 20,114,102,220,117, 1,134, 1, 83,134,118, 61, 58,101,102, 99, 46, 49,252,244, 9, 11,136, 1, 0,130,231,102,106,237,132,254, -180,194, 57, 2,216, 1,116,130,255, 0,254,240, 70, 88, 1, 5,187, 1, 23, 1,104, 1,159, 36, 18, 27,120, 89,118,187, 43, 33, -252,102, 13, 12,157, 94, 95,211, 72, 72,199, 1, 21, 3, 92, 47,254,199,254,216,173, 0, 0, 0, 0, 2, 0, 9,255,162, 4, 93, - 4,188, 0, 31, 0, 39, 0, 0, 23, 39, 55, 38, 53, 16, 0, 33, 50, 23, 22, 23, 55, 23, 7, 21, 38, 39, 1, 22, 23, 22, 51, 50, - 54, 55, 21, 14, 1, 35, 34, 39, 19, 1, 38, 35, 34, 6, 21, 20,105, 96,189, 85, 1, 45, 1, 6, 85, 81, 46, 45, 89, 95,118, 25, - 24,253,211, 7, 6, 99,179, 80,157, 78, 77,165, 93,240,147, 55, 1,238, 71, 71,179,198, 94, 78,230,141,204, 1, 18, 1, 58, 17, - 10, 16,108, 79,143, 85, 14, 11,253, 94, 8, 8,113, 43, 43,170, 36, 36,144, 1, 5, 2, 86, 17,227,205,103, 0, 0, 1, 0, 10, - 0, 0, 4,106, 5,213, 0, 13, 0, 0, 19, 51, 17, 51, 21, 35, 17, 33, 21, 33, 17, 35, 53, 51,201,202,191,191, 2,215,252, 95, -191,191, 5,213,253,119,144,253,238,170, 2,188,144, 0, 0, 0, 0, 2,255,178,255,186, 5, 49, 6, 23, 0, 15, 0, 18, 0, 0, - 3, 39, 55, 23, 33, 21, 33, 17, 1, 7, 1, 17, 35, 17, 1, 35, 1, 17, 33, 6, 72,102, 56, 4,153,253,238, 2, 90,103,254, 13, -203,254, 34, 52, 2, 18,254,212, 5,105, 85, 89, 66,170,253,174,253, 57, 88, 2, 77,253,249, 2,247, 2, 52,254,158, 1, 98, 0, - 0, 1, 0,111,254, 16, 4, 25, 4,123, 0, 55, 0, 0, 1, 52, 38, 47, 1, 46, 1, 53, 52, 54, 51, 50, 22, 23, 21, 46, 1, 35, - 34, 6, 21, 20, 22, 31, 1, 22, 23, 22, 21, 20, 7, 6, 7, 31, 1, 22, 51, 21, 35, 34, 39, 38, 47, 1, 38, 39, 38, 39, 38, 39, - 53, 30, 1, 51, 50, 54, 3, 10,101,171, 64,171,152,224,206,102,180, 76, 78,168, 90,137,137, 98,148, 63,198, 80, 83,123, 87,132, -159,147, 42, 76, 39, 84,114, 71, 89,237, 30, 36, 16, 17, 97,108,102,198, 97,130,140, 1, 39, 75, 80, 37, 15, 36,149,130,158,172, - 30, 30,174, 40, 40, 84, 84, 64, 73, 33, 14, 44, 75, 76,137,156, 91, 64, 19,159,126, 36,154, 61, 38, 91,243, 30, 16, 3, 2, 18, - 35,190, 53, 53, 89, 0, 0, 0, 0, 1, 0, 88,254, 16, 4, 51, 4, 96, 0, 24, 0, 0, 19, 33, 21, 1, 22, 23, 1, 23, 22, 59, - 1, 21, 35, 34, 39, 38, 47, 1, 38, 43, 1, 61, 1, 1, 33,113, 3,106,253, 78, 92, 49, 1, 8,147, 42, 76,108,147, 84,114, 71, - 89,237, 61, 90, 94, 2,180,253,101, 4, 96,168,252,221, 16, 49,254,248,126, 36,154, 61, 38, 91,243, 63,156, 12, 3, 37, 0, 0, - 0, 1, 0, 80, 0, 0, 4,141, 5,213, 0, 25, 0, 0, 1, 51, 50, 54, 16, 38, 43, 1, 34, 7, 6, 7, 53, 54, 55, 54, 59, 1, - 50, 4, 16, 4, 43, 1, 17, 35, 1,160,241,141,154,153,142,254, 69, 90, 86, 78, 76, 81, 81, 85,254,251, 1, 1,254,255,251, 39, -202, 3, 0,146, 1, 12,145, 22, 21, 43,182, 35, 17, 18,225,254, 72,226,253,166, 0, 1, 0,117, 2,156, 2,197, 6, 4, 0, 19, - 0, 48, 64, 7, 21, 0, 3, 14, 10, 11, 20, 16,212,220, 60, 47,204,204, 75,176, 13, 81, 88,177, 21, 64, 56, 89, 49,178,127, 21, - 1, 93, 0, 64, 6, 6, 17, 12, 2, 11, 20, 16,212, 60,196,212,204, 48, 1, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, - 17, 62, 1, 51, 50, 22, 2,196,116, 78, 78, 94,108,117,117, 41,113, 74,121,125, 4, 23,254,133, 1,119, 89, 89,107, 92,254,158, - 3,103,254,171, 56, 56,134, 0, 0, 1, 0,117, 2,156, 2,197, 6, 4, 0, 27, 0, 59, 64, 8, 29, 0, 3, 16, 22, 10, 11, 28, - 16,212,220, 60,204, 47,204,204, 75,176, 13, 81, 88,177, 29, 64, 56, 89, 49,178,127, 29, 1, 93, 0, 64, 7, 6, 25, 17, 15, 2, - 11, 28, 16,212, 60,212,204,212,204,180, 13,131, 25,131, 6, 93, 48, 1, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 52, 54, - 59, 1, 21, 35, 34, 6, 29, 1, 62, 1, 51, 50, 22, 2,196,116, 78, 78, 94,108,117,103,114,160,146, 66, 48, 41,113, 74,121,125, - 4, 23,254,133, 1,119, 89, 89,107, 92,254,158, 2,132,120,107, 87, 54, 86,114, 56, 56,134, 0, 0, 2,255,233, 1,173, 0,238, - 6, 3, 0, 13, 0, 17, 0, 35, 64, 7, 19, 15, 1, 8, 14, 0, 18, 16,220, 60,204,220, 60,204, 49, 0, 64, 7, 14, 17, 0, 8, - 7, 0, 18, 16,212,212,204, 16,220,204, 48, 19, 51, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 51, 21, 35,122,116, 52, - 51,114, 44, 31, 66, 24, 24,116,116, 5, 15,253,130,120, 54, 54, 88, 27, 27, 86, 3,114,130, 0, 0, 1, 0,117, 2,156, 2, 19, - 5, 31, 0, 17, 0, 31, 64, 5, 17, 11, 7, 8, 18, 16,220,204, 0,204, 49, 0, 64, 7, 0, 17, 7, 3, 14, 9, 8, 47,196,212, -204, 16,212,204, 48, 1, 46, 1, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 22, 23, 2, 18, 19, 46, 28, 98,105,117,117, - 36,117, 84, 12, 29, 18, 4,175, 10, 9,113,107,254,182, 2,115, 97, 57, 55, 2, 3, 0, 0, 0, 0, 1, 0, 71, 2,141, 1,228, - 5, 15, 0, 21, 0, 0, 19, 22, 23, 22, 51, 50, 55, 54, 53, 17, 51, 17, 35, 53, 6, 7, 6, 35, 34, 39, 38, 39, 71, 20, 23, 23, - 27, 99, 52, 53,116,116, 37, 58, 59, 84, 12, 14, 15, 17, 2,252, 10, 5, 4, 57, 56,107, 1, 74,253,141, 97, 57, 27, 28, 1, 2, - 2, 0, 0, 0, 0, 1, 0, 71, 1,173, 2,117, 5, 15, 0, 32, 0, 0, 19, 22, 23, 22, 51, 50, 55, 54, 53, 17, 51, 17, 21, 20, - 22, 59, 1, 21, 35, 34, 38, 61, 1, 35, 53, 6, 7, 6, 35, 34, 39, 38, 39, 71, 20, 23, 23, 27, 99, 52, 53,116, 48, 66, 31, 44, -114,102, 1, 37, 58, 60, 83, 12, 14, 15, 17, 2,252, 10, 5, 4, 57, 56,107, 1, 74,253,141, 11, 86, 54, 88,108,120, 11, 97, 57, - 27, 28, 1, 2, 2, 0, 0, 0, 0, 2, 0, 32, 2,156, 2,143, 5, 15, 0, 22, 0, 33, 0, 0, 1, 30, 1, 21, 20, 7, 6, 43, - 1, 17, 51, 17, 51, 50, 55, 54, 63, 1, 51, 7, 6, 7, 6, 1, 51, 50, 55, 54, 53, 52, 39, 38, 43, 1, 1,155, 67, 70, 67, 68, -137,244,116,107, 61, 37, 37, 40,102,123,110, 33, 33, 34,254,215,125, 75, 39, 41, 41, 39, 75,125, 3,233, 15, 78, 59, 91, 45, 45, - 2,115,254,247, 21, 20, 63,161,171, 53, 30, 30,255, 0, 23, 24, 47, 46, 24, 25, 0, 1, 0, 54, 2,156, 3,233, 5, 15, 0, 12, - 0, 0, 19, 51, 27, 1, 51, 27, 1, 51, 3, 35, 11, 1, 35, 54,116,145,144,137,145,144,116,185,136,152,153,136, 5, 15,254, 23, - 1,233,254, 23, 1,233,253,141, 2, 2,253,254, 0, 1, 0, 38, 1,173, 2,213, 5, 15, 0, 17, 0, 0, 1, 6, 7, 6, 43, 1, - 53, 51, 50, 55, 54, 63, 1, 1, 51, 27, 1, 51, 1,159, 49, 47, 46, 78, 93, 68, 48, 26, 27, 32, 21,254,226,123,221,220,123, 2, - 98,112, 34, 35, 87, 20, 20, 75, 47, 2,105,254, 22, 1,234, 0,255,255, 0,197, 3,170, 1,111, 5,213, 18, 2, 0, 10, 0, 0, -255,255, 0,197, 3,170, 2,233, 5,213, 18, 2, 0, 5, 0, 0,255,255, 0,174, 3,233, 1,211, 5,213, 16, 6, 5,141, 0, 0, -255,255, 0,178, 3,254, 1,215, 5,213, 16, 6, 5,142, 0, 0, 0, 1, 0,196, 4,238, 1,233, 6,218, 0, 5, 0, 0, 1, 21, - 19, 35, 3, 53, 1,151, 82,129,164, 6,218,172,254,192, 1, 64,172, 0, 0, 0, 0, 1, 0,117, 3,239, 1,135, 6, 20, 0, 16, - 0, 0, 19, 52, 53, 50, 54, 53, 52, 38, 35, 52, 53, 50, 23, 22, 20, 7, 6,117, 64, 88, 88, 64,115, 80, 79, 79, 80, 3,239, 61, - 62, 88, 64, 63, 88, 61, 62, 80, 79,230, 80, 80, 0, 1, 0,117, 3,239, 1,135, 6, 20, 0, 16, 0, 0, 1, 34, 39, 38, 52, 55, - 54, 51, 20, 21, 34, 6, 21, 20, 22, 51, 20, 1,135,115, 80, 79, 79, 80,115, 64, 88, 88, 64, 3,239, 80, 80,230, 79, 80, 62, 61, - 88, 63, 64, 88, 62, 0, 0, 0, 0, 1, 0,117, 2,156, 2,137, 6, 2, 0, 28, 0, 0, 1, 51, 50, 55, 54, 53, 38, 39, 38, 35, - 34, 7, 6, 7, 53, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 7, 17, 35, 1, 20, 39,121, 55, 36, 1, 35, 63,113, 50, 50, 49, - 49, 48, 51, 51, 53,174, 87, 68, 68, 70,107,128, 4, 91, 64, 42, 55, 75, 36, 64, 12, 12, 24, 96, 20, 9, 10, 88, 70,104, 95, 64, - 67, 17,254,147, 0, 1, 0,117, 2,156, 2,137, 6, 2, 0, 28, 0, 0, 1, 17, 35, 17, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, - 22, 23, 21, 38, 39, 38, 35, 34, 7, 6, 7, 20, 23, 22, 51, 1,234,127,107, 71, 68, 69, 87,173, 53, 51, 51, 48, 49, 50, 49, 50, -113, 62, 36, 1, 37, 54,121, 4, 91,254, 65, 1,109, 17, 67, 64, 95,104, 70, 88, 10, 9, 20, 96, 24, 12, 12, 64, 36, 75, 55, 42, - 64, 0, 0, 0, 0, 1, 1, 11, 4, 50, 2,245, 6,176, 0, 6, 0, 0, 1, 37, 21, 13, 1, 21, 37, 1, 11, 1,234,254,153, 1, -103,254, 22, 5,187,245,139,180,180,139,245, 0, 0, 1, 1, 11, 4, 50, 2,245, 6,176, 0, 6, 0, 0, 1, 5, 53, 45, 1, 53, - 5, 2,245,254, 22, 1,103,254,153, 1,234, 5, 39,245,139,180,180,139,245, 0, 0, 1, 0,193, 4,124, 3, 63, 6,102, 0, 6, - 0, 0, 1, 3, 51, 27, 1, 51, 3, 1,182,245,139,180,180,139,245, 4,124, 1,234,254,153, 1,103,254, 22, 0, 0, 1, 0,193, - 4,124, 3, 63, 6,102, 0, 6, 0, 0, 1, 51, 19, 35, 11, 1, 35, 1,182,148,245,139,180,180,139, 6,102,254, 22, 1,103,254, -153, 0, 0, 0, 0, 1, 0,193, 4,238, 3, 63, 6,102, 0, 6, 0, 55, 64, 12, 4, 5, 2,180, 0,179, 7, 4, 2,117, 6, 7, - 16,220,236, 57, 49, 0, 16,244,236, 50, 57, 48, 0, 75,176, 9, 84, 75,176, 14, 84, 91, 88,189, 0, 7,255,192, 0, 1, 0, 7, - 0, 7, 0, 64, 56, 17, 55, 56, 89, 1, 51, 19, 35, 39, 7, 35, 1,182,148,245,139,180,180,139, 6,102,254,136,245,245, 0, 0, - 0, 1, 0,193, 4,238, 3, 63, 6,102, 0, 6, 0, 55, 64, 12, 3, 0,180, 4, 1,179, 7, 3, 5,117, 1, 7, 16,220,236, 57, - 49, 0, 16,244, 60,236, 57, 48, 0, 75,176, 9, 84, 75,176, 14, 84, 91, 88,189, 0, 7,255,192, 0, 1, 0, 7, 0, 7, 0, 64, - 56, 17, 55, 56, 89, 1, 3, 51, 23, 55, 51, 3, 1,182,245,139,180,180,139,245, 4,238, 1,120,245,245,254,136, 0, 1, 0,214, - 3,231, 1, 94, 6, 18, 0, 3, 0, 19, 64, 4, 5, 0, 3, 4, 16,220,220,204, 49, 0, 64, 2, 3, 2, 47,196, 48, 1, 17, 35, - 17, 1, 94,136, 6, 18,253,213, 2, 43, 0, 0,255,255, 0,213, 5, 98, 3, 43, 5,246, 16, 6, 0,113, 0, 0, 0, 1, 1,115, - 4,238, 3, 82, 6,102, 0, 3, 0, 0, 1, 51, 1, 35, 2,139,199,254,186,153, 6,102,254,136, 0, 1, 0,170, 4,240, 2,137, - 6,102, 0, 3, 0, 0, 9, 1, 35, 1, 1,111, 1, 26,153,254,186, 6,102,254,138, 1,118, 0, 0, 1, 0,214,254,209, 1, 94, - 0,252, 0, 3, 0, 19, 64, 4, 5, 0, 3, 4, 16,220,220,204, 49, 0, 64, 2, 3, 2, 47,196, 48, 37, 17, 35, 17, 1, 94,136, -252,253,213, 2, 43, 0, 0, 0,255,255, 0,213,254,192, 3, 43,255, 84, 16, 7, 0,113, 0, 0,249, 94, 0, 0, 0, 1, 0,170, -254, 28, 2,137,255,146, 0, 3, 0, 0, 5, 1, 35, 1, 1,111, 1, 26,153,254,186,110,254,138, 1,118, 0, 0, 0, 1, 1,115, -254, 28, 3, 82,255,148, 0, 3, 0, 0, 5, 51, 1, 35, 2,139,199,254,186,153,108,254,136, 0, 0, 2, 0,111, 0, 0, 1,212, - 4, 35, 0, 2, 0, 5, 0, 0, 1, 3, 33, 3, 19, 33, 1, 33,178, 1,101,179,179,254,155, 2,217, 1, 74,253, 39,254,182, 0, - 0, 1, 0,111, 2,216, 1,212, 4, 35, 0, 2, 0, 0, 1, 3, 33, 1, 33,178, 1,101, 2,217, 1, 74, 0, 0,255,255, 0,117, - 1,254, 1,135, 4, 35, 16, 7, 2, 23, 0, 0,254, 15, 0, 0,255,255, 0,117, 1,254, 1,135, 4, 35, 16, 7, 2, 24, 0, 0, -254, 15, 0, 0, 0, 1, 1, 31, 1,212, 2,225, 3,150, 0, 7, 0, 0, 1, 21, 33, 53, 51, 17, 51, 17, 2,225,254, 62,150,150, - 2,106,150,150, 1, 44,254,212, 0, 1, 1, 31, 1,212, 2,225, 3,150, 0, 7, 0, 0, 1, 53, 33, 21, 35, 17, 35, 17, 1, 31, - 1,194,150,150, 3, 0,150,150,254,212, 1, 44, 0, 1, 0,193, 1,137, 3, 23, 3,223, 0, 11, 0, 0, 1, 53, 51, 21, 51, 21, - 35, 21, 35, 53, 35, 53, 1,162,148,225,225,148,225, 2,254,225,225,148,225,225,148, 0, 0, 0, 0, 1, 1, 31, 2,106, 2,225, - 3, 0, 0, 3, 0, 0, 1, 33, 53, 33, 2,225,254, 62, 1,194, 2,106,150, 0, 0, 1, 0,199, 5, 41, 3, 57, 6, 72, 0, 13, - 0, 87, 64, 14, 11,240, 4, 7, 0,179, 14, 7, 86, 8, 1, 86, 0, 14, 16,220,236,212,236, 49, 0, 16,244, 60,212,236, 48, 0, - 75,176, 9, 84, 88,189, 0, 14,255,192, 0, 1, 0, 14, 0, 14, 0, 64, 56, 17, 55, 56, 89, 0, 75,176, 15, 84, 75,176, 16, 84, - 91, 75,176, 17, 84, 91, 88,189, 0, 14, 0, 64, 0, 1, 0, 14, 0, 14,255,192, 56, 17, 55, 56, 89, 19, 51, 30, 1, 51, 50, 54, - 55, 51, 14, 1, 35, 34, 38,199,118, 11, 97, 87, 86, 96, 13,118, 10,158,145,145,158, 6, 72, 75, 75, 74, 76,143,144,144, 0, 0, - 0, 1, 1,154, 5, 68, 2,102, 6, 16, 0, 3, 0, 21, 64, 9, 2,131, 0,205, 4, 1, 25, 0, 4, 16,212,236, 49, 0, 16,252, -236, 48, 0, 1, 51, 21, 35, 1,154,204,204, 6, 16,204, 0, 0, 0, 2, 0,238, 4,225, 3, 18, 7, 6, 0, 11, 0, 23, 0, 32, - 64, 17, 3,193, 21,242, 9,193, 15,241, 24, 0, 86, 12,120, 6, 86, 18, 24, 16,212,236,244,236, 49, 0, 16,244,236,244,236, 48, - 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 55, 20, 6, 35, 34, 38, 53, 52, 54, 51, 50, 22, 2,152, 88, 64, 65, 87, 87, 65, - 64, 88,122,159,115,115,159,159,115,115,159, 5,244, 63, 88, 87, 64, 65, 87, 88, 64,115,160,160,115,115,159,159, 0, 1, 1, 76, -254,117, 2,193, 0, 0, 0, 19, 0, 32, 64, 15, 11, 14, 10, 7,243, 14,244, 0, 1, 0, 10, 4, 39, 17, 20, 16,212,236,196,212, -204, 49, 0, 47,252,252,196, 18, 57, 48, 33, 51, 14, 1, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 53, 52, 54, 1,184, -119, 45, 43, 55, 54, 32, 62, 31, 38, 68, 30,122,115, 53, 61, 88, 31, 46, 46, 15, 15,133, 10, 10, 87, 93, 48,105, 0, 1, 0,182, - 5, 29, 3, 74, 6, 55, 0, 27, 0, 99, 64, 36, 0, 18, 7, 14, 11, 4, 1, 18, 7, 15, 11, 4, 18,195, 25, 7, 4,195, 21, 11, -237, 28, 15, 1, 14, 0, 7, 21, 86, 22,119, 7, 86, 8,118, 28, 16,244,236,252,236, 17, 57, 57, 57, 57, 49, 0, 16,252, 60,252, -212, 60,236, 17, 18, 57, 17, 18, 57, 17, 18, 57, 17, 18, 57, 48, 0, 75,176, 9, 84, 75,176, 12, 84, 91, 88,189, 0, 28,255,192, - 0, 1, 0, 28, 0, 28, 0, 64, 56, 17, 55, 56, 89, 1, 39, 46, 1, 35, 34, 6, 7, 35, 62, 1, 51, 50, 22, 31, 1, 30, 1, 51, - 50, 54, 55, 51, 14, 1, 35, 34, 38, 1,252, 57, 22, 33, 13, 38, 36, 2,125, 2,102, 91, 38, 64, 37, 57, 22, 33, 13, 38, 36, 2, -125, 2,102, 91, 38, 64, 5, 90, 55, 20, 19, 73, 82,135,147, 28, 33, 55, 20, 19, 73, 82,135,147, 28, 0, 0, 0, 0, 2, 0,240, - 4,238, 3,174, 6,102, 0, 3, 0, 7, 0, 66, 64, 17, 6, 2,180, 4, 0,179, 8, 4, 7, 3, 0, 5, 1, 3, 5, 7, 8, 16, -212,220,212,204, 17, 57, 17, 18, 57, 49, 0, 16,244, 60,236, 50, 48, 0, 75,176, 9, 84, 75,176, 14, 84, 91, 88,189, 0, 8,255, -192, 0, 1, 0, 8, 0, 8, 0, 64, 56, 17, 55, 56, 89, 1, 51, 3, 35, 3, 51, 3, 35, 2,252,178,248,135,129,170,223,137, 6, -102,254,136, 1,120,254,136, 0, 0, 1,255,255, 1,222, 2,173, 4, 8, 0, 15, 0, 0, 3, 37, 51, 21, 20, 23, 22, 59, 1, 21, - 35, 34, 39, 38, 53, 5, 1, 1, 22,184, 38, 38,105, 43, 64,175, 87, 82,254,235, 3,100,164,148,153, 49, 48,156, 96, 90,200,162, - 0, 1, 0,239, 4,238, 3, 16, 6,102, 0, 11, 0, 0, 1, 39, 7, 35, 55, 39, 51, 23, 55, 51, 7, 23, 2, 92, 92, 93,180,181, -181,180, 93, 92,180,182,182, 4,238, 97, 97,187,189, 96, 96,189,187, 0, 0, 0, 0, 2, 0,117, 1,170, 2,253, 5, 15, 0, 13, - 0, 21, 0, 0, 1, 22, 21, 20, 7, 4, 39, 38, 55, 3, 51, 23, 55, 51, 1, 6, 23, 22, 51, 50, 55, 52, 2, 5,178,242,254,246, - 1, 1,182,250,137,191,183,137,254,188,140, 3, 2,134,128, 1, 3,220,249,180,129, 3, 3,135,192,241, 1, 47,224,224,254,138, -174,152, 77, 77,140, 0, 0, 0, 0, 1, 0,121, 2,156, 0,238, 6, 4, 0, 3, 0, 13,177, 2, 3, 47,204, 49, 0,177, 0, 3, - 47,196, 48, 19, 51, 17, 35,122,116,116, 6, 3,252,153, 0, 0, 0, 1, 0,117, 2,156, 2,144, 5, 47, 0, 50, 0, 0, 1, 21, - 38, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 31, 1, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 39, 53, 22, 23, 22, 51, 50, 54, - 53, 52, 39, 38, 47, 1, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 2,106, 49, 53, 52, 57, 87, 43, 43, 31, 31, 93, 40,125, 50, - 52, 78, 77,136, 57, 62, 61, 68, 64, 63, 62, 61, 82, 88, 32, 28,111, 40,108, 48, 48, 71, 70,130, 64, 57, 57, 5, 13, 97, 22, 11, - 11, 23, 24, 47, 36, 20, 21, 18, 8, 24, 42, 43, 77, 87, 51, 51, 10, 10, 19,107, 30, 15, 15, 50, 45, 42, 23, 20, 23, 8, 21, 41, - 42, 73, 88, 48, 49, 9, 8, 0, 0, 1, 0,117, 2,156, 3, 33, 5, 15, 0, 11, 0, 0, 1, 3, 1, 35, 39, 7, 35, 1, 3, 51, - 23, 55, 3, 20,255, 1, 12,137,205,205,137, 1, 18,251,137,187,187, 5, 15,254,207,254,190,246,246, 1, 72, 1, 43,223,223, 0, - 0, 1, 0,117, 2,156, 2,137, 6, 2, 0, 28, 0, 0, 1, 17, 35, 17, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 23, 21, 38, - 39, 38, 35, 34, 7, 6, 7, 20, 23, 22, 51, 1,234,127,107, 71, 68, 69, 87,173, 53, 51, 51, 48, 49, 50, 49, 50,113, 62, 36, 1, - 37, 54,121, 4, 91,254, 65, 1,109, 17, 67, 64, 95,104, 70, 88, 10, 9, 20, 96, 24, 12, 12, 64, 36, 75, 55, 42, 64, 0, 0, 0, - 0, 1, 0,214, 0, 0, 3, 29, 5, 88, 0, 5, 0, 21, 64, 9, 1,169, 3, 0, 0, 8, 4, 2, 6, 16,196,212,236, 49, 0, 47, -212,236, 48, 33, 17, 33, 53, 33, 17, 2,149,254, 65, 2, 71, 4,208,136,250,168, 0, 1, 0,214, 0, 0, 3, 29, 5, 88, 0, 7, - 0, 39, 64, 24, 63, 4, 63, 1, 47, 4, 47, 1, 31, 4, 31, 1, 6, 1,169, 4, 5, 0, 0, 4, 8, 6, 2, 8, 16,196,212,236, - 50, 49, 0, 47,212,220,236, 93, 48, 33, 17, 33, 53, 33, 17, 51, 17, 2,149,254, 65, 1,191,136, 3,156,136, 1, 52,250,168, 0, - 0, 1, 0,214, 0, 0, 3, 29, 5, 88, 0, 7, 0, 25, 64, 11, 1,169, 4, 5, 0, 0, 4, 8, 6, 2, 8, 16,196,212,236, 50, - 49, 0, 47,212,220,236, 48, 33, 17, 33, 53, 33, 17, 51, 17, 2,149,254, 65, 1,191,136, 2,104,136, 2,104,250,168, 0, 0, 0, - 0, 1, 0,214, 0, 0, 3, 29, 5, 88, 0, 7, 0, 39, 64, 24,112, 4,112, 1, 48, 4, 48, 1, 16, 4, 16, 1, 6, 4,169, 1, - 5, 0, 0, 4, 8, 6, 2, 8, 16,196,212,236, 50, 49, 0, 47,212,220,236, 93, 48, 33, 17, 33, 53, 33, 17, 51, 17, 2,149,254, - 65, 1,191,136, 1, 52,136, 3,156,250,168, 0, 0, 1, 0,214, 0, 0, 3, 29, 5, 88, 0, 5, 0, 21, 64, 9, 1, 0,169, 4, - 0, 8, 2, 4, 6, 16,196,212,236, 49, 0, 47,236,196, 48, 37, 17, 51, 17, 33, 53, 2,149,136,253,185,136, 4,208,250,168,136, -255,255, 0,193,253,236, 3, 63,255,214, 16, 3, 2, 29, 0, 0,249,112, 0, 0,255,255, 0,213, 4,226, 3, 43, 6,118, 18, 35, - 0,113, 0, 0, 0,128, 18, 2, 0,113, 0,128, 0, 2, 1, 21, 4,238, 2,235, 6,102, 0, 3, 0, 7, 0, 0, 1, 51, 17, 35, - 1, 51, 17, 35, 1, 21,150,150, 1, 64,150,150, 6,102,254,136, 1,120,254,136,255,255, 0,238,253, 46, 3, 18,255, 83, 16, 7, - 2, 51, 0, 0,248, 77, 0, 0, 0, 1, 0,182,254,118, 3, 74,255,144, 0, 27, 0, 0, 1, 39, 46, 1, 35, 34, 6, 7, 35, 62, - 1, 51, 50, 22, 31, 1, 30, 1, 51, 50, 54, 55, 51, 14, 1, 35, 34, 38, 1,252, 57, 22, 33, 13, 38, 36, 2,125, 2,102, 91, 38, - 64, 37, 57, 22, 33, 13, 38, 36, 2,125, 2,102, 91, 38, 64,254,179, 55, 20, 19, 73, 82,135,147, 28, 33, 55, 20, 19, 73, 82,135, -147, 28, 0, 0,255,255,252,168, 4,240,254,135, 6,102, 16, 7, 0, 67,251,254, 0, 0, 0, 0,255,255,253,113, 4,238,255, 80, - 6,102, 16, 7, 0,118,251,254, 0, 0, 0, 0,255,255,252,191, 4,238,255, 61, 6,102, 16, 7, 2, 31,251,254, 0, 0, 0, 0, -255,255,252,180, 5, 29,255, 72, 6, 55, 16, 7, 2, 53,251,254, 0, 0, 0, 0,255,255,252,217, 5, 98,255, 47, 5,246, 16, 7, - 0,113,252, 4, 0, 0, 0, 0,255,255,251,236, 5,124, 0, 20, 6, 11, 16, 7, 5,171,252, 0, 0, 0, 0, 0,255,255,252,191, - 5, 41,255, 49, 6, 72, 16, 7, 2, 49,251,248, 0, 0, 0, 0,255,255,253,164, 5, 68,254,112, 6, 16, 16, 7, 2, 50,252, 10, - 0, 0, 0, 0,255,255,252,213, 5, 70,255, 39, 6, 16, 16, 7, 0,106,251,254, 0, 0, 0, 0, 0, 1,253, 55, 4,242,254,247, - 6,123, 0, 25, 0, 34, 64, 9, 20, 86, 64, 5,128, 12, 86, 25, 13, 47,204,236, 26,220, 26,236, 49, 0, 64, 6, 23,193, 64, 2, -192, 13, 47, 26,220, 26,236, 48, 1, 54, 51, 50, 22, 21, 20, 15, 1, 6, 7, 6, 21, 35, 53, 52, 54, 63, 1, 54, 53, 52, 38, 35, - 34, 7,253, 55,112,105,104,127, 88, 44, 35, 4, 7,119, 30, 51, 45, 46, 62, 71, 90,100, 6, 72, 51, 85, 67, 61, 65, 32, 26, 9, - 16, 32, 12, 40, 54, 37, 34, 34, 40, 21, 36, 52,255,255,252,236, 4,225,255, 16, 7, 6, 16, 7, 2, 51,251,254, 0, 0, 0, 0, -255,255,252,244, 4,238,255,178, 6,102, 16, 7, 2, 54,252, 4, 0, 0, 0, 0,255,255,252,197, 4,238,255, 67, 6,102, 16, 7, - 2, 32,252, 4, 0, 0, 0, 0, 0, 1,253,188, 4,236,254, 68, 6,168, 0, 3, 0, 0, 1, 17, 35, 17,254, 68,136, 6,168,254, - 68, 1,188, 0,255,255,252,240, 4,236,255, 16, 6,168, 16, 39, 2, 85,255, 52, 0, 0, 16, 7, 2, 85, 0,204, 0, 0, 0, 0, - 0, 2,252, 93, 4,238,255, 27, 6,102, 0, 3, 0, 7, 0, 0, 1, 19, 35, 3, 33, 19, 35, 3,253, 15,205,135,248, 2, 0,190, -137,223, 6,102,254,136, 1,120,254,136, 1,120,255,255,252,191, 5, 41,255, 49, 6,214, 16, 39, 2, 50,252, 4, 0,198, 16, 7, - 2, 49,251,248, 0, 0, 0, 0,255,255,252,191, 5, 41,255, 49, 6, 72, 16, 15, 2, 49,255,248, 11,113,192, 0, 0, 1,254, 31, - 3,233,255, 68, 5, 40, 0, 3, 0, 10, 64, 3, 2, 1, 4, 0, 16,212,204, 48, 1, 35, 19, 51,254,242,211,164,129, 3,233, 1, - 63, 0, 0, 0, 0, 1,253,144, 4,194,254,130, 6,193, 0, 8, 0, 0, 1, 16, 35, 53, 22, 53, 35, 53, 51,254,130,242,112,112, -242, 5,195,254,255,123, 3,137,254, 0, 0, 0, 0, 1,253,144, 4,194,254,130, 6,193, 0, 8, 0, 0, 1, 53, 51, 21, 35, 20, - 55, 21, 34,253,144,241,111,112,242, 5,195,254,254,137, 3,123, 0, 1,255,121, 4,154, 0,135, 6, 18, 0, 3, 0, 0, 3, 51, - 3, 35, 64,199,117,153, 6, 18,254,136, 0, 0,255,255,252,168,253,223,254,135,255, 85, 16, 7, 0, 67,251,254,248,239, 0, 0, -255,255,253,113,253,221,255, 80,255, 85, 16, 7, 0,118,251,254,248,239, 0, 0, 0, 1,253, 12,253, 38,254, 68,255, 16, 0, 7, - 0, 0, 1, 53, 51, 17, 35, 53, 35, 53,253,188,136,136,176,254, 95,177,254, 22,177,136, 0, 0, 0, 1,253,188,253, 38,254,244, -255, 16, 0, 7, 0, 0, 1, 51, 21, 35, 21, 35, 17, 51,254, 68,176,176,136,136,254, 95,136,177, 1,234, 0, 0, 0, 1,254, 85, - 5,134, 0, 63, 7,112, 0, 5, 0, 0, 3, 33, 53, 33, 17, 35, 73,254,158, 1,234,136, 6,232,136,254, 22, 0, 0, 1,254,240, - 3,107, 0,123, 4,224, 0, 19, 0, 49, 64, 6, 7, 86, 14, 4, 17, 0, 47, 75,176, 12, 84, 75,176, 13, 84, 91, 75,176, 14, 84, - 91, 88,185, 0, 0, 0, 64, 56, 89,220, 50,220,236, 49, 0, 64, 5, 10, 4,193, 0, 17, 47,196,252,204, 48, 1, 53, 30, 1, 51, - 50, 54, 53, 52, 38, 39, 51, 30, 1, 21, 20, 6, 35, 34, 38,254,240, 61, 88, 31, 46, 46, 15, 15,133, 10, 10, 87, 93, 48,105, 3, -215,119, 45, 43, 55, 54, 32, 62, 31, 38, 68, 30,122,115, 53, 0, 0, 1,253,129,252,235,254,147,255, 16, 0, 16, 0, 0, 5, 20, - 21, 34, 6, 21, 20, 22, 51, 20, 21, 34, 39, 38, 52, 55, 54,254,147, 64, 88, 88, 64,115, 80, 79, 79, 80,240, 62, 61, 88, 64, 63, - 88, 62, 61, 79, 80,230, 80, 80, 0, 1,253, 11,253,215,254,245,255, 16, 0, 7, 0, 0, 1, 51, 21, 33, 53, 51, 53, 51,254, 68, -177,254, 22,177,136,254, 95,136,136,177, 0, 0, 0, 1,253, 11,253,215,254,245,255, 16, 0, 7, 0, 0, 1, 35, 53, 33, 21, 35, - 21, 35,253,188,177, 1,234,177,136,254,136,136,136,177, 0, 0, 0, 1,253, 11,253, 38,254,245,255, 16, 0, 11, 0, 0, 1, 35, - 53, 51, 53, 51, 21, 51, 21, 35, 21, 35,253,188,177,177,136,177,177,136,253,215,136,177,177,136,177, 0, 0, 0, 0, 1,253, 11, -254,136,254,245,255, 16, 0, 3, 0, 0, 1, 53, 33, 21,253, 11, 1,234,254,136,136,136, 0, 0, 0, 1,253,122,254, 86,255,208, - 0,128, 0, 13, 0, 0, 39, 21, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 48, 82, 81,181,254,233,105, 38, 38,128,148,214, - 96, 96,156, 48, 49,153,148, 0, 0, 1,253,119,254, 86,255,205, 0,128, 0, 13, 0, 0, 37, 51, 21, 20, 23, 22, 59, 1, 21, 35, - 34, 39, 38, 53,253,119,184, 38, 38,105,233,254,181, 81, 82,128,148,153, 49, 48,156, 96, 96,214,255,255,253,154,254,135,254,102, -255, 83, 16, 7, 2, 50,252, 0,249, 67, 0, 0,255,255,252,213,254,137,255, 39,255, 83, 16, 7, 0,106,251,254,249, 67, 0, 0, -255,255,252,236,253, 46,255, 16,255, 83, 16, 7, 2, 51,251,254,248, 77, 0, 0, 0, 1,253,106,254, 20,254,143,255, 84, 0, 3, - 0, 10, 64, 3, 3, 0, 4, 0, 16,212,204, 48, 5, 51, 3, 35,253,188,211,164,129,172,254,192,255,255,253, 35,254,117,254,193, - 0, 0, 16, 7, 0,122,252, 0, 0, 0, 0, 0,255,255,253, 76,254,117,254,193, 0, 0, 16, 7, 2, 52,252, 0, 0, 0, 0, 0, - 0, 1,253,188,253,152,254, 68,255, 84, 0, 3, 0, 0, 5, 17, 35, 17,254, 68,136,172,254, 68, 1,188, 0, 0, 0, 1,252,240, -254, 10,255, 23,255, 84, 0, 7, 0, 0, 7, 17, 35, 53, 33, 21, 35, 17,233,137,254,235,137,172,254,182,194,194, 1, 74, 0, 0, - 0, 1,252, 99,254, 57,255,152,255, 88, 0, 20, 0, 0, 1, 6, 35, 34, 3, 52, 53, 51, 22, 51, 50, 55, 51, 22, 23, 50, 55, 51, - 2, 7, 34,253,254, 60,116,218, 17,117, 14,104,101, 15,118, 12,105,102, 15,118, 15,220,116,254,139, 82, 1, 26, 2, 3,150,150, -149, 1,150,254,226, 1, 0, 0,255,255,252,197,253,218,255, 67,255, 82, 16, 7, 2, 32,252, 4,248,236, 0, 0,255,255,252,191, -253,221,255, 61,255, 85, 16, 7, 2, 31,251,254,248,239, 0, 0,255,255,252,191,254, 57,255, 49,255, 88, 16, 7, 2, 49,251,248, -249, 16, 0, 0,255,255,252,191,254, 54,255, 49,255, 85, 16, 15, 2, 49,255,248, 4,126,192, 0,255,255,252,180,254, 57,255, 72, -255, 83, 16, 7, 2, 53,251,254,249, 28, 0, 0,255,255,252,217,254,192,255, 47,255, 84, 16, 7, 2, 38,252, 4, 0, 0, 0, 0, -255,255,251,236,254, 29, 0, 20,254,172, 16, 7, 0, 66,252, 0, 0, 0, 0, 0,255,255,251,236,254, 29, 0, 20,255,238, 16, 7, - 5,140,252, 0, 0, 0, 0, 0, 0, 1,251,140, 1,236,255,173, 3, 12, 0, 27, 0, 0, 3, 21, 14, 1, 35, 34, 39, 38, 39, 46, - 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 22, 23, 22, 51, 50, 54, 83, 75,143, 79, 90,113, 22, 11, 77,103, 51, 79,141, 73, - 78,146, 83, 53,100, 74, 12, 21,116, 93, 70,137, 3, 12,174, 59, 55, 51, 10, 4, 33, 24, 59, 63,174, 60, 54, 22, 31, 5, 10, 55, - 61, 0, 0, 0, 0, 1,253,119, 1,196,255,136, 2,104, 0, 3, 0, 0, 3, 21, 33, 53,120,253,240, 2,104,164,164, 0, 0, 0, - 0, 1,250,237, 1,196,255,255, 2,104, 0, 3, 0, 0, 1, 53, 33, 21,250,237, 5, 18, 1,196,164,164, 0, 0, 0, 1,251,104, -255,162,255,188, 4,188, 0, 3, 0, 0, 5, 39, 1, 23,251,200, 96, 3,245, 95, 94, 78, 4,204, 79, 0, 0, 0, 0, 1,250, 18, -255,186,255,145, 6, 23, 0, 3, 0, 0, 5, 39, 1, 23,250,121,103, 5, 25,102, 70, 88, 6, 5, 89, 0, 0, 0,255,255,253,249, -253, 59,255, 11,255, 96, 16, 15, 2,100,252,140,252, 75,192, 0,255,255,252,241,254, 91,255, 24,255,165, 16, 15, 2,114,252, 8, -253,175,192, 0, 0, 2,252,240,253, 46,255, 23,255, 84, 0, 3, 0, 7, 0, 0, 7, 17, 33, 17, 1, 17, 33, 17,233,253,217, 1, -158,254,235,172,253,218, 2, 38,254, 98, 1, 22,254,234, 0, 0, 0, 1,252, 99,254, 57,255,152,255, 88, 0, 20, 0, 0, 5, 54, - 51, 50, 19, 20, 21, 35, 38, 35, 34, 7, 35, 38, 39, 34, 7, 35, 18, 55, 50,253,254, 59,116,218, 17,118, 13,103,102, 16,118, 11, -105,102, 15,118, 15,220,116,250, 82,254,230, 2, 3,150,150,149, 1,150, 1, 30, 1, 0, 0, 0, 0, 1,253, 42, 4,242,254,230, - 6,174, 0, 11, 0, 0, 1, 7, 39, 55, 39, 55, 23, 55, 23, 7, 23, 7,254, 8,125, 96,125,125, 96,125,125, 96,125,125, 96, 5, -112,125, 96,125,125, 96,125,125, 96,125,125, 96, 0, 1,254, 6, 4,194,255, 32, 6,210, 0, 29, 0, 0, 1, 46, 1, 53, 52, 54, - 55, 21, 14, 1, 21, 20, 23, 22, 31, 1, 30, 1, 21, 20, 6, 7, 53, 62, 1, 53, 52, 39, 38, 39,254, 67, 33, 28,147,135, 82, 73, - 9, 12, 18, 55, 33, 28,147,135, 82, 73, 9, 12, 18, 5,199, 28, 48, 28, 80, 81, 2,110, 2, 27, 28, 10, 12, 15, 14, 43, 28, 48, - 28, 80, 81, 2,110, 2, 27, 28, 10, 12, 15, 14,255,255,251,236, 4, 58, 0, 20, 6, 11, 16, 39, 5,171,252, 0, 0, 0, 16, 7, - 5,171,252, 0,254,190, 0, 0,255,255,252,168, 4,240,254,135, 6,102, 16, 7, 0, 67,251,254, 0, 0, 0, 0,255,255,253,113, - 4,238,255, 80, 6,102, 16, 7, 0,118,251,254, 0, 0, 0, 0,255,255,252,180, 5, 29,255, 72, 6, 55, 16, 7, 2, 53,251,254, - 0, 0, 0, 0,255,255,253,132, 4,194,254,118, 6, 97, 16, 7, 5,114,251,254, 0, 0, 0, 0,255,255,252,231, 5, 70,255, 98, - 7,210, 16, 7, 2,166,252, 16, 0, 0, 0, 0,255,255,253,198,254, 86,254,162,255,164, 16, 7, 2,163,252, 16, 0, 0, 0, 0, - 0, 1,252,213, 5, 29,255, 43, 6, 73, 0, 7, 0, 0, 3, 35, 53, 33, 21, 35, 17, 33,213,150,254,214,150, 2, 86, 5, 29,150, -150, 1, 44, 0, 0, 2,253, 31,254, 50,254,225,255,184, 0, 3, 0, 7, 0, 0, 1, 33, 53, 33, 53, 33, 53, 33,254,225,254, 62, - 1,194,254, 62, 1,194,254, 50,120,150,120, 0, 0, 2,253, 21,254, 20,254,235,255,140, 0, 3, 0, 7, 0, 0, 5, 51, 17, 35, - 1, 51, 17, 35,253, 21,150,150, 1, 64,150,150,116,254,136, 1,120,254,136, 0, 0, 1,253, 31,254, 20,254,225,255,214, 0, 5, - 0, 0, 5, 33, 17, 35, 17, 33,253, 31, 1,194,150,254,212, 42,254, 62, 1, 44, 0, 1,252,182, 4,238,255, 74, 6,102, 0, 39, - 0, 0, 1, 55, 51, 7, 22, 23, 22, 51, 50, 55, 54, 55, 51, 6, 7, 6, 35, 34, 39, 38, 39, 7, 35, 55, 38, 39, 38, 35, 34, 7, - 6, 7, 35, 54, 55, 54, 51, 50, 23, 22,253,255, 66,109,107, 11, 22, 16, 13, 38, 18, 18, 2,125, 2, 51, 51, 91, 38, 32, 30, 33, - 66,110,107, 13, 20, 16, 13, 38, 18, 18, 2,125, 2, 51, 51, 91, 38, 32, 30, 5,255,103,169, 9, 14, 10, 36, 37, 82,135, 74, 73, - 14, 13, 29,103,168, 11, 13, 10, 36, 37, 82,135, 74, 73, 14, 13, 0, 2,253, 72, 4,137,254,176, 6,204, 0, 3, 0, 7, 0, 0, - 1, 51, 21, 35, 19, 51, 21, 35,253, 72,150,150,210,150,150, 5, 31,150, 2, 67,150, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0, - 0, 0, 16, 34, 6,134, 0,183, 16, 3, 6,134, 0, 0, 0,167, 0, 1,252, 99,254, 40,255,157,255,194, 0, 13, 0, 0, 1, 55, - 33, 23, 35, 39, 55, 51, 7, 33, 39, 51, 23, 7,254,112,132,254, 25,132,127,175,175,127,132, 1,231,132,126,175,175,254, 40,155, -155,205,205,155,155,205,205, 0, 0, 1,253, 51,254, 20,254,205,255,164, 0, 8, 0, 0, 1, 35, 53, 7, 53, 55, 23, 21, 39,254, - 50,100,155,205,205,155,254, 20,231,132,126,175,175,126,132, 0, 0, 1,253,120, 4,225,254,136, 7, 6, 0, 16, 0, 0, 1, 6, - 7, 6, 21, 20, 23, 22, 23, 21, 38, 39, 38, 52, 55, 54, 55,254,136, 64, 42, 44, 44, 42, 64,114, 78, 80, 80, 78,114, 6,139, 1, - 42, 44, 64, 65, 43, 43, 1,123, 1, 79, 80,230, 80, 78, 1, 0,255,255,252,191, 5, 41,255, 49, 6,216, 16, 39, 2, 89, 0, 0, - 0,144, 16, 6, 2, 79, 0,229,255,255,253, 42,253, 84,254,230,255, 16, 16, 7, 2,133, 0, 0,248, 98, 0, 0, 0, 1,253,120, - 4,225,254,136, 7, 6, 0, 16, 0, 0, 1, 53, 22, 23, 22, 20, 7, 6, 7, 53, 54, 55, 54, 53, 52, 39, 38,253,120,114, 78, 80, - 80, 78,114, 64, 42, 44, 44, 42, 6,139,123, 1, 78, 80,230, 80, 79, 1,123, 1, 43, 43, 65, 64, 44, 42, 0, 0,255,255,255, 46, - 5, 68,255,250, 6, 16, 16, 7, 2, 50,253,148, 0, 0, 0, 0,255,255,252,112,254, 27, 3,144,255,133, 16, 7, 5,172,252,201, - 0, 0, 0, 0,255,255,252,112, 6,107, 3,144, 7,213, 16, 7, 5,172,252,201, 8, 80, 0, 0, 0, 1,253, 42, 5, 29, 2,214, - 6, 55, 0, 35, 0, 0, 3, 39, 38, 39, 38, 35, 34, 7, 6, 7, 35, 54, 55, 54, 51, 50, 23, 22, 31, 1, 22, 23, 22, 51, 50, 55, - 54, 55, 51, 6, 7, 6, 35, 34, 39, 38, 4,144, 28, 79, 44, 36,101, 53, 70, 5,162, 4,113,112,200, 91, 63, 57, 90,144, 28, 79, - 44, 36, 97, 57, 71, 4,162, 4,113,112,200, 91, 63, 57, 5, 90, 55, 11, 18, 10, 36, 48, 71,135, 74, 73, 14, 13, 34, 55, 11, 18, - 10, 36, 44, 75,135, 74, 73, 14, 13, 0, 0, 0,255,255,252,112, 6, 4, 3,144, 7,110, 16, 7, 5,173,252,201, 0, 0, 0, 0, - 0, 1,252,119,254, 40, 3,147,255,194, 0, 8, 0, 0, 1, 53, 33, 39, 51, 23, 7, 35, 55,252,119, 6,115,132,126,175,175,126, -132,254,195,100,155,205,205,155, 0, 1, 0,160, 4,116, 1,159, 6,102, 0, 3, 0, 17, 64, 6, 1, 0, 4, 2, 0, 4, 16,212, -204, 49, 0, 16,212,204, 48, 27, 1, 51, 3,160, 65,190,110, 4,116, 1,242,254, 14, 0, 0, 0, 0, 1, 0,160,254, 86, 1,159, - 0, 72, 0, 3, 0, 17, 64, 6, 2, 3, 4, 0, 2, 4, 16,212,204, 49, 0, 16,212,204, 48, 37, 3, 35, 19, 1,159, 65,190,110, - 72,254, 14, 1,242, 0, 0, 0, 0, 1, 1,182,254, 86, 2,146,255,164, 0, 13, 0, 0, 1, 35, 34, 39, 38, 61, 1, 51, 21, 20, - 23, 22, 59, 1, 2,146,148, 26, 26, 20,149, 10, 12, 14, 35,254, 86, 33, 26, 46,229,229, 14, 12, 13, 0, 0, 0,255,255, 0,158, -255, 18, 1,195, 4, 35, 18, 6, 0, 30, 0, 0, 0, 1, 1,115, 4,238, 3, 82, 6,102, 0, 3, 0, 49, 64, 9, 2,180, 0,179, - 4, 3, 68, 1, 4, 16,212,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, 1, 51, 1, 35, 2,139,199,254,186,153, 6,102,254,136, 0, 0, 0,255,255, 0,215, - 5, 70, 3, 82, 7,210, 18, 38, 0,106, 0, 0, 17, 7, 2,165, 0, 0, 1,108, 0, 20, 0, 64, 7,175, 8,159, 8, 95, 8, 3, - 93, 64, 5, 95, 8, 15, 8, 2,113, 48, 0, 0,255,255, 0, 16, 0, 0, 5,104, 6,102, 16, 39, 2,165,254,218, 0, 0, 16, 6, - 2,176, 0, 0,255,255, 0,219, 2, 72, 1,174, 3, 70, 18, 6, 0,121, 0, 0,255,255,255,231, 0, 0, 5,117, 6,102, 16, 39, - 2,165,254,116, 0, 0, 16, 7, 2,180, 0,234, 0, 0, 0, 0,255,255,255,243, 0, 0, 6, 31, 6,102, 16, 39, 2,165,254,128, - 0, 0, 16, 7, 2,182, 0,228, 0, 0, 0, 0,255,255,255,237, 0, 0, 2,125, 6,102, 16, 39, 2,165,254,122, 0, 0, 16, 7, - 2,184, 0,234, 0, 0, 0, 0,255,255,255,242,255,227, 6, 1, 6,102, 16, 39, 2,165,254,127, 0, 0, 16, 6, 2,190, 40, 0, -255,255,255,225, 0, 0, 6,145, 6,102, 16, 39, 2,165,254,110, 0, 0, 16, 7, 2,195, 1,170, 0, 0, 0, 0,255,255,255,219, - 0, 0, 6, 5, 6,102, 16, 39, 2,165,254,104, 0, 0, 16, 6, 2,199, 54, 0,255,255, 0, 5, 0, 0, 2,128, 7,210, 16, 39, - 2,166,255, 46, 0, 0, 18, 6, 2,215, 15, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 6, 0, 36, 0, 0,255,255, 0,201, - 0, 0, 4,236, 5,213, 18, 6, 0, 37, 0, 0, 0, 1, 0,201, 0, 0, 4,106, 5,213, 0, 5, 0, 25, 64, 12, 4,149, 1,129, - 0, 7, 2, 4, 28, 1, 4, 6, 16,252,252,204,196, 49, 0, 47,244,236, 48, 51, 17, 33, 21, 33, 17,201, 3,161,253, 41, 5,213, -170,250,213, 0, 0, 2, 0, 16, 0, 0, 5,104, 5,213, 0, 2, 0, 6, 0, 61, 64, 12, 66, 0,149, 4,129, 1,149, 3, 8, 6, - 3, 7, 16,212,196,196, 49, 0, 47,236,244,236, 48, 75, 83, 88, 64, 18, 0, 17, 5, 4, 3, 2, 17, 6, 6, 5, 0, 17, 4, 1, - 17, 3, 3, 4, 5, 7, 16,236, 16,236, 7, 16,236, 8, 16,236, 89, 9, 1, 33, 5, 1, 51, 1, 2,188,254,102, 3, 53,251,185, - 2, 58,229, 2, 57, 5, 14,251,154,168, 5,213,250, 43, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 18, 6, 0, 40, 0, 0, -255,255, 0, 92, 0, 0, 5, 31, 5,213, 18, 6, 0, 61, 0, 0,255,255, 0,201, 0, 0, 5, 59, 5,213, 18, 6, 0, 43, 0, 0, - 0, 3, 0,115,255,227, 5,217, 5,240, 0, 3, 0, 18, 0, 33, 0, 50, 64, 28, 4,149, 19,145, 34, 3,149, 0,173, 34, 11,149, - 26,140, 34, 35, 16, 1, 15, 25, 22, 51, 0, 8, 25, 30, 16, 34, 16,252,236,196,244,236,196,236, 49, 0, 16,244,236, 16,244,236, - 16,244,236, 48, 1, 33, 21, 33, 1, 34, 7, 6, 17, 16, 0, 51, 50, 55, 54, 17, 16, 39, 38, 39, 32, 0, 17, 16, 7, 6, 33, 32, - 39, 38, 17, 16, 55, 54, 1,197, 2,194,253, 62, 1, 98,220,129,130, 1, 3,220,220,129,128,128,129,220, 1, 58, 1,120,188,188, -254,198,254,197,188,189,189,188, 3,112,170, 2,134,164,164,254,229,254,230,254,184,164,164, 1, 26, 1, 27,164,164,164,254, 91, -254,158,254,159,210,211,210,210, 1, 98, 1, 98,211,210, 0, 0,255,255, 0,201, 0, 0, 1,147, 5,213, 18, 6, 0, 44, 0, 0, -255,255, 0,201, 0, 0, 5,106, 5,213, 18, 6, 0, 46, 0, 0, 0, 1, 0, 16, 0, 0, 5,104, 5,213, 0, 6, 0, 60, 64, 11, - 66, 6,149, 2,129, 5, 1, 8, 4, 1, 7, 16,212,196,196, 49, 0, 47, 60,244,236, 48, 75, 83, 88, 64, 18, 6, 17, 3, 2, 1, - 5, 17, 4, 4, 3, 6, 17, 2, 0, 17, 1, 1, 2, 5, 7, 16,236, 16,236, 7, 16,236, 8, 16,236, 89, 51, 35, 1, 51, 1, 35, - 1,229,213, 2, 58,229, 2, 57,210,254, 38, 5,213,250, 43, 5, 14, 0, 0, 0,255,255, 0,201, 0, 0, 6, 31, 5,213, 18, 6, - 0, 48, 0, 0,255,255, 0,201, 0, 0, 5, 51, 5,213, 18, 6, 0, 49, 0, 0, 0, 3, 0,201, 0, 0, 4, 98, 5,213, 0, 3, - 0, 7, 0, 11, 0, 42, 64, 22, 7,149, 4,129, 11, 3,149, 0,173, 8,149, 11, 13, 4, 1, 9, 5, 0, 8, 4, 4, 12, 16,252, - 60,196,212, 60,196,236, 49, 0, 47,236,244,236, 16,244,236, 48, 1, 33, 21, 33, 3, 33, 21, 33, 17, 33, 21, 33, 1, 50, 2,199, -253, 57,105, 3,153,252,103, 3,153,252,103, 3,113,170, 3, 14,170,251,127,170,255,255, 0,115,255,227, 5,217, 5,240, 18, 6, - 0, 50, 0, 0,255,255, 0,201, 0, 0, 5, 59, 5,213, 18, 6, 3, 60, 0, 0,255,255, 0,201, 0, 0, 4,141, 5,213, 18, 6, - 0, 51, 0, 0, 0, 1, 0,201, 0, 0, 4,139, 5,213, 0, 11, 0, 70, 64, 17, 66, 10, 6,149, 7,129, 0, 4,149, 3, 13, 1, - 8, 4, 7, 4, 12, 16,252, 60,212, 60,204, 49, 0, 47,236, 50,244,236, 50, 48, 75, 83, 88, 64, 18, 11, 17, 5, 5, 4, 10, 17, - 6, 6, 5, 11, 17, 5, 0, 17, 4, 5, 4, 5, 7, 16,236, 16,236, 7, 16,236, 8, 16,236, 89, 37, 33, 21, 33, 53, 9, 1, 53, - 33, 21, 33, 1, 1,177, 2,218,252, 62, 1,223,254, 33, 3,176,253, 56, 1,223,170,170,170, 2,112, 2, 17,170,170,253,243, 0, -255,255,255,250, 0, 0, 4,233, 5,213, 18, 6, 0, 55, 0, 0,255,255,255,252, 0, 0, 4,231, 5,213, 18, 6, 0, 60, 0, 0, -255,255, 0,115, 0, 0, 5,217, 5,213, 18, 6, 3, 65, 0, 0,255,255, 0, 61, 0, 0, 5, 59, 5,213, 18, 6, 0, 59, 0, 0, - 0, 1, 0,115, 0, 0, 5,219, 5,213, 0, 29, 0, 46, 64, 23, 16, 13,149, 27, 2, 21, 14, 7,129, 0, 31, 21, 28, 22, 2, 14, - 28, 27, 15, 8, 28, 7, 30, 16,220,236,212, 60,252, 60,212,236,204, 49, 0, 47,228, 50, 50,220, 60,236, 50, 48, 33, 54, 39, 34, - 39, 38, 3, 17, 51, 17, 16, 23, 22, 23, 17, 51, 17, 54, 55, 54, 25, 1, 51, 17, 2, 7, 6, 35, 6, 23, 2,194, 1, 1,214,188, -184, 5,213,130,110,138,202,138,110,130,213, 5,184,188,214, 1, 1,134,176,210,204, 1,104, 1,153,254,103,254,230,164,140, 14, - 3,241,252, 15, 14,140,164, 1, 26, 1,153,254,103,254,152,204,210, 72,238, 0, 0, 1, 0, 78, 0, 0, 5,207, 5,231, 0, 38, - 0, 51, 64, 27, 11,149, 30,145, 38, 3, 18, 21,149, 2, 20, 3, 7, 25, 40, 16, 0, 34, 51, 26, 18, 14, 25, 21, 26, 16, 39, 16, -252,196,252,196, 16,244,196,236,252,196, 49, 0, 47, 60,236, 50, 50, 50,244,236, 48, 37, 21, 33, 53, 54, 55, 54, 53, 52, 39, 38, - 35, 34, 0, 21, 20, 23, 22, 23, 21, 33, 53, 33, 38, 39, 38, 53, 16, 55, 54, 33, 32, 23, 22, 17, 20, 7, 6, 7, 5,207,253,168, -177, 99, 99,132,132,216,216,254,247, 99,100,178,253,168, 1, 63,158, 73, 72,192,191, 1, 49, 1, 47,193,192, 71, 71,161,178,178, -178, 97,166,166,202,240,145,145,254,221,239,202,166,166, 97,178,178,139,149,149,184, 1, 62,197,197,197,196,254,203,194,148,148, -141, 0, 0, 0,255,255, 0,201, 0, 0, 1,147, 5,213, 16, 39, 6,132, 3, 47, 1,117, 19, 6, 2,184, 0, 0, 0, 8,180, 9, - 3, 6, 8, 7, 43, 49, 0, 0,255,255,255,252, 0, 0, 4,231, 5,213, 16, 39, 6,132, 4,113, 1,117, 19, 6, 2,195, 0, 0, - 0, 8,180, 12, 2, 7, 8, 7, 43, 49, 0, 0,255,255, 0,113,255,230, 4,229, 6,102, 18, 38, 2,207, 0, 0, 16, 6, 2,165, -110, 0, 0, 0,255,255, 0,133,255,227, 3,200, 6,102, 16, 38, 2,165, 80, 0, 18, 6, 2,211, 0, 0, 0, 0,255,255, 0,186, -254, 86, 4,100, 6,102, 16, 39, 2,165, 0,198, 0, 0, 18, 6, 2,213, 0, 0,255,255, 0,166, 0, 0, 2,152, 6,102, 18, 38, - 2,215, 0, 0, 16, 7, 2,165,255, 70, 0, 0,255,255, 0,149,255,226, 4, 42, 7,210, 18, 38, 2,227, 0, 0, 16, 6, 2,166, - 27, 0, 0, 0, 0, 2, 0,113,255,230, 4,229, 4,122, 0, 13, 0, 42, 0,200, 64, 11, 18, 17, 7, 44, 16, 23, 7, 18, 37, 69, - 43, 16,252,236,212,196,196, 18, 57, 57, 64, 10, 63, 16, 47, 16, 31, 16, 3,143, 16, 1, 93,113, 0, 64, 17, 18, 17, 11, 3,185, - 41,184, 25, 11,185, 33,140, 15,188, 22,135, 25, 47,236,228,244,236, 16,244,236, 17, 57, 57, 5, 64, 20, 29, 17, 0, 17, 14, 17, - 18, 17, 17, 16, 15, 17, 14, 17, 0, 17, 29, 17, 17, 16, 7, 16, 60,236,236,236, 8, 7, 16, 60,236,236, 49, 48, 1, 64, 11,132, - 18,134, 17,136, 1,137, 13,128, 16, 5, 93, 64, 19, 73, 19, 73, 18, 73, 28, 74, 29, 78, 13, 76, 0, 78, 1, 73, 14, 75, 17, 9, - 93, 64, 17, 58, 14, 57, 18, 58, 17, 56, 29, 56, 17, 63, 13, 60, 0, 62, 1, 8, 93, 64, 11, 43, 13, 43, 1, 42, 0, 41, 14, 41, - 17, 5, 93, 64, 13, 25, 15, 24, 14, 27, 13, 27, 1, 26, 0, 25, 17, 6, 93, 0, 64, 5, 43, 30, 43, 31, 2, 93, 1, 39, 38, 39, - 38, 7, 6, 21, 20, 23, 22, 51, 50, 55, 27, 1, 51, 3, 23, 22, 23, 22, 59, 1, 21, 35, 34, 39, 38, 39, 6, 7, 6, 39, 38, 39, - 38, 17, 16, 55, 54, 55, 36, 3, 78, 44, 45,178,134, 61, 77, 75, 76,121,134, 72,164, 99,164,205, 40, 9, 35, 41, 32, 88,110, 94, - 84, 41, 17, 44, 96, 44,143,234,115,117,127,141,198, 1, 55, 2, 9,231,236, 1, 1,111,137,183,220,105,107,213, 1,231, 1, 37, -253,161,219, 49, 41, 48,156, 84, 42, 88,107, 91, 42, 1, 2,150,156, 1, 20, 1, 41,135,151, 3, 5, 0, 0, 0, 0, 2, 0,191, -254, 86, 4,137, 6, 33, 0, 14, 0, 28, 0, 55, 64, 15, 24, 18, 7, 30, 69, 19, 18, 11, 22, 0, 28, 8, 3, 70, 29, 16,252,236, - 50,196,212,236,228,212,236, 49, 0, 64, 14, 26,185, 5, 9, 21,185, 22, 17,185, 13,140, 2,189, 29, 16,236,244,236,212,252, 57, -212,236, 48, 37, 17, 35, 17, 16, 33, 32, 19, 18, 7, 4, 19, 18, 37, 38, 3, 22, 55, 32, 17, 16, 5, 53, 4, 17, 52, 7, 32, 17, - 1,121,185, 1,170, 1,176, 2, 3,175, 1, 23, 1, 2,254, 28,212, 89,111,197, 1, 32,254, 48, 1,107,234,254,251, 69,254, 17, - 6, 3, 1,200,254,127,254,238,100, 90,254,245,254, 37, 1, 1, 1, 73,174, 1, 1, 58, 1, 26, 22,170, 6, 1, 70,220, 1,254, -200, 0, 0, 0, 0, 1, 0, 32,254, 86, 4,127, 4, 96, 0, 14, 0, 64, 64, 7, 16, 3, 7, 8, 4, 12, 15, 16,212,212,252,212, -196, 49, 0, 64, 7, 2, 12,191, 6,189, 4, 7, 47, 60,236,228, 50, 48, 5, 64, 18, 1, 17, 8, 7, 2, 17, 3, 4, 3, 14, 13, - 1, 17, 0, 17, 7, 8, 7, 7, 16,236,236, 57, 57, 7, 16,236, 8,236, 1, 19, 1, 51, 1, 17, 35, 17, 1, 38, 43, 1, 53, 51, - 50, 1,105,245, 1, 94,195,254, 59,184,254,218, 44, 95, 49, 70,197, 3,176,253, 76, 3,100,251,160,254, 86, 1,170, 3, 68,126, -158, 0, 0, 0, 0, 2, 0,113,255,227, 4,117, 5,240, 0, 28, 0, 45, 0, 84, 64, 20, 6, 5, 40, 4, 47, 69, 28, 40, 18, 10, - 81, 18, 4, 18, 24, 33, 18, 18, 69, 46, 16,252,236,212,236, 16,244,178,127, 10, 1, 93,236,196,236, 17, 18, 57, 57, 0, 64, 14, - 6, 5, 37, 2, 28, 0, 2,185, 26, 37,185, 14,140, 46, 16,244,236,212,252,212,204, 17, 18, 57, 57, 64, 6, 22, 29, 83, 5, 6, - 5, 7, 14, 16,236, 57, 49, 48, 1, 38, 35, 34, 21, 20, 5, 22, 23, 22, 17, 16, 7, 6, 35, 34, 39, 38, 17, 52, 55, 54, 55, 38, - 53, 16, 33, 50, 23, 1, 6, 7, 6, 21, 20, 23, 22, 51, 50, 54, 53, 52, 39, 38, 39, 38, 3,236,102,239,253, 1, 8,208,117,142, -137,137,240,239,138,137,137, 53, 75,156, 1,185,221,120,254, 24, 68, 55, 86, 85, 86,149,147,172, 91, 97,126, 64, 5, 17, 70,117, - 92, 48, 37,112,135,254,235,254,247,156,157,157,156, 1, 19,204,165, 64, 36, 79,141, 1, 16, 70,254, 40, 29, 73,113,204,203,114, -115,232,190,199, 96,103, 11, 6, 0, 1, 0,133,255,227, 3,200, 4,124, 0, 50, 0, 61, 64, 34, 12,134, 11,136, 16,185, 8,184, - 51, 27,169, 24, 51, 39,134, 40,136, 35,185, 44,140, 51, 52, 25, 11, 39, 20, 8, 4, 31, 8, 48, 69, 51, 16,252,236,212,236,212, -196,196,196, 49, 0, 16,244,236,244,236, 16,212,236, 16,244,236,244,236, 48, 1, 38, 39, 38, 53, 52, 55, 54, 51, 50, 22, 23, 21, - 38, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 59, 1, 21, 35, 34, 7, 6, 21, 20, 23, 22, 51, 50, 55, 54, 55, 21, 6, 7, 6, 35, - 34, 39, 38, 53, 52, 54, 1,139,112, 60, 60,114,113,196, 76,170, 98, 97, 80, 81, 71,119, 69, 70, 68, 67,116,155,148,137, 72, 78, - 84, 85,151, 93, 85, 85, 71, 90, 84, 85, 80,238,129,129,138, 2, 92, 24, 65, 64, 93,141, 79, 78, 24, 24,167, 29, 13, 13, 46, 46, - 64, 70, 45, 44,152, 51, 56, 88, 90, 56, 56, 18, 19, 37,171, 28, 14, 14, 91, 91,173,108,146, 0, 0, 1, 0,107,254, 82, 3,248, - 6, 20, 0, 29, 0, 62, 64, 11, 10, 14, 18, 31, 4, 25, 24, 28, 18, 20, 30, 16,212,236,212,212,212,196,252,204, 75,176, 16, 81, - 88,185, 0, 22, 0, 64, 56, 89, 49, 0, 64, 14, 8,185, 10, 0,185, 18,140, 30, 26, 23,135, 24,151, 30, 16,244,236, 50, 16,244, -236,220,236, 48, 37, 22, 23, 22, 21, 20, 7, 6, 35, 52, 53, 22, 55, 54, 53, 52, 39, 38, 35, 32, 3, 16, 1, 33, 53, 33, 21, 0, - 17, 16, 2,202,132, 79, 84, 74, 80,163, 69, 42, 32, 32, 31, 58,253,162, 1, 2, 59,253,236, 3,102,253, 44,127, 1, 75, 79,120, -115, 80, 87, 75, 76, 5, 44, 35, 37, 53, 44, 42, 2, 51, 1,236, 1, 89,185,185,254,148,254, 39,254,105, 0, 0, 0, 1, 0,186, -254, 86, 4,100, 4,123, 0, 21, 0, 49, 64, 22, 6,135, 14, 18,184, 12,188, 2,189, 11, 23, 70, 3, 8, 0, 78, 9, 13, 8, 12, - 70, 22, 16,252,236, 50,244,236,236, 49, 0, 47,236,228,244,196,236, 48, 64, 5,160, 23,128, 23, 2, 1, 93, 1, 17, 35, 17, 52, - 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 54, 55, 54, 51, 50, 23, 22, 4,100,184,124,124,149,172,185,185, 66, 89, 90,117,193, 99, - 99, 2,164,251,178, 4, 72,159,158,190,164,253,135, 4, 96,174,101, 50, 50,119,120, 0, 0, 0, 0, 3, 0,113,255,233, 4,117, - 6, 36, 0, 8, 0, 17, 0, 33, 0, 63, 64, 27, 13,185, 18,151, 34, 1,149, 17, 34, 5,185, 26,140, 34, 35, 69, 0, 9, 18, 22, - 81, 1, 17, 18, 30, 69, 34, 16,252,236, 50,244,178,127, 22, 1, 93,236, 50,236, 49, 0, 16,244,236, 16,212,236, 16,244,236, 48, - 64, 5,160, 35,128, 35, 2, 1, 93, 1, 33, 18, 23, 22, 51, 50, 55, 54, 19, 2, 39, 38, 35, 34, 7, 6, 3, 1, 50, 23, 22, 17, - 16, 7, 6, 35, 34, 39, 38, 17, 16, 55, 54, 3,177,253,131, 15, 69, 86,149,150, 83, 73, 9, 28, 54, 86,147,153, 81, 64, 19, 1, - 61,240,137,137,137,137,240,241,136,137,137,136, 2,198,254,213,127,156,157,138, 1,201, 1, 28,100,158,156,126,254,252, 2,180, -212,211,254,138,254,139,212,213,213,212, 1,117, 1,118,211,212, 0, 1, 0,166, 0, 0, 2,110, 4, 96, 0, 13, 0, 27, 64, 7, - 15, 6, 0, 8, 13, 70, 14, 16,252,252,212,196, 49, 0, 64, 5, 13,188, 5,135, 8, 47,236,228, 48, 1, 17, 20, 23, 22, 59, 1, - 21, 35, 34, 39, 38, 53, 3, 1, 99, 34, 36,108, 89,111,180, 82, 82, 1, 4, 96,253, 43,145, 46, 48,156, 96, 98,212, 2,202, 0, - 0, 1, 0,191, 0, 0, 4,133, 4, 96, 0, 11, 0, 73, 64, 9, 13, 6, 4, 9, 1, 8, 11, 70, 12, 16,252,236, 50,196,212,196, - 49, 0, 64, 5, 3, 0,188, 7, 11, 47, 60,228, 50, 48, 64, 22, 8, 17, 9, 4, 5, 7, 17, 6, 6, 5, 8, 5, 9, 4, 3, 17, - 4, 2, 17, 9, 9, 4, 7, 16, 4,236, 16, 5,236, 9, 60, 60, 7, 16, 5,236, 16, 8,236, 19, 51, 17, 1, 51, 9, 1, 35, 1, - 7, 17, 35,191,190, 1,227,224,254, 71, 1,254,225,254, 98,137,190, 4, 96,254, 47, 1,209,254, 90,253, 70, 2, 66,129,254, 63, - 0, 1, 0, 61, 0, 0, 4,127, 6, 21, 0, 13, 0, 70, 64, 5, 15, 1, 11, 5, 14, 16,212,196,212,196, 49, 0, 64, 6, 10,135, - 11,151, 2, 5, 47, 60,244,236, 48, 64, 24, 3, 17, 1, 0, 6, 4, 17, 5, 6, 5, 7, 17, 6, 17, 3, 17, 1, 0, 0, 2, 17, - 0, 1, 0, 7, 16, 5,236, 16, 9,236,236, 5,236, 7, 16, 5,236, 16, 8,236, 9, 1, 35, 9, 1, 35, 1, 39, 38, 43, 1, 53, - 23, 22, 2,122, 2, 5,195,254,198,254,126,195, 1,235, 74, 47,107, 96,117,226, 5,101,250,155, 3, 60,252,196, 4, 50,198,126, -158, 2, 3, 0,255,255, 0,174,254, 86, 4,229, 4, 96, 16, 6, 0,119, 0, 0, 0, 1, 0, 74, 0, 0, 4, 24, 4, 96, 0, 21, - 0, 65, 64, 7, 23, 7, 18, 17, 0, 1, 22, 16,212,196,212,236,196, 49, 64, 4, 11, 1,188, 0, 0, 47,228, 50, 48, 64, 21, 20, - 19, 18, 17, 21, 17, 6, 5, 4, 3, 7, 3, 17, 1, 0, 0, 2, 17, 1, 1, 0, 7, 16, 5,236, 16, 9,236, 18, 23, 57, 5,236, - 18, 23, 57, 33, 1, 51, 1, 54, 55, 54, 55, 54, 39, 38, 39, 51, 49, 22, 23, 22, 21, 20, 7, 6, 7, 1,160,254,170,198, 1, 33, -120,100, 76, 4, 2, 24, 28,106,186, 69, 46, 42,136,177,123, 4, 96,252, 84,124,172,129,112, 53,100,119,131, 89,124,114, 78,196, -175,228,116, 0, 0, 1, 0,107,254, 82, 4, 1, 6, 20, 0, 38, 0, 64, 64, 15, 10, 14, 18, 40, 4, 34, 29, 28, 32, 18, 24, 37, - 18, 20, 39, 16,212,236,212,236,212,212,196,212,196,252,204, 49, 64, 18, 8,185, 10, 0,185, 18,140, 39, 22, 35,135, 34, 30, 27, -135, 28,151, 39, 0, 16,244,252, 60,212,236, 57, 16,244,236,220,236, 48, 37, 22, 23, 22, 21, 20, 7, 6, 35, 52, 53, 22, 55, 54, - 53, 52, 39, 38, 35, 32, 17, 16, 37, 36, 17, 52, 55, 35, 53, 33, 21, 32, 17, 20, 5, 21, 36, 19, 18, 2,218,132, 79, 84, 74, 80, -163, 69, 42, 32, 32, 31, 58,253,145, 1, 77,254,232,220,208, 3, 21,253,139, 2, 16,253,198, 2, 1,127, 1, 75, 79,120,115, 80, - 87, 75, 76, 5, 44, 35, 37, 53, 44, 42, 1,181, 1, 44, 88, 36, 1, 4,197, 82,185,185,254,221,191, 9,170, 22,254,188,254,241, -255,255, 0,113,255,227, 4,117, 4,123, 18, 6, 0, 82, 0, 0, 0, 1, 0, 74,255,217, 4,152, 4, 96, 0, 23, 0, 47, 64, 11, - 25, 10, 1, 18, 8, 3, 19, 8, 0, 22, 24, 16,220,196,236,212,236,196,196,204, 49, 64, 12, 7,135, 14,140, 21, 3, 19, 23,135, - 0,188, 21, 0, 47,244,236, 50, 50, 16,244,236, 48, 19, 33, 21, 35, 17, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 53, 17, - 33, 17, 35, 17, 35, 74, 4, 49,141, 49, 55, 15, 44, 7, 35, 74, 37,120, 92,254, 99,188,143, 4, 96,184,253, 80, 72, 63, 5, 1, -133, 13, 12,131,176, 2,156,252, 88, 3,168, 0, 0, 2, 0,186,254, 86, 4,164, 4,123, 0, 17, 0, 29, 0, 49, 64, 25, 21,185, - 4,184, 30, 27,185, 10,140, 15,189, 30, 31, 69, 18, 18, 7, 81, 13, 8, 24, 18, 16, 70, 30, 16,252,236,236,244,178,127, 7, 1, - 93,236,236, 49, 0, 16,236,244,236, 16,244,236, 48, 1, 54, 55, 54, 51, 50, 0, 17, 16, 2, 35, 34, 38, 39, 17, 35, 17, 52, 5, - 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 1, 20, 61,151, 59,182,204, 0,255,255,204,123,177, 58,185, 3, 43,167,146,146,167, -167,146,146,167, 3,152,102, 90, 35,254,188,254,248,254,248,254,188, 97,100,253,174, 3,207,231,221,203,231,231,203,203,231,231, - 0, 1, 0,113,254, 82, 3,231, 4,123, 0, 36, 0, 54, 64, 12, 29, 33, 18, 23, 38, 9, 72, 16, 18, 3, 69, 37, 16,252,236,244, -204,212,252,196, 49, 64, 17, 27,185, 29, 19,185, 0,140, 37, 9,134, 10,136, 13,185, 6,184, 37, 0, 16,244,252,244,236, 16,244, -236,220,236, 48, 5, 32, 0, 17, 16, 0, 33, 50, 22, 23, 21, 46, 1, 35, 34, 6, 21, 20, 22, 51, 50, 23, 22, 21, 20, 7, 6, 35, - 52, 53, 22, 55, 54, 53, 52, 39, 38, 2,168,254,243,254,214, 1, 45, 1, 6, 85,162, 76, 78,157, 80,179,198,198,175,131, 80, 84, - 74, 80,163, 69, 42, 32, 32, 31, 29, 1, 62, 1, 14, 1, 18, 1, 58, 35, 35,172, 43, 43,227,205,205,227, 76, 79,120,115, 80, 87, - 75, 76, 5, 44, 35, 37, 53, 44, 42, 0, 0, 0, 0, 2, 0,113,255,227, 4,214, 4, 98, 0, 13, 0, 30, 0, 49, 64, 11, 32, 15, - 10, 18, 19, 81, 4, 18, 27, 69, 31, 16,252,236,244,178,127, 19, 1, 93,236,212,196, 49, 64, 12, 7,185, 23,140, 31, 17,135, 0, -185, 14,188, 31, 0, 16,244,236,236, 16,244,236, 48, 1, 34, 7, 6, 21, 20, 22, 51, 50, 54, 53, 52, 39, 38, 39, 5, 21, 35, 22, - 21, 16, 7, 6, 35, 34, 39, 38, 17, 16, 55, 54, 2,115,152, 82, 86,171,149,147,172, 86, 79,154, 2, 99,206,109,137,137,240,241, -136,137,137,114, 3,206,110,115,190,201,231,232,200,183,122,110,147, 1,184,156,221,254,237,156,157,157,156, 1, 19, 1, 20,156, -130, 0, 0, 0, 0, 1, 0,100, 0, 0, 4,109, 4, 96, 0, 17, 0, 35, 64, 8, 19, 13, 3, 15, 8, 12, 10, 18, 16,212,196,252, -196,196,196, 49, 0, 64, 8, 15, 11,135, 12,188, 2,185, 5, 47,236,244,236, 50, 48, 37, 22, 59, 1, 21, 35, 34, 39, 38, 53, 17, - 33, 53, 33, 21, 33, 17, 20, 2,230, 36,108, 89,111,180, 82, 82,254, 92, 4, 9,254, 87,204, 48,156, 96, 98,212, 2, 18,184,184, -253,227,145, 0, 0, 1, 0,149,255,226, 4, 42, 4, 96, 0, 28, 0, 43, 64, 10, 30, 69, 9, 18, 19, 0, 8, 28, 70, 29, 16,252, -236,212,236,228, 64, 7, 63, 30, 63, 9, 63, 19, 3, 93, 49, 0, 64, 6, 13, 28,188, 5,185, 23, 47,236,244, 60, 48, 1, 17, 20, - 23, 22, 51, 50, 55, 54, 55, 54, 39, 38, 39, 51, 49, 22, 23, 22, 21, 20, 7, 6, 39, 34, 39, 38, 53, 3, 1, 82, 50, 55,107,150, -105, 59, 15, 8, 30, 28,106,186, 70, 45, 42,128,156,254,179,101, 98, 1, 4, 96,253, 43,135, 64, 69,208,118,187,102,128,119,131, - 90,123,115,154,253,187,228, 1,120,118,197, 2,202, 0, 0, 0, 0, 2, 0,111,254, 86, 4,210, 4,104, 0, 10, 0, 41, 0, 61, - 64, 16, 43, 69, 7, 18, 15, 19, 2, 8, 30, 22, 40, 35, 18, 26, 69, 42, 16,252,236,212, 60,204,252, 60,212,236,236, 49, 0, 64, - 16, 0, 31,185, 11, 30,184, 42, 3, 39,135, 19, 22,140, 21,189, 42, 16,236,244, 60,236, 50, 16,244, 60,236, 50, 48, 1, 34, 21, - 17, 50, 55, 54, 39, 38, 39, 38, 39, 50, 23, 22, 19, 18, 7, 6, 35, 17, 35, 17, 34, 39, 38, 17, 2, 55, 54, 55, 21, 6, 7, 6, - 23, 22, 23, 22, 51, 17, 16, 3, 61, 65, 94, 96, 86, 1, 1, 85, 70, 54,144,123,133, 4, 4,141,133,199,183,199,134,136, 1,137, -104,164, 66, 58, 87, 1, 1, 85, 76,113, 3,203,145,253, 82,104, 93,223,208,112, 91,157,132,141,254,217,254,241,161,152,254,110, - 1,145,153,156, 1, 19, 1, 30,146,109, 28,163, 23, 78,115,190,202,115,103, 2,175, 1, 46, 0, 0, 1, 0, 59,254, 85, 4,100, - 4, 97, 0, 23, 0,118, 64, 12, 17, 16, 5, 4, 4, 9, 25, 20, 15, 3, 9, 24, 16,212,196,212,196,196, 18, 23, 57, 0, 64, 18, - 17, 16, 5, 4, 4, 19, 8,135, 14, 9,188, 24, 19,135, 22, 3,189, 24, 16,244, 60,236, 16,244, 60,236, 17, 23, 57, 5, 64, 20, - 14, 17, 15, 16, 15, 12, 17, 5, 5, 4, 2, 17, 3, 4, 3, 0, 17, 17, 17, 16, 7, 16,236, 7, 16,236, 7, 16,236, 7, 16,236, - 64, 20, 16, 17, 12, 15, 2, 13, 17, 12, 14, 3, 4, 14, 3, 5, 0, 1, 15, 2, 5, 0, 15, 15, 15, 15, 49, 48, 5, 3, 1, 35, - 1, 3, 38, 43, 1, 53, 23, 4, 23, 19, 1, 51, 1, 19, 22, 59, 1, 21, 39, 36, 2,220,149,254,205,217, 1,178,182, 49,154, 49, - 70, 1, 2, 65,148, 1, 51,217,254, 78,182, 49,154, 49, 70,254,254,250, 1,127,253,208, 3, 24, 1,215,126,158, 2, 7,167,254, -129, 2, 48,252,232,254, 41,126,158, 2, 7, 0, 0, 1, 0,112,254, 86, 4,209, 4, 96, 0, 27, 0, 54, 64, 13, 29, 19, 8, 20, - 25, 13, 8, 0, 12, 6, 8, 5, 28, 16,220,236,212, 60,252, 60,212,236,204, 49, 0, 64, 14, 19, 12, 5,188, 28, 14, 11,135, 25, - 0,140, 27,189, 28, 16,236,244, 60,236, 50, 16,244, 60, 60, 48, 5, 38, 39, 38, 53, 17, 51, 17, 20, 23, 22, 23, 17, 51, 17, 54, - 55, 54, 53, 17, 51, 17, 20, 7, 6, 7, 17, 35, 2, 69,231,107,131,186, 85, 74,124,183,131, 67, 85,186,131,118,220,183, 25, 37, - 97,119,243, 2,137,253,126,183, 76, 66, 14, 3,213,252, 44, 14, 66, 84,175, 2,129,253,120,252,110, 99, 35,254,110, 0, 0, 0, - 0, 1, 0,135,255,226, 6, 40, 4, 96, 0, 26, 0, 56, 64, 20, 18, 18, 19, 28, 69, 16, 18, 21, 11, 8, 12, 7, 18, 2, 5, 18, - 4, 2, 69, 27, 16,252,220,236, 16,236,212,252,212,236,236,220,236, 49, 0, 64, 9, 11, 18, 4,188, 14, 9,135, 23, 0, 47, 60, -236, 50,244, 60,196, 48, 5, 32, 17, 52, 19, 51, 2, 21, 2, 51, 50, 3, 51, 2, 55, 54, 17, 52, 3, 51, 18, 21, 18, 37, 36, 3, - 2, 2, 38,254, 97,155,198,143, 1,223,207, 4,170, 4,207,222,143,198,155, 2,254, 95,254,241, 34, 41, 29, 2, 82,235, 1, 64, -254,192,240,254, 79, 2, 26,253,227, 3, 2, 1,175,240, 1, 64,254,192,235,253,173, 1, 1, 1, 42,254,213, 0,255,255, 0, 5, - 0, 0, 2,125, 6, 16, 18, 38, 2,215, 15, 0, 16, 7, 0,106,255, 46, 0, 0,255,255, 0,149,255,226, 4, 42, 6, 16, 16, 38, - 0,106, 29, 0, 18, 6, 2,227, 0, 0, 0, 0,255,255, 0,113,255,227, 4,117, 6,102, 16, 38, 2,165,125, 0, 18, 6, 2,221, - 0, 0, 0, 0,255,255, 0,149,255,226, 4, 42, 6,102, 16, 38, 2,165, 34, 0, 18, 6, 2,227, 0, 0, 0, 0,255,255, 0,135, -255,226, 6, 40, 6,102, 18, 38, 2,231, 0, 0, 16, 7, 2,165, 1, 89, 0, 0, 0, 3, 0,166,255,233, 4, 77, 6, 36, 0, 13, - 0, 37, 0, 53, 0, 0, 1, 50, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 7, 6, 1, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, - 3, 2, 55, 54, 23, 22, 23, 22, 23, 22, 7, 6, 7, 6, 7, 6, 35, 16, 23, 22, 51, 50, 55, 54, 55, 52, 39, 38, 1,105, 80, 84, -119, 68,121, 36, 50,117,122, 93, 54, 1,238, 96, 59, 91, 59,126,246,252,139,111, 1, 1,120,134,210,164,107,111, 1, 1, 55, 38, -251, 67, 93, 74, 78, 58, 80,174,143, 87, 24, 1, 79, 94, 3,112, 1, 3, 61,108,147, 87, 53, 73, 9, 10,196,112,254,203, 65, 75, -117,143,130, 95,213,213,168, 1,161, 1,139,190,213, 1, 1,111,115,155,128,107, 75,150, 15, 3, 2,254,234,128,176,156, 45, 86, -123, 72, 86, 0, 0, 2, 0,112,255,233, 4,118, 6, 36, 0, 11, 0, 40, 0, 0, 1, 54, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, - 5, 4, 39, 38, 17, 52, 55, 54, 51, 50, 23, 22, 3, 2, 7, 6, 35, 34, 39, 38, 19, 23, 2, 23, 22, 51, 50, 55, 54, 3,174, 6, - 55, 75,140, 83, 64, 56,121, 74, 1, 19,254,204,131,211,104,104,175,209,135,128, 9, 9,128,137,240,237,140,149, 12,195, 33,117, - 85,150,144, 89, 95, 3,112,246,126,170, 71, 66, 90,153,107, 65,160, 9, 74,120, 1, 39,160,110,112,212,200,254,127,254,125,198, -213,213,225, 1,210, 1,254,130,215,155,156,166, 0, 1, 0, 87, 0, 0, 5, 81, 5,223, 0, 27, 0, 0, 1, 6, 3, 6, 21, 17, - 35, 17, 52, 39, 2, 39, 38, 7, 53, 54, 23, 4, 19, 18, 37, 54, 23, 22, 7, 6, 39, 38, 4, 70,160, 82, 42,203, 42, 82,160,116, -120, 67,160, 1, 67, 72,107, 1, 31,111, 64,120, 54, 33,117, 86, 5, 17, 72,254,243,141,165,253,118, 2,138,165,141, 1, 13, 72, - 52, 26,170, 21, 24, 48,254,114, 1,123, 67, 26, 49, 93,150, 86, 26, 18, 0, 0,255,255,255,225, 0, 0, 6,161, 6,102, 16, 39, - 2,165,254,110, 0, 0, 16, 7, 2,239, 1, 80, 0, 0, 0, 0,255,255, 0, 87, 0, 0, 5, 81, 5,223, 16, 39, 6,132, 4,197, - 1,117, 18, 6, 2,239, 0, 0, 0, 3, 0,112,254, 86, 4,209, 6, 20, 0, 21, 0, 30, 0, 39, 0, 65, 64, 16, 41, 26, 18, 6, - 9, 1, 30, 8, 12, 20, 32, 36, 18, 16, 69, 40, 16,252,236,212, 60, 60,252, 60, 60,212,236,196, 49, 64, 18, 30, 32,135, 1, 20, -184, 40, 22, 31,135, 9, 12,140, 21,151, 11,189, 40, 0, 16,236,228,244, 60,252, 60, 16,244, 60,252, 60, 48, 1, 17, 50, 23, 22, - 17, 16, 7, 6, 35, 17, 35, 17, 34, 39, 38, 17, 16, 55, 54, 51, 17, 19, 50, 55, 54, 55, 54, 39, 38, 35, 3, 17, 34, 7, 6, 23, - 22, 23, 22, 2,252,199,133,137,137,133,199,183,199,134,136,136,134,199,183,113, 77, 84, 1, 1, 86, 77,113,183,113, 76, 87, 1, - 1, 85, 76, 6, 20,254, 99,153,156,254,237,254,237,156,153,254,111, 1,145,153,156, 1, 19, 1, 19,156,153, 1,157,250,119,103, -115,202,200,117,103,252,184, 3, 72,103,117,200,202,115,103, 0, 0, 2, 0, 65,255,226, 6,109, 4, 96, 0, 16, 0, 30, 0, 0, - 19, 53, 33, 21, 35, 22, 21, 16, 37, 36, 3, 2, 33, 32, 17, 52, 55, 41, 1, 6, 21, 16, 51, 50, 3, 51, 2, 55, 54, 17, 52, 65, - 6, 44,147, 77,254, 97,254,241, 34, 41,254,248,254, 97, 77, 4, 58,252,146, 71,222,207, 4,170, 4,207,222, 3,168,184,184,207, -164,253,173, 1, 1, 1, 42,254,213, 2, 82,164,207,209,167,254, 79, 2, 26,253,227, 3, 3, 1,174,167, 0, 0, 0, 1, 0,111, -254, 91, 4,206, 4,103, 0, 47, 0, 0, 5, 38, 39, 38, 55, 7, 2, 7, 6, 39, 38, 55, 54, 55, 54, 39, 38, 35, 34, 7, 53, 54, - 23, 22, 23, 22, 7, 55, 18, 55, 54, 23, 22, 7, 6, 7, 6, 23, 22, 51, 50, 55, 2, 7, 6, 39, 53, 4, 3,249,246, 33, 21, 24, -189, 96,200,141, 3, 1, 61, 96,136, 91, 43, 26,142, 57, 91, 82,126,246, 33, 19, 42,189, 96,200,141, 3, 1, 61, 96,136, 91, 43, - 26,142, 57, 91, 38,205,152,173, 1, 55, 10, 32,240,156, 99,108,254,247,124, 89,145, 68, 84,132,124,203,169,104,108,224, 61, 17, - 34,238,140,112,108, 1, 9,124, 89,145, 68, 84,132,124,203,169,104,108,253,224,102, 77, 90,160,160, 0, 0, 0, 0, 2, 0,115, -254, 88, 5,217, 5,240, 0, 15, 0, 25, 0, 0, 5, 17, 35, 17, 38, 39, 38, 16, 0, 33, 32, 0, 17, 16, 7, 6, 2, 32, 0, 17, - 16, 0, 32, 0, 17, 16, 3,132,184,252,160,189, 1,121, 1, 59, 1, 58, 1,120,188,159,123,254, 72,254,253, 1, 3, 1,184, 1, - 1, 24,254,112, 1,144, 26,179,210, 2,196, 1,165,254, 91,254,158,254,159,210,179, 5, 73,254,184,254,229,254,230,254,184, 1, - 72, 1, 26, 1, 27, 0, 0, 0, 0, 2, 0,113,254, 86, 4,117, 4,123, 0, 10, 0, 27, 0, 0, 1, 34, 6, 16, 22, 51, 50, 54, - 53, 52, 38, 3, 17, 35, 17, 38, 39, 38, 17, 16, 0, 51, 50, 0, 17, 16, 7, 6, 2,115,148,172,171,149,147,172,172, 57,170,190, -107,137, 1, 17,241,240, 1, 18,137,106, 3,223,231,254,110,231,232,200,199,233,252, 9,254,110, 1,146, 27,125,156, 1, 19, 1, - 20, 1, 56,254,200,254,236,254,237,156,123, 0, 0, 1, 0,139,254, 82, 4,171, 5,213, 0, 36, 0, 0, 1, 32, 7, 6, 17, 16, - 23, 22, 51, 50, 23, 22, 21, 20, 7, 6, 35, 52, 53, 22, 55, 54, 53, 52, 39, 38, 35, 32, 39, 38, 17, 16, 55, 54, 41, 1, 21, 3, - 70,254,243, 96,123, 91,109,200,122, 89, 84, 74, 80,163, 69, 42, 32, 32, 31, 58,254,192,142,149,185,138, 1,120, 1,101, 5, 43, -119,152,254,205,254,181,127,152, 84, 79,120,115, 80, 87, 75, 76, 5, 44, 35, 37, 53, 44, 42,203,214, 1,101, 1, 78,237,177,170, - 0, 1, 0,113,254, 82, 4, 81, 4, 97, 0, 34, 0, 0, 1, 34, 7, 6, 21, 20, 22, 51, 50, 23, 22, 21, 20, 7, 6, 35, 52, 53, - 22, 55, 54, 53, 52, 39, 38, 35, 34, 0, 17, 52, 55, 54, 5, 33, 21, 2,172,216, 62, 99,198,110,131, 80, 84, 74, 80,163, 69, 42, - 32, 32, 32, 57,204,254,214,151,104, 1, 52, 1,173, 3,168, 72,113,192,205,227, 76, 79,120,115, 80, 87, 75, 76, 5, 44, 35, 37, - 53, 44, 42, 1, 62, 1, 14,243,188,131, 1,184,255,255, 0,201, 0, 0, 4, 35, 5,213, 18, 6, 0, 41, 0, 0, 0, 1,255, 64, -254, 86, 3, 70, 6, 20, 0, 35, 0, 0, 51, 17, 52, 55, 54, 51, 50, 22, 23, 21, 46, 1, 35, 34, 7, 6, 21, 17, 33, 21, 33, 17, - 20, 7, 6, 35, 34, 38, 39, 53, 30, 1, 51, 50, 55, 54,238,136, 96,169, 49, 99, 51, 36, 82, 44,120, 58, 75, 1, 65,254,191,139, - 98,173, 57,102, 46, 49,100, 48, 87, 64, 82, 4,130,160,142,100, 18, 18,164, 28, 29, 62, 81,111,254,201,143,253, 63,146,165,115, - 21, 22,164, 31, 33, 75, 95, 0, 0, 1, 0,179,255,252, 4,212, 5,213, 0, 23, 0, 0, 1, 3, 1, 3, 6, 23, 22, 55, 21, 34, - 39, 38, 55, 19, 1, 19, 54, 39, 38, 7, 53, 50, 23, 22, 2, 54,110, 3, 12,234, 39, 27, 66,131,230, 81, 95, 19,154,253, 6,172, - 39, 27, 66,131,230, 81, 95, 4,135,254, 91, 1,126,253, 44, 96, 42,108, 35,189, 70, 82,182, 1,218,254,145, 2,144, 96, 42,108, - 35,189, 70, 82, 0, 1, 0,191, 0, 0, 4,136, 6, 19, 0, 7, 0, 0, 9, 1, 35, 19, 33, 1, 51, 3, 4,136,254,231,184,226, -253, 38, 1, 25,184,226, 3,112,252,144, 2,198, 3, 77,253, 93, 0, 1, 0,114,254, 86, 6, 96, 5,241, 0, 33, 0, 0, 1, 17, - 35, 17, 6, 7, 53, 54, 5, 4, 19, 18, 17, 16, 3, 35, 0, 17, 16, 39, 6, 7, 6, 23, 17, 35, 54, 17, 52, 63, 1, 38, 37, 38, - 2, 81,170,205,104,208, 1,130, 1,217,237,214,246,225, 1, 4, 82, 56,121, 69, 5,205, 2,182,187,208,254,164, 48, 5, 58,253, -140, 2, 73, 75,105,198,215, 8, 10,254,216,254,241,253,189,254, 88,254,146, 1, 76, 1,202, 1,209,125, 32, 92, 52,208,253,198, - 33, 2, 20,247,143,141,249, 11, 1, 0, 0, 0, 0, 1, 0,119,254,144, 4,150, 4,120, 0, 22, 0, 0, 1, 3, 35, 1, 38, 39, - 1, 35, 1, 38, 39, 38, 35, 53, 32, 23, 22, 19, 18, 17, 35, 16, 39, 3,110,239,185, 1,100, 14, 50,254, 70,185, 2, 31, 98, 46, -188,211, 1, 45,242,224,172,116,168, 96, 1, 52,254,204, 1,192, 35, 77,253,208, 2,176,127, 33,132,164,216,200,254, 80,254,223, -254,137, 1, 94,246, 0, 0, 0, 0, 1, 0,115,254, 75, 7, 5, 5,213, 0, 61, 0, 0, 1, 52, 3, 38, 39, 35, 22, 19, 22, 21, - 16, 7, 6, 35, 34, 39, 38, 61, 1, 35, 21, 20, 7, 6, 35, 34, 39, 38, 17, 52, 55, 18, 55, 35, 6, 7, 2, 21, 16, 23, 22, 51, - 50, 55, 54, 55, 22, 23, 22, 23, 6, 7, 6, 7, 23, 54, 55, 36, 55, 54, 55, 54, 7, 5,100, 56, 95,250, 84,135, 67, 71, 65,134, -116, 70, 70,199, 71, 72,114,125, 73, 72, 67,135, 84,249, 93, 59,100,123,121,211,146,101,100, 39, 39,100, 68,103,164,205,121,138, - 97,140,118, 1, 20,180,219, 68, 61, 2,224,194, 1, 21,156,130, 70,254,191,159,183,254,217,119,109,105,104,198,241,241,198,104, -105,109,107, 1, 51,183,159, 1, 65, 70,127,159,254,242,201,254,104,180,177, 94, 94,173,173, 94, 65, 23,128, 81, 48, 24,133, 23, - 42,100,136,166,230,203, 0, 0, 0, 1, 0,135,254, 85, 6, 40, 4, 96, 0, 37, 0, 0, 33, 36, 3, 2, 33, 32, 17, 52, 19, 51, - 2, 21, 2, 23, 22, 3, 51, 2, 55, 54, 17, 52, 3, 51, 18, 21, 22, 7, 6, 7, 6, 7, 6, 7, 39, 54, 55, 54, 4,136,254,237, - 30, 35,254,242,254, 97,135,218,143, 1,223,208, 5,170, 3,206,222,143,218,135, 1, 57,105,197,154,210,107,112, 91, 81,139,199, - 1, 1, 13,254,242, 2, 53,235, 1, 64,254,192,240,254,151, 1, 1, 1,212,254, 43, 2, 2, 1,104,240, 1, 64,254,192,235,209, -132,244,158,123, 73, 37, 16,108, 11, 43, 63, 0, 0, 1, 0,115,254, 86, 5, 72, 5,240, 0, 29, 0, 0, 1, 6, 7, 6, 17, 20, - 23, 22, 51, 50, 55, 54, 25, 1, 51, 17, 35, 17, 6, 7, 6, 35, 32, 39, 38, 17, 16, 19, 54, 37, 2,236,180, 96,133,110, 98,195, -196, 98, 99,217,217, 68,104,104,170,255, 0,156,162,186,151, 1, 40, 5, 74, 18,132,185,254,238,249,171,152,152,153, 1, 11, 2, -236,248,129, 2,144,132, 64, 63,213,221, 1, 71, 1, 54, 1, 8,213, 1, 0, 0, 0, 1, 0,113,254, 86, 4,140, 4,123, 0, 26, - 0, 0, 1, 6, 7, 6, 21, 20, 23, 22, 32, 54, 53, 17, 51, 17, 35, 17, 14, 1, 35, 34, 39, 38, 53, 52, 55, 54, 51, 2,139,154, - 80,114, 94, 83, 1, 76,168,184,184, 58,177,144,218,133,137,158,127,253, 3,253, 14, 99,141,208,189,129,116,231,203, 2, 49,249, -246, 2, 82,100, 97,162,168,248,236,200,162, 0, 0, 1, 0,201,254, 75, 5,226, 5,213, 0, 37, 0, 0, 1, 32, 23, 22, 17, 20, - 7, 6, 7, 6, 7, 6, 7, 39, 54, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 21, 17, 35, 17, 51, 17, 54, 55, 54, - 3, 76, 1, 39,177,190, 60, 67,170,195,241,185, 73, 97,134,125,217,152,136, 44, 54,126,115,205,203,115,113,202,202, 78,105,105, - 4,123,179,194,254,253,204,161,178,128,147, 69, 53, 12,133, 22, 50, 87,122,109,104,127,192,157,150,134,129,126,222,254, 39, 5, -213,253,154,135, 66, 67, 0, 0, 0, 2, 0, 45,255,227, 4,146, 4,154, 0, 23, 0, 77, 0, 0, 1, 38, 35, 34, 7, 6, 7, 6, - 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 51, 50, 55, 54, 55, 54, 37, 22, 21, 20, 7, 6, 33, 34, 39, 38, 35, 34, 7, 39, 54, 51, - 50, 23, 22, 51, 50, 55, 54, 53, 52, 39, 6, 7, 6, 7, 6, 39, 38, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, - 50, 23, 54, 55, 23, 6, 3, 44,127,141, 31, 55, 29, 37, 29, 16, 14, 12, 15, 24, 26, 35, 32, 30, 25, 71, 59, 73, 36, 1, 11,108, -127,111,254,247,141, 99, 75, 53, 65, 81, 84,135, 95,130, 82, 63, 91,157, 79, 75, 49, 27, 31, 70,117,102, 71, 41, 72, 50, 64, 48, - 41, 30, 29, 31, 46, 62, 80,101, 94,210,144, 56, 42,136, 55, 3, 68,152, 22, 11, 33, 26, 32, 27, 33, 32, 21, 28, 17, 20, 6, 5, - 25, 20, 49, 24, 50,192,212,176,156,136, 46, 35, 65,147, 76, 46, 35, 94, 89,127,140,113, 25, 23, 52, 43, 38, 2, 1, 10, 7, 34, - 26, 72, 52, 66, 59, 59, 61, 47, 63, 34, 43,159, 86,104, 80,146, 0, 1, 0, 79,254, 86, 5, 11, 5,246, 0, 33, 0, 0, 5, 4, - 33, 32, 1, 0, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 7, 35, 54, 55, 54, 33, 32, 23, 22, 21, 20, 7, 0, 1, 22, 51, 32, 55, - 4,250,255, 0,254,237,254,175,254,185, 2,186,179,108,108, 99,164,180, 94, 35, 24,240, 44, 86,163, 1, 24, 1, 19,161,162,162, -254,247,254, 24,156,213, 1, 41,232,236,190, 1,163, 1,241,219,132,156,141,101, 93,146, 54, 63,161,102,194,144,145,241,216,182, -254,242,254,133,181,179, 0, 0, 0, 1, 0,100,254, 86, 4,106, 4,123, 0, 32, 0, 0, 1, 6, 35, 32, 1, 0, 55, 54, 53, 52, - 39, 38, 35, 34, 7, 6, 7, 35, 54, 55, 54, 51, 50, 4, 21, 20, 7, 6, 1, 22, 51, 50, 55, 4, 92,218,234,254,238,254,222, 2, - 66,167, 92, 92, 84,139,153, 80, 30, 20,204, 37, 73,139,238,232, 1, 20,138,175,254, 47,145,169,253,197,254,239,153, 1,121, 1, - 89,194,107,125,111, 83, 75,117, 44, 50,129, 82,156,232,194,164,156,197,254,224,186,144, 0, 0, 0, 2, 0,115, 0, 0, 5,182, - 5,239, 0, 2, 0, 53, 0, 0, 37, 33, 9, 3, 38, 39, 38, 35, 34, 15, 1, 53, 54, 55, 54, 51, 50, 23, 22, 23, 9, 1, 54, 55, - 54, 51, 50, 23, 22, 23, 21, 39, 38, 35, 34, 7, 6, 7, 9, 1, 22, 23, 22, 59, 1, 21, 33, 53, 51, 50, 55, 54, 1,218, 2,110, -254,205,254, 20, 1,128,254,220, 19, 26, 34, 63, 25, 22, 69, 33, 32, 31, 28,114, 75, 44, 47, 1, 2, 1, 9, 52, 39, 75,114, 29, - 30, 32, 33, 68, 23, 24, 60, 38, 19, 26,254,210, 1,116, 6, 7, 29, 69, 71,250,195, 71, 72, 26, 12,170, 1,202,254,104, 2, 61, - 1,187, 29, 26, 34, 4, 10,187, 11, 5, 5, 67, 40, 70,254,129, 1,127, 75, 35, 67, 5, 5, 11,187, 10, 4, 34, 17, 38,254, 69, -253,195, 9, 8, 33,170,170, 33, 15, 0, 0, 0, 0, 3, 0, 54, 0, 0, 4,203, 4,123, 0, 0, 0, 3, 0, 54, 0, 0, 37, 41, - 1, 3, 9, 1, 3, 38, 39, 38, 35, 34, 15, 1, 53, 54, 55, 54, 51, 50, 23, 22, 23, 27, 1, 54, 55, 54, 51, 50, 23, 22, 23, 21, - 39, 38, 35, 34, 7, 6, 7, 3, 1, 22, 23, 22, 59, 1, 21, 33, 53, 51, 50, 55, 54, 4,203,252,207, 1,204,228,254, 91, 1, 57, -239, 21, 17, 29, 54, 21, 19, 58, 28, 27, 26, 24,131, 64, 37, 40,197,197, 40, 37, 64,131, 24, 26, 27, 28, 58, 19, 21, 54, 29, 17, - 21,246, 1, 45, 6, 5, 25, 58, 73,251,107, 73, 58, 25, 5,158, 1, 56,254,238, 1,164, 1, 61, 28, 14, 25, 3, 7,141, 8, 4, - 4, 51, 30, 53,254,250, 1, 6, 53, 30, 51, 4, 4, 8,141, 7, 3, 25, 14, 28,254,184,254,103, 8, 5, 25,158,158, 25, 5, 0, - 0, 2, 0,115,255,227, 5, 37, 6, 16, 0, 29, 0, 43, 0, 0, 1, 36, 7, 6, 7, 54, 55, 54, 51, 50, 0, 16, 0, 33, 32, 39, - 38, 17, 16, 55, 54, 33, 50, 55, 54, 55, 21, 6, 7, 6, 18, 16, 38, 35, 34, 7, 6, 21, 20, 23, 22, 51, 50, 55, 3, 42,254,214, - 87, 56, 22, 81, 85,123,130,245, 1, 50,254,206,254,249,254,206,164,163,139,124, 1,176,115,149,160, 75, 94,151,108,142,200,186, -188,104,105,105,101,191,188, 98, 5, 45, 2,115, 74,160, 86, 34, 49,254,188,253,240,254,188,156,155, 1, 80, 1,222,210,187, 10, - 10, 39,177, 36, 8, 6,252, 65, 1,130,230,115,116,192,189,120,115,115, 0, 0, 0, 2, 0,113,255,227, 4, 91, 6, 16, 0, 31, - 0, 47, 0, 0, 1, 38, 7, 6, 7, 54, 55, 54, 51, 50, 23, 22, 16, 7, 6, 35, 34, 39, 38, 17, 16, 55, 54, 33, 50, 55, 54, 55, - 21, 6, 7, 6, 19, 52, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 51, 50, 55, 54, 2,155,227, 73, 44, 20, 41,101, 91,120,204,127, -128,128,127,219,255,137,136,116,103, 1, 79, 95, 92, 83, 71, 93, 69, 90,168, 83, 84,146,149, 86, 88, 88, 84,151,148, 82, 83, 5, - 55, 2,120, 74,169, 70, 54, 49,162,162,253,240,162,162,156,155, 1, 80, 1,222,210,187, 10, 10, 39,167, 39, 5, 6,252,248,205, -114,115,115,116,203,199,120,115,115,116, 0, 0, 0, 1, 0, 44,254, 86, 4,183, 5,213, 0, 15, 0, 0, 1, 17, 35, 53, 33, 17, - 35, 17, 33, 21, 35, 17, 33, 17, 51, 17, 4,183,203,254,235,203,254,235,203, 1,224,203, 4, 96,254,242,100,250,160, 5, 96,100, - 1, 14, 1,117,254,139, 0, 0, 0, 1, 0, 55,254, 85, 4, 20, 5,207, 0, 15, 0, 0, 1, 17, 35, 53, 35, 17, 35, 17, 35, 21, - 35, 17, 33, 17, 51, 17, 4, 20,173,229,185,229,173, 1,146,185, 4, 95,255, 0,112,250,134, 5,122,112, 1, 0, 1,112,254,144, - 0, 1, 0,111,255,242, 4,206, 4,103, 0, 43, 0, 0, 1, 2, 7, 6, 39, 38, 55, 54, 55, 54, 39, 38, 35, 34, 7, 53, 54, 23, - 22, 23, 22, 7, 55, 18, 55, 54, 23, 22, 7, 6, 7, 6, 23, 22, 51, 50, 55, 21, 6, 39, 38, 39, 38, 55, 2, 40, 96,200,141, 3, - 1, 61, 96,136, 91, 43, 26,142, 57, 91, 82,126,246, 33, 19, 42,189, 96,200,141, 3, 1, 61, 96,136, 91, 43, 26,142, 57, 91, 82, -126,246, 33, 19, 42, 1,153,254,247,124, 89,145, 68, 84,132,124,203,169,104,108,224, 61, 17, 32,240,140,112,108, 1, 9,124, 89, -145, 68, 84,132,124,203,169,104,108,224, 61, 17, 32,240,140,112, 0, 2, 0,183,254, 86, 4,164, 4,123, 0, 21, 0, 29, 0, 0, - 19, 54, 55, 54, 55, 54, 51, 50, 0, 16, 2, 35, 34, 38, 39, 18, 41, 1, 21, 33, 32, 19, 36, 16, 38, 32, 6, 16, 22, 32,186, 2, - 88, 61,151, 59,182,204, 0,255,255,204,123,177, 58, 5, 1, 32, 1,244,254, 28,254, 10, 6, 3, 45,167,254,220,167,167, 1, 36, - 2, 37,204,167,102, 90, 35,254,188,253,240,254,188, 97,100,254, 88,170, 2,218, 52, 1,150,231,231,254,106,231,255,255, 0,113, -255,227, 3,231, 4,123, 18, 6, 0, 70, 0, 0,255,255,255,219,254, 86, 1,121, 6, 20, 18, 6, 0, 77, 0, 0, 0, 3, 0,115, -255,227, 5,217, 5,240, 0, 7, 0, 15, 0, 26, 0, 0, 1, 33, 18, 23, 22, 32, 55, 54, 19, 38, 39, 38, 32, 7, 6, 7, 1, 32, - 0, 17, 16, 0, 33, 32, 0, 16, 0, 5, 3,252, 69, 8,122,129, 1,184,129,119, 1, 22, 98,129,254, 72,129, 96, 25, 1,214, 1, - 58, 1,120,254,136,254,198,254,197,254,135, 1,121, 2,198,254,255,154,164,164,153, 1,172,186,126,164,164,121,191, 2,128,254, - 91,254,158,254,159,254, 91, 1,164, 2,196, 1,165, 0, 0, 0, 0, 1, 0,113,255,227, 3,216, 4,123, 0, 33, 0, 0, 1, 38, - 39, 38, 35, 34, 7, 6, 7, 33, 21, 33, 22, 23, 22, 51, 50, 63, 1, 21, 7, 6, 35, 32, 39, 38, 16, 55, 54, 33, 50, 23, 22, 23, - 3,216, 37, 37, 99,106,183,102, 95, 18, 2,165,253, 91, 18, 95,102,183,128, 77, 74, 79,104,107,254,244,156,157,157,156, 1, 12, -101,110, 40, 39, 3,174, 13, 10, 26, 99, 92,169,144,169, 92, 99, 26, 25,167, 18, 22,156,156, 2, 40,156,156, 22, 8, 12, 0, 0, - 0, 1, 0,196,255,227, 4, 43, 4,123, 0, 33, 0, 0, 19, 53, 54, 55, 54, 51, 32, 23, 22, 16, 7, 6, 33, 34, 47, 1, 53, 23, - 22, 51, 50, 55, 54, 55, 33, 53, 33, 38, 39, 38, 35, 34, 7, 6,196, 39, 40,110,101, 1, 12,156,157,157,156,254,244,107,104, 79, - 74, 77,128,183,102, 95, 18,253, 91, 2,165, 18, 95,102,183,106, 99, 37, 3,174,163, 12, 8, 22,156,156,253,216,156,156, 22, 18, -167, 25, 26, 99, 92,169,144,169, 92, 99, 26, 10,255,255, 0,201, 0, 0, 4,141, 5,213, 18, 6, 0,160, 0, 0,255,255, 0,186, -254, 86, 4,164, 6, 20, 18, 6, 0,192, 0, 0,255,255, 0,115,255,227, 5, 39, 5,240, 18, 6, 0, 38, 0, 0, 0, 1, 0,201, - 0, 0, 6, 31, 5,213, 0, 12, 0, 0, 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,254, 33, 1,223,250, 43, 5, 31,254, 25, 1,231,250,225, 0, 0, 1, 0,127,254, 86, 4,179, - 4, 96, 0, 12, 0, 0, 19, 33, 19, 1, 33, 17, 35, 17, 1, 35, 1, 17, 35,127, 1, 27,254, 1, 0, 1, 27,185,254,236,153,254, -235,185, 4, 96,254,123, 1,133,251,160, 3,178,254, 96, 1,160,250,164, 0, 0, 0, 2, 0, 85,254, 86, 4,164, 4,123, 0, 24, - 0, 32, 0, 0, 23, 17, 52, 55, 54, 55, 54, 51, 50, 0, 16, 2, 35, 34, 38, 39, 17, 33, 21, 33, 21, 35, 53, 35, 53, 0, 16, 38, - 32, 6, 16, 22, 32,186, 90, 61,151, 59,182,204, 0,255,255,204,123,177, 58, 1,229,254, 27,185,101, 3,144,167,254,220,167,167, - 1, 36,144, 2,181,231,140,102, 90, 35,254,188,253,240,254,188, 97,100,254,200,170,112,112,170, 1,244, 1,150,231,231,254,106, -231, 0, 0, 0,255,255, 0,115,255,227, 5, 39, 5,240, 18, 6, 1, 72, 0, 0,255,255, 0,115,255,227, 5, 39, 5,240, 18, 38, - 3, 22, 0, 0, 16, 7, 0,121, 2, 51, 0, 0,255,255, 0,115,255,227, 5, 39, 5,240, 16, 39, 0,121, 0,228, 0, 0, 18, 6, - 3, 26, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 18, 38, 3, 50, 0, 0, 16, 7, 6,135, 4,238, 1,117,255,255, 0,201, - 0, 0, 4,139, 5,213, 18, 38, 3, 50, 0, 0, 16, 7, 6,132, 4,229, 1,117, 0, 1,255,250,254,102, 5,172, 5,213, 0, 29, - 0, 0, 37, 16, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 38, 35, 33, 17, 35, 17, 33, 53, 33, 21, 33, 17, 33, 50, 23, 22, 21, - 5,172,204,228, 76, 62,134, 56, 55,124,124,254,136,203,254, 82, 4,139,253,238, 1,161,186,113,109,104,254,242,244,170, 75, 75, -194, 1, 34,159,158,253, 57, 5, 43,170,170,254, 70,119,114,238,255,255, 0,201, 0, 0, 4,106, 5,213, 18, 38, 3, 48, 0, 0, - 16, 7, 6,133, 4,174, 1,117, 0, 1, 0,115,255,227, 5, 39, 5,240, 0, 36, 0, 58, 64, 32, 36,149, 35,173, 37, 26,161, 25, -174, 30,149, 21,145, 37, 8,161, 9,174, 4,149, 13,140, 37, 38, 35, 25, 8, 34, 0, 25, 17, 37, 16,220,236, 50,212, 60,204,204, - 49, 0, 16,244,236,244,236, 16,244,236,244,236, 16,244,236, 48, 1, 18, 23, 22, 33, 50, 55, 54, 55, 21, 6, 7, 6, 35, 32, 39, - 38, 17, 16, 55, 54, 33, 50, 23, 22, 23, 21, 38, 39, 38, 35, 32, 7, 6, 7, 33, 21, 1, 72, 7,129,136, 1, 0,130,116,115,102, -106,119,118,132,254,173,195,195,195,195, 1, 83,134,118,119,104,102,115,116,130,255, 0,136,103, 25, 2,178, 2,199,254,242,147, -157, 47, 47, 95,211, 72, 36, 36,207,208, 1,103, 1,104,207,208, 36, 35, 71,213, 95, 47, 47,156,119,198,170, 0,255,255, 0,135, -255,227, 4,162, 5,240, 18, 6, 0, 54, 0, 0,255,255, 0,201, 0, 0, 1,147, 5,213, 18, 6, 0, 44, 0, 0,255,255, 0,201, - 0, 0, 1,147, 5,213, 18, 38, 3, 35, 0, 0, 17, 7, 6,132, 3, 47, 1,117, 0, 8,180, 0, 10, 7, 1, 7, 43, 49, 0, 0, -255,255,255,150,254,102, 1,147, 5,213, 18, 6, 0, 45, 0, 0, 0, 2, 0, 54,255,227, 8, 47, 5,213, 0, 22, 0, 33, 0, 0, - 1, 33, 21, 16, 3, 6, 5, 53, 54, 55, 18, 25, 1, 33, 17, 51, 50, 4, 21, 20, 4, 35, 33, 1, 52, 39, 38, 43, 1, 17, 51, 50, - 55, 54, 4,112,254, 27,132, 98,254,145,212, 67,117, 3,120,234,251, 1, 16,254,240,251,254, 76, 2,234, 79, 78,163,224,224,161, - 80, 79, 5, 43,213,254, 24,254,170,253, 56,167, 46,168, 1, 37, 2, 53, 1, 27,253,154,218,222,221,218, 1,183,139, 68, 67,253, -221, 68, 67, 0, 0, 2, 0,201, 0, 0, 7,204, 5,213, 0, 18, 0, 29, 0, 0, 33, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, - 51, 50, 4, 21, 20, 4, 35, 1, 52, 39, 38, 43, 1, 17, 51, 50, 55, 54, 4, 13,253,134,202,202, 2,122,202,234,251, 1, 16,254, -240,251, 1, 54, 79, 78,163,224,224,161, 80, 79, 2,199,253, 57, 5,213,253,156, 2,100,253,154,218,222,221,218, 1,183,139, 68, - 67,253,221, 68, 67, 0, 0, 0, 0, 1,255,250, 0, 0, 5,172, 5,213, 0, 20, 0, 0, 1, 50, 23, 22, 21, 17, 35, 17, 52, 38, - 35, 33, 17, 35, 17, 33, 53, 33, 21, 33, 17, 4, 20,186,113,109,201,124,124,254,136,203,254, 82, 4,139,253,238, 3,113,119,114, -238,254,102, 1,138,159,158,253, 57, 5, 43,170,170,254, 70, 0,255,255, 0,201, 0, 0, 5,106, 5,213, 18, 38, 3, 55, 0, 0, - 16, 7, 6,133, 4,238, 1,117,255,255, 0,201, 0, 0, 5, 51, 5,213, 18, 38, 3, 53, 0, 0, 16, 7, 6,135, 4,229, 1,117, -255,255, 0, 35,255,227, 4,189, 5,213, 16, 39, 6,139, 4,114, 1,117, 18, 6, 3, 64, 0, 0, 0, 1, 0,201,254, 86, 5, 59, - 5,213, 0, 11, 0, 0, 41, 1, 17, 51, 17, 33, 17, 51, 17, 33, 17, 35, 2,188,254, 13,202, 2,222,202,254, 74,201, 5,213,250, -213, 5, 43,250, 43,254, 86, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 6, 0, 36, 0, 0, 0, 2, 0,201, 0, 0, 4,236, - 5,213, 0, 10, 0, 23, 0, 44, 64, 24, 13,149, 23,129, 22, 5,149, 14,173, 6,149, 22, 25, 11, 0, 25, 18, 46, 5, 13, 28, 23, - 4, 24, 16,252,236, 50,244,236,196,204, 49, 0, 47,236,244,236, 16,244,236, 48, 1, 52, 39, 38, 35, 33, 17, 33, 50, 55, 54, 17, - 21, 33, 17, 33, 50, 4, 21, 20, 4, 35, 33, 17, 4, 23, 79, 78,163,254,188, 1, 68,163, 78, 79,253,124, 1, 78,251, 1, 16,254, -240,251,253,232, 1,183,139, 68, 67,253,221, 68, 67, 4,168,166,254, 64,218,222,221,218, 5,213,255,255, 0,201, 0, 0, 4,236, - 5,213, 18, 6, 0, 37, 0, 0, 0, 1, 0,201, 0, 0, 4,106, 5,213, 0, 5, 0, 25, 64, 12, 4,149, 1,129, 0, 7, 2, 4, - 28, 1, 4, 6, 16,252,252,204,196, 49, 0, 47,244,236, 48, 51, 17, 33, 21, 33, 17,201, 3,161,253, 41, 5,213,170,250,213, 0, - 0, 2, 0, 49,254, 86, 6, 3, 5,213, 0, 7, 0, 23, 0, 53, 64, 15, 2, 28, 14, 25, 19, 28, 16, 23, 3, 28, 13, 20, 28, 23, - 24, 16,220,236,212,236, 16,212,236,204,212,236, 49, 0, 64, 12, 3,149, 13,129, 18, 22,189, 15, 0, 23,149, 20, 47,236, 50, 50, -236, 50,244,236, 48, 37, 33, 17, 33, 21, 16, 3, 6, 5, 54, 55, 18, 25, 1, 33, 17, 51, 17, 35, 17, 33, 17, 35, 17, 1,200, 2, -168,254, 27,132, 24,254,168,132, 50,117, 3,120,201,201,251,192,201,170, 4,129,212,254, 17,254,177, 61, 50, 57,126, 1, 37, 2, - 53, 1, 26,250,213,253,172, 1,170,254, 86, 2, 84, 0, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 18, 6, 0, 40, 0, 0, - 0, 1, 0, 59, 0, 0, 6,173, 5,213, 0, 21, 0,110, 64, 22, 66, 2, 20, 16,129, 14, 8, 12,149, 0, 18,173, 6, 10, 14, 23, - 8, 21, 28, 11, 20, 22, 16,212, 60,252, 60,196, 49, 0, 47, 60, 60,244, 60,236, 50, 16,244, 60, 60, 48, 75, 83, 88, 64, 36, 4, - 17, 7, 2, 1, 5, 17, 6, 7, 6, 4, 17, 1, 3, 17, 2, 2, 1, 15, 17, 18, 13, 12, 16, 17, 17, 18, 17, 15, 17, 12, 14, 17, - 13, 13, 12, 5, 7, 16,236, 16,236, 7, 16,236, 8, 16,236, 5, 7, 16,236, 16,236, 7, 16,236, 8, 16,236, 89, 1, 51, 1, 51, - 9, 1, 35, 1, 35, 17, 35, 17, 35, 1, 35, 9, 1, 51, 1, 51, 17, 51, 3,217,149, 1, 52,217,254,162, 1,144,217,254,155,150, -202,150,254,155,217, 1,144,254,162,217, 1, 52,149,202, 3,113, 2,100,253, 71,252,228, 2,199,253, 57, 2,199,253, 57, 3, 28, - 2,185,253,156, 2,100, 0, 0,255,255, 0,156,255,227, 4,115, 5,240, 18, 6, 0, 22, 0, 0, 0, 1, 0,201, 0, 0, 5, 51, - 5,213, 0, 9, 0,121, 64, 30, 3, 17, 9, 9, 8, 8, 17, 4, 4, 3, 66, 8, 3, 9, 6,175, 2, 5, 9, 4, 7, 3, 28, 0, - 54, 7, 28, 6, 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, 8, 56, 3, 72, 8, 71, 3,105, 8,102, 3,128, 8, 7, 6, 4, 9, 9, 21, - 4, 26, 9, 70, 4, 73, 9, 87, 4, 88, 9,101, 4,105, 9,121, 9,133, 4,138, 9,149, 4,154, 9,159, 11, 16, 93, 0, 93, 1, - 17, 35, 17, 1, 33, 17, 51, 17, 1, 5, 51,196,253,106,254,240,196, 2,150, 5,213,250, 43, 4,225,251, 31, 5,213,251, 31, 4, -225, 0, 0, 0,255,255, 0,201, 0, 0, 5, 51, 5,213, 16, 39, 6,139, 4,245, 1,117, 18, 6, 3, 53, 0, 0,255,255, 0,201, - 0, 0, 5,106, 5,213, 18, 6, 0, 46, 0, 0, 0, 1, 0, 54,255,228, 5, 58, 5,213, 0, 15, 0, 38, 64, 20, 11,149, 6,129, - 9, 1,149, 0,140, 9, 17, 4, 10, 28, 7, 11, 28, 6, 1, 16, 16,212,212,236,212,236,236, 49, 0, 47,244,236, 16,244,236, 48, - 23, 53, 54, 55, 18, 25, 1, 33, 17, 35, 17, 33, 21, 16, 3, 6, 54,212, 67,117, 3,120,202,254, 27,132, 98, 28,167, 46,168, 1, - 37, 2, 53, 1, 26,250, 43, 5, 43,212,254, 24,254,170,253, 0,255,255, 0,201, 0, 0, 6, 31, 5,213, 18, 6, 0, 48, 0, 0, -255,255, 0,201, 0, 0, 5, 59, 5,213, 18, 6, 0, 43, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 18, 6, 0, 50, 0, 0, - 0, 1, 0,201, 0, 0, 5, 59, 5,213, 0, 7, 0, 31, 64, 16, 4,149, 7,129, 2, 6, 9, 4, 3, 28, 0, 4, 28, 7, 4, 8, - 16,252,236,212,236,236, 49, 0, 47, 60,244,236, 48, 1, 17, 35, 17, 33, 17, 35, 17, 5, 59,202,253, 34,202, 5,213,250, 43, 5, - 43,250,213, 5,213, 0, 0, 0,255,255, 0,201, 0, 0, 4,141, 5,213, 18, 6, 0, 51, 0, 0,255,255, 0,115,255,227, 5, 39, - 5,240, 18, 6, 0, 38, 0, 0,255,255,255,250, 0, 0, 4,233, 5,213, 18, 6, 0, 55, 0, 0, 0, 1, 0, 35,255,227, 4,189, - 5,213, 0, 17, 0, 65, 64, 14, 66, 6,149, 5,140, 16, 13,129, 18, 19, 17, 6, 13, 18, 16,212,196,212,196, 49, 0, 16,228, 50, -244,236, 48, 75, 83, 88, 64, 18, 15, 17, 0, 13, 12, 16, 17, 17, 17, 0, 15, 17, 12, 14, 17, 13, 13, 12, 5, 7, 16,236, 16,236, - 7, 16,236, 8, 16,236, 89, 37, 6, 7, 6, 43, 1, 53, 51, 50, 55, 54, 63, 1, 1, 51, 9, 1, 51, 2,143, 22, 31,103,227, 77, - 63,140, 49, 14, 8, 45,254, 33,217, 1,115, 1,117,217,181, 51, 37,122,170, 75, 22, 18,106, 4,107,252,148, 3,108, 0, 0, 0, - 0, 3, 0,115, 0, 0, 5,217, 5,213, 0, 8, 0, 17, 0, 39, 0, 59, 64, 31, 17, 0,149, 29, 26, 27,129, 39, 9, 8,149, 37, - 18, 39, 41, 16, 13, 25, 33, 18, 0, 27, 28, 37, 17, 28, 4, 25, 22, 16, 40, 16,252,236,212, 60, 60,252, 60, 60,212,236,236, 49, - 0, 47,220, 60,236, 50, 16,244,220, 60,236, 50, 48, 1, 6, 7, 6, 21, 20, 23, 22, 23, 51, 54, 55, 54, 53, 52, 39, 38, 39, 3, - 38, 39, 38, 17, 16, 55, 54, 55, 53, 51, 21, 22, 23, 22, 17, 16, 7, 6, 7, 21, 35, 2,194,150, 98,130,130, 98,150,202,150, 98, -128,128, 98,150,202,244,158,189,189,157,245,202,244,157,188,188,157,244,202, 4,142, 21, 87,115,198,197,115, 87, 21, 21, 87,115, -197,198,115, 87, 21,252, 16, 22,134,160, 1, 15, 1, 15,161,135, 22,159,159, 23,134,161,254,241,254,242,161,134, 23,157, 0, 0, -255,255, 0, 61, 0, 0, 5, 59, 5,213, 18, 6, 0, 59, 0, 0, 0, 1, 0,201,254, 86, 6, 4, 5,213, 0, 11, 0, 40, 64, 21, - 6, 2,129, 11,189, 8, 4,149, 1, 13, 0, 28, 9, 6, 28, 7, 3, 28, 2, 4, 12, 16,252,236,212,236,212,236,204, 49, 0, 47, -236, 50,236,244, 60, 48, 41, 1, 17, 51, 17, 33, 17, 51, 17, 51, 17, 35, 5, 59,251,142,202, 2,222,202,201,201, 5,213,250,213, - 5, 43,250,213,253,172, 0, 0, 0, 1, 0,175, 0, 0, 4,179, 5,213, 0, 16, 0, 35, 64, 18, 2,149, 12,173, 14, 7,129, 0, - 18, 4, 1, 14, 28, 15, 8, 28, 7, 17, 16,220,236,212,236, 50,236, 49, 0, 47,228, 50,244,236, 48, 33, 17, 33, 34, 39, 38, 53, - 17, 51, 17, 20, 22, 51, 33, 17, 51, 17, 3,232,254, 95,186,113,109,201,124,124, 1,120,203, 2,199,119,114,238, 1, 55,254,217, -159,158, 2,100,250, 43, 0, 0, 0, 1, 0,201, 0, 0, 7, 57, 5,213, 0, 11, 0, 40, 64, 21, 10, 2, 6,129, 0, 8,149, 5, - 13, 4, 2, 28, 3, 10, 28, 11, 7, 28, 6, 4, 12, 16,252,236,212,252,212,236,236, 49, 0, 47,236, 50,244, 60,196, 48, 37, 33, - 17, 51, 17, 33, 17, 51, 17, 33, 17, 51, 4,102, 2, 9,202,249,144,202, 2, 9,202,170, 5, 43,250, 43, 5,213,250,213, 4,221, - 0, 1, 0,201,254, 86, 8, 2, 5,213, 0, 15, 0, 49, 64, 26, 6, 10, 2,129, 15,189, 12, 8, 4,149, 1, 17, 0, 28, 13, 10, - 28, 11, 6, 28, 7, 3, 28, 2, 4, 16, 16,252,236,212,252,212,236,212,236,204, 49, 0, 47,236, 50, 50,236,244, 60,196, 48, 41, - 1, 17, 51, 17, 33, 17, 51, 17, 33, 17, 51, 17, 51, 17, 35, 7, 57,249,144,202, 2, 9,202, 2, 9,202,201,201, 5,213,250,213, - 4,221,251, 35, 5, 43,250,213,253,172, 0, 0, 0, 2, 0, 50, 0, 0, 6, 24, 5,213, 0, 12, 0, 23, 0, 42, 64, 22, 2,149, - 3,129, 0, 18,149, 5,173, 19,149, 0, 16, 13, 25, 9, 18, 4, 28, 1, 3, 24, 16,204,220,236, 50,212,236,204, 49, 0, 47,236, -244,236, 16,244,236, 48, 33, 17, 33, 53, 33, 17, 33, 50, 4, 21, 20, 4, 35, 1, 52, 39, 38, 35, 33, 17, 33, 50, 55, 54, 1,245, -254, 61, 2,141, 1, 78,251, 1, 16,254,240,251, 1, 54, 79, 78,163,254,188, 1, 68,161, 80, 79, 5, 43,170,253,154,218,222,221, -218, 1,183,139, 68, 67,253,221, 68, 67, 0, 0,255,255, 0,201, 0, 0, 6, 70, 5,213, 16, 39, 0, 44, 4,179, 0, 0, 17, 6, - 3, 73, 0, 0, 0, 13, 64, 6, 27, 4, 1, 28, 0, 21, 16,220,252,236, 49, 0, 0, 2, 0,201, 0, 0, 4,236, 5,213, 0, 10, - 0, 21, 0, 36, 64, 19, 5,149, 13,173, 11,129, 6,149, 21, 23, 0, 25, 17, 5, 12, 28, 11, 4, 22, 16,252,236, 50,212,236,204, - 49, 0, 47,236,228,244,236, 48, 1, 52, 39, 38, 35, 33, 17, 33, 50, 55, 54, 1, 51, 17, 33, 50, 4, 21, 20, 4, 35, 33, 4, 23, - 79, 78,163,254,188, 1, 68,163, 78, 79,252,178,202, 1, 78,251, 1, 16,254,240,251,253,232, 1,183,139, 68, 67,253,221, 68, 67, - 4,168,253,154,218,222,221,218, 0, 1, 0,111,255,227, 5, 35, 5,240, 0, 36, 0, 58, 64, 32, 1,149, 2,173, 37, 11,161, 12, -174, 7,149, 16,145, 37, 29,161, 28,174, 33,149, 24,140, 37, 38, 0, 3, 25, 20, 2, 29, 12, 37, 16,220, 60,204,212,236, 50,204, - 49, 0, 16,244,236,244,236, 16,244,236,244,236, 16,244,236, 48, 1, 33, 53, 33, 38, 39, 38, 33, 34, 7, 6, 7, 53, 54, 55, 54, - 51, 32, 23, 22, 17, 16, 7, 6, 33, 34, 39, 38, 39, 53, 22, 23, 22, 51, 32, 55, 54, 4, 78,253, 70, 2,178, 25,103,136,255, 0, -130,116,115,102,104,119,118,134, 1, 83,195,195,195,195,254,173,132,118,119,106,102,115,116,130, 1, 0,136,129, 2,199,170,198, -119,156, 47, 47, 95,213, 71, 35, 36,208,207,254,152,254,153,208,207, 36, 36, 72,211, 95, 47, 47,157,147, 0, 0, 0, 2, 0,211, -255,227, 7,204, 5,240, 0, 15, 0, 38, 0, 56, 64, 31, 0,149, 20,145, 39, 8,149, 28,140, 39, 33,149, 38,173, 36,129, 35, 40, - 12, 25, 24, 4, 25, 32, 16, 33, 37, 28, 36, 4, 39, 16,252,236, 50,212, 60,236,212,236,204, 49, 0, 47,228,244,236, 16,244,236, - 16,244,236, 48, 1, 34, 7, 6, 17, 16, 23, 22, 51, 50, 55, 54, 17, 16, 39, 38, 1, 18, 55, 54, 33, 32, 23, 22, 17, 16, 7, 6, - 33, 32, 39, 38, 3, 35, 17, 35, 17, 51, 17, 5, 26,220,130,129,129,130,220,220,128,129,129,128,252,119, 30,151,189, 1, 59, 1, - 58,188,188,188,188,254,198,254,197,189,179, 9,201,202,202, 5, 76,164,164,254,229,254,230,164,164,164,164, 1, 26, 1, 27,164, -164,254, 37, 1, 5,168,210,210,211,254,158,254,159,210,211,210,200, 1, 74,253, 57, 5,213,253,156, 0, 0, 0, 0, 2, 0, 59, - 0, 0, 4,198, 5,213, 0, 19, 0, 28, 0, 69, 64, 22, 66, 21,149, 6,129, 16, 11,149, 27,173, 9, 16, 30, 4, 10, 20, 28, 7, - 24, 25, 3, 29, 16,212,236,212,236, 50,236, 49, 0, 47, 60,244,236, 16,244,236, 48, 75, 83, 88, 64, 13, 13, 12, 11, 3, 10, 14, - 17, 17, 15, 17, 16, 17, 16, 5, 7, 16,236, 16,236, 17, 23, 57, 89, 1, 46, 1, 53, 52, 54, 41, 1, 17, 35, 17, 35, 34, 6, 7, - 3, 35, 19, 62, 1, 1, 35, 34, 6, 21, 20, 22, 59, 1, 2, 2,125,131,252, 1, 0, 1,200,202,220,120,139, 74,191,217,205, 62, -123, 2, 59,254,146,149,149,146,254, 2,188, 36,186,141,216,214,250, 43, 2,119, 98,150,254,129, 1,152,126,144, 2,137,133,131, -131,135, 0, 0,255,255, 0,123,255,227, 4, 45, 4,123, 18, 6, 0, 68, 0, 0, 0, 2, 0,113,255,227, 4,117, 5,240, 0, 28, - 0, 45, 0, 73, 64, 40, 29, 22, 44,185, 6, 46, 0,134, 28,136, 2,185, 26, 46, 37,185, 14,140, 46, 29, 40, 22, 33, 4, 47, 69, - 28, 40, 18, 10, 81, 18, 4, 18, 24, 33, 18, 18, 69, 46, 16,252,236,212,236, 16,244,236,196,236, 17, 18, 57, 18, 57, 49, 0, 16, -244,236, 16,212,236,244,236, 16,212,236, 57, 57, 48, 1, 38, 35, 34, 21, 20, 5, 22, 23, 22, 17, 16, 7, 6, 35, 34, 39, 38, 17, - 52, 55, 54, 55, 38, 53, 16, 33, 50, 23, 1, 6, 7, 6, 21, 20, 23, 22, 51, 50, 54, 53, 52, 39, 38, 39, 38, 3,236,102,239,253, - 1, 8,208,117,142,137,137,240,239,138,137,137, 53, 75,156, 1,185,221,120,254, 24, 68, 55, 86, 85, 86,149,147,172, 91, 97,126, - 64, 5, 17, 70,117, 92, 48, 37,112,135,254,235,254,247,156,157,157,156, 1, 19,204,165, 64, 36, 79,141, 1, 16, 70,254, 40, 29, - 73,113,204,203,114,115,232,190,199, 96,103, 11, 6, 0, 0, 0, 0, 3, 0,186, 0, 0, 4, 62, 4, 96, 0, 10, 0, 21, 0, 38, - 0, 45, 64, 24, 0,169, 12, 38, 11,169, 22,188, 1,169, 38, 17, 18, 26, 40, 6, 18, 33, 0, 11, 8, 22, 70, 39, 16,252,236, 50, -212,236,204,212,236, 49, 0, 47,236,244,236, 16,212,236, 48, 1, 17, 33, 50, 55, 54, 53, 52, 39, 38, 35, 1, 17, 51, 50, 55, 54, - 53, 52, 39, 38, 35, 37, 33, 50, 22, 21, 20, 7, 6, 7, 30, 1, 21, 20, 7, 6, 35, 33, 1,114, 1, 6,129, 66, 63, 63, 69,126, -254,250,242,117, 61, 58, 58, 61,117,254, 86, 1,182,197,212, 54, 54,106,127,140,116,115,214,254, 57, 2, 2,254,151, 46, 44, 91, - 94, 41, 45, 1,197,254,218, 38, 36, 75, 72, 36, 37,153,144,133,103, 60, 61, 15, 24,152,114,150, 82, 82, 0, 0, 0, 1, 0,186, - 0, 0, 3,208, 4, 96, 0, 5, 0, 25, 64, 12, 4,169, 1,188, 0, 7, 2, 4, 8, 1, 70, 6, 16,252,252,204,196, 49, 0, 47, -244,236, 48, 51, 17, 33, 21, 33, 17,186, 3, 22,253,162, 4, 96,170,252, 74, 0, 0, 2, 0, 50,254, 86, 5, 46, 4, 96, 0, 7, - 0, 23, 0, 53, 64, 15, 2, 8, 14, 25, 19, 8, 16, 23, 3, 8, 13, 20, 8, 23, 24, 16,220,236,212,236, 16,212,236,204,212,236, - 49, 0, 64, 12, 3,169, 13,188, 18, 22,189, 15, 0, 23,169, 20, 47,236, 50, 50,236, 50,244,236, 48, 37, 33, 17, 33, 21, 16, 7, - 6, 5, 54, 55, 54, 17, 53, 33, 17, 51, 17, 35, 17, 33, 17, 35, 17, 1,166, 2, 24,254,123,118, 20,254,237, 91, 40, 98, 2,245, -184,184,252,116,184,153, 3, 46,134,254,109,223, 17, 37, 40, 85,211, 1,163,212,252, 57,253,189, 1,170,254, 86, 2, 67, 0, 0, -255,255, 0,113,255,227, 4,127, 4,123, 18, 6, 0, 72, 0, 0, 0, 1, 0, 50, 0, 0, 5,173, 4, 96, 0, 21, 0,109, 64, 21, - 66, 2, 20, 16,188, 14, 8, 12,169, 0, 18, 6, 10, 14, 23, 8, 21, 8, 11, 20, 22, 16,212, 60,252, 60,196, 49, 0, 47, 60, 60, -212, 60,236, 50, 16,244, 60, 60, 48, 75, 83, 88, 64, 36, 4, 17, 7, 2, 1, 5, 17, 6, 7, 6, 4, 17, 1, 3, 17, 2, 2, 1, - 15, 17, 18, 13, 12, 16, 17, 17, 18, 17, 15, 17, 12, 14, 17, 13, 13, 12, 5, 7, 16,236, 16,236, 7, 16,236, 8, 16,236, 5, 7, - 16,236, 16,236, 7, 16,236, 8, 16,236, 89, 1, 51, 1, 51, 9, 1, 35, 1, 35, 17, 35, 17, 35, 1, 35, 9, 1, 51, 1, 51, 17, - 51, 3, 75,113, 1, 2,196,254,215, 1, 84,197,254,213,114,183,114,254,213,197, 1, 84,254,215,196, 1, 2,113,183, 2,161, 1, -191,253,245,253,171, 2, 9,253,247, 2, 9,253,247, 2, 85, 2, 11,254, 65, 1,191, 0, 0, 0, 0, 1, 0,133,255,227, 3,200, - 4,124, 0, 49, 0, 60, 64, 33, 38,134, 39,136, 34,185, 42,184, 50, 24,169, 25, 50, 11,134, 10,136, 15,185, 6,140, 50, 30, 18, - 46, 51, 19, 18, 3, 25, 39, 11, 50, 16,220,196,196,212,236,204,212,236, 49, 0, 16,244,236,252,236, 16,212,236, 16,244,236,252, -236, 48, 1, 30, 1, 21, 20, 4, 35, 34, 39, 38, 39, 53, 22, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 43, 1, 53, 51, 50, 55, 54, - 53, 52, 39, 38, 35, 34, 7, 6, 7, 53, 62, 1, 51, 50, 23, 22, 21, 20, 7, 6, 2,194,124,138,254,254,238, 80, 85, 84, 90, 71, - 85, 85, 93,151, 85, 84, 78, 72,137,148,155,116, 67, 68, 70, 69,119, 71, 81, 80, 97, 98,170, 76,196,113,114, 60, 60, 2, 92, 24, -146,108,173,182, 14, 14, 28,171, 37, 19, 18, 56, 56, 90, 88, 56, 51,152, 44, 45, 70, 64, 46, 46, 13, 13, 29,167, 24, 24, 78, 79, -141, 93, 64, 65, 0, 1, 0,193, 0, 0, 4,128, 4, 96, 0, 9, 0, 63, 64, 21, 66, 8, 3, 9, 6,188, 2, 5, 11, 70, 9, 4, - 7, 3, 8, 0, 7, 8, 6, 70, 10, 16,252,236,212,236, 17, 57, 57,236, 49, 0, 47, 60,228, 50, 57, 57, 48, 75, 83, 88, 64, 10, - 3, 17, 9, 9, 8, 8, 17, 4, 4, 3, 7, 16,236, 7, 16,236, 89, 1, 17, 35, 17, 1, 35, 17, 51, 17, 1, 4,128,183,253,228, -236,183, 2, 27, 4, 96,251,160, 3,131,252,125, 4, 96,252,127, 3,129, 0, 0,255,255, 0,193, 0, 0, 4,128, 6, 20, 16, 39, - 2, 49, 0,160,255,204, 18, 6, 3, 85, 0, 0, 0, 1, 0,191, 0, 0, 4,161, 4, 96, 0, 10, 0, 70, 64, 17, 66, 3, 0,188, - 7, 10, 12, 5, 1, 4, 6, 8, 1, 8, 0, 70, 11, 16,252,236, 50,212,196, 17, 57,196, 49, 0, 47, 60,228, 50, 48, 75, 83, 88, - 64, 16, 7, 17, 6, 8, 17, 5, 6, 5, 2, 17, 5, 3, 17, 4, 5, 4, 5, 7, 16,236, 4, 16,236, 7, 16,236, 5, 16,236, 89, - 19, 51, 17, 1, 51, 9, 1, 35, 1, 17, 35,191,185, 2, 37,235,253,174, 2,107,240,253,199,185, 4, 96,254, 29, 1,227,253,244, -253,172, 2, 35,253,221, 0, 0, 0, 1, 0, 46,255,227, 4,115, 4, 96, 0, 15, 0, 38, 64, 20, 11,169, 6,188, 9, 1,169, 0, -140, 9, 17, 70, 10, 8, 7, 11, 8, 6, 1, 16, 16,212,212,236,212,236,236, 49, 0, 47,244,236, 16,244,236, 48, 23, 53, 54, 55, - 54, 17, 53, 33, 17, 35, 17, 33, 21, 16, 3, 6, 46,179, 59, 98, 2,245,184,254,123,118, 94, 29,153, 27,127,207, 1,167,212,251, -160, 3,199,134,254,146,254,252,207, 0, 0, 0, 0, 1, 0,193, 0, 0, 5, 72, 4, 96, 0, 12, 0, 77, 64, 22, 66, 10, 7, 2, - 3, 8, 3, 0,188, 9, 6, 12, 14, 70, 7, 8, 4, 10, 8, 0, 70, 13, 16,252,236,220,236,236, 49, 0, 47, 60,196,236, 50, 17, - 23, 57, 48, 75, 83, 88, 64, 18, 2, 17, 8, 10, 9, 3, 17, 7, 8, 7, 2, 17, 9, 1, 17, 10, 10, 9, 5, 7, 16,237, 16,237, - 7, 16,237, 8, 16,237, 89, 19, 33, 9, 1, 33, 17, 35, 17, 1, 35, 1, 17, 35,193, 1, 6, 1, 62, 1, 63, 1, 4,178,254,203, -184,254,202,178, 4, 96,253, 18, 2,238,251,160, 3,176,253, 39, 2,217,252, 80, 0, 1, 0,193, 0, 0, 4,136, 4, 96, 0, 11, - 0, 39, 64, 20, 9,169, 2, 4, 0,188, 7, 11, 13, 70, 8, 4, 8, 5, 9, 1, 8, 0, 70, 12, 16,252,236, 50,220,236, 50,236, - 49, 0, 47, 60,228, 50,220,236, 48, 19, 51, 17, 33, 17, 51, 17, 35, 17, 33, 17, 35,193,184, 2, 87,184,184,253,169,184, 4, 96, -254, 51, 1,205,251,160, 2, 4,253,252, 0, 0,255,255, 0,113,255,227, 4,117, 4,123, 18, 6, 0, 82, 0, 0, 0, 1, 0,193, - 0, 0, 4,136, 4, 96, 0, 7, 0, 40, 64, 16, 4,169, 7,188, 2, 6, 3, 8, 9, 70, 0, 4, 8, 7, 70, 8, 16,252,236,212, -236,236, 49, 0, 47, 60,244,236, 48, 64, 5,160, 9,128, 9, 2, 1, 93, 1, 17, 35, 17, 33, 17, 35, 17, 4,136,184,253,169,184, - 4, 96,251,160, 3,198,252, 58, 4, 96, 0, 0,255,255, 0,186,254, 86, 4,164, 4,123, 18, 6, 0, 83, 0, 0,255,255, 0,113, -255,227, 3,231, 4,123, 18, 6, 0, 70, 0, 0, 0, 1, 0, 5, 0, 0, 4, 54, 4, 96, 0, 7, 0, 37, 64, 13, 3, 7,169, 0, -188, 5, 9, 1, 3, 8, 0, 6, 8, 16,212,204,252,204,204, 49, 0, 47,244,236, 50, 48, 64, 5,160, 9,128, 9, 2, 1, 93, 19, - 33, 21, 33, 17, 35, 17, 33, 5, 4, 49,254, 66,181,254, 66, 4, 96,170,252, 74, 3,182, 0, 0,255,255, 0, 61,254, 86, 4,127, - 4, 96, 18, 6, 0, 92, 0, 0, 0, 3, 0,113,254, 86, 6,228, 5,213, 0, 15, 0, 52, 0, 67, 0, 64, 64, 35, 57, 12,185, 39, - 28,184, 33,151, 68, 64, 4,185, 47, 21,140, 16,189, 68, 69, 69, 53, 18, 43, 17, 8, 33, 8, 51, 61, 34, 0, 18, 25, 69, 68, 16, -252,236,212, 60, 60,252, 60, 60,212,236,236, 49, 0, 16,236,244, 60,236, 50, 16,228,244, 60,236, 50, 48, 1, 20, 23, 22, 51, 50, - 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 1, 17, 6, 7, 6, 35, 34, 39, 38, 17, 16, 18, 51, 50, 23, 22, 23, 17, 51, 17, 54, 55, - 54, 51, 50, 23, 22, 17, 16, 7, 6, 35, 34, 39, 38, 39, 17, 1, 52, 39, 38, 35, 34, 7, 6, 21, 20, 22, 51, 50, 55, 54, 1, 52, - 68, 67,133,133, 69, 68, 68, 69,133,133, 67, 68, 2, 26, 45, 77, 76,101,201,116,117,232,202,100, 77, 76, 46,185, 46, 77, 76,100, -203,115,116,116,116,202,102, 76, 77, 44, 2, 28, 67, 68,133,134, 69, 69,138,134,133, 68, 67, 2, 47,214,109,109,109,110,213,213, -110,109,109,109,251, 81, 2, 57, 83, 44, 45,155,156, 1, 17, 1, 22, 1, 58, 43, 44, 83, 2, 4,253,252, 83, 44, 43,157,157,254, -234,254,239,156,155, 43, 44, 83,253,201, 3,217,214,109,109,109,110,213,212,220,109,109, 0, 0,255,255, 0, 59, 0, 0, 4,121, - 4, 96, 18, 6, 0, 91, 0, 0, 0, 1, 0,193,254, 86, 5, 64, 4, 96, 0, 11, 0, 40, 64, 21, 6, 2,188, 11,189, 8, 4,169, - 1, 13, 0, 8, 9, 6, 8, 7, 3, 8, 2, 70, 12, 16,252,236,212,236,212,236,204, 49, 0, 47,236, 50,236,244, 60, 48, 41, 1, - 17, 51, 17, 33, 17, 51, 17, 51, 17, 35, 4,136,252, 57,184, 2, 87,184,184,184, 4, 96,252, 57, 3,199,252, 57,253,189, 0, 0, - 0, 1, 0,150, 0, 0, 4, 0, 4, 96, 0, 17, 0, 34, 64, 17, 2,169, 13, 15, 7,188, 0, 19, 70, 1, 15, 8, 16, 8, 8, 7, - 18, 16,220,236,212,236, 50,236, 49, 0, 47,228, 50,212,236, 48, 33, 17, 33, 34, 39, 38, 61, 1, 51, 21, 20, 23, 22, 51, 33, 17, - 51, 17, 3, 72,254,169,153,102, 92,184, 52, 53,104, 1, 41,184, 2, 9, 95, 86,184,234,211,117, 59, 59, 1,190,251,160, 0, 0, - 0, 1, 0,193, 0, 0, 6, 58, 4, 96, 0, 11, 0, 40, 64, 21, 10, 2, 6,188, 0, 8,169, 5, 13, 70, 2, 8, 3, 10, 8, 11, - 7, 8, 6, 70, 12, 16,252,236,212,252,212,236,236, 49, 0, 47,236, 50,244, 60,196, 48, 37, 33, 17, 51, 17, 33, 17, 51, 17, 33, - 17, 51, 3,217, 1,169,184,250,135,184, 1,168,184,153, 3,199,251,160, 4, 96,252, 57, 3,140, 0, 1, 0,193,254, 86, 6,242, - 4, 96, 0, 15, 0, 49, 64, 26, 6, 10, 2,188, 15,189, 12, 8, 4,169, 1, 17, 0, 8, 13, 10, 8, 11, 6, 8, 7, 3, 8, 2, - 70, 16, 16,252,236,212,252,212,236,212,236,204, 49, 0, 47,236, 50, 50,236,244, 60,196, 48, 41, 1, 17, 51, 17, 33, 17, 51, 17, - 33, 17, 51, 17, 51, 17, 35, 6, 58,250,135,184, 1,168,184, 1,169,184,184,184, 4, 96,252, 57, 3,140,252,116, 3,199,252, 57, -253,189, 0, 0, 0, 2, 0, 42, 0, 0, 5, 46, 4, 96, 0, 10, 0, 25, 0, 42, 64, 22, 12,169, 13,188, 25, 5,169, 15, 6,169, - 25, 27, 69, 0, 18, 20, 5, 14, 8, 11, 13, 26, 16,204,220,236, 50,212,236,236, 49, 0, 47,236,212,236, 16,244,236, 48, 1, 52, - 39, 38, 35, 33, 17, 33, 50, 55, 54, 1, 33, 53, 33, 17, 33, 50, 23, 22, 21, 20, 7, 6, 35, 33, 4,106, 62, 67,128,254,249, 1, - 7,129, 66, 62,253, 64,254,128, 2, 56, 1, 15,208,121,116,116,115,214,254, 57, 1, 76, 94, 42, 46,254,151, 46, 43, 2,212,154, -254, 59, 85, 82,168,168, 82, 82,255,255, 0,193, 0, 0, 5,105, 4, 96, 16, 38, 3,105, 0, 0, 17, 7, 0,243, 3,240, 0, 0, - 0, 13, 64, 6, 29, 70, 25, 8, 24, 18, 16,220,252,236, 49, 0, 0, 2, 0,193, 0, 0, 4, 69, 4, 96, 0, 10, 0, 23, 0, 36, - 64, 19, 5,169, 13, 11,188, 6,169, 23, 25, 69, 0, 18, 18, 5, 12, 8, 11, 70, 24, 16,252,236, 50,212,236,236, 49, 0, 47,236, -228,212,236, 48, 1, 52, 39, 38, 35, 33, 17, 33, 50, 55, 54, 1, 51, 17, 33, 50, 23, 22, 21, 20, 7, 6, 35, 33, 3,129, 62, 67, -128,254,249, 1, 7,129, 66, 62,253, 64,184, 1, 15,208,121,116,116,115,214,254, 57, 1, 76, 94, 42, 46,254,151, 46, 43, 3,110, -254, 59, 85, 82,168,168, 82, 82, 0, 1, 0,113,255,227, 3,231, 4,123, 0, 28, 0, 0, 1, 34, 7, 21, 54, 51, 50, 23, 22, 23, - 33, 21, 33, 6, 7, 6, 35, 34, 39, 21, 22, 51, 32, 55, 54, 17, 16, 39, 38, 1,180,166,157,161,154,230, 92, 34, 12,254, 52, 1, -212, 13,158, 85,120,157,158,147,189, 1, 11,148,135,151,148, 4,123, 70,172, 86,180, 65, 87,143,244, 94, 51, 86,170, 72,172,157, - 1, 3, 1, 17,157,158, 0, 0, 0, 2, 0,193,255,227, 6, 16, 4,123, 0, 14, 0, 36, 0, 56, 64, 31, 0,185, 19,184, 37, 8, -185, 26,140, 37, 31,169, 36, 34,188, 33, 38, 69, 11, 18, 22, 4, 18, 30, 15, 31, 35, 8, 34, 70, 37, 16,252,236, 50,212, 60,236, -212,236,236, 49, 0, 47,228,212,236, 16,244,236, 16,244,236, 48, 1, 34, 7, 6, 21, 20, 23, 22, 51, 50, 54, 53, 52, 39, 38, 1, - 54, 55, 54, 51, 50, 0, 17, 16, 7, 6, 35, 34, 39, 38, 39, 35, 17, 35, 17, 51, 17, 4, 14,148, 86, 86, 85, 86,149,147,172, 86, - 86,253,113, 19,112,137,240,240, 1, 18,137,137,240,241,136,127, 9,148,184,184, 3,223,115,116,201,201,116,115,232,200,199,116, -117,254,194,190,128,156,254,200,254,236,254,237,156,157,157,145,248,253,247, 4, 96,254, 65, 0, 0, 2, 0, 50, 0, 0, 4, 15, - 4, 96, 0, 22, 0, 33, 0, 68, 64, 21, 66, 24,169, 7,188, 18, 12,169, 32, 10, 18, 35, 70, 11, 23, 8, 8, 28, 18, 3, 34, 16, -212,236,212,236, 50,236, 49, 0, 47, 60,212,236, 16,244,236, 48, 75, 83, 88, 64, 13, 15, 14, 13, 3, 12, 16, 17, 19, 17, 17, 18, - 19, 18, 5, 7, 16,236, 16,236, 17, 23, 57, 89, 1, 46, 1, 53, 52, 55, 54, 51, 33, 17, 35, 17, 35, 34, 7, 6, 7, 3, 35, 19, - 54, 55, 54, 1, 35, 34, 7, 6, 21, 20, 23, 22, 59, 1, 1,181,106,112,107,108,217, 1,132,185,169, 97, 59, 59, 63,162,195,174, - 53, 52, 53, 1,216,198,119, 63, 64, 64, 63,119,198, 2, 13, 27,140,105,162, 81, 80,251,160, 1,217, 37, 36,113,254,225, 1, 50, - 94, 54, 54, 1,201, 42, 42, 84, 83, 43, 43, 0,255,255, 0,113,255,227, 4,127, 6,107, 16, 38, 0, 67, 90, 5, 18, 6, 3, 82, - 0, 0, 0, 0,255,255, 0,113,255,227, 4,127, 6, 16, 16, 39, 0,106, 0,150, 0, 0, 18, 6, 3, 82, 0, 0, 0, 1, 0, 40, -254, 86, 4,107, 6, 20, 0, 40, 0, 0, 19, 35, 53, 51, 53, 51, 21, 33, 21, 33, 17, 54, 55, 54, 51, 50, 23, 22, 21, 17, 20, 7, - 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 38, 35, 34, 7, 6, 21, 17, 35,193,153,153,185, 1, 70,254,186, 66, 89, 90,117,185, -107, 99, 82, 81,181, 70, 49,110, 33, 38,124,124,154, 81, 86,185, 5, 4,125,147,147,125,254, 87,101, 50, 50,119,110,242,253,159, -214, 96, 96,156, 48, 55,147, 2, 91,159,158, 95,101,158,253,222,255,255, 0,186, 0, 0, 3,216, 6,109, 16, 39, 0,118, 0,134, - 0, 7, 18, 6, 3, 80, 0, 0, 0, 1, 0,113,255,227, 3,231, 4,123, 0, 28, 0, 58, 64, 33, 2,134, 3,136, 5, 19,134, 18, -136, 16,185, 21, 10,169, 11,187, 5,185, 0,184, 21,140, 29, 10, 12, 9, 18, 18, 2, 72, 25, 69, 29, 16,252,228, 50,252, 50,204, - 49, 0, 16,228,244,236,244,238, 16,254,244,238, 16,245,238, 48, 1, 50, 23, 21, 38, 35, 34, 7, 6, 7, 33, 21, 33, 22, 23, 22, - 51, 50, 55, 21, 6, 35, 32, 39, 38, 17, 16, 55, 54, 2,164,166,157,161,154,230, 92, 34, 12, 1,204,254, 44, 13,158, 85,120,157, -158,147,188,254,243,148,134,151,149, 4,123, 70,172, 86,180, 65, 87,143,244, 94, 51, 86,170, 72,173,157, 1, 2, 1, 17,157,158, -255,255, 0,111,255,227, 3,199, 4,123, 18, 6, 0, 86, 0, 0,255,255, 0,193, 0, 0, 1,121, 6, 20, 18, 6, 0, 76, 0, 0, -255,255,255,244, 0, 0, 2, 70, 6, 16, 18, 38, 0,243, 0, 0, 17, 7, 0,106,255, 29, 0, 0, 0, 8,180, 0, 10, 7, 1, 7, - 43, 49, 0, 0,255,255,255,219,254, 86, 1,121, 6, 20, 18, 6, 0, 77, 0, 0, 0, 2, 0, 46,255,227, 6,190, 4, 96, 0, 23, - 0, 34, 0, 0, 1, 33, 21, 16, 3, 6, 5, 53, 54, 55, 54, 17, 53, 33, 17, 51, 50, 23, 22, 16, 7, 6, 35, 33, 1, 52, 39, 38, - 43, 1, 17, 51, 50, 55, 54, 3,158,254,152,118, 94,254,204,179, 59, 98, 2,216,171,208,121,116,116,115,214,254,157, 2, 92, 62, - 67,128,163,163,129, 66, 62, 3,199,134,254,146,254,252,207, 29,153, 27,127,207, 1,167,212,254, 59, 85, 82,254,176, 82, 82, 1, - 76, 94, 42, 46,254,151, 46, 43, 0, 2, 0,193, 0, 0, 6,188, 4, 96, 0, 10, 0, 30, 0, 0, 1, 52, 39, 38, 43, 1, 17, 51, - 50, 55, 54, 5, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 51, 50, 23, 22, 16, 7, 6, 35, 5,248, 62, 66,129,163,163,129, 66, - 62,253,164,253,221,184,184, 2, 35,184,171,208,121,116,116,115,214, 1, 76, 95, 42, 45,254,151, 46, 43,242, 2, 2,253,254, 4, - 96,254, 59, 1,197,254, 59, 85, 82,254,176, 82, 82, 0, 0, 0, 0, 1, 0, 40, 0, 0, 4,107, 6, 20, 0, 30, 0, 0, 19, 35, - 53, 51, 53, 51, 21, 33, 21, 33, 17, 54, 55, 54, 51, 50, 23, 22, 21, 17, 35, 17, 52, 38, 35, 34, 7, 6, 21, 17, 35,193,153,153, -185, 1, 70,254,186, 66, 89, 90,117,189,103, 99,184,124,124,152, 83, 86,185, 5, 4,125,147,147,125,254, 87,101, 50, 50,119,115, -237,253,179, 2, 71,159,158, 95, 98,161,253,222,255,255, 0,191, 0, 0, 4,161, 6,109, 16, 39, 0,118, 0,228, 0, 7, 18, 6, - 3, 87, 0, 0,255,255, 0,193, 0, 0, 4,128, 6,107, 16, 38, 0, 67,100, 5, 18, 6, 3, 85, 0, 0, 0, 0,255,255, 0, 61, -254, 86, 4,127, 6, 20, 16, 38, 2, 49, 94,204, 18, 6, 3, 96, 0, 0, 0, 0, 0, 1, 0,193,254, 86, 4,136, 4, 96, 0, 11, - 0, 0, 33, 17, 35, 17, 33, 17, 51, 17, 33, 17, 51, 17, 2,255,184,254,122,184, 2, 87,184,254, 86, 1,170, 4, 96,252, 58, 3, -198,251,160, 0, 0, 1, 0,115,255,227, 7, 5, 5,213, 0, 52, 0, 0, 1, 22, 51, 50, 55, 54, 61, 1, 51, 21, 20, 23, 22, 51, - 50, 55, 54, 17, 52, 39, 2, 39, 51, 22, 23, 18, 21, 16, 7, 6, 35, 34, 39, 38, 39, 6, 7, 6, 35, 34, 39, 38, 17, 52, 19, 54, - 55, 51, 6, 3, 6, 21, 16, 1,146, 73,125,114, 72, 71,199, 70, 70,116,134, 65, 71, 67,135, 84,250, 95, 56,100,123,123,209,146, -101,100, 39, 39,100,101,146,211,121,123,100, 59, 93,249, 84,135, 67, 1, 90,109,105,104,198,241,241,198,104,105,109,119, 1, 39, -183,159, 1, 65, 70,130,156,254,231,190,254,102,178,177, 94, 94,173,173, 94, 94,177,180, 1,152,201, 1, 14,159,127, 70,254,191, -159,183,254,205,255,255, 0,135,255,226, 6, 40, 4, 96, 16, 2, 2,231, 0, 0,255,255, 0, 33, 0, 0, 4,236, 5,213, 16, 2, - 3,168, 0, 0, 0, 2, 0, 58, 0, 0, 4, 69, 5,213, 0, 19, 0, 30, 0, 0, 1, 17, 33, 50, 23, 22, 16, 7, 6, 35, 33, 17, - 35, 53, 51, 17, 51, 17, 51, 21, 1, 52, 39, 38, 35, 33, 17, 33, 50, 55, 54, 1,121, 1, 15,208,121,116,116,115,214,254, 57,135, -135,184,175, 1, 89, 62, 67,128,254,249, 1, 7,129, 66, 62, 3,209,254,202, 85, 82,254,176, 82, 82, 3,209,143, 1,117,254,139, -143,253,123, 94, 42, 46,254,151, 46, 43, 0, 0, 0, 1, 0,211,255,227, 7, 27, 5,240, 0, 43, 0, 0, 1, 17, 35, 17, 51, 17, - 51, 18, 55, 54, 33, 50, 23, 22, 23, 21, 38, 39, 38, 35, 32, 7, 6, 7, 33, 21, 33, 18, 23, 22, 33, 50, 55, 54, 55, 21, 6, 7, - 6, 35, 32, 39, 38, 3, 1,157,202,202,210, 30,157,195, 1, 83,134,118,119,104,102,115,116,130,255, 0,136,103, 25, 2,178,253, - 70, 7,129,137, 0,255,130,116,115,102,106,119,118,132,254,173,195,186, 9, 2,199,253, 57, 5,213,253,156, 1, 8,167,208, 36, - 35, 71,213, 95, 47, 47,156,119,198,170,254,243,148,157, 47, 47, 95,211, 72, 36, 36,207,198, 1, 79, 0, 0, 0, 0, 1, 0,193, -255,227, 5,129, 4,123, 0, 35, 0, 0, 1, 50, 23, 21, 38, 35, 34, 7, 6, 7, 33, 21, 33, 22, 23, 22, 51, 50, 55, 21, 6, 35, - 32, 39, 38, 39, 35, 17, 35, 17, 51, 17, 51, 54, 55, 54, 4, 62,166,157,161,154,230, 92, 34, 12, 1,204,254, 44, 13,158, 85,120, -157,158,147,188,254,243,148,123, 10,147,184,184,152, 23,122,151, 4,123, 70,172, 86,180, 65, 87,143,244, 94, 51, 86,170, 72,173, -144,228,253,252, 4, 96,254, 51,202,128,158, 0, 0, 2, 0, 16, 0, 0, 6,248, 5,213, 0, 3, 0, 15, 0, 0, 1, 11, 1, 31, - 1, 17, 35, 17, 39, 1, 35, 1, 51, 1, 35, 1, 4,106,230,231,231,102,202,222,254,175,225, 3, 2,229, 3, 1,225,254,175, 3, - 63, 1,192,254, 64,119,172,253,228, 2, 27,114,253,115, 5,213,250, 43, 2,142, 0, 2, 0, 51, 0, 0, 6, 17, 4, 96, 0, 3, - 0, 15, 0, 0, 1, 11, 1, 31, 1, 17, 35, 17, 39, 1, 35, 1, 51, 1, 35, 1, 3,226,192,192,192, 93,184,179,254,226,195, 2, -142,195, 2,141,195,254,226, 2,112, 1, 74,254,182, 87,131,254,106, 1,149, 81,254, 26, 4, 96,251,160, 1,231, 0, 2, 0,201, - 0, 0, 9, 20, 5,213, 0, 3, 0, 23, 0, 0, 1, 11, 1, 23, 5, 33, 17, 35, 17, 51, 17, 33, 1, 51, 1, 35, 1, 7, 17, 35, - 17, 39, 1, 35, 6,134,230,231,231,253,251,253,248,202,202, 2, 95, 1, 60,229, 3, 1,225,254,175,220,202,222,254,175,225, 3, - 63, 1,192,254, 64,119, 1,253, 57, 5,213,253,156, 2,100,250, 43, 2,142,114,253,228, 2, 27,114,253,115, 0, 0, 2, 0,193, - 0, 0, 7,208, 4, 96, 0, 3, 0, 23, 0, 0, 1, 11, 1, 23, 5, 33, 17, 35, 17, 51, 17, 33, 1, 51, 1, 35, 1, 7, 17, 35, - 17, 39, 1, 35, 5,161,192,192,192,254, 45,254,107,184,184, 1,233, 1, 30,195, 2,141,195,254,226,177,184,179,254,226,195, 2, -112, 1, 74,254,182, 87, 50,254, 25, 4, 96,254, 23, 1,233,251,160, 1,231, 81,254,106, 1,149, 81,254, 26, 0, 0, 2, 0,115, - 0, 0, 5,217, 5,213, 0, 23, 0, 26, 0, 0, 1, 17, 35, 17, 6, 7, 6, 17, 35, 16, 55, 54, 55, 1, 33, 1, 22, 23, 22, 17, - 35, 16, 39, 38, 39, 1, 33, 3,139,202,147,100,130,213,189,120,170,254, 81, 5, 18,254, 80,164,116,188,213,128, 96,248, 1, 62, -253,131, 2, 89,253,167, 2, 89, 28,126,164,254,229, 1, 98,210,134, 49, 2,234,253, 19, 50,130,210,254,158, 1, 30,161,122,202, - 2, 40, 0, 0, 0, 2, 0,107, 0, 0, 4,123, 4, 96, 0, 2, 0, 26, 0, 0, 1, 33, 19, 9, 1, 22, 23, 22, 17, 35, 52, 39, - 38, 39, 17, 35, 17, 6, 7, 6, 21, 35, 16, 55, 54, 55, 1, 3, 69,254, 93,209, 2, 8,254,187,107, 75,137,195, 86, 58, 86,184, - 83, 56, 86,194,137, 74,108,254,187, 3,182,254,150, 2, 20,253,204, 38, 86,156,254,236,199,116, 79, 26,254, 92, 1,162, 26, 75, -116,201, 1, 20,156, 85, 39, 2, 52, 0, 0, 0, 0, 2, 0,201, 0, 0, 7,196, 5,213, 0, 30, 0, 33, 0, 0, 9, 1, 33, 1, - 22, 23, 22, 17, 35, 16, 39, 38, 39, 17, 35, 17, 6, 7, 6, 17, 35, 16, 55, 54, 55, 33, 17, 35, 17, 51, 17, 5, 1, 33, 3,239, -254,159, 5, 18,254, 80,164,116,188,213,128, 96,153,202,147,100,130,213,189, 85,110,253,181,202,202, 3,132, 1, 62,253,131, 3, -113, 2,100,253, 19, 50,130,210,254,158, 1, 30,161,122, 32,253,167, 2, 89, 28,126,164,254,229, 1, 98,210, 95, 52,253, 57, 5, -213,253,156,110, 2, 40, 0, 0, 0, 2, 0,193, 0, 0, 6, 46, 4, 96, 0, 30, 0, 33, 0, 0, 9, 1, 33, 1, 22, 23, 22, 17, - 35, 52, 39, 38, 39, 17, 35, 17, 6, 7, 6, 21, 35, 16, 55, 54, 55, 33, 17, 35, 17, 51, 17, 1, 33, 19, 3, 55,254,231, 4, 16, -254,187,107, 75,137,195, 86, 58, 86,184, 83, 56, 86,194,137, 27, 31,254,146,184,184, 3,127,254, 93,209, 2,119, 1,233,253,204, - 38, 86,156,254,236,199,116, 79, 26,254, 92, 1,162, 26, 75,116,201, 1, 20,156, 31, 24,254, 25, 4, 96,254, 23, 1, 63,254,150, - 0, 1, 0,115,254, 86, 4,115, 5,240, 0, 75, 0, 0, 5, 50, 23, 22, 23, 21, 38, 39, 38, 35, 32, 39, 38, 53, 52, 55, 54, 51, - 50, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 43, 1, 53, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 6, 7, 53, 54, 55, 54, 51, 50, - 23, 22, 21, 20, 7, 6, 7, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 2,187, 60, 91, 96, 86, - 71,103,134, 25,254,205,114,163, 63, 71, 99, 46,132, 73,100, 91, 85, 63, 92, 91,167,174,182,149, 79, 79, 81, 82,152, 83,190,114, -115,100,101, 89,230,134,134, 71, 71,131,147, 80, 81,115,152,198, 86, 76, 85, 42, 40, 32, 24,117, 94,209, 6, 6, 38,167, 41, 8, - 10, 67, 96,147,144, 72, 81, 45, 25, 90, 65,121,122, 74, 73,166, 59, 60,112,115, 61, 62, 36, 38,180, 32, 16, 16,104,105,178,124, - 85, 86, 33, 31, 96, 98,134,208,102,136, 36, 42, 36, 27, 67, 87, 39, 32, 0, 0, 0, 2, 0, 91,254,116, 3,200, 6,102, 0, 73, - 0, 80, 0, 0, 37, 50, 55, 54, 53, 52, 39, 38, 43, 1, 53, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 7, 53, 62, 1, 51, - 50, 23, 22, 21, 20, 7, 6, 7, 30, 1, 21, 20, 6, 39, 38, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 51, 50, 23, 22, 23, 21, 38, - 39, 38, 35, 32, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 11, 1, 51, 23, 55, 51, 3, 2, 75, 87, 59, 54, 78, 72,137,148,155,116, - 67, 68, 70, 69,119, 71, 81, 80, 97, 98,170, 76,196,113,114, 60, 60,112,124,138,238,168, 78, 59, 75, 32, 36, 25, 19, 98,106,140, - 82, 46, 93, 59, 59, 88,132, 1,254,254, 96,137, 52, 58, 86, 51,103, 62, 62,245,139,180,180,139,245,153, 49, 45, 91, 76, 56, 51, -152, 44, 45, 70, 64, 46, 46, 13, 13, 29,167, 24, 24, 78, 79,141, 93, 64, 65, 24, 24,146, 96,161,182, 5, 2, 28, 35, 30, 23, 76, - 99, 25, 27, 5, 11, 26,139, 34, 6, 9, 56, 81,152,141, 59, 68, 36, 21, 4, 85, 1,120,245,245,254,136, 0, 0,255,255, 0,115, - 0, 0, 5,219, 5,213, 18, 2, 2,198, 0, 0,255,255, 0,112,254, 86, 4,209, 4, 96, 18, 2, 2,230, 0, 0, 0, 3, 0,115, -255,227, 5,217, 5,240, 0, 9, 0, 20, 0, 35, 0, 0, 1, 5, 39, 5, 18, 23, 22, 32, 55, 54, 17, 38, 39, 38, 35, 34, 7, 6, - 7, 37, 23, 3, 32, 23, 22, 17, 16, 7, 6, 33, 32, 39, 38, 16, 55, 54, 5, 4,254,104,230,254,194, 8,122,129, 1,184,129,120, - 25, 95,129,220,218,131, 98, 24, 1,144,230,159, 1, 58,188,188,188,188,254,198,254,197,188,189,189,188, 2,199,110,200, 90,254, -255,155,164,164,152, 1,174,189,122,164,164,123,188,110,200, 2,217,210,211,254,158,254,159,210,211,210,210, 2,196,211,210, 0, - 0, 3, 0,113,255,227, 4,117, 4,123, 0, 10, 0, 21, 0, 36, 0, 0, 1, 37, 23, 55, 38, 39, 38, 35, 34, 7, 6, 3, 22, 23, - 22, 51, 50, 55, 54, 55, 5, 39, 19, 50, 0, 17, 16, 7, 6, 35, 34, 39, 38, 17, 16, 55, 54, 1, 57, 1, 7,150,213, 17, 62, 86, -147,149, 85, 63, 22, 8, 76, 86,149,147, 86, 76, 9,254,243,150,101,240, 1, 18,137,137,240,241,136,137,137,136, 2,148, 70,120, - 50,129, 85,117,115, 85,254,237,173,101,115,116,103,170, 70,130, 2, 59,254,200,254,236,254,237,156,157,157,156, 1, 19, 1, 20, -156,156, 0, 0, 0, 1, 0, 16, 0, 0, 6, 39, 5,240, 0, 20, 0, 0, 33, 35, 1, 51, 9, 1, 18, 55, 54, 51, 50, 22, 23, 21, - 39, 38, 35, 34, 7, 6, 7, 3, 47,229,253,198,211, 1,217, 1, 56,115, 96, 78,148, 31, 62, 33, 68, 22, 25, 73, 34, 71, 84, 5, -213,251, 23, 3, 61, 1, 50, 82, 67, 10, 11,187, 10, 4, 34, 67,221, 0, 0, 0, 0, 1, 0, 50, 0, 0, 5, 31, 4,123, 0, 21, - 1, 56, 64, 5, 23, 8, 4, 19, 22, 16, 75,176, 10, 84, 88,185, 0, 19, 0, 64, 56, 89, 75,176, 20, 84, 75,176, 21, 84, 91, 88, -185, 0, 19,255,192, 56, 89,212,212,196,196,180, 21, 17, 18, 4, 19, 17, 18, 57, 57, 57, 49, 64, 10, 9,134, 8, 12,185, 4,184, - 19,188, 18, 0, 47,228,244,228,212,236, 48,182, 21, 17, 20, 17, 19, 19, 18, 7, 5, 16,236, 4,236,183, 3, 2, 1, 0, 17, 16, - 16, 17, 7, 5, 16,236, 50, 50, 50, 64, 26, 12, 15, 15, 9, 15, 8, 11, 16, 10, 3, 10, 2, 12, 1, 10, 0, 8, 21, 9, 17, 8, - 18, 8, 20, 7, 19, 64, 16, 25, 16, 25, 0, 31, 22, 26, 17, 29, 18, 28, 21, 29, 20, 29, 19, 64, 12, 43, 1, 41, 16, 41, 0, 40, - 21, 38, 20, 38, 19, 64, 18, 51, 15, 52, 1, 50, 16, 51, 0, 54, 21, 54, 20, 54, 19, 55, 17, 52, 18, 64, 24, 74, 2, 74, 16, 74, - 0, 77, 1, 72, 21, 70, 19, 70, 20, 70, 17, 74, 18, 79, 9, 79, 8, 79, 23, 64, 28, 90, 2, 92, 1, 91, 16, 91, 0, 95, 22, 93, - 21, 94, 20, 95, 19, 94, 18, 90, 17, 90, 15, 95, 23, 95, 9, 95, 8, 64, 26,107, 15,107, 2,105, 1,111, 1,106, 16,106, 0,105, - 21,102, 20,102, 19,105, 18,111, 9,111, 8,111, 23, 64, 18,124, 2,127, 1,122, 16,122, 21,122, 0,119, 17,124, 18,117, 20,118, - 19,176, 84, 1, 93, 64, 17, 6, 21, 25, 21, 39, 21, 54, 21, 74, 21, 91, 21,106, 21,127, 21, 8, 0, 93, 1, 54, 55, 54, 51, 50, - 23, 22, 23, 21, 39, 38, 35, 34, 7, 6, 7, 1, 35, 1, 51, 1, 3, 59, 80,102, 66,129, 26, 26, 27, 28, 58, 19, 21, 54, 29, 65, - 61,254,228,250,254, 92,195, 1, 94, 3, 36,213, 79, 51, 4, 4, 8,141, 7, 3, 25, 55,162,253, 10, 4, 96,252, 84, 0, 0, 0, - 0, 3, 0, 16, 0, 0, 6, 39, 7,108, 0, 3, 0, 7, 0, 28, 0, 0, 1, 19, 35, 3, 37, 19, 35, 3, 19, 35, 1, 51, 9, 1, - 18, 55, 54, 51, 50, 22, 23, 21, 39, 38, 35, 34, 7, 6, 7, 1,253,144,135,174, 1,238,134,137,157,137,229,253,198,211, 1,217, - 1, 56,115, 96, 78,148, 31, 62, 33, 68, 22, 25, 73, 34, 71, 84, 7,107,254,248, 1, 8, 1,254,247, 1, 9,248,148, 5,213,251, - 23, 3, 61, 1, 50, 82, 67, 10, 11,187, 10, 4, 34, 67,221, 0,255,255, 0, 50, 0, 0, 5, 31, 6,102, 16, 35, 2, 87, 4,194, - 0, 0, 18, 2, 3,146, 0, 0,255,255, 0,113,255,227, 5, 37, 5,240, 16, 2, 1,228, 0, 0,255,255, 0,113,255,227, 4,113, - 5, 47, 16, 2, 1,229, 0, 0, 0, 2, 0,115,255,227, 7, 45, 5,240, 0, 41, 0, 82, 0, 0, 37, 51, 50, 55, 54, 53, 52, 39, - 38, 43, 1, 6, 7, 6, 7, 6, 34, 39, 38, 39, 38, 39, 35, 34, 7, 6, 21, 20, 23, 22, 59, 1, 54, 55, 54, 55, 54, 50, 23, 22, - 23, 22, 7, 35, 32, 39, 38, 16, 55, 54, 33, 51, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 51, 32, 23, 22, 17, 16, 7, 6, 33, - 35, 6, 7, 6, 7, 6, 34, 39, 38, 39, 38, 4, 93, 30,235,114,128,128,114,235, 30, 11, 15, 22, 27, 26, 62, 26, 27, 22, 16, 10, - 46,235,114,130,130,114,235, 46, 10, 16, 22, 27, 26, 62, 26, 27, 22, 16,254, 46,254,161,152,189,189,152, 1, 95, 45, 11, 16, 22, - 27, 26, 62, 26, 31, 18, 16, 11, 29, 1, 94,152,188,188,152,254,162, 29, 10, 17, 22, 27, 26, 62, 26, 31, 18, 16,194,145,164,242, -243,164,145, 20, 14, 21, 12, 11, 11, 12, 21, 16, 18,145,164,243,242,164,145, 18, 16, 21, 12, 11, 11, 12, 21, 16,161,170,210, 2, -116,211,170, 21, 15, 21, 12, 11, 11, 14, 19, 17, 19,170,211,254,198,254,199,210,171, 19, 17, 21, 12, 11, 11, 14, 19, 17, 0, 0, - 0, 2, 0,113,255,227, 5,161, 4,123, 0, 38, 0, 80, 0, 0, 37, 51, 50, 55, 54, 53, 52, 39, 38, 43, 1, 6, 7, 14, 1, 34, - 38, 39, 38, 39, 35, 34, 7, 6, 21, 20, 23, 22, 59, 1, 54, 55, 62, 1, 50, 23, 22, 23, 22, 7, 35, 32, 39, 38, 53, 52, 55, 54, - 33, 51, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 51, 32, 23, 22, 21, 20, 7, 6, 33, 35, 6, 7, 6, 7, 6, 34, 39, 38, 39, - 38, 3,114, 45,161, 72, 86, 86, 63,170, 45, 7, 10, 18, 44, 52, 44, 18, 10, 7, 45,163, 71, 86, 85, 72,163, 45, 7, 10, 18, 44, - 52, 22, 27, 13, 9,201, 46,254,255,120,137,137,116, 1, 5, 46, 7, 9, 13, 27, 22, 52, 22, 27, 13, 9, 7, 46, 1, 2,119,137, -137,116,254,251, 46, 7, 9, 13, 27, 22, 52, 22, 27, 13, 9,164, 96,116,183,167,131, 97, 11, 10, 17, 20, 20, 17, 10, 11, 95,116, -184,188,112, 95, 11, 10, 17, 20, 10, 12, 15, 10,147,137,156,238,233,162,136, 10, 10, 15, 12, 10, 10, 12, 15, 10, 10,136,156,239, -232,162,137, 10, 10, 15, 12, 10, 10, 12, 15, 10,255,255, 0,115,255,227, 7, 5, 7,183, 16, 35, 3,160, 6, 44, 1, 61, 16, 2, - 3,125, 0, 0,255,255, 0,135,255,226, 6, 40, 6,100, 16, 35, 3,160, 5,196,255,234, 16, 2, 3,126, 0, 0, 0, 2, 0,115, -255,227, 7, 5, 7, 51, 0, 11, 0, 64, 0, 0, 1, 7, 35, 39, 35, 7, 35, 39, 35, 7, 35, 39, 3, 22, 51, 50, 55, 54, 61, 1, - 51, 21, 20, 23, 22, 51, 50, 55, 54, 17, 52, 39, 2, 39, 51, 22, 23, 18, 21, 16, 7, 6, 35, 34, 39, 38, 39, 6, 7, 6, 35, 34, - 39, 38, 17, 52, 19, 54, 55, 51, 6, 3, 6, 21, 16, 5,126,100, 50, 50,175, 50, 50, 50,175, 50, 50,100,104, 73,125,114, 72, 71, -199, 70, 70,116,134, 65, 71, 67,135, 84,250, 95, 56,100,123,123,209,146,101,100, 39, 39,100,101,146,211,121,123,100, 59, 93,249, - 84,135, 67, 7, 51,200,100,100,100,100,200,250, 39,109,105,104,198,241,241,198,104,105,109,119, 1, 39,183,159, 1, 65, 70,130, -156,254,231,190,254,102,178,177, 94, 94,173,173, 94, 94,177,180, 1,152,201, 1, 14,159,127, 70,254,191,159,183,254,205, 0, 0, - 0, 2, 0,135,255,226, 6, 40, 5,224, 0, 11, 0, 38, 0, 0, 1, 7, 35, 39, 35, 7, 35, 39, 35, 7, 35, 39, 19, 32, 17, 52, - 19, 51, 2, 21, 2, 51, 50, 3, 51, 2, 55, 54, 17, 52, 3, 51, 18, 21, 18, 37, 36, 3, 2, 5, 27,100, 50, 50,175, 50, 50, 50, -175, 50, 50,100,143,254, 97,155,198,143, 1,223,207, 4,170, 4,207,222,143,198,155, 2,254, 95,254,241, 34, 41, 5,224,200,100, -100,100,100,200,250, 3, 2, 82,235, 1, 64,254,192,240,254, 79, 2, 26,253,227, 3, 2, 1,175,240, 1, 64,254,192,235,253,173, - 1, 1, 1, 42,254,213, 0, 0, 0, 1, 0,115,254, 86, 5, 39, 5,240, 0, 25, 0, 0, 33, 35, 32, 39, 38, 17, 16, 0, 33, 50, - 22, 23, 21, 46, 1, 35, 32, 0, 17, 16, 23, 22, 51, 33, 17, 35, 3,250,174,254,165,187,195, 1,134, 1, 83,134,237,104,102,231, -130,255, 0,254,240,136,152,240, 1,107,201,198,208, 1, 83, 1,104, 1,159, 71, 71,213, 95, 94,254,199,254,216,254,211,130,148, -253,176, 0, 0, 0, 1, 0,113,254, 86, 3,231, 4,123, 0, 24, 0, 0, 33, 32, 39, 38, 53, 16, 0, 33, 50, 22, 23, 21, 46, 1, - 35, 34, 6, 21, 20, 22, 59, 1, 17, 35, 17, 2,152,254,251,141,149, 1, 45, 1, 6, 85,162, 76, 78,157, 80,179,198,198,179,245, -201,150,159,250, 1, 18, 1, 58, 35, 35,172, 43, 43,227,205,185,227,253,195, 1,170, 0, 0, 0, 0, 1, 0, 50, 0, 52, 4,142, - 5,188, 0, 27, 0, 0, 1, 55, 39, 55, 23, 55, 23, 7, 23, 7, 39, 7, 23, 7, 39, 7, 23, 7, 39, 7, 39, 55, 39, 55, 23, 55, - 39, 55, 2, 59,105,216,100,216,125,174,125,216,100,216,105,216,100,216,105,216,100,216,125,174,125,216,100,216,105,216,100, 3, -129,181,125,174,125,216,100,216,125,174,125,181,125,174,125,181,125,174,125,216,100,216,125,174,125,181,125,174, 0, 1,251,218, - 4,222,255, 66, 6,122, 0, 47, 0, 0, 1, 33, 20, 7, 6, 7, 6, 7, 6, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, - 55, 54, 51, 33, 52, 55, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6,254,185,254, 51, 10, 11, - 19, 20, 25, 24, 56, 24, 25, 20, 19, 11, 10, 10, 11, 19, 20, 25, 24, 28, 1,205, 10, 11, 19, 20, 25, 24, 56, 24, 25, 20, 20, 10, - 10, 10, 11, 19, 20, 25, 24, 5,103, 27, 25, 27, 18, 19, 11, 10, 10, 11, 19, 18, 27, 25, 27, 28, 25, 27, 18, 19, 11, 10, 27, 25, - 27, 18, 19, 11, 10, 10, 11, 19, 21, 24, 25, 28, 27, 25, 27, 18, 19, 11, 10, 0, 0, 1,251,247, 5, 41,254,249, 6, 77, 0, 17, - 0, 0, 1, 54, 51, 50, 23, 22, 23, 51, 38, 39, 38, 35, 34, 7, 6, 7, 21, 54,253, 18, 93, 91, 70, 56, 48, 11,118, 10, 79, 86, -138,124,120, 72,141,138, 5,149, 47, 42, 36, 77,143, 72, 77, 67, 41, 40,134, 23, 0, 1,252, 34, 4,227,254,248, 6,117, 0, 7, - 0, 0, 1, 21, 33, 21, 35, 17, 51, 21,254,248,253,192,150,150, 5,247,150,126, 1,146,126, 0, 0, 1,252, 34, 4,227,254,248, - 6,117, 0, 7, 0, 0, 1, 33, 53, 51, 17, 35, 53, 33,252, 34, 2, 64,150,150,253,192, 5,247,126,254,110,126,255,255,247,214, -254,144, 3, 70, 7, 96, 16, 43, 2, 49,255,142, 4,216,192, 0, 16, 43, 2, 49,251, 15, 8,177,192, 0, 16, 43, 2, 49, 4, 13, - 8,177,192, 0, 16, 43, 2, 49,252, 96, 5,249,192, 0, 16, 43, 2, 49, 2,188, 5,249,192, 0, 16, 43, 2, 49,252, 96, 11,105, -192, 0, 16, 43, 2, 49, 2,188, 11,105,192, 0, 16, 11, 2, 49,255,142, 12,137,192, 0, 0, 0, 0, 8,248, 88,253,195, 2,194, - 8, 45, 0, 5, 0, 11, 0, 17, 0, 23, 0, 29, 0, 35, 0, 41, 0, 47, 0, 0, 39, 55, 23, 19, 7, 3, 1, 7, 39, 3, 55, 19, - 1, 39, 55, 37, 23, 5, 1, 23, 7, 5, 39, 37, 1, 53, 51, 5, 21, 45, 1, 21, 35, 37, 53, 5, 1, 35, 53, 19, 51, 11, 1, 51, - 21, 3, 35, 19,107,150,121,111, 92,169,251,119,150,121,111, 92,169, 5, 31,150,122, 1, 86, 92,254,227,250, 76,149,121,254,169, - 91, 1, 28, 6, 96,172, 1, 64,254,192,248,194,172,254,192, 1, 64, 4, 95,211,164,129, 82,211,211,164,129, 82, 90,150,121,254, -169, 92, 1, 29, 5,181,150,121, 1, 87, 92,254,227,254,241,149,122,110, 91,169,251,119,150,121,111, 92,168, 2, 24,212,164,130, - 82,212,212,164,130, 82, 2,223,172, 1, 64,254,192,248,194,172,254,192, 1, 64, 0, 1, 0,201,254, 86, 5,252, 5,213, 0, 14, - 0, 0, 33, 35, 17, 1, 33, 17, 51, 17, 1, 33, 17, 51, 21, 1, 35, 5, 51,196,253,106,254,240,196, 2,150, 1, 16,201,254,146, -134, 4,225,251, 31, 5,213,251, 31, 4,225,250,213,170,254, 86, 0, 2, 0,193,254, 86, 5, 56, 6, 20, 0, 14, 0, 28, 0, 0, - 33, 35, 17, 1, 35, 17, 51, 17, 1, 51, 17, 51, 21, 1, 35, 1, 51, 30, 1, 51, 50, 54, 55, 51, 14, 1, 35, 34, 38, 4,128,183, -253,228,236,183, 2, 27,237,184,254,222,123,253,205,118, 10, 98, 86, 86, 96, 14,118, 10,158,146,144,158, 3,131,252,125, 4, 96, -252,127, 3,129,252, 57,153,254, 86, 7,190, 75, 75, 74, 76,143,144,144, 0, 0, 0, 2, 0, 33, 0, 0, 4,236, 5,213, 0, 18, - 0, 29, 0, 0, 1, 21, 33, 50, 4, 21, 20, 4, 35, 33, 17, 35, 53, 51, 53, 51, 21, 51, 21, 1, 52, 39, 38, 35, 33, 17, 33, 50, - 55, 54, 1,147, 1, 78,251, 1, 16,254,240,251,253,232,168,168,202,168, 1,220, 79, 78,163,254,188, 1, 68,163, 78, 79, 4, 81, -226,218,222,221,218, 4, 81,164,224,224,164,253,102,139, 68, 67,253,221, 68, 67, 0, 2, 0, 38, 0, 0, 4, 69, 5,158, 0, 10, - 0, 30, 0, 0, 1, 52, 39, 38, 35, 33, 17, 33, 50, 55, 54, 1, 17, 33, 50, 23, 22, 16, 7, 6, 35, 33, 17, 35, 53, 51, 17, 51, - 17, 51, 21, 3,129, 62, 67,128,254,249, 1, 7,129, 66, 62,253,248, 1, 15,208,121,116,116,115,214,254, 57,155,155,184,157, 1, - 76, 94, 42, 46,254,151, 46, 43, 2,223,254,202, 85, 82,254,176, 82, 82, 3,209,143, 1, 62,254,194,143, 0, 0, 0, 2, 0,201, - 0, 0, 4,225, 5,213, 0, 14, 0, 27, 0, 0, 1, 23, 7, 39, 6, 43, 1, 17, 35, 17, 33, 50, 4, 21, 20, 39, 54, 55, 52, 38, - 43, 1, 17, 51, 50, 55, 39, 55, 4, 85,140,106,146,126,214,254,202, 1,200,251, 1, 1,226, 12, 1,154,141,254,254,114, 71,215, -106, 3, 35,117,126,123, 83,253,168, 5,213,227,219,146, 45, 44, 57,134,146,253,207, 47,180,126, 0, 2, 0,186,254, 86, 4,164, - 4,123, 0, 13, 0, 35, 0, 0, 37, 39, 55, 23, 54, 53, 52, 38, 32, 6, 16, 22, 51, 50, 5, 23, 7, 39, 6, 35, 34, 38, 39, 17, - 35, 17, 51, 21, 62, 1, 51, 50, 0, 16, 7, 6, 3, 42,140,110,138, 79,167,254,220,167,167,146, 70, 1, 27,147,111,149, 87,108, -123,177, 58,185,185, 58,177,123,204, 0,255,128, 12,152,167, 93,165,115,197,203,231,231,254,106,231, 20,174, 93,179, 46, 97,100, -253,174, 6, 10,170,100, 97,254,188,253,240,162, 15, 0, 0, 0, 0, 1, 0,201, 0, 0, 4,106, 7, 7, 0, 7, 0, 27, 64, 13, - 3, 6,149, 1,129, 0, 3, 4, 6, 28, 1, 4, 8, 16,252,252,220,204, 49, 0, 47,244,236,204, 48, 51, 17, 33, 17, 51, 17, 33, - 17,201, 2,216,201,253, 41, 5,213, 1, 50,254, 36,250,213, 0, 0, 1, 0,186, 0, 0, 3,208, 5,154, 0, 7, 0, 27, 64, 13, - 3, 6,169, 1,188, 0, 3, 4, 6, 8, 1, 70, 8, 16,252,252,220,204, 49, 0, 47,244,236,204, 48, 51, 17, 33, 17, 51, 17, 33, - 17,186, 2, 94,184,253,162, 4, 96, 1, 58,254, 28,252, 74, 0, 0, 1, 0, 71, 0, 0, 4,106, 5,213, 0, 13, 0, 0, 19, 51, - 17, 33, 21, 33, 17, 33, 21, 33, 17, 35, 17, 35, 71,130, 3,161,253, 41, 2, 35,253,221,202,130, 3,232, 1,237,170,254,189,170, -252,194, 3, 62, 0, 1, 0, 56, 0, 0, 3,208, 4, 96, 0, 13, 0, 0, 51, 17, 35, 53, 51, 17, 33, 21, 33, 17, 33, 21, 33, 17, -186,130,130, 3, 22,253,162, 1,160,254, 96, 1,244,170, 1,194,170,254,232,170,254, 12, 0, 0, 0, 1, 0,201,254,102, 4,204, - 5,213, 0, 27, 0, 0, 1, 17, 35, 17, 33, 21, 33, 17, 33, 50, 23, 22, 21, 17, 16, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, - 38, 35, 1,147,202, 3,161,253, 41, 1,161,186,113,109,204,228, 76, 62,134, 56, 55,124,124, 2,199,253, 57, 5,213,170,254, 70, -119,114,238,254,206,254,242,244,170, 75, 75,194, 1, 34,159,158, 0, 1, 0,186,254, 86, 4, 11, 4, 96, 0, 29, 0, 0, 1, 17, - 35, 17, 33, 21, 33, 17, 51, 32, 23, 22, 21, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 39, 38, 35, 1,114,184, 3, - 22,253,162,250, 1, 7, 70, 82, 82, 81,181,193,172,110, 33, 38, 38, 49,134, 1,231,254, 25, 4, 96,170,254,193, 71, 81,229,254, -242,214, 96, 96,156, 48, 55,147, 1, 8,170, 32, 41, 0, 0, 0, 0, 1, 0, 59,254, 86, 6,194, 5,213, 0, 25, 0, 0, 37, 51, - 17, 35, 17, 35, 1, 35, 17, 35, 17, 35, 1, 35, 9, 1, 51, 1, 51, 17, 51, 17, 51, 1, 51, 1, 6, 87,107,197, 41,254,155,150, -202,150,254,155,217, 1,144,254,162,217, 1, 52,149,202,149, 1, 52,217,254,162,170,253,172, 1,170, 2,199,253, 57, 2,199,253, - 57, 3, 28, 2,185,253,156, 2,100,253,156, 2,100,253, 71, 0, 0, 1, 0, 50,254, 86, 5,193, 4, 96, 0, 25, 0, 0, 37, 51, - 17, 35, 17, 35, 1, 35, 17, 35, 17, 35, 1, 35, 9, 1, 51, 1, 51, 17, 51, 17, 51, 1, 51, 1, 5, 85,108,184, 33,254,213,114, -183,114,254,213,197, 1, 84,254,215,196, 1, 2,113,183,113, 1, 2,196,254,215,153,253,189, 1,170, 2, 9,253,247, 2, 9,253, -247, 2, 85, 2, 11,254, 65, 1,191,254, 65, 1,191,253,245, 0,255,255, 0,156,254,117, 4,115, 5,240, 16, 38, 0,122, 57, 0, - 16, 6, 3, 52, 0, 0, 0, 0,255,255, 0,133,254,117, 3,200, 4,124, 16, 38, 0,122,206, 0, 16, 6, 3, 84, 0, 0, 0, 0, - 0, 1, 0,201,254, 86, 5,106, 5,213, 0, 14, 0, 0, 37, 51, 17, 35, 17, 35, 1, 17, 35, 17, 51, 17, 1, 33, 1, 4,193,169, -197, 69,253, 51,202,202, 2,158, 1, 4,253, 27,170,253,172, 1,170, 2,207,253, 49, 5,213,253,137, 2,119,253, 72, 0, 0, 0, - 0, 1, 0,191,254, 86, 4,161, 4, 96, 0, 14, 0, 0, 37, 51, 17, 35, 17, 35, 1, 17, 35, 17, 51, 17, 1, 51, 1, 4, 2,159, -184, 56,253,199,185,185, 2, 37,235,253,174,153,253,189, 1,170, 2, 35,253,221, 4, 96,254, 29, 1,227,253,244, 0, 1, 0,201, - 0, 0, 5,106, 5,213, 0, 18, 0, 0, 1, 39, 17, 35, 17, 51, 17, 55, 17, 51, 21, 1, 33, 9, 1, 33, 1, 21, 35, 1,224, 77, -202,202, 77,100, 1,237, 1, 4,253, 27, 3, 26,254,246,253,228,100, 2,130, 77,253, 49, 5,213,253,137, 73, 1, 81,243, 1,208, -253, 72,252,227, 2, 30,248, 0, 0, 1, 0,191, 0, 0, 4,161, 4, 96, 0, 18, 0, 0, 1, 21, 35, 53, 39, 17, 35, 17, 51, 17, - 55, 53, 55, 21, 1, 51, 9, 1, 35, 2, 29,101, 64,185,185, 64,101, 1,128,235,253,174, 2,107,240, 1,132,138,235, 62,253,221, - 4, 96,254, 29, 56,217, 2,130, 1, 82,253,244,253,172, 0, 0, 0, 1, 0, 33, 0, 0, 5,106, 5,213, 0, 18, 0, 0, 19, 35, - 53, 51, 53, 51, 21, 51, 21, 35, 21, 1, 33, 9, 1, 33, 1, 17, 35,201,168,168,202,168,168, 2,158, 1, 4,253, 27, 3, 26,254, -246,253, 51,202, 4, 81,164,224,224,164,243, 2,119,253, 72,252,227, 2,207,253, 49, 0, 0, 0, 0, 1, 0, 61, 0, 0, 4,156, - 6, 20, 0, 18, 0, 0, 1, 17, 1, 51, 9, 1, 35, 1, 17, 35, 17, 35, 53, 51, 53, 51, 21, 33, 21, 1,115, 2, 37,235,253,174, - 2,107,240,253,199,185,125,125,185, 1, 96, 4,246,253,135, 1,227,253,244,253,172, 2, 35,253,221, 4,246,164,122,122,164, 0, - 0, 1, 0, 50, 0, 0, 6,150, 5,213, 0, 12, 0, 0, 1, 33, 53, 33, 17, 1, 33, 9, 1, 33, 1, 17, 35, 1,245,254, 61, 2, -141, 2,158, 1, 4,253, 27, 3, 26,254,246,253, 51,202, 5, 43,170,253,137, 2,119,253, 72,252,227, 2,207,253, 49, 0, 0, 0, - 0, 1, 0, 42, 0, 0, 5,139, 4, 96, 0, 12, 0, 0, 1, 33, 53, 33, 17, 1, 51, 9, 1, 35, 1, 17, 35, 1,169,254,129, 2, - 56, 2, 37,235,253,174, 2,107,240,253,199,185, 3,198,154,254, 29, 1,227,253,244,253,172, 2, 35,253,221, 0, 0, 1, 0,201, -254, 86, 6, 4, 5,213, 0, 15, 0, 0, 33, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 51, 17, 35, 17, 4,113,253, 34,202,202, - 2,222,202,201,201, 2,199,253, 57, 5,213,253,156, 2,100,250,213,253,172, 1,170, 0, 0, 0, 0, 1, 0,193,254, 86, 5, 64, - 4, 96, 0, 15, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 4,136,184,184,184,253,169,184,184, 2, - 87,184,153,253,189, 1,170, 2, 4,253,252, 4, 96,254, 51, 1,205, 0, 0, 0, 0, 1, 0,201, 0, 0, 8, 18, 5,213, 0, 13, - 0, 0, 1, 17, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 33, 21, 5, 59,202,253, 34,202,202, 2,222, 3,161, 5, 43,250,213, 2, -199,253, 57, 5,213,253,156, 2,100,170, 0, 0, 0, 1, 0,193, 0, 0, 6,230, 4, 96, 0, 13, 0, 0, 1, 17, 35, 17, 33, 17, - 35, 17, 51, 17, 33, 17, 33, 21, 4,136,184,253,169,184,184, 2, 87, 3, 22, 3,182,252, 74, 2, 4,253,252, 4, 96,254, 51, 1, -205,170, 0, 0, 0, 1, 0,201,254,102, 8,116, 5,213, 0, 29, 0, 0, 1, 17, 35, 17, 33, 17, 35, 17, 33, 17, 33, 50, 23, 22, - 21, 17, 16, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 38, 35, 5, 59,202,253, 34,202, 4,114, 1,161,186,113,109,204,228, 76, - 62,134, 56, 55,124,124, 2,199,253, 57, 5, 43,250,213, 5,213,253,156,119,114,238,254,206,254,242,244,170, 75, 75,194, 1, 34, -159,158, 0, 0, 0, 1, 0,193,254, 86, 7, 33, 4, 96, 0, 31, 0, 0, 1, 17, 35, 17, 33, 17, 35, 17, 33, 17, 51, 32, 23, 22, - 21, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 39, 38, 7, 4,136,184,253,169,184, 3,199,250, 1, 7, 70, 82, 82, - 81,181,193,172,110, 33, 38, 38, 49,134, 1,231,254, 25, 3,198,252, 58, 4, 96,254, 23, 71, 81,229,254,242,214, 96, 96,156, 48, - 55,147, 1, 8,164, 38, 46, 5, 0, 2, 0,115,255, 45, 6, 39, 5,240, 0, 50, 0, 64, 0, 0, 37, 38, 17, 52, 55, 54, 51, 50, - 22, 21, 20, 7, 6, 7, 22, 51, 50, 55, 21, 6, 35, 4, 39, 6, 35, 36, 39, 38, 17, 16, 55, 54, 33, 50, 23, 22, 23, 21, 38, 39, - 38, 35, 32, 7, 6, 17, 16, 23, 22, 51, 50, 55, 54, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 21, 16, 3, 69,100, 96, 95,169,168, -192,102, 74,120,117,142, 84, 71, 73, 82,254,233,190, 68, 76,254,197,188,189,195,195, 1, 83,117,135,129, 94, 92,125,125,121,255, - 0,136,136,130,129,220, 15,217, 73, 48, 97, 43, 43, 73, 74, 43, 43,136,185, 1, 19,220,125,125,250,220,214,157,115, 63, 93, 24, -166, 22, 1,192, 10, 1,209,210, 1, 98, 1,104,207,208, 36, 34, 62,183, 55, 47, 47,156,157,254,216,254,232,166,164, 46, 36, 63, -127,214,120, 69, 71, 69, 70,121,254,228, 0, 0, 0, 2, 0,113,255, 82, 5, 4, 4,123, 0, 12, 0, 63, 0, 0, 37, 54, 55, 54, - 53, 52, 38, 35, 34, 7, 6, 21, 20, 7, 38, 53, 52, 55, 54, 51, 22, 23, 22, 21, 20, 7, 6, 7, 22, 51, 50, 55, 21, 6, 35, 34, - 39, 6, 35, 32, 39, 38, 17, 16, 55, 54, 33, 50, 23, 22, 23, 21, 38, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 51, 3, 87, 33, 22, - 86, 48, 41, 44, 24, 27,143, 51, 77, 78,131,132, 78, 77,137, 39, 56, 72,101, 90, 62, 70, 82,235,137, 53, 60,254,253,138,137,151, -150, 1, 6, 85, 81, 81, 76, 67, 90, 73, 85,179, 99, 99, 85, 84,171,173, 21, 29,113,135, 72, 84, 42, 46, 78,179,155,133,194,155, - 87, 88, 1, 88, 87,165,181,154, 44, 30, 52, 20,158, 18,151, 6,157,156, 1, 19, 1, 18,157,157, 17, 18, 35,152, 25, 22, 19,113, -114,205,201,116,115, 0, 0, 0,255,255, 0,115,254,117, 5, 39, 5,240, 16, 39, 0,122, 1, 45, 0, 0, 16, 6, 3, 62, 0, 0, -255,255, 0,113,254,117, 3,231, 4,123, 16, 39, 0,122, 0,143, 0, 0, 16, 6, 3, 94, 0, 0, 0, 1,255,250,254, 86, 4,233, - 5,213, 0, 11, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 53, 33, 21, 33, 2,215,201,201,203,253,238, 4,239,253,238,170,253,172, - 1,170, 5, 43,170,170, 0, 0, 0, 1, 0, 5,254, 86, 4, 54, 4, 96, 0, 11, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 53, 33, - 21, 33, 2,120,184,184,181,254, 66, 4, 49,254, 66,153,253,189, 1,170, 3,182,170,170, 0, 0,255,255,255,252, 0, 0, 4,231, - 5,213, 18, 6, 0, 60, 0, 0, 0, 1, 0, 61,254, 86, 4,127, 4, 96, 0, 8, 0, 0, 37, 17, 35, 17, 1, 51, 9, 1, 51, 2, -197,195,254, 59,195, 1, 94, 1, 94,195, 18,254, 68, 1,188, 4, 78,252,148, 3,108, 0, 0, 0, 0, 1,255,252, 0, 0, 4,231, - 5,213, 0, 14, 0, 0, 9, 1, 51, 9, 1, 51, 1, 33, 21, 33, 17, 35, 17, 33, 53, 2, 12,253,240,217, 1,158, 1,155,217,253, -240, 2, 12,253,244,203,253,244, 2,199, 3, 14,253,154, 2,102,252,242,170,253,227, 2, 29,170, 0, 1, 0, 61,254, 86, 4,127, - 4, 96, 0, 14, 0, 0, 5, 17, 35, 17, 33, 53, 33, 1, 51, 9, 1, 51, 1, 33, 21, 2,197,195,254, 59, 1,197,254, 59,195, 1, - 94, 1, 94,195,254, 70, 1,186,124,254,210, 1, 46,142, 4, 78,252,148, 3,108,251,178,142, 0, 0, 1, 0, 61,254, 86, 5, 59, - 5,213, 0, 15, 0, 0, 37, 51, 17, 35, 17, 35, 9, 1, 35, 9, 1, 51, 9, 1, 51, 1, 4,203,112,197, 20,254, 92,254, 89,218, - 2, 21,254, 47,217, 1,115, 1,117,217,254, 32,170,253,172, 1,170, 2,123,253,133, 3, 29, 2,184,253,213, 2, 43,253, 51, 0, - 0, 1, 0, 59,254, 86, 4,121, 4, 96, 0, 15, 0, 0, 37, 51, 17, 35, 17, 35, 9, 1, 35, 9, 1, 51, 9, 1, 51, 1, 4, 8, -113,184, 33,254,186,254,186,217, 1,179,254,114,217, 1, 41, 1, 41,217,254,107,153,253,189, 1,170, 1,184,254, 72, 2, 74, 2, - 22,254,113, 1,143,253,223, 0, 0, 1,255,250,254, 86, 7, 71, 5,213, 0, 15, 0, 0, 37, 33, 17, 51, 17, 51, 17, 35, 17, 33, - 17, 33, 53, 33, 21, 33, 2,214, 2,222,202,201,201,251,142,253,238, 4,239,253,238,170, 5, 43,250,213,253,172, 1,170, 5, 43, -170,170, 0, 0, 0, 1, 0, 5,254, 86, 6, 66, 4, 96, 0, 15, 0, 0, 37, 33, 17, 51, 17, 51, 17, 35, 17, 33, 17, 33, 53, 33, - 21, 33, 2,120, 2, 90,184,184,184,252, 57,254, 66, 4, 49,254, 66,153, 3,199,252, 57,253,189, 1,170, 3,182,170,170, 0, 0, - 0, 1, 0,175,254, 86, 5,124, 5,213, 0, 20, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 34, 39, 38, 53, 17, 51, 17, 20, 22, 51, - 33, 17, 51, 4,179,201,201,203,254, 95,186,113,109,201,124,124, 1,120,203,170,253,172, 1,170, 2,199,119,114,238, 1, 55,254, -217,159,158, 2,100, 0, 0, 0, 0, 1, 0,150,254, 86, 4,184, 4, 96, 0, 21, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 34, 39, - 38, 61, 1, 51, 21, 20, 23, 22, 51, 33, 17, 51, 4, 0,184,184,184,254,169,153,102, 92,184, 52, 53,104, 1, 41,184,153,253,189, - 1,170, 2, 9, 95, 86,184,234,211,117, 59, 59, 1,190, 0, 0, 0, 1, 0,175, 0, 0, 4,179, 5,213, 0, 24, 0, 0, 1, 35, - 34, 39, 38, 53, 17, 51, 17, 20, 22, 59, 1, 17, 51, 17, 51, 17, 51, 17, 35, 17, 35, 17, 35, 2,130, 59,186,113,109,201,124,124, - 18,144,214,203,203,214,144, 2,199,119,114,238, 1, 55,254,217,159,158, 1, 57,254,199, 2,100,250, 43, 2,199,254,207, 0, 0, - 0, 1, 0,150, 0, 0, 4, 0, 4, 96, 0, 24, 0, 0, 1, 53, 51, 21, 51, 17, 51, 17, 35, 17, 35, 21, 35, 53, 35, 34, 39, 38, - 61, 1, 51, 21, 20, 23, 22, 1,249,160,175,184,184,175,160, 8,153,102, 92,184, 52, 43, 2,164,194,196, 1,190,251,160, 2, 9, -196,196, 95, 86,184,234,211,117, 59, 48, 0, 0, 0, 1, 0,175, 0, 0, 4,179, 5,213, 0, 16, 0, 0, 1, 17, 33, 50, 23, 22, - 21, 17, 35, 17, 52, 38, 35, 33, 17, 35, 17, 1,122, 1,161,186,113,109,201,124,124,254,136,203, 5,213,253,156,119,114,238,254, -102, 1,138,159,158,253, 57, 5,213, 0, 0, 0,255,255, 0,186, 0, 0, 4,100, 6, 20, 16, 6, 0, 75, 0, 0, 0, 2, 0, 20, -255,227, 7, 20, 5,240, 0, 33, 0, 41, 0, 0, 1, 18, 55, 54, 33, 32, 23, 22, 19, 33, 16, 0, 33, 50, 54, 55, 21, 6, 4, 35, - 32, 39, 38, 3, 6, 39, 38, 61, 1, 51, 21, 20, 23, 22, 37, 33, 38, 39, 38, 32, 7, 6, 1,178, 34,150,188, 1, 58, 1, 67,181, -187, 1,251,112, 1, 18, 1, 18,139,252,112,111,254,249,146,254,162,197,188, 10,170,118,122,170, 75, 66, 1, 64, 3,173, 24, 98, -130,254, 72,128, 97, 3,109, 1, 7,170,210,210,219,254,132,254,244,254,206, 96, 95,215, 70, 72,205,194, 1, 85, 1,103,107,223, - 76, 62,157, 68, 57, 2,191,124,164,164,124, 0, 0, 2, 0, 15,255,226, 5,102, 4,123, 0, 34, 0, 41, 0, 0, 1, 34, 39, 38, - 61, 1, 51, 21, 20, 23, 22, 51, 54, 55, 54, 33, 50, 0, 29, 1, 33, 30, 1, 51, 50, 54, 55, 21, 6, 7, 6, 39, 36, 39, 38, 1, - 46, 1, 35, 34, 6, 7, 1, 88,144, 89, 96,156, 48, 57, 74, 26,116,146, 0,255,226, 1, 7,252,178, 12,205,183,106,199, 98, 99, -104,110,101,254,243,156,148, 3, 78, 2,165,136,154,185, 14, 2, 4, 82, 90,172, 70, 49,151, 33, 38,197,130,161,254,221,250, 90, -190,199, 52, 52,174, 42, 22, 23, 1, 5,151,144, 1,133,151,180,174,158, 0, 0,255,255, 0, 20,254,117, 7, 20, 5,240, 16, 39, - 2, 52, 2,188, 0, 0, 16, 6, 3,216, 0, 0,255,255, 0, 15,254,117, 5,102, 4,123, 16, 39, 2, 52, 1,231, 0, 0, 16, 6, - 3,217, 0, 0,255,255, 0,193, 0, 0, 1,121, 6, 20, 16, 6, 0, 79, 0, 0,255,255, 0, 59, 0, 0, 6,173, 5,213, 16, 39, - 6,139, 5,116, 1,117, 17, 6, 3, 51, 0, 0, 0, 8,180, 34, 0, 8, 35, 7, 43, 49, 0, 0,255,255, 0, 50, 0, 0, 5,173, - 6, 72, 16, 39, 2, 49, 0,240, 0, 0, 19, 6, 3, 83, 0, 0, 0, 8,180, 34, 0, 8, 35, 7, 43, 49, 0, 0, 0, 1, 0,201, -254,102, 5, 53, 5,213, 0, 28, 0, 0, 1, 51, 50, 23, 22, 21, 17, 16, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 38, 35, 33, - 17, 35, 17, 51, 17, 1, 33, 2,169,139,186,113,109,204,228, 76, 62,134, 56, 55,124,124,254,136,202,202, 2,158, 1, 4, 3,113, -119,114,238,254,206,254,242,244,170, 75, 75,194, 1, 34,159,158,253, 57, 5,213,253,137, 2,119, 0, 1, 0,191,254, 86, 4,136, - 4, 96, 0, 30, 0, 0, 1, 51, 32, 23, 22, 21, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 39, 38, 35, 33, 17, 35, - 17, 51, 17, 1, 51, 2, 94, 20, 1, 5, 72, 82, 82, 81,181,193,172,110, 33, 38, 38, 44,139,254,252,185,185, 2, 37,235, 2,119, - 71, 81,229,254,242,214, 96, 96,156, 48, 55,147, 1, 8,166, 36, 41,254, 25, 4, 96,254, 29, 1,227, 0, 0, 0, 0, 1, 0, 54, -254, 86, 6, 3, 5,213, 0, 20, 0, 0, 33, 35, 17, 33, 21, 16, 3, 6, 5, 53, 54, 55, 18, 25, 1, 33, 17, 51, 21, 1, 35, 5, - 58,202,254, 27,132, 98,254,145,212, 67,117, 3,120,201,254,146,134, 5, 43,212,254, 24,254,170,253, 56,167, 46,168, 1, 37, 2, - 53, 1, 26,250,213,170,254, 86, 0, 2, 0, 46,254, 86, 5, 43, 4, 96, 0, 0, 0, 21, 0, 0, 9, 1, 51, 21, 1, 35, 19, 35, - 17, 33, 21, 16, 3, 6, 5, 53, 54, 55, 54, 17, 53, 33,253,180, 6,191,184,254,222,123,229,184,254,123,118, 94,254,204,179, 59, - 98, 2,245, 8, 0,248,153,153,254, 86, 1,170, 3,199,134,254,146,254,252,207, 29,153, 27,127,207, 1,167,212, 0, 1, 0,201, -254,102, 5, 59, 5,213, 0, 21, 0, 0, 37, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 16, 7, 6, 43, 1, 53, 51, 50, 55, 54, - 4,113,253, 34,202,202, 2,222,202,103,103,227, 76, 62,134, 56, 55,104, 2, 95,253, 57, 5,213,253,156, 2,100,250,147,254,242, -122,122,170, 75, 75, 0, 0, 0, 0, 1, 0,193,254, 86, 4,136, 4, 96, 0, 21, 0, 0, 5, 17, 33, 17, 35, 17, 51, 17, 33, 17, - 51, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 3,208,253,169,184,184, 2, 87,184, 82, 81,181,193,172,110, 33, 38, 20, 2, 24, -253,252, 4, 96,254, 51, 1,205,251,140,214, 96, 96,156, 48, 55, 0, 1, 0,201,254, 86, 6, 4, 5,213, 0, 16, 0, 0, 33, 35, - 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 51, 21, 1, 35, 5, 59,202,253, 34,202,202, 2,222,202,201,254,146,134, 2,199,253, - 57, 5,213,253,156, 2,100,250,213,170,254, 86, 0, 1, 0,193,254, 86, 5, 64, 4, 96, 0, 16, 0, 0, 33, 35, 17, 33, 17, 35, - 17, 51, 17, 33, 17, 51, 17, 51, 21, 1, 35, 4,136,184,253,169,184,184, 2, 87,184,184,254,222,123, 2, 4,253,252, 4, 96,254, - 51, 1,205,252, 57,153,254, 86, 0, 1, 0,175,254, 86, 4,179, 5,213, 0, 20, 0, 0, 37, 17, 33, 34, 39, 38, 53, 17, 51, 17, - 20, 22, 51, 33, 17, 51, 17, 35, 17, 35, 17, 3,232,254, 95,186,113,109,201,124,124, 1,120,203,203,201,170, 2, 29,119,114,238, - 1, 55,254,217,159,158, 2,100,250, 43,254, 86, 2, 84, 0, 0, 0, 1, 0,150,254, 86, 4, 0, 4, 96, 0, 21, 0, 0, 37, 17, - 33, 34, 39, 38, 61, 1, 51, 21, 20, 23, 22, 51, 33, 17, 51, 17, 35, 17, 35, 17, 3, 72,254,169,153,102, 92,184, 52, 53,104, 1, - 41,184,184,184,153, 1,112, 95, 86,184,234,211,117, 59, 59, 1,190,251,160,254, 86, 2, 67, 0, 0, 1, 0,201,254, 86, 6,232, - 5,213, 0, 17, 0, 0, 37, 51, 21, 1, 35, 1, 35, 17, 1, 35, 1, 17, 35, 17, 33, 9, 1, 33, 6, 31,201,254,146,134, 1, 43, -197,254,127,203,254,127,196, 1, 45, 1,125, 1,127, 1, 45,170,170,254, 86, 1,170, 5, 31,252, 0, 4, 0,250,225, 5,213,252, - 8, 3,248, 0, 0, 1, 0,193,254, 86, 6, 0, 4, 96, 0, 17, 0, 0, 37, 51, 21, 1, 35, 19, 35, 17, 1, 35, 1, 17, 35, 17, - 33, 9, 1, 33, 5, 72,184,254,222,123,229,178,254,203,184,254,202,178, 1, 6, 1, 62, 1, 63, 1, 4,153,153,254, 86, 1,170, - 3,176,253, 39, 2,217,252, 80, 4, 96,253, 18, 2,238, 0, 0,255,255, 0, 16, 0, 0, 5,104, 7,146, 16, 39, 2, 49, 0,206, - 1, 74, 17, 6, 3, 45, 0, 0, 0, 18,180, 24, 0, 8, 19, 7, 43, 49, 0, 64, 5,111, 0,111, 8, 2, 93, 48,255,255, 0,123, -255,227, 4, 45, 6, 31, 16, 38, 2, 49, 79,215, 19, 6, 3, 77, 0, 0, 0, 8,180, 34, 0, 8, 25, 7, 43, 49,255,255, 0, 16, - 0, 0, 5,104, 5,213, 16, 38, 3, 45, 0, 0, 17, 7, 6,132, 4,188, 1,117, 0, 20,180, 10, 18, 13, 5, 7, 43, 64, 9, 48, - 18, 63, 13, 0, 18, 15, 13, 4, 93, 49, 0, 0,255,255, 0,123,255,227, 4, 45, 6, 16, 18, 38, 3, 77, 0, 0, 17, 6, 0,106, - 82, 0, 0, 32,180, 20, 45, 40, 11, 7, 43, 64, 21,127, 40,111, 40, 80, 45, 95, 40, 64, 45, 79, 40, 48, 45, 63, 40, 0, 45, 15, - 40, 10, 93, 49,255,255, 0, 8, 0, 0, 7, 72, 5,213, 18, 6, 0,136, 0, 0,255,255, 0,123,255,227, 7,111, 4,123, 18, 6, - 0,168, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 16, 39, 6,139, 4,161, 1,117, 17, 6, 3, 50, 0, 0, 0, 7, 64, 3, - 64, 0, 1, 93, 49, 0, 0, 0,255,255, 0,113,255,227, 4,127, 6, 72, 16, 39, 2, 49, 0,150, 0, 0, 19, 6, 3, 82, 0, 0, - 0, 7, 64, 3,112, 0, 1, 93, 49, 0, 0, 0,255,255, 0,117,255,227, 5,217, 5,240, 16, 6, 1, 81, 0, 0,255,255, 0, 0, - 0, 0, 0, 0, 0, 0, 16, 6, 2, 4, 0, 0,255,255, 0,117,255,227, 5,217, 5,240, 16, 39, 6,132, 5, 32, 1,117, 16, 6, - 3,243, 0, 0,255,255, 1, 43, 5, 70, 3,125, 6, 16, 16, 38, 0,106, 84, 0, 16, 6, 3,244, 0, 0, 0, 0,255,255, 0, 59, - 0, 0, 6,173, 5,213, 16, 39, 6,132, 5,116, 1,117, 17, 6, 3, 51, 0, 0, 0, 8,180, 28, 7, 2, 29, 7, 43, 49, 0, 0, -255,255, 0, 50, 0, 0, 5,173, 6, 16, 16, 39, 0,106, 0,240, 0, 0, 18, 6, 3, 83, 0, 0,255,255, 0,156,255,227, 4,115, - 5,240, 16, 39, 6,132, 4,135, 1,117, 16, 6, 3, 52, 0, 0,255,255, 0,133,255,227, 3,200, 6, 16, 16, 38, 0,106, 58, 0, - 16, 6, 3, 84, 0, 0, 0, 0,255,255, 0,160,255,193, 4,248, 5,213, 16, 6, 1,121, 0, 0,255,255, 0, 0, 0, 0, 0, 0, - 0, 0, 16, 6, 2, 8, 0, 0,255,255, 0,201, 0, 0, 5, 51, 7, 49, 16, 39, 0,113, 0,245, 1, 59, 16, 6, 3, 53, 0, 0, -255,255, 0,193, 0, 0, 4,128, 5,245, 16, 39, 0,113, 0,137,255,255, 16, 6, 3, 85, 0, 0,255,255, 0,201, 0, 0, 5, 51, - 5,213, 16, 39, 6,132, 4,245, 1,117, 16, 6, 3, 53, 0, 0,255,255, 0,193, 0, 0, 4,128, 6, 16, 16, 39, 0,106, 0,137, - 0, 0, 16, 6, 3, 85, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 16, 38, 3, 59, 0, 0, 17, 7, 6,132, 5, 39, 1,117, - 0, 20,180, 3, 31, 26, 9, 7, 43, 64, 9, 64, 31, 79, 26, 16, 31, 31, 26, 4, 93, 49, 0, 0,255,255, 0,113,255,227, 4,117, - 6, 16, 18, 38, 3, 91, 0, 0, 17, 6, 0,106,115, 0, 0, 20,180, 3, 31, 26, 9, 7, 43, 64, 9, 64, 31, 79, 26, 48, 31, 63, - 26, 4, 93, 49,255,255, 0,115,255,227, 5,217, 5,240, 16, 6, 3, 17, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 16, 6, - 2, 7, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 18, 38, 4, 3, 0, 0, 16, 7, 6,132, 5, 39, 1,117,255,255, 1, 74, - 5, 70, 3,156, 6, 16, 18, 38, 4, 4, 0, 0, 16, 6, 0,106,115, 0, 0, 0,255,255, 0,111,255,227, 5, 35, 5,240, 16, 39, - 6,132, 4,103, 1,117, 16, 6, 3, 74, 0, 0,255,255, 0,113,255,227, 3,231, 6, 16, 16, 38, 0,106,226, 0, 16, 6, 3,106, - 0, 0, 0, 0,255,255, 0, 35,255,227, 4,189, 7, 49, 16, 39, 0,113, 0,114, 1, 59, 16, 6, 3, 64, 0, 0,255,255, 0, 61, -254, 86, 4,127, 5,245, 16, 38, 0,113, 94,255, 16, 6, 3, 96, 0, 0, 0, 0,255,255, 0, 35,255,227, 4,189, 5,213, 16, 39, - 6,132, 4,114, 1,117, 16, 6, 3, 64, 0, 0,255,255, 0, 61,254, 86, 4,127, 6, 16, 16, 38, 0,106, 94, 0, 16, 6, 3, 96, - 0, 0, 0, 0,255,255, 0, 35,255,227, 4,189, 5,213, 16, 39, 6,141, 4,114, 1,117, 16, 6, 3, 64, 0, 0,255,255, 0, 61, -254, 86, 4,127, 6,102, 16, 38, 2, 54, 94, 0, 16, 6, 3, 96, 0, 0, 0, 0,255,255, 0,175, 0, 0, 4,179, 5,213, 16, 39, - 6,132, 4,204, 1,117, 16, 6, 3, 68, 0, 0,255,255, 0,150, 0, 0, 4, 0, 6, 16, 16, 38, 0,106, 94, 0, 16, 6, 3,100, - 0, 0, 0, 0, 0, 1, 0,201,254, 86, 4,106, 5,213, 0, 9, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 21, 33, 1,147,201,201, -202, 3,161,253, 41,170,253,172, 1,170, 5,213,170, 0, 0, 0, 0, 1, 0,186,254, 86, 3,208, 4, 96, 0, 9, 0, 0, 37, 51, - 17, 35, 17, 35, 17, 33, 21, 33, 1,114,184,184,184, 3, 22,253,162,153,253,189, 1,170, 4, 96,170, 0, 0, 0,255,255, 0,201, - 0, 0, 6, 70, 5,213, 18, 38, 3, 72, 0, 0, 16, 7, 6,132, 5,183, 1,117,255,255, 0,193, 0, 0, 5,105, 6, 16, 16, 38, - 3,104, 0, 0, 16, 7, 0,106, 1, 8, 0, 0, 0, 2, 0,145, 0, 0, 4,180, 5,213, 0, 10, 0, 21, 0, 0, 1, 20, 23, 22, - 51, 33, 17, 33, 34, 7, 6, 1, 17, 33, 34, 36, 53, 52, 36, 51, 33, 17, 1,102, 79, 78,163, 1, 68,254,188,163, 78, 79, 3, 78, -253,232,251,254,240, 1, 16,251, 1, 78, 1,183,138, 67, 68, 2, 35, 67, 68, 3,147,250, 43,218,221,222,218, 2,102, 0, 0, 0, - 0, 2, 0,113, 0, 0, 3,245, 4, 96, 0, 10, 0, 22, 0, 0, 1, 20, 23, 22, 51, 33, 17, 33, 34, 7, 6, 1, 17, 33, 34, 39, - 38, 16, 55, 54, 51, 33, 17, 1, 53, 62, 66,129, 1, 7,254,249,128, 67, 62, 2,192,254, 57,214,115,116,116,121,208, 1, 15, 1, - 76, 90, 43, 46, 1,105, 46, 42, 2,182,251,160, 82, 82, 1, 80, 82, 85, 1,197, 0, 2, 0,145,255,227, 7, 67, 5,213, 0, 12, - 0, 48, 0, 0, 1, 33, 34, 7, 6, 16, 23, 22, 51, 50, 55, 54, 53, 19, 6, 7, 6, 7, 6, 35, 34, 39, 38, 53, 52, 36, 51, 33, - 17, 51, 3, 20, 23, 22, 51, 50, 55, 54, 53, 17, 51, 17, 20, 7, 6, 35, 34, 39, 38, 3,234,254,188,163, 78, 79, 79, 95,129,180, - 75, 86, 33, 12, 14, 51,106, 94,110,238,129,136, 1, 16,251, 1, 78,202, 1, 63, 52,112,105, 59, 63,202,110,104,215,217,102, 49, - 2,201, 67, 68,254,234, 80, 95,109,125,159,254,221, 29, 28, 96, 54, 49,129,137,202,222,218, 2,102,251,236,143, 91, 74, 74, 79, -155, 2,159,253, 90,224,127,120,120, 57, 0, 0, 0, 2, 0,113,255,227, 6,115, 4, 96, 0, 12, 0, 46, 0, 0, 1, 33, 34, 7, - 6, 21, 20, 22, 51, 50, 55, 54, 53, 19, 6, 7, 6, 35, 34, 38, 53, 52, 55, 54, 51, 33, 17, 51, 17, 20, 23, 22, 51, 50, 55, 54, - 53, 17, 51, 17, 20, 7, 6, 35, 34, 39, 38, 3, 61,254,249,128, 67, 62,129,106,148, 92, 45, 49, 67, 93, 94,136,172,203,116,121, -208, 1, 15,184, 62, 60,106,104, 60, 62,184,100,104,206,211,100, 31, 2, 2, 46, 42, 94, 92,115,109, 52,156,254,246,108, 48, 49, -193,166,170, 82, 85, 1,197,253, 97,159, 80, 79, 79, 82,157, 1, 65,254,184,236,115,120,120, 37, 0, 1, 0,201,255,227, 7, 3, - 5,240, 0, 55, 0, 0, 1, 52, 39, 38, 43, 1, 53, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 6, 7, 53, 54, 55, 54, 51, 50, 23, - 22, 21, 20, 7, 6, 7, 22, 23, 22, 21, 20, 23, 22, 51, 50, 55, 54, 53, 17, 51, 17, 20, 7, 6, 35, 34, 39, 38, 39, 38, 3,170, - 92, 93,165,174,182,149, 79, 79, 81, 82,152, 83,190,114,115,100,101, 89,230,134,134, 71, 71,131,145, 82, 81, 63, 52,112,105, 59, - 63,202,110,104,215,217,102, 48, 28, 33, 1,178,132, 74, 75,166, 59, 60,112,115, 61, 62, 36, 38,180, 32, 16, 16,104,105,178,124, - 85, 86, 33, 31, 98, 98,144,128, 91, 74, 74, 79,155, 2,159,253, 90,224,127,120,120, 56, 80, 97, 0, 1, 0,171,255,227, 6, 70, - 4,124, 0, 53, 0, 0, 1, 52, 39, 38, 43, 1, 53, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 7, 53, 62, 1, 51, 50, 23, - 22, 21, 20, 7, 6, 7, 22, 23, 22, 21, 20, 23, 22, 51, 50, 55, 54, 53, 17, 51, 17, 20, 7, 6, 35, 34, 39, 38, 3, 19, 78, 72, -137,148,155,116, 67, 68, 70, 69,119, 71, 81, 80, 97, 98,170, 76,196,113,114, 60, 60,112,129, 64, 69, 62, 61,105,104, 60, 62,184, -100,104,206,199,112, 98, 1, 56,102, 56, 51,152, 44, 45, 70, 64, 46, 46, 13, 13, 29,167, 24, 24, 78, 79,141, 93, 64, 65, 24, 25, - 72, 79, 72, 88, 68, 69, 79, 82,157, 1, 65,254,184,236,115,120,117,101, 0, 0, 0, 1, 0,201,254, 86, 5, 60, 5,240, 0, 41, - 0, 0, 33, 35, 17, 52, 39, 38, 43, 1, 53, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 6, 7, 53, 54, 55, 54, 51, 50, 23, 22, 21, - 20, 7, 6, 7, 22, 23, 22, 21, 17, 51, 17, 35, 4,115,201, 92, 93,165,174,182,149, 79, 79, 81, 82,152, 83,190,114,115,100,101, - 89,230,134,134, 71, 71,131,145, 82, 81,201,201, 1,177,133, 74, 75,166, 59, 60,112,115, 61, 62, 36, 38,180, 32, 16, 16,104,105, -178,124, 85, 86, 33, 31, 98, 97,146,254,249,253,172, 0, 0, 0, 0, 1, 0,171,254, 86, 4,131, 4,124, 0, 41, 0, 0, 37, 51, - 17, 35, 17, 35, 17, 52, 39, 38, 43, 1, 53, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 7, 53, 62, 1, 51, 50, 23, 22, 21, - 20, 7, 6, 7, 22, 23, 22, 21, 3,200,187,184,184, 78, 72,137,148,155,116, 67, 68, 70, 69,119, 71, 81, 80, 97, 98,170, 76,196, -113,114, 60, 60,112,126, 67, 69,153,253,189, 1,170, 1, 70, 88, 56, 51,152, 44, 45, 70, 64, 46, 46, 13, 13, 29,167, 24, 24, 78, - 79,141, 93, 64, 65, 24, 24, 73, 75,106, 0, 0, 0, 1, 0, 54,255,227, 7,202, 5,213, 0, 33, 0, 0, 1, 17, 20, 23, 22, 51, - 50, 55, 54, 53, 17, 51, 17, 20, 7, 6, 35, 34, 39, 38, 53, 17, 33, 21, 16, 3, 6, 5, 53, 54, 55, 18, 25, 1, 5, 58, 63, 52, -112,105, 59, 63,202,110,104,215,214,105,110,254, 27,132, 98,254,145,212, 67,117, 5,213,251,236,143, 91, 74, 74, 79,155, 2,159, -253, 90,224,127,120,120,125,226, 3,113,212,254, 24,254,170,253, 56,167, 46,168, 1, 37, 2, 53, 1, 26, 0, 0, 0, 1, 0, 46, -255,227, 6,238, 4, 96, 0, 32, 0, 0, 1, 17, 20, 22, 51, 50, 55, 54, 53, 17, 51, 17, 20, 7, 6, 35, 34, 39, 38, 53, 17, 33, - 21, 16, 3, 6, 5, 53, 54, 55, 54, 17, 53, 4,115,122,103,104, 60, 62,184,100,104,206,199,112, 98,254,123,118, 94,254,204,179, - 59, 98, 4, 96,253, 4, 87,138, 79, 82,157, 1, 65,254,184,236,115,120,117,101,123, 2,143,134,254,146,254,252,207, 29,153, 27, -127,207, 1,167,212, 0, 0, 0,255,255, 0,201,255,227, 8, 45, 5,213, 16, 2, 1,184, 0, 0, 0, 1, 0,193,255,227, 7, 3, - 4, 96, 0, 28, 0, 0, 1, 17, 20, 22, 51, 50, 55, 54, 53, 17, 51, 17, 20, 7, 6, 35, 34, 39, 38, 61, 1, 33, 17, 35, 17, 51, - 17, 33, 17, 4,136,122,103,104, 60, 62,184,100,104,206,199,112, 98,253,169,184,184, 2, 87, 4, 96,253, 4, 87,138, 79, 82,157, - 1, 65,254,184,236,115,120,117,101,123,204,253,252, 4, 96,254, 51, 1,205, 0,255,255, 0,115,255,227, 5,139, 5,240, 16, 2, - 0, 42, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 16, 2, 2, 5, 0, 0, 0, 1,255,250,255,227, 5,102, 5,213, 0, 25, - 0, 0, 1, 17, 20, 23, 22, 51, 50, 55, 54, 53, 17, 51, 17, 20, 7, 6, 35, 34, 39, 38, 53, 17, 33, 53, 33, 21, 2,215, 63, 52, -111,105, 59, 63,202,110,104,215,214,105,110,253,238, 4,239, 5, 43,252,150,143, 91, 74, 74, 79,155, 2,159,253, 90,224,127,120, -120,125,226, 3,113,170,170, 0, 0, 1, 0, 5,255,227, 4,246, 4, 96, 0, 25, 0, 0, 1, 17, 20, 23, 22, 51, 50, 55, 54, 53, - 17, 51, 17, 20, 7, 6, 35, 34, 39, 38, 53, 17, 33, 53, 33, 21, 2,120, 62, 61,105,104, 60, 62,184,100,104,206,199,112, 98,254, - 66, 4, 49, 3,182,253,174, 86, 70, 69, 79, 82,157, 1, 65,254,184,236,115,120,117,101,123, 2,126,170,170, 0, 0, 1, 0,178, -255,227, 6,160, 5,213, 0, 33, 0, 0, 37, 6, 7, 6, 33, 32, 0, 25, 1, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, 7, - 51, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 35, 4,239, 42, 45,144,254,230,254,229,254,223,203,174,195,194,174,203, 9, 44,148, - 96, 96,156, 48, 55, 81,248, 82, 46,149, 1, 42, 1, 36, 3,164,252,117,240,211,211,240, 3,139,252, 92, 71, 67, 91, 91,171, 70, - 49,108, 42, 49, 0, 1, 0,178, 0, 0, 5, 41, 5,242, 0, 32, 0, 0, 33, 35, 17, 16, 0, 33, 32, 23, 22, 17, 21, 35, 53, 52, - 38, 35, 34, 6, 29, 1, 33, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 35, 33, 1,125,203, 1, 33, 1, 27, 1, 23,147,145,203,174, -194,195,174, 2, 88,149, 95, 96,156, 48, 55, 81,253,168, 3,164, 1, 36, 1, 42,149,146,254,217, 57, 32,240,211,211,240,157, 91, - 91,171, 70, 49,108, 42, 49, 0, 0, 2, 0,178, 0, 0, 6,196, 5,242, 0, 28, 0, 40, 0, 0, 1, 51, 50, 23, 22, 29, 1, 35, - 53, 52, 39, 38, 43, 1, 17, 35, 17, 33, 34, 39, 38, 53, 52, 55, 54, 33, 32, 0, 17, 3, 17, 52, 38, 35, 34, 6, 21, 20, 23, 22, - 51, 5, 41, 71,149, 95, 96,156, 48, 55, 81, 71,203,254, 42,201,159,110,144,152, 1, 19, 1, 27, 1, 33,203,174,195,194,174, 53, - 90,166, 2,114, 91, 91,171, 70, 49,108, 42, 49,254, 61, 1,195,179,124,224,253,142,149,254,214,254,220,254,206, 1, 25,240,211, -211,175,149, 73,124, 0, 0, 0, 0, 1, 0,178, 0, 0, 6,196, 5,242, 0, 32, 0, 0, 1, 51, 50, 23, 22, 29, 1, 35, 53, 52, - 39, 38, 43, 1, 17, 35, 17, 52, 38, 35, 34, 7, 6, 29, 1, 35, 53, 16, 0, 33, 32, 23, 22, 5, 23, 89,149, 95, 96,156, 48, 55, - 81, 71,203,174,194,195, 87, 87,203, 1, 33, 1, 27, 1, 26,144, 90, 4, 96, 91, 91,171, 70, 49,108, 42, 49,252, 79, 3,139,240, -211,106,106,239, 32, 57, 1, 36, 1, 42,149, 92, 0, 1, 0,178,255,227, 5, 41, 5,213, 0, 32, 0, 0, 19, 16, 0, 33, 32, 55, - 54, 61, 1, 35, 21, 20, 6, 35, 34, 38, 53, 17, 33, 50, 23, 22, 29, 1, 51, 53, 52, 39, 38, 35, 33, 17, 35,178, 1, 33, 1, 27, - 1, 23,147,145,203,174,194,195,174, 2, 88, 81, 55, 48,156, 96, 95,149,253,168,203, 2, 49,254,220,254,214,149,146,227, 57, 32, -172,211,211,240, 1,103, 49, 42,108, 49, 70,171, 91, 91, 1,117, 0, 2, 0,155,255, 8, 4,186, 5,240, 0, 33, 0, 43, 0, 0, - 37, 33, 54, 55, 6, 7, 6, 35, 34, 0, 53, 52, 0, 51, 32, 23, 22, 3, 2, 3, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 35, 33, - 17, 51, 18, 32, 54, 53, 52, 38, 32, 6, 21, 20, 1,102, 1, 15,232, 60, 48, 28, 73,124,224,254,251, 1, 16,226, 1, 8,131,155, - 58, 52,231,149, 95, 96,156, 48, 55, 81,253, 53,203,167, 1, 16,159,159,254,240,159,175,225,208, 39, 17, 46, 1, 15,235,230, 1, - 22,198,234,254,169,254,207,254,247, 91, 91,171, 70, 49,108, 42, 49, 1, 76, 1, 76,186,162,161,187,187,161,162, 0, 1, 0,178, -255, 8, 5, 41, 5,213, 0, 29, 0, 0, 37, 33, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 35, 33, 17, 51, 17, 33, 50, 23, 22, 29, - 1, 35, 53, 52, 39, 38, 35, 33, 1,125, 1,133,149, 95, 96,156, 48, 55, 81,253,176,203, 2, 88,149, 95, 96,156, 48, 55, 81,253, -168,175, 91, 91,171, 70, 49,108, 42, 49, 5,213,254,139, 91, 91,171, 70, 49,108, 42, 49, 0, 0, 0, 1, 0,178,255, 8, 5, 41, - 5,242, 0, 31, 0, 0, 51, 17, 16, 0, 33, 32, 23, 22, 17, 21, 35, 53, 52, 38, 35, 34, 7, 6, 21, 17, 33, 50, 23, 22, 29, 1, - 35, 53, 52, 39, 38, 35,178, 1, 33, 1, 27, 1, 19,151,145,203,174,194,197, 85, 87, 2, 88,149, 95, 96,156, 48, 55, 81, 3,164, - 1, 36, 1, 42,149,142,254,213, 57, 32,240,211,106,108,237,253, 36, 91, 91,171, 70, 49,108, 42, 49, 0, 0, 0, 0, 2, 0,178, - 0, 0, 6,142, 5,242, 0, 43, 0, 56, 0, 0, 1, 35, 21, 20, 7, 6, 7, 6, 39, 38, 39, 38, 55, 54, 51, 33, 38, 39, 38, 35, - 34, 6, 21, 17, 35, 17, 16, 0, 33, 32, 23, 22, 23, 51, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 33, 35, 34, 21, 20, 23, 22, 51, - 50, 55, 54, 53, 52, 5, 58, 17,103,105,152,146,109,130, 2, 1, 73, 78, 75, 1, 40, 22, 42, 87,194,195,174,203, 1, 33, 1, 27, - 1, 19,151, 92, 33, 37,149, 95, 96,156, 48, 53,254,208,187,153, 57, 58, 69, 53, 58, 46, 3,177, 32,223,114,115, 10, 10, 84,102, -189,147, 76, 81, 82, 50,106,211,240,252,117, 3,164, 1, 36, 1, 42,149, 91,162, 91, 91,171, 70, 49,106, 44, 49,135,105, 45, 45, - 81, 64,147, 17, 0, 2, 0,178, 0, 0, 6,196, 5,242, 0, 28, 0, 40, 0, 0, 1, 35, 17, 16, 0, 33, 32, 39, 38, 17, 52, 55, - 54, 51, 33, 17, 51, 17, 51, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 41, 1, 34, 7, 6, 21, 20, 22, 51, 50, 54, 53, 5,112, 71, -254,223,254,229,254,237,152,144,110,159,201, 1,214,203, 71,149, 95, 96,156, 48, 55,254,157,254, 84,166, 90, 53,174,194,195,174, - 3,177,254,157,254,220,254,214,149,142, 1, 46,224,124,179, 1,146,254,110, 91, 91,171, 70, 49,108, 42, 49,125, 72,149,224,211, -211,240, 0, 0, 0, 1, 0,178, 0, 0, 5, 41, 5,213, 0, 20, 0, 0, 19, 51, 17, 54, 51, 32, 23, 22, 17, 21, 35, 53, 52, 38, - 35, 34, 7, 6, 21, 17, 35,178,203,160,209, 1, 19,151,145,203,174,194,193, 89, 87,203, 5,213,254, 59,100,149,142,254,213, 75, - 50,240,211,106,103,242,253,243, 0, 1, 0,178,255, 8, 4, 86, 5,213, 0, 15, 0, 0, 1, 17, 33, 50, 23, 22, 29, 1, 35, 53, - 52, 39, 38, 35, 33, 17, 1,125, 1,133,149, 95, 96,156, 48, 55, 81,253,176, 5,213,250,218, 91, 91,171, 70, 49,108, 42, 49, 5, -213, 0, 0, 0, 0, 1, 0,178,255,227, 5,231, 5,213, 0, 27, 0, 0, 1, 17, 16, 23, 22, 51, 50, 55, 54, 53, 17, 51, 17, 20, - 7, 6, 35, 34, 39, 38, 25, 1, 33, 17, 35, 17, 51, 17, 3,124, 37, 51,120,129, 42, 37,203,113, 88,210,198,100,113,254,204,203, -203, 4, 96,253,215,254,229, 62, 87, 87, 75,135, 2,176,253, 55,213,125, 98, 98,112, 1,105, 1,147,252, 79, 5,213,254,139, 0, - 0, 2, 0, 65,255,227, 7,153, 6,205, 0, 34, 0, 47, 0, 0, 1, 22, 17, 16, 0, 33, 32, 0, 17, 16, 55, 35, 6, 39, 38, 61, - 1, 51, 21, 20, 23, 22, 51, 33, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 35, 37, 34, 7, 6, 17, 16, 0, 32, 0, 17, 16, 39, 38, - 5,214,201,254,136,254,198,254,197,254,135,195,103,148, 96, 96,156, 48, 55, 81, 4,176,149, 95, 96,156, 48, 55, 81,253,168,225, -124,130, 1, 3, 1,184, 1, 1,128,121, 5, 38,225,254,164,254,159,254, 91, 1,164, 1, 98, 1, 99,218, 1, 92, 91,171, 70, 49, -108, 42, 49, 91, 91,171, 70, 49,108, 42, 49, 32,158,164,254,229,254,230,254,184, 1, 72, 1, 26, 1, 22,169,158, 0, 1, 0,178, - 0, 0, 5, 41, 5,213, 0, 20, 0, 0, 33, 35, 17, 6, 35, 32, 39, 38, 25, 1, 51, 17, 20, 22, 51, 50, 55, 54, 61, 1, 51, 5, - 41,203,160,209,254,237,152,144,203,174,194,193, 89, 87,203, 1,197,100,149,142, 1, 43, 2, 38,253,243,240,211,105,104,242,152, - 0, 1, 0,178,255, 8, 5, 41, 5,213, 0, 18, 0, 0, 9, 2, 33, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 35, 33, 53, 9, 1, - 3,117, 1,119,252,201, 2, 32,149, 95, 96,156, 48, 55, 81,252,221, 3, 49,254,107, 5,213,254,174,252, 44, 91, 91,171, 70, 49, -108, 42, 49,175, 3,192, 1,102, 0, 3, 0,143,255,210, 4,201, 5,240, 0, 38, 0, 44, 0, 54, 0, 0, 37, 6, 35, 34, 39, 38, - 55, 54, 51, 50, 23, 54, 55, 6, 7, 6, 35, 34, 0, 53, 52, 0, 51, 32, 23, 22, 3, 2, 7, 6, 7, 22, 55, 54, 55, 21, 6, 7, - 6, 37, 38, 7, 6, 23, 22, 18, 32, 54, 53, 52, 38, 32, 6, 21, 20, 2,174,110, 86,172, 73,103, 2, 5,201,178,148,131,114, 48, - 28, 73,124,224,254,251, 1, 16,226, 1, 8,131,155, 58, 55,190, 32, 36, 84, 46,129,126,103,152,154,254,206, 93, 42, 86, 31, 24, -181, 1, 16,159,159,254,240,159, 28, 64, 35, 50,110,245,154,119,239, 39, 17, 46, 1, 15,235,230, 1, 22,198,234,254,169,254,191, -204, 34, 37, 22, 3, 7,100,192, 89, 1, 3,198, 81, 4, 8, 60, 45, 2, 38,186,162,161,187,187,161,162, 0, 0, 0, 1, 0,178, -255, 8, 6,196, 5,242, 0, 30, 0, 0, 33, 17, 52, 38, 35, 34, 7, 6, 29, 1, 35, 53, 16, 0, 33, 32, 0, 25, 1, 51, 50, 23, - 22, 29, 1, 35, 53, 52, 39, 38, 35, 4, 94,174,194,197, 85, 87,203, 1, 33, 1, 27, 1, 26, 1, 33, 71,149, 95, 96,156, 48, 55, - 81, 3,139,240,211,106,106,239, 32, 57, 1, 36, 1, 42,254,214,254,220,253, 11, 91, 91,171, 70, 49,108, 42, 49, 0, 2, 0, 92, -255,226, 5,133, 5,213, 0, 13, 0, 43, 0, 0, 1, 17, 20, 22, 51, 50, 55, 54, 61, 1, 52, 39, 38, 35, 33, 35, 53, 51, 53, 52, - 55, 54, 51, 33, 21, 33, 34, 7, 6, 21, 33, 50, 23, 22, 21, 17, 35, 53, 6, 35, 32, 39, 38, 17, 1,217,174,194,193, 89, 87, 48, - 55, 81,253, 12,178,178, 96, 95,149, 3, 35,253, 12, 81, 55, 48, 2, 88,149, 95, 96,203,160,209,254,231,146,144, 3,177,254,152, -240,211,106,103,242,161,108, 42, 49,175, 20,171, 91, 91,175, 49, 42,107, 91, 91,171,253, 1, 70,100,149,148, 1, 37, 0, 0, 0, - 0, 1, 0,178,255,227, 6,196, 5,213, 0, 29, 0, 0, 1, 17, 16, 0, 33, 32, 0, 25, 1, 51, 17, 20, 22, 51, 50, 54, 53, 17, - 33, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 35, 5, 41,254,223,254,230,254,229,254,223,203,174,195,194,174, 1, 18,149, 95, 96, -156, 48, 55, 81, 5, 38,253, 11,254,220,254,214, 1, 42, 1, 36, 3,164,252,117,240,211,211,240, 3,139, 91, 91,171, 70, 49,108, - 42, 49, 0, 0, 0, 1, 0,140,255,227, 5, 83, 5,242, 0, 44, 0, 0, 19, 52, 55, 54, 33, 32, 23, 22, 21, 20, 7, 6, 7, 30, - 1, 21, 20, 4, 32, 36, 53, 51, 20, 23, 22, 32, 54, 53, 52, 38, 35, 33, 53, 33, 50, 54, 53, 52, 39, 38, 35, 34, 7, 6, 7,173, -155,144, 1, 23, 1, 20,147,155, 73, 73,129,146,163,254,247,253, 74,254,248,202, 82, 83, 1,232,166,165,245,253,191, 2, 65,230, -147, 99, 97,181,181, 97, 87, 11, 4,171,143, 96, 88, 88, 96,143,128, 91, 89, 32, 34,198,175,245,232,231,246,162, 78, 77,155,162, -167,154,159,130,116, 89, 49, 48, 48, 43, 74, 0, 0, 1, 0, 92,255,227, 6,110, 6,205, 0, 30, 0, 0, 1, 17, 20, 22, 51, 50, - 55, 54, 61, 1, 51, 21, 16, 0, 33, 32, 0, 25, 1, 35, 34, 39, 38, 61, 1, 51, 21, 20, 23, 22, 51, 2,194,174,194,197, 85, 87, -203,254,223,254,229,254,230,254,223, 71,149, 95, 96,156, 48, 55, 81, 5,213,252,117,240,211,105,107,239, 32, 57,254,220,254,214, - 1, 42, 1, 36, 2,245, 91, 91,171, 70, 49,108, 42, 49, 0, 0, 0, 1, 0,178,255,225, 5, 41, 6,147, 0, 32, 0, 0, 1, 20, - 23, 22, 51, 50, 55, 54, 61, 1, 51, 21, 16, 7, 6, 37, 36, 39, 38, 53, 16, 55, 54, 37, 55, 37, 53, 5, 21, 5, 4, 7, 6, 1, -122, 90, 91,190,195, 87, 87,203,145,159,254,244,254,208,123,144, 61,129, 1,115,150,253, 57, 4, 17,254,164,254,153, 87, 47, 2, - 7,175,104,105,105,107,239, 32, 57,254,220,149,165, 16, 18,131,155,234, 1, 38,100,224,161, 65,140,190,190,190,156,161,158, 85, - 0, 1, 0,178, 0, 0, 5, 41, 5,242, 0, 17, 0, 0, 51, 17, 16, 0, 33, 32, 0, 25, 1, 35, 17, 52, 38, 35, 34, 6, 21, 17, -178, 1, 33, 1, 27, 1, 26, 1, 33,203,174,194,195,174, 3,164, 1, 36, 1, 42,254,214,254,220,252, 92, 3,139,240,211,211,240, -252,117, 0, 0, 0, 1, 0,178,255, 66, 5, 41, 5,244, 0, 32, 0, 0, 1, 52, 39, 38, 35, 34, 7, 6, 29, 1, 35, 53, 16, 55, - 54, 5, 4, 23, 22, 21, 16, 7, 6, 5, 7, 5, 21, 37, 53, 37, 36, 55, 54, 4, 97, 90, 91,190,195, 87, 87,203,144,160, 1, 12, - 1, 48,122,145, 61,129,254,141,150, 2,199,251,239, 1, 92, 1,103, 87, 47, 3,206,175,103,106,106,106,239, 32, 57, 1, 36,149, -165, 16, 18,131,155,234,254,218,100,224,161, 65,140,190,190,190,156,161,158, 85, 0, 1, 0,178, 0, 0, 5,161, 5,242, 0, 24, - 0, 0, 1, 17, 35, 17, 6, 7, 6, 29, 1, 35, 53, 16, 55, 54, 33, 32, 23, 22, 25, 1, 35, 17, 52, 39, 38, 3,144,203,136, 75, -117,203,174,145, 1, 57, 1, 41,159,175,203,117, 66, 5, 71,252,148, 3,108, 19, 80,124,221, 32, 57, 1, 5,180,149,149,163,254, -234,252, 92, 3,139,204,141, 80, 0, 2, 0,155,255, 8, 4,186, 5,240, 0, 29, 0, 43, 0, 0, 37, 38, 39, 38, 17, 52, 0, 51, - 32, 23, 22, 3, 2, 3, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 35, 33, 17, 51, 21, 33, 55, 54, 55, 54, 39, 38, 39, 38, 32, 6, - 21, 20, 23, 22, 2,162, 69,240,202, 1, 16,226, 1, 8,131,155, 58, 52,231,149, 95, 96,156, 48, 55, 81,253, 53,203, 1, 20,171, -101, 15, 63, 28, 25, 55, 79,254,240,159,151,163,220,220,170,142, 1, 4,230, 1, 22,198,234,254,169,254,207,254,247, 91, 91,171, - 70, 49,108, 42, 49, 1, 76,157,195,194, 44,189,215,190, 64, 94,187,161,170,116,126, 0, 0, 0, 0, 1, 0,178, 0, 0, 6,196, - 5,242, 0, 31, 0, 0, 1, 51, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 43, 1, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, - 16, 0, 33, 32, 23, 22, 5, 23, 89,149, 95, 96,156, 48, 55, 81, 71,203,174,194,195,174,203, 1, 33, 1, 27, 1, 26,144, 90, 4, - 96, 91, 91,171, 70, 49,108, 42, 49,252, 79, 3,139,240,211,211,240,252,117, 3,164, 1, 36, 1, 42,149, 92, 0,255,255, 0,178, -255,227, 5, 41, 5,213, 18, 6, 0, 56, 0, 0, 0, 1, 0,178,255, 8, 6,196, 5,213, 0, 32, 0, 0, 41, 1, 50, 23, 22, 29, - 1, 51, 53, 52, 39, 38, 43, 1, 17, 35, 17, 20, 7, 6, 35, 34, 38, 61, 1, 35, 21, 16, 23, 22, 33, 50, 55, 4, 94, 1, 18, 81, - 55, 48,156, 96, 95,149, 71,203, 87, 89,193,194,174,203,144,152, 1, 19,209,160, 49, 42,108, 49, 70,171, 91, 91, 5, 38,253,243, -242,104,105,211,240,152,177,254,215,144,149,100,255,255, 0,135,255,227, 4,162, 5,240, 18, 6, 0, 54, 0, 0, 0, 1, 0,178, - 0, 0, 5, 41, 5,242, 0, 18, 0, 0, 51, 17, 16, 0, 33, 32, 23, 22, 17, 21, 35, 53, 52, 38, 35, 34, 6, 21, 17,178, 1, 33, - 1, 27, 1, 19,151,145,203,174,194,195,174, 3,164, 1, 36, 1, 42,149,142,254,213, 57, 32,240,211,211,240,252,117, 0, 0, 0, - 0, 2, 0,140,255,227, 5, 83, 5,242, 0, 43, 0, 57, 0, 0, 1, 30, 1, 21, 20, 4, 32, 36, 53, 51, 20, 23, 22, 32, 54, 53, - 52, 38, 35, 34, 7, 6, 7, 34, 35, 54, 55, 54, 55, 38, 39, 38, 53, 52, 55, 54, 33, 32, 23, 22, 21, 20, 7, 6, 1, 34, 7, 6, - 21, 20, 22, 51, 50, 54, 53, 52, 39, 38, 4, 30,146,163,254,247,253, 74,254,248,202, 82, 83, 1,232,166,165,245,226,101, 31, 5, -102,103, 3, 35, 82,146,129, 72, 74,155,147, 1, 19, 1, 20,147,155, 73, 73,254, 80,180, 97, 99,147,229,230,147, 99, 97, 3, 87, - 34,198,175,245,232,231,246,162, 78, 77,155,162,167,154, 77, 28, 12, 28, 42, 99, 34, 32, 89, 91,128,143, 96, 88, 88, 94,145,128, - 91, 89, 1,217, 48, 49, 89,116,130,130,116, 89, 49, 48, 0, 0, 0, 1, 0,178, 0, 0, 6, 12, 5,213, 0, 21, 0, 0, 1, 53, - 52, 38, 35, 34, 7, 6, 21, 17, 35, 17, 51, 17, 54, 51, 32, 23, 22, 23, 51, 21, 4, 94,174,194,193, 89, 87,203,203,160,209, 1, - 19,151,117, 24,231, 1,219, 50,240,211,106,103,242,253,243, 5,213,254, 59,100,149,115,226,175,255,255, 0,115, 0, 0, 5,217, - 5,213, 18, 6, 2,196, 0, 0, 0, 2, 0, 92, 0, 0, 5,227, 5,242, 0, 44, 0, 60, 0, 0, 1, 17, 52, 55, 54, 51, 50, 23, - 22, 21, 20, 7, 6, 35, 34, 39, 21, 33, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 35, 33, 17, 35, 17, 35, 34, 39, 38, 61, 1, 51, - 21, 20, 23, 22, 51, 1, 6, 7, 6, 21, 20, 23, 22, 23, 22, 55, 54, 53, 52, 39, 38, 1,208,146,141,235,244,132,145,145,132,244, -246, 73, 1,244,149, 95, 96,156, 48, 55, 81,254, 12,203, 32,149, 95, 96,156, 48, 55, 81, 2, 42,138, 93, 87, 87, 93,138,136, 95, - 87, 87, 95, 2,114, 2, 8,149,115,112,112,122,144,149,122,112, 83,218, 91, 91,171, 70, 49,108, 42, 49,254, 61, 1,195, 91, 91, -171, 70, 49,108, 42, 49, 2,220, 1, 65, 62, 84, 93, 61, 66, 1, 1, 68, 61, 91, 86, 62, 67, 0,255,255, 0,115,255,227, 5,217, - 5,240, 18, 6, 0, 50, 0, 0, 0, 3, 0,135,255,227, 4,162, 5,240, 0, 8, 0, 19, 0, 46, 0, 0, 1, 17, 54, 55, 54, 53, - 52, 39, 38, 1, 17, 52, 39, 34, 7, 6, 21, 20, 23, 22, 5, 23, 30, 1, 21, 20, 4, 33, 34, 38, 39, 53, 22, 23, 22, 23, 17, 38, - 39, 38, 53, 52, 55, 54, 51, 50, 21, 2,185,113, 71, 94, 67, 67,254,188, 57, 53, 43, 26, 60, 38, 1, 5, 48,226,215,254,221,254, -231,106,239,128,123,118, 69, 66,190, 91,101, 75, 91,165,231, 2,148,253,248, 11, 52, 68,126,110, 62, 61, 1, 18, 1,132, 62, 2, - 64, 37,145, 99, 51, 31, 65, 10, 43,217,182,217,224, 48, 47,208, 69, 35, 20, 10, 2, 44, 44, 87, 96,171,215, 97,114,201, 0, 0, -255,255, 0,117, 3,239, 1,135, 6, 20, 16, 6, 2, 24, 0, 0,255,255, 0,178, 3,254, 1,215, 5,213, 16, 6, 2, 21, 0, 0, - 0, 1, 0, 94, 4,241, 3,169, 6,194, 0, 3, 0, 0, 1, 35, 1, 51, 1, 51,213, 2,118,213, 4,241, 1,209, 0, 1, 0,120, - 4,241, 3,134, 7, 37, 0, 17, 0, 0, 1, 34, 7, 6, 21, 35, 52, 55, 54, 51, 50, 55, 54, 53, 51, 20, 7, 6, 1,255, 91, 82, - 66,152,104,106,181, 91, 82, 66,152,104,106, 5,205, 84, 68, 68,130,106,108, 84, 68, 68,130,106,108, 0, 0, 0,255,255, 0,158, - 4,240, 2,125, 6,102, 16, 6, 0, 67,244, 0, 0, 1, 0, 94, 4,229, 3,189, 7, 55, 0, 21, 0, 0, 19, 35, 52, 55, 18, 33, - 32, 23, 18, 33, 34, 17, 51, 20, 51, 50, 39, 38, 39, 38, 7, 6,252,158, 32,113, 1, 51, 1, 85, 55, 75,254,193,251,152, 97,121, - 38, 34,205,206, 57, 25, 4,241,211, 83, 1, 32,252,254,170, 1, 8,122,158,140, 2, 1,179, 78, 0, 1, 0, 90, 4,241, 3,178, - 7, 37, 0, 5, 0, 0, 27, 1, 51, 3, 33, 21, 90,170,170,125, 2,129, 4,241, 2, 52,254, 98,150, 0, 0, 0, 0, 1, 0,186, -255,230, 7, 29, 4, 98, 0, 38, 0, 94, 64, 17, 0, 18, 20, 30, 27, 8, 29, 80, 18, 8, 20, 80, 10, 8, 8, 70, 39, 16,252,236, -252,252,252,252, 60, 17, 18, 57, 49, 64, 22, 7, 20, 10, 26, 17, 0, 6, 31, 8, 13, 23,135, 31, 4, 35,140, 29, 27, 18, 8,188, - 29, 0, 47,244, 60, 60, 16,244, 60,196,236, 50, 17, 18, 23, 57, 48, 64, 19, 48, 40, 80, 40,112, 40,144, 40,160, 40,160, 40,191, - 40,223, 40,255, 40, 9, 1, 93, 37, 6, 7, 6, 35, 34, 38, 53, 17, 51, 17, 20, 22, 51, 50, 55, 54, 53, 17, 51, 17, 20, 22, 51, - 50, 54, 53, 17, 51, 17, 35, 53, 6, 7, 6, 35, 34, 39, 38, 3,174, 69, 96, 96,130,175,190,185,114,117,143, 83, 83,185,114,119, -141,166,185,185, 63, 88, 88,121,122, 86, 85,216,124, 58, 60,246,226, 2,164,253, 98,162,156, 96, 94,164, 2,122,253, 98,162,156, -192,162, 2,122,251,160,174,104, 48, 50, 62, 62, 0, 1, 0,186,254, 86, 4,100, 4,123, 0, 23, 0, 63, 64, 30, 1, 7, 22, 3, - 16, 10, 4,135, 16, 19,184, 14,188, 10, 23, 9,169, 10, 0, 8, 9, 22, 78, 11, 15, 7, 8, 13, 70, 24, 16,252,236, 50, 50,244, - 60,236, 49, 0, 47,252,204, 16,228,244,196,236, 17, 18, 23, 57, 48,180, 96, 25,207, 25, 2, 1, 93, 1, 17, 52, 38, 35, 34, 6, - 21, 17, 33, 21, 33, 17, 35, 17, 51, 21, 62, 1, 51, 50, 22, 21, 17, 3,172,124,124,149,172, 2,241,253, 15,185,185, 66,179,117, -193,198, 1, 44, 1,114,159,158,190,164,254, 54,175,254, 86, 6, 10,174,101,100,239,232,254,136, 0, 2, 0,113,254, 86, 5, 47, - 4,123, 0, 11, 0, 32, 0, 60, 64, 14, 34, 30, 26, 14, 6, 8, 12, 28, 71, 0, 18, 20, 69, 33, 16,252,236,244, 60,236, 50, 50, -220,212, 49, 64, 18, 3,185, 14, 17, 9,185, 26, 23,184, 17,140, 30,169, 12,189, 27,188, 33, 0, 16,228,228,236,228,244,196,236, - 16,198,238, 48, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 1, 35, 17, 14, 1, 35, 34, 2, 17, 16, 0, 51, 50, 22, 23, 53, - 51, 17, 51, 21, 35, 1, 47,167,146,146,168,168,146,146,167, 3, 43,184, 58,177,124,203,255, 0,255,203,124,177, 58,184,213,213, - 2, 47,203,231,231,203,203,231,231,251, 92, 2, 82,100, 97, 1, 68, 1, 8, 1, 8, 1, 68, 97,100,170,252, 79,175, 0, 0, 0, - 0, 1, 0,186,254, 86, 5, 57, 4,123, 0, 23, 0, 61, 64, 13, 25, 22, 3, 8, 0, 21, 78, 9, 13, 8, 12, 70, 24, 16,252,236, - 50,244, 60,236,220,196, 49, 64, 13, 6,135, 14, 17,184, 12,188, 2,189, 21,169, 11, 0, 0, 47, 60,236,236,228,244,196,236,181, - 9, 3, 20, 3, 14, 10, 17, 18, 23, 57, 48, 33, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 22, 21, - 17, 51, 21, 4,100,184,124,124,149,172,185,185, 66,179,117,193,198,213,254, 86, 4, 72,159,158,190,164,253,135, 4, 96,174,101, -100,239,232,254, 11,175, 0, 0, 0, 1, 0,174,255,227, 4, 88, 6, 20, 0, 26, 0, 63, 64, 30, 7, 15, 0, 3, 20, 3, 11,135, - 20, 23,140, 18, 17, 5,169, 4,188, 18, 19, 15, 8, 4, 17, 78, 6, 2, 8, 0, 70, 27, 16,252,236, 50,244, 60,236, 50, 49, 0, - 47,244,252,204, 16,244,196,236, 17, 18, 23, 57, 48,180, 96, 28,207, 28, 2, 1, 93, 19, 17, 51, 17, 33, 21, 33, 17, 20, 23, 22, - 51, 50, 55, 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 39, 38,174,184, 2,242,253, 14, 62, 62,124,152, 84, 86,184,184, 67,177, -117,193,100,100, 1,186, 4, 90,254, 76,170,254, 11,159, 80, 79, 95, 98,161, 1, 59,252,224,172,102, 99,120,120, 0, 2, 0,113, -254, 86, 5, 47, 4,123, 0, 18, 0, 30, 0, 60, 64, 13, 32, 1, 16, 4, 25, 8, 18, 71, 19, 18, 10, 69, 31, 16,252,236,244,236, - 50, 50,220,212, 49, 64, 19, 22,185, 4, 7, 28,185, 16, 13,184, 7,140, 31, 1,169, 2,189, 17,188, 31, 0, 16,228,244,236, 16, -228,244,196,236, 16,198,238, 48, 1, 51, 21, 33, 17, 14, 1, 35, 34, 2, 17, 16, 0, 51, 50, 22, 23, 53, 51, 1, 20, 22, 51, 50, - 54, 53, 52, 38, 35, 34, 6, 4, 90,213,254,115, 58,177,124,203,255, 0,255,203,124,177, 58,184,252,213,167,146,146,168,168,146, -146,167,254,248,162, 2, 82,100, 97, 1, 68, 1, 8, 1, 8, 1, 68, 97,100,170,253,207,203,231,231,203,203,231,231, 0, 0, 0, - 0, 1, 0,174,255, 26, 3,224, 6, 20, 0, 19, 0, 44, 64, 12, 21, 5, 15, 18, 14, 5, 8, 3, 8, 1, 70, 20, 16,252,252, 60, -220,212,236, 16,196, 49, 64, 10, 7,169, 4,188, 14, 9,169, 2,151, 1, 0, 47,228,236,204,244,236, 48, 41, 1, 17, 51, 17, 33, - 21, 33, 17, 51, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 2, 83,254, 91,184, 2,122,253,134,237,152, 77, 96,156, 48, 49, 6, 20, -254, 76,170,252,249, 73, 91,171, 70, 49,105, 38, 38, 0, 0, 0, 0, 1, 0,186,254, 86, 4,100, 4,123, 0, 21, 0, 62, 64, 30, - 1, 7, 20, 3, 14, 21, 4,135, 14, 17,184, 12,188, 21, 9,169, 10,189, 21, 0, 8, 9, 20, 78, 13, 7, 8, 11, 70, 22, 16,252, -236, 50,244, 60,236, 49, 0, 47,252,236, 16,228,244,196,236, 17, 18, 23, 57, 48,180, 96, 23,207, 23, 2, 1, 93, 33, 17, 52, 38, - 35, 34, 6, 21, 17, 33, 21, 33, 17, 51, 21, 62, 1, 51, 50, 22, 21, 17, 3,172,124,124,149,172, 2,241,252, 86,185, 66,179,117, -193,198, 2,158,159,158,190,164,252,140,175, 6, 10,174,101,100,239,232,253, 92, 0, 2, 0,186,254, 86, 5, 54, 4,123, 0, 32, - 0, 41, 0,117, 64, 12, 43, 19, 1, 18, 18, 71, 7, 11, 8, 9, 70, 42, 16,252,236, 50,244,236,220,196,179, 36, 18, 29, 7, 16, -220,252,179, 33, 18, 21, 18, 16,212,236,178, 0, 33, 36, 73, 83, 88,179, 29, 9, 36, 7, 16, 60, 16, 60, 89, 49, 64, 15, 38,185, - 25,140, 42, 4,185, 12, 15,184, 11,188, 9,189, 42, 0, 16,236,228,244,196,236, 16,244,236, 64, 6, 18, 1,169, 21, 33, 38, 16, -220, 60,252, 60,178, 0, 4, 1, 73, 83, 88,181, 18, 1,169, 21, 33, 38, 16, 60, 60,252, 60, 89, 48, 1, 51, 52, 38, 35, 34, 6, - 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 0, 17, 51, 21, 35, 6, 7, 6, 7, 6, 39, 38, 53, 52, 55, 54, 5, 35, 34, 23, 22, 51, - 50, 55, 54, 3, 35,194,167,146,146,167,185,185, 58,177,123,204, 0,255,146,162, 29, 53, 96,172,160, 52,120, 66,100, 1, 66,152, -159, 5, 5,139, 74, 52, 28, 2, 47,203,231,231,203,252, 39, 6, 10,170,100, 97,254,188,254,248,175,161, 90,161, 1, 2, 43,104, -124,123, 78,118,175,144,113,113, 60, 0, 0, 0, 0, 2, 0,113,255,227, 5, 47, 6, 20, 0, 12, 0, 31, 0, 52, 64, 13, 33, 30, - 0, 27, 8, 13, 29, 71, 5, 18, 21, 69, 32, 16,252,236,244, 60,236, 50,220,196, 49, 64, 14, 8,185, 18,140, 32, 31, 0,169, 26, - 29,188, 28,151, 32, 0, 16,228,244, 60,252, 60, 16,244,236, 48, 1, 33, 34, 7, 6, 21, 20, 22, 51, 50, 55, 54, 53, 19, 17, 16, - 5, 6, 35, 34, 2, 17, 52, 55, 54, 51, 33, 17, 51, 17, 51, 21, 3,162,254,198,136, 98, 79,167,146,154, 77, 83,184,254,236, 75, -149,246,255,127,125,249, 1, 60,184,213, 3,182,122, 97,172,203,231,107,115,212, 1,135,254, 67,254,175,154, 43, 1, 68, 1, 8, -223,171,167, 1,180,254, 76,170, 0, 1, 0,186,254, 86, 4,100, 6, 20, 0, 19, 0, 53, 64, 26, 3, 9, 0, 3, 14, 1, 6,135, - 14, 17,184, 12,151, 10,189, 1, 2, 8, 0, 78, 13, 9, 8, 11, 70, 20, 16,252,236, 50,244,236, 49, 0, 47,236,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,251,221, 7,190,253,158,101,100,239, - 0, 1, 0,193,254, 86, 2,215, 4, 96, 0, 5, 0, 32, 64, 7, 7, 1, 5, 8, 3, 70, 6, 16,252,252,212,196, 49, 0, 64, 8, - 4,188, 6, 0,169, 3,189, 6, 16,244,228, 16,228, 48, 1, 33, 21, 33, 17, 51, 1,121, 1, 94,253,234,184,254,248,162, 6, 10, - 0, 1, 0,186,254, 86, 7, 28, 6, 20, 0, 40, 0,105, 64, 15, 32, 29, 8, 31, 80, 40, 8, 20, 80, 8, 11, 8, 9, 70, 41, 16, -252,236, 50,244,252,244,252, 60, 49, 64, 18, 4,135, 12, 16,184, 31, 25,135, 33, 36,140, 29,188, 10,151, 8,189, 31, 0, 47,236, -228,228,244,196,236, 16,244,196,236,181, 40, 21, 28, 3, 33, 29, 17, 18, 23, 57,181, 20, 0, 7, 3, 12, 32, 17, 18, 23, 57, 48, - 64, 19, 48, 41, 80, 41,112, 41,144, 41,160, 41,160, 41,191, 41,223, 41,255, 41, 9, 1, 93, 1, 52, 39, 38, 35, 34, 6, 21, 17, - 35, 17, 51, 17, 54, 55, 54, 51, 50, 23, 22, 29, 1, 20, 23, 22, 51, 50, 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 39, 38, 53, - 3,143, 62, 62,124,120,172,185,185, 99, 38, 89,107,193, 99, 99, 62, 56,110,140,173,184,184, 67,177,108,175, 98,100, 2,158,159, - 79, 79,190,164,251,221, 7,190,253,158,129, 22, 50,119,120,232,227,151, 88, 79,190,164, 2,123,251,160,172,102, 99,120,123,228, - 0, 2, 0,113,255,226, 4,188, 6, 20, 0, 14, 0, 48, 0, 92, 64, 11, 50, 32, 12, 18, 36, 71, 5, 18, 44, 69, 49, 16,252,236, -244,236,220,196,180, 18, 18, 27, 23, 44, 16,220,220,236, 49, 64, 17, 1, 32,169, 48, 31,188, 49, 24,169, 23,151, 49, 8,185, 40, -140, 49, 0, 16,244,236, 16,244,236, 16,244, 60,252, 60, 48,180, 33, 30, 34, 29, 34, 5, 7, 16, 60, 60,181, 0, 17, 33, 15, 17, - 30, 16,236, 16,236,178, 14, 16, 0, 16, 60, 60, 1, 35, 34, 7, 6, 21, 20, 22, 51, 50, 55, 54, 55, 54, 39, 1, 39, 38, 53, 52, - 55, 54, 59, 1, 21, 35, 38, 23, 22, 31, 1, 33, 21, 33, 19, 22, 21, 20, 7, 6, 39, 38, 39, 38, 17, 52, 55, 54, 51, 2,195, 91, -165, 65, 83,167,146,173, 93, 46, 3, 2, 23,254,221, 83, 22, 68, 56, 49,147, 78, 47, 1, 1, 15, 86, 1,144,254,201,174, 33,133, -135,226,247,127,127,127,113,218, 3,182, 90,115,186,203,231,150, 73, 82, 92, 43, 2, 43,152, 40, 86, 76, 45, 37,175, 1, 41, 36, - 27,158,170,254,182, 63,137,166,141,143, 1, 1,161,162, 1, 8,235,174,152, 0, 0, 1, 0,174,254, 86, 4, 88, 6, 20, 0, 19, - 0, 58, 64, 28, 3, 9, 0, 3, 14, 10, 6,135, 14, 17,140, 1,151, 10,188, 12,189, 20, 13, 9, 8, 11, 78, 2, 8, 0, 70, 20, - 16,252,236,244,236, 50, 49, 0, 16,236,228,228,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, 17, 14, 1, 35, 34, 38,174,184,124,124,149,173,184,184, 67,177,117,193,200, 1,186, 4, - 90,251,173,159,159,190,164, 2,123,249,246, 2, 86,102, 99,240,255,255, 0,186, 0, 0, 4,100, 6, 20, 18, 6, 0, 75, 0, 0, - 0, 2, 0,113,255,227, 4, 90, 6, 20, 0, 11, 0, 52, 0,101, 64, 10, 18, 6, 8, 16, 71, 0, 18, 25, 69, 53, 16,252,236,244, -252, 60, 64, 13, 40, 18, 39, 39, 42, 37, 37, 18, 42, 30, 18, 51, 16, 16,220,252,212,236, 17, 18, 57, 47,236,178, 12, 16, 28, 17, - 18, 57, 49, 64, 16, 46,169, 32, 9,185, 28,184, 18, 3,185, 19, 22,140, 39,151, 18, 0, 47,228,244,196,236, 16,244,236,220,236, -178, 12, 9, 28, 17, 18, 57, 48, 64, 9, 96, 54,128, 54,160, 54,224, 54, 4, 1, 93, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, - 6, 1, 22, 23, 22, 25, 1, 35, 53, 14, 1, 35, 34, 2, 17, 16, 0, 51, 50, 53, 38, 43, 1, 34, 39, 38, 53, 52, 55, 51, 6, 21, - 20, 23, 22, 59, 1, 50, 23, 22, 21, 20, 1, 47,167,146,146,168,168,146,146,167, 1,233,110, 68,144,184, 58,177,124,203,255, 1, - 0,202, 87, 1, 67,118, 62, 31, 30, 33,184, 37, 8, 17, 26,147, 55, 41, 29, 2, 47,203,231,231,203,203,231,231, 1,107, 29, 80, -168,254,219,253,213,168,100, 97, 1, 68, 1, 8, 1, 8, 1, 69, 60, 54, 29, 29,112, 71, 53, 80, 48, 14, 7, 15, 44, 33, 75, 55, - 0, 1, 0,186,254, 86, 5, 57, 4,123, 0, 21, 0, 59, 64, 12, 23, 0, 3, 8, 21, 78, 9, 13, 8, 12, 70, 22, 16,252,236, 50, -244,236,220,196, 49, 64, 13, 6,135, 14, 17,184, 12,188, 11, 0,169, 2,189, 11, 0, 47,252,236, 16,228,244,196,236,181, 9, 3, - 20, 3, 14, 10, 17, 18, 23, 57, 48, 1, 21, 33, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 22, 21, 17, 5, - 57,254,115,124,124,149,172,185,185, 66,179,117,193,198,254,248,162, 4, 72,159,158,190,164,253,135, 4, 96,174,101,100,239,232, -252, 84, 0, 0, 0, 2, 0,174,255,227, 4, 88, 6, 20, 0, 29, 0, 45, 0, 98, 64, 12, 2, 40, 8, 20, 0, 78, 32, 8, 14, 10, - 70, 46, 16,252, 60,236,244, 60,236, 50,182, 16, 13, 45, 26, 4, 0, 14, 17, 18, 23, 57,183, 25, 8, 16, 30, 8, 13, 16, 13, 7, - 16,236, 16,236, 1,176, 13, 47, 49, 64, 18, 37,135, 3, 6,140, 1, 30, 14,169, 25, 15,188, 1, 21,134, 20,151, 1, 0, 47,244, -236, 16,244, 60,252, 60, 16,244,196,236,181, 33, 10, 40, 3, 15, 3, 17, 18, 23, 57, 48, 1, 17, 35, 53, 14, 1, 35, 34, 39, 38, - 61, 1, 52, 55, 35, 53, 51, 54, 55, 36, 55, 21, 6, 7, 6, 7, 51, 50, 23, 22, 37, 6, 29, 1, 20, 23, 22, 51, 50, 54, 61, 1, - 52, 39, 38, 35, 4, 88,184, 67,177,117,195, 98,100,122,122,218,112,152, 1, 27,173,141,221, 62, 66,105,176,130, 79,253,152,138, - 62, 65,121,149,173, 26, 99, 87, 2, 32,253,224,172,102, 99,120,123,228, 73,233,202,170,128, 96,174, 38,175, 36,132, 37, 56,195, -118,143,198,229, 74,162, 77, 79,190,164, 59,207, 41,158, 0, 0, 0, 1, 0,174,255,227, 5, 10, 6, 20, 0, 43, 0, 63, 64, 15, - 45, 23, 17, 18, 28, 37, 9, 8, 36, 78, 2, 8, 0, 70, 44, 16,252,236,244,236, 50,220,236,220,196, 49, 64, 19, 0, 3, 9, 3, - 38, 1, 23,169, 22,151, 36, 6,135, 38, 41,140, 1,188, 36, 0, 47,228,244,196,236, 16,244,236, 17, 18, 23, 57, 48, 19, 17, 51, - 17, 20, 22, 51, 50, 54, 53, 17, 52, 39, 38, 47, 1, 38, 55, 54, 55, 54, 59, 1, 21, 35, 34, 7, 6, 21, 20, 31, 1, 22, 23, 22, - 21, 17, 35, 53, 14, 1, 35, 34, 38,174,184,124,124,149,173, 3, 3, 10, 77, 46, 1, 4, 61, 60,139,236,236, 40, 21, 24, 17, 96, - 19, 4, 7,184, 67,177,117,193,200, 1,186, 2,166,253, 97,159,159,190,164, 1,151, 19, 22, 32, 23,188,112, 48,129, 46, 45,175, - 9, 11, 23, 31, 42,243, 47, 23, 40, 20,252,132,172,102, 99,240,255,255,255,219,254, 86, 1,121, 4, 96, 18, 6, 1,249, 0, 0, - 0, 1, 0, 49,255,227, 5, 90, 6, 20, 0, 35, 0, 71, 64, 15, 37, 14, 11, 8, 12, 78, 3, 8, 22, 27, 33, 0, 18, 27, 36, 16, -212,252,204, 16,220,236,244,236, 50,196, 49, 64, 23, 10, 4, 21, 3, 15, 12, 33,169, 32,151, 13, 22,169, 3, 12,188, 13, 7,135, - 15, 18,140, 13, 0, 47,244,196,236, 16,244, 60,236, 16,244,236, 17, 18, 23, 57, 48, 19, 20, 59, 1, 17, 20, 22, 51, 50, 54, 53, - 17, 51, 17, 35, 53, 14, 1, 35, 34, 38, 53, 17, 35, 34, 39, 38, 55, 54, 55, 54, 59, 1, 21, 35, 34,242,131,243,124,124,149,173, -184,184, 67,177,117,193,200, 59,149, 94, 83, 3, 3, 87,115,118, 89, 89,131, 4,234,138,253, 97,159,159,190,164, 2,123,251,160, -172,102, 99,240,231, 1,252, 94, 83,145,131, 66, 87,175, 0, 0, 0, 1, 0,159,254, 86, 3,150, 4,124, 0, 31, 0, 84, 64, 12, - 33, 69, 16, 18, 5, 29, 2, 18, 11, 22, 70, 32, 16,252, 60,236,212, 60,236,228, 49, 64, 13, 5,169, 6,189, 32, 22,134, 23, 20, -185, 25,184, 32, 0, 16,244,236,212,236, 16,252,236, 48, 64, 10, 0, 31, 29, 31, 17, 0, 17, 13, 14, 13, 7, 5, 16,236,236, 1, - 73, 80, 88,177, 31, 29, 16, 60, 89,179, 30, 31, 14, 13, 7, 4, 16, 60, 5, 6, 21, 20, 51, 33, 21, 33, 34, 39, 38, 39, 38, 55, - 1, 54, 39, 38, 39, 38, 7, 6, 7, 53, 54, 23, 22, 23, 22, 21, 20, 7, 1,134, 14, 47, 1,238,253,195, 87, 58, 37, 2, 2, 38, - 1,205, 68, 1, 1, 47, 67,141,120,188,188,161,195,132, 81, 69,192, 19, 21, 32,162, 69, 44, 65, 56, 56, 2,173,102, 93, 68, 64, - 90, 1, 1,120,198,106, 1, 1,170,104,136,154,101, 0, 0, 0,255,255, 0,186, 0, 0, 4,100, 4,123, 18, 6, 0, 81, 0, 0, - 0, 1, 0, 70,254, 86, 3, 59, 4, 96, 0, 37, 0, 88, 64, 17, 16, 18, 35, 35, 5, 26, 39, 5, 11, 26, 30, 18, 21, 2, 18, 11, - 38, 16,212,236,220,236,204, 16,220,196, 17, 18, 57, 47,236, 49, 64, 14, 35, 16, 5, 27, 27,169, 26,188, 38, 5,169, 6,189, 38, - 0, 16,252,236, 16,244,236, 17, 18, 57, 57, 48,182, 37, 17, 0, 17, 13, 14, 13, 7, 4, 16,236,236,182, 19, 17, 18, 17, 32, 33, - 32, 7, 4, 16,236,236, 5, 6, 21, 20, 51, 33, 21, 33, 34, 39, 38, 53, 52, 55, 1, 54, 55, 54, 47, 1, 38, 53, 52, 55, 54, 59, - 1, 21, 35, 38, 21, 20, 31, 1, 22, 21, 20, 7, 1, 40, 14, 51, 1,238,253,195, 87, 58, 39, 36, 1, 70, 31, 1, 2, 91,149, 76, - 22, 50,214,115,101, 96, 54,142,103, 43,182, 17, 33, 32,162, 69, 47, 62, 65, 47, 1,173, 40, 60, 69, 99,163, 83,101, 40, 50,122, -175, 1, 58, 46, 59,155,112,110,117, 57, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 16, 6, 2, 6, 0, 0, 0, 2, 0,159, -254, 86, 3,150, 4,123, 0, 27, 0, 41, 0, 99, 64, 14, 43, 69, 40, 18, 5, 25, 2, 18, 11, 34, 18, 17, 69, 42, 16,252,236, 60, -236,212, 60,236,228, 49, 64, 10, 5,169, 6,189, 42, 30,185, 21,184, 42, 0, 16,244,236, 16,252,236, 48, 64, 11, 26, 27, 27, 17, - 0, 17, 37, 14, 13, 38, 13, 7, 5, 16, 60, 60,236,236, 4, 16, 60,178, 0, 27, 25, 1, 73, 80, 88,177, 27, 25, 16, 60, 89, 64, - 9, 37, 17, 36, 17, 14, 38, 13, 15, 14, 7, 8, 16,236,236, 5, 6, 21, 20, 51, 33, 21, 33, 34, 39, 38, 39, 38, 63, 1, 3, 38, - 53, 52, 55, 54, 51, 50, 23, 22, 21, 20, 7, 3, 38, 35, 34, 7, 6, 21, 20, 23, 27, 1, 54, 39, 38, 1,134, 14, 47, 1,238,253, -195, 87, 58, 37, 2, 2, 38,145,141, 40, 96, 91,175,212,115, 68, 69,159, 72,100, 59, 54, 59, 33, 88,191, 68, 1, 1,192, 19, 21, - 32,162, 69, 44, 65, 55, 57,217, 1,228,137, 70,163,109,103,171,101,139,154,101, 1,139, 89, 45, 49,103, 60,120,254,191, 1, 26, -101, 94, 89, 0, 0, 1, 0,186, 0, 0, 4,116, 4,123, 0, 28, 0,103, 64, 13, 28, 9, 2, 18, 25, 21, 78, 13, 9, 8, 11, 70, - 29, 16,252,236, 50,244, 60,236, 16,220, 49, 64, 12, 6,135, 14, 17,184, 12,188, 28, 25,169, 26, 10, 0, 47, 60,236, 50,228,244, -196,236,181, 21, 2, 9, 3, 14, 10, 17, 18, 23, 57, 48,177, 23, 0, 16, 60, 64, 8, 23, 17, 0, 24, 17, 28, 0, 28, 7, 5, 16, -236, 16,236, 1,178, 0, 23, 21, 73, 80, 88,177, 23, 21, 16, 60, 89,180, 96, 30,207, 30, 2, 1, 93, 1, 54, 55, 54, 39, 38, 35, - 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 23, 22, 21, 20, 7, 1, 33, 21, 33, 53, 3, 82, 90, 1, 1, 64, 62,124,149,172, -185,185, 66,179,117,205,127, 65, 71,254,250, 1, 87,253,223, 1,232,110,132, 96, 82, 79,190,164,253,135, 4, 96,174,101,100,185, - 94,119,176, 85,254,199,175,175,255,255, 0,174,255,227, 4, 88, 4, 96, 18, 6, 0, 88, 0, 0, 0, 1, 0,174,254, 86, 5, 45, - 6, 20, 0, 21, 0, 61, 64, 12, 23, 13, 15, 9, 8, 11, 78, 2, 8, 0, 70, 22, 16,252,236,244,236, 50,220,196, 49, 64, 21, 3, - 9, 0, 3, 16, 1, 6,135, 16, 19,140, 10,151, 1,188, 22, 13,169, 15,189, 22, 0, 16,252,236, 16,228,228,244,196,236, 17, 18, - 23, 57, 48, 19, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 51, 21, 33, 17, 14, 1, 35, 34, 38,174,184,124,124,149,173,184, -213,254,115, 67,177,117,193,200, 1,186, 2,166,253, 97,159,159,190,164, 4, 47,248,228,162, 2, 86,102, 99,240, 0, 1, 0,174, -255,227, 7, 28, 4,123, 0, 37, 0,105, 64, 15, 12, 8, 10, 80, 21, 1, 8, 2, 20, 80, 31, 8, 29, 70, 38, 16,252,236,252, 60, -252, 60,252,236, 49, 64, 17, 15,135, 3, 6,184, 10, 34,135, 22, 25,140, 10, 1, 29,188, 20, 10, 0, 47, 60,244, 60, 16,244,196, -236, 16,244,196,236,181, 28, 31, 0, 3, 22, 29, 17, 18, 23, 57,181, 9, 12, 19, 3, 3, 10, 17, 18, 23, 57, 48, 64, 19, 48, 39, - 80, 39,112, 39,144, 39,160, 39,160, 39,191, 39,223, 39,255, 39, 9, 1, 93, 1, 17, 51, 21, 62, 1, 51, 50, 22, 21, 17, 35, 17, - 52, 38, 35, 34, 7, 6, 21, 17, 35, 53, 14, 1, 35, 34, 38, 53, 17, 51, 17, 20, 22, 51, 50, 55, 54, 3,143,184, 66,179, 89,193, -198,184,124,124,122, 85, 86,184, 67,177,100,193,200,184,124,124,130, 88, 87, 1,229, 2,123,174,101,100,239,232,253, 92, 2,158, -159,158, 95, 96,163,253,135,172,102, 99,240,231, 2,166,253, 97,159,159, 95, 92, 0, 1, 0,186,254, 86, 4,100, 4,123, 0, 19, - 0, 55, 64, 26, 3, 9, 0, 3, 14, 1, 6,135, 14, 17,184, 12,188, 10,189, 1, 2, 8, 0, 78, 13, 9, 8, 11, 70, 20, 16,252, -236, 50,244,236, 49, 0, 47,236,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,251,221, 6, 10,174,101,100,239, 0, 0, 0,255,255, 0,113,254, 86, 4, 90, 4,123, 18, 6, 0, 74, 0, 0, - 0, 1, 0,193, 0, 0, 2,215, 4, 96, 0, 5, 0, 29, 64, 7, 7, 1, 5, 8, 3, 70, 6, 16,252,252,212,196, 49, 0, 64, 6, - 4,188, 3, 1,169, 2, 47,236, 16,228, 48, 37, 33, 21, 33, 17, 51, 1,121, 1, 94,253,234,184,175,175, 4, 96, 0, 1, 0,174, -254, 86, 7, 28, 6, 20, 0, 37, 0,107, 64, 15, 12, 8, 10, 80, 21, 1, 8, 2, 20, 80, 31, 8, 29, 70, 38, 16,252,236,252, 60, -252, 60,252,236, 49, 64, 19, 15,135, 3, 6,184, 10, 34,135, 22, 25,140, 10, 29,188, 1,151, 20,189, 10, 0, 47,236,228,244, 16, -244,196,236, 16,244,196,236,181, 28, 31, 0, 3, 22, 29, 17, 18, 23, 57,181, 9, 12, 19, 3, 3, 10, 17, 18, 23, 57, 48, 64, 19, - 48, 39, 80, 39,112, 39,144, 39,160, 39,160, 39,191, 39,223, 39,255, 39, 9, 1, 93, 1, 17, 51, 17, 62, 1, 51, 50, 22, 21, 17, - 35, 17, 52, 38, 35, 34, 7, 6, 21, 17, 35, 17, 14, 1, 35, 34, 38, 53, 17, 51, 17, 20, 22, 51, 50, 55, 54, 3,143,184, 66,179, - 89,193,198,184,124,124,118, 89, 86,184, 67,177,100,193,200,184,124,124,130, 88, 87, 1,229, 4, 47,253,158,101,100,239,232,253, - 92, 2,158,159,158, 95, 92,167,251,221, 2, 86,102, 99,240,231, 2,166,253, 97,159,159, 95, 92, 0, 2, 0, 0,254, 86, 4,191, - 4,123, 0, 24, 0, 36, 0, 85, 64, 16, 38, 69, 11, 19, 25, 18, 11, 71, 31, 22, 4, 18, 8, 23, 2, 1, 47,220, 60,236, 50, 50, - 50,244,236,196, 16,228, 49, 64, 22, 34,185, 17, 14, 28,185, 5, 8,184, 14,140, 37, 20, 24,169, 18, 2, 22,189, 3,188, 37, 0, - 16,228,236,220, 60,252, 60, 16,228,244,196,236, 16,196,238,178, 0, 22, 24, 73, 80, 88,177, 22, 24, 16, 60, 89, 48, 21, 53, 51, - 17, 51, 21, 62, 1, 51, 50, 0, 17, 16, 2, 35, 34, 38, 39, 17, 33, 21, 33, 21, 35, 53, 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, - 50, 54,213,185, 58,177,123,204, 0,255,255,204,123,177, 58, 2,233,253, 23,185, 3, 43,167,146,146,167,167,146,146,167,250,150, - 4,196,170,100, 97,254,188,254,248,254,248,254,188, 97,100,254,244,150,176,176, 3, 41,203,231,231,203,203,231,231, 0, 0, 0, -255,255, 0,113,255,227, 4,117, 4,123, 18, 6, 0, 82, 0, 0, 0, 3, 0,122,254, 86, 4,150, 6, 43, 0, 34, 0, 45, 0, 54, - 0,117, 64, 17, 56, 51, 18, 28, 32, 22, 46, 8, 0, 35, 10, 42, 18, 5, 14, 69, 55, 16,252, 60,236,220, 60, 60,252, 60, 60,220, -236,196, 49, 64, 18, 5,134, 4, 38,185, 18,151, 55, 47, 9,135, 4, 32, 0,140, 34,189, 55, 0, 16,236,244, 60,196,236, 50, 16, -244,236, 16,236,179, 23, 35, 0, 18, 17, 18, 57, 57,178, 14, 35, 18, 17, 18, 57,182, 26, 51, 46, 10, 4, 32, 23, 17, 18, 23, 57, - 48,180, 23, 35, 24, 24, 44, 7, 4, 16, 60, 60,181, 46, 17, 23, 10, 17, 35, 16,236, 16,236, 5, 38, 39, 38, 39, 53, 22, 23, 22, - 23, 17, 38, 39, 38, 53, 52, 55, 54, 55, 54, 23, 22, 21, 17, 23, 22, 23, 22, 21, 16, 7, 6, 35, 17, 35, 25, 1, 52, 39, 38, 7, - 6, 21, 22, 23, 22, 5, 17, 50, 55, 54, 53, 52, 39, 38, 2, 44, 68,100,125,141, 49,211, 75, 99,231,102,101,112, 95,152,123, 53, - 83, 35,194, 97,108,146,126,162,184, 69, 85, 24, 64, 1, 59, 39, 1, 71, 93, 55, 95, 69, 56, 24, 2, 17, 21, 71,187, 31, 73, 26, - 1, 2,163, 45, 97, 96,165,147,113, 96, 1, 2, 52, 79,148,254,169, 7, 45, 98,108,235,254,218,105, 90,254,110, 5,141, 1, 33, -115, 3, 2, 29, 79, 59,115, 58, 36,246,253,129, 43, 73,191,179, 74, 62, 0, 0, 0, 1, 0,174,255,227, 5,182, 6, 20, 0, 21, - 0, 56, 64, 12, 23, 13, 15, 9, 8, 11, 78, 2, 8, 0, 70, 22, 16,252,236,244,236, 50,220,196, 49, 64, 18, 3, 9, 0, 3, 16, - 10, 6,135, 16, 19,140, 1,151, 10,188, 13,169, 15, 0, 47,236,228,228,244,196,236, 17, 18, 23, 57, 48, 19, 17, 51, 17, 20, 22, - 51, 50, 54, 53, 17, 51, 17, 33, 21, 33, 53, 14, 1, 35, 34, 38,174,184,124,124,149,173,184, 1, 94,253,234, 67,177,117,193,200, - 1,186, 4, 90,251,173,159,159,190,164, 2,123,252, 79,175,172,102, 99,240, 0, 0, 2, 0,240, 0, 0, 1,195, 3, 82, 0, 3, - 0, 7, 0, 29, 64, 7, 5, 1, 3, 4, 0, 24, 8, 16,252, 60,236, 50, 49, 0, 64, 6, 6,131, 4, 0,131, 2, 47,236, 47,236, - 48, 55, 51, 21, 35, 17, 51, 21, 35,240,211,211,211,211,254,254, 3, 82,254, 0, 0, 1, 0, 96, 1,164, 3, 33, 2,238, 0, 11, - 0, 0, 1, 30, 1, 55, 21, 14, 1, 34, 38, 39, 51, 22, 1, 85, 32,222,205, 44,228,255,157, 20,167, 16, 2, 99, 24, 1, 65,162, - 14, 55,170,159, 87, 0, 0, 0, 0, 1, 0,219, 0, 0, 2, 0, 1,236, 0, 5, 0, 0, 33, 35, 53, 19, 51, 3, 1,174,211,164, -129, 82,172, 1, 64,254,192, 0,255,255, 0, 16,253, 46, 5,104, 5,213, 16, 39, 2, 70, 0,183, 0, 0, 18, 2, 0, 36, 0, 0, -255,255, 0,123,253, 46, 4, 45, 4,123, 16, 38, 2, 70,107, 0, 18, 2, 0, 68, 0, 0, 0, 0,255,255, 0,201, 0, 0, 4,236, - 7, 80, 18, 34, 0, 37, 0, 0, 16, 3, 2, 50, 0,173, 1, 64,255,255, 0,186,255,227, 4,164, 7,133, 16, 39, 2, 79, 3, 22, - 1,117, 18, 6, 0, 69, 0, 0,255,255, 0,201,254,135, 4,236, 5,213, 18, 34, 0, 37, 0, 0, 16, 3, 2,107, 4,165, 0, 0, -255,255, 0,186,254,135, 4,164, 6, 20, 18, 34, 0, 69, 0, 0, 16, 3, 2,107, 4,154, 0, 0,255,255, 0,201,254,192, 4,236, - 5,213, 18, 34, 0, 37, 0, 0, 16, 3, 2, 38, 0,151, 0, 0,255,255, 0,186,254,192, 4,164, 6, 20, 18, 34, 0, 69, 0, 0, - 16, 3, 2, 38, 0,143, 0, 0,255,255, 0,115,254,117, 5, 39, 7,107, 18, 34, 0,137, 0, 0, 16, 67, 0,118, 0,254, 2,240, - 64, 0, 44,204,255,255, 0,113,254,117, 3,231, 6,102, 18, 34, 0,169, 0, 0, 16, 2, 0,118, 67, 0, 0, 0,255,255, 0,201, - 0, 0, 5,176, 7, 80, 18, 34, 0, 39, 0, 0, 16, 3, 2, 50, 0,253, 1, 64,255,255, 0,113,255,227, 4,110, 7,133, 16, 39, - 2, 79, 5,254, 1,117, 18, 6, 0, 71, 0, 0,255,255, 0,201,254,135, 5,176, 5,213, 16, 35, 2,107, 4,174, 0, 0, 16, 2, - 0, 39, 0, 0,255,255, 0,113,254,135, 4, 90, 6, 20, 16, 35, 2,107, 4,122, 0, 0, 16, 2, 0, 71, 0, 0,255,255, 0,201, -254,192, 5,176, 5,213, 18, 34, 0, 39, 0, 0, 16, 3, 2, 38, 0,232, 0, 0,255,255, 0,113,254,192, 4, 90, 6, 20, 18, 34, - 0, 71, 0, 0, 16, 2, 2, 38, 79, 0, 0, 0,255,255, 0,201,254,119, 5,176, 5,213, 18, 34, 0, 39, 0, 0, 16, 2, 0,122, - 91, 2, 0, 0,255,255, 0,113,254,117, 4, 90, 6, 20, 18, 34, 0, 71, 0, 0, 16, 2, 0,122,246, 0, 0, 0,255,255, 0,201, -254, 24, 5,176, 5,213, 16, 39, 2, 31, 0,166,249, 42, 18, 6, 0, 39, 0, 0,255,255, 0,113,254, 24, 4, 90, 6, 20, 16, 39, - 2, 31, 0, 94,249, 42, 18, 6, 0, 71, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 18, 34, 0, 40, 0, 0, 16, 6, 6,149, -238, 0, 0, 0,255,255, 0,113,255,227, 4,127, 4,123, 16, 39, 6,149,255,217,255, 4, 16, 6, 0, 72, 0, 0,255,255, 0,201, - 0, 0, 4,139, 5,213, 18, 34, 0, 40, 0, 0, 16, 6, 6,148,236, 0, 0, 0,255,255, 0,113,255,227, 4,127, 4,123, 16, 38, - 0, 72, 0, 0, 16, 7, 6,148,255,215,255, 4,255,255, 0,201,253,221, 4,139, 5,213, 18, 34, 0, 40, 0, 0, 16, 3, 2,117, - 4,177, 0, 0,255,255, 0,113,253,221, 4,127, 4,123, 18, 34, 0, 72, 0, 0, 16, 3, 2,117, 4,176, 0, 0,255,255, 0,201, -254,118, 4,139, 5,213, 18, 34, 0, 40, 0, 0, 16, 3, 2, 71, 0,179, 0, 0,255,255, 0,113,254,118, 4,127, 4,123, 18, 34, - 0, 72, 0, 0, 16, 3, 2, 71, 0,155, 0, 0,255,255, 0,201,254,117, 4,139, 7,102, 18, 34, 0, 40, 0, 0, 16, 99, 2, 49, - 0,218, 1,190, 64, 0, 57,153, 16, 3, 0,122, 0,190, 0, 0,255,255, 0,113,254,117, 4,127, 6, 72, 18, 34, 0, 72, 0, 0, - 16, 35, 2, 49, 0,135, 0, 0, 16, 2, 0,122, 75, 0, 0, 0,255,255, 0,201, 0, 0, 4, 35, 7, 80, 18, 34, 0, 41, 0, 0, - 16, 3, 2, 50, 0,118, 1, 64,255,255, 0, 47, 0, 0, 2,248, 7, 80, 18, 34, 0, 73, 0, 0, 16, 3, 2, 50, 0, 12, 1, 64, -255,255, 0,115,255,227, 5,139, 7, 24, 18, 34, 0, 42, 0, 0, 16, 3, 2, 34, 1, 50, 1, 34,255,255, 0,113,254, 86, 4, 90, - 5,246, 18, 34, 0, 74, 0, 0, 16, 2, 2, 34, 73, 0, 0, 0,255,255, 0,201, 0, 0, 5, 59, 7, 80, 18, 34, 0, 43, 0, 0, - 16, 3, 2, 50, 1, 20, 1, 64,255,255, 0,186, 0, 0, 4,100, 7,133, 16, 39, 2, 79, 3, 22, 1,117, 18, 6, 0, 75, 0, 0, -255,255, 0,201,254,135, 5, 59, 5,213, 16, 35, 2,107, 5, 2, 0, 0, 16, 2, 0, 43, 0, 0,255,255, 0,186,254,135, 4,100, - 6, 20, 16, 35, 2,107, 4,143, 0, 0, 16, 2, 0, 75, 0, 0,255,255, 0,201, 0, 0, 5, 59, 7, 80, 18, 34, 0, 43, 0, 0, - 16, 3, 0,106, 1, 8, 1, 64,255,255,255,235, 0, 0, 4,100, 7,133, 16, 39, 2, 80, 3, 22, 1,117, 18, 6, 0, 75, 0, 0, -255,255, 0, 17,254,116, 5, 59, 5,213, 18, 34, 0, 43, 0, 0, 16, 3, 0,122,254,238,255,255,255,255, 0, 2,254,116, 4,100, - 6, 20, 18, 34, 0, 75, 0, 0, 16, 3, 0,122,254,223,255,255,255,255, 0,201,254, 57, 5, 59, 5,213, 18, 34, 0, 43, 0, 0, - 16, 3, 2,118, 5, 10, 0, 0,255,255, 0,186,254, 57, 4,100, 6, 20, 18, 34, 0, 75, 0, 0, 16, 3, 2,118, 4,149, 0, 0, -255,255, 0, 0,254,118, 2,148, 5,213, 18, 34, 0, 44, 0, 0, 16, 3, 2, 71,255, 74, 0, 0,255,255, 0, 39,254,118, 2, 56, - 6, 20, 18, 34, 0, 76, 0, 0, 16, 66, 2, 71,150, 0, 51, 51, 64, 0, 0, 0,255,255, 0,201, 0, 0, 1,147, 5,213, 18, 34, - 0, 44, 0, 0, 16, 7, 6,146,254,116, 0, 0,255,255, 0,193, 0, 0, 1,121, 4, 96, 18, 34, 0,243, 0, 0, 16, 7, 6,146, -254, 97,254,188,255,255, 0,201, 0, 0, 5,106, 7,107, 18, 34, 0, 46, 0, 0, 16, 67, 0,118, 0,164, 2,240, 64, 0, 44,204, -255,255, 0,186, 0, 0, 4,156, 6, 20, 16, 39, 6,133, 3, 90, 1,118, 18, 2, 0, 78, 0, 0,255,255, 0,201,254,135, 5,106, - 5,213, 18, 34, 0, 46, 0, 0, 16, 3, 2,107, 4,220, 0, 0,255,255, 0,186,254,135, 4,156, 6, 20, 18, 34, 0, 78, 0, 0, - 16, 3, 2,107, 4,145, 0, 0,255,255, 0,201,254,192, 5,106, 5,213, 18, 34, 0, 46, 0, 0, 16, 3, 2, 38, 1, 13, 0, 0, -255,255, 0,186,254,192, 4,156, 6, 20, 18, 34, 0, 78, 0, 0, 16, 2, 2, 38,118, 0, 0, 0,255,255, 0,201,254,135, 4,106, - 5,213, 16, 35, 2,107, 4,154, 0, 0, 16, 2, 0, 47, 0, 0,255,255, 0,182,254,135, 1,131, 6, 20, 16, 35, 2,107, 3, 28, - 0, 0, 16, 2, 0, 79, 0, 0,255,255, 0, 3,254,136, 4,106, 7,107, 16, 39, 2, 76, 3, 42, 1,117, 16, 39, 2,107, 4,153, - 0, 1, 18, 6, 0, 47, 0, 0,255,255,255,241,254,135, 2, 72, 7, 49, 16, 35, 0,113,255, 28, 1, 59, 16, 2, 4,179, 0, 0, -255,255, 0,201,254,192, 4,106, 5,213, 18, 34, 0, 47, 0, 0, 16, 3, 2, 38, 0,142, 0, 0,255,255, 0, 39,254,192, 2, 7, - 6, 20, 18, 34, 0, 79, 0, 0, 16, 67, 2, 38,255,125, 0, 0, 51, 51, 64, 0,255,255, 0,201,254, 23, 4,106, 5,213, 16, 39, - 2, 31, 0,151,249, 41, 18, 6, 0, 47, 0, 0,255,255,255,222,254, 23, 2, 92, 6, 20, 16, 39, 2, 31,255, 29,249, 41, 18, 6, - 0, 79, 0, 0,255,255, 0,201, 0, 0, 6, 31, 7,107, 18, 34, 0, 48, 0, 0, 16, 67, 0,118, 1, 66, 2,240, 64, 0, 44,204, -255,255, 0,186, 0, 0, 7, 29, 6,102, 18, 34, 0, 80, 0, 0, 16, 3, 0,118, 1,148, 0, 0,255,255, 0,201, 0, 0, 6, 31, - 7, 80, 18, 34, 0, 48, 0, 0, 16, 3, 2, 50, 1,119, 1, 64,255,255, 0,186, 0, 0, 7, 29, 6, 16, 16, 39, 2, 50, 2, 70, - 0, 0, 18, 6, 0, 80, 0, 0,255,255, 0,201,254,135, 6, 31, 5,213, 16, 35, 2,107, 5,116, 0, 0, 16, 2, 0, 48, 0, 0, -255,255, 0,186,254,135, 7, 29, 4,123, 16, 35, 2,107, 5,230, 0, 0, 16, 2, 0, 80, 0, 0,255,255, 0,201, 0, 0, 5, 51, - 5,213, 16, 39, 6,140, 4,254, 1, 92, 18, 6, 0, 49, 0, 0,255,255, 0,186, 0, 0, 4,100, 5,193, 16, 39, 2, 50, 0,143, -255,177, 18, 6, 0, 81, 0, 0,255,255, 0,201,254,135, 5, 51, 5,213, 16, 35, 2,107, 4,254, 0, 0, 16, 2, 0, 49, 0, 0, -255,255, 0,186,254,135, 4,100, 4,123, 16, 35, 2,107, 4,143, 0, 0, 16, 2, 0, 81, 0, 0,255,255, 0,201,254,192, 5, 51, - 5,213, 18, 34, 0, 49, 0, 0, 16, 3, 2, 38, 0,247, 0, 0,255,255, 0,186,254,192, 4,100, 4,123, 18, 34, 0, 81, 0, 0, - 16, 3, 2, 38, 0,140, 0, 0,255,255, 0,201,254, 21, 5, 51, 5,213, 16, 39, 2, 31, 0,254,249, 39, 18, 6, 0, 49, 0, 0, -255,255, 0,186,254, 21, 4,100, 4,123, 16, 39, 2, 31, 0,149,249, 39, 18, 6, 0, 81, 0, 0,255,255, 0,115,255,227, 5,217, - 5,240, 18, 34, 0, 50, 0, 0, 16, 6, 6,154,102, 0, 0, 0,255,255, 0,113,255,227, 4,117, 4,123, 18, 34, 0, 82, 0, 0, - 16, 7, 6,154,255,178,254,178,255,255, 0,115,255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, 16, 6, 6,152,108, 0, 0, 0, -255,255, 0,113,255,227, 4,117, 7, 15, 18, 34, 0, 82, 0, 0, 16, 39, 0,106, 0,111, 0,255, 16, 7, 6,134, 4,114, 0, 18, -255,255, 0,115,255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, 16, 6, 6,149,106, 0, 0, 0,255,255, 0,113,255,227, 4,117, - 4,123, 16, 38, 0, 82, 0, 0, 16, 7, 6,149,255,181,255, 4,255,255, 0,115,255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, - 16, 6, 6,148,104, 0, 0, 0,255,255, 0,113,255,227, 4,117, 4,123, 16, 39, 6,148,255,185,255, 4, 16, 6, 0, 82, 0, 0, -255,255, 0,201, 0, 0, 4,141, 7,107, 18, 34, 0, 51, 0, 0, 16, 67, 0,118, 0, 65, 2,240, 64, 0, 44,204,255,255, 0,186, -254, 86, 4,164, 6,102, 18, 34, 0, 83, 0, 0, 16, 2, 0,118, 50, 0, 0, 0,255,255, 0,201, 0, 0, 4,141, 7, 80, 18, 34, - 0, 51, 0, 0, 16, 3, 2, 50, 0,132, 1, 64,255,255, 0,186,254, 86, 4,164, 6, 16, 16, 39, 2, 50, 0,217, 0, 0, 18, 6, - 0, 83, 0, 0,255,255, 0,201, 0, 0, 5, 84, 7, 80, 18, 34, 0, 53, 0, 0, 16, 3, 2, 50, 0,131, 1, 64,255,255, 0,186, - 0, 0, 3, 74, 6, 18, 18, 34, 0, 85, 0, 0, 16, 2, 2, 50, 19, 2, 0, 0,255,255, 0,201,254,135, 5, 84, 5,213, 16, 35, - 2,107, 4,125, 0, 0, 16, 2, 0, 53, 0, 0,255,255, 0,186,254,135, 3, 74, 4,123, 16, 35, 2,107, 3, 32, 0, 0, 16, 2, - 0, 85, 0, 0,255,255, 0,201,254,135, 5, 84, 7, 51, 16, 99, 0,113, 0,122, 1, 50, 64, 0, 64,110, 16, 2, 4,214, 0, 0, -255,255, 0,186,254,135, 3, 74, 5,245, 16, 34, 0,113, 24,255, 16, 2, 4,215, 0, 0, 0, 0,255,255, 0,201,254,192, 5, 84, - 5,213, 18, 34, 0, 53, 0, 0, 16, 3, 2, 38, 0,229, 0, 0,255,255, 0, 84,254,192, 3, 74, 4,123, 18, 34, 0, 85, 0, 0, - 16, 3, 2, 38,255,127, 0, 0,255,255, 0,135,255,227, 4,162, 7, 80, 18, 34, 0, 54, 0, 0, 16, 3, 2, 50, 0,184, 1, 64, -255,255, 0,111,255,227, 3,199, 6, 16, 16, 38, 2, 50, 37, 0, 18, 6, 0, 86, 0, 0, 0, 0,255,255, 0,135,254,135, 4,162, - 5,240, 16, 35, 2,107, 4,138, 0, 0, 16, 2, 0, 54, 0, 0,255,255, 0,111,254,135, 3,199, 4,123, 16, 35, 2,107, 4, 21, - 0, 0, 16, 2, 0, 86, 0, 0,255,255, 0,135,255,227, 4,162, 7,107, 18, 34, 0, 54, 0, 0, 16, 35, 2, 50,255,164, 1, 90, - 16, 67, 0,118, 0,242, 2,240, 64, 0, 44,204,255,255, 0,111,255,227, 3,226, 6,102, 18, 34, 0, 86, 0, 0, 16, 34, 2, 50, -140, 86, 16, 3, 0,118, 0,144, 0, 0, 0, 0,255,255, 0,135,255,227, 4,162, 5,240, 16, 38, 6,153,228, 0, 18, 2, 0, 54, - 0, 0, 0, 0,255,255, 0,111,255,227, 3,199, 7,176, 16, 38, 1, 35, 0, 0, 16, 7, 2, 50, 0, 34, 1,160,255,255, 0,135, -254,135, 4,162, 7, 80, 18, 34, 4,222, 0, 0, 16, 3, 2, 50, 0,155, 1, 64,255,255, 0,111,254,135, 3,199, 6, 18, 18, 34, - 4,223, 0, 0, 16, 2, 2, 50, 42, 2, 0, 0,255,255,255,250, 0, 0, 4,233, 7, 80, 18, 34, 0, 55, 0, 0, 16, 3, 2, 50, - 0,114, 1, 64,255,255, 0, 55, 0, 0, 2,242, 7, 47, 18, 34, 0, 87, 0, 0, 16, 3, 2, 50,255, 35, 1, 31,255,255,255,250, -254,135, 4,233, 5,213, 16, 35, 2,107, 4,113, 0, 0, 16, 2, 0, 55, 0, 0,255,255, 0, 55,254,135, 2,242, 5,158, 16, 35, - 2,107, 3,232, 0, 0, 16, 2, 0, 87, 0, 0,255,255,255,250,254,192, 4,233, 5,213, 18, 34, 0, 55, 0, 0, 16, 2, 2, 38, - 98, 0, 0, 0,255,255, 0, 55,254,192, 2,242, 5,158, 18, 34, 0, 87, 0, 0, 16, 66, 2, 38, 60, 0, 51, 51, 64, 0, 0, 0, -255,255,255,250,254, 21, 4,233, 5,213, 16, 39, 2, 31, 0,114,249, 39, 18, 6, 0, 55, 0, 0,255,255, 0, 55,254, 20, 3, 39, - 5,158, 16, 39, 2, 31,255,232,249, 38, 18, 6, 0, 87, 0, 0,255,255, 0,178,254,137, 5, 41, 5,213, 16, 35, 2,108, 4,240, - 0, 0, 18, 2, 0, 56, 0, 0,255,255, 0,174,254,137, 4, 88, 4, 96, 16, 35, 2,108, 4,123, 0, 0, 18, 2, 0, 88, 0, 0, -255,255, 0,178,254,118, 5, 41, 5,213, 18, 34, 0, 56, 0, 0, 16, 3, 2, 71, 0,242, 0, 0,255,255, 0,174,254,118, 4, 88, - 4, 96, 18, 34, 0, 88, 0, 0, 16, 3, 2, 71, 0,143, 0, 0,255,255, 0,178,253,221, 5, 41, 5,213, 18, 34, 0, 56, 0, 0, - 16, 3, 2,117, 4,224, 0, 0,255,255, 0,174,253,221, 4, 88, 4, 96, 18, 34, 0, 88, 0, 0, 16, 3, 2,117, 4,117, 0, 0, -255,255, 0,178,255,227, 5, 41, 5,213, 16, 38, 6,154, 46, 0, 18, 2, 0, 56, 0, 0, 0, 0,255,255, 0,174,255,227, 4, 88, - 7,236, 16, 38, 1, 43, 0, 0, 16, 7, 0,118, 0,150, 1,134,255,255, 0,178,255,227, 5, 41, 5,213, 16, 38, 6,144, 50, 0, - 18, 2, 0, 56, 0, 0, 0, 0,255,255, 0,174,255,227, 4, 88, 4, 96, 16, 39, 6,144,255,200,254,192, 18, 2, 0, 88, 0, 0, -255,255, 0, 16, 0, 0, 5,104, 7,125, 18, 34, 0, 57, 0, 0, 16, 3, 2, 53, 0,237, 1, 70,255,255, 0, 61, 0, 0, 4,127, - 6, 55, 18, 34, 0, 89, 0, 0, 16, 2, 2, 53,109, 0, 0, 0,255,255, 0, 16,254,135, 5,104, 5,213, 16, 38, 0, 57, 0, 0, - 16, 7, 2,107, 4,188, 0, 0,255,255, 0, 61,254,135, 4,127, 4, 96, 16, 38, 0, 89, 0, 0, 16, 7, 2,107, 4, 94, 0, 0, -255,255, 0, 68, 0, 0, 7,166, 5,213, 16, 39, 6,135, 5,245, 1,124, 18, 6, 0, 58, 0, 0,255,255, 0, 86, 0, 0, 6, 53, - 6,107, 16, 39, 0, 67, 1, 9, 0, 5, 18, 6, 0, 90, 0, 0,255,255, 0, 68, 0, 0, 7,166, 5,213, 16, 39, 6,133, 5,245, - 1,124, 18, 6, 0, 58, 0, 0,255,255, 0, 86, 0, 0, 6, 53, 6,109, 16, 39, 0,118, 1,134, 0, 7, 18, 6, 0, 90, 0, 0, -255,255, 0, 68, 0, 0, 7,166, 7, 52, 16, 39, 0,106, 1,245, 1, 36, 18, 6, 0, 58, 0, 0,255,255, 0, 86, 0, 0, 6, 53, - 5,191, 16, 39, 0,106, 1, 69,255,175, 18, 6, 0, 90, 0, 0,255,255, 0, 68, 0, 0, 7,166, 7, 80, 18, 34, 0, 58, 0, 0, - 16, 3, 2, 50, 1,245, 1, 64,255,255, 0, 86, 0, 0, 6, 53, 6, 18, 18, 34, 0, 90, 0, 0, 16, 3, 2, 50, 1, 71, 0, 2, -255,255, 0, 68,254,135, 7,166, 5,213, 18, 34, 0, 58, 0, 0, 16, 3, 2,107, 5,251, 0, 0,255,255, 0, 86,254,135, 6, 53, - 4, 96, 18, 34, 0, 90, 0, 0, 16, 3, 2,107, 5, 74, 0, 0,255,255, 0, 61, 0, 0, 5, 59, 7, 80, 18, 34, 0, 59, 0, 0, - 16, 3, 2, 50, 0,202, 1, 64,255,255, 0, 59, 0, 0, 4,121, 6, 18, 18, 34, 0, 91, 0, 0, 16, 2, 2, 50,103, 2, 0, 0, -255,255, 0, 61, 0, 0, 5, 59, 7, 78, 18, 34, 0, 59, 0, 0, 16, 3, 0,106, 0,202, 1, 62,255,255, 0, 59, 0, 0, 4,121, - 6, 16, 18, 34, 0, 91, 0, 0, 16, 2, 0,106,102, 0, 0, 0,255,255,255,252, 0, 0, 4,231, 7, 80, 18, 34, 0, 60, 0, 0, - 16, 3, 2, 50, 0,112, 1, 64,255,255, 0, 61,254, 86, 4,127, 6, 16, 18, 34, 0, 92, 0, 0, 16, 2, 2, 50,102, 0, 0, 0, -255,255, 0, 92, 0, 0, 5, 31, 7,107, 18, 34, 0, 61, 0, 0, 16, 67, 2, 31, 0,190, 2,240, 64, 0, 44,204,255,255, 0, 88, - 0, 0, 3,219, 6,102, 18, 34, 0, 93, 0, 0, 16, 2, 2, 31, 26, 0, 0, 0,255,255, 0, 92,254,135, 5, 31, 5,213, 18, 34, - 0, 61, 0, 0, 16, 3, 2,107, 4,217, 0, 0,255,255, 0, 88,254,135, 3,219, 4, 96, 18, 34, 0, 93, 0, 0, 16, 3, 2,107, - 4, 49, 0, 0,255,255, 0, 92,254,192, 5, 31, 5,213, 18, 34, 0, 61, 0, 0, 16, 3, 2, 38, 0,199, 0, 0,255,255, 0, 88, -254,192, 3,219, 4, 96, 18, 34, 0, 93, 0, 0, 16, 2, 2, 38, 27, 0, 0, 0,255,255, 0,186,254,192, 4,100, 6, 20, 18, 34, - 0, 75, 0, 0, 16, 2, 2, 38,102, 0, 0, 0,255,255, 0, 4, 0, 0, 2,242, 7, 78, 18, 34, 0, 87, 0, 0, 16, 3, 0,106, -255, 45, 1, 62,255,255, 0, 86, 0, 0, 6, 53, 7, 6, 18, 34, 0, 90, 0, 0, 16, 3, 2, 51, 1, 66, 0, 0,255,255, 0, 61, -254, 86, 4,127, 7, 6, 18, 34, 0, 92, 0, 0, 16, 3, 2, 51, 0,129, 0, 0,255,255, 0,123,255,227, 5, 97, 6, 20, 18, 34, - 0, 68, 0, 0, 16, 3, 2, 23, 3,218, 0, 0,255,255, 0, 47, 0, 0, 2,248, 7, 80, 18, 34, 1, 65, 0, 0, 16, 3, 2, 50, -255,253, 1, 64,255,255, 0, 16,254,135, 5,104, 5,213, 16, 35, 2,107, 4,183, 0, 0, 18, 2, 0, 36, 0, 0,255,255, 0,123, -254,135, 4, 45, 4,123, 16, 35, 2,107, 4, 33, 0, 0, 18, 2, 0, 68, 0, 0,255,255, 0, 16, 0, 0, 5,104, 7,240, 18, 38, - 0, 36, 0, 0, 16, 7, 2, 81, 4,188, 1,117,255,255, 0,123,255,227, 4, 45, 6,123, 18, 38, 0, 68, 0, 0, 16, 7, 2, 81, - 4, 84, 0, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 34, 0, 36, 0, 0, 16, 6, 6,155, 0, 0, 0, 0,255,255, 0,123, -255,227, 4, 45, 4,123, 16, 39, 6,155,255,151,254,139, 16, 6, 0, 68, 0, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 34, - 0, 36, 0, 0, 16, 6, 6,156, 0, 0, 0, 0,255,255, 0,123,255,227, 4, 45, 4,123, 16, 38, 0, 68, 0, 0, 16, 7, 6,156, -255,148,254,140,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 34, 0, 36, 0, 0, 16, 6, 6,162, 0, 0, 0, 0,255,255, 0,123, -255,227, 4, 45, 4,123, 16, 39, 6,162,255,150,254,139, 16, 6, 0, 68, 0, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 34, - 0, 36, 0, 0, 16, 6, 6,157, 0, 0, 0, 0,255,255, 0,123,255,227, 4, 45, 4,123, 16, 39, 6,157,255,150,254,139, 16, 6, - 0, 68, 0, 0,255,255, 0, 16,254,135, 5,104, 5,213, 16, 35, 2,107, 4,175, 0, 0, 18, 2, 0,132, 0, 0,255,255, 0,123, -254,135, 4, 45, 6,102, 18, 34, 0,164, 0, 0, 16, 3, 2,107, 4, 34, 0, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 34, - 0, 36, 0, 0, 16, 6, 6,159, 0, 0, 0, 0,255,255, 0,123,255,227, 4, 45, 4,123, 16, 39, 6,159,255,145,254,170, 16, 6, - 0, 68, 0, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 34, 0, 36, 0, 0, 16, 6, 6,160, 0, 0, 0, 0,255,255, 0,123, -255,227, 4, 45, 4,123, 16, 39, 6,160,255,146,254,170, 16, 6, 0, 68, 0, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 34, - 0, 36, 0, 0, 16, 6, 6,161, 0, 0, 0, 0,255,255, 0,123,255,227, 4, 45, 4,123, 16, 39, 6,161,255,148,254,170, 16, 6, - 0, 68, 0, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 34, 0, 36, 0, 0, 16, 6, 6,158, 0, 0, 0, 0,255,255, 0,123, -255,227, 4, 45, 4,123, 16, 38, 0, 68, 0, 0, 16, 7, 6,158,255,146,254,170,255,255, 0, 16,254,135, 5,104, 7,146, 18, 34, - 0,196, 0, 0, 16, 3, 2,107, 4,192, 0, 0,255,255, 0,123,254,135, 4, 45, 6, 31, 18, 34, 0,197, 0, 0, 16, 3, 2,107, - 4, 51, 0, 0,255,255, 0,201,254,135, 4,139, 5,213, 16, 38, 0, 40, 0, 0, 16, 7, 2,107, 4,158, 0, 0,255,255, 0,113, -254,135, 4,127, 4,123, 16, 38, 0, 72, 0, 0, 16, 7, 2,107, 4,139, 0, 0,255,255, 0,201, 0, 0, 4,139, 7,240, 18, 38, - 0, 40, 0, 0, 16, 7, 2, 81, 4,158, 1,117,255,255, 0,113,255,227, 4,127, 6,123, 18, 38, 0, 72, 0, 0, 16, 7, 2, 81, - 4,141, 0, 0,255,255, 0,201, 0, 0, 4,139, 7, 69, 16, 99, 2, 53, 0,185, 2, 76, 64, 0, 51, 51, 18, 2, 0, 40, 0, 0, -255,255, 0,113,255,227, 4,127, 6, 55, 16, 35, 2, 53, 0,151, 0, 0, 18, 2, 0, 72, 0, 0,255,255, 0,201, 0, 0, 4,139, - 5,213, 18, 34, 0, 40, 0, 0, 16, 6, 6,155, 0, 0, 0, 0,255,255, 0,113,255,227, 4,127, 4,123, 16, 39, 6,155,255,208, -254,139, 16, 6, 0, 72, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 18, 34, 0, 40, 0, 0, 16, 6, 6,156,238, 0, 0, 0, -255,255, 0,113,255,227, 4,127, 4,123, 16, 39, 6,156,255,208,254,140, 16, 6, 0, 72, 0, 0,255,255, 0,201, 0, 0, 4,139, - 5,213, 18, 34, 0, 40, 0, 0, 16, 6, 6,162,238, 0, 0, 0,255,255, 0,113,255,227, 4,127, 4,123, 16, 38, 0, 72, 0, 0, - 16, 7, 6,162,255,208,254,139,255,255, 0,201, 0, 0, 4,139, 5,213, 18, 34, 0, 40, 0, 0, 16, 6, 6,157,234, 0, 0, 0, -255,255, 0,113,255,227, 4,127, 4,123, 16, 39, 6,157,255,209,254,139, 16, 6, 0, 72, 0, 0,255,255, 0,201,254,135, 4,139, - 5,213, 18, 34, 0,140, 0, 0, 16, 7, 2,107, 4,158, 0, 0,255,255, 0,113,254,135, 4,127, 6,102, 16, 39, 2,107, 4,139, - 0, 0, 16, 38, 5, 49, 0, 0, 16, 7, 2, 31, 0,139, 0, 0,255,255, 0, 90, 0, 0, 2, 26, 7,240, 18, 38, 0, 44, 0, 0, - 16, 7, 2, 81, 3, 35, 1,117,255,255, 0, 68, 0, 0, 2, 4, 6,124, 18, 34, 0,243, 0, 0, 16, 7, 2, 81, 3, 13, 0, 1, -255,255, 0,200,254,135, 1,148, 5,213, 16, 38, 0, 44, 0, 0, 16, 7, 2,107, 3, 46, 0, 0,255,255, 0,183,254,135, 1,131, - 6, 20, 16, 38, 0, 76, 0, 0, 16, 7, 2,107, 3, 29, 0, 0,255,255, 0,115,254,135, 5,217, 5,240, 16, 38, 0, 50, 0, 0, - 16, 7, 2,107, 5, 39, 0, 0,255,255, 0,113,254,135, 4,117, 4,123, 16, 38, 0, 82, 0, 0, 16, 7, 2,107, 4,115, 0, 0, -255,255, 0,115,255,227, 5,217, 7,240, 18, 38, 0, 50, 0, 0, 16, 7, 2, 81, 5, 39, 1,117,255,255, 0,113,255,227, 4,117, - 6,123, 18, 38, 0, 82, 0, 0, 16, 7, 2, 81, 4,125, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, - 16, 6, 6,155,108, 0, 0, 0,255,255, 0,113,255,227, 4,117, 4,123, 16, 39, 6,155,255,182,254,139, 16, 6, 0, 82, 0, 0, -255,255, 0,115,255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, 16, 6, 6,156,106, 0, 0, 0,255,255, 0,113,255,227, 4,117, - 4,123, 16, 39, 6,156,255,181,254,140, 16, 6, 0, 82, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, - 16, 6, 6,162,106, 0, 0, 0,255,255, 0,113,255,227, 4,117, 4,123, 16, 39, 6,162,255,182,254,139, 16, 6, 0, 82, 0, 0, -255,255, 0,115,255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, 16, 6, 6,157,101, 0, 0, 0,255,255, 0,113,255,227, 4,117, - 4,123, 16, 39, 6,157,255,182,254,139, 16, 6, 0, 82, 0, 0,255,255, 0,115,254,135, 5,217, 5,240, 18, 34, 0,150, 0, 0, - 16, 7, 2,107, 5, 39, 0, 0,255,255, 0,113,254,135, 4,117, 6,102, 16, 39, 2,107, 4,115, 0, 0, 16, 38, 5, 69, 0, 0, - 16, 6, 2, 31,115, 0, 0, 0,255,255, 0,103,255,227, 6,195, 5,240, 16, 39, 6,133, 5, 39, 1,117, 18, 2, 1, 98, 0, 0, -255,255, 0,118,255,227, 4,211, 6,102, 16, 38, 0,118,115, 0, 18, 2, 1, 99, 0, 0, 0, 0,255,255, 0,103,255,227, 6,195, - 5,240, 16, 39, 6,135, 5, 39, 1,117, 18, 2, 1, 98, 0, 0,255,255, 0,118,255,227, 4,211, 6,102, 16, 38, 0, 67,115, 0, - 18, 2, 1, 99, 0, 0, 0, 0,255,255, 0,103,255,227, 6,195, 7,240, 18, 34, 1, 98, 0, 0, 16, 7, 2, 81, 5, 39, 1,117, -255,255, 0,118,255,227, 4,211, 6,123, 18, 38, 1, 99, 0, 0, 16, 7, 2, 81, 4,125, 0, 0,255,255, 0,103,255,227, 6,195, - 5,240, 16, 39, 6,134, 5, 39, 1,117, 18, 2, 1, 98, 0, 0,255,255, 0,118,255,227, 4,211, 6, 55, 16, 38, 2, 53,115, 0, - 18, 2, 1, 99, 0, 0, 0, 0,255,255, 0,103,254,135, 6,195, 5,240, 18, 34, 1, 98, 0, 0, 16, 7, 2,107, 5, 39, 0, 0, -255,255, 0,118,254,135, 4,211, 4,235, 18, 34, 1, 99, 0, 0, 16, 7, 2,107, 4,115, 0, 0,255,255, 0,178,254,135, 5, 41, - 5,213, 16, 38, 0, 56, 0, 0, 16, 7, 2,107, 4,245, 0, 0,255,255, 0,174,254,135, 4, 88, 4, 96, 16, 38, 0, 88, 0, 0, - 16, 7, 2,107, 4,123, 0, 0,255,255, 0,178,255,227, 5, 41, 7,240, 18, 38, 0, 56, 0, 0, 16, 7, 2, 81, 4,238, 1,117, -255,255, 0,174,255,227, 4, 88, 6,123, 18, 38, 0, 88, 0, 0, 16, 7, 2, 81, 4,125, 0, 0,255,255, 0,173,255,247, 6, 95, - 5,233, 16, 39, 6,133, 4,238, 1,117, 18, 2, 1,113, 0, 0,255,255, 0,176,255,227, 5,105, 6,102, 16, 38, 0,118,123, 0, - 18, 2, 1,114, 0, 0, 0, 0,255,255, 0,173,255,247, 6, 95, 5,233, 16, 39, 6,135, 4,238, 1,117, 18, 2, 1,113, 0, 0, -255,255, 0,176,255,227, 5,105, 6,102, 16, 38, 0, 67,123, 0, 18, 2, 1,114, 0, 0, 0, 0,255,255, 0,173,255,247, 6, 95, - 7,240, 18, 34, 1,113, 0, 0, 16, 7, 2, 81, 4,238, 1,117,255,255, 0,176,255,227, 5,105, 6,123, 18, 34, 1,114, 0, 0, - 16, 7, 2, 81, 4,125, 0, 0,255,255, 0,173,255,247, 6, 95, 5,233, 16, 39, 6,134, 4,238, 1,117, 18, 2, 1,113, 0, 0, -255,255, 0,176,255,227, 5,105, 6, 55, 16, 35, 2, 53, 0,128, 0, 0, 18, 2, 1,114, 0, 0,255,255, 0,173,254,135, 6, 95, - 5,233, 18, 34, 1,113, 0, 0, 16, 7, 2,107, 4,245, 0, 0,255,255, 0,176,254,135, 5,105, 4,235, 18, 34, 1,114, 0, 0, - 16, 7, 2,107, 4,123, 0, 0,255,255,255,252, 0, 0, 4,231, 5,213, 18, 38, 0, 60, 0, 0, 16, 7, 6,135, 4,114, 1,124, -255,255, 0, 61,254, 86, 4,127, 6,107, 18, 38, 0, 92, 0, 0, 16, 6, 0, 67, 33, 5, 0, 0,255,255,255,252,254,130, 4,231, - 5,213, 16, 35, 2,107, 4,118,255,251, 18, 2, 0, 60, 0, 0,255,255, 0, 61,254, 86, 4,127, 4, 96, 16, 35, 2,107, 5,116, - 0, 0, 18, 2, 0, 92, 0, 0,255,255,255,252, 0, 0, 4,231, 7,247, 18, 38, 0, 60, 0, 0, 16, 7, 2, 81, 4,114, 1,124, -255,255, 0, 61,254, 86, 4,127, 6,130, 18, 38, 0, 92, 0, 0, 16, 7, 2, 81, 4, 96, 0, 7,255,255,255,252, 0, 0, 4,231, - 7, 69, 16, 99, 2, 53, 0,121, 2, 76, 64, 0, 51, 51, 18, 2, 0, 60, 0, 0,255,255, 0, 61,254, 86, 4,127, 6, 55, 16, 34, - 2, 53,119, 0, 18, 2, 0, 92, 0, 0, 0, 0, 0, 1, 1,134, 4,194, 2,120, 6, 97, 0, 8, 0, 72,180, 5, 8, 7, 2, 9, - 16,212, 60,220,178, 63, 8, 1, 93,192, 49,182, 0, 6, 7, 6, 3, 2, 9, 0, 16,212,180, 63, 2, 95, 2, 2, 93,176, 17, 75, - 80, 88,204, 27,192, 89,204,204,178, 63, 7, 1, 93, 17, 57, 48,177, 6, 3, 73,177, 7, 6, 73, 80, 88,179, 5, 64, 6, 64, 56, - 56, 89, 1, 16, 35, 53, 22, 53, 35, 53, 51, 2,120,242,134,133,241, 5,205,254,245,103, 3,157,158, 0, 0, 0,255,255, 1,115, - 4,238, 3, 82, 6,102, 16, 6, 0,118, 0, 0, 0, 1, 1,134, 4,194, 2,120, 6, 97, 0, 8, 0, 72,180, 2, 7, 4, 0, 9, - 16,212,192,220,178, 63, 7, 1, 93, 60, 49,182, 0, 3, 2, 3, 6, 7, 9, 0, 16,212,180, 63, 7, 95, 7, 2, 93,176, 17, 75, - 80, 88,204, 27,192, 89,204,204,178, 63, 2, 1, 93, 17, 57, 48,177, 3, 6, 73,177, 2, 3, 73, 80, 88,179, 3, 64, 4, 64, 56, - 56, 89, 1, 53, 51, 21, 35, 20, 55, 21, 34, 1,134,242,134,134,242, 5,205,148,158,157, 3,103, 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,255,255, 0,100, 1,223, 2,127, 2,131, 18, 6, 5,133, 0, 0, 0, 1, 0, 0, 1,233, 4, 0, 2,121, 0, 3, - 0, 16,182, 2,169, 0,233, 4, 1, 0, 47,198, 49, 0, 16,252,236, 48, 17, 33, 21, 33, 4, 0,252, 0, 2,121,144, 0, 0, 0, - 0, 1, 0, 0, 1,233, 4, 0, 2,121, 0, 3, 0, 16,182, 2,169, 0,233, 4, 1, 0, 47,198, 49, 0, 16,252,236, 48, 17, 33, - 21, 33, 4, 0,252, 0, 2,121,144, 0, 0, 0, 0, 1, 0, 0, 1,233, 8, 0, 2,121, 0, 3, 0, 15,181, 2,169, 0, 4, 1, - 0, 47,204, 49, 0, 16,212,236, 48, 17, 33, 21, 33, 8, 0,248, 0, 2,121,144, 0, 1, 0, 0, 1,233, 8, 0, 2,121, 0, 3, - 0, 15,181, 2,169, 0, 4, 1, 0, 47,204, 49, 0, 16,212,236, 48, 17, 33, 21, 33, 8, 0,248, 0, 2,121,144,255,255, 1, 4, -254, 29, 2,248, 6, 29, 16, 34, 0, 95, 0, 0, 16, 3, 0, 95, 1, 74, 0, 0,255,255,255,236,254, 29, 4, 20,255,238, 16, 38, - 0, 66, 0, 0, 16, 7, 0, 66, 0, 0, 1, 66, 0, 1, 0,174, 3,233, 1,211, 5,213, 0, 5, 0, 24, 64, 11, 0,158, 3,129, - 6, 3, 4, 0, 25, 1, 6, 16,220,252,212,204, 49, 0, 16,244,236, 48, 1, 35, 53, 19, 51, 3, 1,129,211,164,129, 82, 3,233, -173, 1, 63,254,193, 0, 0, 0, 0, 1, 0,178, 3,254, 1,215, 5,213, 0, 5, 0, 24, 64, 11, 3,158, 0,129, 6, 3, 4, 1, - 25, 0, 6, 16,220,236,212,204, 49, 0, 16,244,236, 48, 1, 51, 21, 3, 35, 19, 1, 4,211,164,129, 82, 5,213,152,254,193, 1, - 63, 0, 0, 0, 0, 1, 0,174,255, 18, 1,211, 0,254, 0, 5, 0, 24, 64, 11, 3,158, 0,131, 6, 3, 4, 1, 25, 0, 6, 16, -212,236,212,204, 49, 0, 16,252,236, 48, 37, 51, 21, 3, 35, 19, 1, 0,211,164,129, 82,254,172,254,192, 1, 64, 0, 1, 0,178, - 3,254, 1,215, 5,213, 0, 5, 0, 0, 1, 21, 19, 35, 3, 53, 1,133, 82,129,164, 5,213,152,254,193, 1, 63,152, 0, 0, 0, - 0, 2, 0,174, 3,233, 3,109, 5,213, 0, 5, 0, 11, 0, 39, 64, 19, 6, 0,158, 9, 3,129, 12, 9, 10, 6, 25, 7, 3, 4, - 7, 0, 25, 1, 12, 16,220,252,204,212,204, 16,254,212,206, 49, 0, 16,244, 60,236, 50, 48, 1, 35, 53, 19, 51, 3, 5, 35, 53, - 19, 51, 3, 1,129,211,164,129, 82, 1,154,211,164,129, 82, 3,233,173, 1, 63,254,193,173,173, 1, 63,254,193, 0, 2, 0,174, - 3,233, 3,109, 5,213, 0, 5, 0, 11, 0, 39, 64, 19, 9, 3,158, 6, 0,129, 12, 9, 10, 7, 25, 6, 1, 3, 4, 1, 25, 0, - 12, 16,220,236,212,204, 16,220,238,212,206, 49, 0, 16,244, 60,236, 50, 48, 1, 51, 21, 3, 35, 19, 37, 51, 21, 3, 35, 19, 1, - 0,211,164,129, 82, 1,154,211,164,129, 82, 5,213,172,254,192, 1, 64,172,172,254,192, 1, 64, 0, 2, 0,174,255, 18, 3,109, - 0,254, 0, 5, 0, 11, 0, 39, 64, 19, 9, 3,158, 6, 0,131, 12, 3, 4, 1, 25, 0, 7, 9, 10, 7, 25, 6, 12, 16,220,236, -212,204, 16,220,238,212,206, 49, 0, 16,252, 60,236, 50, 48, 37, 51, 21, 3, 35, 19, 37, 51, 21, 3, 35, 19, 2,154,211,164,129, - 82,254,102,211,164,129, 82,254,172,254,192, 1, 64,172,172,254,192, 1, 64, 0, 0, 2, 0,174, 3,233, 3,109, 5,213, 0, 5, - 0, 11, 0, 0, 1, 21, 19, 35, 3, 53, 33, 21, 19, 35, 3, 53, 1,129, 82,129,164, 2,109, 82,129,164, 5,213,173,254,193, 1, - 63,173,173,254,193, 1, 63,173, 0, 1, 0, 57,255, 59, 3,199, 5,213, 0, 11, 0, 39, 64, 20, 8, 4,185, 10, 2, 0,129, 6, -194, 12, 3, 89, 5, 1, 87, 9, 89, 7, 0, 12, 16,212, 60,236,252, 60,236, 49, 0, 16,228,244,212, 60,236, 50, 48, 1, 51, 17, - 33, 21, 33, 17, 35, 17, 33, 53, 33, 1,168,176, 1,111,254,145,176,254,145, 1,111, 5,213,254, 92,153,251,163, 4, 93,153, 0, - 0, 1, 0, 57,255, 59, 3,199, 5,213, 0, 19, 0, 62, 64, 32, 18, 6,185, 0, 16, 8,185, 10, 4, 0, 2, 14, 10, 12,129, 2, -194, 20, 15, 0, 89, 17, 13, 1, 87, 9, 5, 89, 11, 7, 3, 20, 16,212, 60, 60,236, 50,252, 60, 60,236, 50, 49, 0, 16,228,244, -196, 50, 16,196, 50, 16,238, 50, 16,238, 50, 48, 37, 33, 17, 35, 17, 33, 53, 33, 17, 33, 53, 33, 17, 51, 17, 33, 21, 33, 17, 33, - 3,199,254,145,176,254,145, 1,111,254,145, 1,111,176, 1,111,254,145, 1,111,223,254, 92, 1,164,154, 2, 31,153, 1,164,254, - 92,153,253,225, 0, 1, 1, 51, 1,209, 3,133, 4, 33, 0, 11, 0, 18,183, 9,199, 3, 12, 6, 92, 0, 12, 16,212,236, 49, 0, - 16,212,236, 48, 1, 52, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 1, 51,173,126,124,171,172,125,125,172, 2,250,124,171,171,124, -125,172,172, 0, 0, 1, 1, 51, 1,129, 3,213, 4,113, 0, 2, 0, 0, 1, 17, 1, 1, 51, 2,162, 1,129, 2,240,254,136, 0, - 0, 1, 0,236, 0, 0, 1,193, 0,254, 0, 3, 0, 0, 55, 51, 21, 35,236,213,213,254,254, 0, 0, 2, 0,236, 0, 0, 4,107, - 0,254, 0, 3, 0, 7, 0, 0, 37, 51, 21, 35, 37, 51, 21, 35, 3,150,213,213,253, 86,213,213,254,254,254,254, 0, 3, 0,236, - 0, 0, 7, 20, 0,254, 0, 3, 0, 7, 0, 11, 0, 35, 64, 17, 8, 4, 0,131, 10, 6, 2, 4, 25, 5, 0, 25, 1, 9, 25, 8, - 12, 16,212,252,212,236,212,236, 49, 0, 47, 60, 60,236, 50, 50, 48, 37, 51, 21, 35, 37, 51, 21, 35, 37, 51, 21, 35, 3,150,212, -212, 2,169,213,213,250,173,213,213,254,254,254,254,254,254, 0, 0, 1, 0,220, 2,107, 1,175, 3,105, 0, 3, 0, 0, 19, 51, - 21, 35,220,211,211, 3,105,254, 0, 7, 0,113,255,227, 10, 76, 5,240, 0, 11, 0, 23, 0, 35, 0, 39, 0, 51, 0, 63, 0, 75, - 0,174, 64, 68, 36, 15, 37, 38, 37, 38, 15, 39, 36, 39, 66, 64, 0,146, 12, 46,146, 30,141, 40,146, 24, 70, 6,146, 52, 12,141, - 58, 38, 18,140, 36, 24,145, 76, 37, 73, 67, 39, 49, 43, 67, 13, 61, 9, 13, 15, 14, 3, 13, 21, 49, 13, 27, 61, 14, 73, 13, 21, - 55, 43, 13, 27, 14, 33, 11, 76, 16,252,228,236,212,196,236,228, 16,238, 16,238,246,238, 16,238, 17, 18, 57, 17, 18, 57, 49, 0, - 16,228, 50,244, 60, 60,228, 50,236, 50, 16,238,246,238, 16,238, 50, 48, 75, 83, 88, 7, 16, 5,237, 7, 16, 5,237, 89, 34, 1, - 75,176, 20, 84, 75,176, 9, 84, 91, 75,176, 11, 84, 91, 75,176, 12, 84, 91, 75,176, 13, 84, 91, 75,176, 14, 84, 91, 88,189, 0, - 76, 0, 64, 0, 1, 0, 76, 0, 76,255,192, 56, 17, 55, 56, 89, 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, 50, 22, 21, 20, 6, 35, 34, 38, 53, 52, 54, 33, 51, 1, 35, 19, 34, 6, 21, 20, 22, 51, 50, - 54, 53, 52, 38, 1, 50, 22, 21, 20, 6, 35, 34, 38, 53, 52, 54, 23, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 8,244, 87,100, -100, 87, 85, 99, 99, 85,158,186,187,157,160,186,187,249,116,158,188,187,159,159,185,186, 4, 37,160,252, 90,160, 31, 86, 99, 98, - 87, 87, 99,100, 3,178,158,186,187,157,160,186,187,159, 87, 99, 99, 87, 85, 99, 99, 2,145,148,132,130,149,149,130,131,149,127, -220,187,187,219,219,187,188,219, 2,224,219,187,189,218,219,188,186,220,249,243, 5,142,149,130,132,148,148,132,129,150,253,159, -220,187,187,219,219,187,188,219,127,148,132,130,149,149,130,131,149, 0, 0, 0, 0, 9, 0,113,255,227, 13,114, 5,240, 0, 11, - 0, 22, 0, 34, 0, 45, 0, 55, 0, 59, 0, 69, 0, 80, 0, 92, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 39, 50, - 22, 16, 6, 35, 34, 38, 53, 52, 54, 5, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 39, 50, 22, 16, 6, 35, 34, 38, 53, 52, 54, - 0, 32, 22, 21, 20, 6, 32, 38, 53, 52, 37, 51, 1, 35, 18, 34, 6, 21, 20, 22, 50, 54, 53, 52, 1, 50, 22, 16, 6, 35, 34, 38, - 53, 52, 54, 23, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 12, 26, 87,100,100, 87, 85, 99, 99, 85,158,186,187,157,160,186,187, -253,121, 87,100,100, 87, 85, 99, 99, 85,158,186,187,157,160,186,187,248,214, 1, 60,188,187,254,194,185, 4,223,160,252, 90,160, -117,172, 99, 98,174, 99, 3, 78,158,186,187,157,160,186,187,159, 87, 99, 99, 87, 85, 99, 99, 2,145,148,132,130,149,149,130,131, -149,127,220,254,138,219,219,187,188,219,127,148,132,130,149,149,130,131,149,127,220,254,138,219,219,187,188,219, 2,224,219,187, -189,218,219,188,186,220,249,243, 5,142,149,130,132,148,148,132,129,254, 53,220,254,138,219,219,187,188,219,127,148,132,130,149, -149,130,131,149, 0, 1, 0, 40, 4, 96, 1,160, 5,213, 0, 3, 0, 0, 27, 1, 51, 1, 40,173,203,254,223, 4, 96, 1,117,254, -139, 0, 0, 0,255,255, 0, 40, 4, 96, 2,204, 5,213, 16, 38, 5,159, 0, 0, 16, 7, 5,159, 1, 44, 0, 0,255,255, 0, 40, - 4, 96, 3,248, 5,213, 16, 39, 5,159, 1, 44, 0, 0, 16, 38, 5,159, 0, 0, 16, 7, 5,159, 2, 88, 0, 0, 0, 1, 0, 40, - 4, 96, 1,160, 5,213, 0, 3, 0, 0, 1, 35, 1, 51, 1,160, 87,254,223,203, 4, 96, 1,117,255,255, 0, 40, 4, 96, 2,204, - 5,213, 16, 38, 5,162, 0, 0, 16, 7, 5,162, 1, 44, 0, 0,255,255, 0, 40, 4, 96, 3,248, 5,213, 16, 38, 5,162, 0, 0, - 16, 39, 5,162, 2, 88, 0, 0, 16, 7, 5,162, 1, 44, 0, 0, 0, 1, 0, 11,254, 29, 2,171,255,195, 0, 5, 0, 0, 1, 35, - 39, 7, 35, 1, 2,171,148,187,188,149, 1, 82,254, 29,249,249, 1,166, 0, 0, 0, 1, 0,158, 0,141, 2,115, 4, 35, 0, 6, - 0, 71, 64, 37, 3,232, 4, 5, 4, 2,232, 1, 2, 5, 5, 4, 2,232, 3, 2, 6, 0, 6, 1,232, 0, 6, 66, 2, 4,231, 0, -166, 7, 2, 3, 0,111, 5,110, 7, 16,252,236, 50, 57, 49, 0, 16,244,236, 57, 48, 75, 83, 88, 7, 4,237, 7, 16, 8,237, 7, - 16, 8,237, 7, 16, 4,237, 89, 34, 1, 21, 9, 1, 21, 1, 53, 2,115,254,211, 1, 45,254, 43, 4, 35,191,254,244,254,244,191, - 1,162, 82, 0, 0, 1, 0,193, 0,141, 2,150, 4, 35, 0, 6, 0, 73, 64, 38, 5,232, 6, 5, 2, 3, 2, 4,232, 3, 3, 2, - 6,232, 0, 1, 0, 5,232, 4, 5, 1, 1, 0, 66, 5, 3,231, 0,166, 7, 5, 1,111, 3, 0,112, 7, 16,252, 60,236, 57, 49, - 0, 16,244,236, 57, 48, 75, 83, 88, 7, 16, 8,237, 7, 16, 4,237, 7, 16, 4,237, 7, 16, 8,237, 89, 34, 19, 1, 21, 1, 53, - 9, 1,193, 1,213,254, 43, 1, 45,254,211, 4, 35,254, 94, 82,254, 94,191, 1, 12, 1, 12, 0,255,255, 0,195, 0, 4, 5,235, - 5,204, 18, 34, 0,153, 0, 75, 16, 35, 0, 17,255,232, 2, 78, 16, 35, 0, 17, 2, 22, 0, 4, 16, 35, 0, 17, 4, 61, 2, 78, - 16, 3, 0, 17, 2, 22, 4,206,255,255, 0,147, 0, 0, 3, 79, 5,213, 16, 39, 0, 4,255, 94, 0, 0, 16, 7, 0, 4, 1, 79, - 0, 0, 0, 0, 0, 3, 0,147, 0, 0, 3,176, 5,240, 0, 23, 0, 27, 0, 36, 0, 0, 1, 35, 17, 6, 7, 6, 7, 53, 62, 1, - 51, 50, 22, 21, 20, 6, 15, 1, 14, 1, 7, 14, 1, 21, 3, 51, 21, 35, 19, 17, 55, 62, 1, 53, 52, 39, 38, 2, 76,191, 31, 32, - 90, 97, 94,193,103,184,223, 72, 90, 88, 47, 39, 8, 6, 6,197,203,203,197, 45, 57, 51, 65, 37, 1,145, 3,173, 8, 13, 35, 67, -188, 57, 56,194,159, 76,137, 86, 86, 47, 53, 25, 21, 60, 52,254,242,254, 5, 66,254, 82, 45, 53, 94, 49, 89, 55, 31, 0, 0, 0, -255,255,255,236, 5,124, 4, 20, 6, 11, 16, 7, 0, 66, 0, 0, 7, 95, 0, 0, 0, 1,255,167,254, 27, 6,199,255,133, 0, 13, - 0, 37,179, 4, 15, 10, 14, 16,196,212,196,179, 7, 0, 15, 14, 17, 18, 57, 57, 49, 64, 7, 11, 3, 10, 4, 7, 0, 14, 0, 16, -212,220,220, 60,204, 50, 48, 1, 50, 36, 55, 21, 6, 4, 35, 34, 36, 39, 53, 22, 4, 3, 54,231, 1,197,229,235,254, 58,224,223, -254, 60,236,230, 1,194,254,181,104,104,126,118,118,117,119,126,105,103, 0, 0, 0, 1,255,167, 6, 4, 6,199, 7,110, 0, 13, - 0, 37,179, 4, 15, 10, 14, 16,196,212,196,179, 7, 0, 15, 14, 17, 18, 57, 57, 49, 64, 7, 10, 4, 11, 3, 0, 7, 14, 0, 16, -212,220,220, 60,204, 50, 48, 1, 50, 4, 23, 21, 38, 36, 35, 34, 4, 7, 53, 54, 36, 3, 54,224, 1,198,235,229,254, 59,231,231, -254, 62,230,236, 1,196, 7,110,118,118,126,104,104,103,105,126,119,117, 0, 0, 0, 1,255,170,254, 29, 2, 73, 1,213, 0, 7, - 0, 0, 1, 51, 9, 1, 35, 11, 1, 35, 1,231, 98,254,226, 1, 30, 98,237,237, 99, 1,213,254, 36,254, 36, 1,138,254,118, 0, -255,255, 0, 61,255,197, 7,195, 6,131, 16, 35, 0, 13, 0, 0,253,123, 16, 35, 0, 13, 4, 0,253,123, 16, 3, 0, 13, 2, 0, - 0,147, 0, 0,255,255, 0,221, 2,129, 3, 51, 3, 95, 18, 67, 2, 34, 0, 8,250,110, 64, 0, 96, 0, 0, 0, 0, 1,254,137, -255,227, 2,205, 5,240, 0, 3, 0, 43, 64, 19, 0, 15, 1, 2, 1, 2, 15, 3, 0, 3, 66, 2,140, 0,145, 4, 1, 3, 4, 16, -212,204, 49, 0, 16,228,228, 48, 75, 83, 88, 7, 16, 5,237, 7, 16, 5,237, 89, 34, 1, 51, 1, 35, 2, 45,160,252, 92,160, 5, -240,249,243, 0, 0, 1, 0,176,254,242, 2, 88, 6, 20, 0, 11, 0, 0, 1, 17, 51, 21, 33, 17, 33, 21, 35, 17, 51, 21, 1,104, -240,254, 88, 1,168,240,240, 2, 94,253, 35,143, 7, 34,143,253, 35, 74, 0, 0, 0, 1, 0,176,254,242, 2, 88, 6, 20, 0, 11, - 0, 0, 19, 53, 51, 17, 35, 53, 33, 17, 33, 53, 51, 17,176,240,240, 1,168,254, 88,240, 2, 94, 74, 2,221,143,248,222,143, 2, -221, 0, 0, 0,255,255, 0, 73, 0, 0, 7, 23, 5,240, 16, 38, 0, 34,182, 0, 16, 7, 0, 34, 3,102, 0, 0,255,255, 0,147, - 0, 0, 5, 74, 5,240, 16, 38, 0, 34, 0, 0, 16, 7, 0, 4, 3, 74, 0, 0,255,255, 0,147, 0, 0, 5, 74, 5,240, 16, 39, - 0, 4,255, 94, 0, 0, 16, 7, 0, 34, 1,154, 0, 0, 0, 0, 0, 1, 0,111, 0, 0, 3,161, 4,132, 0, 19, 0, 0, 37, 51, - 21, 35, 53, 7, 35, 19, 35, 53, 33, 19, 33, 53, 33, 21, 3, 51, 21, 35, 1,254,169,209, 3,180,224,249, 1, 36,168,253,157, 3, - 50,195,165,208,102,102, 7, 7, 2, 15,102, 1,139,132, 67,254, 52,102, 0, 0, 0, 1, 0,236,255, 59, 4,135, 5,213, 0, 13, - 0, 0, 1, 33, 17, 51, 17, 51, 17, 51, 17, 62, 1, 53, 52, 36, 2,172,254, 64,141,190,142,215,235,254,252, 5,213,249,102, 6, - 31,249,225, 3, 78, 17,221,184,190,232, 0, 0, 0, 2, 0,216, 1,194, 3, 40, 4, 18, 0, 3, 0, 11, 0, 0, 1, 51, 17, 7, - 43, 1, 34, 38, 53, 52, 54, 51, 2,121,175,175,118, 2,125,172,173,126, 4, 18,253,177, 1,172,125,124,171, 0, 0, 2, 0,216, - 1,194, 3, 40, 4, 18, 0, 3, 0, 11, 0, 0, 1, 39, 17, 59, 1, 50, 22, 21, 20, 6, 43, 1, 1,135,175,175,118,126,173,172, -125, 2, 1,194, 1, 2, 79,171,124,125,172, 0,255,255, 0, 61,255,197, 3,195, 3,107, 18, 3, 0, 13, 0, 0,253,123, 0, 0, - 0, 2, 1, 29,255, 18, 2, 66, 4, 35, 0, 3, 0, 9, 0, 0, 1, 35, 21, 51, 17, 35, 21, 19, 51, 3, 1,240,211,211,211,164, -129, 82, 4, 35,254,253,217,172,254,192, 1, 64,255,255,255,167,254, 27, 6,199, 7,110, 16, 38, 5,172, 0, 0, 16, 6, 5,173, - 0, 0, 0, 0,255,255, 0, 61,255,242, 3,195, 7,111, 18, 35, 0, 13, 0, 0,253,168, 16, 3, 0, 13, 0, 0, 1,127, 0, 0, -255,255, 0,145,255, 66, 3, 67, 5,213, 16, 35, 0, 18, 0,145, 0, 0, 16, 35, 0, 17, 1,142, 0, 0, 16, 3, 0, 17,255,217, - 4, 72, 0, 0,255,255, 0,217, 1,211, 5,219, 3, 49, 18, 2, 0, 97, 0, 0,255,255,255,167,254, 20, 6,199,255,126, 16, 7, - 5,173, 0, 0,248, 16, 0, 0, 0, 1, 1, 56, 0,200, 5,124, 5, 13, 0, 23, 0, 0, 1, 17, 35, 17, 7, 39, 55, 33, 53, 33, - 39, 55, 23, 17, 51, 17, 55, 23, 7, 33, 21, 33, 23, 7, 3,170,160,249,113,249,254,159, 1, 97,250,113,250,160,250,113,250, 1, - 97,254,159,250,113, 2, 41,254,159, 1, 96,249,114,249,160,250,114,251, 1, 98,254,158,250,113,250,160,249,114, 0, 3, 0,250, - 1, 50, 3,182, 4,182, 0, 3, 0, 7, 0, 11, 0, 0, 19, 53, 51, 21, 1, 53, 51, 21, 3, 53, 51, 21,250,200, 1, 44,200,200, -200, 2,144,200,200,254,162,200,200, 2,188,200,200, 0, 0, 0,255,255, 0, 40, 4, 96, 5, 36, 5,213, 16, 39, 5,159, 1, 44, - 0, 0, 16, 38, 5,159, 0, 0, 16, 39, 5,159, 3,132, 0, 0, 16, 7, 5,159, 2, 88, 0, 0, 0, 4, 1,102, 1, 0, 5, 78, - 4,232, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, 1, 53, 51, 21, 33, 53, 51, 21, 1, 53, 51, 21, 3, 53, 51, 21, 1,102,200, 2, - 88,200,253,168,200,200,200, 2,144,200,200,200,200,254,112,200,200, 3, 32,200,200, 0, 0, 0, 0, 5, 1,102, 0,246, 5, 78, - 4,222, 0, 3, 0, 7, 0, 11, 0, 15, 0, 19, 0, 0, 1, 53, 51, 21, 19, 53, 51, 21, 3, 53, 51, 21, 1, 53, 51, 21, 3, 53, - 51, 21, 2,246,200,200,200,200,200,252, 44,200,220,200, 2,134,200,200,254,112,200,200, 3, 32,200,200,252,244,200,200, 3, 12, -200,200, 0, 0, 0, 2, 0,219, 0, 0, 1,174, 5,213, 0, 3, 0, 7, 0, 0, 19, 51, 21, 35, 17, 51, 21, 35,219,211,211,211, -211, 5,213,254,252, 39,254, 0, 0, 4, 0,100,254,229, 5,253, 6,239, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, 19, 51, 21, 35, - 37, 51, 21, 35, 1, 51, 21, 35, 17, 51, 21, 35,100,211,211, 4,198,211,211,253,157,211,211,211,211, 3,105,254,254,254, 4,132, -254,249,242,254, 0, 5, 0,112, 0, 0, 6, 68, 5,213, 0, 3, 0, 7, 0, 11, 0, 15, 0, 27, 0, 0, 37, 53, 51, 21, 3, 53, - 51, 21, 1, 53, 51, 21, 3, 53, 51, 21, 1, 17, 35, 17, 33, 53, 33, 17, 51, 17, 33, 21, 4,134,200,200,200,252, 44,200,220,200, - 1,124,160,253,102, 2,154,160, 2,154,246,200,200, 3, 32,200,200,252,244,200,200, 3, 12,200,200,254,132,253,102, 2,154,160, - 2,155,253,101,160, 0, 0, 0, 0, 3, 0,219, 0, 80, 1,174, 5, 62, 0, 3, 0, 7, 0, 11, 0, 0, 19, 51, 21, 35, 17, 51, - 21, 35, 17, 51, 21, 35,219,211,211,211,211,211,211, 5, 62,254,253, 14,254, 2,246,254, 0, 0, 0, 4, 0,219, 0, 17, 1,174, - 5,119, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, 19, 51, 21, 35, 17, 51, 21, 35, 17, 51, 21, 35, 17, 51, 21, 35,219,211,211,211, -211,211,211,211,211, 2,137,254, 3,236,254,252,150,254, 3,240,254, 0, 0, 0, 0, 2, 0, 87, 2,141, 2,238, 5,240, 0, 13, - 0, 25, 0, 0, 0, 34, 7, 6, 21, 20, 23, 22, 50, 55, 54, 53, 52, 47, 1, 50, 22, 21, 20, 6, 35, 34, 38, 53, 52, 54, 2, 8, -202, 50, 51, 51, 50,202, 50, 51, 51,151,161,170,170,161,162,170,170, 5,151, 86, 86,172,173, 86, 86, 86, 86,173,172, 86,175,222, -211,212,222,222,212,211,222, 0, 0, 2, 0,121, 2,156, 0,238, 6, 4, 0, 3, 0, 7, 0, 31, 64, 6, 9, 5, 1, 4, 0, 8, - 16,220, 60,220, 60,204, 49, 0, 64, 6, 4, 7, 0, 3, 0, 8, 16,212,196, 16,220,204, 48, 19, 51, 17, 35, 17, 51, 21, 35,122, -116,116,116,116, 5, 15,253,141, 3,103,130, 0, 0, 2, 0, 63, 2,156, 2,244, 5,223, 0, 2, 0, 13, 0,212, 64, 22, 0, 3, - 11, 7,221, 5, 1, 9,247, 3,145, 14, 1, 12, 10, 0, 93, 6, 8, 4, 12, 14, 16,220,212, 60,196,236, 50, 17, 57, 49, 0, 16, -244,252,212, 60,236, 50, 18, 57, 48, 1, 75,176, 14, 84, 75,176, 15, 84, 91, 75,176, 16, 84, 91, 75,176, 17, 84, 91, 75,176, 11, - 84, 91, 75,176, 10, 84, 91, 88,189, 0, 14, 0, 64, 0, 1, 0, 14, 0, 14,255,192, 56, 17, 55, 56, 89, 0, 75,176, 17, 84, 75, -176, 14, 84, 91, 88,189, 0, 14,255,192, 0, 1, 0, 14, 0, 14, 0, 64, 56, 17, 55, 56, 89, 64, 84, 11, 1, 29, 1, 47, 1, 57, - 1, 73, 1, 70, 3, 89, 3,105, 3,139, 3,171, 3,187, 3, 11, 1, 0, 15, 1, 15, 2, 15, 5, 15, 6, 15, 7, 15, 8, 15, 11, - 15, 12, 15, 13, 19, 0, 31, 1, 31, 2, 31, 5, 31, 6, 31, 7, 31, 8, 31, 11, 31, 12, 31, 13, 34, 0, 53, 0, 71, 0, 75, 13, - 83, 0, 91, 13,101, 0,132, 0,165, 0,181, 0, 30, 93, 1, 93, 9, 1, 33, 3, 51, 17, 51, 21, 35, 21, 35, 53, 33, 53, 1,221, -254,203, 1, 53, 22,166,135,135,144,254, 98, 5,102,254, 93, 2, 28,253,228,109,186,186,121, 0, 0, 1, 0,102, 2,141, 2,211, - 5,223, 0, 32, 0, 0, 19, 33, 21, 33, 21, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 35, 34, 38, 39, 53, 22, 23, 22, 51, 50, - 54, 52, 38, 35, 34, 6, 7,142, 1,254,254,121, 28, 29, 28, 28,161, 94, 94, 97, 96,176, 60,126, 66, 57, 62, 62, 69,111,130,130, -111, 52,104, 54, 5,223, 95,204, 9, 4, 4, 77, 76,131,135, 75, 74, 18, 18,113, 27, 14, 13,102,174,102, 20, 21, 0, 2, 0, 92, - 2,141, 2,243, 5,240, 0, 15, 0, 47, 0, 0, 1, 34, 7, 6, 21, 20, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 19, 21, 38, 39, - 38, 35, 34, 7, 6, 7, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 35, 34, 38, 53, 52, 55, 54, 51, 50, 23, 22, 1,179, 88, 51, - 51, 51, 51, 88, 87, 51, 51, 51, 51,171, 49, 50, 50, 49,128, 68, 68, 10, 38, 57, 58, 68,145, 84, 84, 88, 87,145,167,176,108,108, -182, 49, 50, 50, 4,109, 52, 53, 91, 90, 52, 53, 53, 52, 90, 91, 53, 52, 1, 98,103, 20, 10, 11, 75, 76,153, 49, 26, 26, 76, 77, -132,127, 79, 78,222,212,198,117,118, 8, 9, 0, 0, 1, 0,108, 2,156, 2,213, 5,223, 0, 6, 0, 0, 19, 33, 21, 1, 35, 1, - 33,108, 2,105,254,164,136, 1, 72,254, 51, 5,223, 48,252,237, 2,228, 0, 0, 0, 3, 0, 89, 2,141, 2,236, 5,240, 0, 12, - 0, 42, 0, 58, 0, 0, 0, 34, 7, 6, 21, 20, 22, 51, 50, 55, 54, 52, 39, 37, 38, 39, 38, 53, 52, 54, 32, 23, 22, 21, 20, 7, - 6, 7, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 55, 20, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, - 6, 2, 0,186, 53, 53,106, 93, 92, 54, 53, 53,254,236, 84, 46, 47,164, 1, 30, 82, 81, 46, 47, 83, 90, 56, 53, 85, 86,158,159, - 85, 86, 53, 54, 45, 47, 46, 85, 81, 49, 48, 48, 47, 83, 83, 48, 47, 4, 42, 44, 43, 75, 76, 86, 44, 43,150, 43, 93, 18, 49, 50, - 72,100,116, 58, 58,100, 74, 48, 49, 18, 18, 58, 55, 80,121, 65, 65, 65, 65,121, 78, 57, 56,198, 63, 38, 37, 37, 36, 65, 63, 38, - 37, 37, 36, 0, 0, 2, 0, 83, 2,141, 2,233, 5,240, 0, 31, 0, 46, 0, 0, 19, 53, 22, 23, 22, 51, 50, 55, 54, 55, 6, 7, - 6, 35, 34, 38, 53, 52, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 19, 50, 54, 53, 52, 39, 38, 35, 34, 7, 6, 21, - 20, 23, 22,145, 49, 50, 50, 48,129, 68, 67, 10, 35, 60, 57, 69,144,168, 87, 88,145,167, 87, 88,107,108,182, 49, 50, 50,204, 88, -102, 51, 51, 88, 85, 53, 52, 52, 51, 2,174,103, 20, 11, 10, 75, 75,154, 47, 27, 26,152,132,129, 77, 78,111,111,212,198,117,118, - 8, 9, 1,114,104, 92, 90, 52, 53, 53, 52, 90, 92, 52, 52, 0, 0, 1, 0,137, 2,156, 3,176, 5,107, 0, 11, 0, 0, 1, 17, - 33, 21, 33, 17, 35, 17, 33, 53, 33, 17, 2, 81, 1, 95,254,161,105,254,161, 1, 95, 5,107,254,200, 95,254,200, 1, 56, 95, 1, - 56, 0, 0, 0, 0, 1, 0,137, 3,212, 3,176, 4, 51, 0, 3, 0, 0, 19, 33, 21, 33,137, 3, 39,252,217, 4, 51, 95, 0, 0, - 0, 2, 0,137, 3, 97, 3,176, 4,165, 0, 3, 0, 7, 0, 0, 19, 33, 21, 33, 21, 33, 21, 33,137, 3, 39,252,217, 3, 39,252, -217, 4,165, 94,135, 95, 0, 0, 0, 1, 0,111, 2, 5, 1,144, 6, 2, 0, 13, 0, 0, 1, 14, 1, 16, 22, 23, 35, 38, 39, 38, - 52, 55, 54, 55, 1,144, 84, 82, 82, 84,101, 94, 47, 47, 47, 46, 95, 6, 2,129,252,254,254,254,128,131,128,127,250,127,126,132, - 0, 1, 0,103, 2, 5, 1,136, 6, 2, 0, 15, 0, 0, 19, 51, 22, 23, 22, 20, 7, 6, 7, 35, 54, 55, 54, 16, 39, 38,103,101, - 95, 47, 46, 46, 47, 95,101, 84, 41, 42, 42, 41, 6, 2,132,126,127,250,127,128,131,128,127,127, 1, 2,126,126, 0, 1, 0,117, - 2,156, 2,197, 5, 31, 0, 19, 0, 48, 64, 7, 21, 0, 3, 14, 10, 11, 20, 16,212,220, 60, 47,204,204, 75,176, 13, 81, 88,177, - 21, 64, 56, 89, 49,178,127, 21, 1, 93, 0, 64, 6, 6, 17, 12, 2, 11, 20, 16,212, 60,196,212,204, 48, 1, 17, 35, 17, 52, 38, - 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 22, 2,196,116, 78, 78, 94,108,117,117, 41,113, 74,121,125, 4, 23,254,133, - 1,119, 89, 89,107, 92,254,158, 2,115, 97, 56, 56,134, 0, 0,255,255, 0, 87,255,241, 2,238, 3, 84, 16, 7, 5,204, 0, 0, -253,100, 0, 0,255,255, 0,137, 0, 0, 2,197, 3, 67, 16, 7, 0,123, 0, 0,253,100, 0, 0,255,255, 0, 94, 0, 0, 2,180, - 3, 84, 16, 7, 0,116, 0, 0,253,100, 0, 0,255,255, 0, 98,255,241, 2,205, 3, 84, 16, 7, 0,117, 0, 0,253,100, 0, 0, -255,255, 0, 63, 0, 0, 2,244, 3, 67, 16, 7, 5,206, 0, 0,253,100, 0, 0,255,255, 0,102,255,241, 2,211, 3, 67, 16, 7, - 5,207, 0, 0,253,100, 0, 0,255,255, 0, 92,255,241, 2,243, 3, 84, 16, 7, 5,208, 0, 0,253,100, 0, 0,255,255, 0,108, - 0, 0, 2,213, 3, 67, 16, 7, 5,209, 0, 0,253,100, 0, 0,255,255, 0, 89,255,241, 2,236, 3, 84, 16, 7, 5,210, 0, 0, -253,100, 0, 0,255,255, 0, 83,255,241, 2,233, 3, 84, 16, 7, 5,211, 0, 0,253,100, 0, 0,255,255, 0,137, 0, 0, 3,176, - 2,207, 16, 7, 5,212, 0, 0,253,100, 0, 0,255,255, 0,137, 1, 56, 3,176, 1,151, 16, 7, 5,213, 0, 0,253,100, 0, 0, -255,255, 0,137, 0,197, 3,176, 2, 9, 16, 7, 5,214, 0, 0,253,100, 0, 0,255,255, 0,111,255,105, 1,144, 3,102, 16, 7, - 5,215, 0, 0,253,100, 0, 0,255,255, 0,103,255,105, 1,136, 3,102, 16, 7, 5,216, 0, 0,253,100, 0, 0, 0, 1, 0, 86, - 0, 0, 6,174, 5,214, 0, 35, 0, 0, 1, 14, 1, 35, 34, 0, 16, 0, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 16, 22, 51, 50, - 54, 55, 17, 33, 21, 33, 17, 33, 21, 33, 17, 33, 21, 33, 3,221, 79,178, 99,254,254,219, 1, 37,254,101,177, 78, 76,173, 98,192, -204,204,192, 98,173, 76, 2,196,253,211, 2, 22,253,234, 2, 58,253, 47, 1,184, 54, 54, 1, 55, 2, 28, 1, 55, 53, 54,159, 71, - 70,234,254, 68,234, 70, 71, 2, 10,128,254,181,128,254,107,128, 0, 3, 0,115,255,166, 4,190, 6, 57, 0, 39, 0, 46, 0, 52, - 0, 0, 1, 22, 23, 55, 51, 7, 22, 23, 21, 38, 39, 1, 51, 50, 54, 55, 21, 14, 1, 35, 34, 39, 7, 35, 55, 38, 39, 7, 35, 55, - 38, 39, 38, 17, 16, 55, 54, 37, 55, 51, 7, 6, 7, 6, 17, 20, 23, 1, 38, 39, 1, 22, 23, 3,104, 65, 62, 30,155, 47, 40, 37, - 58, 64,254,193, 18,119,211, 93, 97,216,121, 27, 26, 18,155, 25, 65, 57, 38,155, 65, 19, 17,178,178,160, 1, 8, 21,156,227,145, - 88,125, 82, 2, 52, 62, 67,254,193, 53, 65, 5,235, 8, 19,105,165, 22, 28,213, 60, 41,251,151, 94, 95,211, 72, 72, 2, 63, 87, - 18, 30,135,230, 18, 21,207, 1,103, 1,104,208,185, 20, 75,252, 31,112,157,254,216,238,148, 3,203, 19, 4,251,149, 40, 21, 0, - 0, 1, 0, 96,255,228, 4,179, 5,240, 0, 44, 0, 0, 37, 54, 55, 54, 55, 21, 14, 1, 35, 32, 0, 17, 16, 0, 33, 50, 22, 23, - 21, 46, 1, 35, 34, 2, 17, 16, 23, 22, 23, 17, 51, 21, 62, 1, 51, 50, 22, 31, 1, 46, 1, 35, 34, 6, 21, 3, 46, 97, 88,106, - 93, 97,217,121,254,202,254,155, 1,101, 1, 54,123,217, 95, 93,212,119,234,249,124, 94,153,152, 48,154,110, 15, 38, 23, 1, 26, - 60, 36,128,139,138, 7, 39, 47, 95,211, 72, 71, 1,158, 1,103, 1,104, 1,159, 71, 71,213, 95, 94,254,199,254,216,254,217,156, -117, 30, 3, 93,157, 92, 89, 4, 5,170, 16, 15,182,171, 0, 0, 0, 1, 0,133, 0, 0, 4,203, 5,213, 0, 17, 0, 0, 1, 17, - 33, 21, 33, 17, 33, 21, 33, 17, 51, 21, 35, 17, 35, 17, 35, 53, 1,113, 3, 90,253,112, 2, 80,253,176,250,250,202,236, 1,126, - 4, 87,170,254, 72,170,254,181, 69,254,199, 1, 57, 69, 0, 0, 0, 1, 0,129, 0, 0, 4, 98, 5,240, 0, 35, 0, 0, 1, 17, - 33, 21, 33, 53, 51, 17, 35, 53, 51, 53, 35, 53, 51, 53, 16, 54, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 29, 1, 33, 21, 33, 21, - 33, 21, 2, 53, 2, 45,252, 31,236,191,191,199,199,214,232, 61,151, 79, 76,136, 61,148,116, 1,135,254,121, 1,143, 1,236,254, -190,170,170, 1, 66,143,143,143, 95, 1, 5,243, 31, 29,182, 41, 41,155,212, 72,143,143,143, 0, 0, 1, 0,186,255,189, 7, 29, - 4,171, 0, 42, 0, 0, 1, 22, 23, 62, 1, 51, 50, 22, 21, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 52, 39, 1, 35, 1, - 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 23, 55, 51, 3,204, 61, 32, 69,192,130,175,190,185,114,117,143,166,185, - 14,254,240,128, 1, 59, 53, 81,141,166,185,185, 63,176,121, 74, 60, 22,128, 4, 33, 59, 93,124,118,245,226,253, 92, 2,158,161, -156,190,164,253,135, 2,158, 82, 60,252,145, 3,250, 36,191,163,253,135, 4, 96,174,103, 98, 23, 71, 0, 0, 0, 0, 5, 0,117, - 0, 0, 5,135, 5,213, 0, 2, 0, 6, 0, 34, 0, 38, 0, 41, 0, 0, 1, 39, 21, 19, 39, 35, 21, 3, 33, 19, 51, 17, 51, 17, - 51, 21, 35, 21, 51, 21, 35, 17, 33, 3, 35, 17, 35, 17, 35, 53, 51, 53, 35, 53, 51, 5, 23, 51, 53, 3, 23, 53, 2, 75, 79,182, - 56,126,196, 1, 16,211,229,196,195,195,195,195,254,240,211,229,196,195,195,195,195, 2, 18, 56,126, 79, 79, 3,175,206,206,254, -242,147,147, 3, 52,253,218, 2, 38,253,218,123,147,123,253,218, 2, 38,253,218, 2, 38,123,147,123,123,147,147,254,242,206,206, - 0, 2, 0,201,255,227, 9,206, 5,213, 0, 8, 0, 80, 0, 0, 1, 17, 51, 50, 54, 53, 52, 38, 35, 1, 6, 7, 6, 43, 1, 17, - 35, 17, 33, 50, 23, 22, 23, 51, 17, 51, 17, 33, 21, 33, 17, 20, 22, 59, 1, 53, 30, 1, 51, 50, 54, 53, 52, 38, 47, 1, 46, 1, - 53, 52, 54, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 21, 20, 22, 31, 1, 30, 1, 21, 20, 6, 35, 34, 38, 39, 53, 35, 34, 38, 53, - 17, 1,135,239,133,145,145,133, 1,221, 6,113,122,236,239,190, 1,173,236,122, 87, 24, 81,174, 1,101,254,155, 71,108,171, 96, -187, 91,122,132, 95,161, 60,161,143,211,194, 96,169, 72, 74,158, 85,129,129, 93,139, 59,185,155,233,203, 85,183,102,171,201,152, - 5, 47,253,207,146,135,134,146,254,204,200,106,113,253,168, 5,213,113, 82,136, 1, 62,254,194,143,253,160,137, 78, 35, 53, 53, - 89, 81, 75, 80, 37, 15, 36,149,130,158,172, 30, 30,174, 40, 40, 84, 84, 64, 73, 33, 14, 42,153,137,156,182, 35, 35, 1,159,210, - 2, 96, 0, 0, 0, 2, 0,201,255,227, 8, 51, 5,213, 0, 7, 0, 69, 0, 0, 1, 17, 51, 50, 54, 16, 38, 35, 1, 23, 35, 3, - 46, 1, 43, 1, 17, 35, 17, 33, 32, 22, 21, 20, 6, 7, 30, 1, 31, 1, 22, 23, 22, 51, 50, 54, 53, 52, 38, 47, 1, 46, 1, 53, - 52, 54, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 21, 20, 22, 31, 1, 30, 1, 21, 20, 6, 35, 34, 39, 38, 1,147,254,146,149,149, -146, 2,191, 4,217,191, 74,139,120,220,202, 1,200, 1, 0,252,131,125, 65,123, 62, 91, 98, 96, 99, 97,130,140,101,171, 64,171, -152,224,206,102,180, 76, 78,168, 90,137,137, 98,148, 63,196,165,247,216, 90, 97, 44, 5, 47,253,238,135, 1, 6,133,250,216, 7, - 1,127,150, 98,253,137, 5,213,214,216,141,186, 36, 22,144,126,180, 51, 25, 27, 89, 81, 75, 80, 37, 15, 36,149,130,158,172, 30, - 30,174, 40, 40, 84, 84, 64, 73, 33, 14, 42,153,137,156,182, 18, 8, 0, 0, 0, 0, 6, 0, 59, 0, 0, 7,174, 5,213, 0, 31, - 0, 34, 0, 38, 0, 41, 0, 45, 0, 49, 0, 0, 19, 39, 35, 53, 51, 39, 51, 23, 33, 55, 51, 23, 33, 55, 51, 7, 51, 21, 35, 7, - 51, 21, 35, 3, 35, 3, 35, 3, 35, 3, 35, 53, 5, 27, 1, 1, 23, 33, 55, 1, 27, 2, 7, 51, 39, 33, 23, 33, 55,182, 30, 93, - 58, 49,204, 48, 2, 19, 48,227, 48, 2, 19, 48,205, 49, 57, 93, 29,122,158,225,254,218,195,220,254,224,159, 4,192,165,165,254, -117, 29, 1,145, 29,251, 32,165,165,229, 29,125, 28,253, 76, 29, 1,145, 29, 4, 15,117,143,194,194,194,194,194,194,143,117,143, -252,128, 3,128,252,128, 3,128,143,143,253,103, 2,153, 1, 4,117,117,254,252,253,103, 2,153, 1, 4,117,117,117,117, 0, 0, - 0, 2, 0, 95,255,227, 5,241, 5,213, 0, 13, 0, 27, 0, 0, 19, 37, 32, 0, 25, 1, 35, 17, 52, 38, 35, 33, 17, 35, 41, 1, - 34, 0, 25, 1, 51, 17, 20, 22, 51, 33, 3, 51, 95, 2, 7, 0,255, 1, 6,184,157,176,254,177,184, 5,142,253,253,255,254,250, -184,157,176, 1, 83, 4,184, 5,210, 3,254,214,254,220,254,145, 1, 86,240,211,250,178, 1, 42, 1, 36, 1,111,254,170,240,211, - 5, 78, 0, 0,255,255, 0,129,254,192, 5, 4, 6, 20, 18, 34, 0,211, 16, 0, 16, 3, 2, 38, 0,138, 0, 0, 0, 1, 0, 0, -255,227, 4,143, 5,240, 0, 49, 1, 28, 64, 58, 32, 18,211, 34, 16, 43, 7,211, 9, 25,161, 26,174, 22,149, 29, 1,161, 0,174, - 4,149, 47,145, 29,140, 41, 9, 50, 43, 34, 33, 41, 35, 38, 18, 16, 10, 3, 13, 9, 17, 8, 44, 32, 38, 19, 7, 17, 8, 17, 13, - 28, 25, 0, 38, 42, 33, 47, 60,212,196, 50,252,196,196, 18, 57, 57, 18, 57, 57, 17, 18, 57, 17, 23, 57, 18, 57, 57, 17, 57, 57, - 49, 0, 16,196, 50,228,244,236,244,236, 16,238,246,238, 16,238, 50,221, 60,238, 50, 48, 1, 75,176, 9, 84, 75,176, 12, 84, 91, - 75,176, 13, 84, 91, 75,176, 15, 84, 91, 75,176, 23, 84, 91, 75,176, 24, 84, 91, 88,189, 0, 50,255,192, 0, 1, 0, 50, 0, 50, - 0, 64, 56, 17, 55, 56, 89, 64,122, 14, 0, 14, 1, 11, 2, 11, 49, 84, 20,105, 12,108, 14,110, 15,111, 16,111, 17,111, 18,111, - 19,105, 20,107, 31,111, 32,111, 33,111, 34,111, 35,110, 36,108, 37,105, 39,105, 45,159, 7,159, 8,159, 9,159, 10,159, 11,159, - 12,159, 13,159, 14,159, 15,159, 16,159, 17,159, 18,159, 19,150, 31,159, 32,159, 33,159, 34,159, 35,159, 36,159, 37,159, 38,159, - 39,159, 40,159, 41,159, 42,159, 43,159, 44,157, 45, 50, 0, 8, 0, 9, 16, 8, 16, 9, 32, 8, 32, 9, 85, 21, 83, 30,106, 21, -103, 31, 10, 93, 0, 93, 1, 21, 46, 1, 35, 34, 6, 7, 33, 7, 33, 14, 1, 21, 20, 22, 23, 33, 7, 33, 30, 1, 51, 50, 54, 55, - 21, 14, 1, 35, 34, 0, 3, 35, 55, 51, 52, 38, 53, 52, 54, 53, 35, 55, 51, 18, 0, 51, 50, 22, 4,143, 91,169,102,157,202, 32, - 2, 65, 55,253,230, 2, 1, 1, 2, 1,190, 56,254,138, 32,202,157,102,169, 91, 89,185, 96,237,254,203, 40,211, 55,139, 1, 1, -194, 55,156, 40, 1, 54,236, 98,185, 5, 98,213,105, 90,200,187,123, 24, 46, 35, 32, 46, 24,123,187,202, 90,105,211, 72, 72, 1, - 34, 1, 3,123, 23, 47, 32, 35, 47, 23,123, 1, 1, 1, 34, 71, 0, 1, 0, 40, 0, 0, 5, 22, 5,213, 0, 17, 0, 0, 19, 17, - 51, 17, 1, 51, 1, 33, 21, 33, 1, 35, 1, 17, 35, 17, 35, 53,191,189, 2,117,243,253,128, 1,170,254, 88, 2,176,249,253, 95, -189,151, 3, 84, 2,129,253,137, 2,119,253,127,115,253, 31, 2,207,253, 49, 2,225,115, 0, 0, 0, 1, 0, 20, 0, 0, 5, 3, - 5,213, 0, 23, 0, 0, 1, 17, 33, 53, 33, 21, 33, 17, 55, 23, 5, 21, 55, 23, 5, 17, 35, 17, 7, 39, 37, 53, 7, 39, 2, 38, -253,238, 4,239,253,238,229, 80,254,203,230, 80,254,202,203,231, 77, 1, 52,232, 77, 3,141, 1,158,170,170,254,241,161,111,216, -136,162,111,217,253,184, 1,186,161,110,217,136,162,110, 0, 0, 0, 4, 0, 27,254,117, 8, 90, 5,200, 0, 23, 0, 35, 0, 48, - 0, 59, 0, 0, 51, 55, 51, 54, 55, 19, 34, 6, 29, 1, 7, 16, 55, 54, 33, 51, 50, 0, 21, 16, 3, 6, 4, 33, 55, 51, 32, 0, - 17, 52, 38, 43, 1, 3, 2, 6, 1, 19, 26, 1, 51, 32, 17, 16, 0, 35, 34, 39, 3, 19, 22, 51, 50, 18, 53, 52, 35, 34, 3, 7, - 28,148, 56,116, 42,172,130,150,194,160,160, 1,138, 64,226, 1, 4,238,124,254,172,254,212, 48,118, 1, 24, 1, 68,150,128, 80, -134, 52, 74, 2,140,160, 74,230,192, 1, 72,254,178,224, 52, 92, 86,124, 74, 74,132,176,150,156, 68, 26,160, 82,211, 3, 95,166, -145, 24, 94, 1, 17,159,161,254,234,241,254,119,254,218,152,122,160, 1,168, 1,110,174,208,253, 88,254,255,161,253,139, 3, 44, - 1,115, 1, 66,254,165,254,206,254, 55, 35,254, 82, 2,109, 78, 1, 67,246,245,254,185,130, 0, 0, 4, 0, 68, 0, 0, 4,162, - 5,213, 0, 29, 0, 36, 0, 43, 0, 49, 0, 0, 19, 53, 35, 53, 51, 17, 33, 50, 23, 22, 23, 51, 21, 35, 22, 20, 7, 51, 21, 35, - 6, 7, 6, 43, 1, 17, 35, 17, 35, 53, 5, 33, 21, 51, 50, 55, 54, 1, 33, 38, 39, 38, 43, 1, 5, 33, 21, 33, 54, 52,151, 82, - 82, 1,200,251,129, 76, 31, 92, 72, 1, 1, 71, 90, 31, 77,129,251,254,202, 83, 3, 28,254, 1,254,141, 77, 23,254, 17, 1,255, - 16, 23, 77,141,254, 2, 35,253,221, 2, 35, 2, 3,236, 86,116, 1, 31,113, 68,106,116, 21, 44, 21,116,107, 68,113,253,168, 3, -120,116,116,122, 73, 22, 1, 89, 27, 21, 73,237, 86, 21, 44, 0, 0, 1, 0,117,255,227, 5,188, 5,240, 0, 54, 0, 0, 1, 54, - 55, 54, 55, 33, 53, 33, 54, 55, 54, 53, 52, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 4, 21, 20, 7, 51, 21, 33, 6, 15, 1, 33, - 21, 33, 6, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 32, 36, 53, 52, 55, 35, 53, 1, 92, 4, 22, 74,128,254, 53, 3,146, 12, - 13, 59,179,165, 95,204,115,114,218,105,245, 1, 23, 25,175,254,253,103,216, 67, 2,133,252, 83, 49,188,173,114,236,123,128,239, -106,254,231,254,221, 18,168, 2,161, 7, 22, 74, 44,123, 8, 9, 43,107,118,128, 54, 55,197, 38, 38,228,198, 85, 66,123, 92, 42, - 13,123, 59, 94,126,136, 70, 69,208, 47, 48,224,217, 75, 63,123, 0, 2, 0,170,254,211, 4,119, 6, 20, 0, 33, 0, 44, 0, 0, - 1, 21, 38, 39, 38, 35, 17, 50, 55, 54, 55, 21, 6, 7, 6, 7, 17, 35, 17, 38, 39, 38, 17, 53, 16, 55, 54, 55, 53, 55, 21, 22, - 23, 22, 1, 3, 6, 7, 6, 7, 6, 23, 22, 23, 22, 4,119, 91, 84, 85,101,101, 85, 84, 91, 89, 92, 89, 91,100,185,115,212,212, -121,178,101, 93, 89, 92,254,138, 1, 91, 67,118, 15, 14, 14, 25,108, 67, 4,164,213,105, 45, 45,251,241, 45, 45,105,211, 72, 36, - 34, 2,254,240, 1, 21, 23,117,214, 1, 57, 17, 1, 66,203,116, 23,230, 2,226, 2, 34, 35,251,163, 3,249, 23, 66,117,170,161, -102,180,108, 67, 0, 1,252, 61, 4,122,255,203, 6, 20, 0, 8, 0, 0, 3, 33, 23, 35, 39, 55, 51, 7, 33, 53,253, 27,132,126, -175,175,126,132, 2,229, 5, 21,155,205,205,155, 0, 1,252, 61, 4,122,255,203, 6, 20, 0, 8, 0, 0, 1, 53, 33, 39, 51, 23, - 7, 35, 55,252, 61, 2,229,132,126,175,175,126,132, 5, 21,100,155,205,205,155, 0, 4, 0, 67,255,207, 7,216, 6, 4, 0, 10, - 0, 36, 0, 40, 0, 66, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 61, 1, 55, 17, 35, 53, 14, 1, 35, 34, 38, 53, 52, 54, 51, - 23, 52, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 37, 51, 1, 35, 1, 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, 2, 15,160,112, 83, 72,102,127,188,188, 3,153,109,141,166,205,198,169,111,103, 68, -129, 99, 92,148, 71,194,193, 2,176,216,252, 68,216, 5,169, 94,111, 56,121,137,137,121, 56,111, 94, 73,130, 73,202,236,238,209, - 67,128, 3,246, 66, 82, 67, 73,148,130, 10, 77,254, 13, 62, 5, 79,158,129,150,155, 6, 87, 92, 32, 55,178, 36, 30,202,250,249, -203, 3,132,178, 52, 30,156,148,147,157, 31, 52,177, 34, 27,250,209,212,249, 27,255,255, 0,195,255,240, 8,140, 5,240, 16, 38, - 0,114, 0, 0, 16, 71, 0, 38, 3, 70, 0, 12, 65,117, 62, 82, 0, 2,255,214, 0, 0, 5, 24, 5,213, 0, 8, 0, 43, 0,153, -184, 0, 44, 47,184, 0, 45, 47,184, 0, 21,220,184, 0, 0,220,184, 0, 44, 16,184, 0, 40,208,184, 0, 40, 47,184, 0, 4,220, - 65, 27, 0, 22, 0, 4, 0, 38, 0, 4, 0, 54, 0, 4, 0, 70, 0, 4, 0, 86, 0, 4, 0,102, 0, 4, 0,118, 0, 4, 0,134, - 0, 4, 0,150, 0, 4, 0,166, 0, 4, 0,182, 0, 4, 0,198, 0, 4, 0,214, 0, 4, 0, 13, 93, 65, 5, 0,229, 0, 4, 0, -245, 0, 4, 0, 2, 93,184, 0, 0, 16,184, 0, 9,208,184, 0, 21, 16,184, 0, 11,208,184, 0, 21, 16,184, 0, 31,208,184, 0, - 0, 16,184, 0, 35,208, 0,184, 0, 10, 47,186, 0, 33, 0, 34, 0, 3, 43,184, 0, 33, 16, 48, 49, 1, 6, 7, 6, 21, 20, 23, - 22, 23, 17, 53, 51, 21, 22, 23, 22, 23, 21, 38, 39, 38, 39, 17, 54, 55, 54, 55, 21, 6, 7, 6, 7, 21, 33, 21, 33, 53, 38, 39, - 38, 17, 16, 55, 54, 1,119, 73, 51, 99, 99, 51, 73,202, 56, 54, 81, 76, 78, 78, 55, 56, 56, 55, 78, 78, 77, 82, 52, 56, 2,215, -252, 95,161,107,149,151,105, 4,179, 29, 58,114,205,205,113, 59, 29, 3,212,122,110, 4, 11, 18, 35,172, 43, 22, 15, 4,252,164, - 4, 16, 21, 43,170, 36, 18, 11, 4, 42,170,222, 32,114,159, 1, 14, 1, 18,157,110, 0, 0, 0, 0, 4, 0, 60,255,207, 7,229, - 6, 4, 0, 25, 0, 29, 0, 40, 0, 50, 0, 0, 1, 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, 37, 51, 1, 35, 1, 34, 6, 21, 20, 22, 51, 50, 54, 16, 38, 36, 32, 22, 21, 20, 6, 32, 38, 53, 52, 3, - 6, 94,111, 56,121,137,137,121, 56,111, 94, 73,130, 73,202,236,238,209, 67,128, 2,221,216,252, 68,216, 4,107, 97,118,118, 97, - 96,119,119,254,223, 1,130,218,218,254,126,217, 5,151,178, 52, 30,156,148,147,157, 31, 52,177, 34, 29,252,209,212,249, 27, 75, -249,203, 3, 4,158,146,145,159,160, 1, 32,160,157,248,213,212,248,248,212,213, 0, 3, 0, 60,255,207, 8, 77, 6, 4, 0, 19, - 0, 45, 0, 49, 0, 0, 1, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 38, 1, 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, 37, 51, 1, 35, 5, 92,188, 81, 80, 99,117,188, -188, 6,144, 96,158,161,253,170, 94,111, 56,121,137,137,121, 56,111, 94, 73,130, 73,202,236,238,209, 67,128, 2,221,216,252, 68, -216, 1, 76, 2, 16,253,245,114,105,129,117, 1,240,252,144, 68, 9, 80,193, 4,255,178, 52, 30,156,148,147,157, 31, 52,177, 34, - 29,252,209,212,249, 27, 75,249,203, 0, 0, 0,255,255, 0,195, 0, 0, 7, 38, 5,240, 16, 34, 0,114, 0, 0, 16, 3, 0, 41, - 3, 3, 0, 0, 0, 1, 0, 72, 0, 0, 4,135, 6, 20, 0, 25, 0, 0, 1, 3, 35, 19, 62, 1, 53, 52, 38, 35, 34, 6, 7, 3, - 35, 1, 51, 3, 62, 1, 51, 50, 22, 21, 20, 6, 4,117,131,185,131, 9, 10,106, 95,148,217, 32,121,184, 1, 47,184,119, 70,218, -120,148,163, 9, 2,164,253, 92, 2,157, 47, 72, 21, 84, 94,200,166,253,147, 6, 20,253,156, 94,109,160,145, 36, 82, 0, 0, 0, - 0, 1, 0, 34, 0, 0, 4, 98, 6, 20, 0, 29, 0, 0, 1, 54, 55, 54, 51, 50, 23, 22, 7, 3, 35, 19, 54, 38, 35, 34, 6, 7, - 3, 35, 19, 35, 55, 51, 55, 51, 7, 33, 7, 33, 1,148, 85, 99,100,117,193, 76, 75, 45,131,184,130, 31, 93,124,149,209, 32,123, -185,249,154, 25,154, 28,185, 28, 2, 64, 25,253,192, 3,178,101, 50, 50,119,120,232,253, 92, 2,158,159,158,190,164,253,135, 5, - 4,125,147,147,125, 0, 0, 0, 0, 2, 0,106,255,227, 5, 70, 5,240, 0, 33, 0, 50, 0, 0, 63, 1, 54, 51, 50, 23, 22, 51, - 50, 55, 54, 53, 52, 39, 38, 53, 52, 63, 1, 6, 21, 20, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 35, 34, 19, 54, 51, 50, 23, 22, - 51, 50, 55, 7, 6, 35, 34, 38, 35, 34, 7,106,140,111,117, 57,132,144, 33,121,100, 71, 62, 80, 80,213, 80, 80, 53,202,186,242, - 54,129,133, 56, 94,110,109,141,123,127,122,128,125,125,200,139,111,143,214,143,122,128, 90,165, 39, 80, 86,137, 97, 75,126,112, -146,109,100,160,140,139,121,107,148, 98,188, 94,242,222, 79, 80, 5, 54, 56, 49, 47, 58,170, 58, 98, 58, 0, 0, 0, 2,255,228, -255,227, 2,210, 5,240, 0, 28, 0, 38, 0, 0, 1, 22, 51, 50, 55, 51, 6, 7, 6, 35, 34, 39, 7, 35, 54, 55, 38, 53, 52, 55, - 18, 55, 54, 51, 50, 21, 6, 7, 2, 1, 18, 19, 54, 53, 52, 35, 6, 3, 6, 1, 48, 41, 87, 58, 75,133, 60, 70, 76, 70,156, 63, - 75,156,108, 80, 10, 31,117,104, 72,123,125, 1, 18, 72,254,184,187, 57, 30, 25,109, 97, 27, 1, 12,200,115,102, 53, 57,139,110, -147,137, 78, 85,152,152, 2, 59,117, 81,173, 78, 93,254,131,254,247, 1, 92, 1, 22,147, 38, 69, 87,253,250,145,255,255, 0,201, - 0, 0, 8,240, 5,240, 16, 39, 0,124, 5,140, 0, 0, 16, 6, 0, 49, 0, 0, 0, 4, 1, 27, 0, 0, 6,229, 5,202, 0, 12, - 0, 25, 0, 34, 0, 45, 0, 0, 1, 22, 17, 16, 0, 33, 32, 0, 3, 16, 0, 33, 32, 6, 33, 32, 0, 17, 18, 0, 33, 32, 0, 17, - 16, 39, 5, 17, 51, 50, 54, 53, 52, 38, 35, 37, 33, 50, 22, 21, 20, 6, 43, 1, 17, 35, 6, 11,218,254, 74,254,209,254,207,254, - 82, 6, 1,180, 1, 49, 1, 50, 41,254,247,254,250,254,134, 5, 1,117, 1, 6, 1, 7, 1,121,187,253,211,178, 99,107,107, 99, -254,193, 1, 63,176,180,180,176,178,141, 4,241,219,254,206,254,208,254, 76, 1,180, 1, 48, 1, 48, 1,182,101,254,133,254,249, -254,251,254,135, 1,121, 1, 5, 1, 9,187,119,254,175, 88, 81, 80, 88,100,137,131,133,135,254,152, 0, 0, 0, 0, 2, 0,110, -254, 59, 5, 67, 3,246, 0, 48, 0, 60, 0, 0, 1, 6, 21, 20, 23, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 35, 34, 39, 54, - 55, 22, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 1, 18, 21, 20, 7, 6, 35, 34, 39, 38, 53, 16, 55, 38, 53, 52, 55, 3, 6, 21, - 20, 23, 22, 23, 50, 55, 54, 53, 52, 2, 53,136, 31, 91,171,219,132,131, 70, 73,156,121,174,101, 76, 18, 9, 41,113,122, 93, 69, - 38, 32, 74,189,254,159,135, 69, 89,131,113, 58, 63,223, 46,232,148,129, 31, 48, 46, 65, 28, 32, 3,198,130,190, 77,107,101,148, -189, 76, 80,171,218,215,167, 60, 43, 29, 40,140,104,195,124, 72, 61,254,121,254,222,124,157,110,142, 61, 66,134, 1, 11,252,158, -127,238,164,252,239,198,123,117, 46, 70, 1, 47, 52, 95, 78, 0, 0, 2, 0, 83,255,227, 6,108, 5,241, 0, 73, 0, 88, 0, 0, - 5, 38, 53, 52, 39, 38, 35, 34, 15, 1, 21, 20, 7, 6, 35, 34, 39, 38, 53, 22, 23, 20, 23, 22, 50, 55, 54, 53, 17, 52, 39, 38, - 35, 34, 7, 6, 20, 23, 22, 51, 23, 34, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 23, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 7, - 50, 23, 22, 23, 22, 21, 20, 23, 55, 23, 1, 22, 21, 17, 55, 54, 55, 54, 53, 52, 39, 38, 35, 34, 7, 5, 2, 82, 22, 40, 79, 42, - 92,120,103,103,140,141,102,103, 45, 46, 64, 64,144, 63, 64, 64, 63, 92, 81, 65, 64, 64, 64, 83, 54,151,102,103,103,102,151,162, -101, 30, 16,211,187,112, 47, 36,126, 65, 66,125, 58, 49, 36, 27, 32, 45,144, 42,252,164, 21,154,144, 77, 74, 74, 24, 31, 64,102, - 29,183,159,140, 91,166, 43, 56,199,206,118,117,117,118,176, 12, 12,122, 86, 87, 87, 87,150, 2,155,149, 88, 87, 87, 86,202, 86, - 87, 92,117,118,156,157,117,117,117, 35, 32, 98, 87, 14, 49,177, 87,123,124, 94, 49, 36,104,123,131,128,118, 67, 91, 4, 83, 75, - 92,254,149, 71, 67,104,102,121,151, 32, 10, 47, 0, 5, 0,118, 0, 0, 5,225, 5,213, 0, 7, 0, 27, 0, 31, 0, 39, 0, 48, - 0, 0, 1, 22, 23, 19, 51, 3, 38, 39, 32, 43, 1, 17, 33, 17, 33, 32, 22, 21, 20, 6, 7, 30, 1, 23, 19, 33, 3, 38, 1, 17, - 51, 17, 1, 17, 38, 35, 33, 17, 33, 50, 55, 54, 55, 54, 53, 52, 39, 38, 39, 3, 46, 78,102,142,200,142, 96, 90,254,164,120, 20, -254,110, 2,168, 1, 0,252,132,124, 64,124, 62,204,254, 72,190, 74,253,186,198, 1,238, 34, 38,254,194, 1, 62, 38,138, 58, 40, - 94, 94, 38, 60, 2,119, 47,201,254,229, 1, 27,192, 56,253,137, 5,213,214,216,141,186, 36, 22,144,126,254,104, 1,127,150, 3, - 92,250,243, 5, 13,253,110, 2,142, 4,253,106, 27, 21, 37, 84,164,158, 88, 36, 20, 0, 0, 0, 0, 2, 0,169, 0, 0, 6,131, - 5,213, 0, 8, 0, 31, 0,167,184, 0, 32, 47,184, 0, 33, 47,184, 0, 32, 16,184, 0, 14,208,184, 0, 14, 47,184, 0, 13,220, -184, 0, 0,208,184, 0, 33, 16,184, 0, 19,220,184, 0, 5,220, 65, 5, 0,234, 0, 5, 0,250, 0, 5, 0, 2, 93, 65, 27, 0, - 25, 0, 5, 0, 41, 0, 5, 0, 57, 0, 5, 0, 73, 0, 5, 0, 89, 0, 5, 0,105, 0, 5, 0,121, 0, 5, 0,137, 0, 5, 0, -153, 0, 5, 0,169, 0, 5, 0,185, 0, 5, 0,201, 0, 5, 0,217, 0, 5, 0, 13, 93,184, 0, 9,208,184, 0, 9, 47,186, 0, - 30, 0, 14, 0, 19, 17, 18, 57, 0,184, 0, 13, 47,184, 0, 26, 47,184, 0, 29, 47,186, 0, 15, 0, 0, 0, 3, 43,184, 0, 15, - 16,186, 0, 2, 0, 11, 0, 3, 43,184, 0, 2, 16, 48, 49, 1, 17, 51, 50, 54, 53, 52, 38, 35, 1, 6, 43, 1, 17, 35, 17, 33, - 50, 4, 21, 20, 7, 23, 55, 51, 9, 1, 35, 11, 1, 35, 1, 1,115,254,141,154,154,141, 1, 32,115,173,254,202, 1,200,251, 1, - 1, 78,174,190,232,254,205, 1, 67,233,207,212,232, 1, 73, 5, 47,253,207,146,135,134,146,253, 95, 54,253,168, 5,213,227,219, -172,107,219,234,254,134,254,107, 1, 4,254,252, 1,149, 0, 0, 0, 2, 1, 3, 3,139, 6, 40, 5,216, 0, 39, 0, 52, 0, 0, - 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, 55, 51, 27, 1, 51, 17, 35, 17, 3, 35, 3, 17, 35, 2,230, 85, 87, 39, 65, 71, 47, 69, 56,112, -105,144,140, 52,115, 71, 91,100, 47, 69, 75, 55, 63, 56,112, 99,138,124, 51,105,208,184,161,162,184,138,140,135,141,137, 5,183, - 89, 34, 19, 42, 47, 40, 32, 11, 9, 18, 86, 65, 79, 91, 19, 21, 96, 42, 24, 44, 50, 44, 42, 10, 9, 18, 77, 61, 72, 92, 15, 5, -254,172, 1, 84,253,200, 1,148,254,216, 1, 40,254,108, 0, 0, 0, 3,255,252, 0, 0, 8, 48, 4, 96, 0, 7, 0, 19, 0, 25, - 0, 0, 3, 33, 21, 33, 17, 35, 17, 33, 5, 33, 21, 33, 17, 33, 21, 33, 17, 33, 21, 33, 1, 51, 17, 33, 21, 33, 4, 3,179,254, -114,152,254,115, 2,224, 2,111,254, 22, 1,213,254, 43, 1,246,253,133, 2,239,133, 1,224,253,155, 4, 96,128,252, 32, 3,224, - 96,102,254,247,102,254,187,102, 3,128,252,230,102, 0, 0, 0, 0, 2, 1, 39, 3,147, 6, 70, 5,213, 0, 12, 0, 20, 0, 62, - 64, 33, 1, 6, 7, 16, 10, 4, 18, 14, 9, 3, 6,201, 13, 2, 0,129, 21, 1, 9, 5, 98, 3, 9, 98, 11, 13, 99, 15, 98, 19, - 99, 17, 21, 16,212,228,252,228,212,236,212,236, 17, 57, 49, 0, 16,244, 60, 60,236, 23, 50,212, 60, 60,196, 17, 57, 48, 1, 27, - 1, 51, 17, 35, 17, 3, 35, 3, 17, 35, 17, 35, 21, 35, 17, 35, 17, 35, 53, 4, 74,174,164,170,113,195, 55,203,114,113,203,114, -201, 5,213,255, 0, 1, 0,253,190, 1,228,254,209, 1, 47,254, 28, 2, 66, 94,254, 28, 1,228, 94, 0, 0, 0,255,255, 0, 78, - 0, 0, 5,207, 5,231, 16, 6, 2,199, 0, 0, 0, 1, 0, 78,255,227, 5,207, 5,202, 0, 30, 0, 0, 1, 53, 33, 21, 22, 18, - 21, 20, 0, 32, 0, 53, 52, 18, 55, 53, 33, 21, 33, 6, 2, 21, 16, 0, 33, 32, 0, 17, 52, 2, 39, 5,207,253,168,177,198,254, -248,254, 80,254,247,199,178,253,168, 1, 63,158,145, 1,127, 1, 49, 1, 47, 1,129,142,161, 5, 24,178,178, 97,254,180,202,240, -254,222, 1, 35,239,202, 1, 76, 97,178,178,139,254,214,184,254,194,254,118, 1,137, 1, 53,194, 1, 40,141, 0,255,255, 0,201, - 0, 0, 5,106, 5,213, 16, 6, 0, 46, 0, 0,255,255, 0, 16, 0, 0, 5,104, 7,109, 16, 6, 0,135, 0, 0, 0, 2, 0,125, -255,231, 6, 89, 5, 45, 0, 26, 0, 41, 0, 0, 37, 22, 23, 22, 32, 55, 54, 55, 51, 6, 7, 6, 32, 36, 2, 53, 52, 18, 36, 51, - 50, 4, 18, 21, 33, 34, 21, 53, 20, 51, 33, 50, 53, 17, 38, 39, 38, 35, 34, 7, 6, 7, 1,144, 67, 93,150, 1, 74,152,106, 77, -111, 95,142,179,254,122,254,155,198,201, 1,103,190,189, 1,103,202,251, 74, 19, 19, 3,144, 20, 70, 95,152,159,160,152, 95, 68, -228, 77, 51, 84, 84, 60, 96,120, 71, 90,179, 1, 65,175,176, 1, 69,174,174,254,187,176, 19, 73, 19, 19, 1,112, 80, 51, 82, 81, - 52, 79, 0, 0, 0, 1, 0,201, 0, 0, 4, 35, 5,213, 0, 9, 0, 0, 41, 1, 53, 33, 17, 33, 53, 33, 17, 51, 4, 35,252,166, - 2,144,253,176, 2, 80,202,170, 1,184,170, 2,201, 0, 0, 0, 0, 2, 0,104,255,231, 3, 74, 3, 41, 0, 11, 0, 23, 0, 0, - 1, 52, 38, 35, 34, 2, 21, 20, 22, 51, 50, 18, 3, 50, 22, 21, 20, 2, 35, 34, 38, 53, 52, 18, 2,169, 87, 79,109,141, 86, 80, -109,141,194,152,203,221,162,152,203,221, 1,247,116,125,254,254,207,116,123, 1, 4, 1,253,216,163,198,254,255,216,163,198, 1, - 1, 0, 0, 0, 0, 1, 0,103,255,227, 5,178, 5,240, 0, 54, 0, 0, 9, 1, 22, 21, 20, 7, 52, 39, 1, 7, 6, 31, 1, 22, - 21, 20, 7, 6, 43, 1, 53, 54, 53, 52, 47, 1, 38, 53, 52, 63, 1, 39, 38, 53, 52, 55, 20, 23, 9, 1, 39, 38, 53, 52, 55, 20, - 31, 1, 22, 21, 20, 7, 52, 47, 1, 3,196, 1,139, 99,144, 50,252,251,155, 62, 66,172,100, 61, 86, 69,245,196, 47, 98, 53,140, -154,241, 99,144, 50, 2,108, 1, 25,116, 99,144, 50,182, 99,144, 50, 18, 2,208,254,117, 99, 49,130, 76, 83, 50, 3, 5,156, 63, - 66,172,100,106,108, 44, 62, 56, 63, 93, 29, 47, 99, 54,103, 85,141,155,241, 99, 49,130, 76, 83, 50,253,150, 1, 25,116, 99, 49, -130, 76, 83, 50,182, 99, 49,130, 76, 83, 50, 18, 0, 4, 0,151, 0, 0, 9, 76, 4, 96, 0, 9, 0, 12, 0, 20, 0, 32, 0, 0, - 19, 33, 21, 33, 17, 33, 21, 33, 17, 35, 1, 3, 33, 1, 51, 1, 35, 39, 33, 7, 35, 1, 51, 27, 1, 51, 9, 1, 35, 9, 1, 35, - 1,151, 2,131,254, 20, 1,188,254, 68,151, 3,131,181, 1,106,255, 0,151, 1,119,138, 90,254, 68, 90,140, 3,214,143,245,246, -144,254,195, 1, 82,144,254,235,254,233,144, 1, 96, 4, 96,128,254,182,127,253,233, 3, 8,254, 67, 2, 53,252,128,230,230, 3, -128,254,179, 1, 77,254, 82,254, 46, 1,125,254,131, 1,222, 0, 0, 2, 0, 59,255,227, 5,184, 5,240, 0, 38, 0, 48, 0, 0, - 9, 1, 14, 1, 7, 35, 54, 18, 55, 1, 51, 23, 62, 1, 51, 50, 0, 21, 20, 6, 7, 30, 1, 21, 20, 6, 35, 34, 38, 39, 53, 30, - 1, 51, 50, 54, 53, 52, 38, 55, 62, 1, 53, 52, 38, 35, 34, 6, 7, 3,186,254, 4, 59, 66, 6,186, 12,104, 93,254,233,252,143, -104,228,131,241, 1, 50,134,134, 48, 50,222,184, 83,165, 85, 87,158, 68,105,131, 59, 50, 91, 85,212,160, 95,166, 73, 2, 64, 2, - 8, 89,203,114,132, 1, 2,126, 1, 29,147, 89, 87,254,237,215,128,225, 99, 63,125, 60,162,197, 36, 36,182, 47, 49,111, 88, 51, -103,206, 81,161, 88,146,194, 63, 64, 0, 0, 0,255,255, 0,137,255,227, 7, 88, 5,240, 16, 34, 0,123, 0, 0, 16, 39, 6, 90, - 3, 53, 0, 0, 16, 3, 0,117, 4,139,253,100,255,255, 0, 94,255,227, 7, 88, 5,240, 16, 34, 0,116, 0, 0, 16, 39, 6, 90, - 3, 53, 0, 0, 16, 3, 0,117, 4,139,253,100,255,255, 0,137,255,227, 7, 94, 5,240, 16, 34, 0,123, 0, 0, 16, 39, 6, 90, - 3, 53, 0, 0, 16, 3, 5,207, 4,139,253,100,255,255, 0, 94,255,227, 7, 94, 5,240, 16, 34, 0,116, 0, 0, 16, 39, 6, 90, - 3, 53, 0, 0, 16, 3, 5,207, 4,139,253,100,255,255, 0, 98,255,227, 7, 94, 5,240, 16, 34, 0,117, 0, 0, 16, 39, 6, 90, - 3, 53, 0, 0, 16, 3, 5,207, 4,139,253,100,255,255, 0, 63,255,227, 7, 94, 5,240, 16, 34, 5,206, 0, 0, 16, 39, 6, 90, - 3, 53, 0, 0, 16, 3, 5,207, 4,139,253,100,255,255, 0,137,255,227, 7,126, 5,240, 16, 34, 0,123, 0, 0, 16, 39, 6, 90, - 3, 53, 0, 0, 16, 3, 5,208, 4,139,253,100,255,255, 0,102,255,227, 7,126, 5,240, 16, 34, 5,207, 0, 0, 16, 39, 6, 90, - 3, 53, 0, 0, 16, 3, 5,208, 4,139,253,100,255,255, 0,137,255,227, 7,119, 5,240, 16, 34, 0,123, 0, 0, 16, 39, 6, 90, - 3, 53, 0, 0, 16, 3, 5,210, 4,139,253,100,255,255, 0, 98,255,227, 7,119, 5,240, 16, 34, 0,117, 0, 0, 16, 39, 6, 90, - 3, 53, 0, 0, 16, 3, 5,210, 4,139,253,100,255,255, 0,102,255,227, 7,119, 5,240, 16, 34, 5,207, 0, 0, 16, 39, 6, 90, - 3, 53, 0, 0, 16, 3, 5,210, 4,139,253,100,255,255, 0,108,255,227, 7,119, 5,240, 16, 34, 5,209, 0, 0, 16, 39, 6, 90, - 3, 53, 0, 0, 16, 3, 5,210, 4,139,253,100,255,255, 0,137,255,227, 6, 2, 5,240, 16, 34, 0,123, 0, 0, 16, 7, 6, 90, - 3, 53, 0, 0,255,255, 0,201, 0, 0, 1,147, 5,213, 16, 6, 0, 44, 0, 0,255,255, 0,201, 0, 0, 3, 39, 5,213, 16, 38, - 0, 44, 0, 0, 16, 7, 0, 44, 1,148, 0, 0,255,255, 0,201, 0, 0, 4,187, 5,213, 16, 38, 0, 44, 0, 0, 16, 39, 0, 44, - 1,148, 0, 0, 16, 7, 0, 44, 3, 40, 0, 0,255,255, 0,201, 0, 0, 7, 81, 5,213, 16, 38, 0, 44, 0, 0, 16, 7, 0, 57, - 1,233, 0, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 16, 6, 0, 57, 0, 0,255,255, 0, 16, 0, 0, 6,152, 5,213, 16, 38, - 0, 57, 0, 0, 16, 7, 0, 44, 5, 5, 0, 0,255,255, 0, 16, 0, 0, 8, 44, 5,213, 16, 38, 0, 57, 0, 0, 16, 39, 0, 44, - 5, 5, 0, 0, 16, 7, 0, 44, 6,153, 0, 0,255,255, 0, 16, 0, 0, 9,192, 5,213, 16, 38, 0, 57, 0, 0, 16, 39, 0, 44, - 5, 5, 0, 0, 16, 39, 0, 44, 6,153, 0, 0, 16, 7, 0, 44, 8, 45, 0, 0,255,255, 0,201, 0, 0, 7, 23, 5,213, 16, 38, - 0, 44, 0, 0, 16, 7, 0, 59, 1,220, 0, 0,255,255, 0, 61, 0, 0, 5, 59, 5,213, 16, 6, 0, 59, 0, 0,255,255, 0, 61, - 0, 0, 6,174, 5,213, 16, 38, 0, 59, 0, 0, 16, 7, 0, 44, 5, 27, 0, 0,255,255, 0, 61, 0, 0, 8, 66, 5,213, 16, 38, - 0, 59, 0, 0, 16, 39, 0, 44, 5, 27, 0, 0, 16, 7, 0, 44, 6,175, 0, 0,255,255, 0,201, 0, 0, 4,106, 5,213, 16, 6, - 0, 47, 0, 0,255,255, 0,115,255,227, 5, 39, 5,240, 16, 6, 0, 38, 0, 0,255,255, 0,201, 0, 0, 5,176, 5,213, 16, 6, - 0, 39, 0, 0,255,255, 0,201, 0, 0, 6, 31, 5,213, 16, 6, 0, 48, 0, 0,255,255, 0,193, 0, 0, 1,121, 6, 20, 16, 6, - 0, 76, 0, 0,255,255, 0,193, 0, 0, 2,233, 6, 20, 16, 38, 0, 76, 0, 0, 16, 7, 0, 76, 1,112, 0, 0,255,255, 0,193, - 0, 0, 4, 89, 6, 20, 16, 38, 0, 76, 0, 0, 16, 39, 0, 76, 1,112, 0, 0, 16, 7, 0, 76, 2,224, 0, 0,255,255, 0,193, - 0, 0, 6, 65, 6, 20, 16, 38, 0, 76, 0, 0, 16, 7, 0, 89, 1,194, 0, 0,255,255, 0, 61, 0, 0, 4,127, 4, 96, 16, 6, - 0, 89, 0, 0,255,255, 0, 61, 0, 0, 5,189, 6, 20, 16, 38, 0, 89, 0, 0, 16, 7, 0, 76, 4, 68, 0, 0,255,255, 0, 61, - 0, 0, 7, 45, 6, 20, 16, 38, 0, 89, 0, 0, 16, 39, 0, 76, 4, 68, 0, 0, 16, 7, 0, 76, 5,180, 0, 0,255,255, 0, 61, - 0, 0, 8,157, 6, 20, 16, 38, 0, 89, 0, 0, 16, 39, 0, 76, 4, 68, 0, 0, 16, 39, 0, 76, 5,180, 0, 0, 16, 7, 0, 76, - 7, 36, 0, 0,255,255, 0,193, 0, 0, 6, 74, 6, 20, 16, 38, 0, 76, 0, 0, 16, 7, 0, 91, 1,209, 0, 0,255,255, 0, 59, - 0, 0, 4,121, 4, 96, 16, 6, 0, 91, 0, 0,255,255, 0, 59, 0, 0, 5,212, 6, 20, 16, 38, 0, 91, 0, 0, 16, 7, 0, 76, - 4, 91, 0, 0,255,255, 0, 59, 0, 0, 7, 68, 6, 20, 16, 38, 0, 91, 0, 0, 16, 39, 0, 76, 4, 91, 0, 0, 16, 7, 0, 76, - 5,203, 0, 0,255,255, 0,193, 0, 0, 1,121, 6, 20, 16, 6, 0, 79, 0, 0,255,255, 0,113,255,227, 3,231, 4,123, 16, 6, - 0, 70, 0, 0,255,255, 0,113,255,227, 4, 90, 6, 20, 16, 6, 0, 71, 0, 0,255,255, 0,186, 0, 0, 7, 29, 4,123, 16, 6, - 0, 80, 0, 0, 0, 3, 0,121,255,255, 9,125, 5,213, 0, 13, 0, 22, 0, 31, 0, 0, 1, 32, 0, 17, 16, 0, 41, 1, 32, 0, - 17, 16, 0, 33, 1, 51, 32, 0, 17, 16, 0, 33, 35, 3, 17, 35, 32, 0, 17, 16, 0, 33, 6, 53, 1,178, 1,150,254,104,254, 80, -253,140,254, 80,254,104, 1,150, 1,178, 1,159,244, 1, 53, 1, 31,254,225,254,203,244,202,244,254,203,254,225, 1, 31, 1, 53, - 5,213,254,151,254,128,254,126,254,150, 1,106, 1,130, 1,128, 1,105,250,209, 1, 24, 1, 46, 1, 44, 1, 23,251,119, 4,137, -254,233,254,212,254,210,254,232, 0, 3, 0,201, 0, 0, 5,176, 5,213, 0, 17, 0, 26, 0, 35, 0,251,186, 0, 9, 0, 27, 0, - 3, 43,184, 0, 9, 16,186, 0, 14, 0, 23, 0, 3, 43,184, 0, 14, 16,186, 0, 31, 0, 5, 0, 3, 43,184, 0, 31, 16,184, 0, - 9, 16,184, 0, 0,208, 65, 5, 0,234, 0, 5, 0,250, 0, 5, 0, 2, 93, 65, 27, 0, 25, 0, 5, 0, 41, 0, 5, 0, 57, 0, - 5, 0, 73, 0, 5, 0, 89, 0, 5, 0,105, 0, 5, 0,121, 0, 5, 0,137, 0, 5, 0,153, 0, 5, 0,169, 0, 5, 0,185, 0, - 5, 0,201, 0, 5, 0,217, 0, 5, 0, 13, 93,184, 0, 9, 16,184, 0, 18,208, 65, 5, 0,234, 0, 23, 0,250, 0, 23, 0, 2, - 93, 65, 27, 0, 25, 0, 23, 0, 41, 0, 23, 0, 57, 0, 23, 0, 73, 0, 23, 0, 89, 0, 23, 0,105, 0, 23, 0,121, 0, 23, 0, -137, 0, 23, 0,153, 0, 23, 0,169, 0, 23, 0,185, 0, 23, 0,201, 0, 23, 0,217, 0, 23, 0, 13, 93,184, 0, 31, 16,184, 0, - 37,220, 0,186, 0, 2, 0, 34, 0, 3, 43,184, 0, 2, 16,186, 0, 28, 0, 8, 0, 3, 43,184, 0, 28, 16,186, 0, 19, 0, 0, - 0, 3, 43,184, 0, 19, 16,186, 0, 10, 0, 18, 0, 3, 43,184, 0, 10, 16, 48, 49, 1, 21, 51, 32, 0, 17, 16, 0, 33, 35, 21, - 51, 32, 22, 21, 20, 6, 35, 3, 17, 51, 50, 54, 53, 52, 38, 35, 1, 33, 32, 0, 17, 16, 0, 41, 1, 1,147,244, 1, 53, 1, 31, -254,225,254,203,244, 72, 1, 0,240,241,255, 72, 78,159,147,147,159,254,232, 1,159, 1,178, 1,150,254,104,254, 80,254, 97, 1, - 89,179, 1, 24, 1, 46, 1, 44, 1, 23,178,194,207,208,195, 2,158,253,232,129,140,138,129, 1,222,254,151,254,128,254,126,254, -150, 0, 0, 0, 0, 5, 0,121,255,255, 9,125, 5,213, 0, 17, 0, 26, 0, 40, 0, 49, 0, 67, 0, 0, 1, 51, 32, 0, 17, 16, - 0, 33, 35, 53, 51, 32, 54, 53, 52, 38, 33, 35, 25, 1, 51, 50, 22, 21, 20, 6, 35, 19, 32, 0, 17, 16, 0, 41, 1, 32, 0, 17, - 16, 0, 33, 19, 35, 34, 38, 53, 52, 54, 59, 1, 53, 35, 32, 6, 21, 20, 22, 33, 51, 21, 35, 32, 0, 17, 16, 0, 33, 51, 5, 96, -244, 1, 53, 1, 31,254,225,254,203,244, 72, 0,255,241,240,255, 0, 72, 78,159,147,147,159,135, 1,176, 1,152,254,106,254, 78, -253,140,254, 78,254,106, 1,152, 1,176,213, 78,159,147,147,159, 78, 72,255, 0,240,241, 0,255, 72,244,254,203,254,225, 1, 31, - 1, 53,244, 5, 47,254,233,254,212,254,210,254,232,179,195,208,207,194,253, 98, 2, 24,129,138,140,129,254, 33, 1,106, 1,130, - 1,128, 1,105,254,151,254,128,254,126,254,150, 1,223,129,140,138,129,134,194,207,208,195,179, 1, 24, 1, 46, 1, 44, 1, 23, -255,255, 0,115,255,227, 5, 39, 5,240, 16, 6, 1, 72, 0, 0, 0, 1, 0,100, 0,204, 6, 63, 4, 56, 0, 9, 0,129,180, 2, - 9, 6, 0, 10, 16,212,212,204, 50, 64, 9, 64, 2, 64, 9, 48, 2, 48, 9, 4, 93, 49, 64, 10, 2, 5, 9, 1, 0, 6, 5,156, - 6, 10, 0, 16,212,236, 17, 57, 57,204, 16,204, 48, 64, 12, 8, 9, 9, 0, 8, 7, 8, 7,156, 0, 9, 0, 7, 5, 16,252, 60, - 8, 6, 16, 60, 64, 12, 3, 2, 2, 1, 3, 4, 3, 4,156, 1, 2, 1, 7, 5, 16,252, 60, 8, 6, 16, 60,176, 16, 75, 83, 88, - 0,179, 3, 2, 8, 9, 16, 60, 16, 60,180, 8,156, 9, 9, 0, 7, 5, 16,236,180, 3,156, 2, 2, 1, 7, 5, 16,236, 89, 19, - 53, 1, 23, 7, 33, 21, 33, 23, 7,100, 1,137,120,233, 4,195,251, 61,233,120, 2, 85, 90, 1,137,120,233,170,233,120, 0, 0, - 0, 1, 1,163, 0, 0, 5, 15, 5,220, 0, 9, 0,129, 64, 10, 2, 5, 9, 1, 0, 6, 5,156, 6, 10, 16,212,236, 17, 57, 57, -204, 16,204, 49, 0,180, 2, 9, 6, 0, 10, 16,212,212,204, 50, 64, 9, 79, 2, 79, 9, 63, 2, 63, 9, 4, 93, 48, 64, 12, 8, - 9, 9, 0, 8, 7, 8, 7,156, 0, 9, 0, 7, 4, 16,252, 60, 8, 6, 16, 60, 64, 12, 3, 2, 2, 1, 3, 4, 3, 4,156, 1, - 2, 1, 7, 4, 16,252, 60, 8, 6, 16, 60,176, 16, 75, 83, 88, 1,179, 3, 2, 8, 9, 16, 60, 16, 60,180, 8,156, 9, 9, 0, - 7, 4, 16,236,180, 3,156, 2, 2, 1, 7, 4, 16,236, 89, 1, 51, 1, 7, 39, 17, 35, 17, 7, 39, 3, 45, 90, 1,136,120,232, -170,234,120, 5,220,254,118,120,234,251, 60, 4,196,234,120, 0, 0, 1, 0,117, 0,204, 6, 80, 4, 56, 0, 9, 0,129,180, 2, - 9, 0, 6, 10, 16,212,212,204, 50, 64, 9, 79, 2, 79, 9, 95, 2, 95, 9, 4, 93, 49, 64, 10, 9, 6, 2, 1, 0, 5, 6,156, - 5, 10, 0, 16,212,236, 17, 57, 57,204, 16,204, 48, 64, 12, 8, 9, 9, 0, 8, 7, 8, 7,156, 0, 9, 0, 7, 5, 16,252, 60, - 8, 6, 16, 60, 64, 12, 3, 2, 2, 1, 3, 4, 3, 4,156, 1, 2, 1, 7, 5, 16,252, 60, 8, 6, 16, 60,176, 16, 75, 83, 88, - 0,179, 3, 2, 8, 9, 16, 60, 16, 60,180, 8,156, 9, 9, 0, 7, 5, 16,236,180, 3,156, 2, 2, 1, 7, 5, 16,236, 89, 1, - 21, 1, 39, 55, 33, 53, 33, 39, 55, 6, 80,254,119,120,233,251, 61, 4,195,233,120, 2,175, 90,254,119,120,233,170,233,120, 0, - 0, 1, 1,163,255,249, 5, 15, 5,213, 0, 9, 0,129, 64, 10, 9, 6, 2, 1, 0, 5, 6,156, 5, 10, 16,212,236, 17, 57, 57, -204, 16,204, 49, 0,180, 2, 9, 0, 6, 10, 16,212,212,204, 50, 64, 9, 64, 2, 64, 9, 80, 2, 80, 9, 4, 93, 48, 64, 12, 8, - 9, 9, 0, 8, 7, 8, 7,156, 0, 9, 0, 7, 4, 16,252, 60, 8, 6, 16, 60, 64, 12, 3, 2, 2, 1, 3, 4, 3, 4,156, 1, - 2, 1, 7, 4, 16,252, 60, 8, 6, 16, 60,176, 16, 75, 83, 88, 1,179, 3, 2, 8, 9, 16, 60, 16, 60,180, 8,156, 9, 9, 0, - 7, 4, 16,236,180, 3,156, 2, 2, 1, 7, 4, 16,236, 89, 5, 35, 1, 55, 23, 17, 51, 17, 55, 23, 3,135, 90,254,118,120,234, -170,232,120, 7, 1,138,120,234, 4,196,251, 60,234,120, 0, 0, 0, 1, 0,100, 0,204, 6, 80, 4, 56, 0, 15, 0,218,182, 7, - 10, 9, 2, 15, 0, 16, 16,212,204, 50,212,204, 50, 64, 13, 80, 2, 80, 15, 95, 10, 95, 7, 79, 10, 79, 7, 6, 93, 49, 0, 64, - 15, 7, 2, 4, 10, 15, 0, 1, 8, 9, 4, 13, 4,156, 13, 16, 16,212,236, 17, 23, 57,204, 50, 16,204, 50, 48, 64, 12, 14, 15, - 15, 0, 14, 13, 14, 13,156, 0, 15, 0, 7, 5, 16,252, 60, 8, 6, 16, 60, 64, 12, 3, 2, 2, 1, 3, 4, 3, 4,156, 1, 2, - 1, 7, 5, 16,252, 60, 8, 6, 16, 60, 64, 12, 11, 10, 10, 9, 11, 12, 11, 12,156, 9, 9, 10, 7, 5, 16,252, 60, 8, 6, 16, - 60, 64, 12, 6, 7, 7, 8, 6, 5, 6, 5,156, 8, 7, 8, 7, 5, 16,252, 60, 8, 6, 16, 60,176, 16, 75, 83, 88, 0,183, 11, - 10, 6, 7, 3, 2, 14, 15, 16, 60, 16, 60, 16, 60, 16, 60,180, 14,156, 15, 15, 0, 7, 5, 16,236,180, 3,156, 2, 2, 1, 7, - 5, 16,236,180, 11,156, 10, 10, 9, 7, 5, 16,236,180, 6,156, 7, 7, 8, 7, 5, 16,236, 89, 19, 53, 1, 23, 7, 33, 39, 55, - 1, 21, 1, 39, 55, 33, 23, 7,100, 1,137,120,233, 3,188,233,120, 1,137,254,119,120,233,252, 68,233,120, 2, 85, 90, 1,137, -120,233,233,120,254,119, 90,254,119,120,233,233,120, 0, 0, 0, 0, 1, 1,163,255,239, 5, 15, 5,220, 0, 15, 0,222, 64, 15, - 7, 2, 4, 10, 15, 0, 1, 8, 9, 4, 13, 4,156, 13, 16, 16,212,236, 17, 23, 57,204, 50, 16,204, 50, 49, 0,182, 7, 10, 9, - 2, 15, 0, 16, 16,212,204, 50,212,204, 50, 64, 17, 95, 2, 95, 15, 80, 10, 80, 7, 79, 2, 79, 15, 64, 10, 64, 7, 8, 93, 48, - 64, 12, 14, 15, 15, 0, 14, 13, 14, 13,156, 0, 15, 0, 7, 4, 16,252, 60, 8, 6, 16, 60, 64, 12, 3, 2, 2, 1, 3, 4, 3, - 4,156, 1, 2, 1, 7, 4, 16,252, 60, 8, 6, 16, 60, 64, 12, 11, 10, 10, 9, 11, 12, 11, 12,156, 9, 9, 10, 7, 4, 16,252, - 60, 8, 6, 16, 60, 64, 12, 6, 7, 7, 8, 6, 5, 6, 5,156, 8, 7, 8, 7, 4, 16,252, 60, 8, 6, 16, 60,176, 16, 75, 83, - 88, 1,183, 11, 10, 6, 7, 3, 2, 14, 15, 16, 60, 16, 60, 16, 60, 16, 60,180, 14,156, 15, 15, 0, 7, 4, 16,236,180, 3,156, - 2, 2, 1, 7, 4, 16,236,180, 11,156, 10, 10, 9, 7, 4, 16,236,180, 6,156, 7, 7, 8, 7, 4, 16,236, 89, 1, 51, 1, 7, - 39, 17, 55, 23, 1, 35, 1, 55, 23, 17, 7, 39, 3, 45, 90, 1,136,120,232,232,120,254,120, 90,254,118,120,234,234,120, 5,220, -254,118,120,234,252, 67,234,120,254,118, 1,138,120,234, 3,189,234,120, 0, 0, 0, 1, 1, 32, 0, 52, 5,159, 4,179, 0, 9, - 0, 0, 1, 55, 33, 21, 33, 1, 7, 1, 17, 35, 1, 32, 63, 2, 44,254,182, 3, 94,120,252,162,169, 4,116, 63,169,252,162,120, - 3, 94,254,182, 0, 1, 1, 32, 0, 52, 5,159, 4,179, 0, 9, 0, 0, 1, 23, 17, 35, 17, 1, 39, 1, 33, 53, 5, 96, 63,169, -252,162,120, 3, 94,254,182, 4,179, 63,253,212, 1, 74,252,162,120, 3, 94,169, 0, 1, 1, 32, 0, 52, 5,159, 4,179, 0, 9, - 0, 0, 37, 7, 33, 53, 33, 1, 55, 1, 17, 51, 5,159, 63,253,212, 1, 74,252,162,120, 3, 94,169,115, 63,169, 3, 94,120,252, -162, 1, 74, 0, 0, 1, 1, 32, 0, 52, 5,159, 4,179, 0, 9, 0, 0, 37, 39, 17, 51, 17, 1, 23, 1, 33, 21, 1, 95, 63,169, - 3, 94,120,252,162, 1, 74, 52, 63, 2, 44,254,182, 3, 94,120,252,162,169, 0, 0, 1, 0,100, 0,204, 5, 63, 5, 3, 0, 11, - 0, 0, 1, 33, 23, 7, 1, 53, 1, 23, 7, 33, 17, 51, 5, 63,252, 61,233,120,254,119, 1,137,120,233, 3, 25,170, 2, 45,233, -120, 1,137, 90, 1,137,120,233, 2, 44, 0, 0, 0, 1, 0,217, 2, 45, 5,219, 2,215, 0, 3, 0, 17,182, 0,156, 2, 4, 1, - 0, 4, 16,212,196, 49, 0, 16,212,236, 48, 19, 33, 21, 33,217, 5, 2,250,254, 2,215,170, 0, 0, 2, 0,217, 0, 0, 5,219, - 5, 4, 0, 11, 0, 15, 0, 0, 33, 35, 17, 33, 53, 33, 17, 51, 17, 33, 21, 33, 1, 53, 33, 21, 3,174,168,253,211, 2, 45,168, - 2, 45,253,211,253, 43, 5, 2, 1,131,170, 1,131,254,125,170, 2,215,170,170, 0, 2, 0,217, 0, 0, 5,219, 5,213, 0, 11, - 0, 15, 0, 87,186, 0, 5, 0, 6, 0, 3, 43,184, 0, 5, 16,184, 0, 0,208,184, 0, 6, 16,184, 0, 10,208,184, 0, 6, 16, -184, 0, 12,208,184, 0, 5, 16,184, 0, 13,208, 0,184, 0, 5, 47,186, 0, 13, 0, 14, 0, 3, 43,184, 0, 13, 16,186, 0, 2, - 0, 3, 0, 3, 43,184, 0, 2, 16,184, 0, 3, 16,184, 0, 7,208,184, 0, 2, 16,184, 0, 9,208, 48, 49, 1, 17, 33, 21, 33, - 17, 35, 17, 33, 53, 33, 25, 1, 51, 21, 35, 3,174, 2, 45,253,211,168,253,211, 2, 45,168,168, 4,160,254, 5,170,254, 5, 1, -251,170, 1,251, 1, 53,204, 0, 0, 1,254,137,255,227, 2,205, 5,240, 0, 3, 0, 43, 64, 19, 0, 15, 1, 2, 1, 2, 15, 3, - 0, 3, 66, 2,140, 0,145, 4, 1, 3, 4, 16,212,204, 49, 0, 16,228,228, 48, 75, 83, 88, 7, 16, 5,237, 7, 16, 5,237, 89, - 34, 1, 51, 1, 35, 2, 45,160,252, 92,160, 5,240,249,243, 0,255,255, 1,138,255,146, 4, 60, 6, 37, 16, 3, 0, 63, 1,138, - 0, 80, 0, 0,255,255, 0,190, 0,175, 4, 68, 4, 85, 16, 7, 0, 13, 0,129,254,101, 0, 0,255,255, 1, 68, 1, 71, 3,190, - 3,194, 16, 7, 0,114, 0,129,253,210, 0, 0, 0, 1, 0,219, 2, 72, 1,174, 3, 70, 0, 3, 0, 18,183, 2,131, 0, 4, 1, - 25, 0, 4, 16,212,236, 49, 0, 16,212,236, 48, 19, 51, 21, 35,219,211,211, 3, 70,254, 0, 0, 0, 1, 0, 61,255,215, 5, 25, - 6,125, 0, 10, 0, 42, 64, 24, 10, 9, 8, 7, 6, 5, 11, 2, 4, 2, 0, 11, 10, 9, 7, 6, 5, 4, 3, 0, 8, 1, 8, 11, - 16,212,204, 23, 57, 49, 0, 16,212,204,196, 17, 18, 23, 57, 48, 1, 51, 21, 35, 1, 35, 1, 7, 39, 37, 1, 4, 92,189,115,253, -174, 66,254,193,125, 25, 1, 27, 1, 0, 6,125, 96,249,186, 3,115, 45, 80, 98,253, 59, 0, 0,255,255, 0, 61,255,215, 5, 25, - 7,208, 18, 34, 6, 95, 0, 0, 16, 3, 0,117, 0,115, 1,224,255,255, 0, 61,255,215, 5, 25, 7,191, 18, 34, 6, 95, 0, 0, - 16, 3, 5,206, 0,115, 1,224, 0, 2, 0,221, 0,221, 4,141, 3,238, 0, 11, 0, 37, 0, 0, 1, 46, 1, 35, 34, 6, 21, 20, - 22, 51, 50, 54, 1, 34, 38, 39, 14, 1, 35, 34, 38, 53, 52, 54, 51, 50, 22, 23, 62, 1, 51, 21, 34, 6, 7, 30, 1, 51, 3, 25, - 49,133, 85,102,127,118, 89, 82,134, 1,189, 73,149, 79, 70,157, 94,136,186,167,134, 95,153, 72, 68,158, 97, 43,133, 74, 49,134, - 67, 2,154, 88, 88,132,106,101,134,136,254,232,119,139,135,127,223,166,175,216,126,138,138,131,150,135,162, 88, 90, 0, 0, 0, - 0, 3, 0,221, 0,221, 5,207, 3,238, 0, 11, 0, 23, 0, 47, 0,255, 64, 29, 45, 27, 21, 9, 33, 3, 0, 36, 24, 4, 21, 15, - 39, 33, 21, 27, 15, 33, 48, 12, 0, 36, 24, 18, 6, 42, 18, 30, 48, 16,212,196,212,196, 17, 57, 57, 57, 57, 49, 0, 16,212,196, -212,196, 16,192, 17, 18, 23, 57, 18, 57, 17, 18, 57, 48, 64,190, 5, 2, 5, 3, 5, 4, 0, 5, 0, 6, 0, 7, 5, 8, 5, 9, - 5, 10, 10, 16, 15, 17, 15, 18, 15, 19, 10, 20, 21, 2, 21, 3, 21, 4, 16, 5, 16, 6, 16, 7, 21, 8, 21, 9, 21, 10, 26, 14, - 26, 15, 26, 16, 31, 17, 31, 18, 31, 19, 26, 20, 26, 21, 26, 22, 36, 2, 36, 3, 36, 4, 32, 5, 32, 6, 32, 7, 36, 8, 36, 9, - 36, 10, 42, 14, 42, 15, 42, 16, 47, 17, 47, 18, 47, 19, 42, 20, 42, 21, 42, 22, 53, 2, 53, 3, 53, 4, 48, 5, 48, 6, 48, 7, - 53, 8, 53, 9, 53, 10, 58, 14, 58, 15, 58, 16, 63, 17, 63, 18, 63, 19, 58, 20, 58, 21, 58, 22, 69, 2, 69, 3, 69, 4, 64, 5, - 64, 6, 64, 7, 69, 8, 69, 9, 69, 10, 74, 14, 74, 15, 74, 16, 79, 17, 79, 18, 79, 19, 74, 20, 74, 21, 74, 22, 86,180, 31,176, - 32,176, 33,176, 34,176, 38,176, 39,176, 40,180, 41, 8, 93, 1, 93, 1, 30, 1, 51, 50, 54, 53, 52, 38, 35, 34, 6, 7, 46, 1, - 35, 34, 6, 21, 20, 22, 51, 50, 54, 23, 14, 1, 35, 34, 38, 53, 52, 54, 51, 50, 22, 23, 62, 1, 51, 50, 22, 21, 20, 6, 35, 34, - 38, 3,147, 49,134, 84,101,128,118, 89, 82,133,196, 49,133, 85,102,127,118, 89, 82,134,144, 70,157, 94,136,186,167,134, 95,153, - 72, 68,158, 97,134,188,167,134, 94,149, 2, 47, 88, 90,135,105,101,134,135, 55, 88, 88,132,106,101,134,136, 22,135,127,223,166, -175,216,126,138,138,131,225,167,175,214,119, 0, 0, 6, 0,247, 0, 1, 7, 9, 6, 19, 0, 3, 0, 49, 0, 59, 0, 70, 0, 79, - 0, 89, 0, 0, 1, 33, 17, 33, 17, 21, 20, 6, 32, 38, 53, 52, 54, 59, 1, 17, 35, 34, 38, 53, 52, 54, 32, 22, 29, 1, 33, 53, - 52, 54, 51, 50, 22, 21, 20, 6, 43, 1, 17, 51, 50, 22, 21, 20, 6, 35, 34, 38, 61, 1, 1, 53, 52, 38, 35, 34, 6, 20, 22, 51, - 19, 35, 34, 6, 21, 20, 22, 51, 50, 54, 53, 1, 51, 50, 54, 52, 38, 34, 6, 21, 17, 21, 20, 22, 50, 54, 53, 52, 38, 35, 3,108, - 1, 40,254,216,185,254,252,184,184,127,170,170,127,184,184, 1, 4,185, 1, 40,185,130,131,183,183,128,170,170,128,183,183,131, -130,185,254, 68, 98, 69, 68, 98, 98, 69,166,166, 69, 98, 98, 69, 68, 98, 2, 80,167, 68, 98, 97,138, 98, 98,138, 97, 98, 68, 2, -118, 1, 40,254, 68,170,128,183,184,131,128,186, 1, 40,186,129,130,184,183,128,170,170,128,183,184,130,129,186,254,216,186,128, -131,184,183,128,170, 2, 80,167, 69, 97, 97,138, 98,253,176, 98, 68, 69, 98, 98, 68, 2,247, 98,138, 97, 97, 69,253, 9,167, 68, - 98, 98, 69, 68, 98, 0, 0, 0, 0, 1, 0,217, 1, 31, 5,219, 3, 94, 0, 5, 0, 0, 1, 33, 17, 51, 17, 33, 5,219,250,254, -168, 4, 90, 1, 31, 2, 63,254,107, 0, 0, 0, 0, 2, 0,172, 0, 0, 7, 84, 5,200, 0, 7, 0, 11, 0, 0, 19, 33, 1, 33, - 21, 33, 1, 33, 37, 33, 21, 33,172, 2, 66, 2,154, 1,204,253,188,253,102,254, 54, 3,244, 2,180,253, 76, 5,200,250,204,148, - 5, 52,148,148, 0, 1, 0,183,254,242, 2,123, 6, 18, 0, 5, 0, 0, 19, 1, 51, 9, 1, 35,183, 1, 26,170,254,230, 1, 26, -170, 2,130,252,112, 3,144, 3,144, 0, 0, 0, 0, 1, 0,164,254,242, 2,104, 6, 18, 0, 5, 0, 0, 9, 1, 35, 9, 1, 51, - 2,104,254,230,170, 1, 26,254,230,170, 2,130,252,112, 3,144, 3,144, 0, 0, 0, 3, 0,152,255,236, 6,148, 5,232, 0, 13, - 0, 27, 0, 38, 0,219,186, 0, 14, 0, 6, 0, 3, 43,184, 0, 14, 16,186, 0, 35, 0, 29, 0, 3, 43,184, 0, 35, 16,186, 0, - 0, 0, 20, 0, 3, 43,184, 0, 0, 16, 65, 27, 0, 22, 0, 14, 0, 38, 0, 14, 0, 54, 0, 14, 0, 70, 0, 14, 0, 86, 0, 14, - 0,102, 0, 14, 0,118, 0, 14, 0,134, 0, 14, 0,150, 0, 14, 0,166, 0, 14, 0,182, 0, 14, 0,198, 0, 14, 0,214, 0, 14, - 0, 13, 93, 65, 5, 0,229, 0, 14, 0,245, 0, 14, 0, 2, 93, 65, 5, 0,234, 0, 20, 0,250, 0, 20, 0, 2, 93, 65, 27, 0, - 25, 0, 20, 0, 41, 0, 20, 0, 57, 0, 20, 0, 73, 0, 20, 0, 89, 0, 20, 0,105, 0, 20, 0,121, 0, 20, 0,137, 0, 20, 0, -153, 0, 20, 0,169, 0, 20, 0,185, 0, 20, 0,201, 0, 20, 0,217, 0, 20, 0, 13, 93, 0,186, 0, 17, 0, 3, 0, 3, 43,184, - 0, 17, 16,186, 0, 10, 0, 24, 0, 3, 43,184, 0, 10, 16,186, 0, 36, 0, 37, 0, 3, 43,184, 0, 36, 16,184, 0, 28,208, 48, - 49, 1, 16, 0, 33, 32, 0, 17, 52, 18, 36, 51, 50, 4, 18, 5, 16, 0, 33, 32, 0, 17, 52, 2, 36, 35, 34, 4, 2, 1, 51, 17, - 7, 53, 37, 51, 17, 51, 21, 33, 6,148,254, 63,254,194,254,196,254, 63,206, 1,113,190,193, 1,113,205,250, 87, 1,143, 1, 28, - 1, 28, 1,143,182,254,184,173,173,254,184,182, 1,124,217,236, 1, 1,161,218,253,151, 2,234,254,193,254, 65, 1,191, 1, 63, -198, 1,114,198,198,254,144,200,254,228,254,112, 1,144, 1, 28,179, 1, 71,177,177,254,185,253,255, 2,126, 43,152, 47,252,230, -142, 0, 0, 0, 0, 3, 0,152,255,236, 6,148, 5,232, 0, 13, 0, 27, 0, 56, 1, 63,186, 0, 14, 0, 6, 0, 3, 43,184, 0, - 14, 16,186, 0, 51, 0, 38, 0, 3, 43,184, 0, 51, 16,186, 0, 0, 0, 20, 0, 3, 43,184, 0, 0, 16, 65, 27, 0, 22, 0, 14, - 0, 38, 0, 14, 0, 54, 0, 14, 0, 70, 0, 14, 0, 86, 0, 14, 0,102, 0, 14, 0,118, 0, 14, 0,134, 0, 14, 0,150, 0, 14, - 0,166, 0, 14, 0,182, 0, 14, 0,198, 0, 14, 0,214, 0, 14, 0, 13, 93, 65, 5, 0,229, 0, 14, 0,245, 0, 14, 0, 2, 93, - 65, 5, 0,234, 0, 20, 0,250, 0, 20, 0, 2, 93, 65, 27, 0, 25, 0, 20, 0, 41, 0, 20, 0, 57, 0, 20, 0, 73, 0, 20, 0, - 89, 0, 20, 0,105, 0, 20, 0,121, 0, 20, 0,137, 0, 20, 0,153, 0, 20, 0,169, 0, 20, 0,185, 0, 20, 0,201, 0, 20, 0, -217, 0, 20, 0, 13, 93,184, 0, 51, 16,184, 0, 29,208,184, 0, 29, 47, 65, 5, 0,234, 0, 38, 0,250, 0, 38, 0, 2, 93, 65, - 27, 0, 25, 0, 38, 0, 41, 0, 38, 0, 57, 0, 38, 0, 73, 0, 38, 0, 89, 0, 38, 0,105, 0, 38, 0,121, 0, 38, 0,137, 0, - 38, 0,153, 0, 38, 0,169, 0, 38, 0,185, 0, 38, 0,201, 0, 38, 0,217, 0, 38, 0, 13, 93,186, 0, 44, 0, 6, 0, 0, 17, - 18, 57, 0,186, 0, 17, 0, 3, 0, 3, 43,184, 0, 17, 16,186, 0, 10, 0, 24, 0, 3, 43,184, 0, 10, 16,186, 0, 29, 0, 30, - 0, 3, 43,184, 0, 29, 16,186, 0, 48, 0, 41, 0, 3, 43,184, 0, 48, 16, 48, 49, 1, 16, 0, 33, 32, 0, 17, 52, 18, 36, 51, - 50, 4, 18, 5, 16, 0, 33, 32, 0, 17, 52, 2, 36, 35, 34, 4, 2, 1, 33, 21, 33, 53, 54, 36, 55, 62, 1, 53, 52, 38, 35, 34, - 6, 7, 53, 62, 1, 51, 50, 22, 21, 20, 6, 7, 14, 1, 6,148,254, 63,254,194,254,196,254, 63,206, 1,113,190,193, 1,113,205, -250, 87, 1,143, 1, 28, 1, 28, 1,143,182,254,184,173,173,254,184,182, 2, 79, 1,180,253, 92, 82, 1, 6, 33, 62, 47, 95, 78, - 59,132,115, 97,145, 61,163,197, 48, 62, 17,178, 2,234,254,193,254, 65, 1,191, 1, 63,198, 1,114,198,198,254,144,200,254,228, -254,112, 1,144, 1, 28,179, 1, 71,177,177,254,185,253,255,142,129, 77,241, 34, 63, 85, 40, 63, 78, 38, 58,171, 36, 31,151,125, - 58,105, 70, 18,167, 0, 0, 0, 0, 3, 0,152,255,236, 6,148, 5,232, 0, 13, 0, 27, 0, 68, 1,181,186, 0, 14, 0, 6, 0, - 3, 43,184, 0, 14, 16,186, 0, 66, 0, 53, 0, 3, 43,184, 0, 66, 16,186, 0, 0, 0, 20, 0, 3, 43,184, 0, 0, 16, 65, 27, - 0, 22, 0, 14, 0, 38, 0, 14, 0, 54, 0, 14, 0, 70, 0, 14, 0, 86, 0, 14, 0,102, 0, 14, 0,118, 0, 14, 0,134, 0, 14, - 0,150, 0, 14, 0,166, 0, 14, 0,182, 0, 14, 0,198, 0, 14, 0,214, 0, 14, 0, 13, 93, 65, 5, 0,229, 0, 14, 0,245, 0, - 14, 0, 2, 93, 65, 5, 0,234, 0, 20, 0,250, 0, 20, 0, 2, 93, 65, 27, 0, 25, 0, 20, 0, 41, 0, 20, 0, 57, 0, 20, 0, - 73, 0, 20, 0, 89, 0, 20, 0,105, 0, 20, 0,121, 0, 20, 0,137, 0, 20, 0,153, 0, 20, 0,169, 0, 20, 0,185, 0, 20, 0, -201, 0, 20, 0,217, 0, 20, 0, 13, 93, 65, 5, 0,234, 0, 53, 0,250, 0, 53, 0, 2, 93, 65, 27, 0, 25, 0, 53, 0, 41, 0, - 53, 0, 57, 0, 53, 0, 73, 0, 53, 0, 89, 0, 53, 0,105, 0, 53, 0,121, 0, 53, 0,137, 0, 53, 0,153, 0, 53, 0,169, 0, - 53, 0,185, 0, 53, 0,201, 0, 53, 0,217, 0, 53, 0, 13, 93,186, 0, 28, 0, 53, 0, 66, 17, 18, 57,186, 0, 44, 0, 53, 0, - 66, 17, 18, 57,184, 0, 44, 47, 65, 5, 0,234, 0, 44, 0,250, 0, 44, 0, 2, 93, 65, 27, 0, 25, 0, 44, 0, 41, 0, 44, 0, - 57, 0, 44, 0, 73, 0, 44, 0, 89, 0, 44, 0,105, 0, 44, 0,121, 0, 44, 0,137, 0, 44, 0,153, 0, 44, 0,169, 0, 44, 0, -185, 0, 44, 0,201, 0, 44, 0,217, 0, 44, 0, 13, 93,184, 0, 31,220,186, 0, 38, 0, 6, 0, 0, 17, 18, 57,186, 0, 59, 0, - 6, 0, 0, 17, 18, 57, 0,186, 0, 17, 0, 3, 0, 3, 43,184, 0, 17, 16,186, 0, 10, 0, 24, 0, 3, 43,184, 0, 10, 16,186, - 0, 41, 0, 34, 0, 3, 43,184, 0, 41, 16,186, 0, 63, 0, 56, 0, 3, 43,184, 0, 63, 16,186, 0, 50, 0, 47, 0, 3, 43,184, - 0, 50, 16,186, 0, 28, 0, 47, 0, 50, 17, 18, 57, 48, 49, 1, 16, 0, 33, 32, 0, 17, 52, 18, 36, 51, 50, 4, 18, 5, 16, 0, - 33, 32, 0, 17, 52, 2, 36, 35, 34, 4, 2, 5, 30, 1, 21, 20, 6, 35, 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, 22, 21, 20, 6, 6,148,254, 63,254,194,254,196,254, 63,206, 1, -113,190,193, 1,113,205,250, 87, 1,143, 1, 28, 1, 28, 1,143,182,254,184,173,173,254,184,182, 3,185, 13,118,216,195, 64,136, - 88, 91,125, 68,117,115,107, 99,140,145, 90, 88, 92, 91, 52,121,107, 95,136, 61,161,193,104, 2,234,254,193,254, 65, 1,191, 1, - 63,198, 1,114,198,198,254,144,200,254,228,254,112, 1,144, 1, 28,179, 1, 71,177,177,254,185,150, 3,129, 93,141,156, 23, 27, -168, 48, 28, 79, 76, 71, 78,140, 60, 58, 60, 63, 21, 32,151, 24, 20,137,115, 81,114, 0, 0, 0, 0, 4, 0,152,255,236, 6,148, - 5,232, 0, 13, 0, 27, 0, 30, 0, 41, 0,243,186, 0, 14, 0, 6, 0, 3, 43,184, 0, 14, 16,186, 0, 32, 0, 28, 0, 3, 43, -184, 0, 32, 16,186, 0, 0, 0, 20, 0, 3, 43,184, 0, 0, 16, 65, 27, 0, 22, 0, 14, 0, 38, 0, 14, 0, 54, 0, 14, 0, 70, - 0, 14, 0, 86, 0, 14, 0,102, 0, 14, 0,118, 0, 14, 0,134, 0, 14, 0,150, 0, 14, 0,166, 0, 14, 0,182, 0, 14, 0,198, - 0, 14, 0,214, 0, 14, 0, 13, 93, 65, 5, 0,229, 0, 14, 0,245, 0, 14, 0, 2, 93, 65, 5, 0,234, 0, 20, 0,250, 0, 20, - 0, 2, 93, 65, 27, 0, 25, 0, 20, 0, 41, 0, 20, 0, 57, 0, 20, 0, 73, 0, 20, 0, 89, 0, 20, 0,105, 0, 20, 0,121, 0, - 20, 0,137, 0, 20, 0,153, 0, 20, 0,169, 0, 20, 0,185, 0, 20, 0,201, 0, 20, 0,217, 0, 20, 0, 13, 93,184, 0, 32, 16, -184, 0, 36,208,184, 0, 28, 16,184, 0, 38,208, 0,186, 0, 17, 0, 3, 0, 3, 43,184, 0, 17, 16,186, 0, 10, 0, 24, 0, 3, - 43,184, 0, 10, 16,186, 0, 34, 0, 35, 0, 3, 43,184, 0, 34, 16,184, 0, 29,208,184, 0, 35, 16,184, 0, 39,208, 48, 49, 1, - 16, 0, 33, 32, 0, 17, 52, 18, 36, 51, 50, 4, 18, 5, 16, 0, 33, 32, 0, 17, 52, 2, 36, 35, 34, 4, 2, 37, 1, 33, 3, 51, - 17, 51, 21, 35, 21, 35, 53, 33, 53, 6,148,254, 63,254,194,254,196,254, 63,206, 1,113,190,193, 1,113,205,250, 87, 1,143, 1, - 28, 1, 28, 1,143,182,254,184,173,173,254,184,182, 2,191,254,243, 1, 13, 24,206,141,141,182,254, 67, 2,234,254,193,254, 65, - 1,191, 1, 63,198, 1,114,198,198,254,144,200,254,228,254,112, 1,144, 1, 28,179, 1, 71,177,177,254,185, 79,254,130, 2, 72, -253,184,141,211,211,142, 0, 0, 0, 3, 0,152,255,236, 6,148, 5,232, 0, 13, 0, 27, 0, 57, 1, 75,186, 0, 14, 0, 6, 0, - 3, 43,184, 0, 14, 16,186, 0, 31, 0, 28, 0, 3, 43,184, 0, 31, 16,186, 0, 38, 0, 51, 0, 3, 43,184, 0, 38, 16,186, 0, - 0, 0, 20, 0, 3, 43,184, 0, 0, 16, 65, 27, 0, 22, 0, 14, 0, 38, 0, 14, 0, 54, 0, 14, 0, 70, 0, 14, 0, 86, 0, 14, - 0,102, 0, 14, 0,118, 0, 14, 0,134, 0, 14, 0,150, 0, 14, 0,166, 0, 14, 0,182, 0, 14, 0,198, 0, 14, 0,214, 0, 14, - 0, 13, 93, 65, 5, 0,229, 0, 14, 0,245, 0, 14, 0, 2, 93, 65, 5, 0,234, 0, 20, 0,250, 0, 20, 0, 2, 93, 65, 27, 0, - 25, 0, 20, 0, 41, 0, 20, 0, 57, 0, 20, 0, 73, 0, 20, 0, 89, 0, 20, 0,105, 0, 20, 0,121, 0, 20, 0,137, 0, 20, 0, -153, 0, 20, 0,169, 0, 20, 0,185, 0, 20, 0,201, 0, 20, 0,217, 0, 20, 0, 13, 93,186, 0, 45, 0, 6, 0, 0, 17, 18, 57, - 65, 5, 0,234, 0, 51, 0,250, 0, 51, 0, 2, 93, 65, 27, 0, 25, 0, 51, 0, 41, 0, 51, 0, 57, 0, 51, 0, 73, 0, 51, 0, - 89, 0, 51, 0,105, 0, 51, 0,121, 0, 51, 0,137, 0, 51, 0,153, 0, 51, 0,169, 0, 51, 0,185, 0, 51, 0,201, 0, 51, 0, -217, 0, 51, 0, 13, 93, 0,186, 0, 17, 0, 3, 0, 3, 43,184, 0, 17, 16,186, 0, 10, 0, 24, 0, 3, 43,184, 0, 10, 16,186, - 0, 48, 0, 41, 0, 3, 43,184, 0, 48, 16,186, 0, 29, 0, 30, 0, 3, 43,184, 0, 29, 16,186, 0, 35, 0, 54, 0, 3, 43,184, - 0, 35, 16, 48, 49, 1, 16, 0, 33, 32, 0, 17, 52, 18, 36, 51, 50, 4, 18, 5, 16, 0, 33, 32, 0, 17, 52, 2, 36, 35, 34, 4, - 2, 1, 33, 21, 33, 21, 6, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 53, 52, 38, 35, 34, 6, 7, 6, -148,254, 63,254,194,254,196,254, 63,206, 1,113,190,193, 1,113,205,250, 87, 1,143, 1, 28, 1, 28, 1,143,182,254,184,173,173, -254,184,182, 1,152, 2, 61,254,111, 3, 63, 31,176,207,213,190, 64,133, 88, 95,119, 68,104,118,118,104, 50,101, 89, 2,234,254, -193,254, 65, 1,191, 1, 63,198, 1,114,198,198,254,144,200,254,228,254,112, 1,144, 1, 28,179, 1, 71,177,177,254,185, 1, 25, -142,171, 1, 10,176,149,152,172, 20, 24,172, 47, 27, 97, 85, 86, 97, 20, 37, 0, 0, 4, 0,152,255,236, 6,148, 5,232, 0, 13, - 0, 27, 0, 39, 0, 64, 1,145,186, 0, 14, 0, 6, 0, 3, 43,184, 0, 14, 16,186, 0, 31, 0, 59, 0, 3, 43,184, 0, 31, 16, -186, 0, 53, 0, 37, 0, 3, 43,184, 0, 53, 16,186, 0, 0, 0, 20, 0, 3, 43,184, 0, 0, 16, 65, 27, 0, 22, 0, 14, 0, 38, - 0, 14, 0, 54, 0, 14, 0, 70, 0, 14, 0, 86, 0, 14, 0,102, 0, 14, 0,118, 0, 14, 0,134, 0, 14, 0,150, 0, 14, 0,166, - 0, 14, 0,182, 0, 14, 0,198, 0, 14, 0,214, 0, 14, 0, 13, 93, 65, 5, 0,229, 0, 14, 0,245, 0, 14, 0, 2, 93, 65, 5, - 0,234, 0, 20, 0,250, 0, 20, 0, 2, 93, 65, 27, 0, 25, 0, 20, 0, 41, 0, 20, 0, 57, 0, 20, 0, 73, 0, 20, 0, 89, 0, - 20, 0,105, 0, 20, 0,121, 0, 20, 0,137, 0, 20, 0,153, 0, 20, 0,169, 0, 20, 0,185, 0, 20, 0,201, 0, 20, 0,217, 0, - 20, 0, 13, 93, 65, 27, 0, 22, 0, 31, 0, 38, 0, 31, 0, 54, 0, 31, 0, 70, 0, 31, 0, 86, 0, 31, 0,102, 0, 31, 0,118, - 0, 31, 0,134, 0, 31, 0,150, 0, 31, 0,166, 0, 31, 0,182, 0, 31, 0,198, 0, 31, 0,214, 0, 31, 0, 13, 93, 65, 5, 0, -229, 0, 31, 0,245, 0, 31, 0, 2, 93, 65, 5, 0,234, 0, 37, 0,250, 0, 37, 0, 2, 93, 65, 27, 0, 25, 0, 37, 0, 41, 0, - 37, 0, 57, 0, 37, 0, 73, 0, 37, 0, 89, 0, 37, 0,105, 0, 37, 0,121, 0, 37, 0,137, 0, 37, 0,153, 0, 37, 0,169, 0, - 37, 0,185, 0, 37, 0,201, 0, 37, 0,217, 0, 37, 0, 13, 93,186, 0, 41, 0, 37, 0, 53, 17, 18, 57, 0,186, 0, 17, 0, 3, - 0, 3, 43,184, 0, 17, 16,186, 0, 10, 0, 24, 0, 3, 43,184, 0, 10, 16,186, 0, 34, 0, 56, 0, 3, 43,184, 0, 34, 16,186, - 0, 62, 0, 44, 0, 3, 43,184, 0, 62, 16,186, 0, 50, 0, 28, 0, 3, 43,184, 0, 50, 16, 48, 49, 1, 16, 0, 33, 32, 0, 17, - 52, 18, 36, 51, 50, 4, 18, 5, 16, 0, 33, 32, 0, 17, 52, 2, 36, 35, 34, 4, 2, 5, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, - 38, 19, 21, 46, 1, 35, 34, 6, 7, 6, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 53, 52, 18, 51, 50, 22, 6,148,254, 63,254,194, -254,196,254, 63,206, 1,113,190,193, 1,113,205,250, 87, 1,143, 1, 28, 1, 28, 1,143,182,254,184,173,173,254,184,182, 2,161, - 78, 92, 92, 78, 78, 92, 92,212, 84, 97, 47,119,127, 5, 9,128, 78,160,186,194,160,185,192,234,200, 53,106, 2,234,254,193,254, - 65, 1,191, 1, 63,198, 1,114,198,198,254,144,200,254,228,254,112, 1,144, 1, 28,179, 1, 71,177,177,254,185,159, 98, 91, 90, - 98, 98, 90, 91, 98, 1,157,156, 35, 22,148, 80, 11, 61,177,148,145,179,253,231,218, 1, 11, 19, 0, 3, 0,152,255,236, 6,148, - 5,232, 0, 13, 0, 27, 0, 34, 0,235,184, 0, 35, 47,184, 0, 36, 47,184, 0, 0,220,184, 0, 35, 16,184, 0, 6,208,184, 0, - 6, 47,184, 0, 14,220, 65, 27, 0, 22, 0, 14, 0, 38, 0, 14, 0, 54, 0, 14, 0, 70, 0, 14, 0, 86, 0, 14, 0,102, 0, 14, - 0,118, 0, 14, 0,134, 0, 14, 0,150, 0, 14, 0,166, 0, 14, 0,182, 0, 14, 0,198, 0, 14, 0,214, 0, 14, 0, 13, 93, 65, - 5, 0,229, 0, 14, 0,245, 0, 14, 0, 2, 93,184, 0, 0, 16,184, 0, 20,220, 65, 5, 0,234, 0, 20, 0,250, 0, 20, 0, 2, - 93, 65, 27, 0, 25, 0, 20, 0, 41, 0, 20, 0, 57, 0, 20, 0, 73, 0, 20, 0, 89, 0, 20, 0,105, 0, 20, 0,121, 0, 20, 0, -137, 0, 20, 0,153, 0, 20, 0,169, 0, 20, 0,185, 0, 20, 0,201, 0, 20, 0,217, 0, 20, 0, 13, 93,186, 0, 32, 0, 6, 0, - 0, 17, 18, 57,186, 0, 33, 0, 6, 0, 0, 17, 18, 57, 0,186, 0, 17, 0, 3, 0, 3, 43,184, 0, 17, 16,186, 0, 10, 0, 24, - 0, 3, 43,184, 0, 10, 16,186, 0, 29, 0, 33, 0, 3, 43,184, 0, 29, 16, 48, 49, 1, 16, 0, 33, 32, 0, 17, 52, 18, 36, 51, - 50, 4, 18, 5, 16, 0, 33, 32, 0, 17, 52, 2, 36, 35, 34, 4, 2, 1, 33, 21, 1, 35, 1, 33, 6,148,254, 63,254,194,254,196, -254, 63,206, 1,113,190,193, 1,113,205,250, 87, 1,143, 1, 28, 1, 28, 1,143,182,254,184,173,173,254,184,182, 1,107, 2,171, -254,148,193, 1, 81,254, 49, 2,234,254,193,254, 65, 1,191, 1, 63,198, 1,114,198,198,254,144,200,254,228,254,112, 1,144, 1, - 28,179, 1, 71,177,177,254,185, 1, 25, 75,252,163, 3, 26, 0, 0, 5, 0,152,255,236, 6,148, 5,232, 0, 13, 0, 27, 0, 39, - 0, 63, 0, 75, 2, 13,186, 0, 14, 0, 6, 0, 3, 43,184, 0, 14, 16,186, 0, 31, 0, 61, 0, 3, 43,184, 0, 31, 16,186, 0, - 49, 0, 70, 0, 3, 43,184, 0, 49, 16,186, 0, 0, 0, 20, 0, 3, 43,184, 0, 0, 16, 65, 27, 0, 22, 0, 14, 0, 38, 0, 14, - 0, 54, 0, 14, 0, 70, 0, 14, 0, 86, 0, 14, 0,102, 0, 14, 0,118, 0, 14, 0,134, 0, 14, 0,150, 0, 14, 0,166, 0, 14, - 0,182, 0, 14, 0,198, 0, 14, 0,214, 0, 14, 0, 13, 93, 65, 5, 0,229, 0, 14, 0,245, 0, 14, 0, 2, 93, 65, 5, 0,234, - 0, 20, 0,250, 0, 20, 0, 2, 93, 65, 27, 0, 25, 0, 20, 0, 41, 0, 20, 0, 57, 0, 20, 0, 73, 0, 20, 0, 89, 0, 20, 0, -105, 0, 20, 0,121, 0, 20, 0,137, 0, 20, 0,153, 0, 20, 0,169, 0, 20, 0,185, 0, 20, 0,201, 0, 20, 0,217, 0, 20, 0, - 13, 93, 65, 27, 0, 22, 0, 31, 0, 38, 0, 31, 0, 54, 0, 31, 0, 70, 0, 31, 0, 86, 0, 31, 0,102, 0, 31, 0,118, 0, 31, - 0,134, 0, 31, 0,150, 0, 31, 0,166, 0, 31, 0,182, 0, 31, 0,198, 0, 31, 0,214, 0, 31, 0, 13, 93, 65, 5, 0,229, 0, - 31, 0,245, 0, 31, 0, 2, 93, 65, 5, 0,234, 0, 70, 0,250, 0, 70, 0, 2, 93, 65, 27, 0, 25, 0, 70, 0, 41, 0, 70, 0, - 57, 0, 70, 0, 73, 0, 70, 0, 89, 0, 70, 0,105, 0, 70, 0,121, 0, 70, 0,137, 0, 70, 0,153, 0, 70, 0,169, 0, 70, 0, -185, 0, 70, 0,201, 0, 70, 0,217, 0, 70, 0, 13, 93,186, 0, 37, 0, 70, 0, 49, 17, 18, 57,184, 0, 37, 47, 65, 5, 0,234, - 0, 37, 0,250, 0, 37, 0, 2, 93, 65, 27, 0, 25, 0, 37, 0, 41, 0, 37, 0, 57, 0, 37, 0, 73, 0, 37, 0, 89, 0, 37, 0, -105, 0, 37, 0,121, 0, 37, 0,137, 0, 37, 0,153, 0, 37, 0,169, 0, 37, 0,185, 0, 37, 0,201, 0, 37, 0,217, 0, 37, 0, - 13, 93,186, 0, 43, 0, 61, 0, 31, 17, 18, 57,184, 0, 43, 47,186, 0, 52, 0, 70, 0, 49, 17, 18, 57,184, 0, 37, 16,184, 0, - 55,220,184, 0, 43, 16,184, 0, 64,220, 0,186, 0, 17, 0, 3, 0, 3, 43,184, 0, 17, 16,186, 0, 10, 0, 24, 0, 3, 43,184, - 0, 10, 16,186, 0, 34, 0, 58, 0, 3, 43,184, 0, 34, 16,186, 0, 46, 0, 73, 0, 3, 43,184, 0, 46, 16,186, 0, 67, 0, 28, - 0, 3, 43,184, 0, 67, 16,186, 0, 52, 0, 28, 0, 67, 17, 18, 57, 48, 49, 1, 16, 0, 33, 32, 0, 17, 52, 18, 36, 51, 50, 4, - 18, 5, 16, 0, 33, 32, 0, 17, 52, 2, 36, 35, 34, 4, 2, 5, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 37, 46, 1, 53, 52, - 54, 51, 50, 22, 21, 20, 6, 7, 30, 1, 21, 20, 6, 35, 34, 38, 53, 52, 54, 55, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 6, -148,254, 63,254,194,254,196,254, 63,206, 1,113,190,193, 1,113,205,250, 87, 1,143, 1, 28, 1, 28, 1,143,182,254,184,173,173, -254,184,182, 2,175, 84, 95, 95, 84, 84, 95, 95,254,198, 4,106,183,157,157,182,105, 4, 15,118,190,173,173,190,118, 87, 81, 77, - 75, 82, 82, 75, 77, 81, 2,234,254,193,254, 65, 1,191, 1, 63,198, 1,114,198,198,254,144,200,254,228,254,112, 1,144, 1, 28, -179, 1, 71,177,177,254,185,230, 80, 73, 73, 80, 81, 72, 73, 80, 73, 1,118, 83,116,136,136,116, 83,118, 1, 3,131, 92,138,151, -151,138, 92,131,193, 61, 66, 66, 61, 62, 66, 66, 0, 4, 0,152,255,236, 6,148, 5,232, 0, 13, 0, 27, 0, 52, 0, 64, 1,145, -186, 0, 14, 0, 6, 0, 3, 43,184, 0, 14, 16,186, 0, 62, 0, 41, 0, 3, 43,184, 0, 62, 16,186, 0, 0, 0, 20, 0, 3, 43, -184, 0, 0, 16,186, 0, 47, 0, 56, 0, 3, 43,184, 0, 47, 16, 65, 27, 0, 22, 0, 14, 0, 38, 0, 14, 0, 54, 0, 14, 0, 70, - 0, 14, 0, 86, 0, 14, 0,102, 0, 14, 0,118, 0, 14, 0,134, 0, 14, 0,150, 0, 14, 0,166, 0, 14, 0,182, 0, 14, 0,198, - 0, 14, 0,214, 0, 14, 0, 13, 93, 65, 5, 0,229, 0, 14, 0,245, 0, 14, 0, 2, 93, 65, 5, 0,234, 0, 20, 0,250, 0, 20, - 0, 2, 93, 65, 27, 0, 25, 0, 20, 0, 41, 0, 20, 0, 57, 0, 20, 0, 73, 0, 20, 0, 89, 0, 20, 0,105, 0, 20, 0,121, 0, - 20, 0,137, 0, 20, 0,153, 0, 20, 0,169, 0, 20, 0,185, 0, 20, 0,201, 0, 20, 0,217, 0, 20, 0, 13, 93, 65, 27, 0, 22, - 0, 62, 0, 38, 0, 62, 0, 54, 0, 62, 0, 70, 0, 62, 0, 86, 0, 62, 0,102, 0, 62, 0,118, 0, 62, 0,134, 0, 62, 0,150, - 0, 62, 0,166, 0, 62, 0,182, 0, 62, 0,198, 0, 62, 0,214, 0, 62, 0, 13, 93, 65, 5, 0,229, 0, 62, 0,245, 0, 62, 0, - 2, 93,186, 0, 29, 0, 41, 0, 62, 17, 18, 57, 65, 5, 0,234, 0, 56, 0,250, 0, 56, 0, 2, 93, 65, 27, 0, 25, 0, 56, 0, - 41, 0, 56, 0, 57, 0, 56, 0, 73, 0, 56, 0, 89, 0, 56, 0,105, 0, 56, 0,121, 0, 56, 0,137, 0, 56, 0,153, 0, 56, 0, -169, 0, 56, 0,185, 0, 56, 0,201, 0, 56, 0,217, 0, 56, 0, 13, 93, 0,186, 0, 17, 0, 3, 0, 3, 43,184, 0, 17, 16,186, - 0, 10, 0, 24, 0, 3, 43,184, 0, 10, 16,186, 0, 32, 0, 50, 0, 3, 43,184, 0, 32, 16,186, 0, 44, 0, 59, 0, 3, 43,184, - 0, 44, 16,186, 0, 53, 0, 38, 0, 3, 43,184, 0, 53, 16, 48, 49, 1, 16, 0, 33, 32, 0, 17, 52, 18, 36, 51, 50, 4, 18, 5, - 16, 0, 33, 32, 0, 17, 52, 2, 36, 35, 34, 4, 2, 1, 53, 30, 1, 51, 50, 54, 55, 54, 6, 35, 34, 38, 53, 52, 54, 51, 50, 22, - 21, 20, 2, 35, 34, 38, 19, 50, 54, 53, 52, 38, 35, 34, 6, 21, 20, 22, 6,148,254, 63,254,194,254,196,254, 63,206, 1,113,190, -193, 1,113,205,250, 87, 1,143, 1, 28, 1, 28, 1,143,182,254,184,173,173,254,184,182, 1,144, 85, 97, 46,119,127, 5, 10,128, - 79,159,186,194,160,185,191,233,200, 53,107,217, 78, 91, 91, 78, 78, 92, 92, 2,234,254,193,254, 65, 1,191, 1, 63,198, 1,114, -198,198,254,144,200,254,228,254,112, 1,144, 1, 28,179, 1, 71,177,177,254,185,253,139,156, 36, 21,147, 79, 13, 60,175,148,145, -180,253,232,218,254,246, 19, 1,180, 98, 91, 91, 98, 98, 91, 91, 98, 0, 0, 0, 0, 5, 0,152,255,236, 6,148, 5,232, 0, 13, - 0, 27, 0, 38, 0, 50, 0, 62, 1,155,186, 0, 14, 0, 6, 0, 3, 43,184, 0, 14, 16,186, 0, 35, 0, 29, 0, 3, 43,184, 0, - 35, 16,186, 0, 42, 0, 60, 0, 3, 43,184, 0, 42, 16,186, 0, 54, 0, 48, 0, 3, 43,184, 0, 54, 16,186, 0, 0, 0, 20, 0, - 3, 43,184, 0, 0, 16, 65, 27, 0, 22, 0, 14, 0, 38, 0, 14, 0, 54, 0, 14, 0, 70, 0, 14, 0, 86, 0, 14, 0,102, 0, 14, - 0,118, 0, 14, 0,134, 0, 14, 0,150, 0, 14, 0,166, 0, 14, 0,182, 0, 14, 0,198, 0, 14, 0,214, 0, 14, 0, 13, 93, 65, - 5, 0,229, 0, 14, 0,245, 0, 14, 0, 2, 93, 65, 5, 0,234, 0, 20, 0,250, 0, 20, 0, 2, 93, 65, 27, 0, 25, 0, 20, 0, - 41, 0, 20, 0, 57, 0, 20, 0, 73, 0, 20, 0, 89, 0, 20, 0,105, 0, 20, 0,121, 0, 20, 0,137, 0, 20, 0,153, 0, 20, 0, -169, 0, 20, 0,185, 0, 20, 0,201, 0, 20, 0,217, 0, 20, 0, 13, 93, 65, 5, 0,234, 0, 48, 0,250, 0, 48, 0, 2, 93, 65, - 27, 0, 25, 0, 48, 0, 41, 0, 48, 0, 57, 0, 48, 0, 73, 0, 48, 0, 89, 0, 48, 0,105, 0, 48, 0,121, 0, 48, 0,137, 0, - 48, 0,153, 0, 48, 0,169, 0, 48, 0,185, 0, 48, 0,201, 0, 48, 0,217, 0, 48, 0, 13, 93, 65, 5, 0,234, 0, 60, 0,250, - 0, 60, 0, 2, 93, 65, 27, 0, 25, 0, 60, 0, 41, 0, 60, 0, 57, 0, 60, 0, 73, 0, 60, 0, 89, 0, 60, 0,105, 0, 60, 0, -121, 0, 60, 0,137, 0, 60, 0,153, 0, 60, 0,169, 0, 60, 0,185, 0, 60, 0,201, 0, 60, 0,217, 0, 60, 0, 13, 93, 0,186, - 0, 17, 0, 3, 0, 3, 43,184, 0, 17, 16,186, 0, 10, 0, 24, 0, 3, 43,184, 0, 10, 16,186, 0, 45, 0, 57, 0, 3, 43,184, - 0, 45, 16,186, 0, 36, 0, 37, 0, 3, 43,184, 0, 36, 16,186, 0, 51, 0, 39, 0, 3, 43,184, 0, 51, 16,184, 0, 36, 16,184, - 0, 28,208, 48, 49, 1, 16, 0, 33, 32, 0, 17, 52, 18, 36, 51, 50, 4, 18, 5, 16, 0, 33, 32, 0, 17, 52, 2, 36, 35, 34, 4, - 2, 19, 51, 17, 7, 53, 55, 51, 17, 51, 21, 33, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 39, 50, 22, 21, 20, 6, 35, 34, - 38, 53, 52, 54, 6,148,254, 63,254,194,254,196,254, 63,206, 1,113,190,193, 1,113,205,250, 87, 1,143, 1, 28, 1, 28, 1,143, -182,254,184,173,173,254,184,182,205,158,172,188,117,159,254, 62, 3, 4, 64, 69, 69, 64, 63, 70, 70, 63,130,136,136,130,131,136, -136, 2,234,254,193,254, 65, 1,191, 1, 63,198, 1,114,198,198,254,144,200,254,228,254,112, 1,144, 1, 28,179, 1, 71,177,177, -254,185,254, 62, 2, 62, 39,137, 42,253, 54,128, 2,222,151,163,162,151,151,162,163,151,123,228,209,208,228,228,208,209,228, 0, - 0, 1, 0,170, 1,119, 6,130, 4, 99, 0, 5, 0, 11, 0,184, 0, 2, 47,184, 0, 5, 47, 48, 49, 19, 17, 37, 5, 17, 5,170, - 1,119, 4, 97,251,159, 2, 50, 1,117,188,188,254,139,187, 0, 0, 1, 0,170, 0, 0, 4,116, 5,217, 0, 19, 0, 31, 0,184, - 0, 5, 47,186, 0, 16, 0, 18, 0, 3, 43,184, 0, 16, 16,184, 0, 18, 16,184, 0, 13,208,184, 0, 13, 47, 48, 49, 1, 22, 21, - 20, 7, 3, 33, 3, 38, 53, 52, 55, 54, 39, 35, 53, 33, 23, 7, 22, 3,126,246, 8,238,254, 34,237, 9,246,127, 7,117, 1,218, - 1,119, 1, 4,224, 66,179, 32, 36,252, 89, 3,167, 38, 34,175, 66, 26,134, 89, 89, 1,135, 0, 0, 1, 0, 47, 0, 0, 5,170, - 6, 20, 0, 36, 0, 72, 64, 19, 38, 0, 7, 9, 5, 8, 12, 33, 24, 13, 30, 8, 17, 12, 33, 16, 20, 76, 37, 16,252, 60,196, 50, -196,252, 60,196, 16, 60,252, 60,196,196,196, 49, 0, 64, 17, 9, 13, 17,169, 18, 2, 26,135, 0, 24,151, 6, 31, 18,188, 11, 15, - 47, 60,230, 50, 50,254, 60,238, 50, 16,238, 50, 50, 48, 1, 21, 35, 34, 6, 29, 1, 33, 21, 33, 17, 35, 17, 33, 17, 35, 17, 35, - 53, 51, 53, 52, 54, 59, 1, 21, 35, 34, 7, 6, 29, 1, 33, 53, 52, 54, 51, 5,170,176, 99, 77, 1, 47,254,209,185,254, 7,185, -176,176,174,189,174,176, 99, 39, 38, 1,249,174,189, 6, 20,153, 80,104, 99,143,252, 47, 3,209,252, 47, 3,209,143, 78,187,171, -153, 40, 40,104, 99, 78,187,171, 0, 2, 0, 47, 0, 0, 4, 74, 6, 20, 0, 21, 0, 25, 0, 67, 64, 17, 27, 70, 0, 23, 8, 22, - 15, 20, 4, 8, 8, 3, 22, 10, 6, 76, 26, 16,252, 60,196, 50,196,252, 60,196, 16,254, 60,236, 49, 0, 64, 18, 8, 3,169, 0, - 16,135, 14, 24,190, 22,177, 14,151, 9, 0,188, 5, 1, 47, 60,230, 50,238,254,238, 16,238, 16,238, 50, 48, 1, 17, 35, 17, 33, - 17, 35, 17, 35, 53, 51, 53, 52, 54, 59, 1, 21, 35, 34, 6, 29, 1, 1, 51, 21, 35, 4, 74,185,254, 7,185,176,176,173,179,185, -176, 99, 77, 1,249,185,185, 4, 96,251,160, 3,209,252, 47, 3,209,143, 78,183,175,153, 80,104, 99, 1,178,233, 0, 1, 0, 47, - 0, 0, 4, 74, 6, 20, 0, 21, 0, 55, 64, 15, 23, 70, 1, 8, 4, 10, 12, 8, 8, 16, 4, 18, 14, 76, 22, 16,252, 60,196,196, -252, 60,196, 16,254,236, 49, 0, 64, 13, 15, 11,169, 9, 4,135, 0,151, 17, 9,188, 13, 2, 47, 60,230, 50,254,238, 16,238, 50, - 48, 1, 33, 17, 35, 17, 33, 34, 6, 29, 1, 33, 21, 33, 17, 35, 17, 35, 53, 51, 53, 52, 54, 2, 74, 2, 0,185,254,183, 99, 77, - 1, 47,254,209,185,176,176,174, 6, 20,249,236, 5,123, 80,104, 99,143,252, 47, 3,209,143, 78,187,171, 0, 0, 0, 2, 0, 47, - 0, 0, 6,252, 6, 20, 0, 41, 0, 45, 0, 90, 64, 24, 47, 70, 23, 43, 8, 42, 16, 27, 21, 8, 26, 42, 9, 0, 31, 6, 8, 36, - 30, 9, 34, 38, 76, 46, 16,252, 60,196, 50,196,252, 60,196, 16,196, 50,252, 60,196, 16,252, 60,236, 49, 0, 64, 23, 27, 31, 35, -169, 36, 17, 1,135, 0, 45,190, 42,177, 16, 0,151, 22, 7, 36,188, 25, 29, 33, 47, 60, 60,228, 50, 50,228, 50,244,236, 16,236, - 50, 16,236, 50, 50, 48, 1, 21, 35, 34, 7, 6, 29, 1, 33, 53, 52, 55, 54, 55, 54, 59, 1, 21, 35, 34, 6, 29, 1, 33, 17, 35, - 17, 33, 17, 35, 17, 33, 17, 35, 17, 35, 53, 51, 53, 52, 54, 51, 5, 51, 21, 35, 2,248,176, 99, 39, 38, 1,249, 87, 28, 39, 78, -131,174,176, 99, 77, 2,178,185,254, 7,185,254, 7,185,176,176,174,189, 3,249,185,185, 6, 20,153, 40, 40,104, 99, 78,187, 85, - 28, 19, 39,153, 80,104, 99,251,160, 3,209,252, 47, 3,209,252, 47, 3,209,143, 78,187,171, 2,233, 0, 0, 0, 0, 1, 0, 47, - 0, 0, 6,252, 6, 20, 0, 38, 0, 78, 64, 22, 40, 70, 13, 8, 16, 22, 24, 20, 8, 16, 9, 0, 28, 6, 8, 33, 27, 9, 31, 35, - 76, 39, 16,252, 60,196, 50,196,252, 60,196, 16,196,252, 60,196, 16,252,236, 49, 0, 64, 18, 24, 28, 32,169, 33, 17, 2,135, 12, - 38,151, 21, 7, 33,188, 15, 26, 30, 47, 60, 60,228, 50, 50,244, 60,236, 50, 16,236, 50, 50, 48, 1, 21, 35, 34, 7, 6, 29, 1, - 33, 53, 52, 54, 51, 33, 17, 35, 17, 33, 34, 6, 29, 1, 33, 21, 33, 17, 35, 17, 33, 17, 35, 17, 35, 53, 51, 53, 52, 54, 51, 2, -248,176, 99, 39, 38, 1,249,174,189, 2, 0,185,254,183, 99, 77, 1, 47,254,209,185,254, 7,185,176,176,174,189, 6, 20,153, 40, - 40,104, 99, 78,187,171,249,236, 5,123, 80,104, 99,143,252, 47, 3,209,252, 47, 3,209,143, 78,187,171, 0, 0, 0, 1, 0, 47, - 0, 0, 5, 76, 6, 20, 0, 45, 0, 0, 1, 53, 52, 39, 38, 43, 1, 34, 7, 6, 21, 17, 35, 17, 35, 53, 51, 53, 52, 55, 54, 59, - 1, 50, 23, 22, 29, 1, 33, 21, 33, 17, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 53, 17, 35, 53, 3, 24, 36, 37,101, 34, 99, 39, - 38,185,176,176, 87, 87,189, 30,189, 87, 85, 1,123,254,133, 37, 38,115,189,189,213, 81, 81,135, 4, 96, 99,104, 40, 40, 40, 40, -104,251, 61, 3,209,143, 78,187, 85, 86, 86, 83,189, 78,143,253,160,137, 39, 39,154, 80, 79,210, 2, 96,143, 0, 0, 1, 0,111, -255,227, 6,178, 5,240, 0, 89, 0, 0, 1, 21, 38, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 31, 1, 30, 1, 21, 20, 7, 6, 35, - 34, 39, 38, 39, 53, 22, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 47, 1, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 38, 53, 52, 55, - 54, 55, 50, 23, 22, 29, 1, 33, 21, 33, 17, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 53, 17, 35, 53, 51, 53, 52, 39, 38, 7, 34, - 7, 6, 21, 20, 3, 81, 86, 73, 84, 70,117, 63, 59, 49, 49,148, 63,195,166,123,124,216, 96, 92, 97,108,102, 99, 99, 97,130, 70, - 70, 50, 45,177, 64,171, 76, 76,102,112,181, 72, 77, 5, 92, 91,162,140, 98, 94, 1,123,254,133, 37, 38,115,189,189,213, 81, 81, -135,135, 48, 54, 68, 69, 54, 52, 4, 63,174, 43, 17, 20, 42, 39, 87, 64, 37, 36, 33, 14, 43,152,137,156, 91, 91, 17, 18, 35,190, - 53, 26, 27, 45, 44, 81, 75, 40, 35, 42, 15, 36, 74, 75,130,166, 78, 86, 11, 29, 31,135, 95, 93, 1, 96, 92,136, 76,143,253,160, -137, 39, 39,154, 80, 79,210, 2, 96,143, 78, 65, 43, 50, 1, 49, 48, 64, 61, 0, 0, 1, 0,170,255,227, 8,227, 6, 20, 0, 74, - 0, 0, 1, 22, 21, 17, 35, 53, 14, 1, 35, 34, 38, 53, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 52, 39, 33, 34, 39, 38, 55, 54, - 55, 54, 59, 1, 21, 35, 34, 21, 20, 51, 33, 39, 38, 55, 54, 59, 1, 21, 35, 38, 21, 20, 31, 1, 33, 3, 20, 23, 22, 51, 50, 54, - 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 38, 53, 17, 4, 79, 9,184, 67,177,117,193,200,184,124,124,149,173, 5,254, 83,149, 94, - 83, 3, 3, 87,115,118, 89, 89,131,131, 1,108, 23, 77, 32, 55,209,236,222, 96, 14, 59, 1,221, 1, 62, 62,124,149,173,184,184, - 67,177,117,193,200, 3,182, 37, 33,252,144,172,102, 99,240,231, 1,102,254,161,159,159,190,164, 1,145, 36, 28, 94, 83,145,131, - 66, 87,175,123,138, 56,186, 72,122,175, 1, 44, 39, 34,145,253, 97,160, 79, 79,190,164, 2,123,251,160,172,102, 99,240,231, 1, -252, 0, 0, 0, 0, 1, 0,174,255,227, 8,227, 6, 20, 0, 58, 0, 0, 1, 33, 38, 21, 20, 31, 1, 22, 21, 17, 35, 53, 14, 1, - 35, 34, 38, 53, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 52, 47, 1, 38, 55, 54, 51, 33, 17, 33, 21, 33, 17, 20, 22, 51, 50, 55, - 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 38, 53, 5, 57,254,243, 96, 14, 77, 49,184, 67,177,117,193,200,184,124,124,149,173, - 16, 77, 77, 32, 55,209, 1,211, 2,242,253, 14,124,124,152, 83, 87,184,184, 67,177,117,193,200, 5,101, 1, 44, 39, 34,188,120, - 77,252,144,172,102, 99,240,231, 2,166,253, 97,159,159,190,164, 1,145, 63, 39,188,187, 71,122,254, 76,170,254, 11,159,159, 95, - 98,161, 1, 59,252,224,172,102, 99,240,231, 0, 0, 1, 0,174,254, 86, 8,227, 6, 20, 0, 53, 0, 0, 1, 33, 38, 21, 20, 31, - 1, 22, 21, 17, 35, 53, 14, 1, 35, 34, 38, 53, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 52, 47, 1, 38, 55, 54, 51, 33, 17, 62, - 1, 51, 50, 22, 21, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 5, 57,254,243, 96, 14, 77, 49,184, 67,177,117,193,200,184,124, -124,149,173, 16, 77, 77, 32, 55,209, 1,212, 66,179,117,193,198,184,124,124,149,172,185, 5,101, 1, 44, 39, 34,188,120, 77,252, -144,172,102, 99,240,231, 2,166,253, 97,159,159,190,164, 1,145, 63, 39,188,187, 71,122,253,158,101,100,239,232,253, 92, 2,158, -159,158,190,164,251,221, 0, 0, 0, 2, 0,174,254, 86, 8,227, 6, 20, 0, 53, 0, 60, 0, 0, 1, 33, 34, 39, 38, 55, 54, 55, - 54, 51, 33, 17, 33, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 38, 53, 17, 35, 17, 51, 21, 33, 17, 14, 1, - 35, 34, 38, 53, 17, 51, 17, 20, 22, 51, 50, 55, 54, 53, 25, 1, 33, 34, 21, 20, 51, 3,160,254,219,149, 94, 83, 3, 3, 87,115, -118, 1,221, 1,153,124,124,149,173,184,184, 67,177,117,193,200,225,213,254,115, 67,177,117,193,200,184,124,124,149, 87, 86,254, -219,131,131, 3,182, 94, 83,145,131, 66, 87,254, 76,253, 97,159,159,190,164, 2,123,251,160,172,102, 99,240,231, 1,252,251, 66, -162, 2, 86,102, 99,240,231, 1,102,254,161,159,159, 95, 95,164, 2,123, 1, 5,123,138, 0, 0, 0, 1, 0,174,254, 86, 11,155, - 6, 20, 0, 72, 0, 0, 1, 33, 38, 21, 20, 31, 1, 22, 21, 17, 35, 53, 14, 1, 35, 34, 38, 53, 17, 51, 17, 20, 22, 51, 50, 54, - 53, 17, 52, 47, 1, 38, 55, 54, 51, 33, 17, 54, 55, 54, 51, 50, 22, 29, 1, 20, 23, 22, 51, 50, 54, 53, 17, 51, 17, 35, 53, 14, - 1, 35, 34, 39, 38, 61, 1, 52, 38, 35, 34, 6, 21, 17, 35, 5, 57,254,243, 96, 14, 77, 49,184, 67,177,117,193,200,184,124,124, -149,173, 16, 77, 77, 32, 55,209, 1,212, 99, 37, 90,107,193,198, 62, 56,110,140,173,184,184, 67,177,108,175, 98,100,124,124,120, -172,185, 5,101, 1, 44, 39, 34,188,120, 77,252,144,172,102, 99,240,231, 2,166,253, 97,159,159,190,164, 1,145, 63, 39,188,187, - 71,122,253,158,129, 22, 50,239,232,227,151, 88, 79,190,164, 2,123,251,160,172,102, 99,120,123,228,228,159,158,190,164,251,221, - 0, 3, 0, 30,255, 84, 8, 22, 7, 76, 0, 3, 0, 7, 0, 42, 0, 0, 9, 4, 21, 51, 53, 39, 53, 52, 54, 55, 54, 55, 54, 63, - 1, 54, 55, 54, 53, 52, 38, 35, 34, 6, 7, 21, 62, 1, 51, 50, 22, 21, 20, 6, 15, 1, 14, 1, 29, 1, 4, 26, 3,252,252, 4, -252, 4, 3,150,203, 6, 6, 6, 8, 19, 23, 44, 88, 92, 34, 36,223,184,103,193, 94, 97,179, 79,108,131, 51, 57, 90, 90, 56, 7, - 76,252, 4,252, 4, 3,252,253,174,254,254,147,123, 52, 60, 21, 25, 26, 31, 43, 86, 90, 64, 69, 76,159,194, 56, 57,188, 67, 70, -110, 89, 49, 94, 53, 89, 86,130,101,154, 0, 0, 0, 0, 0, 1, 0, 0, 60, 2, 0, 1, 9,254, 48, 0, 0, 11, 11,244, 0, 16, - 0, 36,255,211, 0, 16, 0, 37,255,183, 0, 16, 0, 42, 0, 75, 0, 16, 0, 45, 0,114, 0, 16, 0, 50, 0, 57, 0, 16, 0, 52, - 0, 75, 0, 16, 0, 55,255, 68, 0, 16, 0, 57,255,136, 0, 16, 0, 58,255,173, 0, 16, 0, 59,255,154, 0, 16, 0, 60,255, 13, - 0, 16, 0, 82, 0, 38, 0, 16, 0, 89,255,201, 0, 16, 0, 92,255,220, 0, 16, 0,130,255,211, 0, 16, 0,131,255,211, 0, 16, - 0,132,255,211, 0, 16, 0,133,255,211, 0, 16, 0,134,255,211, 0, 16, 0,148, 0, 57, 0, 16, 0,149, 0, 57, 0, 16, 0,150, - 0, 57, 0, 16, 0,151, 0, 57, 0, 16, 0,152, 0, 57, 0, 16, 0,159,255, 13, 0, 16, 0,180, 0, 38, 0, 16, 0,181, 0, 38, - 0, 16, 0,182, 0, 38, 0, 16, 0,183, 0, 38, 0, 16, 0,184, 0, 38, 0, 16, 0,191,255,220, 0, 16, 0,193,255,220, 0, 16, - 0,194,255,211, 0, 16, 0,196,255,211, 0, 16, 0,198,255,211, 0, 16, 0,224, 0, 75, 0, 16, 1, 38,255, 68, 0, 16, 1, 58, -255, 13, 0, 36, 0, 16,255,211, 0, 36, 0, 17,255,220, 0, 36, 0, 29,255,220, 0, 36, 0, 36, 0, 57, 0, 36, 0, 38,255,220, - 0, 36, 0, 42,255,220, 0, 36, 0, 50,255,220, 0, 36, 0, 52,255,220, 0, 36, 0, 55,255, 97, 0, 36, 0, 57,255,125, 0, 36, - 0, 58,255,144, 0, 36, 0, 60,255, 97, 0, 36, 0, 70,255,220, 0, 36, 0, 71,255,220, 0, 36, 0, 72,255,220, 0, 36, 0, 73, -255,183, 0, 36, 0, 82,255,220, 0, 36, 0, 84,255,220, 0, 36, 0, 87,255,220, 0, 36, 0, 89,255,136, 0, 36, 0, 90,255,173, - 0, 36, 0, 92,255,117, 0, 36, 0,109,255,183, 0, 36, 0,130, 0, 57, 0, 36, 0,131, 0, 57, 0, 36, 0,132, 0, 57, 0, 36, - 0,133, 0, 57, 0, 36, 0,134, 0, 57, 0, 36, 0,137,255,220, 0, 36, 0,148,255,220, 0, 36, 0,149,255,220, 0, 36, 0,150, -255,220, 0, 36, 0,151,255,220, 0, 36, 0,152,255,220, 0, 36, 0,159,255, 97, 0, 36, 0,169,255,220, 0, 36, 0,170,255,220, - 0, 36, 0,171,255,220, 0, 36, 0,172,255,220, 0, 36, 0,173,255,220, 0, 36, 0,180,255,220, 0, 36, 0,181,255,220, 0, 36, - 0,182,255,220, 0, 36, 0,183,255,220, 0, 36, 0,184,255,220, 0, 36, 0,191,255,117, 0, 36, 0,193,255,117, 0, 36, 0,194, - 0, 57, 0, 36, 0,196, 0, 57, 0, 36, 0,198, 0, 57, 0, 36, 0,200,255,220, 0, 36, 0,201,255,220, 0, 36, 0,202,255,220, - 0, 36, 0,203,255,220, 0, 36, 0,204,255,220, 0, 36, 0,205,255,220, 0, 36, 0,206,255,220, 0, 36, 0,207,255,220, 0, 36, - 0,209,255,220, 0, 36, 0,211,255,220, 0, 36, 0,213,255,220, 0, 36, 0,215,255,220, 0, 36, 0,217,255,220, 0, 36, 0,219, -255,220, 0, 36, 0,221,255,220, 0, 36, 0,222,255,220, 0, 36, 0,224,255,220, 0, 36, 0,226,255,220, 0, 36, 1, 14,255,220, - 0, 36, 1, 15,255,220, 0, 36, 1, 16,255,220, 0, 36, 1, 17,255,220, 0, 36, 1, 18,255,220, 0, 36, 1, 19,255,220, 0, 36, - 1, 36,255, 97, 0, 36, 1, 37,255,220, 0, 36, 1, 38,255, 97, 0, 36, 1, 39,255,220, 0, 36, 1, 54,255,144, 0, 36, 1, 55, -255,173, 0, 36, 1, 56,255, 97, 0, 36, 1, 57,255,117, 0, 36, 1, 58,255, 97, 0, 36, 1,136,255,220, 0, 36, 1,172,255,220, - 0, 36, 1,173,255,220, 0, 36, 1,174,255,220, 0, 36, 1,175,255,220, 0, 36, 1,220,255, 97, 0, 36, 1,221,255,220, 0, 36, - 1,240,255,220, 0, 36, 1,243,255,220, 0, 36, 1,244,255, 97, 0, 36, 1,245,255,117, 0, 36, 4,252,255,144, 0, 36, 4,253, -255,173, 0, 36, 4,254,255,144, 0, 36, 4,255,255,173, 0, 36, 5, 0,255,144, 0, 36, 5, 1,255,173, 0, 36, 5,106,255, 97, - 0, 36, 5,107,255,117, 0, 36, 5,145,254,248, 0, 36, 5,146,255, 3, 0, 36, 5,147, 0, 47, 0, 37, 0, 38,255,220, 0, 37, - 0, 42,255,220, 0, 37, 0, 50,255,220, 0, 37, 0, 54,255,220, 0, 37, 0, 57,255,193, 0, 37, 0, 58,255,183, 0, 37, 0, 60, -255,144, 0, 37, 0,109,255,193, 0, 37, 0,125,255,220, 0, 37, 0,137,255,220, 0, 37, 0,148,255,220, 0, 37, 0,149,255,220, - 0, 37, 0,150,255,220, 0, 37, 0,151,255,220, 0, 37, 0,152,255,220, 0, 37, 0,159,255,144, 0, 37, 0,200,255,220, 0, 37, - 0,202,255,220, 0, 37, 0,204,255,220, 0, 37, 0,206,255,220, 0, 37, 0,222,255,220, 0, 37, 0,224,255,220, 0, 37, 0,226, -255,220, 0, 37, 0,228,255,220, 0, 37, 1, 14,255,220, 0, 37, 1, 16,255,220, 0, 37, 1, 18,255,220, 0, 37, 1, 28,255,220, - 0, 37, 1, 30,255,220, 0, 37, 1, 32,255,220, 0, 37, 1, 34,255,220, 0, 37, 1, 54,255,183, 0, 37, 1, 56,255,144, 0, 37, - 1, 58,255,144, 0, 37, 1,172,255,220, 0, 37, 1,174,255,220, 0, 37, 1,218,255,220, 0, 37, 1,240,255,220, 0, 37, 4,252, -255,183, 0, 37, 4,254,255,183, 0, 37, 5, 0,255,183, 0, 37, 5,106,255,144, 0, 37, 5,145,255,144, 0, 37, 5,146,255,144, - 0, 37, 5,147,255,173, 0, 38, 0, 60,255,220, 0, 38, 0,109,255,220, 0, 38, 0,125,255,220, 0, 38, 0,159,255,220, 0, 38, - 1, 56,255,220, 0, 38, 1, 58,255,220, 0, 38, 1,244,255,220, 0, 38, 5,106,255,220, 0, 38, 5,146, 0, 38, 0, 39, 0, 36, -255,220, 0, 39, 0, 57,255,220, 0, 39, 0, 60,255,144, 0, 39, 0,109,255,220, 0, 39, 0,125,255,220, 0, 39, 0,130,255,220, - 0, 39, 0,131,255,220, 0, 39, 0,132,255,220, 0, 39, 0,133,255,220, 0, 39, 0,134,255,220, 0, 39, 0,159,255,144, 0, 39, - 0,194,255,220, 0, 39, 0,196,255,220, 0, 39, 0,198,255,220, 0, 39, 1, 56,255,144, 0, 39, 1, 58,255,144, 0, 39, 1,244, -255,144, 0, 39, 5,106,255,144, 0, 39, 5,145,255,211, 0, 39, 5,146,255,201, 0, 39, 5,147,255, 68, 0, 41, 0, 17,254,183, - 0, 41, 0, 29,255, 97, 0, 41, 0, 36,255, 68, 0, 41, 0, 54,255,220, 0, 41, 0, 55,255,220, 0, 41, 0, 68,255, 68, 0, 41, - 0, 72,255,144, 0, 41, 0, 76,255,107, 0, 41, 0, 82,255,183, 0, 41, 0, 85,255,107, 0, 41, 0, 88,255,144, 0, 41, 0, 92, -255, 68, 0, 41, 0,130,255, 68, 0, 41, 0,131,255, 68, 0, 41, 0,132,255, 68, 0, 41, 0,133,255, 68, 0, 41, 0,134,255, 68, - 0, 41, 0,162,255, 68, 0, 41, 0,163,255, 68, 0, 41, 0,164,255, 68, 0, 41, 0,165,255, 68, 0, 41, 0,166,255, 68, 0, 41, - 0,167,255, 68, 0, 41, 0,170,255,144, 0, 41, 0,171,255,144, 0, 41, 0,172,255,144, 0, 41, 0,173,255,144, 0, 41, 0,180, -255,183, 0, 41, 0,181,255,183, 0, 41, 0,182,255,183, 0, 41, 0,183,255,183, 0, 41, 0,184,255,183, 0, 41, 0,187,255,144, - 0, 41, 0,188,255,144, 0, 41, 0,189,255,144, 0, 41, 0,190,255,144, 0, 41, 0,191,255, 68, 0, 41, 0,193,255, 68, 0, 41, - 0,194,255, 68, 0, 41, 0,195,255, 68, 0, 41, 0,196,255, 68, 0, 41, 0,197,255, 68, 0, 41, 0,198,255, 68, 0, 41, 0,199, -255, 68, 0, 41, 0,213,255,144, 0, 41, 0,215,255,144, 0, 41, 0,217,255,144, 0, 41, 0,219,255,144, 0, 41, 0,221,255,144, - 0, 41, 0,241,255,107, 0, 41, 0,245,255,107, 0, 41, 1, 15,255,183, 0, 41, 1, 17,255,183, 0, 41, 1, 19,255,183, 0, 41, - 1, 23,255,107, 0, 41, 1, 25,255,107, 0, 41, 1, 27,255,107, 0, 41, 1, 28,255,220, 0, 41, 1, 30,255,220, 0, 41, 1, 32, -255,220, 0, 41, 1, 34,255,220, 0, 41, 1, 36,255,220, 0, 41, 1, 38,255,220, 0, 41, 1, 40,255,220, 0, 41, 1, 43,255,144, - 0, 41, 1, 45,255,144, 0, 41, 1, 47,255,144, 0, 41, 1, 49,255,144, 0, 41, 1, 51,255,144, 0, 41, 1, 53,255,144, 0, 41, - 1, 57,255, 68, 0, 41, 1,173,255,183, 0, 41, 1,175,255,183, 0, 41, 1,218,255,220, 0, 41, 1,220,255,220, 0, 41, 1,241, -255,183, 0, 41, 1,245,255, 68, 0, 41, 5,107,255, 68, 0, 41, 5,145,255,211, 0, 41, 5,147,254,136, 0, 42, 0, 55,255,183, - 0, 42, 0, 60,255,154, 0, 42, 0,109,255,220, 0, 42, 0,125,255,220, 0, 42, 0,159,255,154, 0, 42, 1, 38,255,183, 0, 42, - 1, 58,255,154, 0, 42, 5,145,255,211, 0, 42, 5,146,255,211, 0, 42, 5,147,255,201, 0, 43, 0, 17,255,220, 0, 43, 5,145, -255,183, 0, 43, 5,146,255,193, 0, 43, 5,147,255,183, 0, 45, 0, 16,255,183, 0, 45, 0, 36,255,220, 0, 45, 0,109,255,220, - 0, 45, 0,125,255,220, 0, 45, 0,130,255,220, 0, 45, 0,131,255,220, 0, 45, 0,132,255,220, 0, 45, 0,133,255,220, 0, 45, - 0,134,255,220, 0, 45, 5,145,255,183, 0, 45, 5,146,255,193, 0, 45, 5,147,255,144, 0, 46, 0, 16,255, 41, 0, 46, 0, 36, -255,220, 0, 46, 0, 38,255,144, 0, 46, 0, 50,255,144, 0, 46, 0, 55,255, 97, 0, 46, 0, 56,255,201, 0, 46, 0, 58,255,183, - 0, 46, 0, 60,255,183, 0, 46, 0, 68,255,220, 0, 46, 0, 72,255,154, 0, 46, 0, 82,255,154, 0, 46, 0, 88,255,154, 0, 46, - 0, 92,255,107, 0, 46, 0,109,255,125, 0, 46, 0,130,255,220, 0, 46, 0,131,255,220, 0, 46, 0,132,255,220, 0, 46, 0,133, -255,220, 0, 46, 0,134,255,220, 0, 46, 0,137,255,144, 0, 46, 0,148,255,144, 0, 46, 0,149,255,144, 0, 46, 0,150,255,144, - 0, 46, 0,151,255,144, 0, 46, 0,152,255,144, 0, 46, 0,155,255,201, 0, 46, 0,156,255,201, 0, 46, 0,157,255,201, 0, 46, - 0,158,255,201, 0, 46, 0,159,255,183, 0, 46, 0,162,255,220, 0, 46, 0,163,255,220, 0, 46, 0,164,255,220, 0, 46, 0,165, -255,220, 0, 46, 0,166,255,220, 0, 46, 0,167,255,220, 0, 46, 0,170,255,154, 0, 46, 0,171,255,154, 0, 46, 0,172,255,154, - 0, 46, 0,173,255,154, 0, 46, 0,180,255,154, 0, 46, 0,181,255,154, 0, 46, 0,182,255,154, 0, 46, 0,183,255,154, 0, 46, - 0,184,255,154, 0, 46, 0,187,255,154, 0, 46, 0,188,255,154, 0, 46, 0,189,255,154, 0, 46, 0,190,255,154, 0, 46, 0,191, -255,107, 0, 46, 0,193,255,107, 0, 46, 0,200,255,144, 0, 46, 0,206,255,144, 0, 46, 0,221,255,154, 0, 46, 1, 38,255, 97, - 0, 46, 1, 48,255,201, 0, 46, 1, 49,255,154, 0, 46, 1, 58,255,183, 0, 46, 5,145,255,193, 0, 46, 5,146,255,193, 0, 47, - 0, 16,255,220, 0, 47, 0, 36, 0, 47, 0, 47, 0, 50,255,183, 0, 47, 0, 55,254,230, 0, 47, 0, 56,255,154, 0, 47, 0, 57, -255, 31, 0, 47, 0, 58,255, 68, 0, 47, 0, 60,254,240, 0, 47, 0, 72,255,220, 0, 47, 0, 82,255,220, 0, 47, 0, 88,255,220, - 0, 47, 0, 92,255, 68, 0, 47, 0,130, 0, 47, 0, 47, 0,131, 0, 47, 0, 47, 0,132, 0, 47, 0, 47, 0,133, 0, 47, 0, 47, - 0,134, 0, 47, 0, 47, 0,148,255,183, 0, 47, 0,149,255,183, 0, 47, 0,150,255,183, 0, 47, 0,151,255,183, 0, 47, 0,152, -255,183, 0, 47, 0,155,255,154, 0, 47, 0,156,255,154, 0, 47, 0,157,255,154, 0, 47, 0,158,255,154, 0, 47, 0,159,254,240, - 0, 47, 0,170,255,220, 0, 47, 0,171,255,220, 0, 47, 0,172,255,220, 0, 47, 0,173,255,220, 0, 47, 0,180,255,220, 0, 47, - 0,181,255,220, 0, 47, 0,182,255,220, 0, 47, 0,183,255,220, 0, 47, 0,184,255,220, 0, 47, 0,187,255,220, 0, 47, 0,188, -255,220, 0, 47, 0,189,255,220, 0, 47, 0,190,255,220, 0, 47, 0,191,255, 68, 0, 47, 0,193,255, 68, 0, 47, 0,221,255,220, - 0, 47, 1, 38,254,230, 0, 47, 1, 48,255,154, 0, 47, 1, 49,255,220, 0, 47, 1, 58,254,240, 0, 47, 5,145,254, 97, 0, 47, - 5,146,253,230, 0, 50, 0, 16, 0, 57, 0, 50, 0, 17,255,173, 0, 50, 0, 29,255,220, 0, 50, 0, 36,255,220, 0, 50, 0, 57, -255,220, 0, 50, 0, 59,255,125, 0, 50, 0, 60,255,144, 0, 50, 0,109,255,220, 0, 50, 0,130,255,220, 0, 50, 0,131,255,220, - 0, 50, 0,132,255,220, 0, 50, 0,133,255,220, 0, 50, 0,134,255,220, 0, 50, 0,159,255,144, 0, 50, 1, 58,255,144, 0, 50, - 5,145,255,211, 0, 50, 5,146,255,220, 0, 50, 5,147,255, 68, 0, 51, 0, 16,255,211, 0, 51, 0, 17,254,193, 0, 51, 0, 36, -255,125, 0, 51, 0, 60,255,211, 0, 51, 0, 68,255,164, 0, 51, 0, 72,255,183, 0, 51, 0, 76,255,211, 0, 51, 0, 81,255,220, - 0, 51, 0, 82,255,183, 0, 51, 0, 85,255,220, 0, 51, 0, 86,255,220, 0, 51, 0, 88,255,220, 0, 51, 0,109,255,220, 0, 51, - 0,130,255,125, 0, 51, 0,131,255,125, 0, 51, 0,132,255,125, 0, 51, 0,133,255,125, 0, 51, 0,134,255,125, 0, 51, 0,159, -255,211, 0, 51, 0,162,255,164, 0, 51, 0,163,255,164, 0, 51, 0,164,255,164, 0, 51, 0,165,255,164, 0, 51, 0,166,255,164, - 0, 51, 0,167,255,164, 0, 51, 0,170,255,183, 0, 51, 0,171,255,183, 0, 51, 0,172,255,183, 0, 51, 0,173,255,183, 0, 51, - 0,179,255,220, 0, 51, 0,180,255,183, 0, 51, 0,181,255,183, 0, 51, 0,182,255,183, 0, 51, 0,183,255,183, 0, 51, 0,184, -255,183, 0, 51, 0,187,255,220, 0, 51, 0,188,255,220, 0, 51, 0,189,255,220, 0, 51, 0,190,255,220, 0, 51, 0,221,255,183, - 0, 51, 1, 10,255,220, 0, 51, 1, 23,255,220, 0, 51, 1, 27,255,220, 0, 51, 1, 33,255,220, 0, 51, 1, 35,255,220, 0, 51, - 1, 49,255,220, 0, 51, 1, 58,255,211, 0, 51, 5,145, 0, 38, 0, 51, 5,146, 0, 38, 0, 51, 5,147,254,183, 0, 52, 0, 16, - 0, 57, 0, 52, 5,145,255,211, 0, 52, 5,146,255,220, 0, 52, 5,147,255,125, 0, 53, 0, 16,255,173, 0, 53, 0, 17,255,183, - 0, 53, 0, 29,255,193, 0, 53, 0, 36,255,173, 0, 53, 0, 38,255,154, 0, 53, 0, 55,255,107, 0, 53, 0, 57,255,144, 0, 53, - 0, 58,255,173, 0, 53, 0, 60,255,125, 0, 53, 0, 68,255,211, 0, 53, 0, 72,255,164, 0, 53, 0, 82,255,164, 0, 53, 0, 88, -255,164, 0, 53, 0, 92,255,144, 0, 53, 0,109,255,144, 0, 53, 0,125,255,220, 0, 53, 0,130,255,173, 0, 53, 0,131,255,173, - 0, 53, 0,132,255,173, 0, 53, 0,133,255,173, 0, 53, 0,134,255,173, 0, 53, 0,137,255,154, 0, 53, 0,159,255,125, 0, 53, - 0,162,255,211, 0, 53, 0,163,255,211, 0, 53, 0,164,255,211, 0, 53, 0,165,255,211, 0, 53, 0,166,255,211, 0, 53, 0,167, -255,211, 0, 53, 0,170,255,164, 0, 53, 0,171,255,164, 0, 53, 0,172,255,164, 0, 53, 0,173,255,164, 0, 53, 0,180,255,164, - 0, 53, 0,181,255,164, 0, 53, 0,182,255,164, 0, 53, 0,183,255,164, 0, 53, 0,184,255,164, 0, 53, 0,187,255,164, 0, 53, - 0,188,255,164, 0, 53, 0,189,255,164, 0, 53, 0,190,255,164, 0, 53, 0,191,255,144, 0, 53, 0,193,255,144, 0, 53, 0,200, -255,154, 0, 53, 0,206,255,154, 0, 53, 0,221,255,164, 0, 53, 1, 38,255,107, 0, 53, 1, 49,255,164, 0, 53, 1, 58,255,125, - 0, 53, 5,145,255,107, 0, 53, 5,146,255,125, 0, 53, 5,147,255,220, 0, 54, 0, 36, 0, 38, 0, 54, 0,130, 0, 38, 0, 54, - 0,131, 0, 38, 0, 54, 0,132, 0, 38, 0, 54, 0,133, 0, 38, 0, 54, 0,134, 0, 38, 0, 55, 0, 16,255, 68, 0, 55, 0, 17, -255, 13, 0, 55, 0, 29,255, 31, 0, 55, 0, 36,255, 97, 0, 55, 0, 38,255,136, 0, 55, 0, 55,255,220, 0, 55, 0, 68,254,173, - 0, 55, 0, 70,254,164, 0, 55, 0, 72,254,164, 0, 55, 0, 76,255,193, 0, 55, 0, 82,254,164, 0, 55, 0, 85,254,211, 0, 55, - 0, 86,254,173, 0, 55, 0, 88,254,201, 0, 55, 0, 90,254,173, 0, 55, 0, 92,254,193, 0, 55, 0,109,255, 68, 0, 55, 0,125, -255,144, 0, 55, 0,130,255, 97, 0, 55, 0,131,255, 97, 0, 55, 0,132,255, 97, 0, 55, 0,133,255, 97, 0, 55, 0,134,255, 97, - 0, 55, 0,137,255,136, 0, 55, 0,162,254,173, 0, 55, 0,163,254,173, 0, 55, 0,164,254,173, 0, 55, 0,165,254,173, 0, 55, - 0,166,254,173, 0, 55, 0,167,254,173, 0, 55, 0,169,254,164, 0, 55, 0,170,254,164, 0, 55, 0,171,254,164, 0, 55, 0,172, -254,164, 0, 55, 0,173,254,164, 0, 55, 0,180,254,164, 0, 55, 0,181,254,164, 0, 55, 0,182,254,164, 0, 55, 0,183,254,164, - 0, 55, 0,184,254,164, 0, 55, 0,187,254,201, 0, 55, 0,188,254,201, 0, 55, 0,189,254,201, 0, 55, 0,190,254,201, 0, 55, - 0,191,254,193, 0, 55, 0,193,254,193, 0, 55, 0,200,255,136, 0, 55, 0,201,254,164, 0, 55, 0,206,255,136, 0, 55, 0,207, -254,164, 0, 55, 0,221,254,164, 0, 55, 1, 23,254,211, 0, 55, 1, 27,254,211, 0, 55, 1, 33,254,173, 0, 55, 1, 35,254,173, - 0, 55, 1, 38,255,220, 0, 55, 1, 49,254,201, 0, 55, 5,146,255,211, 0, 55, 5,147,254,248, 0, 56, 0, 61,255,220, 0, 56, - 1, 63,255,220, 0, 57, 0, 16,255,136, 0, 57, 0, 17,254,248, 0, 57, 0, 29,255, 89, 0, 57, 0, 36,255,125, 0, 57, 0, 50, -255,220, 0, 57, 0, 68,255, 97, 0, 57, 0, 72,255, 97, 0, 57, 0, 76,255,211, 0, 57, 0, 82,255, 97, 0, 57, 0, 88,255,117, - 0, 57, 0, 92,255,201, 0, 57, 0,109,255, 78, 0, 57, 0,125,255,144, 0, 57, 0,130,255,125, 0, 57, 0,131,255,125, 0, 57, - 0,132,255,125, 0, 57, 0,133,255,125, 0, 57, 0,134,255,125, 0, 57, 0,148,255,220, 0, 57, 0,149,255,220, 0, 57, 0,150, -255,220, 0, 57, 0,151,255,220, 0, 57, 0,152,255,220, 0, 57, 0,162,255, 97, 0, 57, 0,163,255, 97, 0, 57, 0,164,255, 97, - 0, 57, 0,165,255, 97, 0, 57, 0,166,255, 97, 0, 57, 0,167,255, 97, 0, 57, 0,170,255, 97, 0, 57, 0,171,255, 97, 0, 57, - 0,172,255, 97, 0, 57, 0,173,255, 97, 0, 57, 0,180,255, 97, 0, 57, 0,181,255, 97, 0, 57, 0,182,255, 97, 0, 57, 0,183, -255, 97, 0, 57, 0,184,255, 97, 0, 57, 0,187,255,117, 0, 57, 0,188,255,117, 0, 57, 0,189,255,117, 0, 57, 0,190,255,117, - 0, 57, 0,191,255,201, 0, 57, 0,193,255,201, 0, 57, 0,221,255, 97, 0, 57, 1, 49,255,117, 0, 57, 5,147,254,230, 0, 58, - 0, 16,255,173, 0, 58, 0, 17,255, 21, 0, 58, 0, 29,255,136, 0, 58, 0, 36,255,144, 0, 58, 0, 68,255,125, 0, 58, 0, 72, -255,136, 0, 58, 0, 76,255,211, 0, 58, 0, 82,255,136, 0, 58, 0, 85,255,164, 0, 58, 0, 88,255,183, 0, 58, 0, 92,255,220, - 0, 58, 0,109,255,144, 0, 58, 0,125,255,220, 0, 58, 0,130,255,144, 0, 58, 0,131,255,144, 0, 58, 0,132,255,144, 0, 58, - 0,133,255,144, 0, 58, 0,134,255,144, 0, 58, 0,162,255,125, 0, 58, 0,163,255,125, 0, 58, 0,164,255,125, 0, 58, 0,165, -255,125, 0, 58, 0,166,255,125, 0, 58, 0,167,255,125, 0, 58, 0,170,255,136, 0, 58, 0,171,255,136, 0, 58, 0,172,255,136, - 0, 58, 0,173,255,136, 0, 58, 0,180,255,136, 0, 58, 0,181,255,136, 0, 58, 0,182,255,136, 0, 58, 0,183,255,136, 0, 58, - 0,184,255,136, 0, 58, 0,187,255,183, 0, 58, 0,188,255,183, 0, 58, 0,189,255,183, 0, 58, 0,190,255,183, 0, 58, 0,191, -255,220, 0, 58, 0,193,255,220, 0, 58, 0,221,255,136, 0, 58, 1, 23,255,164, 0, 58, 1, 27,255,164, 0, 58, 1, 49,255,183, - 0, 58, 5,145,255,220, 0, 58, 5,147,254,248, 0, 59, 0, 16,255,154, 0, 59, 0, 38,255,107, 0, 59, 0, 50,255,125, 0, 59, - 0, 55,255,220, 0, 59, 0, 72,255,164, 0, 59, 0,109,255,144, 0, 59, 0,137,255,107, 0, 59, 0,148,255,125, 0, 59, 0,149, -255,125, 0, 59, 0,150,255,125, 0, 59, 0,151,255,125, 0, 59, 0,152,255,125, 0, 59, 0,170,255,164, 0, 59, 0,171,255,164, - 0, 59, 0,172,255,164, 0, 59, 0,173,255,164, 0, 59, 0,200,255,107, 0, 59, 0,206,255,107, 0, 59, 0,221,255,164, 0, 59, - 1, 38,255,220, 0, 59, 5,145,255, 97, 0, 59, 5,146,255,173, 0, 59, 5,147,255,211, 0, 60, 0, 16,255, 13, 0, 60, 0, 17, -254, 97, 0, 60, 0, 29,254,240, 0, 60, 0, 36,255, 97, 0, 60, 0, 38,255,144, 0, 60, 0, 50,255,144, 0, 60, 0, 68,254,230, - 0, 60, 0, 72,254,240, 0, 60, 0, 76,255,183, 0, 60, 0, 82,254,240, 0, 60, 0, 88,255, 21, 0, 60, 0,109,255, 31, 0, 60, - 0,125,255,107, 0, 60, 0,130,255, 97, 0, 60, 0,131,255, 97, 0, 60, 0,132,255, 97, 0, 60, 0,133,255, 97, 0, 60, 0,134, -255, 97, 0, 60, 0,137,255,144, 0, 60, 0,148,255,144, 0, 60, 0,149,255,144, 0, 60, 0,150,255,144, 0, 60, 0,151,255,144, - 0, 60, 0,152,255,144, 0, 60, 0,162,254,230, 0, 60, 0,163,254,230, 0, 60, 0,164,254,230, 0, 60, 0,165,254,230, 0, 60, - 0,166,254,230, 0, 60, 0,167,254,230, 0, 60, 0,170,254,240, 0, 60, 0,171,254,240, 0, 60, 0,172,254,240, 0, 60, 0,173, -254,240, 0, 60, 0,180,254,240, 0, 60, 0,181,254,240, 0, 60, 0,182,254,240, 0, 60, 0,183,254,240, 0, 60, 0,184,254,240, - 0, 60, 0,187,255, 21, 0, 60, 0,188,255, 21, 0, 60, 0,189,255, 21, 0, 60, 0,190,255, 21, 0, 60, 0,200,255,144, 0, 60, - 0,206,255,144, 0, 60, 0,221,254,240, 0, 60, 1, 49,255, 21, 0, 60, 5,145,255,144, 0, 60, 5,146,255,220, 0, 60, 5,147, -254,248, 0, 61, 0, 16,255,220, 0, 61, 5,145,255,220, 0, 61, 5,146,255,220, 0, 61, 5,147,255,220, 0, 72, 0, 91,255,220, - 0, 73, 0, 16,255,144, 0, 73, 0, 17,255,107, 0, 73, 0, 29,255,183, 0, 73, 0, 87,255,220, 0, 73, 0, 90,255,220, 0, 73, - 0, 92,255,220, 0, 73, 0,109,255,183, 0, 73, 0,125,255,220, 0, 73, 0,191,255,220, 0, 73, 0,193,255,220, 0, 73, 1, 39, -255,220, 0, 73, 5,145, 0, 65, 0, 73, 5,147,255, 21, 0, 78, 0, 68,255,220, 0, 78, 0, 72,255,183, 0, 78, 0, 82,255,183, - 0, 78, 0, 88,255,193, 0, 78, 0, 92,255,183, 0, 78, 0,162,255,220, 0, 78, 0,163,255,220, 0, 78, 0,164,255,220, 0, 78, - 0,165,255,220, 0, 78, 0,166,255,220, 0, 78, 0,167,255,220, 0, 78, 0,170,255,183, 0, 78, 0,171,255,183, 0, 78, 0,172, -255,183, 0, 78, 0,173,255,183, 0, 78, 0,180,255,183, 0, 78, 0,181,255,183, 0, 78, 0,182,255,183, 0, 78, 0,183,255,183, - 0, 78, 0,184,255,183, 0, 78, 0,187,255,193, 0, 78, 0,188,255,193, 0, 78, 0,189,255,193, 0, 78, 0,190,255,193, 0, 78, - 0,191,255,183, 0, 78, 0,193,255,183, 0, 78, 0,221,255,183, 0, 78, 1, 49,255,193, 0, 81, 5,145,255,107, 0, 81, 5,146, -255,144, 0, 81, 5,147,255,164, 0, 82, 0, 16, 0, 38, 0, 82, 0, 17,255,220, 0, 82, 0, 91,255,193, 0, 82, 5,145,255,107, - 0, 82, 5,146,255,183, 0, 82, 5,147,255,125, 0, 85, 0, 16,255,125, 0, 85, 0, 17,255, 68, 0, 85, 0, 29,255,220, 0, 85, - 0, 70,255,211, 0, 85, 0, 71,255,220, 0, 85, 0, 72,255,211, 0, 85, 0, 74,255,220, 0, 85, 0, 75,255,220, 0, 85, 0, 80, -255,220, 0, 85, 0, 81,255,220, 0, 85, 0, 82,255,211, 0, 85, 0, 84,255,220, 0, 85, 0, 85,255,220, 0, 85, 0, 91,255,201, - 0, 85, 0,109,255,183, 0, 85, 0,169,255,211, 0, 85, 0,170,255,211, 0, 85, 0,171,255,211, 0, 85, 0,172,255,211, 0, 85, - 0,173,255,211, 0, 85, 0,179,255,220, 0, 85, 0,180,255,211, 0, 85, 0,181,255,211, 0, 85, 0,182,255,211, 0, 85, 0,183, -255,211, 0, 85, 0,184,255,211, 0, 85, 0,201,255,211, 0, 85, 0,207,255,211, 0, 85, 0,209, 0, 72, 0, 85, 0,221,255,211, - 0, 85, 0,225,255,220, 0, 85, 1, 10,255,220, 0, 85, 1, 23,255,220, 0, 85, 1, 27,255,220, 0, 85, 5,146, 0, 86, 0, 85, - 5,147,254,201, 0, 89, 0, 16,255,201, 0, 89, 0, 17,255, 97, 0, 89, 0, 29,255,144, 0, 89, 0,109,255,220, 0, 89, 0,125, -255,220, 0, 89, 5,146,255,220, 0, 89, 5,147,254,240, 0, 90, 0, 17,255, 68, 0, 90, 0, 29,255,144, 0, 90, 0,109,255,220, - 0, 90, 0,125,255,220, 0, 90, 5,147,255, 41, 0, 91, 0, 70,255,220, 0, 91, 0, 72,255,193, 0, 91, 0, 82,255,193, 0, 91, - 0,169,255,220, 0, 91, 0,170,255,193, 0, 91, 0,171,255,193, 0, 91, 0,172,255,193, 0, 91, 0,173,255,193, 0, 91, 0,180, -255,193, 0, 91, 0,181,255,193, 0, 91, 0,182,255,193, 0, 91, 0,183,255,193, 0, 91, 0,184,255,193, 0, 91, 0,201,255,220, - 0, 91, 0,207,255,220, 0, 91, 0,221,255,193, 0, 92, 0, 16,255,220, 0, 92, 0, 17,254,220, 0, 92, 0, 29,255,107, 0, 92, - 0,109,255,220, 0, 92, 0,125,255,220, 0, 92, 5,147,254,211, 0,109, 0, 37,255,220, 0,109, 0, 38,255,220, 0,109, 0, 39, -255,220, 0,109, 0, 42,255,220, 0,109, 0, 45,255,220, 0,109, 0, 55,255,144, 0,109, 0, 57,255,144, 0,109, 0, 58,255,220, - 0,109, 0, 60,255,107, 0,109, 0, 89,255,220, 0,109, 0, 90,255,220, 0,109, 0, 92,255,220, 0,109, 0,136, 0,151, 0,109, - 0,137,255,220, 0,109, 0,159,255,107, 0,109, 0,191,255,220, 0,109, 0,193,255,220, 0,109, 0,200,255,220, 0,109, 0,206, -255,220, 0,109, 0,208,255,220, 0,109, 0,224,255,220, 0,109, 1, 38,255,144, 0,109, 1, 58,255,107, 0,125, 0, 36,255,183, - 0,125, 0, 37,255,183, 0,125, 0, 38,255,220, 0,125, 0, 39,255,220, 0,125, 0, 45,255,220, 0,125, 0, 50,255,220, 0,125, - 0, 55,255, 68, 0,125, 0, 57,255, 78, 0,125, 0, 58,255,144, 0,125, 0, 59,255,144, 0,125, 0, 60,255, 31, 0,125, 0, 89, -255,220, 0,125, 0, 90,255,220, 0,125, 0, 92,255,220, 0,125, 0,130,255,183, 0,125, 0,131,255,183, 0,125, 0,132,255,183, - 0,125, 0,133,255,183, 0,125, 0,134,255,183, 0,125, 0,137,255,220, 0,125, 0,148,255,220, 0,125, 0,149,255,220, 0,125, - 0,150,255,220, 0,125, 0,151,255,220, 0,125, 0,152,255,220, 0,125, 0,159,255, 31, 0,125, 0,191,255,220, 0,125, 0,193, -255,220, 0,125, 0,200,255,220, 0,125, 0,206,255,220, 0,125, 0,208,255,220, 0,125, 1, 38,255, 68, 0,125, 1, 58,255, 31, - 0,130, 0, 16,255,211, 0,130, 0, 17,255,220, 0,130, 0, 29,255,220, 0,130, 0, 36, 0, 57, 0,130, 0, 38,255,220, 0,130, - 0, 42,255,220, 0,130, 0, 50,255,220, 0,130, 0, 52,255,220, 0,130, 0, 55,255, 97, 0,130, 0, 57,255,125, 0,130, 0, 58, -255,144, 0,130, 0, 60,255, 97, 0,130, 0, 70,255,220, 0,130, 0, 71,255,220, 0,130, 0, 72,255,220, 0,130, 0, 73,255,183, - 0,130, 0, 82,255,220, 0,130, 0, 84,255,220, 0,130, 0, 87,255,220, 0,130, 0, 89,255,136, 0,130, 0, 90,255,173, 0,130, - 0, 92,255,117, 0,130, 0,109,255,183, 0,130, 0,130, 0, 57, 0,130, 0,131, 0, 57, 0,130, 0,132, 0, 57, 0,130, 0,133, - 0, 57, 0,130, 0,134, 0, 57, 0,130, 0,137,255,220, 0,130, 0,148,255,220, 0,130, 0,149,255,220, 0,130, 0,150,255,220, - 0,130, 0,151,255,220, 0,130, 0,152,255,220, 0,130, 0,159,255, 97, 0,130, 0,169,255,220, 0,130, 0,170,255,220, 0,130, - 0,171,255,220, 0,130, 0,172,255,220, 0,130, 0,173,255,220, 0,130, 0,180,255,220, 0,130, 0,181,255,220, 0,130, 0,182, -255,220, 0,130, 0,183,255,220, 0,130, 0,184,255,220, 0,130, 0,191,255,117, 0,130, 0,193,255,117, 0,130, 0,194, 0, 57, - 0,130, 0,196, 0, 57, 0,130, 0,198, 0, 57, 0,130, 0,200,255,220, 0,130, 0,201,255,220, 0,130, 0,202,255,220, 0,130, - 0,204,255,220, 0,130, 0,205,255,220, 0,130, 0,206,255,220, 0,130, 0,207,255,220, 0,130, 0,209,255,220, 0,130, 0,213, -255,220, 0,130, 0,215,255,220, 0,130, 0,217,255,220, 0,130, 0,219,255,220, 0,130, 0,221,255,220, 0,130, 0,222,255,220, - 0,130, 0,224,255,220, 0,130, 0,226,255,220, 0,130, 1, 14,255,220, 0,130, 1, 15,255,220, 0,130, 1, 16,255,220, 0,130, - 1, 17,255,220, 0,130, 1, 18,255,220, 0,130, 1, 19,255,220, 0,130, 1, 36,255, 97, 0,130, 1, 37,255,220, 0,130, 1, 38, -255, 97, 0,130, 1, 39,255,220, 0,130, 1, 54,255,144, 0,130, 1, 55,255,173, 0,130, 1, 56,255, 97, 0,130, 1, 57,255,117, - 0,130, 1, 58,255, 97, 0,130, 1,240,255,220, 0,130, 1,241,255,220, 0,130, 4,252,255,144, 0,130, 4,255,255,173, 0,130, - 5, 0,255,144, 0,130, 5, 1,255,173, 0,130, 5,106,255, 97, 0,130, 5,107,255,117, 0,130, 5,145,254,248, 0,130, 5,146, -255, 3, 0,130, 5,147, 0, 47, 0,131, 0, 16,255,211, 0,131, 0, 17,255,220, 0,131, 0, 29,255,220, 0,131, 0, 36, 0, 57, - 0,131, 0, 38,255,220, 0,131, 0, 42,255,220, 0,131, 0, 50,255,220, 0,131, 0, 52,255,220, 0,131, 0, 55,255, 97, 0,131, - 0, 57,255,125, 0,131, 0, 58,255,144, 0,131, 0, 60,255, 97, 0,131, 0, 70,255,220, 0,131, 0, 71,255,220, 0,131, 0, 72, -255,220, 0,131, 0, 73,255,183, 0,131, 0, 82,255,220, 0,131, 0, 84,255,220, 0,131, 0, 87,255,220, 0,131, 0, 89,255,136, - 0,131, 0, 90,255,173, 0,131, 0, 92,255,117, 0,131, 0,109,255,183, 0,131, 0,130, 0, 57, 0,131, 0,131, 0, 57, 0,131, - 0,132, 0, 57, 0,131, 0,133, 0, 57, 0,131, 0,134, 0, 57, 0,131, 0,137,255,220, 0,131, 0,148,255,220, 0,131, 0,149, -255,220, 0,131, 0,150,255,220, 0,131, 0,151,255,220, 0,131, 0,152,255,220, 0,131, 0,159,255, 97, 0,131, 0,169,255,220, - 0,131, 0,170,255,220, 0,131, 0,171,255,220, 0,131, 0,172,255,220, 0,131, 0,173,255,220, 0,131, 0,180,255,220, 0,131, - 0,181,255,220, 0,131, 0,182,255,220, 0,131, 0,183,255,220, 0,131, 0,184,255,220, 0,131, 0,191,255,117, 0,131, 0,193, -255,117, 0,131, 0,194, 0, 57, 0,131, 0,196, 0, 57, 0,131, 0,198, 0, 57, 0,131, 0,200,255,220, 0,131, 0,201,255,220, - 0,131, 0,202,255,220, 0,131, 0,204,255,220, 0,131, 0,205,255,220, 0,131, 0,206,255,220, 0,131, 0,207,255,220, 0,131, - 0,209,255,220, 0,131, 0,213,255,220, 0,131, 0,215,255,220, 0,131, 0,217,255,220, 0,131, 0,219,255,220, 0,131, 0,221, -255,220, 0,131, 0,222,255,220, 0,131, 0,224,255,220, 0,131, 0,226,255,220, 0,131, 1, 14,255,220, 0,131, 1, 15,255,220, - 0,131, 1, 16,255,220, 0,131, 1, 17,255,220, 0,131, 1, 18,255,220, 0,131, 1, 19,255,220, 0,131, 1, 36,255, 97, 0,131, - 1, 37,255,220, 0,131, 1, 38,255, 97, 0,131, 1, 39,255,220, 0,131, 1, 54,255,144, 0,131, 1, 55,255,173, 0,131, 1, 56, -255, 97, 0,131, 1, 57,255,117, 0,131, 1, 58,255, 97, 0,131, 1,240,255,220, 0,131, 1,241,255,220, 0,131, 4,252,255,144, - 0,131, 4,254,255,144, 0,131, 4,255,255,173, 0,131, 5, 0,255,144, 0,131, 5, 1,255,173, 0,131, 5,106,255, 97, 0,131, - 5,107,255,117, 0,131, 5,145,254,248, 0,131, 5,146,255, 3, 0,131, 5,147, 0, 47, 0,132, 0, 16,255,211, 0,132, 0, 17, -255,220, 0,132, 0, 29,255,220, 0,132, 0, 36, 0, 57, 0,132, 0, 38,255,220, 0,132, 0, 42,255,220, 0,132, 0, 50,255,220, - 0,132, 0, 52,255,220, 0,132, 0, 55,255, 97, 0,132, 0, 57,255,125, 0,132, 0, 58,255,144, 0,132, 0, 60,255, 97, 0,132, - 0, 70,255,220, 0,132, 0, 71,255,220, 0,132, 0, 72,255,220, 0,132, 0, 73,255,183, 0,132, 0, 82,255,220, 0,132, 0, 84, -255,220, 0,132, 0, 87,255,220, 0,132, 0, 89,255,136, 0,132, 0, 90,255,173, 0,132, 0, 92,255,117, 0,132, 0,109,255,183, - 0,132, 0,130, 0, 57, 0,132, 0,131, 0, 57, 0,132, 0,132, 0, 57, 0,132, 0,133, 0, 57, 0,132, 0,134, 0, 57, 0,132, - 0,137,255,220, 0,132, 0,148,255,220, 0,132, 0,149,255,220, 0,132, 0,150,255,220, 0,132, 0,151,255,220, 0,132, 0,152, -255,220, 0,132, 0,159,255, 97, 0,132, 0,169,255,220, 0,132, 0,170,255,220, 0,132, 0,171,255,220, 0,132, 0,172,255,220, - 0,132, 0,173,255,220, 0,132, 0,180,255,220, 0,132, 0,181,255,220, 0,132, 0,182,255,220, 0,132, 0,183,255,220, 0,132, - 0,184,255,220, 0,132, 0,191,255,117, 0,132, 0,193,255,117, 0,132, 0,194, 0, 57, 0,132, 0,196, 0, 57, 0,132, 0,198, - 0, 57, 0,132, 0,200,255,220, 0,132, 0,201,255,220, 0,132, 0,202,255,220, 0,132, 0,204,255,220, 0,132, 0,205,255,220, - 0,132, 0,206,255,220, 0,132, 0,207,255,220, 0,132, 0,209,255,220, 0,132, 0,213,255,220, 0,132, 0,215,255,220, 0,132, - 0,217,255,220, 0,132, 0,219,255,220, 0,132, 0,221,255,220, 0,132, 0,222,255,220, 0,132, 0,224,255,220, 0,132, 0,226, -255,220, 0,132, 1, 14,255,220, 0,132, 1, 15,255,220, 0,132, 1, 16,255,220, 0,132, 1, 17,255,220, 0,132, 1, 18,255,220, - 0,132, 1, 19,255,220, 0,132, 1, 36,255, 97, 0,132, 1, 37,255,220, 0,132, 1, 38,255, 97, 0,132, 1, 39,255,220, 0,132, - 1, 54,255,144, 0,132, 1, 55,255,173, 0,132, 1, 56,255, 97, 0,132, 1, 57,255,117, 0,132, 1, 58,255, 97, 0,132, 1,240, -255,220, 0,132, 1,241,255,220, 0,132, 4,252,255,144, 0,132, 4,254,255,144, 0,132, 4,255,255,173, 0,132, 5, 0,255,144, - 0,132, 5, 1,255,173, 0,132, 5,106,255, 97, 0,132, 5,107,255,117, 0,132, 5,145,254,248, 0,132, 5,146,255, 3, 0,132, - 5,147, 0, 47, 0,133, 0, 16,255,211, 0,133, 0, 17,255,220, 0,133, 0, 29,255,220, 0,133, 0, 36, 0, 57, 0,133, 0, 38, -255,220, 0,133, 0, 42,255,220, 0,133, 0, 50,255,220, 0,133, 0, 52,255,220, 0,133, 0, 55,255, 97, 0,133, 0, 57,255,125, - 0,133, 0, 58,255,144, 0,133, 0, 60,255, 97, 0,133, 0, 70,255,220, 0,133, 0, 71,255,220, 0,133, 0, 72,255,220, 0,133, - 0, 73,255,183, 0,133, 0, 82,255,220, 0,133, 0, 84,255,220, 0,133, 0, 87,255,220, 0,133, 0, 89,255,136, 0,133, 0, 90, -255,173, 0,133, 0, 92,255,117, 0,133, 0,109,255,183, 0,133, 0,130, 0, 57, 0,133, 0,131, 0, 57, 0,133, 0,132, 0, 57, - 0,133, 0,133, 0, 57, 0,133, 0,134, 0, 57, 0,133, 0,137,255,220, 0,133, 0,148,255,220, 0,133, 0,149,255,220, 0,133, - 0,150,255,220, 0,133, 0,151,255,220, 0,133, 0,152,255,220, 0,133, 0,159,255, 97, 0,133, 0,169,255,220, 0,133, 0,170, -255,220, 0,133, 0,171,255,220, 0,133, 0,172,255,220, 0,133, 0,173,255,220, 0,133, 0,180,255,220, 0,133, 0,181,255,220, - 0,133, 0,182,255,220, 0,133, 0,183,255,220, 0,133, 0,184,255,220, 0,133, 0,191,255,117, 0,133, 0,193,255,117, 0,133, - 0,194, 0, 57, 0,133, 0,196, 0, 57, 0,133, 0,198, 0, 57, 0,133, 0,200,255,220, 0,133, 0,201,255,220, 0,133, 0,202, -255,220, 0,133, 0,204,255,220, 0,133, 0,205,255,220, 0,133, 0,206,255,220, 0,133, 0,207,255,220, 0,133, 0,209,255,220, - 0,133, 0,213,255,220, 0,133, 0,215,255,220, 0,133, 0,217,255,220, 0,133, 0,219,255,220, 0,133, 0,221,255,220, 0,133, - 0,222,255,220, 0,133, 0,224,255,220, 0,133, 0,226,255,220, 0,133, 1, 14,255,220, 0,133, 1, 15,255,220, 0,133, 1, 16, -255,220, 0,133, 1, 17,255,220, 0,133, 1, 18,255,220, 0,133, 1, 19,255,220, 0,133, 1, 36,255, 97, 0,133, 1, 37,255,220, - 0,133, 1, 38,255, 97, 0,133, 1, 39,255,220, 0,133, 1, 54,255,144, 0,133, 1, 55,255,173, 0,133, 1, 56,255, 97, 0,133, - 1, 57,255,117, 0,133, 1, 58,255, 97, 0,133, 1,240,255,220, 0,133, 4,252,255,144, 0,133, 4,254,255,144, 0,133, 4,255, -255,173, 0,133, 5, 0,255,144, 0,133, 5, 1,255,173, 0,133, 5,106,255, 97, 0,133, 5,107,255,117, 0,133, 5,145,254,248, - 0,133, 5,146,255, 3, 0,133, 5,147, 0, 47, 0,134, 0, 16,255,211, 0,134, 0, 17,255,220, 0,134, 0, 29,255,220, 0,134, - 0, 36, 0, 57, 0,134, 0, 38,255,220, 0,134, 0, 42,255,220, 0,134, 0, 50,255,220, 0,134, 0, 52,255,220, 0,134, 0, 55, -255, 97, 0,134, 0, 57,255,125, 0,134, 0, 58,255,144, 0,134, 0, 60,255, 97, 0,134, 0, 70,255,220, 0,134, 0, 71,255,220, - 0,134, 0, 72,255,220, 0,134, 0, 73,255,183, 0,134, 0, 82,255,220, 0,134, 0, 84,255,220, 0,134, 0, 87,255,220, 0,134, - 0, 89,255,136, 0,134, 0, 90,255,173, 0,134, 0, 92,255,117, 0,134, 0,109,255,183, 0,134, 0,130, 0, 57, 0,134, 0,131, - 0, 57, 0,134, 0,132, 0, 57, 0,134, 0,133, 0, 57, 0,134, 0,134, 0, 57, 0,134, 0,137,255,220, 0,134, 0,148,255,220, - 0,134, 0,149,255,220, 0,134, 0,150,255,220, 0,134, 0,151,255,220, 0,134, 0,152,255,220, 0,134, 0,159,255, 97, 0,134, - 0,169,255,220, 0,134, 0,170,255,220, 0,134, 0,171,255,220, 0,134, 0,172,255,220, 0,134, 0,173,255,220, 0,134, 0,180, -255,220, 0,134, 0,181,255,220, 0,134, 0,182,255,220, 0,134, 0,183,255,220, 0,134, 0,184,255,220, 0,134, 0,191,255,117, - 0,134, 0,193,255,117, 0,134, 0,194, 0, 57, 0,134, 0,196, 0, 57, 0,134, 0,198, 0, 57, 0,134, 0,200,255,220, 0,134, - 0,201,255,220, 0,134, 0,202,255,220, 0,134, 0,204,255,220, 0,134, 0,205,255,220, 0,134, 0,206,255,220, 0,134, 0,207, -255,220, 0,134, 0,209,255,220, 0,134, 0,213,255,220, 0,134, 0,215,255,220, 0,134, 0,217,255,220, 0,134, 0,219,255,220, - 0,134, 0,221,255,220, 0,134, 0,222,255,220, 0,134, 0,224,255,220, 0,134, 0,226,255,220, 0,134, 1, 14,255,220, 0,134, - 1, 15,255,220, 0,134, 1, 16,255,220, 0,134, 1, 17,255,220, 0,134, 1, 18,255,220, 0,134, 1, 19,255,220, 0,134, 1, 36, -255, 97, 0,134, 1, 37,255,220, 0,134, 1, 38,255, 97, 0,134, 1, 39,255,220, 0,134, 1, 54,255,144, 0,134, 1, 55,255,173, - 0,134, 1, 56,255, 97, 0,134, 1, 57,255,117, 0,134, 1, 58,255, 97, 0,134, 1,240,255,220, 0,134, 1,241,255,220, 0,134, - 4,252,255,144, 0,134, 4,254,255,144, 0,134, 4,255,255,173, 0,134, 5, 0,255,144, 0,134, 5, 1,255,173, 0,134, 5,106, -255, 97, 0,134, 5,107,255,117, 0,134, 5,145,254,248, 0,134, 5,146,255, 3, 0,134, 5,147, 0, 47, 0,136, 5,145,255,173, - 0,136, 5,146,255,164, 0,136, 5,147,255,144, 0,137, 0, 60,255,220, 0,137, 0,109,255,220, 0,137, 0,125,255,220, 0,137, - 0,159,255,220, 0,137, 1, 58,255,220, 0,137, 5,146, 0, 38, 0,146, 0, 36,255,220, 0,146, 0, 57,255,220, 0,146, 0, 60, -255,144, 0,146, 0,109,255,220, 0,146, 0,125,255,220, 0,146, 0,130,255,220, 0,146, 0,131,255,220, 0,146, 0,132,255,220, - 0,146, 0,133,255,220, 0,146, 0,134,255,220, 0,146, 0,159,255,144, 0,146, 0,194,255,220, 0,146, 0,196,255,220, 0,146, - 0,198,255,220, 0,146, 1, 56,255,144, 0,146, 1, 58,255,144, 0,146, 1,244,255,144, 0,146, 5,106,255,144, 0,146, 5,145, -255,211, 0,146, 5,146,255,201, 0,146, 5,147,255, 68, 0,148, 0, 16, 0, 57, 0,148, 0, 17,255,173, 0,148, 0, 29,255,220, - 0,148, 0, 36,255,220, 0,148, 0, 57,255,220, 0,148, 0, 59,255,125, 0,148, 0, 60,255,144, 0,148, 0,109,255,220, 0,148, - 0,130,255,220, 0,148, 0,131,255,220, 0,148, 0,132,255,220, 0,148, 0,133,255,220, 0,148, 0,134,255,220, 0,148, 0,159, -255,144, 0,148, 1, 58,255,144, 0,148, 5,145,255,211, 0,148, 5,146,255,220, 0,148, 5,147,255, 68, 0,149, 0, 16, 0, 57, - 0,149, 0, 17,255,173, 0,149, 0, 29,255,220, 0,149, 0, 36,255,220, 0,149, 0, 57,255,220, 0,149, 0, 59,255,125, 0,149, - 0, 60,255,144, 0,149, 0,109,255,220, 0,149, 0,130,255,220, 0,149, 0,131,255,220, 0,149, 0,132,255,220, 0,149, 0,133, -255,220, 0,149, 0,134,255,220, 0,149, 0,159,255,144, 0,149, 1, 58,255,144, 0,149, 5,145,255,211, 0,149, 5,146,255,220, - 0,149, 5,147,255, 68, 0,150, 0, 16, 0, 57, 0,150, 0, 17,255,173, 0,150, 0, 29,255,220, 0,150, 0, 36,255,220, 0,150, - 0, 57,255,220, 0,150, 0, 59,255,125, 0,150, 0, 60,255,144, 0,150, 0,109,255,220, 0,150, 0,130,255,220, 0,150, 0,131, -255,220, 0,150, 0,132,255,220, 0,150, 0,133,255,220, 0,150, 0,134,255,220, 0,150, 0,159,255,144, 0,150, 1, 58,255,144, - 0,150, 5,145,255,211, 0,150, 5,146,255,220, 0,150, 5,147,255, 68, 0,151, 0, 16, 0, 57, 0,151, 0, 17,255,173, 0,151, - 0, 29,255,220, 0,151, 0, 36,255,220, 0,151, 0, 57,255,220, 0,151, 0, 59,255,125, 0,151, 0, 60,255,144, 0,151, 0,109, -255,220, 0,151, 0,130,255,220, 0,151, 0,131,255,220, 0,151, 0,132,255,220, 0,151, 0,133,255,220, 0,151, 0,134,255,220, - 0,151, 0,159,255,144, 0,151, 1, 58,255,144, 0,151, 5,145,255,211, 0,151, 5,146,255,220, 0,151, 5,147,255, 68, 0,152, - 0, 16, 0, 57, 0,152, 0, 17,255,173, 0,152, 0, 29,255,220, 0,152, 0, 36,255,220, 0,152, 0, 57,255,220, 0,152, 0, 59, -255,125, 0,152, 0, 60,255,144, 0,152, 0,109,255,220, 0,152, 0,130,255,220, 0,152, 0,131,255,220, 0,152, 0,132,255,220, - 0,152, 0,133,255,220, 0,152, 0,134,255,220, 0,152, 0,159,255,144, 0,152, 1, 58,255,144, 0,152, 5,145,255,211, 0,152, - 5,146,255,220, 0,152, 5,147,255, 68, 0,155, 0, 61,255,220, 0,155, 1, 63,255,220, 0,156, 0, 61,255,220, 0,156, 1, 63, -255,220, 0,157, 0, 61,255,220, 0,157, 1, 63,255,220, 0,158, 0, 61,255,220, 0,158, 1, 63,255,220, 0,159, 0, 16,255, 13, - 0,159, 0, 17,254, 97, 0,159, 0, 29,254,240, 0,159, 0, 36,255, 97, 0,159, 0, 38,255,144, 0,159, 0, 50,255,144, 0,159, - 0, 68,254,230, 0,159, 0, 72,254,240, 0,159, 0, 76,255,183, 0,159, 0, 82,254,240, 0,159, 0, 88,255, 21, 0,159, 0,109, -255, 31, 0,159, 0,125,255,107, 0,159, 0,130,255, 97, 0,159, 0,131,255, 97, 0,159, 0,132,255, 97, 0,159, 0,133,255, 97, - 0,159, 0,134,255, 97, 0,159, 0,137,255,144, 0,159, 0,148,255,144, 0,159, 0,149,255,144, 0,159, 0,150,255,144, 0,159, - 0,151,255,144, 0,159, 0,152,255,144, 0,159, 0,162,254,230, 0,159, 0,163,254,230, 0,159, 0,164,254,230, 0,159, 0,165, -254,230, 0,159, 0,166,254,230, 0,159, 0,167,254,230, 0,159, 0,170,254,240, 0,159, 0,171,254,240, 0,159, 0,172,254,240, - 0,159, 0,173,254,240, 0,159, 0,180,254,240, 0,159, 0,181,254,240, 0,159, 0,182,254,240, 0,159, 0,183,254,240, 0,159, - 0,184,254,240, 0,159, 0,187,255, 21, 0,159, 0,188,255, 21, 0,159, 0,189,255, 21, 0,159, 0,190,255, 21, 0,159, 0,200, -255,144, 0,159, 0,206,255,144, 0,159, 0,221,254,240, 0,159, 1, 49,255, 21, 0,159, 5,145,255,144, 0,159, 5,146,255,220, - 0,159, 5,147,254,248, 0,160, 0, 17,255,107, 0,160, 0, 29,255,183, 0,160, 5,145,255,220, 0,160, 5,147,255, 68, 0,161, - 0, 16, 0, 38, 0,161, 5,145,255,144, 0,161, 5,146,255,144, 0,161, 5,147,255,173, 0,170, 0, 91,255,220, 0,171, 0, 91, -255,220, 0,172, 0, 91,255,220, 0,173, 0, 91,255,220, 0,178, 5,145,255,164, 0,178, 5,146,255,144, 0,178, 5,147,255,183, - 0,179, 5,145,255,107, 0,179, 5,146,255,144, 0,179, 5,147,255,164, 0,180, 0, 16, 0, 38, 0,180, 0, 17,255,220, 0,180, - 0, 91,255,193, 0,180, 5,145,255,107, 0,180, 5,146,255,183, 0,180, 5,147,255,125, 0,181, 0, 16, 0, 38, 0,181, 0, 17, -255,220, 0,181, 0, 91,255,193, 0,181, 5,145,255,107, 0,181, 5,146,255,183, 0,181, 5,147,255,125, 0,182, 0, 16, 0, 38, - 0,182, 0, 17,255,220, 0,182, 0, 91,255,193, 0,182, 5,145,255,107, 0,182, 5,146,255,183, 0,182, 5,147,255,125, 0,183, - 0, 16, 0, 38, 0,183, 0, 17,255,220, 0,183, 0, 91,255,193, 0,183, 5,145,255,107, 0,183, 5,146,255,183, 0,183, 5,147, -255,125, 0,184, 0, 16, 0, 38, 0,184, 0, 17,255,220, 0,184, 0, 91,255,193, 0,184, 5,145,255,107, 0,184, 5,146,255,183, - 0,184, 5,147,255,125, 0,191, 0, 16,255,220, 0,191, 0, 17,254,220, 0,191, 0, 29,255,107, 0,191, 0,109,255,220, 0,191, - 0,125,255,220, 0,191, 5,147,254,211, 0,193, 0, 16,255,220, 0,193, 0, 17,254,220, 0,193, 0, 29,255,107, 0,193, 0,109, -255,220, 0,193, 0,125,255,220, 0,193, 5,147,254,211, 0,194, 0, 16,255,211, 0,194, 0, 17,255,220, 0,194, 0, 29,255,220, - 0,194, 0, 36, 0, 57, 0,194, 0, 38,255,220, 0,194, 0, 42,255,220, 0,194, 0, 50,255,220, 0,194, 0, 52,255,220, 0,194, - 0, 55,255, 97, 0,194, 0, 57,255,125, 0,194, 0, 58,255,144, 0,194, 0, 60,255, 97, 0,194, 0, 70,255,220, 0,194, 0, 71, -255,220, 0,194, 0, 72,255,220, 0,194, 0, 73,255,183, 0,194, 0, 82,255,220, 0,194, 0, 84,255,220, 0,194, 0, 87,255,220, - 0,194, 0, 89,255,136, 0,194, 0, 90,255,173, 0,194, 0, 92,255,117, 0,194, 0,109,255,183, 0,194, 0,130, 0, 57, 0,194, - 0,131, 0, 57, 0,194, 0,132, 0, 57, 0,194, 0,133, 0, 57, 0,194, 0,134, 0, 57, 0,194, 0,148,255,220, 0,194, 0,149, -255,220, 0,194, 0,150,255,220, 0,194, 0,151,255,220, 0,194, 0,152,255,220, 0,194, 0,159,255, 97, 0,194, 0,169,255,220, - 0,194, 0,170,255,220, 0,194, 0,171,255,220, 0,194, 0,172,255,220, 0,194, 0,173,255,220, 0,194, 0,180,255,220, 0,194, - 0,181,255,220, 0,194, 0,182,255,220, 0,194, 0,183,255,220, 0,194, 0,184,255,220, 0,194, 0,191,255,117, 0,194, 0,193, -255,117, 0,194, 0,194, 0, 57, 0,194, 0,196, 0, 57, 0,194, 0,198, 0, 57, 0,194, 0,200,255,220, 0,194, 0,202,255,220, - 0,194, 0,204,255,220, 0,194, 0,205,255,220, 0,194, 0,206,255,220, 0,194, 0,209,255,220, 0,194, 0,211,255,220, 0,194, - 0,213,255,220, 0,194, 0,215,255,220, 0,194, 0,217,255,220, 0,194, 0,219,255,220, 0,194, 0,221,255,220, 0,194, 0,222, -255,220, 0,194, 0,226,255,220, 0,194, 1, 14,255,220, 0,194, 1, 15,255,220, 0,194, 1, 16,255,220, 0,194, 1, 17,255,220, - 0,194, 1, 18,255,220, 0,194, 1, 19,255,220, 0,194, 1, 36,255, 97, 0,194, 1, 37,255,220, 0,194, 1, 38,255, 97, 0,194, - 1, 39,255,220, 0,194, 1, 54,255,144, 0,194, 1, 55,255,173, 0,194, 1, 56,255, 97, 0,194, 1, 57,255,117, 0,194, 1, 58, -255, 97, 0,194, 1,240,255,220, 0,194, 1,241,255,220, 0,194, 4,252,255,144, 0,194, 4,254,255,144, 0,194, 4,255,255,173, - 0,194, 5, 0,255,144, 0,194, 5, 1,255,173, 0,194, 5,106,255, 97, 0,194, 5,107,255,117, 0,194, 5,145,254,248, 0,194, - 5,146,255, 2, 0,194, 5,147, 0, 47, 0,196, 0, 16,255,211, 0,196, 0, 17,255,220, 0,196, 0, 29,255,220, 0,196, 0, 36, - 0, 57, 0,196, 0, 38,255,220, 0,196, 0, 42,255,220, 0,196, 0, 50,255,220, 0,196, 0, 52,255,220, 0,196, 0, 55,255, 97, - 0,196, 0, 57,255,125, 0,196, 0, 58,255,144, 0,196, 0, 60,255, 97, 0,196, 0, 70,255,220, 0,196, 0, 71,255,220, 0,196, - 0, 72,255,220, 0,196, 0, 73,255,183, 0,196, 0, 82,255,220, 0,196, 0, 84,255,220, 0,196, 0, 87,255,220, 0,196, 0, 89, -255,136, 0,196, 0, 90,255,173, 0,196, 0, 92,255,117, 0,196, 0,109,255,183, 0,196, 0,130, 0, 57, 0,196, 0,131, 0, 57, - 0,196, 0,132, 0, 57, 0,196, 0,133, 0, 57, 0,196, 0,134, 0, 57, 0,196, 0,148,255,220, 0,196, 0,149,255,220, 0,196, - 0,150,255,220, 0,196, 0,151,255,220, 0,196, 0,152,255,220, 0,196, 0,159,255, 97, 0,196, 0,169,255,220, 0,196, 0,170, -255,220, 0,196, 0,171,255,220, 0,196, 0,172,255,220, 0,196, 0,173,255,220, 0,196, 0,180,255,220, 0,196, 0,181,255,220, - 0,196, 0,182,255,220, 0,196, 0,183,255,220, 0,196, 0,184,255,220, 0,196, 0,191,255,117, 0,196, 0,193,255,117, 0,196, - 0,194, 0, 57, 0,196, 0,196, 0, 57, 0,196, 0,198, 0, 57, 0,196, 0,200,255,220, 0,196, 0,202,255,220, 0,196, 0,204, -255,220, 0,196, 0,205,255,220, 0,196, 0,206,255,220, 0,196, 0,209,255,220, 0,196, 0,211,255,220, 0,196, 0,213,255,220, - 0,196, 0,215,255,220, 0,196, 0,217,255,220, 0,196, 0,219,255,220, 0,196, 0,221,255,220, 0,196, 0,222,255,220, 0,196, - 0,226,255,220, 0,196, 1, 14,255,220, 0,196, 1, 15,255,220, 0,196, 1, 16,255,220, 0,196, 1, 17,255,220, 0,196, 1, 18, -255,220, 0,196, 1, 19,255,220, 0,196, 1, 36,255, 97, 0,196, 1, 37,255,220, 0,196, 1, 38,255, 97, 0,196, 1, 39,255,220, - 0,196, 1, 54,255,144, 0,196, 1, 55,255,173, 0,196, 1, 56,255, 97, 0,196, 1, 57,255,117, 0,196, 1, 58,255, 97, 0,196, - 1,240,255,220, 0,196, 1,241,255,220, 0,196, 4,252,255,144, 0,196, 4,254,255,144, 0,196, 4,255,255,173, 0,196, 5, 0, -255,144, 0,196, 5, 1,255,173, 0,196, 5,106,255, 97, 0,196, 5,107,255,117, 0,196, 5,145,254,248, 0,196, 5,146,255, 2, - 0,196, 5,147, 0, 47, 0,198, 0, 16,255,211, 0,198, 0, 17,255,220, 0,198, 0, 29,255,220, 0,198, 0, 36, 0, 57, 0,198, - 0, 38,255,220, 0,198, 0, 42,255,220, 0,198, 0, 50,255,220, 0,198, 0, 52,255,220, 0,198, 0, 55,255, 97, 0,198, 0, 57, -255,125, 0,198, 0, 58,255,144, 0,198, 0, 60,255, 97, 0,198, 0, 70,255,220, 0,198, 0, 71,255,220, 0,198, 0, 72,255,220, - 0,198, 0, 73,255,183, 0,198, 0, 82,255,220, 0,198, 0, 84,255,220, 0,198, 0, 87,255,220, 0,198, 0, 89,255,136, 0,198, - 0, 90,255,173, 0,198, 0,109,255,183, 0,198, 0,130, 0, 57, 0,198, 0,131, 0, 57, 0,198, 0,132, 0, 57, 0,198, 0,133, - 0, 57, 0,198, 0,134, 0, 57, 0,198, 0,148,255,220, 0,198, 0,149,255,220, 0,198, 0,150,255,220, 0,198, 0,151,255,220, - 0,198, 0,152,255,220, 0,198, 0,159,255, 97, 0,198, 0,169,255,220, 0,198, 0,170,255,220, 0,198, 0,171,255,220, 0,198, - 0,172,255,220, 0,198, 0,173,255,220, 0,198, 0,180,255,220, 0,198, 0,181,255,220, 0,198, 0,182,255,220, 0,198, 0,183, -255,220, 0,198, 0,184,255,220, 0,198, 0,194, 0, 57, 0,198, 0,196, 0, 57, 0,198, 0,198, 0, 57, 0,198, 0,200,255,220, - 0,198, 0,202,255,220, 0,198, 0,204,255,220, 0,198, 0,205,255,220, 0,198, 0,206,255,220, 0,198, 0,209,255,220, 0,198, - 0,211,255,220, 0,198, 0,213,255,220, 0,198, 0,215,255,220, 0,198, 0,217,255,220, 0,198, 0,219,255,220, 0,198, 0,221, -255,220, 0,198, 0,222,255,220, 0,198, 0,226,255,220, 0,198, 1, 14,255,220, 0,198, 1, 15,255,220, 0,198, 1, 16,255,220, - 0,198, 1, 17,255,220, 0,198, 1, 19,255,220, 0,198, 1, 36,255, 97, 0,198, 1, 37,255,220, 0,198, 1, 38,255, 97, 0,198, - 1, 39,255,220, 0,198, 1, 54,255,144, 0,198, 1, 55,255,173, 0,198, 1, 56,255, 97, 0,198, 1, 58,255, 97, 0,198, 1,240, -255,220, 0,198, 1,241,255,220, 0,198, 4,252,255,144, 0,198, 4,254,255,144, 0,198, 4,255,255,173, 0,198, 5, 0,255,144, - 0,198, 5, 1,255,173, 0,198, 5,106,255, 97, 0,198, 5,145,254,248, 0,198, 5,146,255, 2, 0,198, 5,147, 0, 47, 0,200, - 0, 60,255,220, 0,200, 0,109,255,220, 0,200, 0,125,255,220, 0,200, 0,159,255,220, 0,200, 1, 58,255,220, 0,200, 5,146, - 0, 38, 0,206, 0, 60,255,220, 0,206, 0,109,255,220, 0,206, 0,125,255,220, 0,206, 0,159,255,220, 0,206, 1, 58,255,220, - 0,206, 5,146, 0, 38, 0,208, 0, 36,255,220, 0,208, 0, 57,255,220, 0,208, 0, 60,255,144, 0,208, 0,109,255,220, 0,208, - 0,125,255,220, 0,208, 0,130,255,220, 0,208, 0,131,255,220, 0,208, 0,132,255,220, 0,208, 0,133,255,220, 0,208, 0,134, -255,220, 0,208, 0,159,255,144, 0,208, 0,194,255,220, 0,208, 0,196,255,220, 0,208, 0,198,255,220, 0,208, 1, 56,255,144, - 0,208, 1, 58,255,144, 0,208, 1,244,255,144, 0,208, 5,106,255,144, 0,208, 5,145,255,211, 0,208, 5,146,255,201, 0,208, - 5,147,255, 68, 0,210, 0, 36,255,220, 0,210, 0, 57,255,220, 0,210, 0, 60,255,144, 0,210, 0,109,255,220, 0,210, 0,125, -255,220, 0,210, 0,130,255,220, 0,210, 0,131,255,220, 0,210, 0,132,255,220, 0,210, 0,133,255,220, 0,210, 0,134,255,220, - 0,210, 0,159,255,144, 0,210, 1, 58,255,144, 0,210, 5,145,255,211, 0,210, 5,146,255,201, 0,210, 5,147,255, 68, 0,221, - 0, 91,255,220, 0,224, 0, 55,255,183, 0,224, 0, 60,255,154, 0,224, 0,109,255,220, 0,224, 0,125,255,220, 0,224, 0,159, -255,154, 0,224, 1, 38,255,183, 0,224, 1, 58,255,154, 0,224, 5,145,255,211, 0,224, 5,146,255,211, 0,224, 5,147,255,201, - 0,251, 0, 16,255,220, 0,251, 0, 36, 0, 47, 0,251, 0, 50,255,183, 0,251, 0, 55,254,230, 0,251, 0, 56,255,154, 0,251, - 0, 57,255, 31, 0,251, 0, 58,255, 68, 0,251, 0, 60,254,240, 0,251, 0, 72,255,220, 0,251, 0, 82,255,220, 0,251, 0, 88, -255,220, 0,251, 0, 92,255, 68, 0,251, 0,130, 0, 47, 0,251, 0,131, 0, 47, 0,251, 0,132, 0, 47, 0,251, 0,133, 0, 47, - 0,251, 0,134, 0, 47, 0,251, 0,148,255,183, 0,251, 0,149,255,183, 0,251, 0,150,255,183, 0,251, 0,151,255,183, 0,251, - 0,152,255,183, 0,251, 0,155,255,154, 0,251, 0,156,255,154, 0,251, 0,157,255,154, 0,251, 0,158,255,154, 0,251, 0,159, -254,240, 0,251, 0,170,255,220, 0,251, 0,171,255,220, 0,251, 0,172,255,220, 0,251, 0,173,255,220, 0,251, 0,180,255,220, - 0,251, 0,181,255,220, 0,251, 0,182,255,220, 0,251, 0,183,255,220, 0,251, 0,184,255,220, 0,251, 0,187,255,220, 0,251, - 0,188,255,220, 0,251, 0,189,255,220, 0,251, 0,190,255,220, 0,251, 0,191,255, 68, 0,251, 0,193,255, 68, 0,251, 0,221, -255,220, 0,251, 1, 38,254,230, 0,251, 1, 48,255,154, 0,251, 1, 49,255,220, 0,251, 1, 58,254,240, 0,251, 5,145,254, 97, - 0,251, 5,146,253,230, 0,255, 0, 16,255,220, 0,255, 0, 36, 0, 47, 0,255, 0, 50,255,183, 0,255, 0, 55,254,230, 0,255, - 0, 56,255,154, 0,255, 0, 57,255, 31, 0,255, 0, 58,255, 68, 0,255, 0, 60,254,240, 0,255, 0, 72,255,220, 0,255, 0, 82, -255,220, 0,255, 0, 88,255,220, 0,255, 0, 92,255, 68, 0,255, 0,130, 0, 47, 0,255, 0,131, 0, 47, 0,255, 0,132, 0, 47, - 0,255, 0,133, 0, 47, 0,255, 0,134, 0, 47, 0,255, 0,148,255,183, 0,255, 0,149,255,183, 0,255, 0,150,255,183, 0,255, - 0,151,255,183, 0,255, 0,152,255,183, 0,255, 0,155,255,154, 0,255, 0,156,255,154, 0,255, 0,157,255,154, 0,255, 0,158, -255,154, 0,255, 0,159,254,240, 0,255, 0,170,255,220, 0,255, 0,171,255,220, 0,255, 0,172,255,220, 0,255, 0,173,255,220, - 0,255, 0,180,255,220, 0,255, 0,181,255,220, 0,255, 0,182,255,220, 0,255, 0,183,255,220, 0,255, 0,184,255,220, 0,255, - 0,187,255,220, 0,255, 0,188,255,220, 0,255, 0,189,255,220, 0,255, 0,190,255,220, 0,255, 0,191,255, 68, 0,255, 0,193, -255, 68, 0,255, 0,221,255,220, 0,255, 1, 38,254,230, 0,255, 1, 48,255,154, 0,255, 1, 49,255,220, 0,255, 1, 58,254,240, - 0,255, 5,145,254, 97, 0,255, 5,146,253,230, 1, 2, 0, 79,255, 63, 1, 10, 5,145,255,107, 1, 10, 5,146,255,144, 1, 10, - 5,147,255,164, 1, 22, 0, 16,255,173, 1, 22, 0, 17,255,183, 1, 22, 0, 29,255,193, 1, 22, 0, 36,255,173, 1, 22, 0, 38, -255,154, 1, 22, 0, 55,255,107, 1, 22, 0, 57,255,144, 1, 22, 0, 58,255,173, 1, 22, 0, 60,255,125, 1, 22, 0, 68,255,211, - 1, 22, 0, 72,255,164, 1, 22, 0, 82,255,164, 1, 22, 0, 88,255,164, 1, 22, 0, 92,255,144, 1, 22, 0,109,255,144, 1, 22, - 0,125,255,220, 1, 22, 0,130,255,173, 1, 22, 0,131,255,173, 1, 22, 0,132,255,173, 1, 22, 0,133,255,173, 1, 22, 0,134, -255,173, 1, 22, 0,137,255,154, 1, 22, 0,159,255,125, 1, 22, 0,162,255,211, 1, 22, 0,163,255,211, 1, 22, 0,164,255,211, - 1, 22, 0,165,255,211, 1, 22, 0,166,255,211, 1, 22, 0,167,255,211, 1, 22, 0,170,255,164, 1, 22, 0,171,255,164, 1, 22, - 0,172,255,164, 1, 22, 0,173,255,164, 1, 22, 0,180,255,164, 1, 22, 0,181,255,164, 1, 22, 0,182,255,164, 1, 22, 0,183, -255,164, 1, 22, 0,184,255,164, 1, 22, 0,187,255,164, 1, 22, 0,188,255,164, 1, 22, 0,189,255,164, 1, 22, 0,190,255,164, - 1, 22, 0,191,255,144, 1, 22, 0,193,255,144, 1, 22, 0,200,255,154, 1, 22, 0,206,255,154, 1, 22, 0,221,255,164, 1, 22, - 1, 38,255,107, 1, 22, 1, 49,255,164, 1, 22, 1, 58,255,125, 1, 22, 5,145,255,107, 1, 22, 5,146,255,125, 1, 22, 5,147, -255,220, 1, 23, 0, 16,255,125, 1, 23, 0, 17,255, 68, 1, 23, 0, 29,255,220, 1, 23, 0, 70,255,211, 1, 23, 0, 71,255,220, - 1, 23, 0, 72,255,211, 1, 23, 0, 74,255,220, 1, 23, 0, 75,255,220, 1, 23, 0, 80,255,220, 1, 23, 0, 81,255,220, 1, 23, - 0, 82,255,211, 1, 23, 0, 84,255,220, 1, 23, 0, 85,255,220, 1, 23, 0, 91,255,201, 1, 23, 0,109,255,183, 1, 23, 0,169, -255,211, 1, 23, 0,170,255,211, 1, 23, 0,171,255,211, 1, 23, 0,172,255,211, 1, 23, 0,173,255,211, 1, 23, 0,179,255,220, - 1, 23, 0,180,255,211, 1, 23, 0,181,255,211, 1, 23, 0,182,255,211, 1, 23, 0,183,255,211, 1, 23, 0,184,255,211, 1, 23, - 0,201,255,211, 1, 23, 0,207,255,211, 1, 23, 0,209, 0, 72, 1, 23, 0,221,255,211, 1, 23, 0,225,255,220, 1, 23, 1, 10, -255,220, 1, 23, 1, 23,255,220, 1, 23, 1, 27,255,220, 1, 23, 5,146, 0, 86, 1, 23, 5,147,254,201, 1, 26, 0, 16,255,173, - 1, 26, 0, 17,255,183, 1, 26, 0, 29,255,193, 1, 26, 0, 36,255,173, 1, 26, 0, 38,255,154, 1, 26, 0, 55,255,107, 1, 26, - 0, 57,255,144, 1, 26, 0, 58,255,173, 1, 26, 0, 60,255,125, 1, 26, 0, 68,255,211, 1, 26, 0, 72,255,164, 1, 26, 0, 82, -255,164, 1, 26, 0, 88,255,164, 1, 26, 0, 92,255,144, 1, 26, 0,109,255,144, 1, 26, 0,125,255,220, 1, 26, 0,130,255,173, - 1, 26, 0,131,255,173, 1, 26, 0,132,255,173, 1, 26, 0,133,255,173, 1, 26, 0,134,255,173, 1, 26, 0,137,255,154, 1, 26, - 0,159,255,125, 1, 26, 0,162,255,211, 1, 26, 0,163,255,211, 1, 26, 0,164,255,211, 1, 26, 0,165,255,211, 1, 26, 0,166, -255,211, 1, 26, 0,167,255,211, 1, 26, 0,170,255,164, 1, 26, 0,171,255,164, 1, 26, 0,172,255,164, 1, 26, 0,173,255,164, - 1, 26, 0,180,255,164, 1, 26, 0,181,255,164, 1, 26, 0,182,255,164, 1, 26, 0,183,255,164, 1, 26, 0,184,255,164, 1, 26, - 0,187,255,164, 1, 26, 0,188,255,164, 1, 26, 0,189,255,164, 1, 26, 0,190,255,164, 1, 26, 0,191,255,144, 1, 26, 0,193, -255,144, 1, 26, 0,200,255,154, 1, 26, 0,206,255,154, 1, 26, 0,221,255,164, 1, 26, 1, 38,255,107, 1, 26, 1, 49,255,164, - 1, 26, 1, 58,255,125, 1, 26, 5,145,255,107, 1, 26, 5,146,255,125, 1, 26, 5,147,255,220, 1, 27, 0, 16,255,125, 1, 27, - 0, 17,255, 68, 1, 27, 0, 29,255,220, 1, 27, 0, 70,255,211, 1, 27, 0, 71,255,220, 1, 27, 0, 72,255,211, 1, 27, 0, 74, -255,220, 1, 27, 0, 75,255,220, 1, 27, 0, 80,255,220, 1, 27, 0, 81,255,220, 1, 27, 0, 82,255,211, 1, 27, 0, 84,255,220, - 1, 27, 0, 85,255,220, 1, 27, 0, 91,255,201, 1, 27, 0,109,255,183, 1, 27, 0,169,255,211, 1, 27, 0,170,255,211, 1, 27, - 0,171,255,211, 1, 27, 0,172,255,211, 1, 27, 0,173,255,211, 1, 27, 0,179,255,220, 1, 27, 0,180,255,211, 1, 27, 0,181, -255,211, 1, 27, 0,182,255,211, 1, 27, 0,183,255,211, 1, 27, 0,184,255,211, 1, 27, 0,201,255,211, 1, 27, 0,207,255,211, - 1, 27, 0,209,255,220, 1, 27, 0,221,255,211, 1, 27, 0,225,255,220, 1, 27, 1, 10,255,220, 1, 27, 1, 23,255,220, 1, 27, - 1, 27,255,220, 1, 27, 5,146, 0, 86, 1, 27, 5,147,254,201, 1, 32, 0, 36, 0, 38, 1, 32, 0,130, 0, 38, 1, 32, 0,131, - 0, 38, 1, 32, 0,132, 0, 38, 1, 32, 0,133, 0, 38, 1, 32, 0,134, 0, 38, 1, 34, 0, 36, 0, 38, 1, 34, 0,130, 0, 38, - 1, 34, 0,131, 0, 38, 1, 34, 0,132, 0, 38, 1, 34, 0,133, 0, 38, 1, 34, 0,134, 0, 38, 1, 38, 0, 16,255, 68, 1, 38, - 0, 17,255, 13, 1, 38, 0, 29,255, 31, 1, 38, 0, 36,255, 97, 1, 38, 0, 38,255,136, 1, 38, 0, 55,255,220, 1, 38, 0, 68, -254,173, 1, 38, 0, 70,254,164, 1, 38, 0, 72,254,164, 1, 38, 0, 76,255,193, 1, 38, 0, 82,254,164, 1, 38, 0, 85,254,211, - 1, 38, 0, 86,254,173, 1, 38, 0, 88,254,201, 1, 38, 0, 90,254,173, 1, 38, 0, 92,254,193, 1, 38, 0,109,255, 68, 1, 38, - 0,125,255,144, 1, 38, 0,130,255, 97, 1, 38, 0,131,255, 97, 1, 38, 0,132,255, 97, 1, 38, 0,133,255, 97, 1, 38, 0,134, -255, 97, 1, 38, 0,137,255,136, 1, 38, 0,162,254,173, 1, 38, 0,163,254,173, 1, 38, 0,164,254,173, 1, 38, 0,165,254,173, - 1, 38, 0,166,254,173, 1, 38, 0,167,254,173, 1, 38, 0,169,254,164, 1, 38, 0,170,254,164, 1, 38, 0,171,254,164, 1, 38, - 0,172,254,164, 1, 38, 0,173,254,164, 1, 38, 0,180,254,164, 1, 38, 0,181,254,164, 1, 38, 0,182,254,164, 1, 38, 0,183, -254,164, 1, 38, 0,184,254,164, 1, 38, 0,187,254,201, 1, 38, 0,188,254,201, 1, 38, 0,189,254,201, 1, 38, 0,190,254,201, - 1, 38, 0,191,254,193, 1, 38, 0,193,254,193, 1, 38, 0,200,255,136, 1, 38, 0,201,254,164, 1, 38, 0,206,255,136, 1, 38, - 0,207,254,164, 1, 38, 0,221,254,164, 1, 38, 1, 23,254,211, 1, 38, 1, 27,254,211, 1, 38, 1, 33,254,173, 1, 38, 1, 35, -254,173, 1, 38, 1, 38,255,220, 1, 38, 1, 49,254,201, 1, 38, 5,146,255,211, 1, 38, 5,147,254,248, 1, 48, 0, 61,255,220, - 1, 48, 1, 63,255,220, 1, 58, 0, 16,255, 13, 1, 58, 0, 17,254, 97, 1, 58, 0, 29,254,240, 1, 58, 0, 36,255, 97, 1, 58, - 0, 38,255,144, 1, 58, 0, 50,255,144, 1, 58, 0, 68,254,230, 1, 58, 0, 72,254,240, 1, 58, 0, 76,255,183, 1, 58, 0, 82, -254,240, 1, 58, 0, 88,255, 21, 1, 58, 0,109,255, 31, 1, 58, 0,125,255,107, 1, 58, 0,130,255, 97, 1, 58, 0,131,255, 97, - 1, 58, 0,132,255, 97, 1, 58, 0,133,255, 97, 1, 58, 0,134,255, 97, 1, 58, 0,137,255,144, 1, 58, 0,148,255,144, 1, 58, - 0,149,255,144, 1, 58, 0,150,255,144, 1, 58, 0,151,255,144, 1, 58, 0,152,255,144, 1, 58, 0,162,254,230, 1, 58, 0,163, -254,230, 1, 58, 0,164,254,230, 1, 58, 0,165,254,230, 1, 58, 0,166,254,230, 1, 58, 0,167,254,230, 1, 58, 0,170,254,240, - 1, 58, 0,171,254,240, 1, 58, 0,172,254,240, 1, 58, 0,173,254,240, 1, 58, 0,180,254,240, 1, 58, 0,181,254,240, 1, 58, - 0,182,254,240, 1, 58, 0,183,254,240, 1, 58, 0,184,254,240, 1, 58, 0,187,255, 21, 1, 58, 0,188,255, 21, 1, 58, 0,189, -255, 21, 1, 58, 0,190,255, 21, 1, 58, 0,200,255,144, 1, 58, 0,206,255,144, 1, 58, 0,221,254,240, 1, 58, 1, 49,255, 21, - 1, 58, 5,145,255,144, 1, 58, 5,146,255,220, 1, 58, 5,147,254,248, 1, 63, 0, 16,255,220, 1, 63, 5,145,255,220, 1, 63, - 5,146,255,220, 1, 63, 5,147,255,220, 5,133, 0, 36,255,211, 5,133, 0, 37,255,183, 5,133, 0, 42, 0, 75, 5,133, 0, 45, - 0,114, 5,133, 0, 50, 0, 57, 5,133, 0, 52, 0, 75, 5,133, 0, 55,255, 68, 5,133, 0, 57,255,136, 5,133, 0, 58,255,173, - 5,133, 0, 59,255,154, 5,133, 0, 60,255, 13, 5,133, 0, 82, 0, 38, 5,133, 0, 89,255,201, 5,133, 0, 92,255,220, 5,133, - 0,130,255,211, 5,133, 0,131,255,211, 5,133, 0,132,255,211, 5,133, 0,133,255,211, 5,133, 0,134,255,211, 5,133, 0,148, - 0, 57, 5,133, 0,149, 0, 57, 5,133, 0,150, 0, 57, 5,133, 0,151, 0, 57, 5,133, 0,152, 0, 57, 5,133, 0,159,255, 13, - 5,133, 0,180, 0, 38, 5,133, 0,181, 0, 38, 5,133, 0,182, 0, 38, 5,133, 0,183, 0, 38, 5,133, 0,184, 0, 38, 5,133, - 0,191,255,220, 5,133, 0,193,255,220, 5,133, 0,224, 0, 75, 5,133, 1, 38,255, 68, 5,133, 1, 58,255, 13, 5,145, 0, 36, -254,248, 5,145, 0, 37,255,193, 5,145, 0, 38,255,183, 5,145, 0, 39,255,193, 5,145, 0, 41,255,193, 5,145, 0, 42,255,183, - 5,145, 0, 43,255,193, 5,145, 0, 45,255,193, 5,145, 0, 46,255,193, 5,145, 0, 47,255,193, 5,145, 0, 50,255,183, 5,145, - 0, 51,255,193, 5,145, 0, 52,255,183, 5,145, 0, 53,255,193, 5,145, 0, 59,255,136, 5,145, 0, 61,255,220, 5,145, 0, 73, -255,183, 5,145, 0, 81,255,144, 5,145, 0, 82,255,107, 5,145, 0, 85,255,144, 5,145, 0, 89,255,183, 5,145, 0, 90,255,183, - 5,145, 0, 92,255,183, 5,145, 0,130,254,248, 5,145, 0,131,254,248, 5,145, 0,132,254,248, 5,145, 0,133,254,248, 5,145, - 0,134,254,248, 5,145, 0,136,254,125, 5,145, 0,137,255,183, 5,145, 0,148,255,183, 5,145, 0,149,255,183, 5,145, 0,150, -255,183, 5,145, 0,151,255,183, 5,145, 0,152,255,183, 5,145, 0,160,255,193, 5,145, 0,161,255,193, 5,145, 0,178,255,183, - 5,145, 0,179,255,144, 5,145, 0,180,255,107, 5,145, 0,181,255,107, 5,145, 0,182,255,107, 5,145, 0,183,255,107, 5,145, - 0,184,255,107, 5,145, 0,191,255,183, 5,145, 0,193,255,183, 5,145, 0,200,255,183, 5,145, 0,206,255,183, 5,145, 0,208, -255,193, 5,145, 0,224,255,183, 5,145, 0,251,255,193, 5,145, 0,255,255,193, 5,145, 1, 10,255,144, 5,145, 1, 22,255,193, - 5,145, 1, 23,255,144, 5,145, 1, 26,255,193, 5,145, 1, 27,255,144, 5,145, 1, 63,255,220, 5,147, 0, 36, 0, 38, 5,147, - 0, 37,255,183, 5,147, 0, 38,255,144, 5,147, 0, 39,255,183, 5,147, 0, 41,255,183, 5,147, 0, 42,255,183, 5,147, 0, 43, -255,183, 5,147, 0, 45, 0, 47, 5,147, 0, 46,255,183, 5,147, 0, 47,255,183, 5,147, 0, 50,255,144, 5,147, 0, 51,255,183, - 5,147, 0, 52,255,144, 5,147, 0, 53,255,183, 5,147, 0, 55,254,230, 5,147, 0, 57,254,136, 5,147, 0, 58,255, 3, 5,147, - 0, 59,255,183, 5,147, 0, 60,254,136, 5,147, 0, 73,255,220, 5,147, 0, 81,255,183, 5,147, 0, 82,255,183, 5,147, 0, 85, -255,183, 5,147, 0, 89,255, 21, 5,147, 0, 90,255, 60, 5,147, 0, 92,255,144, 5,147, 0,130, 0, 38, 5,147, 0,131, 0, 38, - 5,147, 0,132, 0, 38, 5,147, 0,133, 0, 38, 5,147, 0,134, 0, 38, 5,147, 0,136, 0, 38, 5,147, 0,137,255,144, 5,147, - 0,148,255,144, 5,147, 0,149,255,144, 5,147, 0,150,255,144, 5,147, 0,151,255,144, 5,147, 0,152,255,144, 5,147, 0,159, -254,136, 5,147, 0,160,255,183, 5,147, 0,161,255,183, 5,147, 0,178,255,183, 5,147, 0,179,255,183, 5,147, 0,180,255,183, - 5,147, 0,181,255,183, 5,147, 0,182,255,183, 5,147, 0,183,255,183, 5,147, 0,184,255,183, 5,147, 0,191,255,144, 5,147, - 0,193,255,144, 5,147, 0,200,255,144, 5,147, 0,206,255,144, 5,147, 0,208,255,183, 5,147, 0,224,255,183, 5,147, 0,251, -255,183, 5,147, 0,255,255,183, 5,147, 1, 10,255,183, 5,147, 1, 22,255,183, 5,147, 1, 23,255,183, 5,147, 1, 26,255,183, - 5,147, 1, 27,255,183, 5,147, 1, 38,254,230, 5,147, 1, 58,254,136, 0, 0, 0, 0, 0, 61, 2,226, 0, 1, 0, 0, 0, 0, - 0, 0, 0,152, 1, 50, 0, 1, 0, 0, 0, 0, 0, 1, 0, 11, 1,227, 0, 1, 0, 0, 0, 0, 0, 2, 0, 4, 1,249, 0, 1, - 0, 0, 0, 0, 0, 3, 0, 11, 2, 22, 0, 1, 0, 0, 0, 0, 0, 4, 0, 11, 2, 58, 0, 1, 0, 0, 0, 0, 0, 5, 0, 11, - 2, 94, 0, 1, 0, 0, 0, 0, 0, 6, 0, 10, 2,128, 0, 1, 0, 0, 0, 0, 0, 8, 0, 17, 2,175, 0, 1, 0, 0, 0, 0, - 0, 11, 0, 29, 2,253, 0, 1, 0, 0, 0, 0, 0, 13, 18,157, 40, 87, 0, 1, 0, 0, 0, 0, 0, 14, 0, 52, 59, 95, 0, 1, - 0, 0, 0, 0, 1, 0, 0, 24, 59,148, 0, 1, 0, 0, 0, 0, 1, 1, 0, 9, 60, 27, 0, 1, 0, 0, 0, 0, 1, 2, 0, 18, - 60, 76, 0, 1, 0, 0, 0, 0, 1, 3, 0, 9, 60,139, 0, 1, 0, 0, 0, 0, 1, 4, 0, 17, 60,167, 0, 1, 0, 0, 0, 0, - 1, 5, 0, 16, 61, 22, 0, 1, 0, 0, 0, 0, 1, 6, 0, 14, 61,125, 0, 1, 0, 0, 0, 0, 1, 7, 0, 7, 61,207, 0, 1, - 0, 0, 0, 0, 1, 8, 0, 18, 61,245, 0, 1, 0, 0, 0, 1, 1, 0, 0, 24, 59,173, 0, 1, 0, 0, 0, 1, 1, 1, 0, 9, - 60, 37, 0, 1, 0, 0, 0, 1, 1, 2, 0, 23, 60, 95, 0, 1, 0, 0, 0, 1, 1, 3, 0, 9, 60,149, 0, 1, 0, 0, 0, 1, - 1, 4, 0, 31, 60,185, 0, 1, 0, 0, 0, 1, 1, 5, 0, 18, 61, 39, 0, 1, 0, 0, 0, 1, 1, 6, 0, 15, 61,140, 0, 1, - 0, 0, 0, 1, 1, 7, 0, 21, 61,215, 0, 1, 0, 0, 0, 1, 1, 8, 0, 22, 62, 8, 0, 1, 0, 0, 0, 2, 1, 0, 0, 33, - 59,198, 0, 1, 0, 0, 0, 2, 1, 1, 0, 9, 60, 47, 0, 1, 0, 0, 0, 2, 1, 4, 0, 23, 60,217, 0, 1, 0, 0, 0, 2, - 1, 5, 0, 17, 61, 58, 0, 1, 0, 0, 0, 2, 1, 6, 0, 17, 61,156, 0, 1, 0, 0, 0, 2, 1, 8, 0, 16, 62, 31, 0, 1, - 0, 0, 0, 3, 1, 0, 0, 21, 59,232, 0, 1, 0, 0, 0, 3, 1, 1, 0, 8, 60, 57, 0, 1, 0, 0, 0, 3, 1, 4, 0, 17, - 60,241, 0, 1, 0, 0, 0, 3, 1, 5, 0, 19, 61, 76, 0, 1, 0, 0, 0, 3, 1, 6, 0, 13, 61,174, 0, 1, 0, 0, 0, 3, - 1, 8, 0, 18, 62, 48, 0, 1, 0, 0, 0, 4, 1, 0, 0, 28, 59,254, 0, 1, 0, 0, 0, 4, 1, 1, 0, 9, 60, 66, 0, 1, - 0, 0, 0, 4, 1, 2, 0, 19, 60,119, 0, 1, 0, 0, 0, 4, 1, 3, 0, 7, 60,159, 0, 1, 0, 0, 0, 4, 1, 4, 0, 18, - 61, 3, 0, 1, 0, 0, 0, 4, 1, 5, 0, 28, 61, 96, 0, 1, 0, 0, 0, 4, 1, 6, 0, 18, 61,188, 0, 1, 0, 0, 0, 4, - 1, 7, 0, 7, 61,237, 0, 1, 0, 0, 0, 4, 1, 8, 0, 17, 62, 67, 0, 3, 0, 1, 4, 9, 0, 0, 1, 48, 0, 0, 0, 3, - 0, 1, 4, 9, 0, 1, 0, 22, 1,203, 0, 3, 0, 1, 4, 9, 0, 2, 0, 8, 1,239, 0, 3, 0, 1, 4, 9, 0, 3, 0, 22, - 1,254, 0, 3, 0, 1, 4, 9, 0, 4, 0, 22, 2, 34, 0, 3, 0, 1, 4, 9, 0, 5, 0, 22, 2, 70, 0, 3, 0, 1, 4, 9, - 0, 6, 0, 20, 2,106, 0, 3, 0, 1, 4, 9, 0, 8, 0, 34, 2,139, 0, 3, 0, 1, 4, 9, 0, 11, 0, 58, 2,193, 0, 3, - 0, 1, 4, 9, 0, 13, 37, 58, 3, 27, 0, 3, 0, 1, 4, 9, 0, 14, 0,104, 58,245, 0, 67, 0,111, 0,112, 0,121, 0,114, - 0,105, 0,103, 0,104, 0,116, 0, 32, 0, 40, 0, 99, 0, 41, 0, 32, 0, 50, 0, 48, 0, 48, 0, 51, 0, 32, 0, 98, 0,121, - 0, 32, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 44, 0, 32, 0, 73, 0,110, 0, 99, 0, 46, - 0, 32, 0, 65, 0,108, 0,108, 0, 32, 0, 82, 0,105, 0,103, 0,104, 0,116, 0,115, 0, 32, 0, 82, 0,101, 0,115, 0,101, - 0,114, 0,118, 0,101, 0,100, 0, 46, 0, 10, 0, 67, 0,111, 0,112, 0,121, 0,114, 0,105, 0,103, 0,104, 0,116, 0, 32, - 0, 40, 0, 99, 0, 41, 0, 32, 0, 50, 0, 48, 0, 48, 0, 54, 0, 32, 0, 98, 0,121, 0, 32, 0, 84, 0, 97, 0,118, 0,109, - 0,106, 0,111, 0,110, 0,103, 0, 32, 0, 66, 0, 97, 0,104, 0, 46, 0, 32, 0, 65, 0,108, 0,108, 0, 32, 0, 82, 0,105, - 0,103, 0,104, 0,116, 0,115, 0, 32, 0, 82, 0,101, 0,115, 0,101, 0,114, 0,118, 0,101, 0,100, 0, 46, 0, 10, 0, 68, - 0,101, 0,106, 0, 97, 0, 86, 0,117, 0, 32, 0, 99, 0,104, 0, 97, 0,110, 0,103, 0,101, 0,115, 0, 32, 0, 97, 0,114, - 0,101, 0, 32, 0,105, 0,110, 0, 32, 0,112, 0,117, 0, 98, 0,108, 0,105, 0, 99, 0, 32, 0,100, 0,111, 0,109, 0, 97, - 0,105, 0,110, 0, 10, 0, 0, 67,111,112,121,114,105,103,104,116, 32, 40, 99, 41, 32, 50, 48, 48, 51, 32, 98,121, 32, 66,105, -116,115,116,114,101, 97,109, 44, 32, 73,110, 99, 46, 32, 65,108,108, 32, 82,105,103,104,116,115, 32, 82,101,115,101,114,118,101, -100, 46, 10, 67,111,112,121,114,105,103,104,116, 32, 40, 99, 41, 32, 50, 48, 48, 54, 32, 98,121, 32, 84, 97,118,109,106,111,110, -103, 32, 66, 97,104, 46, 32, 65,108,108, 32, 82,105,103,104,116,115, 32, 82,101,115,101,114,118,101,100, 46, 10, 68,101,106, 97, - 86,117, 32, 99,104, 97,110,103,101,115, 32, 97,114,101, 32,105,110, 32,112,117, 98,108,105, 99, 32,100,111,109, 97,105,110, 10, - 0, 0, 68, 0,101, 0,106, 0, 97, 0, 86, 0,117, 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 0, 68,101,106, 97, 86,117, 32, - 83, 97,110,115, 0, 0, 66, 0,111, 0,111, 0,107, 0, 0, 66,111,111,107, 0, 0, 68, 0,101, 0,106, 0, 97, 0, 86, 0,117, - 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 0, 68,101,106, 97, 86,117, 32, 83, 97,110,115, 0, 0, 68, 0,101, 0,106, 0, 97, - 0, 86, 0,117, 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 0, 68,101,106, 97, 86,117, 32, 83, 97,110,115, 0, 0, 86, 0,101, - 0,114, 0,115, 0,105, 0,111, 0,110, 0, 32, 0, 50, 0, 46, 0, 56, 0, 0, 86,101,114,115,105,111,110, 32, 50, 46, 56, 0, - 0, 68, 0,101, 0,106, 0, 97, 0, 86, 0,117, 0, 83, 0, 97, 0,110, 0,115, 0, 0, 68,101,106, 97, 86,117, 83, 97,110,115, - 0, 0, 68, 0,101, 0,106, 0, 97, 0, 86, 0,117, 0, 32, 0,102, 0,111, 0,110, 0,116, 0,115, 0, 32, 0,116, 0,101, 0, - 97, 0,109, 0, 0, 68,101,106, 97, 86,117, 32,102,111,110,116,115, 32,116,101, 97,109, 0, 0,104, 0,116, 0,116, 0,112, 0, - 58, 0, 47, 0, 47, 0,100, 0,101, 0,106, 0, 97, 0,118, 0,117, 0, 46, 0,115, 0,111, 0,117, 0,114, 0, 99, 0,101, 0, -102, 0,111, 0,114, 0,103, 0,101, 0, 46, 0,110, 0,101, 0,116, 0, 0,104,116,116,112, 58, 47, 47,100,101,106, 97,118,117, - 46,115,111,117,114, 99,101,102,111,114,103,101, 46,110,101,116, 0, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 32, 0, 97, 0, -114, 0,101, 0, 32, 0, 40, 0, 99, 0, 41, 0, 32, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, - 32, 0, 40, 0,115, 0,101, 0,101, 0, 32, 0, 98, 0,101, 0,108, 0,111, 0,119, 0, 41, 0, 46, 0, 32, 0, 68, 0,101, 0, -106, 0, 97, 0, 86, 0,117, 0, 32, 0, 99, 0,104, 0, 97, 0,110, 0,103, 0,101, 0,115, 0, 32, 0, 97, 0,114, 0,101, 0, - 32, 0,105, 0,110, 0, 32, 0,112, 0,117, 0, 98, 0,108, 0,105, 0, 99, 0, 32, 0,100, 0,111, 0,109, 0, 97, 0,105, 0, -110, 0, 46, 0, 32, 0, 71, 0,108, 0,121, 0,112, 0,104, 0,115, 0, 32, 0,105, 0,109, 0,112, 0,111, 0,114, 0,116, 0, -101, 0,100, 0, 32, 0,102, 0,114, 0,111, 0,109, 0, 32, 0, 65, 0,114, 0,101, 0,118, 0, 32, 0,102, 0,111, 0,110, 0, -116, 0,115, 0, 32, 0, 97, 0,114, 0,101, 0, 32, 0, 40, 0, 99, 0, 41, 0, 32, 0, 84, 0, 97, 0,118, 0,109, 0,106, 0, -117, 0,110, 0,103, 0, 32, 0, 66, 0, 97, 0,104, 0, 32, 0, 40, 0,115, 0,101, 0,101, 0, 32, 0, 98, 0,101, 0,108, 0, -111, 0,119, 0, 41, 0, 10, 0, 10, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 32, 0, 86, 0, -101, 0,114, 0, 97, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 32, 0, 67, 0,111, 0,112, 0,121, 0,114, 0,105, 0, -103, 0,104, 0,116, 0, 10, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, - 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, - 45, 0, 45, 0, 10, 0, 10, 0, 67, 0,111, 0,112, 0,121, 0,114, 0,105, 0,103, 0,104, 0,116, 0, 32, 0, 40, 0, 99, 0, - 41, 0, 32, 0, 50, 0, 48, 0, 48, 0, 51, 0, 32, 0, 98, 0,121, 0, 32, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0, -101, 0, 97, 0,109, 0, 44, 0, 32, 0, 73, 0,110, 0, 99, 0, 46, 0, 32, 0, 65, 0,108, 0,108, 0, 32, 0, 82, 0,105, 0, -103, 0,104, 0,116, 0,115, 0, 32, 0, 82, 0,101, 0,115, 0,101, 0,114, 0,118, 0,101, 0,100, 0, 46, 0, 32, 0, 66, 0, -105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 32, 0, 86, 0,101, 0,114, 0, 97, 0, 32, 0,105, 0,115, 0, - 10, 0, 97, 0, 32, 0,116, 0,114, 0, 97, 0,100, 0,101, 0,109, 0, 97, 0,114, 0,107, 0, 32, 0,111, 0,102, 0, 32, 0, - 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 44, 0, 32, 0, 73, 0,110, 0, 99, 0, 46, 0, 10, 0, - 10, 0, 80, 0,101, 0,114, 0,109, 0,105, 0,115, 0,115, 0,105, 0,111, 0,110, 0, 32, 0,105, 0,115, 0, 32, 0,104, 0, -101, 0,114, 0,101, 0, 98, 0,121, 0, 32, 0,103, 0,114, 0, 97, 0,110, 0,116, 0,101, 0,100, 0, 44, 0, 32, 0,102, 0, -114, 0,101, 0,101, 0, 32, 0,111, 0,102, 0, 32, 0, 99, 0,104, 0, 97, 0,114, 0,103, 0,101, 0, 44, 0, 32, 0,116, 0, -111, 0, 32, 0, 97, 0,110, 0,121, 0, 32, 0,112, 0,101, 0,114, 0,115, 0,111, 0,110, 0, 32, 0,111, 0, 98, 0,116, 0, - 97, 0,105, 0,110, 0,105, 0,110, 0,103, 0, 32, 0, 97, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0, 10, 0,111, 0,102, 0, - 32, 0,116, 0,104, 0,101, 0, 32, 0,102, 0,111, 0,110, 0,116, 0,115, 0, 32, 0, 97, 0, 99, 0, 99, 0,111, 0,109, 0, -112, 0, 97, 0,110, 0,121, 0,105, 0,110, 0,103, 0, 32, 0,116, 0,104, 0,105, 0,115, 0, 32, 0,108, 0,105, 0, 99, 0, -101, 0,110, 0,115, 0,101, 0, 32, 0, 40, 0, 34, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 34, 0, 41, 0, 32, 0, 97, 0, -110, 0,100, 0, 32, 0, 97, 0,115, 0,115, 0,111, 0, 99, 0,105, 0, 97, 0,116, 0,101, 0,100, 0, 10, 0,100, 0,111, 0, - 99, 0,117, 0,109, 0,101, 0,110, 0,116, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 32, 0,102, 0,105, 0,108, 0,101, 0, -115, 0, 32, 0, 40, 0,116, 0,104, 0,101, 0, 32, 0, 34, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0, -116, 0,119, 0, 97, 0,114, 0,101, 0, 34, 0, 41, 0, 44, 0, 32, 0,116, 0,111, 0, 32, 0,114, 0,101, 0,112, 0,114, 0, -111, 0,100, 0,117, 0, 99, 0,101, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,100, 0,105, 0,115, 0,116, 0,114, 0,105, 0, - 98, 0,117, 0,116, 0,101, 0, 32, 0,116, 0,104, 0,101, 0, 10, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0, -102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 44, 0, 32, 0,105, 0,110, 0, 99, 0,108, 0,117, 0,100, 0,105, 0,110, 0, -103, 0, 32, 0,119, 0,105, 0,116, 0,104, 0,111, 0,117, 0,116, 0, 32, 0,108, 0,105, 0,109, 0,105, 0,116, 0, 97, 0, -116, 0,105, 0,111, 0,110, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,114, 0,105, 0,103, 0,104, 0,116, 0,115, 0, 32, 0, -116, 0,111, 0, 32, 0,117, 0,115, 0,101, 0, 44, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0, 44, 0, 32, 0,109, 0,101, 0, -114, 0,103, 0,101, 0, 44, 0, 10, 0,112, 0,117, 0, 98, 0,108, 0,105, 0,115, 0,104, 0, 44, 0, 32, 0,100, 0,105, 0, -115, 0,116, 0,114, 0,105, 0, 98, 0,117, 0,116, 0,101, 0, 44, 0, 32, 0, 97, 0,110, 0,100, 0, 47, 0,111, 0,114, 0, - 32, 0,115, 0,101, 0,108, 0,108, 0, 32, 0, 99, 0,111, 0,112, 0,105, 0,101, 0,115, 0, 32, 0,111, 0,102, 0, 32, 0, -116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0, -101, 0, 44, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,116, 0,111, 0, 32, 0,112, 0,101, 0,114, 0,109, 0,105, 0,116, 0, - 10, 0,112, 0,101, 0,114, 0,115, 0,111, 0,110, 0,115, 0, 32, 0,116, 0,111, 0, 32, 0,119, 0,104, 0,111, 0,109, 0, - 32, 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0, -114, 0,101, 0, 32, 0,105, 0,115, 0, 32, 0,102, 0,117, 0,114, 0,110, 0,105, 0,115, 0,104, 0,101, 0,100, 0, 32, 0, -116, 0,111, 0, 32, 0,100, 0,111, 0, 32, 0,115, 0,111, 0, 44, 0, 32, 0,115, 0,117, 0, 98, 0,106, 0,101, 0, 99, 0, -116, 0, 32, 0,116, 0,111, 0, 32, 0,116, 0,104, 0,101, 0, 10, 0,102, 0,111, 0,108, 0,108, 0,111, 0,119, 0,105, 0, -110, 0,103, 0, 32, 0, 99, 0,111, 0,110, 0,100, 0,105, 0,116, 0,105, 0,111, 0,110, 0,115, 0, 58, 0, 10, 0, 10, 0, - 84, 0,104, 0,101, 0, 32, 0, 97, 0, 98, 0,111, 0,118, 0,101, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0,114, 0,105, 0, -103, 0,104, 0,116, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,116, 0,114, 0, 97, 0,100, 0,101, 0,109, 0, 97, 0,114, 0, -107, 0, 32, 0,110, 0,111, 0,116, 0,105, 0, 99, 0,101, 0,115, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,116, 0,104, 0, -105, 0,115, 0, 32, 0,112, 0,101, 0,114, 0,109, 0,105, 0,115, 0,115, 0,105, 0,111, 0,110, 0, 32, 0,110, 0,111, 0, -116, 0,105, 0, 99, 0,101, 0, 32, 0,115, 0,104, 0, 97, 0,108, 0,108, 0, 10, 0, 98, 0,101, 0, 32, 0,105, 0,110, 0, - 99, 0,108, 0,117, 0,100, 0,101, 0,100, 0, 32, 0,105, 0,110, 0, 32, 0, 97, 0,108, 0,108, 0, 32, 0, 99, 0,111, 0, -112, 0,105, 0,101, 0,115, 0, 32, 0,111, 0,102, 0, 32, 0,111, 0,110, 0,101, 0, 32, 0,111, 0,114, 0, 32, 0,109, 0, -111, 0,114, 0,101, 0, 32, 0,111, 0,102, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, - 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,116, 0,121, 0,112, 0,101, 0,102, 0, 97, 0, 99, 0, -101, 0,115, 0, 46, 0, 10, 0, 10, 0, 84, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0, -102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0,109, 0,111, 0, -100, 0,105, 0,102, 0,105, 0,101, 0,100, 0, 44, 0, 32, 0, 97, 0,108, 0,116, 0,101, 0,114, 0,101, 0,100, 0, 44, 0, - 32, 0,111, 0,114, 0, 32, 0, 97, 0,100, 0,100, 0,101, 0,100, 0, 32, 0,116, 0,111, 0, 44, 0, 32, 0, 97, 0,110, 0, -100, 0, 32, 0,105, 0,110, 0, 32, 0,112, 0, 97, 0,114, 0,116, 0,105, 0, 99, 0,117, 0,108, 0, 97, 0,114, 0, 10, 0, -116, 0,104, 0,101, 0, 32, 0,100, 0,101, 0,115, 0,105, 0,103, 0,110, 0,115, 0, 32, 0,111, 0,102, 0, 32, 0,103, 0, -108, 0,121, 0,112, 0,104, 0,115, 0, 32, 0,111, 0,114, 0, 32, 0, 99, 0,104, 0, 97, 0,114, 0, 97, 0, 99, 0,116, 0, -101, 0,114, 0,115, 0, 32, 0,105, 0,110, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, - 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0,109, 0,111, 0,100, 0,105, 0,102, 0,105, 0,101, 0,100, 0, - 32, 0, 97, 0,110, 0,100, 0, 10, 0, 97, 0,100, 0,100, 0,105, 0,116, 0,105, 0,111, 0,110, 0, 97, 0,108, 0, 32, 0, -103, 0,108, 0,121, 0,112, 0,104, 0,115, 0, 32, 0,111, 0,114, 0, 32, 0, 99, 0,104, 0, 97, 0,114, 0, 97, 0, 99, 0, -116, 0,101, 0,114, 0,115, 0, 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0, 97, 0,100, 0,100, 0,101, 0, -100, 0, 32, 0,116, 0,111, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 44, 0, 32, 0, -111, 0,110, 0,108, 0,121, 0, 32, 0,105, 0,102, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,102, 0,111, 0,110, 0,116, 0, -115, 0, 10, 0, 97, 0,114, 0,101, 0, 32, 0,114, 0,101, 0,110, 0, 97, 0,109, 0,101, 0,100, 0, 32, 0,116, 0,111, 0, - 32, 0,110, 0, 97, 0,109, 0,101, 0,115, 0, 32, 0,110, 0,111, 0,116, 0, 32, 0, 99, 0,111, 0,110, 0,116, 0, 97, 0, -105, 0,110, 0,105, 0,110, 0,103, 0, 32, 0,101, 0,105, 0,116, 0,104, 0,101, 0,114, 0, 32, 0,116, 0,104, 0,101, 0, - 32, 0,119, 0,111, 0,114, 0,100, 0,115, 0, 32, 0, 34, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0, -109, 0, 34, 0, 32, 0,111, 0,114, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,119, 0,111, 0,114, 0,100, 0, 10, 0, 34, 0, - 86, 0,101, 0,114, 0, 97, 0, 34, 0, 46, 0, 10, 0, 10, 0, 84, 0,104, 0,105, 0,115, 0, 32, 0, 76, 0,105, 0, 99, 0, -101, 0,110, 0,115, 0,101, 0, 32, 0, 98, 0,101, 0, 99, 0,111, 0,109, 0,101, 0,115, 0, 32, 0,110, 0,117, 0,108, 0, -108, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,118, 0,111, 0,105, 0,100, 0, 32, 0,116, 0,111, 0, 32, 0,116, 0,104, 0, -101, 0, 32, 0,101, 0,120, 0,116, 0,101, 0,110, 0,116, 0, 32, 0, 97, 0,112, 0,112, 0,108, 0,105, 0, 99, 0, 97, 0, - 98, 0,108, 0,101, 0, 32, 0,116, 0,111, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 32, 0,111, 0,114, 0, 32, 0, - 70, 0,111, 0,110, 0,116, 0, 10, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,116, 0,104, 0, - 97, 0,116, 0, 32, 0,104, 0, 97, 0,115, 0, 32, 0, 98, 0,101, 0,101, 0,110, 0, 32, 0,109, 0,111, 0,100, 0,105, 0, -102, 0,105, 0,101, 0,100, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,105, 0,115, 0, 32, 0,100, 0,105, 0,115, 0,116, 0, -114, 0,105, 0, 98, 0,117, 0,116, 0,101, 0,100, 0, 32, 0,117, 0,110, 0,100, 0,101, 0,114, 0, 32, 0,116, 0,104, 0, -101, 0, 32, 0, 34, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 10, 0, 86, 0,101, 0,114, 0, - 97, 0, 34, 0, 32, 0,110, 0, 97, 0,109, 0,101, 0,115, 0, 46, 0, 10, 0, 10, 0, 84, 0,104, 0,101, 0, 32, 0, 70, 0, -111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,109, 0, 97, 0,121, 0, - 32, 0, 98, 0,101, 0, 32, 0,115, 0,111, 0,108, 0,100, 0, 32, 0, 97, 0,115, 0, 32, 0,112, 0, 97, 0,114, 0,116, 0, - 32, 0,111, 0,102, 0, 32, 0, 97, 0, 32, 0,108, 0, 97, 0,114, 0,103, 0,101, 0,114, 0, 32, 0,115, 0,111, 0,102, 0, -116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,112, 0, 97, 0, 99, 0,107, 0, 97, 0,103, 0,101, 0, 32, 0, 98, 0,117, 0, -116, 0, 32, 0,110, 0,111, 0, 10, 0, 99, 0,111, 0,112, 0,121, 0, 32, 0,111, 0,102, 0, 32, 0,111, 0,110, 0,101, 0, - 32, 0,111, 0,114, 0, 32, 0,109, 0,111, 0,114, 0,101, 0, 32, 0,111, 0,102, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, - 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,116, 0,121, 0, -112, 0,101, 0,102, 0, 97, 0, 99, 0,101, 0,115, 0, 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0,115, 0, -111, 0,108, 0,100, 0, 32, 0, 98, 0,121, 0, 32, 0,105, 0,116, 0,115, 0,101, 0,108, 0,102, 0, 46, 0, 10, 0, 10, 0, - 84, 0, 72, 0, 69, 0, 32, 0, 70, 0, 79, 0, 78, 0, 84, 0, 32, 0, 83, 0, 79, 0, 70, 0, 84, 0, 87, 0, 65, 0, 82, 0, - 69, 0, 32, 0, 73, 0, 83, 0, 32, 0, 80, 0, 82, 0, 79, 0, 86, 0, 73, 0, 68, 0, 69, 0, 68, 0, 32, 0, 34, 0, 65, 0, - 83, 0, 32, 0, 73, 0, 83, 0, 34, 0, 44, 0, 32, 0, 87, 0, 73, 0, 84, 0, 72, 0, 79, 0, 85, 0, 84, 0, 32, 0, 87, 0, - 65, 0, 82, 0, 82, 0, 65, 0, 78, 0, 84, 0, 89, 0, 32, 0, 79, 0, 70, 0, 32, 0, 65, 0, 78, 0, 89, 0, 32, 0, 75, 0, - 73, 0, 78, 0, 68, 0, 44, 0, 32, 0, 69, 0, 88, 0, 80, 0, 82, 0, 69, 0, 83, 0, 83, 0, 10, 0, 79, 0, 82, 0, 32, 0, - 73, 0, 77, 0, 80, 0, 76, 0, 73, 0, 69, 0, 68, 0, 44, 0, 32, 0, 73, 0, 78, 0, 67, 0, 76, 0, 85, 0, 68, 0, 73, 0, - 78, 0, 71, 0, 32, 0, 66, 0, 85, 0, 84, 0, 32, 0, 78, 0, 79, 0, 84, 0, 32, 0, 76, 0, 73, 0, 77, 0, 73, 0, 84, 0, - 69, 0, 68, 0, 32, 0, 84, 0, 79, 0, 32, 0, 65, 0, 78, 0, 89, 0, 32, 0, 87, 0, 65, 0, 82, 0, 82, 0, 65, 0, 78, 0, - 84, 0, 73, 0, 69, 0, 83, 0, 32, 0, 79, 0, 70, 0, 32, 0, 77, 0, 69, 0, 82, 0, 67, 0, 72, 0, 65, 0, 78, 0, 84, 0, - 65, 0, 66, 0, 73, 0, 76, 0, 73, 0, 84, 0, 89, 0, 44, 0, 10, 0, 70, 0, 73, 0, 84, 0, 78, 0, 69, 0, 83, 0, 83, 0, - 32, 0, 70, 0, 79, 0, 82, 0, 32, 0, 65, 0, 32, 0, 80, 0, 65, 0, 82, 0, 84, 0, 73, 0, 67, 0, 85, 0, 76, 0, 65, 0, - 82, 0, 32, 0, 80, 0, 85, 0, 82, 0, 80, 0, 79, 0, 83, 0, 69, 0, 32, 0, 65, 0, 78, 0, 68, 0, 32, 0, 78, 0, 79, 0, - 78, 0, 73, 0, 78, 0, 70, 0, 82, 0, 73, 0, 78, 0, 71, 0, 69, 0, 77, 0, 69, 0, 78, 0, 84, 0, 32, 0, 79, 0, 70, 0, - 32, 0, 67, 0, 79, 0, 80, 0, 89, 0, 82, 0, 73, 0, 71, 0, 72, 0, 84, 0, 44, 0, 32, 0, 80, 0, 65, 0, 84, 0, 69, 0, - 78, 0, 84, 0, 44, 0, 10, 0, 84, 0, 82, 0, 65, 0, 68, 0, 69, 0, 77, 0, 65, 0, 82, 0, 75, 0, 44, 0, 32, 0, 79, 0, - 82, 0, 32, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 32, 0, 82, 0, 73, 0, 71, 0, 72, 0, 84, 0, 46, 0, 32, 0, 73, 0, - 78, 0, 32, 0, 78, 0, 79, 0, 32, 0, 69, 0, 86, 0, 69, 0, 78, 0, 84, 0, 32, 0, 83, 0, 72, 0, 65, 0, 76, 0, 76, 0, - 32, 0, 66, 0, 73, 0, 84, 0, 83, 0, 84, 0, 82, 0, 69, 0, 65, 0, 77, 0, 32, 0, 79, 0, 82, 0, 32, 0, 84, 0, 72, 0, - 69, 0, 32, 0, 71, 0, 78, 0, 79, 0, 77, 0, 69, 0, 10, 0, 70, 0, 79, 0, 85, 0, 78, 0, 68, 0, 65, 0, 84, 0, 73, 0, - 79, 0, 78, 0, 32, 0, 66, 0, 69, 0, 32, 0, 76, 0, 73, 0, 65, 0, 66, 0, 76, 0, 69, 0, 32, 0, 70, 0, 79, 0, 82, 0, - 32, 0, 65, 0, 78, 0, 89, 0, 32, 0, 67, 0, 76, 0, 65, 0, 73, 0, 77, 0, 44, 0, 32, 0, 68, 0, 65, 0, 77, 0, 65, 0, - 71, 0, 69, 0, 83, 0, 32, 0, 79, 0, 82, 0, 32, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 32, 0, 76, 0, 73, 0, 65, 0, - 66, 0, 73, 0, 76, 0, 73, 0, 84, 0, 89, 0, 44, 0, 32, 0, 73, 0, 78, 0, 67, 0, 76, 0, 85, 0, 68, 0, 73, 0, 78, 0, - 71, 0, 10, 0, 65, 0, 78, 0, 89, 0, 32, 0, 71, 0, 69, 0, 78, 0, 69, 0, 82, 0, 65, 0, 76, 0, 44, 0, 32, 0, 83, 0, - 80, 0, 69, 0, 67, 0, 73, 0, 65, 0, 76, 0, 44, 0, 32, 0, 73, 0, 78, 0, 68, 0, 73, 0, 82, 0, 69, 0, 67, 0, 84, 0, - 44, 0, 32, 0, 73, 0, 78, 0, 67, 0, 73, 0, 68, 0, 69, 0, 78, 0, 84, 0, 65, 0, 76, 0, 44, 0, 32, 0, 79, 0, 82, 0, - 32, 0, 67, 0, 79, 0, 78, 0, 83, 0, 69, 0, 81, 0, 85, 0, 69, 0, 78, 0, 84, 0, 73, 0, 65, 0, 76, 0, 32, 0, 68, 0, - 65, 0, 77, 0, 65, 0, 71, 0, 69, 0, 83, 0, 44, 0, 10, 0, 87, 0, 72, 0, 69, 0, 84, 0, 72, 0, 69, 0, 82, 0, 32, 0, - 73, 0, 78, 0, 32, 0, 65, 0, 78, 0, 32, 0, 65, 0, 67, 0, 84, 0, 73, 0, 79, 0, 78, 0, 32, 0, 79, 0, 70, 0, 32, 0, - 67, 0, 79, 0, 78, 0, 84, 0, 82, 0, 65, 0, 67, 0, 84, 0, 44, 0, 32, 0, 84, 0, 79, 0, 82, 0, 84, 0, 32, 0, 79, 0, - 82, 0, 32, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 87, 0, 73, 0, 83, 0, 69, 0, 44, 0, 32, 0, 65, 0, 82, 0, 73, 0, - 83, 0, 73, 0, 78, 0, 71, 0, 32, 0, 70, 0, 82, 0, 79, 0, 77, 0, 44, 0, 32, 0, 79, 0, 85, 0, 84, 0, 32, 0, 79, 0, - 70, 0, 10, 0, 84, 0, 72, 0, 69, 0, 32, 0, 85, 0, 83, 0, 69, 0, 32, 0, 79, 0, 82, 0, 32, 0, 73, 0, 78, 0, 65, 0, - 66, 0, 73, 0, 76, 0, 73, 0, 84, 0, 89, 0, 32, 0, 84, 0, 79, 0, 32, 0, 85, 0, 83, 0, 69, 0, 32, 0, 84, 0, 72, 0, - 69, 0, 32, 0, 70, 0, 79, 0, 78, 0, 84, 0, 32, 0, 83, 0, 79, 0, 70, 0, 84, 0, 87, 0, 65, 0, 82, 0, 69, 0, 32, 0, - 79, 0, 82, 0, 32, 0, 70, 0, 82, 0, 79, 0, 77, 0, 32, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 32, 0, 68, 0, 69, 0, - 65, 0, 76, 0, 73, 0, 78, 0, 71, 0, 83, 0, 32, 0, 73, 0, 78, 0, 32, 0, 84, 0, 72, 0, 69, 0, 10, 0, 70, 0, 79, 0, - 78, 0, 84, 0, 32, 0, 83, 0, 79, 0, 70, 0, 84, 0, 87, 0, 65, 0, 82, 0, 69, 0, 46, 0, 10, 0, 10, 0, 69, 0,120, 0, - 99, 0,101, 0,112, 0,116, 0, 32, 0, 97, 0,115, 0, 32, 0, 99, 0,111, 0,110, 0,116, 0, 97, 0,105, 0,110, 0,101, 0, -100, 0, 32, 0,105, 0,110, 0, 32, 0,116, 0,104, 0,105, 0,115, 0, 32, 0,110, 0,111, 0,116, 0,105, 0, 99, 0,101, 0, - 44, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,110, 0, 97, 0,109, 0,101, 0,115, 0, 32, 0,111, 0,102, 0, 32, 0, 71, 0, -110, 0,111, 0,109, 0,101, 0, 44, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 71, 0,110, 0,111, 0,109, 0,101, 0, 10, 0, - 70, 0,111, 0,117, 0,110, 0,100, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 44, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0, - 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 32, 0, 73, 0,110, 0, 99, 0, 46, 0, 44, 0, 32, 0, -115, 0,104, 0, 97, 0,108, 0,108, 0, 32, 0,110, 0,111, 0,116, 0, 32, 0, 98, 0,101, 0, 32, 0,117, 0,115, 0,101, 0, -100, 0, 32, 0,105, 0,110, 0, 32, 0, 97, 0,100, 0,118, 0,101, 0,114, 0,116, 0,105, 0,115, 0,105, 0,110, 0,103, 0, - 32, 0,111, 0,114, 0, 10, 0,111, 0,116, 0,104, 0,101, 0,114, 0,119, 0,105, 0,115, 0,101, 0, 32, 0,116, 0,111, 0, - 32, 0,112, 0,114, 0,111, 0,109, 0,111, 0,116, 0,101, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,115, 0, 97, 0,108, 0, -101, 0, 44, 0, 32, 0,117, 0,115, 0,101, 0, 32, 0,111, 0,114, 0, 32, 0,111, 0,116, 0,104, 0,101, 0,114, 0, 32, 0, -100, 0,101, 0, 97, 0,108, 0,105, 0,110, 0,103, 0,115, 0, 32, 0,105, 0,110, 0, 32, 0,116, 0,104, 0,105, 0,115, 0, - 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 10, 0,119, 0, -105, 0,116, 0,104, 0,111, 0,117, 0,116, 0, 32, 0,112, 0,114, 0,105, 0,111, 0,114, 0, 32, 0,119, 0,114, 0,105, 0, -116, 0,116, 0,101, 0,110, 0, 32, 0, 97, 0,117, 0,116, 0,104, 0,111, 0,114, 0,105, 0,122, 0, 97, 0,116, 0,105, 0, -111, 0,110, 0, 32, 0,102, 0,114, 0,111, 0,109, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 71, 0,110, 0,111, 0,109, 0, -101, 0, 32, 0, 70, 0,111, 0,117, 0,110, 0,100, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 32, 0,111, 0,114, 0, 32, 0, - 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 10, 0, 73, 0,110, 0, 99, 0, 46, 0, 44, 0, 32, 0, -114, 0,101, 0,115, 0,112, 0,101, 0, 99, 0,116, 0,105, 0,118, 0,101, 0,108, 0,121, 0, 46, 0, 32, 0, 70, 0,111, 0, -114, 0, 32, 0,102, 0,117, 0,114, 0,116, 0,104, 0,101, 0,114, 0, 32, 0,105, 0,110, 0,102, 0,111, 0,114, 0,109, 0, - 97, 0,116, 0,105, 0,111, 0,110, 0, 44, 0, 32, 0, 99, 0,111, 0,110, 0,116, 0, 97, 0, 99, 0,116, 0, 58, 0, 32, 0, -102, 0,111, 0,110, 0,116, 0,115, 0, 32, 0, 97, 0,116, 0, 32, 0,103, 0,110, 0,111, 0,109, 0,101, 0, 32, 0,100, 0, -111, 0,116, 0, 10, 0,111, 0,114, 0,103, 0, 46, 0, 32, 0, 10, 0, 10, 0, 65, 0,114, 0,101, 0,118, 0, 32, 0, 70, 0, -111, 0,110, 0,116, 0,115, 0, 32, 0, 67, 0,111, 0,112, 0,121, 0,114, 0,105, 0,103, 0,104, 0,116, 0, 10, 0, 45, 0, - 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, - 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 10, 0, 10, 0, 67, 0, -111, 0,112, 0,121, 0,114, 0,105, 0,103, 0,104, 0,116, 0, 32, 0, 40, 0, 99, 0, 41, 0, 32, 0, 50, 0, 48, 0, 48, 0, - 54, 0, 32, 0, 98, 0,121, 0, 32, 0, 84, 0, 97, 0,118, 0,109, 0,106, 0,111, 0,110, 0,103, 0, 32, 0, 66, 0, 97, 0, -104, 0, 46, 0, 32, 0, 65, 0,108, 0,108, 0, 32, 0, 82, 0,105, 0,103, 0,104, 0,116, 0,115, 0, 32, 0, 82, 0,101, 0, -115, 0,101, 0,114, 0,118, 0,101, 0,100, 0, 46, 0, 10, 0, 10, 0, 80, 0,101, 0,114, 0,109, 0,105, 0,115, 0,115, 0, -105, 0,111, 0,110, 0, 32, 0,105, 0,115, 0, 32, 0,104, 0,101, 0,114, 0,101, 0, 98, 0,121, 0, 32, 0,103, 0,114, 0, - 97, 0,110, 0,116, 0,101, 0,100, 0, 44, 0, 32, 0,102, 0,114, 0,101, 0,101, 0, 32, 0,111, 0,102, 0, 32, 0, 99, 0, -104, 0, 97, 0,114, 0,103, 0,101, 0, 44, 0, 32, 0,116, 0,111, 0, 32, 0, 97, 0,110, 0,121, 0, 32, 0,112, 0,101, 0, -114, 0,115, 0,111, 0,110, 0, 32, 0,111, 0, 98, 0,116, 0, 97, 0,105, 0,110, 0,105, 0,110, 0,103, 0, 10, 0, 97, 0, - 32, 0, 99, 0,111, 0,112, 0,121, 0, 32, 0,111, 0,102, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,102, 0,111, 0,110, 0, -116, 0,115, 0, 32, 0, 97, 0, 99, 0, 99, 0,111, 0,109, 0,112, 0, 97, 0,110, 0,121, 0,105, 0,110, 0,103, 0, 32, 0, -116, 0,104, 0,105, 0,115, 0, 32, 0,108, 0,105, 0, 99, 0,101, 0,110, 0,115, 0,101, 0, 32, 0, 40, 0, 34, 0, 70, 0, -111, 0,110, 0,116, 0,115, 0, 34, 0, 41, 0, 32, 0, 97, 0,110, 0,100, 0, 10, 0, 97, 0,115, 0,115, 0,111, 0, 99, 0, -105, 0, 97, 0,116, 0,101, 0,100, 0, 32, 0,100, 0,111, 0, 99, 0,117, 0,109, 0,101, 0,110, 0,116, 0, 97, 0,116, 0, -105, 0,111, 0,110, 0, 32, 0,102, 0,105, 0,108, 0,101, 0,115, 0, 32, 0, 40, 0,116, 0,104, 0,101, 0, 32, 0, 34, 0, - 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 34, 0, 41, 0, 44, 0, - 32, 0,116, 0,111, 0, 32, 0,114, 0,101, 0,112, 0,114, 0,111, 0,100, 0,117, 0, 99, 0,101, 0, 10, 0, 97, 0,110, 0, -100, 0, 32, 0,100, 0,105, 0,115, 0,116, 0,114, 0,105, 0, 98, 0,117, 0,116, 0,101, 0, 32, 0,116, 0,104, 0,101, 0, - 32, 0,109, 0,111, 0,100, 0,105, 0,102, 0,105, 0, 99, 0, 97, 0,116, 0,105, 0,111, 0,110, 0,115, 0, 32, 0,116, 0, -111, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 32, 0, - 86, 0,101, 0,114, 0, 97, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0, -114, 0,101, 0, 44, 0, 10, 0,105, 0,110, 0, 99, 0,108, 0,117, 0,100, 0,105, 0,110, 0,103, 0, 32, 0,119, 0,105, 0, -116, 0,104, 0,111, 0,117, 0,116, 0, 32, 0,108, 0,105, 0,109, 0,105, 0,116, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, - 32, 0,116, 0,104, 0,101, 0, 32, 0,114, 0,105, 0,103, 0,104, 0,116, 0,115, 0, 32, 0,116, 0,111, 0, 32, 0,117, 0, -115, 0,101, 0, 44, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0, 44, 0, 32, 0,109, 0,101, 0,114, 0,103, 0,101, 0, 44, 0, - 32, 0,112, 0,117, 0, 98, 0,108, 0,105, 0,115, 0,104, 0, 44, 0, 10, 0,100, 0,105, 0,115, 0,116, 0,114, 0,105, 0, - 98, 0,117, 0,116, 0,101, 0, 44, 0, 32, 0, 97, 0,110, 0,100, 0, 47, 0,111, 0,114, 0, 32, 0,115, 0,101, 0,108, 0, -108, 0, 32, 0, 99, 0,111, 0,112, 0,105, 0,101, 0,115, 0, 32, 0,111, 0,102, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, - 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 44, 0, 32, 0, 97, 0, -110, 0,100, 0, 32, 0,116, 0,111, 0, 32, 0,112, 0,101, 0,114, 0,109, 0,105, 0,116, 0, 10, 0,112, 0,101, 0,114, 0, -115, 0,111, 0,110, 0,115, 0, 32, 0,116, 0,111, 0, 32, 0,119, 0,104, 0,111, 0,109, 0, 32, 0,116, 0,104, 0,101, 0, - 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,105, 0, -115, 0, 32, 0,102, 0,117, 0,114, 0,110, 0,105, 0,115, 0,104, 0,101, 0,100, 0, 32, 0,116, 0,111, 0, 32, 0,100, 0, -111, 0, 32, 0,115, 0,111, 0, 44, 0, 32, 0,115, 0,117, 0, 98, 0,106, 0,101, 0, 99, 0,116, 0, 32, 0,116, 0,111, 0, - 10, 0,116, 0,104, 0,101, 0, 32, 0,102, 0,111, 0,108, 0,108, 0,111, 0,119, 0,105, 0,110, 0,103, 0, 32, 0, 99, 0, -111, 0,110, 0,100, 0,105, 0,116, 0,105, 0,111, 0,110, 0,115, 0, 58, 0, 10, 0, 10, 0, 84, 0,104, 0,101, 0, 32, 0, - 97, 0, 98, 0,111, 0,118, 0,101, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0,114, 0,105, 0,103, 0,104, 0,116, 0, 32, 0, - 97, 0,110, 0,100, 0, 32, 0,116, 0,114, 0, 97, 0,100, 0,101, 0,109, 0, 97, 0,114, 0,107, 0, 32, 0,110, 0,111, 0, -116, 0,105, 0, 99, 0,101, 0,115, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,116, 0,104, 0,105, 0,115, 0, 32, 0,112, 0, -101, 0,114, 0,109, 0,105, 0,115, 0,115, 0,105, 0,111, 0,110, 0, 32, 0,110, 0,111, 0,116, 0,105, 0, 99, 0,101, 0, - 10, 0,115, 0,104, 0, 97, 0,108, 0,108, 0, 32, 0, 98, 0,101, 0, 32, 0,105, 0,110, 0, 99, 0,108, 0,117, 0,100, 0, -101, 0,100, 0, 32, 0,105, 0,110, 0, 32, 0, 97, 0,108, 0,108, 0, 32, 0, 99, 0,111, 0,112, 0,105, 0,101, 0,115, 0, - 32, 0,111, 0,102, 0, 32, 0,111, 0,110, 0,101, 0, 32, 0,111, 0,114, 0, 32, 0,109, 0,111, 0,114, 0,101, 0, 32, 0, -111, 0,102, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0, -119, 0, 97, 0,114, 0,101, 0, 10, 0,116, 0,121, 0,112, 0,101, 0,102, 0, 97, 0, 99, 0,101, 0,115, 0, 46, 0, 10, 0, - 10, 0, 84, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0, -114, 0,101, 0, 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0,109, 0,111, 0,100, 0,105, 0,102, 0,105, 0, -101, 0,100, 0, 44, 0, 32, 0, 97, 0,108, 0,116, 0,101, 0,114, 0,101, 0,100, 0, 44, 0, 32, 0,111, 0,114, 0, 32, 0, - 97, 0,100, 0,100, 0,101, 0,100, 0, 32, 0,116, 0,111, 0, 44, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,105, 0,110, 0, - 10, 0,112, 0, 97, 0,114, 0,116, 0,105, 0, 99, 0,117, 0,108, 0, 97, 0,114, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, -100, 0,101, 0,115, 0,105, 0,103, 0,110, 0,115, 0, 32, 0,111, 0,102, 0, 32, 0,103, 0,108, 0,121, 0,112, 0,104, 0, -115, 0, 32, 0,111, 0,114, 0, 32, 0, 99, 0,104, 0, 97, 0,114, 0, 97, 0, 99, 0,116, 0,101, 0,114, 0,115, 0, 32, 0, -105, 0,110, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 32, 0,109, 0, 97, 0,121, 0, - 32, 0, 98, 0,101, 0, 10, 0,109, 0,111, 0,100, 0,105, 0,102, 0,105, 0,101, 0,100, 0, 32, 0, 97, 0,110, 0,100, 0, - 32, 0, 97, 0,100, 0,100, 0,105, 0,116, 0,105, 0,111, 0,110, 0, 97, 0,108, 0, 32, 0,103, 0,108, 0,121, 0,112, 0, -104, 0,115, 0, 32, 0,111, 0,114, 0, 32, 0, 99, 0,104, 0, 97, 0,114, 0, 97, 0, 99, 0,116, 0,101, 0,114, 0,115, 0, - 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0, 97, 0,100, 0,100, 0,101, 0,100, 0, 32, 0,116, 0,111, 0, - 32, 0,116, 0,104, 0,101, 0, 10, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 44, 0, 32, 0,111, 0,110, 0,108, 0,121, 0, - 32, 0,105, 0,102, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,102, 0,111, 0,110, 0,116, 0,115, 0, 32, 0, 97, 0,114, 0, -101, 0, 32, 0,114, 0,101, 0,110, 0, 97, 0,109, 0,101, 0,100, 0, 32, 0,116, 0,111, 0, 32, 0,110, 0, 97, 0,109, 0, -101, 0,115, 0, 32, 0,110, 0,111, 0,116, 0, 32, 0, 99, 0,111, 0,110, 0,116, 0, 97, 0,105, 0,110, 0,105, 0,110, 0, -103, 0, 32, 0,101, 0,105, 0,116, 0,104, 0,101, 0,114, 0, 10, 0,116, 0,104, 0,101, 0, 32, 0,119, 0,111, 0,114, 0, -100, 0,115, 0, 32, 0, 34, 0, 84, 0, 97, 0,118, 0,109, 0,106, 0,111, 0,110, 0,103, 0, 32, 0, 66, 0, 97, 0,104, 0, - 34, 0, 32, 0,111, 0,114, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,119, 0,111, 0,114, 0,100, 0, 32, 0, 34, 0, 65, 0, -114, 0,101, 0,118, 0, 34, 0, 46, 0, 10, 0, 10, 0, 84, 0,104, 0,105, 0,115, 0, 32, 0, 76, 0,105, 0, 99, 0,101, 0, -110, 0,115, 0,101, 0, 32, 0, 98, 0,101, 0, 99, 0,111, 0,109, 0,101, 0,115, 0, 32, 0,110, 0,117, 0,108, 0,108, 0, - 32, 0, 97, 0,110, 0,100, 0, 32, 0,118, 0,111, 0,105, 0,100, 0, 32, 0,116, 0,111, 0, 32, 0,116, 0,104, 0,101, 0, - 32, 0,101, 0,120, 0,116, 0,101, 0,110, 0,116, 0, 32, 0, 97, 0,112, 0,112, 0,108, 0,105, 0, 99, 0, 97, 0, 98, 0, -108, 0,101, 0, 32, 0,116, 0,111, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 10, 0,111, 0,114, 0, 32, 0, 70, 0, -111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,116, 0,104, 0, 97, 0, -116, 0, 32, 0,104, 0, 97, 0,115, 0, 32, 0, 98, 0,101, 0,101, 0,110, 0, 32, 0,109, 0,111, 0,100, 0,105, 0,102, 0, -105, 0,101, 0,100, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,105, 0,115, 0, 32, 0,100, 0,105, 0,115, 0,116, 0,114, 0, -105, 0, 98, 0,117, 0,116, 0,101, 0,100, 0, 32, 0,117, 0,110, 0,100, 0,101, 0,114, 0, 32, 0,116, 0,104, 0,101, 0, - 32, 0, 10, 0, 34, 0, 84, 0, 97, 0,118, 0,109, 0,106, 0,111, 0,110, 0,103, 0, 32, 0, 66, 0, 97, 0,104, 0, 32, 0, - 65, 0,114, 0,101, 0,118, 0, 34, 0, 32, 0,110, 0, 97, 0,109, 0,101, 0,115, 0, 46, 0, 10, 0, 10, 0, 84, 0,104, 0, -101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0, -109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0,115, 0,111, 0,108, 0,100, 0, 32, 0, 97, 0,115, 0, 32, 0,112, 0, - 97, 0,114, 0,116, 0, 32, 0,111, 0,102, 0, 32, 0, 97, 0, 32, 0,108, 0, 97, 0,114, 0,103, 0,101, 0,114, 0, 32, 0, -115, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,112, 0, 97, 0, 99, 0,107, 0, 97, 0,103, 0,101, 0, - 32, 0, 98, 0,117, 0,116, 0, 10, 0,110, 0,111, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0, 32, 0,111, 0,102, 0, 32, 0, -111, 0,110, 0,101, 0, 32, 0,111, 0,114, 0, 32, 0,109, 0,111, 0,114, 0,101, 0, 32, 0,111, 0,102, 0, 32, 0,116, 0, -104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, - 32, 0,116, 0,121, 0,112, 0,101, 0,102, 0, 97, 0, 99, 0,101, 0,115, 0, 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0, -101, 0, 32, 0,115, 0,111, 0,108, 0,100, 0, 32, 0, 98, 0,121, 0, 10, 0,105, 0,116, 0,115, 0,101, 0,108, 0,102, 0, - 46, 0, 10, 0, 10, 0, 84, 0, 72, 0, 69, 0, 32, 0, 70, 0, 79, 0, 78, 0, 84, 0, 32, 0, 83, 0, 79, 0, 70, 0, 84, 0, - 87, 0, 65, 0, 82, 0, 69, 0, 32, 0, 73, 0, 83, 0, 32, 0, 80, 0, 82, 0, 79, 0, 86, 0, 73, 0, 68, 0, 69, 0, 68, 0, - 32, 0, 34, 0, 65, 0, 83, 0, 32, 0, 73, 0, 83, 0, 34, 0, 44, 0, 32, 0, 87, 0, 73, 0, 84, 0, 72, 0, 79, 0, 85, 0, - 84, 0, 32, 0, 87, 0, 65, 0, 82, 0, 82, 0, 65, 0, 78, 0, 84, 0, 89, 0, 32, 0, 79, 0, 70, 0, 32, 0, 65, 0, 78, 0, - 89, 0, 32, 0, 75, 0, 73, 0, 78, 0, 68, 0, 44, 0, 10, 0, 69, 0, 88, 0, 80, 0, 82, 0, 69, 0, 83, 0, 83, 0, 32, 0, - 79, 0, 82, 0, 32, 0, 73, 0, 77, 0, 80, 0, 76, 0, 73, 0, 69, 0, 68, 0, 44, 0, 32, 0, 73, 0, 78, 0, 67, 0, 76, 0, - 85, 0, 68, 0, 73, 0, 78, 0, 71, 0, 32, 0, 66, 0, 85, 0, 84, 0, 32, 0, 78, 0, 79, 0, 84, 0, 32, 0, 76, 0, 73, 0, - 77, 0, 73, 0, 84, 0, 69, 0, 68, 0, 32, 0, 84, 0, 79, 0, 32, 0, 65, 0, 78, 0, 89, 0, 32, 0, 87, 0, 65, 0, 82, 0, - 82, 0, 65, 0, 78, 0, 84, 0, 73, 0, 69, 0, 83, 0, 32, 0, 79, 0, 70, 0, 10, 0, 77, 0, 69, 0, 82, 0, 67, 0, 72, 0, - 65, 0, 78, 0, 84, 0, 65, 0, 66, 0, 73, 0, 76, 0, 73, 0, 84, 0, 89, 0, 44, 0, 32, 0, 70, 0, 73, 0, 84, 0, 78, 0, - 69, 0, 83, 0, 83, 0, 32, 0, 70, 0, 79, 0, 82, 0, 32, 0, 65, 0, 32, 0, 80, 0, 65, 0, 82, 0, 84, 0, 73, 0, 67, 0, - 85, 0, 76, 0, 65, 0, 82, 0, 32, 0, 80, 0, 85, 0, 82, 0, 80, 0, 79, 0, 83, 0, 69, 0, 32, 0, 65, 0, 78, 0, 68, 0, - 32, 0, 78, 0, 79, 0, 78, 0, 73, 0, 78, 0, 70, 0, 82, 0, 73, 0, 78, 0, 71, 0, 69, 0, 77, 0, 69, 0, 78, 0, 84, 0, - 10, 0, 79, 0, 70, 0, 32, 0, 67, 0, 79, 0, 80, 0, 89, 0, 82, 0, 73, 0, 71, 0, 72, 0, 84, 0, 44, 0, 32, 0, 80, 0, - 65, 0, 84, 0, 69, 0, 78, 0, 84, 0, 44, 0, 32, 0, 84, 0, 82, 0, 65, 0, 68, 0, 69, 0, 77, 0, 65, 0, 82, 0, 75, 0, - 44, 0, 32, 0, 79, 0, 82, 0, 32, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 32, 0, 82, 0, 73, 0, 71, 0, 72, 0, 84, 0, - 46, 0, 32, 0, 73, 0, 78, 0, 32, 0, 78, 0, 79, 0, 32, 0, 69, 0, 86, 0, 69, 0, 78, 0, 84, 0, 32, 0, 83, 0, 72, 0, - 65, 0, 76, 0, 76, 0, 10, 0, 84, 0, 65, 0, 86, 0, 77, 0, 74, 0, 79, 0, 78, 0, 71, 0, 32, 0, 66, 0, 65, 0, 72, 0, - 32, 0, 66, 0, 69, 0, 32, 0, 76, 0, 73, 0, 65, 0, 66, 0, 76, 0, 69, 0, 32, 0, 70, 0, 79, 0, 82, 0, 32, 0, 65, 0, - 78, 0, 89, 0, 32, 0, 67, 0, 76, 0, 65, 0, 73, 0, 77, 0, 44, 0, 32, 0, 68, 0, 65, 0, 77, 0, 65, 0, 71, 0, 69, 0, - 83, 0, 32, 0, 79, 0, 82, 0, 32, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 32, 0, 76, 0, 73, 0, 65, 0, 66, 0, 73, 0, - 76, 0, 73, 0, 84, 0, 89, 0, 44, 0, 10, 0, 73, 0, 78, 0, 67, 0, 76, 0, 85, 0, 68, 0, 73, 0, 78, 0, 71, 0, 32, 0, - 65, 0, 78, 0, 89, 0, 32, 0, 71, 0, 69, 0, 78, 0, 69, 0, 82, 0, 65, 0, 76, 0, 44, 0, 32, 0, 83, 0, 80, 0, 69, 0, - 67, 0, 73, 0, 65, 0, 76, 0, 44, 0, 32, 0, 73, 0, 78, 0, 68, 0, 73, 0, 82, 0, 69, 0, 67, 0, 84, 0, 44, 0, 32, 0, - 73, 0, 78, 0, 67, 0, 73, 0, 68, 0, 69, 0, 78, 0, 84, 0, 65, 0, 76, 0, 44, 0, 32, 0, 79, 0, 82, 0, 32, 0, 67, 0, - 79, 0, 78, 0, 83, 0, 69, 0, 81, 0, 85, 0, 69, 0, 78, 0, 84, 0, 73, 0, 65, 0, 76, 0, 10, 0, 68, 0, 65, 0, 77, 0, - 65, 0, 71, 0, 69, 0, 83, 0, 44, 0, 32, 0, 87, 0, 72, 0, 69, 0, 84, 0, 72, 0, 69, 0, 82, 0, 32, 0, 73, 0, 78, 0, - 32, 0, 65, 0, 78, 0, 32, 0, 65, 0, 67, 0, 84, 0, 73, 0, 79, 0, 78, 0, 32, 0, 79, 0, 70, 0, 32, 0, 67, 0, 79, 0, - 78, 0, 84, 0, 82, 0, 65, 0, 67, 0, 84, 0, 44, 0, 32, 0, 84, 0, 79, 0, 82, 0, 84, 0, 32, 0, 79, 0, 82, 0, 32, 0, - 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 87, 0, 73, 0, 83, 0, 69, 0, 44, 0, 32, 0, 65, 0, 82, 0, 73, 0, 83, 0, 73, 0, - 78, 0, 71, 0, 10, 0, 70, 0, 82, 0, 79, 0, 77, 0, 44, 0, 32, 0, 79, 0, 85, 0, 84, 0, 32, 0, 79, 0, 70, 0, 32, 0, - 84, 0, 72, 0, 69, 0, 32, 0, 85, 0, 83, 0, 69, 0, 32, 0, 79, 0, 82, 0, 32, 0, 73, 0, 78, 0, 65, 0, 66, 0, 73, 0, - 76, 0, 73, 0, 84, 0, 89, 0, 32, 0, 84, 0, 79, 0, 32, 0, 85, 0, 83, 0, 69, 0, 32, 0, 84, 0, 72, 0, 69, 0, 32, 0, - 70, 0, 79, 0, 78, 0, 84, 0, 32, 0, 83, 0, 79, 0, 70, 0, 84, 0, 87, 0, 65, 0, 82, 0, 69, 0, 32, 0, 79, 0, 82, 0, - 32, 0, 70, 0, 82, 0, 79, 0, 77, 0, 10, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 32, 0, 68, 0, 69, 0, 65, 0, 76, 0, - 73, 0, 78, 0, 71, 0, 83, 0, 32, 0, 73, 0, 78, 0, 32, 0, 84, 0, 72, 0, 69, 0, 32, 0, 70, 0, 79, 0, 78, 0, 84, 0, - 32, 0, 83, 0, 79, 0, 70, 0, 84, 0, 87, 0, 65, 0, 82, 0, 69, 0, 46, 0, 10, 0, 10, 0, 69, 0,120, 0, 99, 0,101, 0, -112, 0,116, 0, 32, 0, 97, 0,115, 0, 32, 0, 99, 0,111, 0,110, 0,116, 0, 97, 0,105, 0,110, 0,101, 0,100, 0, 32, 0, -105, 0,110, 0, 32, 0,116, 0,104, 0,105, 0,115, 0, 32, 0,110, 0,111, 0,116, 0,105, 0, 99, 0,101, 0, 44, 0, 32, 0, -116, 0,104, 0,101, 0, 32, 0,110, 0, 97, 0,109, 0,101, 0, 32, 0,111, 0,102, 0, 32, 0, 84, 0, 97, 0,118, 0,109, 0, -106, 0,111, 0,110, 0,103, 0, 32, 0, 66, 0, 97, 0,104, 0, 32, 0,115, 0,104, 0, 97, 0,108, 0,108, 0, 32, 0,110, 0, -111, 0,116, 0, 10, 0, 98, 0,101, 0, 32, 0,117, 0,115, 0,101, 0,100, 0, 32, 0,105, 0,110, 0, 32, 0, 97, 0,100, 0, -118, 0,101, 0,114, 0,116, 0,105, 0,115, 0,105, 0,110, 0,103, 0, 32, 0,111, 0,114, 0, 32, 0,111, 0,116, 0,104, 0, -101, 0,114, 0,119, 0,105, 0,115, 0,101, 0, 32, 0,116, 0,111, 0, 32, 0,112, 0,114, 0,111, 0,109, 0,111, 0,116, 0, -101, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,115, 0, 97, 0,108, 0,101, 0, 44, 0, 32, 0,117, 0,115, 0,101, 0, 32, 0, -111, 0,114, 0, 32, 0,111, 0,116, 0,104, 0,101, 0,114, 0, 10, 0,100, 0,101, 0, 97, 0,108, 0,105, 0,110, 0,103, 0, -115, 0, 32, 0,105, 0,110, 0, 32, 0,116, 0,104, 0,105, 0,115, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0, -111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,119, 0,105, 0,116, 0,104, 0,111, 0,117, 0,116, 0, 32, 0, -112, 0,114, 0,105, 0,111, 0,114, 0, 32, 0,119, 0,114, 0,105, 0,116, 0,116, 0,101, 0,110, 0, 32, 0, 97, 0,117, 0, -116, 0,104, 0,111, 0,114, 0,105, 0,122, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 10, 0,102, 0,114, 0,111, 0,109, 0, - 32, 0, 84, 0, 97, 0,118, 0,109, 0,106, 0,111, 0,110, 0,103, 0, 32, 0, 66, 0, 97, 0,104, 0, 46, 0, 32, 0, 70, 0, -111, 0,114, 0, 32, 0,102, 0,117, 0,114, 0,116, 0,104, 0,101, 0,114, 0, 32, 0,105, 0,110, 0,102, 0,111, 0,114, 0, -109, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 44, 0, 32, 0, 99, 0,111, 0,110, 0,116, 0, 97, 0, 99, 0,116, 0, 58, 0, - 32, 0,116, 0, 97, 0,118, 0,109, 0,106, 0,111, 0,110, 0,103, 0, 32, 0, 64, 0, 32, 0,102, 0,114, 0,101, 0,101, 0, - 10, 0, 46, 0, 32, 0,102, 0,114, 0, 46, 0, 0, 70,111,110,116,115, 32, 97,114,101, 32, 40, 99, 41, 32, 66,105,116,115,116, -114,101, 97,109, 32, 40,115,101,101, 32, 98,101,108,111,119, 41, 46, 32, 68,101,106, 97, 86,117, 32, 99,104, 97,110,103,101,115, - 32, 97,114,101, 32,105,110, 32,112,117, 98,108,105, 99, 32,100,111,109, 97,105,110, 46, 32, 71,108,121,112,104,115, 32,105,109, -112,111,114,116,101,100, 32,102,114,111,109, 32, 65,114,101,118, 32,102,111,110,116,115, 32, 97,114,101, 32, 40, 99, 41, 32, 84, - 97,118,109,106,117,110,103, 32, 66, 97,104, 32, 40,115,101,101, 32, 98,101,108,111,119, 41, 10, 10, 66,105,116,115,116,114,101, - 97,109, 32, 86,101,114, 97, 32, 70,111,110,116,115, 32, 67,111,112,121,114,105,103,104,116, 10, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10, 10, 67,111,112,121,114,105,103,104, -116, 32, 40, 99, 41, 32, 50, 48, 48, 51, 32, 98,121, 32, 66,105,116,115,116,114,101, 97,109, 44, 32, 73,110, 99, 46, 32, 65,108, -108, 32, 82,105,103,104,116,115, 32, 82,101,115,101,114,118,101,100, 46, 32, 66,105,116,115,116,114,101, 97,109, 32, 86,101,114, - 97, 32,105,115, 10, 97, 32,116,114, 97,100,101,109, 97,114,107, 32,111,102, 32, 66,105,116,115,116,114,101, 97,109, 44, 32, 73, -110, 99, 46, 10, 10, 80,101,114,109,105,115,115,105,111,110, 32,105,115, 32,104,101,114,101, 98,121, 32,103,114, 97,110,116,101, -100, 44, 32,102,114,101,101, 32,111,102, 32, 99,104, 97,114,103,101, 44, 32,116,111, 32, 97,110,121, 32,112,101,114,115,111,110, - 32,111, 98,116, 97,105,110,105,110,103, 32, 97, 32, 99,111,112,121, 10,111,102, 32,116,104,101, 32,102,111,110,116,115, 32, 97, - 99, 99,111,109,112, 97,110,121,105,110,103, 32,116,104,105,115, 32,108,105, 99,101,110,115,101, 32, 40, 34, 70,111,110,116,115, - 34, 41, 32, 97,110,100, 32, 97,115,115,111, 99,105, 97,116,101,100, 10,100,111, 99,117,109,101,110,116, 97,116,105,111,110, 32, -102,105,108,101,115, 32, 40,116,104,101, 32, 34, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 34, 41, 44, 32,116,111, 32, -114,101,112,114,111,100,117, 99,101, 32, 97,110,100, 32,100,105,115,116,114,105, 98,117,116,101, 32,116,104,101, 10, 70,111,110, -116, 32, 83,111,102,116,119, 97,114,101, 44, 32,105,110, 99,108,117,100,105,110,103, 32,119,105,116,104,111,117,116, 32,108,105, -109,105,116, 97,116,105,111,110, 32,116,104,101, 32,114,105,103,104,116,115, 32,116,111, 32,117,115,101, 44, 32, 99,111,112,121, - 44, 32,109,101,114,103,101, 44, 10,112,117, 98,108,105,115,104, 44, 32,100,105,115,116,114,105, 98,117,116,101, 44, 32, 97,110, -100, 47,111,114, 32,115,101,108,108, 32, 99,111,112,105,101,115, 32,111,102, 32,116,104,101, 32, 70,111,110,116, 32, 83,111,102, -116,119, 97,114,101, 44, 32, 97,110,100, 32,116,111, 32,112,101,114,109,105,116, 10,112,101,114,115,111,110,115, 32,116,111, 32, -119,104,111,109, 32,116,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 32,105,115, 32,102,117,114,110,105,115, -104,101,100, 32,116,111, 32,100,111, 32,115,111, 44, 32,115,117, 98,106,101, 99,116, 32,116,111, 32,116,104,101, 10,102,111,108, -108,111,119,105,110,103, 32, 99,111,110,100,105,116,105,111,110,115, 58, 10, 10, 84,104,101, 32, 97, 98,111,118,101, 32, 99,111, -112,121,114,105,103,104,116, 32, 97,110,100, 32,116,114, 97,100,101,109, 97,114,107, 32,110,111,116,105, 99,101,115, 32, 97,110, -100, 32,116,104,105,115, 32,112,101,114,109,105,115,115,105,111,110, 32,110,111,116,105, 99,101, 32,115,104, 97,108,108, 10, 98, -101, 32,105,110, 99,108,117,100,101,100, 32,105,110, 32, 97,108,108, 32, 99,111,112,105,101,115, 32,111,102, 32,111,110,101, 32, -111,114, 32,109,111,114,101, 32,111,102, 32,116,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 32,116,121,112, -101,102, 97, 99,101,115, 46, 10, 10, 84,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 32,109, 97,121, 32, 98, -101, 32,109,111,100,105,102,105,101,100, 44, 32, 97,108,116,101,114,101,100, 44, 32,111,114, 32, 97,100,100,101,100, 32,116,111, - 44, 32, 97,110,100, 32,105,110, 32,112, 97,114,116,105, 99,117,108, 97,114, 10,116,104,101, 32,100,101,115,105,103,110,115, 32, -111,102, 32,103,108,121,112,104,115, 32,111,114, 32, 99,104, 97,114, 97, 99,116,101,114,115, 32,105,110, 32,116,104,101, 32, 70, -111,110,116,115, 32,109, 97,121, 32, 98,101, 32,109,111,100,105,102,105,101,100, 32, 97,110,100, 10, 97,100,100,105,116,105,111, -110, 97,108, 32,103,108,121,112,104,115, 32,111,114, 32, 99,104, 97,114, 97, 99,116,101,114,115, 32,109, 97,121, 32, 98,101, 32, - 97,100,100,101,100, 32,116,111, 32,116,104,101, 32, 70,111,110,116,115, 44, 32,111,110,108,121, 32,105,102, 32,116,104,101, 32, -102,111,110,116,115, 10, 97,114,101, 32,114,101,110, 97,109,101,100, 32,116,111, 32,110, 97,109,101,115, 32,110,111,116, 32, 99, -111,110,116, 97,105,110,105,110,103, 32,101,105,116,104,101,114, 32,116,104,101, 32,119,111,114,100,115, 32, 34, 66,105,116,115, -116,114,101, 97,109, 34, 32,111,114, 32,116,104,101, 32,119,111,114,100, 10, 34, 86,101,114, 97, 34, 46, 10, 10, 84,104,105,115, - 32, 76,105, 99,101,110,115,101, 32, 98,101, 99,111,109,101,115, 32,110,117,108,108, 32, 97,110,100, 32,118,111,105,100, 32,116, -111, 32,116,104,101, 32,101,120,116,101,110,116, 32, 97,112,112,108,105, 99, 97, 98,108,101, 32,116,111, 32, 70,111,110,116,115, - 32,111,114, 32, 70,111,110,116, 10, 83,111,102,116,119, 97,114,101, 32,116,104, 97,116, 32,104, 97,115, 32, 98,101,101,110, 32, -109,111,100,105,102,105,101,100, 32, 97,110,100, 32,105,115, 32,100,105,115,116,114,105, 98,117,116,101,100, 32,117,110,100,101, -114, 32,116,104,101, 32, 34, 66,105,116,115,116,114,101, 97,109, 10, 86,101,114, 97, 34, 32,110, 97,109,101,115, 46, 10, 10, 84, -104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 32,109, 97,121, 32, 98,101, 32,115,111,108,100, 32, 97,115, 32, -112, 97,114,116, 32,111,102, 32, 97, 32,108, 97,114,103,101,114, 32,115,111,102,116,119, 97,114,101, 32,112, 97, 99,107, 97,103, -101, 32, 98,117,116, 32,110,111, 10, 99,111,112,121, 32,111,102, 32,111,110,101, 32,111,114, 32,109,111,114,101, 32,111,102, 32, -116,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 32,116,121,112,101,102, 97, 99,101,115, 32,109, 97,121, 32, - 98,101, 32,115,111,108,100, 32, 98,121, 32,105,116,115,101,108,102, 46, 10, 10, 84, 72, 69, 32, 70, 79, 78, 84, 32, 83, 79, 70, - 84, 87, 65, 82, 69, 32, 73, 83, 32, 80, 82, 79, 86, 73, 68, 69, 68, 32, 34, 65, 83, 32, 73, 83, 34, 44, 32, 87, 73, 84, 72, 79, - 85, 84, 32, 87, 65, 82, 82, 65, 78, 84, 89, 32, 79, 70, 32, 65, 78, 89, 32, 75, 73, 78, 68, 44, 32, 69, 88, 80, 82, 69, 83, 83, - 10, 79, 82, 32, 73, 77, 80, 76, 73, 69, 68, 44, 32, 73, 78, 67, 76, 85, 68, 73, 78, 71, 32, 66, 85, 84, 32, 78, 79, 84, 32, 76, - 73, 77, 73, 84, 69, 68, 32, 84, 79, 32, 65, 78, 89, 32, 87, 65, 82, 82, 65, 78, 84, 73, 69, 83, 32, 79, 70, 32, 77, 69, 82, 67, - 72, 65, 78, 84, 65, 66, 73, 76, 73, 84, 89, 44, 10, 70, 73, 84, 78, 69, 83, 83, 32, 70, 79, 82, 32, 65, 32, 80, 65, 82, 84, 73, - 67, 85, 76, 65, 82, 32, 80, 85, 82, 80, 79, 83, 69, 32, 65, 78, 68, 32, 78, 79, 78, 73, 78, 70, 82, 73, 78, 71, 69, 77, 69, 78, - 84, 32, 79, 70, 32, 67, 79, 80, 89, 82, 73, 71, 72, 84, 44, 32, 80, 65, 84, 69, 78, 84, 44, 10, 84, 82, 65, 68, 69, 77, 65, 82, - 75, 44, 32, 79, 82, 32, 79, 84, 72, 69, 82, 32, 82, 73, 71, 72, 84, 46, 32, 73, 78, 32, 78, 79, 32, 69, 86, 69, 78, 84, 32, 83, - 72, 65, 76, 76, 32, 66, 73, 84, 83, 84, 82, 69, 65, 77, 32, 79, 82, 32, 84, 72, 69, 32, 71, 78, 79, 77, 69, 10, 70, 79, 85, 78, - 68, 65, 84, 73, 79, 78, 32, 66, 69, 32, 76, 73, 65, 66, 76, 69, 32, 70, 79, 82, 32, 65, 78, 89, 32, 67, 76, 65, 73, 77, 44, 32, - 68, 65, 77, 65, 71, 69, 83, 32, 79, 82, 32, 79, 84, 72, 69, 82, 32, 76, 73, 65, 66, 73, 76, 73, 84, 89, 44, 32, 73, 78, 67, 76, - 85, 68, 73, 78, 71, 10, 65, 78, 89, 32, 71, 69, 78, 69, 82, 65, 76, 44, 32, 83, 80, 69, 67, 73, 65, 76, 44, 32, 73, 78, 68, 73, - 82, 69, 67, 84, 44, 32, 73, 78, 67, 73, 68, 69, 78, 84, 65, 76, 44, 32, 79, 82, 32, 67, 79, 78, 83, 69, 81, 85, 69, 78, 84, 73, - 65, 76, 32, 68, 65, 77, 65, 71, 69, 83, 44, 10, 87, 72, 69, 84, 72, 69, 82, 32, 73, 78, 32, 65, 78, 32, 65, 67, 84, 73, 79, 78, - 32, 79, 70, 32, 67, 79, 78, 84, 82, 65, 67, 84, 44, 32, 84, 79, 82, 84, 32, 79, 82, 32, 79, 84, 72, 69, 82, 87, 73, 83, 69, 44, - 32, 65, 82, 73, 83, 73, 78, 71, 32, 70, 82, 79, 77, 44, 32, 79, 85, 84, 32, 79, 70, 10, 84, 72, 69, 32, 85, 83, 69, 32, 79, 82, - 32, 73, 78, 65, 66, 73, 76, 73, 84, 89, 32, 84, 79, 32, 85, 83, 69, 32, 84, 72, 69, 32, 70, 79, 78, 84, 32, 83, 79, 70, 84, 87, - 65, 82, 69, 32, 79, 82, 32, 70, 82, 79, 77, 32, 79, 84, 72, 69, 82, 32, 68, 69, 65, 76, 73, 78, 71, 83, 32, 73, 78, 32, 84, 72, - 69, 10, 70, 79, 78, 84, 32, 83, 79, 70, 84, 87, 65, 82, 69, 46, 10, 10, 69,120, 99,101,112,116, 32, 97,115, 32, 99,111,110,116, - 97,105,110,101,100, 32,105,110, 32,116,104,105,115, 32,110,111,116,105, 99,101, 44, 32,116,104,101, 32,110, 97,109,101,115, 32, -111,102, 32, 71,110,111,109,101, 44, 32,116,104,101, 32, 71,110,111,109,101, 10, 70,111,117,110,100, 97,116,105,111,110, 44, 32, - 97,110,100, 32, 66,105,116,115,116,114,101, 97,109, 32, 73,110, 99, 46, 44, 32,115,104, 97,108,108, 32,110,111,116, 32, 98,101, - 32,117,115,101,100, 32,105,110, 32, 97,100,118,101,114,116,105,115,105,110,103, 32,111,114, 10,111,116,104,101,114,119,105,115, -101, 32,116,111, 32,112,114,111,109,111,116,101, 32,116,104,101, 32,115, 97,108,101, 44, 32,117,115,101, 32,111,114, 32,111,116, -104,101,114, 32,100,101, 97,108,105,110,103,115, 32,105,110, 32,116,104,105,115, 32, 70,111,110,116, 32, 83,111,102,116,119, 97, -114,101, 10,119,105,116,104,111,117,116, 32,112,114,105,111,114, 32,119,114,105,116,116,101,110, 32, 97,117,116,104,111,114,105, -122, 97,116,105,111,110, 32,102,114,111,109, 32,116,104,101, 32, 71,110,111,109,101, 32, 70,111,117,110,100, 97,116,105,111,110, - 32,111,114, 32, 66,105,116,115,116,114,101, 97,109, 10, 73,110, 99, 46, 44, 32,114,101,115,112,101, 99,116,105,118,101,108,121, - 46, 32, 70,111,114, 32,102,117,114,116,104,101,114, 32,105,110,102,111,114,109, 97,116,105,111,110, 44, 32, 99,111,110,116, 97, - 99,116, 58, 32,102,111,110,116,115, 32, 97,116, 32,103,110,111,109,101, 32,100,111,116, 10,111,114,103, 46, 32, 10, 10, 65,114, -101,118, 32, 70,111,110,116,115, 32, 67,111,112,121,114,105,103,104,116, 10, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10, 10, 67,111,112,121,114,105,103,104,116, 32, 40, 99, 41, - 32, 50, 48, 48, 54, 32, 98,121, 32, 84, 97,118,109,106,111,110,103, 32, 66, 97,104, 46, 32, 65,108,108, 32, 82,105,103,104,116, -115, 32, 82,101,115,101,114,118,101,100, 46, 10, 10, 80,101,114,109,105,115,115,105,111,110, 32,105,115, 32,104,101,114,101, 98, -121, 32,103,114, 97,110,116,101,100, 44, 32,102,114,101,101, 32,111,102, 32, 99,104, 97,114,103,101, 44, 32,116,111, 32, 97,110, -121, 32,112,101,114,115,111,110, 32,111, 98,116, 97,105,110,105,110,103, 10, 97, 32, 99,111,112,121, 32,111,102, 32,116,104,101, - 32,102,111,110,116,115, 32, 97, 99, 99,111,109,112, 97,110,121,105,110,103, 32,116,104,105,115, 32,108,105, 99,101,110,115,101, - 32, 40, 34, 70,111,110,116,115, 34, 41, 32, 97,110,100, 10, 97,115,115,111, 99,105, 97,116,101,100, 32,100,111, 99,117,109,101, -110,116, 97,116,105,111,110, 32,102,105,108,101,115, 32, 40,116,104,101, 32, 34, 70,111,110,116, 32, 83,111,102,116,119, 97,114, -101, 34, 41, 44, 32,116,111, 32,114,101,112,114,111,100,117, 99,101, 10, 97,110,100, 32,100,105,115,116,114,105, 98,117,116,101, - 32,116,104,101, 32,109,111,100,105,102,105, 99, 97,116,105,111,110,115, 32,116,111, 32,116,104,101, 32, 66,105,116,115,116,114, -101, 97,109, 32, 86,101,114, 97, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 44, 10,105,110, 99,108,117,100,105,110, -103, 32,119,105,116,104,111,117,116, 32,108,105,109,105,116, 97,116,105,111,110, 32,116,104,101, 32,114,105,103,104,116,115, 32, -116,111, 32,117,115,101, 44, 32, 99,111,112,121, 44, 32,109,101,114,103,101, 44, 32,112,117, 98,108,105,115,104, 44, 10,100,105, -115,116,114,105, 98,117,116,101, 44, 32, 97,110,100, 47,111,114, 32,115,101,108,108, 32, 99,111,112,105,101,115, 32,111,102, 32, -116,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 44, 32, 97,110,100, 32,116,111, 32,112,101,114,109,105,116, - 10,112,101,114,115,111,110,115, 32,116,111, 32,119,104,111,109, 32,116,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97, -114,101, 32,105,115, 32,102,117,114,110,105,115,104,101,100, 32,116,111, 32,100,111, 32,115,111, 44, 32,115,117, 98,106,101, 99, -116, 32,116,111, 10,116,104,101, 32,102,111,108,108,111,119,105,110,103, 32, 99,111,110,100,105,116,105,111,110,115, 58, 10, 10, - 84,104,101, 32, 97, 98,111,118,101, 32, 99,111,112,121,114,105,103,104,116, 32, 97,110,100, 32,116,114, 97,100,101,109, 97,114, -107, 32,110,111,116,105, 99,101,115, 32, 97,110,100, 32,116,104,105,115, 32,112,101,114,109,105,115,115,105,111,110, 32,110,111, -116,105, 99,101, 10,115,104, 97,108,108, 32, 98,101, 32,105,110, 99,108,117,100,101,100, 32,105,110, 32, 97,108,108, 32, 99,111, -112,105,101,115, 32,111,102, 32,111,110,101, 32,111,114, 32,109,111,114,101, 32,111,102, 32,116,104,101, 32, 70,111,110,116, 32, - 83,111,102,116,119, 97,114,101, 10,116,121,112,101,102, 97, 99,101,115, 46, 10, 10, 84,104,101, 32, 70,111,110,116, 32, 83,111, -102,116,119, 97,114,101, 32,109, 97,121, 32, 98,101, 32,109,111,100,105,102,105,101,100, 44, 32, 97,108,116,101,114,101,100, 44, - 32,111,114, 32, 97,100,100,101,100, 32,116,111, 44, 32, 97,110,100, 32,105,110, 10,112, 97,114,116,105, 99,117,108, 97,114, 32, -116,104,101, 32,100,101,115,105,103,110,115, 32,111,102, 32,103,108,121,112,104,115, 32,111,114, 32, 99,104, 97,114, 97, 99,116, -101,114,115, 32,105,110, 32,116,104,101, 32, 70,111,110,116,115, 32,109, 97,121, 32, 98,101, 10,109,111,100,105,102,105,101,100, - 32, 97,110,100, 32, 97,100,100,105,116,105,111,110, 97,108, 32,103,108,121,112,104,115, 32,111,114, 32, 99,104, 97,114, 97, 99, -116,101,114,115, 32,109, 97,121, 32, 98,101, 32, 97,100,100,101,100, 32,116,111, 32,116,104,101, 10, 70,111,110,116,115, 44, 32, -111,110,108,121, 32,105,102, 32,116,104,101, 32,102,111,110,116,115, 32, 97,114,101, 32,114,101,110, 97,109,101,100, 32,116,111, - 32,110, 97,109,101,115, 32,110,111,116, 32, 99,111,110,116, 97,105,110,105,110,103, 32,101,105,116,104,101,114, 10,116,104,101, - 32,119,111,114,100,115, 32, 34, 84, 97,118,109,106,111,110,103, 32, 66, 97,104, 34, 32,111,114, 32,116,104,101, 32,119,111,114, -100, 32, 34, 65,114,101,118, 34, 46, 10, 10, 84,104,105,115, 32, 76,105, 99,101,110,115,101, 32, 98,101, 99,111,109,101,115, 32, -110,117,108,108, 32, 97,110,100, 32,118,111,105,100, 32,116,111, 32,116,104,101, 32,101,120,116,101,110,116, 32, 97,112,112,108, -105, 99, 97, 98,108,101, 32,116,111, 32, 70,111,110,116,115, 10,111,114, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, - 32,116,104, 97,116, 32,104, 97,115, 32, 98,101,101,110, 32,109,111,100,105,102,105,101,100, 32, 97,110,100, 32,105,115, 32,100, -105,115,116,114,105, 98,117,116,101,100, 32,117,110,100,101,114, 32,116,104,101, 32, 10, 34, 84, 97,118,109,106,111,110,103, 32, - 66, 97,104, 32, 65,114,101,118, 34, 32,110, 97,109,101,115, 46, 10, 10, 84,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, - 97,114,101, 32,109, 97,121, 32, 98,101, 32,115,111,108,100, 32, 97,115, 32,112, 97,114,116, 32,111,102, 32, 97, 32,108, 97,114, -103,101,114, 32,115,111,102,116,119, 97,114,101, 32,112, 97, 99,107, 97,103,101, 32, 98,117,116, 10,110,111, 32, 99,111,112,121, - 32,111,102, 32,111,110,101, 32,111,114, 32,109,111,114,101, 32,111,102, 32,116,104,101, 32, 70,111,110,116, 32, 83,111,102,116, -119, 97,114,101, 32,116,121,112,101,102, 97, 99,101,115, 32,109, 97,121, 32, 98,101, 32,115,111,108,100, 32, 98,121, 10,105,116, -115,101,108,102, 46, 10, 10, 84, 72, 69, 32, 70, 79, 78, 84, 32, 83, 79, 70, 84, 87, 65, 82, 69, 32, 73, 83, 32, 80, 82, 79, 86, - 73, 68, 69, 68, 32, 34, 65, 83, 32, 73, 83, 34, 44, 32, 87, 73, 84, 72, 79, 85, 84, 32, 87, 65, 82, 82, 65, 78, 84, 89, 32, 79, - 70, 32, 65, 78, 89, 32, 75, 73, 78, 68, 44, 10, 69, 88, 80, 82, 69, 83, 83, 32, 79, 82, 32, 73, 77, 80, 76, 73, 69, 68, 44, 32, - 73, 78, 67, 76, 85, 68, 73, 78, 71, 32, 66, 85, 84, 32, 78, 79, 84, 32, 76, 73, 77, 73, 84, 69, 68, 32, 84, 79, 32, 65, 78, 89, - 32, 87, 65, 82, 82, 65, 78, 84, 73, 69, 83, 32, 79, 70, 10, 77, 69, 82, 67, 72, 65, 78, 84, 65, 66, 73, 76, 73, 84, 89, 44, 32, - 70, 73, 84, 78, 69, 83, 83, 32, 70, 79, 82, 32, 65, 32, 80, 65, 82, 84, 73, 67, 85, 76, 65, 82, 32, 80, 85, 82, 80, 79, 83, 69, - 32, 65, 78, 68, 32, 78, 79, 78, 73, 78, 70, 82, 73, 78, 71, 69, 77, 69, 78, 84, 10, 79, 70, 32, 67, 79, 80, 89, 82, 73, 71, 72, - 84, 44, 32, 80, 65, 84, 69, 78, 84, 44, 32, 84, 82, 65, 68, 69, 77, 65, 82, 75, 44, 32, 79, 82, 32, 79, 84, 72, 69, 82, 32, 82, - 73, 71, 72, 84, 46, 32, 73, 78, 32, 78, 79, 32, 69, 86, 69, 78, 84, 32, 83, 72, 65, 76, 76, 10, 84, 65, 86, 77, 74, 79, 78, 71, - 32, 66, 65, 72, 32, 66, 69, 32, 76, 73, 65, 66, 76, 69, 32, 70, 79, 82, 32, 65, 78, 89, 32, 67, 76, 65, 73, 77, 44, 32, 68, 65, - 77, 65, 71, 69, 83, 32, 79, 82, 32, 79, 84, 72, 69, 82, 32, 76, 73, 65, 66, 73, 76, 73, 84, 89, 44, 10, 73, 78, 67, 76, 85, 68, - 73, 78, 71, 32, 65, 78, 89, 32, 71, 69, 78, 69, 82, 65, 76, 44, 32, 83, 80, 69, 67, 73, 65, 76, 44, 32, 73, 78, 68, 73, 82, 69, - 67, 84, 44, 32, 73, 78, 67, 73, 68, 69, 78, 84, 65, 76, 44, 32, 79, 82, 32, 67, 79, 78, 83, 69, 81, 85, 69, 78, 84, 73, 65, 76, - 10, 68, 65, 77, 65, 71, 69, 83, 44, 32, 87, 72, 69, 84, 72, 69, 82, 32, 73, 78, 32, 65, 78, 32, 65, 67, 84, 73, 79, 78, 32, 79, - 70, 32, 67, 79, 78, 84, 82, 65, 67, 84, 44, 32, 84, 79, 82, 84, 32, 79, 82, 32, 79, 84, 72, 69, 82, 87, 73, 83, 69, 44, 32, 65, - 82, 73, 83, 73, 78, 71, 10, 70, 82, 79, 77, 44, 32, 79, 85, 84, 32, 79, 70, 32, 84, 72, 69, 32, 85, 83, 69, 32, 79, 82, 32, 73, - 78, 65, 66, 73, 76, 73, 84, 89, 32, 84, 79, 32, 85, 83, 69, 32, 84, 72, 69, 32, 70, 79, 78, 84, 32, 83, 79, 70, 84, 87, 65, 82, - 69, 32, 79, 82, 32, 70, 82, 79, 77, 10, 79, 84, 72, 69, 82, 32, 68, 69, 65, 76, 73, 78, 71, 83, 32, 73, 78, 32, 84, 72, 69, 32, - 70, 79, 78, 84, 32, 83, 79, 70, 84, 87, 65, 82, 69, 46, 10, 10, 69,120, 99,101,112,116, 32, 97,115, 32, 99,111,110,116, 97,105, -110,101,100, 32,105,110, 32,116,104,105,115, 32,110,111,116,105, 99,101, 44, 32,116,104,101, 32,110, 97,109,101, 32,111,102, 32, - 84, 97,118,109,106,111,110,103, 32, 66, 97,104, 32,115,104, 97,108,108, 32,110,111,116, 10, 98,101, 32,117,115,101,100, 32,105, -110, 32, 97,100,118,101,114,116,105,115,105,110,103, 32,111,114, 32,111,116,104,101,114,119,105,115,101, 32,116,111, 32,112,114, -111,109,111,116,101, 32,116,104,101, 32,115, 97,108,101, 44, 32,117,115,101, 32,111,114, 32,111,116,104,101,114, 10,100,101, 97, -108,105,110,103,115, 32,105,110, 32,116,104,105,115, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 32,119,105,116,104, -111,117,116, 32,112,114,105,111,114, 32,119,114,105,116,116,101,110, 32, 97,117,116,104,111,114,105,122, 97,116,105,111,110, 10, -102,114,111,109, 32, 84, 97,118,109,106,111,110,103, 32, 66, 97,104, 46, 32, 70,111,114, 32,102,117,114,116,104,101,114, 32,105, -110,102,111,114,109, 97,116,105,111,110, 44, 32, 99,111,110,116, 97, 99,116, 58, 32,116, 97,118,109,106,111,110,103, 32, 64, 32, -102,114,101,101, 10, 46, 32,102,114, 46, 0, 0,104, 0,116, 0,116, 0,112, 0, 58, 0, 47, 0, 47, 0,100, 0,101, 0,106, 0, - 97, 0,118, 0,117, 0, 46, 0,115, 0,111, 0,117, 0,114, 0, 99, 0,101, 0,102, 0,111, 0,114, 0,103, 0,101, 0, 46, 0, -110, 0,101, 0,116, 0, 47, 0,119, 0,105, 0,107, 0,105, 0, 47, 0,105, 0,110, 0,100, 0,101, 0,120, 0, 46, 0,112, 0, -104, 0,112, 0, 47, 0, 76, 0,105, 0, 99, 0,101, 0,110, 0,115, 0,101, 0, 0,104,116,116,112, 58, 47, 47,100,101,106, 97, -118,117, 46,115,111,117,114, 99,101,102,111,114,103,101, 46,110,101,116, 47,119,105,107,105, 47,105,110,100,101,120, 46,112,104, -112, 47, 76,105, 99,101,110,115,101, 0, 65,108,108, 32, 84,121,112,111,103,114, 97,112,104,105, 99, 32, 70,101, 97,116,117,114, -101,115, 0, 70,111,110, 99,116,105,111,110,115, 32,116,121,112,111,103,114, 97,112,104,105,113,117,101,115, 0, 65,108,108,101, - 32,116,121,112,111,103,114, 97,102,105,115, 99,104,101,110, 32, 77,154,103,108,105, 99,104,107,101,105,116,101,110, 0, 70,117, -110,122,105,111,110,105, 32, 84,105,112,111,103,114, 97,102,105, 99,104,101, 0, 65,108,108,101, 32,116,121,112,111,103,114, 97, -102,105,115, 99,104,101, 32,107,101,110,109,101,114,107,101,110, 0, 76,105,103, 97,116,117,114,101,115, 0, 76,105,103, 97,116, -117,114,101,115, 0, 76,105,103, 97,116,117,114,101,110, 0, 76,101,103, 97,116,117,114,101, 0, 76,105,103, 97,116,117,114,101, -110, 0, 67,117,114,115,105,118,101, 32, 99,111,110,110,101, 99,116,105,111,110, 0, 67,111,110,110,101, 99,116,105,111,110, 32, -100,101,115, 32, 67,117,114,115,105,118,101,115, 0, 67,117,114,115,105,101,118,101, 32,118,101,114, 98,105,110,100,105,110,103, - 0, 70,114, 97, 99,116,105,111,110,115, 0, 70,114, 97, 99,116,105,111,110,115, 0, 66,114,101,117,107,101,110, 0, 65,108,108, - 32, 84,121,112,101, 32, 70,101, 97,116,117,114,101,115, 0, 84,111,117,116,101,115, 32,102,111,110, 99,116,105,111,110,115, 32, -116,121,112,111,103,114, 97,112,104,105,113,117,101,115, 0, 65,108,108,101, 32, 65,117,115,122,101,105, 99,104,110,117,110,103, -115, 97,114,116,101,110, 0, 84,117,116,116,101, 32,108,101, 32, 70,117,110,122,105,111,110,105, 0, 65,108,108,101, 32,116,121, -112,101,107,101,110,109,101,114,107,101,110, 0, 67,111,109,109,111,110, 32, 76,105,103, 97,116,117,114,101,115, 0, 76,105,103, - 97,116,117,114,101,115, 32, 85,115,117,101,108,108,101,115, 0, 78,111,114,109, 97,108,101, 32, 76,105,103, 97,116,117,114,101, -110, 0, 76,101,103, 97,116,117,114,101, 32,112,105,157, 32, 67,111,109,117,110,105, 0, 71,101,109,101,101,110,115, 99,104, 97, -112,112,101,108,105,106,107,101, 32, 76,105,103, 97,116,117,114,101,110, 0, 82, 97,114,101, 32, 76,105,103, 97,116,117,114,101, -115, 0, 76,105,103, 97,116,117,114,101,115, 32, 82, 97,114,101,115, 0, 83,101,108,116,101,110,101, 32, 76,105,103, 97,116,117, -114,101,110, 0, 76,101,103, 97,116,117,114,101, 32, 82, 97,114,101, 0, 90,101,108,100,122, 97,109,101, 32,108,105,103, 97,116, -117,114,101,110, 0, 67,117,114,115,105,118,101, 0, 80,108,101,105,110,101,109,101,110,116, 32, 99,111,110,110,101, 99,116,142, -101,115, 0, 67,117,114,115,105,101,102, 0, 68,105, 97,103,111,110, 97,108, 32, 70,114, 97, 99,116,105,111,110,115, 0, 70,114, - 97, 99,116,105,111,110,115, 32,101,110, 32, 68,105, 97,103,111,110, 97,108,101, 0, 68,105, 97,103,111,110, 97,108,101,114, 32, - 66,114,117, 99,104, 0, 70,114, 97,122,105,111,110,105, 32, 68,105, 97,103,111,110, 97,108,105, 0, 68,105, 97,103,111,110, 97, -108,101, 32, 98,114,101,117,107,101,110, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,255,171, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,163, 0, 0, 0, 1, 0, 2, 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,172, 0,163, 0,132, 0,133, 0,189, 0,150, 0,232, - 0,134, 0,142, 0,139, 0,157, 0,169, 0,164, 1, 2, 0,138, 0,218, 0,131, 0,147, 0,242, 0,243, 0,141, 0,151, 0,136, - 0,195, 0,222, 0,241, 0,158, 0,170, 0,245, 0,244, 0,246, 0,162, 0,173, 0,201, 0,199, 0,174, 0, 98, 0, 99, 0,144, - 0,100, 0,203, 0,101, 0,200, 0,202, 0,207, 0,204, 0,205, 0,206, 0,233, 0,102, 0,211, 0,208, 0,209, 0,175, 0,103, - 0,240, 0,145, 0,214, 0,212, 0,213, 0,104, 0,235, 0,237, 0,137, 0,106, 0,105, 0,107, 0,109, 0,108, 0,110, 0,160, - 0,111, 0,113, 0,112, 0,114, 0,115, 0,117, 0,116, 0,118, 0,119, 0,234, 0,120, 0,122, 0,121, 0,123, 0,125, 0,124, - 0,184, 0,161, 0,127, 0,126, 0,128, 0,129, 0,236, 0,238, 0,186, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 0,253, - 0,254, 1, 9, 1, 10, 1, 11, 1, 12, 0,255, 1, 0, 1, 13, 1, 14, 1, 15, 1, 1, 1, 16, 1, 17, 1, 18, 1, 19, 1, 20, - 1, 21, 1, 22, 1, 23, 1, 24, 1, 25, 1, 26, 1, 27, 0,248, 0,249, 1, 28, 1, 29, 1, 30, 1, 31, 1, 32, 1, 33, 1, 34, - 1, 35, 1, 36, 1, 37, 1, 38, 1, 39, 1, 40, 1, 41, 1, 42, 1, 43, 0,250, 0,215, 1, 44, 1, 45, 1, 46, 1, 47, 1, 48, - 1, 49, 1, 50, 1, 51, 1, 52, 1, 53, 1, 54, 1, 55, 1, 56, 1, 57, 1, 58, 0,226, 0,227, 1, 59, 1, 60, 1, 61, 1, 62, - 1, 63, 1, 64, 1, 65, 1, 66, 1, 67, 1, 68, 1, 69, 1, 70, 1, 71, 1, 72, 1, 73, 0,176, 0,177, 1, 74, 1, 75, 1, 76, - 1, 77, 1, 78, 1, 79, 1, 80, 1, 81, 1, 82, 1, 83, 0,251, 0,252, 0,228, 0,229, 1, 84, 1, 85, 1, 86, 1, 87, 1, 88, - 1, 89, 1, 90, 1, 91, 1, 92, 1, 93, 1, 94, 1, 95, 1, 96, 1, 97, 1, 98, 1, 99, 1,100, 1,101, 1,102, 1,103, 1,104, - 1,105, 0,187, 1,106, 1,107, 1,108, 1,109, 0,230, 0,231, 1,110, 1,111, 1,112, 1,113, 1,114, 1,115, 1,116, 1,117, - 1,118, 1,119, 1,120, 1,121, 1,122, 1,123, 1,124, 1,125, 1,126, 1,127, 1,128, 0,166, 1,129, 1,130, 1,131, 1,132, - 1,133, 1,134, 1,135, 1,136, 1,137, 1,138, 1,139, 1,140, 1,141, 1,142, 1,143, 1,144, 1,145, 1,146, 1,147, 1,148, - 1,149, 1,150, 1,151, 1,152, 1,153, 1,154, 1,155, 1,156, 1,157, 1,158, 1,159, 1,160, 1,161, 1,162, 1,163, 1,164, - 1,165, 1,166, 1,167, 1,168, 1,169, 1,170, 1,171, 1,172, 1,173, 1,174, 1,175, 1,176, 1,177, 1,178, 1,179, 1,180, - 1,181, 1,182, 1,183, 1,184, 1,185, 1,186, 1,187, 1,188, 1,189, 1,190, 1,191, 1,192, 1,193, 1,194, 1,195, 1,196, - 1,197, 1,198, 1,199, 1,200, 1,201, 1,202, 1,203, 1,204, 1,205, 1,206, 1,207, 1,208, 1,209, 1,210, 1,211, 1,212, - 1,213, 1,214, 1,215, 1,216, 1,217, 1,218, 1,219, 1,220, 1,221, 1,222, 1,223, 1,224, 1,225, 1,226, 1,227, 1,228, - 1,229, 1,230, 1,231, 1,232, 1,233, 1,234, 1,235, 1,236, 1,237, 1,238, 1,239, 1,240, 1,241, 1,242, 1,243, 1,244, - 1,245, 1,246, 1,247, 1,248, 1,249, 1,250, 1,251, 1,252, 1,253, 1,254, 1,255, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, - 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 12, 2, 13, 2, 14, 2, 15, 2, 16, 2, 17, 2, 18, 2, 19, 2, 20, - 2, 21, 2, 22, 2, 23, 2, 24, 2, 25, 2, 26, 2, 27, 2, 28, 2, 29, 2, 30, 2, 31, 2, 32, 2, 33, 2, 34, 2, 35, 2, 36, - 2, 37, 2, 38, 2, 39, 2, 40, 2, 41, 2, 42, 2, 43, 2, 44, 2, 45, 2, 46, 2, 47, 2, 48, 2, 49, 2, 50, 2, 51, 2, 52, - 2, 53, 2, 54, 2, 55, 2, 56, 2, 57, 2, 58, 2, 59, 2, 60, 2, 61, 2, 62, 2, 63, 2, 64, 2, 65, 2, 66, 2, 67, 2, 68, - 2, 69, 2, 70, 2, 71, 2, 72, 2, 73, 2, 74, 0,216, 0,225, 2, 75, 2, 76, 2, 77, 2, 78, 2, 79, 2, 80, 2, 81, 2, 82, - 2, 83, 2, 84, 2, 85, 2, 86, 2, 87, 2, 88, 2, 89, 2, 90, 0,219, 0,220, 0,221, 0,224, 0,217, 0,223, 2, 91, 2, 92, - 2, 93, 2, 94, 2, 95, 2, 96, 2, 97, 2, 98, 2, 99, 2,100, 2,101, 2,102, 2,103, 2,104, 2,105, 2,106, 2,107, 2,108, - 2,109, 2,110, 2,111, 2,112, 2,113, 2,114, 2,115, 2,116, 2,117, 2,118, 2,119, 2,120, 2,121, 2,122, 2,123, 2,124, - 2,125, 2,126, 2,127, 2,128, 2,129, 2,130, 2,131, 2,132, 2,133, 2,134, 2,135, 2,136, 2,137, 2,138, 2,139, 2,140, - 2,141, 2,142, 2,143, 2,144, 2,145, 2,146, 2,147, 2,148, 2,149, 2,150, 2,151, 2,152, 2,153, 2,154, 2,155, 2,156, - 2,157, 2,158, 2,159, 2,160, 2,161, 2,162, 2,163, 2,164, 2,165, 2,166, 2,167, 2,168, 2,169, 2,170, 2,171, 2,172, - 2,173, 2,174, 2,175, 2,176, 2,177, 2,178, 2,179, 2,180, 2,181, 2,182, 2,183, 2,184, 2,185, 2,186, 2,187, 2,188, - 2,189, 2,190, 2,191, 2,192, 2,193, 2,194, 2,195, 2,196, 2,197, 2,198, 2,199, 2,200, 2,201, 2,202, 2,203, 2,204, - 2,205, 2,206, 2,207, 2,208, 2,209, 2,210, 2,211, 2,212, 2,213, 2,214, 2,215, 2,216, 2,217, 2,218, 2,219, 2,220, - 2,221, 2,222, 2,223, 2,224, 2,225, 2,226, 2,227, 2,228, 2,229, 2,230, 2,231, 2,232, 2,233, 2,234, 0,159, 2,235, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0,172, 0,182, + 0,188, 0, 0, 0,213, 0, 0, 0, 0, 0, 0, 0, 85, 0,131, 0,151, 0,159, 0,125, 0,229, 0,174, 0,174, 0,113, 0,113, + 0, 0, 0, 0, 0,186, 0,197, 0,186, 0, 0, 0, 0, 0,164, 0,159, 0,140, 0, 0, 0, 0, 0,199, 0,199, 0,125, 0,125, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176, 0,185, 0,138, 0, 0, 0, 0, 0,155, 0,166, 0,143, 0,119, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0,150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,105, 0,110, 0,144, 0,180, 0,193, 0,213, + 0, 0, 0, 0, 0, 0, 0, 0, 0,102, 0,111, 0,120, 0,150, 0,192, 0,213, 1, 71, 0, 0, 0, 0, 0, 0, 0,254, 1, 58, + 0,197, 0,120, 0,254, 1, 22, 1,246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,238, 0, 0, 0,150, 0,136, 0,174, 0,150, 0,137, 1, 12, 0,150, 1, 24, 0, 0, 3, 29, 0,148, 2, 90, 0,130, 3,150, + 0, 0, 0,168, 0,140, 0, 0, 0, 0, 2,121, 0,217, 0,180, 1, 10, 0, 0, 1,131, 0,109, 0,127, 0,160, 0, 0, 0, 0, + 0,109, 0,136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,147, 0,160, 0, 0, 0,130, 0,137, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 5,182,252,148, 0, 17,255,239, 0,131, 0,143, 0, 0, 0, 0, 0,109, 0,123, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0,188, 1,170, 3, 84, 0, 0, 0, 0, 0,188, 0,182, 1,215, 1,149, 0, 0, 0,150, 1, 0, 0,174, + 5,182,254,188,254,111,254,131, 0,111, 2,173, 0, 0, 0, 42, 0, 42, 0, 42, 0, 42, 0,111, 0,161, 1, 41, 1,226, 2,113, + 3, 41, 3, 77, 3,124, 3,172, 3,226, 4, 15, 4, 68, 4, 91, 4,149, 4,180, 5, 6, 5, 63, 5,148, 6, 18, 6,101, 6,204, + 7, 63, 7,103, 8, 17, 8,130, 8,218, 9, 61, 9,121, 9,187, 9,247, 10,106, 11, 52, 11,160, 12, 23, 12,116, 12,179, 12,236, + 13, 57, 13,151, 13,205, 14, 16, 14, 73, 14,151, 14,183, 15, 43, 15,124, 15,213, 16, 34, 16,139, 16,252, 17,102, 17,167, 17,229, + 18, 56, 18,238, 19, 77, 19,158, 19,209, 19,247, 20, 23, 20, 59, 20, 89, 20,112, 20,149, 21, 8, 21,105, 21,174, 22, 14, 22,107, + 22,206, 23,162, 23,227, 24, 20, 24, 95, 24,175, 24,200, 25, 57, 25,119, 25,192, 26, 34, 26,131, 26,201, 27, 57, 27,142, 27,207, + 28, 39, 28,212, 29,101, 29,206, 30, 27, 30,117, 30,153, 30,245, 31, 72, 31, 72, 31,144, 31,244, 32,106, 33, 1, 33,116, 33,164, + 34, 93, 34,161, 35, 74, 35,180, 36, 8, 36, 53, 36, 61, 37, 12, 37, 35, 37,126, 37,186, 38, 10, 38,127, 38,164, 38,238, 39, 43, + 39,101, 39,171, 39,226, 40, 42, 40,122, 40,163, 40,200, 40,247, 41,109, 41,133, 41,156, 41,180, 41,203, 41,228, 42, 9, 42,114, + 42,133, 42,157, 42,180, 42,204, 42,229, 42,253, 43, 20, 43, 43, 43, 68, 43,168, 43,191, 43,215, 43,238, 44, 5, 44, 29, 44, 54, + 44,155, 45, 28, 45, 52, 45, 75, 45, 99, 45,124, 45,147, 45,221, 46,120, 46,143, 46,165, 46,187, 46,209, 46,233, 47, 1, 47,177, + 47,196, 47,219, 47,241, 48, 7, 48, 31, 48, 55, 48, 78, 48,101, 48,126, 49, 14, 49, 36, 49, 59, 49, 81, 49,104, 49,127, 49,152, + 50, 9, 50,130, 50,153, 50,175, 50,197, 50,222, 50,244, 51, 89, 51,113, 51,137, 51,159, 51,182, 51,204, 51,227, 52, 0, 52, 23, + 52, 47, 52, 70, 52, 94, 52,117, 52,142, 52,165, 52,189, 52,213, 52,232, 52,240, 53,105, 53,128, 53,150, 53,173, 53,195, 53,218, + 53,241, 54, 5, 54, 38, 54, 61, 54, 83, 54,106, 54,128, 54,151, 54,174, 54,197, 54,221, 54,240, 55, 6, 55, 30, 55, 59, 55,140, + 55,231, 55,254, 56, 21, 56, 44, 56, 67, 56, 90, 56,113, 56,132, 56,152, 56,175, 56,200, 56,241, 57, 21, 57, 44, 57, 67, 57, 86, + 57,105, 57,178, 57,202, 57,231, 57,250, 58, 14, 58, 38, 58, 62, 58, 81, 58,116, 58,193, 59, 14, 59, 37, 59, 59, 59, 79, 59, 98, + 59,121, 59,144, 59,178, 60, 19, 60,108, 60,131, 60,153, 60,176, 60,199, 60,224, 60,248, 61,105, 61,247, 62, 15, 62, 37, 62, 56, + 62, 76, 62,100, 62,124, 62,147, 62,169, 62,192, 62,214, 62,234, 62,253, 63, 20, 63, 42, 63, 61, 63, 81, 63,104, 63,122, 63,209, + 64, 59, 64, 83, 64,105, 64,129, 64,151, 64,174, 64,196, 64,221, 64,245, 65, 14, 65, 38, 65, 57, 65, 76, 65, 99, 65,122, 65,145, + 65,167, 65,192, 65,215, 65,237, 66, 4, 66, 27, 66, 50, 66, 72, 66,123, 66,223, 67,193, 68,150, 68,174, 68,197, 68,220, 68,242, + 69, 5, 69, 24, 69, 78, 69,132, 69,156, 69,215, 69,254, 70, 78, 70,123, 70,194, 71, 5, 71, 50, 71,163, 71,188, 71,246, 72, 27, + 72, 65, 72,130, 72,179, 72,231, 73, 15, 73, 40, 73, 48, 73, 56, 73,106, 73,182, 73,190, 73,198, 73,206, 74, 61, 74, 69, 74, 77, + 74,153, 74,161, 74,169, 74,246, 74,254, 75, 41, 75, 49, 75,121, 75,129, 75,137, 76, 24, 76, 32, 76,142, 77, 16, 77, 41, 77, 66, + 77, 88, 77,110, 77,132, 77,156, 77,177, 78, 35, 78,165, 79, 4, 79,140, 80, 8, 80,110, 80,174, 81, 32, 81, 94, 81,102, 81,226, + 82, 48, 82,114, 83, 18, 83, 26, 83,110, 83,200, 84, 55, 84,144, 84,218, 85, 28, 85,154, 86, 46, 86,143, 87, 25, 87, 50, 87, 75, + 87, 97, 87,119, 87,149, 87,174, 88, 40, 88, 63, 88,170, 88,178, 88,186, 88,211, 88,219, 89,114, 89,209, 90, 47, 90, 70, 90, 93, + 90,166, 90,174, 91, 1, 91, 9, 91, 17, 91,132, 91,140, 92, 25, 92,156, 92,251, 93, 19, 93, 91, 93,191, 93,199, 93,207, 93,215, + 93,223, 93,231, 93,239, 93,247, 94,103, 94,111, 94,119, 94,172, 94,243, 95, 59, 95,145, 95,231, 96, 61, 96,139, 96,238, 97,101, + 97,226, 97,234, 98,101, 98,215, 98,255, 99,101, 99,109, 99,226,100, 96,100,164,100,187,100,245,101, 64,101,165,101,235,101,243, +102, 28,102, 36,102, 44,102,107,102,115,102,240,102,248,103, 50,103,114,103,189,104, 22,104,115,104,213,105, 31,105,136,105,252, +106, 83,106,107,106,218,106,240,107, 76,107, 84,107, 92,107,117,107,125,107,245,108, 84,108,174,108,196,108,218,109, 31,109, 84, +109,127,109,151,109,174,109,197,109,220,109,246,110, 16,110, 40,110, 64,110, 91,110,118,110,145,110,186,110,229,111, 17,111, 68, +111,114,111,206,112, 42,112,148,112,239,113,117,113,184,114, 93,115, 42,115, 50,115, 58,115,109,115,162,115,180,115,210,116, 21, +116,112,116,247,117,129,118, 21,118,195,119, 65,119,247,120,126,120,134,120,233,121, 18,121, 65,121,112,121,155,122, 21,122, 98, +122,145,122,219,123, 1,123, 45,123,201,124, 26,124,163,125, 27,125, 96,125,164,125,240,126, 15,126, 45,126,112,126,163,126,201, +126,238,127, 19,127, 86,127,159,127,252,128, 91,128,138,129, 39,129,145,129,145,129,145,129,145,129,145,129,145,129,145,129,145, +129,145,129,145,129,145,129,145,129,145,129,145,130,219,131, 78,131, 90,131, 98,132, 11,132,136,133, 36,133, 59,133, 82,133,102, +133,122,133,167,133,244,134, 71,134,116,134,160,135, 21,135,124,135,219,136, 62,136, 99,136,136,136,207,137, 14,137, 46,137, 70, +137, 94,137,117,137,140,138, 41,138,228,139,101,139,218,140, 75,140,188,141, 64,141,211,142,107,143, 23,143,184,144, 92,145, 10, +145,186,146,164,147,147,147,155,147,163,148, 16,148,112,148,208,149, 56,149, 82,149,108,150, 44,150, 66,150,200,151, 70,152, 74, +153, 51,153,249,154,230,155, 72,155,151,156, 86,156,155,156,222,157, 13,157, 62,158, 29,158,187,159, 97,159,233,160, 68,160,168, +161, 36,161,178,162, 17,162, 97,162,207,163, 51,163,209,164,134,164,156,164,178,165, 38,165,145,165,255,166,114,166,216,167, 68, +167,142,167,224,168, 46,168,135,168,208,169, 30,169,137,169,252,170,173,171, 87,171,107,171,127,171,206,172, 29,172, 37,172,136, +172,249,173,104,174, 15,174,207,175, 54,175,148,175,243,176, 79,176,182,177, 25,177,103,177,173,178, 47,178,191,179, 76,179,230, +179,238,180, 5,180, 28,180,138,180,249,181,108,181,196,182, 22,182,119,182,190,183, 23,183,113,183,189,184, 65,184,193,184,201, +184,224,184,246,185, 15,185, 39,185, 47,185, 55,185, 78,185,100,185,202,186, 40,186, 66,186, 91,186,116,186,142,186,168,186,194, +187, 44,187,148,187,172,187,195,187,221,187,246,188, 15,188, 40,188, 48,188, 56,188, 81,188,105,188,131,188,157,188,181,188,203, +188,229,188,253,189, 22,189, 46,189, 71,189, 95,189,166,189,225,189,250,190, 19,190, 37,190, 55,190, 80,190,102,190,231,191,154, +191,228,191,236,192,102,192,242,193,139,194, 29,194,162,195, 40,195,187,196, 40,196,132,196,235,197, 79,197,203,198, 38,198,135, +199, 5,199,137,199,157,199,177,199,200,199,223,199,246,200, 13,200, 39,200, 64,200, 90,200,115,200,141,200,166,200,192,200,217, +200,253,201, 30,201, 55,201, 80,201,105,201,130,201,155,201,180,201,205,201,230,202, 8,202, 41,202, 64,202, 87,202,110,202,133, +202,157,202,179,202,205,202,230,203, 0,203, 25,203, 51,203, 76,203,102,203,127,203,163,203,196,203,219,203,242,204, 10,204, 34, +204, 57,204, 81,204,104,204,127,204,152,204,178,204,203,204,229,204,254,205, 24,205, 49,205, 75,205,109,205,145,205,168,205,191, +205,215,205,238,206, 6,206, 30,206, 54,206, 77,206,101,206,125,206,148,206,172,206,195,206,218,206,242,207, 7,207, 31,207, 52, +207, 74,207, 96,207,120,207,141,207,165,207,189,207,213,207,235,208, 2,208, 25,208, 48,208, 70,208, 90,208,157,208,246,209, 75, +209,186,210, 47,210,122,210,200,211, 41,211,146,211,191,211,231,212, 15, 0, 0, 0, 2, 0,193, 0, 0, 4, 10, 5,182, 0, 3, + 0, 7, 0, 43, 64, 11, 5, 2, 2, 9, 4,112, 3,128, 3, 2, 3,184,255,192, 64, 9, 6, 9, 72, 3, 4, 3, 7, 0, 3, 0, + 63, 50, 47, 51, 1, 47, 43, 93, 51, 17, 51, 47, 51, 49, 48, 19, 33, 17, 33, 55, 33, 17, 33,193, 3, 73,252,183,104, 2,121,253, +135, 5,182,250, 74,104, 4,230, 0, 2, 0,147,255,227, 1,145, 5,182, 0, 3, 0, 23, 0, 58,185, 0, 1,255,240, 64, 19, 10, + 20, 72, 16, 25,128, 25,144, 25,160, 25, 4, 3, 14,154, 4, 2, 2, 4,184,255,192, 64, 10, 7, 10, 72, 4, 1, 9,155, 19, 2, + 3, 0, 63, 47,245,206, 1, 47, 43, 51, 47, 16,225, 50, 93, 49, 48, 43, 1, 35, 3, 51, 3, 52, 62, 2, 51, 50, 30, 2, 21, 20, + 14, 2, 35, 34, 46, 2, 1, 80,121, 51,223,240, 20, 34, 46, 27, 26, 47, 34, 20, 20, 34, 47, 26, 27, 46, 34, 20, 1,158, 4, 24, +250,185, 38, 53, 33, 15, 15, 33, 53, 38, 37, 53, 34, 16, 16, 34, 53, 0, 0, 2, 0,133, 3,166, 2,178, 5,182, 0, 3, 0, 7, + 0, 55, 64, 35, 4,152, 7, 7, 9,208, 9,224, 9, 2, 47, 9,111, 9,127, 9, 3, 0,152, 0, 3, 16, 3,224, 3,240, 3, 4, + 3, 6, 2, 2, 7, 3, 3, 0, 63, 51, 51, 47, 51, 1, 47, 93,225, 93, 93, 18, 57, 47,225, 49, 48, 1, 3, 35, 3, 33, 3, 35, + 3, 1, 74, 41,115, 41, 2, 45, 41,114, 41, 5,182,253,240, 2, 16,253,240, 2, 16, 0, 0, 2, 0, 51, 0, 0, 4,248, 5,182, + 0, 27, 0, 31, 0,153, 64, 88, 3, 3, 26, 26, 24, 22, 30, 29, 7, 4, 6, 23, 23, 6, 25, 0, 1, 4, 4, 5,177, 24, 24, 33, + 21, 31, 28, 8, 4, 9, 20, 20, 18, 15, 14, 11, 4, 19,177, 10, 80, 16, 1, 16, 16, 12, 12, 9, 80, 10, 1, 10, 28, 1, 72, 13, + 1, 13,174, 12, 8, 4, 12, 31, 0, 16,174, 17, 25, 21, 17, 63, 17, 79, 17,223, 17, 3, 12, 17, 12, 17, 5, 23, 19, 6, 10, 5, + 0, 47, 51, 63, 51, 18, 57, 57, 47, 47, 93, 17, 51, 51, 16,225, 50, 50, 17, 51, 51, 16,225, 93, 50, 50, 1, 47, 93, 51, 51, 47, + 51, 47, 93, 16,228, 23, 57, 50, 17, 18, 23, 57, 17, 51, 47,228, 23, 57, 50, 51, 17, 18, 23, 57, 17, 51, 47, 51, 47, 49, 48, 1, + 3, 33, 21, 33, 3, 35, 19, 33, 3, 35, 19, 33, 53, 33, 19, 33, 53, 33, 19, 51, 3, 33, 19, 51, 3, 33, 21, 1, 33, 19, 33, 3, +215, 63, 1, 24,254,205, 82,147, 84,254,221, 82,144, 78,254,254, 1, 29, 65,254,238, 1, 43, 82,147, 82, 1, 37, 84,144, 84, 1, + 6,252,235, 1, 35, 64,254,221, 3,125,254,184,137,254, 84, 1,172,254, 84, 1,172,137, 1, 72,137, 1,176,254, 80, 1,176,254, + 80,137,254,184, 1, 72, 0, 3, 0,123,255,137, 3,217, 6, 18, 0, 45, 0, 54, 0, 63, 0,180, 64, 51, 52, 47, 41, 1, 41, 47, + 33, 1, 33, 6,112, 47, 60, 1, 60, 47, 30, 1, 30, 19, 32, 7, 1, 7, 7, 13, 46,110, 36, 15, 0, 31, 0, 2,255, 0, 1, 0, + 0, 1, 7, 0, 65, 13, 13, 55,110,224, 25, 1, 25,184,255,192, 64, 48, 8, 11, 72, 25, 51, 20, 20, 41, 60, 60, 19, 46, 55, 8, + 61, 40,115, 33, 37, 33, 31, 64, 14, 17, 72, 31, 31, 30, 80, 33, 1, 15, 33, 31, 33, 2, 8, 33, 52, 19,115, 8, 14, 8, 6, 6, + 5, 8,184,255,192,179, 10, 13, 72, 8, 0, 47, 43, 51, 51, 47, 17, 51, 16,225, 50, 47, 94, 93, 93, 51, 51, 47, 43, 17, 51, 16, +225, 50, 18, 57, 57, 18, 57, 17, 51, 51, 17, 51, 1, 47, 43, 93,225, 51, 47, 16,214, 94, 93, 93,113, 50,225, 17, 57, 47, 93, 51, + 51, 93, 51, 93,225, 50, 93, 50, 93, 50, 49, 48, 1, 20, 14, 2, 7, 21, 35, 53, 34, 46, 2, 39, 53, 30, 3, 51, 17, 46, 3, 53, + 52, 62, 2, 55, 53, 51, 21, 22, 22, 23, 7, 38, 38, 39, 17, 30, 3, 7, 52, 46, 2, 39, 17, 54, 54, 1, 20, 30, 2, 23, 17, 6, + 6, 3,217, 50, 93,133, 84,138, 50,102, 96, 84, 32, 33, 87, 96,101, 47, 89,131, 86, 42, 49, 91,129, 79,138,100,169, 67, 66, 56, +140, 74, 88,135, 91, 46,176, 20, 43, 70, 51, 93, 91,254, 18, 17, 40, 66, 49, 89, 83, 1,190, 70,114, 84, 55, 12,230,221, 9, 18, + 26, 17,172, 16, 33, 26, 17, 1,178, 30, 66, 85,110, 74, 67,111, 83, 53, 9,180,176, 5, 42, 31,145, 25, 41, 6,254, 90, 31, 66, + 83,107, 72, 33, 55, 45, 38, 18,254,139, 14, 98, 2,163, 36, 57, 47, 38, 17, 1,113, 16, 89, 0, 0, 5, 0,102,255,236, 6, 51, + 5,203, 0, 9, 0, 29, 0, 39, 0, 59, 0, 63, 0, 93,178, 60, 16, 62,184,255,240, 64, 51, 60, 62, 60, 62, 40, 20, 30,180, 50, +181, 35,180, 40, 65, 15, 65, 1, 5,180, 10,181, 0,180, 16, 20, 32, 20, 48, 20, 3, 20, 63, 6, 62, 24, 37,182, 55,183, 33,182, + 45, 25, 3,182, 15,183, 7,182, 25, 7, 0, 63,225,244,225, 63,225,244,225, 63, 63, 1, 47, 93,225,244,225, 93, 16,222,225,244, +225, 17, 18, 57, 57, 47, 47, 56, 56, 49, 48, 19, 20, 22, 51, 50, 17, 16, 35, 34, 6, 5, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, + 2, 51, 50, 30, 2, 1, 20, 22, 51, 50, 17, 16, 35, 34, 6, 5, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 1, + 1, 35, 1,250, 71, 80,156,156, 80, 71, 1,199, 36, 74,115, 79, 73,112, 76, 38, 35, 73,113, 78, 75,113, 77, 39, 1,172, 71, 80, +156,156, 80, 71, 1,198, 35, 74,115, 79, 74,112, 75, 38, 35, 73,113, 78, 75,113, 76, 39,255, 0,252,213,158, 3, 44, 4, 2,165, +165, 1, 74, 1, 72,163,165,108,172,118, 63, 63,118,172,108,108,170,117, 62, 62,117,170,253, 74,165,164, 1, 73, 1, 72,163,165, +108,171,118, 63, 63,118,171,108,108,170,117, 62, 62,117,170, 3,146,250, 74, 5,182, 0, 0, 3, 0,109,255,236, 5,125, 5,205, + 0, 17, 0, 33, 0, 83, 0,128, 64, 77, 39, 24, 23, 74, 4, 73, 44, 73, 72, 10, 71, 54, 65, 71, 66, 32, 66, 1, 54, 66, 54, 66, + 29, 5, 59, 60, 71, 4, 72, 0, 71, 0, 44, 16, 44, 2, 8, 44, 44, 34, 32, 72, 1, 72, 85, 29, 72, 16, 34, 32, 34, 2, 34, 65, + 65, 49, 18, 81, 79, 22, 39, 24, 23, 74, 4, 15, 71, 60, 59, 5, 4, 49, 73, 21, 15, 80, 49, 0, 47,225, 63, 18, 23, 57, 18, 23, + 57, 63,225, 17, 57, 47, 1, 47, 93,225, 16,198, 93, 17, 57, 47, 94, 93,225, 17, 23, 57, 18, 57, 57, 47, 47, 93, 16,225, 16,225, + 17, 51, 17, 18, 23, 57, 49, 48, 1, 20, 30, 2, 23, 62, 3, 53, 52, 46, 2, 35, 34, 6, 19, 50, 62, 2, 55, 1, 14, 3, 21, 20, + 30, 2, 37, 52, 62, 2, 55, 46, 3, 53, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 7, 1, 62, 3, 55, 51, 14, 3, 7, 1, 35, + 39, 14, 3, 35, 34, 46, 2, 1,166, 16, 33, 52, 36, 59, 86, 56, 28, 25, 47, 66, 42, 86,100,135, 58, 98, 84, 72, 32,254,125, 52, + 80, 55, 28, 35, 66, 96,254,125, 40, 77,111, 71, 31, 60, 45, 28, 50, 94,138, 88, 83,131, 91, 48, 50, 84,109, 60, 1, 96, 27, 43, + 34, 27, 10,184, 15, 41, 53, 65, 39, 1, 21,225,168, 49, 96,108,124, 78,105,167,115, 61, 4,141, 34, 65, 65, 67, 37, 35, 62, 64, + 70, 41, 36, 61, 44, 25, 89,251,175, 23, 40, 54, 31, 1,151, 33, 63, 72, 85, 56, 54, 91, 65, 36,240, 78,122,100, 86, 42, 36, 77, + 87, 99, 57, 75,119, 83, 43, 43, 83,119, 75, 64,109, 93, 79, 36,254,140, 29, 60, 68, 78, 47, 66,111, 98, 85, 41,254,219,172, 45, + 71, 49, 27, 53,103,149, 0, 1, 0,133, 3,166, 1, 74, 5,182, 0, 3, 0, 42, 64, 28,192, 5,208, 5,224, 5, 3, 47, 5,111, + 5, 2, 0,152, 0, 3, 16, 3,224, 3,240, 3, 4, 3, 2, 2, 3, 3, 0, 63, 51, 47, 1, 47, 93,225, 93, 93, 49, 48, 1, 3, + 35, 3, 1, 74, 41,115, 41, 5,182,253,240, 2, 16, 0, 0, 1, 0, 82,254,188, 2, 43, 5,182, 0, 19, 0, 26, 64, 13, 6, 14, +242, 9,240, 63, 0, 1, 0, 14,249, 5,248, 0, 63, 63, 1, 47, 93,225,228, 50, 49, 48, 19, 52, 62, 2, 55, 51, 6, 2, 21, 20, + 30, 2, 23, 35, 46, 3, 82, 36, 74,113, 78,172,140,145, 37, 71,106, 69,170, 78,113, 74, 36, 2, 49,125,243,229,211, 93,193,254, + 50,244,119,236,226,212, 94, 90,206,225,240, 0, 0, 1, 0, 61,254,188, 2, 23, 5,182, 0, 19, 0, 28, 64, 14, 6, 14,242, 11, +240,176, 0, 1, 0, 21, 14,248, 5,249, 0, 63, 63, 1, 16,222, 93,225,228, 50, 49, 48, 1, 20, 14, 2, 7, 35, 62, 3, 53, 52, + 2, 39, 51, 30, 3, 2, 23, 36, 75,113, 78,170, 69,106, 72, 36,144,141,172, 78,113, 75, 36, 2, 49,124,240,225,206, 90, 94,212, +226,236,119,244, 1,206,193, 93,211,229,243, 0, 0, 1, 0, 82, 2,119, 4, 20, 6, 20, 0, 14, 0, 36, 64, 21, 31, 16, 1, 0, +152, 0, 14,128, 14,144, 14, 3, 8, 14, 31, 6, 1, 6, 6, 0, 0, 0, 63, 50, 47, 93, 1, 47, 94, 93,229, 93, 49, 48, 1, 3, + 37, 23, 5, 19, 7, 3, 3, 39, 19, 37, 55, 5, 3, 2,152, 43, 1,141, 26,254,134,245,178,176,158,184,242,254,137, 29, 1,135, + 43, 6, 20,254,119,111,193, 28,254,186, 96, 1,102,254,154, 96, 1, 70, 28,193,111, 1,137, 0, 0, 1, 0,102, 1, 6, 4, 2, + 4,162, 0, 11, 0, 41, 64, 24, 16, 13, 1, 6, 9,170, 3,239, 0, 1, 32, 0, 96, 0,160, 0, 3, 0, 9, 0,173, 6, 3,179, + 0, 63, 51,225, 50, 1, 47, 93, 93, 50,225, 50, 93, 49, 48, 1, 33, 53, 33, 17, 51, 17, 33, 21, 33, 17, 35, 1,233,254,125, 1, +131,150, 1,131,254,125,150, 2,135,150, 1,133,254,123,150,254,127, 0, 0, 1, 0, 63,254,248, 1,121, 0,238, 0, 12, 0, 56, + 64, 20,207, 14, 1, 16, 14,144, 14,160, 14, 3, 27, 12, 43, 12, 2, 12, 1,151, 6, 7,184,255,192, 64, 13, 16, 20, 72, 95, 7, + 1, 16, 7, 1, 7, 6,156, 12, 0, 47,237, 1, 47, 93, 93, 43, 51,237, 50, 93, 93, 93, 49, 48, 37, 23, 14, 3, 7, 35, 62, 3, + 55, 1,106, 15, 14, 39, 47, 51, 25,138, 15, 29, 27, 22, 8,238, 23, 54,122,124,123, 56, 61,132,131,125, 53, 0, 0, 1, 0, 82, + 1,209, 2, 66, 2,121, 0, 3, 0, 21, 64, 9, 2, 5, 64, 0, 1, 0, 0,185, 1, 0, 47,225, 1, 47, 93, 16,206, 49, 48, 19, + 53, 33, 21, 82, 1,240, 1,209,168,168, 0, 1, 0,147,255,227, 1,145, 0,250, 0, 19, 0, 53, 64, 27,128, 21,144, 21,160, 21, + 3, 17, 21, 1, 10,150,192, 0,208, 0, 2, 52, 0, 68, 0,100, 0,116, 0, 4, 0,184,255,192,182, 7, 10, 72, 0, 5,155, 15, + 0, 47,237, 1, 47, 43, 93, 93,237, 93, 93, 49, 48, 55, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2,147, 20, 34, + 46, 27, 26, 47, 34, 20, 20, 34, 47, 26, 27, 46, 34, 20,111, 38, 53, 33, 15, 15, 33, 53, 38, 37, 53, 34, 16, 16, 34, 53, 0, 1, + 0, 20, 0, 0, 2,231, 5,182, 0, 3, 0, 30,177, 1, 2,184,255,240, 64, 9, 2, 3, 0, 16, 0, 5, 1, 0, 3, 0, 63, 47, + 17, 1, 51, 56, 50, 47, 56, 51, 49, 48, 1, 1, 35, 1, 2,231,253,224,179, 2, 33, 5,182,250, 74, 5,182, 0, 0, 2, 0, 98, +255,236, 4, 8, 5,205, 0, 19, 0, 39, 0, 38, 64, 21, 30,111, 0, 41, 16, 41, 1, 20,111, 32, 10, 1, 10, 35,115, 15, 7, 25, +115, 5, 25, 0, 63,225, 63,225, 1, 47, 93,225, 93, 16,222,225, 49, 48, 1, 20, 2, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, + 54, 51, 50, 22, 22, 18, 5, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2, 4, 8, 51,113,178,127,118,175,115, 57, + 51,111,177,126,119,176,116, 58,253, 19, 30, 66,107, 77, 77,108, 69, 31, 31, 69,108, 77, 77,107, 66, 30, 2,221,177,254,232,194, +102,102,194, 1, 24,177,177, 1, 24,193,102,101,193,254,232,178,150,224,149, 75, 74,148,225,151,150,224,148, 74, 74,148,224, 0, + 0, 1, 0,178, 0, 0, 2,199, 5,182, 0, 16, 0, 53, 64, 33, 64, 18, 1, 15, 1, 14, 14, 0,110,191, 1,255, 1, 2,126, 1, + 1, 0, 1, 16, 1, 32, 1, 64, 1, 4, 6, 1, 13, 15, 6, 0, 24, 0, 63, 63,205, 1, 47, 94, 93, 93, 93,225, 51, 47, 17, 51, + 93, 49, 48, 33, 35, 17, 52, 62, 2, 55, 14, 3, 7, 7, 39, 1, 51, 2,199,176, 1, 3, 3, 1, 17, 26, 27, 30, 21,148, 96, 1, +127,150, 3,145, 43, 98, 97, 89, 34, 18, 26, 24, 27, 18,121,123, 1, 43, 0, 1, 0, 96, 0, 0, 3,240, 5,203, 0, 35, 0, 60, + 64, 32, 35, 8,111, 27, 27, 37, 16, 37, 1, 34,111, 1, 33, 1, 17, 17, 32, 1, 1, 1, 8, 34, 16, 13,115, 22, 7, 2, 34,116, + 1, 24, 0, 63,225, 50, 63,225, 51, 18, 57, 1, 47, 93, 51, 47, 17, 51, 16,237, 93, 17, 51, 47,225, 51, 49, 48, 33, 33, 53, 1, + 62, 3, 53, 52, 46, 2, 35, 34, 6, 7, 39, 62, 3, 51, 50, 30, 2, 21, 20, 14, 2, 7, 1, 21, 33, 3,240,252,112, 1, 94, 75, +118, 83, 44, 34, 63, 86, 53, 95,153, 69,102, 40, 92,106,118, 65, 96,155,108, 59, 53, 93,129, 75,254,231, 2,177,156, 1,125, 81, +134,128,129, 76, 59, 90, 63, 32, 77, 60,119, 36, 63, 46, 27, 54,101,145, 91, 85,154,149,150, 81,254,213, 8, 0, 0, 1, 0, 82, +255,236, 3,238, 5,203, 0, 57, 0, 93, 64, 11, 33, 48, 33, 48, 18, 26,111, 9, 39,111, 0,184,255,192, 64, 40, 20, 23, 72, 0, + 0, 9, 59, 32, 59, 1, 79, 18, 1, 18, 6, 32,115,171, 33, 1,121, 33, 1, 11, 33, 1, 8, 33, 33, 21, 47, 44,115, 53, 7, 21, +115, 18, 14, 25, 0, 63, 51,225, 63,225, 51, 18, 57, 47, 94, 93, 93, 93,225, 57, 1, 47, 93, 93, 16,206, 50, 47, 43,225, 16,225, + 17, 57, 57, 47, 47, 49, 48, 1, 20, 14, 2, 7, 21, 22, 22, 21, 20, 14, 2, 35, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 53, 52, + 46, 2, 35, 35, 53, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 6, 7, 39, 62, 3, 51, 50, 30, 2, 3,193, 46, 83,116, 71,177,184, + 65,132,202,138,109,193, 85, 87,203, 93, 92,134, 87, 41, 53, 98,141, 89,133,133, 81,126, 85, 44, 36, 66, 92, 56,107,163, 74, 92, + 38, 93,110,125, 70,108,163,110, 56, 4, 96, 73,120, 88, 57, 12, 6, 22,181,145, 96,160,116, 64, 34, 45,170, 46, 50, 40, 74,108, + 67, 68, 97, 63, 30,151, 40, 74,102, 61, 52, 82, 57, 30, 67, 54,125, 31, 54, 41, 24, 54, 97,133, 0, 2, 0, 23, 0, 0, 4, 63, + 5,190, 0, 10, 0, 24, 0, 78, 64, 44, 9, 86, 0, 1, 0, 0, 2,110, 17, 12, 11, 7, 32, 3, 1, 3, 3, 26, 16, 26, 1,119, + 24,135, 24, 2, 24, 95, 5, 1, 5, 9, 6, 24,116, 1, 5, 5, 2, 17, 7, 6, 2, 24, 0, 63, 63, 51, 18, 57, 47, 51,225, 50, + 50, 1, 47, 93, 51, 93, 93, 18, 57, 47, 93, 51, 51, 51, 51,225, 50, 47, 93, 50, 49, 48, 1, 35, 17, 35, 17, 33, 53, 1, 51, 17, + 51, 33, 17, 52, 62, 2, 55, 35, 14, 3, 7, 1, 4, 63,213,176,253, 93, 2,151,188,213,254,123, 3, 4, 5, 1, 9, 7, 21, 25, + 26, 11,254,101, 1, 72,254,184, 1, 72,159, 3,215,252, 48, 1,100, 56,123,117,102, 34, 20, 49, 49, 46, 16,253,160, 0, 0, 1, + 0,131,255,236, 3,246, 5,182, 0, 42, 0, 78, 64, 24, 38, 26,111, 5, 44, 16, 44, 1, 39, 36, 36, 40,104, 35, 1, 89, 35, 1, + 35, 35,240, 15, 1, 15,184,255,192, 64, 18, 8, 11, 72, 15, 29,115, 0, 0, 21, 39,116, 36, 6, 21,115, 16, 10, 25, 0, 63, 51, +225, 63,225, 18, 57, 47,225, 1, 47, 43, 93, 51, 47, 93, 93, 51, 51, 17, 51, 93, 16,222,225, 51, 49, 48, 1, 50, 30, 2, 21, 20, + 14, 2, 35, 34, 46, 2, 39, 53, 30, 3, 51, 50, 62, 2, 53, 52, 38, 35, 34, 14, 2, 7, 39, 19, 33, 21, 33, 3, 54, 54, 2, 33, + 99,171,127, 72, 68,134,197,128, 51, 99, 91, 82, 33, 33, 89, 98, 99, 42, 79,124, 86, 46,176,168, 27, 63, 63, 57, 21, 90, 55, 2, +178,253,236, 39, 32,105, 3,129, 55,108,160,105,114,182,126, 67, 10, 19, 30, 20,172, 23, 36, 24, 13, 37, 78,118, 81,143,151, 5, + 8, 9, 4, 57, 2,176,166,254, 93, 6, 14, 0, 0, 2, 0,113,255,236, 4, 10, 5,203, 0, 43, 0, 63, 0, 55, 64, 32, 49,110, + 12, 34, 65, 16, 65, 1, 23, 59,111, 0, 0, 16, 0, 32, 0, 3, 0, 54,117, 29, 29, 7, 44,115, 39, 25, 16,115, 7, 7, 0, 63, +225, 63,225, 17, 57, 47,225, 1, 47, 93,225, 50, 93, 16,222, 50,225, 49, 48, 19, 52, 62, 4, 51, 50, 30, 2, 23, 21, 38, 38, 35, + 34, 14, 4, 7, 51, 62, 3, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 1, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2, 21, + 20, 30, 2,113, 21, 53, 92,142,198,133, 19, 46, 47, 43, 17, 35, 88, 43, 90,137,100, 67, 42, 20, 3, 12, 20, 57, 76, 95, 59, 95, +154,108, 59, 62,116,164,102,100,175,128, 74, 1,219, 60, 99, 72, 39, 33, 66, 99, 66, 67,111, 78, 43, 37, 73,110, 2,113,105,208, +191,164,121, 69, 2, 5, 7, 5,155, 12, 12, 43, 78,108,131,148, 80, 36, 63, 45, 26, 59,114,165,106,114,182,127, 68, 78,160,242, +254,185, 41, 83,127, 87, 70,111, 78, 42, 47, 75, 96, 48, 67,133,106, 67, 0, 1, 0, 90, 0, 0, 4, 6, 5,182, 0, 6, 0, 43, +177, 6, 0,184,255,240, 64, 17, 0, 0, 2, 1, 5, 8, 16, 8, 1, 2, 5, 2,116, 3, 6, 0, 24, 0, 63, 63,225, 50, 1, 47, + 93, 16,206, 50, 17, 57, 47, 56, 51, 49, 48, 33, 1, 33, 53, 33, 21, 1, 1, 25, 2, 51,253, 14, 3,172,253,213, 5, 16,166,145, +250,219, 0, 3, 0,106,255,236, 4, 0, 5,205, 0, 39, 0, 58, 0, 74, 0,128, 64, 83, 30, 35, 50,110, 15, 10, 40, 72,110,195, + 5,211, 5, 2,181, 5, 1, 5, 5, 15, 76, 16, 76, 1, 40,110, 25, 62,110,213, 35, 1,204, 35, 1,186, 35, 1, 35, 35, 16, 25, + 32, 25, 2, 25, 10, 30,104, 56,152, 56, 2, 89, 56, 1, 40, 56, 56, 56, 72, 56, 3, 56,147, 67, 1, 38, 67, 86, 67, 2, 67, 67, + 0, 45,115, 20, 25, 59,115, 0, 7, 0, 63,225, 63,225, 17, 57, 47, 93, 93,193, 93, 93, 93, 57, 57, 1, 47, 93, 51, 47, 93, 93, + 93,225, 16,225, 93, 16,206, 50, 47, 93, 93,225, 18, 57, 16,225, 17, 57, 49, 48, 1, 50, 30, 2, 21, 20, 14, 2, 7, 30, 3, 21, + 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 55, 46, 3, 53, 52, 62, 2, 3, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 39, 39, + 6, 6, 1, 34, 6, 21, 20, 30, 2, 23, 62, 3, 53, 52, 38, 2, 53, 84,149,113, 66, 40, 70, 96, 56, 58,111, 87, 53, 67,121,169, +102,110,171,117, 61, 45, 76,104, 58, 49, 86, 63, 37, 67,114,149,199, 32, 68,104, 72, 70,107, 72, 36, 39, 73,102, 63, 30,126,128, + 1, 22,106,125, 35, 62, 87, 51, 48, 85, 63, 36,126, 5,205, 44, 88,132, 88, 67,108, 87, 69, 28, 31, 76, 95,118, 73, 92,149,104, + 56, 54,101,146, 92, 75,120, 96, 74, 28, 31, 73, 90,109, 66, 87,131, 88, 44,251,166, 53, 89, 63, 35, 35, 65, 92, 56, 52, 84, 72, + 64, 31, 14, 60,155, 3, 84,106,101, 57, 82, 64, 51, 24, 22, 52, 66, 84, 54,101,106, 0, 0, 2, 0,106,255,236, 4, 4, 5,203, + 0, 41, 0, 61, 0, 53, 64, 30, 57, 21,111, 0, 63, 16, 63, 1, 47,110, 12, 16, 32, 32, 32, 2, 32, 52,117, 27, 27, 7, 42,115, + 37, 7, 16,117, 7, 26, 0, 63,225, 63,225, 17, 57, 47,225, 1, 47, 93, 51,225, 93, 16,222,225, 50, 49, 48, 1, 20, 14, 4, 35, + 34, 46, 2, 39, 53, 22, 22, 51, 50, 62, 2, 55, 35, 14, 3, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 1, 34, 14, 2, 21, + 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 4, 4, 21, 53, 92,142,198,133, 19, 46, 46, 44, 17, 35, 88, 43,135,174,102, 43, 5, + 13, 20, 56, 76, 96, 59, 95,154,108, 59, 63,115,165,102,101,174,128, 74,254, 37, 60, 99, 72, 39, 33, 66, 99, 66, 68,110, 78, 43, + 37, 73,110, 3, 70,105,209,190,165,120, 69, 2, 5, 6, 5,156, 13, 12, 94,161,214,119, 36, 62, 46, 26, 59,114,165,106,114,183, +127, 68, 78,160,243, 1, 71, 40, 84,127, 87, 70,111, 78, 42, 47, 75, 96, 48, 67,133,107, 66, 0, 0, 2, 0,147,255,227, 1,145, + 4,102, 0, 19, 0, 39, 0, 62, 64, 28, 16, 41,128, 41,144, 41,160, 41, 4, 30, 10,150, 20,192, 0,208, 0, 2, 52, 0, 68, 0, +100, 0,116, 0, 4, 0,184,255,192, 64, 11, 7, 10, 72, 0, 35,155, 25, 16, 5,155, 15, 0, 47,237, 63,237, 1, 47, 43, 93, 93, + 51,229, 50, 93, 49, 48, 55, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 17, 52, 62, 2, 51, 50, 30, 2, 21, 20, + 14, 2, 35, 34, 46, 2,147, 20, 34, 46, 27, 26, 47, 34, 20, 20, 34, 47, 26, 27, 46, 34, 20, 20, 34, 46, 27, 26, 47, 34, 20, 20, + 34, 47, 26, 27, 46, 34, 20,111, 38, 53, 33, 15, 15, 33, 53, 38, 37, 53, 34, 16, 16, 34, 53, 3,145, 39, 53, 33, 14, 14, 33, 53, + 39, 37, 52, 34, 16, 16, 34, 52, 0, 2, 0, 63,254,248, 1,145, 4,102, 0, 12, 0, 32, 0, 97, 64, 47, 16, 34,128, 34,144, 34, +160, 34, 4, 23,150,192, 13,208, 13, 2,100, 13,116, 13, 2, 80, 13, 1, 68, 13, 1, 59, 13, 1, 31, 13, 47, 13, 2, 13, 13, 27, + 12, 43, 12, 2, 12, 1,151, 6, 7,184,255,192, 64, 17, 16, 20, 72, 95, 7, 1, 16, 7, 1, 7, 28,155, 18, 16, 6,156, 12, 0, + 47,237, 63,237, 1, 47, 93, 93, 43, 51,237, 50, 93, 51, 47, 93, 93, 93, 93, 93, 93,229, 93, 49, 48, 37, 23, 14, 3, 7, 35, 62, + 3, 55, 3, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 1,106, 15, 14, 39, 47, 51, 25,138, 15, 29, 27, 22, 8, + 17, 20, 34, 46, 27, 26, 47, 34, 20, 20, 34, 47, 26, 27, 46, 34, 20,238, 23, 54,122,124,123, 56, 61,132,131,125, 53, 2,237, 39, + 53, 33, 14, 14, 33, 53, 39, 37, 52, 34, 16, 16, 34, 52, 0, 1, 0,102, 0,238, 4, 2, 4,221, 0, 6, 0, 78, 64, 48, 0, 8, + 64, 8, 1, 64, 1, 1, 1, 2, 1, 5, 5, 3, 6,111, 0,127, 0, 2, 48, 0, 1, 0, 0, 4, 32, 3, 1, 80, 3,112, 3,128, + 3,208, 3,240, 3, 5, 63, 3, 1, 0, 3, 1, 6, 3, 0, 47, 94, 93, 93, 93,113, 51, 51, 47, 93, 93, 50, 18, 57, 61, 47, 51, + 51, 1, 24, 47, 93, 93, 16,206, 49, 48, 37, 1, 53, 1, 21, 1, 1, 4, 2,252,100, 3,156,253, 33, 2,223,238, 1,168,102, 1, +225,160,254,148,254,190, 0, 2, 0,102, 1,186, 4, 2, 3,233, 0, 3, 0, 7, 0, 92, 64, 61, 7, 2, 9, 64, 9, 1, 4,198, + 0, 1,187, 0, 1,169, 0, 1,134, 0, 1,123, 0, 1,104, 0, 1, 66, 0, 1, 57, 0, 1, 0, 4,173, 31, 5, 47, 5, 2,127, + 5, 1, 0, 5, 16, 5, 2, 6, 5, 5, 0,173,240, 1, 1, 15, 1,111, 1, 2, 1, 0, 47, 93, 93,225, 51, 47, 94, 93, 93,113, +225, 1, 47, 93, 93, 93, 93, 93, 93, 93, 93, 51, 93, 16,206, 50, 49, 48, 19, 53, 33, 21, 1, 53, 33, 21,102, 3,156,252,100, 3, +156, 3, 84,149,149,254,102,150,150, 0, 0, 1, 0,102, 0,238, 4, 2, 4,221, 0, 6, 0, 78, 64, 48, 5, 8, 64, 8, 1, 64, + 6, 1, 6, 5, 4, 1, 1, 3, 0,111, 6,127, 6, 2, 48, 6, 1, 6, 6, 2, 32, 3, 1, 80, 3,112, 3,128, 3,208, 3,240, + 3, 5, 63, 3, 1, 0, 3, 1, 6, 3, 0, 47, 94, 93, 93, 93,113, 51, 51, 47, 93, 93, 51, 18, 57, 61, 47, 51, 51, 1, 24, 47, + 93, 93, 16,206, 49, 48, 19, 1, 1, 53, 1, 21, 1,102, 2,224,253, 32, 3,156,252,100, 1,143, 1, 66, 1,108,160,254, 31,102, +254, 88, 0, 2, 0, 37,255,227, 3, 37, 5,203, 0, 39, 0, 59, 0, 62, 64, 33, 50,154, 40, 40, 39, 70, 0, 0, 20, 11, 70, 28, + 61, 47, 61, 1, 20, 11, 23, 15, 0, 1, 6, 0, 0, 45,155, 55, 19, 16, 81, 23, 4, 0, 63,225, 51, 47,229, 50, 47, 94, 93, 18, + 57, 1, 47, 93, 16,222,225, 17, 57, 47,225, 51, 47,225, 49, 48, 1, 53, 52, 62, 2, 55, 62, 3, 53, 52, 46, 2, 35, 34, 6, 7, + 39, 54, 54, 51, 50, 30, 2, 21, 20, 14, 2, 7, 14, 3, 21, 21, 3, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, + 1, 25, 15, 39, 66, 50, 48, 68, 43, 21, 30, 57, 85, 56, 83,150, 70, 63, 81,188, 97, 93,149,104, 56, 27, 54, 80, 54, 52, 66, 38, + 14,187, 20, 34, 46, 27, 26, 47, 34, 20, 20, 34, 47, 26, 27, 46, 34, 20, 1,158, 37, 57, 92, 80, 77, 42, 41, 67, 69, 79, 53, 48, + 79, 57, 31, 52, 34,145, 42, 59, 51, 96,139, 87, 67,105, 90, 84, 47, 45, 67, 63, 66, 44, 18,254,209, 38, 53, 33, 15, 15, 33, 53, + 38, 37, 53, 34, 16, 16, 34, 53, 0, 2, 0,109,255, 74, 6,129, 5,182, 0, 87, 0,104, 0,111, 64, 63, 88, 23, 96, 39, 31, 23, + 1,127, 39, 1, 23, 39, 70, 70, 39, 23, 3, 78, 49, 32, 0, 1, 0,106, 64,106, 1, 59, 64, 78, 1, 78, 44, 12, 91, 18, 7, 18, +100, 28, 15, 18, 31, 18,191, 18, 3, 6, 0, 28, 1, 7, 18, 28, 18, 28, 64, 54, 83, 3, 64, 69, 73, 0, 47, 51,193, 63,193, 18, + 57, 57, 47, 47, 94, 93, 94, 93, 16,193, 17, 51, 16,193, 50, 50, 1, 47, 93,193, 93, 16,222,113,193, 17, 23, 57, 47, 47, 47, 93, + 93, 16,193, 16,193, 49, 48, 1, 20, 14, 4, 35, 34, 46, 2, 39, 35, 14, 3, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 23, + 3, 6, 6, 20, 20, 21, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 4, 6, 2, 21, 20, 30, 2, 51, 50, 62, 2, 55, 21, + 6, 6, 35, 34, 36, 38, 2, 53, 52, 18, 54, 36, 51, 50, 4, 22, 18, 1, 20, 22, 51, 50, 62, 2, 55, 55, 38, 38, 35, 34, 14, 2, + 6,129, 19, 37, 57, 76, 97, 58, 45, 73, 52, 33, 6, 4, 18, 54, 71, 89, 53, 77,119, 82, 43, 59,111,158, 98, 45, 90, 82, 69, 23, + 23, 1, 1, 21, 34, 43, 23, 46, 70, 47, 24, 86,152,209,123,169,254,254,175, 90, 79,153,227,147, 61,119,111,100, 43, 86,216,130, +179,254,231,195,102,118,219, 1, 55,193,156, 1, 6,191,106,252, 21,101, 85, 55, 78, 50, 26, 4, 14, 28, 77, 42, 74,101, 63, 28, + 2,219, 62,125,113, 97, 72, 41, 30, 50, 65, 35, 37, 66, 49, 28, 56,101,142, 86,101,168,122, 68, 8, 14, 17, 8,254, 96, 22, 27, + 16, 8, 3, 53, 68, 40, 15, 61,104,140, 78,142,221,152, 79,111,199,254,239,162,151,234,160, 82, 14, 24, 31, 17,141, 38, 44,102, +195, 1, 25,179,188, 1, 69,238,136,101,189,254,241,254,213,133,119, 45, 83,115, 69,253, 8, 13, 58, 94,120, 0, 0, 2, 0, 0, + 0, 0, 4,221, 5,188, 0, 7, 0, 20, 0,132, 64, 36, 6, 5, 70, 2, 1, 70, 20, 1, 2, 20, 3, 73, 8, 1, 73, 1, 1, 8, + 1, 0, 14, 14, 3, 0, 0, 16, 7, 1,128, 7,144, 7,208, 7, 3, 7,184,255,192, 64, 24, 6, 10, 72, 7, 16, 7, 7, 22, 15, + 22, 31, 22, 47, 22,143, 22,159, 22,223, 22, 6, 7, 3, 4,184,255,240, 64, 17, 4, 2, 95, 14, 32, 10, 14, 72, 14, 5, 20, 20, + 5, 3, 4, 0, 18, 0, 63, 50, 63, 57, 47, 18, 57, 43,225, 1, 47, 56, 51, 94, 93, 17, 51, 47, 56, 43, 93,113, 51, 17, 18, 57, + 61, 47, 18, 57, 57, 93, 93, 18, 57, 57, 93, 93, 51, 51, 49, 48, 33, 3, 33, 3, 35, 1, 51, 1, 1, 3, 46, 3, 39, 14, 3, 7, + 3, 4, 31,160,253,223,162,188, 2, 25,170, 2, 26,254,103,148, 6, 17, 18, 18, 8, 7, 18, 18, 17, 6,145, 1,197,254, 59, 5, +188,250, 68, 2,106, 1,168, 18, 52, 60, 65, 31, 31, 66, 61, 51, 17,254, 88, 0, 0, 3, 0,199, 0, 0, 4,135, 5,182, 0, 23, + 0, 34, 0, 47, 0, 98, 64, 62, 11, 30, 90, 5, 6, 1,229, 6,245, 6, 2,214, 6, 1, 6, 6, 36, 42, 91,112, 17,128, 17, 2, + 17,103, 49,127, 49,143, 49, 2, 16, 49, 1, 24, 36, 90, 23,100, 48, 11, 35, 96,121, 24, 1, 11, 24, 1, 8, 24, 24, 0, 36, 96, + 23, 18, 34, 96, 0, 3, 0, 63,225, 63,225, 17, 57, 47, 94, 93, 93,225, 57, 1, 16,246,225, 50, 93, 93, 16,246, 93,225, 18, 57, + 47, 93, 93,113,225, 50, 49, 48, 19, 33, 50, 30, 2, 21, 20, 14, 2, 7, 21, 30, 3, 21, 20, 14, 2, 35, 33, 19, 51, 50, 62, 2, + 53, 52, 38, 35, 35, 17, 17, 33, 50, 62, 2, 53, 52, 46, 2, 35,199, 1,143,128,195,131, 66, 39, 74,109, 69, 69,121, 90, 52, 65, +123,176,111,254, 27,186,244, 84,114, 70, 31,154,166,223, 1, 10, 88,119, 73, 32, 33, 75,124, 92, 5,182, 39, 87,141,103, 62,108, + 82, 55, 9, 10, 12, 45, 79,120, 86,100,157,109, 58, 3, 74, 30, 59, 89, 59,120,104,253,151,253,240, 40, 72,101, 61, 56, 94, 67, + 37, 0, 0, 1, 0,125,255,236, 4,152, 5,203, 0, 35, 0, 76, 64, 20,175, 14, 1, 14, 64, 21, 24, 72, 14, 14, 24,186, 32, 1, + 96, 32,112, 32, 2, 32,184,255,192, 64, 24, 6, 10, 72, 32, 32, 37,175, 37, 1, 5, 91, 24,102, 36, 33, 0, 95, 29, 4, 13, 10, + 95, 19, 19, 0, 63,225, 51, 63,225, 51, 1, 16,246,225, 93, 17, 51, 47, 43, 93, 93, 18, 57, 47, 43, 93, 49, 48, 1, 34, 14, 2, + 21, 20, 30, 2, 51, 50, 54, 55, 21, 14, 3, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, 7, 38, 38, 3, 25,107,174, +123, 67, 59,118,176,118, 89,160, 78, 39, 78, 85, 97, 59,164,240,157, 76, 87,169,250,162,108,196, 79, 78, 63,148, 5, 39, 81,152, +218,137,141,219,150, 78, 35, 23,162, 15, 23, 14, 7,108,198, 1, 22,169,166, 1, 20,198,110, 44, 42,156, 32, 46, 0, 2, 0,199, + 0, 0, 4,252, 5,182, 0, 12, 0, 23, 0, 38, 64, 21, 13, 91, 0,103, 25, 16, 25, 1, 20, 90, 6,100, 24, 19, 96, 7, 3, 20, + 96, 6, 18, 0, 63,225, 63,225, 1, 16,246,225, 93, 16,246,225, 49, 48, 1, 20, 2, 6, 4, 35, 33, 17, 33, 50, 22, 22, 18, 7, + 52, 46, 2, 35, 35, 17, 51, 32, 0, 4,252, 96,182,254,247,168,254,146, 1,151,153,248,174, 95,197, 66,126,184,117,201,162, 1, + 8, 1, 12, 2,233,185,254,233,187, 94, 5,182, 92,181,254,244,182,146,213,138, 67,251,137, 1, 36, 0, 0, 1, 0,199, 0, 0, + 3,190, 5,182, 0, 11, 0, 66, 64, 38, 20, 8, 1, 8, 8, 1, 4, 0,103, 13, 6, 10, 90, 1,100, 12, 9, 95, 79, 6, 1, 15, + 6,175, 6, 2, 8, 6, 6, 10, 5, 95, 2, 3, 10, 95, 1, 18, 0, 63,225, 63,225, 18, 57, 47, 94, 93,113,225, 1, 16,246,225, + 50, 16,230, 50, 17, 57, 47, 93, 49, 48, 33, 33, 17, 33, 21, 33, 17, 33, 21, 33, 17, 33, 3,190,253, 9, 2,247,253,195, 2, 23, +253,233, 2, 61, 5,182,164,254, 60,162,253,248, 0, 1, 0,199, 0, 0, 3,190, 5,182, 0, 9, 0,112, 64, 17, 8, 8, 1, 15, + 3, 1,255, 3, 1,128, 3,144, 3,208, 3, 3, 3,184,255,192, 64, 56, 7, 10, 72, 3, 3, 11, 15, 11, 47, 11,143, 11,175, 11, + 4, 7, 6, 0, 90, 1,100, 10, 9, 95, 15, 6, 1, 15, 6, 63, 6,111, 6,255, 6, 4, 8, 6, 64, 26, 29, 72, 6, 64, 16, 21, + 72, 6, 6, 0, 5, 95, 2, 3, 0, 18, 0, 63, 63,225, 18, 57, 47, 43, 43, 94, 93,113,225, 1, 16,246,225, 50, 94, 93, 17, 51, + 47, 43, 93, 93,113, 18, 57, 47, 49, 48, 33, 35, 17, 33, 21, 33, 17, 33, 21, 33, 1,129,186, 2,247,253,195, 2, 23,253,233, 5, +182,164,253,252,164, 0, 0, 1, 0,125,255,236, 4,242, 5,203, 0, 43, 0, 55, 64, 30, 43, 43, 12, 41, 90, 20, 2,103, 45, 16, + 45, 1, 31, 91, 12,102, 44, 43, 95, 0, 0, 36, 26, 95, 17, 4, 36, 95, 7, 19, 0, 63,225, 63,225, 18, 57, 47,225, 1, 16,246, +225, 93, 16,246, 50,225, 17, 57, 47, 49, 48, 1, 33, 17, 14, 3, 35, 34, 38, 38, 2, 53, 52, 18, 54, 36, 51, 50, 22, 23, 7, 46, + 3, 35, 34, 14, 2, 21, 20, 30, 2, 51, 50, 62, 2, 55, 17, 33, 3, 14, 1,228, 55,112,118,130, 75,157,242,166, 86, 95,182, 1, + 11,171,111,204, 88, 72, 36, 83, 88, 93, 46,122,188,127, 66, 55,120,190,134, 44, 73, 62, 55, 26,254,213, 3, 4,253, 51, 18, 28, + 19, 10,105,195, 1, 23,174,172, 1, 22,195,105, 44, 42,162, 17, 30, 23, 14, 81,152,218,137,130,216,156, 86, 5, 8, 11, 5, 1, +180, 0, 0, 1, 0,199, 0, 0, 4,213, 5,182, 0, 11, 0, 61, 64, 35, 9, 1, 90, 0,101, 13,192, 13, 1,191, 13, 1, 32, 13, + 1, 8, 4, 90, 5,100, 12, 3, 95, 15, 8, 1, 8, 8, 8, 10, 6, 3, 5, 0, 18, 0, 63, 50, 63, 51, 57, 47, 94, 93,225, 1, + 16,246,225, 50, 93, 93, 93, 16,246,225, 50, 49, 48, 33, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 4,213,186,253,102,186,186, + 2,154,186, 2,170,253, 86, 5,182,253,152, 2,104, 0, 0, 1, 0, 82, 0, 0, 2,100, 5,182, 0, 11, 0, 87, 64, 38, 11, 13, + 43, 13, 2,123, 13,155, 13,171, 13,251, 13, 4, 84, 13, 1, 43, 13, 59, 13, 75, 13, 3, 31, 13, 1, 2, 8, 11, 10, 90, 5, 2, +201, 3, 1, 3,184,255,248, 64, 16, 13, 16, 72, 0, 3, 1, 6, 3, 9, 4, 6, 3, 3, 10, 0, 18, 0, 63,193, 50, 63,193, 50, + 1, 47, 94, 93, 43, 93,193, 50,241,193, 50, 95, 93, 93, 93, 93,113, 49, 48, 33, 33, 53, 55, 17, 39, 53, 33, 21, 7, 17, 23, 2, +100,253,238,172,172, 2, 18,172,172,102, 41, 4,152, 41,102,102, 41,251,104, 41, 0, 1,255, 72,254,123, 1,115, 5,182, 0, 19, + 0, 47, 64, 28,223, 21, 1, 96, 21,112, 21, 2, 47, 21, 1, 15, 90, 12, 3, 3, 0, 12, 16, 12, 2, 7, 12, 13, 3, 7, 95, 0, + 0, 47,225, 63, 1, 47, 94, 93, 51, 47, 16,225, 93, 93, 93, 49, 48, 3, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 53, 17, 51, 17, + 20, 14, 2, 29, 51, 76, 28, 34, 78, 45, 37, 75, 61, 38,187, 59,105,147,254,123, 13, 11,160, 9, 11, 19, 50, 88, 68, 5,182,250, + 94,105,154,101, 49, 0, 0, 1, 0,199, 0, 0, 4,162, 5,182, 0, 12, 0,100, 64, 45, 2, 12,102, 12, 1, 12, 0, 10, 11, 16, + 11, 11, 1, 0, 0, 16, 0, 2, 7, 0, 16, 0, 0, 14,176, 14, 1, 47, 14, 1, 16, 14, 1, 8, 4, 90, 5,100, 13, 2, 16, 11, + 16, 72, 8,184,255,240, 64, 12, 11, 16, 72, 2, 8, 5, 10, 6, 3, 0, 5, 18, 0, 63, 51, 63, 51, 18, 57, 57, 43, 43, 1, 16, +246,225, 50, 93, 93, 93, 17, 51, 47, 56, 94, 93, 51, 51, 47, 56, 51, 17, 57, 93, 17, 51, 49, 48, 33, 35, 1, 7, 17, 35, 17, 51, + 17, 55, 1, 51, 1, 4,162,211,254, 61,139,186,186,121, 1,196,209,253,248, 2,186,114,253,184, 5,182,253, 37,168, 2, 51,253, +131, 0, 0, 1, 0,199, 0, 0, 3,190, 5,182, 0, 5, 0, 35, 64, 19, 4, 7,175, 7, 1, 16, 7, 1, 3, 90, 0,100, 6, 1, + 3, 3, 95, 0, 18, 0, 63,225, 63, 1, 16,246,225, 93, 93, 17, 51, 49, 48, 51, 17, 51, 17, 33, 21,199,186, 2, 61, 5,182,250, +240,166, 0, 1, 0,199, 0, 0, 6, 47, 5,182, 0, 25, 0,139, 64, 19, 54, 25, 1, 57, 0, 1, 23, 14, 8, 12, 15, 72, 57, 14, + 1, 14, 17, 90, 25,184,255,248, 64, 28, 12, 15, 72, 25, 0, 8, 12, 15, 72, 0, 13, 13, 12, 9, 16,101, 27, 79, 27, 1, 32, 27, + 1, 15, 27, 1, 8, 11,184,255,248, 64, 26, 12, 15, 72, 38, 11, 1, 11, 2, 8, 90, 9,100, 26, 24, 1, 1, 16, 9, 18, 72, 1, + 14, 11, 3, 17, 12,184,255,240,182, 9, 18, 72, 12, 8, 0, 18, 0, 63, 50, 50, 43, 50, 63, 51, 51, 43, 17, 51, 1, 16,246,225, + 50, 50, 93, 43, 94, 93, 93, 93, 16,246, 17, 57, 57, 17, 51, 43, 51, 43,225, 50, 93, 43, 50, 49, 48, 93, 93, 33, 1, 35, 22, 23, + 22, 22, 21, 17, 35, 17, 33, 1, 51, 1, 33, 17, 35, 17, 52, 54, 55, 54, 55, 35, 1, 3, 35,254, 69, 8, 6, 4, 4, 5,172, 1, + 20, 1,156, 6, 1,158, 1, 20,186, 4, 3, 4, 3, 8,254, 65, 5, 0, 74, 73, 63,139, 57,252,150, 5,182,251, 88, 4,168,250, + 74, 3,119, 52,134, 61, 71, 73,251, 2, 0, 1, 0,199, 0, 0, 5, 14, 5,182, 0, 23, 0, 81, 64, 41, 14, 40, 1, 1, 1, 21, + 90, 0,101, 25,176, 25, 1,143, 25, 1, 0, 25, 16, 25, 2, 39, 12, 1, 12, 3, 9, 90, 10,100, 24, 22, 2, 16, 6, 24, 72, 2, + 11, 3, 13,184,255,240,182, 6, 24, 72, 13, 10, 0, 18, 0, 63, 50, 50, 43, 63, 51, 43, 51, 1, 16,246,225, 50, 50, 93, 93, 93, + 93, 16,246,225, 50, 93, 50, 49, 48, 33, 35, 1, 35, 22, 23, 22, 22, 21, 17, 35, 17, 51, 1, 51, 38, 39, 46, 3, 53, 17, 51, 5, + 14,215,253, 49, 8, 6, 4, 4, 5,172,213, 2,204, 7, 3, 4, 1, 3, 3, 1,174, 4,186, 77, 76, 65,142, 57,252,231, 5,182, +251, 76, 76, 74, 32, 67, 67, 62, 26, 3, 32, 0, 0, 2, 0,125,255,236, 5,113, 5,205, 0, 19, 0, 39, 0, 52, 64, 32, 30, 91, + 0,103, 41,192, 41, 1,191, 41, 1,112, 41, 1, 47, 41, 95, 41, 2, 20, 91, 10,102, 40, 35, 95, 15, 4, 25, 95, 5, 19, 0, 63, +225, 63,225, 1, 16,246,225, 93, 93, 93, 93, 16,246,225, 49, 48, 1, 20, 2, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, + 50, 22, 22, 18, 5, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2, 5,113, 81,160,237,155,163,239,157, 76, 76,158, +240,163,155,235,160, 81,251,209, 52,107,165,114,114,165,107, 50, 50,106,164,114,114,166,108, 52, 2,221,169,254,234,198,108,108, +198, 1, 23,170,170, 1, 21,196,107,107,197,254,235,171,137,219,153, 81, 81,153,219,137,138,218,151, 81, 81,151,218, 0, 0, 2, + 0,199, 0, 0, 4, 51, 5,182, 0, 14, 0, 25, 0, 70, 64, 44, 21, 91, 40, 0, 56, 0, 72, 0, 3, 0,103, 27,207, 27, 1, 64, + 27, 1, 15, 27, 1, 6, 15, 7, 90, 8,100, 26, 15, 96, 48, 6, 64, 6, 2, 6, 6, 7, 25, 96, 9, 3, 7, 18, 0, 63, 63,225, + 17, 57, 47, 93,225, 1, 16,246,225, 50, 94, 93, 93, 93, 16,246, 93,225, 49, 48, 1, 20, 14, 2, 35, 35, 17, 35, 17, 33, 50, 30, + 2, 1, 51, 50, 62, 2, 53, 52, 38, 35, 35, 4, 51, 55,126,207,152,150,186, 1,106,134,194,126, 60,253, 78,129, 93,139, 91, 46, +164,174,160, 4, 10, 91,168,129, 77,253,199, 5,182, 57,109,160,254,103, 32, 71,113, 81,142,137, 0, 2, 0,125,254, 98, 5,113, + 5,205, 0, 29, 0, 49, 0, 56, 64, 34, 40, 91, 0,103, 51,192, 51, 1,191, 51, 1,112, 51, 1, 47, 51, 95, 51, 2, 30, 91, 20, +102, 50, 45, 95, 25, 4, 35, 95, 5, 15, 19, 9, 0, 47, 63, 51,225, 63,225, 1, 16,246,225, 93, 93, 93, 93, 16,246,225, 49, 48, + 1, 20, 14, 2, 7, 22, 22, 23, 7, 38, 38, 39, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 22, 18, 5, 20, 30, + 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2, 5,113, 49, 95,142, 93, 43,137, 90,121,103,173, 51, 17, 41, 18,163,239,157, + 76, 76,158,240,163,155,235,160, 81,251,209, 52,107,165,114,114,165,107, 50, 50,106,164,114,114,166,108, 52, 2,221,131,226,181, +132, 38, 94,143, 60,142, 73,198,127, 2, 2,108,198, 1, 23,170,170, 1, 21,196,107,107,197,254,235,171,137,219,153, 81, 81,153, +219,137,138,218,151, 81, 81,151,218, 0, 0, 2, 0,199, 0, 0, 4,160, 5,182, 0, 15, 0, 28, 0,130, 64, 86, 9, 15, 25, 15, + 2,249, 15, 1, 15, 8, 11, 15, 72, 15, 12, 9, 12, 1, 7, 12, 1, 22, 91, 8, 7, 24, 7, 2, 7, 7, 9, 14, 1,233, 14,249, + 14, 2, 14, 8, 11, 15, 72, 14, 13, 16, 13, 30, 63, 30,143, 30,159, 30,191, 30,223, 30, 5, 32, 30, 1, 16, 1, 90, 2,100, 29, + 12, 3, 16, 96, 0, 0, 1, 8, 0, 0, 1, 28, 96, 3, 3, 14, 1, 18, 0, 63, 51, 63,225, 17, 57, 47, 94, 93,225, 18, 57, 1, + 16,246,225, 50, 93, 93, 16,206, 56, 50, 43, 93,113, 50, 47, 93,225, 18, 57, 94, 93, 17, 51, 43, 93,113, 49, 48, 1, 17, 35, 17, + 33, 32, 22, 21, 20, 14, 2, 7, 1, 35, 1, 39, 51, 50, 62, 2, 53, 52, 46, 2, 35, 35, 1,129,186, 1,100, 1, 10,254, 49, 81, +104, 55, 1,142,219,254,161,229,164, 90,126, 81, 37, 41, 83,127, 87,160, 2, 92,253,164, 5,182,206,209, 87,130, 93, 62, 20,253, +113, 2, 92,158, 35, 69,103, 69, 72,100, 64, 29, 0, 1, 0,104,255,236, 3,201, 5,203, 0, 51, 0, 66, 64, 39, 89, 35, 1, 35, + 17, 90, 0,103, 53,191, 53,255, 53, 2, 96, 53, 1, 63, 53, 1, 42, 90, 9, 27,102, 52, 17, 42, 5, 39, 95, 36, 32, 4, 14, 96, + 9, 5, 19, 0, 63, 51,225, 63, 51,225, 18, 57, 57, 1, 16,246, 50,225, 93, 93, 93, 16,246,225, 51, 93, 49, 48, 1, 20, 14, 2, + 35, 34, 38, 39, 53, 30, 3, 51, 50, 54, 53, 52, 46, 2, 39, 46, 3, 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, 38, 35, 34, 6, 21, + 20, 30, 2, 23, 30, 3, 3,201, 69,128,184,115,111,193, 65, 34, 87, 96,102, 50,160,153, 29, 73,122, 93, 89,131, 85, 41, 64,116, +161, 97,119,190, 74, 67, 65,165, 88,122,134, 30, 70,115, 84, 91,137, 92, 47, 1,135, 97,153,106, 55, 35, 34,178, 16, 31, 24, 15, +120,112, 54, 80, 67, 63, 37, 35, 83,104,132, 84, 88,138, 95, 50, 45, 35,156, 29, 43,113, 96, 57, 83, 67, 59, 33, 36, 76, 96,126, + 0, 1, 0, 20, 0, 0, 4, 18, 5,182, 0, 7, 0, 94, 64, 50, 15, 9, 1,208, 9, 1, 79, 9,207, 9, 2, 16, 9, 32, 9, 48, + 9, 3,175, 6,239, 6, 2,132, 6, 1, 6, 6, 7, 90, 2, 64, 3,224, 3, 2, 15, 3, 1, 8, 3, 3, 87, 2,103, 2,119, 2, + 3, 2,184,255,192, 64, 11, 7, 10, 72, 2, 7, 3, 95, 4, 3, 0, 18, 0, 63, 63,225, 50, 1, 47, 43, 93, 51, 47, 94, 93, 93, + 16,225, 50, 47, 93, 93, 93, 93, 93,113, 49, 48, 33, 35, 17, 33, 53, 33, 21, 33, 2,113,187,254, 94, 3,254,254, 95, 5, 18,164, +164, 0, 0, 1, 0,184,255,236, 4,221, 5,184, 0, 23, 0, 47, 64, 28, 22, 90, 1,101, 25,176, 25, 1,111, 25,175, 25, 2, 16, + 25, 1, 14, 90, 11,100, 24, 17, 95, 6, 19, 12, 0, 3, 0, 63, 50, 63,225, 1, 16,246,225, 93, 93, 93, 16,246,225, 49, 48, 1, + 17, 20, 14, 2, 35, 34, 46, 2, 53, 17, 51, 17, 20, 22, 51, 50, 62, 2, 55, 17, 4,221, 66,133,201,136,128,196,133, 68,187,173, +175, 89,128, 82, 40, 1, 5,184,252, 76,114,196,144, 82, 77,142,199,122, 3,174,252, 72,175,192, 54, 98,136, 81, 3,184, 0, 1, + 0, 0, 0, 0, 4,139, 5,182, 0, 12, 0,108, 64, 16, 3, 2, 9, 9, 4, 0, 96, 1,112, 1,176, 1,240, 1, 4, 1,184,255, +192, 64, 22, 6, 10, 72, 1, 16, 1, 1, 14, 47, 14,127, 14,191, 14, 3, 14, 64, 6, 9, 72, 5, 4,184,255,240,180, 4, 5, 4, + 3, 9,184,255,224,179, 10, 17, 72, 9,184,255,240, 64, 10, 6, 9, 72, 9, 2, 3, 18, 0, 1, 3, 0, 63, 51, 63, 51, 51, 43, + 43, 63, 51, 1, 47, 56, 51, 43, 93, 17, 51, 47, 56, 43, 93, 51, 18, 57, 61, 47, 51, 51, 49, 48, 1, 51, 1, 35, 1, 51, 1, 22, + 22, 23, 54, 54, 55, 3,197,198,254, 23,187,254, 25,197, 1, 39, 29, 42, 17, 15, 46, 31, 5,182,250, 74, 5,182,252, 97, 91,169, + 74, 74,169, 97, 0, 1, 0, 20, 0, 0, 6,254, 5,182, 0, 42, 0,223,182, 16, 8, 21, 24, 72, 16, 15,184,255,248,181, 21, 24, + 72, 15, 7, 1,184,255,248, 64, 18, 21, 24, 72, 1, 0, 8, 21, 24, 72, 0, 22, 29, 8, 21, 24, 72, 29, 28,184,255,248, 64, 47, + 21, 24, 72, 28, 37, 20, 7, 1, 4, 7, 68, 7,180, 7, 3, 7, 4, 37, 20, 37, 36, 37, 68, 37, 84, 37, 5, 7, 22, 37, 37, 22, + 7, 3, 30, 13, 0, 14, 1,112, 14,128, 14,192, 14, 3, 14,184,255,192, 64, 24, 7, 10, 72, 14, 16, 14, 14, 44,111, 44,127, 44, + 2, 32, 44, 48, 44, 2, 15, 44, 1, 8, 31, 30,184,255,240, 64, 19, 30, 22, 32, 10, 17, 72, 22, 16, 6, 9, 72, 22, 13, 0, 30, + 3, 7, 37, 37,184,255,224,179, 10, 17, 72, 37,184,255,240,182, 6, 9, 72, 37, 16, 29, 18, 0, 63, 51, 51, 43, 43, 17, 51, 63, + 51, 51, 51, 43, 43, 1, 47, 56, 51, 94, 93, 93, 93, 17, 51, 47, 56, 43, 93,113, 51, 18, 23, 57, 61, 47, 47, 47, 93, 94, 93,113, + 17, 51, 43, 51, 43, 17, 51, 43, 51, 43, 17, 51, 43, 51, 43, 49, 48, 1, 51, 19, 30, 3, 23, 62, 3, 55, 19, 51, 1, 35, 3, 38, + 38, 39, 38, 39, 6, 7, 6, 6, 7, 3, 35, 1, 51, 19, 30, 3, 23, 62, 3, 55, 3, 41,197,229, 15, 29, 25, 19, 6, 4, 12, 16, + 19, 11,200,199,254,145,188,254, 14, 26, 11, 12, 11, 11, 11, 10, 25, 14,242,188,254,126,197,223, 12, 20, 17, 14, 5, 5, 15, 20, + 23, 13, 5,182,252,168, 56,112,105, 94, 38, 38, 90, 99,103, 49, 3,114,250, 74, 3,170, 51,108, 47, 55, 52, 51, 55, 47,112, 54, +252, 92, 5,182,252,135, 46, 99, 98, 91, 38, 37, 98,108,111, 49, 0, 1, 0, 0, 0, 0, 4, 96, 5,182, 0, 11, 0,129, 64, 29, + 9, 10, 16, 10, 10, 0, 55, 11, 1, 11, 8, 56, 5, 1, 5, 2, 2, 1, 0, 0, 1,112, 0,128, 0,192, 0, 3, 0,184,255,192, + 64, 20, 7, 10, 72, 0, 16, 0, 0, 13, 15, 13, 31, 13, 47, 13,127, 13, 4, 8, 7, 6,184,255,240,179, 6, 6, 3, 4,184,255, +240, 64, 16, 4, 40, 2, 1, 39, 8, 1, 2, 8, 4, 9, 6, 3, 4, 0, 18, 0, 63, 50, 63, 51, 18, 57, 57, 93, 93, 1, 47, 56, + 50, 50, 47, 56, 51, 94, 93, 17, 51, 47, 56, 43, 93,113, 51, 57, 61, 47, 51, 93, 51, 51, 93, 17, 51, 24, 47, 56, 51, 49, 48, 33, + 35, 1, 1, 35, 1, 1, 51, 1, 1, 51, 1, 4, 96,211,254,158,254,145,188, 1,197,254, 90,198, 1, 76, 1, 78,190,254, 91, 2, +123,253,133, 2,252, 2,186,253,209, 2, 47,253, 76, 0, 0, 1, 0, 0, 0, 0, 4, 55, 5,182, 0, 8, 0,115, 64, 25,239, 10, + 1, 10, 64, 9, 12, 72, 8,171, 7, 1,152, 7, 1, 64, 7, 1, 27, 7, 1, 15, 7, 1, 7,184,255,240, 64, 47, 7, 7, 5, 1, +128, 2, 1, 79, 2, 1, 27, 2, 1, 2, 16, 2, 2, 0, 4, 90,119, 5,135, 5,151, 5, 3, 79, 5, 1, 0, 5, 16, 5, 2, 7, + 5, 54, 0, 1, 0, 1, 4, 18, 7, 1, 3, 0, 63, 51, 63, 18, 57, 93, 1, 47, 94, 93, 93, 93,225, 57, 50, 47, 56, 93, 93, 93, + 51, 17, 51, 47, 56, 93, 93, 93, 93, 93, 51, 43, 93, 49, 48, 1, 1, 51, 1, 17, 35, 17, 1, 51, 2, 27, 1, 84,200,254, 66,187, +254, 66,203, 2,211, 2,227,252,131,253,199, 2, 47, 3,135, 0, 0, 1, 0, 82, 0, 0, 3,254, 5,182, 0, 9, 0, 56, 64, 32, + 9, 9, 3, 7,103, 11, 15, 11, 63, 11, 79, 11,159, 11, 4, 8, 8, 4, 4, 1,102, 10, 7, 4, 95, 5, 3, 2, 8, 95, 1, 18, + 0, 63,225, 57, 63,225, 57, 1, 16,230, 50, 47, 50, 94, 93, 16,230, 50, 50, 47, 49, 48, 33, 33, 53, 1, 33, 53, 33, 21, 1, 33, + 3,254,252, 84, 2,199,253, 77, 3,131,253, 58, 2,219,145, 4,127,166,145,251,129, 0, 0, 1, 0,164,254,188, 2, 57, 5,182, + 0, 7, 0, 38, 64, 23, 4, 0,243, 6,241, 0, 1, 16, 1,176, 1,192, 1, 4, 1, 5,245, 2,248, 6,245, 1,249, 0, 63,225, + 63,225, 1, 47, 93,225,237, 50, 49, 48, 1, 33, 17, 33, 21, 35, 17, 51, 2, 57,254,107, 1,149,223,223,254,188, 6,250,149,250, + 49, 0, 0, 1, 0, 23, 0, 0, 2,233, 5,182, 0, 3, 0, 33,183, 2, 1, 1, 16, 1, 5, 0, 3,184,255,240,180, 3, 2, 1, + 0, 3, 0, 63, 47, 47, 1, 47, 56, 51, 17, 51, 56, 17, 51, 49, 48, 19, 1, 35, 1,201, 2, 32,178,253,224, 5,182,250, 74, 5, +182, 0, 0, 1, 0, 51,254,188, 1,201, 5,182, 0, 7, 0, 36, 64, 20, 3, 0,243, 1,241, 96, 6,112, 6, 2, 6, 9, 0,245, + 7,249, 3,245, 4,248, 0, 63,225, 63,225, 1, 16,214, 93,225,237, 50, 49, 48, 23, 51, 17, 35, 53, 33, 17, 33, 51,223,223, 1, +150,254,106,174, 5,207,149,249, 6, 0, 0, 1, 0, 41, 2, 37, 4, 25, 5,193, 0, 6, 0, 18,182, 3, 3, 8, 0, 0, 1, 6, + 0, 63,205, 1, 47, 17, 51, 47, 49, 48, 19, 1, 51, 1, 35, 1, 1, 41, 1,203,102, 1,191,161,254,175,254,163, 2, 37, 3,156, +252,100, 2,223,253, 33, 0, 1,255,252,254,188, 3, 78,255, 72, 0, 3, 0, 18,182, 0, 0, 5, 1, 1,186, 2, 0, 47,225, 1, + 47, 17, 51, 47, 49, 48, 1, 33, 53, 33, 3, 78,252,174, 3, 82,254,188,140, 0, 0, 1, 1,137, 4,217, 3, 18, 6, 33, 0, 13, + 0, 22, 64, 10, 0, 6, 8,128, 15, 0, 95, 0, 2, 0, 0, 47, 93, 26,204, 1, 47,205, 49, 48, 1, 35, 46, 3, 39, 53, 51, 30, + 3, 23, 3, 18,120, 35, 82, 77, 63, 16,219, 16, 43, 46, 48, 21, 4,217, 28, 83, 88, 81, 27, 21, 34, 81, 81, 76, 29, 0, 0, 2, + 0, 94,255,236, 3,156, 4, 94, 0, 35, 0, 50, 0, 84, 64, 17, 16, 1, 41, 71, 35, 85, 52, 15, 52,111, 52, 2, 6, 48, 72, 12, + 26,184,255,208, 64, 30, 13, 17, 72, 26, 16, 9, 12, 72, 26, 26, 12, 86, 51, 25, 22, 80, 29, 42, 82, 16, 16, 29, 16, 36, 80, 2, + 7, 22, 0, 21, 0, 63, 63, 51,225, 63, 57, 47,225, 16,225, 50, 1, 16,230, 50, 47, 43, 43, 16,225, 94, 93, 16,246,225, 50, 50, + 49, 48, 33, 39, 35, 14, 3, 35, 34, 46, 2, 53, 52, 54, 55, 55, 53, 52, 46, 2, 35, 34, 6, 7, 39, 54, 54, 51, 50, 30, 2, 21, + 17, 37, 50, 62, 2, 53, 53, 7, 14, 3, 21, 20, 22, 3, 25, 37, 8, 33, 66, 78, 96, 63, 69,116, 85, 48,231,236,184, 29, 55, 81, + 52, 83,143, 66, 64, 74,182,100,102,149, 97, 48,254, 47, 61,104, 76, 43,143, 90,122, 73, 32, 97,152, 45, 65, 42, 20, 39, 81,123, + 84,164,176, 8, 7, 69, 67, 90, 55, 24, 48, 34,137, 40, 56, 41, 89,138, 98,253, 16,127, 38, 77,117, 79, 99, 7, 4, 32, 57, 81, + 51, 92, 86, 0, 0, 2, 0,174,255,236, 4, 63, 6, 20, 0, 31, 0, 47, 0, 56,181, 45, 72, 5, 87, 49, 49,184,255,184, 64, 23, + 10, 73, 21, 16, 37, 71, 18, 84, 48, 19, 0, 18, 21, 42, 80, 15, 10, 22, 32, 80, 27, 0, 16, 0, 63, 50,225, 63, 51,225, 63, 63, + 1, 16,246,225, 50, 50, 43, 16,246,225, 49, 48, 1, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 39, 35, 7, 35, 17, 51, 17, 20, + 6, 7, 6, 7, 51, 62, 3, 23, 34, 14, 2, 21, 20, 30, 2, 51, 50, 54, 53, 52, 38, 2,158, 94,154,109, 60, 60,109,154, 94, 59, + 96, 77, 59, 23, 12, 37,133,182, 2, 2, 2, 2, 8, 23, 58, 77, 96, 25, 80,107, 65, 27, 27, 65,108, 81,135,127,127, 4, 94, 72, +143,212,140,141,213,144, 73, 26, 43, 58, 32,139, 6, 20,254,136, 35, 79, 34, 40, 38, 35, 60, 44, 25,151, 51,104,156,105,101,157, +107, 55,218,204,208,206, 0, 1, 0,113,255,236, 3,111, 4, 94, 0, 31, 0, 42, 64, 24, 29, 13, 33, 95, 33,127, 33, 2, 16, 33, + 1, 22, 72, 5, 86, 32, 19, 81, 10, 16, 25, 81, 0, 22, 0, 63,225, 63,225, 1, 16,246,225, 93, 93, 16,206, 50, 49, 48, 5, 34, + 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 7, 46, 3, 35, 34, 6, 21, 20, 22, 51, 50, 54, 55, 21, 6, 6, 2, 82,101,176,130, 74, + 76,133,178,102, 78,149, 50, 54, 23, 56, 60, 58, 26,157,144,145,148, 81,131, 54, 54,123, 20, 63,137,213,150,157,219,137, 62, 34, + 25,154, 10, 19, 15, 9,201,212,211,195, 37, 25,162, 29, 30, 0, 0, 2, 0,113,255,236, 4, 2, 6, 20, 0, 31, 0, 48, 0, 52, + 64, 29, 38, 0, 27, 71, 30, 85, 50, 16, 50, 1, 46, 72, 11, 86, 49, 31, 21, 28, 0, 43, 80, 22, 16, 16, 32, 80, 1, 6, 22, 0, + 63, 51,225, 63, 51,225, 63, 63, 1, 16,246,225, 93, 16,246,225, 50, 50, 49, 48, 37, 35, 14, 3, 35, 34, 46, 2, 53, 52, 62, 2, + 51, 50, 30, 2, 23, 51, 38, 39, 38, 38, 53, 17, 51, 17, 35, 37, 50, 62, 2, 55, 53, 52, 46, 2, 35, 34, 6, 21, 20, 22, 3, 84, + 8, 22, 59, 77, 96, 60, 93,154,110, 60, 60,110,154, 93, 59, 96, 77, 60, 22, 12, 3, 3, 2, 4,182,147,254,198, 76,105, 65, 31, + 2, 27, 65,108, 81,135,127,127,147, 34, 61, 46, 26, 72,143,212,140,141,213,144, 73, 26, 44, 58, 32, 34, 31, 26, 55, 16, 1,180, +249,236,131, 46, 94,141, 94, 41,101,157,107, 55,218,204,209,205, 0, 2, 0,113,255,236, 3,225, 4, 94, 0, 30, 0, 39, 0, 67, + 64, 40, 35, 72, 25, 16, 87, 41,224, 41, 1,111, 41, 1, 34, 17, 72, 5, 86, 40, 17, 80, 27, 34, 43, 34, 2, 15, 34, 1, 6, 34, + 34, 20, 31, 80, 10, 16, 20, 81, 0, 22, 0, 63,225, 63,225, 18, 57, 47, 94, 93, 93,225, 1, 16,246,225, 50, 93, 93, 16,246, 50, +225, 49, 48, 5, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 21, 21, 33, 22, 22, 51, 50, 62, 2, 55, 21, 14, 3, 3, 34, 6, 7, + 33, 52, 46, 2, 2, 96,110,182,131, 72, 66,120,167,101, 99,158,110, 59,253, 76, 5,153,151, 51, 87, 81, 76, 39, 40, 77, 81, 87, + 96,114,133, 11, 1,236, 27, 57, 88, 20, 74,142,210,135,136,214,149, 78, 71,129,181,110,113,193,182, 10, 19, 29, 18,162, 19, 28, + 18, 8, 3,219,156,149, 68,113, 80, 44, 0, 1, 0, 29, 0, 0, 2,240, 6, 31, 0, 27, 0,112, 64, 78,207, 29,223, 29, 2, 96, + 29,128, 29,144, 29,160, 29, 4, 31, 29, 63, 29, 79, 29, 3, 27, 27,127, 16,191, 16, 2, 16, 16, 26, 2, 71, 3, 7, 3, 15, 5, + 31, 5, 47, 5,175, 5, 4, 5, 5, 0, 3, 16, 3, 32, 3,128, 3,144, 3,160, 3, 6, 6, 3, 1, 5, 79, 7, 0, 26, 1, 7, + 26, 15, 20, 80, 13, 1, 2, 21, 0, 63, 63,225, 63, 94, 93, 51,225, 50, 1, 47, 94, 93, 51, 47, 93, 17, 51, 16,225, 50, 50, 47, + 93, 57, 47, 93, 93, 93, 49, 48, 1, 35, 17, 35, 17, 35, 53, 55, 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, + 21, 51, 2,139,245,183,194,194, 45, 85,124, 78, 59, 99, 39, 47, 31, 73, 40, 40, 58, 38, 19,245, 3,193,252, 63, 3,193, 75, 68, + 96,107,141, 84, 35, 23, 14,141, 11, 17, 19, 48, 83, 65,104, 0, 0, 3, 0, 37,254, 20, 3,252, 4, 94, 0, 63, 0, 82, 0, 94, + 0,167, 64, 25, 13, 50, 5, 83, 71, 55, 18, 47, 96, 55,112, 55,128, 55, 3, 55, 47, 55, 47, 39, 72, 29, 89, 71, 5,184,255,192, + 64, 77, 7, 10, 72, 5, 5, 1, 10, 29, 1,253, 29, 1,176, 29, 1,136, 29, 1, 32, 29, 48, 29, 64, 29, 3, 29, 29, 96, 31, 96, + 1,191, 96,223, 96, 2,160, 96, 1, 64, 39, 64, 12, 15, 72, 39, 2, 5, 50, 13, 4, 60, 86, 82, 10, 10, 34, 92, 79, 60, 44, 78, + 15, 23, 1, 7, 23, 23, 60, 16, 69, 79, 34, 27, 1, 0, 15, 0, 63,193, 63,225, 63, 57, 47, 94, 93,193, 57, 16,225, 17, 57, 47, +225, 18, 23, 57, 1, 47, 43,193, 93, 93,113, 17, 51, 47, 93, 93, 93, 93,113, 51, 57, 47, 43,225, 16,193, 17, 57, 57, 47, 47, 93, + 16,193, 16,225, 18, 57, 57, 49, 48, 1, 21, 7, 22, 22, 21, 20, 14, 2, 35, 34, 38, 39, 14, 3, 21, 20, 30, 2, 51, 51, 50, 30, + 2, 21, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 55, 38, 38, 53, 52, 54, 55, 46, 3, 53, 52, 62, 2, 51, 50, 22, 23, 1, 20, + 30, 2, 51, 50, 54, 53, 52, 46, 2, 35, 35, 34, 14, 2, 19, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 3,252,197, 28, 38, 47, + 95,140, 93, 22, 44, 14, 17, 33, 27, 17, 24, 41, 56, 31,176, 93,128, 81, 36, 65,134,205,139,107,160,106, 53, 39, 66, 87, 47, 42, + 54, 64, 69, 43, 71, 49, 27, 50, 98,146, 97, 37, 79, 27,254, 64, 26, 59, 97, 72,186,185, 24, 55, 90, 65,176, 35, 76, 63, 41, 92, +108, 99,100,103,105,100, 99,106, 4, 74,113, 27, 35,109, 69, 76,129, 94, 53, 1, 3, 10, 25, 32, 40, 24, 27, 33, 18, 6, 47, 80, +109, 61, 88,140, 97, 52, 42, 80,113, 71, 60, 91, 66, 42, 11, 19, 82, 53, 61, 89, 42, 18, 63, 81, 96, 51, 89,140, 98, 52, 11, 9, +251, 2, 37, 64, 46, 27,115,108, 46, 58, 33, 12, 16, 44, 77, 3, 96,115,112,111,119,123,116,120, 0, 1, 0,174, 0, 0, 4, 18, + 6, 20, 0, 25, 0, 50, 64, 29, 0, 71, 25, 85, 27, 16, 27, 96, 27,128, 27, 3, 15, 14, 10, 71, 11, 84, 26, 16, 4, 80, 21, 16, + 12, 0, 11, 0, 21, 0, 63, 50, 63, 63,225, 51, 1, 16,246,225, 50, 50, 93, 16,246,225, 49, 48, 33, 17, 52, 38, 35, 34, 14, 2, + 21, 17, 35, 17, 51, 17, 7, 51, 62, 3, 51, 50, 22, 21, 17, 3, 92,105,112, 81,110, 67, 29,182,182, 8, 10, 25, 69, 82, 92, 48, +183,185, 2,195,130,130, 52,102,148, 96,253,199, 6, 20,254, 50,144, 43, 63, 42, 20,191,210,253, 51, 0, 0, 2, 0,160, 0, 0, + 1,117, 5,229, 0, 3, 0, 17, 0, 37, 64, 20, 16, 19, 32, 19, 2, 12, 0, 71, 4, 1, 84, 18, 7, 83, 15, 15, 2, 15, 0, 21, + 0, 63, 63, 51, 47,229, 1, 16,246, 50,225, 50, 93, 49, 48, 33, 35, 17, 51, 3, 52, 54, 51, 50, 30, 2, 21, 20, 6, 35, 34, 38, + 1,100,182,182,196, 61, 45, 22, 39, 29, 17, 63, 44, 45, 61, 4, 74, 1, 41, 60, 54, 13, 28, 43, 30, 58, 57, 56, 0, 2,255,188, +254, 20, 1,117, 5,229, 0, 19, 0, 33, 0, 46, 64, 25, 16, 35, 32, 35, 2, 28, 15, 71, 12, 20, 3, 3, 12, 84, 34, 23, 83, 31, + 31, 13, 15, 7, 80, 0, 27, 0, 63,225, 63, 51, 47,229, 1, 16,230, 50, 47, 50, 16,225, 50, 93, 49, 48, 19, 34, 38, 39, 53, 22, + 22, 51, 50, 62, 2, 53, 17, 51, 17, 20, 14, 2, 19, 52, 54, 51, 50, 30, 2, 21, 20, 6, 35, 34, 38, 66, 48, 63, 23, 26, 54, 35, + 27, 46, 35, 19,182, 34, 72,109, 19, 61, 45, 22, 39, 29, 17, 63, 44, 45, 61,254, 20, 14, 11,148, 10, 11, 15, 39, 65, 51, 4,244, +251, 24, 77,123, 87, 47, 7, 95, 60, 54, 13, 28, 43, 30, 58, 57, 56, 0, 0, 1, 0,174, 0, 0, 3,240, 6, 20, 0, 14, 0, 94, + 64, 11, 7, 4, 4, 2, 3, 3, 6, 68, 5, 1, 5,184,255,192, 64, 23, 7, 10, 72, 5, 16, 5, 5, 16, 15, 16, 47, 16, 2, 7, + 13, 9, 71, 10, 84, 15, 11, 0, 0,184,255,248, 64, 16, 12, 15, 72, 7, 8, 12, 15, 72, 0, 7, 3, 6, 10, 21, 3, 15, 0, 63, + 63, 51, 18, 57, 57, 43, 43, 63, 1, 16,246,225, 50, 94, 93, 17, 51, 47, 56, 43, 93, 51, 51, 17, 51, 57, 17, 51, 49, 48, 1, 55, + 1, 51, 1, 1, 35, 1, 7, 17, 35, 17, 51, 17, 3, 1, 86,135, 1, 37,211,254,111, 1,172,209,254,176,109,180,180, 16, 2, 55, +170, 1,105,254, 37,253,145, 1,248, 82,254, 90, 6, 20,253, 54,254,237, 0, 1, 0,174, 0, 0, 1,100, 6, 20, 0, 3, 0, 26, + 64, 14, 16, 5, 32, 5, 2, 0, 71, 1, 84, 4, 2, 0, 0, 21, 0, 63, 63, 1, 16,246,225, 93, 49, 48, 33, 35, 17, 51, 1,100, +182,182, 6, 20, 0, 1, 0,174, 0, 0, 6,135, 4, 94, 0, 44, 0,101, 64, 63, 35, 10, 71,185, 11, 1,150, 11,166, 11, 2,137, + 11, 1,103, 11,119, 11, 2, 11, 11, 22, 0, 71, 44, 85, 46,240, 46, 1,207, 46, 1, 32, 46, 80, 46, 2, 15, 46, 1, 8, 25, 21, + 71, 22, 84, 45, 35, 26, 26, 4, 15, 80, 40, 31, 16, 23, 15, 22, 11, 0, 21, 0, 63, 50, 50, 63, 63, 51,225, 50, 50, 17, 51, 1, + 16,246,225, 50, 94, 93, 93, 93, 93, 16,246,225, 17, 57, 47, 93, 93, 93, 93,225, 50, 49, 48, 33, 17, 52, 38, 35, 34, 14, 2, 21, + 17, 35, 17, 52, 38, 35, 34, 14, 2, 21, 17, 35, 17, 51, 23, 51, 62, 3, 51, 50, 22, 23, 51, 62, 3, 51, 50, 22, 21, 17, 5,209, +100,105, 73,102, 65, 30,183, 99,105, 77,104, 63, 27,182,148, 26, 10, 24, 66, 79, 89, 46,120,159, 38, 8, 26, 73, 87, 96, 50,175, +177, 2,195,130,130, 47, 91,135, 88,253,162, 2,195,130,130, 52,102,148, 96,253,199, 4, 74,148, 43, 63, 42, 20, 88, 94, 47, 68, + 45, 22,191,210,253, 51, 0, 1, 0,174, 0, 0, 4, 18, 4, 94, 0, 24, 0, 48, 64, 28, 0, 71, 24, 85, 26, 16, 26, 96, 26,128, + 26, 3, 14, 10, 71, 11, 84, 25, 15, 4, 80, 20, 16, 12, 15, 11, 0, 21, 0, 63, 50, 63, 63,225, 51, 1, 16,246,225, 50, 93, 16, +246,225, 49, 48, 33, 17, 52, 38, 35, 34, 14, 2, 21, 17, 35, 17, 51, 23, 51, 62, 3, 51, 50, 22, 21, 17, 3, 92,105,112, 81,110, + 67, 29,182,148, 26, 10, 25, 69, 82, 92, 48,183,185, 2,195,130,130, 52,102,148, 96,253,199, 4, 74,148, 43, 63, 42, 20,191,210, +253, 51, 0, 2, 0,113,255,236, 4, 45, 4, 94, 0, 19, 0, 31, 0, 48, 64, 29, 26, 72, 0, 87, 33, 64, 33,208, 33,224, 33, 3, + 15, 33, 1, 6, 20, 72, 10, 86, 32, 29, 80, 15, 16, 23, 80, 5, 22, 0, 63,225, 63,225, 1, 16,246,225, 94, 93, 93, 16,246,225, + 49, 48, 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 5, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 4, 45, + 67,125,178,111,103,174,127, 71, 67,124,179,111,103,174,127, 71,253, 0,137,154,154,135,137,154,154,135, 2, 39,137,213,145, 76, + 76,145,213,137,136,211,145, 75, 75,145,211,136,209,211,211,209,209,207,207, 0, 0, 2, 0,174,254, 20, 4, 63, 4, 94, 0, 31, + 0, 48, 0, 54, 64, 30, 46, 72, 27, 87, 50, 16, 50, 1, 38, 16, 6, 12, 71, 13, 84, 49, 32, 80, 17, 22, 16, 14, 15, 12, 27, 43, + 80, 5, 0, 22, 0, 63, 50,225, 63, 63, 63, 51,225, 1, 16,246,225, 50, 50, 50, 93, 16,246,225, 49, 48, 5, 34, 46, 2, 39, 35, + 22, 23, 22, 22, 21, 17, 35, 17, 51, 23, 51, 62, 3, 51, 50, 30, 2, 21, 20, 14, 2, 3, 34, 14, 2, 7, 21, 20, 30, 2, 51, 50, + 54, 53, 52, 38, 2,158, 59, 96, 77, 59, 23, 12, 3, 3, 2, 4,182,148, 26, 8, 23, 58, 77, 96, 60, 94,154,109, 60, 60,109,154, +129, 76,105, 65, 31, 2, 27, 65,108, 81,135,127,127, 20, 26, 43, 58, 32, 34, 31, 26, 55, 16,254, 43, 6, 54,148, 35, 61, 45, 27, + 72,143,212,140,141,213,144, 73, 3,219, 46, 94,140, 95, 41,101,157,107, 55,218,204,208,206, 0, 0, 2, 0,113,254, 20, 4, 2, + 4, 94, 0, 16, 0, 48, 0, 54, 64, 30, 43, 32, 5, 37, 71, 36, 85, 50, 16, 50, 1, 14, 72, 22, 86, 49, 36, 27, 34, 15, 32, 11, + 80, 27, 16, 44, 0, 80, 17, 22, 0, 63,225, 51, 63,225, 51, 63, 63, 1, 16,246,225, 93, 16,246,225, 50, 50, 50, 49, 48, 37, 50, + 62, 2, 55, 53, 52, 46, 2, 35, 34, 6, 21, 20, 22, 23, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 23, 51, 55, 51, 17, 35, 17, + 52, 54, 55, 54, 55, 35, 14, 3, 2, 53, 76,105, 65, 31, 2, 27, 65,108, 81,135,127,127,102, 93,154,110, 60, 60,110,154, 93, 59, + 96, 76, 60, 23, 8, 27,147,182, 4, 2, 3, 3, 12, 22, 59, 77, 96,131, 46, 94,141, 94, 41,101,157,107, 55,218,204,209,205,151, + 72,143,212,140,141,213,144, 73, 27, 45, 61, 35,148,249,202, 1,213, 19, 58, 27, 32, 34, 34, 61, 46, 26, 0, 1, 0,174, 0, 0, + 3, 8, 4, 94, 0, 22, 0, 65, 64, 11,178, 3,194, 3, 2,144, 3,160, 3, 2, 3,184,255,192, 64, 27, 7, 11, 72, 3, 3, 24, + 48, 24, 80, 24,128, 24, 3, 17, 13, 71, 14, 84, 23, 15, 15, 13, 21, 18, 7, 0, 16, 0, 63,193, 51, 63, 63, 1, 16,246,225, 50, + 93, 17, 51, 47, 43, 93, 93, 49, 48, 1, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, 17, 35, 17, 51, 23, 51, 62, 3, 2,137, 29, + 72, 26, 24, 28, 59, 26, 63,104, 75, 41,182,148, 22, 8, 25, 57, 71, 88, 4, 94, 5, 5,168, 5, 7, 51, 95,133, 81,253,176, 4, + 74,201, 43, 80, 61, 37, 0, 1, 0, 90,255,236, 3, 63, 4, 94, 0, 53, 0, 72, 64, 45, 37, 19, 71,144, 0,160, 0, 2, 0, 87, + 55, 63, 55, 95, 55,159, 55, 3, 16, 55, 1, 44, 71, 9,159, 29,175, 29, 2, 29, 86, 54, 38, 41, 80, 19, 44, 5, 34, 16, 9, 14, + 80, 5, 22, 0, 63,225, 50, 63, 18, 57, 57,225, 50, 1, 16,246, 93, 50,225, 93, 93, 16,246, 93,225, 51, 49, 48, 1, 20, 14, 2, + 35, 34, 38, 39, 53, 30, 3, 51, 50, 62, 2, 53, 52, 46, 2, 39, 46, 3, 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, 38, 35, 34, 6, + 21, 20, 30, 2, 23, 30, 3, 3, 63, 58,109,154, 96,109,156, 59, 31, 76, 84, 89, 44, 65, 91, 57, 26, 20, 53, 92, 72, 72,115, 80, + 43, 55,100,140, 86, 97,161, 72, 63, 65,137, 71,102, 98, 23, 56, 94, 70, 72,113, 80, 42, 1, 45, 80,120, 81, 40, 35, 34,166, 16, + 31, 24, 15, 22, 41, 59, 36, 31, 50, 49, 50, 31, 31, 60, 74, 97, 67, 70,109, 74, 38, 42, 34,147, 29, 43, 67, 62, 35, 52, 46, 47, + 29, 30, 60, 75, 96, 0, 0, 1, 0, 33,255,236, 2,143, 5, 70, 0, 29, 0, 80,177, 25, 5,184,255,192, 64, 47, 8, 11, 72, 5, + 5, 31, 63, 31, 79, 31, 2, 23, 27, 71, 20, 31, 18, 47, 18, 2, 18, 0, 16, 16, 16, 32, 16,176, 16,192, 16,208, 16, 6, 6, 16, + 26, 18, 79, 22, 20, 23, 15, 0, 80, 11, 22, 0, 63,225, 63, 51, 51,225, 50, 1, 47, 94, 93,198, 93, 51,225, 50, 93, 17, 51, 47, + 43, 51, 49, 48, 37, 50, 62, 2, 55, 21, 14, 3, 35, 34, 46, 2, 53, 17, 35, 53, 55, 55, 51, 21, 33, 21, 33, 17, 20, 22, 1,250, + 18, 45, 42, 35, 9, 13, 40, 48, 52, 25, 62,106, 77, 44,155,155, 78,105, 1, 20,254,236, 63,129, 4, 6, 8, 3,138, 6, 12, 9, + 5, 32, 78,133,101, 2,125, 81, 78,230,252,137,253,131, 97, 98, 0, 1, 0,164,255,236, 4, 8, 4, 74, 0, 26, 0, 48, 64, 28, + 1, 23, 71, 26, 85, 28, 16, 28, 96, 28,128, 28, 3, 15, 71, 12, 84, 27, 24, 13, 15, 18, 80, 2, 7, 22, 0, 21, 0, 63, 63, 51, +225, 63, 51, 1, 16,246,225, 93, 16,246,225, 50, 49, 48, 33, 39, 35, 14, 3, 35, 34, 46, 2, 53, 17, 51, 17, 20, 22, 51, 50, 62, + 2, 53, 17, 51, 17, 3,117, 27, 10, 25, 69, 82, 92, 48, 91,138, 92, 47,182,106,111, 81,110, 67, 29,182,147, 43, 63, 41, 20, 46, + 98,152,105, 2,205,253, 61,130,130, 52,101,148, 96, 2, 58,251,182, 0, 0, 1, 0, 0, 0, 0, 3,213, 4, 74, 0, 17, 0,109, +185, 0, 17,255,248, 64, 15, 10, 14, 72, 17, 0, 8, 10, 14, 72, 0, 9, 9, 1, 15, 16,184,255,192,179, 18, 21, 72, 16,184,255, +192, 64, 28, 7, 11, 72, 16, 16, 16, 16, 19,191, 19,207, 19,239, 19, 3, 80, 19, 1, 15, 19, 47, 19, 79, 19, 3, 7, 2, 1,184, +255,240, 64, 10, 1, 71, 9, 1, 9, 15, 1, 15, 0, 21, 0, 63, 63, 51, 57, 93, 1, 47, 56,193, 94, 93, 93, 93, 17, 51, 47, 56, + 43, 43,193, 18, 57, 61, 47, 51, 43, 51, 43, 49, 48, 33, 1, 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 51, 1, 1,119,254,137,188, +199, 11, 30, 30, 25, 4, 7, 5, 24, 30, 30, 11,199,188,254,137, 4, 74,253,157, 33,104,108, 96, 25, 25, 96,108,104, 33, 2, 99, +251,182, 0, 1, 0, 20, 0, 0, 5,227, 4, 74, 0, 47, 0,195,185, 0, 47,255,248, 64, 12, 10, 14, 72, 47, 0, 8, 9, 14, 72, + 0, 39, 32,184,255,248, 64, 18, 9, 14, 72, 32, 31, 8, 9, 14, 72, 31, 9, 16, 8, 10, 14, 72, 16, 15,184,255,248, 64, 9, 9, + 14, 72, 15, 24, 84, 39, 1, 39,184,255,224, 64, 21, 7, 10, 72, 91, 24, 1, 24, 32, 7, 10, 72, 39, 9, 24, 24, 9, 39, 3, 17, + 45, 46,184,255,192,179, 18, 21, 72, 46,184,255,192, 64, 19, 7, 11, 72, 46, 16, 46, 46, 49, 32, 49, 48, 49, 2, 15, 49, 1, 7, + 18, 17,184,255,240, 64, 22, 17, 45, 31, 9, 9, 1, 9, 17, 15, 39, 25, 6, 25,102, 25,118, 25, 3, 25, 0, 16, 21, 0, 63, 51, + 51, 93, 17, 51, 63, 51, 93, 51, 51, 1, 47, 56, 51, 94, 93, 93, 17, 51, 47, 56, 43, 43, 51, 18, 23, 57, 61, 47, 47, 47, 43, 93, + 43, 93, 17, 51, 43, 51, 43, 17, 51, 43, 51, 43, 17, 51, 43, 51, 43, 49, 48, 33, 3, 46, 3, 39, 38, 39, 35, 6, 7, 6, 6, 7, + 3, 35, 1, 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 51, 1, 3,240,168, 4, 12, 12, 13, + 6, 14, 15, 6, 14, 13, 11, 25, 11,172,211,254,231,191,131, 10, 20, 18, 14, 4, 6, 5, 17, 21, 22, 10,179,196,172, 9, 23, 22, + 18, 4, 6, 3, 13, 18, 21, 11,137,186,254,228, 2,104, 18, 45, 50, 52, 25, 58, 62, 63, 58, 50,106, 37,253,156, 4, 74,253,184, + 45,105,103, 91, 29, 26, 87, 97, 95, 33, 2,107,253,149, 34, 92, 95, 88, 29, 26, 87,104,109, 47, 2, 72,251,182, 0, 1, 0, 35, + 0, 0, 3,219, 4, 74, 0, 11, 0,229, 64,161,137, 9, 1,134, 3, 1, 6, 4, 1,247, 4, 1,229, 4, 1, 54, 4, 1, 4, 5, +232, 6, 1, 6, 3,231, 0, 1, 0, 9, 9, 2, 1,248, 2, 1,234, 2, 1, 57, 2, 1, 2, 1,107, 5,123, 5, 2, 87, 5, 1, + 58, 5, 74, 5, 2,100, 1,116, 1, 2, 88, 1, 1, 53, 1, 69, 1, 2, 5, 1, 9, 1, 9, 5, 3, 11, 6, 8, 1,247, 8, 1, +229, 8, 1, 54, 8, 1, 8, 7, 64, 22, 25, 72, 7, 64, 14, 17, 72,107, 7,123, 7, 2, 87, 7, 1, 58, 7, 74, 7, 2, 7, 13, + 16, 13, 48, 13, 2,144, 13,176, 13, 2, 15, 13, 1, 6,217, 10, 1,200, 10, 1,186, 10, 1, 9, 10, 1, 10, 59, 11, 75, 11, 2, + 40, 11, 1, 5, 11, 21, 11, 2, 11, 7, 21, 1, 15, 0, 63, 63, 1, 47, 93, 93, 93,193, 93, 93, 93, 93, 94, 93, 93,113, 16,222, + 93, 93, 93, 43, 43,193, 93, 93, 93,113, 18, 23, 57, 61, 47, 24, 47, 47, 93, 93, 93, 93, 93, 93, 16,193, 93, 93, 93,113, 17, 51, + 93, 51, 51, 93, 16,193, 93, 93, 93,113, 49, 48, 0, 93, 93, 1, 1, 51, 19, 19, 51, 1, 1, 35, 1, 1, 35, 1,152,254,159,207, +250,250,207,254,157, 1,117,207,254,244,254,242,207, 2, 51, 2, 23,254,102, 1,154,253,233,253,205, 1,180,254, 76, 0, 0, 1, + 0, 10,254, 20, 3,223, 4, 74, 0, 34, 0,100,182, 34, 16, 8, 8, 0, 14, 15,184,255,192,179, 18, 21, 72, 15,184,255,192, 64, + 29, 7, 11, 72, 15, 16, 15, 15, 36,191, 36,207, 36,239, 36, 3, 80, 36, 1, 15, 36, 47, 36, 79, 36, 3, 7, 24, 1, 0,184,255, +240, 64, 12, 0, 34, 16, 8, 35, 28, 80, 21, 27, 14, 0, 15, 0, 63, 50, 63,225, 17, 51, 51, 51, 1, 47, 56,193, 51, 94, 93, 93, + 93, 17, 51, 47, 56, 43, 43,193, 18, 57, 61, 47, 51, 51, 49, 48, 19, 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 51, 1, 14, 3, 35, + 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 55, 55, 10,189,215, 14, 29, 25, 18, 4, 6, 5, 22, 27, 29, 11,199,188,254, 78, 28, 65, + 86,116, 80, 52, 76, 27, 21, 64, 35, 48, 70, 52, 37, 15, 57, 4, 74,253,155, 40, 88, 88, 82, 35, 25, 86, 97, 94, 33, 2, 99,251, + 39, 81,129, 90, 49, 11, 6,145, 5, 7, 23, 44, 64, 41,160, 0, 0, 1, 0, 82, 0, 0, 3, 53, 4, 74, 0, 9, 0,108, 64, 11, + 9,151, 3, 1, 3, 8, 9, 13, 72, 3, 7,184,255,192, 64, 17, 7, 10, 72, 7, 7, 11, 63, 11, 95, 11,127, 11, 3,152, 8, 1, + 8,184,255,248,181, 9, 13, 72, 8, 4, 2,184,255,192,183, 18, 21, 72, 63, 2, 1, 2, 7,184,255,240, 64, 18, 7, 12, 72, 7, + 4, 79, 5, 15, 2, 16, 7, 12, 72, 2, 8, 79, 1, 21, 0, 63,225, 50, 43, 63,225, 50, 43, 1, 47, 93, 43, 51, 51, 43, 93, 93, + 17, 51, 47, 43, 51, 43, 93, 51, 49, 48, 33, 33, 53, 1, 33, 53, 33, 21, 1, 33, 3, 53,253, 29, 2, 24,254, 9, 2,176,253,244, + 2, 30,125, 3, 68,137,146,252,209, 0, 0, 1, 0, 61,254,188, 2,162, 5,182, 0, 39, 0, 64, 64, 37, 26, 5, 5,247, 32, 39, +241, 35, 19, 15,246, 16, 12, 1, 12, 35, 15,245,217, 16, 1, 15, 16, 95, 16, 2, 16, 16, 41, 26,245, 25,248, 5,245, 6,249, 0, + 63,225, 63,225, 18, 57, 47, 93, 93,225, 57, 1, 47, 93,230, 51, 51,241, 50,226, 47, 50, 49, 48, 5, 20, 30, 2, 23, 21, 46, 3, + 53, 17, 52, 38, 35, 53, 50, 54, 53, 17, 52, 62, 2, 55, 21, 14, 3, 21, 17, 20, 6, 7, 21, 22, 22, 21, 1,244, 24, 45, 65, 40, + 77,131, 95, 54,131,125,125,131, 54, 95,131, 77, 40, 65, 45, 24,119,115,115,119, 16, 48, 61, 35, 13, 1,150, 1, 33, 71,110, 78, + 1, 78,103, 86,155, 86,103, 1, 77, 78,110, 71, 33, 1,149, 1, 13, 35, 61, 48,254,180,105,123, 20, 12, 20,122,106, 0, 0, 1, + 1,233,254, 20, 2,127, 6, 20, 0, 3, 0, 45, 64, 31, 0, 5, 1, 48, 5, 64, 5,112, 5,128, 5, 4, 2,170, 0, 3, 16, 3, + 64, 3,128, 3,192, 3, 5, 7, 3, 2, 27, 0, 0, 0, 63, 63, 1, 47, 94, 93,225, 93,113, 49, 48, 1, 51, 17, 35, 1,233,150, +150, 6, 20,248, 0, 0, 0, 1, 0, 51,254,188, 2,152, 5,182, 0, 41, 0, 64, 64, 37, 13, 36, 36,247, 7, 0,241, 26,246, 20, + 3,144, 29, 1, 29, 4, 26,245,239, 25,255, 25, 2,217, 25, 1, 25, 25, 14, 36,245, 35,249, 13,245, 14,248, 0, 63,225, 63,225, + 17, 57, 47, 93, 93,225, 57, 1, 47, 93, 51, 51,230,241, 50,226, 47, 50, 49, 48, 19, 52, 54, 55, 53, 38, 38, 53, 17, 52, 46, 2, + 39, 53, 30, 3, 21, 17, 20, 30, 2, 51, 21, 34, 6, 21, 17, 20, 14, 2, 7, 53, 62, 3, 53,225,119,115,115,119, 24, 45, 65, 40, + 77,131, 95, 54, 33, 65, 96, 62,125,131, 54, 95,131, 77, 40, 65, 45, 24, 1, 59,106,122, 20, 12, 20,123,105, 1, 76, 48, 61, 35, + 13, 1,149, 1, 33, 71,110, 78,254,179, 52, 72, 45, 20,155, 86,103,254,178, 78,110, 71, 33, 1,150, 1, 13, 35, 61, 48, 0, 1, + 0,102, 2, 74, 4, 2, 3, 90, 0, 35, 0, 60, 64, 13, 29, 37, 16, 37, 1, 16, 10, 1, 10, 23,173, 10, 31,184,255,192, 64, 22, + 16, 19, 72, 31, 31, 5,173, 28, 15, 13, 31, 13, 63, 13, 79, 13,111, 13,143, 13, 6, 13, 0, 47, 93, 51,241,200, 47, 43, 50,225, + 1, 47, 93, 93, 16,206, 49, 48, 1, 46, 3, 35, 34, 14, 2, 7, 53, 54, 51, 50, 30, 2, 23, 30, 3, 51, 50, 62, 2, 55, 21, 6, + 35, 34, 46, 2, 2, 18, 37, 55, 45, 41, 22, 28, 60, 59, 56, 25,100,148, 29, 50, 55, 67, 47, 37, 55, 47, 40, 22, 28, 60, 59, 56, + 24, 99,149, 29, 50, 55, 67, 2,139, 16, 22, 13, 5, 19, 33, 44, 25,162,108, 5, 13, 25, 20, 16, 22, 13, 5, 19, 33, 44, 25,162, +108, 5, 13, 25, 0, 2, 0,147,254,139, 1,145, 4, 94, 0, 3, 0, 23, 0, 65,185, 0, 0,255,240, 64, 19, 10, 20, 72, 48, 25, +160, 25,176, 25,192, 25, 4, 2, 4,154, 14, 3, 3, 14,184,255,192, 64, 15, 7, 10, 72, 14, 0, 9,155, 19, 0, 2, 16, 2, 2, + 7, 2, 0, 47, 94, 93, 47,245,206, 1, 47, 43, 51, 47, 16,225, 50, 93, 49, 48, 43, 19, 51, 19, 35, 19, 20, 14, 2, 35, 34, 46, + 2, 53, 52, 62, 2, 51, 50, 30, 2,213,121, 51,223,239, 19, 35, 46, 27, 26, 46, 35, 20, 20, 35, 46, 26, 27, 46, 35, 19, 2,164, +251,231, 5, 72, 38, 53, 33, 15, 15, 33, 53, 38, 37, 52, 34, 16, 16, 34, 52, 0, 0, 1, 0,188,255,236, 3,186, 5,203, 0, 37, + 0, 90, 64, 37, 18, 3, 70, 15, 4, 4, 10, 37, 21, 39, 64, 39, 1, 30, 72, 0, 10, 48, 10, 64, 10,208, 10, 4, 6, 10, 27,115, + 15, 18, 15, 33,115, 5, 2, 5, 15,184,255,192, 64, 12, 15, 18, 72, 15, 5, 15, 5, 3, 16, 7, 3, 25, 0, 63, 63, 18, 57, 57, + 47, 47, 43, 17, 51, 16,225, 17, 51, 16,225, 1, 47, 94, 93,225, 93, 16,198, 50, 17, 57, 47, 51,225, 50, 49, 48, 36, 6, 7, 21, + 35, 53, 46, 3, 53, 52, 62, 2, 55, 53, 51, 21, 22, 22, 23, 7, 46, 3, 35, 34, 6, 21, 20, 22, 51, 50, 54, 55, 21, 3,118,110, + 76,137, 87,138, 98, 52, 53, 97,139, 86,137, 72,136, 46, 53, 23, 56, 60, 59, 25,157,144,145,148, 81,131, 54,212, 30, 2,200,206, + 13, 75,133,199,137,141,203,136, 75, 13,172,164, 3, 33, 23,154, 10, 19, 15, 9,202,212,210,195, 37, 24,161, 0, 0, 1, 0, 68, + 0, 0, 4, 35, 5,201, 0, 40, 0,117, 64, 17, 13, 17,111, 35, 15, 15, 31, 15, 2, 7, 31, 15, 31, 15, 25, 3, 23,184,255,192, +179, 10, 14, 72, 23,184,255,200, 64, 48, 6, 9, 72, 23, 23, 42, 16, 42, 1, 33, 25, 64, 11, 14, 72, 25, 25, 41, 16, 33,117, 13, + 47, 34,127, 34,143, 34,175, 34,191, 34,223, 34,255, 34, 7, 34, 34, 0, 22,116, 25, 24, 7,115, 0, 7, 0, 63,225, 63,225, 17, + 57, 47, 93, 51,225, 50, 17, 1, 51, 47, 43, 51, 93, 17, 51, 47, 43, 43, 51, 18, 57, 57, 47, 47, 94, 93, 51,225, 50, 49, 48, 1, + 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, 17, 33, 21, 33, 21, 20, 14, 2, 7, 33, 21, 33, 53, 62, 3, 53, 53, 35, 53, 51, 17, + 52, 62, 2, 2,154,106,174, 66, 66, 56,141, 75, 48, 82, 60, 33, 1,120,254,136, 23, 39, 51, 27, 2,236,252, 33, 44, 73, 53, 30, +198,198, 59,105,146, 5,201, 45, 35,144, 29, 43, 27, 59, 94, 66,254,217,137,211, 62, 89, 64, 43, 16,166,154, 11, 41, 68, 97, 67, +213,137, 1, 68, 87,137, 95, 50, 0, 2, 0,123, 1, 29, 3,236, 4,139, 0, 35, 0, 55, 0,134, 64, 35, 14,143, 22, 1, 22, 22, + 46,171, 21, 15, 12, 24, 6, 30, 33, 3, 8, 0,112, 18, 1, 18, 18, 57, 16, 57, 1, 4, 32, 36,170,128, 0, 1, 0,184,255,192, + 64, 49, 6, 10, 72, 0, 0, 56, 23,128, 31, 1, 31, 12, 6, 24, 30, 15, 6, 4, 9, 41,174, 0, 27, 1, 27, 13, 5, 51,174,207, + 9,239, 9, 2,144, 9,160, 9,176, 9, 3, 31, 9, 63, 9,111, 9, 3, 9, 0, 47, 93, 93, 93,225,198, 50, 47, 93,225, 18, 23, + 57, 17, 51,198, 93, 50, 17, 1, 51, 47, 43, 93,225,198, 50, 93, 17, 51, 47, 93, 18, 23, 57,241,192, 47, 93, 50, 49, 48, 19, 52, + 54, 55, 39, 55, 23, 54, 54, 51, 50, 22, 23, 55, 23, 7, 22, 22, 21, 20, 6, 7, 23, 7, 39, 6, 6, 35, 34, 38, 39, 7, 39, 55, + 38, 38, 55, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2,186, 35, 31,129, 98,127, 47,108, 60, 60,107, 46,129, 99, +130, 31, 37, 35, 33,127, 96,129, 46,107, 60, 60,110, 45,127, 96,127, 31, 35,138, 37, 65, 87, 50, 51, 89, 66, 38, 38, 66, 89, 51, + 50, 87, 65, 37, 2,211, 59,107, 47,129, 98,129, 32, 36, 36, 32,129, 96,129, 46,109, 60, 60,110, 45,127, 96,127, 31, 35, 36, 32, +127, 96,127, 45,108, 60, 50, 87, 65, 38, 38, 65, 87, 50, 51, 89, 66, 38, 38, 66, 89, 0, 0, 1, 0, 29, 0, 0, 4, 76, 5,182, + 0, 22, 0,149, 64, 91, 48, 24, 1, 15, 19, 12, 22,170, 21, 1, 21, 21, 12, 4, 8, 1,171, 2, 1, 31, 2, 1, 2, 2,152, 0, + 1, 0, 7, 3, 11, 90,153, 20, 1, 20, 16, 15, 12, 1,138, 12, 1, 0, 12, 16, 12, 64, 12, 3, 7, 12, 10, 14, 96, 15, 7, 15, + 6, 18, 96, 19, 3, 0, 19,127, 15,143, 15, 2, 48, 19, 1,208, 19, 1, 15, 19, 31, 19, 2, 15, 19, 15, 19, 1, 11, 18, 21, 1, + 3, 0, 63, 51, 63, 18, 57, 57, 47, 47, 93, 93,113, 93, 17, 51, 51, 16,225, 50, 17, 51, 16,225, 50, 1, 47, 94, 93, 93,113, 51, + 51, 93,225, 50, 50, 57, 93, 50, 47, 93, 93, 51, 57, 57, 17, 51, 47, 93, 51, 18, 57, 57, 93, 49, 48, 1, 1, 51, 1, 51, 21, 33, + 21, 33, 21, 33, 17, 35, 17, 33, 53, 33, 53, 33, 53, 51, 1, 51, 2, 51, 1, 90,191,254,127,239,254,211, 1, 45,254,211,178,254, +211, 1, 45,254,211,234,254,133,192, 2,211, 2,227,253, 0,137,158,137,254,250, 1, 6,137,158,137, 3, 0, 0, 0, 2, 1,233, +254, 20, 2,127, 6, 20, 0, 3, 0, 7, 0, 57, 64, 37, 0, 9, 1, 48, 9, 64, 9,112, 9,128, 9, 4, 2, 6,170, 3, 0, 7, + 16, 7, 64, 7,128, 7,192, 7, 5, 7, 7, 4, 3, 4, 3, 6, 27, 0, 0, 0, 63, 63, 57, 57, 47, 47, 1, 47, 94, 93, 51,225, + 50, 93,113, 49, 48, 1, 51, 17, 35, 17, 51, 17, 35, 1,233,150,150,150,150, 6, 20,252,244,254, 25,252,243, 0, 0, 2, 0,121, +255,246, 3, 94, 6, 31, 0, 69, 0, 90, 0,121, 64, 75, 5, 86, 8, 81, 70, 33, 38, 76, 70, 60, 70, 41, 41, 16,255, 33, 1,160, + 33,176, 33, 2, 33, 92,192, 92, 1,191, 92, 1, 70, 70, 0, 23, 70, 8, 8, 49, 0, 0, 1, 0, 0, 16, 0, 48, 0,192, 0,208, + 0,240, 0, 6, 8, 0, 91, 38, 76, 5, 86, 23, 86, 76, 41, 4, 13, 55, 80, 46, 21, 20, 80, 13, 1, 0, 63,225, 63,225, 18, 23, + 57, 17, 51, 17, 51, 1, 16,198, 94, 93,113, 50, 50, 47,225, 16,225, 93, 93, 16,206, 93, 93, 50, 50, 47,225, 18, 57, 57, 16,225, + 17, 57, 57, 49, 48, 19, 52, 62, 2, 55, 38, 38, 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, 38, 35, 34, 6, 21, 20, 30, 2, 23, 30, + 3, 21, 20, 14, 2, 7, 22, 22, 21, 20, 14, 2, 35, 34, 38, 39, 53, 30, 3, 51, 50, 62, 2, 53, 52, 46, 2, 39, 46, 3, 55, 20, + 30, 2, 23, 23, 62, 3, 53, 52, 46, 2, 39, 14, 3,137, 26, 45, 58, 31, 75, 85, 55,100,140, 86, 97,157, 72, 56, 65,140, 71, 99, +102, 24, 57, 95, 70, 72,113, 78, 42, 24, 41, 52, 28, 69, 76, 59,108,155, 96,108,156, 59, 31, 76, 84, 89, 43, 69, 93, 55, 23, 17, + 51, 94, 76, 73,115, 80, 41,154, 28, 63,101, 72, 35, 20, 41, 33, 21, 26, 65,108, 82, 25, 47, 38, 23, 3, 41, 51, 83, 64, 45, 15, + 38,114, 84, 61, 98, 68, 37, 40, 32,139, 28, 39, 59, 57, 27, 46, 44, 47, 29, 28, 65, 78, 97, 62, 52, 85, 68, 49, 16, 38,109, 78, + 71,111, 77, 40, 33, 32,158, 15, 30, 23, 14, 24, 39, 51, 27, 29, 45, 45, 49, 31, 31, 62, 78,100, 89, 37, 63, 58, 55, 30, 15, 13, + 36, 46, 56, 34, 38, 64, 59, 57, 30, 8, 31, 45, 58, 0, 0, 2, 1, 51, 5, 12, 3,106, 5,217, 0, 11, 0, 25, 0, 53, 64, 33, + 12,134,175, 20, 1, 20,192, 6,134, 0, 0, 16, 0, 64, 0, 80, 0, 4, 6, 0, 15, 3,145, 23,159, 9,207, 9, 2, 48, 9, 1, + 9, 0, 47, 93, 93, 51,229, 50, 1, 47, 94, 93,225, 26,220, 93,225, 49, 48, 1, 52, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 37, + 52, 54, 51, 50, 30, 2, 21, 20, 6, 35, 34, 38, 1, 51, 56, 40, 39, 58, 58, 39, 40, 56, 1,119, 56, 40, 19, 35, 26, 16, 58, 38, + 40, 56, 5,115, 54, 48, 49, 53, 53, 50, 50, 53, 54, 48, 12, 25, 38, 27, 53, 50, 50, 0, 0, 3, 0,100,255,236, 6, 68, 5,203, + 0, 37, 0, 65, 0, 85, 0,106, 64, 67, 5,197, 26, 15, 15, 34, 26, 34, 26, 34, 38, 76,195, 0, 52, 1,192, 52, 1, 52, 87, 66, +195, 38, 10,201, 21, 0,201, 31, 15, 21, 31, 21, 47, 21,127, 21,143, 21,159, 21, 6, 8, 0, 31, 16, 31, 96, 31,112, 31,128, 31, + 5, 21, 31, 21, 31, 45, 71,200, 59, 81,200, 45, 4, 0, 63,225, 47,225, 17, 57, 57, 47, 47, 93, 94, 93, 16,225, 16,225, 1, 47, +225, 16,222, 93,113,225, 17, 57, 57, 47, 47, 17, 51, 47, 16,225, 49, 48, 1, 34, 14, 2, 21, 20, 30, 2, 51, 50, 62, 2, 55, 21, + 14, 3, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, 38, 1, 52, 62, 4, 51, 50, 30, 4, 21, 20, 14, 4, 35, 34, 46, + 4, 55, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2, 3,123, 61, 94, 64, 33, 29, 61, 95, 67, 23, 54, 57, 56, 25, + 24, 49, 53, 60, 35,102,152,101, 51, 54,105,153,100, 63,132, 59, 62, 52, 97,252,190, 54, 97,138,167,192,104,104,192,167,138, 97, + 54, 54, 97,138,167,192,104,104,192,167,138, 97, 54,109,101,175,234,133,133,234,175,101,101,175,234,133,133,234,175,101, 4, 29, + 44, 83,120, 75, 78,120, 82, 43, 7, 12, 17, 9,131, 11, 18, 14, 7, 66,122,170,103,101,167,120, 67, 33, 29,127, 26, 28,254,190, +104,192,167,138, 97, 54, 54, 97,138,167,192,104,104,192,167,137, 98, 53, 53, 98,137,167,192,104,133,234,175,101,101,175,234,133, +133,234,175,101,101,175,234, 0, 0, 2, 0, 68, 3, 16, 2, 66, 5,199, 0, 30, 0, 45, 0, 78, 64, 47, 45, 1, 15,224, 0, 29, + 16, 29, 2, 29, 47, 15, 47, 31, 47, 79, 47,127, 47,175, 47, 5, 36,224, 11, 23, 23, 96, 11, 1, 11, 46, 45,228, 15, 15, 26, 1, + 39,228, 0, 6,192, 19,228, 26,222, 0, 63,225, 26,220,196,225, 57, 17, 57, 47,225, 1, 16,198, 93, 50, 47, 16,225, 93, 16,214, + 93,225, 50, 50, 49, 48, 1, 39, 14, 3, 35, 34, 46, 2, 53, 52, 54, 55, 55, 53, 52, 38, 35, 34, 6, 7, 39, 54, 54, 51, 50, 22, + 21, 17, 3, 14, 3, 21, 20, 22, 51, 50, 62, 2, 53, 53, 1,231, 28, 18, 39, 47, 56, 35, 43, 72, 52, 29,141,143, 99, 61, 56, 48, + 90, 42, 48, 51,117, 60,125,119,201, 51, 68, 41, 18, 50, 42, 34, 58, 43, 25, 3, 29, 82, 22, 35, 25, 13, 26, 51, 77, 51,102,108, + 5, 4, 31, 72, 57, 29, 22,100, 26, 36,106,122,254, 58, 1, 57, 3, 18, 30, 43, 29, 51, 45, 21, 44, 65, 44, 49, 0, 2, 0, 82, + 0,115, 3,147, 3,199, 0, 6, 0, 13, 0, 96, 64, 17, 2, 4, 13,235, 10, 80, 4, 96, 4, 2, 4, 10, 4, 10, 6, 11, 9,184, +255,192, 64, 33, 9, 12, 72, 9, 15, 15, 15,159, 15,175, 15, 3, 6,235,159, 3, 1, 3, 6, 0, 3, 13, 7, 10, 10, 5, 3, 3, + 1, 12, 5, 8, 1, 0, 47, 51, 47, 51, 18, 57, 61, 47, 18, 57, 17, 51, 51, 17, 51, 51, 1, 24, 47, 93,225, 93, 16,198, 43, 50, + 17, 57, 57, 47, 47, 93, 16,225, 17, 51, 49, 48, 19, 1, 23, 3, 19, 7, 1, 37, 1, 23, 3, 19, 7, 1, 82, 1, 53,117,238,238, +117,254,203, 1,151, 1, 54,116,237,237,116,254,202, 2, 41, 1,158, 78,254,164,254,164, 78, 1,155, 27, 1,158, 78,254,164,254, +164, 78, 1,155, 0, 1, 0,102, 1, 6, 4, 2, 3, 29, 0, 5, 0, 57, 64, 36, 2,170, 1, 7, 16, 7, 1,150, 4, 1,139, 4, + 1,121, 4, 1, 86, 4, 1, 75, 4, 1, 56, 4, 1, 18, 4, 1, 9, 4, 1, 4, 4,173, 5,179, 0, 63,225, 1, 47, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 16,222,225, 49, 48, 1, 17, 35, 17, 33, 53, 4, 2,149,252,249, 3, 29,253,233, 1,129,150, 0,255,255, + 0, 82, 1,209, 2, 66, 2,121, 2, 6, 0, 16, 0, 0, 0, 4, 0,100,255,236, 6, 68, 5,203, 0, 8, 0, 30, 0, 58, 0, 78, + 0,194, 64,125,164, 22,180, 22,196, 22, 3,180, 23,196, 23, 2, 23, 22, 1, 82, 21, 14, 23, 14, 22,197, 21, 14, 20, 21, 21, 14, + 14, 9, 0, 25,197, 26, 9,197, 4, 21, 4, 0, 26, 1, 0, 26,192, 26,208, 26, 3, 7,143, 4, 1, 26, 4, 26, 4, 31, 69,195, + 0, 45, 1,192, 45, 1, 45, 80, 59,195, 31, 14, 24,201, 0, 0, 22, 27, 22, 21, 26, 8,201, 27, 0, 26, 1, 15, 26, 31, 26, 47, + 26,127, 26,143, 26,159, 26, 6, 8, 0, 27, 16, 27, 96, 27,112, 27,128, 27, 5, 26, 27, 26, 27, 38, 64,200, 52, 19, 74,200, 38, + 4, 0, 63,225, 63,225, 17, 57, 57, 47, 47, 93, 94, 93,113, 16,225, 17, 51, 51, 17, 18, 57, 16,225, 50, 1, 47,225, 16,222, 93, +113,225, 17, 57, 57, 47, 47, 93, 94, 93,113, 17, 57, 16,225, 16,225, 50, 17, 57,135, 16, 43, 16, 0,193,135, 5, 43, 16,196, 1, + 93, 49, 48, 93, 1, 51, 50, 54, 53, 52, 38, 35, 35, 5, 20, 14, 2, 7, 22, 23, 30, 2, 23, 23, 35, 3, 35, 17, 35, 17, 51, 50, + 22, 1, 52, 62, 4, 51, 50, 30, 4, 21, 20, 14, 4, 35, 34, 46, 4, 55, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, + 2, 2,231, 72, 91, 79, 83, 89, 70, 1,146, 27, 45, 57, 31, 67, 53, 23, 42, 33, 10, 10,179,206, 95,157,233,168,158,251,235, 54, + 97,138,167,192,104,104,192,167,138, 97, 54, 54, 97,138,167,192,104,104,192,167,138, 97, 54,109,101,175,234,133,133,234,175,101, +101,175,234,133,133,234,175,101, 3, 0, 72, 69, 74, 59,129, 48, 75, 57, 40, 13,110, 87, 37, 71, 56, 17, 17, 1, 96,254,160, 3, +125,130,254,195,104,192,167,138, 97, 54, 54, 97,138,167,192,104,104,192,167,137, 98, 53, 53, 98,137,167,192,104,133,234,175,101, +101,175,234,133,133,234,175,101,101,175,234, 0, 0, 1,255,250, 6, 20, 4, 6, 6,160, 0, 3, 0, 18,182, 0, 0, 5, 1, 1, +186, 2, 0, 47,225, 1, 47, 17, 51, 47, 49, 48, 1, 33, 53, 33, 4, 6,251,244, 4, 12, 6, 20,140, 0, 0, 2, 0,123, 3, 86, + 2,242, 5,203, 0, 19, 0, 39, 0, 67, 64, 44, 30,171, 10, 41,159, 41, 1, 20,170, 48, 0, 64, 0, 2, 0, 25,174, 16, 15, 32, + 15, 2,224, 15,240, 15, 2,111, 15, 1, 0, 15, 16, 15, 32, 15, 3, 6, 15, 15, 35,174, 5, 4, 0, 63,225, 51, 47, 94, 93, 93, + 93,113,225, 1, 47, 93,225, 93, 16,214,225, 49, 48, 19, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 55, 20, 30, + 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2,123, 50, 85,115, 65, 65,115, 86, 50, 50, 86,115, 65, 65,115, 85, 50,123, 30, + 52, 70, 40, 40, 70, 53, 30, 30, 53, 70, 40, 40, 70, 52, 30, 4,143, 65,115, 86, 50, 50, 86,115, 65, 65,114, 85, 49, 49, 85,114, + 65, 39, 69, 52, 30, 30, 52, 69, 39, 40, 71, 53, 31, 31, 53, 71, 0, 2, 0,102, 0, 0, 4, 2, 4,162, 0, 11, 0, 15, 0, 58, + 64, 33, 16, 17, 1, 15, 8, 8, 6, 9,170, 12, 1, 1, 3,239, 0, 1, 32, 0, 96, 0,160, 0, 3, 0, 13,173, 12, 9, 0,173, + 6, 3,179, 0, 63, 51,225, 50, 47,225, 1, 47, 93, 93, 51, 51, 17, 51,225, 50, 50, 17, 51, 93, 49, 48, 1, 33, 53, 33, 17, 51, + 17, 33, 21, 33, 17, 35, 1, 53, 33, 21, 1,233,254,125, 1,131,150, 1,131,254,125,150,254,125, 3,156, 2,135,150, 1,133,254, +123,150,254,127,254,250,150,150, 0, 1, 0, 49, 2, 74, 2,109, 5,201, 0, 30, 0, 64, 64, 21, 8,225, 0, 23, 32, 79, 32,127, + 32, 2, 32, 64, 6, 10, 72, 29,225, 1, 15, 15, 1,184,255,192, 64, 14, 21, 24, 72, 1, 8, 29, 11,229, 18,222, 29,229, 1,221, + 0, 63,225, 63,225, 18, 57, 1, 47, 43, 51, 47, 16,225, 43, 93, 16,222, 50,225, 49, 48, 1, 33, 53, 55, 62, 3, 53, 52, 38, 35, + 34, 6, 7, 39, 54, 54, 51, 50, 30, 2, 21, 20, 14, 2, 7, 7, 33, 2,109,253,196,209, 57, 72, 40, 15, 66, 54, 51, 93, 45, 78, + 54,133, 82, 60, 97, 68, 37, 29, 54, 79, 51,148, 1,140, 2, 74,112,228, 62, 85, 67, 59, 34, 65, 64, 50, 38, 94, 48, 65, 33, 63, + 91, 57, 50, 86, 85, 91, 55,157, 0, 1, 0, 31, 2, 57, 2,104, 5,201, 0, 48, 0, 97, 64, 60, 3, 0, 25, 25, 14, 6, 30,225, + 0, 0, 21,225, 6, 50, 95, 50,143, 50, 2, 50, 64, 6, 10, 72, 39, 39, 14, 64, 25, 32, 72, 14, 3, 25,228, 15, 26, 31, 26, 47, + 26, 95, 26,223, 26, 5, 8, 26, 26, 18, 38, 35,229, 44,222, 18,229, 15, 11,223, 0, 63, 51,225, 63,225, 51, 18, 57, 47, 94, 93, +225, 57, 1, 47, 43, 51, 47, 43, 93, 16,222,225, 51, 47,225, 17, 18, 57, 47, 18, 57, 49, 48, 1, 20, 6, 7, 22, 22, 21, 20, 14, + 2, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 53, 52, 38, 35, 35, 53, 51, 50, 54, 53, 52, 46, 2, 35, 34, 6, 7, 39, 62, 3, 51, + 50, 30, 2, 2, 78, 81, 69, 88, 88, 40, 83,126, 86, 70,123, 57, 63,132, 53, 98, 88,107, 96, 98, 98, 92, 84, 20, 35, 47, 27, 59, + 97, 51, 69, 29, 61, 68, 76, 44, 69,105, 70, 35, 4,231, 78,106, 24, 23,106, 78, 60,100, 71, 40, 25, 31,133, 34, 38, 83, 73, 74, + 67,113, 79, 64, 32, 47, 30, 14, 41, 37, 96, 23, 37, 26, 15, 34, 60, 83, 0, 1, 1,137, 4,217, 3, 18, 6, 33, 0, 13, 0, 22, + 64, 10, 6, 0, 5,128, 15, 12, 95, 12, 2, 12, 0, 47, 93, 26,205, 1, 47,205, 49, 48, 1, 62, 3, 55, 51, 21, 14, 3, 7, 35, + 1,137, 22, 47, 47, 42, 16,219, 16, 63, 77, 81, 35,121, 4,244, 29, 76, 81, 81, 34, 21, 27, 81, 88, 83, 28, 0, 0, 1, 0,174, +254, 20, 4, 18, 4, 74, 0, 29, 0, 55, 64, 34, 13, 9, 71, 10, 85, 31, 16, 31, 32, 31, 96, 31,112, 31,128, 31, 5, 20, 29, 71, + 28, 84, 30, 26, 27, 3, 80, 17, 22, 11, 21, 28, 9, 15, 0, 63, 51, 63, 63,225, 63, 1, 16,246,225, 50, 93, 16,246,225, 50, 49, + 48, 1, 20, 22, 51, 50, 62, 2, 53, 17, 51, 17, 35, 39, 35, 6, 6, 35, 34, 38, 39, 22, 23, 22, 22, 21, 17, 35, 17, 51, 1,100, +106,111, 82,110, 67, 28,182,147, 27, 10, 48,144,103, 72,106, 35, 1, 2, 2, 1,182,182, 1,135,130,130, 52,101,148, 96, 2, 58, +251,182,147, 83, 84, 46, 42, 38, 40, 35, 85, 42,254,192, 6, 54, 0, 1, 0,113,254,252, 4,102, 6, 20, 0, 19, 0, 55, 64, 33, + 4,153, 0, 5, 48, 5, 64, 5, 80, 5, 4, 6, 5, 5, 13, 1,153, 0, 21, 16, 21, 1, 0, 13, 16, 13, 2, 13, 3, 18, 0, 5, + 0, 0, 47, 50, 63,193, 1, 47, 93, 93, 16,214,225, 18, 57, 47, 94, 93,225, 49, 48, 1, 35, 17, 35, 17, 35, 17, 6, 35, 34, 46, + 2, 53, 52, 62, 2, 51, 33, 4,102,120,207,121, 61, 85, 95,155,109, 60, 65,119,166,100, 2, 51,254,252, 6,121,249,135, 3, 51, + 18, 51,118,192,140,147,197,120, 50, 0, 0, 1, 0,147, 2, 72, 1,145, 3, 94, 0, 19, 0, 51, 64, 26, 16, 21,128, 21,144, 21, +160, 21, 4, 10,150,192, 0,208, 0, 2, 52, 0, 68, 0,100, 0,116, 0, 4, 0,184,255,192,182, 7, 10, 72, 0, 5,155, 15, 0, + 47,229, 1, 47, 43, 93, 93,237, 93, 49, 48, 19, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2,147, 20, 34, 46, 27, + 26, 47, 34, 20, 20, 34, 47, 26, 27, 46, 34, 20, 2,211, 38, 53, 33, 15, 15, 33, 53, 38, 37, 52, 34, 16, 16, 34, 52, 0, 0, 1, + 0, 35,254, 20, 1,152, 0, 0, 0, 25, 0, 57, 64, 31, 20, 19, 19, 21,127, 18,143, 18, 2, 18, 18, 6, 13,132, 0, 27, 6, 26, + 18,140, 21, 64, 9, 14, 72, 21, 21, 19, 10,141, 3, 0, 47,225, 47, 57, 47, 43,225, 1, 16,198, 16,214,225, 17, 57, 47, 93, 51, + 51, 17, 51, 49, 48, 1, 20, 6, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 53, 52, 46, 2, 39, 55, 51, 7, 30, 3, 1,152,141,150, + 22, 45, 15, 15, 49, 16, 71, 80, 26, 46, 63, 37, 90,121, 57, 34, 58, 43, 25,254,225, 97,108, 6, 3,108, 3, 3, 43, 49, 24, 35, + 26, 19, 9,176,115, 8, 26, 41, 58, 0, 0, 1, 0, 63, 2, 74, 1,186, 5,182, 0, 14, 0, 52, 64, 33, 79, 16,127, 16, 2, 16, + 64, 6, 10, 72, 14, 14, 2,225, 0,127, 3,143, 3, 2, 32, 3, 48, 3, 2, 3, 2,221, 13, 9,229, 0,220, 0, 63,225,205, 63, + 1, 47, 93, 93, 51,225, 51, 47, 43, 93, 49, 48, 1, 51, 17, 35, 17, 52, 62, 2, 55, 6, 6, 7, 7, 39, 1, 51,135,145, 1, 3, + 3, 1, 14, 38, 22, 94, 74, 5,182,252,148, 2, 4, 25, 60, 60, 56, 22, 17, 40, 17, 73, 96, 0, 0, 2, 0, 66, 3, 16, 2,139, + 5,199, 0, 19, 0, 31, 0, 46,178, 26,224, 0,184,255,192, 64, 20, 9, 15, 72, 0, 33, 15, 33, 1, 20,224, 10, 32, 23,228, 5, +192, 29,228, 15,222, 0, 63,225, 26,220,225, 1, 16,214,225, 93, 16,214, 43,225, 49, 48, 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, + 62, 2, 51, 50, 30, 2, 5, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 2,139, 41, 77,109, 68, 63,106, 78, 43, 41, 76,109, 68, + 62,107, 78, 44,254, 58, 75, 86, 85, 75, 75, 85, 86, 75, 4,109, 83,130, 89, 47, 47, 89,130, 83, 83,129, 88, 46, 46, 88,129, 83, +119,121,121,119,120,115,115, 0, 0, 2, 0, 84, 0,115, 3,150, 3,199, 0, 6, 0, 13, 0, 86, 64, 47, 15, 15,159, 15,175, 15, + 3, 7,235, 4, 2, 10, 2, 10, 2, 3, 11, 9, 14, 0,235,159, 3, 1, 16, 3, 32, 3, 64, 3, 3, 3, 13, 7, 10, 6, 0, 3, + 10, 3, 10, 3, 1, 12, 5, 8, 1, 0, 47, 51, 47, 51, 18, 57, 57, 61, 47, 47, 17, 51, 51, 17, 51, 51, 1, 24, 47, 93, 93,225, + 16,198, 50, 17, 57, 57, 47, 47, 17, 51,225, 93, 49, 48, 1, 1, 39, 19, 3, 55, 1, 5, 1, 39, 19, 3, 55, 1, 3,150,254,202, +116,237,237,116, 1, 54,254,104,254,203,117,238,238,117, 1, 53, 2, 14,254,101, 78, 1, 92, 1, 92, 78,254, 98, 27,254,101, 78, + 1, 92, 1, 92, 78,254, 98, 0,255,255, 0, 63, 0, 0, 5,139, 5,182, 0, 38, 0,123, 0, 0, 0, 39, 2, 23, 2, 74, 0, 0, + 1, 7, 2, 60, 2,252,253,183, 0, 48, 64, 29, 3, 2, 22, 24, 3, 2,191, 22, 1,143, 22, 1, 63, 22, 1, 22, 1, 64, 17, 1, + 0, 17, 1, 17, 0, 64, 0, 1, 0, 17, 93, 53, 17, 93, 93, 53, 17, 93, 93, 93, 53, 53, 0, 63, 53, 53,255,255, 0, 44, 0, 0, + 5,160, 5,182, 0, 38, 0,123,237, 0, 0, 39, 2, 23, 2, 53, 0, 0, 1, 7, 0,116, 3, 51,253,183, 0, 40, 64, 24, 2, 20, + 24, 2, 0, 20, 1, 20, 1,176, 17, 1, 64, 17, 1, 17, 0,112, 0, 1, 64, 0, 1, 0, 17, 93, 93, 53, 17, 93, 93, 53, 17, 93, + 53, 0, 63, 53,255,255, 0, 31, 0, 0, 5,206, 5,201, 0, 38, 0,117, 0, 0, 0, 39, 2, 23, 2,168, 0, 0, 1, 7, 2, 60, + 3, 63,253,183, 0, 60, 64, 39, 3, 2, 56, 24, 3, 2,112, 56, 1, 80, 56, 1, 56, 1,180, 51, 1,164, 51, 1,132, 51, 1,100, + 51, 1, 80, 51, 1, 48, 51, 1, 32, 51, 1, 51, 15, 76, 1, 93, 17, 93, 93, 93, 93, 93, 93, 93, 53, 17, 93, 93, 53, 53, 0, 63, + 53, 53, 0, 2, 0, 68,254,119, 3, 68, 4, 94, 0, 39, 0, 59, 0, 68, 64, 18, 50,154, 40, 40, 39, 70, 0, 0, 11, 20, 61, 15, + 61, 1, 8, 11, 70, 28,184,255,192, 64, 16, 15, 27, 72, 28, 11, 23, 39, 39, 45,155, 55, 16, 19, 16, 81, 23, 0, 47,225, 51, 63, +229, 50, 47, 18, 57, 1, 47, 43,225, 94, 93, 16,206, 17, 57, 47,225, 51, 47,225, 49, 48, 1, 21, 20, 14, 2, 7, 14, 3, 21, 20, + 30, 2, 51, 50, 54, 55, 23, 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 55, 62, 3, 53, 53, 19, 20, 14, 2, 35, 34, 46, 2, 53, 52, + 62, 2, 51, 50, 30, 2, 2, 80, 16, 39, 65, 50, 48, 68, 43, 21, 30, 57, 85, 55, 84,150, 69, 64, 82,188, 97, 93,149,103, 56, 27, + 53, 81, 54, 52, 66, 38, 14,186, 19, 35, 46, 27, 26, 46, 35, 20, 20, 35, 46, 26, 27, 46, 35, 19, 2,164, 37, 58, 91, 81, 76, 42, + 41, 67, 69, 79, 53, 48, 79, 57, 31, 51, 35,146, 42, 58, 51, 96,138, 88, 68,104, 90, 84, 47, 45, 67, 62, 67, 43, 19, 1, 47, 38, + 53, 33, 15, 15, 33, 53, 38, 37, 52, 34, 16, 16, 34, 52,255,255, 0, 0, 0, 0, 4,221, 7,115, 2, 38, 0, 36, 0, 0, 1, 7, + 0, 67,255,189, 1, 82, 0, 21,180, 2, 21, 5, 38, 2,184,255,156,180, 27, 21, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0, 0, 0, 0, 4,221, 7,115, 2, 38, 0, 36, 0, 0, 1, 7, 0,118, 0,141, 1, 82, 0, 19, 64, 11, 2, 33, 5, 38, 2,108, + 21, 27, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0, 0, 0, 4,221, 7,115, 2, 38, 0, 36, 0, 0, 1, 7, 1, 75, + 0, 31, 1, 82, 0, 21,180, 2, 21, 5, 38, 2,184,255,255,180, 29, 21, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0, + 0, 0, 4,221, 7, 53, 2, 38, 0, 36, 0, 0, 1, 7, 1, 82, 0, 6, 1, 82, 0, 19, 64, 11, 2, 29, 5, 38, 2, 1, 30, 44, + 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0, 0, 0, 4,221, 7, 43, 2, 38, 0, 36, 0, 0, 1, 7, 0,106, 0, 33, + 1, 82, 0, 23, 64, 13, 3, 2, 30, 5, 38, 3, 2, 1, 21, 41, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, + 0, 0, 4,221, 7, 4, 2, 38, 0, 36, 0, 0, 1, 6, 1, 80, 31,125, 0, 49, 64, 32, 3, 2,239, 26, 1,223, 26, 1, 80, 26, + 1, 64, 26, 1, 32, 26, 1, 16, 26, 1, 0, 26, 1, 26, 3, 2, 0, 31, 21, 4, 7, 37, 1, 43, 53, 53, 0, 17, 93, 93, 93, 93, + 93, 93, 93, 53, 53, 0, 0, 2,255,254, 0, 0, 6, 86, 5,182, 0, 15, 0, 19, 0,132, 64, 42, 6, 19, 10, 14, 90, 1, 17, 1, + 16, 3, 4, 19,169, 19, 1, 36, 19, 52, 19, 84, 19, 3, 16, 1, 1, 20, 12, 1, 19, 1, 12, 12, 1, 19, 3, 5, 8, 0,103, 21, + 4, 5,184,255,240, 64, 32, 5, 9, 19, 95, 6, 3, 95, 16, 13, 95, 10, 79, 10, 1, 15, 10,175, 10, 2, 8, 16, 10, 16, 10, 6, + 3, 4, 14, 95, 5, 1, 18, 0, 63, 51,225, 47, 63, 57, 57, 47, 47, 94, 93,113, 16,225, 16,225, 16,225, 50, 1, 47, 56, 51, 16, +230, 50, 17, 23, 57, 47, 47, 47, 93, 93, 93, 93,125,135,196,196, 17, 1, 51, 16,225, 50, 17, 51, 49, 48, 33, 33, 17, 33, 3, 35, + 1, 33, 21, 33, 17, 33, 21, 33, 17, 33, 1, 33, 17, 35, 6, 86,253, 8,254, 37,203,186, 2,143, 3,201,253,195, 2, 22,253,234, + 2, 61,251,117, 1,147,108, 1,197,254, 59, 5,182,164,254, 60,162,253,248, 1,198, 2,168, 0,255,255, 0,125,254, 20, 4,152, + 5,203, 2, 38, 0, 38, 0, 0, 1, 7, 0,122, 1,252, 0, 0, 0, 11,182, 1, 79, 42, 36, 24, 32, 37, 1, 43, 53, 0,255,255, + 0,199, 0, 0, 3,190, 7,115, 2, 38, 0, 40, 0, 0, 1, 7, 0, 67,255,183, 1, 82, 0, 21,180, 1, 12, 5, 38, 1,184,255, +194,180, 18, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,199, 0, 0, 3,190, 7,115, 2, 38, 0, 40, 0, 0, 1, 7, + 0,118, 0, 63, 1, 82, 0, 19, 64, 11, 1, 24, 5, 38, 1, 74, 12, 18, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,199, + 0, 0, 3,190, 7,115, 2, 38, 0, 40, 0, 0, 1, 7, 1, 75,255,241, 1, 82, 0, 21,180, 1, 12, 5, 38, 1,184,255,253,180, + 20, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,199, 0, 0, 3,190, 7, 43, 2, 38, 0, 40, 0, 0, 1, 7, 0,106, +255,245, 1, 82, 0, 23, 64, 13, 2, 1, 21, 5, 38, 2, 1, 1, 12, 32, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, + 0, 62, 0, 0, 2,100, 7,115, 2, 38, 0, 44, 0, 0, 1, 7, 0, 67,254,181, 1, 82, 0, 21,180, 1, 12, 5, 38, 1,184,255, +168,180, 18, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82, 0, 0, 2,138, 7,115, 2, 38, 0, 44, 0, 0, 1, 7, + 0,118,255,120, 1, 82, 0, 19, 64, 11, 1, 24, 5, 38, 1,106, 12, 18, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 17, + 0, 0, 2,169, 7,115, 2, 38, 0, 44, 0, 0, 1, 7, 1, 75,255, 15, 1, 82, 0, 19, 64, 11, 1, 12, 5, 38, 1, 2, 20, 12, + 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 64, 0, 0, 2,119, 7, 43, 2, 38, 0, 44, 0, 0, 1, 7, 0,106,255, 13, + 1, 82, 0, 23, 64, 13, 2, 1, 21, 5, 38, 2, 1, 0, 12, 32, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 2, 0, 47, + 0, 0, 4,252, 5,182, 0, 16, 0, 31, 0, 93, 64, 58, 26, 26, 14, 17, 91, 8,103, 33, 32, 33, 1, 24, 28, 90, 14, 16, 16, 1, + 14,100, 32, 27, 16, 95, 24, 15, 0, 1, 15, 0, 63, 0,111, 0,175, 0,223, 0,255, 0, 6, 8, 0, 64, 26, 29, 72, 0, 0, 2, + 28, 96, 14, 18, 23, 96, 2, 3, 0, 63,225, 63,225, 17, 57, 47, 43, 94, 93,113, 51,225, 50, 1, 16,230, 50, 50, 47, 16,225, 50, + 93, 16,246,225, 17, 57, 47, 49, 48, 19, 51, 17, 33, 50, 22, 22, 18, 21, 20, 2, 6, 4, 35, 33, 17, 35, 37, 52, 46, 2, 35, 35, + 17, 33, 21, 33, 17, 51, 32, 0, 47,152, 1,151,153,248,174, 95, 96,182,254,247,168,254,146,152, 4, 8, 66,126,184,117,201, 1, + 80,254,176,162, 1, 8, 1, 12, 3, 37, 2,145, 92,181,254,244,176,185,254,233,187, 94, 2,131, 96,146,213,138, 67,254, 14,162, +254, 29, 1, 36,255,255, 0,199, 0, 0, 5, 14, 7, 53, 2, 38, 0, 49, 0, 0, 1, 7, 1, 82, 0,139, 1, 82, 0, 19, 64, 11, + 1, 32, 5, 38, 1, 10, 33, 47, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 5,113, 7,115, 2, 38, 0, 50, + 0, 0, 1, 7, 0, 67, 0, 84, 1, 82, 0, 21,180, 2, 40, 5, 38, 2,184,255,171,180, 46, 40, 10, 0, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0,125,255,236, 5,113, 7,115, 2, 38, 0, 50, 0, 0, 1, 7, 0,118, 1, 2, 1, 82, 0, 19, 64, 11, 2, 52, + 5, 38, 2, 88, 40, 46, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 5,113, 7,115, 2, 38, 0, 50, 0, 0, + 1, 7, 1, 75, 0,174, 1, 82, 0, 19, 64, 11, 2, 40, 5, 38, 2, 5, 48, 40, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0,125,255,236, 5,113, 7, 53, 2, 38, 0, 50, 0, 0, 1, 7, 1, 82, 0,125, 1, 82, 0, 21,180, 2, 48, 5, 38, 2,184,255, +240,180, 49, 63, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 5,113, 7, 43, 2, 38, 0, 50, 0, 0, 1, 7, + 0,106, 0,170, 1, 82, 0, 23, 64, 13, 3, 2, 49, 5, 38, 3, 2, 1, 40, 60, 10, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, + 0, 1, 0,141, 1, 45, 3,221, 4,123, 0, 11, 0,135,185, 0, 6,255,240,179, 20, 23, 72, 6,184,255,224, 64, 24, 15, 18, 72, + 0, 16, 20, 23, 72, 0, 32, 15, 18, 72, 9, 16, 20, 23, 72, 9, 32, 15, 18, 72, 3,184,255,240,179, 20, 23, 72, 3,184,255,224, + 64, 48, 15, 18, 72, 64, 13, 1, 7, 5, 5, 3, 11, 1, 1, 80, 3, 1, 3, 8, 10, 10, 4, 2, 2, 32, 0, 1, 0, 0, 32, 0, + 80, 0,112, 0,128, 0,160, 0,192, 0,208, 0,240, 0, 9, 6, 0,179, 0, 25, 63, 94, 93,113, 50, 17, 51, 50, 17, 51, 1, 47, + 93, 51, 17, 51, 17, 51, 17, 51, 93, 49, 48, 0, 43, 43, 43, 43, 1, 43, 43, 43, 43, 1, 1, 55, 1, 1, 23, 1, 1, 7, 1, 1, + 39, 1,203,254,194,105, 1, 61, 1, 66,104,254,191, 1, 63,102,254,190,254,195,103, 2,211, 1, 63,105,254,194, 1, 62,103,254, +191,254,192,102, 1, 61,254,197,103, 0, 0, 3, 0,125,255,180, 5,113, 5,252, 0, 26, 0, 38, 0, 49, 0, 92, 64, 58, 41, 31, + 42, 30, 4, 27, 39, 91, 1, 25, 11, 14, 4, 17, 4,103, 51,192, 51, 1,191, 51, 1,112, 51, 1, 47, 51, 95, 51, 2, 27, 91, 17, +102, 50, 31, 41, 30, 42, 4, 45, 34, 95, 25, 1, 14, 11, 4, 9, 26, 22, 4, 45, 95, 12, 9, 19, 0, 63, 51,225, 63, 51, 18, 23, + 57,225, 17, 23, 57, 1, 16,246,225, 93, 93, 93, 93, 16,246, 17, 23, 57,225, 17, 23, 57, 49, 48, 1, 7, 22, 18, 21, 20, 2, 6, + 6, 35, 34, 39, 7, 39, 55, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, 55, 1, 20, 22, 23, 1, 38, 38, 35, 34, 14, 2, 5, 16, + 39, 1, 22, 22, 51, 50, 62, 2, 5, 20, 92, 91, 94, 81,160,237,155,189,133, 78,137, 90, 97, 91, 76,158,240,163, 94,161, 66, 80, +252,183, 46, 48, 2, 67, 48,114, 71,114,166,108, 52, 3,106, 88,253,190, 47,114, 69,114,165,107, 50, 5,174,149, 99,254,222,183, +169,254,234,198,108, 71,127, 78,145,100, 1, 42,190,170, 1, 21,196,107, 42, 38,127,252,225,131,209, 78, 3,177, 29, 32, 81,151, +218,138, 1, 1,151,252, 84, 28, 30, 81,153,219,255,255, 0,184,255,236, 4,221, 7,115, 2, 38, 0, 56, 0, 0, 1, 7, 0, 67, + 0, 61, 1, 82, 0, 21,180, 1, 24, 5, 38, 1,184,255,192,180, 30, 24, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,184, +255,236, 4,221, 7,115, 2, 38, 0, 56, 0, 0, 1, 7, 0,118, 0,197, 1, 82, 0, 19, 64, 11, 1, 36, 5, 38, 1, 72, 24, 30, + 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,184,255,236, 4,221, 7,115, 2, 38, 0, 56, 0, 0, 1, 7, 1, 75, 0,121, + 1, 82, 0, 21,180, 1, 24, 5, 38, 1,184,255,253,180, 32, 24, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,184,255,236, + 4,221, 7, 43, 2, 38, 0, 56, 0, 0, 1, 7, 0,106, 0,125, 1, 82, 0, 23, 64, 13, 2, 1, 33, 5, 38, 2, 1, 1, 24, 44, + 11, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, 4, 55, 7,115, 2, 38, 0, 60, 0, 0, 1, 7, 0,118, + 0, 49, 1, 82, 0, 19, 64, 11, 1, 21, 5, 38, 1, 99, 9, 15, 7, 2, 37, 1, 43, 53, 0, 43, 53, 0, 0, 2, 0,199, 0, 0, + 4, 51, 5,182, 0, 16, 0, 27, 0, 60, 64, 33, 23, 91, 0,103, 29,159, 29, 1, 16, 29, 1, 17, 11, 7, 90, 8,100, 28, 17, 96, + 6, 27, 96, 11, 6, 11, 6, 11, 7, 9, 3, 7, 18, 0, 63, 63, 18, 57, 57, 47, 47, 16,225, 16,225, 1, 16,246,225, 50, 50, 93, + 93, 16,246,225, 49, 48, 1, 20, 14, 2, 35, 35, 17, 35, 17, 51, 21, 51, 50, 30, 2, 1, 51, 50, 62, 2, 53, 52, 38, 35, 35, 4, + 51, 55,126,207,152,150,186,186,176,134,194,126, 60,253, 78,129, 93,139, 91, 46,164,174,160, 3, 14, 91,168,129, 77,254,195, 5, +182,252, 57,109,160,254,103, 32, 71,113, 81,143,136, 0, 0, 1, 0,174,255,236, 4,117, 6, 31, 0, 75, 0,109, 64, 72, 7, 70, + 46, 53, 71, 0, 15, 25, 31, 25, 47, 25, 3, 25, 64, 13, 19, 72, 95, 46,111, 46, 2, 15, 0, 31, 0, 47, 0, 3, 8, 25, 46, 0, + 0, 46, 25, 3, 65, 36, 71, 17, 87, 77, 16, 77, 32, 77,192, 77, 3, 64, 71, 65, 84, 76, 36, 7, 53, 3, 22, 58, 80, 71, 1, 65, + 21, 31, 80, 26, 22, 22, 0, 63, 51,225, 63, 63,225, 18, 23, 57, 1, 16,246,225, 93, 16,246,225, 18, 23, 57, 47, 47, 47, 94, 93, + 93, 43, 93, 16,225, 16,225, 49, 48, 1, 20, 14, 4, 21, 20, 30, 2, 23, 30, 3, 21, 20, 14, 2, 35, 34, 38, 39, 53, 30, 3, 51, + 50, 62, 2, 53, 52, 46, 2, 39, 46, 3, 53, 52, 62, 4, 53, 52, 46, 2, 35, 34, 14, 2, 21, 17, 35, 17, 52, 62, 2, 51, 50, 30, + 2, 3,242, 43, 63, 75, 63, 43, 14, 39, 70, 57, 56, 88, 61, 33, 56,101,141, 85, 97,139, 53, 26, 65, 72, 76, 37, 56, 81, 52, 24, + 17, 43, 72, 56, 63, 85, 53, 22, 41, 62, 72, 62, 41, 33, 60, 83, 51, 49, 88, 66, 39,182, 63,113,156, 92, 92,152,108, 60, 4,236, + 57, 89, 73, 60, 55, 54, 30, 21, 33, 39, 49, 38, 37, 72, 82, 96, 62, 87,126, 81, 39, 35, 34,166, 16, 31, 24, 15, 25, 45, 64, 40, + 36, 59, 56, 58, 35, 40, 68, 67, 70, 42, 54, 79, 63, 54, 58, 67, 44, 42, 62, 41, 19, 19, 48, 83, 65,251, 78, 4,176,104,141, 85, + 37, 38, 76,116,255,255, 0, 94,255,236, 3,156, 6, 33, 2, 38, 0, 68, 0, 0, 1, 6, 0, 67,148, 0, 0, 21,180, 2, 51, 17, + 38, 2,184,255,229,180, 57, 51, 12, 34, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 94,255,236, 3,156, 6, 33, 2, 38, 0, 68, + 0, 0, 1, 6, 0,118, 53, 0, 0, 19, 64, 11, 2, 63, 17, 38, 2,133, 51, 57, 12, 34, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0, 94,255,236, 3,156, 6, 33, 2, 38, 0, 68, 0, 0, 1, 6, 1, 75,226, 0, 0, 19, 64, 11, 2, 51, 17, 38, 2, 51, 59, 51, + 12, 34, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 94,255,236, 3,156, 5,227, 2, 38, 0, 68, 0, 0, 1, 6, 1, 82,189, 0, + 0, 19, 64, 11, 2, 59, 17, 38, 2, 41, 60, 74, 12, 34, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 94,255,236, 3,156, 5,217, + 2, 38, 0, 68, 0, 0, 1, 6, 0,106,222, 0, 0, 23, 64, 13, 3, 2, 60, 17, 38, 3, 2, 47, 51, 71, 12, 34, 37, 1, 43, 53, + 53, 0, 43, 53, 53, 0,255,255, 0, 94,255,236, 3,156, 6,135, 2, 38, 0, 68, 0, 0, 1, 6, 1, 80,222, 0, 0, 23, 64, 13, + 3, 2, 56, 17, 38, 3, 2, 48, 61, 51, 12, 34, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 3, 0, 94,255,236, 6, 68, 4, 94, + 0, 56, 0, 71, 0, 80, 0,124, 64, 26, 47, 20, 75, 30, 72, 4, 66, 66, 0, 76, 72, 38, 29, 87, 82, 79, 82, 95, 82,159, 82, 3, + 57, 72, 0, 14,184,255,192, 64, 46, 13, 17, 72, 14, 14, 0, 86, 81, 0, 66, 16, 66, 2, 66, 30, 80, 0, 4, 16, 4, 2, 4, 15, + 75, 31, 75, 2, 7, 75, 75, 17, 33, 60, 80, 47, 44, 52, 22, 72, 13, 10, 80, 23, 20, 17, 16, 0, 63, 51, 51,225, 50, 50, 63, 51, + 51,225, 50, 17, 57, 47, 94, 93, 51, 93,225, 50, 93, 1, 16,230, 50, 47, 43, 16,225, 93, 16,246, 50,225, 17, 57, 47, 51,225, 50, + 57, 57, 49, 48, 19, 52, 54, 55, 55, 53, 52, 46, 2, 35, 34, 6, 7, 39, 54, 54, 51, 50, 22, 23, 54, 54, 51, 50, 30, 2, 21, 21, + 33, 22, 22, 51, 50, 62, 2, 55, 21, 14, 3, 35, 34, 38, 39, 14, 3, 35, 34, 46, 2, 55, 20, 22, 51, 50, 62, 2, 53, 53, 7, 14, + 3, 1, 34, 6, 7, 33, 52, 46, 2, 94,231,236,184, 29, 55, 81, 52, 83,143, 66, 64, 74,182,100,131,166, 43, 51,166,103, 97,154, +108, 57,253, 96, 5,147,147, 49, 85, 78, 74, 37, 39, 75, 79, 85, 49,138,202, 62, 34, 76, 95,116, 74, 71,123, 90, 52,189, 97, 79, + 61,104, 76, 43,143, 90,122, 73, 32, 3,133,110,127, 11, 1,215, 26, 55, 84, 1, 51,164,176, 8, 7, 69, 67, 90, 55, 24, 48, 34, +137, 40, 56, 85, 93, 85, 93, 71,129,181,110,113,193,182, 10, 19, 29, 18,162, 19, 28, 18, 8,114,115, 54, 85, 59, 31, 39, 81,123, + 82, 92, 86, 38, 77,117, 79, 99, 7, 4, 32, 57, 81, 2, 99,156,149, 68,113, 80, 44, 0,255,255, 0,113,254, 20, 3,111, 4, 94, + 2, 38, 0, 70, 0, 0, 1, 7, 0,122, 1, 66, 0, 0, 0, 11,182, 1, 47, 38, 32, 5, 13, 37, 1, 43, 53, 0,255,255, 0,113, +255,236, 3,225, 6, 33, 2, 38, 0, 72, 0, 0, 1, 6, 0, 67,148, 0, 0, 21,180, 2, 40, 17, 38, 2,184,255,185,180, 46, 40, + 5, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 3,225, 6, 33, 2, 38, 0, 72, 0, 0, 1, 6, 0,118, 82, 0, + 0, 19, 64, 11, 2, 52, 17, 38, 2,118, 40, 46, 5, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 3,225, 6, 33, + 2, 38, 0, 72, 0, 0, 1, 6, 1, 75,222, 0, 0, 19, 64, 11, 2, 40, 17, 38, 2, 3, 48, 40, 5, 15, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0,113,255,236, 3,225, 5,217, 2, 38, 0, 72, 0, 0, 1, 6, 0,106,218, 0, 0, 23, 64, 13, 3, 2, 49, 17, + 38, 3, 2, 0, 40, 60, 5, 15, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255,255,222, 0, 0, 1,103, 6, 33, 2, 38, 0,243, + 0, 0, 1, 7, 0, 67,254, 85, 0, 0, 0, 21,180, 1, 4, 17, 38, 1,184,255,154,180, 10, 4, 1, 0, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0,174, 0, 0, 2, 66, 6, 33, 2, 38, 0,243, 0, 0, 1, 7, 0,118,255, 48, 0, 0, 0, 19, 64, 11, 1, 16, + 17, 38, 1,116, 4, 10, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255,255,189, 0, 0, 2, 85, 6, 33, 2, 38, 0,243, 0, 0, + 1, 7, 1, 75,254,187, 0, 0, 0, 19, 64, 11, 1, 4, 17, 38, 1, 0, 12, 4, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, +255,238, 0, 0, 2, 37, 5,217, 2, 38, 0,243, 0, 0, 1, 7, 0,106,254,187, 0, 0, 0, 23, 64, 13, 2, 1, 13, 17, 38, 2, + 1, 0, 4, 24, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 2, 0,111,255,236, 4, 45, 6, 35, 0, 39, 0, 57, 0,116, + 64, 70, 18, 40, 72, 0, 35, 32, 22, 25, 4, 28, 34, 24, 28, 34, 34, 28, 24, 3, 10, 0, 87, 59, 64, 59,208, 59,224, 59, 3, 15, + 59, 1, 6, 50, 72, 10, 86, 58, 32, 25, 35, 22, 4, 23, 33, 33, 29, 45, 80, 15, 18, 15,175, 15,191, 15, 2, 48, 15, 1, 23, 15, + 23, 15, 29, 1, 55, 80, 5, 22, 0, 63,225, 63, 57, 57, 47, 47, 93, 93, 17, 51, 16,225, 17, 51, 17, 18, 23, 57, 1, 16,246,225, + 94, 93, 93, 16,230, 17, 23, 57, 47, 47, 47, 17, 18, 23, 57, 16,225, 50, 49, 48, 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, + 51, 50, 22, 23, 55, 38, 38, 39, 5, 39, 55, 38, 38, 39, 55, 22, 22, 23, 55, 23, 7, 30, 3, 7, 52, 46, 2, 35, 34, 14, 2, 21, + 20, 30, 2, 51, 50, 54, 4, 45, 67,125,178,111,104,175,127, 71, 63,118,168,105,102,154, 43, 8, 31,120, 90,255, 0, 74,217, 40, + 85, 47, 70, 65,122, 59,227, 74,195, 67,111, 79, 44,188, 34, 70,110, 75, 77,109, 70, 33, 33, 71,109, 76,154,135, 2, 61,142,220, +152, 79, 66,127,185,119,119,184,126, 65, 59, 60, 4,118,192, 81,153,114,131, 28, 55, 26,123, 32, 72, 44,138,113,117, 65,156,187, +221,176, 56,107, 82, 50, 46, 88,131, 85, 76,125, 90, 49,199, 0,255,255, 0,174, 0, 0, 4, 18, 5,227, 2, 38, 0, 81, 0, 0, + 1, 6, 1, 82,249, 0, 0, 19, 64, 11, 1, 33, 17, 38, 1, 2, 34, 48, 11, 23, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113, +255,236, 4, 45, 6, 33, 2, 38, 0, 82, 0, 0, 1, 6, 0, 67,216, 0, 0, 21,180, 2, 32, 17, 38, 2,184,255,215,180, 38, 32, + 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 4, 45, 6, 33, 2, 38, 0, 82, 0, 0, 1, 6, 0,118, 80, 0, + 0, 19, 64, 11, 2, 44, 17, 38, 2, 78, 32, 38, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 4, 45, 6, 33, + 2, 38, 0, 82, 0, 0, 1, 6, 1, 75,251, 0, 0, 21,180, 2, 32, 17, 38, 2,184,255,250,180, 40, 32, 10, 0, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 0,113,255,236, 4, 45, 5,227, 2, 38, 0, 82, 0, 0, 1, 6, 1, 82,226, 0, 0, 21,180, 2, 40, 17, + 38, 2,184,255,253,180, 41, 55, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 4, 45, 5,217, 2, 38, 0, 82, + 0, 0, 1, 6, 0,106,249, 0, 0, 25,182, 3, 2, 41, 17, 38, 3, 2,184,255,249,180, 32, 52, 10, 0, 37, 1, 43, 53, 53, 0, + 43, 53, 53, 0, 0, 3, 0,102, 0,248, 4, 2, 4,172, 0, 3, 0, 23, 0, 43, 0, 96, 64, 21, 48, 45, 1, 34,170, 24, 24, 14, +170, 86, 3,102, 3, 2, 40, 3, 56, 3, 2, 3, 0,184,255,240, 64, 40, 9, 13, 72, 0, 4, 39,173, 16, 29, 1, 15, 29, 1, 29, + 29, 1, 9,173, 0, 19, 16, 19, 32, 19, 96, 19,176, 19,192, 19,208, 19, 7, 7, 19, 19, 0,173, 1,179, 0, 63,225, 51, 47, 94, + 93,225, 17, 51, 47, 93,113,225, 1, 47, 51, 43, 51, 93, 93,225, 51, 47,225, 93, 49, 48, 19, 53, 33, 21, 1, 52, 62, 2, 51, 50, + 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 17, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2,102, 3,156,253,191, 18, + 31, 41, 24, 23, 42, 32, 18, 18, 32, 42, 23, 24, 41, 31, 18, 18, 31, 41, 24, 23, 42, 32, 18, 18, 32, 42, 23, 24, 41, 31, 18, 2, +135,150,150,254,238, 35, 47, 30, 13, 13, 30, 47, 35, 33, 47, 31, 14, 14, 31, 47, 2,219, 35, 47, 30, 13, 13, 30, 47, 35, 33, 47, + 31, 14, 14, 31, 47, 0, 0, 3, 0,115,255,180, 4, 47, 4,145, 0, 26, 0, 36, 0, 45, 0, 92, 64, 59, 39, 31, 40, 30, 4, 27, + 37, 72, 23, 24, 22, 21, 7, 8, 10, 9, 8, 13, 0, 87, 47, 64, 47,208, 47,224, 47, 3, 15, 47, 1, 6, 27, 72, 13, 86, 46, 40, + 30, 39, 31, 4, 43, 34, 80, 7, 10, 24, 21, 4, 5, 22, 18, 16, 43, 80, 8, 5, 22, 0, 63,198,225, 63,198, 18, 23, 57,225, 17, + 23, 57, 1, 16,246,225, 94, 93, 93, 16,246, 17, 23, 57,225, 17, 23, 57, 49, 48, 1, 20, 14, 2, 35, 34, 39, 7, 39, 55, 38, 38, + 53, 52, 62, 2, 51, 50, 22, 23, 55, 23, 7, 22, 22, 5, 20, 22, 23, 1, 38, 38, 35, 34, 6, 5, 52, 39, 1, 22, 22, 51, 50, 54, + 4, 47, 67,125,178,111,125, 98, 68,131, 80, 63, 70, 67,124,179,111, 63,113, 49, 68,131, 80, 62, 69,253, 0, 19, 22, 1,141, 29, + 75, 45,154,135, 2, 68, 39,254,114, 31, 72, 45,154,135, 2, 39,137,213,145, 76, 53,109, 74,131, 72,213,137,136,211,145, 75, 29, + 28,108, 73,129, 73,209,134, 84,131, 51, 2,135, 17, 18,207,209,159, 99,253,123, 17, 16,211, 0,255,255, 0,164,255,236, 4, 8, + 6, 33, 2, 38, 0, 88, 0, 0, 1, 6, 0, 67,163, 0, 0, 21,180, 1, 27, 17, 38, 1,184,255,155,180, 33, 27, 12, 25, 37, 1, + 43, 53, 0, 43, 53, 0,255,255, 0,164,255,236, 4, 8, 6, 33, 2, 38, 0, 88, 0, 0, 1, 6, 0,118, 96, 0, 0, 19, 64, 11, + 1, 39, 17, 38, 1, 87, 27, 33, 12, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164,255,236, 4, 8, 6, 33, 2, 38, 0, 88, + 0, 0, 1, 6, 1, 75, 8, 0, 0, 19, 64, 11, 1, 27, 17, 38, 1, 0, 35, 27, 12, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0,164,255,236, 4, 8, 5,217, 2, 38, 0, 88, 0, 0, 1, 6, 0,106, 2, 0, 0, 25,182, 2, 1, 36, 17, 38, 2, 1,184,255, +251,180, 27, 47, 12, 25, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 10,254, 20, 3,223, 6, 33, 2, 38, 0, 92, 0, 0, + 1, 6, 0,118, 14, 0, 0, 19, 64, 11, 1, 47, 17, 38, 1,103, 35, 41, 0, 15, 37, 1, 43, 53, 0, 43, 53, 0, 0, 2, 0,174, +254, 20, 4, 63, 6, 20, 0, 32, 0, 49, 0, 56, 64, 31, 47, 72, 10, 87, 51, 16, 51, 1, 39, 32, 31, 21, 27, 71, 28, 84, 50, 29, + 0, 27, 27, 44, 80, 21, 15, 22, 33, 80, 0, 5, 16, 0, 63, 51,225, 63, 51,225, 63, 63, 1, 16,246,225, 50, 50, 50, 50, 93, 16, +246,225, 49, 48, 1, 62, 3, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 39, 35, 22, 23, 22, 22, 21, 17, 35, 17, 51, 17, 7, + 37, 34, 14, 2, 7, 21, 20, 30, 2, 51, 50, 54, 53, 52, 38, 1,100, 23, 58, 77, 96, 60, 94,154,109, 60, 60,109,154, 94, 59, 96, + 77, 59, 23, 12, 3, 3, 2, 4,182,182, 8, 1, 31, 76,105, 65, 31, 2, 27, 65,108, 81,135,127,127, 3,182, 35, 61, 45, 27, 72, +143,212,140,141,213,144, 73, 26, 43, 58, 32, 34, 31, 26, 55, 16,254, 43, 8, 0,254, 54,148, 17, 46, 94,140, 95, 41,101,157,107, + 55,218,204,208,206, 0,255,255, 0, 10,254, 20, 3,223, 5,217, 2, 38, 0, 92, 0, 0, 1, 6, 0,106,177, 0, 0, 23, 64, 13, + 2, 1, 44, 17, 38, 2, 1, 11, 35, 55, 0, 15, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, 4,221, 6,193, + 2, 38, 0, 36, 0, 0, 1, 7, 1, 77, 0, 51, 1, 82, 0, 21,180, 2, 23, 5, 38, 2,184,255,255,180, 21, 22, 4, 7, 37, 1, + 43, 53, 0, 43, 53, 0,255,255, 0, 94,255,236, 3,156, 5,111, 2, 38, 0, 68, 0, 0, 1, 6, 1, 77,230, 0, 0, 19, 64, 11, + 2, 53, 17, 38, 2, 35, 51, 52, 12, 34, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0, 0, 0, 4,221, 7, 64, 2, 38, 0, 36, + 0, 0, 1, 7, 1, 78, 0, 33, 1, 82, 0, 19, 64, 11, 2, 26, 5, 38, 2, 0, 31, 21, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0, 94,255,236, 3,156, 5,238, 2, 38, 0, 68, 0, 0, 1, 6, 1, 78,212, 0, 0, 19, 64, 11, 2, 56, 17, 38, 2, 37, + 61, 51, 12, 34, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0,254, 66, 4,221, 5,188, 2, 38, 0, 36, 0, 0, 1, 7, 1, 81, + 3, 98, 0, 0, 0, 20, 64, 13, 2,128, 39, 1, 48, 39, 1, 0, 39, 39, 0, 0, 37, 1, 43, 93, 93, 53,255,255, 0, 94,254, 66, + 3,184, 4, 94, 2, 38, 0, 68, 0, 0, 1, 7, 1, 81, 2, 90, 0, 0, 0, 32, 64, 22, 2,240, 69, 1,160, 69, 1,144, 69, 1, +128, 69, 1, 48, 69, 1, 0, 69, 69, 0, 0, 37, 1, 43, 93, 93, 93, 93, 93, 53,255,255, 0,125,255,236, 4,152, 7,115, 2, 38, + 0, 38, 0, 0, 1, 7, 0,118, 1, 10, 1, 82, 0, 19, 64, 11, 1, 48, 5, 38, 1,205, 36, 42, 24, 32, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0,113,255,236, 3,111, 6, 33, 2, 38, 0, 70, 0, 0, 1, 6, 0,118, 74, 0, 0, 23, 64, 14, 1, 44, 17, 38, + 1, 16, 32, 1,167, 32, 38, 5, 13, 37, 1, 43, 93, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4,152, 7,115, 2, 38, 0, 38, + 0, 0, 1, 7, 1, 75, 0,180, 1, 82, 0, 19, 64, 11, 1, 36, 5, 38, 1,119, 44, 36, 24, 32, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0,113,255,236, 3,143, 6, 33, 2, 38, 0, 70, 0, 0, 1, 6, 1, 75,245, 0, 0, 23, 64, 14, 1, 32, 17, 38, 1, 16, + 40, 1, 83, 40, 32, 5, 13, 37, 1, 43, 93, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4,152, 7, 55, 2, 38, 0, 38, 0, 0, + 1, 7, 1, 79, 2, 0, 1, 82, 0, 19, 64, 11, 1, 47, 5, 38, 1,128, 36, 44, 24, 32, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0,113,255,236, 3,111, 5,229, 2, 38, 0, 70, 0, 0, 1, 7, 1, 79, 1, 51, 0, 0, 0, 23, 64, 14, 1, 43, 17, 38, 1, 16, + 32, 1, 77, 32, 40, 5, 13, 37, 1, 43, 93, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4,152, 7,115, 2, 38, 0, 38, 0, 0, + 1, 7, 1, 76, 0,168, 1, 82, 0, 19, 64, 11, 1, 41, 5, 38, 1,107, 47, 36, 24, 32, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0,113,255,236, 3,160, 6, 33, 2, 38, 0, 70, 0, 0, 1, 6, 1, 76, 6, 0, 0, 23, 64, 14, 1, 37, 17, 38, 1, 16, 43, 1, +100, 43, 32, 5, 13, 37, 1, 43, 93, 53, 0, 43, 53, 0,255,255, 0,199, 0, 0, 4,252, 7,115, 2, 38, 0, 39, 0, 0, 1, 7, + 1, 76, 0, 74, 1, 82, 0, 21,180, 2, 29, 5, 38, 2,184,255,183,180, 35, 24, 6, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0,113,255,236, 5, 82, 6, 20, 2, 38, 0, 71, 0, 0, 1, 7, 2, 56, 2,217, 0, 0, 0, 11,182, 2, 94, 62, 62, 29, 29, 37, + 1, 43, 53, 0,255,255, 0, 47, 0, 0, 4,252, 5,182, 2, 6, 0,146, 0, 0, 0, 2, 0,113,255,236, 4,158, 6, 20, 0, 39, + 0, 56, 0, 85, 64, 49, 31, 27, 0, 45, 71, 38, 29, 29, 11, 34, 38, 85, 58, 16, 58, 1, 54, 72, 11, 86, 57, 39, 21, 37, 29, 79, + 34, 30, 30, 16, 32, 0, 51, 80, 22, 0, 16, 16, 16, 32, 16, 3, 16, 16, 40, 80, 0, 6, 22, 0, 63, 51,225, 63, 93, 51,225, 63, + 18, 57, 47, 51,225, 50, 63, 1, 16,246,225, 93, 16,230, 50, 17, 57, 47, 16,225, 50, 50, 50, 49, 48, 37, 35, 14, 3, 35, 34, 46, + 2, 53, 52, 62, 2, 51, 50, 30, 2, 23, 51, 38, 39, 38, 38, 53, 53, 33, 53, 33, 53, 51, 21, 51, 21, 35, 17, 35, 37, 50, 62, 2, + 55, 53, 52, 46, 2, 35, 34, 6, 21, 20, 22, 3, 84, 8, 22, 59, 77, 96, 60, 93,154,110, 60, 60,110,154, 93, 59, 96, 77, 60, 22, + 12, 3, 3, 2, 4,254,133, 1,123,182,156,156,147,254,198, 76,105, 65, 31, 2, 27, 65,108, 81,135,127,127,147, 34, 61, 46, 26, + 70,138,204,134,135,206,139, 71, 25, 44, 58, 32, 33, 31, 26, 55, 16,158,137,182,182,137,251, 43,131, 44, 89,133, 90, 39, 97,149, +102, 52,207,195,198,195,255,255, 0,199, 0, 0, 3,190, 6,193, 2, 38, 0, 40, 0, 0, 1, 7, 1, 77, 0, 10, 1, 82, 0, 19, + 64, 11, 1, 14, 5, 38, 1, 2, 12, 13, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 3,225, 5,111, 2, 38, + 0, 72, 0, 0, 1, 6, 1, 77, 0, 0, 0, 19, 64, 11, 2, 42, 17, 38, 2, 17, 40, 41, 5, 15, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0,199, 0, 0, 3,190, 7, 64, 2, 38, 0, 40, 0, 0, 1, 7, 1, 78,255,251, 1, 82, 0, 19, 64, 11, 1, 17, 5, 38, + 1, 6, 22, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 3,225, 5,238, 2, 38, 0, 72, 0, 0, 1, 6, + 1, 78,234, 0, 0, 19, 64, 11, 2, 45, 17, 38, 2, 15, 50, 40, 5, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,199, 0, 0, + 3,190, 7, 26, 2, 38, 0, 40, 0, 0, 1, 7, 1, 79, 1, 63, 1, 53, 0, 19, 64, 11, 1, 23, 5, 38, 1, 7, 12, 20, 1, 0, + 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 3,225, 5,229, 2, 38, 0, 72, 0, 0, 1, 7, 1, 79, 1, 43, 0, 0, + 0, 19, 64, 11, 2, 51, 17, 38, 2, 12, 40, 48, 5, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,199,254, 66, 3,190, 5,182, + 2, 38, 0, 40, 0, 0, 1, 7, 1, 81, 2, 33, 0, 0, 0, 14,185, 0, 1,255,193,180, 18, 18, 0, 0, 37, 1, 43, 53,255,255, + 0,113,254, 97, 3,225, 4, 94, 2, 38, 0, 72, 0, 0, 1, 7, 1, 81, 2, 59, 0, 31, 0, 39, 64, 19, 2,240, 59, 1,224, 59, + 1,160, 59, 1,144, 59, 1, 80, 59, 1, 0, 59, 1,184,255,202,180, 59, 59, 26, 26, 37, 1, 43, 93, 93, 93, 93, 93, 93, 53, 0, +255,255, 0,199, 0, 0, 3,190, 7,115, 2, 38, 0, 40, 0, 0, 1, 7, 1, 76,255,249, 1, 82, 0, 19, 64, 11, 1, 17, 5, 38, + 1, 4, 23, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 3,225, 6, 33, 2, 38, 0, 72, 0, 0, 1, 6, + 1, 76,228, 0, 0, 19, 64, 11, 2, 45, 17, 38, 2, 9, 51, 40, 5, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, + 4,242, 7,115, 2, 38, 0, 42, 0, 0, 1, 7, 1, 75, 0,215, 1, 82, 0, 19, 64, 11, 1, 44, 5, 38, 1,109, 52, 44, 12, 1, + 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 37,254, 20, 3,252, 6, 33, 2, 38, 0, 74, 0, 0, 1, 6, 1, 75,198, 0, 0, 19, + 64, 11, 3, 95, 17, 38, 3, 3,103, 95, 39, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4,242, 7, 64, 2, 38, + 0, 42, 0, 0, 1, 7, 1, 78, 0,201, 1, 82, 0, 19, 64, 11, 1, 49, 5, 38, 1, 95, 54, 44, 12, 1, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0, 37,254, 20, 3,252, 5,238, 2, 38, 0, 74, 0, 0, 1, 6, 1, 78,177, 0, 0, 21,180, 3,100, 17, 38, 3, +184,255,239,180,105, 95, 39, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4,242, 7, 55, 2, 38, 0, 42, 0, 0, + 1, 7, 1, 79, 2, 12, 1, 82, 0, 19, 64, 11, 1, 55, 5, 38, 1, 95, 44, 52, 12, 1, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0, 37,254, 20, 3,252, 5,229, 2, 38, 0, 74, 0, 0, 1, 7, 1, 79, 0,242, 0, 0, 0, 21,180, 3,106, 17, 38, 3,184,255, +236,180, 95,103, 39, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,254, 59, 4,242, 5,203, 2, 38, 0, 42, 0, 0, 1, 7, + 2, 57, 1, 23, 0, 0, 0, 11,182, 1, 81, 44, 50, 12, 1, 37, 1, 43, 53, 0,255,255, 0, 37,254, 20, 3,252, 6, 33, 2, 38, + 0, 74, 0, 0, 1, 6, 2, 58, 45, 0, 0, 19, 64, 11, 3,100, 17, 38, 3, 28,101, 95, 39, 0, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0,199, 0, 0, 4,213, 7,115, 2, 38, 0, 43, 0, 0, 1, 7, 1, 75, 0,127, 1, 82, 0, 21,180, 1, 12, 5, 38, 1, +184,255,255,180, 20, 12, 5, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,174, 0, 0, 4, 18, 7,170, 2, 38, 0, 75, 0, 0, + 1, 7, 1, 75, 0, 43, 1,137, 0, 31, 64, 20,112, 13, 1,112, 12, 1, 1,112, 26, 1, 26, 2, 38, 1, 25, 34, 26, 11, 24, 37, + 1, 43, 53, 0, 43, 93, 53, 93, 93, 0, 0, 2, 0, 0, 0, 0, 5,156, 5,182, 0, 19, 0, 23, 0, 86, 64, 47, 20, 4, 12, 90, + 7, 11,101, 25,176, 25, 1,175, 25, 1, 16, 25, 1, 23, 3, 15, 90, 0, 16,100, 24, 14, 95, 23, 22, 10, 18, 96, 19, 7, 3, 19, + 23, 19, 23, 19, 1, 16, 11, 18, 5, 1, 3, 0, 63, 51, 63, 51, 18, 57, 57, 47, 47, 17, 51, 51, 16,225, 50, 50, 16,225, 1, 16, +246, 50,225, 50, 50, 93, 93, 93, 16,246, 50,225, 50, 50, 49, 48, 19, 53, 51, 21, 33, 53, 51, 21, 51, 21, 35, 17, 35, 17, 33, 17, + 35, 17, 35, 53, 1, 53, 33, 21,199,186, 2,154,186,199,199,186,253,102,186,199, 4, 27,253,102, 4,195,243,243,243,243,150,251, +211, 2,170,253, 86, 4, 45,150,254,139,223,223, 0, 1, 0, 18, 0, 0, 4, 18, 6, 20, 0, 33, 0, 85, 64, 52, 19, 11, 0, 71, + 33, 85, 35, 16, 35, 96, 35,128, 35, 3, 23, 22, 18, 10, 71, 15, 11, 84, 34, 21, 13, 79, 18,191, 14,207, 14, 2, 14, 14, 16, 23, + 4, 80, 0, 29, 16, 29, 32, 29, 3, 29, 16, 16, 0, 11, 0, 21, 0, 63, 50, 63, 63, 93,225, 51, 18, 57, 47, 93, 51,225, 50, 1, + 16,246, 50,225, 50, 50, 50, 93, 16,246,225, 18, 57, 49, 48, 33, 17, 52, 38, 35, 34, 14, 2, 21, 17, 35, 17, 35, 53, 51, 53, 51, + 21, 33, 21, 33, 21, 7, 51, 62, 3, 51, 50, 22, 21, 17, 3, 92,105,112, 81,110, 67, 29,182,156,156,182, 1,123,254,133, 8, 10, + 25, 69, 82, 92, 48,183,185, 2,154,130,130, 52,102,148, 96,253,240, 4,213,137,182,182,137,184,144, 43, 63, 42, 20,191,210,253, + 92, 0,255,255,255,245, 0, 0, 2,196, 7, 53, 2, 38, 0, 44, 0, 0, 1, 7, 1, 82,254,243, 1, 82, 0, 19, 64, 11, 1, 20, + 5, 38, 1, 1, 21, 35, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255,255,163, 0, 0, 2,114, 5,227, 2, 38, 0,243, 0, 0, + 1, 7, 1, 82,254,161, 0, 0, 0, 19, 64, 11, 1, 12, 17, 38, 1, 1, 13, 27, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0, 61, 0, 0, 2,124, 6,193, 2, 38, 0, 44, 0, 0, 1, 7, 1, 77,255, 34, 1, 82, 0, 19, 64, 11, 1, 14, 5, 38, 1, 1, + 12, 13, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255,255,235, 0, 0, 2, 42, 5,111, 2, 38, 0,243, 0, 0, 1, 7, 1, 77, +254,208, 0, 0, 0, 19, 64, 11, 1, 6, 17, 38, 1, 1, 4, 5, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 48, 0, 0, + 2,138, 7, 64, 2, 38, 0, 44, 0, 0, 1, 7, 1, 78,255, 15, 1, 82, 0, 19, 64, 11, 1, 17, 5, 38, 1, 2, 22, 12, 1, 0, + 37, 1, 43, 53, 0, 43, 53, 0,255,255,255,222, 0, 0, 2, 56, 5,238, 2, 38, 0,243, 0, 0, 1, 7, 1, 78,254,189, 0, 0, + 0, 19, 64, 11, 1, 9, 17, 38, 1, 2, 14, 4, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82,254, 66, 2,100, 5,182, + 2, 38, 0, 44, 0, 0, 1, 7, 1, 81, 0,156, 0, 0, 0, 11,182, 1, 0, 25, 18, 1, 0, 37, 1, 43, 53, 0,255,255, 0, 68, +254, 66, 1,131, 5,229, 2, 38, 0, 76, 0, 0, 1, 6, 1, 81, 37, 0, 0, 16, 64, 10, 2,111, 37, 1, 0, 37, 37, 0, 0, 37, + 1, 43, 93, 53,255,255, 0, 82, 0, 0, 2,100, 7, 55, 2, 38, 0, 44, 0, 0, 1, 7, 1, 79, 0, 80, 1, 82, 0, 19, 64, 11, + 1, 23, 5, 38, 1, 0, 12, 20, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,174, 0, 0, 1,100, 4, 74, 0, 3, 0, 26, + 64, 14, 16, 5, 32, 5, 2, 0, 71, 1, 84, 4, 2, 15, 0, 21, 0, 63, 63, 1, 16,246,225, 93, 49, 48, 33, 35, 17, 51, 1,100, +182,182, 4, 74,255,255, 0, 82,254,123, 4, 41, 5,182, 0, 38, 0, 44, 0, 0, 1, 7, 0, 45, 2,182, 0, 0, 0, 56, 64, 14, + 1, 24,127, 24, 1, 79, 24, 1, 24, 64, 7, 7, 72, 24,184,255,192, 64, 23, 6, 6, 72,191, 33, 1,160, 33, 1,143, 33, 1, 80, + 33, 1, 15, 33, 1, 33, 64, 7, 7, 72, 43, 93, 93, 93, 93, 93, 43, 43, 93, 93, 17, 53,255,255, 0,160,254, 20, 3,135, 5,229, + 0, 38, 0, 76, 0, 0, 1, 7, 0, 77, 2, 18, 0, 0, 0, 46, 64, 32, 3, 2, 30,207, 30, 1,223, 53, 1,159, 53, 1,128, 53, + 1, 95, 53, 1, 64, 53, 1, 32, 53, 1, 0, 53, 1, 53, 64, 6, 6, 72, 43, 93, 93, 93, 93, 93, 93, 93, 93, 17, 53, 53,255,255, +255, 72,254,123, 2,100, 7,115, 2, 38, 0, 45, 0, 0, 1, 7, 1, 75,254,202, 1, 82, 0, 19, 64, 11, 1, 20, 5, 38, 1, 0, + 28, 20, 13, 14, 37, 1, 43, 53, 0, 43, 53, 0,255,255,255,188,254, 20, 2, 87, 6, 33, 2, 38, 2, 55, 0, 0, 1, 7, 1, 75, +254,189, 0, 0, 0, 19, 64, 11, 1, 20, 17, 38, 1, 0, 28, 20, 13, 14, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,199,254, 59, + 4,162, 5,182, 2, 38, 0, 46, 0, 0, 1, 6, 2, 57,115, 0, 0, 14,185, 0, 1,255,177,180, 13, 19, 5, 0, 37, 1, 43, 53, +255,255, 0,174,254, 59, 3,240, 6, 20, 2, 38, 0, 78, 0, 0, 1, 6, 2, 57, 33, 0, 0, 14,185, 0, 1,255,196,180, 15, 21, + 10, 5, 37, 1, 43, 53, 0, 1, 0,174, 0, 0, 3,240, 4, 74, 0, 17, 0, 73, 64, 10, 1, 16, 16, 14, 15, 15, 68, 17, 1, 17, +184,255,192, 64, 28, 7, 10, 72, 17, 16, 17, 17, 19, 15, 19, 47, 19, 2, 7, 7, 3, 71, 4, 84, 18, 12, 1, 14, 5, 15, 4, 0, + 21, 0, 63, 50, 63, 51, 57, 57, 1, 16,246,225, 50, 94, 93, 17, 51, 47, 56, 43, 93, 51, 17, 51, 57, 17, 51, 49, 48, 33, 1, 7, + 17, 35, 17, 51, 17, 20, 6, 7, 6, 7, 55, 1, 51, 1, 1, 3, 35,254,172,109,180,180, 5, 3, 4, 4,131, 1, 51,205,254,111, + 1,172, 1,233, 81,254,104, 4, 74,254,231, 60,102, 38, 44, 36,176, 1,129,254, 22,253,160, 0,255,255, 0,199, 0, 0, 3,190, + 7,115, 2, 38, 0, 47, 0, 0, 1, 7, 0,118,255,101, 1, 82, 0, 21,180, 1, 18, 5, 38, 1,184,255,112,180, 6, 12, 0, 4, + 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,171, 0, 0, 2, 52, 7,172, 2, 38, 0, 79, 0, 0, 1, 7, 0,118,255, 34, 1,139, + 0, 31, 64, 20,112, 3, 1,112, 2, 1, 1,112, 16, 1, 16, 2, 38, 1,102, 4, 10, 1, 0, 37, 1, 43, 53, 0, 43, 93, 53, 93, + 93, 0,255,255, 0,199,254, 59, 3,190, 5,182, 2, 38, 0, 47, 0, 0, 1, 6, 2, 57, 45, 0, 0, 14,185, 0, 1,255,221,180, + 6, 12, 0, 4, 37, 1, 43, 53,255,255, 0,102,254, 59, 1,108, 6, 20, 2, 38, 0, 79, 0, 0, 1, 7, 2, 57,254,247, 0, 0, + 0, 14,185, 0, 1,255,224,180, 4, 10, 1, 0, 37, 1, 43, 53,255,255, 0,199, 0, 0, 3,190, 5,183, 2, 38, 0, 47, 0, 0, + 1, 7, 2, 56, 1, 0,255,163, 0, 22, 64, 13, 1, 11, 3, 1, 16, 6, 1, 96, 6, 12, 2, 4, 37, 1, 43, 93, 53, 0, 63, 53, +255,255, 0,174, 0, 0, 2,180, 6, 20, 2, 38, 0, 79, 0, 0, 1, 6, 2, 56, 59, 0, 0, 24, 64, 17, 1, 4, 64, 14, 16, 72, + 4, 64, 6, 9, 72, 94, 4, 4, 3, 3, 37, 1, 43, 43, 43, 53,255,255, 0,199, 0, 0, 3,190, 5,182, 2, 38, 0, 47, 0, 0, + 1, 7, 1, 79, 1,227,253,101, 0, 11,182, 1,171, 6, 14, 0, 4, 37, 1, 43, 53, 0,255,255, 0,174, 0, 0, 2,162, 6, 20, + 0, 38, 0, 79, 0, 0, 1, 7, 1, 79, 1, 45,253, 56, 0, 43, 64, 22,255, 19, 1,239, 19, 1,159, 19, 1,143, 19, 1,127, 19, + 1, 95, 19, 1, 31, 19, 1, 1,184, 1, 46,180, 4, 12, 1, 0, 37, 1, 43, 53, 93, 93, 93, 93, 93, 93, 93, 0, 0, 1, 0, 29, + 0, 0, 3,190, 5,182, 0, 13, 0, 97, 64, 50, 11, 6, 5, 12, 5, 0, 3, 4, 13, 4, 4, 5, 5, 10, 8, 8, 15,175, 15, 1, + 16, 15, 1, 12, 13, 13, 6, 3, 7, 90, 11, 0, 10,100, 14, 5, 4, 13, 12, 4, 12, 4, 12, 1, 7, 95, 10, 18, 1, 3, 0, 63, + 63,225, 18, 57, 57, 47, 47, 17, 51, 17, 51, 1, 16,246, 50, 50,225, 50, 50, 51, 47, 51, 93, 93, 17, 51, 17, 18, 57, 47, 51, 16, +125,135, 4,196,196, 16,135,196,196, 49, 48, 19, 17, 51, 17, 55, 23, 5, 17, 33, 21, 33, 17, 7, 39,199,186,227, 78,254,207, 2, + 61,253, 9, 97, 73, 2,164, 3, 18,253, 99,143,125,190,254, 57,166, 1,248, 60,125, 0, 0, 1,255,246, 0, 0, 2, 29, 6, 20, + 0, 11, 0,105, 64, 59, 64, 13, 80, 13, 2, 9, 6, 5, 10, 5, 0, 3, 4, 11, 10, 11, 11, 8, 4,221, 5, 1,187, 5,203, 5, + 2, 15, 5, 31, 5, 47, 5, 3, 6, 5, 5, 6, 3, 7, 71, 9, 0, 8, 84, 12, 11, 10, 5, 4, 10, 4, 10, 4, 1, 7, 21, 1, + 0, 0, 63, 63, 18, 57, 57, 47, 47, 17, 51, 17, 51, 1, 16,246, 50, 50,225, 50, 50, 50, 47, 94, 93, 93, 93, 51, 17, 51, 47, 51, +125,135, 4,196,196, 16,135,196,196, 1, 93, 49, 48, 19, 17, 51, 17, 55, 23, 7, 17, 35, 17, 7, 39,174,182,107, 78,185,182,106, + 78, 2,246, 3, 30,253, 89, 69,121,120,253, 63, 2, 74, 70,121,255,255, 0,199, 0, 0, 5, 14, 7,115, 2, 38, 0, 49, 0, 0, + 1, 7, 0,118, 0,242, 1, 82, 0, 19, 64, 11, 1, 36, 5, 38, 1, 85, 24, 30, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0,174, 0, 0, 4, 18, 6, 33, 2, 38, 0, 81, 0, 0, 1, 6, 0,118,111, 0, 0, 19, 64, 11, 1, 37, 17, 38, 1, 92, 25, 31, + 11, 23, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,199,254, 59, 5, 14, 5,182, 2, 38, 0, 49, 0, 0, 1, 7, 2, 57, 0,217, + 0, 0, 0, 14,185, 0, 1,255,225,180, 24, 30, 10, 0, 37, 1, 43, 53,255,255, 0,174,254, 59, 4, 18, 4, 94, 2, 38, 0, 81, + 0, 0, 1, 6, 2, 57, 76, 0, 0, 14,185, 0, 1,255,222,180, 25, 31, 11, 23, 37, 1, 43, 53,255,255, 0,199, 0, 0, 5, 14, + 7,115, 2, 38, 0, 49, 0, 0, 1, 7, 1, 76, 0,156, 1, 82, 0, 19, 64, 11, 1, 29, 5, 38, 1, 0, 35, 24, 10, 0, 37, 1, + 43, 53, 0, 43, 53, 0,255,255, 0,174, 0, 0, 4, 18, 6, 33, 2, 38, 0, 81, 0, 0, 1, 6, 1, 76, 12, 0, 0, 21,180, 1, + 30, 17, 38, 1,184,255,250,180, 36, 25, 11, 23, 37, 1, 43, 53, 0, 43, 53, 0,255,255,255,255, 0, 0, 4,161, 5,182, 0, 39, + 0, 81, 0,143, 0, 0, 1, 6, 2, 7,232, 0, 0, 41, 64, 29, 0, 24, 85, 39,239, 39, 1,191, 39, 1,159, 39, 1, 95, 39, 1, + 47, 39, 1, 39, 64, 8, 8, 72, 39, 64, 6, 6, 72, 43, 43, 93, 93, 93, 93, 93, 16,246, 52, 0, 0, 1, 0,199,254,123, 5, 14, + 5,182, 0, 37, 0, 74, 64, 42, 24, 12, 31, 90, 32, 4, 4, 21, 32,101, 39,176, 39, 1,143, 39, 1, 0, 39, 16, 39, 2, 23, 19, + 14, 20, 90, 21,100, 38, 31, 13, 22, 3, 21, 18, 24, 12, 18, 7, 95, 0, 0, 47,225, 63, 51, 63, 63, 51, 51, 1, 16,246,225, 50, + 50, 50, 93, 93, 93, 16,230, 17, 57, 47, 16,225, 50, 50, 49, 48, 1, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 53, 1, 35, 22, 23, + 22, 22, 21, 17, 35, 17, 51, 1, 51, 38, 39, 38, 38, 53, 17, 51, 17, 20, 14, 2, 3,139, 51, 77, 27, 34, 78, 45, 37, 75, 61, 38, +253, 8, 8, 6, 4, 4, 5,172,213, 2,204, 7, 3, 4, 3, 5,174, 55,100,143,254,123, 13, 11,160, 9, 11, 19, 50, 88, 68, 4, +186, 77, 76, 65,142, 57,252,231, 5,182,251,117, 65, 65, 56,125, 52, 3, 32,250, 94,105,154,101, 49, 0, 0, 1, 0,174,254, 20, + 4, 18, 4, 94, 0, 40, 0, 58, 64, 34, 3, 3, 23, 12, 71, 36, 85, 42, 16, 42, 96, 42,128, 42, 3, 26, 22, 71, 23, 84, 41, 26, + 16, 80, 32, 16, 24, 15, 23, 21, 7, 80, 0, 27, 0, 63,225, 63, 63, 63,225, 51, 1, 16,246,225, 50, 93, 16,246,225, 17, 57, 47, + 49, 48, 1, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 53, 19, 52, 38, 35, 34, 14, 2, 21, 17, 35, 17, 51, 23, 51, 62, 3, 51, 50, + 22, 21, 3, 20, 14, 2, 2,238, 48, 63, 23, 26, 54, 35, 27, 46, 35, 19, 2,105,112, 81,110, 67, 29,182,148, 26, 10, 25, 69, 82, + 92, 48,183,185, 2, 34, 72,109,254, 20, 14, 11,148, 10, 11, 15, 39, 65, 51, 3,109,130,130, 52,102,148, 96,253,199, 4, 74,148, + 43, 63, 42, 20,191,210,252,149, 77,123, 87, 47,255,255, 0,125,255,236, 5,113, 6,193, 2, 38, 0, 50, 0, 0, 1, 7, 1, 77, + 0,188, 1, 82, 0, 19, 64, 11, 2, 42, 5, 38, 2, 0, 40, 41, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, + 4, 45, 5,111, 2, 38, 0, 82, 0, 0, 1, 6, 1, 77, 20, 0, 0, 19, 64, 11, 2, 34, 17, 38, 2, 0, 32, 33, 10, 0, 37, 1, + 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 5,113, 7, 64, 2, 38, 0, 50, 0, 0, 1, 7, 1, 78, 0,170, 1, 82, 0, 19, + 64, 11, 2, 45, 5, 38, 2, 1, 50, 40, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 4, 45, 5,238, 2, 38, + 0, 82, 0, 0, 1, 6, 1, 78, 0, 0, 0, 21,180, 2, 37, 17, 38, 2,184,255,255,180, 42, 32, 10, 0, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0,125,255,236, 5,113, 7,115, 2, 38, 0, 50, 0, 0, 1, 7, 1, 83, 0,236, 1, 82, 0, 23, 64, 13, 3, 2, + 52, 5, 38, 3, 2, 67, 40, 60, 10, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,113,255,236, 4, 45, 6, 33, 2, 38, + 0, 82, 0, 0, 1, 6, 1, 83, 70, 0, 0, 23, 64, 13, 3, 2, 44, 17, 38, 3, 2, 69, 32, 52, 10, 0, 37, 1, 43, 53, 53, 0, + 43, 53, 53, 0, 0, 2, 0,125,255,236, 6,164, 5,205, 0, 25, 0, 42, 0, 91, 64, 54, 20, 22, 1, 22, 22, 0, 20, 24, 90, 39, + 39, 9, 18, 0,103, 44, 31, 44, 1, 31, 91, 9,102, 43, 23, 95, 79, 20, 1, 15, 20,175, 20, 2, 8, 20, 20, 25, 18, 95, 17, 3, + 26, 95, 14, 4, 36, 95, 4, 19, 25, 95, 0, 18, 0, 63,225, 63,225, 63,225, 63,225, 18, 57, 47, 94, 93,113,225, 1, 16,246,225, + 93, 16,230, 50, 17, 57, 47,225, 50, 17, 57, 47, 93, 49, 48, 33, 33, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 23, + 33, 21, 33, 17, 33, 21, 33, 17, 33, 1, 34, 14, 2, 21, 20, 30, 2, 51, 50, 54, 55, 17, 38, 38, 6,164,253, 10, 43, 91, 48,163, +239,157, 76, 76,158,240,163, 98, 84, 2,244,253,194, 2, 23,253,233, 2, 62,252, 86,114,166,108, 52, 52,107,165,114, 52, 90, 38, + 38, 89, 9, 11,108,198, 1, 23,170,170, 1, 21,196,107, 23,164,254, 60,162,253,248, 4,133, 81,151,218,138,137,219,153, 81, 18, + 15, 4, 88, 16, 17, 0, 0, 3, 0,113,255,236, 6,225, 4, 94, 0, 42, 0, 54, 0, 63, 0,100, 64, 59, 19, 3, 63, 29, 72,208, + 49, 1, 49, 49, 11, 55, 72, 37, 28, 87, 65, 15, 65, 1,255, 65, 1, 64, 65, 1, 43, 72, 11, 86, 64, 29, 80, 27, 63, 43, 63, 2, + 15, 63, 1, 6, 63, 63, 46, 60, 52, 80, 22, 19, 16, 16, 32, 46, 80, 3, 0, 6, 22, 0, 63, 51, 51,225, 50, 63, 51, 51,225, 50, + 18, 57, 47, 94, 93, 93,225, 1, 16,246,225, 93, 93,113, 16,246, 50,225, 17, 57, 47, 93,225, 50, 57, 57, 49, 48, 5, 34, 38, 39, + 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 54, 54, 51, 50, 30, 2, 21, 21, 33, 22, 22, 51, 50, 62, 2, 55, 21, 14, + 3, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 5, 52, 46, 2, 35, 34, 6, 7, 5, 96,130,204, 65, 63,198,128,103,174,127, + 71, 67,124,179,111,121,195, 63, 60,185,117, 99,158,110, 59,253, 76, 5,153,151, 51, 87, 81, 76, 39, 40, 77, 81, 87,251,154,137, +154,150,139,140,151,154,135, 4,240, 27, 57, 88, 62,114,133, 11, 20,112,109,109,112, 76,145,213,137,136,211,145, 75,111,106,105, +112, 71,129,181,110,113,193,182, 10, 19, 29, 18,162, 19, 28, 18, 8, 2, 59,209,211,201,209,220,206,207, 98, 68,113, 80, 44,156, +149, 0,255,255, 0,199, 0, 0, 4,160, 7,115, 2, 38, 0, 53, 0, 0, 1, 7, 0,118, 0, 84, 1, 82, 0, 21,180, 2, 41, 5, + 38, 2,184,255,238,180, 29, 35, 2, 13, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,174, 0, 0, 3, 8, 6, 33, 2, 38, 0, 85, + 0, 0, 1, 6, 0,118,206, 0, 0, 19, 64, 11, 1, 35, 17, 38, 1, 64, 23, 29, 14, 3, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0,199,254, 59, 4,160, 5,182, 2, 38, 0, 53, 0, 0, 1, 6, 2, 57,119, 0, 0, 14,185, 0, 2,255,182,180, 29, 35, 2, 13, + 37, 1, 43, 53,255,255, 0, 96,254, 59, 3, 8, 4, 94, 2, 38, 0, 85, 0, 0, 1, 7, 2, 57,254,241, 0, 0, 0, 14,185, 0, + 1,255, 8,180, 23, 29, 14, 3, 37, 1, 43, 53,255,255, 0,199, 0, 0, 4,160, 7,115, 2, 38, 0, 53, 0, 0, 1, 7, 1, 76, + 0, 14, 1, 82, 0, 21,180, 2, 34, 5, 38, 2,184,255,169,180, 40, 29, 2, 13, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,114, + 0, 0, 3, 10, 6, 33, 2, 38, 0, 85, 0, 0, 1, 7, 1, 76,255,112, 0, 0, 0, 21,180, 1, 28, 17, 38, 1,184,255,227,180, + 34, 23, 14, 3, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,104,255,236, 3,201, 7,115, 2, 38, 0, 54, 0, 0, 1, 7, 0,118, + 0, 59, 1, 82, 0, 19, 64, 11, 1, 64, 5, 38, 1,112, 52, 58, 8, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 90,255,236, + 3, 63, 6, 33, 2, 38, 0, 86, 0, 0, 1, 6, 0,118,220, 0, 0, 19, 64, 11, 1, 66, 17, 38, 1, 93, 54, 60, 8, 0, 37, 1, + 43, 53, 0, 43, 53, 0,255,255, 0,104,255,236, 3,201, 7,115, 2, 38, 0, 54, 0, 0, 1, 7, 1, 75,255,237, 1, 82, 0, 19, + 64, 11, 1, 52, 5, 38, 1, 34, 60, 52, 8, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 90,255,236, 3, 63, 6, 33, 2, 38, + 0, 86, 0, 0, 1, 6, 1, 75,155, 0, 0, 19, 64, 11, 1, 54, 17, 38, 1, 28, 62, 54, 8, 0, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0,104,254, 20, 3,201, 5,203, 2, 38, 0, 54, 0, 0, 1, 7, 0,122, 1, 53, 0, 0, 0, 14,185, 0, 1,255,250,180, + 58, 52, 8, 0, 37, 1, 43, 53,255,255, 0, 90,254, 20, 3, 63, 4, 94, 2, 38, 0, 86, 0, 0, 1, 7, 0,122, 0,240, 0, 0, + 0, 11,182, 1, 1, 60, 54, 8, 0, 37, 1, 43, 53, 0,255,255, 0,104,255,236, 3,201, 7,115, 2, 38, 0, 54, 0, 0, 1, 7, + 1, 76,255,230, 1, 82, 0, 19, 64, 11, 1, 57, 5, 38, 1, 27, 63, 52, 8, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 90, +255,236, 3, 63, 6, 33, 2, 38, 0, 86, 0, 0, 1, 6, 1, 76,151, 0, 0, 19, 64, 11, 1, 59, 17, 38, 1, 24, 65, 54, 8, 0, + 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 20,254, 59, 4, 18, 5,182, 2, 38, 0, 55, 0, 0, 1, 6, 2, 57,249, 0, 0, 14, +185, 0, 1,255,216,180, 8, 14, 3, 5, 37, 1, 43, 53,255,255, 0, 33,254, 59, 2,143, 5, 70, 2, 38, 0, 87, 0, 0, 1, 7, + 2, 57,255, 93, 0, 0, 0, 14,185, 0, 1,255,247,180, 30, 36, 18, 5, 37, 1, 43, 53,255,255, 0, 20, 0, 0, 4, 18, 7,115, + 2, 38, 0, 55, 0, 0, 1, 7, 1, 76,255,200, 1, 82, 0, 19, 64, 11, 1, 13, 5, 38, 1, 3, 19, 8, 3, 5, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 0, 33,255,236, 2,232, 6, 20, 2, 38, 0, 87, 0, 0, 1, 6, 2, 56,111, 0, 0, 11,182, 1, 97, 36, + 36, 24, 24, 37, 1, 43, 53, 0, 0, 1, 0, 20, 0, 0, 4, 18, 5,182, 0, 15, 0,115, 64, 76, 31, 17, 1,224, 17, 1, 95, 17, +223, 17, 2, 32, 17, 48, 17, 64, 17, 3, 8,191, 5,255, 5, 2, 5, 5, 10, 6, 90, 1, 15, 1, 80, 2,240, 2, 2, 31, 2, 1, + 2, 2, 13,119, 1,135, 1,151, 1, 3, 49, 1, 1, 0, 1, 16, 1, 32, 1, 3, 7, 1, 10, 13, 96, 7, 0, 0, 3, 11, 18, 6, + 2, 95, 3, 3, 0, 63,225, 50, 63, 18, 57, 47, 51,225, 50, 1, 47, 94, 93, 93, 93, 51, 51, 47, 93, 93, 18, 57, 16,225, 50, 50, + 47, 93, 57, 93, 93, 93,113, 49, 48, 1, 17, 33, 53, 33, 21, 33, 17, 33, 21, 33, 17, 35, 17, 33, 53, 1,182,254, 94, 3,254,254, + 95, 1, 39,254,217,187,254,215, 3, 51, 1,223,164,164,254, 33,149,253, 98, 2,158,149, 0, 1, 0, 33,255,236, 2,143, 5, 70, + 0, 37, 0,106,182, 20, 31, 1, 32, 28, 28, 5,184,255,192, 64, 55, 8, 11, 72, 5, 5, 39, 47, 39, 63, 39, 2, 31, 27, 35, 71, + 19, 15, 22, 31, 22, 2, 22, 24, 20, 0, 16, 16, 16,160, 16,176, 16,192, 16, 5, 7, 16, 17, 34, 79, 20, 31, 31, 11, 21, 30, 79, + 26, 24, 27, 15, 0, 80, 11, 22, 0, 63,225, 63, 51, 51,225, 50, 18, 57, 47, 51,225, 50, 1, 47, 94, 93, 51, 51,196, 93, 50,225, + 50, 50, 93, 17, 51, 47, 43, 51, 17, 51, 0, 93, 49, 48, 37, 50, 62, 2, 55, 21, 14, 3, 35, 34, 46, 2, 53, 53, 35, 53, 51, 53, + 35, 53, 55, 55, 51, 21, 33, 21, 33, 21, 33, 21, 33, 21, 20, 22, 1,250, 18, 45, 42, 35, 9, 13, 40, 48, 52, 25, 62,106, 77, 44, +139,139,155,155, 78,105, 1, 20,254,236, 1, 2,254,254, 63,129, 4, 6, 8, 3,138, 6, 12, 9, 5, 32, 78,133,101,251,138,248, + 81, 78,230,252,137,248,138,251, 97, 98,255,255, 0,184,255,236, 4,221, 7, 53, 2, 38, 0, 56, 0, 0, 1, 7, 1, 82, 0, 96, + 1, 82, 0, 21,180, 1, 32, 5, 38, 1,184,255,255,180, 33, 47, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164,255,236, + 4, 8, 5,227, 2, 38, 0, 88, 0, 0, 1, 6, 1, 82,243, 0, 0, 19, 64, 11, 1, 35, 17, 38, 1, 6, 36, 50, 12, 25, 37, 1, + 43, 53, 0, 43, 53, 0,255,255, 0,184,255,236, 4,221, 6,193, 2, 38, 0, 56, 0, 0, 1, 7, 1, 77, 0,143, 1, 82, 0, 21, +180, 1, 26, 5, 38, 1,184,255,255,180, 24, 25, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164,255,236, 4, 8, 5,111, + 2, 38, 0, 88, 0, 0, 1, 6, 1, 77, 33, 0, 0, 19, 64, 11, 1, 29, 17, 38, 1, 5, 27, 28, 12, 25, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0,184,255,236, 4,221, 7, 64, 2, 38, 0, 56, 0, 0, 1, 7, 1, 78, 0,125, 1, 82, 0, 19, 64, 11, 1, 29, + 5, 38, 1, 0, 34, 24, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164,255,236, 4, 8, 5,238, 2, 38, 0, 88, 0, 0, + 1, 6, 1, 78, 12, 0, 0, 19, 64, 11, 1, 32, 17, 38, 1, 4, 37, 27, 12, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,184, +255,236, 4,221, 7,217, 2, 38, 0, 56, 0, 0, 1, 7, 1, 80, 0,123, 1, 82, 0, 23, 64, 13, 2, 1, 29, 5, 38, 2, 1, 0, + 34, 24, 11, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,164,255,236, 4, 8, 6,135, 2, 38, 0, 88, 0, 0, 1, 6, + 1, 80, 12, 0, 0, 23, 64, 13, 2, 1, 32, 17, 38, 2, 1, 5, 37, 27, 12, 25, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, + 0,184,255,236, 4,221, 7,115, 2, 38, 0, 56, 0, 0, 1, 7, 1, 83, 0,178, 1, 82, 0, 23, 64, 13, 2, 1, 36, 5, 38, 2, + 1, 54, 24, 44, 11, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,164,255,236, 4, 14, 6, 33, 2, 38, 0, 88, 0, 0, + 1, 6, 1, 83, 80, 0, 0, 23, 64, 13, 2, 1, 39, 17, 38, 2, 1, 72, 27, 47, 12, 25, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, +255,255, 0,184,254, 66, 4,221, 5,184, 2, 38, 0, 56, 0, 0, 1, 7, 1, 81, 2, 25, 0, 0, 0, 11,182, 1, 13, 37, 30, 11, + 0, 37, 1, 43, 53, 0,255,255, 0,164,254, 66, 4, 22, 4, 74, 2, 38, 0, 88, 0, 0, 1, 7, 1, 81, 2,184, 0, 0, 0, 11, +182, 1, 14, 33, 33, 26, 26, 37, 1, 43, 53, 0,255,255, 0, 20, 0, 0, 6,254, 7,115, 2, 38, 0, 58, 0, 0, 1, 7, 1, 75, + 1, 59, 1, 82, 0, 19, 64, 11, 1, 43, 5, 38, 1, 0, 51, 43, 30, 14, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 20, 0, 0, + 5,227, 6, 33, 2, 38, 0, 90, 0, 0, 1, 7, 1, 75, 0,174, 0, 0, 0, 19, 64, 11, 1, 48, 17, 38, 1, 0, 56, 48, 17, 46, + 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0, 0, 0, 4, 55, 7,115, 2, 38, 0, 60, 0, 0, 1, 7, 1, 75,255,208, 1, 82, + 0, 19, 64, 11, 1, 9, 5, 38, 1, 2, 17, 9, 7, 2, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 10,254, 20, 3,223, 6, 33, + 2, 38, 0, 92, 0, 0, 1, 6, 1, 75,169, 0, 0, 19, 64, 11, 1, 35, 17, 38, 1, 2, 43, 35, 0, 15, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0, 0, 0, 0, 4, 55, 7, 43, 2, 38, 0, 60, 0, 0, 1, 7, 0,106,255,206, 1, 82, 0, 23, 64, 13, 2, 1, + 18, 5, 38, 2, 1, 1, 9, 29, 7, 2, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 82, 0, 0, 3,254, 7,115, 2, 38, + 0, 61, 0, 0, 1, 7, 0,118, 0, 57, 1, 82, 0, 19, 64, 11, 1, 22, 5, 38, 1, 94, 10, 16, 1, 0, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0, 82, 0, 0, 3, 53, 6, 33, 2, 38, 0, 93, 0, 0, 1, 6, 0,118,214, 0, 0, 19, 64, 11, 1, 22, 17, 38, + 1, 96, 10, 16, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82, 0, 0, 3,254, 7, 55, 2, 38, 0, 61, 0, 0, 1, 7, + 1, 79, 1, 41, 1, 82, 0, 19, 64, 11, 1, 21, 5, 38, 1, 11, 10, 18, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82, + 0, 0, 3, 53, 5,229, 2, 38, 0, 93, 0, 0, 1, 7, 1, 79, 0,205, 0, 0, 0, 19, 64, 11, 1, 21, 17, 38, 1, 20, 10, 18, + 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82, 0, 0, 3,254, 7,115, 2, 38, 0, 61, 0, 0, 1, 7, 1, 76,255,224, + 1, 82, 0, 19, 64, 11, 1, 15, 5, 38, 1, 6, 21, 10, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82, 0, 0, 3, 53, + 6, 33, 2, 38, 0, 93, 0, 0, 1, 6, 1, 76,134, 0, 0, 19, 64, 11, 1, 15, 17, 38, 1, 16, 21, 10, 1, 0, 37, 1, 43, 53, + 0, 43, 53, 0, 0, 1, 0,174, 0, 0, 2,190, 6, 31, 0, 19, 0, 37, 64, 21, 9, 9, 21, 0, 21, 16, 21, 32, 21, 3, 19, 71, + 0, 84, 20, 13, 80, 6, 1, 0, 21, 0, 63, 63,225, 1, 16,246,225, 93, 17, 51, 47, 49, 48, 51, 17, 52, 62, 2, 51, 50, 22, 23, + 7, 38, 38, 35, 34, 14, 2, 21, 17,174, 45, 85,124, 78, 59, 99, 38, 47, 31, 72, 40, 40, 58, 39, 19, 4,176,107,141, 84, 35, 23, + 14,141, 11, 17, 19, 48, 83, 65,251, 78, 0, 1, 0,203,254, 20, 3,233, 5,203, 0, 43, 0, 74, 64, 42, 48, 45, 1, 41, 31, 31, + 1, 71, 18, 22, 18, 20, 20, 18, 10, 10, 0, 18, 16, 18, 48, 18, 64, 18, 4, 7, 18, 19, 0, 96, 22, 41, 41, 13, 35, 80, 28, 7, + 13, 80, 6, 27, 0, 63,225, 63,225, 18, 57, 47, 51,225, 50, 1, 47, 94, 93, 51, 47, 17, 51, 47, 17, 51, 16,225, 50, 47, 50, 93, + 49, 48, 1, 17, 20, 14, 2, 35, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 53, 17, 35, 53, 55, 53, 52, 62, 2, 51, 50, 22, 23, 7, + 38, 38, 35, 34, 14, 2, 21, 21, 51, 21, 2,143, 45, 85,123, 78, 32, 61, 28, 26, 57, 31, 40, 59, 38, 19,194,194, 45, 85,124, 78, + 59, 99, 38, 47, 31, 72, 40, 40, 58, 39, 19,246, 3, 68,252, 63,107,141, 84, 35, 9, 6,153, 8, 10, 19, 48, 83, 65, 3,195, 75, + 68,137,107,141, 84, 35, 23, 14,141, 11, 17, 19, 48, 83, 65,145,137, 0, 0, 4, 0, 0, 0, 0, 4,221, 7,170, 0, 22, 0, 35, + 0, 49, 0, 62, 1, 1, 64, 94,137, 41, 1, 41,190, 42, 42, 48, 49, 49, 29, 56,131, 15, 13, 31, 13, 2, 16, 13, 32, 13, 2, 13, + 13, 86, 35,102, 35, 2, 35, 7, 8, 89, 23,105, 23, 2, 6, 23, 5, 29, 50,131, 15, 0, 31, 0,111, 0, 3, 0, 0,214, 10, 1, + 55, 10, 71, 10, 87, 10,199, 10, 4, 10,217, 3, 1, 56, 3, 72, 3, 88, 3,200, 3, 4, 3, 29, 29, 9, 5, 16, 4, 1,128, 4, +144, 4,208, 4, 3, 4,184,255,192, 64, 24, 6, 10, 72, 4, 16, 4, 4, 64, 15, 64, 31, 64, 47, 64,143, 64,159, 64,223, 64, 6, + 7, 8, 9,184,255,240, 64, 49, 9, 7, 95, 35, 29, 32, 10, 14, 72, 29, 10, 3, 60, 25, 53, 1, 53,140, 18, 16, 60, 1,143, 18, +239, 18, 2, 96, 18, 1, 16, 49, 32, 49, 2, 35, 60, 18, 49, 49, 18, 60, 35, 4, 4, 41, 9, 4, 18, 0, 63, 51, 47, 18, 23, 57, + 47, 47, 47, 47, 93, 93, 93, 93, 16,225, 93, 17, 51, 51, 51, 43, 16,225, 1, 47, 56, 51, 94, 93, 17, 51, 47, 56, 43, 93,113, 51, + 18, 57, 61, 47, 51, 93, 93, 51, 93, 93, 51, 24, 47, 93,225, 17, 18, 57, 57, 93, 18, 57, 57, 93, 51, 47, 93,113,225, 17, 51, 47, + 51, 51, 47,237, 93, 49, 48, 1, 20, 6, 7, 1, 35, 3, 33, 3, 35, 1, 38, 38, 53, 52, 62, 2, 51, 50, 30, 2, 3, 3, 46, 3, + 39, 14, 3, 7, 3, 19, 62, 3, 55, 51, 21, 14, 3, 7, 35, 19, 52, 38, 35, 34, 6, 21, 20, 22, 23, 51, 50, 54, 3, 80, 60, 51, + 1,252,190,154,253,211,156,188, 1,248, 51, 58, 32, 59, 82, 50, 49, 84, 62, 35, 12,148, 6, 17, 18, 18, 8, 7, 18, 18, 17, 6, +145,133, 21, 48, 47, 42, 16,219, 16, 63, 77, 81, 35,121,188, 63, 50, 49, 63, 51, 49, 12, 50, 63, 5,156, 70, 96, 25,251, 35, 1, +135,254,121, 4,219, 25, 96, 70, 51, 79, 56, 29, 29, 55, 79,252, 95, 1,125, 16, 46, 54, 59, 28, 28, 60, 54, 46, 15,254,131, 4, +139, 24, 61, 65, 64, 28, 16, 22, 65, 71, 66, 22,254,246, 52, 60, 60, 52, 51, 59, 3, 60, 0, 5, 0, 94,255,236, 3,156, 7,170, + 0, 13, 0, 49, 0, 64, 0, 84, 0, 96, 0,156, 64, 35, 85,131, 15, 65, 31, 65, 47, 65, 3, 65, 65, 91,131, 75, 6, 13, 75, 13, + 75, 13, 26, 30, 15, 55, 71, 49, 85, 98, 63, 98, 1, 62, 72, 26, 40,184,255,208, 64, 58, 13, 17, 72, 40, 16, 9, 12, 72, 40, 40, + 26, 86, 97, 88,140, 80, 80, 13, 96, 13,112, 13, 3, 13, 13, 80, 80, 5, 94,140, 64, 70, 80, 70, 2, 70, 70, 39, 36, 80, 43, 56, + 82, 30, 30, 43, 16, 50, 80, 15, 21, 22, 14, 21, 15, 5, 1, 5, 0, 47, 93, 63, 63, 51,225, 63, 57, 47,225, 16,225, 50, 51, 47, + 93,225, 17, 57, 47, 51, 47, 93, 16,225, 1, 16,230, 50, 47, 43, 43, 16,225, 93, 16,246,225, 50, 50, 17, 57, 57, 47, 47, 16,205, + 16,225, 51, 47, 93,225, 49, 48, 1, 62, 3, 55, 51, 21, 14, 3, 7, 35, 1, 39, 35, 14, 3, 35, 34, 46, 2, 53, 52, 54, 55, 55, + 53, 52, 46, 2, 35, 34, 6, 7, 39, 54, 54, 51, 50, 30, 2, 21, 17, 37, 50, 62, 2, 53, 53, 7, 14, 3, 21, 20, 22, 1, 20, 14, + 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 7, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 1,199, 21, 48, 47, 42, 16, +219, 16, 63, 77, 82, 35,120, 1, 82, 37, 8, 33, 66, 78, 96, 63, 69,116, 85, 48,231,236,184, 29, 55, 81, 52, 83,143, 66, 64, 74, +182,100,102,149, 97, 48,254, 47, 61,104, 76, 43,143, 90,122, 73, 32, 97, 1,134, 35, 61, 84, 49, 50, 82, 59, 33, 33, 59, 82, 50, + 48, 84, 62, 35,117, 63, 49, 50, 63, 57, 56, 49, 63, 6,184, 24, 61, 65, 64, 28, 16, 22, 65, 71, 66, 22,249, 92,152, 45, 65, 42, + 20, 39, 81,123, 84,164,176, 8, 7, 69, 67, 90, 55, 24, 48, 34,137, 40, 56, 41, 89,138, 98,253, 16,127, 38, 77,117, 79, 99, 7, + 4, 32, 57, 81, 51, 92, 86, 5, 8, 51, 81, 56, 29, 29, 56, 79, 51, 51, 79, 56, 29, 29, 55, 79, 52, 53, 60, 60, 53, 53, 60, 60, +255,255,255,254, 0, 0, 6, 86, 7,115, 2, 38, 0,136, 0, 0, 1, 7, 0,118, 2, 37, 1, 82, 0, 21,180, 2, 32, 5, 38, 2, +184, 1, 72,180, 20, 26, 5, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 94,255,236, 6, 68, 6, 33, 2, 38, 0,168, 0, 0, + 1, 7, 0,118, 1,117, 0, 0, 0, 19, 64, 11, 3, 93, 17, 38, 3,113, 81, 87, 0, 28, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0,125,255,180, 5,113, 7,115, 2, 38, 0,154, 0, 0, 1, 7, 0,118, 1, 2, 1, 82, 0, 19, 64, 11, 3, 62, 5, 38, 3, 88, + 50, 56, 17, 4, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115,255,180, 4, 47, 6, 33, 2, 38, 0,186, 0, 0, 1, 6, 0,118, + 80, 0, 0, 19, 64, 11, 3, 58, 17, 38, 3, 76, 46, 52, 13, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,104,254, 59, 3,201, + 5,203, 2, 38, 0, 54, 0, 0, 1, 6, 2, 57, 0, 0, 0, 14,185, 0, 1,255,218,180, 52, 58, 8, 0, 37, 1, 43, 53,255,255, + 0, 90,254, 59, 3, 63, 4, 94, 2, 38, 0, 86, 0, 0, 1, 6, 2, 57,187, 0, 0, 14,185, 0, 1,255,225,180, 54, 60, 8, 0, + 37, 1, 43, 53, 0, 1, 1, 2, 4,217, 3,154, 6, 33, 0, 20, 0, 37, 64, 17, 15, 14, 4, 4, 0,192, 8, 4, 14,128, 0, 15, + 8, 95, 8, 2, 8, 0, 47, 93, 51, 26,204, 50, 1, 47, 26,204, 57, 61, 47, 51, 51, 49, 48, 1, 35, 38, 38, 39, 6, 6, 7, 35, + 53, 62, 3, 55, 51, 30, 3, 23, 3,154,121, 51,108, 52, 54,106, 51,121, 26, 68, 67, 59, 16,192, 16, 59, 67, 69, 25, 4,217, 34, + 97, 55, 55, 97, 34, 27, 29, 76, 81, 81, 34, 34, 81, 81, 76, 29, 0, 1, 1, 2, 4,217, 3,154, 6, 33, 0, 20, 0, 37, 64, 17, + 6, 5, 16, 16, 0,192, 11, 19, 13,128, 16, 15, 6, 95, 6, 2, 6, 0, 47, 93, 51, 26,205, 50, 1, 47, 26,204, 57, 61, 47, 51, + 51, 49, 48, 1, 14, 3, 7, 35, 46, 3, 39, 53, 51, 22, 22, 23, 54, 54, 55, 51, 3,154, 25, 69, 67, 59, 16,192, 16, 59, 67, 68, + 26,121, 51,106, 54, 52,108, 51,121, 6, 6, 29, 76, 81, 80, 35, 35, 80, 81, 76, 29, 27, 34, 97, 56, 56, 97, 34, 0, 1, 1, 27, + 4,217, 3, 90, 5,111, 0, 3, 0, 21, 64, 10, 1, 0, 0,143, 15, 3, 95, 3, 2, 3, 0, 47, 93,225, 1, 47,205, 49, 48, 1, + 33, 21, 33, 1, 27, 2, 63,253,193, 5,111,150, 0, 1, 1, 33, 4,217, 3,123, 5,238, 0, 21, 0, 47, 64, 28, 21,131,255, 0, + 1, 0,192, 11,131, 10, 0,127, 10,143, 10,159, 10, 3, 10,128, 16,143, 15, 5, 95, 5, 2, 5, 0, 47, 93,225, 26,205, 93, 50, + 1, 47,225, 26,220, 93,225, 49, 48, 1, 14, 3, 35, 34, 46, 2, 39, 51, 30, 3, 51, 50, 62, 2, 55, 3,123, 4, 44, 77,109, 71, + 73,109, 73, 39, 3,108, 4, 28, 48, 67, 44, 36, 65, 51, 34, 4, 5,238, 61,101, 74, 41, 39, 73,102, 63, 43, 50, 25, 7, 9, 27, + 49, 40, 0, 1, 0,160, 5, 0, 1,117, 5,229, 0, 13, 0, 28, 64, 16, 8,135, 0, 3,145,159, 11,207, 11,239, 11, 3, 48, 11, + 1, 11, 0, 47, 93, 93,229, 1, 47,225, 49, 48, 19, 52, 54, 51, 50, 30, 2, 21, 20, 6, 35, 34, 38,160, 61, 45, 22, 39, 29, 17, + 63, 44, 45, 61, 5,115, 60, 54, 13, 28, 43, 30, 58, 57, 56, 0, 0, 2, 1,109, 4,217, 3, 49, 6,135, 0, 19, 0, 31, 0, 64, + 64, 45, 20,131, 15, 0, 63, 0, 79, 0, 95, 0, 4, 0, 26,131, 48, 10, 1, 10, 23,140, 15, 15, 31, 15, 63, 15, 79, 15, 95, 15, +175, 15,255, 15, 7, 6, 15, 29,140, 15, 5, 95, 5, 2, 5, 0, 47, 93,225,212, 94, 93,225, 1, 47, 93,225,212, 93,225, 49, 48, + 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 7, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 3, 49, 35, 61, + 84, 49, 50, 82, 59, 32, 32, 59, 82, 50, 48, 84, 62, 35,117, 63, 49, 50, 63, 57, 56, 49, 63, 5,178, 51, 81, 56, 29, 29, 56, 79, + 51, 51, 79, 56, 29, 29, 55, 79, 52, 53, 60, 60, 53, 53, 60, 60, 0, 1, 0, 31,254, 66, 1, 94, 0, 0, 0, 20, 0, 22, 64, 9, + 6,128, 0,132, 13, 18, 3,142, 10, 0, 47,225, 47, 1, 47,225, 26,204, 49, 48, 23, 20, 22, 51, 50, 54, 55, 21, 6, 6, 35, 34, + 38, 53, 52, 62, 2, 55, 51, 6,180, 52, 34, 25, 45, 14, 26, 64, 29,100,100, 30, 47, 56, 26,129,139,238, 45, 43, 5, 4,113, 8, + 8,104, 90, 42, 75, 64, 52, 19,133, 0, 0, 1, 1, 2, 4,217, 3,209, 5,227, 0, 27, 0, 56, 64, 35, 15, 23, 47, 23, 2, 23, + 0, 9, 32, 9, 2, 7, 9, 22, 5,143, 14, 64, 16, 19, 72, 14, 64, 7, 11, 72, 14, 14, 19,143, 9, 15, 0, 1, 0, 0, 47, 93, + 50,225, 51, 47, 43, 43,225, 51, 1, 47, 94, 93,204, 93, 49, 48, 1, 34, 46, 2, 35, 34, 6, 7, 35, 62, 3, 51, 50, 30, 2, 51, + 50, 54, 55, 51, 14, 3, 2,254, 40, 79, 76, 70, 32, 45, 48, 14,104, 5, 33, 53, 74, 46, 42, 81, 76, 69, 29, 45, 46, 15,105, 5, + 33, 53, 74, 4,219, 35, 43, 35, 53, 62, 60, 98, 69, 37, 35, 42, 35, 52, 62, 60, 97, 69, 38, 0, 0, 2, 0,223, 4,217, 3,190, + 6, 33, 0, 13, 0, 27, 0, 45, 64, 25, 20, 14, 14, 7, 64, 80, 0, 1, 63, 0, 79, 0, 2, 0, 19, 5,146,128, 27, 15, 12, 95, + 12, 2, 12, 0, 47, 93, 51, 26,237, 50, 1, 47, 93, 93, 26,205, 57, 47,205, 49, 48, 19, 62, 3, 55, 51, 21, 14, 3, 7, 35, 37, + 62, 3, 55, 51, 21, 14, 3, 7, 35,223, 22, 47, 47, 42, 16,199, 16, 63, 77, 81, 35,101, 1,107, 21, 48, 47, 42, 16,198, 16, 63, + 77, 81, 35,100, 4,244, 29, 76, 81, 81, 34, 21, 27, 81, 88, 83, 28, 27, 29, 76, 81, 81, 34, 21, 27, 81, 88, 83, 28, 0, 0, 1, + 1,248, 4,217, 3, 4, 6, 33, 0, 13, 0, 39, 64, 22, 5, 16, 12, 17, 72, 5, 6, 64, 12, 0, 0, 1, 0, 5,146,128, 15, 12, + 95, 12, 2, 12, 0, 47, 93, 26,237, 1, 47, 93, 51, 26,205, 50, 43, 49, 48, 1, 62, 3, 55, 51, 21, 14, 3, 7, 35, 1,248, 10, + 20, 19, 16, 4,199, 6, 33, 45, 52, 24,108, 4,244, 30, 77, 81, 80, 33, 21, 24, 78, 87, 86, 32, 0, 3, 1, 20, 5, 12, 3,137, + 6,180, 0, 13, 0, 27, 0, 41, 0,102, 64, 25, 28,132, 15, 36, 31, 36, 2, 15, 36, 31, 36,207, 36, 3, 36, 64, 9, 12, 72, 36, + 36, 13, 22,132, 14,184,255,192, 64, 39, 9, 13, 72, 14, 14, 5, 16, 12, 17, 72, 5, 6, 12, 13, 5,146, 12, 12, 31, 17,145, 39, +255, 25, 1, 96, 25,176, 25,208, 25, 3, 15, 25, 31, 25, 2, 6, 25, 0, 47, 94, 93, 93, 93, 51,229, 50, 57, 47,237, 1, 47, 51, +205, 50, 43, 51, 47, 43,225, 17, 51, 47, 43, 93,113,225, 49, 48, 1, 62, 3, 55, 51, 21, 14, 3, 7, 35, 39, 52, 54, 51, 50, 30, + 2, 21, 20, 6, 35, 34, 38, 37, 52, 54, 51, 50, 30, 2, 21, 20, 6, 35, 34, 38, 1,254, 11, 25, 24, 22, 8,207, 18, 48, 56, 61, + 32, 82,234, 56, 41, 19, 35, 26, 16, 58, 38, 41, 56, 1,181, 56, 40, 19, 35, 26, 16, 58, 38, 40, 56, 5,135, 30, 75, 79, 81, 36, + 20, 32, 77, 80, 81, 37, 6, 54, 48, 12, 25, 38, 27, 53, 50, 50, 53, 54, 48, 12, 25, 38, 27, 53, 50, 50,255,255,255,233, 0, 0, + 4,221, 5,188, 2, 38, 0, 36, 0, 0, 1, 7, 1, 84,253,241,255,151, 0, 24,182, 2, 26, 3, 2, 48, 34, 1,184,255,233,180, + 34, 34, 4, 4, 37, 1, 43, 93, 53, 0, 63, 53, 0, 1, 0,147, 2, 72, 1,145, 3, 94, 0, 19, 0, 51, 64, 26, 16, 21,128, 21, +144, 21,160, 21, 4, 10,150,192, 0,208, 0, 2, 52, 0, 68, 0,100, 0,116, 0, 4, 0,184,255,192,182, 7, 10, 72, 0, 5,155, + 15, 0, 47,229, 1, 47, 43, 93, 93,237, 93, 49, 48, 19, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2,147, 20, 34, + 46, 27, 26, 47, 34, 20, 20, 34, 47, 26, 27, 46, 34, 20, 2,211, 38, 53, 33, 15, 15, 33, 53, 38, 37, 52, 34, 16, 16, 34, 52, 0, +255,255,255,231, 0, 0, 4, 77, 5,184, 0, 39, 0, 40, 0,143, 0, 0, 1, 7, 1, 84,253,239,255,151, 0, 46,180, 1, 17, 3, + 1, 18,184,255,192,178, 8, 15, 72,184,255,157, 64, 15, 18, 18, 2, 2, 37, 0, 0,103, 27,191, 27, 1, 15, 27, 1, 1, 93, 93, + 16,254, 52, 1, 43, 43, 53, 0, 63, 53,255,255,255,231, 0, 0, 5, 80, 5,184, 0, 38, 0, 43,123, 0, 1, 7, 1, 84,253,239, +255,151, 0, 49,180, 1, 17, 3, 1, 18,184,255,192,178, 8, 17, 72,184,255,177, 64, 18, 18, 18, 6, 6, 37, 0, 0,101,111, 27, + 1, 47, 27, 1, 16, 27, 1, 27, 1, 16, 93, 93, 93,254, 52, 43, 43, 53, 0, 63, 53, 0,255,255,255,231, 0, 0, 3, 96, 5,184, + 0, 39, 0, 44, 0,252, 0, 0, 1, 7, 1, 84,253,239,255,151, 0,102, 64, 22, 1, 17, 3, 1,192, 18, 1,160, 18, 1, 48, 18, + 1, 32, 18, 1, 16, 18, 1, 0, 18, 1,184,255,165, 64, 47, 18, 18, 6, 6, 37, 0,240, 0, 1,208, 0, 1,192, 0, 1,175, 0, + 1,112, 0, 1, 96, 0, 1, 80, 0, 1, 64, 0, 1, 63, 0, 1, 0, 32, 27, 1, 27, 64, 7, 7, 72, 27, 64, 7, 9, 72, 1, 43, + 43, 93, 17, 93, 93, 93, 93, 93, 93, 93, 93, 93, 53, 43, 93, 93, 93, 93, 93, 93, 53, 0, 63, 53,255,255,255,231,255,236, 5,195, + 5,205, 0, 38, 0, 50, 82, 0, 1, 7, 1, 84,253,239,255,151, 0, 71, 64, 48, 2, 45, 3, 2,160, 46, 1,128, 46, 1,112, 46, + 1, 80, 46, 1, 32, 46, 1, 16, 46, 1, 0, 46, 1, 36, 46, 46, 10, 10, 37, 1, 0, 80, 0, 1, 80, 0, 1, 0,103,191, 55, 1, + 15, 55, 1, 55, 1, 16, 93, 93,254, 93, 93, 52, 52, 43, 93, 93, 93, 93, 93, 93, 93, 53, 0, 63, 53, 0,255,255,255,231, 0, 0, + 5, 84, 5,184, 0, 39, 0, 60, 1, 29, 0, 0, 1, 7, 1, 84,253,239,255,151, 0, 75,180, 1, 14, 3, 1, 15,184,255,192,182, + 22, 23, 72,160, 15, 1, 15,184,255,192,178, 9, 17, 72,184,255,214, 64, 28, 15, 15, 7, 7, 37, 0,192, 5, 1,176, 5, 1,127, + 5, 1, 32, 5, 1, 5, 63, 24, 1, 47, 24, 1, 15, 24, 1, 1, 93, 93, 93, 17, 93, 93, 93, 93, 53, 43, 43, 93, 43, 53, 0, 63, + 53, 0,255,255,255,231, 0, 0, 6, 0, 5,205, 0, 38, 1,118, 90, 0, 1, 7, 1, 84,253,239,255,151, 0, 53, 64, 35, 1, 53, + 3, 1, 32, 54, 1, 16, 54, 1, 0, 54, 1, 22, 54, 54, 19, 19, 37, 0, 80, 29, 1, 80, 29, 1, 29,103,191, 63, 1, 15, 63, 1, + 63, 1, 16, 93, 93,254, 93, 93, 52, 43, 93, 93, 93, 53, 0, 63, 53, 0,255,255,255,228,255,236, 2,119, 6,180, 2, 38, 1,134, + 0, 0, 1, 7, 1, 85,254,208, 0, 0, 0, 24, 64, 15, 3, 2, 1,192, 36, 1, 64, 36, 1, 32, 36, 58, 21, 0, 37, 1, 43, 93, + 93, 53, 53, 53,255,255, 0, 0, 0, 0, 4,221, 5,188, 2, 6, 0, 36, 0, 0,255,255, 0,199, 0, 0, 4,135, 5,182, 2, 6, + 0, 37, 0, 0, 0, 1, 0,199, 0, 0, 3,190, 5,182, 0, 5, 0, 67, 64, 10,196, 0,244, 0, 2,176, 0, 1, 2, 0,184,255, +192, 64, 31, 8, 19, 72, 0, 0, 7, 15, 7, 47, 7, 79, 7,111, 7, 4, 7, 64, 17, 24, 72, 3, 90, 4,100, 6, 2, 95, 5, 3, + 3, 18, 0, 63, 63,225, 1, 16,246,225, 43, 93, 17, 51, 47, 43, 95, 93, 93, 49, 48, 1, 21, 33, 17, 35, 17, 3,190,253,195,186, + 5,182,166,250,240, 5,182, 0, 0, 2, 0, 37, 0, 0, 4,104, 5,182, 0, 5, 0, 14, 0, 88, 64, 17, 5, 4, 6, 6, 2, 11, + 91, 96, 1,112, 1,176, 1,240, 1, 4, 1,184,255,192, 64, 39, 6, 10, 72, 1, 1, 16, 47, 16, 95, 16,111, 16,127, 16,159, 16, +191, 16, 6, 16, 64, 6, 9, 72, 10, 91, 2, 6, 32, 10, 17, 72, 6, 4, 3, 10, 95, 2, 18, 0, 63,225, 63, 51, 43, 1, 47,225, + 43, 93, 17, 51, 47, 43, 93,225, 18, 57, 61, 47, 51, 51, 49, 48, 37, 21, 33, 53, 1, 51, 7, 6, 6, 7, 3, 33, 3, 38, 38, 4, +104,251,189, 1,194,187, 94, 17, 42, 29,254, 2,174,252, 31, 46,125,125,133, 5, 49,205, 74,168, 91,253, 10, 2,240, 97,168, 0, +255,255, 0,199, 0, 0, 3,190, 5,182, 2, 6, 0, 40, 0, 0,255,255, 0, 82, 0, 0, 3,254, 5,182, 2, 6, 0, 61, 0, 0, +255,255, 0,199, 0, 0, 4,213, 5,182, 2, 6, 0, 43, 0, 0, 0, 3, 0,125,255,236, 5,113, 5,205, 0, 3, 0, 23, 0, 43, + 0, 83, 64, 52, 0, 1, 0, 1, 14, 34, 91, 4,103, 45,208, 45, 1,207, 45, 1,128, 45, 1, 63, 45,111, 45, 2, 24, 91, 14,102, + 44, 3, 96, 15, 0,175, 0,223, 0,255, 0, 4, 8, 0, 0, 29, 39, 95, 19, 4, 29, 95, 9, 19, 0, 63,225, 63,225, 18, 57, 47, + 94, 93,225, 1, 16,246,225, 93, 93, 93, 93, 16,246,225, 18, 57, 57, 47, 47, 49, 48, 1, 33, 21, 33, 37, 20, 2, 6, 6, 35, 34, + 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 22, 18, 5, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2, 1,236, 2, + 22,253,234, 3,133, 81,160,237,155,163,239,157, 76, 76,158,240,163,155,235,160, 81,251,209, 52,107,165,114,114,165,107, 50, 50, +106,164,114,114,166,108, 52, 3, 57,161, 69,169,254,234,198,108,108,198, 1, 23,170,170, 1, 21,196,107,107,197,254,235,171,137, +219,153, 81, 81,153,219,137,138,218,151, 81, 81,151,218,255,255, 0, 82, 0, 0, 2,100, 5,182, 2, 6, 0, 44, 0, 0,255,255, + 0,199, 0, 0, 4,162, 5,182, 2, 6, 0, 46, 0, 0, 0, 1, 0, 0, 0, 0, 4,139, 5,182, 0, 12, 0, 95, 64, 28, 47, 14, +239, 14,255, 14, 3, 14, 64, 18, 21, 72, 14, 64, 13, 16, 72, 14, 64, 6, 9, 72, 12, 11, 5, 5, 9, 10,184,255,240, 64, 34, 10, + 1, 47, 0, 79, 0, 95, 0,159, 0,175, 0,207, 0,239, 0, 7, 16, 0, 1, 0, 16, 0, 5, 32, 10, 14, 72, 5, 11, 3, 10, 0, + 18, 0, 63, 50, 63, 51, 43, 1, 47, 56, 93, 93, 50, 47, 56, 51, 57, 61, 47, 51, 51, 43, 43, 43, 93, 49, 48, 33, 35, 1, 38, 38, + 39, 6, 6, 7, 1, 35, 1, 51, 4,139,198,254,219, 31, 46, 15, 17, 42, 29,254,217,197, 1,231,187, 3,154, 97,168, 75, 75,168, + 91,252, 96, 5,182, 0,255,255, 0,199, 0, 0, 6, 47, 5,182, 2, 6, 0, 48, 0, 0,255,255, 0,199, 0, 0, 5, 14, 5,182, + 2, 6, 0, 49, 0, 0, 0, 3, 0, 82, 0, 0, 3,238, 5,182, 0, 3, 0, 7, 0, 11, 0, 99, 64, 62, 20, 0, 1, 27, 1, 1, + 0, 1, 0, 1, 11, 6, 6, 0, 8, 1,192, 8, 1, 63, 8, 1, 8, 13, 79, 13,111, 13, 2, 48, 13, 1, 7, 7,112, 11,128, 11, + 2, 79, 11, 1, 11, 3, 95, 15, 0,175, 0, 2, 8, 0, 0, 4, 11, 95, 10, 18, 7, 95, 4, 3, 0, 63,225, 63,225, 17, 57, 47, + 94, 93,225, 1, 47, 93, 93, 51, 47, 93, 93, 16,206, 93, 93,113, 50, 47, 17, 57, 57, 47, 47, 93, 93, 49, 48, 19, 33, 21, 33, 3, + 33, 21, 33, 1, 21, 33, 53,205, 2,166,253, 90, 82, 3, 74,252,182, 3,115,252,100, 3, 78,162, 3, 10,164,251,146,164,164, 0, +255,255, 0,125,255,236, 5,113, 5,205, 2, 6, 0, 50, 0, 0, 0, 1, 0,199, 0, 0, 4,193, 5,182, 0, 7, 0, 49, 64, 30, + 1, 90, 0,101, 9,176, 9, 1,111, 9,159, 9,175, 9, 3, 16, 9, 1, 4, 90, 5,100, 8, 3, 95, 6, 3, 5, 0, 18, 0, 63, + 50, 63,225, 1, 16,246,225, 93, 93, 93, 16,246,225, 49, 48, 33, 35, 17, 33, 17, 35, 17, 33, 4,193,187,253,123,186, 3,250, 5, + 18,250,238, 5,182, 0,255,255, 0,199, 0, 0, 4, 51, 5,182, 2, 6, 0, 51, 0, 0, 0, 1, 0, 78, 0, 0, 4, 18, 5,182, + 0, 11, 0, 90, 64, 13, 8, 91, 6, 32, 20, 23, 72, 2, 6, 2, 6, 1, 10,184,255,192, 64, 38, 6, 21, 72, 10, 10, 13, 15, 13, + 47, 13,111, 13,143, 13, 4, 6, 7, 9, 91, 3, 47, 1, 63, 1, 2, 1, 8, 2, 2, 9, 7, 95, 4, 3, 9, 95, 0, 18, 0, 63, +225, 63,225, 18, 57, 61, 47, 51, 1, 24, 47, 93, 51,225, 50, 94, 93, 17, 51, 47, 43, 18, 57, 57, 47, 47, 43,225, 49, 48, 51, 53, + 1, 1, 53, 33, 21, 33, 1, 1, 33, 21, 78, 1,158,254,110, 3,125,253, 88, 1,133,254,103, 2,247,152, 2,102, 2, 37,147,164, +253,238,253,164,164, 0,255,255, 0, 20, 0, 0, 4, 18, 5,182, 2, 6, 0, 55, 0, 0,255,255, 0, 0, 0, 0, 4, 55, 5,182, + 2, 6, 0, 60, 0, 0, 0, 3, 0,104,255,236, 5,186, 5,203, 0, 33, 0, 46, 0, 59, 0,129, 64, 80, 34, 2,103, 17, 1, 17, + 90, 59, 33,154, 18, 1,135, 18, 1,122, 18, 1, 18, 18, 27, 40, 91, 8,103, 61, 47, 61, 1, 0, 61, 1,208, 61, 1,175, 61,191, + 61, 2,144, 61, 1, 95, 61, 1, 48, 61, 1, 15, 61, 31, 61, 2, 6, 53, 91, 27,102, 60, 34, 59, 96, 19, 16, 19, 46, 47, 96, 33, + 2, 33, 19, 33, 19, 33, 17, 19, 0, 4, 0, 63, 63, 57, 57, 47, 47, 17, 51, 16,225, 50, 17, 51, 16,225, 50, 1, 16,246,225, 94, + 93, 93, 93, 93, 93, 93,113,113, 16,246,225, 17, 57, 47, 93, 93, 93, 51, 51,225, 93, 50, 50, 49, 48, 1, 51, 21, 51, 50, 30, 2, + 21, 20, 14, 4, 35, 35, 21, 35, 53, 35, 34, 46, 4, 53, 52, 62, 2, 51, 51, 19, 51, 50, 62, 2, 53, 52, 46, 2, 43, 3, 34, 14, + 2, 21, 20, 30, 2, 51, 51, 2,180,187, 73,134,194,126, 60, 24, 52, 84,120,159,101, 47,187, 47,101,159,120, 84, 53, 24, 61,126, +194,133, 74,187, 26, 93,139, 91, 46, 41, 83,127, 87, 57,187, 57, 87,127, 84, 40, 46, 91,139, 93, 26, 5,203,180, 94,153,196,102, + 61,129,123,110, 82, 48,225,225, 48, 82,110,123,129, 61,102,196,153, 94,252, 83, 59,105,148, 88, 78,139,104, 60, 60,104,139, 78, + 88,148,105, 59,255,255, 0, 0, 0, 0, 4, 96, 5,182, 2, 6, 0, 59, 0, 0, 0, 1, 0,104, 0, 0, 5,186, 5,182, 0, 37, + 0,112, 64, 71, 31,103, 9, 1, 9, 90, 28,154, 10, 1,135, 10, 1,122, 10, 1, 10, 10, 19, 35, 91, 0,103, 39, 47, 39, 1, 0, + 39, 1,208, 39, 1,175, 39,191, 39, 2,144, 39, 1, 95, 39, 1, 48, 39, 1, 15, 39, 31, 39, 2, 6, 22, 91, 19,102, 38, 31, 28, + 96, 8, 11, 11, 9, 36, 29, 20, 3, 9, 18, 0, 63, 63, 51, 51, 18, 57, 47, 51,225, 50, 1, 16,246,225, 94, 93, 93, 93, 93, 93, + 93,113,113, 16,246,225, 17, 57, 47, 93, 93, 93, 51,225, 93, 50, 49, 48, 1, 20, 14, 4, 35, 35, 17, 35, 17, 35, 34, 46, 4, 53, + 17, 51, 17, 20, 30, 2, 51, 51, 17, 51, 17, 51, 50, 54, 53, 17, 51, 5,186, 24, 52, 84,120,159,101, 47,187, 47,101,159,120, 84, + 53, 24,193, 46, 91,139, 93, 26,187, 26,186,183,192, 3,215, 61,127,119,106, 78, 46,254, 66, 1,190, 45, 78,104,119,126, 61, 1, +227,254, 33, 88,141, 98, 52, 3, 90,252,166,198,177, 1,227, 0, 0, 1, 0, 78, 0, 0, 5,166, 5,205, 0, 47, 0,124, 64, 81, + 14, 91, 11, 34, 91, 37, 32, 11, 48, 11, 2, 4, 11, 1, 47, 37, 63, 37,223, 37,239, 37, 4, 11, 37, 1, 7, 11, 37, 11, 37, 19, + 43, 91, 6, 35, 22, 35, 2, 35, 29,103, 49,208, 49, 1,207, 49, 1,128, 49, 1, 63, 49,111, 49, 2, 9, 13, 25, 13, 2, 8, 13, + 5, 91, 19,102, 48, 0, 95, 24, 4, 38, 34, 10, 13, 95, 37, 12, 18, 0, 63, 51,225, 50, 50, 50, 63,225, 1, 16,246,225, 51, 94, + 93, 93, 93, 93, 93, 16,246, 50, 93,225, 17, 57, 57, 47, 47, 94, 93, 93, 93, 93, 16,225, 16,225, 49, 48, 1, 34, 14, 2, 21, 20, + 30, 2, 23, 21, 33, 53, 33, 46, 3, 53, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 7, 33, 21, 33, 53, 62, 3, 53, 52, 46, 2, + 2,250,114,164,106, 50, 35, 81,131, 95,253,176, 1, 98, 64,111, 80, 46, 81,160,236,154,155,235,160, 81, 46, 80,110, 65, 1, 98, +253,176, 95,131, 81, 35, 50,106,164, 5, 41, 68,129,186,117,100,187,171,151, 65,147,164, 48,135,168,199,111,150,244,172, 94, 94, +172,244,150,111,199,168,135, 48,164,147, 65,151,171,187,100,117,186,129, 68, 0,255,255, 0, 64, 0, 0, 2,119, 7, 43, 2, 38, + 0, 44, 0, 0, 1, 7, 0,106,255, 13, 1, 82, 0, 23, 64, 13, 2, 1, 21, 5, 38, 2, 1, 0, 12, 32, 1, 0, 37, 1, 43, 53, + 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, 4, 55, 7, 43, 2, 38, 0, 60, 0, 0, 1, 7, 0,106,255,206, 1, 82, 0, 23, + 64, 13, 2, 1, 18, 5, 38, 2, 1, 1, 9, 29, 7, 2, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,113,255,236, 4,145, + 6, 33, 2, 38, 1,126, 0, 0, 1, 6, 1, 84, 25, 0, 0, 19, 64, 11, 2, 74, 17, 38, 2, 22, 62, 68, 22, 47, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 0, 90,255,236, 3, 92, 6, 33, 2, 38, 1,130, 0, 0, 1, 6, 1, 84,202, 0, 0, 19, 64, 11, 1, 70, + 17, 38, 1,109, 58, 64, 24, 45, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,174,254, 20, 4, 18, 6, 33, 2, 38, 1,132, 0, 0, + 1, 6, 1, 84, 68, 0, 0, 19, 64, 11, 1, 37, 17, 38, 1, 98, 25, 31, 11, 23, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164, +255,236, 2,119, 6, 33, 2, 38, 1,134, 0, 0, 1, 7, 1, 84,254,206, 0, 0, 0, 21,180, 1, 34, 17, 38, 1,184,255,253,180, + 22, 34, 21, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164,255,236, 4, 61, 6,180, 2, 38, 1,146, 0, 0, 1, 6, 1, 85, + 16, 0, 0, 18,178, 3, 2, 1,184,255,238,180, 44, 66, 5, 27, 37, 1, 43, 53, 53, 53, 0, 2, 0,113,255,236, 4,145, 4, 94, + 0, 16, 0, 61, 0, 56, 64, 30, 56, 30, 5, 71, 47, 40, 63, 16, 63, 1, 14, 72, 22, 86, 62, 34, 15, 30, 11, 80, 27, 15, 56, 47, + 44, 0, 80, 51, 17, 22, 0, 63, 51,225, 50, 50, 50, 63,225, 51, 63, 1, 16,246,225, 93, 16,212, 50,225, 50, 50, 49, 48, 37, 50, + 62, 2, 55, 53, 52, 46, 2, 35, 34, 6, 21, 20, 22, 23, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 51, 54, 54, 55, 51, 14, 3, + 21, 17, 20, 22, 51, 50, 54, 55, 21, 6, 6, 35, 34, 46, 2, 39, 35, 14, 3, 2, 53, 76,105, 65, 31, 2, 27, 65,108, 81,135,127, +127,102, 93,154,110, 60, 61,113,162,100,112,144, 49, 12, 10, 33, 25,143, 11, 19, 13, 8, 50, 34, 14, 37, 8, 15, 65, 34, 38, 63, + 50, 36, 12, 12, 22, 59, 77, 96,131, 47, 98,152,104, 15,101,157,107, 55,218,204,209,205,151, 72,143,212,140,141,213,144, 73, 83, + 85, 35, 82, 31, 33,104,121,126, 55,254, 93, 60, 51, 7, 3,133, 9, 17, 16, 39, 64, 48, 34, 61, 46, 26, 0, 2, 0,174,254, 20, + 4,117, 6, 31, 0, 27, 0, 61, 0, 89, 64, 52, 57, 72, 5, 8, 5, 31, 51, 47, 51, 2, 51, 5, 51, 5, 21, 44, 71, 12, 87, 63, + 32, 63, 48, 63, 2, 34, 21, 71, 22, 84, 62, 21, 27, 8, 50, 80, 15, 51, 1, 8, 51, 51, 0, 34, 39, 80, 17, 22, 28, 80, 0, 1, + 0, 63,225, 63,225, 50, 17, 57, 47, 94, 93,225, 57, 63, 1, 16,246,225, 50, 93, 16,246,225, 18, 57, 57, 47, 47, 93, 18, 57, 16, +225, 49, 48, 1, 50, 30, 2, 21, 20, 6, 7, 21, 22, 22, 21, 20, 14, 2, 35, 34, 38, 39, 17, 35, 17, 52, 62, 2, 23, 34, 14, 2, + 21, 17, 30, 3, 51, 50, 62, 2, 53, 52, 46, 2, 35, 35, 53, 51, 50, 62, 2, 53, 52, 46, 2, 2,119, 96,163,118, 67,152,143,176, +185, 63,120,173,109, 96,164, 60,182, 69,121,168, 99, 56,100, 75, 44, 32, 78, 82, 82, 36, 80,111, 70, 31, 53, 96,132, 79,102, 77, + 82,119, 78, 37, 38, 68, 95, 6, 31, 49, 98,148, 98,149,173, 23, 6, 21,202,186,108,162,109, 55, 32, 31,253,233, 6, 52,123,178, +115, 55,150, 31, 76,127, 96,252,146, 18, 30, 21, 11, 40, 77,111, 71, 80,117, 77, 37,152, 40, 73,102, 61, 63, 94, 62, 31, 0, 1, + 0, 10,254, 20, 3,223, 4, 74, 0, 27, 0, 99, 64, 22, 29, 64, 18, 21, 72, 80, 29, 1, 15, 29, 47, 29, 79, 29, 3, 7, 26, 5, + 1, 5, 72, 6,184,255,240, 64, 21, 6, 6, 11, 0, 19, 19, 12, 26, 0, 27, 32, 27, 64, 27, 3, 8, 27, 16, 27, 13, 12,184,255, +240, 64, 10, 12, 26, 12, 15, 19, 0, 11, 21, 5, 27, 0, 63, 63, 51, 51, 63, 51, 1, 47, 56, 51, 47, 56, 94, 93, 51, 18, 57, 61, + 47, 51, 51, 51, 24, 47, 56,225, 93, 94, 93, 93, 43, 49, 48, 37, 14, 3, 21, 35, 52, 62, 2, 55, 1, 51, 19, 30, 3, 23, 51, 62, + 3, 55, 19, 51, 2, 96, 22, 34, 24, 12,190, 15, 27, 37, 21,254, 96,189,217, 14, 30, 26, 20, 4, 6, 5, 20, 25, 27, 11,199,188, + 18, 62,136,134,126, 52, 42,121,137,141, 63, 4, 62,253,186, 40, 93, 90, 80, 27, 26, 82, 93, 90, 33, 2, 76, 0, 0, 2, 0,111, +255,236, 4, 45, 6, 31, 0, 50, 0, 68, 0, 81, 64, 46, 26, 70, 0, 56, 5, 5, 46, 51, 72, 15, 36, 87, 70, 64, 70,208, 70,224, + 70, 3, 15, 70, 1, 6, 61, 72, 46, 86, 69, 0, 36, 66, 26, 10, 56, 56, 10, 66, 80, 41, 22, 21, 80, 16, 10, 1, 0, 63, 51,225, + 63,225, 17, 57, 47, 18, 57, 18, 57, 51, 1, 16,246,225, 94, 93, 93, 16,246, 50,225, 17, 57, 47, 57, 57,225, 49, 48, 1, 46, 3, + 53, 52, 62, 2, 51, 50, 30, 2, 23, 7, 46, 3, 35, 34, 14, 2, 21, 20, 30, 2, 23, 30, 3, 21, 20, 14, 2, 35, 34, 46, 2, 53, + 52, 62, 2, 1, 52, 46, 2, 39, 14, 3, 21, 20, 30, 2, 51, 50, 54, 2, 20, 56, 93, 67, 37, 51, 92,125, 74, 68,113, 96, 81, 35, + 74, 32, 73, 81, 91, 51, 42, 60, 39, 18, 27, 60, 98, 71, 85,134, 92, 49, 69,127,178,109,103,174,127, 71, 67,114,153, 1,180, 30, + 57, 82, 53, 58,126,104, 68, 38, 73,105, 67,142,153, 3,170, 32, 75, 86, 98, 57, 72,105, 70, 34, 20, 31, 39, 19,145, 20, 38, 30, + 18, 23, 37, 50, 27, 37, 62, 61, 65, 41, 49,108,126,147, 88,127,193,131, 67, 61,117,170,110,106,163,122, 83,254, 81, 69,111, 89, + 73, 31, 16, 58, 98,145,103, 66,111, 81, 45,180, 0, 1, 0, 90,255,236, 3, 92, 4, 94, 0, 57, 0, 89, 64, 55, 29, 35, 1, 1, + 24, 16, 45, 87, 59,160, 59,176, 59,192, 59, 3, 63, 59, 95, 59, 2, 16, 59, 1, 52, 70, 35, 35, 5, 71, 24, 86, 58, 30, 2, 80, +191, 57, 1,121, 57,137, 57, 2, 57, 57, 10, 49, 80, 40, 16, 10, 80, 19, 22, 0, 63,225, 63,225, 18, 57, 47, 93, 93,225, 57, 1, + 16,246,225, 51, 47,225, 93, 93, 93, 16,230, 50, 17, 57, 47, 18, 57, 49, 48, 1, 21, 35, 34, 6, 21, 20, 30, 2, 51, 50, 62, 2, + 55, 21, 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 55, 53, 46, 3, 53, 52, 62, 2, 51, 50, 30, 2, 23, 7, 38, 38, 35, 34, 6, 21, + 20, 30, 2, 51, 2,156,129,138,133, 41, 70, 96, 55, 51, 92, 81, 71, 31, 59,158,109,113,166,108, 53, 38, 63, 82, 44, 43, 70, 51, + 28, 58,105,144, 86, 53, 90, 82, 77, 40, 63, 75,129, 71,108,115, 39, 72,100, 61, 2,135,153, 91, 94, 51, 69, 42, 18, 15, 24, 31, + 16,160, 34, 41, 49, 86,117, 67, 62, 88, 62, 41, 15, 11, 14, 43, 62, 80, 50, 70,109, 74, 38, 9, 19, 28, 20,147, 34, 38, 77, 77, + 45, 64, 39, 18, 0, 1, 0,113,254,111, 3,106, 6, 20, 0, 51, 0, 57, 64, 31, 46, 3, 3, 31, 70, 26, 32, 20, 1, 20, 53, 16, + 53,192, 53, 2, 10, 72, 41, 0, 0, 41, 86, 52, 25, 46, 3, 0, 80, 1, 0, 0, 63,225, 50, 50, 47, 1, 16,230, 50, 47, 16,225, + 93, 16,214, 93, 50,225, 51, 47, 51, 49, 48, 19, 53, 33, 21, 14, 5, 21, 20, 30, 2, 23, 30, 3, 21, 20, 14, 2, 7, 35, 62, 3, + 53, 52, 46, 2, 39, 46, 3, 53, 52, 18, 54, 54, 55, 6, 7, 6, 6, 35,174, 2,182,128,184,126, 76, 40, 13, 45, 84,120, 75, 71, + 95, 58, 25, 21, 34, 43, 22,170, 24, 43, 34, 20, 14, 48, 91, 77, 89,135, 92, 46, 92,154,201,108, 43, 47, 40, 96, 47, 5,123,153, +141,118,205,179,154,133,111, 48, 89,108, 64, 35, 17, 15, 46, 59, 72, 42, 45, 88, 82, 75, 31, 32, 72, 72, 67, 29, 20, 37, 34, 31, + 15, 17, 66,108,152,102,148, 1, 1,232,217,108, 3, 3, 2, 4, 0, 1, 0,174,254, 20, 4, 18, 4, 94, 0, 24, 0, 49, 64, 29, + 0, 71, 24, 85, 26, 16, 26, 96, 26,128, 26, 3, 14, 10, 71, 11, 84, 25, 14, 4, 80, 20, 16, 12, 15, 11, 21, 0, 27, 0, 63, 63, + 63, 63,225, 51, 1, 16,246,225, 50, 93, 16,246,225, 49, 48, 1, 17, 52, 38, 35, 34, 14, 2, 21, 17, 35, 17, 51, 23, 51, 62, 3, + 51, 50, 22, 21, 17, 3, 92,105,112, 81,110, 67, 29,182,148, 26, 10, 25, 69, 82, 92, 48,183,185,254, 20, 4,175,130,130, 52,102, +148, 96,253,199, 4, 74,148, 43, 63, 42, 20,191,210,251, 71, 0, 0, 3, 0,113,255,236, 4, 23, 6, 43, 0, 19, 0, 30, 0, 39, + 0, 91, 64, 58, 37, 25, 71, 0, 87, 41, 15, 41, 1,208, 41, 1,127, 41,159, 41, 2, 64, 41, 1, 15, 41, 1, 6, 36, 26, 71, 10, + 86, 40, 26, 80,203, 36, 1,186, 36, 1,137, 36,153, 36, 2, 15, 36, 1, 8, 36, 36, 20, 31, 80, 15, 1, 20, 80, 5, 22, 0, 63, +225, 63,225, 18, 57, 47, 94, 93, 93, 93, 93,225, 1, 16,246,225, 50, 94, 93, 93, 93, 93,113, 16,246,225, 50, 49, 48, 1, 20, 2, + 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 22, 18, 1, 50, 62, 2, 55, 33, 30, 3, 19, 34, 14, 2, 7, 33, 2, + 2, 4, 23, 52,112,179,126,118,175,116, 56, 51,111,177,126,118,176,117, 58,254, 43, 73,104, 69, 35, 3,253,203, 2, 33, 68,104, + 74, 71,102, 68, 35, 5, 2, 51, 9,132, 3, 12,188,254,215,206,109,109,206, 1, 41,188,188, 1, 41,206,108,107,205,254,215,252, +185, 74,148,223,149,147,223,149, 75, 5, 16, 69,137,205,137, 1, 17, 1, 19, 0, 0, 1, 0,164,255,236, 2,119, 4, 72, 0, 21, + 0, 53, 64, 35, 48, 9, 1, 9, 9, 23, 0, 23, 16, 23, 32, 23, 96, 23,112, 23,144, 23,192, 23,208, 23, 8, 8, 1, 71, 20, 84, + 22, 4, 80, 15, 22, 0, 15, 0, 63, 63,225, 1, 16,246,225, 94, 93, 17, 51, 47, 93, 49, 48, 1, 17, 20, 22, 51, 50, 62, 2, 55, + 21, 14, 3, 35, 34, 46, 2, 53, 17, 1, 90, 63, 72, 18, 45, 42, 36, 9, 13, 41, 48, 52, 24, 62,106, 77, 44, 4, 72,252,252, 97, + 98, 4, 6, 8, 3,138, 6, 12, 9, 5, 32, 78,133,101, 3, 4,255,255, 0,174, 0, 0, 3,240, 4, 74, 2, 6, 0,250, 0, 0, + 0, 1,255,242,255,236, 4, 23, 6, 33, 0, 46, 0,104, 64, 42, 34, 21, 21, 26, 18, 18, 1, 41, 10, 41, 10, 41, 0, 80, 26, 1, + 52, 26, 68, 26, 2, 0, 26, 16, 26, 32, 26, 3, 26, 26, 48, 96, 48,144, 48, 2, 15, 48, 1, 6, 46, 0,184,255,240, 64, 15, 0, + 46, 21, 41, 1, 1, 14, 23, 80, 30, 22, 7, 80, 14, 1, 0, 63,225, 63,225, 17, 57, 47, 51, 63, 1, 47, 56, 51, 94, 93, 93, 17, + 51, 47, 93, 93, 93, 18, 57, 57, 61, 47, 24, 47, 17, 51, 51, 17, 18, 57, 17, 51, 49, 48, 35, 1, 39, 46, 3, 35, 34, 6, 7, 53, + 54, 54, 51, 50, 30, 2, 23, 1, 22, 22, 51, 50, 54, 55, 21, 6, 6, 35, 34, 46, 2, 39, 3, 46, 3, 39, 35, 6, 6, 7, 3, 14, + 1,184, 53, 13, 31, 43, 61, 43, 34, 50, 20, 26, 66, 35, 74,105, 79, 63, 31, 1, 72, 18, 46, 38, 14, 38, 8, 23, 55, 37, 39, 59, + 47, 37, 15,135, 11, 29, 27, 22, 5, 6, 13, 53, 31,229, 4, 51,160, 41, 67, 49, 27, 7, 5,145, 7, 10, 42, 89,135, 93,252, 54, + 54, 57, 7, 3,133, 12, 14, 17, 40, 64, 46, 1,162, 33, 94, 97, 87, 25, 77,170, 79,253,193, 0, 0, 1, 0,174,254, 20, 4, 18, + 4, 74, 0, 29, 0, 63, 64, 38, 13, 12, 9, 71, 10, 85, 31, 16, 31, 32, 31, 96, 31,112, 31,128, 31, 5, 20, 0, 26, 71, 27, 84, + 30, 26, 27, 20, 13, 3, 80, 17, 22, 11, 21, 28, 9, 15, 0, 63, 51, 63, 63,225, 51, 51, 63, 1, 16,246,225, 50, 50, 93, 16,246, +225, 50, 50, 49, 48, 1, 20, 22, 51, 50, 62, 2, 53, 17, 51, 17, 35, 39, 35, 6, 6, 35, 34, 38, 39, 22, 23, 22, 22, 21, 17, 35, + 17, 51, 1,100,106,111, 82,110, 67, 28,182,147, 27, 10, 48,144,103, 72,106, 35, 1, 2, 2, 1,182,182, 1,135,130,130, 52,101, +148, 96, 2, 58,251,182,147, 83, 84, 46, 42, 38, 40, 35, 85, 42,254,192, 6, 54, 0, 1, 0, 0, 0, 0, 3,207, 4, 74, 0, 20, + 0, 59, 64, 22, 20, 19, 7, 7, 0, 13, 71, 14, 87, 22, 16, 22, 1,176, 22, 1, 15, 22, 1, 6, 1, 0,184,255,240,182, 0, 7, + 20, 21, 13, 0, 15, 0, 63, 50, 63, 51, 1, 47, 56, 50, 94, 93, 93,113, 16,246,225, 18, 57, 61, 47, 51, 51, 49, 48, 17, 51, 19, + 30, 3, 23, 51, 62, 2, 18, 53, 51, 20, 2, 2, 6, 7, 35,188,201, 12, 31, 30, 25, 5, 6, 90,114, 66, 25,182, 37, 92,154,117, +192, 4, 74,253,176, 33, 99,103, 92, 25, 96,205,231, 1, 5,151,163,254,224,254,245,253,127, 0, 0, 1, 0,113,254,111, 3,106, + 6, 20, 0, 70, 0,126, 64, 78, 50, 59, 59, 17, 42, 1, 65, 70, 56, 45, 45, 36, 28, 0, 1, 16, 1, 32, 1, 3, 8, 1, 1, 28, + 70, 32, 17, 1, 17, 72, 63, 72, 95, 72,127, 72,239, 72, 4, 16, 72, 1, 7, 72, 36, 86, 71, 60, 50, 56, 80, 57, 42, 0, 73, 28, + 89, 28,105, 28, 3, 56, 28, 1, 7, 36, 28, 3, 22, 1, 79, 0, 0, 22, 57, 0, 22,250, 0, 63, 63, 18, 57, 47,225, 17, 23, 57, + 93, 93, 17, 57, 16,225, 50, 50, 1, 16,246,225, 93, 93, 16,214, 93,241,192, 47, 94, 93, 17, 18, 57, 47, 51,225, 18, 57, 17, 51, + 47, 51, 49, 48, 1, 21, 35, 34, 14, 2, 21, 20, 30, 2, 23, 30, 3, 21, 20, 14, 2, 7, 35, 62, 3, 53, 52, 46, 2, 39, 38, 38, + 53, 52, 62, 2, 55, 53, 38, 38, 53, 52, 62, 2, 55, 6, 7, 6, 6, 35, 35, 53, 33, 21, 35, 34, 14, 2, 21, 20, 30, 2, 51, 3, + 35,162, 81,127, 87, 45, 45, 84,120, 75, 71, 95, 58, 25, 21, 34, 43, 22,170, 24, 43, 34, 20, 14, 48, 91, 77,178,184, 47, 78,102, + 55,101,114, 45, 79,107, 62, 34, 39, 33, 85, 46, 62, 2,129, 55, 73,145,115, 71, 32, 70,114, 81, 3,119,137, 49, 85,113, 65, 78, + 96, 59, 34, 17, 15, 46, 59, 72, 42, 45, 88, 82, 75, 31, 32, 72, 72, 67, 29, 20, 37, 34, 31, 15, 34,199,181, 77,127, 99, 67, 17, + 12, 28,134,117, 72,102, 73, 49, 19, 3, 3, 2, 4,153,141, 38, 78,117, 78, 53, 81, 55, 28, 0,255,255, 0,113,255,236, 4, 45, + 4, 94, 2, 6, 0, 82, 0, 0, 0, 1, 0, 25,255,236, 4,201, 4, 74, 0, 24, 0, 88, 64, 56, 10, 71,143, 22, 1, 22, 22, 14, + 3, 20, 20, 0, 3, 16, 3, 2, 3, 3, 26, 47, 26,159, 26,239, 26, 3, 16, 13, 71, 47, 14,239, 14,255, 14, 3, 14, 64, 16, 21, + 72, 14, 84, 25, 21, 12, 16, 80, 18, 15, 14, 21, 0, 80, 7, 22, 0, 63,225, 63, 63,225, 50, 50, 1, 16,246, 43, 93,225, 51, 93, + 17, 51, 47, 93, 51, 47, 17, 18, 57, 47, 93,225, 49, 48, 37, 50, 54, 55, 21, 6, 6, 35, 34, 38, 53, 17, 33, 17, 35, 17, 35, 53, + 55, 33, 21, 35, 17, 20, 22, 4, 80, 28, 47, 15, 15, 74, 48,113,113,254,109,182,221,137, 4, 39,211, 47,129, 13, 8,144, 9, 17, +132,130, 2,190,252, 80, 3,176, 74, 80,154,253, 78, 70, 55, 0, 0, 2, 0,164,254, 20, 4, 45, 4, 94, 0, 26, 0, 39, 0, 57, + 64, 33, 37, 72, 0, 87, 41,207, 41, 1, 64, 41, 1, 15, 41, 1, 6, 31, 9, 15, 71, 16, 84, 40, 27, 80, 22, 16, 15, 27, 34, 80, + 8, 5, 22, 0, 63, 51,225, 63, 63,225, 1, 16,246,225, 50, 50, 94, 93, 93, 93, 16,246,225, 49, 48, 1, 20, 14, 2, 35, 34, 38, + 39, 35, 22, 23, 22, 22, 21, 17, 35, 17, 52, 62, 2, 51, 50, 30, 2, 1, 34, 6, 7, 17, 22, 22, 51, 50, 54, 53, 52, 38, 4, 45, + 63,117,167,104, 75,143, 54, 6, 1, 2, 2, 1,182, 65,120,169,105, 97,163,119, 67,254, 59,137,130, 3, 54,143, 75,140,123,125, + 2, 39,137,213,145, 76, 45, 45, 43, 46, 39, 97, 46,254,221, 4, 19,136,211,145, 75, 75,145,211, 1, 24,196,200,254,172, 51, 49, +211,209,209,207, 0, 1, 0,113,254,111, 3,111, 4, 94, 0, 49, 0, 81, 64, 54, 39, 39, 21, 70, 16, 0, 10, 16, 10, 32, 10, 3, + 10, 51, 63, 51, 95, 51,127, 51,239, 51, 4, 16, 51, 1, 0, 72, 31, 86, 50, 40, 45, 81, 55, 10, 1, 40, 21, 56, 21, 72, 21, 3, + 21, 10, 31, 0, 4, 15, 36, 16, 15,250, 0, 63, 63, 18, 23, 57, 93, 93,225, 50, 1, 16,246,225, 93, 93, 16,214, 93, 50,225, 51, + 47, 49, 48, 1, 20, 30, 2, 23, 30, 3, 21, 20, 14, 2, 7, 35, 62, 3, 53, 52, 46, 2, 39, 46, 3, 53, 52, 62, 2, 51, 50, 22, + 23, 7, 46, 3, 35, 34, 14, 2, 1, 45, 28, 73,126, 97, 71, 95, 58, 25, 21, 34, 43, 22,170, 24, 43, 34, 20, 14, 48, 91, 77, 77, +132, 98, 55, 73,131,179,106, 78,149, 50, 54, 23, 56, 60, 58, 26, 80,114, 73, 34, 2, 6, 96,121, 78, 47, 22, 15, 46, 59, 72, 42, + 45, 88, 82, 75, 31, 32, 72, 72, 67, 29, 20, 37, 34, 31, 15, 15, 65,118,180,130,154,226,149, 73, 34, 25,154, 10, 19, 15, 9, 57, +112,164, 0, 2, 0,113,255,236, 4,133, 4, 74, 0, 22, 0, 41, 0, 54, 64, 33, 36, 33, 72, 18, 16, 0, 87, 43, 16, 43,144, 43, +160, 43,176, 43,224, 43, 5, 23, 72, 10, 86, 42, 18, 37, 80, 15, 15, 28, 80, 5, 22, 0, 63,225, 63,225, 50, 1, 16,246,225, 93, + 16,246, 50, 50,225, 50, 49, 48, 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 33, 21, 33, 30, 3, 5, 20, 30, 2, 51, 50, + 62, 2, 53, 52, 38, 39, 35, 34, 14, 2, 4, 45, 62,122,180,117,107,175,125, 68, 77,144,206,128, 1,233,254,246, 37, 65, 48, 28, +253, 0, 33, 71,110, 77, 76,109, 71, 33, 79, 75, 59, 95,139, 90, 43, 1,248,111,192,141, 80, 70,138,203,133,156,218,138, 62,154, + 41, 93,108,124, 54, 85,144,105, 59, 55, 98,134, 78,144,215, 89, 44, 99,161, 0, 0, 1, 0, 18,255,229, 3,102, 4, 74, 0, 28, + 0, 58, 64, 36, 1, 15, 13, 31, 13, 2, 6, 13, 87, 30, 16, 30, 1, 43, 26, 59, 26, 2, 26, 3, 71, 16, 24,224, 24, 2, 24, 2, + 25, 80, 28, 15, 8, 80, 19, 22, 0, 63,225, 63,225, 50, 1, 47, 93,225,198, 93, 93, 16,230, 94, 93, 50, 49, 48, 1, 21, 33, 17, + 20, 30, 2, 51, 50, 62, 2, 55, 21, 14, 3, 35, 34, 46, 2, 53, 17, 33, 53, 55, 3,102,254,140, 25, 45, 62, 36, 18, 42, 40, 36, + 13, 13, 39, 46, 53, 27, 64,117, 89, 52,254,215,134, 4, 74,154,253,162, 59, 82, 51, 23, 3, 6, 7, 4,135, 6, 12, 11, 6, 29, + 77,134,104, 2,115, 74, 80, 0, 0, 1, 0,164,255,236, 4, 61, 4, 74, 0, 29, 0, 41, 64, 24, 16, 71, 27, 87, 31, 16, 31, 96, + 31,128, 31, 3, 8, 71, 5, 84, 30, 21, 6, 15, 13, 80, 0, 22, 0, 63,225, 63, 51, 1, 16,246,225, 93, 16,246,225, 49, 48, 5, + 34, 46, 2, 53, 17, 51, 17, 20, 30, 2, 51, 50, 54, 53, 52, 46, 2, 39, 51, 30, 3, 21, 16, 2, 2, 92,129,170,100, 41,182, 32, + 66,102, 70,146,141, 9, 16, 23, 15,182, 15, 24, 16, 8,244, 20, 80,140,189,109, 2, 88,253,178, 86,140, 99, 54,232,247, 71,125, +117,116, 61, 61,114,119,129, 75,254,193,254,211, 0, 2, 0,113,254, 20, 5, 37, 4, 94, 0, 37, 0, 53, 0, 94, 64, 60, 49, 37, + 71, 22,150, 0,166, 0, 2, 0, 0, 6, 38, 72, 31, 87, 55, 32, 55, 1, 15, 55, 1,224, 55, 1,111, 55,127, 55,159, 55, 3, 64, + 55, 1, 15, 55, 31, 55, 2, 6, 17, 71, 6, 86, 54, 43, 80, 11, 26, 16, 49, 22, 80, 36, 1, 22, 0, 27, 0, 63, 63, 51,225, 50, + 63, 51,225, 1, 16,246,225, 94, 93, 93, 93, 93,113,113, 16,246,225, 17, 57, 47, 93, 51,225, 50, 49, 48, 1, 17, 46, 3, 53, 52, + 62, 2, 55, 23, 14, 3, 21, 20, 30, 2, 23, 17, 52, 54, 51, 50, 30, 2, 21, 20, 14, 2, 7, 17, 1, 52, 46, 2, 35, 34, 14, 2, + 21, 17, 62, 3, 2,102,109,183,134, 75, 32, 56, 78, 45,141, 37, 63, 45, 25, 51, 88,116, 64,165,145, 90,146,102, 55, 86,144,190, +104, 1, 79, 30, 54, 73, 43, 27, 49, 37, 22, 72,123, 89, 51,254, 20, 1,218, 5, 67,137,213,151, 83,152,138,125, 55, 96, 51,104, +114,125, 71,111,153, 97, 48, 7, 2, 94,188,193, 80,144,201,122,149,217,144, 74, 5,254, 38, 4, 37, 98,148,101, 51, 23, 53, 87, + 65,253,160, 7, 59,107,159, 0, 0, 1,255,236,254, 20, 4, 37, 4, 78, 0, 40, 0,160, 64, 26,104, 31,120, 31, 2, 31,103, 9, +119, 9,199, 9, 3, 9, 6,118, 28, 1, 55, 28, 1, 28, 28, 30, 7, 8,184,255,192, 64, 14, 19, 22, 72, 52, 8, 1, 8, 16, 8, + 8,192, 18, 1, 18,184,255,192, 64, 25, 6, 11, 72, 18, 18, 42, 15, 42, 63, 42, 79, 42,207, 42, 4, 6,176, 37,192, 37, 2, 37, + 37, 29, 30,184,255,240, 64, 31, 30, 30, 41, 30, 27, 23, 6, 39, 6, 2, 24, 28, 40, 28, 2, 28, 9, 31, 6, 4, 0, 15, 80, 22, + 27, 7, 15, 35, 80, 0, 15, 0, 63,225, 63, 63,225, 18, 23, 57, 93, 93, 63, 17, 1, 51, 47, 56, 51, 51, 47, 93, 94, 93, 17, 51, + 47, 43, 93, 51, 47, 56, 93, 43, 51, 18, 57, 61, 47, 93, 93, 51, 51, 93, 51, 93, 49, 48, 19, 50, 30, 2, 23, 19, 1, 51, 1, 19, + 30, 3, 51, 50, 54, 55, 21, 6, 6, 35, 34, 46, 2, 39, 3, 1, 35, 1, 3, 38, 38, 35, 34, 7, 53, 54, 54,188, 45, 73, 58, 49, + 21,123, 1, 31,178,254,115,178, 14, 29, 38, 52, 37, 26, 46, 16, 22, 57, 40, 67, 95, 71, 51, 23,131,254,182,194, 1,198,160, 27, + 71, 53, 36, 28, 22, 62, 4, 78, 31, 62, 92, 61,254,168, 2, 74,252,248,254, 32, 38, 66, 51, 29, 5, 3,141, 6, 11, 38, 70,102, + 65, 1,106,253,131, 3, 62, 1,190, 79, 89, 10,143, 7, 10, 0, 0, 1, 0,164,254, 20, 5,113, 6, 18, 0, 39, 0, 76, 64, 47, + 1, 23, 71, 38, 24, 24, 30, 6, 71, 17, 87, 41, 48, 41, 64, 41,144, 41,176, 41,192, 41, 5, 15, 41, 31, 41, 2, 6, 33, 71, 30, + 84, 40, 11, 31, 15, 1, 38, 80, 22, 25, 22, 23, 27, 0, 0, 0, 63, 63, 63, 51,225, 50, 63, 51, 1, 16,246,225, 94, 93, 93, 16, +246,225, 17, 57, 47, 51,225, 50, 49, 48, 1, 17, 62, 3, 53, 52, 46, 2, 39, 51, 30, 3, 21, 20, 14, 2, 7, 17, 35, 17, 46, 3, + 53, 17, 51, 17, 20, 30, 2, 23, 17, 3, 86, 78,131, 95, 52, 8, 15, 24, 16,182, 16, 24, 16, 8, 87,147,196,109,178,111,188,137, + 76,182, 54, 90,120, 66, 6, 18,250,115, 9, 60,108,156,103, 71,128,126,131, 73, 72,131,126,126, 68,157,220,140, 69, 7,254, 38, + 1,218, 4, 65,136,214,154, 2, 31,253,217,114,154, 97, 46, 5, 5,143, 0, 1, 0,113,255,236, 5,150, 4, 74, 0, 59, 0,112, + 64, 72, 56,103, 29, 1, 29, 71,213, 26, 1,183, 26, 1,169, 26, 1,154, 26, 1, 3, 26, 26, 5, 37, 72, 48, 87, 61, 4, 61, 20, + 61, 2,196, 61,244, 61, 2,123, 61,155, 61, 2, 64, 61, 1, 2, 48, 61, 1, 15, 61, 31, 61, 2, 6, 16, 72, 5, 86, 60, 27, 27, + 42, 10, 15, 32, 21, 80, 57, 53, 0, 22, 0, 63, 50, 50,225, 50, 63, 51, 57, 47, 1, 16,246,225, 94, 93, 93, 95, 93, 93, 93,113, + 16,246,225, 17, 57, 47, 95, 93, 93, 93, 93,225, 93, 57, 49, 48, 5, 34, 46, 2, 53, 52, 62, 2, 55, 51, 14, 3, 21, 20, 30, 2, + 51, 50, 62, 2, 53, 17, 51, 17, 20, 22, 51, 50, 62, 2, 53, 52, 46, 2, 39, 51, 30, 3, 21, 20, 14, 2, 35, 34, 38, 39, 35, 6, + 6, 1,233, 90,140, 96, 50, 15, 31, 47, 32,186, 32, 47, 31, 15, 29, 54, 75, 45, 46, 68, 44, 22,178, 99, 81, 45, 75, 54, 29, 15, + 31, 47, 32,187, 32, 47, 31, 15, 50, 96,141, 90,107,139, 31, 10, 31,139, 20, 82,146,203,121, 81,143,135,135, 72, 73,134,135,142, + 82, 98,150,101, 52, 41, 72, 98, 57, 1, 50,254,206,129,139, 52,101,150, 98, 82,142,135,134, 73, 72,135,135,143, 81,121,203,146, + 82, 87, 91, 91, 87, 0,255,255, 0, 21,255,236, 2,119, 5,217, 2, 38, 1,134, 0, 0, 1, 7, 0,106,254,226, 0, 0, 0, 23, + 64, 13, 2, 1, 31, 17, 38, 2, 1, 50, 22, 42, 20, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,164,255,236, 4, 61, + 5,217, 2, 38, 1,146, 0, 0, 1, 6, 0,106, 0, 0, 0, 25,182, 2, 1, 39, 17, 38, 2, 1,184,255,222,180, 30, 50, 5, 27, + 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,113,255,236, 4, 45, 6, 33, 2, 38, 0, 82, 0, 0, 1, 6, 1, 84, 14, 0, + 0, 19, 64, 11, 2, 44, 17, 38, 2, 61, 32, 38, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164,255,236, 4, 61, 6, 33, + 2, 38, 1,146, 0, 0, 1, 6, 1, 84, 16, 0, 0, 19, 64, 11, 1, 42, 17, 38, 1, 29, 30, 36, 5, 27, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0,113,255,236, 5,150, 6, 33, 2, 38, 1,150, 0, 0, 1, 7, 1, 84, 0,195, 0, 0, 0, 33, 64, 9, 1, 72, + 17, 38, 1, 96, 60, 1, 60,184,255,192, 64, 9, 9, 11, 72, 61, 60, 66, 5, 48, 37, 1, 43, 43, 93, 53, 0, 43, 53, 0,255,255, + 0,199, 0, 0, 3,190, 7, 43, 2, 38, 0, 40, 0, 0, 1, 7, 0,106,255,245, 1, 82, 0, 23, 64, 13, 2, 1, 21, 5, 38, 2, + 1, 1, 12, 32, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 1, 0, 20,255,236, 5, 6, 5,182, 0, 37, 0,133, 64, 90, + 4, 4, 19, 12, 90, 15, 33, 1,223, 33,255, 33, 2, 33, 85, 39, 15, 39,111, 39,127, 39, 3, 6, 26,244, 24, 1,160, 24,176, 24, + 2,116, 24, 1, 24, 24, 18, 90, 19, 0, 21, 48, 21, 64, 21, 80, 21,192, 21, 5, 21, 21,176, 19, 1,103, 19,119, 19, 2, 94, 19, + 1, 63, 19, 79, 19, 2, 0, 19, 1, 19, 17, 95, 26, 26, 7, 25, 21, 95, 22, 3, 19, 18, 7, 95, 0, 19, 0, 63,225, 63, 63,225, + 50, 18, 57, 47,225, 1, 47, 93, 93, 93, 93, 93, 51, 47, 93, 16,225, 50, 47, 93, 93, 93, 50, 94, 93, 16,246, 93,113,225, 18, 57, + 47, 49, 48, 5, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 53, 53, 52, 38, 35, 33, 17, 35, 17, 33, 53, 33, 21, 33, 17, 33, 50, 30, + 2, 21, 21, 20, 14, 2, 3,158, 47, 70, 25, 29, 68, 39, 32, 64, 51, 33,105,123,254,187,187,254,172, 3,177,254, 94, 1, 90, 93, +146,101, 53, 53, 95,132, 20, 13, 11,160, 9, 12, 19, 51, 87, 69,133,115,116,253, 35, 5, 18,164,164,254,111, 49, 94,139, 89,137, +105,154,101, 49,255,255, 0,199, 0, 0, 3,190, 7,115, 2, 38, 1, 97, 0, 0, 1, 7, 0,118, 0, 51, 1, 82, 0, 19, 64, 11, + 1, 18, 5, 38, 1, 62, 6, 12, 4, 0, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,125,255,236, 4,152, 5,203, 0, 38, 0, 95, + 64, 19, 17, 64, 19, 24, 72, 7, 17, 7, 17, 27,202, 35, 1,112, 35,128, 35, 2, 35,184,255,192, 64, 36, 7, 10, 72, 35, 35, 40, +191, 40, 1, 5, 8, 91, 27,102, 39, 8, 95, 15, 5,175, 5, 2, 8, 5, 5, 13, 36, 0, 95, 32, 4, 13, 95, 16, 22, 19, 0, 63, + 51,225, 63,225, 51, 18, 57, 47, 94, 93,225, 1, 16,246,225, 50, 93, 17, 51, 47, 43, 93, 93, 18, 57, 57, 47, 47, 43, 49, 48, 1, + 34, 14, 2, 7, 33, 21, 33, 30, 3, 51, 50, 54, 55, 21, 14, 3, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, 7, 38, + 38, 3, 25, 95,160,120, 77, 13, 2,116,253,134, 5, 64,118,171,113, 89,160, 78, 39, 78, 85, 97, 59,164,240,157, 76, 87,169,250, +162,108,196, 79, 78, 63,148, 5, 39, 65,122,175,111,162,130,201,138, 72, 35, 23,162, 15, 23, 14, 7,108,198, 1, 22,169,166, 1, + 20,198,110, 44, 42,156, 32, 46,255,255, 0,104,255,236, 3,201, 5,203, 2, 6, 0, 54, 0, 0,255,255, 0, 82, 0, 0, 2,100, + 5,182, 2, 6, 0, 44, 0, 0,255,255, 0, 64, 0, 0, 2,119, 7, 43, 2, 38, 0, 44, 0, 0, 1, 7, 0,106,255, 13, 1, 82, + 0, 23, 64, 13, 2, 1, 21, 5, 38, 2, 1, 0, 12, 32, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255,255, 72,254,123, + 1,115, 5,182, 2, 6, 0, 45, 0, 0, 0, 2, 0, 0,255,233, 6,223, 5,182, 0, 42, 0, 53, 0,141,181, 37, 43, 90, 6, 13, + 8,184,255,248, 64, 83, 20, 23, 72, 8, 90, 35,153, 30, 1, 30, 16, 30, 35, 0, 6,144, 6, 2, 6,224, 35, 1,180, 35,196, 35, +212, 35, 3, 0, 35, 80, 35,144, 35,160, 35, 4, 7, 6, 35, 6, 35, 21, 47, 91, 0,103, 55,207, 55, 1, 55, 64, 6, 9, 72, 21, + 21, 54, 53, 95, 15, 37,175, 37, 2, 8, 37, 37, 43, 8, 95, 35, 3, 25, 96, 18, 19, 43, 96, 6, 18, 0, 63,225, 63,225, 63,225, + 18, 57, 47, 94, 93,225, 17, 1, 51, 47, 43, 93, 16,246,225, 17, 57, 57, 47, 47, 94, 93, 93, 93, 94, 93, 17, 51, 56, 93, 16,225, + 43, 50, 16,225, 50, 49, 48, 1, 20, 14, 2, 35, 33, 17, 33, 14, 3, 7, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 55, + 54, 54, 18, 18, 55, 33, 17, 51, 50, 30, 2, 1, 51, 50, 54, 53, 52, 46, 2, 35, 35, 6,223, 60,126,194,134,254,191,254,194, 15, + 31, 33, 34, 16, 20, 53, 79,110, 78, 35, 74, 28, 23, 58, 32, 48, 62, 42, 26, 12, 12, 32, 39, 43, 22, 2,147,109,152,207,126, 55, +253,119,119,174,164, 46, 91,139, 93, 88, 1,172, 97,158,112, 61, 5, 18,113,244,236,212, 81,103,162,111, 59, 14, 11,154, 13, 16, + 63, 98,117, 54, 57,200, 1, 6, 1, 58,170,253,152, 66,113,152,254,157,132,136, 70, 97, 60, 27, 0, 2, 0,199, 0, 0, 7, 12, + 5,182, 0, 22, 0, 33, 0, 83, 64, 50, 17, 23, 90, 14, 6, 6, 10, 27, 91, 0,103, 35, 15, 35, 1, 15, 35, 31, 35,127, 35,255, + 35, 4, 13, 9, 90, 10,100, 34, 33, 8, 95, 17, 15, 13,175, 13, 2, 8, 13, 13, 15, 11, 3, 23, 96, 10, 6, 18, 0, 63, 51,225, + 63, 51, 57, 47, 94, 93, 51,225, 50, 1, 16,246,225, 50, 93,113, 16,246,225, 17, 57, 47, 51,225, 50, 49, 48, 1, 20, 14, 2, 35, + 33, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 51, 50, 30, 2, 1, 51, 50, 54, 53, 52, 46, 2, 35, 35, 7, 12, 60,126,194,134, +254,191,253,184,186,186, 2, 72,186,109,152,207,126, 55,253,119,119,174,164, 46, 91,139, 93, 88, 1,172, 97,158,112, 61, 2,170, +253, 86, 5,182,253,152, 2,104,253,152, 66,113,152,254,157,132,136, 70, 97, 60, 27, 0, 0, 1, 0, 20, 0, 0, 5, 6, 5,182, + 0, 21, 0,115, 64, 77, 8, 90, 7, 85, 23, 15, 23,111, 23,127, 23, 3, 6,244, 20, 1,160, 20,176, 20, 2,116, 20, 1, 20, 20, + 0, 14, 90, 15, 0, 17, 48, 17, 64, 17, 80, 17,192, 17, 5, 17, 17,176, 15, 1,103, 15,119, 15, 2, 94, 15, 1, 63, 15, 79, 15, + 2, 0, 15, 1, 15, 21, 17, 95, 18, 13, 95, 0, 0, 7, 18, 3, 15, 7, 18, 0, 63, 51, 63, 18, 57, 47,225, 16,225, 50, 1, 47, + 93, 93, 93, 93, 93, 51, 47, 93, 16,225, 50, 50, 47, 93, 93, 93, 94, 93, 16,246,225, 49, 48, 1, 33, 50, 30, 2, 21, 17, 35, 17, + 52, 38, 35, 33, 17, 35, 17, 33, 53, 33, 21, 33, 2, 35, 1, 90, 93,146,101, 53,186,105,123,254,187,187,254,172, 3,177,254, 94, + 3,129, 49, 94,139, 89,253,242, 1,246,115,116,253, 35, 5, 18,164,164,255,255, 0,199, 0, 0, 4,162, 7,115, 2, 38, 1,180, + 0, 0, 1, 7, 0,118, 0,137, 1, 82, 0, 19, 64, 11, 1, 23, 5, 38, 1, 34, 11, 17, 4, 0, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0, 25,255,236, 4,174, 7,105, 2, 38, 1,189, 0, 0, 1, 7, 2, 54, 0, 35, 1, 82, 0, 19, 64, 11, 1, 39, 5, 38, + 1, 13, 44, 34, 19, 0, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,199,254,127, 4,193, 5,182, 0, 11, 0, 99, 64, 65,198, 2, +214, 2, 2, 2, 90,197, 3,213, 3, 2,168, 3, 1,150, 3, 1, 3, 16, 14, 17, 72, 71, 3, 1, 58, 3, 1, 3, 3, 5, 9, 90, + 0,101, 13,176, 13, 1,111, 13,159, 13,175, 13, 3, 16, 13, 1, 8, 90, 5,100, 12, 10, 6, 3, 8, 95, 5, 2, 2, 1, 5, 0, + 47, 51, 51, 47, 16,225, 63, 51, 1, 16,246,225, 93, 93, 93, 16,246,225, 17, 57, 47, 93, 93, 43, 93, 93, 93,225, 93, 49, 48, 33, + 33, 17, 35, 17, 33, 17, 51, 17, 33, 17, 51, 4,193,254, 90,177,254, 93,186, 2,133,187,254,127, 1,129, 5,182,250,240, 5, 16, +255,255, 0, 0, 0, 0, 4,221, 5,188, 2, 6, 0, 36, 0, 0, 0, 2, 0,199, 0, 0, 4, 51, 5,182, 0, 16, 0, 27, 0, 75, + 64, 46, 95, 8, 1, 8, 8, 17, 21, 91, 0,103, 29, 15, 29, 95, 29,127, 29,207, 29, 4, 6, 11, 17, 90, 6,100, 28, 27, 95, 15, + 11,175, 11, 2, 8, 11, 11, 17, 10, 95, 7, 3, 17, 96, 6, 18, 0, 63,225, 63,225, 18, 57, 47, 94, 93,225, 1, 16,246,225, 50, + 94, 93, 16,246,225, 18, 57, 47, 93, 49, 48, 1, 20, 14, 2, 35, 33, 17, 33, 21, 33, 17, 51, 50, 30, 2, 1, 51, 50, 54, 53, 52, + 46, 2, 35, 35, 4, 51, 60,126,194,134,254,150, 3, 20,253,166,150,152,207,126, 55,253, 78,160,174,164, 46, 91,139, 93,129, 1, +172, 97,158,112, 61, 5,182,164,254, 60, 66,113,152,254,157,132,136, 70, 97, 60, 27, 0,255,255, 0,199, 0, 0, 4,135, 5,182, + 2, 6, 0, 37, 0, 0,255,255, 0,199, 0, 0, 3,190, 5,182, 2, 6, 1, 97, 0, 0, 0, 2, 0, 14,254,127, 5, 10, 5,182, + 0, 17, 0, 27, 0,139, 64, 11, 24, 27, 40, 27, 2, 27, 7, 55, 20, 1, 20,184,255,248, 64, 11, 20, 23, 72, 20, 90, 14, 15, 7, + 1, 7, 7,184,255,240, 64, 16, 48, 14,192, 14, 2, 7, 14, 7, 14, 5, 18, 90, 16, 1, 90, 0,184,255,192, 64, 37, 16, 21, 72, + 0, 0, 16,101, 29, 32, 29, 1, 15, 29, 1, 8, 4, 90, 5, 5, 28, 20, 95, 14, 3, 9, 81, 8, 27, 16, 6, 95, 3, 0, 5, 5, + 3, 18, 0, 63, 51, 47, 51, 16,225, 50, 50, 47,226, 63,225, 17, 1, 51, 47,225, 94, 93, 93, 16,228, 50, 47, 43,225, 16,225, 17, + 57, 57, 47, 47, 93, 56, 94, 93, 16,225, 43, 93, 17, 51, 93, 49, 48, 1, 35, 17, 33, 17, 35, 17, 51, 62, 5, 55, 33, 17, 51, 33, + 17, 33, 14, 5, 7, 5, 10,176,252,100,176,113, 47, 86, 77, 65, 48, 29, 4, 2,101,194,254,131,254,250, 4, 31, 46, 61, 70, 77, + 39,254,127, 1,129,254,127, 2, 39, 85,200,217,230,232,227,105,250,240, 4,106, 76,185,202,209,200,183, 75, 0,255,255, 0,199, + 0, 0, 3,190, 5,182, 2, 6, 0, 40, 0, 0, 0, 1, 0, 4, 0, 0, 6,129, 5,182, 0, 17, 0,203, 64, 78,102, 9,118, 9, +134, 9, 3, 55, 9, 71, 9, 87, 9, 3, 9, 6, 6, 71, 13,247, 13, 2, 13, 90,105, 0,121, 0,137, 0, 3, 56, 0, 72, 0, 88, + 0, 3, 0, 3, 3,168, 14,184, 14, 2,153, 14, 1,134, 14, 1, 87, 14,103, 14,119, 14, 3, 14, 14, 17, 10, 7, 8, 8, 11, 0, + 10, 1,112, 10,128, 10,192, 10, 3, 10,184,255,192, 64, 38, 7, 10, 72, 10, 16, 10, 10, 19,240, 19, 1,191, 19,207, 19,223, 19, + 3,160, 19, 1,143, 19, 1, 64, 19, 1, 15, 19, 31, 19, 2, 8, 2, 1, 1, 16, 17,184,255,240, 64, 15, 17, 17, 18, 6, 3, 3, + 4, 17, 10, 14, 18, 7, 1, 4, 3, 0, 63, 51, 51, 63, 51, 51, 18, 57, 17, 51, 17, 1, 51, 47, 56, 51, 51, 17, 51, 94, 93, 93, + 93, 93, 93, 93, 17, 51, 47, 56, 43, 93,113, 51, 51, 17, 51, 17, 18, 57, 47, 93, 93, 93, 93, 51, 17, 51, 93, 93,225, 93, 50, 17, + 51, 93, 93, 49, 48, 1, 1, 51, 1, 17, 51, 17, 1, 51, 1, 1, 35, 1, 17, 35, 17, 1, 35, 2, 37,253,237,205, 2, 10,179, 2, + 10,205,253,237, 2, 33,211,253,238,179,253,238,211, 2,242, 2,196,253, 60, 2,196,253, 60, 2,196,253, 60,253, 14, 2,229,253, + 27, 2,229,253, 27, 0, 0, 1, 0, 72,255,236, 3,236, 5,203, 0, 57, 0,104, 64, 63, 39, 91, 0, 5, 33, 0, 48, 33, 0, 0, + 33, 48, 3, 19, 28, 91, 11,103, 59,159, 59, 1,112, 19,128, 19, 2, 63, 19, 79, 19, 95, 19, 3, 19, 19, 58, 5, 32, 96,170, 33, + 1,120, 33, 1, 15, 33, 1, 8, 33, 33, 25, 47, 44, 96, 53, 4, 25, 96, 20, 16, 19, 0, 63, 51,225, 63,225, 51, 18, 57, 47, 94, + 93, 93, 93,225, 57, 17, 1, 51, 47, 93, 93, 93, 16,246,225, 18, 23, 57, 47, 47, 47, 17, 18, 57, 16,225, 49, 48, 1, 20, 14, 2, + 7, 21, 30, 3, 21, 20, 14, 2, 35, 34, 38, 39, 53, 30, 3, 51, 50, 54, 53, 52, 38, 35, 35, 53, 51, 50, 62, 2, 53, 52, 46, 2, + 35, 34, 6, 7, 39, 62, 3, 51, 50, 30, 2, 3,209, 51, 91,125, 75, 87,138, 94, 50, 67,136,205,137,110,192, 85, 43, 96, 99, 99, + 46,178,176,207,186,191,176, 92,142, 97, 50, 37, 68, 95, 58,110,169, 75, 92, 38, 98,116,131, 71,109,166,113, 57, 4, 96, 73,120, + 88, 57, 12, 6, 11, 57, 89,119, 72, 96,160,116, 64, 34, 45,170, 23, 36, 24, 13,148,135,135,129,151, 39, 72,101, 61, 54, 83, 58, + 30, 67, 54,125, 31, 54, 41, 24, 54, 97,133, 0, 0, 1, 0,201, 0, 0, 5, 16, 5,182, 0, 23, 0,107, 64, 27, 20, 11, 14, 90, + 13,101, 25,208, 25, 1,175, 25, 1, 32, 25, 48, 25, 2, 22, 9, 2, 90, 23,100, 24, 23, 9,184,255,232,179, 20, 24, 72, 9,184, +255,224, 64, 35, 10, 19, 72, 6, 9, 22, 9, 38, 9, 3, 9, 13, 18, 20, 24, 20, 24, 72, 20, 32, 10, 19, 72, 9, 20, 25, 20, 41, + 20, 3, 7, 20, 11, 0, 3, 0, 63, 50, 50, 94, 93, 43, 43, 63, 51, 93, 43, 43, 51, 1, 16,246,225, 50, 50, 93, 93, 93, 16,246, +225, 50, 50, 49, 48, 19, 51, 17, 20, 14, 2, 7, 6, 7, 51, 1, 51, 17, 35, 17, 52, 54, 55, 54, 55, 35, 1, 35,201,174, 1, 2, + 2, 2, 4, 4, 7, 2,204,213,172, 6, 4, 4, 5, 8,253, 49,215, 5,182,252,224, 26, 62, 67, 67, 32, 74, 76, 4,180,250, 74, + 3, 25, 57,142, 65, 76, 77,251, 70, 0,255,255, 0,201, 0, 0, 5, 16, 7,105, 2, 38, 1,178, 0, 0, 1, 7, 2, 54, 0,137, + 1, 82, 0, 21,180, 1, 29, 5, 38, 1,184,255,235,180, 34, 24, 0, 12, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,199, 0, 0, + 4,162, 5,182, 0, 10, 0, 94, 64, 33, 8, 9, 9, 16, 9, 1, 0, 0, 16, 0, 2, 7, 0, 16, 0, 0, 12,176, 12, 1, 47, 12, + 1, 16, 12, 1,151, 10, 1, 86, 10, 1, 10,184,255,248, 64, 20, 8, 12, 72, 10, 7, 7, 3, 90, 4,100, 11, 7, 2, 4, 8, 5, + 3, 4, 0, 18, 0, 63, 50, 63, 51, 18, 57, 57, 1, 16,246,225, 50, 17, 51, 43, 93, 93, 93, 93, 93, 17, 51, 47, 56, 94, 93, 51, + 51, 56, 17, 51, 49, 48, 33, 35, 1, 17, 35, 17, 51, 17, 1, 51, 1, 4,162,219,253,186,186,186, 2, 53,207,253,203, 2,229,253, + 27, 5,182,253, 60, 2,196,253, 66, 0, 0, 1, 0, 0,255,233, 4,147, 5,182, 0, 31, 0, 98,177, 8, 3,184,255,248, 64, 59, + 20, 23, 72, 3, 90,137, 25, 1, 25, 16, 25,224, 30, 1,180, 30,196, 30,212, 30, 3, 0, 30, 80, 30,128, 30, 3, 7, 30, 30, 16, + 1, 90, 0,101, 33, 15, 33, 31, 33,127, 33, 3, 8, 16, 16, 32, 3, 95, 30, 3, 20, 96, 17, 13, 19, 0, 18, 0, 63, 63, 51,225, + 63,225, 17, 1, 51, 47, 94, 93, 16,246,225, 17, 57, 47, 94, 93, 93, 93, 51, 56, 93,225, 43, 50, 49, 48, 33, 35, 17, 33, 14, 3, + 7, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 55, 54, 54, 18, 18, 55, 33, 4,147,186,254,133, 15, 31, 33, 34, 16, 20, + 53, 79,110, 78, 35, 74, 28, 23, 58, 32, 48, 62, 42, 26, 12, 12, 32, 39, 43, 22, 2,208, 5, 18,113,244,236,212, 81,103,162,111, + 59, 14, 11,154, 13, 16, 63, 98,117, 54, 57,200, 1, 6, 1, 58,170, 0,255,255, 0,199, 0, 0, 6, 47, 5,182, 2, 6, 0, 48, + 0, 0,255,255, 0,199, 0, 0, 4,213, 5,182, 2, 6, 0, 43, 0, 0,255,255, 0,125,255,236, 5,113, 5,205, 2, 6, 0, 50, + 0, 0,255,255, 0,199, 0, 0, 4,193, 5,182, 2, 6, 1,110, 0, 0,255,255, 0,199, 0, 0, 4, 51, 5,182, 2, 6, 0, 51, + 0, 0,255,255, 0,125,255,236, 4,152, 5,203, 2, 6, 0, 38, 0, 0,255,255, 0, 20, 0, 0, 4, 18, 5,182, 2, 6, 0, 55, + 0, 0, 0, 1, 0, 25,255,236, 4,174, 5,182, 0, 33, 0,111, 64, 16, 18, 1, 27, 27, 19, 33, 96, 0,112, 0,176, 0,240, 0, + 4, 0,184,255,192, 64, 16, 6, 10, 72, 0, 16, 0, 0, 35, 15, 35,127, 35, 2, 20, 9, 19,184,255,240, 64, 12, 19, 19, 34,231, + 26,247, 26, 2,214, 26, 1, 26,184,255,224, 64, 16, 10, 14, 72, 18, 1, 26, 3, 0, 13, 95, 10, 6, 19, 19, 0, 3, 0, 63, 50, + 63, 51,225, 17, 23, 57, 43, 93, 93, 17, 1, 51, 47, 56, 51, 51, 93, 17, 51, 47, 56, 43, 93, 51, 18, 57, 17, 51, 51, 49, 48, 1, + 1, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 55, 1, 51, 1, 30, 3, 23, 51, 62, 3, 55, 1, 4,174,254, 84, 38, 83, +112,156,111, 51, 90, 37, 37, 89, 52, 53, 82, 66, 56, 28,253,238,204, 1,127, 5, 10, 9, 9, 4, 2, 3, 11, 11, 11, 3, 1, 55, + 5,182,251,250, 93,164,123, 72, 15, 15,185, 20, 25, 23, 53, 86, 63, 4, 63,252,215, 10, 24, 26, 23, 9, 9, 31, 33, 29, 7, 3, + 24, 0,255,255, 0,104,255,236, 5,186, 5,203, 2, 6, 1,115, 0, 0,255,255, 0, 0, 0, 0, 4, 96, 5,182, 2, 6, 0, 59, + 0, 0, 0, 1, 0,199,254,127, 5,113, 5,182, 0, 11, 0, 59, 64, 33, 3, 90, 2, 2, 9, 90, 0, 13,176, 13, 1,175, 13, 1, + 16, 13, 1, 8, 90, 5,100, 12, 10, 6, 3, 0, 8, 95, 5, 2, 2, 5, 18, 0, 63, 51, 47, 16,225, 50, 63, 51, 1, 16,246,225, + 93, 93, 93, 16,212,225, 51, 47,225, 49, 48, 37, 51, 17, 35, 17, 33, 17, 51, 17, 33, 17, 51, 4,193,176,176,252, 6,186, 2,133, +187,166,253,217, 1,129, 5,182,250,240, 5, 16, 0, 1, 0,166, 0, 0, 4,129, 5,182, 0, 21, 0, 72, 64, 29, 19, 1, 90, 0, +101, 23,112, 23,160, 23, 2, 47, 23, 1, 16, 23, 1, 13, 90, 96, 10,112, 10,160, 10,176, 10, 4, 10,184,255,192, 64, 14, 7, 10, + 72, 10, 19, 16, 95, 5, 5, 20, 11, 3, 0, 18, 0, 63, 63, 51, 57, 47,225, 51, 1, 47, 43, 93,225, 93, 93, 93, 16,246,225, 50, + 49, 48, 33, 35, 17, 6, 6, 35, 34, 46, 2, 53, 17, 51, 17, 20, 22, 51, 50, 54, 55, 17, 51, 4,129,186,115,195, 98, 93,146,101, + 53,186,105,123, 90,185,112,186, 2, 86, 44, 46, 49, 95,138, 89, 2, 71,253,209,115,116, 40, 40, 2,198, 0, 1, 0,199, 0, 0, + 7, 51, 5,182, 0, 11, 0, 96, 64, 66, 86, 8, 1, 8, 90, 23, 5, 1,134, 5,150, 5,166, 5, 3,103, 5,119, 5, 2, 5, 5, + 1, 9, 90, 0,101, 13, 0, 13, 16, 13, 2, 32, 13, 80, 13,112, 13,128, 13,192, 13,208, 13,224, 13, 7, 15, 13, 1, 7, 4, 90, + 1,100, 12, 10, 6, 2, 3, 8, 4, 95, 1, 18, 0, 63,225, 50, 63, 51, 51, 1, 16,246,225, 94, 93, 93,113, 16,246,225, 17, 57, + 47, 93, 93,113,225, 93, 49, 48, 33, 33, 17, 51, 17, 33, 17, 51, 17, 33, 17, 51, 7, 51,249,148,186, 2, 31,186, 2, 31,186, 5, +182,250,240, 5, 16,250,240, 5, 16, 0, 0, 1, 0,199,254,127, 7,227, 5,182, 0, 15, 0,113, 64, 75, 86, 12, 1, 12, 90, 23, + 9, 1,134, 9,150, 9,166, 9, 3,103, 9,119, 9, 2, 9, 9, 5, 13, 90, 0, 3, 90, 2, 2, 0,101, 17, 0, 17, 16, 17, 2, + 32, 17, 80, 17,112, 17,128, 17,192, 17,208, 17,224, 17, 7, 15, 17, 1, 7, 8, 90, 5,100, 16, 14, 10, 6, 3, 12, 0, 8, 95, + 5, 2, 2, 5, 18, 0, 63, 51, 47, 16,225, 50, 50, 63, 51, 51, 1, 16,246,225, 94, 93, 93,113, 16,228, 50, 47,225, 16,225, 17, + 57, 47, 93, 93,113,225, 93, 49, 48, 37, 51, 17, 35, 17, 33, 17, 51, 17, 33, 17, 51, 17, 33, 17, 51, 7, 51,176,176,249,148,186, + 2, 31,186, 2, 31,186,166,253,217, 1,129, 5,182,250,240, 5, 16,250,240, 5, 16, 0, 0, 2, 0, 20, 0, 0, 4,213, 5,182, + 0, 16, 0, 27, 0, 82, 64, 51, 11, 17, 90,144, 6, 1, 6, 6, 8, 21, 91, 0,103, 29, 15, 29, 1, 15, 29, 47, 29, 63, 29, 95, + 29,175, 29, 5, 6, 8, 8, 28, 27, 95, 15, 11,175, 11, 2, 8, 11, 11, 17, 8, 95, 9, 3, 17, 96, 6, 18, 0, 63,225, 63,225, + 18, 57, 47, 94, 93,225, 17, 1, 51, 47, 94, 93,113, 16,246,225, 17, 57, 47, 93,225, 50, 49, 48, 1, 20, 14, 2, 35, 33, 17, 33, + 53, 33, 17, 51, 50, 30, 2, 1, 51, 50, 54, 53, 52, 46, 2, 35, 35, 4,213, 60,126,194,134,254,149,254,172, 2, 15,149,152,207, +127, 55,253, 78,160,174,163, 45, 92,138, 93,129, 1,172, 97,158,112, 61, 5, 18,164,253,152, 66,113,152,254,157,132,136, 70, 97, + 60, 27, 0, 3, 0,199, 0, 0, 5,207, 5,182, 0, 14, 0, 25, 0, 29, 0, 73, 64, 43, 19, 91, 0, 0, 1, 0, 0, 6, 26, 90, + 29,101, 31, 15, 31,159, 31, 2, 6, 9, 15, 90, 6,100, 30, 25, 95, 15, 9,175, 9, 2, 8, 9, 9, 27, 7, 3, 15, 96, 26, 6, + 18, 0, 63, 51,225, 63, 51, 57, 47, 94, 93,225, 1, 16,246,225, 50, 94, 93, 16,246,225, 17, 57, 47, 93,225, 49, 48, 1, 20, 14, + 2, 35, 33, 17, 51, 17, 51, 50, 30, 2, 1, 51, 50, 54, 53, 52, 46, 2, 35, 35, 1, 17, 51, 17, 4, 51, 60,126,194,134,254,150, +186,150,152,207,126, 55,253, 78,160,174,164, 46, 91,139, 93,129, 3,147,187, 1,172, 97,158,112, 61, 5,182,253,152, 66,113,152, +254,157,132,136, 70, 97, 60, 27,253, 86, 5,182,250, 74, 0, 2, 0,199, 0, 0, 4, 51, 5,182, 0, 14, 0, 25, 0, 72, 64, 46, + 19, 91,144, 0, 1, 0,103, 27, 15, 27, 95, 27, 2, 6, 27, 64, 21, 24, 72, 27, 64, 13, 19, 72, 9, 15, 90, 6,100, 26, 25, 95, + 15, 9,175, 9, 2, 8, 9, 9, 7, 3, 15, 96, 6, 18, 0, 63,225, 63, 57, 47, 94, 93,225, 1, 16,246,225, 50, 43, 43, 94, 93, + 16,246, 93,225, 49, 48, 1, 20, 14, 2, 35, 33, 17, 51, 17, 51, 50, 30, 2, 1, 51, 50, 54, 53, 52, 46, 2, 35, 35, 4, 51, 60, +126,194,134,254,150,186,150,152,207,126, 55,253, 78,160,174,164, 46, 91,139, 93,129, 1,172, 97,158,112, 61, 5,182,253,152, 66, +113,152,254,157,132,136, 70, 97, 60, 27, 0, 1, 0, 59,255,236, 4, 68, 5,203, 0, 36, 0, 81, 64, 47, 29, 32, 91, 12, 22, 30, + 22, 30, 4, 12,103, 38,191, 38,207, 38,223, 38, 3, 4, 4, 37, 30, 95,170, 31, 1,120, 31, 1, 15, 31, 1, 8, 31, 31, 7, 26, + 95, 23, 17, 19, 3, 0, 95, 7, 4, 0, 63,225, 51, 63, 51,225, 17, 57, 47, 94, 93, 93, 93,225, 17, 1, 51, 47, 93, 16,230, 17, + 57, 57, 47, 47, 16,225, 50, 49, 48, 1, 34, 6, 7, 39, 54, 54, 51, 50, 22, 22, 18, 21, 20, 2, 6, 6, 35, 34, 46, 2, 39, 53, + 22, 22, 51, 50, 18, 19, 33, 53, 33, 46, 3, 1,186, 94,148, 63, 78, 79,196,108,162,244,162, 82, 82,165,247,164, 58, 97, 86, 78, + 39, 78,160, 89,237,247, 6,253,139, 2,113, 9, 71,115,157, 5, 39, 46, 32,156, 42, 44,109,193,254,246,157,179,254,224,202,109, + 7, 14, 23, 15,162, 23, 35, 1, 23, 1, 6,162,111,176,122, 64, 0, 2, 0,199,255,236, 7,158, 5,205, 0, 26, 0, 46, 0, 94, + 64, 60, 27, 91, 10,144, 17, 1, 17, 17, 13, 37, 91, 0,103, 48, 15, 48, 1, 63, 48,111, 48,127, 48,239, 48,255, 48, 5, 48, 64, + 17, 20, 72, 16, 12, 90, 13,100, 47, 42, 95, 22, 4, 11, 95, 15, 16, 1, 8, 16, 16, 13, 14, 3, 13, 18, 32, 95, 5, 19, 0, 63, +225, 63, 63, 18, 57, 47, 94, 93,225, 63,225, 1, 16,246,225, 50, 43, 93,113, 16,246,225, 17, 57, 47, 93, 51,225, 49, 48, 1, 20, + 2, 6, 6, 35, 34, 38, 38, 2, 39, 33, 17, 35, 17, 51, 17, 33, 62, 3, 51, 50, 22, 22, 18, 5, 20, 30, 2, 51, 50, 62, 2, 53, + 52, 46, 2, 35, 34, 14, 2, 7,158, 79,155,229,150,151,225,152, 80, 6,254,174,186,186, 1, 86, 11, 85,152,219,145,149,229,154, + 79,251,250, 49,103,157,108,109,157,102, 48, 48,101,157,108,109,158,103, 49, 2,221,169,254,234,198,108,100,183, 1, 3,160,253, + 86, 5,182,253,152,146,236,167, 90,107,197,254,235,171,137,219,153, 81, 81,153,219,137,138,218,151, 81, 81,151,218, 0, 0, 2, + 0, 25, 0, 0, 3,242, 5,182, 0, 15, 0, 28, 0,155, 64, 9, 6, 0, 1,230, 0,246, 0, 2, 0,184,255,248, 64, 36, 11, 15, + 72, 28, 14, 90, 3, 0, 0, 8, 13,101, 30, 63, 30,143, 30,159, 30,191, 30,223, 30, 5, 32, 30, 1, 6, 1, 1,230, 1,246, 1, + 2, 1,184,255,248, 64, 13, 11, 15, 72, 1, 75, 2, 1, 2, 64, 8, 11, 72, 2,184,255,240, 64, 38, 2, 2, 22, 91,223, 8,239, + 8,255, 8, 3, 8, 64, 15, 19, 72, 7, 8, 23, 8, 2, 8, 8,102, 29, 28, 96, 3, 15, 15, 1, 17, 96, 11, 3, 14, 1, 18, 0, + 63, 51, 63,225, 18, 57, 47, 51,225, 1, 16,246, 94, 93, 43, 93,225, 51, 47, 56, 43, 93, 51, 43, 93,113, 93, 93, 16,246, 17, 57, + 17, 51,225, 50, 43, 93,113, 49, 48, 1, 1, 35, 1, 46, 3, 53, 52, 54, 51, 33, 17, 35, 17, 17, 35, 34, 14, 2, 21, 20, 30, 2, + 51, 51, 2, 66,254,178,219, 1,125, 55, 99, 75, 44,253,251, 1,117,187,188, 74,115, 79, 41, 39, 78,119, 81,180, 2, 92,253,164, + 2,143, 20, 62, 97,136, 93,198,201,250, 74, 2, 92, 2,187, 29, 62, 97, 68, 66,105, 74, 40, 0,255,255, 0, 94,255,236, 3,156, + 4, 94, 2, 6, 0, 68, 0, 0, 0, 2, 0,117,255,236, 4, 33, 6, 35, 0, 39, 0, 59, 0, 73, 64, 44, 45, 72, 9, 30, 87, 61, +208, 61, 1,127, 61, 1, 64, 61, 1, 15, 61, 1, 6, 19, 55, 72, 0, 86, 60, 50, 80, 19, 25, 25, 8, 40, 80, 35, 22, 9, 8, 11, + 16, 72, 9, 81, 8, 1, 0, 63,225, 43, 63,225, 17, 57, 47, 51,225, 1, 16,246,225, 50, 94, 93, 93, 93, 93, 16,246, 50,225, 49, + 48, 19, 52, 18, 54, 54, 55, 54, 54, 55, 23, 14, 3, 7, 14, 3, 7, 51, 62, 3, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, + 1, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2, 7, 20, 30, 2,117, 49,104,162,113,125,242,102, 33, 50,123,125,117, 44, 62,100, + 72, 41, 4, 13, 18, 62, 84,107, 64, 99,150,101, 50, 69,124,174,104,107,173,123, 66, 1,225, 60, 98, 70, 38, 26, 58, 90, 65, 61, +106, 83, 57, 13, 25, 65,114, 2,147,181, 1, 25,203,126, 25, 27, 49, 20,160, 8, 22, 24, 24, 10, 14, 66,113,165,113, 29, 60, 49, + 32, 73,131,180,108,137,206,138, 69, 89,173,253,254,148, 39, 88,143,105, 84,134, 95, 51, 48, 68, 73, 26,100,188,147, 89, 0, 3, + 0,174, 0, 0, 4, 25, 4, 74, 0, 21, 0, 32, 0, 43, 0, 92, 64, 58, 3, 27, 33, 70, 0, 0, 15, 22, 71, 9, 87, 45, 32, 45, + 1, 64, 45,144, 45,176, 45,208, 45,240, 45, 5, 15, 45, 1, 6, 38, 27, 71, 15, 84, 44, 3, 26, 80,191, 38, 1,121, 38,137, 38, + 2, 38, 38, 27, 37, 80, 16, 15, 27, 80, 15, 21, 0, 63,225, 63,225, 18, 57, 47, 93, 93,225, 57, 1, 16,246,225, 50, 94, 93, 93, +113, 16,246,225, 18, 57, 47,225, 18, 57, 49, 48, 1, 20, 6, 7, 21, 30, 3, 21, 20, 14, 2, 35, 33, 17, 33, 50, 30, 2, 3, 52, + 38, 35, 33, 17, 33, 50, 62, 2, 3, 52, 38, 35, 33, 17, 51, 50, 62, 2, 3,246,123,107, 56, 97, 71, 41, 47,101,159,113,254, 57, + 1,197, 83,142,103, 59,144,130,128,255, 0, 1, 4, 56, 93, 67, 38, 30,109,108,254,245,236, 62, 92, 63, 31, 3, 53,104,117, 18, + 7, 7, 36, 61, 91, 63, 67,116, 86, 48, 4, 74, 28, 64,107,253,199, 92, 72,254,168, 18, 42, 69, 2, 12, 77, 64,254,215, 15, 36, + 60, 0, 0, 1, 0,174, 0, 0, 3, 10, 4, 74, 0, 5, 0, 47, 64, 28, 0, 0, 16, 0, 2, 0, 0, 7,160, 7, 1,129, 7, 1, + 80, 7, 1, 2, 71, 3, 84, 6, 1, 80, 4, 15, 2, 21, 0, 63, 63,225, 1, 16,246,225, 93, 93, 93, 17, 51, 47, 93, 49, 48, 1, + 33, 17, 35, 17, 33, 3, 10,254, 90,182, 2, 92, 3,176,252, 80, 4, 74, 0, 2, 0, 41,254,131, 4, 55, 4, 74, 0, 15, 0, 23, + 0,121, 64, 16, 23, 7, 18, 70, 12, 47, 7, 63, 7, 2, 11, 7, 27, 7, 2, 7,184,255,240, 64, 57,162, 12,178, 12, 2, 4, 12, + 20, 12, 2, 7, 12, 7, 12, 5, 16, 71, 14, 1, 70, 0, 0, 32, 14, 1, 14, 85, 25,175, 25,207, 25, 2, 48, 25, 1, 47, 25, 1, + 4, 70, 5, 5, 24, 18, 79, 12, 15, 23, 14, 6, 80, 3, 21, 5, 0,251, 0, 63, 50, 63,225, 50, 50, 63,225, 17, 1, 51, 47,225, + 93, 93, 93, 16,228, 93, 50, 47,225, 16,225, 17, 57, 57, 47, 47, 93, 93, 56, 93, 93, 16,225, 17, 51, 49, 48, 1, 35, 17, 33, 17, + 35, 17, 51, 62, 2, 18, 55, 33, 17, 51, 33, 17, 35, 14, 3, 7, 4, 55,174,253, 78,174, 86, 65, 99, 67, 34, 1, 2, 23,151,254, +178,192, 7, 36, 58, 81, 52,254,131, 1,125,254,131, 2, 23, 95,223,243, 1, 0,127,252, 80, 3, 36,103,215,209,194, 83,255,255, + 0,113,255,236, 3,225, 4, 94, 2, 6, 0, 72, 0, 0, 0, 1, 0, 4, 0, 0, 5,190, 4, 74, 0, 17, 0,156, 64, 31, 6, 3, + 3, 10, 70, 15, 0, 0,214, 11, 1,185, 11,201, 11, 2,166, 11, 1,151, 11, 1, 11, 11, 14, 7, 4, 5, 5, 8, 7,184,255,192, +179, 18, 21, 72, 7,184,255,192, 64, 36, 7, 11, 72, 15, 7, 1, 6, 7, 16, 7, 7, 19, 0, 19, 16, 19, 2,223, 19, 1, 48, 19, +112, 19,144, 19, 3, 15, 19, 1, 7, 17, 16, 16, 13, 14,184,255,240, 64, 15, 14, 14, 18, 3, 0, 0, 1, 13, 8, 10, 21, 17, 4, + 1, 15, 0, 63, 51, 51, 63, 51, 51, 18, 57, 17, 51, 17, 1, 51, 47, 56, 51, 51, 17, 51, 94, 93, 93, 93,113, 17, 51, 47, 56, 94, + 93, 43, 43, 51, 51, 17, 51, 17, 18, 57, 47, 93, 93, 93, 93, 51, 17, 51,225, 50, 17, 51, 49, 48, 1, 17, 51, 17, 1, 51, 1, 1, + 35, 1, 17, 35, 17, 1, 35, 1, 1, 51, 2,143,164, 1,160,197,254, 88, 1,206,206,254, 67,164,254, 68,207, 1,207,254, 88,197, + 2, 53, 2, 21,253,235, 2, 21,253,235,253,203, 2, 45,253,211, 2, 45,253,211, 2, 53, 2, 21, 0, 1, 0, 68,255,236, 3, 82, + 4, 94, 0, 57, 0, 95, 64, 58, 5, 70, 22, 27, 22, 57, 22, 57, 22, 12, 52, 71, 33, 87, 59,176, 59,192, 59,208, 59, 3,111, 59, + 1, 32, 59, 1, 41, 12, 86, 58, 27, 56, 80,207, 57, 1,137, 57,153, 57, 2, 15, 57, 1, 8, 57, 57, 17, 47, 80, 38, 22, 8, 80, + 17, 16, 0, 63,225, 63,225, 17, 57, 47, 94, 93, 93, 93,225, 57, 1, 16,230, 50, 93, 93, 93, 16,246,225, 18, 57, 57, 47, 47, 18, + 57, 16,225, 49, 48, 1, 50, 62, 2, 53, 52, 38, 35, 34, 6, 7, 39, 62, 3, 51, 50, 30, 2, 21, 20, 14, 2, 7, 21, 30, 3, 21, + 20, 14, 2, 35, 34, 38, 39, 53, 30, 3, 51, 50, 62, 2, 53, 52, 38, 35, 35, 53, 1,113, 61,100, 72, 39,115,108, 71,129, 75, 63, + 40, 77, 82, 90, 53, 86,144,105, 58, 28, 51, 70, 43, 44, 82, 63, 38, 53,108,166,113,109,175, 58, 31, 76, 87, 97, 51, 55, 96, 70, + 41,133,138,129, 2,135, 18, 39, 64, 45, 77, 77, 38, 34,147, 20, 28, 19, 9, 38, 74,109, 70, 50, 77, 59, 41, 14, 11, 14, 44, 66, + 90, 62, 67,117, 86, 49, 35, 34,166, 16, 31, 24, 15, 18, 42, 69, 51, 94, 91,153, 0, 1, 0,174, 0, 0, 4, 59, 4, 74, 0, 11, + 0, 81, 64, 27, 3, 16, 9, 24, 72, 3, 6, 70, 5, 85, 13, 0, 13, 16, 13, 32, 13,160, 13,192, 13,208, 13,240, 13, 7, 13,184, +255,192,179, 14, 17, 72, 9,184,255,240, 64, 17, 9, 24, 72, 9, 0, 70, 10, 84, 12, 8, 3, 11, 15, 6, 2, 10, 21, 0, 63, 51, + 51, 63, 51, 51, 1, 16,246,225, 50, 43, 43, 93, 16,246,225, 50, 43, 49, 48, 1, 17, 7, 1, 51, 17, 35, 17, 19, 1, 35, 17, 1, + 90, 12, 2, 4,233,172, 11,253,254,234, 4, 74,253,100,252, 3,152,251,182, 2,135, 1, 15,252,106, 4, 74, 0,255,255, 0,174, + 0, 0, 4, 59, 6, 23, 2, 38, 1,210, 0, 0, 1, 6, 2, 54, 37, 0, 0, 21,180, 1, 17, 17, 38, 1,184,255,255,180, 22, 12, + 10, 4, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,174, 0, 0, 3,229, 4, 74, 0, 10, 0, 65, 64, 35, 0, 1, 1, 4, 0, 3, + 16, 3, 2, 3, 16, 3, 3, 12, 15, 12, 1, 10, 2, 6, 71, 7, 84, 11, 5, 2, 10, 10, 7, 0, 8, 15, 4, 7, 21, 0, 63, 51, + 63, 51, 18, 57, 17, 51, 51, 1, 16,246,225, 50, 50, 93, 17, 51, 47, 56, 93, 51, 51, 17, 51, 49, 48, 1, 51, 1, 1, 35, 1, 17, + 35, 17, 51, 17, 2,250,196,254, 97, 1,198,206,254, 75,180,180, 4, 74,253,241,253,197, 2, 45,253,211, 4, 74,253,235, 0, 1, + 0, 16,255,242, 3,176, 4, 74, 0, 20, 0, 76, 64, 49, 3, 70, 4, 19, 1,244, 19, 1,128, 19,144, 19,192, 19,208, 19, 4, 84, + 19, 1, 19, 19, 11, 1, 71, 0, 85, 22, 15, 22, 47, 22,255, 22, 3, 6, 11, 11, 21, 3, 80, 19, 15, 14, 79, 8, 22, 1, 21, 0, + 63, 63,225, 63,225, 17, 1, 51, 47, 94, 93, 16,246,225, 17, 57, 47, 93, 93, 93,113,225, 49, 48, 33, 35, 17, 33, 2, 2, 6, 6, + 35, 34, 38, 39, 53, 22, 51, 50, 54, 54, 18, 55, 33, 3,176,182,254,254, 20, 64, 95,130, 86, 28, 49, 16, 23, 27, 55, 89, 69, 51, + 18, 2, 84, 3,176,254,253,254,148,230,105, 6, 6,131, 6,117,241, 1,111,250, 0, 1, 0,174, 0, 0, 5, 16, 4, 74, 0, 32, + 0, 94, 64, 63, 31, 1, 70, 0, 85, 34,207, 34, 1, 64, 34, 80, 34, 2, 15, 34, 1, 6, 19, 16, 70, 17, 84, 33, 2, 15, 59, 15, + 75, 15, 91, 15, 3, 9, 15, 25, 15, 41, 15, 3, 15, 31, 18, 15, 52, 25, 68, 25, 84, 25, 3, 6, 25, 22, 25, 38, 25, 3, 25, 9, + 1, 17, 21, 0, 63, 51, 51, 51, 93, 93, 63, 51, 51, 93, 93, 17, 51, 1, 16,246,225, 50, 94, 93, 93, 93, 16,246,225, 50, 49, 48, + 33, 35, 17, 14, 3, 7, 1, 35, 1, 46, 3, 39, 17, 35, 17, 51, 1, 30, 3, 23, 62, 3, 55, 1, 51, 5, 16,161, 6, 17, 20, 18, + 7,254,248,135,254,247, 5, 17, 20, 18, 7,162,221, 1, 11, 13, 22, 19, 15, 4, 6, 14, 19, 22, 13, 1, 14,217, 3,129, 21, 57, + 59, 54, 18,253, 80, 2,176, 13, 49, 59, 62, 26,252,127, 4, 74,253, 71, 34, 67, 60, 50, 16, 17, 49, 59, 65, 33, 2,189, 0, 1, + 0,174, 0, 0, 4, 59, 4, 74, 0, 11, 0, 91, 64, 23, 2, 6, 71, 5, 85, 13, 0, 13, 32, 13, 2, 48, 13, 64, 13, 80, 13,208, + 13,240, 13, 5, 13,184,255,192, 64, 35, 14, 17, 72, 1, 9, 71, 10, 84, 12, 8, 80,235, 1, 1,169, 1,185, 1, 2, 15, 1, 31, + 1, 47, 1, 3, 6, 1, 1, 10, 5, 21, 3, 0, 15, 0, 63, 50, 63, 51, 57, 47, 94, 93, 93, 93,225, 1, 16,246,225, 50, 43, 93, +113, 16,246,225, 50, 49, 48, 1, 17, 33, 17, 51, 17, 35, 17, 33, 17, 35, 17, 1,100, 2, 33,182,182,253,223,182, 4, 74,254, 57, + 1,199,251,182, 1,233,254, 23, 4, 74,255,255, 0,113,255,236, 4, 45, 4, 94, 2, 6, 0, 82, 0, 0, 0, 1, 0,174, 0, 0, + 4, 18, 4, 74, 0, 7, 0, 45, 64, 28, 5, 71, 4, 85, 9, 16, 9, 32, 9, 96, 9,112, 9,128, 9, 5, 0, 71, 1, 84, 8, 7, + 80, 2, 15, 5, 0, 21, 0, 63, 50, 63,225, 1, 16,246,225, 93, 16,246,225, 49, 48, 33, 35, 17, 33, 17, 35, 17, 33, 1,100,182, + 3,100,182,254, 8, 4, 74,251,182, 3,176, 0,255,255, 0,174,254, 20, 4, 63, 4, 94, 2, 6, 0, 83, 0, 0,255,255, 0,113, +255,236, 3,111, 4, 94, 2, 6, 0, 70, 0, 0, 0, 1, 0, 41, 0, 0, 3, 94, 4, 74, 0, 7, 0, 88, 64, 60, 32, 9, 1,223, + 9, 1,112, 9,128, 9, 2, 95, 9, 1, 15, 0, 1,204, 0, 1, 15, 0,191, 0, 2, 6, 0, 0, 2, 71, 3, 96, 5,112, 5,208, + 5, 3, 31, 5, 1, 5, 5, 0, 3, 16, 3,176, 3,192, 3, 4, 3, 1, 5, 80, 6, 15, 2, 21, 0, 63, 63,225, 50, 1, 47, 93, + 51, 47, 93, 93, 16,225, 50, 47, 94, 93, 93,113, 93, 93, 93,113, 49, 48, 1, 33, 17, 35, 17, 33, 53, 33, 3, 94,254,193,183,254, +193, 3, 53, 3,176,252, 80, 3,176,154,255,255, 0, 10,254, 20, 3,223, 4, 74, 2, 6, 0, 92, 0, 0, 0, 3, 0,113,254, 20, + 5, 35, 6, 20, 0, 25, 0, 34, 0, 41, 0,116, 64, 75, 39, 0, 11, 70, 29, 23, 12, 13, 19, 73,185, 12,201, 12, 2,151, 12,167, + 12, 2, 12, 12, 18, 35, 72, 5, 87, 43, 32, 43, 1, 15, 43, 1,159, 43,239, 43, 2,128, 43, 1,111, 43, 1, 64, 43, 1, 15, 43, + 31, 43, 2, 6, 26, 72, 18, 86, 42, 24, 0, 38, 30, 80, 0, 23, 16, 39, 29, 80, 10, 13, 22, 11, 27, 0, 63, 63, 51,225, 50, 63, + 51,225, 50, 63, 1, 16,246,225, 94, 93, 93, 93, 93, 93,113,113, 16,246,225, 17, 57, 47, 93, 93, 43, 51, 51,225, 50, 50, 49, 48, + 1, 30, 3, 21, 20, 14, 2, 7, 17, 35, 17, 46, 3, 53, 52, 62, 2, 55, 17, 51, 1, 20, 22, 23, 17, 14, 3, 5, 52, 38, 39, 17, + 54, 54, 3, 33,113,189,136, 76, 71,134,190,119,170,114,191,137, 76, 71,133,193,121,170,254, 12,156,174, 88,125, 80, 37, 3, 57, +155,170,172,153, 4, 90, 12, 85,143,198,125,125,200,145, 86, 11,254, 36, 1,220, 10, 86,144,201,126,125,199,143, 85, 11, 1,186, +252, 19,187,210, 19, 3, 60, 9, 61,103,145, 94,186,204, 20,252,198, 20,209, 0,255,255, 0, 35, 0, 0, 3,219, 4, 74, 2, 6, + 0, 91, 0, 0, 0, 1, 0,174,254,131, 4,178, 4, 74, 0, 11, 0, 68, 64, 43, 1, 71, 15, 0, 1, 6, 0, 0, 7, 71,143, 10, + 1, 10, 13, 16, 13, 32, 13, 96, 13,112, 13,128, 13,192, 13, 6, 6, 71, 3, 84, 12, 8, 4, 15, 10, 6, 80, 3, 21, 1,251, 0, + 63, 63,225, 50, 63, 51, 1, 16,246,225, 93, 16,212, 93,225, 51, 47, 94, 93,225, 49, 48, 1, 35, 17, 33, 17, 51, 17, 33, 17, 51, + 17, 51, 4,178,182,252,178,182, 1,248,182,160,254,131, 1,125, 4, 74,252, 80, 3,176,252, 80, 0, 1, 0,154, 0, 0, 3,254, + 4, 74, 0, 24, 0, 49, 64, 28, 8, 12, 71, 11, 85, 26, 16, 26, 96, 26,128, 26, 3, 1, 71, 23, 84, 25, 8, 3, 80, 18, 18, 11, + 21, 9, 0, 15, 0, 63, 50, 63, 57, 47,225, 51, 1, 16,246,225, 93, 16,246,225, 50, 49, 48, 1, 17, 20, 51, 50, 62, 2, 55, 17, + 51, 17, 35, 17, 14, 3, 35, 34, 46, 2, 53, 17, 1, 80,184, 45, 80, 76, 77, 42,182,182, 44, 80, 85, 94, 58, 78,122, 82, 43, 4, + 74,254,102,174, 15, 28, 44, 28, 1,213,251,182, 1,233, 30, 48, 32, 17, 47, 84,115, 68, 1,166, 0, 1, 0,174, 0, 0, 6, 70, + 4, 74, 0, 11, 0,102, 64, 67, 0, 71,182, 9,198, 9, 2,169, 9, 1, 3,116, 9,132, 9,148, 9, 3,103, 9, 1, 6, 9, 9, + 5, 1, 71, 4, 85, 13, 32, 13, 1, 15, 13, 1,128, 13,240, 13, 2,111, 13, 1, 64, 13, 1, 15, 13, 47, 13, 2, 6, 8, 71, 5, + 84, 12, 0, 8, 80, 5, 21, 10, 6, 2, 15, 0, 63, 51, 51, 63,225, 50, 1, 16,246,225, 94, 93, 93, 93, 93,113,113, 16,246,225, + 17, 57, 47, 95, 93, 93, 95, 93, 93,225, 49, 48, 37, 33, 17, 51, 17, 33, 17, 51, 17, 33, 17, 51, 3,213, 1,186,183,250,104,182, + 1,187,182,154, 3,176,251,182, 4, 74,252, 80, 3,176, 0, 1, 0,174,254,131, 6,229, 4, 74, 0, 15, 0,119, 64, 78, 10, 71, +182, 7,198, 7, 2,169, 7, 1, 3,116, 7,132, 7,148, 7, 3,103, 7, 1, 6, 7, 7, 3, 11, 71, 14, 1, 71, 14, 0, 1, 0, + 0,191, 14, 1, 14, 17, 32, 17, 1, 15, 17, 1, 64, 17,128, 17,224, 17,240, 17, 4, 15, 17, 47, 17, 2, 6, 6, 71, 3, 84, 16, + 12, 8, 4, 15, 14, 10, 6, 80, 3, 21, 1,251, 0, 63, 63,225, 50, 50, 63, 51, 51, 1, 16,246,225, 94, 93, 93,113,113, 16,196, + 93, 50, 47, 93,225, 16,225, 17, 57, 47, 95, 93, 93, 95, 93, 93,225, 49, 48, 1, 35, 17, 33, 17, 51, 17, 33, 17, 51, 17, 33, 17, + 51, 17, 51, 6,229,182,250,127,182, 1,187,182, 1,186,183,159,254,131, 1,125, 4, 74,252, 80, 3,176,252, 80, 3,176,252, 80, + 0, 2, 0, 41, 0, 0, 4,252, 4, 74, 0, 14, 0, 27, 0, 92, 64, 62, 15, 71, 4, 87, 29, 80, 29, 96, 29,144, 29,224, 29, 4, + 63, 29, 1, 0, 22, 71, 10, 0, 12, 16, 12, 2,176, 12,240, 12, 2, 12, 12, 0, 10, 16, 10, 80, 10, 96, 10,160, 10, 5, 8, 10, + 21, 80,191, 0, 1, 0, 0, 22, 12, 80, 13, 15, 22, 80, 10, 21, 0, 63,225, 63,225, 18, 57, 47, 93,225, 1, 47, 94, 93, 51, 47, + 93,113, 16,225, 50, 93, 93, 16,246,225, 49, 48, 1, 33, 50, 22, 21, 20, 14, 2, 35, 33, 17, 33, 53, 33, 1, 52, 46, 2, 35, 33, + 17, 33, 50, 62, 2, 2, 72, 1, 20,212,204, 47,101,159,113,254, 57,254,152, 2, 31, 2, 2, 33, 65, 96, 64,255, 0, 1, 4, 55, + 93, 68, 38, 2,135,156,155, 77,124, 88, 47, 3,176,154,252,248, 49, 66, 40, 17,254,168, 17, 41, 66, 0, 0, 3, 0,174, 0, 0, + 5, 80, 4, 74, 0, 12, 0, 16, 0, 29, 0, 97, 64, 64, 24, 71, 0, 4, 16, 4, 32, 4,112, 4,208, 4, 5, 6, 4, 4, 10, 14, + 71, 13, 85, 31, 15, 31, 1,191, 31,207, 31,223, 31,255, 31, 4,160, 31, 1, 15, 31,127, 31, 2, 7, 0, 18, 71, 10, 84, 30, 17, + 80,191, 0, 1, 0, 0, 15, 11, 15, 18, 80, 14, 10, 21, 0, 63, 51,225, 63, 51, 57, 47, 93,225, 1, 16,246,225, 50, 94, 93, 93, + 93,113, 16,246,225, 17, 57, 47, 94, 93,225, 49, 48, 1, 51, 50, 22, 21, 20, 14, 2, 35, 33, 17, 51, 1, 35, 17, 51, 1, 17, 51, + 50, 62, 2, 53, 52, 46, 2, 35, 1,100,236,212,204, 47,101,159,113,254, 98,182, 3,236,182,182,252, 20,219, 56, 93, 67, 38, 33, + 65, 96, 64, 2,135,156,155, 77,124, 88, 47, 4, 74,251,182, 4, 74,253,164,254,168, 17, 41, 66, 48, 49, 66, 40, 17, 0, 0, 2, + 0,174, 0, 0, 4, 25, 4, 74, 0, 12, 0, 25, 0, 64, 64, 41, 20, 71, 4, 87, 27, 0, 27, 1, 0, 27, 32, 27,112, 27,144, 27, +176, 27,208, 27, 6, 8, 0, 14, 71, 10, 84, 26, 13, 80,191, 0, 1, 0, 0, 11, 15, 14, 80, 10, 21, 0, 63,225, 63, 57, 47, 93, +225, 1, 16,246,225, 50, 94, 93,113, 16,246,225, 49, 48, 1, 33, 50, 22, 21, 20, 14, 2, 35, 33, 17, 51, 17, 17, 33, 50, 62, 2, + 53, 52, 46, 2, 35, 1,100, 1, 21,212,204, 47,101,159,113,254, 57,182, 1, 4, 56, 93, 67, 38, 33, 65, 96, 64, 2,135,156,155, + 77,124, 88, 47, 4, 74,253,164,254,168, 17, 41, 66, 48, 49, 66, 40, 17, 0, 1, 0, 55,255,236, 3, 66, 4, 94, 0, 38, 0, 94, + 64, 62, 14, 14, 4, 12, 15, 72, 34, 87, 40,143, 40,175, 40, 2, 64, 40, 1, 24, 15, 4, 31, 4, 47, 4, 3, 4, 64, 12, 17, 72, + 4, 88, 39, 13, 80,239, 14, 1,169, 14,185, 14, 2, 15, 14, 31, 14, 47, 14, 3, 6, 14, 14, 7, 18, 81, 29, 16, 7, 81, 0, 22, + 0, 63,225, 63,225, 18, 57, 47, 94, 93, 93, 93,225, 1, 16,230, 43,113, 50, 93, 93, 16,246,225, 50, 17, 57, 47, 49, 48, 5, 34, + 38, 39, 53, 22, 22, 51, 50, 62, 2, 55, 33, 53, 33, 38, 38, 35, 34, 14, 2, 7, 39, 62, 3, 51, 50, 30, 2, 21, 20, 14, 2, 1, + 66, 89,124, 54, 54,131, 82, 73,116, 82, 48, 4,254, 35, 1,219, 13,146,140, 25, 59, 60, 56, 23, 53, 24, 64, 72, 78, 38,102,179, +132, 77, 81,140,186, 20, 30, 29,162, 25, 37, 40, 84,132, 92,154,166,151, 9, 15, 19, 10,154, 12, 22, 16, 9, 62,137,219,157,146, +212,138, 67, 0, 0, 2, 0,174,255,236, 6, 8, 4, 94, 0, 26, 0, 38, 0,114, 64, 75, 27, 72, 10, 32, 17, 1, 79, 17, 1, 17, + 17, 13, 33, 72, 0, 87, 40, 15, 40, 47, 40, 2,239, 40,255, 40, 2, 71, 40, 1, 15, 40, 47, 40, 2, 16, 12, 71, 13, 84, 39, 36, + 80, 22, 16, 11, 80,239, 16, 1,169, 16,185, 16, 2, 44, 16, 1, 11, 16, 27, 16, 2, 6, 16, 16, 13, 14, 15, 13, 21, 30, 80, 5, + 22, 0, 63,225, 63, 63, 18, 57, 47, 94, 93, 93, 93, 93,225, 63,225, 1, 16,246,225, 50, 93, 93, 93,113, 16,246,225, 17, 57, 47, + 93,113, 51,225, 49, 48, 1, 20, 14, 2, 35, 34, 46, 2, 39, 33, 17, 35, 17, 51, 17, 33, 62, 3, 51, 50, 30, 2, 5, 20, 22, 51, + 50, 54, 53, 52, 38, 35, 34, 6, 6, 8, 64,120,171,106, 98,162,117, 70, 7,254,239,182,182, 1, 19, 10, 72,118,160, 99, 98,167, +121, 68,253, 41,128,142,143,126,128,143,142,126, 2, 39,137,213,145, 76, 66,129,190,124,254, 23, 4, 74,254, 57,116,177,120, 62, + 75,145,211,136,209,211,211,209,209,207,207, 0, 0, 2, 0, 35, 0, 0, 3,145, 4, 74, 0, 17, 0, 28, 0, 83, 64, 20, 2, 17, + 17, 7, 24, 15, 71, 14, 85, 30, 15, 30,111, 30,143, 30, 3, 6, 0, 1,184,255,240, 64, 25, 1, 1, 18, 70, 7, 64, 18, 21, 72, + 7, 86, 29, 2, 16, 80, 24, 24, 0, 25, 80, 13, 15, 15, 0, 21, 0, 63, 50, 63,225, 18, 57, 47,225, 50, 1, 16,246, 43,225, 51, + 47, 56, 51, 94, 93, 16,246,225, 50, 17, 57, 17, 51, 49, 48, 51, 35, 1, 46, 3, 53, 52, 62, 2, 51, 33, 17, 35, 17, 35, 3, 20, + 30, 2, 51, 51, 17, 35, 34, 6,233,198, 1, 35, 45, 84, 65, 40, 56,100,138, 83, 1,188,182,244,221, 37, 65, 90, 54,219,254,107, +104, 1,205, 12, 48, 76,108, 71, 78,121, 81, 42,251,182, 1,176, 1, 84, 48, 70, 46, 22, 1,102, 95, 0,255,255, 0,113,255,236, + 3,225, 5,217, 2, 38, 0, 72, 0, 0, 1, 6, 0,106,218, 0, 0, 23, 64, 13, 3, 2, 49, 17, 38, 3, 2, 0, 40, 60, 5, 15, + 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 1, 0, 18,254, 20, 4, 18, 6, 20, 0, 49, 0, 83, 64, 50, 31, 23, 12, 71, 45, 85, + 51, 16, 51, 96, 51,128, 51, 3, 35, 34, 30, 22, 71, 27, 23, 84, 50, 33, 25, 79, 30, 26, 26, 28, 35, 16, 80, 0, 41, 16, 41, 32, + 41, 3, 41, 15, 28, 0, 23, 21, 7, 80, 0, 27, 0, 63,225, 63, 63, 63, 93,225, 51, 18, 57, 47, 51,225, 50, 1, 16,246, 50,225, + 50, 50, 50, 93, 16,246,225, 18, 57, 49, 48, 1, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 53, 17, 52, 38, 35, 34, 14, 2, 21, 17, + 35, 17, 35, 53, 51, 53, 51, 21, 33, 21, 33, 21, 7, 51, 62, 3, 51, 50, 22, 21, 17, 20, 14, 2, 2,240, 48, 63, 23, 26, 54, 35, + 27, 46, 35, 19,105,112, 81,110, 67, 29,182,156,156,182, 1,123,254,133, 8, 10, 25, 69, 82, 92, 48,183,185, 34, 72,109,254, 20, + 14, 11,148, 10, 11, 15, 39, 65, 51, 3, 68,130,130, 52,102,148, 96,253,240, 4,213,137,182,182,137,184,144, 43, 63, 42, 20,191, +210,252,190, 77,123, 87, 47, 0,255,255, 0,174, 0, 0, 3, 10, 6, 33, 2, 38, 1,205, 0, 0, 1, 6, 0,118,212, 0, 0, 19, + 64, 11, 1, 18, 17, 38, 1, 69, 6, 12, 3, 0, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,113,255,236, 3,111, 4, 94, 0, 34, + 0, 79, 64, 49, 23, 23, 22, 31, 13, 36,143, 36,175, 36, 2, 64, 36, 1, 22, 25, 72, 5, 86, 35, 25, 80,239, 22, 1,169, 22,185, + 22, 2, 15, 22, 31, 22, 47, 22, 3, 6, 22, 22, 28, 19, 81, 10, 16, 28, 81, 0, 22, 0, 63,225, 63,225, 18, 57, 47, 94, 93, 93, + 93,225, 1, 16,246,225, 50, 93, 93, 16,206, 50, 17, 57, 47, 49, 48, 5, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 7, 46, 3, + 35, 34, 6, 7, 33, 21, 33, 22, 22, 51, 50, 54, 55, 21, 6, 6, 2, 82,101,176,130, 74, 76,133,178,102, 78,149, 50, 54, 23, 56, + 60, 58, 26,139,146, 14, 1,219,254, 35, 9,146,138, 81,131, 54, 54,123, 20, 63,137,213,150,157,219,137, 62, 34, 25,154, 10, 19, + 15, 9,151,166,154,184,164, 37, 25,162, 29, 30,255,255, 0, 90,255,236, 3, 63, 4, 94, 2, 6, 0, 86, 0, 0,255,255, 0,160, + 0, 0, 1,117, 5,229, 2, 6, 0, 76, 0, 0,255,255,255,238, 0, 0, 2, 37, 5,217, 2, 38, 0,243, 0, 0, 1, 7, 0,106, +254,187, 0, 0, 0, 23, 64, 13, 2, 1, 13, 17, 38, 2, 1, 0, 4, 24, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, +255,188,254, 20, 1,117, 5,229, 2, 6, 0, 77, 0, 0, 0, 2, 0, 16,255,242, 6, 18, 4, 74, 0, 29, 0, 42, 0,107, 64, 69, + 12, 70, 28, 0, 37, 71, 10,212, 28, 1,144, 28,160, 28, 2, 36, 28, 1, 0, 28, 1, 28, 10, 28, 10, 20, 30, 71, 4, 87, 44, 15, + 44, 47, 44, 63, 44, 95, 44,127, 44,191, 44,239, 44, 7, 20, 20, 43, 36, 80,191, 0, 1, 0, 0, 37, 12, 80, 28, 15, 23, 79, 17, + 22, 37, 80, 10, 21, 0, 63,225, 63,225, 63,225, 18, 57, 47, 93,225, 17, 1, 51, 47, 93, 16,246,225, 17, 57, 57, 47, 47, 93, 93, + 93, 93, 16,225, 50, 16,225, 49, 48, 1, 51, 50, 22, 21, 20, 14, 2, 35, 33, 17, 35, 2, 2, 6, 6, 35, 34, 38, 39, 53, 22, 51, + 50, 54, 54, 18, 55, 33, 1, 52, 46, 2, 35, 35, 17, 51, 50, 62, 2, 3,135,236,212,203, 46,101,159,113,254, 98,217, 20, 64, 95, +130, 86, 28, 49, 16, 23, 27, 55, 89, 69, 51, 18, 2, 43, 1,217, 33, 65, 96, 64,215,219, 56, 93, 67, 38, 2,135,156,155, 77,124, + 88, 47, 3,176,254,253,254,148,230,105, 6, 6,131, 6,117,241, 1,111,250,252,248, 49, 66, 40, 17,254,168, 17, 41, 66, 0, 2, + 0,174, 0, 0, 6,117, 4, 74, 0, 20, 0, 33, 0, 83, 64, 48, 5, 28, 71, 2, 15, 15, 19, 21, 71, 9, 87, 35,239, 35, 1,128, + 35, 1, 63, 35, 1, 16, 35, 1, 1, 18, 71, 19, 84, 34, 27, 17, 80, 5,191, 1, 1, 1, 1, 0, 28, 80, 19, 15, 21, 3, 0, 15, + 0, 63, 50, 63, 51,225, 17, 57, 47, 93, 51,225, 50, 1, 16,246,225, 50, 93, 93, 93, 93, 16,246,225, 17, 57, 47, 51,225, 50, 49, + 48, 1, 17, 33, 17, 51, 17, 51, 50, 22, 21, 20, 14, 2, 35, 33, 17, 33, 17, 35, 17, 1, 52, 46, 2, 35, 35, 17, 51, 50, 62, 2, + 1,100, 1,207,182,236,212,204, 47,101,159,113,254, 98,254, 49,182, 5, 21, 33, 65, 97, 63,216,220, 55, 93, 68, 38, 4, 74,254, + 57, 1,199,254, 61,156,155, 77,124, 88, 47, 1,233,254, 23, 4, 74,252,248, 49, 66, 40, 17,254,168, 17, 41, 66, 0, 1, 0, 18, + 0, 0, 4, 18, 6, 20, 0, 33, 0, 83, 64, 50,104, 20, 1, 20, 11, 0, 71, 33, 85, 35, 16, 35, 96, 35,128, 35, 3, 23, 22, 18, + 10, 71, 15, 11, 84, 34, 21, 13, 79, 18, 14, 14, 16, 23, 4, 80, 0, 29, 16, 29, 32, 29, 3, 29, 15, 16, 0, 11, 0, 21, 0, 63, + 50, 63, 63, 93,225, 51, 18, 57, 47, 51,225, 50, 1, 16,246, 50,225, 50, 50, 50, 93, 16,246,225, 17, 57, 93, 49, 48, 33, 17, 52, + 38, 35, 34, 14, 2, 21, 17, 35, 17, 35, 53, 51, 53, 51, 21, 33, 21, 33, 21, 7, 51, 62, 3, 51, 50, 22, 21, 17, 3, 92,105,112, + 81,110, 67, 29,182,156,156,182, 1,123,254,133, 8, 10, 25, 69, 82, 92, 48,183,185, 2,154,130,130, 52,102,148, 96,253,240, 4, +213,137,182,182,137,184,144, 43, 63, 42, 20,191,210,253, 92, 0,255,255, 0,174, 0, 0, 3,229, 6, 33, 2, 38, 1,212, 0, 0, + 1, 6, 0,118, 8, 0, 0, 19, 64, 11, 1, 23, 17, 38, 1, 12, 11, 17, 7, 3, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 10, +254, 20, 3,223, 6, 23, 2, 38, 0, 92, 0, 0, 1, 6, 2, 54,177, 0, 0, 19, 64, 11, 1, 40, 17, 38, 1, 10, 45, 35, 0, 15, + 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,174,254,131, 4, 18, 4, 74, 0, 11, 0, 89, 64, 61,214, 6, 1,183, 6,199, 6, 2, + 6, 71,181, 7,197, 7,213, 7, 3,118, 7,134, 7, 2, 74, 7, 90, 7, 2, 7, 7, 9, 1, 71, 4, 85, 13, 16, 13, 32, 13, 96, + 13,112, 13,128, 13, 5, 0, 71, 9, 84, 12, 5, 0, 80, 9, 21, 6,251, 10, 2, 15, 0, 63, 51, 63, 63,225, 51, 1, 16,246,225, + 93, 16,246,225, 17, 57, 47, 93, 93, 93,225, 93, 93, 49, 48, 37, 33, 17, 51, 17, 33, 17, 35, 17, 33, 17, 51, 1,100, 1,248,182, +254,179,183,254,160,182,154, 3,176,251,182,254,131, 1,125, 4, 74, 0, 0, 1, 0,199, 0, 0, 3,190, 6,227, 0, 7, 0, 68, + 64, 44, 0, 90,223, 3,239, 3,255, 3, 3, 0, 3, 16, 3, 2, 3, 3, 9,176, 9,208, 9, 2, 15, 9,175, 9, 2, 5, 90, 6, +100, 8, 4, 95, 7, 32, 1, 1, 1, 1, 7, 3, 6, 18, 0, 63, 63, 51, 47, 93, 16,225, 1, 16,246,225, 93, 93, 17, 51, 47, 93, + 93,225, 49, 48, 1, 17, 51, 17, 33, 17, 35, 17, 3, 14,176,253,195,186, 5,182, 1, 45,254, 45,250,240, 5,182, 0, 1, 0,174, + 0, 0, 3, 10, 5,137, 0, 7, 0, 48, 64, 28, 5, 71, 0, 0, 16, 0, 2, 0, 0, 9, 2, 71, 3, 84, 8, 16, 6, 32, 6, 2, + 6, 6, 1, 79, 4, 15, 2, 21, 0, 63, 63,225, 51, 47, 93, 1, 16,246,225, 17, 51, 47, 93,225, 49, 48, 1, 33, 17, 35, 17, 33, + 17, 51, 3, 10,254, 90,182, 1,166,182, 3,193,252, 63, 4, 74, 1, 63,255,255, 0, 20, 0, 0, 6,254, 7,115, 2, 38, 0, 58, + 0, 0, 1, 7, 0, 67, 0,231, 1, 82, 0, 21,180, 1, 43, 5, 38, 1,184,255,172,180, 49, 43, 30, 14, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0, 20, 0, 0, 5,227, 6, 33, 2, 38, 0, 90, 0, 0, 1, 6, 0, 67, 76, 0, 0, 21,180, 1, 48, 17, 38, 1, +184,255,158,180, 54, 48, 17, 46, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 20, 0, 0, 6,254, 7,115, 2, 38, 0, 58, 0, 0, + 1, 7, 0,118, 1,160, 1, 82, 0, 19, 64, 11, 1, 55, 5, 38, 1,100, 43, 49, 30, 14, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0, 20, 0, 0, 5,227, 6, 33, 2, 38, 0, 90, 0, 0, 1, 7, 0,118, 1, 23, 0, 0, 0, 19, 64, 11, 1, 60, 17, 38, 1,105, + 48, 54, 17, 46, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 20, 0, 0, 6,254, 7, 43, 2, 38, 0, 58, 0, 0, 1, 7, 0,106, + 1, 57, 1, 82, 0, 25,182, 2, 1, 52, 5, 38, 2, 1,184,255,255,180, 43, 63, 30, 14, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, +255,255, 0, 20, 0, 0, 5,227, 5,217, 2, 38, 0, 90, 0, 0, 1, 7, 0,106, 0,172, 0, 0, 0, 25,182, 2, 1, 57, 17, 38, + 2, 1,184,255,255,180, 48, 68, 17, 46, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, 4, 55, 7,115, 2, 38, + 0, 60, 0, 0, 1, 7, 0, 67,255,114, 1, 82, 0, 21,180, 1, 9, 5, 38, 1,184,255,164,180, 15, 9, 7, 2, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 0, 10,254, 20, 3,223, 6, 33, 2, 38, 0, 92, 0, 0, 1, 7, 0, 67,255, 75, 0, 0, 0, 21,180, 1, + 35, 17, 38, 1,184,255,164,180, 41, 35, 0, 15, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0, 82, 1,209, 3,174, 2,121, 0, 3, + 0, 29,185, 0, 2,255,192, 64, 11, 6, 12, 72, 2, 2, 5, 0, 0,185, 1,189, 0, 63,225, 1, 47, 17, 51, 47, 43, 49, 48, 19, + 53, 33, 21, 82, 3, 92, 1,209,168,168, 0, 1, 0, 82, 1,209, 7,174, 2,121, 0, 3, 0, 29,185, 0, 2,255,192, 64, 11, 6, + 12, 72, 2, 2, 5, 0, 0,185, 1,189, 0, 63,225, 1, 47, 17, 51, 47, 43, 49, 48, 19, 53, 33, 21, 82, 7, 92, 1,209,168,168, + 0, 1, 0, 82, 1,209, 7,174, 2,121, 0, 3, 0, 29,185, 0, 2,255,192, 64, 11, 6, 12, 72, 2, 2, 5, 0, 0,185, 1,189, + 0, 63,225, 1, 47, 17, 51, 47, 43, 49, 48, 19, 53, 33, 21, 82, 7, 92, 1,209,168,168, 0, 2,255,252,254, 49, 3, 78,255,211, + 0, 3, 0, 7, 0, 42, 64, 24, 4, 0, 0, 9, 5, 1, 5,186,239, 6,255, 6, 2, 6, 2,186, 0, 1, 16, 1, 32, 1, 3, 1, + 0, 47, 93,225, 47, 93,225, 1, 47, 51, 17, 51, 47, 51, 49, 48, 1, 33, 53, 33, 53, 33, 53, 33, 3, 78,252,174, 3, 82,252,174, + 3, 82,254, 49,139,140,139, 0, 0, 1, 0, 23, 3,193, 1, 80, 5,182, 0, 12, 0, 37, 64, 23, 95, 14, 1, 6, 15, 7, 95, 7, +111, 7,191, 7,207, 7, 5, 7, 12,152, 1, 12,156, 6, 3, 0, 63,229, 1, 47,225, 47, 93, 51, 93, 49, 48, 19, 39, 62, 3, 55, + 51, 14, 3, 7, 37, 14, 14, 39, 46, 52, 25,137, 15, 29, 26, 22, 8, 3,193, 22, 54,122,124,123, 56, 61,132,131,124, 53, 0, 1, + 0, 23, 3,193, 1, 80, 5,182, 0, 12, 0, 37, 64, 23, 95, 14, 1, 6, 7, 12,152, 15, 1, 95, 1,111, 1,191, 1,207, 1, 5, + 1, 6,156, 0, 3, 0, 63,229, 1, 47, 93,225, 47, 51, 93, 49, 48, 1, 23, 14, 3, 7, 35, 62, 3, 55, 1, 66, 14, 14, 39, 47, + 51, 25,137, 14, 29, 27, 22, 8, 5,182, 22, 55,121,125,122, 56, 60,132,132,124, 53, 0, 0, 1, 0, 63,254,248, 1,121, 0,238, + 0, 12, 0, 53,185, 0, 14,255,192, 64, 20, 10, 24, 72, 12,152, 15, 1, 95, 1,111, 1,127, 1,207, 1, 5, 1, 1, 6, 7,184, +255,192,183, 16, 21, 72, 7, 6,156, 0,168, 0, 63,229, 1, 47, 43, 51, 51, 47, 93,225, 43, 49, 48, 37, 23, 14, 3, 7, 35, 62, + 3, 55, 1,106, 15, 14, 39, 47, 51, 25,138, 15, 29, 27, 22, 8,238, 23, 54,122,124,123, 56, 61,132,131,125, 53, 0, 1, 0, 25, + 3,193, 1, 82, 5,182, 0, 12, 0, 43, 64, 28, 95, 14, 1, 6, 15, 5, 95, 5,111, 5,127, 5,191, 5,207, 5,223, 5, 7, 5, + 5, 0,152, 11, 6,156, 0, 3, 0, 63,229, 1, 47,225, 51, 47, 93, 51, 93, 49, 48, 19, 30, 3, 23, 35, 46, 3, 39, 55,238, 8, + 22, 26, 29, 15,137, 25, 52, 46, 39, 14, 14, 5,182, 53,124,132,132, 60, 56,122,125,121, 55, 22, 0, 2, 0, 23, 3,193, 2,209, + 5,182, 0, 12, 0, 25, 0, 98, 64, 72,191, 27, 1,144, 27, 1, 15, 27, 95, 27,111, 27, 3, 19, 15, 20, 95, 20,111, 20,127, 20, +191, 20,207, 20,223, 20, 7, 20, 20, 25,152, 14, 12,152, 0, 1, 80, 1, 96, 1,112, 1,176, 1,192, 1,208, 1, 7, 1, 1, 6, + 15, 7, 95, 7,111, 7,191, 7,207, 7, 5, 7, 25, 12,156, 19, 6, 3, 0, 63, 51,229, 50, 1, 47, 93, 51, 51, 47, 93,225, 47, +225, 51, 47, 93, 51, 93, 93, 93, 49, 48, 1, 39, 62, 3, 55, 51, 14, 3, 7, 33, 39, 62, 3, 55, 51, 14, 3, 7, 1,166, 14, 14, + 39, 46, 52, 25,137, 15, 29, 26, 22, 8,253,184, 14, 14, 39, 46, 52, 25,137, 15, 29, 26, 22, 8, 3,193, 22, 54,122,124,123, 56, + 61,132,131,124, 53, 22, 54,122,124,123, 56, 61,132,131,124, 53, 0, 2, 0, 23, 3,193, 2,209, 5,182, 0, 12, 0, 25, 0, 98, + 64, 72,191, 27, 1,144, 27, 1, 15, 27, 95, 27,111, 27, 3, 19, 0, 20, 80, 20, 96, 20,112, 20,176, 20,192, 20,208, 20, 7, 20, + 20, 25,152, 15, 14, 95, 14,111, 14,191, 14,207, 14, 5, 14, 12,152, 15, 1, 95, 1,111, 1,127, 1,191, 1,207, 1,223, 1, 7, + 1, 1, 6, 7, 19, 6,156, 13, 0, 3, 0, 63, 50,229, 50, 1, 47, 51, 51, 47, 93,225, 47, 93,225, 51, 47, 93, 51, 93, 93, 93, + 49, 48, 1, 23, 14, 3, 7, 35, 62, 3, 55, 33, 23, 14, 3, 7, 35, 62, 3, 55, 1, 66, 14, 14, 39, 47, 51, 25,137, 14, 29, 27, + 22, 8, 2, 72, 14, 14, 39, 47, 51, 25,137, 14, 29, 27, 22, 8, 5,182, 22, 55,121,125,122, 56, 60,132,132,124, 53, 22, 55,121, +125,122, 56, 60,132,132,124, 53, 0, 2, 0, 63,254,248, 2,250, 0,238, 0, 12, 0, 25, 0,126, 64, 81,208, 27,224, 27,240, 27, + 3,164, 27,180, 27,196, 27, 3,144, 27, 1, 2, 32, 27, 48, 27, 64, 27, 96, 27,112, 27,128, 27, 6, 19, 0, 20, 80, 20, 96, 20, +112, 20,192, 20,208, 20, 6, 20, 20, 25,152,144, 14,224, 14,240, 14, 3, 15, 14, 95, 14, 2, 14, 12,152, 15, 1, 95, 1,111, 1, +127, 1,207, 1,223, 1, 6, 1, 1, 6, 7,184,255,192, 64, 10, 16, 24, 72, 7, 19, 6,156, 13, 0,168, 0, 63, 50,229, 50, 1, + 47, 43, 51, 51, 47, 93,225, 47, 93, 93,225, 51, 47, 93, 51, 93, 95, 93, 93, 93, 49, 48, 37, 23, 14, 3, 7, 35, 62, 3, 55, 33, + 23, 14, 3, 7, 35, 62, 3, 55, 1,106, 15, 14, 39, 47, 51, 25,138, 15, 29, 27, 22, 8, 2, 72, 14, 14, 39, 47, 51, 25,137, 14, + 29, 27, 22, 8,238, 23, 54,122,124,123, 56, 61,132,131,125, 53, 23, 54,122,124,123, 56, 61,132,131,125, 53, 0, 0, 1, 0,123, + 0, 0, 3,104, 6, 20, 0, 11, 0,124, 64, 82,144, 13,160, 13,224, 13,240, 13, 4,111, 13, 1, 16, 13, 48, 13, 64, 13, 3, 7, + 6,192, 4, 8, 8, 3,228, 11,244, 11, 2,214, 11, 1,119, 11, 1,106, 11, 1, 84, 11, 1, 69, 11, 1, 38, 11, 1, 11,192, 9, + 10, 1, 9, 9, 54, 2, 1, 2,190, 0, 3, 16, 3,160, 3, 3, 3, 4, 1, 0, 5,191, 11, 10, 7, 6,194, 8, 0, 3, 0, 47, + 63,246, 50, 50, 50,225, 50, 50, 50, 1, 47, 93,225, 93, 50, 17, 51, 51, 16,230, 93, 93, 93, 93, 93, 93, 93, 17, 51, 47, 51,230, + 51, 93, 93, 93, 49, 48, 1, 37, 19, 35, 19, 5, 53, 5, 3, 51, 3, 37, 3,104,254,181, 55,217, 55,254,201, 1, 55, 55,217, 55, + 1, 75, 3,221, 31,252, 4, 3,252, 31,180, 30, 1,161,254, 95, 30, 0, 0, 1, 0,123, 0, 0, 3,125, 6, 20, 0, 21, 0,176, + 64,113, 0, 23, 1,160, 23,176, 23,240, 23, 3,127, 23, 1, 32, 23, 64, 23, 80, 23, 3, 8, 13,192, 14, 11, 15, 15, 5, 1, 4, + 18, 1,244, 18, 1,230, 18, 1,135, 18, 1,122, 18, 1,100, 18, 1, 85, 18, 1, 54, 18, 70, 18, 2, 18,192, 16, 20, 17, 16, 16, + 21, 3, 0, 4,190, 5, 10, 10, 9, 6, 0, 5, 1, 0, 5, 16, 5, 32, 5, 80, 5,160, 5,176, 5, 6, 8, 5, 20, 19, 11, 12, +191, 18, 17, 14, 13,194, 15, 0, 9, 1, 0, 8,191, 6, 3, 2, 7,194, 5, 0, 47,246, 50, 50, 50,225, 50, 50, 50, 63,246, 50, + 50, 50,225, 50, 50, 50, 1, 47, 94, 93,113, 51, 51, 51, 47, 16,225, 50, 50, 50, 50, 17, 51, 51, 16,230, 93, 93, 93, 93, 93, 93, + 93,113, 50, 17, 51, 47, 51, 51,230, 50, 93, 93, 93,113, 49, 48, 1, 37, 21, 37, 19, 35, 19, 5, 53, 5, 3, 19, 5, 53, 5, 3, + 51, 3, 37, 21, 37, 19, 2, 49, 1, 76,254,180, 55,217, 56,254,180, 1, 76, 47, 47,254,180, 1, 76, 56,217, 55, 1, 76,254,180, + 47, 1,240, 30,180, 31,254,135, 1,121, 31,180, 30, 1, 34, 1, 19, 31,180, 30, 1,120,254,136, 30,180, 31,254,237, 0, 0, 1, + 0,150, 1,229, 2,109, 3,242, 0, 19, 0, 70, 64, 36, 47, 21, 95, 21,111, 21,127, 21,207, 21,239, 21,255, 21, 7, 16, 21, 1, + 95, 10,111, 10,159, 10,175, 10,223, 10,239, 10, 6, 10,208, 0, 1, 0,184,255,192, 64, 12, 7, 10, 72, 0, 31, 15, 1, 15, 16, + 5, 1, 5, 0, 47, 93,197, 93, 1, 47, 43, 93,197, 93, 93, 93, 49, 48, 19, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, + 46, 2,150, 36, 63, 86, 50, 49, 86, 64, 37, 37, 64, 86, 49, 50, 86, 63, 36, 2,236, 71,100, 63, 28, 28, 63,100, 71, 70,100, 63, + 30, 30, 63,100, 0, 3, 0,147,255,227, 5,219, 0,250, 0, 19, 0, 39, 0, 57, 0,168, 64,118, 20, 59, 36, 59, 2,251, 59, 1, +228, 59, 1,187, 59,203, 59, 2,164, 59, 1,139, 59, 1,100, 59,116, 59, 2, 75, 59, 1, 52, 59, 1, 11, 59, 1, 30,150,102, 20, +118, 20, 2, 20, 20, 0, 40,150, 36, 50, 1,251, 50, 1,224, 50, 1,212, 50, 1,187, 50, 1,164, 50, 1,139, 50, 1,114, 50, 1, +102, 50, 1, 75, 50, 1, 48, 50, 1, 2, 32, 50, 1, 15, 50, 1, 6, 50, 10,150,224, 0,240, 0, 2, 84, 0,100, 0, 2, 0, 0, + 16, 0, 32, 0, 3, 7, 0, 45, 25, 5,155, 55, 35, 15, 0, 47, 51, 51,237, 50, 50, 1, 47, 94, 93, 93, 93,237, 47, 94, 93, 93, + 95, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,113,237, 17, 57, 47, 93,237, 93, 93, 93, 93, 93, 93, 93, 93, 93,113, 49, 48, 55, 52, + 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 37, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 37, 52, + 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 38,147, 20, 34, 46, 27, 26, 47, 34, 20, 20, 34, 47, 26, 27, 46, 34, 20, 2, 37, + 20, 34, 46, 27, 26, 47, 34, 20, 20, 34, 47, 26, 27, 46, 34, 20, 2, 37, 19, 35, 46, 27, 26, 47, 34, 20, 20, 34, 47, 26, 54, 73, +111, 38, 53, 33, 15, 15, 33, 53, 38, 37, 53, 34, 16, 16, 34, 53, 37, 38, 53, 33, 15, 15, 33, 53, 38, 37, 53, 34, 16, 16, 34, 53, + 37, 38, 53, 33, 15, 15, 33, 53, 38, 37, 53, 34, 16, 66, 0, 7, 0,102,255,236, 8,244, 5,203, 0, 9, 0, 29, 0, 39, 0, 59, + 0, 63, 0, 73, 0, 93, 0,137, 64, 92, 64,180, 84,181, 74, 30,180, 50,181, 35,180, 40,160, 62, 1, 48, 60, 64, 60,176, 60, 3, + 48, 40, 64, 40, 2, 62, 60, 40, 40, 60, 62, 3, 20, 69,180, 74, 95, 63, 95, 79, 95, 95, 95,127, 95,175, 95, 5, 5,180, 10,181, + 0,180, 16, 20, 32, 20, 48, 20, 3, 20, 71,182, 89,183, 67,182, 79, 25, 63, 6, 62, 24, 37,182, 55,183, 33,182, 45, 25, 3,182, + 15,183, 7,182, 25, 7, 0, 63,225,244,225, 63,225,244,225, 63, 63, 63,225,244,225, 1, 47, 93,225,244,225, 93, 16,222,225, 18, + 23, 57, 47, 47, 47, 93, 93, 93, 16,225,244,225, 16,244,225, 49, 48, 19, 20, 22, 51, 50, 17, 16, 35, 34, 6, 5, 20, 14, 2, 35, + 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 1, 20, 22, 51, 50, 17, 16, 35, 34, 6, 5, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, + 2, 51, 50, 30, 2, 1, 1, 35, 1, 1, 20, 22, 51, 50, 17, 16, 35, 34, 6, 5, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, + 50, 30, 2,250, 71, 80,156,156, 80, 71, 1,199, 36, 74,115, 79, 73,112, 76, 38, 35, 73,113, 78, 75,113, 77, 39, 1,172, 71, 80, +156,156, 80, 71, 1,198, 35, 74,115, 79, 74,112, 75, 38, 35, 73,113, 78, 75,113, 76, 39,255, 0,252,213,158, 3, 44, 2,151, 71, + 81,155,155, 81, 71, 1,199, 35, 74,115, 79, 74,112, 75, 38, 35, 73,113, 78, 74,114, 76, 39, 4, 2,165,165, 1, 74, 1, 72,163, +165,108,172,118, 63, 63,118,172,108,108,170,117, 62, 62,117,170,253, 74,165,164, 1, 73, 1, 72,163,165,108,171,118, 63, 63,118, +171,108,108,170,117, 62, 62,117,170, 3,146,250, 74, 5,182,252, 2,165,164, 1, 73, 1, 72,163,165,108,171,118, 63, 63,118,171, +108,108,170,117, 62, 62,117,170,255,255, 0,133, 3,166, 1, 74, 5,182, 2, 6, 0, 10, 0, 0,255,255, 0,133, 3,166, 2,178, + 5,182, 2, 6, 0, 5, 0, 0, 0, 1, 0, 82, 0,115, 1,252, 3,199, 0, 6, 0, 60,177, 4, 2,184,255,192, 64, 31, 9, 12, + 72, 2, 8, 63, 8,159, 8,175, 8,223, 8,239, 8,255, 8, 6, 6,235,159, 3, 1, 3, 6, 0, 3, 3, 1, 5, 1, 0, 47, 47, + 18, 57, 61, 47, 51, 51, 1, 24, 47, 93,225, 93, 16,198, 43, 50, 49, 48, 19, 1, 23, 3, 19, 7, 1, 82, 1, 53,117,238,238,117, +254,203, 2, 41, 1,158, 78,254,164,254,164, 78, 1,155, 0, 1, 0, 82, 0,115, 1,252, 3,199, 0, 6, 0, 63, 64, 40, 0,235, +223, 3,239, 3,255, 3, 3, 16, 3, 32, 3, 2, 3, 63, 8,159, 8,175, 8,223, 8,239, 8,255, 8, 6, 4, 63, 2, 1, 2, 6, + 0, 3, 3, 1, 5, 1, 0, 47, 47, 18, 57, 61, 47, 51, 51, 1, 24, 47, 93, 51, 93, 47, 93, 93,225, 49, 48, 1, 1, 39, 19, 3, + 55, 1, 1,252,254,203,117,237,237,117, 1, 53, 2, 14,254,101, 78, 1, 92, 1, 92, 78,254, 98,255,255, 0,147,255,227, 3, 98, + 5,182, 0, 39, 0, 4, 1,209, 0, 0, 1, 6, 0, 4, 0, 0, 0, 9,181, 47, 49, 1, 16, 49, 1, 93, 93, 0, 0, 1,254,160, + 0, 0, 2,104, 5,182, 0, 3, 0, 29,177, 1, 2,184,255,240, 64, 9, 2, 3, 0, 16, 0, 1, 18, 0, 3, 0, 63, 63, 1, 47, + 56, 50, 47, 56, 51, 49, 48, 1, 1, 35, 1, 2,104,252,213,157, 3, 43, 5,182,250, 74, 5,182, 0, 1, 0,106, 3, 29, 2,147, + 5,199, 0, 20, 0, 65, 64, 23, 0,224, 0, 20, 1, 20, 22, 96, 22,192, 22,224, 22,240, 22, 4, 15, 22, 1, 14, 10,224, 11,184, +255,192, 64, 14, 10, 15, 72, 11, 10, 0,192, 14, 4,228, 17,222, 12,220, 0, 63, 63,225, 51, 26,204, 50, 1, 47, 43,225, 50, 93, + 93, 16,214, 93,225, 49, 48, 1, 17, 52, 38, 35, 34, 14, 2, 21, 17, 35, 17, 51, 23, 51, 54, 51, 50, 21, 17, 2, 20, 63, 63, 45, + 65, 42, 21,127,105, 16, 9, 64,130,229, 3, 29, 1,166, 81, 68, 21, 52, 87, 65,254,166, 2,157, 88,101,250,254, 80, 0, 0, 1, + 0, 96, 0, 0, 4, 0, 5,182, 0, 17, 0,118, 64, 72, 2, 16, 2, 16, 5, 0, 11, 16, 11, 32, 11, 3, 11, 11, 19, 48, 19, 1, + 14, 0, 4, 90, 5, 9, 5,223, 7, 1, 7, 7, 0, 5, 16, 5,192, 5, 3, 7, 5, 3, 7, 96, 8, 0, 8, 17, 95, 14, 15, 14, + 63, 14,111, 14, 3, 8, 14, 64, 16, 21, 72, 8, 14, 8, 14, 4, 13, 95, 10, 3, 4, 18, 0, 63, 63,225, 18, 57, 57, 47, 47, 43, + 94, 93, 16,225, 17, 51, 16,225, 50, 1, 47, 94, 93, 51, 47, 93, 17, 51, 16,225, 50, 50, 93, 17, 51, 47, 93, 18, 57, 57, 47, 47, + 49, 48, 1, 33, 21, 33, 17, 35, 17, 35, 53, 51, 17, 33, 21, 33, 17, 33, 21, 33, 1,195, 1, 36,254,220,179,176,176, 2,240,253, +195, 2, 22,253,234, 1,143,137,254,250, 1, 6,137, 4, 39,164,253,252,164, 0, 0, 1, 0, 68, 0, 0, 4, 35, 5,201, 0, 48, + 0,135, 64, 16, 17, 13, 21,111, 43, 39, 35, 15, 19, 35, 19, 35, 19, 30, 3, 27,184,255,192, 64, 62, 9, 14, 72, 27, 27, 50, 16, + 50, 1, 41, 37, 30, 64, 11, 14, 72, 30, 20, 37,117, 38, 17, 38, 16, 41,117, 42, 13, 42,111, 38, 1,208, 42, 1, 15, 42, 31, 42, + 63, 42, 79, 42,175, 42,191, 42, 6, 38, 42, 38, 42, 0, 30, 26,116, 29, 24, 7,115, 0, 7, 0, 63,225, 63,225, 50, 17, 57, 57, + 47, 47, 93, 93, 93, 17, 51, 16,225, 50, 17, 51, 16,225, 50, 1, 47, 43, 51, 51, 93, 17, 51, 47, 43, 51, 18, 57, 57, 47, 47, 17, + 51, 17, 51, 51,225, 50, 50, 49, 48, 1, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, 21, 33, 21, 33, 21, 33, 21, 33, 21, 20, 14, + 2, 7, 33, 21, 33, 53, 62, 3, 53, 53, 35, 53, 51, 53, 35, 53, 51, 53, 52, 62, 2, 2,154,106,174, 66, 66, 56,141, 75, 48, 82, + 60, 33, 1,120,254,136, 1,120,254,136, 23, 39, 51, 27, 2,236,252, 33, 44, 73, 53, 30,198,198,198,198, 59,105,146, 5,201, 45, + 35,144, 29, 43, 27, 59, 94, 66,192,137,158,137, 19, 62, 89, 64, 43, 16,166,154, 11, 41, 68, 97, 67, 21,137,158,137,221, 87,137, + 95, 50, 0, 3, 0,150,255,236, 5,182, 5,182, 0, 27, 0, 42, 0, 53, 0,121, 64, 24, 49,111, 28, 18, 16, 15,110, 24, 21, 24, + 28, 24, 28, 24, 36,255, 5, 1, 5, 64, 18, 21, 72, 5,184,255,192, 64, 44, 9, 14, 72, 5, 5, 55, 15, 55, 1, 55, 64, 11, 16, + 72, 43, 35,110, 36,124, 54, 15, 24,117, 21, 18, 21, 43,115, 34, 21, 34, 21, 34, 36, 53,115, 37, 6, 36, 24, 0,117, 9, 25, 0, + 63,225, 63, 63,225, 18, 57, 57, 47, 47, 16,225, 17, 51, 16,225, 50, 1, 16,246,225, 50, 43, 93, 17, 51, 47, 43, 43, 93, 18, 57, + 57, 47, 47, 17, 51, 16,225, 50, 50, 16,225, 49, 48, 37, 50, 62, 2, 55, 21, 6, 6, 35, 34, 46, 2, 53, 17, 35, 53, 55, 55, 51, + 21, 51, 21, 35, 17, 20, 22, 1, 20, 14, 2, 35, 35, 17, 35, 17, 51, 50, 30, 2, 1, 51, 50, 62, 2, 53, 52, 38, 35, 35, 5, 59, + 15, 36, 35, 30, 7, 23, 80, 63, 53, 88, 64, 36,156,156, 65,107,209,209, 52,254,140, 52,124,204,152, 47,178,251,134,191,123, 58, +253,189, 26, 93,139, 91, 46,164,174, 57,129, 4, 6, 8, 3,138, 12, 20, 34, 70,106, 72, 1,191, 82, 77,189,211,137,254, 86, 76, + 78, 3,137, 91,168,129, 77,253,199, 5,182, 57,109,160,254,103, 32, 71,113, 81,142,137, 0, 1, 0, 63,255,236, 4, 74, 5,203, + 0, 57, 0,134,180, 18, 7, 40, 54, 25,184,255,192, 64, 75, 9, 13, 72, 25, 25, 59, 16, 59, 1, 44, 35, 35, 19, 5, 13,111, 46, + 34, 99, 40, 1, 40, 40, 58, 19, 35, 96, 36, 16, 36, 8, 44, 96, 45, 5, 45, 95, 36,127, 36,143, 36,239, 36,255, 36, 5, 15, 45, + 31, 45, 47, 45, 95, 45,159, 45,207, 45, 6, 36, 45, 36, 45, 22, 55, 0,116, 51, 7, 22, 95, 25, 29, 25, 0, 63, 51,225, 63,225, + 51, 18, 57, 57, 47, 47, 93, 93, 17, 51, 16,225, 50, 17, 51, 16,225, 50, 17, 1, 51, 47, 93, 51, 51,225, 50, 50, 51, 17, 51, 93, + 17, 51, 47, 43, 51, 18, 57, 57, 49, 48, 1, 34, 14, 2, 7, 33, 21, 33, 20, 7, 6, 20, 21, 20, 20, 23, 33, 21, 33, 22, 22, 51, + 50, 54, 55, 21, 6, 6, 35, 34, 46, 2, 39, 35, 53, 51, 38, 52, 53, 52, 54, 53, 35, 53, 51, 62, 3, 51, 50, 22, 23, 7, 38, 38, + 3, 8, 69,118, 94, 67, 18, 1,176,254, 65, 1, 1, 2, 1,129,254,146, 34,185,149, 75,135, 59, 59,133, 91,115,182,135, 88, 21, +164,148, 2, 2,148,160, 18, 88,135,184,114, 97,160, 79, 80, 51,119, 5, 39, 52, 99,143, 91,137, 15, 14, 12, 26, 9, 19, 41, 22, +137,175,184, 32, 26,162, 28, 31, 73,135,193,121,137, 23, 30, 29, 22, 46, 8,137,125,202,144, 78, 43, 49,146, 31, 43, 0, 0, 4, + 0,141,255,248, 5,219, 5,193, 0, 3, 0, 23, 0, 43, 0, 72, 0,134, 64, 10, 1, 2, 57, 70, 24,180, 14, 3, 0, 2,184,255, +240, 64, 74,112, 70,144, 70,160, 70,208, 70, 4,223, 14, 1, 0, 16, 2, 70, 14, 0, 0, 14, 70, 2, 4, 49, 34,180, 15, 4, 1, +239, 4,255, 4, 2, 4, 74, 64,180, 0, 49, 1, 0, 49, 16, 49, 32, 49,224, 49,240, 49, 5, 8, 49, 66,252, 44,253, 61,252, 54, + 7, 39,252, 19,253, 29,252, 9, 25, 3, 6, 1, 24, 0, 63, 63, 63,225,244,225, 63,225,244,225, 1, 47, 94, 93,113,225, 16,222, + 93,113,225, 17, 23, 57, 47, 47, 47, 47, 56, 93, 93, 56, 17, 51, 16,225, 17, 51, 17, 51, 49, 48, 1, 1, 35, 1, 1, 20, 14, 2, + 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 5, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2, 1, 34, 46, 2, + 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, 38, 35, 34, 6, 21, 20, 51, 50, 54, 55, 21, 6, 6, 5, 10,252,213,157, 3, 43, 1,110, + 45, 80,112, 68, 63,110, 81, 47, 44, 80,113, 68, 62,110, 82, 47,254, 51, 17, 38, 60, 43, 42, 60, 37, 17, 17, 37, 60, 42, 43, 60, + 38, 17,253,203, 69,121, 90, 52, 53, 92,125, 72, 51,100, 32, 33, 31, 85, 34,103, 95,194, 51, 90, 35, 35, 99, 5,182,250, 74, 5, +182,251,152, 83,127, 87, 45, 45, 87,127, 83, 83,127, 87, 45, 45, 87,127, 83, 51, 86, 62, 35, 35, 62, 86, 51, 52, 85, 61, 33, 33, + 61, 85, 1,146, 38, 82,128, 90, 95,132, 82, 38, 22, 15,107, 13, 20,116,118,229, 17, 16,107, 18, 19, 0, 0, 2, 0,119,255,236, + 3,123, 5,203, 0, 45, 0, 58, 0, 85, 64, 50, 46,112, 35, 64, 16, 20, 72, 35, 35, 17, 5, 6, 60, 53, 40,110, 25, 20, 16, 17, + 32, 17, 48, 17,128, 17,144, 17, 5, 17, 24, 21, 54,118, 20, 17, 40, 40, 0, 48,118, 30, 7, 0,117, 11, 6, 6, 11, 25, 0, 63, + 51, 47, 16,225, 63,225, 18, 57, 47, 51, 51,225, 50, 50, 1, 47, 93,197, 51,225, 50, 16,214,193, 18, 57, 47, 43,225, 49, 48, 37, + 50, 62, 2, 55, 51, 14, 3, 35, 34, 46, 2, 53, 53, 6, 6, 7, 53, 54, 54, 55, 17, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, + 7, 17, 20, 30, 2, 19, 52, 35, 34, 14, 2, 21, 17, 62, 3, 2,111, 32, 57, 46, 30, 3,100, 4, 38, 70,105, 70, 58,106, 81, 48, + 46, 97, 49, 52, 95, 45, 28, 64,104, 75, 54, 87, 61, 33, 53, 92,124, 71, 17, 36, 55, 99,102, 32, 41, 23, 9, 54, 78, 51, 24,119, + 22, 50, 82, 59, 83,131, 90, 48, 37, 84,136, 99,231, 17, 28, 12,121, 14, 30, 15, 1,238, 59,108, 83, 49, 42, 79,111, 69, 99,166, +134,104, 38,254,211, 48, 81, 59, 33, 4, 33,188, 27, 50, 69, 42,254,106, 33, 78, 98,121, 0, 4, 0,199, 0, 0, 7,137, 5,182, + 0, 23, 0, 43, 0, 55, 0, 59, 0,186, 64,114, 14, 1, 21, 90, 0, 57, 57, 44,225, 34, 16, 0, 1,176, 0, 1,159, 0, 1, 48, + 0, 64, 0, 2, 0, 34, 0, 34, 10, 50,225, 24, 15, 58, 31, 58, 47, 58, 3, 58, 58,239, 24, 1, 24,103, 61,111, 61,191, 61,207, + 61, 3, 64, 61, 1, 12, 8, 3, 9, 90, 10,100, 60, 47,229, 29, 53,229, 39,207, 29,223, 29,239, 29, 3, 29, 64, 6, 11, 72, 15, + 39, 31, 39, 95, 39,111, 39,127, 39,239, 39, 6, 6, 29, 39, 29, 39, 22, 3, 16, 6, 24, 72, 3, 11, 3, 57,229, 56, 14,184,255, +240,182, 6, 24, 72, 14, 1, 10, 18, 0, 63, 51, 51, 43, 51,224, 63, 51, 43, 51, 57, 57, 47, 47, 94, 93, 43, 93, 16,225, 16,225, + 1, 16,246,225, 50, 50, 50, 93, 93, 16,230, 93, 50, 47,113, 16,225, 17, 57, 57, 47, 47, 93, 93, 93,113, 16,225, 51, 47, 16,225, + 50, 50, 49, 48, 33, 35, 1, 35, 22, 23, 22, 22, 21, 17, 35, 17, 51, 1, 51, 38, 39, 46, 3, 53, 17, 51, 1, 20, 14, 2, 35, 34, + 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 5, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 3, 53, 33, 21, 4,168,205,253,135, 8, + 6, 4, 4, 5,166,207, 2,118, 6, 3, 4, 1, 3, 2, 1,164, 2,225, 41, 77,109, 68, 63,107, 77, 44, 41, 77,109, 68, 62,107, + 78, 44,254, 66, 72, 81, 81, 71, 71, 81, 81, 72, 99, 1,240, 4,186, 77, 76, 65,142, 57,252,231, 5,182,251, 76, 76, 74, 32, 67, + 67, 62, 26, 3, 32,252,185, 83,130, 89, 47, 47, 89,130, 83, 83,129, 88, 46, 46, 88,129, 83,113,115,115,113,114,109,109,253, 31, +147,147, 0, 2, 0, 37, 2,229, 5, 80, 5,182, 0, 7, 0, 32, 0,163, 64, 93, 0,196, 1, 19, 10, 16,196, 17,192, 6,208, 6, +224, 6, 3,111, 6, 1, 48, 6, 64, 6, 80, 6, 3, 31, 6, 1, 4, 6, 1, 32, 17,208, 17, 2, 1, 6, 17, 17, 6, 1, 3, 3, + 30, 25, 21, 24,196,159, 23,175, 23, 2, 23, 34, 15, 34, 47, 34, 63, 34, 3, 34, 64, 21, 24, 72, 34, 64, 15, 18, 72,207, 3,239, + 3, 2, 3, 31, 9, 9, 32, 12, 24, 72, 9, 7, 3,200, 4, 24, 20,184,255,224, 64, 12, 12, 24, 72, 20, 17, 8, 1, 1, 21, 18, + 4, 3, 0, 63, 51, 51, 51, 47, 51, 51, 51, 43, 51, 16,225, 50, 51, 43, 17, 51, 1, 47, 93, 43, 43, 93, 16,214, 93,225, 50, 50, + 50, 17, 23, 57, 47, 47, 47, 93, 93, 93, 93, 93, 93, 16,225, 50, 50, 16,225, 49, 48, 1, 35, 17, 35, 53, 33, 21, 35, 1, 3, 35, + 30, 3, 21, 17, 35, 17, 51, 19, 19, 51, 17, 35, 17, 52, 62, 2, 55, 35, 3, 1,104,127,196, 2, 10,199, 2, 64,186, 7, 1, 2, + 1, 1,123,186,180,191,178,127, 1, 1, 1, 1, 6,195, 2,229, 2,101,108,108,253,155, 2, 37, 16, 34, 30, 24, 6,254, 73, 2, +209,253,217, 2, 39,253, 47, 1,172, 9, 30, 35, 35, 12,253,219,255,255, 0, 78, 0, 0, 5,166, 5,205, 2, 6, 1,118, 0, 0, + 0, 2, 0,102,255,221, 4,139, 4, 72, 0, 34, 0, 47, 0, 59, 64, 33, 35, 74, 30, 17, 49, 47, 19, 74, 16, 5, 1, 5, 29, 29, + 24, 18, 78, 43, 47, 59, 47, 2, 47, 47, 24, 41, 78, 12, 15, 24, 78, 0, 22, 0, 63,225, 63,225, 18, 57, 47, 93,225, 17, 57, 47, + 1, 47, 93,225, 50, 16,222, 50,225, 49, 48, 5, 34, 46, 2, 53, 52, 62, 4, 51, 50, 30, 2, 21, 33, 17, 30, 3, 51, 50, 62, 2, + 55, 23, 14, 3, 19, 17, 46, 3, 35, 34, 14, 2, 7, 17, 2,121,130,198,134, 69, 44, 76,102,118,128, 63,113,194,142, 81,252,197, + 22, 64, 77, 88, 46, 74,116, 94, 77, 34, 72, 36, 83,110,143,204, 19, 59, 77, 93, 53, 51, 87, 73, 60, 24, 35, 94,157,204,110, 99, +160,126, 92, 60, 29, 79,147,209,131,254,156, 24, 44, 34, 21, 32, 60, 87, 55, 41, 57,101, 77, 44, 2,139, 1, 21, 20, 42, 35, 22, + 19, 33, 42, 23,254,233,255,255, 0, 83,255,236, 5,211, 5,182, 0, 38, 0,123, 20, 0, 0, 39, 2, 23, 2, 94, 0, 0, 1, 7, + 2, 64, 3, 98,253,179, 0, 48, 64, 31, 4, 3, 2, 39, 25, 1,244, 17, 1,228, 17, 1,208, 17, 1,176, 17, 1,160, 17, 1, 48, + 17, 1, 17, 47, 89, 1, 15, 89, 1, 93, 93, 17, 93, 93, 93, 93, 93, 93, 53, 0, 63, 53, 53, 53,255,255, 0, 51,255,236, 5,211, + 5,201, 0, 38, 0,117, 20, 0, 0, 39, 2, 23, 2,139, 0, 0, 1, 7, 2, 64, 3, 98,253,179, 0, 60, 64, 40, 4, 3, 2, 73, + 25, 1,240, 51, 1,208, 51, 1,196, 51, 1,180, 51, 1,160, 51, 1,148, 51, 1, 96, 51, 1, 48, 51, 1, 36, 51, 1, 51, 47,123, + 1, 15,123, 1, 93, 93, 17, 93, 93, 93, 93, 93, 93, 93, 93, 93, 53, 0, 63, 53, 53, 53,255,255, 0, 79,255,236, 5,211, 5,182, + 0, 38, 2, 61, 20, 0, 0, 39, 2, 23, 2,139, 0, 0, 1, 7, 2, 64, 3, 98,253,179, 0, 60, 64, 40, 4, 3, 2, 61, 25, 1, +240, 39, 1,208, 39, 1,196, 39, 1,180, 39, 1,160, 39, 1,148, 39, 1, 96, 39, 1, 48, 39, 1, 36, 39, 1, 39, 47,111, 1, 15, +111, 1, 93, 93, 17, 93, 93, 93, 93, 93, 93, 93, 93, 93, 53, 0, 63, 53, 53, 53,255,255, 0,113,255,236, 5,211, 5,182, 0, 38, + 2, 63, 66, 0, 0, 39, 2, 23, 2, 57, 0, 0, 1, 7, 2, 64, 3, 98,253,179, 0, 52, 64, 34, 4, 3, 2, 31, 25, 1,244, 9, + 1,235, 9, 1,203, 9, 1,180, 9, 1,155, 9, 1,127, 9, 1, 43, 9, 1, 9, 47, 81, 1, 15, 81, 1, 93, 93, 17, 93, 93, 93, + 93, 93, 93, 93, 53, 0, 63, 53, 53, 53, 0, 2, 0, 98,255,236, 4, 59, 5,197, 0, 43, 0, 67, 0, 59, 64, 33, 51, 25, 71, 0, + 87, 69, 64, 69, 1, 15, 69, 1, 6, 63, 72, 33, 12, 86, 68, 56, 79, 19, 19, 44, 33, 28, 80, 39, 4, 44, 80, 7, 22, 0, 63,225, + 63,225, 51, 18, 57, 47,225, 1, 16,246, 50,225, 94, 93, 93, 16,246,225, 50, 49, 48, 1, 20, 14, 4, 35, 34, 46, 2, 53, 52, 62, + 4, 51, 50, 22, 23, 54, 52, 53, 52, 38, 35, 34, 14, 2, 7, 53, 62, 3, 51, 50, 30, 2, 1, 50, 62, 4, 55, 46, 3, 35, 34, 14, + 4, 21, 20, 30, 2, 4, 59, 32, 65,101,138,177,109,106,140, 83, 34, 23, 50, 81,115,153, 98, 91,147, 45, 2,139,137, 31, 68, 67, + 65, 27, 24, 67, 75, 79, 37,125,166, 99, 42,253,158, 53, 94, 81, 67, 53, 37, 10, 10, 41, 59, 73, 42, 62,102, 79, 58, 37, 18, 21, + 45, 70, 3,166,106,225,212,188,141, 82, 66,110,143, 76, 60,141,141,131,101, 61, 79, 69, 19, 42, 11,190,201, 12, 22, 31, 19,174, + 12, 23, 17, 10, 89,150,196,252,115, 44, 77,104,122,133, 67, 40, 69, 51, 30, 48, 81,104,111,110, 47, 50, 86, 64, 36, 0, 0, 2, + 0, 41, 0, 0, 4, 98, 5,182, 0, 5, 0, 14, 0, 88, 64, 17, 2, 1, 9, 9, 5, 14, 91, 96, 4,112, 4,176, 4,240, 4, 4, + 4,184,255,192, 64, 39, 6, 10, 72, 4, 4, 16, 47, 16, 95, 16,111, 16,127, 16,159, 16,191, 16, 6, 16, 64, 6, 9, 72, 13, 91, + 5, 13, 95, 5, 18, 9, 32, 10, 17, 72, 9, 1, 3, 0, 63, 51, 43, 63,225, 1, 47,225, 43, 93, 17, 51, 47, 43, 93,225, 18, 57, + 61, 47, 51, 51, 49, 48, 55, 1, 51, 1, 21, 33, 1, 38, 38, 39, 6, 6, 7, 3, 33, 41, 1,190,187, 1,192,251,199, 2,119, 32, + 45, 15, 17, 42, 29,250, 2,166,113, 5, 69,250,185,111, 3,154, 97,168, 75, 75,168, 91,253, 4, 0, 1, 0,199,254, 20, 5, 39, + 5,182, 0, 7, 0, 55, 64, 17, 0, 90, 7,101, 9, 0, 9, 48, 9, 64, 9,112, 9,128, 9, 5, 9,184,255,192, 64, 15, 20, 24, + 72, 3, 90, 4,100, 8, 2, 95, 5, 3, 4, 0, 27, 0, 63, 50, 63,225, 1, 16,246,225, 43, 93, 16,246,225, 49, 48, 1, 17, 33, + 17, 35, 17, 33, 17, 4,109,253, 20,186, 4, 96,254, 20, 6,252,249, 4, 7,162,248, 94, 0, 1, 0, 74,254, 20, 4,227, 5,182, + 0, 11, 0, 92, 64, 11, 8, 91,112, 6, 1, 2, 6, 2, 6, 0, 10,184,255,192,183, 9, 14, 72, 10, 10, 13, 7, 9,184,255,224, + 64, 9, 15, 24, 72, 9, 3, 0, 0, 12, 13,184,255,192, 64, 15, 19, 24, 72, 8, 2, 2, 9, 7, 95, 4, 3, 9, 95, 0, 27, 0, + 63,225, 63,225, 18, 57, 61, 47, 51, 1, 43, 17, 51, 24, 47, 51, 51, 43, 50, 17, 51, 47, 43, 18, 57, 57, 47, 47, 93,225, 49, 48, + 19, 53, 1, 1, 53, 33, 21, 33, 1, 1, 33, 21, 74, 2,112,253,160, 4, 72,252,188, 2, 58,253,176, 3,155,254, 20,115, 3,146, + 3, 43,114,164,253, 9,252,157,164, 0, 0, 1, 0,102, 2,135, 4, 2, 3, 29, 0, 3, 0, 50, 64, 31, 2, 5,150, 0, 1,139, + 0, 1,121, 0, 1, 86, 0, 1, 75, 0, 1, 56, 0, 1, 20, 0, 1, 9, 0, 1, 0, 0,173, 1,179, 0, 63,225, 1, 47, 93, 93, + 93, 93, 93, 93, 93, 93, 16,206, 49, 48, 19, 53, 33, 21,102, 3,156, 2,135,150,150, 0, 0, 1, 0, 37,255,242, 4,197, 6,160, + 0, 8, 0, 44, 64, 19, 1, 0, 6, 5, 2, 6, 2, 6, 7, 8, 16, 8, 3, 3,174, 4, 4, 7, 0, 0, 47, 47, 57, 47,225, 1, + 47, 47, 56, 51, 57, 57, 25, 47, 24, 47, 51, 17, 51, 51, 49, 48, 5, 35, 1, 35, 53, 33, 19, 1, 51, 2,115,133,254,235,180, 1, + 41,229, 2, 0,146, 14, 3, 10,143,253,105, 5,172, 0, 0, 3, 0,119, 1,145, 5, 49, 4, 14, 0, 35, 0, 51, 0, 67, 0,118, + 64, 79, 73, 23, 1, 72, 13, 1,240, 69, 1, 47, 69, 95, 69, 2, 58, 39, 74, 39,106, 39, 3, 42, 55, 1, 55, 26, 8, 39, 4, 63, +119, 47,151, 47, 2, 47,170, 32, 18, 48, 18, 2, 18,120, 63, 1, 63,171, 0, 52, 42,174, 23, 58, 36,174, 8, 55, 39, 26, 4, 23, + 5, 0, 13, 16, 13, 2, 7, 13, 13, 31,159, 23, 1, 32, 23, 1, 23, 0, 47, 93, 93, 51, 51, 47, 94, 93, 51, 18, 23, 57,225, 50, + 16,225, 50, 1, 47,225, 93, 47, 93,225, 93, 18, 23, 57, 93, 93, 93, 93, 49, 48, 93, 93, 1, 20, 14, 2, 35, 34, 38, 39, 14, 3, + 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 62, 3, 51, 50, 30, 2, 5, 50, 54, 55, 38, 38, 35, 34, 14, 2, 21, 20, 30, 2, + 1, 34, 6, 7, 22, 22, 51, 50, 62, 2, 53, 52, 46, 2, 5, 49, 43, 77,109, 66, 93,155, 65, 29, 70, 78, 83, 43, 65,110, 79, 45, + 43, 78,111, 67, 85,158, 62, 29, 68, 79, 87, 48, 66,109, 77, 43,252,123, 63,108, 52, 49,107, 69, 40, 64, 44, 24, 21, 44, 65, 2, +124, 63,107, 55, 51,108, 68, 39, 64, 45, 24, 25, 46, 64, 2,205, 63,114, 87, 52,105,115, 48, 79, 56, 30, 44, 82,117, 72, 65,115, + 86, 49,107,112, 48, 78, 56, 31, 45, 82,117,249, 87, 97, 94, 90, 29, 51, 68, 38, 36, 66, 50, 30, 1,106, 87, 97, 93, 92, 29, 51, + 68, 39, 38, 67, 49, 28, 0, 1, 0, 16,254, 20, 3, 6, 6, 20, 0, 35, 0, 55, 64, 35, 16, 37,208, 37, 2, 20, 4, 1, 6, 4, + 1, 4, 13,172, 27, 21, 1, 9, 21, 1, 21, 16, 30, 32, 30, 2, 30, 25,174, 18, 28, 7,174, 0, 0, 0, 63,225, 63,225, 1, 47, + 93, 51, 93, 93,225, 50, 93, 93, 93, 49, 48, 1, 50, 22, 23, 21, 38, 38, 35, 34, 14, 2, 21, 17, 20, 14, 2, 35, 34, 38, 39, 53, + 22, 22, 51, 50, 62, 2, 53, 17, 52, 62, 2, 2,131, 34, 75, 22, 18, 61, 36, 51, 66, 39, 16, 50, 89,124, 74, 36, 75, 23, 20, 62, + 35, 51, 69, 42, 18, 47, 87,121, 6, 20, 9, 9,147, 9, 17, 39, 65, 84, 45,250,215, 94,134, 86, 41, 11, 8,147, 8, 16, 37, 64, + 84, 48, 5, 39, 94,134, 86, 40, 0, 2, 0,102, 1,123, 4, 2, 4, 37, 0, 35, 0, 71, 0, 75, 64, 46, 65, 29, 73, 16, 73, 1, + 46, 16, 10, 32, 10, 2, 10, 64, 41,173, 49,175, 67, 23,173, 10, 31,175, 28, 5,173,223, 13,239, 13,255, 13, 3, 13, 64, 15, 18, + 72, 13, 13, 59,173, 46, 67,179, 0, 63, 51,225, 51, 47, 43, 93,225, 51,245, 50,225, 16,245,225, 51, 1, 47, 93, 51, 93, 16,206, + 50, 49, 48, 1, 46, 3, 35, 34, 14, 2, 7, 53, 54, 51, 50, 30, 2, 23, 30, 3, 51, 50, 62, 2, 55, 21, 6, 35, 34, 46, 2, 3, + 46, 3, 35, 34, 14, 2, 7, 53, 54, 51, 50, 30, 2, 23, 30, 3, 51, 50, 62, 2, 55, 21, 6, 35, 34, 46, 2, 2, 18, 37, 55, 45, + 41, 22, 28, 60, 59, 56, 25,100,148, 29, 50, 55, 67, 47, 37, 55, 47, 40, 22, 28, 60, 59, 56, 24, 99,149, 29, 50, 55, 67, 47, 37, + 55, 45, 41, 22, 28, 60, 59, 56, 25,100,148, 29, 50, 55, 67, 47, 37, 55, 47, 40, 22, 28, 60, 59, 56, 24, 97,151, 29, 50, 55, 67, + 1,188, 16, 22, 13, 5, 19, 33, 44, 25,162,108, 5, 13, 25, 20, 16, 22, 13, 5, 19, 33, 44, 25,162,108, 5, 13, 25, 1,174, 16, + 21, 13, 5, 19, 32, 44, 26,162,109, 5, 14, 25, 20, 16, 21, 13, 5, 19, 32, 45, 25,162,108, 5, 13, 25, 0, 1, 0,102, 0,164, + 4, 2, 5, 4, 0, 19, 0,166, 64, 17, 10, 13, 14, 17, 18, 9, 18, 18, 0, 3, 4, 7, 8, 19, 8, 9, 19,184,255,240, 64, 79, + 9, 16, 19, 9, 19, 9, 6, 16, 11, 21, 64, 21, 1, 1,198, 6, 1,187, 6, 1,169, 6, 1,134, 6, 1,123, 6, 1,104, 6, 1, + 66, 6, 1, 57, 6, 1, 6, 9, 8, 8, 13, 4,173, 7, 19, 18, 18, 17, 0,173, 14, 31, 3, 47, 3, 2,127, 3, 1, 0, 3, 16, + 3, 2, 6, 3, 3, 10,240, 7, 1, 15, 7,111, 7, 2, 7, 0, 47, 93, 93, 51, 51, 47, 94, 93, 93,113, 51,225, 50, 50, 17, 51, + 16,225, 50, 51, 17, 51, 1, 47, 93, 93, 93, 93, 93, 93, 93, 93, 51, 93, 16,206, 50, 17, 57, 57, 47, 47, 56, 56, 17, 51,125,135, +196,196,196,196, 1, 51, 16,135,196,196,196,196, 49, 48, 1, 35, 53, 33, 19, 33, 53, 33, 19, 23, 7, 51, 21, 33, 3, 33, 21, 33, + 3, 39, 1, 94,248, 1, 62,121,254, 73, 1,252,133,138,105,250,254,193,123, 1,186,254, 0,129,137, 1,186,150, 1, 4,149, 1, + 27, 59,224,149,254,252,150,254,234, 57, 0, 2, 0,102, 0, 0, 4, 2, 4,221, 0, 6, 0, 10, 0, 82, 64, 50, 9, 0, 12, 64, + 12, 1, 8, 64, 1, 1, 1, 2, 1, 5, 5, 3, 6,111, 0,127, 0, 2, 48, 0, 1, 0, 0, 4, 32, 3, 1, 80, 3,112, 3,128, + 3,208, 3,240, 3, 5, 63, 3, 1, 0, 3, 1, 6, 3, 0, 47, 94, 93, 93, 93,113, 51, 51, 47, 93, 93, 50, 18, 57, 61, 47, 51, + 51, 1, 24, 47, 93, 51, 93, 16,206, 50, 49, 48, 37, 1, 53, 1, 21, 9, 2, 53, 33, 21, 4, 2,252,100, 3,156,253, 33, 2,223, +252,100, 3,156,238, 1,168,102, 1,225,160,254,148,254,190,254,113,150,150, 0, 0, 2, 0,102, 0, 0, 4, 2, 4,221, 0, 6, + 0, 10, 0, 82, 64, 50, 9, 5, 12, 64, 12, 1, 8, 64, 6, 1, 6, 5, 4, 1, 1, 3, 0,111, 6,127, 6, 2, 48, 6, 1, 6, + 6, 2, 32, 3, 1, 80, 3,112, 3,128, 3,208, 3,240, 3, 5, 63, 3, 1, 0, 3, 1, 6, 3, 0, 47, 94, 93, 93, 93,113, 51, + 51, 47, 93, 93, 51, 18, 57, 61, 47, 51, 51, 1, 24, 47, 93, 51, 93, 16,206, 50, 49, 48, 19, 1, 1, 53, 1, 21, 1, 21, 53, 33, + 21,102, 2,226,253, 30, 3,156,252,100, 3,156, 1,143, 1, 66, 1,106,162,254, 31,102,254, 88,238,150,150, 0, 0, 2, 0,109, + 0, 0, 4, 63, 5,195, 0, 5, 0, 9, 0, 93, 64, 54, 2, 1, 9, 5, 4, 7, 9, 7, 3, 6,172, 0, 11,255, 11, 1, 64, 11, + 80, 11,128, 11,176, 11,192, 11, 5, 15, 11, 47, 11, 2, 8,170, 16, 3, 1, 3, 3, 8, 0, 6, 8, 6, 8, 6, 2, 7,173, 4, + 7, 9,173, 2, 0, 47,225, 63,225, 18, 57, 57, 61, 47, 47, 17, 51, 17, 51, 1, 24, 47, 93,225, 93, 93, 93, 16,222,225, 18, 57, + 57, 17, 51, 51, 17, 51, 51, 49, 48, 1, 1, 35, 1, 1, 51, 9, 3, 4, 63,254, 60, 76,254, 62, 1,194, 76, 1, 12,254,207,254, +207, 1, 49, 2,225,253, 31, 2,223, 2,228,253, 30, 2, 0,254, 0,253,254, 0,255,255, 0, 29, 0, 0, 4, 23, 6, 31, 0, 38, + 0, 73, 0, 0, 1, 7, 0, 76, 2,162, 0, 0, 0, 36, 64, 24, 2, 1,175, 29, 1, 80, 29, 1, 31, 29, 1, 15, 29, 1, 29,175, + 47, 1, 64, 47, 1, 15, 47, 1, 93, 93, 93, 17, 93, 93, 93, 93, 53, 53,255,255, 0, 29, 0, 0, 4, 6, 6, 31, 0, 38, 0, 73, + 0, 0, 1, 7, 0, 79, 2,162, 0, 0, 0, 34, 64, 23, 1,175, 29, 1, 80, 29, 1, 31, 29, 1, 15, 29, 1, 29,175, 33, 1, 64, + 33, 1, 15, 33, 1, 93, 93, 93, 17, 93, 93, 93, 93, 53, 0, 1, 0,207, 4,217, 3,205, 6, 23, 0, 21, 0, 63, 64, 41, 0, 23, + 32, 23, 2,175, 23,207, 23, 2, 48, 23,112, 23, 2, 15, 0, 1, 0, 0, 0, 10, 48, 10, 2, 6, 10, 10,127, 0, 1, 0, 64, 6, + 9, 72, 0, 0, 16,142, 5, 0, 47,225, 51, 47, 43, 93, 51, 1, 47, 94, 93, 51, 47, 93, 93, 93,113, 49, 48, 1, 14, 3, 35, 34, + 46, 2, 39, 51, 30, 3, 51, 50, 62, 2, 55, 3,205, 6, 49, 93,141,100,103,140, 88, 41, 5,170, 5, 27, 50, 76, 53, 44, 73, 54, + 34, 6, 6, 23, 78,118, 81, 41, 39, 80,119, 80, 57, 73, 41, 16, 19, 43, 72, 53, 0, 1,255,188,254, 20, 1,100, 4, 74, 0, 19, + 0, 35, 64, 19, 16, 21, 32, 21, 2, 15, 71, 12, 3, 3, 12, 84, 20, 13, 15, 7, 80, 0, 27, 0, 63,225, 63, 1, 16,230, 50, 47, + 16,225, 93, 49, 48, 19, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 53, 17, 51, 17, 20, 14, 2, 66, 48, 63, 23, 26, 54, 35, 27, 46, + 35, 19,182, 34, 72,109,254, 20, 14, 11,148, 10, 11, 15, 39, 65, 51, 4,244,251, 24, 77,123, 87, 47, 0, 0, 1, 1,135, 4,205, + 2,121, 6, 20, 0, 13, 0, 25, 64, 12, 5,133, 63, 6, 1, 6, 12, 0, 12,146, 5, 0, 0, 63,229, 1, 47, 51,221, 93,225, 49, + 48, 1, 62, 3, 55, 51, 21, 14, 3, 7, 35, 1,135, 9, 18, 17, 14, 4,180, 6, 31, 41, 46, 22, 96, 4,231, 30, 77, 81, 80, 33, + 20, 25, 78, 86, 86, 32, 0, 1, 1,111,254, 59, 2,117,255,131, 0, 13, 0, 22, 64, 9, 12, 0, 0, 5,133, 6, 12,146, 5, 0, + 47,229, 1, 47,225, 50, 47, 51, 49, 48, 1, 62, 3, 55, 51, 21, 14, 3, 7, 35, 1,111, 11, 26, 24, 19, 4,178, 6, 31, 44, 54, + 29, 98,254, 86, 25, 76, 84, 83, 33, 20, 25, 77, 87, 86, 33, 0, 0, 1, 1,125, 4,217, 2,131, 6, 33, 0, 13, 0, 23, 64, 10, + 12, 0, 0, 5,133, 6, 5,146, 12, 0, 0, 63,229, 1, 47,225, 50, 47, 51, 49, 48, 1, 14, 3, 7, 35, 53, 62, 3, 55, 51, 2, +131, 12, 26, 24, 18, 4,178, 5, 31, 45, 55, 28, 98, 6, 6, 25, 76, 84, 83, 33, 21, 24, 78, 86, 86, 33, 0, 2, 0, 37, 2, 57, + 2,127, 5,199, 0, 11, 0, 29, 0, 42, 64, 25, 6,225, 12, 31, 79, 31,127, 31, 2, 31, 64, 6, 10, 72, 0,225, 22, 9,229, 27, +222, 3,229, 17,223, 0, 63,225, 63,225, 1, 47,225, 43, 93, 16,222,225, 49, 48, 19, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, + 5, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22,184, 71, 81, 78, 78, 78, 78, 81, 71, 1,199, 35, 74,115, 79, 74,112, + 75, 38, 35, 73,113, 78,149,154, 4, 2,165,161,159,167,165,159,159,165,108,170,117, 62, 62,117,170,108,108,169,116, 60,236, 0, + 0, 2, 0, 12, 2, 74, 2,143, 5,188, 0, 10, 0, 21, 0, 70, 64, 42, 9, 2,225, 11, 7, 3, 3, 23, 95, 23,143, 23, 2, 23, + 64, 6, 10, 72, 21,225, 5, 1, 4,229, 9, 15, 11, 31, 11, 47, 11, 3, 8, 11, 11, 2, 15,229, 7,220, 2,221, 0, 63, 63,225, + 18, 57, 47, 94, 93, 51,225, 50, 1, 47,225, 43, 93, 18, 57, 47, 51, 51,225, 50, 49, 48, 1, 35, 21, 35, 53, 33, 53, 1, 51, 17, + 51, 33, 53, 52, 54, 55, 14, 3, 7, 7, 2,143,125,143,254,137, 1,121,141,125,254,244, 3, 3, 5, 20, 22, 24, 9,155, 3, 10, +192,192,111, 2, 67,253,205,195, 42, 99, 49, 11, 37, 42, 40, 15,240, 0, 0, 1, 0, 59, 2, 55, 2,102, 5,182, 0, 36, 0, 74, + 64, 23, 33, 34, 34, 30, 29, 29, 11, 32, 20,225, 5, 38, 79, 38,127, 38, 2, 38, 64, 6, 10, 72, 11,184,255,192, 64, 17, 18, 24, + 72, 11, 23,229, 0, 0, 17, 33,229, 30,220, 17,229, 8,223, 0, 63,225, 63,225, 18, 57, 47,225, 1, 47, 43, 43, 93, 16,222,225, + 51, 18, 57, 47, 51, 51, 17, 51, 49, 48, 1, 50, 30, 2, 21, 20, 6, 35, 34, 38, 39, 53, 30, 3, 51, 50, 54, 53, 52, 38, 35, 34, + 14, 2, 7, 39, 19, 33, 21, 33, 7, 54, 54, 1, 66, 61,107, 79, 45,166,161, 63,121, 44, 26, 60, 61, 59, 24, 85, 95, 95, 89, 13, + 37, 39, 37, 14, 67, 33, 1,186,254,190, 18, 20, 57, 4,109, 35, 68,101, 65,140,157, 28, 26,141, 18, 27, 19, 10, 76, 88, 77, 85, + 4, 6, 7, 2, 43, 1,168,123,215, 3, 6, 0, 0, 2, 0, 37, 2, 57, 2,127, 5,213, 0, 29, 0, 45, 0, 56, 64, 32, 16, 10, + 33,225, 0, 47, 79, 47,127, 47, 2, 47, 64, 6, 10, 72, 21, 41,225, 10, 36,228, 21, 25, 25, 16, 15,222, 30,229, 5,223, 0, 63, +225, 63, 51, 57, 47, 51,225, 1, 47,225, 50, 43, 93, 16,222,225, 18, 57, 49, 48, 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, + 55, 23, 14, 3, 7, 51, 54, 54, 51, 50, 30, 2, 5, 50, 54, 53, 52, 38, 35, 34, 14, 2, 21, 20, 30, 2, 2,127, 42, 78,111, 68, + 64,110, 82, 47, 69,126,178,110, 45, 79,127, 96, 64, 15, 11, 27, 99, 74, 54, 90, 64, 36,254,219, 68, 84, 77, 71, 39, 63, 45, 25, + 25, 45, 61, 3,102, 65,111, 80, 45, 45, 88,128, 83,110,179,143,109, 39,109, 27, 64, 79, 96, 59, 43, 49, 37, 72,105,247, 92, 86, + 82, 90, 25, 41, 55, 30, 44, 73, 53, 29, 0, 1, 0, 47, 2, 74, 2,100, 5,182, 0, 6, 0, 56,185, 0, 0,255,240, 64, 31, 0, + 0, 2, 1,225, 5, 8, 79, 8,127, 8, 2, 8, 64, 6, 10, 72,208, 2,224, 2,240, 2, 3, 2, 2,229, 3,220, 0,221, 0, 63, + 63,225, 1, 47, 93, 43, 93, 16,222,225, 17, 57, 47, 56, 49, 48, 19, 1, 33, 53, 33, 21, 1,141, 1, 64,254, 98, 2, 53,254,191, + 2, 74, 2,241,123,100,252,248, 0, 3, 0, 49, 2, 57, 2,113, 5,199, 0, 37, 0, 52, 0, 68, 0,119, 64, 34, 56,225, 33, 66, +225, 5, 10, 61, 50, 28, 4, 5, 33, 5, 33, 5, 23, 44,225, 15, 70, 79, 70,127, 70, 2, 70, 64, 6, 10, 72, 38,225, 23,184,255, +192, 64, 39, 21, 24, 72, 23, 10, 28, 61, 50, 75, 50, 91, 50,107, 50,155, 50,171, 50, 5, 50, 20, 53,182, 61,198, 61,214, 61, 3, + 61, 0, 41,229, 20,223, 53,229, 0,222, 0, 63,225, 63,225, 17, 57, 93, 17, 18, 57, 93, 17, 18, 57, 57, 1, 47, 43,225, 43, 93, + 16,222,225, 18, 57, 57, 47, 47, 18, 23, 57, 16,225, 16,225, 49, 48, 1, 50, 30, 2, 21, 20, 14, 2, 7, 30, 3, 21, 20, 14, 2, + 35, 34, 38, 53, 52, 62, 2, 55, 46, 3, 53, 52, 62, 2, 3, 20, 22, 51, 50, 54, 53, 52, 46, 2, 39, 39, 6, 6, 19, 34, 6, 21, + 20, 30, 2, 23, 62, 3, 53, 52, 38, 1, 82, 52, 94, 70, 42, 22, 39, 52, 30, 34, 62, 48, 28, 42, 77,105, 63,139,150, 25, 42, 56, + 31, 27, 46, 35, 19, 43, 72, 95, 98, 74, 72, 74, 75, 22, 39, 55, 33, 15, 65, 66,148, 56, 63, 18, 32, 45, 26, 24, 44, 32, 19, 65, + 5,199, 27, 55, 84, 56, 37, 62, 50, 40, 17, 19, 45, 55, 69, 42, 57, 93, 66, 36,131,115, 42, 69, 56, 43, 17, 20, 43, 53, 62, 37, + 56, 83, 55, 28,253,104, 59, 70, 70, 59, 30, 48, 39, 32, 15, 6, 34, 77, 1,232, 55, 54, 27, 42, 36, 29, 13, 12, 28, 35, 44, 28, + 54, 55, 0, 2, 0, 33, 2, 57, 2,123, 5,201, 0, 37, 0, 53, 0, 59, 64, 34, 49, 17,224, 9, 28, 0, 55, 79, 55,127, 55, 2, + 55, 64, 6, 10, 72, 41,225, 28, 44,228, 17, 23, 23, 5, 38,229, 33,222, 12,229, 5,223, 0, 63,225, 63,225, 18, 57, 47, 51,225, + 1, 47,225, 43, 93, 16,222, 17, 57,225, 50, 49, 48, 1, 20, 14, 2, 35, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 55, 35, 14, 3, + 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 37, 34, 6, 21, 20, 22, 51, 50, 62, 2, 53, 52, 46, 2, 2,123, 33, 90,162,129, + 25, 64, 21, 21, 54, 25, 83,108, 64, 29, 3, 9, 13, 36, 48, 61, 38, 60, 96, 68, 36, 41, 75,108, 67, 65,114, 84, 48,254,203, 68, + 86, 74, 76, 38, 63, 45, 24, 21, 42, 62, 4, 66, 96,187,147, 91, 8, 7,125, 13, 10, 53, 87,114, 61, 18, 36, 27, 17, 37, 71,102, + 65, 66,111, 81, 45, 47, 97,147,172, 94, 88, 76, 88, 25, 41, 51, 26, 36, 72, 59, 36, 0, 0, 22, 0, 84,254,129, 7,193, 5,238, + 0, 5, 0, 11, 0, 17, 0, 23, 0, 27, 0, 31, 0, 35, 0, 39, 0, 43, 0, 47, 0, 51, 0, 55, 0, 59, 0, 63, 0, 67, 0, 71, + 0, 83, 0, 95, 0,111, 0,120, 0,129, 0,144, 0,228, 64, 89, 52, 44, 32, 28, 56, 24, 87, 81,122,112,111,116,103,100,100,130, +126,107,112, 81,192, 81,208, 81, 3, 81,111,107,107,111, 81, 3, 93,137, 79,140, 95,140, 2,140,140, 68, 40, 36, 9, 23, 93, 80, + 75, 96, 75, 2, 75, 75, 65, 61, 49, 0, 12, 42, 66, 70, 62, 38, 50,134,143,143,111,121,103,112,112,122, 96,122,111, 84, 72, 72, +112,111,128,111, 2, 97,111, 1,111,184,255,192, 64, 37, 7, 12, 72,111,111, 96, 90, 78, 78,138,120, 31, 96, 47, 96, 63, 96,111, + 96, 4, 96, 96, 1, 44, 28, 24, 18, 12, 57, 53, 33, 7, 15, 1, 1, 7, 1, 0, 47, 94, 93, 51, 51, 51, 51, 47, 51, 51, 51, 51, + 18, 57, 47, 93, 51, 51, 51, 47, 51, 17, 51, 47, 43, 93, 93, 51, 47, 51, 17, 51, 17, 18, 57, 47, 51, 51, 17, 51, 47, 51, 47, 51, + 47, 51, 47, 51, 1, 47, 51, 51, 51, 51, 51, 47, 93, 51, 47, 51, 51, 51, 51, 51, 47, 93, 51, 18, 23, 57, 47, 47, 47, 93, 17, 51, + 51, 51, 47, 51, 51, 17, 51, 51, 17, 51, 47, 51, 47, 51, 47, 51, 49, 48, 19, 17, 33, 21, 35, 21, 37, 53, 33, 17, 35, 53, 1, 17, + 51, 21, 51, 21, 33, 53, 51, 53, 51, 17, 33, 53, 33, 21, 33, 53, 33, 21, 1, 53, 33, 21, 1, 35, 17, 51, 17, 35, 17, 51, 1, 53, + 33, 21, 1, 35, 17, 51, 1, 53, 33, 21, 51, 53, 33, 21, 1, 35, 17, 51, 53, 35, 17, 51, 1, 35, 17, 51, 1, 34, 38, 53, 52, 54, + 55, 50, 22, 21, 20, 6, 39, 50, 54, 53, 52, 38, 35, 34, 6, 21, 20, 22, 1, 51, 50, 22, 21, 20, 6, 7, 21, 22, 22, 21, 20, 6, + 35, 35, 19, 51, 50, 54, 53, 52, 38, 35, 35, 21, 21, 51, 50, 54, 53, 52, 38, 35, 5, 53, 22, 22, 51, 50, 54, 53, 17, 51, 17, 20, + 6, 35, 34, 84, 1, 47,192, 5,206, 1, 48,109,249, 0,111,192, 5, 14,195,109,253, 73, 1, 17,251,225, 1, 14,254,242, 1, 14, + 4,183,109,109,109,109,251,194, 1, 16,252, 48,111,111, 2,192, 1, 16,119, 1, 17,250,168,111,111,111,111, 6,254,109,109,250, +153,127,135,135,127,127,135,135,127, 72, 63, 63, 72, 69, 66, 66, 1,159,172,109,112, 45, 45, 56, 51,109, 94,207,123, 66, 46, 36, + 41, 48, 59, 74, 49, 37, 38, 52, 1, 14, 16, 32, 20, 37, 49,125,104, 95, 61, 4,190, 1, 48,111,193,193,111,254,208,193,249, 2, + 1, 47,194,109,109,194,254,209,109,109,109,109, 6,254,111,111,250,168, 1, 14, 2, 2, 1, 15,250, 59,109,109, 1,166, 1, 14, + 4, 74,111,111,111,111,252, 47, 1, 16,121, 1, 15,253,104, 1, 16,254,138,159,142,145,155, 1,156,145,142,159,104,103, 94, 94, +102,102, 94, 94,103, 1,234, 67, 83, 49, 68, 8, 4, 11, 68, 58, 81, 89, 1, 98, 34, 32, 34, 29,227,154, 43, 37, 32, 42,252,102, + 3, 5, 36, 50, 1,146,254,114, 94,100, 0, 3, 0, 84,254,193, 7,170, 6, 20, 0, 3, 0, 35, 0, 47, 0, 80, 64, 40, 4, 35, + 35, 36, 32, 42, 48, 42, 64, 42, 3, 42, 42, 79, 36, 1, 36, 36, 2, 28, 11, 11, 2, 21, 21, 2, 35, 35, 48, 45, 1, 45, 45, 39, + 39, 3, 25, 16, 16, 3, 0, 25, 47, 51, 24, 47, 51, 17, 51, 47, 51, 47, 93, 51, 47, 1, 25, 47, 51, 24, 47, 17, 51, 47, 51, 17, + 51, 47, 93, 51, 47, 93, 17, 51, 47, 51, 49, 48, 9, 3, 5, 53, 52, 54, 55, 54, 54, 53, 52, 46, 2, 35, 34, 14, 2, 7, 23, 54, + 54, 51, 50, 22, 21, 20, 6, 7, 6, 6, 21, 21, 3, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 3,254, 3,172,252, 84,252, 86, + 3,235, 33, 76, 99, 77, 49, 91,131, 81, 43, 90, 87, 82, 34, 82, 68,126, 56, 63, 62, 39, 82, 69, 74, 27, 71, 70, 68, 71, 71, 68, + 70, 71, 6, 20,252, 86,252, 87, 3,169,251, 47, 44, 62, 58, 76,131, 89, 69,107, 74, 39, 16, 27, 35, 20,178, 34, 46, 58, 47, 49, + 68, 65, 53,121, 80, 59,254,237, 62, 73, 73, 62, 64, 73, 73, 0,255,255,255,188,254, 20, 2, 85, 6, 33, 2, 38, 2, 55, 0, 0, + 0, 7, 1, 76,254,187, 0, 0,255,255, 0, 23, 3,193, 1, 80, 5,182, 2, 6, 2, 7, 0, 0, 0, 2, 0, 10,255,236, 4,178, + 6, 43, 0, 12, 0, 79, 0,117, 64, 71, 77, 13, 67, 16, 62, 0, 59, 8, 71, 67, 67, 26, 59, 71, 79, 0, 16, 1, 16, 16, 81,160, + 81, 1, 63, 81, 1, 51, 71, 0, 26, 16, 26, 32, 26, 3, 26, 34, 80, 41, 62, 79, 79, 78, 0, 78, 0, 41, 16, 41, 48, 41, 64, 41, + 80, 41, 5, 6, 41, 78, 41, 78, 56, 5, 80, 72, 1, 56, 80, 21, 22, 0, 63,225, 63,225, 18, 57, 57, 47, 47, 94, 93, 17, 51, 16, +225, 50, 16,225, 1, 47, 93,225, 93, 93, 17, 51, 47, 93, 51,225, 17, 57, 47,225, 17, 57, 57, 17, 18, 57, 57, 49, 48, 1, 46, 3, + 35, 34, 6, 21, 20, 30, 2, 5, 22, 22, 21, 20, 2, 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 53, 52, 38, 35, 34, 6, 7, 39, 54, + 54, 51, 50, 30, 2, 21, 20, 14, 2, 21, 20, 30, 2, 51, 50, 18, 17, 52, 38, 39, 46, 3, 53, 52, 62, 2, 51, 50, 30, 2, 23, 51, + 21, 3,106, 13, 57, 77, 91, 48, 76, 86, 46,106,171, 1, 60, 2, 2, 64,129,196,131,111,146, 86, 34, 10, 11, 10, 31, 31, 24, 54, + 16, 37, 37,100, 54, 50, 69, 44, 19, 10, 11, 10, 21, 48, 78, 58,164,164, 2, 2,174,242,150, 67, 39, 81,127, 89,104,161,117, 75, + 18,143, 3,209,108,170,116, 61, 88, 72, 56,105, 82, 51,138, 22, 58, 31,159,254,238,201,115, 55, 95,125, 69, 40, 93, 89, 75, 24, + 45, 33, 15, 10,127, 17, 26, 28, 50, 68, 40, 35, 86, 93, 97, 45, 42, 74, 54, 31, 1, 50, 1, 48, 23, 62, 20, 2, 75,120,154, 81, + 67,112, 82, 46, 84,156,223,139,137, 0, 0, 1, 0, 0, 0, 0, 4, 72, 5,195, 0, 34, 0,143, 64, 27,175, 36,239, 36, 2, 36, + 64, 9, 12, 72, 34,171, 33, 1,152, 33, 1, 64, 33, 1, 27, 33, 1, 15, 33, 1, 33,184,255,240, 64, 68, 33, 33, 0, 31, 27, 13, + 1, 15, 13, 1, 13, 32, 18, 22, 72,159, 13,175, 13, 2,125, 13, 1,107, 13, 1, 90, 13, 1, 79, 13, 1, 43, 13, 59, 13, 2, 13, + 13, 30, 90,119, 31,135, 31,151, 31, 3, 79, 31, 1, 0, 31, 16, 31, 2, 7, 31, 29, 0, 31, 33, 3, 31, 18, 17, 10, 4, 0, 63, +193, 63, 63, 18, 57, 57, 1, 47, 94, 93, 93, 93,225, 50, 47, 93, 93, 93, 93, 93, 93, 43,113,113, 17, 57, 51, 47, 56, 93, 93, 93, + 93, 93, 51, 43, 93, 49, 48, 1, 62, 3, 55, 62, 3, 51, 50, 22, 23, 21, 38, 38, 35, 34, 14, 2, 7, 14, 5, 7, 17, 35, 17, 1, + 51, 2, 29, 25, 61, 63, 60, 24, 22, 47, 53, 64, 41, 35, 43, 17, 13, 32, 13, 11, 28, 32, 35, 19, 13, 40, 50, 54, 54, 50, 19,187, +254, 66,203, 2,219, 75,168,160,137, 44, 40, 61, 39, 20, 9, 8,145, 3, 5, 7, 23, 42, 35, 24, 85,110,128,133,133, 60,253,227, + 2, 47, 3,135, 0, 2, 0, 18,255,236, 6, 96, 4, 74, 0, 28, 0, 60, 0,143, 64, 71, 25,103, 47, 1, 47, 71,213, 44, 1,183, + 44, 1,169, 44, 1,154, 44, 1, 3, 44, 44, 3, 55, 72,171, 18,187, 18, 2, 18, 18, 62, 20, 62, 1, 84, 62,100, 62,132, 62,164, + 62,180, 62, 5, 64, 62, 1, 2, 48, 62, 1, 15, 62, 1, 34, 72, 0, 3, 16, 3, 48, 3, 64, 3, 80, 3, 5, 6, 3,184,255,192, + 64, 21, 18, 21, 72, 3, 26, 0, 45, 45, 39, 29, 14, 8, 80, 11, 15, 50, 39, 80, 22, 0, 22, 0, 63, 50,225, 50, 63,225, 50, 50, + 18, 57, 47, 18, 57, 1, 47, 43, 94, 93,225, 93, 93, 95, 93, 93,113, 17, 51, 47, 93,225, 17, 57, 47, 95, 93, 93, 93, 93,225, 93, + 57, 49, 48, 5, 34, 38, 53, 52, 62, 2, 55, 33, 53, 55, 33, 21, 35, 30, 3, 21, 20, 6, 35, 34, 38, 39, 35, 6, 6, 3, 14, 3, + 21, 20, 30, 2, 51, 50, 62, 2, 53, 53, 51, 21, 20, 22, 51, 50, 62, 2, 53, 52, 46, 2, 39, 2, 41,182,195, 18, 32, 43, 26,254, +235,134, 5,200,243, 24, 38, 27, 15,196,181,106,139, 31, 11, 31,139,186, 22, 40, 31, 18, 29, 54, 75, 45, 46, 68, 44, 22,179, 98, + 82, 45, 75, 54, 29, 15, 25, 36, 21, 20,234,243, 57,125,126,123, 56, 74, 80,154, 56,123,126,125, 57,243,234, 87, 91, 91, 87, 3, +196, 54,118,121,122, 58, 98,131, 78, 33, 41, 72, 98, 57,176,176,130,138, 33, 78,131, 98, 58,122,121,118, 54, 0,255,255, 0,199, + 0, 0, 6, 47, 7,117, 2, 38, 0, 48, 0, 0, 1, 7, 0,118, 1,121, 1, 84, 0, 19, 64, 11, 1, 39, 5, 38, 1, 75, 26, 32, + 9, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,174, 0, 0, 6,135, 6, 33, 2, 38, 0, 80, 0, 0, 1, 7, 0,118, 1,199, + 0, 0, 0, 19, 64, 11, 1, 58, 17, 38, 1,122, 45, 51, 22, 43, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0,253,213, 4,221, + 5,188, 2, 38, 0, 36, 0, 0, 1, 7, 2, 91, 1, 27, 0, 0, 0, 13,183, 3, 2, 1, 31, 21, 4, 7, 37, 1, 43, 53, 53, 0, +255,255, 0, 94,253,213, 3,156, 4, 94, 2, 38, 0, 68, 0, 0, 1, 7, 2, 91, 0,188, 0, 0, 0, 13,183, 3, 2, 20, 61, 51, + 12, 34, 37, 1, 43, 53, 53, 0,255,255,254,211,255,236, 5,195, 5,205, 0, 38, 0, 50, 82, 0, 1, 7, 2, 92,254, 64, 0, 0, + 0, 63,182, 3, 2, 45, 3, 3, 2, 53,184,255,192,178, 9, 15, 72,184,255, 33, 64, 26, 53, 53, 10, 10, 37, 1, 0,176, 0, 1, +128, 0, 1,127, 0, 1, 80, 0, 1, 64, 0, 1, 31, 0, 1, 0, 17, 93, 93, 93, 93, 93, 93, 53, 53, 43, 43, 53, 53, 0, 63, 53, + 53, 0, 0, 2, 0,115,253,213, 2, 55,255,131, 0, 19, 0, 31, 0, 58, 64, 40, 20,131, 15, 0, 63, 0, 79, 0, 95, 0, 4, 0, + 26,131, 48, 10, 1, 10, 29,140, 0, 5, 16, 5, 48, 5, 64, 5, 80, 5,160, 5,240, 5, 7, 6, 5, 23,140, 15, 0, 47,225,212, + 94, 93,225, 1, 47, 93,225,212, 93,225, 49, 48, 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 7, 52, 38, 35, + 34, 6, 21, 20, 22, 51, 50, 54, 2, 55, 35, 61, 84, 49, 50, 82, 59, 32, 32, 59, 82, 50, 48, 84, 62, 35,116, 64, 49, 50, 63, 57, + 56, 49, 64,254,174, 51, 81, 56, 29, 29, 56, 79, 51, 51, 79, 56, 29, 29, 55, 79, 52, 53, 60, 60, 53, 53, 60, 60, 0, 2, 0,147, + 4,104, 2,217, 5,199, 0, 13, 0, 31, 0, 66, 64, 9, 21, 48, 14, 64, 14, 2, 14, 17, 26,184,255,192, 64, 28, 9, 16, 72, 26, + 26, 43, 13, 1, 4, 13, 20, 13, 2, 13, 6, 5, 12, 5, 12, 63, 17, 79, 17, 95, 17, 3, 17, 29, 0, 47,204, 93, 57, 57, 47, 47, + 1, 47,205, 93, 93, 50, 47, 43, 51,205, 93, 57, 49, 48, 1, 62, 3, 55, 51, 21, 14, 3, 7, 35, 37, 52, 54, 55, 21, 6, 6, 21, + 20, 30, 2, 21, 20, 6, 35, 34, 38, 1,176, 11, 25, 24, 22, 8,207, 18, 48, 56, 62, 31, 82,254,227,120,122, 60, 57, 31, 37, 31, + 50, 47, 58, 69, 4,137, 30, 75, 79, 81, 36, 20, 32, 77, 80, 81, 37,120, 78,115, 31, 76, 22, 46, 24, 19, 18, 16, 26, 28, 37, 39, + 70, 0,255,255, 0, 29, 0, 0, 6,185, 6, 31, 0, 38, 0, 73, 0, 0, 0, 39, 0, 73, 2,162, 0, 0, 1, 7, 0, 76, 5, 68, + 0, 0, 0, 56, 64, 38, 3, 2,143, 57, 1,112, 57, 1, 64, 57, 1, 47, 57, 1, 15, 57, 1, 57, 1,224, 31, 1,176, 31, 1, 31, +175, 75, 1,112, 75, 1, 64, 75, 1, 15, 75, 1, 93, 93, 93, 93, 17, 93, 93, 53, 17, 93, 93, 93, 93, 93, 53, 53,255,255, 0, 29, + 0, 0, 6,168, 6, 31, 0, 38, 0, 73, 0, 0, 0, 39, 0, 73, 2,162, 0, 0, 1, 7, 0, 79, 5, 68, 0, 0, 0, 54, 64, 37, + 2,143, 57, 1,112, 57, 1, 64, 57, 1, 47, 57, 1, 15, 57, 1, 57, 1,224, 31, 1,176, 31, 1, 31,175, 61, 1,112, 61, 1, 64, + 61, 1, 15, 61, 1, 93, 93, 93, 93, 17, 93, 93, 53, 17, 93, 93, 93, 93, 93, 53, 0, 2, 0,125,255,236, 6, 37, 6, 20, 0, 32, + 0, 52, 0, 75, 64, 44, 27, 6, 19, 9, 32, 91, 1, 1, 43, 91, 9,103, 54,192, 54, 1,191, 54, 1,112, 54, 1, 47, 54, 95, 54, + 2, 33, 91, 19,102, 53, 6, 27, 14, 48, 95, 32, 24, 4, 38, 95, 14, 19, 0, 63,225, 63,206,225, 18, 57, 57, 1, 16,246,225, 93, + 93, 93, 93, 16,246,225, 51, 47,225, 17, 18, 57, 57, 49, 48, 1, 23, 14, 3, 7, 22, 22, 21, 20, 2, 6, 6, 35, 34, 38, 38, 2, + 53, 52, 18, 54, 54, 51, 50, 22, 23, 62, 3, 53, 1, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2, 6, 23, 14, 12, + 40, 63, 90, 63, 43, 45, 81,160,237,155,163,239,157, 76, 76,158,239,164,158,236, 81, 41, 49, 25, 8,251,242, 52,107,165,114,114, +165,107, 50, 50,106,164,114,114,166,108, 52, 6, 20, 22, 60,112, 97, 76, 24, 89,216,127,170,254,235,198,108,108,198, 1, 23,170, +170, 1, 21,196,107,111,102, 12, 53, 74, 93, 52,252,201,137,219,153, 81, 81,153,219,137,138,218,151, 81, 81,151,218, 0, 0, 2, + 0,113,255,236, 4,244, 4,242, 0, 32, 0, 44, 0, 74, 64, 44, 23, 74, 25, 25, 30, 18, 10, 39, 72, 0, 0, 16, 0, 2, 7, 0, + 0, 46, 16, 46,144, 46,160, 46,176, 46, 4, 33, 72, 10, 86, 45, 18, 30, 5, 42, 80, 23, 15, 16, 36, 80, 5, 22, 0, 63,225, 63, +198,225, 18, 57, 57, 1, 16,246,225, 93, 17, 51, 47, 94, 93,225, 18, 57, 57, 51, 47,225, 49, 48, 1, 20, 14, 2, 35, 34, 46, 2, + 53, 52, 62, 2, 51, 50, 22, 23, 62, 3, 53, 51, 23, 14, 3, 7, 22, 22, 5, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 4, 45, + 67,125,178,111,103,174,127, 71, 67,124,179,111,100,169, 63, 46, 52, 25, 6,198, 15, 16, 45, 63, 86, 57, 32, 36,253, 0,137,154, +154,135,137,154,154,135, 2, 39,137,213,145, 76, 76,145,213,137,136,211,145, 75, 71, 68, 13, 55, 75, 93, 51, 23, 74,120, 94, 67, + 20, 65,158, 94,209,211,211,209,208,208,208, 0, 0, 1, 0,184,255,236, 6, 78, 6, 20, 0, 36, 0, 81, 64, 50, 6, 91, 8, 8, + 35, 90, 1,159, 14, 1,176, 14, 1,175, 14, 1, 14, 14, 38,112, 38,128, 38,240, 38, 3, 95, 38, 1, 0, 38, 16, 38, 2, 27, 90, + 24,100, 37, 1, 13, 13, 36, 6, 25, 3, 30, 95, 19, 19, 0, 63,225, 63,206, 51, 51, 47, 51, 1, 16,246,225, 93, 93, 93, 17, 51, + 47, 93, 93,113, 51,225, 51, 47,225, 49, 48, 1, 21, 62, 3, 53, 51, 23, 14, 3, 7, 17, 20, 14, 2, 35, 34, 46, 2, 53, 17, 51, + 17, 20, 22, 51, 50, 62, 2, 55, 17, 4,221, 52, 62, 32, 10,198, 15, 15, 50, 85,128, 91, 66,133,201,136,128,196,133, 68,187,172, +176, 89,128, 82, 40, 1, 5,182,196, 6, 50, 78,100, 56, 22, 71,130,105, 74, 15,253,145,114,196,144, 82, 77,142,199,122, 3,174, +252, 72,176,191, 54, 98,136, 81, 3,182, 0, 1, 0,164,255,236, 5,121, 4,242, 0, 39, 0, 84, 64, 51, 31, 74, 33, 33, 1, 23, + 71, 26, 39, 39, 41, 16, 41, 1,128, 41,160, 41,224, 41, 3,111, 41, 1, 0, 41, 32, 41, 48, 41, 3, 7, 15, 71, 12, 84, 40, 26, + 38, 38, 31, 24, 13, 15, 18, 80, 2, 7, 22, 0, 21, 0, 63, 63, 51,225, 63, 51,198, 51, 47, 51, 1, 16,246,225, 94, 93, 93, 93, +113, 17, 51, 47, 51,225, 50, 51, 47,225, 49, 48, 33, 39, 35, 14, 3, 35, 34, 46, 2, 53, 17, 51, 17, 20, 22, 51, 50, 62, 2, 53, + 17, 51, 21, 62, 3, 53, 51, 23, 14, 3, 7, 17, 3,117, 27, 10, 25, 69, 82, 92, 48, 91,138, 92, 47,182,106,111, 81,110, 67, 29, +182, 52, 62, 32, 10,198, 15, 15, 50, 85,128, 91,147, 43, 63, 41, 20, 46, 98,152,105, 2,205,253, 61,130,130, 52,101,148, 96, 2, + 58,123, 6, 50, 78,101, 56, 23, 71,136,109, 72, 7,252,176, 0, 0, 1,252,143, 4,217,254, 25, 6, 33, 0, 13, 0, 22, 64, 10, + 0, 6, 8,128, 15, 0, 95, 0, 2, 0, 0, 47, 93, 26,204, 1, 47,205, 49, 48, 1, 35, 46, 3, 39, 53, 51, 30, 3, 23,254, 25, +121, 35, 81, 77, 64, 16,219, 16, 43, 46, 48, 22, 4,217, 28, 83, 88, 81, 27, 21, 35, 80, 81, 76, 29, 0, 0, 1,253, 72, 4,217, +254,209, 6, 33, 0, 13, 0, 22, 64, 10, 6, 0, 5,128, 15, 12, 95, 12, 2, 12, 0, 47, 93, 26,205, 1, 47,205, 49, 48, 1, 62, + 3, 55, 51, 21, 14, 3, 7, 35,253, 72, 21, 48, 46, 43, 16,219, 16, 63, 77, 82, 34,121, 4,244, 29, 76, 81, 80, 35, 21, 27, 81, + 88, 83, 28, 0, 0, 1,252, 70, 4,217,255, 20, 5,227, 0, 27, 0, 56, 64, 35, 15, 23, 47, 23, 2, 23, 0, 9, 32, 9, 2, 7, + 9, 22, 5,143, 14, 64, 16, 19, 72, 14, 64, 7, 11, 72, 14, 14, 19,143, 9, 15, 0, 1, 0, 0, 47, 93, 50,225, 51, 47, 43, 43, +225, 51, 1, 47, 94, 93,204, 93, 49, 48, 1, 34, 46, 2, 35, 34, 6, 7, 35, 62, 3, 51, 50, 30, 2, 51, 50, 54, 55, 51, 14, 3, +254, 66, 40, 79, 76, 71, 31, 45, 48, 14,104, 5, 33, 53, 74, 46, 41, 81, 77, 69, 29, 45, 46, 15,104, 5, 33, 53, 73, 4,219, 35, + 43, 35, 53, 62, 60, 97, 69, 38, 35, 42, 35, 52, 62, 60, 97, 69, 38, 0, 0, 1,253, 4, 4,184,254,121, 6,143, 0, 27, 0, 38, + 64, 18, 5, 8, 8, 13, 0, 21, 5, 8, 8, 18, 15, 25, 31, 25, 2, 25,128, 6, 0, 47, 26,204, 93, 50, 57, 17, 51, 1, 47,204, + 50, 57, 17, 51, 49, 48, 1, 20, 14, 2, 7, 7, 35, 39, 62, 3, 53, 52, 46, 2, 35, 34, 6, 7, 53, 54, 54, 51, 50, 22,254,121, + 27, 45, 60, 34, 10,113, 14, 37, 60, 42, 23, 21, 36, 50, 29, 28, 52, 16, 16, 50, 41,133,133, 5,211, 39, 58, 41, 27, 7,111,176, + 6, 16, 24, 33, 24, 24, 32, 19, 7, 3, 3,108, 3, 5, 91, 0, 0, 1,253, 49,254,152,254, 6,255,125, 0, 13, 0, 15,181, 8, +135, 0, 11,145, 3, 0, 47,229, 1, 47,225, 49, 48, 5, 52, 54, 51, 50, 22, 21, 20, 14, 2, 35, 34, 38,253, 49, 62, 45, 43, 63, + 17, 29, 39, 21, 45, 62,246, 60, 55, 55, 60, 29, 43, 28, 14, 55,255,255, 0,199, 0, 0, 3,190, 7,115, 2, 38, 0, 40, 0, 0, + 1, 7, 0, 67,255,183, 1, 82, 0, 21,180, 1, 12, 5, 38, 1,184,255,194,180, 18, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0,201, 0, 0, 5, 16, 7,115, 2, 38, 1,178, 0, 0, 1, 7, 0, 67, 0, 66, 1, 82, 0, 21,180, 1, 24, 5, 38, 1, +184,255,163,180, 30, 24, 0, 12, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 3,225, 6, 33, 2, 38, 0, 72, 0, 0, + 1, 6, 0, 67,148, 0, 0, 21,180, 2, 40, 17, 38, 2,184,255,185,180, 46, 40, 5, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0,174, 0, 0, 4, 59, 6, 33, 2, 38, 1,210, 0, 0, 1, 6, 0, 67,202, 0, 0, 21,180, 1, 12, 17, 38, 1,184,255,163,180, + 18, 12, 10, 4, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,125,255,236, 7, 94, 5,201, 0, 69, 0,113, 64, 72, 20, 4, 57, 90, + 37,197, 54, 1,150, 54,166, 54, 2,137, 54, 1, 54, 54, 29, 65, 91, 12,103, 71, 0, 71, 16, 71, 2, 0, 71, 32, 71, 80, 71,112, + 71,208, 71,224, 71, 6, 7, 46, 91, 29,102, 70, 55, 55, 51, 0, 41, 95, 3, 38, 38, 7, 34, 4, 20, 32, 9, 14, 72, 20, 60, 51, + 95, 17, 24, 19, 0, 63, 51,225, 50, 50, 43, 63, 51, 51, 17, 51,225, 50, 18, 57, 47, 1, 16,246,225, 94, 93,113, 16,246,225, 17, + 57, 47, 93, 93, 93, 51,225, 50, 57, 49, 48, 1, 34, 6, 7, 39, 54, 54, 51, 50, 22, 22, 18, 21, 20, 2, 6, 6, 35, 34, 38, 39, + 35, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, 20, 30, 2, 51, 50, 54, 55, + 17, 51, 17, 22, 22, 51, 50, 62, 2, 53, 52, 46, 2, 5,104, 60, 94, 42, 76, 59,143, 81,119,183,125, 64, 63,129,198,136,111,170, + 73, 2, 75,168,110,136,198,129, 63, 64,125,183,119, 81,143, 59, 76, 41, 95, 60, 69,113, 80, 43, 46, 92,138, 92, 57,118, 46,187, + 46,118, 59, 92,139, 92, 46, 44, 80,113, 5, 37, 46, 32,156, 42, 44, 99,184,254,248,166,170,254,223,210,119, 50, 48, 48, 50,119, +210, 1, 33,170,166, 1, 8,184, 99, 44, 42,156, 32, 46, 70,138,207,136,141,229,164, 89, 36, 38, 1,189,254, 67, 38, 36, 89,164, +229,141,136,207,138, 70, 0, 1, 0, 0, 0, 0, 5,244, 4, 74, 0, 44, 0,231, 64, 9,101, 16, 1,201, 34,249, 34, 2, 33,184, +255,240,179, 10, 16, 72, 44,184,255,240,179, 18, 27, 72, 44,184,255,240, 64, 25, 10, 15, 72, 0, 16, 10, 27, 72, 38, 13, 34, 14, + 33, 34, 21, 44, 0, 6, 86, 15,102, 15, 2, 15, 14,184,255,240, 64, 72, 31, 14, 1,111, 14,127, 14,159, 14,223, 14, 4, 89, 14, + 1, 79, 14, 1,116, 21, 1,107, 21, 1, 36, 21, 52, 21, 2, 36, 6, 52, 6, 68, 6,116, 6,148, 6, 5, 14, 6, 21, 21, 14, 6, + 3, 1, 27, 71, 0, 28, 16, 28, 2, 7, 28, 28, 46, 16, 46, 32, 46, 48, 46,208, 46,224, 46, 5, 2, 1,184,255,240, 64, 30, 1, + 38, 64, 21, 29, 72, 38, 32, 12, 20, 72, 38, 13, 16, 3, 27, 14, 1, 15, 21, 6, 38, 6, 54, 6, 2, 6, 34, 0, 21, 0, 63, 50, + 50, 93, 17, 51, 63, 51, 51, 23, 57, 43, 43, 1, 47, 56, 51, 93, 17, 51, 47, 94, 93,225, 18, 23, 57, 61, 47, 47, 24, 47, 93, 93, + 93, 93, 93, 93, 93,113, 56, 51, 93, 17, 51, 51, 17, 51, 51, 17, 18, 57, 57, 43, 43, 43, 43, 93, 49, 48, 93, 33, 1, 51, 19, 22, + 22, 23, 51, 62, 3, 55, 19, 3, 51, 19, 30, 3, 23, 51, 62, 3, 53, 51, 20, 2, 2, 6, 7, 35, 3, 38, 38, 53, 14, 3, 7, 3, + 1,119,254,137,188,224, 28, 38, 9, 7, 7, 21, 26, 29, 15,119,162,188,201, 12, 31, 30, 24, 5, 7, 90,114, 65, 25,183, 37, 92, +154,117,192,119, 12, 13, 1, 6, 9, 10, 4,152, 4, 74,253, 86, 87,157, 51, 22, 58, 65, 69, 32, 1, 12, 1,207,253,176, 33, 99, +103, 92, 25,103,208,226,255,152,163,254,223,254,245,252,127, 1, 84, 32, 53, 3, 1, 19, 27, 29, 10,254,170, 0, 0, 2, 0, 20, + 0, 0, 4,188, 6, 20, 0, 22, 0, 33, 0,155, 64, 10, 19, 0, 23, 90, 12, 21, 21, 6, 16, 12,184,255,192, 64, 13, 26, 39, 72, + 32, 12, 1, 2,144, 12,160, 12, 2, 12,184,255,192,179, 19, 24, 72, 12,184,255,192, 64, 64, 11, 14, 72, 12, 12, 14, 27, 91, 6, +103, 35, 0, 35, 48, 35, 80, 35, 96, 35,128, 35, 5,224, 35, 1,159, 35, 1, 80, 35, 1, 14, 33, 95, 0, 22, 13, 95, 16, 19, 16, +176, 0, 1,137, 0, 1, 79, 0, 1, 15, 16, 1, 7, 0, 16, 0, 16, 17, 0, 23, 96, 12, 18, 0, 63,225, 63, 57, 57, 47, 47, 94, + 93, 93, 93, 93, 17, 51, 16,225, 50, 16,225, 1, 47, 93, 93, 93,113, 16,246,225, 17, 57, 47, 43, 43, 93, 95,113, 43, 51, 18, 57, + 47, 16,225, 50, 50, 49, 48, 1, 51, 50, 30, 2, 21, 20, 14, 2, 35, 33, 17, 33, 53, 33, 17, 51, 17, 33, 21, 33, 17, 51, 50, 54, + 53, 52, 46, 2, 35, 35, 2, 10,150,152,207,126, 55, 60,126,194,134,254,150,254,196, 1, 60,186, 1,121,254,135,160,174,164, 46, + 91,139, 93,129, 3, 78, 66,113,152, 87, 97,158,112, 61, 4, 96,164, 1, 16,254,240,164,252, 64,132,136, 70, 97, 60, 27, 0, 2, + 0, 20, 0, 0, 4,109, 5, 39, 0, 20, 0, 33, 0,129, 64, 9, 19, 2, 22, 71, 16, 0, 12, 1, 12,184,255,192, 64, 71, 13, 26, + 72, 12, 0, 12, 0, 14, 28, 71, 6, 87, 35, 0, 35, 16, 35, 2,112, 35,144, 35,192, 35,224, 35, 4, 14, 21, 80, 2, 1, 13, 80, + 16, 19, 16, 15, 2, 31, 2, 2, 2, 64, 12, 30, 72, 15, 16, 1, 15, 16, 31, 16, 2, 7, 2, 16, 2, 16,127, 17, 1, 48, 17, 1, + 17, 22, 80, 12, 21, 0, 63,225, 47, 93, 93, 57, 57, 47, 47, 94, 93,113, 43, 93, 17, 51, 16,225, 50, 16,225, 1, 47, 93,113, 16, +246,225, 18, 57, 57, 47, 47, 43, 93, 51,225, 50, 50, 49, 48, 1, 33, 17, 33, 50, 22, 21, 20, 14, 2, 35, 33, 17, 35, 53, 51, 53, + 51, 21, 33, 1, 17, 33, 50, 62, 2, 53, 52, 46, 2, 35, 2,227,254,213, 1, 21,211,205, 47,101,159,113,254, 57,238,238,182, 1, + 43,254,213, 1, 4, 55, 94, 67, 38, 33, 65, 96, 64, 3,176,254,215,156,155, 77,124, 88, 47, 3,176,154,221,221,253,164,254,168, + 17, 41, 66, 48, 49, 66, 40, 17, 0, 1, 0,199,255,236, 6,236, 5,203, 0, 45, 0, 88, 64, 47, 8, 5, 91, 27, 34, 7, 17, 17, + 7, 34, 3, 30, 42, 42, 47, 33, 29, 90, 30,100, 46, 43, 0, 95, 39, 4, 27, 8, 28, 95, 34, 5, 15, 33, 1, 8, 33, 33, 31, 3, + 30, 18, 13, 95, 16, 22, 19, 0, 63, 51,225, 63, 63, 57, 47, 94, 93, 51, 51,225, 50, 50, 63,225, 51, 1, 16,246,225, 50, 17, 51, +125, 47, 18, 23, 57, 24, 47, 47, 47, 51,225, 50, 49, 48, 1, 34, 14, 2, 7, 33, 21, 33, 30, 3, 51, 50, 54, 55, 21, 14, 3, 35, + 34, 38, 38, 2, 39, 33, 17, 35, 17, 51, 17, 33, 62, 3, 51, 50, 22, 23, 7, 38, 38, 5,109, 95,160,120, 77, 13, 2,116,253,134, + 5, 64,117,172,113, 89,160, 78, 39, 78, 86, 97, 58,158,235,157, 82, 5,254,176,186,186, 1, 86, 14, 99,167,233,149,108,196, 79, + 78, 63,149, 5, 39, 65,122,175,111,162,130,201,138, 72, 35, 23,162, 15, 23, 14, 7,100,184, 1, 3,159,253, 86, 5,182,253,152, +143,235,167, 92, 44, 42,156, 32, 46, 0, 0, 1, 0,174,255,236, 5,113, 4, 94, 0, 41, 0,100, 64, 57, 32, 29, 72, 5, 79, 12, + 1, 12, 31, 12, 31, 8, 39, 20, 20, 43, 11, 7, 71, 8, 84, 42, 26, 81, 21, 17, 16, 32, 5, 6, 80, 29, 12,169, 11,185, 11, 2, + 15, 11, 31, 11, 47, 11, 3, 6, 11, 11, 9, 15, 8, 21, 35, 81, 38, 0, 22, 0, 63, 50,225, 63, 63, 57, 47, 94, 93, 93, 51, 51, +225, 50, 50, 63, 51,225, 1, 16,246,225, 50, 17, 51,125, 47, 51, 18, 57, 57, 24, 47, 47, 93, 51,225, 50, 49, 48, 5, 34, 46, 2, + 39, 33, 17, 35, 17, 51, 17, 33, 62, 3, 51, 50, 22, 23, 7, 46, 3, 35, 34, 6, 7, 33, 21, 33, 22, 22, 51, 50, 54, 55, 21, 6, + 6, 4, 84, 97,169,129, 79, 7,254,241,182,182, 1, 19, 12, 85,129,165, 94, 78,149, 50, 54, 23, 56, 60, 59, 25,140,145, 14, 1, +219,254, 35, 9,146,138, 82,130, 54, 53,124, 20, 58,123,193,135,254, 23, 4, 74,254, 57,128,181,114, 52, 34, 25,154, 10, 19, 15, + 9,151,166,154,184,164, 37, 25,162, 29, 30, 0, 0, 2, 0, 0, 0, 0, 5, 47, 5,182, 0, 11, 0, 24, 0,174, 64, 73, 8, 6, + 1,216, 6,232, 6, 2, 7, 7, 1,215, 7,231, 7, 2,166, 7, 1,155, 1, 1,119, 0,167, 0, 2, 13, 10, 9, 12, 3, 4, 7, + 6, 19, 19, 8,167, 0, 1, 0, 1, 1, 5, 9, 0, 8, 1, 0, 8, 16, 8, 32, 8,112, 8,128, 8,192, 8, 6, 8, 16, 8, 8, + 26,144, 26,160, 26, 2, 26,184,255,192, 64, 15, 21, 24, 72,143, 26, 1, 64, 26, 1, 15, 26, 1, 8, 4, 5,184,255,240, 64, 19, + 5, 11, 3, 95, 19, 16, 10, 14, 72, 19, 12, 12, 6, 4, 0, 9, 18, 6, 3, 0, 63, 63, 51, 51, 18, 57, 47, 57, 43,225, 50, 1, + 47, 56, 51, 94, 93, 93, 93, 43, 93, 17, 51, 47, 56, 93,113, 51, 18, 57, 47, 51, 93, 17, 57, 61, 47, 51, 51, 18, 57, 57, 18, 57, + 57, 93, 93, 93, 93,113, 93,113, 49, 48, 33, 35, 17, 35, 1, 35, 1, 51, 1, 35, 1, 35, 39, 33, 39, 46, 3, 39, 14, 3, 7, 2, +236,166,127,254,254,197, 2, 57,187, 2, 59,199,254,254,122,232, 1, 35, 53, 18, 28, 22, 17, 7, 9, 17, 21, 25, 17, 2,170,253, + 86, 5,182,250, 74, 2,170,164,143, 48, 76, 67, 65, 37, 37, 65, 67, 73, 45, 0, 0, 2, 0, 10, 0, 0, 4, 90, 4, 74, 0, 11, + 0, 23, 0,207, 64, 56, 57, 2, 89, 2,121, 2,137, 2, 4, 27, 2, 43, 2, 2,181, 5, 1,150, 5,166, 5, 2,135, 5, 1, 9, + 3, 25, 3, 2, 6, 8, 22, 8, 2, 9, 18, 25, 18, 2, 6, 17, 22, 17, 2, 7, 18, 3, 2, 17, 8, 9,182, 0, 1, 0,184,255, +248, 64, 27, 10, 15, 72,185, 11, 1, 11, 8, 10, 15, 72, 0, 11,180, 12, 1, 12, 12, 5, 5, 6, 6, 10, 1, 16, 2, 1,184,255, +192,179, 18, 21, 72, 1,184,255,192, 64, 24, 7, 11, 72, 1, 1, 25,192, 25,224, 25, 2,175, 25, 1, 80, 25, 1, 15, 25, 31, 25, + 2, 9, 10,184,255,240, 64, 15, 10, 4, 8, 80, 12, 11, 17, 17, 1, 11, 15, 10, 6, 1, 21, 0, 63, 51, 51, 63, 18, 57, 47, 18, + 57,225, 50, 1, 47, 56, 51, 93, 93, 93, 93, 17, 51, 47, 43, 43, 51, 56, 18, 57, 47, 51, 18, 57, 61, 47, 93, 51, 51, 43, 93, 43, + 93, 18, 57, 57, 18, 57, 57, 94, 93, 93, 93, 93, 93, 93, 93, 49, 48, 93, 93, 1, 1, 35, 3, 35, 17, 35, 17, 35, 3, 35, 1, 23, + 14, 3, 7, 51, 46, 3, 39, 2,166, 1,180,188,187, 96,162, 96,186,189, 1,180,113, 5, 27, 35, 37, 13,240, 14, 37, 35, 27, 4, + 4, 74,251,182, 1,233,254, 23, 1,233,254, 23, 4, 74,121, 25, 85, 96, 94, 34, 34, 95, 96, 84, 25, 0, 0, 2, 0,199, 0, 0, + 7, 41, 5,182, 0, 19, 0, 32, 0,191, 64, 27,155, 1, 1,119, 0,167, 0, 2, 13, 6, 14, 5, 21, 18, 17, 20, 3, 27, 4, 4, + 5, 0, 1, 15, 14, 27, 5,184,255,240, 64, 93,128, 1, 1,203, 27, 1,132, 27, 1, 43, 27,123, 27, 2, 15, 5, 31, 5, 47, 5, +127, 5,207, 5,223, 5,255, 5, 7, 8, 5, 1, 27, 27, 1, 5, 3, 17, 16, 16, 0, 16, 16, 16,112, 16,176, 16,240, 16, 5, 16, + 16, 34, 48, 34, 80, 34,192, 34,208, 34,224, 34, 5, 12, 8, 90, 9,100, 33, 19, 6, 3, 95, 13, 27, 32, 9, 16, 72, 27, 20, 20, + 14, 9, 4, 1, 17, 18, 10, 14, 3, 0, 63, 51, 63, 51, 51, 51, 18, 57, 47, 57, 43, 51,225, 50, 50, 1, 16,246,225, 50, 93, 17, + 51, 47, 93, 56, 51, 23, 57, 61, 47, 24, 47, 47, 94, 93, 93, 93, 93, 93, 56, 17, 51, 51, 17, 51, 17, 51, 17, 18, 57, 57, 17, 57, + 57, 17, 18, 57, 57, 93, 93, 49, 48, 33, 35, 17, 35, 1, 35, 1, 33, 17, 35, 17, 51, 17, 33, 19, 51, 1, 35, 1, 35, 39, 33, 39, + 46, 3, 39, 14, 3, 7, 4,231,165,129,254,253,196, 1, 8,254,127,186,186, 1,193,241,187, 2, 59,199,254,254,121,233, 1, 35, + 53, 19, 28, 21, 17, 8, 8, 17, 21, 25, 17, 2,170,253, 86, 2,170,253, 86, 5,182,253,152, 2,104,250, 74, 2,170,164,143, 48, + 76, 67, 65, 37, 37, 65, 67, 73, 45, 0, 0, 2, 0,174, 0, 0, 6, 8, 4, 74, 0, 19, 0, 31, 0,235, 64, 49,165, 5, 1,134, + 5,150, 5, 2,119, 5, 1, 6, 9, 22, 9, 2, 25, 2, 41, 2, 73, 2,105, 2,121, 2, 5, 11, 2, 1, 26, 3, 2, 25, 8, 20, + 9, 18, 11, 19, 10, 17, 13, 71, 14,198, 0, 1, 0,184,255,248, 64, 23, 10, 15, 72,201, 19, 1, 19, 8, 10, 15, 72, 0, 19,196, + 20, 1, 20, 20, 5, 5, 6, 9, 10,184,255,240, 64, 19, 47, 10, 63, 10,175, 10, 3, 10, 6, 10, 6, 1, 14, 84, 32, 2, 1, 16, + 1,184,255,192,179, 18, 21, 72, 1,184,255,192, 64, 44, 7, 11, 72, 1, 1, 33,208, 33, 1,191, 33, 1, 96, 33,112, 33,144, 33, + 3, 79, 33, 1, 0, 33, 1, 8, 11, 4, 8, 80, 18, 20, 19, 25, 25, 2, 15, 19, 15, 14, 9, 6, 2, 21, 0, 63, 51, 51, 51, 63, + 51, 18, 57, 47, 18, 57, 51,225, 50, 50, 1, 94, 93, 93, 93, 93, 93, 17, 51, 47, 43, 43, 56, 51, 16,230, 17, 57, 57, 47, 47, 93, + 56, 51, 17, 51, 18, 57, 61, 47, 93, 51, 51, 43, 93, 43, 93, 16,225, 50, 17, 18, 57, 57, 17, 18, 57, 57, 17, 57, 57, 93, 93, 93, + 93, 93, 93, 49, 48, 1, 1, 35, 3, 35, 17, 35, 17, 35, 3, 35, 19, 33, 17, 35, 17, 51, 17, 33, 19, 23, 14, 3, 7, 51, 46, 3, + 39, 4, 84, 1,180,188,187, 96,162, 96,186,189,195,254,233,182,182, 1, 84,181,112, 5, 27, 35, 37, 13,240, 14, 37, 35, 27, 4, + 4, 74,251,182, 1,233,254, 23, 1,233,254, 23, 1,233,254, 23, 4, 74,254, 57, 1,199,121, 25, 84, 96, 95, 34, 34, 95, 96, 84, + 25, 0, 0, 2, 0, 20, 0, 0, 5,106, 5,182, 0, 35, 0, 38, 0,192, 64, 17,134, 34, 1,134, 26, 1, 89, 18,137, 18, 2, 37, + 16, 9, 12, 72, 38,184,255,240, 64, 44, 9, 12, 72, 37, 10, 11, 6, 36, 36, 26, 90, 27, 38, 7, 0, 10, 16, 10, 32, 10, 3, 10, + 27, 7, 7, 27, 10, 3, 0, 18, 16, 17, 32, 17, 2,208, 17, 1,128, 17,144, 17, 2, 17,184,255,192, 64, 59, 7, 10, 72, 17, 17, + 40, 31, 40, 1,240, 40, 1,207, 40,223, 40, 2, 64, 40, 80, 40,112, 40, 3, 15, 40, 63, 40, 2, 7, 35, 0, 25, 28, 97, 36, 11, + 79, 6, 1, 15, 6,175, 6, 2, 8, 6, 6, 0, 10, 7, 38, 95, 8, 3, 27, 18, 0, 18, 0, 63, 50, 50, 63,225, 50, 50, 18, 57, + 47, 94, 93,113, 51, 51,225, 50, 1, 47, 51, 94, 93, 93, 93, 93,113, 17, 51, 47, 43, 93, 93,113, 51, 18, 23, 57, 47, 47, 47, 93, + 17, 51, 16,225, 57, 61, 47, 51, 51, 17, 51, 43, 43, 93, 93, 49, 48, 93, 51, 19, 62, 3, 55, 1, 53, 33, 21, 1, 30, 3, 23, 19, + 35, 3, 46, 3, 35, 35, 17, 35, 17, 35, 34, 14, 2, 7, 3, 1, 1, 33, 20,123, 24, 54, 84,124, 95,254,144, 4, 73,254,133, 97, +128, 86, 55, 24,122,190,123, 20, 38, 54, 79, 61, 24,187, 24, 61, 79, 54, 38, 20,123, 1,235, 1, 74,253,111, 1,197, 85,136, 98, + 58, 6, 1,231,139,139,254, 25, 6, 56, 98,137, 86,254, 59, 1,193, 72, 95, 57, 23,253, 72, 2,184, 23, 57, 95, 72,254, 63, 3, + 90, 1,184, 0, 0, 2, 0, 10, 0, 0, 4,229, 4, 74, 0, 35, 0, 38, 0,199, 64, 13,118, 26,134, 26,150, 26, 3, 37, 16, 7, + 12, 72, 38,184,255,240, 64, 24, 7, 12, 72, 9, 18, 1, 6, 35, 1, 11, 6, 36, 36, 26, 70, 27, 37, 10, 38, 7,167, 27, 1, 10, +184,255,192, 64, 16, 22, 25, 72, 10, 27, 7, 7, 27, 10, 3, 0, 18, 32, 17, 1, 17,184,255,192,179, 18, 21, 72, 17,184,255,192, + 64, 63, 7, 11, 72, 17, 17, 40, 16, 40, 1,207, 40,223, 40, 2, 96, 40,144, 40, 2, 31, 40, 79, 40, 2, 35, 0, 10, 7, 38, 80, + 8, 25, 28, 82, 22, 36, 38, 36, 54, 36,166, 36, 4, 36, 11, 15, 6, 31, 6, 79, 6, 95, 6, 4, 7, 6, 6, 8, 15, 27, 18, 0, + 21, 0, 63, 50, 50, 63, 57, 47, 94, 93, 51, 51, 93,225, 50, 16,225, 50, 50, 1, 47, 51, 93, 93, 93,113, 17, 51, 47, 43, 43,113, + 51, 18, 23, 57, 47, 47, 47, 43, 93, 17, 51, 17, 51, 16,225, 57, 61, 47, 51, 51, 93, 93, 43, 43, 93, 49, 48, 51, 19, 62, 3, 55, + 1, 53, 33, 21, 1, 30, 3, 23, 19, 35, 3, 46, 3, 35, 35, 17, 35, 17, 35, 34, 14, 2, 7, 3, 1, 19, 33, 10,123, 22, 44, 66, +103, 83,254,206, 3,207,254,201, 83,104, 67, 44, 23,123,186,123, 20, 36, 48, 68, 53, 4,166, 4, 53, 70, 48, 37, 20,122, 1,180, +252,254, 10, 1, 84, 61,101, 77, 49, 9, 1,100,105,105,254,156, 8, 49, 76,103, 61,254,172, 1, 80, 54, 72, 43, 17,253,246, 2, + 10, 17, 43, 72, 54,254,176, 2,131, 1, 45, 0, 0, 2, 0,199, 0, 0, 7,137, 5,182, 0, 40, 0, 43, 0,202, 64, 21,134, 31, + 1, 89, 23,137, 23, 2, 16, 11, 41, 41, 31, 90, 32, 42, 16, 9, 12, 72, 43,184,255,240, 64, 51, 9, 12, 72, 42, 15, 43, 12, 0, + 15, 16, 15, 32, 15, 3, 7, 15, 12, 32, 32, 12, 15, 3, 22, 40,176, 0,192, 0, 2, 15, 0, 31, 0, 2, 0, 0, 7, 23, 0, 22, + 16, 22, 2,112, 22,128, 22,192, 22, 3, 22,184,255,192, 64, 52, 7, 10, 72, 22, 22, 45,224, 45, 1,159, 45,191, 45, 2, 64, 45, + 1, 47, 45, 1, 10, 6, 90, 7,100, 44, 15, 12, 43, 95, 13, 30, 5, 33, 97, 41, 16, 15, 11, 1, 8, 11, 11, 8, 13, 3, 7, 23, + 32, 3, 0, 18, 0, 63, 23, 50, 63, 51, 57, 47, 94, 93, 51, 51,225, 50, 50, 16,225, 50, 50, 1, 16,246,225, 50, 93, 93, 93, 93, + 17, 51, 47, 43, 93,113, 51, 18, 57, 47, 93, 93, 51, 18, 23, 57, 47, 47, 47, 94, 93, 17, 51, 17, 51, 43, 43, 16,225, 57, 61, 47, + 51, 51, 93, 93, 49, 48, 33, 19, 54, 54, 55, 33, 17, 35, 17, 51, 17, 33, 1, 53, 33, 21, 1, 30, 3, 23, 19, 35, 3, 46, 3, 35, + 35, 17, 35, 17, 35, 34, 14, 2, 7, 3, 1, 1, 33, 2, 51,123, 19, 41, 28,254,123,186,186, 2,164,254,149, 4, 74,254,133, 97, +128, 85, 55, 24,123,190,123, 20, 38, 54, 79, 61, 25,186, 25, 60, 79, 54, 38, 20,123, 1,235, 1, 74,253,111, 1,197, 68,115, 46, +253, 86, 5,182,253,152, 1,221,139,139,254, 25, 6, 56, 98,137, 86,254, 59, 1,193, 72, 95, 57, 23,253, 72, 2,184, 23, 57, 95, + 72,254, 63, 3, 90, 1,184, 0, 0, 2, 0,174, 0, 0, 6,152, 4, 74, 0, 40, 0, 43, 0,207, 64, 13,118, 31,134, 31,150, 31, + 3, 42, 16, 7, 12, 72, 43,184,255,240, 64, 44, 7, 12, 72, 9, 23, 1, 16, 11, 41, 41, 31, 70, 32, 42, 15, 43, 12,167, 32, 1, + 15, 32, 12, 12, 32, 15, 3, 22, 31, 0, 47, 0, 2,255, 0, 1, 0, 0, 7, 23, 32, 22, 1, 22,184,255,192,179, 18, 21, 72, 22, +184,255,192, 64, 63, 7, 11, 72, 22, 22, 45,207, 45, 1,176, 45, 1,159, 45, 1, 96, 45, 1, 79, 45, 1, 0, 45, 48, 45, 2, 10, + 6, 71, 7, 84, 44, 15, 12, 43, 80, 13, 30, 5, 33, 82,166, 41, 1, 41, 16, 15, 11, 31, 11, 2, 7, 11, 11, 8, 13, 15, 7, 23, + 32, 3, 0, 21, 0, 63, 23, 50, 63, 51, 57, 47, 94, 93, 51, 51, 93,225, 50, 50, 16,225, 50, 50, 1, 16,246,225, 50, 93, 93, 93, + 93, 93, 93, 17, 51, 47, 43, 43,113, 51, 18, 57, 47, 93,113, 18, 23, 57, 47, 47, 47, 93, 17, 51, 17, 51, 16,225, 57, 61, 47, 51, + 51, 93, 43, 43, 93, 49, 48, 33, 19, 54, 54, 55, 33, 17, 35, 17, 51, 17, 33, 1, 53, 33, 21, 1, 30, 3, 23, 19, 35, 3, 46, 3, + 35, 35, 17, 35, 17, 35, 34, 14, 2, 7, 3, 1, 19, 33, 1,188,123, 16, 29, 19,254,237,182,182, 2, 11,254,213, 3,206,254,201, + 83,104, 67, 45, 23,123,187,123, 20, 36, 48, 68, 53, 4,166, 4, 53, 69, 49, 36, 20,123, 1,180,252,254, 10, 1, 84, 42, 75, 32, +254, 23, 4, 74,254, 57, 1, 94,105,105,254,156, 8, 49, 76,103, 61,254,172, 1, 80, 54, 72, 43, 17,253,246, 2, 10, 17, 43, 72, + 54,254,176, 2,131, 1, 45, 0, 0, 1, 0, 57,254, 70, 3,236, 6,213, 0,118, 0,159, 64, 39, 33, 24, 9, 14, 72, 89, 98, 89, + 81, 77, 77, 71, 81, 59, 91,103,108, 81,103, 68, 53,103, 20, 81, 20,103, 81, 53, 68, 5, 36, 46, 91,114,103,120, 5, 90, 36,184, +255,192, 64, 54, 20, 24, 72, 36, 93, 82, 77,143, 86,159, 86,175, 86, 3, 86, 64, 7, 11, 72, 86, 86, 71,108, 52, 96, 79, 53, 1, + 15, 53,175, 53, 2, 8, 53, 53, 41, 67, 81, 98, 3, 64, 97, 71, 3, 21, 10, 95, 31,251, 41, 96, 0, 19, 0, 63,225, 63,225, 51, + 63,225, 23, 51, 18, 57, 47, 94, 93,113,225, 57, 17, 51, 47, 43, 93, 51,225, 1, 47, 43,225, 16,246,225, 18, 23, 57, 61, 47, 24, + 47, 47, 47, 47, 17, 18, 57, 16,225, 17, 51, 51, 47, 17, 51, 51, 47, 49, 48, 0, 43, 5, 34, 14, 2, 21, 20, 30, 2, 51, 50, 62, + 2, 51, 50, 30, 2, 23, 21, 46, 3, 35, 34, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 35, 53, + 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 6, 7, 39, 54, 54, 55, 46, 3, 39, 53, 51, 22, 22, 23, 62, 3, 51, 50, 22, 23, 21, 38, + 38, 35, 34, 14, 2, 7, 30, 3, 21, 20, 14, 2, 7, 21, 30, 3, 21, 20, 14, 2, 1,225, 71, 90, 52, 20, 14, 36, 61, 47, 65, 97, + 83, 81, 50, 43, 66, 49, 35, 12, 8, 31, 54, 77, 53, 49, 71, 74, 92, 70,104,136, 79, 32, 49,102,157,108, 89,128, 81, 38, 57,103, +145, 88,191,176, 92,142, 97, 50, 37, 68, 95, 58,110,169, 75, 92, 59,166,103, 24, 55, 54, 50, 20,121, 51, 97, 54, 26, 59, 67, 75, + 42, 31, 47, 14, 11, 34, 17, 22, 48, 48, 46, 20, 82,126, 85, 43, 51, 91,125, 75, 87,138, 94, 50, 67,131,196, 20, 18, 32, 41, 24, + 22, 36, 26, 14, 4, 4, 4, 7, 10, 15, 7,182, 7, 18, 16, 12, 3, 3, 2, 41, 72, 96, 55, 60, 98, 70, 38, 38, 72,105, 68, 71, +101, 63, 29,151, 39, 72,100, 62, 54, 83, 58, 30, 67, 54,125, 48, 75, 17, 30, 65, 63, 58, 23, 27, 34, 97, 56, 36, 70, 56, 35, 9, + 5,119, 5, 7, 23, 41, 56, 33, 13, 63, 92,118, 69, 74,119, 88, 57, 12, 6, 11, 57, 89,119, 72, 96,160,116, 64, 0, 1, 0, 23, +254,115, 3, 82, 5, 82, 0,112, 0,183, 64,113, 64, 24, 9, 14, 72,104,104, 98,108, 3, 12, 3,108, 88, 70, 17, 22,108, 17,224, + 95, 1, 95, 82, 17, 51,108, 51, 17,108, 82, 95, 5, 67, 77, 71, 28, 87,114,192,114,208,114,224,114, 3,127,114, 1, 48,114, 1, + 15,114, 1, 7, 38, 70, 67, 64, 12, 17, 72, 67, 22, 22, 81, 80,137, 82,153, 82, 2, 15, 82, 1, 8, 82, 82, 98, 72,104, 7, 82, + 0, 64, 16, 20, 72, 0, 64, 7, 12, 72, 0, 94,108, 0, 3, 91, 80, 12, 98, 16, 52, 43, 80, 62,251, 72, 80, 33, 22, 0, 63,225, + 63,225, 51, 63, 51,225, 23, 51, 47, 43, 43,225, 51, 17, 18, 57, 47, 94, 93, 93,225, 57, 61, 47, 1, 24, 47, 43,225, 94, 93, 93, + 93, 93, 16,246,225, 18, 23, 57, 61, 47, 24, 47, 47, 47, 47, 93, 17, 18, 57, 16,225, 17, 51, 51, 47, 17, 51, 51, 47, 49, 48, 0, + 43, 1, 50, 22, 23, 21, 38, 38, 35, 34, 14, 2, 7, 30, 3, 21, 20, 14, 2, 7, 21, 30, 3, 21, 20, 14, 2, 35, 34, 14, 2, 21, + 20, 30, 2, 51, 50, 62, 2, 51, 50, 22, 23, 21, 46, 3, 35, 34, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 62, 2, 53, 52, + 38, 35, 35, 53, 51, 50, 62, 2, 53, 52, 38, 35, 34, 6, 7, 39, 54, 54, 55, 46, 3, 39, 53, 51, 22, 22, 23, 62, 3, 2,207, 31, + 47, 14, 11, 33, 17, 21, 46, 46, 45, 19, 55, 89, 63, 35, 28, 51, 70, 43, 44, 82, 63, 38, 53,108,166,113, 75, 89, 47, 15, 14, 34, + 58, 44, 50, 99, 93, 83, 33, 66, 71, 13, 9, 34, 40, 44, 19, 32, 85,100,111, 57, 88,112, 64, 24, 34, 86,144,110, 55,100, 76, 44, +133,138,129, 97, 61,100, 72, 39,115,108, 71,129, 75, 63, 57,107, 65, 23, 49, 48, 44, 18,121, 51, 98, 54, 26, 58, 67, 75, 5, 82, + 9, 5,119, 5, 7, 21, 38, 51, 31, 14, 49, 69, 88, 53, 50, 77, 59, 41, 14, 11, 14, 44, 66, 91, 61, 68,116, 86, 49, 14, 26, 38, + 23, 22, 35, 24, 13, 3, 4, 3, 22, 19,151, 10, 15, 10, 6, 3, 3, 3, 46, 71, 86, 41, 47, 89, 70, 42, 19, 43, 69, 51, 94, 91, +153, 18, 39, 64, 45, 77, 77, 38, 34,147, 28, 34, 8, 28, 59, 55, 50, 21, 27, 34, 97, 56, 36, 70, 56, 35,255,255, 0,104, 0, 0, + 5,186, 5,182, 2, 6, 1,117, 0, 0,255,255, 0,164,254, 20, 5,113, 6, 18, 2, 6, 1,149, 0, 0, 0, 3, 0,125,255,236, + 5,113, 5,205, 0, 19, 0, 30, 0, 41, 0, 79, 64, 50, 37, 25, 91, 0,103, 43,208, 43, 1,207, 43, 1,128, 43, 1, 63, 43,111, + 43, 2, 36, 26, 91, 10,102, 42, 26, 96, 79, 36, 1, 15, 36,175, 36,223, 36, 3, 8, 36, 36, 20, 31, 95, 15, 4, 20, 95, 5, 19, + 0, 63,225, 63,225, 18, 57, 47, 94, 93,113,225, 1, 16,246,225, 50, 93, 93, 93, 93, 16,246,225, 50, 49, 48, 1, 20, 2, 6, 6, + 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 22, 18, 1, 50, 62, 2, 55, 33, 30, 3, 19, 34, 14, 2, 7, 33, 46, 3, 5, +113, 81,160,237,155,163,239,157, 76, 76,158,239,164,154,236,160, 81,253,135,106,158,107, 57, 6,252,154, 6, 58,107,158,109,105, +156,108, 61, 8, 3,100, 8, 59,105,155, 2,221,170,254,235,198,108,108,198, 1, 23,170,170, 1, 21,196,107,107,197,254,235,253, + 7, 71,134,194,122,122,194,134, 71, 4,154, 67,128,184,117,117,184,128, 67, 0, 0, 3, 0,113,255,236, 4, 45, 4, 94, 0, 19, + 0, 26, 0, 33, 0, 79, 64, 51, 31, 23, 72, 0, 87, 35, 64, 35,208, 35,224, 35, 3, 15, 35, 1, 30, 24, 72, 10, 86, 34, 24, 80, +239, 30, 1,169, 30,185, 30, 2, 15, 30, 31, 30, 47, 30, 3, 6, 30, 30, 20, 27, 80, 15, 16, 20, 80, 5, 22, 0, 63,225, 63,225, + 18, 57, 47, 94, 93, 93, 93,225, 1, 16,246,225, 50, 93, 93, 16,246,225, 50, 49, 48, 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, + 2, 51, 50, 30, 2, 1, 50, 54, 55, 33, 22, 22, 19, 34, 6, 7, 33, 38, 38, 4, 45, 67,125,178,111,103,174,127, 71, 67,124,179, +111,103,174,127, 71,254, 35,141,136, 10,253,190, 9,140,140,137,136, 14, 2, 62, 13,138, 2, 39,137,213,145, 76, 76,145,213,137, +136,211,145, 75, 75,145,211,253,212,178,178,178,178, 3, 68,162,164,164,162, 0, 0, 1, 0, 0, 0, 0, 5, 2, 5,195, 0, 28, + 0, 90, 64, 41, 7, 6, 11, 13, 1,251, 13, 1, 13, 13, 8,144, 25,208, 25, 2, 25, 25, 30, 0, 30, 1,176, 30, 1, 15, 30, 31, + 30, 47, 30, 79, 30, 95, 30,127, 30, 6, 7, 9, 8,184,255,240, 64, 12, 8, 0, 96, 22, 4, 9, 8, 3, 13, 6, 7, 18, 0, 63, + 51, 51, 63, 51, 63,225, 1, 47, 56, 51, 94, 93, 93,113, 17, 51, 47, 93, 18, 57, 61, 47, 93,113, 51, 51, 49, 48, 1, 34, 14, 2, + 7, 1, 35, 1, 51, 1, 22, 22, 23, 54, 54, 55, 19, 62, 3, 51, 50, 22, 23, 21, 38, 38, 4,150, 36, 53, 42, 36, 18,254,215,205, +254, 25,197, 1, 39, 29, 46, 17, 14, 42, 26,141, 31, 61, 76,103, 75, 35, 68, 26, 23, 53, 5, 45, 37, 72,103, 66,251,233, 5,182, +252, 97, 91,175, 79, 78,188, 97, 2, 0,113,156, 98, 43, 13, 8,151, 9, 13, 0, 0, 1, 0, 0, 0, 0, 4, 14, 4, 82, 0, 31, + 0,109,185, 0, 30,255,248, 64, 22, 10, 14, 72, 31, 8, 10, 14, 72, 31, 30, 7, 32, 13, 17, 72, 7, 7, 0,224, 22, 1, 22,184, +255,224, 64, 26, 7, 10, 72, 22, 22, 33,191, 33,207, 33,239, 33, 3, 80, 33, 1, 15, 33, 47, 33, 79, 33, 3, 7, 1, 0,184,255, +240, 64, 12, 0, 30, 7, 31, 21, 26, 79, 19, 15, 1, 0, 15, 0, 63, 50, 63,225, 63, 51, 51, 1, 47, 56, 51, 94, 93, 93, 93, 17, + 51, 47, 43, 93, 18, 57, 61, 47, 43, 51, 51, 43, 43, 49, 48, 17, 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 62, 3, 51, 50, 22, 23, + 21, 38, 38, 35, 34, 6, 7, 3, 35,188,201, 11, 32, 31, 26, 5, 6, 4, 20, 24, 25, 9, 86, 25, 53, 67, 88, 60, 26, 34, 17, 11, + 38, 18, 47, 58, 24,224,243, 4, 74,253,162, 33,106,110, 97, 25, 25, 95,108,103, 33, 1, 64, 94,117, 66, 24, 5, 5,135, 3, 5, + 80, 88,252,223,255,255, 0, 0, 0, 0, 5, 2, 7,115, 2, 38, 2,128, 0, 0, 1, 7, 3,118, 4,184, 1, 82, 0, 25,182, 2, + 1, 29, 5, 38, 2, 1,184,255,130,180, 49, 29, 8, 25, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, 4, 14, + 6, 33, 2, 38, 2,129, 0, 0, 1, 7, 3,118, 4, 80, 0, 0, 0, 25,182, 2, 1, 32, 17, 38, 2, 1,184,255,148,180, 52, 32, + 0, 22, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 3, 0,125,254, 20, 9, 90, 5,205, 0, 19, 0, 39, 0, 74, 0,161, 64, 10, + 0, 91, 30, 56, 74, 47, 47, 55, 41, 40,184,255,240, 64, 35, 40, 40, 64, 0, 64, 16, 64, 2,240, 64, 1, 31, 64, 47, 64, 63, 64, + 3, 0, 30, 1, 30, 64, 30, 64, 10, 54, 55, 16,208, 55,224, 55, 2, 55,184,255,192, 64, 52, 7, 11, 72, 55, 55, 76, 15, 76, 1, + 15, 76, 31, 76, 47, 76, 79, 76,127, 76,191, 76,223, 76,239, 76, 8, 7, 20, 91, 10,102, 75, 56, 47, 74, 74, 40, 68, 80, 61, 27, + 54, 40, 15, 35, 95, 15, 4, 25, 95, 5, 19, 0, 63,225, 63,225, 63, 51, 63,225, 17, 57, 17, 51, 51, 1, 16,246,225, 94, 93,113, + 17, 51, 47, 43, 93, 56,193, 18, 57, 57, 47, 47, 93, 93, 93,113, 17, 51, 47, 56,193, 18, 57, 61, 47, 51, 51, 16,225, 49, 48, 1, + 20, 2, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 22, 18, 5, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, + 34, 14, 2, 37, 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 51, 1, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 55, 55, 5, + 31, 76,150,221,145,152,224,147, 71, 71,147,225,153,144,221,149, 76,252, 35, 47, 97,150,103,103,150, 96, 46, 46, 96,148,103,104, +151, 97, 47, 4, 67,189,215, 13, 29, 25, 19, 4, 6, 4, 23, 27, 29, 11,199,188,254, 78, 29, 64, 86,116, 80, 52, 76, 27, 21, 64, + 35, 48, 70, 52, 37, 15, 57, 2,221,170,254,235,198,108,108,198, 1, 23,170,170, 1, 21,196,107,107,197,254,235,171,137,219,153, + 81, 81,153,219,137,138,218,151, 81, 81,151,218,227,253,155, 40, 88, 88, 83, 34, 25, 86, 97, 94, 33, 2, 99,251, 39, 81,129, 90, + 49, 11, 6,145, 5, 7, 23, 44, 64, 41,160, 0,255,255, 0,113,254, 20, 8, 78, 4, 94, 0, 38, 0, 82, 0, 0, 1, 7, 0, 92, + 4,111, 0, 0, 0, 17,177, 2, 2,184, 4, 20,180, 32, 47, 10, 0, 37, 1, 43, 53, 0, 53, 0, 0, 2, 0,125,255,131, 5,195, + 6, 49, 0, 31, 0, 63, 0, 82, 64, 51, 48, 91, 0,103, 65,180, 65,196, 65, 2,144, 65, 1, 2, 48, 65,128, 65, 2, 32, 91, 16, +102, 64, 25, 24, 1, 11, 24, 1, 4, 8, 20, 8, 2, 7, 56, 53, 59, 95, 27, 24, 21, 3, 40, 37, 95, 8, 5, 11, 18, 0, 63, 51, + 51,225, 50, 63, 51, 51,225, 50, 50, 94, 93, 93, 93, 1, 16,246,225, 93, 95, 93, 93, 16,246,225, 49, 48, 1, 20, 14, 2, 7, 6, + 6, 35, 34, 38, 39, 46, 3, 53, 52, 62, 2, 55, 54, 54, 51, 50, 22, 23, 30, 3, 5, 20, 30, 2, 23, 54, 54, 51, 50, 22, 23, 62, + 3, 53, 52, 46, 2, 39, 6, 6, 35, 34, 38, 39, 14, 3, 5,195, 73,137,197,124, 14, 74, 55, 59, 72, 13,129,199,135, 69, 69,135, +199,129, 13, 72, 59, 55, 74, 14,123,197,137, 74,251,127, 45, 87,127, 83, 17, 67, 53, 49, 69, 17, 82,128, 87, 45, 45, 87,128, 82, + 16, 70, 49, 53, 67, 17, 83,127, 87, 45, 2,221,149,252,192,125, 23, 63, 54, 54, 63, 22,125,192,254,150,150,251,191,123, 23, 63, + 49, 51, 61, 23,125,191,251,150,116,192,146, 98, 21, 48, 38, 40, 46, 21, 98,146,192,116,115,191,146, 98, 22, 50, 41, 41, 48, 22, + 97,145,191, 0, 0, 2, 0,113,255,145, 4,168, 4,182, 0, 31, 0, 55, 0, 84,181, 44, 72, 0, 87, 57, 57,184,255,192,179, 14, + 20, 72, 57,184,255,192, 64, 36, 9, 12, 72, 32, 72, 16, 86, 56, 25, 24, 1, 11, 24, 1, 4, 8, 20, 8, 2, 7, 50, 47, 53, 80, + 27, 2, 21, 15, 41, 38, 35, 80, 8, 5, 11, 22, 0, 63, 51, 51,225, 50, 50, 63, 51, 51,225, 50, 50, 94, 93, 93, 93, 1, 16,246, +225, 43, 43, 16,246,225, 49, 48, 1, 20, 14, 2, 7, 6, 6, 35, 34, 38, 39, 46, 3, 53, 52, 62, 2, 55, 54, 54, 51, 50, 22, 23, + 30, 3, 5, 20, 22, 23, 54, 54, 51, 50, 22, 23, 54, 54, 53, 52, 38, 39, 6, 6, 35, 34, 38, 39, 6, 6, 4,168, 57,107,153, 95, + 9, 60, 56, 58, 59, 8, 93,153,110, 61, 57,108,154, 98, 8, 59, 58, 55, 61, 9, 91,152,109, 60,252,133,111,123, 11, 57, 52, 50, + 57, 12,121,109,110,120, 12, 57, 50, 52, 57, 11,123,111, 2, 39,118,191,142, 90, 18, 57, 46, 45, 56, 18, 90,142,192,119,117,191, +141, 90, 18, 57, 41, 42, 58, 18, 91,141,188,117,172,205, 31, 44, 32, 32, 42, 31,204,171,169,200, 32, 43, 32, 32, 45, 31,200, 0, + 0, 3, 0,125,255,236, 7, 53, 8, 61, 0, 69, 0, 91, 0,109, 0,218, 64,146, 55, 20, 36, 4, 20, 4, 20, 36, 3, 28, 65, 91, + 12,103,111, 0,111, 16,111, 2, 0,111, 32,111, 80,111,128,111,144,111,160,111,208,111,224,111, 8, 45, 91, 28,102,110, 99,104, + 71, 71, 92,104, 81, 64, 82, 80, 82, 96, 82, 3, 82, 82, 95, 0,104, 16,104, 32,104,128,104,144,104, 5, 7,104,224, 77, 1, 77, +191, 86,207, 86, 2, 86, 82,239, 70, 1, 70, 71, 71, 79, 82, 1, 82, 82, 96,107,192,107,208,107,224,107, 4,107,111, 95,127, 95, +175, 95,239, 95, 4, 16, 95, 1, 95, 50, 60, 95, 17, 20,127, 55,143, 55, 2, 55, 64, 7, 10, 72, 55, 55, 23, 17, 19, 37, 3, 3, + 40, 0, 95, 33, 7, 4, 0, 63, 51,225, 50, 51, 17, 51, 63, 51, 51, 47, 43, 93, 51, 16,225, 50, 47, 93, 93,204, 93, 50, 47,113, + 51, 16,205, 93, 16,221, 93,205, 93, 1, 47, 94, 93, 51, 51, 47, 93,205, 16,205, 50, 47, 17, 57, 16,246,225, 93,113, 16,246,225, + 18, 23, 57, 61, 47, 24, 47, 47, 17, 51, 49, 48, 1, 34, 6, 7, 39, 54, 54, 51, 50, 22, 22, 18, 21, 20, 2, 6, 6, 35, 34, 38, + 39, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, 20, 30, 2, 51, 50, 62, 2, + 55, 30, 3, 51, 50, 62, 2, 53, 52, 46, 2, 3, 21, 35, 34, 46, 2, 35, 34, 6, 21, 21, 35, 53, 52, 54, 51, 50, 30, 2, 51, 5, + 20, 6, 7, 53, 54, 54, 53, 52, 46, 2, 53, 52, 54, 51, 50, 22, 5, 63, 60, 94, 42, 76, 59,143, 81,119,183,125, 64, 63,129,198, +136,103,162, 69, 71,160,103,136,198,129, 63, 64,125,183,119, 81,143, 59, 76, 41, 95, 60, 69,113, 80, 43, 46, 92,138, 92, 42, 86, + 78, 66, 23, 23, 66, 78, 86, 42, 92,139, 92, 46, 44, 80,113, 3, 16, 86,144,122,100, 42, 46, 58,133,124,109, 58,112,119,133, 78, +254,239,120,121, 60, 56, 31, 36, 31, 50, 46, 59, 68, 5, 37, 46, 32,156, 42, 44, 99,184,254,248,166,170,254,223,210,119, 42, 44, + 44, 42,119,210, 1, 33,170,166, 1, 8,184, 99, 44, 42,156, 32, 46, 70,138,207,136,141,229,164, 89, 19, 35, 47, 28, 28, 47, 35, + 19, 89,164,229,141,136,207,138, 70, 2,166,129, 36, 42, 36, 45, 53, 16, 35,107,101, 36, 42, 36,226, 77,115, 31, 76, 22, 45, 25, + 19, 18, 16, 26, 28, 37, 38, 70, 0, 3, 0,113,255,236, 5,223, 7, 8, 0, 67, 0, 89, 0,108, 0,178, 64,107, 96,103, 69, 69, + 90,103, 79, 64, 80, 80, 80, 2, 80, 80, 93,111,103,159,103, 2, 16,103, 1,103, 36, 21, 11, 53, 63, 3, 3, 11, 44, 72, 63, 87, +110, 30, 72, 11, 86,109, 0, 75, 1, 75,223, 84, 1, 84, 80, 15, 68, 1, 68, 69, 69,111, 80, 1, 80, 80, 0,106, 1,224,106,240, +106, 2,106, 15, 93,127, 93, 2, 7, 93, 47, 27, 81, 52, 22, 22, 58, 16, 16, 33, 41, 81, 0, 3, 36, 64, 16, 21, 72, 36, 64, 7, + 12, 72, 36, 36, 6, 0, 22, 0, 63, 50, 50, 47, 43, 43, 51, 16,225, 50, 63, 51, 51, 17, 51,225, 50, 47, 94, 93,204, 93,113, 50, + 47,113, 51, 16,205,113, 16,221, 93,205,113, 1, 16,246,225, 16,246,225, 18, 57, 61, 47, 18, 57, 18, 57, 51, 24, 47, 93, 93, 51, + 51, 47, 93,205, 16,205, 50, 47, 17, 57, 49, 48, 5, 34, 38, 39, 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 23, 7, + 46, 3, 35, 34, 6, 21, 20, 22, 51, 50, 54, 55, 30, 3, 51, 50, 54, 53, 52, 38, 35, 34, 14, 2, 7, 39, 62, 3, 51, 50, 30, 2, + 21, 20, 14, 2, 19, 21, 35, 34, 46, 2, 35, 34, 6, 21, 21, 35, 53, 52, 54, 51, 50, 30, 2, 51, 5, 20, 6, 7, 53, 54, 53, 52, + 46, 4, 53, 52, 54, 51, 50, 22, 4, 16, 81,109, 43, 43,106, 80, 95,169,127, 74, 63,109,147, 84, 31, 64, 60, 52, 20, 63, 17, 41, + 43, 43, 18,112,105,141,136, 73,115, 41, 22, 49, 57, 66, 41,133,140,105,112, 18, 43, 43, 41, 17, 64, 20, 53, 60, 63, 32, 84,147, +109, 63, 74,126,169, 58, 16, 86,144,122,100, 42, 46, 58,134,124,110, 57,112,120,133, 78,254,239,120,121,116, 15, 21, 26, 21, 15, + 50, 46, 59, 68, 20, 35, 32, 32, 35, 63,137,213,150,157,219,137, 62, 9, 16, 22, 12,154, 10, 19, 15, 9,202,211,211,195, 52, 32, + 16, 30, 24, 14,195,211,211,202, 9, 15, 19, 10,154, 12, 22, 16, 9, 62,137,219,157,150,213,137, 63, 6,170,130, 36, 43, 36, 46, + 52, 17, 35,108,101, 36, 42, 36,226, 77,115, 31, 76, 41, 51, 13, 15, 12, 10, 15, 23, 18, 38, 38, 70, 0, 0, 2, 0,125,255,236, + 7, 94, 7, 4, 0, 13, 0, 83, 0,155, 64, 98, 35, 18, 71, 90, 51,197, 68, 1,150, 68,166, 68, 2,137, 68, 1, 68, 68, 43, 79, + 91, 26, 0, 13, 0, 13, 43, 26,103, 85, 0, 85, 16, 85, 2, 0, 85, 32, 85, 80, 85,112, 85,208, 85,224, 85, 6, 7, 60, 91, 43, +102, 84, 69, 69, 65, 14, 55, 95, 48, 17, 52, 9, 4, 4, 0,128, 10, 6, 63, 2,127, 2,207, 2,223, 2,239, 2, 5, 2, 52, 21, + 48, 4, 74, 35, 32, 9, 14, 72, 35, 65, 95, 31, 38, 19, 0, 63, 51,225, 50, 43, 50, 63, 51, 51, 47, 93, 51, 51, 26,205, 57, 47, + 51, 17, 51, 16,225, 50, 18, 57, 47, 1, 16,246,225, 94, 93,113, 16,230, 17, 57, 57, 47, 47, 16,225, 17, 57, 47, 93, 93, 93, 51, +225, 50, 57, 49, 48, 1, 21, 7, 35, 39, 35, 7, 35, 39, 35, 7, 35, 39, 53, 1, 34, 6, 7, 39, 54, 54, 51, 50, 22, 22, 18, 21, + 20, 2, 6, 6, 35, 34, 38, 39, 35, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, + 21, 20, 30, 2, 51, 50, 54, 55, 17, 51, 17, 22, 22, 51, 50, 62, 2, 53, 52, 46, 2, 5,139, 82, 34, 50,184, 49, 35, 49,184, 50, + 34, 80, 3, 28, 60, 94, 42, 76, 59,143, 81,119,183,125, 64, 63,129,198,136,111,170, 73, 2, 75,168,110,136,198,129, 63, 64,125, +183,119, 81,143, 59, 76, 41, 95, 60, 69,113, 80, 43, 46, 92,138, 92, 57,118, 46,187, 46,118, 59, 92,139, 92, 46, 44, 80,113, 7, + 4, 27,172,103,103,103,103,172, 27,254, 33, 46, 32,156, 42, 44, 99,184,254,248,166,170,254,223,210,119, 50, 48, 48, 50,119,210, + 1, 33,170,166, 1, 8,184, 99, 44, 42,156, 32, 46, 70,138,207,136,141,229,164, 89, 36, 38, 1,189,254, 67, 38, 36, 89,164,229, +141,136,207,138, 70, 0, 0, 2, 0, 0, 0, 0, 5,244, 5,164, 0, 13, 0, 58, 1, 35, 64, 13, 0, 13, 0, 13, 42, 15,185, 48, + 1,130, 48, 1, 47,184,255,240,179, 10, 16, 72, 58,184,255,240,179, 19, 27, 72, 58,184,255,240, 64, 25, 10, 15, 72,169, 14, 1, + 14, 16, 19, 27, 72, 14, 16, 10, 15, 72, 48, 27, 28, 52,102, 29, 1, 29, 28,184,255,240, 64, 83, 15, 28, 31, 28, 63, 28, 3, 79, + 28,111, 28,127, 28,159, 28,191, 28, 5, 28, 28, 52, 48, 47, 35,144, 35, 1,116, 35, 1,107, 35, 1, 36, 35, 52, 35, 2, 58, 14, + 20,144, 52, 1, 36, 20, 52, 20, 68, 20,116, 20,148, 20, 5, 35, 52, 20, 20, 52, 35, 3, 15, 41, 71, 0, 42, 16, 42, 2, 7, 42, + 42, 60, 16, 60, 32, 60, 48, 60, 3, 16, 15,184,255,240, 64, 53, 15, 9, 4, 4, 0,128, 10, 6, 15, 2,127, 2,143, 2,159, 2, + 4, 2, 64, 20, 23, 72, 2, 52, 64, 21, 29, 72, 52, 32, 12, 20, 72, 27, 52, 30, 3, 14, 41, 28, 15, 15, 35, 20, 38, 20, 54, 20, + 2, 20, 48, 14, 21, 0, 63, 51, 51, 93, 17, 51, 63, 51, 51, 18, 23, 57, 43, 43, 47, 43, 93, 51, 51, 26,205, 57, 47, 51, 1, 47, + 56, 51, 93, 17, 51, 47, 94, 93,225, 18, 23, 57, 61, 47, 47, 47, 93, 93, 17, 51, 51, 93, 93, 93, 93, 17, 51, 51, 17, 51, 24, 47, + 93,113, 56, 51, 93,135,192,192, 1, 43, 43, 93, 43, 43, 43, 93, 93, 17, 18, 57, 57, 47, 47, 49, 48, 1, 21, 7, 35, 39, 35, 7, + 35, 39, 35, 7, 35, 39, 53, 3, 1, 51, 19, 22, 22, 23, 51, 62, 3, 55, 19, 3, 51, 19, 30, 3, 23, 51, 62, 3, 53, 51, 20, 2, + 2, 6, 7, 35, 3, 38, 38, 53, 14, 3, 7, 3, 4,186, 82, 34, 50,184, 49, 35, 49,184, 49, 35, 80, 4,254,137,188,224, 28, 38, + 9, 7, 7, 21, 26, 29, 15,119,162,188,201, 12, 31, 30, 24, 5, 7, 90,114, 65, 25,183, 37, 92,154,117,192,119, 12, 13, 1, 6, + 9, 10, 4,152, 5,164, 27,172,103,103,103,103,172, 27,250, 92, 4, 74,253, 86, 87,157, 51, 22, 58, 65, 69, 32, 1, 12, 1,207, +253,176, 33, 99,103, 92, 25,103,208,226,255,152,163,254,223,254,245,252,127, 1, 84, 32, 53, 3, 1, 19, 27, 29, 10,254,170, 0, + 0, 1, 0,125,254, 20, 4,152, 5,203, 0, 35, 0, 84, 64, 23, 17, 90, 15, 16, 1, 7, 16, 64, 15, 18, 72, 16, 16, 24,186, 32, + 1, 96, 32,112, 32, 2, 32,184,255,192, 64, 26, 6, 10, 72, 32, 32, 37,175, 37, 1, 5, 91, 24,102, 36, 33, 0, 95, 29, 4, 15, + 10, 95, 19, 19, 16, 27, 0, 63, 63,225, 51, 63,225, 51, 1, 16,246,225, 93, 17, 51, 47, 43, 93, 93, 18, 57, 47, 43, 94, 93,225, + 49, 48, 1, 34, 14, 2, 21, 20, 30, 2, 51, 50, 62, 2, 55, 17, 35, 17, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, + 7, 38, 38, 3, 25,107,174,123, 67, 59,118,176,118, 29, 45, 40, 37, 21,187, 16,164,240,157, 76, 87,169,250,162,108,196, 79, 78, + 63,148, 5, 39, 81,152,218,137,141,219,150, 78, 4, 9, 13, 9,253, 98, 1,216,108,198, 1, 21,170,166, 1, 20,198,110, 44, 42, +156, 32, 46, 0, 0, 1, 0,113,254, 20, 3,111, 4, 94, 0, 31, 0, 62, 64, 37, 29, 71, 28, 64, 14, 17, 72, 28, 28, 4, 12, 33, + 95, 33,127, 33, 2, 16, 33, 1, 21, 72, 4, 86, 32, 27, 24, 81, 31, 22, 28, 27, 18, 81, 13, 9, 16, 0, 63, 51,225, 63, 63,225, + 51, 1, 16,246,225, 93, 93, 16,206, 17, 57, 47, 43,225, 49, 48, 4, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 7, 46, 3, 35, 34, + 6, 21, 20, 22, 51, 50, 54, 55, 17, 35, 17, 35, 1,237,176,130, 74, 76,133,178,102, 78,149, 50, 54, 23, 56, 60, 59, 25,157,144, +145,148, 62,104, 35,183, 18, 20, 63,137,213,150,157,219,137, 62, 34, 25,154, 10, 19, 15, 9,202,211,211,195, 27, 20,253, 90, 1, +216, 0, 0, 1, 0,104,255,250, 4,121, 5, 10, 0, 19, 1, 37, 64,103, 13, 17, 29, 17, 2, 13, 1, 29, 1, 2, 2, 11, 18, 11, + 2, 2, 7, 18, 7, 2, 7, 16, 17, 12, 19, 18, 11, 0, 1, 8, 3, 2, 7, 4, 15, 4, 13, 17, 12, 10, 18, 11, 9, 1, 8, 6, + 2, 7, 5, 14, 5, 13, 16, 17, 12, 17, 10, 19, 18, 11, 18, 9, 0, 1, 8, 1, 6, 3, 2, 7, 2, 4, 5, 12, 11, 2, 1, 14, + 15, 79, 1, 1, 64, 11, 1, 5, 11, 1, 15, 15, 1, 11, 5, 4, 18, 96, 17,112, 17,240, 17, 3, 17,184,255,192, 64, 77, 7, 10, + 72, 17, 8, 7, 17, 21, 32, 21, 48, 21, 2, 3, 6, 0, 9, 4, 7, 1, 1, 2, 19, 10, 16, 13, 4, 11, 17, 17, 18, 4, 7, 1, + 7, 7, 8, 11, 11, 1, 11, 11, 12,176, 12,192, 12, 2, 15, 18, 31, 18, 2, 0, 8, 16, 8, 2, 2, 18, 8, 12, 12, 8, 18, 2, + 4, 4, 15, 14, 64, 7, 13, 72, 14, 5, 4, 0, 47, 51, 47, 43, 51, 18, 23, 57, 47, 47, 47, 47, 93, 93, 93, 17, 51, 47,113, 17, + 51, 47,113, 17, 51, 47, 18, 23, 57, 17, 51, 47, 18, 23, 57, 1, 93, 17, 51, 47, 50, 47, 43, 93, 51, 23, 57, 47, 47, 47, 47, 93, + 93, 17, 51, 17, 51, 17, 51, 17, 51, 16,135,192,192, 16,135,192,192, 16,135,192,192, 16,135,192,192, 16,135, 8,192, 8,192, 8, +192, 8,192, 16,135, 8,192, 8,192, 8,192, 8,192, 49, 48, 0, 94, 93, 93, 93, 93, 1, 5, 7, 37, 3, 39, 19, 37, 55, 5, 19, + 37, 55, 5, 19, 23, 3, 5, 7, 37, 2, 76, 1, 28, 71,254,227,180,129,180,254,229, 70, 1, 31,198,254,228, 71, 1, 29,182,127, +182, 1, 31, 74,254,229, 1,176,166,123,164,254,199, 74, 1, 59,164,123,164, 1, 90,164,125,164, 1, 57, 73,254,196,164,123,164, + 0, 1, 0,201, 4,143, 3,176, 5,184, 0, 21, 0, 66,181, 15, 32, 7, 10, 72, 3,184,255,224, 64, 30, 7, 10, 72, 12, 18, 18, + 23, 0, 0, 6, 16, 6, 32, 6,144, 6,160, 6, 5, 7, 6, 6, 22, 15, 15, 11, 0, 3, 3, 0, 0, 47, 50, 47, 16,205, 50, 47, + 17, 1, 51, 47, 94, 93, 51, 17, 51, 47, 51, 0, 43, 43, 49, 48, 1, 6, 6, 35, 34, 38, 53, 52, 62, 2, 51, 33, 54, 54, 51, 50, + 22, 21, 20, 6, 35, 1,139, 6, 44, 48, 56, 40, 9, 23, 37, 29, 1,193, 5, 45, 48, 56, 42, 43, 57, 4,238, 44, 51, 51, 56, 28, + 37, 22, 9, 45, 49, 50, 54, 57, 41, 0, 0, 1, 0,244, 4,229, 3,223, 5,217, 0, 21, 0, 66, 64, 17,128, 8,144, 8, 2, 8, + 8, 23, 0, 20, 16, 20, 32, 20, 3, 7, 20,184,255,192, 64, 18, 13, 16, 72, 20, 20, 22, 21, 20, 20, 9, 14, 64,191, 5, 1, 5, +128, 9, 0, 47, 26,221, 93, 26,205, 17, 51, 47,205, 17, 1, 51, 47, 43, 94, 93, 17, 51, 47, 93, 49, 48, 1, 50, 62, 2, 51, 50, + 22, 21, 21, 35, 53, 52, 38, 35, 34, 14, 2, 35, 35, 53, 1, 2, 78,133,119,112, 58,109,124,133, 58, 46, 42,101,121,145, 85, 16, + 5,102, 36, 43, 36,101,108, 35, 17, 52, 46, 36, 43, 36,129, 0, 0, 1, 1,225, 4,215, 2,211, 6, 53, 0, 17, 0, 32, 64, 18, + 11, 14, 63, 6, 79, 6, 2, 6, 0, 63, 3, 79, 3, 95, 3, 3, 3, 15, 0, 47,204, 93, 1, 47,205, 93, 50, 57, 49, 48, 1, 52, + 54, 51, 50, 22, 21, 20, 14, 2, 21, 20, 22, 23, 21, 38, 38, 1,225, 68, 59, 47, 50, 31, 37, 31, 57, 60,122,120, 5,182, 57, 70, + 38, 38, 27, 26, 17, 17, 19, 25, 46, 21, 76, 31,115, 0, 0, 1, 1,225, 4,215, 2,211, 6, 53, 0, 19, 0, 32, 64, 18, 7, 63, + 0, 79, 0, 2, 0, 3, 14, 63, 17, 79, 17, 95, 17, 3, 17, 3, 0, 47,204, 93, 1, 47, 51,205, 93, 57, 49, 48, 1, 20, 6, 7, + 53, 54, 54, 53, 52, 46, 4, 53, 52, 54, 51, 50, 22, 2,211,120,122, 60, 57, 15, 21, 26, 21, 15, 50, 46, 59, 68, 5,182, 77,115, + 31, 76, 21, 46, 25, 13, 15, 12, 10, 15, 23, 18, 38, 38, 70, 0, 0, 8, 0, 41,254,193, 7,193, 5,145, 0, 19, 0, 39, 0, 59, + 0, 79, 0, 99, 0,119, 0,139, 0,159, 0, 0, 1, 46, 3, 35, 34, 14, 2, 7, 35, 54, 54, 51, 50, 30, 2, 23, 3, 46, 3, 35, + 34, 14, 2, 7, 35, 54, 54, 51, 50, 30, 2, 23, 1, 46, 3, 35, 34, 14, 2, 7, 35, 54, 54, 51, 50, 30, 2, 23, 33, 46, 3, 35, + 34, 14, 2, 7, 35, 54, 54, 51, 50, 30, 2, 23, 1, 46, 3, 35, 34, 14, 2, 7, 35, 54, 54, 51, 50, 30, 2, 23, 33, 46, 3, 35, + 34, 14, 2, 7, 35, 54, 54, 51, 50, 30, 2, 23, 1, 46, 3, 35, 34, 14, 2, 7, 35, 54, 54, 51, 50, 30, 2, 23, 33, 46, 3, 35, + 34, 14, 2, 7, 35, 54, 54, 51, 50, 30, 2, 23, 4,111, 3, 24, 36, 46, 25, 30, 47, 33, 20, 3, 75, 5,100,103, 49, 77, 54, 30, + 3, 79, 3, 24, 36, 46, 25, 30, 47, 33, 20, 3, 75, 5,100,103, 49, 77, 54, 30, 3, 1,244, 3, 23, 36, 46, 25, 31, 47, 33, 19, + 3, 76, 5,101,103, 49, 77, 54, 30, 3,251, 47, 3, 23, 36, 46, 25, 31, 47, 33, 19, 3, 76, 5,101,103, 49, 77, 54, 30, 3, 4, + 49, 3, 23, 36, 46, 25, 31, 47, 33, 19, 3, 76, 5,101,103, 49, 77, 54, 30, 3,251, 47, 3, 23, 36, 46, 25, 31, 47, 33, 19, 3, + 76, 5,101,103, 49, 77, 54, 30, 3, 4,240, 3, 24, 36, 45, 25, 31, 47, 33, 20, 3, 75, 5,100,104, 49, 76, 54, 31, 3,249,190, + 3, 23, 36, 46, 25, 31, 47, 33, 19, 3, 76, 5,101,103, 49, 77, 54, 30, 3, 4,207, 28, 35, 19, 6, 5, 18, 35, 30, 90,104, 28, + 51, 72, 43,249,242, 28, 35, 19, 6, 5, 18, 35, 30, 89,105, 29, 51, 71, 43, 1, 22, 28, 35, 19, 6, 5, 18, 35, 30, 90,105, 29, + 51, 72, 43, 28, 35, 19, 6, 5, 18, 35, 30, 90,105, 29, 51, 72, 43, 3,219, 28, 35, 19, 6, 5, 18, 35, 30, 90,105, 29, 51, 72, + 43, 28, 35, 19, 6, 5, 18, 35, 30, 90,105, 29, 51, 72, 43,254, 25, 28, 35, 19, 6, 5, 18, 35, 30, 90,104, 29, 51, 71, 43, 28, + 35, 19, 6, 5, 18, 35, 30, 90,104, 29, 51, 71, 43, 0, 0, 8, 0, 41,254,127, 7,125, 5,211, 0, 12, 0, 25, 0, 38, 0, 51, + 0, 64, 0, 77, 0, 90, 0,103, 0, 0, 5, 23, 14, 3, 7, 35, 62, 3, 55, 3, 39, 62, 3, 55, 51, 14, 3, 7, 1, 55, 30, 3, + 23, 21, 46, 3, 39, 5, 7, 46, 3, 39, 53, 30, 3, 23, 1, 55, 62, 3, 55, 23, 14, 3, 7, 1, 7, 14, 3, 7, 39, 62, 3, 55, + 3, 39, 46, 3, 39, 55, 30, 3, 23, 1, 23, 30, 3, 23, 7, 46, 3, 39, 4, 55, 11, 10, 28, 32, 35, 18, 97, 10, 21, 18, 16, 5, + 59, 11, 10, 28, 32, 35, 18, 97, 10, 21, 18, 16, 5, 2, 35, 14, 38, 85, 87, 87, 39, 42, 93, 91, 87, 37,251,104, 14, 39, 85, 87, + 86, 39, 42, 93, 91, 87, 37, 3,166, 2, 34, 80, 84, 86, 40, 69, 37, 79, 78, 73, 30,252,234, 2, 35, 79, 84, 86, 40, 69, 37, 79, + 78, 73, 30, 43, 17, 20, 41, 39, 36, 15, 67, 23, 51, 52, 50, 23, 3,106, 17, 20, 40, 39, 37, 15, 67, 23, 52, 52, 50, 22, 35, 14, + 39, 85, 87, 86, 39, 42, 93, 91, 87, 37, 4,152, 14, 38, 85, 87, 87, 39, 42, 93, 91, 87, 37,254, 22, 11, 10, 28, 32, 35, 18, 97, + 10, 21, 18, 16, 5, 59, 11, 10, 28, 32, 35, 18, 97, 10, 21, 18, 16, 5, 1,170, 16, 20, 41, 39, 37, 15, 68, 23, 51, 52, 50, 22, +252,149, 16, 20, 41, 39, 37, 15, 68, 23, 51, 52, 50, 22, 2,222, 2, 34, 80, 84, 85, 40, 70, 37, 79, 78, 73, 30,252,233, 2, 35, + 79, 84, 85, 40, 70, 37, 79, 78, 73, 30, 0, 2, 0,201,254,127, 5,211, 7,104, 0, 27, 0, 49, 0,179, 64, 72, 28, 28, 48, 38, + 1,208, 38, 1,175, 38,207, 38, 2, 32, 38, 48, 38,128, 38, 3, 38, 38, 23, 10, 25, 26, 26, 24, 27, 21, 7, 0, 90, 23,101, 51, +208, 51, 1,175, 51, 1, 32, 51, 48, 51, 2, 19, 8, 12, 90, 9,100, 50, 38,159, 28, 1, 28, 64, 6, 9, 72, 28, 28, 44,142, 33, + 5, 26,251, 19,184,255,232,179, 20, 24, 72, 19,184,255,224, 64, 38, 10, 19, 72, 6, 19, 22, 19, 38, 19, 3, 9, 19, 23, 95, 0, + 18, 6, 24, 20, 24, 72, 6, 32, 10, 19, 72, 9, 6, 25, 6, 41, 6, 3, 7, 6, 22, 10, 3, 0, 63, 51, 51, 94, 93, 43, 43, 63, +225, 51, 51, 93, 43, 43, 63, 63,225, 51, 47, 43, 93, 51, 1, 16,246,225, 50, 50, 93, 93, 93, 16,244,225, 50, 50, 51, 51, 57, 47, + 51, 17, 18, 57, 47, 93, 93, 93,113, 51, 47, 49, 48, 33, 17, 52, 54, 55, 54, 55, 35, 1, 35, 17, 51, 17, 20, 14, 2, 7, 6, 7, + 51, 1, 51, 17, 51, 3, 35, 19, 3, 14, 3, 35, 34, 46, 2, 39, 51, 30, 3, 51, 50, 62, 2, 55, 4,100, 5, 4, 4, 6, 8,253, + 49,215,174, 1, 3, 3, 1, 4, 3, 7, 2,204,213,195,143,218,166,157, 6, 49, 93,141,100,103,140, 88, 42, 4,170, 4, 28, 50, + 76, 53, 43, 73, 55, 34, 6, 3, 25, 56,143, 65, 76, 77,251, 70, 5,182,252,224, 26, 62, 67, 68, 31, 74, 76, 4,180,250,240,253, +217, 1,129, 7,104, 77,119, 80, 41, 39, 79,119, 80, 57, 72, 41, 16, 18, 44, 71, 53, 0, 0, 2, 0,174,254,131, 4,242, 6, 23, + 0, 15, 0, 37, 0,150, 64, 58, 16, 16, 4, 26, 52, 26,132, 26, 3, 7, 26, 26, 11, 5, 13, 14, 14, 15, 12, 9, 16, 9, 24, 72, + 9, 2, 0, 70, 11, 85, 39,164, 39,196, 39,212, 39,244, 39, 4,128, 39, 1, 2, 0, 39, 16, 39, 32, 39, 80, 39, 96, 39,112, 39, + 6, 3,184,255,240, 64, 37, 9, 24, 72, 3, 8, 7, 70, 4, 84, 38, 26,127, 16, 1, 16, 64, 6, 9, 72, 16, 16, 32,142, 21, 17, + 14,251, 9, 2, 5, 15, 11, 96, 8, 4, 0, 21, 0, 63, 50, 50,225, 63, 51, 51, 63, 63,225, 51, 47, 43, 93, 51, 1, 16,246,225, + 50, 50, 43, 93, 95, 93, 93, 16,244,225, 50, 50, 43, 51, 51, 57, 47, 51, 17, 18, 57, 47, 94, 93, 51, 47, 49, 48, 33, 17, 19, 1, + 35, 17, 51, 17, 7, 1, 51, 17, 51, 3, 35, 19, 3, 14, 3, 35, 34, 46, 2, 39, 51, 30, 3, 51, 50, 62, 2, 55, 3,143, 11,253, +254,234,172, 12, 2, 4,233,183,123,182,122, 71, 6, 49, 93,141,100,103,140, 88, 42, 4,170, 4, 28, 50, 76, 53, 43, 73, 55, 34, + 6, 2,135, 1, 15,252,106, 4, 74,253,100,252, 3,152,252, 80,253,233, 1,125, 6, 23, 78,118, 81, 41, 39, 80,119, 80, 57, 73, + 41, 16, 18, 44, 72, 53, 0, 2, 0, 47, 0, 0, 4, 51, 5,182, 0, 22, 0, 33, 0, 82, 64, 44, 19, 0, 23, 90, 12, 21, 21, 6, + 16, 12, 12, 14, 27, 91, 6,103, 35, 14, 33, 95, 0, 22, 13, 95, 16, 19, 16,137, 0, 1, 15, 16, 1, 7, 0, 16, 0, 16, 17, 3, + 23, 96, 12, 18, 0, 63,225, 63, 57, 57, 47, 47, 94, 93, 93, 17, 51, 16,225, 50, 16,225, 1, 47, 16,246,225, 17, 57, 47, 51, 18, + 57, 47, 16,225, 50, 50, 49, 48, 1, 51, 50, 30, 2, 21, 20, 14, 2, 35, 33, 17, 35, 53, 51, 53, 51, 21, 33, 21, 33, 17, 51, 50, + 54, 53, 52, 46, 2, 35, 35, 1,129,150,152,207,126, 55, 60,126,194,134,254,150,152,152,186, 1, 59,254,197,160,174,164, 46, 91, +139, 93,129, 3, 78, 66,113,152, 87, 97,158,112, 61, 4, 96,164,178,178,164,252, 64,132,136, 70, 97, 60, 27, 0, 0, 2, 0, 18, + 0, 0, 4, 25, 6, 20, 0, 20, 0, 33, 0, 97, 64, 59, 1, 1, 14, 28, 71, 8, 87, 35,111, 35,191, 35,223, 35,255, 35, 4, 3, + 0, 22, 71, 18, 17, 14, 84, 34, 21, 80, 4, 3, 15, 80, 18, 0, 18, 4, 64, 7, 36, 72, 15, 18, 1, 15, 18, 31, 18, 2, 7, 4, + 18, 4, 18, 19, 0, 22, 80, 14, 21, 0, 63,225, 63, 57, 57, 47, 47, 94, 93,113, 43, 17, 51, 16,225, 50, 16,225, 1, 16,246,196, + 51,225, 50, 50, 93, 16,246,225, 18, 57, 47, 49, 48, 1, 33, 21, 33, 17, 33, 50, 22, 21, 20, 14, 2, 35, 33, 17, 35, 53, 51, 53, + 51, 17, 17, 33, 50, 62, 2, 53, 52, 46, 2, 35, 1,100, 1, 23,254,233, 1, 21,211,205, 47,101,159,113,254, 57,156,156,182, 1, + 4, 55, 94, 67, 38, 33, 65, 96, 64, 5, 33,137,253,239,156,155, 77,124, 88, 47, 4,152,137,243,251,218,254,168, 17, 41, 66, 48, + 49, 66, 40, 17, 0, 2, 0,199, 0, 0, 4, 51, 5,182, 0, 19, 0, 34, 0,136, 64, 79, 27, 5, 26, 6, 26, 24, 8, 25, 7, 7, + 6, 25, 6, 25, 6, 12, 30, 91, 40, 0, 56, 0, 72, 0, 3, 0,103, 36,207, 36, 1, 64, 36, 1, 15, 36, 1, 6, 20, 12, 90, 13, +100, 35, 25, 24, 27,175, 26, 1, 26, 26, 20, 34, 6,176, 7, 1, 7, 7, 12, 5, 8, 20, 96, 48, 11, 64, 11, 2, 11, 11, 12, 34, + 96, 14, 3, 12, 18, 0, 63, 63,225, 17, 57, 47, 93,225, 57, 57, 18, 57, 47, 93, 51, 17, 18, 57, 47, 93, 57, 57, 51, 1, 16,246, +225, 50, 94, 93, 93, 93, 16,246, 93,225, 18, 57, 57, 47, 47, 17, 51, 17, 18, 57, 57, 50, 17, 18, 57, 57, 49, 48, 1, 20, 14, 2, + 7, 23, 7, 39, 6, 35, 35, 17, 35, 17, 33, 50, 30, 2, 1, 51, 50, 54, 55, 39, 55, 23, 54, 54, 53, 52, 38, 35, 35, 4, 51, 22, + 47, 75, 54,110,106,129, 93,124,150,186, 1,106,134,194,126, 60,253, 78,129, 38, 68, 31, 92,109,112, 51, 52,164,174,160, 4, 10, + 58,111,100, 86, 32,155, 78,182, 27,253,199, 5,182, 57,109,160,254,103, 5, 5,133, 76,160, 36,115, 87,142,137, 0, 2, 0,174, +254, 20, 4, 63, 4, 94, 0, 35, 0, 57, 0,114, 64, 64, 52, 53, 50, 51, 51, 42, 32, 30, 31, 31, 55, 72, 33, 42, 27, 87, 59, 48, + 59, 1, 42, 16, 12, 71, 13, 84, 58, 51, 53, 50, 47, 15, 52, 31, 52,111, 52,207, 52, 4, 7, 52, 52, 47, 36, 80, 16, 22, 16, 14, + 15, 31, 32, 32, 0, 12, 27, 33, 30, 47, 80, 6, 0, 22, 0, 63, 50,225, 57, 57, 63, 18, 57, 47, 51, 63, 63, 51,225, 17, 57, 47, + 94, 93, 18, 57, 57, 51, 1, 16,246,225, 50, 50, 93, 16,246, 17, 57,225, 57, 47, 57, 51, 17, 57, 47, 57, 57, 51, 49, 48, 5, 34, + 46, 2, 39, 35, 22, 23, 22, 22, 21, 17, 35, 17, 51, 23, 51, 62, 3, 51, 50, 30, 2, 21, 20, 6, 7, 23, 7, 39, 6, 6, 3, 34, + 14, 2, 7, 21, 20, 30, 2, 51, 50, 54, 55, 39, 55, 23, 54, 53, 52, 38, 2,158, 59, 96, 77, 60, 22, 12, 3, 3, 2, 4,182,148, + 26, 8, 22, 59, 77, 96, 60, 94,153,110, 60, 90, 82,109,106,117, 31, 65, 70, 76,105, 65, 31, 2, 27, 65,108, 81, 17, 33, 15,106, +109,110, 84,127, 20, 25, 44, 58, 32, 34, 31, 26, 55, 16,254, 43, 6, 54,148, 34, 62, 45, 27, 72,143,212,140,175,242, 68,154, 78, +166, 9, 11, 3,219, 46, 94,141, 94, 41,101,157,107, 55, 3, 5,152, 76,158,106,238,208,206, 0, 0, 1, 0, 47, 0, 0, 3,190, + 5,182, 0, 13, 0,137, 64, 21, 31, 5, 47, 5, 2, 5, 5, 8, 15, 0, 31, 0, 2,144, 0,160, 0,224, 0, 3, 0,184,255,192, + 64, 30, 7, 10, 72, 0, 0, 15, 31, 15, 63, 15,159, 15,191, 15, 4, 3, 7, 90, 12, 0, 10, 1, 6, 10,128, 8,192, 8, 2, 8, +184,255,192, 64, 38, 6, 10, 72, 8, 6, 9, 95, 3, 15, 12, 47, 12, 63, 12, 79, 12, 4, 15, 12, 63, 12,175, 12,223, 12,255, 12, + 5, 8, 12, 12, 7, 2, 95, 13, 3, 7, 18, 0, 63, 63,225, 18, 57, 47, 94, 93,113, 51,225, 50, 1, 47, 43, 93,198, 94, 93, 51, +225, 50, 93, 17, 51, 47, 43, 93,113, 18, 57, 47, 93, 49, 48, 1, 21, 33, 17, 33, 21, 33, 17, 35, 17, 35, 53, 51, 17, 3,190,253, +195, 1, 80,254,176,186,152,152, 5,182,166,254, 21,162,253,125, 2,131,162, 2,145, 0, 0, 1, 0, 18, 0, 0, 3, 10, 4, 74, + 0, 13, 0,110, 64, 29, 11, 11, 0, 32, 6, 48, 6, 2, 6, 6, 15,112, 15,160, 15,192, 15, 3, 9, 13, 71, 4,223, 2,239, 2, + 2, 2, 0,184,255,192,179, 18, 21, 72, 0,184,255,192, 64, 33, 6, 11, 72, 0, 12, 1, 79, 9, 79, 4, 95, 4, 2, 4, 64, 23, + 28, 72, 11, 4, 27, 4, 2, 7, 4, 4, 0, 8, 80, 5, 15, 0, 21, 0, 63, 63,225, 18, 57, 47, 94, 93, 43, 93, 51,225, 50, 1, + 47, 43, 43,198, 93, 51,225, 50, 93, 17, 51, 47, 93, 18, 57, 47, 49, 48, 51, 17, 35, 53, 51, 17, 33, 21, 33, 17, 33, 21, 33, 17, +174,156,156, 2, 92,254, 90, 1, 23,254,233, 1,225,137, 1,224,154,254,186,137,254, 31, 0, 1, 0,199,254, 0, 4,152, 5,182, + 0, 38, 0,102, 64, 65, 9, 21, 1, 7, 7, 7, 5, 34, 91, 18, 40,192, 40, 1,127, 40,143, 40, 2, 16, 40, 64, 40, 2, 28, 28, + 10, 4, 90, 5,100, 39, 29, 32, 95, 23, 28, 0, 96, 15, 13, 47, 13, 63, 13, 3, 15, 13, 63, 13,223, 13,255, 13, 4, 8, 13, 13, + 5, 9, 95, 6, 3, 5, 18, 0, 63, 63,225, 18, 57, 47, 94, 93,113,225, 63,225, 51, 1, 16,246,241, 50,192, 47, 93, 93, 93, 16, +222,225, 18, 57, 47, 49, 48, 0, 94, 93, 1, 34, 6, 7, 17, 35, 17, 33, 21, 33, 17, 54, 54, 51, 50, 30, 2, 21, 20, 14, 2, 35, + 34, 46, 2, 39, 53, 22, 22, 51, 32, 17, 52, 46, 2, 1,252, 37, 60, 26,186, 2,247,253,195, 29, 71, 45,154,240,165, 87, 82,146, +201,118, 49, 78, 68, 61, 31, 63,127, 72, 1,119, 67,123,174, 2,131, 5, 5,253,135, 5,182,166,254, 11, 5, 3, 92,171,242,151, +170,248,162, 79, 6, 12, 19, 12,162, 23, 24, 1,239,121,185,126, 64, 0, 0, 1, 0,174,254, 10, 3,197, 4, 74, 0, 35, 0, 92, + 64, 57, 9, 34, 25, 34, 41, 34, 3, 20, 20, 18, 10, 72, 31, 37, 15, 37, 31, 37, 2, 95, 37,127, 37,255, 37, 3, 3, 3, 23, 17, + 71, 18, 84, 36, 4, 0, 13, 81, 11, 26, 27, 26, 2, 7, 26, 26, 18, 22, 80, 19, 15, 18, 21, 7, 81, 0, 27, 0, 63,225, 63, 63, +225, 18, 57, 47, 94, 93,233, 17, 51, 1, 16,246,225, 50, 57, 47, 93,113, 16,222,225, 18, 57, 47, 49, 48, 0, 93, 1, 34, 38, 39, + 53, 22, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 7, 17, 35, 17, 33, 21, 33, 17, 54, 54, 51, 50, 30, 2, 21, 20, 14, 2, 2, 41, + 75,106, 46, 43,106, 66,118,117,144,157, 26, 62, 31,182, 2, 92,254, 90, 29, 59, 31,102,179,133, 76, 64,111,150,254, 10, 31, 29, +161, 24, 37,195,210,212,202, 10, 8,254, 53, 4, 74,154,254,195, 5, 5, 62,138,219,157,150,213,136, 64, 0, 1, 0, 4,254,127, + 6,203, 5,182, 0, 21, 0,226, 64, 87, 17, 64, 20, 24, 72, 17, 32, 9, 19, 72, 10, 17, 26, 17, 2, 0, 64, 20, 24, 72, 0, 32, + 9, 19, 72, 10, 0, 26, 0, 2, 7, 16, 13, 13, 2, 90, 7, 10, 10,168, 3,184, 3, 2,153, 3, 1,141, 3, 1, 87, 3,103, 3, +119, 3, 3, 3, 3, 3, 18, 6, 0, 14, 15, 16, 15, 64, 12, 24, 72, 15, 17, 15, 21, 90, 4, 18, 1,116, 18,132, 18,196, 18, 3, + 18,184,255,192, 64, 39, 7, 10, 72, 18, 18, 23, 4, 23, 1,240, 23, 1,228, 23, 1,160, 23, 1, 2, 32, 23, 48, 23, 96, 23,112, + 23,144, 23, 5, 15, 23, 1, 8, 9, 8, 5, 8, 6,184,255,240, 64, 19, 6, 6, 22, 19,251, 13, 10, 10, 0, 15, 8, 11, 3, 17, + 95, 5, 3, 0, 18, 0, 63, 50, 50,225, 63, 51, 51, 18, 57, 17, 51, 63, 17, 1, 51, 47, 56, 51, 51, 17, 51, 94, 93, 93, 95, 93, + 93, 93,113, 17, 51, 47, 43, 93,113,225, 51, 51, 47, 43, 56, 51, 50, 17, 18, 57, 47, 95, 93, 93, 93, 93, 51, 17, 51,225, 50, 17, + 51, 94, 93, 43, 43, 93, 43, 43, 49, 48, 33, 1, 17, 35, 17, 1, 35, 1, 1, 51, 1, 17, 51, 17, 1, 51, 1, 1, 51, 17, 35, 17, + 5,174,253,238,179,253,238,211, 2, 33,253,237,205, 2, 10,179, 2, 10,205,253,237, 1,168,195,176, 2,229,253, 27, 2,229,253, + 27, 2,242, 2,196,253, 60, 2,196,253, 60, 2,196,253, 60,253,180,253,217, 1,129, 0, 0, 1, 0, 4,254,131, 6, 4, 4, 74, + 0, 21, 1, 17, 64,108, 39, 16, 55, 16, 2, 41, 14, 57, 14, 2, 38, 9, 54, 9, 2, 39, 10, 55, 10, 2, 39, 4, 55, 4, 2, 39, + 4, 55, 4, 2, 39, 1, 55, 1, 2, 17, 64, 20, 24, 72, 17, 32, 9, 19, 72, 10, 17, 26, 17, 2, 0, 64, 20, 24, 72, 0, 32, 9, + 19, 72, 10, 0, 26, 0, 2, 16, 13, 13, 2, 70, 7, 10, 10,205, 3, 1,185, 3, 1,169, 3, 1,150, 3, 1,135, 3, 1, 3, 3, + 3, 18, 6, 0, 14, 15, 16, 15, 64, 10, 24, 72, 15, 17, 15, 21, 70, 18,184,255,192,179, 18, 21, 72, 18,184,255,192, 64, 23, 7, + 11, 72, 18, 18, 23, 16, 23, 1, 0, 23, 1,228, 23,244, 23, 2,180, 23,196, 23, 2, 23,184,255,192, 64, 19, 13, 17, 72, 48, 23, + 1, 2, 32, 23, 1, 15, 23, 1, 7, 9, 8, 5, 8, 6,184,255,240, 64, 19, 6, 6, 22, 19,251, 13, 10, 10, 0, 15, 8, 11, 15, + 17, 96, 5, 3, 0, 21, 0, 63, 50, 50,225, 63, 51, 51, 18, 57, 17, 51, 63, 17, 1, 51, 47, 56, 51, 51, 17, 51, 94, 93, 93, 95, + 93, 43, 93, 93,113,113, 17, 51, 47, 43, 43,225, 51, 51, 47, 43, 56, 51, 50, 17, 18, 57, 47, 95, 93, 93, 93, 93, 93, 51, 17, 51, +225, 50, 17, 51, 93, 43, 43, 93, 43, 43, 49, 48, 0, 93, 93, 1, 93, 93, 93, 93, 93, 33, 1, 17, 35, 17, 1, 35, 1, 1, 51, 1, + 17, 51, 17, 1, 51, 1, 1, 51, 17, 35, 17, 4,240,254, 67,164,254, 68,207, 1,207,254, 88,197, 1,159,164, 1,160,197,254, 88, + 1, 79,197,174, 2, 45,253,211, 2, 45,253,211, 2, 53, 2, 21,253,235, 2, 21,253,235, 2, 21,253,235,254,101,253,233, 1,125, +255,255, 0, 72,254, 66, 3,236, 5,203, 2, 38, 1,177, 0, 0, 1, 7, 3,127, 1, 72, 0, 0, 0, 17,177, 1, 1,184,255,255, +180, 72, 66, 19, 11, 37, 1, 43, 53, 0, 53, 0,255,255, 0, 68,254, 66, 3, 82, 4, 94, 2, 38, 1,209, 0, 0, 1, 7, 3,127, + 0,242, 0, 0, 0, 17,177, 1, 1,184,255,248,180, 72, 66, 41, 33, 37, 1, 43, 53, 0, 53, 0, 0, 1, 0,199,254,127, 4,236, + 5,182, 0, 16, 0,166, 64, 89, 5, 64, 20, 24, 72,189, 5,205, 5,221, 5, 3, 5, 32, 9, 16, 72, 26, 5, 42, 5, 2, 0, 64, + 20, 24, 72,189, 0,205, 0,221, 0, 3, 0, 32, 9, 16, 72, 26, 0, 42, 0, 2, 6, 16, 16, 8, 14, 15, 16,127, 15,159, 15, 2, + 0, 15, 48, 15, 64, 15, 3, 6, 15, 15, 5, 4, 90, 0, 0, 1, 16, 1, 2, 7, 1, 1, 18,176, 18, 1, 12, 8, 90, 9,100, 17, + 12,184,255,240, 64, 22, 11, 16, 72, 6, 16, 11, 16, 72, 12, 6, 9, 15, 10, 3, 0, 95, 5, 5, 9, 18, 2,251, 0, 63, 63, 51, + 47,225, 63, 51, 18, 57, 57, 43, 43, 1, 16,246,225, 50, 93, 17, 51, 47, 94, 93, 51,225, 50, 51, 47, 94, 93, 93, 56, 51, 18, 57, + 17, 51, 93, 43, 93, 43, 93, 43, 93, 43, 49, 48, 37, 51, 17, 35, 17, 35, 1, 7, 17, 35, 17, 51, 17, 55, 1, 51, 1, 4, 53,183, +177,108,254, 61,139,186,186,121, 1,196,209,253,248,166,253,217, 1,129, 2,186,114,253,184, 5,182,253, 37,168, 2, 51,253,131, + 0, 1, 0,174,254,131, 4, 43, 4, 74, 0, 14, 0,153, 64,106, 8, 64, 20, 24, 72,189, 8,205, 8,221, 8, 3, 8, 32, 9, 16, + 72, 26, 8, 42, 8, 2, 3, 64, 20, 24, 72,189, 3,205, 3,221, 3, 3, 3, 32, 9, 16, 72, 26, 3, 42, 3, 2, 8, 7, 70, 0, + 1,118, 1,134, 1, 2,109, 1, 1, 85, 1, 1, 43, 1, 59, 1, 75, 1, 3, 20, 1, 1, 11, 1, 1, 6, 3, 1, 0, 4, 16, 4, + 2, 4, 4, 16, 14, 2, 10, 71, 11, 84, 15, 9, 2, 14, 14, 0, 11, 3, 80, 8, 21, 5,251, 12, 0, 15, 0, 63, 50, 63, 63,225, + 51, 18, 57, 17, 51, 51, 1, 16,246,225, 50, 50, 17, 51, 47, 93, 51, 51, 94, 93, 93, 93, 93, 93, 93, 17, 51,225, 50, 93, 43, 93, + 43, 93, 43, 93, 43, 49, 48, 1, 51, 1, 1, 51, 17, 35, 17, 35, 1, 17, 35, 17, 51, 17, 2,250,196,254, 97, 1, 75,193,174,102, +254, 75,180,180, 4, 74,253,241,254, 95,253,233, 1,125, 2, 45,253,211, 4, 74,253,235, 0, 1, 0,199, 0, 0, 4,162, 5,182, + 0, 18, 0,151,185, 0, 15,255,224, 64, 93, 18, 21, 72, 80, 15, 96, 15, 2, 34, 15, 50, 15, 66, 15, 3, 2, 64, 9, 13, 72, 11, + 7, 90, 8, 52, 18, 84, 18, 2, 18, 15, 87, 3, 1, 3, 12, 29, 4, 1, 11, 4, 1, 4, 4, 0, 8,100, 19, 16, 17, 17, 1, 0, + 16, 0, 0, 16, 0, 2, 7, 0, 0, 20,176, 20, 1, 47, 20, 1, 16, 20, 1, 11, 5, 9, 8, 32, 4, 48, 4, 64, 4, 3, 4, 13, + 4, 13, 16, 9, 3, 8, 0, 18, 0, 63, 50, 63, 51, 57, 57, 47, 47, 93, 17, 18, 57, 57, 1, 93, 93, 93, 17, 51, 47, 94, 93, 56, + 51, 51, 17, 51, 16,230, 17, 57, 47, 93, 93, 51,193, 93, 50, 50, 93, 16,225, 50, 49, 48, 0, 43, 93, 93, 43, 33, 35, 1, 21, 35, + 17, 7, 17, 35, 17, 51, 17, 55, 17, 51, 21, 1, 51, 1, 4,162,211,254,174,133,119,186,186,119,133, 1, 65,209,253,248, 1,244, +205, 1,100, 98,253,215, 5,182,253, 6,164, 1, 99,179, 1,166,253,101, 0, 1, 0,174, 0, 0, 4, 35, 4, 74, 0, 19, 0,156, +181, 17, 64, 11, 17, 72, 10,184,255,192,179, 11, 17, 72, 14,184,255,240, 64, 87, 8, 13, 72, 14, 10, 38, 18, 1, 18, 7,137, 19, +153, 19,169, 19, 3, 31, 19, 47, 19, 63, 19, 3, 11, 19, 1, 19, 19, 15, 6, 2, 71, 3, 84, 20, 11, 12, 12, 16, 15, 16, 32, 15, + 48, 15, 2, 15, 15, 21, 0, 21, 16, 21, 2, 0, 21, 64, 21, 96, 21,128, 21,160, 21,192, 21,224, 21, 7, 7, 14, 13, 6, 6, 8, + 19, 8, 19, 8, 2, 11, 4, 15, 16, 2, 21, 0, 63, 51, 63, 51, 18, 57, 57, 47, 47, 18, 57, 17, 51, 51, 1, 94, 93,113, 17, 51, + 47, 93, 56, 51, 51, 17, 51, 16,246,225, 50, 18, 57, 47, 93, 93, 93, 51,193, 93, 50, 50, 43, 49, 48, 0, 43, 43, 1, 39, 17, 35, + 17, 51, 17, 55, 17, 51, 21, 19, 51, 1, 21, 1, 35, 1, 21, 35, 1,207,109,180,180,109,125,235,197,254, 80, 1,215,207,254,248, +125, 1,178,123,253,211, 4, 74,253,235,123, 1, 70,185, 1, 13,254, 22, 73,253,233, 1, 39,205, 0, 1, 0, 47, 0, 0, 4,162, + 5,182, 0, 20, 0,133, 64, 64, 2, 20,102, 20, 1, 20, 19, 4, 64, 14, 80, 14, 2, 14, 14, 0, 16, 12, 4, 90, 9, 7, 5,100, + 21, 18, 19, 16, 19, 19, 1, 0, 16, 0, 0, 16, 0, 2, 7, 0, 0, 22,176, 22, 1, 47, 22, 1, 16, 22, 1, 15, 6, 95, 12, 9, + 9, 0, 2, 16, 11, 16, 72, 16,184,255,240, 64, 12, 11, 16, 72, 16, 2, 5, 18, 10, 3, 5, 0, 18, 0, 63, 50, 63, 51, 18, 57, + 57, 43, 43, 18, 57, 47, 51,225, 50, 1, 93, 93, 93, 17, 51, 47, 94, 93, 56, 51, 51, 47, 56, 51, 16,246,198, 51,225, 50, 50, 18, + 57, 47, 93, 17, 18, 57, 93, 17, 51, 49, 48, 33, 35, 1, 7, 17, 35, 17, 35, 53, 51, 53, 51, 21, 51, 21, 35, 17, 55, 1, 51, 1, + 4,162,211,254, 61,139,186,152,152,186,213,213,121, 1,196,209,253,248, 2,186,114,253,184, 4, 96,164,178,178,164,254,123,168, + 2, 51,253,131, 0, 1, 0, 18, 0, 0, 3,240, 6, 20, 0, 22, 0,132, 64, 15, 17, 14, 14, 15, 4, 8, 9, 3, 19, 71, 20, 0, + 6, 1, 6,184,255,192,179, 16, 21, 72, 6,184,255,192, 64, 53, 9, 14, 72, 6, 6, 15, 22, 1, 20, 84, 23, 12, 13, 16, 13, 15, + 16, 53, 15, 1, 0, 15, 16, 15, 32, 15, 3, 8, 15, 15, 24, 15, 24, 1, 9, 17, 2, 20, 20, 15, 7, 21, 79, 4, 1, 1, 2, 15, + 21, 12, 15, 2, 0, 0, 63, 63, 63, 18, 57, 47, 51,225, 50, 17, 51, 17, 18, 57, 57, 1, 93, 17, 51, 47, 94, 93, 93, 56, 51, 51, + 17, 51, 16,246, 50,198, 18, 57, 47, 43, 43,113, 16,225, 23, 50, 17, 57, 17, 51, 49, 48, 19, 51, 53, 51, 21, 33, 21, 33, 17, 3, + 51, 55, 1, 51, 1, 1, 35, 1, 7, 17, 35, 17, 35, 18,156,180, 1,123,254,133, 16, 4,135, 1, 37,211,254,111, 1,172,209,254, +176,109,180,156, 5, 94,182,182,137,254,117,254,237,170, 1,105,254, 37,253,145, 1,248, 82,254, 90, 4,213, 0, 0, 1, 0, 20, + 0, 0, 5, 68, 5,182, 0, 14, 0, 87, 64, 51, 2, 14, 14, 13, 10, 4, 90, 32, 5, 48, 5, 64, 5,128, 5,240, 5, 5, 5, 5, + 0, 7, 12, 13, 13, 1, 0, 16, 0, 0, 16, 0, 2, 7, 0, 0, 16, 16, 16, 1, 2, 10, 5, 12, 7, 95, 8, 3, 5, 0, 18, 0, + 63, 50, 63,225, 51, 18, 57, 57, 1, 93, 17, 51, 47, 94, 93, 56, 51, 51, 17, 51, 47, 18, 57, 47, 93,225, 50, 17, 57, 17, 51, 49, + 48, 33, 35, 1, 7, 17, 35, 17, 33, 53, 33, 17, 55, 1, 51, 1, 5, 68,211,254, 61,139,187,254,172, 2, 15,121, 1,196,209,253, +248, 2,186,114,253,184, 5, 18,164,253, 37,168, 2, 51,253,131, 0, 1, 0, 41, 0, 0, 4,201, 4, 74, 0, 13, 0,103, 64, 64, + 2, 13, 13, 11, 6, 71, 0, 7, 1, 0, 7, 16, 7, 32, 7, 96, 7,192, 7, 5, 8, 7, 7, 3, 9, 0, 1,213, 1,245, 1, 2, + 1, 4, 3, 16, 0, 3, 16, 3, 2, 3, 3, 15, 64, 15,224, 15, 2, 15, 15, 1, 2, 13, 13, 7, 9, 80, 0, 10, 15, 7, 3, 21, + 0, 63, 51, 63, 51,225, 18, 57, 17, 51, 1, 93, 93, 17, 51, 47, 93, 56, 51, 51, 93, 17, 51, 47, 18, 57, 47, 94, 93,113,225, 50, + 50, 17, 51, 49, 48, 1, 51, 1, 1, 35, 1, 17, 35, 17, 33, 53, 33, 7, 17, 3,221,197,254, 96, 1,199,207,254, 76,181,254,152, + 2, 31, 2, 4, 74,253,241,253,197, 2, 45,253,211, 3,176,154, 2,253,237, 0, 0, 1, 0,229,254,127, 5,164, 5,182, 0, 15, + 0, 99, 64, 63, 4, 90, 4, 1, 1,116, 1,132, 1,148, 1, 3, 1, 1, 17, 13, 5, 90, 0, 17,228, 17,244, 17, 2,192, 17, 1, + 2, 16, 17, 32, 17, 64, 17,128, 17, 4, 12, 8, 90, 9,100, 16, 7, 95, 15, 12, 1, 8, 12, 12, 5, 14, 10, 3, 9, 0, 95, 5, + 18, 2,251, 0, 63, 63,225, 51, 63, 51, 18, 57, 47, 94, 93,225, 1, 16,246,225, 50, 93, 95, 93, 93, 16,220,225, 50, 17, 51, 47, + 93,113,225, 49, 48, 37, 51, 17, 35, 17, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 4,244,176,176,187,253,103,187,187, 2,153, +187,166,253,217, 1,129, 2,170,253, 86, 5,182,253,152, 2,104, 0, 1, 0,174,254,131, 4,219, 4, 74, 0, 15, 0,121, 64, 82, + 8, 0, 71, 4, 11, 1, 11, 11, 15, 71,196, 12,212, 12, 2, 12, 12, 17, 4, 17, 36, 17, 2,212, 17,244, 17, 2,176, 17, 1, 2, + 48, 17, 64, 17, 80, 17,128, 17,144, 17,160, 17, 6, 7, 3, 71, 4, 84, 16, 13,251, 2, 80,235, 7, 1,169, 7,185, 7, 2, 15, + 7, 31, 7, 47, 7, 3, 6, 7, 7, 0, 9, 5, 15, 11, 80, 4, 0, 21, 0, 63, 50,225, 63, 51, 18, 57, 47, 94, 93, 93, 93,225, + 63, 1, 16,246,225, 50, 93, 95, 93, 93,113, 17, 51, 47, 93,225, 51, 47, 93,225, 50, 49, 48, 33, 17, 33, 17, 35, 17, 51, 17, 33, + 17, 51, 17, 51, 17, 35, 17, 3,133,253,223,182,182, 2, 33,182,160,182, 1,233,254, 23, 4, 74,254, 57, 1,199,252, 80,253,233, + 1,125, 0, 1, 0,229, 0, 0, 6, 72, 5,182, 0, 13, 0, 93, 64, 59, 9, 1, 90, 0, 0, 5, 64, 11, 1,224, 11, 1, 11, 15, + 32, 15, 1, 0, 15, 16, 15, 48, 15, 64, 15, 96, 15,160, 15,176, 15,224, 15, 8, 6, 8, 4, 90, 5,100, 14, 13, 95, 10, 10, 6, + 3, 95, 15, 8, 1, 8, 8, 8, 6, 3, 5, 0, 18, 0, 63, 50, 63, 57, 47, 94, 93,225, 17, 51, 47,225, 1, 16,246,225, 50, 94, + 93,113, 16,198, 93,113, 17, 57, 47,225, 50, 49, 48, 33, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 33, 21, 33, 4,244,187,253,103, +187,187, 2,153, 2, 15,254,172, 2,170,253, 86, 5,182,253,152, 2,104,164, 0, 0, 1, 0,174, 0, 0, 5,164, 4, 74, 0, 13, + 0,104, 64, 33, 8, 4, 71, 5, 9, 1, 71, 0, 0, 11, 5, 84, 14, 11, 11, 15, 0, 15, 32, 15, 2,144, 15,176, 15,192, 15,208, + 15,240, 15, 5, 15,184,255,192, 64, 31, 7, 12, 72, 3, 80,235, 8, 1,169, 8,185, 8, 2, 15, 8, 31, 8, 47, 8, 3, 6, 8, + 8, 0, 13, 10, 6, 15, 5, 0, 21, 0, 63, 50, 63, 51,196, 18, 57, 47, 94, 93, 93, 93,225, 1, 43, 93,113, 17, 51, 47, 16,230, + 17, 57, 47,225, 50, 16,225, 50, 49, 48, 33, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 33, 21, 33, 4, 59,182,253,223,182,182, 2, + 33, 2, 31,254,151, 1,233,254, 23, 4, 74,254, 57, 1,199,154, 0, 1, 0,199,254, 0, 7,219, 5,182, 0, 39, 0, 95, 64, 58, + 9, 11, 1, 7, 18, 18, 0, 32, 90, 33, 33, 37, 24, 91, 8, 41,111, 41, 1, 36, 90, 37,100, 40, 29, 96, 15, 3, 47, 3, 63, 3, + 3, 15, 3, 63, 3,223, 3,255, 3, 4, 8, 3, 3, 37, 35, 95, 38, 3, 33, 37, 18, 19, 22, 95, 13, 28, 0, 63,225, 51, 63, 51, + 63,225, 18, 57, 47, 94, 93,113,225, 1, 16,246,225, 93, 16,222,225, 17, 57, 47,225, 50, 57, 47, 49, 48, 0, 94, 93, 1, 54, 54, + 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 39, 53, 22, 22, 51, 32, 17, 52, 46, 2, 35, 34, 7, 17, 35, 17, 33, 17, 35, 17, + 33, 4,193, 30, 73, 46,154,240,165, 86, 82,146,201,118, 49, 78, 67, 61, 31, 63,126, 73, 1,119, 67,124,174,107, 75, 51,187,253, +123,186, 3,250, 3, 27, 5, 3, 92,171,242,151,170,248,162, 79, 6, 12, 19, 12,162, 23, 24, 1,239,121,185,126, 64, 12,253,137, + 5, 18,250,238, 5,182, 0, 1, 0,174,254, 10, 6,117, 4, 74, 0, 36, 0,119, 64, 78, 11, 35, 27, 35, 2, 3, 3, 25, 17, 71, + 2, 18, 1,194, 18, 1,166, 18,182, 18, 2,119, 18,135, 18, 2, 18, 18, 22, 10, 72, 32, 38, 15, 38, 31, 38, 2, 79, 38, 95, 38, +175, 38,255, 38, 4, 16, 38, 1, 21, 71, 22, 84, 37, 13, 81, 11, 27, 27, 27, 2, 7, 27, 27, 22, 20, 80, 23, 15, 18, 22, 21, 4, + 7, 81, 0, 27, 0, 63,225, 51, 63, 51, 63,225, 18, 57, 47, 94, 93,225, 1, 16,246,225, 93, 93,113, 16,222,225, 17, 57, 47, 93, + 93, 93,113,225, 50, 57, 47, 49, 48, 0, 93, 1, 34, 38, 39, 53, 22, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 7, 17, 35, 17, 33, + 17, 35, 17, 33, 17, 54, 51, 50, 30, 2, 21, 20, 14, 2, 4,217, 75,106, 46, 43,106, 66,118,117,144,157, 28, 62, 31,182,254, 8, +182, 3,100, 58, 63,102,179,133, 76, 64,111,150,254, 10, 31, 29,161, 24, 37,195,210,212,202, 10, 8,254, 53, 3,176,252, 80, 4, + 74,254, 39, 12, 62,138,219,157,150,213,136, 64, 0, 2, 0,125,255,172, 5,150, 5,205, 0, 62, 0, 82, 0,122, 64, 80, 5, 78, + 16, 50, 4, 0, 73, 91, 0, 32, 16, 32, 2, 53, 32, 53, 32, 24, 63, 91, 0,103, 84, 15, 84, 31, 84, 79, 84, 95, 84,127, 84,159, + 84,175, 84, 7, 7, 43, 91, 24,102, 83, 68, 96, 78, 5, 0, 58, 16, 58, 32, 58, 96, 58,112, 58,128, 58, 6, 58, 58, 7, 38, 95, + 33, 29, 4, 16, 50, 48, 95, 19, 7, 95, 14, 14, 19, 19, 0, 63, 51, 47,225, 16,225, 50, 57, 63, 51,225, 18, 57, 47, 93, 57, 57, +225, 1, 16,246,225, 94, 93, 16,246,225, 17, 57, 57, 47, 47, 93,225, 18, 23, 57, 49, 48, 1, 20, 14, 2, 7, 22, 51, 50, 54, 55, + 21, 6, 6, 35, 34, 39, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, 7, 46, 3, 35, 34, 14, 2, 21, 20, 30, + 2, 51, 50, 55, 38, 2, 53, 52, 62, 2, 51, 50, 30, 2, 7, 52, 46, 2, 35, 34, 14, 2, 21, 20, 30, 2, 23, 62, 3, 5,111, 39, + 65, 85, 45, 54, 81, 37, 70, 31, 29, 79, 38,166,139, 50,124, 60,150,232,157, 81, 77,158,242,166, 66,120, 37, 53, 10, 40, 48, 51, + 21,118,169,108, 51, 60,112,160,100, 48, 38, 79, 91, 55, 96,131, 76, 75,133, 98, 57,197, 22, 42, 61, 39, 41, 61, 41, 21, 24, 41, + 54, 31, 42, 66, 46, 24, 2,166,101,175,144,111, 36, 25, 14, 11,170, 13, 12, 98, 17, 17,106,192, 1, 14,165,181, 1, 31,199,105, + 22, 15,156, 5, 10, 9, 5, 81,154,222,141,148,218,144, 70, 7,105, 1, 22,155,133,193,123, 59, 56,123,198,149, 84,137, 99, 54, + 55, 98,135, 80, 72,133,118,101, 39, 33, 98,119,136, 0, 0, 2, 0,113,255,197, 4,164, 4, 94, 0, 13, 0, 77, 0,121, 64, 73, + 68, 5, 17, 50, 4, 63, 0, 72, 84, 33,100, 33, 2, 53, 33, 53, 33, 25, 8, 72, 63, 74, 74, 63, 87, 79,123, 79,139, 79,187, 79, + 3, 95, 79,111, 79, 2, 27, 79, 1, 15, 79, 1, 7, 2, 42, 72, 25, 86, 78, 11, 68, 5, 58, 58, 71, 37, 80, 34, 30, 16, 17, 50, + 47, 80, 20, 71, 80, 14, 14, 20, 22, 0, 63, 51, 47,225, 16,225, 50, 57, 63, 51,233, 18, 57, 47, 57, 57,193, 1, 16,246,225, 95, + 94, 93, 93, 93, 93, 16,230, 50, 47, 16,225, 17, 57, 57, 47, 47, 93,225, 18, 23, 57, 49, 48, 1, 20, 30, 2, 23, 54, 54, 53, 52, + 38, 35, 34, 6, 1, 34, 38, 39, 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, 20, 30, + 2, 51, 50, 54, 55, 38, 38, 53, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 7, 22, 22, 51, 50, 54, 55, 21, 6, 6, 2,221, 20, + 32, 42, 21, 57, 72, 56, 61, 62, 65, 1, 76, 69,136, 57, 40, 98, 71,117,179,122, 63, 60,120,180,121, 66, 82, 26, 41, 19, 74, 42, + 84,112, 67, 28, 30, 67,110, 80, 37, 50, 3, 57, 74, 49, 85,114, 65, 64,111, 82, 46, 30, 52, 69, 39, 20, 55, 29, 26, 57, 28, 25, + 66, 1,244, 53, 92, 75, 57, 18, 40,150,107,103,122,122,253,104, 42, 37, 17, 23, 87,151,204,117,131,214,151, 83, 16, 6,150, 5, + 16, 58,111,160,103, 89,148,107, 60, 8, 2, 66,180,119, 94,136, 89, 43, 39, 86,138, 99, 70,120, 99, 77, 27, 10, 13, 6, 8,147, + 9, 7,255,255, 0,125,254, 66, 4,152, 5,203, 2, 38, 0, 38, 0, 0, 1, 7, 3,127, 2, 47, 0, 0, 0, 14,183, 1, 1,117, + 50, 44, 24, 32, 37, 1, 43, 53, 0, 53,255,255, 0,113,254, 66, 3,111, 4, 94, 2, 38, 0, 70, 0, 0, 1, 7, 3,127, 1,113, + 0, 0, 0, 14,183, 1, 1, 82, 46, 40, 5, 13, 37, 1, 43, 53, 0, 53, 0, 1, 0, 20,254,127, 4, 18, 5,182, 0, 11, 0,111, + 64, 57, 31, 13, 1,224, 13, 1, 95, 13,223, 13, 2, 32, 13, 48, 13, 64, 13, 3, 4, 90, 15, 1, 31, 1, 2, 7, 1, 1,175, 10, +239, 10, 2, 10, 10, 11, 90, 6, 64, 7,224, 7, 2, 15, 7, 1, 8, 7, 7, 87, 6,103, 6,119, 6, 3, 6,184,255,192, 64, 15, + 7, 10, 72, 6, 11, 7, 95, 8, 3, 0, 95, 5, 18, 2,251, 0, 63, 63,225, 63,225, 50, 1, 47, 43, 93, 51, 47, 94, 93, 93, 16, +225, 50, 47, 93, 57, 47, 94, 93,225, 93, 93, 93,113, 49, 48, 37, 51, 17, 35, 17, 35, 17, 33, 53, 33, 21, 33, 2,113,176,176,187, +254, 94, 3,254,254, 95,166,253,217, 1,129, 5, 18,164,164, 0, 0, 1, 0, 41,254,131, 3, 94, 4, 74, 0, 11, 0,111, 64, 77, +240, 13, 1,175, 13, 1, 64, 13, 80, 13, 2, 47, 13, 1, 11, 71,175, 8,191, 8,207, 8, 3, 8, 64, 7, 10, 72, 8, 8,223, 5, + 1,157, 5, 1,143, 5, 1, 5, 5, 7, 71, 0, 96, 2,112, 2,208, 2, 3, 31, 2, 1, 2, 2, 0, 0, 16, 0,176, 0,192, 0, + 4, 0, 9,251, 6, 2, 80, 3, 15, 7, 80, 0, 21, 0, 63,225, 63,225, 50, 63, 1, 47, 93, 51, 47, 93, 93, 16,225, 50, 47, 93, + 93, 93, 57, 47, 43, 93,225, 93, 93, 93, 93, 49, 48, 33, 17, 33, 53, 33, 21, 33, 17, 51, 17, 35, 17, 1,104,254,193, 3, 53,254, +193,159,182, 3,176,154,154,252,234,253,233, 1,125, 0,255,255, 0, 0, 0, 0, 4, 55, 5,182, 2, 6, 0, 60, 0, 0, 0, 1, + 0, 0,254, 20, 3,213, 4, 74, 0, 19, 0,124, 64, 19, 10, 10, 0, 71,166, 1, 1,135, 1,151, 1, 2, 1, 1, 3, 17, 18, 16, + 18,184,255,192,179, 18, 21, 72, 18,184,255,192, 64, 32, 7, 11, 72, 18, 18, 21,240, 21, 1,223, 21,239, 21, 2, 80, 21,144, 21, +160, 21, 3, 79, 21, 1, 48, 21, 1, 15, 21, 1, 4, 3,184,255,240, 64, 16, 3, 17, 3, 15, 5, 10, 21, 10, 2, 7, 19, 10, 2, + 21, 0, 27, 0, 63, 63, 51, 51, 94, 93, 63, 51, 1, 47, 56, 51, 93, 93, 93, 93, 93, 93, 17, 51, 47, 43, 43, 56, 51, 18, 57, 47, + 93, 93,225, 57, 61, 47, 49, 48, 1, 35, 17, 1, 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 51, 1, 2, 70,183,254,113,188,199, 16, + 32, 27, 20, 5, 7, 4, 21, 27, 32, 16,199,188,254,113,254, 20, 1,232, 4, 78,253,207, 46,100, 94, 79, 25, 25, 79, 94,100, 46, + 2, 49,251,178, 0, 1, 0, 0, 0, 0, 4, 55, 5,182, 0, 16, 0,159, 64, 25,239, 18, 1, 18, 64, 9, 12, 72, 0, 0, 4, 8, + 90, 9, 13, 9,150, 9, 1,119, 9,135, 9, 2, 6,184,255,192, 64, 13, 21, 24, 72, 11, 9, 6, 6, 9, 11, 3, 2, 16, 15,184, +255,240, 64, 56,171, 15, 1,144, 15, 1, 20, 15, 1, 15, 1, 2, 16, 16, 2, 1,239, 2, 1,208, 2, 1,191, 2, 1,128, 2, 1, + 79, 2, 95, 2, 2, 20, 2, 1, 0, 2, 1, 7, 2, 2, 18, 7, 10, 95, 4, 0, 13, 13, 1, 8, 18, 15, 1, 3, 0, 63, 51, 63, + 18, 57, 47, 57, 51,225, 50, 17, 1, 51, 47, 94, 93, 93, 93, 93, 93, 93, 93,113, 56, 51, 47, 93, 93, 93, 56, 51, 18, 23, 57, 47, + 47, 47, 43, 93, 93, 17, 51, 16,225, 50, 57, 61, 47, 43, 93, 49, 48, 1, 1, 51, 1, 21, 33, 21, 33, 17, 35, 17, 33, 53, 33, 53, + 1, 51, 2, 27, 1, 84,200,254, 66, 1, 39,254,217,187,254,218, 1, 38,254, 66,203, 2,211, 2,227,252,131, 61,164,254,168, 1, + 88,164, 51, 3,135, 0, 0, 1, 0, 0,254, 20, 3,213, 4, 74, 0, 25, 0,133, 64, 21, 14, 14, 23, 1, 71, 6,166, 2, 1,135, + 2,151, 2, 2, 2, 2, 7, 21, 22, 16, 22,184,255,192,179, 18, 21, 72, 22,184,255,192, 64, 32, 7, 11, 72, 22, 22, 27,240, 27, + 1,223, 27,239, 27, 2, 80, 27,144, 27,160, 27, 3, 79, 27, 1, 48, 27, 1, 15, 27, 1, 8, 7,184,255,240, 64, 19, 7, 21, 7, + 15, 0, 3, 79, 5, 14, 21, 14, 2, 7, 14, 23, 6, 21, 1, 27, 0, 63, 63, 51, 51, 94, 93,225, 50, 63, 51, 1, 47, 56, 51, 93, + 93, 93, 93, 93, 93, 17, 51, 47, 43, 43, 56, 51, 18, 57, 47, 93, 93, 51,225, 50, 57, 61, 47, 49, 48, 5, 17, 35, 17, 33, 53, 33, + 1, 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 51, 1, 33, 21, 2, 70,183,254,246, 1, 8,254,115,188,199, 16, 32, 27, 20, 5, 7, + 4, 21, 27, 32, 16,199,188,254,113, 1, 10,137,254,157, 1, 99,137, 4, 74,253,207, 46,100, 94, 79, 25, 25, 79, 94,100, 46, 2, + 49,251,182,137, 0, 1, 0, 0,254,127, 4,180, 5,182, 0, 15, 1, 6, 64,136, 71, 15, 1, 72, 9, 1, 3, 15, 0, 11, 6, 5, + 10, 7, 14, 7, 12, 0, 11, 9, 5, 10, 8, 13, 8, 12, 15, 0, 11, 0, 9, 6, 5, 10, 5, 9, 12, 15, 3, 6, 6, 14, 8, 10, + 5, 1,170, 5,186, 5,202, 5,234, 5,250, 5, 5, 5, 48, 11, 14, 72, 5, 4, 90, 1, 13, 14, 16, 11, 14, 1,171, 14,187, 14, +203, 14,235, 14,251, 14, 5, 14, 64, 11, 14, 72, 14, 10, 0, 1,170, 0,186, 0,202, 0,234, 0,250, 0, 5, 0, 48, 11, 14, 72, + 14, 0, 4, 1, 20, 1, 2, 7, 1, 1, 17,212, 17,228, 17,244, 17, 3,192, 17, 1, 2, 32, 17, 64, 17, 2, 17,184,255,192, 64, + 11, 16, 20, 72, 15, 17, 1, 11, 10, 10, 7, 8,184,255,240, 64, 20, 8, 40, 6, 1, 39, 12, 1, 12, 6, 5, 13, 10, 3, 7, 0, + 95, 5, 18, 2,251, 0, 63, 63,225, 51, 63, 51, 18, 57, 57, 93, 93, 1, 47, 56, 51, 51, 17, 51, 93, 43, 93, 95, 93, 93, 17, 51, + 47, 94, 93, 51, 51, 43, 93,113, 47, 43, 93,113, 56, 51, 16,225, 50, 43, 93,113, 17, 18, 57, 61, 47, 23, 51, 16,135, 14,192, 4, +192, 16,135,192, 14,192, 16,135, 8,192, 8,192, 16,135, 8,192, 8,192, 1, 95, 93, 93, 49, 48, 37, 51, 17, 35, 17, 35, 1, 1, + 35, 1, 1, 51, 1, 1, 51, 1, 3,254,182,176,119,254,158,254,145,188, 1,197,254, 90,198, 1, 76, 1, 78,190,254, 91,166,253, +217, 1,129, 2,123,253,133, 2,252, 2,186,253,209, 2, 47,253, 76, 0, 0, 1, 0, 35,254,131, 4, 31, 4, 74, 0, 15, 1, 57, + 64, 37, 89, 13, 1, 86, 3, 1,180, 12, 1, 12, 32, 14, 17, 72, 61, 12, 1, 41, 12, 1, 11, 12, 27, 12, 2, 12, 11, 70, 8, 0, + 3, 6, 3, 13, 13, 1, 4,184,255,240, 64,113, 21, 24, 72,181, 4, 1,153, 4,169, 4, 2,106, 4,122, 4,138, 4, 3, 69, 4, + 85, 4, 2, 6, 4, 1, 4, 5,219, 2,235, 2,251, 2, 3,201, 2, 1,187, 2, 1,150, 2,166, 2, 2,101, 2,117, 2,133, 2, + 3, 74, 2, 90, 2, 2, 2, 1,223, 5,239, 5,255, 5, 3, 5, 64, 14, 17, 72, 59, 5, 75, 5, 2, 39, 5, 1, 10, 5, 26, 5, + 2, 52, 1, 68, 1, 2, 40, 1, 1, 5, 1, 21, 1, 2, 5, 1, 5, 1, 15, 59, 7, 1, 7, 32, 14, 17, 72, 7, 8,184,255,192, + 64, 73, 7, 12, 72, 8, 8, 17, 96, 17,128, 17,144, 17,176, 17,208, 17,224, 17,240, 17, 7,219, 14, 1,201, 14, 1,186, 14, 1, +101, 14,117, 14,133, 14, 3, 74, 14, 90, 14, 2, 9, 14, 1, 14, 59, 15, 75, 15, 2, 40, 15, 1, 5, 15, 21, 15, 2, 15, 3, 13, + 1, 14, 7, 80, 12, 21, 9,251, 4, 1, 15, 0, 63, 51, 63, 63,225, 51, 18, 57, 57, 1, 47, 93, 93, 93,197, 93, 93, 93, 93, 93, + 93, 93, 17, 51, 47, 43, 51, 43, 93, 18, 57, 57, 47, 47, 93, 93, 93, 93, 93, 93, 43, 93, 16,197, 93, 93, 93, 93, 93, 93, 16,197, + 93, 93, 93, 93, 93, 43, 18, 57, 61, 47, 23, 51, 16,225, 50, 93, 93, 93, 43, 93, 49, 48, 0, 93, 93, 1, 1, 51, 19, 19, 51, 1, + 1, 51, 17, 35, 17, 35, 1, 1, 35, 1,152,254,159,207,250,250,207,254,157, 1, 15,170,174,101,254,244,254,242,207, 2, 51, 2, + 23,254,102, 1,154,253,233,254,103,253,233, 1,125, 1,180,254, 76, 0, 0, 1, 0, 20,254,127, 6, 96, 5,182, 0, 15, 0,148, + 64, 13, 1, 90, 4, 4, 8, 90, 16, 5, 1,208, 5, 1, 5,184,255,192, 64, 68, 7, 18, 72, 5, 5, 17,223, 17, 1,160, 17, 1, + 15, 17, 47, 17, 79, 17,143, 17, 4, 7, 16, 14, 32, 14, 64, 14, 80, 14, 96, 14,128, 14, 6, 14, 14, 0, 90, 9, 15, 11, 31, 11, + 47, 11, 95, 11,111, 11,175, 11, 6, 8, 11, 11, 48, 9, 64, 9, 80, 9,128, 9,144, 9, 5, 9,184,255,192, 64, 17, 7, 10, 72, + 9, 15, 11, 95, 2, 12, 3, 4, 0, 95, 9, 18, 6,251, 0, 63, 63,225, 50, 63, 51,225, 50, 1, 47, 43, 93, 51, 47, 94, 93, 16, +225, 50, 47, 93, 94, 93, 93, 93, 17, 51, 47, 43, 93,113,225, 51, 47,225, 49, 48, 37, 33, 17, 51, 17, 51, 17, 35, 17, 33, 17, 33, + 53, 33, 21, 33, 2,113, 2,133,186,176,176,252, 6,254, 94, 3,254,254, 95,166, 5, 16,250,240,253,217, 1,129, 5, 18,164,164, + 0, 1, 0, 41,254,131, 5,109, 4, 74, 0, 15, 0,128,182, 11, 71, 14, 14, 2, 71, 15,184,255,192,179, 14, 24, 72, 15,184,255, +192, 64, 51, 7, 11, 72, 15, 15, 17, 15, 17, 31, 17, 47, 17, 79, 17,191, 17,223, 17, 6, 7, 96, 8,224, 8,240, 8, 3, 8, 8, + 10, 71, 3, 31, 5,239, 5,255, 5, 3, 5, 5, 0, 3, 16, 3, 96, 3,112, 3, 4, 3,184,255,192, 64, 17, 20, 24, 72, 3, 9, + 5, 80, 12, 6, 15, 14, 10, 80, 3, 21, 0,251, 0, 63, 63,225, 50, 63, 51,225, 50, 1, 47, 43, 93, 51, 47, 93, 16,225, 50, 47, + 93, 94, 93, 17, 51, 47, 43, 43,225, 51, 47,225, 49, 48, 1, 35, 17, 33, 17, 33, 53, 33, 21, 33, 17, 33, 17, 51, 17, 51, 5,109, +183,252,178,254,193, 3, 53,254,193, 1,248,182,160,254,131, 1,125, 3,176,154,154,252,234, 3,176,252, 80, 0, 0, 1, 0,166, +254,127, 5, 49, 5,182, 0, 29, 0, 99, 64, 18, 11, 13, 27, 13, 2, 26, 4, 90,144, 29,160, 29, 2, 29, 29, 3, 90, 0,184,255, +192, 64, 44, 7, 16, 72, 0, 0, 31, 15, 31, 31, 31, 47, 31, 79, 31, 95, 31,127, 31,175, 31,191, 31, 8, 7, 18, 90, 15,100, 30, + 21, 95, 26, 10, 10, 4, 27, 16, 3, 29, 95, 4, 18, 1,251, 0, 63, 63,225, 63, 51, 18, 57, 47, 51,225, 1, 16,246,225, 94, 93, + 17, 51, 47, 43,225, 51, 47, 93,225, 50, 49, 48, 93, 37, 17, 35, 17, 35, 17, 14, 3, 35, 34, 46, 2, 53, 17, 51, 17, 20, 22, 51, + 50, 62, 2, 55, 17, 51, 17, 5, 49,176,186, 58,105, 99, 97, 49, 93,146,101, 53,186,105,123, 45, 90, 94,102, 56,186,166,253,217, + 1,129, 2, 86, 22, 34, 22, 12, 49, 94,139, 89, 2, 71,253,209,115,116, 10, 20, 30, 20, 2,198,250,240, 0, 1, 0,154,254,131, + 4,158, 4, 74, 0, 28, 0, 97, 64, 23, 11, 9, 27, 9, 43, 9, 3, 7, 21, 0, 71, 24, 24, 28, 71, 0, 25, 16, 25, 32, 25, 3, + 25,184,255,192, 64, 37, 14, 21, 72, 25, 25, 30, 15, 30, 95, 30,127, 30,191, 30,207, 30, 5, 14, 71, 11, 84, 29, 26,251, 21, 16, + 80, 6, 6, 0, 22, 12, 15, 24, 80, 0, 21, 0, 63,225, 63, 51, 18, 57, 47,225, 51, 63, 1, 16,246,225, 93, 17, 51, 47, 43, 93, +225, 51, 47,225, 50, 49, 48, 94, 93, 33, 17, 14, 3, 35, 34, 46, 2, 53, 17, 51, 17, 20, 51, 50, 62, 2, 55, 17, 51, 17, 51, 17, + 35, 17, 3, 72, 44, 80, 85, 94, 58, 78,122, 82, 43,182,184, 45, 80, 76, 77, 42,182,160,183, 1,233, 30, 48, 32, 17, 47, 84,115, + 68, 1,166,254,102,174, 15, 28, 43, 29, 1,213,252, 80,253,233, 1,125, 0, 1, 0,166, 0, 0, 4,129, 5,182, 0, 29, 0,112, + 64, 46, 11, 4, 27, 4, 2, 28, 15, 29, 4, 14, 20, 14, 2, 7, 14, 14, 6, 19, 23, 90, 22,101, 31,112, 31,160, 31, 2, 47, 31, + 1, 16, 31, 1, 9, 90, 96, 6,112, 6,160, 6,176, 6, 4, 6,184,255,192, 64, 22, 7, 10, 72, 6, 14, 16, 14, 29, 19, 27, 29, + 3, 12, 95, 1, 1, 23, 20, 7, 3, 23, 18, 0, 63, 63, 51, 18, 57, 47,225, 23, 51, 47, 50, 50, 47, 1, 47, 43, 93,225, 93, 93, + 93, 16,246,225, 50, 17, 57, 47, 94, 93, 51,193, 50, 49, 48, 93, 1, 35, 34, 46, 2, 53, 17, 51, 17, 20, 22, 51, 51, 17, 51, 17, + 54, 54, 55, 17, 51, 17, 35, 17, 6, 6, 7, 17, 35, 2, 80, 33, 93,146,101, 53,186,105,123, 12,133, 56,118, 68,186,186, 66,119, + 57,133, 1,252, 49, 94,139, 89, 2, 71,253,209,115,116, 1, 88,254,180, 9, 34, 25, 2,198,250, 74, 2, 86, 26, 37, 11,254,201, + 0, 1, 0,154, 0, 0, 3,254, 4, 74, 0, 28, 0,107, 64, 66, 11, 4, 27, 4, 2, 7, 27, 14, 28, 80, 13, 1, 4, 13, 20, 13, + 36, 13, 3, 8, 13, 13, 6, 18, 22, 90, 21, 85, 30, 16, 30, 96, 30,128, 30, 3, 9, 90, 6, 84, 29, 32, 13, 48, 13, 64, 13, 3, + 13, 15, 13, 28, 18, 26, 28, 3, 11, 95, 1, 1, 22, 19, 7, 15, 22, 21, 0, 63, 63, 51, 18, 57, 47,225, 23, 51, 47, 50, 50, 47, + 93, 1, 16,246,225, 93, 16,246,225, 50, 17, 57, 47, 94, 93, 93, 51,193, 50, 49, 48, 94, 93, 49, 48, 1, 35, 34, 46, 2, 53, 17, + 51, 17, 20, 51, 51, 17, 51, 17, 54, 54, 55, 17, 51, 17, 35, 17, 6, 6, 7, 17, 35, 2, 14, 47, 78,122, 82, 43,182,184, 6,125, + 47, 91, 51,182,182, 50, 89, 50,125, 1,106, 47, 84,115, 68, 1,166,254,102,174, 1, 45,254,229, 14, 48, 35, 1,213,251,182, 1, +233, 35, 51, 16,255, 0, 0, 1, 0,199, 0, 0, 4,162, 5,182, 0, 23, 0, 80, 64, 54, 4, 7, 20, 7, 2, 7, 12, 90, 11,101, + 25, 47, 25, 95, 25,111, 25,143, 25,159, 25,175, 25,207, 25,239, 25,255, 25, 9, 16, 25, 1, 2, 22, 90, 23,100, 24, 21, 16, 95, + 0, 5, 16, 5, 2, 5, 5, 23, 11, 18, 0, 3, 0, 63, 63, 51, 57, 47, 93,225, 51, 1, 16,246,225, 50, 93, 93, 16,246,225, 49, + 48, 0, 94, 93, 19, 51, 17, 54, 54, 51, 50, 30, 2, 21, 17, 35, 17, 52, 38, 35, 34, 14, 2, 7, 17, 35,199,186,115,195, 98, 93, +146,101, 53,187,104,123, 45, 90, 95,101, 56,186, 5,182,253,170, 45, 45, 49, 94,138, 89,253,184, 2, 47,115,117, 10, 20, 30, 20, +253, 57, 0, 1, 0,174, 0, 0, 4, 18, 4, 74, 0, 24, 0, 63,185, 0, 20,255,224, 64, 34, 7, 10, 72, 0, 71, 24, 85, 26,239, + 26, 1, 16, 26, 96, 26,128, 26, 3, 13, 9, 71, 10, 84, 25, 8, 3, 80, 18, 18, 11, 15, 10, 0, 21, 0, 63, 50, 63, 57, 47,225, + 51, 1, 16,246,225, 50, 93, 93, 16,246,225, 49, 48, 0, 43, 33, 17, 52, 35, 34, 14, 2, 7, 17, 35, 17, 51, 17, 62, 3, 51, 50, + 30, 2, 21, 17, 3, 92,184, 45, 80, 76, 77, 42,182,182, 44, 80, 85, 94, 58, 78,122, 82, 43, 1,154,174, 15, 28, 44, 28,254, 43, + 4, 74,254, 22, 31, 47, 32, 17, 47, 83,115, 68,254, 90, 0, 2, 0, 61,255,236, 6, 6, 5,205, 0, 43, 0, 54, 0,100, 64, 62, + 50, 91, 20, 11,103, 56, 15, 56, 31, 56, 2, 41, 32, 34, 1, 34, 34, 49, 12, 91, 0,112, 31,128, 31,192, 31, 3, 31, 55, 31, 12, + 96, 49, 79, 43, 1, 15, 43,175, 43,255, 43, 3, 15, 37, 1, 8, 43, 37, 43, 37, 5, 17, 95, 20, 26, 19, 44, 95, 5, 4, 0, 63, +225, 63, 51,225, 17, 57, 57, 47, 47, 94, 93, 93,113, 51,225, 50, 1, 16,214, 93, 50,225, 50, 51, 47, 93,193, 93, 16,246, 50,225, + 49, 48, 1, 62, 3, 51, 50, 22, 22, 18, 21, 21, 33, 30, 3, 51, 50, 54, 55, 21, 14, 3, 35, 34, 46, 2, 39, 34, 38, 53, 52, 54, + 55, 51, 6, 6, 21, 20, 51, 1, 34, 14, 2, 7, 33, 52, 46, 2, 1,102, 10, 91,156,221,141,153,214,136, 62,252, 37, 7, 63,116, +169,112,128,207, 91, 42, 91,105,124, 76,152,235,164, 92, 9,143,154, 18, 11,156, 6, 15,103, 2,137, 91,149,110, 65, 7, 3, 18, + 37, 86,139, 3, 57,154,244,171, 91,107,197,254,235,171, 69,122,194,134, 71, 44, 32,170, 15, 26, 18, 10, 97,179,253,155,117,122, + 42, 66, 23, 15, 62, 35, 97, 1,240, 65,126,185,120,117,184,128, 67, 0, 0, 2, 0, 51,255,236, 4,182, 4, 94, 0, 44, 0, 53, + 0,132, 64, 43, 49, 72, 39, 30, 87, 55,255, 55, 1,144, 55,176, 55, 2, 31, 55,127, 55, 2, 48, 31, 72, 5, 15,223, 8, 1, 8, + 8, 19, 0, 5, 16, 5, 32, 5, 3, 64, 5, 80, 5, 2, 5,184,255,192, 64, 40, 16, 19, 72, 5, 54, 5, 31, 80, 48, 27, 18, 43, + 18, 2, 15, 18, 1, 27, 11, 43, 11, 2, 15, 11, 1, 6, 18, 11, 18, 11, 34, 45, 80, 24, 16, 34, 81, 39, 0, 22, 0, 63, 50,225, + 63,225, 18, 57, 57, 47, 47, 94, 93, 93, 93, 93, 51,225, 50, 1, 16,198, 43, 93,113, 50, 50, 47, 93,193, 16,225, 50, 93, 93, 93, + 16,246, 50,225, 49, 48, 5, 34, 46, 2, 39, 38, 38, 53, 52, 54, 55, 51, 6, 6, 21, 20, 22, 51, 51, 62, 3, 51, 50, 30, 2, 21, + 21, 33, 22, 22, 51, 50, 62, 2, 55, 21, 14, 3, 3, 34, 6, 7, 33, 52, 46, 2, 3, 53,107,179,130, 75, 4,133,142, 18, 9,149, + 6, 14, 49, 49, 27, 14, 76,116,152, 90, 99,158,110, 59,253, 76, 5,153,151, 51, 87, 81, 76, 39, 40, 77, 81, 87, 96,114,133, 11, + 1,236, 27, 57, 89, 20, 70,136,199,129, 2,111,114, 39, 63, 21, 14, 58, 34, 47, 49,108,169,117, 62, 71,129,181,110,113,193,182, + 10, 19, 29, 18,162, 19, 28, 18, 8, 3,219,156,149, 68,113, 80, 44, 0, 0, 2, 0, 61,254,127, 6, 6, 5,205, 0, 46, 0, 57, + 0,114, 64, 70, 27, 90, 28, 28, 34, 53, 91, 20, 11,103, 59, 15, 59, 31, 59, 2, 44, 32, 37, 1, 37, 37, 52, 12, 91, 0,112, 34, +128, 34,192, 34, 3, 34, 58, 34, 12, 96, 52, 79, 46, 1, 15, 46, 63, 46,175, 46, 3, 15, 40, 1, 8, 46, 40, 46, 40, 5, 26, 20, + 17, 96, 29, 18, 27,251, 47, 95, 5, 4, 0, 63,225, 63, 63,225, 51, 51, 18, 57, 57, 47, 47, 94, 93, 93,113, 51,225, 50, 1, 16, +214, 93, 50,225, 50, 51, 47, 93,193, 93, 16,246, 50,225, 18, 57, 47,225, 49, 48, 1, 62, 3, 51, 50, 22, 22, 18, 21, 21, 33, 30, + 3, 51, 50, 54, 55, 21, 14, 3, 7, 17, 35, 17, 46, 3, 39, 34, 38, 53, 52, 54, 55, 51, 6, 6, 21, 20, 51, 1, 34, 14, 2, 7, + 33, 52, 46, 2, 1,102, 10, 91,156,221,141,153,214,136, 62,252, 37, 7, 63,116,169,112,128,207, 91, 37, 78, 88,100, 58,182,128, +196,138, 77, 8,143,154, 18, 11,156, 6, 15,103, 2,137, 91,149,110, 65, 7, 3, 18, 37, 86,139, 3, 57,154,244,171, 91,107,197, +254,235,171, 69,122,194,134, 71, 44, 32,170, 14, 23, 17, 11, 2,254,145, 1,115, 16,109,176,235,142,117,122, 42, 66, 23, 15, 62, + 35, 97, 1,240, 65,126,185,120,117,184,128, 67, 0, 2, 0, 51,254,131, 4,182, 4, 94, 0, 45, 0, 54, 0,146, 64, 48, 4, 71, + 5, 5, 11, 50, 72, 45, 36, 87, 56,255, 56, 1,144, 56,176, 56, 2, 31, 56,127, 56, 2, 49, 37, 72, 11, 21,223, 14, 1, 14, 14, + 25, 0, 11, 16, 11, 32, 11, 3, 64, 11, 80, 11, 2, 11,184,255,192, 64, 43, 16, 19, 72, 11, 55, 11, 37, 80, 49, 27, 24, 43, 24, + 2, 15, 24, 1, 27, 17, 43, 17, 2, 15, 17, 1, 6, 24, 17, 24, 17, 40, 46, 80, 30, 16, 40, 81, 45, 3, 6, 22, 4,251, 0, 63, + 63, 51, 51,225, 63,225, 18, 57, 57, 47, 47, 94, 93, 93, 93, 93, 51,225, 50, 1, 16,198, 43, 93,113, 50, 50, 47, 93,193, 16,225, + 50, 93, 93, 93, 16,246, 50,225, 18, 57, 47,225, 49, 48, 37, 6, 6, 7, 17, 35, 17, 46, 3, 39, 38, 38, 53, 52, 54, 55, 51, 6, + 6, 21, 20, 22, 51, 51, 62, 3, 51, 50, 30, 2, 21, 21, 33, 22, 22, 51, 50, 62, 2, 55, 1, 34, 6, 7, 33, 52, 46, 2, 4,133, + 66,128, 76,182, 84,137, 99, 56, 3,133,142, 18, 9,149, 6, 14, 49, 49, 27, 14, 76,116,152, 90, 99,158,110, 59,253, 76, 5,153, +151, 51, 87, 81, 76, 39,254,131,114,133, 11, 1,236, 27, 57, 89, 53, 32, 35, 4,254,149, 1,117, 17, 84,132,178,111, 2,111,114, + 39, 63, 21, 14, 58, 34, 47, 49,108,169,117, 62, 71,129,181,110,113,193,182, 10, 19, 29, 18, 2,240,156,149, 68,113, 80, 44, 0, +255,255, 0, 82, 0, 0, 2,100, 5,182, 2, 6, 0, 44, 0, 0,255,255, 0, 4, 0, 0, 6,129, 7,105, 2, 38, 1,176, 0, 0, + 1, 7, 2, 54, 0,244, 1, 82, 0, 19, 64, 11, 1, 23, 5, 38, 1, 0, 28, 18, 17, 10, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0, 4, 0, 0, 5,190, 6, 23, 2, 38, 1,208, 0, 0, 1, 7, 2, 54, 0,147, 0, 0, 0, 19, 64, 11, 1, 23, 17, 38, 1, 0, + 28, 18, 14, 7, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,199,254, 0, 4,225, 5,182, 0, 37, 0,103, 64, 63, 27, 27, 5, 33, + 91, 17, 9, 10, 16, 10, 64, 12, 24, 72, 10, 10, 4, 17, 39, 16, 39, 64, 39, 2, 11, 8, 8, 4, 90, 5,100, 38, 31, 95, 28, 22, + 28, 8, 3, 0, 96, 47, 12, 95, 12,239, 12,255, 12, 4, 12, 64, 16, 21, 72, 12, 12, 5, 9, 6, 3, 5, 18, 0, 63, 63, 51, 18, + 57, 47, 43, 93,225, 51, 51, 63, 51,225, 1, 16,246,225, 50, 17, 51, 93, 16,206, 17, 57, 47, 43, 56, 51, 16,225, 17, 57, 47, 49, + 48, 1, 34, 6, 7, 17, 35, 17, 51, 17, 1, 51, 1, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 39, 53, 22, 22, 51, 32, 17, + 52, 46, 2, 2, 70, 65, 92, 40,186,186, 2, 53,207,253,209, 6,154,240,165, 86, 82,146,201,118, 49, 78, 67, 61, 31, 63,127, 72, + 1,119, 67,124,174, 2,111, 17, 14,253,176, 5,182,253, 60, 2,196,253, 88, 85,163,236,151,170,248,162, 79, 6, 12, 19, 12,162, + 23, 24, 1,239,121,179,118, 58, 0, 1, 0,174,254, 10, 3,233, 4, 74, 0, 35, 0,114, 64, 71, 11, 8, 27, 8, 2, 34, 35, 16, + 31, 35, 1, 35, 35, 29, 5, 13, 13, 30, 20, 72, 5, 37, 15, 37, 1, 95, 37,111, 37,127, 37,159, 37,191, 37,223, 37,255, 37, 7, + 0, 33, 33, 29, 71, 30, 84, 36, 33, 28, 25, 81, 11, 0, 27, 0, 2, 7, 0, 0, 30, 34, 31, 15, 30, 21, 17, 81, 14, 10, 27, 0, + 63, 51,225, 63, 63, 51, 18, 57, 47, 94, 93,225, 51, 51, 1, 16,246,225, 50, 17, 51, 93,113, 16,222,225, 17, 57, 47, 17, 18, 57, + 47,113, 56, 51, 49, 48, 0, 93, 1, 30, 3, 21, 20, 14, 2, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 53, 52, 46, 2, 35, 34, 6, + 7, 17, 35, 17, 51, 17, 1, 51, 2, 43, 94,163,120, 69, 63,111,150, 87, 76,105, 47, 44,105, 67,118,117, 35, 74,114, 78, 32, 85, + 41,180,180, 1,152,196, 2,106, 5, 64,132,208,148,150,213,136, 64, 31, 29,161, 24, 37,195,210,106,151, 96, 45, 16, 13,254, 80, + 4, 74,254, 10, 1,246, 0, 1, 0, 0,254,127, 5, 86, 5,182, 0, 35, 0,115,177, 7, 2,184,255,248, 64, 70, 20, 23, 72, 2, + 90,137, 24, 1, 24, 16, 24,224, 29, 1,180, 29,196, 29,212, 29, 3, 0, 29, 80, 29, 2, 7, 29, 29, 31, 15, 33, 34, 34, 0, 90, + 35, 32, 31, 37,144, 37,192, 37,240, 37, 3, 15, 37, 31, 37,127, 37, 3, 8, 15, 33,251, 2, 95, 29, 3, 19, 96, 12, 19, 31, 95, + 0, 18, 0, 63,225, 63,225, 63,225, 63, 1, 47, 94, 93, 93, 16,212, 50, 50,225, 57, 47, 51, 17, 18, 57, 47, 94, 93, 93, 93, 51, + 56, 93,225, 43, 50, 49, 48, 33, 17, 33, 14, 3, 7, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 55, 54, 54, 18, 18, 55, + 33, 17, 51, 3, 35, 19, 3,217,254,133, 15, 32, 33, 33, 16, 20, 53, 79,110, 78, 35, 74, 28, 23, 58, 32, 48, 62, 42, 26, 12, 12, + 32, 39, 43, 22, 2,208,195,143,217,165, 5, 18,113,245,235,212, 81,103,162,111, 59, 14, 11,154, 13, 16, 63, 98,117, 54, 57,200, + 1, 6, 1, 58,170,250,240,253,217, 1,129, 0, 0, 1, 0, 16,254,131, 4,102, 4, 74, 0, 24, 0, 88, 64, 56, 2, 70,212, 18, +228, 18, 2, 96, 18,112, 18,160, 18,176, 18, 4, 52, 18, 1, 18, 18, 10, 22, 23, 23, 0, 71, 24, 21, 20, 85, 26, 32, 26,176, 26, + 2, 15, 26, 1, 8, 10, 22,251, 2, 80, 18, 15, 13, 79, 7, 22, 20, 80, 0, 21, 0, 63,225, 63,225, 63,225, 63, 1, 47, 94, 93, + 93, 16,244, 50, 50,225, 57, 47, 51, 17, 57, 47, 93, 93, 93,225, 49, 48, 33, 17, 33, 2, 2, 6, 6, 35, 34, 38, 39, 53, 22, 51, + 50, 54, 54, 18, 55, 33, 17, 51, 3, 35, 19, 2,250,254,254, 20, 64, 95,130, 86, 28, 49, 16, 22, 28, 55, 89, 69, 51, 18, 2, 84, +182,122,183,123, 3,176,254,253,254,148,230,105, 6, 6,131, 6,117,241, 1,111,250,252, 80,253,233, 1,125, 0, 0, 1, 0,229, +254, 0, 4,244, 5,182, 0, 27, 0, 75, 64, 43, 5, 5, 16, 20, 12, 90, 23,101, 29,192, 29, 1,191, 29, 1, 32, 29, 1, 19, 15, + 90, 16,100, 28, 14, 95, 15, 19, 1, 8, 19, 19, 16, 21, 17, 3, 16, 18, 9, 95, 6, 0, 28, 0, 63, 50,225, 63, 63, 51, 18, 57, + 47, 94, 93,225, 1, 16,246,225, 50, 93, 93, 93, 16,246,225, 50, 17, 57, 47, 49, 48, 1, 34, 46, 2, 39, 53, 22, 22, 51, 50, 54, + 53, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 20, 14, 2, 2,209, 49, 78, 68, 61, 31, 63,127, 72,187,198,253,103,187,187, 2, +153,187, 82,146,201,254, 0, 6, 12, 19, 12,162, 23, 24,240,247, 2, 31,253, 86, 5,182,253,152, 2,104,250,221,170,248,162, 79, + 0, 1, 0,174,254, 10, 4, 59, 4, 74, 0, 27, 0,105, 64, 26, 3, 3, 16, 20, 12, 71, 23, 85, 29, 0, 29, 32, 29, 2, 48, 29, + 64, 29, 80, 29,208, 29,240, 29, 5, 29,184,255,192, 64, 40, 14, 17, 72, 19, 15, 71, 16, 84, 28, 14, 80,235, 19, 1,169, 19,185, + 19, 2, 15, 19, 31, 19, 47, 19, 3, 6, 19, 19, 16, 21, 17, 15, 16, 21, 7, 81, 4, 0, 27, 0, 63, 50,225, 63, 63, 51, 18, 57, + 47, 94, 93, 93, 93,225, 1, 16,246,225, 50, 43, 93,113, 16,246,225, 50, 17, 57, 47, 49, 48, 1, 34, 38, 39, 53, 22, 22, 51, 50, + 62, 2, 53, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 20, 14, 2, 2,160, 76,105, 47, 44,105, 66, 59, 91, 61, 31,253,223,182, +182, 2, 33,182, 63,111,150,254, 10, 31, 29,161, 24, 37, 45, 97,150,105, 1,178,254, 23, 4, 74,254, 57, 1,199,251,243,150,213, +136, 64, 0, 1, 0,229,254,127, 5,182, 5,182, 0, 15, 0, 82, 64, 50, 2, 3, 3, 13, 5, 90, 4, 1, 0, 17, 16, 17, 32, 17, + 64, 17,128, 17,192, 17,224, 17,240, 17, 7, 12, 8, 90, 9,100, 16, 7, 95, 15, 12, 1, 8, 12, 12, 5, 14, 10, 3, 9, 0, 95, + 5, 18, 2,251, 0, 63, 63,225, 51, 63, 51, 18, 57, 47, 94, 93,225, 1, 16,246,225, 50, 93, 16,212, 50, 50,225, 50, 57, 47, 51, + 49, 48, 37, 51, 3, 35, 19, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 4,244,194,143,217,166,187,253,103,187,187, 2,153,187, +166,253,217, 1,129, 2,170,253, 86, 5,182,253,152, 2,104, 0, 0, 1, 0,174,254,131, 4,242, 4, 74, 0, 15, 0,118, 64, 79, + 13, 14, 14, 8, 0, 71, 15, 12,171, 11,187, 11, 2, 11, 17, 4, 17, 36, 17, 2,212, 17,244, 17, 2,176, 17, 1, 2, 48, 17, 64, + 17, 80, 17,128, 17,144, 17,160, 17, 6, 7, 3, 71, 4, 84, 16, 13,251, 2, 80,235, 7, 1,169, 7,185, 7, 2, 15, 7, 31, 7, + 47, 7, 3, 6, 7, 7, 0, 9, 5, 15, 11, 80, 4, 0, 21, 0, 63, 50,225, 63, 51, 18, 57, 47, 94, 93, 93, 93,225, 63, 1, 16, +246,225, 50, 93, 95, 93, 93,113, 16,212, 93, 50, 50,225, 50, 57, 47, 51, 49, 48, 33, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, + 51, 3, 35, 19, 3,133,253,223,182,182, 2, 33,182,183,123,182,122, 1,233,254, 23, 4, 74,254, 57, 1,199,252, 80,253,233, 1, +125, 0, 0, 1, 0,166,254,127, 4,129, 5,182, 0, 29, 0, 89, 64, 33, 29, 90, 26, 26, 22, 0, 90, 25,101, 31,112, 31,160, 31, + 2, 47, 31, 1, 16, 31, 1, 14, 90, 96, 11,112, 11,160, 11,176, 11, 4, 11,184,255,192, 64, 20, 7, 10, 72, 11, 22, 17, 95, 6, + 6, 12, 26, 27,251, 29, 95, 26, 18, 23, 12, 3, 0, 63, 51, 63,225, 63, 17, 18, 57, 47,225, 51, 1, 47, 43, 93,225, 93, 93, 93, + 16,246,225, 50, 50, 47,225, 49, 48, 37, 17, 14, 3, 35, 34, 46, 2, 53, 17, 51, 17, 20, 22, 51, 50, 62, 2, 55, 17, 51, 17, 35, + 17, 35, 17, 3,199, 58,105, 99, 97, 49, 93,146,101, 53,186,105,123, 45, 90, 94,102, 56,186,186,176,166, 1,176, 22, 34, 22, 12, + 49, 94,139, 89, 2, 71,253,209,115,116, 10, 20, 30, 20, 2,198,250, 74,254,127, 2, 39, 0, 1, 0,154,254,131, 3,254, 4, 74, + 0, 28, 0, 64, 64, 37, 27, 71, 24, 24, 20, 28, 71, 23, 85, 30, 16, 30, 96, 30,128, 30, 3, 13, 71, 10, 84, 29, 25,251, 20, 15, + 80, 5, 5, 11, 27, 80, 24, 21, 21, 11, 15, 0, 63, 51, 63,225, 18, 57, 47,225, 51, 63, 1, 16,246,225, 93, 16,246,225, 50, 50, + 47,225, 49, 48, 1, 14, 3, 35, 34, 46, 2, 53, 17, 51, 17, 20, 51, 50, 62, 2, 55, 17, 51, 17, 35, 17, 35, 17, 51, 3, 72, 44, + 80, 85, 94, 58, 78,122, 82, 43,182,184, 45, 80, 76, 77, 42,182,160,182,160, 1,233, 30, 48, 32, 17, 47, 84,115, 68, 1,166,254, +102,174, 15, 28, 43, 29, 1,213,251,182,254,131, 2, 23, 0, 1, 0,199,254,127, 6,242, 5,182, 0, 31, 0,154,182, 54, 31, 1, + 57, 0, 1, 31,184,255,248, 64, 44, 12, 15, 72, 31, 0, 8, 12, 15, 72, 0, 13, 13, 12, 16, 9, 18, 19, 19, 14, 8, 12, 15, 72, + 57, 14, 1, 14, 29, 21, 90, 20, 17, 16, 33, 32, 33,192, 33, 2, 15, 33, 1, 8, 11,184,255,248, 64, 16, 12, 15, 72, 38, 11, 1, + 11, 2, 8, 90, 9,100, 32, 16, 95, 12,184,255,240, 64, 22, 9, 18, 72, 0, 9, 12, 3, 21, 18, 18,251, 30, 1, 1, 16, 9, 18, + 72, 1, 14, 10, 3, 0, 63, 51, 51, 43, 17, 51, 63, 63, 23, 51, 43,225, 1, 16,246,225, 50, 50, 93, 43, 94, 93, 93, 16,212, 50, + 50,225, 50, 50, 93, 43, 57, 47, 51, 17, 18, 57, 57, 17, 51, 43, 51, 43, 49, 48, 93, 93, 33, 1, 35, 22, 23, 22, 22, 21, 17, 35, + 17, 33, 1, 51, 1, 33, 17, 51, 3, 35, 19, 35, 17, 52, 62, 2, 55, 54, 55, 35, 1, 3, 35,254, 69, 8, 5, 4, 4, 6,172, 1, + 20, 1,156, 6, 1,158, 1, 20,195,144,217,166,186, 1, 2, 2, 2, 3, 4, 8,254, 65, 5, 0, 74, 73, 63,139, 57,252,150, 5, +182,251, 88, 4,168,250,240,253,217, 1,129, 3,119, 25, 61, 65, 66, 30, 71, 73,251, 2, 0, 1, 0,174,254,131, 5,199, 4, 74, + 0, 36, 0,135, 64, 90, 8, 7, 24, 24, 16, 32, 34, 35, 35, 30, 0, 70, 36, 33,175, 32,191, 32, 2, 32, 38,224, 38, 1,207, 38, + 1, 48, 38, 64, 38, 80, 38,160, 38, 4, 15, 38, 1, 6, 18, 15, 70, 16, 84, 37, 34,251, 1, 59, 14, 75, 14, 91, 14, 3, 11, 14, + 27, 14, 43, 14, 3, 14, 14, 30, 17, 15, 32, 80, 52, 24, 68, 24, 84, 24, 3, 5, 24, 21, 24, 37, 24, 3, 8, 16, 24, 3, 0, 21, + 0, 63, 23, 50, 93, 93,225, 63, 51, 51, 47, 93, 93, 51, 63, 1, 16,246,225, 50, 94, 93, 93, 93, 93, 16,212, 93, 50, 50,225, 50, + 57, 47, 51, 17, 18, 57, 17, 51, 51, 49, 48, 33, 17, 14, 3, 7, 1, 35, 1, 46, 3, 39, 17, 35, 17, 51, 1, 30, 3, 23, 62, 3, + 55, 1, 51, 17, 51, 3, 35, 19, 4,111, 6, 17, 20, 18, 7,254,248,135,254,247, 5, 17, 20, 18, 7,162,221, 1, 11, 13, 22, 19, + 14, 5, 6, 14, 19, 22, 13, 1, 14,217,183,123,182,122, 3,129, 21, 57, 59, 54, 18,253, 80, 2,176, 13, 49, 59, 62, 26,252,127, + 4, 74,253, 71, 34, 67, 60, 50, 16, 17, 49, 59, 65, 33, 2,189,252, 80,253,233, 1,125,255,255, 0, 82, 0, 0, 2,100, 5,182, + 2, 6, 0, 44, 0, 0,255,255, 0, 0, 0, 0, 4,221, 7,105, 2, 38, 0, 36, 0, 0, 1, 7, 2, 54, 0, 33, 1, 82, 0, 19, + 64, 11, 2, 26, 5, 38, 2, 0, 31, 21, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 94,255,236, 3,161, 6, 23, 2, 38, + 0, 68, 0, 0, 1, 6, 2, 54,212, 0, 0, 19, 64, 11, 2, 56, 17, 38, 2, 37, 61, 51, 12, 34, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0, 0, 0, 0, 4,221, 7, 43, 2, 38, 0, 36, 0, 0, 1, 7, 0,106, 0, 33, 1, 82, 0, 23, 64, 13, 3, 2, 30, 5, + 38, 3, 2, 1, 21, 41, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 94,255,236, 3,156, 5,217, 2, 38, 0, 68, + 0, 0, 1, 6, 0,106,222, 0, 0, 23, 64, 13, 3, 2, 60, 17, 38, 3, 2, 47, 51, 71, 12, 34, 37, 1, 43, 53, 53, 0, 43, 53, + 53, 0,255,255,255,254, 0, 0, 6, 86, 5,182, 2, 6, 0,136, 0, 0,255,255, 0, 94,255,236, 6, 68, 4, 94, 2, 6, 0,168, + 0, 0,255,255, 0,199, 0, 0, 3,200, 7,105, 2, 38, 0, 40, 0, 0, 1, 7, 2, 54,255,251, 1, 82, 0, 19, 64, 11, 1, 17, + 5, 38, 1, 6, 22, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 3,225, 6, 23, 2, 38, 0, 72, 0, 0, + 1, 6, 2, 54,234, 0, 0, 19, 64, 11, 2, 45, 17, 38, 2, 15, 50, 40, 5, 15, 37, 1, 43, 53, 0, 43, 53, 0, 0, 2, 0,113, +255,236, 5, 18, 5,205, 0, 30, 0, 41, 0, 73, 64, 47, 36, 26, 91, 14,103, 43, 15, 43,143, 43,175, 43,191, 43, 4, 43, 64, 11, + 15, 72, 37, 91, 3, 25,102, 42, 37, 95, 47, 25, 95, 25,127, 25, 3, 25, 25, 9, 31, 95, 19, 19, 3, 0, 95, 9, 4, 0, 63,225, + 51, 63,225, 17, 57, 47, 93,225, 1, 16,246, 50,225, 43, 93, 16,246,225, 50, 49, 48, 1, 34, 6, 7, 53, 62, 3, 51, 50, 22, 22, + 18, 21, 20, 2, 6, 6, 35, 34, 38, 38, 2, 53, 53, 33, 46, 3, 3, 50, 62, 2, 55, 33, 20, 30, 2, 2,121,128,207, 91, 42, 90, +105,125, 76,160,244,165, 84, 81,157,232,150,153,215,135, 62, 3,219, 7, 64,115,169, 67, 91,149,109, 66, 7,252,237, 38, 85,140, + 5, 41, 44, 32,170, 15, 26, 19, 10,108,198,254,233,171,174,254,235,194,104,107,196, 1, 21,171, 70,122,193,134, 71,251,102, 65, +126,185,120,117,184,127, 68, 0, 0, 2, 0,102,255,236, 3,215, 4, 94, 0, 30, 0, 39, 0, 67, 64, 41, 34, 17, 72, 5, 87, 41, +176, 41, 1, 63, 41, 1, 35, 72, 25, 16, 86, 40, 35, 80,159, 16,175, 16,207, 16,223, 16, 4, 16, 16, 0, 31, 80, 10, 22, 25, 20, + 81, 0, 16, 0, 63,225, 51, 63,225, 17, 57, 47, 93,225, 1, 16,246, 50,225, 93, 93, 16,246,225, 50, 49, 48, 1, 50, 30, 2, 21, + 20, 14, 2, 35, 34, 46, 2, 53, 53, 33, 38, 38, 35, 34, 14, 2, 7, 53, 62, 3, 19, 50, 54, 55, 33, 20, 30, 2, 1,231,110,182, +131, 73, 66,120,167,102, 99,158,110, 59, 2,181, 5,154,151, 51, 87, 80, 76, 39, 40, 76, 81, 87, 96,115,133, 11,254, 20, 27, 57, + 88, 4, 94, 74,142,210,135,136,214,149, 78, 71,129,181,110,113,192,182, 10, 19, 28, 18,161, 19, 28, 18, 9,252, 37,156,149, 68, +113, 80, 44, 0,255,255, 0,113,255,236, 5, 18, 7, 43, 2, 38, 2,225, 0, 0, 1, 7, 0,106, 0, 70, 1, 82, 0, 25,182, 3, + 2, 51, 5, 38, 3, 2,184,255,211,180, 42, 62, 24, 14, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,102,255,236, 3,215, + 5,217, 2, 38, 2,226, 0, 0, 1, 6, 0,106,196, 0, 0, 25,182, 3, 2, 49, 17, 38, 3, 2,184,255,244,180, 40, 60, 15, 5, + 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 4, 0, 0, 6,129, 7, 43, 2, 38, 1,176, 0, 0, 1, 7, 0,106, 0,244, + 1, 82, 0, 23, 64, 13, 2, 1, 27, 5, 38, 2, 1, 0, 18, 38, 17, 10, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 4, + 0, 0, 5,190, 5,217, 2, 38, 1,208, 0, 0, 1, 7, 0,106, 0,145, 0, 0, 0, 25,182, 2, 1, 27, 17, 38, 2, 1,184,255, +255,180, 18, 38, 14, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 72,255,236, 3,236, 7, 43, 2, 38, 1,177, 0, 0, + 1, 7, 0,106,255,191, 1, 82, 0, 25,182, 2, 1, 67, 5, 38, 2, 1,184,255,244,180, 58, 78, 19, 11, 37, 1, 43, 53, 53, 0, + 43, 53, 53, 0,255,255, 0, 68,255,236, 3, 82, 5,217, 2, 38, 1,209, 0, 0, 1, 7, 0,106,255, 85, 0, 0, 0, 25,182, 2, + 1, 67, 17, 38, 2, 1,184,255,217,180, 58, 78, 41, 33, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 1, 0, 72,255,236, 3,236, + 5,182, 0, 32, 0,114, 64, 45, 0, 91, 27, 28, 91, 32, 32, 64, 16, 24, 72, 29, 27, 32, 32, 27, 29, 3, 13, 22, 91, 5,103, 34, +159, 34, 1,112, 13,128, 13, 2, 63, 13, 79, 13, 95, 13, 3, 13, 32, 29, 95, 30, 27,184,255,240, 64, 24, 7, 13, 72, 27, 25,170, + 0, 1,120, 0, 1, 15, 0, 1, 8, 0, 0, 30, 3, 19, 96, 14, 10, 19, 0, 63, 51,225, 63, 57, 47, 94, 93, 93, 93, 51, 51, 43, + 16,225, 50, 1, 47, 93, 93, 93, 16,246,225, 18, 23, 57, 47, 47, 47, 43, 16,225, 16,225, 49, 48, 1, 30, 3, 21, 20, 14, 2, 35, + 34, 38, 39, 53, 30, 3, 51, 50, 54, 53, 52, 38, 35, 35, 53, 1, 33, 53, 33, 21, 1,244,115,186,132, 71, 67,136,205,137,110,192, + 85, 43, 96, 99, 99, 46,178,176,207,186,123, 1,166,253,166, 3, 61, 3, 59, 5, 53,100,151,102, 96,160,116, 64, 34, 45,170, 23, + 36, 24, 13,148,135,135,129,151, 1,209,166,145, 0, 1, 0, 27,254, 20, 3,117, 4, 74, 0, 36, 0,100, 64, 62, 0, 74, 31, 32, + 74, 36, 36, 64, 19, 24, 72, 33, 31, 36, 36, 31, 33, 3, 13, 24, 71, 5, 87, 38,111, 38,159, 38, 2, 48, 38, 1, 15, 38, 1, 7, + 13, 64, 12, 17, 72, 13, 36, 33, 80, 34, 31, 29, 0, 32, 9, 12, 72, 0, 0, 34, 15, 19, 80, 14, 10, 27, 0, 63, 51,225, 63, 57, + 47, 43, 51, 51, 16,225, 50, 1, 47, 43, 94, 93, 93, 93, 16,246,225, 18, 23, 57, 47, 47, 47, 43, 16,225, 16,225, 49, 48, 1, 30, + 3, 21, 20, 14, 2, 35, 34, 38, 39, 53, 30, 3, 51, 50, 62, 2, 53, 52, 46, 2, 35, 35, 53, 1, 33, 53, 33, 21, 1,168, 95,168, +125, 73, 71,132,186,115,115,181, 58, 31, 78, 91,102, 54, 71,119, 86, 48, 55, 99,139, 84,109, 1,146,253,198, 3, 6, 1,213, 7, + 65,117,166,108,110,183,132, 73, 36, 34,166, 16, 31, 24, 15, 46, 87,125, 78, 86,125, 82, 39,125, 1,237,154,133,255,255, 0,201, + 0, 0, 5, 16, 6,193, 2, 38, 1,178, 0, 0, 1, 7, 1, 77, 0,176, 1, 82, 0, 21,180, 1, 26, 5, 38, 1,184,255,254,180, + 24, 25, 0, 12, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,174, 0, 0, 4, 59, 5,111, 2, 38, 1,210, 0, 0, 1, 6, 1, 77, + 57, 0, 0, 21,180, 1, 14, 17, 38, 1,184,255,255,180, 12, 13, 10, 4, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,201, 0, 0, + 5, 16, 7, 43, 2, 38, 1,178, 0, 0, 1, 7, 0,106, 0,156, 1, 82, 0, 25,182, 2, 1, 33, 5, 38, 2, 1,184,255,254,180, + 24, 44, 0, 12, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,174, 0, 0, 4, 59, 5,217, 2, 38, 1,210, 0, 0, 1, 6, + 0,106, 37, 0, 0, 25,182, 2, 1, 21, 17, 38, 2, 1,184,255,255,180, 12, 32, 10, 4, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, +255,255, 0,125,255,236, 5,113, 7, 43, 2, 38, 0, 50, 0, 0, 1, 7, 0,106, 0,170, 1, 82, 0, 23, 64, 13, 3, 2, 49, 5, + 38, 3, 2, 1, 40, 60, 10, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,113,255,236, 4, 45, 5,217, 2, 38, 0, 82, + 0, 0, 1, 6, 0,106,249, 0, 0, 25,182, 3, 2, 41, 17, 38, 3, 2,184,255,249,180, 32, 52, 10, 0, 37, 1, 43, 53, 53, 0, + 43, 53, 53, 0,255,255, 0,125,255,236, 5,113, 5,205, 2, 6, 2,126, 0, 0,255,255, 0,113,255,236, 4, 45, 4, 94, 2, 6, + 2,127, 0, 0,255,255, 0,125,255,236, 5,113, 7, 43, 2, 38, 2,126, 0, 0, 1, 7, 0,106, 0,170, 1, 82, 0, 23, 64, 13, + 4, 3, 51, 5, 38, 4, 3, 1, 42, 62, 10, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,113,255,236, 4, 45, 5,217, + 2, 38, 2,127, 0, 0, 1, 6, 0,106, 0, 0, 0, 23, 64, 13, 4, 3, 43, 17, 38, 4, 3, 0, 34, 54, 10, 0, 37, 1, 43, 53, + 53, 0, 43, 53, 53, 0,255,255, 0, 59,255,236, 4, 68, 7, 43, 2, 38, 1,199, 0, 0, 1, 7, 0,106,255,151, 1, 82, 0, 25, +182, 2, 1, 46, 5, 38, 2, 1,184,255,166,180, 37, 57, 4, 12, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 55,255,236, + 3, 66, 5,217, 2, 38, 1,231, 0, 0, 1, 7, 0,106,255, 56, 0, 0, 0, 25,182, 2, 1, 48, 17, 38, 2, 1,184,255,202,180, + 39, 59, 3, 34, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 25,255,236, 4,174, 6,193, 2, 38, 1,189, 0, 0, 1, 7, + 1, 77, 0, 39, 1, 82, 0, 21,180, 1, 36, 5, 38, 1,184,255,254,180, 34, 35, 19, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0, 10,254, 20, 3,223, 5,111, 2, 38, 0, 92, 0, 0, 1, 6, 1, 77,187, 0, 0, 19, 64, 11, 1, 37, 17, 38, 1, 1, 35, 36, + 0, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 25,255,236, 4,174, 7, 43, 2, 38, 1,189, 0, 0, 1, 7, 0,106, 0, 18, + 1, 82, 0, 25,182, 2, 1, 43, 5, 38, 2, 1,184,255,253,180, 34, 54, 19, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, + 0, 10,254, 20, 3,223, 5,217, 2, 38, 0, 92, 0, 0, 1, 6, 0,106,167, 0, 0, 23, 64, 13, 2, 1, 44, 17, 38, 2, 1, 1, + 35, 55, 0, 15, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 25,255,236, 4,174, 7,115, 2, 38, 1,189, 0, 0, 1, 7, + 1, 83, 0,102, 1, 82, 0, 23, 64, 13, 2, 1, 46, 5, 38, 2, 1, 81, 34, 54, 19, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, +255,255, 0, 10,254, 20, 3,223, 6, 33, 2, 38, 0, 92, 0, 0, 1, 6, 1, 83, 0, 0, 0, 23, 64, 13, 2, 1, 47, 17, 38, 2, + 1, 90, 35, 55, 0, 15, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,166, 0, 0, 4,129, 7, 43, 2, 38, 1,193, 0, 0, + 1, 7, 0,106, 0, 84, 1, 82, 0, 23, 64, 13, 2, 1, 31, 5, 38, 2, 1, 15, 22, 42, 10, 0, 37, 1, 43, 53, 53, 0, 43, 53, + 53, 0,255,255, 0,154, 0, 0, 3,254, 5,217, 2, 38, 1,225, 0, 0, 1, 6, 0,106, 6, 0, 0, 23, 64, 13, 2, 1, 34, 17, + 38, 2, 1, 8, 25, 45, 23, 10, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 1, 0,199,254,127, 3,190, 5,182, 0, 9, 0,100, + 64, 11, 20, 0, 1,228, 0, 1,208, 0, 1, 2, 0,184,255,192, 64, 53, 8, 19, 72, 0, 0, 11, 47, 11, 79, 11,111, 11,143, 11, + 4, 11, 64, 17, 24, 72, 7, 90,191, 4,207, 4, 2,132, 4, 1, 15, 4, 31, 4, 2, 7, 4, 4, 3, 90, 8,100, 10, 2, 95, 9, + 3, 3, 95, 7, 18, 6,251, 0, 63, 63,225, 63,225, 1, 16,246,225, 50, 47, 94, 93, 93, 93,225, 43, 93, 17, 51, 47, 43, 95, 93, + 93,113, 49, 48, 1, 21, 33, 17, 51, 17, 35, 17, 35, 17, 3,190,253,195,176,176,186, 5,182,166,251,150,253,217, 1,129, 5,182, + 0, 1, 0,174,254,131, 3, 10, 4, 74, 0, 9, 0, 78, 64, 50, 32, 2, 48, 2, 2, 2, 2, 11,192, 11, 1,161, 11, 1,112, 11, + 1, 9, 71,191, 6,207, 6, 2,132, 6, 1, 15, 6, 31, 6, 2, 7, 6, 6, 5, 71, 0, 84, 10, 5, 80, 9, 21, 8,251, 4, 80, + 1, 15, 0, 63,225, 63, 63,225, 1, 16,246,225, 50, 47, 94, 93, 93, 93,225, 93, 93, 93, 17, 51, 47, 93, 49, 48, 51, 17, 33, 21, + 33, 17, 51, 17, 35, 17,174, 2, 92,254, 90,160,182, 4, 74,154,252,234,253,233, 1,125,255,255, 0,199, 0, 0, 5,207, 7, 43, + 2, 38, 1,197, 0, 0, 1, 7, 0,106, 0,252, 1, 82, 0, 23, 64, 13, 4, 3, 39, 5, 38, 4, 3, 0, 30, 50, 6, 28, 37, 1, + 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,174, 0, 0, 5, 80, 5,217, 2, 38, 1,229, 0, 0, 1, 7, 0,106, 0,176, 0, 0, + 0, 23, 64, 13, 4, 3, 39, 17, 38, 4, 3, 0, 30, 50, 10, 13, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 47,254,109, + 3,190, 5,182, 2, 38, 2,155, 0, 0, 1, 7, 3,128, 0,166, 0, 0, 0, 10,179, 1, 31, 31, 7, 1, 16, 60, 17, 53,255,255, + 0, 18,254,109, 3, 10, 4, 74, 2, 38, 2,156, 0, 0, 1, 7, 3,129, 0,137, 0, 0, 0, 10,179, 1, 31, 31, 13, 1, 16, 60, + 17, 53,255,255, 0, 0,254,109, 4,154, 5,182, 0, 38, 0, 59, 0, 0, 1, 7, 3,128, 3, 35, 0, 0, 0, 23,177, 1, 29,184, +255,192,178, 19, 21, 72,184,255,158,180, 29, 29, 0, 0, 37, 1, 43, 43, 53, 0,255,255, 0, 35,254,109, 4, 17, 4, 74, 0, 38, + 0, 91, 0, 0, 1, 7, 3,129, 2,154, 0, 0, 0, 18,179, 1, 80, 29, 1,184,255,154,180, 29, 29, 7, 7, 37, 1, 43, 93, 53, + 0, 1, 0, 0, 0, 0, 4, 96, 5,182, 0, 17, 0,178, 64, 39, 70, 15, 86, 15, 2, 73, 9, 89, 9, 2, 54, 0, 1, 57, 6, 1, + 6, 9, 15, 0, 4, 12, 3, 3, 1, 48, 17, 1, 63, 7, 1, 7, 17, 7, 17, 5, 1, 11, 10,184,255,240,179, 10, 10, 4, 5,184, +255,240, 64, 20, 5, 13, 14, 16, 14, 14, 2, 1, 16, 0, 1, 1,112, 1,128, 1,192, 1, 3, 1,184,255,192, 64, 39, 7, 10, 72, + 1, 1, 19, 15, 19, 31, 19, 47, 19,127, 19, 4, 8, 0, 6, 95, 15, 9, 40, 3, 1, 39, 12, 1, 3, 12, 10, 9, 9, 1, 13, 10, + 3, 5, 1, 18, 0, 63, 51, 63, 51, 18, 57, 47, 17, 57, 57, 93, 93, 17, 51,225, 50, 1, 94, 93, 17, 51, 47, 43, 93,113, 56, 51, + 51, 47, 56, 51, 47, 56, 51, 51, 47, 56, 51, 17, 18, 57, 57, 47, 47, 93, 93, 17, 57, 61, 47, 51, 23, 51, 93, 93, 93, 93, 49, 48, + 1, 1, 35, 1, 1, 35, 1, 33, 53, 33, 1, 51, 1, 1, 51, 1, 33, 21, 2,197, 1,155,211,254,158,254,145,188, 1,154,254,223, + 1, 20,254,146,198, 1, 76, 1, 78,190,254,142, 1, 28, 2,180,253, 76, 2,123,253,133, 2,180,164, 2, 94,253,209, 2, 47,253, +162,164, 0, 1, 0, 35, 0, 0, 3,219, 4, 74, 0, 17, 1, 23, 64,191,128, 8,144, 8, 2, 8, 0, 8, 0, 11, 15, 6, 5, 1, +247, 5, 1,229, 5, 1, 54, 5, 1, 5, 6, 7, 10, 10, 4, 13, 1, 16, 16, 13, 9, 3, 1,248, 3, 1,234, 3, 1, 57, 3, 1, + 3, 2,107, 6,123, 6, 2, 87, 6, 1, 58, 6, 74, 6, 2,100, 2,116, 2, 2, 88, 2, 1, 53, 2, 69, 2, 2, 6, 2, 13, 2, + 13, 6, 3, 15, 6, 12, 1,247, 12, 1,229, 12, 1, 54, 12, 1, 12, 11, 64, 22, 25, 72, 11, 64, 14, 17, 72,107, 11,123, 11, 2, + 87, 11, 1, 58, 11, 74, 11, 2, 11, 11, 19, 16, 19, 48, 19, 2,144, 19,176, 19, 2, 15, 19, 1, 9, 14, 1,248, 14, 1,234, 14, + 1, 57, 14, 1, 14,107, 15,123, 15, 2, 88, 15, 1, 53, 15, 69, 15, 2, 15, 13, 10, 16, 79, 4, 7,239, 1, 1, 11, 1, 27, 1, + 43, 1, 91, 1,107, 1, 5, 6, 1, 1, 2, 15, 11, 21, 5, 2, 15, 0, 63, 51, 63, 51, 18, 57, 47, 94, 93, 93, 51, 51,225, 50, + 50, 1, 47, 93, 93, 93,193, 93, 93, 93,113, 93, 93,113, 16,206, 47, 93, 93, 93, 43, 43,193, 93, 93, 93,113, 18, 23, 57, 61, 47, + 24, 47, 47, 93, 93, 93, 93, 93, 93, 16,193, 93, 93, 93,113, 17, 51, 17, 51, 17, 51, 51, 17, 51, 16,193, 93, 93, 93,113, 17, 18, + 57, 57, 47, 47, 93, 49, 48, 19, 33, 1, 51, 19, 19, 51, 1, 33, 21, 33, 1, 35, 1, 1, 35, 1, 33,104, 1, 0,254,207,207,250, +250,207,254,205, 1, 4,254,247, 1, 74,207,254,244,254,242,207, 1, 74,254,251, 2,123, 1,207,254,102, 1,154,254, 49,137,254, + 14, 1,180,254, 76, 1,242, 0, 0, 2, 0,137, 0, 0, 3,246, 5,182, 0, 14, 0, 25, 0, 64, 64, 41, 6, 25, 90, 9,101, 27, +159, 27, 1, 16, 27, 1, 21, 91, 0,102, 26, 15, 95, 63, 6, 79, 6,111, 6,159, 6,191, 6,223, 6, 6, 6, 6, 7, 25, 95, 9, + 18, 7, 3, 0, 63, 63,225, 17, 57, 47, 93,225, 1, 16,246,225, 93, 93, 16,246,225, 50, 49, 48, 19, 52, 62, 2, 51, 51, 17, 51, + 17, 33, 34, 46, 2, 1, 35, 34, 14, 2, 21, 20, 22, 51, 51,137, 55,127,207,152,149,187,254,149,134,194,126, 60, 2,178,129, 93, +138, 91, 46,163,175,159, 1,172, 87,152,113, 66, 2,104,250, 74, 61,112,158, 1, 95, 27, 60, 97, 70,136,132, 0,255,255, 0,113, +255,236, 4, 2, 6, 20, 2, 6, 0, 71, 0, 0, 0, 2, 0,137,255,236, 6, 59, 5,182, 0, 35, 0, 50, 0, 99, 64, 63, 24, 9, + 50, 90, 26, 26, 17, 34, 90, 1,101, 52, 15, 52, 1,111, 52,159, 52,239, 52, 3, 64, 52, 80, 52, 2, 15, 52, 1, 6, 42, 91, 17, +102, 51, 36, 95, 23, 35, 35, 63, 23, 79, 23,111, 23,191, 23,223, 23, 5, 23, 23, 24, 3, 29, 45, 96, 9, 6, 14, 19, 0, 63, 51, + 51,225, 50, 63, 57, 47, 93, 51, 47, 16,225, 1, 16,246,225, 94, 93, 93, 93,113, 16,246,225, 17, 57, 47,225, 57, 50, 49, 48, 1, + 17, 20, 14, 2, 35, 34, 38, 39, 14, 3, 35, 34, 38, 53, 52, 62, 2, 51, 51, 17, 51, 17, 20, 22, 51, 50, 62, 2, 53, 17, 5, 35, + 34, 14, 2, 21, 20, 22, 51, 50, 62, 2, 53, 6, 59, 45, 91,140, 94,114,153, 43, 24, 63, 82,103, 63,215,228, 65,138,215,150,122, +187,103, 97, 44, 72, 51, 28,253,186,129, 93,139, 91, 45,126,134, 67, 91, 56, 23, 3, 80,254, 24, 81,139,102, 58, 97, 77, 38, 63, + 46, 25,210,214,103,163,114, 60, 2,104,251,178,112,105, 30, 57, 80, 50, 1,232,166, 30, 67,107, 77,128,130, 37, 62, 77, 41, 0, + 0, 2, 0,113,255,236, 6, 90, 6, 20, 0, 50, 0, 67, 0, 92, 64, 57, 16, 44, 56, 71, 80, 46, 1, 46, 46, 27, 3, 71, 6, 85, + 69,111, 69,127, 69,159, 69,207, 69,239, 69, 5, 64, 69, 1, 15, 69, 47, 69, 2, 6, 65, 72, 27, 86, 68, 4, 4, 51, 62, 80, 37, + 32, 16, 44, 0, 0, 51, 80, 16, 11, 22, 22, 0, 63, 51, 51,225, 50, 63, 63, 51,225, 18, 57, 47, 1, 16,246,225, 94, 93, 93, 93, + 16,246,225, 17, 57, 47, 93,225, 50, 57, 49, 48, 37, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 39, 35, 14, 3, 35, 34, + 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 23, 51, 38, 39, 38, 38, 53, 17, 51, 17, 30, 3, 33, 50, 62, 2, 55, 53, 52, 46, 2, 35, + 34, 6, 21, 20, 22, 4,211,111, 98,182, 47, 92,139, 91, 65,103, 81, 61, 23, 6, 27, 68, 91,121, 81, 93,154,110, 60, 60,110,154, + 93, 59, 96, 77, 59, 23, 12, 3, 3, 2, 4,182, 1, 15, 44, 81,253,166, 76,105, 65, 31, 2, 27, 65,108, 81,135,127,127,131,130, +130, 1, 53,254,193,105,152, 98, 46, 30, 54, 74, 44, 41, 74, 55, 32, 72,143,212,140,141,213,144, 73, 26, 44, 58, 32, 34, 31, 26, + 54, 17, 1,180,251,146, 62,106, 78, 45, 46, 94,140, 95, 41,101,157,107, 55,218,204,209,205, 0, 0, 1, 0, 78,255,236, 6, 68, + 5,203, 0, 63, 0,133, 64, 86, 13, 91, 32, 0, 91, 43, 37, 32, 7, 32, 43, 43, 32, 7, 3, 22, 51, 90, 54,101, 65,127, 65,143, + 65,159, 65,239, 65,255, 65, 5, 0, 65, 32, 65, 48, 65, 3,112, 22,128, 22, 2, 63, 22, 79, 22, 2, 22, 22, 64, 37, 6, 96, 7, + 0, 52, 1, 52, 52,223, 7, 1,170, 7, 1,120, 7, 1, 15, 7, 1, 8, 7, 7, 27, 48, 95, 59, 19, 21, 18, 96, 27, 4, 0, 63, +225, 51, 63,225, 17, 57, 47, 94, 93, 93, 93, 93, 51, 47, 93, 16,225, 57, 17, 1, 51, 47, 93, 93, 93, 93, 16,246,225, 17, 23, 57, + 47, 47, 47, 18, 57, 16,225, 16,225, 49, 48, 1, 52, 46, 2, 35, 35, 53, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 6, 7, 39, 62, + 3, 51, 50, 30, 2, 21, 20, 14, 2, 7, 21, 30, 3, 21, 20, 30, 2, 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 3, + 41, 53,101,146, 93,191,176, 92,142, 97, 50, 37, 68, 95, 58,110,169, 75, 92, 38, 98,116,131, 71,109,166,113, 57, 51, 91,125, 75, + 87,138, 94, 50, 24, 50, 79, 55,111, 98,183, 56,102,145, 89, 87,148,108, 60, 1,135, 77,109, 70, 33,151, 39, 72,100, 62, 54, 83, + 58, 30, 67, 54,125, 31, 54, 41, 24, 54, 97,133, 79, 74,119, 88, 57, 12, 6, 11, 57, 89,119, 72, 74,104, 65, 30,119,129, 1,201, +254, 45,105,152, 98, 46, 47,100,156, 0, 0, 1, 0, 80,255,236, 5,162, 4, 94, 0, 59, 0,129, 64, 35, 21, 71, 0, 32, 70, 49, + 54, 49, 25, 0, 49, 25, 25, 49, 0, 3, 39, 8, 71, 11, 85, 61, 15, 61, 1,208, 61, 1,191, 61, 1, 48, 61, 1, 39,184,255,192, + 64, 41, 18, 21, 72, 95, 39, 1, 39, 39, 60, 54, 25, 80, 26, 9, 9,223, 26, 1,153, 26,169, 26, 2, 11, 26, 27, 26, 2, 7, 26, + 26, 5, 38, 35, 80, 44, 16, 5, 80, 16, 22, 0, 63,225, 63,225, 51, 18, 57, 47, 94, 93, 93, 93, 51, 47, 16,225, 57, 17, 1, 51, + 47, 93, 43, 93, 93, 93,113, 16,246,225, 17, 23, 57, 47, 47, 47, 17, 18, 57, 16,225, 16,225, 49, 48, 1, 20, 30, 2, 51, 50, 54, + 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, 52, 38, 35, 35, 53, 51, 50, 62, 2, 53, 52, 38, 35, 34, 6, 7, 39, 62, 3, 51, + 50, 30, 2, 21, 20, 14, 2, 7, 21, 30, 3, 3, 82, 21, 49, 80, 59,105, 96,182, 47, 95,143, 96, 92,144,100, 53,133,138,129, 97, + 61,100, 72, 39,115,108, 71,129, 75, 63, 40, 77, 82, 90, 53, 86,144,105, 58, 28, 51, 70, 43, 50, 83, 60, 34, 1, 76, 39, 73, 56, + 33,130,130, 1, 53,254,193,105,152, 98, 46, 43, 84,123, 79, 94, 91,153, 18, 39, 64, 45, 77, 77, 38, 34,147, 19, 29, 19, 9, 38, + 74,109, 70, 50, 77, 59, 41, 14, 11, 9, 41, 62, 82, 0, 0, 1, 0, 78,254,127, 4,156, 5,203, 0, 49, 0,131, 64, 84, 15, 91, + 39, 9, 34, 9, 34, 9, 24, 1, 90,112, 46,128, 46, 2, 46, 46, 0, 90, 47, 47, 51, 0, 51, 1,192, 51,208, 51, 2,159, 51, 1, + 0, 51, 32, 51, 48, 51, 3,112, 24,128, 24, 2, 63, 24, 79, 24, 2, 24, 24, 50, 48,251, 39, 8, 96,223, 9, 1,170, 9, 1,120, + 9, 1, 15, 9, 1, 8, 9, 9, 1, 23, 20, 96, 29, 4, 46, 95, 1, 18, 0, 63,225, 63,225, 51, 18, 57, 47, 94, 93, 93, 93, 93, +225, 57, 63, 17, 1, 51, 47, 93, 93, 93, 93, 93,113, 17, 51, 47,225, 50, 47, 93,225, 18, 57, 57, 47, 47, 18, 57,225, 49, 48, 33, + 35, 17, 52, 46, 2, 35, 35, 53, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 6, 7, 39, 62, 3, 51, 50, 30, 2, 21, 20, 14, 2, 7, + 21, 30, 3, 21, 21, 51, 17, 35, 3,236,187, 56,103,149, 93,191,176, 92,142, 97, 50, 37, 68, 95, 58,110,169, 75, 92, 38, 98,116, +131, 71,109,166,113, 57, 51, 91,125, 75, 87,138, 94, 50,176,176, 1,160, 67,100, 65, 32,151, 39, 72,100, 62, 54, 83, 58, 30, 67, + 54,125, 31, 54, 41, 24, 54, 97,133, 79, 74,119, 88, 57, 12, 6, 11, 57, 89,119, 72,250,253,217, 0, 1, 0, 80,254,131, 3,242, + 4, 94, 0, 45, 0,141, 64, 26, 12, 70, 29, 34, 29, 6, 29, 6, 29, 19, 0, 71, 41, 41, 45, 71, 32, 42, 48, 42, 64, 42, 96, 42, + 4, 42,184,255,192, 64, 14, 15, 19, 72, 42, 42, 47,192, 47,208, 47,224, 47, 3, 19,184,255,192, 64, 45, 18, 21, 72, 95, 19, 1, + 19, 19, 46, 43,251, 34, 5, 80,223, 6, 1,153, 6,169, 6, 2, 79, 6, 95, 6, 2, 11, 6, 27, 6, 2, 7, 6, 6, 0, 18, 15, + 80, 24, 16, 41, 80, 0, 21, 0, 63,225, 63,225, 51, 18, 57, 47, 94, 93, 93, 93, 93,233, 57, 63, 17, 1, 51, 47, 93, 43, 93, 17, + 51, 47, 43, 93,225, 50, 47,225, 18, 57, 57, 47, 47, 18, 57, 16,225, 49, 48, 33, 17, 52, 38, 35, 35, 53, 51, 50, 62, 2, 53, 52, + 38, 35, 34, 6, 7, 39, 62, 3, 51, 50, 30, 2, 21, 20, 14, 2, 7, 21, 30, 3, 21, 21, 51, 17, 35, 17, 2,156,129,138,129, 97, + 61,100, 72, 39,115,108, 71,129, 75, 63, 40, 77, 82, 90, 53, 86,144,105, 58, 28, 51, 70, 43, 44, 82, 63, 38,160,183, 1, 43, 94, +101,153, 18, 39, 64, 45, 77, 77, 38, 34,147, 19, 29, 19, 9, 38, 74,109, 70, 50, 77, 59, 41, 14, 11, 14, 44, 66, 91, 61,145,253, +233, 1,125, 0, 0, 1, 0, 0,255,233, 6,236, 5,182, 0, 49, 0,146, 64,101,215, 6,231, 6, 2, 6, 7, 1, 1,215, 1,247, + 1, 2, 1, 90, 28, 23, 16, 16, 24, 72,139, 23, 1, 23, 16, 7, 14, 72, 23, 28, 49, 90, 30,176, 30, 1,224, 28, 1,180, 28,196, + 28,212, 28, 3, 0, 28, 80, 28,144, 28,160, 28, 4, 7, 28, 30, 28, 30, 14, 36, 90, 39,101, 51, 79, 51,111, 51,127, 51,159, 51, +175, 51,223, 51, 6, 32, 51, 1, 15, 51, 1, 14, 37, 37, 18, 1, 95, 28, 3, 33, 18, 96, 44, 11, 19, 0, 63, 51,225, 50, 63,225, + 18, 57, 47, 1, 47, 93, 93, 93, 16,246,225, 17, 57, 57, 47, 47, 94, 93, 93, 93, 93, 16,225, 17, 51, 43, 93, 43, 16,225, 93,113, + 50, 93, 49, 48, 1, 33, 14, 3, 7, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 55, 54, 54, 18, 18, 55, 33, 17, 20, 22, + 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, 3,217,254,133, 15, 32, 33, 33, 16, 20, 53, 79,110, 78, 35, 74, 28, + 23, 58, 32, 48, 62, 42, 26, 12, 12, 32, 39, 43, 22, 2,208, 99,110,111, 98,183, 56,102,145, 89, 87,146,104, 58, 5, 18,113,245, +235,212, 81,103,162,111, 59, 14, 11,154, 13, 16, 63, 98,117, 54, 57,200, 1, 6, 1, 58,170,251,209,129,119,119,129, 1,201,254, + 45,105,152, 98, 46, 44, 96,153,108, 0, 0, 1, 0, 16,255,236, 6, 0, 4, 74, 0, 40, 0, 92, 64, 57, 1, 70, 17, 40, 71, 19, +160, 19, 1,219, 17, 1,196, 17, 1,144, 17,160, 17, 2, 36, 17, 1, 16, 17, 1, 17, 19, 17, 19, 9, 27, 71, 30, 85, 42,127, 42, +207, 42,239, 42, 3, 9, 28, 28, 12, 1, 80, 17, 15, 24, 12, 79, 35, 6, 22, 0, 63, 51,225, 50, 63,225, 18, 57, 47, 1, 47, 93, + 16,246,225, 17, 57, 57, 47, 47, 93, 93, 93, 93, 93, 93, 16,225, 16,225, 49, 48, 1, 33, 2, 2, 6, 6, 35, 34, 38, 39, 53, 22, + 51, 50, 54, 54, 18, 55, 33, 17, 20, 30, 2, 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, 2,250,254,254, 20, 64, + 95,130, 86, 28, 49, 16, 22, 28, 55, 89, 69, 51, 18, 2, 84, 21, 49, 80, 59,105, 96,182, 47, 95,143, 96, 92,145,102, 54, 3,176, +254,253,254,148,230,105, 6, 6,131, 6,117,241, 1,111,250,253, 61, 65, 98, 65, 32,130,130, 1, 53,254,193,105,152, 98, 46, 46, + 98,150,105, 0, 0, 1, 0,199,255,236, 7, 45, 5,182, 0, 29, 0, 92, 64, 55, 27, 19, 90,160, 0, 1, 0, 0, 23, 6, 90, 9, +101, 31,192, 31, 1,175, 31,191, 31, 2, 32, 31, 1, 15, 31, 1, 26, 22, 90, 23,100, 30, 21, 95, 26, 7, 7, 15, 26, 1, 8, 26, + 26, 23, 28, 24, 3, 23, 18, 3, 95, 14, 19, 0, 63,225, 63, 63, 51, 18, 57, 47, 94, 93, 51, 47, 16,225, 1, 16,246,225, 50, 93, + 93, 93, 93, 16,246,225, 17, 57, 47, 93,225, 50, 49, 48, 1, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, + 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 4,213, 98,111,110, 99,182, 56,102,144, 89, 88,145,104, 58,253,102,186,186, 2,154,186, + 1,135,129,119,119,129, 1,201,254, 45,105,152, 98, 46, 44, 96,153,108, 1, 45,253, 86, 5,182,253,152, 2,104, 0, 1, 0,174, +255,236, 6,139, 4, 74, 0, 31, 0,108, 64, 71, 2, 26, 71, 5, 5, 30, 13, 71, 16, 85, 33, 0, 33, 32, 33, 2, 64, 33, 80, 33, +128, 33,144, 33,176, 33,240, 33, 6, 15, 33, 1, 1, 29, 71, 30, 84, 32, 28, 80, 1, 14, 14,235, 1, 1,169, 1,185, 1, 2, 15, + 1, 31, 1, 47, 1, 3, 6, 1, 1, 30, 3, 31, 15, 30, 21, 10, 80, 21, 22, 0, 63,225, 63, 63, 51, 18, 57, 47, 94, 93, 93, 93, + 51, 47, 16,225, 1, 16,246,225, 50, 93, 93,113, 16,246,225, 17, 57, 47,225, 50, 49, 48, 1, 17, 33, 17, 51, 17, 20, 30, 2, 51, + 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, 53, 33, 17, 35, 17, 1,100, 2, 33,182, 21, 49, 80, 59,106, 95,182, 47, + 95,143, 96, 91,146,102, 54,253,223,182, 4, 74,254, 57, 1,199,253, 61, 65, 98, 65, 32,130,130, 1, 53,254,193,105,152, 98, 46, + 46, 98,150,105,110,254, 23, 4, 74, 0, 0, 1, 0,125,255,236, 5, 82, 5,203, 0, 42, 0, 71, 64, 41, 42, 42, 12, 41, 91, 1, + 20, 64, 9, 14, 72, 20, 20, 1,103, 44,191, 44, 1,112, 44, 1, 31, 91, 12,102, 43, 42, 95, 0, 0, 36, 26, 95, 21, 17, 4, 36, + 95, 7, 19, 0, 63,225, 63, 51,225, 18, 57, 47,225, 1, 16,246,225, 93, 93, 16,230, 50, 47, 43, 16,225, 18, 57, 47, 49, 48, 1, + 33, 21, 20, 2, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 36, 51, 50, 22, 23, 7, 46, 3, 35, 34, 14, 2, 21, 20, 30, 2, 51, + 50, 62, 2, 53, 33, 3, 23, 2, 59, 66,142,222,156,157,242,166, 86, 95,182, 1, 11,171,111,204, 88, 72, 36, 83, 88, 93, 46,122, +188,127, 66, 54,112,171,117,108,149, 93, 41,254,136, 2,246, 86,168,254,254,175, 91,105,195, 1, 23,174,172, 1, 22,195,105, 44, + 42,162, 17, 30, 23, 14, 81,152,218,137,130,216,156, 86, 66,119,166,100, 0, 1, 0,113,255,236, 4,123, 4, 94, 0, 40, 0,129, + 64, 90, 40, 40, 12, 39, 71, 1, 20, 64, 12, 17, 72, 20, 20, 1, 87, 42, 20, 42, 36, 42, 2,228, 42,244, 42, 2,208, 42, 1, 2, + 64, 42, 80, 42,128, 42,160, 42,192, 42, 5, 29, 72, 12, 86, 41, 40, 80, 0, 64, 21, 25, 72,203, 0,219, 0,235, 0, 3,169, 0, +185, 0, 2,143, 0,159, 0, 2, 11, 0, 27, 0, 43, 0, 3, 6, 0, 0, 34, 24, 80, 21, 17, 16, 34, 80, 7, 22, 0, 63,225, 63, + 51,225, 18, 57, 47, 94, 93, 93, 93, 93, 43,225, 1, 16,246,225, 93, 95, 93, 93,113, 16,230, 50, 47, 43, 16,225, 18, 57, 47, 49, + 48, 1, 33, 21, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, 20, 30, 2, 51, 50, + 62, 2, 53, 33, 2,123, 2, 0, 57,120,186,129,135,203,136, 68, 76,149,219,143,111,173, 77, 62, 60,148, 91, 97,149,101, 52, 41, + 86,135, 94, 81,116, 74, 35,254,184, 2, 74, 68,130,200,137, 71, 79,147,211,132,130,211,148, 80, 37, 39,141, 29, 41, 58,109,157, + 98, 93,155,112, 62, 45, 80,112, 68, 0, 0, 1, 0, 20,255,236, 4,201, 5,182, 0, 25, 0,101, 64, 47, 6, 90, 9,101, 27, 79, + 27,127, 27,159, 27,175, 27, 4, 0, 27, 1,175, 24,239, 24, 2,132, 24, 1, 24, 24, 0, 90, 19, 64, 21, 1, 15, 21, 1, 8, 21, + 21, 87, 19,103, 19,119, 19, 3, 19,184,255,192, 64, 16, 7, 10, 72, 19, 25, 21, 95, 22, 7, 7, 22, 3, 3, 95, 14, 19, 0, 63, +225, 63, 57, 47, 16,225, 50, 1, 47, 43, 93, 51, 47, 94, 93, 93, 16,225, 50, 47, 93, 93, 93, 93, 16,246,225, 49, 48, 1, 20, 22, + 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, 17, 33, 53, 33, 21, 33, 2,113, 98,111,110, 98,183, 56,102,144, 89, + 88,145,105, 58,254, 94, 3,254,254, 95, 1,135,129,119,119,129, 1,201,254, 45,105,152, 98, 46, 44, 96,153,108, 3,149,164,164, + 0, 1, 0, 41,255,236, 4,111, 4, 74, 0, 27, 0,109, 64, 74, 13, 71, 16, 85, 29, 15, 29, 1,207, 29,239, 29,255, 29, 3, 48, + 29, 64, 29, 96, 29, 3, 15, 29, 31, 29, 2, 15, 3, 1,204, 3, 1, 15, 3,191, 3, 2, 6, 3, 3, 5, 71, 26, 96, 0,112, 0, +208, 0, 3, 31, 0, 1, 0, 0, 0, 26, 16, 26, 2, 26, 14, 14, 1, 10, 80, 21, 22, 4, 0, 80, 1, 15, 0, 63,225, 50, 63,225, + 17, 57, 47, 1, 47, 93, 51, 47, 93, 93, 16,225, 50, 47, 94, 93, 93,113, 93, 93, 93,113, 16,246,225, 49, 48, 19, 53, 33, 21, 33, + 17, 20, 30, 2, 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, 17, 41, 3, 53,254,193, 21, 49, 80, 59,105, 95,183, + 47, 95,143, 96, 92,146,102, 54, 3,176,154,154,253,215, 65, 98, 65, 32,130,130, 1, 53,254,193,105,152, 98, 46, 46, 98,150,105, + 2, 53, 0, 1, 0,111,255,236, 4, 12, 5,203, 0, 57, 0, 93,180, 19, 91, 52, 26, 0,184,255,192, 64, 46, 23, 26, 72, 0, 26, + 0, 26, 47, 10, 10, 39, 59,159, 59, 1, 32, 91, 47,102, 58, 52, 27, 96,170, 24, 1,120, 24, 1, 15, 24, 1, 8, 24, 24, 5, 35, + 96, 38, 42, 19, 14, 96, 11, 5, 4, 0, 63, 51,225, 63, 51,225, 17, 57, 47, 94, 93, 93, 93,225, 57, 1, 16,246,225, 93, 16,206, + 50, 47, 18, 57, 57, 47, 47, 43, 18, 57,225, 49, 48, 19, 52, 62, 2, 51, 50, 30, 2, 23, 7, 38, 38, 35, 34, 14, 2, 21, 20, 30, + 2, 51, 51, 21, 35, 34, 14, 2, 21, 20, 22, 51, 50, 54, 55, 21, 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 55, 53, 46, 3,156, 59, +115,169,109, 72,123,105, 90, 38, 92, 75,162,103, 57, 95, 68, 38, 44, 87,130, 87,195,191, 93,146,101, 53,170,164,108,204, 83, 83, +192,128,128,195,131, 66, 49, 95,137, 87, 74,120, 84, 45, 4, 96, 79,133, 97, 54, 24, 41, 54, 31,125, 54, 67, 30, 58, 83, 54, 62, +100, 72, 39,151, 33, 67,101, 67,137,142, 49, 43,170, 38, 37, 60,111,156, 96, 72,123, 94, 61, 11, 6, 12, 57, 88,119, 0, 0, 1, + 0, 92,255,236, 3,106, 4, 94, 0, 55, 0,109,180, 50, 70, 30, 1, 35,184,255,192, 64, 61, 23, 26, 72, 35, 1, 35, 1, 24, 43, + 15, 57,208, 57,224, 57,240, 57, 3,143, 57, 1, 64, 57, 1, 5, 71, 24, 86, 56, 29, 2, 80,239, 55, 1,169, 55,185, 55, 2, 15, + 55, 31, 55, 47, 55, 3, 6, 55, 55, 10, 47, 80, 44, 40, 16, 10, 80, 15, 19, 22, 0, 63, 51,225, 63, 51,225, 18, 57, 47, 94, 93, + 93, 93,225, 57, 1, 16,246,225, 93, 93, 93, 16,206, 50, 17, 57, 57, 47, 47, 43, 18, 57,225, 49, 48, 1, 21, 35, 34, 6, 21, 20, + 30, 2, 51, 50, 62, 2, 55, 21, 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 55, 53, 46, 3, 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, + 38, 35, 34, 6, 21, 20, 30, 2, 51, 2,158,129,138,133, 41, 70, 96, 55, 51, 97, 87, 77, 30, 60,175,115,110,162,107, 53, 40, 67, + 89, 48, 43, 73, 53, 30, 58,105,144, 86, 90,162, 80, 63, 75,131, 71,102,109, 38, 68, 95, 57, 2,135,153, 91, 94, 51, 69, 42, 18, + 14, 22, 30, 16,162, 29, 40, 48, 86,120, 71, 61, 91, 64, 41, 13, 11, 14, 41, 59, 77, 50, 70,109, 74, 38, 37, 39,147, 34, 38, 77, + 77, 45, 64, 39, 18, 0,255,255, 0, 0,254,109, 5, 47, 5,182, 2, 38, 1,181, 0, 0, 1, 7, 3,128, 3,184, 0, 0, 0, 13, +180, 1, 1, 49, 49, 0, 1, 16, 60, 17, 53, 0, 53, 0,255,255, 0, 16,254,109, 4, 76, 4, 74, 2, 38, 1,213, 0, 0, 1, 7, + 3,129, 2,213, 0, 0, 0, 13,180, 1, 1, 38, 38, 0, 1, 16, 60, 17, 53, 0, 53, 0,255,255, 0, 0,254,152, 4,221, 5,188, + 2, 38, 0, 36, 0, 0, 1, 7, 2,103, 4,211, 0, 0, 0, 19, 64, 11, 2, 24, 20, 39, 2, 0, 21, 27, 4, 7, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 0, 94,254,152, 3,156, 4, 94, 2, 38, 0, 68, 0, 0, 1, 7, 2,103, 4,111, 0, 0, 0, 19, 64, 11, + 2, 54, 23, 39, 2, 13, 51, 57, 12, 34, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0, 0, 0, 4,221, 7,225, 2, 38, 0, 36, + 0, 0, 1, 7, 2,102, 4,209, 1, 82, 0, 19, 64, 11, 2, 27, 5, 38, 2, 33, 42, 21, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0, 94,255,236, 3,156, 6,143, 2, 38, 0, 68, 0, 0, 1, 7, 2,102, 4,117, 0, 0, 0, 19, 64, 11, 2, 57, 17, 38, + 2, 54, 72, 51, 12, 34, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0, 0, 0, 4,221, 7,209, 2, 38, 0, 36, 0, 0, 1, 7, + 3,119, 4,203, 1, 82, 0, 25,182, 3, 2, 21, 5, 38, 3, 2,184,255,255,180, 29, 21, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, + 53, 0,255,255, 0, 94,255,236, 4, 71, 6,127, 2, 38, 0, 68, 0, 0, 1, 7, 3,119, 4,137, 0, 0, 0, 23, 64, 13, 3, 2, + 51, 17, 38, 3, 2, 51, 59, 51, 12, 34, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, 4,221, 7,209, 2, 38, + 0, 36, 0, 0, 1, 7, 3,120, 4,203, 1, 82, 0, 25,182, 3, 2, 29, 5, 38, 3, 2,184,255,255,180, 37, 29, 4, 7, 37, 1, + 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 18,255,236, 3,156, 6,127, 2, 38, 0, 68, 0, 0, 1, 7, 3,120, 4,137, 0, 0, + 0, 23, 64, 13, 3, 2, 59, 17, 38, 3, 2, 51, 67, 59, 12, 34, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, + 4,221, 8, 74, 2, 38, 0, 36, 0, 0, 1, 7, 3,121, 4,203, 1, 82, 0, 25,182, 3, 2, 21, 5, 38, 3, 2,184,255,255,180, + 29, 21, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 94,255,236, 4, 6, 6,248, 2, 38, 0, 68, 0, 0, 1, 7, + 3,121, 4,137, 0, 0, 0, 23, 64, 13, 3, 2, 51, 17, 38, 3, 2, 51, 59, 51, 12, 34, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, +255,255, 0, 0, 0, 0, 4,221, 8, 98, 2, 38, 0, 36, 0, 0, 1, 7, 3,122, 4,203, 1, 82, 0, 25,182, 3, 2, 29, 5, 38, + 3, 2,184,255,255,180, 37, 29, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 94,255,236, 3,156, 7, 16, 2, 38, + 0, 68, 0, 0, 1, 7, 3,122, 4,137, 0, 0, 0, 23, 64, 13, 3, 2, 59, 17, 38, 3, 2, 11, 59, 51, 12, 34, 37, 1, 43, 53, + 53, 0, 43, 53, 53, 0,255,255, 0, 0,254,152, 4,221, 7,115, 2, 38, 0, 36, 0, 0, 0, 39, 1, 75, 0, 31, 1, 82, 1, 7, + 2,103, 4,211, 0, 0, 0, 37, 64, 16, 3, 45, 20, 39, 2, 21, 5, 38, 3, 0, 42, 48, 4, 7, 37, 2,184,255,255,180, 29, 21, + 4, 7, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53, 0,255,255, 0, 94,254,152, 3,156, 6, 33, 2, 38, 0, 68, 0, 0, 0, 38, + 1, 75,212, 0, 1, 7, 2,103, 4,111, 0, 0, 0, 34, 64, 22, 3, 75, 23, 39, 2, 51, 17, 38, 3, 13, 72, 78, 12, 34, 37, 2, + 37, 59, 51, 12, 34, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53,255,255, 0, 0, 0, 0, 4,221, 8, 19, 2, 38, 0, 36, 0, 0, + 1, 7, 3,123, 4,203, 1, 82, 0, 23, 64, 13, 3, 2, 38, 5, 38, 3, 2, 0, 41, 33, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, + 53, 0,255,255, 0, 94,255,236, 3,156, 6,193, 2, 38, 0, 68, 0, 0, 1, 7, 3,123, 4,123, 0, 0, 0, 23, 64, 13, 3, 2, + 68, 17, 38, 3, 2, 30, 71, 63, 12, 34, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, 4,221, 8, 19, 2, 38, + 0, 36, 0, 0, 1, 7, 3,124, 4,203, 1, 82, 0, 23, 64, 13, 3, 2, 38, 5, 38, 3, 2, 0, 41, 33, 4, 7, 37, 1, 43, 53, + 53, 0, 43, 53, 53, 0,255,255, 0, 94,255,236, 3,156, 6,193, 2, 38, 0, 68, 0, 0, 1, 7, 3,124, 4,123, 0, 0, 0, 23, + 64, 13, 3, 2, 68, 17, 38, 3, 2, 30, 71, 63, 12, 34, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, 4,221, + 8, 88, 2, 38, 0, 36, 0, 0, 1, 7, 3,125, 4,203, 1, 82, 0, 23, 64, 13, 3, 2, 26, 5, 38, 3, 2, 0, 29, 21, 4, 7, + 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 94,255,236, 3,156, 7, 6, 2, 38, 0, 68, 0, 0, 1, 7, 3,125, 4,123, + 0, 0, 0, 23, 64, 13, 3, 2, 56, 17, 38, 3, 2, 30, 59, 51, 12, 34, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, + 0, 0, 4,221, 8, 98, 2, 38, 0, 36, 0, 0, 1, 7, 3,126, 4,203, 1, 82, 0, 23, 64, 13, 3, 2, 26, 5, 38, 3, 2, 0, + 29, 21, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 94,255,236, 3,156, 7, 16, 2, 38, 0, 68, 0, 0, 1, 7, + 3,126, 4,123, 0, 0, 0, 23, 64, 13, 3, 2, 56, 17, 38, 3, 2, 30, 80, 94, 12, 34, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, +255,255, 0, 0,254,152, 4,221, 7, 91, 2, 38, 0, 36, 0, 0, 0, 39, 1, 78, 0, 33, 1,109, 1, 7, 2,103, 4,211, 0, 0, + 0, 34, 64, 22, 3, 46, 20, 39, 2, 26, 5, 38, 3, 0, 43, 49, 4, 7, 37, 2, 0, 31, 21, 4, 7, 37, 1, 43, 53, 43, 53, 0, + 43, 53, 43, 53,255,255, 0, 94,254,152, 3,156, 5,238, 2, 38, 0, 68, 0, 0, 0, 38, 1, 78,212, 0, 1, 7, 2,103, 4,111, + 0, 0, 0, 34, 64, 22, 3, 76, 23, 39, 2, 56, 17, 38, 3, 13, 73, 79, 12, 34, 37, 2, 30, 61, 51, 12, 34, 37, 1, 43, 53, 43, + 53, 0, 43, 53, 43, 53,255,255, 0,199,254,152, 3,190, 5,182, 2, 38, 0, 40, 0, 0, 1, 7, 2,103, 4,170, 0, 0, 0, 19, + 64, 11, 1, 15, 20, 39, 1, 3, 12, 18, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,254,152, 3,225, 4, 94, 2, 38, + 0, 72, 0, 0, 1, 7, 2,103, 4,190, 0, 0, 0, 19, 64, 11, 2, 43, 23, 39, 2, 48, 40, 46, 5, 15, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0,199, 0, 0, 3,190, 7,225, 2, 38, 0, 40, 0, 0, 1, 7, 2,102, 4,145, 1, 82, 0, 19, 64, 11, 1, 18, + 5, 38, 1, 13, 33, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 3,225, 6,143, 2, 38, 0, 72, 0, 0, + 1, 7, 2,102, 4,152, 0, 0, 0, 19, 64, 11, 2, 46, 17, 38, 2, 45, 61, 40, 5, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0,199, 0, 0, 3,190, 7, 53, 2, 38, 0, 40, 0, 0, 1, 7, 1, 82,255,212, 1, 82, 0, 21,180, 1, 20, 5, 38, 1,184,255, +251,180, 21, 35, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 3,225, 5,227, 2, 38, 0, 72, 0, 0, 1, 6, + 1, 82,222, 0, 0, 19, 64, 11, 2, 48, 17, 38, 2, 30, 49, 63, 5, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,199, 0, 0, + 4, 92, 7,209, 2, 38, 0, 40, 0, 0, 1, 7, 3,119, 4,158, 1, 82, 0, 25,182, 2, 1, 12, 5, 38, 2, 1,184,255,253,180, + 20, 12, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,113,255,236, 4, 71, 6,127, 2, 38, 0, 72, 0, 0, 1, 7, + 3,119, 4,137, 0, 0, 0, 23, 64, 13, 3, 2, 40, 17, 38, 3, 2, 3, 48, 40, 5, 15, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, +255,255, 0, 39, 0, 0, 3,190, 7,209, 2, 38, 0, 40, 0, 0, 1, 7, 3,120, 4,158, 1, 82, 0, 25,182, 2, 1, 20, 5, 38, + 2, 1,184,255,253,180, 28, 20, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 18,255,236, 3,225, 6,127, 2, 38, + 0, 72, 0, 0, 1, 7, 3,120, 4,137, 0, 0, 0, 23, 64, 13, 3, 2, 48, 17, 38, 3, 2, 3, 56, 48, 5, 15, 37, 1, 43, 53, + 53, 0, 43, 53, 53, 0,255,255, 0,199, 0, 0, 4, 27, 8, 74, 2, 38, 0, 40, 0, 0, 1, 7, 3,121, 4,158, 1, 82, 0, 25, +182, 2, 1, 12, 5, 38, 2, 1,184,255,253,180, 20, 12, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,113,255,236, + 4, 6, 6,248, 2, 38, 0, 72, 0, 0, 1, 7, 3,121, 4,137, 0, 0, 0, 23, 64, 13, 3, 2, 40, 17, 38, 3, 2, 3, 48, 40, + 5, 15, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,199, 0, 0, 3,190, 8, 98, 2, 38, 0, 40, 0, 0, 1, 7, 3,122, + 4,158, 1, 82, 0, 25,182, 2, 1, 20, 5, 38, 2, 1,184,255,253,180, 28, 20, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, +255,255, 0,113,255,236, 3,225, 7, 16, 2, 38, 0, 72, 0, 0, 1, 7, 3,122, 4,137, 0, 0, 0, 23, 64, 13, 3, 2, 48, 17, + 38, 3, 2, 3, 56, 48, 5, 15, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,199,254,152, 3,190, 7,115, 2, 38, 0, 40, + 0, 0, 0, 39, 1, 75,255,241, 1, 82, 1, 7, 2,103, 4,170, 0, 0, 0, 37, 64, 16, 2, 36, 20, 39, 1, 12, 5, 38, 2, 3, + 33, 39, 1, 0, 37, 1,184,255,253,180, 20, 12, 1, 0, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53, 0,255,255, 0,113,254,152, + 3,225, 6, 33, 2, 38, 0, 72, 0, 0, 0, 38, 1, 75,222, 0, 1, 7, 2,103, 4,170, 0, 0, 0, 34, 64, 22, 3, 64, 23, 39, + 2, 40, 17, 38, 3, 28, 61, 67, 5, 15, 37, 2, 3, 48, 40, 5, 15, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53,255,255, 0, 82, + 0, 0, 2,100, 7,225, 2, 38, 0, 44, 0, 0, 1, 7, 2,102, 3,176, 1, 82, 0, 19, 64, 11, 1, 18, 5, 38, 1, 19, 33, 12, + 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 98, 0, 0, 1,215, 6,143, 2, 38, 0,243, 0, 0, 1, 7, 2,102, 3, 94, + 0, 0, 0, 19, 64, 11, 1, 10, 17, 38, 1, 19, 25, 4, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82,254,152, 2,100, + 5,182, 2, 38, 0, 44, 0, 0, 1, 7, 2,103, 3,190, 0, 0, 0, 21,180, 1, 15, 20, 39, 1,184,255,255,180, 12, 18, 1, 0, + 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,158,254,152, 1,117, 5,229, 2, 38, 0, 76, 0, 0, 1, 7, 2,103, 3,109, 0, 0, + 0, 21,180, 2, 21, 23, 39, 2,184,255,254,180, 18, 24, 4, 12, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,254,152, 5,113, + 5,205, 2, 38, 0, 50, 0, 0, 1, 7, 2,103, 5, 92, 0, 0, 0, 19, 64, 11, 2, 43, 20, 39, 2, 0, 40, 46, 10, 0, 37, 1, + 43, 53, 0, 43, 53, 0,255,255, 0,113,254,152, 4, 45, 4, 94, 2, 38, 0, 82, 0, 0, 1, 7, 2,103, 4,178, 0, 0, 0, 21, +180, 2, 35, 23, 39, 2,184,255,255,180, 32, 38, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 5,113, 7,225, + 2, 38, 0, 50, 0, 0, 1, 7, 2,102, 5, 78, 1, 82, 0, 19, 64, 11, 2, 46, 5, 38, 2, 21, 61, 40, 10, 0, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 0,113,255,236, 4, 45, 6,143, 2, 38, 0, 82, 0, 0, 1, 7, 2,102, 4,164, 0, 0, 0, 19, 64, 11, + 2, 38, 17, 38, 2, 19, 53, 32, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 5,113, 7,209, 2, 38, 0, 50, + 0, 0, 1, 7, 3,119, 5, 88, 1, 82, 0, 23, 64, 13, 3, 2, 40, 5, 38, 3, 2, 5, 48, 40, 10, 0, 37, 1, 43, 53, 53, 0, + 43, 53, 53, 0,255,255, 0,113,255,236, 4,104, 6,127, 2, 38, 0, 82, 0, 0, 1, 7, 3,119, 4,170, 0, 0, 0, 25,182, 3, + 2, 32, 17, 38, 3, 2,184,255,250,180, 40, 32, 10, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,125,255,236, 5,113, + 7,209, 2, 38, 0, 50, 0, 0, 1, 7, 3,120, 5, 88, 1, 82, 0, 23, 64, 13, 3, 2, 48, 5, 38, 3, 2, 5, 56, 48, 10, 0, + 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 51,255,236, 4, 45, 6,127, 2, 38, 0, 82, 0, 0, 1, 7, 3,120, 4,170, + 0, 0, 0, 25,182, 3, 2, 40, 17, 38, 3, 2,184,255,250,180, 48, 40, 10, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, + 0,125,255,236, 5,113, 8, 74, 2, 38, 0, 50, 0, 0, 1, 7, 3,121, 5, 88, 1, 82, 0, 23, 64, 13, 3, 2, 40, 5, 38, 3, + 2, 5, 48, 40, 10, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,113,255,236, 4, 45, 6,248, 2, 38, 0, 82, 0, 0, + 1, 7, 3,121, 4,170, 0, 0, 0, 25,182, 3, 2, 32, 17, 38, 3, 2,184,255,250,180, 40, 32, 10, 0, 37, 1, 43, 53, 53, 0, + 43, 53, 53, 0,255,255, 0,125,255,236, 5,113, 8, 98, 2, 38, 0, 50, 0, 0, 1, 7, 3,122, 5, 88, 1, 82, 0, 23, 64, 13, + 3, 2, 48, 5, 38, 3, 2, 5, 56, 48, 10, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,113,255,236, 4, 45, 7, 16, + 2, 38, 0, 82, 0, 0, 1, 7, 3,122, 4,170, 0, 0, 0, 25,182, 3, 2, 40, 17, 38, 3, 2,184,255,250,180, 48, 40, 10, 0, + 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,125,254,152, 5,113, 7,115, 2, 38, 0, 50, 0, 0, 0, 39, 1, 75, 0,174, + 1, 82, 1, 7, 2,103, 5, 92, 0, 0, 0, 34, 64, 22, 3, 64, 20, 39, 2, 40, 5, 38, 3, 0, 61, 67, 10, 0, 37, 2, 5, 48, + 40, 10, 0, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53,255,255, 0,113,254,152, 4, 45, 6, 33, 2, 38, 0, 82, 0, 0, 0, 38, + 1, 75,251, 0, 1, 7, 2,103, 4,178, 0, 0, 0, 40, 64, 9, 3, 56, 23, 39, 2, 32, 17, 38, 3,184,255,255,181, 53, 59, 10, + 0, 37, 2,184,255,250,180, 40, 32, 10, 0, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53,255,255, 0,125,255,236, 6, 37, 7,115, + 2, 38, 2, 95, 0, 0, 1, 7, 0,118, 1, 6, 1, 82, 0, 19, 64, 11, 2, 65, 5, 38, 2, 2, 53, 59, 19, 1, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 0,113,255,236, 4,244, 6, 33, 2, 38, 2, 96, 0, 0, 1, 6, 0,118, 80, 0, 0, 21,180, 2, 58, 17, + 38, 2,184,255,235,180, 45, 51, 10, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 6, 37, 7,115, 2, 38, 2, 95, + 0, 0, 1, 7, 0, 67, 0, 84, 1, 82, 0, 21,180, 2, 53, 5, 38, 2,184,255, 81,180, 59, 53, 19, 1, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0,113,255,236, 4,244, 6, 33, 2, 38, 2, 96, 0, 0, 1, 6, 0,118, 80, 0, 0, 21,180, 2, 58, 17, 38, 2, +184,255,235,180, 45, 51, 10, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 6, 37, 7,225, 2, 38, 2, 95, 0, 0, + 1, 7, 2,102, 5, 78, 1, 82, 0, 21,180, 2, 60, 5, 38, 2,184,255,188,180, 74, 53, 19, 1, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0,113,255,236, 4,244, 6,143, 2, 38, 2, 96, 0, 0, 1, 7, 2,102, 4,164, 0, 0, 0, 21,180, 2, 52, 17, 38, 2, +184,255,176,180, 66, 45, 10, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 6, 37, 7, 53, 2, 38, 2, 95, 0, 0, + 1, 7, 1, 82, 0,125, 1, 82, 0, 21,180, 2, 61, 5, 38, 2,184,255,150,180, 62, 76, 19, 1, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0,113,255,236, 4, 45, 5,227, 2, 38, 0, 82, 0, 0, 1, 6, 1, 82,226, 0, 0, 21,180, 2, 40, 17, 38, 2,184,255, +253,180, 41, 55, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,254,152, 6, 37, 6, 20, 2, 38, 2, 95, 0, 0, 1, 7, + 2,103, 5, 92, 0, 0, 0, 21,180, 2, 56, 20, 39, 2,184,255,167,180, 53, 59, 19, 1, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0,113,254,152, 4,244, 4,242, 2, 38, 2, 96, 0, 0, 1, 7, 2,103, 4,178, 0, 0, 0, 21,180, 2, 48, 23, 39, 2,184,255, +155,180, 45, 51, 10, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,184,254,152, 4,221, 5,184, 2, 38, 0, 56, 0, 0, 1, 7, + 2,103, 5, 47, 0, 0, 0, 19, 64, 11, 1, 27, 20, 39, 1, 0, 24, 30, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164, +254,152, 4, 8, 4, 74, 2, 38, 0, 88, 0, 0, 1, 7, 2,103, 4,184, 0, 0, 0, 21,180, 1, 30, 23, 39, 1,184,255,254,180, + 27, 33, 12, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,184,255,236, 4,221, 7,225, 2, 38, 0, 56, 0, 0, 1, 7, 2,102, + 5, 29, 1, 82, 0, 19, 64, 11, 1, 30, 5, 38, 1, 17, 45, 24, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164,255,236, + 4, 8, 6,143, 2, 38, 0, 88, 0, 0, 1, 7, 2,102, 4,166, 0, 0, 0, 19, 64, 11, 1, 33, 17, 38, 1, 14, 48, 27, 12, 25, + 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,184,255,236, 6, 78, 7,115, 2, 38, 2, 97, 0, 0, 1, 7, 0,118, 0,197, 1, 82, + 0, 21,180, 1, 49, 5, 38, 1,184,255,144,180, 37, 43, 24, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164,255,236, 5,121, + 6, 33, 2, 38, 2, 98, 0, 0, 1, 6, 0,118, 96, 0, 0, 17,177, 1, 1,184,255,159,180, 40, 46, 12, 33, 37, 1, 43, 53, 0, + 53, 0,255,255, 0,184,255,236, 6, 78, 7,115, 2, 38, 2, 97, 0, 0, 1, 7, 0, 67, 0, 61, 1, 82, 0, 21,180, 1, 37, 5, + 38, 1,184,255, 8,180, 43, 37, 24, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164,255,236, 5,121, 6, 33, 2, 38, 2, 98, + 0, 0, 1, 6, 0, 67,163, 0, 0, 17,177, 1, 1,184,254,226,180, 46, 40, 12, 33, 37, 1, 43, 53, 0, 53, 0,255,255, 0,184, +255,236, 6, 78, 7,225, 2, 38, 2, 97, 0, 0, 1, 7, 2,102, 5, 29, 1, 82, 0, 17,177, 1, 1,184,255, 89,180, 58, 37, 24, + 8, 37, 1, 43, 53, 0, 53, 0,255,255, 0,164,255,236, 5,121, 6,143, 2, 38, 2, 98, 0, 0, 1, 7, 2,102, 4,166, 0, 0, + 0, 17,177, 1, 1,184,255, 86,180, 61, 40, 12, 33, 37, 1, 43, 53, 0, 53, 0,255,255, 0,184,255,236, 6, 78, 7, 53, 2, 38, + 2, 97, 0, 0, 1, 7, 1, 82, 0, 96, 1, 82, 0, 21,180, 1, 45, 5, 38, 1,184,255, 71,180, 46, 60, 24, 8, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 0,164,255,236, 5,121, 5,227, 2, 38, 2, 98, 0, 0, 1, 6, 1, 82,243, 0, 0, 17,177, 1, 1,184, +255, 78,180, 49, 63, 12, 33, 37, 1, 43, 53, 0, 53, 0,255,255, 0,184,254,152, 6, 78, 6, 20, 2, 38, 2, 97, 0, 0, 1, 7, + 2,103, 5, 47, 0, 0, 0, 21,180, 1, 40, 20, 39, 1,184,255, 72,180, 37, 43, 24, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0,164,254,152, 5,121, 4,242, 2, 38, 2, 98, 0, 0, 1, 7, 2,103, 4,184, 0, 0, 0, 21,180, 1, 43, 23, 39, 1,184,255, + 69,180, 40, 46, 12, 33, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0,254,152, 4, 55, 5,182, 2, 38, 0, 60, 0, 0, 1, 7, + 2,103, 4,127, 0, 0, 0, 21,180, 1, 12, 20, 39, 1,184,255,255,180, 9, 15, 7, 2, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0, 10,254, 20, 3,223, 4, 74, 2, 38, 0, 92, 0, 0, 1, 7, 2,103, 5,139, 0, 0, 0, 17,177, 1, 1,184, 1, 50,180, 35, + 41, 0, 15, 37, 1, 43, 53, 0, 53, 0,255,255, 0, 0, 0, 0, 4, 55, 7,225, 2, 38, 0, 60, 0, 0, 1, 7, 2,102, 4,113, + 1, 82, 0, 19, 64, 11, 1, 15, 5, 38, 1, 20, 30, 9, 7, 2, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 10,254, 20, 3,223, + 6,143, 2, 38, 0, 92, 0, 0, 1, 7, 2,102, 4, 74, 0, 0, 0, 19, 64, 11, 1, 41, 17, 38, 1, 20, 56, 35, 0, 15, 37, 1, + 43, 53, 0, 43, 53, 0,255,255, 0, 0, 0, 0, 4, 55, 7, 53, 2, 38, 0, 60, 0, 0, 1, 7, 1, 82,255,179, 1, 82, 0, 19, + 64, 11, 1, 17, 5, 38, 1, 1, 18, 32, 7, 2, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 10,254, 20, 3,223, 5,227, 2, 38, + 0, 92, 0, 0, 1, 6, 1, 82,140, 0, 0, 19, 64, 11, 1, 43, 17, 38, 1, 1, 44, 58, 0, 15, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0,113,254,188, 4,158, 6, 20, 2, 38, 0,211, 0, 0, 1, 7, 0, 66, 0,180, 0, 0, 0, 14,185, 0, 2,255,210,180, + 58, 57, 11, 35, 37, 1, 43, 53, 0, 2,251,219, 4,217,254,186, 6, 33, 0, 13, 0, 27, 0, 45, 64, 25, 20, 14, 14, 7, 64, 80, + 0, 1, 63, 0, 79, 0, 2, 0, 21, 7,146,128, 15, 15, 1, 95, 1, 2, 1, 0, 47, 93, 51, 26,237, 50, 1, 47, 93, 93, 26,205, + 57, 47,205, 49, 48, 1, 35, 46, 3, 39, 53, 51, 30, 3, 23, 5, 35, 46, 3, 39, 53, 51, 30, 3, 23,254,186,100, 35, 81, 77, 63, + 16,198, 16, 42, 47, 48, 21,254,150,100, 35, 82, 77, 63, 16,199, 16, 42, 47, 48, 21, 4,217, 28, 83, 88, 81, 27, 21, 35, 80, 81, + 76, 29, 27, 28, 83, 88, 81, 27, 21, 35, 80, 81, 76, 29, 0, 2,252,106, 4,217,255,190, 6,127, 0, 16, 0, 28, 0, 82, 64, 49, + 13, 12, 4, 16, 23, 1, 23, 64, 47, 28, 63, 28, 79, 28, 3, 28, 4, 4, 28, 47, 0, 95, 0,143, 0,159, 0, 4, 0,192, 8, 22, + 27, 27, 4,127, 12,143, 12, 2, 12,128, 0, 15, 8, 95, 8, 2, 8, 0, 47, 93, 51, 26,204, 93, 50, 57, 47,205, 1, 47, 26,204, + 93, 57, 57, 61, 47, 24, 47, 93, 26,205, 93, 17, 51, 51, 49, 48, 1, 35, 38, 38, 39, 6, 6, 7, 35, 53, 54, 54, 55, 51, 22, 22, + 23, 39, 62, 3, 55, 51, 21, 6, 6, 7, 35,254,217,100, 51,108, 52, 54,106, 51,101, 51,117, 48,192, 48,116, 51, 78, 20, 33, 29, + 29, 16,180, 45,106, 55,101, 4,217, 34, 84, 48, 48, 84, 34, 27, 59,132, 69, 69,132, 59,194, 25, 45, 46, 52, 33, 21, 60,103, 43, + 0, 2,251,137, 4,217,254,221, 6,127, 0, 16, 0, 28, 0, 74, 64, 42, 4, 3, 12, 31, 22, 1, 22, 64, 28, 12, 12, 28, 47, 8, + 95, 8,143, 8,159, 8, 4, 8,192, 0, 22, 18, 18, 12,127, 3,143, 3, 2, 3,128, 16, 15, 8, 95, 8, 2, 8, 0, 47, 93, 51, + 26,205, 93, 50, 57, 47,205, 1, 47, 26,204, 93, 57, 57, 61, 47, 24, 47, 26,205, 93, 17, 51, 51, 49, 48, 1, 54, 54, 55, 51, 22, + 22, 23, 21, 35, 38, 38, 39, 6, 6, 7, 35, 55, 35, 38, 38, 39, 53, 51, 30, 3, 23,252,111, 51,116, 48,192, 48,116, 51,100, 51, +106, 54, 53,107, 51,100, 77,100, 56,106, 45,180, 16, 29, 30, 32, 20, 4,244, 59,132, 69, 69,132, 59, 27, 34, 84, 48, 48, 84, 34, +195, 43,103, 60, 21, 33, 52, 46, 45, 25, 0, 2,252,106, 4,217,255,125, 6,248, 0, 16, 0, 40, 0, 94, 64, 56, 22, 25, 25, 32, + 6, 14, 72, 25, 28, 17,128, 47, 35, 63, 35, 79, 35, 3, 35, 4, 4, 35, 47, 0, 95, 0,143, 0,159, 0, 4, 0,192, 8, 22, 25, + 25, 31, 38, 24, 24, 4,127, 12,143, 12, 2, 12,128, 0, 15, 8, 95, 8, 2, 8, 0, 47, 93, 51, 26,204, 93, 50, 57, 47,204, 50, + 57, 17, 51, 1, 47, 26,204, 93, 57, 57, 61, 47, 24, 47, 93, 26,205, 50, 57, 43, 17, 51, 49, 48, 1, 35, 38, 38, 39, 6, 6, 7, + 35, 53, 54, 54, 55, 51, 22, 22, 23, 19, 20, 14, 2, 7, 7, 35, 39, 54, 54, 53, 52, 38, 35, 34, 6, 7, 53, 54, 54, 51, 50, 22, +254,217,100, 51,108, 52, 54,106, 51,101, 51,117, 48,192, 48,116, 51,164, 20, 34, 46, 25, 6, 86, 10, 55, 65, 57, 43, 22, 39, 11, + 11, 38, 31, 99,100, 4,217, 34, 84, 48, 48, 84, 34, 27, 59,132, 69, 69,132, 59, 1,118, 29, 43, 30, 21, 6, 81,131, 9, 31, 37, + 37, 25, 3, 3, 82, 3, 3, 69, 0, 2,252,100, 4,217,254,233, 7, 16, 0, 16, 0, 44, 0, 97, 64, 59, 4, 3, 12, 12, 0, 40, + 40, 47, 8, 95, 8,143, 8,159, 8, 4, 8, 0,192, 26, 26, 0, 39, 22,142,207, 31,223, 31,239, 31, 3, 31, 64, 9, 13, 72, 31, + 31, 36,142, 25, 17, 17, 12,127, 3,143, 3, 2, 3,128, 16, 15, 8, 95, 8, 2, 8, 0, 47, 93, 51, 26,205, 93, 50, 50, 47, 51, +225, 51, 47, 43, 93,225, 51, 1, 47, 51, 47, 26, 16,204, 93, 50, 47, 17, 57, 61, 47, 51, 51, 49, 48, 1, 54, 54, 55, 51, 22, 22, + 23, 21, 35, 38, 38, 39, 6, 6, 7, 35, 1, 34, 46, 2, 35, 34, 6, 7, 35, 62, 3, 51, 50, 30, 2, 51, 50, 54, 55, 51, 14, 3, +252,111, 51,116, 48,192, 48,116, 51,100, 51,106, 54, 53,107, 51,100, 1,190, 36, 71, 69, 64, 28, 40, 42, 14, 93, 5, 29, 48, 65, + 42, 37, 74, 69, 62, 26, 40, 42, 14, 92, 5, 28, 48, 65, 4,244, 59,132, 69, 69,132, 59, 27, 34, 84, 48, 48, 84, 34, 1, 90, 28, + 34, 28, 42, 50, 48, 81, 59, 33, 28, 34, 28, 43, 49, 48, 81, 59, 33, 0, 0, 2,252,115, 4,217,254,205, 6,193, 0, 11, 0, 31, + 0, 50, 64, 25, 6,128, 11, 11, 31, 47, 12, 1, 12,192, 21, 20, 5, 11, 11, 31, 20,128, 26, 15, 17, 95, 17, 2, 17, 0, 47, 93, + 51, 26,205, 50, 50, 47,204, 1, 47, 51, 26,204, 93, 50, 57, 47, 26,205, 49, 48, 1, 62, 3, 55, 51, 21, 6, 6, 7, 35, 37, 14, + 3, 35, 34, 38, 39, 51, 30, 3, 51, 50, 62, 2, 55,253, 94, 20, 32, 30, 29, 16,180, 45,106, 55,101, 1,111, 5, 43, 77,110, 70, +146,145, 6,108, 4, 27, 48, 68, 44, 36, 65, 51, 33, 5, 5,248, 25, 44, 46, 53, 33, 21, 60,103, 44, 6, 60, 99, 69, 38,140,126, + 43, 50, 25, 7, 9, 27, 49, 40, 0, 2,252,115, 4,217,254,205, 6,193, 0, 11, 0, 31, 0, 56, 64, 30, 5,128, 11, 64, 19, 22, + 72, 11, 11, 31, 47, 12, 1, 12,192, 21, 20, 5, 0, 0, 31, 20,128, 26, 15, 17, 95, 17, 2, 17, 0, 47, 93, 51, 26,205, 50, 50, + 47,205, 1, 47, 51, 26,204, 93, 50, 57, 47, 43, 26,205, 49, 48, 1, 35, 38, 38, 39, 53, 51, 30, 3, 23, 23, 14, 3, 35, 34, 38, + 39, 51, 30, 3, 51, 50, 62, 2, 55,253,209,100, 56,106, 45,180, 16, 29, 30, 32, 20,252, 5, 43, 77,110, 70,146,145, 6,108, 4, + 27, 48, 68, 44, 36, 65, 51, 33, 5, 5,221, 44,103, 60, 21, 33, 53, 46, 44, 25, 21, 60, 99, 69, 38,140,126, 43, 50, 25, 7, 9, + 27, 49, 40, 0, 0, 2,252,115, 4,217,254,205, 7, 6, 0, 19, 0, 42, 0, 66, 64, 33, 25, 28, 28, 31, 20,128, 37, 37, 19, 47, + 0, 1, 0, 9, 8, 25, 28, 28, 34, 40,192, 27, 27, 19, 8,128, 14, 15, 5, 95, 5, 2, 5, 0, 47, 93, 51, 26,205, 50, 57, 47, + 26,204, 50, 57, 17, 51, 1, 47, 51,204, 93, 50, 57, 47, 26,204, 50, 57, 17, 51, 49, 48, 1, 14, 3, 35, 34, 38, 39, 51, 30, 3, + 51, 50, 62, 2, 55, 39, 20, 14, 2, 7, 7, 35, 39, 54, 54, 53, 52, 38, 35, 34, 6, 7, 53, 54, 51, 50, 22,254,205, 5, 43, 77, +110, 70,146,145, 6,108, 4, 27, 48, 68, 44, 36, 65, 51, 33, 5, 43, 20, 34, 46, 25, 6, 86, 10, 56, 65, 57, 44, 21, 39, 11, 21, + 58,100, 99, 5,227, 60, 99, 69, 38,140,126, 43, 50, 25, 7, 9, 27, 49, 40,150, 29, 43, 31, 20, 6, 41, 90, 9, 32, 37, 37, 24, + 3, 3, 82, 6, 69, 0, 0, 2,252,100, 4,217,254,233, 7, 16, 0, 19, 0, 47, 0, 72, 64, 39, 28, 29, 29, 8, 42, 43, 43, 19, + 47, 0, 1, 0,192, 9, 8, 42, 25,207, 34,223, 34,239, 34, 3, 34, 39, 28, 20, 20, 19, 8,128, 14, 15, 5, 95, 5, 2, 5, 0, + 47, 93, 51, 26,205, 50, 50, 47, 51, 51,205, 93, 50, 50, 1, 47, 51, 26,204, 93, 50, 50, 47, 51, 17, 51, 47, 51, 49, 48, 1, 14, + 3, 35, 34, 38, 39, 51, 30, 3, 51, 50, 62, 2, 55, 39, 34, 46, 2, 35, 34, 6, 7, 35, 62, 3, 51, 50, 30, 2, 51, 50, 54, 55, + 51, 14, 3,254,205, 5, 43, 77,110, 70,146,145, 6,108, 4, 27, 48, 68, 44, 36, 65, 51, 33, 5, 47, 36, 71, 69, 64, 28, 40, 42, + 14, 93, 5, 29, 48, 65, 42, 37, 74, 69, 62, 26, 40, 42, 14, 92, 5, 28, 48, 65, 5,227, 60, 99, 69, 38,140,126, 43, 50, 25, 7, + 9, 27, 49, 40, 80, 28, 34, 28, 42, 50, 48, 81, 59, 33, 28, 34, 28, 43, 49, 48, 81, 59, 33, 0, 0, 1, 0, 49,254, 66, 1,113, + 0, 0, 0, 20, 0, 24, 64, 9, 15,128, 0, 8, 8, 2, 18, 11, 2, 0, 47, 47, 51, 1, 47, 51, 47, 51, 26,204, 49, 48, 23, 52, + 39, 51, 30, 3, 21, 20, 6, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54,219,139,129, 26, 57, 47, 30,101,100, 29, 64, 26, 14, 45, 25, + 34, 52,238,105,133, 19, 52, 64, 75, 42, 90,104, 8, 8,113, 4, 5, 43, 0, 1, 0, 16,254,109, 1,119, 0,166, 0, 17, 0, 18, +182, 9, 1, 16, 13, 6,250, 0, 0, 47, 63, 51, 1, 47, 51,196, 49, 48, 37, 17, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, + 53, 17, 1,119, 1, 26, 57, 89, 63, 38, 63, 22, 14, 59, 34, 46, 50,166,254,217, 66,102, 70, 36, 17, 9,150, 7, 14, 49, 49, 1, + 60, 0, 0, 1, 0, 16,254,109, 1,119, 0,154, 0, 17, 0, 18,182, 9, 1, 16, 13, 6,250, 0, 0, 47, 63, 51, 1, 47, 51,196, + 49, 48, 37, 17, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 53, 17, 1,119, 1, 26, 57, 89, 63, 38, 63, 22, 14, 59, 34, 46, + 50,154,254,229, 66,102, 70, 36, 17, 9,150, 7, 14, 49, 49, 1, 48, 0, 0, 0, 0, 0, 0, 27, 1, 74, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 52, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 10, 0, 52, 0, 1, 0, 0, 0, 0, 0, 2, 0, 7, 0, 62, 0, 1, + 0, 0, 0, 0, 0, 3, 0, 21, 0, 69, 0, 1, 0, 0, 0, 0, 0, 4, 0, 10, 0, 52, 0, 1, 0, 0, 0, 0, 0, 5, 0, 12, + 0, 90, 0, 1, 0, 0, 0, 0, 0, 6, 0, 9, 0,102, 0, 1, 0, 0, 0, 0, 0, 7, 0, 78, 0,111, 0, 1, 0, 0, 0, 0, + 0, 8, 0, 20, 0,189, 0, 1, 0, 0, 0, 0, 0, 10, 0,103, 0,209, 0, 1, 0, 0, 0, 0, 0, 13, 0, 46, 1, 56, 0, 1, + 0, 0, 0, 0, 0, 14, 0, 42, 1,102, 0, 1, 0, 0, 0, 0, 0, 18, 0, 10, 0, 52, 0, 3, 0, 1, 4, 9, 0, 0, 0,104, + 1,144, 0, 3, 0, 1, 4, 9, 0, 1, 0, 20, 1,248, 0, 3, 0, 1, 4, 9, 0, 2, 0, 14, 2, 12, 0, 3, 0, 1, 4, 9, + 0, 3, 0, 42, 2, 26, 0, 3, 0, 1, 4, 9, 0, 4, 0, 20, 1,248, 0, 3, 0, 1, 4, 9, 0, 5, 0, 44, 2, 68, 0, 3, + 0, 1, 4, 9, 0, 6, 0, 18, 2,112, 0, 3, 0, 1, 4, 9, 0, 7, 0,156, 2,130, 0, 3, 0, 1, 4, 9, 0, 8, 0, 40, + 3, 30, 0, 3, 0, 1, 4, 9, 0, 10, 0,206, 3, 70, 0, 3, 0, 1, 4, 9, 0, 11, 0, 56, 4, 20, 0, 3, 0, 1, 4, 9, + 0, 12, 0, 92, 4, 76, 0, 3, 0, 1, 4, 9, 0, 13, 0, 92, 4,168, 0, 3, 0, 1, 4, 9, 0, 14, 0, 84, 5, 4, 68,105, +103,105,116,105,122,101,100, 32,100, 97,116, 97, 32, 99,111,112,121,114,105,103,104,116, 32,169, 32, 50, 48, 48, 55, 44, 32, 71, +111,111,103,108,101, 32, 67,111,114,112,111,114, 97,116,105,111,110, 46, 68,114,111,105,100, 32, 83, 97,110,115, 82,101,103,117, +108, 97,114, 65,115, 99,101,110,100,101,114, 32, 45, 32, 68,114,111,105,100, 32, 83, 97,110,115, 86,101,114,115,105,111,110, 32, + 49, 46, 48, 48, 68,114,111,105,100, 83, 97,110,115, 68,114,111,105,100, 32,105,115, 32, 97, 32,116,114, 97,100,101,109, 97,114, +107, 32,111,102, 32, 71,111,111,103,108,101, 32, 97,110,100, 32,109, 97,121, 32, 98,101, 32,114,101,103,105,115,116,101,114,101, +100, 32,105,110, 32, 99,101,114,116, 97,105,110, 32,106,117,114,105,115,100,105, 99,116,105,111,110,115, 46, 65,115, 99,101,110, +100,101,114, 32, 67,111,114,112,111,114, 97,116,105,111,110, 68,114,111,105,100, 32, 83, 97,110,115, 32,105,115, 32, 97, 32,104, +117,109, 97,110,105,115,116, 32,115, 97,110,115, 32,115,101,114,105,102, 32,116,121,112,101,102, 97, 99,101, 32,100,101,115,105, +103,110,101,100, 32,102,111,114, 32,117,115,101,114, 32,105,110,116,101,114,102, 97, 99,101,115, 32, 97,110,100, 32,101,108,101, + 99,116,114,111,110,105, 99, 32, 99,111,109,109,117,110,105, 99, 97,116,105,111,110, 46, 76,105, 99,101,110,115,101,100, 32,117, +110,100,101,114, 32,116,104,101, 32, 65,112, 97, 99,104,101, 32, 76,105, 99,101,110,115,101, 44, 32, 86,101,114,115,105,111,110, + 32, 50, 46, 48,104,116,116,112, 58, 47, 47,119,119,119, 46, 97,112, 97, 99,104,101, 46,111,114,103, 47,108,105, 99,101,110,115, +101,115, 47, 76, 73, 67, 69, 78, 83, 69, 45, 50, 46, 48, 0, 68, 0,105, 0,103, 0,105, 0,116, 0,105, 0,122, 0,101, 0,100, + 0, 32, 0,100, 0, 97, 0,116, 0, 97, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0,114, 0,105, 0,103, 0,104, 0,116, 0, 32, + 0,169, 0, 32, 0, 50, 0, 48, 0, 48, 0, 55, 0, 44, 0, 32, 0, 71, 0,111, 0,111, 0,103, 0,108, 0,101, 0, 32, 0, 67, + 0,111, 0,114, 0,112, 0,111, 0,114, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 46, 0, 68, 0,114, 0,111, 0,105, 0,100, + 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 82, 0,101, 0,103, 0,117, 0,108, 0, 97, 0,114, 0, 65, 0,115, 0, 99, 0,101, + 0,110, 0,100, 0,101, 0,114, 0, 32, 0, 45, 0, 32, 0, 68, 0,114, 0,111, 0,105, 0,100, 0, 32, 0, 83, 0, 97, 0,110, + 0,115, 0, 86, 0,101, 0,114, 0,115, 0,105, 0,111, 0,110, 0, 32, 0, 49, 0, 46, 0, 48, 0, 48, 0, 32, 0, 98, 0,117, + 0,105, 0,108, 0,100, 0, 32, 0, 49, 0, 49, 0, 50, 0, 68, 0,114, 0,111, 0,105, 0,100, 0, 83, 0, 97, 0,110, 0,115, + 0, 68, 0,114, 0,111, 0,105, 0,100, 0, 32, 0,105, 0,115, 0, 32, 0, 97, 0, 32, 0,116, 0,114, 0, 97, 0,100, 0,101, + 0,109, 0, 97, 0,114, 0,107, 0, 32, 0,111, 0,102, 0, 32, 0, 71, 0,111, 0,111, 0,103, 0,108, 0,101, 0, 32, 0, 97, + 0,110, 0,100, 0, 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0,114, 0,101, 0,103, 0,105, 0,115, 0,116, + 0,101, 0,114, 0,101, 0,100, 0, 32, 0,105, 0,110, 0, 32, 0, 99, 0,101, 0,114, 0,116, 0, 97, 0,105, 0,110, 0, 32, + 0,106, 0,117, 0,114, 0,105, 0,115, 0,100, 0,105, 0, 99, 0,116, 0,105, 0,111, 0,110, 0,115, 0, 46, 0, 65, 0,115, + 0, 99, 0,101, 0,110, 0,100, 0,101, 0,114, 0, 32, 0, 67, 0,111, 0,114, 0,112, 0,111, 0,114, 0, 97, 0,116, 0,105, + 0,111, 0,110, 0, 68, 0,114, 0,111, 0,105, 0,100, 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 32, 0,105, 0,115, 0, 32, + 0, 97, 0, 32, 0,104, 0,117, 0,109, 0, 97, 0,110, 0,105, 0,115, 0,116, 0, 32, 0,115, 0, 97, 0,110, 0,115, 0, 32, + 0,115, 0,101, 0,114, 0,105, 0,102, 0, 32, 0,116, 0,121, 0,112, 0,101, 0,102, 0, 97, 0, 99, 0,101, 0, 32, 0,100, + 0,101, 0,115, 0,105, 0,103, 0,110, 0,101, 0,100, 0, 32, 0,102, 0,111, 0,114, 0, 32, 0,117, 0,115, 0,101, 0,114, + 0, 32, 0,105, 0,110, 0,116, 0,101, 0,114, 0,102, 0, 97, 0, 99, 0,101, 0,115, 0, 32, 0, 97, 0,110, 0,100, 0, 32, + 0,101, 0,108, 0,101, 0, 99, 0,116, 0,114, 0,111, 0,110, 0,105, 0, 99, 0, 32, 0, 99, 0,111, 0,109, 0,109, 0,117, + 0,110, 0,105, 0, 99, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 46, 0,104, 0,116, 0,116, 0,112, 0, 58, 0, 47, 0, 47, + 0,119, 0,119, 0,119, 0, 46, 0, 97, 0,115, 0, 99, 0,101, 0,110, 0,100, 0,101, 0,114, 0, 99, 0,111, 0,114, 0,112, + 0, 46, 0, 99, 0,111, 0,109, 0, 47, 0,104, 0,116, 0,116, 0,112, 0, 58, 0, 47, 0, 47, 0,119, 0,119, 0,119, 0, 46, + 0, 97, 0,115, 0, 99, 0,101, 0,110, 0,100, 0,101, 0,114, 0, 99, 0,111, 0,114, 0,112, 0, 46, 0, 99, 0,111, 0,109, + 0, 47, 0,116, 0,121, 0,112, 0,101, 0,100, 0,101, 0,115, 0,105, 0,103, 0,110, 0,101, 0,114, 0,115, 0, 46, 0,104, + 0,116, 0,109, 0,108, 0, 76, 0,105, 0, 99, 0,101, 0,110, 0,115, 0,101, 0,100, 0, 32, 0,117, 0,110, 0,100, 0,101, + 0,114, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 65, 0,112, 0, 97, 0, 99, 0,104, 0,101, 0, 32, 0, 76, 0,105, 0, 99, + 0,101, 0,110, 0,115, 0,101, 0, 44, 0, 32, 0, 86, 0,101, 0,114, 0,115, 0,105, 0,111, 0,110, 0, 32, 0, 50, 0, 46, + 0, 48, 0,104, 0,116, 0,116, 0,112, 0, 58, 0, 47, 0, 47, 0,119, 0,119, 0,119, 0, 46, 0, 97, 0,112, 0, 97, 0, 99, + 0,104, 0,101, 0, 46, 0,111, 0,114, 0,103, 0, 47, 0,108, 0,105, 0, 99, 0,101, 0,110, 0,115, 0,101, 0,115, 0, 47, + 0, 76, 0, 73, 0, 67, 0, 69, 0, 78, 0, 83, 0, 69, 0, 45, 0, 50, 0, 46, 0, 48, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, +255,102, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,130, 0, 0, 1, 2, 0, 2, + 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,172, + 0,163, 0,132, 0,133, 0,189, 0,150, 0,232, 0,134, 0,142, 0,139, 0,157, 0,169, 0,164, 1, 3, 0,138, 1, 4, 0,131, + 0,147, 0,242, 0,243, 0,141, 0,151, 0,136, 1, 5, 0,222, 0,241, 0,158, 0,170, 0,245, 0,244, 0,246, 0,162, 0,173, + 0,201, 0,199, 0,174, 0, 98, 0, 99, 0,144, 0,100, 0,203, 0,101, 0,200, 0,202, 0,207, 0,204, 0,205, 0,206, 0,233, + 0,102, 0,211, 0,208, 0,209, 0,175, 0,103, 0,240, 0,145, 0,214, 0,212, 0,213, 0,104, 0,235, 0,237, 0,137, 0,106, + 0,105, 0,107, 0,109, 0,108, 0,110, 0,160, 0,111, 0,113, 0,112, 0,114, 0,115, 0,117, 0,116, 0,118, 0,119, 0,234, + 0,120, 0,122, 0,121, 0,123, 0,125, 0,124, 0,184, 0,161, 0,127, 0,126, 0,128, 0,129, 0,236, 0,238, 0,186, 1, 6, + 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 0,253, 0,254, 1, 12, 1, 13, 1, 14, 1, 15, 0,255, 1, 0, 1, 16, 1, 17, 1, 18, + 1, 19, 1, 20, 1, 21, 1, 22, 1, 23, 1, 24, 1, 25, 1, 26, 1, 27, 1, 28, 1, 29, 1, 30, 1, 31, 0,248, 0,249, 1, 32, + 1, 33, 1, 34, 1, 35, 1, 36, 1, 37, 1, 38, 1, 39, 1, 40, 1, 41, 1, 42, 1, 43, 1, 44, 1, 45, 1, 46, 1, 47, 1, 48, + 0,215, 1, 49, 1, 50, 1, 51, 1, 52, 1, 53, 1, 54, 1, 55, 1, 56, 1, 57, 1, 58, 1, 59, 1, 60, 1, 61, 1, 62, 1, 63, + 0,226, 0,227, 1, 64, 1, 65, 1, 66, 1, 67, 1, 68, 1, 69, 1, 70, 1, 71, 1, 72, 1, 73, 1, 74, 1, 75, 1, 76, 1, 77, + 1, 78, 0,176, 0,177, 1, 79, 1, 80, 1, 81, 1, 82, 1, 83, 1, 84, 1, 85, 1, 86, 1, 87, 1, 88, 0,251, 0,252, 0,228, + 0,229, 1, 89, 1, 90, 1, 91, 1, 92, 1, 93, 1, 94, 1, 95, 1, 96, 1, 97, 1, 98, 1, 99, 1,100, 1,101, 1,102, 1,103, + 1,104, 1,105, 1,106, 1,107, 1,108, 1,109, 1,110, 0,187, 1,111, 1,112, 1,113, 1,114, 0,230, 0,231, 1,115, 0,166, + 1,116, 1,117, 1,118, 1,119, 1,120, 1,121, 1,122, 1,123, 0,216, 0,225, 1,124, 0,219, 0,220, 0,221, 0,224, 0,217, + 0,223, 1,125, 1,126, 1,127, 1,128, 1,129, 1,130, 1,131, 1,132, 1,133, 1,134, 1,135, 1,136, 1,137, 1,138, 1,139, + 1,140, 1,141, 1,142, 1,143, 1,144, 1,145, 1,146, 1,147, 1,148, 1,149, 1,150, 1,151, 1,152, 1,153, 1,154, 1,155, + 1,156, 1,157, 1,158, 1,159, 1,160, 1,161, 1,162, 1,163, 1,164, 1,165, 1,166, 1,167, 1,168, 1,169, 1,170, 1,171, + 1,172, 1,173, 1,174, 1,175, 1,176, 1,177, 1,178, 1,179, 1,180, 1,181, 0,155, 1,182, 1,183, 1,184, 1,185, 1,186, + 1,187, 1,188, 1,189, 1,190, 1,191, 1,192, 1,193, 1,194, 1,195, 1,196, 1,197, 1,198, 1,199, 1,200, 1,201, 1,202, + 1,203, 1,204, 1,205, 1,206, 1,207, 1,208, 1,209, 1,210, 1,211, 1,212, 1,213, 1,214, 1,215, 1,216, 1,217, 1,218, + 1,219, 1,220, 1,221, 1,222, 1,223, 1,224, 1,225, 1,226, 1,227, 1,228, 1,229, 1,230, 1,231, 1,232, 1,233, 1,234, + 1,235, 1,236, 1,237, 1,238, 1,239, 1,240, 1,241, 1,242, 1,243, 1,244, 1,245, 1,246, 1,247, 1,248, 1,249, 1,250, + 1,251, 1,252, 1,253, 1,254, 1,255, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, + 2, 11, 2, 12, 2, 13, 2, 14, 2, 15, 2, 16, 2, 17, 2, 18, 2, 19, 2, 20, 2, 21, 2, 22, 2, 23, 2, 24, 2, 25, 2, 26, + 2, 27, 2, 28, 2, 29, 2, 30, 2, 31, 2, 32, 2, 33, 2, 34, 2, 35, 2, 36, 2, 37, 2, 38, 2, 39, 2, 40, 2, 41, 0,178, + 0,179, 2, 42, 2, 43, 0,182, 0,183, 0,196, 2, 44, 0,180, 0,181, 0,197, 0,130, 0,194, 0,135, 0,171, 0,198, 2, 45, + 2, 46, 0,190, 0,191, 2, 47, 0,188, 2, 48, 0,247, 2, 49, 2, 50, 2, 51, 2, 52, 2, 53, 2, 54, 0,140, 0,159, 2, 55, + 2, 56, 2, 57, 2, 58, 2, 59, 0,152, 2, 60, 0,154, 0,153, 0,239, 0,165, 0,146, 0,156, 0,167, 0,143, 0,148, 0,149, + 0,185, 2, 61, 2, 62, 2, 63, 2, 64, 2, 65, 2, 66, 2, 67, 2, 68, 2, 69, 2, 70, 2, 71, 2, 72, 2, 73, 2, 74, 2, 75, + 2, 76, 2, 77, 2, 78, 2, 79, 2, 80, 2, 81, 2, 82, 2, 83, 2, 84, 2, 85, 2, 86, 2, 87, 2, 88, 2, 89, 2, 90, 2, 91, + 2, 92, 2, 93, 2, 94, 2, 95, 2, 96, 2, 97, 2, 98, 2, 99, 2,100, 2,101, 2,102, 2,103, 2,104, 2,105, 2,106, 2,107, + 2,108, 2,109, 2,110, 2,111, 2,112, 2,113, 2,114, 2,115, 2,116, 2,117, 2,118, 2,119, 2,120, 2,121, 2,122, 2,123, + 2,124, 2,125, 2,126, 2,127, 2,128, 2,129, 2,130, 2,131, 2,132, 2,133, 2,134, 2,135, 2,136, 2,137, 2,138, 2,139, + 2,140, 2,141, 2,142, 2,143, 2,144, 2,145, 2,146, 2,147, 2,148, 2,149, 2,150, 2,151, 2,152, 2,153, 2,154, 2,155, + 2,156, 2,157, 2,158, 2,159, 2,160, 2,161, 2,162, 2,163, 2,164, 2,165, 2,166, 2,167, 2,168, 2,169, 2,170, 2,171, + 2,172, 2,173, 2,174, 2,175, 2,176, 2,177, 2,178, 2,179, 2,180, 2,181, 2,182, 2,183, 2,184, 2,185, 2,186, 2,187, + 2,188, 2,189, 2,190, 2,191, 2,192, 2,193, 2,194, 2,195, 2,196, 2,197, 2,198, 2,199, 2,200, 2,201, 2,202, 2,203, + 2,204, 2,205, 2,206, 2,207, 2,208, 2,209, 2,210, 2,211, 2,212, 2,213, 2,214, 2,215, 2,216, 2,217, 2,218, 2,219, + 2,220, 2,221, 2,222, 2,223, 2,224, 2,225, 2,226, 2,227, 2,228, 2,229, 2,230, 2,231, 2,232, 2,233, 2,234, 2,235, 2,236, 2,237, 2,238, 2,239, 2,240, 2,241, 2,242, 2,243, 2,244, 2,245, 2,246, 2,247, 2,248, 2,249, 2,250, 2,251, - 2,252, 2,253, 2,254, 2,255, 3, 0, 0,155, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, - 3, 11, 3, 12, 3, 13, 3, 14, 3, 15, 3, 16, 3, 17, 3, 18, 3, 19, 3, 20, 3, 21, 3, 22, 3, 23, 3, 24, 3, 25, 3, 26, - 3, 27, 3, 28, 3, 29, 3, 30, 3, 31, 3, 32, 3, 33, 3, 34, 3, 35, 3, 36, 3, 37, 3, 38, 3, 39, 3, 40, 3, 41, 3, 42, - 3, 43, 3, 44, 3, 45, 3, 46, 3, 47, 3, 48, 3, 49, 3, 50, 3, 51, 3, 52, 3, 53, 3, 54, 3, 55, 3, 56, 3, 57, 3, 58, - 3, 59, 3, 60, 3, 61, 3, 62, 3, 63, 3, 64, 3, 65, 3, 66, 3, 67, 3, 68, 3, 69, 3, 70, 3, 71, 3, 72, 3, 73, 3, 74, - 3, 75, 3, 76, 3, 77, 3, 78, 3, 79, 3, 80, 3, 81, 3, 82, 3, 83, 3, 84, 3, 85, 3, 86, 3, 87, 3, 88, 3, 89, 3, 90, - 3, 91, 3, 92, 3, 93, 3, 94, 3, 95, 3, 96, 3, 97, 3, 98, 3, 99, 3,100, 3,101, 3,102, 3,103, 3,104, 3,105, 3,106, - 3,107, 3,108, 3,109, 3,110, 3,111, 3,112, 3,113, 3,114, 3,115, 3,116, 3,117, 3,118, 3,119, 3,120, 3,121, 3,122, - 3,123, 3,124, 3,125, 3,126, 3,127, 3,128, 3,129, 3,130, 3,131, 3,132, 3,133, 3,134, 3,135, 3,136, 3,137, 3,138, - 3,139, 3,140, 3,141, 3,142, 3,143, 3,144, 3,145, 3,146, 3,147, 3,148, 3,149, 3,150, 3,151, 3,152, 3,153, 3,154, - 3,155, 3,156, 3,157, 3,158, 3,159, 3,160, 3,161, 3,162, 3,163, 3,164, 3,165, 3,166, 3,167, 3,168, 3,169, 3,170, - 3,171, 3,172, 3,173, 3,174, 3,175, 3,176, 3,177, 3,178, 3,179, 3,180, 3,181, 3,182, 3,183, 3,184, 3,185, 3,186, - 3,187, 3,188, 3,189, 3,190, 3,191, 3,192, 3,193, 3,194, 3,195, 3,196, 3,197, 3,198, 3,199, 3,200, 3,201, 3,202, - 3,203, 3,204, 3,205, 3,206, 3,207, 3,208, 3,209, 3,210, 3,211, 3,212, 3,213, 3,214, 3,215, 3,216, 3,217, 3,218, - 3,219, 3,220, 3,221, 3,222, 3,223, 3,224, 3,225, 3,226, 3,227, 3,228, 3,229, 3,230, 3,231, 3,232, 3,233, 3,234, - 3,235, 3,236, 3,237, 3,238, 3,239, 3,240, 3,241, 3,242, 3,243, 3,244, 3,245, 3,246, 3,247, 3,248, 3,249, 3,250, - 3,251, 3,252, 3,253, 3,254, 3,255, 4, 0, 4, 1, 4, 2, 4, 3, 4, 4, 4, 5, 4, 6, 4, 7, 4, 8, 4, 9, 4, 10, - 4, 11, 4, 12, 4, 13, 4, 14, 4, 15, 4, 16, 4, 17, 4, 18, 4, 19, 4, 20, 4, 21, 4, 22, 4, 23, 4, 24, 4, 25, 4, 26, - 4, 27, 4, 28, 4, 29, 4, 30, 4, 31, 4, 32, 4, 33, 4, 34, 4, 35, 4, 36, 4, 37, 4, 38, 4, 39, 4, 40, 4, 41, 4, 42, - 4, 43, 4, 44, 4, 45, 4, 46, 4, 47, 4, 48, 4, 49, 4, 50, 4, 51, 4, 52, 4, 53, 4, 54, 4, 55, 4, 56, 4, 57, 4, 58, - 4, 59, 4, 60, 4, 61, 4, 62, 4, 63, 4, 64, 4, 65, 4, 66, 4, 67, 4, 68, 4, 69, 4, 70, 4, 71, 4, 72, 4, 73, 4, 74, - 4, 75, 4, 76, 4, 77, 4, 78, 4, 79, 4, 80, 4, 81, 4, 82, 4, 83, 4, 84, 4, 85, 4, 86, 4, 87, 4, 88, 4, 89, 4, 90, - 4, 91, 4, 92, 4, 93, 4, 94, 4, 95, 4, 96, 4, 97, 4, 98, 4, 99, 4,100, 4,101, 4,102, 4,103, 4,104, 4,105, 4,106, - 4,107, 4,108, 4,109, 4,110, 4,111, 4,112, 4,113, 4,114, 4,115, 4,116, 4,117, 4,118, 4,119, 4,120, 4,121, 4,122, - 4,123, 4,124, 4,125, 4,126, 4,127, 4,128, 4,129, 4,130, 4,131, 4,132, 4,133, 4,134, 4,135, 4,136, 4,137, 4,138, - 4,139, 4,140, 4,141, 4,142, 4,143, 4,144, 4,145, 4,146, 4,147, 4,148, 4,149, 4,150, 4,151, 4,152, 4,153, 4,154, - 4,155, 4,156, 4,157, 4,158, 4,159, 4,160, 4,161, 4,162, 4,163, 4,164, 4,165, 4,166, 4,167, 4,168, 4,169, 4,170, - 4,171, 4,172, 4,173, 4,174, 4,175, 4,176, 4,177, 4,178, 4,179, 4,180, 4,181, 4,182, 4,183, 4,184, 4,185, 4,186, - 4,187, 4,188, 4,189, 4,190, 4,191, 4,192, 4,193, 4,194, 4,195, 4,196, 4,197, 4,198, 4,199, 4,200, 4,201, 4,202, - 4,203, 4,204, 4,205, 4,206, 4,207, 4,208, 4,209, 4,210, 4,211, 4,212, 4,213, 4,214, 4,215, 4,216, 4,217, 4,218, - 4,219, 4,220, 4,221, 4,222, 4,223, 4,224, 4,225, 4,226, 4,227, 4,228, 4,229, 4,230, 4,231, 4,232, 4,233, 4,234, - 4,235, 4,236, 4,237, 4,238, 4,239, 4,240, 4,241, 4,242, 4,243, 4,244, 4,245, 4,246, 4,247, 4,248, 4,249, 4,250, - 4,251, 4,252, 4,253, 4,254, 4,255, 5, 0, 5, 1, 5, 2, 5, 3, 5, 4, 5, 5, 5, 6, 5, 7, 5, 8, 5, 9, 5, 10, - 5, 11, 5, 12, 5, 13, 5, 14, 5, 15, 5, 16, 5, 17, 5, 18, 5, 19, 5, 20, 5, 21, 5, 22, 5, 23, 5, 24, 5, 25, 5, 26, - 5, 27, 5, 28, 5, 29, 5, 30, 5, 31, 5, 32, 5, 33, 5, 34, 5, 35, 5, 36, 5, 37, 5, 38, 5, 39, 5, 40, 5, 41, 5, 42, - 5, 43, 5, 44, 5, 45, 5, 46, 5, 47, 5, 48, 5, 49, 5, 50, 5, 51, 5, 52, 5, 53, 5, 54, 5, 55, 5, 56, 5, 57, 5, 58, - 5, 59, 5, 60, 5, 61, 5, 62, 5, 63, 5, 64, 5, 65, 5, 66, 5, 67, 5, 68, 5, 69, 5, 70, 5, 71, 5, 72, 5, 73, 5, 74, - 5, 75, 5, 76, 5, 77, 5, 78, 5, 79, 5, 80, 5, 81, 5, 82, 5, 83, 5, 84, 5, 85, 5, 86, 5, 87, 5, 88, 5, 89, 5, 90, - 5, 91, 5, 92, 5, 93, 5, 94, 5, 95, 5, 96, 5, 97, 5, 98, 5, 99, 5,100, 5,101, 5,102, 5,103, 5,104, 5,105, 5,106, - 5,107, 5,108, 5,109, 5,110, 5,111, 5,112, 5,113, 5,114, 5,115, 5,116, 5,117, 5,118, 5,119, 5,120, 5,121, 5,122, - 5,123, 5,124, 5,125, 5,126, 5,127, 5,128, 5,129, 5,130, 5,131, 5,132, 5,133, 5,134, 5,135, 5,136, 5,137, 5,138, - 5,139, 5,140, 5,141, 5,142, 5,143, 5,144, 5,145, 5,146, 5,147, 5,148, 5,149, 5,150, 5,151, 5,152, 5,153, 5,154, - 5,155, 5,156, 5,157, 5,158, 5,159, 5,160, 5,161, 5,162, 5,163, 5,164, 5,165, 5,166, 5,167, 5,168, 5,169, 0,178, - 0,179, 5,170, 5,171, 5,172, 0,182, 0,183, 0,196, 5,173, 0,180, 0,181, 0,197, 5,174, 0,130, 0,194, 0,135, 5,175, - 5,176, 5,177, 0,171, 5,178, 0,198, 5,179, 5,180, 5,181, 5,182, 5,183, 5,184, 5,185, 5,186, 0,190, 0,191, 5,187, - 5,188, 5,189, 5,190, 5,191, 5,192, 5,193, 5,194, 5,195, 0,188, 5,196, 5,197, 5,198, 5,199, 5,200, 5,201, 5,202, - 5,203, 5,204, 5,205, 5,206, 5,207, 5,208, 5,209, 5,210, 5,211, 5,212, 5,213, 5,214, 5,215, 5,216, 5,217, 5,218, - 5,219, 5,220, 5,221, 5,222, 5,223, 5,224, 5,225, 5,226, 5,227, 5,228, 5,229, 5,230, 5,231, 5,232, 5,233, 5,234, - 5,235, 5,236, 5,237, 5,238, 5,239, 5,240, 5,241, 5,242, 5,243, 5,244, 5,245, 5,246, 5,247, 5,248, 5,249, 5,250, - 5,251, 5,252, 5,253, 0,247, 5,254, 5,255, 6, 0, 6, 1, 6, 2, 6, 3, 6, 4, 6, 5, 6, 6, 6, 7, 6, 8, 6, 9, - 6, 10, 6, 11, 6, 12, 6, 13, 6, 14, 6, 15, 6, 16, 6, 17, 6, 18, 6, 19, 6, 20, 6, 21, 6, 22, 6, 23, 6, 24, 6, 25, - 6, 26, 6, 27, 6, 28, 6, 29, 6, 30, 6, 31, 6, 32, 0,140, 6, 33, 6, 34, 6, 35, 6, 36, 6, 37, 6, 38, 6, 39, 6, 40, - 6, 41, 6, 42, 6, 43, 6, 44, 6, 45, 6, 46, 6, 47, 6, 48, 6, 49, 6, 50, 6, 51, 6, 52, 6, 53, 6, 54, 6, 55, 6, 56, - 6, 57, 6, 58, 6, 59, 6, 60, 6, 61, 6, 62, 6, 63, 6, 64, 6, 65, 6, 66, 6, 67, 6, 68, 6, 69, 6, 70, 6, 71, 6, 72, - 6, 73, 6, 74, 6, 75, 6, 76, 6, 77, 6, 78, 6, 79, 6, 80, 6, 81, 6, 82, 6, 83, 6, 84, 6, 85, 6, 86, 6, 87, 6, 88, - 6, 89, 6, 90, 6, 91, 6, 92, 6, 93, 6, 94, 6, 95, 6, 96, 6, 97, 6, 98, 6, 99, 6,100, 6,101, 6,102, 0,239, 6,103, - 6,104, 0,188, 6,105, 6,106, 6,107, 0,195, 0,165, 6,108, 6,109, 6,110, 0,146, 6,111, 6,112, 6,113, 6,114, 6,115, - 6,116, 6,117, 6,118, 6,119, 6,120, 6,121, 6,122, 6,123, 6,124, 6,125, 6,126, 6,127, 6,128, 6,129, 0,192, 0,193, - 6,130, 6,131, 6,132, 6,133, 6,134, 6,135, 6,136, 6,137, 6,138, 6,139, 6,140, 6,141, 6,142, 6,143, 6,144, 6,145, - 6,146, 6,147, 6,148, 6,149, 6,150, 6,151, 6,152, 6,153, 6,154, 6,155, 6,156, 6,157, 6,158, 6,159, 6,160, 6,161, - 6,162, 6,163, 6,164, 6,165, 6,166, 6,167, 6,168, 6,169, 6,170, 6,171, 9,115,102,116,104,121,112,104,101,110, 7, 65, -109, 97, 99,114,111,110, 7, 97,109, 97, 99,114,111,110, 6, 65, 98,114,101,118,101, 6, 97, 98,114,101,118,101, 7, 65,111,103, -111,110,101,107, 7, 97,111,103,111,110,101,107, 11, 67, 99,105,114, 99,117,109,102,108,101,120, 11, 99, 99,105,114, 99,117,109, -102,108,101,120, 10, 67,100,111,116, 97, 99, 99,101,110,116, 10, 99,100,111,116, 97, 99, 99,101,110,116, 6, 68, 99, 97,114,111, -110, 6,100, 99, 97,114,111,110, 6, 68, 99,114,111, 97,116, 7, 69,109, 97, 99,114,111,110, 7,101,109, 97, 99,114,111,110, 6, - 69, 98,114,101,118,101, 6,101, 98,114,101,118,101, 10, 69,100,111,116, 97, 99, 99,101,110,116, 10,101,100,111,116, 97, 99, 99, -101,110,116, 7, 69,111,103,111,110,101,107, 7,101,111,103,111,110,101,107, 6, 69, 99, 97,114,111,110, 6,101, 99, 97,114,111, -110, 11, 71, 99,105,114, 99,117,109,102,108,101,120, 11,103, 99,105,114, 99,117,109,102,108,101,120, 10, 71,100,111,116, 97, 99, - 99,101,110,116, 10,103,100,111,116, 97, 99, 99,101,110,116, 12, 71, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,103, 99,111, -109,109, 97, 97, 99, 99,101,110,116, 11, 72, 99,105,114, 99,117,109,102,108,101,120, 11,104, 99,105,114, 99,117,109,102,108,101, -120, 4, 72, 98, 97,114, 4,104, 98, 97,114, 6, 73,116,105,108,100,101, 6,105,116,105,108,100,101, 7, 73,109, 97, 99,114,111, -110, 7,105,109, 97, 99,114,111,110, 6, 73, 98,114,101,118,101, 6,105, 98,114,101,118,101, 7, 73,111,103,111,110,101,107, 7, -105,111,103,111,110,101,107, 2, 73, 74, 2,105,106, 11, 74, 99,105,114, 99,117,109,102,108,101,120, 11,106, 99,105,114, 99,117, -109,102,108,101,120, 12, 75, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,107, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12, -107,103,114,101,101,110,108, 97,110,100,105, 99, 6, 76, 97, 99,117,116,101, 6,108, 97, 99,117,116,101, 12, 76, 99,111,109,109, - 97, 97, 99, 99,101,110,116, 12,108, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 76, 99, 97,114,111,110, 6,108, 99, 97,114, -111,110, 4, 76,100,111,116, 4,108,100,111,116, 6, 78, 97, 99,117,116,101, 6,110, 97, 99,117,116,101, 12, 78, 99,111,109,109, - 97, 97, 99, 99,101,110,116, 12,110, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 78, 99, 97,114,111,110, 6,110, 99, 97,114, -111,110, 11,110, 97,112,111,115,116,114,111,112,104,101, 3, 69,110,103, 3,101,110,103, 7, 79,109, 97, 99,114,111,110, 7,111, -109, 97, 99,114,111,110, 6, 79, 98,114,101,118,101, 6,111, 98,114,101,118,101, 13, 79,104,117,110,103, 97,114,117,109,108, 97, -117,116, 13,111,104,117,110,103, 97,114,117,109,108, 97,117,116, 6, 82, 97, 99,117,116,101, 6,114, 97, 99,117,116,101, 12, 82, - 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,114, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 82, 99, 97,114,111,110, 6, -114, 99, 97,114,111,110, 6, 83, 97, 99,117,116,101, 6,115, 97, 99,117,116,101, 11, 83, 99,105,114, 99,117,109,102,108,101,120, - 11,115, 99,105,114, 99,117,109,102,108,101,120, 12, 84, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,116, 99,111,109,109, 97, - 97, 99, 99,101,110,116, 6, 84, 99, 97,114,111,110, 6,116, 99, 97,114,111,110, 4, 84, 98, 97,114, 4,116, 98, 97,114, 6, 85, -116,105,108,100,101, 6,117,116,105,108,100,101, 7, 85,109, 97, 99,114,111,110, 7,117,109, 97, 99,114,111,110, 6, 85, 98,114, -101,118,101, 6,117, 98,114,101,118,101, 5, 85,114,105,110,103, 5,117,114,105,110,103, 13, 85,104,117,110,103, 97,114,117,109, -108, 97,117,116, 13,117,104,117,110,103, 97,114,117,109,108, 97,117,116, 7, 85,111,103,111,110,101,107, 7,117,111,103,111,110, -101,107, 11, 87, 99,105,114, 99,117,109,102,108,101,120, 11,119, 99,105,114, 99,117,109,102,108,101,120, 11, 89, 99,105,114, 99, -117,109,102,108,101,120, 11,121, 99,105,114, 99,117,109,102,108,101,120, 6, 90, 97, 99,117,116,101, 6,122, 97, 99,117,116,101, - 10, 90,100,111,116, 97, 99, 99,101,110,116, 10,122,100,111,116, 97, 99, 99,101,110,116, 5,108,111,110,103,115, 7,117,110,105, - 48, 49, 56, 48, 7,117,110,105, 48, 49, 56, 49, 7,117,110,105, 48, 49, 56, 50, 7,117,110,105, 48, 49, 56, 51, 7,117,110,105, - 48, 49, 56, 52, 7,117,110,105, 48, 49, 56, 53, 7,117,110,105, 48, 49, 56, 54, 7,117,110,105, 48, 49, 56, 55, 7,117,110,105, - 48, 49, 56, 56, 7,117,110,105, 48, 49, 56, 57, 7,117,110,105, 48, 49, 56, 65, 7,117,110,105, 48, 49, 56, 66, 7,117,110,105, - 48, 49, 56, 67, 7,117,110,105, 48, 49, 56, 68, 7,117,110,105, 48, 49, 56, 69, 7,117,110,105, 48, 49, 56, 70, 7,117,110,105, - 48, 49, 57, 48, 7,117,110,105, 48, 49, 57, 49, 7,117,110,105, 48, 49, 57, 51, 7,117,110,105, 48, 49, 57, 52, 7,117,110,105, - 48, 49, 57, 53, 7,117,110,105, 48, 49, 57, 54, 7,117,110,105, 48, 49, 57, 55, 7,117,110,105, 48, 49, 57, 56, 7,117,110,105, - 48, 49, 57, 57, 7,117,110,105, 48, 49, 57, 65, 7,117,110,105, 48, 49, 57, 66, 7,117,110,105, 48, 49, 57, 67, 7,117,110,105, - 48, 49, 57, 68, 7,117,110,105, 48, 49, 57, 69, 7,117,110,105, 48, 49, 57, 70, 5, 79,104,111,114,110, 5,111,104,111,114,110, - 7,117,110,105, 48, 49, 65, 50, 7,117,110,105, 48, 49, 65, 51, 7,117,110,105, 48, 49, 65, 52, 7,117,110,105, 48, 49, 65, 53, - 7,117,110,105, 48, 49, 65, 54, 7,117,110,105, 48, 49, 65, 55, 7,117,110,105, 48, 49, 65, 56, 7,117,110,105, 48, 49, 65, 57, - 7,117,110,105, 48, 49, 65, 65, 7,117,110,105, 48, 49, 65, 66, 7,117,110,105, 48, 49, 65, 67, 7,117,110,105, 48, 49, 65, 68, - 7,117,110,105, 48, 49, 65, 69, 5, 85,104,111,114,110, 5,117,104,111,114,110, 7,117,110,105, 48, 49, 66, 49, 7,117,110,105, - 48, 49, 66, 50, 7,117,110,105, 48, 49, 66, 51, 7,117,110,105, 48, 49, 66, 52, 7,117,110,105, 48, 49, 66, 53, 7,117,110,105, - 48, 49, 66, 54, 7,117,110,105, 48, 49, 66, 55, 7,117,110,105, 48, 49, 66, 56, 7,117,110,105, 48, 49, 66, 57, 7,117,110,105, - 48, 49, 66, 65, 7,117,110,105, 48, 49, 66, 66, 7,117,110,105, 48, 49, 66, 67, 7,117,110,105, 48, 49, 66, 68, 7,117,110,105, - 48, 49, 66, 69, 7,117,110,105, 48, 49, 66, 70, 7,117,110,105, 48, 49, 67, 48, 7,117,110,105, 48, 49, 67, 49, 7,117,110,105, - 48, 49, 67, 50, 7,117,110,105, 48, 49, 67, 51, 7,117,110,105, 48, 49, 67, 52, 7,117,110,105, 48, 49, 67, 53, 7,117,110,105, - 48, 49, 67, 54, 7,117,110,105, 48, 49, 67, 55, 7,117,110,105, 48, 49, 67, 56, 7,117,110,105, 48, 49, 67, 57, 7,117,110,105, - 48, 49, 67, 65, 7,117,110,105, 48, 49, 67, 66, 7,117,110,105, 48, 49, 67, 67, 7,117,110,105, 48, 49, 67, 68, 7,117,110,105, - 48, 49, 67, 69, 7,117,110,105, 48, 49, 67, 70, 7,117,110,105, 48, 49, 68, 48, 7,117,110,105, 48, 49, 68, 49, 7,117,110,105, - 48, 49, 68, 50, 7,117,110,105, 48, 49, 68, 51, 7,117,110,105, 48, 49, 68, 52, 7,117,110,105, 48, 49, 68, 53, 7,117,110,105, - 48, 49, 68, 54, 7,117,110,105, 48, 49, 68, 55, 7,117,110,105, 48, 49, 68, 56, 7,117,110,105, 48, 49, 68, 57, 7,117,110,105, - 48, 49, 68, 65, 7,117,110,105, 48, 49, 68, 66, 7,117,110,105, 48, 49, 68, 67, 7,117,110,105, 48, 49, 68, 68, 7,117,110,105, - 48, 49, 68, 69, 7,117,110,105, 48, 49, 68, 70, 7,117,110,105, 48, 49, 69, 48, 7,117,110,105, 48, 49, 69, 49, 7,117,110,105, - 48, 49, 69, 50, 7,117,110,105, 48, 49, 69, 51, 7,117,110,105, 48, 49, 69, 52, 7,117,110,105, 48, 49, 69, 53, 6, 71, 99, 97, -114,111,110, 6,103, 99, 97,114,111,110, 7,117,110,105, 48, 49, 69, 56, 7,117,110,105, 48, 49, 69, 57, 7,117,110,105, 48, 49, - 69, 65, 7,117,110,105, 48, 49, 69, 66, 7,117,110,105, 48, 49, 69, 67, 7,117,110,105, 48, 49, 69, 68, 7,117,110,105, 48, 49, - 69, 69, 7,117,110,105, 48, 49, 69, 70, 7,117,110,105, 48, 49, 70, 48, 7,117,110,105, 48, 49, 70, 49, 7,117,110,105, 48, 49, - 70, 50, 7,117,110,105, 48, 49, 70, 51, 7,117,110,105, 48, 49, 70, 52, 7,117,110,105, 48, 49, 70, 53, 7,117,110,105, 48, 49, - 70, 54, 7,117,110,105, 48, 49, 70, 55, 7,117,110,105, 48, 49, 70, 56, 7,117,110,105, 48, 49, 70, 57, 10, 65,114,105,110,103, - 97, 99,117,116,101, 10, 97,114,105,110,103, 97, 99,117,116,101, 7, 65, 69, 97, 99,117,116,101, 7, 97,101, 97, 99,117,116,101, - 11, 79,115,108, 97,115,104, 97, 99,117,116,101, 11,111,115,108, 97,115,104, 97, 99,117,116,101, 7,117,110,105, 48, 50, 48, 48, - 7,117,110,105, 48, 50, 48, 49, 7,117,110,105, 48, 50, 48, 50, 7,117,110,105, 48, 50, 48, 51, 7,117,110,105, 48, 50, 48, 52, - 7,117,110,105, 48, 50, 48, 53, 7,117,110,105, 48, 50, 48, 54, 7,117,110,105, 48, 50, 48, 55, 7,117,110,105, 48, 50, 48, 56, - 7,117,110,105, 48, 50, 48, 57, 7,117,110,105, 48, 50, 48, 65, 7,117,110,105, 48, 50, 48, 66, 7,117,110,105, 48, 50, 48, 67, - 7,117,110,105, 48, 50, 48, 68, 7,117,110,105, 48, 50, 48, 69, 7,117,110,105, 48, 50, 48, 70, 7,117,110,105, 48, 50, 49, 48, - 7,117,110,105, 48, 50, 49, 49, 7,117,110,105, 48, 50, 49, 50, 7,117,110,105, 48, 50, 49, 51, 7,117,110,105, 48, 50, 49, 52, - 7,117,110,105, 48, 50, 49, 53, 7,117,110,105, 48, 50, 49, 54, 7,117,110,105, 48, 50, 49, 55, 12, 83, 99,111,109,109, 97, 97, - 99, 99,101,110,116, 12,115, 99,111,109,109, 97, 97, 99, 99,101,110,116, 7,117,110,105, 48, 50, 49, 65, 7,117,110,105, 48, 50, - 49, 66, 7,117,110,105, 48, 50, 49, 67, 7,117,110,105, 48, 50, 49, 68, 7,117,110,105, 48, 50, 49, 69, 7,117,110,105, 48, 50, - 49, 70, 7,117,110,105, 48, 50, 50, 48, 7,117,110,105, 48, 50, 50, 49, 7,117,110,105, 48, 50, 50, 50, 7,117,110,105, 48, 50, - 50, 51, 7,117,110,105, 48, 50, 50, 52, 7,117,110,105, 48, 50, 50, 53, 7,117,110,105, 48, 50, 50, 54, 7,117,110,105, 48, 50, - 50, 55, 7,117,110,105, 48, 50, 50, 56, 7,117,110,105, 48, 50, 50, 57, 7,117,110,105, 48, 50, 50, 65, 7,117,110,105, 48, 50, - 50, 66, 7,117,110,105, 48, 50, 50, 67, 7,117,110,105, 48, 50, 50, 68, 7,117,110,105, 48, 50, 50, 69, 7,117,110,105, 48, 50, - 50, 70, 7,117,110,105, 48, 50, 51, 48, 7,117,110,105, 48, 50, 51, 49, 7,117,110,105, 48, 50, 51, 50, 7,117,110,105, 48, 50, - 51, 51, 7,117,110,105, 48, 50, 51, 52, 7,117,110,105, 48, 50, 51, 53, 7,117,110,105, 48, 50, 51, 54, 8,100,111,116,108,101, -115,115,106, 7,117,110,105, 48, 50, 51, 56, 7,117,110,105, 48, 50, 51, 57, 7,117,110,105, 48, 50, 51, 65, 7,117,110,105, 48, - 50, 51, 66, 7,117,110,105, 48, 50, 51, 67, 7,117,110,105, 48, 50, 51, 68, 7,117,110,105, 48, 50, 51, 69, 7,117,110,105, 48, - 50, 51, 70, 7,117,110,105, 48, 50, 52, 48, 7,117,110,105, 48, 50, 52, 49, 7,117,110,105, 48, 50, 53, 57, 7,117,110,105, 48, - 50, 54, 50, 7,117,110,105, 48, 50, 55, 48, 7,117,110,105, 48, 50, 55, 53, 7,117,110,105, 48, 50, 57, 50, 7,117,110,105, 48, - 50, 66, 48, 7,117,110,105, 48, 50, 66, 49, 7,117,110,105, 48, 50, 66, 50, 7,117,110,105, 48, 50, 66, 51, 7,117,110,105, 48, - 50, 66, 52, 7,117,110,105, 48, 50, 66, 53, 7,117,110,105, 48, 50, 66, 54, 7,117,110,105, 48, 50, 66, 55, 7,117,110,105, 48, - 50, 66, 56, 7,117,110,105, 48, 50, 66, 57, 7,117,110,105, 48, 50, 66, 65, 7,117,110,105, 48, 50, 66, 66, 9, 97,102,105,105, - 53, 55, 57, 50, 57, 9, 97,102,105,105, 54, 52, 57, 51, 55, 7,117,110,105, 48, 50, 66, 69, 7,117,110,105, 48, 50, 66, 70, 7, -117,110,105, 48, 50, 67, 48, 7,117,110,105, 48, 50, 67, 49, 7,117,110,105, 48, 50, 67, 50, 7,117,110,105, 48, 50, 67, 51, 7, -117,110,105, 48, 50, 67, 52, 7,117,110,105, 48, 50, 67, 53, 7,117,110,105, 48, 50, 67, 56, 7,117,110,105, 48, 50, 67, 57, 7, -117,110,105, 48, 50, 67, 65, 7,117,110,105, 48, 50, 67, 66, 7,117,110,105, 48, 50, 67, 67, 7,117,110,105, 48, 50, 67, 68, 7, -117,110,105, 48, 50, 67, 69, 7,117,110,105, 48, 50, 67, 70, 7,117,110,105, 48, 50, 68, 48, 7,117,110,105, 48, 50, 68, 49, 7, -117,110,105, 48, 50, 68, 50, 7,117,110,105, 48, 50, 68, 51, 7,117,110,105, 48, 50, 68, 52, 7,117,110,105, 48, 50, 68, 53, 7, -117,110,105, 48, 50, 68, 54, 7,117,110,105, 48, 50, 68, 55, 7,117,110,105, 48, 50, 68, 69, 7,117,110,105, 48, 50, 68, 70, 7, -117,110,105, 48, 50, 69, 48, 7,117,110,105, 48, 50, 69, 49, 7,117,110,105, 48, 50, 69, 50, 7,117,110,105, 48, 50, 69, 51, 7, -117,110,105, 48, 50, 69, 52, 7,117,110,105, 48, 50, 69, 53, 7,117,110,105, 48, 50, 69, 54, 7,117,110,105, 48, 50, 69, 55, 7, -117,110,105, 48, 50, 69, 56, 7,117,110,105, 48, 50, 69, 57, 7,117,110,105, 48, 50, 69, 67, 7,117,110,105, 48, 50, 69, 68, 7, -117,110,105, 48, 50, 69, 69, 7,117,110,105, 48, 50, 70, 51, 7,117,110,105, 48, 50, 70, 55, 9,103,114, 97,118,101, 99,111,109, - 98, 9, 97, 99,117,116,101, 99,111,109, 98, 7,117,110,105, 48, 51, 48, 50, 9,116,105,108,100,101, 99,111,109, 98, 7,117,110, -105, 48, 51, 48, 52, 7,117,110,105, 48, 51, 48, 53, 7,117,110,105, 48, 51, 48, 54, 7,117,110,105, 48, 51, 48, 55, 7,117,110, -105, 48, 51, 48, 56, 13,104,111,111,107, 97, 98,111,118,101, 99,111,109, 98, 7,117,110,105, 48, 51, 48, 65, 7,117,110,105, 48, - 51, 48, 66, 7,117,110,105, 48, 51, 48, 67, 7,117,110,105, 48, 51, 48, 68, 7,117,110,105, 48, 51, 48, 69, 7,117,110,105, 48, - 51, 48, 70, 7,117,110,105, 48, 51, 49, 48, 7,117,110,105, 48, 51, 49, 49, 7,117,110,105, 48, 51, 49, 50, 7,117,110,105, 48, - 51, 49, 51, 7,117,110,105, 48, 51, 49, 52, 7,117,110,105, 48, 51, 49, 53, 7,117,110,105, 48, 51, 49, 54, 7,117,110,105, 48, - 51, 49, 55, 7,117,110,105, 48, 51, 49, 56, 7,117,110,105, 48, 51, 49, 57, 7,117,110,105, 48, 51, 49, 65, 7,117,110,105, 48, - 51, 49, 66, 7,117,110,105, 48, 51, 49, 67, 7,117,110,105, 48, 51, 49, 68, 7,117,110,105, 48, 51, 49, 69, 7,117,110,105, 48, - 51, 49, 70, 7,117,110,105, 48, 51, 50, 48, 7,117,110,105, 48, 51, 50, 49, 7,117,110,105, 48, 51, 50, 50, 12,100,111,116, 98, -101,108,111,119, 99,111,109, 98, 7,117,110,105, 48, 51, 50, 52, 7,117,110,105, 48, 51, 50, 53, 7,117,110,105, 48, 51, 50, 54, - 7,117,110,105, 48, 51, 50, 55, 7,117,110,105, 48, 51, 50, 56, 7,117,110,105, 48, 51, 50, 57, 7,117,110,105, 48, 51, 50, 65, - 7,117,110,105, 48, 51, 50, 66, 7,117,110,105, 48, 51, 50, 67, 7,117,110,105, 48, 51, 50, 68, 7,117,110,105, 48, 51, 50, 69, - 7,117,110,105, 48, 51, 50, 70, 7,117,110,105, 48, 51, 51, 48, 7,117,110,105, 48, 51, 51, 49, 7,117,110,105, 48, 51, 51, 50, - 7,117,110,105, 48, 51, 51, 51, 7,117,110,105, 48, 51, 51, 52, 7,117,110,105, 48, 51, 51, 53, 7,117,110,105, 48, 51, 51, 54, - 7,117,110,105, 48, 51, 51, 55, 7,117,110,105, 48, 51, 51, 56, 7,117,110,105, 48, 51, 51, 57, 7,117,110,105, 48, 51, 51, 65, - 7,117,110,105, 48, 51, 51, 66, 7,117,110,105, 48, 51, 51, 67, 7,117,110,105, 48, 51, 51, 68, 7,117,110,105, 48, 51, 51, 69, - 7,117,110,105, 48, 51, 51, 70, 7,117,110,105, 48, 51, 52, 48, 7,117,110,105, 48, 51, 52, 49, 7,117,110,105, 48, 51, 52, 50, - 7,117,110,105, 48, 51, 52, 51, 7,117,110,105, 48, 51, 52, 52, 7,117,110,105, 48, 51, 52, 53, 7,117,110,105, 48, 51, 52, 54, - 7,117,110,105, 48, 51, 52, 55, 7,117,110,105, 48, 51, 52, 56, 7,117,110,105, 48, 51, 52, 57, 7,117,110,105, 48, 51, 52, 65, - 7,117,110,105, 48, 51, 52, 66, 7,117,110,105, 48, 51, 52, 67, 7,117,110,105, 48, 51, 52, 68, 7,117,110,105, 48, 51, 52, 69, - 7,117,110,105, 48, 51, 53, 49, 7,117,110,105, 48, 51, 53, 50, 7,117,110,105, 48, 51, 53, 51, 7,117,110,105, 48, 51, 53, 55, - 7,117,110,105, 48, 51, 53, 56, 7,117,110,105, 48, 51, 53, 67, 7,117,110,105, 48, 51, 53, 68, 7,117,110,105, 48, 51, 54, 48, - 7,117,110,105, 48, 51, 54, 49, 7,117,110,105, 48, 51, 54, 50, 7,117,110,105, 48, 51, 55, 52, 7,117,110,105, 48, 51, 55, 53, - 7,117,110,105, 48, 51, 55, 65, 7,117,110,105, 48, 51, 55, 69, 5,116,111,110,111,115, 13,100,105,101,114,101,115,105,115,116, -111,110,111,115, 10, 65,108,112,104, 97,116,111,110,111,115, 9, 97,110,111,116,101,108,101,105, 97, 12, 69,112,115,105,108,111, -110,116,111,110,111,115, 8, 69,116, 97,116,111,110,111,115, 9, 73,111,116, 97,116,111,110,111,115, 12, 79,109,105, 99,114,111, -110,116,111,110,111,115, 12, 85,112,115,105,108,111,110,116,111,110,111,115, 10, 79,109,101,103, 97,116,111,110,111,115, 17,105, -111,116, 97,100,105,101,114,101,115,105,115,116,111,110,111,115, 5, 65,108,112,104, 97, 4, 66,101,116, 97, 5, 71, 97,109,109, - 97, 7,117,110,105, 48, 51, 57, 52, 7, 69,112,115,105,108,111,110, 4, 90,101,116, 97, 3, 69,116, 97, 5, 84,104,101,116, 97, - 4, 73,111,116, 97, 5, 75, 97,112,112, 97, 6, 76, 97,109, 98,100, 97, 2, 77,117, 2, 78,117, 2, 88,105, 7, 79,109,105, 99, -114,111,110, 2, 80,105, 3, 82,104,111, 5, 83,105,103,109, 97, 3, 84, 97,117, 7, 85,112,115,105,108,111,110, 3, 80,104,105, - 3, 67,104,105, 3, 80,115,105, 12, 73,111,116, 97,100,105,101,114,101,115,105,115, 15, 85,112,115,105,108,111,110,100,105,101, -114,101,115,105,115, 10, 97,108,112,104, 97,116,111,110,111,115, 12,101,112,115,105,108,111,110,116,111,110,111,115, 8,101,116, - 97,116,111,110,111,115, 9,105,111,116, 97,116,111,110,111,115, 20,117,112,115,105,108,111,110,100,105,101,114,101,115,105,115, -116,111,110,111,115, 5, 97,108,112,104, 97, 4, 98,101,116, 97, 5,103, 97,109,109, 97, 5,100,101,108,116, 97, 7,101,112,115, -105,108,111,110, 4,122,101,116, 97, 3,101,116, 97, 5,116,104,101,116, 97, 4,105,111,116, 97, 5,107, 97,112,112, 97, 6,108, - 97,109, 98,100, 97, 7,117,110,105, 48, 51, 66, 67, 2,110,117, 2,120,105, 7,111,109,105, 99,114,111,110, 3,114,104,111, 6, -115,105,103,109, 97, 49, 5,115,105,103,109, 97, 3,116, 97,117, 7,117,112,115,105,108,111,110, 3,112,104,105, 3, 99,104,105, - 3,112,115,105, 5,111,109,101,103, 97, 12,105,111,116, 97,100,105,101,114,101,115,105,115, 15,117,112,115,105,108,111,110,100, -105,101,114,101,115,105,115, 12,111,109,105, 99,114,111,110,116,111,110,111,115, 12,117,112,115,105,108,111,110,116,111,110,111, -115, 10,111,109,101,103, 97,116,111,110,111,115, 7,117,110,105, 48, 51, 68, 48, 6,116,104,101,116, 97, 49, 8, 85,112,115,105, -108,111,110, 49, 7,117,110,105, 48, 51, 68, 51, 7,117,110,105, 48, 51, 68, 52, 4,112,104,105, 49, 6,111,109,101,103, 97, 49, - 7,117,110,105, 48, 51, 68, 55, 7,117,110,105, 48, 51, 68, 56, 7,117,110,105, 48, 51, 68, 57, 7,117,110,105, 48, 51, 68, 65, - 7,117,110,105, 48, 51, 68, 66, 7,117,110,105, 48, 51, 68, 67, 7,117,110,105, 48, 51, 68, 68, 7,117,110,105, 48, 51, 68, 69, - 7,117,110,105, 48, 51, 68, 70, 7,117,110,105, 48, 51, 69, 48, 7,117,110,105, 48, 51, 69, 49, 7,117,110,105, 48, 51, 69, 50, - 7,117,110,105, 48, 51, 69, 51, 7,117,110,105, 48, 51, 69, 52, 7,117,110,105, 48, 51, 69, 53, 7,117,110,105, 48, 51, 69, 54, - 7,117,110,105, 48, 51, 69, 55, 7,117,110,105, 48, 51, 69, 56, 7,117,110,105, 48, 51, 69, 57, 7,117,110,105, 48, 51, 69, 65, - 7,117,110,105, 48, 51, 69, 66, 7,117,110,105, 48, 51, 69, 67, 7,117,110,105, 48, 51, 69, 68, 7,117,110,105, 48, 51, 69, 69, - 7,117,110,105, 48, 51, 69, 70, 7,117,110,105, 48, 51, 70, 48, 7,117,110,105, 48, 51, 70, 49, 7,117,110,105, 48, 51, 70, 50, - 7,117,110,105, 48, 51, 70, 51, 7,117,110,105, 48, 51, 70, 52, 7,117,110,105, 48, 51, 70, 53, 7,117,110,105, 48, 51, 70, 54, - 7,117,110,105, 48, 51, 70, 55, 7,117,110,105, 48, 51, 70, 56, 7,117,110,105, 48, 51, 70, 57, 7,117,110,105, 48, 51, 70, 65, - 7,117,110,105, 48, 51, 70, 66, 7,117,110,105, 48, 51, 70, 67, 7,117,110,105, 48, 51, 70, 68, 7,117,110,105, 48, 51, 70, 69, - 7,117,110,105, 48, 51, 70, 70, 7,117,110,105, 48, 52, 48, 48, 9, 97,102,105,105, 49, 48, 48, 50, 51, 9, 97,102,105,105, 49, - 48, 48, 53, 49, 9, 97,102,105,105, 49, 48, 48, 53, 50, 9, 97,102,105,105, 49, 48, 48, 53, 51, 9, 97,102,105,105, 49, 48, 48, - 53, 52, 9, 97,102,105,105, 49, 48, 48, 53, 53, 9, 97,102,105,105, 49, 48, 48, 53, 54, 9, 97,102,105,105, 49, 48, 48, 53, 55, - 9, 97,102,105,105, 49, 48, 48, 53, 56, 9, 97,102,105,105, 49, 48, 48, 53, 57, 9, 97,102,105,105, 49, 48, 48, 54, 48, 9, 97, -102,105,105, 49, 48, 48, 54, 49, 7,117,110,105, 48, 52, 48, 68, 9, 97,102,105,105, 49, 48, 48, 54, 50, 9, 97,102,105,105, 49, - 48, 49, 52, 53, 9, 97,102,105,105, 49, 48, 48, 49, 55, 9, 97,102,105,105, 49, 48, 48, 49, 56, 9, 97,102,105,105, 49, 48, 48, - 49, 57, 9, 97,102,105,105, 49, 48, 48, 50, 48, 9, 97,102,105,105, 49, 48, 48, 50, 49, 9, 97,102,105,105, 49, 48, 48, 50, 50, - 9, 97,102,105,105, 49, 48, 48, 50, 52, 9, 97,102,105,105, 49, 48, 48, 50, 53, 9, 97,102,105,105, 49, 48, 48, 50, 54, 9, 97, -102,105,105, 49, 48, 48, 50, 55, 9, 97,102,105,105, 49, 48, 48, 50, 56, 9, 97,102,105,105, 49, 48, 48, 50, 57, 9, 97,102,105, -105, 49, 48, 48, 51, 48, 9, 97,102,105,105, 49, 48, 48, 51, 49, 9, 97,102,105,105, 49, 48, 48, 51, 50, 9, 97,102,105,105, 49, - 48, 48, 51, 51, 9, 97,102,105,105, 49, 48, 48, 51, 52, 9, 97,102,105,105, 49, 48, 48, 51, 53, 9, 97,102,105,105, 49, 48, 48, - 51, 54, 9, 97,102,105,105, 49, 48, 48, 51, 55, 9, 97,102,105,105, 49, 48, 48, 51, 56, 9, 97,102,105,105, 49, 48, 48, 51, 57, - 9, 97,102,105,105, 49, 48, 48, 52, 48, 9, 97,102,105,105, 49, 48, 48, 52, 49, 9, 97,102,105,105, 49, 48, 48, 52, 50, 9, 97, -102,105,105, 49, 48, 48, 52, 51, 9, 97,102,105,105, 49, 48, 48, 52, 52, 9, 97,102,105,105, 49, 48, 48, 52, 53, 9, 97,102,105, -105, 49, 48, 48, 52, 54, 9, 97,102,105,105, 49, 48, 48, 52, 55, 9, 97,102,105,105, 49, 48, 48, 52, 56, 9, 97,102,105,105, 49, - 48, 48, 52, 57, 9, 97,102,105,105, 49, 48, 48, 54, 53, 9, 97,102,105,105, 49, 48, 48, 54, 54, 9, 97,102,105,105, 49, 48, 48, - 54, 55, 9, 97,102,105,105, 49, 48, 48, 54, 56, 9, 97,102,105,105, 49, 48, 48, 54, 57, 9, 97,102,105,105, 49, 48, 48, 55, 48, - 9, 97,102,105,105, 49, 48, 48, 55, 50, 9, 97,102,105,105, 49, 48, 48, 55, 51, 9, 97,102,105,105, 49, 48, 48, 55, 52, 9, 97, -102,105,105, 49, 48, 48, 55, 53, 9, 97,102,105,105, 49, 48, 48, 55, 54, 9, 97,102,105,105, 49, 48, 48, 55, 55, 9, 97,102,105, -105, 49, 48, 48, 55, 56, 9, 97,102,105,105, 49, 48, 48, 55, 57, 9, 97,102,105,105, 49, 48, 48, 56, 48, 9, 97,102,105,105, 49, - 48, 48, 56, 49, 9, 97,102,105,105, 49, 48, 48, 56, 50, 9, 97,102,105,105, 49, 48, 48, 56, 51, 9, 97,102,105,105, 49, 48, 48, - 56, 52, 9, 97,102,105,105, 49, 48, 48, 56, 53, 9, 97,102,105,105, 49, 48, 48, 56, 54, 9, 97,102,105,105, 49, 48, 48, 56, 55, - 9, 97,102,105,105, 49, 48, 48, 56, 56, 9, 97,102,105,105, 49, 48, 48, 56, 57, 9, 97,102,105,105, 49, 48, 48, 57, 48, 9, 97, -102,105,105, 49, 48, 48, 57, 49, 9, 97,102,105,105, 49, 48, 48, 57, 50, 9, 97,102,105,105, 49, 48, 48, 57, 51, 9, 97,102,105, -105, 49, 48, 48, 57, 52, 9, 97,102,105,105, 49, 48, 48, 57, 53, 9, 97,102,105,105, 49, 48, 48, 57, 54, 9, 97,102,105,105, 49, - 48, 48, 57, 55, 7,117,110,105, 48, 52, 53, 48, 9, 97,102,105,105, 49, 48, 48, 55, 49, 9, 97,102,105,105, 49, 48, 48, 57, 57, + 2,252, 2,253, 2,254, 2,255, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, 3, 11, + 3, 12, 3, 13, 3, 14, 3, 15, 3, 16, 3, 17, 3, 18, 3, 19, 3, 20, 3, 21, 3, 22, 3, 23, 3, 24, 3, 25, 3, 26, 3, 27, + 3, 28, 3, 29, 3, 30, 3, 31, 3, 32, 3, 33, 3, 34, 3, 35, 3, 36, 3, 37, 3, 38, 3, 39, 3, 40, 3, 41, 3, 42, 3, 43, + 3, 44, 3, 45, 3, 46, 3, 47, 3, 48, 3, 49, 3, 50, 3, 51, 3, 52, 3, 53, 3, 54, 3, 55, 3, 56, 3, 57, 3, 58, 3, 59, + 3, 60, 3, 61, 3, 62, 3, 63, 3, 64, 3, 65, 3, 66, 3, 67, 3, 68, 3, 69, 3, 70, 3, 71, 3, 72, 3, 73, 3, 74, 3, 75, + 3, 76, 3, 77, 3, 78, 3, 79, 3, 80, 3, 81, 3, 82, 3, 83, 3, 84, 3, 85, 3, 86, 3, 87, 3, 88, 3, 89, 3, 90, 3, 91, + 3, 92, 3, 93, 3, 94, 3, 95, 3, 96, 3, 97, 3, 98, 3, 99, 3,100, 3,101, 3,102, 3,103, 3,104, 3,105, 3,106, 3,107, + 3,108, 3,109, 3,110, 3,111, 3,112, 3,113, 3,114, 3,115, 3,116, 3,117, 3,118, 3,119, 3,120, 3,121, 3,122, 3,123, + 3,124, 3,125, 3,126, 3,127, 3,128, 3,129, 3,130, 3,131, 3,132, 3,133, 3,134, 3,135, 3,136, 3,137, 3,138, 5, 46, +110,117,108,108, 7,117,110,105, 48, 48, 65, 68, 9,111,118,101,114,115, 99,111,114,101, 14,112,101,114,105,111,100, 99,101,110, +116,101,114,101,100, 7, 65,109, 97, 99,114,111,110, 7, 97,109, 97, 99,114,111,110, 6, 65, 98,114,101,118,101, 6, 97, 98,114, +101,118,101, 7, 65,111,103,111,110,101,107, 7, 97,111,103,111,110,101,107, 11, 67, 99,105,114, 99,117,109,102,108,101,120, 11, + 99, 99,105,114, 99,117,109,102,108,101,120, 4, 67,100,111,116, 4, 99,100,111,116, 6, 68, 99, 97,114,111,110, 6,100, 99, 97, +114,111,110, 6, 68, 99,114,111, 97,116, 6,100, 99,114,111, 97,116, 7, 69,109, 97, 99,114,111,110, 7,101,109, 97, 99,114,111, +110, 6, 69, 98,114,101,118,101, 6,101, 98,114,101,118,101, 10, 69,100,111,116, 97, 99, 99,101,110,116, 10,101,100,111,116, 97, + 99, 99,101,110,116, 7, 69,111,103,111,110,101,107, 7,101,111,103,111,110,101,107, 6, 69, 99, 97,114,111,110, 6,101, 99, 97, +114,111,110, 11, 71, 99,105,114, 99,117,109,102,108,101,120, 11,103, 99,105,114, 99,117,109,102,108,101,120, 4, 71,100,111,116, + 4,103,100,111,116, 12, 71, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,103, 99,111,109,109, 97, 97, 99, 99,101,110,116, 11, + 72, 99,105,114, 99,117,109,102,108,101,120, 11,104, 99,105,114, 99,117,109,102,108,101,120, 4, 72, 98, 97,114, 4,104, 98, 97, +114, 6, 73,116,105,108,100,101, 6,105,116,105,108,100,101, 7, 73,109, 97, 99,114,111,110, 7,105,109, 97, 99,114,111,110, 6, + 73, 98,114,101,118,101, 6,105, 98,114,101,118,101, 7, 73,111,103,111,110,101,107, 7,105,111,103,111,110,101,107, 10, 73,100, +111,116, 97, 99, 99,101,110,116, 2, 73, 74, 2,105,106, 11, 74, 99,105,114, 99,117,109,102,108,101,120, 11,106, 99,105,114, 99, +117,109,102,108,101,120, 12, 75, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,107, 99,111,109,109, 97, 97, 99, 99,101,110,116, + 12,107,103,114,101,101,110,108, 97,110,100,105, 99, 6, 76, 97, 99,117,116,101, 6,108, 97, 99,117,116,101, 12, 76, 99,111,109, +109, 97, 97, 99, 99,101,110,116, 12,108, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 76, 99, 97,114,111,110, 6,108, 99, 97, +114,111,110, 4, 76,100,111,116, 4,108,100,111,116, 6, 78, 97, 99,117,116,101, 6,110, 97, 99,117,116,101, 12, 78, 99,111,109, +109, 97, 97, 99, 99,101,110,116, 12,110, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 78, 99, 97,114,111,110, 6,110, 99, 97, +114,111,110, 11,110, 97,112,111,115,116,114,111,112,104,101, 3, 69,110,103, 3,101,110,103, 7, 79,109, 97, 99,114,111,110, 7, +111,109, 97, 99,114,111,110, 6, 79, 98,114,101,118,101, 6,111, 98,114,101,118,101, 13, 79,104,117,110,103, 97,114,117,109,108, + 97,117,116, 13,111,104,117,110,103, 97,114,117,109,108, 97,117,116, 6, 82, 97, 99,117,116,101, 6,114, 97, 99,117,116,101, 12, + 82, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,114, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 82, 99, 97,114,111,110, + 6,114, 99, 97,114,111,110, 6, 83, 97, 99,117,116,101, 6,115, 97, 99,117,116,101, 11, 83, 99,105,114, 99,117,109,102,108,101, +120, 11,115, 99,105,114, 99,117,109,102,108,101,120, 12, 84, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,116, 99,111,109,109, + 97, 97, 99, 99,101,110,116, 6, 84, 99, 97,114,111,110, 6,116, 99, 97,114,111,110, 4, 84, 98, 97,114, 4,116, 98, 97,114, 6, + 85,116,105,108,100,101, 6,117,116,105,108,100,101, 7, 85,109, 97, 99,114,111,110, 7,117,109, 97, 99,114,111,110, 6, 85, 98, +114,101,118,101, 6,117, 98,114,101,118,101, 5, 85,114,105,110,103, 5,117,114,105,110,103, 13, 85,104,117,110,103, 97,114,117, +109,108, 97,117,116, 13,117,104,117,110,103, 97,114,117,109,108, 97,117,116, 7, 85,111,103,111,110,101,107, 7,117,111,103,111, +110,101,107, 11, 87, 99,105,114, 99,117,109,102,108,101,120, 11,119, 99,105,114, 99,117,109,102,108,101,120, 11, 89, 99,105,114, + 99,117,109,102,108,101,120, 11,121, 99,105,114, 99,117,109,102,108,101,120, 6, 90, 97, 99,117,116,101, 6,122, 97, 99,117,116, +101, 10, 90,100,111,116, 97, 99, 99,101,110,116, 10,122,100,111,116, 97, 99, 99,101,110,116, 5,108,111,110,103,115, 10, 65,114, +105,110,103, 97, 99,117,116,101, 10, 97,114,105,110,103, 97, 99,117,116,101, 7, 65, 69, 97, 99,117,116,101, 7, 97,101, 97, 99, +117,116,101, 11, 79,115,108, 97,115,104, 97, 99,117,116,101, 11,111,115,108, 97,115,104, 97, 99,117,116,101, 12, 83, 99,111,109, +109, 97, 97, 99, 99,101,110,116, 12,115, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6,109, 97, 99,114,111,110, 5,116,111,110, +111,115, 13,100,105,101,114,101,115,105,115,116,111,110,111,115, 10, 65,108,112,104, 97,116,111,110,111,115, 9, 97,110,111,116, +101,108,101,105, 97, 12, 69,112,115,105,108,111,110,116,111,110,111,115, 8, 69,116, 97,116,111,110,111,115, 9, 73,111,116, 97, +116,111,110,111,115, 12, 79,109,105, 99,114,111,110,116,111,110,111,115, 12, 85,112,115,105,108,111,110,116,111,110,111,115, 10, + 79,109,101,103, 97,116,111,110,111,115, 17,105,111,116, 97,100,105,101,114,101,115,105,115,116,111,110,111,115, 5, 65,108,112, +104, 97, 4, 66,101,116, 97, 5, 71, 97,109,109, 97, 7,117,110,105, 48, 51, 57, 52, 7, 69,112,115,105,108,111,110, 4, 90,101, +116, 97, 3, 69,116, 97, 5, 84,104,101,116, 97, 4, 73,111,116, 97, 5, 75, 97,112,112, 97, 6, 76, 97,109, 98,100, 97, 2, 77, +117, 2, 78,117, 2, 88,105, 7, 79,109,105, 99,114,111,110, 2, 80,105, 3, 82,104,111, 5, 83,105,103,109, 97, 3, 84, 97,117, + 7, 85,112,115,105,108,111,110, 3, 80,104,105, 3, 67,104,105, 3, 80,115,105, 7,117,110,105, 48, 51, 65, 57, 12, 73,111,116, + 97,100,105,101,114,101,115,105,115, 15, 85,112,115,105,108,111,110,100,105,101,114,101,115,105,115, 10, 97,108,112,104, 97,116, +111,110,111,115, 12,101,112,115,105,108,111,110,116,111,110,111,115, 8,101,116, 97,116,111,110,111,115, 9,105,111,116, 97,116, +111,110,111,115, 20,117,112,115,105,108,111,110,100,105,101,114,101,115,105,115,116,111,110,111,115, 5, 97,108,112,104, 97, 4, + 98,101,116, 97, 5,103, 97,109,109, 97, 5,100,101,108,116, 97, 7,101,112,115,105,108,111,110, 4,122,101,116, 97, 3,101,116, + 97, 5,116,104,101,116, 97, 4,105,111,116, 97, 5,107, 97,112,112, 97, 6,108, 97,109, 98,100, 97, 7,117,110,105, 48, 51, 66, + 67, 2,110,117, 2,120,105, 7,111,109,105, 99,114,111,110, 3,114,104,111, 6,115,105,103,109, 97, 49, 5,115,105,103,109, 97, + 3,116, 97,117, 7,117,112,115,105,108,111,110, 3,112,104,105, 3, 99,104,105, 3,112,115,105, 5,111,109,101,103, 97, 12,105, +111,116, 97,100,105,101,114,101,115,105,115, 15,117,112,115,105,108,111,110,100,105,101,114,101,115,105,115, 12,111,109,105, 99, +114,111,110,116,111,110,111,115, 12,117,112,115,105,108,111,110,116,111,110,111,115, 10,111,109,101,103, 97,116,111,110,111,115, + 9, 97,102,105,105, 49, 48, 48, 50, 51, 9, 97,102,105,105, 49, 48, 48, 53, 49, 9, 97,102,105,105, 49, 48, 48, 53, 50, 9, 97, +102,105,105, 49, 48, 48, 53, 51, 9, 97,102,105,105, 49, 48, 48, 53, 52, 9, 97,102,105,105, 49, 48, 48, 53, 53, 9, 97,102,105, +105, 49, 48, 48, 53, 54, 9, 97,102,105,105, 49, 48, 48, 53, 55, 9, 97,102,105,105, 49, 48, 48, 53, 56, 9, 97,102,105,105, 49, + 48, 48, 53, 57, 9, 97,102,105,105, 49, 48, 48, 54, 48, 9, 97,102,105,105, 49, 48, 48, 54, 49, 9, 97,102,105,105, 49, 48, 48, + 54, 50, 9, 97,102,105,105, 49, 48, 49, 52, 53, 9, 97,102,105,105, 49, 48, 48, 49, 55, 9, 97,102,105,105, 49, 48, 48, 49, 56, + 9, 97,102,105,105, 49, 48, 48, 49, 57, 9, 97,102,105,105, 49, 48, 48, 50, 48, 9, 97,102,105,105, 49, 48, 48, 50, 49, 9, 97, +102,105,105, 49, 48, 48, 50, 50, 9, 97,102,105,105, 49, 48, 48, 50, 52, 9, 97,102,105,105, 49, 48, 48, 50, 53, 9, 97,102,105, +105, 49, 48, 48, 50, 54, 9, 97,102,105,105, 49, 48, 48, 50, 55, 9, 97,102,105,105, 49, 48, 48, 50, 56, 9, 97,102,105,105, 49, + 48, 48, 50, 57, 9, 97,102,105,105, 49, 48, 48, 51, 48, 9, 97,102,105,105, 49, 48, 48, 51, 49, 9, 97,102,105,105, 49, 48, 48, + 51, 50, 9, 97,102,105,105, 49, 48, 48, 51, 51, 9, 97,102,105,105, 49, 48, 48, 51, 52, 9, 97,102,105,105, 49, 48, 48, 51, 53, + 9, 97,102,105,105, 49, 48, 48, 51, 54, 9, 97,102,105,105, 49, 48, 48, 51, 55, 9, 97,102,105,105, 49, 48, 48, 51, 56, 9, 97, +102,105,105, 49, 48, 48, 51, 57, 9, 97,102,105,105, 49, 48, 48, 52, 48, 9, 97,102,105,105, 49, 48, 48, 52, 49, 9, 97,102,105, +105, 49, 48, 48, 52, 50, 9, 97,102,105,105, 49, 48, 48, 52, 51, 9, 97,102,105,105, 49, 48, 48, 52, 52, 9, 97,102,105,105, 49, + 48, 48, 52, 53, 9, 97,102,105,105, 49, 48, 48, 52, 54, 9, 97,102,105,105, 49, 48, 48, 52, 55, 9, 97,102,105,105, 49, 48, 48, + 52, 56, 9, 97,102,105,105, 49, 48, 48, 52, 57, 9, 97,102,105,105, 49, 48, 48, 54, 53, 9, 97,102,105,105, 49, 48, 48, 54, 54, + 9, 97,102,105,105, 49, 48, 48, 54, 55, 9, 97,102,105,105, 49, 48, 48, 54, 56, 9, 97,102,105,105, 49, 48, 48, 54, 57, 9, 97, +102,105,105, 49, 48, 48, 55, 48, 9, 97,102,105,105, 49, 48, 48, 55, 50, 9, 97,102,105,105, 49, 48, 48, 55, 51, 9, 97,102,105, +105, 49, 48, 48, 55, 52, 9, 97,102,105,105, 49, 48, 48, 55, 53, 9, 97,102,105,105, 49, 48, 48, 55, 54, 9, 97,102,105,105, 49, + 48, 48, 55, 55, 9, 97,102,105,105, 49, 48, 48, 55, 56, 9, 97,102,105,105, 49, 48, 48, 55, 57, 9, 97,102,105,105, 49, 48, 48, + 56, 48, 9, 97,102,105,105, 49, 48, 48, 56, 49, 9, 97,102,105,105, 49, 48, 48, 56, 50, 9, 97,102,105,105, 49, 48, 48, 56, 51, + 9, 97,102,105,105, 49, 48, 48, 56, 52, 9, 97,102,105,105, 49, 48, 48, 56, 53, 9, 97,102,105,105, 49, 48, 48, 56, 54, 9, 97, +102,105,105, 49, 48, 48, 56, 55, 9, 97,102,105,105, 49, 48, 48, 56, 56, 9, 97,102,105,105, 49, 48, 48, 56, 57, 9, 97,102,105, +105, 49, 48, 48, 57, 48, 9, 97,102,105,105, 49, 48, 48, 57, 49, 9, 97,102,105,105, 49, 48, 48, 57, 50, 9, 97,102,105,105, 49, + 48, 48, 57, 51, 9, 97,102,105,105, 49, 48, 48, 57, 52, 9, 97,102,105,105, 49, 48, 48, 57, 53, 9, 97,102,105,105, 49, 48, 48, + 57, 54, 9, 97,102,105,105, 49, 48, 48, 57, 55, 9, 97,102,105,105, 49, 48, 48, 55, 49, 9, 97,102,105,105, 49, 48, 48, 57, 57, 9, 97,102,105,105, 49, 48, 49, 48, 48, 9, 97,102,105,105, 49, 48, 49, 48, 49, 9, 97,102,105,105, 49, 48, 49, 48, 50, 9, 97, 102,105,105, 49, 48, 49, 48, 51, 9, 97,102,105,105, 49, 48, 49, 48, 52, 9, 97,102,105,105, 49, 48, 49, 48, 53, 9, 97,102,105, 105, 49, 48, 49, 48, 54, 9, 97,102,105,105, 49, 48, 49, 48, 55, 9, 97,102,105,105, 49, 48, 49, 48, 56, 9, 97,102,105,105, 49, - 48, 49, 48, 57, 7,117,110,105, 48, 52, 53, 68, 9, 97,102,105,105, 49, 48, 49, 49, 48, 9, 97,102,105,105, 49, 48, 49, 57, 51, - 7,117,110,105, 48, 52, 54, 48, 7,117,110,105, 48, 52, 54, 49, 9, 97,102,105,105, 49, 48, 49, 52, 54, 9, 97,102,105,105, 49, - 48, 49, 57, 52, 7,117,110,105, 48, 52, 54, 52, 7,117,110,105, 48, 52, 54, 53, 7,117,110,105, 48, 52, 54, 54, 7,117,110,105, - 48, 52, 54, 55, 7,117,110,105, 48, 52, 54, 56, 7,117,110,105, 48, 52, 54, 57, 7,117,110,105, 48, 52, 54, 65, 7,117,110,105, - 48, 52, 54, 66, 7,117,110,105, 48, 52, 54, 67, 7,117,110,105, 48, 52, 54, 68, 7,117,110,105, 48, 52, 54, 69, 7,117,110,105, - 48, 52, 54, 70, 7,117,110,105, 48, 52, 55, 48, 7,117,110,105, 48, 52, 55, 49, 9, 97,102,105,105, 49, 48, 49, 52, 55, 9, 97, -102,105,105, 49, 48, 49, 57, 53, 9, 97,102,105,105, 49, 48, 49, 52, 56, 9, 97,102,105,105, 49, 48, 49, 57, 54, 7,117,110,105, - 48, 52, 55, 54, 7,117,110,105, 48, 52, 55, 55, 7,117,110,105, 48, 52, 55, 56, 7,117,110,105, 48, 52, 55, 57, 7,117,110,105, - 48, 52, 55, 65, 7,117,110,105, 48, 52, 55, 66, 7,117,110,105, 48, 52, 55, 67, 7,117,110,105, 48, 52, 55, 68, 7,117,110,105, - 48, 52, 55, 69, 7,117,110,105, 48, 52, 55, 70, 7,117,110,105, 48, 52, 56, 48, 7,117,110,105, 48, 52, 56, 49, 7,117,110,105, - 48, 52, 56, 50, 7,117,110,105, 48, 52, 56, 51, 7,117,110,105, 48, 52, 56, 52, 7,117,110,105, 48, 52, 56, 53, 7,117,110,105, - 48, 52, 56, 54, 7,117,110,105, 48, 52, 56, 56, 7,117,110,105, 48, 52, 56, 57, 7,117,110,105, 48, 52, 56, 65, 7,117,110,105, - 48, 52, 56, 66, 7,117,110,105, 48, 52, 56, 67, 7,117,110,105, 48, 52, 56, 68, 7,117,110,105, 48, 52, 56, 69, 7,117,110,105, - 48, 52, 56, 70, 9, 97,102,105,105, 49, 48, 48, 53, 48, 9, 97,102,105,105, 49, 48, 48, 57, 56, 7,117,110,105, 48, 52, 57, 50, + 48, 49, 48, 57, 9, 97,102,105,105, 49, 48, 49, 49, 48, 9, 97,102,105,105, 49, 48, 49, 57, 51, 9, 97,102,105,105, 49, 48, 48, + 53, 48, 9, 97,102,105,105, 49, 48, 48, 57, 56, 6, 87,103,114, 97,118,101, 6,119,103,114, 97,118,101, 6, 87, 97, 99,117,116, +101, 6,119, 97, 99,117,116,101, 9, 87,100,105,101,114,101,115,105,115, 9,119,100,105,101,114,101,115,105,115, 6, 89,103,114, + 97,118,101, 6,121,103,114, 97,118,101, 9, 97,102,105,105, 48, 48, 50, 48, 56, 13,117,110,100,101,114,115, 99,111,114,101,100, + 98,108, 13,113,117,111,116,101,114,101,118,101,114,115,101,100, 6,109,105,110,117,116,101, 6,115,101, 99,111,110,100, 9,101, +120, 99,108, 97,109,100, 98,108, 9,110,115,117,112,101,114,105,111,114, 9, 97,102,105,105, 48, 56, 57, 52, 49, 6,112,101,115, +101,116, 97, 4, 69,117,114,111, 9, 97,102,105,105, 54, 49, 50, 52, 56, 9, 97,102,105,105, 54, 49, 50, 56, 57, 9, 97,102,105, +105, 54, 49, 51, 53, 50, 9,101,115,116,105,109, 97,116,101,100, 9,111,110,101,101,105,103,104,116,104, 12,116,104,114,101,101, +101,105,103,104,116,104,115, 11,102,105,118,101,101,105,103,104,116,104,115, 12,115,101,118,101,110,101,105,103,104,116,104,115, + 5, 68,101,108,116, 97, 7,117,110,105, 70, 66, 48, 49, 7,117,110,105, 70, 66, 48, 50, 13, 99,121,114,105,108,108,105, 99, 98, +114,101,118,101, 8,100,111,116,108,101,115,115,106, 16, 99, 97,114,111,110, 99,111,109,109, 97, 97, 99, 99,101,110,116, 11, 99, +111,109,109, 97, 97, 99, 99,101,110,116, 17, 99,111,109,109, 97, 97, 99, 99,101,110,116,114,111,116, 97,116,101, 12,122,101,114, +111,115,117,112,101,114,105,111,114, 12,102,111,117,114,115,117,112,101,114,105,111,114, 12,102,105,118,101,115,117,112,101,114, +105,111,114, 11,115,105,120,115,117,112,101,114,105,111,114, 13,115,101,118,101,110,115,117,112,101,114,105,111,114, 13,101,105, +103,104,116,115,117,112,101,114,105,111,114, 12,110,105,110,101,115,117,112,101,114,105,111,114, 7,117,110,105, 50, 48, 48, 48, + 7,117,110,105, 50, 48, 48, 49, 7,117,110,105, 50, 48, 48, 50, 7,117,110,105, 50, 48, 48, 51, 7,117,110,105, 50, 48, 48, 52, + 7,117,110,105, 50, 48, 48, 53, 7,117,110,105, 50, 48, 48, 54, 7,117,110,105, 50, 48, 48, 55, 7,117,110,105, 50, 48, 48, 56, + 7,117,110,105, 50, 48, 48, 57, 7,117,110,105, 50, 48, 48, 65, 7,117,110,105, 50, 48, 48, 66, 7,117,110,105, 70, 69, 70, 70, + 7,117,110,105, 70, 70, 70, 67, 7,117,110,105, 70, 70, 70, 68, 7,117,110,105, 48, 49, 70, 48, 7,117,110,105, 48, 50, 66, 67, + 7,117,110,105, 48, 51, 68, 49, 7,117,110,105, 48, 51, 68, 50, 7,117,110,105, 48, 51, 68, 54, 7,117,110,105, 49, 69, 51, 69, + 7,117,110,105, 49, 69, 51, 70, 7,117,110,105, 49, 69, 48, 48, 7,117,110,105, 49, 69, 48, 49, 7,117,110,105, 49, 70, 52, 68, + 7,117,110,105, 48, 50, 70, 51, 9,100, 97,115,105, 97,111,120,105, 97, 7,117,110,105, 70, 66, 48, 51, 7,117,110,105, 70, 66, + 48, 52, 5, 79,104,111,114,110, 5,111,104,111,114,110, 5, 85,104,111,114,110, 5,117,104,111,114,110, 7,117,110,105, 48, 51, + 48, 48, 7,117,110,105, 48, 51, 48, 49, 7,117,110,105, 48, 51, 48, 51, 4,104,111,111,107, 8,100,111,116, 98,101,108,111,119, + 7,117,110,105, 48, 52, 48, 48, 7,117,110,105, 48, 52, 48, 68, 7,117,110,105, 48, 52, 53, 48, 7,117,110,105, 48, 52, 53, 68, + 7,117,110,105, 48, 52, 54, 48, 7,117,110,105, 48, 52, 54, 49, 7,117,110,105, 48, 52, 54, 50, 7,117,110,105, 48, 52, 54, 51, + 7,117,110,105, 48, 52, 54, 52, 7,117,110,105, 48, 52, 54, 53, 7,117,110,105, 48, 52, 54, 54, 7,117,110,105, 48, 52, 54, 55, + 7,117,110,105, 48, 52, 54, 56, 7,117,110,105, 48, 52, 54, 57, 7,117,110,105, 48, 52, 54, 65, 7,117,110,105, 48, 52, 54, 66, + 7,117,110,105, 48, 52, 54, 67, 7,117,110,105, 48, 52, 54, 68, 7,117,110,105, 48, 52, 54, 69, 7,117,110,105, 48, 52, 54, 70, + 7,117,110,105, 48, 52, 55, 48, 7,117,110,105, 48, 52, 55, 49, 7,117,110,105, 48, 52, 55, 50, 7,117,110,105, 48, 52, 55, 51, + 7,117,110,105, 48, 52, 55, 52, 7,117,110,105, 48, 52, 55, 53, 7,117,110,105, 48, 52, 55, 54, 7,117,110,105, 48, 52, 55, 55, + 7,117,110,105, 48, 52, 55, 56, 7,117,110,105, 48, 52, 55, 57, 7,117,110,105, 48, 52, 55, 65, 7,117,110,105, 48, 52, 55, 66, + 7,117,110,105, 48, 52, 55, 67, 7,117,110,105, 48, 52, 55, 68, 7,117,110,105, 48, 52, 55, 69, 7,117,110,105, 48, 52, 55, 70, + 7,117,110,105, 48, 52, 56, 48, 7,117,110,105, 48, 52, 56, 49, 7,117,110,105, 48, 52, 56, 50, 7,117,110,105, 48, 52, 56, 51, + 7,117,110,105, 48, 52, 56, 52, 7,117,110,105, 48, 52, 56, 53, 7,117,110,105, 48, 52, 56, 54, 7,117,110,105, 48, 52, 56, 56, + 7,117,110,105, 48, 52, 56, 57, 7,117,110,105, 48, 52, 56, 65, 7,117,110,105, 48, 52, 56, 66, 7,117,110,105, 48, 52, 56, 67, + 7,117,110,105, 48, 52, 56, 68, 7,117,110,105, 48, 52, 56, 69, 7,117,110,105, 48, 52, 56, 70, 7,117,110,105, 48, 52, 57, 50, 7,117,110,105, 48, 52, 57, 51, 7,117,110,105, 48, 52, 57, 52, 7,117,110,105, 48, 52, 57, 53, 7,117,110,105, 48, 52, 57, 54, 7,117,110,105, 48, 52, 57, 55, 7,117,110,105, 48, 52, 57, 56, 7,117,110,105, 48, 52, 57, 57, 7,117,110,105, 48, 52, 57, 65, 7,117,110,105, 48, 52, 57, 66, 7,117,110,105, 48, 52, 57, 67, 7,117,110,105, 48, 52, 57, 68, 7,117,110,105, 48, 52, 57, 69, @@ -5632,364 +4544,1405 @@ char datatoc_bfont_ttf[]= { 7,117,110,105, 48, 52, 67, 51, 7,117,110,105, 48, 52, 67, 52, 7,117,110,105, 48, 52, 67, 53, 7,117,110,105, 48, 52, 67, 54, 7,117,110,105, 48, 52, 67, 55, 7,117,110,105, 48, 52, 67, 56, 7,117,110,105, 48, 52, 67, 57, 7,117,110,105, 48, 52, 67, 65, 7,117,110,105, 48, 52, 67, 66, 7,117,110,105, 48, 52, 67, 67, 7,117,110,105, 48, 52, 67, 68, 7,117,110,105, 48, 52, 67, 69, - 7,117,110,105, 48, 52, 68, 48, 7,117,110,105, 48, 52, 68, 49, 7,117,110,105, 48, 52, 68, 50, 7,117,110,105, 48, 52, 68, 51, - 7,117,110,105, 48, 52, 68, 52, 7,117,110,105, 48, 52, 68, 53, 7,117,110,105, 48, 52, 68, 54, 7,117,110,105, 48, 52, 68, 55, - 7,117,110,105, 48, 52, 68, 56, 9, 97,102,105,105, 49, 48, 56, 52, 54, 7,117,110,105, 48, 52, 68, 65, 7,117,110,105, 48, 52, - 68, 66, 7,117,110,105, 48, 52, 68, 67, 7,117,110,105, 48, 52, 68, 68, 7,117,110,105, 48, 52, 68, 69, 7,117,110,105, 48, 52, - 68, 70, 7,117,110,105, 48, 52, 69, 48, 7,117,110,105, 48, 52, 69, 49, 7,117,110,105, 48, 52, 69, 50, 7,117,110,105, 48, 52, - 69, 51, 7,117,110,105, 48, 52, 69, 52, 7,117,110,105, 48, 52, 69, 53, 7,117,110,105, 48, 52, 69, 54, 7,117,110,105, 48, 52, - 69, 55, 7,117,110,105, 48, 52, 69, 56, 7,117,110,105, 48, 52, 69, 57, 7,117,110,105, 48, 52, 69, 65, 7,117,110,105, 48, 52, - 69, 66, 7,117,110,105, 48, 52, 69, 67, 7,117,110,105, 48, 52, 69, 68, 7,117,110,105, 48, 52, 69, 69, 7,117,110,105, 48, 52, - 69, 70, 7,117,110,105, 48, 52, 70, 48, 7,117,110,105, 48, 52, 70, 49, 7,117,110,105, 48, 52, 70, 50, 7,117,110,105, 48, 52, - 70, 51, 7,117,110,105, 48, 52, 70, 52, 7,117,110,105, 48, 52, 70, 53, 7,117,110,105, 48, 52, 70, 54, 7,117,110,105, 48, 52, - 70, 55, 7,117,110,105, 48, 52, 70, 56, 7,117,110,105, 48, 52, 70, 57, 7,117,110,105, 48, 53, 48, 48, 7,117,110,105, 48, 53, - 48, 49, 7,117,110,105, 48, 53, 48, 50, 7,117,110,105, 48, 53, 48, 51, 7,117,110,105, 48, 53, 48, 52, 7,117,110,105, 48, 53, - 48, 53, 7,117,110,105, 48, 53, 48, 54, 7,117,110,105, 48, 53, 48, 55, 7,117,110,105, 48, 53, 48, 56, 7,117,110,105, 48, 53, - 48, 57, 7,117,110,105, 48, 53, 48, 65, 7,117,110,105, 48, 53, 48, 66, 7,117,110,105, 48, 53, 48, 67, 7,117,110,105, 48, 53, - 48, 68, 7,117,110,105, 48, 53, 48, 69, 7,117,110,105, 48, 53, 48, 70, 7,117,110,105, 48, 53, 51, 49, 7,117,110,105, 48, 53, - 51, 50, 7,117,110,105, 48, 53, 51, 51, 7,117,110,105, 48, 53, 51, 52, 7,117,110,105, 48, 53, 51, 53, 7,117,110,105, 48, 53, - 51, 54, 7,117,110,105, 48, 53, 51, 55, 7,117,110,105, 48, 53, 51, 56, 7,117,110,105, 48, 53, 51, 57, 7,117,110,105, 48, 53, - 51, 65, 7,117,110,105, 48, 53, 51, 66, 7,117,110,105, 48, 53, 51, 67, 7,117,110,105, 48, 53, 51, 68, 7,117,110,105, 48, 53, - 51, 69, 7,117,110,105, 48, 53, 51, 70, 7,117,110,105, 48, 53, 52, 48, 7,117,110,105, 48, 53, 52, 49, 7,117,110,105, 48, 53, - 52, 50, 7,117,110,105, 48, 53, 52, 51, 7,117,110,105, 48, 53, 52, 52, 7,117,110,105, 48, 53, 52, 53, 7,117,110,105, 48, 53, - 52, 54, 7,117,110,105, 48, 53, 52, 55, 7,117,110,105, 48, 53, 52, 56, 7,117,110,105, 48, 53, 52, 57, 7,117,110,105, 48, 53, - 52, 65, 7,117,110,105, 48, 53, 52, 66, 7,117,110,105, 48, 53, 52, 67, 7,117,110,105, 48, 53, 52, 68, 7,117,110,105, 48, 53, - 52, 69, 7,117,110,105, 48, 53, 52, 70, 7,117,110,105, 48, 53, 53, 48, 7,117,110,105, 48, 53, 53, 49, 7,117,110,105, 48, 53, - 53, 50, 7,117,110,105, 48, 53, 53, 51, 7,117,110,105, 48, 53, 53, 52, 7,117,110,105, 48, 53, 53, 53, 7,117,110,105, 48, 53, - 53, 54, 7,117,110,105, 48, 53, 53, 57, 7,117,110,105, 48, 53, 53, 65, 7,117,110,105, 48, 53, 53, 66, 7,117,110,105, 48, 53, - 53, 67, 7,117,110,105, 48, 53, 53, 68, 7,117,110,105, 48, 53, 53, 69, 7,117,110,105, 48, 53, 53, 70, 7,117,110,105, 48, 53, - 54, 49, 7,117,110,105, 48, 53, 54, 50, 7,117,110,105, 48, 53, 54, 51, 7,117,110,105, 48, 53, 54, 52, 7,117,110,105, 48, 53, - 54, 53, 7,117,110,105, 48, 53, 54, 54, 7,117,110,105, 48, 53, 54, 55, 7,117,110,105, 48, 53, 54, 56, 7,117,110,105, 48, 53, - 54, 57, 7,117,110,105, 48, 53, 54, 65, 7,117,110,105, 48, 53, 54, 66, 7,117,110,105, 48, 53, 54, 67, 7,117,110,105, 48, 53, - 54, 68, 7,117,110,105, 48, 53, 54, 69, 7,117,110,105, 48, 53, 54, 70, 7,117,110,105, 48, 53, 55, 48, 7,117,110,105, 48, 53, - 55, 49, 7,117,110,105, 48, 53, 55, 50, 7,117,110,105, 48, 53, 55, 51, 7,117,110,105, 48, 53, 55, 52, 7,117,110,105, 48, 53, - 55, 53, 7,117,110,105, 48, 53, 55, 54, 7,117,110,105, 48, 53, 55, 55, 7,117,110,105, 48, 53, 55, 56, 7,117,110,105, 48, 53, - 55, 57, 7,117,110,105, 48, 53, 55, 65, 7,117,110,105, 48, 53, 55, 66, 7,117,110,105, 48, 53, 55, 67, 7,117,110,105, 48, 53, - 55, 68, 7,117,110,105, 48, 53, 55, 69, 7,117,110,105, 48, 53, 55, 70, 7,117,110,105, 48, 53, 56, 48, 7,117,110,105, 48, 53, - 56, 49, 7,117,110,105, 48, 53, 56, 50, 7,117,110,105, 48, 53, 56, 51, 7,117,110,105, 48, 53, 56, 52, 7,117,110,105, 48, 53, - 56, 53, 7,117,110,105, 48, 53, 56, 54, 7,117,110,105, 48, 53, 56, 55, 7,117,110,105, 48, 53, 56, 57, 7,117,110,105, 48, 53, - 56, 65, 9, 97,102,105,105, 53, 55, 51, 56, 56, 7,117,110,105, 49, 69, 48, 48, 7,117,110,105, 49, 69, 48, 49, 7,117,110,105, - 49, 69, 48, 50, 7,117,110,105, 49, 69, 48, 51, 7,117,110,105, 49, 69, 48, 52, 7,117,110,105, 49, 69, 48, 53, 7,117,110,105, - 49, 69, 48, 54, 7,117,110,105, 49, 69, 48, 55, 7,117,110,105, 49, 69, 48, 56, 7,117,110,105, 49, 69, 48, 57, 7,117,110,105, - 49, 69, 48, 65, 7,117,110,105, 49, 69, 48, 66, 7,117,110,105, 49, 69, 48, 67, 7,117,110,105, 49, 69, 48, 68, 7,117,110,105, - 49, 69, 48, 69, 7,117,110,105, 49, 69, 48, 70, 7,117,110,105, 49, 69, 49, 48, 7,117,110,105, 49, 69, 49, 49, 7,117,110,105, - 49, 69, 49, 50, 7,117,110,105, 49, 69, 49, 51, 7,117,110,105, 49, 69, 49, 52, 7,117,110,105, 49, 69, 49, 53, 7,117,110,105, - 49, 69, 49, 54, 7,117,110,105, 49, 69, 49, 55, 7,117,110,105, 49, 69, 49, 56, 7,117,110,105, 49, 69, 49, 57, 7,117,110,105, - 49, 69, 49, 65, 7,117,110,105, 49, 69, 49, 66, 7,117,110,105, 49, 69, 49, 67, 7,117,110,105, 49, 69, 49, 68, 7,117,110,105, - 49, 69, 49, 69, 7,117,110,105, 49, 69, 49, 70, 7,117,110,105, 49, 69, 50, 48, 7,117,110,105, 49, 69, 50, 49, 7,117,110,105, - 49, 69, 50, 50, 7,117,110,105, 49, 69, 50, 51, 7,117,110,105, 49, 69, 50, 52, 7,117,110,105, 49, 69, 50, 53, 7,117,110,105, - 49, 69, 50, 54, 7,117,110,105, 49, 69, 50, 55, 7,117,110,105, 49, 69, 50, 56, 7,117,110,105, 49, 69, 50, 57, 7,117,110,105, - 49, 69, 50, 65, 7,117,110,105, 49, 69, 50, 66, 7,117,110,105, 49, 69, 50, 67, 7,117,110,105, 49, 69, 50, 68, 7,117,110,105, - 49, 69, 50, 69, 7,117,110,105, 49, 69, 50, 70, 7,117,110,105, 49, 69, 51, 48, 7,117,110,105, 49, 69, 51, 49, 7,117,110,105, - 49, 69, 51, 50, 7,117,110,105, 49, 69, 51, 51, 7,117,110,105, 49, 69, 51, 52, 7,117,110,105, 49, 69, 51, 53, 7,117,110,105, - 49, 69, 51, 54, 7,117,110,105, 49, 69, 51, 55, 7,117,110,105, 49, 69, 51, 56, 7,117,110,105, 49, 69, 51, 57, 7,117,110,105, - 49, 69, 51, 65, 7,117,110,105, 49, 69, 51, 66, 7,117,110,105, 49, 69, 51, 67, 7,117,110,105, 49, 69, 51, 68, 7,117,110,105, - 49, 69, 51, 69, 7,117,110,105, 49, 69, 51, 70, 7,117,110,105, 49, 69, 52, 48, 7,117,110,105, 49, 69, 52, 49, 7,117,110,105, - 49, 69, 52, 50, 7,117,110,105, 49, 69, 52, 51, 7,117,110,105, 49, 69, 52, 52, 7,117,110,105, 49, 69, 52, 53, 7,117,110,105, - 49, 69, 52, 54, 7,117,110,105, 49, 69, 52, 55, 7,117,110,105, 49, 69, 52, 56, 7,117,110,105, 49, 69, 52, 57, 7,117,110,105, - 49, 69, 52, 65, 7,117,110,105, 49, 69, 52, 66, 7,117,110,105, 49, 69, 52, 67, 7,117,110,105, 49, 69, 52, 68, 7,117,110,105, - 49, 69, 52, 69, 7,117,110,105, 49, 69, 52, 70, 7,117,110,105, 49, 69, 53, 48, 7,117,110,105, 49, 69, 53, 49, 7,117,110,105, - 49, 69, 53, 50, 7,117,110,105, 49, 69, 53, 51, 7,117,110,105, 49, 69, 53, 52, 7,117,110,105, 49, 69, 53, 53, 7,117,110,105, - 49, 69, 53, 54, 7,117,110,105, 49, 69, 53, 55, 7,117,110,105, 49, 69, 53, 56, 7,117,110,105, 49, 69, 53, 57, 7,117,110,105, - 49, 69, 53, 65, 7,117,110,105, 49, 69, 53, 66, 7,117,110,105, 49, 69, 53, 67, 7,117,110,105, 49, 69, 53, 68, 7,117,110,105, - 49, 69, 53, 69, 7,117,110,105, 49, 69, 53, 70, 7,117,110,105, 49, 69, 54, 48, 7,117,110,105, 49, 69, 54, 49, 7,117,110,105, - 49, 69, 54, 50, 7,117,110,105, 49, 69, 54, 51, 7,117,110,105, 49, 69, 54, 52, 7,117,110,105, 49, 69, 54, 53, 7,117,110,105, - 49, 69, 54, 54, 7,117,110,105, 49, 69, 54, 55, 7,117,110,105, 49, 69, 54, 56, 7,117,110,105, 49, 69, 54, 57, 7,117,110,105, - 49, 69, 54, 65, 7,117,110,105, 49, 69, 54, 66, 7,117,110,105, 49, 69, 54, 67, 7,117,110,105, 49, 69, 54, 68, 7,117,110,105, - 49, 69, 54, 69, 7,117,110,105, 49, 69, 54, 70, 7,117,110,105, 49, 69, 55, 48, 7,117,110,105, 49, 69, 55, 49, 7,117,110,105, - 49, 69, 55, 50, 7,117,110,105, 49, 69, 55, 51, 7,117,110,105, 49, 69, 55, 52, 7,117,110,105, 49, 69, 55, 53, 7,117,110,105, - 49, 69, 55, 54, 7,117,110,105, 49, 69, 55, 55, 7,117,110,105, 49, 69, 55, 56, 7,117,110,105, 49, 69, 55, 57, 7,117,110,105, - 49, 69, 55, 65, 7,117,110,105, 49, 69, 55, 66, 7,117,110,105, 49, 69, 55, 67, 7,117,110,105, 49, 69, 55, 68, 7,117,110,105, - 49, 69, 55, 69, 7,117,110,105, 49, 69, 55, 70, 6, 87,103,114, 97,118,101, 6,119,103,114, 97,118,101, 6, 87, 97, 99,117,116, -101, 6,119, 97, 99,117,116,101, 9, 87,100,105,101,114,101,115,105,115, 9,119,100,105,101,114,101,115,105,115, 7,117,110,105, - 49, 69, 56, 54, 7,117,110,105, 49, 69, 56, 55, 7,117,110,105, 49, 69, 56, 56, 7,117,110,105, 49, 69, 56, 57, 7,117,110,105, - 49, 69, 56, 65, 7,117,110,105, 49, 69, 56, 66, 7,117,110,105, 49, 69, 56, 67, 7,117,110,105, 49, 69, 56, 68, 7,117,110,105, - 49, 69, 56, 69, 7,117,110,105, 49, 69, 56, 70, 7,117,110,105, 49, 69, 57, 48, 7,117,110,105, 49, 69, 57, 49, 7,117,110,105, - 49, 69, 57, 50, 7,117,110,105, 49, 69, 57, 51, 7,117,110,105, 49, 69, 57, 52, 7,117,110,105, 49, 69, 57, 53, 7,117,110,105, - 49, 69, 57, 54, 7,117,110,105, 49, 69, 57, 55, 7,117,110,105, 49, 69, 57, 56, 7,117,110,105, 49, 69, 57, 57, 7,117,110,105, - 49, 69, 57, 65, 7,117,110,105, 49, 69, 57, 66, 7,117,110,105, 49, 69, 65, 48, 7,117,110,105, 49, 69, 65, 49, 7,117,110,105, - 49, 69, 65, 50, 7,117,110,105, 49, 69, 65, 51, 7,117,110,105, 49, 69, 65, 52, 7,117,110,105, 49, 69, 65, 53, 7,117,110,105, - 49, 69, 65, 54, 7,117,110,105, 49, 69, 65, 55, 7,117,110,105, 49, 69, 65, 56, 7,117,110,105, 49, 69, 65, 57, 7,117,110,105, - 49, 69, 65, 65, 7,117,110,105, 49, 69, 65, 66, 7,117,110,105, 49, 69, 65, 67, 7,117,110,105, 49, 69, 65, 68, 7,117,110,105, - 49, 69, 65, 69, 7,117,110,105, 49, 69, 65, 70, 7,117,110,105, 49, 69, 66, 48, 7,117,110,105, 49, 69, 66, 49, 7,117,110,105, - 49, 69, 66, 50, 7,117,110,105, 49, 69, 66, 51, 7,117,110,105, 49, 69, 66, 52, 7,117,110,105, 49, 69, 66, 53, 7,117,110,105, - 49, 69, 66, 54, 7,117,110,105, 49, 69, 66, 55, 7,117,110,105, 49, 69, 66, 56, 7,117,110,105, 49, 69, 66, 57, 7,117,110,105, - 49, 69, 66, 65, 7,117,110,105, 49, 69, 66, 66, 7,117,110,105, 49, 69, 66, 67, 7,117,110,105, 49, 69, 66, 68, 7,117,110,105, - 49, 69, 66, 69, 7,117,110,105, 49, 69, 66, 70, 7,117,110,105, 49, 69, 67, 48, 7,117,110,105, 49, 69, 67, 49, 7,117,110,105, - 49, 69, 67, 50, 7,117,110,105, 49, 69, 67, 51, 7,117,110,105, 49, 69, 67, 52, 7,117,110,105, 49, 69, 67, 53, 7,117,110,105, - 49, 69, 67, 54, 7,117,110,105, 49, 69, 67, 55, 7,117,110,105, 49, 69, 67, 56, 7,117,110,105, 49, 69, 67, 57, 7,117,110,105, - 49, 69, 67, 65, 7,117,110,105, 49, 69, 67, 66, 7,117,110,105, 49, 69, 67, 67, 7,117,110,105, 49, 69, 67, 68, 7,117,110,105, - 49, 69, 67, 69, 7,117,110,105, 49, 69, 67, 70, 7,117,110,105, 49, 69, 68, 48, 7,117,110,105, 49, 69, 68, 49, 7,117,110,105, - 49, 69, 68, 50, 7,117,110,105, 49, 69, 68, 51, 7,117,110,105, 49, 69, 68, 52, 7,117,110,105, 49, 69, 68, 53, 7,117,110,105, - 49, 69, 68, 54, 7,117,110,105, 49, 69, 68, 55, 7,117,110,105, 49, 69, 68, 56, 7,117,110,105, 49, 69, 68, 57, 7,117,110,105, - 49, 69, 68, 65, 7,117,110,105, 49, 69, 68, 66, 7,117,110,105, 49, 69, 68, 67, 7,117,110,105, 49, 69, 68, 68, 7,117,110,105, - 49, 69, 68, 69, 7,117,110,105, 49, 69, 68, 70, 7,117,110,105, 49, 69, 69, 48, 7,117,110,105, 49, 69, 69, 49, 7,117,110,105, - 49, 69, 69, 50, 7,117,110,105, 49, 69, 69, 51, 7,117,110,105, 49, 69, 69, 52, 7,117,110,105, 49, 69, 69, 53, 7,117,110,105, - 49, 69, 69, 54, 7,117,110,105, 49, 69, 69, 55, 7,117,110,105, 49, 69, 69, 56, 7,117,110,105, 49, 69, 69, 57, 7,117,110,105, - 49, 69, 69, 65, 7,117,110,105, 49, 69, 69, 66, 7,117,110,105, 49, 69, 69, 67, 7,117,110,105, 49, 69, 69, 68, 7,117,110,105, - 49, 69, 69, 69, 7,117,110,105, 49, 69, 69, 70, 7,117,110,105, 49, 69, 70, 48, 7,117,110,105, 49, 69, 70, 49, 6, 89,103,114, - 97,118,101, 6,121,103,114, 97,118,101, 7,117,110,105, 49, 69, 70, 52, 7,117,110,105, 49, 69, 70, 53, 7,117,110,105, 49, 69, - 70, 54, 7,117,110,105, 49, 69, 70, 55, 7,117,110,105, 49, 69, 70, 56, 7,117,110,105, 49, 69, 70, 57, 7,117,110,105, 49, 70, - 66, 70, 7,117,110,105, 49, 70, 70, 68, 7,117,110,105, 49, 70, 70, 69, 7,117,110,105, 50, 48, 48, 48, 7,117,110,105, 50, 48, - 48, 49, 7,117,110,105, 50, 48, 48, 50, 7,117,110,105, 50, 48, 48, 51, 7,117,110,105, 50, 48, 48, 52, 7,117,110,105, 50, 48, - 48, 53, 7,117,110,105, 50, 48, 48, 54, 7,117,110,105, 50, 48, 48, 55, 7,117,110,105, 50, 48, 48, 56, 7,117,110,105, 50, 48, - 48, 57, 7,117,110,105, 50, 48, 48, 65, 7,117,110,105, 50, 48, 48, 66, 9, 97,102,105,105, 54, 49, 54, 54, 52, 7, 97,102,105, -105, 51, 48, 49, 7, 97,102,105,105, 50, 57, 57, 7, 97,102,105,105, 51, 48, 48, 7,117,110,105, 50, 48, 49, 48, 7,117,110,105, - 50, 48, 49, 49, 10,102,105,103,117,114,101,100, 97,115,104, 9, 97,102,105,105, 48, 48, 50, 48, 56, 7,117,110,105, 50, 48, 49, - 54, 13,117,110,100,101,114,115, 99,111,114,101,100, 98,108, 13,113,117,111,116,101,114,101,118,101,114,115,101,100, 7,117,110, -105, 50, 48, 49, 70, 7,117,110,105, 50, 48, 50, 51, 14,111,110,101,100,111,116,101,110,108,101, 97,100,101,114, 14,116,119,111, -100,111,116,101,110,108,101, 97,100,101,114, 7,117,110,105, 50, 48, 50, 55, 7,117,110,105, 50, 48, 51, 49, 6,109,105,110,117, -116,101, 6,115,101, 99,111,110,100, 7,117,110,105, 50, 48, 51, 52, 7,117,110,105, 50, 48, 51, 53, 7,117,110,105, 50, 48, 51, - 54, 7,117,110,105, 50, 48, 51, 55, 7,117,110,105, 50, 48, 51, 56, 7,117,110,105, 50, 48, 51, 66, 9,101,120, 99,108, 97,109, -100, 98,108, 7,117,110,105, 50, 48, 51, 68, 7,117,110,105, 50, 48, 51, 69, 7,117,110,105, 50, 48, 51, 70, 7,117,110,105, 50, - 48, 52, 48, 7,117,110,105, 50, 48, 52, 49, 7,117,110,105, 50, 48, 52, 50, 7,117,110,105, 50, 48, 52, 51, 7,117,110,105, 50, - 48, 52, 53, 7,117,110,105, 50, 48, 52, 54, 7,117,110,105, 50, 48, 52, 55, 7,117,110,105, 50, 48, 52, 56, 7,117,110,105, 50, - 48, 52, 57, 7,117,110,105, 50, 48, 52, 65, 7,117,110,105, 50, 48, 52, 66, 7,117,110,105, 50, 48, 52, 67, 7,117,110,105, 50, - 48, 52, 68, 7,117,110,105, 50, 48, 52, 69, 7,117,110,105, 50, 48, 52, 70, 7,117,110,105, 50, 48, 53, 48, 7,117,110,105, 50, - 48, 53, 49, 7,117,110,105, 50, 48, 53, 50, 7,117,110,105, 50, 48, 53, 51, 7,117,110,105, 50, 48, 53, 52, 7,117,110,105, 50, - 48, 53, 53, 7,117,110,105, 50, 48, 53, 54, 7,117,110,105, 50, 48, 53, 55, 7,117,110,105, 50, 48, 53, 56, 7,117,110,105, 50, - 48, 53, 57, 7,117,110,105, 50, 48, 53, 65, 7,117,110,105, 50, 48, 53, 66, 7,117,110,105, 50, 48, 53, 67, 7,117,110,105, 50, - 48, 53, 68, 7,117,110,105, 50, 48, 53, 69, 7,117,110,105, 50, 48, 55, 48, 7,117,110,105, 50, 48, 55, 49, 7,117,110,105, 50, - 48, 55, 52, 7,117,110,105, 50, 48, 55, 53, 7,117,110,105, 50, 48, 55, 54, 7,117,110,105, 50, 48, 55, 55, 7,117,110,105, 50, - 48, 55, 56, 7,117,110,105, 50, 48, 55, 57, 7,117,110,105, 50, 48, 55, 65, 7,117,110,105, 50, 48, 55, 66, 7,117,110,105, 50, - 48, 55, 67, 7,117,110,105, 50, 48, 55, 68, 7,117,110,105, 50, 48, 55, 69, 7,117,110,105, 50, 48, 55, 70, 7,117,110,105, 50, - 48, 56, 48, 7,117,110,105, 50, 48, 56, 49, 7,117,110,105, 50, 48, 56, 50, 7,117,110,105, 50, 48, 56, 51, 7,117,110,105, 50, - 48, 56, 52, 7,117,110,105, 50, 48, 56, 53, 7,117,110,105, 50, 48, 56, 54, 7,117,110,105, 50, 48, 56, 55, 7,117,110,105, 50, - 48, 56, 56, 7,117,110,105, 50, 48, 56, 57, 7,117,110,105, 50, 48, 56, 65, 7,117,110,105, 50, 48, 56, 66, 7,117,110,105, 50, - 48, 56, 67, 7,117,110,105, 50, 48, 56, 68, 7,117,110,105, 50, 48, 56, 69, 7,117,110,105, 50, 48, 65, 48, 13, 99,111,108,111, -110,109,111,110,101,116, 97,114,121, 7,117,110,105, 50, 48, 65, 50, 4,108,105,114, 97, 7,117,110,105, 50, 48, 65, 53, 7,117, -110,105, 50, 48, 65, 54, 6,112,101,115,101,116, 97, 7,117,110,105, 50, 48, 65, 56, 7,117,110,105, 50, 48, 65, 57, 9, 97,102, -105,105, 53, 55, 54, 51, 54, 4,100,111,110,103, 4, 69,117,114,111, 7,117,110,105, 50, 48, 65, 68, 7,117,110,105, 50, 48, 65, - 69, 7,117,110,105, 50, 48, 65, 70, 7,117,110,105, 50, 48, 66, 49, 7,117,110,105, 50, 48, 66, 52, 7,117,110,105, 50, 48, 66, - 53, 7,117,110,105, 50, 48, 68, 54, 7,117,110,105, 50, 48, 68, 55, 7,117,110,105, 50, 49, 48, 48, 7,117,110,105, 50, 49, 48, - 51, 7,117,110,105, 50, 49, 48, 52, 9, 97,102,105,105, 54, 49, 50, 52, 56, 7,117,110,105, 50, 49, 48, 54, 7,117,110,105, 50, - 49, 48, 57, 7,117,110,105, 50, 49, 48, 69, 7,117,110,105, 50, 49, 48, 70, 8, 73,102,114, 97,107,116,117,114, 9, 97,102,105, -105, 54, 49, 50, 56, 57, 9, 97,102,105,105, 54, 49, 51, 53, 50, 7,117,110,105, 50, 49, 49, 55, 11,119,101,105,101,114,115,116, -114, 97,115,115, 8, 82,102,114, 97,107,116,117,114, 7,117,110,105, 50, 49, 49, 68, 12,112,114,101,115, 99,114,105,112,116,105, -111,110, 7,117,110,105, 50, 49, 50, 48, 7,117,110,105, 50, 49, 50, 49, 7,117,110,105, 50, 49, 50, 54, 7,117,110,105, 50, 49, - 50, 55, 7,117,110,105, 50, 49, 50, 65, 7,117,110,105, 50, 49, 50, 66, 9,101,115,116,105,109, 97,116,101,100, 7,117,110,105, - 50, 49, 51, 50, 7,117,110,105, 50, 49, 51, 52, 5, 97,108,101,112,104, 7,117,110,105, 50, 49, 51, 66, 7,117,110,105, 50, 49, - 52, 66, 8,111,110,101,116,104,105,114,100, 9,116,119,111,116,104,105,114,100,115, 7,117,110,105, 50, 49, 53, 53, 7,117,110, -105, 50, 49, 53, 54, 7,117,110,105, 50, 49, 53, 55, 7,117,110,105, 50, 49, 53, 56, 7,117,110,105, 50, 49, 53, 57, 7,117,110, -105, 50, 49, 53, 65, 9,111,110,101,101,105,103,104,116,104, 12,116,104,114,101,101,101,105,103,104,116,104,115, 11,102,105,118, -101,101,105,103,104,116,104,115, 12,115,101,118,101,110,101,105,103,104,116,104,115, 7,117,110,105, 50, 49, 53, 70, 7,117,110, -105, 50, 49, 54, 48, 7,117,110,105, 50, 49, 54, 49, 7,117,110,105, 50, 49, 54, 50, 7,117,110,105, 50, 49, 54, 51, 7,117,110, -105, 50, 49, 54, 52, 7,117,110,105, 50, 49, 54, 53, 7,117,110,105, 50, 49, 54, 54, 7,117,110,105, 50, 49, 54, 55, 7,117,110, -105, 50, 49, 54, 56, 7,117,110,105, 50, 49, 54, 57, 7,117,110,105, 50, 49, 54, 65, 7,117,110,105, 50, 49, 54, 66, 7,117,110, -105, 50, 49, 54, 67, 7,117,110,105, 50, 49, 54, 68, 7,117,110,105, 50, 49, 54, 69, 7,117,110,105, 50, 49, 54, 70, 7,117,110, -105, 50, 49, 55, 48, 7,117,110,105, 50, 49, 55, 49, 7,117,110,105, 50, 49, 55, 50, 7,117,110,105, 50, 49, 55, 51, 7,117,110, -105, 50, 49, 55, 52, 7,117,110,105, 50, 49, 55, 53, 7,117,110,105, 50, 49, 55, 54, 7,117,110,105, 50, 49, 55, 55, 7,117,110, -105, 50, 49, 55, 56, 7,117,110,105, 50, 49, 55, 57, 7,117,110,105, 50, 49, 55, 65, 7,117,110,105, 50, 49, 55, 66, 7,117,110, -105, 50, 49, 55, 67, 7,117,110,105, 50, 49, 55, 68, 7,117,110,105, 50, 49, 55, 69, 7,117,110,105, 50, 49, 55, 70, 7,117,110, -105, 50, 49, 56, 48, 7,117,110,105, 50, 49, 56, 49, 7,117,110,105, 50, 49, 56, 50, 7,117,110,105, 50, 49, 56, 51, 9, 97,114, -114,111,119,108,101,102,116, 7, 97,114,114,111,119,117,112, 10, 97,114,114,111,119,114,105,103,104,116, 9, 97,114,114,111,119, -100,111,119,110, 9, 97,114,114,111,119, 98,111,116,104, 9, 97,114,114,111,119,117,112,100,110, 7,117,110,105, 50, 49, 57, 54, - 7,117,110,105, 50, 49, 57, 55, 7,117,110,105, 50, 49, 57, 56, 7,117,110,105, 50, 49, 57, 57, 14, 99, 97,114,114,105, 97,103, -101,114,101,116,117,114,110, 7,117,110,105, 50, 50, 49, 51, 7,117,110,105, 50, 50, 49, 52, 7,117,110,105, 50, 50, 49, 54, 12, - 97,115,116,101,114,105,115,107,109, 97,116,104, 7,117,110,105, 50, 50, 49, 56, 7,117,110,105, 50, 50, 49, 66, 7,117,110,105, - 50, 50, 49, 67, 12,112,114,111,112,111,114,116,105,111,110, 97,108, 7,117,110,105, 50, 51, 49, 56, 7,117,110,105, 50, 51, 49, - 57, 7,117,110,105, 50, 51, 50, 53, 9, 97,110,103,108,101,108,101,102,116, 10, 97,110,103,108,101,114,105,103,104,116, 7,117, -110,105, 50, 52, 54, 48, 7,117,110,105, 50, 52, 54, 49, 7,117,110,105, 50, 52, 54, 50, 7,117,110,105, 50, 52, 54, 51, 7,117, -110,105, 50, 52, 54, 52, 7,117,110,105, 50, 52, 54, 53, 7,117,110,105, 50, 52, 54, 54, 7,117,110,105, 50, 52, 54, 55, 7,117, -110,105, 50, 52, 54, 56, 7,117,110,105, 50, 52, 54, 57, 7,117,110,105, 50, 54, 66, 48, 7,117,110,105, 50, 54, 66, 49, 7,117, -110,105, 50, 56, 48, 48, 7,117,110,105, 70, 66, 48, 48, 7,117,110,105, 70, 66, 48, 51, 7,117,110,105, 70, 66, 48, 52, 7,117, -110,105, 70, 66, 48, 53, 7,117,110,105, 70, 66, 48, 54, 7,117,110,105, 70, 66, 49, 51, 7,117,110,105, 70, 66, 49, 52, 7,117, -110,105, 70, 66, 49, 53, 7,117,110,105, 70, 66, 49, 54, 7,117,110,105, 70, 66, 49, 55, 7,117,110,105, 70, 70, 70, 68, 9,100, -108, 76,116, 99, 97,114,111,110, 8, 68,105,101,114,101,115,105,115, 5, 65, 99,117,116,101, 5, 84,105,108,100,101, 5, 71,114, - 97,118,101, 10, 67,105,114, 99,117,109,102,108,101,120, 5, 67, 97,114,111,110, 12,117,110,105, 48, 51, 49, 49, 46, 99, 97,115, -101, 5, 66,114,101,118,101, 9, 68,111,116, 97, 99, 99,101,110,116, 12, 72,117,110,103, 97,114,117,109,108, 97,117,116, 11, 68, -111,117, 98,108,101, 97, 99,117,116,101, 11,117,110,105, 48, 51, 48, 56, 48, 51, 48, 52, 11,117,110,105, 48, 51, 48, 52, 48, 51, - 48, 56, 11,117,110,105, 48, 51, 48, 55, 48, 51, 48, 52, 11,117,110,105, 48, 51, 48, 56, 48, 51, 48, 49, 11,117,110,105, 48, 51, - 48, 56, 48, 51, 48, 48, 11,117,110,105, 48, 51, 48, 52, 48, 51, 48, 49, 11,117,110,105, 48, 51, 48, 52, 48, 51, 48, 48, 11,117, -110,105, 48, 51, 48, 51, 48, 51, 48, 52, 11,117,110,105, 48, 51, 48, 56, 48, 51, 48, 67, 11,117,110,105, 48, 51, 48, 51, 48, 51, - 48, 56, 11,117,110,105, 48, 51, 48, 67, 48, 51, 48, 55, 11,117,110,105, 48, 51, 48, 51, 48, 51, 48, 49, 11,117,110,105, 48, 51, - 48, 50, 48, 51, 48, 49, 11,117,110,105, 48, 51, 48, 50, 48, 51, 48, 48, 11,117,110,105, 48, 51, 48, 50, 48, 51, 48, 51, 11,117, -110,105, 48, 51, 48, 54, 48, 51, 48, 51, 11,117,110,105, 48, 51, 48, 54, 48, 51, 48, 49, 11,117,110,105, 48, 51, 48, 54, 48, 51, - 48, 48, 11,117,110,105, 48, 51, 48, 54, 48, 51, 48, 57, 11,117,110,105, 48, 51, 48, 50, 48, 51, 48, 57, 0, 0, 0, 2, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 20,108, 0, 0, 0, 16, 0, 0, 0, 7, 0, 1, 0, 2, 0, 0, 0, 1,255,255,255,255, - 0, 1, 0, 3, 0, 0, 0, 0,255,255,255,254, 0, 1, 0, 2, 0, 0, 0, 1,255,255,255,255, 0, 1, 0, 3, 0, 0, 0, 0, -255,255,255,254, 0, 1, 0, 4, 0, 0, 0, 2,255,255,255,255, 0, 1, 0, 5, 0, 0, 0, 0,255,255,255,253, 0, 1, 0, 4, - 0, 0, 0, 2,255,255,255,255, 0, 1, 0, 5, 0, 0, 0, 0,255,255,255,253, 0, 1, 0, 4, 0, 0, 0, 2,255,255,255,255, - 0, 1, 0, 5, 0, 0, 0, 0,255,255,255,253, 0, 2, 0, 2, 0, 0, 0, 4,255,255,255,255, 0, 2, 0, 0, 0, 0, 0, 0, -255,255,255,251, 0, 11, 0, 2, 0, 0, 0, 8,255,255,255,255, 0, 11, 0, 0, 0, 0, 0, 0,255,255,255,247, 0, 0, 0, 0, -255,255,255,255,255,255,255,255, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,176, 64, 0, 0, 1, 0, 0, 0, 4, - 0, 0, 0, 6, 0, 0, 0, 20, 0, 0, 0,242, 0, 0, 1, 34, 0, 0, 1, 98, 0, 4, 0, 6, 0, 10, 0, 48, 0, 3, 0, 12, - 2, 92, 2, 72, 0, 78, 2, 97, 2, 94, 0,120, 2,104, 2,100, 0,128, 2,110, 2,107, 0,138, 2,123, 2,113, 0,146, 2,138, - 2,129, 0,168, 2,140, 2,140, 0,188, 2,154, 2,142, 0,190, 4,123, 4,123, 0,216, 5,253, 5,252, 0,218,255,255,255,255, - 0, 0, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, - 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, - 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, - 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, - 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 4, 0, 5, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 0, 1, 0, 2, 0, 3, 0, 3, 0, 4, 0, 3, 0, 5, 0, 4, 0, 6, 0, 6, 0, 7, 0, 6, 0, 5, - 0, 7, 0, 0, 0, 0,255,255,255,255, 0, 2,128, 0,255,255, 0, 0, 0, 1, 0, 0,255,255,255,255, 0, 0, 0, 0, 0, 1, -255,255, 0, 2, 0, 0,255,255,255,255, 0, 3,128, 0,255,255, 0, 2, 0, 0, 0, 0, 0, 3,255,255, 0, 3, 0, 0,255,255, -255,255, 0, 0, 0, 16, 0, 0, 0, 28, 0, 0, 0, 40, 0, 0, 0, 52, 0, 4, 0, 6, 0, 0, 0, 0,255,255, 0, 0, 0, 4, - 0, 6, 0, 0, 0, 0,255,255, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0,255,255, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0,255,255, - 0, 0, 0, 0, 0, 0, 4, 52, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 22, 0, 0, 0, 28, 0, 0, 0,160, 0, 0, 2,132, - 0, 0, 3, 38, 0, 0, 3,186, 0, 0, 4, 4, 0, 4, 0, 6, 0, 13, 0, 48, 0, 3, 0, 30, 0, 3, 0, 3, 0, 96, 0, 17, - 0, 17, 0, 98, 0, 41, 0, 41, 0,100, 0, 81, 0, 81, 0,102, 0,114, 0,114, 0,104, 2, 21, 2, 21, 0,106, 2, 73, 2, 73, - 0,108, 2, 76, 2, 75, 0,110, 2, 80, 2, 78, 0,114, 2, 83, 2, 82, 0,120, 2,112, 2,111, 0,124, 5,159, 5,159, 0,128, - 5,162, 5,162, 0,130,255,255,255,255, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, - 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 6, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 5, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 3, 0, 4, 0, 7, 0, 8, - 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 5, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 17, - 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 6, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 18, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 19, 0, 0, 0, 3, 0, 4, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 2, 0, 0, 0, 20, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 5, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 6, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, - 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 23, 0, 22, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 5, 0, 24, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, - 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 26, 0, 0, 0, 0, 0, 0, 0, 2,128, 0, 0, 0, - 0, 3,128, 0, 0, 0, 0, 5,128, 0, 0, 0, 0, 6,128, 0, 0, 0, 0, 7,128, 0, 0, 0, 0, 9,128, 0, 0, 0, 0, 0, -160, 0, 0, 0, 0, 0,160, 0, 0, 2, 0, 0,160, 0, 0, 4, 0, 0,160, 0, 0, 6, 0, 0,160, 0, 0, 8, 0, 0,160, 0, - 0, 10, 0, 0,160, 0, 0, 12, 0, 0,160, 0, 0, 14, 0, 0,160, 0, 0, 16, 0, 0,160, 0, 0, 18, 0, 4,128, 0, 0, 0, - 0, 0,160, 0, 0, 20, 0, 0,160, 0, 0, 23, 0, 0,160, 0, 0, 25, 0, 8,128, 0, 0, 0, 0, 0, 96, 0, 0, 27, 0, 0, -160, 0, 0, 29, 0, 10,128, 0, 0, 0, 0, 0, 96, 0, 0, 32, 0, 0,160, 0, 0, 34, 63,255,253,183,191,255,255,254, 63,255, -253,183,128, 0, 0, 0, 63,255,253,184,128, 0, 0, 2, 63,255,253,184,128, 0, 0, 4, 63,255,253,185,128, 0, 0, 6, 63,255, -253,186,128, 0, 0, 8, 63,255,253,186,128, 0, 0, 10, 63,255,253,187,128, 0, 0, 12, 63,255,253,161,128, 0, 0, 14, 63,255, -253,162,128, 0, 0, 16, 0, 0, 0, 3, 0, 0, 0, 4,128, 0, 0, 5, 63,255,255,238,191,255,255,166, 63,255,255,200,191,255, -254, 5, 63,255,250,124,191,255,250,125, 63,255,250,126, 63,255,250,127,191,255,250,128, 63,255,250,126,191,255,250,127, 63,255, -250,128, 63,255,250,129,191,255,250,130, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, - 0, 5, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, - 0, 0, 0, 13, 0, 0, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 16, 0,118, 2, 53, 0,113, 2, 49, 2, 50, 0,106, - 2, 51, 2, 54, 0,122, 2, 52, 5,155, 6, 3, 1, 11, 5,160, 5,161, 5,163, 5,164, 0, 0, 0, 0, 0,144, 0, 0, 0, 2, - 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 28, 0, 0, 0, 62, 0, 0, 0, 98, 0, 0, 0,116, 0, 0, 0,124, 0, 0, 0,128, - 0, 4, 0, 6, 0, 2, 0, 12, 0, 1, 0, 0, 4, 86, 4, 86, 0, 30, 4,115, 4,115, 0, 32,255,255,255,255, 0, 0, 0, 4, - 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2,128, 0, 0, 0, 0, 0,160, 0, 0, 0, 63,255,251,141,191,255,251,171, - 0, 0, 0, 0, 4,120, 0, 0, 0, 0, 1, 48, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 10, 0, 0, 0, 28, 0, 0, 0, 94, - 0, 0, 0,174, 0, 0, 0,222, 0, 0, 1, 6, 0, 0, 1, 26, 0, 4, 0, 6, 0, 6, 0, 24, 0, 2, 0, 12, 4, 86, 4, 86, - 0, 54, 4, 92, 4, 92, 0, 56, 4, 94, 4, 94, 0, 58, 4,101, 4,101, 0, 60, 4,103, 4,103, 0, 62, 4,111, 4,111, 0, 64, -255,255,255,255, 0, 0, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 4, 0, 5, 0, 1, 0, 6, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, - 0, 2, 0, 0, 0, 0, 0, 0, 0, 2,128, 0, 0, 0, 0, 3,128, 0, 0, 0, 0, 0,160, 0, 0, 0, 0, 0,160, 0, 0, 2, - 0, 0,160, 0, 0, 4, 0, 0,160, 0, 0, 6, 0, 0,160, 0, 0, 8, 63,255,251,170,191,255,251,156, 63,255,251,166,191,255, -251,158, 63,255,251,166,191,255,251,160, 63,255,251,159,191,255,251,162, 63,255,251,161,191,255,251,154, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 6,126, 6,127, 6,129, 6,125, 6,128, 0, 0, 4,228, 0, 0, 0, 2, - 0, 0, 0, 2, 0, 0, 0, 23, 0, 0, 0, 28, 0, 0, 0,162, 0, 0, 3, 84, 0, 0, 3,246, 0, 0, 4,122, 0, 0, 4,188, - 0, 4, 0, 6, 0, 13, 0, 48, 0, 3, 0, 30, 0, 18, 0, 18, 0, 96, 0, 36, 0, 36, 0, 98, 0, 41, 0, 40, 0,100, 0, 48, - 0, 47, 0,104, 0, 55, 0, 53, 0,108, 0, 59, 0, 59, 0,114, 0, 68, 0, 68, 0,116, 0, 70, 0, 70, 0,118, 0, 73, 0, 73, - 0,120, 0, 76, 0, 76, 0,122, 0, 79, 0, 79, 0,124, 0, 82, 0, 82, 0,126, 0, 88, 0, 86, 0,128,255,255,255,255, 0, 0, - 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 3, 0, 4, - 0, 0, 0, 5, 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 3, 0, 4, 0, 0, 0, 5, 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 3, 0, 4, 0, 0, 0, 5, - 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 2, 0, 3, 0, 4, 0, 10, 0, 5, 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 3, 0, 4, 0, 0, 0, 5, 0, 6, 0, 7, - 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 12, - 0, 2, 0, 3, 0, 4, 0, 0, 0, 5, 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 13, 0, 1, 0, 0, 0, 0, 0, 2, 0, 3, 0, 4, 0, 0, 0, 5, 0, 6, 0, 7, 0, 0, 0, 0, - 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 14, 0, 0, 0, 2, 0, 3, - 0, 4, 0, 0, 0, 5, 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 3, 0, 4, 0, 0, 0, 5, 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 3, 0, 4, 0, 0, - 0, 5, 0, 16, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 2, 0, 3, 0, 4, 0, 0, 0, 5, 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 3, 0, 4, 0, 0, 0, 5, 0, 6, - 0, 7, 0, 0, 0, 0, 0, 18, 0, 8, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 2, 0, 3, 0, 4, 0, 0, 0, 5, 0, 6, 0, 20, 0, 21, 0, 22, 0, 0, 0, 8, 0, 0, 0, 0, 0, 23, 0, 23, - 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 24, - 0, 25, 0, 23, 0, 23, 0, 23, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, - 0, 3, 0, 4, 0, 0, 0, 5, 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -128, 0, 0, 0, 0, 4,128, 0, 0, 0, 0, 5,128, 0, 0, 0, 0, 6,128, 0, 0, 0, 0, 8,128, 0, 0, 0, 0, 10,128, 0, - 0, 0, 0, 12,128, 0, 0, 0, 0, 14,128, 0, 0, 0, 0, 3,128, 0, 0, 0, 0, 0,160, 0, 0, 0, 0, 0,160, 0, 0, 3, - 0, 0,160, 0, 0, 5, 0, 7,128, 0, 0, 0, 0, 0,160, 0, 0, 7, 0, 9,128, 0, 0, 0, 0, 0,160, 0, 0, 10, 0, 11, -128, 0, 0, 0, 0, 0,160, 0, 0, 13, 0, 0,160, 0, 0, 16, 0, 13,128, 0, 0, 0, 0, 0,160, 0, 0, 19, 0, 0,160, 0, - 0, 21, 0, 0, 96, 0, 0, 23, 0, 0,160, 0, 0, 25, 0, 0,160, 0, 0, 28, 0, 0,160, 0, 0, 31, 63,255,255,197, 63,255, -255,221,191,255,255,217, 63,255,255,173,191,255,255,207, 63,255,255,213,191,255,255,208, 63,255,255,216, 63,255,255,224,191,255, -255,210, 63,255,255,196, 63,255,255,249,191,255,255,200, 63,255,255,187, 63,255,255,252,191,255,255,201, 63,255,255,184, 63,255, -255,255,191,255,255,204, 63,255,255,199,191,255,255,203, 63,255,255,198,191,255,255,205, 63,255,255,206,191,255,255,207, 63,255, -255,205, 63,255,255,209,191,255,255,210, 63,255,255,205, 63,255,255,212,191,255,255,213, 63,255,255,200,191,255,255,202, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 5, 0, 0, - 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 11, 0, 0, 0, 12, - 6, 25, 5,241, 6, 14, 6, 15, 5,254, 6, 1, 6, 2, 6,119, 6,120, 6,118, 6,121, 6,122, 6,124, 0, 0, 0, 0, 0,220, - 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0, 28, 0, 0, 0, 62, 0, 0, 0,110, 0, 0, 0,152, 0, 0, 0,184, - 0, 0, 0,200, 0, 4, 0, 6, 0, 2, 0, 12, 0, 1, 0, 0, 0, 4, 0, 4, 0, 30, 0, 34, 0, 34, 0, 32,255,255,255,255, - 0, 0, 0, 4, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 6, 0, 0, 0, 0, 0, 0, 0, 2,128, 0, - 0, 0, 0, 3,128, 0, 0, 0, 0, 0,160, 0, 0, 0, 0, 0,160, 0, 0, 2, 0, 0,160, 0, 0, 4, 0, 0,160, 0, 0, 6, - 63,255,255,252,191,255,255,253, 63,255,255,224,191,255,255,255, 0, 0, 0, 0,191,255,255,227, 63,255,255,228,191,255,255,229, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 5,169, 5,182, 5,181, 5,180, 0, 0, 6, 56, 0, 0, 0, 2, - 0, 0, 0, 8, 0, 0, 0, 14, 0, 0, 0, 28, 0, 0, 0, 84, 0, 0, 2,132, 0, 0, 3,182, 0, 0, 5, 46, 0, 0, 5,234, - 0, 4, 0, 6, 0, 3, 0, 12, 0, 1, 0, 6, 0, 18, 0, 18, 0, 36, 0, 27, 0, 20, 0, 38, 5,177, 5,177, 0, 54,255,255, -255,255, 0, 0, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 2, 0, 3, 0, 4, 0, 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 0, 2, 0, 3, - 0, 4, 0, 5, 0, 0, 0, 6, 0, 0, 0, 8, 0, 9, 0, 9, 0, 9, 0, 9, 0, 9, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, - 0, 14, 0, 9, 0, 15, 0, 9, 0, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 16, - 0, 22, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 0, 0, 6, 0, 0, 0, 24, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 25, 0, 4, 0, 26, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 27, 0, 4, 0, 28, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 29, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 0, 0, 6, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 2, 0, 3, 0, 31, 0, 32, 0, 0, 0, 6, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 3, - 0, 34, 0, 35, 0, 0, 0, 6, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, - 0, 0, 0, 6, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 39, 0, 0, 0, 6, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 40, 0, 0, 0, 6, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 0, 0, 6, 0, 0, 0, 42, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 43, 0, 6, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 45, 0, 6, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 1, - 0, 2, 0, 3, 0, 4, 0, 5, 0, 0, 0, 6, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 3, - 0, 4, 0, 5, 0, 0, 0, 6, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, - 0, 0, 0, 6, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,128, 0, 0, 0, 0, 5,128, 0, 0, 0, 0, 8,128, 0, 0, 0, - 0, 11,128, 0, 0, 0, 0, 14,128, 0, 0, 0, 0, 17,128, 0, 0, 0, 0, 4,128, 0, 0, 0, 0, 3,128, 0, 0, 0, 0, 0, - 96, 0, 0, 0, 0, 0,160, 0, 0, 2, 0, 0,160, 0, 0, 5, 0, 0,160, 0, 0, 8, 0, 0,160, 0, 0, 11, 0, 0,160, 0, - 0, 14, 0, 0,160, 0, 0, 17, 0, 0, 96, 0, 0, 20, 0, 0,160, 0, 0, 22, 0, 0,160, 0, 0, 25, 0, 0,160, 0, 0, 28, - 0, 0,160, 0, 0, 31, 0, 0,160, 0, 0, 34, 0, 0,160, 0, 0, 37, 0, 7,128, 0, 0, 0, 0, 6,128, 0, 0, 0, 0, 0, -160, 0, 0, 40, 0, 0,160, 0, 0, 43, 0, 0,160, 0, 0, 46, 0, 0,160, 0, 0, 49, 0, 10,128, 0, 0, 0, 0, 9,128, 0, - 0, 0, 0, 0,160, 0, 0, 52, 0, 0,160, 0, 0, 55, 0, 0,160, 0, 0, 58, 0, 0,160, 0, 0, 61, 0, 0,160, 0, 0, 64, - 0, 0,160, 0, 0, 67, 0, 13,128, 0, 0, 0, 0, 12,128, 0, 0, 0, 0, 0,160, 0, 0, 70, 0, 0,160, 0, 0, 73, 0, 16, -128, 0, 0, 0, 0, 15,128, 0, 0, 0, 0, 0,160, 0, 0, 76, 0, 0,160, 0, 0, 79, 0, 0,160, 0, 0, 82, 0, 0,160, 0, - 0, 85, 0, 19,128, 0, 0, 0, 0, 18,128, 0, 0, 0, 0, 0,160, 0, 0, 88, 0, 0,160, 0, 0, 91, 63,255,250, 79,191,255, -255,237, 63,255,255,237, 63,255,250, 82,191,255,255,240, 63,255,255,239, 63,255,250, 85,191,255,255,243, 63,255,255,241, 63,255, -250, 88,191,255,255,246, 63,255,255,243, 63,255,250, 91,191,255,255,249, 63,255,255,245, 63,255,250, 94,191,255,255,252, 63,255, -255,246, 63,255,250, 97,191,255,255,255, 0, 0, 0, 2,128, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 5,128, 0, 0, 4, 0, 0, - 0, 3, 0, 0, 0, 8,128, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 11,128, 0, 0, 10, 0, 0, 0, 7, 0, 0, 0, 14,128, 0, - 0, 13, 0, 0, 0, 9, 0, 0, 0, 17,128, 0, 0, 16, 0, 0, 0, 10, 0, 0, 0, 20,128, 0, 0, 19, 0, 0, 0, 18, 63,255, -250,120,128, 0, 0, 21, 0, 0, 0, 19, 63,255,250,123,128, 0, 0, 24, 0, 0, 0, 24, 0, 0, 0, 29,128, 0, 0, 27, 0, 0, - 0, 25, 0, 0, 0, 32,128, 0, 0, 30, 0, 0, 0, 29, 63,255,250,132,128, 0, 0, 32, 0, 0, 0, 31, 63,255,250,135,128, 0, - 0, 35, 0, 0, 0, 31, 63,255,250,138,128, 0, 0, 38, 0, 0, 0, 38, 0, 0, 0, 44,128, 0, 0, 41, 0, 0, 0, 40, 0, 0, - 0, 47,128, 0, 0, 44, 0, 0, 0, 40, 0, 0, 0, 50,128, 0, 0, 47, 0, 0, 0, 46, 63,255,250,150,128, 0, 0, 49, 0, 0, - 0, 49, 0, 0, 0, 56,128, 0, 0, 52, 0, 0, 0, 51, 63,255,250,156,128, 0, 0, 54, 0, 0, 0, 52, 63,255,250,159,128, 0, - 0, 57, 0, 0, 0, 57, 0, 0, 0, 65,128, 0, 0, 60, 0, 0, 0, 58, 0, 0, 0, 68,128, 0, 0, 63, 0, 0, 0, 61, 63,255, -250,168,128, 0, 0, 64, 0, 0, 0, 64, 0, 0, 0, 74,128, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, - 0, 0, 0, 8, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, - 0, 13, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 18, - 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, - 0, 0, 0, 24, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, - 0, 29, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 31, 6, 39, 0,127, 6, 27, 0,126, 6, 29, 6, 33, 6, 35, 6, 39, 0,127, - 6, 27, 0,126, 6, 29, 6, 33, 6, 35, 6, 28, 6, 30, 6, 28, 6, 30, 0,128, 6, 31, 6, 36, 0,128, 6, 31, 6, 36, 6, 32, - 6, 32, 6, 34, 6, 37, 6, 34, 6, 37, 6, 38, 6, 38, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 60, 0, 0, 1, 0, 0, 1, 0, 2, 0, 0, 0, 64, 0, 0, 1, 1, 0, 2, 0, 1, 0, 0, 0, 72,192, 0, 1, 2, - 0, 11, 0, 1, 0, 0, 0, 76,192, 0, 1, 3, 0, 0, 1, 4, 0, 2, 1, 5, 0, 4, 1, 6, 0, 2, 1, 7, 0, 2, 1, 8, - 0, 2, 0, 0, 0, 1, 0, 0, 0, 2, 0, 6, 0, 97, 1,128, 0, 6, 0,198, 0, 3, 0, 3, 0, 10, 0, 5, 0, 4, 0, 11, - 0, 8, 0, 6, 0, 5, 0, 10, 0, 9, 0, 11, 0, 11, 0, 11, 17, 11, 0, 12, 0, 12, 31, 11, 0, 13, 0, 13, 0, 11, 0, 14, - 0, 14, 0, 4, 0, 15, 0, 15, 0, 7, 0, 16, 0, 16, 0, 4, 0, 18, 0, 17, 0, 7, 0, 28, 0, 19, 0, 3, 0, 29, 0, 29, - 0, 7, 0, 30, 0, 30, 0, 11, 0, 31, 0, 31, 18, 11, 0, 32, 0, 32, 0, 11, 0, 33, 0, 33, 30, 11, 0, 35, 0, 34, 0, 11, - 0, 62, 0, 62, 18, 11, 0, 63, 0, 63, 0, 11, 0, 64, 0, 64, 30, 11, 0, 67, 0, 65, 0, 11, 0, 94, 0, 94, 18, 11, 0, 95, - 0, 95, 0, 11, 0, 96, 0, 96, 30, 11, 0, 97, 0, 97, 0, 11, 0, 98, 0, 98, 0, 7, 0, 99, 0, 99, 0, 11, 0,103, 0,100, - 0, 5, 0,107, 0,104, 0, 11, 0,113, 0,109, 0, 11, 0,115, 0,114, 0, 5, 0,117, 0,116, 0, 3, 0,118, 0,118, 0, 11, - 0,122, 0,120, 0, 11, 0,123, 0,123, 0, 3, 0,129, 0,125, 0, 11, 0,153, 0,153, 0, 11, 0,185, 0,185, 0, 11, 2, 19, - 2, 18, 0, 11, 2, 40, 2, 27, 0, 11, 2, 56, 2, 43, 0, 11, 2, 68, 2, 62, 0, 11, 2, 71, 2, 70, 0, 11, 2,154, 2, 72, -128, 11, 2,156, 2,155, 0, 11, 2,160, 2,157,128, 11, 2,162, 2,161, 0, 11, 2,166, 2,164, 0, 11, 2,168, 2,168, 0, 11, - 3, 19, 3, 19, 0, 11, 3,163, 3,160,128, 11, 3,165, 3,164, 0, 11, 4,122, 4,122, 0, 11, 4,123, 4,123, 0, 7, 5,116, - 5,114, 0, 11, 5,127, 5,117, 0, 10, 5,130, 5,128, 0, 11, 5,132, 5,131, 0, 10, 5,156, 5,133, 0, 11, 5,161, 5,157, - 0, 5, 5,165, 5,162, 0, 11, 5,166, 5,166, 17, 11, 5,167, 5,167, 31, 11, 5,176, 5,168, 0, 11, 5,177, 5,177, 0, 7, - 5,178, 5,178, 17, 11, 5,179, 5,179, 31, 11, 5,203, 5,180, 0, 11, 5,204, 5,204, 0, 3, 5,211, 5,206, 0, 3, 5,213, - 5,212, 0, 4, 5,214, 5,214, 0, 11, 5,215, 5,215, 17, 11, 5,216, 5,216, 31, 11, 5,227, 5,218, 0, 3, 5,229, 5,228, - 0, 4, 5,230, 5,230, 0, 11, 5,231, 5,231, 17, 11, 5,232, 5,232, 31, 11, 5,251, 5,233, 0, 5, 5,253, 5,252,128, 11, - 6, 3, 5,254, 0, 11, 6, 10, 6, 8, 0, 11, 6, 16, 6, 13, 0, 11, 6, 18, 6, 18, 0, 11, 6, 21, 6, 21, 0, 5, 6, 22, - 6, 22, 0, 11, 6, 39, 6, 25, 0, 11, 6, 86, 6, 76, 0, 11, 6, 87, 6, 87, 0, 4, 6, 88, 6, 88, 0, 5, 6,102, 6, 89, - 0, 11, 6,103, 6,103, 17, 11, 6,104, 6,104, 31, 11, 6,116, 6,105, 0, 11, 6,130, 6,130, 0, 1,255,255,255,255, 0, 0, -}; + 7,117,110,105, 48, 52, 67, 70, 7,117,110,105, 48, 52, 68, 48, 7,117,110,105, 48, 52, 68, 49, 7,117,110,105, 48, 52, 68, 50, + 7,117,110,105, 48, 52, 68, 51, 7,117,110,105, 48, 52, 68, 52, 7,117,110,105, 48, 52, 68, 53, 7,117,110,105, 48, 52, 68, 54, + 7,117,110,105, 48, 52, 68, 55, 7,117,110,105, 48, 52, 68, 56, 7,117,110,105, 48, 52, 68, 57, 7,117,110,105, 48, 52, 68, 65, + 7,117,110,105, 48, 52, 68, 66, 7,117,110,105, 48, 52, 68, 67, 7,117,110,105, 48, 52, 68, 68, 7,117,110,105, 48, 52, 68, 69, + 7,117,110,105, 48, 52, 68, 70, 7,117,110,105, 48, 52, 69, 48, 7,117,110,105, 48, 52, 69, 49, 7,117,110,105, 48, 52, 69, 50, + 7,117,110,105, 48, 52, 69, 51, 7,117,110,105, 48, 52, 69, 52, 7,117,110,105, 48, 52, 69, 53, 7,117,110,105, 48, 52, 69, 54, + 7,117,110,105, 48, 52, 69, 55, 7,117,110,105, 48, 52, 69, 56, 7,117,110,105, 48, 52, 69, 57, 7,117,110,105, 48, 52, 69, 65, + 7,117,110,105, 48, 52, 69, 66, 7,117,110,105, 48, 52, 69, 67, 7,117,110,105, 48, 52, 69, 68, 7,117,110,105, 48, 52, 69, 69, + 7,117,110,105, 48, 52, 69, 70, 7,117,110,105, 48, 52, 70, 48, 7,117,110,105, 48, 52, 70, 49, 7,117,110,105, 48, 52, 70, 50, + 7,117,110,105, 48, 52, 70, 51, 7,117,110,105, 48, 52, 70, 52, 7,117,110,105, 48, 52, 70, 53, 7,117,110,105, 48, 52, 70, 54, + 7,117,110,105, 48, 52, 70, 55, 7,117,110,105, 48, 52, 70, 56, 7,117,110,105, 48, 52, 70, 57, 7,117,110,105, 48, 52, 70, 65, + 7,117,110,105, 48, 52, 70, 66, 7,117,110,105, 48, 52, 70, 67, 7,117,110,105, 48, 52, 70, 68, 7,117,110,105, 48, 52, 70, 69, + 7,117,110,105, 48, 52, 70, 70, 7,117,110,105, 48, 53, 48, 48, 7,117,110,105, 48, 53, 48, 49, 7,117,110,105, 48, 53, 48, 50, + 7,117,110,105, 48, 53, 48, 51, 7,117,110,105, 48, 53, 48, 52, 7,117,110,105, 48, 53, 48, 53, 7,117,110,105, 48, 53, 48, 54, + 7,117,110,105, 48, 53, 48, 55, 7,117,110,105, 48, 53, 48, 56, 7,117,110,105, 48, 53, 48, 57, 7,117,110,105, 48, 53, 48, 65, + 7,117,110,105, 48, 53, 48, 66, 7,117,110,105, 48, 53, 48, 67, 7,117,110,105, 48, 53, 48, 68, 7,117,110,105, 48, 53, 48, 69, + 7,117,110,105, 48, 53, 48, 70, 7,117,110,105, 48, 53, 49, 48, 7,117,110,105, 48, 53, 49, 49, 7,117,110,105, 48, 53, 49, 50, + 7,117,110,105, 48, 53, 49, 51, 7,117,110,105, 49, 69, 65, 48, 7,117,110,105, 49, 69, 65, 49, 7,117,110,105, 49, 69, 65, 50, + 7,117,110,105, 49, 69, 65, 51, 7,117,110,105, 49, 69, 65, 52, 7,117,110,105, 49, 69, 65, 53, 7,117,110,105, 49, 69, 65, 54, + 7,117,110,105, 49, 69, 65, 55, 7,117,110,105, 49, 69, 65, 56, 7,117,110,105, 49, 69, 65, 57, 7,117,110,105, 49, 69, 65, 65, + 7,117,110,105, 49, 69, 65, 66, 7,117,110,105, 49, 69, 65, 67, 7,117,110,105, 49, 69, 65, 68, 7,117,110,105, 49, 69, 65, 69, + 7,117,110,105, 49, 69, 65, 70, 7,117,110,105, 49, 69, 66, 48, 7,117,110,105, 49, 69, 66, 49, 7,117,110,105, 49, 69, 66, 50, + 7,117,110,105, 49, 69, 66, 51, 7,117,110,105, 49, 69, 66, 52, 7,117,110,105, 49, 69, 66, 53, 7,117,110,105, 49, 69, 66, 54, + 7,117,110,105, 49, 69, 66, 55, 7,117,110,105, 49, 69, 66, 56, 7,117,110,105, 49, 69, 66, 57, 7,117,110,105, 49, 69, 66, 65, + 7,117,110,105, 49, 69, 66, 66, 7,117,110,105, 49, 69, 66, 67, 7,117,110,105, 49, 69, 66, 68, 7,117,110,105, 49, 69, 66, 69, + 7,117,110,105, 49, 69, 66, 70, 7,117,110,105, 49, 69, 67, 48, 7,117,110,105, 49, 69, 67, 49, 7,117,110,105, 49, 69, 67, 50, + 7,117,110,105, 49, 69, 67, 51, 7,117,110,105, 49, 69, 67, 52, 7,117,110,105, 49, 69, 67, 53, 7,117,110,105, 49, 69, 67, 54, + 7,117,110,105, 49, 69, 67, 55, 7,117,110,105, 49, 69, 67, 56, 7,117,110,105, 49, 69, 67, 57, 7,117,110,105, 49, 69, 67, 65, + 7,117,110,105, 49, 69, 67, 66, 7,117,110,105, 49, 69, 67, 67, 7,117,110,105, 49, 69, 67, 68, 7,117,110,105, 49, 69, 67, 69, + 7,117,110,105, 49, 69, 67, 70, 7,117,110,105, 49, 69, 68, 48, 7,117,110,105, 49, 69, 68, 49, 7,117,110,105, 49, 69, 68, 50, + 7,117,110,105, 49, 69, 68, 51, 7,117,110,105, 49, 69, 68, 52, 7,117,110,105, 49, 69, 68, 53, 7,117,110,105, 49, 69, 68, 54, + 7,117,110,105, 49, 69, 68, 55, 7,117,110,105, 49, 69, 68, 56, 7,117,110,105, 49, 69, 68, 57, 7,117,110,105, 49, 69, 68, 65, + 7,117,110,105, 49, 69, 68, 66, 7,117,110,105, 49, 69, 68, 67, 7,117,110,105, 49, 69, 68, 68, 7,117,110,105, 49, 69, 68, 69, + 7,117,110,105, 49, 69, 68, 70, 7,117,110,105, 49, 69, 69, 48, 7,117,110,105, 49, 69, 69, 49, 7,117,110,105, 49, 69, 69, 50, + 7,117,110,105, 49, 69, 69, 51, 7,117,110,105, 49, 69, 69, 52, 7,117,110,105, 49, 69, 69, 53, 7,117,110,105, 49, 69, 69, 54, + 7,117,110,105, 49, 69, 69, 55, 7,117,110,105, 49, 69, 69, 56, 7,117,110,105, 49, 69, 69, 57, 7,117,110,105, 49, 69, 69, 65, + 7,117,110,105, 49, 69, 69, 66, 7,117,110,105, 49, 69, 69, 67, 7,117,110,105, 49, 69, 69, 68, 7,117,110,105, 49, 69, 69, 69, + 7,117,110,105, 49, 69, 69, 70, 7,117,110,105, 49, 69, 70, 48, 7,117,110,105, 49, 69, 70, 49, 7,117,110,105, 49, 69, 70, 52, + 7,117,110,105, 49, 69, 70, 53, 7,117,110,105, 49, 69, 70, 54, 7,117,110,105, 49, 69, 70, 55, 7,117,110,105, 49, 69, 70, 56, + 7,117,110,105, 49, 69, 70, 57, 7,117,110,105, 50, 48, 65, 66, 7,117,110,105, 48, 51, 48, 70, 19, 99,105,114, 99,117,109,102, +108,101,120, 97, 99,117,116,101, 99,111,109, 98, 19, 99,105,114, 99,117,109,102,108,101,120,103,114, 97,118,101, 99,111,109, 98, + 18, 99,105,114, 99,117,109,102,108,101,120,104,111,111,107, 99,111,109, 98, 19, 99,105,114, 99,117,109,102,108,101,120,116,105, +108,100,101, 99,111,109, 98, 14, 98,114,101,118,101, 97, 99,117,116,101, 99,111,109, 98, 14, 98,114,101,118,101,103,114, 97,118, +101, 99,111,109, 98, 13, 98,114,101,118,101,104,111,111,107, 99,111,109, 98, 14, 98,114,101,118,101,116,105,108,100,101, 99,111, +109, 98, 16, 99,121,114,105,108,108,105, 99,104,111,111,107,108,101,102,116, 17, 99,121,114,105,108,108,105, 99, 98,105,103,104, +111,111,107, 85, 67, 17, 99,121,114,105,108,108,105, 99, 98,105,103,104,111,111,107, 76, 67, 0, 0, 0, 0, 2, 0, 5, 0, 2, +255,255, 0, 3, 0, 1, 0, 0, 0, 12, 0, 0, 0, 22, 0, 0, 0, 2, 0, 1, 0, 0, 3,129, 0, 1, 0, 4, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 10, 0, 30, 0, 44, 0, 1,108, 97,116,110, 0, 8, 0, 4, 0, 0, 0, 0,255,255, 0, 1, + 0, 0, 0, 1,107,101,114,110, 0, 8, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0, 2, 0, 8, 0, 1, 0, 8, 0, 1,165, 58, + 0, 4, 0, 0, 1,240, 3,234, 3,234, 7, 76, 7, 90, 8,212, 7, 90, 9, 50, 10,192, 11, 34, 12, 16, 13, 62, 14, 36, 15, 10, + 15,240, 17,126, 18,172, 19,130, 20,176, 20,222, 25, 96, 25,238, 29,144, 33, 54, 35,104, 39,130, 7, 76, 40,104, 40,104, 40,110, + 40,104, 40,128, 41, 26, 41, 48, 41, 54, 40,104, 40,104, 41, 72, 41, 86, 40,110, 41,212, 41,234, 41,234, 42, 0, 42,218, 42,240, + 7, 76, 43,186, 43,200, 43,214, 46, 36, 46, 36, 43,214, 48,102, 50,172, 11, 34, 52,254, 53,228, 52,254, 52,254, 14, 36, 14, 36, + 14, 36, 14, 36, 54,194, 55, 68, 55, 68, 55, 68, 55, 68, 55, 68, 17,126, 56,158, 56,158, 56,158, 56,158, 57,168, 40,104, 40,104, + 40,104, 40,104, 40,104, 40,104, 41, 72, 40,110, 62, 98, 62, 98, 62, 98, 62, 98, 62,108, 62,122, 62,122, 62,122, 62,122, 62,122, + 41, 72, 62,148, 62,148, 62,148, 62,148, 62,158, 64, 36, 9, 50, 40,104, 9, 50, 40,104, 64, 66, 40,104, 11, 34, 40,110, 40,110, + 40,110, 11, 34, 40,110, 65,212, 40,104, 40,104, 40,104, 66, 82, 40,104, 40,104, 14, 36, 66, 88, 14, 36, 15, 10, 41, 54, 15,240, + 15,240, 15,240, 65,212, 15,240, 15,240, 40,104, 40,104, 40,104, 17,126, 41, 72, 41, 72, 17,126, 41, 72, 41, 72, 40,110, 40,110, + 40,110, 67, 66, 40,110, 68, 76, 68, 76, 65,212, 25, 96, 25, 96, 25, 96, 25, 96, 29,144, 41,234, 35,104, 42,218, 72,194, 39,130, + 39,130, 77, 56, 80, 78, 9, 50, 40,104, 40,110, 81, 28, 81, 74, 81, 88, 81,134, 82, 24, 82, 38, 82,140, 83,202, 84, 40, 85,238, + 88,184, 88,218, 89,244, 90, 10, 90,180, 93,242, 94, 0, 95, 26, 95,244, 96,154,100, 64,100,246,101, 32,101,126,101,176,101,190, +102,112,106, 42,106, 48, 40,104,106, 74,106, 42,106,156,106,162,106,208,106,218,107, 8, 40,104,107,122,107,188,107,226,108, 24, +108, 54,108, 68,108, 90,108, 68,108,108,108,138,108,196,108,214, 41, 72,109, 44,109, 62, 41, 72, 41, 72,109,140,110,110,111,100, +114,182,115, 52,115, 74,115,180,116,146,117,100,118, 42,118,160,120, 86,121,244,124, 26,124,196,125, 74,127,136,128,146,129, 88, +129,242,131, 36,132,126,133,148,134,158,139,232,141,118,142, 32,142,218,143,156,144,150,145, 16,145,146,146, 32,146,150,146,252, +147,130,148, 20,148, 50,148,116,148,170,149, 44,149,162,150, 40,150,178,151, 0,151, 94,152, 32,152,178,153, 36,153,154,153,240, +154, 74, 40,110,154,176,155, 34,155,104, 40,110,155,170,155,184, 40,110, 40,110,156, 42,156, 52,156,186,157, 56,157, 62,157,176, +158, 38,148, 20, 29,144, 41,234, 29,144, 41,234, 29,144, 41,234, 35,104, 42,218,161,144,161,144,161,158,161,158, 9, 50, 9, 50, +164,172,164,238,148,116,131, 36,152, 32,145, 16,150, 40,133,148,151, 0,121,244,121,244,128,146,148,170,128,146,148,170,131, 36, +150, 40,132,126,131, 36,150, 40,139,232,152, 32,139,232,152, 32,152, 32,152, 32,131, 36,150, 40,131, 36,150, 40,131, 36,152, 32, +165, 48,142,218,153,154,145, 16,150, 40,132,126,150, 40,134,158,151, 94,118, 42,142,218,153,154,150, 40,142,218,153,154,128,146, +148,170,128,146,148,170,128,146,148,170,142,218,153,154,134,158,151, 94,118, 42,131, 36,150, 40,133,148,151, 0,134,158,151, 94, +134,158,152, 32,134,158,152, 32,142,218,153,154,142,218,153,154,142,218,153,154,118, 42,131, 36,131, 36,115, 74,128,146,148,170, +118, 42,142,218,153,154,142,218,153,154,142,218,153,154,115, 74,121,244,121,244,148,116,148,116,131, 36,150, 40,131, 36,150, 40, +128,146,148,170,131, 36,150, 40,131, 36,131, 36,150, 40,131, 36,150, 40,131, 36,150, 40,131, 36,150, 40,139,232,152, 32,139,232, +152, 32,139,232,152, 32,134,158,151, 94,134,158,151, 94,142,218,153,154,128,146,148,170,131, 36,150, 40,139,232,150, 40,142,218, +153,154,131, 36,150, 40,131, 36,150, 40,131, 36,150, 40,131, 36,150, 40,133,148,151, 0,142,218,153,154, 9, 50, 9, 50, 9, 50, + 9, 50, 9, 50, 9, 50, 9, 50, 9, 50, 9, 50, 9, 50, 9, 50, 9, 50, 40,104, 40,104, 40,104, 40,104, 40,104, 40,104, 40,104, + 40,104, 14, 36, 14, 36, 17,126, 41, 72, 17,126, 41, 72, 17,126, 41, 72, 17,126, 41, 72, 17,126, 41, 72, 17,126, 41, 72, 17,126, + 41, 72,164,172,164,172,164,172,164,172,164,172, 25, 96, 25, 96,164,238,164,238,164,238,164,238,164,238, 35,104, 42,218, 35,104, + 42,218, 35,104, 42,218, 0,216, 0, 36,255,174, 0, 44, 0, 41, 0, 55, 0, 82, 0, 57, 0, 82, 0, 58, 0,102, 0, 59, 0, 41, + 0, 60, 0, 82, 0, 61, 0, 41, 0, 70,255,195, 0, 71,255,195, 0, 72,255,195, 0, 74,255,215, 0, 82,255,195, 0, 84,255,195, + 0, 87, 0, 41, 0, 89, 0, 41, 0, 90, 0, 20, 0, 92, 0, 41, 0,130,255,174, 0,131,255,174, 0,132,255,174, 0,133,255,174, + 0,134,255,174, 0,135,255,174, 0,136,255, 92, 0,142, 0, 41, 0,143, 0, 41, 0,144, 0, 41, 0,145, 0, 41, 0,159, 0, 82, + 0,168,255,195, 0,169,255,195, 0,170,255,195, 0,171,255,195, 0,172,255,195, 0,173,255,195, 0,180,255,195, 0,181,255,195, + 0,182,255,195, 0,183,255,195, 0,184,255,195, 0,186,255,195, 0,191, 0, 41, 0,193, 0, 41, 0,194,255,174, 0,196,255,174, + 0,198,255,174, 0,201,255,195, 0,203,255,195, 0,205,255,195, 0,207,255,195, 0,213,255,195, 0,215,255,195, 0,217,255,195, + 0,219,255,195, 0,221,255,195, 0,236, 0, 41, 0,240, 0, 41, 0,242, 0, 41, 1, 15,255,195, 1, 17,255,195, 1, 19,255,195, + 1, 21,255,195, 1, 36, 0, 82, 1, 38, 0, 82, 1, 54, 0,102, 1, 55, 0, 20, 1, 56, 0, 82, 1, 57, 0, 41, 1, 58, 0, 82, + 1, 59, 0, 41, 1, 61, 0, 41, 1, 63, 0, 41, 1, 67,255,174, 1, 95,255,174, 1,105,255,174, 1,113, 0, 82, 1,121,255,195, + 1,126,255,195, 1,128, 0, 41, 1,130,255,195, 1,138, 0, 41, 1,140,255,195, 1,142,255,195, 1,144,255,195, 1,145, 0, 41, + 1,147,255,195, 1,148, 0, 41, 1,150,255,195, 1,153,255,195, 1,155,255,195, 1,157, 0, 82, 1,164,255,154, 1,166, 0, 82, + 1,168, 0, 61, 1,170,255,174, 1,174,255,133, 1,176, 0, 61, 1,177, 0, 20, 1,181,255,133, 1,188, 0, 82, 1,189, 0, 61, + 1,191, 0, 41, 1,196, 0, 82, 1,207,255,195, 1,216,255,195, 1,219,255,195, 1,220, 0, 41, 1,221, 0, 41, 1,222,255,195, + 1,234,255,195, 1,237,255,195, 1,250, 0,102, 1,251, 0, 20, 1,252, 0,102, 1,253, 0, 20, 1,254, 0,102, 1,255, 0, 20, + 2, 0, 0, 82, 2, 1, 0, 41, 2, 40,255,174, 2, 88,255,174, 2, 96,255,195, 2,106,255,195, 2,109, 0, 41, 2,114,255,174, + 2,118, 0, 61, 2,127,255,195, 2,129, 0, 41, 2,131, 0, 41, 2,133,255,195, 2,135,255,195, 2,137,255,195, 2,139, 0, 41, + 2,141,255,195, 2,159, 0, 61, 2,169, 0, 82, 2,170, 0, 41, 2,178,255,195, 2,180,255,195, 2,181, 0, 82, 2,182, 0, 41, + 2,183, 0, 82, 2,184, 0, 41, 2,185, 0, 82, 2,186, 0, 41, 2,187, 0, 61, 2,189, 0, 82, 2,202, 0, 61, 2,206,255,133, + 2,217,255,174, 2,219,255,174, 2,221,255,174, 2,224,255,195, 2,229, 0, 61, 2,240,255,195, 2,242,255,195, 2,244,255,195, + 2,247, 0, 61, 2,248, 0, 41, 2,249, 0, 61, 2,250, 0, 41, 2,251, 0, 61, 2,252, 0, 41, 3, 5, 0, 61, 3, 7, 0, 61, + 3, 10,255,195, 3, 12,255,195, 3, 14, 0, 41, 3, 16, 0, 41, 3, 17,255,133, 3, 22,255,195, 3, 23, 0, 82, 3, 24, 0, 41, + 3, 26,255,195, 3, 27,255,133, 3, 29,255,174, 3, 31,255,174, 3, 33,255,174, 3, 35,255,174, 3, 37,255,174, 3, 39,255,174, + 3, 41,255,174, 3, 43,255,174, 3, 45,255,174, 3, 47,255,174, 3, 49,255,174, 3, 51,255,174, 3, 54,255,195, 3, 56,255,195, + 3, 58,255,195, 3, 60,255,195, 3, 62,255,195, 3, 64,255,195, 3, 66,255,195, 3, 68,255,195, 3, 69, 0, 41, 3, 71, 0, 41, + 3, 74,255,195, 3, 76,255,195, 3, 78,255,195, 3, 80,255,195, 3, 82,255,195, 3, 84,255,195, 3, 86,255,195, 3, 88,255,195, + 3, 90,255,195, 3, 92,255,195, 3, 94,255,195, 3, 96,255,195, 3,111, 0, 82, 3,112, 0, 41, 3,113, 0, 82, 3,114, 0, 41, + 3,115, 0, 82, 3,116, 0, 41, 0, 3, 0, 45, 0,123, 0,246, 0,123, 1,163, 0,123, 0, 94, 0, 38,255,195, 0, 42,255,195, + 0, 50,255,195, 0, 52,255,195, 0, 55,255,154, 0, 56,255,215, 0, 57,255,154, 0, 58,255,174, 0, 60,255,154, 0,137,255,195, + 0,148,255,195, 0,149,255,195, 0,150,255,195, 0,151,255,195, 0,152,255,195, 0,154,255,195, 0,155,255,215, 0,156,255,215, + 0,157,255,215, 0,158,255,215, 0,159,255,154, 0,200,255,195, 0,206,255,195, 0,222,255,195, 0,224,255,195, 0,226,255,195, + 0,228,255,195, 1, 14,255,195, 1, 18,255,195, 1, 36,255,154, 1, 38,255,154, 1, 44,255,215, 1, 48,255,215, 1, 50,255,215, + 1, 52,255,215, 1, 54,255,174, 1, 56,255,154, 1, 58,255,154, 1,102,255,195, 1,109,255,195, 1,113,255,154, 1,184,255,195, + 1,187,255,195, 1,188,255,154, 1,250,255,174, 1,252,255,174, 1,254,255,174, 2, 0,255,154, 2, 95,255,195, 2, 97,255,215, + 2,108,255,195, 2,126,255,195, 2,132,255,195, 2,134,255,195, 2,136,255,195, 2,138,255,195, 2,140,255,195, 2,169,255,154, + 2,177,255,195, 2,179,255,195, 2,181,255,154, 2,183,255,154, 2,185,255,154, 2,189,255,154, 2,225,255,195, 2,227,255,195, + 2,239,255,195, 2,241,255,195, 2,243,255,195, 3, 21,255,195, 3, 23,255,154, 3, 25,255,195, 3, 73,255,195, 3, 75,255,195, + 3, 77,255,195, 3, 79,255,195, 3, 81,255,195, 3, 83,255,195, 3, 85,255,195, 3, 87,255,195, 3, 89,255,195, 3, 91,255,195, + 3, 93,255,195, 3, 95,255,195, 3, 97,255,215, 3, 99,255,215, 3,101,255,215, 3,103,255,215, 3,105,255,215, 3,107,255,215, + 3,109,255,215, 3,111,255,154, 3,113,255,154, 3,115,255,154, 0, 23, 0, 55,255,154, 1,113,255,154, 1,114,255,195, 1,176, +255,215, 1,181,255,215, 1,188,255,154, 1,196,255,174, 2,118,255,215, 2,159,255,215, 2,169,255,154, 2,181,255,154, 2,183, +255,154, 2,185,255,154, 2,187,255,215, 2,189,255,154, 2,202,255,215, 2,206,255,215, 2,229,255,215, 3, 5,255,215, 3, 7, +255,215, 3, 17,255,215, 3, 23,255,154, 3, 27,255,215, 0, 99, 0, 5,255,174, 0, 10,255,174, 0, 38,255,236, 0, 42,255,236, + 0, 50,255,236, 0, 52,255,236, 0, 55,255,133, 0, 56,255,236, 0, 57,255,195, 0, 58,255,215, 0, 60,255,154, 0,137,255,236, + 0,148,255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, + 0,157,255,236, 0,158,255,236, 0,159,255,154, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226,255,236, + 0,228,255,236, 1, 14,255,236, 1, 18,255,236, 1, 20,255,215, 1, 36,255,133, 1, 38,255,133, 1, 44,255,236, 1, 48,255,236, + 1, 50,255,236, 1, 52,255,236, 1, 54,255,215, 1, 56,255,154, 1, 58,255,154, 1,102,255,236, 1,109,255,236, 1,113,255,133, + 1,184,255,236, 1,187,255,236, 1,188,255,133, 1,250,255,215, 1,252,255,215, 1,254,255,215, 2, 0,255,154, 2, 7,255,174, + 2, 11,255,174, 2, 95,255,236, 2, 97,255,236, 2,108,255,236, 2,126,255,236, 2,132,255,236, 2,134,255,236, 2,136,255,236, + 2,138,255,236, 2,140,255,236, 2,169,255,133, 2,177,255,236, 2,179,255,236, 2,181,255,133, 2,183,255,133, 2,185,255,133, + 2,189,255,133, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, 3, 21,255,236, 3, 23,255,133, + 3, 25,255,236, 3, 73,255,236, 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, + 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, + 3,103,255,236, 3,105,255,236, 3,107,255,236, 3,109,255,236, 3,111,255,154, 3,113,255,154, 3,115,255,154, 0, 24, 0, 44, +255,236, 0, 55,255,236, 0, 57,255,236, 0, 59,255,236, 0, 60,255,236, 0,159,255,236, 1, 36,255,236, 1, 38,255,236, 1, 56, +255,236, 1, 58,255,236, 1,113,255,236, 1,188,255,236, 2, 0,255,236, 2,169,255,236, 2,181,255,236, 2,183,255,236, 2,185, +255,236, 2,189,255,236, 3, 23,255,236, 3, 69,255,236, 3, 71,255,236, 3,111,255,236, 3,113,255,236, 3,115,255,236, 0, 59, + 0, 5, 0, 41, 0, 10, 0, 41, 0, 12, 0, 41, 0, 38,255,215, 0, 42,255,215, 0, 50,255,215, 0, 52,255,215, 0, 64, 0, 41, + 0, 96, 0, 41, 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151,255,215, 0,152,255,215, 0,154,255,215, + 0,200,255,215, 0,206,255,215, 0,222,255,215, 0,224,255,215, 0,226,255,215, 0,228,255,215, 1, 14,255,215, 1, 18,255,215, + 1,102,255,215, 1,109,255,215, 1,184,255,215, 1,187,255,215, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,215, 2,108,255,215, + 2,126,255,215, 2,132,255,215, 2,134,255,215, 2,136,255,215, 2,138,255,215, 2,140,255,215, 2,177,255,215, 2,179,255,215, + 2,225,255,215, 2,227,255,215, 2,239,255,215, 2,241,255,215, 2,243,255,215, 3, 21,255,215, 3, 25,255,215, 3, 73,255,215, + 3, 75,255,215, 3, 77,255,215, 3, 79,255,215, 3, 81,255,215, 3, 83,255,215, 3, 85,255,215, 3, 87,255,215, 3, 89,255,215, + 3, 91,255,215, 3, 93,255,215, 3, 95,255,215, 0, 75, 0, 15,255,195, 0, 17,255,195, 0, 36,255,236, 0, 44,255,236, 0, 55, +255,195, 0, 57,255,236, 0, 58,255,236, 0, 59,255,236, 0, 60,255,215, 0, 61,255,236, 0,130,255,236, 0,131,255,236, 0,132, +255,236, 0,133,255,236, 0,134,255,236, 0,135,255,236, 0,136,255,195, 0,142,255,236, 0,143,255,236, 0,144,255,236, 0,145, +255,236, 0,159,255,215, 0,194,255,236, 0,196,255,236, 0,198,255,236, 0,236,255,236, 0,240,255,236, 0,242,255,236, 1, 36, +255,195, 1, 38,255,195, 1, 54,255,236, 1, 56,255,215, 1, 58,255,215, 1, 59,255,236, 1, 61,255,236, 1, 63,255,236, 1, 67, +255,236, 1, 95,255,236, 1,105,255,236, 1,113,255,195, 1,170,255,236, 1,188,255,195, 1,250,255,236, 1,252,255,236, 1,254, +255,236, 2, 0,255,215, 2, 40,255,236, 2, 88,255,236, 2,114,255,236, 2,169,255,195, 2,181,255,195, 2,183,255,195, 2,185, +255,195, 2,189,255,195, 2,217,255,236, 2,219,255,236, 2,221,255,236, 3, 23,255,195, 3, 29,255,236, 3, 31,255,236, 3, 33, +255,236, 3, 35,255,236, 3, 37,255,236, 3, 39,255,236, 3, 41,255,236, 3, 43,255,236, 3, 45,255,236, 3, 47,255,236, 3, 49, +255,236, 3, 51,255,236, 3, 69,255,236, 3, 71,255,236, 3,111,255,215, 3,113,255,215, 3,115,255,215, 0, 57, 0, 5, 0, 61, + 0, 10, 0, 61, 0, 12, 0, 41, 0, 15,255,154, 0, 17,255,154, 0, 34, 0, 41, 0, 36,255,215, 0, 57, 0, 20, 0, 58, 0, 20, + 0, 60, 0, 20, 0, 64, 0, 41, 0, 96, 0, 41, 0,130,255,215, 0,131,255,215, 0,132,255,215, 0,133,255,215, 0,134,255,215, + 0,135,255,215, 0,136,255,195, 0,159, 0, 20, 0,194,255,215, 0,196,255,215, 0,198,255,215, 1, 54, 0, 20, 1, 56, 0, 20, + 1, 58, 0, 20, 1, 67,255,215, 1, 95,255,215, 1,105,255,215, 1,170,255,215, 1,250, 0, 20, 1,252, 0, 20, 1,254, 0, 20, + 2, 0, 0, 20, 2, 7, 0, 61, 2, 11, 0, 61, 2, 40,255,215, 2, 88,255,215, 2,114,255,215, 2,217,255,215, 2,219,255,215, + 2,221,255,215, 3, 29,255,215, 3, 31,255,215, 3, 33,255,215, 3, 35,255,215, 3, 37,255,215, 3, 39,255,215, 3, 41,255,215, + 3, 43,255,215, 3, 45,255,215, 3, 47,255,215, 3, 49,255,215, 3, 51,255,215, 3,111, 0, 20, 3,113, 0, 20, 3,115, 0, 20, + 0, 57, 0, 5, 0, 41, 0, 10, 0, 41, 0, 38,255,236, 0, 42,255,236, 0, 50,255,236, 0, 52,255,236, 0,137,255,236, 0,148, +255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,200,255,236, 0,206,255,236, 0,222, +255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 14,255,236, 1, 18,255,236, 1, 20,255,236, 1,102,255,236, 1,109, +255,236, 1,184,255,236, 1,187,255,236, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,236, 2,108,255,236, 2,126,255,236, 2,132, +255,236, 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,140,255,236, 2,177,255,236, 2,179,255,236, 2,225,255,236, 2,227, +255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, 3, 21,255,236, 3, 25,255,236, 3, 73,255,236, 3, 75,255,236, 3, 77, +255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93, +255,236, 3, 95,255,236, 0, 57, 0, 5, 0, 41, 0, 10, 0, 41, 0, 38,255,215, 0, 42,255,215, 0, 50,255,215, 0, 52,255,215, + 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151,255,215, 0,152,255,215, 0,154,255,215, 0,200,255,215, + 0,206,255,215, 0,222,255,215, 0,224,255,215, 0,226,255,215, 0,228,255,215, 1, 14,255,215, 1, 18,255,215, 1, 20,255,215, + 1,102,255,215, 1,109,255,215, 1,184,255,215, 1,187,255,215, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,215, 2,108,255,215, + 2,126,255,215, 2,132,255,215, 2,134,255,215, 2,136,255,215, 2,138,255,215, 2,140,255,215, 2,177,255,215, 2,179,255,215, + 2,225,255,215, 2,227,255,215, 2,239,255,215, 2,241,255,215, 2,243,255,215, 3, 21,255,215, 3, 25,255,215, 3, 73,255,215, + 3, 75,255,215, 3, 77,255,215, 3, 79,255,215, 3, 81,255,215, 3, 83,255,215, 3, 85,255,215, 3, 87,255,215, 3, 89,255,215, + 3, 91,255,215, 3, 93,255,215, 3, 95,255,215, 0, 99, 0, 5,255,154, 0, 10,255,154, 0, 38,255,236, 0, 42,255,236, 0, 50, +255,236, 0, 52,255,236, 0, 55,255,133, 0, 56,255,236, 0, 57,255,174, 0, 58,255,195, 0, 60,255,154, 0,137,255,236, 0,148, +255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, 0,157, +255,236, 0,158,255,236, 0,159,255,154, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226,255,236, 0,228, +255,236, 1, 14,255,236, 1, 18,255,236, 1, 20,255,236, 1, 36,255,133, 1, 38,255,133, 1, 44,255,236, 1, 48,255,236, 1, 50, +255,236, 1, 52,255,236, 1, 54,255,195, 1, 56,255,154, 1, 58,255,154, 1,102,255,236, 1,109,255,236, 1,113,255,133, 1,184, +255,236, 1,187,255,236, 1,188,255,133, 1,250,255,195, 1,252,255,195, 1,254,255,195, 2, 0,255,154, 2, 7,255,154, 2, 11, +255,154, 2, 95,255,236, 2, 97,255,236, 2,108,255,236, 2,126,255,236, 2,132,255,236, 2,134,255,236, 2,136,255,236, 2,138, +255,236, 2,140,255,236, 2,169,255,133, 2,177,255,236, 2,179,255,236, 2,181,255,133, 2,183,255,133, 2,185,255,133, 2,189, +255,133, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, 3, 21,255,236, 3, 23,255,133, 3, 25, +255,236, 3, 73,255,236, 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87, +255,236, 3, 89,255,236, 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, 3,103, +255,236, 3,105,255,236, 3,107,255,236, 3,109,255,236, 3,111,255,154, 3,113,255,154, 3,115,255,154, 0, 75, 0, 15,255,195, + 0, 17,255,195, 0, 36,255,236, 0, 44,255,236, 0, 55,255,195, 0, 57,255,215, 0, 58,255,236, 0, 59,255,215, 0, 60,255,215, + 0, 61,255,236, 0,130,255,236, 0,131,255,236, 0,132,255,236, 0,133,255,236, 0,134,255,236, 0,135,255,236, 0,136,255,215, + 0,142,255,236, 0,143,255,236, 0,144,255,236, 0,145,255,236, 0,159,255,215, 0,194,255,236, 0,196,255,236, 0,198,255,236, + 0,236,255,236, 0,240,255,236, 0,242,255,236, 1, 36,255,195, 1, 38,255,195, 1, 54,255,236, 1, 56,255,215, 1, 58,255,215, + 1, 59,255,236, 1, 61,255,236, 1, 63,255,236, 1, 67,255,236, 1, 95,255,236, 1,105,255,236, 1,113,255,195, 1,170,255,236, + 1,188,255,195, 1,250,255,236, 1,252,255,236, 1,254,255,236, 2, 0,255,215, 2, 40,255,236, 2, 88,255,236, 2,114,255,236, + 2,169,255,195, 2,181,255,195, 2,183,255,195, 2,185,255,195, 2,189,255,195, 2,217,255,236, 2,219,255,236, 2,221,255,236, + 3, 23,255,195, 3, 29,255,236, 3, 31,255,236, 3, 33,255,236, 3, 35,255,236, 3, 37,255,236, 3, 39,255,236, 3, 41,255,236, + 3, 43,255,236, 3, 45,255,236, 3, 47,255,236, 3, 49,255,236, 3, 51,255,236, 3, 69,255,236, 3, 71,255,236, 3,111,255,215, + 3,113,255,215, 3,115,255,215, 0, 53, 0, 15,255, 51, 0, 17,255, 51, 0, 36,255,174, 0, 38,255,236, 0, 59,255,236, 0, 60, +255,236, 0, 61,255,215, 0,130,255,174, 0,131,255,174, 0,132,255,174, 0,133,255,174, 0,134,255,174, 0,135,255,174, 0,136, +255,113, 0,137,255,236, 0,159,255,236, 0,194,255,174, 0,196,255,174, 0,198,255,174, 0,200,255,236, 0,206,255,236, 1, 56, +255,236, 1, 58,255,236, 1, 59,255,215, 1, 61,255,215, 1, 63,255,215, 1, 67,255,174, 1, 95,255,174, 1,105,255,174, 1,170, +255,174, 1,187,255,236, 2, 0,255,236, 2, 40,255,174, 2, 88,255,174, 2,114,255,174, 2,217,255,174, 2,219,255,174, 2,221, +255,174, 3, 29,255,174, 3, 31,255,174, 3, 33,255,174, 3, 35,255,174, 3, 37,255,174, 3, 39,255,174, 3, 41,255,174, 3, 43, +255,174, 3, 45,255,174, 3, 47,255,174, 3, 49,255,174, 3, 51,255,174, 3,111,255,236, 3,113,255,236, 3,115,255,236, 0, 75, + 0, 15,255,195, 0, 17,255,195, 0, 36,255,236, 0, 44,255,236, 0, 55,255,195, 0, 57,255,215, 0, 58,255,236, 0, 59,255,215, + 0, 60,255,215, 0, 61,255,236, 0,130,255,236, 0,131,255,236, 0,132,255,236, 0,133,255,236, 0,134,255,236, 0,135,255,236, + 0,136,255,195, 0,142,255,236, 0,143,255,236, 0,144,255,236, 0,145,255,236, 0,159,255,215, 0,194,255,236, 0,196,255,236, + 0,198,255,236, 0,236,255,236, 0,240,255,236, 0,242,255,236, 1, 36,255,195, 1, 38,255,195, 1, 54,255,236, 1, 56,255,215, + 1, 58,255,215, 1, 59,255,236, 1, 61,255,236, 1, 63,255,236, 1, 67,255,236, 1, 95,255,236, 1,105,255,236, 1,113,255,195, + 1,170,255,236, 1,188,255,195, 1,250,255,236, 1,252,255,236, 1,254,255,236, 2, 0,255,215, 2, 40,255,236, 2, 88,255,236, + 2,114,255,236, 2,169,255,195, 2,181,255,195, 2,183,255,195, 2,185,255,195, 2,189,255,195, 2,217,255,236, 2,219,255,236, + 2,221,255,236, 3, 23,255,195, 3, 29,255,236, 3, 31,255,236, 3, 33,255,236, 3, 35,255,236, 3, 37,255,236, 3, 39,255,236, + 3, 41,255,236, 3, 43,255,236, 3, 45,255,236, 3, 47,255,236, 3, 49,255,236, 3, 51,255,236, 3, 69,255,236, 3, 71,255,236, + 3,111,255,215, 3,113,255,215, 3,115,255,215, 0, 11, 0, 55,255,236, 1, 36,255,236, 1, 38,255,236, 1,113,255,236, 1,188, +255,236, 2,169,255,236, 2,181,255,236, 2,183,255,236, 2,185,255,236, 2,189,255,236, 3, 23,255,236, 1, 32, 0, 5, 0, 82, + 0, 10, 0, 82, 0, 15,255,154, 0, 16,255,154, 0, 17,255,154, 0, 34, 0, 41, 0, 36,255,133, 0, 38,255,195, 0, 42,255,195, + 0, 50,255,195, 0, 52,255,195, 0, 54,255,236, 0, 55, 0, 20, 0, 68,255,133, 0, 70,255,133, 0, 71,255,133, 0, 72,255,133, + 0, 74,255,154, 0, 80,255,174, 0, 81,255,174, 0, 82,255,133, 0, 83,255,174, 0, 84,255,133, 0, 85,255,174, 0, 86,255,133, + 0, 88,255,174, 0, 89,255,195, 0, 90,255,195, 0, 91,255,195, 0, 92,255,195, 0, 93,255,195, 0,130,255,133, 0,131,255,133, + 0,132,255,133, 0,133,255,133, 0,134,255,133, 0,135,255,133, 0,136,255,113, 0,137,255,195, 0,148,255,195, 0,149,255,195, + 0,150,255,195, 0,151,255,195, 0,152,255,195, 0,154,255,195, 0,162,255,133, 0,163,255,133, 0,164,255,133, 0,165,255,133, + 0,166,255,133, 0,167,255,133, 0,168,255,133, 0,169,255,133, 0,170,255,133, 0,171,255,133, 0,172,255,133, 0,173,255,133, + 0,179,255,174, 0,180,255,133, 0,181,255,133, 0,182,255,133, 0,183,255,133, 0,184,255,133, 0,186,255,133, 0,187,255,174, + 0,188,255,174, 0,189,255,174, 0,190,255,174, 0,191,255,195, 0,193,255,195, 0,194,255,133, 0,195,255,133, 0,196,255,133, + 0,197,255,133, 0,198,255,133, 0,199,255,133, 0,200,255,195, 0,201,255,133, 0,203,255,133, 0,205,255,133, 0,206,255,195, + 0,207,255,133, 0,213,255,133, 0,215,255,133, 0,217,255,133, 0,219,255,133, 0,221,255,133, 0,222,255,195, 0,224,255,195, + 0,226,255,195, 0,228,255,195, 1, 6,255,174, 1, 8,255,174, 1, 10,255,174, 1, 14,255,195, 1, 15,255,133, 1, 17,255,133, + 1, 18,255,195, 1, 19,255,133, 1, 20,255,195, 1, 21,255,133, 1, 28,255,236, 1, 29,255,133, 1, 31,255,133, 1, 32,255,236, + 1, 33,255,133, 1, 34,255,236, 1, 35,255,133, 1, 36, 0, 20, 1, 38, 0, 20, 1, 55,255,195, 1, 57,255,195, 1, 64,255,195, + 1, 67,255,133, 1, 68,255,133, 1, 74,255,133, 1, 95,255,133, 1,102,255,195, 1,105,255,133, 1,109,255,195, 1,113, 0, 20, + 1,121,255,133, 1,123,255,174, 1,126,255,133, 1,128,255,195, 1,130,255,133, 1,132,255,174, 1,138,255,195, 1,140,255,133, + 1,142,255,133, 1,144,255,133, 1,145,255,195, 1,147,255,133, 1,148,255,195, 1,150,255,133, 1,153,255,133, 1,155,255,133, + 1,160,255,236, 1,170,255,133, 1,184,255,195, 1,187,255,195, 1,188, 0, 20, 1,202,255,133, 1,207,255,133, 1,216,255,133, + 1,219,255,133, 1,220,255,195, 1,221,255,195, 1,222,255,133, 1,234,255,133, 1,237,255,133, 1,238,255,133, 1,251,255,195, + 1,253,255,195, 1,255,255,195, 2, 1,255,195, 2, 2,255,174, 2, 3,255,154, 2, 7, 0, 82, 2, 11, 0, 82, 2, 40,255,133, + 2, 88,255,133, 2, 89,255,133, 2, 95,255,195, 2, 96,255,133, 2,106,255,133, 2,108,255,195, 2,109,255,195, 2,114,255,133, + 2,126,255,195, 2,127,255,133, 2,129,255,195, 2,131,255,195, 2,132,255,195, 2,133,255,133, 2,134,255,195, 2,135,255,133, + 2,136,255,195, 2,137,255,133, 2,138,255,195, 2,139,255,195, 2,140,255,195, 2,141,255,133, 2,169, 0, 20, 2,170,255,195, + 2,177,255,195, 2,178,255,133, 2,179,255,195, 2,180,255,133, 2,181, 0, 20, 2,182,255,195, 2,183, 0, 20, 2,184,255,195, + 2,185, 0, 20, 2,186,255,195, 2,189, 0, 20, 2,217,255,133, 2,218,255,133, 2,219,255,133, 2,220,255,133, 2,221,255,133, + 2,224,255,133, 2,225,255,195, 2,227,255,195, 2,239,255,195, 2,240,255,133, 2,241,255,195, 2,242,255,133, 2,243,255,195, + 2,244,255,133, 2,248,255,195, 2,250,255,195, 2,252,255,195, 3, 10,255,133, 3, 12,255,133, 3, 14,255,195, 3, 16,255,195, + 3, 21,255,195, 3, 22,255,133, 3, 23, 0, 20, 3, 24,255,195, 3, 25,255,195, 3, 26,255,133, 3, 29,255,133, 3, 30,255,133, + 3, 31,255,133, 3, 33,255,133, 3, 34,255,133, 3, 35,255,133, 3, 36,255,133, 3, 37,255,133, 3, 38,255,133, 3, 39,255,133, + 3, 40,255,133, 3, 41,255,133, 3, 42,255,133, 3, 43,255,133, 3, 44,255,133, 3, 45,255,133, 3, 46,255,133, 3, 47,255,133, + 3, 48,255,133, 3, 49,255,133, 3, 50,255,133, 3, 51,255,133, 3, 52,255,133, 3, 54,255,133, 3, 56,255,133, 3, 58,255,133, + 3, 60,255,133, 3, 62,255,133, 3, 64,255,133, 3, 66,255,133, 3, 68,255,133, 3, 73,255,195, 3, 74,255,133, 3, 75,255,195, + 3, 76,255,133, 3, 77,255,195, 3, 78,255,133, 3, 79,255,195, 3, 80,255,133, 3, 81,255,195, 3, 82,255,133, 3, 83,255,195, + 3, 84,255,133, 3, 85,255,195, 3, 86,255,133, 3, 87,255,195, 3, 88,255,133, 3, 89,255,195, 3, 90,255,133, 3, 91,255,195, + 3, 92,255,133, 3, 93,255,195, 3, 94,255,133, 3, 95,255,195, 3, 96,255,133, 3, 98,255,174, 3,100,255,174, 3,102,255,174, + 3,104,255,174, 3,106,255,174, 3,108,255,174, 3,110,255,174, 3,112,255,195, 3,114,255,195, 3,116,255,195, 0, 35, 0, 15, +255,215, 0, 17,255,215, 0, 36,255,236, 0,130,255,236, 0,131,255,236, 0,132,255,236, 0,133,255,236, 0,134,255,236, 0,135, +255,236, 0,136,255,215, 0,194,255,236, 0,196,255,236, 0,198,255,236, 1, 67,255,236, 1, 95,255,236, 1,105,255,236, 1,170, +255,236, 2, 40,255,236, 2, 88,255,236, 2,114,255,236, 2,217,255,236, 2,219,255,236, 2,221,255,236, 3, 29,255,236, 3, 31, +255,236, 3, 33,255,236, 3, 35,255,236, 3, 37,255,236, 3, 39,255,236, 3, 41,255,236, 3, 43,255,236, 3, 45,255,236, 3, 47, +255,236, 3, 49,255,236, 3, 51,255,236, 0,232, 0, 5, 0, 82, 0, 10, 0, 82, 0, 15,255,154, 0, 17,255,154, 0, 34, 0, 41, + 0, 36,255,195, 0, 38,255,215, 0, 42,255,215, 0, 50,255,215, 0, 52,255,215, 0, 68,255,195, 0, 70,255,195, 0, 71,255,195, + 0, 72,255,195, 0, 74,255,195, 0, 80,255,215, 0, 81,255,215, 0, 82,255,195, 0, 83,255,215, 0, 84,255,195, 0, 85,255,215, + 0, 86,255,215, 0, 88,255,215, 0,130,255,195, 0,131,255,195, 0,132,255,195, 0,133,255,195, 0,134,255,195, 0,135,255,195, + 0,136,255,133, 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151,255,215, 0,152,255,215, 0,154,255,215, + 0,162,255,195, 0,163,255,195, 0,164,255,195, 0,165,255,195, 0,166,255,195, 0,167,255,195, 0,168,255,195, 0,169,255,195, + 0,170,255,195, 0,171,255,195, 0,172,255,195, 0,173,255,195, 0,179,255,215, 0,180,255,195, 0,181,255,195, 0,182,255,195, + 0,183,255,195, 0,184,255,195, 0,186,255,195, 0,187,255,215, 0,188,255,215, 0,189,255,215, 0,190,255,215, 0,194,255,195, + 0,195,255,195, 0,196,255,195, 0,197,255,195, 0,198,255,195, 0,199,255,195, 0,200,255,215, 0,201,255,195, 0,203,255,195, + 0,205,255,195, 0,206,255,215, 0,207,255,195, 0,213,255,195, 0,215,255,195, 0,217,255,195, 0,219,255,195, 0,221,255,195, + 0,222,255,215, 0,224,255,215, 0,226,255,215, 0,228,255,215, 1, 6,255,215, 1, 8,255,215, 1, 10,255,215, 1, 14,255,215, + 1, 15,255,195, 1, 17,255,195, 1, 18,255,215, 1, 19,255,195, 1, 20,255,215, 1, 21,255,195, 1, 29,255,215, 1, 31,255,215, + 1, 33,255,215, 1, 35,255,215, 1, 67,255,195, 1, 68,255,195, 1, 74,255,215, 1, 95,255,195, 1,102,255,215, 1,105,255,195, + 1,109,255,215, 1,121,255,195, 1,123,255,215, 1,126,255,195, 1,130,255,195, 1,132,255,215, 1,140,255,195, 1,142,255,195, + 1,144,255,195, 1,147,255,195, 1,150,255,195, 1,153,255,195, 1,155,255,195, 1,170,255,195, 1,184,255,215, 1,187,255,215, + 1,202,255,195, 1,207,255,195, 1,216,255,195, 1,219,255,195, 1,222,255,195, 1,234,255,195, 1,237,255,195, 1,238,255,215, + 2, 7, 0, 82, 2, 11, 0, 82, 2, 40,255,195, 2, 88,255,195, 2, 89,255,195, 2, 95,255,215, 2, 96,255,195, 2,106,255,195, + 2,108,255,215, 2,114,255,195, 2,126,255,215, 2,127,255,195, 2,132,255,215, 2,133,255,195, 2,134,255,215, 2,135,255,195, + 2,136,255,215, 2,137,255,195, 2,138,255,215, 2,140,255,215, 2,141,255,195, 2,177,255,215, 2,178,255,195, 2,179,255,215, + 2,180,255,195, 2,217,255,195, 2,218,255,195, 2,219,255,195, 2,220,255,195, 2,221,255,195, 2,224,255,195, 2,225,255,215, + 2,227,255,215, 2,239,255,215, 2,240,255,195, 2,241,255,215, 2,242,255,195, 2,243,255,215, 2,244,255,195, 3, 10,255,195, + 3, 12,255,195, 3, 21,255,215, 3, 22,255,195, 3, 25,255,215, 3, 26,255,195, 3, 29,255,195, 3, 30,255,195, 3, 31,255,195, + 3, 33,255,195, 3, 34,255,195, 3, 35,255,195, 3, 36,255,195, 3, 37,255,195, 3, 38,255,195, 3, 39,255,195, 3, 40,255,195, + 3, 41,255,195, 3, 42,255,195, 3, 43,255,195, 3, 44,255,195, 3, 45,255,195, 3, 46,255,195, 3, 47,255,195, 3, 48,255,195, + 3, 49,255,195, 3, 50,255,195, 3, 51,255,195, 3, 52,255,195, 3, 54,255,195, 3, 56,255,195, 3, 58,255,195, 3, 60,255,195, + 3, 62,255,195, 3, 64,255,195, 3, 66,255,195, 3, 68,255,195, 3, 73,255,215, 3, 74,255,195, 3, 75,255,215, 3, 76,255,195, + 3, 77,255,215, 3, 78,255,195, 3, 79,255,215, 3, 80,255,195, 3, 81,255,215, 3, 82,255,195, 3, 83,255,215, 3, 84,255,195, + 3, 85,255,215, 3, 86,255,195, 3, 87,255,215, 3, 88,255,195, 3, 89,255,215, 3, 90,255,195, 3, 91,255,215, 3, 92,255,195, + 3, 93,255,215, 3, 94,255,195, 3, 95,255,215, 3, 96,255,195, 3, 98,255,215, 3,100,255,215, 3,102,255,215, 3,104,255,215, + 3,106,255,215, 3,108,255,215, 3,110,255,215, 0,233, 0, 5, 0,102, 0, 10, 0,102, 0, 15,255,174, 0, 17,255,174, 0, 36, +255,215, 0, 38,255,236, 0, 42,255,236, 0, 50,255,236, 0, 52,255,236, 0, 68,255,215, 0, 70,255,215, 0, 71,255,215, 0, 72, +255,215, 0, 74,255,236, 0, 80,255,236, 0, 81,255,236, 0, 82,255,215, 0, 83,255,236, 0, 84,255,215, 0, 85,255,236, 0, 86, +255,215, 0, 88,255,236, 0, 93,255,236, 0,130,255,215, 0,131,255,215, 0,132,255,215, 0,133,255,215, 0,134,255,215, 0,135, +255,215, 0,136,255,174, 0,137,255,236, 0,148,255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154, +255,236, 0,162,255,215, 0,163,255,215, 0,164,255,215, 0,165,255,215, 0,166,255,215, 0,167,255,215, 0,168,255,215, 0,169, +255,215, 0,170,255,215, 0,171,255,215, 0,172,255,215, 0,173,255,215, 0,179,255,236, 0,180,255,215, 0,181,255,215, 0,182, +255,215, 0,183,255,215, 0,184,255,215, 0,186,255,215, 0,187,255,236, 0,188,255,236, 0,189,255,236, 0,190,255,236, 0,194, +255,215, 0,195,255,215, 0,196,255,215, 0,197,255,215, 0,198,255,215, 0,199,255,215, 0,200,255,236, 0,201,255,215, 0,203, +255,215, 0,205,255,215, 0,206,255,236, 0,207,255,215, 0,213,255,215, 0,215,255,215, 0,217,255,215, 0,219,255,215, 0,221, +255,215, 0,222,255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 6,255,236, 1, 8,255,236, 1, 10,255,236, 1, 14, +255,236, 1, 15,255,215, 1, 17,255,215, 1, 18,255,236, 1, 19,255,215, 1, 20,255,236, 1, 21,255,215, 1, 29,255,215, 1, 31, +255,215, 1, 33,255,215, 1, 35,255,215, 1, 64,255,236, 1, 67,255,215, 1, 68,255,215, 1, 74,255,215, 1, 95,255,215, 1,102, +255,236, 1,105,255,215, 1,109,255,236, 1,121,255,215, 1,123,255,236, 1,126,255,215, 1,130,255,215, 1,132,255,236, 1,140, +255,215, 1,142,255,215, 1,144,255,215, 1,147,255,215, 1,150,255,215, 1,153,255,215, 1,155,255,215, 1,170,255,215, 1,184, +255,236, 1,187,255,236, 1,202,255,215, 1,207,255,215, 1,216,255,215, 1,219,255,215, 1,222,255,215, 1,234,255,215, 1,237, +255,215, 1,238,255,215, 2, 7, 0,102, 2, 11, 0,102, 2, 40,255,215, 2, 88,255,215, 2, 89,255,215, 2, 95,255,236, 2, 96, +255,215, 2,106,255,215, 2,108,255,236, 2,114,255,215, 2,126,255,236, 2,127,255,215, 2,132,255,236, 2,133,255,215, 2,134, +255,236, 2,135,255,215, 2,136,255,236, 2,137,255,215, 2,138,255,236, 2,140,255,236, 2,141,255,215, 2,177,255,236, 2,178, +255,215, 2,179,255,236, 2,180,255,215, 2,217,255,215, 2,218,255,215, 2,219,255,215, 2,220,255,215, 2,221,255,215, 2,224, +255,215, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,240,255,215, 2,241,255,236, 2,242,255,215, 2,243,255,236, 2,244, +255,215, 3, 10,255,215, 3, 12,255,215, 3, 21,255,236, 3, 22,255,215, 3, 25,255,236, 3, 26,255,215, 3, 29,255,215, 3, 30, +255,215, 3, 31,255,215, 3, 33,255,215, 3, 34,255,215, 3, 35,255,215, 3, 36,255,215, 3, 37,255,215, 3, 38,255,215, 3, 39, +255,215, 3, 40,255,215, 3, 41,255,215, 3, 42,255,215, 3, 43,255,215, 3, 44,255,215, 3, 45,255,215, 3, 46,255,215, 3, 47, +255,215, 3, 48,255,215, 3, 49,255,215, 3, 50,255,215, 3, 51,255,215, 3, 52,255,215, 3, 54,255,215, 3, 56,255,215, 3, 58, +255,215, 3, 60,255,215, 3, 62,255,215, 3, 64,255,215, 3, 66,255,215, 3, 68,255,215, 3, 73,255,236, 3, 74,255,215, 3, 75, +255,236, 3, 76,255,215, 3, 77,255,236, 3, 78,255,215, 3, 79,255,236, 3, 80,255,215, 3, 81,255,236, 3, 82,255,215, 3, 83, +255,236, 3, 84,255,215, 3, 85,255,236, 3, 86,255,215, 3, 87,255,236, 3, 88,255,215, 3, 89,255,236, 3, 90,255,215, 3, 91, +255,236, 3, 92,255,215, 3, 93,255,236, 3, 94,255,215, 3, 95,255,236, 3, 96,255,215, 3, 98,255,236, 3,100,255,236, 3,102, +255,236, 3,104,255,236, 3,106,255,236, 3,108,255,236, 3,110,255,236, 0,140, 0, 5, 0, 41, 0, 10, 0, 41, 0, 38,255,215, + 0, 42,255,215, 0, 50,255,215, 0, 52,255,215, 0, 70,255,236, 0, 71,255,236, 0, 72,255,236, 0, 82,255,236, 0, 84,255,236, + 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151,255,215, 0,152,255,215, 0,154,255,215, 0,168,255,236, + 0,169,255,236, 0,170,255,236, 0,171,255,236, 0,172,255,236, 0,173,255,236, 0,180,255,236, 0,181,255,236, 0,182,255,236, + 0,183,255,236, 0,184,255,236, 0,186,255,236, 0,200,255,215, 0,201,255,236, 0,203,255,236, 0,205,255,236, 0,206,255,215, + 0,207,255,236, 0,213,255,236, 0,215,255,236, 0,217,255,236, 0,219,255,236, 0,221,255,236, 0,222,255,215, 0,224,255,215, + 0,226,255,215, 0,228,255,215, 1, 14,255,215, 1, 15,255,236, 1, 17,255,236, 1, 18,255,215, 1, 19,255,236, 1, 20,255,215, + 1, 21,255,236, 1,102,255,215, 1,109,255,215, 1,121,255,236, 1,126,255,236, 1,130,255,236, 1,140,255,236, 1,142,255,236, + 1,144,255,236, 1,147,255,236, 1,150,255,236, 1,153,255,236, 1,155,255,236, 1,184,255,215, 1,187,255,215, 1,207,255,236, + 1,216,255,236, 1,219,255,236, 1,222,255,236, 1,234,255,236, 1,237,255,236, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,215, + 2, 96,255,236, 2,106,255,236, 2,108,255,215, 2,126,255,215, 2,127,255,236, 2,132,255,215, 2,133,255,236, 2,134,255,215, + 2,135,255,236, 2,136,255,215, 2,137,255,236, 2,138,255,215, 2,140,255,215, 2,141,255,236, 2,177,255,215, 2,178,255,236, + 2,179,255,215, 2,180,255,236, 2,224,255,236, 2,225,255,215, 2,227,255,215, 2,239,255,215, 2,240,255,236, 2,241,255,215, + 2,242,255,236, 2,243,255,215, 2,244,255,236, 3, 10,255,236, 3, 12,255,236, 3, 21,255,215, 3, 22,255,236, 3, 25,255,215, + 3, 26,255,236, 3, 54,255,236, 3, 56,255,236, 3, 58,255,236, 3, 60,255,236, 3, 62,255,236, 3, 64,255,236, 3, 66,255,236, + 3, 68,255,236, 3, 73,255,215, 3, 74,255,236, 3, 75,255,215, 3, 76,255,236, 3, 77,255,215, 3, 78,255,236, 3, 79,255,215, + 3, 80,255,236, 3, 81,255,215, 3, 82,255,236, 3, 83,255,215, 3, 84,255,236, 3, 85,255,215, 3, 86,255,236, 3, 87,255,215, + 3, 88,255,236, 3, 89,255,215, 3, 90,255,236, 3, 91,255,215, 3, 92,255,236, 3, 93,255,215, 3, 94,255,236, 3, 95,255,215, + 3, 96,255,236, 1, 6, 0, 5, 0, 82, 0, 10, 0, 82, 0, 15,255,154, 0, 17,255,154, 0, 34, 0, 41, 0, 36,255,154, 0, 38, +255,215, 0, 42,255,215, 0, 50,255,215, 0, 52,255,215, 0, 54,255,236, 0, 68,255,154, 0, 70,255,154, 0, 71,255,154, 0, 72, +255,154, 0, 74,255,154, 0, 80,255,195, 0, 81,255,195, 0, 82,255,154, 0, 83,255,195, 0, 84,255,154, 0, 85,255,195, 0, 86, +255,174, 0, 88,255,195, 0, 91,255,215, 0, 92,255,236, 0, 93,255,195, 0,130,255,154, 0,131,255,154, 0,132,255,154, 0,133, +255,154, 0,134,255,154, 0,135,255,154, 0,136,255,113, 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151, +255,215, 0,152,255,215, 0,154,255,215, 0,162,255,154, 0,163,255,154, 0,164,255,154, 0,165,255,154, 0,166,255,154, 0,167, +255,154, 0,168,255,154, 0,169,255,154, 0,170,255,154, 0,171,255,154, 0,172,255,154, 0,173,255,154, 0,179,255,195, 0,180, +255,154, 0,181,255,154, 0,182,255,154, 0,183,255,154, 0,184,255,154, 0,186,255,154, 0,187,255,195, 0,188,255,195, 0,189, +255,195, 0,190,255,195, 0,191,255,236, 0,193,255,236, 0,194,255,154, 0,195,255,154, 0,196,255,154, 0,197,255,154, 0,198, +255,154, 0,199,255,154, 0,200,255,215, 0,201,255,154, 0,203,255,154, 0,205,255,154, 0,206,255,215, 0,207,255,154, 0,213, +255,154, 0,215,255,154, 0,217,255,154, 0,219,255,154, 0,221,255,154, 0,222,255,215, 0,224,255,215, 0,226,255,215, 0,228, +255,215, 1, 6,255,195, 1, 8,255,195, 1, 10,255,195, 1, 14,255,215, 1, 15,255,154, 1, 17,255,154, 1, 18,255,215, 1, 19, +255,154, 1, 20,255,215, 1, 21,255,154, 1, 28,255,236, 1, 29,255,174, 1, 31,255,174, 1, 32,255,236, 1, 33,255,174, 1, 34, +255,236, 1, 35,255,174, 1, 57,255,236, 1, 64,255,195, 1, 67,255,154, 1, 68,255,154, 1, 74,255,174, 1, 95,255,154, 1,102, +255,215, 1,105,255,154, 1,109,255,215, 1,121,255,154, 1,123,255,195, 1,126,255,154, 1,128,255,236, 1,130,255,154, 1,132, +255,195, 1,138,255,236, 1,140,255,154, 1,142,255,154, 1,144,255,154, 1,147,255,154, 1,150,255,154, 1,153,255,154, 1,155, +255,154, 1,160,255,236, 1,170,255,154, 1,184,255,215, 1,187,255,215, 1,202,255,154, 1,207,255,154, 1,216,255,154, 1,219, +255,154, 1,221,255,236, 1,222,255,154, 1,234,255,154, 1,237,255,154, 1,238,255,174, 2, 1,255,236, 2, 7, 0, 82, 2, 11, + 0, 82, 2, 40,255,154, 2, 88,255,154, 2, 89,255,154, 2, 95,255,215, 2, 96,255,154, 2,106,255,154, 2,108,255,215, 2,109, +255,236, 2,114,255,154, 2,126,255,215, 2,127,255,154, 2,129,255,236, 2,131,255,236, 2,132,255,215, 2,133,255,154, 2,134, +255,215, 2,135,255,154, 2,136,255,215, 2,137,255,154, 2,138,255,215, 2,139,255,236, 2,140,255,215, 2,141,255,154, 2,177, +255,215, 2,178,255,154, 2,179,255,215, 2,180,255,154, 2,184,255,236, 2,186,255,236, 2,217,255,154, 2,218,255,154, 2,219, +255,154, 2,220,255,154, 2,221,255,154, 2,224,255,154, 2,225,255,215, 2,227,255,215, 2,239,255,215, 2,240,255,154, 2,241, +255,215, 2,242,255,154, 2,243,255,215, 2,244,255,154, 2,248,255,236, 2,250,255,236, 2,252,255,236, 3, 10,255,154, 3, 12, +255,154, 3, 14,255,236, 3, 16,255,236, 3, 21,255,215, 3, 22,255,154, 3, 25,255,215, 3, 26,255,154, 3, 29,255,154, 3, 30, +255,154, 3, 31,255,154, 3, 33,255,154, 3, 34,255,154, 3, 35,255,154, 3, 36,255,154, 3, 37,255,154, 3, 38,255,154, 3, 39, +255,154, 3, 40,255,154, 3, 41,255,154, 3, 42,255,154, 3, 43,255,154, 3, 44,255,154, 3, 45,255,154, 3, 46,255,154, 3, 47, +255,154, 3, 48,255,154, 3, 49,255,154, 3, 50,255,154, 3, 51,255,154, 3, 52,255,154, 3, 54,255,154, 3, 56,255,154, 3, 58, +255,154, 3, 60,255,154, 3, 62,255,154, 3, 64,255,154, 3, 66,255,154, 3, 68,255,154, 3, 73,255,215, 3, 74,255,154, 3, 75, +255,215, 3, 76,255,154, 3, 77,255,215, 3, 78,255,154, 3, 79,255,215, 3, 80,255,154, 3, 81,255,215, 3, 82,255,154, 3, 83, +255,215, 3, 84,255,154, 3, 85,255,215, 3, 86,255,154, 3, 87,255,215, 3, 88,255,154, 3, 89,255,215, 3, 90,255,154, 3, 91, +255,215, 3, 92,255,154, 3, 93,255,215, 3, 94,255,154, 3, 95,255,215, 3, 96,255,154, 3, 98,255,195, 3,100,255,195, 3,102, +255,195, 3,104,255,195, 3,106,255,195, 3,108,255,195, 3,110,255,195, 3,112,255,236, 3,114,255,236, 3,116,255,236, 0, 57, + 0, 5, 0, 41, 0, 10, 0, 41, 0, 38,255,236, 0, 42,255,236, 0, 50,255,236, 0, 52,255,236, 0,137,255,236, 0,148,255,236, + 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,200,255,236, 0,206,255,236, 0,222,255,236, + 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 14,255,236, 1, 18,255,236, 1, 20,255,215, 1,102,255,236, 1,109,255,236, + 1,184,255,236, 1,187,255,236, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,236, 2,108,255,236, 2,126,255,236, 2,132,255,236, + 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,140,255,236, 2,177,255,236, 2,179,255,236, 2,225,255,236, 2,227,255,236, + 2,239,255,236, 2,241,255,236, 2,243,255,236, 3, 21,255,236, 3, 25,255,236, 3, 73,255,236, 3, 75,255,236, 3, 77,255,236, + 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93,255,236, + 3, 95,255,236, 0, 1, 0, 10,255,215, 0, 4, 0, 5, 0, 61, 0, 10, 0, 61, 2, 7, 0, 61, 2, 11, 0, 61, 0, 38, 0, 5, + 0,102, 0, 10, 0,102, 0, 89, 0, 20, 0, 90, 0, 20, 0, 92, 0, 20, 0,191, 0, 20, 0,193, 0, 20, 1, 55, 0, 20, 1, 57, + 0, 20, 1,128, 0, 20, 1,138, 0, 20, 1,145, 0, 20, 1,148, 0, 20, 1,220, 0, 20, 1,221, 0, 20, 1,251, 0, 20, 1,253, + 0, 20, 1,255, 0, 20, 2, 1, 0, 20, 2, 7, 0,102, 2, 11, 0,102, 2,109, 0, 20, 2,129, 0, 20, 2,131, 0, 20, 2,139, + 0, 20, 2,170, 0, 20, 2,182, 0, 20, 2,184, 0, 20, 2,186, 0, 20, 2,248, 0, 20, 2,250, 0, 20, 2,252, 0, 20, 3, 14, + 0, 20, 3, 16, 0, 20, 3, 24, 0, 20, 3,112, 0, 20, 3,114, 0, 20, 3,116, 0, 20, 0, 5, 0, 5, 0, 41, 0, 10, 0, 41, + 0, 74, 0, 20, 2, 7, 0, 41, 2, 11, 0, 41, 0, 1, 0, 10,255,195, 0, 4, 0, 5, 0, 41, 0, 10, 0, 41, 2, 7, 0, 41, + 2, 11, 0, 41, 0, 3, 0, 91,255,215, 0, 93,255,236, 1, 64,255,236, 0, 31, 0, 5, 0,102, 0, 10, 0,102, 0, 68,255,236, + 0, 74,255,236, 0,162,255,236, 0,163,255,236, 0,164,255,236, 0,165,255,236, 0,166,255,236, 0,167,255,236, 0,195,255,236, + 0,197,255,236, 0,199,255,236, 1, 68,255,236, 1,202,255,236, 2, 7, 0,102, 2, 11, 0,102, 2, 89,255,236, 2,218,255,236, + 2,220,255,236, 3, 30,255,236, 3, 34,255,236, 3, 36,255,236, 3, 38,255,236, 3, 40,255,236, 3, 42,255,236, 3, 44,255,236, + 3, 46,255,236, 3, 48,255,236, 3, 50,255,236, 3, 52,255,236, 0, 5, 0, 5, 0, 82, 0, 10, 0, 82, 0, 87, 0, 20, 2, 7, + 0, 82, 2, 11, 0, 82, 0, 5, 0, 5, 0, 82, 0, 10, 0, 82, 0, 73, 0, 20, 2, 7, 0, 82, 2, 11, 0, 82, 0, 54, 0, 5, + 0, 41, 0, 10, 0, 41, 0, 82,255,215, 0,168,255,215, 0,180,255,215, 0,181,255,215, 0,182,255,215, 0,183,255,215, 0,184, +255,215, 0,186,255,215, 1, 15,255,215, 1, 17,255,215, 1, 19,255,215, 1, 21,255,215, 1,140,255,215, 1,142,255,215, 1,144, +255,215, 1,147,255,215, 1,150,255,215, 1,153,255,215, 1,155,255,215, 1,216,255,215, 1,222,255,215, 2, 7, 0, 41, 2, 11, + 0, 41, 2, 96,255,215, 2,106,255,215, 2,127,255,215, 2,133,255,215, 2,135,255,215, 2,137,255,215, 2,141,255,215, 2,178, +255,215, 2,180,255,215, 2,224,255,215, 2,240,255,215, 2,242,255,215, 2,244,255,215, 3, 10,255,215, 3, 12,255,215, 3, 22, +255,215, 3, 26,255,215, 3, 74,255,215, 3, 76,255,215, 3, 78,255,215, 3, 80,255,215, 3, 82,255,215, 3, 84,255,215, 3, 86, +255,215, 3, 88,255,215, 3, 90,255,215, 3, 92,255,215, 3, 94,255,215, 3, 96,255,215, 0, 5, 0, 5, 0, 61, 0, 10, 0, 61, + 0, 73, 0, 20, 2, 7, 0, 61, 2, 11, 0, 61, 0, 50, 0, 82,255,236, 0,168,255,236, 0,180,255,236, 0,181,255,236, 0,182, +255,236, 0,183,255,236, 0,184,255,236, 0,186,255,236, 1, 15,255,236, 1, 17,255,236, 1, 19,255,236, 1, 21,255,236, 1,140, +255,236, 1,142,255,236, 1,144,255,236, 1,147,255,236, 1,150,255,236, 1,153,255,236, 1,155,255,236, 1,216,255,236, 1,222, +255,236, 2, 96,255,236, 2,106,255,236, 2,127,255,236, 2,133,255,236, 2,135,255,236, 2,137,255,236, 2,141,255,236, 2,178, +255,236, 2,180,255,236, 2,224,255,236, 2,240,255,236, 2,242,255,236, 2,244,255,236, 3, 10,255,236, 3, 12,255,236, 3, 22, +255,236, 3, 26,255,236, 3, 74,255,236, 3, 76,255,236, 3, 78,255,236, 3, 80,255,236, 3, 82,255,236, 3, 84,255,236, 3, 86, +255,236, 3, 88,255,236, 3, 90,255,236, 3, 92,255,236, 3, 94,255,236, 3, 96,255,236, 0, 3, 1,113,255,215, 1,120,255,215, + 1,145, 0, 41, 0, 3, 1,113,255,154, 1,114,255,195, 1,120,255,195, 0,147, 0, 5,255,174, 0, 10,255,174, 0, 13,255,133, + 0, 15, 0, 68, 0, 30, 0, 68, 0, 34,255,195, 0, 38,255,236, 0, 42,255,236, 0, 45, 0, 94, 0, 50,255,236, 0, 52,255,236, + 0, 55,255,133, 0, 56,255,236, 0, 57,255,195, 0, 58,255,215, 0, 60,255,154, 0, 61, 0, 59, 0, 73,255,236, 0, 87,255,236, + 0, 89,255,215, 0, 90,255,236, 0, 92,255,215, 0,130,255,215, 0,137,255,236, 0,148,255,236, 0,149,255,236, 0,150,255,236, + 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, 0,157,255,236, 0,158,255,236, 0,159,255,154, + 0,191,255,215, 0,193,255,215, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, + 0,246, 0, 94, 1, 14,255,236, 1, 18,255,236, 1, 20,255,215, 1, 36,255,133, 1, 38,255,133, 1, 44,255,236, 1, 48,255,236, + 1, 50,255,236, 1, 52,255,236, 1, 54,255,215, 1, 55,255,236, 1, 56,255,154, 1, 57,255,215, 1, 58,255,154, 1, 59, 0, 59, + 1, 61, 0, 59, 1, 63, 0, 59, 1,102,255,236, 1,109,255,236, 1,113,255,133, 1,128,255,215, 1,138,255,215, 1,145,255,215, + 1,148,255,215, 1,163, 0, 94, 1,184,255,236, 1,187,255,236, 1,188,255,133, 1,220,255,215, 1,221,255,215, 1,250,255,215, + 1,251,255,236, 1,252,255,215, 1,253,255,236, 1,254,255,215, 1,255,255,236, 2, 0,255,154, 2, 1,255,215, 2, 7,255,174, + 2, 11,255,174, 2, 95,255,236, 2, 97,255,236, 2,108,255,236, 2,109,255,215, 2,126,255,236, 2,129,255,215, 2,131,255,215, + 2,132,255,236, 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,139,255,215, 2,140,255,236, 2,169,255,133, 2,170,255,215, + 2,177,255,236, 2,179,255,236, 2,181,255,133, 2,182,255,215, 2,183,255,133, 2,184,255,215, 2,185,255,133, 2,186,255,215, + 2,189,255,133, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, 2,248,255,215, 2,250,255,215, + 2,252,255,215, 3, 14,255,215, 3, 16,255,215, 3, 21,255,236, 3, 23,255,133, 3, 24,255,215, 3, 25,255,236, 3, 73,255,236, + 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, + 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, 3,103,255,236, 3,105,255,236, + 3,107,255,236, 3,109,255,236, 3,111,255,154, 3,112,255,215, 3,113,255,154, 3,114,255,215, 3,115,255,154, 3,116,255,215, + 0,144, 0, 5,255,174, 0, 10,255,174, 0, 13,255,133, 0, 15, 0, 68, 0, 30, 0, 68, 0, 34,255,195, 0, 38,255,236, 0, 42, +255,236, 0, 50,255,236, 0, 52,255,236, 0, 55,255,133, 0, 56,255,236, 0, 57,255,195, 0, 58,255,215, 0, 60,255,154, 0, 61, + 0, 59, 0, 73,255,236, 0, 87,255,236, 0, 89,255,215, 0, 90,255,236, 0, 92,255,215, 0,137,255,236, 0,148,255,236, 0,149, +255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, 0,157,255,236, 0,158, +255,236, 0,159,255,154, 0,191,255,215, 0,193,255,215, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226, +255,236, 0,228,255,236, 1, 14,255,236, 1, 18,255,236, 1, 20,255,215, 1, 36,255,133, 1, 38,255,133, 1, 44,255,236, 1, 48, +255,236, 1, 50,255,236, 1, 52,255,236, 1, 54,255,215, 1, 55,255,236, 1, 56,255,154, 1, 57,255,215, 1, 58,255,154, 1, 59, + 0, 59, 1, 61, 0, 59, 1, 63, 0, 59, 1,102,255,236, 1,109,255,236, 1,113,255,133, 1,128,255,215, 1,138,255,215, 1,145, +255,215, 1,148,255,215, 1,163, 0, 94, 1,184,255,236, 1,187,255,236, 1,188,255,133, 1,220,255,215, 1,221,255,215, 1,250, +255,215, 1,251,255,236, 1,252,255,215, 1,253,255,236, 1,254,255,215, 1,255,255,236, 2, 0,255,154, 2, 1,255,215, 2, 7, +255,174, 2, 11,255,174, 2, 95,255,236, 2, 97,255,236, 2,108,255,236, 2,109,255,215, 2,126,255,236, 2,129,255,215, 2,131, +255,215, 2,132,255,236, 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,139,255,215, 2,140,255,236, 2,169,255,133, 2,170, +255,215, 2,177,255,236, 2,179,255,236, 2,181,255,133, 2,182,255,215, 2,183,255,133, 2,184,255,215, 2,185,255,133, 2,186, +255,215, 2,189,255,133, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, 2,248,255,215, 2,250, +255,215, 2,252,255,215, 3, 14,255,215, 3, 16,255,215, 3, 21,255,236, 3, 23,255,133, 3, 24,255,215, 3, 25,255,236, 3, 73, +255,236, 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89, +255,236, 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, 3,103,255,236, 3,105, +255,236, 3,107,255,236, 3,109,255,236, 3,111,255,154, 3,112,255,215, 3,113,255,154, 3,114,255,215, 3,115,255,154, 3,116, +255,215, 0,145, 0, 5,255,174, 0, 10,255,174, 0, 13,255,127, 0, 15, 0, 68, 0, 30, 0, 68, 0, 34,255,215, 0, 38,255,236, + 0, 42,255,236, 0, 45, 0, 94, 0, 50,255,236, 0, 52,255,236, 0, 55,255,133, 0, 56,255,236, 0, 57,255,195, 0, 58,255,215, + 0, 60,255,154, 0, 61, 0, 59, 0, 87,255,229, 0, 89,255,213, 0, 90,255,229, 0, 92,255,219, 0,137,255,236, 0,148,255,236, + 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, 0,157,255,236, + 0,158,255,236, 0,159,255,154, 0,191,255,219, 0,193,255,219, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, + 0,226,255,236, 0,228,255,236, 0,246, 0, 94, 1, 14,255,236, 1, 18,255,236, 1, 20,255,215, 1, 36,255,133, 1, 38,255,133, + 1, 44,255,236, 1, 48,255,236, 1, 50,255,236, 1, 52,255,236, 1, 54,255,215, 1, 55,255,229, 1, 56,255,154, 1, 57,255,219, + 1, 58,255,154, 1, 59, 0, 59, 1, 61, 0, 59, 1, 63, 0, 59, 1,102,255,236, 1,109,255,236, 1,113,255,133, 1,128,255,219, + 1,138,255,213, 1,145,255,213, 1,148,255,213, 1,163, 0, 94, 1,184,255,236, 1,187,255,236, 1,188,255,133, 1,220,255,213, + 1,221,255,219, 1,250,255,215, 1,251,255,229, 1,252,255,215, 1,253,255,229, 1,254,255,215, 1,255,255,229, 2, 0,255,154, + 2, 1,255,219, 2, 7,255,174, 2, 11,255,174, 2, 95,255,236, 2, 97,255,236, 2,108,255,236, 2,109,255,219, 2,126,255,236, + 2,129,255,219, 2,131,255,219, 2,132,255,236, 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,139,255,219, 2,140,255,236, + 2,169,255,133, 2,170,255,213, 2,177,255,236, 2,179,255,236, 2,181,255,133, 2,182,255,213, 2,183,255,133, 2,184,255,219, + 2,185,255,133, 2,186,255,219, 2,189,255,133, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, + 2,248,255,219, 2,250,255,219, 2,252,255,219, 3, 14,255,219, 3, 16,255,219, 3, 21,255,236, 3, 23,255,133, 3, 24,255,213, + 3, 25,255,236, 3, 73,255,236, 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, + 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, + 3,103,255,236, 3,105,255,236, 3,107,255,236, 3,109,255,236, 3,111,255,154, 3,112,255,219, 3,113,255,154, 3,114,255,219, + 3,115,255,154, 3,116,255,219, 0,148, 0, 5,255,102, 0, 10,255,102, 0, 13,255,127, 0, 15, 0, 68, 0, 30, 0, 68, 0, 34, +255,215, 0, 38,255,236, 0, 42,255,236, 0, 45, 0, 94, 0, 50,255,236, 0, 52,255,236, 0, 55,255,133, 0, 56,255,236, 0, 57, +255,195, 0, 58,255,215, 0, 60,255,154, 0, 61, 0, 59, 0, 87,255,229, 0, 89,255,213, 0, 90,255,229, 0, 92,255,219, 0,137, +255,236, 0,148,255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156, +255,236, 0,157,255,236, 0,158,255,236, 0,159,255,154, 0,191,255,219, 0,193,255,219, 0,200,255,236, 0,206,255,236, 0,222, +255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 0,246, 0, 94, 1, 14,255,236, 1, 18,255,236, 1, 20,255,215, 1, 36, +255,133, 1, 38,255,133, 1, 44,255,236, 1, 48,255,236, 1, 50,255,236, 1, 52,255,236, 1, 54,255,215, 1, 55,255,229, 1, 56, +255,154, 1, 57,255,219, 1, 58,255,154, 1, 59, 0, 59, 1, 61, 0, 59, 1, 63, 0, 59, 1,102,255,236, 1,109,255,236, 1,113, +255,133, 1,128,255,219, 1,138,255,213, 1,145,255,213, 1,148,255,213, 1,163, 0, 94, 1,184,255,236, 1,187,255,236, 1,188, +255,133, 1,220,255,213, 1,221,255,219, 1,250,255,215, 1,251,255,229, 1,252,255,215, 1,253,255,229, 1,254,255,215, 1,255, +255,229, 2, 0,255,154, 2, 1,255,219, 2, 6,255,102, 2, 7,255,174, 2, 10,255,102, 2, 11,255,174, 2, 32,255,154, 2, 95, +255,236, 2, 97,255,236, 2,108,255,236, 2,109,255,219, 2,126,255,236, 2,129,255,219, 2,131,255,219, 2,132,255,236, 2,134, +255,236, 2,136,255,236, 2,138,255,236, 2,139,255,219, 2,140,255,236, 2,169,255,133, 2,170,255,213, 2,177,255,236, 2,179, +255,236, 2,181,255,133, 2,182,255,213, 2,183,255,133, 2,184,255,219, 2,185,255,133, 2,186,255,219, 2,189,255,133, 2,225, +255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, 2,248,255,219, 2,250,255,219, 2,252,255,219, 3, 14, +255,219, 3, 16,255,219, 3, 21,255,236, 3, 23,255,133, 3, 24,255,213, 3, 25,255,236, 3, 73,255,236, 3, 75,255,236, 3, 77, +255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93, +255,236, 3, 95,255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, 3,103,255,236, 3,105,255,236, 3,107,255,236, 3,109, +255,236, 3,111,255,154, 3,112,255,219, 3,113,255,154, 3,114,255,219, 3,115,255,154, 3,116,255,219, 0, 57, 0, 5, 0, 41, + 0, 10, 0, 41, 0, 16,255,215, 0, 38,255,236, 0, 50,255,236, 0, 52,255,236, 0,132,255,236, 0,137,255,236, 0,138,255,236, + 0,143,255,236, 0,148,255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,200,255,236, + 0,206,255,236, 0,246, 0, 61, 1, 14,255,236, 1, 18,255,236, 1,102,255,236, 1,109,255,236, 1,163, 0, 61, 1,184,255,236, + 1,187,255,236, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,236, 2,108,255,236, 2,126,255,236, 2,132,255,236, 2,134,255,236, + 2,136,255,236, 2,138,255,236, 2,140,255,236, 2,177,255,236, 2,179,255,236, 2,225,255,236, 2,227,255,236, 2,239,255,236, + 2,241,255,236, 2,243,255,236, 3, 21,255,236, 3, 25,255,236, 3, 73,255,236, 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, + 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, + 0, 55, 0, 5, 0, 41, 0, 10, 0, 41, 0, 16,255,215, 0, 38,255,236, 0, 50,255,236, 0, 52,255,236, 0,137,255,236, 0,139, +255,236, 0,148,255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,200,255,236, 0,206, +255,236, 0,246, 0, 61, 1, 14,255,236, 1, 18,255,236, 1,102,255,236, 1,109,255,236, 1,163, 0, 61, 1,184,255,236, 1,187, +255,236, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,236, 2,108,255,236, 2,126,255,236, 2,132,255,236, 2,134,255,236, 2,136, +255,236, 2,138,255,236, 2,140,255,236, 2,177,255,236, 2,179,255,236, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241, +255,236, 2,243,255,236, 3, 21,255,236, 3, 25,255,236, 3, 73,255,236, 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81, +255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 0, 32, + 0, 36,255,236, 0,130,255,236, 0,131,255,236, 0,132,255,236, 0,133,255,236, 0,134,255,236, 0,135,255,236, 0,194,255,236, + 0,196,255,236, 0,198,255,236, 1, 67,255,236, 1, 95,255,236, 1,105,255,236, 1,170,255,236, 2, 40,255,236, 2, 88,255,236, + 2,114,255,236, 2,217,255,236, 2,219,255,236, 2,221,255,236, 3, 29,255,236, 3, 31,255,236, 3, 33,255,236, 3, 35,255,236, + 3, 37,255,236, 3, 39,255,236, 3, 41,255,236, 3, 43,255,236, 3, 45,255,236, 3, 47,255,236, 3, 49,255,236, 3, 51,255,236, + 0, 86, 0, 12,255,215, 0, 15,255,195, 0, 17,255,195, 0, 36,255,236, 0, 44,255,236, 0, 45,255,246, 0, 54,255,236, 0, 55, +255,195, 0, 57,255,215, 0, 58,255,236, 0, 59,255,215, 0, 60,255,215, 0, 61,255,236, 0, 64,255,215, 0, 96,255,215, 0,130, +255,236, 0,131,255,236, 0,132,255,236, 0,133,255,236, 0,134,255,236, 0,135,255,236, 0,136,255,215, 0,142,255,236, 0,143, +255,236, 0,144,255,236, 0,145,255,236, 0,159,255,215, 0,194,255,236, 0,196,255,236, 0,198,255,236, 0,236,255,236, 0,240, +255,236, 0,242,255,236, 0,246,255,246, 1, 28,255,236, 1, 32,255,236, 1, 34,255,236, 1, 36,255,195, 1, 38,255,195, 1, 54, +255,236, 1, 56,255,215, 1, 58,255,215, 1, 59,255,236, 1, 61,255,236, 1, 63,255,236, 1, 67,255,236, 1, 95,255,236, 1,105, +255,236, 1,113,255,195, 1,160,255,236, 1,163,255,246, 1,170,255,236, 1,188,255,195, 1,250,255,236, 1,252,255,236, 1,254, +255,236, 2, 0,255,215, 2, 40,255,236, 2, 88,255,236, 2,114,255,236, 2,169,255,195, 2,181,255,195, 2,183,255,195, 2,185, +255,195, 2,189,255,195, 2,217,255,236, 2,219,255,236, 2,221,255,236, 3, 23,255,195, 3, 29,255,236, 3, 31,255,236, 3, 33, +255,236, 3, 35,255,236, 3, 37,255,236, 3, 39,255,236, 3, 41,255,236, 3, 43,255,236, 3, 45,255,236, 3, 47,255,236, 3, 49, +255,236, 3, 51,255,236, 3, 69,255,236, 3, 71,255,236, 3,111,255,215, 3,113,255,215, 3,115,255,215, 0, 66, 0, 15,255,215, + 0, 17,255,215, 0, 36,255,236, 0, 48,255,236, 0, 61,255,236, 0, 68,255,236, 0,130,255,236, 0,131,255,236, 0,132,255,236, + 0,133,255,236, 0,134,255,236, 0,135,255,236, 0,136,255,215, 0,162,255,236, 0,163,255,236, 0,164,255,236, 0,165,255,236, + 0,166,255,236, 0,167,255,236, 0,194,255,236, 0,195,255,236, 0,196,255,236, 0,197,255,236, 0,198,255,236, 0,199,255,236, + 1, 59,255,236, 1, 61,255,236, 1, 63,255,236, 1, 67,255,236, 1, 68,255,236, 1, 95,255,236, 1,105,255,236, 1,170,255,236, + 1,202,255,236, 2, 40,255,236, 2, 88,255,236, 2, 89,255,236, 2,114,255,236, 2,217,255,236, 2,218,255,236, 2,219,255,236, + 2,220,255,236, 2,221,255,236, 3, 29,255,236, 3, 30,255,236, 3, 31,255,236, 3, 33,255,236, 3, 34,255,236, 3, 35,255,236, + 3, 36,255,236, 3, 37,255,236, 3, 38,255,236, 3, 39,255,236, 3, 40,255,236, 3, 41,255,236, 3, 42,255,236, 3, 43,255,236, + 3, 44,255,236, 3, 45,255,236, 3, 46,255,236, 3, 47,255,236, 3, 48,255,236, 3, 49,255,236, 3, 50,255,236, 3, 51,255,236, + 3, 52,255,236, 1, 46, 0, 5, 0, 82, 0, 9,255,195, 0, 10, 0, 82, 0, 12, 0, 61, 0, 13, 0, 41, 0, 15,255,154, 0, 16, +255,154, 0, 17,255,154, 0, 34, 0, 41, 0, 36,255,154, 0, 38,255,215, 0, 42,255,215, 0, 45,255,190, 0, 48,255,195, 0, 50, +255,215, 0, 52,255,215, 0, 54,255,236, 0, 55, 0, 39, 0, 57, 0, 41, 0, 58, 0, 20, 0, 64, 0, 61, 0, 68,255,154, 0, 70, +255,154, 0, 71,255,154, 0, 72,255,154, 0, 73,255,229, 0, 74,255,154, 0, 80,255,195, 0, 81,255,195, 0, 82,255,154, 0, 83, +255,195, 0, 84,255,154, 0, 85,255,195, 0, 86,255,174, 0, 88,255,195, 0, 89,255,215, 0, 90,255,236, 0, 91,255,215, 0, 92, +255,236, 0, 93,255,195, 0, 96, 0, 61, 0,130,255,154, 0,131,255,154, 0,132,255,154, 0,133,255,154, 0,134,255,154, 0,135, +255,154, 0,136,255,113, 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151,255,215, 0,152,255,215, 0,154, +255,215, 0,162,255,154, 0,163,255,154, 0,164,255,154, 0,165,255,154, 0,166,255,154, 0,167,255,154, 0,168,255,154, 0,169, +255,154, 0,170,255,154, 0,171,255,154, 0,172,255,154, 0,173,255,154, 0,179,255,195, 0,180,255,154, 0,181,255,154, 0,182, +255,154, 0,183,255,154, 0,184,255,154, 0,186,255,154, 0,187,255,195, 0,188,255,195, 0,189,255,195, 0,190,255,195, 0,191, +255,236, 0,193,255,236, 0,194,255,154, 0,195,255,154, 0,196,255,154, 0,197,255,154, 0,198,255,154, 0,199,255,154, 0,200, +255,215, 0,201,255,154, 0,203,255,154, 0,205,255,154, 0,206,255,215, 0,207,255,154, 0,213,255,154, 0,215,255,154, 0,217, +255,154, 0,219,255,154, 0,221,255,154, 0,222,255,215, 0,224,255,215, 0,226,255,215, 0,228,255,215, 0,246,255,190, 1, 6, +255,195, 1, 8,255,195, 1, 10,255,195, 1, 14,255,215, 1, 15,255,154, 1, 17,255,154, 1, 18,255,215, 1, 19,255,154, 1, 20, +255,215, 1, 21,255,154, 1, 28,255,236, 1, 29,255,174, 1, 31,255,174, 1, 32,255,236, 1, 33,255,174, 1, 34,255,236, 1, 35, +255,174, 1, 36, 0, 39, 1, 38, 0, 39, 1, 54, 0, 20, 1, 55,255,236, 1, 57,255,236, 1, 64,255,195, 1, 67,255,154, 1, 68, +255,154, 1, 74,255,174, 1, 95,255,154, 1,102,255,215, 1,105,255,154, 1,109,255,215, 1,113, 0, 39, 1,121,255,154, 1,123, +255,195, 1,126,255,154, 1,128,255,236, 1,130,255,154, 1,132,255,195, 1,138,255,215, 1,140,255,154, 1,142,255,154, 1,144, +255,154, 1,145,255,215, 1,147,255,154, 1,148,255,215, 1,150,255,154, 1,153,255,154, 1,155,255,154, 1,160,255,236, 1,163, +255,190, 1,170,255,154, 1,184,255,215, 1,187,255,215, 1,188, 0, 39, 1,202,255,154, 1,207,255,154, 1,216,255,154, 1,219, +255,154, 1,220,255,215, 1,221,255,236, 1,222,255,154, 1,234,255,154, 1,237,255,154, 1,238,255,174, 1,250, 0, 20, 1,251, +255,236, 1,252, 0, 20, 1,253,255,236, 1,254, 0, 20, 1,255,255,236, 2, 1,255,236, 2, 7, 0, 82, 2, 11, 0, 82, 2, 40, +255,154, 2, 88,255,154, 2, 89,255,154, 2, 95,255,215, 2, 96,255,154, 2,106,255,154, 2,108,255,215, 2,109,255,236, 2,114, +255,154, 2,126,255,215, 2,127,255,154, 2,129,255,236, 2,131,255,236, 2,132,255,215, 2,133,255,154, 2,134,255,215, 2,135, +255,154, 2,136,255,215, 2,137,255,154, 2,138,255,215, 2,139,255,236, 2,140,255,215, 2,141,255,154, 2,169, 0, 39, 2,170, +255,215, 2,177,255,215, 2,178,255,154, 2,179,255,215, 2,180,255,154, 2,181, 0, 39, 2,182,255,215, 2,183, 0, 39, 2,184, +255,236, 2,185, 0, 39, 2,186,255,236, 2,189, 0, 39, 2,217,255,154, 2,218,255,154, 2,219,255,154, 2,220,255,154, 2,221, +255,154, 2,224,255,154, 2,225,255,215, 2,227,255,215, 2,239,255,215, 2,240,255,154, 2,241,255,215, 2,242,255,154, 2,243, +255,215, 2,244,255,154, 2,248,255,236, 2,250,255,236, 2,252,255,236, 3, 10,255,154, 3, 12,255,154, 3, 14,255,236, 3, 16, +255,236, 3, 21,255,215, 3, 22,255,154, 3, 23, 0, 39, 3, 24,255,215, 3, 25,255,215, 3, 26,255,154, 3, 29,255,154, 3, 30, +255,154, 3, 31,255,154, 3, 33,255,154, 3, 34,255,154, 3, 35,255,154, 3, 36,255,154, 3, 37,255,154, 3, 38,255,154, 3, 39, +255,154, 3, 40,255,154, 3, 41,255,154, 3, 42,255,154, 3, 43,255,154, 3, 44,255,154, 3, 45,255,154, 3, 46,255,154, 3, 47, +255,154, 3, 48,255,154, 3, 49,255,154, 3, 50,255,154, 3, 51,255,154, 3, 52,255,154, 3, 54,255,154, 3, 56,255,154, 3, 58, +255,154, 3, 60,255,154, 3, 62,255,154, 3, 64,255,154, 3, 66,255,154, 3, 68,255,154, 3, 73,255,215, 3, 74,255,154, 3, 75, +255,215, 3, 76,255,154, 3, 77,255,215, 3, 78,255,154, 3, 79,255,215, 3, 80,255,154, 3, 81,255,215, 3, 82,255,154, 3, 83, +255,215, 3, 84,255,154, 3, 85,255,215, 3, 86,255,154, 3, 87,255,215, 3, 88,255,154, 3, 89,255,215, 3, 90,255,154, 3, 91, +255,215, 3, 92,255,154, 3, 93,255,215, 3, 94,255,154, 3, 95,255,215, 3, 96,255,154, 3, 98,255,195, 3,100,255,195, 3,102, +255,195, 3,104,255,195, 3,106,255,195, 3,108,255,195, 3,110,255,195, 3,112,255,236, 3,114,255,236, 3,116,255,236, 0, 2, + 0, 5,255,152, 0, 10,255,215, 0, 3, 0, 5,255,152, 0, 10,255,215, 2, 11,255,215, 0, 6, 0, 5,255,111, 0, 10,255,111, + 0, 73,255,219, 0, 91,255,215, 0, 93,255,236, 1, 64,255,236, 0, 2, 0, 5,255,190, 0, 10,255,190, 0, 97, 0, 5, 0, 61, + 0, 10, 0, 61, 0, 15,255,190, 0, 17,255,190, 0, 34,255,180, 0, 70,255,246, 0, 71,255,246, 0, 72,255,246, 0, 73, 0, 20, + 0, 74,255,246, 0, 82,255,246, 0, 84,255,246, 0, 87, 0, 6, 0,168,255,246, 0,169,255,246, 0,170,255,246, 0,171,255,246, + 0,172,255,246, 0,173,255,246, 0,180,255,246, 0,181,255,246, 0,182,255,246, 0,183,255,246, 0,184,255,246, 0,186,255,246, + 0,201,255,246, 0,203,255,246, 0,205,255,246, 0,207,255,246, 0,213,255,246, 0,215,255,246, 0,217,255,246, 0,219,255,246, + 0,221,255,246, 1, 15,255,246, 1, 17,255,246, 1, 19,255,246, 1, 21,255,246, 1,121,255,246, 1,126,255,246, 1,130,255,246, + 1,140,255,246, 1,142,255,246, 1,144,255,246, 1,147,255,246, 1,150,255,246, 1,153,255,246, 1,155,255,246, 1,207,255,246, + 1,216,255,246, 1,219,255,246, 1,222,255,246, 1,234,255,246, 1,237,255,246, 2, 7, 0, 61, 2, 8,255,141, 2, 11, 0, 61, + 2, 12,255,141, 2, 16,255,129, 2, 21, 0, 12, 2, 96,255,246, 2,106,255,246, 2,127,255,246, 2,133,255,246, 2,135,255,246, + 2,137,255,246, 2,141,255,246, 2,178,255,246, 2,180,255,246, 2,224,255,246, 2,240,255,246, 2,242,255,246, 2,244,255,246, + 3, 10,255,246, 3, 12,255,246, 3, 22,255,246, 3, 26,255,246, 3, 54,255,246, 3, 56,255,246, 3, 58,255,246, 3, 60,255,246, + 3, 62,255,246, 3, 64,255,246, 3, 66,255,246, 3, 68,255,246, 3, 74,255,246, 3, 76,255,246, 3, 78,255,246, 3, 80,255,246, + 3, 82,255,246, 3, 84,255,246, 3, 86,255,246, 3, 88,255,246, 3, 90,255,246, 3, 92,255,246, 3, 94,255,246, 3, 96,255,246, + 0, 7, 0, 5, 0, 61, 0, 10, 0, 61, 0, 15,255,190, 0, 17,255,190, 0, 73, 0, 20, 2, 7, 0, 61, 2, 11, 0, 61, 0,100, + 0, 5,255,174, 0, 10,255,174, 0, 38,255,236, 0, 42,255,236, 0, 45, 0,225, 0, 50,255,236, 0, 52,255,236, 0, 55,255,133, + 0, 56,255,236, 0, 57,255,195, 0, 58,255,215, 0, 60,255,154, 0,137,255,236, 0,148,255,236, 0,149,255,236, 0,150,255,236, + 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, 0,157,255,236, 0,158,255,236, 0,159,255,154, + 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 14,255,236, 1, 18,255,236, + 1, 20,255,215, 1, 36,255,133, 1, 38,255,133, 1, 44,255,236, 1, 48,255,236, 1, 50,255,236, 1, 52,255,236, 1, 54,255,215, + 1, 56,255,154, 1, 58,255,154, 1,102,255,236, 1,109,255,236, 1,113,255,133, 1,184,255,236, 1,187,255,236, 1,188,255,133, + 1,250,255,215, 1,252,255,215, 1,254,255,215, 2, 0,255,154, 2, 7,255,174, 2, 11,255,174, 2, 95,255,236, 2, 97,255,236, + 2,108,255,236, 2,126,255,236, 2,132,255,236, 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,140,255,236, 2,169,255,133, + 2,177,255,236, 2,179,255,236, 2,181,255,133, 2,183,255,133, 2,185,255,133, 2,189,255,133, 2,225,255,236, 2,227,255,236, + 2,239,255,236, 2,241,255,236, 2,243,255,236, 3, 21,255,236, 3, 23,255,133, 3, 25,255,236, 3, 73,255,236, 3, 75,255,236, + 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, + 3, 93,255,236, 3, 95,255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, 3,103,255,236, 3,105,255,236, 3,107,255,236, + 3,109,255,236, 3,111,255,154, 3,113,255,154, 3,115,255,154, 0, 31, 0, 5, 0,102, 0, 10, 0,102, 0, 12, 0,143, 0, 34, + 0,164, 0, 64, 0,164, 0, 69, 0, 82, 0, 75, 0, 82, 0, 76, 0, 61, 0, 77, 0, 61, 0, 78, 0, 82, 0, 79, 0, 82, 0, 96, + 0,184, 0,174, 0,246, 0,176, 0,205, 0,177, 0,205, 0,231, 0, 82, 0,233, 0,164, 0,235, 1, 10, 0,237, 0,205, 0,239, + 0,246, 0,241, 0, 41, 0,245, 0, 61, 0,247, 0,225, 0,249, 0, 82, 0,252, 0, 82, 0,254, 0, 82, 1, 0, 0, 82, 1, 2, + 0, 82, 1, 4, 0, 82, 2, 7, 0,143, 2, 11, 0,143, 0, 1, 0, 45, 0,102, 0, 58, 0, 5, 0, 41, 0, 10, 0, 41, 0, 38, +255,236, 0, 42,255,236, 0, 45, 0, 82, 0, 50,255,236, 0, 52,255,236, 0,137,255,236, 0,148,255,236, 0,149,255,236, 0,150, +255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226, +255,236, 0,228,255,236, 1, 14,255,236, 1, 18,255,236, 1, 20,255,236, 1,102,255,236, 1,109,255,236, 1,184,255,236, 1,187, +255,236, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,236, 2,108,255,236, 2,126,255,236, 2,132,255,236, 2,134,255,236, 2,136, +255,236, 2,138,255,236, 2,140,255,236, 2,177,255,236, 2,179,255,236, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241, +255,236, 2,243,255,236, 3, 21,255,236, 3, 25,255,236, 3, 73,255,236, 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81, +255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 0, 66, + 0, 5, 0, 41, 0, 10, 0, 41, 0, 48, 0, 20, 0, 54,255,236, 0, 55,255,215, 0, 57,255,236, 0, 58,255,236, 0, 59,255,215, + 0, 60,255,215, 0, 89,255,236, 0, 92,255,236, 0,159,255,215, 0,191,255,236, 0,193,255,236, 1, 28,255,236, 1, 32,255,236, + 1, 34,255,236, 1, 35,255,236, 1, 36,255,215, 1, 38,255,215, 1, 54,255,236, 1, 56,255,215, 1, 57,255,236, 1, 58,255,215, + 1,113,255,215, 1,128,255,236, 1,138,255,236, 1,145,255,236, 1,148,255,236, 1,160,255,236, 1,188,255,215, 1,220,255,236, + 1,221,255,236, 1,250,255,236, 1,252,255,236, 1,254,255,236, 2, 0,255,215, 2, 1,255,236, 2, 7, 0, 41, 2, 11, 0, 41, + 2,109,255,236, 2,129,255,236, 2,131,255,236, 2,139,255,236, 2,169,255,215, 2,170,255,236, 2,181,255,215, 2,182,255,236, + 2,183,255,215, 2,184,255,236, 2,185,255,215, 2,186,255,236, 2,189,255,215, 2,248,255,236, 2,250,255,236, 2,252,255,236, + 3, 14,255,236, 3, 16,255,236, 3, 23,255,215, 3, 24,255,236, 3,111,255,215, 3,112,255,236, 3,113,255,215, 3,114,255,236, + 3,115,255,215, 3,116,255,236, 1, 29, 0, 5, 0, 82, 0, 10, 0, 82, 0, 15,255,154, 0, 17,255,154, 0, 34, 0, 41, 0, 36, +255,133, 0, 38,255,195, 0, 42,255,195, 0, 50,255,195, 0, 52,255,195, 0, 54,255,236, 0, 55, 0, 20, 0, 68,255,133, 0, 70, +255,133, 0, 71,255,133, 0, 72,255,133, 0, 74,255,154, 0, 80,255,174, 0, 81,255,174, 0, 82,255,133, 0, 83,255,174, 0, 84, +255,133, 0, 85,255,174, 0, 86,255,133, 0, 88,255,174, 0, 89,255,195, 0, 90,255,195, 0, 91,255,195, 0, 92,255,195, 0, 93, +255,195, 0,130,255,133, 0,131,255,133, 0,132,255,133, 0,133,255,133, 0,134,255,133, 0,135,255,133, 0,136,255,113, 0,137, +255,195, 0,148,255,195, 0,149,255,195, 0,150,255,195, 0,151,255,195, 0,152,255,195, 0,154,255,195, 0,162,255,133, 0,163, +255,133, 0,164,255,133, 0,165,255,133, 0,166,255,133, 0,167,255,133, 0,168,255,133, 0,169,255,133, 0,170,255,133, 0,171, +255,133, 0,172,255,133, 0,173,255,133, 0,179,255,174, 0,180,255,133, 0,181,255,133, 0,182,255,133, 0,183,255,133, 0,184, +255,133, 0,186,255,133, 0,187,255,174, 0,188,255,174, 0,189,255,174, 0,190,255,174, 0,191,255,195, 0,193,255,195, 0,194, +255,133, 0,195,255,133, 0,196,255,133, 0,197,255,133, 0,198,255,133, 0,199,255,133, 0,200,255,195, 0,201,255,133, 0,203, +255,133, 0,205,255,133, 0,206,255,195, 0,207,255,133, 0,213,255,133, 0,215,255,133, 0,217,255,133, 0,219,255,133, 0,221, +255,133, 0,222,255,195, 0,224,255,195, 0,226,255,195, 0,228,255,195, 1, 6,255,174, 1, 8,255,174, 1, 10,255,174, 1, 14, +255,195, 1, 15,255,133, 1, 17,255,133, 1, 18,255,195, 1, 19,255,133, 1, 20,255,195, 1, 21,255,133, 1, 28,255,236, 1, 29, +255,133, 1, 31,255,133, 1, 32,255,236, 1, 33,255,133, 1, 34,255,236, 1, 35,255,133, 1, 36, 0, 20, 1, 38, 0, 20, 1, 55, +255,195, 1, 57,255,195, 1, 64,255,195, 1, 67,255,133, 1, 68,255,133, 1, 74,255,133, 1, 95,255,133, 1,102,255,195, 1,105, +255,133, 1,109,255,195, 1,113, 0, 20, 1,121,255,133, 1,123,255,174, 1,126,255,133, 1,128,255,195, 1,130,255,133, 1,132, +255,174, 1,138,255,195, 1,140,255,133, 1,142,255,133, 1,144,255,133, 1,145,255,195, 1,147,255,133, 1,148,255,195, 1,150, +255,133, 1,153,255,133, 1,155,255,133, 1,160,255,236, 1,170,255,133, 1,184,255,195, 1,187,255,195, 1,188, 0, 20, 1,202, +255,133, 1,207,255,133, 1,216,255,133, 1,219,255,133, 1,220,255,195, 1,221,255,195, 1,222,255,133, 1,234,255,133, 1,237, +255,133, 1,238,255,133, 1,251,255,195, 1,253,255,195, 1,255,255,195, 2, 1,255,195, 2, 7, 0, 82, 2, 11, 0, 82, 2, 40, +255,133, 2, 88,255,133, 2, 89,255,133, 2, 95,255,195, 2, 96,255,133, 2,106,255,133, 2,108,255,195, 2,109,255,195, 2,114, +255,133, 2,126,255,195, 2,127,255,133, 2,129,255,195, 2,131,255,195, 2,132,255,195, 2,133,255,133, 2,134,255,195, 2,135, +255,133, 2,136,255,195, 2,137,255,133, 2,138,255,195, 2,139,255,195, 2,140,255,195, 2,141,255,133, 2,169, 0, 20, 2,170, +255,195, 2,177,255,195, 2,178,255,133, 2,179,255,195, 2,180,255,133, 2,181, 0, 20, 2,182,255,195, 2,183, 0, 20, 2,184, +255,195, 2,185, 0, 20, 2,186,255,195, 2,189, 0, 20, 2,217,255,133, 2,218,255,133, 2,219,255,133, 2,220,255,133, 2,221, +255,133, 2,224,255,133, 2,225,255,195, 2,227,255,195, 2,239,255,195, 2,240,255,133, 2,241,255,195, 2,242,255,133, 2,243, +255,195, 2,244,255,133, 2,248,255,195, 2,250,255,195, 2,252,255,195, 3, 10,255,133, 3, 12,255,133, 3, 14,255,195, 3, 16, +255,195, 3, 21,255,195, 3, 22,255,133, 3, 23, 0, 20, 3, 24,255,195, 3, 25,255,195, 3, 26,255,133, 3, 29,255,133, 3, 30, +255,133, 3, 31,255,133, 3, 33,255,133, 3, 34,255,133, 3, 35,255,133, 3, 36,255,133, 3, 37,255,133, 3, 38,255,133, 3, 39, +255,133, 3, 40,255,133, 3, 41,255,133, 3, 42,255,133, 3, 43,255,133, 3, 44,255,133, 3, 45,255,133, 3, 46,255,133, 3, 47, +255,133, 3, 48,255,133, 3, 49,255,133, 3, 50,255,133, 3, 51,255,133, 3, 52,255,133, 3, 54,255,133, 3, 56,255,133, 3, 58, +255,133, 3, 60,255,133, 3, 62,255,133, 3, 64,255,133, 3, 66,255,133, 3, 68,255,133, 3, 73,255,195, 3, 74,255,133, 3, 75, +255,195, 3, 76,255,133, 3, 77,255,195, 3, 78,255,133, 3, 79,255,195, 3, 80,255,133, 3, 81,255,195, 3, 82,255,133, 3, 83, +255,195, 3, 84,255,133, 3, 85,255,195, 3, 86,255,133, 3, 87,255,195, 3, 88,255,133, 3, 89,255,195, 3, 90,255,133, 3, 91, +255,195, 3, 92,255,133, 3, 93,255,195, 3, 94,255,133, 3, 95,255,195, 3, 96,255,133, 3, 98,255,174, 3,100,255,174, 3,102, +255,174, 3,104,255,174, 3,106,255,174, 3,108,255,174, 3,110,255,174, 3,112,255,195, 3,114,255,195, 3,116,255,195, 1, 29, + 0, 5, 0, 82, 0, 9,255,195, 0, 10, 0, 82, 0, 12, 0, 61, 0, 13, 0, 41, 0, 15,255,154, 0, 16,255, 92, 0, 17,255,154, + 0, 34, 0, 41, 0, 36,255,154, 0, 38,255,215, 0, 42,255,215, 0, 45,255,190, 0, 48,255,236, 0, 50,255,215, 0, 52,255,215, + 0, 54,255,236, 0, 55, 0, 39, 0, 64, 0, 61, 0, 68,255,154, 0, 70,255,154, 0, 71,255,154, 0, 72,255,154, 0, 73,255,229, + 0, 74,255,154, 0, 80,255,195, 0, 81,255,195, 0, 82,255,154, 0, 83,255,195, 0, 84,255,154, 0, 85,255,195, 0, 86,255,174, + 0, 88,255,195, 0, 91,255,215, 0, 92,255,236, 0, 93,255,195, 0, 96, 0, 61, 0,130,255,154, 0,131,255,154, 0,132,255,154, + 0,133,255,154, 0,134,255,154, 0,135,255,154, 0,136,255,113, 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, + 0,151,255,215, 0,152,255,215, 0,154,255,215, 0,162,255,154, 0,163,255,154, 0,164,255,154, 0,165,255,154, 0,166,255,154, + 0,167,255,154, 0,168,255,154, 0,169,255,154, 0,170,255,154, 0,171,255,154, 0,172,255,154, 0,173,255,154, 0,179,255,195, + 0,180,255,154, 0,181,255,154, 0,182,255,154, 0,183,255,154, 0,184,255,154, 0,186,255,154, 0,187,255,195, 0,188,255,195, + 0,189,255,195, 0,190,255,195, 0,191,255,236, 0,193,255,236, 0,194,255,154, 0,195,255,154, 0,196,255,154, 0,197,255,154, + 0,198,255,154, 0,199,255,154, 0,200,255,215, 0,201,255,154, 0,203,255,154, 0,205,255,154, 0,206,255,215, 0,207,255,154, + 0,213,255,154, 0,215,255,154, 0,217,255,154, 0,219,255,154, 0,221,255,154, 0,222,255,215, 0,224,255,215, 0,226,255,215, + 0,228,255,215, 0,246,255,190, 1, 6,255,195, 1, 8,255,195, 1, 10,255,195, 1, 14,255,215, 1, 15,255,154, 1, 17,255,154, + 1, 18,255,215, 1, 19,255,154, 1, 20,255,215, 1, 21,255,154, 1, 28,255,236, 1, 29,255,174, 1, 31,255,174, 1, 32,255,236, + 1, 33,255,174, 1, 34,255,236, 1, 35,255,174, 1, 36, 0, 39, 1, 38, 0, 39, 1, 57,255,236, 1, 64,255,195, 1, 67,255,154, + 1, 68,255,154, 1, 74,255,174, 1, 95,255,154, 1,102,255,215, 1,105,255,154, 1,109,255,215, 1,113, 0, 39, 1,121,255,154, + 1,123,255,195, 1,126,255,154, 1,128,255,236, 1,130,255,154, 1,132,255,195, 1,138,255,236, 1,140,255,154, 1,142,255,154, + 1,144,255,154, 1,147,255,154, 1,150,255,154, 1,153,255,154, 1,155,255,154, 1,160,255,236, 1,163,255,190, 1,170,255,154, + 1,184,255,215, 1,187,255,215, 1,188, 0, 39, 1,202,255,154, 1,207,255,154, 1,216,255,154, 1,219,255,154, 1,221,255,236, + 1,222,255,154, 1,234,255,154, 1,237,255,154, 1,238,255,174, 2, 1,255,236, 2, 7, 0, 82, 2, 11, 0, 82, 2, 15,255,215, + 2, 40,255,154, 2, 88,255,154, 2, 89,255,154, 2, 95,255,215, 2, 96,255,154, 2,106,255,154, 2,108,255,215, 2,109,255,236, + 2,114,255,154, 2,126,255,215, 2,127,255,154, 2,129,255,236, 2,131,255,236, 2,132,255,215, 2,133,255,154, 2,134,255,215, + 2,135,255,154, 2,136,255,215, 2,137,255,154, 2,138,255,215, 2,139,255,236, 2,140,255,215, 2,141,255,154, 2,169, 0, 39, + 2,177,255,215, 2,178,255,154, 2,179,255,215, 2,180,255,154, 2,181, 0, 39, 2,183, 0, 39, 2,184,255,236, 2,185, 0, 39, + 2,186,255,236, 2,189, 0, 39, 2,217,255,154, 2,218,255,154, 2,219,255,154, 2,220,255,154, 2,221,255,154, 2,224,255,154, + 2,225,255,215, 2,227,255,215, 2,239,255,215, 2,240,255,154, 2,241,255,215, 2,242,255,154, 2,243,255,215, 2,244,255,154, + 2,248,255,236, 2,250,255,236, 2,252,255,236, 3, 10,255,154, 3, 12,255,154, 3, 14,255,236, 3, 16,255,236, 3, 21,255,215, + 3, 22,255,154, 3, 23, 0, 39, 3, 25,255,215, 3, 26,255,154, 3, 29,255,154, 3, 30,255,154, 3, 31,255,154, 3, 33,255,154, + 3, 34,255,154, 3, 35,255,154, 3, 36,255,154, 3, 37,255,154, 3, 38,255,154, 3, 39,255,154, 3, 40,255,154, 3, 41,255,154, + 3, 42,255,154, 3, 43,255,154, 3, 44,255,154, 3, 45,255,154, 3, 46,255,154, 3, 47,255,154, 3, 48,255,154, 3, 49,255,154, + 3, 50,255,154, 3, 51,255,154, 3, 52,255,154, 3, 54,255,154, 3, 56,255,154, 3, 58,255,154, 3, 60,255,154, 3, 62,255,154, + 3, 64,255,154, 3, 66,255,154, 3, 68,255,154, 3, 73,255,215, 3, 74,255,154, 3, 75,255,215, 3, 76,255,154, 3, 77,255,215, + 3, 78,255,154, 3, 79,255,215, 3, 80,255,154, 3, 81,255,215, 3, 82,255,154, 3, 83,255,215, 3, 84,255,154, 3, 85,255,215, + 3, 86,255,154, 3, 87,255,215, 3, 88,255,154, 3, 89,255,215, 3, 90,255,154, 3, 91,255,215, 3, 92,255,154, 3, 93,255,215, + 3, 94,255,154, 3, 95,255,215, 3, 96,255,154, 3, 98,255,195, 3,100,255,195, 3,102,255,195, 3,104,255,195, 3,106,255,195, + 3,108,255,195, 3,110,255,195, 3,112,255,236, 3,114,255,236, 3,116,255,236, 0,197, 0, 5, 0, 41, 0, 10, 0, 41, 0, 16, +255,195, 0, 38,255,236, 0, 42,255,236, 0, 50,255,236, 0, 52,255,236, 0, 54,255,215, 0, 56,255,236, 0, 70,255,236, 0, 71, +255,236, 0, 72,255,236, 0, 82,255,236, 0, 84,255,236, 0, 89,255,215, 0, 90,255,215, 0, 92,255,215, 0,137,255,236, 0,148, +255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, 0,157, +255,236, 0,158,255,236, 0,168,255,236, 0,169,255,236, 0,170,255,236, 0,171,255,236, 0,172,255,236, 0,173,255,236, 0,180, +255,236, 0,181,255,236, 0,182,255,236, 0,183,255,236, 0,184,255,236, 0,186,255,236, 0,191,255,215, 0,193,255,215, 0,200, +255,236, 0,201,255,236, 0,203,255,236, 0,205,255,236, 0,206,255,236, 0,207,255,236, 0,213,255,236, 0,215,255,236, 0,217, +255,236, 0,219,255,236, 0,221,255,236, 0,222,255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 14,255,236, 1, 15, +255,236, 1, 17,255,236, 1, 18,255,236, 1, 19,255,236, 1, 20,255,215, 1, 21,255,236, 1, 28,255,215, 1, 32,255,215, 1, 34, +255,215, 1, 44,255,236, 1, 48,255,236, 1, 50,255,236, 1, 52,255,236, 1, 55,255,215, 1, 57,255,215, 1,102,255,236, 1,109, +255,236, 1,121,255,236, 1,126,255,236, 1,128,255,215, 1,130,255,236, 1,138,255,215, 1,140,255,236, 1,142,255,236, 1,144, +255,236, 1,145,255,215, 1,147,255,236, 1,148,255,215, 1,150,255,236, 1,153,255,236, 1,155,255,236, 1,160,255,215, 1,184, +255,236, 1,187,255,236, 1,207,255,236, 1,216,255,236, 1,219,255,236, 1,220,255,215, 1,221,255,215, 1,222,255,236, 1,234, +255,236, 1,237,255,236, 1,251,255,215, 1,253,255,215, 1,255,255,215, 2, 1,255,215, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95, +255,236, 2, 96,255,236, 2, 97,255,236, 2,106,255,236, 2,108,255,236, 2,109,255,215, 2,126,255,236, 2,127,255,236, 2,129, +255,215, 2,131,255,215, 2,132,255,236, 2,133,255,236, 2,134,255,236, 2,135,255,236, 2,136,255,236, 2,137,255,236, 2,138, +255,236, 2,139,255,215, 2,140,255,236, 2,141,255,236, 2,170,255,215, 2,177,255,236, 2,178,255,236, 2,179,255,236, 2,180, +255,236, 2,182,255,215, 2,184,255,215, 2,186,255,215, 2,224,255,236, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,240, +255,236, 2,241,255,236, 2,242,255,236, 2,243,255,236, 2,244,255,236, 2,248,255,215, 2,250,255,215, 2,252,255,215, 3, 10, +255,236, 3, 12,255,236, 3, 14,255,215, 3, 16,255,215, 3, 21,255,236, 3, 22,255,236, 3, 24,255,215, 3, 25,255,236, 3, 26, +255,236, 3, 54,255,236, 3, 56,255,236, 3, 58,255,236, 3, 60,255,236, 3, 62,255,236, 3, 64,255,236, 3, 66,255,236, 3, 68, +255,236, 3, 73,255,236, 3, 74,255,236, 3, 75,255,236, 3, 76,255,236, 3, 77,255,236, 3, 78,255,236, 3, 79,255,236, 3, 80, +255,236, 3, 81,255,236, 3, 82,255,236, 3, 83,255,236, 3, 84,255,236, 3, 85,255,236, 3, 86,255,236, 3, 87,255,236, 3, 88, +255,236, 3, 89,255,236, 3, 90,255,236, 3, 91,255,236, 3, 92,255,236, 3, 93,255,236, 3, 94,255,236, 3, 95,255,236, 3, 96, +255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, 3,103,255,236, 3,105,255,236, 3,107,255,236, 3,109,255,236, 3,112, +255,215, 3,114,255,215, 3,116,255,215, 0, 51, 0, 82,255,236, 0,168,255,236, 0,180,255,236, 0,181,255,236, 0,182,255,236, + 0,183,255,236, 0,184,255,236, 0,186,255,236, 1, 15,255,236, 1, 17,255,236, 1, 19,255,236, 1, 21,255,236, 1,140,255,236, + 1,142,255,236, 1,144,255,236, 1,147,255,236, 1,150,255,236, 1,153,255,236, 1,155,255,236, 1,216,255,236, 1,222,255,236, + 2, 11, 0, 20, 2, 96,255,236, 2,106,255,236, 2,127,255,236, 2,133,255,236, 2,135,255,236, 2,137,255,236, 2,141,255,236, + 2,178,255,236, 2,180,255,236, 2,224,255,236, 2,240,255,236, 2,242,255,236, 2,244,255,236, 3, 10,255,236, 3, 12,255,236, + 3, 22,255,236, 3, 26,255,236, 3, 74,255,236, 3, 76,255,236, 3, 78,255,236, 3, 80,255,236, 3, 82,255,236, 3, 84,255,236, + 3, 86,255,236, 3, 88,255,236, 3, 90,255,236, 3, 92,255,236, 3, 94,255,236, 3, 96,255,236, 0, 11, 1, 98, 0, 41, 1,102, +255,236, 1,105, 0, 41, 1,109,255,236, 1,113,255,133, 1,114,255,154, 1,115,255,215, 1,117,255,215, 1,120,255,154, 1,136, + 0, 41, 1,145,255,195, 0, 3, 1,102,255,236, 1,109,255,236, 1,115,255,236, 0, 11, 1, 95,255,236, 1,100,255,236, 1,103, +255,236, 1,108,255,236, 1,112,255,236, 1,113,255,195, 1,114,255,215, 1,116,255,215, 1,119,255,236, 1,120,255,215, 1,136, +255,236, 0, 36, 0, 16,255,195, 0,109,255,195, 1, 95,255,154, 1, 98,255,195, 1,102,255,215, 1,105,255,195, 1,115,255,215, + 1,118,255,215, 1,121,255,154, 1,122,255,154, 1,123,255,195, 1,125,255,195, 1,126,255,154, 1,129,255,174, 1,130,255,154, + 1,131,255,215, 1,132,255,195, 1,133,255,215, 1,134,255,195, 1,135,255,195, 1,137,255,195, 1,140,255,154, 1,142,255,154, + 1,143,255,154, 1,144,255,154, 1,146,255,195, 1,147,255,174, 1,148,255,215, 1,149,255,195, 1,150,255,174, 1,152,255,215, + 1,153,255,154, 1,154,255,195, 1,155,255,174, 2, 2,255,195, 2, 3,255,195, 0, 3, 1,113,255,195, 1,114,255,195, 1,120, +255,195, 0, 25, 1,121,255,215, 1,125,255,215, 1,126,255,215, 1,128,255,215, 1,129,255,215, 1,131,255,236, 1,133,255,215, + 1,134,255,215, 1,136, 0, 41, 1,138,255,215, 1,139,255,236, 1,140,255,215, 1,141,255,236, 1,143,255,236, 1,144,255,215, + 1,145,255,236, 1,146,255,215, 1,147,255,215, 1,148,255,236, 1,149,255,215, 1,150,255,236, 1,152,255,215, 1,153,255,215, + 1,154,255,215, 1,155,255,215, 0, 79, 0, 5,255,174, 0, 10,255,174, 0, 38,255,236, 0, 42,255,236, 0, 50,255,236, 0, 52, +255,236, 0, 55,255,133, 0, 56,255,236, 0, 57,255,195, 0, 58,255,215, 0, 60,255,154, 0,137,255,236, 0,148,255,236, 0,149, +255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, 0,157,255,236, 0,158, +255,236, 0,159,255,154, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 14, +255,236, 1, 18,255,236, 1, 20,255,215, 1, 36,255,133, 1, 38,255,133, 1, 44,255,236, 1, 48,255,236, 1, 50,255,236, 1, 52, +255,236, 1, 54,255,215, 1, 56,255,154, 1, 58,255,154, 1,102,255,236, 1,109,255,236, 1,113,255,133, 1,114,255,154, 1,115, +255,215, 1,117,255,195, 1,120,255,154, 1,145,255,195, 1,250,255,215, 1,252,255,215, 1,254,255,215, 2, 0,255,154, 2, 7, +255,174, 2, 11,255,174, 2, 95,255,236, 2, 97,255,236, 3, 73,255,236, 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81, +255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 3, 97, +255,236, 3, 99,255,236, 3,101,255,236, 3,103,255,236, 3,105,255,236, 3,107,255,236, 3,109,255,236, 3,111,255,154, 3,113, +255,154, 3,115,255,154, 0, 23, 0, 55,255,236, 0, 57,255,236, 0, 59,255,236, 0, 60,255,236, 0,159,255,236, 1, 36,255,236, + 1, 38,255,236, 1, 56,255,236, 1, 58,255,236, 1,103,255,236, 1,108,255,215, 1,112,255,236, 1,113,255,236, 1,114,255,236, + 1,116,255,236, 1,119,255,236, 1,120,255,236, 1,145,255,236, 1,148,255,236, 2, 0,255,236, 3,111,255,236, 3,113,255,236, + 3,115,255,236, 0,113, 0, 5,255,154, 0, 10,255,154, 0, 15,255,154, 0, 16,255,154, 0, 17,255,154, 0, 38,255,236, 0, 42, +255,236, 0, 50,255,236, 0, 52,255,236, 0, 55,255,133, 0, 56,255,236, 0, 57,255,174, 0, 58,255,195, 0, 60,255,154, 0,109, +255,154, 0,125,255,174, 0,137,255,236, 0,148,255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154, +255,236, 0,155,255,236, 0,156,255,236, 0,157,255,236, 0,158,255,236, 0,159,255,154, 0,200,255,236, 0,206,255,236, 0,222, +255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 14,255,236, 1, 18,255,236, 1, 20,255,236, 1, 36,255,133, 1, 38, +255,133, 1, 44,255,236, 1, 48,255,236, 1, 50,255,236, 1, 52,255,236, 1, 54,255,195, 1, 56,255,154, 1, 58,255,154, 1, 95, +255,133, 1, 98,255,154, 1,102,255,236, 1,105,255,154, 1,109,255,236, 1,115,255,174, 1,118,255,215, 1,121,255,133, 1,122, +255,133, 1,123,255,174, 1,126,255,133, 1,128,255,195, 1,129,255,154, 1,130,255,133, 1,132,255,195, 1,134,255,195, 1,135, +255,195, 1,137,255,195, 1,138,255,195, 1,140,255,133, 1,141,255,195, 1,142,255,154, 1,143,255,133, 1,144,255,133, 1,145, +255,195, 1,146,255,195, 1,147,255,133, 1,148,255,195, 1,149,255,195, 1,150,255,154, 1,151, 0, 41, 1,152,255,195, 1,153, +255,133, 1,154,255,195, 1,155,255,154, 1,250,255,195, 1,252,255,195, 1,254,255,195, 2, 0,255,154, 2, 2,255,154, 2, 3, +255,154, 2, 7,255,154, 2, 11,255,154, 2, 95,255,236, 2, 97,255,236, 3, 73,255,236, 3, 75,255,236, 3, 77,255,236, 3, 79, +255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93,255,236, 3, 95, +255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, 3,103,255,236, 3,105,255,236, 3,107,255,236, 3,109,255,236, 3,111, +255,154, 3,113,255,154, 3,115,255,154, 0,178, 0, 5, 0, 82, 0, 10, 0, 82, 0, 15,255,154, 0, 17,255,154, 0, 34, 0, 41, + 0, 36,255,195, 0, 38,255,215, 0, 42,255,215, 0, 50,255,215, 0, 52,255,215, 0, 68,255,195, 0, 70,255,195, 0, 71,255,195, + 0, 72,255,195, 0, 74,255,195, 0, 80,255,215, 0, 81,255,215, 0, 82,255,195, 0, 83,255,215, 0, 84,255,195, 0, 85,255,215, + 0, 86,255,215, 0, 88,255,215, 0,130,255,195, 0,131,255,195, 0,132,255,195, 0,133,255,195, 0,134,255,195, 0,135,255,195, + 0,136,255,133, 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151,255,215, 0,152,255,215, 0,154,255,215, + 0,162,255,195, 0,163,255,195, 0,164,255,195, 0,165,255,195, 0,166,255,195, 0,167,255,195, 0,168,255,195, 0,169,255,195, + 0,170,255,195, 0,171,255,195, 0,172,255,195, 0,173,255,195, 0,179,255,215, 0,180,255,195, 0,181,255,195, 0,182,255,195, + 0,183,255,195, 0,184,255,195, 0,186,255,195, 0,187,255,215, 0,188,255,215, 0,189,255,215, 0,190,255,215, 0,194,255,195, + 0,195,255,195, 0,196,255,195, 0,197,255,195, 0,198,255,195, 0,199,255,195, 0,200,255,215, 0,201,255,195, 0,203,255,195, + 0,205,255,195, 0,206,255,215, 0,207,255,195, 0,213,255,195, 0,215,255,195, 0,217,255,195, 0,219,255,195, 0,221,255,195, + 0,222,255,215, 0,224,255,215, 0,226,255,215, 0,228,255,215, 1, 6,255,215, 1, 8,255,215, 1, 10,255,215, 1, 14,255,215, + 1, 15,255,195, 1, 17,255,195, 1, 18,255,215, 1, 19,255,195, 1, 20,255,215, 1, 21,255,195, 1, 29,255,215, 1, 31,255,215, + 1, 33,255,215, 1, 35,255,215, 1, 67,255,195, 1, 68,255,195, 1, 74,255,215, 1, 98, 0, 20, 1,102,255,215, 1,109,255,215, + 1,113,255,154, 1,114,255,195, 1,115,255,215, 1,117,255,215, 1,120,255,195, 1,121,255,195, 1,136, 0, 41, 1,141,255,215, + 2, 7, 0, 82, 2, 11, 0, 82, 2, 40,255,195, 2, 88,255,195, 2, 89,255,195, 2, 95,255,215, 2, 96,255,195, 3, 29,255,195, + 3, 30,255,195, 3, 31,255,195, 3, 33,255,195, 3, 34,255,195, 3, 35,255,195, 3, 36,255,195, 3, 37,255,195, 3, 38,255,195, + 3, 39,255,195, 3, 40,255,195, 3, 41,255,195, 3, 42,255,195, 3, 43,255,195, 3, 44,255,195, 3, 45,255,195, 3, 46,255,195, + 3, 47,255,195, 3, 48,255,195, 3, 49,255,195, 3, 50,255,195, 3, 51,255,195, 3, 52,255,195, 3, 54,255,195, 3, 56,255,195, + 3, 58,255,195, 3, 60,255,195, 3, 62,255,195, 3, 64,255,195, 3, 66,255,195, 3, 68,255,195, 3, 73,255,215, 3, 74,255,195, + 3, 75,255,215, 3, 76,255,195, 3, 77,255,215, 3, 78,255,195, 3, 79,255,215, 3, 80,255,195, 3, 81,255,215, 3, 82,255,195, + 3, 83,255,215, 3, 84,255,195, 3, 85,255,215, 3, 86,255,195, 3, 87,255,215, 3, 88,255,195, 3, 89,255,215, 3, 90,255,195, + 3, 91,255,215, 3, 92,255,195, 3, 93,255,215, 3, 94,255,195, 3, 95,255,215, 3, 96,255,195, 3, 98,255,215, 3,100,255,215, + 3,102,255,215, 3,104,255,215, 3,106,255,215, 3,108,255,215, 3,110,255,215, 0, 8, 1,102,255,236, 1,109,255,236, 1,115, +255,236, 1,146,255,215, 1,149,255,215, 1,151, 0, 41, 1,152,255,215, 1,154,255,215, 0, 70, 0, 15,255,195, 0, 17,255,195, + 0, 36,255,236, 0, 44,255,236, 0, 55,255,195, 0, 57,255,215, 0, 58,255,236, 0, 59,255,215, 0, 60,255,215, 0, 61,255,236, + 0,130,255,236, 0,131,255,236, 0,132,255,236, 0,133,255,236, 0,134,255,236, 0,135,255,236, 0,136,255,215, 0,142,255,236, + 0,143,255,236, 0,144,255,236, 0,145,255,236, 0,159,255,215, 0,194,255,236, 0,196,255,236, 0,198,255,236, 0,236,255,236, + 0,240,255,236, 0,242,255,236, 1, 36,255,195, 1, 38,255,195, 1, 54,255,236, 1, 56,255,215, 1, 58,255,215, 1, 59,255,236, + 1, 61,255,236, 1, 63,255,236, 1, 67,255,236, 1, 95,255,236, 1, 98,255,215, 1,103,255,236, 1,105,255,236, 1,108,255,236, + 1,112,255,236, 1,113,255,195, 1,114,255,215, 1,116,255,215, 1,120,255,215, 1,250,255,236, 1,252,255,236, 1,254,255,236, + 2, 0,255,215, 2, 40,255,236, 2, 88,255,236, 3, 29,255,236, 3, 31,255,236, 3, 33,255,236, 3, 35,255,236, 3, 37,255,236, + 3, 39,255,236, 3, 41,255,236, 3, 43,255,236, 3, 45,255,236, 3, 47,255,236, 3, 49,255,236, 3, 51,255,236, 3, 69,255,236, + 3, 71,255,236, 3,111,255,215, 3,113,255,215, 3,115,255,215, 0, 5, 1,102,255,236, 1,109,255,236, 1,115,255,236, 1,129, +255,236, 1,136, 0, 41, 0, 42, 0, 5, 0, 41, 0, 10, 0, 41, 0, 38,255,215, 0, 42,255,215, 0, 50,255,215, 0, 52,255,215, + 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151,255,215, 0,152,255,215, 0,154,255,215, 0,200,255,215, + 0,206,255,215, 0,222,255,215, 0,224,255,215, 0,226,255,215, 0,228,255,215, 1, 14,255,215, 1, 18,255,215, 1, 20,255,215, + 1,102,255,215, 1,109,255,215, 1,115,255,174, 1,145,255,215, 1,151, 0, 41, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,215, + 3, 73,255,215, 3, 75,255,215, 3, 77,255,215, 3, 79,255,215, 3, 81,255,215, 3, 83,255,215, 3, 85,255,215, 3, 87,255,215, + 3, 89,255,215, 3, 91,255,215, 3, 93,255,215, 3, 95,255,215, 0,207, 0, 5,255,174, 0, 10,255,174, 0, 34, 0, 41, 0, 36, +255,195, 0, 38,255,236, 0, 42,255,236, 0, 50,255,236, 0, 52,255,236, 0, 55,255,133, 0, 56,255,236, 0, 57,255,195, 0, 58, +255,215, 0, 60,255,154, 0, 68,255,195, 0, 70,255,195, 0, 71,255,195, 0, 72,255,195, 0, 74,255,195, 0, 80,255,215, 0, 81, +255,215, 0, 82,255,195, 0, 83,255,215, 0, 84,255,195, 0, 85,255,215, 0, 86,255,215, 0, 88,255,215, 0,130,255,195, 0,131, +255,195, 0,132,255,195, 0,133,255,195, 0,134,255,195, 0,135,255,195, 0,136,255,133, 0,137,255,236, 0,148,255,236, 0,149, +255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, 0,157,255,236, 0,158, +255,236, 0,159,255,154, 0,162,255,195, 0,163,255,195, 0,164,255,195, 0,165,255,195, 0,166,255,195, 0,167,255,195, 0,168, +255,195, 0,169,255,195, 0,170,255,195, 0,171,255,195, 0,172,255,195, 0,173,255,195, 0,179,255,215, 0,180,255,195, 0,181, +255,195, 0,182,255,195, 0,183,255,195, 0,184,255,195, 0,186,255,195, 0,187,255,215, 0,188,255,215, 0,189,255,215, 0,190, +255,215, 0,194,255,195, 0,195,255,195, 0,196,255,195, 0,197,255,195, 0,198,255,195, 0,199,255,195, 0,200,255,236, 0,201, +255,195, 0,203,255,195, 0,205,255,195, 0,206,255,236, 0,207,255,195, 0,213,255,195, 0,215,255,195, 0,217,255,195, 0,219, +255,195, 0,221,255,195, 0,222,255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 6,255,215, 1, 8,255,215, 1, 10, +255,215, 1, 14,255,236, 1, 15,255,195, 1, 17,255,195, 1, 18,255,236, 1, 19,255,195, 1, 20,255,215, 1, 21,255,195, 1, 29, +255,215, 1, 31,255,215, 1, 33,255,215, 1, 35,255,215, 1, 36,255,133, 1, 38,255,133, 1, 44,255,236, 1, 48,255,236, 1, 50, +255,236, 1, 52,255,236, 1, 54,255,215, 1, 56,255,154, 1, 58,255,154, 1, 67,255,195, 1, 68,255,195, 1, 74,255,215, 1,102, +255,236, 1,109,255,236, 1,113,255,133, 1,114,255,154, 1,115,255,215, 1,117,255,195, 1,120,255,154, 1,145,255,215, 1,250, +255,215, 1,252,255,215, 1,254,255,215, 2, 0,255,154, 2, 7,255,174, 2, 11,255,174, 2, 40,255,195, 2, 88,255,195, 2, 89, +255,195, 2, 95,255,236, 2, 96,255,195, 2, 97,255,236, 3, 29,255,195, 3, 30,255,195, 3, 31,255,195, 3, 33,255,195, 3, 34, +255,195, 3, 35,255,195, 3, 36,255,195, 3, 37,255,195, 3, 38,255,195, 3, 39,255,195, 3, 40,255,195, 3, 41,255,195, 3, 42, +255,195, 3, 43,255,195, 3, 44,255,195, 3, 45,255,195, 3, 46,255,195, 3, 47,255,195, 3, 48,255,195, 3, 49,255,195, 3, 50, +255,195, 3, 51,255,195, 3, 52,255,195, 3, 54,255,195, 3, 56,255,195, 3, 58,255,195, 3, 60,255,195, 3, 62,255,195, 3, 64, +255,195, 3, 66,255,195, 3, 68,255,195, 3, 73,255,236, 3, 74,255,195, 3, 75,255,236, 3, 76,255,195, 3, 77,255,236, 3, 78, +255,195, 3, 79,255,236, 3, 80,255,195, 3, 81,255,236, 3, 82,255,195, 3, 83,255,236, 3, 84,255,195, 3, 85,255,236, 3, 86, +255,195, 3, 87,255,236, 3, 88,255,195, 3, 89,255,236, 3, 90,255,195, 3, 91,255,236, 3, 92,255,195, 3, 93,255,236, 3, 94, +255,195, 3, 95,255,236, 3, 96,255,195, 3, 97,255,236, 3, 98,255,215, 3, 99,255,236, 3,100,255,215, 3,101,255,236, 3,102, +255,215, 3,103,255,236, 3,104,255,215, 3,105,255,236, 3,106,255,215, 3,107,255,236, 3,108,255,215, 3,109,255,236, 3,110, +255,215, 3,111,255,154, 3,113,255,154, 3,115,255,154, 0, 3, 1,102,255,236, 1,109,255,236, 1,136, 0, 41, 0, 70, 0, 15, +255,195, 0, 17,255,195, 0, 36,255,236, 0, 44,255,236, 0, 55,255,195, 0, 57,255,215, 0, 58,255,236, 0, 59,255,215, 0, 60, +255,215, 0, 61,255,236, 0,130,255,236, 0,131,255,236, 0,132,255,236, 0,133,255,236, 0,134,255,236, 0,135,255,236, 0,136, +255,215, 0,142,255,236, 0,143,255,236, 0,144,255,236, 0,145,255,236, 0,159,255,215, 0,194,255,236, 0,196,255,236, 0,198, +255,236, 0,236,255,236, 0,240,255,236, 0,242,255,236, 1, 36,255,195, 1, 38,255,195, 1, 54,255,236, 1, 56,255,215, 1, 58, +255,215, 1, 59,255,236, 1, 61,255,236, 1, 63,255,236, 1, 67,255,236, 1, 95,255,236, 1,103,255,236, 1,105,255,236, 1,108, +255,236, 1,112,255,236, 1,113,255,195, 1,114,255,215, 1,116,255,215, 1,119,255,236, 1,120,255,215, 1,250,255,236, 1,252, +255,236, 1,254,255,236, 2, 0,255,215, 2, 40,255,236, 2, 88,255,236, 3, 29,255,236, 3, 31,255,236, 3, 33,255,236, 3, 35, +255,236, 3, 37,255,236, 3, 39,255,236, 3, 41,255,236, 3, 43,255,236, 3, 45,255,236, 3, 47,255,236, 3, 49,255,236, 3, 51, +255,236, 3, 69,255,236, 3, 71,255,236, 3,111,255,215, 3,113,255,215, 3,115,255,215, 0, 54, 0, 15,255, 51, 0, 17,255, 51, + 0, 36,255,174, 0, 38,255,236, 0, 59,255,236, 0, 60,255,236, 0, 61,255,215, 0,130,255,174, 0,131,255,174, 0,132,255,174, + 0,133,255,174, 0,134,255,174, 0,135,255,174, 0,136,255,113, 0,137,255,236, 0,159,255,236, 0,194,255,174, 0,196,255,174, + 0,198,255,174, 0,200,255,236, 0,206,255,236, 1, 56,255,236, 1, 58,255,236, 1, 59,255,215, 1, 61,255,215, 1, 63,255,215, + 1, 67,255,174, 1, 95,255,174, 1, 98,255,174, 1,100,255,236, 1,105,255,174, 1,116,255,236, 1,120,255,236, 1,129,255,215, + 1,136,255,215, 1,142,255,215, 2, 0,255,236, 2, 40,255,174, 2, 88,255,174, 3, 29,255,174, 3, 31,255,174, 3, 33,255,174, + 3, 35,255,174, 3, 37,255,174, 3, 39,255,174, 3, 41,255,174, 3, 43,255,174, 3, 45,255,174, 3, 47,255,174, 3, 49,255,174, + 3, 51,255,174, 3,111,255,236, 3,113,255,236, 3,115,255,236, 0, 41, 0, 5, 0, 41, 0, 10, 0, 41, 0, 38,255,215, 0, 42, +255,215, 0, 50,255,215, 0, 52,255,215, 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151,255,215, 0,152, +255,215, 0,154,255,215, 0,200,255,215, 0,206,255,215, 0,222,255,215, 0,224,255,215, 0,226,255,215, 0,228,255,215, 1, 14, +255,215, 1, 18,255,215, 1, 20,255,215, 1,102,255,215, 1,109,255,215, 1,115,255,215, 1,136, 0, 41, 2, 7, 0, 41, 2, 11, + 0, 41, 2, 95,255,215, 3, 73,255,215, 3, 75,255,215, 3, 77,255,215, 3, 79,255,215, 3, 81,255,215, 3, 83,255,215, 3, 85, +255,215, 3, 87,255,215, 3, 89,255,215, 3, 91,255,215, 3, 93,255,215, 3, 95,255,215, 0,233, 0, 5, 0, 82, 0, 10, 0, 82, + 0, 15,255,154, 0, 16,255,154, 0, 17,255,154, 0, 34, 0, 41, 0, 36,255,133, 0, 38,255,195, 0, 42,255,195, 0, 50,255,195, + 0, 52,255,195, 0, 54,255,236, 0, 55, 0, 20, 0, 68,255,133, 0, 70,255,133, 0, 71,255,133, 0, 72,255,133, 0, 74,255,154, + 0, 80,255,174, 0, 81,255,174, 0, 82,255,133, 0, 83,255,174, 0, 84,255,133, 0, 85,255,174, 0, 86,255,133, 0, 88,255,174, + 0, 89,255,195, 0, 90,255,195, 0, 91,255,195, 0, 92,255,195, 0, 93,255,195, 0,109,255,154, 0,125,255,215, 0,130,255,133, + 0,131,255,133, 0,132,255,133, 0,133,255,133, 0,134,255,133, 0,135,255,133, 0,136,255,113, 0,137,255,195, 0,148,255,195, + 0,149,255,195, 0,150,255,195, 0,151,255,195, 0,152,255,195, 0,154,255,195, 0,162,255,133, 0,163,255,133, 0,164,255,133, + 0,165,255,133, 0,166,255,133, 0,167,255,133, 0,168,255,133, 0,169,255,133, 0,170,255,133, 0,171,255,133, 0,172,255,133, + 0,173,255,133, 0,179,255,174, 0,180,255,133, 0,181,255,133, 0,182,255,133, 0,183,255,133, 0,184,255,133, 0,186,255,133, + 0,187,255,174, 0,188,255,174, 0,189,255,174, 0,190,255,174, 0,191,255,195, 0,193,255,195, 0,194,255,133, 0,195,255,133, + 0,196,255,133, 0,197,255,133, 0,198,255,133, 0,199,255,133, 0,200,255,195, 0,201,255,133, 0,203,255,133, 0,205,255,133, + 0,206,255,195, 0,207,255,133, 0,213,255,133, 0,215,255,133, 0,217,255,133, 0,219,255,133, 0,221,255,133, 0,222,255,195, + 0,224,255,195, 0,226,255,195, 0,228,255,195, 1, 6,255,174, 1, 8,255,174, 1, 10,255,174, 1, 14,255,195, 1, 15,255,133, + 1, 17,255,133, 1, 18,255,195, 1, 19,255,133, 1, 20,255,195, 1, 21,255,133, 1, 28,255,236, 1, 29,255,133, 1, 31,255,133, + 1, 32,255,236, 1, 33,255,133, 1, 34,255,236, 1, 35,255,133, 1, 36, 0, 20, 1, 38, 0, 20, 1, 55,255,195, 1, 57,255,195, + 1, 64,255,195, 1, 67,255,133, 1, 68,255,133, 1, 74,255,133, 1, 95,255,133, 1, 98,255,154, 1,102,255,195, 1,105,255,133, + 1,109,255,195, 1,113, 0, 20, 1,115,255,195, 1,118,255,195, 1,121,255,133, 1,122,255,133, 1,123,255,174, 1,125,255,174, + 1,126,255,133, 1,128,255,195, 1,129,255,174, 1,130,255,133, 1,132,255,174, 1,134,255,174, 1,135,255,174, 1,136, 0, 20, + 1,137,255,174, 1,138,255,195, 1,140,255,133, 1,142,255,133, 1,143,255,133, 1,144,255,133, 1,145,255,195, 1,146,255,174, + 1,147,255,133, 1,148,255,195, 1,149,255,174, 1,150,255,133, 1,151, 0, 61, 1,152,255,174, 1,153,255,133, 1,154,255,174, + 1,155,255,133, 1,251,255,195, 1,253,255,195, 1,255,255,195, 2, 1,255,195, 2, 2,255,154, 2, 3,255,154, 2, 7, 0, 82, + 2, 11, 0, 82, 2, 40,255,133, 2, 88,255,133, 2, 89,255,133, 2, 95,255,195, 2, 96,255,133, 3, 29,255,133, 3, 30,255,133, + 3, 31,255,133, 3, 33,255,133, 3, 34,255,133, 3, 35,255,133, 3, 36,255,133, 3, 37,255,133, 3, 38,255,133, 3, 39,255,133, + 3, 40,255,133, 3, 41,255,133, 3, 42,255,133, 3, 43,255,133, 3, 44,255,133, 3, 45,255,133, 3, 46,255,133, 3, 47,255,133, + 3, 48,255,133, 3, 49,255,133, 3, 50,255,133, 3, 51,255,133, 3, 52,255,133, 3, 54,255,133, 3, 56,255,133, 3, 58,255,133, + 3, 60,255,133, 3, 62,255,133, 3, 64,255,133, 3, 66,255,133, 3, 68,255,133, 3, 73,255,195, 3, 74,255,133, 3, 75,255,195, + 3, 76,255,133, 3, 77,255,195, 3, 78,255,133, 3, 79,255,195, 3, 80,255,133, 3, 81,255,195, 3, 82,255,133, 3, 83,255,195, + 3, 84,255,133, 3, 85,255,195, 3, 86,255,133, 3, 87,255,195, 3, 88,255,133, 3, 89,255,195, 3, 90,255,133, 3, 91,255,195, + 3, 92,255,133, 3, 93,255,195, 3, 94,255,133, 3, 95,255,195, 3, 96,255,133, 3, 98,255,174, 3,100,255,174, 3,102,255,174, + 3,104,255,174, 3,106,255,174, 3,108,255,174, 3,110,255,174, 3,112,255,195, 3,114,255,195, 3,116,255,195, 0, 45, 0, 15, +255,154, 0, 16,255,195, 0, 17,255,154, 0,109,255,195, 1, 95,255,154, 1, 98,255,195, 1,102,255,215, 1,105,255,154, 1,109, +255,215, 1,115,255,195, 1,118,255,215, 1,121,255,154, 1,122,255,174, 1,123,255,195, 1,124,255,236, 1,125,255,215, 1,126, +255,154, 1,127,255,215, 1,129,255,154, 1,130,255,174, 1,131,255,215, 1,132,255,195, 1,133,255,215, 1,134,255,195, 1,135, +255,195, 1,136, 0, 20, 1,137,255,195, 1,139,255,236, 1,140,255,154, 1,142,255,154, 1,143,255,154, 1,144,255,154, 1,145, +255,236, 1,146,255,195, 1,147,255,154, 1,148,255,215, 1,149,255,195, 1,150,255,174, 1,151, 0, 41, 1,152,255,195, 1,153, +255,154, 1,154,255,195, 1,155,255,174, 2, 2,255,195, 2, 3,255,195, 0, 10, 1, 95,255,215, 1, 98,255,215, 1,103,255,236, + 1,105,255,215, 1,113,255,195, 1,114,255,195, 1,116,255,195, 1,119,255,215, 1,120,255,195, 1,136,255,215, 0, 23, 1,102, +255,215, 1,109,255,215, 1,115,255,195, 1,121,255,236, 1,124,255,236, 1,125,255,236, 1,126,255,236, 1,129,255,236, 1,133, +255,236, 1,134,255,236, 1,136, 0, 20, 1,140,255,236, 1,143,255,236, 1,144,255,236, 1,145,255,215, 1,146,255,215, 1,147, +255,236, 1,149,255,215, 1,150,255,236, 1,152,255,215, 1,153,255,236, 1,154,255,215, 1,155,255,236, 0, 12, 0, 15,255,174, + 0, 17,255,174, 1, 95,255,195, 1, 98,255,215, 1,105,255,195, 1,129,255,215, 1,142,255,215, 1,144,255,236, 1,147,255,236, + 1,150,255,236, 1,153,255,236, 1,155,255,236, 0, 3, 1,113,255,195, 1,114,255,215, 1,120,255,215, 0, 44, 0, 5, 0, 41, + 0, 10, 0, 41, 0, 38,255,236, 0, 42,255,236, 0, 50,255,236, 0, 52,255,236, 0,137,255,236, 0,148,255,236, 0,149,255,236, + 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, + 0,226,255,236, 0,228,255,236, 1, 14,255,236, 1, 18,255,236, 1, 20,255,236, 1,102,255,236, 1,109,255,236, 1,115,255,215, + 1,128,255,236, 1,129,255,236, 1,136, 0, 20, 1,145,255,236, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,236, 3, 73,255,236, + 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, + 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 0,238, 0, 5, 0, 82, 0, 9,255,195, 0, 10, 0, 82, 0, 12, 0, 61, 0, 13, + 0, 41, 0, 15,255,154, 0, 16,255, 92, 0, 17,255,154, 0, 34, 0, 41, 0, 36,255,154, 0, 38,255,215, 0, 42,255,215, 0, 45, +255,190, 0, 48,255,236, 0, 50,255,215, 0, 52,255,215, 0, 54,255,236, 0, 55, 0, 39, 0, 64, 0, 61, 0, 68,255,154, 0, 70, +255,154, 0, 71,255,154, 0, 72,255,154, 0, 73,255,229, 0, 74,255,154, 0, 80,255,195, 0, 81,255,195, 0, 82,255,154, 0, 83, +255,195, 0, 84,255,154, 0, 85,255,195, 0, 86,255,174, 0, 88,255,195, 0, 91,255,215, 0, 92,255,236, 0, 93,255,195, 0, 96, + 0, 61, 0,109,255,195, 0,125,255,215, 0,130,255,154, 0,131,255,154, 0,132,255,154, 0,133,255,154, 0,134,255,154, 0,135, +255,154, 0,136,255,113, 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151,255,215, 0,152,255,215, 0,154, +255,215, 0,162,255,154, 0,163,255,154, 0,164,255,154, 0,165,255,154, 0,166,255,154, 0,167,255,154, 0,168,255,154, 0,169, +255,154, 0,170,255,154, 0,171,255,154, 0,172,255,154, 0,173,255,154, 0,179,255,195, 0,180,255,154, 0,181,255,154, 0,182, +255,154, 0,183,255,154, 0,184,255,154, 0,186,255,154, 0,187,255,195, 0,188,255,195, 0,189,255,195, 0,190,255,195, 0,191, +255,236, 0,193,255,236, 0,194,255,154, 0,195,255,154, 0,196,255,154, 0,197,255,154, 0,198,255,154, 0,199,255,154, 0,200, +255,215, 0,201,255,154, 0,203,255,154, 0,205,255,154, 0,206,255,215, 0,207,255,154, 0,213,255,154, 0,215,255,154, 0,217, +255,154, 0,219,255,154, 0,221,255,154, 0,222,255,215, 0,224,255,215, 0,226,255,215, 0,228,255,215, 0,246,255,190, 1, 6, +255,195, 1, 8,255,195, 1, 10,255,195, 1, 14,255,215, 1, 15,255,154, 1, 17,255,154, 1, 18,255,215, 1, 19,255,154, 1, 20, +255,215, 1, 21,255,154, 1, 28,255,236, 1, 29,255,174, 1, 31,255,174, 1, 32,255,236, 1, 33,255,174, 1, 34,255,236, 1, 35, +255,174, 1, 36, 0, 39, 1, 38, 0, 39, 1, 57,255,236, 1, 64,255,195, 1, 67,255,154, 1, 68,255,154, 1, 74,255,174, 1, 95, +255,154, 1, 98,255,195, 1,102,255,215, 1,105,255,154, 1,109,255,215, 1,115,255,195, 1,118,255,215, 1,121,255,154, 1,122, +255,174, 1,123,255,195, 1,124,255,236, 1,125,255,195, 1,126,255,154, 1,127,255,215, 1,128,255,236, 1,129,255,154, 1,130, +255,154, 1,131,255,215, 1,132,255,195, 1,134,255,195, 1,135,255,195, 1,137,255,195, 1,138,255,236, 1,139,255,236, 1,140, +255,154, 1,141,255,215, 1,142,255,154, 1,143,255,154, 1,144,255,154, 1,145,255,215, 1,146,255,195, 1,147,255,154, 1,148, +255,215, 1,149,255,195, 1,150,255,154, 1,151, 0, 41, 1,152,255,195, 1,153,255,154, 1,154,255,195, 1,155,255,154, 2, 1, +255,236, 2, 7, 0, 82, 2, 11, 0, 82, 2, 15,255,215, 2, 40,255,154, 2, 88,255,154, 2, 89,255,154, 2, 95,255,215, 2, 96, +255,154, 3, 29,255,154, 3, 30,255,154, 3, 31,255,154, 3, 33,255,154, 3, 34,255,154, 3, 35,255,154, 3, 36,255,154, 3, 37, +255,154, 3, 38,255,154, 3, 39,255,154, 3, 40,255,154, 3, 41,255,154, 3, 42,255,154, 3, 43,255,154, 3, 44,255,154, 3, 45, +255,154, 3, 46,255,154, 3, 47,255,154, 3, 48,255,154, 3, 49,255,154, 3, 50,255,154, 3, 51,255,154, 3, 52,255,154, 3, 54, +255,154, 3, 56,255,154, 3, 58,255,154, 3, 60,255,154, 3, 62,255,154, 3, 64,255,154, 3, 66,255,154, 3, 68,255,154, 3, 73, +255,215, 3, 74,255,154, 3, 75,255,215, 3, 76,255,154, 3, 77,255,215, 3, 78,255,154, 3, 79,255,215, 3, 80,255,154, 3, 81, +255,215, 3, 82,255,154, 3, 83,255,215, 3, 84,255,154, 3, 85,255,215, 3, 86,255,154, 3, 87,255,215, 3, 88,255,154, 3, 89, +255,215, 3, 90,255,154, 3, 91,255,215, 3, 92,255,154, 3, 93,255,215, 3, 94,255,154, 3, 95,255,215, 3, 96,255,154, 3, 98, +255,195, 3,100,255,195, 3,102,255,195, 3,104,255,195, 3,106,255,195, 3,108,255,195, 3,110,255,195, 3,112,255,236, 3,114, +255,236, 3,116,255,236, 0, 1, 1,136, 0, 41, 0, 6, 1,121,255,215, 1,126,255,236, 1,129,255,236, 1,140,255,236, 1,144, +255,236, 1,147,255,236, 0, 20, 1,121,255,236, 1,124,255,236, 1,125,255,236, 1,128,255,236, 1,129,255,236, 1,133,255,236, + 1,134,255,236, 1,136, 0, 41, 1,138,255,215, 1,140,255,236, 1,141,255,236, 1,143,255,236, 1,144,255,236, 1,145,255,215, + 1,146,255,236, 1,149,255,236, 1,151,255,236, 1,152,255,236, 1,153,255,236, 1,154,255,236, 0, 1, 1,148,255,236, 0, 11, + 0, 5, 0, 61, 0, 10, 0, 61, 0, 73, 0, 20, 1,129,255,236, 1,141, 0, 41, 1,142,255,236, 1,145, 0, 20, 1,148, 0, 20, + 1,150, 0, 20, 2, 7, 0, 61, 2, 11, 0, 61, 0, 2, 1,145,255,236, 1,148,255,215, 0, 11, 0, 5, 0, 61, 0, 10, 0, 61, + 1,121,255,215, 1,129,255,236, 1,140,255,215, 1,143,255,236, 1,144,255,215, 1,147,255,215, 1,153,255,215, 2, 7, 0, 61, + 2, 11, 0, 61, 0, 28, 1,121,255,174, 1,122,255,215, 1,125,255,215, 1,126,255,195, 1,128,255,215, 1,129,255,195, 1,130, +255,215, 1,131,255,215, 1,132,255,215, 1,133,255,215, 1,134,255,215, 1,135,255,236, 1,136, 0, 41, 1,138,255,215, 1,139, +255,215, 1,140,255,195, 1,141,255,195, 1,143,255,195, 1,144,255,195, 1,145,255,195, 1,146,255,195, 1,147,255,195, 1,149, +255,195, 1,150,255,195, 1,152,255,195, 1,153,255,195, 1,154,255,195, 1,155,255,195, 0, 16, 0, 5, 0, 82, 0, 10, 0, 82, + 1,121,255,215, 1,125,255,236, 1,126,255,236, 1,128,255,215, 1,133,255,215, 1,134,255,236, 1,136, 0, 41, 1,138,255,215, + 1,141,255,215, 1,145,255,215, 1,147,255,215, 1,151,255,236, 2, 7, 0, 82, 2, 11, 0, 82, 0, 9, 0, 5, 0, 41, 0, 10, + 0, 41, 1,121,255,215, 1,126,255,215, 1,129,255,215, 1,130,255,236, 1,140,255,236, 2, 7, 0, 41, 2, 11, 0, 41, 0, 13, + 0, 5, 0, 61, 0, 10, 0, 61, 0, 73, 0, 20, 1,125,255,236, 1,128,255,236, 1,133,255,215, 1,136, 0, 61, 1,138,255,215, + 1,141,255,215, 1,145,255,195, 1,148,255,215, 2, 7, 0, 61, 2, 11, 0, 61, 0, 7, 0, 5, 0, 61, 0, 10, 0, 61, 0, 73, + 0, 20, 1,141, 0, 20, 1,142,255,236, 2, 7, 0, 61, 2, 11, 0, 61, 0, 3, 0, 30, 0, 61, 1,126,255,236, 1,136, 0, 41, + 0, 5, 0, 91,255,215, 0, 93,255,236, 1, 64,255,236, 1,145,255,236, 1,148,255,215, 0, 4, 1,126,255,236, 1,128, 0, 20, + 1,138, 0, 41, 1,145, 0, 20, 0, 7, 0, 91,255,215, 0, 93,255,236, 1, 64,255,236, 1,128, 0, 20, 1,138, 0, 20, 1,141, + 0, 20, 1,145, 0, 41, 0, 14, 0, 5, 0, 82, 0, 10, 0, 82, 0, 73, 0, 20, 0,125, 0, 41, 1,128, 0, 20, 1,129,255,236, + 1,138, 0, 41, 1,140,255,215, 1,141, 0, 20, 1,143,255,215, 1,144,255,236, 1,145, 0, 20, 2, 7, 0, 82, 2, 11, 0, 82, + 0, 4, 0, 91,255,215, 0, 93,255,236, 1, 64,255,236, 1,148,255,236, 0, 21, 0, 5, 0, 82, 0, 10, 0, 82, 0, 73, 0, 20, + 1,121,255,215, 1,122,255,215, 1,126,255,215, 1,128, 0, 20, 1,129,255,215, 1,130,255,215, 1,133,255,236, 1,140,255,215, + 1,143,255,215, 1,144,255,215, 1,146,255,236, 1,147,255,236, 1,148, 0, 41, 1,149,255,215, 1,150,255,215, 1,153,255,236, + 2, 7, 0, 82, 2, 11, 0, 82, 0, 4, 0, 91,255,215, 0, 93,255,236, 1, 64,255,236, 1,128, 0, 20, 0, 19, 1,121,255,236, + 1,125,255,236, 1,126,255,215, 1,128,255,215, 1,129,255,236, 1,133,255,215, 1,136, 0, 41, 1,140,255,236, 1,141,255,215, + 1,143,255,236, 1,144,255,236, 1,145,255,215, 1,146,255,236, 1,148,255,236, 1,149,255,215, 1,152,255,236, 1,153,255,236, + 1,154,255,236, 1,155,255,236, 0, 56, 0, 5, 0, 41, 0, 10, 0, 41, 0, 16,255,215, 0, 38,255,236, 0, 45, 0, 61, 0, 50, +255,236, 0, 52,255,236, 0,132,255,236, 0,137,255,236, 0,138,255,236, 0,143,255,236, 0,148,255,236, 0,149,255,236, 0,150, +255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,200,255,236, 0,206,255,236, 0,246, 0, 61, 1, 14,255,236, 1, 18, +255,236, 1,184,255,236, 1,187,255,236, 1,190,255,236, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,236, 2,108,255,236, 2,126, +255,236, 2,132,255,236, 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,140,255,236, 2,177,255,236, 2,179,255,236, 2,225, +255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, 3, 21,255,236, 3, 25,255,236, 3, 73,255,236, 3, 75, +255,236, 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91, +255,236, 3, 93,255,236, 3, 95,255,236, 0, 61, 0, 5,255,195, 0, 10,255,195, 1,157,255,133, 1,166,255,133, 1,176,255,215, + 1,188,255,133, 1,189,255,215, 1,191,255,236, 1,193,255,195, 1,196,255,133, 1,220,255,195, 1,221,255,236, 1,223,255,236, + 1,225,255,195, 1,228,255,174, 2, 7,255,195, 2, 11,255,195, 2,109,255,236, 2,118,255,215, 2,124,255,195, 2,125,255,195, + 2,128,255,195, 2,129,255,236, 2,130,255,195, 2,131,255,236, 2,139,255,236, 2,159,255,215, 2,169,255,133, 2,170,255,195, + 2,181,255,133, 2,182,255,195, 2,183,255,133, 2,184,255,236, 2,185,255,133, 2,186,255,236, 2,187,255,215, 2,189,255,133, + 2,191,255,195, 2,192,255,195, 2,193,255,195, 2,194,255,195, 2,202,255,215, 2,212,255,195, 2,213,255,195, 2,229,255,215, + 2,247,255,215, 2,248,255,236, 2,249,255,215, 2,250,255,236, 2,251,255,215, 2,252,255,236, 2,253,255,195, 2,254,255,195, + 3, 5,255,215, 3, 7,255,215, 3, 13,255,195, 3, 14,255,236, 3, 15,255,195, 3, 16,255,236, 3, 23,255,133, 3, 24,255,195, + 0,212, 0, 5, 0, 82, 0, 10, 0, 82, 0, 16,255, 92, 0, 38,255,236, 0, 42,255,236, 0, 50,255,236, 0, 52,255,236, 0, 55, +255,133, 0, 56,255,236, 0, 57,255,174, 0, 58,255,195, 0, 60,255,154, 0,137,255,236, 0,148,255,236, 0,149,255,236, 0,150, +255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, 0,157,255,236, 0,158,255,236, 0,159, +255,154, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 14,255,236, 1, 18, +255,236, 1, 20,255,236, 1, 36,255,133, 1, 38,255,133, 1, 44,255,236, 1, 48,255,236, 1, 50,255,236, 1, 52,255,236, 1, 54, +255,195, 1, 56,255,154, 1, 58,255,154, 1,159,255,236, 1,164,255,154, 1,170,255,133, 1,174,255,133, 1,181,255,133, 1,184, +255,215, 1,187,255,236, 1,190,255,195, 1,202,255,133, 1,203,255,215, 1,204,255,195, 1,205,255,195, 1,206,255, 92, 1,207, +255,133, 1,208,255,195, 1,209,255,195, 1,210,255,195, 1,211,255,195, 1,212,255,195, 1,213,255, 92, 1,214,255,195, 1,215, +255,195, 1,216,255,133, 1,217,255,195, 1,218,255,195, 1,219,255,133, 1,220,255,195, 1,221,255,195, 1,222,255,133, 1,223, +255,195, 1,224,255,195, 1,225,255,195, 1,226,255,195, 1,227,255,195, 1,228,255,195, 1,229,255,195, 1,230,255,195, 1,231, +255,195, 1,232,255,195, 1,233,255,154, 1,234,255,133, 1,236,255,195, 1,237,255,133, 1,238,255,174, 1,240, 0, 61, 1,242, +255, 92, 1,243,255,195, 1,245,255,195, 1,247,255,195, 1,249,255,195, 1,250,255,195, 1,252,255,195, 1,254,255,195, 2, 0, +255,154, 2, 7, 0, 82, 2, 11, 0, 82, 2, 95,255,236, 2, 97,255,236, 2,106,255,133, 2,107,255,195, 2,108,255,215, 2,109, +255,195, 2,114,255,133, 2,125,255,195, 2,126,255,215, 2,127,255,133, 2,129,255,195, 2,131,255,195, 2,132,255,215, 2,133, +255,133, 2,134,255,215, 2,135,255,133, 2,136,255,215, 2,137,255,133, 2,138,255,215, 2,139,255,195, 2,140,255,215, 2,141, +255,133, 2,150,255,195, 2,154,255,195, 2,160,255,195, 2,164,255,195, 2,166,255,195, 2,170,255,195, 2,172,255,195, 2,174, +255,195, 2,176,255,195, 2,177,255,215, 2,178,255,133, 2,179,255,215, 2,180,255,133, 2,182,255,195, 2,184,255,195, 2,186, +255,195, 2,188,255,195, 2,192,255,195, 2,194,255,195, 2,196,255,195, 2,197,255,174, 2,198,255,113, 2,199,255,174, 2,203, +255,195, 2,206,255,133, 2,207,255, 92, 2,209,255,195, 2,211,255,195, 2,213,255,195, 2,215,255,195, 2,217,255,133, 2,218, +255,133, 2,219,255,133, 2,220,255,133, 2,221,255,133, 2,224,255,133, 2,225,255,215, 2,227,255,215, 2,230,255,195, 2,236, +255,195, 2,238,255,195, 2,239,255,215, 2,240,255,133, 2,241,255,215, 2,242,255,133, 2,243,255,215, 2,244,255,133, 2,248, +255,195, 2,250,255,195, 2,252,255,195, 2,254,255,195, 3, 0,255,195, 3, 6,255,195, 3, 8,255,195, 3, 9,255, 92, 3, 10, +255,133, 3, 11,255, 92, 3, 12,255,133, 3, 14,255,195, 3, 16,255,195, 3, 17,255,133, 3, 18,255, 92, 3, 20,255,195, 3, 21, +255,215, 3, 22,255,133, 3, 24,255,195, 3, 25,255,215, 3, 26,255,133, 3, 27,255,133, 3, 28,255, 92, 3, 73,255,236, 3, 75, +255,236, 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91, +255,236, 3, 93,255,236, 3, 95,255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, 3,103,255,236, 3,105,255,236, 3,107, +255,236, 3,109,255,236, 3,111,255,154, 3,113,255,154, 3,115,255,154, 0, 31, 0, 5, 0, 41, 0, 10, 0, 41, 1,159,255,215, + 1,184,255,236, 1,187,255,215, 1,190,255,236, 1,222,255,215, 1,225,255,215, 2, 7, 0, 41, 2, 11, 0, 41, 2,108,255,236, + 2,125,255,215, 2,126,255,236, 2,132,255,236, 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,140,255,236, 2,177,255,236, + 2,179,255,236, 2,192,255,215, 2,194,255,215, 2,213,255,215, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, + 2,243,255,236, 2,254,255,215, 3, 21,255,236, 3, 25,255,236, 0, 5, 1,160,255,236, 1,220,255,215, 2,170,255,215, 2,182, +255,215, 3, 24,255,215, 0, 26, 1,159,255,236, 1,220,255,215, 1,221,255,236, 1,225,255,215, 1,228,255,236, 2,109,255,236, + 2,125,255,215, 2,129,255,236, 2,131,255,236, 2,139,255,236, 2,170,255,215, 2,182,255,215, 2,184,255,236, 2,186,255,236, + 2,192,255,215, 2,194,255,215, 2,197,255,215, 2,199,255,215, 2,213,255,215, 2,248,255,236, 2,250,255,236, 2,252,255,236, + 2,254,255,215, 3, 14,255,236, 3, 16,255,236, 3, 24,255,215, 0, 55, 0, 5, 0, 41, 0, 10, 0, 41, 0, 38,255,236, 0, 42, +255,236, 0, 50,255,236, 0, 52,255,236, 0,137,255,236, 0,148,255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152, +255,236, 0,154,255,236, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 14, +255,236, 1, 18,255,236, 1, 20,255,236, 1,159,255,236, 1,184,255,236, 1,187,255,236, 2, 11, 0, 41, 2, 95,255,236, 2,108, +255,236, 2,126,255,236, 2,132,255,236, 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,140,255,236, 2,177,255,236, 2,179, +255,236, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, 3, 21,255,236, 3, 25,255,236, 3, 73, +255,236, 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89, +255,236, 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 0, 52, 0, 5,255,154, 0, 10,255,154, 1,166,255,133, 1,168,255,215, + 1,176,255,215, 1,181,255,236, 1,188,255,133, 1,189,255,236, 1,191,255,236, 1,193,255,174, 1,196,255,133, 1,220,255,215, + 1,225,255,215, 1,228,255,195, 2, 7,255,154, 2, 11,255,154, 2,118,255,215, 2,124,255,174, 2,125,255,215, 2,128,255,174, + 2,130,255,174, 2,159,255,215, 2,169,255,133, 2,170,255,215, 2,181,255,133, 2,182,255,215, 2,183,255,133, 2,185,255,133, + 2,187,255,215, 2,189,255,133, 2,191,255,174, 2,192,255,215, 2,193,255,174, 2,194,255,215, 2,202,255,215, 2,206,255,236, + 2,212,255,174, 2,213,255,215, 2,229,255,215, 2,247,255,236, 2,249,255,236, 2,251,255,236, 2,253,255,174, 2,254,255,215, + 3, 5,255,215, 3, 7,255,215, 3, 13,255,174, 3, 15,255,174, 3, 17,255,236, 3, 23,255,133, 3, 24,255,215, 3, 27,255,236, + 0, 49, 0, 5,255,154, 0, 10,255,154, 1,157,255,133, 1,166,255,133, 1,168,255,215, 1,176,255,236, 1,188,255,133, 1,189, +255,215, 1,193,255,174, 1,196,255,133, 1,220,255,215, 1,223,255,236, 1,225,255,236, 1,228,255,215, 2, 7,255,154, 2, 11, +255,154, 2,118,255,236, 2,124,255,174, 2,125,255,236, 2,128,255,174, 2,130,255,174, 2,159,255,236, 2,169,255,133, 2,170, +255,215, 2,181,255,133, 2,182,255,215, 2,183,255,133, 2,185,255,133, 2,187,255,236, 2,189,255,133, 2,191,255,174, 2,192, +255,236, 2,193,255,174, 2,194,255,236, 2,202,255,236, 2,212,255,174, 2,213,255,236, 2,229,255,236, 2,247,255,215, 2,249, +255,215, 2,251,255,215, 2,253,255,174, 2,254,255,236, 3, 5,255,236, 3, 7,255,236, 3, 13,255,174, 3, 15,255,174, 3, 23, +255,133, 3, 24,255,215, 0, 29, 1,157,255,154, 1,166,255,154, 1,196,255,133, 1,220,255,215, 1,221,255,236, 1,225,255,215, + 1,228,255,195, 1,246,255,236, 2,109,255,236, 2,125,255,215, 2,129,255,236, 2,131,255,236, 2,139,255,236, 2,170,255,215, + 2,182,255,215, 2,184,255,236, 2,186,255,236, 2,192,255,215, 2,194,255,215, 2,197,255,215, 2,199,255,215, 2,213,255,215, + 2,248,255,236, 2,250,255,236, 2,252,255,236, 2,254,255,215, 3, 14,255,236, 3, 16,255,236, 3, 24,255,215, 0,109, 0, 5, + 0, 41, 0, 10, 0, 41, 0, 38,255,215, 0, 42,255,215, 0, 50,255,215, 0, 52,255,215, 0,137,255,215, 0,148,255,215, 0,149, +255,215, 0,150,255,215, 0,151,255,215, 0,152,255,215, 0,154,255,215, 0,200,255,215, 0,206,255,215, 0,222,255,215, 0,224, +255,215, 0,226,255,215, 0,228,255,215, 1, 14,255,215, 1, 18,255,215, 1, 20,255,215, 1,159,255,215, 1,164, 0, 41, 1,181, + 0, 41, 1,184,255,215, 1,187,255,215, 1,190,255,174, 1,203,255,236, 1,206, 0, 20, 1,207,255,215, 1,216,255,215, 1,219, +255,215, 1,220,255,215, 1,221,255,215, 1,222,255,215, 1,225,255,195, 1,228,255,215, 1,234,255,215, 1,237,255,215, 2, 7, + 0, 41, 2, 11, 0, 41, 2, 95,255,215, 2,106,255,215, 2,108,255,215, 2,109,255,215, 2,125,255,195, 2,126,255,215, 2,127, +255,215, 2,129,255,215, 2,131,255,215, 2,132,255,215, 2,133,255,215, 2,134,255,215, 2,135,255,215, 2,136,255,215, 2,137, +255,215, 2,138,255,215, 2,139,255,215, 2,140,255,215, 2,141,255,215, 2,170,255,215, 2,177,255,215, 2,178,255,215, 2,179, +255,215, 2,180,255,215, 2,182,255,215, 2,184,255,215, 2,186,255,215, 2,192,255,195, 2,194,255,195, 2,206, 0, 41, 2,213, +255,195, 2,224,255,215, 2,225,255,215, 2,227,255,215, 2,239,255,215, 2,240,255,215, 2,241,255,215, 2,242,255,215, 2,243, +255,215, 2,244,255,215, 2,248,255,215, 2,250,255,215, 2,252,255,215, 2,254,255,195, 3, 10,255,215, 3, 12,255,215, 3, 14, +255,215, 3, 16,255,215, 3, 17, 0, 41, 3, 21,255,215, 3, 22,255,215, 3, 24,255,215, 3, 25,255,215, 3, 26,255,215, 3, 27, + 0, 41, 3, 73,255,215, 3, 75,255,215, 3, 77,255,215, 3, 79,255,215, 3, 81,255,215, 3, 83,255,215, 3, 85,255,215, 3, 87, +255,215, 3, 89,255,215, 3, 91,255,215, 3, 93,255,215, 3, 95,255,215, 0,103, 0, 5, 0, 82, 0, 10, 0, 82, 1,164,255,154, + 1,170,255,133, 1,174,255,113, 1,181,255,154, 1,187,255,215, 1,188, 0, 41, 1,190,255,215, 1,196, 0, 20, 1,201,255,236, + 1,202,255,174, 1,204,255,215, 1,205,255,215, 1,206,255, 92, 1,207,255,174, 1,209,255,215, 1,210,255,215, 1,211,255,215, + 1,212,255,215, 1,213,255, 92, 1,214,255,215, 1,215,255,215, 1,216,255,174, 1,217,255,215, 1,218,255,215, 1,219,255,174, + 1,222,255,174, 1,224,255,215, 1,225,255,215, 1,226,255,215, 1,227,255,215, 1,229,255,215, 1,230,255,215, 1,232,255,215, + 1,233,255,215, 1,234,255,215, 1,236,255,215, 1,237,255,174, 1,238,255,215, 1,240, 0, 82, 1,242,255,113, 1,243,255,215, + 1,245,255,215, 1,247,255,215, 1,249,255,215, 2, 7, 0, 82, 2, 11, 0, 82, 2,106,255,174, 2,107,255,215, 2,114,255,133, + 2,125,255,215, 2,127,255,174, 2,133,255,174, 2,135,255,174, 2,137,255,174, 2,141,255,174, 2,150,255,215, 2,154,255,215, + 2,164,255,215, 2,166,255,215, 2,169, 0, 41, 2,172,255,215, 2,174,255,215, 2,176,255,215, 2,178,255,174, 2,180,255,174, + 2,181, 0, 41, 2,183, 0, 41, 2,185, 0, 41, 2,189, 0, 41, 2,192,255,215, 2,194,255,215, 2,196,255,215, 2,206,255,154, + 2,207,255, 92, 2,209,255,215, 2,211,255,215, 2,213,255,215, 2,215,255,215, 2,217,255,133, 2,218,255,174, 2,219,255,133, + 2,220,255,174, 2,221,255,133, 2,224,255,174, 2,236,255,215, 2,238,255,215, 2,240,255,174, 2,242,255,174, 2,244,255,174, + 2,254,255,215, 3, 0,255,215, 3, 10,255,174, 3, 12,255,174, 3, 17,255,154, 3, 18,255, 92, 3, 20,255,215, 3, 22,255,174, + 3, 23, 0, 41, 3, 26,255,174, 3, 27,255,154, 3, 28,255, 92, 0,137, 0, 5,255,174, 0, 10,255,174, 0, 38,255,236, 0, 42, +255,236, 0, 50,255,236, 0, 52,255,236, 0, 55,255,133, 0, 56,255,236, 0, 57,255,195, 0, 58,255,215, 0, 60,255,154, 0,137, +255,236, 0,148,255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156, +255,236, 0,157,255,236, 0,158,255,236, 0,159,255,154, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226, +255,236, 0,228,255,236, 1, 14,255,236, 1, 18,255,236, 1, 20,255,215, 1, 36,255,133, 1, 38,255,133, 1, 44,255,236, 1, 48, +255,236, 1, 50,255,236, 1, 52,255,236, 1, 54,255,215, 1, 56,255,154, 1, 58,255,154, 1,157,255,154, 1,159,255,236, 1,164, + 0, 61, 1,166,255,133, 1,174, 0, 41, 1,181, 0, 41, 1,184,255,236, 1,187,255,236, 1,188,255,133, 1,190,255,215, 1,193, +255,174, 1,196,255,154, 1,213, 0, 41, 1,220,255,215, 1,225,255,195, 1,228,255,195, 1,231, 0, 41, 1,242, 0, 41, 1,250, +255,215, 1,252,255,215, 1,254,255,215, 2, 0,255,154, 2, 7,255,174, 2, 11,255,174, 2, 95,255,236, 2, 97,255,236, 2,108, +255,236, 2,124,255,174, 2,125,255,195, 2,126,255,236, 2,128,255,174, 2,130,255,174, 2,132,255,236, 2,134,255,236, 2,136, +255,236, 2,138,255,236, 2,140,255,236, 2,169,255,133, 2,170,255,215, 2,177,255,236, 2,179,255,236, 2,181,255,133, 2,182, +255,215, 2,183,255,133, 2,185,255,133, 2,189,255,133, 2,191,255,174, 2,192,255,195, 2,193,255,174, 2,194,255,195, 2,197, +255,174, 2,198,255,195, 2,199,255,174, 2,206, 0, 41, 2,207, 0, 41, 2,212,255,174, 2,213,255,195, 2,225,255,236, 2,227, +255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, 2,253,255,174, 2,254,255,195, 3, 13,255,174, 3, 15,255,174, 3, 17, + 0, 41, 3, 18, 0, 41, 3, 21,255,236, 3, 23,255,133, 3, 24,255,215, 3, 25,255,236, 3, 27, 0, 41, 3, 28, 0, 41, 3, 73, +255,236, 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89, +255,236, 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, 3,103,255,236, 3,105, +255,236, 3,107,255,236, 3,109,255,236, 3,111,255,154, 3,113,255,154, 3,115,255,154, 0, 42, 1,157,255,215, 1,188,255,215, + 1,189,255,215, 1,191,255,236, 1,193,255,195, 1,196,255,215, 1,208,255,236, 1,220,255,215, 1,225,255,215, 1,228,255,215, + 2,124,255,195, 2,125,255,215, 2,128,255,195, 2,130,255,195, 2,160,255,236, 2,169,255,215, 2,170,255,215, 2,181,255,215, + 2,182,255,215, 2,183,255,215, 2,185,255,215, 2,188,255,236, 2,189,255,215, 2,191,255,195, 2,192,255,215, 2,193,255,195, + 2,194,255,215, 2,203,255,236, 2,212,255,195, 2,213,255,215, 2,230,255,236, 2,247,255,215, 2,249,255,215, 2,251,255,215, + 2,253,255,195, 2,254,255,215, 3, 6,255,236, 3, 8,255,236, 3, 13,255,195, 3, 15,255,195, 3, 23,255,215, 3, 24,255,215, + 0, 33, 0, 55,255,236, 0, 57,255,236, 0, 59,255,236, 0, 60,255,236, 0,159,255,236, 1, 36,255,236, 1, 38,255,236, 1, 56, +255,236, 1, 58,255,236, 1,176,255,236, 1,188,255,236, 1,189,255,236, 1,191,255,236, 2, 0,255,236, 2,118,255,236, 2,159, +255,236, 2,169,255,236, 2,181,255,236, 2,183,255,236, 2,185,255,236, 2,187,255,236, 2,189,255,236, 2,202,255,236, 2,229, +255,236, 2,247,255,236, 2,249,255,236, 2,251,255,236, 3, 5,255,236, 3, 7,255,236, 3, 23,255,236, 3,111,255,236, 3,113, +255,236, 3,115,255,236, 0,143, 0, 5, 0, 82, 0, 10, 0, 82, 0, 16,255, 92, 1,159,255,236, 1,164,255,154, 1,170,255,133, + 1,174,255,133, 1,181,255,133, 1,184,255,215, 1,190,255,195, 1,202,255,133, 1,204,255,195, 1,205,255,195, 1,206,255, 92, + 1,207,255,133, 1,208,255,195, 1,209,255,195, 1,210,255,195, 1,211,255,195, 1,212,255,195, 1,213,255, 92, 1,214,255,195, + 1,215,255,195, 1,216,255,133, 1,217,255,195, 1,218,255,195, 1,219,255,133, 1,220,255,195, 1,221,255,195, 1,222,255,133, + 1,223,255,195, 1,224,255,195, 1,225,255,195, 1,226,255,195, 1,227,255,195, 1,228,255,195, 1,229,255,195, 1,230,255,195, + 1,231,255,195, 1,232,255,195, 1,233,255,154, 1,234,255,133, 1,236,255,195, 1,237,255,133, 1,238,255,174, 1,240, 0, 61, + 1,242,255, 92, 1,243,255,195, 1,245,255,195, 1,247,255,195, 1,249,255,195, 2, 7, 0, 82, 2, 11, 0, 82, 2,106,255,133, + 2,107,255,195, 2,108,255,215, 2,109,255,195, 2,114,255,133, 2,125,255,195, 2,126,255,215, 2,127,255,133, 2,129,255,195, + 2,131,255,195, 2,132,255,215, 2,133,255,133, 2,134,255,215, 2,135,255,133, 2,136,255,215, 2,137,255,133, 2,138,255,215, + 2,139,255,195, 2,140,255,215, 2,141,255,133, 2,150,255,195, 2,154,255,195, 2,160,255,195, 2,164,255,195, 2,166,255,195, + 2,170,255,195, 2,172,255,195, 2,174,255,195, 2,176,255,195, 2,177,255,215, 2,178,255,133, 2,179,255,215, 2,180,255,133, + 2,182,255,195, 2,184,255,195, 2,186,255,195, 2,188,255,195, 2,192,255,195, 2,194,255,195, 2,196,255,195, 2,197,255,174, + 2,198,255,113, 2,199,255,174, 2,203,255,195, 2,206,255,133, 2,207,255, 92, 2,209,255,195, 2,211,255,195, 2,213,255,195, + 2,215,255,195, 2,217,255,133, 2,218,255,133, 2,219,255,133, 2,220,255,133, 2,221,255,133, 2,224,255,133, 2,225,255,215, + 2,227,255,215, 2,230,255,195, 2,236,255,195, 2,238,255,195, 2,239,255,215, 2,240,255,133, 2,241,255,215, 2,242,255,133, + 2,243,255,215, 2,244,255,133, 2,248,255,195, 2,250,255,195, 2,252,255,195, 2,254,255,195, 3, 0,255,195, 3, 6,255,195, + 3, 8,255,195, 3, 9,255, 92, 3, 10,255,133, 3, 11,255, 92, 3, 12,255,133, 3, 14,255,195, 3, 16,255,195, 3, 17,255,133, + 3, 18,255, 92, 3, 20,255,195, 3, 21,255,215, 3, 22,255,133, 3, 24,255,195, 3, 25,255,215, 3, 26,255,133, 3, 27,255,133, + 3, 28,255, 92, 0, 66, 1,157,255,215, 1,163, 0,246, 1,164, 0, 41, 1,166,255,215, 1,170, 0, 20, 1,174, 0, 41, 1,181, + 0, 41, 1,184,255,236, 1,187,255,236, 1,188,255,215, 1,190,255,236, 1,193,255,215, 1,196,255,215, 1,206, 0, 41, 1,213, + 0, 41, 1,225,255,215, 1,231, 0, 41, 1,241, 0,102, 1,242, 0, 41, 2,108,255,236, 2,114, 0, 20, 2,124,255,215, 2,125, +255,215, 2,126,255,236, 2,128,255,215, 2,130,255,215, 2,132,255,236, 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,140, +255,236, 2,169,255,215, 2,177,255,236, 2,179,255,236, 2,181,255,215, 2,183,255,215, 2,185,255,215, 2,189,255,215, 2,191, +255,215, 2,192,255,215, 2,193,255,215, 2,194,255,215, 2,198,255,215, 2,206, 0, 41, 2,207, 0, 41, 2,212,255,215, 2,213, +255,215, 2,217, 0, 20, 2,219, 0, 20, 2,221, 0, 20, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, 2,243, +255,236, 2,253,255,215, 2,254,255,215, 3, 13,255,215, 3, 15,255,215, 3, 17, 0, 41, 3, 18, 0, 41, 3, 21,255,236, 3, 23, +255,215, 3, 25,255,236, 3, 27, 0, 41, 3, 28, 0, 41, 0, 49, 0, 5, 0, 61, 0, 10, 0, 61, 0, 16,255,215, 1,159,255,215, + 1,164, 0, 41, 1,181, 0, 41, 1,184,255,215, 1,187,255,215, 1,190,255,195, 1,203,255,215, 1,213, 0, 41, 1,220,255,215, + 1,225,255,174, 1,242, 0, 41, 2, 7, 0, 61, 2, 11, 0, 61, 2,108,255,215, 2,125,255,174, 2,126,255,215, 2,132,255,215, + 2,134,255,215, 2,136,255,215, 2,138,255,215, 2,140,255,215, 2,170,255,215, 2,177,255,215, 2,179,255,215, 2,182,255,215, + 2,192,255,174, 2,194,255,174, 2,197,255,195, 2,198,255,154, 2,199,255,195, 2,206, 0, 41, 2,207, 0, 41, 2,213,255,174, + 2,225,255,215, 2,227,255,215, 2,239,255,215, 2,241,255,215, 2,243,255,215, 2,254,255,174, 3, 17, 0, 41, 3, 18, 0, 41, + 3, 21,255,215, 3, 24,255,215, 3, 25,255,215, 3, 27, 0, 41, 3, 28, 0, 41, 0, 38, 0, 5, 0, 41, 0, 10, 0, 41, 1,177, +255,236, 1,181,255,215, 1,188,255,215, 1,189,255,236, 1,190,255,236, 1,191,255,215, 1,193,255,236, 1,196,255,236, 1,199, +255,236, 2, 7, 0, 41, 2, 11, 0, 41, 2,124,255,236, 2,128,255,236, 2,130,255,236, 2,161,255,236, 2,169,255,215, 2,181, +255,215, 2,183,255,215, 2,185,255,215, 2,189,255,215, 2,191,255,236, 2,193,255,236, 2,206,255,215, 2,212,255,236, 2,231, +255,236, 2,233,255,236, 2,245,255,236, 2,247,255,236, 2,249,255,236, 2,251,255,236, 2,253,255,236, 3, 13,255,236, 3, 15, +255,236, 3, 17,255,215, 3, 23,255,215, 3, 27,255,215, 0, 76, 0, 5, 0, 41, 0, 10, 0, 41, 0, 16,255,215, 0, 38,255,215, + 0, 42,255,215, 0, 50,255,215, 0, 52,255,215, 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151,255,215, + 0,152,255,215, 0,154,255,215, 0,200,255,215, 0,206,255,215, 0,222,255,215, 0,224,255,215, 0,226,255,215, 0,228,255,215, + 1, 14,255,215, 1, 18,255,215, 1, 20,255,215, 1,159,255,215, 1,164, 0, 61, 1,181, 0, 41, 1,184,255,215, 1,187,255,215, + 1,190,255,174, 1,203,255,215, 1,213, 0, 41, 1,225,255,174, 1,228,255,215, 1,242, 0, 41, 2, 7, 0, 41, 2, 11, 0, 41, + 2, 95,255,215, 2,108,255,215, 2,125,255,174, 2,126,255,215, 2,132,255,215, 2,134,255,215, 2,136,255,215, 2,138,255,215, + 2,140,255,215, 2,177,255,215, 2,179,255,215, 2,192,255,174, 2,194,255,174, 2,206, 0, 41, 2,207, 0, 41, 2,213,255,174, + 2,225,255,215, 2,227,255,215, 2,239,255,215, 2,241,255,215, 2,243,255,215, 2,254,255,174, 3, 17, 0, 41, 3, 18, 0, 41, + 3, 21,255,215, 3, 25,255,215, 3, 27, 0, 41, 3, 28, 0, 41, 3, 73,255,215, 3, 75,255,215, 3, 77,255,215, 3, 79,255,215, + 3, 81,255,215, 3, 83,255,215, 3, 85,255,215, 3, 87,255,215, 3, 89,255,215, 3, 91,255,215, 3, 93,255,215, 3, 95,255,215, + 0, 86, 0, 15,255,195, 0, 17,255,195, 0, 36,255,236, 0, 44,255,236, 0, 55,255,195, 0, 57,255,215, 0, 58,255,236, 0, 59, +255,215, 0, 60,255,215, 0, 61,255,236, 0,130,255,236, 0,131,255,236, 0,132,255,236, 0,133,255,236, 0,134,255,236, 0,135, +255,236, 0,136,255,215, 0,142,255,236, 0,143,255,236, 0,144,255,236, 0,145,255,236, 0,159,255,215, 0,194,255,236, 0,196, +255,236, 0,198,255,236, 0,236,255,236, 0,240,255,236, 0,242,255,236, 1, 36,255,195, 1, 38,255,195, 1, 54,255,236, 1, 56, +255,215, 1, 58,255,215, 1, 59,255,236, 1, 61,255,236, 1, 63,255,236, 1, 67,255,236, 1,157,255,215, 1,164,255,215, 1,166, +255,215, 1,170,255,236, 1,174,255,236, 1,176,255,215, 1,188,255,195, 1,191,255,236, 1,196,255,215, 1,250,255,236, 1,252, +255,236, 1,254,255,236, 2, 0,255,215, 2, 40,255,236, 2, 88,255,236, 2,114,255,236, 2,118,255,215, 2,159,255,215, 2,169, +255,195, 2,181,255,195, 2,183,255,195, 2,185,255,195, 2,187,255,215, 2,189,255,195, 2,202,255,215, 2,217,255,236, 2,219, +255,236, 2,221,255,236, 2,229,255,215, 3, 5,255,215, 3, 7,255,215, 3, 23,255,195, 3, 29,255,236, 3, 31,255,236, 3, 33, +255,236, 3, 35,255,236, 3, 37,255,236, 3, 39,255,236, 3, 41,255,236, 3, 43,255,236, 3, 45,255,236, 3, 47,255,236, 3, 49, +255,236, 3, 51,255,236, 3, 69,255,236, 3, 71,255,236, 3,111,255,215, 3,113,255,215, 3,115,255,215, 0, 69, 0, 5, 0, 61, + 0, 10, 0, 61, 0, 15,255, 51, 0, 17,255, 51, 0, 36,255,174, 0, 38,255,236, 0, 59,255,236, 0, 60,255,236, 0, 61,255,215, + 0,130,255,174, 0,131,255,174, 0,132,255,174, 0,133,255,174, 0,134,255,174, 0,135,255,174, 0,136,255,113, 0,137,255,236, + 0,159,255,236, 0,194,255,174, 0,196,255,174, 0,198,255,174, 0,200,255,236, 0,206,255,236, 1, 56,255,236, 1, 58,255,236, + 1, 59,255,215, 1, 61,255,215, 1, 63,255,215, 1, 67,255,174, 1,164,255,174, 1,170,255,174, 1,174,255,154, 1,181,255,154, + 1,187,255,236, 1,206,255,154, 1,213,255,174, 1,242,255,174, 2, 0,255,236, 2, 7, 0, 61, 2, 11, 0, 61, 2, 40,255,174, + 2, 88,255,174, 2,114,255,174, 2,206,255,154, 2,207,255,174, 2,217,255,174, 2,219,255,174, 2,221,255,174, 3, 9,255,174, + 3, 11,255,174, 3, 17,255,154, 3, 18,255,174, 3, 27,255,154, 3, 28,255,174, 3, 29,255,174, 3, 31,255,174, 3, 33,255,174, + 3, 35,255,174, 3, 37,255,174, 3, 39,255,174, 3, 41,255,174, 3, 43,255,174, 3, 45,255,174, 3, 47,255,174, 3, 49,255,174, + 3, 51,255,174, 3,111,255,236, 3,113,255,236, 3,115,255,236, 0, 66, 0, 5, 0, 41, 0, 10, 0, 41, 0, 12, 0, 41, 0, 38, +255,215, 0, 42,255,215, 0, 50,255,215, 0, 52,255,215, 0, 64, 0, 41, 0, 96, 0, 41, 0,137,255,215, 0,148,255,215, 0,149, +255,215, 0,150,255,215, 0,151,255,215, 0,152,255,215, 0,154,255,215, 0,200,255,215, 0,206,255,215, 0,222,255,215, 0,224, +255,215, 0,226,255,215, 0,228,255,215, 1, 14,255,215, 1, 18,255,215, 1,159,255,215, 1,184,255,215, 1,187,255,215, 1,190, +255,195, 1,225,255,195, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,215, 2,108,255,215, 2,125,255,195, 2,126,255,215, 2,132, +255,215, 2,134,255,215, 2,136,255,215, 2,138,255,215, 2,140,255,215, 2,177,255,215, 2,179,255,215, 2,192,255,195, 2,194, +255,195, 2,198,255,174, 2,213,255,195, 2,225,255,215, 2,227,255,215, 2,239,255,215, 2,241,255,215, 2,243,255,215, 2,254, +255,195, 3, 21,255,215, 3, 25,255,215, 3, 73,255,215, 3, 75,255,215, 3, 77,255,215, 3, 79,255,215, 3, 81,255,215, 3, 83, +255,215, 3, 85,255,215, 3, 87,255,215, 3, 89,255,215, 3, 91,255,215, 3, 93,255,215, 3, 95,255,215, 1, 82, 0, 5, 0, 82, + 0, 10, 0, 82, 0, 15,255,154, 0, 16,255,154, 0, 17,255,154, 0, 34, 0, 41, 0, 36,255,133, 0, 38,255,195, 0, 42,255,195, + 0, 50,255,195, 0, 52,255,195, 0, 54,255,236, 0, 55, 0, 20, 0, 68,255,133, 0, 70,255,133, 0, 71,255,133, 0, 72,255,133, + 0, 74,255,154, 0, 80,255,174, 0, 81,255,174, 0, 82,255,133, 0, 83,255,174, 0, 84,255,133, 0, 85,255,174, 0, 86,255,133, + 0, 88,255,174, 0, 89,255,195, 0, 90,255,195, 0, 91,255,195, 0, 92,255,195, 0, 93,255,195, 0,130,255,133, 0,131,255,133, + 0,132,255,133, 0,133,255,133, 0,134,255,133, 0,135,255,133, 0,136,255,113, 0,137,255,195, 0,148,255,195, 0,149,255,195, + 0,150,255,195, 0,151,255,195, 0,152,255,195, 0,154,255,195, 0,162,255,133, 0,163,255,133, 0,164,255,133, 0,165,255,133, + 0,166,255,133, 0,167,255,133, 0,168,255,133, 0,169,255,133, 0,170,255,133, 0,171,255,133, 0,172,255,133, 0,173,255,133, + 0,179,255,174, 0,180,255,133, 0,181,255,133, 0,182,255,133, 0,183,255,133, 0,184,255,133, 0,186,255,133, 0,187,255,174, + 0,188,255,174, 0,189,255,174, 0,190,255,174, 0,191,255,195, 0,193,255,195, 0,194,255,133, 0,195,255,133, 0,196,255,133, + 0,197,255,133, 0,198,255,133, 0,199,255,133, 0,200,255,195, 0,201,255,133, 0,203,255,133, 0,205,255,133, 0,206,255,195, + 0,207,255,133, 0,213,255,133, 0,215,255,133, 0,217,255,133, 0,219,255,133, 0,221,255,133, 0,222,255,195, 0,224,255,195, + 0,226,255,195, 0,228,255,195, 1, 6,255,174, 1, 8,255,174, 1, 10,255,174, 1, 14,255,195, 1, 15,255,133, 1, 17,255,133, + 1, 18,255,195, 1, 19,255,133, 1, 20,255,195, 1, 21,255,133, 1, 28,255,236, 1, 29,255,133, 1, 31,255,133, 1, 32,255,236, + 1, 33,255,133, 1, 34,255,236, 1, 35,255,133, 1, 36, 0, 20, 1, 38, 0, 20, 1, 55,255,195, 1, 57,255,195, 1, 64,255,195, + 1, 67,255,133, 1, 68,255,133, 1, 74,255,133, 1,159,255,195, 1,160,255,236, 1,164,255,174, 1,170,255,133, 1,174,255,154, + 1,181,255,154, 1,184,255,195, 1,187,255,195, 1,188, 0, 20, 1,190,255,195, 1,196, 0, 20, 1,202,255,133, 1,204,255,195, + 1,205,255,195, 1,206,255,113, 1,207,255,133, 1,208,255,195, 1,209,255,195, 1,210,255,195, 1,212,255,195, 1,213,255,113, + 1,214,255,195, 1,215,255,195, 1,216,255,133, 1,217,255,195, 1,218,255,195, 1,219,255,133, 1,220,255,195, 1,221,255,195, + 1,222,255,133, 1,223,255,195, 1,224,255,195, 1,225,255,195, 1,226,255,195, 1,227,255,195, 1,229,255,195, 1,230,255,195, + 1,232,255,195, 1,233,255,195, 1,234,255,133, 1,235, 0, 41, 1,236,255,195, 1,237,255,133, 1,238,255,133, 1,240, 0, 82, + 1,242,255,133, 1,243,255,195, 1,245,255,195, 1,247,255,195, 1,249,255,195, 1,251,255,195, 1,253,255,195, 1,255,255,195, + 2, 1,255,195, 2, 7, 0, 82, 2, 11, 0, 82, 2, 40,255,133, 2, 88,255,133, 2, 89,255,133, 2, 95,255,195, 2, 96,255,133, + 2,106,255,133, 2,107,255,195, 2,108,255,195, 2,109,255,195, 2,114,255,133, 2,125,255,195, 2,126,255,195, 2,127,255,133, + 2,129,255,195, 2,131,255,195, 2,132,255,195, 2,133,255,133, 2,134,255,195, 2,135,255,133, 2,136,255,195, 2,137,255,133, + 2,138,255,195, 2,139,255,195, 2,140,255,195, 2,141,255,133, 2,150,255,195, 2,154,255,195, 2,160,255,195, 2,164,255,195, + 2,166,255,195, 2,169, 0, 20, 2,170,255,195, 2,172,255,195, 2,174,255,195, 2,176,255,195, 2,177,255,195, 2,178,255,133, + 2,179,255,195, 2,180,255,133, 2,181, 0, 20, 2,182,255,195, 2,183, 0, 20, 2,184,255,195, 2,185, 0, 20, 2,186,255,195, + 2,188,255,195, 2,189, 0, 20, 2,192,255,195, 2,194,255,195, 2,196,255,195, 2,197,255,195, 2,198,255,133, 2,199,255,195, + 2,203,255,195, 2,206,255,154, 2,207,255,113, 2,209,255,195, 2,211,255,195, 2,213,255,195, 2,215,255,195, 2,217,255,133, + 2,218,255,133, 2,219,255,133, 2,220,255,133, 2,221,255,133, 2,224,255,133, 2,225,255,195, 2,227,255,195, 2,230,255,195, + 2,236,255,195, 2,238,255,195, 2,239,255,195, 2,240,255,133, 2,241,255,195, 2,242,255,133, 2,243,255,195, 2,244,255,133, + 2,248,255,195, 2,250,255,195, 2,252,255,195, 2,254,255,195, 3, 0,255,195, 3, 6,255,195, 3, 8,255,195, 3, 9,255,133, + 3, 10,255,133, 3, 11,255,133, 3, 12,255,133, 3, 14,255,195, 3, 16,255,195, 3, 17,255,154, 3, 18,255,113, 3, 20,255,195, + 3, 21,255,195, 3, 22,255,133, 3, 23, 0, 20, 3, 24,255,195, 3, 25,255,195, 3, 26,255,133, 3, 27,255,154, 3, 28,255,113, + 3, 29,255,133, 3, 30,255,133, 3, 31,255,133, 3, 33,255,133, 3, 34,255,133, 3, 35,255,133, 3, 36,255,133, 3, 37,255,133, + 3, 38,255,133, 3, 39,255,133, 3, 40,255,133, 3, 41,255,133, 3, 42,255,133, 3, 43,255,133, 3, 44,255,133, 3, 45,255,133, + 3, 46,255,133, 3, 47,255,133, 3, 48,255,133, 3, 49,255,133, 3, 50,255,133, 3, 51,255,133, 3, 52,255,133, 3, 54,255,133, + 3, 56,255,133, 3, 58,255,133, 3, 60,255,133, 3, 62,255,133, 3, 64,255,133, 3, 66,255,133, 3, 68,255,133, 3, 73,255,195, + 3, 74,255,133, 3, 75,255,195, 3, 76,255,133, 3, 77,255,195, 3, 78,255,133, 3, 79,255,195, 3, 80,255,133, 3, 81,255,195, + 3, 82,255,133, 3, 83,255,195, 3, 84,255,133, 3, 85,255,195, 3, 86,255,133, 3, 87,255,195, 3, 88,255,133, 3, 89,255,195, + 3, 90,255,133, 3, 91,255,195, 3, 92,255,133, 3, 93,255,195, 3, 94,255,133, 3, 95,255,195, 3, 96,255,133, 3, 98,255,174, + 3,100,255,174, 3,102,255,174, 3,104,255,174, 3,106,255,174, 3,108,255,174, 3,110,255,174, 3,112,255,195, 3,114,255,195, + 3,116,255,195, 0, 99, 0, 5, 0, 61, 0, 10, 0, 61, 0, 16,255,215, 1,159,255,215, 1,164,255,174, 1,170,255,154, 1,174, +255,133, 1,181,255,154, 1,187,255,215, 1,190,255,236, 1,196, 0, 41, 1,202,255,174, 1,204,255,195, 1,205,255,195, 1,206, +255,113, 1,207,255,195, 1,210,255,195, 1,211,255,195, 1,212,255,195, 1,213,255,113, 1,214,255,195, 1,215,255,195, 1,216, +255,154, 1,217,255,195, 1,218,255,195, 1,219,255,195, 1,222,255,174, 1,224,255,195, 1,225,255,195, 1,226,255,195, 1,227, +255,195, 1,229,255,195, 1,230,255,195, 1,232,255,195, 1,233,255,195, 1,234,255,195, 1,236,255,195, 1,237,255,195, 1,238, +255,195, 1,240, 0, 61, 1,242,255,133, 1,243,255,195, 1,245,255,195, 1,247,255,195, 1,249,255,195, 2, 7, 0, 61, 2, 11, + 0, 61, 2,106,255,154, 2,107,255,195, 2,114,255,154, 2,125,255,195, 2,127,255,154, 2,133,255,154, 2,135,255,154, 2,137, +255,154, 2,141,255,154, 2,150,255,195, 2,154,255,195, 2,164,255,195, 2,166,255,195, 2,172,255,195, 2,174,255,195, 2,176, +255,195, 2,178,255,154, 2,180,255,154, 2,192,255,195, 2,194,255,195, 2,196,255,195, 2,198,255,174, 2,206,255,154, 2,207, +255,113, 2,209,255,195, 2,211,255,195, 2,213,255,195, 2,215,255,195, 2,217,255,154, 2,218,255,174, 2,219,255,154, 2,220, +255,174, 2,221,255,154, 2,224,255,154, 2,236,255,195, 2,238,255,195, 2,240,255,154, 2,242,255,154, 2,244,255,154, 2,254, +255,195, 3, 0,255,195, 3, 9,255,133, 3, 10,255,154, 3, 11,255,133, 3, 12,255,154, 3, 17,255,154, 3, 18,255,113, 3, 20, +255,195, 3, 22,255,154, 3, 26,255,154, 3, 27,255,154, 3, 28,255,113, 0, 42, 1,157,255,215, 1,164,255,215, 1,166,255,195, + 1,168,255,236, 1,170,255,215, 1,174,255,215, 1,176,255,195, 1,181,255,215, 1,188,255,195, 1,191,255,215, 1,196,255,195, + 1,199,255,215, 1,206,255,195, 1,213,255,195, 1,242,255,195, 2,114,255,215, 2,118,255,195, 2,159,255,195, 2,161,255,215, + 2,169,255,195, 2,181,255,195, 2,183,255,195, 2,185,255,195, 2,187,255,195, 2,189,255,195, 2,202,255,195, 2,206,255,215, + 2,207,255,195, 2,217,255,215, 2,219,255,215, 2,221,255,215, 2,229,255,195, 2,231,255,215, 2,233,255,215, 2,245,255,215, + 3, 5,255,195, 3, 7,255,195, 3, 17,255,215, 3, 18,255,195, 3, 23,255,195, 3, 27,255,215, 3, 28,255,195, 0, 46, 0, 5, + 0, 41, 0, 10, 0, 41, 1,159,255,215, 1,164, 0, 61, 1,174, 0, 41, 1,181, 0, 41, 1,184,255,236, 1,187,255,215, 1,190, +255,215, 1,193,255,236, 1,225,255,195, 2, 7, 0, 41, 2, 11, 0, 41, 2,108,255,236, 2,124,255,236, 2,125,255,195, 2,126, +255,236, 2,128,255,236, 2,130,255,236, 2,132,255,236, 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,140,255,236, 2,177, +255,236, 2,179,255,236, 2,191,255,236, 2,192,255,195, 2,193,255,236, 2,194,255,195, 2,206, 0, 41, 2,212,255,236, 2,213, +255,195, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, 2,253,255,236, 2,254,255,195, 3, 13, +255,236, 3, 15,255,236, 3, 17, 0, 41, 3, 21,255,236, 3, 25,255,236, 3, 27, 0, 41, 0, 48, 1,163, 0,246, 1,164, 0, 41, + 1,170, 0, 20, 1,174, 0, 41, 1,181, 0, 41, 1,188,255,236, 1,190,255,236, 1,191, 0, 20, 1,193,255,236, 1,206, 0, 41, + 1,213, 0, 20, 1,225,255,215, 1,231, 0, 41, 1,241, 0,102, 1,242, 0, 41, 2,114, 0, 20, 2,124,255,236, 2,125,255,215, + 2,128,255,236, 2,130,255,236, 2,169,255,236, 2,181,255,236, 2,183,255,236, 2,185,255,236, 2,189,255,236, 2,191,255,236, + 2,192,255,215, 2,193,255,236, 2,194,255,215, 2,197,255,215, 2,198,255,215, 2,199,255,215, 2,206, 0, 41, 2,207, 0, 20, + 2,212,255,236, 2,213,255,215, 2,217, 0, 20, 2,219, 0, 20, 2,221, 0, 20, 2,253,255,236, 2,254,255,215, 3, 13,255,236, + 3, 15,255,236, 3, 17, 0, 41, 3, 18, 0, 20, 3, 23,255,236, 3, 27, 0, 41, 3, 28, 0, 20, 0, 62, 1,157,255,236, 1,163, + 0,225, 1,164, 0, 61, 1,170, 0, 41, 1,174, 0, 41, 1,181, 0, 41, 1,188,255,236, 1,189, 0, 41, 1,190,255,236, 1,191, + 0, 20, 1,193,255,236, 1,196,255,236, 1,199, 0, 20, 1,206, 0, 61, 1,209, 0, 20, 1,213, 0, 41, 1,220,255,236, 1,225, +255,215, 1,228,255,236, 1,231, 0, 41, 1,241, 0,102, 1,242, 0, 41, 2,114, 0, 41, 2,124,255,236, 2,125,255,215, 2,128, +255,236, 2,130,255,236, 2,161, 0, 20, 2,169,255,236, 2,170,255,236, 2,181,255,236, 2,182,255,236, 2,183,255,236, 2,185, +255,236, 2,189,255,236, 2,191,255,236, 2,192,255,215, 2,193,255,236, 2,194,255,215, 2,206, 0, 41, 2,207, 0, 41, 2,212, +255,236, 2,213,255,215, 2,217, 0, 41, 2,219, 0, 41, 2,221, 0, 41, 2,231, 0, 20, 2,233, 0, 20, 2,245, 0, 20, 2,247, + 0, 41, 2,249, 0, 41, 2,251, 0, 41, 2,253,255,236, 2,254,255,215, 3, 13,255,236, 3, 15,255,236, 3, 17, 0, 41, 3, 18, + 0, 41, 3, 23,255,236, 3, 24,255,236, 3, 27, 0, 41, 3, 28, 0, 41, 0, 30, 0, 5,255,195, 0, 10,255,195, 1,157,255,133, + 1,166,255,113, 1,168,255,215, 1,188,255,133, 1,193,255,195, 1,196,255,133, 1,220,255,215, 1,228,255,215, 2, 7,255,195, + 2, 11,255,195, 2,124,255,195, 2,128,255,195, 2,130,255,195, 2,169,255,133, 2,170,255,215, 2,181,255,133, 2,182,255,215, + 2,183,255,133, 2,185,255,133, 2,189,255,133, 2,191,255,195, 2,193,255,195, 2,212,255,195, 2,253,255,195, 3, 13,255,195, + 3, 15,255,195, 3, 23,255,133, 3, 24,255,215, 0, 32, 0, 5,255,154, 0, 10,255,154, 1,157,255,133, 1,166,255,133, 1,168, +255,215, 1,188,255,133, 1,193,255,195, 1,196,255,133, 1,220,255,215, 1,228,255,215, 2, 7,255,154, 2, 11,255,154, 2,124, +255,195, 2,128,255,195, 2,130,255,195, 2,169,255,133, 2,170,255,215, 2,181,255,133, 2,182,255,215, 2,183,255,133, 2,185, +255,133, 2,189,255,133, 2,191,255,195, 2,193,255,195, 2,197,255,195, 2,199,255,195, 2,212,255,195, 2,253,255,195, 3, 13, +255,195, 3, 15,255,195, 3, 23,255,133, 3, 24,255,215, 0, 35, 1,157,255,215, 1,164,255,215, 1,166,255,215, 1,168,255,215, + 1,174,255,215, 1,176,255,195, 1,177,255,236, 1,181,255,195, 1,188,255,215, 1,189,255,236, 1,191,255,215, 1,213,255,215, + 1,242,255,215, 2,118,255,195, 2,159,255,195, 2,169,255,215, 2,181,255,215, 2,183,255,215, 2,185,255,215, 2,187,255,195, + 2,189,255,215, 2,202,255,195, 2,206,255,195, 2,207,255,215, 2,229,255,195, 2,247,255,236, 2,249,255,236, 2,251,255,236, + 3, 5,255,195, 3, 7,255,195, 3, 17,255,195, 3, 18,255,215, 3, 23,255,215, 3, 27,255,195, 3, 28,255,215, 0, 29, 1,157, +255,215, 1,164,255,215, 1,166,255,215, 1,168,255,236, 1,174,255,215, 1,176,255,215, 1,177,255,236, 1,181,255,215, 1,189, +255,236, 1,191,255,215, 1,206,255,215, 1,213,255,215, 1,242,255,215, 2,118,255,215, 2,159,255,215, 2,187,255,215, 2,202, +255,215, 2,206,255,215, 2,207,255,215, 2,229,255,215, 2,247,255,236, 2,249,255,236, 2,251,255,236, 3, 5,255,215, 3, 7, +255,215, 3, 17,255,215, 3, 18,255,215, 3, 27,255,215, 3, 28,255,215, 0, 25, 0, 10,255,215, 1,220,255,215, 1,221,255,236, + 1,225,255,236, 1,228,255,215, 1,246,255,215, 2,109,255,236, 2,125,255,236, 2,129,255,236, 2,131,255,236, 2,139,255,236, + 2,170,255,215, 2,182,255,215, 2,184,255,236, 2,186,255,236, 2,192,255,236, 2,194,255,236, 2,213,255,236, 2,248,255,236, + 2,250,255,236, 2,252,255,236, 2,254,255,236, 3, 14,255,236, 3, 16,255,236, 3, 24,255,215, 0, 33, 1,206,255,215, 1,208, +255,215, 1,220,255,215, 1,221,255,215, 1,223,255,215, 1,225,255,236, 1,228,255,215, 1,246,255,215, 2,109,255,215, 2,125, +255,236, 2,129,255,215, 2,131,255,215, 2,139,255,215, 2,160,255,215, 2,170,255,215, 2,182,255,215, 2,184,255,215, 2,186, +255,215, 2,188,255,215, 2,192,255,236, 2,194,255,236, 2,203,255,215, 2,213,255,236, 2,230,255,215, 2,248,255,215, 2,250, +255,215, 2,252,255,215, 2,254,255,236, 3, 6,255,215, 3, 8,255,215, 3, 14,255,215, 3, 16,255,215, 3, 24,255,215, 0, 36, + 0, 5, 0, 61, 0, 10, 0, 61, 1,208,255,236, 1,220,255,215, 1,221,255,215, 1,223,255,215, 1,225,255,236, 1,228,255,215, + 1,246,255,215, 2, 7, 0, 61, 2, 11, 0, 61, 2,109,255,215, 2,125,255,236, 2,129,255,215, 2,131,255,215, 2,139,255,215, + 2,160,255,236, 2,170,255,215, 2,182,255,215, 2,184,255,215, 2,186,255,215, 2,188,255,236, 2,192,255,236, 2,194,255,236, + 2,203,255,236, 2,213,255,236, 2,230,255,236, 2,248,255,215, 2,250,255,215, 2,252,255,215, 2,254,255,236, 3, 6,255,236, + 3, 8,255,236, 3, 14,255,215, 3, 16,255,215, 3, 24,255,215, 0, 7, 1,206,255,154, 1,213,255,154, 1,237,255,236, 1,242, +255,154, 2,207,255,154, 3, 18,255,154, 3, 28,255,154, 0, 16, 1,202, 0, 20, 1,206, 0, 41, 1,220,255,215, 1,225,255,215, + 1,228,255,195, 1,241, 0,123, 2,125,255,215, 2,170,255,215, 2,182,255,215, 2,192,255,215, 2,194,255,215, 2,213,255,215, + 2,218, 0, 20, 2,220, 0, 20, 2,254,255,215, 3, 24,255,215, 0, 13, 0, 10,255,215, 1,208,255,215, 1,220,255,236, 1,223, +255,236, 2,160,255,215, 2,170,255,236, 2,182,255,236, 2,188,255,215, 2,203,255,215, 2,230,255,215, 3, 6,255,215, 3, 8, +255,215, 3, 24,255,236, 0, 32, 0, 5, 0, 41, 0, 10, 0, 41, 1,207,255,215, 1,216,255,215, 1,219,255,236, 1,222,255,215, + 1,225,255,215, 1,234,255,215, 1,237,255,215, 2, 7, 0, 41, 2, 11, 0, 41, 2,106,255,215, 2,125,255,215, 2,127,255,215, + 2,133,255,215, 2,135,255,215, 2,137,255,215, 2,141,255,215, 2,178,255,215, 2,180,255,215, 2,192,255,215, 2,194,255,215, + 2,213,255,215, 2,224,255,215, 2,240,255,215, 2,242,255,215, 2,244,255,215, 2,254,255,215, 3, 10,255,215, 3, 12,255,215, + 3, 22,255,215, 3, 26,255,215, 0, 29, 0, 5, 0, 61, 0, 10, 0, 61, 1,209,255,236, 1,220,255,236, 1,221,255,236, 1,223, +255,236, 1,225,255,215, 1,246,255,236, 2, 7, 0, 61, 2, 11, 0, 61, 2,109,255,236, 2,125,255,215, 2,129,255,236, 2,131, +255,236, 2,139,255,236, 2,170,255,236, 2,182,255,236, 2,184,255,236, 2,186,255,236, 2,192,255,215, 2,194,255,215, 2,213, +255,215, 2,248,255,236, 2,250,255,236, 2,252,255,236, 2,254,255,215, 3, 14,255,236, 3, 16,255,236, 3, 24,255,236, 0, 33, + 0, 5, 0, 41, 0, 10, 0, 41, 1,203,255,215, 1,207,255,215, 1,216,255,215, 1,219,255,215, 1,222,255,215, 1,225,255,215, + 1,234,255,215, 1,237,255,215, 2, 7, 0, 41, 2, 11, 0, 41, 2,106,255,215, 2,125,255,215, 2,127,255,215, 2,133,255,215, + 2,135,255,215, 2,137,255,215, 2,141,255,215, 2,178,255,215, 2,180,255,215, 2,192,255,215, 2,194,255,215, 2,213,255,215, + 2,224,255,215, 2,240,255,215, 2,242,255,215, 2,244,255,215, 2,254,255,215, 3, 10,255,215, 3, 12,255,215, 3, 22,255,215, + 3, 26,255,215, 0, 34, 0, 91,255,215, 0, 93,255,236, 1, 64,255,236, 1,208,255,215, 1,209,255,236, 1,213,255,236, 1,220, +255,215, 1,221,255,236, 1,223,255,215, 1,242,255,236, 1,246,255,236, 2,109,255,236, 2,129,255,236, 2,131,255,236, 2,139, +255,236, 2,160,255,215, 2,170,255,215, 2,182,255,215, 2,184,255,236, 2,186,255,236, 2,188,255,215, 2,203,255,215, 2,207, +255,236, 2,230,255,215, 2,248,255,236, 2,250,255,236, 2,252,255,236, 3, 6,255,215, 3, 8,255,215, 3, 14,255,236, 3, 16, +255,236, 3, 18,255,236, 3, 24,255,215, 3, 28,255,236, 0, 19, 1,208,255,215, 1,209,255,236, 1,213,255,236, 1,220,255,236, + 1,223,255,236, 1,228,255,236, 1,242,255,236, 2,160,255,215, 2,170,255,236, 2,182,255,236, 2,188,255,215, 2,203,255,215, + 2,207,255,236, 2,230,255,215, 3, 6,255,215, 3, 8,255,215, 3, 18,255,236, 3, 24,255,236, 3, 28,255,236, 0, 23, 0, 5, + 0, 61, 0, 10, 0, 61, 1,207,255,236, 1,216,255,236, 1,237,255,236, 2, 7, 0, 61, 2, 11, 0, 61, 2,106,255,236, 2,127, +255,236, 2,133,255,236, 2,135,255,236, 2,137,255,236, 2,141,255,236, 2,178,255,236, 2,180,255,236, 2,224,255,236, 2,240, +255,236, 2,242,255,236, 2,244,255,236, 3, 10,255,236, 3, 12,255,236, 3, 22,255,236, 3, 26,255,236, 0, 48, 0, 5, 0, 82, + 0, 10, 0, 82, 0, 73, 0, 20, 1,202,255,215, 1,206,255,154, 1,207,255,236, 1,213,255,195, 1,216,255,215, 1,219,255,215, + 1,221, 0, 20, 1,222,255,215, 1,237,255,215, 1,242,255,154, 1,246, 0, 20, 2, 7, 0, 82, 2, 11, 0, 82, 2,106,255,215, + 2,109, 0, 20, 2,127,255,215, 2,129, 0, 20, 2,131, 0, 20, 2,133,255,215, 2,135,255,215, 2,137,255,215, 2,139, 0, 20, + 2,141,255,215, 2,178,255,215, 2,180,255,215, 2,184, 0, 20, 2,186, 0, 20, 2,207,255,195, 2,218,255,215, 2,220,255,215, + 2,224,255,215, 2,240,255,215, 2,242,255,215, 2,244,255,215, 2,248, 0, 20, 2,250, 0, 20, 2,252, 0, 20, 3, 10,255,215, + 3, 12,255,215, 3, 14, 0, 20, 3, 16, 0, 20, 3, 18,255,195, 3, 22,255,215, 3, 26,255,215, 3, 28,255,195, 0, 36, 0, 5, + 0, 61, 0, 10, 0, 61, 0, 73, 0, 20, 1,202,255,236, 1,206,255,195, 1,213,255,195, 1,216,255,236, 1,220, 0, 20, 1,222, +255,236, 1,242,255,195, 2, 7, 0, 61, 2, 11, 0, 61, 2,106,255,236, 2,127,255,236, 2,133,255,236, 2,135,255,236, 2,137, +255,236, 2,141,255,236, 2,170, 0, 20, 2,178,255,236, 2,180,255,236, 2,182, 0, 20, 2,207,255,195, 2,218,255,236, 2,220, +255,236, 2,224,255,236, 2,240,255,236, 2,242,255,236, 2,244,255,236, 3, 10,255,236, 3, 12,255,236, 3, 18,255,195, 3, 22, +255,236, 3, 24, 0, 20, 3, 26,255,236, 3, 28,255,195, 0, 28, 0, 91,255,215, 0, 93,255,236, 1, 64,255,236, 1,208,255,215, + 1,209,255,236, 1,213,255,236, 1,220,255,215, 1,223,255,236, 1,225,255,236, 1,228,255,215, 1,242,255,215, 2,125,255,236, + 2,160,255,215, 2,170,255,215, 2,182,255,215, 2,188,255,215, 2,192,255,236, 2,194,255,236, 2,203,255,215, 2,207,255,236, + 2,213,255,236, 2,230,255,215, 2,254,255,236, 3, 6,255,215, 3, 8,255,215, 3, 18,255,236, 3, 24,255,215, 3, 28,255,236, + 0, 29, 1,203,255,236, 1,207,255,236, 1,216,255,236, 1,219,255,236, 1,222,255,236, 1,225,255,236, 1,234,255,236, 1,237, +255,236, 2,106,255,236, 2,125,255,236, 2,127,255,236, 2,133,255,236, 2,135,255,236, 2,137,255,236, 2,141,255,236, 2,178, +255,236, 2,180,255,236, 2,192,255,236, 2,194,255,236, 2,213,255,236, 2,224,255,236, 2,240,255,236, 2,242,255,236, 2,244, +255,236, 2,254,255,236, 3, 10,255,236, 3, 12,255,236, 3, 22,255,236, 3, 26,255,236, 0, 21, 1,206, 0, 41, 1,213, 0, 41, + 1,220,255,236, 1,225,255,236, 1,228,255,215, 1,231, 0, 41, 1,233, 0, 20, 1,241, 0,102, 1,242, 0, 41, 1,246, 0, 20, + 2,125,255,236, 2,170,255,236, 2,182,255,236, 2,192,255,236, 2,194,255,236, 2,207, 0, 41, 2,213,255,236, 2,254,255,236, + 3, 18, 0, 41, 3, 24,255,236, 3, 28, 0, 41, 0, 22, 1,206, 0, 61, 1,213, 0, 41, 1,220,255,236, 1,225,255,236, 1,228, +255,236, 1,231, 0, 20, 1,234,255,236, 1,237,255,236, 1,241, 0,102, 1,242, 0, 41, 1,246, 0, 20, 2,125,255,236, 2,170, +255,236, 2,182,255,236, 2,192,255,236, 2,194,255,236, 2,207, 0, 41, 2,213,255,236, 2,254,255,236, 3, 18, 0, 41, 3, 24, +255,236, 3, 28, 0, 41, 0, 25, 1,220,255,154, 1,221,255,215, 1,223,255,236, 1,225,255,215, 1,228,255,113, 1,246,255,195, + 2,109,255,215, 2,125,255,215, 2,129,255,215, 2,131,255,215, 2,139,255,215, 2,170,255,154, 2,182,255,154, 2,184,255,215, + 2,186,255,215, 2,192,255,215, 2,194,255,215, 2,213,255,215, 2,248,255,215, 2,250,255,215, 2,252,255,215, 2,254,255,215, + 3, 14,255,215, 3, 16,255,215, 3, 24,255,154, 0, 28, 0, 5, 0, 61, 0, 10, 0, 61, 1,220,255,154, 1,221,255,215, 1,223, +255,236, 1,225,255,215, 1,228,255,113, 2, 7, 0, 61, 2, 11, 0, 61, 2,109,255,215, 2,125,255,215, 2,129,255,215, 2,131, +255,215, 2,139,255,215, 2,170,255,154, 2,182,255,154, 2,184,255,215, 2,186,255,215, 2,192,255,215, 2,194,255,215, 2,213, +255,215, 2,248,255,215, 2,250,255,215, 2,252,255,215, 2,254,255,215, 3, 14,255,215, 3, 16,255,215, 3, 24,255,154, 0, 17, + 1,206,255,215, 1,208,255,215, 1,209,255,236, 1,213,255,236, 1,223,255,236, 1,228,255,215, 1,242,255,236, 1,246,255,215, + 2,160,255,215, 2,188,255,215, 2,203,255,215, 2,207,255,236, 2,230,255,215, 3, 6,255,215, 3, 8,255,215, 3, 18,255,236, + 3, 28,255,236, 0, 16, 1,206,255,215, 1,208,255,215, 1,209,255,236, 1,213,255,236, 1,223,255,236, 1,228,255,215, 1,246, +255,236, 2,160,255,215, 2,188,255,215, 2,203,255,215, 2,207,255,236, 2,230,255,215, 3, 6,255,215, 3, 8,255,215, 3, 18, +255,236, 3, 28,255,236, 0, 3, 0, 5,255,152, 0, 10,255,215, 1,223,255,236, 0, 28, 1,206,255,154, 1,207,255,215, 1,213, +255,154, 1,216,255,215, 1,219,255,236, 1,222,255,215, 1,234,255,215, 1,237,255,236, 1,242,255,154, 2,106,255,215, 2,127, +255,215, 2,133,255,215, 2,135,255,215, 2,137,255,215, 2,141,255,215, 2,178,255,215, 2,180,255,215, 2,207,255,154, 2,224, +255,215, 2,240,255,215, 2,242,255,215, 2,244,255,215, 3, 10,255,215, 3, 12,255,215, 3, 18,255,154, 3, 22,255,215, 3, 26, +255,215, 3, 28,255,154, 0, 2, 1,235, 0, 61, 1,244, 0, 61, 0, 33, 1,208,255,215, 1,220,255,154, 1,221,255,195, 1,222, +255,236, 1,223,255,236, 1,225,255,215, 1,228,255,154, 1,246,255,215, 2,109,255,195, 2,125,255,215, 2,129,255,195, 2,131, +255,195, 2,139,255,195, 2,160,255,215, 2,170,255,154, 2,182,255,154, 2,184,255,195, 2,186,255,195, 2,188,255,215, 2,192, +255,215, 2,194,255,215, 2,203,255,215, 2,213,255,215, 2,230,255,215, 2,248,255,195, 2,250,255,195, 2,252,255,195, 2,254, +255,215, 3, 6,255,215, 3, 8,255,215, 3, 14,255,195, 3, 16,255,195, 3, 24,255,154, 0, 31, 1,208,255,215, 1,220,255,154, + 1,221,255,195, 1,223,255,236, 1,225,255,215, 1,228,255,154, 2,109,255,195, 2,125,255,215, 2,129,255,195, 2,131,255,195, + 2,139,255,195, 2,160,255,215, 2,170,255,154, 2,182,255,154, 2,184,255,195, 2,186,255,195, 2,188,255,215, 2,192,255,215, + 2,194,255,215, 2,203,255,215, 2,213,255,215, 2,230,255,215, 2,248,255,195, 2,250,255,195, 2,252,255,195, 2,254,255,215, + 3, 6,255,215, 3, 8,255,215, 3, 14,255,195, 3, 16,255,195, 3, 24,255,154, 0, 1, 1,246,255,215, 0, 28, 0, 5, 0, 41, + 0, 10, 0, 41, 1,203,255,236, 1,207,255,215, 1,216,255,215, 1,219,255,236, 1,222,255,215, 1,234,255,215, 1,237,255,215, + 1,246,255,236, 2, 7, 0, 41, 2, 11, 0, 41, 2,106,255,215, 2,127,255,215, 2,133,255,215, 2,135,255,215, 2,137,255,215, + 2,141,255,215, 2,178,255,215, 2,180,255,215, 2,224,255,215, 2,240,255,215, 2,242,255,215, 2,244,255,215, 3, 10,255,215, + 3, 12,255,215, 3, 22,255,215, 3, 26,255,215, 0, 29, 1,202,255,215, 1,213,255,195, 1,216,255,236, 1,220, 0, 20, 1,242, +255,215, 2,106,255,236, 2,127,255,236, 2,133,255,236, 2,135,255,236, 2,137,255,236, 2,141,255,236, 2,170, 0, 20, 2,178, +255,236, 2,180,255,236, 2,182, 0, 20, 2,207,255,195, 2,218,255,215, 2,220,255,215, 2,224,255,236, 2,240,255,236, 2,242, +255,236, 2,244,255,236, 3, 10,255,236, 3, 12,255,236, 3, 18,255,195, 3, 22,255,236, 3, 24, 0, 20, 3, 26,255,236, 3, 28, +255,195, 0,218, 0, 5, 0, 82, 0, 10, 0, 82, 0, 16,255, 92, 0, 38,255,236, 0, 42,255,236, 0, 50,255,236, 0, 52,255,236, + 0, 55,255,133, 0, 56,255,236, 0, 57,255,174, 0, 58,255,195, 0, 60,255,154, 0,137,255,236, 0,148,255,236, 0,149,255,236, + 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, 0,157,255,236, 0,158,255,236, + 0,159,255,154, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 14,255,236, + 1, 18,255,236, 1, 20,255,236, 1, 36,255,133, 1, 38,255,133, 1, 44,255,236, 1, 48,255,236, 1, 50,255,236, 1, 52,255,236, + 1, 54,255,195, 1, 56,255,154, 1, 58,255,154, 1,159,255,236, 1,164,255,154, 1,170,255,133, 1,174,255,133, 1,181,255,133, + 1,184,255,215, 1,187,255,236, 1,188,255,133, 1,190,255,195, 1,202,255,133, 1,204,255,195, 1,205,255,195, 1,206,255, 92, + 1,207,255,133, 1,208,255,195, 1,209,255,195, 1,210,255,195, 1,211,255,195, 1,212,255,195, 1,213,255, 92, 1,214,255,195, + 1,215,255,195, 1,216,255,133, 1,217,255,195, 1,218,255,195, 1,219,255,133, 1,220,255,195, 1,221,255,195, 1,222,255,133, + 1,223,255,195, 1,224,255,195, 1,225,255,195, 1,226,255,195, 1,227,255,195, 1,228,255,195, 1,229,255,195, 1,230,255,195, + 1,231,255,195, 1,232,255,195, 1,233,255,154, 1,234,255,133, 1,236,255,195, 1,237,255,133, 1,238,255,174, 1,240, 0, 61, + 1,242,255, 92, 1,243,255,195, 1,245,255,195, 1,247,255,195, 1,249,255,195, 1,250,255,195, 1,252,255,195, 1,254,255,195, + 2, 0,255,154, 2, 7, 0, 82, 2, 11, 0, 82, 2, 95,255,236, 2, 97,255,236, 2,106,255,133, 2,107,255,195, 2,108,255,215, + 2,109,255,195, 2,114,255,133, 2,125,255,195, 2,126,255,215, 2,127,255,133, 2,129,255,195, 2,131,255,195, 2,132,255,215, + 2,133,255,133, 2,134,255,215, 2,135,255,133, 2,136,255,215, 2,137,255,133, 2,138,255,215, 2,139,255,195, 2,140,255,215, + 2,141,255,133, 2,150,255,195, 2,154,255,195, 2,160,255,195, 2,164,255,195, 2,166,255,195, 2,169,255,133, 2,170,255,195, + 2,172,255,195, 2,174,255,195, 2,176,255,195, 2,177,255,215, 2,178,255,133, 2,179,255,215, 2,180,255,133, 2,181,255,133, + 2,182,255,195, 2,183,255,133, 2,184,255,195, 2,185,255,133, 2,186,255,195, 2,188,255,195, 2,189,255,133, 2,192,255,195, + 2,194,255,195, 2,196,255,195, 2,197,255,174, 2,198,255,113, 2,199,255,174, 2,203,255,195, 2,206,255,133, 2,207,255, 92, + 2,209,255,195, 2,211,255,195, 2,213,255,195, 2,215,255,195, 2,217,255,133, 2,218,255,133, 2,219,255,133, 2,220,255,133, + 2,221,255,133, 2,224,255,133, 2,225,255,215, 2,227,255,215, 2,230,255,195, 2,236,255,195, 2,238,255,195, 2,239,255,215, + 2,240,255,133, 2,241,255,215, 2,242,255,133, 2,243,255,215, 2,244,255,133, 2,248,255,195, 2,250,255,195, 2,252,255,195, + 2,254,255,195, 3, 0,255,195, 3, 6,255,195, 3, 8,255,195, 3, 9,255, 92, 3, 10,255,133, 3, 11,255, 92, 3, 12,255,133, + 3, 14,255,195, 3, 16,255,195, 3, 17,255,133, 3, 18,255, 92, 3, 20,255,195, 3, 21,255,215, 3, 22,255,133, 3, 23,255,133, + 3, 24,255,195, 3, 25,255,215, 3, 26,255,133, 3, 27,255,133, 3, 28,255, 92, 3, 73,255,236, 3, 75,255,236, 3, 77,255,236, + 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93,255,236, + 3, 95,255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, 3,103,255,236, 3,105,255,236, 3,107,255,236, 3,109,255,236, + 3,111,255,154, 3,113,255,154, 3,115,255,154, 0, 3, 0, 55,255,154, 1,113,255,154, 1,114,255,195, 0,195, 0, 36,255,174, + 0, 44, 0, 41, 0, 55, 0, 82, 0, 57, 0, 82, 0, 58, 0,102, 0, 59, 0, 41, 0, 60, 0, 82, 0, 61, 0, 41, 0, 70,255,195, + 0, 71,255,195, 0, 72,255,195, 0, 74,255,215, 0, 82,255,195, 0, 84,255,195, 0, 87, 0, 41, 0, 89, 0, 41, 0, 90, 0, 20, + 0,130,255,174, 0,131,255,174, 0,132,255,174, 0,133,255,174, 0,134,255,174, 0,135,255,174, 0,136,255, 92, 0,142, 0, 41, + 0,143, 0, 41, 0,144, 0, 41, 0,145, 0, 41, 0,159, 0, 82, 0,168,255,195, 0,169,255,195, 0,170,255,195, 0,171,255,195, + 0,172,255,195, 0,173,255,195, 0,180,255,195, 0,181,255,195, 0,182,255,195, 0,183,255,195, 0,184,255,195, 0,186,255,195, + 0,194,255,174, 0,196,255,174, 0,198,255,174, 0,201,255,195, 0,203,255,195, 0,205,255,195, 0,207,255,195, 0,213,255,195, + 0,215,255,195, 0,217,255,195, 0,219,255,195, 0,221,255,195, 0,236, 0, 41, 0,240, 0, 41, 0,242, 0, 41, 1, 15,255,195, + 1, 17,255,195, 1, 19,255,195, 1, 21,255,195, 1, 36, 0, 82, 1, 38, 0, 82, 1, 54, 0,102, 1, 55, 0, 20, 1, 56, 0, 82, + 1, 58, 0, 82, 1, 59, 0, 41, 1, 61, 0, 41, 1, 63, 0, 41, 1, 67,255,174, 1, 95,255,174, 1,105,255,174, 1,113, 0, 82, + 1,121,255,195, 1,126,255,195, 1,130,255,195, 1,138, 0, 41, 1,140,255,195, 1,142,255,195, 1,144,255,195, 1,145, 0, 41, + 1,147,255,195, 1,148, 0, 41, 1,150,255,195, 1,153,255,195, 1,155,255,195, 1,157, 0, 82, 1,164,255,154, 1,166, 0, 82, + 1,168, 0, 61, 1,170,255,174, 1,174,255,133, 1,176, 0, 61, 1,177, 0, 20, 1,181,255,133, 1,188, 0, 82, 1,189, 0, 61, + 1,191, 0, 41, 1,196, 0, 82, 1,207,255,195, 1,216,255,195, 1,219,255,195, 1,220, 0, 41, 1,222,255,195, 1,234,255,195, + 1,237,255,195, 1,250, 0,102, 1,251, 0, 20, 1,252, 0,102, 1,253, 0, 20, 1,254, 0,102, 1,255, 0, 20, 2, 0, 0, 82, + 2, 40,255,174, 2, 88,255,174, 2, 96,255,195, 2,106,255,195, 2,114,255,174, 2,118, 0, 61, 2,127,255,195, 2,133,255,195, + 2,135,255,195, 2,137,255,195, 2,141,255,195, 2,159, 0, 61, 2,169, 0, 82, 2,170, 0, 41, 2,178,255,195, 2,180,255,195, + 2,181, 0, 82, 2,182, 0, 41, 2,183, 0, 82, 2,185, 0, 82, 2,187, 0, 61, 2,189, 0, 82, 2,202, 0, 61, 2,206,255,133, + 2,217,255,174, 2,219,255,174, 2,221,255,174, 2,224,255,195, 2,229, 0, 61, 2,240,255,195, 2,242,255,195, 2,244,255,195, + 2,247, 0, 61, 2,249, 0, 61, 2,251, 0, 61, 3, 5, 0, 61, 3, 7, 0, 61, 3, 10,255,195, 3, 12,255,195, 3, 17,255,133, + 3, 22,255,195, 3, 23, 0, 82, 3, 24, 0, 41, 3, 26,255,195, 3, 27,255,133, 3, 29,255,174, 3, 31,255,174, 3, 33,255,174, + 3, 35,255,174, 3, 37,255,174, 3, 39,255,174, 3, 41,255,174, 3, 43,255,174, 3, 45,255,174, 3, 47,255,174, 3, 49,255,174, + 3, 51,255,174, 3, 54,255,195, 3, 56,255,195, 3, 58,255,195, 3, 60,255,195, 3, 62,255,195, 3, 64,255,195, 3, 66,255,195, + 3, 68,255,195, 3, 69, 0, 41, 3, 71, 0, 41, 3, 74,255,195, 3, 76,255,195, 3, 78,255,195, 3, 80,255,195, 3, 82,255,195, + 3, 84,255,195, 3, 86,255,195, 3, 88,255,195, 3, 90,255,195, 3, 92,255,195, 3, 94,255,195, 3, 96,255,195, 3,111, 0, 82, + 3,113, 0, 82, 3,115, 0, 82, 0, 16, 0, 69, 0, 61, 0, 73, 0,102, 0, 75, 0, 61, 0, 76, 0, 61, 0, 77, 0, 61, 0, 78, + 0, 61, 0, 79, 0, 61, 0, 87, 0,102, 0, 89, 0,102, 0, 90, 0,102, 0, 91, 0, 41, 0, 92, 0,102, 0, 93, 0, 41, 3,112, + 0,102, 3,114, 0,102, 3,116, 0,102, 0, 16, 0, 69, 0, 61, 0, 73, 0,102, 0, 75, 0, 61, 0, 76, 0, 61, 0, 77, 0, 61, + 0, 78, 0, 61, 0, 79, 0, 61, 0, 87, 0,102, 0, 89, 0,102, 0, 90, 0, 82, 0, 91, 0, 41, 0, 92, 0,102, 0, 93, 0, 20, + 3,112, 0,102, 3,114, 0,102, 3,116, 0,102, 0, 2, 3, 9,255,133, 3, 11,255,133, 0, 2, 0,150, 0, 5, 0, 5, 0, 0, + 0, 10, 0, 11, 0, 1, 0, 15, 0, 17, 0, 3, 0, 36, 0, 39, 0, 6, 0, 41, 0, 41, 0, 10, 0, 44, 0, 44, 0, 11, 0, 46, + 0, 47, 0, 12, 0, 50, 0, 53, 0, 14, 0, 55, 0, 62, 0, 18, 0, 68, 0, 70, 0, 26, 0, 72, 0, 75, 0, 29, 0, 78, 0, 78, + 0, 33, 0, 80, 0, 82, 0, 34, 0, 85, 0, 87, 0, 37, 0, 89, 0, 94, 0, 40, 0,109, 0,109, 0, 46, 0,125, 0,125, 0, 47, + 0,130, 0,135, 0, 48, 0,137, 0,146, 0, 54, 0,148, 0,152, 0, 64, 0,154, 0,159, 0, 69, 0,162, 0,173, 0, 75, 0,179, + 0,184, 0, 87, 0,186, 0,191, 0, 93, 0,193, 0,201, 0, 99, 0,203, 0,203, 0,108, 0,205, 0,207, 0,109, 0,209, 0,209, + 0,112, 0,213, 0,213, 0,113, 0,215, 0,215, 0,114, 0,217, 0,219, 0,115, 0,221, 0,221, 0,118, 0,236, 0,236, 0,119, + 0,240, 0,240, 0,120, 0,242, 0,242, 0,121, 0,248, 0,248, 0,122, 0,250, 0,251, 0,123, 0,253, 0,253, 0,125, 0,255, + 1, 1, 0,126, 1, 3, 1, 3, 0,129, 1, 6, 1, 6, 0,130, 1, 8, 1, 8, 0,131, 1, 10, 1, 10, 0,132, 1, 14, 1, 15, + 0,133, 1, 17, 1, 19, 0,135, 1, 21, 1, 21, 0,138, 1, 29, 1, 29, 0,139, 1, 31, 1, 31, 0,140, 1, 33, 1, 36, 0,141, + 1, 38, 1, 39, 0,145, 1, 44, 1, 44, 0,147, 1, 48, 1, 48, 0,148, 1, 50, 1, 50, 0,149, 1, 52, 1, 52, 0,150, 1, 54, + 1, 59, 0,151, 1, 61, 1, 61, 0,157, 1, 63, 1, 64, 0,158, 1, 67, 1, 68, 0,160, 1, 74, 1, 74, 0,162, 1, 86, 1, 86, + 0,163, 1, 90, 1, 98, 0,164, 1,100, 1,100, 0,173, 1,102, 1,105, 0,174, 1,108, 1,109, 0,178, 1,111, 1,124, 0,180, + 1,126, 1,132, 0,194, 1,134, 1,136, 0,201, 1,138, 1,142, 0,204, 1,144, 1,145, 0,209, 1,147, 1,151, 0,211, 1,153, + 1,153, 0,216, 1,155, 1,162, 0,217, 1,164, 1,168, 0,225, 1,170, 1,174, 0,230, 1,176, 1,177, 0,235, 1,180, 1,180, + 0,237, 1,184, 1,184, 0,238, 1,186, 1,192, 0,239, 1,195, 1,196, 0,246, 1,198, 1,200, 0,248, 1,202, 1,209, 0,251, + 1,212, 1,212, 1, 3, 1,216, 1,216, 1, 4, 1,218, 1,224, 1, 5, 1,227, 1,234, 1, 12, 1,236, 1,238, 1, 20, 1,240, + 1,240, 1, 23, 1,242, 1,246, 1, 24, 1,248, 2, 3, 1, 29, 2, 6, 2, 6, 1, 41, 2, 10, 2, 10, 1, 42, 2, 40, 2, 40, + 1, 43, 2, 88, 2, 88, 1, 44, 2, 96, 2, 96, 1, 45, 2, 98, 2, 98, 1, 46, 2,106, 2,106, 1, 47, 2,108, 2,114, 1, 48, + 2,116, 2,116, 1, 55, 2,118, 2,124, 1, 56, 2,126, 2,140, 1, 63, 2,149, 2,157, 1, 78, 2,159, 2,160, 1, 87, 2,162, + 2,175, 1, 89, 2,177, 2,192, 1,103, 2,195, 2,195, 1,119, 2,197, 2,197, 1,120, 2,199, 2,199, 1,121, 2,201, 2,204, + 1,122, 2,206, 2,207, 1,126, 2,210, 2,211, 1,128, 2,214, 2,217, 1,130, 2,219, 2,219, 1,134, 2,222, 2,222, 1,135, + 2,224, 2,233, 1,136, 2,239, 2,252, 1,146, 2,255, 3, 0, 1,160, 3, 3, 3, 8, 1,162, 3, 11, 3, 29, 1,168, 3, 31, + 3, 31, 1,187, 3, 33, 3, 33, 1,188, 3, 35, 3, 35, 1,189, 3, 37, 3, 37, 1,190, 3, 39, 3, 39, 1,191, 3, 41, 3, 41, + 1,192, 3, 43, 3, 43, 1,193, 3, 45, 3, 45, 1,194, 3, 47, 3, 47, 1,195, 3, 49, 3, 49, 1,196, 3, 51, 3, 51, 1,197, + 3, 54, 3, 54, 1,198, 3, 56, 3, 56, 1,199, 3, 58, 3, 58, 1,200, 3, 60, 3, 60, 1,201, 3, 62, 3, 62, 1,202, 3, 64, + 3, 64, 1,203, 3, 66, 3, 66, 1,204, 3, 68, 3, 69, 1,205, 3, 71, 3, 71, 1,207, 3, 73, 3, 86, 1,208, 3, 88, 3, 88, + 1,222, 3, 90, 3, 90, 1,223, 3, 92, 3, 92, 1,224, 3, 94, 3, 94, 1,225, 3, 96, 3, 97, 1,226, 3, 99, 3, 99, 1,228, + 3,102, 3,102, 1,229, 3,104, 3,104, 1,230, 3,106, 3,106, 1,231, 3,108, 3,108, 1,232, 3,110, 3,116, 1,233, 0, 0, + 0, 1, 0, 0, 0, 10, 0, 28, 0, 30, 0, 1,108, 97,116,110, 0, 8, 0, 4, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0, + 0}; diff --git a/source/blender/editors/datafiles/bmonofont.ttf.c b/source/blender/editors/datafiles/bmonofont.ttf.c index 36f50403da2..26a45e76756 100644 --- a/source/blender/editors/datafiles/bmonofont.ttf.c +++ b/source/blender/editors/datafiles/bmonofont.ttf.c @@ -3,9047 +3,3524 @@ */ /* DataToC output of file */ -int datatoc_bmonofont_ttf_size= 309588; +int datatoc_bmonofont_ttf_size= 117072; char datatoc_bmonofont_ttf[]= { - 0, 1, 0, 0, 0, 18, 1, 0, 0, 4, 0, 32, 70, 70, 84, 77, 76,195, 13,197, - 0, 0, 1, 44, 0, 0, 0, 28, 71, 68, 69, 70,107,171,118, 72, 0, 0, 1, 72, 0, 0, 0,174, 71, 80, 79, 83, 85,176, 56, 58, - 0, 0, 1,248, 0, 0, 53,184, 71, 83, 85, 66, 11, 72,224,153, 0, 0, 55,176, 0, 0, 4,240, 79, 83, 47, 50,135,252,137,178, - 0, 0, 60,160, 0, 0, 0, 86, 99,109, 97,112,173,161, 29,196, 0, 0, 60,248, 0, 0, 20,198, 99,118,116, 32,233,151, 7, 12, - 0, 0, 81,192, 0, 0, 2, 48,102,112,103,109, 91, 2,107,223, 0, 0, 83,240, 0, 0, 0,172,103, 97,115,112, 0, 7, 0, 7, - 0, 0, 84,156, 0, 0, 0, 12,103,108,121,102, 94, 39,215, 74, 0, 0, 84,168, 0, 3,133, 48,104,101, 97,100,233, 47, 44,226, - 0, 3,217,216, 0, 0, 0, 54,104,104,101, 97, 8,183, 2, 7, 0, 3,218, 16, 0, 0, 0, 36,104,109,116,120,224, 90,223, 8, - 0, 3,218, 52, 0, 0, 23,172,108,111, 99, 97, 19,189,108,128, 0, 3,241,224, 0, 0, 47, 76,109, 97,120,112, 17,120, 9,216, - 0, 4, 33, 44, 0, 0, 0, 32,110, 97,109,101, 96,229,233,137, 0, 4, 33, 76, 0, 0, 33, 21,112,111,115,116,106, 10,163,233, - 0, 4, 66,100, 0, 0,111,212,112,114,101,112, 58,199,192, 7, 0, 4,178, 56, 0, 0, 7, 27, 0, 0, 0, 1, 0, 0, 0, 0, -196, 21,105, 4, 0, 0, 0, 0,196, 86,210, 96, 0, 0, 0, 0,196, 86,210, 96, 0, 1, 0, 0, 0, 12, 0, 0, 0,166, 0, 0, - 0, 2, 0, 25, 0, 3, 2,123, 0, 1, 2,124, 2,141, 0, 3, 2,142, 2,142, 0, 1, 2,143, 2,149, 0, 3, 2,150, 2,151, - 0, 1, 2,152, 2,156, 0, 3, 2,157, 2,158, 0, 1, 2,159, 2,163, 0, 3, 2,164, 2,164, 0, 1, 2,165, 2,173, 0, 3, - 2,174, 2,180, 0, 1, 2,181, 2,186, 0, 3, 2,187, 2,187, 0, 1, 2,188, 2,188, 0, 3, 2,189, 4, 3, 0, 1, 4, 4, - 4, 15, 0, 3, 4, 16, 4,100, 0, 1, 4,101, 4,101, 0, 3, 4,102, 4,103, 0, 1, 4,104, 4,117, 0, 3, 4,118, 10,148, - 0, 1, 10,149, 10,150, 0, 2, 10,151, 11, 98, 0, 1, 11, 99, 11,106, 0, 2, 11,107, 11,209, 0, 1, 0, 4, 0, 0, 0, 2, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 10, 0,164, 0,236, 0, 6, 97,114, 97, 98, 0, 38, 99,121,114,108, 0, 52,100,102,108,116, - 0, 70,103,114,101,107, 0, 80,108, 97,111, 32, 0, 92,108, 97,116,110, 0,106, 0, 4, 0, 0, 0, 0,255,255, 0, 2, 0, 0, - 0, 3, 0, 10, 0, 1, 83, 82, 66, 32, 0, 10, 0, 0,255,255, 0, 1, 0, 1, 0, 4, 0, 0, 0, 0,255,255, 0, 0, 0, 4, - 0, 0, 0, 0,255,255, 0, 1, 0, 1, 0, 4, 0, 0, 0, 0,255,255, 0, 2, 0, 2, 0, 4, 0, 40, 0, 6, 73, 83, 77, 32, - 0, 40, 75, 83, 77, 32, 0, 40, 76, 83, 77, 32, 0, 40, 78, 83, 77, 32, 0, 40, 83, 75, 83, 32, 0, 40, 83, 83, 77, 32, 0, 40, - 0, 0,255,255, 0, 1, 0, 1, 0, 5,109, 97,114,107, 0, 32,109, 97,114,107, 0, 44,109, 97,114,107, 0, 52,109,107,109,107, - 0, 58,114,116, 98,100, 0, 66, 0, 0, 0, 4, 0, 2, 0, 3, 0, 4, 0, 5, 0, 0, 0, 2, 0, 6, 0, 7, 0, 0, 0, 1, - 0, 8, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 9, 0, 10, 0, 22, 0, 30, 0, 38, 0, 46, 0, 54, 0, 62, 0, 70, - 0, 80, 0, 88, 0, 96, 0, 6, 0, 1, 0, 1, 0, 82, 0, 6, 0, 1, 0, 1, 0,120, 0, 5, 0, 1, 0, 1, 0,192, 0, 4, - 0, 1, 0, 1, 1,154, 0, 5, 0, 1, 0, 1, 9,118, 0, 4, 0, 1, 0, 1, 10,152, 0, 4, 0, 0, 0, 2, 18,114, 27, 2, - 0, 1, 0, 0, 0, 1, 49,196, 0, 4, 0, 0, 0, 1, 49,236, 0, 1, 0, 8, 0, 1, 52, 84, 0, 1, 0, 28, 0, 22, 0, 1, - 0, 34, 0, 12, 0, 1, 0, 4, 0, 1, 2,112,253,228, 0, 1, 0, 1, 4, 14, 0, 1, 0, 1, 4, 9, 0, 1, 0, 0, 0, 6, - 0, 1, 2,104, 0, 0, 0, 1, 0, 38, 0, 30, 0, 1, 0, 48, 0, 12, 0, 2, 0, 6, 0, 12, 0, 1, 2, 99, 7, 34, 0, 1, - 2, 99, 6,224, 0, 1, 0, 2, 4, 10, 4, 13, 0, 1, 0, 3, 4, 7, 4, 8, 4, 11, 0, 3, 0, 0, 0, 14, 0, 0, 0, 20, - 0, 0, 0, 26, 0, 1, 2, 93, 4,106, 0, 1, 2, 93, 4,106, 0, 1, 2, 98, 4,106, 0, 1, 0,184, 0,174, 0, 1, 0,194, - 0, 12, 0, 8, 0, 18, 0, 36, 0, 54, 0, 72, 0, 90, 0,108, 0,126, 0,144, 0, 2, 0, 6, 0, 12, 0, 1, 3,224, 0, 80, - 0, 1, 3,124, 0, 72, 0, 2, 0, 6, 0, 12, 0, 1, 3, 48,255,224, 0, 1, 2,172,255,220, 0, 2, 0, 6, 0, 12, 0, 1, - 3,224, 0, 80, 0, 1, 3,124, 0, 72, 0, 2, 0, 6, 0, 12, 0, 1, 3, 60,255,136, 0, 1, 2, 80,255,132, 0, 2, 0, 6, - 0, 12, 0, 1, 3,168, 0, 44, 0, 1, 1, 32,253,220, 0, 2, 0, 6, 0, 12, 0, 1, 3, 84,255, 96, 0, 1, 1, 12,253,220, - 0, 2, 0, 6, 0, 12, 0, 1, 3,224, 0, 80, 0, 1, 3,124, 0, 72, 0, 2, 0, 6, 0, 12, 0, 1, 2, 12,255,164, 0, 1, - 3, 16, 0, 32, 0, 2, 0, 1, 11, 99, 11,106, 0, 0, 0, 1, 0, 3, 4, 6, 4, 9, 4, 14, 0, 3, 0, 0, 0, 14, 0, 0, - 0, 20, 0, 0, 0, 26, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 7,186, 7,110, 0, 1, - 7,196, 0, 12, 0,236, 1,218, 1,224, 1,230, 1,236, 1,242, 1,248, 1,254, 2, 4, 2, 10, 2, 16, 2, 22, 2, 28, 2, 34, - 2, 40, 2, 46, 2, 52, 2, 58, 2, 64, 2, 70, 2, 76, 2, 82, 2, 88, 2, 94, 2,100, 2,106, 2,112, 2,118, 2,124, 2,130, - 2,136, 2,142, 2,148, 2,154, 2,160, 2,166, 2,172, 2,178, 2,184, 2,190, 2,196, 2,202, 2,208, 2,214, 2,220, 2,226, - 2,232, 2,238, 2,244, 2,250, 3, 0, 3, 6, 3, 12, 3, 18, 3, 24, 3, 30, 3, 36, 3, 42, 3, 48, 3, 54, 3, 60, 3, 66, - 3, 72, 3, 78, 3, 84, 3, 90, 3, 96, 3,102, 3,108, 3,114, 3,120, 3,126, 3,132, 3,138, 3,144, 3,150, 3,156, 3,162, - 3,168, 3,174, 3,180, 3,186, 3,192, 3,198, 3,204, 3,210, 3,216, 3,222, 3,228, 3,234, 3,240, 3,246, 3,252, 4, 2, - 4, 8, 4, 14, 4, 20, 4, 26, 4, 32, 4, 38, 4, 44, 4, 50, 4, 56, 4, 62, 4, 68, 4, 74, 4, 80, 4, 86, 4, 92, 4, 98, - 4,104, 4,110, 4,116, 4,122, 4,128, 4,134, 4,140, 4,146, 4,152, 4,158, 4,164, 4,170, 4,176, 4,182, 4,188, 4,194, - 4,200, 4,206, 4,212, 4,218, 4,224, 4,230, 4,236, 4,242, 4,248, 4,254, 5, 4, 5, 10, 5, 16, 5, 22, 5, 28, 5, 34, - 5, 40, 5, 46, 5, 52, 5, 58, 5, 64, 5, 70, 5, 76, 5, 82, 5, 88, 5, 94, 5,100, 5,106, 5,112, 5,118, 5,124, 5,130, - 5,136, 5,142, 5,148, 5,154, 5,160, 5,166, 5,172, 5,178, 5,184, 5,190, 5,196, 5,202, 5,208, 5,214, 5,220, 5,226, - 5,232, 5,238, 5,244, 5,250, 6, 0, 6, 6, 6, 12, 6, 18, 6, 24, 6, 30, 6, 36, 6, 42, 6, 48, 6, 54, 6, 60, 6, 66, - 6, 72, 6, 78, 6, 84, 6, 90, 6, 96, 6,102, 6,108, 6,114, 6,120, 6,126, 6,132, 6,138, 6,144, 6,150, 6,156, 6,162, - 6,168, 6,174, 6,180, 6,186, 6,192, 6,198, 6,204, 6,210, 6,216, 6,222, 6,228, 6,234, 6,240, 6,246, 6,252, 7, 2, - 7, 8, 7, 14, 7, 20, 7, 26, 7, 32, 7, 38, 7, 44, 7, 50, 7, 56, 7, 62, 7, 68, 7, 74, 7, 80, 7, 86, 7, 92, 0, 1, - 2, 88, 0, 0, 0, 1, 2,100,253,223, 0, 1, 1,212, 2,124, 0, 1, 2,100,255,178, 0, 1, 2,104,254,136, 0, 1, 2, 48, -255, 96, 0, 1, 2,116,255, 88, 0, 1, 2,116,255, 88, 0, 1, 1,252,253,204, 0, 1, 2, 12,253,208, 0, 1, 2, 60,253,183, - 0, 1, 2, 8,255,124, 0, 1, 2, 8,255,140, 0, 1, 2, 48,253,224, 0, 1, 2, 48,253,236, 0, 1, 2,104,254, 76, 0, 1, - 2,160,254,132, 0, 1, 3, 40,254,220, 0, 1, 3, 32,254,192, 0, 1, 1, 84,255,112, 0, 1, 1,108,255,120, 0, 1, 2,144, -253,204, 0, 1, 2,136,253,208, 0, 1, 2, 96,255,120, 0, 1, 2, 60,255, 68, 0, 1, 2, 40,254, 68, 0, 1, 1,252,255,100, - 0, 1, 2, 20,254,124, 0, 1, 2,116,255, 88, 0, 1, 2, 76,254, 92, 0, 1, 2, 56,255, 40, 0, 1, 2, 80,253,220, 0, 1, - 2, 64,254,180, 0, 1, 2, 64,253,224, 0, 1, 2,116,255, 88, 0, 1, 2,116,255, 88, 0, 1, 2, 52,253,232, 0, 1, 2,120, -253,208, 0, 1, 2,116,255, 88, 0, 1, 2, 96,253,224, 0, 1, 2,116,255, 88, 0, 1, 2,100,253,236, 0, 1, 2, 68,253,216, - 0, 1, 1,244,253,208, 0, 1, 2, 12,253,231, 0, 1, 2, 52,253,220, 0, 1, 2, 52,253,224, 0, 1, 2, 88,253,220, 0, 1, - 2, 72,253,224, 0, 1, 2, 46,253,228, 0, 1, 2, 69,253,223, 0, 1, 2, 17,253,227, 0, 1, 1,212,255, 68, 0, 1, 2, 53, -255,106, 0, 1, 2, 84,255,106, 0, 1, 2, 8,254,110, 0, 1, 2, 96,255, 95, 0, 1, 2, 80,253,220, 0, 1, 2, 13,254,112, - 0, 1, 2, 13,254,112, 0, 1, 2,105,253,168, 0, 1, 2, 70,253,168, 0, 1, 2, 87,253,218, 0, 1, 2, 87,253,218, 0, 1, - 2,133,253,168, 0, 1, 2, 64,253,168, 0, 1, 2, 84,253,218, 0, 1, 2, 81,253,218, 0, 1, 2, 88,253,168, 0, 1, 2, 58, -253,168, 0, 1, 2, 66,253,218, 0, 1, 2, 96,253,218, 0, 1, 2,130,255,106, 0, 1, 2, 76,255,106, 0, 1, 2, 91,255,155, - 0, 1, 2, 90,255,156, 0, 1, 2, 91,255,106, 0, 1, 2, 73,255,106, 0, 1, 2, 87,255,156, 0, 1, 2, 84,255,156, 0, 1, - 2, 76,255,106, 0, 1, 2, 52,255,106, 0, 1, 2, 75,255,156, 0, 1, 2, 93,255,156, 0, 1, 1,212,255, 76, 0, 1, 1,148, -255, 64, 0, 1, 1,244,255,106, 0, 1, 2, 86,255,106, 0, 1, 1,224,255, 56, 0, 1, 1,136,255, 56, 0, 1, 1,244,255,106, - 0, 1, 2, 98,255,106, 0, 1, 2,116,253,168, 0, 1, 2, 92,253,168, 0, 1, 1,172,254, 12, 0, 1, 2, 88,254, 12, 0, 1, - 2, 84,253,168, 0, 1, 2, 72,253,168, 0, 1, 1,132,255, 6, 0, 1, 2, 88,255, 6, 0, 1, 2, 84,253,168, 0, 1, 2, 56, -253,167, 0, 1, 1,184,253,228, 0, 1, 2, 88,254, 12, 0, 1, 2,104,253,168, 0, 1, 2,100,253,168, 0, 1, 1,196,253,228, - 0, 1, 2, 88,254, 12, 0, 1, 1,244,254, 12, 0, 1, 1,244,254, 12, 0, 1, 1,244,254, 12, 0, 1, 1,244,254, 12, 0, 1, - 2, 63,255,106, 0, 1, 1,198,255,106, 0, 1, 1, 44,255,106, 0, 1, 1, 44,255,106, 0, 1, 2, 84,255, 95, 0, 1, 1,238, -255,106, 0, 1, 1, 44,255,106, 0, 1, 1, 44,255,106, 0, 1, 2, 84,255,100, 0, 1, 2, 84,255,100, 0, 1, 1,184,255,100, - 0, 1, 2, 16,255,100, 0, 1, 2, 76,254,112, 0, 1, 1,152,254,112, 0, 1, 2, 79,254,162, 0, 1, 2, 91,254,162, 0, 1, - 2,192, 0, 28, 0, 1, 2,100,253,216, 0, 1, 2,204,253,216, 0, 1, 2, 24,255,128, 0, 1, 2,100,255, 88, 0, 1, 2,100, -255,120, 0, 1, 2,176,255, 88, 0, 1, 2,100,254,104, 0, 1, 2, 28,254,104, 0, 1, 2, 68,254,140, 0, 1, 2, 88,254,140, - 0, 1, 2, 44,255, 76, 0, 1, 2,108,255,132, 0, 1, 2,108,255,132, 0, 1, 2, 84,255,112, 0, 1, 2, 60,255,132, 0, 1, - 2, 88,255,124, 0, 1, 2,108,255,132, 0, 1, 2, 72,255,128, 0, 1, 2, 72,255,124, 0, 1, 2, 84,255,116, 0, 1, 2, 0, -253,144, 0, 1, 2, 0,253,144, 0, 1, 2, 8,254,136, 0, 1, 2, 12,254,108, 0, 1, 2, 0,253,144, 0, 1, 2, 0,253,144, - 0, 1, 1, 60,255,132, 0, 1, 1, 84,255,112, 0, 1, 2, 0,253,144, 0, 1, 2, 0,253,144, 0, 1, 1,124,255,128, 0, 1, - 1, 68,255, 92, 0, 1, 2, 56,255, 92, 0, 1, 2, 56,255, 92, 0, 1, 2, 56,255, 92, 0, 1, 2, 56,255, 92, 0, 1, 1,188, -253,192, 0, 1, 1,140,253,189, 0, 1, 1,188,253,192, 0, 1, 1,156,253,188, 0, 1, 1,152,254, 12, 0, 1, 1, 88,254, 16, - 0, 1, 1, 44,255,108, 0, 1, 1, 16,255,100, 0, 1, 1, 92,254, 28, 0, 1, 1, 9,254, 24, 0, 1, 1, 44,255,108, 0, 1, - 1, 44,255,108, 0, 1, 1,120,254, 20, 0, 1, 1, 68,254, 17, 0, 1, 1, 44,255,108, 0, 1, 1, 44,255,108, 0, 1, 1, 76, -254, 16, 0, 1, 1, 32,254, 24, 0, 1, 1, 44,255,108, 0, 1, 1, 4,255,108, 0, 1, 0,240,255,108, 0, 1, 0,216,255,108, - 0, 1, 0,240,255,108, 0, 1, 0,208,255,112, 0, 1, 0,240,255,108, 0, 1, 0,208,255,104, 0, 1, 0,240,255,108, 0, 1, - 0,220,255,108, 0, 1, 1,122,253,215, 0, 1, 1,122,253,215, 0, 1, 1,224,255,147, 0, 1, 2, 94,255,141, 0, 1, 1,122, -253,215, 0, 1, 1,122,253,215, 0, 1, 1,146,255,159, 0, 1, 2, 94,255,159, 0, 1, 2, 94,255, 45, 0, 1, 2,100,255, 15, - 0, 1, 1,158,255,117, 0, 1, 2,106,255,129, 0, 1, 1,224,254, 25, 0, 1, 1,224,253,185, 0, 1, 1, 56,255,141, 0, 1, - 2,106,255,129, 0, 1, 2, 58,255, 75, 0, 1, 1,218,255, 81, 0, 1, 0,216,255,129, 0, 1, 0,162,255, 93, 0, 1, 2, 88, -254,109, 0, 1, 1,254,254, 97, 0, 1, 2,100,255,135, 0, 1, 2,106,255,117, 0, 1, 3, 18,255,117, 0, 1, 2,172,254,163, - 0, 1, 2, 70,255, 21, 0, 1, 2, 88,255, 39, 0, 1, 1,254,254, 85, 0, 1, 1,194,253,197, 0, 1, 2, 64,255,129, 0, 1, - 2, 76,255,123, 0, 1, 2, 82,255, 75, 0, 1, 2, 82,255,111, 0, 1, 1,176,255, 39, 0, 1, 2, 16,253,210, 0, 1, 2, 76, -253,233, 0, 1, 2, 4,253,209, 0, 1, 2, 46,254,145, 0, 1, 2, 28,253,173, 0, 1, 1,146,253,188, 0, 1, 2, 58,254,139, - 0, 1, 2, 82,254,133, 0, 2, 0, 12, 3,223, 3,223, 0, 0, 3,227, 4, 3, 0, 1, 4, 33, 4, 50, 0, 34, 4, 52, 4, 55, - 0, 52, 4, 57, 4, 60, 0, 56, 10,151, 10,210, 0, 60, 10,213, 10,216, 0,120, 10,219, 10,222, 0,124, 10,238, 10,238, 0,128, - 10,245, 10,246, 0,129, 10,249, 11, 93, 0,131, 11, 95, 11, 98, 0,232, 0, 1, 0, 3, 4, 6, 4, 9, 4, 14, 0, 3, 0, 0, - 0, 14, 0, 0, 0, 20, 0, 0, 0, 26, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 0,184, - 0,174, 0, 1, 0,206, 0, 12, 0, 8, 0, 18, 0, 36, 0, 54, 0, 72, 0, 90, 0,108, 0,126, 0,144, 0, 2, 0, 6, 0, 12, - 0, 1, 3,156, 6,104, 0, 1, 0,147, 7, 53, 0, 2, 0, 6, 0, 12, 0, 1, 3,156, 6,104, 0, 1, 0, 91, 7, 25, 0, 2, - 0, 6, 0, 12, 0, 1, 3,156, 6,104, 0, 1, 0,155, 7,246, 0, 2, 0, 6, 0, 12, 0, 1, 3, 84, 6,108, 0, 1, 0, 43, - 7,250, 0, 2, 0, 6, 0, 12, 0, 1, 3,156, 6,104, 0, 1, 0,223, 5,221, 0, 2, 0, 6, 0, 12, 0, 1, 3,156, 6,104, - 0, 1, 0,223, 5,221, 0, 2, 0, 6, 0, 12, 0, 1, 3,156, 6,104, 0, 1, 0,223, 5,221, 0, 2, 0, 6, 0, 12, 0, 1, - 3, 92, 6,104, 0, 1, 0,159, 5,221, 0, 2, 0, 1, 11, 99, 11,106, 0, 0, 0, 1, 0, 9, 4, 4, 4, 5, 4, 7, 4, 8, - 4, 10, 4, 11, 4, 12, 4, 13, 4, 15, 0, 9, 0, 0, 0, 38, 0, 0, 0, 44, 0, 0, 0, 50, 0, 0, 0, 56, 0, 0, 0, 62, - 0, 0, 0, 68, 0, 0, 0, 74, 0, 0, 0, 80, 0, 0, 0, 86, 0, 1, 2, 93, 4,106, 0, 1, 2, 93, 4,106, 0, 1, 2, 93, - 4,106, 0, 1, 2, 93, 4,106, 0, 1, 2, 93, 4,106, 0, 1, 2, 98, 4,106, 0, 1, 2, 93, 4,106, 0, 1, 2, 93, 4,106, - 0, 1, 2,104, 4,176, 0, 1, 7,112, 7, 30, 0, 1, 7,134, 0, 12, 0,226, 1,198, 1,204, 1,210, 1,216, 1,222, 1,228, - 1,234, 1,240, 1,246, 1,252, 2, 2, 2, 8, 2, 14, 2, 20, 2, 26, 2, 32, 2, 38, 2, 44, 2, 50, 2, 56, 2, 62, 2, 68, - 2, 74, 2, 80, 2, 86, 2, 92, 2, 98, 2,104, 2,110, 2,116, 2,122, 2,128, 2,134, 2,140, 2,146, 2,152, 2,158, 2,164, - 2,170, 2,176, 2,182, 2,188, 2,194, 2,200, 2,206, 2,212, 2,218, 2,224, 2,230, 2,236, 2,242, 2,248, 2,254, 3, 4, - 3, 10, 3, 16, 3, 22, 3, 28, 3, 34, 3, 40, 3, 46, 3, 52, 3, 58, 3, 64, 3, 70, 3, 76, 3, 82, 3, 88, 3, 94, 3,100, - 3,106, 3,112, 3,118, 3,124, 3,130, 3,136, 3,142, 3,148, 3,154, 3,160, 3,166, 3,172, 3,178, 3,184, 3,190, 3,196, - 3,202, 3,208, 3,214, 3,220, 3,226, 3,232, 3,238, 3,244, 3,250, 4, 0, 4, 6, 4, 12, 4, 18, 4, 24, 4, 30, 4, 36, - 4, 42, 4, 48, 4, 54, 4, 60, 4, 66, 4, 72, 4, 78, 4, 84, 4, 90, 4, 96, 4,102, 4,108, 4,114, 4,120, 4,126, 4,132, - 4,138, 4,144, 4,150, 4,156, 4,162, 4,168, 4,174, 4,180, 4,186, 4,192, 4,198, 4,204, 4,210, 4,216, 4,222, 4,228, - 4,234, 4,240, 4,246, 4,252, 5, 2, 5, 8, 5, 14, 5, 20, 5, 26, 5, 32, 5, 38, 5, 44, 5, 50, 5, 56, 5, 62, 5, 68, - 5, 74, 5, 80, 5, 86, 5, 92, 5, 98, 5,104, 5,110, 5,116, 5,122, 5,128, 5,134, 5,140, 5,146, 5,152, 5,158, 5,164, - 5,170, 5,176, 5,182, 5,188, 5,194, 5,200, 5,206, 5,212, 5,218, 5,224, 5,230, 5,236, 5,242, 5,248, 5,254, 6, 4, - 6, 10, 6, 16, 6, 22, 6, 28, 6, 34, 6, 40, 6, 46, 6, 52, 6, 58, 6, 64, 6, 70, 6, 76, 6, 82, 6, 88, 6, 94, 6,100, - 6,106, 6,112, 6,118, 6,124, 6,130, 6,136, 6,142, 6,148, 6,154, 6,160, 6,166, 6,172, 6,178, 6,184, 6,190, 6,196, - 6,202, 6,208, 6,214, 6,220, 6,226, 6,232, 6,238, 6,244, 6,250, 7, 0, 7, 6, 7, 12, 0, 1, 2,152, 4,132, 0, 1, - 2,100, 8,116, 0, 1, 2,208, 5, 32, 0, 1, 1,204, 4,184, 0, 1, 2,104, 6,168, 0, 1, 2,100, 2,252, 0, 1, 2, 56, - 4,160, 0, 1, 2,124, 3,212, 0, 1, 2, 36, 4,160, 0, 1, 1,244, 4,124, 0, 1, 2, 4, 4, 96, 0, 1, 2, 4, 5, 72, - 0, 1, 1,208, 4, 76, 0, 1, 1,192, 5, 68, 0, 1, 2, 4, 2,252, 0, 1, 1,152, 4, 32, 0, 1, 2, 92, 3,240, 0, 1, - 1,220, 5,116, 0, 1, 1, 64, 3,184, 0, 1, 1, 52, 4, 72, 0, 1, 0,232, 6,184, 0, 1, 0,236, 6,212, 0, 1, 1,156, - 5, 40, 0, 1, 1,124, 5,244, 0, 1, 2, 88, 4, 84, 0, 1, 2,252, 5,132, 0, 1, 2,156, 5,248, 0, 1, 1,240, 5,204, - 0, 1, 3,144, 6,196, 0, 1, 2,152, 4, 40, 0, 1, 1,248, 4,108, 0, 1, 1,240, 3,240, 0, 1, 2,116, 3,188, 0, 1, - 2,172, 4, 60, 0, 1, 2,152, 4, 48, 0, 1, 2,124, 3,212, 0, 1, 2,188, 4,218, 0, 1, 2,111, 4,126, 0, 1, 1, 24, - 5,120, 0, 1, 1,174, 5,120, 0, 1, 3,234, 8, 52, 0, 1, 2, 95, 4, 96, 0, 1, 2,212, 4,196, 0, 1, 1,159, 3, 12, - 0, 1, 1,135, 4,144, 0, 1, 2,105, 3,232, 0, 1, 2, 70, 3,232, 0, 1, 2, 87, 3,232, 0, 1, 2, 87, 3,232, 0, 1, - 2,133, 3,232, 0, 1, 2, 64, 3,232, 0, 1, 2, 84, 3,232, 0, 1, 2, 84, 3,232, 0, 1, 2, 91, 3,232, 0, 1, 2, 58, - 3,232, 0, 1, 2, 66, 3,232, 0, 1, 2, 96, 3,232, 0, 1, 2,130, 4, 76, 0, 1, 2, 76, 4, 76, 0, 1, 2, 91, 5, 19, - 0, 1, 2, 90, 5, 20, 0, 1, 2, 91, 4,157, 0, 1, 2, 73, 4,175, 0, 1, 2, 87, 5, 20, 0, 1, 2, 84, 5, 20, 0, 1, - 2, 76, 4,226, 0, 1, 2, 52, 4,226, 0, 1, 2, 75, 5,170, 0, 1, 2, 93, 5,170, 0, 1, 1,144, 5,108, 0, 1, 1, 56, - 4,244, 0, 1, 1,244, 6, 64, 0, 1, 2, 94, 5,170, 0, 1, 1, 32, 5, 32, 0, 1, 1, 8, 4,228, 0, 1, 1,244, 6, 64, - 0, 1, 2, 98, 5,170, 0, 1, 1,210, 3,232, 0, 1, 1,186, 3,232, 0, 1, 1,172, 3,232, 0, 1, 2, 88, 3,232, 0, 1, - 1,178, 3,232, 0, 1, 1,166, 3,232, 0, 1, 1,132, 3,232, 0, 1, 2, 88, 3,232, 0, 1, 1,178, 3,232, 0, 1, 1,150, - 3,231, 0, 1, 1,184, 3,232, 0, 1, 2, 88, 3,232, 0, 1, 1,198, 3,232, 0, 1, 1,194, 3,232, 0, 1, 1,196, 3,232, - 0, 1, 2, 88, 3,232, 0, 1, 2,111, 4, 77, 0, 1, 2,188, 4,226, 0, 1, 2,170, 4,191, 0, 1, 2,152, 4,241, 0, 1, - 2, 33, 5, 84, 0, 1, 1,177, 5, 25, 0, 1, 1,255, 6, 14, 0, 1, 1,241, 6, 14, 0, 1, 1,140, 5,120, 0, 1, 0,243, - 5,120, 0, 1, 0,250, 6,164, 0, 1, 0,250, 6,164, 0, 1, 2, 84, 4,128, 0, 1, 2, 84, 4,128, 0, 1, 1,184, 4,128, - 0, 1, 2, 16, 4,128, 0, 1, 1,204, 3, 38, 0, 1, 1,148, 2,126, 0, 1, 2, 79, 3,232, 0, 1, 2, 91, 3,232, 0, 1, - 2,176, 4,184, 0, 1, 2, 12, 8,216, 0, 1, 2, 88, 8,224, 0, 1, 2,140, 5, 80, 0, 1, 2, 88, 5, 68, 0, 1, 1,128, - 4,216, 0, 1, 1, 28, 3,244, 0, 1, 2, 44, 5, 97, 0, 1, 2, 68, 5,102, 0, 1, 2, 92, 6,216, 0, 1, 2, 80, 6,232, - 0, 1, 2,104, 3, 60, 0, 1, 2, 16, 2,232, 0, 1, 2, 12, 3,200, 0, 1, 2, 92, 3,156, 0, 1, 2, 4, 4,200, 0, 1, - 2, 92, 4,216, 0, 1, 2, 92, 3,244, 0, 1, 2, 48, 4, 20, 0, 1, 2, 44, 4,196, 0, 1, 2, 48, 4,224, 0, 1, 2, 64, - 4,240, 0, 1, 2, 44, 5, 0, 0, 1, 2, 32, 5,100, 0, 1, 2, 32, 5, 96, 0, 1, 1,248, 4,128, 0, 1, 1,212, 4,124, - 0, 1, 1,116, 4, 76, 0, 1, 1, 96, 4, 48, 0, 1, 1,220, 4,164, 0, 1, 1,200, 4,176, 0, 1, 1, 48, 4,144, 0, 1, - 1,128, 4,132, 0, 1, 1,220, 5, 64, 0, 1, 1,216, 5, 92, 0, 1, 1, 32, 4,224, 0, 1, 1, 24, 4,220, 0, 1, 2, 12, - 4,172, 0, 1, 2, 4, 4,184, 0, 1, 2, 8, 5, 84, 0, 1, 2, 20, 5, 96, 0, 1, 2, 64, 3, 20, 0, 1, 1,180, 3, 16, - 0, 1, 1,148, 4, 76, 0, 1, 1, 56, 4,136, 0, 1, 2, 52, 4, 15, 0, 1, 1,206, 3,183, 0, 1, 2, 53, 3,222, 0, 1, - 1,243, 3,197, 0, 1, 1, 24, 5, 68, 0, 1, 0,180, 5, 56, 0, 1, 1, 48, 5, 72, 0, 1, 1, 12, 5, 60, 0, 1, 1, 68, - 3,140, 0, 1, 0,220, 3, 60, 0, 1, 1,200, 3,152, 0, 1, 1,120, 3,136, 0, 1, 1, 40, 4, 76, 0, 1, 0,208, 4, 88, - 0, 1, 1, 36, 4, 84, 0, 1, 0,212, 4,116, 0, 1, 0,240, 6,216, 0, 1, 0,192, 6,220, 0, 1, 0,232, 6,220, 0, 1, - 0,192, 6,228, 0, 1, 0,236, 6,244, 0, 1, 0,208, 6,228, 0, 1, 0,240, 6,232, 0, 1, 0,200, 6,224, 0, 1, 1,132, - 5, 48, 0, 1, 1,168, 4, 84, 0, 1, 1,196, 5, 76, 0, 1, 2,104, 4,132, 0, 1, 1,132, 6, 48, 0, 1, 1,216, 5,112, - 0, 1, 1,128, 6, 76, 0, 1, 2,104, 5, 60, 0, 1, 2,248, 5,112, 0, 1, 2,248, 4,248, 0, 1, 1,172, 5,184, 0, 1, - 2,108, 5, 36, 0, 1, 2,100, 5,172, 0, 1, 2, 96, 4,212, 0, 1, 1, 48, 5,156, 0, 1, 2,104, 5, 56, 0, 1, 2, 60, - 6, 8, 0, 1, 1,224, 6, 0, 0, 1, 1,247, 5,239, 0, 1, 2, 10, 6, 20, 0, 1, 2, 80, 6, 20, 0, 1, 1,200, 6, 16, - 0, 1, 2, 76, 6,100, 0, 1, 2,104, 6,188, 0, 1, 2,140, 3,216, 0, 1, 2,120, 3,132, 0, 1, 2, 56, 3,132, 0, 1, - 2, 84, 3,180, 0, 1, 1,228, 4,136, 0, 1, 1,135, 3, 82, 0, 1, 2, 32, 4,109, 0, 1, 2, 36, 4,118, 0, 1, 1,234, - 3,136, 0, 1, 2, 50, 3,122, 0, 1, 1,175, 4, 96, 0, 1, 1,238, 3, 28, 0, 1, 2,131, 3, 77, 0, 1, 2, 59, 3, 41, - 0, 1, 1,252, 3, 82, 0, 1, 1,166, 2, 68, 0, 1, 2, 5, 3,104, 0, 1, 1,112, 2, 95, 0, 1, 2, 41, 3, 73, 0, 1, - 2, 32, 3, 82, 0, 2, 0, 13, 3,223, 3,223, 0, 0, 3,225, 3,226, 0, 1, 3,228, 4, 3, 0, 3, 4, 36, 4, 36, 0, 35, - 4, 48, 4, 49, 0, 36, 4, 53, 4, 55, 0, 38, 4, 57, 4, 60, 0, 41, 10,151, 10,210, 0, 45, 10,213, 10,216, 0,105, 10,219, - 10,222, 0,109, 10,238, 10,238, 0,113, 10,241, 10,244, 0,114, 10,247, 11, 98, 0,118, 0, 1, 0, 9, 4, 4, 4, 5, 4, 7, - 4, 8, 4, 10, 4, 11, 4, 12, 4, 13, 4, 15, 0, 9, 0, 0, 0, 38, 0, 0, 0, 44, 0, 0, 0, 50, 0, 0, 0, 56, 0, 0, - 0, 62, 0, 0, 0, 68, 0, 0, 0, 74, 0, 0, 0, 80, 0, 0, 0, 86, 0, 1, 2, 93, 4,106, 0, 1, 2, 93, 4,106, 0, 1, - 2, 93, 4,106, 0, 1, 2, 93, 4,106, 0, 1, 2, 93, 4,106, 0, 1, 2, 98, 4,106, 0, 1, 2, 93, 4,106, 0, 1, 2, 93, - 4,106, 0, 1, 2,104, 4,176, 0, 1, 8,126, 7,246, 0, 1, 8,132, 0, 12, 0,253, 1,252, 2, 2, 2, 8, 2, 14, 2, 20, - 2, 26, 2, 32, 2, 38, 2, 44, 2, 50, 2, 56, 2, 62, 2, 68, 2, 74, 2, 80, 2, 86, 2, 92, 2, 98, 2,104, 2,110, 2,116, - 2,122, 2,128, 2,134, 2,140, 2,146, 2,152, 2,158, 2,164, 2,170, 2,176, 2,182, 2,188, 2,194, 2,200, 2,206, 2,212, - 2,218, 2,224, 2,230, 2,236, 2,242, 2,248, 2,254, 3, 4, 3, 10, 3, 16, 3, 22, 3, 28, 3, 34, 3, 40, 3, 46, 3, 52, - 3, 58, 3, 64, 3, 70, 3, 76, 3, 82, 3, 88, 3, 94, 3,100, 3,106, 3,112, 3,118, 3,124, 3,130, 3,136, 3,142, 3,148, - 3,154, 3,160, 3,166, 3,172, 3,178, 3,184, 3,190, 3,196, 3,202, 3,208, 3,214, 3,220, 3,226, 3,232, 3,238, 3,244, - 3,250, 4, 0, 4, 6, 4, 12, 4, 18, 4, 24, 4, 30, 4, 36, 4, 42, 4, 48, 4, 54, 4, 60, 4, 66, 4, 72, 4, 78, 4, 84, - 4, 90, 4, 96, 4,102, 4,108, 4,114, 4,120, 4,126, 4,132, 4,138, 4,144, 4,150, 4,156, 4,162, 4,168, 4,174, 4,180, - 4,186, 4,192, 4,198, 4,204, 4,210, 4,216, 4,222, 4,228, 4,234, 4,240, 4,246, 4,252, 5, 2, 5, 8, 5, 14, 5, 20, - 5, 26, 5, 32, 5, 38, 5, 44, 5, 50, 5, 56, 5, 62, 5, 68, 5, 74, 5, 80, 5, 86, 5, 92, 5, 98, 5,104, 5,110, 5,116, - 5,122, 5,128, 5,134, 5,140, 5,146, 5,152, 5,158, 5,164, 5,170, 5,176, 5,182, 5,188, 5,194, 5,200, 5,206, 5,212, - 5,218, 5,224, 5,230, 5,236, 5,242, 5,248, 5,254, 6, 4, 6, 10, 6, 16, 6, 22, 6, 28, 6, 34, 6, 40, 6, 46, 6, 52, - 6, 58, 6, 64, 6, 70, 6, 76, 6, 82, 6, 88, 6, 94, 6,100, 6,106, 6,112, 6,118, 6,124, 6,130, 6,136, 6,142, 6,148, - 6,154, 6,160, 6,166, 6,172, 6,178, 6,184, 6,190, 6,196, 6,202, 6,208, 6,214, 6,220, 6,226, 6,232, 6,238, 6,244, - 6,250, 7, 0, 7, 6, 7, 12, 7, 18, 7, 24, 7, 30, 7, 36, 7, 42, 7, 48, 7, 54, 7, 60, 7, 66, 7, 72, 7, 78, 7, 84, - 7, 90, 7, 96, 7,102, 7,108, 7,114, 7,120, 7,126, 7,132, 7,138, 7,144, 7,150, 7,156, 7,162, 7,168, 7,174, 7,180, - 7,186, 7,192, 7,198, 7,204, 7,210, 7,216, 7,222, 7,228, 0, 1, 4, 68, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,179, - 0, 0, 0, 1, 1,120, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 1, 79, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 3,226, 0, 0, - 0, 1, 2,104, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 4, 28, 0, 0, 0, 1, - 3,228, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 1, 42, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 2,104, - 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 3,147, 0, 0, 0, 1, 4, 68, 0, 0, - 0, 1, 2,104, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 3,198, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,208, 0, 0, 0, 1, - 2,104, 0, 0, 0, 1, 2,118, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104,254, 86, 0, 1, 3,190, 0, 0, 0, 1, 2,104, - 0, 0, 0, 1, 1,185,254, 89, 0, 1, 4, 68, 0, 0, 0, 1, 3,120, 0, 0, 0, 1, 4, 27, 0, 0, 0, 1, 3,190, 0, 0, - 0, 1, 2,104, 0, 0, 0, 1, 1, 26,254, 86, 0, 1, 3,194,254, 86, 0, 1, 1,198, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, - 3,120, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 3,115, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 1, 26, -254, 86, 0, 1, 2,104, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 4, 68, 0, 0, - 0, 1, 4, 68, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, - 2,122, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2, 54, - 0, 0, 0, 1, 3,228, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, - 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, - 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 1, 52, 0, 0, 0, 1, 2, 54, 0, 0, 0, 1, 3,198, 0, 0, 0, 1, 3,198, - 0, 0, 0, 1, 3,198, 0, 0, 0, 1, 3,198, 0, 0, 0, 1, 3,198, 0, 0, 0, 1, 3,198, 0, 0, 0, 1, 2,118, 0, 0, - 0, 1, 2,118, 0, 0, 0, 1, 2,118, 0, 0, 0, 1, 2,118, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, - 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 3,190, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, - 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, - 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 1, 26,254, 86, 0, 1, 1, 26,254, 86, 0, 1, - 1, 26,254, 86, 0, 1, 4, 68, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 3,198, 0, 0, 0, 1, 2,179, 0, 0, 0, 1, 2,179, - 0, 0, 0, 1, 2,208, 0, 0, 0, 1, 2,179, 0, 0, 0, 1, 2,208, 0, 0, 0, 1, 2,179, 0, 0, 0, 1, 2,208, 0, 0, - 0, 1, 2, 54, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2, 54, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, - 2,118, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 2,118, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 2,118, 0, 0, 0, 1, 2,122, - 0, 0, 0, 1, 2,118, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 2,104,254, 86, 0, 1, 2,154, 0, 0, 0, 1, 2,104,254, 86, - 0, 1, 2,154, 0, 0, 0, 1, 2,104,254, 86, 0, 1, 2,104,254, 86, 0, 1, 3,226, 0, 0, 0, 1, 3,190, 0, 0, 0, 1, - 3,226, 0, 0, 0, 1, 3,190, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, - 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,154, 0, 0, - 0, 1, 1,185,254, 89, 0, 1, 4, 68, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 3,120, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, - 3,120, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 3,120, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 3,120, 0, 0, 0, 1, 3,228, - 0, 0, 0, 1, 3,190, 0, 0, 0, 1, 3,228, 0, 0, 0, 1, 3,190, 0, 0, 0, 1, 4, 57, 0, 0, 0, 1, 2,104,254, 86, - 0, 1, 2,104,254, 86, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, - 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 1,198, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 1,198, - 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, - 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 3,120, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 3,120, 0, 0, 0, 1, - 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, - 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 3,147, 0, 0, - 0, 1, 3,115, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 1, 26,254, 86, 0, 1, 2,104, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, - 2,104, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, - 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, - 0, 1, 2,104, 0, 0, 0, 1, 2, 10, 0, 0, 0, 1, 2,179, 0, 0, 0, 1, 2,208, 0, 0, 0, 1, 2, 54, 0, 0, 0, 1, - 2, 54, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104,254, 86, 0, 1, 2, 86, 0, 0, 0, 1, 2,104, - 0, 0, 0, 1, 2,179, 0, 0, 0, 1, 1, 34,254, 86, 0, 1, 1,104,254, 86, 0, 1, 2,154, 0, 0, 0, 1, 2,104,254, 86, - 0, 1, 3,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, - 3,120, 0, 0, 0, 1, 4, 8, 0, 0, 0, 1, 4, 28, 0, 0, 0, 1, 3,228, 0, 0, 0, 1, 3,190,254, 86, 0, 1, 2,104, - 0, 0, 0, 1, 1,249, 0, 0, 0, 1, 1,255, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 4, 88,254, 86, 0, 1, 1,210, 0, 0, - 0, 1, 1, 26,254, 86, 0, 1, 4,106,254,248, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 2, - 0, 22, 0, 36, 0, 61, 0, 0, 0, 68, 0, 93, 0, 26, 0,130, 0,135, 0, 52, 0,138, 0,152, 0, 58, 0,154, 0,167, 0, 73, - 0,170, 0,184, 0, 87, 0,186, 0,194, 0,102, 0,196, 0,197, 0,111, 0,200, 0,200, 0,113, 0,202, 0,217, 0,114, 0,220, - 0,227, 0,130, 0,229, 0,239, 0,138, 0,242, 0,243, 0,149, 0,246, 0,247, 0,151, 0,250, 0,252, 0,153, 0,255, 1, 6, - 0,156, 1, 9, 1, 19, 0,164, 1, 22, 1, 23, 0,175, 1, 26, 1, 31, 0,177, 1, 34, 1, 35, 0,183, 1, 38, 1, 51, 0,185, - 1, 54, 1,107, 0,199, 0, 1, 0, 1, 2,163, 0, 1, 0, 0, 0, 6, 0, 1, 2,124, 0, 0, 0, 1, 20,168, 20, 38, 0, 2, - 20,214, 0, 12, 1,127, 5,254, 6, 4, 6, 10, 6, 16, 6, 22, 6, 28, 6, 34, 6, 40, 6, 46, 6, 52, 6, 58, 6, 64, 6, 70, - 6, 76, 6, 82, 6, 88, 6, 94, 6,100, 6,106, 6,112, 6,118, 6,124, 6,130, 6,136, 6,142, 6,148, 6,154, 6,160, 6,166, - 6,172, 6,178, 6,184, 6,190, 6,196, 6,202, 6,208, 6,214, 6,220, 6,226, 6,232, 6,238, 6,244, 6,250, 7, 0, 7, 6, - 7, 12, 7, 18, 7, 24, 7, 30, 7, 36, 7, 42, 7, 48, 7, 54, 7, 60, 7, 66, 7, 72, 7, 78, 7, 84, 7, 90, 7, 96, 7,102, - 7,108, 7,114, 7,120, 7,126, 7,132, 7,138, 7,144, 0, 0, 7,150, 0, 0, 7,156, 7,162, 7,168, 7,174, 7,180, 7,186, - 7,192, 7,198, 7,204, 7,210, 7,216, 7,222, 7,228, 7,234, 7,240, 7,246, 7,252, 8, 2, 8, 8, 8, 14, 8, 20, 8, 26, - 8, 32, 8, 38, 8, 44, 8, 50, 8, 56, 8, 62, 8, 68, 8, 74, 8, 80, 8, 86, 8, 92, 0, 0, 8, 98, 0, 0, 8,104, 0, 0, - 8,110, 0, 0, 8,116, 0, 0, 8,122, 0, 0, 8,128, 8,134, 8,140, 8,146, 0, 0, 0, 0, 8,152, 0, 0, 8,158, 0, 0, - 8,164, 0, 0, 8,170, 0, 0, 8,176, 0, 0, 8,182, 0, 0, 8,188, 0, 0, 8,194, 8,200, 8,206, 0, 0, 8,212, 0, 0, - 8,218, 0, 0, 8,224, 0, 0, 8,230, 0, 0, 8,236, 0, 0, 8,242, 8,248, 8,254, 0, 0, 9, 4, 0, 0, 9, 10, 0, 0, - 9, 16, 0, 0, 9, 22, 0, 0, 9, 28, 9, 34, 9, 40, 9, 46, 9, 52, 0, 0, 9, 58, 0, 0, 9, 64, 0, 0, 9, 70, 0, 0, - 9, 76, 0, 0, 9, 82, 0, 0, 9, 88, 9, 94, 9,100, 9,106, 0, 0, 0, 0, 9,112, 0, 0, 9,118, 0, 0, 9,124, 0, 0, - 9,130, 0, 0, 9,136, 0, 0, 9,142, 0, 0, 9,148, 0, 0, 9,154, 0, 0, 9,160, 0, 0, 9,166, 0, 0, 9,172, 0, 0, - 9,178, 0, 0, 9,184, 0, 0, 9,190, 0, 0, 9,196, 9,202, 9,208, 0, 0, 9,214, 0, 0, 9,220, 0, 0, 9,226, 0, 0, - 9,232, 0, 0, 9,238, 9,244, 9,250, 0, 0, 10, 0, 0, 0, 10, 6, 0, 0, 10, 12, 0, 0, 10, 18, 10, 24, 0, 0, 10, 30, - 0, 0, 0, 0, 10, 36, 0, 0, 10, 42, 0, 0, 10, 48, 0, 0, 10, 54, 0, 0, 10, 60, 0, 0, 10, 66, 0, 0, 10, 72, 0, 0, - 10, 78, 0, 0, 10, 84, 10, 90, 10, 96, 10,102, 10,108, 0, 0, 10,114, 0, 0, 10,120, 0, 0, 10,126, 0, 0, 10,132, 0, 0, - 10,138, 0, 0, 10,144, 10,150, 0, 0, 10,156, 0, 0, 0, 0, 10,162, 0, 0, 10,168, 0, 0, 10,174, 0, 0, 10,180, 0, 0, - 10,186, 0, 0, 10,192, 0, 0, 10,198, 0, 0, 10,204, 10,210, 0, 0, 0, 0, 10,216, 0, 0, 10,222, 0, 0, 10,228, 10,234, - 10,240, 10,246, 10,252, 0, 0, 11, 2, 0, 0, 11, 8, 0, 0, 11, 14, 0, 0, 11, 20, 0, 0, 11, 26, 0, 0, 11, 32, 11, 38, - 0, 0, 0, 0, 11, 44, 11, 50, 11, 56, 0, 0, 11, 62, 0, 0, 11, 68, 11, 74, 0, 0, 11, 80, 0, 0, 11, 86, 11, 92, 0, 0, - 11, 98, 0, 0, 11,104, 11,110, 0, 0, 11,116, 0, 0, 0, 0, 11,122, 0, 0, 11,128, 11,134, 11,140, 11,146, 11,152, 11,158, - 11,164, 11,170, 11,176, 0, 0, 11,182, 0, 0, 11,188, 11,194, 0, 0, 11,200, 0, 0, 0, 0, 11,206, 0, 0, 11,212, 0, 0, - 11,218, 11,224, 11,230, 11,236, 11,242, 0, 0, 11,248, 0, 0, 11,254, 0, 0, 12, 4, 0, 0, 12, 10, 0, 0, 12, 16, 0, 0, - 12, 22, 12, 28, 12, 34, 12, 40, 12, 46, 0, 0, 12, 52, 0, 0, 12, 58, 12, 64, 0, 0, 12, 70, 0, 0, 0, 0, 12, 76, 12, 82, - 12, 88, 0, 0, 12, 94, 0, 0, 12,100, 0, 0, 12,106, 0, 0, 12,112, 12,118, 0, 0, 12,124, 0, 0, 0, 0, 12,130, 0, 0, - 12,136, 12,142, 0, 0, 12,148, 0, 0, 0, 0, 12,154, 0, 0, 12,160, 12,166, 12,172, 12,178, 12,184, 0, 0, 12,190, 0, 0, - 12,196, 0, 0, 12,202, 0, 0, 12,208, 0, 0, 12,214, 0, 0, 12,220, 0, 0, 12,226, 0, 0, 12,232, 0, 0, 12,238, 0, 0, - 12,244, 12,250, 0, 0, 13, 0, 0, 0, 0, 0, 13, 6, 0, 0, 13, 12, 0, 0, 13, 18, 0, 0, 13, 24, 0, 0, 13, 30, 0, 0, - 13, 36, 0, 0, 13, 42, 0, 0, 13, 48, 0, 0, 13, 54, 0, 0, 13, 60, 0, 0, 13, 66, 13, 72, 13, 78, 13, 84, 13, 90, 13, 96, - 13,102, 13,108, 13,114, 13,120, 13,126, 13,132, 13,138, 13,144, 13,150, 13,156, 13,162, 13,168, 13,174, 13,180, 13,186, 13,192, - 13,198, 13,204, 13,210, 13,216, 13,222, 13,228, 13,234, 13,240, 13,246, 13,252, 14, 2, 14, 8, 14, 14, 14, 20, 14, 26, 14, 32, - 14, 38, 14, 44, 14, 50, 14, 56, 14, 62, 14, 68, 14, 74, 14, 80, 14, 86, 14, 92, 14, 98, 14,104, 14,110, 14,116, 14,122, 14,128, - 14,134, 14,140, 14,146, 14,152, 14,158, 14,164, 14,170, 14,176, 14,182, 14,188, 14,194, 14,200, 14,206, 14,212, 14,218, 14,224, - 14,230, 14,236, 14,242, 14,248, 14,254, 15, 4, 15, 10, 15, 16, 15, 22, 15, 28, 15, 34, 15, 40, 15, 46, 15, 52, 15, 58, 15, 64, - 15, 70, 15, 76, 15, 82, 15, 88, 15, 94, 15,100, 15,106, 15,112, 15,118, 15,124, 15,130, 15,136, 15,142, 15,148, 15,154, 15,160, - 15,166, 15,172, 15,178, 15,184, 15,190, 15,196, 15,202, 15,208, 15,214, 15,220, 15,226, 15,232, 15,238, 15,244, 15,250, 16, 0, - 16, 6, 16, 12, 16, 18, 16, 24, 16, 30, 16, 36, 16, 42, 16, 48, 16, 54, 16, 60, 16, 66, 16, 72, 16, 78, 16, 84, 16, 90, 16, 96, - 16,102, 16,108, 16,114, 16,120, 16,126, 16,132, 16,138, 16,144, 16,150, 16,156, 16,162, 16,168, 16,174, 16,180, 16,186, 16,192, - 16,198, 16,204, 16,210, 16,216, 16,222, 16,228, 16,234, 16,240, 16,246, 16,252, 17, 2, 17, 8, 17, 14, 17, 20, 17, 26, 17, 32, - 17, 38, 17, 44, 17, 50, 17, 56, 17, 62, 17, 68, 17, 74, 17, 80, 17, 86, 17, 92, 17, 98, 17,104, 17,110, 17,116, 17,122, 17,128, - 17,134, 17,140, 17,146, 17,152, 17,158, 17,164, 17,170, 17,176, 17,182, 17,188, 17,194, 17,200, 17,206, 17,212, 17,218, 17,224, - 17,230, 17,236, 17,242, 17,248, 17,254, 18, 4, 18, 10, 18, 16, 18, 22, 18, 28, 18, 34, 18, 40, 18, 46, 18, 52, 18, 58, 18, 64, - 18, 70, 18, 76, 18, 82, 18, 88, 18, 94, 18,100, 18,106, 18,112, 18,118, 18,124, 18,130, 18,136, 18,142, 18,148, 18,154, 18,160, - 18,166, 18,172, 18,178, 18,184, 18,190, 18,196, 18,202, 18,208, 18,214, 18,220, 18,226, 18,232, 18,238, 18,244, 18,250, 19, 0, - 19, 6, 19, 12, 19, 18, 19, 24, 19, 30, 19, 36, 19, 42, 19, 48, 19, 54, 19, 60, 19, 66, 19, 72, 19, 78, 19, 84, 19, 90, 19, 96, - 19,102, 19,108, 19,114, 19,120, 19,126, 19,132, 19,138, 19,144, 19,150, 19,156, 19,162, 19,168, 19,174, 19,180, 19,186, 19,192, - 19,198, 19,204, 19,210, 19,216, 19,222, 19,228, 19,234, 19,240, 19,246, 19,252, 20, 2, 20, 8, 0, 0, 0, 0, 20, 14, 20, 20, - 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,179, 5,213, - 0, 1, 2,179, 0, 0, 0, 1, 2, 54, 5,213, 0, 1, 2, 54, 0, 0, 0, 1, 2,122, 5,213, 0, 1, 2,122, 0, 0, 0, 1, - 2,158, 5,213, 0, 1, 2,158, 0, 0, 0, 1, 2,154, 5,213, 0, 1, 2,154, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, - 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,154, 5,213, 0, 1, 2,154, 0, 0, 0, 1, 2,104, 5,213, - 0, 1, 2,104, 0, 0, 0, 1, 2,154, 5,213, 0, 1, 2,154, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, - 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, - 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2, 54, 5,213, 0, 1, 2, 54, 0, 0, 0, 1, 2,104, 5,213, - 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, - 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, - 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,154, 5,213, 0, 1, 2,154, 0, 0, 0, 1, 2,104, 4, 96, - 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, 2,104, 0, 0, 0, 1, 2,179, 4, 96, 0, 1, 2,179, 0, 0, 0, 1, - 2,104, 6, 20, 0, 1, 2,104, 0, 0, 0, 1, 2,118, 4, 96, 0, 1, 2,118, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, 2,104, - 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, 6, 20, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, - 0, 1, 2,104,254, 86, 0, 1, 2,154, 6, 20, 0, 1, 2,154, 0, 0, 0, 1, 2, 50, 6, 20, 0, 1, 2, 50, 0, 0, 0, 1, - 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, - 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, 4, 96, - 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, 2,104, 0, 0, 0, 1, - 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, - 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, 4, 96, - 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, - 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,122, 5,213, 0, 1, 2,122, 0, 0, 0, 1, 2,179, 5,213, 0, 1, 2,122, - 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, - 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2, 54, 5,213, 0, 1, 2, 54, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, - 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, - 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, - 0, 1, 2,104, 0, 0, 0, 1, 2, 54, 5,213, 0, 1, 2, 54, 0, 0, 0, 1, 2, 54, 5,213, 0, 1, 2, 54, 0, 0, 0, 1, - 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, - 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,179, 4, 96, 0, 1, 2,118, 0, 0, 0, 1, 2,118, 0, 0, - 0, 1, 2,118, 0, 0, 0, 1, 2,118, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, - 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, - 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, - 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104,254, 86, 0, 1, 2,104, 6, 20, 0, 1, - 2,104,254, 86, 0, 1, 2,104,254, 86, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, - 5,213, 0, 1, 2,104, 4, 96, 0, 1, 2,179, 0, 0, 0, 1, 2,179, 0, 0, 0, 1, 2,179, 0, 0, 0, 1, 2,179, 0, 0, - 0, 1, 2,179, 0, 0, 0, 1, 2,179, 0, 0, 0, 1, 2,179, 0, 0, 0, 1, 2, 54, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, - 2, 54, 5,213, 0, 1, 2, 54, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, 2,104, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 2,118, - 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 2,118, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 2,118, 0, 0, 0, 1, 2,122, 5,213, - 0, 1, 2,118, 4, 96, 0, 1, 2,122, 0, 0, 0, 1, 2,118, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 2,104,254, 86, 0, 1, - 2,154, 0, 0, 0, 1, 2,104,254, 86, 0, 1, 2,154, 0, 0, 0, 1, 2,104,254, 86, 0, 1, 2,154, 5,213, 0, 1, 2,104, -254, 86, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, - 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, - 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, - 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 2,104,254, 86, 0, 1, 2,104, 5,213, 0, 1, 2,154, 6, 20, 0, 1, 2,154, 4, 96, - 0, 1, 2,154, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 2, 50, 0, 0, 0, 1, 2,154, 5,213, 0, 1, 2, 50, 6, 20, 0, 1, - 2,154, 0, 0, 0, 1, 2, 50, 0, 0, 0, 1, 2,154, 5,213, 0, 1, 2,154, 0, 0, 0, 1, 2, 50, 6, 20, 0, 1, 2, 50, - 0, 0, 0, 1, 2,154, 5,213, 0, 1, 2,154, 0, 0, 0, 1, 2, 50, 6, 20, 0, 1, 2, 50, 0, 0, 0, 1, 2,104, 0, 0, - 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, - 2,227, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104,254, 86, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, - 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, - 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2, 54, 0, 0, 0, 1, - 2,104, 0, 0, 0, 1, 2, 54, 5,213, 0, 1, 2,104, 4, 96, 0, 1, 2, 54, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, - 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, - 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 6, 20, 0, 1, - 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, 2,104, - 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, - 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, - 2,104, 5,213, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, -254, 86, 0, 1, 2,104, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 2,104, 0, 0, - 0, 1, 2,154, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, - 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, - 6, 20, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, 2,104, 0, 0, - 0, 1, 2, 10, 5,213, 0, 1, 2, 10, 0, 0, 0, 1, 2,179, 5,213, 0, 1, 2,179, 0, 0, 0, 1, 2,179, 4, 96, 0, 1, - 2,179, 0, 0, 0, 1, 2, 54, 5,213, 0, 1, 2, 54, 0, 0, 0, 1, 2, 54, 5,213, 0, 1, 2, 54, 0, 0, 0, 1, 2,104, - 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, - 0, 1, 2, 86, 5,213, 0, 1, 2, 86, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,179, 5,213, 0, 1, - 2,179, 0, 0, 0, 1, 3, 2, 5,213, 0, 1, 3, 2,254, 86, 0, 1, 2,104, 6, 20, 0, 1, 2,104,254, 86, 0, 1, 2,154, - 5,213, 0, 1, 2,154, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104,254, 86, 0, 1, 2,104, 6, 20, 0, 1, 2,104, 0, 0, - 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, - 2,104, 0, 0, 0, 1, 2,154, 6, 20, 0, 1, 2,154, 0, 0, 0, 1, 2, 50, 6, 20, 0, 1, 2, 50, 0, 0, 0, 1, 2,104, - 6, 20, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104,254, 86, - 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 1,249, 5,213, 0, 1, - 1,249, 0, 0, 0, 1, 1,255, 4, 96, 0, 1, 1,255, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, - 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,236, 5,213, 0, 1, 2,236, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, - 0, 1, 2, 54, 5,213, 0, 1, 2, 54,254, 86, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, - 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, - 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, - 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,140, 6, 20, 0, 1, 2,140, 0, 0, 0, 1, 2, 41, 4, 96, 0, 1, - 2, 41, 0, 0, 0, 1, 2,179, 4, 96, 0, 1, 2,179, 0, 0, 0, 1, 2, 89, 6, 20, 0, 1, 2, 89, 0, 0, 0, 1, 2,104, - 6, 20, 0, 1, 2,104, 0, 0, 0, 1, 2,118, 4, 96, 0, 1, 2,118, 0, 0, 0, 1, 2,118, 4, 96, 0, 1, 2,118, 0, 0, - 0, 1, 1,154, 4, 96, 0, 1, 1,154, 0, 0, 0, 1, 2,118, 4, 96, 0, 1, 2,118, 0, 0, 0, 1, 2, 90, 4, 96, 0, 1, - 2, 90, 0, 0, 0, 1, 1,114, 4, 96, 0, 1, 1,114, 0, 0, 0, 1, 2,118, 4, 96, 0, 1, 2,118, 0, 0, 0, 1, 2,177, - 4, 96, 0, 1, 2,177,254, 86, 0, 1, 2, 62, 6, 20, 0, 1, 2, 62,254, 86, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, - 0, 1, 2,149, 4, 96, 0, 1, 2,149, 0, 0, 0, 1, 2,110, 4, 96, 0, 1, 2,110,254, 86, 0, 1, 2,104, 4, 96, 0, 1, - 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,111, 6, 20, 0, 1, 2,111, 0, 0, 0, 1, 2,111, - 6, 20, 0, 1, 2,111,254, 86, 0, 1, 2, 68, 4, 96, 0, 1, 2, 68, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, - 0, 1, 2, 56, 6, 20, 0, 1, 2, 56, 0, 0, 0, 1, 2, 80, 6, 20, 0, 1, 2, 80, 0, 0, 0, 1, 2, 62, 6, 20, 0, 1, - 2, 62,254, 86, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, - 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,182, 4, 96, 0, 1, 2,182,254, 86, 0, 1, 1,252, 4,102, 0, 1, 2, 38,254, 86, - 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, - 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, 2,104,254, 86, 0, 1, 2,104, - 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, 2,104, 0, 0, 0, 1, 2, 54, 4, 96, 0, 1, 2, 54,254, 86, - 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2, 99, 4, 96, 0, 1, - 2, 99, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2, 0, 4, 96, 0, 1, 2, 0, 0, 0, 0, 1, 2, 0, - 4, 96, 0, 1, 2, 0, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,115, 6, 20, 0, 1, 2,115,254, 86, - 0, 1, 2,115, 6, 20, 0, 1, 2,115,254, 86, 0, 1, 2,120, 4, 96, 0, 1, 2,120,254, 86, 0, 1, 2,115, 6, 20, 0, 1, - 2,115,254, 86, 0, 1, 2,164, 4, 96, 0, 1, 2,164,254, 86, 0, 1, 2,104, 6, 20, 0, 1, 2,104,254, 86, 0, 1, 2,104, - 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, - 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, - 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2, 28, 4, 96, 0, 1, 2, 28,254, 86, 0, 1, 2,104, - 4, 96, 0, 1, 2,104,255,142, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, - 0, 1, 2, 36, 6, 20, 0, 1, 2, 36, 0, 0, 0, 1, 2,170, 6, 20, 0, 1, 2,170, 0, 0, 0, 1, 2, 36, 6, 20, 0, 1, - 2, 36, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2, 32, 4, 96, 0, 1, 2, 32, 0, 0, 0, 1, 2, 62, - 4, 96, 0, 1, 2, 62, 0, 0, 0, 1, 2, 26, 6, 20, 0, 1, 2, 26, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, - 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, - 2,104,254, 86, 0, 1, 2, 36, 6, 20, 0, 1, 2, 36, 0, 0, 0, 1, 2,170, 6, 20, 0, 1, 2,170, 0, 0, 0, 1, 2,104, - 5,224, 0, 1, 2,104, 2,156, 0, 1, 2, 82, 5,224, 0, 1, 2, 82, 2,156, 0, 1, 2, 69, 5,224, 0, 1, 2, 69, 2,156, - 0, 1, 2, 94, 5,224, 0, 1, 2, 94, 2,156, 0, 1, 2,114, 5,224, 0, 1, 2,114, 2,156, 0, 1, 2,144, 5,224, 0, 1, - 2,144, 2,156, 0, 1, 2,104, 5,224, 0, 1, 2,104, 2,156, 0, 1, 2,104, 5,224, 0, 1, 2,104, 2,156, 0, 1, 2,188, - 5,224, 0, 1, 2,188, 2,156, 0, 1, 2, 63, 5,224, 0, 1, 2, 63, 2,156, 0, 1, 2, 97, 5,224, 0, 1, 2, 97, 2,156, - 0, 1, 2,105, 5,224, 0, 1, 2,105, 2,156, 0, 1, 2,104, 5,224, 0, 1, 2,104, 2,156, 0, 1, 2,104, 5,224, 0, 1, - 2,104, 2,156, 0, 1, 2,104, 5,224, 0, 1, 2,104, 2,156, 0, 1, 2, 71, 5,224, 0, 1, 2, 71, 2,156, 0, 1, 2, 27, - 5,224, 0, 1, 2, 27, 2,156, 0, 1, 2,104, 5,224, 0, 1, 2,104, 2,156, 0, 1, 2,104, 5,224, 0, 1, 2,104, 2,156, - 0, 1, 2,104, 5,224, 0, 1, 2,104, 2,156, 0, 1, 2, 54, 5,213, 0, 1, 2, 92, 2,156, 0, 1, 2,104, 5,213, 0, 2, - 0, 21, 0, 36, 0, 61, 0, 0, 0, 68, 0, 93, 0, 26, 0,130, 0,152, 0, 52, 0,154, 0,184, 0, 75, 0,186, 0,194, 0,106, - 0,196, 0,200, 0,115, 0,202, 0,240, 0,120, 0,242, 0,243, 0,159, 0,246, 1,107, 0,161, 1,205, 1,205, 1, 23, 1,226, - 1,226, 1, 24, 1,238, 2, 5, 1, 25, 2, 7, 2, 11, 1, 49, 2, 13, 2, 52, 1, 54, 2, 54, 2, 58, 1, 94, 2, 60, 2, 64, - 1, 99, 4,172, 4,172, 1,104, 4,174, 4,192, 1,105, 5, 22, 5, 22, 1,124, 6,169, 6,169, 1,125, 11,209, 11,209, 1,126, - 0, 2, 0, 7, 2,124, 2,141, 0, 0, 2,143, 2,149, 0, 18, 2,152, 2,156, 0, 25, 2,159, 2,162, 0, 30, 2,165, 2,173, - 0, 34, 2,181, 2,186, 0, 43, 2,188, 2,188, 0, 49, 0, 50, 0, 0, 0,202, 0, 0, 0,208, 0, 0, 0,214, 0, 0, 0,220, - 0, 0, 0,226, 0, 0, 0,232, 0, 0, 0,238, 0, 0, 0,244, 0, 0, 0,250, 0, 0, 1, 0, 0, 0, 1, 6, 0, 0, 1, 12, - 0, 0, 1, 18, 0, 0, 1, 24, 0, 0, 1, 30, 0, 0, 1, 36, 0, 0, 1, 42, 0, 0, 1, 48, 0, 0, 1, 54, 0, 0, 1, 60, - 0, 0, 1, 66, 0, 1, 1, 72, 0, 1, 1, 78, 0, 1, 1, 84, 0, 1, 1, 90, 0, 1, 1, 96, 0, 1, 1,102, 0, 1, 1,108, - 0, 1, 1,114, 0, 1, 1,120, 0, 1, 1,126, 0, 1, 1,132, 0, 1, 1,138, 0, 1, 1,144, 0, 1, 1,150, 0, 1, 1,156, - 0, 1, 1,162, 0, 1, 1,168, 0, 1, 1,174, 0, 1, 1,180, 0, 1, 1,186, 0, 1, 1,192, 0, 1, 1,198, 0, 1, 1,204, - 0, 1, 1,210, 0, 1, 1,216, 0, 1, 1,222, 0, 0, 1,228, 0, 0, 1,234, 0, 0, 1,240, 0, 1, 2,104, 4, 96, 0, 1, - 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, - 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, - 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, - 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, - 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, - 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, - 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, - 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, - 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, - 2,104, 4, 96, 0, 1, 0, 8, 0, 4,251, 47, 0, 2, 0, 6, 2,124, 2,141, 0, 0, 2,143, 2,149, 0, 18, 2,152, 2,156, - 0, 25, 2,159, 2,173, 0, 30, 2,181, 2,186, 0, 45, 2,188, 2,188, 0, 51, 0, 1, 1,200, 1,190, 0, 2, 1,216, 0, 12, - 0, 27, 0,110, 0,116, 0,122, 0,128, 0,134, 0,140, 0,146, 0,152, 0,158, 0,164, 0,170, 0,176, 0,182, 0,188, 0,194, - 0,200, 0,206, 0,212, 0,218, 0,224, 0,230, 0,236, 0,242, 0,248, 0,254, 1, 4, 1, 10, 1, 16, 1, 22, 1, 28, 1, 34, - 1, 40, 1, 46, 1, 52, 1, 58, 1, 64, 1, 70, 1, 76, 1, 82, 1, 88, 1, 94, 1,100, 1,106, 1,112, 1,118, 1,124, 1,130, - 1,136, 1,142, 1,148, 1,154, 1,160, 1,166, 1,172, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, - 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209,254, 20, 0, 1, 4,209, 4,160, 0, 1, - 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209,254, 20, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, - 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209,254, 20, - 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, - 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,210, 6, 16, 0, 1, 4,209, 0, 0, 0, 1, 4,209, - 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,210, 6, 16, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, - 0, 1, 4,210, 6, 16, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 6, 16, 0, 1, - 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, - 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, - 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 2, 0, 1, 4, 72, 4, 98, 0, 0, 0, 2, 0, 2, - 4,101, 4,101, 0, 0, 4,104, 4,117, 0, 1, 0, 15, 0, 1, 0, 62, 0, 1, 0, 68, 0, 1, 0, 74, 0, 1, 0, 80, 0, 1, - 0, 86, 0, 0, 0, 92, 0, 0, 0, 98, 0, 1, 0,104, 0, 0, 0,110, 0, 1, 0,116, 0, 1, 0,122, 0, 1, 0,128, 0, 1, - 0,134, 0, 1, 0,140, 0, 1, 0,146, 0, 1,255,247, 4,116, 0, 1, 4,209, 4,119, 0, 1, 4,209, 4,119, 0, 1, 4,209, - 4,119, 0, 1, 4,209, 4,119, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,116, 0, 1, 4,209, 0, 0, - 0, 1, 4,209, 4, 96, 0, 1, 4,209, 4,126, 0, 1, 4,209, 4,126, 0, 1, 4,209, 4, 96, 0, 1, 4,209, 4,126, 0, 1, - 4,209, 4, 96, 0, 1, 0, 8, 0, 4,251, 47, 0, 2, 0, 2, 4,101, 4,101, 0, 0, 4,104, 4,117, 0, 1, 0, 1, 0, 0, - 0, 10, 0,192, 1, 58, 0, 6, 97,114, 97, 98, 0, 38, 99,121,114,108, 0, 60,100,102,108,116, 0, 88,103,114,101,107, 0, 98, -108, 97,111, 32, 0,110,108, 97,116,110, 0,120, 0, 4, 0, 0, 0, 0,255,255, 0, 6, 0, 2, 0, 3, 0, 4, 0, 5, 0, 8, - 0, 9, 0, 10, 0, 1, 83, 82, 66, 32, 0, 18, 0, 0,255,255, 0, 1, 0, 0, 0, 0,255,255, 0, 2, 0, 0, 0, 6, 0, 4, - 0, 0, 0, 0,255,255, 0, 0, 0, 4, 0, 0, 0, 0,255,255, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0,255,255, 0, 0, 0, 40, - 0, 6, 73, 83, 77, 32, 0, 50, 75, 83, 77, 32, 0, 50, 76, 83, 77, 32, 0, 50, 78, 83, 77, 32, 0, 50, 83, 75, 83, 32, 0, 50, - 83, 83, 77, 32, 0, 50, 0, 0,255,255, 0, 2, 0, 0, 0, 1, 0, 0,255,255, 0, 3, 0, 0, 0, 1, 0, 7, 0, 10, 99, 99, -109,112, 0, 62,100,108,105,103, 0, 68,102,105,110, 97, 0, 74,105,110,105,116, 0, 80,105,115,111,108, 0, 86,108,105,103, 97, - 0, 92,108,111, 99,108, 0, 98,108,111, 99,108, 0,104,109,101,100,105, 0,110,114,108,105,103, 0,116, 0, 0, 0, 1, 0, 1, - 0, 0, 0, 1, 0, 9, 0, 0, 0, 1, 0, 4, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 3, 0, 0, 0, 1, 0, 8, 0, 0, - 0, 1, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 1, 0, 7, 0, 11, 0, 24, 0, 32, 0, 40, 0, 48, - 0, 56, 0, 64, 0, 72, 0, 80, 0, 88, 0, 96, 0,104, 0, 1, 0, 0, 0, 1, 0, 88, 0, 6, 0, 0, 0, 1, 0, 92, 0, 1, - 0, 0, 0, 1, 0,228, 0, 1, 0, 9, 0, 1, 0,232, 0, 1, 0, 9, 0, 1, 0,236, 0, 1, 0, 9, 0, 1, 1,148, 0, 1, - 0, 9, 0, 1, 2, 46, 0, 4, 0, 9, 0, 1, 2,200, 0, 4, 0, 9, 0, 1, 2,230, 0, 4, 0, 0, 0, 1, 3, 36, 0, 1, - 0, 0, 0, 1, 3, 60, 0, 1, 0, 6, 10,197, 0, 1, 0, 1, 1, 12, 0, 2, 0, 20, 0, 28, 0, 36, 0, 36, 0, 4, 0, 0, - 0, 88, 0, 0, 0, 0, 0, 1, 0, 2, 0, 76, 0, 77, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 8, 0, 76, 0, 77, 0, 1, - 2,124, 2,145, 0, 2, 2,146, 2,149, 0, 3, 2,152, 2,156, 0, 3, 2,159, 2,175, 0, 3, 2,181, 2,184, 0, 3, 2,185, - 2,188, 0, 2, 2,191, 2,191, 0, 2, 0, 3, 0, 8, 0, 22, 0, 38, 0, 0, 0, 1, 0, 1, 0, 2, 0, 1, 0, 0, 0, 10, - 0, 0, 0, 1, 0, 2, 0, 3, 0, 2, 0, 1, 0, 0, 0, 10, 0, 0, 0, 1, 0, 3, 0, 3, 0, 3, 0, 2, 0, 1, 0, 0, - 0, 10, 0, 1, 0, 6, 7, 54, 0, 1, 0, 1, 3, 94, 0, 1, 0, 6, 6,149, 0, 1, 0, 1, 4, 50, 0, 2, 0,112, 0, 53, - 10,240, 10,242, 10,244, 10,246, 10,248, 10,252, 10,254, 11, 2, 11, 4, 11, 8, 11, 12, 11, 16, 11, 20, 11, 24, 11, 26, 11, 28, - 11, 30, 11, 32, 11, 36, 11, 40, 11, 44, 11, 48, 11, 52, 11, 56, 11, 60, 11, 64, 11, 68, 11, 72, 11, 76, 11, 80, 11, 84, 11, 88, - 11, 92, 11, 94, 11, 96, 10,172, 10,164, 10,152, 10,156, 10,168, 10,160, 10,188, 10,184, 10,192, 10,196, 10,202, 10,200, 10,176, - 10,204, 10,208, 10,212, 10,214, 10,220, 0, 2, 0, 10, 3,224, 3,248, 0, 0, 3,250, 4, 3, 0, 25, 4, 33, 4, 35, 0, 35, - 4, 38, 4, 40, 0, 38, 4, 43, 4, 44, 0, 41, 4, 46, 4, 48, 0, 43, 4, 50, 4, 50, 0, 46, 4, 52, 4, 54, 0, 47, 4, 56, - 4, 57, 0, 50, 4, 59, 4, 59, 0, 52, 0, 2, 0, 82, 0, 38, 10,250, 11, 0, 11, 6, 11, 10, 11, 14, 11, 18, 11, 22, 11, 34, - 11, 38, 11, 42, 11, 46, 11, 50, 11, 54, 11, 58, 11, 62, 11, 66, 11, 70, 11, 74, 11, 78, 11, 82, 11, 86, 11, 90, 11, 98, 10,174, - 10,166, 10,154, 10,158, 10,170, 10,162, 10,190, 10,186, 10,194, 10,198, 10,178, 10,206, 10,210, 10,216, 10,222, 0, 1, 0, 38, - 3,228, 3,230, 3,232, 3,233, 3,234, 3,235, 3,236, 3,241, 3,242, 3,243, 3,244, 3,245, 3,246, 3,247, 3,248, 3,250, - 3,251, 3,252, 3,253, 3,254, 3,255, 4, 0, 4, 3, 4, 33, 4, 34, 4, 35, 4, 38, 4, 39, 4, 40, 4, 43, 4, 44, 4, 46, - 4, 47, 4, 52, 4, 53, 4, 54, 4, 57, 4, 59, 0, 2, 0, 82, 0, 38, 10,249, 10,255, 11, 5, 11, 9, 11, 13, 11, 17, 11, 21, - 11, 33, 11, 37, 11, 41, 11, 45, 11, 49, 11, 53, 11, 57, 11, 61, 11, 65, 11, 69, 11, 73, 11, 77, 11, 81, 11, 85, 11, 89, 11, 97, - 10,173, 10,165, 10,153, 10,157, 10,169, 10,161, 10,189, 10,185, 10,193, 10,197, 10,177, 10,205, 10,209, 10,215, 10,221, 0, 1, - 0, 38, 3,228, 3,230, 3,232, 3,233, 3,234, 3,235, 3,236, 3,241, 3,242, 3,243, 3,244, 3,245, 3,246, 3,247, 3,248, - 3,250, 3,251, 3,252, 3,253, 3,254, 3,255, 4, 0, 4, 3, 4, 33, 4, 34, 4, 35, 4, 38, 4, 39, 4, 40, 4, 43, 4, 44, - 4, 46, 4, 47, 4, 52, 4, 53, 4, 54, 4, 57, 4, 59, 0, 1, 0, 30, 0, 2, 0, 10, 0, 20, 0, 1, 0, 4, 11,105, 0, 2, - 10,252, 0, 1, 0, 4, 11,106, 0, 2, 10,252, 0, 1, 0, 2, 11, 77, 11, 78, 0, 1, 0, 62, 0, 2, 0, 10, 0, 36, 0, 3, - 0, 8, 0, 14, 0, 20, 11,103, 0, 2, 10,246, 11,101, 0, 2, 10,242, 11, 99, 0, 2, 10,240, 0, 3, 0, 8, 0, 14, 0, 20, - 11,104, 0, 2, 10,246, 11,102, 0, 2, 10,242, 11,100, 0, 2, 10,240, 0, 1, 0, 2, 11, 77, 11, 78, 0, 1, 0, 26, 0, 1, - 0, 8, 0, 2, 0, 6, 0, 12, 10,150, 0, 2, 0, 79, 10,149, 0, 2, 0, 76, 0, 1, 0, 1, 0, 73, 0, 2, 0, 10, 0, 2, - 0,243, 1,226, 0, 1, 0, 2, 0, 76, 0, 77, 0, 1, 4,209, 1,144, 0, 5, 0, 0, 5, 51, 5,153, 0, 0, 1, 30, 5, 51, - 5,153, 0, 0, 3,215, 0,102, 2, 18, 0, 0, 2, 11, 6, 9, 3, 8, 4, 2, 2, 4,230, 0, 34,255,210, 0,249,251, 2, 0, - 0, 40, 0, 0, 0, 0, 80,102, 69,100, 0, 64, 0, 32,255,255, 6, 20,254, 20, 1,154, 7,109, 1,227, 96, 0, 0,223,255,223, - 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 44, 0, 0, 0, 4, 0, 0, 7,156, 0, 1, 0, 0, 0, 0, 18,188, - 0, 3, 0, 1, 0, 0, 0, 44, 0, 3, 0, 10, 0, 0, 7,156, 0, 4, 7,112, 0, 0, 1,216, 1, 0, 0, 7, 0,216, 0, 0, - 0,126, 1,185, 1,190, 1,195, 1,227, 1,240, 1,246, 1,249, 2, 27, 2, 33, 2, 65, 2, 69, 2,185, 2,193, 2,201, 2,205, - 2,211, 2,214, 2,222, 2,233, 2,243, 3, 63, 3, 67, 3, 88, 3, 97, 3,117, 3,122, 3,126, 3,138, 3,140, 3,161, 3,206, - 3,225, 4, 95, 4,155, 4,163, 4,179, 4,187, 4,196, 4,200, 4,204, 4,249, 6, 12, 6, 21, 6, 27, 6, 31, 6, 58, 6, 85, - 6, 90, 6,111, 6,116, 6,135, 6,146, 6,152, 6,161, 6,164, 6,169, 6,175, 6,181, 6,186, 6,190, 6,198, 6,204, 6,206, - 6,213, 6,249, 14,130, 14,132, 14,136, 14,138, 14,141, 14,151, 14,159, 14,163, 14,165, 14,167, 14,171, 14,185, 14,188, 14,205, - 16,252, 29, 2, 29, 9, 29, 20, 29, 23, 29, 31, 29, 46, 29, 60, 29, 91, 29,101, 29,120, 29,123, 29,133, 29,183, 29,191, 30, 19, - 30, 37, 30, 45, 30, 75, 30, 99, 30,119, 30,139, 30,143, 30,150, 30,155, 30,161, 30,177, 30,185, 30,189, 30,205, 30,229, 30,245, - 30,249, 31, 21, 31, 29, 31, 69, 31, 77, 31, 87, 31, 89, 31, 91, 31, 93, 31,125, 31,180, 31,196, 31,211, 31,219, 31,239, 31,244, - 31,254, 32, 10, 32, 21, 32, 35, 32, 38, 32, 49, 32, 58, 32, 62, 32, 73, 32, 95, 32,113, 32,142, 32,148, 32,166, 32,172, 32,177, - 32,181, 33, 2, 33, 14, 33, 22, 33, 34, 33, 38, 33, 43, 33, 95, 33,255, 34, 2, 34, 13, 34, 15, 34, 19, 34, 21, 34, 26, 34, 32, - 34, 45, 34, 61, 34,105, 34,139, 34,146, 34,161, 34,198, 34,205, 34,233, 34,239, 35, 6, 35, 21, 35, 25, 35, 33, 35, 40, 35, 43, - 35, 53, 35, 62, 35, 68, 35, 73, 35, 77, 35, 80, 35, 84, 35, 92, 35, 96, 35,101, 35,105, 35,112, 35,122, 35,125, 35,131, 35,139, - 35,149, 35,174, 35,207, 36, 35, 38, 47, 38,139, 38,156, 38,161, 38,177, 39, 4, 39, 9, 39, 39, 39, 75, 39, 77, 39, 82, 39, 86, - 39, 94, 39,117, 39,148, 39,175, 39,190, 39,224, 39,233, 41,235, 41,251, 42, 47, 43, 26, 44,119, 46, 24, 46, 46,246,197,251, 2, -251,129,251,149,251,159,251,173,251,233,251,255,254,116,254,252,254,255,255,253,255,255, 0, 0, 0, 0, 0, 32, 0,160, 1,187, - 1,192, 1,205, 1,230, 1,244, 1,248, 1,252, 2, 30, 2, 36, 2, 69, 2, 80, 2,187, 2,198, 2,204, 2,208, 2,214, 2,216, - 2,224, 2,243, 3, 0, 3, 67, 3, 88, 3, 97, 3,116, 3,122, 3,126, 3,132, 3,140, 3,142, 3,163, 3,208, 3,240, 4,144, - 4,162, 4,170, 4,186, 4,192, 4,199, 4,203, 4,207, 6, 12, 6, 21, 6, 27, 6, 31, 6, 33, 6, 64, 6, 90, 6, 96, 6,116, - 6,121, 6,145, 6,152, 6,161, 6,164, 6,169, 6,175, 6,181, 6,186, 6,190, 6,198, 6,204, 6,206, 6,213, 6,240, 14,129, - 14,132, 14,135, 14,138, 14,141, 14,148, 14,153, 14,161, 14,165, 14,167, 14,170, 14,173, 14,187, 14,200, 16,208, 29, 2, 29, 8, - 29, 20, 29, 22, 29, 29, 29, 44, 29, 48, 29, 62, 29, 98, 29,119, 29,123, 29,133, 29,155, 29,185, 30, 0, 30, 24, 30, 40, 30, 48, - 30, 86, 30,104, 30,126, 30,142, 30,146, 30,155, 30,160, 30,176, 30,184, 30,188, 30,202, 30,228, 30,242, 30,248, 31, 0, 31, 24, - 31, 32, 31, 72, 31, 80, 31, 89, 31, 91, 31, 93, 31, 95, 31,128, 31,182, 31,198, 31,214, 31,221, 31,242, 31,246, 32, 0, 32, 16, - 32, 23, 32, 38, 32, 47, 32, 57, 32, 60, 32, 69, 32, 95, 32,112, 32,116, 32,144, 32,166, 32,172, 32,177, 32,180, 33, 2, 33, 14, - 33, 22, 33, 34, 33, 38, 33, 42, 33, 83, 33,144, 34, 2, 34, 5, 34, 15, 34, 17, 34, 21, 34, 23, 34, 29, 34, 39, 34, 56, 34, 65, - 34,109, 34,143, 34,149, 34,197, 34,205, 34,218, 34,239, 35, 0, 35, 8, 35, 24, 35, 28, 35, 37, 35, 43, 35, 53, 35, 55, 35, 65, - 35, 71, 35, 75, 35, 80, 35, 82, 35, 87, 35, 94, 35, 99, 35,104, 35,107, 35,115, 35,125, 35,128, 35,136, 35,149, 35,155, 35,206, - 36, 35, 37, 0, 38, 56, 38,144, 38,160, 38,176, 39, 1, 39, 6, 39, 12, 39, 41, 39, 77, 39, 79, 39, 86, 39, 88, 39, 97, 39,148, - 39,152, 39,177, 39,224, 39,232, 41,235, 41,250, 42, 47, 43, 18, 44,117, 46, 24, 46, 46,246,197,251, 1,251, 82,251,138,251,158, -251,170,251,232,251,252,254,112,254,118,254,255,255,249,255,255, 0, 0,255,227,255,194,255,193,255,192,255,183,255,181,255,178, -255,177,255,175,255,173,255,171,255,168,255,158,255,157,255,153,255,151,255,149,255,147,255,146,255,145,255,136,255,124,255,121, -255,101,255, 93,255, 75,255, 71,255, 68,255, 63,255, 62,255, 61,255, 60,255, 59,255, 45,254,253,254,247,254,241,254,235,254,231, -254,229,254,227,254,225,253,207,253,199,253,194,253,191,253,190,253,185,253,181,253,176,253,172,253,168,253,159,253,154,253,146, -253,144,253,140,253,135,253,130,253,126,253,123,253,116,253,111,253,110,253,104,253, 78,245,199,245,198,245,196,245,195,245,193, -245,187,245,186,245,185,245,184,245,183,245,181,245,180,245,179,245,168,243,166,231,161,231,156,231,146,231,145,231,140,231,128, -231,127,231,126,231,120,231,103,231,101,231, 92,231, 71,231, 70,231, 6,231, 2,231, 0,230,254,230,244,230,240,230,234,230,232, -230,230,230,226,230,222,230,208,230,202,230,200,230,188,230,166,230,154,230,152,230,146,230,144,230,142,230,140,230,138,230,137, -230,136,230,135,230,134,230,132,230,131,230,130,230,128,230,127,230,125,230,124,230,123,230,118,230,117,230,115,230,107,230,100, -230, 99,230, 93,230, 72,230, 56,230, 54,230, 53,230, 36,230, 31,230, 27,230, 25,229,205,229,194,229,187,229,176,229,173,229,170, -229,131,229, 83,229, 81,229, 79,229, 78,229, 77,229, 76,229, 75,229, 73,229, 67,229, 57,229, 54,229, 51,229, 48,229, 46,229, 11, -229, 5,228,249,228,244,228,228,228,227,228,225,228,223,228,220,228,218,228,209,228,208,228,206,228,204,228,203,228,201,228,200, -228,198,228,197,228,195,228,193,228,192,228,190,228,188,228,186,228,182,228,173,228,168,228,137,228, 54,227, 90,227, 82,227, 78, -227, 75,227, 61,226,238,226,237,226,235,226,234,226,233,226,232,226,229,226,228,226,226,226,196,226,193,226,192,226,159,226,152, -224,151,224,137,224, 86,223,116,222, 26,220,122,220,101, 19,207, 15,148, 15, 69, 15, 61, 15, 53, 15, 43, 14,241, 14,223, 12,111, - 12,110, 12,108, 11,115, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 14, 0,128, 0, 3, 0, 96, 79, 83, 47, 50, +160,203,149,192, 0, 0, 1,104, 0, 0, 0, 96, 99,109, 97,112,233,125, 86, 20, 0, 0, 8,208, 0, 0, 7, 54, 99,118,116, 32, + 68,157, 77,114, 0, 0, 25,144, 0, 0, 2, 16,102,112,103,109,115,211, 35,176, 0, 0, 16, 8, 0, 0, 7, 5,103, 97,115,112, + 0, 4, 0, 7, 0, 1,201, 68, 0, 0, 0, 12,103,108,121,102,251,142, 20,149, 0, 0, 34,168, 0, 1,130,142,104,101, 97,100, +234, 37, 61,215, 0, 0, 0,236, 0, 0, 0, 54,104,104,101, 97, 11, 91, 2,150, 0, 0, 1, 36, 0, 0, 0, 36,104,109,116,120, +248,204,244, 91, 0, 0, 1,200, 0, 0, 7, 6,108,111, 99, 97,245, 66,148,216, 0, 0, 27,160, 0, 0, 7, 6,109, 97,120,112, + 5,235, 2,119, 0, 0, 1, 72, 0, 0, 0, 32,110, 97,109,101,123,244,226, 39, 0, 1,165, 56, 0, 0, 6,204,112,111,115,116, +216, 80,169, 40, 0, 1,172, 4, 0, 0, 29, 63,112,114,101,112, 65,189,218,130, 0, 0, 23, 16, 0, 0, 2,126, 0, 1, 0, 0, + 0, 1, 0, 0,136, 63, 64,110, 95, 15, 60,245, 0, 11, 8, 0, 0, 0, 0, 0,193,199,233, 84, 0, 0, 0, 0,197, 83, 9, 61, +254,200,253,213, 5, 35, 8,115, 0, 0, 0, 9, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 7,109,254, 29, 0, 0, 4,205, +254,200,255,170, 5, 35, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 3,130, 0,144, + 0, 18, 0, 82, 0, 5, 0, 2, 0, 16, 0, 47, 0, 90, 0, 0, 1,228, 1, 99, 0, 3, 0, 1, 0, 3, 4,205, 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, 9, 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, 0, 4,205, 0,193, 0, 0, 0, 0, + 0, 0, 1,231, 1, 29, 0, 45, 0,182, 0, 0, 0, 61, 1,240, 1, 39, 1, 41, 0,133, 0,152, 1,184, 1, 29, 1,207, 0,211, + 0,147, 0,225, 0,158, 0,131, 0, 61, 0,172, 0,154, 0,143, 0,156, 0,154, 1,231, 1,154, 0,152, 0,152, 0,152, 0,168, + 0, 31, 0, 33, 0,135, 0,129, 0,135, 0,217, 0,244, 0,117, 0,135, 0,225, 0,137, 0,211, 0,233, 0,113, 0,135, 0, 84, + 0,176, 0, 84, 0,186, 0,141, 0,102, 0,125, 0, 33, 0, 2, 0, 53, 0, 33, 0,102, 1,156, 0,211, 1, 33, 0,111,255,240, + 1,162, 0,135, 0,158, 0,172, 0,137, 0,133, 0,156, 0,102, 0,160, 0,197, 0,135, 0,215, 0,188, 0, 92, 0,160, 0,115, + 0,158, 0,137, 1, 8, 0,203, 0,139, 0,160, 0, 82,255,252, 0, 96, 0, 82, 0,182, 0,225, 2, 27, 0,227, 0,152, 0, 0, + 1,231, 0,172, 0,119, 0,174, 0, 78, 2, 27, 0,244, 1, 74, 0, 6, 1, 20, 0,197, 0,152, 1, 29, 0, 6,255,236, 1, 43, + 0,152, 1, 92, 1, 86, 1,162, 0,180, 0, 66, 1,231, 1,172, 1,111, 1, 25, 0,197, 0, 22, 0, 3, 0, 21, 0,168, 0, 33, + 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 0, 0,129, 0,217, 0,217, 0,217, 0,217, 0,225, 0,225, 0,225, 0,225, 0, 0, + 0,135, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0,190, 0, 80, 0,125, 0,125, 0,125, 0,125, 0, 33, 0,176, 0,164, 0,135, + 0,135, 0,135, 0,135, 0,135, 0,135, 0, 45, 0,172, 0,133, 0,133, 0,133, 0,133, 0,197, 0,197, 0,197, 0,197, 0,135, + 0,160, 0,115, 0,115, 0,115, 0,115, 0,115, 0,152, 0,115, 0,160, 0,160, 0,160, 0,160, 0, 82, 0,158, 0, 82, 0, 33, + 0,135, 0, 33, 0,135, 0, 33, 0,135, 0,129, 0,172, 0,129, 0,172, 0,129, 0,172, 0,129, 0,172, 0,135, 0, 79, 0, 0, + 0,137, 0,217, 0,133, 0,217, 0,133, 0,217, 0,133, 0,217, 0,133, 0,217, 0,133, 0,117, 0,102, 0,117, 0,102, 0,117, + 0,102, 0,117, 0,102, 0,135, 0,160, 0, 0, 0, 4, 0,225, 0,197, 0,225, 0,197, 0,225, 0,197, 0,225, 0,197, 0,225, + 0,197, 0,156, 0,188, 0,137, 0,135, 0,211, 0,215, 0,215, 0,233, 0,188, 0,233, 0,188, 0,233, 0,188, 0,233, 0,188, + 0, 72, 0,188, 0,135, 0,160, 0,135, 0,160, 0,135, 0,160,255,240, 0,135, 0,160, 0, 84, 0,115, 0, 84, 0,115, 0, 84, + 0,115, 0, 20, 0, 57, 0,186, 1, 8, 0,186, 0,187, 0,186, 1, 8, 0,141, 0,203, 0,141, 0,203, 0,141, 0,203, 0,141, + 0,203, 0,102, 0,139, 0,102, 0,139, 0,102, 0,139, 0,125, 0,160, 0,125, 0,160, 0,125, 0,160, 0,125, 0,160, 0,125, + 0,160, 0,125, 0,160, 0, 2,255,252, 0, 33, 0, 82, 0, 33, 0,102, 0,182, 0,102, 0,182, 0,102, 0,182, 1,100, 0,215, + 0, 33, 0,135, 0, 0, 0, 45, 0, 80, 0,115, 0,141, 0,203, 1, 27, 1, 27, 1, 70, 1, 57, 1,252, 1,131, 1,158, 0,254, + 0,246, 1,223, 1, 43, 0, 33, 1,231,255,142,255,101,255,163,255,124,255, 19,255,122, 0,241, 0, 33, 0,135, 0,246, 0, 68, + 0,217, 0,102, 0,135, 0, 84, 0,225, 0,211, 0, 33, 0,113, 0,135, 0,111, 0, 84, 0,135, 0,176, 0,131, 0,102, 0, 33, + 0, 27, 0, 53, 0, 57, 0, 74, 0,225, 0, 33, 0,121, 0,201, 0,160, 1,172, 0,160, 0,121, 0,158, 0, 82, 0,135, 0,201, + 0,162, 0,160, 0,147, 1,172, 0,215, 0, 61, 0,160, 0, 61, 0,172, 0,115, 0, 14, 0,158, 0,172, 0,129, 0,106, 0,160, + 0, 74, 0, 43, 0, 80, 0, 90, 1, 3, 0,160, 0,115, 0,160, 0, 90, 0,217, 0, 23, 0,246, 0,129, 0,141, 0,225, 0,225, + 0,137, 0, 0, 0, 66, 0, 23, 0,211, 0, 27, 0,135, 0, 33, 0,135, 0,135, 0,246, 0, 6, 0,217, 0, 0, 0,139, 0,137, + 0,137, 0,211, 0, 4, 0,113, 0,135, 0, 84, 0,135, 0,176, 0,129, 0,102, 0, 27, 0, 27, 0, 53, 0,135, 0,135, 0,121, + 0, 61, 0, 27, 0, 96, 0,176, 0, 68, 0, 98, 0, 57, 0,135, 0,143, 0,176, 1, 35, 0, 33, 0,133, 0, 0, 0,201, 0,160, + 0,160, 0,215, 0, 31, 0,115, 0,160, 0,115, 0,160, 0,158, 0,172, 0,121, 0, 82, 0, 74, 0, 96, 0,152, 0,152, 0,125, + 0,109, 0, 43, 0,113, 0,217, 0,184, 0,123, 0,115, 0,133, 0, 4, 1, 35, 0,172, 0,203, 0,197, 0,197, 0,135, 0, 0, + 0,106, 0, 4, 0,215, 0, 82, 0,160, 0,246, 1, 35, 0, 2,255,252, 0, 2,255,252, 0, 2,255,252, 0, 33, 0, 82, 0,184, +255,250,255,250,255,236, 1,190, 1,190, 1,201, 1,190, 0,233, 0,233, 0,244, 0,240, 0,229, 1,123, 0, 78, 0, 4, 1,240, + 1, 29, 1,145, 1,145, 0,255, 0,170, 1, 61, 0,129, 0,119, 0, 82, 0, 96, 0, 8, 0,227, 0, 25, 0, 0, 0, 74, 0, 82, + 0, 18, 0, 11, 0, 24, 0, 28, 0,121, 0, 74, 0,156, 0, 74, 0,152, 0, 23, 0, 70, 0,236, 0,152, 0,152, 0,152, 0,152, + 0,125, 0, 49, 0, 49, 0,231, 0,135, 1,238, 1,227, 1,227, 1, 57, 1, 37, 1, 80, 1, 57, 1,111, 1, 49, 1, 57, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 4, 0,135, 1,190, + 0, 10, 0, 31, 0, 18, 0,113, 0, 92, 0, 33, 0,135,254,200, 1,131, 1, 45, 0, 66, 0, 66, 0, 84, 0,115, 0,125, 0,160, + 1,162, 1,162, 0,254, 1,172, 1,252, 0,217, 0,137, 0,133, 0,160, 0, 82,255,252, 0, 20, 0, 20, 0, 98, 0,160, 0, 0, + 0, 61, 0, 98, 0,123, 0, 0, 0, 10, 0, 92, 0,123, 0,117, 0,143, 0, 57, 0, 80, 0, 84, 0,115, 0, 63, 0, 82, 0, 63, + 0, 82, 0, 70, 0, 80, 0, 84, 0,115, 0, 82, 0, 88, 0, 82,255,252, 0,129, 0,172, 0, 94, 0,242, 0,242, 1,225, 1,225, + 0, 41, 0, 41, 0,137, 0,178, 0, 47, 0, 61, 0,176, 0,158, 0,147, 0,135, 0,160, 0,215, 0, 0, 0, 0, 0,139, 0,201, + 0,211, 0,215, 0,211, 0,215, 0, 59, 0, 59, 0, 23, 0, 43, 0,135, 0,160, 0,135, 0,160, 0,106, 0,127, 0, 84, 0,115, + 0,129, 0,172, 0,102, 0,121, 0, 33, 0, 82, 0, 33, 0, 82, 0, 53, 0, 96, 0, 23, 0, 20, 0,135, 0,152, 0,135, 0,152, + 0,135, 0,168,255,248,255,213,255,248,255,213, 0,225, 0, 0, 0, 0, 0,135, 0,215, 0, 4, 0, 31, 0,135, 0,160, 0,135, + 0,160, 0,135, 0,152, 0,113, 0,115, 0,225, 0, 33, 0,135, 0, 33, 0,135, 0, 0, 0, 45, 0,217, 0,133, 0, 84, 0,133, + 0, 84, 0,133, 0, 0, 0, 0, 0,139, 0,201, 0,158, 0,170, 0,137, 0,160, 0,137, 0,160, 0, 84, 0,115, 0, 84, 0,115, + 0, 84, 0,115, 0, 68, 0,184, 0, 27, 0, 82, 0, 27, 0, 82, 0, 27, 0, 82, 0,135, 0,152, 1, 43, 1, 35, 0, 96, 0,113, + 0,147, 0,135, 0, 53, 0, 96, 0, 53, 0, 96, 0,137, 0,137, 0, 49, 0, 49, 0, 35, 0, 43, 0, 39, 0, 80, 0, 0, 0, 0, + 0,121, 0,123, 0,117, 0,113, 0, 20, 0, 41, 0,166, 0,201, 0, 4, 0, 31, 0, 33, 0,135, 0, 33, 0,135, 0, 33, 0,135, + 0, 33, 0, 85, 0, 33, 0,135, 0, 33, 0,135, 0, 33, 0,135, 0, 33, 0,135, 0, 33, 0,135, 0, 33, 0,135, 0, 33, 0,135, + 0, 33, 0,135, 0,217, 0,133, 0,217, 0,133, 0,217, 0,133, 0,217, 0,133, 0, 89, 0, 76, 0,217, 0,133, 0,217, 0,133, + 0,217, 0,133, 0,225, 0,197, 0,225, 0,197, 0, 84, 0,115, 0, 84, 0,115, 0, 84, 0,115, 0, 74, 0, 74, 0, 84, 0,115, + 0, 84, 0,115, 0, 84, 0,115, 0, 84, 0,115, 0, 84, 0,115, 0, 84, 0,115, 0, 84, 0,115, 0, 84, 0,115, 0,125, 0,160, + 0,125, 0,160, 0,125, 0,160, 0,125, 0,160, 0,125, 0,160, 0,125, 0,160, 0,125, 0,160, 0, 33, 0, 82, 0, 33, 0, 82, + 0, 33, 0, 82, 0,137, 0,205, 0,188, 0,188, 0,221, 1, 35, 1, 57, 1, 57, 1, 57, 1, 35, 1,199, 1,178, 1,178, 0, 0, + 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 28, 0, 1, 0, 0, 0, 0, 5, 42, 0, 3, 0, 1, 0, 0, 0, 28, 0, 4, 5, 14, + 0, 0, 0,134, 0,128, 0, 6, 0, 6, 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,134, 5, 19, 30, 1, + 30, 63, 30,133, 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,136, 30, 0, 30, 62, 30,128, 30,160, 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, 0, 0,228, 88,228, 24,227,122, 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, 86, 1, 98, 0, 0, 0, 0, 0, 0, 2,114, 0, 0, 0, 0, 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, 8, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,230, 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, + 1,168, 1,169, 1,170, 1,171, 1,172, 1,173, 1,174, 1,175, 1,176, 1,177, 1,178, 1,179, 1,180, 1,181, 1,182, 1,183, + 1,184, 1,185, 1,186, 1,187, 1,188, 1,189, 1,190, 1,191, 1,192, 1,193, 1,194, 1,195, 1,196, 1,197, 1,198, 1,199, + 1,200, 1,201, 1,202, 1,203, 1,204, 1,205, 1,206, 1,207, 1,208, 1,209, 1,210, 1,211, 1,212, 1,213, 1,214, 1,215, + 1,216, 1,217, 1,218, 1,219, 1,220, 1,221, 1,222, 1,223, 1,224, 1,225, 1,226, 1,227, 1,228, 1,229, 1,230, 1,231, + 1,232, 1,233, 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,108, 2,109, 2,110, 2,111, 2,112, 2,113, 2,114, 2,115, 2,116, 2,117, 2,118, 2,119, 2,120, 2,121, + 2,122, 2,123, 2,124, 2,125, 2,126, 2,127, 2,128, 2,129, 2,130, 2,131, 2,132, 2,133, 2,134, 2,135, 2,136, 2,137, + 2,138, 2,139, 2,140, 2,141, 2,142, 2,143, 2,144, 2,145, 2,146, 2,147, 2,148, 2,149, 2,150, 2,151, 2,152, 2,153, + 2,154, 1,248, 1,249, 2,155, 2,156, 2,157, 2,158, 2,159, 2,160, 2,161, 2,162, 2,163, 2,164, 2,165, 2,166, 2,167, + 2,168, 2,169, 2,170, 2,171, 2,172, 2,173, 2,174, 2,175, 2,176, 2,177, 2,178, 2,179, 2,180, 2,181, 2,182, 2,183, + 2,184, 2,185, 2,186, 2,187, 2,188, 2,189, 2,190, 2,191, 2,192, 2,193, 2,194, 2,195, 2,196, 2,197, 2,198, 2,199, + 2,200, 2,201, 2,202, 2,203, 2,204, 2,205, 2,206, 2,207, 2,208, 2,209, 2,210, 2,211, 2,212, 2,213, 2,214, 2,215, + 2,216, 2,217, 2,218, 2,219, 2,220, 2,221, 2,222, 2,223, 2,224, 2,225, 2,226, 2,227, 2,228, 2,229, 2,230, 2,231, + 2,232, 2,233, 2,234, 2,235, 2,236, 2,237, 2,238, 2,239, 2,240, 2,241, 2,242, 2,243, 2,244, 2,245, 2,246, 2,247, + 2,248, 2,249, 2,250, 2,251, 2,252, 2,253, 2,254, 2,255, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3, 7, + 3, 8, 3, 9, 3, 10, 3, 11, 3, 12, 3, 13, 3, 14, 3, 15, 3, 16, 3, 17, 3, 18, 3, 19, 3, 20, 3, 21, 3, 22, 3, 23, + 3, 24, 3, 25, 3, 26, 3, 27, 3, 28, 3, 29, 3, 30, 3, 31, 3, 32, 3, 33, 3, 34, 3, 35, 3, 36, 3, 37, 3, 38, 3, 39, + 3, 40, 3, 41, 3, 42, 3, 43, 3, 44, 3, 45, 3, 46, 3, 47, 3, 48, 3, 49, 3, 50, 3, 51, 3, 52, 3, 53, 3, 54, 3, 55, + 3, 56, 3, 57, 3, 58, 3, 59, 3, 60, 3, 61, 3, 62, 3, 63, 3, 64, 3, 65, 3, 66, 3, 67, 3, 68, 3, 69, 3, 70, 3, 71, + 3, 72, 3, 73, 3, 74, 3, 75, 3, 76, 3, 77, 3, 78, 3, 79, 3, 80, 3, 81, 3, 82, 3, 83, 3, 84, 3, 85, 3, 86, 3, 87, + 3, 88, 3, 89, 3, 90, 3, 91, 3, 92, 3, 93, 3, 94, 3, 95, 3, 96, 3, 97, 3, 98, 3, 99, 3,100, 3,101, 3,102, 3,103, + 3,104, 3,105, 3,106, 3,107, 3,108, 3,109, 3,110, 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, 12, 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, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 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, 0,102, 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, 0, 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, 21,248, 3,255, 31,241,111, 26, 31, 47,239,111,239, 2,230,228, 51, 31,229,228, 25, 31,184, 1, 0, 64, 16, 51,255, 85,223, + 51,221, 85,222, 51, 3, 85,176,255,208,255, 2,184,255,192, 64,104,255, 9, 17, 70, 0,221, 32,221,112,221, 3,221, 1, 3, 85, +220, 3,255, 31,214,213, 51, 31,211,210, 25, 31,135,210, 1,254,194, 25, 31, 6,186, 22,186,230,186,246,186, 4, 15,178, 31,178, + 47,178, 3, 64,178, 15, 19, 70,167,177, 1,175, 83, 25, 31,174,173, 25, 31,172, 74, 25, 31,171,170, 25, 31,169, 3,255, 31,158, +157, 25, 31, 31,157, 1,112,156,128,156,144,156,208,156,224,156,240,156, 6, 15,153, 1,151,152, 1,184,255,248, 64, 56,152, 9, + 15, 70, 32,151,128,151,144,151,240,151, 4,169,150,185,150, 2, 56,150, 1,240,149, 1,191,149, 1, 32,149, 48,149, 64,149,128, +149,144,149,160,149, 6,148,146, 25, 31,147, 83, 25, 31, 15,146, 1,133, 71, 25, 31,197,189, 1, 7, 0, 1, 0,166, 1, 7, 0, +182, 1, 7,178, 2, 3,128,186, 1, 7, 0,144, 1, 7, 64,168, 2,118,117, 25, 31,116, 80, 25, 31,115, 80, 25, 31,111, 72, 25, + 31,110, 71, 25, 31, 26, 1, 24, 85, 25, 19,255, 31, 7, 4,255, 31, 6, 3,255, 31, 97, 96, 25, 31,101, 96, 1,100, 95, 1,255, +251, 1,239,251, 1,121,251, 1, 63,251, 79,251, 2, 24,250, 18, 24, 70, 79,250, 95,250,111,250, 3,212, 91,228, 91, 2, 91, 90, + 16, 31, 57, 90, 1, 6, 90, 1, 6, 19, 51, 18, 85, 5, 1, 3, 85, 4, 51, 3, 85, 15, 3,127, 3,239, 3, 3,224,253, 1,223, +253, 1, 81, 80, 25, 31, 15,252,191,252,207,252,223,252, 4, 3, 64,252, 12, 16, 70, 73, 70, 25, 31, 96, 72, 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,184, 1, 6, 64, 30, 27, 18, 31, +159, 15,223, 15, 2,207, 15,239, 15, 2,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, 9, 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,115,116, 43, 43, 43, 43, 43, 43, 43, 1, 95,115,115, 43, 43, 95,115, + 0, 43,115,115,115, 43, 43, 43, 1, 95,115,115, 43,115,115, 43,115,115,115,115, 0,115,115, 43, 43, 43, 43, 43, 1, 43, 43, 0, + 43, 43, 43,115, 95,115,115, 1, 43, 0,115, 43, 43, 1,115,115,115,115,115,115, 43,115,115, 0,115,115, 43, 43, 1, 43, 43, 0, + 43, 43, 1,115, 0, 43,115,115, 43, 1,115, 43, 0, 43, 43, 43,115, 43,115, 43, 43, 43, 43, 43,115, 1, 43, 0, 43, 24, 0, 0, + 6, 20, 0, 11, 0, 81, 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, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 12, 0, 0, 0, 0, 11, 32, 0, 0, 0, 0, 0, 0, 0,236, 0, 0, 0, 32, 0, 0, 0,126, 0, 0, 0, 3, 0, 0, 0,160, - 0, 0, 1,185, 0, 0, 0, 98, 0, 0, 1,187, 0, 0, 1,190, 0, 0, 1,124, 0, 0, 1,192, 0, 0, 1,195, 0, 0, 1,128, - 0, 0, 1,205, 0, 0, 1,227, 0, 0, 1,132, 0, 0, 1,230, 0, 0, 1,240, 0, 0, 1,155, 0, 0, 1,244, 0, 0, 1,246, - 0, 0, 1,166, 0, 0, 1,248, 0, 0, 1,249, 0, 0, 1,169, 0, 0, 1,252, 0, 0, 2, 27, 0, 0, 1,171, 0, 0, 2, 30, - 0, 0, 2, 33, 0, 0, 1,203, 0, 0, 2, 36, 0, 0, 2, 65, 0, 0, 1,207, 0, 0, 2, 69, 0, 0, 2, 69, 0, 0, 1,237, - 0, 0, 2, 80, 0, 0, 2,185, 0, 0, 1,238, 0, 0, 2,187, 0, 0, 2,193, 0, 0, 2, 88, 0, 0, 2,198, 0, 0, 2,201, - 0, 0, 2, 95, 0, 0, 2,204, 0, 0, 2,205, 0, 0, 2, 99, 0, 0, 2,208, 0, 0, 2,211, 0, 0, 2,101, 0, 0, 2,214, - 0, 0, 2,214, 0, 0, 2,105, 0, 0, 2,216, 0, 0, 2,222, 0, 0, 2,106, 0, 0, 2,224, 0, 0, 2,233, 0, 0, 2,113, - 0, 0, 2,243, 0, 0, 2,243, 0, 0, 2,123, 0, 0, 3, 0, 0, 0, 3, 63, 0, 0, 2,124, 0, 0, 3, 67, 0, 0, 3, 67, - 0, 0, 2,188, 0, 0, 3, 88, 0, 0, 3, 88, 0, 0, 2,189, 0, 0, 3, 97, 0, 0, 3, 97, 0, 0, 2,190, 0, 0, 3,116, - 0, 0, 3,117, 0, 0, 2,191, 0, 0, 3,122, 0, 0, 3,122, 0, 0, 2,193, 0, 0, 3,126, 0, 0, 3,126, 0, 0, 2,194, - 0, 0, 3,132, 0, 0, 3,138, 0, 0, 2,195, 0, 0, 3,140, 0, 0, 3,140, 0, 0, 2,202, 0, 0, 3,142, 0, 0, 3,161, - 0, 0, 2,203, 0, 0, 3,163, 0, 0, 3,206, 0, 0, 2,223, 0, 0, 3,208, 0, 0, 3,225, 0, 0, 3, 11, 0, 0, 3,240, - 0, 0, 4, 95, 0, 0, 3, 29, 0, 0, 4,144, 0, 0, 4,155, 0, 0, 3,141, 0, 0, 4,162, 0, 0, 4,163, 0, 0, 3,153, - 0, 0, 4,170, 0, 0, 4,179, 0, 0, 3,155, 0, 0, 4,186, 0, 0, 4,187, 0, 0, 3,165, 0, 0, 4,192, 0, 0, 4,196, - 0, 0, 3,167, 0, 0, 4,199, 0, 0, 4,200, 0, 0, 3,172, 0, 0, 4,203, 0, 0, 4,204, 0, 0, 3,174, 0, 0, 4,207, - 0, 0, 4,249, 0, 0, 3,176, 0, 0, 6, 12, 0, 0, 6, 12, 0, 0, 3,219, 0, 0, 6, 21, 0, 0, 6, 21, 0, 0, 3,220, - 0, 0, 6, 27, 0, 0, 6, 27, 0, 0, 3,221, 0, 0, 6, 31, 0, 0, 6, 31, 0, 0, 3,222, 0, 0, 6, 33, 0, 0, 6, 58, - 0, 0, 3,223, 0, 0, 6, 64, 0, 0, 6, 85, 0, 0, 3,249, 0, 0, 6, 90, 0, 0, 6, 90, 0, 0, 4, 15, 0, 0, 6, 96, - 0, 0, 6,111, 0, 0, 4, 16, 0, 0, 6,116, 0, 0, 6,116, 0, 0, 4, 32, 0, 0, 6,121, 0, 0, 6,135, 0, 0, 4, 33, - 0, 0, 6,145, 0, 0, 6,146, 0, 0, 4, 48, 0, 0, 6,152, 0, 0, 6,152, 0, 0, 4, 50, 0, 0, 6,161, 0, 0, 6,161, - 0, 0, 4, 51, 0, 0, 6,164, 0, 0, 6,164, 0, 0, 4, 52, 0, 0, 6,169, 0, 0, 6,169, 0, 0, 4, 53, 0, 0, 6,175, - 0, 0, 6,175, 0, 0, 4, 54, 0, 0, 6,181, 0, 0, 6,181, 0, 0, 4, 55, 0, 0, 6,186, 0, 0, 6,186, 0, 0, 4, 56, - 0, 0, 6,190, 0, 0, 6,190, 0, 0, 4, 57, 0, 0, 6,198, 0, 0, 6,198, 0, 0, 4, 58, 0, 0, 6,204, 0, 0, 6,204, - 0, 0, 4, 59, 0, 0, 6,206, 0, 0, 6,206, 0, 0, 4, 60, 0, 0, 6,213, 0, 0, 6,213, 0, 0, 4, 61, 0, 0, 6,240, - 0, 0, 6,249, 0, 0, 4, 62, 0, 0, 14,129, 0, 0, 14,130, 0, 0, 4, 72, 0, 0, 14,132, 0, 0, 14,132, 0, 0, 4, 74, - 0, 0, 14,135, 0, 0, 14,136, 0, 0, 4, 75, 0, 0, 14,138, 0, 0, 14,138, 0, 0, 4, 77, 0, 0, 14,141, 0, 0, 14,141, - 0, 0, 4, 78, 0, 0, 14,148, 0, 0, 14,151, 0, 0, 4, 79, 0, 0, 14,153, 0, 0, 14,159, 0, 0, 4, 83, 0, 0, 14,161, - 0, 0, 14,163, 0, 0, 4, 90, 0, 0, 14,165, 0, 0, 14,165, 0, 0, 4, 93, 0, 0, 14,167, 0, 0, 14,167, 0, 0, 4, 94, - 0, 0, 14,170, 0, 0, 14,171, 0, 0, 4, 95, 0, 0, 14,173, 0, 0, 14,185, 0, 0, 4, 97, 0, 0, 14,187, 0, 0, 14,188, - 0, 0, 4,110, 0, 0, 14,200, 0, 0, 14,205, 0, 0, 4,112, 0, 0, 16,208, 0, 0, 16,252, 0, 0, 4,118, 0, 0, 29, 2, - 0, 0, 29, 2, 0, 0, 4,163, 0, 0, 29, 8, 0, 0, 29, 9, 0, 0, 4,164, 0, 0, 29, 20, 0, 0, 29, 20, 0, 0, 4,166, - 0, 0, 29, 22, 0, 0, 29, 23, 0, 0, 4,167, 0, 0, 29, 29, 0, 0, 29, 31, 0, 0, 4,169, 0, 0, 29, 44, 0, 0, 29, 46, - 0, 0, 4,172, 0, 0, 29, 48, 0, 0, 29, 60, 0, 0, 4,175, 0, 0, 29, 62, 0, 0, 29, 91, 0, 0, 4,188, 0, 0, 29, 98, - 0, 0, 29,101, 0, 0, 4,218, 0, 0, 29,119, 0, 0, 29,120, 0, 0, 4,222, 0, 0, 29,123, 0, 0, 29,123, 0, 0, 4,224, - 0, 0, 29,133, 0, 0, 29,133, 0, 0, 4,225, 0, 0, 29,155, 0, 0, 29,183, 0, 0, 4,226, 0, 0, 29,185, 0, 0, 29,191, - 0, 0, 4,255, 0, 0, 30, 0, 0, 0, 30, 19, 0, 0, 5, 6, 0, 0, 30, 24, 0, 0, 30, 37, 0, 0, 5, 26, 0, 0, 30, 40, - 0, 0, 30, 45, 0, 0, 5, 40, 0, 0, 30, 48, 0, 0, 30, 75, 0, 0, 5, 46, 0, 0, 30, 86, 0, 0, 30, 99, 0, 0, 5, 74, - 0, 0, 30,104, 0, 0, 30,119, 0, 0, 5, 88, 0, 0, 30,126, 0, 0, 30,139, 0, 0, 5,104, 0, 0, 30,142, 0, 0, 30,143, - 0, 0, 5,118, 0, 0, 30,146, 0, 0, 30,150, 0, 0, 5,120, 0, 0, 30,155, 0, 0, 30,155, 0, 0, 5,125, 0, 0, 30,160, - 0, 0, 30,161, 0, 0, 5,126, 0, 0, 30,176, 0, 0, 30,177, 0, 0, 5,128, 0, 0, 30,184, 0, 0, 30,185, 0, 0, 5,130, - 0, 0, 30,188, 0, 0, 30,189, 0, 0, 5,132, 0, 0, 30,202, 0, 0, 30,205, 0, 0, 5,134, 0, 0, 30,228, 0, 0, 30,229, - 0, 0, 5,138, 0, 0, 30,242, 0, 0, 30,245, 0, 0, 5,140, 0, 0, 30,248, 0, 0, 30,249, 0, 0, 5,144, 0, 0, 31, 0, - 0, 0, 31, 21, 0, 0, 5,146, 0, 0, 31, 24, 0, 0, 31, 29, 0, 0, 5,168, 0, 0, 31, 32, 0, 0, 31, 69, 0, 0, 5,174, - 0, 0, 31, 72, 0, 0, 31, 77, 0, 0, 5,212, 0, 0, 31, 80, 0, 0, 31, 87, 0, 0, 5,218, 0, 0, 31, 89, 0, 0, 31, 89, - 0, 0, 5,226, 0, 0, 31, 91, 0, 0, 31, 91, 0, 0, 5,227, 0, 0, 31, 93, 0, 0, 31, 93, 0, 0, 5,228, 0, 0, 31, 95, - 0, 0, 31,125, 0, 0, 5,229, 0, 0, 31,128, 0, 0, 31,180, 0, 0, 6, 4, 0, 0, 31,182, 0, 0, 31,196, 0, 0, 6, 57, - 0, 0, 31,198, 0, 0, 31,211, 0, 0, 6, 72, 0, 0, 31,214, 0, 0, 31,219, 0, 0, 6, 86, 0, 0, 31,221, 0, 0, 31,239, - 0, 0, 6, 92, 0, 0, 31,242, 0, 0, 31,244, 0, 0, 6,111, 0, 0, 31,246, 0, 0, 31,254, 0, 0, 6,114, 0, 0, 32, 0, - 0, 0, 32, 10, 0, 0, 6,123, 0, 0, 32, 16, 0, 0, 32, 21, 0, 0, 6,134, 0, 0, 32, 23, 0, 0, 32, 35, 0, 0, 6,140, - 0, 0, 32, 38, 0, 0, 32, 38, 0, 0, 6,153, 0, 0, 32, 47, 0, 0, 32, 49, 0, 0, 6,154, 0, 0, 32, 57, 0, 0, 32, 58, - 0, 0, 6,157, 0, 0, 32, 60, 0, 0, 32, 62, 0, 0, 6,159, 0, 0, 32, 69, 0, 0, 32, 73, 0, 0, 6,162, 0, 0, 32, 95, - 0, 0, 32, 95, 0, 0, 6,167, 0, 0, 32,112, 0, 0, 32,113, 0, 0, 6,168, 0, 0, 32,116, 0, 0, 32,142, 0, 0, 6,170, - 0, 0, 32,144, 0, 0, 32,148, 0, 0, 6,197, 0, 0, 32,166, 0, 0, 32,166, 0, 0, 6,202, 0, 0, 32,172, 0, 0, 32,172, - 0, 0, 6,203, 0, 0, 32,177, 0, 0, 32,177, 0, 0, 6,204, 0, 0, 32,180, 0, 0, 32,181, 0, 0, 6,205, 0, 0, 33, 2, - 0, 0, 33, 2, 0, 0, 6,207, 0, 0, 33, 14, 0, 0, 33, 14, 0, 0, 6,208, 0, 0, 33, 22, 0, 0, 33, 22, 0, 0, 6,209, - 0, 0, 33, 34, 0, 0, 33, 34, 0, 0, 6,210, 0, 0, 33, 38, 0, 0, 33, 38, 0, 0, 6,211, 0, 0, 33, 42, 0, 0, 33, 43, - 0, 0, 6,212, 0, 0, 33, 83, 0, 0, 33, 95, 0, 0, 6,214, 0, 0, 33,144, 0, 0, 33,255, 0, 0, 6,227, 0, 0, 34, 2, - 0, 0, 34, 2, 0, 0, 7, 83, 0, 0, 34, 5, 0, 0, 34, 13, 0, 0, 7, 84, 0, 0, 34, 15, 0, 0, 34, 15, 0, 0, 7, 93, - 0, 0, 34, 17, 0, 0, 34, 19, 0, 0, 7, 94, 0, 0, 34, 21, 0, 0, 34, 21, 0, 0, 7, 97, 0, 0, 34, 23, 0, 0, 34, 26, - 0, 0, 7, 98, 0, 0, 34, 29, 0, 0, 34, 32, 0, 0, 7,102, 0, 0, 34, 39, 0, 0, 34, 45, 0, 0, 7,106, 0, 0, 34, 56, - 0, 0, 34, 61, 0, 0, 7,113, 0, 0, 34, 65, 0, 0, 34,105, 0, 0, 7,119, 0, 0, 34,109, 0, 0, 34,139, 0, 0, 7,160, - 0, 0, 34,143, 0, 0, 34,146, 0, 0, 7,191, 0, 0, 34,149, 0, 0, 34,161, 0, 0, 7,195, 0, 0, 34,197, 0, 0, 34,198, - 0, 0, 7,208, 0, 0, 34,205, 0, 0, 34,205, 0, 0, 7,210, 0, 0, 34,218, 0, 0, 34,233, 0, 0, 7,211, 0, 0, 34,239, - 0, 0, 34,239, 0, 0, 7,227, 0, 0, 35, 0, 0, 0, 35, 6, 0, 0, 7,228, 0, 0, 35, 8, 0, 0, 35, 21, 0, 0, 7,235, - 0, 0, 35, 24, 0, 0, 35, 25, 0, 0, 7,249, 0, 0, 35, 28, 0, 0, 35, 33, 0, 0, 7,251, 0, 0, 35, 37, 0, 0, 35, 40, - 0, 0, 8, 1, 0, 0, 35, 43, 0, 0, 35, 43, 0, 0, 8, 5, 0, 0, 35, 53, 0, 0, 35, 53, 0, 0, 8, 6, 0, 0, 35, 55, - 0, 0, 35, 62, 0, 0, 8, 7, 0, 0, 35, 65, 0, 0, 35, 68, 0, 0, 8, 15, 0, 0, 35, 71, 0, 0, 35, 73, 0, 0, 8, 19, - 0, 0, 35, 75, 0, 0, 35, 77, 0, 0, 8, 22, 0, 0, 35, 80, 0, 0, 35, 80, 0, 0, 8, 25, 0, 0, 35, 82, 0, 0, 35, 84, - 0, 0, 8, 26, 0, 0, 35, 87, 0, 0, 35, 92, 0, 0, 8, 29, 0, 0, 35, 94, 0, 0, 35, 96, 0, 0, 8, 35, 0, 0, 35, 99, - 0, 0, 35,101, 0, 0, 8, 38, 0, 0, 35,104, 0, 0, 35,105, 0, 0, 8, 41, 0, 0, 35,107, 0, 0, 35,112, 0, 0, 8, 43, - 0, 0, 35,115, 0, 0, 35,122, 0, 0, 8, 49, 0, 0, 35,125, 0, 0, 35,125, 0, 0, 8, 57, 0, 0, 35,128, 0, 0, 35,131, - 0, 0, 8, 58, 0, 0, 35,136, 0, 0, 35,139, 0, 0, 8, 62, 0, 0, 35,149, 0, 0, 35,149, 0, 0, 8, 66, 0, 0, 35,155, - 0, 0, 35,174, 0, 0, 8, 67, 0, 0, 35,206, 0, 0, 35,207, 0, 0, 8, 87, 0, 0, 36, 35, 0, 0, 36, 35, 0, 0, 8, 89, - 0, 0, 37, 0, 0, 0, 38, 47, 0, 0, 8, 90, 0, 0, 38, 56, 0, 0, 38,139, 0, 0, 9,138, 0, 0, 38,144, 0, 0, 38,156, - 0, 0, 9,222, 0, 0, 38,160, 0, 0, 38,161, 0, 0, 9,235, 0, 0, 38,176, 0, 0, 38,177, 0, 0, 9,237, 0, 0, 39, 1, - 0, 0, 39, 4, 0, 0, 9,239, 0, 0, 39, 6, 0, 0, 39, 9, 0, 0, 9,243, 0, 0, 39, 12, 0, 0, 39, 39, 0, 0, 9,247, - 0, 0, 39, 41, 0, 0, 39, 75, 0, 0, 10, 19, 0, 0, 39, 77, 0, 0, 39, 77, 0, 0, 10, 54, 0, 0, 39, 79, 0, 0, 39, 82, - 0, 0, 10, 55, 0, 0, 39, 86, 0, 0, 39, 86, 0, 0, 10, 59, 0, 0, 39, 88, 0, 0, 39, 94, 0, 0, 10, 60, 0, 0, 39, 97, - 0, 0, 39,117, 0, 0, 10, 67, 0, 0, 39,148, 0, 0, 39,148, 0, 0, 10, 88, 0, 0, 39,152, 0, 0, 39,175, 0, 0, 10, 89, - 0, 0, 39,177, 0, 0, 39,190, 0, 0, 10,113, 0, 0, 39,224, 0, 0, 39,224, 0, 0, 10,127, 0, 0, 39,232, 0, 0, 39,233, - 0, 0, 10,128, 0, 0, 41,235, 0, 0, 41,235, 0, 0, 10,130, 0, 0, 41,250, 0, 0, 41,251, 0, 0, 10,131, 0, 0, 42, 47, - 0, 0, 42, 47, 0, 0, 10,133, 0, 0, 43, 18, 0, 0, 43, 26, 0, 0, 10,134, 0, 0, 44,117, 0, 0, 44,119, 0, 0, 10,143, - 0, 0, 46, 24, 0, 0, 46, 24, 0, 0, 10,146, 0, 0, 46, 46, 0, 0, 46, 46, 0, 0, 10,147, 0, 0,246,197, 0, 0,246,197, - 0, 0, 10,148, 0, 0,251, 1, 0, 0,251, 2, 0, 0, 10,149, 0, 0,251, 82, 0, 0,251,129, 0, 0, 10,151, 0, 0,251,138, - 0, 0,251,149, 0, 0, 10,199, 0, 0,251,158, 0, 0,251,159, 0, 0, 10,211, 0, 0,251,170, 0, 0,251,173, 0, 0, 10,213, - 0, 0,251,232, 0, 0,251,233, 0, 0, 10,217, 0, 0,251,252, 0, 0,251,255, 0, 0, 10,219, 0, 0,254,112, 0, 0,254,116, - 0, 0, 10,223, 0, 0,254,118, 0, 0,254,252, 0, 0, 10,228, 0, 0,254,255, 0, 0,254,255, 0, 0, 11,107, 0, 0,255,249, - 0, 0,255,253, 0, 0, 11,108, 0, 1,214,112, 0, 1,214,163, 0, 0, 11,113, 0, 1,215,246, 0, 1,215,255, 0, 0, 11,165, - 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, 0, - 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 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, 6,149, 0,114, 0,100, 0,101, 0,105, 6,151, 0,120, 0,161, 0,112, 0,107, 6,210, - 0,118, 0,106, 7,150, 0,136, 0,154, 7,103, 0,115, 7,154, 7,155, 0,103, 0,119, 7, 83, 7, 94, 7, 93, 2,252, 7,110, - 0,108, 0,124, 2,229, 0,168, 0,186, 0,129, 0, 99, 0,110, 7,101, 1, 84, 7,126, 7, 85, 0,109, 0,125, 6,153, 0, 98, - 0,130, 0,133, 0,151, 1, 20, 1, 21, 6,137, 6,138, 6,145, 6,146, 6,141, 6,142, 0,185, 9, 36, 0,193, 1, 58, 0, 0, - 6,203, 6,157, 6,158, 10,149, 10,150, 6,150, 0,121, 6,143, 6,147, 6,155, 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, 2, 95, 2,110, 0,113, 2,106, 2,107, - 2,108, 0,122, 2,111, 2,109, 2, 96, 0, 0, 0,184, 0,203, 0,184, 0,203, 0,170, 1,145, 0,184, 0,102, 0, 0, 0,184, - 0,135, 2,127, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,184, 0,195, 0,203, 0, 2, 0,203, 0,184, 0,184, 1,203, 1,137, - 1,186, 0,203, 0,166, 0,252, 0,203, 0,131, 0,242, 1, 10, 3,199, 1, 55, 0,131, 0,190, 0, 0, 0, 88, 4, 33, 0,203, - 0,143, 0,156, 0, 2, 0, 2, 0,143, 3,231, 0,117, 3,188, 0,211, 0,201, 0,219, 0,117, 3,231, 1, 57, 3,186, 0,203, - 1,211, 0, 33, 1,223, 0,184, 0,137, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 3,190, 0,137, 0,195, 3,190, 0,123, 3,190, - 3, 88, 1, 31, 1,109, 0,164, 1,174, 0, 0, 0,123, 0,184, 1,111, 0,127, 2,123, 0,184, 2, 82, 0,143, 0,205, 4,209, - 0, 0, 0,205, 0,135, 0,135, 0,147, 0,164, 0,111, 0,205, 0,203, 0,184, 0,131, 1,145, 0,221, 0,180, 0,139, 0,244, - 0,152, 2,233, 0, 90, 0,180, 0,186, 0,197, 4, 33, 0,254, 0, 14, 0, 2, 0, 2, 0, 2, 1,213, 0,246, 0,127, 2,170, - 2, 61, 2,102, 0,139, 0,197, 0,143, 0,154, 0,154, 1,131, 0,213, 0,115, 4, 0, 1, 10, 0,254, 0,225, 5,213, 2, 43, - 0,164, 0,180, 0,156, 0, 0, 0, 98, 0,156, 5,213, 5,152, 0,135, 2,127, 5,213, 5,213, 5,240, 0,164, 0, 0, 0, 29, - 6,184, 6, 20, 7, 35, 1,211, 0,184, 0,203, 0,166, 1,188, 1, 49, 2, 78, 0,211, 1, 10, 0,123, 0, 84, 3, 92, 3,113, - 3,219, 1,133, 4, 35, 4,119, 3,233, 0,143, 2, 0, 3, 96, 0,106, 0,207, 5,213, 6, 20, 0,143, 7, 35, 0,143, 6,102, - 1,121, 4, 96, 4, 96, 4, 96, 4,123, 0, 0, 0,123, 2,119, 4, 96, 1,170, 0,233, 6, 20, 7, 98, 3,248, 0,123, 2, 33, - 0,197, 0,156, 0,127, 2,123, 0, 0, 0,180, 2, 82, 5, 78, 5, 78, 4,209, 0,102, 0,156, 0,156, 0,102, 0,156, 0,143, - 0,102, 0,156, 0,143, 6, 16, 0,205, 3,250, 0,131, 0,145, 2,254, 1, 72, 4, 70, 3, 63, 0,143, 0,123, 4, 76, 0,152, - 0,162, 0, 0, 0, 39, 0,111, 0, 0, 0,111, 3, 53, 0,106, 0,111, 0,123, 5,141, 5,141, 5,141, 5,141, 0,170, 0,170, - 0, 45, 5,141, 3,150, 2,123, 0,246, 0,127, 2,170, 1, 51, 2, 61, 0,156, 2,102, 1,139, 0,143, 2,246, 0,205, 0,111, - 3, 68, 0, 55, 0,102, 0, 29, 5,238, 0,133, 1,180, 6, 20, 0, 0, 7,125, 0,115, 5,213, 0, 0, 20, 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,184, 1, 23, 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, 0, 0, 2, 0, 8, 0, 2,255,255, 0, 3, 0, 2, 0,104,254,150, 4,104, 5,164, 0, 3, - 0, 7, 0, 31,188, 0, 4, 1, 20, 0, 0, 0, 6, 1, 20,182, 1, 8, 5,131, 2, 4, 0, 47,196,212,236, 49, 0, 16,212,236, -212,236, 48, 19, 17, 33, 17, 37, 33, 17, 33,104, 4, 0,252,115, 3, 27,252,229,254,150, 7, 14,248,242,114, 6, 41, 0, 0, 0, - 0, 2, 2, 4, 0, 0, 2,207, 5,213, 0, 5, 0, 9, 0, 31, 64, 15, 3,135, 6,134, 0,136, 8, 4, 3, 7, 1, 3, 6, 0, - 10, 16,212, 60,236, 50, 57, 57, 49, 0, 47,228,252,236, 48, 1, 51, 17, 3, 35, 3, 17, 51, 21, 35, 2, 4,203, 21,161, 21,203, -203, 5,213,253,113,254,155, 1,101,253,184,254, 0, 2, 1, 82, 3,170, 3,127, 5,213, 0, 3, 0, 7, 0, 29, 64, 14, 5, 1, -137, 4, 0,136, 8, 0, 4, 2, 6, 4, 4, 8, 16,212,236,220,236, 49, 0, 16,244, 60,236, 50, 48, 1, 17, 35, 17, 35, 17, 35, - 17, 3,127,174,209,174, 5,213,253,213, 2, 43,253,213, 2, 43, 0, 2, 0, 2, 0, 0, 4,205, 5,190, 0, 27, 0, 31, 0, 74, - 64, 48, 28, 23, 7,140, 3, 0, 25, 5, 1, 30, 21, 9,140, 19, 15, 11, 17, 13, 31, 30, 29, 28, 27, 26, 24, 23, 22, 19, 18, 17, - 16, 15, 14, 13, 12, 10, 9, 8, 5, 4, 3, 2, 1, 0, 26, 6, 20, 32, 16,212,204, 23, 57, 49, 0, 47, 60,212, 60, 60,252, 60, - 60,212, 60, 60,196, 50,236, 50, 50, 48, 1, 3, 51, 19, 51, 3, 51, 21, 33, 3, 51, 21, 33, 3, 35, 19, 35, 3, 35, 19, 33, 53, - 33, 19, 33, 53, 33, 19, 1, 35, 3, 51, 2,172,104,245,105,160,105,244,254,231, 84,250,254,223,104,160,105,246,105,159,104,254, -254, 1, 41, 84,254,246, 1, 47,104, 1, 8,245, 84,246, 5,190,254, 97, 1,159,254, 97,154,254,178,153,254, 98, 1,158,254, 98, - 1,158,153, 1, 78,154, 1,159,253,199,254,178, 0, 3, 0,190,254,211, 4, 90, 6, 20, 0, 6, 0, 13, 0, 47, 0,100, 64, 57, - 8, 40, 36, 0, 7, 41, 24, 4, 37, 20, 47, 16, 23, 19, 1, 37,139, 36,142, 31, 40,143, 30, 20,139, 19,142, 1,143, 14, 33, 30, - 16, 4, 6, 36, 8, 44, 5, 0, 11, 6, 27, 19, 5, 40, 32, 14, 3, 0, 7, 30, 23, 15, 3, 7, 48, 16,212, 23, 60,236, 23, 50, -252, 60,236, 16,252,228,238, 49, 0, 47,198, 50,196,238,246,238, 16,238,198,246,238, 17, 18, 57, 17, 57, 17, 18, 23, 57, 17, 18, - 57, 48, 1, 17, 62, 1, 53, 52, 38, 39, 17, 14, 1, 21, 20, 22, 19, 35, 3, 46, 1, 39, 53, 30, 1, 23, 17, 46, 1, 53, 52, 54, - 55, 53, 51, 23, 30, 1, 23, 21, 46, 1, 39, 17, 30, 1, 21, 20, 6, 7, 2,180,110,124,112,222,104,117,109,212,100, 1,102,201, - 98,100,203, 99,200,202,211,191,100, 1, 79,162, 84, 85,161, 80,206,216,233,188, 2, 68,254, 78, 3,116,100, 93,103,209, 1,157, - 4,112, 94, 86,100,251,192, 1, 45, 5, 46, 41,180, 62, 66, 2, 1,202, 31,182,150,157,187, 14,235,235, 5, 30, 26,173, 43, 47, - 4,254, 81, 31,194,154,154,206, 9, 0, 0, 0, 0, 5, 0, 33, 0, 0, 4,176, 5,152, 0, 11, 0, 26, 0, 30, 0, 42, 0, 57, - 0, 86, 64, 47, 30, 55, 29, 40, 34, 28, 15, 27, 3, 9,146, 15, 34,146, 55,147, 40,146, 46,145, 15,147, 3,146, 24, 28, 27, 43, - 31, 30, 29, 6, 10, 21, 11, 0, 10, 12, 37, 10, 52, 11, 31, 10, 43, 12, 58, 16,196,212,236,252,236, 16,238,254,238, 57, 57, 17, - 18, 57, 57, 49, 0, 47,238,238,246,238,254,238, 16,238, 17, 57, 17, 57, 17, 18, 57, 18, 57, 48, 1, 20, 22, 51, 50, 54, 53, 52, - 38, 35, 34, 6, 7, 52, 54, 51, 50, 22, 23, 30, 1, 21, 20, 6, 35, 34, 38, 1, 39, 1, 23, 37, 20, 22, 51, 50, 54, 53, 52, 38, - 35, 34, 6, 7, 52, 54, 51, 50, 22, 23, 30, 1, 21, 20, 6, 35, 34, 38, 2,184,105, 78, 77,107,108, 76, 78,105,135,184,134, 64, -115, 46, 46, 50,186,135,136,182,254, 72, 35, 4, 18, 41,252, 23,105, 79, 77,108,108, 77, 77,107,135,184,135, 64,117, 45, 45, 49, -186,134,135,184, 1, 63, 78,106,107, 77, 77,108,106, 79,135,185, 48, 46, 47,116, 63,133,186,183, 1, 26, 96, 1,162, 96,229, 79, -105,107, 77, 77,107,106, 78,135,185, 48, 45, 45,117, 65,134,185,184, 0, 0, 0, 0, 2, 0, 57,255,227, 4,197, 5,240, 0, 42, - 0, 55, 0,179, 64, 98, 17, 16, 2, 18, 15, 23, 12, 13, 12, 14, 23, 13, 13, 12, 45, 44, 2, 46, 43, 23, 0, 1, 0, 50, 51, 52, - 53, 54, 5, 49, 55, 23, 1, 1, 0, 66, 55, 12, 9, 6, 1, 5, 7, 15, 49, 13, 24, 0, 43, 3, 34, 7, 49,151, 18, 34, 33, 37, -151, 30,150, 18,153, 7, 13, 0, 40, 1, 7, 6, 3, 33, 12, 8, 4, 55, 43, 33, 24, 40, 27, 15, 33, 4, 19, 8, 40, 18, 33, 27, - 8, 13, 16, 27, 46, 18, 21, 56, 16,220,236,196,252,196, 16,198,238, 16,238, 17, 57, 17, 18, 57, 17, 57, 57, 17, 18, 57, 18, 23, - 57, 17, 57, 49, 0, 47,198,228,246,238,214,206, 16,238, 17, 18, 23, 57, 17, 18, 57, 17, 23, 57, 48, 75, 83, 88, 7, 16, 14,237, - 17, 23, 57, 7, 16, 14,237, 17, 23, 57, 7, 16, 5,237, 7, 16, 5,237, 17, 23, 57, 89, 34, 9, 1, 62, 1, 53, 52, 47, 1, 51, - 21, 20, 6, 7, 23, 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, 7, 14, 1, 21, 20, 22, 51, 50, 54, 55, 62, 1, 55, 2, 35, 1,160, 39, 38, 3, 1,164, 74, 75,170,213, 78, 83,186,106, -216,254,230,138,139, 50, 48,199,173, 65,131, 70, 59,125, 69, 97,112, 58, 54, 92, 91,200,155, 42, 92, 44, 27, 35, 16, 3,139,253, -209, 49,150,104, 32, 70, 7, 39,161,243, 88,229,109, 70, 68, 1, 13,204,137,234,100, 72,138, 71,150,174, 24, 23,183, 39, 37, 91, - 77, 59,129,207, 73,163, 92,151,199, 24, 23, 15, 23, 13, 0, 0, 0, 1, 2, 16, 3,170, 2,190, 5,213, 0, 3, 0, 18,183, 1, - 0,136, 4, 0, 4, 2, 4, 16,212,236, 49, 0, 16,244,196, 48, 1, 17, 35, 17, 2,190,174, 5,213,253,213, 2, 43, 0, 0, 0, - 0, 1, 1,170,254,242, 3,117, 6, 18, 0, 13, 0, 31, 64, 15, 6,156, 0,155, 14, 13, 7, 0, 3, 18, 6, 0, 24, 10, 14, 16, -212,236, 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, 3,117,133,131,131, -133,160,151,148,148,151, 6, 18,228,254, 59,230,229,254, 58,230,238, 1,195,224,223, 1,196,236, 0, 1, 1, 92,254,242, 3, 39, - 6, 18, 0, 13, 0, 31, 64, 15, 7,156, 0,155, 14, 7, 1, 11, 8, 0, 24, 4, 18, 11, 14, 16,212,252,236, 50, 17, 57, 57, 49, - 0, 16,252,236, 48, 1, 51, 22, 18, 21, 20, 2, 7, 35, 54, 18, 53, 52, 2, 1, 92,160,151,148,148,151,160,133,131,131, 6, 18, -236,254, 60,223,225,254, 60,236,232, 1,198,227,228, 1,198, 0, 0, 1, 0,166, 2, 74, 4, 43, 5,240, 0, 17, 0, 78, 64, 44, - 16, 13, 11, 0, 4, 12, 9, 7, 4, 2, 4, 8, 3,157, 5, 17, 12,157, 10, 1, 14,150, 18, 8, 12, 10, 3, 9, 6, 17, 3, 1, - 3, 2, 0, 25, 15, 4, 11, 9, 25, 13, 6, 18, 16,212, 60,236, 50,220, 60,236, 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, 4, 43, -254,154, 1,102, 57,254,176,115,254,176, 57, 1,102,254,154, 57, 1, 80,115, 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, 88, 0,113, 4,121, 4,147, 0, 11, 0, 39, 64, 20, 0,161, 9, 1, -160, 5,161, 7, 3, 12, 2, 26, 4, 0, 28, 8, 26, 10, 6, 12, 16,212, 60,236,252, 60,236, 49, 0, 16,212, 60,236,252, 60,236, - 48, 1, 17, 33, 21, 33, 17, 35, 17, 33, 53, 33, 17, 2,188, 1,189,254, 67,168,254, 68, 1,188, 4,147,254, 68,170,254, 68, 1, -188,170, 1,188, 0, 1, 1,147,254,225, 2,242, 1, 47, 0, 5, 0, 24, 64, 11, 3,163, 0,162, 6, 3, 4, 1, 29, 0, 6, 16, -212,236,212,204, 49, 0, 16,252,236, 48, 1, 51, 21, 3, 35, 19, 1,246,252,197,154, 99, 1, 47,207,254,129, 1,127, 0, 0, 0, - 0, 1, 1,100, 1,223, 3,109, 2,131, 0, 3, 0, 17,182, 0,160, 2, 4, 1, 0, 4, 16,212,196, 49, 0, 16,212,236, 48, 1, - 33, 21, 33, 1,100, 2, 9,253,247, 2,131,164, 0, 1, 1,233, 0, 0, 2,229, 1, 49, 0, 3, 0, 16,182, 0,162, 2, 1, 29, - 0, 4, 16,212,236, 49, 0, 47,236, 48, 1, 51, 17, 35, 1,233,252,252, 1, 49,254,207, 0, 0, 0, 1, 0,102,255, 66, 4, 55, - 5,213, 0, 3, 0, 24, 64, 11, 2, 0,136, 4, 1, 30, 0, 2, 30, 3, 4, 16,212,236,212,236, 49, 0, 16,244,196, 48, 1, 51, - 1, 35, 3,121,190,252,238,191, 5,213,249,109, 0, 3, 0,133,255,227, 4, 76, 5,240, 0, 11, 0, 23, 0, 35, 1, 10, 64, 26, - 3,165, 9, 18,151, 30, 12,151, 24,150, 30,153, 36, 21, 30, 27, 6, 33, 0, 27, 34, 15, 30, 33, 31, 36, 16,252,236,236,212,236, - 16,238, 49, 0, 16,228,244,236, 16,238,212,238, 48, 64,214, 47, 0, 47, 1, 47, 2, 47, 3, 47, 4, 47, 5, 47, 6, 47, 7, 47, - 8, 47, 9, 47, 10, 47, 11, 63, 0, 63, 1, 63, 2, 63, 3, 63, 4, 63, 5, 63, 6, 63, 7, 63, 8, 63, 9, 63, 10, 63, 11, 79, - 0, 79, 1, 79, 2, 79, 10, 79, 11, 95, 0, 95, 1, 95, 2, 95, 10, 95, 11,159, 0,159, 1,159, 2,159, 3,159, 4,159, 5,159, - 6,159, 7,159, 8,159, 9,159, 10,159, 11,175, 0,175, 1,175, 2,175, 3,175, 4,175, 5,175, 6,175, 7,175, 8,175, 9,175, - 10,175, 11,191, 0,191, 1,191, 2,191, 3,191, 4,191, 5,191, 6,191, 7,191, 8,191, 9,191, 10,191, 11, 70, 47, 0, 47, 1, - 47, 2, 47, 3, 47, 4, 47, 5, 47, 6, 47, 7, 47, 8, 47, 9, 47, 10, 47, 11, 95, 0, 95, 1, 95, 2, 95, 3, 95, 4, 95, 5, - 95, 6, 95, 7, 95, 8, 95, 9, 95, 10, 95, 11,191, 0,191, 1,191, 2,191, 3,191, 4,191, 5,191, 6,191, 7,191, 8,191, 9, -191, 10,191, 11, 36, 93, 1, 93, 1, 52, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 19, 34, 2, 17, 16, 18, 51, 50, 18, 17, 16, 2, - 39, 50, 18, 17, 16, 2, 35, 34, 2, 17, 16, 18, 1,227, 77, 54, 56, 80, 79, 57, 56, 75,133,141,139,139,141,142,139,139,142,239, -245,245,239,239,244,244, 2,238, 55, 80, 80, 55, 56, 78, 76, 2,156,254,208,254,201,254,202,254,208, 1, 48, 1, 54, 1, 55, 1, - 48,160,254,120,254,129,254,130,254,120, 1,136, 1,126, 1,127, 1,136, 0, 0, 0, 1, 0,246, 0, 0, 4, 70, 5,213, 0, 10, - 0, 38, 64, 20, 3,151, 4, 2,151, 5,136, 7, 0,151, 9, 8, 35, 6, 30, 3, 0, 35, 1, 11, 16,212,236,196,252,236, 49, 0, - 47,236, 50,244,236,212,236, 48, 37, 33, 17, 5, 53, 37, 51, 17, 33, 21, 33, 1, 14, 1, 58,254,174, 1, 80,202, 1, 54,252,200, -170, 4,117, 76,184, 74,250,213,170, 0, 0, 0, 0, 1, 0,152, 0, 0, 4, 35, 5,240, 0, 28, 0, 81, 64, 41, 0, 28, 37, 5, - 6, 5, 24, 25, 26, 3, 23, 27, 37, 6, 6, 5, 66, 16, 17,167, 13,151, 20,150, 4, 0,151, 2, 0, 16, 10, 2, 1, 10, 30, 23, - 34, 16, 3, 36, 29, 16,252,196,252,236,192,192, 17, 18, 57, 49, 0, 47,236, 50,244,236,244,204, 48, 75, 83, 88, 7, 16, 5,237, - 17, 23, 57, 7, 16, 5,237, 23, 50, 89, 34, 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, 14, 1, 1,117, 2,174,252,117,187, 1, 24, 53,100, 70,147,128, 91,200,112,103,199, 97,219, 1, 11, 89, -100, 56,213,170,170,170,197, 1, 46, 62,122,151, 79,125,142, 66, 67,204, 49, 50,233,189, 96,192,116, 65,230, 0, 0, 1, 0,137, -255,227, 4, 55, 5,240, 0, 40, 0, 71, 64, 41, 0, 19,151, 21, 10,139, 9,166, 13,151, 6, 31,139, 32,166, 28,151, 35,150, 6, -153, 21,169, 41, 22, 19, 0, 3, 20, 25, 30, 38, 16, 30, 3, 34, 31, 20, 9, 31, 41, 16,252,196,196,252,236,212,236, 17, 23, 57, - 49, 0, 16,236,228,244,236,244,236, 16,238,246,238, 16,238, 57, 48, 1, 30, 1, 21, 20, 4, 35, 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, 8,147,156,254,235, -245,103,214,103,102,198, 98,166,178,178,152,154,154,139,156,145,134, 89,190,104,121,189, 73,218, 1, 5,137, 3, 31, 39,199,149, -206,235, 38, 36,201, 53, 52,150,141,130,153,166,122,109,115,123, 40, 40,186, 32, 32,219,181,123,164, 0, 0, 0, 0, 2, 0,102, - 0, 0, 4,111, 5,213, 0, 2, 0, 13, 0, 66, 64, 31, 1, 13, 3, 13, 0, 3, 3, 13, 66, 0, 3, 11, 7,151, 5, 1, 3,136, - 9, 1, 12, 10, 0, 30, 8, 4, 6, 15, 12, 36, 14, 16,252,252,212, 60,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, 9, 1, 33, 3, 51, 17, 51, 21, 35, 17, 35, 17, 33, 53, 2,223,254, 41, - 1,215, 33,234,199,199,201,253,135, 5, 29,252,235, 3,205,252, 51,164,254,156, 1,100,191, 0, 0, 1, 0,143,255,227, 4, 45, - 5,213, 0, 29, 0, 61, 64, 34, 4, 7, 29, 26,151, 7, 17,139, 16,142, 20,151, 13, 2,151, 0,136, 13,153, 7,170, 30, 3, 30, - 0, 23, 30, 1, 10, 34, 0, 16, 31, 30, 16,252,196,252,196,236, 16,238, 49, 0, 16,228,228,244,236, 16,238,246,238, 16,254,196, - 18, 57, 48, 19, 33, 21, 33, 17, 62, 1, 51, 50, 0, 21, 20, 0, 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 53, 52, 38, 35, 34, 6, - 7,207, 2,244,253,196, 43, 87, 44,232, 1, 16,254,227,247,119,197, 78, 92,186, 97,167,181,187,167, 81,154, 70, 5,213,170,254, -145, 16, 15,254,238,234,236,254,240, 32, 32,205, 50, 49,176,162,160,178, 37, 37, 0, 2, 0,133,255,227, 4, 76, 5,240, 0, 24, - 0, 36, 0, 61, 64, 35, 7, 31, 25,151, 10, 31,151, 16, 10,171, 4, 1,139, 0,142, 4,151, 22,150, 16,153, 37, 34, 30, 0, 38, - 13, 34, 7, 6, 28, 1, 19, 31, 37, 16,252,236,236,252,228,236, 49, 0, 16,228,244,236,244,236, 16,229, 16,238, 16,238, 17, 57, - 48, 1, 21, 46, 1, 35, 34, 2, 17, 62, 1, 51, 50, 18, 21, 20, 2, 35, 32, 2, 17, 16, 0, 33, 50, 22, 1, 34, 6, 21, 20, 22, - 51, 50, 54, 53, 52, 38, 3,223, 63,142, 77,192,198, 48,170,110,216,237,244,221,254,252,242, 1, 35, 1, 20, 74,148,254,221,129, -148,148,129,134,136,136, 5,180,186, 37, 39,254,223,254,231,100,107,254,247,243,242,254,246, 1,117, 1,145, 1,122, 1,141, 31, -253,108,186,164,164,186,177,173,174,176, 0, 0, 0, 1, 0,139, 0, 0, 4, 55, 5,213, 0, 6, 0, 53, 64, 25, 5, 37, 2, 3, - 2, 3, 37, 4, 5, 4, 66, 5,151, 0,136, 3, 5, 3, 1, 4, 1, 34, 0, 31, 7, 16,252,236,196, 17, 57, 57, 49, 0, 47,244, -236, 48, 75, 83, 88, 7, 16, 5,237, 7, 16, 5,237, 89, 34, 19, 33, 21, 1, 35, 1, 33,139, 3,172,253,234,211, 2, 8,253, 53, - 5,213, 86,250,129, 5, 43, 0, 0, 3, 0,131,255,227, 4, 78, 5,240, 0, 11, 0, 35, 0, 47, 0, 67, 64, 37, 24, 12, 0,151, - 39, 6,151, 30, 45,151, 18,150, 30,153, 39,169, 48, 24, 12, 36, 42, 30, 21, 36, 30, 15, 9, 30, 21, 27, 34, 3, 30, 15, 33, 31, - 48, 16,252,196,236,252,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, 54, 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,104,135,147,149,133,136,147,149,254,202,129,145,242,208,209,242,145,129, -150,159,254,254,228,228,254,255,159, 77,128,121,122,128,127,123,121,128, 2,197,151,138,138,153,151,140,137,152, 84, 33,180,127, -178,209,209,178,127,180, 33, 33,200,159,202,228,227,201,160,201, 1, 98,120,126,126,120,122,128,129, 0, 0, 0, 0, 2, 0,127, -255,227, 4, 70, 5,240, 0, 11, 0, 36, 0, 59, 64, 34, 19, 6, 0,151, 22,171, 16, 13,139, 12,142, 16,151, 34, 6,151, 28,150, - 34,153, 37, 19, 6, 3, 1, 31, 34, 9, 30, 12, 38, 25, 31, 37, 16,252,228,236,252,236,236, 49, 0, 16,228,244,236, 16,238,246, -238, 16,245,238, 17, 57, 48, 1, 50, 54, 53, 52, 38, 35, 34, 6, 21, 20, 22, 3, 53, 30, 1, 51, 50, 18, 17, 14, 1, 35, 34, 2, - 53, 52, 18, 51, 32, 18, 17, 16, 0, 33, 34, 38, 2, 84,129,147,147,129,134,136,135,225, 63,142, 77,192,197, 47,170,110,216,237, -243,222, 1, 4,242,254,221,254,235, 73,148, 2,150,186,164,164,186,177,173,174,176,253,137,186, 37, 39, 1, 33, 1, 25,100,107, - 1, 10,244,241, 1, 9,254,138,254,111,254,135,254,115, 31, 0, 0, 2, 1,233, 0, 0, 2,229, 4, 39, 0, 3, 0, 7, 0, 27, - 64, 13, 2,162, 0,172, 4,162, 6, 5, 1, 29, 4, 0, 8, 16,212, 60,236, 50, 49, 0, 47,236,244,236, 48, 1, 51, 17, 35, 17, - 51, 17, 35, 1,233,252,252,252,252, 4, 39,254,209,254, 57,254,207, 0, 0, 0, 0, 2, 1,147,254,225, 2,242, 4, 39, 0, 5, - 0, 9, 0, 37, 64, 19, 8,162, 6, 3,163, 0,162, 6,172, 10, 3, 4, 0, 29, 1, 7, 29, 6, 10, 16,212,252,212,252,212,204, - 49, 0, 16,228,252,236, 16,238, 48, 1, 51, 21, 3, 35, 19, 3, 51, 17, 35, 1,246,252,197,154, 99, 13,252,252, 1, 47,207,254, -129, 1,127, 3,199,254,209, 0, 0, 1, 0, 88, 0,141, 4,121, 4,119, 0, 6, 0, 33, 64, 18, 5, 4, 2, 1, 0, 5, 3,174, - 6,173, 7, 1, 2, 0, 40, 4, 39, 7, 16,252,236, 50, 57, 49, 0, 16,244,236, 23, 57, 48, 9, 2, 21, 1, 53, 1, 4,121,252, -174, 3, 82,251,223, 4, 33, 3,193,254,192,254,195,183, 1,162,166, 1,162, 0, 0, 2, 0, 88, 1, 96, 4,121, 3,162, 0, 3, - 0, 7, 0, 27, 64, 12, 4,160, 6, 2,160, 0, 8, 5, 1, 4, 0, 8, 16,212, 60,196, 50, 49, 0, 16,212,236,212,236, 48, 19, - 33, 21, 33, 17, 33, 21, 33, 88, 4, 33,251,223, 4, 33,251,223, 2, 12,172, 2, 66,170, 0, 0, 0, 1, 0, 88, 0,141, 4,121, - 4,119, 0, 6, 0, 33, 64, 18, 6, 5, 3, 2, 0, 5, 4,174, 1,173, 7, 6, 2, 40, 4, 0, 39, 7, 16,252, 60,236, 57, 49, - 0, 16,244,236, 23, 57, 48, 19, 53, 1, 21, 1, 53, 1, 88, 4, 33,251,223, 3, 82, 3,193,182,254, 94,166,254, 94,183, 1, 61, - 0, 2, 0,244, 0, 0, 4, 16, 5,240, 0, 30, 0, 34, 0,123, 64, 66, 11, 10, 9, 8, 7, 5, 12, 6, 37, 25, 26, 25, 3, 4, - 2, 2, 5, 37, 26, 26, 25, 66, 29, 26, 5, 2, 4, 6, 25, 15, 0, 31, 16,139, 15,141, 12,151, 19,150, 31,134, 33, 6, 32, 25, - 22, 9, 5, 1, 0, 26, 32, 9, 0, 3, 1, 9, 41, 22, 15, 1, 32, 3, 31, 35, 16,212,236,196,212,212,236, 16,238, 17, 18, 57, - 17, 18, 57, 17, 18, 57, 18, 57, 49, 0, 47,238,246,254,244,238, 16,205, 17, 57, 57, 23, 57, 48, 75, 83, 88, 7, 16, 4,237, 17, - 23, 57, 7, 16, 4,237, 17, 23, 57, 89, 34, 1, 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, 29, 1, 3, 51, 21, 35, 2,172,190, 61, 84, 90, 62, 47,131,109, 78,178, 98, 94,191,104,186,221, - 67, 94, 88, 69, 38,197,203,203, 1,145,154, 98,137, 82, 89, 59, 88, 49, 89,110, 69, 68,188, 57, 56,192,161, 76,131, 92, 86, 66, - 84, 61, 47,254,242,254, 0, 0, 0, 2, 0, 27,254,193, 4,154, 5,115, 0, 11, 0, 52, 0,112, 64, 49, 40, 43, 36, 26, 23, 3, - 14, 12, 9, 27, 52, 3,175, 23, 9,175, 12, 17, 39, 36,175, 43, 23, 30,175, 49, 43, 53, 39, 13, 6, 40, 12, 0, 6, 43, 20, 0, - 26, 13, 46, 12, 20, 33, 43, 12, 45, 46, 53, 16,220,236,252,196, 16,254, 60,196, 16,238, 17, 18, 57, 17, 18, 57, 49, 0, 16,196, -212,252,196, 16,254,196,213,196,238, 16,238, 57, 57, 17, 18, 57, 17, 18, 57, 17, 18, 57, 48, 64, 13,128, 5,128, 6,128, 7,128, - 19,128, 20,128, 21, 6, 1, 93, 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 19, 35, 53, 14, 1, 35, 34, 38, 53, 52, 54, 51, - 50, 22, 23, 53, 52, 38, 35, 34, 0, 17, 16, 0, 33, 50, 54, 55, 23, 14, 1, 35, 32, 0, 17, 16, 0, 33, 50, 18, 21, 4, 14,128, -107,107,129,129,107,107,128,140,144, 37,131, 82,161,211,211,161, 80,134, 36,176,145,246,254,221, 1, 74, 1, 18, 54,108, 57, 48, - 63,123, 58,254,155,254, 93, 1,120, 1, 60,209,250, 2, 33,129,155,155,129,130,155,155,254,232,111, 63, 68,242,188,188,242, 70, - 61, 63,156,190,254,129,254,185,254,183,254,122, 20, 21,135, 25, 24, 1,210, 1,140, 1,134, 1,206,254,246,224, 0, 2, 0, 37, - 0, 0, 4,172, 5,213, 0, 2, 0, 10, 0,152, 64, 65, 0, 37, 1, 0, 4, 5, 4, 2, 37, 5, 4, 7, 37, 5, 4, 6, 37, 5, - 5, 4, 9, 37, 3, 10, 8, 37, 3, 10, 1, 37, 10, 3, 10, 0, 37, 2, 0, 3, 3, 10, 66, 0, 3, 7,151, 1,176, 3,136, 9, - 5, 9, 8, 7, 6, 4, 3, 2, 1, 0, 9, 5, 47, 10, 11, 16,220,236, 23, 57, 49, 0, 47, 60,228,252,236, 18, 57, 48, 75, 83, - 88, 7, 16, 8,237, 7, 16, 5,237, 7, 5,237, 7, 5,237, 7, 16, 5,237, 7, 5,237, 7, 5,237, 7, 16, 8,237, 89, 34,178, - 7, 3, 1, 1, 93, 64, 26, 10, 0, 15, 0,143, 0,143, 0, 4, 3, 1, 11, 2, 4, 3, 12, 4, 9, 7, 6, 8,134, 1,137, 2, - 8, 93, 0, 93, 1, 3, 33, 1, 51, 1, 35, 3, 33, 3, 35, 2,104,213, 1,170,254,177,245, 1,201,209,110,253,245,108,209, 5, - 35,253, 4, 3,174,250, 43, 1,133,254,123, 0, 0, 3, 0,166, 0, 0, 4,113, 5,213, 0, 8, 0, 17, 0, 32, 0, 61, 64, 35, - 25, 0,151, 10, 9,151, 18,136, 1,151, 10,177, 31, 17, 11, 25, 31, 19, 8, 2, 5, 0, 14, 30, 22, 5, 50, 28, 49, 9, 0, 30, - 18, 48, 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, 1, 17, 51, 50, 54, - 53, 52, 38, 35, 3, 17, 51, 50, 54, 53, 52, 38, 35, 37, 33, 50, 22, 21, 20, 6, 7, 30, 1, 21, 20, 4, 41, 1, 1,113,239,176, -150,158,168,239,235,146,131,129,148,254, 74, 1,186,229,248,131,131,147,167,254,246,254,249,254, 70, 2,201,253,221,123,141,146, -137, 2,102,254, 62,112,125,113,100,166,198,181,137,158, 20, 22,207,160,203,207, 0, 1, 0,139,255,227, 4, 49, 5,240, 0, 25, - 0, 46, 64, 26, 25,179, 0,178, 22,151, 3, 13,179, 12,178, 16,151, 9,150, 3,153, 26, 19, 50, 12, 0, 49, 6, 48, 26, 16,252, -236, 50,236, 49, 0, 16,228,244,236,244,236, 16,238,246,238, 48, 37, 14, 1, 35, 32, 0, 17, 16, 0, 33, 50, 22, 23, 21, 46, 1, - 35, 34, 2, 17, 16, 18, 51, 50, 54, 55, 4, 49, 77,162, 91,254,225,254,195, 1, 63, 1, 29, 91,162, 77, 74,170, 86,197,196,196, -197, 88,169, 73, 53, 41, 41, 1,150, 1,112, 1,110, 1,153, 41, 41,207, 61, 64,254,208,254,205,254,206,254,208, 64, 61, 0, 0, - 0, 2, 0,137, 0, 0, 4, 82, 5,213, 0, 8, 0, 17, 0, 40, 64, 21, 6,151, 9,136, 0,151, 15, 6, 0, 15, 9, 7, 3, 50, - 12, 49, 7, 30, 16, 48, 18, 16,252,236,252,236, 17, 57, 57, 57, 57, 49, 0, 47,236,244,236, 48, 37, 32, 54, 17, 16, 38, 33, 35, - 17, 19, 32, 0, 17, 16, 0, 41, 1, 17, 1,180, 0,255,202,201,255, 0, 96,100, 1, 86, 1, 68,254,188,254,170,254,209,166,251, - 1, 72, 1, 75,251,251,119, 5, 47,254,148,254,128,254,130,254,149, 5,213, 0, 0, 1, 0,197, 0, 0, 4, 78, 5,213, 0, 11, - 0, 41, 64, 22, 6,151, 4, 2,151, 0,136, 8,151, 4,177, 10, 1, 5, 9, 49, 7, 3, 30, 0, 51, 12, 16,252,236, 50,252,196, -196, 49, 0, 47,236,236,244,236, 16,238, 48, 19, 33, 21, 33, 17, 33, 21, 33, 17, 33, 21, 33,197, 3,118,253, 84, 2,142,253,114, - 2,191,252,119, 5,213,170,254, 70,170,253,227,170, 0, 0, 0, 0, 1, 0,233, 0, 0, 4, 88, 5,213, 0, 9, 0, 36, 64, 19, - 6,151, 4, 2,151, 0,136, 4,177, 8, 5, 1, 49, 7, 3, 30, 0, 52, 10, 16,252,236, 50,252,196, 49, 0, 47,236,244,236, 16, -238, 48, 19, 33, 21, 33, 17, 33, 21, 33, 17, 35,233, 3,111,253, 92, 2,101,253,155,203, 5,213,170,254, 72,170,253, 55, 0, 0, - 0, 1, 0,102,255,227, 4, 80, 5,240, 0, 29, 0, 60, 64, 33, 25, 26, 0, 22, 3, 26,151, 28, 22,151, 3, 13,179, 12,178, 16, -151, 9,150, 3,153, 30, 27, 25, 30, 12, 0, 54, 19, 50, 6, 53, 30, 16,252,236,252,196,252,196, 49, 0, 16,228,244,236,244,236, - 16,254,212,238, 17, 18, 57, 17, 57, 48, 37, 14, 1, 35, 32, 0, 17, 16, 0, 33, 50, 22, 23, 21, 46, 1, 35, 34, 2, 17, 16, 18, - 51, 50, 54, 55, 17, 35, 53, 33, 4, 80, 81,203,118,254,228,254,196, 1, 64, 1, 29, 94,172, 80, 81,170, 95,197,197,191,198, 67, -101, 41,217, 1,154,123, 75, 77, 1,151, 1,111, 1,110, 1,153, 53, 54,207, 77, 73,254,207,254,206,254,201,254,213, 31, 33, 1, -145,166, 0, 0, 0, 1, 0,137, 0, 0, 4, 72, 5,213, 0, 11, 0, 38, 64, 20, 8,151, 2,177, 4, 0,136, 10, 6, 7, 3, 30, - 5, 49, 9, 1, 30, 0, 48, 12, 16,252,236, 50,252,236, 50, 49, 0, 47, 60,228, 50,252,236, 48, 19, 51, 17, 33, 17, 51, 17, 35, - 17, 33, 17, 35,137,203, 2, 41,203,203,253,215,203, 5,213,253,156, 2,100,250, 43, 2,199,253, 57, 0, 0, 0, 0, 1, 0,201, - 0, 0, 4, 6, 5,213, 0, 11, 0, 37, 64, 19, 10, 2,151, 0,136, 8, 4,151, 6, 5, 1, 55, 3, 30, 7, 0, 55, 9, 12, 16, -212,236, 50,252,236, 50, 49, 0, 47,236, 50,244,236, 50, 48, 19, 33, 21, 33, 17, 33, 21, 33, 53, 33, 17, 33,201, 3, 61,254,199, - 1, 57,252,195, 1, 57,254,199, 5,213,170,251,127,170,170, 4,129, 0, 0, 0, 0, 1, 0,109,255,227, 3,188, 5,213, 0, 17, - 0, 44, 64, 23, 12, 7, 8, 1, 0,178, 4,151, 15, 8,151, 10,136, 15,153, 18, 9, 7, 30, 11, 0, 53, 18, 16,252,212,252,196, - 49, 0, 16,228,244,236, 16,238,246,206, 17, 57, 57, 48, 55, 53, 30, 1, 51, 50, 54, 53, 17, 33, 53, 33, 17, 16, 6, 35, 34, 38, -109, 91,194,104,143,113,254,131, 2, 71,211,247, 96,190, 61,236, 81, 81,149,203, 3, 68,170,252, 18,254,230,234, 44, 0, 0, 0, - 0, 1, 0,137, 0, 0, 4,201, 5,213, 0, 11, 0,151, 64, 33, 8, 37, 9, 8, 5, 6, 5, 7, 37, 6, 5, 66, 8, 5, 2, 3, - 3, 0,180, 10, 6, 8, 5, 4, 3, 6, 1, 9, 1, 30, 0, 48, 12, 16,252,236, 50, 16,192, 23, 57, 49, 0, 47, 60,236, 50, 23, - 57, 48, 75, 83, 88, 7, 5,237, 7, 16, 8,237, 89, 34,178, 8, 4, 1, 1, 93, 64, 76, 7, 5, 22, 5, 23, 8, 38, 5, 38, 8, - 54, 2, 70, 2, 85, 2, 87, 8, 88, 9,100, 2,122, 5,121, 8,123, 9, 14, 2, 3, 1, 4, 7, 5, 0, 6, 2, 7, 22, 5, 23, - 8, 39, 5, 44, 6, 43, 7, 38, 8, 58, 3, 73, 3, 71, 6, 71, 7, 91, 3, 87, 5, 88, 6, 88, 7, 87, 8,107, 3,122, 3,120, - 7, 23, 93, 0, 93, 19, 51, 17, 1, 51, 9, 1, 35, 1, 7, 17, 35,137,203, 2,119,237,253,187, 2, 86,244,254, 25,154,203, 5, -213,253,104, 2,152,253,158,252,141, 2,236,164,253,184, 0, 0, 0, 1, 0,215, 0, 0, 4,115, 5,213, 0, 5, 0, 24, 64, 12, - 2,151, 0,136, 4, 1, 30, 3, 49, 0, 52, 6, 16,252,236,236, 49, 0, 47,228,236, 48, 19, 51, 17, 33, 21, 33,215,203, 2,209, -252,100, 5,213,250,213,170, 0, 0, 1, 0, 86, 0, 0, 4,121, 5,213, 0, 12, 0,133, 64, 44, 8, 2, 3, 2, 7, 3, 3, 2, - 10, 1, 2, 1, 9, 2, 2, 1, 66, 10, 7, 2, 3, 0, 8, 3, 0,180, 11, 5, 9, 8, 3, 2, 1, 5, 10, 6, 6, 4, 47, 10, - 6, 0, 48, 13, 16,252,236,252,236, 17, 23, 57, 49, 0, 47, 60,236, 50,196, 17, 23, 57, 48, 75, 83, 88, 7, 16, 5,201, 7, 16, - 4,201, 7, 16, 4,201, 7, 16, 5,201, 89, 34,178, 15, 10, 1, 0, 93, 64, 36, 5, 8, 10, 9, 23, 1, 24, 3, 23, 8, 24, 9, - 38, 1, 41, 3, 38, 8, 41, 9, 54, 1, 57, 3, 54, 8, 56, 9, 14, 15, 7, 15, 7, 15, 10, 3, 93, 1, 93, 19, 33, 9, 1, 33, - 17, 35, 17, 1, 35, 1, 17, 35, 86, 1, 14, 1, 2, 1, 4, 1, 15,187,254,246,153,254,245,186, 5,213,253, 8, 2,248,250, 43, - 5, 39,252,237, 3, 19,250,217, 0, 1, 0,139, 0, 0, 4, 70, 5,213, 0, 9, 0,109, 64, 28, 7, 1, 2, 1, 2, 6, 7, 6, - 66, 7, 2, 3, 0,180, 8, 5, 6, 1, 7, 2, 17, 4, 49, 7, 17, 0, 48, 10, 16,252,236,252,236, 17, 57, 57, 49, 0, 47, 60, -236, 50, 57, 57, 48, 75, 83, 88, 7, 16, 4,201, 7, 16, 4,201, 89, 34,178, 23, 1, 1, 1, 93, 64, 38, 23, 2, 24, 7, 41, 2, - 38, 7, 56, 7, 87, 2,100, 2,106, 7,117, 2,122, 7, 10, 24, 6, 38, 1, 41, 6, 70, 1, 73, 6, 87, 1,103, 1,104, 6, 8, - 93, 0, 93, 19, 33, 1, 17, 51, 17, 33, 1, 17, 35,139, 1, 0, 1,248,195,255, 0,254, 8,195, 5,213,251, 51, 4,205,250, 43, - 4,205,251, 51, 0, 2, 0,117,255,227, 4, 92, 5,240, 0, 11, 0, 23, 0, 35, 64, 19, 9,151, 15, 3,151, 21,150, 15,153, 24, - 0, 50, 12, 54, 6, 50, 18, 53, 24, 16,252,236,252,236, 49, 0, 16,228,244,236, 16,238, 48, 1, 16, 2, 35, 34, 2, 17, 16, 18, - 51, 50, 18, 19, 16, 2, 35, 34, 2, 17, 16, 18, 51, 50, 18, 3,137,135,154,153,135,135,153,154,135,211,247,253,253,246,247,252, -253,247, 2,233, 1, 73, 1, 26,254,230,254,183,254,184,254,230, 1, 25, 1, 73,254,122,254,128, 1,126, 1,136, 1,135, 1,128, -254,128, 0, 0, 0, 2, 0,197, 0, 0, 4,117, 5,213, 0, 8, 0, 19, 0, 43, 64, 24, 1,151, 16, 0,151, 9,136, 18, 16, 10, - 8, 2, 4, 0, 5, 50, 13, 56, 17, 0, 30, 9, 51, 20, 16,252,236, 50,252,236, 17, 23, 57, 49, 0, 47,244,236,212,236, 48, 1, - 17, 51, 50, 54, 53, 52, 38, 35, 37, 33, 50, 4, 21, 20, 4, 43, 1, 17, 35, 1,143,234,140,157,156,141,254, 76, 1,180,250, 1, - 2,254,255,251,234,202, 5, 47,253,207,148,133,133,147,166,227,219,221,226,253,168, 0, 0, 0, 0, 2, 0,117,254,242, 4, 92, - 5,240, 0, 17, 0, 29, 0, 61, 64, 32, 0, 30, 16, 17, 15, 27,151, 3, 21,151, 9,150, 3,153, 17, 30, 17, 24, 16, 12, 15, 0, - 24, 18, 50, 12, 54, 24, 50, 6, 53, 30, 16,252,236,252,236, 17, 57, 57, 17, 57, 17, 57, 49, 0, 16,196,228,244,236, 16,238, 57, - 18, 57, 18, 57, 48, 5, 34, 6, 35, 34, 2, 17, 16, 18, 51, 50, 18, 17, 16, 2, 7, 23, 7, 19, 16, 2, 35, 34, 2, 17, 16, 18, - 51, 50, 18, 2,143, 7, 26, 8,250,247,247,252,253,247,137,139,200,151, 16,135,154,153,135,135,153,154,135, 27, 2, 1,128, 1, -134, 1,135, 1,128,254,128,254,121,254,218,254,153, 72,190,100, 3,247, 1, 73, 1, 26,254,230,254,183,254,184,254,230, 1, 25, - 0, 2, 0,143, 0, 0, 4,209, 5,213, 0, 19, 0, 28, 0,106, 64, 56, 9, 8, 7, 3, 10, 6, 37, 3, 4, 3, 5, 37, 4, 4, - 3, 66, 6, 4, 0, 21, 3, 4, 21,151, 9, 20,151, 13,136, 11, 4, 5, 17, 22, 9, 6, 3, 10, 3, 17, 0, 28, 14, 3, 10, 25, - 50, 4, 17, 49, 20, 10, 30, 12, 48, 29, 16,252,236, 50,252,196,236, 17, 23, 57, 17, 57, 17, 23, 57, 17, 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, 14,237, 17, 23, 57, 89, 34, 1, 30, 1, 23, 19, 35, - 3, 46, 1, 43, 1, 17, 35, 17, 33, 50, 4, 21, 20, 6, 1, 17, 51, 50, 54, 53, 52, 38, 35, 2,248, 78,110, 82,203,217,178, 77, -123, 99,193,203, 1,160,246, 1, 6,161,253,208,221,145,142,151,144, 2,193, 20,111,166,254,104, 1,121,161, 93,253,137, 5,213, -222,210,148,187, 2, 89,253,238,130,134,129,137, 0, 1, 0,139,255,227, 4, 74, 5,240, 0, 39, 0,132, 64, 61, 13, 12, 2, 14, - 11, 37, 30, 31, 30, 8, 9, 2, 7, 10, 37, 31, 31, 30, 66, 10, 11, 30, 31, 4, 1, 21,179, 20,167, 24,151, 17, 1,179, 0,167, - 4,151, 37,150, 17,153, 40, 30, 10, 11, 31, 27, 7, 0, 38, 27, 57, 14, 49, 20, 7, 57, 34, 48, 40, 16,252,236,196,252,236,228, - 17, 18, 57, 57, 57, 57, 49, 0, 16,228,244,236,244,236, 16,238,246,238, 17, 23, 57, 48, 75, 83, 88, 7, 16, 14,237, 17, 23, 57, - 7, 16, 14,237, 17, 23, 57, 89, 34,178, 8, 2, 1, 1, 93, 64, 10, 7, 0, 7, 1, 7, 2, 3, 7, 2, 1, 93, 0, 93, 1, 21, - 46, 1, 35, 34, 6, 21, 20, 22, 31, 1, 30, 1, 21, 20, 4, 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 53, 52, 38, 47, 1, 46, 1, - 53, 52, 36, 51, 50, 22, 3,244, 92,185, 94,143,166,109,149,106,210,192,254,248,252,105,212,107,115,205,104,153,170,117,145,108, -208,188, 1, 13,223, 86,190, 5,162,205, 59, 60,133,113, 99,104, 35, 24, 49,210,181,213,224, 45, 45,215, 73, 68,137,123,112,118, - 32, 25, 47,190,160,200,241, 39, 0, 1, 0, 47, 0, 0, 4,162, 5,213, 0, 7, 0, 28, 64, 14, 6, 2,151, 0,136, 4, 1, 58, - 3, 30, 0, 58, 5, 8, 16,212,236,252,236, 49, 0, 47,244,236, 50, 48, 19, 33, 21, 33, 17, 35, 17, 33, 47, 4,115,254, 45,203, -254, 43, 5,213,170,250,213, 5, 43, 0, 0, 0, 0, 1, 0,147,255,227, 4, 61, 5,213, 0, 29, 0, 41, 64, 23, 15, 3, 18, 0, - 4, 1, 9,151, 24,153, 16, 1,136, 30, 15, 30, 17, 49, 2, 30, 0, 48, 30, 16,252,236,252,236, 49, 0, 16,228, 50,244,236, 17, - 23, 57, 48, 19, 17, 51, 17, 20, 22, 23, 30, 1, 51, 50, 54, 55, 62, 1, 53, 17, 51, 17, 20, 6, 7, 14, 1, 35, 34, 38, 39, 46, - 1,147,203, 12, 15, 32,121, 86, 87,120, 33, 15, 12,202, 57, 70, 66,170,106,105,170, 67, 69, 58, 2, 61, 3,152,252, 12,109, 93, - 25, 59, 60, 60, 59, 25, 92,108, 3,246,252,104,229,193, 63, 59, 58, 58, 59, 62,197, 0, 0, 0, 0, 1, 0, 57, 0, 0, 4,152, - 5,213, 0, 6, 0, 76, 64, 41, 1, 37, 2, 3, 2, 0, 37, 6, 0, 3, 3, 2, 0, 37, 1, 0, 4, 5, 4, 6, 37, 5, 5, 4, - 66, 0, 5, 1,180, 3, 6, 4, 3, 1, 0, 5, 2, 47, 5, 48, 7, 16,252,236, 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, 37, 1, 51, 1, 35, 1, 51, 2,104, 1, 95,209,254, 75, -245,254, 75,209,170, 5, 43,250, 43, 5,213, 0, 0, 1, 0, 0, 0, 0, 4,209, 5,213, 0, 12, 0,225, 64, 68, 5, 6, 5, 9, - 10, 9, 4, 10, 9, 3, 10, 11, 10, 2, 1, 2, 11, 11, 10, 6, 37, 7, 8, 7, 5, 37, 4, 5, 8, 8, 7, 2, 37, 3, 2, 12, - 0, 12, 1, 37, 0, 12, 66, 10, 5, 2, 3, 8, 3, 6, 0,180, 11, 8, 12, 11, 10, 9, 8, 6, 5, 4, 3, 2, 1, 11, 7, 0, - 47,204, 23, 57, 49, 0, 47, 60,252, 60,196, 17, 23, 57, 48, 75, 83, 88, 7, 5,237, 7, 16, 8,237, 7, 16, 8,237, 7, 16, 5, -237, 7, 16, 8,201, 7, 16, 5,201, 7, 5,201, 7, 16, 8,201, 89, 34,178, 24, 9, 1, 1, 93, 64, 94, 31, 3, 31, 4, 31, 10, - 47, 3, 47, 4, 43, 10, 63, 3, 63, 4, 56, 10, 90, 2, 90, 5, 11, 23, 11, 38, 2, 42, 3, 37, 4, 42, 5, 40, 8, 43, 9, 37, - 11, 38, 12, 53, 2, 58, 3, 53, 4, 58, 5, 59, 8, 58, 9, 52, 11, 54, 12, 84, 0, 84, 1, 90, 2, 88, 3, 87, 4, 86, 5, 91, - 6, 91, 7, 82, 8, 87, 9, 88, 11, 93, 12,103, 8,104, 12,121, 3,118, 4,121, 9,118, 11, 35, 93, 0, 93, 17, 51, 27, 1, 51, - 27, 1, 51, 3, 35, 11, 1, 35,197,143,170,211,172,143,197,223,191,203,202,191, 5,213,251, 68, 3, 34,252,220, 4,190,250, 43, - 3,119,252,137, 0, 1, 0, 18, 0, 0, 4,190, 5,213, 0, 11, 0,198, 64, 75, 9, 37, 10, 11, 10, 8, 37, 7, 8, 11, 11, 10, - 8, 37, 9, 8, 5, 6, 5, 7, 37, 6, 6, 5, 3, 37, 4, 5, 4, 2, 37, 1, 2, 5, 5, 4, 2, 37, 3, 2, 11, 0, 11, 1, - 37, 0, 0, 11, 66, 11, 8, 5, 2, 4, 3, 0,180, 9, 6, 11, 8, 7, 5, 2, 5, 0, 4, 59, 6, 47, 0, 59, 10, 48, 12, 16, -252,228,252,228, 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,178, 55, 2, 1, 0, 93, 64, 56, 13, 5, 4, - 11, 24, 5, 39, 1, 40, 3, 41, 5, 38, 11, 88, 11,120, 2,121, 5,119, 11, 11, 0, 2, 0, 2, 15, 8, 15, 8, 20, 2, 26, 8, - 33, 2, 37, 5, 43, 8, 37, 11, 53, 2, 85, 2, 89, 8, 88, 11,101, 2,115, 2, 16, 93, 1, 93, 19, 51, 9, 1, 51, 9, 1, 35, - 9, 1, 35, 1, 86,217, 1, 72, 1, 78,217,254, 65, 1,223,217,254,146,254,117,218, 1,244, 5,213,253,205, 2, 51,253, 66,252, -233, 2,131,253,125, 3, 23, 0, 0, 1, 0, 37, 0, 0, 4,172, 5,213, 0, 8, 0, 89, 64, 46, 3, 37, 4, 5, 4, 2, 37, 1, - 2, 5, 5, 4, 2, 37, 3, 2, 8, 0, 8, 1, 37, 0, 0, 8, 66, 2, 3, 0,180, 6, 2, 7, 3, 5, 4, 1, 7, 0, 4, 60, - 5, 30, 0, 60, 7, 9, 16,212,236,252,236, 17, 18, 57, 17, 18, 57, 17, 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, 19, 51, 9, 1, 51, 1, 17, 35, 17, 37,215, 1,108, 1,107,217,254, - 33,203, 5,213,253,109, 2,147,252,201,253, 98, 2,158, 0, 0, 0, 1, 0,156, 0, 0, 4,145, 5,213, 0, 9, 0, 69, 64, 28, - 8, 37, 2, 3, 2, 3, 37, 7, 8, 7, 66, 8,151, 0,136, 3,151, 5, 8, 3, 0, 1, 4, 47, 0, 6, 48, 10, 16,252,196,252, -196, 17, 57, 57, 49, 0, 47,236,244,236, 48, 75, 83, 88, 7, 16, 5,237, 7, 16, 5,237, 89, 34,178, 8, 8, 1, 1, 93,178, 7, - 3, 1, 93, 19, 33, 21, 1, 33, 21, 33, 53, 1, 33,178, 3,201,252,244, 3, 34,252, 11, 2,247,253, 31, 5,213,154,251,111,170, -154, 4,145, 0, 0, 1, 1,207,254,242, 3,119, 6, 20, 0, 7, 0, 30, 64, 15, 4,182, 6,183, 2,182, 0,181, 8, 5, 1, 3, - 61, 0, 8, 16,212,252,196, 50, 49, 0, 16,252,236,244,236, 48, 1, 33, 21, 35, 17, 51, 21, 33, 1,207, 1,168,240,240,254, 88, - 6, 20,143,249,252,143, 0, 0, 0, 1, 0,102,255, 66, 4, 55, 5,213, 0, 3, 0, 24, 64, 11, 1, 0,136, 4, 1, 30, 2, 0, - 30, 3, 4, 16,212,236,212,236, 49, 0, 16,244,196, 48, 9, 1, 35, 1, 1, 37, 3, 18,190,252,237, 5,213,249,109, 6,147, 0, - 0, 1, 1, 90,254,242, 3, 2, 6, 20, 0, 7, 0, 30, 64, 15, 3,182, 1,183, 5,182, 0,181, 8, 0, 61, 6, 2, 4, 8, 16, -212,196, 50,236, 49, 0, 16,252,236,244,236, 48, 1, 17, 33, 53, 51, 17, 35, 53, 3, 2,254, 88,240,240, 6, 20,248,222,143, 6, - 4,143, 0, 0, 0, 1, 0, 72, 3,168, 4,137, 5,213, 0, 6, 0, 24, 64, 10, 3, 4, 1, 0,136, 7, 3, 1, 5, 7, 16,212, -204, 57, 49, 0, 16,244,204, 50, 57, 48, 9, 1, 35, 9, 1, 35, 1, 2,193, 1,200,178,254,145,254,146,178, 1,200, 5,213,253, -211, 1,139,254,117, 2, 45, 0, 0, 1, 0, 0,254, 29, 4,209,254,109, 0, 3, 0, 15,181, 0,184, 1, 4, 0, 2, 47,204, 49, - 0, 16,212,236, 48, 1, 21, 33, 53, 4,209,251, 47,254,109, 80, 80, 0, 0, 0, 0, 1, 1, 23, 4,238, 2,246, 6,102, 0, 3, - 0, 37, 64, 9, 1,186, 0,185, 4, 1, 60, 3, 4, 16,212,236, 49, 0, 16,244, 75,176, 9, 84, 75,176, 14, 84, 91, 88,185, 0, - 0, 0, 64, 56, 89,236, 48, 9, 1, 35, 1, 1,221, 1, 25,154,254,187, 6,102,254,136, 1,120, 0, 2, 0,133,255,227, 4, 35, - 4,123, 0, 11, 0, 41, 0,110, 64, 42, 10, 7, 0, 26, 32, 12, 24, 15, 7, 0,182, 24, 7,140, 18, 33,139, 32,191, 29,140, 36, -190, 18,153, 24, 13, 1, 24, 4, 25, 14, 10, 6, 12, 68, 32, 4, 6, 21, 62, 42, 16,244,236,196,252,236, 50, 50, 17, 57, 57, 49, - 0, 47,196,228,244,252,244,236, 16,238, 16,238, 17, 57, 17, 57, 18, 57, 17, 18, 57, 48, 64, 29, 48, 31, 48, 32, 48, 33, 48, 34, -160, 0,160, 1,160, 2,160, 10,160, 11,162, 22,160, 23,160, 24,160, 25,160, 26, 14, 93, 1, 35, 34, 6, 21, 20, 22, 51, 50, 54, - 55, 53, 55, 17, 35, 53, 14, 1, 35, 34, 38, 53, 52, 54, 59, 1, 53, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 30, 1, - 2,190, 61,161,163,122,108,152,174, 1,185,185, 59,179,128,171,204,251,243,247, 1,134,147, 94,192, 91,102,187, 88,139,197, 61, - 38, 32, 2, 51,113,112,101,112,211,186, 41, 76,253,129,166,100, 95,193,162,187,194, 29,134,121, 54, 52,184, 39, 39, 82, 82, 50, -147, 0, 0, 0, 0, 2, 0,193,255,227, 4, 88, 6, 20, 0, 11, 0, 28, 0, 48, 64, 26, 24, 12, 9, 3,140, 15, 9,140, 21,153, - 15,190, 27,155, 25, 0, 18, 18, 71, 24, 12, 6, 6, 26, 70, 29, 16,244,236, 50, 50,252,236, 49, 0, 47,236,228,244,236, 16,238, - 17, 57, 57, 48, 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 1, 62, 1, 51, 50, 18, 17, 16, 2, 35, 34, 38, 39, 21, 35, 17, - 51, 3,150,136,133,134,138,138,134,133,136,253,227, 44,155,102,202,232,233,203,100,153, 46,184,184, 2, 47,214,218,219,213,212, -220,218, 2,120, 82, 88,254,201,254,239,254,235,254,197, 87, 83,141, 6, 20, 0, 0, 1, 0,195,255,227, 4, 37, 4,123, 0, 25, - 0, 47, 64, 26, 12,139, 13,192, 16, 0,139, 25,192, 22,140, 3, 16,140, 9,190, 3,153, 26, 19, 18, 12, 0, 6, 70, 26, 16,244, -196, 50,236, 49, 0, 16,228,244,236, 16,254,244,238, 16,245,238, 48, 37, 14, 1, 35, 32, 0, 17, 16, 0, 33, 50, 22, 23, 21, 46, - 1, 35, 34, 6, 21, 20, 22, 51, 50, 54, 55, 4, 37, 74,157, 82,254,252,254,219, 1, 37, 1, 4, 81,154, 78, 73,147, 93,173,186, -187,172, 96,152, 65, 57, 43, 43, 1, 56, 1, 20, 1, 20, 1, 56, 42, 44,193, 65, 58,224,208,207,225, 59, 62, 0, 0, 2, 0,123, -255,227, 4, 18, 6, 20, 0, 16, 0, 28, 0, 48, 64, 26, 5, 0, 20, 26,140, 14, 20,140, 8,153, 14,190, 1,155, 3, 23, 4, 0, - 6, 2, 71, 17, 18, 11, 72, 29, 16,244,236,252,236, 50, 50, 49, 0, 47,236,228,244,236, 16,238, 17, 57, 57, 48, 1, 17, 51, 17, - 35, 53, 14, 1, 35, 34, 2, 17, 16, 18, 51, 50, 22, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 3, 90,184,184, 46,153,100, -203,233,234,202,101,154,254, 15,136,133,133,139,139,133,133,136, 3,209, 2, 67,249,236,141, 83, 87, 1, 59, 1, 21, 1, 17, 1, - 55, 87,254, 11,214,218,220,212,213,219,218, 0, 0, 2, 0,123,255,227, 4, 88, 4,123, 0, 21, 0, 28, 0, 69, 64, 38, 0, 22, - 3, 1, 10,139, 9,141, 6, 22,182, 1, 6,140, 13, 1,193, 25,140, 19,190, 13,153, 29, 3, 2, 28, 16, 9, 22, 6, 0, 73, 28, - 18, 16, 72, 29, 16,244,236,252,236,196, 17, 18, 57, 57, 49, 0, 16,228,244,236,228, 16,238, 16,238, 16,244,238, 18, 57, 17, 57, - 48, 1, 21, 33, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 32, 0, 17, 16, 0, 51, 50, 18, 7, 46, 1, 35, 34, 6, 7, 4, 88, -252,227,191,174, 88,192,109,105,195, 91,254,251,254,218, 1, 32,240,214,247,184, 4,145,136,133,172, 16, 2, 94, 90, 6,183,200, - 56, 57,183, 43, 43, 1, 57, 1, 19, 1, 12, 1, 64,254,222,197,162,169,176,156, 0, 1, 0,195, 0, 0, 4, 39, 6, 20, 0, 19, - 0, 52, 64, 26, 5, 16, 1, 12, 8,182, 6, 1,140, 0,155, 14, 6,194, 10, 2, 19, 7, 0, 9, 5, 6, 13, 15, 11, 20, 16,212, - 60,196,252, 60,196, 50, 57, 57, 49, 0, 47,228, 50,252,236, 16,238, 50, 18, 57, 57, 48, 1, 21, 35, 34, 6, 29, 1, 33, 21, 33, - 17, 35, 17, 33, 53, 33, 53, 52, 54, 51, 4, 39,209, 99, 77, 1,129,254,127,184,254,213, 1, 43,169,179, 6, 20,153, 81,103, 99, -143,252, 47, 3,209,143, 78,184,174, 0, 0, 0, 0, 2, 0,123,254, 72, 4, 18, 4,123, 0, 11, 0, 41, 0, 72, 64, 39, 25, 12, - 30, 27, 39, 9, 3, 18,139, 19, 22, 9,140, 30, 22,140, 15, 3,140, 36,190, 30, 15,195, 40,194, 42, 39, 25, 0, 6, 12, 71, 6, - 18, 18, 33, 72, 42, 16,244,196,236,252,236, 50, 50, 49, 0, 16,228,228,196,244,236, 16,238, 16,238, 16,213,238, 17, 18, 57, 57, - 17, 57, 57, 48, 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 19, 20, 2, 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 61, 2, 14, - 1, 35, 34, 2, 17, 16, 18, 51, 50, 22, 23, 53, 51, 3, 90,135,129,135,142,143,136,127,135,184,238,231, 76,166, 83, 98,160, 67, -149,136, 44,152,109,196,234,234,196,108,150, 47,184, 2, 57,207,215,215,207,207,217,218,254,221,252,254,252, 28, 27,182, 46, 44, -162,176, 8,125, 94, 92, 1, 58, 1, 7, 1, 8, 1, 58, 86, 90,145, 0, 0, 0, 0, 1, 0,195, 0, 0, 4, 27, 6, 20, 0, 19, - 0, 44, 64, 24, 9, 14, 3, 0, 3, 1, 6,140, 17,190, 12,155, 10, 1, 2, 6, 0, 74, 13, 9, 6, 11, 70, 20, 16,244,236, 50, -252,236, 49, 0, 47, 60,236,244,236, 17, 23, 57, 57, 48, 1, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 17, 62, 1, 51, - 50, 22, 4, 27,185,106,113,129,139,184,184, 49,168,115,171,169, 2,182,253, 74, 2,182,151,142,183,171,253,135, 6, 20,253,164, - 96, 99,225, 0, 0, 2, 0,178, 0, 0, 4, 68, 6, 20, 0, 9, 0, 13, 0, 46, 64, 25, 8,182, 0, 12,196, 10,155, 0,194, 6, - 2,182, 4, 3, 76, 11, 1, 6, 5, 76, 0, 75, 10, 7, 14, 16,212, 60,228,236,252, 60,236, 49, 0, 47,236, 50,228,252,236, 16, -238, 48, 1, 33, 17, 33, 21, 33, 53, 33, 17, 33, 1, 51, 21, 35, 1, 0, 1,215, 1,109,252,110, 1,109,254,225, 1, 31,184,184, - 4, 96,252, 47,143,143, 3, 66, 2, 67,233, 0, 0, 2, 0,186,254, 86, 3, 16, 6, 20, 0, 13, 0, 17, 0, 56, 64, 29, 5, 0, - 1, 10,140, 8, 1,182, 3, 16,196, 14,155, 3,194, 8,195, 18, 11, 8, 2, 9, 2, 15, 4, 6, 14, 0, 18, 16,212, 60,236, 50, -196,196, 18, 57, 57, 49, 0, 16,228,228,252,236, 16,238, 16,238, 17, 57, 57, 48, 5, 17, 33, 53, 33, 17, 20, 6, 43, 1, 53, 51, - 50, 54, 17, 51, 21, 35, 2, 88,254,195, 1,245,179,165,254,234, 90, 90,184,184, 20, 3,229,143,251,140,195,211,156,125, 6,165, -233, 0, 0, 0, 0, 1, 0,236, 0, 0, 4,178, 6, 20, 0, 11, 0,197, 64, 58, 8, 23, 9, 8, 5, 6, 5, 7, 23, 6, 6, 5, - 9, 23, 3, 2, 8, 23, 7, 8, 3, 2, 5, 23, 6, 5, 2, 3, 2, 4, 23, 3, 3, 2, 66, 8, 5, 2, 3, 3,194, 0,155, 10, - 6, 8, 5, 4, 3, 6, 9, 1, 6, 6, 68, 0, 69, 12, 16,244,236,236, 50, 17, 23, 57, 49, 0, 47, 60,236,228, 23, 57, 48, 75, - 83, 88, 7, 16, 5,237, 7, 16, 8,237, 7, 8,237, 7, 4,237, 7, 16, 5,237, 7, 16, 8,237, 89, 34,178, 8, 7, 1, 1, 93, - 64, 82, 6, 2, 8, 8, 22, 2, 24, 5, 24, 8, 53, 2, 52, 5, 54, 8, 70, 2,102, 2,117, 2,118, 5, 12, 9, 3, 8, 8, 25, - 3, 23, 4, 24, 5, 25, 6, 26, 7, 24, 8, 40, 3, 39, 5, 40, 7, 59, 3, 59, 4, 55, 5, 57, 7, 55, 8, 74, 3, 73, 7, 89, - 6, 89, 7,107, 3,105, 4,105, 6,105, 7,121, 3,120, 5,121, 6,121, 7, 28, 93, 0, 93, 19, 51, 17, 1, 51, 9, 1, 35, 1, - 7, 17, 35,236,190, 1,227,224,254, 71, 1,254,225,254, 98,137,190, 6, 20,252,123, 1,209,254, 90,253, 70, 2, 66,129,254, 63, - 0, 1, 0,160, 0, 0, 4, 10, 6, 31, 0, 13, 0, 38, 64, 19, 9, 0, 3, 10,182, 12,197, 3,182, 5, 3, 6, 4, 0, 6, 11, - 76, 9, 14, 16,212,236,252,204, 57, 57, 49, 0, 47,236,252,236, 17, 57, 57, 48, 1, 20, 22, 59, 1, 21, 35, 34, 38, 53, 17, 33, - 53, 33, 2,127, 91, 89,215,233,165,181,254,217, 1,223, 1,150,124,126,156,212,194, 3,249,144, 0, 1, 0,109, 0, 0, 4,111, - 4,123, 0, 34, 0,163, 64, 39, 24, 18, 15, 9, 4, 7, 0, 29, 27, 6, 7, 21, 12,140, 32, 3,190, 27,194, 25, 16, 7, 0, 17, - 15, 8, 77, 6, 78, 17, 77, 15, 78, 28, 24, 77, 26, 69, 35, 16,244, 75,176, 12, 84, 75,176, 17, 84, 91, 88,185, 0, 26,255,192, - 56, 89,252, 60,252,236,252,236, 17, 18, 57, 49, 0, 47, 60, 60,228,244, 60,236, 50, 17, 57, 17, 57, 57, 17, 23, 57, 48, 64, 71, - 48, 4, 48, 5, 48, 6, 48, 7, 48, 8, 48, 9, 48, 10, 48, 11, 63, 22, 63, 23, 63, 24, 63, 25, 63, 26, 63, 27, 63, 28, 63, 29, - 63, 30,128, 3,128, 4,128, 5,128, 6,128, 7,128, 8,128, 9,128, 10,128, 11,143, 22,143, 23,143, 24,143, 25,143, 26,143, 27, -143, 28,143, 29,143, 30, 35, 1, 93, 1, 62, 1, 51, 50, 22, 25, 1, 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, 2,164, 34,105, 74,135,111,168, 53, 70, 80, 59,168, 57, 74, 73, 57,167,167, 33, - 99, 63, 76,101, 3,238, 72, 69,209,254,223,253,119, 2,129,237,115,123,229,253,127, 2,129,240,112,123,229,253,127, 4, 96, 96, - 60, 63, 70, 0, 0, 1, 0,195, 0, 0, 4, 27, 4,123, 0, 19, 0, 44, 64, 24, 9, 14, 3, 0, 3, 1, 6,140, 17,190, 12,194, - 10, 1, 2, 6, 0, 74, 13, 9, 6, 11, 70, 20, 16,244,236, 50,252,236, 49, 0, 47, 60,228,244,236, 17, 23, 57, 57, 48, 1, 17, - 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 22, 4, 27,185,106,113,129,139,184,184, 49,168,115,171,169, - 2,182,253, 74, 2,182,151,142,183,171,253,135, 4, 96,168, 96, 99,225, 0, 0, 0, 2, 0,137,255,227, 4, 72, 4,123, 0, 11, - 0, 23, 0, 35, 64, 19, 6,140, 18, 0,140, 12,190, 18,153, 24, 9, 18, 15, 68, 3, 18, 21, 62, 24, 16,244,236,252,236, 49, 0, - 16,228,244,236, 16,238, 48, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 39, 50, 18, 17, 16, 2, 35, 34, 2, 17, 16, 18, 2, -104,140,144,144,140,141,144,144,141,233,247,246,234,233,246,246, 3,223,218,214,213,219,219,213,214,218,156,254,210,254,226,254, -225,254,211, 1, 45, 1, 31, 1, 30, 1, 46, 0, 0, 2, 0,190,254, 86, 4, 84, 4,123, 0, 16, 0, 28, 0, 51, 64, 28, 5, 0, - 20, 26,140, 14, 20,140, 8,190, 14,153, 1,195, 3,194, 29, 17, 18, 11, 71, 23, 4, 0, 6, 2, 70, 29, 16,244,236, 50, 50,252, -236, 49, 0, 16,228,228,228,244,236, 16,238, 17, 57, 57, 48, 37, 17, 35, 17, 51, 21, 62, 1, 51, 50, 18, 17, 16, 2, 35, 34, 38, - 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 1,119,185,185, 46,153,100,203,231,232,202,102,153, 1,240,135,133,134,138,138, -134,133,135,141,253,201, 6, 10,143, 83, 87,254,198,254,234,254,239,254,201, 87, 1,245,214,218,219,213,212,220,218, 0, 0, 0, - 0, 2, 0,137,254, 82, 4, 31, 4,119, 0, 11, 0, 28, 0, 51, 64, 28, 24, 12, 9, 3,140, 15, 9,140, 21,190, 15,153, 27,195, - 25,194, 29, 24, 12, 6, 6, 26, 71, 0, 18, 18, 62, 29, 16,244,236,252,236, 50, 50, 49, 0, 16,228,228,228,244,236, 16,238, 17, - 57, 57, 48, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 1, 14, 1, 35, 34, 2, 17, 16, 18, 51, 50, 22, 23, 53, 51, 17, 35, - 1, 76,135,133,133,137,137,133,133,135, 2, 26, 45,153,101,201,233,232,202,100,153, 46,185,185, 2, 43,214,218,219,213,213,219, -218,253,138, 83, 89, 1, 55, 1, 17, 1, 22, 1, 58, 87, 83,143,249,246, 0, 0, 0, 1, 1,106, 0, 0, 4,131, 4,123, 0, 17, - 0, 79, 64, 19, 6, 7, 11, 3, 0, 17, 3,151, 14,190, 9,194, 7, 10, 6, 6, 0, 8, 18, 16,212,196,236, 50, 49, 0, 47,228, -244,236,212,204, 17, 57, 17, 57, 48, 64, 37, 16, 0, 16, 1, 16, 17, 32, 0, 32, 1, 32, 17, 48, 0, 48, 1, 51, 16, 48, 17, 64, - 0, 64, 1, 67, 16, 64, 17, 80, 0, 80, 1, 80, 16, 80, 17, 18, 93, 1, 46, 1, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, - 50, 22, 23, 4,131, 59,122, 73,172,182,185,185, 46,191,131, 68,118, 54, 3,121, 46, 42,216,204,253,211, 4, 96,219,119,127, 34, - 36, 0, 0, 0, 0, 1, 0,213,255,227, 4, 6, 4,123, 0, 39, 0,117, 64, 64, 13, 12, 2, 14, 11, 23, 31, 30, 8, 9, 2, 7, - 10, 23, 30, 31, 30, 66, 29, 30, 24, 10, 11, 30, 31, 4, 21, 0,139, 1,192, 4, 20,139, 21,192, 24,140, 17, 4,140, 37,190, 17, -153, 40, 29, 10, 11, 31, 27, 7, 0, 79, 27, 6, 14, 73, 7, 6, 20, 34, 69, 40, 16,244,196,236,252,236,228, 17, 18, 57, 57, 57, - 57, 49, 0, 16,228,244,236, 16,254,245,238, 16,245,238, 18, 23, 57, 17, 18, 57, 48, 75, 83, 88, 7, 16, 14,237, 17, 23, 57, 7, - 14,237, 17, 23, 57, 89, 34, 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, 47, 2, 46, 1, 53, 52, 54, 51, 50, 22, 3,205, 79,160, 83,125,123, 92,183, 74,137,141,236,210, 83,182,106,103, -188, 84,122,134,245, 8, 69,159,146,218,202, 90,166, 4, 57,180, 46, 46, 81, 83, 75, 74, 35, 14, 26,156,125,166,187, 35, 35,190, - 53, 53, 99, 89,128, 49, 2, 14, 31,147,127,161,175, 33, 0, 0, 0, 1, 0,131, 0, 0, 4, 8, 5,158, 0, 19, 0, 49, 64, 24, - 14, 5, 8, 15, 3,182, 0, 17, 1,194, 8,182, 10, 8, 11, 9, 2, 4, 0, 6, 16, 18, 14, 20, 16,212, 60,196,252, 60,196, 50, - 57, 57, 49, 0, 47,236,244, 60,196,236, 50, 17, 57, 57, 48, 1, 17, 33, 21, 33, 17, 20, 22, 59, 1, 21, 35, 34, 38, 53, 17, 33, - 53, 33, 17, 2,102, 1,162,254, 94, 94,117,207,225,207,170,254,213, 1, 43, 5,158,254,194,143,253,160,124, 98,147,166,203, 2, - 96,143, 1, 62, 0, 1, 0,195,255,227, 4, 27, 4, 94, 0, 19, 0, 44, 64, 24, 9, 14, 3, 0, 3, 1, 6,140, 17,153, 10, 1, -194, 12, 13, 9, 6, 11, 74, 2, 6, 0, 70, 20, 16,244,236,252,236, 50, 49, 0, 47,228, 50,244,236, 17, 23, 57, 57, 48, 19, 17, - 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 38,195,184,107,112,130,138,185,185, 49,169,113,172,168, 1, -168, 2,182,253, 74,151,142,183,171, 2,121,251,162,168, 97,100,225, 0, 0, 0, 0, 1, 0,100, 0, 0, 4,109, 4, 96, 0, 6, - 0,101, 64, 41, 3, 23, 4, 5, 4, 2, 23, 1, 2, 5, 5, 4, 2, 23, 3, 2, 6, 0, 6, 1, 23, 0, 0, 6, 66, 2, 3, 0, -194, 5, 6, 5, 3, 2, 1, 5, 4, 73, 0, 69, 7, 16,244,236, 23, 57, 49, 0, 47,228, 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, 39, 2, 1, 0, 93, 64, 14, 7, 0, 7, 1, 8, 3, 8, 4, 4, 5, - 2, 37, 2, 2, 93, 1, 93, 19, 51, 9, 1, 51, 1, 35,100,191, 1, 69, 1, 70,191,254,114,237, 4, 96,252, 84, 3,172,251,160, - 0, 1, 0, 0, 0, 0, 4,209, 4, 96, 0, 12, 1, 17, 64, 69, 11, 2, 3, 2, 10, 9, 10, 3, 3, 2, 10, 11, 10, 4, 5, 4, - 9, 5, 5, 4, 6, 23, 7, 8, 7, 5, 23, 4, 5, 8, 8, 7, 2, 23, 3, 2, 12, 0, 12, 1, 23, 0, 12, 66, 10, 5, 2, 3, - 8, 3, 6, 0,194, 11, 8, 12, 11, 10, 9, 8, 6, 5, 4, 3, 2, 1, 11, 7, 0, 47,204, 23, 57, 49, 0, 47, 60,244, 60,196, - 17, 23, 57, 48, 75, 83, 88, 7, 5,237, 7, 16, 8,237, 7, 16, 8,237, 7, 16, 5,237, 7, 16, 5,201, 7, 16, 8,201, 7, 16, - 8,201, 7, 16, 5,201, 89, 34,178, 15, 10, 1, 0, 93, 64,140, 11, 9, 4, 11, 31, 0, 31, 1, 29, 2, 26, 3, 28, 4, 25, 5, - 28, 9, 27, 10, 26, 11, 31, 12, 38, 0, 38, 1, 41, 2, 38, 5, 41, 6, 41, 7, 35, 8, 44, 12, 57, 2, 54, 5, 57, 6, 57, 7, - 51, 8, 60, 12, 69, 8, 73, 9, 70, 11, 74, 12, 86, 8, 88, 9, 87, 11, 89, 12,102, 2,105, 3,102, 4,105, 5,106, 9,101, 11, -118, 2,122, 5,120, 8,124, 9,114, 11, 45, 15, 10, 25, 2, 31, 3, 31, 4, 25, 5, 31, 10, 31, 10, 43, 2, 43, 5, 62, 2, 62, - 5, 60, 10, 72, 10, 89, 10,106, 2,105, 5,104, 10,123, 2,127, 3,121, 4,127, 4,122, 5,124, 10,127, 10, 24, 93, 1, 93, 17, - 51, 27, 1, 51, 27, 1, 51, 1, 35, 11, 1, 35,182,195,160,157,162,195,182,254,250,176,179,178,176, 4, 96,252,119, 2, 66,253, -190, 3,137,251,160, 2,102,253,154, 0, 0, 0, 0, 1, 0, 76, 0, 0, 4,133, 4, 96, 0, 11, 0,169, 64, 72, 5, 23, 6, 7, - 6, 4, 23, 3, 4, 7, 7, 6, 4, 23, 5, 4, 1, 2, 1, 3, 23, 2, 2, 1, 11, 23, 0, 1, 0, 10, 23, 9, 10, 1, 1, 0, - 10, 23, 11, 10, 7, 8, 7, 9, 23, 8, 8, 7, 66, 10, 7, 4, 1, 4, 8, 0,194, 5, 2, 10, 7, 4, 1, 4, 8, 0, 2, 73, - 8, 6, 69, 12, 16,244,196,252,196, 17, 23, 57, 49, 0, 47, 60,228, 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,178, 7, 10, 1, 0, 93, - 64, 30, 9, 1, 6, 7,102, 1,105, 7,118, 1,121, 7, 6, 7, 1, 7, 7, 6, 10, 21, 10, 58, 4, 52, 10, 90, 4, 86, 10, 8, - 93, 1, 93, 9, 2, 35, 9, 1, 35, 9, 1, 51, 9, 1, 4, 94,254,111, 1,184,213,254,184,254,185,213, 1,184,254,111,204, 1, - 41, 1, 39, 4, 96,253,232,253,184, 1,193,254, 63, 2, 72, 2, 24,254,107, 1,149, 0, 0, 0, 0, 1, 0,104,254, 86, 4,129, - 4, 96, 0, 18, 0,160, 64, 69, 13, 23, 14, 13, 2, 3, 2, 10, 11, 2, 9, 12, 23, 3, 3, 2, 17, 23, 18, 0, 18, 16, 23, 15, - 16, 0, 0, 18, 16, 23, 17, 16, 13, 14, 13, 15, 23, 14, 14, 13, 66, 16, 19, 13, 0, 14, 9,140, 7,195, 17, 14,194, 19, 17, 16, - 15, 13, 10, 7, 0, 7, 18, 8, 18, 73, 14, 69, 19, 16,244,236,196, 17, 23, 57, 49, 0, 16,228, 50,244,236, 17, 57, 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, 5,237, 17, 23, 57, 7, 16, 8,237, 89, - 34,178, 56, 18, 1, 1, 93, 64, 26, 4, 16,118, 16, 2, 8, 17, 8, 18, 25, 12, 25, 13, 38, 14, 38, 15, 56, 17, 73, 17, 73, 18, - 89, 13, 10, 93, 0, 93, 1, 6, 7, 2, 7, 14, 1, 43, 1, 53, 51, 50, 54, 55, 1, 51, 9, 1, 51, 3, 90, 46, 71, 99, 34, 46, -138, 92,148,109, 81, 92, 71,254, 79,195, 1, 76, 1, 71,195, 1,104,117,191,254,248, 58, 78, 78,154, 94,196, 4, 78,252,148, 3, -108, 0, 0, 0, 0, 1, 0,203, 0, 0, 4, 16, 4, 98, 0, 9, 0, 88, 64, 28, 3, 23, 7, 8, 7, 8, 23, 2, 3, 2, 66, 8, -182, 0,194, 3,182, 5, 8, 3, 0, 4, 1, 73, 0, 6, 69, 10, 16,244,196,236, 50, 17, 57, 57, 49, 0, 47,236,244,236, 48, 75, - 83, 88, 7, 16, 5,237, 7, 16, 5,237, 89, 34,178, 56, 8, 1, 1, 93, 64, 21, 54, 3, 56, 8, 69, 3, 74, 8, 87, 3, 88, 8, -101, 3,106, 8,117, 3,122, 8, 10, 93, 19, 33, 21, 1, 33, 21, 33, 53, 1, 33,227, 3, 45,253,125, 2,131,252,187, 2,131,253, -149, 4, 98,168,252,220,150,170, 3, 37, 0, 0, 0, 1, 0,221,254,178, 3,244, 6, 20, 0, 36, 0,102, 64, 53, 25, 15, 21, 11, - 6, 37, 9, 26, 16, 21, 29, 11, 5, 32, 33, 3, 0, 11,182, 9, 0,182, 1,198, 9,199, 21,182, 19,181, 37, 12, 9, 10, 5, 36, - 22, 25, 0, 29, 10, 5, 19, 2, 20, 0, 32, 25, 61, 10, 15, 5, 37, 16,212, 60,196,252, 60,196, 50, 57, 57, 17, 18, 57, 17, 18, - 57, 57, 17, 18, 57, 57, 49, 0, 16,252,236,228,244,236, 16,238, 18, 23, 57, 18, 57, 17, 57, 57, 17, 18, 57, 17, 18, 57, 57, 48, - 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, 3,244, 64,249,169,107,140, 62, 62,141,106,169,249, 64, 70,140, 85, 91,110,111, 90, 85,140,190,144,148,221, -239,151,116,143,114,150,240,221,147,143, 87,142,248,157,142, 25, 27,142,156,248,143, 86, 0, 0, 0, 1, 2, 18,254, 29, 2,190, - 6, 29, 0, 3, 0, 18,183, 1, 0,181, 4, 0, 4, 2, 4, 16,212,236, 49, 0, 16,252,204, 48, 1, 17, 35, 17, 2,190,172, 6, - 29,248, 0, 8, 0, 0, 0, 0, 0, 1, 0,221,254,178, 3,244, 6, 20, 0, 36, 0,106, 64, 55, 31, 37, 27, 22, 12, 15, 8, 27, - 11, 21, 25, 15, 4, 5, 32, 3, 0, 25,182, 27, 0,182, 35,198, 27,199, 15,182, 17,181, 37, 28, 25, 26, 21, 15, 1, 4, 0, 8, - 26, 21, 35, 18, 4, 0, 26, 31, 21, 61, 16, 0, 11, 4, 37, 16,212, 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,228,244,236, 16,238, 18, 23, 57, 17, 18, 57, 57, 17, 57, 17, 57, 57, 17, 18, 57, 48, - 23, 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,221, 68,141, 86, 90,111,110, 91, 86,141, 68, 62,249,168,107,141, 64, 64,141,107,168,249, 62,190, 88,141,248, -156,142, 27, 25,142,157,248,141, 88,143,147,221,240,150,114,143,116,151,239,221,148, 0, 0, 0, 0, 1, 0, 88, 1,236, 4,121, - 3, 12, 0, 27, 0, 38, 64, 18, 1, 11, 4, 15, 0, 14, 4,160, 25, 18, 0,160, 11, 28, 0, 14, 39, 28, 16,252,196, 49, 0, 16, -212,252, 60,212,236, 50, 18, 57, 17, 18, 57, 48, 1, 21, 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, - 22, 23, 22, 23, 22, 51, 50, 54, 4,121, 75,143, 79, 90,113, 22, 11, 77,103, 51, 79,141, 73, 78,146, 83, 53,100, 74, 12, 21,116, - 93, 70,137, 3, 12,174, 59, 55, 51, 10, 4, 33, 24, 59, 63,174, 60, 54, 22, 31, 5, 10, 55, 61, 0, 2, 2, 4, 0, 0, 2,207, - 5,213, 0, 3, 0, 9, 0, 30, 64, 14, 6, 0,134, 1,136, 4, 7, 6, 8, 2, 3, 4, 0, 10, 16,212, 60,236, 50, 57, 57, 49, - 0, 47,244,252,204, 48, 1, 53, 51, 21, 3, 17, 19, 51, 19, 17, 2, 4,203,203, 21,161, 21, 4,215,254,254,251, 41, 2,143, 1, -101,254,155,253,113, 0, 0, 0, 0, 2, 0,213,254,199, 4, 37, 5,152, 0, 26, 0, 33, 0, 78, 64, 42, 27, 8, 5, 4, 28, 0, -139, 1,141, 28, 9,139, 8,141, 5,203, 12, 28,203, 22, 24, 21,190, 15, 12,153, 13, 34, 27, 21, 14, 7, 23, 12, 4, 8, 0, 31, - 30, 18, 69, 34, 16,244,236,212, 60,212, 60, 60,236, 50, 50, 49, 0, 16,196,228, 50,244, 60,196,236, 16,254,244,238, 16,245,238, - 17, 57, 17, 18, 57, 48, 1, 21, 46, 1, 39, 17, 62, 1, 55, 21, 14, 1, 7, 17, 35, 17, 38, 0, 53, 52, 0, 55, 17, 51, 17, 30, - 1, 1, 17, 14, 1, 21, 20, 22, 4, 37, 67,130, 63, 63,131, 66, 73,130, 57,103,225,254,252, 1, 7,222,103, 57,130,254,222,132, -160,160, 4, 53,172, 40, 44, 4,252,154, 5, 45, 40,172, 31, 34, 3,254,226, 1, 30, 22, 1, 57,251,250, 1, 61, 19, 1, 31,254, -225, 3, 34,252, 43, 3, 96, 12,236,184,184,235, 0, 1, 0,139, 0, 0, 4, 88, 5,240, 0, 27, 0, 62, 64, 32, 7, 22, 1, 18, - 10,182, 20, 8, 12, 1,139, 0,167, 4,151, 25,150, 16, 12,151, 14, 0, 13, 9, 11, 7, 30, 15, 19, 21, 17, 28, 16,212, 60,196, -196,252, 60,196,212,196, 49, 0, 47,236, 50,244,236,244,236, 16,212, 60,238, 50, 18, 57, 57, 48, 1, 21, 46, 1, 35, 34, 6, 29, - 1, 33, 21, 33, 17, 33, 21, 33, 53, 51, 17, 35, 53, 51, 53, 52, 54, 51, 50, 22, 4, 68, 62,127, 67,134,127, 1,115,254,141, 2, - 25,252, 51,236,199,199,219,223, 65,137, 5,182,184, 44, 44,179,192,217,143,254, 47,170,170, 1,209,143,238,254,250, 29, 0, 0, - 0, 2, 0,205, 0,195, 4, 76, 4, 66, 0, 11, 0, 47, 0,129, 64, 26, 32, 22, 27, 23, 14, 40, 45, 13, 24, 30, 27, 9, 42, 12, - 45, 39, 33, 21, 15, 4, 3, 9,255, 31, 23, 27,184, 1, 0, 64, 39, 3,255, 41, 13, 45, 48, 31, 41, 36, 32, 13, 23, 18, 14, 33, - 39, 36, 6, 15, 21, 18, 42, 30, 24, 12, 4, 6, 0,120, 22, 14, 18,121, 6,120, 40, 32, 36, 48, 16,212,196, 50,236,252,196, 50, -236, 17, 23, 57, 17, 57, 57, 17, 18, 57, 57, 17, 18, 57, 57, 17, 18, 57, 57, 49, 0, 16,212,196, 50,236,252,196, 50,236, 17, 23, - 57, 18, 57, 57, 17, 18, 57, 57, 17, 18, 57, 57, 17, 18, 57, 57, 48, 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 3, 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, 3,100,124, 91, 90,125,125, 90, 91,124, 24,166, 90,166, 30, 29, 30, 31,168, 94,166, 46, 91, 50, 48, 96, 48,164, 92,166, 31, - 29, 31, 31,168, 94,166, 46, 91, 51, 46, 94, 2,131, 90,123,123, 90, 92,125,126, 1,116,166, 93,166, 49, 93, 48, 50, 91, 45,166, - 94,167, 31, 30, 29, 28,163, 90,166, 51, 93, 46, 50, 93, 45,166, 95,168, 31, 30, 29, 0, 0, 0, 0, 1, 0, 37, 0, 0, 4,172, - 5,213, 0, 24, 0,127, 64, 68, 3, 37, 4, 9, 4, 2, 37, 1, 2, 9, 9, 4, 2, 37, 3, 2, 20, 0, 20, 1, 37, 0, 0, 20, - 66, 2, 7, 5, 16, 12,231, 18, 10, 23, 5,231, 21, 7, 3, 0,136, 14, 24, 1, 17, 2, 15, 8, 5, 3, 3, 6, 4, 60, 11, 6, -101, 13, 9, 30, 22, 17,101, 0, 60, 19, 15, 25, 16,212, 60,236,236, 50,252, 60,236, 50,236, 18, 23, 57, 18, 57, 17, 57, 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, 19, 51, 9, 1, 51, 1, 51, 21, 33, 7, 21, 33, 21, 33, 17, 35, 17, 33, 53, 33, 53, 39, 33, 53, 51, 37,215, - 1,108, 1,107,217,254,182,252,254,197, 86, 1,145,254,111,203,254,113, 1,143, 90,254,203,243, 5,213,253,109, 2,147,253,207, -111,151, 35,111,253,244, 2, 12,111, 35,151,111, 0, 2, 2, 18,254,162, 2,190, 5,152, 0, 3, 0, 7, 0, 33,188, 0, 5, 1, - 7, 0, 4, 0, 0, 1, 7,183, 1, 8, 4, 0, 4, 6, 2, 8, 16,212, 60,236, 50, 49, 0, 16,212,236,212,236, 48, 1, 17, 35, - 17, 19, 17, 35, 17, 2,190,172,172,172, 5,152,253, 10, 2,246,252, 0,253, 10, 2,246, 0, 0, 0, 2, 0,199,255, 61, 4, 12, - 5,240, 0, 50, 0, 62, 0,106, 64, 60, 35, 36, 30, 57, 51, 11, 17, 36, 42, 4, 1, 27,143, 26,206, 30,207, 23, 1,143, 0,206, - 4,207, 48,150, 23, 63, 35, 7, 17, 60, 33, 42, 54, 11, 36, 57, 51, 4, 7, 33, 85, 20, 7, 85, 45, 20, 60, 85, 0, 38, 14, 45, - 26, 38, 54, 85, 39, 63, 16,212,236,228,196,212,228,236,196, 16,238, 16,238, 17, 23, 57, 18, 57, 17, 18, 57, 18, 57, 49, 0, 16, -196,244,236,244,236, 16,238,246,238, 17, 23, 57, 57, 57, 17, 18, 57, 48, 1, 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, 14, 1, 21, 20, 22, 23, 62, 1, 53, 52, 38, 3,168, 83,143, 57, 97,107,205, 26, 14,212,130, 91, 93, 61, - 58,204,173, 73,155, 87, 87,148, 57,102,113,221, 24,214,128, 93, 91, 60, 59,200,167, 72,153,254,141, 62, 61,141,247, 62, 60,143, - 5,182,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,253,213, 45, 90, 47, 76,135,133, 45, 90, 47, 76,136, 0, 0, 0, 0, 2, 1, 63, - 5, 70, 3,145, 6, 16, 0, 3, 0, 7, 0, 29, 64, 14, 6, 2,222, 4, 0,221, 8, 5, 97, 4, 1, 97, 0, 8, 16,212,252,212, -236, 49, 0, 16,244, 60,236, 50, 48, 1, 51, 21, 35, 37, 51, 21, 35, 1, 63,203,203, 1,136,202,202, 6, 16,202,202,202, 0, 0, - 0, 3, 0, 0, 0,125, 4,209, 5, 78, 0, 25, 0, 49, 0, 73, 0, 68, 64, 39, 13,218, 14, 10,218, 17,220, 38,212, 62, 1,218, - 0, 4,218, 23,217, 26,212, 62,211, 50,209, 74, 7, 92, 20, 13, 0, 94, 44, 7, 56, 20, 32, 7, 56, 89, 68, 47,230,254,197, 16, -254,229, 50, 16,238, 49, 0, 16,244,236,252,244,236,212,236, 16,254,253,238,214,238, 48, 1, 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, 39, 34, 6, 7, 14, 1, 21, 20, 22, 23, 30, 1, 51, 50, 54, 55, - 62, 1, 53, 52, 38, 39, 46, 1, 39, 50, 22, 23, 30, 1, 21, 20, 6, 7, 14, 1, 35, 34, 38, 39, 46, 1, 53, 52, 54, 55, 62, 1, - 3, 96, 58,111, 58,117,135,140,130, 56,103, 50, 52,114, 61,180,207,208,179, 61,114,196,106,181, 75, 75, 77, 77, 75, 76,181,105, -106,181, 76, 76, 75, 76, 75, 75,181,107,127,218, 90, 90, 92, 91, 91, 91,218,126,125,218, 91, 91, 91, 92, 90, 90,218, 4, 47,108, - 28, 27,149,128,132,142, 25, 26,104, 23, 22,200,172,173,202, 22,161, 74, 75, 75,184,106,104,183, 75, 76, 76, 76, 76, 76,181,105, -106,184, 75, 75, 74,103, 90, 90, 91,220,126,125,218, 91, 91, 91, 91, 91, 91,218,125,126,220, 91, 90, 90, 0, 0, 0, 3, 1, 14, - 1,213, 3,193, 5,240, 0, 10, 0, 37, 0, 41, 0,100, 64, 54, 9, 6, 0, 25, 31, 11, 23, 14, 6, 0, 40,243, 38, 0,237, 23, - 38,241, 6,237, 12, 17, 32,239, 31,238, 28,237, 17,240, 35,150, 42, 38, 31, 20, 0, 23, 9, 3, 40, 39, 24, 13, 9,106, 11,107, - 31, 3,106, 20,105, 42, 16,252,236,196,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, 17, 18, 57, 48, 1, 34, 6, 21, 20, 22, 51, 50, 54, 61, 1, 55, 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, 1, 33, 21, 33, 2,172,144,124, - 87, 72,105,131,143,143, 49,131, 82,129,150,187,172,182,119,117, 51,125, 67, 68,135, 63,184,172,253,107, 2,156,253,100, 4, 80, - 68, 78, 64, 77,143,115, 29, 61,254, 64,112, 65, 66,136,116,129,140, 4, 90, 92, 35, 33,127, 28, 28,172,253, 12,123, 0, 0, 0, - 0, 2, 0,119, 0,141, 4, 18, 4, 35, 0, 6, 0, 13, 0, 47, 64, 23, 9, 2, 11, 4,252, 7, 0,172, 14, 2, 12, 5, 9, 0, - 10, 7,118, 12, 3, 0,118, 5, 14, 16,212,252, 60,212,236, 50, 17, 57, 17, 18, 57, 49, 0, 16,244, 60,236, 50, 57, 57, 48, 1, - 21, 9, 1, 21, 1, 53, 1, 21, 9, 1, 21, 1, 53, 2, 76,254,211, 1, 45,254, 43, 3,155,254,211, 1, 45,254, 43, 4, 35,191, -254,244,254,244,191, 1,162, 82, 1,162,191,254,244,254,244,191, 1,162, 82, 0, 0, 1, 0, 88, 1,115, 4,121, 3, 94, 0, 5, - 0, 24, 64, 11, 4,160, 2, 0, 6, 3, 28, 1, 0, 39, 6, 16,252,212,236, 49, 0, 16,212,196,236, 48, 19, 33, 17, 35, 17, 33, - 88, 4, 33,168,252,135, 3, 94,254, 21, 1, 63, 0, 1, 1,100, 1,223, 3,109, 2,131, 0, 3, 0, 17,182, 0,160, 2, 4, 1, - 0, 4, 16,212,196, 49, 0, 16,212,236, 48, 1, 33, 21, 33, 1,100, 2, 9,253,247, 2,131,164, 0, 4, 0, 0, 0,125, 4,209, - 5, 78, 0, 19, 0, 28, 0, 52, 0, 76, 0,133, 64, 73, 15, 14, 13, 3, 16, 12, 93, 9, 10, 9, 11, 93, 10, 10, 9, 66, 12, 10, - 6, 22, 9, 10, 22,215, 15, 20,215, 0, 17, 10,214, 65,212, 41, 0,213, 53,212, 41,211, 29,209, 77, 23, 20, 15, 12, 4, 0, 6, - 16, 9, 26, 3, 21, 16, 92, 18, 26, 92, 10, 3, 91, 71, 7, 35, 18, 88, 59, 7, 35, 89, 47, 47,230,254,229, 16,254,245,196,238, - 16,238, 50, 17, 18, 57, 17, 57, 57, 23, 57, 49, 0, 16,244,236,252,228, 16,254,237, 50, 16,238,214,238, 18, 57, 18, 57, 18, 57, - 48, 75, 83, 88, 7, 16, 5,237, 7, 16, 4,237, 17, 23, 57, 89, 34, 1, 50, 22, 21, 20, 6, 7, 30, 1, 31, 1, 35, 39, 46, 1, - 43, 1, 17, 35, 17, 23, 35, 21, 51, 50, 54, 53, 52, 38, 3, 50, 22, 23, 30, 1, 21, 20, 6, 7, 14, 1, 35, 34, 38, 39, 46, 1, - 53, 52, 54, 55, 62, 1, 23, 34, 6, 7, 14, 1, 21, 20, 22, 23, 30, 1, 51, 50, 54, 55, 62, 1, 53, 52, 38, 39, 46, 1, 2, 88, -147,144, 88, 80, 19, 58, 38,114,143,107, 49, 61, 45, 55,130,232,102,102, 90, 74, 74, 68,127,218, 90, 90, 92, 91, 91, 91,218,126, -125,218, 91, 91, 91, 92, 90, 90,218,126,106,181, 75, 75, 77, 77, 75, 76,181,105,106,181, 76, 76, 75, 76, 75, 75,181, 4, 76, 98, -101, 71, 93, 14, 5, 67, 59,186,174, 80, 42,254,216, 2,182, 84,232, 54, 63, 62, 53, 1, 86, 90, 90, 91,220,126,125,218, 91, 91, - 91, 91, 91, 91,218,125,126,220, 91, 90, 90,103, 74, 75, 75,184,106,104,183, 75, 76, 76, 76, 76, 76,181,105,106,184, 75, 75, 74, - 0, 1, 1, 61, 5, 98, 3,147, 5,246, 0, 3, 0, 17,182, 2,182, 0, 4, 1, 0, 4, 16,212,204, 49, 0, 16,212,236, 48, 1, - 33, 21, 33, 1, 61, 2, 86,253,170, 5,246,148, 0, 2, 1, 43, 3,117, 3,166, 5,240, 0, 14, 0, 26, 0, 32, 64, 17, 21,204, - 9,205, 15,204, 0,150, 27, 24, 83, 6, 84, 18, 83, 12, 27, 16,212,236,252,236, 49, 0, 16,244,236,252,236, 48, 1, 50, 22, 23, - 30, 1, 21, 20, 6, 35, 34, 38, 53, 52, 54, 23, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 2,104, 65,117, 44, 45, 47,186,134, -135,180,184,133, 79,111,109, 79, 80,113,112, 5,240, 49, 46, 45,114, 66,132,183,180,135,134,186,129,111, 80, 80,108,110, 78, 79, -112, 0, 0, 0, 0, 2, 0, 88, 0, 0, 4,121, 4,147, 0, 3, 0, 15, 0, 46, 64, 24, 9,227, 11, 7,160, 4,227, 13, 5, 0, -160, 2, 6, 1, 26, 8, 4, 28, 12, 0, 26, 14, 10, 16, 16,212, 60,236, 50,252, 60,236, 50, 49, 0, 47,236,212, 60,236,252, 60, -236, 48, 55, 33, 21, 33, 1, 17, 33, 21, 33, 17, 35, 17, 33, 53, 33, 17, 88, 4, 33,251,223, 2,100, 1,189,254, 67,168,254, 68, - 1,188,170,170, 4,147,254,183,170,254,180, 1, 76,170, 1, 73, 0, 1, 1, 66, 2,156, 3,125, 5,240, 0, 24, 0, 97, 64, 19, - 0, 87, 4, 5, 4, 22, 23, 2, 21, 24, 87, 5, 5, 4, 66, 5, 24, 14, 0, 65, 9, 1, 9, 0, 2, 0, 14, 1, 9, 0, 15, 0, - 2, 1, 10, 0, 11, 1, 9, 64, 14, 18,150, 25, 5, 0, 24, 14, 8,127, 1, 21, 14, 3, 25, 16,212,196,212,196,236, 17, 57, 57, - 57, 49, 0, 16,244,236,228,212,236, 16,238, 17, 57, 57, 48, 75, 83, 88, 7, 16, 4,237, 17, 23, 57, 7, 16, 5,237, 89, 34, 1, - 33, 21, 33, 53, 55, 62, 1, 53, 52, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 21, 20, 6, 7, 1,227, 1,154,253,197,231,101, - 81,100, 82, 49,113, 63, 65,121, 59,142,172, 74,119, 3, 14,114,110,226, 97,122, 51, 61, 76, 36, 36,125, 28, 28,133,107, 57,119, -117, 0, 0, 0, 0, 1, 1, 70, 2,141, 3,156, 5,240, 0, 40, 0, 92, 65, 20, 0, 0, 0, 19, 1, 9, 0, 21, 0, 10, 1, 9, - 0, 9, 1, 11, 0, 21, 0, 13, 1, 9, 0, 6, 0, 31, 1, 9, 0, 32, 1, 11, 0, 6, 1, 10, 0, 28, 1, 9, 64, 19, 35,150, - 41, 22, 19, 13, 0, 3, 20, 25,127, 38, 16,127, 3, 31, 20, 9, 41, 16,212,196,196,212,236,212,236, 17, 23, 57, 57, 49, 0, 16, -244,236,228,244,236, 16,238,198,246,238, 16,238, 57, 48, 1, 30, 1, 21, 20, 6, 35, 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, 22, 21, 20, 6, 2,219, 94, 99,190,177, 58,114, 59, - 69,113, 45,101,118,110,109, 66, 74, 93, 98, 96, 87, 44,112, 59, 69,117, 50,145,168, 88, 4, 96, 21,108, 80,124,134, 21, 20,121, - 27, 26, 81, 68, 74, 76,108, 63, 60, 56, 63, 24, 23,121, 17, 18,118, 99, 71, 93, 0, 1, 1,219, 4,238, 3,186, 6,102, 0, 3, - 0, 37, 64, 9, 2,186, 0,185, 4, 1, 60, 3, 4, 16,212,236, 49, 0, 16,244, 75,176, 9, 84, 75,176, 14, 84, 91, 88,185, 0, - 0, 0, 64, 56, 89,236, 48, 1, 51, 1, 35, 2,244,198,254,187,154, 6,102,254,136, 0, 0, 0, 0, 1, 0,195,254, 84, 4,158, - 4, 96, 0, 32, 0, 76, 64, 42, 19, 25, 31, 3, 22, 6, 3, 9, 12, 3, 1, 18, 6,140, 15,139, 28, 22,153, 0,195, 10, 1,194, - 33, 25, 11, 9, 32, 31, 2, 0, 18, 9, 6, 11, 74, 2, 6, 0, 70, 33, 16,244,236,252,236,196, 17, 18, 57, 57, 17, 18, 57, 49, - 0, 16,228, 50,228,244, 60,236,252,196, 17, 23, 57, 17, 18, 23, 57, 48, 19, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, - 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 39, 14, 1, 35, 34, 38, 39, 17,195,184,120,111,127,129,185, 32, 33, 9, 29, 28, 38, - 68, 34, 62, 75, 12, 46,133, 89, 92,127, 44,254, 84, 6, 12,253, 72,142,151,170,166, 2,141,252,160, 59, 56, 10, 13,148, 23, 22, - 79, 79, 80, 78, 76, 80,253,213, 0, 1, 0,106,255, 59, 4, 6, 5,213, 0, 13, 0, 35, 64, 17, 4, 8, 0,136, 6, 2, 14, 0, - 7, 87, 5, 3, 87, 1, 49, 11, 14, 16,220,252,252,212,236, 57, 49, 0, 16,196, 50,244,196,204, 48, 1, 33, 17, 35, 17, 35, 17, - 35, 17, 46, 1, 53, 52, 36, 2, 70, 1,192,141,191,141,215,236, 1, 5, 5,213,249,102, 6, 31,249,225, 3, 78, 17,221,184,190, -232, 0, 0, 0, 0, 1, 1,233, 2, 47, 2,229, 3, 96, 0, 3, 0, 21,185, 0, 2, 1, 1,181, 0, 4, 1, 29, 0, 4, 16,212, -236, 49, 0, 16,212,236, 48, 1, 51, 17, 35, 1,233,252,252, 3, 96,254,207, 0,255,255, 1,139,254,117, 3, 41, 0, 0, 16, 6, - 2,163, 0, 0, 0, 1, 1, 88, 2,156, 3,147, 5,223, 0, 10, 0, 57, 65, 11, 0, 7, 0, 0, 1, 9, 0, 9, 0, 3, 1, 9, - 0, 4, 0, 9, 1, 10, 0, 2, 1, 9, 64, 13, 5,150, 11, 8, 97, 6, 87, 3,125, 0, 97, 1, 11, 16,212,236,236,252,236, 49, - 0, 16,244,236,228,212,236, 16,238, 50, 48, 1, 51, 17, 7, 53, 55, 51, 17, 51, 21, 33, 1,106,205,223,229,138,204,253,215, 3, - 10, 2, 99, 41,116, 39,253, 43,110, 0, 0, 0, 0, 3, 0,244, 1,213, 3,221, 5,240, 0, 11, 0, 23, 0, 27, 0, 51, 64, 28, - 26,243, 24,241, 6,237, 18,240, 0,237, 12,150, 28, 25, 15, 9, 24, 21, 3, 9,106, 15,107, 3,106, 21,105, 28, 16,252,236,252, -236, 17, 18, 57, 17, 18, 57, 49, 0, 16,244,236,244,236,252,236, 48, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 39, 50, 22, - 21, 20, 6, 35, 34, 38, 53, 52, 54, 3, 33, 21, 33, 2,104,102,115,115,102,101,117,115,103,170,203,202,171,170,202,203,171, 2, -164,253, 92, 5,123,156,139,139,154,157,136,139,156,117,224,188,187,223,223,187,188,224,252, 96,123, 0, 0, 0, 0, 2, 0,193, - 0,141, 4, 92, 4, 35, 0, 6, 0, 13, 0, 47, 64, 23, 12, 5, 10, 3,252, 7, 0,172, 14, 5, 8, 1, 12, 7, 1,118, 3, 0, - 8,118, 10, 7, 14, 16,212, 60,252,212, 60,236, 18, 57, 17, 18, 57, 49, 0, 16,244, 60,236, 50, 57, 57, 48, 9, 1, 21, 1, 53, - 9, 1, 37, 1, 21, 1, 53, 9, 1, 2,135, 1,213,254, 43, 1, 45,254,211,254, 58, 1,213,254, 43, 1, 45,254,211, 4, 35,254, - 94, 82,254, 94,191, 1, 12, 1, 12,191,254, 94, 82,254, 94,191, 1, 12, 1, 12,255,255, 0, 27,254,242, 4, 90, 6,123, 16, 39, - 6,170, 0,184,252, 86, 16, 39, 0,123,254,254, 0,156, 16, 6, 11,182, 0, 0,255,255, 0, 27,254,242, 4, 90, 6,123, 16, 39, - 0,123,254,254, 0,156, 16, 38, 11,182, 0, 0, 16, 7, 0,116, 0,201,252, 86,255,255, 0, 27,254,242, 4, 90, 6,140, 16, 39, - 6,170, 0,184,252, 86, 16, 39, 0,117,255, 29, 0,156, 16, 6, 11,182, 0, 0, 0, 2, 0,193,255,229, 3,221, 5,213, 0, 33, - 0, 37, 0,130, 64, 71, 11, 10, 9, 8, 7, 5, 12, 6, 37, 25, 26, 25, 3, 4, 2, 2, 5, 37, 26, 26, 25, 66, 33, 26, 5, 2, - 4, 6, 25, 0, 16,139, 15,141, 12, 0, 34,134, 36, 12,151, 19,153, 36,136, 38, 6, 35, 25, 22, 9, 31, 5, 0, 3, 29, 1, 26, - 35, 9, 41, 22, 15, 29, 3, 1, 15, 34, 30, 35, 38, 16,212,252,196,212,236, 16,214,238, 17, 57, 17, 18, 23, 57, 17, 18, 57, 18, - 57, 49, 0, 16,228,244,236, 16,254,205, 16,244,238, 18, 57, 57, 23, 57, 48, 75, 83, 88, 7, 16, 4,237, 17, 23, 57, 7, 16, 4, -237, 17, 23, 57, 89, 34, 1, 51, 21, 20, 6, 15, 1, 14, 1, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 53, 52, 54, 63, - 1, 62, 1, 53, 52, 53, 54, 53, 19, 35, 53, 51, 2, 37,190, 61, 84, 90, 62, 47,131,109, 78,178, 98, 94,191,104,186,221, 67, 94, - 88, 67, 38, 2,196,202,202, 4, 68,154, 98,137, 82, 89, 59, 88, 49, 89,110, 69, 68,188, 57, 56,192,161, 76,131, 92, 86, 64, 84, - 63, 1, 4, 23, 19, 1, 14,254,255,255, 0, 37, 0, 0, 4,172, 7,107, 16, 38, 0, 36, 0, 0, 17, 7, 11,179, 0, 0, 1,117, - 0, 7, 64, 3, 79, 11, 1, 93, 49, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7,107, 16, 38, 0, 36, 0, 0, 17, 7, 11,177, - 0, 0, 1,117, 0, 7, 64, 3, 79, 11, 1, 93, 49, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7,109, 16, 38, 0, 36, 0, 0, - 17, 7, 11,180, 0, 0, 1,117, 0, 20,180, 5, 13, 17, 10, 7, 43, 64, 9, 32, 17, 47, 13, 0, 17, 15, 13, 4, 93, 49, 0, 0, -255,255, 0, 37, 0, 0, 4,172, 7, 94, 16, 38, 0, 36, 0, 0, 17, 7, 11,178, 0, 0, 1,117, 0, 16,180, 5, 35, 20, 10, 7, - 43, 64, 5, 79, 35, 64, 20, 2, 93, 49, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7, 78, 16, 38, 0, 36, 0, 0, 17, 7, 11,176, - 0, 0, 1,117, 0, 28,180, 5, 17, 14, 10, 7, 43, 64, 17,112, 14,127, 17, 48, 14, 63, 17, 32, 14, 47, 17, 0, 14, 15, 17, 8, - 93, 49, 0, 0, 0, 3, 0, 37, 0, 0, 4,172, 7,109, 0, 11, 0, 14, 0, 33, 0,193, 64, 87, 12, 37, 13, 12, 27, 28, 27, 14, - 37, 28, 27, 30, 37, 28, 27, 29, 37, 28, 28, 27, 32, 37, 15, 33, 31, 37, 15, 33, 13, 37, 33, 15, 33, 12, 37, 14, 12, 15, 15, 33, - 66, 12, 27, 15, 9, 30,151, 13, 3,200, 21, 9,144, 13,201, 32, 28, 29, 28, 24, 32, 33, 31, 13, 18, 6, 30, 14, 24, 12, 6, 27, - 0, 80, 24, 15, 6, 80, 18, 24, 75, 28, 47, 18, 75, 33, 34, 16,220,228,252,228, 16,238, 50, 16,238, 50, 17, 57, 17, 57, 57, 17, - 18, 57, 57, 17, 57, 17, 18, 57, 49, 0, 47, 60,230,230,214,238, 16,238, 18, 57, 57, 57, 48, 75, 83, 88, 7, 16, 8,237, 7, 16, - 5,237, 7, 5,237, 7, 5,237, 7, 16, 5,237, 7, 5,237, 7, 5,237, 7, 16, 8,237, 89, 34,178,128, 31, 1, 0, 93, 64, 20, -133, 13,138, 14,138, 30,133, 31, 4,143, 12,143, 12,128, 13,128, 14,128, 30, 5, 93, 1, 93, 1, 52, 38, 35, 34, 6, 21, 20, 22, - 51, 50, 54, 7, 3, 33, 1, 46, 1, 53, 52, 54, 51, 50, 22, 21, 20, 6, 7, 1, 35, 3, 33, 3, 35, 3, 0, 89, 63, 64, 87, 88, - 63, 63, 89,152,213, 1,170,254,148, 58, 65,160,114,114,161, 64, 59, 1,172,209,110,253,245,108,209, 6, 90, 63, 89, 87, 65, 63, - 88, 88,252,253, 8, 3, 80, 33,121, 73,114,161,161,114, 73,118, 36,250,137, 1,133,254,123, 0, 0, 2, 0, 0, 0, 0, 4,156, - 5,213, 0, 15, 0, 19, 0,103, 64, 55, 13, 37, 15, 14, 12, 37, 15, 14, 17, 37, 14, 15, 14, 16, 37, 15, 15, 14, 66, 5,151, 3, - 11,151, 17, 16, 1,151, 0,136, 7,151, 17,176, 3,177, 13, 9, 17, 16, 15, 13, 12, 5, 14, 10, 0, 4, 8, 6, 2, 99, 18, 10, - 14, 47,212, 60,238, 50,214,196,196, 17, 18, 23, 57, 49, 0, 47, 60,238,238,238,244,238, 50, 16,238, 16,238, 48, 75, 83, 88, 7, - 16, 5,237, 7, 16, 5,237, 7, 5,237, 7, 5,237, 89, 34, 1, 21, 33, 17, 33, 21, 33, 17, 33, 21, 33, 17, 33, 3, 35, 1, 23, - 3, 33, 17, 4,137,254,174, 1, 51,254,205, 1,101,253,225,254,160,101,184, 1,154,120,202, 1, 53, 5,213,170,254, 70,170,253, -227,170, 1,127,254,129, 5,213,170,252,252, 3, 4, 0, 0, 0,255,255, 0,139,254,117, 4, 49, 5,240, 16, 38, 2,163,100, 0, - 16, 6, 0, 38, 0, 0, 0, 0,255,255, 0,197, 0, 0, 4, 78, 7,107, 16, 38, 0, 40, 0, 0, 16, 7, 11,179, 0, 18, 1,117, -255,255, 0,197, 0, 0, 4, 78, 7,107, 16, 38, 0, 40, 0, 0, 16, 7, 11,177, 0, 18, 1,117,255,255, 0,197, 0, 0, 4, 78, - 7,109, 16, 38, 0, 40, 0, 0, 16, 7, 11,180, 0, 18, 1,117,255,255, 0,197, 0, 0, 4, 78, 7, 78, 16, 38, 0, 40, 0, 0, - 16, 7, 11,176, 0, 18, 1,117,255,255, 0,201, 0, 0, 4, 6, 7,107, 16, 38, 0, 44, 0, 0, 16, 7, 11,179, 0, 0, 1,117, -255,255, 0,201, 0, 0, 4, 6, 7,107, 16, 38, 0, 44, 0, 0, 16, 7, 11,177, 0, 0, 1,117,255,255, 0,201, 0, 0, 4, 6, - 7,109, 16, 38, 0, 44, 0, 0, 17, 7, 11,180, 0, 0, 1,117, 0, 11,180, 16, 32, 1, 0, 0, 16, 73, 99, 58, 49, 0, 0, 0, -255,255, 0,201, 0, 0, 4, 6, 7, 78, 16, 38, 0, 44, 0, 0, 17, 7, 11,176, 0, 0, 1,117, 0, 8,180, 1, 18, 15, 0, 7, - 43, 49, 0, 0, 0, 2, 0, 8, 0, 0, 4, 78, 5,213, 0, 12, 0, 25, 0, 59, 64, 33, 23, 8,182, 10, 19,151, 0,136, 13,151, - 21, 10, 6, 19, 13, 6, 0, 4, 22, 20, 16, 50, 3, 49, 9, 48, 24, 20, 30, 11, 7, 48, 26, 16,252, 60,236, 50,236,252,236, 16, -196, 23, 57, 49, 0, 47,198, 50,238,246,238, 16,238, 50, 48, 1, 32, 0, 17, 16, 0, 41, 1, 17, 35, 53, 51, 17, 1, 32, 54, 17, - 16, 38, 33, 35, 17, 33, 21, 33, 17, 1,180, 1, 86, 1, 68,254,187,254,171,254,209,125,125, 1, 47, 0,255,202,201,255, 0, 96, - 1, 8,254,248, 5,213,254,148,254,128,254,130,254,149, 2,197,149, 2,123,250,209,251, 1, 72, 1, 75,251,254, 43,149,253,225, -255,255, 0,139, 0, 0, 4, 70, 7, 98, 16, 38, 0, 49, 0, 0, 17, 7, 11,178, 0, 0, 1,121, 0, 16,180, 4, 34, 19, 0, 7, - 43, 64, 5, 79, 34, 64, 19, 2, 93, 49, 0, 0,255,255, 0,117,255,227, 4, 92, 7,107, 16, 38, 0, 50, 0, 0, 17, 7, 11,179, - 0, 0, 1,117, 0, 7, 64, 3, 79, 24, 1, 93, 49, 0, 0, 0,255,255, 0,117,255,227, 4, 92, 7,107, 16, 38, 0, 50, 0, 0, - 17, 7, 11,177, 0, 0, 1,117, 0, 7, 64, 3, 79, 24, 1, 93, 49, 0, 0, 0,255,255, 0,117,255,227, 4, 92, 7,109, 16, 38, - 0, 50, 0, 0, 17, 7, 11,180, 0, 0, 1,117, 0, 20,180, 12, 26, 30, 18, 7, 43, 64, 9, 32, 30, 47, 26, 0, 30, 15, 26, 4, - 93, 49, 0, 0,255,255, 0,117,255,227, 4, 92, 7, 94, 16, 38, 0, 50, 0, 0, 17, 7, 11,178, 0, 0, 1,117, 0, 16,180, 12, - 48, 33, 18, 7, 43, 64, 5, 79, 48, 64, 33, 2, 93, 49, 0, 0,255,255, 0,117,255,227, 4, 92, 7, 78, 16, 38, 0, 50, 0, 0, - 17, 7, 11,176, 0, 0, 1,117, 0, 28,180, 12, 30, 27, 18, 7, 43, 64, 17,112, 27,127, 30, 48, 27, 63, 30, 32, 27, 47, 30, 0, - 27, 15, 30, 8, 93, 49, 0, 0, 0, 1, 0,150, 0,174, 4, 59, 4, 84, 0, 11, 0, 46, 64, 28, 10, 8, 7, 6, 4, 2, 1, 0, - 8, 11, 9, 5, 3, 12, 11, 10, 9, 8, 7, 5, 4, 3, 1, 9, 6, 2, 0, 12, 16,212, 60,204, 23, 57, 49, 0, 16,212, 60,204, - 50, 23, 57, 48, 19, 9, 1, 55, 9, 1, 23, 9, 1, 7, 9, 1,150, 1, 94,254,162,116, 1, 94, 1, 95,116,254,162, 1, 92,116, -254,163,254,164, 1, 37, 1, 92, 1, 94,117,254,162, 1, 94,117,254,162,254,164,119, 1, 94,254,162, 0, 0, 0, 0, 3, 0, 8, -255,186, 4,176, 6, 23, 0, 9, 0, 19, 0, 43, 0,107, 64, 58, 43, 41, 38, 11, 10, 9, 0, 4, 14, 29, 31, 32, 20, 14, 3, 42, - 38, 30, 3,151, 26, 14,151, 38,150, 26,153, 31, 31, 30, 44, 32, 35, 17, 42, 20, 23, 11, 10, 9, 0, 4, 6, 29, 35, 17, 41, 6, - 43, 6, 50, 23, 54, 17, 50, 35, 53, 44, 16,252,236,252,236,192, 18, 57, 17, 18, 57, 18, 23, 57, 17, 57, 57, 17, 18, 57, 17, 57, - 57, 49, 0, 47,228,244,236, 16,238,192, 16,192, 17, 18, 57, 57, 18, 57, 18, 23, 57, 17, 57, 57, 48, 1, 30, 1, 51, 50, 18, 17, - 52, 38, 39, 9, 1, 46, 1, 35, 34, 2, 17, 20, 22, 1, 22, 18, 21, 16, 2, 35, 34, 38, 39, 7, 39, 55, 38, 2, 53, 16, 18, 51, - 50, 22, 23, 55, 23, 1,115, 30,131, 84,154,135, 10, 10,253,221, 1,248, 25,115, 86,157,131, 5, 2,187, 41, 43,247,253,121,180, - 61,143,103,178, 32, 37,247,252,115,173, 57,139,100, 1, 47, 78, 90, 1, 25, 1, 73,110,136, 45,253,203, 2,207, 81, 85,254,220, -254,134, 80,101, 2,230, 81,254,254,163,254,122,254,128, 81, 81,203, 70,252, 73, 1, 6,158, 1,135, 1,128, 82, 80,201, 74, 0, -255,255, 0,147,255,227, 4, 61, 7,107, 16, 38, 0, 56, 0, 0, 17, 7, 11,179, 0, 0, 1,117, 0, 7, 64, 3, 79, 31, 1, 93, - 49, 0, 0, 0,255,255, 0,147,255,227, 4, 61, 7,107, 16, 38, 0, 56, 0, 0, 17, 7, 11,177, 0, 0, 1,117, 0, 7, 64, 3, - 79, 31, 1, 93, 49, 0, 0, 0,255,255, 0,147,255,227, 4, 61, 7,109, 16, 38, 0, 56, 0, 0, 17, 7, 11,180, 0, 0, 1,117, - 0, 20,180, 17, 32, 36, 1, 7, 43, 64, 9, 32, 36, 47, 32, 0, 36, 15, 32, 4, 93, 49, 0, 0,255,255, 0,147,255,227, 4, 61, - 7, 78, 16, 38, 0, 56, 0, 0, 17, 7, 11,176, 0, 0, 1,117, 0, 28,180, 17, 36, 33, 1, 7, 43, 64, 17,112, 33,127, 36, 48, - 33, 63, 36, 32, 33, 47, 36, 0, 33, 15, 36, 8, 93, 49, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7,107, 16, 38, 0, 60, 0, 0, - 17, 7, 11,177, 0, 0, 1,117, 0, 7, 64, 3, 32, 9, 1, 93, 49, 0, 0, 0, 0, 2, 0,201, 0, 0, 4,141, 5,213, 0, 8, - 0, 21, 0, 52,181, 1,151, 18, 0,151, 11,184, 1, 8, 64, 19, 9,136, 20, 8, 2, 18, 12, 0, 5, 50, 15, 56, 19, 10, 0, 30, - 9, 51, 22, 16,252,236, 50, 50,252,236, 17, 57, 57, 57, 57, 49, 0, 47,244,252,236,212,236, 48, 1, 17, 51, 50, 54, 53, 52, 38, - 35, 1, 51, 17, 51, 32, 22, 21, 20, 6, 33, 35, 17, 35, 1,147,234,158,157,157,158,254, 76,202,254, 1, 4,248,248,254,252,254, -202, 4, 33,253,243,132,131,131,131, 1,180,254,242,210,218,219,209,254,145, 0, 0, 1, 0,188,255,227, 4,125, 6, 20, 0, 47, - 0, 86, 64, 49, 45, 39, 33, 12, 4, 6, 13, 32, 0, 4, 42, 22,139, 23, 26,140, 19, 42,140, 3,155, 19,153, 46, 12, 9, 13, 29, - 32, 33, 39, 9, 1, 36, 39, 6, 6, 29, 6, 36, 16, 22, 45, 6, 16, 68, 0, 70, 48, 16,244,236,252,204, 16,198,238,212,238, 16, -238, 17, 57, 57, 18, 57, 18, 57, 49, 0, 47,228,254,238, 16,254,213,238, 18, 23, 57, 23, 57, 48, 19, 52, 54, 51, 50, 22, 23, 14, - 1, 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, 55, - 46, 1, 35, 34, 6, 21, 17, 35,188,210,216,204,210, 2,155,168, 55, 67, 58,151,111,224,196, 69,135, 66, 76,133, 59,108,128, 65, -120, 67, 92, 91,162,156, 2,121,113,121,114,187, 4,113,213,206,221,216, 14,124,100, 49, 77, 42, 37, 93,164,116,154,178, 25, 24, -164, 31, 30, 97, 81, 71, 95, 74, 39, 56,133, 79,128,171, 35,107,114,131,139,251,147, 0, 0, 0,255,255, 0,133,255,227, 4, 35, - 6,102, 16, 38, 0, 68, 0, 0, 16, 6, 0, 67, 0, 0, 0, 0,255,255, 0,133,255,227, 4, 35, 6,102, 16, 38, 0, 68, 0, 0, - 16, 6, 0,118, 0, 0, 0, 0,255,255, 0,133,255,227, 4, 35, 6,102, 16, 38, 0, 68, 0, 0, 16, 6, 2, 95, 0, 0, 0, 0, -255,255, 0,133,255,227, 4, 35, 6, 55, 16, 38, 0, 68, 0, 0, 16, 6, 2,110, 0, 0, 0, 0,255,255, 0,133,255,227, 4, 35, - 6, 16, 16, 38, 0, 68, 0, 0, 16, 6, 0,106, 0, 0, 0, 0,255,255, 0,133,255,227, 4, 35, 7, 6, 16, 38, 0, 68, 0, 0, - 16, 6, 2,108, 0, 0, 0, 0, 0, 3, 0, 41,255,227, 4,176, 4,123, 0, 10, 0, 19, 0, 67, 0,143, 64, 73, 61, 55, 15, 48, - 12, 18, 3, 54, 11, 37, 8, 0, 30, 67, 11, 1, 31,139, 30,141, 27, 8,140, 34, 55,139, 54,191, 15, 46, 11,182, 20, 1,193, 51, - 15,140, 64, 58,190, 40, 34,153, 68, 2, 5, 0, 24, 37, 61, 3, 47, 18, 46, 5, 21, 18, 77, 47, 0,117, 30, 11, 77, 20, 67, 5, - 77, 54, 43,115, 68, 16,244,196,236,252,236,196,252,196,236, 50, 18, 57, 17, 18, 23, 57, 17, 18, 57, 49, 0, 16,228, 50,244, 60, -236, 50,244, 60,236, 50, 16,244,238, 16,254, 60,244,238, 17, 18, 57, 18, 57, 17, 57, 17, 18, 23, 57, 17, 18, 57, 48, 64, 9, 48, - 53, 48, 54, 48, 55, 48, 56, 4, 93, 1, 53, 35, 34, 6, 21, 20, 22, 51, 50, 54, 1, 53, 52, 38, 35, 34, 6, 29, 1, 5, 33, 14, - 1, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 39, 14, 1, 35, 34, 38, 53, 52, 54, 59, 1, 53, 52, 38, 35, 34, 6, 7, - 53, 62, 1, 51, 50, 22, 23, 62, 1, 51, 50, 22, 17, 2, 31, 49,169,120, 89, 83, 92, 74, 1,237, 77, 87, 87, 76, 1,235,254, 21, - 1, 1,101,112, 79,129, 50, 55,132, 71,110,149, 32, 39,133, 97,156,163,200,191,117, 99, 94, 56,132, 62, 77,132, 60, 91,124, 37, - 33,132, 89,174,145, 1,186, 72, 90,113, 89, 97,133, 1,143, 52,151,133,136,157, 43,143, 15, 35, 34,161,144, 51, 51,172, 41, 43, - 82, 78, 80, 80,172,164,171,179, 88,120,128, 43, 39,168, 35, 33, 63, 64, 61, 66,237,254,206, 0,255,255, 0,195,254,117, 4, 37, - 4,123, 16, 38, 2,163,104, 0, 16, 6, 0, 70, 0, 0, 0, 0,255,255, 0,123,255,227, 4, 88, 6,102, 16, 38, 0, 72, 0, 0, - 16, 6, 0, 67, 14, 0, 0, 0,255,255, 0,123,255,227, 4, 88, 6,102, 16, 38, 0, 72, 0, 0, 16, 6, 0,118, 14, 0, 0, 0, -255,255, 0,123,255,227, 4, 88, 6,102, 16, 38, 0, 72, 0, 0, 16, 6, 2, 95, 14, 0, 0, 0,255,255, 0,123,255,227, 4, 88, - 6, 16, 16, 38, 0, 72, 0, 0, 17, 6, 0,106, 14, 0, 0, 7, 64, 3, 64, 29, 1, 93, 49, 0,255,255, 0,178, 0, 0, 4, 68, - 6,102, 16, 38, 0,243, 0, 0, 16, 6, 0, 67, 0, 0, 0, 0,255,255, 0,178, 0, 0, 4, 68, 6,102, 16, 38, 0,243, 0, 0, - 16, 6, 0,118, 0, 0, 0, 0,255,255, 0,178, 0, 0, 4, 68, 6,102, 16, 38, 0,243, 0, 0, 17, 6, 2, 95, 0, 0, 0, 9, - 64, 5, 64, 10, 48, 10, 2, 93, 49, 0, 0, 0,255,255, 0,178, 0, 0, 4, 68, 6, 16, 16, 38, 0,243, 0, 0, 17, 6, 0,106, - 24, 0, 0, 8,180, 3, 16, 13, 6, 7, 43, 49, 0, 2, 0,137,255,227, 4, 72, 6, 20, 0, 26, 0, 41, 0,139, 64, 79, 18, 23, - 19, 18, 1, 0, 13, 14, 15, 16, 4, 17, 23, 0, 1, 0, 22, 23, 23, 24, 23, 21, 23, 20, 21, 24, 24, 23, 66, 26, 25, 24, 21, 20, - 19, 6, 22, 15, 30, 18, 0, 22, 30,140, 12, 36,140, 6,153, 12, 22,155, 42, 18, 21, 24, 3, 39, 20, 19, 22, 3, 33, 9, 26, 25, - 3, 15, 0, 33, 39, 18, 3, 68, 33, 18, 9, 62, 42, 16,244,236,252,236, 17, 57, 57, 17, 57, 57, 17, 18, 23, 57, 17, 23, 57, 49, - 0, 16,236,204,244,236, 16,238, 18, 57, 57, 18, 57, 18, 23, 57, 48, 75, 83, 88, 7, 16, 8,237, 7, 16, 5,237, 7, 16, 5,237, - 23, 57, 7, 8,237, 89, 34, 1, 22, 18, 21, 16, 2, 35, 34, 2, 17, 16, 18, 51, 50, 22, 23, 46, 1, 39, 5, 39, 55, 39, 51, 23, - 37, 23, 3, 46, 1, 35, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 2,205,197,182,251,229,228,251,251,224, 34, 35, 15, 33, 72, - 38,254,233, 30,237,182,219,127, 1, 33, 33,174, 35, 82, 45,146,153,148,136,137,148, 58, 5, 47,212,254,132,200,254,244,254,216, - 1, 40, 1, 12, 1, 9, 1, 40, 2, 2, 45, 89, 44, 92, 98, 80,200,145, 94, 98,254, 23, 13, 13,210,199,196,212,212,196,110,203, -255,255, 0,195, 0, 0, 4, 27, 6, 55, 16, 38, 0, 81, 0, 0, 16, 6, 2,110, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, - 6,102, 16, 38, 0, 82, 0, 0, 16, 6, 0, 67, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, 6,102, 16, 38, 0, 82, 0, 0, - 16, 6, 0,118, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, 6,102, 16, 38, 0, 82, 0, 0, 17, 6, 2, 95, 0, 0, 0, 16, -180, 15, 26, 30, 21, 7, 43, 64, 5, 15, 26, 0, 30, 2, 93, 49,255,255, 0,137,255,227, 4, 72, 6, 55, 16, 38, 0, 82, 0, 0, - 17, 6, 2,110, 0, 0, 0, 24,180, 15, 46, 32, 21, 7, 43, 64, 13, 48, 32, 63, 46, 32, 32, 47, 46, 16, 32, 31, 46, 6, 93, 49, -255,255, 0,137,255,227, 4, 72, 6, 16, 16, 38, 0, 82, 0, 0, 17, 6, 0,106, 0, 0, 0, 24,180, 9, 30, 27, 3, 7, 43, 64, - 13,127, 30,112, 27, 95, 30, 80, 27, 79, 30, 64, 27, 6, 93, 49, 0, 3, 0, 88, 0,150, 4,121, 4,111, 0, 3, 0, 7, 0, 11, - 0, 39, 64, 19, 2,254, 0, 4,254, 6, 8,160, 0, 10, 12, 9, 5, 1,119, 8, 4, 0, 12, 16,212, 60,196,252, 60,196, 49, 0, - 16,212,196,252,212,236, 16,238, 48, 1, 51, 21, 35, 17, 51, 21, 35, 5, 33, 21, 33, 1,238,245,245,245,245,254,106, 4, 33,251, -223, 1,139,245, 3,217,246,162,170, 0, 0, 0, 0, 3, 0, 47,255,160, 4,150, 4,188, 0, 9, 0, 19, 0, 43, 0,115, 64, 62, - 43, 44, 38, 31, 29, 26, 19, 10, 1, 0, 4, 13, 41, 38, 32, 20, 13, 4, 42, 38, 30, 26, 4,140, 38, 13,140, 26,190, 38,153, 44, - 43, 44, 42, 20, 23, 16, 32, 30, 35, 19, 10, 1, 0, 4, 7, 41, 23, 16, 29, 7, 31, 7, 18, 35, 68, 16, 18, 23, 62, 44, 16,244, -236,252,236,192, 18, 57, 17, 18, 57, 18, 23, 57, 17, 57, 57, 17, 18, 57, 57, 17, 57, 49, 0, 16,228,244,236, 16,238, 16,192, 16, -192, 17, 18, 57, 57, 18, 57, 18, 23, 57, 17, 57, 57, 17, 18, 57, 48, 9, 1, 30, 1, 51, 50, 54, 53, 52, 38, 39, 46, 1, 35, 34, - 6, 21, 20, 22, 23, 7, 46, 1, 53, 16, 18, 51, 50, 22, 23, 55, 23, 7, 30, 1, 21, 16, 2, 35, 34, 38, 39, 7, 39, 3,109,254, - 49, 36,101, 65,141,144, 12, 72, 35, 99, 67,139,149, 14, 14,139, 39, 41,246,233,100,158, 60,147, 93,164, 42, 44,246,234,103,157, - 57,160, 92, 3, 12,253,209, 47, 47,219,213, 52,111,175, 48, 46,214,202, 48,116, 71,160, 71,195,113, 1, 30, 1, 46, 55, 56,176, - 77,195, 66,193,122,254,225,254,211, 59, 60,186, 76, 0, 0, 0,255,255, 0,195,255,227, 4, 27, 6,102, 16, 38, 0, 88, 0, 0, - 16, 6, 0, 67, 0, 0, 0, 0,255,255, 0,195,255,227, 4, 27, 6,102, 16, 38, 0, 88, 0, 0, 16, 6, 0,118, 0, 0, 0, 0, -255,255, 0,195,255,227, 4, 27, 6,102, 16, 38, 0, 88, 0, 0, 17, 6, 2, 95, 0, 0, 0, 16,180, 11, 22, 26, 1, 7, 43, 64, - 5, 15, 22, 0, 26, 2, 93, 49,255,255, 0,195,255,227, 4, 27, 6, 16, 16, 38, 0, 88, 0, 0, 17, 6, 0,106, 0, 0, 0, 24, -180, 10, 26, 23, 2, 7, 43, 64, 13,127, 26,112, 23, 95, 26, 80, 23, 79, 26, 64, 23, 6, 93, 49,255,255, 0,104,254, 86, 4,129, - 6,102, 16, 38, 0, 92, 0, 0, 16, 6, 0,118, 0, 0, 0, 0, 0, 2, 0,190,254, 86, 4, 84, 6, 31, 0, 16, 0, 28, 0, 51, - 64, 28, 5, 0, 26, 20,140, 8, 26,140, 14,153, 8,190, 1,195, 3,197, 29, 17, 18, 11, 71, 23, 4, 0, 6, 2, 70, 29, 16,244, -236, 50, 50,252,236, 49, 0, 16,236,228,228,244,236, 16,238, 17, 57, 57, 48, 37, 17, 35, 17, 51, 17, 62, 1, 51, 50, 18, 17, 16, - 2, 35, 34, 38, 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 1,119,185,185, 46,153,100,203,231,232,202,102,153, 1,240,135, -133,134,138,138,134,133,135,141,253,201, 7,201,253,178, 83, 87,254,198,254,234,254,239,254,201, 87, 1,245,214,218,219,213,212, -220,218, 0, 0,255,255, 0,104,254, 86, 4,129, 6, 16, 16, 38, 0, 92, 0, 0, 16, 6, 0,106, 0, 0, 0, 0,255,255, 0, 37, - 0, 0, 4,172, 7, 48, 16, 38, 11,189, 0, 0, 17, 6, 0, 36, 0, 0, 0, 20,180, 9, 2, 3, 14, 7, 43, 64, 9, 64, 3, 79, - 2, 32, 3, 47, 2, 4, 93, 49,255,255, 0,133,255,227, 4, 35, 5,246, 16, 38, 2,128, 0, 0, 16, 6, 0, 68, 0, 0, 0, 0, -255,255, 0, 37, 0, 0, 4,172, 7,109, 16, 38, 11,184, 0, 0, 17, 6, 0, 36, 0, 0, 0, 24,180, 19, 8, 0, 24, 7, 43, 64, - 13, 95, 8, 80, 0, 79, 8, 64, 0, 47, 8, 32, 0, 6, 93, 49,255,255, 0,133,255,227, 4, 35, 6, 72, 16, 38, 2,130, 0, 0, - 16, 6, 0, 68, 0, 0, 0, 0,255,255, 0, 37,254,117, 4,224, 5,213, 16, 39, 2,109, 1,199, 0, 0, 16, 6, 0, 36, 0, 0, -255,255, 0,133,254,117, 4,114, 4,123, 16, 39, 2,109, 1, 89, 0, 0, 16, 6, 0, 68, 0, 0,255,255, 0,139,255,227, 4, 49, - 7,107, 16, 38, 0, 38, 0, 0, 16, 7, 11,177, 0, 90, 1,117,255,255, 0,195,255,227, 4, 37, 6,102, 16, 38, 0, 70, 0, 0, - 16, 6, 0,118, 90, 0, 0, 0,255,255, 0,139,255,227, 4, 49, 7,116, 16, 39, 11,180, 0,126, 1,124, 16, 6, 0, 38, 0, 0, -255,255, 0,195,255,227, 4, 37, 6,102, 16, 38, 2, 95, 90, 0, 16, 6, 0, 70, 0, 0, 0, 0,255,255, 0,139,255,227, 4, 49, - 7, 80, 16, 38, 11,185, 75, 0, 16, 6, 0, 38, 0, 0, 0, 0,255,255, 0,195,255,227, 4, 37, 6, 16, 16, 38, 2,131, 75, 0, - 16, 6, 0, 70, 0, 0, 0, 0,255,255, 0,139,255,227, 4, 49, 7,109, 16, 38, 0, 38, 0, 0, 16, 7, 11,181, 0, 90, 1,117, -255,255, 0,195,255,227, 4, 37, 6,102, 16, 38, 0, 70, 0, 0, 16, 6, 2, 96, 90, 0, 0, 0,255,255, 0,137, 0, 0, 4, 82, - 7,103, 16, 38, 0, 39, 0, 0, 16, 7, 11,181,255,178, 1,111,255,255, 0,123,255,227, 5, 32, 6, 21, 16, 39, 11,175, 2, 58, -255,175, 17, 6, 0, 71, 0, 0, 0, 13,185, 0, 0, 0, 64, 56, 64, 3,127, 0, 1, 93, 49, 0,255,255, 0, 8, 0, 0, 4, 78, - 5,213, 16, 6, 0,146, 0, 0, 0, 2, 0,123,255,227, 4,209, 6, 20, 0, 24, 0, 36, 0, 72, 64, 9, 13, 0, 34, 28, 7, 3, -231, 9, 1,184, 1, 12, 64, 28, 34,140, 22, 28,140, 16,153, 22,190, 5,155, 11, 2, 31, 12, 4, 3, 0, 6, 8, 10, 6, 71, 25, - 18, 19, 72, 37, 16,244,236,252, 60,196,252, 23, 60,196, 49, 0, 47,236,228,244,236, 16,238,253, 60,238, 50, 17, 18, 57, 57, 48, - 1, 17, 33, 53, 33, 53, 51, 21, 51, 21, 35, 17, 35, 53, 14, 1, 35, 34, 2, 17, 16, 18, 51, 50, 22, 1, 20, 22, 51, 50, 54, 53, - 52, 38, 35, 34, 6, 3, 90,254,207, 1, 49,184,191,191,184, 46,153,100,203,233,234,202,101,154,254, 15,136,133,133,139,139,133, -133,136, 3,209, 1, 53,121,149,149,121,250,250,141, 83, 87, 1, 59, 1, 21, 1, 17, 1, 55, 87,254, 11,214,218,220,212,213,219, -218, 0, 0, 0,255,255, 0,197, 0, 0, 4, 78, 7, 48, 16, 38, 11,189, 18, 0, 16, 6, 0, 40, 0, 0, 0, 0,255,255, 0,123, -255,227, 4, 88, 5,246, 16, 38, 2,128, 35, 0, 16, 6, 0, 72, 0, 0, 0, 0,255,255, 0,197, 0, 0, 4, 78, 7,109, 16, 38, - 11,184, 18, 0, 16, 6, 0, 40, 0, 0, 0, 0,255,255, 0,123,255,227, 4, 88, 6, 72, 16, 38, 2,130, 14, 0, 16, 6, 0, 72, - 0, 0, 0, 0,255,255, 0,197, 0, 0, 4, 78, 7, 80, 16, 38, 11,185, 18, 0, 16, 6, 0, 40, 0, 0, 0, 0,255,255, 0,123, -255,227, 4, 88, 6, 16, 16, 38, 2,131, 14, 0, 16, 6, 0, 72, 0, 0, 0, 0,255,255, 0,197,254,117, 4, 78, 5,213, 16, 39, - 2,109, 1, 49, 0, 0, 16, 6, 0, 40, 0, 0,255,255, 0,123,254,117, 4, 88, 4,123, 16, 39, 2,109, 0,246, 0, 0, 16, 6, - 0, 72, 0, 0,255,255, 0,197, 0, 0, 4, 78, 7,103, 16, 38, 0, 40, 0, 0, 16, 7, 11,181, 0, 36, 1,111,255,255, 0,123, -255,227, 4, 88, 6, 97, 16, 38, 0, 72, 0, 0, 16, 6, 2, 96, 35,251, 0, 0,255,255, 0,102,255,227, 4, 80, 7,109, 16, 39, - 11,180, 0, 0, 1,117, 16, 6, 0, 42, 0, 0,255,255, 0,123,254, 72, 4, 18, 6,102, 16, 38, 2, 95, 0, 0, 16, 6, 0, 74, - 0, 0, 0, 0,255,255, 0,102,255,227, 4, 80, 7,109, 16, 38, 11,184, 50, 0, 16, 6, 0, 42, 0, 0, 0, 0,255,255, 0,123, -254, 72, 4, 18, 6, 72, 16, 38, 2,130, 0, 0, 16, 6, 0, 74, 0, 0, 0, 0,255,255, 0,102,255,227, 4, 80, 7, 80, 16, 38, - 11,185, 50, 0, 16, 6, 0, 42, 0, 0, 0, 0,255,255, 0,123,254, 72, 4, 18, 6, 16, 16, 38, 2,131, 0, 0, 16, 6, 0, 74, - 0, 0, 0, 0,255,255, 0,102,253,195, 4, 80, 5,240, 16, 39, 2,162, 0,128,255,225, 16, 6, 0, 42, 0, 0,255,255, 0,123, -254, 72, 4, 18, 6, 78, 16, 39, 2,142, 0, 17, 1, 46, 16, 6, 0, 74, 0, 0,255,255, 0,137, 0, 0, 4, 72, 7,109, 16, 39, - 11,180, 0, 0, 1,117, 17, 6, 0, 43, 0, 0, 0, 20,180, 12, 2, 6, 7, 7, 43, 64, 9, 32, 6, 47, 2, 0, 6, 15, 2, 4, - 93, 49, 0, 0,255,255, 0,195, 0, 0, 4, 27, 7,109, 16, 39, 11,180, 0, 0, 1,117, 17, 6, 0, 75, 0, 0, 0, 24, 0, 75, -176, 18, 81, 88,185, 0, 0, 0, 64, 56, 89, 64, 7,112, 0, 96, 0, 79, 0, 3, 93, 48, 0, 0, 0, 2, 0, 3, 0, 0, 4,206, - 5,213, 0, 19, 0, 23, 0, 63, 64, 33, 6, 2, 18,151, 9, 20, 17, 12,151, 21,177, 4, 0,136, 14, 10, 7, 12, 23, 4, 30, 9, - 5, 49, 18, 13, 20, 1, 30, 16, 0, 48, 24, 16,252, 60,236, 50, 50,204,252, 60,236, 50, 50,204, 49, 0, 47, 60,228, 50,252,236, -220, 60, 60,236, 50, 50, 48, 19, 51, 21, 33, 53, 51, 21, 51, 21, 35, 17, 35, 17, 33, 17, 35, 17, 35, 53, 51, 23, 21, 33, 53,137, -202, 2, 42,202,135,135,202,253,214,202,134,134,202, 2, 42, 5,213,224,224,224,164,251,175, 2,199,253, 57, 4, 81,164,164,224, -224, 0, 0, 0, 0, 1, 0, 70, 0, 0, 4, 27, 6, 20, 0, 27, 0, 63, 64, 34, 9, 22, 3, 0, 3, 1, 18, 14,182, 21, 13, 6, -140, 25,190, 16,155, 10, 1, 2, 6, 0, 74, 16, 19, 17, 21, 9, 6, 14, 16, 11, 70, 28, 16,244, 60,204,252, 50, 50,204, 16,252, -236, 49, 0, 47, 60,236,244,236,220, 60,236, 50, 17, 23, 57, 57, 48, 1, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 35, 53, - 51, 53, 51, 21, 33, 21, 33, 17, 62, 1, 51, 50, 22, 4, 27,185,106,113,129,139,184,125,125,184, 1, 97,254,159, 49,168,115,171, -169, 2,182,253, 74, 2,182,151,142,183,171,253,135, 4,246,164,122,122,164,254,194, 96, 99,225,255,255, 0,201, 0, 0, 4, 6, - 7, 94, 16, 39, 11,178, 0, 0, 1,117, 17, 6, 0, 44, 0, 0, 0, 24,180, 31, 24, 9, 30, 7, 43, 64, 13, 79, 24, 64, 9, 63, - 24, 48, 9, 47, 24, 32, 9, 6, 93, 49, 0, 0,255,255, 0,178, 0, 0, 4, 68, 6, 55, 16, 38, 2,110, 0, 0, 16, 6, 0,243, - 0, 0, 0, 0,255,255, 0,201, 0, 0, 4, 6, 7, 48, 16, 38, 11,189, 0, 0, 17, 6, 0, 44, 0, 0, 0, 16,180, 5, 2, 3, - 4, 7, 43, 64, 5, 79, 2, 64, 3, 2, 93, 49,255,255, 0,178, 0, 0, 4, 68, 5,246, 16, 38, 2,128, 0, 0, 16, 6, 0,243, - 0, 0, 0, 0,255,255, 0,201, 0, 0, 4, 6, 7,109, 16, 38, 11,184, 0, 0, 17, 6, 0, 44, 0, 0, 0, 16,180, 15, 8, 0, - 14, 7, 43, 64, 5, 79, 8, 64, 0, 2, 93, 49,255,255, 0,178, 0, 0, 4, 68, 6, 72, 16, 38, 2,130, 0, 0, 16, 6, 0,243, - 0, 0, 0, 0,255,255, 0,201,254,117, 4, 6, 5,213, 16, 38, 0, 44, 0, 0, 16, 6, 2,109, 70, 0, 0, 0,255,255, 0,178, -254,117, 4, 68, 6, 20, 16, 38, 0, 76, 0, 0, 16, 6, 2,109, 80, 0, 0, 0,255,255, 0,201, 0, 0, 4, 6, 7, 80, 16, 38, - 11,185, 0, 0, 16, 6, 0, 44, 0, 0, 0, 0, 0, 1, 0,178, 0, 0, 4, 68, 4, 96, 0, 9, 0, 34, 64, 18, 8,182, 0,194, - 6, 2,182, 4, 3, 76, 1, 6, 5, 76, 0, 75, 7, 10, 16,212,228,236,252,236, 49, 0, 47,236, 50,244,236, 48, 1, 33, 17, 33, - 21, 33, 53, 33, 17, 33, 1, 0, 1,215, 1,109,252,110, 1,109,254,225, 4, 96,252, 47,143,143, 3, 66, 0, 0, 0, 2,255,255, -255,230, 4,204, 5,216, 0, 20, 0, 32, 0, 61, 64, 31, 1, 0,178, 4,151, 17,153, 33, 10, 24, 32,151, 11, 21,136, 25, 29,151, - 27, 1, 11, 9, 12, 34, 26, 22, 24, 29, 21, 31, 33, 16,212,204, 50,220,204, 50, 16,212,204,196,196, 49, 0, 47,236, 50,244, 60, -236, 50, 50, 16,244,236,244,204, 48, 37, 53, 30, 1, 51, 50, 55, 54, 53, 17, 33, 53, 33, 17, 16, 7, 6, 35, 34, 39, 38, 1, 33, - 21, 35, 17, 51, 21, 33, 53, 51, 17, 35, 2,140, 61,132, 71, 97, 39, 38,254,253, 1,141, 72, 72,168, 65, 65, 64,253, 45, 2, 93, -228,228,253,163,228,228, 64,236, 81, 81, 74, 75,203, 3, 68,170,252, 18,254,230,117,117, 22, 22, 5,195,170,251,127,170,170, 4, -129, 0, 0, 0, 0, 4,255,251,254, 75, 4,138, 6, 20, 0, 13, 0, 17, 0, 27, 0, 31, 0, 73, 64, 38, 10,140, 9,195, 32, 2, - 27,182, 18, 17, 31,196, 14, 28,155, 3, 18,194, 20, 24,182, 23, 10, 3, 14, 1, 6, 15, 4, 33, 21, 29, 19, 24, 18, 28, 26, 32, - 16,212, 60,196,204,220, 60,204, 16,220, 60,252, 60,196,196, 49, 0, 47,236, 50,228, 50,252, 60,236, 50, 16,238, 50, 16,244,236, - 48, 5, 17, 33, 53, 33, 17, 20, 6, 43, 1, 53, 51, 50, 54, 17, 51, 21, 35, 5, 33, 17, 33, 21, 33, 53, 33, 17, 35, 19, 51, 21, - 35, 3,210,254,195, 1,245,179,165,254,234, 90, 90,184,184,252,105, 1,130, 1, 44,253, 18, 1, 43,235,235,151,151, 31, 3,229, -143,251,140,195,211,156,125, 6,165,233,192,252, 47,143,143, 3, 66, 2, 67,233,255,255, 0,109,255,227, 3,202, 7,109, 16, 39, - 11,180, 0, 48, 1,117, 16, 6, 0, 45, 0, 0,255,255, 0,186,254, 86, 3,168, 6,102, 16, 38, 2, 95, 0, 0, 16, 6, 1,226, - 0, 0, 0, 0,255,255, 0,137,253,224, 4,201, 5,213, 16, 38, 2,162,106,254, 16, 6, 0, 46, 0, 0, 0, 0,255,255, 0,236, -253,224, 4,178, 6, 20, 16, 39, 2,162, 0,144,255,254, 16, 6, 0, 78, 0, 0, 0, 1, 0,236, 0, 0, 4,178, 4, 96, 0, 11, - 0,196, 64, 57, 8, 23, 9, 8, 5, 6, 5, 7, 23, 6, 6, 5, 9, 23, 3, 2, 8, 23, 7, 8, 3, 2, 5, 23, 6, 5, 2, 3, - 2, 4, 23, 3, 3, 2, 66, 8, 5, 2, 3, 3, 0,194, 10, 6, 8, 5, 4, 3, 6, 9, 1, 6, 6, 68, 0, 69, 12, 16,244,236, -236, 50, 17, 23, 57, 49, 0, 47, 60,236, 50, 23, 57, 48, 75, 83, 88, 7, 16, 5,237, 7, 16, 8,237, 7, 8,237, 7, 4,237, 7, - 16, 5,237, 7, 16, 8,237, 89, 34,178, 8, 7, 1, 1, 93, 64, 82, 6, 2, 8, 8, 22, 2, 24, 5, 24, 8, 53, 2, 52, 5, 54, - 8, 70, 2,102, 2,117, 2,118, 5, 12, 9, 3, 8, 8, 25, 3, 23, 4, 24, 5, 25, 6, 26, 7, 24, 8, 40, 3, 39, 5, 40, 7, - 59, 3, 59, 4, 55, 5, 57, 7, 55, 8, 74, 3, 73, 7, 89, 6, 89, 7,107, 3,105, 4,105, 6,105, 7,121, 3,120, 5,121, 6, -121, 7, 28, 93, 0, 93, 19, 51, 17, 1, 51, 9, 1, 35, 1, 7, 17, 35,236,190, 1,227,224,254, 71, 1,254,225,254, 98,137,190, - 4, 96,254, 47, 1,209,254, 90,253, 70, 2, 66,129,254, 63, 0,255,255, 0,200, 0, 0, 4,115, 7,108, 16, 39, 11,177,254,237, - 1,118, 17, 6, 0, 47, 0, 0, 0, 7, 64, 3, 32, 0, 1, 93, 49, 0, 0, 0,255,255, 0,160, 0, 0, 4, 10, 7,108, 16, 39, - 11,177,255,161, 1,118, 17, 6, 0, 79, 0, 0, 0, 24, 0, 75,176, 14, 81, 88,185, 0, 0, 0, 64, 56, 89, 64, 7,159, 0,143, - 0, 79, 0, 3, 93, 48, 0, 0,255,255, 0,215,253,224, 4,115, 5,213, 16, 38, 2,162,102,254, 16, 6, 0, 47, 0, 0, 0, 0, -255,255, 0,160,253,224, 4, 10, 6, 31, 16, 38, 2,162,251,254, 16, 6, 0, 79, 0, 0, 0, 0,255,255, 0,215, 0, 0, 4,115, - 5,213, 16, 39, 11,175, 0,174,255,109, 16, 6, 0, 47, 0, 0,255,255, 0,160, 0, 0, 4,134, 6, 31, 16, 39, 11,175, 1,160, -255,185, 16, 6, 0, 79, 0, 0,255,255, 0,215, 0, 0, 4,115, 5,213, 16, 39, 0,121, 1, 96, 0,134, 16, 6, 0, 47, 0, 0, -255,255, 0,160, 0, 0, 4,188, 6, 31, 16, 39, 0,121, 1,215, 0,144, 16, 6, 0, 79, 0, 0, 0, 1,255,246, 0, 0, 4,115, - 5,213, 0, 13, 0, 55, 64, 30, 12, 11, 10, 4, 3, 2, 6, 0, 6,151, 0,136, 8, 3, 4, 7, 1, 11, 14, 0, 12, 5, 1, 30, - 7, 49, 9, 0, 52, 14, 16,252, 60,236,236, 50, 46, 17, 18, 57, 17, 18, 57, 57, 49, 0, 47,228,236, 17, 23, 57, 48, 19, 51, 17, - 37, 23, 1, 17, 33, 21, 33, 17, 7, 39, 55,215,203, 1, 59, 78,254,119, 2,209,252,100,145, 80,225, 5,213,253,152,219,111,254, -238,253,227,170, 2, 59,106,110,158, 0, 0, 0, 0, 1, 0, 76, 0, 0, 4, 10, 6, 31, 0, 21, 0, 62, 64, 33, 20, 19, 18, 12, - 11, 10, 6, 9, 0, 3, 14,182, 16,197, 3,182, 5, 11, 12, 22, 15, 19, 3, 6, 20, 4, 17, 0, 6, 15, 13, 9, 22, 16,212, 60, -204,252, 60,204, 50, 57, 57, 57, 17, 18, 57, 57, 49, 0, 47,236,252,236, 17, 57, 57, 23, 57, 48, 1, 20, 22, 59, 1, 21, 35, 34, - 38, 53, 17, 5, 39, 1, 17, 33, 53, 33, 17, 37, 23, 1, 2,127, 91, 89,215,233,165,181,254,213, 80, 1,123,254,217, 1,223, 1, - 59, 80,254,117, 1,150,124,126,156,212,194, 1, 36,209,111, 1, 8, 2, 47,144,253,190,219,110,254,237, 0, 0,255,255, 0,139, - 0, 0, 4, 70, 7,107, 16, 39, 11,177, 0, 33, 1,117, 16, 6, 0, 49, 0, 0,255,255, 0,195, 0, 0, 4, 27, 6,109, 16, 38, - 0,118, 20, 7, 16, 6, 0, 81, 0, 0, 0, 0,255,255, 0,139,253,224, 4, 70, 5,213, 16, 38, 2,162, 42,254, 16, 6, 0, 49, - 0, 0, 0, 0,255,255, 0,195,253,224, 4, 27, 4,123, 16, 38, 2,162, 48,254, 16, 6, 0, 81, 0, 0, 0, 0,255,255, 0,139, - 0, 0, 4, 70, 7,109, 16, 38, 0, 49, 0, 0, 16, 7, 11,181, 0, 42, 1,117,255,255, 0,195, 0, 0, 4, 27, 6,102, 16, 38, - 0, 81, 0, 0, 16, 6, 2, 96,244, 0, 0, 0,255,255, 0, 24, 0, 0, 4,150, 6, 20, 16, 38, 0, 81,123, 0, 16, 7, 2, 89, -254, 73, 0, 0, 0, 1, 0,147,254, 86, 4, 61, 5,242, 0, 29, 0, 50, 64, 28, 24, 19, 13, 0, 4, 21, 16,151, 27,150, 22,136, - 21, 7,151, 6, 21, 7, 13, 30, 0, 49, 19, 23, 30, 22, 48, 30, 16,244,236, 50,252,236,196, 49, 0, 47,212,236, 16,228,244,236, - 17, 23, 57, 48, 1, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, - 50, 18, 4, 61, 89, 90,165,205,167, 90, 45, 44,116,124,141,152,202,202, 54,184,126,187,185, 3,231,252, 5,195,105,106,156, 62, - 62,146, 3,241,180,169,218,203,252, 87, 5,213,198,111,116,254,251, 0, 0, 0, 0, 1, 0,195,254, 86, 4, 27, 4,123, 0, 32, - 0, 50, 64, 28, 25, 20, 13, 0, 4, 22, 16,140, 29,190, 23,194, 22, 6,182, 7, 22, 7, 13, 6, 0, 74, 20, 24, 6, 23, 70, 33, - 16,244,236, 50,252,236,196, 49, 0, 47,212,236, 16,228,244,236, 17, 23, 57, 48, 1, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, - 53, 17, 52, 38, 35, 34, 7, 6, 21, 17, 35, 17, 51, 21, 54, 55, 54, 51, 50, 23, 22, 4, 27, 89, 90,165,205,185, 90, 45, 44,106, -113,129, 70, 69,184,184, 49, 84, 84,115,171, 84, 85, 2,182,253, 54,195,105,106,156, 62, 62,126, 2,202,151,142, 91, 92,171,253, -135, 4, 96,168, 96, 50, 49,113,112, 0, 0, 0,255,255, 0,117,255,227, 4, 92, 7, 48, 16, 38, 11,189, 0, 0, 17, 6, 0, 50, - 0, 0, 0, 20,180, 16, 2, 3, 22, 7, 43, 64, 9, 79, 2, 64, 3, 47, 2, 32, 3, 4, 93, 49,255,255, 0,137,255,227, 4, 72, - 5,246, 16, 38, 2,128, 0, 0, 17, 6, 0, 82, 0, 0, 0, 8,180, 19, 2, 3, 25, 7, 43, 49,255,255, 0,117,255,227, 4, 92, - 7,109, 16, 38, 11,184, 0, 0, 17, 6, 0, 50, 0, 0, 0, 16,180, 26, 8, 0, 32, 7, 43, 64, 5, 47, 8, 32, 0, 2, 93, 49, -255,255, 0,137,255,227, 4, 72, 6, 72, 16, 38, 2,130, 0, 0, 17, 6, 0, 82, 0, 0, 0, 16,180, 29, 8, 0, 35, 7, 43, 64, - 5, 15, 8, 0, 0, 2, 93, 49,255,255, 0,117,255,227, 4, 92, 7,107, 16, 38, 11,186, 0, 0, 16, 6, 0, 50, 0, 0, 0, 0, -255,255, 0,137,255,227, 4, 72, 6,102, 16, 38, 2,135, 0, 0, 16, 6, 0, 82, 0, 0, 0, 0, 0, 2, 0, 72, 0, 0, 4,193, - 5,213, 0, 16, 0, 25, 0, 59, 64, 31, 14,151, 12, 17, 10,151, 8,136, 23, 0,151, 12,177, 1, 23, 17, 8, 2, 20, 15, 11, 30, - 24, 9, 13, 0, 45, 20, 30, 5, 26, 16,220,236,252,196,196,212,236, 50, 18, 57, 57, 57, 57, 49, 0, 47,236,236, 50,244,236, 50, - 16,238, 48, 37, 21, 33, 32, 2, 17, 16, 18, 41, 1, 21, 33, 17, 33, 21, 33, 17, 1, 34, 6, 17, 16, 22, 59, 1, 17, 4,193,253, -163,254,217,245,244, 1, 40, 2, 82,254,154, 1, 72,254,184,254,254,177,139,139,177, 61,170,170, 1, 77, 1,156, 1,161, 1, 75, -170,254, 70,170,253,227, 4,129,230,254,164,254,166,229, 4,129, 0, 3, 0, 14,255,227, 4,186, 4,123, 0, 10, 0, 22, 0, 56, - 0,105, 64, 57, 50, 47, 9, 6, 0, 25, 31, 23, 38, 32, 11, 56, 23, 0, 32,139, 31,141, 11, 0,182, 23, 28, 11,140, 35, 23,193, - 17, 6,140, 53, 47,190, 41, 35,153, 57, 0, 3, 50, 38, 24, 9, 77, 14,117, 31, 3, 77, 23, 67, 20, 77, 44,115, 57, 16,244,236, -252,236,196,252,236, 50, 57, 57, 17, 57, 49, 0, 16,228, 50,244, 60,236, 50,228, 16,238, 50, 16,238, 16,244,238, 17, 18, 57, 17, - 18, 57, 17, 18, 57, 17, 18, 57, 17, 57, 48, 1, 52, 54, 53, 52, 38, 35, 34, 6, 29, 1, 1, 50, 54, 53, 16, 38, 35, 34, 6, 17, - 16, 22, 1, 33, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 39, 14, 1, 35, 34, 2, 17, 16, 18, 51, 50, 22, 23, 62, 1, - 51, 50, 22, 17, 4, 23, 2, 80, 86, 87, 77,254,166,102, 82, 80,104,103, 80, 80, 3,172,254, 21, 99,112, 80,131, 47, 59,125, 74, - 98,147, 48, 52,128, 84,189,170,170,189, 89,128, 47, 37,130, 87,175,144, 2,145, 11, 38, 9,145,135,137,158, 43,253,234,168,239, - 1, 35,174,167,254,243,254,243,167, 1,135, 84,163,144, 53, 51,172, 43, 41, 67, 66, 68, 65, 1, 20, 1, 56, 1, 56, 1, 20, 62, - 65, 62, 65,237,254,206, 0, 0,255,255, 0,143, 0, 0, 4,209, 7,107, 16, 39, 11,177,255,181, 1,117, 16, 6, 0, 53, 0, 0, -255,255, 1,106, 0, 0, 4,136, 6,109, 16, 39, 0,118, 0,206, 0, 7, 16, 6, 0, 85, 0, 0,255,255, 0,143,253,224, 4,209, - 5,213, 16, 38, 2,162,114,254, 16, 6, 0, 53, 0, 0, 0, 0,255,255, 1, 32,253,224, 4,131, 4,123, 16, 38, 2,162,136,254, - 16, 6, 0, 85, 0, 0, 0, 0,255,255, 0,143, 0, 0, 4,209, 7,103, 16, 38, 0, 53, 0, 0, 16, 7, 11,181,255,196, 1,111, -255,255, 1,106, 0, 0, 4,131, 6,102, 16, 38, 0, 85, 0, 0, 16, 6, 2, 96, 90, 0, 0, 0,255,255, 0,139,255,227, 4, 74, - 7,107, 16, 39, 11,177, 0, 25, 1,117, 16, 6, 0, 54, 0, 0,255,255, 0,213,255,227, 4, 6, 6,109, 16, 38, 0,118, 26, 7, - 16, 6, 0, 86, 0, 0, 0, 0,255,255, 0,139,255,227, 4, 74, 7,109, 16, 39, 11,180, 0, 0, 1,117, 16, 6, 0, 54, 0, 0, -255,255, 0,213,255,227, 4, 6, 6,102, 16, 38, 2, 95, 0, 0, 16, 6, 0, 86, 0, 0, 0, 0,255,255, 0,139,254,117, 4, 74, - 5,240, 16, 38, 2,163, 0, 0, 16, 6, 0, 54, 0, 0, 0, 0,255,255, 0,213,254,117, 4, 6, 4,123, 16, 38, 2,163, 0, 0, - 16, 6, 0, 86, 0, 0, 0, 0,255,255, 0,139,255,227, 4, 74, 7,109, 16, 38, 0, 54, 0, 0, 16, 7, 11,181, 0, 0, 1,117, -255,255, 0,213,255,227, 4, 6, 6,102, 16, 38, 0, 86, 0, 0, 16, 6, 2, 96, 0, 0, 0, 0,255,255, 0, 47,254,117, 4,162, - 5,213, 16, 38, 2,163, 0, 0, 16, 6, 0, 55, 0, 0, 0, 0,255,255, 0,131,254,117, 4, 8, 5,158, 16, 38, 2,163,121, 0, - 16, 6, 0, 87, 0, 0, 0, 0,255,255, 0, 47, 0, 0, 4,162, 7,109, 16, 38, 0, 55, 0, 0, 17, 7, 11,181, 0, 6, 1,117, - 0, 8,180, 1, 13, 9, 0, 7, 43, 49, 0, 0,255,255, 0,131, 0, 0, 4, 8, 6,126, 16, 38, 0, 87, 0, 0, 16, 7, 11,175, - 1, 20, 0, 24, 0, 1, 0, 47, 0, 0, 4,162, 5,213, 0, 15, 0, 45, 64, 23, 4, 12,151, 7, 11, 3, 15,151, 0,136, 8, 1, - 58, 5, 7, 3, 30, 12, 0, 58, 10, 14, 16, 16,212, 60,236,204,252, 60,204,236, 49, 0, 47,244,236, 50,212, 60,236, 50, 48, 19, - 33, 21, 33, 17, 33, 21, 33, 17, 35, 17, 33, 53, 33, 17, 33, 47, 4,115,254, 45, 1, 9,254,247,203,254,247, 1, 9,254, 43, 5, -213,170,253,192,170,253,191, 2, 65,170, 2, 64, 0, 1, 0,131, 0, 0, 4, 8, 5,158, 0, 27, 0, 66, 64, 33, 18, 9, 12, 5, - 21,182, 8, 20, 4, 24,182, 27, 1, 25,194, 12,182, 15, 12, 15, 13, 2, 6, 8, 4, 0, 6, 21, 25, 19, 23, 27, 28, 16,212, 60, - 60,196,196,252, 60, 60,196,196, 50, 57, 57, 49, 0, 47,236,244, 60,196,236, 50,212, 60,236, 50, 17, 57, 57, 48, 1, 17, 33, 21, - 33, 21, 51, 21, 35, 21, 20, 22, 59, 1, 21, 35, 34, 38, 61, 1, 35, 53, 51, 53, 33, 53, 33, 17, 2,102, 1,162,254, 94,229,229, - 94,117,207,225,207,170,229,229,254,213, 1, 43, 5,158,254,194,143,233,142,233,124, 98,147,166,203,233,142,233,143, 1, 62, 0, -255,255, 0,147,255,227, 4, 61, 7, 94, 16, 39, 11,178, 0, 0, 1,117, 17, 6, 0, 56, 0, 0, 0, 16,180, 47, 24, 9, 31, 7, - 43, 64, 5, 79, 24, 64, 9, 2, 93, 49, 0, 0,255,255, 0,195,255,227, 4, 27, 6, 55, 16, 38, 2,110, 0, 0, 17, 6, 0, 88, - 0, 0, 0, 16,180, 39, 22, 8, 29, 7, 43, 64, 5, 47, 22, 32, 8, 2, 93, 49,255,255, 0,147,255,227, 4, 61, 7, 48, 16, 38, - 11,189, 0, 0, 17, 6, 0, 56, 0, 0, 0, 20,180, 21, 2, 3, 5, 7, 43, 64, 9, 79, 2, 64, 3, 47, 2, 32, 3, 4, 93, 49, -255,255, 0,195,255,227, 4, 27, 5,246, 16, 38, 2,128, 0, 0, 17, 6, 0, 88, 0, 0, 0, 8,180, 15, 1, 0, 5, 7, 43, 49, -255,255, 0,147,255,227, 4, 61, 7,109, 16, 38, 11,184, 0, 0, 17, 6, 0, 56, 0, 0, 0, 16,180, 31, 8, 0, 15, 7, 43, 64, - 5, 47, 8, 32, 0, 2, 93, 49,255,255, 0,195,255,227, 4, 27, 6, 72, 16, 38, 2,130, 0, 0, 17, 6, 0, 88, 0, 0, 0, 16, -180, 25, 8, 0, 15, 7, 43, 64, 5, 15, 8, 0, 0, 2, 93, 49,255,255, 0,147,255,227, 4, 61, 8, 85, 16, 38, 0, 56, 0, 0, - 16, 7, 2,108, 0, 10, 1, 79,255,255, 0,195,255,227, 4, 27, 6,217, 16, 38, 0, 88, 0, 0, 16, 6, 2,108, 15,211, 0, 0, -255,255, 0,147,255,227, 4, 61, 7,107, 16, 38, 11,186, 0, 0, 16, 6, 0, 56, 0, 0, 0, 0,255,255, 0,195,255,227, 4, 27, - 6,102, 16, 38, 2,135, 0, 0, 16, 6, 0, 88, 0, 0, 0, 0,255,255, 0,147,254,101, 4, 61, 5,213, 16, 38, 0, 56, 0, 0, - 16, 6, 2,109, 28,240, 0, 0,255,255, 0,195,254,117, 4,176, 4, 94, 16, 38, 0, 88, 0, 0, 16, 7, 2,109, 1,151, 0, 0, -255,255, 0, 0, 0, 0, 4,209, 7,116, 16, 39, 11,180, 0, 0, 1,124, 17, 6, 0, 58, 0, 0, 0, 8,180, 14, 2, 6, 7, 7, - 43, 49, 0, 0,255,255, 0, 0, 0, 0, 4,209, 6,109, 16, 38, 2, 95, 0, 7, 17, 6, 0, 90, 0, 0, 0, 8,180, 14, 2, 6, - 7, 7, 43, 49,255,255, 0, 37, 0, 0, 4,172, 7,116, 16, 39, 11,180, 0, 0, 1,124, 17, 6, 0, 60, 0, 0, 0, 8,180, 11, - 2, 6, 7, 7, 43, 49, 0, 0,255,255, 0,104,254, 86, 4,129, 6,109, 16, 38, 2, 95, 12, 7, 16, 6, 0, 92, 0, 0, 0, 0, -255,255, 0, 37, 0, 0, 4,172, 7, 78, 16, 38, 0, 60, 0, 0, 17, 7, 11,176, 0, 0, 1,117, 0, 8,180, 4, 15, 12, 0, 7, - 43, 49, 0, 0,255,255, 0,156, 0, 0, 4,145, 7,107, 16, 39, 11,177, 0, 27, 1,117, 16, 6, 0, 61, 0, 0,255,255, 0,203, - 0, 0, 4, 16, 6,109, 16, 38, 0,118, 86, 7, 16, 6, 0, 93, 0, 0, 0, 0,255,255, 0,156, 0, 0, 4,145, 7, 80, 16, 38, - 11,185, 50, 0, 16, 6, 0, 61, 0, 0, 0, 0,255,255, 0,203, 0, 0, 4, 16, 6, 16, 16, 38, 2,131, 0, 0, 16, 6, 0, 93, - 0, 0, 0, 0,255,255, 0,156, 0, 0, 4,145, 7,109, 16, 38, 0, 61, 0, 0, 16, 7, 11,181, 0, 0, 1,117,255,255, 0,203, - 0, 0, 4, 16, 6,102, 16, 38, 0, 93, 0, 0, 16, 6, 2, 96, 0, 0, 0, 0, 0, 1, 0,195, 0, 0, 4, 39, 6, 20, 0, 15, - 0, 44, 64, 22, 0, 7, 12, 4,182, 5, 12,140, 11,155, 5,194, 2, 13, 10, 11, 0, 6, 5, 3, 7, 16, 16,212, 60,196,252,196, - 57, 57, 49, 0, 47,228,252,236, 16,238, 18, 57, 57, 48, 1, 17, 35, 17, 33, 53, 33, 53, 52, 54, 59, 1, 21, 35, 34, 6, 2,166, -184,254,213, 1, 43,169,179,221,209, 99, 77, 4,195,251, 61, 3,209,143, 78,184,174,153, 81, 0, 0, 2, 0, 70,255,227, 4, 88, - 6, 20, 0, 26, 0, 37, 0, 0, 1, 62, 1, 51, 50, 18, 17, 16, 2, 35, 34, 38, 39, 21, 35, 17, 35, 53, 51, 53, 51, 21, 51, 33, - 21, 33, 35, 0, 16, 38, 35, 34, 6, 21, 20, 22, 51, 50, 1,121, 44,155,102,202,232,233,203,100,153, 46,184,123,123,184, 2, 1, - 97,254,159, 2, 2, 29,136,133,134,138,138,134,133, 3,209, 82, 88,254,201,254,239,254,235,254,197, 87, 83,141, 4,246,164,122, -122,164,252, 99, 1,172,218,219,213,212,220, 0, 0, 3, 0, 20, 0, 0, 4,165, 5,213, 0, 8, 0, 17, 0, 41, 0, 63, 64, 36, - 25, 0,151, 10, 9,151, 18,136, 1,151, 10,177, 31, 17, 11, 25, 31, 19, 8, 2, 7, 0, 14, 30, 22, 5, 50, 28, 9, 0, 30, 18, - 33, 36, 39, 43, 16,212,220,212, 57,236, 50,220,236,212,236, 17, 23, 57, 49, 0, 47,236,236,244,236, 16,238, 57, 48, 1, 17, 51, - 50, 54, 53, 52, 38, 35, 3, 17, 51, 50, 54, 53, 52, 38, 35, 37, 33, 50, 22, 21, 20, 6, 7, 30, 1, 21, 20, 4, 41, 1, 17, 34, - 6, 29, 1, 35, 53, 52, 54, 2, 28,120,176,150,158,168,120,116,146,131,129,148,254,194, 1, 66,229,248,131,131,147,167,254,246, -254,249,254,190, 62,100,156,169, 2,201,253,221,123,141,146,137, 2,102,254, 62,112,125,113,100,166,198,181,137,158, 20, 22,207, -160,203,207, 5, 47, 87,112, 49, 70,159,185, 0,255,255, 0,166, 0, 0, 4,113, 5,213, 16, 6, 3, 62, 0, 0, 0, 2, 0,193, -255,227, 4, 88, 6, 20, 0, 18, 0, 29, 0, 0, 1, 62, 1, 51, 50, 18, 17, 16, 2, 35, 34, 38, 39, 21, 35, 17, 33, 21, 33, 0, - 16, 38, 35, 34, 6, 21, 20, 22, 51, 50, 1,121, 44,155,102,202,232,233,203,100,153, 46,184, 2,240,253,200, 2, 29,136,133,134, -138,138,134,133, 3,209, 82, 88,254,201,254,239,254,235,254,197, 87, 83,141, 6, 20,184,251,253, 1,172,218,219,213,212,220, 0, - 0, 2, 0, 48, 0, 0, 4,161, 5,213, 0, 10, 0, 24, 0, 0, 1, 17, 51, 50, 55, 54, 53, 52, 39, 38, 35, 39, 51, 4, 23, 22, - 21, 20, 7, 6, 41, 1, 17, 39, 1, 1,161,239,176, 75, 75, 79, 79,168,239,235, 1,123,101, 53,133,133,254,249,254, 70,166, 1, -113, 2,201,253,221, 62, 61,141,146, 68, 69,164, 15,191,100,161,203,103,104, 3,180,228, 1, 61, 0, 2, 0, 60,255,227, 4,148, - 6, 20, 0, 12, 0, 33, 0, 0, 0, 16, 38, 35, 34, 7, 6, 21, 20, 23, 22, 51, 50, 1, 62, 1, 51, 50, 23, 22, 17, 16, 7, 6, - 35, 34, 39, 38, 39, 21, 35, 17, 39, 1, 3,210,136,132,134, 70, 68, 68, 70,134,132,254,108, 44,154,102,202,116,116,116,116,204, -100, 76, 76, 46,184,194, 1,122, 1, 89, 1,172,218,109,110,213,212,110,110, 3, 82, 82, 88,155,156,254,239,254,235,158,157, 43, - 44, 83,141, 3,180,228, 1,124, 0, 1, 0,139,255,227, 4, 49, 5,240, 0, 25, 0, 47, 64, 7, 19, 50, 6, 49, 0, 12, 26, 16, -220, 60,244,236, 49, 0, 64, 18, 13,179, 12,178, 16,151, 9, 25,179, 0,178, 22,151, 3,150, 9,153, 26, 16,228,244,236,244,236, - 16,238,246,238, 48, 19, 62, 1, 51, 32, 0, 17, 16, 0, 33, 34, 38, 39, 53, 30, 1, 51, 50, 18, 17, 16, 2, 35, 34, 6, 7,139, - 77,162, 91, 1, 29, 1, 63,254,195,254,225, 91,162, 77, 73,169, 88,197,196,196,197, 86,170, 74, 5,158, 41, 41,254,103,254,146, -254,144,254,106, 41, 41,207, 61, 64, 1, 48, 1, 50, 1, 51, 1, 48, 64, 61, 0, 0, 1, 0, 60,255,227, 4,149, 6,103, 0, 34, - 0, 0, 37, 14, 1, 35, 32, 0, 17, 16, 0, 33, 50, 23, 54, 55, 54, 59, 1, 21, 34, 7, 6, 29, 1, 46, 1, 35, 34, 2, 21, 16, - 18, 51, 50, 54, 55, 3,226, 77,162, 91,254,225,254,195, 1, 63, 1, 29, 90, 79, 23, 42, 90,165, 20, 84, 51, 44, 74,170, 86,197, -196,196,197, 88,169, 73, 53, 41, 41, 1,150, 1,112, 1, 42, 1,153, 20, 51, 50,106,156, 62, 53,135, 70, 61, 64,254,208,239,254, -206,254,208, 64, 61, 0, 0, 0, 0, 1, 0, 94,255,227, 4,115, 5,142, 0, 33, 0, 0, 37, 14, 1, 35, 32, 0, 16, 0, 33, 50, - 23, 54, 55, 54, 59, 1, 21, 34, 7, 6, 29, 1, 46, 1, 35, 34, 6, 21, 20, 22, 51, 50, 54, 55, 3,192, 74,157, 82,254,252,254, -219, 1, 37, 1, 4, 70, 67, 19, 61, 90,165, 20, 90, 45, 44, 73,147, 93,173,186,187,172, 96,152, 65, 57, 43, 43, 1, 56, 2, 40, - 1, 56, 16,114, 71,106,156, 62, 62,126,148, 65, 58,224,208,207,225, 59, 62, 0,255,255, 0, 8, 0, 0, 4, 78, 5,213, 16, 6, - 0,146, 0, 0, 0, 2, 0, 8, 0, 0, 4,201, 5,213, 0, 18, 0, 27, 0, 0, 1, 51, 32, 0, 17, 16, 0, 33, 35, 17, 34, 7, - 6, 29, 1, 35, 53, 52, 54, 1, 32, 54, 17, 16, 38, 33, 35, 17, 1, 70,233, 1, 86, 1, 68,254,188,254,170,233, 54, 60, 48,156, -192, 1, 99, 0,255,202,201,255, 0, 26, 5,213,254,148,254,128,254,130,254,149, 5, 47, 47, 38,114, 49, 70,181,163,250,209,251, - 1, 72, 1, 75,251,251,119, 0, 0, 2, 0,131, 0, 0, 4, 78, 5,213, 0, 8, 0, 22, 0, 0, 1, 35, 34, 6, 21, 20, 22, 59, - 1, 1, 53, 33, 17, 33, 32, 36, 53, 52, 55, 54, 37, 51, 17, 3,131,239,168,158,150,176,239,253, 69, 3,134,254, 70,254,249,254, -246, 53,101, 1,123,235, 2,201,137,146,141,123, 4,137,166,250, 43,207,203,161,100,191, 15, 1,194, 0, 0, 0, 0, 2, 0,157, -255,227, 4, 52, 6, 20, 0, 10, 0, 29, 0, 0, 0, 16, 22, 51, 50, 54, 53, 52, 38, 35, 34, 3, 53, 33, 17, 35, 53, 14, 1, 35, - 34, 2, 17, 16, 18, 51, 50, 22, 23, 17, 1, 95,136,133,134,138,138,134,133,163, 2,240,184, 46,153,100,203,233,232,202,102,155, - 44, 3, 5,254, 84,218,220,212,213,219, 1,125,184,249,236,141, 83, 87, 1, 59, 1, 21, 1, 17, 1, 55, 88, 82, 1,139, 0, 0, - 0, 2, 0,136,254, 61, 4, 71, 4,123, 0, 11, 0, 55, 0, 0, 37, 50, 54, 53, 52, 38, 35, 34, 6, 21, 20, 22, 5, 22, 23, 22, - 21, 20, 7, 6, 35, 34, 47, 1, 53, 22, 23, 22, 51, 50, 51, 55, 54, 63, 1, 54, 53, 52, 39, 38, 39, 38, 39, 38, 39, 38, 17, 16, - 18, 51, 50, 18, 17, 16, 7, 6, 2,104,140,144,144,140,141,144,144, 1,167, 19, 40, 62,118,119,197,102, 50,151, 66, 70, 75, 73, - 9, 10, 32, 73, 60, 39, 27, 13, 17, 41, 24,105,235,121,124,246,234,233,246,123, 31,127,218,214,213,219,219,213,214,218, 76, 9, - 40, 61, 92,136, 82, 82, 12, 36,173, 24, 15, 15, 1, 2, 43, 28, 24, 46, 33, 19, 24, 21, 13, 1, 3,148,151, 1, 30, 1, 31, 1, - 45,254,211,254,225,254,226,151, 38, 0, 0, 0, 0, 1, 0,197, 0, 0, 4, 78, 5,213, 0, 11, 0, 43, 64, 10, 8, 4, 30, 0, - 49, 11, 6, 3, 51, 12, 16,252,196,196,252,236, 50, 49, 0, 64, 12, 6,151, 8, 10,151, 0,136, 4,151, 8,177, 2, 47,236,236, -244,236, 16,238, 48, 1, 17, 33, 53, 33, 17, 33, 53, 33, 17, 33, 53, 4, 78,252,119, 2,191,253,114, 2,142,253, 84, 5,213,250, - 43,170, 2, 29,170, 1,186,170, 0, 2, 0,117,255,227, 4, 92, 5,240, 0, 21, 0, 28, 0, 61, 64, 12, 3, 2, 28, 50, 16, 54, - 9, 22, 50, 0, 53, 29, 16,244,236,196,244,236, 57, 57, 49, 0, 64, 20, 0, 22, 3, 1, 10,179, 9, 6,151, 13,150, 29, 22,151, - 1, 25,151, 19,153, 29, 16,244,236,212,238, 16,244,244,212,238, 18, 57, 17, 57, 48, 19, 53, 33, 53, 52, 2, 35, 34, 6, 7, 53, - 62, 1, 51, 50, 18, 17, 16, 2, 35, 34, 2, 19, 20, 18, 51, 50, 18, 55,117, 3, 19,138,150, 86,170, 74, 77,162, 91,253,247,247, -253,253,246,215,140,148,148,126, 9, 2,233, 83, 8,241, 1, 23, 64, 61,207, 41, 41,254,128,254,121,254,122,254,128, 1,126, 1, - 35,248,254,251, 0,255,254, 0, 0, 1, 0,137,255,227, 4, 55, 5,240, 0, 40, 0, 62, 64, 11, 20, 9, 31, 16, 50, 3, 25, 50, - 38, 48, 41, 16,252,236,212,236,212,196,196, 49, 0, 64, 22, 10,179, 9, 13,151, 6,150, 41, 0, 22,151, 19,177, 41, 31,179, 32, - 28,151, 35,153, 41, 16,244,236,212,236, 16,244,236, 57, 16,244,236,212,236, 48, 1, 46, 1, 53, 52, 36, 51, 50, 22, 23, 21, 46, - 1, 35, 34, 6, 21, 20, 22, 59, 1, 21, 35, 34, 6, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 36, 53, 52, 54, 1,184,131, -137, 1, 5,218, 73,189,121,104,190, 89,134,145,156,139,154,154,152,178,178,166, 98,198,102,103,214,103,245,254,235,156, 3, 31, - 34,162,123,181,221, 32, 32,186, 40, 40,123,115,109,122,166,153,130,141,150, 52, 53,201, 36, 38,235,206,149,199, 0, 1, 0, 63, -254, 86, 4,146, 5,213, 0, 19, 0, 0, 1, 33, 21, 33, 17, 33, 21, 33, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 1,124, - 3, 22,253,181, 2, 12,253,244, 89, 90,165,176,138, 90, 45, 44, 5,213,170,254, 72,170,253, 35,195,105,106,156, 62, 62,126, 0, - 0, 1, 0,195,254, 86, 4, 39, 6, 20, 0, 36, 0, 0, 1, 21, 43, 1, 34, 7, 6, 29, 1, 33, 21, 33, 17, 20, 7, 6, 43, 1, - 53, 51, 50, 55, 54, 53, 3, 33, 53, 33, 53, 52, 55, 54, 55, 54, 59, 2, 4, 39,209, 2, 97, 39, 38, 1,129,254,127, 81, 82,181, - 70, 49,105, 38, 38, 2,254,215, 1, 40, 87, 37, 60, 70, 97, 9, 3, 6, 20,153, 41, 40,103, 99,143,252, 27,214, 96, 96,156, 48, - 49,153, 3,229,143, 78,180, 92, 39, 21, 26, 0, 0, 1, 0, 52,255,227, 4,157, 6,103, 0, 40, 0, 0, 37, 14, 1, 35, 32, 0, - 17, 16, 0, 33, 50, 23, 22, 23, 54, 55, 54, 59, 1, 21, 34, 7, 6, 7, 21, 46, 1, 35, 34, 2, 17, 16, 18, 51, 50, 54, 55, 17, - 35, 53, 33, 4, 30, 82,202,118,254,228,254,196, 1, 64, 1, 28, 94, 86, 17, 17, 15, 21, 90,166, 19, 84, 51, 43, 1, 80,170, 96, -196,198,192,198, 66,102, 40,216, 1,154,123, 75, 77, 1,151, 1,111, 1,110, 1,153, 26, 6, 6, 26, 25,106,156, 62, 54,134, 27, - 77, 73,254,207,254,206,254,201,254,213, 31, 33, 1,145,166, 0, 0, 2, 0, 28,254, 82, 4,182, 5, 73, 0, 13, 0, 21, 0, 0, - 1, 0, 17, 20, 33, 32, 53, 16, 9, 1, 51, 9, 1, 51, 1, 2, 17, 20, 51, 50, 53, 16, 2,218, 1, 68,254, 96,254, 72, 1, 38, -254, 48,216, 1,116, 1,116,218,253,162,198,216,204, 2,138,254, 63,254,117,236,236, 1,111, 1,228, 2,184,253,213, 2, 43,252, -166,254,211,254,188,138,138, 1, 69, 0, 0, 0, 0, 1, 0, 65, 0, 0, 4,144, 6, 20, 0, 38, 0, 0, 1, 17, 35, 20, 23, 22, - 55, 54, 55, 54, 53, 17, 51, 17, 20, 6, 35, 34, 39, 38, 53, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 17, 54, 55, 54, 51, 50, - 22, 2,243, 1, 34, 38, 55, 19, 54, 47,167,152,154,127, 74, 73, 95, 66, 71,125,166,166, 77, 17, 75, 85,118,152, 2,182,254,224, -153, 49, 52, 4, 2, 73, 66,156, 1,155,254,101,228,225, 96, 96,214, 1, 32,151,142,183,171,253,135, 6, 20,253,164,134, 12, 49, -225, 0, 0, 0, 0, 1, 0,201, 0, 0, 4, 58, 5,213, 0, 17, 0, 0, 1, 33, 53, 33, 21, 33, 17, 20, 23, 22, 59, 1, 23, 35, - 34, 39, 38, 53, 2, 2,254,199, 3, 61,254,199, 44, 45, 90,185, 1,217,170, 92, 89, 5, 43,170,170,252,122,127, 61, 62,171,106, -102,198, 0, 0, 0, 1, 0,201, 0, 0, 4, 6, 5,213, 0, 21, 0, 0, 19, 33, 21, 33, 17, 51, 33, 21, 33, 35, 17, 33, 21, 33, - 53, 33, 17, 33, 53, 33, 17, 33,201, 3, 61,254,199, 2, 1, 9,254,247, 2, 1, 57,252,195, 1, 57,254,249, 1, 7,254,199, 5, -213,170,253,192,170,254,105,170,170, 1,151,170, 2, 64, 0, 0, 0, 1, 0,110, 0, 0, 4,195, 5,213, 0, 25, 0, 0, 1, 54, - 55, 54, 51, 50, 31, 1, 7, 39, 38, 35, 34, 7, 6, 15, 1, 1, 35, 1, 7, 17, 35, 17, 51, 17, 2,135,161,105, 21, 20,126, 92, - 47,106, 33, 45, 60, 17, 19, 66,109,164, 2, 86,244,254, 25,154,203,203, 4,156,170, 12, 3, 99, 51,114, 37, 51, 4, 15,115,172, -252,141, 2,236,164,253,184, 5,213,253,104, 0, 0, 1, 0,236, 0, 0, 4,178, 6, 20, 0, 23, 0, 0, 19, 53, 52, 55, 54, 59, - 1, 21, 35, 34, 7, 6, 21, 51, 17, 1, 51, 9, 1, 35, 1, 7, 17, 35,236, 89, 90,165,205,185, 90, 45, 44, 5, 1,227,224,254, - 71, 1,254,225,254, 98,137,190, 3,234,148,195,105,106,156, 62, 62,126,254, 17, 1,209,254, 90,253, 70, 2, 66,129,254, 63, 0, - 0, 1, 0,160, 0, 0, 4, 10, 6, 31, 0, 23, 0, 0, 1, 20, 22, 59, 1, 21, 35, 34, 38, 61, 1, 35, 53, 51, 17, 33, 53, 33, - 17, 59, 1, 21, 43, 1, 2,127, 91, 89,215,233,165,181,228,228,254,217, 1,223, 9,221,221, 9, 1,150,124,126,156,212,194,196, -142, 2,167,144,252,201,142, 0, 0, 1, 0, 49, 0, 0, 4,109, 5,213, 0, 15, 0, 0, 1, 37, 23, 9, 1, 35, 9, 1, 35, 1, - 39, 5, 39, 1, 3, 51, 2, 67, 1, 92, 80,254,141, 1,241,191,254,191,254,182,191, 1,169, 34,254,150, 80, 1,129,174,191, 4, -189,242,110,254,254,251,193, 2,192,253, 64, 3,145, 74,251,111, 1, 10, 1,124, 0, 1, 0,109,255,229, 4,111, 5,213, 0, 34, - 0, 0, 37, 14, 1, 35, 34, 38, 25, 1, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 53, - 14, 1, 35, 34, 38, 2, 56, 34,105, 74,135,111,168, 53, 70, 80, 59,168, 57, 74, 73, 57,167,167, 33, 99, 63, 76,101,114, 72, 69, -209, 1, 33, 3,254,252, 10,237,115,123,229, 3,246,252, 10,240,112,123,229, 3,246,250, 43, 96, 60, 63, 70, 0, 0, 1, 0, 29, -254, 86, 4, 25, 5,213, 0, 18, 0, 0, 19, 51, 1, 17, 51, 17, 35, 1, 17, 20, 7, 6, 43, 1, 53, 50, 55, 54, 53,190,230, 1, -198,175,230,254, 59, 81, 81,148, 27, 81, 40, 40, 5,213,251, 51, 4,205,250, 43, 4,205,251, 31,195,105,106,156, 62, 61,127, 0, - 0, 1, 0,195,254, 82, 4, 27, 4,123, 0, 19, 0, 0, 1, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, - 50, 22, 4, 27,185,106,113,129,139,184,184, 49,168,115,171,169, 2,182,251,156, 4,100,151,142,183,171,253,135, 4, 96,168, 96, - 99,225, 0, 0, 0, 3, 0,117,255,227, 4, 92, 5,240, 0, 10, 0, 19, 0, 28, 0, 0, 1, 16, 2, 32, 2, 17, 16, 18, 51, 50, - 18, 3, 2, 39, 38, 35, 34, 7, 6, 3, 23, 22, 23, 22, 51, 50, 55, 54, 55, 4, 92,247,254, 6,246,247,252,253,247,212, 8, 58, - 68,154,153, 67, 59, 8, 1, 9, 57, 67,153,154, 68, 56, 9, 2,233,254,122,254,128, 1,126, 1,136, 1,135, 1,128,254,128,254, -204, 1, 8,123,141,141,123,254,248,184,250,118,141,141,117,251,255,255, 0, 6,255,227, 4,167, 6, 21, 16, 39, 2,151, 1,121, - 1,164, 16, 6, 0, 50,145, 0,255,255, 0, 32,255,227, 4,178, 4,123, 16, 39, 2,151, 1,132, 0, 0, 16, 6, 0, 82,151, 0, - 0, 2, 0, 45,255,227, 4,164, 5,240, 0, 16, 0, 27, 0, 0, 19, 16, 37, 54, 51, 50, 23, 55, 51, 17, 35, 17, 7, 17, 6, 32, - 2, 1, 38, 35, 34, 2, 17, 16, 18, 51, 50, 55, 45, 1, 78, 53, 62,206,111,147,230,175,180,111,254, 56,221, 2,136, 61,138,138, -121,121,138,138, 61, 2,233, 2,160, 89, 14,158,131,250, 43, 4,205,160,252,118,192, 1,126, 3, 94,141,254,230,254,183,254,184, -254,230,141, 0, 0, 2, 0, 86,254, 82, 4,171, 4,123, 0, 19, 0, 32, 0, 0, 19, 16, 55, 54, 51, 50, 23, 21, 55, 51, 17, 35, - 17, 7, 17, 6, 35, 34, 39, 38, 55, 16, 23, 22, 51, 50, 55, 17, 38, 35, 34, 3, 6, 86,250, 80,101,210,111,126,231,176,181,110, -211,234,111, 86,176,215, 19, 21,127, 65, 65,127,206, 40, 9, 2, 47, 1,180,115, 37,151, 43,110,250, 43, 4,205,157,253,248,151, -188,146,254,254,117, 34, 3,109, 2,134,109,254,226, 66, 0, 0, 0, 2, 0, 56, 0, 0, 4,153, 5,213, 0, 23, 0, 33, 0, 0, - 1, 16, 5, 6, 43, 1, 17, 35, 17, 34, 7, 6, 29, 1, 35, 53, 52, 55, 54, 51, 33, 32, 19, 22, 1, 50, 55, 54, 53, 52, 38, 43, - 1, 17, 4,153,254,200, 86,110, 93,202, 54, 60, 48,156, 96, 96,126, 1, 39, 1,151, 82, 19,254, 4,211, 64, 22,156,141, 93, 4, - 23,254,164, 77, 22,253,168, 5, 47, 47, 38,114, 49, 70,181, 82, 81,254,220, 69,254,146,157, 56, 68,133,147,253,207, 0, 0, 0, - 0, 2, 0,190,254, 86, 4, 84, 5,152, 0, 14, 0, 42, 0, 0, 1, 16, 23, 22, 51, 50, 54, 53, 16, 39, 34, 35, 34, 3, 6, 17, - 54, 55, 50, 51, 50, 18, 17, 16, 2, 35, 34, 38, 39, 17, 35, 17, 16, 55, 54, 59, 1, 21, 35, 34, 7, 6, 21, 1,119,209, 29, 34, -133,135,251, 9, 8,214, 46, 12, 91,194, 7, 7,203,231,232,202,102,153, 44,185,203, 63, 78,205,185,169, 9, 1, 2, 47,254,137, - 50, 7,218,214, 1,162, 14,254,239, 70, 1, 73,164, 6,254,198,254,234,254,239,254,201, 87, 83,253,201, 5,172, 1, 46, 79, 25, -156,221, 14, 15, 0, 2, 0,143,254,248, 4,209, 5,213, 0, 22, 0, 31, 0, 0, 1, 22, 23, 22, 23, 19, 35, 3, 46, 1, 43, 1, - 17, 35, 17, 51, 17, 51, 50, 4, 21, 20, 6, 1, 17, 51, 50, 54, 53, 52, 38, 35, 2,248, 78, 55, 54, 83,203,217,178, 77,123, 99, -193,203,203,213,246, 1, 6,161,253,208,221,145,142,151,144, 1,185, 20, 55, 55,167,254,104, 1,121,161, 93,254,145, 5,213,254, -248,222,210,148,187, 2, 89,253,238,130,134,129,137, 0, 0, 0, 0, 1, 0,139,255,227, 4, 74, 5,240, 0, 39, 0, 0, 19, 62, - 1, 51, 50, 4, 21, 20, 6, 15, 1, 14, 1, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 36, 53, 52, 54, 63, 1, 62, 1, 53, - 52, 38, 35, 34, 6, 7,225,105,190, 86,223, 1, 13,188,208,108,145,117,170,153,104,205,115,107,212,105,252,254,248,192,210,106, -149,109,166,143, 94,185, 92, 5,162, 39, 39,241,200,160,190, 47, 25, 32,118,112,123,137, 68, 73,215, 45, 45,224,213,181,210, 49, - 24, 35,104, 99,113,133, 60, 59, 0, 1, 0,213,255,227, 4, 6, 4,123, 0, 39, 0, 0, 1, 62, 1, 51, 50, 22, 21, 20, 6, 15, - 2, 6, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 53, 52, 54, 63, 1, 62, 1, 53, 52, 38, 35, 34, 6, 7, 1, 14, 80, -166, 90,202,218,146,159, 69, 8,245,134,122, 84,188,103,106,182, 83,210,236,141,137, 74,183, 92,123,125, 83,160, 79, 4, 57, 33, - 33,175,161,127,147, 31, 14, 2, 49,128, 89, 99, 53, 53,190, 35, 35,187,166,125,156, 26, 14, 35, 74, 75, 83, 81, 46, 46, 0, 0, -255,255, 0,120, 0, 0, 4,109, 5,213, 16, 6, 2,223, 0, 0, 0, 2, 0,118,254, 86, 4, 91, 6, 20, 0, 8, 0, 33, 0, 0, - 1, 38, 39, 38, 35, 34, 7, 6, 51, 5, 3, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 53, 17, 35, 32, 53, 52, 33, 50, 23, 22, 23, - 51, 21, 2, 56, 7, 18, 33,110,124, 3, 3,119, 1,120, 2, 39, 37,100,176,174,195, 81, 87,190,254,242, 1, 47,181, 82, 53, 18, -191, 5, 4, 45, 23, 48, 65, 51,154,251, 61,103, 41, 40,153, 86, 92,180, 4,174,210,216, 96, 64,111,155, 0, 0, 0, 1, 0,131, -254, 86, 4, 8, 5,158, 0, 32, 0, 0, 1, 17, 33, 21, 33, 17, 20, 22, 59, 1, 29, 1, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, - 61, 1, 35, 34, 38, 53, 17, 33, 53, 33, 17, 2,102, 1,162,254, 94, 94,117,207, 89, 90,165,205,185, 90, 45, 44, 40,207,170,254, -213, 1, 43, 5,158,254,194,143,253,160,124, 98,147, 20,195,105,106,156, 62, 62,126, 20,166,203, 2, 96,143, 1, 62, 0, 0, 0, - 0, 1, 0, 47, 0, 0, 4,162, 5,213, 0, 16, 0, 0, 1, 38, 7, 6, 29, 1, 35, 53, 52, 54, 51, 33, 21, 33, 17, 35, 17, 1, -197,131, 70, 49,156,192,214, 2,221,254, 45,203, 5, 47, 8, 55, 38,114, 49, 70,181,163,170,250,213, 5, 43, 0, 0, 1, 0,131, - 0, 0, 4, 8, 6, 20, 0, 29, 0, 0, 1, 33, 21, 33, 17, 20, 22, 59, 1, 21, 35, 34, 38, 53, 17, 33, 53, 33, 53, 52, 55, 54, - 59, 1, 21, 35, 34, 7, 6, 21, 2,102, 1,162,254, 94, 94,117,207,225,207,170,254,213, 1, 42, 89, 90,165,205,185, 90, 45, 44, - 4, 96,143,253,160,124, 98,147,166,203, 2, 96,143, 30,195,105,106,156, 62, 62,126, 0, 0, 0, 0, 1, 0, 47,254, 86, 4,162, - 5,213, 0, 21, 0, 0, 19, 33, 21, 33, 17, 29, 1, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 61, 2, 17, 33, 47, 4,115,254, 45, - 44, 45, 90,185,223,165, 90, 89,254, 43, 5,213,170,251, 85,128, 20,126, 62, 62,156,106,105,195, 20,128, 4,171,255,255, 0, 9, -255,227, 4,200, 6, 25, 16, 39, 2,151, 1,154, 1,168, 16, 7, 0, 56,255,118, 0, 0, 0, 0,255,255, 0, 39,255,227, 4,170, - 4,113, 16, 39, 2,151, 1,124, 0, 0, 16, 7, 0, 88,255,100, 0, 0, 0, 0, 0, 1, 0, 74, 0, 0, 4,135, 5,180, 0, 30, - 0, 0, 1, 21, 35, 22, 18, 21, 16, 0, 35, 34, 0, 17, 52, 18, 55, 35, 53, 33, 21, 6, 2, 21, 20, 18, 32, 18, 53, 52, 2, 39, - 53, 4,135,245,123,110,254,224,240,242,254,223,111,123,248, 1,207,120,134,180, 1, 52,179,134,120, 5,180,172,134,254,224,188, -254,201,254,145, 1,110, 1, 56,188, 1, 33,133,172,172, 76,254,183,222,230,254,247, 1, 9,230,222, 1, 73, 76,172, 0, 0, 0, - 0, 1, 0,154, 0, 0, 4, 42, 5,213, 0, 24, 0, 0, 33, 34, 39, 38, 53, 17, 51, 17, 20, 23, 22, 51, 50, 18, 53, 52, 2, 39, - 51, 22, 18, 21, 16, 7, 6, 1,250,170, 92, 90,204, 44, 44, 90,154,180,134,120,218,122,110,144,147,106,102,198, 4, 63,251,208, -126, 62, 62, 1, 9,230,222, 1, 73, 76,134,254,224,188,254,201,184,188, 0, 0, 0, 1, 0, 17, 0, 0, 4,192, 5,215, 0, 22, - 0, 0, 1, 3, 17, 35, 17, 1, 51, 1, 19, 54, 55, 54, 51, 50, 31, 1, 7, 39, 38, 35, 34, 7, 6, 3,107,246,183,254, 83,193, - 1, 72,199, 99,109, 46, 45, 80, 75, 25, 71, 10, 34, 40, 28, 31, 51, 4,116,254, 42,253, 98, 2,158, 3, 55,253,109, 1,145,200, - 42, 18, 57, 19,134, 9, 31, 16, 24, 0, 0, 0, 0, 1, 0, 24,254, 86, 4,201, 4,109, 0, 28, 0, 0, 5, 6, 7, 6, 43, 1, - 53, 51, 50, 54, 63, 1, 1, 51, 9, 1, 54, 55, 54, 51, 50, 31, 1, 7, 39, 38, 35, 34, 7, 2,110, 81, 71, 74,124,147,108, 76, - 84, 51, 33,254, 59,195, 1, 94, 1, 23, 50, 81, 43, 51, 49, 55, 48, 53, 28, 28, 22, 43, 16,104,203, 58, 61,154, 72,134, 84, 4, - 78,252,148, 2,187,126, 41, 22, 20, 17,147, 10, 11, 41, 0, 0, 0, 1, 0,156, 0, 0, 4,145, 5,213, 0, 18, 0, 0, 19, 33, - 21, 1, 51, 21, 33, 35, 1, 33, 21, 33, 53, 1, 35, 53, 33, 1, 33,178, 3,201,254,117,232,254,247, 80,254,240, 3, 34,252, 11, - 1, 19,180, 1, 34, 1,118,253, 31, 5,213,154,253,176,170,254,105,170,154, 1,167,170, 2, 64, 0, 1, 0,156, 0, 0, 4, 53, - 4, 98, 0, 18, 0, 0, 19, 33, 21, 1, 33, 21, 33, 35, 3, 33, 21, 33, 53, 19, 33, 53, 33, 1, 33,222, 3, 45,254,242, 1, 56, -254,158, 89,242, 2,131,252,187,225,254,245, 1,142, 1, 31,253,149, 4, 98,168,254,174,164,254,210,150,170, 1, 26,164, 1,103, - 0, 1, 0, 26,255,228, 4,183, 5,213, 0, 31, 0, 0, 19, 20, 23, 22, 32, 55, 54, 53, 52, 39, 38, 43, 1, 53, 1, 33, 53, 33, - 21, 1, 50, 23, 22, 23, 22, 21, 20, 4, 33, 32, 36, 53,228,100, 99, 1,123,100,100, 92, 94,164,174, 1,114,253, 30, 3,202,254, -136,104,130, 98, 86, 80,254,208,254,232,254,220,254,208, 1,179,143, 75, 75, 75, 75,143,134, 73, 74,166, 1,185,170,168,254, 71, - 56, 43,108,104,138,221,242,242,221, 0, 0, 0, 0, 1, 0, 26,255,228, 4,183, 5,213, 0, 31, 0, 0, 1, 51, 20, 4, 33, 32, - 36, 53, 52, 55, 54, 55, 54, 51, 1, 53, 33, 21, 33, 1, 21, 35, 34, 7, 6, 21, 20, 23, 22, 32, 55, 54, 3,238,200,254,208,254, -220,254,232,254,208, 82, 85, 99,129,105,254,136, 3,200,253, 32, 1,114,174,166, 92, 92,100, 99, 1,123,100,100, 1,179,221,242, -242,221,138,104,108, 43, 56, 1,185,168,170,254, 71,166, 74, 73,134,143, 75, 75, 75, 75, 0, 0, 0, 1, 0,125,254, 76, 4, 84, - 4, 96, 0, 32, 0, 0, 9, 1, 53, 33, 21, 33, 1, 21, 35, 34, 7, 6, 21, 20, 23, 22, 51, 50, 54, 55, 21, 6, 7, 6, 35, 32, - 36, 53, 52, 55, 54, 55, 54, 2,112,254,101, 3,106,253,101, 1,174,174,165, 93, 92,100, 99,190,109,200, 84,106,100, 99, 94,254, -232,254,208, 81, 86, 98,128, 1,220, 1,220,168,147,254, 13,166, 74, 75,132,143, 75, 75, 50, 49,195, 37, 19, 18,242,221,138,104, -109, 42, 56, 0, 0, 1, 0,152, 0, 0, 4, 35, 5,240, 0, 32, 0, 0, 19, 54, 51, 50, 4, 21, 20, 7, 6, 7, 51, 21, 35, 7, - 1, 33, 21, 33, 53, 1, 33, 53, 33, 54, 55, 54, 53, 52, 39, 38, 35, 34, 7,164,208,191,219, 1, 11, 45, 34, 66, 80,230, 56,254, -187, 2,174,252,117, 1,126,254,229, 1,178,105, 30, 22,150, 57, 68,181,222, 5,141, 99,233,189, 96, 96, 74, 85,170, 63,254,168, -170,170, 1,151,170,130, 84, 60, 62,185, 60, 22,133, 0, 0, 0, 0, 1, 0, 26,255,228, 4,182, 5,213, 0, 32, 0, 0, 37, 32, - 55, 54, 53, 52, 39, 38, 35, 33, 17, 33, 21, 33, 17, 33, 50, 23, 22, 23, 22, 21, 20, 4, 33, 32, 3, 38, 53, 51, 20, 23, 22, 2, -104, 1, 60, 61, 13, 92, 94,164,254, 71, 3,156,253, 47, 1, 34,105,129, 99, 85, 80,254,208,254,232,254, 82,122, 44,202,158, 91, -142,199, 43, 51,134, 73, 74, 3, 9,170,254, 73, 56, 43,108,101,141,221,242, 1, 0, 91,116,181, 71, 41, 0, 0, 0, 1, 0,125, -254, 76, 4, 84, 4, 96, 0, 28, 0, 0, 1, 32, 55, 54, 53, 52, 39, 38, 35, 33, 17, 33, 21, 33, 17, 55, 54, 23, 22, 23, 22, 21, - 20, 4, 33, 34, 39, 53, 22, 2, 6, 1, 55, 63, 15, 92, 93,165,254,212, 2,240,253,200,168,103,131, 99, 85, 81,254,208,254,232, -187,212,170,254,246,195, 45, 53,134, 73, 74, 3, 44,184,254, 51, 1, 1, 57, 43,108,104,138,221,242, 74,195, 99, 0, 1, 0,194, -255,227, 4, 15, 5,158, 0, 32, 0, 0, 1, 52, 39, 38, 43, 1, 17, 35, 53, 51, 17, 51, 17, 51, 21, 35, 21, 22, 23, 22, 21, 20, - 7, 6, 33, 34, 39, 53, 22, 51, 50, 55, 54, 3, 77, 74, 89,173, 62,229,229,202,231,231,165,108,117,110,138,254,238,171,152,156, -159,179, 99, 57, 1,183,114, 79, 95, 1, 15,164, 1, 20,254,236,164,125, 29,110,119,176,185,126,157, 70,172, 86,114, 65, 0, 0, - 0, 1, 2, 3, 0, 0, 2,206, 5,213, 0, 3, 0, 0, 1, 51, 17, 35, 2, 4,202,202, 5,213,250, 43, 0, 0,255,255, 1, 57, - 0, 0, 3,152, 5,213, 16, 39, 1,128,255, 54, 0, 0, 16, 7, 1,128, 0,202, 0, 0, 0, 0, 0, 1, 0,164, 0, 0, 4, 45, - 5,213, 0, 19, 0, 0, 1, 51, 17, 33, 21, 33, 21, 33, 21, 33, 17, 35, 17, 33, 53, 33, 53, 33, 53, 33, 2, 4,202, 1, 94,254, -162, 1, 94,254,162,202,254,160, 1, 96,254,160, 1, 96, 5,213,254,108,168,240,170,254, 1, 1,255,170,240,168,255,255, 2, 3, - 0, 0, 2,206, 5,213, 16, 6, 0, 4,255, 0,255,255, 0, 37, 0, 0, 4,172, 7,109, 16, 38, 0, 36, 0, 0, 16, 7, 11,181, - 0, 0, 1,117,255,255, 0,133,255,227, 4, 35, 6,102, 16, 38, 0, 68, 0, 0, 16, 6, 2, 96, 0, 0, 0, 0,255,255, 0,201, - 0, 0, 4, 6, 7,109, 16, 38, 0, 44, 0, 0, 16, 7, 11,181, 0, 0, 1,117,255,255, 0,178, 0, 0, 4, 68, 6,102, 16, 38, - 0,243, 0, 0, 16, 6, 2, 96, 0, 0, 0, 0,255,255, 0,117,255,227, 4, 92, 7,109, 16, 38, 0, 50, 0, 0, 16, 7, 11,181, - 0, 0, 1,117,255,255, 0,137,255,227, 4, 72, 6,102, 16, 38, 0, 82, 0, 0, 16, 6, 2, 96, 0, 0, 0, 0,255,255, 0,147, -255,227, 4, 61, 7,109, 16, 38, 0, 56, 0, 0, 17, 7, 11,181, 0, 0, 1,117, 0, 20,180, 17, 35, 31, 1, 7, 43, 64, 9, 32, - 31, 47, 35, 0, 31, 15, 35, 4, 93, 49, 0, 0,255,255, 0,195,255,227, 4, 27, 6,102, 16, 38, 0, 88, 0, 0, 16, 6, 2, 96, - 0, 0, 0, 0,255,255, 0,147,255,227, 4, 61, 7,160, 16, 39, 11,176, 0, 0, 0,249, 16, 38, 0, 56, 0, 0, 16, 7, 2, 98, - 0, 0, 1,170,255,255, 0,195,255,227, 4, 27, 7, 50, 16, 38, 2,132, 0, 0, 16, 38, 0, 88, 0, 0, 16, 7, 0,113, 0, 0, - 1, 60, 0, 0,255,255, 0,147,255,227, 4, 61, 7,249, 16, 39, 11,176, 0, 0, 0,249, 16, 38, 0, 56, 0, 0, 16, 7, 11,177, - 0, 0, 2, 3,255,255, 0,195,255,227, 4, 27, 7,162, 16, 38, 2,132, 0, 0, 16, 38, 0, 88, 0, 0, 16, 7, 2,125, 0, 0, - 1, 60, 0, 0,255,255, 0,147,255,227, 4, 61, 7,251, 16, 39, 11,176, 0, 0, 0,249, 16, 38, 0, 56, 0, 0, 16, 7, 11,181, - 0, 0, 2, 3,255,255, 0,195,255,227, 4, 27, 7,162, 16, 38, 2,132, 0, 0, 16, 38, 0, 88, 0, 0, 16, 7, 2,136, 0, 0, - 1, 60, 0, 0,255,255, 0,147,255,227, 4, 61, 7,249, 16, 39, 11,176, 0, 0, 0,249, 16, 38, 0, 56, 0, 0, 16, 7, 11,179, - 0, 0, 2, 3,255,255, 0,195,255,227, 4, 27, 7,162, 16, 39, 2,124, 0, 0, 1, 60, 16, 6, 0,190, 0, 0,255,255, 0,122, -255,227, 4, 87, 4,123, 18, 6, 1,247, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7,160, 16, 39, 11,176, 0, 0, 0,249, 16, 39, - 2, 98, 0, 0, 1,170, 16, 6, 0, 36, 0, 0,255,255, 0,133,255,227, 4, 35, 7, 50, 16, 39, 0,113, 0, 0, 1, 60, 16, 6, - 0,166, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7,160, 16, 39, 2, 98, 0, 0, 1,170, 16, 38, 11,185, 0,132, 16, 6, 0, 36, - 0, 0, 0, 0,255,255, 0,133,255,227, 4, 35, 7, 50, 16, 39, 0,113, 0, 0, 1, 60, 18, 6, 1,210, 0, 0,255,255, 0, 0, - 0, 0, 4,156, 7, 48, 16, 39, 11,189, 0,170, 0, 0, 16, 6, 0,136, 0, 0,255,255, 0, 41,255,227, 4,176, 5,246, 16, 38, - 2,128, 0, 0, 16, 6, 0,168, 0, 0, 0, 0,255,255, 0,102,255,227, 4, 80, 7,109, 16, 39, 11,181, 0, 0, 1,117, 16, 6, - 0, 42, 0, 0,255,255, 0,123,254, 72, 4, 18, 6,102, 16, 38, 2, 96, 0, 0, 16, 6, 0, 74, 0, 0, 0, 0,255,255, 0,137, - 0, 0, 4,201, 7,109, 16, 39, 11,181, 0, 0, 1,117, 16, 6, 0, 46, 0, 0,255,255, 0,236, 0, 0, 4,178, 7,109, 16, 39, - 11,181, 0, 0, 1,117, 16, 6, 0, 78, 0, 0,255,255, 0,117,254,101, 4, 92, 5,240, 16, 38, 2,109, 28,240, 16, 6, 0, 50, - 0, 0, 0, 0,255,255, 0,137,254,101, 4, 72, 4,123, 16, 38, 2,109, 28,240, 16, 6, 0, 82, 0, 0, 0, 0,255,255, 0,117, -254,101, 4, 92, 7, 48, 16, 38, 11,189, 0, 0, 16, 6, 1,159, 0, 0, 0, 0,255,255, 0,137,254,101, 4, 72, 5,246, 16, 38, - 2,128, 0, 0, 16, 6, 1,160, 0, 0, 0, 0,255,255, 0, 26,255,228, 4,183, 7,109, 16, 39, 11,181, 0, 0, 1,117, 16, 6, - 1,121, 0, 0,255,255, 0,125,254, 76, 4, 84, 6,102, 16, 38, 2, 96, 0, 0, 16, 6, 2, 48, 0, 0, 0, 0,255,255, 0,186, -254, 86, 3,203, 6, 97, 16, 38, 2, 96, 35,251, 16, 6, 1,226, 0, 0, 0, 0,255,255, 0,102,255,227, 4, 80, 7,107, 16, 39, - 11,177, 0, 90, 1,117, 16, 6, 0, 42, 0, 0,255,255, 0,123,254, 72, 4, 18, 6,102, 16, 38, 0,118, 0, 0, 16, 6, 0, 74, - 0, 0, 0, 0, 0, 1, 0, 61,255,227, 4,148, 5,213, 0, 29, 0, 0, 37, 50, 55, 54, 25, 1, 51, 17, 16, 7, 6, 35, 34, 39, - 38, 17, 53, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 16, 23, 22, 3,109, 54, 25, 33,182,104, 57,133,128, 72,134,254,213,182,182, - 1, 43,183, 82, 23,135, 79,102, 1, 14, 1, 39,254,192,254,139,140, 77, 83,153, 1, 98,150,253, 57, 5,213,253,156, 2,100,252, -117,254,239,139, 39, 0, 0, 0,255,255, 0,139, 0, 0, 4, 70, 7,107, 16, 39, 11,179, 0, 0, 1,117, 16, 6, 0, 49, 0, 0, -255,255, 0,195, 0, 0, 4, 27, 6,102, 16, 38, 0, 67, 0, 0, 16, 6, 0, 81, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 4,156, - 7,107, 16, 39, 11,177, 0,240, 1,117, 16, 6, 0,136, 0, 0,255,255, 0, 41,255,227, 4,176, 6,102, 16, 38, 0,118, 0, 0, - 16, 6, 0,168, 0, 0, 0, 0,255,255, 0, 8,255,186, 4,176, 7,107, 16, 39, 11,177, 0, 0, 1,117, 16, 6, 0,154, 0, 0, -255,255, 0, 47,255,160, 4,150, 6,102, 16, 38, 0,118, 0, 0, 16, 6, 0,186, 0, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, - 7,107, 16, 38, 11,187, 0, 0, 16, 6, 0, 36, 0, 0, 0, 0,255,255, 0,133,255,227, 4, 35, 6,102, 16, 38, 2,139, 0, 0, - 16, 6, 0, 68, 0, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7,109, 16, 38, 11,183, 0, 0, 16, 6, 0, 36, 0, 0, 0, 0, -255,255, 0,133,255,227, 4, 35, 6, 72, 16, 38, 2,141, 0, 0, 16, 6, 0, 68, 0, 0, 0, 0,255,255, 0,187, 0, 0, 4, 78, - 7,107, 16, 38, 11,187, 0, 0, 16, 6, 0, 40, 0, 0, 0, 0,255,255, 0,123,255,227, 4, 88, 6,102, 16, 38, 2,139, 14, 0, - 16, 6, 0, 72, 0, 0, 0, 0,255,255, 0,197, 0, 0, 4, 78, 7,109, 16, 38, 11,183, 0, 0, 16, 6, 0, 40, 0, 0, 0, 0, -255,255, 0,123,255,227, 4, 88, 6, 72, 16, 38, 2,141, 14, 0, 16, 6, 0, 72, 0, 0, 0, 0,255,255, 0,187, 0, 0, 4, 6, - 7,107, 16, 38, 11,187, 0, 0, 16, 6, 0, 44, 0, 0, 0, 0,255,255, 0,178, 0, 0, 4, 68, 6,102, 16, 38, 2,139, 0, 0, - 16, 6, 0,243, 0, 0, 0, 0,255,255, 0,201, 0, 0, 4, 6, 7,109, 16, 38, 11,183, 0, 0, 16, 6, 0, 44, 0, 0, 0, 0, -255,255, 0,178, 0, 0, 4, 68, 6, 72, 16, 38, 2,141, 0, 0, 16, 6, 0,243, 0, 0, 0, 0,255,255, 0,117,255,227, 4, 92, - 7,107, 16, 38, 11,187, 0, 0, 16, 6, 0, 50, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, 6,102, 16, 38, 2,139, 0, 0, - 16, 6, 0, 82, 0, 0, 0, 0,255,255, 0,117,255,227, 4, 92, 7,109, 16, 38, 11,183, 0, 0, 16, 6, 0, 50, 0, 0, 0, 0, -255,255, 0,137,255,227, 4, 72, 6, 72, 16, 38, 2,141, 0, 0, 16, 6, 0, 82, 0, 0, 0, 0,255,255, 0,137, 0, 0, 4,209, - 7,107, 16, 38, 11,187,206, 0, 16, 6, 0, 53, 0, 0, 0, 0,255,255, 1,104, 0, 0, 4,131, 6,102, 16, 39, 2,139, 0,150, - 0, 0, 16, 6, 0, 85, 0, 0,255,255, 0,143, 0, 0, 4,209, 7,109, 16, 38, 11,183,206, 0, 16, 6, 0, 53, 0, 0, 0, 0, -255,255, 1,106, 0, 0, 4,131, 6, 72, 16, 39, 2,141, 0,150, 0, 0, 16, 6, 0, 85, 0, 0,255,255, 0,147,255,227, 4, 61, - 7,107, 16, 38, 11,187, 0, 0, 16, 6, 0, 56, 0, 0, 0, 0,255,255, 0,195,255,227, 4, 27, 6,102, 16, 38, 2,139, 0, 0, - 16, 6, 0, 88, 0, 0, 0, 0,255,255, 0,147,255,227, 4, 61, 7,109, 16, 38, 11,183, 0, 0, 16, 6, 0, 56, 0, 0, 0, 0, -255,255, 0,195,255,227, 4, 27, 6, 72, 16, 38, 2,141, 0, 0, 16, 6, 0, 88, 0, 0, 0, 0,255,255, 0,139,253,226, 4, 74, - 5,240, 16, 38, 2,162, 0, 0, 16, 6, 0, 54, 0, 0, 0, 0,255,255, 0,213,253,226, 4, 6, 4,123, 16, 38, 2,162, 0, 0, - 16, 6, 0, 86, 0, 0, 0, 0,255,255, 0, 47,253,226, 4,162, 5,213, 16, 38, 2,162, 0, 0, 16, 6, 0, 55, 0, 0, 0, 0, -255,255, 0,131,253,226, 4, 8, 5,158, 16, 38, 2,162, 89, 0, 16, 6, 0, 87, 0, 0, 0, 0,255,255, 0,137, 0, 0, 4, 72, - 7,109, 16, 39, 11,181, 0, 0, 1,117, 16, 6, 0, 43, 0, 0,255,255, 0,195, 0, 0, 4, 27, 7,109, 16, 39, 11,181, 0, 0, - 1,117, 16, 6, 0, 75, 0, 0, 0, 1, 0,147,254, 82, 4, 61, 5,242, 0, 19, 0, 0, 1, 17, 35, 17, 52, 38, 35, 34, 6, 21, - 17, 35, 17, 51, 21, 62, 1, 51, 50, 18, 4, 61,203,116,124,141,152,202,202, 54,184,126,187,185, 3,231,250,107, 5,159,180,169, -218,203,252, 87, 5,213,198,111,116,254,251, 0, 0, 3, 0, 18,255,108, 4,159, 6, 20, 0, 6, 0, 40, 0, 49, 0, 0, 37, 22, - 55, 50, 55, 54, 34, 39, 20, 23, 54, 55, 54, 21, 16, 35, 34, 39, 6, 7, 35, 55, 38, 47, 1, 6, 7, 6, 39, 38, 39, 38, 17, 16, - 18, 51, 50, 22, 23, 17, 51, 0, 16, 22, 50, 54, 53, 52, 38, 34, 3,109, 12, 66,123, 3, 4,128,169, 13,114,104,164,250, 71, 48, - 30, 20,119, 68, 32, 38, 16, 28, 56, 77,100,163, 92, 93,187,161, 80,123, 35,184,253,153,108,212,111,111,212,144, 18, 1,155, 62, - 62,116, 35,244, 1, 2,218,254,199, 17, 79, 57,194, 13, 89, 37, 90, 53, 72, 1, 2,155,158, 1, 21, 1, 17, 1, 55, 87, 83, 2, - 67,252,241,254, 84,218,220,212,213,219, 0, 0, 0, 1, 0,156,254, 86, 4,146, 5,213, 0, 23, 0, 0, 19, 33, 21, 1, 33, 21, - 51, 21, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 33, 53, 1, 33,178, 3,201,252,244, 3, 34, 1, 89, 90,165,205,185, 90, - 45, 44,252,195, 2,247,253, 31, 5,213,154,251,111, 42,148,195,105,106,156, 62, 62,126, 20,154, 4,145, 0, 0, 0, 1, 0,203, -254, 86, 4, 16, 4, 98, 0, 23, 0, 0, 19, 33, 21, 1, 33, 21, 35, 21, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 33, 53, - 1, 33,227, 3, 45,253,125, 2,131, 8, 89, 90,165,205,185, 90, 45, 44,253,124, 2,131,253,149, 4, 98,168,252,220,150, 20,195, -105,106,156, 62, 62,126, 20,170, 3, 37, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 36, - 0, 0, 0, 0,255,255, 0,133,255,227, 4, 35, 6, 16, 16, 38, 2,131, 0, 0, 16, 6, 0, 68, 0, 0, 0, 0,255,255, 0,197, -254,117, 4, 78, 5,213, 16, 38, 2,163, 50, 0, 16, 6, 0, 40, 0, 0, 0, 0,255,255, 0,123,254,117, 4, 88, 4,123, 16, 38, - 2,163, 50, 0, 16, 6, 0, 72, 0, 0, 0, 0,255,255, 0,117,255,227, 4, 92, 7,160, 16, 39, 11,176, 0, 0, 0,249, 16, 39, - 2, 98, 0, 0, 1,170, 16, 6, 0, 50, 0, 0,255,255, 0,137,255,227, 4, 72, 7, 50, 16, 39, 0,113, 0, 0, 1, 60, 16, 6, - 0,184, 0, 0,255,255, 0,117,255,227, 4, 92, 7,160, 16, 38, 0, 50, 0, 0, 16, 39, 11,178, 0, 0, 0,245, 16, 7, 2, 98, - 0, 0, 1,170,255,255, 0,137,255,227, 4, 72, 7, 50, 16, 39, 0,113, 0, 4, 1, 60, 16, 6, 0,183, 0, 0,255,255, 0,117, -255,227, 4, 92, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 50, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, 6, 16, 16, 38, - 2,131, 0, 0, 16, 6, 0, 82, 0, 0, 0, 0,255,255, 0,117,255,227, 4, 92, 7,160, 16, 39, 2, 98, 0, 0, 1,170, 16, 38, - 11,185, 0,132, 16, 6, 0, 50, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, 7, 50, 16, 39, 0,113, 0, 0, 1, 60, 16, 6, - 1,218, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7, 48, 16, 38, 11,189, 0, 0, 16, 6, 0, 60, 0, 0, 0, 0,255,255, 0,104, -254, 86, 4,129, 5,246, 16, 38, 2,128, 0, 0, 16, 6, 0, 92, 0, 0, 0, 0, 0, 2, 0,160,255,108, 4, 10, 6, 31, 0, 6, - 0, 29, 0, 0, 37, 22, 55, 50, 55, 54, 34, 3, 6, 7, 35, 55, 38, 39, 38, 53, 17, 33, 53, 33, 17, 20, 23, 54, 55, 54, 21, 16, - 35, 34, 2,216, 12, 66,123, 3, 4,128,144, 29, 20,119, 68, 19, 51, 39,254,217, 1,223, 13,114,104,164,250, 70,144, 18, 1,155, - 62,254,156, 79, 57,194, 5, 97, 74,184, 3,249,144,251,119,116, 35,244, 1, 2,218,254,199, 0, 0, 2, 0,106,255,108, 4,103, - 4,123, 0, 6, 0, 46, 0, 0, 37, 22, 55, 50, 55, 54, 34, 39, 20, 23, 54, 55, 54, 23, 20, 21, 16, 7, 34, 39, 6, 7, 35, 55, - 38, 39, 38, 61, 1, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 23, 22, 17, 3, 52, 12, 66,123, 3, 4,128,185, - 22,122,103,159, 5,250, 71, 49, 29, 20,119, 68, 19, 51, 39, 53, 90, 73, 57,167,167, 33, 99, 63,133, 57, 56,144, 18, 1,155, 62, - 62,114, 46,252, 2, 2,206, 6, 6,254,200, 1, 17, 79, 57,194, 5, 97, 74,184,235,237,115,123,229,253,127, 4, 96, 96, 60, 63, -105,101,254,220, 0, 2, 0,131,255,108, 4, 8, 5,158, 0, 6, 0, 35, 0, 0, 37, 22, 55, 50, 55, 54, 34, 39, 20, 23, 54, 55, - 54, 21, 16, 35, 34, 39, 6, 7, 35, 55, 38, 39, 38, 53, 17, 33, 53, 33, 17, 51, 17, 33, 21, 33, 2,191, 12, 66,123, 3, 4,128, -169, 13,114,104,164,250, 71, 48, 30, 20,119, 68, 19, 51, 39,254,213, 1, 43,184, 1,162,254, 94,144, 18, 1,155, 62, 62,116, 35, -244, 1, 2,218,254,199, 17, 79, 57,194, 5, 97, 74,184, 2, 59,143, 1, 62,254,194,143, 0, 0, 0, 1, 0,186,254, 86, 3, 16, - 4, 96, 0, 13, 0, 44, 64, 22, 5, 0, 1, 10,140, 8, 1,182, 3,194, 8,195, 14, 11, 8, 2, 9, 2, 4, 6, 0, 14, 16,212, -236,196,196, 18, 57, 57, 49, 0, 16,228,244,238, 16,238, 17, 57, 57, 48, 5, 17, 33, 53, 33, 17, 20, 6, 43, 1, 53, 51, 50, 54, - 2, 88,254,195, 1,245,179,165,254,234, 90, 90, 20, 3,229,143,251,140,195,211,156,125, 0, 0, 0, 3, 0,120,255,227, 4, 89, - 6, 20, 0, 8, 0, 19, 0, 49, 0, 0, 18, 16, 22, 50, 54, 53, 52, 38, 34, 0, 16, 38, 35, 34, 6, 21, 20, 22, 51, 50, 3, 62, - 1, 51, 50, 18, 17, 16, 2, 35, 34, 38, 39, 21, 35, 53, 14, 1, 35, 34, 2, 17, 16, 18, 51, 50, 22, 23, 17, 51,237, 81,160, 83, - 83,160, 2,166, 81, 80, 81, 82, 82, 81, 80,243, 26, 93, 61,122,139,140,122, 60, 92, 27,111, 27, 92, 60,122,140,141,121, 60, 93, - 26,111, 3, 5,254, 84,218,220,212,213,219,253,122, 1,172,218,219,213,212,220, 3, 82, 82, 88,254,201,254,239,254,235,254,197, - 87, 83,141,141, 83, 87, 1, 59, 1, 21, 1, 17, 1, 55, 87, 83, 2, 67, 0, 0, 0, 3, 0,120,254, 74, 4, 89, 4,123, 0, 8, - 0, 19, 0, 49, 0, 0, 0, 16, 38, 34, 6, 21, 20, 22, 50, 0, 16, 22, 51, 50, 54, 53, 52, 38, 35, 34, 19, 14, 1, 35, 34, 2, - 17, 16, 18, 51, 50, 22, 23, 53, 51, 21, 62, 1, 51, 50, 18, 17, 16, 2, 35, 34, 38, 39, 17, 35, 3,228, 81,160, 83, 83,160,253, - 90, 81, 80, 80, 83, 83, 80, 80,243, 26, 93, 61,121,140,140,122, 60, 92, 27,111, 27, 92, 60,122,140,141,121, 61, 92, 26,111, 1, - 89, 1,172,218,220,212,213,219, 2,134,254, 84,218,219,213,212,220,252,174, 82, 88, 1, 55, 1, 17, 1, 21, 1, 59, 87, 83,141, -141, 83, 87,254,197,254,235,254,239,254,201, 87, 83,253,189, 0, 0, 3, 0, 8,255,186, 4,176, 6, 23, 0, 15, 0, 18, 0, 21, - 0, 0, 1, 51, 19, 1, 23, 9, 1, 35, 3, 33, 15, 1, 35, 7, 39, 55, 1, 33, 3, 39, 11, 1, 1,238,245, 96, 1, 9,100,254, -193, 1, 59,209,110,254, 67,130, 56, 86, 49,103, 52, 1,230, 1, 27, 81, 43, 89,207, 5,213,254,199, 1,123, 74,254, 56,251,251, - 1,133,186,203, 70, 70, 74, 1,221, 1, 33,155, 1, 64,253, 25, 0, 2, 0, 8,255,186, 4,176, 6, 23, 0, 8, 0, 41, 0, 0, - 9, 1, 39, 38, 35, 34, 2, 17, 20, 1, 14, 1, 35, 32, 47, 1, 7, 39, 19, 38, 17, 16, 0, 33, 50, 23, 22, 23, 55, 23, 7, 21, - 38, 39, 1, 22, 23, 22, 51, 50, 54, 55, 1,112, 2, 52, 18, 85, 86,197,196, 2,211, 77,162, 91,254,225,158, 9,178,103,212, 81, - 1, 63, 1, 29, 91, 81, 59, 56, 70,100,127, 16, 17,253,139, 16, 21, 98,197, 88,169, 73, 2, 2, 3, 36, 6, 32,254,208,254,205, -126,253,202, 41, 41,203, 11,255, 70, 1, 47,179, 1, 7, 1,110, 1,153, 20, 15, 26,100, 74,181, 73, 13, 12,252,126, 39, 32,152, - 64, 61, 0, 0, 0, 2, 0, 47,255,160, 4,150, 4,188, 0, 7, 0, 40, 0, 0, 9, 1, 38, 35, 34, 6, 21, 20, 1, 14, 1, 35, - 32, 47, 1, 7, 39, 19, 38, 53, 16, 0, 33, 50, 23, 22, 23, 55, 23, 7, 21, 38, 39, 1, 22, 23, 22, 51, 50, 54, 55, 1,149, 1, -220, 62, 71,173,186, 2,160, 74,157, 82,254,252,146, 8,195, 92,216, 68, 1, 37, 1, 4, 81, 77, 40, 40, 95, 93,113, 34, 33,253, -228, 13, 15, 94,172, 96,152, 65, 1,150, 2, 55, 18,224,208, 83,254, 93, 43, 43,156, 9,232, 76, 1, 2,132,189, 1, 20, 1, 56, - 21, 11, 17,114, 77,134,133, 30, 22,253,127, 21, 18,113, 59, 62, 0, 1, 0, 21, 0, 0, 4,188, 5,213, 0, 13, 0, 0, 1, 51, - 17, 33, 21, 33, 17, 33, 21, 33, 17, 33, 53, 33, 1, 32,203, 1, 7,254,249, 2,209,252,100,254,245, 1, 11, 5,213,253, 22,170, -254,105,170, 2, 65,170, 0, 0, 0, 2, 0, 33,255,186, 4,201, 6, 23, 0, 2, 0, 18, 0, 0, 1, 19, 35, 3, 17, 33, 53, 33, - 55, 23, 7, 21, 35, 1, 17, 35, 17, 1, 39, 2,205,243,243,203,254, 45, 4, 8, 46,100, 39, 74,254,117,203,254,134,103, 3,208, - 1, 91,253,132, 2,124,170, 66, 74, 56,106,253,205,253, 8, 1,214,253,228, 70, 0, 1, 0,213,254, 16, 4, 25, 4,123, 0, 53, - 0, 0, 1, 21, 46, 1, 35, 34, 6, 21, 20, 22, 31, 1, 30, 1, 21, 20, 7, 6, 7, 31, 1, 22, 51, 21, 35, 34, 39, 38, 47, 1, - 38, 47, 1, 53, 54, 23, 22, 51, 50, 54, 53, 52, 47, 2, 38, 39, 38, 53, 52, 54, 51, 50, 22, 3,205, 79,160, 83,125,123, 92,183, - 74,137,141,118,104,176,152,147, 42, 76, 39, 84,114, 71, 89,237, 51,101, 50,123,122, 68, 62,122,134,245, 8, 69,161, 71, 73,218, -202, 90,166, 4, 57,180, 46, 46, 81, 83, 75, 74, 35, 14, 26,156,125,166, 94, 82, 10,152,126, 36,154, 61, 38, 91,243, 53, 35, 16, -190, 5, 96, 15, 99, 89,128, 49, 2, 14, 33, 71, 74,127,161,175, 33, 0, 0, 0, 0, 1, 0,203,254, 16, 4, 16, 4, 98, 0, 23, - 0, 0, 19, 33, 21, 1, 22, 23, 1, 23, 22, 59, 1, 21, 35, 34, 39, 38, 47, 1, 38, 35, 61, 1, 1, 33,227, 3, 45,253,106, 49, - 32, 1, 8,147, 42, 76, 52, 91, 84,114, 71, 89,237, 61, 90, 2,131,253,149, 4, 98,168,252,203, 17, 32,254,248,126, 36,154, 61, - 38, 91,243, 63,156, 14, 3, 37, 0, 1, 0, 55, 0, 0, 4,154, 5,213, 0, 26, 0, 0, 1, 34, 7, 6, 29, 1, 35, 53, 52, 54, - 51, 33, 50, 4, 21, 20, 4, 35, 17, 35, 17, 51, 50, 54, 16, 38, 35, 1,118, 54, 60, 48,156,192,126, 1, 39,250, 1, 2,254,255, -251,202,202,140,157,156,141, 5, 47, 47, 38,114, 49, 70,181,163,227,219,221,226,253,168, 2,254,148, 1, 10,147, 0, 1, 0, 57, - 0, 0, 4,152, 5,213, 0, 6, 0, 0, 9, 1, 35, 1, 51, 1, 35, 2,105,254,161,209, 1,181,245, 1,181,209, 5, 43,250,213, - 5,213,250, 43, 0, 2, 0,154,255,227, 4, 56, 4,123, 0, 11, 0, 41, 0, 0, 1, 51, 50, 54, 53, 52, 38, 35, 34, 6, 29, 1, - 7, 17, 51, 21, 62, 1, 51, 50, 22, 21, 20, 6, 43, 1, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 39, 46, 1, 1,254, - 62,160,164,122,108,152,176,184,184, 60,178,128,172,204,252,242,248,136,146, 94,192, 92,102,188, 88,138,198, 60, 38, 32, 2, 43, -113,112,101,112,211,186, 41, 76, 2,127,166,100, 95,193,162,187,194, 29,134,121, 54, 52,184, 39, 39, 82, 82, 50,147, 0, 0, 0, - 0, 2, 0,123,255,227, 4, 18, 4,123, 0, 16, 0, 28, 0, 48, 64, 26, 5, 0, 20, 26,140, 14, 20,140, 8,153, 14,190, 1,194, - 3, 23, 4, 0, 6, 2, 71, 17, 18, 11, 72, 29, 16,244,236,252,236, 50, 50, 49, 0, 47,236,228,244,236, 16,238, 17, 57, 57, 48, - 1, 53, 51, 17, 35, 53, 14, 1, 35, 34, 2, 17, 16, 18, 51, 50, 22, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 3, 90,184, -184, 46,153,100,203,233,234,202,101,154,254, 15,136,133,133,139,139,133,133,136, 3,209,141,251,162,141, 83, 87, 1, 59, 1, 21, - 1, 17, 1, 55, 87,254, 11,214,218,220,212,213,219,218, 0, 0, 0, 2, 0,192,255,225, 4, 87, 4,121, 0, 11, 0, 28, 0, 48, - 64, 26, 24, 12, 9, 3,140, 15, 9,140, 21,153, 15,190, 27,194, 25, 0, 18, 18, 71, 24, 12, 6, 6, 26, 70, 29, 16,244,236, 50, - 50,252,236, 49, 0, 47,236,228,244,236, 16,238, 17, 57, 57, 48, 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 1, 62, 1, 51, - 50, 18, 17, 16, 2, 35, 34, 38, 39, 21, 35, 17, 51, 3,149,136,133,133,139,139,133,133,136,253,227, 46,153,100,203,233,234,202, -101,154, 44,184,184, 2, 45,214,218,220,212,213,219,218, 2,120, 83, 87,254,197,254,235,254,239,254,201, 87, 83,139, 4, 94, 0, - 0, 2, 0,193,255,227, 4, 88, 6, 20, 0, 11, 0, 36, 0, 57, 64, 31, 3,140, 12, 15, 9,140, 24, 21,153, 15,190, 25, 33,140, - 30,155, 25, 0, 18, 18, 71, 30, 33, 31, 24, 12, 6, 6, 26, 70, 37, 16,252,236, 50, 50,196, 57, 57,244,236, 49, 0, 47,252,236, - 16,228,244,196,236, 16,198,238, 48, 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 1, 62, 1, 51, 50, 18, 17, 16, 2, 35, 34, - 38, 39, 21, 35, 17, 52, 54, 59, 1, 21, 35, 34, 6, 21, 3,150,136,133,134,138,138,134,133,136,253,227, 44,155,102,202,232,233, -203,100,153, 46,184,179,165,204,184, 90, 90, 2, 47,214,218,219,213,212,220,218, 2,120, 82, 88,254,201,254,239,254,235,254,197, - 87, 83,141, 4,126,195,211,156,125,125, 0, 0, 0, 1, 0,184,255,227, 4, 26, 4,123, 0, 25, 0, 48, 64, 6, 19, 18, 6, 0, - 12, 26, 16,220, 60,212,236, 49, 0, 64, 19, 0,139, 25,192, 22, 12,139, 13,192, 16,140, 9, 22,140, 3,190, 9,153, 26, 16,228, -244,236, 16,254,244,238, 16,245,238, 48, 19, 62, 1, 51, 32, 0, 17, 16, 0, 33, 34, 38, 39, 53, 30, 1, 51, 50, 54, 53, 52, 38, - 35, 34, 6, 7,184, 74,156, 82, 1, 4, 1, 38,254,218,254,252, 80,154, 78, 72,148, 92,174,186,188,172, 96,152, 64, 4, 37, 43, - 43,254,200,254,236,254,236,254,200, 42, 44,193, 65, 58,224,208,207,225, 59, 62, 0, 2, 0,195,255,115, 4, 58, 4,123, 0, 33, - 0, 41, 0, 0, 5, 52, 55, 38, 39, 38, 17, 16, 0, 33, 50, 22, 23, 21, 46, 1, 35, 34, 6, 21, 20, 23, 22, 23, 54, 51, 32, 21, - 20, 33, 34, 39, 6, 21, 19, 22, 51, 50, 53, 52, 35, 34, 1,180, 13, 57, 48,149, 1, 37, 1, 4, 81,154, 78, 73,147, 93,173,186, - 99, 7, 6, 85,195, 1, 45,254,178, 82, 71, 6, 43, 60, 74,146,132,101,141,104, 81, 35, 51,161, 1, 12, 1, 20, 1, 56, 42, 44, -193, 65, 58,224,208,220, 99, 7, 7,176,246,189, 17, 57, 68, 1, 31, 19, 57, 75, 0, 2, 0,123,254, 86, 4, 56, 6, 20, 0, 8, - 0, 36, 0, 0, 0, 16, 22, 50, 54, 53, 52, 38, 34, 5, 17, 51, 17, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 61, 1, 6, 7, 6, - 35, 34, 2, 17, 16, 18, 51, 50, 22, 1, 60,109,213,112,112,213, 1, 69,181, 35, 36, 72, 6, 56,132, 72, 71, 37, 61, 61, 80,180, -207,208,179, 81,123, 3, 5,254, 84,218,220,212,213,219, 14, 2, 67,249,216,126, 62, 62,156,106,105,195,161, 83, 44, 43, 1, 59, - 1, 21, 1, 17, 1, 55, 87, 0, 0, 2, 0,123,255,227, 4, 55, 6, 20, 0, 10, 0, 38, 0, 0, 0, 16, 22, 51, 50, 54, 53, 52, - 38, 35, 34, 37, 53, 52, 55, 54, 59, 1, 21, 35, 34, 7, 6, 21, 17, 35, 53, 14, 1, 35, 34, 2, 17, 16, 18, 51, 50, 22, 23, 1, - 59,109,106,107,111,111,107,106, 1, 68, 71, 72,132, 56, 5, 72, 36, 35,183, 36,123, 80,180,206,207,179, 81,123, 35, 3, 5,254, - 84,218,220,212,213,219, 11,148,195,105,106,156, 62, 62,126,251,130,141, 83, 87, 1, 59, 1, 21, 1, 17, 1, 55, 87, 83, 0, 0, - 0, 2, 0,122,255,227, 4, 87, 4,123, 0, 21, 0, 28, 0, 0, 19, 52, 18, 51, 50, 0, 17, 16, 0, 33, 34, 38, 39, 53, 30, 1, - 51, 50, 54, 61, 1, 33, 55, 33, 46, 1, 35, 34, 6,122,247,214,240, 1, 32,254,218,254,251, 91,195,105,109,192, 88,174,191,252, -227,184, 2, 94, 16,172,133,136,149, 2, 94,251, 1, 34,254,192,254,244,254,237,254,199, 43, 43,183, 57, 56,200,183, 6,143,156, -176,170, 0, 0, 0, 2, 0,122,255,227, 4, 87, 4,123, 0, 21, 0, 28, 0, 63, 64, 12, 3, 2, 28, 18, 16, 73, 9, 22, 6, 0, - 72, 29, 16,244,236,196,244,236, 57, 57, 49, 0, 64, 22, 0, 22, 3, 1, 10,139, 9,141, 6,140, 13,190, 29, 22,182, 1,193, 25, -140, 19,153, 29, 16,244,236,244,238, 16,244,244,244,238, 18, 57, 17, 57, 48, 19, 53, 33, 53, 52, 38, 35, 34, 6, 7, 53, 62, 1, - 51, 32, 0, 17, 16, 0, 35, 34, 2, 55, 20, 22, 51, 50, 54, 55,122, 3, 29,191,174, 88,192,109,105,195, 91, 1, 5, 1, 38,254, -224,240,214,247,184,149,136,133,172, 16, 2, 0, 90, 6,183,200, 56, 57,183, 43, 43,254,199,254,237,254,244,254,192, 1, 34,198, -162,170,176,156, 0, 2, 0, 30,255,227, 4,179, 4,123, 0, 9, 0, 41, 0, 0, 37, 54, 53, 52, 39, 1, 22, 23, 22, 50, 3, 50, - 23, 55, 51, 21, 20, 22, 59, 1, 21, 35, 34, 38, 53, 7, 22, 21, 16, 2, 32, 39, 38, 39, 1, 38, 39, 38, 32, 7, 53, 54, 2, 66, - 76, 7,254, 43, 23, 25, 62,231,151,252,119,154,140, 57, 80, 33, 49,132,129,106, 23,226,254,148, 99, 71, 20, 2, 70, 15, 20, 58, -254,194,147,154,214,138,207, 62, 56,254,156, 69, 35, 90, 3,252,232,117,148,153, 97,156,186,200, 81, 96,118,254,237,254,189,145, -103,156, 1,187, 40, 34, 99,104,174, 86, 0, 0, 0, 1, 0,169,255,234, 4, 40, 4,123, 0, 48, 0, 57, 64, 31, 11,140, 12, 16, -140, 7,190, 50, 27,182, 23, 50, 38,140, 37, 33,140, 42,153, 50, 24, 11, 38, 19, 18, 4, 29, 18, 46, 70, 49, 16,252,236,212,236, -212,196,196, 49, 0, 16,244,236,212,236, 16,212,236, 16,244,236,212,236, 48, 1, 38, 39, 38, 53, 52, 54, 51, 50, 23, 22, 23, 21, - 38, 39, 38, 35, 34, 6, 21, 20, 23, 22, 59, 1, 21, 35, 34, 6, 21, 20, 23, 22, 51, 50, 55, 54, 55, 21, 6, 7, 6, 35, 34, 39, - 38, 53, 52, 54, 1,193,119, 65, 64,244,209, 81, 91, 92,105,104, 87, 86, 76,138,148, 72, 72,135,166,159,150,168, 90, 91,173, 99, - 91, 91, 77, 97, 90, 91, 86,254,139,138,148, 2, 95, 25, 65, 64, 94,134,158, 12, 12, 24,167, 27, 13, 12, 86, 74, 61, 43, 44,144, -110, 81, 98, 53, 52, 18, 17, 34,173, 28, 14, 14, 91, 92,166,109,148, 0, 0, 0, 0, 1, 0,169,255,234, 4, 40, 4,123, 0, 40, - 0, 60, 64, 33, 32,139, 31,192, 28,140, 35,190, 41, 0, 20,182, 21, 41, 9,139, 10,192, 13,140, 6,153, 41, 25, 18, 38, 16, 18, - 3, 21, 32, 10, 41, 16,220,196,196,212,236,212,236, 49, 0, 16,244,252,252,236, 16,212,236, 57, 16,244,252,253,238, 48, 1, 30, - 1, 21, 20, 4, 35, 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, 22, 21, 20, 6, 3, 15,132,149,254,235,255, 85,182, 96, 76,182,100,173,181,169,150,158,165,136,144,149,138, 75,173, -104,105,183, 80,210,244,130, 2, 95, 23,148,109,166,183, 28, 28,173, 34, 35,105, 98, 81,110,144, 87, 61, 74, 86, 25, 27,167, 24, - 24,158,134, 94,129, 0, 0, 0, 0, 1, 0, 56,255,234, 4,153, 4,123, 0, 66, 0, 0, 1, 22, 23, 22, 21, 20, 7, 6, 35, 34, - 38, 39, 53, 22, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 43, 1, 53, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 7, 53, 54, - 55, 54, 51, 50, 23, 22, 23, 55, 51, 21, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 53, 7, 53, 7, 6, 2, 5, 99, 56, 56,104,104, -191, 64,136, 72, 57, 68, 68, 75,130, 67, 69, 64, 63,113,118,124,102, 54, 54, 56, 56,104, 56, 65, 65, 78, 79, 68, 69, 60,158, 91, - 75, 14,169,138, 29, 28, 79, 32, 48,131, 65, 61,211, 5, 49, 2, 95, 23, 74, 74,109,166, 92, 91, 28, 28,173, 34, 17, 18, 52, 53, - 98, 81, 55, 55,144, 44, 43, 61, 74, 43, 43, 12, 13, 27,167, 24, 12, 12, 79, 65,102,131,148,153, 49, 48,156, 96, 90,200,162, 1, - 6, 65, 0, 0, 0, 2, 0,176,255,213, 4, 34, 4,121, 0, 20, 0, 40, 0, 0, 1, 32, 17, 16, 33, 50, 55, 54, 53, 52, 39, 38, - 43, 1, 53, 51, 50, 55, 54, 52, 38, 37, 54, 51, 50, 22, 21, 20, 6, 7, 30, 1, 21, 20, 6, 35, 34, 39, 36, 17, 16, 2,158,254, -173, 1, 83,118, 60, 59, 59, 33,139,136,136,139, 33, 59,121,254,177, 85,161,160,201,107, 98, 98,107,203,160,159, 85,254,237, 3, -216,254, 94,254, 65, 59, 59, 76, 76, 54, 30,157, 30, 55,154,115,115, 46,173,148,103,142, 27, 28,142,103,148,174, 61,194, 1, 88, - 1,138, 0, 0, 0, 1, 0,186,254, 86, 4,113, 4, 94, 0, 21, 0, 0, 1, 21, 33, 17, 20, 6, 43, 1, 53, 51, 50, 54, 53, 17, - 33, 53, 33, 17, 33, 53, 33, 17, 4,113,254,159,179,165,254,234, 90, 90,254,129, 1,127,254,195, 1,245, 2,104,164,254, 40,195, -211,156,125,125, 1,216,164, 1,103,143,254, 10, 0, 2, 0,123,254, 72, 4, 52, 6, 20, 0, 38, 0, 48, 0, 0, 1, 53, 52, 55, - 54, 59, 1, 21, 35, 34, 7, 6, 21, 17, 20, 7, 6, 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 61, 2, 14, 1, 35, 34, 2, 17, 52, - 18, 51, 19, 17, 35, 34, 6, 16, 22, 51, 50, 54, 2,237, 72, 72,134, 49, 26, 58, 29, 28,104,104,206, 62,134, 67, 79,130, 54,120, -110, 35,123, 88,174,208,208,174,247,214,109,115,115,110,103,110, 4, 94, 32,195,105,106,156, 62, 62,126,251,202,251,131,130, 28, - 27,182, 46, 44,162,176, 8,125, 94, 92, 1, 58, 1, 7,233, 1, 60,253,219, 1,167,216,254, 98,217,218, 0, 0, 0, 2, 0,157, -254, 72, 4, 52, 4, 94, 0, 9, 0, 36, 0, 0, 1, 17, 33, 34, 6, 16, 22, 51, 50, 54, 19, 20, 2, 35, 34, 38, 39, 53, 30, 1, - 51, 50, 54, 61, 2, 14, 1, 35, 34, 2, 17, 52, 55, 54, 51, 33, 3,124,254,248,135,142,143,136,127,135,184,238,231, 76,166, 83, - 98,160, 67,149,136, 44,152,109,196,234,117,113,200, 1,233, 2, 57, 1,167,216,254, 98,217,218,254,221,252,254,252, 28, 27,182, - 46, 44,162,176, 8,125, 94, 92, 1, 58, 1, 7,225,165,159, 0, 0, 1, 0,122, 0, 0, 4, 88, 4,152, 0, 32, 0, 0, 37, 17, - 35, 53, 33, 17, 6, 7, 6, 35, 34, 0, 17, 16, 0, 33, 50, 23, 22, 23, 21, 38, 39, 38, 35, 34, 7, 6, 16, 23, 22, 51, 50, 3, -178,156, 1, 66, 72, 88, 78,202,252,254,214, 1, 44, 1, 6, 62,104,104,128,120,112, 86, 72,178,100, 98, 98,100,178,174,178, 1, - 26,140,253,240, 34, 20, 18, 1, 62, 1, 14, 1, 18, 1, 58, 18, 17, 75,172, 77, 27, 22,114,113,254,102,113,114, 0, 2, 0,102, -254, 81, 4,107, 4, 94, 0, 18, 0, 27, 0, 0, 1, 0, 17, 20, 14, 2, 34, 46, 2, 53, 16, 9, 1, 51, 9, 1, 51, 0, 50, 54, - 53, 16, 3, 2, 17, 20, 2,226, 1, 28, 43, 93,159,220,158, 94, 43, 1, 32,254,114,218, 1, 46, 1, 36,216,253,135,227, 97,203, -219, 2, 60,254, 84,254,179, 56, 86, 65, 34, 34, 65, 86, 56, 1, 84, 1,172, 2, 27,254,114, 1,142,250,150, 76, 69, 1, 34, 1, - 29,254,208,254,241, 69, 0, 0, 0, 2, 0,102, 0, 0, 4,106, 4, 94, 0, 12, 0, 20, 0, 0, 1, 22, 16, 33, 32, 53, 52, 55, - 1, 51, 9, 1, 51, 1, 6, 21, 20, 51, 50, 53, 52, 2,214,178,254,227,254,209,184,254,114,218, 1, 40, 1, 42,216,253,246,117, -123,113, 2, 63,241,254,178,167,177,242, 2, 20,254,115, 1,141,253, 90,158, 59,104,104, 63, 0, 0, 1, 0,188,254, 82, 4, 21, - 4, 94, 0, 19, 0, 0, 19, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 17, 14, 1, 35, 34, 38,188,184,108,112,130,138, -184,184, 50,168,114,172,168, 1,168, 2,182,253, 74,151,142,183,171, 2,121,249,244, 2, 86, 97,100,225, 0, 0, 0, 1, 0,195, - 0, 0, 4, 27, 6, 20, 0, 30, 0, 0, 1, 7, 62, 1, 51, 50, 22, 21, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 53, 52, - 55, 54, 59, 1, 21, 35, 34, 6, 21, 1,125, 2, 50,168,114,172,168,184,106,114,128,140,184, 90, 90,164,206,186, 90, 88, 3,194, - 10, 96, 99,225,228,253, 74, 2,182,151,142,183,171,253,135, 3,234,148,195,105,106,156,124,126, 0, 1, 0,195,254, 86, 4, 27, - 6, 20, 0, 40, 0, 0, 1, 7, 62, 1, 51, 50, 22, 21, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 38, 35, 34, 6, - 21, 17, 35, 17, 53, 52, 55, 54, 59, 1, 21, 35, 34, 6, 21, 1,125, 2, 49,169,114,171,169, 88, 91,165,204,184, 91, 45, 44,106, -114,128,140,184, 90, 90,164,206,186, 90, 88, 3,194, 10, 96, 99,225,228,253, 54,195,105,106,156, 62, 62,126, 2,202,151,142,183, -171,253,135, 3,234,148,195,105,106,156,124,126, 0, 2, 0,142, 0, 0, 4, 50, 6, 20, 0, 3, 0, 21, 0, 0, 1, 51, 21, 35, - 5, 33, 17, 33, 21, 33, 17, 33, 21, 33, 53, 33, 17, 33, 53, 33, 17, 33, 2, 12,184,184,254,226, 1,214, 1, 98,254,158, 1,110, -252,110, 1,108,254,130, 1,126,254,226, 6, 20,233,205,254, 10,164,254,203,143,143, 1, 53,164, 1,105, 0, 0, 0, 1, 0,198, - 0, 0, 4, 10, 4, 94, 0, 14, 0, 0, 33, 35, 34, 39, 38, 53, 17, 33, 53, 33, 17, 20, 22, 59, 1, 4, 10,204,166, 90, 88,254, -224, 1,216, 88, 90,186,106,102,198, 2, 59,141,253, 56,126,124, 0, 1, 0,160, 0, 0, 4, 50, 4, 94, 0, 11, 0, 0, 19, 33, - 21, 33, 17, 33, 21, 33, 53, 33, 17, 33,160, 3,146,254,146, 1,110,252,110, 1,108,254,148, 4, 94,141,252,190,143,143, 3, 66, - 0, 1, 0, 88, 0, 0, 4,121, 6, 31, 0, 38, 0, 0, 1, 20, 23, 22, 59, 1, 21, 35, 34, 38, 61, 1, 38, 35, 34, 6, 7, 53, - 62, 1, 51, 50, 23, 17, 33, 53, 33, 17, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 39, 2,146, 46, 72, 62,216,234,164,182, 46, 47, - 79,141, 73, 78,146, 83, 41, 38,254,218, 1,222,114, 92, 70,137, 74, 75,143, 79, 85,105, 1,150,147, 40, 63,156,212,194,198, 10, - 59, 63,174, 60, 54, 6, 2,137,144,252,167, 53, 61, 62,174, 59, 55, 45, 0, 0, 0, 2, 0,157, 0, 0, 4, 52, 6, 31, 0, 25, - 0, 32, 0, 0, 1, 20, 22, 59, 1, 21, 35, 34, 38, 61, 1, 35, 32, 53, 52, 51, 50, 23, 17, 33, 53, 33, 17, 51, 21, 35, 39, 38, - 35, 34, 21, 20, 51, 2,170, 91, 89,214,232,165,181, 62,254,233,246, 53, 42,254,217, 1,223,250,250,184, 23, 71, 78, 92, 1,150, -124,126,156,212,194,220,189,246, 25, 1,131,144,252,243,160,160,132, 75, 57, 0, 0, 1, 0,160,254, 86, 4, 10, 6, 31, 0, 13, - 0, 0, 5, 20, 22, 59, 1, 21, 35, 34, 38, 53, 17, 33, 53, 33, 2,127, 91, 89,215,233,165,181,254,217, 1,223, 20,124,126,156, -212,194, 5,163,144, 0, 0, 0, 0, 1, 0, 40,254, 76, 4,168, 6, 31, 0, 45, 0, 0, 1, 20, 22, 59, 1, 21, 35, 34, 38, 53, - 17, 35, 53, 33, 17, 33, 21, 1, 50, 23, 22, 23, 22, 21, 20, 6, 35, 34, 39, 38, 39, 53, 30, 1, 51, 50, 54, 53, 52, 39, 38, 43, - 1, 53, 1, 33, 1,168, 72, 72,172,187,132,145,236, 1,128, 2,186,254,183, 84,103, 79, 69, 64,243,224, 75, 79, 80, 85, 67,160, - 87,152,160, 74, 74,132,140, 1, 88,253,236, 1,150,124,126,156,212,194, 3,249,144,254, 65,168,254, 36, 56, 43,108,104,138,221, -242, 18, 19, 37,195, 49, 50,150,143,132, 75, 74,166, 1,243, 0, 0, 1, 0,104, 0, 0, 4,106, 4,123, 0, 33, 0, 0, 37, 14, - 1, 35, 34, 38, 25, 1, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, 22, 50, 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 38, - 2, 50, 34,104, 74,136,110,168, 52, 70, 80, 60,168, 56,148, 56,168,168, 32,100, 62, 76,102,141, 72, 69,209, 1, 33, 2,137,253, -127,237,115,123,229, 2,129,253,127,240,112,123,229, 2,129,251,160, 96, 60, 63, 70, 0, 0, 0, 0, 1, 0,104,254, 82, 4,106, - 4,123, 0, 33, 0, 0, 37, 14, 1, 35, 34, 38, 25, 1, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, 22, 50, 54, 53, 17, 51, - 17, 35, 17, 14, 1, 35, 34, 38, 2, 50, 34,104, 74,136,110,168, 52, 70, 80, 60,168, 56,148, 56,168,168, 32,100, 62, 76,102,141, - 72, 69,209, 1, 33, 2,137,253,127,237,115,123,229, 2,129,253,127,240,112,123,229, 2,129,249,215, 2, 41, 60, 63, 70, 0, 0, - 0, 1, 0,103,254, 86, 4,105, 4,123, 0, 43, 0, 0, 1, 62, 1, 51, 50, 22, 25, 1, 20, 6, 43, 1, 53, 51, 50, 54, 53, 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, 23, 22, 2,158, 34,105, 74,135, -111,161,150,186,168, 83, 78, 53, 70, 80, 59,168, 57, 74, 73, 57,167,167, 33, 99, 63, 83, 44, 53, 3,238, 72, 69,209,254,223,253, - 99,194,212,156,124,126, 2,149,237,115,123,229,253,127, 2,129,240,112,123,229,253,127, 4, 94, 94, 64, 59, 35, 43, 0, 0, 0, - 0, 1, 0,178,254, 86, 4, 77, 4,123, 0, 31, 0, 0, 5, 20, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 51, 21, 54, 55, 54, 51, - 50, 23, 22, 21, 17, 35, 17, 52, 38, 35, 34, 7, 6, 21, 1,234,123,136, 53, 2, 68, 28, 28,186, 49, 68, 67, 87,168, 86, 86,185, - 92, 94,111, 65, 64, 20,214,192,156, 48, 49,153, 4,114,172,101, 50, 50,119,120,232,253, 92, 2,158,159,158, 95, 95,164, 0, 0, - 0, 1, 0,136,254, 86, 4, 30, 4,123, 0, 32, 0, 0, 5, 17, 52, 39, 38, 35, 34, 7, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, - 50, 23, 22, 21, 17, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 2,232, 46, 47, 93,112, 64, 65,181,181, 50,134, 88,168, 86, 86, 29, - 29, 63, 4, 52,136, 60, 62, 20, 2,178,159, 79, 79, 95, 95,164,253,135, 4, 94,172,101,100,119,120,232,253, 72,153, 49, 48,156, - 96, 96, 0, 0, 0, 1, 0,144, 0, 0, 4, 65, 4,123, 0, 9, 0, 0, 19, 33, 1, 17, 51, 17, 33, 1, 17, 35,144, 1, 16, 1, -221,196,254,240,254, 35,196, 4,123,252,121, 3,135,251,133, 3,135,252,121, 0, 0, 3, 0,137,255,227, 4, 72, 4,123, 0, 10, - 0, 19, 0, 28, 0, 0, 0, 32, 18, 17, 16, 2, 35, 34, 2, 17, 16, 37, 34, 7, 6, 7, 33, 38, 39, 38, 19, 33, 22, 23, 22, 51, - 50, 55, 54, 1,127, 1,210,247,246,234,233,246, 1,223,140, 72, 63, 8, 2, 55, 8, 63, 72,138,253,211, 14, 52, 72,140,141, 72, - 52, 4,123,254,210,254,226,254,225,254,211, 1, 45, 1, 31, 1, 30,146,109, 95,176,176, 95,109,253,224,132, 79,109,109, 79, 0, - 0, 2, 0, 69, 0, 0, 4,140, 4, 96, 0, 18, 0, 29, 0, 0, 1, 21, 33, 17, 33, 21, 33, 17, 33, 21, 33, 34, 39, 38, 17, 16, - 55, 54, 51, 23, 35, 34, 7, 6, 21, 20, 23, 22, 59, 1, 4,129,254,139, 1,100,254,156, 1,128,253,168,243,126,126,126,126,243, - 32, 23,151, 75, 75, 75, 75,151, 23, 4, 96,170,254,237,155,254,164,172,142,143, 1, 20, 1, 18,142,143,147,104,103,207,208,104, -105, 0, 0, 0, 0, 2, 0,170,255,226, 4, 38, 4,123, 0, 22, 0, 46, 0, 0, 1, 52, 39, 38, 35, 34, 7, 6, 21, 16, 51, 50, - 55, 54, 61, 1, 51, 21, 20, 23, 22, 51, 50, 19, 20, 7, 6, 35, 34, 39, 38, 39, 6, 7, 6, 35, 34, 39, 38, 53, 16, 55, 18, 33, - 50, 23, 22, 3,128, 57, 80,145,131, 72, 74,124, 34, 41, 22,117, 23, 41, 32,125,166, 48, 55,137, 95, 67, 27, 16, 16, 27, 67, 95, -118, 68, 56, 64,106, 1, 21,235,120, 90, 1,254,156,113,161,111,115,231,254,200, 79, 43,185,182,182,185, 43, 79, 1, 8,171,136, -158,122, 50,101,101, 50,122,154,124,183, 0,255,173, 1, 32,237,176, 0, 0, 0, 0, 3, 0,137,254, 86, 4, 72, 6, 19, 0, 29, - 0, 38, 0, 47, 0, 0, 1, 35, 53, 33, 21, 35, 21, 22, 23, 22, 17, 16, 7, 6, 7, 21, 51, 21, 33, 53, 51, 53, 38, 39, 38, 17, - 16, 55, 54, 55, 23, 17, 54, 55, 54, 53, 52, 39, 38, 3, 17, 6, 7, 6, 21, 20, 23, 22, 2, 20,240, 2,152,240,161, 95,124,123, - 95,162,240,253,104,240,172,100,123,123,100,172,184, 69, 44, 72, 72, 44,253, 79, 49, 72, 72, 49, 5,111,164,164,252, 26,117,151, -254,226,254,225,150,117, 26,240,165,165,237, 23,123,150, 1, 31, 1, 30,151,123, 23,168,252,194, 26, 66,110,213,214,109, 66,252, -215, 3, 72, 24, 73,109,214,213,110, 73, 0, 0, 0, 1, 0,152,255,229, 3,177, 4, 94, 0, 17, 0, 0, 55, 30, 1, 51, 50, 54, - 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 38, 39,152, 59,122, 73,172,182,185,185, 46,191,131, 68,118, 54,231, 46, 42,216,204, 2, - 43,251,162,219,119,127, 34, 36, 0, 1, 0,152,255,229, 3,177, 6, 31, 0, 17, 0, 0, 55, 30, 1, 51, 50, 54, 53, 17, 51, 17, - 35, 53, 14, 1, 35, 34, 38, 39,152, 59,122, 73,172,182,185,185, 46,191,131, 68,118, 54,231, 46, 42,216,204, 3,236,249,225,219, -119,127, 34, 36, 0, 1, 0,102,254, 86, 4,128, 4, 94, 0, 25, 0, 0, 5, 20, 22, 59, 1, 21, 35, 34, 38, 61, 1, 14, 1, 35, - 34, 38, 39, 53, 30, 1, 51, 50, 54, 53, 17, 51, 3,127, 89, 90, 78, 98,165,179, 46,191,131, 68,118, 54, 59,122, 73,172,182,185, - 20,125,125,156,211,195,239,119,127, 34, 36,188, 46, 42,216,204, 2, 43, 0, 0, 0, 1, 1,106,254, 86, 4,131, 4,123, 0, 17, - 0, 0, 1, 46, 1, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 22, 23, 4,131, 59,122, 73,172,182,185,185, 46,191,131, - 68,118, 54, 3,121, 46, 42,216,204,252, 41, 6, 8,217,119,127, 34, 36, 0, 0, 0, 1, 1,106,254, 86, 4,131, 4,123, 0, 27, - 0, 0, 5, 20, 23, 22, 59, 1, 21, 35, 34, 38, 53, 17, 51, 21, 62, 1, 51, 50, 22, 23, 21, 46, 1, 35, 34, 7, 6, 21, 2, 35, - 44, 44, 91,234,254,165,179,185, 46,191,131, 68,118, 54, 59,122, 73,172, 91, 91, 20,125, 63, 62,156,211,195, 4,114,217,119,127, - 34, 36,188, 46, 42,108,108,204, 0, 1, 0,160, 0, 0, 4, 50, 4,123, 0, 17, 0, 0, 1, 52, 55, 54, 59, 1, 21, 35, 34, 7, - 6, 21, 17, 33, 21, 33, 53, 33, 2, 8, 82, 82,180,210,188,106, 38, 36, 1,112,252,110, 1,104, 2,229,212, 98, 96,156, 48, 50, -152,253,170,143,143, 0, 0, 0, 0, 1, 0,160, 0, 0, 4, 50, 4,123, 0, 16, 0, 0, 1, 17, 33, 21, 33, 53, 33, 17, 52, 38, - 43, 1, 53, 51, 50, 23, 22, 2,200, 1,106,252,110, 1,110, 72,108,186,208,180, 82, 82, 2,229,253,170,143,143, 2, 86,154, 96, -156, 96, 98, 0, 0, 2, 0,122, 0, 0, 4, 87, 4, 94, 0, 22, 0, 33, 0, 0, 1, 22, 23, 22, 23, 19, 35, 3, 38, 39, 38, 43, - 1, 17, 35, 17, 33, 50, 23, 22, 21, 20, 6, 1, 17, 51, 50, 55, 54, 53, 52, 39, 38, 35, 2,212, 55, 53, 52, 53,174,195,162, 63, - 59, 59, 97,169,185, 1,132,217,108,107,112,253,245,198,119, 63, 64, 64, 63,119, 2, 13, 17, 54, 54, 94,254,206, 1, 31,113, 36, - 37,254, 39, 4, 94, 78, 77,166,105,140, 1,157,254,175, 43, 43, 83, 84, 42, 42, 0, 2, 0,122, 0, 0, 4, 87, 4, 94, 0, 22, - 0, 33, 0, 0, 1, 30, 1, 21, 20, 7, 6, 35, 33, 17, 51, 17, 51, 50, 55, 54, 55, 19, 51, 3, 6, 7, 6, 1, 51, 50, 55, 54, - 53, 52, 39, 38, 43, 1, 2,212,106,112,107,108,217,254,124,185,169, 97, 59, 59, 63,162,195,174, 53, 52, 53,254, 40,198,119, 63, - 64, 64, 63,119,198, 2, 83, 27,140,105,162, 81, 80, 4, 94,254, 41, 37, 36,113, 1, 29,254,208, 94, 54, 54,254, 55, 42, 42, 84, - 83, 43, 43, 0, 0, 1, 0,188,254, 86, 4, 20, 4,123, 0, 56, 0, 0, 1, 21, 46, 1, 35, 34, 7, 6, 21, 20, 23, 22, 31, 1, - 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 20, 23, 22, 59, 1, 21, 35, 34, 38, 61, 1, 22, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, - 47, 1, 38, 39, 38, 53, 52, 54, 51, 50, 22, 3,216, 78,167, 91,136, 68, 70, 50, 48,148, 64,196, 82, 82,122,124,216,104,106, 38, - 34,110,232,254,180,164,102,100, 98, 98,130, 70, 70, 50, 52,170, 64,172, 76, 76,224,206,102,181, 4, 63,174, 40, 40, 42, 42, 84, - 64, 37, 36, 33, 14, 42, 77, 76,137,157, 90, 91, 21,159, 55, 48,156,192,214,251, 53, 26, 27, 45, 44, 81, 75, 40, 40, 37, 15, 36, - 74, 75,130,158,172, 30, 0, 0, 0, 1, 0,125,254, 86, 4, 84, 6, 20, 0, 19, 0, 0, 5, 20, 6, 43, 1, 53, 51, 50, 54, 53, - 17, 52, 54, 59, 1, 21, 35, 34, 6, 21, 2,211,179,165,254,234, 90, 90,169,179,221,209, 99, 77, 20,195,211,156,125,125, 4,194, -184,174,153, 81,103, 0, 0, 0, 0, 1, 0,125,254, 86, 4, 84, 6, 20, 0, 31, 0, 0, 1, 21, 33, 17, 20, 6, 43, 1, 53, 51, - 50, 54, 53, 17, 33, 53, 33, 17, 33, 53, 33, 53, 52, 54, 59, 1, 21, 35, 34, 6, 21, 17, 4, 52,254,159,179,165,254,234, 90, 90, -254,129, 1,127,254,195, 1, 61,169,179,221,209, 99, 77, 2,104,164,254, 40,195,211,156,125,125, 1,216,164, 1,105,141, 80,184, -174,153, 81,103,253,165, 0, 0, 0, 1, 0,125,254, 86, 4, 84, 4, 94, 0, 21, 0, 0, 1, 17, 20, 23, 22, 59, 1, 21, 35, 34, - 38, 53, 17, 52, 39, 38, 43, 1, 53, 51, 50, 22, 2,211, 39, 38, 99,209,221,179,169, 45, 45, 90,234,254,165,179, 2,200,252,223, -103, 40, 41,153,174,184, 3, 12,124, 64, 62,156,211, 0, 0, 0, 0, 2, 0,118,254, 86, 4, 91, 6, 20, 0, 8, 0, 33, 0, 0, - 5, 35, 34, 21, 20, 51, 50, 55, 54, 55, 51, 21, 35, 6, 7, 6, 35, 32, 53, 52, 33, 51, 17, 52, 55, 54, 59, 1, 21, 35, 34, 7, - 6, 21, 2, 56,179,116,127,110, 33, 18,202,183,191, 18, 53, 82,181,254,209, 1, 14,190, 87, 81,195,174,176,100, 37, 39,154, 51, - 65, 48, 23,199,155,111, 64, 96,216,210, 4,174,180, 92, 86,153, 40, 41,103, 0, 0, 1, 0,166,254,194, 4, 43, 4, 96, 0, 19, - 0, 0, 1, 17, 33, 53, 33, 17, 52, 38, 43, 1, 53, 51, 50, 22, 21, 17, 33, 21, 33, 17, 2, 72,254, 94, 1,162, 94,117,207,225, -207,170, 1, 43,254,213,254,194, 1, 62,143, 2, 96,124, 98,147,166,203,253,160,143,254,194, 0, 0, 1, 0,131,254, 87, 4, 8, - 5,158, 0, 19, 0, 0, 1, 17, 33, 21, 33, 17, 20, 22, 59, 1, 21, 35, 34, 38, 53, 17, 33, 53, 33, 17, 2,102, 1,162,254, 94, - 94,117,207,225,207,170,254,213, 1, 43, 5,158,254,194,143,251,247,124, 98,147,166,203, 4, 9,143, 1, 62, 0, 0, 2, 0, 0, -255,227, 4,209, 4, 96, 0, 23, 0, 33, 0, 0, 17, 53, 51, 17, 51, 17, 33, 17, 51, 17, 51, 21, 35, 17, 35, 53, 6, 7, 6, 35, - 34, 38, 61, 1, 41, 1, 21, 20, 23, 22, 51, 50, 55, 54,142,184, 2, 58,184,153,153,184, 67, 89, 89,117,193,199, 2,241,253,199, - 62, 62,124,149, 87, 77, 1,196,164, 1,248,254, 8, 1,248,254, 8,164,254, 60,172,102, 50, 49,240,231, 10, 3,159, 80, 79, 95, - 85, 0, 0, 0, 0, 1, 0, 95,255,226, 4,114, 4, 96, 0, 35, 0, 0, 19, 53, 33, 21, 6, 7, 6, 21, 20, 22, 32, 55, 54, 53, - 52, 39, 38, 39, 53, 33, 21, 35, 22, 23, 22, 21, 20, 0, 32, 39, 38, 53, 52, 55, 54, 55, 95, 1,186,109, 63, 66,176, 1, 32, 88, - 88, 66, 71,100, 1,180,236,114, 56, 54,254,228,254, 62,142,142, 52, 53,119, 3,188,164,220, 69,105,111,135,159,194, 97, 98,158, -146,100,111, 63,220,164,100,113,110,136,235,254,220,145,146,228,147,107,109,104, 0, 1, 0, 65, 0, 0, 4,119, 4, 96, 0, 32, - 0, 0, 1, 33, 22, 23, 22, 21, 20, 0, 43, 1, 34, 39, 38, 53, 17, 35, 53, 33, 17, 20, 23, 22, 63, 1, 50, 55, 54, 53, 52, 39, - 38, 39, 38, 2, 85, 1, 66,114, 56, 54,254,228,225, 70,181, 82, 81,155, 1, 83, 38, 40,103, 51,144, 88, 88, 66, 79, 92, 76, 3, -218,100,113,110,136,235,254,220, 96, 96,214, 2, 59,143,253, 54,153, 49, 50, 2, 1, 97, 98,158,146,100,119, 55, 44, 0, 0, 0, - 0, 1, 0, 72, 0, 0, 4,138, 4, 96, 0, 6, 0, 0, 33, 35, 9, 1, 35, 1, 51, 4,138,196,254,162,254,162,194, 1,164,250, - 3,172,252, 84, 4, 96, 0, 0, 0, 1, 0, 15, 0, 0, 4,194, 4, 96, 0, 12, 0, 0, 33, 35, 11, 1, 35, 11, 1, 35, 19, 51, - 27, 1, 51, 4,194,148,184,183,173,184,184,147,235,173,193,194,173, 3,106,252,150, 3,106,252,150, 4, 96,252,106, 3,150, 0, - 0, 1, 0, 72, 0, 0, 4,138, 6, 10, 0, 15, 0, 0, 1, 62, 1, 59, 1, 21, 35, 34, 6, 15, 1, 1, 35, 9, 1, 35, 2, 52, - 78,148,124,146,108, 76, 84, 50, 34, 1,198,196,254,162,254,162,194, 4,200,200,122,154, 72,134, 84,251,178, 3,108,252,148, 0, - 0, 1, 0,102, 0, 0, 4,107, 4,125, 0, 8, 0, 0, 19, 51, 9, 1, 51, 1, 17, 35, 17,102,217, 1, 37, 1, 46,217,254, 93, -203, 4,125,254, 56, 1,200,253,144,253,243, 2, 13, 0, 0, 0, 0, 1, 0,194,254, 86, 4, 15, 4, 96, 0, 20, 0, 0, 19, 33, - 21, 1, 33, 23, 20, 23, 22, 59, 1, 21, 35, 34, 38, 61, 1, 33, 53, 1, 33,213, 2,167,253,249, 2, 25, 1, 21, 21, 59, 27, 52, -136,122,253,233, 2, 7,254, 12, 4, 96,168,252,219,167,153, 49, 48,156,192,214, 20,168, 3, 37, 0, 2, 0,167,255,145, 4, 42, - 4, 96, 0, 20, 0, 27, 0, 0, 33, 6, 21, 35, 52, 55, 33, 53, 1, 33, 53, 33, 21, 1, 51, 18, 51, 50, 23, 22, 33, 39, 51, 50, - 53, 52, 35, 6, 2,170, 3,153, 3,254,150, 2,180,253,101, 3,106,253, 76,175, 60,219,227, 1, 1,254,178, 20, 20,174, 70, 88, - 51, 60, 59, 52,168, 3, 37,147,168,252,219, 1, 32,246,189,147, 54, 91, 2, 0, 0, 1, 0,125,254, 76, 4, 84, 4, 96, 0, 32, - 0, 0, 1, 50, 23, 22, 23, 22, 21, 20, 4, 33, 34, 39, 38, 39, 53, 30, 1, 51, 50, 55, 54, 53, 52, 39, 38, 43, 1, 53, 1, 33, - 53, 33, 21, 2, 97,106,128, 98, 86, 81,254,208,254,232, 94, 99,100,106, 84,200,109,190, 99,100, 92, 93,165,174, 1,174,253,101, - 3,106, 1,220, 56, 42,109,104,138,221,242, 18, 19, 37,195, 49, 50, 75, 75,143,132, 75, 74,166, 1,243,147,168, 0, 2, 0,105, -254, 76, 4,104, 4, 96, 0, 36, 0, 45, 0, 0, 1, 32, 55, 54, 5, 22, 23, 54, 53, 52, 39, 38, 43, 1, 53, 1, 33, 53, 33, 21, - 1, 50, 23, 22, 23, 22, 21, 20, 7, 22, 21, 35, 52, 39, 48, 7, 6, 55, 38, 35, 34, 7, 20, 51, 50, 55, 1,227,254,177, 2, 2, - 1, 42,246,158, 12, 92, 94,164,174, 1,174,253,101, 3,106,254,101,105,129,100, 84, 81, 39,100,153, 40, 20,151, 9,125,197,131, - 1,158,190, 99,254, 76,189,251, 5, 4, 59, 42, 49,133, 74, 74,166, 1,243,147,168,254, 36, 56, 43,108,103,139,113, 85,101,164, - 82, 56, 17,121,250, 42, 75, 47, 75, 0, 0, 0, 0, 1, 0,194, 0, 0, 4, 15, 6, 18, 0, 28, 0, 0, 1, 51, 50, 55, 54, 53, - 52, 39, 38, 35, 34, 7, 6, 7, 53, 54, 55, 54, 51, 32, 23, 22, 21, 20, 7, 6, 7, 17, 35, 1,190, 63,191, 87, 58, 58,102,176, - 80, 79, 78, 78, 76, 81, 81, 85, 1, 19,138,109,108,112,170,203, 3, 30,114, 76, 98,133, 65,114, 22, 21, 43,172, 35, 17, 18,157, -125,186,170,115,119, 30,253,116, 0, 1, 0,194, 0, 0, 4, 15, 6, 18, 0, 28, 0, 0, 1, 17, 35, 17, 38, 39, 38, 53, 52, 55, - 54, 33, 50, 23, 22, 23, 21, 38, 39, 38, 35, 34, 7, 6, 7, 20, 23, 22, 51, 3, 18,202,170,112,108,110,137, 1, 19, 85, 81, 81, - 76, 78, 79, 78, 80,179, 99, 57, 1, 58, 86,192, 3, 30,252,226, 2,140, 30,119,115,170,186,125,157, 18, 17, 35,172, 43, 21, 22, -114, 65,133, 98, 76,114, 0, 0, 0, 1, 0,194, 0, 0, 4, 15, 6, 18, 0, 28, 0, 0, 1, 17, 51, 17, 22, 23, 22, 21, 20, 7, - 6, 33, 34, 39, 38, 39, 53, 22, 23, 22, 51, 50, 55, 54, 55, 52, 39, 38, 35, 1,190,203,170,112,108,109,138,254,237, 85, 81, 81, - 76, 78, 78, 79, 80,179, 99, 57, 1, 58, 86,192, 2,244, 3, 30,253,116, 30,119,115,170,186,125,157, 18, 17, 35,172, 43, 21, 22, -114, 65,133, 98, 76,114, 0, 0, 0, 1, 0,194,254, 74, 4, 15, 6, 18, 0, 35, 0, 0, 19, 52, 55, 54, 33, 50, 23, 22, 23, 21, - 38, 39, 38, 35, 34, 7, 6, 7, 17, 22, 23, 22, 51, 50, 55, 54, 55, 21, 6, 7, 6, 35, 32, 39, 38, 53,194,110,137, 1, 19, 85, - 81, 81, 76, 78, 79, 78, 80,179, 99, 57, 1, 1, 57, 99,179, 80, 78, 79, 78, 76, 81, 81, 85,254,237,137,110, 4, 62,186,125,157, - 18, 17, 35,172, 43, 21, 22,114, 65,133,251,224,133, 65,114, 22, 21, 43,172, 35, 17, 18,157,125,186, 0, 0, 0, 0, 3, 0, 95, - 0, 45, 4,115, 4, 66, 0, 12, 0, 26, 0, 40, 0, 0, 19, 52, 55, 54, 51, 50, 23, 22, 21, 20, 0, 32, 0, 55, 20, 23, 22, 32, - 54, 53, 52, 39, 38, 35, 34, 7, 6, 23, 52, 55, 54, 51, 50, 23, 22, 21, 20, 6, 34, 39, 38, 95,154,154,216,212,154,154,254,209, -254, 79,254,204,181,101,100, 1, 26,198,100,101,138,141,100,101,227, 34, 33, 47, 46, 34, 33, 66, 94, 33, 34, 2, 53,212,156,157, -157,156,212,216,254,208, 1, 48,217,141, 99, 99,198,141,138,102,102,102,102,137, 46, 34, 34, 34, 34, 46, 47, 66, 33, 33, 0, 0, - 0, 3, 0,209, 0, 0, 4, 0, 4,125, 0, 8, 0, 17, 0, 32, 0, 45, 64, 24, 25, 0,182, 10, 32, 9,182, 18,194, 1,182, 32, - 14, 18, 22, 5, 18, 28, 0, 9, 6, 18, 70, 33, 16,252,236, 50,212,236,212,236, 49, 0, 47,236,244,236, 16,212,236, 57, 48, 1, - 17, 51, 50, 54, 53, 52, 38, 35, 3, 17, 51, 50, 54, 53, 52, 38, 35, 37, 33, 50, 22, 21, 20, 6, 7, 30, 1, 21, 20, 6, 35, 33, - 1,155,221, 93, 95, 90, 94,225,210, 85, 84, 84, 86,254,101, 1,141,178,192, 98, 96,115,127,209,193,254, 99, 2, 18,254,152,105, - 63, 92,100, 1,194,254,232, 85, 63, 46, 86,169,148,136,105,125, 15, 25,156,117,154,168, 0, 0, 0, 2, 0,176,255,213, 4, 34, - 4,121, 0, 21, 0, 43, 0, 0, 1, 34, 7, 6, 20, 23, 22, 59, 1, 21, 35, 34, 7, 6, 21, 20, 23, 22, 51, 36, 17, 16, 39, 4, - 17, 16, 5, 6, 39, 34, 39, 38, 53, 52, 54, 55, 46, 1, 53, 52, 55, 54, 51, 50, 2, 50,115, 57, 64, 60, 32,138,137,137,138, 32, - 60, 64, 55,117, 1, 84,120, 1, 20,254,236, 86,147,173,100,100,106, 98, 98,106,100,100,173,150, 3,216, 54, 61,154, 55, 30,157, - 30, 54, 78, 74, 64, 54, 1, 1,190, 1,162,115,151,254,120,254,168,194, 62, 2, 87, 86,148,103,142, 28, 27,142,103,148, 87, 86, - 0, 1, 0, 54, 0, 0, 4,108, 6, 18, 0, 48, 0, 0, 37, 17, 35, 53, 33, 17, 6, 7, 6, 35, 34, 39, 38, 17, 16, 55, 54, 51, - 50, 23, 22, 23, 53, 52, 55, 54, 59, 1, 21, 35, 34, 7, 6, 29, 1, 35, 21, 38, 39, 38, 35, 34, 7, 6, 16, 23, 22, 51, 50, 2, -206,116, 1, 30, 1,163, 58,152,212,123,125,127,124,219, 51, 72, 24, 13, 62, 60,136,190,129, 78, 30, 28, 2, 29,189, 63, 55,134, - 75, 74, 74, 75,134,130,178, 1, 26,140,253,240, 4, 50, 18,159,160, 1, 13, 1, 15,160,157, 18, 6, 5, 1,216, 94, 96,156, 48, - 51,151,148,106, 38, 66, 22,114,113,254,102,113,114, 0, 0, 0, 0, 1, 0,144, 0, 0, 4, 65, 4,123, 0, 11, 0, 0, 19, 51, - 17, 33, 17, 51, 17, 35, 17, 33, 17, 35,144,202, 2, 29,202,202,253,227,202, 4,123,254, 65, 1,191,251,133, 2, 18,253,238, 0, - 0, 3, 0,202,254, 86, 4, 7, 6, 20, 0, 3, 0, 20, 0, 29, 0, 0, 1, 51, 21, 35, 23, 17, 51, 21, 35, 6, 7, 6, 35, 32, - 53, 52, 33, 51, 17, 33, 53, 1, 35, 34, 23, 22, 51, 50, 55, 54, 2,154,184,184,184,180,190, 19, 53, 81,181,254,208, 1, 14,194, -254,194, 1, 51,181,119, 3, 3,123,106, 38, 17, 6, 20,233,203,251,160,155,112, 63, 96,221,205, 3,209,143,251, 6, 51, 65, 48, - 23, 0, 0, 0, 0, 1, 0,119,254, 76, 4, 90, 4, 96, 0, 10, 0, 0, 1, 35, 17, 1, 35, 9, 1, 51, 1, 17, 51, 4, 90,186, -253,220,236, 2, 82,253,150,240, 2, 56,186,254, 76, 3,151,254, 29, 2, 12, 2, 84,253,221, 2, 35, 0, 0, 0, 0, 1, 0,245, - 0, 0, 3,220, 4,123, 0, 5, 0, 0, 19, 51, 17, 33, 21, 33,245,202, 2, 29,253, 25, 4,123,252, 47,170, 0, 0, 2, 0, 35, -254, 86, 4,124, 6, 18, 0, 29, 0, 41, 0, 0, 37, 6, 7, 6, 35, 34, 39, 38, 16, 55, 54, 51, 50, 23, 22, 23, 53, 52, 55, 54, - 59, 1, 21, 35, 34, 7, 6, 21, 17, 35, 0, 16, 23, 22, 50, 55, 54, 16, 39, 38, 34, 7, 2,187, 44, 66, 67, 93,174,110,109,109, -110,174, 93, 67, 66, 44, 61, 61,136,190,127, 79, 29, 28,185,254, 41, 63, 63,219, 63, 63, 63, 63,219, 63,168,100, 48, 49,162,162, - 2, 16,162,162, 49, 48,100,198,214, 96, 96,156, 48, 49,153,249,218, 4,164,254,106,116,115,115,116, 1,150,116,115,115, 0, 0, - 0, 1, 0,194, 0, 0, 4, 15, 6, 18, 0, 36, 0, 0, 1, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 7, 53, 54, 55, 54, - 51, 32, 23, 22, 21, 20, 7, 6, 7, 21, 51, 21, 35, 17, 35, 17, 35, 53, 51, 1,190, 63,191, 87, 58, 58,102,176, 80, 79, 78, 78, - 76, 81, 81, 85, 1, 19,138,109,108,112,170,231,231,202,229,228, 3, 30,114, 76, 98,133, 65,114, 22, 21, 43,172, 35, 17, 18,157, -125,186,170,115,119, 30,212,164,254,236, 1, 20,164, 0, 0, 0, 0, 1, 0,194, 0, 0, 4, 15, 6, 18, 0, 36, 0, 0, 1, 53, - 38, 39, 38, 53, 52, 55, 54, 33, 50, 23, 22, 23, 21, 38, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 59, 1, 17, 51, 21, 35, 17, 35, - 17, 35, 53, 2, 72,170,112,108,110,137, 1, 19, 85, 81, 81, 76, 78, 79, 78, 80,176,102, 58, 58, 87,191, 62,229,229,202,231, 1, -184,212, 30,119,115,170,186,125,157, 18, 17, 35,172, 43, 21, 22,114, 65,133, 98, 76,114,254,154,164,254,236, 1, 20,164, 0, 0, - 0, 3, 0, 29,255,227, 4,154, 6, 20, 0, 7, 0, 32, 0, 35, 0, 0, 18, 16, 22, 50, 54, 16, 38, 34, 5, 17, 51, 17, 33, 21, - 1, 33, 21, 33, 43, 1, 53, 6, 7, 6, 35, 34, 2, 16, 18, 51, 50, 23, 22, 23, 17, 1,168,100,175,101,101,175, 1, 20,110, 2, - 11,254, 97, 1,159,253,245, 16, 94, 33, 59, 56, 78,128,161,161,128, 78, 56, 58,144, 1,143, 2,250,254,106,231,231, 1,150,231, - 43, 2, 94,254, 76,168,252,219,147,168, 97, 51, 49, 1, 68, 2, 16, 1, 68, 49, 48, 77,252,251, 3, 5, 0, 0, 0, 2, 0, 27, -254, 76, 4,180, 6, 20, 0, 13, 0, 67, 0, 0, 18, 16, 23, 22, 51, 50, 55, 54, 16, 39, 38, 35, 34, 7, 37, 19, 35, 53, 6, 7, - 6, 35, 34, 39, 38, 16, 55, 54, 51, 50, 23, 22, 23, 17, 51, 3, 33, 21, 3, 50, 23, 22, 23, 22, 21, 20, 6, 35, 34, 39, 38, 39, - 53, 30, 1, 51, 50, 55, 54, 53, 52, 39, 38, 43, 1, 53, 1, 33,141, 50, 50, 88, 87, 51, 50, 50, 51, 87, 88, 50, 1,180, 1,111, - 35, 53, 53, 74,122, 76, 77, 77, 76,122, 74, 53, 53, 35,111, 1, 2, 12,246, 63, 77, 59, 51, 49,182,168, 57, 59, 60, 64, 51,120, - 65,114, 59, 60, 55, 56, 99,104, 1, 2,254,113, 2,250,254,106,116,115,115,116, 1,150,116,115,115, 95,252, 51,168,100, 48, 49, -162,162, 2, 16,162,162, 49, 48,100, 2, 94,254, 76,168,254, 36, 56, 42,109,104,138,221,242, 18, 19, 37,195, 49, 50, 75, 75,143, -132, 75, 74,166, 1,243, 0, 0, 0, 4, 0, 54,255,145, 4,153, 6, 20, 0, 7, 0, 11, 0, 44, 0, 51, 0, 0, 18, 16, 22, 50, - 54, 16, 38, 34, 5, 19, 1, 33, 53, 33, 21, 1, 51, 18, 51, 50, 21, 22, 43, 1, 6, 21, 35, 52, 55, 39, 35, 53, 14, 1, 35, 34, - 2, 16, 18, 51, 50, 22, 23, 17, 51, 1, 51, 50, 53, 52, 35, 6,169,100,175,101,101,175, 1,127, 3, 1,141,254,115, 2, 9,254, - 97,105, 36,132,136, 1,200, 25, 2, 92, 1,216, 92, 35,106, 75,121,153,153,121, 75,106, 35,110, 1, 48, 12,104, 42, 53, 2,250, -254,106,231,231, 1,150,231, 20,252,254, 3, 2,147,168,252,219, 1, 32,246,189, 51, 60, 83, 27, 1,168,100, 97, 1, 68, 2, 16, - 1, 68, 97,100, 2, 94,250,127, 54, 91, 2, 0, 0, 1, 0,153,255,227, 4, 56, 5,158, 0, 62, 0, 0, 1, 21, 46, 1, 35, 34, - 6, 21, 20, 22, 31, 1, 22, 23, 22, 21, 20, 6, 35, 34, 39, 38, 39, 21, 35, 34, 38, 53, 17, 35, 53, 51, 17, 51, 17, 51, 21, 35, - 17, 20, 22, 59, 1, 53, 30, 1, 51, 50, 54, 53, 52, 39, 38, 47, 1, 46, 1, 53, 52, 54, 51, 50, 22, 4, 20, 47,101, 54, 82, 82, - 59, 89, 37,119, 48, 50,148,130, 54, 58, 56, 62,113,128, 97, 81, 81,111,227,227, 45, 69,107, 62,118, 59, 78, 84, 31, 27,106, 38, -103, 91,135,123, 61,108, 4, 63,174, 40, 40, 84, 84, 64, 73, 33, 14, 44, 75, 76,137,156,182, 17, 17, 33, 38,159,210, 2, 96,143, - 1, 62,254,194,143,253,160,137, 78, 77, 53, 53, 89, 81, 75, 40, 36, 41, 15, 36,149,130,158,172, 30, 0, 0, 0, 0, 2, 0,153, -254, 86, 4, 52, 6, 20, 0, 37, 0, 46, 0, 0, 1, 17, 33, 53, 52, 55, 54, 59, 1, 21, 35, 34, 7, 6, 21, 19, 20, 7, 6, 43, - 1, 53, 51, 50, 55, 54, 61, 1, 35, 34, 39, 38, 53, 17, 35, 53, 51, 17, 1, 2, 17, 33, 17, 20, 23, 22, 51, 1,137, 1, 25, 65, - 60,147,130,132, 74, 28, 30, 2, 61, 61,136, 53, 37, 78, 29, 29,141,161, 59, 61,101,101, 1,165, 1,254,231, 28, 29, 85, 5,158, -254,194, 78,182, 90, 86,153, 40, 41,103,251, 41,215, 95, 96,156, 48, 50,152, 20, 80, 77,212, 2, 96,143, 1, 62,250,252, 1, 23, - 2, 32,253,160,138, 38, 39, 0, 0, 3, 0,181,255,112, 4, 18, 5,158, 0, 46, 0, 54, 0, 64, 0, 0, 1, 17, 51, 21, 54, 51, - 50, 23, 22, 23, 21, 38, 39, 38, 35, 34, 7, 6, 16, 23, 22, 23, 54, 51, 50, 23, 20, 35, 34, 39, 6, 21, 7, 52, 55, 38, 39, 21, - 35, 34, 38, 53, 17, 35, 53, 51, 17, 1, 22, 51, 50, 53, 52, 35, 34, 7, 38, 53, 16, 55, 35, 17, 20, 22, 51, 1,117,228, 90,157, - 51, 49, 48, 46, 47, 47, 47, 48,108, 59, 59, 59, 4, 4, 50,118,179, 1,200, 49, 43, 3, 92, 7, 33, 28,114,128, 97, 81, 81, 1, -254, 36, 45, 87, 79, 61,213, 77, 84,221, 45, 69, 5,158,254,194,130,157, 17, 18, 35,172, 43, 22, 21,113,114,254,102,114, 7, 7, -176,246,189, 17, 57, 68, 3,104, 84, 34, 50,128,159,210, 2, 96,143, 1, 62,250,244, 19, 57, 75,105,157,248, 1, 7,155,253,160, -137, 78, 0, 0, 0, 1, 0,135,254, 86, 4, 72, 6, 20, 0, 51, 0, 0, 1, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, - 52, 38, 35, 34, 6, 21, 17, 35, 17, 35, 17, 35, 17, 35, 53, 51, 53, 52, 54, 59, 1, 21, 35, 34, 6, 29, 1, 59, 2, 21, 54, 55, - 54, 51, 50, 23, 22, 4, 71, 49, 49,108,153,140, 63, 23, 23, 75, 74, 89,104,111,180,110,106,106,104,113,105,106, 59, 47,180, 2, -109, 40, 53, 54, 70,116, 60, 59, 2,164,253, 72,214, 96, 96,156, 48, 49,153, 2,178,159,158,190,164,253,135, 3,209,252, 47, 3, -209,143, 78,187,171,153, 80,104, 99,174,101, 50, 50,119,120, 0, 0, 2, 0,230,255,227, 3,235, 6, 20, 0, 37, 0, 55, 0, 0, - 1, 21, 38, 39, 38, 35, 34, 6, 21, 20, 23, 22, 31, 1, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 39, 21, 35, 17, 51, 17, 54, - 55, 54, 51, 50, 23, 22, 1, 17, 22, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 47, 1, 38, 39, 38, 3,190, 59, 62, 65, 66,103,102, - 36, 38,110, 47,149, 60, 62, 93, 91,163, 65, 76, 79, 68,138,138, 8, 75, 84,155, 76, 68, 67,253,235, 75, 69, 74, 73, 97, 53, 52, - 37, 34,133, 48,128, 57, 50, 4, 63,174, 41, 19, 20, 84, 84, 63, 38, 36, 33, 14, 44, 75, 76,137,155, 92, 91, 17, 21, 29, 38, 6, - 20,253, 58,138, 77, 86, 15, 15,254,183,253,206, 51, 23, 27, 45, 43, 82, 75, 40, 35, 42, 15, 36, 74, 65, 0, 0, 0, 2, 0,219, - 0, 0, 3,244, 6, 20, 0, 10, 0, 13, 0, 0, 19, 51, 17, 33, 21, 1, 33, 21, 33, 43, 1, 19, 17, 1,219,138, 2,143,253,249, - 2, 7,253,113, 20,118,138, 1,243, 6, 20,254, 76,168,252,219,147, 3,205,252,250, 3, 6, 0, 0, 2, 0,143,255,226, 4, 66, - 5, 32, 0, 12, 0, 25, 0, 0, 19, 51, 27, 1, 51, 27, 1, 51, 3, 35, 11, 1, 35, 3, 51, 27, 1, 51, 27, 1, 51, 3, 35, 11, - 1, 35,143,116,145,144,137,145,144,116,185,136,152,153,136,185,116,145,144,137,145,144,116,185,136,152,153,136, 2, 85,254, 23, - 1,233,254, 23, 1,233,253,141, 2, 2,253,254, 5, 61,254, 23, 1,233,254, 23, 1,233,253,141, 2, 2,253,254, 0, 2, 0,143, - 0,173, 4, 66, 5, 31, 0, 7, 0, 15, 0, 0, 19, 33, 17, 35, 17, 33, 17, 35, 17, 33, 17, 35, 17, 33, 17, 35,143, 3,179,143, -253,107,143, 3,179,143,253,107,143, 2, 85,254, 88, 1, 5,254,251, 4,114,254, 88, 1, 5,254,251, 0, 0, 0, 0, 1, 0,178, -254, 74, 4, 31, 6, 20, 0, 24, 0, 0, 5, 32, 25, 1, 52, 38, 43, 1, 53, 51, 50, 22, 21, 17, 16, 51, 50, 54, 53, 17, 51, 17, - 35, 17, 6, 2,132,254,219, 57, 79, 37, 53,136,122,186,112,129,138,138, 99, 29, 1,215, 2,196,153, 97,156,192,214,253, 66,254, -195,190,164, 2,121,249,236, 2, 98,201, 0, 0, 0, 1, 0,197,254, 86, 4, 12, 6, 20, 0, 34, 0, 0, 1, 16, 51, 50, 54, 53, - 17, 51, 17, 6, 22, 59, 1, 21, 35, 34, 39, 38, 39, 53, 6, 35, 34, 25, 1, 52, 39, 38, 43, 1, 53, 51, 50, 22, 21, 1,190,148, - 90,103,111, 2, 48, 62, 30, 42,109, 47, 50, 1, 79,138,235, 23, 23, 63, 29, 42,109, 98, 1,192,254,195,190,164, 2,121,251,142, -148,102,156, 92,103,231,172,201, 1,215, 2,196,153, 49, 48,156,192,214, 0, 0, 0, 1, 1, 65, 2,156, 3,144, 6, 4, 0, 19, - 0, 32, 64, 6, 0, 3, 14, 10, 11, 20, 16,212,220, 60, 47,204, 75, 49, 0, 64, 6, 6, 17, 12, 2, 11, 20, 16,212, 60,196,212, -204, 48, 1, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 17, 62, 1, 51, 50, 22, 3,144,116, 78, 78, 94,108,117,117, 41, -113, 74,121,125, 4, 23,254,133, 1,119, 89, 89,107, 92,254,158, 3,103,254,171, 56, 56,134, 0, 0, 1, 1, 65, 2,154, 3,144, - 6, 2, 0, 31, 0, 0, 1, 51, 62, 1, 51, 50, 22, 21, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 53, 52, 55, 54, 59, 1, - 21, 35, 34, 7, 6, 21, 1,181, 1, 41,113, 74,121,125,116, 78, 78, 94,108,117, 52, 51,114,160,147, 66, 24, 24, 4,172, 57, 56, -134,130,254,134, 1,119, 89, 88,106, 92,254,158, 2, 49, 83,119, 54, 54, 87, 27, 28, 85, 0, 0, 0, 2, 1,230, 1,173, 2,235, - 6, 4, 0, 11, 0, 15, 0, 0, 1, 51, 17, 20, 6, 43, 1, 53, 51, 50, 54, 53, 17, 51, 21, 35, 2,119,116,103,114, 44, 31, 66, - 48,116,116, 5, 15,253,130,120,108, 88, 54, 86, 3,114,130, 0, 0, 1, 1,153, 2,156, 3, 56, 5, 31, 0, 17, 0, 0, 1, 46, - 1, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 22, 23, 3, 55, 19, 46, 28, 98,106,116,116, 37,117, 84, 12, 29, 18, 4, -175, 10, 9,113,107,254,182, 2,115, 97, 57, 55, 2, 3, 0, 0, 0, 1, 1,153, 2,140, 3, 56, 5, 16, 0, 17, 0, 0, 1, 30, - 1, 51, 50, 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 38, 39, 1,154, 19, 46, 28, 98,106,116,116, 37,117, 84, 12, 29, 18, 2, -252, 10, 9,113,107, 1, 74,253,141, 97, 57, 55, 3, 2, 0, 0, 0, 1, 1, 81, 1,173, 3,128, 5, 16, 0, 31, 0, 0, 1, 30, - 1, 51, 50, 54, 53, 17, 51, 17, 29, 1, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 61, 1, 35, 53, 14, 1, 35, 34, 38, 39, 1, 81, - 20, 46, 28, 98,105,117, 24, 24, 66, 31, 45,114, 51, 51, 1, 36,118, 83, 12, 29, 18, 2,252, 10, 9,113,107, 1, 74,253,213, 72, - 11, 86, 27, 27, 88, 54, 54,120, 11, 97, 57, 55, 3, 2, 0, 0, 0, 2, 1, 48, 2,156, 3,161, 5, 16, 0, 22, 0, 33, 0, 0, - 1, 30, 1, 21, 20, 7, 6, 43, 1, 17, 51, 17, 51, 50, 55, 54, 63, 1, 51, 7, 6, 7, 6, 1, 51, 50, 55, 54, 53, 52, 39, 38, - 43, 1, 2,172, 67, 71, 68, 68,137,244,117,106, 61, 37, 37, 40,102,123,110, 33, 33, 33,254,215,124, 75, 40, 40, 40, 40, 75,124, - 3,233, 15, 78, 59, 91, 45, 45, 2,115,254,247, 21, 20, 63,161,171, 53, 30, 30,255, 0, 23, 24, 47, 46, 24, 25, 0, 1, 0,143, - 2,156, 4, 66, 5, 16, 0, 12, 0, 0, 19, 51, 27, 1, 51, 27, 1, 51, 3, 35, 11, 1, 35,143,116,145,144,137,145,144,116,185, -136,152,153,136, 5, 15,254, 23, 1,233,254, 23, 1,233,253,141, 2, 2,253,254, 0, 1, 1, 17, 1,173, 3,192, 5, 16, 0, 15, - 0, 0, 1, 14, 1, 43, 1, 53, 51, 50, 54, 63, 1, 1, 51, 27, 1, 51, 2,138, 49, 93, 79, 92, 68, 48, 53, 32, 21,254,226,123, -220,221,123, 2, 98,112, 69, 87, 40, 75, 47, 2,105,254, 22, 1,234, 0, 0, 0,255,255, 1,236, 4,116, 2,235, 6,102, 16, 6, - 2,191, 0, 0,255,255, 1,207, 3,199, 3, 45, 6, 20, 16, 6, 6,141, 0, 0,255,255, 1,207, 3,199, 3, 45, 6, 20, 16, 6, - 6,142, 0, 0,255,255, 1,240, 4,194, 2,225, 6,193, 16, 6, 2,144, 0, 0, 0, 1, 1,223, 3,239, 2,242, 6, 20, 0, 16, - 0, 0, 1, 52, 53, 50, 54, 53, 52, 38, 35, 52, 53, 50, 23, 22, 20, 7, 6, 1,224, 64, 88, 88, 64,114, 80, 80, 80, 80, 3,239, - 61, 62, 88, 64, 63, 88, 61, 62, 80, 79,230, 80, 80, 0, 0, 0, 0, 1, 1,223, 3,239, 2,242, 6, 20, 0, 16, 0, 0, 1, 34, - 39, 38, 52, 55, 54, 51, 20, 21, 34, 6, 21, 20, 22, 51, 20, 2,242,116, 80, 78, 78, 80,116, 64, 88, 88, 64, 3,239, 80, 80,230, - 79, 80, 62, 61, 88, 63, 64, 88, 62, 0, 0, 0, 0, 1, 1, 94, 3,142, 3,115, 6,245, 0, 28, 0, 0, 1, 51, 50, 55, 54, 53, - 52, 39, 38, 35, 34, 7, 6, 7, 53, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 7, 17, 35, 1,253, 40,121, 54, 36, 36, 62,113, - 51, 49, 50, 49, 48, 51, 51, 54,173, 87, 69, 68, 71,107,127, 5, 77, 64, 42, 55, 75, 36, 64, 12, 12, 24, 96, 20, 9, 10, 88, 70, -104, 95, 64, 67, 17,254,147, 0, 0, 1, 1, 94, 3,142, 3,115, 6,245, 0, 28, 0, 0, 1, 17, 35, 17, 38, 39, 38, 53, 52, 55, - 54, 51, 50, 23, 22, 23, 21, 38, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 51, 2,211,127,107, 71, 68, 70, 86,173, 54, 51, 51, 48, - 49, 50, 49, 51,113, 62, 36, 36, 54,121, 5, 77,254, 65, 1,109, 17, 67, 64, 95,104, 70, 88, 10, 9, 20, 96, 24, 12, 12, 64, 36, - 75, 55, 42, 64, 0, 1, 1, 41, 4,238, 3,168, 6,102, 0, 6, 0, 55, 64, 12, 4, 5, 2,186, 0,185, 7, 4, 2, 11, 6, 7, - 16,212,236, 57, 49, 0, 16,244,236, 50, 57, 48, 0, 75,176, 9, 84, 75,176, 14, 84, 91, 88,189, 0, 7,255,192, 0, 1, 0, 7, - 0, 7, 0, 64, 56, 17, 55, 56, 89, 1, 51, 19, 35, 39, 7, 35, 2, 31,147,246,139,181,180,139, 6,102,254,136,245,245, 0, 0, - 0, 1, 1, 41, 4,238, 3,168, 6,102, 0, 6, 0, 55, 64, 12, 3, 0,186, 4, 1,185, 7, 3, 5, 11, 1, 7, 16,212,236, 57, - 49, 0, 16,244, 60,236, 57, 48, 0, 75,176, 9, 84, 75,176, 14, 84, 91, 88,189, 0, 7,255,192, 0, 1, 0, 7, 0, 7, 0, 64, - 56, 17, 55, 56, 89, 1, 3, 51, 23, 55, 51, 3, 2, 31,246,139,180,181,139,246, 4,238, 1,120,245,245,254,136, 0, 1, 2, 36, - 3,231, 2,173, 6, 18, 0, 3, 0, 19, 64, 3, 0, 3, 4, 16,212,204, 49, 0, 64, 3, 3, 2, 4, 16,212,196, 48, 1, 17, 35, - 17, 2,172,136, 6, 18,253,213, 2, 43, 0, 0,255,255, 1, 61, 5, 98, 3,147, 5,246, 16, 6, 2,128, 0, 0, 0, 1, 2, 36, -254,209, 2,173, 0,252, 0, 3, 0, 19, 64, 3, 0, 3, 4, 16,212,204, 49, 0, 64, 3, 3, 2, 4, 16,212,196, 48, 37, 17, 35, - 17, 2,172,136,252,253,213, 2, 43, 0, 0, 0,255,255, 1, 61,254,155, 3,148,255, 47, 16, 6, 2,173, 0, 0, 0, 2, 1,182, - 0, 0, 3, 27, 4, 35, 0, 2, 0, 5, 0, 0, 1, 3, 33, 3, 19, 33, 2,104,178, 1,101,179,179,254,155, 2,217, 1, 74,253, - 39,254,182, 0, 0, 1, 1,182, 2,216, 3, 27, 4, 35, 0, 2, 0, 0, 1, 3, 33, 2,104,178, 1,101, 2,217, 1, 74, 0, 0, -255,255, 1,223, 1,254, 2,242, 4, 35, 16, 7, 2, 91, 0, 0,254, 15, 0, 0,255,255, 1,223, 1,254, 2,242, 4, 35, 16, 7, - 2, 92, 0, 0,254, 15, 0, 0, 0, 1, 0,193, 1,137, 3, 23, 3,223, 0, 11, 0, 0, 1, 53, 51, 21, 51, 21, 35, 21, 35, 53, - 35, 53, 1,162,148,225,225,148,225, 2,254,225,225,148,225,225,148, 0, 0, 0,255,255, 1, 47, 5, 41, 3,162, 6, 72, 16, 6, - 2,130, 0, 0,255,255, 2, 1, 5, 68, 2,206, 6, 16, 16, 6, 2,131, 0, 0, 0, 2, 1, 86, 4,225, 3,123, 7, 6, 0, 11, - 0, 23, 0, 87,178, 15,200, 9,184, 1, 4, 64, 12, 21,200, 3, 24, 12, 80, 0,123, 18, 80, 6, 24, 16,212,236,244,236, 49, 0, - 16,212,236,244,236, 48, 0, 75,176, 9, 84, 75,176, 12, 84, 91, 88,189, 0, 24,255,192, 0, 1, 0, 24, 0, 24, 0, 64, 56, 17, - 55, 56, 89, 1, 75,176, 9, 84, 88,189, 0, 24, 0, 64, 0, 1, 0, 24, 0, 24,255,192, 56, 17, 55, 56, 89, 1, 20, 6, 35, 34, - 38, 53, 52, 54, 51, 50, 22, 7, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 3,123,159,116,115,159,159,115,116,159,123, 88, 64, - 64, 87, 87, 64, 64, 88, 5,244,115,160,160,115,115,159,159,115, 63, 88, 87, 64, 65, 87, 88, 0, 0, 1, 1,164,254,117, 3, 25, - 0, 0, 0, 19, 0, 34,179, 11, 14, 10, 7,184, 1, 6, 64, 9, 14, 0, 1, 0, 10, 4,124, 17, 20, 16,212,236,196,212,204, 49, - 0, 47,212,252,196, 18, 57, 48, 33, 51, 14, 1, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 53, 52, 54, 2, 16,119, 45, - 43, 55, 54, 32, 62, 31, 38, 68, 30,122,115, 53, 61, 88, 31, 46, 46, 15, 15,133, 10, 10, 87, 93, 48,105, 0, 0, 0, 1, 1, 31, - 5, 29, 3,178, 6, 55, 0, 27, 0,187, 64, 33, 0, 18, 7, 14, 11, 4, 1, 18, 7, 15, 11, 4, 18,204, 25, 7, 4,204, 21, 11, - 28, 15, 1, 14, 0, 7, 21, 80, 22, 7, 80, 8, 28, 16,212,236,212,236, 17, 57, 57, 57, 57, 49, 0, 16,212, 60,252,212, 60,236, - 17, 18, 57, 17, 18, 57, 17, 18, 57, 17, 18, 57, 48, 0, 75,176, 9, 84, 75,176, 12, 84, 91, 88,189, 0, 28,255,192, 0, 1, 0, - 28, 0, 28, 0, 64, 56, 17, 55, 56, 89, 0, 75,176, 15, 84, 88,189, 0, 28, 0, 64, 0, 1, 0, 28, 0, 28,255,192, 56, 17, 55, - 56, 89, 64, 63, 9, 0, 12, 10, 12, 11, 12, 12, 11, 15, 11, 16, 15, 17, 15, 18, 15, 19, 15, 20, 15, 21, 15, 22, 15, 23, 9, 27, - 25, 0, 25, 1, 27, 10, 27, 11, 27, 12, 27, 13, 27, 14, 27, 15, 27, 16, 27, 17, 27, 18, 27, 19, 31, 20, 31, 21, 31, 22, 26, 23, - 25, 27, 31, 1, 93, 1, 39, 46, 1, 35, 34, 6, 7, 35, 62, 1, 51, 50, 22, 31, 1, 30, 1, 51, 50, 54, 55, 51, 14, 1, 35, 34, - 38, 2,100, 57, 21, 33, 14, 38, 36, 2,124, 1,102, 91, 39, 64, 37, 57, 21, 33, 13, 39, 36, 1,125, 1,102, 91, 39, 64, 5, 90, - 55, 20, 19, 74, 81,134,148, 28, 33, 55, 20, 19, 74, 81,134,148, 28, 0, 0, 0,255,255, 1, 88, 4,238, 4, 23, 6,102, 16, 6, - 2,135, 0, 0, 0, 1,254,161, 1,222, 3,115, 4, 8, 0, 15, 0, 0, 1, 37, 51, 21, 20, 23, 22, 59, 1, 21, 33, 34, 39, 38, - 53, 5,254,161, 2,107,184, 38, 38,105,250,254,241,175, 87, 82,253,150, 3,100,164,148,153, 49, 48,156, 96, 90,200,162, 0, 0, - 0, 2, 1, 37, 1,170, 3,172, 5, 15, 0, 13, 0, 21, 0, 0, 1, 22, 21, 20, 7, 4, 39, 38, 55, 3, 51, 23, 55, 51, 1, 6, - 23, 22, 51, 50, 53, 54, 2,181,178,242,254,246, 1, 1,182,250,136,191,184,136,254,188,139, 3, 1,135,128, 1, 3,220,249,180, -129, 3, 3,135,192,241, 1, 47,224,224,254,138,174,152, 77, 77,140, 0, 0, 0, 0, 1, 1, 86, 2,156, 3,124, 6, 10, 0, 13, - 0, 0, 1, 20, 22, 59, 1, 21, 35, 34, 38, 53, 17, 35, 53, 33, 2,132, 56, 56,136,146,104,114,186, 1, 46, 3,127, 69, 71, 87, -119,108, 2, 58, 81, 0, 0, 0, 0, 1, 1, 91, 2,156, 3,118, 5, 47, 0, 41, 0, 0, 1, 21, 46, 1, 35, 34, 6, 21, 20, 22, - 31, 1, 22, 23, 22, 21, 20, 6, 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 53, 52, 39, 38, 47, 1, 46, 1, 53, 52, 54, 51, 50, 22, - 3, 80, 49,106, 56, 87, 86, 62, 93, 40,125, 50, 52,155,137, 56,123, 68, 64,125, 61, 82, 88, 32, 28,111, 41,107, 96,141,130, 64, -113, 5, 13, 97, 22, 22, 47, 47, 36, 41, 18, 8, 24, 42, 43, 77, 87,102, 20, 19,107, 30, 30, 50, 45, 42, 23, 20, 23, 8, 21, 83, - 73, 88, 97, 17, 0, 1, 1, 18, 2,156, 3,191, 5, 15, 0, 11, 0, 0, 1, 3, 1, 35, 39, 7, 35, 1, 3, 51, 23, 55, 3,177, -255, 1, 13,137,206,205,137, 1, 18,250,136,188,187, 5, 15,254,207,254,190,246,246, 1, 72, 1, 43,223,223, 0, 0, 1, 1, 94, - 2,156, 3,115, 6, 2, 0, 28, 0, 0, 1, 17, 35, 17, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 23, 21, 38, 39, 38, 35, 34, - 7, 6, 21, 20, 23, 22, 51, 2,211,127,107, 71, 68, 70, 86,173, 54, 51, 51, 48, 49, 50, 49, 51,113, 62, 36, 36, 54,121, 4, 91, -254, 65, 1,109, 17, 67, 64, 95,104, 70, 88, 10, 9, 20, 96, 24, 12, 12, 64, 36, 75, 55, 42, 64, 0, 1, 0,214, 0, 0, 3, 29, - 5, 88, 0, 5, 0, 0, 33, 17, 33, 53, 33, 17, 2,149,254, 65, 2, 71, 4,208,136,250,168, 0, 0, 1, 0,214, 0, 0, 3, 29, - 5, 88, 0, 7, 0, 0, 33, 17, 33, 53, 33, 17, 51, 17, 2,149,254, 65, 1,191,136, 3,156,136, 1, 52,250,168, 0, 1, 0,214, - 0, 0, 3, 29, 5, 88, 0, 7, 0, 0, 1, 17, 51, 17, 35, 17, 33, 53, 2,149,136,136,254, 65, 2,240, 2,104,250,168, 2,104, -136, 0, 0, 0, 0, 1, 0,214, 0, 0, 3, 29, 5, 88, 0, 7, 0, 0, 1, 17, 51, 17, 35, 17, 33, 53, 2,149,136,136,254, 65, - 1,188, 3,156,250,168, 1, 52,136, 0, 0, 0, 0, 1, 0,214, 0, 0, 3, 29, 5, 88, 0, 5, 0, 0, 37, 17, 51, 17, 33, 53, - 2,149,136,253,185,136, 4,208,250,168,136, 0,255,255, 1,141,254, 10, 3, 68,255,193, 16, 6, 2,161, 0, 0,255,255, 1, 23, - 4,238, 2,246, 6,102, 16, 6, 0, 67, 0, 0,255,255, 1,219, 4,238, 3,186, 6,102, 16, 6, 0,118, 0, 0,255,255, 1, 41, - 4,238, 3,168, 6,102, 16, 6, 2, 95, 0, 0,255,255, 1, 31, 5, 29, 3,178, 6, 55, 16, 6, 2,110, 0, 0, 0, 1, 1, 61, - 5, 98, 3,147, 5,246, 0, 3, 0, 17,182, 2,182, 0, 4, 1, 0, 4, 16,212,204, 49, 0, 16,212,236, 48, 1, 33, 21, 33, 1, - 61, 2, 86,253,170, 5,246,148,255,255, 0, 0, 5,187, 4,209, 6, 11, 16, 6, 6,161, 0, 0, 0, 1, 1, 47, 5, 41, 3,162, - 6, 72, 0, 13, 0, 32,185, 0, 11, 1, 3, 64, 12, 4, 7, 0,185, 14, 7, 80, 8, 1, 80, 0, 14, 16,212,236,220,236, 49, 0, - 16,244, 60,212,236, 48, 1, 51, 30, 1, 51, 50, 54, 55, 51, 14, 1, 35, 34, 38, 1, 47,119, 11, 96, 87, 85, 96, 14,119, 11,158, -145,144,158, 6, 72, 76, 74, 74, 76,143,144,144, 0, 1, 2, 1, 5, 68, 2,206, 6, 16, 0, 3, 0, 20, 64, 9, 2,222, 0,221, - 4, 1, 97, 0, 4, 16,212,236, 49, 0, 16,244,236, 48, 1, 51, 21, 35, 2, 1,205,205, 6, 16,204, 0, 0, 0,255,255, 1, 63, - 5, 70, 3,145, 6, 16, 16, 6, 0,106, 0, 0, 0, 1, 1,153, 4,242, 3, 56, 6,198, 0, 21, 0, 0, 1, 50, 23, 22, 21, 20, - 7, 6, 7, 21, 35, 53, 54, 55, 54, 53, 52, 35, 34, 7, 53, 54, 2, 74,230, 7, 1, 28, 50, 52,148, 67, 49, 22,120, 90, 64, 86, - 6,198,170, 5, 5, 64, 36, 67, 33, 88,108, 22, 48, 20, 53, 94, 32,131, 24, 0,255,255, 1, 86, 4,225, 3,123, 7, 6, 16, 6, - 2,108, 0, 0, 0, 2, 1, 88, 4,238, 4, 23, 6,102, 0, 3, 0, 7, 0, 37, 64, 17, 6, 2,186, 4, 0,185, 8, 0, 7, 3, - 4, 1, 5, 7, 1, 3, 8, 16,212,220,212,204, 17, 57, 17, 18, 57, 49, 0, 16,244, 60,236, 50, 48, 1, 51, 3, 35, 1, 51, 3, - 35, 2, 23,170,224,137, 2, 12,179,248,135, 6,102,254,136, 1,120,254,136, 0,255,255, 1, 41, 4,238, 3,168, 6,102, 16, 6, - 2, 96, 0, 0, 0, 1, 2, 34, 4,238, 2,170, 6,170, 0, 3, 0, 0, 1, 17, 35, 17, 2,170,136, 6,170,254, 68, 1,188, 0, -255,255, 1, 86, 4,238, 3,118, 6,170, 16, 39, 2,137, 0,204, 0, 0, 16, 7, 2,137,255, 52, 0, 0, 0, 0, 0, 2, 0,210, - 4,238, 3,144, 6,102, 0, 3, 0, 7, 0, 0, 1, 19, 35, 3, 33, 19, 35, 3, 1,132,205,135,248, 2, 0,190,137,223, 6,102, -254,136, 1,120,254,136, 1,120,255,255, 1, 47, 5, 41, 3,162, 6,220, 16, 39, 2,107, 0, 0, 0,204, 16, 6, 2,106, 0, 0, - 0, 1, 1, 47, 5, 41, 3,162, 6, 72, 0, 13, 0, 0, 1, 62, 1, 51, 50, 22, 23, 35, 46, 1, 35, 34, 6, 7, 1, 47, 11,158, -144,145,158, 11,119, 14, 96, 85, 87, 96, 11, 5, 41,143,144,144,143, 76, 74, 74, 76, 0, 0, 0, 0, 1, 1,213, 3,199, 3, 34, - 5, 32, 0, 3, 0, 0, 1, 35, 19, 51, 2,196,239,187,146, 3,199, 1, 89, 0, 0, 1, 1,239, 4,194, 2,226, 6,193, 0, 8, - 0, 0, 1, 16, 35, 53, 22, 53, 35, 53, 51, 2,225,241,112,112,241, 5,195,254,255,123, 3,137,254, 0, 0, 0, 0, 1, 1,240, - 4,194, 2,225, 6,193, 0, 8, 0, 0, 1, 53, 51, 21, 35, 20, 51, 21, 34, 1,240,241,112,112,241, 5,195,254,254,134,123, 0, - 0, 1, 1,219, 4,238, 2,230, 6,102, 0, 3, 0, 0, 1, 51, 3, 35, 2, 32,198,113,154, 6,102,254,136, 0,255,255, 1,121, -253,184, 3, 88,255, 48, 16, 7, 0, 67, 0, 98,248,202, 0, 0,255,255, 1,121,253,184, 3, 88,255, 48, 16, 7, 0,118,255,158, -248,202, 0, 0, 0, 1, 1,156,253, 1, 2,212,254,235, 0, 7, 0, 0, 1, 53, 51, 17, 35, 53, 35, 53, 2, 76,136,136,176,254, - 58,177,254, 22,177,136, 0, 0, 0, 1, 1,204,253, 1, 3, 4,254,235, 0, 7, 0, 0, 1, 21, 35, 17, 51, 21, 51, 21, 2, 84, -136,136,176,253,178,177, 1,234,177,136, 0, 0, 0, 1, 1,115, 5,134, 3, 94, 7,112, 0, 5, 0, 0, 1, 33, 53, 33, 17, 35, - 2,214,254,158, 1,234,136, 6,232,136,254, 22, 0, 1, 1,163, 2,252, 3, 46, 4,113, 0, 19, 0, 0, 1, 53, 30, 1, 51, 50, - 54, 53, 52, 38, 39, 51, 30, 1, 21, 20, 6, 35, 34, 38, 1,163, 61, 88, 31, 46, 46, 15, 15,133, 10, 10, 87, 93, 48,105, 3,104, -119, 45, 43, 55, 54, 32, 62, 31, 38, 68, 30,122,115, 53, 0, 0, 0, 1, 1,250,254, 10, 2,214,255,193, 0, 12, 0, 0, 1, 21, - 34, 38, 52, 54, 51, 21, 34, 6, 21, 20, 22, 2,214, 93,127,127, 93, 51, 71, 71,254,108, 98,128,184,127, 98, 71, 50, 51, 71, 0, - 0, 1, 1, 98,253,178, 3, 76,254,235, 0, 7, 0, 0, 1, 51, 21, 33, 53, 51, 53, 51, 2,155,177,254, 22,177,136,254, 58,136, -136,177, 0, 0, 0, 1, 1, 94,253,178, 3, 72,254,235, 0, 7, 0, 0, 1, 35, 53, 33, 21, 35, 21, 35, 2, 15,177, 1,234,177, -136,254, 99,136,136,177, 0, 0, 0, 1, 1, 95,253, 1, 3, 73,254,235, 0, 11, 0, 0, 1, 35, 53, 51, 53, 51, 21, 51, 21, 35, - 21, 35, 2, 16,177,177,136,177,177,136,253,178,136,177,177,136,177, 0, 0, 0, 0, 1, 1,115,254, 99, 3, 94,254,235, 0, 3, - 0, 0, 1, 53, 33, 21, 1,116, 1,234,254, 99,136,136, 0, 0, 0, 1, 1,246,254, 86, 4, 27, 0,128, 0, 13, 0, 0, 37, 21, - 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 4, 27, 89, 90,165,205,185, 90, 45, 44,128,148,195,105,106,156, 62, 62,126,148, - 0, 1, 0,182,254, 86, 2,219, 0,128, 0, 13, 0, 0, 55, 51, 21, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 53,182,185, 44, 45, - 90,185,205,165, 90, 89,128,148,126, 62, 62,156,106,105,195, 0, 0, 1, 2, 1,254, 99, 2,206,255, 47, 0, 3, 0, 19, 64, 8, - 2,222, 0, 4, 1, 97, 0, 4, 16,212,236, 49, 0, 16,212,236, 48, 5, 51, 21, 35, 2, 1,205,205,209,204, 0, 0, 2, 1, 63, -254,100, 3,146,255, 46, 0, 3, 0, 7, 0, 28, 64, 13, 6, 2,222, 4, 0, 8, 5, 97, 4, 1, 97, 0, 8, 16,212,252,212,236, - 49, 0, 16,212, 60,236, 50, 48, 5, 51, 21, 35, 37, 51, 21, 35, 1, 64,202,202, 1,136,202,202,210,202,202,202, 0, 2, 1,141, -254, 10, 3, 68,255,193, 0, 11, 0, 23, 0, 29,181, 12, 0, 18, 0, 6, 24, 16,212,204,204, 16,204, 49, 0,181, 15, 9, 21, 9, - 3, 24, 16,212,204,204, 16,204, 48, 1, 20, 6, 35, 34, 38, 53, 52, 54, 51, 50, 22, 7, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, - 54, 3, 68,127, 93, 92,127,127, 92, 93,127, 98, 71, 51, 51, 70, 70, 51, 51, 71,254,230, 92,128,128, 92, 92,127,127, 92, 50, 71, - 70, 51, 52, 70, 71, 0, 0, 0, 0, 1, 1,152,253,226, 2,229,255, 59, 0, 3, 0, 17, 64, 6, 0, 3, 4, 1, 3, 4, 16,212, -204, 49, 0, 16,212,204, 48, 5, 51, 3, 35, 1,246,239,187,146,197,254,167, 0, 0, 1, 1,139,254,117, 3, 41, 0, 0, 0, 19, - 0, 56,179, 9, 6, 10, 13,186, 1, 6, 0, 6, 1, 5, 64, 9, 0, 9, 16, 19, 0, 16,124, 3, 20, 16,212,236,212,204, 16,196, - 49, 0, 47,246,254,197, 18, 57, 48, 1, 64, 13, 73, 1, 89, 1,105, 1,121, 1,137, 1,153, 1, 6, 93, 33, 30, 1, 21, 20, 6, - 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 53, 52, 38, 39, 2,188, 56, 53,120,118, 45, 87, 44, 34, 75, 47, 58, 61, 44, 44, 62,105, - 48, 89, 91, 12, 12,131, 17, 15, 48, 46, 30, 87, 61, 0, 0, 0,255,255, 1,174,254,117, 3, 35, 0, 0, 16, 6, 2,109, 10, 0, - 0, 1, 2, 36,253,115, 2,173,255, 47, 0, 3, 0, 0, 5, 17, 35, 17, 2,172,136,209,254, 68, 1,188, 0, 0, 0, 1, 1, 85, -253,229, 3,124,255, 47, 0, 7, 0, 0, 5, 17, 35, 53, 33, 21, 35, 17, 3,124,137,254,235,137,209,254,182,194,194, 1, 74, 0, - 0, 1, 0,206,254, 57, 4, 3,255, 88, 0, 20, 0, 0, 1, 6, 35, 34, 3, 52, 53, 51, 22, 51, 50, 55, 51, 22, 23, 50, 55, 51, - 2, 7, 34, 2,104, 59,116,218, 17,118, 13,103,102, 16,118, 11,105,102, 15,118, 15,220,116,254,139, 82, 1, 26, 2, 3,150,150, -149, 1,150,254,226, 1, 0, 0, 0, 1, 1, 41,254, 27, 3,168,255,147, 0, 6, 0, 25, 64, 11, 3, 0,186, 4, 1, 7, 3, 5, - 11, 1, 7, 16,212,236, 57, 49, 0, 16,212, 60,236, 57, 48, 1, 3, 51, 23, 55, 51, 3, 2, 31,246,139,180,181,139,246,254, 27, - 1,120,245,245,254,136, 0, 0, 0, 1, 1, 41,254, 27, 3,168,255,147, 0, 6, 0, 25, 64, 11, 4, 5, 2,186, 0, 7, 4, 2, - 11, 6, 7, 16,212,236, 57, 49, 0, 16,212,236, 50, 57, 48, 5, 51, 19, 35, 39, 7, 35, 2, 31,147,246,139,181,180,139,109,254, -136,245,245, 0, 0, 1, 1, 47,254, 25, 3,162,255, 56, 0, 13, 0, 32,185, 0, 11, 1, 3, 64, 12, 4, 7, 0,185, 14, 7, 80, - 8, 1, 80, 0, 14, 16,212,236,220,236, 49, 0, 16,244, 60,212,236, 48, 5, 51, 30, 1, 51, 50, 54, 55, 51, 14, 1, 35, 34, 38, - 1, 47,119, 11, 96, 87, 85, 96, 14,119, 11,158,145,144,158,200, 76, 74, 74, 76,143,144,144, 0, 0, 1, 1, 47,254, 27, 3,162, -255, 58, 0, 13, 0, 0, 1, 35, 46, 1, 35, 34, 6, 7, 35, 62, 1, 51, 50, 22, 3,162,119, 11, 96, 87, 85, 96, 14,119, 11,158, -145,144,158,254, 27, 76, 74, 74, 76,143,144,144, 0, 1, 1, 31,254, 27, 3,178,255, 53, 0, 27, 0,134, 64, 33, 0, 18, 7, 14, - 11, 4, 1, 18, 7, 15, 11, 4, 18,204, 25, 7, 4,204, 21, 11, 28, 15, 1, 14, 0, 7, 21, 80, 22, 7, 80, 8, 28, 16,212,236, -212,236, 17, 57, 57, 57, 57, 49, 0, 16,212, 60,252,212, 60,236, 17, 18, 57, 17, 18, 57, 17, 18, 57, 17, 18, 57, 48, 64, 63, 9, - 0, 12, 10, 12, 11, 12, 12, 11, 15, 11, 16, 15, 17, 15, 18, 15, 19, 15, 20, 15, 21, 15, 22, 15, 23, 9, 27, 25, 0, 25, 1, 27, - 10, 27, 11, 27, 12, 27, 13, 27, 14, 27, 15, 27, 16, 27, 17, 27, 18, 27, 19, 31, 20, 31, 21, 31, 22, 26, 23, 25, 27, 31, 1, 93, - 1, 39, 46, 1, 35, 34, 6, 7, 35, 62, 1, 51, 50, 22, 31, 1, 30, 1, 51, 50, 54, 55, 51, 14, 1, 35, 34, 38, 2,100, 57, 21, - 33, 14, 38, 36, 2,124, 1,102, 91, 39, 64, 37, 57, 21, 33, 13, 39, 36, 1,125, 1,102, 91, 39, 64,254, 88, 55, 20, 19, 74, 81, -134,148, 28, 33, 55, 20, 19, 74, 81,134,148, 28, 0, 1, 1, 61,254,155, 3,148,255, 47, 0, 3, 0, 17,182, 2,182, 0, 4, 1, - 0, 4, 16,212,204, 49, 0, 16,220,236, 48, 5, 33, 21, 33, 1, 62, 2, 86,253,170,209,148, 0,255,255, 0, 0,254, 29, 4,209, -254,109, 16, 6, 0, 66, 0, 0,255,255, 0, 0,254, 29, 4,209,255, 93, 16, 6, 6,140, 0, 0,255,255, 0, 88, 1,236, 4,121, - 3, 12, 16, 6, 0, 97, 0, 0, 0, 1, 0,141, 1,196, 4, 38, 2,104, 0, 3, 0, 0, 1, 21, 33, 53, 4, 38,252,104, 2,104, -164,164, 0, 0, 0, 1, 0, 0, 1,196, 4,209, 2,104, 0, 3, 0, 0, 17, 53, 33, 21, 4,209, 1,196,164,164, 0, 1, 0, 47, -255,160, 4,150, 4,188, 0, 3, 0, 0, 23, 39, 1, 23,139, 92, 4, 10, 93, 96, 76, 4,208, 77, 0, 1, 0, 8,255,186, 4,176, - 6, 23, 0, 3, 0, 0, 23, 39, 1, 23,111,103, 4, 68,100, 70, 70, 6, 23, 74, 0, 1, 1,250,254, 10, 2,214,255,193, 0, 12, - 0, 0, 1, 50, 54, 53, 52, 38, 35, 53, 50, 22, 20, 6, 35, 1,250, 51, 71, 71, 51, 93,127,127, 93,254,108, 71, 51, 50, 71, 98, -127,184,128, 0, 0, 1, 1, 85,254,128, 3,124,255,202, 0, 7, 0, 0, 1, 17, 51, 21, 33, 53, 51, 17, 1, 85,137, 1, 21,137, -254,128, 1, 74,194,194,254,182, 0, 2, 1, 85,253, 9, 3,124,255, 47, 0, 3, 0, 7, 0, 0, 5, 17, 33, 17, 1, 17, 33, 17, - 3,124,253,217, 1,158,254,235,209,253,218, 2, 38,254, 98, 1, 22,254,234, 0, 0, 1, 0,206,254, 57, 4, 3,255, 88, 0, 20, - 0, 0, 5, 54, 51, 50, 19, 20, 21, 35, 38, 35, 34, 7, 35, 38, 39, 34, 7, 35, 18, 55, 50, 2,104, 60,116,218, 17,117, 14,104, -101, 15,118, 12,105,102, 15,118, 15,220,116,250, 82,254,230, 2, 3,150,150,149, 1,150, 1, 30, 1, 0, 0, 0, 0, 1, 1,139, - 4,203, 3, 70, 6,135, 0, 11, 0, 0, 1, 7, 39, 55, 39, 55, 23, 55, 23, 7, 23, 7, 2,104,125, 96,125,125, 96,125,126, 96, -125,125, 96, 5, 73,125, 96,125,125, 97,126,126, 97,125,125, 96, 0, 1, 1,219, 4,194, 2,246, 6,210, 0, 29, 0, 0, 1, 46, - 1, 53, 52, 54, 55, 21, 14, 1, 21, 20, 23, 22, 31, 1, 30, 1, 21, 20, 6, 7, 53, 62, 1, 53, 52, 39, 38, 39, 2, 24, 32, 28, -146,136, 82, 74, 10, 11, 19, 54, 34, 28,148,134, 82, 72, 9, 11, 18, 5,199, 28, 48, 28, 80, 81, 2,110, 2, 27, 28, 10, 12, 15, - 14, 43, 28, 48, 28, 80, 81, 2,110, 2, 27, 28, 10, 12, 15, 14,255,255, 0, 0, 4,203, 4,209, 6, 11, 16, 38, 6,161, 0, 0, - 16, 7, 6,161, 0, 0,255, 16,255,255, 1,239, 4,194, 2,226, 6,193, 16, 6, 2,143, 0, 0,255,255, 4, 2, 5, 68, 4,207, - 6, 16, 16, 7, 2,107, 2, 1, 0, 0, 0, 0, 0, 1,255, 19, 5,240, 5,190, 7, 55, 0, 15, 0, 0, 0, 34, 5, 4, 7, 35, - 52, 37, 54, 50, 23, 4, 21, 35, 38, 37, 2,160,110,254,226,254,244,126,118, 1,252,228,233,229, 1,252,118,127,254,243, 6,174, - 25, 23,142,240, 60, 27, 27, 60,240,142, 23, 0, 0, 1, 1,236, 4,116, 2,235, 6,102, 0, 3, 0, 0, 1, 19, 51, 3, 1,236, - 65,190,110, 4,116, 1,242,254, 14, 0, 0, 0, 0, 1, 1,230,254, 86, 2,229, 0, 72, 0, 3, 0, 0, 37, 3, 35, 19, 2,229, - 65,190,110, 72,254, 14, 1,242, 0, 1, 2, 30,254, 86, 2,250,255,164, 0, 9, 0, 0, 1, 35, 34, 61, 1, 51, 21, 20, 59, 1, - 2,250,132, 88,149, 51, 20,254, 86,183,151,164,104, 0, 0, 0,255,255, 1,147,254,225, 2,242, 4, 39, 16, 6, 0, 30, 0, 0, -255,255, 1,219, 4,238, 3,186, 6,102, 16, 6, 0,118, 0, 0,255,255, 1, 63, 5, 70, 3,186, 7,216, 16, 38, 0,106, 0, 0, - 16, 7, 2,195, 0, 0, 1,114,255,255, 0, 25, 0, 0, 4,172, 6,102, 16, 38, 2,206, 0, 0, 16, 7, 2,195,254, 62, 0, 0, -255,255, 1,233, 2, 47, 2,229, 3, 96, 16, 6, 0,121, 0, 0,255,255,255, 31, 0, 0, 4, 78, 6,102, 16, 38, 2,210, 0, 0, - 16, 7, 2,195,253, 68, 0, 0,255,255,254,237, 0, 0, 4, 72, 6,102, 16, 38, 2,212, 0, 0, 16, 7, 2,195,253, 18, 0, 0, -255,255,255, 31, 0, 0, 4, 6, 6,102, 16, 38, 2,214, 0, 0, 16, 7, 2,195,253, 68, 0, 0,255,255,255,181,255,227, 4, 92, - 6,102, 16, 38, 2,220, 0, 0, 16, 7, 2,195,253,218, 0, 0,255,255,254,112, 0, 0, 4,172, 6,102, 16, 38, 2,225, 0, 0, - 16, 7, 2,195,252,149, 0, 0,255,255,255,206, 0, 0, 4,135, 6,102, 16, 38, 2,229, 0, 0, 16, 7, 2,195,253,243, 0, 0, -255,255, 1, 54, 0, 0, 3,207, 7,216, 16, 38, 2,245, 0, 0, 16, 6, 2,196, 0, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, - 5,213, 16, 6, 0, 36, 0, 0,255,255, 0,166, 0, 0, 4,113, 5,213, 16, 6, 0, 37, 0, 0,255,255, 0,215, 0, 0, 4,115, - 5,213, 16, 6, 3, 64, 0, 0, 0, 2, 0, 37, 0, 0, 4,172, 5,213, 0, 2, 0, 6, 0, 49,180, 3, 47, 4, 48, 7, 16,244, -228, 49, 0,180, 5,180, 2,151, 4, 47,236,228, 48, 5, 64, 16, 1, 37, 5, 4, 0, 37, 3, 6, 3, 2, 37, 1, 37, 4, 5, 4, - 7, 16,236,236, 7, 16,236, 8,236, 37, 9, 1, 5, 33, 1, 51, 3,170,254,190,254,190, 3,134,251,121, 1,201,245,170, 4,121, -251,135,170, 5,213, 0, 0, 0,255,255, 0,197, 0, 0, 4, 78, 5,213, 16, 6, 0, 40, 0, 0,255,255, 0,156, 0, 0, 4,145, - 5,213, 16, 6, 0, 61, 0, 0,255,255, 0,137, 0, 0, 4, 72, 5,213, 16, 6, 0, 43, 0, 0, 0, 3, 0,117,255,227, 4, 92, - 5,240, 0, 3, 0, 15, 0, 27, 0, 54, 64, 11, 3, 4, 50, 16, 54, 2, 10, 50, 22, 53, 28, 16,252,236,196,252,236,196,178,128, - 3, 1, 93, 49, 0, 64, 15, 7,151, 25,150, 28, 1,151, 2,177, 28, 13,151, 19,153, 28, 16,244,236, 16,244,236, 16,244,236, 48, - 1, 33, 53, 33, 23, 16, 2, 35, 34, 2, 17, 16, 18, 51, 50, 18, 19, 16, 2, 35, 34, 2, 17, 16, 18, 51, 50, 18, 3, 48,254,113, - 1,143, 89,135,154,153,135,135,153,154,135,211,247,253,253,246,247,252,253,247, 2,199,170,136, 1, 73, 1, 26,254,230,254,183, -254,184,254,230, 1, 25, 1, 73,254,122,254,128, 1,126, 1,136, 1,135, 1,128,254,128, 0, 0,255,255, 0,201, 0, 0, 4, 6, - 5,213, 16, 6, 0, 44, 0, 0,255,255, 0,137, 0, 0, 4,201, 5,213, 16, 6, 0, 46, 0, 0, 0, 1, 0, 37, 0, 0, 4,172, - 5,213, 0, 6, 0, 48,180, 4, 47, 1, 48, 7, 16,244,228, 49, 0,179, 2,180, 5, 1, 47, 60,228, 48, 5, 64, 16, 6, 37, 2, - 1, 5, 37, 3, 4, 3, 6, 37, 0, 37, 1, 2, 1, 7, 16,236,236, 7, 16,236, 8,236, 51, 35, 1, 51, 1, 35, 1,246,209, 1, -201,245, 1,201,209,254,141, 5,213,250, 43, 5, 35, 0, 0, 0,255,255, 0, 86, 0, 0, 4,121, 5,213, 16, 6, 0, 48, 0, 0, -255,255, 0,139, 0, 0, 4, 70, 5,213, 16, 6, 0, 49, 0, 0, 0, 3, 0,137, 0, 0, 4, 72, 5,213, 0, 3, 0, 7, 0, 11, - 0, 40,183, 7, 8, 0, 49, 6, 11, 3, 12, 16,212, 60,196,244, 60,196, 49, 0, 64, 12, 2,151, 3,136, 10, 5,151, 6,177, 11, -151, 10, 47,236,244,236, 16,244,236, 48, 1, 21, 33, 53, 1, 33, 53, 33, 19, 21, 33, 53, 4, 72,252, 65, 2,244,253,215, 2, 41, -203,252, 65, 5,213,170,170,252,242,170,253, 57,170,170, 0, 0,255,255, 0,117,255,227, 4, 92, 5,240, 16, 6, 0, 50, 0, 0, -255,255, 0,137, 0, 0, 4, 72, 5,213, 16, 6, 3, 76, 0, 0,255,255, 0,197, 0, 0, 4,117, 5,213, 16, 6, 0, 51, 0, 0, - 0, 1, 0,120, 0, 0, 4,109, 5,213, 0, 11, 0, 60,181, 2, 9, 49, 5, 8, 12, 16,212, 60,228, 50, 49, 0, 64, 9, 11, 7, -151, 8,136, 1, 5,151, 4, 47,236, 50,244,236, 50, 48, 5, 64, 16, 0, 37, 6, 5, 11, 37, 6, 7, 6, 0, 37, 1, 37, 5, 6, - 5, 7, 16,236,236, 7, 16,236, 8,236, 9, 1, 33, 21, 33, 53, 9, 1, 53, 33, 21, 33, 3, 18,254, 57, 3, 34,252, 11, 1,198, -254, 58, 3,245,252,222, 2,235,253,191,170,170, 2, 65, 2, 64,170,170, 0, 0,255,255, 0, 47, 0, 0, 4,162, 5,213, 16, 6, - 0, 55, 0, 0,255,255, 0, 37, 0, 0, 4,172, 5,213, 16, 6, 0, 60, 0, 0, 0, 3, 0,117, 0, 0, 4, 90, 5,213, 0, 29, - 0, 38, 0, 47, 0, 77, 64, 19, 34, 50, 5, 11, 28, 9, 38, 0, 30, 14, 27, 25, 44, 50, 20, 16, 40, 25, 48, 16,212, 60, 60,220, -236, 16,196, 50,252, 60, 60,196, 50,220,236, 49, 0, 64, 20, 38, 40,151, 1, 24, 0, 26,151, 27,136, 13, 30, 39,151, 9, 16, 10, - 14,151, 13, 47,252, 60,220, 60,236, 50, 16,244,252, 60,220, 60,236, 50, 48, 1, 21, 22, 23, 22, 21, 20, 7, 6, 7, 21, 51, 21, - 33, 53, 51, 53, 38, 39, 38, 53, 52, 55, 54, 55, 53, 35, 53, 33, 21, 3, 54, 55, 54, 53, 52, 39, 38, 39, 3, 17, 6, 7, 6, 21, - 20, 23, 22, 2,205,176, 97,124,123, 97,177,147,254, 15,147,177, 97,123,123, 98,176,147, 1,241,147, 76, 43, 67, 67, 43, 76,203, - 76, 42, 68, 68, 42, 5, 43,118, 19, 91,115,235,235,115, 90, 19,116,170,170,116, 19, 90,115,235,235,115, 91, 19,118,170,170,252, -163, 16, 42, 68,157,158, 68, 42, 16,253,201, 2, 55, 16, 42, 68,158,157, 68, 42,255,255, 0, 18, 0, 0, 4,190, 5,213, 16, 6, - 0, 59, 0, 0, 0, 1, 0,117, 0, 0, 4, 90, 5,213, 0, 31, 0, 57, 64, 15, 6, 30, 7, 14, 12, 0, 30, 17, 31, 25, 30, 24, - 19, 31, 32, 16,212, 60,212,236, 16,196,252, 60,196,212,236, 49, 0, 64, 13, 1, 30,151, 12, 19, 13, 17,151, 6, 31, 24,136, 16, - 47,228, 50, 50,252, 60,220, 60,236, 50, 48, 1, 17, 54, 55, 54, 25, 1, 51, 17, 16, 7, 6, 7, 21, 51, 21, 33, 53, 51, 53, 38, - 39, 38, 25, 1, 51, 17, 16, 23, 22, 23, 17, 2,205, 73, 46, 75,203,123, 98,176,147,254, 15,147,176, 98,123,203, 76, 45, 73, 5, -213,252, 91, 34, 87,145, 1, 68, 1, 87,254,169,254,120,191,151, 32,214,170,170,214, 32,151,191, 1,136, 1, 87,254,169,254,188, -145, 87, 34, 3,165, 0, 0, 0, 0, 1, 0, 74, 0, 0, 4,135, 5,180, 0, 31, 0, 64, 64, 23, 2, 30, 27, 14, 17,113, 21, 30, -113, 27, 15,114, 21,111, 11,112, 0,114, 27,111, 5,108, 32, 16,244,236,228,244,236,228, 16,228, 16,228, 57, 17, 18, 57, 49, 0, - 64, 12, 24,248, 8,247, 30, 18, 14, 3, 1,249, 16, 0, 47, 60,238, 23, 50,246,238, 48, 51, 53, 51, 38, 2, 53, 16, 0, 51, 50, - 0, 17, 20, 2, 7, 51, 21, 33, 53, 54, 18, 53, 52, 2, 35, 34, 2, 21, 20, 18, 23, 21, 74,245,123,110, 1, 32,240,242, 1, 33, -111,123,248,254, 49,120,134,180,154,154,179,134,120,172,134, 1, 32,188, 1, 55, 1,111,254,146,254,200,188,254,223,133,172,172, - 76, 1, 73,222,230, 1, 9,254,247,230,222,254,183, 76,172, 0,255,255, 0,201, 0, 0, 4, 6, 7, 78, 16, 39, 11,176, 0, 0, - 1,117, 16, 6, 2,214, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7, 78, 16, 39, 11,176, 0, 0, 1,117, 16, 6, 2,225, 0, 0, -255,255, 0, 70,255,230, 4,149, 6,102, 16, 38, 2,237, 0, 0, 16, 6, 2,195, 0, 0, 0, 0,255,255, 0,169,255,234, 4, 40, - 6,102, 16, 38, 2,241, 0, 0, 16, 6, 2,195, 0, 0, 0, 0,255,255, 0,195,254, 86, 4, 27, 6,102, 16, 38, 2,243, 0, 0, - 16, 6, 2,195, 0, 0, 0, 0,255,255, 1, 54, 0, 0, 3,207, 6,102, 16, 38, 2,245, 0, 0, 16, 6, 2,195, 0, 0, 0, 0, -255,255, 0, 51,255,255, 4,105, 7,216, 16, 38, 3, 1, 0, 0, 16, 6, 2,196, 0, 0, 0, 0, 0, 2, 0, 70,255,230, 4,149, - 4,122, 0, 13, 0, 42, 0, 0, 1, 39, 38, 39, 38, 7, 6, 21, 20, 23, 22, 51, 50, 55, 18, 27, 1, 51, 3, 23, 22, 23, 22, 59, - 1, 21, 35, 34, 39, 38, 39, 6, 7, 6, 39, 38, 39, 38, 17, 16, 55, 54, 55, 2,254, 44, 45,177, 98, 61, 77, 74, 77, 85,133, 72, -105, 59, 99,164,205, 40, 9, 35, 41, 32, 88,110, 94, 84, 41, 17, 46, 92, 45,143,198,114,118,126,143,161, 2, 9,231,236, 1, 1, -111,137,183,220,105,107,213, 3, 42,254,189, 1, 37,253,161,219, 49, 41, 48,156, 84, 42, 88,109, 89, 42, 1, 2,150,156, 1, 20, - 1, 41,135,151, 3, 0, 0, 0, 0, 2, 0,151,254, 86, 4, 97, 6, 35, 0, 14, 0, 28, 0, 0, 37, 17, 35, 17, 16, 5, 4, 17, - 2, 7, 4, 19, 18, 5, 6, 3, 22, 23, 4, 17, 16, 5, 53, 4, 17, 52, 39, 36, 17, 1, 81,185, 1,205, 1,143, 1,171, 1, 22, - 2, 4,254, 26,130,171, 81,227, 1, 32,254, 48, 1,107,234,254,251, 69,254, 17, 6, 3, 1,231, 31, 27,254,154,254,236, 98, 54, -254,209,254, 61, 23, 6, 1,113,141, 21, 25, 1, 39, 1, 26, 22,170, 6, 1, 48,189, 13, 15,254,224, 0, 0, 0, 0, 1, 0, 32, -254, 86, 4,109, 4, 96, 0, 14, 0, 0, 19, 38, 43, 1, 53, 51, 50, 23, 9, 1, 51, 1, 17, 35, 17,220, 45, 94, 49, 70,194, 65, - 0,255, 1, 70,191,254, 91,190, 3, 68,126,158,176,253, 83, 3, 93,251,160,254, 86, 1,170, 0, 0, 2, 0,137,255,227, 4, 72, - 6, 34, 0, 11, 0, 52, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 37, 38, 39, 38, 53, 52, 54, 51, 50, 31, 1, 21, - 38, 39, 38, 15, 1, 6, 15, 1, 6, 21, 20, 23, 22, 23, 22, 23, 22, 23, 22, 17, 16, 2, 35, 34, 2, 17, 16, 55, 54, 2,104,140, -144,144,140,141,144,144,254, 89, 19, 40, 62,237,197,102, 50,151, 66, 70, 85, 82, 32, 73, 60, 39, 27, 13, 17, 41, 24,105,235,121, -124,246,234,233,246,123, 31, 3,223,218,214,213,219,219,213,214,218, 76, 9, 40, 61, 92,136,164, 12, 36,173, 24, 15, 17, 2, 1, - 2, 43, 28, 24, 46, 33, 19, 24, 21, 13, 1, 3,148,151,254,226,254,225,254,211, 1, 45, 1, 31, 1, 30,151, 38,255,255, 0,169, -255,234, 4, 40, 4,123, 16, 6, 1,249, 0, 0, 0, 1, 0,152,254, 82, 4, 38, 6, 20, 0, 29, 0, 0, 37, 22, 23, 22, 21, 20, - 7, 6, 35, 52, 53, 22, 55, 54, 53, 52, 39, 38, 35, 32, 3, 2, 1, 33, 53, 33, 21, 0, 19, 18, 2,248,132, 79, 84, 74, 80,163, - 69, 42, 32, 32, 31, 58,253,181, 20, 17, 2, 76,253,236, 3,102,252,254, 46, 44,127, 1, 75, 79,120,115, 80, 87, 75, 76, 5, 44, - 35, 37, 53, 44, 42, 2, 51, 1,224, 1,101,185,185,254, 97,254, 90,254,105, 0, 0, 1, 0,195,254, 86, 4, 27, 4,123, 0, 19, - 0, 46, 64, 10, 2, 6, 0, 74, 13, 9, 6, 11, 70, 20, 16,244,236, 50,252,236, 49, 64, 15, 9, 14, 3, 0, 4, 10, 6,140, 17, -190, 12,194, 1,195, 10, 0, 47,228,228,244,236, 17, 23, 57, 48, 1, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, - 1, 51, 50, 22, 4, 27,185,106,113,129,139,184,184, 49,168,115,171,169, 2,182,251,160, 4, 96,151,142,183,171,253,135, 4, 96, -168, 96, 99,225, 0, 3, 0,137,255,227, 4, 72, 5,220, 0, 8, 0, 17, 0, 29, 0, 57, 64, 11, 9, 0, 18, 21, 68, 10, 8, 18, - 27, 62, 30, 16,244,236, 50,252,236, 50, 49, 64, 14, 9,182, 0, 14,140, 24, 0, 4,140, 18,155, 24,153, 30, 0, 16,228,244,236, -196, 16,236,182,239, 0,191, 0, 64, 0, 3, 93, 16,236, 48, 1, 38, 39, 38, 35, 34, 7, 6, 7, 5, 33, 22, 23, 22, 51, 50, 55, - 54, 1, 50, 18, 17, 16, 2, 35, 34, 2, 17, 16, 18, 3,131, 7, 63, 72,141,140, 72, 63, 7, 2, 53,253,203, 6, 64, 72,140,141, - 72, 64,254,235,233,247,246,234,233,246,246, 3, 60,226,135,153,153,135,226,184,224,137,154,154,137, 4, 56,254,119,254,141,254, -138,254,121, 1,135, 1,118, 1,115, 1,137, 0, 0, 1, 1, 54, 0, 0, 3,207, 4, 96, 0, 15, 0, 29, 64, 6, 6, 0, 6, 15, - 13, 16, 16,212,204,252,204, 49, 64, 7, 13,182, 0,194, 6,182, 7, 0, 47,236,244,236, 48, 1, 17, 20, 23, 22, 59, 1, 21, 35, - 34, 39, 38, 39, 17, 35, 53, 2,196, 34, 36,108, 89,111,180, 82, 81, 1,210, 4, 96,253, 43,145, 46, 48,156, 96, 98,212, 2, 59, -143, 0, 0, 0,255,255, 0,236, 0, 0, 4,178, 4, 96, 18, 6, 0,250, 0, 0, 0, 1, 0, 68, 0, 0, 4,134, 6, 21, 0, 13, - 0, 0, 9, 1, 35, 9, 1, 35, 1, 39, 38, 7, 35, 53, 23, 4, 2,130, 2, 4,195,254,198,254,126,195, 1,235, 74, 47,154, 49, - 70, 1, 18, 5,101,250,155, 3, 60,252,196, 4, 50,198,127, 1,158, 2, 7, 0,255,255, 0,195,254, 84, 4,158, 4, 96, 16, 6, - 0,119, 0, 0, 0, 1, 0,116, 0, 0, 4, 66, 4, 96, 0, 21, 0, 0, 33, 1, 51, 1, 54, 55, 54, 55, 54, 39, 38, 39, 51, 49, - 22, 23, 22, 21, 20, 7, 6, 7, 1,202,254,170,198, 1, 33,120,100, 76, 4, 2, 24, 28,106,186, 69, 46, 42,136,177,123, 4, 96, -252, 84,124,172,129,112, 53,100,119,131, 89,124,114, 78,196,175,228,116, 0, 0, 0, 1, 0,161,254, 82, 4, 56, 6, 20, 0, 38, - 0, 0, 37, 22, 23, 22, 21, 20, 7, 6, 35, 52, 53, 22, 55, 54, 53, 52, 39, 38, 35, 32, 3, 52, 37, 36, 17, 52, 55, 35, 53, 33, - 21, 32, 17, 20, 5, 21, 4, 23, 18, 3, 17,132, 79, 84, 74, 80,163, 69, 42, 32, 32, 32, 57,253,146, 1, 1, 77,254,232,220,208, - 3, 21,253,139, 2, 16,253,199, 1, 2,127, 1, 75, 79,120,115, 80, 87, 75, 76, 5, 44, 35, 37, 53, 44, 42, 1,225,232,112, 36, - 1, 4,197, 82,185,185,254,221,191, 9,170, 38,220,254,191, 0,255,255, 0,137,255,227, 4, 72, 4,123, 16, 6, 0, 82, 0, 0, - 0, 1, 0, 80,255,217, 4,158, 4, 96, 0, 23, 0, 0, 19, 33, 21, 35, 17, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 53, - 17, 33, 17, 35, 17, 35, 80, 4, 49,141, 49, 55, 15, 44, 7, 35, 74, 37,113, 92,254, 84,180,143, 4, 96,184,253, 80, 72, 63, 5, - 1,133, 13, 12,131,176, 2,156,252, 88, 3,168, 0, 2, 0,190,254, 86, 4, 84, 4,124, 0, 16, 0, 28, 0, 46, 64, 10, 17, 18, - 4, 71, 23, 10, 6, 12, 70, 29, 16,244,236, 50,252,236, 49, 64, 14, 10, 20, 26,140, 7, 20,140, 0,190, 7,153, 11,195, 29, 0, - 16,228,228,244,236, 16,238, 17, 57, 48, 1, 54, 23, 22, 17, 16, 2, 35, 34, 38, 39, 17, 35, 17, 16, 55, 54, 1, 52, 38, 35, 34, - 6, 21, 20, 22, 51, 50, 54, 2,132,232,116,116,232,202,102,153, 44,185,110,131, 1,228,135,133,134,138,138,134,133,135, 4,123, - 1,158,157,254,234,254,239,254,201, 87, 83,253,201, 3,198, 1, 60,134,157,253,180,214,218,219,213,212,220,218, 0, 1, 0,195, -254, 82, 4, 37, 4,123, 0, 36, 0, 0, 37, 22, 23, 22, 21, 20, 7, 6, 35, 52, 53, 22, 55, 54, 53, 52, 39, 38, 35, 32, 0, 16, - 0, 33, 50, 22, 23, 21, 46, 1, 35, 34, 6, 21, 20, 23, 22, 2,236,132, 79, 84, 74, 80,163, 69, 42, 32, 32, 31, 58,254,252,254, -219, 1, 37, 1, 4, 81,154, 78, 73,147, 93,173,186, 93, 94,127, 1, 75, 79,120,115, 80, 87, 75, 76, 5, 44, 35, 37, 53, 44, 42, - 1, 56, 2, 40, 1, 56, 42, 44,193, 65, 58,224,208,209,110,111, 0, 2, 0,137,255,226, 4,107, 4, 96, 0, 13, 0, 29, 0, 50, - 64, 10, 29, 10, 18, 16, 68, 4, 18, 23, 62, 30, 16,244,236,244,236,196,179, 14, 27, 23, 16, 17, 18, 57, 57, 49, 64, 11, 7,140, - 20, 0, 14,182, 27,194, 20,153, 30, 0, 16,228,244,236, 50, 16,236, 48, 1, 34, 7, 6, 21, 20, 22, 51, 50, 54, 53, 52, 39, 38, - 55, 22, 17, 20, 7, 6, 39, 34, 2, 17, 16, 55, 54, 51, 33, 21, 2, 97,135, 70, 72,144,140,141,144,172, 60,221,206,151,114,215, -233,246,123,115,241, 2, 3, 3,167, 80, 83,213,213,219,219,146,249,129, 45, 21,162,254,230,228,167,127, 1, 1, 45, 1, 31, 1, - 9,153,143,184, 0, 1, 0,159, 0, 0, 4, 50, 4, 94, 0, 17, 0, 33, 64, 7, 13, 3, 15, 6, 12, 10, 18, 16,212,204,252,196, -204, 49, 0, 64, 8, 15, 11,140, 12,194, 3,182, 4, 47,236,244,236, 50, 48, 37, 22, 59, 1, 21, 35, 34, 39, 38, 53, 17, 33, 53, - 33, 21, 33, 17, 20, 2,230, 36,108, 89,111,180, 82, 82,254,152, 3,146,254,146,204, 48,156, 96, 98,212, 2, 18,182,182,253,227, -145, 0, 0, 0, 0, 1, 0, 51,255,255, 4,105, 4, 96, 0, 30, 0, 0, 37, 50, 55, 54, 55, 54, 39, 38, 39, 51, 49, 22, 23, 22, - 21, 20, 7, 6, 37, 34, 39, 38, 53, 3, 35, 53, 33, 17, 20, 23, 22, 2,116,150, 90, 59, 15, 8, 30, 28,106,186, 70, 45, 42,128, -133,254,250,180, 82, 82, 1,210, 1,143, 34, 35,156,179,118,187,102,128,119,131, 90,123,115,154,225,203,211, 1, 96, 98,212, 2, - 59,143,253, 43,145, 46, 48, 0, 0, 2, 0, 76,254, 86, 4,133, 4,104, 0, 10, 0, 41, 0, 79, 64, 13, 7, 18, 15, 19, 3, 6, - 30, 22, 39, 35, 18, 26, 42, 16,176, 10, 75, 81, 88,220, 27,212, 89,236,212,180, 48, 39,128, 39, 2, 93, 60,196,252, 60,212,180, - 48, 15,128, 15, 2, 93,236, 49, 64, 16, 3, 39,140, 22, 31, 0,140, 30, 11,190, 19, 22,153, 21,195, 42, 0, 16,236,228, 50,244, - 60,236, 50, 16,236, 50, 48, 1, 34, 21, 17, 50, 55, 54, 53, 52, 39, 38, 39, 50, 23, 22, 17, 16, 7, 6, 35, 17, 35, 17, 34, 39, - 38, 17, 16, 55, 54, 55, 21, 6, 7, 6, 21, 20, 23, 22, 51, 17, 16, 3, 5, 65, 92, 86, 77, 77, 71, 42,138,119,127,127,129,193, -183,199,124,126,126,104,154, 65, 49, 76, 76, 78,101, 3,203,145,253, 82,104, 93,223,221, 99, 91,157,132,141,254,217,254,230,150, -152,254,110, 1,145,153,155, 1, 20, 1, 44,132,109, 28,163, 26, 75,115,190,216,101,103, 2,175, 1, 46, 0, 0, 0, 1, 0, 89, -254, 86, 4,120, 4, 96, 0, 23, 0, 0, 5, 3, 1, 35, 1, 3, 38, 43, 1, 53, 51, 32, 23, 19, 1, 51, 1, 19, 22, 59, 1, 21, - 35, 32, 2,238,142,254,247,191, 1,116,183, 47,156, 49, 70, 1, 0, 67,143, 1, 10,191,254,139,182, 47,157, 49, 70,254,255,250, - 1,122,253,214, 3, 9, 1,229,126,158,176,254,132, 2, 44,252,244,254, 30,126,158, 0, 0, 0, 0, 1, 0,131,254, 86, 4, 78, - 4, 96, 0, 27, 0, 0, 37, 54, 55, 54, 53, 17, 51, 17, 20, 7, 6, 7, 17, 35, 17, 38, 39, 38, 53, 17, 51, 17, 20, 23, 22, 23, - 17, 51, 2,196, 63, 62, 84,185,130,121,143,183,143,121,130,185, 84, 62, 63,183,140, 22, 64, 87,166, 2,129,253,120,216,145,135, - 1,254,111, 1,145, 1,135,145,216, 2,136,253,127,166, 87, 64, 22, 3,212, 0, 0, 1, 0, 70,255,227, 4,140, 4, 96, 0, 38, - 0, 0, 1, 18, 16, 7, 6, 35, 34, 38, 39, 14, 1, 35, 34, 39, 38, 16, 19, 51, 2, 17, 6, 23, 22, 55, 54, 55, 54, 17, 51, 16, - 23, 22, 23, 22, 55, 54, 39, 16, 3, 4, 9,131, 50, 75,186, 85,130, 21, 20,128, 88,186, 75, 50,131,190,126, 1, 18, 41, 64, 86, - 34, 25,170, 25, 34, 86, 64, 41, 18, 1,126, 4, 96,254,248,253,191,123,185,103, 76, 72,107,185,123, 2, 65, 1, 8,254,237,254, -225,226, 62,145, 2, 2,111, 82, 1,121,254,135, 82,111, 2, 2,145, 62,226, 1, 31, 1, 19, 0,255,255, 1, 54, 0, 0, 3,207, - 6, 16, 16, 38, 2,245, 0, 0, 16, 6, 0,106, 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, 6, 16, 16, 38, 3, 1, 0, 0, - 16, 6, 0,106, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, 6,102, 16, 38, 2,251, 0, 0, 16, 6, 2,195, 0, 0, 0, 0, -255,255, 0, 51,255,255, 4,105, 6,102, 16, 38, 3, 1, 0, 0, 16, 6, 2,195, 0, 0, 0, 0,255,255, 0, 70,255,227, 4,140, - 6,102, 16, 38, 3, 5, 0, 0, 16, 6, 2,195, 0, 0, 0, 0, 0, 3, 0,149,255,232, 4, 67, 6, 36, 0, 9, 0, 25, 0, 35, - 0, 0, 1, 32, 55, 54, 39, 38, 7, 6, 7, 6, 5, 4, 3, 6, 37, 36, 39, 38, 3, 2, 55, 54, 51, 32, 19, 22, 5, 6, 39, 18, - 23, 22, 55, 54, 55, 54, 1, 93, 1, 12, 78,147, 26, 31,172,142, 73, 53, 1,237, 1,124,192,117,255, 0,254,237,116,102, 10, 9, -128,134,210, 1, 77, 50, 27,254,142, 67,240, 6, 54, 82,165,175, 54, 87, 3,112, 65,123,137,161, 6, 5,165,122,253,250,254,137, -225, 12, 15,198,178, 1,151, 1,127,202,212,254,130,205,255, 30, 10,254,253,105,161, 4, 4,152,245, 0, 0, 0, 0, 2, 0,114, -255,233, 4, 83, 6, 36, 0, 9, 0, 36, 0, 0, 1, 54, 39, 38, 39, 38, 7, 6, 23, 22, 23, 4, 39, 38, 55, 18, 33, 50, 23, 22, - 3, 2, 7, 6, 35, 34, 39, 38, 19, 23, 18, 23, 22, 51, 50, 55, 54, 3,139, 4, 53, 74,103,172, 31, 26,147, 78,233,254,221,110, -240, 29, 45, 1, 82,171,135,128, 9, 9,128,137,228,193,159,149, 13,195, 7, 78,114, 94,121,100, 80, 3,112,191,119,166, 4, 6, -161,137,123, 65,170, 10, 75,164,251, 1,126,212,200,254,127,254,125,198,213,213,200, 1,235, 1,254, 83,106,156,157,126, 0, 0, - 0, 1, 0, 34, 0, 0, 4,185, 5,225, 0, 27, 0, 0, 1, 6, 3, 6, 21, 17, 35, 17, 52, 39, 2, 39, 38, 7, 53, 54, 23, 4, - 19, 18, 55, 54, 23, 22, 7, 6, 39, 38, 3,173,113, 79, 42,203, 42,100, 92,116,120, 76,151, 1, 15, 74,115,229,111, 64,122, 56, - 32,118, 86, 5, 17, 79,254,250,141,165,253,118, 2,138,180,126, 1, 42, 43, 52, 26,170, 24, 27, 48,254,114, 1,137, 53, 26, 49, - 95,148, 84, 24, 18, 0, 0, 0,255,255,254,112, 0, 0, 4,185, 6,102, 16, 38, 3, 13, 0, 0, 16, 7, 2,195,252,149, 0, 0, -255,255, 0, 34, 0, 0, 4,185, 7, 78, 16, 38, 3, 13, 0, 0, 16, 7, 11,176, 0, 0, 1,117, 0, 3, 0,109,254, 86, 4,100, - 5,213, 0, 21, 0, 30, 0, 39, 0, 0, 1, 35, 17, 38, 39, 38, 17, 16, 55, 54, 55, 17, 51, 17, 22, 23, 22, 17, 16, 7, 6, 7, - 53, 54, 55, 54, 53, 52, 39, 38, 39, 3, 17, 6, 7, 6, 21, 20, 23, 22, 2,196,184,179,104,132,132, 93,190,184,178,105,133,133, - 94,189, 86, 53, 82, 82, 42, 97,184, 87, 52, 81, 81, 40,254, 86, 1,147, 24,121,150, 1, 31, 1, 14,167,118, 26, 1, 97,254,159, - 24,120,151,254,226,254,242,167,120, 25,165, 23, 71,110,213,188,135, 70, 25,252,189, 3, 67, 22, 73,109,214,185,138, 68, 0, 0, - 0, 2, 0, 57,255,255, 4,152, 4, 96, 0, 13, 0, 30, 0, 0, 1, 33, 6, 7, 2, 51, 50, 3, 51, 2, 55, 54, 3, 38, 55, 22, - 23, 18, 37, 38, 3, 2, 35, 32, 19, 54, 55, 35, 53, 33, 21, 3,146,253,176, 39, 3, 4, 84,177, 5,170, 3,175, 81, 1, 1,157, - 48, 6, 14,254,228,238, 39, 40,237,254,231, 11, 4, 48, 65, 4, 95, 3,168,144,253,254,171, 1,211,254, 43, 2, 1, 1, 84,253, -144,145,247,253,223, 1, 1, 1, 51,254,204, 2, 32,239,153,184,184, 0, 0, 0, 0, 1, 0, 51,254, 91, 4,146, 4,103, 0, 47, - 0, 0, 5, 38, 39, 38, 55, 7, 2, 7, 6, 39, 38, 55, 54, 55, 54, 39, 38, 35, 34, 7, 53, 54, 23, 22, 23, 22, 7, 55, 18, 55, - 54, 23, 22, 7, 6, 7, 6, 23, 22, 51, 50, 55, 2, 7, 6, 39, 53, 4, 3,189,246, 33, 21, 24,189, 96,200,141, 3, 1, 61, 96, -136, 91, 43, 26,142, 57, 91, 82,126,246, 33, 19, 42,189, 96,200,141, 3, 1, 61, 96,136, 91, 43, 26,142, 57, 91, 38,205,152,173, - 1, 55, 10, 32,240,156, 99,108,254,247,124, 89,145, 68, 84,132,124,203,169,104,108,224, 61, 17, 34,238,140,112,108, 1, 9,124, - 89,145, 68, 84,132,124,203,169,104,108,253,224,102, 77, 90,160,160, 0, 0, 0, 0, 2, 0,117,254, 86, 4, 92, 5,240, 0, 10, - 0, 27, 0, 0, 0, 16, 2, 35, 34, 2, 17, 16, 18, 51, 50, 1, 17, 38, 39, 38, 17, 16, 18, 51, 50, 18, 17, 16, 7, 6, 7, 17, - 3,137,135,154,153,135,135,153,154,255, 0,179, 95,123,247,252,253,247,124, 94,181, 1,160, 2,146, 1, 26,254,230,254,183,254, -184,254,230,253,207, 1,150, 34,148,191, 1,136, 1,135, 1,128,254,128,254,121,254,124,194,149, 34,254,106, 0, 0, 2, 0,137, -254, 86, 4, 72, 4,123, 0, 11, 0, 27, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 3, 17, 35, 17, 38, 39, 38, 17, - 16, 18, 32, 18, 17, 16, 7, 6, 2,104,140,144,144,140,141,144,144, 49,184,168, 96,123,246, 1,210,247,123, 95, 3,223,218,214, -213,219,219,213,214,218,252, 10,254,109, 1,147, 26,119,150, 1, 31, 1, 30, 1, 46,254,210,254,226,254,225,150,118, 0, 0, 0, - 0, 1, 0,139,254, 82, 4, 76, 5,213, 0, 35, 0, 0, 1, 34, 7, 6, 17, 16, 18, 51, 50, 23, 22, 21, 20, 7, 6, 35, 52, 53, - 22, 55, 54, 53, 52, 39, 38, 35, 34, 39, 38, 17, 16, 55, 54, 41, 1, 21, 2,231,218, 77, 98,176,129,122, 89, 84, 74, 80,163, 69, - 42, 32, 32, 32, 57,234,159,123,159,139, 1, 50, 1,101, 5, 43,119,152,254,205,254,206,254,208, 84, 79,120,115, 80, 87, 75, 76, - 5, 44, 35, 37, 53, 44, 42,203,158, 1,157, 1,110,205,177,170, 0, 1, 0,155,254, 82, 4, 41, 4, 96, 0, 35, 0, 0, 1, 33, - 34, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 35, 52, 53, 22, 55, 54, 53, 52, 39, 38, 35, 34, 0, 17, 16, 55, 54, - 41, 1, 4, 41,254,155,193, 73, 93, 93, 95, 98,133, 78, 84, 74, 80,163, 69, 42, 32, 32, 32, 57,187,254,219,147,138, 1, 12, 1, -101, 3,196, 85,108,212,209,110,111, 2, 2, 74, 79,120,115, 80, 87, 75, 76, 5, 44, 35, 37, 53, 44, 42, 1, 56, 1, 20, 1, 40, -136,129, 0, 0,255,255, 0,233, 0, 0, 4, 88, 5,213, 18, 6, 0, 41, 0, 0, 0, 1, 0, 0,254, 86, 4, 6, 6, 20, 0, 35, - 0, 0, 33, 17, 52, 55, 54, 51, 50, 22, 23, 21, 46, 1, 35, 34, 7, 6, 21, 17, 33, 21, 33, 17, 20, 7, 6, 35, 34, 38, 39, 53, - 30, 1, 51, 50, 55, 54, 1,174,136, 96,169, 49, 99, 51, 36, 82, 44,120, 58, 75, 1, 65,254,191,139, 98,173, 57,102, 46, 49,100, - 48, 87, 64, 82, 4,130,160,142,100, 18, 18,164, 28, 29, 62, 81,111,254,201,143,253, 63,146,165,115, 21, 22,164, 31, 33, 75, 95, - 0, 1, 0, 96,255,252, 4,129, 5,213, 0, 23, 0, 0, 1, 3, 1, 3, 6, 23, 22, 55, 21, 34, 39, 38, 55, 19, 1, 19, 54, 39, - 38, 7, 53, 50, 23, 22, 1,227,110, 3, 12,234, 39, 27, 66,131,230, 81, 95, 19,154,253, 6,172, 39, 27, 66,131,230, 81, 95, 4, -135,254, 91, 1,126,253, 44, 96, 42,108, 35,189, 70, 82,182, 1,218,254,145, 2,144, 96, 42,108, 35,189, 70, 82, 0, 1, 0,132, - 0, 0, 4, 77, 6, 19, 0, 7, 0, 0, 9, 1, 35, 19, 33, 1, 51, 3, 4, 77,254,231,184,226,253, 38, 1, 25,184,226, 3,112, -252,144, 2,198, 3, 77,253, 93, 0, 1, 0, 33,254, 86, 4,154, 5,241, 0, 33, 0, 0, 1, 17, 35, 17, 6, 7, 53, 54, 5, 4, - 19, 18, 17, 16, 3, 35, 18, 17, 16, 39, 48, 7, 6, 21, 17, 35, 48, 17, 16, 63, 1, 38, 39, 38, 1,129,170, 98, 84,155, 1, 5, - 1, 66,215,192,224,225,238, 60,102, 90,203,208,112,140,157, 75, 5, 75,253,140, 2, 73, 10, 77,198,102, 5, 7,254,213,254,241, -253,189,254, 55,254,179, 1, 76, 1,202, 1,243, 91, 79, 70,235,253,198, 2, 53, 1, 2,177, 96,182, 52, 25, 0, 0, 1, 0, 89, -254,144, 4,120, 4,120, 0, 22, 0, 0, 1, 3, 35, 1, 38, 39, 1, 35, 1, 38, 39, 38, 35, 53, 32, 23, 22, 19, 18, 17, 35, 16, - 39, 3, 80,239,185, 1,100, 14, 50,254, 70,185, 2, 31, 98, 46,188,211, 1, 45,242,224,172,116,168, 96, 1, 52,254,204, 1,192, - 35, 77,253,208, 2,176,127, 33,132,164,216,200,254, 80,254,223,254,137, 1, 94,246, 0, 0, 0, 0, 1, 0, 52,255,242, 4,145, - 4,103, 0, 51, 0, 0, 1, 2, 7, 6, 35, 34, 53, 52, 1, 54, 53, 52, 39, 38, 35, 34, 7, 53, 54, 51, 50, 23, 4, 17, 20, 7, - 55, 18, 55, 54, 51, 50, 21, 20, 1, 6, 21, 20, 23, 22, 51, 50, 55, 21, 6, 35, 34, 39, 36, 17, 52, 55, 1,236, 96,200, 55, 34, - 55, 1, 36, 62, 14, 26,142, 57, 91, 64, 91, 26, 27, 1, 29, 29,189, 96,200, 55, 34, 55,254,220, 62, 14, 26,142, 57, 91, 64, 91, - 26, 27,254,227, 29, 1,153,254,247,124, 34, 79,154, 1, 9,138,122, 58, 54,104,108,224, 48, 4, 37,254,193, 91, 77,108, 1, 9, -124, 34, 79,154,254,247,138,122, 58, 54,104,108,224, 48, 4, 37, 1, 63, 91, 77, 0, 2, 0,190,254, 86, 4, 84, 4,124, 0, 21, - 0, 32, 0, 0, 19, 16, 55, 54, 51, 54, 23, 22, 17, 16, 2, 35, 34, 38, 39, 18, 41, 1, 21, 33, 32, 17, 36, 16, 38, 35, 34, 6, - 21, 20, 22, 51, 50,190,110,129,215,232,116,116,232,202,102,153, 44, 5, 1, 28, 1,168,254,104,254, 22, 2,213,135,133,134,138, -138,134,133, 2, 28, 1, 60,134,157, 1,158,157,254,234,254,239,254,201, 87, 83,254,115,170, 2,218, 41, 1,172,218,219,213,212, -220, 0, 0, 0,255,255, 0,195,255,227, 4, 37, 4,123, 18, 6, 0, 70, 0, 0,255,255, 0,186,254, 86, 3, 16, 6, 20, 18, 6, - 0, 77, 0, 0, 0, 3, 0,117,255,227, 4, 92, 5,240, 0, 8, 0, 17, 0, 28, 0, 0, 1, 38, 39, 38, 35, 34, 7, 6, 7, 5, - 33, 18, 23, 22, 51, 50, 55, 54, 19, 16, 2, 32, 2, 17, 16, 18, 51, 50, 18, 3,134, 11, 53, 68,154,153, 67, 54, 11, 2, 62,253, -191, 2, 66, 67,153,154, 68, 64,214,247,254, 6,246,247,252,253,247, 3,113,223,111,141,141,112,222,170,254,213,136,141,141,134, - 1, 79,254,122,254,128, 1,126, 1,136, 1,135, 1,128,254,128, 0, 1, 0,162,255,227, 4, 9, 4,123, 0, 33, 0, 0, 1, 38, - 39, 38, 35, 34, 7, 6, 7, 33, 21, 33, 22, 23, 22, 51, 50, 63, 1, 21, 7, 6, 35, 32, 39, 38, 16, 55, 54, 33, 50, 23, 22, 23, - 4, 9, 37, 37, 99,106,183,102, 95, 18, 2,165,253, 91, 18, 95,102,183,128, 77, 74, 79,104,107,254,244,156,157,157,156, 1, 12, -101,110, 40, 39, 3,174, 13, 10, 26, 99, 92,169,144,169, 92, 99, 26, 25,167, 18, 22,156,156, 2, 40,156,156, 22, 8, 12, 0, 0, - 0, 1, 0,162,255,227, 4, 9, 4,123, 0, 34, 0, 0, 19, 48, 53, 54, 55, 54, 51, 32, 23, 22, 16, 7, 6, 33, 34, 47, 1, 53, - 23, 22, 51, 50, 55, 54, 55, 33, 53, 33, 38, 39, 38, 35, 34, 7, 6,162, 39, 40,110,101, 1, 12,156,157,157,156,254,244,107,104, - 79, 74, 77,128,183,102, 95, 18,253, 91, 2,165, 18, 95,102,183,106, 99, 37, 3,174,163, 12, 8, 22,156,156,253,216,156,156, 22, - 18,167, 25, 26, 99, 92,169,144,169, 92, 99, 26, 10, 0, 0, 0,255,255, 0,201, 0, 0, 4,141, 5,213, 18, 6, 0,160, 0, 0, -255,255, 0,190,254, 86, 4, 84, 6, 31, 18, 6, 0,192, 0, 0,255,255, 0,139,255,227, 4, 49, 5,240, 18, 6, 0, 38, 0, 0, - 0, 1, 0, 86, 0, 0, 4,121, 5,213, 0, 12, 0, 0, 19, 33, 9, 1, 33, 17, 35, 17, 1, 35, 1, 17, 35, 86, 1, 14, 1, 2, - 1, 4, 1, 15,187,254,246,153,254,245,186, 5,213,254,123, 1,133,250, 43, 5, 39,254, 96, 1,160,250,217, 0, 0, 1, 0,127, -254, 86, 4, 79, 4, 96, 0, 12, 0, 0, 19, 33, 27, 1, 33, 17, 35, 17, 3, 35, 3, 17, 35,127, 1, 27,204,206, 1, 27,185,226, -153,227,185, 4, 96,254,123, 1,133,251,160, 3,178,254, 96, 1,160,250,164, 0, 0, 2, 0, 85,254, 86, 4, 84, 4,124, 0, 24, - 0, 35, 0, 0, 1, 21, 35, 53, 35, 53, 51, 17, 16, 55, 54, 51, 54, 23, 22, 17, 16, 2, 35, 34, 38, 39, 17, 33, 21, 18, 16, 38, - 35, 34, 6, 21, 20, 22, 51, 50, 1,119,185,105,105,110,131,213,232,116,116,232,202,102,153, 44, 1,225, 59,135,133,134,138,138, -134,133,254,198,112,112,170, 2,172, 1, 62,132,157, 1,158,157,254,234,254,239,254,201, 87, 83,254,227,170, 2,147, 1,172,218, -219,213,212,220, 0, 1, 0,139,255,227, 4, 49, 5,240, 0, 25, 0, 0, 55, 53, 30, 1, 51, 50, 18, 17, 16, 2, 35, 34, 6, 7, - 53, 62, 1, 51, 32, 0, 17, 16, 0, 33, 34, 38,139, 73,169, 88,197,196,196,197, 86,170, 74, 77,162, 91, 1, 29, 1, 63,254,195, -254,225, 91,162, 53,207, 61, 64, 1, 48, 1, 50, 1, 51, 1, 48, 64, 61,207, 41, 41,254,103,254,146,254,144,254,106, 41, 0, 0, -255,255, 0,139,255,227, 4, 49, 5,240, 18, 38, 3, 38, 0, 0, 16, 7, 0,121, 0,139, 0, 0,255,255, 0,139,255,227, 4, 49, - 5,240, 16, 39, 0,121,255, 99, 0, 0, 16, 6, 3, 42, 0, 0,255,255, 0,197, 0, 0, 4, 78, 7,107, 16, 39, 11,179, 0, 0, - 1,117, 16, 6, 3, 66, 0, 0,255,255, 0,197, 0, 0, 4, 78, 7, 78, 16, 39, 11,176, 0, 56, 1,117, 16, 6, 3, 66, 0, 0, - 0, 1,255,190,254, 42, 4,111, 5,215, 0, 47, 0, 0, 1, 23, 22, 51, 50, 54, 53, 17, 52, 38, 35, 34, 7, 6, 7, 6, 21, 17, - 35, 17, 35, 53, 33, 21, 33, 17, 54, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 17, 16, 7, 6, 35, 34, 39, 52, 2, 61, - 78, 13, 12,143,113,106,113,106, 87, 46, 22, 69,203,246, 3,126,254, 67, 37, 48, 34, 14, 64,149, 26, 22,160, 88, 14, 11, 85,107, -105,247, 83, 17,254,225, 17, 2,149,203, 1,160,151,142, 42, 21, 28, 92,171,254,111, 5, 45,170,170,253,243, 42, 24, 17, 9, 37, - 10, 2, 84, 13, 16,112,228,254, 70,254,232,119,117, 2, 2, 0,255,255, 0,215, 0, 0, 4,115, 7,107, 16, 39, 11,177, 0, 72, - 1,117, 16, 6, 3, 64, 0, 0, 0, 1, 0,139,255,227, 4, 49, 5,240, 0, 24, 0, 76, 64, 33, 0,151, 22,177, 25, 5,179, 6, -178, 3,151, 8, 17,179, 16,178, 19,151, 14,150, 8,153, 25, 23, 0, 22, 50, 17, 6, 49, 11, 48, 25, 16,252,236, 50,252, 50,204, - 49, 0, 16,228,244,236,244,236, 16,238,246,238, 16,252,238,177, 22, 19, 73,177, 3, 0, 73, 80, 88,179, 22, 0, 64, 2, 23, 56, - 89, 48, 1, 22, 18, 51, 50, 55, 21, 6, 35, 32, 0, 17, 16, 0, 33, 50, 23, 21, 38, 35, 34, 2, 3, 33, 21, 1, 94, 4,192,189, -188,150,154,176,254,225,254,195, 1, 63, 1, 29,176,154,152,190,190,163, 23, 2,115, 2,149,228,254,214,125,207, 82, 1,150, 1, -111, 1,111, 1,153, 82,207,125,254,244,254,255,170, 0, 0, 0,255,255, 0,139,255,227, 4, 74, 5,240, 16, 6, 0, 54, 0, 0, -255,255, 0,201, 0, 0, 4, 6, 5,213, 16, 6, 0, 44, 0, 0,255,255, 0,201, 0, 0, 4, 6, 7, 78, 16, 38, 3, 51, 0, 0, - 17, 7, 11,176, 0, 0, 1,117, 0, 8,180, 1, 18, 15, 0, 7, 43, 49, 0, 0,255,255, 0,109,255,227, 3,188, 5,213, 16, 6, - 0, 45, 0, 0, 0, 2,255,237, 0, 0, 4,199, 5,213, 0, 7, 0, 29, 0, 0, 37, 51, 50, 54, 16, 38, 43, 1, 25, 1, 51, 50, - 4, 16, 4, 43, 1, 17, 35, 21, 16, 2, 6, 35, 53, 50, 54, 18, 25, 1, 3, 33, 21, 90,125,121, 94, 21, 21,144, 1, 1,254,254, -143,207,172, 24,202,236,138,118, 20,166,142, 1, 14,149, 2,254,253,168,226,254, 72,227, 5, 43,250,254,198,253,247,238,164,143, - 1,161, 1, 87, 1,170, 0, 0, 0, 2, 0, 34, 0, 0, 4,199, 5,213, 0, 8, 0, 28, 0, 0, 37, 51, 50, 54, 53, 52, 38, 43, - 1, 3, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 51, 50, 23, 22, 21, 20, 4, 35, 3, 33, 21, 90,125,120, 95, 21,186,254,117, -186,186, 1,139,186, 21,179,119,103,254,254,143,166,142,130,140,149,253, 41, 2,199,253, 57, 5,213,253,156, 2,100,253,168,113, - 99,234,220,227, 0, 1,255,190, 0, 0, 4,111, 5,215, 0, 34, 0, 0, 1, 17, 54, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, - 22, 21, 17, 35, 17, 52, 38, 35, 34, 7, 6, 7, 6, 21, 17, 35, 17, 35, 53, 33, 21, 1,127, 37, 48, 34, 14, 64,149, 26, 22,160, - 88, 14, 11, 85,203,106,113,106, 87, 46, 22, 69,203,246, 3,126, 5, 45,253,243, 42, 24, 17, 9, 37, 10, 2, 84, 13, 16,112,228, -254, 24, 1,206,151,142, 42, 21, 28, 92,171,254,111, 5, 45,170,170, 0, 0, 0,255,255, 0,137, 0, 0, 4,201, 7,107, 16, 39, - 11,177, 0, 27, 1,117, 16, 6, 3, 71, 0, 0,255,255, 0,139, 0, 0, 4, 70, 7,107, 16, 39, 11,179, 0, 0, 1,117, 16, 6, - 3, 69, 0, 0,255,255, 0,104, 0, 0, 4,129, 7,109, 16, 38, 11,184, 0, 0, 16, 6, 3, 80, 0, 0, 0, 0, 0, 1, 0,137, -254,190, 4, 72, 5,213, 0, 11, 0, 0, 51, 17, 51, 17, 33, 17, 51, 17, 33, 17, 35, 17,137,203, 2, 41,203,254,118,171, 5,213, -250,213, 5, 43,250, 43,254,190, 1, 66, 0, 0,255,255, 0, 37, 0, 0, 4,172, 5,213, 16, 6, 0, 36, 0, 0, 0, 2, 0,166, - 0, 0, 4,113, 5,213, 0, 8, 0, 23, 0, 50, 64, 28, 0,151, 12, 9,151, 22,136, 1,151, 12, 20, 20, 12, 8, 2, 4, 0, 23, - 5, 50, 16, 49, 10, 0, 30, 22, 48, 24, 16,252,236, 50,252,236,196, 17, 23, 57, 49, 0, 47,204,236,244,236, 16,236, 48, 1, 17, - 51, 50, 54, 53, 52, 38, 35, 1, 33, 17, 51, 4, 23, 22, 21, 20, 7, 6, 41, 1, 17, 33, 1,113,239,176,150,158,168, 1,204,253, - 69,235, 1,123,101, 53,133,133,254,249,254, 70, 3,134, 2,201,253,221,123,141,146,137, 2,102,254, 62, 15,191,100,161,203,103, -104, 5,213, 0,255,255, 0,166, 0, 0, 4,113, 5,213, 16, 6, 0, 37, 0, 0, 0, 1, 0,215, 0, 0, 4,115, 5,213, 0, 5, - 0, 24,182, 2, 49, 4, 30, 1, 52, 6, 16,252,236,236, 49, 0,180, 3,151, 1,136, 5, 47,244,236, 48, 51, 17, 33, 21, 33, 17, -215, 3,156,253, 47, 5,213,170,250,213, 0, 0, 0, 2, 0, 33,254,190, 4,176, 5,213, 0, 15, 0, 26, 0, 48, 64, 13, 4, 30, - 1, 16, 30, 15, 18, 30, 13, 5, 30, 8, 27, 16,212,236,220,236,212,236,220,236, 49, 0, 64, 11, 17,151, 14,136, 1, 26, 8,151, - 3, 7, 5, 47,204, 50,236, 50, 50,244,236, 48, 37, 51, 17, 35, 17, 33, 17, 35, 17, 51, 50, 19, 18, 25, 1, 33, 7, 33, 17, 20, - 3, 2, 6, 21, 20, 51, 33, 4, 55,121,170,252,197,170, 77, 48, 39, 30, 3, 84,203,254, 66, 28, 27, 11, 47, 1,209,170,254, 20, - 1, 66,254,190, 1,236, 1, 76, 1, 0, 1, 13, 1,210,170,254,215,224,254,225,254,225, 28, 8, 22, 0, 0, 0,255,255, 0,197, - 0, 0, 4, 78, 5,213, 16, 6, 0, 40, 0, 0, 0, 1, 0, 15, 0, 0, 4,194, 5,213, 0, 19, 0,120, 64, 11, 8, 5, 4, 3, - 6, 9, 1, 30, 12, 0, 20, 16,220, 60,252, 60,192, 23, 57, 49, 0, 64, 12, 66, 8, 5, 2, 3, 17, 3, 0,180, 15, 10, 6, 47, - 60, 60,236, 50, 50, 23, 57, 48, 75, 83, 88, 64, 9, 8, 37, 9, 8, 5, 7, 37, 6, 5, 7, 5,237, 16, 8,237, 89, 1, 64, 19, - 13, 0, 8, 14, 0, 7, 15, 0, 6, 16, 0, 5, 17, 0, 4, 18, 0, 3, 1, 16, 73, 58, 73, 58, 73, 58, 73, 58, 73, 58, 73, 58, - 0,183, 12, 9, 13, 8, 16, 5, 19, 2, 16, 60, 16, 60, 16, 60, 16, 60, 1, 51, 17, 1, 51, 9, 1, 35, 3, 7, 17, 35, 17, 39, - 3, 35, 9, 1, 51, 1, 2, 11,187, 1, 28,207,254,225, 1, 48,197,222, 89,187, 89,222,197, 1, 48,254,225,207, 1, 28, 5,213, -253,173, 2, 83,253,166,252,133, 2,138,186,254, 48, 1,208,186,253,118, 3,123, 2, 90,253,173,255,255, 0,137,255,227, 4, 55, - 5,240, 16, 6, 0, 22, 0, 0, 0, 1, 0,139, 0, 0, 4, 70, 5,213, 0, 9, 0, 60, 64, 28, 8, 4, 3, 4, 3, 9, 8, 9, - 66, 8, 2, 3, 5,180, 7, 0, 9, 4, 3, 8, 17, 6, 49, 3, 17, 1, 48, 10, 16,252,236,252,236, 17, 57, 57, 49, 0, 47, 60, -236, 50, 57, 57, 48, 75, 83, 88, 7, 16, 4,201, 7, 16, 4,201, 89, 34, 51, 17, 51, 17, 1, 33, 17, 35, 17, 1,139,195, 1,248, - 1, 0,195,254, 8, 5,213,251, 51, 4,205,250, 43, 4,205,251, 51, 0, 0, 0,255,255, 0,139, 0, 0, 4, 70, 7,109, 16, 38, - 11,184, 0, 0, 16, 6, 3, 69, 0, 0, 0, 0,255,255, 0,137, 0, 0, 4,201, 5,213, 16, 6, 0, 46, 0, 0, 0, 1, 0, 4, - 0, 0, 4, 70, 5,213, 0, 15, 0, 36, 64, 8, 15, 30, 12, 1, 30, 10, 6, 16, 16,212,220,236,212,236, 49, 0, 64, 9, 6,151, - 5, 0,151, 11,136, 14, 5, 47, 60,244,236, 16,236, 48, 1, 21, 16, 2, 6, 35, 53, 50, 54, 18, 25, 1, 33, 17, 35, 17, 1,227, - 23,203,253,138,118, 20, 3, 46,203, 5, 43,250,254,187,254, 2,238,164,143, 1,161, 1, 87, 1,170,250, 43, 5, 43, 0, 0, 0, -255,255, 0, 86, 0, 0, 4,121, 5,213, 16, 6, 0, 48, 0, 0,255,255, 0,137, 0, 0, 4, 72, 5,213, 16, 6, 0, 43, 0, 0, -255,255, 0,117,255,227, 4, 92, 5,240, 16, 6, 0, 50, 0, 0, 0, 1, 0,137, 0, 0, 4, 72, 5,213, 0, 7, 0, 30, 64, 9, - 4, 30, 1, 49, 5, 30, 0, 48, 8, 16,252,236,252,236, 49, 0,181, 4,151, 0,136, 6, 2, 47, 60,244,236, 48, 19, 33, 17, 35, - 17, 33, 17, 35,137, 3,191,203,253,215,203, 5,213,250, 43, 5, 43,250,213, 0,255,255, 0,197, 0, 0, 4,117, 5,213, 16, 6, - 0, 51, 0, 0,255,255, 0,139,255,227, 4, 49, 5,240, 16, 6, 0, 38, 0, 0,255,255, 0, 47, 0, 0, 4,162, 5,213, 16, 6, - 0, 55, 0, 0, 0, 1, 0,104, 0, 0, 4,129, 5,213, 0, 20, 0, 63, 64, 13, 66, 8,151, 7,153, 19, 16,136, 21, 20, 8, 16, - 21, 16,212,196,196, 49, 0, 16,228, 50,244,236, 48, 75, 83, 88, 64, 18, 18, 37, 0, 16, 15, 19, 37, 20, 20, 0, 18, 37, 15, 17, - 37, 16, 16, 15, 5, 7, 16,236, 16,236, 7, 16,236, 8, 16,236, 89, 1, 6, 7, 6, 7, 6, 43, 1, 53, 51, 50, 55, 54, 55, 54, - 55, 1, 51, 9, 1, 51, 2,229, 59, 69, 44, 76, 69, 92,148,109, 81, 46, 45, 34, 14, 15,254, 88,217, 1, 55, 1, 52,213, 1,169, -158,111, 74, 43, 39,172, 47, 46, 77, 32, 42, 4, 53,252,194, 3, 62, 0, 0, 0, 0, 3, 0, 66, 0, 0, 4,143, 5,213, 0, 6, - 0, 24, 0, 31, 0,103, 64, 15, 28, 50, 12, 15, 31, 9, 30, 24, 4, 50, 21, 18, 1, 24, 32, 16,212, 60, 60,212,236, 16,252, 60, - 60,212,236, 49, 0, 64, 14, 31, 1,151, 9, 24, 7,136, 17, 25, 0,151, 15, 18, 17, 47,220, 60,236, 50, 16,244,220, 60,236, 50, - 48, 1,176, 13, 75, 84,176, 16, 75, 84, 91,176, 21, 75, 84, 91,176, 25, 75, 84, 91, 88,191, 0, 33, 0, 32,255,192, 0, 2, 0, - 0, 0, 32, 0, 32, 0, 64, 56, 18, 54, 23, 56, 89, 1, 17, 14, 1, 21, 20, 22, 19, 51, 21, 4, 18, 17, 16, 2, 5, 21, 35, 53, - 38, 2, 17, 16, 18, 37, 19, 62, 1, 53, 52, 38, 39, 2, 3,165, 73, 73,165,203, 1, 11,182,182,254,245,203,250,199,184, 1, 9, -203,165, 73, 73,165, 1, 60, 3,123, 26,220,199,200,220, 4,127,122, 10,254,170,254,255,254,252,254,172, 10,152,152, 10, 1, 87, - 1, 1, 1, 4, 1, 83, 10,251,225, 26,220,200,199,220, 26, 0,255,255, 0, 18, 0, 0, 4,190, 5,213, 16, 6, 0, 59, 0, 0, - 0, 1, 0, 80,254,190, 4,149, 5,213, 0, 11, 0, 36, 64, 18, 6, 2,136, 10, 8, 4,151, 11, 11, 30, 8, 4, 30, 6, 3, 30, - 0, 12, 16,212,236,212,236,220,236, 49, 0, 47,236, 50,204,236, 50, 48, 51, 17, 51, 17, 33, 17, 51, 17, 51, 17, 35, 17, 80,203, - 2, 41,203,134,170, 5,213,250,213, 5, 43,250,213,254, 20, 1, 66, 0, 0, 0, 0, 1, 0,137, 0, 0, 4, 68, 5,213, 0, 19, - 0, 32, 64, 16, 17,151, 6, 1, 10,136, 13, 14, 9, 30, 11, 3, 30, 0, 48, 20, 16,252,236,212,236, 50, 49, 0, 47,236, 50,220, -236, 48, 19, 17, 51, 17, 20, 22, 51, 50, 54, 55, 17, 51, 17, 35, 17, 14, 1, 35, 34, 38,137,203,110,109,117,122, 91,203,203,118, -150,126,183,175, 3,212, 2, 1,254, 25,163, 80, 29, 69, 2,120,250, 43, 2,146, 58, 23,196, 0, 0, 1, 0,114, 0, 0, 4, 96, - 5,213, 0, 11, 0, 38, 64, 10, 11, 30, 10, 8, 30, 6, 3, 30, 1, 12, 16,212,236,220,236,220,236, 49, 0, 64, 8, 6, 11, 2, -136, 8, 4,151, 1, 47,236, 50,252, 60, 60, 48, 41, 1, 17, 51, 17, 51, 17, 51, 17, 51, 17, 51, 4, 96,252, 18,186,224,186,224, -186, 5,213,250,213, 5, 43,250,213, 5, 43, 0, 0, 1, 0, 60,254,190, 4,176, 5,213, 0, 15, 0, 47, 64, 13, 15, 30, 12, 11, - 30, 9, 7, 30, 5, 3, 30, 1, 16, 16,212,236,220,236,220,252,220,236, 49, 0, 64, 10, 6, 9, 2,136, 11, 8, 4,151, 14, 0, - 47,204,236, 50, 50,252, 60, 60, 48, 51, 17, 51, 17, 51, 17, 51, 17, 51, 17, 51, 17, 51, 17, 35, 17, 60,186,224,186,224,186,134, -170, 5,213,250,213, 5, 43,250,213, 5, 43,250,213,254, 20, 1, 66, 0, 0, 0, 0, 2, 0, 32, 0, 0, 4,117, 5,213, 0, 8, - 0, 21, 0, 42, 64, 9, 4, 50, 18, 14, 0, 30, 9, 11, 22, 16,212,220,236, 50, 47,236, 49, 0, 64, 12, 14,151, 8,177, 22, 10, -182, 13,136, 0,151, 9, 47,236,244,236, 16,244,236, 48, 37, 51, 50, 54, 53, 52, 38, 43, 1, 3, 17, 33, 53, 33, 17, 51, 50, 4, - 21, 20, 4, 35, 1,239,138,141,156,157,140,138,202,254,251, 1,207,138,251, 1, 1,254,254,250,166,147,133,133,148,253, 41, 5, - 43,170,253,168,226,221,219,227, 0, 3, 0, 65, 0, 0, 4,110, 5,213, 0, 3, 0, 13, 0, 24, 0, 44, 64, 11, 3, 30, 0, 9, - 50, 21, 17, 4, 30, 14, 25, 16,212,236, 50, 47,236,220,236, 49, 0, 64, 11, 17,151, 13,177, 4,151, 1, 15,136, 14, 0, 47, 60, -228, 50,236,244,236, 48, 33, 17, 51, 17, 37, 51, 50, 55, 54, 53, 52, 38, 43, 1, 3, 17, 51, 17, 51, 50, 4, 21, 20, 4, 35, 3, -163,203,252,157, 91,102, 78, 60,121,119, 91,202,202, 91,194, 1, 1,254,254,193, 5,213,250, 43,166, 74, 56,150,133,148,253, 41, - 5,213,253,168,226,221,219,227, 0, 2, 0,197, 0, 0, 4,117, 5,213, 0, 8, 0, 21, 0, 43, 64, 24, 8,151, 12, 0,151, 10, -136, 9, 21, 13, 1, 7, 4, 0, 4, 50, 17, 56, 0, 12, 30, 10, 51, 22, 16,252,236, 50,252,236, 17, 23, 57, 49, 0, 47,228,236, -212,236, 48, 37, 51, 50, 54, 53, 52, 38, 43, 1, 3, 17, 51, 17, 51, 50, 23, 22, 21, 20, 7, 6, 35, 1,143,234,141,156,157,140, -234,202,202,234,251,128,129,129,129,250,166,147,133,133,148,253, 41, 5,213,253,168,113,113,221,219,113,114, 0, 0, 1, 0,139, -255,227, 4, 49, 5,240, 0, 27, 0, 77, 64, 9, 11, 9, 12, 50, 25, 49, 19, 2, 29, 16,220, 60,244,236, 50,196, 49, 0, 64, 23, - 9,151, 12,177, 29, 3,179, 2,178, 5,151, 0, 18,179, 19,178, 16,151, 21,150, 0,153, 28, 16,228,244,236,244,236, 16,238,246, -238, 16,252,238,177, 12, 16, 73,177, 5, 9, 73, 80, 88,179, 9, 12, 64, 2, 23, 56, 89, 48, 5, 34, 39, 53, 22, 51, 50, 55, 54, - 55, 33, 53, 33, 2, 39, 38, 35, 34, 7, 53, 54, 51, 32, 23, 22, 16, 7, 6, 1,213,176,154,150,188,189, 96, 95, 5,253,136, 2, -115, 30, 63, 98,188,187,152,154,176, 1, 29,160,159,159,158, 29, 82,207,125,147,148,231,170, 1, 20, 97,152,125,207, 82,204,205, -253, 34,203,203, 0, 2, 0, 60,255,227, 4,149, 5,240, 0, 11, 0, 30, 0, 64, 64, 36, 24, 23, 15, 14, 4, 16, 22, 3,151, 16, -150, 9,151, 22,153, 28, 26,151, 12,177, 30,136, 28, 0, 30, 19, 28, 5, 30, 25, 13, 26, 12, 30, 28, 31, 16,212,236, 50,212, 50, -236, 16,212,236, 49, 0, 47,228,252,238, 16,228,238,244,236, 17, 18, 23, 57, 48, 1, 16, 2, 35, 34, 2, 17, 16, 18, 51, 50, 18, - 1, 51, 26, 1, 51, 50, 18, 17, 16, 2, 35, 34, 2, 3, 35, 17, 35, 17, 51, 3,207, 95,107,107, 95, 95,107,107, 95,253, 56,111, - 10,187,202,202,198,198,202,203,186, 10,111,203,203, 2,233, 1, 73, 1, 26,254,230,254,183,254,184,254,230, 1, 25, 1,164, 1, - 67, 1,105,254,128,254,121,254,122,254,128, 1,106, 1, 77,253,102, 5,213, 0, 0, 2, 0, 76, 0, 0, 4,109, 5,213, 0, 8, - 0, 22, 0, 67, 64, 13, 10, 20, 0, 5, 20, 30, 17, 49, 0, 50, 13, 9, 23, 16,212,212,236,244,236, 50, 18, 17, 57, 49, 0, 64, - 11, 66, 10, 4,151, 21, 5,151, 17,136, 19, 9, 47, 60,244,236,212,236, 57, 48, 75, 83, 88,183, 21, 37, 10, 22, 37, 9, 9, 10, - 7, 16, 5,237, 16,237, 89, 1, 20, 22, 51, 33, 17, 33, 34, 6, 9, 1, 46, 1, 53, 52, 36, 51, 33, 17, 35, 17, 33, 1, 1,116, -142,145, 1, 15,254,249,144,151,254,216, 1,113,108,178, 1, 6,246, 1,210,203,254,222,254,162, 4, 37,134,130, 2, 18,137,251, - 90, 2,154, 39,178,178,210,222,250, 43, 2,119,253,137, 0, 0,255,255, 0,133,255,227, 4, 35, 4,123, 16, 6, 0, 68, 0, 0, - 0, 2, 0,125,255,227, 4, 72, 6, 55, 0, 8, 0, 42, 0, 54, 64, 13, 34, 35, 0, 18, 14, 68, 4, 18, 9, 6, 20, 62, 43, 16, -244,236,236,252,236,212,196, 49, 0, 64, 16, 7,140, 17, 34,182, 35, 30,182, 40, 2,140, 11,190, 17,153, 43, 16,228,244,236,220, -236,212,236, 16,238, 48, 1, 16, 33, 32, 17, 20, 22, 51, 32, 1, 54, 51, 50, 18, 17, 16, 2, 35, 34, 2, 19, 54, 47, 1, 38, 52, - 55, 54, 55, 54, 55, 54, 37, 54, 55, 23, 6, 15, 1, 6, 7, 6, 7, 3,133,254,227,254,228,144,140, 1, 29,253,152,120,222,222, -247,246,234,233,251, 5, 1, 1, 7, 5, 2, 20, 36, 91,167,128, 1, 28, 51, 35, 70, 35, 51,240, 98, 74,197, 21, 2, 47, 1,176, -254, 80,213,219, 3,129,123,254,210,254,225,254,226,254,211, 1, 51, 1, 25, 45, 17,167,119, 82, 15,149, 73,185, 85, 65, 12, 2, - 16,142, 13, 5, 24, 10, 43,116,154, 0, 0, 0, 0, 3, 0,209, 0, 0, 4, 0, 4, 96, 0, 8, 0, 17, 0, 32, 0, 45, 64, 24, - 25, 0,182, 10, 32, 9,182, 18,194, 1,182, 32, 14, 18, 22, 5, 18, 28, 0, 9, 6, 18, 70, 33, 16,252,236, 50,212,236,212,236, - 49, 0, 47,236,244,236, 16,212,236, 57, 48, 1, 17, 51, 50, 54, 53, 52, 38, 35, 3, 17, 51, 50, 54, 53, 52, 38, 35, 37, 33, 50, - 22, 21, 20, 6, 7, 30, 1, 21, 20, 6, 35, 33, 1,137,239, 95,101, 85,107,243,228, 85, 84, 84, 86,254,101, 1,141,170,200, 95, - 99,133,109,209,193,254, 99, 2, 3,254,147,112, 80, 79, 94, 1,199,254,207, 85, 67, 67, 86,150,154,112,111,129, 14, 25,136,117, -154,168, 0, 0, 0, 1, 1, 1, 0, 0, 3,241, 4, 96, 0, 5, 0, 22, 64, 10, 0,182, 3,194, 1, 4, 0, 6, 2, 6, 16,220, -236,196, 49, 0, 47,252,236, 48, 1, 17, 35, 17, 33, 21, 1,185,184, 2,240, 3,202,252, 54, 4, 96,150, 0, 0, 0, 2, 0,105, -254,226, 4,104, 4, 96, 0, 14, 0, 24, 0, 48, 64, 13, 4, 6, 2, 15, 6, 14, 17, 6, 12, 5, 6, 8, 25, 16,212,236,220,236, -212,236,220,236, 49, 0, 64, 11, 16,182, 13,194, 1, 15, 8,182, 3, 7, 5, 47,204, 50,236, 50, 50,244,236, 48, 37, 51, 17, 35, - 17, 33, 17, 35, 17, 51, 50, 18, 53, 17, 33, 3, 17, 33, 17, 20, 7, 14, 1, 20, 51, 3,239,121,150,253, 45,150, 67, 55, 32, 2, -236,185,254,132, 20, 8, 14, 34,150,254, 76, 1, 30,254,226, 1,180, 1,198,100, 1,160,252, 54, 3, 52,254,242,100,247,144, 33, - 26, 0, 0, 0,255,255, 0,123,255,227, 4, 88, 4,123, 16, 6, 0, 72, 0, 0, 0, 1, 0, 59, 0, 0, 4,151, 4, 96, 0, 19, - 0,120, 64, 11, 8, 5, 4, 3, 6, 9, 1, 30, 6, 0, 20, 16,220, 60,252, 60,192, 23, 57, 49, 0, 64, 12, 66, 8, 5, 2, 3, - 17, 3, 0,194, 15, 10, 6, 47, 60, 60,236, 50, 50, 23, 57, 48, 75, 83, 88, 64, 9, 8, 23, 9, 8, 5, 7, 23, 6, 5, 7, 5, -237, 16, 8,237, 89, 1, 64, 19, 13, 0, 8, 14, 0, 7, 15, 0, 6, 16, 0, 5, 17, 0, 4, 18, 0, 3, 1, 16, 73, 58, 73, 58, - 73, 58, 73, 58, 73, 58, 73, 58, 0,183, 12, 9, 13, 8, 16, 5, 19, 2, 16, 60, 16, 60, 16, 60, 16, 60, 1, 51, 17, 1, 51, 3, - 1, 35, 3, 7, 17, 35, 17, 39, 3, 35, 1, 3, 51, 1, 2, 21,168, 0,255,199,239, 1, 3,179,191,104,168,104,191,179, 1, 3, -239,199, 0,255, 4, 96,254, 80, 1,176,254,108,253, 52, 2, 16,177,254,161, 1, 95,177,253,240, 2,204, 1,148,254, 80, 0, 0, -255,255, 0,169,255,234, 4, 40, 4,123, 16, 6, 1,250, 0, 0, 0, 1, 0,195, 0, 0, 4, 26, 4, 96, 0, 9, 0, 61, 64, 10, - 6, 0, 6, 8, 1, 5, 6, 2, 70, 10, 16,252,236, 50,212,236, 50, 49, 0, 64, 8, 66, 0, 5, 7, 3,194, 9, 2, 47, 60,236, - 50, 57, 57, 48, 75, 83, 88, 64, 10, 0, 23, 6, 5, 6, 5, 23, 1, 0, 1, 7, 0, 16,233, 7, 16,233, 89, 9, 1, 35, 17, 51, - 17, 1, 51, 17, 35, 3, 98,254, 25,184,184, 1,231,184,184, 3, 41,252,215, 4, 96,252,215, 3, 41,251,160, 0,255,255, 0,195, - 0, 0, 4, 26, 6, 72, 16, 38, 2,130, 0, 0, 16, 6, 3,101, 0, 0, 0, 0,255,255, 0,236, 0, 0, 4,178, 4, 96, 18, 6, - 0,250, 0, 0, 0, 1, 0, 30, 0, 0, 4, 26, 4, 96, 0, 17, 0, 34, 64, 8, 4, 6, 1, 5, 6, 17, 11, 18, 16,212,220,236, -212,236, 49, 0, 64, 8, 5,182, 0,194, 12,182, 11, 2, 47, 60,236,244,236, 48, 1, 33, 17, 35, 17, 33, 21, 20, 2, 6, 43, 1, - 53, 51, 50, 54, 18, 53, 1, 9, 3, 17,184,254, 95, 27,151,186, 55, 35, 85, 94, 21, 4, 96,251,160, 3,202,245,189,254,209,233, -150,118, 1, 24,174, 0, 0, 0, 0, 1, 0, 61, 0, 0, 4,155, 4, 96, 0, 12, 0, 78, 64, 21, 66, 10, 7, 2, 8, 3, 0,194, - 9, 6, 12, 3, 7, 6, 4, 13, 1, 10, 6, 0, 13, 16,220,236, 50, 16,220,236, 50, 49, 0, 47, 60,196,236, 50, 17, 23, 57, 48, - 75, 83, 88, 64, 16, 8, 23, 3, 7, 23, 3, 2, 3, 9, 23, 2, 10, 23, 2, 2, 1, 4, 7, 16,237, 16, 5,237, 4, 7, 16,237, - 16, 5,237, 89, 19, 51, 9, 1, 51, 17, 35, 17, 1, 35, 1, 17, 35, 61,184, 1,119, 1,119,184,184,254,229,184,254,229,184, 4, - 96,253, 77, 2,179,251,160, 2,229,254, 31, 1,225,253, 27, 0, 0, 1, 0,195, 0, 0, 4, 26, 4, 96, 0, 11, 0, 36, 64, 18, - 1,182, 6, 9, 4,194, 10, 2, 0, 8, 6, 9, 1, 5, 6, 3, 70, 12, 16,252,236, 50,212,236, 50, 49, 0, 47, 60,228, 50,212, -236, 48, 1, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 35, 3, 98,254, 25,184,184, 1,231,184,184, 2, 3,253,253, 4, 96,254, 57, - 1,199,251,160,255,255, 0,137,255,227, 4, 72, 4,123, 16, 6, 0, 82, 0, 0, 0, 1, 0,195, 0, 0, 4, 26, 4, 96, 0, 7, - 0, 28, 64, 14, 1,182, 4,194, 6, 2, 0, 6, 5, 1, 6, 3, 70, 8, 16,252,236,212,236, 49, 0, 47, 60,244,236, 48, 1, 33, - 17, 35, 17, 33, 17, 35, 3, 98,254, 25,184, 3, 87,184, 3,202,252, 54, 4, 96,251,160, 0, 0,255,255, 0,190,254, 86, 4, 84, - 4,123, 16, 6, 0, 83, 0, 0,255,255, 0,195,255,227, 4, 37, 4,123, 16, 6, 0, 70, 0, 0, 0, 1, 0,225, 0, 0, 4, 7, - 4, 96, 0, 7, 0, 28, 64, 13, 0, 3,182, 5,194, 1, 7, 1, 4, 3, 6, 1, 8, 16,220,252,204, 16,204, 49, 0, 47,252,252, - 60, 48, 1, 17, 35, 17, 33, 53, 33, 21, 2,208,184,254,201, 3, 38, 3,202,252, 54, 3,202,150,150, 0, 0, 0,255,255, 0,104, -254, 86, 4,129, 4, 96, 16, 6, 0, 92, 0, 0, 0, 3, 0, 99,254, 86, 4,101, 6, 20, 0, 6, 0, 24, 0, 31, 0, 99, 64, 17, - 29, 18, 19, 13, 10, 22, 25, 16, 6, 13, 3, 18, 10, 7, 0, 13, 32, 16,212, 60, 60,212,236, 16,252, 60, 60, 73, 59,236, 49, 0, - 64, 17, 25, 0,140, 16, 13,190, 26, 6,140, 22, 7,153, 24,195, 14,155, 32, 16,236,236,244, 60,236, 50,244, 60,236, 50, 48, 1, -176, 13, 75, 84,176, 16, 75, 84, 91, 88,191, 0, 33, 0, 32,255,192, 0, 2, 0, 0, 0, 32, 0, 32, 0, 64, 56, 18, 54, 23, 56, - 89, 1, 14, 1, 21, 20, 22, 23, 21, 38, 2, 17, 16, 18, 55, 17, 51, 17, 22, 18, 17, 16, 2, 7, 17, 35, 19, 17, 62, 1, 53, 52, - 38, 2, 8,120,106,106,120,220,201,199,222,184,222,199,201,220,184,184,120,106,106, 3,214, 25,153,245,245,162, 25,156, 22, 1, - 11, 1, 43, 1, 43, 1, 11, 22, 1,153,254,103, 22,254,245,254,213,254,213,254,245, 22,254,115, 5,128,252,169, 25,162,245,245, -153, 0, 0, 0,255,255, 0, 76, 0, 0, 4,133, 4, 96, 16, 6, 0, 91, 0, 0, 0, 1, 0,124,254,226, 4, 94, 4, 96, 0, 11, - 0, 36, 64, 18, 9, 5,194, 2, 0, 8,182, 3, 3, 6, 0, 8, 6, 10, 7, 6, 5, 12, 16,220,236,212,236,220,236, 49, 0, 47, -236, 50,204,236, 50, 48, 37, 17, 35, 17, 33, 17, 51, 17, 33, 17, 51, 17, 4, 94,150,252,180,184, 1,230,184,150,254, 76, 1, 30, - 4, 96,252, 54, 3,202,252, 54, 0, 1, 0,195, 0, 0, 4, 27, 4, 98, 0, 19, 0, 33, 64, 9, 14, 9, 6, 11, 3, 6, 0, 70, - 20, 16,252,236,212,236, 50, 49, 0,182, 17,182, 6, 10, 1,194, 13, 47,236, 50,220,236, 48, 19, 17, 51, 17, 20, 22, 51, 50, 54, - 55, 17, 51, 17, 35, 17, 14, 1, 35, 34, 38,195,184,107,110, 88,114, 69,184,184, 53,140,139,140,200, 2,243, 1,111,254,145,100, - 93, 20, 39, 1,245,251,158, 1,210, 21, 43,163, 0, 1, 0,125, 0, 0, 4, 85, 4, 96, 0, 11, 0, 36, 64, 18, 6, 11, 2,194, - 8, 4,182, 1, 11, 6, 10, 8, 6, 6, 3, 6, 1, 12, 16,220,236,220,236,220,236, 49, 0, 47,236, 50,252, 60,196, 48, 41, 1, - 17, 51, 17, 51, 17, 51, 17, 51, 17, 51, 4, 85,252, 40,168,240,168,240,168, 4, 96,252, 54, 3,202,252, 54, 3,202, 0, 0, 0, - 0, 1, 0, 80,254,226, 4,184, 4, 96, 0, 15, 0, 45, 64, 13, 0, 6, 13, 11, 6, 10, 8, 6, 6, 3, 6, 1, 16, 16,220,236, -220,236,220,252,220,236, 49, 0, 64, 9, 6, 11, 2,194, 8, 4,182, 15, 1, 47,204,236, 50,252, 60,196, 48, 41, 1, 17, 51, 17, - 51, 17, 51, 17, 51, 17, 51, 17, 51, 17, 35, 4, 34,252, 46,168,240,168,240,168,144,150, 4, 96,252, 54, 3,202,252, 54, 3,202, -252, 54,254, 76, 0, 2, 0, 30, 0, 0, 4,140, 4, 96, 0, 8, 0, 21, 0, 41, 64, 9, 4, 18, 18, 14, 0, 6, 9, 11, 22, 16, -212,220,236, 50, 47,236, 49, 0, 64, 11, 8,182, 14, 22, 10,182, 13,194, 0,182, 9, 47,236,244,236, 16,212,236, 48, 37, 51, 50, - 54, 53, 52, 38, 43, 1, 3, 17, 35, 53, 33, 17, 33, 50, 22, 21, 20, 6, 35, 1,206,248,124,134,137,121,248,184,248, 1,176, 1, - 0,209,237,232,214,156, 88, 90, 90, 90,253,254, 3,202,150,254, 59,167,168,168,164, 0, 0, 0, 0, 3, 0,104, 0, 0, 4,105, - 4, 96, 0, 3, 0, 12, 0, 23, 0, 43, 64, 11, 3, 6, 0, 9, 18, 21, 16, 4, 6, 13, 24, 16,212,236, 50, 47,236,220,236, 49, - 0, 64, 10, 12,182, 16, 4,182, 1, 14,194, 13, 0, 47, 60,228, 50,236,212,236, 48, 33, 17, 51, 17, 37, 51, 50, 54, 53, 52, 38, - 43, 1, 3, 17, 51, 17, 51, 50, 22, 21, 20, 6, 35, 3,177,184,252,181, 83,124,134,137,121, 83,182,182, 91,209,237,232,214, 4, - 96,251,160,154, 89, 91, 91, 91,253,252, 4, 96,254, 59,167,168,168,164, 0, 0, 0, 2, 0,195, 0, 0, 4, 56, 4, 96, 0, 8, - 0, 19, 0, 42, 64, 23, 8,182, 12, 0,182, 10,194, 9, 19, 13, 1, 7, 4, 0, 4, 18, 16, 0, 12, 6, 10, 70, 20, 16,252,236, - 50,220,236, 17, 23, 57, 49, 0, 47,228,236,212,236, 48, 37, 51, 50, 54, 53, 52, 38, 43, 1, 3, 17, 51, 17, 33, 50, 22, 21, 20, - 6, 35, 1,123,248,129,128,129,128,248,184,184, 1, 0,208,237,231,214,153, 89, 90, 94, 88,253,254, 4, 96,254, 59,167,168,168, -164, 0, 0, 0, 0, 1, 0,195,255,227, 4, 37, 4,123, 0, 31, 0, 75, 64, 8, 10, 11, 8, 18, 25, 19, 0, 32, 16,220, 60,212, -236, 50,196, 49, 0, 64, 22, 19,139, 18,192, 15, 0,139, 1,192, 4,140, 29, 10,182, 8, 15,140, 22,190, 29,153, 32, 16,228,244, -236,220,238, 16,254,244,238, 16,245,238,177, 10, 15, 73,177, 4, 8, 73, 80, 88,179, 10, 8, 64, 2, 23, 56, 89, 48, 55, 53, 30, - 1, 51, 50, 55, 54, 55, 33, 53, 33, 38, 39, 38, 35, 34, 6, 7, 53, 62, 1, 51, 32, 0, 17, 16, 7, 6, 33, 34, 38,195, 65,152, - 96,172, 94, 83, 9,253,226, 2, 25, 18, 69, 94,172, 93,147, 73, 78,154, 81, 1, 4, 1, 37,147,146,254,252, 82,157, 57,191, 62, - 59,113,100,176,144,137, 82,112, 58, 65,193, 44, 42,254,200,254,236,254,236,156,156, 43, 0, 0, 0, 2, 0, 78,255,227, 4,144, - 4,123, 0, 11, 0, 30, 0, 63, 64, 35, 24, 23, 15, 14, 4, 16, 22, 3,140, 16,190, 9,140, 22,153, 28, 26,182, 12, 30,194, 28, - 0, 6, 19, 28, 5, 6, 25, 13, 26, 12, 6, 28, 31, 16,220,236, 50,212, 50,236, 16,212,236, 49, 0, 47,228,220,238, 16,228,238, -244,236, 17, 18, 23, 57, 48, 1, 52, 38, 35, 34, 6, 21, 20, 22, 55, 50, 54, 1, 51, 26, 1, 51, 50, 18, 17, 16, 2, 35, 34, 2, - 39, 35, 17, 35, 17, 51, 3,205,112, 76, 76,113,106, 85, 85,101,253, 57,142, 17,210,157,157,223,230,154,153,211, 16,142,184,184, - 2, 63,198,217,244,193,193,234, 1,250, 1, 1, 1, 0, 1, 1,254,220,254,211,254,210,254,231, 1, 20,237,254, 28, 4, 96, 0, - 0, 2, 0,168, 0, 0, 3,216, 4, 96, 0, 8, 0, 22, 0, 66, 64, 12, 10, 20, 0, 5, 20, 8, 17, 0, 18, 13, 9, 23, 16,220, -212,236,212,236, 50, 18, 17, 57, 49, 0, 64, 11, 66, 10, 4,182, 21, 5,182, 17,194, 19, 9, 47, 60,244,236,212,236, 57, 48, 75, - 83, 88,183, 21, 23, 10, 22, 23, 9, 9, 10, 7, 16, 5,237, 16,237, 89, 1, 20, 22, 59, 1, 17, 35, 34, 6, 3, 1, 46, 1, 53, - 52, 54, 51, 33, 17, 35, 17, 35, 1, 1,147,114, 55,228,227, 56,114,235, 1, 16, 53,170,220,150, 1,141,184,193,254,254, 3, 19, - 97, 85, 1,109, 86,252,140, 1,223, 22,130,167,168,154,251,160, 1,199,254, 57,255,255, 0,123,255,227, 4, 88, 6,109, 16, 38, - 3, 98, 0, 0, 16, 6, 0, 67,226, 7, 0, 0,255,255, 0,123,255,227, 4, 88, 5,191, 16, 38, 3, 98, 0, 0, 16, 6, 0,106, - 35,175, 0, 0, 0, 1, 0, 35,254, 86, 4, 84, 6, 20, 0, 31, 0, 0, 19, 53, 51, 17, 51, 17, 33, 21, 33, 17, 62, 1, 51, 50, - 22, 21, 16, 2, 7, 53, 54, 18, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 35,190,184, 1,192,254, 64, 49,168,124,176,182,250,237, -121,173,106,123,138,139,184, 3,209,143, 1,180,254, 76,143,254,115, 96, 99,230,223,254,180,254,142, 46,165, 25, 1, 24, 1, 22, -152,141,183,171,254,251, 3,209,255,255, 1, 1, 0, 0, 4, 11, 6,109, 16, 38, 3, 96, 0, 0, 16, 6, 0,118, 81, 7, 0, 0, - 0, 1, 0,195,255,227, 4, 37, 4,123, 0, 31, 0, 76, 64, 32, 13,139, 14,192, 17, 0,139, 31,192, 28,140, 3, 22,182, 24, 17, -140, 10,190, 3,153, 32, 22, 0, 21, 24, 18, 13, 0, 7, 70, 32, 16,244,196, 50,252, 50, 16,196, 49, 0, 16,228,244,236,220,238, - 16,254,244,238, 16,245,238,177, 22, 17, 73,177, 28, 24, 73, 80, 88,179, 22, 24, 64, 2, 23, 56, 89, 48, 37, 14, 1, 35, 32, 39, - 38, 17, 16, 0, 33, 50, 22, 23, 21, 46, 1, 35, 34, 7, 6, 7, 37, 21, 33, 22, 23, 22, 51, 50, 54, 55, 4, 37, 74,157, 82,254, -252,146,147, 1, 37, 1, 4, 81,154, 78, 73,147, 93,173, 93, 69, 18, 2, 25,253,226, 9, 83, 94,172, 96,152, 65, 57, 43, 43,156, -156, 1, 20, 1, 20, 1, 56, 42, 44,193, 65, 58,112, 83,137, 1,144,176,100,113, 59, 62, 0, 0,255,255, 0,213,255,227, 4, 6, - 4,123, 16, 6, 0, 86, 0, 0,255,255, 0,178, 0, 0, 4, 68, 6, 20, 16, 6, 0, 76, 0, 0,255,255, 0,178, 0, 0, 4, 68, - 6, 16, 16, 38, 0,243, 0, 0, 17, 6, 0,106, 24, 0, 0, 8,180, 3, 16, 13, 6, 7, 43, 49,255,255, 0,186,254, 86, 3, 16, - 6, 20, 16, 6, 0, 77, 0, 0, 0, 2, 0, 10, 0, 0, 4,203, 4, 96, 0, 5, 0, 30, 0, 0, 37, 50, 16, 43, 1, 17, 23, 35, - 17, 35, 21, 20, 2, 7, 6, 43, 1, 53, 51, 50, 54, 18, 53, 17, 33, 17, 51, 50, 22, 16, 6, 3, 55,208,208, 13, 21,189,229, 27, - 82, 67,188, 39, 35, 85, 94, 21, 2, 53, 21,159,237,232,153, 1,105,254,151,153, 3,202,245,189,254,209,128,105,150,118, 1, 24, -174, 1,142,254, 59,167,254,176,164, 0, 0, 0, 0, 2, 0, 65, 0, 0, 4,158, 4, 96, 0, 6, 0, 24, 0, 0, 37, 50, 53, 52, - 43, 1, 25, 1, 51, 50, 22, 16, 6, 43, 1, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 3, 10,208,208, 13, 21,159,237,232,164,189, -254,148,168,168, 1,108,168,153,181,180,254,151, 2, 2,167,254,176,164, 2, 3,253,253, 4, 96,254, 57, 1,199, 0, 1, 0, 35, - 0, 0, 4, 57, 6, 20, 0, 27, 0, 0, 19, 53, 51, 17, 51, 17, 33, 21, 33, 17, 62, 1, 51, 50, 22, 21, 17, 35, 17, 52, 38, 35, - 34, 6, 21, 17, 35, 17, 35,190,184, 1,192,254, 64, 49,168,115,171,169,185,106,113,129,139,184, 3,209,143, 1,180,254, 76,143, -254,115, 96, 99,225,228,254,190, 1, 66,151,142,183,171,254,251, 3,209, 0, 0,255,255, 0,236, 0, 0, 4,178, 6,109, 16, 38, - 3,103, 0, 0, 16, 6, 0,118, 48, 7, 0, 0,255,255, 0,195, 0, 0, 4, 26, 6,109, 16, 38, 3,101, 0, 0, 16, 6, 0, 67, - 64, 7, 0, 0,255,255, 0,104,254, 86, 4,129, 6, 72, 16, 38, 2,130, 0, 0, 16, 6, 3,112, 0, 0, 0, 0, 0, 1, 0,195, -254,226, 4, 26, 4, 96, 0, 11, 0, 0, 51, 17, 51, 17, 33, 17, 51, 17, 33, 17, 35, 17,195,184, 1,231,184,254,160,151, 4, 96, -252, 54, 3,202,251,160,254,226, 1, 30, 0, 0, 0, 1, 0,215, 0, 0, 4,115, 7, 7, 0, 7, 0, 28, 64, 14, 3, 5,151, 1, -136, 7, 3, 4, 49, 6, 30, 1, 52, 8, 16,252,236,252,204, 49, 0, 47,244,236,204, 48, 51, 17, 33, 19, 51, 17, 33, 17,215, 2, -242, 3,167,253, 47, 5,213, 1, 50,254, 36,250,213, 0, 0, 0, 0, 1, 1, 1, 0, 0, 3,242, 5,154, 0, 7, 0, 26, 64, 12, - 5, 0,182, 3,194, 1, 4, 7, 0, 6, 2, 8, 16,220,236,220,204, 49, 0, 47,252,236,204, 48, 1, 17, 35, 17, 33, 17, 51, 3, - 1,185,184, 2, 56,185, 1, 3,168,252, 88, 4, 96, 1, 58,254, 14, 0, 0, 0, 0, 1, 0, 85, 0, 0, 4,115, 5,213, 0, 13, - 0, 0, 19, 51, 17, 33, 21, 33, 17, 33, 21, 33, 17, 35, 17, 35, 85,130, 3,156,253, 47, 2, 35,253,221,203,130, 3,232, 1,237, -170,254,189,170,252,194, 3, 62, 0, 1, 0,127, 0, 0, 3,241, 4, 96, 0, 13, 0, 0, 33, 17, 35, 53, 51, 17, 33, 21, 33, 17, - 33, 21, 33, 17, 1, 1,130,130, 2,240,253,200, 1,160,254, 96, 1,244,170, 1,194,184,254,246,170,254, 12, 0, 0, 1, 0,215, -254,102, 4,115, 5,213, 0, 28, 0, 0, 1, 17, 35, 17, 33, 21, 33, 17, 33, 50, 23, 22, 21, 17, 16, 7, 6, 43, 1, 53, 51, 50, - 55, 54, 53, 17, 52, 38, 35, 1,162,203, 3,156,253, 47, 1, 55,186,113,111,104,102,228, 76, 62,134, 56, 55,124,124, 2,199,253, - 57, 5,213,170,254, 70,119,114,238,254,206,254,244,124,122,170, 75, 75,194, 1, 34,159,158, 0, 0, 1, 1, 1,254, 86, 4, 82, - 4, 96, 0, 29, 0, 0, 1, 17, 35, 17, 33, 21, 33, 17, 51, 32, 23, 22, 21, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, - 52, 39, 38, 35, 1,185,184, 2,240,253,200,250, 1, 5, 72, 82, 82, 81,181,193,172,110, 33, 38, 38, 49,134, 1,231,254, 25, 4, - 96,184,254,207, 71, 81,229,254,242,214, 96, 96,156, 48, 55,147, 1, 8,170, 32, 41, 0, 0, 0, 0, 1, 0, 15,254,190, 4,194, - 5,213, 0, 23, 0, 0, 51, 9, 1, 51, 1, 17, 51, 17, 1, 51, 1, 19, 51, 17, 35, 17, 35, 3, 7, 17, 35, 17, 39, 3, 15, 1, - 48,254,225,207, 1, 28,187, 1, 28,207,254,225,246, 58,170, 27,222, 89,187, 89,222, 3,123, 2, 90,253,173, 2, 83,253,173, 2, - 83,253,166,253, 47,254, 20, 1, 66, 2,138,186,254, 48, 1,208,186,253,118, 0, 0, 1, 0, 59,254,226, 4,174, 4, 96, 0, 23, - 0, 0, 51, 1, 3, 51, 1, 17, 51, 17, 1, 51, 3, 19, 51, 17, 35, 17, 35, 3, 7, 17, 35, 17, 39, 3, 59, 1, 3,239,199, 0, -255,168, 0,255,199,239,205, 77,150, 52,191,104,168,104,191, 2,204, 1,148,254, 80, 1,176,254, 80, 1,176,254,108,253,202,254, - 76, 1, 30, 2, 16,177,254,161, 1, 95,177,253,240, 0, 0, 0,255,255, 0,137,254,117, 4, 55, 5,240, 16, 38, 2,163,183, 0, - 16, 6, 3, 68, 0, 0, 0, 0,255,255, 0,169,254,117, 4, 40, 4,123, 16, 38, 2,163,189, 0, 16, 6, 3,100, 0, 0, 0, 0, - 0, 1, 0,137,254,190, 4,201, 5,213, 0, 15, 0, 0, 37, 51, 17, 35, 17, 35, 1, 7, 17, 35, 17, 51, 17, 1, 51, 1, 4, 86, -114,212, 31,254, 25,154,203,203, 2,119,237,253,187,170,254, 20, 1, 66, 2,236,164,253,184, 5,213,253,104, 2,152,253,158, 0, - 0, 1, 0,236,254,226, 4,178, 4, 96, 0, 15, 0, 0, 37, 51, 17, 35, 17, 35, 1, 7, 17, 35, 17, 51, 17, 1, 51, 1, 4, 44, -134,196, 29,254, 98,137,190,190, 1,227,224,254, 71,184,254, 42, 1, 30, 2, 66,129,254, 63, 4, 96,254, 47, 1,209,254, 90, 0, - 0, 1, 0, 31,254,190, 4,179, 5,213, 0, 15, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 3,222, -213,213,203,253,215,203,203, 2, 41,203,170,254, 20, 1, 66, 2,199,253, 57, 5,213,253,156, 2,100, 0, 0, 0, 0, 1, 0, 98, -254,226, 4,124, 4, 96, 0, 15, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 3,185,195,195,184,254, - 25,184,184, 1,231,184,184,254, 42, 1, 30, 1,249,254, 7, 4, 96,254, 67, 1,189, 0, 0, 0,255,255, 0,139,254,117, 4, 49, - 5,240, 16, 38, 2,163,100, 0, 16, 6, 3, 78, 0, 0, 0, 0,255,255, 0,195,254,117, 4, 37, 4,123, 16, 38, 2,163,104, 0, - 16, 6, 3,110, 0, 0, 0, 0, 0, 1, 0, 47,254,190, 4,162, 5,213, 0, 11, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 53, 33, - 21, 33, 2,207,213,213,203,254, 43, 4,115,254, 45,170,254, 20, 1, 66, 5, 43,170,170, 0, 0, 0, 1, 0,225,254,226, 4, 7, - 4, 96, 0, 11, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 53, 33, 21, 33, 2,208,195,195,184,254,201, 3, 38,254,201,184,254, 42, - 1, 30, 3,174,178,178, 0, 0,255,255, 0, 37, 0, 0, 4,172, 5,213, 16, 6, 0, 60, 0, 0, 0, 1, 0, 92,254, 86, 4,116, - 4, 96, 0, 8, 0, 0, 19, 51, 9, 1, 51, 1, 17, 35, 17, 92,195, 1, 73, 1, 73,195,254, 84,192, 4, 96,252,148, 3,108,251, -178,254, 68, 1,188, 0, 0, 0, 0, 1, 0, 37, 0, 0, 4,172, 5,213, 0, 16, 0, 0, 19, 51, 9, 1, 51, 1, 21, 33, 21, 33, - 17, 35, 17, 33, 53, 33, 53, 37,215, 1,108, 1,107,217,254, 33, 1, 10,254,246,203,254,248, 1, 8, 5,213,253,109, 2,147,252, -201, 80,170,254, 92, 1,164,170, 80, 0, 0, 0, 0, 1, 0, 92,254, 86, 4,116, 4, 96, 0, 16, 0, 0, 19, 51, 9, 1, 51, 1, - 21, 51, 21, 35, 21, 35, 53, 35, 53, 51, 53, 92,195, 1, 73, 1, 73,195,254, 84,200,200,192,200,200, 4, 96,252,148, 3,108,251, -178, 53,150,241,241,150, 53, 0, 0, 1, 0, 18,254,190, 4,191, 5,213, 0, 15, 0, 0, 37, 51, 17, 35, 17, 35, 9, 1, 35, 9, - 1, 51, 9, 1, 51, 1, 4, 88,102,212, 5,254,146,254,117,218, 1,244,254, 80,217, 1, 72, 1, 78,217,254, 65,170,254, 20, 1, - 66, 2,131,253,125, 3, 23, 2,190,253,205, 2, 51,253, 66, 0, 0, 1, 0, 76,254,226, 4,134, 4, 96, 0, 15, 0, 0, 37, 51, - 17, 35, 17, 35, 9, 1, 35, 9, 1, 51, 9, 1, 51, 1, 3,250,140,196, 18,254,184,254,185,213, 1,184,254,111,204, 1, 41, 1, - 39,207,254,111,184,254, 42, 1, 30, 1,193,254, 63, 2, 72, 2, 24,254,107, 1,149,253,232, 0, 0, 1, 0,140, 0, 0, 4, 71, - 5,215, 0, 28, 0, 0, 1, 17, 35, 17, 52, 38, 35, 34, 7, 6, 7, 6, 21, 17, 35, 17, 51, 17, 54, 63, 1, 54, 63, 1, 50, 23, - 22, 23, 22, 4, 71,203,106,113,106, 87, 46, 22, 69,203,203, 35, 50, 48, 64,149, 48,160, 88, 14, 11, 85, 1,244,254, 12, 1,218, -151,142, 42, 21, 28, 92,171,254, 99, 5,215,253, 85, 39, 27, 26, 37, 10, 2, 84, 13, 16,112, 0,255,255, 0,195, 0, 0, 4, 27, - 6, 20, 16, 6, 0, 75, 0, 0,255,255, 0,201, 0, 0, 4, 6, 5,213, 16, 6, 0, 44, 0, 0,255,255, 0, 15, 0, 0, 4,194, - 7,109, 16, 38, 11,184, 0, 0, 16, 6, 3, 67, 0, 0, 0, 0,255,255, 0, 59, 0, 0, 4,151, 6, 72, 16, 38, 2,130, 0, 0, - 16, 6, 3, 99, 0, 0, 0, 0, 0, 1, 0,137,254,102, 4,184, 5,213, 0, 30, 0, 0, 1, 51, 50, 23, 22, 21, 17, 16, 7, 6, - 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 38, 43, 1, 7, 17, 35, 17, 51, 17, 1, 51, 2,115, 24,183,116,111,104,102,228, 76, 62, -134, 56, 55,124,124,151,119,203,203, 2,119,237, 3,113,119,114,238,254,206,254,244,124,122,170, 75, 75,194, 1, 34,159,158,127, -253,184, 5,213,253,104, 2,152, 0, 1, 0,236,254, 86, 4,109, 4, 96, 0, 31, 0, 0, 1, 51, 32, 23, 22, 21, 17, 20, 7, 6, - 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 39, 38, 43, 1, 7, 17, 35, 17, 51, 17, 1, 51, 2,106, 58, 1, 5, 72, 82, 82, 81,181, -193,172,110, 33, 38, 38, 49,134,221, 39,190,190, 1,227,224, 2,119, 71, 81,229,254,242,214, 96, 96,156, 48, 55,147, 1, 8,170, - 32, 41, 38,254, 63, 4, 96,254, 47, 1,209, 0, 0, 1, 0,137,254,102, 4, 72, 5,213, 0, 21, 0, 0, 37, 16, 7, 6, 43, 1, - 53, 51, 50, 55, 54, 53, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 4, 72,104,103,227, 76, 62,134, 56, 55,253,215,203,203, 2, 41, -203,104,254,242,122,122,170, 75, 75,194, 2, 95,253, 57, 5,213,253,156, 2,100, 0, 1, 0,195,254, 86, 4, 26, 4, 96, 0, 21, - 0, 0, 5, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 4, 26, 82, 81,181,193,172,110, - 33, 38,254, 25,184,184, 1,231,184, 20,214, 96, 96,156, 48, 55,147, 2, 13,254, 7, 4, 96,254, 67, 1,189, 0, 0, 1, 0,140, -254,190, 4, 71, 5,215, 0, 32, 0, 0, 37, 17, 6, 15, 1, 6, 15, 1, 34, 39, 38, 39, 38, 53, 17, 51, 17, 20, 22, 51, 50, 55, - 54, 55, 54, 53, 17, 51, 17, 35, 17, 35, 17, 3,124, 35, 51, 47, 64,149, 48,160, 88, 14, 12, 84,203,106,113,106, 87, 46, 21, 70, -203,203,213,170, 2, 36, 39, 27, 26, 37, 10, 2, 84, 13, 16,112,228, 1,209,254, 73,151,142, 42, 21, 28, 92,171, 1,122,250, 41, -254,190, 1,236, 0, 1, 0,195,254,226, 4, 27, 4, 98, 0, 26, 0, 0, 37, 17, 6, 7, 54, 7, 6, 35, 34, 38, 53, 17, 51, 17, - 20, 22, 51, 50, 54, 61, 1, 51, 17, 35, 17, 35, 17, 3, 99, 27, 60, 3, 49, 84,115,171,169,185,106,113,129,139,184,184,195,184, - 1,126, 51, 36, 1, 28, 50,225,228, 1, 11,254,245,151,142,183,171,206,251,158,254,226, 1,214, 0, 1, 1,199, 0, 0, 2,127, - 6, 31, 0, 3, 0, 0, 1, 17, 35, 17, 2,127,184, 6, 31,249,225, 6, 31, 0,255,255, 0, 37, 0, 0, 4,172, 7,109, 16, 38, - 11,184, 0, 0, 17, 6, 3, 61, 0, 0, 0, 24,180, 19, 8, 0, 24, 7, 43, 64, 13, 95, 8, 80, 0, 79, 8, 64, 0, 47, 8, 32, - 0, 6, 93, 49,255,255, 0,133,255,227, 4, 35, 6, 72, 16, 38, 2,130, 0, 0, 16, 6, 3, 93, 0, 0, 0, 0,255,255, 0, 37, - 0, 0, 4,172, 7, 78, 16, 38, 3, 61, 0, 0, 17, 7, 11,176, 0, 0, 1,117, 0, 28,180, 5, 17, 14, 10, 7, 43, 64, 17,112, - 14,127, 17, 48, 14, 63, 17, 32, 14, 47, 17, 0, 14, 15, 17, 8, 93, 49, 0, 0,255,255, 0,133,255,227, 4, 35, 6, 16, 16, 38, - 0,106, 0, 0, 16, 6, 3, 93, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 4,156, 5,213, 16, 6, 0,136, 0, 0,255,255, 0, 41, -255,227, 4,176, 4,123, 16, 6, 0,168, 0, 0,255,255, 0,197, 0, 0, 4, 78, 7,109, 16, 38, 11,184, 18, 0, 16, 6, 3, 66, - 0, 0, 0, 0,255,255, 0,123,255,227, 4, 88, 6, 72, 16, 38, 2,130, 14, 0, 16, 6, 3, 98, 0, 0, 0, 0,255,255, 0,117, -255,227, 4, 92, 5,240, 18, 6, 1, 81, 0, 0,255,255, 0,122,255,227, 4, 87, 4,123, 18, 6, 1,247, 0, 0,255,255, 0,117, -255,227, 4, 92, 7, 78, 16, 39, 11,176, 0, 0, 1,117, 16, 6, 3,185, 0, 0,255,255, 0,122,255,227, 4, 87, 6, 16, 16, 38, - 0,106, 0, 0, 16, 6, 3,186, 0, 0, 0, 0,255,255, 0, 15, 0, 0, 4,194, 7, 78, 16, 39, 11,176, 0, 0, 1,117, 16, 6, - 3, 67, 0, 0,255,255, 0, 59, 0, 0, 4,151, 6, 16, 16, 38, 0,106, 0, 0, 16, 6, 3, 99, 0, 0, 0, 0,255,255, 0,137, -255,227, 4, 55, 7, 78, 16, 39, 11,176,255,239, 1,117, 16, 6, 3, 68, 0, 0,255,255, 0,169,255,234, 4, 40, 6, 16, 16, 38, - 0,106,241, 0, 16, 6, 3,100, 0, 0, 0, 0,255,255, 0, 26,255,228, 4,183, 5,213, 16, 6, 1,121, 0, 0,255,255, 0,125, -254, 76, 4, 84, 4, 96, 16, 6, 2, 48, 0, 0,255,255, 0,139, 0, 0, 4, 70, 7, 48, 16, 38, 11,189, 0, 0, 16, 6, 3, 69, - 0, 0, 0, 0,255,255, 0,195, 0, 0, 4, 26, 5,246, 16, 38, 2,128, 0, 0, 16, 6, 3,101, 0, 0, 0, 0,255,255, 0,139, - 0, 0, 4, 70, 7, 78, 16, 39, 11,176, 0, 0, 1,117, 16, 6, 3, 69, 0, 0,255,255, 0,195, 0, 0, 4, 26, 6, 16, 16, 38, - 0,106, 0, 0, 16, 6, 3,101, 0, 0, 0, 0,255,255, 0,117,255,227, 4, 92, 7, 78, 16, 38, 3, 75, 0, 0, 17, 7, 11,176, - 0, 0, 1,117, 0, 28,180, 12, 30, 27, 18, 7, 43, 64, 17,112, 27,127, 30, 48, 27, 63, 30, 32, 27, 47, 30, 0, 27, 15, 30, 8, - 93, 49, 0, 0,255,255, 0,137,255,227, 4, 72, 6, 16, 16, 38, 3,107, 0, 0, 17, 6, 0,106, 0, 0, 0, 20,180, 15, 30, 27, - 21, 7, 43, 64, 9,127, 30,112, 27, 79, 30, 64, 27, 4, 93, 49,255,255, 0,117,255,227, 4, 92, 5,240, 16, 6, 3, 33, 0, 0, -255,255, 0,137,255,227, 4, 72, 4,123, 16, 6, 2, 19, 0, 0,255,255, 0,117,255,227, 4, 92, 7, 78, 16, 39, 11,176, 0, 0, - 1,117, 16, 6, 3,201, 0, 0,255,255, 0,137,255,227, 4, 72, 6, 16, 16, 38, 0,106, 0, 0, 16, 6, 3,202, 0, 0, 0, 0, -255,255, 0,139,255,227, 4, 49, 7, 78, 16, 39, 11,176,255,223, 1,117, 16, 6, 3, 90, 0, 0,255,255, 0,195,255,227, 4, 37, - 6, 16, 16, 38, 0,106,236, 0, 16, 6, 3,122, 0, 0, 0, 0,255,255, 0,104, 0, 0, 4,129, 7, 48, 16, 38, 11,189, 0, 0, - 16, 6, 3, 80, 0, 0, 0, 0,255,255, 0,104,254, 86, 4,129, 5,246, 16, 38, 2,128, 0, 0, 16, 6, 3,112, 0, 0, 0, 0, -255,255, 0,104, 0, 0, 4,129, 7, 78, 16, 39, 11,176, 0, 0, 1,117, 16, 6, 3, 80, 0, 0,255,255, 0,104,254, 86, 4,129, - 6, 16, 16, 38, 0,106, 0, 0, 16, 6, 3,112, 0, 0, 0, 0,255,255, 0,104, 0, 0, 4,129, 7,107, 16, 38, 11,186, 0, 0, - 16, 6, 3, 80, 0, 0, 0, 0,255,255, 0,104,254, 86, 4,129, 6,102, 16, 38, 2,135, 0, 0, 16, 6, 3,112, 0, 0, 0, 0, -255,255, 0,137, 0, 0, 4, 68, 7, 78, 16, 39, 11,176, 0, 0, 1,117, 16, 6, 3, 84, 0, 0,255,255, 0,195, 0, 0, 4, 27, - 6, 16, 16, 38, 0,106, 0, 0, 16, 6, 3,116, 0, 0, 0, 0, 0, 1, 0,215,254,190, 4,115, 5,213, 0, 9, 0, 0, 37, 51, - 17, 35, 17, 35, 17, 33, 21, 33, 1,162,213,213,203, 3,156,253, 47,170,254, 20, 1, 66, 5,213,170, 0, 0, 0, 0, 1, 1, 1, -254,226, 3,241, 4, 96, 0, 9, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 21, 33, 1,185,195,195,184, 2,240,253,200,184,254, 42, - 1, 30, 4, 96,184, 0, 0, 0,255,255, 0, 65, 0, 0, 4,110, 7, 78, 16, 39, 11,176, 0, 0, 1,117, 16, 6, 3, 88, 0, 0, -255,255, 0,104, 0, 0, 4,105, 6, 16, 16, 38, 0,106, 0, 0, 16, 6, 3,120, 0, 0, 0, 0, 0, 1, 1,214, 0, 0, 2,251, - 1,236, 0, 5, 0, 0, 33, 35, 53, 19, 51, 3, 2,169,211,164,129, 82,172, 1, 64,254,192, 0, 0, 2, 1,100, 4,253, 3,109, - 6,241, 0, 10, 0, 27, 0, 0, 1, 51, 50, 55, 54, 53, 52, 39, 6, 7, 6, 23, 43, 1, 53, 51, 17, 51, 17, 54, 55, 54, 23, 22, - 21, 20, 7, 6, 2, 53, 55, 77, 23, 53, 30, 15, 57, 51, 23,175,112, 81,102, 36,104, 63, 70, 65, 64, 54, 5, 98, 13, 33, 21, 31, - 16, 4, 22, 20,169,101, 1,143,254,191, 73, 40, 24, 26, 25, 82, 91, 50, 42, 0, 0, 2, 1,214, 0, 0, 2,251, 5, 17, 0, 5, - 0, 9, 0, 0, 1, 35, 53, 19, 51, 11, 1, 51, 21, 35, 2,169,211,164,129, 82,211,211,211, 3, 37,172, 1, 64,254,192,253, 45, -254, 0, 0, 0, 0, 2, 0,218, 0, 0, 3,247, 5,240, 0, 3, 0, 36, 0, 0, 37, 21, 35, 53, 55, 53, 52, 38, 39, 46, 1, 47, - 1, 46, 1, 53, 52, 54, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 21, 20, 22, 31, 1, 30, 1, 29, 1, 3, 3,203, 6, 6, 6, 8, - 39, 47, 88, 90, 72,223,184,103,193, 94, 97,179, 79,108,131, 51, 57, 90, 90, 56,254,254,254,147,123, 52, 60, 21, 25, 53, 47, 86, - 86,137, 76,159,194, 56, 57,188, 67, 70,110, 89, 49, 94, 53, 89, 86,130,101,154, 0, 1, 1,178, 0, 85, 4, 45, 3,222, 0, 34, - 0, 0, 37, 53, 54, 55, 54, 55, 38, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 21, 38, 7, 6, 7, 6, 23, 20, 23, 22, 55, 54, - 55, 21, 6, 7, 6, 1,178, 47, 83, 68, 52,142, 51, 53, 21, 30,103, 99, 98,110, 90,100, 70, 51, 49, 96, 1,200, 57, 58, 72, 58, - 90,205,231, 85,176, 6, 25, 20, 33, 24, 76, 79, 84, 65, 75,118, 63, 61, 22,185, 31, 2, 1, 26, 48,112,115, 50, 14, 15, 19, 35, -185, 60, 80, 90,255,255, 1, 0, 0, 0, 3,208, 7,131, 16, 38, 3,229, 0, 0, 16, 7, 4, 12, 0, 0, 1,194,255,255, 1,189, - 0, 0, 3, 20, 7,254, 16, 38, 3,229, 0, 0, 16, 7, 4, 13, 0, 0, 1,134,255,255, 0, 76,254, 12, 4, 51, 4,182, 16, 38, - 4, 1, 0, 0, 16, 7, 4, 13, 0, 99,254, 62,255,255, 1,189,254, 12, 3, 20, 6, 20, 16, 38, 3,229, 0, 0, 16, 6, 4, 14, - 0, 0, 0, 0,255,255, 0, 25,254,243, 4,209, 4, 92, 16, 38, 4, 2, 0, 0, 16, 7, 4, 13,255,114,253,228, 0, 1, 2, 12, - 0, 0, 2,196, 6, 20, 0, 3, 0, 0, 1, 51, 17, 35, 2, 12,184,184, 6, 20,249,236, 0, 0,255,255, 0, 69,254,200, 4,176, - 2, 27, 16, 39, 11,195, 2, 44,254,200, 16, 6, 4, 30, 0, 0,255,255, 0,222,255,198, 3,243, 4, 26, 16, 39, 11,196, 1,113, - 3,132, 16, 6, 4, 0, 0, 0,255,255, 0, 69,255,235, 4,176, 3, 32, 16, 39, 11,196, 1,184, 2,138, 16, 6, 4, 30, 0, 0, -255,255, 0, 69,255,235, 4,176, 4, 26, 16, 39, 11,197, 1,164, 2,138, 16, 6, 4, 30, 0, 0,255,255, 0, 88,254, 11, 4,173, - 3,103, 16, 39, 11,195, 2,151, 0, 13, 16, 6, 3,235, 0, 0, 0, 1, 0, 88,254, 11, 4,173, 3,103, 0, 30, 0, 0, 19, 36, - 23, 4, 23, 21, 36, 7, 6, 21, 20, 23, 22, 5, 50, 55, 21, 6, 7, 4, 39, 38, 53, 16, 55, 54, 55, 38, 7, 6, 7, 88, 1, 20, -195, 1, 36,196,254,218,215,224, 74,129, 1, 19,193,212,150,250,254,148,169,131,212, 96,137,101,159,135, 95, 3, 39, 64, 1, 1, - 53,154, 13,180,188,247,137, 94,163, 1,118,184, 98, 1, 2,196,152,222, 1, 2,223,101, 52, 3, 22, 19, 41, 0,255,255, 0, 88, -254, 11, 4,173, 4,176, 16, 39, 11,195, 1,202, 4, 26, 16, 6, 3,235, 0, 0, 0, 1, 0,232,255,218, 3,232, 3,106, 0, 25, - 0, 0, 37, 54, 55, 54, 53, 52, 39, 38, 39, 51, 22, 23, 22, 21, 20, 7, 6, 5, 6, 35, 34, 39, 53, 22, 51, 50, 2, 84,174, 33, - 8, 60, 73,166,227,107, 72, 82, 32, 80,254,250, 46, 94,151,103,115,133, 82,151, 50,111, 27, 42, 91,103,120,179,108,131,152,105, - 99, 75,195, 40, 7, 38,184, 42,255,255, 0,232,255,218, 3,232, 4,200, 16, 39, 11,195, 2, 28, 4, 50, 16, 6, 3,237, 0, 0, - 0, 1,255,204,254, 8, 4, 68, 2, 34, 0, 17, 0, 0, 37, 54, 53, 52, 39, 51, 22, 21, 20, 7, 2, 5, 4, 5, 53, 32, 55, 36, - 3,133, 10, 53,184, 50, 8, 41,254,181,254,239,254, 21, 1,188,220, 0,255,154, 58, 72,126,136,118,132, 82, 62,254,181,173,143, - 9,184,128,146,255,255,255,204,254, 8, 4, 68, 3,182, 16, 39, 11,195, 3, 85, 3, 32, 16, 6, 3,239, 0, 0, 0, 1,255, 33, -254, 20, 4,152, 2,238, 0, 63, 0, 0, 37, 6, 7, 6, 7, 6, 35, 34, 39, 38, 55, 54, 55, 51, 6, 23, 22, 23, 22, 51, 50, 55, - 54, 55, 54, 39, 52, 47, 1, 51, 23, 22, 23, 22, 23, 22, 55, 54, 53, 51, 6, 23, 22, 51, 50, 25, 1, 51, 17, 20, 7, 6, 7, 6, - 35, 34, 39, 38, 39, 6, 7, 6, 7, 6, 1,140, 9, 29, 38, 60, 71,114, 95,101,117, 18, 19, 61,164, 88, 6, 7, 33, 47, 47, 54, - 50, 34, 26, 24, 2, 16, 42,160, 18, 16, 22, 48, 40, 46, 46, 36,164, 4, 38, 31, 43,104,164, 62, 33, 85, 22, 78, 66, 24, 65, 25, - 31, 69, 51, 73, 48, 60,168, 94,121, 77, 92,100,115,213,232,130,225,137,172, 43, 59, 72, 50,122,109,165, 94, 92,234,156,145, 35, - 80, 3, 3,125,103,194,163,141,120, 1, 24, 1, 38,254,170,159,153, 82, 34, 9, 25, 67,126,109, 56, 40, 2, 2,255,255,255, 33, -254, 20, 4,152, 4,176, 16, 39, 11,197, 1, 99, 3, 32, 16, 6, 3,241, 0, 0, 0, 2,255, 16,254, 20, 4,192, 2,143, 0, 12, - 0, 61, 0, 0, 37, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 7, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 43, 1, 34, - 39, 38, 53, 20, 7, 6, 7, 6, 35, 34, 39, 38, 53, 52, 55, 51, 6, 21, 20, 23, 22, 55, 54, 55, 54, 53, 52, 39, 38, 39, 51, 20, - 23, 22, 2, 72,128,141, 73,106, 40, 36, 64, 71,103, 76,196, 75, 49,142,154,172, 90, 88,184,127,127,218, 37, 53, 44, 48, 46, 51, - 99, 77,130, 91,124,100,172,104, 60, 50, 61, 66, 37, 65, 9, 33, 13,170, 14, 10,184, 46, 68, 70, 45, 37, 33,109, 78, 6,128, 60, -177, 82, 78,121,190,109, 75, 30, 26, 16,175,131,129, 43, 86, 90,127,203,188,172,204,156,145, 50, 41, 3, 4, 59,106,136,104, 62, -212, 72, 15, 55, 40, 0, 0, 0,255,255,255, 16,254, 20, 4,192, 3, 77, 16, 39, 11,195, 1, 79, 2,183, 16, 6, 3,243, 0, 0, - 0, 2, 0, 10, 0, 0, 4,164, 6, 20, 0, 12, 0, 31, 0, 0, 37, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 19, 33, 35, - 53, 51, 17, 51, 17, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 2, 44,129,140, 73,106, 40, 36, 63, 71,104, 75,136,253,251,224, -224,184, 76, 49,142,154,171, 91, 87,184,126,184, 46, 68, 70, 45, 37, 33,109, 78,254,216,184, 5, 92,251, 14,128, 60,177, 82, 78, -121,190,109, 75,255,255, 0, 10, 0, 0, 4,164, 6, 20, 16, 39, 11,195, 2, 89, 3, 22, 16, 6, 3,245, 0, 0, 0, 1, 0,122, -254, 12, 4,183, 4, 42, 0, 42, 0, 0, 5, 22, 33, 50, 55, 21, 6, 35, 32, 39, 38, 53, 52, 55, 54, 55, 38, 39, 38, 53, 52, 55, - 54, 51, 21, 34, 7, 6, 21, 20, 23, 22, 51, 50, 55, 54, 55, 21, 4, 7, 6, 21, 20, 1, 88,119, 1, 83,193,212,150,250,254, 91, -166, 98, 87,113, 77, 51, 47, 88,204,124,252,195,116, 93, 48, 45, 46, 40, 41,158,254,254,239,236,209,177,158,118,184, 99,188,111, -201,177,101,131, 25, 4, 30, 56,130,208,127, 77,169, 65, 52,104, 75, 25, 24, 18, 69, 29,184, 26,149,131,185,117,255,255, 0,122, -254, 12, 4,183, 5, 70, 16, 39, 11,195, 1,125, 4,176, 16, 6, 3,247, 0, 0, 0, 1,255,236, 0, 0, 4,229, 0,184, 0, 3, - 0, 0, 35, 53, 33, 21, 20, 4,249,184,184, 0,255,255,255,181,255,164, 4,140, 4,204, 16, 39, 11,195, 2,252, 4, 54, 16, 6, - 4, 51, 0, 0,255,255, 0, 31,254,124, 4,116, 5, 20, 16, 39, 11,196, 2, 83, 4,126, 16, 6, 4, 31, 0, 0, 0, 2, 0, 8, -255,200, 4,159, 6, 20, 0, 33, 0, 61, 0, 0, 1, 21, 6, 7, 6, 21, 20, 23, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 53, 22, - 51, 50, 55, 54, 53, 52, 39, 38, 39, 38, 55, 54, 55, 54, 1, 54, 25, 1, 51, 17, 16, 7, 6, 7, 6, 35, 6, 39, 38, 53, 52, 55, - 51, 6, 21, 22, 23, 22, 51, 50, 55, 54, 2,123, 74, 38, 80, 14, 12, 68,102, 88, 82, 78, 66, 56, 68, 45, 60, 57, 60, 78, 74, 18, - 32, 1, 2, 75, 85, 1,171, 52,184, 86,130, 67,155,184,173,163,217, 16,184, 14, 2,152,121, 87,127, 62,119, 4, 76, 82, 4, 14, - 30, 33, 28, 18, 16, 10, 15, 88,110, 42, 39, 11, 88, 10, 26, 26, 30, 38, 17, 16, 28, 47, 46, 81, 38, 43,252,209, 56, 1, 18, 3, -177,252, 79,254,154, 92,136, 25, 55, 2, 57, 76,184, 75, 53, 58, 44, 93, 45, 35, 27, 52, 0, 0, 0, 1, 0, 66,254,200, 4, 75, - 6, 20, 0, 27, 0, 0, 37, 54, 25, 1, 51, 17, 16, 7, 6, 7, 6, 35, 34, 39, 38, 3, 38, 55, 51, 6, 21, 20, 23, 22, 51, 50, - 55, 54, 3,117, 30,184, 50,108,101,150,162, 99,119,242, 1, 1, 64,184, 65,166, 40, 73,105, 84, 99, 73, 57, 1, 40, 4,106,251, -150,254,122, 71,156, 49, 72, 42, 86, 1, 3,138, 92,115,115,126, 66, 16, 34, 41, 0, 2, 0,130,254, 20, 4, 84, 2,243, 0, 17, - 0, 46, 0, 0, 1, 22, 51, 50, 55, 54, 53, 52, 39, 38, 39, 38, 35, 34, 7, 6, 21, 20, 7, 38, 7, 6, 21, 17, 35, 17, 52, 55, - 54, 51, 38, 53, 52, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 35, 6, 2, 88,122, 76, 44, 21, 53, 6, 21, 59, 40, 46, 59, - 27, 68,110, 50, 75, 25,200,120, 65, 90, 2,162, 77, 92, 77, 79,182, 28, 8, 98,120, 88,178, 1, 39, 42, 22, 57, 58, 24, 20, 88, - 17, 12, 27, 68, 68, 40,193, 28, 78, 26, 79,254, 20, 1,236,173,102, 55, 42, 40,148,132, 63, 36, 83,167, 45, 56,146, 65, 80, 2, -255,255, 0, 54,254,181, 4,141, 3, 96, 16, 39, 11,195, 1,234, 2,202, 16, 6, 4, 56, 0, 0, 0, 2, 0,222,255,198, 3,243, - 2,222, 0, 15, 0, 31, 0, 0, 1, 34, 7, 6, 23, 22, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 39, 50, 23, 22, 21, 6, 7, 6, - 35, 34, 39, 38, 53, 52, 55, 54, 2, 14, 66, 33, 26, 1, 1, 55, 57, 57, 91, 93, 75, 66,123,152,198,182,141, 1,147,165,132, 96, - 81,167, 37, 84, 2, 42, 87, 69,123, 82, 44, 44, 57, 46, 85, 77, 65,120,179,160,124,148,200, 75, 85, 35, 74,239,181, 78,185, 0, - 0, 2, 0, 76,254, 12, 4, 51, 2,134, 0, 11, 0, 38, 0, 0, 1, 34, 7, 6, 21, 20, 23, 22, 23, 52, 39, 38, 1, 16, 7, 6, - 7, 6, 33, 53, 32, 55, 54, 55, 38, 39, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 23, 22, 2,225, 63, 44, 24, 51, 47,192, 86, - 37, 1, 46,172, 45,186,190,254,106, 1,115,161,224, 49,118, 45,139, 51,116,211, 57, 62, 89, 72,131, 24, 17, 1,196, 57, 33, 36, - 55, 43, 40, 4,184, 59, 25,254,244,254,218,174, 46, 84, 86,184, 76,104,139, 3, 7, 24, 43, 98,137,217, 90, 24, 51, 91,142,102, - 0, 1, 0, 25,254,243, 4,209, 3, 28, 0, 53, 0, 0, 37, 6, 7, 6, 35, 34, 39, 36, 17, 52, 55, 51, 6, 23, 22, 23, 22, 51, - 50, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 55, 54, 55, 54, 51, 50, 23, 22, 23, 35, 52, 39, 38, 7, 6, 7, 6, 21, 20, 23, 22, - 23, 22, 23, 22, 4,121,132,224,177, 93,129, 72,254,219, 63,184, 66, 1, 2,164, 75, 83,120,108,107, 65, 59, 27, 34,132, 98, 1, - 1, 94, 77, 96,143, 55, 50, 17,184, 19, 27, 39, 20, 24, 35,125, 91, 55, 31, 1, 1, 12,195, 48, 38, 26,104, 1, 5,117,113,131, - 99,147, 45, 20, 35, 35, 78, 71, 34, 46, 42, 51, 58, 44,131,150, 61, 50, 73, 66,137, 61, 25, 34, 4, 2, 20, 30, 57, 41, 44, 32, -103, 58, 94, 77,255,255, 0, 25,254, 12, 4,209, 3, 28, 16, 39, 11,196, 1,114,254, 12, 16, 6, 4, 2, 0, 0, 0, 2, 1, 68, - 4,186, 3,140, 6,154, 0, 3, 0, 7, 0, 0, 1, 53, 37, 21, 1, 53, 37, 21, 1, 68, 2, 72,253,184, 2, 72, 5,170,110,130, -110,254,142,110,130,110, 0, 0, 0, 2, 1, 68, 4,186, 3,140, 6,253, 0, 38, 0, 53, 0, 0, 1, 54, 55, 38, 39, 38, 53, 52, - 55, 54, 51, 50, 23, 22, 21, 20, 7, 22, 51, 22, 51, 21, 34, 47, 1, 6, 7, 6, 35, 34, 39, 38, 53, 51, 20, 23, 22, 51, 50, 55, - 54, 55, 54, 53, 52, 38, 35, 34, 7, 6, 21, 20, 23, 22, 2,116, 36, 22, 33, 23,108, 68, 29, 63, 73, 39, 56, 13, 19, 14, 19, 19, - 46, 20, 52, 26, 76, 84, 94,115, 55, 16, 90, 12, 36, 48, 56,158, 4, 2, 10, 34, 20, 24, 10, 18, 44, 20, 5,100, 36, 42, 7, 13, - 57, 94, 87, 52, 21, 39, 54, 79, 39, 38, 1, 1,110, 2, 5, 61, 78, 86,154, 41,113, 97, 26, 75,238, 7, 7, 21, 24, 34, 28, 9, - 13, 28, 37, 18, 8, 0, 0, 0, 0, 2, 1, 68,254, 22, 3,140,255,246, 0, 3, 0, 7, 0, 0, 1, 53, 37, 21, 37, 53, 37, 21, - 1, 68, 2, 72,253,184, 2, 72,254, 22,110,130,110,110,110,130,110, 0, 0, 0, 0, 1, 1, 68, 4,186, 3,140, 5,170, 0, 3, - 0, 0, 1, 53, 37, 21, 1, 68, 2, 72, 4,186,110,130,110, 0, 0, 2, 1, 68, 4,185, 3,140, 6,253, 0, 31, 0, 47, 0, 0, - 1, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 21, 20, 7, 22, 51, 22, 51, 21, 34, 39, 38, 39, 6, 7, 6, 35, 53, 50, 55, 54, - 55, 54, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 2,146, 9, 19,108, 68, 29, 63, 73, 39, 56, 15, 17, 18, 19, 19, - 34, 32, 31, 27, 43, 69,201,147,153,139, 22, 86, 4, 2, 10, 18, 16, 20, 24, 10, 18, 44, 20, 5,186, 2, 10, 56, 95, 87, 52, 21, - 39, 54, 79, 32, 45, 1, 1,110, 2, 2, 3, 61, 42,123,110,109, 18,112, 7, 7, 21, 24, 34, 14, 14, 9, 13, 28, 37, 18, 8, 0, - 0, 1, 1, 68,254,232, 3,140,255,216, 0, 3, 0, 0, 1, 53, 37, 21, 1, 68, 2, 72,254,232,110,130,110, 0, 0, 1, 1, 48, - 4,202, 3,161, 6,244, 0, 40, 0, 0, 1, 6, 7, 6, 7, 6, 39, 38, 53, 52, 55, 51, 6, 23, 22, 23, 22, 55, 54, 55, 54, 53, - 51, 20, 23, 22, 55, 54, 53, 52, 39, 51, 22, 7, 6, 7, 6, 7, 6, 39, 38, 2,120, 15, 33, 57, 69, 79, 41, 34, 16, 97, 12, 1, - 3, 22, 19, 50, 61, 4, 2, 96, 3, 14, 75, 71, 13,103, 15, 3, 3, 24, 38, 90, 71, 31, 27, 5,132, 77, 39, 68, 1, 2, 65, 50, -111,109, 98,125, 56, 84, 34, 28, 23, 26,168, 82, 89, 36, 54,197, 2, 1,173,115, 57, 73,116,133, 54, 88, 11, 9, 33, 30, 0, 0, - 0, 2, 1, 86, 4,225, 3,122, 7, 6, 0, 9, 0, 19, 0, 0, 1, 52, 38, 34, 6, 21, 20, 22, 50, 62, 1, 20, 6, 35, 34, 38, - 52, 54, 51, 50, 3, 0, 88,128, 88, 88,128, 88,122,158,116,114,160,160,114,116, 5,244, 63, 88, 87, 64, 65, 87, 88,179,230,160, -160,230,159, 0, 0, 1, 1, 0, 4,185, 3,208, 5,193, 0, 18, 0, 0, 1, 55, 22, 23, 22, 51, 50, 55, 54, 55, 21, 6, 7, 6, - 35, 34, 38, 39, 7, 1, 0,160,103, 67, 42, 54, 58, 42,107, 87, 90, 90, 66, 54, 34,152, 68,166, 5, 54,123, 83, 21, 13, 16, 41, - 76,125, 64, 29, 22, 34, 70,128,255,255, 1,189, 4,191, 3, 20, 6,120, 16, 6, 4, 32, 0,141,255,255, 1,189,254, 12, 3, 20, -255,197, 16, 7, 4, 32, 0, 0,248,218, 0, 0, 0, 1, 1, 92, 4,238, 3,118, 6, 52, 0, 6, 0, 0, 1, 3, 51, 23, 55, 51, - 3, 2, 30,194,138,130,130,140,196, 4,238, 1, 70,195,195,254,186, 0, 0, 0, 0, 1, 1,250, 1,194, 2,214, 2,188, 0, 3, - 0, 0, 1, 51, 21, 35, 1,250,220,220, 2,188,250, 0, 0, 0, 0, 1, 1,150, 0, 0, 3, 60, 5, 20, 0, 9, 0, 0, 33, 35, - 16, 39, 2, 3, 51, 18, 19, 22, 3, 60,180, 38, 49,155,196,121, 73, 32, 1,169,220, 1, 33, 1,110,254,221,254,148,155, 0, 0, - 0, 1, 0,154, 0, 0, 4, 56, 5, 20, 0, 24, 0, 0, 1, 22, 23, 22, 17, 35, 16, 39, 2, 3, 51, 22, 23, 22, 51, 22, 55, 54, - 55, 51, 6, 7, 2, 35, 34, 1,237, 28, 23, 32,180, 38, 49,155,198, 67, 3, 82,180,122, 54, 32, 8,180, 8, 42, 98,244,111, 3, - 97,106,114,155,254, 22, 1,169,220, 1, 33, 1,110,155, 5,152, 2,149, 85, 80,121,109,254,250, 0, 1, 0,134, 0, 0, 4, 76, - 5, 20, 0, 37, 0, 0, 1, 22, 23, 22, 17, 35, 16, 39, 2, 3, 51, 22, 23, 22, 55, 54, 55, 54, 53, 51, 20, 23, 22, 23, 22, 55, - 54, 53, 51, 16, 7, 6, 35, 34, 39, 6, 7, 6, 1,228, 24, 16, 32,180, 38, 49,155,196, 47, 40, 19, 48, 72, 8, 6,180, 14, 21, - 47, 60, 14, 14,180, 40, 70,156,132, 33, 51, 52, 46, 3, 53, 87, 89,190,254, 57, 1,169,220, 1, 33, 1,110,114,124, 62, 8, 12, - 64, 50,166,222, 25, 37, 2, 2, 44, 42,202,254,207, 59,108, 62, 51, 12, 10, 0, 0, 1, 0,236,255,236, 3,228, 5, 32, 0, 42, - 0, 0, 1, 21, 6, 7, 6, 21, 20, 23, 22, 23, 21, 34, 7, 6, 21, 20, 23, 22, 23, 50, 55, 54, 55, 21, 6, 7, 6, 35, 34, 39, - 38, 53, 52, 55, 54, 55, 38, 39, 38, 39, 38, 55, 54, 3, 96,121,103,136, 92, 78, 78, 89,135,112, 48, 60, 74, 98, 88,126, 86, 72, -124,101,101,150,112,100,108, 64, 88, 72, 44, 55, 1, 1,225,113, 5, 32,168, 17, 52, 67, 64, 35, 57, 48, 4,164, 76, 64,114, 82, - 60, 74, 1, 23, 33, 43,196, 37, 28, 23,125,112,165,134,128, 76, 24, 32, 48, 58, 63,150,128, 63, 0, 2, 0,202,255,236, 4, 8, - 5, 37, 0, 13, 0, 28, 0, 0, 0, 34, 7, 6, 7, 6, 23, 22, 32, 55, 54, 39, 38, 39, 3, 22, 19, 22, 21, 16, 7, 6, 32, 39, - 38, 17, 52, 55, 18, 2,171,133, 86, 79, 3, 5, 71, 41, 0,255, 40, 72, 4, 4, 78,154,191,135, 90, 86,104,254, 61,105, 84, 90, -135, 4,104,212,192,174,199,115, 66, 66,115,199,174,192, 1,144, 1,254,161,235,179,254,203,117,144,144,117, 1, 53,179,235, 1, - 97, 0, 0, 0, 0, 1, 0,154, 0, 0, 4, 55, 5, 20, 0, 17, 0, 0, 1, 16, 19, 18, 19, 35, 2, 3, 2, 39, 6, 35, 34, 39, - 53, 22, 51, 50, 3,147, 37, 29, 98,196, 85, 31, 28, 2, 96,142,178,167,180,165,210, 5, 20,254,220,254,159,254,235,254,134, 1, - 68, 1, 75, 1, 42,145, 28, 50,180, 50, 0, 0, 0, 1, 0,126, 0, 0, 4, 82, 5, 20, 0, 18, 0, 0, 33, 38, 3, 2, 39, 51, - 18, 19, 22, 23, 54, 55, 18, 19, 51, 2, 3, 2, 7, 2, 14, 16, 98,160,126,196,154, 90, 48, 2, 2, 48, 90,154,196,164,120, 86, - 30,246, 1, 58, 1,254,230,254,202,254,197,168, 11, 11,168, 1, 59, 1, 54,254,211,254, 73,254,202,250, 0, 0, 0, 1, 0,126, - 0, 0, 4, 82, 5, 20, 0, 18, 0, 0, 1, 51, 22, 19, 18, 19, 35, 2, 3, 38, 39, 6, 7, 2, 3, 35, 54, 19, 18, 2, 14,180, - 30, 86,120,164,196,154, 90, 48, 2, 2, 48, 90,154,196,126,160, 98, 5, 20,250,254,202,254, 73,254,211, 1, 54, 1, 59,168, 11, - 11,168,254,197,254,202,230, 1,254, 1, 58, 0, 0, 2, 0,161, 0, 0, 4, 48, 5, 31, 0, 20, 0, 35, 0, 0, 1, 38, 39, 38, - 39, 38, 39, 38, 55, 54, 23, 22, 23, 22, 23, 22, 23, 18, 19, 35, 2, 3, 39, 38, 39, 38, 35, 34, 7, 6, 23, 22, 23, 22, 23, 22, - 2,252,205, 61,165, 66,103, 2, 4, 99,126,146,154, 92,128, 14, 10, 18, 36, 91,196, 92, 36, 7, 10, 34, 56,107, 78, 58, 58, 2, - 1, 59, 33, 77, 79, 2, 85, 3, 15, 41, 65,101,123,142, 98,126, 1, 1, 84,118,167,135,150,254,205,254,164, 1,156, 1,110, 87, -108, 60, 97, 55, 54, 71, 57, 54, 31, 13, 14, 0, 0, 3, 0,200, 0, 0, 4, 10, 5, 20, 0, 3, 0, 7, 0, 11, 0, 0, 37, 51, - 21, 35, 1, 51, 21, 35, 37, 51, 1, 35, 3, 70,180,180,253,144,180,180, 2,148,160,253, 94,160,250,250, 5, 20,250,250,250,236, - 0, 1, 1, 54,255, 31, 3,155, 2,139, 0, 17, 0, 0, 5, 54, 55, 54, 55, 54, 53, 52, 39, 51, 22, 21, 20, 7, 6, 7, 6, 7, - 1, 54,168,113,107, 47, 25, 21,150, 24, 75, 79,165,106,188, 70, 5,113,109,143, 80, 79, 96, 96, 78,111,170,160,166,113, 72, 6, - 0, 1, 1,214, 3,254, 2,251, 5,213, 0, 5, 0, 0, 1, 51, 21, 3, 35, 19, 2, 40,211,164,129, 82, 5,213,152,254,193, 1, - 63, 0, 0, 0, 0, 1, 0,146, 0,206, 4, 64, 4, 76, 0, 9, 0, 0, 19, 33, 27, 1, 33, 5, 19, 37, 5, 19,146, 1,103,111, -113, 1,103,254,221,112,254,219,254,221,111, 2,247, 1, 85,254,171,212,254,171,211,211, 1, 85, 0, 1, 0, 69,255,235, 4,176, - 2, 27, 0, 25, 0, 0, 1, 22, 21, 20, 7, 6, 5, 6, 39, 38, 53, 52, 55, 51, 6, 21, 20, 23, 22, 51, 50, 55, 54, 53, 52, 39, - 4,150, 26,166,152,254,233,223,154,157, 41,184, 43,117, 98,132,188,106,123, 25, 2, 27, 71,132,123,121,111, 1, 1, 57, 59,225, - 62,124,138, 48,108, 30, 25, 65, 76,106, 64, 71, 0, 2, 0, 31,254,124, 4,116, 3,217, 0, 15, 0, 56, 0, 0, 1, 54, 53, 52, - 39, 38, 7, 6, 7, 6, 7, 20, 23, 22, 51, 50, 1, 54, 55, 54, 17, 6, 35, 34, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, - 23, 22, 21, 20, 7, 6, 7, 6, 39, 38, 39, 38, 53, 52, 55, 51, 6, 7, 20, 23, 22, 3,129, 41, 66, 31, 44, 52, 40, 40, 1, 55, - 40, 42, 72,254, 91,212, 98,203, 63,122,133, 75, 98, 8, 23,150, 78, 76, 99, 57,103, 39, 33, 46, 57,165,187,233,206,138, 77, 82, -183, 86, 2, 18, 86, 2, 25, 43, 77, 59, 51, 25, 1, 1, 42, 41, 51, 80, 38, 25,253, 59, 2,102,212, 1, 52, 75, 67, 87,129, 45, - 51,148, 69, 36, 50, 90,119,102,160,252,142,179,131,148, 1, 1,191,106,125,180,216,187,153, 72, 40,176, 0, 0, 0, 1, 1,189, - 5, 50, 3, 20, 6,235, 0, 24, 0, 0, 1, 55, 38, 39, 38, 55, 54, 55, 54, 23, 22, 23, 21, 38, 35, 34, 7, 6, 21, 20, 23, 22, - 55, 21, 5, 1,189, 78, 44, 16, 17, 1, 2, 54, 56, 94, 61, 53, 51, 63, 66, 17, 29, 94, 33,120,254,169, 5,150, 18, 20, 36, 37, - 45, 95, 44, 46, 1, 1, 32,100, 33, 18, 32, 26, 77, 27, 10, 29,102, 77, 0, 0,255,255, 0, 69,255,235, 4,176, 4,153, 16, 39, - 3,220, 0, 42,253,168, 16, 6, 4, 30, 0, 0,255,255, 0, 69,255,235, 4,176, 4, 26, 16, 39, 11,204, 2, 22, 3,132, 16, 6, - 4, 30, 0, 0,255,255, 0, 69,254, 12, 4,176, 2, 27, 16, 39, 11,204, 2, 16,255, 6, 16, 6, 4, 30, 0, 0,255,255, 0, 69, -254, 12, 4,176, 3, 32, 16, 39, 11,208, 1,152,254, 12, 16, 38, 4, 30, 0, 0, 16, 7, 11,196, 1,184, 2,138,255,255, 0, 69, -255,235, 4,176, 3,182, 16, 39, 11,203, 1,169, 3, 32, 16, 6, 4, 30, 0, 0,255,255, 0, 69,254, 12, 4,176, 2, 27, 16, 39, - 11,203, 1,158,255, 6, 16, 6, 4, 30, 0, 0,255,255, 0, 69,255,235, 4,176, 4, 26, 16, 39, 11,205, 1,164, 3,132, 16, 6, - 4, 30, 0, 0,255,255, 0, 69,254, 12, 4,176, 2, 27, 16, 39, 11,205, 1,158,255, 6, 16, 6, 4, 30, 0, 0,255,255, 0, 88, -254, 11, 4,173, 5,176, 16, 39, 4, 13,255,174,255, 56, 16, 6, 3,235, 0, 0,255,255, 0, 88,254, 11, 4,173, 5,170, 16, 39, - 11,204, 1,194, 5, 20, 16, 6, 3,235, 0, 0,255,255, 0, 88,254, 11, 4,173, 3,103, 16, 39, 11,196, 2, 42, 0, 81, 16, 6, - 3,235, 0, 0,255,255, 0, 88,254, 11, 4,173, 3,103, 16, 39, 11,204, 2,203, 0,175, 16, 6, 3,235, 0, 0,255,255, 0, 88, -254, 11, 4,173, 5,170, 16, 39, 11,197, 1, 84, 4, 26, 16, 6, 3,235, 0, 0,255,255, 0, 88,254, 11, 4,173, 3,103, 16, 39, - 11,203, 2,106, 0,150, 16, 6, 3,235, 0, 0,255,255, 0, 88,254, 11, 4,173, 3,103, 16, 39, 11,205, 2, 98, 0,175, 16, 6, - 3,235, 0, 0,255,255,255,204,254, 8, 4,208, 4,168, 16, 38, 3,239, 0, 0, 16, 7, 3,220, 1, 98,253,183,255,255,255,204, -254, 8, 4,181, 4, 6, 16, 38, 3,239, 0, 0, 16, 7, 4, 15, 1, 62,253,210,255,255,255,204,254, 8, 4,101, 4,113, 16, 39, - 11,197, 2,213, 2,225, 16, 6, 3,239, 0, 0, 0, 2,255,181,255,164, 4,140, 3,120, 0, 14, 0, 57, 0, 0, 1, 54, 53, 52, - 39, 38, 7, 34, 6, 7, 20, 23, 22, 51, 50, 19, 6, 7, 6, 35, 34, 39, 38, 3, 38, 55, 51, 6, 21, 20, 23, 22, 51, 50, 55, 54, - 55, 54, 55, 6, 35, 34, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 16, 3,163, 41, 66, 31, 44, 52, 80, 1, 55, - 38, 44, 72,157,105,167,178,165,163,114,244, 2, 2, 36,184, 36,120, 90,131,127, 84,188, 48, 65, 38, 63,122,133, 75, 98, 8, 23, -150, 78, 76, 90, 66, 96, 46, 23, 1,184, 44, 76, 57, 53, 26, 2, 84, 50, 82, 36, 26,254,166, 84, 38, 40, 41, 88, 1, 21,138, 92, - 94,136,147, 45, 34, 22, 50, 28, 40,104, 76, 68, 86,130, 44, 52,148, 68, 36, 50, 72,102, 51,139,254,187, 0, 0,255,255,255,181, -255,164, 4,140, 5,153, 16, 39, 11,197, 2,112, 4, 9, 16, 6, 4, 51, 0, 0, 0, 1, 0, 10,255,167, 5, 93, 6, 20, 0, 42, - 0, 0, 37, 50, 54, 55, 54, 53, 52, 47, 1, 38, 53, 52, 55, 54, 55, 1, 21, 1, 6, 21, 20, 31, 1, 22, 21, 20, 7, 6, 7, 6, - 35, 34, 39, 36, 17, 52, 55, 51, 6, 21, 20, 23, 22, 2, 38,162,218, 54, 52, 95,183, 62, 18, 46, 86, 2, 15,254,104, 71, 32,148, -142,104, 82,164, 99,207,112,108,254,182, 63,184, 65,203, 79, 88,106, 60, 57, 85, 57,105,202, 68, 71, 84, 31, 79, 65, 1,142,209, -254,194, 55, 46, 63, 35,162,155,111,157,117, 92, 78, 47, 32, 98, 1, 11,138, 92, 94,136,120, 72, 28, 0, 0, 0,255,255, 0, 10, -255,167, 5, 97, 7, 56, 16, 39, 11,206, 2,170, 0, 0, 16, 6, 4, 53, 0, 0,255,255, 0, 66,254,200, 4,250, 7,196, 16, 39, - 4, 15, 1,132, 1,144, 16, 6, 3,253, 0, 0, 0, 1, 0, 54,254,181, 4,141, 2,176, 0, 29, 0, 0, 1, 20, 7, 6, 7, 6, - 35, 34, 39, 38, 17, 52, 55, 51, 6, 21, 20, 23, 22, 51, 50, 55, 54, 55, 54, 53, 52, 39, 51, 22, 4,141,100, 71,142,140,129,172, -123,234, 53,184, 55,161, 57,129, 84, 63,157, 58, 34, 70,184, 72, 0,255,187,164,116, 60, 59, 63,120, 1, 18,174,142,174,142,180, - 67, 24, 20, 51,167, 98, 96,249,152,159, 0, 0, 0, 3, 0, 0,255,189, 4,147, 3,229, 0, 38, 0, 54, 0, 70, 0, 0, 40, 1, - 39, 38, 53, 52, 55, 51, 6, 21, 20, 23, 22, 51, 50, 55, 38, 39, 38, 53, 52, 55, 54, 23, 38, 39, 53, 22, 23, 4, 23, 22, 21, 20, - 7, 6, 35, 34, 39, 55, 54, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 37, 22, 21, 20, 7, 6, 7, 22, 51, 50, 55, - 54, 53, 52, 39, 38, 1,221,254,220, 67,118, 16,184, 14, 30, 45, 40, 59, 71, 45, 15, 18, 45, 48, 77, 44, 81,219,220, 1, 5, 59, - 14, 40, 74,175,131,154, 21, 36, 34, 39, 15, 22, 58, 65, 23, 22, 7, 21, 1, 71, 6, 98, 12, 17, 52, 49,126, 16, 7, 33, 29, 36, - 64,128, 75, 53, 58, 44, 43, 11, 16, 11,105, 69, 78, 64, 84, 83, 90, 9, 39, 14,185, 67,180,214,217, 52, 57,103, 61,113,108,228, - 27, 64, 72, 61, 46, 37, 52, 45, 43, 35, 30, 37,118,188, 37, 39,138,114, 14, 19, 46, 67, 30, 33, 60, 78, 69, 0,255,255, 0, 76, -254, 12, 4, 51, 4, 72, 16, 39, 4, 15, 0,112,254, 20, 16, 6, 4, 1, 0, 0,255,255, 0, 25,254,243, 4,209, 3, 28, 16, 6, - 4, 2, 0, 0,255,255, 0, 25,254,243, 4,209, 4, 20, 16, 39, 4, 15,255, 40,253,224, 16, 6, 4, 2, 0, 0,255,255, 0,222, -255,198, 3,243, 2,222, 16, 6, 4, 0, 0, 0,255,255, 1,250, 1,194, 2,214, 2,188, 16, 6, 4, 16, 0, 0,255,255, 1,150, - 0, 0, 3, 60, 5, 20, 16, 6, 4, 17, 0, 0,255,255, 0,154, 0, 0, 4, 56, 5, 20, 16, 6, 4, 18, 0, 0,255,255, 0,134, - 0, 0, 4, 76, 5, 20, 16, 6, 4, 19, 0, 0, 0, 1, 0,175, 0, 0, 4, 34, 5, 37, 0, 39, 0, 0, 1, 38, 53, 52, 55, 54, - 51, 50, 23, 21, 38, 7, 6, 7, 6, 21, 20, 23, 22, 55, 54, 55, 21, 6, 35, 34, 39, 22, 23, 22, 17, 35, 16, 39, 2, 3, 51, 22, - 23, 22, 2, 37, 4, 88, 92,108, 84, 88, 92, 68, 56, 30, 31, 25, 47, 48, 69,141,195, 61,141,146, 27, 23, 32,180, 37, 49,156,199, - 66, 3, 27, 4, 20, 15, 19,120, 58, 61, 25,156, 36, 2, 1, 33, 34, 21, 52, 21, 39, 2, 2, 17,180, 26, 81,106,114,155,254, 22, - 1,169,220, 1, 33, 1,110,155, 5, 56, 0, 0, 0, 2, 0,172,255,244, 4, 37, 5, 36, 0, 19, 0, 39, 0, 0, 1, 22, 51, 50, - 55, 54, 53, 52, 39, 38, 34, 7, 6, 21, 20, 23, 22, 51, 50, 55, 23, 6, 39, 38, 39, 38, 53, 16, 55, 18, 51, 50, 19, 22, 19, 22, - 7, 6, 7, 6, 2,194, 45, 50, 34, 18, 27, 87, 90,174, 91, 86, 27, 15, 37, 51, 44, 90, 40,145,160, 46, 53, 95,179,170,162,187, - 94, 1, 1, 53, 51,156,144, 1, 90,161, 74,107, 86,215,216,224,224,213,218, 60,133, 74,161,208,151, 2, 2,156,181,124, 1, 38, -196, 1,118,254,138,187,254,209,141,164,157, 1, 2, 0, 0, 0, 0, 1, 1, 8, 0, 0, 3,200, 5, 32, 0, 32, 0, 0, 33, 18, - 55, 54, 55, 34, 39, 38, 53, 52, 55, 54, 55, 54, 23, 21, 38, 35, 34, 7, 6, 21, 20, 23, 22, 51, 50, 55, 21, 6, 7, 6, 7, 1, - 8, 66,110, 68,100, 78, 46,134, 98,112,140,121, 87, 86,116, 62, 48, 66, 55, 44,103,140, 96,225,111,134, 54, 0,255,181,111, 85, - 37,109,151,175, 96,109, 2, 2, 33,180, 51, 47, 65, 98, 77, 51, 41, 41,180, 73,152,183,225, 0,255,255, 0,126, 0, 0, 4, 82, - 5, 20, 16, 6, 4, 23, 0, 0,255,255, 0,126, 0, 0, 4, 82, 5, 20, 16, 6, 4, 24, 0, 0,255,255, 0,161, 0, 0, 4, 48, - 5, 31, 16, 6, 4, 25, 0, 0, 0, 3, 0, 62,255,235, 4,100, 4,123, 0, 7, 0, 15, 0, 42, 0, 62, 64, 13, 35, 6, 37, 10, - 2, 27, 20, 14, 6, 22, 6, 16, 43, 16,220,236,204,204,220, 60,204,204, 47,236, 49, 0, 64, 7, 0, 22, 4, 18,153, 37, 43, 16, - 60,244,204,220,204, 64, 9, 12, 25, 8, 40,140, 29, 33,190, 44, 16,252, 60,236,204,220,204, 48, 37, 38, 21, 20, 55, 54, 39, 38, - 3, 38, 21, 20, 55, 54, 39, 38, 19, 20, 35, 34, 53, 52, 55, 17, 6, 35, 34, 53, 52, 51, 50, 23, 54, 51, 32, 25, 1, 35, 17, 52, - 35, 34, 7, 1, 20, 63, 63, 66, 1, 1, 76, 63, 63, 66, 1, 1,162,198,230,244, 21, 21,202,202,145, 44, 76,189, 1,150,184,226, -137, 87,244, 2, 66, 65, 1, 1, 63, 62, 3, 5, 2, 66, 65, 1, 1, 63, 62,252,195,205,201,202, 6, 1,112, 8,208,191, 81, 81, -254,190,252,199, 3, 57,170,142, 0, 2, 0,108,255,221, 4,174, 4,141, 0, 3, 0, 44, 0, 0, 0, 34, 20, 50, 7, 34, 53, 52, - 55, 54, 55, 36, 19, 22, 5, 7, 4, 23, 22, 51, 50, 54, 51, 50, 23, 7, 38, 35, 34, 6, 35, 32, 39, 52, 37, 55, 54, 53, 52, 5, - 6, 7, 22, 23, 20, 1,130,128,128, 68,210,188,187,151, 1,229, 1, 2,254,152,182,254,227, 3, 5,231, 74,214, 80,158,138,134, -105, 63, 51,204,107,254, 93, 1, 1,180,178,214,254,200, 75, 77, 63, 1, 3,111,128,148,228,137, 97, 98, 1, 2,254,169,237,117, - 59, 92, 83,102,142,213, 97,145,127,249,198,142, 58, 70,130,189, 3, 1, 55, 56, 85,216, 0, 0, 0, 3, 0,121,255,235, 4, 80, - 4,141, 0, 7, 0, 17, 0, 56, 0, 0, 1, 22, 51, 50, 55, 38, 39, 34, 19, 22, 39, 38, 35, 34, 23, 20, 21, 22, 37, 52, 55, 38, - 55, 54, 36, 23, 4, 18, 25, 1, 35, 17, 16, 38, 7, 14, 1, 23, 54, 55, 32, 7, 20, 35, 34, 39, 6, 23, 22, 23, 54, 51, 50, 21, - 20, 7, 4, 1, 89, 54, 5, 23, 48, 73, 1, 18,127, 54, 2, 3, 49, 54, 2, 1,254,174, 42, 44, 3, 6, 1, 11,229, 1, 33,191, -184,127,169,177,155, 3, 42, 58, 1, 5, 1,250, 57, 20, 31, 3, 2, 20, 23,171,204,204,254,117, 2, 96, 20, 18, 17, 1,254, 16, - 1, 48, 39, 34, 1, 3, 47,220,127,128, 54, 79,211,217, 1, 1,254,224,254,214,253,191, 2, 65, 1, 1,183, 3, 3,184, 75, 18, - 1,165,165, 11, 37, 91, 57, 46,141,200,181, 1, 1, 0, 0, 0, 0, 2, 0,246,254, 24, 3,219, 4,140, 0, 25, 0, 33, 0, 0, - 19, 52, 54, 51, 32, 25, 1, 16, 6, 35, 34, 38, 39, 55, 22, 51, 50, 53, 17, 16, 35, 22, 21, 6, 39, 38, 19, 38, 23, 6, 55, 22, - 39, 54,247,162,221, 1,101,155,204,214,116, 13,189, 33,121,175,130, 2, 6,215,209,215, 67, 3, 2, 66, 66, 2, 1, 3,166,113, -117,253,244,253,143,254,249,240,208,141, 10,209,243, 2,223, 1,104, 21, 33,207, 1, 1, 1, 9, 1, 65, 67, 3, 2, 66, 66, 0, - 0, 2, 0,124,255,255, 4, 85, 4,154, 0, 11, 0, 41, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 3, 50, 23, 22, - 25, 1, 7, 19, 52, 39, 20, 39, 38, 53, 52, 51, 50, 23, 16, 5, 6, 7, 6, 29, 1, 35, 53, 52, 55, 54, 2,110, 36, 28, 32, 32, - 37, 27, 32, 42,250,124,123,184, 1,101,200,217,218,244, 54,254,196,207, 76, 17,184, 30,106, 2, 96, 32, 32, 37, 27, 34, 30, 37, - 27, 2, 58,121,120,254,217,253,126, 1, 1, 41,142, 82,166, 1, 2,183,192,104, 1,149, 5, 4,134, 30,134, 75, 75,170, 62,220, - 0, 2, 0, 97,254, 25, 4,201, 4,131, 0, 11, 0, 57, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 3, 38, 53, 52, - 53, 54, 55, 54, 55, 36, 19, 22, 13, 1, 6, 23, 22, 51, 50, 55, 54, 51, 50, 21, 20, 19, 48, 7, 2, 17, 6, 33, 32, 53, 52, 45, - 1, 54, 53, 52, 5, 6, 7, 22, 23, 6, 1, 54, 36, 28, 32, 32, 37, 27, 32, 35,210, 2,229,118,202, 1,201, 2, 1,254,138,254, -251,169, 5, 4,199,179, 93, 35,120,151,134,144,176, 46,254,164,254,127, 1, 62, 1, 1,229,254,226,114, 62, 62, 1, 36, 3,111, - 32, 32, 37, 27, 34, 30, 37, 27,254,236, 16,209, 2, 1,133,125, 64, 1, 2,254,188,214,126, 89, 57,112,101,183, 68,216,243,254, -181, 81, 1, 99, 1, 70,211,248,226,108, 87, 78,110,169, 3, 1, 45, 55, 86,188, 0, 2, 0,114,255,238, 4, 92, 4,150, 0, 11, - 0, 44, 0, 0, 1, 50, 54, 53, 52, 38, 39, 38, 6, 21, 20, 22, 3, 20, 33, 32, 25, 1, 51, 17, 16, 37, 36, 17, 52, 53, 54, 55, - 38, 55, 18, 5, 22, 21, 20, 7, 6, 39, 22, 23, 22, 55, 21, 7, 6, 1,215, 36, 28, 33, 31, 37, 27, 32,130, 1, 47, 1, 64,184, -254, 8,254, 15, 3,162,166, 1, 1, 1,108,180,192,126, 46, 2, 90, 65,144,141,147, 3,164, 32, 32, 36, 27, 1, 1, 33, 32, 36, - 28,253,140,174, 1,184, 2, 63,253,193,253,180, 1, 1, 1, 61, 2, 1,145, 81,109,234, 1, 46, 2, 1,176,186, 2, 1,117,189, - 71, 52, 12,161, 23, 24, 0, 0, 0, 2, 0,123,255,227, 4, 86, 4,124, 0, 7, 0, 28, 0, 44, 64, 9, 27, 6, 8, 6, 16, 2, - 21, 6, 14, 47,252,204,220,204, 47,236, 49, 0, 64, 12, 11,140, 24,190, 29, 0, 14, 4, 18,153, 28, 29, 16, 60,244,204,220,204, - 16,252,252, 48, 37, 34, 21, 20, 51, 50, 53, 52, 5, 17, 52, 5, 4, 21, 17, 36, 23, 22, 35, 34, 53, 17, 52, 36, 55, 54, 4, 21, - 17, 1,102, 64, 64, 64, 1,248,254,202,254,203, 1, 24, 1, 1,231,235, 1, 19,218,197, 1, 41,235, 64, 64, 64, 64,235, 3, 31, -201, 3, 3,195,254, 80, 27,223,200,200, 2,142,199,121, 2, 2,120,204,252,199, 0, 2, 0,149,255,226, 4,111, 4,161, 0, 11, - 0, 42, 0, 0, 37, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 19, 34, 2, 35, 34, 7, 3, 32, 21, 20, 35, 34, 53, 17, 16, 51, - 50, 18, 51, 50, 18, 55, 50, 25, 1, 35, 17, 52, 35, 34, 2, 1,128, 36, 28, 32, 32, 37, 27, 32,228,122,119, 15, 54, 1, 1, 1, - 25,213,251,242,131, 94, 34, 36, 74,133,242,184, 55, 22,102,241, 32, 32, 37, 27, 34, 30, 37, 27, 1,250, 1, 38,225,254, 80,196, -218,210, 2,150, 1, 87,254,224, 1, 31, 1,254,169,252,182, 3, 48,219,254,224, 0, 3, 0, 26,254, 20, 4, 62, 4,124, 0, 3, - 0, 7, 0, 35, 0, 0, 36, 34, 20, 50, 0, 34, 20, 50, 19, 50, 23, 22, 35, 34, 53, 17, 6, 35, 38, 53, 54, 55, 54, 23, 54, 51, - 32, 22, 21, 17, 35, 17, 52, 35, 34, 7, 2, 38,128,128,254,237,128,128,166,241, 2, 2,218,211, 33, 31,167, 1,179,145, 55,121, -139, 1, 6,158,184,244,123, 94,220,128, 3,166,128,253,221,185,195,227, 2, 73, 7, 2,190,178, 1, 1,101,100,213,109,250,219, - 5, 37,163,139, 0, 2, 0,106,255,226, 4,104, 4,124, 0, 7, 0, 39, 0, 62, 64, 7, 6, 12, 2, 8, 36, 6, 15, 47,252, 60, -204,220,204, 64, 7, 20, 6, 32, 24, 6, 26, 41, 16,220,236,220,236, 49, 0, 64, 6, 17,140, 34,153, 26, 41, 16, 60,244,236, 64, - 9, 4, 38, 0, 29,140, 22, 10,190, 41, 16,252, 60,236,204,220,204, 48, 1, 38, 23, 6, 55, 22, 39, 54, 5, 52, 51, 50, 21, 20, - 6, 21, 20, 51, 50, 53, 17, 52, 23, 4, 21, 17, 35, 17, 52, 7, 6, 21, 3, 2, 37, 36, 17, 16, 55, 34, 1, 54, 67, 3, 2, 66, - 67, 3, 2,254,244,202,216,254,170,178,252, 1, 0,164, 98, 82, 1, 1,254,172,254,176,216,214, 4, 18, 2, 66, 67, 3, 1, 65, - 67, 75,177,173,202,224,212,216,188, 2, 74,254, 1, 1,251,252,129, 3,127,106, 3, 3,101,253,183,254,173, 1, 1, 1,104, 1, - 48,154, 0, 0, 0, 2, 0, 75,255,227, 4, 84, 4,141, 0, 5, 0, 32, 0, 0, 0, 50, 52, 35, 34, 7, 3, 53, 51, 50, 54, 53, - 17, 36, 53, 52, 55, 54, 21, 17, 22, 55, 54, 53, 17, 51, 17, 16, 33, 34, 39, 6, 35, 1, 3,128, 64, 62, 2,184,122, 93, 85,254, -232,226,238, 93,120,152,184,254,180,174, 84,114,217, 3,115,128, 64,252, 48,143,101,156, 1,103, 8,204,221, 1, 1,219,253,117, -169, 1, 1,177, 3, 47,252,209,254,178,115,115, 0, 2, 0,124,255,238, 4, 84, 4,125, 0, 3, 0, 25, 0, 0, 0, 34, 20, 50, - 1, 52, 55, 38, 55, 54, 23, 22, 7, 6, 0, 21, 22, 37, 32, 25, 1, 51, 17, 16, 37, 36, 1,169,128,128,254,212,182,183, 1, 1, -229,237, 1, 1,254,236, 1, 1, 37, 1, 60,184,254, 12,254, 29, 3,238,128,253,210,218,196, 38,182,196, 2, 2,188,151,254,209, -168,204, 1, 1, 39, 2,180,253, 76,254, 66, 1, 1, 0, 0, 0, 0, 2, 0,124,255,238, 4, 84, 6, 20, 0, 3, 0, 25, 0, 0, - 0, 34, 20, 50, 1, 52, 55, 38, 55, 54, 23, 22, 7, 6, 0, 21, 22, 33, 32, 25, 1, 51, 17, 16, 37, 36, 1,169,128,128,254,212, -182,183, 1, 1,229,237, 1, 1,254,236, 1, 1, 37, 1, 60,184,254, 12,254, 29, 3,238,128,253,210,218,196, 38,182,196, 2, 2, -188,151,254,209,168,203, 1, 39, 4,104,251,152,254, 66, 1, 1, 0, 3, 0, 99,255,239, 4,246, 5, 27, 0, 11, 0, 23, 0, 74, - 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 5, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 1, 43, 1, 38, 39, 6, - 35, 34, 39, 38, 53, 17, 52, 51, 50, 21, 6, 39, 16, 21, 20, 51, 50, 53, 17, 51, 17, 20, 55, 54, 53, 17, 38, 55, 52, 23, 22, 23, - 54, 53, 38, 39, 55, 22, 23, 22, 7, 19, 20, 7, 6, 3,132, 36, 28, 32, 32, 37, 27, 32,253,146, 36, 28, 32, 32, 38, 26, 32, 1, -224, 2, 2, 99,103,101,133,126, 80, 76,210,216, 1,241,102,138,184,114,116,243, 1,208,179, 27, 30, 1, 74,119, 84, 1, 3,152, - 2, 92, 85, 3,250, 32, 32, 38, 26, 34, 30, 36, 28, 1, 32, 32, 37, 27, 34, 30, 37, 27,251,246, 1, 73, 74, 84, 79,154, 2, 98, -223,197,199, 23,254,111, 59,132,132, 1, 52,254,203,139, 5, 5,130, 1,204, 8,168,209, 1, 1,152, 22, 80, 54, 65, 94,103, 91, -195,111,254, 6,164, 80, 73, 0, 0, 2, 0, 99,255,239, 4, 98, 6, 20, 0, 36, 0, 48, 0, 0, 1, 20, 7, 6, 43, 2, 38, 39, - 6, 35, 34, 39, 38, 53, 17, 52, 51, 50, 21, 6, 39, 16, 21, 20, 51, 50, 53, 17, 51, 17, 20, 55, 54, 53, 17, 51, 1, 34, 6, 21, - 20, 22, 51, 50, 54, 53, 52, 38, 4, 98, 92, 85,123, 2, 2, 99,103,101,133,126, 80, 76,210,216, 1,241,102,138,184,114,116,184, -252,212, 36, 28, 32, 32, 38, 26, 32, 1, 44,164, 80, 73, 1, 73, 74, 84, 79,154, 2, 98,223,197,199, 23,254,111, 59,132,132, 1, - 52,254,203,139, 5, 5,130, 4,232,253,229, 32, 32, 37, 27, 34, 30, 37, 27, 0, 0, 2, 0,101,255,238, 4,108, 4,126, 0, 11, - 0, 44, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 19, 50, 53, 17, 51, 17, 6, 55, 54, 53, 17, 51, 17, 16, 37, 38, - 39, 6, 35, 32, 17, 52, 55, 38, 55, 54, 23, 22, 7, 6, 0, 23, 20, 1, 98, 36, 28, 32, 32, 36, 28, 32, 48,110,184, 1,117,104, -184,254,224,105,103,101,143,254,222,152,138, 2, 2,228,237, 1, 2,254,214, 2, 3,210, 32, 32, 37, 27, 34, 30, 37, 27,252,179, -167, 1, 52,254,203,174, 5, 5,165, 3, 47,252,209,254,192, 3, 1, 73, 74, 1, 61,240,166, 37,158,249, 1, 1,219,143,254,170, -144,167, 0, 0, 0, 2, 0,101,255,238, 4,108, 6, 20, 0, 11, 0, 44, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, - 19, 50, 53, 17, 51, 17, 6, 55, 54, 53, 17, 51, 17, 16, 37, 38, 39, 6, 35, 32, 17, 52, 55, 38, 55, 54, 23, 22, 7, 6, 0, 23, - 20, 1, 98, 36, 28, 32, 32, 36, 28, 32, 48,110,184, 1,117,104,184,254,224,105,103,101,143,254,222,152,138, 2, 2,228,237, 1, - 2,254,214, 2, 3,210, 32, 32, 37, 27, 34, 30, 37, 27,252,179,167, 1, 52,254,203,175, 6, 5,165, 4,232,251, 24,254,192, 3, - 1, 73, 74, 1, 61,240,166, 37,158,249, 1, 1,219,143,254,170,144,167, 0, 0, 0, 1, 0, 16,255,227, 4, 96, 4, 96, 0, 23, - 0, 0, 1, 51, 17, 16, 51, 50, 25, 1, 51, 17, 16, 33, 34, 39, 6, 35, 34, 53, 52, 51, 50, 7, 50, 53, 1, 99,184,189,208,184, -254,120,240, 41, 51,182,198,156,144, 2, 41, 4, 96,253, 44,254,237, 1, 19, 2,212,252,197,254,190, 56, 56,156,150,123,139, 0, - 0, 2, 0,114,255,238, 4, 92, 6, 20, 0, 11, 0, 44, 0, 0, 1, 50, 54, 53, 52, 38, 39, 38, 6, 21, 20, 22, 3, 20, 33, 32, - 25, 1, 51, 17, 16, 37, 36, 17, 52, 53, 54, 55, 38, 55, 18, 5, 22, 21, 20, 7, 6, 39, 22, 23, 22, 55, 21, 7, 6, 1,215, 36, - 28, 33, 31, 37, 27, 32,130, 1, 47, 1, 64,184,254, 8,254, 15, 3,162,166, 1, 1, 1,108,180,192,126, 46, 2, 90, 65,144,141, -147, 3,164, 32, 32, 36, 27, 1, 1, 33, 32, 36, 28,253,140,174, 1,184, 3,218,252, 38,253,180, 1, 1, 1, 61, 2, 1,145, 81, -109,234, 1, 46, 2, 1,176,186, 2, 1,117,189, 71, 52, 12,161, 23, 24, 0, 0, 0, 2, 0,100,255,238, 4,109, 4,140, 0, 11, - 0, 43, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 5, 38, 33, 32, 19, 18, 33, 32, 23, 7, 38, 7, 4, 23, 22, 5, - 4, 3, 2, 37, 36, 38, 55, 54, 23, 22, 21, 20, 7, 22, 55, 54, 1, 61, 36, 28, 32, 32, 36, 28, 32, 2, 87, 1,254,189,253,243, - 1, 1, 2, 21, 1, 54,184,116,177,211,254,169, 3, 5, 1,109, 1,225, 3, 2,254, 50,254,167,223, 1, 1,210,224, 22, 74,142, -219, 1, 88, 32, 32, 36, 28, 32, 32, 36, 28, 16,232, 1, 56, 1, 36,220,123,188, 1, 2,138,158, 1, 1,254,144,254,154, 1, 1, -178,123,204, 1, 1,209, 78, 20, 38, 1, 2, 0, 0, 2, 0, 96,255,238, 4,112, 4,141, 0, 11, 0, 46, 0, 0, 37, 34, 6, 21, - 20, 22, 51, 50, 54, 53, 52, 38, 1, 4, 25, 1, 20, 37, 38, 2, 39, 38, 7, 22, 7, 6, 39, 38, 55, 18, 33, 50, 18, 55, 54, 53, - 17, 16, 33, 34, 7, 6, 7, 39, 54, 55, 54, 1, 70, 37, 27, 32, 32, 36, 28, 32, 1, 8, 2, 2,254,244,232, 87,139, 68, 12,227, - 2, 2,207,250, 1, 1, 1, 78,232, 98,102, 80,254,198,229, 39, 26, 2,183, 6, 17, 71,248, 33, 31, 36, 28, 32, 32, 36, 27, 3, -149, 1,254,137,253,212,250, 1, 1, 1,221, 2, 1, 84, 1,183,214, 1, 1,235, 1,137,254, 30, 2, 2,174, 1,168, 1, 24,114, - 74, 99, 20,111, 60,249, 0, 0, 0, 2, 0,111,255,228, 4, 98, 4,123, 0, 5, 0, 31, 0, 0, 1, 34, 20, 51, 50, 54, 1, 18, - 33, 32, 25, 1, 16, 37, 38, 36, 39, 52, 23, 50, 23, 22, 7, 22, 51, 32, 53, 17, 52, 33, 32, 7, 1, 80, 64, 64, 60, 8,254,244, - 41, 1,189, 1,244,254, 34,240,254,220, 1,229,217, 4, 1, 70, 25,127, 1, 30,254,204,254,233, 24, 1, 84,128,128, 1,206, 1, - 89,254,215,253,184,254,217, 2, 1,156,143,211, 1,215, 61, 73, 8,216, 1,196,204,213, 0, 0, 0, 3, 0, 97,255,238, 5, 35, - 5,156, 0, 11, 0, 50, 0, 58, 0, 0, 37, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 37, 17, 6, 33, 36, 55, 54, 33, 32, 23, - 54, 39, 38, 39, 55, 22, 23, 22, 7, 17, 20, 37, 38, 2, 39, 38, 7, 22, 7, 6, 39, 38, 55, 18, 33, 50, 18, 55, 54, 1, 32, 53, - 52, 33, 32, 21, 20, 1, 72, 38, 26, 32, 32, 36, 28, 32, 2, 74, 70,254,234,254, 10, 2, 2, 1,242, 1,142,114, 28, 2, 11, 99, -158,128, 2, 2,178,254,244,232, 88,138, 68, 12,226, 2, 2,206,251, 1, 2, 1, 78,232, 98,102, 80,254,164, 1,116,254,140,254, -182,248, 33, 31, 36, 28, 32, 32, 36, 27, 61, 1,153, 14, 1,252,233,154, 49, 18, 84,132,118,174,160,146,151,253,195,250, 1, 1, - 1,221, 2, 1, 84, 1,183,214, 1, 1,235, 1,137,254, 30, 2, 2, 2,209, 69,109, 77,100, 0, 0, 3, 0, 19,255,231, 4,189, - 4,154, 0, 6, 0, 13, 0, 54, 0, 0, 0, 34, 21, 6, 51, 50, 55, 36, 34, 21, 6, 51, 50, 55, 3, 36, 17, 16, 55, 38, 55, 54, - 23, 22, 7, 14, 1, 17, 20, 51, 54, 53, 17, 6, 43, 1, 38, 55, 54, 51, 50, 23, 54, 55, 54, 25, 1, 35, 17, 52, 35, 34, 7, 19, - 16, 1, 26,128, 1, 65, 63, 1, 1,145,128, 1, 65, 63, 1,238,254, 96,130,140, 1, 1,198,190, 1, 1,186,223,225, 20, 29, 2, -185, 1, 1,166,162, 53, 64, 86,247,184, 67, 63, 47, 1, 4, 26, 64, 64, 64, 76, 64, 64, 64,252, 2, 1, 1, 69, 1, 62,169, 47, -153,181, 1, 1,178,125,204,254,159,182, 1,181, 2, 8, 9, 6,183,169, 99, 98, 1, 4,254,186,252,169, 3, 87,157, 90,253,154, -254,179, 0, 0, 0, 3, 0,119,255,238, 4,106, 4,141, 0, 11, 0, 37, 0, 45, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, - 52, 38, 55, 36, 17, 16, 5, 4, 25, 1, 20, 37, 38, 39, 38, 55, 54, 23, 22, 21, 20, 7, 22, 51, 32, 53, 17, 6, 19, 52, 5, 4, - 7, 6, 5, 4, 1, 92, 36, 28, 32, 32, 37, 27, 32,244,254, 7, 1,249, 1,250,254, 10,202,170,134, 1, 1,220,237, 61, 65, 56, - 1, 41, 83, 85,254,196,254,192, 1, 1, 1, 66, 1, 60, 1, 83, 32, 32, 37, 27, 34, 30, 36, 28,208, 1, 1, 51, 1, 54, 1, 1, -254,209,253,140,251, 2, 1, 72, 57,170,215, 1, 1,216, 71, 41, 35,175, 1, 36, 54, 1, 55,156, 1, 1,154,159, 1, 1, 0, 0, - 0, 2, 0, 84,255,238, 4,218, 4,216, 0, 11, 0, 54, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 1, 36, 39, 38, - 37, 36, 55, 54, 33, 50, 23, 22, 51, 50, 19, 23, 2, 7, 6, 39, 38, 35, 34, 23, 22, 5, 4, 3, 2, 37, 36, 39, 38, 55, 54, 23, - 22, 21, 20, 21, 6, 7, 22, 1, 50, 36, 28, 32, 32, 37, 27, 32, 1, 0, 1, 84, 1, 1,254,192,253,254, 3, 3, 1,158,136, 92, -111, 69,104, 64,148, 77,243,135,113, 75, 85,210, 5, 5, 1, 80, 1,230, 1, 1,253,240,254,236,136,110, 1, 1,224,215, 1, 94, -153, 1,139, 32, 32, 37, 27, 34, 30, 37, 27,254,249, 2,254,195, 43, 68,231,252, 89,108, 1, 4, 48,254,149, 1, 1,121, 80, 94, -100, 54, 81,254,193,254,113, 2, 1,116, 94,125,223, 1, 1,214, 2, 1, 93, 70, 28, 0, 0, 0, 0, 2, 0, 48,255, 38, 4,169, - 4,161, 0, 3, 0, 36, 0, 0, 0, 34, 20, 50, 3, 39, 1, 0, 39, 38, 15, 1, 6, 39, 36, 3, 2, 33, 32, 7, 6, 39, 38, 53, - 34, 21, 20, 51, 50, 63, 1, 54, 23, 22, 21, 20, 1, 2, 42,128,128,202,129, 2, 43, 1, 24, 61, 25,120,165,130,215,254,226, 7, - 9, 1,136, 1, 15, 1, 1,211,212, 35,101,115, 90,140,175,104,224,254,225, 4, 13,128,251,153,134, 2, 78, 1, 41, 61, 25,137, -187,147, 1, 1, 1,109, 1,144,206,216, 3, 4,205,205,195,100,157,196, 2, 5,189,157,254,207,255,255, 0, 90,255,229, 4,101, - 4,128, 16, 39, 4,101, 4,209,250,201, 16, 7, 4,101, 4,209,253,117, 0, 0, 0, 2,251,137, 5, 28,255,148, 7, 11, 0, 19, - 0, 26, 0, 0, 3, 2, 33, 32, 38, 55, 54, 23, 50, 7, 6, 7, 22, 51, 36, 53, 52, 39, 55, 22, 4, 52, 7, 34, 21, 6, 23,109, - 2,254, 5,254,182,195, 1, 1,229,241, 3, 1, 35, 33, 65, 1, 28, 86,138,168,253, 28, 66, 56, 1, 63, 6, 29,254,255,168,107, -217, 1,216, 80, 36, 4, 1, 85, 46, 70,138,143,140,126, 1, 62, 61, 1, 0, 0, 0, 2, 0,157, 0, 0, 4, 33, 4,123, 0, 16, - 0, 22, 0, 0, 1, 32, 25, 1, 35, 17, 16, 35, 34, 7, 50, 21, 20, 35, 34, 53, 16, 18, 20, 51, 50, 52, 35, 2,106, 1,183,184, -255,164, 61,218,229,225,166, 59, 67, 62, 4,123,254,106,253, 27, 2,203, 1, 25, 86,193,199,199, 1,174,254,137,110,110, 0, 0, -255,255,252,197, 0, 0, 4, 33, 6,114, 16, 38, 4,102, 0, 0, 16, 7, 4,117,251, 47, 0, 0, 0, 1, 0, 83, 4,236, 4,126, - 7,105, 0, 17, 0, 0, 1, 20, 33, 21, 32, 17, 16, 33, 32, 17, 16, 33, 53, 32, 55, 52, 33, 32, 1, 18, 1, 36,254, 30, 2, 38, - 2, 4,254, 62, 1, 2, 2,254,186,254,152, 6, 37,187,126, 1, 63, 1, 62,254,194,254,193,126,187,197, 0, 0, 0, 1, 0, 83, - 4,230, 5, 19, 7,105, 0, 21, 0, 0, 1, 20, 33, 21, 32, 17, 16, 33, 32, 17, 20, 7, 51, 21, 33, 61, 1, 32, 55, 52, 33, 32, - 1, 17, 1, 37,254, 29, 2, 38, 2, 4, 62,212,253,169, 1, 1, 2,254,186,254,152, 6, 37,187,126, 1, 63, 1, 62,254,194,119, - 74,132, 6,126,187,197, 0, 0, 0, 2, 0, 83, 4,236, 4,126, 7,105, 0, 17, 0, 21, 0, 0, 1, 20, 33, 21, 32, 17, 16, 33, - 32, 17, 16, 33, 53, 32, 55, 52, 33, 32, 5, 21, 35, 53, 1, 18, 1, 36,254, 30, 2, 38, 2, 4,254, 62, 1, 2, 2,254,186,254, -152, 1,222,238, 6, 37,187,126, 1, 63, 1, 62,254,194,254,193,126,187,197, 78,220,220, 0, 0, 0, 2, 0, 83, 4,230, 5, 19, - 7,105, 0, 21, 0, 25, 0, 0, 1, 20, 33, 21, 32, 17, 16, 33, 32, 17, 20, 7, 51, 21, 33, 61, 1, 32, 55, 52, 33, 32, 5, 21, - 35, 53, 1, 17, 1, 37,254, 29, 2, 38, 2, 4, 62,212,253,169, 1, 1, 2,254,186,254,152, 1,221,238, 6, 37,187,126, 1, 63, - 1, 62,254,194,119, 74,132, 6,126,187,197, 84,220,220, 0, 0, 0, 2, 1,207,253, 51, 3,135,255,178, 0, 4, 0, 21, 0, 0, - 4, 34, 20, 51, 54, 3, 54, 53, 52, 39, 6, 35, 34, 53, 52, 51, 50, 23, 22, 21, 20, 7, 2,191,130, 65, 65, 92,144, 5, 40, 68, -179,170,101, 78, 91,204,188,129, 1,254,207,111, 91, 17, 16, 36,158,186, 78, 91,139,117,214, 0, 0, 2, 1,120,253,142, 3,153, -255,175, 0, 5, 0, 26, 0, 0, 4, 34, 20, 51, 50, 53, 19, 34, 53, 52, 55, 38, 53, 52, 50, 21, 20, 6, 21, 20, 51, 50, 53, 17, - 51, 17, 20, 2, 5, 44, 23, 21,114,243, 62, 74,234,109,130,158,132,178, 44, 21,254, 87,146,115, 62, 10, 91,121,117, 63,123, 69, - 66, 88, 1, 70,254,186,195, 0, 0, 2, 0, 68, 5, 28, 4,141, 7, 11, 0, 20, 0, 27, 0, 0, 1, 22, 7, 39, 54, 53, 54, 37, - 34, 7, 22, 7, 6, 7, 6, 39, 38, 55, 54, 33, 32, 0, 52, 7, 34, 23, 20, 51, 4,140, 1,168,138, 86, 1,254,165, 65, 33, 46, - 10, 21,217,229, 1, 1,123,120, 1, 26, 2, 57,252,225, 60, 63, 1, 56, 6, 10, 95,143,138, 70, 46, 85, 1, 4, 68, 87,176, 1, - 1,217, 84, 95, 96,254,174,126, 1, 63, 61, 0, 0, 2,255,240,253,199, 4,225,255,177, 0, 7, 0, 26, 0, 0, 19, 50, 53, 52, - 35, 34, 21, 20, 5, 34, 2, 35, 22, 21, 20, 35, 34, 53, 16, 33, 50, 18, 51, 50, 55, 23, 6,176, 48, 48, 43, 2,201,218,172,184, - 92,196,184, 1, 76,222,222, 96, 93,166,134,191,254, 78, 48, 47, 46, 49,105, 1, 51, 32,114,191,167, 1, 67,254,208,198,114,240, - 0, 1, 2, 14, 4,241, 2,195, 6, 86, 0, 3, 0, 0, 1, 51, 17, 35, 2, 14,180,180, 6, 86,254,155, 0, 0, 0, 2, 0, 86, - 4,224, 4,123, 7, 33, 0, 7, 0, 27, 0, 0, 19, 22, 39, 54, 7, 34, 23, 6, 37, 20, 2, 41, 1, 53, 54, 53, 6, 55, 52, 23, - 22, 29, 1, 20, 7, 32, 54, 53,241, 42, 1, 1, 42, 44, 2, 2, 3,181,214,254,132,254, 85,144,183, 1,157,145, 71, 1,177,243, - 6,109, 1, 43, 43, 2, 41, 44,125,229,254,221,133, 46,112, 7,157,136, 1, 1,131,183, 92, 40,141,250, 0, 0, 0, 1, 0, 95, - 4,199, 5, 80, 6,243, 0, 52, 0, 0, 1, 34, 17, 16, 33, 50, 22, 55, 54, 55, 54, 51, 50, 21, 20, 7, 22, 55, 54, 55, 51, 6, - 7, 6, 33, 35, 53, 54, 53, 52, 35, 34, 7, 6, 39, 38, 39, 38, 35, 34, 21, 20, 59, 1, 38, 53, 52, 51, 22, 7, 6, 7, 6, 1, - 80,240, 1, 36, 50,126, 42, 38, 74, 72, 72,220,158,132, 66, 80, 4,154, 2,104, 40,254,226,196,208, 76, 24, 66, 68, 92,106, 36, - 62, 24,146,102, 62, 46, 96,104, 2, 2, 62, 52, 4,200, 1, 20, 1, 23,130, 1, 1, 65, 63,215,126, 61, 4, 13, 16,104,130, 92, - 36,133,107, 98, 56, 58, 59, 1, 1, 45, 70,144,161, 2, 95, 90, 1,107,102, 50, 41, 0, 0, 0, 0, 1, 1, 73, 4,224, 3,136, - 7, 30, 0, 11, 0, 0, 1, 53, 51, 53, 51, 21, 51, 21, 35, 21, 35, 53, 1, 74,216,142,216,216,142, 5,184,142,216,216,142,216, -216, 0, 0, 0,255,255,255,240, 5, 23, 4,225, 7, 1, 16, 7, 4,111, 0, 0, 7, 80, 0, 0, 0, 2, 1,150, 4,246, 3, 59, - 6,114, 0, 7, 0, 12, 0, 0, 1, 52, 51, 50, 21, 20, 35, 34, 18, 20, 51, 50, 52, 1,150,212,208,212,208,132, 76, 84, 5,190, -180,180,200, 1, 16,144,144, 0, 0, 1, 0,160, 0, 0, 4, 51, 4,122, 0, 21, 0, 0, 1, 2, 33, 32, 17, 52, 55, 51, 6, 21, - 16, 33, 32, 17, 52, 39, 36, 3, 51, 22, 23, 4, 4, 51, 1,254, 49,254, 61, 80,190, 85, 1, 15, 1, 17,189,254,220, 2,181, 1, -126, 1,105, 1,239,254, 17, 1,201,105, 98, 99, 87,254,183, 1, 79,214, 74,102, 1, 20,161, 51,130, 0, 0, 0, 0, 2, 0,158, - 0, 0, 4, 52, 6, 22, 0, 18, 0, 26, 0, 0, 1, 16, 33, 32, 3, 18, 37, 53, 54, 39, 38, 53, 51, 20, 23, 22, 29, 1, 4, 3, - 18, 33, 4, 17, 16, 33, 32, 4, 52,254, 60,254, 49, 3, 3, 1,131, 1,163,141,181,126,161, 1,107,188, 1,254,239,254,241, 1, - 22, 1, 9, 2, 32,253,224, 2, 33, 1,171, 84,138,120, 28, 27,189, 89, 27, 57,185,144,118,254,119, 1,115, 3,254,149,254,107, - 0, 2, 0,110,254, 87, 4, 98, 4, 21, 0, 25, 0, 33, 0, 0, 37, 16, 33, 32, 17, 18, 37, 54, 55, 52, 35, 34, 23, 20, 23, 7, - 38, 53, 16, 33, 32, 3, 20, 7, 21, 4, 3, 16, 37, 32, 3, 16, 37, 4, 4, 97,254, 9,254, 4, 1, 2, 28,108, 2,213,183, 1, - 15,137, 46, 1, 95, 1,139, 1,122, 1, 45,179,254,190,254,182, 2, 1, 70, 1, 72, 43,254, 44, 1,212, 1,205, 5, 83,169,142, -139, 46, 43, 82, 76,111, 1, 9,254,219,164, 84, 20,110,254,181, 1, 66, 1,254,189,254,192, 1, 1, 0, 0, 0, 0, 2, 0, 55, -254, 87, 4,154, 4, 12, 0, 33, 0, 44, 0, 0, 23, 54, 55, 53, 0, 17, 16, 5, 50, 23, 51, 54, 51, 32, 17, 21, 16, 33, 32, 17, - 53, 52, 43, 1, 34, 17, 21, 16, 0, 23, 7, 38, 36, 7, 1, 53, 52, 43, 1, 34, 29, 1, 16, 51, 50,221, 40, 84,254,222, 1, 88, - 91, 80, 20, 60,170, 1,102,254,166,254,170, 73, 43,129, 2,121,104,202, 90,254,203,116, 2,212,149, 71,119,186,153,225, 44, 18, - 11, 1, 22, 1,200, 1,198, 1, 98, 98,254, 43, 20,254, 6, 2, 15,234, 93,254,196,109,254, 76,254,255,200, 1,167, 14, 86, 3, - 3,212,241,182,247,254,232, 0, 0, 1, 0,160,254, 87, 4, 51, 4, 22, 0, 26, 0, 0, 5, 2, 33, 32, 17, 52, 55, 51, 6, 21, - 16, 33, 32, 53, 17, 16, 32, 21, 20, 23, 7, 38, 53, 16, 5, 32, 19, 4, 51, 1,254, 73,254, 37,141,188,144, 1, 36, 1, 6,254, - 38, 62,176, 56, 1,150, 1,157, 1, 32,254,119, 1,146,143,106,115,133,254,251,241, 2,164, 1, 13,222,111,101, 1, 75,133, 1, -114, 1,254,100, 0, 1, 0,158,254, 87, 4, 50, 4, 21, 0, 39, 0, 0, 5, 16, 33, 32, 3, 54, 55, 51, 6, 21, 16, 33, 32, 61, - 1, 52, 43, 1, 53, 51, 22, 55, 52, 35, 32, 7, 22, 23, 35, 38, 53, 16, 33, 32, 17, 20, 7, 21, 22, 17, 4, 50,254, 52,254, 58, - 2, 2,105,192,112, 1, 13, 1, 20,237, 73, 73,226, 1,225,254,252, 1, 1, 45,161, 60, 1,177, 1,158,229,237, 45,254,132, 1, -152, 93,109,120, 82,254,246,223, 98,243,140, 1,240,243,202, 88,120, 82,126, 1, 88,254,123,209, 92, 20, 43,254,254, 0, 0, 0, - 0, 3, 0,158, 0, 0, 4, 50, 6, 20, 0, 17, 0, 24, 0, 32, 0, 0, 1, 2, 33, 32, 17, 16, 55, 53, 38, 55, 2, 33, 32, 17, - 6, 7, 21, 4, 3, 16, 5, 4, 19, 2, 32, 3, 52, 39, 34, 21, 6, 23, 54, 4, 50, 1,254, 53,254, 56,200,200, 1, 1, 1, 84, - 1, 87, 1, 92, 1, 70,185,254,235,254,245, 1, 1, 2, 32,205,190,168, 1,186,175, 1,248,254, 8, 1,249, 1, 73, 74, 20, 58, -233, 1, 81,254,189,155, 85, 20, 45,254, 92, 1,112, 2, 1,254,144,254,152, 4, 33,212, 2,214,218, 1, 1, 0, 0, 2, 0, 55, - 0, 0, 4,154, 4, 11, 0, 26, 0, 37, 0, 0, 1, 21, 16, 7, 35, 54, 17, 53, 16, 43, 1, 34, 29, 1, 16, 33, 32, 17, 53, 16, - 33, 50, 23, 51, 54, 51, 32, 1, 17, 54, 35, 7, 38, 17, 21, 16, 51, 50, 4,154,239,162,212,132, 33, 83,254,203,254,135, 1,125, -146, 71, 14, 74,116, 1, 65,253,170, 2, 70, 87,180,165,172, 2, 72, 67,254,162,167,174, 1, 66,117, 1, 25,182,220,254, 20, 2, - 7, 30, 1,230, 99, 99,253,121, 1,105,145, 1, 1,254,239,189,254,225, 0, 0, 0, 1, 0,159, 0, 0, 4, 51, 4, 21, 0, 17, - 0, 0, 1, 16, 7, 35, 18, 3, 16, 33, 32, 17, 16, 19, 35, 38, 19, 2, 33, 32, 4, 50,240,146,201, 1,254,252,254,230,198,148, -238, 2, 2, 1,210, 1,195, 2, 35,254,165,200, 1, 4, 1, 31, 1, 99,254,160,254,230,254,244,207, 1, 90, 1,236, 0, 0, 0, - 0, 1, 0,158,254, 89, 4, 52, 4, 2, 0, 31, 0, 0, 5, 2, 33, 32, 17, 52, 55, 51, 6, 21, 16, 33, 32, 61, 1, 16, 43, 1, - 53, 51, 50, 53, 52, 33, 53, 32, 17, 22, 5, 21, 4, 19, 4, 52, 1,254, 67,254, 40,112,173, 98, 1, 29, 1, 2,238, 65, 65,228, -254, 90, 2, 90, 1,254,245, 1, 26, 2, 30,254,119, 1,167,139,102,113,128,254,230,252, 50, 1, 16,152,198,230,154,254,128,208, - 49, 20, 49,254,216, 0, 0, 0, 0, 1, 0,160,254, 87, 4, 50, 4, 21, 0, 27, 0, 0, 1, 32, 17, 16, 0, 21, 35, 38, 36, 7, - 39, 54, 63, 1, 2, 17, 16, 33, 32, 17, 20, 6, 23, 7, 38, 54, 53, 16, 2,108,254,237, 2, 95,190, 36,254,179, 94, 77, 62,112, - 13,249, 1,204, 1,198,118, 20,159, 20, 92, 3,136,254,189,254, 89,254, 49,120,176, 79,104, 95, 91, 13, 14, 1, 5, 1,130, 1, -203,254, 41,101,181,156, 1,157,168,117, 1, 71, 0, 2, 0,158, 0, 0, 4, 52, 6, 21, 0, 21, 0, 28, 0, 0, 1, 16, 33, 32, - 17, 16, 33, 50, 23, 51, 17, 52, 33, 6, 29, 1, 35, 53, 16, 33, 32, 17, 3, 16, 32, 17, 2, 33, 32, 4, 52,254, 69,254, 37, 1, -203,196, 68, 20,254,228,232,187, 1,163, 1,203,188,253,226, 1, 1, 30, 1, 1, 1,239,254, 17, 2, 13, 2, 9,125, 1, 2,237, - 1,152, 62, 62, 1, 38,254,134,253, 84, 1,151,254,137,254,130, 0, 2, 0,158, 0, 0, 4, 51, 5,251, 0, 17, 0, 25, 0, 0, - 1, 18, 33, 32, 25, 1, 2, 41, 1, 21, 33, 34, 21, 17, 51, 54, 51, 4, 3, 16, 33, 32, 17, 16, 37, 4, 4, 50, 1,254, 50,254, - 58, 1, 1, 77, 1,206,254, 30,141, 35, 64,184, 1,205,185,254,234,254,239, 1, 17, 1, 22, 2, 36,253,220, 1,234, 2,182, 1, - 91,143,176,254,218,128, 1,254, 12, 1,103,254,133,254,132, 1, 1, 0, 0, 0, 0, 1, 0, 55, 0, 0, 4,154, 4, 11, 0, 35, - 0, 0, 1, 20, 7, 35, 54, 53, 17, 52, 7, 35, 34, 21, 17, 35, 17, 52, 43, 1, 34, 21, 17, 6, 23, 35, 38, 61, 1, 16, 33, 50, - 23, 51, 54, 51, 32, 17, 4,154,188,179,179,153, 75, 64,160, 66, 77,148, 2,203,194,199, 1,123,104, 73, 17, 70, 96, 1,128, 1, -198,236,218,192,207, 1, 25,215, 1,207,254,235, 1, 21,207,228,254,252,214,192,225,236,102, 1,216,104,104,254, 38, 0, 0, 0, - 0, 1, 0,159, 0, 0, 4, 52, 6, 15, 0, 33, 0, 0, 1, 16, 33, 32, 19, 52, 55, 51, 6, 21, 16, 33, 32, 17, 16, 33, 35, 53, - 51, 50, 55, 52, 37, 36, 53, 51, 20, 23, 4, 17, 20, 7, 21, 22, 4, 52,254, 68,254, 39, 1,101,175, 91, 1, 31, 1, 0,254,236, - 63, 82,215, 1,254,233,254,220,172,239, 1, 87,186,232, 1,218,254, 38, 1,178,183, 90,126,147,254,223, 1, 73, 1, 74,135,200, -149, 33, 54,176, 71, 41, 41,254,251,203, 61, 20,105, 0, 0, 0, 0, 1, 0,159,254, 89, 4, 51, 4, 50, 0, 23, 0, 0, 5, 2, - 33, 32, 3, 51, 6, 33, 32, 25, 1, 5, 21, 22, 21, 16, 5, 53, 32, 39, 18, 37, 53, 37, 4, 51, 1,254, 48,254, 62, 1,187, 1, - 1, 4, 1, 39,254, 77,221,253,241, 1,104, 1, 1,254,152, 3,148, 18,254,107, 1,111,227, 1, 11, 3,168, 52, 60, 89,238,254, -206, 1,167,140, 1, 3, 75,130,129, 0, 0, 0, 0, 1, 0, 55, 0, 0, 4,154, 6, 21, 0, 41, 0, 0, 1, 21, 20, 7, 35, 54, - 61, 1, 16, 43, 1, 34, 21, 17, 35, 19, 54, 43, 1, 34, 17, 21, 20, 23, 35, 38, 17, 53, 52, 0, 37, 23, 4, 3, 51, 55, 50, 23, - 51, 54, 51, 32, 4,154,208,197,216,132, 88, 65,160, 1, 1, 74,124,103,230,210,210, 1, 90, 1,167, 25,254,150,218, 24, 86,165, - 72, 15, 73,160, 1, 58, 2, 84,142,244,210,184,219,193, 1, 42,167,254,195, 1, 61,167,254,219,165,252,184,210, 1, 24,103,251, - 2, 78,123,148, 82,254,159, 61, 98, 98, 0, 0, 0, 1, 0,159, 0, 0, 4, 51, 5,241, 0, 21, 0, 0, 1, 16, 33, 32, 25, 1, - 51, 17, 16, 33, 32, 17, 52, 36, 53, 52, 55, 23, 6, 21, 20, 4, 4, 51,254, 61,254, 47,182, 1, 27, 1, 9,254,241,206, 87,142, - 1, 50, 2, 3,253,253, 2, 3, 3,238,252, 18,254,142, 1,114,175,161,103,148,125,124, 56, 59, 67,188, 0, 0, 0, 2, 0, 45, -254, 89, 4,164, 4,234, 0, 10, 0, 21, 0, 0, 19, 16, 37, 3, 51, 3, 4, 17, 2, 33, 32, 19, 16, 33, 32, 17, 16, 37, 19, 35, - 19, 4, 45, 1,250, 15,166, 15, 1,245, 2,253,202,253,193,188, 1,127, 1,134,254,193, 15,165, 14,254,194, 1, 34, 2,117, 82, - 1, 1,254,251, 78,253,133,253, 61, 2,201,253,195, 2, 61, 1,231,111,253,229, 2, 26,110, 0, 0, 1, 0, 55,254, 89, 4, 74, - 4, 12, 0, 41, 0, 0, 5, 2, 33, 32, 17, 52, 55, 51, 6, 21, 16, 33, 32, 53, 17, 52, 35, 6, 17, 7, 35, 39, 16, 39, 14, 1, - 35, 34, 39, 55, 22, 51, 50, 54, 51, 50, 23, 51, 54, 23, 36, 19, 4, 74, 2,254, 77,254, 31,145,179,138, 1, 39, 1, 3,130,132, - 10,133, 9,110, 62, 62, 62, 72, 83, 50, 62, 43, 51, 60, 76,103, 69, 20, 72,137, 1, 43, 1, 43,254,132, 1,164,159, 90,123,126, -254,232,240, 2,234,191, 1,254,242,193,193, 1, 14, 1, 1,134, 95,181, 98, 99,184,184, 1, 1,254,179, 0, 0, 0, 2, 0, 55, -254, 87, 4,157, 4, 11, 0, 45, 0, 56, 0, 0, 5, 16, 33, 35, 32, 17, 51, 20, 59, 1, 32, 61, 1, 52, 39, 35, 53, 51, 54, 61, - 1, 52, 43, 1, 34, 29, 1, 16, 33, 4, 17, 53, 16, 33, 50, 23, 51, 54, 51, 32, 17, 20, 7, 21, 22, 21, 1, 52, 43, 1, 34, 17, - 21, 16, 51, 50, 17, 4,157,254, 52, 56,254, 82,183,249, 47, 1, 22, 57, 80, 80, 54,100, 83, 59,254,190,254,142, 1,119,138, 67, - 17, 96,139, 1, 35,158,161,253,165, 94, 77,162,176,157, 61,254,148, 1,133,247,222,101,166, 2,151, 1,148,182,204,123,202,254, - 32, 1, 1,153,128, 1,154, 99, 99,254,109,251, 84, 20, 91,142, 2,171,167,254,250,120,254,215, 1, 5, 0, 0, 0, 1, 0,160, -254, 87, 4, 49, 5,241, 0, 30, 0, 0, 37, 16, 33, 32, 17, 52, 55, 23, 6, 21, 16, 33, 32, 3, 19, 16, 5, 38, 21, 20, 23, 35, - 38, 53, 16, 33, 22, 23, 51, 19, 51, 4, 49,254, 84,254, 27,134,176,125, 1, 41, 1, 1, 1, 2,254,223,197, 82,179, 70, 1,113, -142,124, 17, 1,173, 67,254, 20, 1,169,132,100, 1,121,113,254,232, 1, 94, 1, 40, 2, 30, 3, 3,164,182, 89,111,160, 1, 49, - 1,189, 2,153, 0, 1, 0, 55,254, 86, 4,154, 4, 12, 0, 43, 0, 0, 23, 54, 55, 53, 0, 17, 53, 16, 33, 22, 23, 51, 54, 55, - 4, 17, 21, 20, 15, 1, 54, 61, 1, 52, 43, 1, 34, 21, 17, 35, 17, 52, 43, 1, 34, 17, 21, 16, 0, 23, 39, 38, 36, 7,237, 57, - 65,254,208, 1, 95,131, 74, 16, 70,149, 1, 76,169,140,120,134,100, 58,160, 65, 76,151, 2,150, 69,203, 25,254,196,130,201, 83, - 2, 22, 1, 5, 1, 39, 80, 1,238, 1,103,103, 1, 1,254, 63, 70,244,177, 1,167,174,219,240,175,254,203, 1, 53,175,254,250, -138,254,141,254,179,216, 1,142,112,122, 0, 0, 0, 1, 0,158,254, 89, 4, 50, 3,247, 0, 26, 0, 0, 5, 16, 33, 32, 17, 51, - 16, 5, 36, 61, 1, 35, 6, 35, 32, 17, 16, 37, 51, 4, 21, 16, 33, 32, 53, 17, 51, 4, 50,254, 70,254, 38,188, 1, 30, 1, 7, - 20, 88,175,254, 58, 1, 23,216,254,204, 1, 11, 1, 27,179, 47,254,136, 1,144,254,252, 1, 1,240,244, 98, 1,229, 1, 4,167, -206,221,254,175,235, 2, 9, 0, 0, 2, 0, 55, 0, 0, 4, 52, 6, 20, 0, 31, 0, 39, 0, 0, 1, 16, 33, 32, 3, 16, 37, 22, - 23, 51, 17, 52, 35, 34, 29, 1, 35, 53, 52, 35, 34, 21, 35, 16, 51, 50, 23, 51, 54, 51, 32, 11, 1, 2, 33, 32, 19, 2, 33, 50, - 4, 52,254, 89,254, 18, 1, 1,198,193, 70, 20,142,141,157,160, 85,155,220,186, 63, 20, 58,172, 1, 46, 2,184, 1,254,233,254, -247, 1, 1, 1, 56,232, 1,221,254, 35, 2, 13, 2, 8, 1, 1,129, 1, 33,213,210, 33, 35,208,226, 1,108,193,193,254,192,253, - 47, 1,133,254,133,254,132, 0, 0, 2, 0,158, 0, 0, 4, 52, 6, 20, 0, 19, 0, 29, 0, 0, 1, 22, 19, 2, 5, 35, 36, 19, - 16, 37, 36, 25, 1, 35, 19, 16, 33, 32, 19, 22, 39, 38, 35, 34, 21, 17, 51, 54, 5, 54, 3, 77,230, 1, 1,254,233,178, 1, 14, - 1,254,250,254,221,178, 2, 1,112, 1,127, 30, 1,164, 30,217,195, 30, 63, 1, 37, 56, 3,218,104,254,146,254,184,188,199, 1, - 65, 1,106, 1, 19,254,197,253,181, 4,190, 1, 86,254,199, 96, 77,191,214,254,228,128, 30,134, 0, 1, 0, 86,254, 89, 4,122, - 4, 37, 0, 35, 0, 0, 1, 20, 7, 21, 22, 21, 2, 33, 32, 17, 53, 16, 19, 23, 6, 3, 21, 18, 33, 32, 3, 54, 43, 1, 53, 51, - 50, 39, 54, 39, 38, 39, 51, 20, 23, 22, 4, 92,171,201, 2,253,247,253,231,209,145,164, 1, 1, 1, 92, 1, 88, 1, 1,183,184, -176,164, 1, 1,161,143, 1,183,130,167, 2,133,153, 88, 20,123,191,254, 19, 2,195, 97, 1, 68, 1,100, 76,250,254,219,158,253, -201, 1,130,218,136,184,119, 47, 46,173,125, 46, 56, 0, 0, 0, 0, 2, 0,158, 0, 0, 4, 52, 5,241, 0, 11, 0, 19, 0, 0, - 1, 18, 33, 32, 17, 16, 33, 50, 23, 51, 17, 51, 3, 16, 33, 32, 17, 16, 33, 32, 4, 51, 2,254, 47,254, 58, 1,198,215, 50, 20, -178,186,254,234,254,246, 1, 9, 1, 23, 2, 5,253,251, 1,253, 2, 25,115, 2, 78,252, 22, 1,128,254,118,254,148, 0, 0, 0, - 0, 2, 0,160, 0, 0, 4,156, 6, 20, 0, 31, 0, 39, 0, 0, 19, 2, 33, 50, 23, 51, 54, 51, 50, 17, 35, 52, 35, 34, 29, 1, - 35, 53, 52, 35, 34, 21, 17, 51, 54, 55, 32, 17, 2, 5, 32, 17, 55, 18, 51, 36, 3, 18, 5, 32,161, 2, 1, 48,172, 58, 20, 63, -186,218,153, 85,160,157,141,142, 20, 70,193, 1,193, 1,254, 43,254, 69,186, 1,252, 1, 34, 1, 1,254,249,254,233, 4,212, 1, - 64,193,193,254,148,226,208, 35, 33,210,213,254,223,129, 1,253,238,253,253, 1, 2, 15, 38,254, 92, 1, 1,114, 1,133, 1, 0, - 0, 2, 0,159,254, 89, 4, 52, 5,241, 0, 37, 0, 45, 0, 0, 5, 16, 33, 32, 19, 52, 55, 23, 6, 21, 20, 5, 32, 3, 52, 39, - 38, 39, 7, 32, 17, 16, 33, 23, 17, 51, 17, 22, 23, 51, 21, 35, 20, 15, 1, 22, 23, 22, 1, 20, 51, 22, 39, 54, 35, 38, 4, 52, -254, 52,254, 54, 2, 81,143, 38, 1, 14, 1, 17, 1,176,113, 3, 89,254,203, 1, 65, 77,157, 94, 1,184,189, 82, 1, 1,172,141, -253, 66,163,171, 1, 1,162,172, 20,254,109, 1,149,105, 94,105, 36, 73,250, 1, 1, 8,160, 99,111,102, 19, 1, 72, 1, 77, 9, - 1,180,254, 1, 59,105,162,105, 55, 72, 65,105, 97, 2, 66,201, 3,204,193, 1, 0, 2, 0,159, 0, 0, 4, 52, 5,241, 0, 11, - 0, 19, 0, 0, 1, 2, 33, 32, 25, 1, 51, 17, 51, 54, 51, 4, 3, 16, 33, 32, 17, 16, 33, 32, 4, 52, 1,254, 57,254, 51,171, - 41, 74,175, 1,200,187,254,242,254,238, 1, 20, 1, 12, 2, 13,253,243, 2, 13, 3,228,253,161,132, 1,253,248, 1,123,254,131, -254,134, 0, 0, 0, 1, 0,159,254, 89, 4, 52, 4,215, 0, 31, 0, 0, 37, 16, 33, 32, 17, 52, 55, 23, 6, 21, 16, 5, 32, 17, - 54, 39, 38, 39, 53, 37, 53, 5, 53, 51, 17, 5, 21, 37, 21, 20, 23, 22, 4, 52,254, 46,254, 61,107,144, 64, 1, 8, 1, 22, 1, -194,170, 1,254,185, 1, 71,146, 1, 80,254,176,215,190, 41,254, 48, 1,207,125,140, 89,105, 71,254,190, 1, 1, 66,173,157,171, -135,160,120,180,128,232,254,243,127,177,134,125, 72,186,183, 0, 0, 1, 0,158, 0, 0, 4, 52, 6, 20, 0, 43, 0, 0, 1, 16, - 33, 32, 17, 53, 51, 21, 2, 33, 32, 39, 52, 39, 35, 53, 51, 50, 53, 54, 43, 1, 53, 51, 50, 55, 52, 37, 38, 53, 51, 20, 5, 22, - 21, 20, 7, 21, 22, 21, 20, 7, 21, 22, 4, 52,254, 55,254, 51,188, 1, 1, 12, 1, 21, 2,108,251,251,100, 1,101,251,249, 91, - 1,255, 0,233,166, 1, 20,233,144,154,148,158, 1,104,254,152, 1,160,101,101,254,236,212,174, 1,150,122,115,152,132, 85, 32, - 33,208,120, 26, 26,190,140, 47, 20, 54,137,126, 58, 20, 95, 0, 0, 1, 0,118,254, 89, 4, 51, 6, 20, 0, 61, 0, 0, 5, 2, - 33, 32, 17, 16, 19, 54, 3, 51, 18, 3, 6, 3, 18, 33, 50, 39, 52, 39, 35, 53, 51, 54, 53, 52, 43, 1, 53, 51, 50, 53, 52, 7, - 35, 53, 51, 50, 53, 38, 39, 38, 39, 51, 20, 23, 22, 23, 6, 7, 21, 22, 23, 6, 7, 21, 22, 23, 6, 7, 21, 22, 4, 51, 1,254, - 84,253,240, 55, 54,104,185, 84, 37, 49, 1, 1, 1, 84,251, 2,134,136,136,134,132,138,138,132,134,136,136,134, 1,185,145, 1, -166,189,156, 1, 1,178,178, 1, 1,178,178, 1, 2,177,178,124,254,213, 1,216, 1, 43, 1, 13,227, 1, 63,254,249,254,229,225, -254,169,254,179,160,198, 2,142, 1,134,164,138,156,132, 1,145,142, 82, 33, 34,178, 72, 54, 49,152,165, 34, 20, 40,159,187, 30, - 20, 38,183,146, 48, 20, 58, 0, 0, 2, 0,160,254,243, 4, 52, 4, 22, 0, 17, 0, 25, 0, 0, 23, 50, 55, 36, 17, 18, 37, 32, - 17, 16, 5, 22, 55, 21, 36, 39, 6, 7, 19, 16, 5, 36, 3, 18, 33, 32,201,149, 80,254,242, 3, 1,197, 1,204,254,231, 92,143, -254,248,150,193,222,144, 1, 15, 1, 18, 1, 1,254,233,254,246, 60, 89,170, 1, 64, 2, 14, 1,253,241,254,192,170, 94, 5,209, - 69,194,193, 70, 3, 20,254,196, 85, 85, 1, 60, 1,127, 0, 0, 0, 1, 0,159,254, 87, 4, 52, 4, 21, 0, 29, 0, 0, 5, 2, - 5, 32, 17, 55, 23, 7, 18, 33, 32, 17, 53, 16, 5, 35, 53, 51, 32, 19, 39, 5, 21, 35, 17, 37, 16, 5, 4, 17, 4, 52, 1,254, - 48,254, 60, 31,180, 21, 1, 1, 10, 1, 14,254,194,114,114, 1, 30, 1, 2,254, 32,173, 3,108,254,236, 1, 20, 20,254,109, 2, - 1,149,111, 20, 91,254,249, 1, 7, 32, 1, 43, 1,160, 1,101, 74, 30,204, 1, 93, 29,254, 48,185,113,254,241, 0, 1, 0,159, -254, 87, 4, 52, 6, 22, 0, 36, 0, 0, 5, 16, 33, 32, 17, 51, 16, 33, 32, 17, 53, 52, 33, 35, 53, 51, 36, 17, 6, 35, 4, 17, - 16, 5, 21, 32, 21, 20, 33, 50, 55, 17, 18, 5, 21, 4, 21, 4, 52,254, 52,254, 55,190, 1, 11, 1, 13,254,237,156,156, 1, 20, -125,143,254, 53, 1,203,254,200, 1, 54,238,221, 1,254,203, 1, 53, 20,254,107, 1,149,254,248, 1, 8, 55,236,157, 11, 1,158, - 37, 3, 1,100, 1,133, 1,142,246,210,168,254,248,254,117,105, 20, 62,246, 0, 0, 3, 0,139, 0, 0, 4,124, 6, 21, 0, 23, - 0, 31, 0, 39, 0, 0, 1, 21, 16, 33, 32, 17, 16, 37, 33, 53, 33, 36, 17, 16, 33, 32, 17, 21, 51, 21, 35, 21, 51, 21, 37, 33, - 32, 21, 20, 33, 32, 53, 1, 20, 41, 1, 53, 52, 33, 32, 4, 10,254, 73,254, 56, 1,196, 1, 17,254,239,254, 60, 1,204, 1,179, -114,114,114,254,228,254,239,254,250, 1, 14, 1, 9,253,233, 1, 6, 1, 17,254,247,254,242, 2, 5,182,254,177, 1, 79, 1,102, - 2,161, 1, 1,107, 1, 81,254,175,216,148,161,178, 30,206,201,211, 3, 99,214,216,195, 0, 0, 0, 2, 0, 55,254, 88, 4,154, - 4, 22, 0, 33, 0, 44, 0, 0, 1, 16, 33, 34, 39, 35, 21, 2, 33, 53, 50, 39, 17, 52, 35, 7, 38, 21, 17, 20, 51, 21, 36, 17, - 53, 16, 33, 50, 23, 51, 54, 51, 4, 17, 3, 17, 52, 43, 1, 34, 21, 17, 20, 51, 50, 4,154,254,205,126, 26, 15, 11,254,179,183, - 9, 77, 97,115,128,254,194, 1, 49,183, 68, 16, 62,182, 1, 51,189,136, 76, 73,167,118, 1,150,254,106,116,152,254,124,142,231, - 3, 9,178, 1, 1,189,254,193,217,148, 3, 1,120,240, 1,140,145,145, 1,254,117,254,174, 1,161,175,167,254,131,211, 0, 0, - 0, 1, 0,107,254, 89, 4,102, 4, 22, 0, 31, 0, 0, 33, 2, 33, 32, 3, 16, 37, 36, 53, 52, 35, 34, 7, 23, 7, 39, 16, 33, - 32, 17, 6, 5, 4, 17, 2, 33, 32, 19, 52, 39, 55, 22, 4,102, 1,253,245,254, 18, 1, 1, 71, 1, 68,152,181, 1, 5,165, 10, - 1, 96, 1, 85, 1,254,175,254,200, 1, 1, 54, 1, 73, 1, 64,154, 98,254, 89, 1,167, 1,115,114,103,127,188,159, 56, 21, 65, - 1, 58,254,168,212,131, 77,254,238,254,220, 1, 41,123, 54, 92,108, 0, 0, 0, 0, 1, 0,161,254, 89, 4, 52, 4, 40, 0, 27, - 0, 0, 19, 51, 17, 22, 33, 32, 17, 52, 37, 55, 4, 19, 16, 37, 35, 34, 39, 35, 21, 2, 37, 32, 17, 51, 2, 33, 32, 17,161,173, - 1, 1, 35, 1, 7,254,249,171, 1, 22, 1,254, 62, 2,185, 85, 20, 2, 1, 38, 1, 7,187, 1,254, 59,254, 51, 3,254,253,204, -191, 1, 48,253,177, 63,226,254,245,254, 55, 1, 89,227,254,251, 1, 1, 4,254,112, 1,140, 0, 0, 2, 0,109,254, 87, 4, 99, - 4, 36, 0, 22, 0, 30, 0, 0, 19, 2, 33, 4, 17, 16, 5, 4, 21, 20, 23, 54, 61, 1, 51, 21, 2, 33, 32, 17, 52, 55, 36, 19, - 22, 5, 36, 53, 16, 33, 32,110, 1, 2, 0, 1,246,254,150,254,218,158,195,178, 1,254,140,254,170,239,254,100,191, 1, 1, 63, - 1, 59,254,197,254,192, 2,107, 1,185, 1,254, 72,254,235,169,117,158,181, 1, 1,140, 76, 76,254,230, 1, 56,231, 84, 87, 1, - 74,255, 38, 41,252, 1, 42, 0, 0, 1, 0,160,255,121, 4, 51, 4, 22, 0, 26, 0, 0, 5, 53, 52, 38, 35, 34, 7, 39, 54, 55, - 53, 38, 17, 16, 37, 4, 1, 39, 0, 37, 32, 3, 30, 1, 23, 22, 23, 2,239,116, 95,130, 67,130, 67,116,236, 1,228, 2,167,254, -121,145, 1, 17,254, 96,254,220, 1, 3, 94,113,178,124,135, 1, 5,121,116, 74,102, 24, 30,173, 1, 73, 1,181, 1, 56,253, 5, - 61, 2, 92, 11,254,219,163,202, 98, 42,147, 0, 0, 3, 1, 35, 0, 50, 3,174, 3,227, 0, 3, 0, 7, 0, 11, 0, 0, 1, 51, - 21, 35, 5, 51, 21, 35, 5, 51, 21, 35, 1, 35,192,192, 1,209,186,186,254, 47,189,189, 3,227,176,189,174,232,174, 0, 0, 0, - 0, 2, 1,149, 2,245, 3, 60, 6, 20, 0, 15, 0, 23, 0, 0, 1, 50, 3, 16, 7, 34, 25, 1, 52, 59, 1, 21, 37, 34, 29, 1, - 23, 52, 35, 34, 7, 20, 51, 50, 2,108,208, 1,213,209,185,235,254,254, 70,237,124,112, 1,117,120, 5, 36,254,239,254,227, 1, - 1, 30, 1, 76,181, 82, 2, 81,158,194,180,186,201, 0, 0, 0, 0, 3, 0, 41,255,227, 4,176, 4,123, 0, 10, 0, 18, 0, 66, - 0, 0, 1, 21, 51, 50, 54, 53, 52, 38, 35, 34, 6, 1, 21, 20, 22, 50, 54, 61, 1, 37, 33, 62, 1, 53, 52, 38, 35, 34, 6, 7, - 53, 62, 1, 51, 50, 22, 23, 62, 1, 51, 50, 22, 21, 20, 6, 43, 1, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 39, 14, - 1, 35, 34, 38, 17, 2,186, 49,169,120, 89, 83, 92, 74,254, 19, 77,174, 76,254, 21, 1,235, 1, 1,101,112, 79,129, 50, 55,132, - 71,110,149, 32, 39,133, 97,156,163,200,191,117, 99, 94, 56,132, 62, 77,132, 60, 91,124, 37, 33,132, 89,174,145, 2,164, 72, 90, -113, 89, 97,133,254,113, 52,151,133,136,157, 43,143, 15, 35, 34,161,144, 51, 51,172, 41, 43, 82, 78, 80, 80,172,164,171,179, 88, -120,128, 43, 39,168, 35, 33, 63, 64, 61, 66,237, 1, 50, 0, 0, 0, 1, 0,169,255,234, 4, 40, 4,123, 0, 48, 0, 0, 1, 22, - 23, 22, 21, 20, 6, 35, 34, 39, 38, 39, 53, 22, 23, 22, 51, 50, 54, 53, 52, 39, 38, 43, 1, 53, 51, 50, 54, 53, 52, 39, 38, 35, - 34, 7, 6, 7, 53, 54, 55, 54, 51, 50, 23, 22, 21, 20, 6, 3, 16,119, 65, 64,244,209, 81, 91, 92,105,104, 87, 86, 76,138,148, - 72, 72,135,166,159,150,168, 90, 91,173, 99, 91, 91, 77, 97, 90, 91, 86,254,139,138,148, 2, 6, 25, 65, 64, 94,134,158, 12, 12, - 24,167, 27, 13, 12, 86, 74, 61, 43, 44,144,110, 81, 98, 53, 52, 18, 17, 34,173, 28, 14, 14, 91, 92,166,109,148, 0, 2, 0,178, -254, 80, 4, 68, 4,100, 0, 9, 0, 13, 0, 0, 37, 33, 17, 33, 53, 33, 21, 33, 17, 33, 1, 35, 53, 51, 3,246,254, 41,254,147, - 3,146,254,147, 1, 31,254,225,184,184, 4, 3,209,143,143,252,190,253,189,233, 0, 3, 0, 14,255,227, 4,186, 4,123, 0, 10, - 0, 21, 0, 54, 0, 0, 19, 20, 6, 21, 20, 22, 51, 50, 54, 61, 1, 1, 34, 6, 21, 16, 22, 51, 50, 54, 16, 38, 1, 33, 53, 52, - 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 62, 1, 51, 50, 18, 16, 2, 35, 34, 38, 39, 14, 1, 35, 34, 38, 17,177, 2, 80, - 86, 87, 77, 1, 90,102, 82, 80,104,103, 80, 80,252, 84, 1,235, 99,112, 80,131, 47, 59,125, 74, 98,147, 48, 52,128, 84,189,170, -170,189, 89,128, 47, 37,130, 87,175,144, 1,205, 11, 38, 9,145,135,137,158, 43, 2, 22,168,239,254,221,174,167, 2, 26,167,254, -121, 84,163,144, 53, 51,172, 43, 41, 67, 66, 68, 65,254,236,253,144,254,236, 62, 65, 62, 65,237, 1, 50, 0, 0, 0, 1, 0,137, - 2, 47, 4, 72, 4,123, 0, 12, 0, 0, 19, 16, 18, 32, 18, 17, 35, 52, 38, 35, 34, 6, 21,137,246, 1,210,247,195,144,141,140, -144, 2, 47, 1, 30, 1, 46,254,210,254,226,214,218,218,214, 0, 0, 1, 0,136,255,227, 4, 71, 2, 47, 0, 12, 0, 0, 1, 16, - 2, 32, 2, 17, 51, 20, 22, 51, 50, 54, 53, 4, 71,246,254, 46,247,195,144,141,140,144, 2, 47,254,226,254,210, 1, 46, 1, 30, -214,218,218,214, 0, 1, 0, 43, 0, 2, 4,166, 3, 91, 0, 19, 0, 0, 37, 33, 53, 33, 50, 54, 53, 52, 38, 35, 33, 53, 33, 21, - 35, 30, 1, 21, 20, 6, 2,225,253, 74, 2,182,151,142,183,171,253,135, 4, 94,168, 97,100,225, 2,184,108,112,130,138,184,184, - 50,168,114,172,168, 0, 0, 0, 0, 3, 0, 63,255,254, 4,146, 3, 87, 0, 3, 0, 7, 0, 27, 0, 0, 55, 53, 51, 21, 3, 53, - 51, 21, 1, 33, 53, 33, 50, 54, 53, 52, 38, 35, 33, 53, 33, 21, 35, 30, 1, 21, 20, 6, 63,142,142,142, 2,136,254, 26, 1,230, -105,100,128,120,254, 69, 3, 15,118, 68, 70,158,122,204,204, 1,136,202,202,253,252,184,108,112,130,138,184,184, 50,168,114,172, -168, 0, 0, 0, 0, 1, 0, 43, 0, 1, 4,166, 4, 3, 0, 34, 0, 0, 1, 30, 1, 21, 20, 6, 41, 1, 53, 33, 50, 54, 53, 52, - 38, 35, 33, 53, 33, 50, 54, 53, 52, 38, 35, 33, 53, 33, 21, 35, 30, 1, 21, 20, 6, 4, 25, 72, 69,209,254,223,253,119, 2,129, -237,115,123,229,253,127, 2,129,240,112,123,229,253,127, 4, 96, 96, 60, 63, 70, 1,204, 34,105, 74,135,111,168, 53, 70, 80, 59, -168, 57, 74, 73, 57,167,167, 33, 99, 63, 76,101, 0, 2, 0,252, 2,156, 3,214, 5,224, 0, 2, 0, 10, 0, 0, 1, 3, 33, 3, - 51, 1, 35, 39, 33, 7, 35, 2,104,134, 1, 12,210,154, 1, 32,132, 68,254,182, 68,132, 5,124,254, 85, 2, 15,252,188,218,218, - 0, 2, 0,245, 2,156, 3,220, 5,224, 0, 15, 0, 19, 0, 0, 1, 21, 35, 21, 51, 21, 35, 17, 51, 21, 33, 53, 35, 7, 35, 1, - 23, 3, 51, 17, 3,208,213,194,194,225,254,170,221, 64,116, 1, 2, 76,127,194, 5,224, 95,248, 95,254,209, 95,214,214, 3, 68, - 95,254, 80, 1,176, 0, 0, 0, 0, 3, 1, 55, 2,156, 3,154, 5,224, 0, 8, 0, 17, 0, 32, 0, 0, 1, 17, 51, 50, 54, 53, - 52, 38, 35, 3, 21, 51, 50, 54, 53, 52, 38, 35, 37, 33, 50, 22, 21, 20, 6, 7, 30, 1, 21, 20, 6, 35, 33, 1,182,151,111, 94, - 99,106,151,149, 91, 83, 81, 93,254,236, 1, 22,144,157, 83, 83, 93,105,167,166,254,234, 4, 43,254,206, 69, 79, 82, 76, 1, 88, -252, 63, 70, 63, 56, 93,111,101, 77, 88, 12, 12,116, 89,114,116, 0, 2, 1, 55, 2,156, 3,154, 5,224, 0, 8, 0, 17, 0, 0, - 1, 50, 54, 53, 52, 38, 43, 1, 17, 19, 50, 22, 21, 20, 6, 43, 1, 17, 1,244,160,128,127,161, 61, 63,216,204,204,216,191, 2, -249,141,183,186,140,253,118, 2,231,204,215,214,203, 3, 68, 0, 0, 1, 1, 76, 2,156, 3,134, 5,224, 0, 11, 0, 0, 1, 33, - 21, 33, 21, 33, 21, 33, 17, 33, 21, 33, 1, 76, 2, 46,254, 80, 1,156,254,100, 1,188,253,198, 5,224, 95,248, 95,254,209, 95, - 0, 1, 1, 76, 2,156, 3,134, 5,224, 0, 11, 0, 0, 1, 33, 21, 33, 21, 33, 21, 33, 17, 33, 21, 33, 3,134,253,210, 1,174, -254,100, 1,156,254, 70, 2, 58, 5,224, 95,248, 95,254,209, 95, 0, 1, 1, 44, 2,140, 3,164, 5,239, 0, 28, 0, 0, 1, 14, - 1, 35, 34, 38, 16, 54, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 21, 20, 22, 51, 50, 54, 55, 53, 35, 53, 33, 3,164, 52,126, 76, -178,200,202,180, 60,108, 50, 52,106, 60,124,124,120,124, 42, 64, 26,136, 1, 2, 2,225, 42, 43,228, 1,154,229, 29, 31,116, 43, - 41,170,172,174,167, 17, 18,225, 93, 0, 0, 0, 0, 1, 1, 58, 2,156, 3,150, 5,224, 0, 11, 0, 0, 1, 51, 17, 33, 17, 51, - 17, 35, 17, 33, 17, 35, 1, 58,128, 1, 94,126,126,254,162,128, 5,224,254,169, 1, 87,252,188, 1,142,254,114, 0, 1, 1,100, - 2,156, 3,110, 5,224, 0, 11, 0, 0, 1, 33, 21, 35, 17, 51, 21, 33, 53, 51, 17, 35, 1,100, 2, 10,198,198,253,246,196,196, - 5,224, 95,253,122, 95, 95, 2,134, 0, 0, 0, 0, 1, 1, 94, 2,140, 3,115, 5,224, 0, 17, 0, 0, 1, 53, 30, 1, 51, 50, - 54, 53, 17, 35, 53, 33, 17, 20, 6, 35, 34, 38, 1, 94, 57,122, 66, 90, 71,240, 1,111,133,155, 61,119, 2,190,132, 45, 45, 83, -114, 1,212, 95,253,205,158,131, 24, 0, 0, 0, 0, 1, 1, 18, 2,156, 3,192, 5,224, 0, 11, 0, 0, 1, 51, 17, 1, 51, 9, - 1, 35, 1, 7, 17, 35, 1, 18,128, 1,142,148,254,146, 1,122,154,254,204, 96,128, 5,224,254,140, 1,116,254,170,254, 18, 1, -163, 92,254,185, 0, 1, 1, 69, 2,156, 3,140, 5,224, 0, 5, 0, 0, 1, 51, 17, 33, 21, 33, 1, 69,128, 1,199,253,185, 5, -224,253, 27, 95, 0, 1, 1, 27, 2,156, 3,182, 5,224, 0, 12, 0, 0, 1, 51, 27, 1, 51, 17, 35, 17, 3, 35, 3, 17, 35, 1, - 27,170,163,164,170,117,168, 96,169,117, 5,224,254, 86, 1,170,252,188, 2,227,254, 71, 1,185,253, 29, 0, 0, 0, 1, 1, 60, - 2,156, 3,149, 5,224, 0, 9, 0, 0, 1, 51, 1, 17, 51, 17, 35, 1, 17, 35, 1, 60,161, 1, 61,123,161,254,194,122, 5,224, -253, 80, 2,176,252,188, 2,176,253, 80, 0, 0, 0, 1, 1, 60, 2,156, 3,149, 5,224, 0, 9, 0, 0, 1, 35, 1, 17, 35, 17, - 51, 1, 17, 51, 3,149,161,254,194,122,161, 1, 61,123, 5,224,253, 80, 2,176,252,188, 2,176,253, 80, 0, 0, 0, 2, 1, 46, - 2,140, 3,163, 5,239, 0, 10, 0, 19, 0, 0, 0, 16, 38, 35, 34, 6, 21, 20, 22, 51, 50, 19, 20, 6, 32, 38, 16, 54, 32, 22, - 3, 30, 85, 97, 96, 85, 85, 96, 97,218,156,254,194,155,155, 1, 62,156, 3,133, 1,112,158,158,184,183,158, 1, 85,218,215,214, - 1,182,215,215, 0, 2, 1, 63, 2,156, 3,146, 5,224, 0, 8, 0, 18, 0, 0, 1, 17, 51, 50, 54, 53, 52, 38, 35, 37, 33, 50, - 22, 20, 6, 43, 1, 17, 35, 1,190,148, 88, 99, 98, 89,254,237, 1, 19,157,163,162,158,148,127, 5,131,254,198, 83, 74, 75, 82, - 93,127,246,127,254,176, 0, 0, 0, 2, 1, 17, 2,156, 3,192, 5,224, 0, 19, 0, 28, 0, 0, 1, 30, 1, 31, 1, 35, 39, 46, - 1, 43, 1, 17, 35, 17, 33, 50, 22, 21, 20, 6, 1, 17, 51, 50, 54, 53, 52, 38, 35, 2,150, 49, 69, 52,128,137,112, 49, 77, 62, -122,128, 1, 6,155,165,101,254,159,139, 92, 89, 95, 91, 4, 39, 11, 63, 93,228,211, 90, 52,254,159, 3, 68,124,118, 83,104, 1, - 80,254,215, 73, 75, 72, 77, 0, 0, 1, 1, 2, 2,156, 3,207, 5,224, 0, 7, 0, 0, 1, 33, 21, 33, 17, 35, 17, 33, 1, 2, - 2,205,254,218,128,254,217, 5,224, 95,253, 27, 2,229, 0, 0, 0, 1, 1, 65, 2,140, 3,144, 5,224, 0, 29, 0, 0, 1, 17, - 51, 17, 20, 22, 23, 30, 1, 51, 50, 54, 55, 62, 1, 53, 17, 51, 17, 20, 6, 7, 14, 1, 35, 34, 38, 39, 46, 1, 1, 65,127, 8, - 10, 20, 76, 54, 55, 75, 21, 10, 7,128, 36, 44, 42,107, 67, 66,107, 42, 44, 36, 3,221, 2, 3,253,201, 61, 52, 14, 33, 33, 33, - 33, 14, 52, 60, 2, 56,253,253,128,108, 36, 33, 32, 32, 33, 35,110, 0, 0, 0, 0, 1, 0,228, 2,156, 3,237, 5,224, 0, 12, - 0, 0, 19, 51, 27, 1, 51, 27, 1, 51, 3, 35, 11, 1, 35,228,124, 90,107,133,109, 90,124,141,120,128,127,121, 5,224,253, 89, - 1,193,254, 62, 2,168,252,188, 1,241,254, 15, 0, 2, 1, 69, 2,140, 3,140, 5, 30, 0, 11, 0, 41, 0, 0, 1, 35, 34, 6, - 21, 20, 22, 51, 50, 54, 55, 53, 55, 17, 35, 53, 14, 1, 35, 34, 38, 53, 52, 54, 59, 1, 53, 46, 1, 35, 34, 6, 7, 53, 62, 1, - 51, 50, 22, 23, 30, 1, 2,171, 38,102,102, 77, 68, 95,110, 1,116,116, 38,112, 81,108,128,158,153,156, 1, 84, 93, 59,121, 58, - 65,118, 55, 88,124, 38, 24, 20, 3,215, 63, 63, 56, 63,118,104, 23, 43,254,154, 93, 56, 53,108, 91,104,109, 16, 75, 68, 30, 29, -103, 21, 22, 46, 46, 28, 82, 0, 0, 2, 1, 69, 2,140, 3,140, 5, 30, 0, 11, 0, 41, 0, 0, 1, 51, 50, 54, 53, 52, 38, 35, - 34, 6, 7, 21, 7, 17, 51, 21, 62, 1, 51, 50, 22, 21, 20, 6, 43, 1, 21, 30, 1, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 39, - 46, 1, 2, 38, 38,102,102, 77, 68, 95,110, 1,116,116, 38,112, 81,108,128,158,153,156, 1, 84, 93, 59,121, 58, 65,118, 55, 88, -124, 38, 24, 20, 3,211, 63, 63, 56, 63,118,104, 23, 43, 1,102, 93, 56, 53,108, 90,105,109, 16, 75, 68, 30, 29,103, 21, 22, 46, - 46, 28, 82, 0, 0, 2, 1, 71, 2,140, 3,138, 5, 30, 0, 16, 0, 26, 0, 0, 1, 53, 51, 17, 35, 53, 14, 1, 35, 34, 38, 53, - 52, 54, 51, 50, 22, 4, 20, 22, 51, 50, 54, 52, 38, 35, 34, 3, 22,116,116, 29, 96, 63,128,147,147,128, 63, 97,254,199, 86, 84, - 83, 88, 88, 83, 84, 4,191, 78,253,143, 79, 47, 48,176,155,153,174, 48,161,240,122,123,238,123, 0, 3, 0,251, 2,140, 3,214, - 5, 30, 0, 10, 0, 18, 0, 66, 0, 0, 1, 21, 51, 50, 54, 53, 52, 38, 35, 34, 6, 5, 21, 20, 22, 50, 54, 61, 1, 37, 33, 52, - 54, 53, 52, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 62, 1, 51, 50, 22, 21, 20, 6, 43, 1, 21, 20, 22, 51, 50, 54, 55, - 21, 14, 1, 35, 34, 38, 39, 14, 1, 35, 34, 38, 53, 2,153, 31,107, 75, 56, 52, 58, 47,254,202, 48,110, 48,254,202, 1, 54, 1, - 64, 70, 50, 81, 32, 35, 83, 45, 69, 94, 20, 25, 84, 61, 98,103,126,121, 73, 62, 59, 35, 84, 39, 49, 83, 38, 57, 78, 24, 20, 84, - 56,109, 92, 4, 23, 41, 51, 63, 50, 54, 74,224, 29, 85, 74, 76, 88, 24, 80, 9, 19, 19, 90, 81, 28, 29, 96, 23, 24, 46, 43, 45, - 44, 96, 92, 96,100, 49, 67, 72, 24, 22, 94, 20, 18, 35, 36, 34, 37,132,172, 0, 0, 2, 1, 71, 2,140, 3,138, 6, 3, 0, 7, - 0, 24, 0, 0, 0, 52, 38, 34, 6, 20, 22, 50, 3, 62, 1, 51, 50, 22, 21, 20, 6, 35, 34, 38, 39, 21, 35, 17, 51, 3, 16, 86, -168, 87, 87,168,255, 28, 97, 65,127,146,147,128, 63, 96, 29,116,116, 3, 93,240,122,123,238,123, 1,220, 46, 49,174,153,155,176, - 48, 47, 79, 3,103, 0, 0, 0, 0, 2, 1, 71, 2,140, 3,138, 6, 3, 0, 16, 0, 26, 0, 0, 1, 17, 51, 17, 35, 53, 14, 1, - 35, 34, 38, 53, 52, 54, 51, 50, 22, 4, 20, 22, 51, 50, 54, 52, 38, 35, 34, 3, 22,116,116, 29, 96, 63,128,147,147,128, 63, 97, -254,199, 86, 84, 83, 88, 88, 83, 84, 4,191, 1, 68,252,153, 79, 47, 48,176,155,153,174, 48,161,240,122,123,238,123, 0, 0, 0, - 0, 2, 1, 49, 2,140, 3,160, 5, 30, 0, 21, 0, 28, 0, 0, 1, 21, 33, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, - 53, 52, 54, 51, 50, 22, 7, 46, 1, 35, 34, 6, 7, 3,160,254, 10,120,110, 55,121, 69, 66,123, 57,165,185,181,152,134,156,116, - 2, 92, 85, 84,109, 10, 3,239, 50, 3,103,112, 31, 32,102, 24, 24,175,154,150,179,162,110, 90, 95, 99, 87, 0, 0, 2, 1, 49, - 2,140, 3,160, 5, 30, 0, 21, 0, 28, 0, 0, 1, 53, 33, 53, 52, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 21, 20, 6, 35, - 34, 38, 55, 30, 1, 51, 50, 54, 55, 1, 49, 1,246,120,110, 55,121, 69, 66,123, 57,165,185,181,152,134,156,116, 2, 92, 85, 84, -109, 10, 3,187, 50, 3,103,112, 31, 32,102, 24, 24,175,154,150,179,162,110, 90, 95, 99, 87, 0, 0, 1, 1, 79, 2,144, 3,130, - 5, 30, 0, 40, 0, 0, 1, 46, 1, 53, 52, 54, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 21, 20, 22, 59, 1, 21, 35, 34, 6, 21, - 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 53, 52, 54, 1,255, 75, 81,153,132, 51,115, 67, 66,109, 48, 87, 93, 91, 85,104, -100, 94,106,114,109, 62,115, 48, 61,114, 54,160,174, 93, 3,240, 14, 72, 53, 75, 88, 13, 14, 93, 15, 14, 48, 42, 34, 48, 81, 62, - 45, 55, 59, 20, 19, 97, 16, 15,102, 93, 61, 83, 0, 1, 1, 79, 2,144, 3,130, 5, 30, 0, 40, 0, 0, 1, 30, 1, 21, 20, 6, - 35, 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, 22, - 21, 20, 6, 2,210, 75, 81,153,132, 51,115, 67, 66,109, 48, 87, 93, 91, 85,104,100, 94,106,114,109, 62,115, 48, 61,114, 54,160, -174, 93, 3,190, 14, 72, 53, 75, 88, 13, 14, 93, 15, 14, 48, 42, 34, 48, 81, 62, 45, 55, 59, 20, 19, 97, 16, 15,102, 93, 61, 83, - 0, 2, 1, 71, 1,166, 3,138, 5, 30, 0, 9, 0, 39, 0, 0, 0, 52, 38, 35, 34, 6, 20, 22, 51, 50, 23, 20, 6, 35, 34, 38, - 39, 53, 30, 1, 51, 50, 54, 61, 2, 14, 1, 35, 34, 38, 53, 52, 54, 51, 50, 22, 23, 53, 51, 3, 22, 85, 81, 85, 90, 90, 86, 80, -201,150,145, 48,105, 52, 62,100, 43, 93, 86, 28, 95, 69,124,147,147,124, 68, 94, 30,116, 3,103,232,120,120,232,122, 41,141,145, - 15, 15,102, 25, 25, 91, 98, 5, 70, 53, 51,175,148,147,176, 48, 50, 81, 0, 0, 0, 2, 1, 73, 1,170, 3,136, 5, 17, 0, 9, - 0, 13, 0, 0, 1, 33, 17, 35, 53, 33, 21, 35, 17, 51, 3, 35, 53, 51, 3, 87,254,216,230, 2, 63,230,181,181,115,115, 2,158, - 2, 35, 80, 80,254, 45,254,188,131, 0, 0, 0, 0, 1, 1, 56, 2,156, 3,153, 6, 3, 0, 11, 0, 0, 1, 51, 17, 1, 51, 5, - 1, 35, 1, 7, 21, 35, 1, 56,120, 1, 48,141,254,234, 1, 66,142,254,251, 86,120, 6, 3,254, 8, 1, 4,236,254,121, 1, 68, - 73,251, 0, 0, 0, 1, 1, 37, 2,156, 3,172, 5, 30, 0, 34, 0, 0, 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, 2,139, 21, 66, 47, 85, 70,106, 34, 44, 50, - 37,106, 36, 47, 46, 35,106,106, 20, 63, 39, 48, 64, 4,207, 41, 38,117,162,254,149, 1,103,133, 64, 69,128,254,153, 1,103,134, - 63, 69,128,254,153, 2,115, 54, 34, 35, 39, 0, 0, 1, 1, 91, 1,173, 3,118, 5, 30, 0, 31, 0, 0, 1, 17, 20, 7, 6, 43, - 1, 53, 51, 50, 55, 54, 53, 17, 52, 38, 35, 34, 7, 6, 21, 17, 35, 17, 51, 21, 54, 55, 54, 51, 50, 22, 3,118, 56, 57,104,129, -117, 57, 28, 28, 67, 71, 82, 44, 43,116,116, 31, 53, 52, 73,108,106, 4, 33,254,112,109, 59, 60, 88, 35, 34, 71, 1,144, 84, 80, - 51, 52, 96,254,158, 2,115, 94, 54, 28, 27,126, 0, 2, 1, 58, 2,140, 3,151, 5, 30, 0, 11, 0, 22, 0, 0, 1, 34, 6, 21, - 20, 22, 51, 50, 54, 53, 52, 46, 1, 32, 22, 21, 20, 6, 35, 34, 38, 53, 52, 2,104, 88, 91, 91, 88, 89, 91, 91,236, 1, 38,156, -155,148,147,155, 4,199,122,120,119,123,123,119,120,122, 87,169,160,161,168,168,161,160, 0, 0, 0, 1, 1, 88, 2,140, 3,121, - 5, 30, 0, 23, 0, 0, 1, 62, 1, 51, 50, 22, 16, 6, 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 52, 38, 35, 34, 6, 7, 1, 88, - 46, 99, 52,164,184,184,164, 51, 97, 49, 46, 92, 59,109,117,118,108, 61, 95, 41, 4,238, 24, 24,174,254,202,174, 23, 25,108, 36, - 33,126,232,126, 33, 35, 0, 0, 0, 1, 1, 58, 3,213, 3,151, 5, 30, 0, 12, 0, 0, 1, 52, 54, 32, 22, 21, 35, 52, 38, 35, - 34, 6, 21, 1, 58,155, 1, 38,156,123, 91, 89, 88, 91, 3,213,160,169,169,160,120,122,122,120, 0, 1, 1, 58, 2,140, 3,151, - 3,213, 0, 12, 0, 0, 1, 20, 6, 32, 38, 53, 51, 20, 22, 51, 50, 54, 53, 3,151,155,254,218,156,123, 91, 89, 88, 91, 3,213, -160,169,169,160,120,122,122,120, 0, 2, 1, 71, 1,173, 3,138, 5, 30, 0, 16, 0, 24, 0, 0, 1, 17, 35, 17, 51, 21, 62, 1, - 51, 50, 22, 21, 20, 6, 35, 34, 38, 36, 52, 38, 34, 6, 20, 22, 50, 1,188,117,117, 29, 96, 63,128,146,146,128, 64, 96, 1, 56, - 85,168, 87, 87,168, 2,235,254,194, 3, 98, 80, 47, 48,176,155,153,174, 48,161,240,122,123,238,123, 0, 0, 0, 0, 1, 1, 77, - 2,156, 3,132, 5,193, 0, 19, 0, 0, 1, 21, 33, 21, 33, 17, 20, 22, 59, 1, 21, 35, 34, 38, 53, 17, 35, 53, 51, 53, 2,125, - 1, 7,254,249, 59, 74,130,141,131,107,188,188, 5,193,178, 80,254,172, 70, 55, 82, 93,114, 1, 84, 80,178, 0, 0, 1, 1, 91, - 2,140, 3,118, 5, 14, 0, 19, 0, 0, 1, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 38, 1, 91, -116, 67, 71, 82, 87,116,116, 31,107, 71,108,106, 3,137, 1,133,254,123, 84, 80,103, 96, 1, 98,253,142, 94, 54, 56,126, 0, 0, - 0, 1, 0,255, 2,157, 3,210, 4,125, 0, 19, 0, 0, 1, 33, 53, 33, 50, 54, 53, 52, 38, 35, 33, 53, 33, 21, 35, 30, 1, 21, - 20, 6, 2,180,254, 75, 1,181, 96, 89,115,108,254,113, 2,193,106, 61, 63,142, 2,157,103, 60, 63, 73, 77,104,104, 27, 95, 63, - 97, 94, 0, 0, 0, 1, 1, 37, 2,156, 3,172, 5, 30, 0, 34, 0, 0, 1, 14, 1, 35, 34, 38, 53, 17, 51, 17, 20, 22, 51, 50, - 54, 53, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 38, 2, 70, 21, 66, 47, 85, 70,106, 34, 44, 50, - 37,106, 36, 47, 46, 35,106,106, 20, 63, 39, 48, 64, 2,235, 40, 39,117,162, 1,107,254,153,132, 65, 69,128, 1,103,254,153,134, - 63, 69,128, 1,103,253,141, 54, 34, 35, 39, 0, 0, 1, 1, 35, 2,156, 3,174, 5, 15, 0, 6, 0, 0, 1, 51, 27, 1, 51, 3, - 35, 1, 35,120,205,206,120,251,149, 5, 15,253,242, 2, 14,253,141, 0, 0, 0,255,255, 1, 72, 0, 0, 3,136, 3,103, 16, 7, - 6,169, 0, 0,253,100, 0, 0,255,255, 1,153, 0, 0, 3, 56, 2,131, 16, 7, 2, 81, 0, 0,253,100, 0, 0,255,255, 1, 91, -255,240, 3,118, 2,114, 16, 7, 4,214, 0, 0,253,100, 0, 0,255,255, 1, 35, 0, 0, 3,174, 2,115, 16, 7, 4,217, 0, 0, -253,100, 0, 0, 0, 2, 0,123,254, 72, 4, 18, 4,123, 0, 10, 0, 40, 0, 0, 37, 20, 22, 51, 50, 54, 16, 38, 35, 34, 6, 3, - 52, 18, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 29, 2, 62, 1, 51, 50, 18, 17, 16, 2, 35, 34, 38, 39, 21, 35, 1, 51,135,129, -135,142,143,136,127,135,184,238,231, 76,166, 83, 98,160, 67,149,136, 44,152,109,196,234,234,196,108,150, 47,184,138,207,215,215, - 1,158,217,218, 1, 35,252, 1, 4, 28, 27,182, 46, 44,162,176, 8,125, 94, 92,254,198,254,249,254,248,254,198, 86, 90,145, 0, -255,255, 1, 58, 2,156, 3,150, 5,224, 16, 6, 4,179, 0, 0, 0, 1, 0,156, 0, 0, 4, 53, 4, 96, 0, 19, 0, 0, 1, 21, - 33, 17, 33, 21, 33, 53, 33, 17, 33, 53, 33, 17, 33, 53, 33, 21, 33, 17, 4, 53,254,143, 1,110,252,110, 1,108,254,144, 1,112, -254,148, 3,146,254,146, 2,104,164,254,203,143,143, 1, 53,164, 1,105,143,143,254,151, 0, 0, 0, 1, 0,160,254, 86, 4, 10, - 6, 31, 0, 27, 0, 0, 1, 20, 22, 59, 1, 29, 2, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 35, 34, 38, 53, 17, 33, 53, - 33, 2,127, 91, 89,215, 89, 90,165,205,185, 90, 45, 44, 48,165,181,254,217, 1,223, 1,150,124,126, 28,128, 20,195,105,106,156, - 62, 62,126, 20,212,194, 3,249,144, 0, 0, 0, 0, 2, 1, 71, 2,140, 3,138, 5, 30, 0, 16, 0, 26, 0, 0, 1, 21, 35, 17, - 51, 21, 62, 1, 51, 50, 22, 21, 20, 6, 35, 34, 38, 36, 52, 38, 35, 34, 6, 20, 22, 51, 50, 1,187,116,116, 29, 96, 63,128,147, -147,128, 63, 97, 1, 57, 86, 84, 83, 88, 88, 83, 84, 2,235, 78, 2,113, 79, 47, 48,176,155,153,174, 48,161,240,122,123,238,123, - 0, 1, 1, 88, 2,140, 3,121, 5, 30, 0, 24, 0, 0, 1, 14, 1, 35, 34, 38, 16, 54, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, - 21, 20, 22, 51, 50, 54, 55, 3,121, 46, 99, 52,164,184,184,164, 51, 97, 49, 46, 92, 59,109,117,118,108, 61, 95, 41, 2,188, 24, - 24,174, 1, 54,174, 23, 25,108, 36, 33,125,117,116,126, 33, 35, 0, 2, 1, 81, 2, 73, 3,128, 5, 28, 0, 7, 0, 43, 0, 0, - 1, 22, 51, 50, 53, 38, 35, 34, 7, 6, 21, 7, 52, 55, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 23, 21, 46, 1, 35, 34, 7, - 6, 20, 23, 22, 23, 54, 51, 50, 23, 20, 35, 34, 2,100, 38, 47, 92, 1, 82, 64, 53, 3, 97, 8, 36, 30, 94, 96, 94,165, 54, 51, - 51, 48, 50, 98, 51,113, 62, 62, 62, 4, 4, 53,124,188, 1,210, 52, 2,236, 11, 32, 42,154, 32, 38, 2, 58, 47, 20, 29, 90,150, -153, 88, 88, 9, 11, 19, 96, 24, 24, 64, 63,230, 64, 4, 3, 98,138,106, 0, 0, 0, 2, 1, 58, 2,140, 3,151, 6, 3, 0, 26, - 0, 41, 0, 0, 1, 30, 1, 21, 20, 6, 35, 34, 38, 53, 52, 54, 51, 50, 22, 23, 46, 1, 39, 7, 39, 55, 39, 51, 23, 55, 23, 3, - 46, 1, 35, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 2,168,124,115,159,144,143,159,159,141, 21, 22, 10, 21, 46, 24,175, 19, -149,115,138, 80,183, 20,109, 22, 52, 28, 92, 97, 94, 85, 86, 94, 37, 5,131,119,212,112,150,166,166,150,148,166, 1, 1, 25, 50, - 24, 51, 55, 44,112, 81, 53, 55,254,238, 7, 8,118,111,110,119,119,110, 61,114, 0, 1, 1, 79, 2,144, 3,130, 5, 30, 0, 40, - 0, 0, 1, 30, 1, 21, 20, 6, 35, 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, 22, 21, 20, 6, 2,209, 84, 93,174,161, 53,115, 60, 47,115, 63,109,114,106, 95, 99,104, 85, 91, 94, - 87, 47,109, 66, 67,115, 50,133,153, 82, 3,240, 13, 83, 61, 93,102, 15, 16, 97, 19, 20, 59, 55, 45, 62, 81, 48, 34, 42, 48, 14, - 15, 93, 14, 13, 88, 75, 53, 72, 0, 1, 1, 87, 2,156, 3,122, 6, 3, 0, 19, 0, 0, 1, 21, 35, 34, 6, 29, 1, 51, 21, 35, - 17, 35, 17, 35, 53, 51, 53, 52, 54, 51, 3,122,132, 62, 49,243,243,116,188,188,107,113, 6, 3, 85, 46, 57, 56, 80,253,221, 2, - 35, 80, 44,103, 97, 0, 0, 0, 0, 1, 1, 98, 1,173, 3,111, 5, 15, 0, 23, 0, 0, 1, 53, 51, 17, 35, 53, 33, 17, 51, 21, - 35, 21, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 1,206,153,200, 1, 60,148,148, 57, 56,104,160,147, 57, 28, 29, 2,156, - 92, 1,199, 80,253,233, 92, 11,109, 59, 60, 88, 35, 35, 70, 11, 0, 2, 1, 71, 1,166, 3,138, 5, 13, 0, 10, 0, 36, 0, 0, - 1, 48, 53, 39, 34, 6, 20, 22, 51, 50, 54, 23, 20, 6, 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 61, 2, 14, 1, 35, 34, 38, 53, - 52, 54, 51, 33, 3, 22,166, 85, 90, 90, 86, 80, 85,116,150,145, 48,105, 52, 62,100, 43, 93, 86, 28, 95, 69,124,147,145,126, 1, - 52, 3,219,119,117,120,232,122,122,163,141,145, 15, 15,102, 25, 25, 91, 98, 5, 70, 53, 51,175,148,127,179, 0, 0, 1, 1, 91, - 1,171, 3,118, 5, 14, 0, 19, 0, 0, 1, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 17, 14, 1, 35, 34, 38, 1, 91, -116, 67, 71, 82, 87,116,116, 31,107, 71,108,106, 3,137, 1,133,254,123, 84, 80,103, 96, 1, 98,252,157, 1, 79, 54, 56,126, 0, - 0, 2, 1, 67, 2,156, 3,142, 6, 3, 0, 3, 0, 21, 0, 0, 1, 51, 21, 35, 7, 33, 17, 51, 21, 35, 21, 51, 21, 33, 53, 51, - 53, 35, 53, 51, 53, 35, 2, 52,116,116,181, 1, 41,223,223,230,253,192,230,241,241,181, 6, 3,130,114,254,230, 92,173, 80, 80, -173, 92,202, 0, 0, 1, 1, 97, 2,156, 3,112, 5, 15, 0, 13, 0, 0, 1, 35, 34, 38, 53, 17, 35, 53, 33, 17, 6, 22, 59, 1, - 3,112,129,104,113,181, 1, 41, 1, 57, 57,117, 2,156,117,110, 1, 64, 80,254,112, 70, 70, 0, 0, 1, 1, 73, 2,156, 3,136, - 5, 15, 0, 11, 0, 0, 1, 33, 21, 35, 17, 51, 21, 33, 53, 51, 17, 35, 1, 73, 2, 63,230,230,253,193,230,230, 5, 15, 80,254, - 45, 80, 80, 1,211, 0, 0, 0, 0, 1, 1, 71, 2,156, 3,138, 5, 15, 0, 19, 0, 0, 1, 21, 35, 21, 51, 21, 33, 53, 51, 53, - 35, 53, 51, 53, 35, 53, 33, 21, 35, 21, 3,138,232,230,253,193,230,232,232,230, 2, 63,230, 3,245, 92,173, 80, 80,173, 92,202, - 80, 80,202, 0, 0, 3, 1,100, 1,173, 3,109, 6, 3, 0, 3, 0, 18, 0, 28, 0, 0, 1, 51, 21, 35, 3, 34, 53, 52, 59, 1, - 17, 51, 17, 51, 21, 35, 6, 7, 6, 39, 48, 35, 34, 23, 22, 51, 50, 55, 54, 2,135,116,116,100,191,170,121,116,114,120, 12, 33, - 51, 21,114, 74, 1, 3, 77, 66, 24, 11, 6, 3,130,252, 44,124,115, 2,115,253,141, 87, 63, 35, 53,152, 29, 36, 27, 13, 0, 0, - 0, 1, 1, 85, 1,173, 3,124, 6, 10, 0, 13, 0, 0, 1, 20, 22, 59, 1, 21, 35, 34, 38, 53, 17, 35, 53, 33, 2,131, 57, 56, -136,147,100,118,186, 1, 46, 2,145, 70, 70, 88,116,112, 3, 40, 81, 0, 0, 0, 0, 1, 1, 85, 1,173, 3,124, 6, 10, 0, 25, - 0, 0, 1, 20, 22, 59, 1, 21, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 35, 34, 38, 53, 17, 35, 53, 33, 2,131, 57, 56, -136, 56, 57,104,129,116, 57, 29, 27, 30,104,114,186, 1, 46, 3,127, 69, 71, 98,109, 59, 60, 88, 35, 34, 71, 11,119,108, 2, 58, - 81, 0, 0, 0, 0, 1, 1,126, 2,156, 3, 83, 5, 30, 0, 5, 0, 0, 1, 51, 17, 33, 21, 33, 1,126,128, 1, 85,254, 43, 5, - 30,253,221, 95, 0, 1, 1, 37, 1,173, 3,171, 5, 30, 0, 48, 0, 0, 1, 62, 1, 51, 50, 23, 22, 21, 17, 21, 20, 7, 6, 43, - 1, 53, 51, 50, 55, 54, 61, 1, 49, 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, 2,138, 22, 66, 46, 86, 34, 35, 50, 51, 95,117,106, 51, 26, 25, 34, 44, 50, 37,106, 36, 47, 46, 36,105,105, 21, 62, - 40, 48, 64, 4,207, 41, 38, 58, 59,162,254,221, 83,109, 59, 60, 88, 35, 34, 71, 11, 1,103,133, 64, 69,128,254,153, 1,103,134, - 63, 69,128,254,153, 2,115, 54, 34, 35, 39, 0, 0, 1, 1, 37, 1,171, 3,172, 5, 30, 0, 34, 0, 0, 1, 14, 1, 35, 34, 38, - 53, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 17, 14, 1, 35, 34, 38, 2, 70, 21, - 66, 47, 85, 70,106, 34, 44, 50, 37,106, 36, 47, 46, 35,106,106, 20, 63, 39, 48, 64, 2,235, 40, 39,117,162, 1,107,254,153,132, - 65, 69,128, 1,103,254,153,134, 63, 69,128, 1,103,252,141, 1, 54, 34, 35, 39, 0, 1, 1, 85, 1,173, 3,124, 5, 30, 0, 27, - 0, 0, 1, 20, 6, 43, 1, 53, 51, 50, 54, 53, 17, 51, 21, 62, 1, 51, 50, 22, 21, 17, 35, 17, 52, 38, 35, 34, 6, 21, 2, 24, - 77, 85, 33, 23, 49, 36, 88, 31, 84, 56, 91, 93, 86, 59, 59, 70, 81, 2,145,120,108, 88, 54, 86, 2,126, 97, 56, 56,134,129,254, -133, 1,119, 89, 89,107, 92, 0, 0, 1, 1, 85, 1,173, 3,124, 5, 30, 0, 36, 0, 0, 1, 53, 17, 52, 39, 38, 35, 34, 7, 6, - 21, 17, 35, 17, 51, 21, 54, 55, 54, 51, 50, 23, 22, 21, 17, 29, 1, 20, 22, 59, 1, 21, 35, 34, 39, 38, 53, 2,185, 29, 30, 58, - 71, 40, 41, 87, 87, 31, 42, 43, 55, 91, 47, 47, 36, 49, 23, 33, 85, 38, 39, 2,156, 72, 1, 47, 89, 44, 45, 53, 54, 92,254,158, - 2,115, 97, 56, 28, 28, 66, 68,129,254,205, 72, 11, 86, 54, 88, 54, 54,120, 0, 0, 1, 1, 63, 2,156, 3,146, 5, 30, 0, 9, - 0, 0, 1, 51, 1, 17, 51, 17, 35, 1, 17, 35, 1, 63,171, 1, 45,123,171,254,211,123, 5, 30,254, 7, 1,249,253,126, 1,250, -254, 6, 0, 0, 0, 3, 1, 58, 2,140, 3,151, 5, 30, 0, 14, 0, 23, 0, 32, 0, 0, 0, 32, 23, 22, 21, 20, 7, 6, 35, 34, - 39, 38, 53, 52, 55, 23, 34, 7, 6, 7, 33, 38, 39, 38, 19, 33, 22, 23, 22, 51, 50, 55, 54, 1,213, 1, 38, 78, 78, 78, 77,148, -147, 77, 78, 78,224, 88, 45, 40, 5, 1,101, 5, 40, 45, 87,254,161, 9, 33, 45, 88, 89, 45, 33, 5, 30, 84, 85,160,161, 84, 84, - 84, 84,161,160, 85, 3, 61, 53, 99, 99, 53, 61,254,207, 74, 44, 61, 61, 44, 0, 0, 3, 1, 58, 1,174, 3,151, 6, 3, 0, 29, - 0, 38, 0, 47, 0, 0, 1, 35, 53, 33, 21, 35, 21, 22, 23, 22, 21, 20, 7, 6, 7, 21, 51, 21, 33, 53, 51, 53, 38, 39, 38, 53, - 52, 55, 54, 55, 23, 17, 54, 55, 54, 53, 52, 39, 38, 3, 17, 6, 7, 6, 21, 20, 23, 22, 2, 51,151, 1,162,151,102, 60, 78, 78, - 60,102,151,254, 94,151,108, 63, 78, 78, 63,108,116, 44, 27, 46, 46, 27,160, 50, 30, 46, 46, 30, 5,167, 92, 92,141, 15, 65, 85, -160,161, 84, 65, 15,134, 92, 92,133, 13, 68, 84,161,160, 85, 68, 13, 93,254, 47, 14, 37, 62,119,120, 61, 37,254, 59, 1,214, 13, - 41, 61,120,119, 62, 41, 0, 0, 0, 1, 1, 91, 1,173, 3,118, 5, 30, 0, 60, 0, 0, 1, 21, 46, 1, 35, 34, 7, 6, 21, 20, - 23, 22, 31, 1, 22, 23, 22, 21, 20, 7, 6, 35, 34, 47, 1, 21, 20, 22, 59, 1, 21, 35, 34, 39, 38, 61, 3, 22, 23, 22, 51, 50, - 54, 53, 52, 39, 38, 47, 1, 46, 1, 53, 52, 55, 54, 51, 50, 23, 22, 3, 80, 49,106, 56, 87, 42, 44, 31, 31, 93, 40,123, 52, 52, - 77, 78,137, 56, 62, 13, 48, 66,147,160,114, 51, 52, 64, 62, 63, 61, 82, 88, 31, 33,107, 41,107, 96, 70, 71,130, 64, 57, 56, 4, -253, 98, 23, 22, 23, 24, 47, 36, 21, 20, 18, 8, 24, 43, 42, 77, 87, 51, 51, 9, 3, 7, 86, 54, 88, 54, 54,120, 34, 49, 57, 29, - 15, 15, 50, 45, 42, 23, 22, 21, 8, 20, 84, 73, 88, 48, 48, 8, 8, 0, 0, 0, 0, 1, 1,120, 1,173, 3, 89, 6, 3, 0, 20, - 0, 0, 1, 2, 3, 52, 54, 59, 1, 21, 35, 34, 6, 21, 19, 20, 6, 43, 1, 53, 51, 50, 54, 2, 9, 1, 1,106,123,109,111, 62, - 49, 2,103,114, 44, 31, 66, 48, 2,145, 1, 93, 1, 77,101, 99, 85, 45, 58,253, 74,120,108, 88, 54, 0, 0, 0, 0, 1, 1, 77, - 1,173, 3,132, 5,193, 0, 33, 0, 0, 1, 21, 33, 21, 33, 17, 20, 23, 22, 59, 1, 21, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, - 61, 1, 35, 34, 39, 38, 53, 17, 35, 53, 51, 53, 2,125, 1, 7,254,249, 30, 29, 74,130, 56, 56,104,130,117, 57, 28, 28, 25,131, - 53, 54,188,188, 5,193,178, 80,254,172, 70, 27, 28, 93,109, 59, 60, 88, 35, 34, 71, 11, 46, 47,114, 1, 84, 80,178, 0, 0, 0, - 0, 2, 0,208, 2,140, 4, 1, 5, 15, 0, 23, 0, 33, 0, 0, 19, 53, 51, 17, 51, 17, 33, 17, 51, 17, 51, 21, 35, 21, 35, 53, - 6, 7, 6, 35, 34, 38, 61, 1, 41, 1, 21, 20, 23, 22, 51, 50, 55, 54,208,109,116, 1,103,116,117,117,116, 42, 56, 55, 74,122, -126, 1,219,254,153, 39, 39, 78, 94, 55, 49, 3,153, 92, 1, 26,254,230, 1, 26,254,230, 92,253, 96, 57, 28, 27,134,130, 5, 2, - 89, 44, 45, 54, 47, 0, 0, 0, 0, 1, 1, 32, 2,139, 3,177, 5, 15, 0, 29, 0, 0, 1, 53, 33, 21, 14, 1, 21, 20, 22, 50, - 54, 53, 52, 38, 39, 53, 33, 21, 35, 30, 1, 21, 20, 6, 32, 38, 53, 52, 54, 55, 1, 32, 1, 22, 68, 82,111,182,111, 87, 63, 1, - 19,149, 72, 69,178,254,228,179, 66, 75, 4,179, 92,123, 39,121, 75, 89,109,109, 89, 82,118, 35,123, 92, 56,125, 76,131,164,163, -128, 82,121, 58, 0, 1, 1, 70, 2,156, 3,139, 5, 15, 0, 26, 0, 0, 1, 51, 49, 30, 1, 21, 20, 6, 43, 1, 34, 38, 53, 17, - 51, 17, 20, 22, 63, 1, 50, 54, 53, 52, 38, 39, 38, 2, 51,203, 72, 69,179,141, 45,114,102,116, 49, 65, 32, 91,110, 91, 58, 48, - 4,196, 56,125, 76,131,164,108,119, 1,144,254,112, 85, 56, 1, 1,109, 89, 81,123, 31, 24, 0, 0, 1, 1, 17, 2,156, 3,192, - 5, 15, 0, 6, 0, 0, 1, 35, 11, 1, 35, 1, 51, 3,192,123,221,220,123, 1, 9,157, 2,156, 2, 14,253,242, 2,115, 0, 0, - 0, 1, 1, 97, 2,156, 3,112, 5, 16, 0, 9, 0, 0, 1, 33, 21, 1, 33, 21, 33, 53, 1, 33, 1,112, 2, 0,254,107, 1,149, -253,241, 1,149,254,122, 5, 16, 94,254, 62, 84, 95, 1,195, 0, 0, 1, 1, 94, 1,173, 3,115, 5, 15, 0, 22, 0, 0, 1, 33, - 21, 1, 33, 21, 35, 21, 20, 22, 59, 1, 21, 35, 34, 39, 38, 61, 1, 33, 53, 1, 33, 1,106, 1,157,254,185, 1, 71, 1, 36, 50, - 23, 33, 86, 38, 39,254,175, 1, 71,254,197, 5, 15, 94,254, 61, 82, 11, 86, 54, 88, 54, 54,120, 11, 94, 1,195, 0, 2, 1, 77, - 2, 94, 3,132, 5, 15, 0, 20, 0, 28, 0, 0, 1, 6, 21, 35, 52, 55, 35, 53, 1, 33, 53, 33, 21, 1, 51, 54, 51, 50, 21, 22, - 35, 39, 48, 51, 50, 53, 52, 35, 6, 2,146, 2, 97, 3,229, 1,180,254, 92, 2, 39,254, 76,110, 38,138,143, 1,210, 13, 13,109, - 44, 56, 2,156, 29, 33, 33, 29, 94, 1,195, 82, 94,254, 61,162,138,106, 82, 31, 51, 1, 0, 0, 0, 1, 1, 51, 1,168, 3,158, - 5, 15, 0, 28, 0, 0, 1, 50, 23, 30, 1, 21, 20, 6, 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 53, 52, 38, 43, 1, 53, 1, 33, - 53, 33, 21, 2,100, 67, 80, 62,105,191,177, 59,125, 67, 53,126, 68,120,126,117,104,110, 1, 15,254, 92, 2, 39, 3,167, 32, 23, -120, 77,124,135, 21, 20,109, 27, 28, 84, 80, 74, 83, 93, 1, 24, 82, 94, 0, 0, 0, 3, 1, 58, 2,140, 3,151, 5,228, 0, 6, - 0, 13, 0, 24, 0, 0, 1, 46, 1, 35, 34, 6, 7, 5, 33, 30, 1, 51, 50, 54, 0, 32, 22, 21, 20, 6, 35, 34, 38, 53, 52, 3, - 26, 4, 85, 89, 88, 85, 4, 1, 99,254,157, 3, 86, 88, 89, 86,254,190, 1, 38,156,155,148,147,155, 4,108,126,162,162,126,103, -126,163,163, 2, 93,220,208,209,219,219,209,208,255,255, 0, 37,254, 10, 4,172, 5,213, 16, 38, 2,161, 0, 0, 16, 6, 0, 36, - 0, 0, 0, 0,255,255, 0,133,254, 10, 4, 35, 4,123, 16, 38, 2,161, 0, 0, 16, 6, 0, 68, 0, 0, 0, 0,255,255, 0,166, - 0, 0, 4,113, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 37, 0, 0, 0, 0,255,255, 0,193,255,227, 4, 88, 6, 20, 16, 38, - 2,131, 50, 0, 16, 6, 0, 69, 0, 0, 0, 0,255,255, 0,166,254, 99, 4,113, 5,213, 16, 38, 2,159, 0, 0, 16, 6, 0, 37, - 0, 0, 0, 0,255,255, 0,193,254, 99, 4, 88, 6, 20, 16, 38, 2,159, 0, 0, 16, 6, 0, 69, 0, 0, 0, 0,255,255, 0,166, -254,155, 4,113, 5,213, 16, 38, 2,173, 0, 0, 16, 6, 0, 37, 0, 0, 0, 0,255,255, 0,193,254,155, 4, 88, 6, 20, 16, 38, - 2,173, 0, 0, 16, 6, 0, 69, 0, 0, 0, 0,255,255, 0,139,254,117, 4, 49, 7,107, 16, 39, 11,177, 0, 90, 1,117, 16, 38, - 2,163,100, 0, 16, 6, 0, 38, 0, 0, 0, 0,255,255, 0,195,254,117, 4, 37, 6,102, 16, 38, 0,118, 90, 0, 16, 38, 2,163, -104, 0, 16, 6, 0, 70, 0, 0,255,255, 0,137, 0, 0, 4, 82, 7, 80, 16, 38, 11,185,206, 0, 16, 6, 0, 39, 0, 0, 0, 0, -255,255, 0,123,255,227, 4, 18, 6, 20, 16, 38, 2,131,206, 0, 16, 6, 0, 71, 0, 0, 0, 0,255,255, 0,137,254, 99, 4, 82, - 5,213, 16, 38, 2,159,206, 0, 16, 6, 0, 39, 0, 0, 0, 0,255,255, 0,123,254, 99, 4, 18, 6, 20, 16, 38, 2,159, 0, 0, - 16, 6, 0, 71, 0, 0, 0, 0,255,255, 0,137,254,155, 4, 82, 5,213, 16, 38, 2,173,206, 0, 16, 6, 0, 39, 0, 0, 0, 0, -255,255, 0,123,254,155, 4, 18, 6, 20, 16, 38, 2,173, 0, 0, 16, 6, 0, 71, 0, 0, 0, 0,255,255, 0,125,254,117, 4, 82, - 5,213, 16, 39, 2,163,254,242, 0, 0, 18, 6, 0, 39, 0, 0,255,255, 0,123,254,117, 4, 18, 6, 20, 16, 38, 2,163,236, 0, - 18, 6, 0, 71, 0, 0, 0, 0,255,255, 0,137,254, 27, 4, 82, 5,213, 16, 38, 2,169,206, 0, 16, 6, 0, 39, 0, 0, 0, 0, -255,255, 0,123,254, 27, 4, 18, 6, 20, 16, 38, 2,169, 0, 0, 16, 6, 0, 71, 0, 0, 0, 0,255,255, 0,197,254, 27, 4, 78, - 5,213, 16, 38, 2,169, 18, 0, 16, 6, 0, 40, 0, 0, 0, 0,255,255, 0,123,254, 27, 4, 88, 4,123, 16, 38, 2,169, 14, 0, - 16, 6, 0, 72, 0, 0, 0, 0,255,255, 0,197,254, 27, 4, 78, 5,213, 16, 38, 2,172, 18, 0, 16, 6, 0, 40, 0, 0, 0, 0, -255,255, 0,123,254, 27, 4, 88, 4,123, 16, 38, 2,172, 14, 0, 16, 6, 0, 72, 0, 0, 0, 0,255,255, 0,197,254,117, 4, 78, - 7,109, 16, 38, 11,184, 18, 0, 16, 38, 0, 40, 0, 0, 16, 6, 2,163, 50, 0,255,255, 0,123,254,117, 4, 88, 6, 72, 16, 38, - 2,130, 14, 0, 16, 38, 0, 72, 0, 0, 16, 6, 2,163, 50, 0,255,255, 0,233, 0, 0, 4, 88, 7, 80, 16, 38, 11,185, 54, 0, - 16, 6, 0, 41, 0, 0, 0, 0,255,255, 0,195, 0, 0, 4, 39, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 73, 0, 0, 0, 0, -255,255, 0,102,255,227, 4, 80, 7, 48, 16, 38, 11,189, 50, 0, 16, 6, 0, 42, 0, 0, 0, 0,255,255, 0,123,254, 72, 4, 18, - 5,246, 16, 38, 2,128, 0, 0, 16, 6, 0, 74, 0, 0, 0, 0,255,255, 0,137, 0, 0, 4, 72, 7, 80, 16, 38, 11,185, 0, 0, - 16, 6, 0, 43, 0, 0, 0, 0,255,255, 0,195, 0, 0, 4, 27, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 75, 0, 0, 0, 0, -255,255, 0,137,254, 99, 4, 72, 5,213, 16, 38, 2,159, 0, 0, 16, 6, 0, 43, 0, 0, 0, 0,255,255, 0,195,254, 99, 4, 27, - 6, 20, 16, 38, 2,159, 0, 0, 16, 6, 0, 75, 0, 0, 0, 0,255,255, 0, 20,254,117, 4, 72, 5,213, 16, 39, 2,163,254,137, - 0, 0, 16, 6, 0, 43, 0, 0,255,255, 0, 55,254,117, 4, 27, 6, 20, 16, 39, 2,163,254,172, 0, 0, 16, 6, 0, 75, 0, 0, -255,255, 0,137,254, 25, 4, 72, 5,213, 16, 38, 2,170, 0, 0, 16, 6, 0, 43, 0, 0, 0, 0,255,255, 0,195,254, 25, 4, 27, - 6, 20, 16, 38, 2,170, 0, 0, 16, 6, 0, 75, 0, 0, 0, 0,255,255, 0,201,254, 27, 4, 6, 5,213, 16, 38, 2,172, 0, 0, - 16, 6, 0, 44, 0, 0, 0, 0,255,255, 0,178,254, 27, 4, 68, 6, 20, 16, 38, 2,172, 0, 0, 16, 6, 0, 76, 0, 0, 0, 0, -255,255, 0,137, 0, 0, 4,201, 7,107, 16, 39, 11,177, 0, 0, 1,117, 16, 6, 0, 46, 0, 0,255,255, 0,236, 0, 0, 4,178, - 7,107, 16, 39, 11,177,255, 37, 1,117, 16, 6, 0, 78, 0, 0,255,255, 0,137,254, 99, 4,201, 5,213, 16, 38, 2,159, 0, 0, - 16, 6, 0, 46, 0, 0, 0, 0,255,255, 0,236,254, 99, 4,178, 6, 20, 16, 38, 2,159, 50, 0, 16, 6, 0, 78, 0, 0, 0, 0, -255,255, 0,137,254,155, 4,201, 5,213, 16, 38, 2,173, 0, 0, 16, 6, 0, 46, 0, 0, 0, 0,255,255, 0,236,254,155, 4,178, - 6, 20, 16, 38, 2,173, 50, 0, 16, 6, 0, 78, 0, 0, 0, 0,255,255, 0,215,254, 99, 4,115, 5,213, 16, 38, 2,159, 50, 0, - 16, 6, 0, 47, 0, 0, 0, 0,255,255, 0,160,254, 99, 4, 10, 6, 31, 16, 38, 2,159, 0, 0, 16, 6, 0, 79, 0, 0, 0, 0, -255,255, 0,215,254, 99, 4,115, 7, 48, 16, 38, 11,189, 0, 0, 16, 6, 5, 52, 0, 0, 0, 0,255,255, 0,160,254, 99, 4, 10, - 7, 48, 16, 38, 11,189, 0, 0, 16, 6, 5, 53, 0, 0, 0, 0,255,255, 0,215,254,155, 4,115, 5,213, 16, 38, 2,173, 50, 0, - 16, 6, 0, 47, 0, 0, 0, 0,255,255, 0,160,254,155, 4, 10, 6, 31, 16, 38, 2,173, 0, 0, 16, 6, 0, 79, 0, 0, 0, 0, -255,255, 0,215,254, 27, 4,115, 5,213, 16, 38, 2,169, 50, 0, 16, 6, 0, 47, 0, 0, 0, 0,255,255, 0,160,254, 27, 4, 10, - 6, 31, 16, 38, 2,169, 0, 0, 16, 6, 0, 79, 0, 0, 0, 0,255,255, 0, 86, 0, 0, 4,121, 7,107, 16, 39, 11,177, 0, 0, - 1,117, 16, 6, 0, 48, 0, 0,255,255, 0,109, 0, 0, 4,111, 6,102, 16, 38, 0,118, 0, 0, 16, 6, 0, 80, 0, 0, 0, 0, -255,255, 0, 86, 0, 0, 4,121, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 48, 0, 0, 0, 0,255,255, 0,109, 0, 0, 4,111, - 6, 16, 16, 38, 2,131, 0, 0, 18, 6, 0, 80, 0, 0, 0, 0,255,255, 0, 86,254, 99, 4,121, 5,213, 16, 38, 2,159, 0, 0, - 16, 6, 0, 48, 0, 0, 0, 0,255,255, 0,109,254, 99, 4,111, 4,123, 16, 38, 2,159, 0, 0, 16, 6, 0, 80, 0, 0, 0, 0, -255,255, 0,139, 0, 0, 4, 70, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 49, 0, 0, 0, 0,255,255, 0,195, 0, 0, 4, 27, - 6, 16, 16, 38, 2,131, 0, 0, 16, 6, 0, 81, 0, 0, 0, 0,255,255, 0,139,254, 99, 4, 70, 5,213, 16, 38, 2,159, 0, 0, - 16, 6, 0, 49, 0, 0, 0, 0,255,255, 0,195,254, 99, 4, 27, 4,123, 16, 38, 2,159, 0, 0, 16, 6, 0, 81, 0, 0, 0, 0, -255,255, 0,139,254,155, 4, 70, 5,213, 16, 38, 2,173, 0, 0, 16, 6, 0, 49, 0, 0, 0, 0,255,255, 0,195,254,155, 4, 27, - 4,123, 16, 38, 2,173, 0, 0, 16, 6, 0, 81, 0, 0, 0, 0,255,255, 0,139,254, 27, 4, 70, 5,213, 16, 38, 2,169, 0, 0, - 16, 6, 0, 49, 0, 0, 0, 0,255,255, 0,195,254, 27, 4, 27, 4,123, 16, 38, 2,169, 0, 0, 16, 6, 0, 81, 0, 0, 0, 0, -255,255, 0,197, 0, 0, 4,117, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 51, 0, 0, 0, 0,255,255, 0,190,254, 86, 4, 84, - 6, 16, 16, 38, 2,131, 0, 0, 18, 6, 0, 83, 0, 0, 0, 0,255,255, 0,143, 0, 0, 4,209, 7, 80, 16, 38, 11,185,206, 0, - 16, 6, 0, 53, 0, 0, 0, 0,255,255, 1,106, 0, 0, 4,131, 6, 16, 16, 38, 2,131, 0, 0, 16, 6, 0, 85, 0, 0, 0, 0, -255,255, 0,143,254, 99, 4,209, 5,213, 16, 38, 2,159,206, 0, 16, 6, 0, 53, 0, 0, 0, 0,255,255, 1,106,254, 99, 4,131, - 4,123, 16, 38, 2,159, 0, 0, 16, 6, 0, 85, 0, 0, 0, 0,255,255, 0,143,254, 99, 4,209, 7, 48, 16, 38, 11,189,206, 0, - 16, 6, 5, 78, 0, 0, 0, 0,255,255, 1, 61,254, 99, 4,131, 5,246, 16, 38, 2,128, 0, 0, 16, 6, 5, 79, 0, 0, 0, 0, -255,255, 0,143,254,155, 4,209, 5,213, 16, 38, 2,173, 0, 0, 16, 6, 0, 53, 0, 0, 0, 0,255,255, 1, 61,254,155, 4,131, - 4,123, 16, 38, 2,173, 0, 0, 16, 6, 0, 85, 0, 0, 0, 0,255,255, 0,139,255,227, 4, 74, 7, 80, 16, 38, 11,185, 0, 0, - 16, 6, 0, 54, 0, 0, 0, 0,255,255, 0,213,255,227, 4, 6, 6, 16, 16, 38, 2,131, 0, 0, 18, 6, 0, 86, 0, 0, 0, 0, -255,255, 0,139,254, 99, 4, 74, 5,240, 16, 38, 2,159, 0, 0, 16, 6, 0, 54, 0, 0, 0, 0,255,255, 0,213,254, 99, 4, 6, - 4,123, 16, 38, 2,159, 0, 0, 16, 6, 0, 86, 0, 0, 0, 0,255,255, 0,139,254, 99, 4, 74, 7, 80, 16, 38, 11,185, 0, 0, - 16, 38, 0, 54, 0, 0, 16, 6, 2,159, 0, 0,255,255, 0,213,254, 99, 4, 6, 6, 16, 16, 38, 2,131, 0, 0, 16, 38, 0, 86, - 0, 0, 16, 6, 2,159, 0, 0,255,255, 0, 47, 0, 0, 4,162, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 55, 0, 0, 0, 0, -255,255, 0,131, 0, 0, 4, 8, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 87, 0, 0, 0, 0,255,255, 0, 47,254, 99, 4,162, - 5,213, 16, 38, 2,159, 0, 0, 16, 6, 0, 55, 0, 0, 0, 0,255,255, 0,131,254, 99, 4, 8, 5,158, 16, 38, 2,159, 0, 0, - 16, 6, 0, 87, 0, 0, 0, 0,255,255, 0, 47,254,155, 4,162, 5,213, 16, 38, 2,173, 0, 0, 16, 6, 0, 55, 0, 0, 0, 0, -255,255, 0,131,254,155, 4, 8, 5,158, 16, 38, 2,173, 0, 0, 16, 6, 0, 87, 0, 0, 0, 0,255,255, 0, 47,254, 27, 4,162, - 5,213, 16, 38, 2,169, 0, 0, 16, 6, 0, 55, 0, 0, 0, 0,255,255, 0,131,254, 27, 4, 8, 5,158, 16, 38, 2,169, 0, 0, - 16, 6, 0, 87, 0, 0, 0, 0,255,255, 0,147,254,100, 4, 61, 5,213, 16, 38, 2,160, 0, 0, 16, 6, 0, 56, 0, 0, 0, 0, -255,255, 0,195,254,100, 4, 27, 4, 94, 16, 38, 2,160, 0, 0, 16, 6, 0, 88, 0, 0, 0, 0,255,255, 0,147,254, 27, 4, 61, - 5,213, 16, 38, 2,172, 0, 0, 16, 6, 0, 56, 0, 0, 0, 0,255,255, 0,195,254, 27, 4, 27, 4, 94, 16, 38, 2,172, 0, 0, - 16, 6, 0, 88, 0, 0, 0, 0,255,255, 0,147,254, 27, 4, 61, 5,213, 16, 38, 2,169, 0, 0, 16, 6, 0, 56, 0, 0, 0, 0, -255,255, 0,195,254, 27, 4, 27, 4, 94, 16, 38, 2,169, 0, 0, 16, 6, 0, 88, 0, 0, 0, 0,255,255, 0, 57,254, 99, 4,152, - 5,213, 16, 38, 2,159, 0, 0, 16, 6, 0, 57, 0, 0, 0, 0,255,255, 0,100,254, 99, 4,109, 4, 96, 16, 38, 2,159, 0, 0, - 16, 6, 0, 89, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 4,209, 7,114, 16, 39, 11,179, 0, 0, 1,124, 16, 6, 0, 58, 0, 0, -255,255, 0, 0, 0, 0, 4,209, 6,109, 16, 38, 0, 67,192, 7, 16, 6, 0, 90, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 4,209, - 7,114, 16, 39, 11,177, 0, 0, 1,124, 16, 6, 0, 58, 0, 0,255,255, 0, 0, 0, 0, 4,209, 6,109, 16, 38, 0,118, 64, 7, - 16, 6, 0, 90, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 4,209, 7, 52, 16, 39, 0,106, 0, 0, 1, 36, 16, 6, 0, 58, 0, 0, -255,255, 0, 0, 0, 0, 4,209, 5,191, 16, 38, 0,106, 0,175, 16, 6, 0, 90, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 4,209, - 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 58, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 4,209, 6, 16, 16, 38, 2,131, 0, 0, - 16, 6, 0, 90, 0, 0, 0, 0,255,255, 0, 0,254, 99, 4,209, 5,213, 16, 38, 2,159, 0, 0, 16, 6, 0, 58, 0, 0, 0, 0, -255,255, 0, 0,254, 99, 4,209, 4, 96, 16, 38, 2,159, 0, 0, 16, 6, 0, 90, 0, 0, 0, 0,255,255, 0, 18, 0, 0, 4,190, - 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 59, 0, 0, 0, 0,255,255, 0, 76, 0, 0, 4,133, 6, 16, 16, 38, 2,131, 0, 0, - 16, 6, 0, 91, 0, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 60, 0, 0, 0, 0, -255,255, 0,104,254, 86, 4,129, 6, 16, 16, 38, 2,131, 0, 0, 16, 6, 0, 92, 0, 0, 0, 0,255,255, 0,156,254, 99, 4,145, - 5,213, 16, 38, 2,159, 50, 0, 18, 6, 0, 61, 0, 0, 0, 0,255,255, 0,203,254, 99, 4, 16, 4, 98, 16, 38, 2,159, 0, 0, - 18, 6, 0, 93, 0, 0, 0, 0,255,255, 0,156,254,155, 4,145, 5,213, 16, 38, 2,173, 50, 0, 16, 6, 0, 61, 0, 0, 0, 0, -255,255, 0,203,254,155, 4, 16, 4, 98, 16, 38, 2,173, 0, 0, 16, 6, 0, 93, 0, 0, 0, 0,255,255, 0,195,254,155, 4, 27, - 6, 20, 16, 38, 2,173, 0, 0, 16, 6, 0, 75, 0, 0, 0, 0,255,255, 0,195, 0, 0, 4, 39, 7, 80, 16, 38, 11,185, 0, 0, - 16, 6, 1, 65, 0, 0, 0, 0,255,255, 0, 37,254, 99, 4,172, 5,213, 16, 38, 2,159, 0, 0, 16, 6, 0, 36, 0, 0, 0, 0, -255,255, 0,133,254, 99, 4, 35, 4,123, 16, 38, 2,159, 0, 0, 16, 6, 0, 68, 0, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, - 7,249, 16, 38, 11,184, 0,128, 16, 38, 0, 36, 0, 0, 16, 7, 11,179, 0, 0, 2, 3, 0, 0,255,255, 0,133,255,227, 4, 35, - 7,162, 16, 39, 2,124, 0, 0, 1, 60, 18, 6, 0,197, 0, 0,255,255, 0,197,254, 99, 4, 78, 5,213, 16, 38, 2,159, 18, 0, - 16, 6, 0, 40, 0, 0, 0, 0,255,255, 0,123,254, 99, 4, 88, 4,123, 16, 38, 2,159, 14, 0, 16, 6, 0, 72, 0, 0, 0, 0, -255,255, 0,197, 0, 0, 4, 78, 7, 94, 16, 39, 11,178, 0, 42, 1,117, 16, 6, 0, 40, 0, 0,255,255, 0,123,255,227, 4, 88, - 6, 55, 16, 38, 2,110, 0, 0, 16, 6, 0, 72, 0, 0, 0, 0,255,255, 0,201,254, 99, 4, 6, 5,213, 16, 38, 2,159, 0, 0, - 16, 6, 0, 44, 0, 0, 0, 0,255,255, 0,178,254, 99, 4, 68, 6, 20, 16, 38, 2,159, 0, 0, 16, 6, 0, 76, 0, 0, 0, 0, -255,255, 0,117,254, 99, 4, 92, 5,240, 16, 38, 2,159, 0, 0, 16, 6, 0, 50, 0, 0, 0, 0,255,255, 0,137,254, 99, 4, 72, - 4,123, 16, 38, 2,159, 0, 0, 16, 6, 0, 82, 0, 0, 0, 0,255,255, 0,147,254, 99, 4, 61, 5,213, 16, 38, 2,159, 0, 0, - 16, 6, 0, 56, 0, 0, 0, 0,255,255, 0,195,254, 99, 4, 27, 4, 94, 16, 38, 2,159, 0, 0, 16, 6, 0, 88, 0, 0, 0, 0, -255,255, 0, 37, 0, 0, 4,172, 7,114, 16, 39, 11,179, 0, 0, 1,124, 16, 6, 0, 60, 0, 0,255,255, 0,104,254, 86, 4,129, - 6,109, 16, 38, 0, 67,204, 7, 16, 6, 0, 92, 0, 0, 0, 0,255,255, 0, 37,254, 99, 4,172, 5,213, 16, 38, 2,159, 0, 0, - 16, 6, 0, 60, 0, 0, 0, 0,255,255, 0,104,254, 86, 4,129, 4, 96, 16, 39, 2,159, 0,250, 0, 0, 16, 6, 0, 92, 0, 0, -255,255, 0, 37, 0, 0, 4,172, 7, 94, 16, 39, 11,178, 0, 0, 1,117, 16, 6, 0, 60, 0, 0,255,255, 0,104,254, 86, 4,129, - 6, 55, 16, 38, 2,110, 0, 0, 16, 6, 0, 92, 0, 0, 0, 0,255,255, 0, 70,255,230, 4,149, 6,114, 16, 38, 2,237, 0, 0, - 16, 6, 6, 66, 0, 0, 0, 0,255,255, 0, 70,255,230, 4,149, 6,114, 16, 38, 2,237, 0, 0, 16, 6, 6,122, 0, 0, 0, 0, -255,255, 0, 70,255,230, 4,149, 6,114, 16, 38, 2,237, 0, 0, 16, 6, 6, 79, 0, 0, 0, 0,255,255, 0, 70,255,230, 4,149, - 6,114, 16, 38, 2,237, 0, 0, 16, 6, 6, 92, 0, 0, 0, 0,255,255, 0, 70,255,230, 4,149, 6,114, 16, 38, 2,237, 0, 0, - 16, 6, 6, 80, 0, 0, 0, 0,255,255, 0, 70,255,230, 4,149, 6,114, 16, 38, 2,237, 0, 0, 16, 6, 6, 93, 0, 0, 0, 0, -255,255, 0, 70,255,230, 4,149, 7,209, 16, 38, 2,237, 0, 0, 16, 6, 6, 81, 0, 0, 0, 0,255,255, 0, 70,255,230, 4,149, - 7,209, 16, 38, 2,237, 0, 0, 16, 6, 6, 94, 0, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, 6,114, 16, 38, 2,206, 0, 0, - 16, 7, 6, 66,254,162, 0, 0,255,255, 0, 37, 0, 0, 4,172, 6,114, 16, 38, 2,206, 0, 0, 16, 7, 6,122,254,112, 0, 0, -255,255,254,107, 0, 0, 4,172, 6,114, 16, 38, 2,206, 0, 0, 16, 7, 6, 79,253,118, 0, 0,255,255,254,107, 0, 0, 4,172, - 6,114, 16, 38, 2,206, 0, 0, 16, 7, 6, 92,253,118, 0, 0,255,255,255, 26, 0, 0, 4,172, 6,114, 16, 38, 2,206, 0, 0, - 16, 7, 6, 80,253,243, 0, 0,255,255,255, 6, 0, 0, 4,172, 6,114, 16, 38, 2,206, 0, 0, 16, 7, 6, 93,253,243, 0, 0, -255,255,255,193, 0, 0, 4,172, 7,209, 16, 38, 2,206, 0, 0, 16, 7, 6, 81,254,162, 0, 0,255,255,255,143, 0, 0, 4,172, - 7,209, 16, 38, 2,206, 0, 0, 16, 7, 6, 94,254,112, 0, 0,255,255, 0,169,255,234, 4, 40, 6,114, 16, 38, 2,241, 0, 0, - 16, 6, 6, 66, 0, 0, 0, 0,255,255, 0,169,255,234, 4, 40, 6,114, 16, 38, 2,241, 0, 0, 16, 6, 6,122, 0, 0, 0, 0, -255,255, 0,169,255,234, 4, 40, 6,114, 16, 38, 2,241, 0, 0, 16, 6, 6, 79, 0, 0, 0, 0,255,255, 0,169,255,234, 4, 40, - 6,114, 16, 38, 2,241, 0, 0, 16, 6, 6, 92, 0, 0, 0, 0,255,255, 0,169,255,234, 4, 40, 6,114, 16, 38, 2,241, 0, 0, - 16, 6, 6, 80, 0, 0, 0, 0,255,255, 0,169,255,234, 4, 40, 6,114, 16, 38, 2,241, 0, 0, 16, 6, 6, 93, 0, 0, 0, 0, -255,255,255,126, 0, 0, 4, 78, 6,114, 16, 38, 2,210, 0, 0, 16, 7, 6, 66,253,143, 0, 0,255,255,255,126, 0, 0, 4, 78, - 6,114, 16, 38, 2,210, 0, 0, 16, 7, 6,122,253,143, 0, 0,255,255,253,138, 0, 0, 4, 78, 6,114, 16, 38, 2,210, 0, 0, - 16, 7, 6, 79,252,149, 0, 0,255,255,253,138, 0, 0, 4, 78, 6,114, 16, 38, 2,210, 0, 0, 16, 7, 6, 92,252,149, 0, 0, -255,255,254, 7, 0, 0, 4, 78, 6,114, 16, 38, 2,210, 0, 0, 16, 7, 6, 80,252,224, 0, 0,255,255,253,243, 0, 0, 4, 78, - 6,114, 16, 38, 2,210, 0, 0, 16, 7, 6, 93,252,224, 0, 0,255,255, 0,195,254, 86, 4, 27, 6,114, 16, 38, 2,243, 0, 0, - 16, 6, 6, 66, 0, 0, 0, 0,255,255, 0,195,254, 86, 4, 27, 6,114, 16, 38, 2,243, 0, 0, 16, 6, 6,122, 0, 0, 0, 0, -255,255, 0,195,254, 86, 4, 27, 6,114, 16, 38, 2,243, 0, 0, 16, 6, 6, 79, 0, 0, 0, 0,255,255, 0,195,254, 86, 4, 27, - 6,114, 16, 38, 2,243, 0, 0, 16, 6, 6, 92, 0, 0, 0, 0,255,255, 0,195,254, 86, 4, 30, 6,114, 16, 38, 2,243, 0, 0, - 16, 6, 6, 80, 0, 0, 0, 0,255,255, 0,195,254, 86, 4, 30, 6,114, 16, 38, 2,243, 0, 0, 16, 6, 6, 93, 0, 0, 0, 0, -255,255, 0,195,254, 86, 4, 27, 7,209, 16, 38, 2,243, 0, 0, 16, 6, 6, 81, 0, 0, 0, 0,255,255, 0,195,254, 86, 4, 27, - 7,209, 16, 38, 2,243, 0, 0, 16, 6, 6, 94, 0, 0, 0, 0,255,255,255, 76, 0, 0, 4, 72, 6,114, 16, 38, 2,212, 0, 0, - 16, 7, 6, 66,253, 93, 0, 0,255,255,255, 76, 0, 0, 4, 72, 6,114, 16, 38, 2,212, 0, 0, 16, 7, 6,122,253, 93, 0, 0, -255,255,253, 63, 0, 0, 4, 72, 6,114, 16, 38, 2,212, 0, 0, 16, 7, 6, 79,252, 74, 0, 0,255,255,253, 63, 0, 0, 4, 72, - 6,114, 16, 38, 2,212, 0, 0, 16, 7, 6, 92,252, 74, 0, 0,255,255,253,163, 0, 0, 4, 72, 6,114, 16, 38, 2,212, 0, 0, - 16, 7, 6, 80,252,124, 0, 0,255,255,253,143, 0, 0, 4, 72, 6,114, 16, 38, 2,212, 0, 0, 16, 7, 6, 93,252,124, 0, 0, -255,255,254, 99, 0, 0, 4, 72, 7,209, 16, 38, 2,212, 0, 0, 16, 7, 6, 81,253, 68, 0, 0,255,255,254, 99, 0, 0, 4, 72, - 7,209, 16, 38, 2,212, 0, 0, 16, 7, 6, 94,253, 68, 0, 0,255,255, 1, 54, 0, 0, 3,207, 6,114, 16, 38, 2,245, 0, 0, - 16, 6, 6, 66, 0, 0, 0, 0,255,255, 1, 54, 0, 0, 3,207, 6,114, 16, 38, 2,245, 0, 0, 16, 6, 6,122, 0, 0, 0, 0, -255,255, 0,245, 0, 0, 3,240, 6,114, 16, 38, 2,245, 0, 0, 16, 6, 6, 79, 0, 0, 0, 0,255,255, 0,245, 0, 0, 3,240, - 6,114, 16, 38, 2,245, 0, 0, 16, 6, 6, 92, 0, 0, 0, 0,255,255, 1, 39, 0, 0, 4, 30, 6,114, 16, 38, 2,245, 0, 0, - 16, 6, 6, 80, 0, 0, 0, 0,255,255, 1, 19, 0, 0, 4, 30, 6,114, 16, 38, 2,245, 0, 0, 16, 6, 6, 93, 0, 0, 0, 0, -255,255, 1, 31, 0, 0, 3,207, 7,209, 16, 38, 2,245, 0, 0, 16, 6, 6, 81, 0, 0, 0, 0,255,255, 1, 31, 0, 0, 3,207, - 7,209, 16, 38, 2,245, 0, 0, 16, 6, 6, 94, 0, 0, 0, 0,255,255,255,126, 0, 0, 4, 6, 6,114, 16, 38, 2,214, 0, 0, - 16, 7, 6, 66,253,143, 0, 0,255,255,255,126, 0, 0, 4, 6, 6,114, 16, 38, 2,214, 0, 0, 16, 7, 6,122,253,143, 0, 0, -255,255,253,163, 0, 0, 4, 6, 6,114, 16, 38, 2,214, 0, 0, 16, 7, 6, 79,252,174, 0, 0,255,255,253,163, 0, 0, 4, 6, - 6,114, 16, 38, 2,214, 0, 0, 16, 7, 6, 92,252,174, 0, 0,255,255,254, 7, 0, 0, 4, 6, 6,114, 16, 38, 2,214, 0, 0, - 16, 7, 6, 80,252,224, 0, 0,255,255,253,243, 0, 0, 4, 6, 6,114, 16, 38, 2,214, 0, 0, 16, 7, 6, 93,252,224, 0, 0, -255,255,254,174, 0, 0, 4, 6, 7,209, 16, 38, 2,214, 0, 0, 16, 7, 6, 81,253,143, 0, 0,255,255,254,174, 0, 0, 4, 6, - 7,209, 16, 38, 2,214, 0, 0, 16, 7, 6, 94,253,143, 0, 0,255,255, 0,137,255,227, 4, 72, 6,114, 16, 38, 2,251, 0, 0, - 16, 6, 6, 66, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, 6,114, 16, 38, 2,251, 0, 0, 16, 6, 6,122, 0, 0, 0, 0, -255,255, 0,137,255,227, 4, 72, 6,114, 16, 38, 2,251, 0, 0, 16, 6, 6, 79, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, - 6,114, 16, 38, 2,251, 0, 0, 16, 6, 6, 92, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, 6,114, 16, 38, 2,251, 0, 0, - 16, 6, 6, 80, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, 6,114, 16, 38, 2,251, 0, 0, 16, 6, 6, 93, 0, 0, 0, 0, -255,255,255,201,255,227, 4, 92, 6,114, 16, 38, 2,220, 0, 0, 16, 7, 6, 66,253,218, 0, 0,255,255,255,126,255,227, 4, 92, - 6,114, 16, 38, 2,220, 0, 0, 16, 7, 6,122,253,143, 0, 0,255,255,253,138,255,227, 4, 92, 6,114, 16, 38, 2,220, 0, 0, - 16, 7, 6, 79,252,149, 0, 0,255,255,253,138,255,227, 4, 92, 6,114, 16, 38, 2,220, 0, 0, 16, 7, 6, 92,252,149, 0, 0, -255,255,254,157,255,227, 4, 92, 6,114, 16, 38, 2,220, 0, 0, 16, 7, 6, 80,253,118, 0, 0,255,255,254,137,255,227, 4, 92, - 6,114, 16, 38, 2,220, 0, 0, 16, 7, 6, 93,253,118, 0, 0,255,255, 0, 51,255,255, 4,105, 6,114, 16, 38, 3, 1, 0, 0, - 16, 6, 6, 66, 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, 6,114, 16, 38, 3, 1, 0, 0, 16, 6, 6,122, 0, 0, 0, 0, -255,255, 0, 51,255,255, 4,105, 6,114, 16, 38, 3, 1, 0, 0, 16, 6, 6, 79, 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, - 6,114, 16, 38, 3, 1, 0, 0, 16, 6, 6, 92, 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, 6,114, 16, 38, 3, 1, 0, 0, - 16, 6, 6, 80, 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, 6,114, 16, 38, 3, 1, 0, 0, 16, 6, 6, 93, 0, 0, 0, 0, -255,255, 0, 51,255,255, 4,105, 7,209, 16, 38, 3, 1, 0, 0, 16, 6, 6, 81, 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, - 7,209, 16, 38, 3, 1, 0, 0, 16, 6, 6, 94, 0, 0, 0, 0,255,255,254,232, 0, 0, 4,172, 6,114, 16, 38, 2,225, 0, 0, - 16, 7, 6,122,252,249, 0, 0,255,255,253, 63, 0, 0, 4,172, 6,114, 16, 38, 2,225, 0, 0, 16, 7, 6, 92,252, 74, 0, 0, -255,255,253, 68, 0, 0, 4,172, 6,114, 16, 38, 2,225, 0, 0, 16, 7, 6, 93,252, 49, 0, 0,255,255,254, 24, 0, 0, 4,172, - 7,209, 16, 38, 2,225, 0, 0, 16, 7, 6, 94,252,249, 0, 0,255,255, 0, 70,255,227, 4,140, 6,114, 16, 38, 3, 5, 0, 0, - 16, 6, 6, 66, 0, 0, 0, 0,255,255, 0, 70,255,227, 4,140, 6,114, 16, 38, 3, 5, 0, 0, 16, 6, 6,122, 0, 0, 0, 0, -255,255, 0, 70,255,227, 4,140, 6,114, 16, 38, 3, 5, 0, 0, 16, 6, 6, 79, 0, 0, 0, 0,255,255, 0, 70,255,227, 4,140, - 6,114, 16, 38, 3, 5, 0, 0, 16, 6, 6, 92, 0, 0, 0, 0,255,255, 0, 70,255,227, 4,140, 6,114, 16, 38, 3, 5, 0, 0, - 16, 6, 6, 80, 0, 0, 0, 0,255,255, 0, 70,255,227, 4,140, 6,114, 16, 38, 3, 5, 0, 0, 16, 6, 6, 93, 0, 0, 0, 0, -255,255, 0, 70,255,227, 4,140, 7,209, 16, 38, 3, 5, 0, 0, 16, 6, 6, 81, 0, 0, 0, 0,255,255, 0, 70,255,227, 4,140, - 7,209, 16, 38, 3, 5, 0, 0, 16, 6, 6, 94, 0, 0, 0, 0,255,255,255,201, 0, 0, 4,135, 6,114, 16, 38, 2,229, 0, 0, - 16, 7, 6, 66,253,218, 0, 0,255,255,255,101, 0, 0, 4,135, 6,114, 16, 38, 2,229, 0, 0, 16, 7, 6,122,253,118, 0, 0, -255,255,253,138, 0, 0, 4,135, 6,114, 16, 38, 2,229, 0, 0, 16, 7, 6, 79,252,149, 0, 0,255,255,253,138, 0, 0, 4,135, - 6,114, 16, 38, 2,229, 0, 0, 16, 7, 6, 92,252,149, 0, 0,255,255,254,182, 0, 0, 4,135, 6,114, 16, 38, 2,229, 0, 0, - 16, 7, 6, 80,253,143, 0, 0,255,255,254,162, 0, 0, 4,135, 6,114, 16, 38, 2,229, 0, 0, 16, 7, 6, 93,253,143, 0, 0, -255,255,254,249, 0, 0, 4,135, 7,209, 16, 38, 2,229, 0, 0, 16, 7, 6, 81,253,218, 0, 0,255,255,254,174, 0, 0, 4,135, - 7,209, 16, 38, 2,229, 0, 0, 16, 7, 6, 94,253,143, 0, 0,255,255, 0, 70,255,230, 4,149, 6,102, 16, 38, 2,237, 0, 0, - 16, 6, 0, 67, 0, 0, 0, 0,255,255, 0, 70,255,230, 4,149, 6,102, 16, 6, 2,232, 0, 0,255,255, 0,169,255,234, 4, 40, - 6,102, 16, 38, 2,241, 0, 0, 16, 6, 0, 67, 0, 0, 0, 0,255,255, 0,169,255,234, 4, 40, 6,102, 16, 6, 2,233, 0, 0, -255,255, 0,195,254, 86, 4, 27, 6,102, 16, 38, 2,243, 0, 0, 16, 6, 0, 67, 0, 0, 0, 0,255,255, 0,195,254, 86, 4, 27, - 6,102, 16, 6, 2,234, 0, 0,255,255, 1, 23, 0, 0, 3,207, 6,102, 16, 38, 2,245, 0, 0, 16, 6, 0, 67, 0, 0, 0, 0, -255,255, 1, 54, 0, 0, 3,207, 6,102, 16, 6, 2,235, 0, 0,255,255, 0,137,255,227, 4, 72, 6,102, 16, 38, 2,251, 0, 0, - 16, 6, 0, 67, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, 6,102, 16, 6, 3, 8, 0, 0,255,255, 0, 51,255,255, 4,105, - 6,102, 16, 38, 3, 1, 0, 0, 16, 6, 0, 67, 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, 6,102, 16, 6, 3, 9, 0, 0, -255,255, 0, 70,255,227, 4,140, 6,102, 16, 38, 3, 5, 0, 0, 16, 6, 0, 67, 0, 0, 0, 0,255,255, 0, 70,255,227, 4,140, - 6,102, 16, 6, 3, 10, 0, 0,255,255, 0, 70,254, 86, 4,149, 6,114, 16, 38, 5,146, 0, 0, 16, 6, 2,193,156, 0, 0, 0, -255,255, 0, 70,254, 86, 4,149, 6,114, 16, 38, 5,147, 0, 0, 16, 6, 2,193,156, 0, 0, 0,255,255, 0, 70,254, 86, 4,149, - 6,114, 16, 38, 5,148, 0, 0, 16, 6, 2,193,156, 0, 0, 0,255,255, 0, 70,254, 86, 4,149, 6,114, 16, 38, 5,149, 0, 0, - 16, 6, 2,193,156, 0, 0, 0,255,255, 0, 70,254, 86, 4,149, 6,114, 16, 38, 2,193,156, 0, 16, 6, 5,150, 0, 0, 0, 0, -255,255, 0, 70,254, 86, 4,149, 6,114, 16, 38, 2,193,156, 0, 16, 6, 5,151, 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,149, - 7,209, 16, 38, 5,152, 0, 0, 16, 6, 2,193,156, 0, 0, 0,255,255, 0, 70,254, 86, 4,149, 7,209, 16, 38, 5,153, 0, 0, - 16, 6, 2,193,156, 0, 0, 0,255,255, 0, 37,254, 86, 4,172, 6,114, 16, 38, 5,154, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0, -255,255, 0, 37,254, 86, 4,172, 6,114, 16, 38, 5,155, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0,255,255,254,107,254, 86, 4,172, - 6,114, 16, 38, 5,156, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0,255,255,254,107,254, 86, 4,172, 6,114, 16, 38, 5,157, 0, 0, - 16, 6, 6, 65, 0, 0, 0, 0,255,255,255, 26,254, 86, 4,172, 6,114, 16, 38, 6, 65, 0, 0, 16, 6, 5,158, 0, 0, 0, 0, -255,255,255, 6,254, 86, 4,172, 6,114, 16, 38, 6, 65, 0, 0, 16, 6, 5,159, 0, 0, 0, 0,255,255,255,193,254, 86, 4,172, - 7,209, 16, 38, 5,160, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0,255,255,255,143,254, 86, 4,172, 7,209, 16, 38, 5,161, 0, 0, - 16, 6, 6, 65, 0, 0, 0, 0,255,255, 0,195,254, 86, 4, 27, 6,114, 16, 38, 5,174, 0, 0, 16, 7, 2,193,254,200, 0, 0, -255,255, 0,195,254, 86, 4, 27, 6,114, 16, 38, 5,175, 0, 0, 16, 7, 2,193,254,200, 0, 0,255,255, 0,195,254, 86, 4, 27, - 6,114, 16, 38, 5,176, 0, 0, 16, 7, 2,193,254,200, 0, 0,255,255, 0,195,254, 86, 4, 27, 6,114, 16, 38, 5,177, 0, 0, - 16, 7, 2,193,254,200, 0, 0,255,255, 0,195,254, 86, 4, 30, 6,114, 16, 39, 2,193,254,200, 0, 0, 16, 6, 5,178, 0, 0, -255,255, 0,195,254, 86, 4, 30, 6,114, 16, 39, 2,193,254,200, 0, 0, 16, 6, 5,179, 0, 0,255,255, 0,195,254, 86, 4, 27, - 7,209, 16, 38, 5,180, 0, 0, 16, 7, 2,193,254,200, 0, 0,255,255, 0,195,254, 86, 4, 27, 7,209, 16, 38, 5,181, 0, 0, - 16, 7, 2,193,254,200, 0, 0,255,255,255, 76,254, 86, 4, 72, 6,114, 16, 38, 5,182, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0, -255,255,255, 76,254, 86, 4, 72, 6,114, 16, 38, 5,183, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0,255,255,253, 63,254, 86, 4, 72, - 6,114, 16, 38, 5,184, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0,255,255,253, 63,254, 86, 4, 72, 6,114, 16, 38, 5,185, 0, 0, - 16, 6, 6, 65, 0, 0, 0, 0,255,255,253,163,254, 86, 4, 72, 6,114, 16, 38, 6, 65, 0, 0, 16, 6, 5,186, 0, 0, 0, 0, -255,255,253,143,254, 86, 4, 72, 6,114, 16, 38, 6, 65, 0, 0, 16, 6, 5,187, 0, 0, 0, 0,255,255,254, 99,254, 86, 4, 72, - 7,209, 16, 38, 5,188, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0,255,255,254, 99,254, 86, 4, 72, 7,209, 16, 38, 5,189, 0, 0, - 16, 6, 6, 65, 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,140, 6,114, 16, 38, 5,230, 0, 0, 16, 6, 2,193, 0, 0, 0, 0, -255,255, 0, 70,254, 86, 4,140, 6,114, 16, 38, 5,231, 0, 0, 16, 6, 2,193, 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,140, - 6,114, 16, 38, 5,232, 0, 0, 16, 6, 2,193, 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,140, 6,114, 16, 38, 5,233, 0, 0, - 16, 6, 2,193, 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,140, 6,114, 16, 38, 2,193, 0, 0, 16, 6, 5,234, 0, 0, 0, 0, -255,255, 0, 70,254, 86, 4,140, 6,114, 16, 38, 2,193, 0, 0, 16, 6, 5,235, 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,140, - 7,209, 16, 38, 5,236, 0, 0, 16, 6, 2,193, 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,140, 7,209, 16, 38, 5,237, 0, 0, - 16, 6, 2,193, 0, 0, 0, 0,255,255,255,201,254, 86, 4,135, 6,114, 16, 38, 5,238, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0, -255,255,255,101,254, 86, 4,135, 6,114, 16, 38, 5,239, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0,255,255,253,138,254, 86, 4,135, - 6,114, 16, 38, 5,240, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0,255,255,253,138,254, 86, 4,135, 6,114, 16, 38, 5,241, 0, 0, - 16, 6, 6, 65, 0, 0, 0, 0,255,255,254,182,254, 86, 4,135, 6,114, 16, 38, 6, 65, 0, 0, 16, 6, 5,242, 0, 0, 0, 0, -255,255,254,162,254, 86, 4,135, 6,114, 16, 38, 6, 65, 0, 0, 16, 6, 5,243, 0, 0, 0, 0,255,255,254,249,254, 86, 4,135, - 7,209, 16, 38, 5,244, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0,255,255,254,174,254, 86, 4,135, 7,209, 16, 38, 5,245, 0, 0, - 16, 6, 6, 65, 0, 0, 0, 0,255,255, 0, 70,255,230, 4,149, 6, 72, 16, 38, 2,130, 0, 0, 16, 6, 2,237, 0, 0, 0, 0, -255,255, 0, 70,255,230, 4,149, 5,246, 16, 38, 2,128, 0, 0, 16, 6, 2,237, 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,149, - 6,102, 16, 38, 5,246, 0, 0, 16, 6, 2,193,156, 0, 0, 0,255,255, 0, 70,254, 86, 4,149, 4,122, 16, 38, 2,237, 0, 0, - 16, 6, 2,193,156, 0, 0, 0,255,255, 0, 70,254, 86, 4,149, 6,102, 16, 38, 2,232, 0, 0, 16, 6, 2,193,156, 0, 0, 0, -255,255, 0, 70,255,230, 4,149, 6, 55, 16, 38, 2,237, 0, 0, 16, 6, 6, 67, 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,149, - 6, 55, 16, 38, 6, 57, 0, 0, 16, 6, 2,193,156, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7,109, 16, 38, 11,184, 0, 0, - 16, 6, 2,206, 0, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7, 48, 16, 38, 11,189, 0, 0, 16, 6, 2,206, 0, 0, 0, 0, -255,255,255,135, 0, 0, 4,172, 6,102, 16, 38, 2,206, 0, 0, 16, 7, 6,110,254,112, 0, 0,255,255, 0, 25, 0, 0, 4,172, - 6,102, 16, 6, 2,197, 0, 0,255,255, 0, 37,254, 86, 4,172, 5,213, 16, 38, 2,206, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0, -255,255, 1,239, 4,194, 2,225, 6,114, 16, 6, 6, 66, 0, 0,255,255, 2, 30,254, 86, 2,250,255,164, 16, 6, 2,193, 0, 0, - 0, 1, 1,239, 4,194, 2,225, 6,114, 0, 8, 0, 0, 1, 16, 35, 53, 50, 53, 35, 53, 51, 2,225,241,142,142,241, 5,195,254, -255,100,157,175,255,255, 1, 31, 5, 29, 3,178, 6, 55, 16, 6, 2,110, 0, 0,255,255, 1, 31, 5, 70, 3,178, 7,139, 16, 38, - 0,106, 0, 0, 16, 7, 6, 67, 0, 0, 1, 84,255,255, 0,195,254, 86, 4, 27, 6,102, 16, 38, 5,250, 0, 0, 16, 7, 2,193, -254,200, 0, 0,255,255, 0,195,254, 86, 4, 27, 4,123, 16, 38, 2,243, 0, 0, 16, 7, 2,193,254,200, 0, 0,255,255, 0,195, -254, 86, 4, 27, 6,102, 16, 38, 2,234, 0, 0, 16, 7, 2,193,254,200, 0, 0,255,255, 0,195,254, 86, 4, 27, 6, 55, 16, 38, - 2,243, 0, 0, 16, 6, 6, 67, 0, 0, 0, 0,255,255, 0,195,254, 86, 4, 27, 6, 55, 16, 38, 6, 72, 0, 0, 16, 7, 2,193, -254,200, 0, 0,255,255,254,141, 0, 0, 4, 78, 6,102, 16, 38, 2,210, 0, 0, 16, 7, 6,110,253,118, 0, 0,255,255,255, 31, - 0, 0, 4, 78, 6,102, 16, 6, 2,199, 0, 0,255,255,254, 91, 0, 0, 4, 72, 6,102, 16, 38, 2,212, 0, 0, 16, 7, 6,110, -253, 68, 0, 0,255,255,254,237, 0, 0, 4, 72, 6,102, 16, 6, 2,200, 0, 0,255,255, 0,137,254, 86, 4, 72, 5,213, 16, 38, - 2,212, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0,255,255, 0,245, 4,194, 3,240, 6,114, 16, 39, 6, 66,255, 6, 0, 0, 16, 7, - 6,110, 0,250, 0, 0, 0, 0,255,255, 1, 39, 4,194, 4, 30, 6,114, 16, 39, 6, 66,255, 56, 0, 0, 16, 6, 6,121,100, 0, -255,255, 1, 31, 4,194, 3,178, 7,209, 16, 38, 6, 66, 0, 0, 16, 7, 6, 67, 0, 0, 1,154,255,255, 1, 47, 0, 0, 3,207, - 6, 72, 16, 38, 2,130, 0, 0, 16, 6, 2,245, 0, 0, 0, 0,255,255, 1, 54, 0, 0, 3,207, 5,246, 16, 38, 2,128, 0, 0, - 16, 6, 2,245, 0, 0, 0, 0,255,255, 1, 23, 0, 0, 3,207, 7,216, 16, 38, 2,245, 0, 0, 16, 6, 6,108, 0, 0, 0, 0, -255,255, 1, 54, 0, 0, 3,207, 7,216, 16, 6, 2,205, 0, 0,255,255, 1, 31, 0, 0, 3,207, 6, 55, 16, 38, 2,245, 0, 0, - 16, 6, 6, 67, 0, 0, 0, 0,255,255, 1, 31, 0, 0, 3,207, 7,139, 16, 38, 2,245, 0, 0, 16, 6, 6, 68, 0, 0, 0, 0, -255,255, 0,201, 0, 0, 4, 6, 7,109, 16, 38, 11,184, 0, 0, 16, 6, 2,214, 0, 0, 0, 0,255,255, 0,201, 0, 0, 4, 6, - 7, 48, 16, 38, 11,189, 0, 0, 16, 6, 2,214, 0, 0, 0, 0,255,255,254,191, 0, 0, 4, 6, 6,102, 16, 38, 2,214, 0, 0, - 16, 7, 6,110,253,168, 0, 0,255,255,255, 31, 0, 0, 4, 6, 6,102, 16, 6, 2,201, 0, 0,255,255, 0,245, 4,194, 3,240, - 6,114, 16, 39, 6,122,255, 6, 0, 0, 16, 7, 6,110, 0,250, 0, 0, 0, 0,255,255, 1, 19, 4,194, 4, 30, 6,114, 16, 39, - 6,122,255, 36, 0, 0, 16, 6, 6,121,100, 0,255,255, 1, 31, 4,194, 3,178, 7,209, 16, 38, 6,122, 0, 0, 16, 7, 6, 67, - 0, 0, 1,154,255,255, 0, 51,255,255, 4,105, 6, 72, 16, 38, 2,130, 0, 0, 16, 6, 3, 1, 0, 0, 0, 0,255,255, 0, 51, -255,255, 4,105, 5,246, 16, 38, 2,128, 0, 0, 16, 6, 3, 1, 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, 7,216, 16, 38, - 3, 1, 0, 0, 16, 6, 6,108, 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, 7,216, 16, 6, 2,236, 0, 0,255,255, 0,190, -254, 86, 4, 84, 6,114, 16, 38, 2,253, 0, 0, 16, 6, 6, 66, 0, 0, 0, 0,255,255, 0,190,254, 86, 4, 84, 6,114, 16, 38, - 2,253, 0, 0, 16, 6, 6,122, 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, 6, 55, 16, 38, 3, 1, 0, 0, 16, 6, 6, 67, - 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, 7,139, 16, 38, 3, 1, 0, 0, 16, 6, 6, 68, 0, 0, 0, 0,255,255, 0, 37, - 0, 0, 4,172, 7,109, 16, 38, 11,184, 0, 0, 16, 6, 2,225, 0, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7, 48, 16, 38, - 11,189, 0, 0, 16, 6, 2,225, 0, 0, 0, 0,255,255,254, 91, 0, 0, 4,172, 6,102, 16, 38, 2,225, 0, 0, 16, 7, 6,110, -253, 68, 0, 0,255,255,254,112, 0, 0, 4,172, 6,102, 16, 6, 2,203, 0, 0,255,255,255,126, 0, 0, 4,117, 6,114, 16, 38, - 2,222, 0, 0, 16, 7, 6,122,253,143, 0, 0,255,255, 1, 23, 5, 70, 3,145, 7,216, 16, 38, 0,106, 0, 0, 16, 7, 6,110, - 0, 0, 1,114,255,255, 1, 63, 5, 70, 3,186, 7,216, 16, 6, 2,196, 0, 0,255,255, 1, 23, 4,238, 2,246, 6,102, 16, 6, - 0, 67, 0, 0,255,255, 0, 70,254, 86, 4,140, 6,102, 16, 38, 6, 2, 0, 0, 16, 6, 2,193, 0, 0, 0, 0,255,255, 0, 70, -254, 86, 4,140, 4, 96, 16, 38, 3, 5, 0, 0, 16, 6, 2,193, 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,140, 6,102, 16, 38, - 3, 10, 0, 0, 16, 6, 2,193, 0, 0, 0, 0,255,255, 0, 70,255,227, 4,140, 6, 55, 16, 38, 3, 5, 0, 0, 16, 6, 6, 67, - 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,140, 6, 55, 16, 38, 6,114, 0, 0, 16, 6, 2,193, 0, 0, 0, 0,255,255,254,166, -255,227, 4, 92, 6,102, 16, 38, 2,220, 0, 0, 16, 7, 6,110,253,143, 0, 0,255,255,255,181,255,227, 4, 92, 6,102, 16, 6, - 2,202, 0, 0,255,255,254,166, 0, 0, 4,135, 6,102, 16, 38, 2,229, 0, 0, 16, 7, 6,110,253,143, 0, 0,255,255,255,206, - 0, 0, 4,135, 6,102, 16, 6, 2,204, 0, 0,255,255, 0, 74,254, 86, 4,135, 5,180, 16, 38, 2,229, 0, 0, 16, 6, 6, 65, - 0, 0, 0, 0,255,255, 1,219, 4,238, 3,186, 6,102, 16, 6, 0,118, 0, 0, 0, 1, 1,239, 4,194, 2,225, 6,114, 0, 8, - 0, 0, 1, 53, 51, 21, 35, 6, 51, 21, 34, 1,240,240,141, 1,143,241, 5,195,175,175,157,100, 0, 1, 1,100, 1,223, 3,109, - 2,131, 0, 3, 0, 17,182, 0,160, 2, 4, 1, 0, 4, 16,212,196, 49, 0, 16,212,236, 48, 1, 33, 21, 33, 1,100, 2, 9,253, -247, 2,131,164,255,255, 1,100, 1,223, 3,109, 2,131, 16, 6, 6,134, 0, 0, 0, 1, 0, 0, 1,236, 4,209, 2,121, 0, 3, - 0, 16,182, 2,182, 0,253, 4, 1, 0, 47,198, 49, 0, 16,252,236, 48, 17, 33, 21, 33, 4,209,251, 47, 2,121,141, 0, 0, 0, - 0, 1, 0, 0, 1,236, 4,209, 2,121, 0, 3, 0, 16,182, 2,182, 0,253, 4, 1, 0, 47,198, 49, 0, 16,252,236, 48, 17, 33, - 21, 33, 4,209,251, 47, 2,121,141, 0, 0, 0, 0, 1, 0, 0, 1,236, 4,209, 2,121, 0, 3, 0, 15,181, 2,182, 0, 4, 1, - 0, 47,196, 49, 0, 16,212,236, 48, 17, 33, 21, 33, 4,209,251, 47, 2,121,141, 0, 1, 0, 0, 1,236, 4,209, 2,121, 0, 3, - 0, 15,181, 2,182, 0, 4, 1, 0, 47,196, 49, 0, 16,212,236, 48, 17, 33, 21, 33, 4,209,251, 47, 2,121,141,255,255, 0, 0, -254, 29, 4,209,255, 93, 16, 38, 0, 66, 0, 0, 16, 7, 0, 66, 0, 0, 0,240, 0, 1, 1,207, 3,199, 3, 45, 6, 20, 0, 5, - 0, 24, 64, 11, 0,163, 3,181, 6, 3, 4, 0, 29, 1, 6, 16,212,252,212,204, 49, 0, 16,252,236, 48, 1, 35, 53, 19, 51, 3, - 2,203,252,196,154, 98, 3,199,207, 1,126,254,130, 0, 0, 0, 0, 1, 1,207, 3,199, 3, 45, 6, 20, 0, 5, 0, 24, 64, 11, - 3,163, 0,181, 6, 3, 4, 1, 29, 0, 6, 16,212,236,212,204, 49, 0, 16,252,236, 48, 1, 51, 21, 3, 35, 19, 2, 49,252,197, -153, 98, 6, 20,206,254,129, 1,127, 0, 0, 0, 0, 1, 1,147,254,225, 2,242, 1, 47, 0, 5, 0, 26,178, 3,163, 0,184, 1, - 1,182, 6, 3, 4, 1, 29, 0, 6, 16,212,236,212,204, 49, 0, 16,252,236, 48, 1, 51, 21, 3, 35, 19, 1,246,252,197,154, 99, - 1, 47,207,254,129, 1,127, 0, 0, 1, 1,207, 3,199, 3, 45, 6, 20, 0, 5, 0, 0, 1, 21, 19, 35, 3, 53, 2,203, 98,153, -197, 6, 20,206,254,129, 1,127,206, 0, 0, 0, 0, 2, 0,211, 3,199, 3,254, 6, 20, 0, 5, 0, 11, 0, 37, 64, 18, 6, 0, -163, 9, 3,181, 12, 3, 4, 0, 29, 1, 7, 29, 6, 9, 10, 12, 16,212,204,212,236,212,252,212,204, 49, 0, 16,252, 60,236, 50, - 48, 1, 35, 53, 19, 51, 3, 5, 35, 53, 19, 51, 3, 3,156,252,196,154, 98,254, 53,254,199,153, 98, 3,199,207, 1,126,254,130, -207,207, 1,126,254,130, 0, 0, 0, 2, 0,211, 3,199, 3,252, 6, 20, 0, 5, 0, 11, 0, 39, 64, 19, 9, 3,163, 6, 0,181, - 12, 9, 10, 6, 3, 4, 1, 29, 0, 6, 29, 7, 12, 16,212,236,212,236,212,204, 16,212,206, 49, 0, 16,252, 60,236, 50, 48, 1, - 51, 21, 3, 35, 19, 37, 51, 21, 3, 35, 19, 3, 0,252,197,153, 98,254, 53,252,196,154, 98, 6, 20,206,254,129, 1,127,206,206, -254,129, 1,127, 0, 2, 0,211,254,225, 3,252, 1, 47, 0, 5, 0, 11, 0, 42,180, 9, 3,163, 6, 0,184, 1, 1, 64, 13, 12, - 9, 10, 6, 3, 4, 1, 29, 0, 6, 29, 7, 12, 16,212,236,212,236,212,204, 16,212,206, 49, 0, 16,252, 60,236, 50, 48, 1, 51, - 21, 3, 35, 19, 37, 51, 21, 3, 35, 19, 3, 0,252,197,153, 98,254, 53,252,196,154, 98, 1, 47,207,254,129, 1,127,207,207,254, -129, 1,127, 0, 0, 2, 0,211, 3,199, 3,252, 6, 20, 0, 5, 0, 11, 0, 0, 1, 21, 19, 35, 3, 53, 33, 21, 19, 35, 3, 53, - 1,207, 98,153,197, 2,199, 98,154,196, 6, 20,206,254,129, 1,127,206,206,254,129, 1,127,206, 0, 1, 0,162,255, 59, 4, 47, - 5,213, 0, 11, 0, 39, 64, 20, 8, 4,203, 10, 2, 0,136, 6,202, 12, 3, 82, 5, 1, 81, 9, 82, 7, 0, 12, 16,212, 60,236, -252, 60,236, 49, 0, 16,228,244,212, 60,236, 50, 48, 1, 51, 17, 33, 21, 33, 17, 35, 17, 33, 53, 33, 2, 16,177, 1,110,254,146, -177,254,146, 1,110, 5,213,254, 92,153,251,163, 4, 93,153, 0, 0, 1, 0,162,255, 59, 4, 47, 5,213, 0, 19, 0, 60, 64, 31, - 18, 6,203, 0, 16, 8,203, 14, 10, 12, 4, 0, 2,202, 12,136, 20, 15, 0, 82, 17, 13, 1, 81, 9, 5, 82, 11, 7, 3, 20, 16, -212, 60, 60,236, 50,252, 60, 60,236, 50, 49, 0, 16,228,244,196, 50, 16,212, 60,238, 50, 16,238, 50, 48, 37, 33, 17, 35, 17, 33, - 53, 33, 17, 33, 53, 33, 17, 51, 17, 33, 21, 33, 17, 33, 4, 47,254,146,177,254,146, 1,110,254,146, 1,110,177, 1,110,254,146, - 1,110,223,254, 92, 1,164,154, 2, 31,153, 1,164,254, 92,153,253,225, 0, 0, 0, 1, 1, 63, 1,209, 3,145, 4, 33, 0, 11, - 0, 18,183, 9,208, 3, 12, 6, 86, 0, 12, 16,212,236, 49, 0, 16,212,228, 48, 1, 52, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, - 1, 63,172,125,124,173,174,125,124,171, 2,250,124,171,172,123,124,173,171, 0, 0, 1, 1, 63, 1,129, 3,225, 4,113, 0, 2, - 0, 0, 1, 17, 1, 1, 63, 2,162, 1,129, 2,240,254,136, 0, 0, 3, 0, 80, 0, 0, 4,127, 1, 49, 0, 3, 0, 7, 0, 11, - 0, 35, 64, 17, 8, 4, 0,162, 10, 6, 2, 4, 29, 5, 8, 29, 9, 1, 29, 0, 12, 16,212,252,212,236,212,236, 49, 0, 47, 60, - 60,236, 50, 50, 48, 19, 51, 17, 35, 1, 51, 17, 35, 1, 51, 17, 35, 80,252,252, 3, 51,252,252,254,102,252,252, 1, 49,254,207, - 1, 49,254,207, 1, 49,254,207, 0, 7, 0, 0, 0, 0, 4,209, 5,152, 0, 3, 0, 15, 0, 27, 0, 39, 0, 51, 0, 63, 0, 75, - 0,116, 64, 14, 3, 2, 37, 31, 1, 49, 0, 61, 13,200, 19, 31,200, 49,184, 1, 2,181, 37,200, 43,145, 67, 19,184, 1, 2, 64, - 38, 55, 7,200, 73, 25, 3, 70, 2, 58, 52, 1, 40, 0, 28, 16, 58, 80, 70,122, 52, 80, 64, 10, 80, 22,122, 4, 80, 16, 34, 80, - 46,122, 16, 28, 80, 64, 40, 47,196,236,196,244,236, 16,238,246,238, 16,238,246,238, 17, 18, 57, 18, 57, 17, 18, 57, 17, 57, 49, - 0, 47, 60,238, 50,238, 50,246,238,254,238, 16,238, 50, 57, 18, 57, 17, 18, 57, 57, 48, 19, 39, 1, 23, 1, 20, 22, 51, 50, 54, - 53, 52, 38, 35, 34, 6, 7, 52, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 19, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 7, 52, - 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 7, 52, 54, 51, 50, 22, 21, 20, 6, 35, - 34, 38, 72, 37, 4, 20, 39,252, 72, 95, 69, 68, 98, 99, 67, 69, 95,121,165,120,120,166,167,119,121,164, 76, 97, 69, 69, 97, 99, - 67, 69, 97,121,166,121,120,166,166,120,121,166, 3, 12, 97, 69, 70, 96, 98, 68, 69, 97,121,166,121,120,167,167,120,121,166, 2, - 55, 97, 1,159, 96,253, 74, 71, 97, 99, 69, 67, 99, 97, 69,121,165,166,120,121,168,166, 3,211, 69, 97, 97, 69, 67, 99, 97, 69, -120,167,167,120,121,168,167,253, 34, 71, 97, 97, 71, 67, 99, 97, 69,120,166,166,120,121,168,167, 0, 7, 0, 0, 0, 0, 4,209, - 5,152, 0, 11, 0, 21, 0, 25, 0, 68, 0, 80, 0, 92, 0,104, 0, 0, 17, 52, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 54, 20, - 22, 50, 54, 53, 52, 38, 35, 34, 3, 39, 1, 23, 1, 52, 54, 50, 23, 22, 23, 54, 55, 54, 51, 50, 23, 22, 23, 54, 55, 54, 51, 50, - 22, 21, 20, 6, 35, 34, 39, 38, 39, 6, 7, 6, 35, 34, 39, 38, 39, 6, 7, 6, 35, 34, 38, 55, 20, 22, 51, 50, 54, 53, 52, 38, - 35, 34, 6, 5, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 5, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6,166,121,120,166,166, -120,121,166,121, 97,138, 97, 99, 67, 69,146, 37, 4, 20, 39,251,162,138,200, 69, 10, 9, 9, 10, 70,101,100, 69, 11, 8, 9, 10, - 70,101,100,139,139,100,101, 70, 10, 9, 8, 11, 69,100,101, 70, 10, 9, 9, 10, 70, 99,101,137,101, 79, 58, 56, 82, 82, 56, 58, - 79, 1,120, 81, 58, 58, 80, 82, 56, 58, 81, 1,122, 81, 58, 58, 80, 82, 56, 58, 81, 4,121,120,167,167,120,121,168,167,191,138, - 97, 97, 69, 67, 99,253, 24, 97, 1,159, 96,253, 74,121,165, 83, 12, 14, 14, 12, 83, 83, 12, 13, 13, 12, 83,166,120,121,168, 84, - 12, 13, 13, 12, 84, 84, 12, 14, 13, 13, 84,166,123, 71, 97, 99, 69, 67, 99, 97, 69, 71, 97, 97, 71, 67, 99, 97, 69, 71, 97, 97, - 71, 67, 99, 97, 0, 1, 1, 90, 0,141, 3, 47, 4, 35, 0, 6, 0, 26, 64, 12, 2, 4,252, 0,172, 7, 2, 3, 0,118, 5, 7, - 16,212,236, 50, 57, 49, 0, 16,244,236, 57, 48, 1, 21, 9, 1, 21, 1, 53, 3, 47,254,211, 1, 45,254, 43, 4, 35,191,254,244, -254,244,191, 1,162, 82, 0, 0, 0, 1, 1,164, 0,141, 3,121, 4, 35, 0, 6, 0, 26, 64, 12, 5, 3,252, 0,172, 7, 5, 1, -118, 3, 0, 7, 16,212, 60,236, 57, 49, 0, 16,244,236, 57, 48, 9, 1, 21, 1, 53, 9, 1, 1,164, 1,213,254, 43, 1, 45,254, -211, 4, 35,254, 94, 82,254, 94,191, 1, 12, 1, 12, 0, 0, 0,255,255, 0,208, 0, 0, 4, 3, 5,213, 16, 39, 0, 4,254,204, - 0, 0, 16, 7, 0, 4, 1, 52, 0, 0, 0, 0, 0, 3, 0,244, 0, 0, 4, 16, 5,240, 0, 23, 0, 27, 0, 37, 0, 0, 1, 35, - 17, 6, 7, 6, 7, 53, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 15, 1, 14, 1, 21, 3, 53, 51, 21, 3, 17, 55, 54, 55, 54, - 53, 52, 39, 38, 2,172,190, 31, 32, 89, 98, 94, 96, 95,104,186,111,110, 34, 33, 94, 88, 69, 38,197,203, 6, 45, 62, 23, 24, 66, - 37, 1,145, 3,173, 8, 12, 35, 68,188, 57, 28, 28, 96, 96,161, 76, 65, 66, 92, 86, 66, 84, 61,253,197,254,254, 5, 66,254, 82, - 45, 59, 44, 44, 49, 89, 55, 31,255,255, 0, 0, 5,187, 4,209, 6, 11, 16, 7, 0, 66, 0, 0, 7,158, 0, 0, 0, 1, 1,207, -254,242, 3,119, 6, 20, 0, 11, 0, 0, 1, 33, 21, 35, 17, 51, 21, 35, 17, 51, 21, 33, 1,207, 1,168,240,240,240,240,254, 88, - 6, 20,143,253, 69,143,253, 70,143, 0, 0, 0, 0, 1, 1, 90,254,242, 3, 2, 6, 20, 0, 11, 0, 0, 1, 17, 33, 53, 51, 17, - 35, 53, 51, 17, 35, 53, 3, 2,254, 88,240,240,240,240, 6, 20,248,222,143, 2,186,143, 2,187,143, 0, 0, 0,255,255, 0, 33, - 0, 0, 4,177, 5,241, 16, 39, 11,188,254,188, 0, 0, 16, 7, 11,188, 1, 28, 0, 0, 0, 0,255,255, 0, 33, 0, 0, 4, 3, - 5,241, 16, 39, 11,188,254,188, 0, 0, 16, 7, 0, 4, 1, 52, 0, 0, 0, 0,255,255, 0,208, 0, 0, 4,177, 5,241, 16, 39, - 0, 4,254,204, 0, 0, 16, 7, 11,188, 1, 28, 0, 0, 0, 0, 0, 3, 1, 61, 2,141, 3,149, 5,240, 0, 12, 0, 28, 0, 44, - 0, 0, 0, 52, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 34, 19, 34, 7, 6, 21, 20, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 39, - 50, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 2, 22, 24, 23, 34, 37, 23, 24, 24, 25, 70, 36, 87, 43, 44, 44, 43, - 87, 88, 43, 44, 44, 43, 88,149, 76, 76, 76, 76,149,150, 74, 75, 75, 76, 4, 32, 64, 23, 22, 22, 23, 32, 33, 20, 21, 1,161, 85, - 85,175,174, 85, 85, 85, 85,174,175, 85, 85, 89,110,109,215,214,110,109,109,110,214,215,109,110, 0, 2, 1, 72, 2,156, 3,136, - 6, 3, 0, 9, 0, 13, 0, 0, 1, 33, 17, 51, 21, 33, 53, 51, 17, 35, 19, 51, 21, 35, 1,122, 1, 40,230,253,192,230,180,180, -116,116, 5, 15,253,221, 80, 80, 1,211, 1, 68,130, 0, 0, 0, 0, 2, 1, 12, 2,156, 3,141, 5,223, 0, 10, 0, 13, 0, 53, -179, 11, 0, 12, 2,184, 1, 9,178, 8, 4, 6,186, 1, 10, 0, 0, 1, 21, 64, 11, 14, 12, 9, 11, 7, 87, 3, 5, 1, 9, 14, - 16,212,212, 60,196,236, 50, 17, 57, 49, 0, 16,244,244,212, 60,236, 50, 17, 57, 48, 1, 51, 17, 51, 21, 35, 21, 35, 53, 33, 53, - 9, 1, 33, 2,119,162,116,116,138,254,125, 1,131,254,238, 1, 18, 5,223,253,230,111,186,186,121, 1,147,254, 99, 0, 0, 0, - 0, 1, 1, 63, 2,141, 3,125, 5,223, 0, 33, 0, 0, 1, 33, 21, 33, 21, 62, 1, 51, 50, 23, 22, 21, 20, 7, 6, 35, 34, 38, - 39, 53, 22, 23, 22, 51, 50, 54, 53, 52, 38, 35, 34, 7, 6, 7, 1,102, 1,214,254,157, 26, 54, 28,144, 84, 84, 88, 89,153, 74, -122, 48, 52, 63, 57, 60,104,112,116,103, 51, 47, 48, 44, 5,223, 95,204, 9, 8, 77, 76,131,132, 76, 76, 18, 18,114, 26, 15, 14, - 98, 91, 89,100, 10, 11, 20, 0, 0, 2, 1, 73, 2,141, 3,161, 5,240, 0, 29, 0, 41, 0, 0, 1, 21, 46, 1, 35, 34, 7, 6, - 21, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 35, 34, 38, 53, 52, 54, 51, 50, 23, 22, 3, 34, 6, 20, 22, 51, 50, 55, 54, 52, - 39, 38, 3, 93, 39, 88, 48,119, 62, 61, 32, 50, 53, 68,135, 73, 74, 76, 76,137,161,150,180,171, 46, 46, 46,180, 80, 92, 92, 80, - 83, 42, 42, 42, 42, 5,207,104, 20, 22, 81, 81,158, 59, 28, 30, 74, 74,137,135, 75, 74,208,225,212,222, 9, 8,254,142,104,184, -104, 50, 49,194, 49, 50, 0, 0, 0, 1, 1, 61, 2,156, 3,133, 5,223, 0, 6, 0, 0, 1, 33, 21, 1, 35, 1, 33, 1, 61, 2, - 72,254,180,131, 1, 67,254, 68, 5,223, 48,252,237, 2,228, 0, 0, 3, 1, 59, 2,140, 3,150, 5,238, 0, 14, 0, 46, 0, 61, - 0, 0, 1, 34, 7, 6, 20, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 21, 20, 7, - 6, 7, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 55, 20, 23, 22, 51, 50, 55, 54, 53, 52, 38, 35, 34, 7, 6, - 2,104, 84, 45, 46, 46, 47, 82, 85, 45, 46, 46, 47,192, 80, 45, 45, 75, 75,129,130, 75, 75, 45, 45, 80, 93, 49, 50, 80, 80,142, -141, 80, 80, 50, 49, 48, 39, 40, 75, 76, 40, 39, 78, 77, 75, 40, 39, 4, 41, 43, 42,154, 43, 43, 42, 43, 78, 77, 42, 43, 47, 18, - 50, 51, 71, 99, 59, 58, 58, 59, 99, 71, 51, 50, 18, 19, 56, 56, 89,113, 63, 64, 63, 64,112, 90, 56, 56,198, 67, 35, 36, 36, 35, - 67, 68, 72, 36, 36, 0, 0, 0, 0, 2, 1, 48, 2,141, 3,136, 5,240, 0, 15, 0, 46, 0, 0, 1, 50, 55, 54, 53, 52, 39, 38, - 35, 34, 7, 6, 21, 20, 23, 22, 3, 53, 30, 1, 51, 50, 55, 54, 53, 14, 1, 35, 34, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 21, - 20, 7, 6, 35, 34, 39, 38, 2, 83, 80, 45, 46, 46, 45, 80, 83, 43, 42, 42, 42,140, 40, 88, 47,120, 61, 61, 29,106, 68,136, 72, - 73, 75, 76,137,162, 75, 75, 90, 91,172, 45, 46, 46, 4, 15, 52, 52, 93, 92, 52, 52, 50, 49, 97, 98, 50, 49,254,159,104, 20, 22, - 81, 80,158, 56, 60, 74, 75,137,135, 74, 74,104,105,225,211,111,111, 8, 9, 0, 0, 1, 1, 28, 2,219, 3,182, 5, 44, 0, 11, - 0, 0, 1, 21, 33, 21, 33, 21, 35, 53, 33, 53, 33, 53, 2,158, 1, 24,254,232,106,254,232, 1, 24, 5, 44,249, 95,249,249, 95, -249, 0, 0, 0, 0, 1, 1, 28, 3,212, 3,182, 4, 51, 0, 3, 0, 0, 1, 33, 21, 33, 1, 28, 2,154,253,102, 4, 51, 95, 0, - 0, 2, 1, 28, 3, 97, 3,182, 4,165, 0, 3, 0, 7, 0, 0, 1, 33, 21, 33, 17, 33, 21, 33, 1, 28, 2,154,253,102, 2,154, -253,102, 3,193, 96, 1, 68, 95, 0, 1, 1,216, 2, 5, 2,250, 6, 2, 0, 12, 0, 0, 1, 14, 1, 21, 20, 22, 23, 35, 46, 1, - 52, 54, 55, 2,250, 84, 84, 84, 84,102, 94, 94, 94, 94, 6, 2,127,254,129,128,254,129,133,253,250,253,132, 0, 0, 1, 1,216, - 2, 5, 2,249, 6, 2, 0, 13, 0, 0, 1, 51, 30, 1, 21, 20, 6, 7, 35, 62, 1, 53, 52, 38, 1,216,101, 95, 93, 93, 95,101, - 84, 83, 83, 6, 2,132,253,125,126,253,132,130,254,127,128,254, 0, 1, 1, 65, 2,156, 3,144, 5, 31, 0, 19, 0, 32, 64, 6, - 0, 3, 14, 10, 11, 20, 16,212,220, 60, 47,204, 75, 49, 0, 64, 6, 6, 17, 12, 2, 11, 20, 16,212, 60,196,212,204, 48, 1, 17, - 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 22, 3,144,116, 78, 78, 94,108,117,117, 41,113, 74,121,125, - 4, 23,254,133, 1,119, 89, 89,107, 92,254,158, 2,115, 97, 56, 56,134, 0, 0,255,255, 1, 61,255,241, 3,149, 3, 84, 16, 7, - 6,168, 0, 0,253,100, 0, 0,255,255, 1, 88, 0, 0, 3,147, 3, 67, 16, 7, 0,123, 0, 0,253,100, 0, 0,255,255, 1, 66, - 0, 0, 3,125, 3, 84, 16, 7, 0,116, 0, 0,253,100, 0, 0,255,255, 1, 70,255,241, 3,156, 3, 84, 16, 7, 0,117, 0, 0, -253,100, 0, 0,255,255, 1, 12, 0, 0, 3,141, 3, 67, 16, 7, 6,170, 0, 0,253,100, 0, 0,255,255, 1, 63,255,241, 3,125, - 3, 67, 16, 7, 6,171, 0, 0,253,100, 0, 0,255,255, 1, 73,255,241, 3,161, 3, 84, 16, 7, 6,172, 0, 0,253,100, 0, 0, -255,255, 1, 61, 0, 0, 3,133, 3, 67, 16, 7, 6,173, 0, 0,253,100, 0, 0,255,255, 1, 59,255,240, 3,150, 3, 82, 16, 7, - 6,174, 0, 0,253,100, 0, 0,255,255, 1, 48,255,241, 3,136, 3, 84, 16, 7, 6,175, 0, 0,253,100, 0, 0,255,255, 1, 28, - 0, 63, 3,182, 2,144, 16, 7, 6,176, 0, 0,253,100, 0, 0,255,255, 1, 28, 1, 56, 3,182, 1,151, 16, 7, 6,177, 0, 0, -253,100, 0, 0,255,255, 1, 28, 0,197, 3,182, 2, 9, 16, 7, 6,178, 0, 0,253,100, 0, 0,255,255, 1,216,255,105, 2,250, - 3,102, 16, 7, 6,179, 0, 0,253,100, 0, 0,255,255, 1,216,255,105, 2,249, 3,102, 16, 7, 6,180, 0, 0,253,100, 0, 0, -255,255, 1, 69,255,240, 3,140, 2,130, 16, 7, 4,193, 0, 0,253,100, 0, 0,255,255, 1, 49,255,240, 3,160, 2,130, 16, 7, - 4,199, 0, 0,253,100, 0, 0,255,255, 1, 58,255,240, 3,151, 2,130, 16, 7, 4,208, 0, 0,253,100, 0, 0,255,255, 1, 18, - 0, 0, 3,191, 2,115, 16, 7, 2,116, 0, 0,253,100, 0, 0,255,255, 1, 49,255,240, 3,160, 2,130, 16, 7, 4,200, 0, 0, -253,100, 0, 0, 0, 5, 0, 0, 0, 0, 4,209, 5,213, 0, 2, 0, 6, 0, 34, 0, 38, 0, 41, 0, 0, 1, 39, 21, 19, 39, 35, - 21, 3, 33, 19, 51, 17, 51, 17, 51, 21, 35, 21, 51, 21, 35, 17, 33, 3, 35, 17, 35, 17, 35, 53, 51, 53, 35, 53, 51, 5, 23, 51, - 53, 3, 23, 53, 1,181, 79,183, 57,126,196, 1, 16,211,230,196,162,162,162,162,254,240,211,230,196,162,162,162,162, 2, 18, 57, -126, 79, 79, 3,175,206,206,254,242,147,147, 3, 52,253,218, 2, 38,253,218,123,147,123,253,218, 2, 38,253,218, 2, 38,123,147, -123,123,147,147,254,242,206,206, 0, 1, 0, 37,255,227, 4, 37, 5,240, 0, 51, 0,112, 64, 60, 13, 0,231, 49, 15, 38, 24,231, - 22, 31,179, 32,178, 28,151, 40, 22, 35, 7,179, 6,178, 10,151, 3,150, 35,153, 52, 51, 40, 39, 49, 41, 45, 24, 22, 16, 3, 19, - 15, 23, 14, 38, 0, 45, 25, 13, 23, 19, 14, 50, 39, 19, 30, 31, 6, 23, 45, 52, 16,212,196,196, 50,236,196, 50,196, 17, 18, 57, - 57, 18, 57, 57, 17, 18, 57, 17, 23, 57, 18, 57, 57, 17, 57, 57, 49, 0, 16,228,244,236,244,236, 16,198, 50,238,246,238, 16,238, - 50,213, 60,238, 50, 48, 19, 18, 0, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 7, 33, 7, 33, 14, 1, 21, 20, 22, 23, 33, 7, 33, - 30, 1, 51, 50, 54, 55, 21, 14, 1, 35, 34, 0, 3, 35, 55, 51, 38, 39, 38, 53, 52, 55, 54, 55, 35, 55,211, 48, 1, 18,223, 84, -147, 74, 66,159, 78,146,174, 24, 1,225, 49,254, 70, 2, 1, 1, 1, 1,105, 49,254,211, 23,174,147, 79,157, 67, 72,148, 85,226, -254,237, 44,174, 49,117, 1, 1, 2, 2, 1, 1,166, 49, 3,180, 1, 27, 1, 33, 40, 42,207, 61, 68,208,204,108, 20, 45, 46, 15, - 38, 23,110,203,209, 67, 62,207, 42, 40, 1, 32, 1, 28,110, 12, 20, 45, 15, 18, 47, 19, 11,108, 0, 4, 0,106, 0, 0, 4,209, - 5,213, 0, 26, 0, 31, 0, 36, 0, 41, 0, 0, 19, 33, 32, 19, 51, 21, 35, 22, 7, 51, 21, 35, 6, 7, 6, 43, 1, 17, 35, 17, - 35, 53, 51, 53, 35, 53, 51, 55, 21, 33, 38, 35, 19, 33, 21, 51, 50, 55, 54, 39, 33, 21,197, 1,180, 1,130, 94,120, 95, 9, 8, - 94,114, 38, 97,126,225,234,202, 91, 91, 91, 91,202, 1,220, 77,165,253,254, 25,234,177,117, 7, 9,253,242, 5,213,254,247,116, - 58, 57,115,123, 70, 89,253,168, 3,114,115,115,116, 99, 99, 99,254, 67,116,231, 59, 56,115, 0, 0, 1, 0, 0,255,227, 4,209, - 5,240, 0, 54, 0, 0, 1, 54, 55, 54, 53, 52, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 4, 21, 20, 7, 51, 21, 35, 6, 15, 1, - 33, 21, 33, 6, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 36, 53, 52, 55, 35, 53, 51, 54, 55, 54, 55, 33, 53, 3, 63, 10, - 9, 55,166,143, 94,185, 92,105,190, 86,223, 1, 13, 21,156,233, 94,204, 39, 2, 58,252,167, 44,170,153,104,205,115,107,212,105, -252,254,248, 18,157,217, 9, 9, 72,136,254, 69, 3,175, 7, 9, 52, 99,113,133, 60, 59,205, 39, 39,241,200, 75, 61,123, 91, 47, - 9,123, 57, 98,123,137, 68, 73,215, 45, 45,224,213, 78, 64,123, 11, 10, 79, 47,123, 0, 0, 0, 0, 2, 0,130,254,211, 4, 79, - 6, 20, 0, 33, 0, 44, 0, 0, 1, 21, 38, 39, 38, 35, 17, 50, 55, 54, 55, 21, 6, 7, 6, 7, 17, 35, 17, 38, 39, 38, 17, 53, - 16, 55, 54, 55, 53, 55, 21, 22, 23, 22, 1, 3, 6, 7, 6, 7, 6, 23, 22, 23, 22, 4, 79, 91, 84, 85,101,101, 85, 84, 91, 89, - 92, 89, 91,100,185,115,212,212,121,178,101, 93, 89, 92,254,138, 1, 91, 67,118, 15, 14, 14, 25,108, 67, 4,164,213,105, 45, 45, -251,241, 45, 45,105,211, 72, 36, 34, 2,254,240, 1, 21, 23,117,214, 1, 57, 17, 1, 66,203,116, 23,230, 2,226, 2, 34, 35,251, -163, 3,249, 23, 66,117,170,161,102,180,108, 67, 0, 2, 0,140,255,228, 4, 49, 5,240, 0, 23, 0, 32, 0, 0, 37, 22, 51, 50, - 54, 55, 21, 14, 1, 35, 32, 0, 17, 16, 0, 33, 50, 22, 23, 21, 46, 1, 34, 15, 1, 6, 7, 6, 17, 16, 23, 22, 23, 2, 1, 95, -124,100,157, 84, 9,200,132,254,248,254,184, 1, 69, 1, 22,125,144, 61, 91,126,232,111,105, 8, 11,137,134, 12, 10,131, 55, 64, - 44,131, 5, 76, 1,168, 1, 93, 1,114, 1,149, 52, 30,130, 42, 58, 48, 78, 8, 14,178,254,175,254,204,190, 17, 11, 0, 0, 0, - 0, 1, 0, 84, 0, 0, 4, 72, 6, 20, 0, 26, 0, 0, 1, 3, 35, 19, 54, 55, 54, 53, 52, 38, 35, 34, 6, 7, 3, 35, 1, 51, - 3, 62, 1, 51, 50, 22, 21, 20, 6, 4, 51,135,184,135, 1, 2, 15, 93, 87,127,178, 33,123,184, 1, 47,184,116, 75,175, 98,139, -154, 11, 2,182,253, 74, 2,183, 4, 10, 71, 39, 81, 87,186,168,253,135, 6, 20,253,164, 97, 98,145,130, 32, 94, 0, 4, 0, 10, - 0, 0, 4,199, 5,213, 0, 3, 0, 9, 0, 13, 0, 35, 0, 0, 0, 32, 16, 32, 19, 34, 16, 51, 50, 16, 3, 33, 21, 33, 1, 17, - 51, 19, 17, 52, 54, 51, 21, 34, 6, 21, 17, 35, 3, 17, 20, 6, 35, 53, 50, 54, 3,101, 1, 98,254,158,177, 50, 50, 51,228, 1, - 98,254,158,253, 32,245,204, 87,220, 85, 38,245,204, 87,220, 85, 38, 3, 12,253,234, 1,149,254,236, 1, 20,254, 9,148, 1, 49, - 4,164,251, 81, 3,126,131,174,184, 62, 59,251, 92, 4,175,252,130,131,174,184, 62, 0, 0, 0, 0, 2, 0, 0, 3,147, 4,102, - 5,213, 0, 7, 0, 20, 0,104, 64, 54, 15, 9, 10, 9, 14, 10, 10, 9, 17, 8, 9, 8, 16, 9, 9, 8, 66, 17, 14, 9, 3, 1, - 15, 18, 12, 3, 5, 1,215, 10, 8, 0,136, 21, 16, 15, 10, 9, 8, 5, 17, 13, 96, 11, 17, 96, 19, 0, 95, 2, 96, 4, 95, 6, - 47,252,254,236,213,238,214,238, 17, 23, 57, 49, 0, 16,244, 60, 60,236, 50,212, 60, 60,196, 17, 23, 57, 48, 75, 83, 88, 7, 16, - 5,201, 7, 16, 4,201, 7, 16, 4,201, 7, 16, 5,201, 89, 34, 1, 21, 35, 17, 35, 17, 35, 53, 33, 27, 1, 51, 17, 35, 17, 3, - 35, 3, 17, 35, 17, 1,182,162,114,162, 2,180,137,125,172,114,156, 55,166,113, 5,213, 94,254, 28, 1,228, 94,255, 0, 1, 0, -253,190, 1,226,254,211, 1, 45,254, 30, 2, 66,255,255, 0, 74, 0, 0, 4,135, 5,180, 16, 6, 2,229, 0, 0,255,255, 0,137, - 0, 0, 4,201, 5,213, 16, 6, 0, 46, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7,109, 16, 6, 0,135, 0, 0,255,255, 0, 27, -254,227, 4,101, 6,123, 16, 39, 0,117, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 0,123,254,254, 0,156,255,255, 0, 27, -254,227, 4,101, 6,140, 16, 39, 0,117, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 0,116,254,254, 0,156,255,255, 0, 27, -254,227, 4, 90, 6,123, 16, 39, 6,171, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 0,123,254,254, 0,156,255,255, 0, 27, -254,227, 4, 90, 6,140, 16, 39, 6,171, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 0,116,254,254, 0,156,255,255, 0, 27, -254,227, 4, 90, 6,140, 16, 39, 6,171, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 0,117,254,254, 0,156,255,255, 0, 10, -254,227, 4, 90, 6,123, 16, 39, 6,171, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 6,170,254,254, 0,156,255,255, 0, 27, -254,227, 4,106, 6,123, 16, 39, 6,172, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 0,123,254,254, 0,156,255,255, 0, 27, -254,227, 4,106, 6,123, 16, 39, 6,172, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 6,171,254,254, 0,156,255,255, 0, 27, -254,226, 4, 95, 6,123, 16, 39, 6,174, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 0,123,254,254, 0,156,255,255, 0, 27, -254,226, 4, 95, 6,140, 16, 39, 6,174, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 0,117,254,254, 0,156,255,255, 0, 27, -254,226, 4, 95, 6,123, 16, 39, 6,174, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 6,171,254,254, 0,156,255,255, 0, 27, -254,226, 4, 95, 6,123, 16, 39, 6,174, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 6,173,254,254, 0,156,255,255, 0, 27, - 1,248, 4, 90, 6,123, 16, 38, 11,182, 0, 0, 16, 7, 0,123,254,254, 0,156, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 9, - 0, 0, 19, 53, 1, 23, 7, 33, 21, 33, 23, 7, 66, 1, 35, 90,160, 3,112,252,144,160, 90, 2, 8, 82, 1, 35, 90,160,164,160, - 90, 0, 0, 0, 0, 1, 1, 28, 0, 0, 3,181, 4, 77, 0, 9, 0, 0, 9, 1, 7, 39, 17, 35, 17, 7, 39, 1, 2,146, 1, 34, - 90,160,164,160, 90, 1, 36, 4, 77,254,221, 90,160,252,144, 3,112,160, 90, 1, 35, 0, 0, 0, 0, 1, 0, 66, 0,229, 4,143, - 3,125, 0, 9, 0, 0, 9, 1, 39, 55, 33, 53, 33, 39, 55, 1, 4,143,254,221, 90,160,252,144, 3,112,160, 90, 1, 35, 2, 8, -254,221, 90,160,164,160, 90,254,221, 0, 0, 0, 0, 1, 1, 28, 0, 0, 3,181, 4, 77, 0, 9, 0, 0, 33, 1, 55, 23, 17, 51, - 17, 55, 23, 1, 2, 64,254,220, 90,160,164,160, 90,254,222, 1, 35, 90,160, 3,112,252,144,160, 90,254,221, 0, 0, 1, 0, 66, - 0,229, 4,143, 3,125, 0, 15, 0, 0, 1, 33, 23, 7, 1, 53, 1, 23, 7, 33, 39, 55, 1, 21, 1, 39, 3,178,253,109,160, 90, -254,221, 1, 35, 90,160, 2,147,160, 90, 1, 35,254,221, 90, 1,223,160, 90, 1, 35, 82, 1, 35, 90,160,160, 90,254,221, 82,254, -221, 90, 0, 0, 0, 1, 1, 28, 0, 0, 3,181, 4, 77, 0, 15, 0, 0, 37, 55, 23, 1, 35, 1, 55, 23, 17, 7, 39, 1, 51, 1, - 7, 39, 2,186,160, 90,254,222, 82,254,220, 90,160,160, 90, 1, 36, 82, 1, 34, 90,160,221,160, 90,254,221, 1, 35, 90,160, 2, -147,160, 90, 1, 35,254,221, 90,160, 0, 0, 0, 0, 1, 0,184, 0, 0, 4, 25, 3, 97, 0, 9, 0, 0, 19, 55, 33, 21, 35, 1, - 7, 1, 21, 35,184, 58, 1,156,227, 2,110,116,253,146,127, 3, 39, 58,127,253,146,116, 2,110,227, 0, 0, 0, 0, 1, 0,184, - 0, 0, 4, 25, 3, 97, 0, 9, 0, 0, 1, 17, 35, 53, 1, 39, 1, 35, 53, 33, 4, 25,127,253,146,116, 2,110,227, 1,156, 3, - 39,254,100,227,253,146,116, 2,110,127, 0, 0, 0, 1, 0,184, 0, 0, 4, 25, 3, 97, 0, 9, 0, 0, 41, 1, 53, 51, 1, 55, - 1, 53, 51, 17, 3,223,254,100,227,253,146,116, 2,110,127,127, 2,110,116,253,146,227,254,100, 0, 1, 0,184, 0, 0, 4, 25, - 3, 97, 0, 9, 0, 0, 55, 17, 51, 21, 1, 23, 1, 51, 21, 33,184,127, 2,110,116,253,146,227,254,100, 58, 1,156,227, 2,110, -116,253,146,127, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 17, 0, 0, 1, 51, 21, 33, 7, 39, 55, 33, 23, 7, 1, 53, 1, 23, - 7, 33, 55, 23, 3,193,206,254,209,147,142, 99,254,125,160, 90,254,221, 1, 35, 90,160, 1,227,148,142, 2,131,164,250, 82,168, -160, 90, 1, 35, 82, 1, 35, 90,160,250, 82, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 17, 0, 0, 1, 35, 53, 33, 55, 23, - 7, 33, 39, 55, 1, 21, 1, 39, 55, 33, 7, 39, 1, 16,206, 1, 47,147,142, 99, 1,131,160, 90, 1, 35,254,221, 90,160,254, 29, -148,142, 1,223,164,250, 82,168,160, 90,254,221, 82,254,221, 90,160,250, 82, 0, 0, 1, 0, 89, 1,139, 4,120, 3, 97, 0, 53, - 0, 0, 1, 22, 23, 22, 23, 22, 51, 50, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 7, 38, 39, 38, 39, - 38, 35, 34, 7, 14, 1, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 47, 1, 21, 35, 17, 55, 33, 21, 1, 36, 7,102, 18, 32, 25, 33, - 31, 26, 24, 26, 21, 13, 17, 43, 33, 51, 45, 54, 56, 43, 50, 34, 44, 24,106, 5, 33, 17, 33, 24, 33, 28, 28, 25, 51, 10, 14, 46, - 30, 54, 43, 56, 53, 46, 48, 36,109,127, 58, 1,156, 2,226, 12,119, 21, 18, 15, 15, 12, 29, 22, 39, 48, 55, 41, 27, 23, 23, 28, - 40, 54, 59, 67, 18, 43, 22, 19, 14, 14, 12, 58, 32, 44, 58, 39, 29, 24, 24, 25, 43,128,224, 1,156, 58,127, 0, 0, 1, 0, 89, - 1,139, 4,120, 3, 97, 0, 53, 0, 0, 1, 33, 53, 33, 23, 17, 35, 53, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 46, 1, 39, - 38, 35, 34, 7, 6, 7, 6, 7, 39, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 23, 22, 23, 22, 51, 50, 55, 54, 55, 54, - 3,173,254,245, 1,156, 58,127,109, 36, 48, 46, 53, 56, 43, 54, 30, 46, 14, 10, 51, 25, 28, 28, 33, 24, 33, 17, 33, 5,106, 24, - 44, 34, 50, 43, 56, 54, 45, 51, 33, 43, 17, 13, 21, 26, 24, 26, 31, 33, 25, 32, 18,102, 2,226,127, 58,254,100,224,128, 43, 25, - 24, 24, 29, 39, 58, 44, 32, 58, 12, 14, 14, 19, 22, 43, 18, 67, 59, 54, 40, 28, 23, 23, 27, 41, 55, 48, 39, 22, 29, 12, 15, 15, - 18, 21,119, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 17, 0, 0, 1, 33, 21, 33, 23, 7, 39, 35, 23, 7, 1, 53, 1, 23, - 7, 51, 55, 23, 2,105, 2, 38,253,218,160, 90,250,150,160, 90,254,221, 1, 35, 90,160,150,250, 90, 2,131,164,160, 90,250,160, - 90, 1, 35, 82, 1, 35, 90,160,250, 90, 0, 0, 0, 1, 1, 28, 0, 0, 3,181, 4, 77, 0, 17, 0, 0, 1, 7, 39, 55, 53, 7, - 39, 1, 51, 1, 7, 39, 21, 23, 7, 39, 17, 35, 2, 22,160, 90,250,160, 90, 1, 36, 82, 1, 34, 90,160,250, 90,160,164, 2, 38, -160, 90,250,150,160, 90, 1, 35,254,221, 90,160,150,250, 90,160,253,218, 0, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 17, - 0, 0, 1, 39, 55, 23, 51, 39, 55, 1, 21, 1, 39, 55, 35, 7, 39, 55, 33, 53, 2,104,160, 90,250,150,160, 90, 1, 35,254,221, - 90,160,150,250, 90,160,253,218, 2,131,160, 90,250,160, 90,254,221, 82,254,221, 90,160,250, 90,160,164, 0, 0, 0, 1, 1, 28, - 0, 0, 3,181, 4, 77, 0, 17, 0, 0, 1, 55, 23, 7, 21, 55, 23, 1, 35, 1, 55, 23, 53, 39, 55, 23, 17, 51, 2,186,160, 90, -250,160, 90,254,222, 82,254,220, 90,160,250, 90,160,164, 2, 39,160, 90,250,150,160, 90,254,221, 1, 35, 90,160,150,250, 90,160, - 2, 38, 0, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 14, 0, 0, 1, 23, 7, 39, 33, 23, 7, 1, 53, 1, 23, 7, 33, 55, - 23, 3,157,242, 90,250,253,228,160, 90,254,221, 1, 35, 90,160, 2, 28,250, 90, 2, 49,242, 90,250,160, 90, 1, 35, 82, 1, 35, - 90,160,250, 90, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 14, 0, 0, 1, 39, 55, 23, 33, 39, 55, 1, 21, 1, 39, 55, 33, 7, - 39, 1, 52,242, 90,250, 2, 28,160, 90, 1, 35,254,221, 90,160,253,228,250, 90, 2, 49,242, 90,250,160, 90,254,221, 82,254,221, - 90,160,250, 90, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 13, 0, 0, 1, 53, 51, 17, 35, 53, 33, 23, 7, 1, 53, 1, 23, 7, - 3,235,164,164,253, 52,160, 90,254,221, 1, 35, 90,160, 2,131,250,253,104,250,160, 90, 1, 35, 82, 1, 35, 90,160, 0, 0, 0, - 0, 1, 1, 28, 0, 0, 3,181, 4, 77, 0, 13, 0, 0, 37, 17, 7, 39, 1, 51, 1, 7, 39, 17, 51, 21, 33, 53, 2, 22,160, 90, - 1, 36, 82, 1, 34, 90,160,250,253,104,164, 2,204,160, 90, 1, 35,254,221, 90,160,253, 52,164,164, 0, 0, 0, 0, 1, 0, 66, - 0,229, 4,143, 3,125, 0, 13, 0, 0, 19, 33, 39, 55, 1, 21, 1, 39, 55, 33, 21, 35, 17, 51,230, 2,204,160, 90, 1, 35,254, -221, 90,160,253, 52,164,164, 2,131,160, 90,254,221, 82,254,221, 90,160,250, 2,152, 0, 0, 0, 0, 1, 1, 28, 0, 0, 3,181, - 4, 77, 0, 13, 0, 0, 1, 17, 55, 23, 1, 35, 1, 55, 23, 17, 35, 53, 33, 21, 2,186,160, 90,254,222, 82,254,220, 90,160,250, - 2,152, 3,169,253, 52,160, 90,254,221, 1, 35, 90,160, 2,204,164,164, 0, 0, 0, 1, 1, 28, 0, 0, 3,181, 4, 77, 0, 19, - 0, 0, 37, 39, 55, 23, 17, 7, 39, 1, 51, 1, 7, 39, 17, 55, 23, 7, 51, 21, 33, 53, 2, 22,250, 90,160,160, 90, 1, 36, 82, - 1, 34, 90,160,160, 90,250,250,253,104,164,250, 90,160, 2, 24,160, 90, 1, 35,254,221, 90,160,253,232,160, 90,250,164,164, 0, - 0, 1, 0, 66, 0,229, 4,143, 4, 35, 0, 40, 0, 0, 1, 50, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 39, 38, 35, 53, - 50, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 33, 23, 7, 1, 53, 1, 23, 7, 3,100, 30, 26, 23, 19, 17, 10, 10, - 9, 10, 18, 16, 26, 23, 25, 62, 98, 45, 42, 22, 22, 21, 20, 44, 37, 58, 48, 31,253,147,160, 90,254,221, 1, 35, 90,160, 2,131, - 10, 9, 18, 17, 23, 24, 25, 27, 21, 23, 18, 16, 11, 10,164, 42, 43, 40, 53, 52, 60, 56, 53, 50, 46, 38, 26, 21,160, 90, 1, 35, - 82, 1, 35, 90,160, 0, 0, 0, 0, 1, 0, 66, 0,229, 4,143, 4, 35, 0, 41, 0, 0, 1, 33, 39, 55, 1, 21, 1, 39, 55, 33, - 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 21, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, - 1,109, 2, 69,160, 90, 1, 35,254,221, 90,160,253,147, 31, 48, 58, 37, 44, 20, 21, 22, 22, 42, 45, 49, 49, 62, 25, 23, 26, 16, - 18, 10, 9, 10, 10, 17, 19, 23, 26, 2,131,160, 90,254,221, 82,254,221, 90,160, 21, 26, 38, 46, 50, 53, 56, 60, 52, 53, 40, 43, - 21, 21,164, 10, 11, 16, 18, 23, 21, 27, 25, 24, 23, 17, 18, 9, 10, 0, 0, 0, 0, 2, 0, 66, 0,229, 4,143, 4, 35, 0, 36, - 0, 62, 0, 0, 1, 50, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 43, 1, 21, 35, 53, 33, 23, 7, 1, 53, 1, 23, 7, - 33, 53, 52, 55, 54, 55, 54, 55, 54, 23, 34, 7, 6, 7, 6, 7, 6, 29, 1, 51, 50, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, - 38, 39, 38, 3,108, 62, 98, 45, 42, 22, 22, 21, 20, 44, 37, 58, 48, 31,151,164,254,206,160, 90,254,221, 1, 35, 90,160, 1, 50, - 21, 22, 41, 45, 48, 49, 57, 17, 26, 22, 18, 15, 12, 9,111, 30, 26, 23, 19, 17, 10, 10, 9, 10, 18, 16, 26, 23, 4, 35, 42, 43, - 40, 53, 52, 60, 56, 53, 50, 46, 38, 26, 21,213,213,160, 90, 1, 35, 82, 1, 35, 90,160,125, 59, 52, 55, 40, 43, 21, 20,163, 10, - 10, 17, 15, 27, 22, 26,125, 10, 9, 18, 17, 23, 24, 25, 27, 21, 23, 18, 16, 11, 10, 0, 0, 0, 0, 2, 0, 65, 0,229, 4,143, - 4, 35, 0, 37, 0, 63, 0, 0, 1, 22, 23, 22, 23, 22, 23, 22, 29, 1, 33, 39, 55, 1, 21, 1, 39, 55, 33, 21, 35, 53, 35, 34, - 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 23, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 59, 1, - 53, 52, 39, 38, 39, 38, 39, 38, 1,101, 57, 49, 48, 45, 41, 22, 21, 1, 50,160, 90, 1, 35,254,221, 90,160,254,206,164,151, 31, - 48, 58, 37, 44, 20, 21, 22, 22, 42, 45, 49, 49, 62, 25, 23, 26, 16, 18, 10, 9, 10, 10, 17, 19, 23, 26, 30,111, 9, 12, 15, 18, - 22, 26, 4, 35, 1, 20, 21, 43, 40, 55, 52, 59,125,160, 90,254,221, 82,254,221, 90,160,213,213, 21, 26, 38, 46, 50, 53, 56, 60, - 52, 53, 40, 43, 21, 21,164, 10, 11, 16, 18, 23, 21, 27, 25, 24, 23, 17, 18, 9, 10,125, 26, 22, 27, 15, 17, 10, 10, 0, 0, 0, - 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 88, 0, 0, 1, 51, 22, 23, 22, 23, 30, 1, 50, 54, 55, 54, 55, 54, 55, 54, 55, 54, - 51, 50, 23, 22, 23, 22, 23, 22, 23, 30, 1, 50, 54, 55, 54, 55, 54, 63, 1, 39, 55, 1, 21, 1, 39, 55, 35, 38, 7, 6, 7, 6, - 7, 6, 34, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 34, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 34, 39, 38, 39, 38, 39, 38, 7, - 35, 23, 7, 1, 53, 1, 23, 1, 31, 8, 33, 24, 24, 25, 7, 16, 19, 16, 7, 7, 4, 11, 22, 23, 26, 27, 31, 33, 25, 30, 19, 22, - 11, 3, 7, 7, 17, 18, 17, 7, 30, 19, 23, 26, 15,160, 90, 1, 35,254,221, 90,160, 6, 12, 6, 9, 7, 27, 21, 27, 62, 27, 27, - 22, 25, 8, 3, 7, 7, 9, 8, 19, 8, 8, 7, 7, 3, 8, 26, 21, 28, 26, 62, 27, 24, 25, 7, 9, 6, 11, 7,160, 90,254,221, - 1, 35, 90, 2,131, 3, 16, 17, 34, 9, 11, 11, 9, 12, 12, 42, 33, 35, 16, 17, 17, 21, 30, 36, 39, 12, 12, 9, 11, 11, 9, 42, - 9, 12, 4, 3,160, 90,254,221, 82,254,221, 90,160, 1, 5, 5, 10, 37, 13, 17, 17, 18, 32, 39, 37, 12, 11, 10, 5, 6, 6, 5, - 10, 8, 15, 37, 39, 32, 18, 17, 17, 16, 34, 10, 5, 5, 1,160, 90, 1, 35, 82, 1, 35, 90, 0, 0, 1, 0, 66, 0,209, 4,143, - 3,145, 0, 23, 0, 0, 1, 33, 3, 39, 55, 35, 23, 7, 1, 53, 1, 23, 7, 33, 19, 23, 7, 51, 39, 55, 1, 21, 1, 39, 3,178, -254,232, 60,140, 50,229,160, 90,254,221, 1, 35, 90,160, 1, 6, 60,140, 50,247,160, 90, 1, 35,254,221, 90, 1,223,254,242, 32, -238,160, 90, 1, 35, 82, 1, 35, 90,160, 1, 14, 32,238,160, 90,254,221, 82,254,221, 90, 0, 0, 0, 1, 0,113, 0, 0, 4, 96, - 5,149, 0, 13, 0, 0, 37, 55, 23, 5, 39, 3, 55, 23, 19, 1, 19, 23, 3, 1, 3, 93,184, 74,254,177, 81,239,103,132,122,253, - 61,151,160, 90, 2,195,211,132,104,239, 13, 1, 80, 74,185, 2,212,254, 86, 3,125, 30,253,236, 1,170, 0, 0, 0, 1, 0,183, - 0, 0, 4, 26, 5,101, 0, 11, 0, 0, 1, 23, 7, 1, 53, 1, 23, 7, 33, 17, 35, 17, 1,148,160, 90,254,222, 1, 34, 90,160, - 2,134,164, 3,199,160, 90, 1, 35, 82, 1, 35, 90,160,251,149, 3,199, 0, 0, 0, 1, 0,183, 0, 0, 4, 26, 5,101, 0, 11, - 0, 0, 1, 33, 17, 35, 17, 33, 39, 55, 1, 21, 1, 39, 3, 60,254, 32,164, 2,132,160, 90, 1, 36,254,220, 90, 3,199,252, 57, - 4,107,160, 90,254,221, 82,254,221, 90, 0, 0, 0, 1, 0,183, 0, 0, 4, 26, 5,101, 0, 11, 0, 0, 1, 33, 17, 51, 17, 33, - 23, 7, 1, 53, 1, 23, 1,148, 1,226,164,253,122,160, 90,254,222, 1, 34, 90, 1,158, 3,199,251,149,160, 90, 1, 35, 82, 1, - 35, 90, 0, 0, 0, 1, 0,183, 0, 0, 4, 26, 5,101, 0, 11, 0, 0, 1, 39, 55, 1, 21, 1, 39, 55, 33, 17, 51, 17, 3, 60, -160, 90, 1, 36,254,220, 90,160,253,124,164, 1,158,160, 90,254,221, 82,254,221, 90,160, 4,107,252, 57, 0, 0, 0, 1, 0,186, - 0, 0, 4, 23, 4, 82, 0, 11, 0, 0, 37, 17, 33, 53, 33, 17, 55, 23, 1, 35, 1, 55, 2,121,254, 65, 2, 99,160, 90,254,221, - 82,254,221, 90,221, 2,209,164,252,139,160, 90,254,221, 1, 35, 90, 0, 0, 0, 0, 1, 0, 63, 0, 0, 4,146, 3, 93, 0, 11, - 0, 0, 1, 33, 17, 51, 17, 33, 23, 7, 1, 53, 1, 23, 1, 28, 2,210,164,252,138,160, 90,254,222, 1, 34, 90, 1,158, 1,191, -253,157,160, 90, 1, 35, 82, 1, 35, 90, 0, 0, 0, 1, 0, 81, 1, 88, 4,128, 3,229, 0, 41, 0, 0, 1, 55, 54, 55, 54, 55, - 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 23, 35, 52, 39, 38, 39, 38, 39, 38, 7, 6, 7, 6, 7, 6, 7, 6, 23, 21, 55, 23, - 1, 35, 1, 55, 1, 75, 1, 1, 36, 30, 60, 57, 74, 71, 84, 87, 68, 76, 55, 58, 32, 30, 1,152, 19, 19, 37, 35, 48, 40, 55, 57, - 41, 46, 37, 36, 20, 17, 2,160, 90,254,221, 82,254,221, 90, 2, 53, 24, 78, 83, 72, 59, 57, 30, 29, 29, 33, 54, 58, 73, 70, 84, - 55, 47, 48, 39, 36, 23, 19, 1, 1, 18, 20, 38, 36, 50, 40, 71, 23,160, 90,254,221, 1, 35, 90, 0, 1, 0, 81, 1, 88, 4,128, - 3,229, 0, 42, 0, 0, 1, 55, 23, 1, 35, 1, 55, 23, 53, 54, 39, 38, 39, 38, 39, 38, 39, 38, 7, 6, 7, 6, 7, 6, 21, 48, - 35, 54, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 23, 3,134,160, 90,254,221, 82,254,221, 90,160, 2, 17, 20, 36, - 37, 46, 41, 57, 55, 40, 48, 35, 37, 19, 19,152, 1, 30, 32, 58, 55, 76, 68, 87, 84, 71, 74, 57, 60, 30, 36, 1, 2, 53,160, 90, -254,221, 1, 35, 90,160, 23, 71, 40, 50, 36, 38, 20, 18, 1, 1, 19, 23, 36, 39, 48, 47, 55, 84, 70, 73, 58, 54, 33, 29, 29, 30, - 57, 59, 72, 83, 78, 0, 0, 0, 0, 2, 0, 50, 0, 0, 4,159, 4, 26, 0, 9, 0, 13, 0, 0, 19, 55, 33, 21, 35, 1, 7, 1, - 21, 35, 3, 53, 33, 21,184, 58, 1,156,227, 2,110,116,253,146,127,134, 4,108, 3, 39, 58,127,253,146,116, 2,110,227, 2, 63, - 80, 80, 0, 0, 0, 2, 0, 66, 0, 0, 4,143, 4,214, 0, 13, 0, 27, 0, 0, 19, 1, 23, 7, 33, 21, 33, 23, 7, 1, 17, 35, - 17, 51, 1, 17, 51, 17, 35, 17, 1, 39, 55, 33, 53, 33, 39, 55,230, 1, 35, 90,160, 2,204,253, 52,160, 90,254,221,164,164, 3, - 5,164,164,254,221, 90,160,253, 52, 2,204,160, 90, 3,179, 1, 35, 90,160,164,160, 90, 1, 35,254,221, 2,152,252,159, 1, 35, -253,104, 1, 35,254,221, 90,160,164,160, 90, 0, 0, 1, 0, 88, 0, 0, 4,121, 3,249, 0, 54, 0, 0, 1, 23, 22, 23, 22, 21, - 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 23, 6, 7, 6, 21, 20, 22, 23, 22, 23, 22, 50, - 55, 54, 55, 62, 1, 53, 52, 39, 38, 47, 1, 21, 35, 17, 55, 33, 21, 3,149, 29, 74, 37, 37, 37, 39, 72, 68, 95, 83,108,104, 88, - 91, 72, 74, 37, 37, 37, 37, 74,119, 52, 24, 25, 50, 50, 45, 65, 56,144, 59, 62, 49, 49, 50, 25, 30, 45, 33,127, 58, 1,156, 3, -122, 29, 74, 90, 91,103,104, 88, 92, 72, 67, 43, 37, 37, 39, 71, 75, 89, 91,101,103, 91, 87, 77,115, 50, 61, 62, 70, 68,123, 50, - 44, 30, 25, 25, 27, 47, 50,123, 68, 70, 62, 72, 39, 28,227, 1,156, 58,127, 0, 0, 1, 0, 88, 0, 0, 4,121, 3,249, 0, 54, - 0, 0, 1, 35, 53, 33, 23, 17, 35, 53, 7, 6, 7, 6, 21, 20, 22, 23, 22, 23, 22, 50, 55, 54, 55, 62, 1, 53, 52, 39, 38, 39, - 55, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 1, 60,227, 1,156, 58,127, - 33, 45, 30, 25, 50, 49, 49, 62, 59,144, 56, 65, 45, 50, 50, 25, 24, 52,119, 74, 37, 37, 37, 37, 74, 72, 91, 88,104,108, 83, 95, - 68, 72, 39, 38, 38, 38, 73, 3,122,127, 58,254,100,227, 28, 39, 72, 62, 70, 68,123, 50, 47, 27, 25, 25, 30, 44, 50,123, 68, 70, - 62, 61, 50,115, 77, 87, 91,103,101, 91, 89, 75, 71, 39, 37, 37, 43, 67, 72, 92, 88,104,103, 91, 91, 73, 0, 0, 0, 1, 0, 66, - 1,223, 4,143, 3,125, 0, 6, 0, 0, 19, 53, 1, 23, 7, 33, 21, 66, 1, 35, 90,160, 3,112, 1,223,123, 1, 35, 90,160,164, - 0, 1, 0, 66, 0,229, 4,143, 2,131, 0, 6, 0, 0, 19, 33, 21, 33, 23, 7, 1, 66, 4, 77,252,144,160, 90,254,221, 2,131, -164,160, 90, 1, 35, 0, 0, 0, 0, 1, 2, 22, 0, 0, 3,181, 4, 77, 0, 6, 0, 0, 1, 51, 1, 7, 39, 17, 35, 2, 22,124, - 1, 34, 90,160,164, 4, 77,254,221, 90,160,252,144, 0, 0, 0, 0, 1, 1, 28, 0, 0, 2,187, 4, 77, 0, 6, 0, 0, 1, 17, - 35, 17, 7, 39, 1, 2,186,164,160, 90, 1, 36, 4, 77,251,179, 3,112,160, 90, 1, 35, 0, 0, 0, 1, 0, 66, 1,223, 4,143, - 3,125, 0, 6, 0, 0, 1, 33, 53, 33, 39, 55, 1, 4,143,251,179, 3,112,160, 90, 1, 35, 1,223,164,160, 90,254,221, 0, 0, - 0, 1, 0, 66, 0,229, 4,143, 2,131, 0, 6, 0, 0, 1, 21, 1, 39, 55, 33, 53, 4,143,254,221, 90,160,252,144, 2,131,123, -254,221, 90,160,164, 0, 0, 0, 0, 1, 2, 22, 0, 0, 3,181, 4, 77, 0, 6, 0, 0, 33, 17, 51, 17, 55, 23, 1, 2, 22,164, -160, 90,254,222, 4, 77,252,144,160, 90,254,221, 0, 1, 1, 71, 0, 0, 2,229, 4, 77, 0, 6, 0, 0, 33, 35, 1, 55, 23, 17, - 51, 2,229,123,254,221, 90,160,164, 1, 35, 90,160, 3,112, 0, 0, 2, 0, 66, 0, 0, 4,143, 4,124, 0, 9, 0, 19, 0, 0, - 9, 1, 39, 55, 33, 53, 33, 39, 55, 9, 1, 53, 1, 23, 7, 33, 21, 33, 23, 7, 4,143,254,221, 90,160,252,144, 3,112,160, 90, - 1, 35,251,179, 1, 35, 90,160, 3,112,252,144,160, 90, 3, 7,254,221, 90,160,164,160, 90,254,221,253,202, 82, 1, 35, 90,160, -164,160, 90, 0, 0, 2, 0, 42, 0, 0, 4,167, 4, 77, 0, 9, 0, 19, 0, 0, 33, 1, 55, 23, 17, 51, 17, 55, 23, 9, 1, 51, - 1, 7, 39, 17, 35, 17, 7, 39, 3, 50,254,220, 90,160,164,160, 90,254,222,253,202, 82, 1, 34, 90,160,164,160, 90, 1, 35, 90, -160, 3,112,252,144,160, 90,254,221, 4, 77,254,221, 90,160,252,144, 3,112,160, 90, 0, 0, 0, 0, 2, 0, 66, 0, 0, 4,143, - 4,124, 0, 9, 0, 19, 0, 0, 1, 21, 1, 39, 55, 33, 53, 33, 39, 55, 37, 1, 23, 7, 33, 21, 33, 23, 7, 1, 4,143,254,221, - 90,160,252,144, 3,112,160, 90,252,214, 1, 35, 90,160, 3,112,252,144,160, 90,254,221, 1,117, 82,254,221, 90,160,164,160, 90, -193, 1, 35, 90,160,164,160, 90, 1, 35, 0, 0, 0, 1, 0, 66, 0, 0, 4,143, 4,124, 0, 17, 0, 0, 1, 39, 53, 1, 23, 7, - 33, 21, 33, 23, 7, 33, 21, 33, 23, 7, 1, 53, 1, 11,201, 1, 35, 90,160, 3,112,252,144,160,160, 3,112,252,144,160, 90,254, -221, 2, 62,201, 82, 1, 35, 90,160,164,160,160,164,160, 90, 1, 35, 82, 0, 0, 0, 1, 0, 42, 0, 0, 4,167, 4, 77, 0, 17, - 0, 0, 1, 55, 51, 1, 7, 39, 17, 35, 17, 7, 39, 17, 35, 17, 7, 39, 1, 51, 2,104,202, 82, 1, 34, 90,160,164,160,160,164, -160, 90, 1, 36, 82, 3,132,201,254,221, 90,160,252,144, 3,112,160,160,252,144, 3,112,160, 90, 1, 35, 0, 0, 0, 1, 0, 66, - 0, 0, 4,143, 4,124, 0, 17, 0, 0, 1, 23, 21, 1, 39, 55, 33, 53, 33, 39, 55, 33, 53, 33, 39, 55, 1, 21, 3,198,201,254, -221, 90,160,252,144, 3,112,160,160,252,144, 3,112,160, 90, 1, 35, 2, 62,201, 82,254,221, 90,160,164,160,160,164,160, 90,254, -221, 82, 0, 0, 0, 1, 0, 42, 0, 0, 4,167, 4, 77, 0, 17, 0, 0, 37, 7, 35, 1, 55, 23, 17, 51, 17, 55, 23, 17, 51, 17, - 55, 23, 1, 35, 2,104,200, 82,254,220, 90,160,164,160,160,164,160, 90,254,222, 82,201,201, 1, 35, 90,160, 3,112,252,144,160, -160, 3,112,252,144,160, 90,254,221, 0, 0, 0, 0, 2, 0, 66, 0, 65, 4,143, 4, 33, 0, 6, 0, 13, 0, 0, 1, 21, 1, 39, - 55, 33, 61, 2, 1, 23, 7, 33, 21, 4,143,254,221, 90,160,252,144, 1, 35, 90,160, 3,112, 1,223,123,254,221, 90,160,164,164, -123, 1, 35, 90,160,164, 0, 0, 0, 2, 0, 66, 0, 65, 4,143, 4, 33, 0, 6, 0, 13, 0, 0, 19, 33, 21, 33, 23, 7, 9, 1, - 33, 53, 33, 39, 55, 1, 66, 4, 77,252,144,160, 90,254,221, 4, 77,251,179, 3,112,160, 90, 1, 35, 1,223,164,160, 90, 1, 35, - 1, 31,164,160, 90,254,221, 0, 0, 2, 0, 66, 0,229, 4,143, 3,125, 0, 21, 0, 26, 0, 0, 1, 33, 55, 23, 7, 51, 21, 33, - 7, 33, 21, 33, 7, 39, 55, 35, 23, 7, 1, 53, 1, 23, 5, 33, 7, 23, 33, 1,113, 1,163, 86, 97, 54,250,254,210, 90, 1,136, -254, 69, 86, 96, 54,227, 78, 90,254,221, 1, 35, 90, 1, 34,254, 62, 82, 82, 1,106, 2,213,168, 59,109, 82,164, 82,166, 58,108, - 78, 90, 1, 35, 82, 1, 35, 90,160, 82, 82, 0, 0, 3, 0, 66, 0,229, 4,143, 3,175, 0, 4, 0, 28, 0, 33, 0, 0, 1, 33, - 7, 23, 51, 55, 51, 39, 55, 1, 21, 1, 39, 55, 35, 7, 39, 55, 35, 23, 7, 1, 53, 1, 23, 7, 51, 55, 23, 3, 7, 33, 55, 39, - 2, 33,254,254, 82, 82,223,200,154, 78, 90, 1, 35,254,221, 90, 78,227, 31,140, 27,124, 78, 90,254,221, 1, 35, 90, 78,194, 46, -140, 57, 35, 1, 33, 82, 82, 2,131, 82, 82,246, 78, 90,254,221, 82,254,221, 90, 78,158, 32,126, 78, 90, 1, 35, 82, 1, 35, 90, - 78,218, 32,254,244,164, 82, 82, 0, 2, 0, 66, 0,229, 4,143, 3,125, 0, 21, 0, 26, 0, 0, 1, 33, 7, 39, 55, 35, 53, 33, - 55, 33, 53, 33, 55, 23, 7, 51, 39, 55, 1, 21, 1, 39, 37, 33, 55, 39, 33, 3, 96,254, 93, 86, 97, 54,250, 1, 46, 90,254,120, - 1,187, 86, 96, 54,227, 78, 90, 1, 35,254,221, 90,254,222, 1,194, 82, 82,254,150, 1,141,168, 59,109, 82,164, 82,166, 58,108, - 78, 90,254,221, 82,254,221, 90,160, 82, 82, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 14, 0, 0, 1, 7, 23, 33, 21, 33, - 23, 7, 1, 53, 1, 23, 7, 33, 21, 1, 31, 82, 82, 3,112,252,226, 78, 90,254,221, 1, 35, 90, 78, 3, 30, 2,131, 82, 82, 82, - 78, 90, 1, 35, 82, 1, 35, 90, 78, 82, 0, 0, 0, 1, 1, 28, 0, 0, 3,181, 4, 77, 0, 14, 0, 0, 1, 17, 35, 17, 7, 39, - 1, 51, 1, 7, 39, 17, 35, 19, 39, 2, 22, 82, 78, 90, 1, 36, 82, 1, 34, 90, 78, 82, 1, 83, 3,112,252,144, 3, 30, 78, 90, - 1, 35,254,221, 90, 78,252,226, 3,112, 82, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 14, 0, 0, 1, 33, 53, 33, 39, 55, - 1, 21, 1, 39, 55, 33, 53, 33, 55, 3,178,252,144, 3, 30, 78, 90, 1, 35,254,221, 90, 78,252,226, 3,112, 82, 2,131, 82, 78, - 90,254,221, 82,254,221, 90, 78, 82, 82, 0, 0, 0, 1, 1, 28, 0, 0, 3,181, 4, 77, 0, 14, 0, 0, 37, 3, 51, 17, 55, 23, - 1, 35, 1, 55, 23, 17, 51, 17, 23, 2,187, 1, 82, 78, 90,254,222, 82,254,220, 90, 78, 82, 82,221, 3,112,252,226, 78, 90,254, -221, 1, 35, 90, 78, 3, 30,252,144, 82, 0, 0, 0, 2, 0, 66, 0,229, 4,143, 3,125, 0, 5, 0, 21, 0, 0, 1, 33, 7, 23, - 33, 55, 47, 1, 55, 1, 21, 1, 39, 55, 33, 23, 7, 1, 53, 1, 23, 7, 3,178,253,109, 82, 82, 2,147, 82,164, 78, 90, 1, 35, -254,221, 90, 78,254, 17, 78, 90,254,221, 1, 35, 90, 78, 2,131, 82, 82, 82,164, 78, 90,254,221, 82,254,221, 90, 78, 78, 90, 1, - 35, 82, 1, 35, 90, 78, 0, 0, 0, 2, 1, 28, 0, 0, 3,181, 4, 77, 0, 5, 0, 21, 0, 0, 1, 39, 7, 17, 23, 55, 19, 17, - 55, 23, 1, 35, 1, 55, 23, 17, 7, 39, 1, 51, 1, 7, 2,187, 83, 82, 82, 83, 81, 78, 90,254,222, 82,254,220, 90, 78, 78, 90, - 1, 36, 82, 1, 34, 90, 3,112, 82, 82,253,109, 82, 82, 2, 65,254, 17, 78, 90,254,221, 1, 35, 90, 78, 1,239, 78, 90, 1, 35, -254,221, 90, 0, 0, 1, 0,155,255,198, 4, 54, 3, 97, 0, 14, 0, 0, 1, 35, 21, 1, 7, 1, 21, 35, 17, 55, 33, 21, 35, 1, - 7, 1,142,116, 2,110, 58,253,204,127, 58, 1,156,110, 2, 51, 58, 2,226,116,253,146, 58, 2, 53,112, 1,156, 58,127,253,204, - 58, 0, 0, 0, 0, 1, 0,155,255,198, 4, 54, 3, 97, 0, 14, 0, 0, 9, 1, 39, 1, 35, 53, 33, 23, 17, 35, 53, 1, 39, 1, - 53, 3, 67,253,146, 58, 2, 51,110, 1,156, 58,127,253,204, 58, 2,110, 2,226,253,146, 58, 2, 52,127, 58,254,100,112,253,203, - 58, 2,110,116, 0, 1, 0,155, 0, 0, 4, 54, 3,155, 0, 14, 0, 0, 37, 1, 55, 1, 53, 51, 17, 7, 33, 53, 51, 1, 55, 1, - 51, 3,183,253,146, 58, 2, 52,127, 58,254,100,112,253,203, 58, 2,110,116,243, 2,110, 58,253,205,110,254,100, 58,127, 2, 52, - 58,253,146, 0, 0, 1, 0,155, 0, 0, 4, 54, 3,155, 0, 14, 0, 0, 37, 1, 23, 1, 51, 21, 33, 39, 17, 51, 21, 1, 23, 1, - 21, 1,142, 2,110, 58,253,205,110,254,100, 58,127, 2, 52, 58,253,146,127, 2,110, 58,253,204,127, 58, 1,156,112, 2, 53, 58, -253,146,116, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 15, 0, 0, 1, 7, 1, 53, 1, 23, 33, 21, 33, 7, 33, 21, 33, 23, - 33, 21, 1,191, 90,254,221, 1, 35, 90, 2,208,252,222,119, 3,153,252,103,119, 3, 34, 1, 63, 90, 1, 35, 82, 1, 35, 90, 82, -119, 82,119, 82, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 15, 0, 0, 1, 33, 53, 33, 55, 33, 53, 33, 39, 33, 53, 33, 55, 1, - 21, 1, 3, 18,253, 48, 3, 34,119,252,103, 3,153,119,252,222, 2,208, 90, 1, 35,254,221, 1, 63, 82,119, 82,119, 82, 90,254, -221, 82,254,221, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 22, 0, 0, 1, 51, 23, 55, 23, 55, 23, 55, 51, 21, 7, 39, 7, 39, - 7, 39, 35, 23, 7, 1, 53, 1, 23, 1, 31,129, 58,151,150,150,150, 59, 33, 92,150,150,150,151, 91, 96,160, 90,254,221, 1, 35, - 90, 2,131, 67,173,173,173,173, 67,164,106,173,173,173,173,106,160, 90, 1, 35, 82, 1, 35, 90, 0, 1, 0, 66, 0,229, 4,143, - 3,125, 0, 22, 0, 0, 1, 39, 55, 1, 21, 1, 39, 55, 35, 7, 39, 7, 39, 7, 39, 53, 51, 23, 55, 23, 55, 23, 55, 3,178,160, - 90, 1, 35,254,221, 90,160, 96, 91,151,150,150,150, 92, 33, 59,150,150,150,151, 58, 2,131,160, 90,254,221, 82,254,221, 90,160, -106,173,173,173,173,106,164, 67,173,173,173,173, 67, 0, 0, 0, 0, 1, 1, 28, 0, 0, 3,181, 4, 77, 0, 25, 0, 0, 37, 21, - 35, 53, 35, 53, 51, 53, 35, 53, 51, 53, 7, 39, 1, 51, 1, 7, 39, 21, 51, 21, 35, 21, 51, 21, 2,186,164,250,250,250,250,160, - 90, 1, 36, 82, 1, 34, 90,160,250,250,250,188,188,188,164,116,164,248,160, 90, 1, 35,254,221, 90,160,248,164,116,164, 0, 0, - 0, 1, 1, 28, 0, 0, 3,181, 4, 77, 0, 25, 0, 0, 1, 53, 51, 21, 51, 21, 35, 21, 51, 21, 35, 21, 55, 23, 1, 35, 1, 55, - 23, 53, 35, 53, 51, 53, 35, 53, 2, 22,164,250,250,250,250,160, 90,254,222, 82,254,220, 90,160,250,250,250, 3,144,189,189,164, -116,164,247,160, 90,254,221, 1, 35, 90,160,247,164,116,164, 0, 0, 3, 0, 66, 0,229, 4,143, 3,125, 0, 9, 0, 13, 0, 17, - 0, 0, 1, 21, 33, 23, 7, 1, 53, 1, 23, 7, 5, 53, 51, 21, 51, 53, 51, 21, 2, 33,254,254,160, 90,254,221, 1, 35, 90,160, - 1,127,187,123,187, 2,131,164,160, 90, 1, 35, 82, 1, 35, 90,160,164,164,164,164,164, 0, 0, 0, 3, 1, 28, 0, 0, 3,181, - 4, 77, 0, 9, 0, 13, 0, 17, 0, 0, 1, 17, 7, 39, 1, 51, 1, 7, 39, 19, 7, 23, 35, 55, 19, 21, 35, 55, 2, 22,160, 90, - 1, 36, 82, 1, 34, 90,160, 1, 1, 1,165, 1,163,164, 1, 2,110, 1, 2,160, 90, 1, 35,254,221, 90,160,254,254,125,187,187, -254,202,187,187, 0, 3, 0, 66, 0,229, 4,143, 3,125, 0, 9, 0, 13, 0, 17, 0, 0, 1, 33, 39, 55, 1, 21, 1, 39, 55, 33, - 43, 1, 53, 51, 5, 35, 53, 51, 2,176, 1, 2,160, 90, 1, 35,254,221, 90,160,254,254,125,187,187,254,202,187,187, 2,131,160, - 90,254,221, 82,254,221, 90,160,164,164,164, 0, 0, 3, 1, 28, 0, 0, 3,181, 4, 77, 0, 9, 0, 13, 0, 17, 0, 0, 1, 17, - 55, 23, 1, 35, 1, 55, 23, 17, 55, 39, 51, 21, 3, 39, 51, 21, 2,186,160, 90,254,222, 82,254,220, 90,160, 1, 1,164,163, 1, -164, 1,223,254,254,160, 90,254,221, 1, 35, 90,160, 1, 2,125,187,187, 1, 54,187,187, 0, 0, 0, 1, 0, 66, 0,229, 4,143, - 3,125, 0, 13, 0, 0, 19, 1, 23, 7, 33, 21, 33, 23, 7, 1, 17, 35, 17, 51,230, 1, 35, 90,160, 2,204,253, 52,160, 90,254, -221,164,164, 2, 90, 1, 35, 90,160,164,160, 90, 1, 35,254,221, 2,152, 0, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 13, - 0, 0, 1, 17, 51, 17, 35, 17, 1, 39, 55, 33, 53, 33, 39, 55, 3,235,164,164,254,221, 90,160,253, 52, 2,204,160, 90, 2, 90, - 1, 35,253,104, 1, 35,254,221, 90,160,164,160, 90, 0, 0, 0, 0, 2, 0, 25, 0,188, 4,143, 3,166, 0, 6, 0, 13, 0, 0, - 1, 7, 23, 53, 33, 53, 33, 19, 9, 1, 21, 33, 17, 33, 1, 63,194,194, 3, 10,252,246, 79,254,139, 1,117, 3, 1,252,255, 2, -244,195,195, 93,204,254, 37, 1,117, 1,117,201,254,168, 0, 0, 0, 2, 0,243, 0, 0, 3,222, 4,118, 0, 6, 0, 13, 0, 0, - 1, 51, 17, 51, 17, 51, 39, 1, 35, 17, 33, 17, 35, 1, 1,166, 92,204, 94,196, 1,118,202,254,168,200, 1,116, 3, 80,252,246, - 3, 10,194,254,239,252,255, 3, 1, 1,117, 0, 0, 2, 0, 66, 0,188, 4,185, 3,166, 0, 6, 0, 13, 0, 0, 1, 21, 33, 21, - 33, 21, 55, 1, 53, 33, 17, 33, 53, 1, 3,146,252,246, 3, 10,194,254,240,252,254, 3, 2, 1,116, 2,244, 93,204, 93,195,254, -139,201, 1, 88,201,254,139, 0, 0, 2, 0,243, 0, 0, 3,222, 4,118, 0, 6, 0, 13, 0, 0, 1, 35, 17, 35, 17, 35, 23, 1, - 51, 17, 33, 17, 51, 1, 3, 44, 94,204, 92,194,254,140,200, 1, 88,202,254,138, 1, 38, 3, 10,252,246,194, 1, 17, 3, 1,252, -255,254,139, 0, 0, 4, 0,243, 0, 0, 3,222, 4,118, 0, 6, 0, 10, 0, 14, 0, 21, 0, 0, 1, 17, 51, 39, 7, 51, 25, 1, - 21, 51, 53, 37, 33, 17, 33, 25, 1, 35, 9, 1, 35, 17, 2,206, 94,196,194, 92,204,254,238, 1, 88,254,168,200, 1,116, 1,118, -202, 1,224, 1,112,194,194,254,144,254,242,140,140, 70,254,232, 1,154, 1,103, 1,117,254,139,254,153, 0, 0, 0, 2, 0,243, - 0, 0, 3,222, 4,118, 0, 10, 0, 21, 0, 0, 37, 17, 51, 39, 7, 51, 17, 35, 21, 33, 53, 37, 17, 35, 9, 1, 35, 17, 51, 17, - 33, 17, 2,206, 94,196,194, 92,200, 2, 94,254, 36,200, 1,116, 1,118,202,202,253, 22,210, 2,126,194,194,253,130,140,140, 70, - 1,233, 1,117,254,139,254, 23,254,232, 1, 24, 0, 3, 0,243, 0, 0, 3,222, 4,118, 0, 11, 0, 14, 0, 25, 0, 0, 1, 35, - 7, 51, 17, 35, 21, 33, 53, 35, 17, 51, 47, 1, 7, 3, 17, 35, 9, 1, 35, 17, 51, 17, 33, 17, 2,224,240, 74, 92,200, 2, 94, -202, 94,124, 72, 71,101,200, 1,116, 1,118,202,202,253, 22, 3,154, 74,253,130,140,140, 2,126,123, 71, 71,253, 77, 1,233, 1, -117,254,139,254, 23,254,232, 1, 24, 0, 0, 0, 0, 3, 0,243, 0, 0, 3,222, 4,118, 0, 6, 0, 13, 0, 24, 0, 0, 1, 7, - 51, 17, 35, 21, 33, 19, 17, 33, 53, 35, 17, 51, 1, 17, 35, 9, 1, 35, 17, 51, 17, 33, 17, 2, 70,160, 92,200, 1, 12, 70, 1, - 12,202, 94,254,144,200, 1,116, 1,118,202,202,253, 22, 3,239,159,253,130,140, 3,169,252, 87,140, 2,126,253,200, 1,233, 1, -117,254,139,254, 23,254,232, 1, 24, 0, 0, 0, 0, 3, 0,243, 0, 0, 3,222, 4,118, 0, 6, 0, 12, 0, 23, 0, 0, 1, 51, - 39, 7, 51, 17, 51, 3, 51, 39, 7, 51, 55, 7, 35, 9, 1, 35, 23, 35, 17, 33, 17, 35, 2,206, 94,196,194, 92,204, 8,102,196, -194,100, 94,172,200, 1,116, 1,118,202,202,202,254,168,200, 2,136,194,194,253,190, 3, 10,194,194, 94,173, 1,117,254,139,200, -253,199, 2, 57, 0, 3, 0,243, 0, 0, 3,222, 4,118, 0, 10, 0, 16, 0, 31, 0, 0, 1, 17, 35, 21, 33, 53, 35, 17, 51, 39, - 7, 37, 51, 39, 7, 51, 55, 3, 35, 55, 35, 9, 1, 35, 23, 35, 17, 51, 17, 33, 17, 51, 2, 2,200, 2, 94,202, 94,196,194, 1, - 32,102,196,194,100, 94,172,200,200,200, 1,116, 1,118,202,202,202,202,253, 22,200, 2,136,254, 74,140,140, 1,182,194,194,200, -194,194, 94,254,139,200, 1,117,254,139,200,254,223,254,232, 1, 24, 0, 0, 0, 0, 2, 0, 66, 0,188, 4,185, 3,166, 0, 10, - 0, 21, 0, 0, 1, 39, 35, 17, 51, 53, 33, 21, 55, 39, 21, 1, 21, 33, 17, 33, 21, 33, 53, 9, 1, 53, 1, 21, 1,140,140, 2, -126,194,194,253,200,254,232, 1, 24, 1,234, 1,116,254,140, 2,151,201,253,162,201, 93,195,195, 93,254,238,201, 2,234,201,201, -254,139,254,139,201, 0, 0, 0, 0, 2, 0, 69, 0, 0, 4,140, 4, 70, 0, 9, 0, 15, 0, 0, 1, 55, 33, 21, 35, 1, 7, 1, - 21, 35, 1, 21, 33, 17, 35, 17, 1, 42, 58, 1,156,227, 2,110,116,253,146,127, 3, 97,252, 4, 73, 3, 39, 58,127,253,146,116, - 2,110,227, 2,187, 73,252, 3, 4, 70, 0, 0, 0, 2, 0, 69, 0, 0, 4,140, 4, 70, 0, 9, 0, 15, 0, 0, 37, 33, 53, 51, - 1, 55, 1, 53, 51, 17, 19, 17, 33, 53, 33, 17, 3,108,254,100,228,253,146,116, 2,110,126,230,251,186, 3,252,229,127, 2,110, -116,253,146,227,254,100, 3, 38,251,187, 73, 3,252, 0, 0, 0, 0, 2, 0,243, 0, 0, 3,222, 4,118, 0, 9, 0, 19, 0, 0, - 1, 17, 35, 23, 55, 35, 17, 51, 39, 7, 23, 35, 9, 1, 35, 17, 51, 9, 1, 51, 2, 2, 92,194,196, 94, 94,196,194, 22,200, 1, -116, 1,118,202,202,254,138,254,140,200, 3, 80,253,214,194,194, 2, 42,194,194, 79, 1,117,254,139,254,116,254,139, 1,117, 0, - 0, 3, 0, 66, 0,229, 4,143, 3,125, 0, 30, 0, 39, 0, 48, 0, 0, 1, 6, 7, 6, 35, 34, 39, 38, 39, 35, 53, 51, 54, 55, - 54, 51, 50, 22, 23, 22, 23, 22, 23, 51, 39, 55, 1, 21, 1, 39, 55, 37, 38, 39, 38, 35, 34, 7, 6, 7, 5, 33, 22, 23, 22, 51, - 50, 55, 54, 2,197, 19, 52, 82,118,120, 78, 49, 18,107,107, 19, 50, 79,119, 57,103, 39, 32, 28, 6, 4,237,160, 90, 1, 35,254, -221, 90,160,254,153, 11, 17, 48, 71, 68, 50, 18, 11, 1, 38,254,219, 12, 15, 43, 74, 68, 53, 17, 1,223, 64, 51, 80, 79, 50, 66, -164, 66, 52, 82, 44, 40, 32, 58, 12, 14,160, 90,254,221, 82,254,221, 90,160,164, 20, 17, 49, 49, 17, 20,164, 19, 17, 47, 48, 16, - 0, 2, 0, 42, 0, 0, 4,167, 4, 77, 0, 9, 0, 19, 0, 0, 33, 35, 1, 55, 23, 17, 51, 17, 55, 23, 19, 1, 7, 39, 17, 35, - 17, 7, 39, 1, 1,160, 82,254,220, 90,160,164,160, 90,194, 1, 34, 90,160,164,160, 90, 1, 36, 1, 35, 90,160, 3,112,252,144, -160, 90, 3, 42,254,221, 90,160,252,144, 3,112,160, 90, 1, 35, 0, 1, 0, 66,255, 1, 4,143, 5, 97, 0, 25, 0, 0, 1, 55, - 33, 53, 33, 39, 55, 33, 53, 33, 39, 55, 1, 21, 7, 23, 21, 7, 23, 21, 1, 39, 55, 33, 53, 33, 3, 18,160,252,144, 3,112,160, -160,252,144, 3,112,160, 90, 1, 35,201,201,201,201,254,221, 90,160,252,144, 3,112, 1, 63,160,164,160,160,164,160, 90,254,221, - 82,201,201, 82,201,201, 82,254,221, 90,160,164, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 17, 0, 0, 1, 21, 35, 53, 33, 23, - 7, 1, 53, 1, 23, 7, 33, 53, 51, 21, 33, 21, 3, 30,164,254,165,160, 90,254,221, 1, 35, 90,160, 1, 91,164, 1,113, 1,223, -250,250,160, 90, 1, 35, 82, 1, 35, 90,160,250,250,164, 0, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 17, 0, 0, 1, 33, - 53, 33, 53, 51, 21, 33, 39, 55, 1, 21, 1, 39, 55, 33, 21, 35, 1,178,254,144, 1,112,164, 1, 92,160, 90, 1, 35,254,221, 90, -160,254,164,164, 1,223,164,250,250,160, 90,254,221, 82,254,221, 90,160,250, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 23, - 0, 0, 1, 35, 23, 7, 1, 53, 1, 23, 7, 51, 53, 51, 21, 51, 39, 55, 1, 21, 1, 39, 55, 35, 21, 35, 2, 22,247,160, 90,254, -221, 1, 35, 90,160,247,164,248,160, 90, 1, 35,254,221, 90,160,248,164, 1,223,160, 90, 1, 35, 82, 1, 35, 90,160,250,250,160, - 90,254,221, 82,254,221, 90,160,250, 0, 0, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 25, 0, 0, 1, 21, 35, 53, 35, 21, - 35, 53, 35, 23, 7, 1, 53, 1, 23, 7, 51, 53, 51, 21, 51, 53, 51, 21, 51, 21, 3,210,164,116,164,247,160, 90,254,221, 1, 35, - 90,160,247,164,116,164,189, 1,223,250,250,250,250,160, 90, 1, 35, 82, 1, 35, 90,160,250,250,250,250,164, 0, 0, 1, 0, 66, - 0,229, 4,143, 3,125, 0, 25, 0, 0, 19, 35, 53, 51, 53, 51, 21, 51, 53, 51, 21, 51, 39, 55, 1, 21, 1, 39, 55, 35, 21, 35, - 53, 35, 21, 35,254,188,188,164,116,164,248,160, 90, 1, 35,254,221, 90,160,248,164,116,164, 1,223,164,250,250,250,250,160, 90, -254,221, 82,254,221, 90,160,250,250,250, 0, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 31, 0, 0, 1, 23, 7, 1, 53, 1, - 23, 7, 51, 53, 51, 21, 51, 53, 51, 21, 51, 39, 55, 1, 21, 1, 39, 55, 35, 21, 35, 53, 35, 21, 35, 53, 1, 31,160, 90,254,221, - 1, 35, 90,160,167,134, 56,134,168,160, 90, 1, 35,254,221, 90,160,168,134, 56,134, 1,223,160, 90, 1, 35, 82, 1, 35, 90,160, -250,250,250,250,160, 90,254,221, 82,254,221, 90,160,250,250,250,250, 0, 0, 0, 0, 2, 0, 25, 0,188, 4,143, 3,166, 0, 2, - 0, 9, 0, 0, 1, 7, 23, 19, 33, 21, 33, 17, 9, 1, 1, 63,194,194, 79, 3, 1,252,255,254,139, 1,117, 2,244,195,195, 1, - 21,164,254,221, 1,117, 1,117, 0, 2, 0, 66, 0,188, 4,184, 3,166, 0, 2, 0, 9, 0, 0, 1, 17, 55, 37, 17, 9, 1, 17, - 33, 53, 3,146,194,254,239, 1,117,254,139,252,255, 2,244,254,122,195, 82, 1, 35,254,139,254,139, 1, 35,164, 0, 3, 0, 25, - 0,188, 4,184, 3,166, 0, 2, 0, 5, 0, 15, 0, 0, 1, 7, 23, 1, 17, 55, 5, 17, 9, 1, 17, 33, 17, 9, 1, 17, 1, 63, -194,194, 2, 83,194,253, 58,254,139, 1,117, 1,181, 1,117,254,139, 2,244,195,195, 1,134,254,122,195, 82,254,221, 1,117, 1, -117,254,221, 1, 35,254,139,254,139, 1, 35, 0, 0, 2, 0,190,255,231, 4, 23, 5, 45, 0, 29, 0, 41, 0, 58, 64, 14, 0, 39, - 33, 9, 27, 6, 39, 21, 6, 15, 33, 27, 15, 21,184, 1, 13, 64, 10, 42, 12, 36, 3, 0, 30, 18, 36, 24, 42, 16,212,204,220,204, - 57, 57, 17, 57, 49, 0, 16,228,204,220,204, 16,206, 16,206, 17, 18, 57, 17, 18, 57, 48, 1, 62, 1, 53, 52, 38, 35, 34, 6, 35, - 34, 38, 53, 52, 54, 51, 50, 18, 17, 16, 0, 35, 34, 38, 53, 52, 18, 51, 50, 22, 7, 52, 38, 35, 34, 2, 21, 20, 22, 51, 50, 18, - 3, 74, 15, 15, 73, 72, 55,144, 36, 36, 48,144,101,180,214,254,223,213,152,203,221,162,101,130, 11, 87, 79,109,141, 86, 80,109, -141, 2,109, 87,163, 75,129,131,116, 44, 31, 62, 98,254,202,254,249,254,177,254, 70,216,163,198, 1, 1, 91,224,116,125,254,254, -207,116,123, 1, 4, 0, 0, 0, 0, 3, 0, 73, 0, 98, 4,138, 4,163, 0, 33, 0, 48, 0, 63, 0, 0, 1, 23, 7, 22, 23, 22, - 21, 20, 7, 6, 7, 14, 1, 34, 39, 38, 39, 7, 39, 55, 38, 39, 38, 53, 52, 55, 54, 55, 62, 1, 50, 23, 22, 23, 6, 34, 7, 6, - 7, 14, 1, 21, 20, 23, 22, 23, 1, 38, 39, 23, 1, 22, 23, 22, 50, 55, 54, 55, 62, 1, 53, 52, 39, 38, 4, 38, 99,118, 45, 26, - 39, 39, 39, 79, 79,190,221, 95, 64, 56,118, 99,117, 45, 27, 39, 39, 39, 79, 79,190,221, 95, 65, 58,247,163, 71, 69, 58, 59, 57, - 28, 17, 26, 2, 40, 36, 40,175,253,216, 35, 38, 71,163, 70, 70, 58, 59, 57, 28, 16, 4,162, 99,118, 56, 64, 95,112,109, 95, 95, - 79, 78, 80, 40, 26, 45,118, 99,117, 58, 65, 95,109,112, 95, 95, 79, 79, 80, 40, 28, 45, 28, 30, 30, 57, 59,140, 83, 80, 70, 40, - 36, 2, 40, 26, 17,142,253,216, 25, 16, 30, 30, 30, 57, 59,140, 80, 83, 70, 39, 0, 2,255,250, 0, 0, 4,217, 5,143, 0, 3, - 0, 6, 0, 79, 64, 42, 4,105, 5, 4, 2, 3, 2, 6,105, 3, 3, 2, 5,105, 0, 1, 0, 4,105, 6, 4, 1, 1, 0, 66, 4, - 1, 5,249, 1,251, 0, 6, 5, 4, 2, 1, 5, 7, 3, 0, 7, 16,212,204, 17, 23, 57, 49, 0, 47,228,236, 17, 57, 48, 75, 83, - 88, 7, 16, 8,237, 7, 16, 5,237, 7, 16, 5,237, 7, 16, 8,237, 89, 34, 35, 1, 51, 9, 2, 33, 6, 2, 6,209, 2, 8,253, -143,254,144, 2,225, 5,143,250,113, 4,195,251,233, 0, 0, 0, 0, 2,255,250, 0, 0, 4,217, 5,143, 0, 3, 0, 6, 0, 0, - 3, 33, 1, 35, 55, 1, 33, 6, 4,223,253,248,209,104, 1,113,253, 31, 5,143,250,113,204, 4, 23, 0, 0, 0, 0, 1, 0,129, - 0, 0, 4, 80, 5,184, 0, 26, 0, 0, 1, 22, 23, 30, 1, 51, 33, 21, 33, 34, 38, 2, 16, 18, 54, 51, 33, 21, 33, 34, 7, 6, - 7, 6, 7, 33, 21, 1, 48, 8, 34, 44,152, 90, 1,216,254, 40,136,232,134,134,232,136, 1,216,254, 40, 92, 74, 78, 42, 34, 8, - 3, 30, 2,135,102, 95,130,150,170,196, 1, 81, 1,142, 1, 81,196,170, 75, 77,128, 95,102,170, 0, 3, 0,129,255, 79, 4, 80, - 6,105, 0, 28, 0, 37, 0, 43, 0, 0, 37, 22, 51, 33, 21, 33, 34, 39, 7, 39, 55, 38, 39, 38, 16, 18, 54, 59, 1, 55, 23, 7, - 51, 21, 35, 3, 33, 21, 33, 19, 35, 34, 7, 6, 7, 6, 7, 33, 7, 35, 22, 23, 22, 23, 2, 76, 21, 23, 1,216,254, 40, 48, 44, - 58,163, 67,121, 69, 66,134,232,136,170, 54,163, 39,124,176,144, 1, 62,254,142, 18,118, 92, 74, 75, 45, 34, 8, 1, 46, 52,250, - 8, 34, 36, 58,174, 4,170, 12,189, 49,221, 99,172,169, 1,142, 1, 81,196,177, 50,127,170,254, 35,170, 2,135, 75, 75,130, 95, -102,170,102, 95,108, 70, 0, 0, 0, 1, 0,130, 0,165, 4, 79, 4, 93, 0, 23, 0, 66, 0,176, 8, 47,176, 9, 51,176, 10, 51, -177, 5, 4,237,177, 6, 4,237,177, 7, 4,237,176, 1,176, 5, 16,222,176, 2, 50,177, 0, 4,237,177, 23, 4,237,176, 18,176, - 0, 16,222,176, 19, 50,176, 20, 50,177, 15, 4,237,177, 16, 4,237,177, 17, 4,237, 1, 48, 49, 1, 21, 33, 22, 23, 22, 51, 33, - 21, 33, 34, 46, 1, 16, 62, 1, 51, 33, 21, 33, 34, 7, 6, 7, 4, 78,252,237, 22, 61, 99,133, 1,216,254, 40,136,230,134,134, -230,136, 1,216,254, 40,133, 99, 61, 22, 2,214,170, 73, 57, 91,170,127,220, 1, 2,220,127,170, 91, 57, 73, 0, 0, 1, 0,129, - 0, 0, 4, 80, 5,184, 0, 26, 0, 0, 1, 38, 39, 46, 1, 35, 33, 53, 33, 50, 22, 18, 16, 2, 6, 35, 33, 53, 33, 50, 55, 54, - 55, 54, 55, 33, 53, 3,160, 8, 32, 44,152, 90,254, 40, 1,216,136,232,134,134,232,136,254, 40, 1,216, 92, 74, 76, 44, 32, 8, -252,226, 3, 49,102, 95,130,150,170,196,254,175,254,114,254,175,196,170, 75, 77,128, 95,102,170, 0, 3, 0,129,255, 79, 4, 80, - 6,105, 0, 28, 0, 37, 0, 43, 0, 0, 1, 38, 35, 33, 53, 33, 50, 23, 55, 23, 7, 22, 23, 22, 16, 2, 6, 43, 1, 7, 39, 55, - 35, 53, 51, 19, 33, 53, 33, 3, 51, 50, 55, 54, 55, 54, 55, 33, 55, 51, 38, 39, 38, 39, 2,133, 21, 22,254, 40, 1,216, 47, 45, - 57,163, 67,121, 68, 68,134,232,136,171, 54,163, 39,123,174,146,254,192, 1,114, 18,120, 92, 74, 74, 46, 32, 8,254,211, 52,249, - 8, 32, 37, 58, 5, 10, 4,170, 12,189, 49,221, 99,172,169,254,114,254,175,196,177, 50,127,170, 1,221,170,253,121, 75, 75,130, - 95,102,170,102, 95,108, 70, 0, 0, 1, 0,130, 0,165, 4, 79, 4, 93, 0, 23, 0, 0, 19, 53, 33, 38, 39, 38, 35, 33, 53, 33, - 50, 30, 1, 16, 14, 1, 35, 33, 53, 33, 50, 55, 54, 55,131, 3, 19, 22, 62, 98,134,254, 40, 1,216,136,230,134,134,230,136,254, - 40, 1,216,134, 98, 62, 22, 2, 44,170, 73, 57, 91,170,127,220,254,254,220,127,170, 91, 57, 73, 0, 1, 0,152,254, 76, 4, 57, - 5,238, 0, 7, 0, 31,185, 0, 5, 1, 15, 64, 11, 1, 3, 0, 8, 4,128, 2, 6,128, 0, 8, 16,212,236,212,236, 49, 0, 16, -196, 50,212,236, 48, 19, 17, 33, 17, 35, 17, 33, 17,152, 3,161,155,253,149,254, 76, 7,162,248, 94, 7, 30,248,226, 0, 0, 0, - 0, 1, 0,143,254, 76, 4, 61, 5,238, 0, 11, 0, 55,180, 11, 5, 12, 9, 0,191, 1, 15, 0, 2, 0, 9, 1, 15, 0, 7, 1, - 14, 0, 2, 1, 16, 64, 11, 12, 11, 10, 8, 5, 0, 5, 1, 6, 3, 12, 16,212, 60,196, 23, 57, 49, 0, 16,228,244,236, 16,238, - 17, 18, 57, 57, 48, 1, 33, 21, 33, 53, 9, 1, 53, 33, 21, 33, 1, 1, 76, 2,241,252, 82, 2, 37,253,219, 3,154,253, 35, 2, - 10,254,213,137, 92, 3,151, 3, 80, 95,140,252,221, 0, 0, 0, 0, 1, 0, 88, 2, 45, 4,121, 2,215, 0, 3, 0, 17,182, 0, -160, 2, 4, 1, 0, 4, 16,212,196, 49, 0, 16,212,236, 48, 19, 33, 21, 33, 88, 4, 33,251,223, 2,215,170, 0, 0, 2, 0, 88, - 0, 0, 4,121, 4,147, 0, 3, 0, 15, 0, 0, 1, 33, 53, 33, 1, 17, 33, 53, 33, 17, 51, 17, 33, 21, 33, 17, 4,121,251,223, - 4, 33,253,155,254, 68, 1,188,168, 1,189,254, 67, 3,233,170,251,109, 1, 73,170, 1, 76,254,180,170,254,183, 0, 1, 0,102, -255, 66, 4, 55, 5,213, 0, 3, 0, 24, 64, 11, 2, 0,136, 4, 1, 30, 0, 2, 30, 3, 4, 16,212,236,212,236, 49, 0, 16,244, -196, 48, 1, 51, 1, 35, 3,121,190,252,238,191, 5,213,249,109,255,255, 0,166, 0,175, 4, 43, 4, 85, 16, 7, 0, 13, 0, 0, -254,101, 0, 0,255,255, 1, 43, 1, 71, 3,166, 3,194, 16, 7, 0,114, 0, 0,253,210, 0, 0,255,255, 1, 63, 1,154, 3,145, - 3,234, 16, 6, 6,151, 0,201, 0, 1, 0, 59,255,217, 4,160, 6,160, 0, 10, 0, 47, 64, 26, 10, 3, 2, 1, 0, 5, 11, 5, - 4, 8, 6, 11, 10, 9, 8, 7, 4, 3, 2, 7, 5, 0, 11, 5, 1, 11, 16,212,196, 18, 57, 17, 23, 57, 49, 0, 16,212,196,192, -192, 18, 23, 57, 48, 19, 39, 37, 19, 1, 51, 21, 35, 1, 35, 3,100, 41, 1, 35,219, 1,211,148, 47,254, 6,127,246, 2,221,125, - 98,253, 37, 5,191,131,249,188, 3, 57, 0, 0, 0, 2, 0,186, 0,250, 4, 23, 3,240, 0, 11, 0, 37, 0, 0, 1, 46, 1, 35, - 34, 6, 21, 20, 22, 51, 50, 54, 1, 34, 38, 39, 14, 1, 35, 34, 38, 53, 52, 54, 51, 50, 22, 23, 62, 1, 51, 21, 34, 6, 7, 30, - 1, 51, 2,170, 56, 92, 60, 72, 90, 82, 68, 68,106, 1,154, 80,128, 78, 66,132, 84,126,166,158,132, 94,136, 56, 46,148, 90, 56, -104, 46, 56, 92, 58, 2,123,134, 99,133,106,109,129,118,254,253,100,131,124,107,214,165,173,206,115,129,117,127,140,117,124,136, -100, 0, 0, 0, 0, 3, 0, 41, 0,250, 4,168, 3,240, 0, 11, 0, 23, 0, 47, 0, 55, 64, 28, 36, 24, 9, 21, 3,225, 39, 33, -226, 15, 9,225, 45, 27,223, 48, 12, 0, 36, 24, 18, 6,100, 30, 18,100, 42, 48, 16,212,236,212,236, 17, 57, 57, 57, 57, 49, 0, - 16,252, 60,236, 50,252, 60,236, 50, 17, 57, 57, 48, 1, 30, 1, 51, 50, 54, 53, 52, 38, 35, 34, 6, 7, 46, 1, 35, 34, 6, 21, - 20, 22, 51, 50, 54, 19, 62, 1, 51, 50, 22, 21, 20, 6, 35, 34, 38, 39, 14, 1, 35, 34, 38, 53, 52, 54, 51, 50, 22, 2,182, 57, - 91, 61, 71, 91, 84, 70, 66,105,203, 56, 92, 61, 71, 91, 83, 68, 67,106,126, 47,147, 91,119,172,163,126, 83,128, 78, 65,132, 85, -125,166,157,132, 94,136, 2,115,136,100,134,108,107,128,117,116,134, 99,133,106,109,129,118, 0,255,117,127,219,160,167,212,100, -131,124,107,214,165,173,206,115, 0, 1, 0,125, 1, 31, 4, 84, 4,245, 0, 5, 0, 0, 1, 33, 17, 51, 17, 33, 4, 84,252, 42, -170, 3, 44, 1, 31, 3,214,252,212, 0, 0, 0, 0, 1, 0,125, 1, 31, 4, 84, 4,245, 0, 5, 0, 0, 1, 33, 1, 51, 1, 33, - 4, 84,252, 42, 3, 24,170,253,112, 2,164, 1, 31, 3,214,252,212, 0, 0, 0, 0, 1, 0,164, 0, 0, 4, 44, 4,162, 0, 6, - 0, 0, 51, 1, 51, 1, 35, 9, 1,164, 1, 78,237, 1, 77,191,254,251,254,251, 4,162,251, 94, 3,172,252, 84, 0, 1, 0,164, - 0, 0, 4, 44, 4,162, 0, 6, 0, 0, 19, 51, 9, 1, 51, 1, 35,164,191, 1, 5, 1, 5,191,254,179,237, 4,162,252, 84, 3, -172,251, 94, 0, 0, 1, 0,164, 0, 0, 4, 44, 4,162, 0, 36, 0, 0, 19, 52, 55, 54, 55, 54, 55, 54, 51, 50, 22, 23, 22, 23, - 22, 21, 17, 35, 17, 52, 39, 38, 39, 38, 39, 38, 35, 34, 7, 6, 7, 6, 7, 6, 21, 17, 35,164, 25, 26, 59, 57, 95, 85,105,106, -170, 66, 57, 29, 24,172, 12, 10, 7, 29, 75, 71, 76, 86, 60, 83, 21, 13, 4, 12,173, 2, 68,230, 98,103, 58, 56, 32, 29, 58, 59, - 51,108, 92,238,253,188, 2,162, 93, 65, 57, 14, 57, 32, 30, 30, 41, 48, 33, 38,112, 48,253, 96, 0, 1, 0,164, 0, 0, 4, 44, - 4,162, 0, 36, 0, 0, 19, 17, 51, 17, 20, 23, 22, 23, 22, 23, 22, 51, 50, 55, 54, 55, 54, 55, 54, 53, 17, 51, 17, 20, 7, 6, - 7, 14, 1, 35, 34, 39, 38, 39, 38, 39, 38,164,173, 12, 4, 13, 21, 83, 60, 86, 76, 71, 75, 29, 7, 10, 12,172, 24, 29, 57, 66, -170,106,105, 85, 95, 57, 59, 26, 25, 2, 94, 2, 68,253, 96, 48,112, 38, 33, 48, 41, 30, 30, 32, 57, 14, 57, 65, 93, 2,162,253, -188,238, 92,108, 51, 59, 58, 29, 32, 56, 58,103, 98, 0, 0, 0, 0, 1, 0,129,254,136, 4, 80, 6,249, 0, 23, 0, 26, 64, 5, - 12, 13, 6, 1, 0, 47, 60,252, 60, 49, 0, 64, 6, 5,140, 10, 22,140, 17, 47,236, 47,236, 48, 5, 17, 52, 55, 54, 55, 54, 23, - 7, 38, 7, 6, 21, 17, 20, 7, 6, 7, 6, 39, 55, 22, 55, 54, 2, 12, 94, 65,145,134,142,106, 92, 78,120, 93, 65,145,134,142, -106, 92, 78,119, 68, 6, 34,106,100, 69, 7, 6,113,113, 67, 3, 5,146,249,222,106,100, 69, 7, 6,113,113, 67, 3, 5, 0, 0, - 0, 2, 0, 63,254,124, 4,145, 7, 5, 0, 23, 0, 47, 0, 0, 5, 17, 52, 55, 54, 51, 50, 23, 7, 38, 7, 6, 21, 3, 20, 7, - 6, 35, 34, 39, 55, 22, 55, 54, 37, 19, 52, 55, 54, 51, 50, 23, 7, 38, 7, 6, 21, 17, 20, 7, 6, 35, 34, 39, 55, 22, 55, 54, - 2,228, 57, 67,109,106, 90, 67, 67, 58, 53, 1, 57, 67,109,106, 90, 67, 77, 48, 54,254, 80, 1, 57, 67,109,106, 90, 67, 67, 58, - 54, 57, 67,109,106, 90, 67, 77, 48, 53, 68, 6, 34, 98, 92,105, 57,127, 38, 10, 9,155,249,222, 98, 92,105, 57,127, 43, 15, 17, -147, 6, 34, 98, 92,105, 57,127, 38, 10, 9,155,249,222, 98, 92,105, 57,127, 43, 15, 17, 0, 0, 0, 3, 0, 53,254,150, 4,157, - 6,235, 0, 23, 0, 47, 0, 71, 0, 0, 5, 17, 52, 55, 54, 55, 54, 23, 7, 38, 35, 34, 21, 17, 20, 7, 6, 7, 6, 39, 55, 22, - 51, 50, 37, 17, 52, 55, 54, 55, 54, 23, 7, 38, 35, 34, 21, 17, 20, 7, 6, 7, 6, 39, 55, 22, 51, 50, 37, 17, 52, 55, 54, 55, - 54, 23, 7, 38, 35, 34, 21, 17, 20, 7, 6, 7, 6, 39, 55, 22, 51, 50, 3, 82, 49, 45,113, 50, 74, 36, 34, 50, 27, 50, 45,113, - 50, 74, 36, 34, 50, 28,254,188, 49, 45,113, 50, 74, 36, 34, 50, 27, 50, 45,113, 50, 74, 36, 34, 50, 28,254,186, 50, 45,113, 50, - 74, 36, 34, 50, 28, 49, 45,113, 50, 74, 36, 34, 50, 27,127, 6, 93,109, 83, 74, 2, 1, 29,142, 14, 78,249,163,111, 81, 74, 2, - 1, 29,142, 14, 78, 6, 93,109, 83, 74, 2, 1, 29,142, 14, 78,249,163,111, 81, 74, 2, 1, 29,142, 14, 78, 6, 93,109, 83, 74, - 2, 1, 29,142, 14, 78,249,163,111, 81, 74, 2, 1, 29,142, 14,255,255, 0, 88, 2, 45, 4,121, 4,132, 16, 38, 7, 95, 0, 0, - 16, 7, 7,208, 0, 2, 1, 36, 0, 3, 0, 74, 0,134, 4,135, 4,132, 0, 3, 0, 7, 0, 11, 0, 0, 1, 51, 17, 35, 3, 51, - 17, 35, 1, 33, 21, 33, 3,139,252,252, 2,252,252,252,193, 2,234,253, 22, 4,132,254,207,254,100,254,207, 2, 81,170, 0, 0, -255,255, 0, 87, 0,134, 4,125, 4,132, 16, 38, 7, 95, 0, 0, 16, 39, 7,208, 1,148, 1, 36, 16, 39, 7,208, 1,152,254, 87, - 16, 39, 7,208,254,111, 1, 36, 16, 7, 7,208,254,110,254, 87,255,255, 0, 88, 0,134, 4,121, 4,132, 16, 38, 7,117, 0, 0, - 16, 39, 7,208, 0, 2, 1, 36, 16, 7, 7,208, 0, 1,254, 87, 0, 1, 0, 88, 1,241, 4,121, 3, 18, 0, 27, 0, 0, 1, 21, - 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 22, 23, 22, 51, 50, 54, 4,121, 75,143, 79, 90, -113, 22, 11, 77,103, 51, 79,141, 73, 78,146, 83, 53,100, 75, 10, 22,116, 93, 70,137, 3, 18,175, 59, 55, 51, 10, 4, 34, 24, 59, - 64,174, 60, 55, 22, 32, 4, 11, 54, 60, 0, 0, 0, 1, 0, 88, 1,241, 4,121, 3, 18, 0, 27, 0, 0, 19, 30, 1, 51, 50, 55, - 54, 55, 62, 1, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 7, 6, 7, 6, 35, 34, 38, 39, 88, 74,137, 70, 93,116, 22, 10, 75,100, - 53, 83,146, 78, 73,141, 79, 51,103, 77, 11, 22,113, 90, 79,143, 75, 3, 18, 63, 60, 54, 11, 4, 32, 22, 55, 60,174, 64, 59, 24, - 34, 4, 10, 51, 55, 59, 0, 0, 0, 1, 0, 88, 0,174, 4,121, 4, 71, 0, 31, 0, 0, 1, 38, 39, 38, 35, 34, 6, 7, 53, 62, - 1, 51, 50, 23, 22, 23, 19, 23, 3, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 39, 3, 39, 2, 24, 29, 23, 52, 51, 79,141, 73, 78, -146, 83, 54, 49, 45, 29, 78,136, 83, 88, 73, 70,137, 74, 75,143, 79, 81,100, 83,136, 2, 80, 11, 5, 12, 59, 64,174, 60, 55, 11, - 11, 12, 1, 87, 31,254,145, 34, 60, 63,175, 59, 55, 41,254,148, 31, 0, 0, 0, 0, 2, 0, 88, 1, 49, 4,121, 3,162, 0, 3, - 0, 29, 0, 0, 19, 33, 21, 33, 5, 21, 14, 1, 35, 34, 47, 1, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 23, 51, 23, 22, 51, - 50, 54, 88, 4, 33,251,223, 4, 33, 75,143, 79, 90,113, 33, 83, 99, 49, 78,141, 74, 79,146, 82, 96,130, 1, 33,116, 93, 68,138, - 3,162,170,164,176, 59, 56, 51, 15, 36, 23, 60, 65,174, 62, 55, 55, 15, 55, 61, 0, 2, 0, 88, 1, 96, 4,121, 3,195, 0, 3, - 0, 31, 0, 0, 19, 33, 21, 33, 1, 21, 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 22, 23, - 22, 51, 50, 54, 88, 4, 33,251,223, 4, 33, 75,143, 79, 90,113, 22, 11, 77,103, 51, 79,141, 73, 78,146, 83, 53,100, 75, 10, 22, -116, 93, 70,137, 2, 12,172, 2, 99,175, 59, 55, 51, 10, 4, 34, 24, 59, 64,174, 60, 55, 22, 32, 4, 11, 54, 60, 0, 1, 0, 88, - 0, 98, 4,122, 4,213, 0, 39, 0, 0, 1, 3, 22, 55, 54, 55, 21, 6, 7, 6, 35, 34, 39, 7, 33, 21, 33, 7, 39, 55, 35, 53, - 33, 55, 38, 39, 38, 7, 6, 7, 53, 54, 55, 54, 55, 54, 31, 2, 19, 3,199,167,102, 89, 85, 69, 53,107, 73, 81, 37, 92,110, 2, - 42,253,120,152,114, 89,233, 1, 81,146, 77,111, 73, 70, 92, 60, 91, 69, 84, 70, 82,130, 13, 29,198, 4,113,254,224, 19, 36, 34, - 66,178, 50, 40, 26, 30,178,171,254,100,154,171,231, 37, 5, 4, 31, 40, 57,172, 76, 19, 22, 2, 3, 53, 5, 16, 1, 88, 0, 0, - 0, 3, 0, 88, 0,192, 4,121, 4,143, 0, 3, 0, 7, 0, 36, 0, 0, 19, 33, 21, 33, 21, 33, 21, 33, 1, 21, 14, 1, 35, 34, - 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 23, 22, 23, 22, 23, 22, 51, 50, 54, 88, 4, 33,251,223, 4, 33,251,223, - 4, 33, 75,143, 79, 90,113, 22, 11, 77,103, 51, 79,141, 73, 78,146, 83, 53, 50, 39, 86, 10, 22,116, 93, 70,137, 2,216,172,192, -172, 3,207,175, 59, 55, 51, 10, 4, 34, 24, 59, 64,174, 60, 55, 11, 9, 34, 4, 11, 54, 60, 0, 0, 2, 0, 88, 0, 49, 4,121, - 4,143, 0, 19, 0, 48, 0, 0, 37, 35, 53, 33, 55, 33, 53, 33, 55, 23, 7, 51, 21, 33, 7, 33, 21, 33, 7, 39, 1, 21, 14, 1, - 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 23, 22, 23, 22, 23, 22, 51, 50, 54, 1, 81,249, 1,117,139,254, - 0, 2,123,104,113, 44,249,254,139,139, 2, 0,253,132,103,113, 3, 84, 75,143, 79, 90,113, 22, 11, 77,103, 51, 79,141, 73, 78, -146, 83, 53, 50, 39, 86, 10, 22,116, 93, 70,137,192,172,192,172,143, 82, 61,172,192,172,143, 82, 4, 12,175, 59, 55, 51, 10, 4, - 34, 24, 59, 64,174, 60, 55, 11, 9, 34, 4, 11, 54, 60, 0, 0, 0, 1, 0, 88, 0, 0, 4,121, 5, 46, 0, 49, 0, 0, 37, 33, - 53, 33, 55, 33, 53, 33, 55, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 23, 22, 31, 1, 55, 23, 7, 22, 51, 50, 54, 55, - 21, 14, 1, 35, 34, 39, 7, 33, 21, 33, 7, 33, 21, 33, 7, 39, 1,104,254,240, 1, 77, 69,254,110, 1,208, 75, 9, 6, 77,103, - 51, 79,141, 73, 78,146, 83, 53, 50, 51, 74, 58, 86,155, 81, 11, 12, 70,137, 74, 75,143, 79, 31, 33, 56, 1,161,254, 33, 69, 2, - 36,253,159, 70,156,192,172,192,172,209, 4, 2, 34, 24, 59, 64,174, 60, 55, 11, 11, 32, 25,238, 56,225, 1, 60, 63,175, 59, 55, - 6,156,172,192,172,192, 55, 0, 0, 2, 0, 88, 1, 49, 4,121, 3,195, 0, 27, 0, 55, 0, 75, 64, 38, 29, 39, 32, 49, 48, 43, - 3, 53, 28, 1, 11, 4, 15, 25, 11,160, 18, 0, 25,160, 14, 4, 42, 32,160, 53, 39,160, 46, 28, 56, 49, 48, 28, 0, 42, 14, 56, - 16,212, 60,196, 50, 57, 57, 49, 0, 16,212, 60,236,212,236, 50,220, 60,252,212, 60,236, 18, 57, 17, 18, 57, 17, 18, 23, 57, 17, - 18, 57, 48, 1, 21, 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 22, 23, 22, 51, 50, 54, 19, - 21, 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 23, 51, 22, 23, 22, 51, 50, 54, 4,121, 75,143, 79, - 90,113, 22, 11, 77,103, 51, 79,141, 73, 78,146, 83, 53,100, 75, 10, 22,116, 93, 70,137, 74, 75,143, 79, 90,113, 22, 11, 83, 99, - 49, 78,141, 74, 79,146, 82, 96,130, 1, 11, 22,116, 93, 68,138, 3,195,175, 59, 55, 51, 10, 4, 34, 24, 59, 64,174, 60, 55, 22, - 32, 4, 11, 54, 60,254,208,176, 59, 56, 51, 10, 5, 36, 23, 60, 65,174, 62, 55, 55, 5, 10, 55, 61, 0, 0, 0, 0, 1, 0, 88, - 0, 48, 4,121, 4,195, 0, 56, 0, 0, 1, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 23, 55, 38, 39, 38, 35, 34, 6, 7, 53, 62, - 1, 51, 50, 23, 22, 23, 19, 23, 3, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 39, 7, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 47, - 1, 3, 39, 1,221, 48, 48, 78,141, 74, 79,146, 82, 58, 71, 54, 55, 39, 52, 51, 79,141, 73, 78,146, 83, 53, 50, 48, 78, 93,138, - 97, 57, 49, 70,137, 74, 75,143, 79, 63, 74, 52,114, 91, 68,138, 75, 75,143, 79,100,103, 31, 98,138, 1,163, 11, 60, 65,174, 62, - 55, 20,178, 22, 9, 12, 59, 64,174, 60, 55, 11, 11, 33, 1, 55, 41,254,189, 15, 60, 63,175, 59, 55, 25,175, 53, 61, 64,176, 59, - 56, 51, 16,254,188, 41, 0, 0, 0, 3, 0, 88, 0,192, 4,121, 4,147, 0, 27, 0, 55, 0, 59, 0, 0, 1, 21, 14, 1, 35, 34, - 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 22, 23, 22, 51, 50, 54, 19, 21, 14, 1, 35, 34, 39, 38, 39, 46, - 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 23, 51, 22, 23, 22, 51, 50, 54, 1, 33, 21, 33, 4,121, 75,143, 79, 90,113, 22, 11, 77, -103, 51, 79,141, 73, 78,146, 83, 53,100, 75, 10, 22,116, 93, 70,137, 74, 75,143, 79, 90,113, 22, 11, 83, 99, 49, 78,141, 74, 79, -146, 82, 96,130, 1, 11, 22,116, 93, 68,138,252, 42, 4, 33,251,223, 4,147,175, 59, 55, 51, 10, 4, 34, 24, 59, 64,174, 60, 55, - 22, 32, 4, 11, 54, 60,254,208,176, 59, 56, 51, 10, 5, 36, 23, 60, 65,174, 62, 55, 55, 5, 10, 55, 61,254,136,172, 0, 0, 0, - 0, 3, 0, 88, 0,149, 4,121, 4,147, 0, 27, 0, 55, 0, 83, 0, 0, 1, 21, 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, - 7, 53, 62, 1, 51, 50, 23, 51, 22, 23, 22, 51, 50, 54, 19, 21, 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, - 51, 50, 22, 23, 22, 23, 22, 51, 50, 54, 19, 21, 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 23, 51, - 22, 23, 22, 51, 50, 54, 4,121, 75,143, 79, 90,113, 22, 11, 83, 99, 49, 78,141, 74, 79,146, 82, 96,130, 1, 11, 22,116, 93, 68, -138, 75, 75,143, 79, 90,113, 22, 11, 77,103, 51, 79,141, 73, 78,146, 83, 53,100, 75, 10, 22,116, 93, 70,137, 74, 75,143, 79, 90, -113, 22, 11, 83, 99, 49, 78,141, 74, 79,146, 82, 96,130, 1, 11, 22,116, 93, 68,138, 1,184,176, 59, 56, 51, 10, 5, 36, 23, 60, - 65,174, 62, 55, 55, 5, 10, 55, 61, 3, 27,175, 59, 55, 51, 10, 4, 34, 24, 59, 64,174, 60, 55, 22, 32, 4, 11, 54, 60,254,208, -176, 59, 56, 51, 10, 5, 36, 23, 60, 65,174, 62, 55, 55, 5, 10, 55, 61, 0, 0, 0, 3, 0, 88, 0,192, 4,121, 4,143, 0, 3, - 0, 7, 0, 36, 0, 0, 1, 21, 33, 53, 1, 21, 33, 53, 17, 30, 1, 51, 50, 55, 54, 55, 54, 55, 54, 51, 50, 22, 23, 21, 46, 1, - 35, 34, 6, 7, 6, 7, 6, 35, 34, 38, 39, 4,121,251,223, 4, 33,251,223, 74,137, 70, 93,116, 22, 10, 86, 39, 50, 53, 83,146, - 78, 73,141, 79, 51,103, 77, 11, 22,113, 90, 79,143, 75, 2,216,172,172,254,148,172,172, 3, 35, 63, 60, 54, 11, 4, 34, 9, 11, - 55, 60,174, 64, 59, 24, 34, 4, 10, 51, 55, 59, 0, 2, 0, 87, 0,221, 4,121, 4, 39, 0, 8, 0, 17, 0, 0, 0, 32, 37, 53, - 4, 23, 50, 37, 21, 0, 32, 5, 21, 36, 39, 34, 5, 53, 3, 49,254,112,254,182, 1, 90,184,185, 1, 86,253, 40, 1,144, 1, 73, -254,167,184,185,254,169, 2,217,156,178,156, 7,163,178,254,182,156,178,156, 7,163,178, 0, 0, 0, 2, 0, 88, 0, 68, 4,122, - 4,190, 0, 29, 0, 59, 0, 0, 37, 22, 55, 54, 55, 54, 55, 33, 21, 35, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 35, 53, - 33, 22, 23, 22, 23, 22, 19, 6, 7, 6, 7, 6, 7, 33, 53, 51, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 51, 21, 33, 38, - 39, 38, 39, 38, 2,105, 49, 42, 43, 27, 21, 4, 1, 86,225, 9, 25, 27, 87, 74, 82, 78, 77, 82, 32, 25, 9,225, 1, 87, 4, 21, - 26, 44, 33, 58, 58, 33, 44, 26, 21, 4,254,169,225, 6, 28, 22, 92, 72, 83, 76, 80, 77, 37, 23, 11,225,254,170, 3, 22, 27, 43, - 42,223, 3, 37, 39, 72, 58, 94,168, 50, 58, 65, 60, 51, 51, 54, 71, 56, 52,168, 94, 58, 72, 39, 30, 3, 64, 4, 30, 39, 72, 63, - 89,168, 32, 76, 61, 64, 51, 51, 47, 78, 48, 60,168, 94, 58, 72, 39, 37, 0, 0, 0, 2, 0, 88, 1, 96, 4,122, 4,190, 0, 29, - 0, 33, 0, 0, 1, 6, 7, 6, 7, 6, 7, 33, 53, 51, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 51, 21, 33, 38, 39, 38, - 39, 38, 1, 33, 21, 33, 2,105, 58, 33, 44, 26, 21, 4,254,169,225, 6, 28, 22, 92, 72, 83, 76, 80, 77, 37, 23, 11,225,254,170, - 3, 22, 27, 43, 42,253,190, 4, 33,251,223, 4, 35, 4, 30, 39, 72, 63, 89,168, 32, 76, 61, 64, 51, 51, 47, 78, 48, 60,168, 94, - 58, 72, 39, 37,253,228,170, 0,255,255, 0, 88, 1, 96, 4,121, 5, 25, 16, 38, 0, 32, 0, 0, 16, 7, 7,208, 0, 2, 1,185, -255,255, 0, 88,255,233, 4,121, 5, 25, 16, 38, 0, 32, 0, 0, 16, 39, 7,208, 0, 2, 1,185, 16, 39, 7,208, 0, 2, 1,185, - 16, 7, 7,208, 0, 1,253,186,255,255, 0, 88,255,236, 4,121, 5, 25, 16, 39, 7,208, 1,148,253,189, 16, 38, 0, 32, 0, 0, - 16, 7, 7,208,254,111, 1,185,255,255, 0, 87,255,236, 4,122, 5, 25, 16, 39, 7,208, 1,148, 1,185, 16, 38, 0, 32, 0, 0, - 16, 7, 7,208,254,110,253,189, 0, 4, 0, 74, 1, 46, 4,135, 3,213, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, 19, 51, 17, 35, - 17, 51, 17, 35, 5, 21, 33, 53, 1, 21, 33, 53, 74,236,236,236,236, 4, 61,252,251, 3, 5,252,251, 2, 62,254,240, 2,167,254, -240,185,172,172, 1,150,170,170, 0, 4, 0, 74, 1, 46, 4,135, 3,213, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, 1, 17, 35, 17, - 19, 17, 35, 17, 1, 33, 21, 33, 17, 33, 21, 33, 4,135,236,236,236,252,175, 3, 5,252,251, 3, 5,252,251, 2, 62,254,240, 1, - 16, 1,151,254,240, 1, 16,254, 55,172, 2, 66,170, 0, 0, 0, 0, 2, 0, 88, 1, 96, 4,121, 3,162, 0, 9, 0, 27, 0, 0, - 1, 6, 21, 20, 23, 51, 54, 53, 38, 39, 23, 33, 21, 33, 53, 33, 38, 53, 52, 55, 33, 53, 33, 21, 33, 22, 21, 20, 2, 37, 52, 51, -145, 52, 1, 52,141, 1, 56,251,223, 1, 62, 25, 27,254,192, 4, 33,254,201, 26, 2,250, 48, 73, 71, 48, 48, 71, 71, 50,240,170, -170, 63, 56, 62, 59,168,168, 26, 95, 56, 0, 0, 0, 4, 0, 88, 1, 96, 4,121, 6, 21, 0, 3, 0, 7, 0, 17, 0, 32, 0, 0, - 19, 33, 21, 33, 17, 33, 21, 33, 1, 34, 6, 21, 20, 22, 50, 54, 52, 38, 39, 50, 22, 23, 30, 1, 21, 20, 6, 35, 34, 38, 53, 52, - 54, 88, 4, 33,251,223, 4, 33,251,223, 2, 17, 73,100,100,146,100,101, 72, 58,108, 39, 42, 42,169,122,123,164,168, 2, 12,172, - 2, 66,170, 2,172, 98, 70, 69, 96, 96,139, 98,113, 43, 40, 40,100, 58,115,161,158,118,118,163, 0, 3, 0, 88, 1, 96, 4,121, - 5, 75, 0, 3, 0, 7, 0, 17, 0, 0, 19, 33, 21, 33, 17, 33, 21, 33, 1, 50, 23, 21, 38, 39, 6, 7, 53, 54, 88, 4, 33,251, -223, 4, 33,251,223, 2, 18,230,203,215,218,216,220,210, 2, 12,172, 2, 66,170, 2, 83,151,178,151, 9, 2,158,178,151, 0, 0, - 0, 3, 0, 88, 1, 96, 4,121, 6, 68, 0, 3, 0, 7, 0, 14, 0, 0, 19, 33, 21, 33, 17, 33, 21, 33, 55, 19, 51, 19, 35, 11, - 1, 88, 4, 33,251,223, 4, 33,251,223,214,234,162,233,143,171,166, 2, 12,172, 2, 66,170,242, 2, 90,253,166, 1,170,254, 86, - 0, 3, 0, 88, 1, 96, 4,121, 6, 68, 0, 3, 0, 7, 0, 14, 0, 0, 19, 33, 21, 33, 17, 33, 21, 33, 19, 51, 27, 1, 51, 3, - 35, 88, 4, 33,251,223, 4, 33,251,223,214,149,166,171,143,233,162, 2, 12,172, 2, 66,170, 3, 76,254, 86, 1,170,253,166, 0, - 0, 3, 0, 88, 1, 96, 4,121, 6,165, 0, 3, 0, 7, 0, 17, 0, 0, 19, 33, 21, 33, 17, 33, 21, 33, 19, 33, 27, 1, 33, 7, - 19, 39, 7, 19, 88, 4, 33,251,223, 4, 33,251,223,176, 1, 13, 84, 85, 1, 12,218, 85,220,219, 84, 2, 12,172, 2, 66,170, 2, -173, 1, 0,255, 0,158,255, 0,159,159, 1, 0, 0, 4, 0, 88, 1, 96, 4,121, 6,176, 0, 3, 0, 7, 0, 10, 0, 14, 0, 0, - 19, 33, 21, 33, 17, 33, 21, 33, 1, 3, 33, 3, 51, 1, 33, 88, 4, 33,251,223, 4, 33,251,223, 2, 16,150, 1, 45,201,101, 1, - 4,253,147, 2, 12,172, 2, 66,170, 3, 21,254,122, 2, 40,253,105, 0, 0, 0, 0, 7, 0, 69, 1, 96, 4,140, 6, 29, 0, 3, - 0, 7, 0, 27, 0, 48, 0, 55, 0, 71, 0, 79, 0, 0, 19, 33, 21, 33, 17, 33, 21, 33, 1, 21, 35, 34, 6, 29, 1, 51, 21, 35, - 17, 35, 17, 35, 53, 51, 53, 52, 54, 51, 3, 21, 33, 30, 1, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 53, 52, 54, 51, 50, 22, 7, - 46, 1, 35, 34, 6, 7, 39, 53, 51, 17, 35, 53, 14, 1, 35, 34, 38, 52, 54, 51, 50, 22, 6, 20, 22, 50, 54, 52, 38, 34, 88, 4, - 33,251,223, 4, 33,251,223, 4, 52, 64, 35, 28,109,109, 67, 63, 63, 63, 68,237,254,208, 4, 74, 66, 38, 71, 36, 36, 75, 38, 97, -113,107, 91, 81, 95, 66, 1, 59, 49, 56, 66, 5,199, 67, 67, 21, 63, 45, 73, 92, 92, 73, 45, 63,204, 60,105, 60, 60,105, 2, 12, -172, 2, 66,170, 3, 36, 55, 29, 37, 36, 51,254,160, 1, 96, 51, 28, 68, 61,254,170, 32, 68, 72, 19, 18, 62, 15, 16,112, 96, 99, -116,105, 70, 54, 65, 63, 57,105,218,253,208, 61, 36, 35,116,190,117, 35,103,147, 83, 83,147, 83, 0, 3, 0, 88, 1, 96, 4,121, - 6, 20, 0, 3, 0, 7, 0, 42, 0, 0, 19, 33, 21, 33, 17, 33, 21, 33, 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, 88, 4, 33,251,223, 4, 33,251,223, 2, 46, - 34, 93, 63, 84, 92, 89, 56, 56, 69, 81, 89, 55, 58, 68, 81, 89, 89, 31, 85, 59, 59, 82, 2, 12,172, 2, 66,170, 2,165, 61, 58, -120,111,254,181, 1, 72, 79, 77, 93, 81,254,202, 1, 72, 80, 76, 94, 80,254,202, 2, 37, 85, 50, 48, 61, 0, 0, 0, 4, 0, 88, - 1, 96, 4,121, 6,218, 0, 3, 0, 7, 0, 11, 0, 44, 0, 0, 19, 33, 21, 33, 17, 33, 21, 33, 1, 51, 21, 35, 55, 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, 88, 4, 33, -251,223, 4, 33,251,223, 1,195,102,102, 99, 96, 28, 45, 45, 29, 25, 65, 54, 40, 89, 49, 47, 97, 51, 92,112, 36, 45, 44, 24, 19, - 4, 3, 3, 2, 12,172, 2, 66,170, 1,105,127,200, 78, 50, 65, 43, 44, 27, 47, 24, 45, 55, 35, 33, 94, 28, 28, 97, 79, 38, 69, - 43, 43, 23, 27, 13, 10, 30, 26, 0, 1, 0, 88, 0, 37, 4,121, 4,221, 0, 19, 0, 60, 64, 32, 13, 12, 10, 3, 2, 4, 0,160, - 6, 12, 14, 10,160, 18, 6, 16, 8, 20, 18, 14, 13, 12, 8, 4, 3, 2, 8, 9, 5, 15, 0, 20, 16,212, 60,196, 50, 23, 57, 49, - 0, 16,212, 60,196, 50,252, 60,196, 16,254, 60,196, 57, 17, 18, 57, 48, 19, 33, 19, 23, 7, 51, 21, 33, 7, 33, 21, 33, 3, 39, - 55, 35, 53, 33, 55, 33, 88, 2,135,246,125,164,203,254,178,184, 2, 6,253,121,248,125,164,201, 1, 74,184,253,254, 3,162, 1, - 59,102,213,170,236,172,254,197,104,211,172,236, 0, 3, 0, 88, 0,192, 4,121, 4, 66, 0, 3, 0, 7, 0, 11, 0, 0, 19, 33, - 21, 33, 21, 33, 21, 33, 17, 33, 21, 33, 88, 4, 33,251,223, 4, 33,251,223, 4, 33,251,223, 2,216,172,192,172, 3,130,170, 0, - 0, 1, 0, 88, 0, 10, 4,121, 4,250, 0, 27, 0, 0, 37, 35, 53, 33, 55, 33, 53, 33, 55, 33, 53, 33, 55, 23, 7, 51, 21, 33, - 7, 33, 21, 33, 7, 33, 21, 33, 7, 39, 1, 71,239, 1, 61, 88,254,107, 1,229, 88,253,195, 2,139, 85,141, 55,235,254,200, 89, - 1,145,254, 32, 90, 2, 58,253,119, 83,141,192,172,192,172,192,170,184, 65,119,170,192,172,192,172,182, 64, 0, 0, 4, 0, 88, - 0, 0, 4,121, 4,238, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, 55, 33, 21, 33, 17, 33, 21, 33, 21, 33, 21, 33, 17, 33, 21, 33, - 88, 4, 33,251,223, 4, 33,251,223, 4, 33,251,223, 4, 33,251,223,172,172, 3,132,172,192,172, 3,130,170, 0, 0, 2, 0, 88, - 0, 0, 4,121, 4, 63, 0, 6, 0, 10, 0, 40, 64, 22, 6, 5, 3, 2, 0, 5, 1,229, 4,228, 7,160, 8, 6, 7, 4, 0, 40, - 9, 2, 39, 11, 16,252, 60,236, 50, 50, 57, 49, 0, 47,236,244,236, 23, 57, 48, 1, 21, 1, 53, 1, 21, 5, 1, 21, 33, 53, 4, -121,251,223, 4, 33,252,223, 3, 33,251,223, 1,182,182, 1, 76,168, 1, 75,184,231,254, 10,170,170, 0, 0, 0, 0, 2, 0, 88, - 0, 0, 4,121, 4, 63, 0, 6, 0, 10, 0, 40, 64, 22, 5, 4, 2, 1, 0, 5, 6,229, 3,228, 7,160, 9, 1, 8, 4, 40, 7, - 2, 0, 39, 11, 16,252, 60, 60,236, 50, 57, 49, 0, 47,236,244,236, 23, 57, 48, 19, 45, 1, 53, 1, 21, 1, 21, 33, 21, 33, 88, - 3, 35,252,221, 4, 33,251,223, 4, 33,251,223, 1,182,234,231,184,254,181,168,254,180, 86,170, 0, 3, 0, 86,255, 84, 4,119, - 4,159, 0, 3, 0, 10, 0, 14, 0, 0, 51, 33, 21, 33, 1, 21, 1, 53, 1, 21, 5, 1, 21, 33, 53, 86, 4, 33,251,223, 4, 33, -251,223, 4, 33,252,223, 3, 33,251,223,172, 2,194,182, 1, 76,168, 1, 75,184,231,254, 10,170,170, 0, 0, 0, 0, 3, 0, 86, -255, 84, 4,119, 4,159, 0, 3, 0, 10, 0, 14, 0, 0, 51, 33, 21, 33, 17, 45, 1, 53, 1, 21, 1, 5, 21, 33, 53, 86, 4, 33, -251,223, 3, 33,252,223, 4, 33,251,223, 4, 33,251,223,172, 2,194,234,231,184,254,181,168,254,180, 86,170,170, 0, 2, 0, 86, -254,181, 4,119, 4,159, 0, 19, 0, 26, 0, 0, 5, 35, 53, 33, 55, 33, 53, 33, 55, 23, 7, 51, 21, 33, 7, 33, 21, 33, 7, 39, - 1, 21, 1, 53, 1, 21, 5, 1, 32,202, 1,112, 91,254, 53, 2,109,154,123, 42,201,254,149, 91, 1,198,253,148,153,121, 3,126, -251,223, 4, 33,252,223,172,172, 96,170,161,117, 44,170, 96,172,159,118, 2,235,182, 1, 76,168, 1, 75,184,231, 0, 2, 0, 86, -254,181, 4,119, 4,159, 0, 19, 0, 26, 0, 0, 5, 35, 53, 33, 55, 33, 53, 33, 55, 23, 7, 51, 21, 33, 7, 33, 21, 33, 7, 39, - 3, 45, 1, 53, 1, 21, 1, 1, 32,202, 1,112, 91,254, 53, 2,109,154,123, 42,201,254,149, 91, 1,198,253,148,153,121,163, 3, - 33,252,223, 4, 33,251,223,172,172, 96,170,161,117, 44,170, 96,172,159,118, 2,235,234,231,184,254,181,168,254,180, 0, 0, 0, - 0, 1, 0, 87, 0, 0, 4,121, 5, 4, 0, 27, 0, 0, 1, 38, 37, 53, 4, 55, 19, 23, 3, 54, 55, 21, 6, 15, 1, 22, 5, 21, - 36, 7, 3, 39, 19, 6, 7, 53, 54, 55, 2, 52,189,254,224, 1, 91,216,194,154,130,122,154,216,162, 98,190, 1, 31,254,165,216, -193,154,129,124,152,219,160, 2,219, 18,136,178,170, 8, 1,127, 77,254,254, 41, 73,178,103, 35,194, 18,136,178,170, 8,254,129, - 77, 1, 2, 40, 74,178,104, 35, 0, 2, 0, 88,255,227, 4,121, 5, 32, 0, 15, 0, 18, 0, 0, 1, 37, 53, 37, 19, 23, 7, 37, - 21, 5, 3, 5, 21, 37, 3, 39, 19, 5, 23, 1,225,254,119, 2, 50,114,153, 75, 1, 47,254,146,100, 1,210,253,254,116,153,228, -254,217,233, 1,148,155,166,222, 1,109, 48,241,120,182,138,254,187,174,183,203,254,139, 48, 2,221,111, 86, 0, 0, 2, 0, 88, -255,227, 4,121, 5, 32, 0, 15, 0, 18, 0, 0, 1, 5, 21, 5, 3, 39, 55, 5, 53, 37, 19, 37, 53, 5, 19, 23, 3, 37, 39, 2, -240, 1,137,253,206,114,153, 75,254,209, 1,110,100,254, 46, 2, 2,116,153,228, 1, 39,233, 3,111,155,166,222,254,147, 48,241, -120,182,138, 1, 69,174,183,203, 1,117, 48,253, 35,111, 86, 0, 0, 2, 0, 88,255, 13, 4,121, 5, 8, 0, 2, 0, 26, 0, 0, - 1, 5, 23, 3, 33, 53, 33, 19, 37, 53, 37, 19, 23, 7, 37, 21, 5, 7, 5, 21, 37, 7, 33, 21, 33, 7, 39, 2, 88,255, 0,211, -199,254,244, 1, 67, 95,254, 94, 2, 63,115,161, 77, 1, 27,254,164, 78, 1,170,254, 35, 78, 2, 43,253,158, 80,162, 2,234, 74, - 62,253,158,170, 1, 31,131,168,180, 1, 96, 53,237, 89,184,100,241,124,182,150,236,170,243, 53, 0, 2, 0, 88,255, 13, 4,121, - 5, 8, 0, 23, 0, 26, 0, 0, 1, 5, 21, 5, 7, 33, 21, 33, 7, 39, 55, 35, 53, 51, 55, 5, 53, 37, 55, 37, 53, 5, 19, 23, - 3, 55, 39, 2,224, 1,153,253,203, 78, 2,131,253, 69, 79,162, 62,179,235, 58,254,219, 1,102, 76,254, 78, 1,230,116,161,208, -248,206, 3,116,128,168,177,241,170,243, 53,190,170,178, 92,182,104,236,125,184,152, 1, 97, 53,253,133, 72, 60, 0, 2, 0, 86, -255,212, 4,119, 4, 63, 0, 28, 0, 35, 0, 0, 37, 21, 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, - 23, 22, 23, 22, 23, 22, 51, 50, 54, 19, 21, 1, 53, 1, 21, 5, 4,119, 75,143, 79, 90,113, 22, 11, 77,103, 51, 79,141, 73, 78, -146, 83, 53, 50, 39, 86, 10, 22,116, 93, 70,137, 74,251,223, 4, 33,252,223,245,175, 59, 55, 51, 10, 4, 34, 24, 59, 64,174, 60, - 55, 11, 9, 34, 4, 11, 54, 60, 1, 0,182, 1, 76,168, 1, 75,184,231, 0, 0, 0, 2, 0, 86,255,212, 4,119, 4, 63, 0, 33, - 0, 40, 0, 0, 37, 21, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 35, 34, 7, 6, 7, 53, 54, 55, 54, 51, 50, 23, 22, 23, 22, - 23, 22, 51, 50, 55, 54, 1, 45, 1, 53, 1, 21, 1, 4,119, 75, 72, 71, 79, 90,113, 22, 11, 77, 51, 52, 51, 79, 70, 71, 73, 78, - 73, 73, 83, 53, 50, 39, 86, 10, 22,116, 93, 70, 68, 69,252, 41, 3, 33,252,223, 4, 33,251,223,245,175, 59, 27, 28, 51, 10, 4, - 34, 12, 12, 29, 30, 64,174, 60, 28, 27, 11, 9, 34, 4, 11, 54, 30, 30, 1, 0,234,231,184,254,181,168,254,180, 0, 2, 0, 86, -255, 13, 4,119, 5, 8, 0, 43, 0, 46, 0, 0, 37, 34, 6, 7, 53, 62, 1, 51, 50, 23, 55, 37, 53, 37, 19, 23, 7, 37, 21, 5, - 7, 5, 21, 37, 7, 22, 23, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 39, 38, 39, 38, 39, 3, 39, 1, 5, 23, 1,125, 81,141, 73, - 78,146, 83, 21, 21, 69,254, 94, 2, 65,115,161, 77, 1, 25,254,167, 80, 1,169,254, 35, 66, 24, 29,116, 93, 70,137, 74, 75,143, - 79, 90,113, 22, 11, 32, 28, 95,162, 1, 52,254,253,213, 79, 59, 64,174, 60, 55, 2,214,131,168,181, 1, 95, 53,236, 88,184, 99, -242,124,182,150,207, 8, 15, 54, 60, 63,175, 59, 55, 51, 10, 4, 14, 11,254,223, 53, 3,169, 75, 62, 0, 0, 0, 0, 2, 0, 86, -255, 13, 4,119, 5, 8, 0, 2, 0, 50, 0, 0, 1, 55, 39, 55, 5, 21, 5, 7, 22, 23, 22, 23, 22, 51, 50, 55, 54, 55, 21, 6, - 7, 6, 35, 34, 39, 38, 39, 38, 39, 3, 39, 19, 6, 7, 6, 7, 53, 54, 55, 54, 63, 1, 5, 53, 37, 55, 37, 53, 5, 19, 23, 2, -131,244,202, 51, 1,151,253,205, 59, 24, 76, 10, 22,116, 93, 70, 68, 69, 74, 71, 76, 71, 79, 90,113, 22, 11, 80, 60,103,162, 85, - 31, 29, 71, 73, 78, 73, 53, 58, 34,254,216, 1,103, 78,254, 75, 1,232,116,161, 2, 89, 71, 59,152,127,168,177,184, 5, 31, 4, - 11, 54, 30, 30, 63,175, 56, 30, 28, 51, 10, 4, 36, 13,254,199, 53, 1, 3, 7, 12, 30, 64,174, 60, 28, 20, 5,106, 93,182,105, -234,126,184,153, 1, 98, 53, 0, 0, 2, 0, 86,255, 74, 4,119, 4,211, 0, 6, 0, 13, 0, 0, 51, 45, 1, 53, 1, 21, 9, 1, - 21, 1, 53, 1, 21, 5, 86, 3, 33,252,223, 4, 33,251,223, 4, 33,251,223, 4, 33,252,223,234,231,184,254,181,168,254,180, 3, - 0,182, 1, 76,168, 1, 75,184,231, 0, 0, 0, 0, 2, 0, 86,255, 74, 4,119, 4,211, 0, 6, 0, 13, 0, 0, 33, 21, 1, 53, - 1, 21, 5, 1, 45, 1, 53, 1, 21, 1, 4,119,251,223, 4, 33,252,223,255, 0, 3, 33,252,223, 4, 33,251,223,182, 1, 76,168, - 1, 75,184,231, 1, 96,234,231,184,254,181,168,254,180, 0, 0, 0, 3, 0, 86,254,112, 4,119, 5,177, 0, 2, 0, 30, 0, 33, - 0, 0, 1, 5, 31, 1, 5, 21, 37, 7, 5, 21, 5, 3, 39, 55, 7, 53, 37, 19, 37, 53, 5, 55, 37, 53, 37, 19, 23, 7, 55, 21, - 5, 3, 37, 39, 2,132,254,210,252,163, 1,130,254, 78, 25, 1,203,253,155,109,162, 76,249, 1, 52, 80,254,124, 1,181, 24,254, - 51, 2,104,110,162, 76,245,254,206,250, 1, 44,250, 3,139, 87, 74, 47,113,182,136, 78,144,168,193,254,155, 48,248, 78,182, 90, - 1, 7,112,184,137, 79,145,168,193, 1,104, 50,249, 77,184, 88,252,207, 88, 72, 0, 3, 0, 86,254,112, 4,119, 5,177, 0, 27, - 0, 30, 0, 33, 0, 0, 1, 23, 3, 5, 21, 5, 7, 37, 21, 5, 7, 5, 21, 37, 3, 39, 19, 37, 53, 37, 55, 5, 53, 37, 55, 37, - 53, 5, 1, 55, 7, 1, 7, 55, 3, 44,162,126, 1, 39,254, 98, 29, 1,187,254, 10, 48, 2, 38,253,170,124,162,125,254,214, 1, -162, 29,254, 65, 1,249, 48,253,215, 2, 89,254,255, 17,105, 1,204, 17,102, 5,177, 50,254,101, 92,168,130, 96,139,184,145,159, -161,182,188,254,106, 48, 1,152, 94,168,131, 95,140,182,147,158,160,184,188,252,185, 56, 30, 2, 99, 55, 30, 0, 0, 1, 0, 86, -255,211, 4,119, 5, 47, 0, 10, 0, 0, 1, 0, 5, 4, 1, 21, 0, 37, 53, 36, 1, 4,119,254,185,254, 92, 1,172, 1, 63,254, -185,253, 38, 2,222, 1, 67, 4, 64,254,152, 87, 97,254,162,239, 1,197,150,166,148, 1,199, 0, 0, 1, 0, 88,255,211, 4,121, - 5, 47, 0, 10, 0, 0, 19, 53, 0, 5, 21, 4, 1, 53, 0, 37, 36, 88, 1, 67, 2,222,253, 38,254,185, 1, 63, 1,172,254, 92, - 4, 64,239,254, 57,148,166,150,254, 59,239, 1, 94, 97, 87, 0, 0, 2, 0, 86,255, 4, 4,119, 5,177, 0, 9, 0, 24, 0, 0, - 37, 38, 37, 53, 4, 23, 4, 23, 21, 38, 19, 0, 5, 4, 1, 21, 38, 37, 38, 37, 53, 36, 55, 36, 55, 2,164,224,254,146, 1,112, -222, 1, 8,203,177,177,254,221,254,108, 1,148, 1, 35,183,254,228,247,254,169, 1, 97,237, 1, 28,183,155,154, 54,200, 56,131, -156,220,252,207, 4,239,254,208, 79, 93,254,222,239,201,151,130, 57,166, 61,125,150,203, 0, 0, 0, 2, 0, 86,255, 4, 4,119, - 5,177, 0, 9, 0, 24, 0, 0, 37, 4, 7, 53, 54, 37, 54, 37, 21, 4, 1, 53, 22, 5, 22, 5, 21, 4, 7, 4, 7, 53, 0, 37, - 36, 2, 41,254,222,177,203, 1, 8,222, 1,112,254,146,253, 77,183, 1, 28,237, 1, 97,254,169,247,254,228,183, 1, 35, 1,148, -254,108,155,200,207,252,220,156,131, 56,200, 54, 3,141,239,203,150,125, 61,166, 57,130,151,201,239, 1, 34, 93, 79, 0, 0, 0, - 0, 2, 0, 86,255,142, 4,119, 5,177, 0, 27, 0, 42, 0, 0, 37, 21, 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, - 62, 1, 51, 50, 22, 23, 22, 23, 22, 51, 50, 54, 19, 0, 5, 4, 1, 21, 38, 37, 38, 37, 53, 36, 55, 36, 55, 4,119, 75,143, 79, - 90,113, 22, 11, 77,103, 51, 79,141, 73, 78,146, 83, 53,100, 75, 10, 22,116, 93, 70,137, 74,254,221,254,108, 1,148, 1, 35,183, -254,228,247,254,169, 1, 97,237, 1, 28,183,175,175, 59, 55, 51, 10, 4, 34, 24, 59, 64,174, 60, 55, 22, 32, 4, 11, 54, 60, 4, - 82,254,208, 79, 93,254,222,239,201,151,130, 57,166, 61,125,150,203, 0, 0, 0, 0, 2, 0, 86,255,142, 4,119, 5,177, 0, 27, - 0, 42, 0, 0, 37, 21, 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 22, 23, 22, 51, 50, 54, - 1, 53, 22, 5, 22, 5, 21, 4, 7, 4, 7, 53, 0, 37, 36, 4,119, 75,143, 79, 90,113, 22, 11, 77,103, 51, 79,141, 73, 78,146, - 83, 53,100, 75, 10, 22,116, 93, 70,137,252, 41,183, 1, 28,237, 1, 97,254,169,247,254,231,186, 1, 35, 1,148,254,108,175,175, - 59, 55, 51, 10, 4, 34, 24, 59, 64,174, 60, 55, 22, 32, 4, 11, 54, 60, 4, 82,239,203,150,125, 61,166, 57,130,148,204,239, 1, - 34, 93, 79, 0, 0, 2, 0, 86,255, 91, 4,119, 5,167, 0, 21, 0, 26, 0, 0, 1, 23, 3, 54, 55, 21, 6, 7, 3, 22, 23, 21, - 38, 37, 3, 39, 19, 38, 39, 53, 36, 55, 3, 55, 6, 7, 22, 3, 52,163,104,155,109,160,181, 85,233,193,178,254,214,160,162,166, -192,233, 1, 71,246, 99, 32, 95,101, 84, 5,167, 50,254,170,119,153,239,176,110,254,235,119,212,239,247,157,253,244, 50, 2, 34, - 79, 48,166, 66,127,254,188,106, 37, 21, 19, 0, 0, 2, 0, 86,255, 91, 4,119, 5,167, 0, 21, 0, 26, 0, 0, 5, 39, 19, 6, - 7, 53, 54, 55, 19, 38, 39, 53, 22, 5, 19, 23, 3, 22, 23, 21, 4, 7, 19, 7, 54, 55, 38, 1,153,163,104,155,109,160,181, 85, -233,193,178, 1, 42,160,162,166,192,233,254,185,246, 99, 32, 95,101, 84,165, 50, 1, 86,119,153,239,176,110, 1, 21,119,212,239, -247,157, 2, 12, 50,253,222, 79, 48,166, 66,127, 1, 68,106, 37, 21, 19, 0, 0, 0, 1, 0, 88, 0,163, 4,121, 4, 95, 0, 20, - 0, 0, 37, 33, 34, 39, 38, 53, 52, 55, 54, 51, 33, 21, 33, 34, 6, 21, 20, 23, 22, 51, 33, 4,121,253,189,201,138,139,139,138, -200, 2, 68,253,188,137,190, 95, 96,136, 2, 68,163,139,139,200,198,141,139,150,192,136,138, 94, 96, 0, 0, 0, 0, 1, 0, 88, - 0,163, 4,121, 4, 95, 0, 20, 0, 0, 55, 53, 33, 50, 55, 54, 53, 52, 38, 35, 33, 53, 33, 50, 23, 22, 21, 20, 7, 6, 35, 88, - 2, 68,136, 96, 95,190,137,253,188, 2, 68,200,138,139,139,138,201,163,150, 96, 94,138,136,192,150,139,141,198,200,139,139, 0, - 0, 2, 0, 88,255,196, 4,121, 5, 62, 0, 8, 0, 32, 0, 0, 1, 35, 34, 6, 21, 20, 23, 22, 23, 7, 38, 39, 38, 53, 52, 55, - 54, 59, 1, 55, 23, 7, 33, 21, 33, 3, 33, 21, 33, 34, 35, 7, 39, 2,127, 74,137,190, 95, 43, 51, 48, 84, 68,139,139,138,200, -126, 75,161, 57, 1, 19,254,186,221, 2, 35,253,189, 10, 10, 75,162, 3,201,192,136,138, 94, 43, 24,144, 35, 69,139,200,198,141, -139,223, 53,170,150,253,112,150,223, 53, 0, 0, 0, 2, 0, 88,255,196, 4,121, 5, 62, 0, 8, 0, 32, 0, 0, 1, 51, 50, 54, - 53, 52, 39, 38, 39, 55, 22, 23, 22, 21, 20, 7, 6, 43, 1, 7, 39, 55, 33, 53, 33, 19, 33, 53, 33, 50, 51, 55, 23, 2, 82, 74, -137,190, 95, 43, 51, 48, 84, 68,139,139,138,200,126, 75,161, 57,254,237, 1, 70,221,253,221, 2, 67, 10, 10, 75,162, 1, 57,192, -136,138, 94, 43, 24,144, 35, 69,139,200,198,141,139,223, 53,170,150, 2,144,150,223, 53, 0, 0, 0, 2, 0, 88, 0, 0, 4,121, - 5, 0, 0, 3, 0, 24, 0, 0, 37, 21, 33, 53, 37, 33, 34, 39, 38, 53, 52, 55, 54, 51, 33, 21, 33, 34, 6, 21, 20, 23, 22, 51, - 33, 4,121,251,223, 4, 33,253,189,201,138,139,139,138,200, 2, 68,253,188,137,190, 95, 96,136, 2, 68,170,170,170,154,139,139, -200,198,141,139,150,192,136,138, 94, 96, 0, 0, 0, 2, 0, 88, 0, 0, 4,121, 5, 0, 0, 3, 0, 24, 0, 0, 37, 21, 33, 61, - 2, 33, 50, 55, 54, 53, 52, 38, 35, 33, 53, 33, 50, 23, 22, 21, 20, 7, 6, 35, 4,121,251,223, 2, 68,136, 96, 95,190,137,253, -188, 2, 68,200,138,139,139,138,201,170,170,170,154,150, 96, 94,138,136,192,150,139,141,198,200,139,139, 0, 0, 0, 2, 0, 88, -255, 44, 4,121, 5,214, 0, 29, 0, 38, 0, 0, 37, 33, 21, 33, 7, 39, 55, 35, 53, 33, 55, 38, 39, 38, 53, 52, 55, 54, 59, 1, - 55, 23, 7, 51, 21, 33, 3, 33, 21, 33, 19, 35, 34, 6, 21, 20, 23, 22, 23, 2, 36, 2, 85,253,114, 71,159, 54,227, 1, 27, 58, -113, 89,139,139,138,200,178, 71,158, 53,226,254,236,220, 1,240,253,221, 94,127,137,190, 95, 61, 82,170,170,212, 53,159,170,172, - 32, 89,139,200,198,141,139,214, 53,161,150,253,112,150, 3, 38,192,136,136, 96, 61, 23, 0, 0, 0, 2, 0, 88,255, 44, 4,121, - 5,214, 0, 33, 0, 43, 0, 0, 1, 22, 23, 22, 21, 20, 7, 6, 43, 1, 7, 33, 21, 33, 7, 39, 55, 35, 53, 33, 55, 33, 53, 33, - 19, 38, 35, 33, 53, 33, 50, 23, 55, 23, 1, 51, 50, 55, 54, 53, 52, 39, 38, 39, 3,131, 57, 50,139,139,138,201, 68, 52, 2, 86, -253,113, 70,159, 53,226, 1, 27, 51,254,178, 1,129,219, 12, 12,253,188, 2, 68, 38, 35, 73,158,254,188, 20,136, 96, 95, 95, 24, - 26, 4,199, 32, 50,141,198,200,139,139,154,170,212, 53,159,170,154,150, 2,143, 1,150, 5,219, 53,252, 57, 96, 94,138,136, 96, - 24, 18, 0, 0, 0, 1, 0, 88,255, 48, 4,121, 5, 0, 0, 33, 0, 0, 37, 21, 33, 7, 39, 55, 33, 53, 33, 55, 35, 34, 39, 38, - 53, 52, 55, 54, 51, 33, 21, 33, 34, 6, 21, 20, 23, 22, 51, 33, 21, 33, 23, 7, 4,121,254, 24,167,132, 82,254,160, 1,232,124, -134,201,138,139,139,138,200, 2, 68,253,188,137,190, 95, 97,135, 2, 68,254,177, 65, 81,170,170,208,106,102,170,154,139,140,199, -198,141,139,150,192,136,138, 94, 96,150, 53,101, 0, 1, 0, 88,255, 48, 4,121, 5, 0, 0, 34, 0, 0, 37, 21, 33, 7, 39, 55, - 33, 53, 33, 55, 6, 35, 33, 53, 33, 50, 55, 54, 53, 52, 38, 35, 33, 53, 33, 50, 23, 22, 21, 20, 7, 6, 7, 23, 7, 4,121,254, - 24,167,132, 82,254,160, 1,232,124, 16, 17,253,189, 2, 68,135, 97, 95,190,137,253,188, 2, 68,200,138,139,139, 93,122, 84, 81, -170,170,208,106,102,170,155, 1,150, 96, 94,138,136,192,150,139,141,198,199,140, 94, 30, 68,101, 0, 1, 0, 88, 0,119, 4,121, - 4,139, 0, 7, 0, 49, 0,176, 6, 47,176, 7, 51,177, 4, 4,237,177, 5, 4,237,176, 2,176, 4, 16,222,176, 3, 50,177, 0, - 4,237,177, 1, 4,237, 1,176, 0, 47,176, 7, 51,177, 3, 4,237,177, 4, 4,237, 48, 49, 19, 33, 21, 33, 17, 33, 21, 33, 88, - 4, 33,252,137, 3,119,251,223, 4,139,170,253, 64,170, 0, 0, 0, 1, 0, 88, 0,119, 4,121, 4,139, 0, 7, 0, 49, 0,176, - 1, 47,176, 2, 51,177, 3, 4,237,177, 4, 4,237,176, 5,176, 3, 16,222,176, 6, 50,177, 0, 4,237,177, 7, 4,237, 1,176, - 4, 47,176, 5, 51,177, 0, 4,237,177, 1, 4,237, 48, 49, 1, 17, 33, 53, 33, 17, 33, 53, 4,121,251,223, 3,119,252,137, 4, -139,251,236,170, 2,192,170, 0, 0, 2, 0, 88, 0, 14, 4,121, 4,244, 0, 3, 0, 11, 0, 72, 0,176, 2, 47,176, 3, 51,177, - 0, 4,237,177, 1, 4,237,176, 10,176, 0, 16,222,176, 11, 50,177, 8, 4,237,177, 9, 4,237,176, 6,176, 8, 16,222,176, 7, - 50,177, 4, 4,237,177, 5, 4,237, 1,176, 0, 47,176, 3, 51,176, 4, 51,176, 11, 51,177, 7, 4,237,177, 8, 4,237, 48, 49, - 55, 33, 21, 33, 17, 33, 21, 33, 17, 33, 21, 33, 88, 4, 33,251,223, 4, 33,252,137, 3,119,251,223,184,170, 4,230,170,253,152, -170, 0, 0, 0, 0, 2, 0, 88, 0, 14, 4,121, 4,244, 0, 3, 0, 11, 0, 74, 0,176, 1, 47,176, 2, 51,177, 0, 4,237,177, - 3, 4,237,176, 5,176, 0, 16,222,176, 6, 50,177, 7, 4,237,177, 8, 4,237,176, 9,176, 7, 16,222,176, 10, 50,177, 4, 4, -237,177, 11, 4,237, 1,176, 8, 47,176, 9, 51,177, 0, 4,237,177, 1, 4,237,177, 4, 4,237,177, 5, 4,237, 48, 49, 37, 21, - 33, 53, 1, 17, 33, 53, 33, 17, 33, 53, 4,121,251,223, 4, 33,251,223, 3,119,252,137,184,170,170, 4, 60,252, 68,170, 2,104, -170, 0, 0, 0, 0, 3, 0, 79, 0,105, 4,130, 4,158, 0, 25, 0, 51, 0, 63, 0, 0, 0, 50, 22, 23, 22, 23, 22, 21, 20, 7, - 6, 7, 14, 1, 34, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 4, 34, 7, 6, 7, 14, 1, 21, 20, 22, 23, 22, 23, 22, 50, 55, - 54, 55, 62, 1, 53, 52, 38, 39, 38, 39, 7, 51, 17, 33, 21, 33, 17, 35, 17, 33, 53, 33, 1,250,221,190, 79, 79, 39, 39, 39, 39, - 79, 79,190,221,190, 79, 79, 39, 39, 39, 39, 79, 79, 1,126,163, 71, 69, 58, 59, 57, 57, 59, 58, 69, 71,163, 70, 70, 58, 59, 57, - 57, 59, 58, 70,222,140, 1, 20,254,236,140,254,237, 1, 19, 4,158, 80, 79, 79, 95, 95,112,109, 95, 95, 79, 78, 80, 80, 78, 79, - 95, 95,109,112, 95, 95, 79, 79, 61, 30, 30, 57, 59,140, 83, 80,140, 59, 57, 30, 30, 30, 30, 57, 59,140, 80, 83,140, 59, 57, 30, - 22,254,235,140,254,238, 1, 18,140, 0, 0, 0, 0, 3, 0, 79, 0,105, 4,130, 4,158, 0, 25, 0, 51, 0, 55, 0, 0, 0, 50, - 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 14, 1, 34, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 4, 34, 7, 6, 7, 14, 1, 21, - 20, 22, 23, 22, 23, 22, 50, 55, 54, 55, 62, 1, 53, 52, 38, 39, 38, 39, 19, 21, 33, 53, 1,250,221,190, 79, 79, 39, 39, 39, 39, - 79, 79,190,221,190, 79, 79, 39, 39, 39, 39, 79, 79, 1,126,163, 71, 69, 58, 59, 57, 57, 59, 58, 69, 71,163, 70, 70, 58, 59, 57, - 57, 59, 58, 70,194,253, 77, 4,158, 80, 79, 79, 95, 95,112,109, 95, 95, 79, 78, 80, 80, 78, 79, 95, 95,109,112, 95, 95, 79, 79, - 61, 30, 30, 57, 59,140, 83, 80,140, 59, 57, 30, 30, 30, 30, 57, 59,140, 80, 83,140, 59, 57, 30,254,213,140,140, 0, 3, 0, 79, - 0,105, 4,130, 4,158, 0, 25, 0, 51, 0, 63, 0, 0, 0, 50, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 14, 1, 34, 38, 39, 38, - 39, 38, 53, 52, 55, 54, 55, 54, 4, 34, 7, 6, 7, 14, 1, 21, 20, 22, 23, 22, 23, 22, 50, 55, 54, 55, 62, 1, 53, 52, 38, 39, - 38, 39, 5, 55, 23, 55, 23, 7, 23, 7, 39, 7, 39, 55, 1,250,221,190, 79, 79, 39, 39, 39, 39, 79, 79,190,221,190, 79, 79, 39, - 39, 39, 39, 79, 79, 1,126,163, 71, 69, 58, 59, 57, 57, 59, 58, 69, 71,163, 70, 70, 58, 59, 57, 57, 59, 58, 70,254, 66, 99,196, -195, 99,195,194, 99,194,194, 99,194, 4,158, 80, 79, 79, 95, 95,112,109, 95, 95, 79, 78, 80, 80, 78, 79, 95, 95,109,112, 95, 95, - 79, 79, 61, 30, 30, 57, 59,140, 83, 80,140, 59, 57, 30, 30, 30, 30, 57, 59,140, 80, 83,140, 59, 57, 30,173, 99,196,195, 99,195, -194, 99,194,194, 99,194, 0, 0, 0, 3, 0, 79, 0,105, 4,130, 4,158, 0, 25, 0, 51, 0, 55, 0, 0, 0, 50, 22, 23, 22, 23, - 22, 21, 20, 7, 6, 7, 14, 1, 34, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 4, 34, 7, 6, 7, 14, 1, 21, 20, 22, 23, 22, - 23, 22, 50, 55, 54, 55, 62, 1, 53, 52, 38, 39, 38, 39, 31, 1, 1, 39, 1,250,221,190, 79, 79, 39, 39, 39, 39, 79, 79,190,221, -190, 79, 79, 39, 39, 39, 39, 79, 79, 1,126,163, 71, 69, 58, 59, 57, 57, 59, 58, 69, 71,163, 70, 70, 58, 59, 57, 57, 59, 58, 70, - 44, 99,254, 24, 99, 4,158, 80, 79, 79, 95, 95,112,109, 95, 95, 79, 78, 80, 80, 78, 79, 95, 95,109,112, 95, 95, 79, 79, 61, 30, - 30, 57, 59,140, 83, 80,140, 59, 57, 30, 30, 30, 30, 57, 59,140, 80, 83,140, 59, 57, 30, 75, 99,254, 24, 99, 0, 0, 3, 0, 79, - 0,105, 4,130, 4,158, 0, 3, 0, 29, 0, 55, 0, 0, 1, 51, 17, 35, 18, 50, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 14, 1, - 34, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 4, 34, 7, 6, 7, 14, 1, 21, 20, 22, 23, 22, 23, 22, 50, 55, 54, 55, 62, 1, - 53, 52, 38, 39, 38, 39, 1,233,252,252, 17,221,190, 79, 79, 39, 39, 39, 39, 79, 79,190,221,190, 79, 79, 39, 39, 39, 39, 79, 79, - 1,126,163, 71, 69, 58, 59, 57, 57, 59, 58, 69, 71,163, 70, 70, 58, 59, 57, 57, 59, 58, 70, 3, 16,254,207, 2,191, 80, 79, 79, - 95, 95,112,109, 95, 95, 79, 78, 80, 80, 78, 79, 95, 95,109,112, 95, 95, 79, 79, 61, 30, 30, 57, 59,140, 83, 80,140, 59, 57, 30, - 30, 30, 30, 57, 59,140, 80, 83,140, 59, 57, 30, 0, 4, 0, 79, 0,105, 4,130, 4,158, 0, 14, 0, 24, 0, 50, 0, 76, 0, 0, - 1, 50, 22, 23, 30, 1, 21, 20, 6, 35, 34, 38, 53, 52, 54, 22, 34, 6, 20, 22, 51, 50, 54, 53, 52, 2, 50, 22, 23, 22, 23, 22, - 21, 20, 7, 6, 7, 14, 1, 34, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 4, 34, 7, 6, 7, 14, 1, 21, 20, 22, 23, 22, 23, - 22, 50, 55, 54, 55, 62, 1, 53, 52, 38, 39, 38, 39, 2,104, 55, 98, 37, 38, 39,156,113,113,151,154,167,110, 78, 76, 56, 56, 79, -244,221,190, 79, 79, 39, 39, 39, 39, 79, 79,190,221,190, 79, 79, 39, 39, 39, 39, 79, 79, 1,126,163, 71, 69, 58, 59, 57, 57, 59, - 58, 69, 71,163, 70, 70, 58, 59, 57, 57, 59, 58, 70, 3,143, 41, 39, 37, 96, 56,110,154,151,113,113,156,135, 77,112, 76, 77, 55, - 55, 1,228, 80, 79, 79, 95, 95,112,109, 95, 95, 79, 78, 80, 80, 78, 79, 95, 95,109,112, 95, 95, 79, 79, 61, 30, 30, 57, 59,140, - 83, 80,140, 59, 57, 30, 30, 30, 30, 57, 59,140, 80, 83,140, 59, 57, 30, 0, 0, 0, 7, 0, 79, 0,105, 4,130, 4,158, 0, 25, - 0, 33, 0, 39, 0, 47, 0, 55, 0, 61, 0, 69, 0, 0, 0, 50, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 14, 1, 34, 38, 39, 38, - 39, 38, 53, 52, 55, 54, 55, 54, 5, 17, 37, 38, 39, 38, 39, 38, 13, 2, 54, 53, 52, 3, 39, 17, 54, 55, 54, 55, 54, 5, 17, 7, - 22, 23, 22, 23, 22, 45, 2, 6, 21, 20, 19, 5, 17, 6, 7, 6, 7, 6, 1,250,221,190, 79, 79, 39, 39, 39, 39, 79, 79,190,221, -190, 79, 79, 39, 39, 39, 39, 79, 79, 1,102, 0,255, 15, 18, 58, 70, 45, 1, 6,254,236, 1, 19, 28, 84,254, 49, 45, 70, 58, 17, -254,158,254, 15, 17, 58, 69, 46,254,251, 1, 19,254,236, 27, 83, 0,255, 49, 46, 69, 58, 18, 4,158, 80, 79, 79, 95, 95,112,109, - 95, 95, 79, 78, 80, 80, 78, 79, 95, 95,109,112, 95, 95, 79, 79, 65,254,207,154, 19, 19, 57, 30, 19,238,150,150, 70, 80, 81,254, -188,153,254,210, 7, 19, 30, 57, 18,131, 1, 46,153, 18, 18, 57, 30, 19,235,150,150, 69, 81, 80, 1, 68,154, 1, 49, 7, 19, 30, - 57, 19, 0, 0, 0, 4, 0, 79, 0,105, 4,130, 4,158, 0, 3, 0, 7, 0, 33, 0, 59, 0, 0, 1, 33, 21, 33, 17, 33, 21, 33, - 18, 50, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 14, 1, 34, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 4, 34, 7, 6, 7, 14, - 1, 21, 20, 22, 23, 22, 23, 22, 50, 55, 54, 55, 62, 1, 53, 52, 38, 39, 38, 39, 1, 43, 2,123,253,133, 2,123,253,133,207,221, -190, 79, 79, 39, 39, 39, 39, 79, 79,190,221,190, 79, 79, 39, 39, 39, 39, 79, 79, 1,126,163, 71, 69, 58, 59, 57, 57, 59, 58, 69, - 71,163, 70, 70, 58, 59, 57, 57, 59, 58, 70, 2, 59,103, 1, 90,102, 1,214, 80, 79, 79, 95, 95,112,109, 95, 95, 79, 78, 80, 80, - 78, 79, 95, 95,109,112, 95, 95, 79, 79, 61, 30, 30, 57, 59,140, 83, 80,140, 59, 57, 30, 30, 30, 30, 57, 59,140, 80, 83,140, 59, - 57, 30, 0, 0, 0, 3, 0, 79, 0,105, 4,130, 4,158, 0, 25, 0, 51, 0, 55, 0, 0, 0, 50, 22, 23, 22, 23, 22, 21, 20, 7, - 6, 7, 14, 1, 34, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 4, 34, 7, 6, 7, 14, 1, 21, 20, 22, 23, 22, 23, 22, 50, 55, - 54, 55, 62, 1, 53, 52, 38, 39, 38, 39, 19, 33, 53, 33, 1,250,221,190, 79, 79, 39, 39, 39, 39, 79, 79,190,221,190, 79, 79, 39, - 39, 39, 39, 79, 79, 1,126,163, 71, 69, 58, 59, 57, 57, 59, 58, 69, 71,163, 70, 70, 58, 59, 57, 57, 59, 58, 70, 50,254,109, 1, -147, 4,158, 80, 79, 79, 95, 95,112,109, 95, 95, 79, 78, 80, 80, 78, 79, 95, 95,109,112, 95, 95, 79, 79, 61, 30, 30, 57, 59,140, - 83, 80,140, 59, 57, 30, 30, 30, 30, 57, 59,140, 80, 83,140, 59, 57, 30,254, 73,140, 0, 0, 0, 0, 3, 0, 80, 0,105, 4,131, - 4,156, 0, 3, 0, 7, 0, 19, 0, 0, 37, 17, 33, 17, 3, 33, 17, 33, 1, 51, 17, 33, 21, 33, 17, 35, 17, 33, 53, 33, 3,244, -252,232,140, 4, 51,251,205, 1,210,140, 1, 56,254,200,140,254,201, 1, 55,245, 3, 27,252,229, 3,167,251,205, 3,152,254,199, -140,254,202, 1, 54,140, 0, 0, 0, 3, 0, 80, 0,105, 4,131, 4,156, 0, 3, 0, 7, 0, 11, 0, 0, 37, 17, 33, 17, 3, 33, - 17, 33, 1, 21, 33, 53, 3,244,252,232,140, 4, 51,251,205, 3,114,253, 77,245, 3, 27,252,229, 3,167,251,205, 2, 95,140,140, - 0, 3, 0, 80, 0,105, 4,131, 4,156, 0, 3, 0, 7, 0, 19, 0, 0, 37, 17, 33, 17, 3, 33, 17, 33, 19, 55, 9, 1, 23, 9, - 1, 7, 9, 1, 39, 1, 3,244,252,232,140, 4, 51,251,205,172, 99, 1, 11, 1, 12, 99,254,244, 1, 8, 99,254,248,254,246, 99, - 1, 10,245, 3, 27,252,229, 3,167,251,205, 3, 35, 99,254,245, 1, 12, 99,254,244,254,248, 99, 1, 8,254,247, 99, 1, 9, 0, - 0, 3, 0, 80, 0,105, 4,131, 4,156, 0, 3, 0, 7, 0, 11, 0, 0, 1, 51, 17, 35, 5, 17, 33, 17, 3, 33, 17, 33, 1,233, -252,252, 2, 11,252,232,140, 4, 51,251,205, 3, 16,254,207,234, 3, 27,252,229, 3,167,251,205, 0, 1, 1,233, 2, 47, 2,229, - 3, 96, 0, 3, 0, 21,185, 0, 2, 1, 1,181, 0, 4, 1, 29, 0, 4, 16,212,236, 49, 0, 16,212,236, 48, 1, 51, 17, 35, 1, -233,252,252, 3, 96,254,207, 0, 0, 1, 1, 8, 1,155, 3,201, 4, 55, 0, 9, 0, 0, 1, 33, 19, 23, 33, 7, 23, 39, 7, 19, - 1, 9, 1, 12, 84, 83, 1, 12,217, 84,218,218, 83, 3, 56, 0,255,255,158,255,158,158, 0,255, 0, 2, 0, 88, 1, 96, 4,121, - 3,195, 0, 3, 0, 31, 0, 0, 1, 21, 33, 53, 17, 30, 1, 51, 50, 55, 54, 55, 62, 1, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, - 7, 6, 7, 6, 35, 34, 38, 39, 4,121,251,223, 74,137, 70, 93,116, 22, 10, 75,100, 53, 83,146, 78, 73,141, 79, 51,103, 77, 11, - 22,113, 90, 79,143, 75, 2, 12,172,172, 1,183, 63, 60, 54, 11, 4, 32, 22, 55, 60,174, 64, 59, 24, 34, 4, 10, 51, 55, 59, 0, - 0, 3, 0, 88,254, 65, 4,121, 6, 21, 0, 6, 0, 13, 0, 17, 0, 0, 55, 53, 1, 21, 1, 53, 37, 19, 21, 1, 53, 1, 21, 5, - 1, 21, 33, 53, 88, 4, 33,251,223, 3, 35,254,251,223, 4, 33,252,223, 3, 33,251,223,202,182,254,180,168,254,181,184,231, 3, -172,182, 1, 76,168, 1, 75,184,231,254, 10,170,170, 0, 0, 0, 0, 3, 0, 88,254, 65, 4,121, 6, 21, 0, 6, 0, 13, 0, 17, - 0, 0, 37, 13, 1, 21, 1, 53, 9, 1, 45, 1, 53, 1, 21, 1, 21, 33, 21, 33, 4,121,252,221, 3, 35,251,223, 4, 33,251,223, - 3, 33,252,223, 4, 33,251,223, 4, 33,251,223,202,234,231,184, 1, 75,168, 1, 76, 2, 12,234,231,184,254,181,168,254,180, 86, -170, 0, 0, 0, 0, 2, 0, 86, 0, 0, 4,119, 4, 63, 0, 6, 0, 10, 0, 0, 1, 13, 1, 21, 1, 53, 1, 53, 33, 53, 33, 4, -119,252,223, 3, 33,251,223, 4, 33,251,223, 4, 33, 2,137,234,231,184, 1, 75,168, 1, 76, 86,170, 0, 0, 0, 0, 2, 0, 88, - 0, 0, 4,121, 4, 63, 0, 6, 0, 10, 0, 0, 19, 53, 1, 21, 1, 53, 37, 1, 53, 33, 21, 88, 4, 33,251,223, 3, 35,252,221, - 4, 33, 2,137,182,254,180,168,254,181,184,231, 1,246,170,170, 0, 2, 0, 86,255, 4, 4,119, 5,177, 0, 9, 0, 24, 0, 0, - 1, 36, 55, 21, 6, 5, 6, 5, 53, 36, 1, 21, 38, 37, 38, 37, 53, 36, 55, 36, 55, 21, 0, 5, 4, 2,164, 1, 34,177,203,254, -248,222,254,144, 1,110, 2,179,183,254,228,237,254,159, 1, 87,247, 1, 28,183,254,221,254,108, 1,148, 4, 26,200,207,252,220, -156,131, 56,200, 54,252,115,239,203,150,125, 61,166, 57,130,151,201,239,254,222, 93, 79, 0, 0, 0, 2, 0, 86,255, 4, 4,119, - 5,177, 0, 9, 0, 24, 0, 0, 1, 22, 5, 21, 36, 39, 36, 39, 53, 22, 3, 0, 37, 36, 1, 53, 22, 5, 22, 5, 21, 4, 7, 4, - 7, 2, 41,224, 1,110,254,144,222,254,248,203,177,177, 1, 35, 1,148,254,108,254,221,183, 1, 28,247, 1, 87,254,159,237,254, -228,183, 4, 26,154, 54,200, 56,131,156,220,252,207,251, 17, 1, 48, 79, 93, 1, 34,239,201,151,130, 57,166, 61,125,150,203, 0, - 0, 2, 0, 86,254,140, 4,119, 6, 41, 0, 37, 0, 42, 0, 0, 1, 23, 7, 54, 55, 21, 6, 7, 3, 22, 23, 21, 38, 39, 7, 23, - 4, 23, 21, 38, 37, 38, 39, 3, 39, 19, 38, 39, 53, 22, 23, 55, 38, 37, 53, 36, 63, 1, 3, 55, 6, 7, 22, 3,100,162, 77,106, - 84,129,152, 86,202,165,169,254, 51, 7, 1, 8,203,177,254,222, 31, 33,179,162,186,163,208,247,182, 51,210,254,242, 1, 97,237, - 52,109, 34, 99,106, 88, 6, 41, 51,245, 83, 93,239,135, 91,254,238,101,165,239,185,143,161, 4,156,220,252,207,200, 21, 20,253, -200, 51, 2, 78, 64, 30,200, 37, 72,163, 90, 45,166, 61,125, 29,254,164,107, 36, 21, 20, 0, 0, 0, 2, 0, 86,254,140, 4,119, - 6, 41, 0, 36, 0, 40, 0, 0, 1, 23, 3, 22, 23, 21, 4, 15, 1, 54, 37, 21, 4, 15, 1, 3, 39, 19, 6, 7, 53, 54, 63, 1, - 6, 7, 53, 54, 37, 55, 36, 39, 53, 22, 5, 22, 31, 1, 7, 55, 38, 3, 37,162,165,154,187,255, 0,203, 68,209, 1, 62,254,146, -224, 22,161,162, 87,119, 90,140,169, 78,231,156,204, 1, 2, 40,254,229,219,183, 1, 28, 43, 47,109, 5, 34, 15, 6, 41, 51,253, -243, 51, 32,166, 43, 83,216,105, 48,200, 54,154, 15,254, 0, 51, 1, 22,104,105,252,152,121,247,135,172,239,203,106,127,101,229, -239,203,150, 23, 20,220, 14, 8, 3, 0, 0, 0, 0, 2, 0, 88,255, 91, 4,121, 5,167, 0, 15, 0, 19, 0, 0, 1, 23, 7, 51, - 21, 33, 1, 33, 21, 33, 3, 39, 55, 35, 17, 33, 9, 1, 33, 17, 3, 80,158, 89,228,254,216,254,230, 2, 66,253,122,114,158, 89, -228, 2,134,254,162, 1, 26,254,104, 5,167, 63,221,170,253, 64,170,254,228, 63,221, 4, 20,252,150, 2,192,253, 64, 0, 0, 0, - 0, 2, 0, 88,255, 91, 4,121, 5,167, 0, 15, 0, 19, 0, 0, 1, 23, 7, 51, 17, 33, 3, 39, 55, 35, 53, 33, 1, 33, 53, 33, - 23, 1, 33, 17, 3, 80,158, 89,228,253,122,114,158, 89,228, 1, 40, 1, 26,253,190, 2,134,115,254,230, 1,152, 5,167, 63,221, -251,236,254,228, 63,221,170, 2,192,170,170,253, 64, 2,192, 0, 0, 1, 0, 88,255, 62, 4,121, 4,244, 0, 20, 0, 0, 19, 33, - 21, 33, 17, 33, 21, 33, 23, 7, 33, 21, 33, 7, 39, 55, 33, 53, 33, 55, 33, 88, 4, 33,252,137, 3,119,254,210, 32, 82, 1, 96, -254, 24,167,132, 82,254,160, 1,232,103,253,177, 4,244,170,253,152,170, 26,102,170,208,106,102,170,128, 0, 0, 0, 1, 0, 88, -255, 62, 4,121, 4,244, 0, 20, 0, 0, 37, 21, 33, 7, 39, 55, 33, 53, 33, 55, 33, 53, 33, 17, 33, 53, 33, 17, 33, 23, 7, 4, -121,254, 24,167,132, 82,254,160, 1,232,103,253,177, 3,119,252,137, 4, 33,254,210, 32, 82,184,170,208,106,102,170,128,170, 2, -104,170,252, 68, 26,102, 0, 0, 0, 1, 0, 86,254,237, 4,119, 4, 63, 0, 37, 0, 0, 37, 38, 39, 38, 35, 34, 6, 7, 53, 62, - 1, 51, 50, 22, 23, 55, 37, 53, 1, 21, 13, 1, 21, 37, 7, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 39, 3, 39, 2, 22, 29, 23, - 52, 51, 79,141, 73, 78,146, 83, 58, 90, 29, 48,253,236, 4, 33,252,223, 3, 33,254,120, 50, 88, 73, 70,137, 74, 75,143, 79, 81, -100, 62,136, 51, 11, 5, 12, 59, 64,174, 60, 55, 22, 12,210,167,168, 1, 75,184,231,234,182,123,223, 34, 60, 63,175, 59, 55, 41, -254,240, 31, 0, 0, 1, 0, 86,254,237, 4,119, 4, 63, 0, 38, 0, 0, 19, 45, 1, 53, 1, 21, 5, 23, 3, 22, 51, 50, 54, 55, - 21, 14, 1, 35, 34, 39, 3, 39, 19, 38, 39, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 55, 5, 86, 3, 33,252,223, 4, 33, -254, 63, 69, 62, 88, 73, 70,137, 74, 75,143, 79, 81,100, 62,136, 67, 29, 23, 52, 51, 79,141, 73, 78,146, 83, 58, 90, 29, 48,253, -236, 1,182,234,231,184,254,181,168,141, 16,254,237, 34, 60, 63,175, 59, 55, 41,254,240, 31, 1, 39, 11, 5, 12, 59, 64,174, 60, - 55, 22, 12,212,167, 0, 0, 0, 0, 2, 0, 86,254, 75, 4,119, 5,177, 0, 31, 0, 46, 0, 0, 5, 38, 39, 38, 35, 34, 6, 7, - 53, 62, 1, 51, 50, 23, 22, 23, 19, 23, 3, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 39, 3, 39, 1, 0, 5, 4, 1, 21, 38, 37, - 38, 37, 53, 36, 55, 36, 55, 2, 22, 29, 23, 52, 51, 79,141, 73, 78,146, 83, 54, 49, 45, 29, 78,136, 83, 88, 73, 70,137, 74, 75, -143, 79, 81,100, 83,136, 2,185,254,221,254,108, 1,148, 1, 35,183,254,228,247,254,169, 1, 97,237, 1, 28,183, 19, 11, 5, 12, - 59, 64,174, 60, 55, 11, 11, 12, 1, 87, 31,254,145, 34, 60, 63,175, 59, 55, 41,254,148, 31, 6, 88,254,208, 79, 93,254,222,239, -201,151,130, 57,166, 61,125,150,203, 0, 0, 0, 0, 2, 0, 86,254, 75, 4,119, 5,177, 0, 31, 0, 46, 0, 0, 5, 38, 39, 38, - 35, 34, 6, 7, 53, 62, 1, 51, 50, 23, 22, 23, 19, 23, 3, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 39, 3, 39, 1, 53, 22, 5, - 22, 5, 21, 4, 7, 4, 7, 53, 0, 37, 36, 2, 22, 29, 23, 52, 51, 79,141, 73, 78,146, 83, 54, 49, 45, 29, 78,136, 83, 88, 73, - 70,137, 74, 75,143, 79, 81,100, 83,136,254,152,183, 1, 28,237, 1, 97,254,169,247,254,231,186, 1, 35, 1,148,254,108, 19, 11, - 5, 12, 59, 64,174, 60, 55, 11, 11, 12, 1, 87, 31,254,145, 34, 60, 63,175, 59, 55, 41,254,148, 31, 6, 88,239,203,150,125, 61, -166, 57,130,148,204,239, 1, 34, 93, 79, 0, 0,255,255, 0, 80, 1,234, 4,127, 3, 27, 16, 7, 6,153, 0, 0, 1,234, 0, 0, -255,255, 0, 73, 0, 98, 4,138, 4,163, 16, 6, 7, 84, 0, 0, 0, 1, 0,114, 1, 76, 4, 82, 3,140, 0, 7, 0, 0, 1, 17, - 1, 53, 5, 17, 1, 21, 2,162,253,208, 1,176, 2, 48, 2,122,254,210, 1, 74,194,250, 1, 46,254,182,194, 0, 0, 2, 0,146, - 0, 0, 4, 63, 4,196, 0, 4, 0, 9, 0, 0, 51, 17, 9, 1, 17, 37, 33, 17, 9, 1,146, 1,214, 1,214,252,206, 2,184,254, -164,254,164, 2,135, 2, 61,253,195,253,121,122, 1,213, 1,171,254, 85, 0, 0, 0, 1, 0,146, 3, 63, 4, 62, 5,248, 0, 5, - 0, 0, 9, 1, 35, 9, 1, 35, 2,104, 1,214,163,254,205,254,205,163, 5,248,253, 71, 1,199,254, 57, 0, 0, 0, 1, 0,146, -254,242, 4, 62, 1,172, 0, 5, 0, 0, 9, 1, 51, 9, 1, 51, 2,104,254, 42,163, 1, 51, 1, 51,163,254,242, 2,186,254, 56, - 1,200, 0, 0, 0, 2, 0,146, 0, 0, 4, 62, 3,142, 0, 3, 0, 9, 0, 0, 19, 33, 21, 33, 5, 1, 35, 9, 1, 35,156, 3, -153,252,103, 1,204, 1,214,163,254,205,254,205,163, 3,142,114, 99,253, 71, 1,199,254, 57, 0, 0, 3, 0,146, 0, 0, 4, 62, - 4,136, 0, 3, 0, 7, 0, 13, 0, 0, 19, 33, 21, 33, 21, 33, 21, 33, 5, 1, 35, 9, 1, 35,156, 3,153,252,103, 3,153,252, -103, 1,204, 1,214,163,254,205,254,205,163, 4,136,114,136,114, 99,253, 71, 1,199,254, 57, 0, 0, 1, 1,207,254,242, 3,119, - 6, 20, 0, 5, 0, 0, 1, 33, 21, 35, 17, 35, 1,207, 1,168,240,184, 6, 20,143,249,109, 0, 0, 1, 1, 90,254,242, 3, 2, - 6, 20, 0, 5, 0, 0, 1, 17, 35, 17, 35, 53, 3, 2,184,240, 6, 20,248,222, 6,147,143, 0, 0, 1, 1,207,254,242, 3,119, - 6, 20, 0, 5, 0, 0, 1, 17, 51, 17, 51, 21, 1,207,184,240,254,242, 7, 34,249,109,143, 0, 0, 1, 1, 90,254,242, 3, 2, - 6, 20, 0, 5, 0, 0, 1, 33, 53, 51, 17, 51, 3, 2,254, 88,240,184,254,242,143, 6,147, 0, 0, 2, 2, 37, 0,150, 4,175, - 3, 67, 0, 3, 0, 7, 0, 0, 1, 33, 21, 33, 7, 51, 17, 35, 2,242, 1,189,254, 67,205,114,114, 3, 67,114, 91,254, 32, 0, - 0, 2, 0, 13, 0,150, 2,151, 3, 67, 0, 3, 0, 7, 0, 0, 19, 33, 21, 33, 5, 51, 17, 35, 13, 1,189,254, 67, 2, 24,114, -114, 3, 67,114, 91,254, 32, 0, 0, 2, 2, 37, 2,209, 4,175, 5,126, 0, 3, 0, 7, 0, 0, 1, 33, 21, 33, 3, 51, 17, 35, - 2,242, 1,189,254, 67,205,114,114, 3, 67,114, 2,173,254, 32, 0, 2, 0, 13, 2,209, 2,151, 5,126, 0, 3, 0, 7, 0, 0, - 19, 33, 21, 33, 1, 51, 17, 35, 13, 1,189,254, 67, 2, 24,114,114, 3, 67,114, 2,173,254, 32, 0, 1, 0, 88, 1,115, 4,121, - 3, 94, 0, 5, 0, 0, 1, 21, 33, 17, 35, 17, 4,121,252,135,168, 3, 94,172,254,193, 1,235, 0, 2, 0, 97, 1, 2, 4,112, - 5, 18, 0, 7, 0, 15, 0, 0, 19, 36, 5, 2, 19, 4, 37, 18, 1, 18, 3, 4, 37, 2, 19, 36,231, 1,129, 1,129,137,137,254, -127,254,127,137,254,241,184,184, 2, 7, 2, 8,184,184,253,248, 1,138,137,137, 1,128, 1,130,138,138,254,126,253,248, 1,244, - 2, 28,177,177,254, 12,253,229,177, 0, 0, 0,255,255, 0, 6, 1,176, 4,203, 4, 24, 16, 6, 9, 58, 0,156, 0, 2, 0, 6, - 1,176, 4,203, 4, 24, 0, 7, 0, 15, 0, 0, 19, 16, 37, 54, 32, 23, 4, 17, 37, 33, 38, 39, 38, 34, 7, 6, 6, 1, 49,152, - 1, 49,153, 1, 50,251,192, 3,187, 42,192,122,244,122,192, 1,176, 1, 96,176, 88, 88,176,254,160,114,197,111, 71, 71,110, 0, - 0, 2, 0,184, 1, 89, 4, 24, 4, 24, 0, 8, 0, 13, 0, 0, 0, 32, 23, 22, 23, 9, 1, 54, 55, 4, 34, 7, 9, 1, 1,210, - 1, 44,155, 74, 53,254, 80,254, 80, 53, 74, 1,173,248,133, 1, 2, 1, 0, 4, 24, 88, 42, 55,253,250, 2, 6, 55, 42, 35, 76, -254,200, 1, 56, 0, 2, 0,166, 0,229, 4, 21, 4, 80, 0, 7, 0, 25, 0, 0, 0, 34, 6, 20, 22, 50, 54, 52, 3, 50, 23, 30, - 1, 21, 20, 6, 35, 34, 39, 7, 39, 55, 38, 53, 52, 54, 3, 4,196,138,135,199,140,238,158,105, 53, 54,216,157,127, 93,204, 81, -205, 66,214, 3,201,137,199,135,137,195, 1, 18,111, 51,133, 78,152,214, 69,204, 81,204, 92,124,157,216, 0, 0, 0, 6, 0, 71, - 0,233, 4,138, 5, 43, 0, 3, 0, 45, 0, 55, 0, 65, 0, 74, 0, 84, 0, 0, 1, 51, 53, 35, 17, 21, 20, 6, 34, 38, 53, 52, - 54, 59, 1, 53, 35, 34, 38, 52, 54, 50, 22, 29, 1, 51, 53, 52, 54, 50, 22, 20, 6, 43, 1, 21, 51, 50, 22, 21, 20, 6, 34, 38, - 61, 1, 1, 53, 52, 38, 35, 34, 6, 20, 22, 51, 19, 35, 34, 6, 21, 20, 22, 50, 54, 53, 1, 51, 50, 54, 52, 38, 34, 6, 21, 17, - 21, 20, 22, 50, 54, 53, 52, 38, 35, 2, 1,207,207,130,183,129,129, 89,120,120, 89,129,129,183,130,207,130,184,128,128, 90,120, -120, 90,128,128,184,130,254,201, 69, 49, 47, 69, 69, 48,117,117, 48, 69, 69, 96, 69, 1,159,118, 47, 69, 68, 97, 69, 69, 97, 68, - 69, 47, 2,162,208,254,200,119, 90,128,129, 92, 90,130,208,130,182,129,128, 90,119,119, 90,128,129,182,130,208,130, 90, 92,129, -128, 90,119, 1,160,117, 48, 69, 69, 96, 69,254, 96, 69, 47, 49, 69, 69, 48, 2, 21, 69, 96, 69, 69, 48,253,235,117, 48, 69, 69, - 49, 47, 69, 0, 0, 1, 0, 88, 1,115, 4,121, 3, 94, 0, 5, 0, 0, 1, 33, 17, 51, 17, 33, 4,121,251,223,168, 3,121, 1, -115, 1,235,254,193, 0, 0, 0, 0, 1, 1, 43, 2,209, 3,181, 5,126, 0, 5, 0, 0, 1, 33, 17, 35, 17, 33, 3,181,253,232, -114, 2,138, 5, 12,253,197, 2,173, 0, 0, 0, 0, 1, 1, 28, 2,209, 3,166, 5,126, 0, 5, 0, 0, 1, 53, 33, 17, 35, 17, - 1, 28, 2,138,114, 5, 12,114,253, 83, 2, 59, 0, 1, 1, 43,255,142, 3,181, 2, 59, 0, 5, 0, 0, 33, 21, 33, 17, 51, 17, - 3,181,253,118,114,114, 2,173,253,197, 0, 0, 0, 1, 1, 28,255,142, 3,166, 2, 59, 0, 5, 0, 0, 41, 1, 17, 51, 17, 33, - 1, 28, 2, 24,114,253,118, 2, 59,253, 83, 0, 0, 1, 2, 0,254, 0, 4, 76, 6, 14, 0, 25, 0, 0, 1, 17, 52, 55, 26, 1, - 51, 50, 22, 21, 20, 6, 35, 34, 39, 38, 39, 46, 1, 35, 34, 3, 2, 21, 48, 17, 2, 1, 3, 12,190,202, 80,100, 64, 55, 42, 29, - 24, 15, 6, 9, 16,104, 17, 8,254, 0, 3,170, 36,129, 2, 3, 1,188, 84, 65, 54, 63, 19, 16, 38, 15, 72,253,149,254,211, 2, -251,246, 0, 0, 0, 1, 0,124,254, 26, 2,200, 6, 40, 0, 25, 0, 0, 1, 17, 20, 7, 10, 1, 35, 34, 38, 53, 52, 54, 51, 50, - 23, 22, 23, 30, 1, 51, 50, 19, 18, 53, 48, 17, 2,199, 3, 12,190,202, 80,100, 64, 55, 42, 29, 24, 15, 6, 9, 16,104, 17, 8, - 6, 40,252, 86, 36,129,253,253,254, 68, 84, 65, 54, 63, 19, 16, 38, 15, 72, 2,107, 1, 45, 2, 4, 10, 0, 0, 0, 2, 0,104, - 0,233, 4,105, 4,201, 0, 7, 0, 11, 0, 0, 19, 33, 1, 33, 21, 33, 1, 35, 37, 33, 21, 33,104, 1, 92, 1,145, 1, 20,254, -114,254,111,226, 2, 97, 1,160,254, 96, 4,201,252,222,190, 3, 34,190,190, 0, 0, 5, 0, 6, 1, 40, 4,203, 4, 73, 0, 4, - 0, 10, 0, 13, 0, 18, 0, 21, 0, 0, 9, 1, 33, 17, 33, 9, 1, 35, 3, 19, 51, 1, 23, 55, 33, 35, 17, 51, 27, 1, 39, 7, - 4,203,254, 81,252,234, 3, 22, 1, 5,254,211, 39,200,200, 39,254, 72,131,131,254,111, 57, 57,200,201,131,131, 2,185,254,111, - 3, 33,254,112, 1, 30,254,225,254,226, 2, 61,187,187,253,195, 1, 30,254,226,187,187, 0, 0, 0, 5, 0,125, 1, 40, 4, 84, - 4, 73, 0, 4, 0, 8, 0, 11, 0, 16, 0, 19, 0, 0, 1, 17, 35, 3, 19, 23, 33, 17, 33, 5, 23, 55, 33, 35, 17, 51, 27, 1, - 39, 7, 3,226,108,200,200,222,252, 41, 3,215,253,145,131,131,254,111,107,107,200,201,131,131, 1,154, 2, 61,254,225,254,226, -114, 3, 33,114,187,187,253,195, 1, 30,254,226,187,187, 0, 0, 0, 43, 0, 50, 1,179, 4,159, 4, 34, 0, 11, 0, 23, 0, 35, - 0, 47, 0, 59, 0, 71, 0, 83, 0, 95, 0,107, 0,119, 0,131, 0,143, 0,155, 0,167, 0,179, 0,191, 0,203, 0,215, 0,227, - 0,239, 0,251, 1, 7, 1, 19, 1, 31, 1, 43, 1, 55, 1, 67, 1, 79, 1, 91, 1,103, 1,115, 1,127, 1,139, 1,151, 1,163, - 1,175, 1,187, 1,199, 1,211, 1,227, 1,239, 1,251, 2, 7, 0, 0, 19, 33, 50, 21, 17, 20, 35, 33, 34, 53, 17, 52, 23, 17, - 20, 51, 33, 50, 53, 17, 52, 35, 33, 34, 19, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, - 1, 50, 55, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 7, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, - 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, - 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, - 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 37, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, - 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, - 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, - 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 39, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 7, 21, 20, 43, 1, 34, - 61, 1, 52, 59, 1, 50, 7, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 7, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 7, 21, - 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 7, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 7, 21, 20, 43, 1, 34, 61, 1, 52, 59, - 1, 50, 7, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 39, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, - 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, - 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, - 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, - 61, 1, 52, 59, 1, 50, 7, 50, 29, 1, 20, 43, 1, 34, 61, 1, 52, 34, 61, 1, 52, 51, 19, 21, 20, 43, 1, 34, 61, 1, 52, 59, - 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 5, 34, 61, 1, 52, 51, 33, 50, 29, 1, 20, 35,142, 3,181, 92, 92,252, - 75, 92, 61, 31, 3,181, 30, 30,252, 75, 31,108, 15, 31, 15, 15, 31, 15, 93, 15, 31, 15, 15, 31, 15,138, 15, 31, 16, 16, 31, 15, -184, 16, 31, 15, 15, 31, 16, 92, 16, 30, 16, 16, 30, 16,184, 16, 30, 16, 16, 30, 16, 92, 15, 31, 16, 16, 31, 15, 92, 15, 31, 16, - 16, 31, 15, 92, 15, 31, 15, 15, 31, 15, 93, 16, 31, 15, 15, 31, 16,166, 16,105, 15, 15,105, 16,252,197, 15, 31, 15, 15, 31, 15, - 92, 15, 31, 15, 15, 31, 15, 93, 16, 31, 15, 15, 31, 16, 91, 15, 31, 15, 15, 31, 15, 93, 16, 31, 15, 15, 31, 16, 92, 16, 31, 15, - 15, 31, 16, 92, 15, 31, 16, 16, 31, 15, 92, 15, 31, 16, 16, 31, 15, 15, 15, 31, 16, 16, 31, 15, 92, 15, 31, 16, 16, 31, 15, 92, - 16, 31, 15, 15, 31, 16, 92, 16, 31, 15, 15, 31, 16, 92, 16, 30, 16, 16, 30, 16, 92, 16, 31, 15, 15, 31, 16, 93, 15, 31, 15, 15, - 31, 15, 92, 15, 31, 15, 15, 31, 15, 15, 15, 31, 15, 15, 31, 15, 92, 15, 31, 15, 15, 31, 15, 93, 16, 31, 15, 15, 31, 16, 92, 16, - 31, 15, 15, 31, 16, 92, 16, 31, 15, 15, 31, 16, 92, 16, 31, 15, 15, 31, 16, 92, 16, 30, 16, 16, 30, 16, 92, 15, 31, 16, 16, 31, - 15, 92, 15, 31, 15, 15, 31, 15,120, 16, 58, 15, 15, 58, 16, 16, 16, 16,102, 18, 30, 15, 62, 16, 31, 15, 15, 31, 16, 93, 16, 31, - 15, 15, 31, 16,253, 89, 15, 15, 1,173, 15, 15, 4, 34, 92,254, 73, 92, 92, 1,183, 92, 92,254, 73, 31, 31, 1,183, 31,254, 96, - 30, 16, 16, 30, 16, 15, 31, 16, 16, 31, 15, 76, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, - 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, - 16, 76, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, - 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 77, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, - 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, - 15, 75, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, - 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 92, 15,121, - 15, 15, 62, 14, 15, 30, 16,254,222, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 62, 16, 31, 15, 15, 31, 16, 0, 0, 5, 0, 6, - 1, 40, 4,203, 4, 73, 0, 4, 0, 10, 0, 13, 0, 18, 0, 21, 0, 0, 19, 1, 33, 17, 33, 9, 1, 51, 19, 3, 35, 41, 1, 23, - 37, 3, 19, 51, 17, 1, 33, 39, 6, 1,175, 3, 22,252,234,254,251, 1, 45, 39,200,200, 39, 1,184,254,250,131, 1, 14,200,200, - 57,254, 54, 1, 6,131, 2,185, 1,144,252,223, 1,145,254,225, 1, 30, 1, 31,187,187,254,225,254,226, 2, 61,253,195,187, 0, - 0, 1, 0, 72,255,211, 4,136, 2, 74, 0, 5, 0, 0, 5, 1, 55, 9, 1, 23, 2,104,253,224, 72, 1,216, 1,216, 72, 45, 2, - 45, 74,254, 28, 1,228, 74, 0, 0, 2, 1, 0,255, 52, 3,209, 6,161, 0, 3, 0, 7, 0, 0, 5, 33, 17, 33, 3, 17, 33, 17, - 1,114, 1,237,254, 19,114, 2,209, 90, 6,137,249, 5, 7,109,248,147, 0, 0, 0, 4, 0, 6,255, 52, 4,203, 6,161, 0, 3, - 0, 7, 0, 11, 0, 15, 0, 0, 23, 17, 33, 17, 37, 33, 17, 33, 53, 33, 53, 33, 53, 33, 17, 33, 6, 4,197,251,173, 3,225,252, - 31, 3,225,252, 31, 3,225,252, 31,204, 7,109,248,147,114, 1,186,172,236,170, 2,141, 0, 0, 0, 5, 0, 6,255, 52, 4,203, - 6,161, 0, 3, 0, 7, 0, 11, 0, 15, 0, 19, 0, 0, 1, 51, 21, 35, 17, 51, 21, 35, 1, 17, 33, 17, 37, 33, 17, 33, 53, 33, - 17, 33, 1,238,245,245,245,245,254, 24, 4,197,251,173, 3,225,252, 31, 3,225,252, 31, 4,111,246,254, 18,245,254,158, 7,109, -248,147,114, 2,135,170, 3, 88, 0, 4, 0, 6,255, 52, 4,203, 6,161, 0, 3, 0, 8, 0, 12, 0, 17, 0, 0, 19, 9, 3, 33, - 17, 9, 2, 33, 17, 33, 9, 2, 17, 33,195, 1,165, 1,166,254, 90,254, 16, 3,225,254, 15,254, 16, 4, 83,251, 59, 4,197,251, -173, 1,240, 1,241,252, 31, 2,220,254, 90, 1,166, 1,166,251, 36, 2,196,254, 16, 1,240,252,202, 7,109,252,173, 1,240,254, - 16, 2,225, 0,255,255, 0, 6,255, 52, 4,203, 6,161, 16, 38, 11,193, 0, 0, 16, 6, 8, 66, 0, 0, 0, 0, 0, 4, 0, 6, -255, 52, 4,203, 6,161, 0, 13, 0, 24, 0, 28, 0, 39, 0, 0, 18, 16, 23, 22, 51, 50, 55, 54, 16, 39, 38, 35, 34, 7, 3, 33, - 17, 6, 7, 6, 35, 34, 39, 38, 39, 1, 33, 17, 33, 1, 54, 55, 54, 51, 50, 23, 22, 23, 17, 33,128,244,122,122,122,122,245,245, -122,122,122,122,252, 3,225, 73,119,153,152,153,152,119, 72, 4, 83,251, 59, 4,197,251,173, 72,119,152,153,152,153,119, 73,252, - 31, 3,245,253,206,141, 71, 71,141, 2, 50,141, 71, 71,251, 36, 1,202, 95, 69, 88, 88, 69, 94,253,197, 7,109,253,168, 95, 68, - 88, 88, 69, 95, 1,231, 0, 0, 0, 3, 0, 6,254,162, 4,203, 7, 51, 0, 19, 0, 27, 0, 35, 0, 0, 18, 16, 37, 54, 55, 17, - 51, 17, 22, 23, 4, 16, 5, 6, 7, 17, 35, 17, 38, 39, 2, 16, 23, 22, 23, 17, 6, 7, 37, 17, 54, 55, 54, 16, 39, 38, 6, 1, - 49,114,115,152,114,115, 1, 50,254,206,115,114,152,115,114,183,244, 84, 84, 84, 84, 1, 64, 84, 84,245,245, 84, 1,124, 2,192, -176, 66, 17, 1,244,254, 12, 17, 66,176,253, 64,176, 66, 17,254, 41, 1,215, 17, 66, 3, 41,253,206,141, 49, 15, 3,204, 15, 49, - 64,252, 52, 15, 49,141, 2, 50,141, 49, 0, 0,255,255, 0, 6, 0,116, 4,203, 5, 68, 16, 38, 11,193, 0, 0, 16, 7, 9, 37, - 0, 0, 0,200, 0, 3, 0, 6,255, 52, 4,203, 6,161, 0, 3, 0, 6, 0, 9, 0, 0, 23, 17, 33, 17, 37, 1, 33, 5, 1, 33, - 6, 4,197,251,173, 3, 89,252,167, 3,225,252,158, 3, 98,204, 7,109,248,147,198, 6, 53, 65,249,184, 0, 0, 0, 3, 0, 6, -255, 52, 4,203, 6,161, 0, 3, 0, 6, 0, 9, 0, 0, 5, 33, 17, 33, 3, 17, 33, 7, 17, 33, 4,203,251, 59, 4,197,114,252, -167,136, 3, 98,204, 7,109,249, 89, 6, 53, 65,249,184, 0, 0, 0, 4, 0, 6,255, 52, 4,203, 6,161, 0, 3, 0, 7, 0, 11, - 0, 14, 0, 0, 23, 17, 33, 17, 37, 33, 17, 1, 53, 1, 17, 33, 1, 17, 1, 6, 4,197,251,173, 3,225,252, 31, 3,225,252, 31, - 3,225,252,206,204, 7,109,248,147,114, 1, 88, 1,136,192, 1,136, 1, 97,251,133, 2,101,254,204, 0, 0, 0, 0, 4, 0, 6, -255, 52, 4,203, 6,161, 0, 3, 0, 7, 0, 10, 0, 14, 0, 0, 23, 17, 33, 17, 37, 33, 17, 1, 25, 1, 9, 2, 17, 33, 6, 4, -197,251,173, 3,225,252, 31, 3, 50,252,206, 3,225,252, 31,204, 7,109,248,147,114, 2,224,254,120, 3, 27,253,155, 1, 49, 1, -233,254,120, 2,233, 0, 0, 0, 0, 3, 0, 6,255, 52, 4,203, 6,161, 0, 3, 0, 10, 0, 17, 0, 0, 23, 17, 33, 17, 37, 33, - 17, 33, 23, 7, 1, 53, 1, 23, 7, 33, 17, 33, 6, 4,197,251,173, 3,225,252,238,160, 90,254,235, 1, 21, 90,160, 3, 18,252, - 31,204, 7,109,248,147,114, 2,207,160, 90, 1, 21,110, 1, 21, 90,160, 3, 22, 0, 3, 0, 6,255, 52, 4,203, 6,161, 0, 3, - 0, 10, 0, 17, 0, 0, 5, 33, 17, 33, 3, 17, 1, 39, 55, 33, 17, 1, 17, 33, 17, 33, 39, 55, 4,203,251, 59, 4,197,114,254, -235, 90,160,252,238, 3,225,252, 31, 3, 18,160, 90,204, 7,109,249, 5, 2,234,254,235, 90,160,253, 49, 3, 88, 3, 49,252,234, -160, 90, 0, 0, 0, 3, 0, 6,255,196, 4,203, 5,213, 0, 8, 0, 30, 0, 39, 0, 0, 19, 16, 23, 22, 51, 50, 55, 1, 6, 1, - 6, 35, 34, 39, 36, 17, 16, 37, 39, 51, 23, 54, 51, 50, 23, 4, 17, 16, 5, 19, 35, 9, 1, 54, 17, 16, 39, 38, 35, 34,128,244, -122,122, 61, 62,254,108,207, 2,150, 87, 87,153,152,254,207, 1, 21,115,191, 80, 89, 88,152,153, 1, 50,254,231,129,190,254,118, - 1,148,210,245,122,122, 62, 2,220,254,231,141, 71, 18, 3,106,140,252,178, 29, 88,176, 1, 96, 1, 79,176,250,174, 29, 88,176, -254,160,254,175,176,254,233, 4,242,252,149,140, 1, 5, 1, 25,141, 71, 0, 0, 0, 3, 0, 37,254,162, 4,172, 7, 51, 0, 11, - 0, 14, 0, 17, 0, 0, 1, 17, 51, 17, 51, 1, 33, 17, 35, 17, 33, 1, 19, 17, 3, 33, 51, 3, 2, 28,152, 47, 1,201,254, 8, -152,254, 9, 1,201, 46,246, 1,142,246,246, 5,213, 1, 94,254,162,250, 43,254,162, 1, 94, 5,213,250,213, 3,107,252,149, 3, -107, 0, 0, 0, 0, 3, 0, 6,255, 52, 4,203, 6,161, 0, 4, 0, 8, 0, 14, 0, 0, 19, 17, 9, 1, 17, 55, 17, 33, 17, 19, - 17, 33, 17, 1, 35,120, 1,240, 1,241,114,251, 59,114, 3,225,254, 99,166, 6, 47,254,237,251,179, 4, 75, 1, 21,114,248,147, - 7,109,252,236,252, 25, 3,229,252,117, 0, 0, 0, 4, 0, 6,255, 52, 4,203, 6,161, 0, 2, 0, 6, 0, 11, 0, 17, 0, 0, - 37, 9, 2, 17, 33, 17, 37, 33, 53, 48, 33, 53, 1, 51, 1, 17, 33, 3,138,254,222,254,222,254,192, 4,197,251,173, 3,225,252, - 31, 1,130,221, 1,130,252, 31,170, 4,121,251,135,254,138, 7,109,248,147,114, 90, 91, 5,122,250,134, 5,212, 0, 3, 0, 6, -255, 52, 4,203, 6,161, 0, 3, 0, 10, 0, 17, 0, 0, 19, 33, 17, 33, 37, 33, 17, 33, 1, 7, 39, 3, 17, 7, 39, 1, 33, 17, - 6, 4,197,251, 59, 2,180, 1,159,254, 71, 1, 20, 90,160,164,160, 90, 1, 20,254, 72, 6,161,248,147,114, 6,137,254,236, 90, -160,250, 69, 5,187,160, 90, 1, 20,249,119, 0, 0, 3, 0, 37,254,162, 4,172, 7, 51, 0, 11, 0, 14, 0, 17, 0, 0, 33, 35, - 1, 33, 17, 51, 17, 33, 1, 35, 17, 35, 17, 35, 27, 1, 17, 19, 2, 28, 46,254, 55, 1,247,152, 1,248,254, 55, 47,152,246,246, -152,246, 5,213, 1, 94,254,162,250, 43,254,162, 6,137,252,149, 3,107,252,149, 3,107, 0, 0, 0, 3, 0, 6,255, 52, 4,203, - 6,161, 0, 4, 0, 8, 0, 14, 0, 0, 23, 33, 17, 9, 2, 33, 17, 33, 9, 1, 51, 1, 17, 33,120, 3,225,254, 15,254, 16, 4, - 83,251, 59, 4,197,251,173, 1,158,166, 1,157,252, 31, 90, 1, 21, 4, 75,251,179,254,123, 7,109,251,167, 3,141,252,117, 3, -229, 0, 0, 0, 0, 4, 0, 6,255, 52, 4,203, 6,161, 0, 2, 0, 6, 0, 12, 0, 16, 0, 0, 1, 33, 9, 1, 17, 33, 17, 37, - 33, 17, 1, 35, 1, 53, 33, 53, 33, 3,138,253,188, 1, 34,253,158, 4,197,251,173, 3,225,254,126,221,254,126, 3,225,252, 31, - 5, 43,251,135,254,130, 7,109,248,147,114, 5,212,250,134, 5,122, 91, 90, 0, 0, 3, 0, 6,255, 52, 4,203, 6,161, 0, 3, - 0, 10, 0, 17, 0, 0, 23, 17, 33, 17, 1, 17, 55, 23, 1, 33, 17, 41, 1, 17, 33, 1, 55, 23, 6, 4,197,253,239,160, 90,254, -236, 1,185,253,189,254, 98, 1,184,254,236, 90,160,204, 7,109,248,147, 6,251,250, 69,160, 90,254,236, 6,137,249,119, 1, 20, - 90,160, 0, 0,255,255, 1, 0,255, 52, 3,209, 5,213, 16, 38, 11,192, 0, 0, 16, 6, 0, 10, 0, 0, 0, 0,255,255, 0, 6, -255, 52, 4,203, 5,213, 16, 38, 11,191, 0, 0, 16, 6, 2,209, 0, 0, 0, 0,255,255, 0, 6,255, 52, 4,203, 5, 63, 16, 38, - 11,191, 0, 0, 16, 7, 9, 33, 0, 0, 0,200,255,255, 1, 0,255, 52, 3,209, 3,233, 16, 38, 11,192, 0, 0, 16, 6, 11,193, - 0, 0, 0, 0,255,255, 0, 6,255, 52, 4,203, 5, 68, 16, 38, 11,191, 0, 0, 16, 7, 9, 37, 0, 0, 0,200,255,255, 0, 6, -255, 52, 4,203, 6,161, 16, 38, 0, 10, 0, 0, 16, 6, 8, 66, 0, 0, 0, 0,255,255,255,236, 0, 90, 4,229, 5, 94, 16, 39, - 9, 73, 0, 0, 0,200, 16, 6, 7,209, 0, 0,255,255, 0, 6,255, 52, 4,203, 6,161, 16, 38, 0, 29, 0, 0, 16, 6, 8, 66, - 0, 0, 0, 0,255,255, 1, 8, 1,155, 3,201, 5, 22, 16, 39, 11,194, 0, 0,255, 6, 16, 6, 7,209, 0, 0,255,255, 1, 63, - 1,212, 3,145, 5, 72, 16, 39, 11,194, 0, 0,255, 56, 16, 6, 11,193, 0, 0,255,255, 0, 6, 0,116, 4,203, 6,166, 16, 39, - 11,194, 0, 0, 0,150, 16, 7, 9, 37, 0, 0, 0,200, 0, 0,255,255, 0, 88, 1,236, 4,121, 5, 72, 16, 39, 11,194, 0, 0, -255, 56, 16, 6, 0, 97, 0, 0,255,255, 0, 88, 0,141, 4,121, 5, 72, 16, 39, 11,194, 0, 0,255, 56, 16, 6, 0, 33, 0, 0, - 0, 3, 0, 37, 0, 0, 4,172, 5,213, 0, 10, 0, 32, 0, 42, 0, 0, 1, 33, 19, 22, 23, 22, 23, 22, 23, 22, 23, 37, 21, 6, - 7, 6, 7, 3, 35, 3, 6, 7, 6, 7, 53, 54, 55, 3, 33, 3, 54, 55, 54, 5, 27, 1, 38, 39, 38, 39, 38, 39, 38, 3,170,253, -124,122, 42, 40, 50, 74, 11, 22, 69, 60, 1,105, 75, 72, 35, 38,186,245,217, 23, 22, 71, 73, 74, 69,194, 4,135,216, 11, 11, 69, -253,162,151,124, 45, 50, 23, 10, 77, 51, 10, 5, 43,254, 79, 2, 9, 11, 31, 5, 10, 33, 13,114,174, 59, 27, 14, 7,253,159, 2, -198, 6, 10, 29, 63,174, 57, 27, 2,121,253, 63, 5, 5, 30,112,253,230, 1,184, 13, 22, 10, 4, 33, 12, 2, 0, 0, 3, 0, 88, -255,227, 4,121, 5,240, 0, 23, 0, 42, 0, 61, 0, 0, 0, 32, 23, 22, 19, 54, 55, 21, 6, 7, 2, 7, 6, 32, 39, 38, 3, 6, - 7, 53, 54, 55, 18, 55, 37, 34, 7, 6, 7, 54, 51, 50, 22, 23, 22, 23, 22, 51, 50, 55, 2, 39, 38, 1, 18, 23, 22, 51, 50, 55, - 54, 55, 6, 35, 34, 39, 38, 39, 46, 1, 35, 34, 1,121, 1,222,123,104, 15, 24, 24, 23, 23, 9,112,123,254, 34,122,105, 15, 23, - 24, 23, 23, 9,112, 1,105,141, 69, 53, 13, 27, 28, 53,100, 74, 11, 22,116, 93, 16, 17, 3, 66, 70,254, 90, 3, 67, 69,141,142, - 70, 52, 13, 22, 23, 90,113, 23, 10, 77,103, 51, 23, 5,240,196,167,254,208, 17, 20,174, 18, 15,254,176,180,196,196,168, 1, 49, - 17, 21,174, 18, 15, 1, 80,179, 36,152,115,206, 3, 22, 31, 5, 10, 55, 2, 1, 37,146,152,253,130,254,219,146,152,152,115,206, - 2, 51, 10, 4, 33, 24, 0, 0, 0, 1, 0, 88,254,162, 4,121, 7, 51, 0, 31, 0, 0, 1, 21, 14, 1, 35, 34, 39, 17, 35, 17, - 38, 39, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 23, 22, 23, 17, 51, 17, 22, 51, 50, 54, 4,121, 75,143, 79, 71, 85,152, 31, 25, - 52, 51, 79,141, 73, 78,146, 83, 53, 50, 19, 23,152, 94, 78, 70,137, 3,122,174, 59, 55, 32,252, 40, 4, 21, 11, 6, 12, 59, 63, -174, 60, 54, 11, 4, 7, 3,207,251,243, 39, 61, 0, 2, 1, 0,254,225, 3,209, 4, 39, 0, 3, 0, 17, 0, 0, 1, 51, 17, 35, - 19, 51, 21, 7, 33, 21, 33, 7, 35, 55, 35, 53, 51, 55, 1,233,252,252, 13,252, 96, 1, 63,254,135, 43,154, 21,168,198, 48, 4, - 39,254,209,254, 55,207,186,114, 83, 83,114,186, 0, 3, 0, 6,255, 52, 4,203, 6,161, 0, 3, 0, 7, 0, 27, 0, 0, 23, 33, - 17, 33, 3, 17, 33, 17, 1, 33, 19, 23, 7, 51, 21, 33, 7, 33, 21, 33, 3, 39, 55, 35, 53, 33, 55, 33,120, 3,225,252, 31,114, - 4,197,251,247, 2, 5,197,100,131,162,254,245,147, 1,158,253,251,199,100,131,160, 1, 8,147,254,101, 90, 6,137,249, 5, 7, -109,248,147, 4,110, 1, 59,102,213,170,236,172,254,197,104,211,172,236, 0, 0,255,255, 0, 6,255, 52, 4,203, 6,161, 16, 38, - 0, 34, 0, 0, 16, 6, 8, 66, 0, 0, 0, 0,255,255, 1, 54, 0, 0, 3,207, 4, 96, 16, 6, 2,245, 0, 0,255,255, 0,190, -254, 86, 4, 84, 4,124, 16, 6, 2,253, 0, 0,255,255, 0, 70,255,227, 4,140, 4, 96, 16, 6, 3, 5, 0, 0,255,255, 0, 6, -255, 52, 4,203, 4,122, 16, 38, 11,191, 0, 0, 16, 6, 2,237, 0, 0, 0, 0,255,255, 0,156,255, 52, 4, 53, 4,123, 16, 38, - 11,190, 0, 0, 16, 6, 3, 34, 0, 0, 0, 0,255,255, 1, 0,255, 52, 3,209, 4, 96, 16, 38, 11,192, 0, 0, 16, 6, 2,245, - 0, 0, 0, 0,255,255, 0, 6,255, 52, 4,203, 4, 96, 16, 38, 11,191, 0, 0, 16, 6, 3, 5, 0, 0, 0, 0,255,255, 0, 70, -255,230, 4,149, 4,122, 16, 6, 2,237, 0, 0, 0, 1, 0, 26,254, 46, 4,183, 0,181, 0, 11, 0, 33,183, 6, 6, 10, 8, 5, - 6, 1, 3, 47,220,236, 47,220,236, 49, 0,183, 0,182, 6, 9, 2,182, 7, 4, 47, 60,236, 50,220,236, 48, 19, 17, 35, 53, 33, - 17, 33, 17, 33, 21, 35, 17,225,199, 1,111, 1,191, 1,111,199,254, 46, 1,218,173,254, 37, 1,219,173,254, 38, 0, 3, 0, 72, -255,211, 4,136, 4, 58, 0, 5, 0, 17, 0, 48, 0, 0, 5, 1, 55, 9, 1, 23, 37, 35, 34, 6, 21, 20, 22, 51, 50, 54, 61, 1, - 55, 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, 23, 22, 23, 30, 1, 2, -104,253,224, 72, 1,216, 1,216, 72,254, 24, 35, 91, 93, 69, 62, 86, 99,105,105, 33,102, 72, 97,116,142,138,140, 76, 84, 53,109, - 52, 58,106, 50, 79, 56, 53, 37, 22, 18, 45, 2, 45, 74,254, 28, 1,228, 74,243, 63, 63, 56, 63,118,104, 23, 43,254,154, 93, 56, - 53,108, 91,104,109, 16, 75, 68, 30, 29,103, 21, 22, 23, 22, 47, 28, 82, 0, 0, 0, 6, 0, 6, 0,218, 4,203, 4, 58, 0, 3, - 0, 7, 0, 11, 0, 15, 0, 27, 0, 57, 0, 0, 1, 51, 53, 35, 23, 51, 53, 35, 5, 51, 53, 35, 1, 33, 53, 33, 1, 35, 34, 6, - 21, 20, 22, 51, 50, 54, 61, 1, 55, 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, 23, 30, 1, 3, 97,115,115,170,115,115,254,172,115,115, 2, 20,251, 59, 4,197,252,183, 35, 91, 93, 69, 62, 86, 99, -105,105, 33,102, 72, 97,116,142,138,140, 76, 84, 53,109, 52, 58,106, 50, 79,112, 34, 22, 18, 1,184,127,127,127,127,127,254,163, -114, 1,167, 63, 63, 56, 63,118,104, 23, 43,254,154, 93, 56, 53,108, 91,104,109, 16, 75, 68, 30, 29,103, 21, 22, 46, 46, 28, 82, - 0, 6, 0, 6, 0,218, 4,203, 4, 58, 0, 3, 0, 7, 0, 19, 0, 49, 0, 61, 0, 91, 0, 0, 37, 53, 33, 21, 33, 53, 33, 21, - 3, 35, 34, 6, 21, 20, 22, 51, 50, 54, 61, 1, 55, 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, 23, 30, 1, 5, 35, 34, 6, 21, 20, 22, 51, 50, 54, 55, 53, 55, 17, 35, 53, 14, 1, 35, 34, 38, 53, - 52, 54, 59, 1, 53, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 30, 1, 2,155, 2, 48,251, 59, 2, 48,180, 35, 91, 93, - 69, 62, 86, 99,105,105, 33,102, 72, 97,116,142,138,140, 76, 84, 53,109, 52, 58,106, 50, 79,112, 34, 22, 18, 1,127, 34, 91, 93, - 69, 62, 86, 98, 1,105,105, 34,101, 73, 97,115,142,138,140, 1, 76, 83, 53,109, 52, 58,106, 50, 79,112, 34, 22, 18,218,114,114, -114,114, 2, 25, 63, 63, 56, 63,118,104, 23, 43,254,154, 93, 56, 53,108, 91,104,109, 16, 75, 68, 30, 29,103, 21, 22, 46, 46, 28, - 82,125, 63, 63, 56, 63,118,104, 23, 43,254,154, 93, 56, 53,108, 91,104,109, 16, 75, 68, 30, 29,103, 21, 22, 46, 46, 28, 82, 0, - 0, 8, 0, 6, 1,107, 4,203, 4,138, 0, 30, 0, 42, 0, 46, 0, 50, 0, 54, 0, 58, 0, 62, 0, 66, 0, 0, 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, 23, 22, 23, 30, 1, 7, 35, 34, 6, 21, - 20, 22, 51, 50, 54, 61, 1, 1, 21, 37, 61, 1, 33, 21, 33, 17, 37, 21, 5, 45, 1, 21, 5, 21, 33, 21, 33, 21, 5, 21, 37, 3, -113,105, 33,102, 72, 97,116,142,138,140, 76, 84, 53,109, 52, 58,106, 50, 79, 56, 53, 37, 22, 18,209, 35, 91, 93, 69, 62, 86, 99, - 1,202,254,212, 1, 44,254,212, 1, 44,254,212,253,147,254,212, 1, 44,254,212, 1, 44,254,212, 1, 44, 3, 30,254,154, 93, 56, - 53,108, 91,104,109, 16, 75, 68, 30, 29,103, 21, 22, 23, 22, 47, 28, 82,125, 63, 63, 56, 63,118,104, 23,254,241,121,140,121,188, -114, 1, 68,140,121,140,121,140,121,140, 89,114, 74,140,121,140, 0, 7, 0, 82, 0, 56, 4,126, 4,207, 0, 52, 0, 60, 0, 68, - 0, 76, 0, 84, 0, 90, 0, 96, 0, 0, 37, 35, 53, 38, 39, 38, 39, 38, 39, 7, 39, 55, 38, 53, 52, 55, 53, 39, 55, 23, 54, 55, - 54, 55, 54, 55, 53, 51, 21, 22, 23, 22, 23, 22, 23, 55, 23, 7, 23, 22, 21, 20, 7, 21, 23, 7, 39, 6, 7, 6, 7, 6, 7, 53, - 54, 55, 54, 55, 54, 55, 39, 17, 21, 55, 38, 39, 38, 39, 38, 39, 6, 7, 6, 7, 6, 7, 23, 17, 53, 7, 22, 23, 22, 23, 22, 39, - 55, 39, 6, 21, 20, 37, 7, 23, 54, 53, 52, 2,154,100, 51, 47, 68, 57, 19, 15,177, 50,176, 28, 28,176, 50,177, 16, 18, 57, 68, - 47, 51,100, 52, 46, 69, 57, 18, 15,177, 50,176, 1, 28, 28,175, 50,176, 16, 18, 57, 69, 46, 52, 31, 29, 50, 42, 9, 7,168,168, - 7, 9, 42, 50, 29,131, 31, 28, 50, 42, 9, 8,168,168, 8, 9, 42, 50, 28,188,169,169, 16, 2, 42,169,169, 17, 56,203, 6, 20, - 29, 56, 19, 19,102, 87,102, 69, 79, 80, 68, 1,102, 87,103, 20, 19, 56, 29, 20, 6,203,203, 6, 20, 29, 56, 18, 20,102, 87,101, - 2, 68, 80, 79, 69, 1,101, 87,102, 20, 18, 56, 29, 20, 6,103, 5, 12, 21, 42, 9, 9, 97, 1,112,195, 97, 9, 9, 42, 21, 12, - 5, 5, 12, 21, 42, 9, 9, 97,254,144,195, 97, 9, 9, 42, 21, 12,179, 98, 97, 46, 52, 51,149, 97, 98, 45, 52, 53, 0, 0, 0, - 0, 4, 0, 70, 0, 94, 4,138, 4,162, 0, 15, 0, 30, 0, 39, 0, 48, 0, 0, 18, 52, 62, 2, 50, 30, 2, 20, 14, 2, 34, 46, - 1, 19, 51, 27, 1, 51, 38, 39, 46, 2, 34, 14, 1, 7, 6, 5, 35, 3, 54, 55, 62, 1, 55, 54, 1, 3, 35, 22, 23, 30, 1, 23, - 22, 70, 86,147,202,222,202,147, 86, 86,147,202,222,202,147, 28,240,192,193,239, 7, 24, 34,118,160,178,160,118, 34, 24, 3, 90, -164,207, 56, 51, 80,118, 34, 25,254, 24,206,165, 7, 25, 34,118, 80, 51, 2, 17,222,202,147, 86, 86,147,202,222,202,147, 86, 86, -147, 1,110,254,152, 1,104, 60, 56, 80,118, 68, 68,118, 80, 56,162,254,130, 8, 22, 34,118, 80, 57,254,193, 1,126, 63, 57, 80, -118, 34, 22, 0, 0, 5, 0, 70, 0, 94, 4,138, 4,162, 0, 2, 0, 18, 0, 28, 0, 38, 0, 48, 0, 0, 1, 19, 33, 0, 52, 62, - 2, 50, 30, 2, 20, 14, 2, 34, 46, 1, 18, 20, 30, 1, 23, 22, 23, 1, 6, 7, 55, 33, 38, 39, 46, 1, 34, 6, 7, 6, 5, 1, - 54, 55, 62, 2, 52, 39, 38, 2,104,243,254, 26,254,209, 86,147,202,222,202,147, 86, 86,147,202,222,202,147, 25, 68,118, 80, 52, - 55,254,180, 4, 3, 57, 2,176, 17, 19, 59,160,178,160, 59, 19, 2,209,254,180, 55, 52, 80,118, 68, 34, 3, 1, 77, 1,199,254, -253,222,202,147, 86, 86,147,202,222,202,147, 86, 86,147, 1,146,178,160,118, 34, 22, 8, 2,105, 8, 9, 99, 21, 19, 59, 68, 68, - 59, 19,103,253,151, 8, 22, 34,118,160,178, 80, 9, 0, 0, 0, 0, 3, 0, 70, 0, 94, 4,138, 4,162, 0, 2, 0, 9, 0, 37, - 0, 0, 1, 55, 39, 23, 1, 7, 1, 7, 3, 5, 1, 51, 20, 30, 2, 50, 62, 2, 52, 46, 2, 35, 53, 50, 30, 2, 20, 14, 2, 34, - 46, 2, 1, 5,145,174,205, 1,238, 86,254, 18,151, 70, 1,202,253,250,111, 68,118,160,178,160,118, 68, 68,118,160, 89,111,202, -147, 86, 86,147,202,222,202,147, 86, 3, 83,146, 28,119,254, 18, 86, 1,238,151, 1,202, 70,254, 95, 89,160,118, 68, 68,118,160, -178,160,118, 68,111, 86,147,202,222,202,147, 86, 86,147,202, 0, 0, 2, 0, 6,255, 52, 4,203, 6,161, 0, 3, 0, 7, 0, 0, - 23, 33, 17, 33, 3, 17, 33, 17,120, 3,225,252, 31,114, 4,197, 90, 6,137,249, 5, 7,109,248,147, 0, 0, 0, 0, 1, 1, 24, -253,240, 3,184, 7,134, 0, 11, 0, 0, 1, 35, 53, 16, 19, 18, 19, 51, 0, 3, 2, 17, 1,219,195,160,186,166,160,254,252, 90, -127,253,240,234, 3,151, 1,226, 2, 48, 1, 3,253,243,254,134,253,238,252,237, 0, 1, 1, 24,253,252, 1,219, 7,137, 0, 3, - 0, 0, 1, 51, 17, 35, 1, 24,195,195, 7,137,246,115, 0, 0, 0, 1, 1, 24,254, 20, 3,184, 7,137, 0, 11, 0, 0, 1, 21, - 16, 19, 18, 19, 35, 2, 3, 2, 17, 53, 1,219,127,147,203,160,208,144,160, 7,137,234,252,165,254, 87,254, 20,254,101, 1, 69, - 1,238, 2, 37, 3, 51,234, 0, 0, 1, 1, 25,253,240, 3,185, 7,134, 0, 11, 0, 0, 1, 53, 16, 3, 2, 1, 51, 18, 19, 18, - 17, 21, 2,246,127, 90,254,252,160,166,186,160,253,240,234, 3, 19, 2, 18, 1,122, 2, 13,254,253,253,208,254, 30,252,105,234, - 0, 1, 2,246,253,252, 3,185, 7,137, 0, 4, 0, 0, 1, 17, 35, 17, 48, 3,185,195, 7,137,246,115, 9,141, 0, 1, 1, 25, -254, 20, 3,185, 7,137, 0, 11, 0, 0, 1, 51, 21, 16, 3, 2, 3, 35, 18, 19, 18, 17, 2,246,195,160,144,208,160,203,147,127, - 7,137,234,252,205,253,219,254, 18,254,187, 1,155, 1,236, 1,169, 3, 91, 0, 0, 1, 1, 24,253,252, 3,184, 7,109, 0, 5, - 0, 0, 1, 35, 17, 33, 21, 33, 1,219,195, 2,160,254, 35,253,252, 9,113,195, 0, 1, 1, 24,253,252, 1,219, 7,137, 0, 3, - 0, 0, 1, 51, 17, 35, 1, 24,195,195, 7,137,246,115, 0, 0, 0, 1, 1, 24,254, 20, 3,184, 7,137, 0, 5, 0, 0, 1, 17, - 33, 21, 33, 17, 1,219, 1,221,253, 96, 7,137,247, 78,195, 9,117, 0, 0, 0, 0, 1, 1, 24,253,252, 3,184, 7,109, 0, 5, - 0, 0, 1, 17, 33, 53, 33, 17, 2,245,254, 35, 2,160,253,252, 8,174,195,246,143, 0, 0, 0, 0, 1, 2,245,253,252, 3,184, - 7,122, 0, 3, 0, 0, 1, 51, 17, 35, 2,245,195,195, 7,122,246,130, 0, 0, 0, 1, 1, 24,254, 20, 3,184, 7,122, 0, 5, - 0, 0, 1, 51, 17, 33, 53, 33, 2,245,195,253, 96, 1,221, 7,122,246,154,195, 0, 1, 2, 12,253,234, 4,193, 7,109, 0, 13, - 0, 0, 1, 35, 17, 52, 55, 54, 51, 33, 21, 33, 34, 7, 6, 21, 2,198,186,111,121,186, 1, 19,254,231,101, 68, 57,253,234, 7, -117,223,145,158,176,102, 87,153, 0, 1, 0, 17,253,252, 2,198, 7,134, 0, 24, 0, 0, 1, 22, 23, 22, 25, 1, 35, 17, 16, 39, - 38, 37, 39, 53, 51, 32, 55, 54, 25, 1, 51, 17, 16, 7, 6, 1,253, 58, 42,101,186,110, 75,254,251, 61, 61, 1, 3, 77,110,186, -101, 40, 2,193, 32, 61,147,254, 67,253,232, 2, 12, 1,183, 95, 65, 4, 1,187, 69, 99, 1,179, 2, 12,253,232,254, 72,152, 60, - 0, 1, 2, 12,254, 20, 4,193, 7,134, 0, 13, 0, 0, 1, 17, 20, 23, 22, 51, 33, 21, 33, 34, 39, 38, 53, 17, 2,198, 57, 68, -101, 1, 25,254,237,184,123,111, 7,134,248,148,154, 86,102,176,158,143,225, 7,100, 0, 0, 0, 0, 1, 2, 12,253,244, 2,198, - 7,140, 0, 3, 0, 0, 1, 35, 17, 51, 2,198,186,186,253,244, 9,152, 0, 0, 0, 1, 0, 16,253,234, 2,197, 7,109, 0, 13, - 0, 0, 1, 17, 52, 39, 38, 35, 33, 53, 33, 50, 23, 22, 21, 17, 2, 11, 57, 68,101,254,231, 1, 19,186,121,111,253,234, 7,125, -153, 87,102,176,158,145,223,248,139, 0, 0, 0, 0, 1, 2, 11,253,252, 4,192, 7,134, 0, 24, 0, 0, 1, 38, 39, 38, 25, 1, - 51, 17, 16, 23, 22, 33, 51, 21, 7, 4, 7, 6, 25, 1, 35, 17, 16, 55, 54, 2,212, 60, 40,101,186,110, 77, 1, 3, 61, 61,254, -251, 75,110,186,101, 42, 2,193, 33, 60,152, 1,184, 2, 24,253,244,254, 77, 99, 69,187, 1, 4, 65, 95,254, 73,253,244, 2, 24, - 1,189,147, 61, 0, 1, 0, 16,254, 20, 2,197, 7,134, 0, 13, 0, 0, 1, 51, 17, 20, 7, 6, 35, 33, 53, 33, 50, 55, 54, 53, - 2, 11,186,111,123,184,254,237, 1, 25,101, 68, 57, 7,134,248,156,225,143,158,176,102, 86,154, 0, 1, 2, 1,254, 0, 2,199, - 6, 40, 0, 3, 0, 0, 1, 17, 51, 17, 2, 1,198,254, 0, 8, 40,247,216, 0, 0, 2, 0, 25, 0,188, 4,143, 4,118, 0, 8, - 0, 17, 0, 0, 37, 9, 1, 21, 33, 17, 33, 17, 33, 1, 33, 53, 7, 23, 53, 33, 17, 35, 1,142,254,139, 1,117, 1,169, 1, 88, -252,255, 1,239,253,194,194,194, 3, 10,204,188, 1,117, 1,117,201, 1,153,253, 15, 1, 18, 93,195,195, 93, 2,101, 0, 0, 0, - 0, 2, 0, 6, 0, 0, 4,203, 4,196, 0, 2, 0, 6, 0, 0, 1, 33, 9, 1, 33, 17, 33, 4,203,251, 59, 2, 98, 2, 99,251, - 59, 4,197, 2,160, 2, 36,251, 60, 1,248, 0, 0, 1, 0,150,254, 46, 4, 58, 0,181, 0, 7, 0, 28,183, 4, 6, 6, 9, 3, - 6, 1, 8, 16,220,236, 16,220,236, 49, 0,180, 0,182, 4, 6, 2, 47, 60,220,236, 48, 19, 17, 51, 17, 33, 17, 51, 17,150,168, - 2, 84,168,254, 46, 2,135,254, 37, 1,219,253,121, 0, 0, 0, 0, 1,255,236, 1,240, 4,229, 2,156, 0, 3, 0, 0, 3, 53, - 33, 21, 20, 4,249, 1,240,172,172, 0, 0, 0, 0, 1,255,236, 1,154, 4,229, 2,242, 0, 3, 0, 0, 3, 17, 33, 17, 20, 4, -249, 1,154, 1, 88,254,168, 0, 0, 1, 2, 24,253,150, 2,184, 7,200, 0, 3, 0, 0, 1, 17, 51, 17, 2, 24,160,253,150, 10, - 50,245,206, 0, 0, 1, 1,200,253,150, 3, 8, 7,200, 0, 3, 0, 0, 1, 17, 33, 17, 1,200, 1, 64,253,150, 10, 50,245,206, - 0, 3,255,236, 1,240, 4,229, 2,156, 0, 3, 0, 7, 0, 11, 0, 0, 1, 53, 33, 21, 33, 53, 33, 21, 33, 53, 33, 21, 3,177, - 1, 52,252,239, 1, 41,252,239, 1, 52, 1,240,172,172,172,172,172,172, 0, 0, 0, 3,255,236, 1,154, 4,229, 2,242, 0, 3, - 0, 7, 0, 11, 0, 0, 1, 17, 33, 17, 33, 17, 33, 17, 33, 17, 33, 17, 3,177, 1, 52,252,239, 1, 41,252,239, 1, 52, 1,154, - 1, 88,254,168, 1, 88,254,168, 1, 88,254,168, 0, 3, 2, 24,253,150, 2,184, 7,200, 0, 3, 0, 7, 0, 11, 0, 0, 1, 17, - 51, 17, 3, 17, 51, 17, 3, 17, 51, 17, 2, 24,160,160,160,160,160,253,150, 3, 12,252,244, 3,192, 2,178,253, 78, 3,102, 3, - 12,252,244, 0, 0, 3, 1,200,253,150, 3, 8, 7,200, 0, 3, 0, 7, 0, 11, 0, 0, 1, 17, 33, 17, 1, 17, 33, 17, 1, 17, - 33, 17, 1,200, 1, 64,254,192, 1, 64,254,192, 1, 64,253,150, 3, 12,252,244, 3,192, 2,178,253, 78, 3,102, 3, 12,252,244, - 0, 4,255,235, 1,240, 4,229, 2,156, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, 3, 53, 51, 21, 51, 53, 51, 21, 51, 53, 51, 21, - 51, 53, 51, 21, 21,188,180,179,180,178,180,189, 1,240,172,172,172,172,172,172,172,172, 0, 0, 0, 4,255,236, 1,154, 4,230, - 2,242, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, 3, 17, 51, 17, 51, 17, 51, 17, 51, 17, 51, 17, 51, 17, 51, 17, 20,188,180,179, -180,178,180,189, 1,154, 1, 88,254,168, 1, 88,254,168, 1, 88,254,168, 1, 88,254,168, 0, 0, 0, 4, 2, 24,253,150, 2,184, - 7,200, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, 1, 17, 51, 17, 3, 17, 51, 17, 3, 17, 51, 17, 3, 17, 51, 17, 2, 24,160,160, -160,160,160,160,160, 5,150, 2, 50,253,206,248, 0, 2, 50,253,206, 5,115, 1,217,254, 39,253,115, 1,217,254, 39, 0, 0, 0, - 0, 4, 1,200,253,150, 3, 8, 7,200, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, 1, 17, 33, 17, 1, 17, 33, 17, 1, 17, 33, 17, - 1, 17, 33, 17, 1,200, 1, 64,254,192, 1, 64,254,192, 1, 64,254,192, 1, 64, 5,150, 2, 50,253,206,248, 0, 2, 50,253,206, - 5,115, 1,217,254, 39,253,115, 1,217,254, 39, 0, 1, 2, 24,253,150, 4,229, 2,156, 0, 5, 0, 0, 1, 17, 33, 21, 33, 17, - 2, 24, 2,205,253,211,253,150, 5, 6,172,251,166, 0, 0, 0, 0, 1, 2, 24,253,150, 4,229, 2,242, 0, 5, 0, 0, 1, 17, - 33, 17, 33, 17, 2, 24, 2,205,253,211,253,150, 5, 92,254,168,251,252, 0, 0, 0, 1, 1,200,253,150, 4,229, 2,156, 0, 5, - 0, 0, 1, 17, 33, 21, 33, 17, 1,200, 3, 29,254, 35,253,150, 5, 6,172,251,166, 0, 0, 0, 0, 1, 1,200,253,150, 4,229, - 2,242, 0, 5, 0, 0, 1, 17, 33, 17, 33, 17, 1,200, 3, 29,254, 35,253,150, 5, 92,254,168,251,252, 0, 0, 0, 1,255,236, -253,150, 2,184, 2,156, 0, 5, 0, 0, 1, 17, 33, 53, 33, 17, 2, 24,253,212, 2,204,253,150, 4, 90,172,250,250, 0, 0, 0, - 0, 1,255,236,253,150, 2,184, 2,242, 0, 5, 0, 0, 1, 17, 33, 17, 33, 17, 2, 24,253,212, 2,204,253,150, 4, 4, 1, 88, -250,164, 0, 0, 0, 1,255,236,253,150, 3, 8, 2,156, 0, 5, 0, 0, 1, 17, 33, 53, 33, 17, 1,200,254, 36, 3, 28,253,150, - 4, 90,172,250,250, 0, 0, 0, 0, 1,255,236,253,150, 3, 8, 2,242, 0, 5, 0, 0, 1, 17, 33, 17, 33, 17, 1,200,254, 36, - 3, 28,253,150, 4, 4, 1, 88,250,164, 0, 0, 0, 1, 2, 24, 1,240, 4,229, 7,200, 0, 5, 0, 0, 1, 17, 51, 17, 33, 21, - 2, 24,160, 2, 45, 1,240, 5,216,250,212,172, 0, 1, 2, 24, 1,154, 4,229, 7,200, 0, 5, 0, 0, 1, 17, 51, 17, 33, 17, - 2, 24,160, 2, 45, 1,154, 6, 46,251, 42,254,168, 0, 0, 0, 0, 1, 1,200, 1,240, 4,229, 7,200, 0, 5, 0, 0, 1, 17, - 33, 17, 33, 21, 1,200, 1, 64, 1,221, 1,240, 5,216,250,212,172, 0, 0, 0, 0, 1, 1,200, 1,154, 4,229, 7,200, 0, 5, - 0, 0, 1, 17, 33, 17, 33, 17, 1,200, 1, 64, 1,221, 1,154, 6, 46,251, 42,254,168, 0, 0, 0, 1,255,236, 1,240, 2,184, - 7,200, 0, 5, 0, 0, 3, 53, 33, 17, 51, 17, 20, 2, 44,160, 1,240,172, 5, 44,250, 40, 0, 0, 1,255,236, 1,154, 2,184, - 7,200, 0, 5, 0, 0, 3, 17, 33, 17, 51, 17, 20, 2, 44,160, 1,154, 1, 88, 4,214,249,210, 0, 1,255,236, 1,240, 3, 8, - 7,200, 0, 5, 0, 0, 3, 53, 33, 17, 33, 17, 20, 1,220, 1, 64, 1,240,172, 5, 44,250, 40, 0, 1,255,236, 1,154, 3, 8, - 7,200, 0, 5, 0, 0, 3, 17, 33, 17, 33, 17, 20, 1,220, 1, 64, 1,154, 1, 88, 4,214,249,210, 0, 0, 0, 0, 1, 2, 24, -253,150, 4,229, 7,200, 0, 7, 0, 0, 1, 17, 51, 17, 33, 21, 33, 17, 2, 24,160, 2, 45,253,211,253,150, 10, 50,250,212,172, -251,166, 0, 0, 0, 1, 2, 24,253,150, 4,229, 7,200, 0, 7, 0, 0, 1, 17, 51, 17, 33, 17, 33, 17, 2, 24,160, 2, 45,253, -211,253,150, 10, 50,251, 42,254,168,251,252, 0, 0, 1, 1,200,253,150, 4,229, 7,200, 0, 9, 0, 0, 1, 17, 35, 17, 33, 17, - 33, 21, 33, 17, 2, 24, 80, 1, 64, 1,221,253,211,253,150, 4, 90, 5,216,250,212,172,251,166, 0, 1, 1,200,253,150, 4,229, - 7,200, 0, 9, 0, 0, 1, 17, 51, 17, 51, 17, 33, 21, 33, 17, 1,200, 80,160, 2, 45,254, 35,253,150, 5, 6, 5, 44,250,212, -172,251,166, 0, 0, 1, 1,200,253,150, 4,229, 7,200, 0, 7, 0, 0, 1, 17, 33, 17, 33, 21, 33, 17, 1,200, 1, 64, 1,221, -254, 35,253,150, 10, 50,250,212,172,251,166, 0, 0, 1, 1,200,253,150, 4,229, 7,200, 0, 9, 0, 0, 1, 17, 35, 17, 33, 17, - 33, 17, 33, 17, 2, 24, 80, 1, 64, 1,221,253,211,253,150, 4, 4, 6, 46,251, 42,254,168,251,252, 0, 0, 0, 0, 1, 1,200, -253,150, 4,229, 7,200, 0, 9, 0, 0, 1, 17, 51, 17, 51, 17, 33, 17, 33, 17, 1,200, 80,160, 2, 45,254, 35,253,150, 5, 92, - 4,214,251, 42,254,168,251,252, 0, 1, 1,200,253,150, 4,229, 7,200, 0, 7, 0, 0, 1, 17, 33, 17, 33, 17, 33, 17, 1,200, - 1, 64, 1,221,254, 35,253,150, 10, 50,251, 42,254,168,251,252, 0, 1,255,236,253,150, 2,184, 7,200, 0, 7, 0, 0, 1, 17, - 33, 53, 33, 17, 51, 17, 2, 24,253,212, 2, 44,160,253,150, 4, 90,172, 5, 44,245,206, 0, 0, 0, 1,255,236,253,150, 2,184, - 7,200, 0, 7, 0, 0, 1, 17, 33, 17, 33, 17, 51, 17, 2, 24,253,212, 2, 44,160,253,150, 4, 4, 1, 88, 4,214,245,206, 0, - 0, 1,255,236,253,150, 3, 8, 7,200, 0, 9, 0, 0, 1, 17, 33, 53, 33, 17, 33, 17, 35, 17, 2, 24,253,212, 1,220, 1, 64, - 80,253,150, 4, 90,172, 5, 44,250, 40,251,166, 0, 1,255,236,253,150, 3, 8, 7,200, 0, 9, 0, 0, 1, 17, 33, 53, 33, 17, - 51, 17, 51, 17, 1,200,254, 36, 2, 44,160, 80,253,150, 4, 90,172, 5, 44,250,212,250,250, 0, 0, 1,255,236,253,150, 3, 8, - 7,200, 0, 7, 0, 0, 1, 17, 33, 53, 33, 17, 33, 17, 1,200,254, 36, 1,220, 1, 64,253,150, 4, 90,172, 5, 44,245,206, 0, - 0, 1,255,236,253,150, 3, 8, 7,200, 0, 9, 0, 0, 1, 17, 33, 17, 33, 17, 33, 17, 35, 17, 2, 24,253,212, 1,220, 1, 64, - 80,253,150, 4, 4, 1, 88, 4,214,249,210,251,252, 0, 0, 0, 0, 1,255,236,253,150, 3, 8, 7,200, 0, 9, 0, 0, 1, 17, - 33, 17, 33, 17, 51, 17, 51, 17, 1,200,254, 36, 2, 44,160, 80,253,150, 4, 4, 1, 88, 4,214,251, 42,250,164, 0, 1,255,236, -253,150, 3, 8, 7,200, 0, 7, 0, 0, 1, 17, 33, 17, 33, 17, 33, 17, 1,200,254, 36, 1,220, 1, 64,253,150, 4, 4, 1, 88, - 4,214,245,206, 0, 1,255,236,253,150, 4,229, 2,156, 0, 7, 0, 0, 1, 17, 33, 53, 33, 21, 33, 17, 2, 24,253,212, 4,249, -253,211,253,150, 4, 90,172,172,251,166, 0, 0, 0, 1,255,236,253,150, 4,229, 2,242, 0, 9, 0, 0, 1, 17, 33, 17, 33, 21, - 33, 21, 33, 17, 2, 24,253,212, 2,204, 2, 45,253,211,253,150, 4, 4, 1, 88, 86,172,251,166, 0, 1,255,236,253,150, 4,229, - 2,242, 0, 9, 0, 0, 1, 17, 33, 53, 33, 53, 33, 17, 33, 17, 2, 24,253,212, 2, 44, 2,205,253,211,253,150, 4, 90,172, 86, -254,168,251,252, 0, 1,255,236,253,150, 4,229, 2,242, 0, 7, 0, 0, 1, 17, 33, 17, 33, 17, 33, 17, 2, 24,253,212, 4,249, -253,211,253,150, 4, 4, 1, 88,254,168,251,252, 0, 1,255,236,253,150, 4,229, 2,156, 0, 7, 0, 0, 1, 17, 33, 53, 33, 21, - 33, 17, 1,200,254, 36, 4,249,254, 35,253,150, 4, 90,172,172,251,166, 0, 0, 0, 1,255,236,253,150, 4,229, 2,242, 0, 9, - 0, 0, 1, 17, 33, 17, 33, 21, 33, 21, 33, 17, 1,200,254, 36, 3, 28, 1,221,254, 35,253,150, 4, 4, 1, 88, 86,172,251,166, - 0, 1,255,236,253,150, 4,229, 2,242, 0, 9, 0, 0, 1, 17, 33, 53, 33, 53, 33, 17, 33, 17, 1,200,254, 36, 1,220, 3, 29, -254, 35,253,150, 4, 90,172, 86,254,168,251,252, 0, 1,255,236,253,150, 4,229, 2,242, 0, 7, 0, 0, 1, 17, 33, 17, 33, 17, - 33, 17, 1,200,254, 36, 4,249,254, 35,253,150, 4, 4, 1, 88,254,168,251,252, 0, 1,255,236, 1,240, 4,229, 7,200, 0, 7, - 0, 0, 3, 53, 33, 17, 51, 17, 33, 21, 20, 2, 44,160, 2, 45, 1,240,172, 5, 44,250,212,172, 0, 1,255,236, 1,154, 4,229, - 7,200, 0, 9, 0, 0, 3, 17, 33, 17, 51, 17, 33, 21, 33, 21, 20, 2, 44,160, 2, 45,253,211, 1,154, 1, 88, 4,214,250,212, -172, 86, 0, 0, 0, 1,255,236, 1,154, 4,229, 7,200, 0, 9, 0, 0, 3, 53, 33, 17, 51, 17, 33, 17, 33, 53, 20, 2, 44,160, - 2, 45,253, 51, 1,240,172, 5, 44,251, 42,254,168, 86, 0, 0, 0, 1,255,236, 1,154, 4,229, 7,200, 0, 7, 0, 0, 3, 17, - 33, 17, 51, 17, 33, 17, 20, 2, 44,160, 2, 45, 1,154, 1, 88, 4,214,251, 42,254,168, 0, 0, 0, 1,255,236, 1,240, 4,229, - 7,200, 0, 7, 0, 0, 3, 53, 33, 17, 33, 17, 33, 21, 20, 1,220, 1, 64, 1,221, 1,240,172, 5, 44,250,212,172, 0, 0, 0, - 0, 1,255,236, 1,154, 4,229, 7,200, 0, 9, 0, 0, 3, 17, 33, 17, 33, 17, 33, 21, 33, 21, 20, 1,220, 1, 64, 1,221,254, - 35, 1,154, 1, 88, 4,214,250,212,172, 86, 0, 0, 1,255,236, 1,154, 4,229, 7,200, 0, 9, 0, 0, 3, 53, 33, 17, 33, 17, - 33, 17, 33, 53, 20, 1,220, 1, 64, 1,221,252,227, 1,240,172, 5, 44,251, 42,254,168, 86, 0, 0, 1,255,236, 1,154, 4,229, - 7,200, 0, 7, 0, 0, 3, 17, 33, 17, 33, 17, 33, 17, 20, 1,220, 1, 64, 1,221, 1,154, 1, 88, 4,214,251, 42,254,168, 0, - 0, 1,255,236,253,150, 4,229, 7,200, 0, 11, 0, 0, 1, 17, 35, 17, 33, 53, 33, 17, 51, 17, 33, 21, 2,184,160,253,212, 2, - 44,160, 2, 45, 1,240,251,166, 4, 90,172, 5, 44,250,212,172, 0, 1,255,236,253,150, 4,229, 7,200, 0, 11, 0, 0, 1, 17, - 33, 17, 33, 17, 51, 17, 33, 21, 33, 17, 2, 24,253,212, 2, 44,160, 2, 45,253,211,253,150, 4, 4, 1, 88, 4,214,250,212,172, -251,166, 0, 0, 0, 1,255,236,253,150, 4,229, 7,200, 0, 11, 0, 0, 1, 17, 33, 53, 33, 17, 51, 17, 33, 17, 33, 17, 2, 24, -253,212, 2, 44,160, 2, 45,253,211,253,150, 4, 90,172, 5, 44,251, 42,254,168,251,252, 0, 0, 0, 1,255,236,253,150, 4,229, - 7,200, 0, 11, 0, 0, 1, 17, 33, 17, 33, 17, 51, 17, 33, 17, 33, 17, 2, 24,253,212, 2, 44,160, 2, 45,253,211,253,150, 4, - 4, 1, 88, 4,214,251, 42,254,168,251,252, 0, 0, 1,255,236,253,150, 4,229, 7,200, 0, 11, 0, 0, 1, 17, 33, 53, 33, 17, - 33, 17, 33, 21, 33, 17, 2, 24,253,212, 1,220, 1, 64, 1,221,253,211,253,150, 4, 90,172, 5, 44,250,212,172,251,166, 0, 0, - 0, 1,255,236,253,150, 4,229, 7,200, 0, 11, 0, 0, 1, 17, 33, 53, 33, 17, 51, 17, 33, 21, 33, 17, 1,200,254, 36, 2, 44, -160, 2, 45,254, 35,253,150, 4, 90,172, 5, 44,250,212,172,251,166, 0, 0, 0, 0, 1,255,236,253,150, 4,229, 7,200, 0, 11, - 0, 0, 1, 17, 33, 53, 33, 17, 33, 17, 33, 21, 33, 17, 1,200,254, 36, 1,220, 1, 64, 1,221,254, 35,253,150, 4, 90,172, 5, - 44,250,212,172,251,166, 0, 0, 0, 1,255,236,253,150, 4,229, 7,200, 0, 13, 0, 0, 1, 17, 33, 17, 33, 17, 33, 17, 33, 21, - 33, 21, 35, 17, 2, 24,253,212, 1,220, 1, 64, 1,221,254, 35, 80,253,150, 4, 4, 1, 88, 4,214,250,212,172, 86,251,252, 0, - 0, 1,255,236,253,150, 4,229, 7,200, 0, 13, 0, 0, 1, 17, 35, 53, 33, 53, 33, 17, 33, 17, 33, 17, 33, 17, 2, 24, 80,254, - 36, 1,220, 1, 64, 1,221,253,211,253,150, 4, 4, 86,172, 5, 44,251, 42,254,168,251,252, 0, 0, 1,255,236,253,150, 4,229, - 7,200, 0, 13, 0, 0, 1, 17, 33, 17, 33, 17, 51, 17, 51, 21, 33, 21, 33, 17, 1,200,254, 36, 2, 44,160, 80, 1,221,254, 35, -253,150, 4, 4, 1, 88, 4,214,251, 42, 86,172,251,166, 0, 0, 0, 1,255,236,253,150, 4,229, 7,200, 0, 13, 0, 0, 1, 17, - 33, 53, 33, 53, 51, 17, 51, 17, 33, 17, 33, 17, 1,200,254, 36, 1,220, 80,160, 2, 45,254, 35,253,150, 4, 90,172, 86, 4,214, -251, 42,254,168,251,252, 0, 0, 0, 1,255,236,253,150, 4,229, 7,200, 0, 11, 0, 0, 1, 17, 33, 17, 33, 17, 33, 17, 33, 17, - 33, 17, 2, 24,253,212, 1,220, 1, 64, 1,221,253,211,253,150, 4, 4, 1, 88, 4,214,251, 42,254,168,251,252, 0, 1,255,236, -253,150, 4,229, 7,200, 0, 11, 0, 0, 1, 17, 33, 17, 33, 17, 51, 17, 33, 17, 33, 17, 1,200,254, 36, 2, 44,160, 2, 45,254, - 35,253,150, 4, 4, 1, 88, 4,214,251, 42,254,168,251,252, 0, 0, 1,255,236,253,150, 4,229, 7,200, 0, 11, 0, 0, 1, 17, - 33, 17, 33, 17, 33, 17, 33, 21, 33, 17, 1,200,254, 36, 1,220, 1, 64, 1,221,254, 35,253,150, 4, 4, 1, 88, 4,214,250,212, -172,251,166, 0, 0, 1,255,236,253,150, 4,229, 7,200, 0, 11, 0, 0, 1, 17, 33, 53, 33, 17, 33, 17, 33, 17, 33, 17, 1,200, -254, 36, 1,220, 1, 64, 1,221,254, 35,253,150, 4, 90,172, 5, 44,251, 42,254,168,251,252, 0, 0, 1,255,236,253,150, 4,229, - 7,200, 0, 11, 0, 0, 1, 17, 33, 17, 33, 17, 33, 17, 33, 17, 33, 17, 1,200,254, 36, 1,220, 1, 64, 1,221,254, 35,253,150, - 4, 4, 1, 88, 4,214,251, 42,254,168,251,252, 0, 2,255,236, 1,240, 4,229, 2,156, 0, 3, 0, 7, 0, 0, 3, 53, 33, 21, - 51, 53, 33, 21, 20, 2, 44,160, 2, 45, 1,240,172,172,172,172, 0, 2,255,236, 1,154, 4,229, 2,242, 0, 3, 0, 7, 0, 0, - 1, 17, 33, 17, 33, 17, 33, 17, 2,184, 2, 45,251, 7, 2, 44, 1,154, 1, 88,254,168, 1, 88,254,168, 0, 0, 0, 2, 2, 24, -253,150, 2,184, 7,200, 0, 3, 0, 7, 0, 0, 1, 17, 51, 17, 3, 17, 51, 17, 2, 24,160,160,160, 2,242, 4,214,251, 42,250, -164, 4, 4,251,252, 0, 0, 0, 0, 2, 1,200,253,150, 3, 8, 7,200, 0, 3, 0, 7, 0, 0, 1, 17, 33, 17, 1, 17, 33, 17, - 1,200, 1, 64,254,192, 1, 64, 2,242, 4,214,251, 42,250,164, 4, 4,251,252, 0, 2,255,236, 1, 68, 4,229, 3, 72, 0, 3, - 0, 7, 0, 0, 3, 53, 33, 21, 1, 53, 33, 21, 20, 4,249,251, 7, 4,249, 2,156,172,172,254,168,172,172, 0, 0, 2, 1,120, -253,150, 3, 88, 7,200, 0, 3, 0, 7, 0, 0, 1, 17, 51, 17, 51, 17, 51, 17, 1,120,160,160,160,253,150, 10, 50,245,206, 10, - 50,245,206, 0, 0, 1, 2, 24,253,150, 4,229, 3, 72, 0, 9, 0, 0, 1, 17, 33, 21, 33, 21, 33, 21, 33, 17, 2, 24, 2,205, -253,211, 2, 45,253,211,253,150, 5,178,172,172,172,252, 82, 0, 0, 1, 1,120,253,150, 4,229, 2,156, 0, 9, 0, 0, 1, 17, - 33, 21, 33, 17, 35, 17, 35, 17, 1,120, 3,109,254,115,160,160,253,150, 5, 6,172,251,166, 4, 90,251,166, 0, 0, 2, 1,120, -253,150, 4,229, 3, 72, 0, 5, 0, 11, 0, 0, 1, 17, 33, 21, 33, 17, 51, 17, 33, 21, 33, 17, 1,120, 3,109,253, 51,160, 2, - 45,254,115,253,150, 5,178,172,250,250, 4, 90,172,252, 82, 0, 0, 1,255,236,253,150, 2,184, 3, 72, 0, 9, 0, 0, 1, 17, - 33, 53, 33, 53, 33, 53, 33, 17, 2, 24,253,212, 2, 44,253,212, 2,204,253,150, 3,174,172,172,172,250, 78, 0, 0, 1,255,236, -253,150, 3, 88, 2,156, 0, 9, 0, 0, 3, 53, 33, 17, 35, 17, 35, 17, 35, 17, 20, 3,108,160,160,160, 1,240,172,250,250, 4, - 90,251,166, 4, 90, 0, 0, 0, 0, 2,255,236,253,150, 3, 88, 3, 72, 0, 5, 0, 11, 0, 0, 1, 17, 33, 53, 33, 17, 33, 17, - 33, 53, 33, 17, 2,184,253, 52, 3,108,254, 32,254,116, 2, 44,253,150, 5, 6,172,250, 78, 3,174,172,251,166, 0, 1, 2, 24, - 1, 68, 4,229, 7,200, 0, 9, 0, 0, 1, 17, 51, 17, 33, 21, 33, 21, 33, 21, 2, 24,160, 2, 45,253,211, 2, 45, 1, 68, 6, -132,251,128,172,172,172, 0, 0, 0, 1, 1,120, 1,240, 4,229, 7,200, 0, 9, 0, 0, 1, 17, 51, 17, 51, 17, 51, 17, 33, 21, - 1,120,160,160,160, 1,141, 1,240, 5,216,250,212, 5, 44,250,212,172, 0, 0, 0, 2, 1,120, 1, 68, 4,229, 7,200, 0, 5, - 0, 11, 0, 0, 1, 17, 51, 17, 33, 21, 1, 17, 51, 17, 33, 21, 2,184,160, 1,141,252,147,160, 2,205, 2,156, 5, 44,251,128, -172,254,168, 6,132,250, 40,172, 0, 1,255,236, 1, 68, 2,184, 7,200, 0, 9, 0, 0, 3, 53, 33, 53, 33, 53, 33, 17, 51, 17, - 20, 2, 44,253,212, 2, 44,160, 1, 68,172,172,172, 4,128,249,124, 0, 0, 0, 0, 1,255,236, 1,240, 3, 88, 7,200, 0, 9, - 0, 0, 3, 53, 33, 17, 51, 17, 51, 17, 51, 17, 20, 1,140,160,160,160, 1,240,172, 5, 44,250,212, 5, 44,250, 40, 0, 0, 0, - 0, 2,255,236, 1, 68, 3, 88, 7,200, 0, 5, 0, 11, 0, 0, 3, 53, 33, 17, 51, 17, 1, 53, 33, 17, 51, 17, 20, 1,140,160, -253,212, 2,204,160, 2,156,172, 4,128,250,212,254,168,172, 5,216,249,124, 0, 0, 1, 2, 24,253,150, 4,229, 7,200, 0, 11, - 0, 0, 1, 17, 51, 17, 33, 21, 33, 21, 33, 21, 33, 17, 2, 24,160, 2, 45,253,211, 2, 45,253,211,253,150, 10, 50,251,128,172, -172,172,252, 82, 0, 2, 1,120,253,150, 4,229, 7,200, 0, 3, 0, 11, 0, 0, 1, 17, 51, 17, 51, 17, 51, 17, 33, 21, 33, 17, - 1,120,160,160,160, 1,141,254,115,253,150, 10, 50,245,206, 10, 50,250,212,172,251,166, 0, 0, 0, 3, 1,120,253,150, 4,229, - 7,200, 0, 5, 0, 9, 0, 15, 0, 0, 1, 17, 51, 17, 33, 21, 1, 17, 51, 17, 51, 17, 33, 21, 33, 17, 2,184,160, 1,141,252, -147,160,160, 2, 45,254,115, 2,156, 5, 44,251,128,172,250,250, 10, 50,245,206, 4, 90,172,252, 82, 0, 0, 0, 0, 1,255,236, -253,150, 2,184, 7,200, 0, 11, 0, 0, 1, 17, 33, 53, 33, 53, 33, 53, 33, 17, 51, 17, 2, 24,253,212, 2, 44,253,212, 2, 44, -160,253,150, 3,174,172,172,172, 4,128,245,206, 0, 2,255,236,253,150, 3, 88, 7,200, 0, 7, 0, 11, 0, 0, 1, 17, 33, 53, - 33, 17, 51, 17, 51, 17, 51, 17, 1,120,254,116, 1,140,160,160,160,253,150, 4, 90,172, 5, 44,245,206, 10, 50,245,206, 0, 0, - 0, 3,255,236,253,150, 3, 88, 7,200, 0, 5, 0, 11, 0, 15, 0, 0, 3, 53, 33, 17, 51, 17, 3, 17, 33, 53, 33, 17, 51, 17, - 51, 17, 20, 1,140,160,160,254,116, 2, 44,160,160, 2,156,172, 4,128,250,212,250,250, 3,174,172,251,166, 10, 50,245,206, 0, - 0, 2,255,236,253,150, 4,229, 3, 72, 0, 7, 0, 11, 0, 0, 1, 17, 33, 53, 33, 21, 33, 17, 1, 53, 33, 21, 2, 24,253,212, - 4,249,253,211,253, 52, 4,249,253,150, 3,174,172,172,252, 82, 5, 6,172,172, 0, 1,255,236,253,150, 4,229, 2,156, 0, 11, - 0, 0, 3, 53, 33, 21, 33, 17, 35, 17, 35, 17, 35, 17, 20, 4,249,254,115,160,160,160, 1,240,172,172,251,166, 4, 90,251,166, - 4, 90, 0, 0, 0, 3,255,236,253,150, 4,229, 3, 72, 0, 3, 0, 9, 0, 15, 0, 0, 3, 53, 33, 21, 1, 17, 33, 53, 33, 17, - 51, 17, 33, 21, 33, 17, 20, 4,249,252,147,254,116, 2, 44,160, 2, 45,254,115, 2,156,172,172,250,250, 3,174,172,251,166, 4, - 90,172,252, 82, 0, 2,255,236, 1, 68, 4,229, 7,200, 0, 3, 0, 11, 0, 0, 3, 53, 33, 21, 1, 53, 33, 17, 51, 17, 33, 21, - 20, 4,249,251, 7, 2, 44,160, 2, 45, 1, 68,172,172, 1, 88,172, 4,128,251,128,172, 0, 0, 0, 1,255,236, 1,240, 4,229, - 7,200, 0, 11, 0, 0, 3, 53, 33, 17, 51, 17, 51, 17, 51, 17, 33, 21, 20, 1,140,160,160,160, 1,141, 1,240,172, 5, 44,250, -212, 5, 44,250,212,172, 0, 0, 0, 3,255,236, 1, 68, 4,229, 7,200, 0, 3, 0, 9, 0, 15, 0, 0, 3, 53, 33, 21, 1, 53, - 33, 17, 51, 17, 51, 17, 51, 17, 33, 21, 20, 4,249,251, 7, 1,140,160,160,160, 1,141, 1, 68,172,172, 1, 88,172, 4,128,250, -212, 5, 44,251,128,172, 0, 0, 0, 1,255,236,253,150, 4,229, 7,200, 0, 19, 0, 0, 1, 17, 33, 53, 33, 53, 33, 53, 33, 17, - 51, 17, 33, 21, 33, 21, 33, 21, 33, 17, 2, 24,253,212, 2, 44,253,212, 2, 44,160, 2, 45,253,211, 2, 45,253,211,253,150, 3, -174,172,172,172, 4,128,251,128,172,172,172,252, 82, 0, 0, 0, 0, 1,255,236,253,150, 4,229, 7,200, 0, 19, 0, 0, 3, 53, - 33, 17, 51, 17, 51, 17, 51, 17, 33, 21, 33, 17, 35, 17, 35, 17, 35, 17, 20, 1,140,160,160,160, 1,141,254,115,160,160,160, 1, -240,172, 5, 44,250,212, 5, 44,250,212,172,251,166, 4, 90,251,166, 4, 90, 0, 0, 4,255,236,253,150, 4,229, 7,200, 0, 5, - 0, 11, 0, 17, 0, 23, 0, 0, 1, 17, 33, 21, 33, 17, 33, 17, 33, 53, 33, 17, 1, 53, 33, 17, 51, 17, 51, 17, 51, 17, 33, 21, - 2,184, 2, 45,254,115,254, 32,254,116, 2, 44,253,212, 1,140,160,160,160, 1,141,253,150, 4, 90,172,252, 82, 3,174,172,251, -166, 5, 6,172, 4,128,250,212, 5, 44,251,128,172, 0, 0, 0, 0, 1, 2, 24,253,150, 4,229, 2,156, 0, 12, 0, 0, 1, 17, - 52, 55, 54, 51, 33, 21, 33, 34, 6, 21, 17, 2, 24, 81, 91,168, 1,121,254,135, 89, 91,253,150, 3, 96,161,127,134,172,126,124, -252,160, 0, 0, 0, 1,255,236,253,150, 2,184, 2,156, 0, 13, 0, 0, 1, 17, 52, 39, 38, 35, 33, 53, 33, 50, 23, 22, 21, 17, - 2, 24, 46, 45, 89,254,136, 1,120,168, 91, 81,253,150, 3, 96,126, 61, 63,172,134,120,168,252,160, 0, 0, 0, 0, 1,255,236, - 1,240, 2,184, 7,200, 0, 12, 0, 0, 3, 53, 33, 50, 54, 53, 17, 51, 17, 20, 7, 6, 35, 20, 1,120, 89, 91,160, 81, 91,168, - 1,240,172,126,124, 4, 50,251,206,168,120,134, 0, 1, 2, 24, 1,240, 4,229, 7,200, 0, 12, 0, 0, 1, 33, 34, 39, 38, 53, - 17, 51, 17, 20, 22, 51, 33, 4,229,254,135,168, 91, 81,160, 91, 89, 1,121, 1,240,134,120,168, 4, 50,251,206,124,126, 0, 0, - 0, 1,255,147,253,150, 5, 62, 7,200, 0, 3, 0, 0, 3, 1, 51, 1,109, 4,249,178,251, 7,253,150, 10, 50,245,206, 0, 0, - 0, 1,255,147,253,150, 5, 62, 7,200, 0, 3, 0, 0, 1, 35, 1, 51, 5, 62,178,251, 7,178,253,150, 10, 50, 0, 1,255,147, -253,150, 5, 62, 7,200, 0, 11, 0, 0, 1, 35, 9, 1, 35, 9, 1, 51, 9, 1, 51, 1, 5, 62,178,253,220,253,221,178, 2,125, -253,131,178, 2, 35, 2, 36,178,253,132,253,150, 4, 99,251,157, 5, 25, 5, 25,251,157, 4, 99,250,231, 0, 0, 0, 1,255,236, - 1,240, 2,124, 2,156, 0, 3, 0, 0, 3, 53, 33, 21, 20, 2,144, 1,240,172,172, 0, 0, 0, 0, 1, 2, 24, 2, 70, 2,184, - 7,200, 0, 3, 0, 0, 1, 17, 51, 17, 2, 24,160, 2, 70, 5,130,250,126, 0, 0, 1, 2,124, 1,240, 4,229, 2,156, 0, 3, - 0, 0, 1, 53, 33, 21, 2,124, 2,105, 1,240,172,172, 0, 0, 0, 1, 2, 24,253,150, 2,184, 2, 70, 0, 3, 0, 0, 1, 17, - 51, 17, 2, 24,160,253,150, 4,176,251, 80, 0, 0, 1,255,236, 1,154, 2,124, 2,242, 0, 3, 0, 0, 3, 17, 33, 17, 20, 2, -144, 1,154, 1, 88,254,168, 0, 0, 1, 1,200, 2, 70, 3, 8, 7,200, 0, 3, 0, 0, 1, 17, 33, 17, 1,200, 1, 64, 2, 70, - 5,130,250,126, 0, 1, 2,124, 1,154, 4,229, 2,242, 0, 3, 0, 0, 1, 17, 33, 17, 2,124, 2,105, 1,154, 1, 88,254,168, - 0, 1, 1,200,253,150, 3, 8, 2, 70, 0, 3, 0, 0, 1, 17, 33, 17, 1,200, 1, 64,253,150, 4,176,251, 80, 0, 1,255,236, - 1,154, 4,229, 2,242, 0, 7, 0, 0, 3, 53, 33, 53, 33, 17, 33, 53, 20, 2,144, 2,105,253,151, 1,240,172, 86,254,168, 86, - 0, 1, 1,200,253,150, 3, 8, 7,200, 0, 7, 0, 0, 1, 17, 51, 17, 51, 17, 51, 17, 1,200, 80,160, 80,253,150, 4,176, 5, -130,250,126,251, 80, 0, 0, 0, 0, 1,255,236, 1,154, 4,229, 2,242, 0, 7, 0, 0, 3, 17, 33, 21, 33, 21, 33, 21, 20, 2, -144, 2,105,253,151, 1,154, 1, 88, 86,172, 86, 0, 1, 1,200,253,150, 3, 8, 7,200, 0, 7, 0, 0, 1, 17, 35, 17, 33, 17, - 35, 17, 2, 24, 80, 1, 64, 80,253,150, 4,176, 5,130,250,126,251, 80, 0, 0,255,255,255,236, 2, 20, 4,229, 6, 40, 16, 7, - 8,222, 0, 0, 4, 20, 0, 0, 0, 1,255,236,254, 0, 4,229,255, 5, 0, 3, 0, 0, 3, 17, 33, 17, 20, 4,249,254, 0, 1, - 5,254,251, 0, 0, 1,255,236,254, 0, 4,229, 0, 10, 0, 3, 0, 0, 3, 17, 33, 17, 20, 4,249,254, 0, 2, 10,253,246, 0, - 0, 1,255,236,254, 0, 4,229, 1, 15, 0, 3, 0, 0, 3, 17, 33, 17, 20, 4,249,254, 0, 3, 15,252,241, 0, 0, 1,255,236, -254, 0, 4,229, 2, 20, 0, 3, 0, 0, 3, 17, 33, 17, 20, 4,249,254, 0, 4, 20,251,236, 0, 0, 1,255,236,254, 0, 4,229, - 3, 25, 0, 3, 0, 0, 3, 17, 33, 17, 20, 4,249,254, 0, 5, 25,250,231, 0, 0, 1,255,236,254, 0, 4,229, 4, 30, 0, 3, - 0, 0, 3, 17, 33, 17, 20, 4,249,254, 0, 6, 30,249,226, 0, 0, 1,255,236,254, 0, 4,229, 5, 35, 0, 3, 0, 0, 3, 17, - 33, 17, 20, 4,249,254, 0, 7, 35,248,221, 0, 0, 1,255,236,254, 0, 4,229, 6, 40, 0, 3, 0, 0, 3, 17, 33, 17, 20, 4, -249,254, 0, 8, 40,247,216, 0, 0, 1,255,236,254, 0, 4, 70, 6, 40, 0, 3, 0, 0, 3, 17, 33, 17, 20, 4, 90,254, 0, 8, - 40,247,216, 0, 0, 1,255,236,254, 0, 3,167, 6, 40, 0, 3, 0, 0, 3, 17, 33, 17, 20, 3,186,254, 0, 8, 40,247,216, 0, - 0, 1,255,236,254, 0, 3, 8, 6, 40, 0, 3, 0, 0, 3, 17, 33, 17, 20, 3, 27,254, 0, 8, 40,247,216, 0, 0, 1,255,236, -254, 0, 2,104, 6, 40, 0, 3, 0, 0, 3, 17, 33, 17, 20, 2,124,254, 0, 8, 40,247,216, 0, 0, 1,255,236,254, 0, 1,201, - 6, 40, 0, 3, 0, 0, 3, 17, 33, 17, 20, 1,221,254, 0, 8, 40,247,216, 0, 0, 1,255,236,254, 0, 1, 42, 6, 40, 0, 3, - 0, 0, 3, 17, 33, 17, 20, 1, 62,254, 0, 8, 40,247,216, 0, 0, 1,255,236,254, 0, 0,139, 6, 40, 0, 3, 0, 0, 3, 17, - 51, 17, 20,158,254, 0, 8, 40,247,216, 0, 0,255,255, 2,105,254, 0, 4,229, 6, 40, 16, 7, 8,230, 2,125, 0, 0, 0, 0, - 0, 12,255,236,254, 0, 4, 70, 6, 40, 0, 3, 0, 7, 0, 11, 0, 15, 0, 19, 0, 23, 0, 27, 0, 31, 0, 35, 0, 39, 0, 43, - 0, 47, 0, 0, 1, 17, 51, 17, 33, 17, 51, 17, 19, 17, 51, 17, 33, 17, 51, 17, 1, 17, 51, 17, 33, 17, 51, 17, 19, 17, 51, 17, - 33, 17, 51, 17, 1, 17, 51, 17, 33, 17, 51, 17, 19, 17, 51, 17, 33, 17, 51, 17, 3,166,160,252,228,159,159,159,252,229,158, 3, - 28,160,252,228,159,159,159,252,229,158, 3, 28,160,252,228,159,159,159,252,229,158,254, 0, 1, 5,254,251, 1, 5,254,251, 1, -109, 1, 5,254,251, 1, 5,254,251, 1,110, 1, 5,254,251, 1, 5,254,251, 1,109, 1, 5,254,251, 1, 5,254,251, 1,110, 1, - 5,254,251, 1, 5,254,251, 1,109, 1, 5,254,251, 1, 5,254,251, 0, 0, 0, 0, 20,255,236,254, 0, 4,229, 6, 40, 0, 3, - 0, 7, 0, 11, 0, 15, 0, 19, 0, 23, 0, 27, 0, 31, 0, 39, 0, 47, 0, 55, 0, 63, 0, 71, 0, 79, 0, 87, 0, 95, 0,103, - 0,111, 0,119, 0,127, 0, 0, 23, 51, 17, 35, 25, 1, 35, 17, 19, 17, 51, 17, 3, 17, 35, 17, 19, 17, 51, 17, 3, 17, 35, 17, - 19, 17, 51, 17, 3, 17, 35, 17, 1, 59, 1, 17, 35, 25, 1, 35, 17, 59, 1, 17, 35, 25, 1, 35, 17, 59, 1, 17, 35, 25, 1, 35, - 17, 59, 1, 17, 35, 25, 1, 35, 1, 59, 1, 17, 35, 25, 1, 35, 17, 59, 1, 17, 35, 25, 1, 35, 17, 59, 1, 17, 35, 25, 1, 35, - 17, 59, 1, 17, 35, 25, 1, 35, 1, 59, 1, 17, 35, 25, 1, 35, 17, 59, 1, 17, 35, 25, 1, 35, 17, 59, 1, 17, 35, 25, 1, 35, - 17, 59, 1, 17, 35, 25, 1, 35,138,160,160,158,158,160,160,158,158,160,160,158,158,160,160,158, 1, 62,159,159,159,159,159,159, -159,159,159,159,159,159,159,159,159,159, 1, 62,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159, 1, 62,160,159, -159,160,160,159,159,160,160,159,159,160,160,159,159,160,251,254,251, 1, 5, 1, 5,254,251, 1, 5, 1, 5,254,251, 1, 5, 1, - 5,254,251, 1, 5, 1, 5,254,251, 1, 5, 1, 5,254,251, 1, 5, 1, 5,254,251, 1, 5, 1, 5,254,251,249,226,254,251, 1, - 5, 1, 5, 1, 5,254,251, 1, 5, 1, 5, 1, 5,254,251, 1, 5, 1, 5, 1, 5,254,251, 1, 5, 1, 5,248,221,254,251, 1, - 5, 1, 5, 1, 5,254,251, 1, 5, 1, 5, 1, 5,254,251, 1, 5, 1, 5, 1, 5,254,251, 1, 5, 1, 5,248,221,254,251, 1, - 5, 1, 5, 1, 5,254,251, 1, 5, 1, 5, 1, 5,254,251, 1, 5, 1, 5, 1, 5,254,251, 1, 5, 1, 5, 0, 0, 7,255,236, -254, 0, 4,229, 6, 40, 0, 25, 0, 29, 0, 33, 0, 37, 0, 41, 0, 45, 0, 49, 0, 0, 3, 17, 51, 17, 35, 17, 51, 17, 35, 17, - 51, 17, 33, 17, 51, 17, 33, 17, 35, 17, 35, 17, 33, 17, 35, 25, 1, 51, 17, 35, 1, 51, 17, 35, 1, 51, 17, 35, 1, 51, 17, 35, - 1, 51, 17, 35, 1, 51, 17, 35, 20,158,158,158,158,158, 1,222,159, 1,222,159,160,254, 35,159,159,159, 2,124,160,160,254,194, -159,159,254,194,159,159, 2,124,160,160,254,194,159,159,254, 0, 1,109, 1, 5, 1,214, 1, 5, 1,214, 1, 5,254,251, 1, 5, -247,216, 1, 5,254,251, 1, 5,254,251, 5,182, 1, 5,254,251, 1, 5,253,141, 1, 5,253,142, 1, 5,254,251, 1, 5,253,141, - 1, 5, 0, 0,255,255,255,236, 5, 35, 4,229, 6, 40, 16, 7, 8,219, 0, 0, 7, 35, 0, 0,255,255, 4, 69,254, 0, 4,228, - 6, 40, 16, 7, 8,233, 4, 90, 0, 0, 0, 0, 0, 1,255,236,254, 0, 2,104, 2, 20, 0, 3, 0, 0, 3, 17, 33, 17, 20, 2, -124,254, 0, 4, 20,251,236, 0,255,255, 2,105,254, 0, 4,229, 2, 20, 16, 7, 8,240, 2,125, 0, 0, 0, 0,255,255,255,236, - 2, 20, 2,104, 6, 40, 16, 7, 8,240, 0, 0, 4, 20, 0, 0,255,255,255,236,254, 0, 4,229, 6, 40, 16, 38, 8,240, 0, 0, - 16, 38, 8,241, 0, 0, 16, 6, 8,242, 0, 0,255,255,255,236,254, 0, 4,229, 6, 40, 16, 38, 8,241, 0, 0, 16, 6, 8,242, - 0, 0, 0, 0,255,255,255,236,254, 0, 4,229, 6, 40, 16, 38, 8,240, 0, 0, 16, 38, 8,242, 0, 0, 16, 6, 8,247, 0, 0, -255,255,255,236,254, 0, 4,229, 6, 40, 16, 38, 8,241, 0, 0, 16, 38, 8,242, 0, 0, 16, 6, 8,247, 0, 0,255,255, 2,105, - 2, 20, 4,229, 6, 40, 16, 7, 8,240, 2,125, 4, 20, 0, 0,255,255,255,236,254, 0, 4,229, 6, 40, 16, 38, 8,240, 0, 0, - 16, 6, 8,247, 0, 0, 0, 0,255,255,255,236,254, 0, 4,229, 6, 40, 16, 38, 8,240, 0, 0, 16, 38, 8,241, 0, 0, 16, 6, - 8,247, 0, 0, 0, 1, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 0, 23, 17, 33, 17, 6, 4,197, 78, 4,196,251, 60, 0, 0, - 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 0, 55, 33, 17, 33, 3, 17, 33, 17,120, 3,225,252, 31,114, 4,197, - 36, 3,224,251,174, 4,196,251, 60, 0, 0, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 11, 0, 23, 0, 0, 19, 20, 51, 33, - 50, 53, 17, 52, 35, 33, 34, 21, 3, 17, 16, 41, 1, 32, 25, 1, 16, 41, 1, 32,120,228, 2, 25,228,228,253,231,228,114, 1, 86, - 2, 25, 1, 86,254,170,253,231,254,170, 1, 8,228,228, 2, 24,228,228,253,232, 2, 24, 1, 86,254,170,253,232,254,170, 0, 0, -255,255, 0, 6,255,177, 4,203, 4,119, 16, 38, 9, 4, 0, 0, 16, 6, 8,251, 0, 0, 0, 0, 0, 6, 0, 6,255,177, 4,203, - 4,119, 0, 3, 0, 7, 0, 11, 0, 15, 0, 19, 0, 23, 0, 0, 23, 17, 33, 17, 37, 33, 53, 33, 53, 33, 53, 33, 53, 33, 53, 33, - 53, 33, 53, 33, 53, 33, 53, 33, 6, 4,197,251,173, 3,225,252, 31, 3,225,252, 31, 3,225,252, 31, 3,225,252, 31, 3,225,252, - 31, 78, 4,196,251, 60,114,110,114,106,114,107,114,107,114,106, 0, 6, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 11, - 0, 15, 0, 19, 0, 23, 0, 0, 23, 17, 33, 17, 39, 51, 17, 35, 3, 51, 17, 35, 3, 51, 17, 35, 3, 51, 17, 35, 3, 51, 17, 35, - 6, 4,197,225,110,110,220,106,106,220,106,106,222,108,108,220,106,106, 78, 4,196,251, 60,114, 3,224,252, 32, 3,224,252, 32, - 3,224,252, 32, 3,224,252, 32, 3,224, 0, 0, 0, 26, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 11, 0, 15, 0, 19, - 0, 23, 0, 27, 0, 31, 0, 35, 0, 39, 0, 43, 0, 47, 0, 51, 0, 55, 0, 59, 0, 63, 0, 67, 0, 71, 0, 75, 0, 79, 0, 83, - 0, 87, 0, 91, 0, 95, 0, 99, 0,103, 0, 0, 19, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, - 19, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, 19, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, - 17, 51, 53, 35, 17, 51, 53, 35, 19, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, 19, 51, 53, 35, - 17, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, 5, 17, 33, 17,120,106,106,106,106,106,106,106,106,106,106,220, -108,108,108,108,108,108,108,108,108,108,222,106,106,106,106,106,106,106,106,106,106,220,106,106,106,106,106,106,106,106,106,106, -220,110,110,110,110,110,110,110,110,110,110,252, 28, 4,197, 3,154,106,254,185,107,254,184,107,254,185,106,254,182,110, 3, 8, -106,254,185,107,254,184,107,254,185,106,254,182,110, 3, 8,106,254,185,107,254,184,107,254,185,106,254,182,110, 3, 8,106,254, -185,107,254,184,107,254,185,106,254,182,110, 3, 8,106,254,185,107,254,184,107,254,185,106,254,182,110,224, 4,196,251, 60, 0, - 0, 8, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 11, 0, 17, 0, 21, 0, 25, 0, 28, 0, 31, 0, 0, 23, 17, 33, 17, - 1, 21, 1, 51, 1, 21, 1, 55, 1, 21, 1, 51, 53, 1, 51, 1, 53, 1, 51, 1, 53, 1, 51, 23, 53, 1, 21, 51, 6, 4,197,251, -173, 1, 52,138,254, 66, 2, 96,149,253, 11, 3,151, 74,252,108,161, 2,243,253,164,162, 1,186,254,208,162,142,252, 31,146, 78, - 4,196,251, 60, 2, 48,139,254,205, 2,245,150,253,160, 1, 3,224, 74,252,106, 76, 3,148,253, 14,151, 2, 91,254, 70,139, 1, - 47,142,142,252,178,146, 0, 0, 0, 8, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 11, 0, 17, 0, 21, 0, 25, 0, 28, - 0, 31, 0, 0, 23, 17, 33, 17, 37, 51, 1, 53, 1, 23, 1, 53, 1, 51, 1, 53, 35, 1, 53, 1, 35, 1, 53, 1, 35, 1, 53, 55, - 35, 1, 51, 53, 6, 4,197,253,208,138, 1, 52,253, 11,149, 2, 96,252, 31, 74, 3,151, 77,252,108, 2,243,151,253,164, 1,186, -138,254,208,142,142, 3, 79,146, 78, 4,196,251, 60,114, 1, 51,139,254, 66, 1, 2, 96,150,253, 11, 3,150, 74,252,108,162, 2, -242,253,165,161, 1,186,254,209,161,142,252, 32,146, 0, 0, 0, 0, 26, 0, 6,255,177, 4,203, 4,119, 0, 4, 0, 9, 0, 14, - 0, 19, 0, 23, 0, 28, 0, 33, 0, 37, 0, 41, 0, 45, 0, 50, 0, 55, 0, 59, 0, 63, 0, 67, 0, 71, 0, 75, 0, 80, 0, 84, - 0, 88, 0, 92, 0, 97, 0,102, 0,106, 0,111, 0,115, 0, 0, 37, 23, 51, 53, 39, 1, 23, 55, 39, 35, 17, 23, 55, 39, 7, 1, - 23, 55, 39, 35, 7, 23, 55, 39, 3, 23, 55, 39, 7, 1, 23, 55, 39, 35, 7, 23, 55, 39, 7, 23, 55, 39, 7, 23, 55, 39, 3, 51, - 55, 39, 7, 1, 23, 55, 53, 35, 7, 23, 55, 39, 7, 23, 55, 39, 7, 23, 55, 39, 7, 23, 55, 39, 7, 23, 55, 39, 1, 23, 55, 53, - 39, 7, 23, 55, 39, 7, 23, 55, 39, 7, 23, 55, 39, 7, 23, 51, 55, 39, 37, 23, 55, 53, 39, 7, 23, 55, 39, 7, 23, 51, 55, 39, - 5, 17, 33, 17, 3,235, 36, 74, 35,252, 66, 34, 76, 33, 77, 28, 76, 70, 34, 1, 15, 69, 76, 27, 85,189, 69, 76, 70,190, 35, 69, - 75, 29, 2, 65, 76, 69, 33, 85,183, 75, 76, 76,231, 75, 76, 76,231, 76, 75, 76,184, 74, 36, 75, 35, 3,116, 75, 34, 77,182, 75, - 69, 75,226, 76, 75, 75,232, 75, 76, 76,230, 75, 75, 76,224, 75, 69, 75, 2,193, 74, 29, 34,226, 75, 76, 75,232, 75, 76, 76,230, - 74, 76, 76,224, 36, 78, 30, 75, 2, 36, 69, 35, 29,231, 69, 75, 69,231, 30, 78, 36, 69,253, 2, 4,197, 72, 36, 76, 35, 3, 39, - 34, 76, 32,254,127, 29, 76, 69, 34, 1, 14, 69, 76, 26,189, 69, 76, 69,253,196, 34, 69, 75, 28, 2, 65, 76, 69, 33,183, 75, 75, - 76,232, 75, 75, 76,231, 76, 75, 76,253,195, 36, 75, 35, 3,116, 76, 34, 74,182, 76, 69, 76,226, 75, 75, 76,232, 75, 75, 75,230, - 76, 75, 75,224, 75, 69, 75, 1,137, 76, 29, 82, 34,226, 75, 76, 75,232, 75, 76, 74,230, 76, 76, 74,224, 36, 30, 75,237, 69, 34, - 82, 28,231, 69, 75, 69,231, 30, 36, 69,219, 4,196,251, 60, 0, 0, 1, 0,219, 0,135, 3,245, 3,161, 0, 3, 0, 0, 55, 17, - 33, 17,219, 3, 26,135, 3, 26,252,230, 0, 0, 0, 2, 0,219, 0,135, 3,245, 3,161, 0, 3, 0, 7, 0, 0, 37, 33, 17, 33, - 3, 17, 33, 17, 1, 77, 2, 54,253,202,114, 3, 26,249, 2, 54,253, 88, 3, 26,252,230, 0, 0, 0, 1, 0, 6, 0,240, 4,203, - 3, 56, 0, 3, 0, 0, 37, 33, 17, 33, 4,203,251, 59, 4,197,240, 2, 72, 0, 0, 2, 0, 6, 0,240, 4,203, 3, 56, 0, 3, - 0, 7, 0, 0, 1, 17, 33, 17, 5, 33, 17, 33, 4, 89,252, 31, 4, 83,251, 59, 4,197, 1, 98, 1,100,254,156,114, 2, 72, 0, - 0, 1, 1, 68,255,177, 3,141, 4,119, 0, 3, 0, 0, 5, 17, 33, 17, 1, 68, 2, 72, 78, 4,196,251, 60, 0, 0, 2, 1, 68, -255,177, 3,141, 4,119, 0, 3, 0, 7, 0, 0, 37, 33, 17, 33, 3, 17, 33, 17, 1,182, 1,100,254,156,114, 2, 72, 36, 3,224, -251,174, 4,196,251, 60, 0, 0, 0, 1, 0, 6, 0,240, 4,203, 3, 56, 0, 3, 0, 0, 37, 33, 1, 33, 3,151,252,111, 1, 52, - 3,145,240, 2, 72, 0, 0, 0, 0, 2, 0, 6, 0,240, 4,203, 3, 56, 0, 3, 0, 7, 0, 0, 1, 19, 33, 3, 5, 33, 1, 33, - 3, 97,188,253, 83,188, 2,227,252,111, 1, 52, 3,145, 1, 98, 1,100,254,156,114, 2, 72, 0, 0, 1, 0, 6,255,177, 4,203, - 4,119, 0, 2, 0, 0, 23, 9, 1, 6, 2, 98, 2, 99, 78, 4,196,251, 60, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, - 0, 5, 0, 0, 55, 33, 9, 3,177, 3,111,254, 72,253,158, 2, 98, 2, 99, 36, 3,110,252, 32, 4,196,251, 60, 0, 1, 0,219, - 0,135, 3,245, 3,161, 0, 2, 0, 0, 55, 9, 1,219, 1,141, 1,141,135, 3, 26,252,230, 0, 0, 2, 0,219, 0,135, 3,245, - 3,161, 0, 2, 0, 5, 0, 0, 37, 33, 3, 9, 2, 1,134, 1,196,226,254,115, 1,141, 1,141,249, 1,196,253,202, 3, 26,252, -230, 0, 0, 0, 0, 1, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 0, 23, 17, 1, 6, 4,197, 78, 4,196,253,158, 0, 0, 0, - 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 5, 0, 0, 55, 9, 1, 3, 17, 1,120, 3,111,252,145,114, 4,197, 92, 1, -184, 1,184,251,230, 4,196,253,158, 0, 0, 0, 0, 1, 0,219, 0,135, 3,245, 3,161, 0, 2, 0, 0, 55, 17, 1,219, 3, 26, -135, 3, 26,254,115, 0, 0, 0, 0, 2, 0,219, 0,135, 3,245, 3,161, 0, 2, 0, 5, 0, 0, 1, 45, 1, 3, 17, 1, 1, 77, - 1,196,254, 60,114, 3, 26, 1, 50,226,226,253,145, 3, 26,254,115, 0, 0, 0, 0, 1, 0, 6, 0,135, 4,203, 3,161, 0, 2, - 0, 0, 55, 17, 1, 6, 4,197,135, 3, 26,254,115, 0, 0, 0, 0, 2, 0, 6, 0,135, 4,203, 3,161, 0, 2, 0, 5, 0, 0, - 19, 45, 1, 3, 17, 1,120, 3, 54,252,202,114, 4,197, 1, 50,226,226,253,145, 3, 26,254,115, 0, 1, 0, 6,255,177, 4,203, - 4,119, 0, 2, 0, 0, 5, 1, 33, 2,104,253,158, 4,197, 78, 4,196, 0, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, - 0, 5, 0, 0, 37, 1, 33, 9, 1, 33, 2,104, 1,149,252,215, 1,148,253,158, 4,197,205, 3, 40,251,189, 4,196, 0, 0, 0, - 0, 1, 0,219, 0,135, 3,245, 3,161, 0, 2, 0, 0, 37, 1, 33, 2,104,254,115, 3, 26,135, 3, 26, 0, 0, 0, 2, 0,219, - 0,135, 3,245, 3,161, 0, 2, 0, 5, 0, 0, 1, 19, 33, 19, 1, 33, 2,104,226,254, 60,226,254,115, 3, 26, 1,107, 1,196, -253, 88, 3, 26, 0, 1, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 0, 19, 1, 17, 6, 4,197, 2, 20, 2, 98,251, 60, 0, 0, - 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 5, 0, 0, 19, 1, 17, 9, 1, 17,234, 3,111,251,173, 4,197, 2, 20,254, - 72, 3,112,254, 72, 2, 98,251, 60, 0, 0, 0, 0, 1, 0,219, 0,135, 3,245, 3,161, 0, 2, 0, 0, 19, 1, 17,219, 3, 26, - 2, 20, 1,141,252,230, 0, 0, 0, 2, 0,219, 0,135, 3,245, 3,161, 0, 2, 0, 5, 0, 0, 1, 5, 17, 5, 1, 17, 1,191, - 1,196,253, 88, 3, 26, 2, 20,226, 1,196,226, 1,141,252,230, 0, 1, 0, 6, 0,135, 4,203, 3,161, 0, 2, 0, 0, 19, 1, - 17, 6, 4,197, 2, 20, 1,141,252,230, 0, 0, 0, 2, 0, 6, 0,135, 4,203, 3,161, 0, 2, 0, 5, 0, 0, 1, 5, 17, 5, - 1, 17, 1, 35, 3, 54,251,173, 4,197, 2, 20,226, 1,196,226, 1,141,252,230, 0, 1, 0, 6,255,177, 4,203, 4,119, 0, 3, - 0, 0, 19, 9, 2, 6, 2, 98, 2, 99,253,157, 2, 20, 2, 98,253,158,253,158, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 3, - 0, 7, 0, 0, 19, 9, 6,195, 1,165, 1,166,254, 90,253,158, 2, 98, 2, 99,253,157, 2, 20,254, 90, 1,166, 1,166,254, 90, - 2, 98,253,158,253,158, 0, 0, 0, 3, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 11, 0, 0, 19, 9, 10,250, 1,110, - 1,110,254,146,254, 54, 1,202, 1,203,254, 53,253,158, 2, 98, 2, 99,253,157, 2, 20, 1,110,254,146,254,146, 1,110,254, 54, - 1,202, 1,202,254, 54, 2, 98,253,158,253,158, 0, 3, 0, 6,255,172, 4,203, 4,124, 0, 13, 0, 27, 0, 41, 0, 0, 18, 16, - 55, 54, 51, 50, 23, 22, 16, 7, 6, 35, 34, 39, 0, 16, 23, 22, 51, 50, 55, 54, 16, 39, 38, 35, 34, 7, 0, 16, 37, 54, 51, 50, - 23, 4, 16, 5, 6, 35, 34, 39,220,198, 99, 99, 99, 99,199,199, 99, 99, 99, 99,254,222,244,122,122,122,122,245,245,122,122,122, -122,254,146, 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152, 1, 47, 1,202,114, 57, 57,114,254, 54,114, 57, 57, 2,113, -253,204,140, 71, 71,141, 2, 50,141, 71, 71,252,250, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 0, 2, 0,117,254, 35, 4, 92, - 6,117, 0, 3, 0, 7, 0, 34, 64, 17, 2, 6, 0, 8, 4, 6, 8, 6, 4, 3, 2, 1, 0, 6, 5, 7, 8, 16,212,204, 23, 57, - 49, 0, 16,212,204, 17, 57, 18, 57, 48, 9, 7, 2,104,254,127, 1,129, 1,129,254,127, 1,244,254, 12,254, 13, 5,129,252,207, -252,199, 3, 57, 4, 37,251,219,251,211, 4, 45, 0, 2, 0, 6,255,172, 4,203, 4,124, 0, 13, 0, 27, 0, 0, 18, 16, 23, 22, - 51, 50, 55, 54, 16, 39, 38, 35, 34, 7, 0, 16, 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39,128,244,122,122,122,122,245,245, -122,122,122,122,254,146, 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152, 3, 46,253,204,140, 71, 71,141, 2, 50,141, 71, - 71,252,250, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 0, 0, 0, 8, 0, 6,255,172, 4,203, 4,124, 0, 9, 0, 19, 0, 29, - 0, 39, 0, 47, 0, 55, 0, 63, 0, 71, 0, 0, 55, 22, 23, 22, 23, 7, 38, 39, 38, 39, 5, 54, 55, 54, 55, 23, 6, 7, 6, 7, - 19, 38, 39, 38, 39, 55, 22, 23, 22, 23, 37, 6, 7, 6, 7, 39, 54, 55, 54, 55, 19, 22, 50, 55, 23, 6, 34, 39, 1, 54, 52, 39, - 55, 22, 20, 7, 1, 38, 34, 7, 39, 54, 50, 23, 1, 6, 20, 23, 7, 38, 52, 55,212, 34, 46, 36, 44, 61, 55, 45, 58, 42, 2,237, - 44, 36, 41, 39,101, 49, 51, 45, 55, 99, 34, 46, 36, 44, 61, 55, 45, 58, 42,253, 19, 44, 36, 46, 34,101, 42, 58, 45, 55,185, 60, -120, 60, 30, 75,150, 75, 2,114, 13, 13,119, 16, 16,254, 37, 60,120, 60, 30, 75,150, 75,253,143, 13, 13,119, 16, 16,250, 47, 38, - 30, 25,106, 32, 37, 48, 58, 69, 25, 30, 34, 51, 70, 65, 42, 37, 32, 3, 42, 47, 38, 30, 25,106, 32, 37, 48, 58, 69, 25, 30, 38, - 47, 71, 58, 48, 37, 32,252, 20, 17, 17,119, 21, 21, 1,219, 57,126, 57, 30, 71,158, 71, 2,114, 17, 17,119, 21, 21,254, 37, 57, -126, 57, 30, 71,158, 71, 0, 0, 0, 6, 0, 6,255,172, 4,203, 4,124, 0, 13, 0, 23, 0, 27, 0, 37, 0, 47, 0, 51, 0, 0, - 54, 16, 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39, 19, 17, 22, 23, 22, 23, 17, 6, 7, 6, 7, 6, 16, 23, 1, 17, 22, 51, - 50, 55, 17, 38, 35, 34, 23, 17, 54, 55, 54, 55, 17, 38, 39, 38, 23, 17, 54, 16, 6, 1, 49,152,153,152,153, 1, 50,254,206,153, -152,153,152, 29, 15, 17, 38, 38, 38, 38, 17,129, 98, 98, 1, 80, 27, 27, 26, 26, 26, 26, 27,193, 39, 39, 14, 14, 14, 14, 39,181, -103,180, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 3,163,252,218, 10, 9, 22, 15, 3,150, 15, 22, 9,113,122,254,156,122, 3, - 21,252, 46, 4, 3, 3,212, 3, 33,252,104, 15, 23, 8, 9, 3, 42, 9, 8, 23,139,253,156,124, 1,108, 0, 0, 0, 4, 0, 6, -255,172, 4,203, 4,124, 0, 13, 0, 27, 0, 41, 0, 55, 0, 0, 0, 20, 23, 22, 51, 50, 55, 54, 52, 39, 38, 35, 34, 7, 2, 16, - 55, 54, 51, 50, 23, 22, 16, 7, 6, 35, 34, 39, 0, 16, 23, 22, 51, 50, 55, 54, 16, 39, 38, 35, 34, 7, 0, 16, 37, 54, 51, 50, - 23, 4, 16, 5, 6, 35, 34, 39, 1,226, 67, 34, 33, 34, 33, 68, 68, 33, 34, 33, 34,177,122, 61, 61, 61, 61,123,123, 61, 61, 61, - 61,254,146,244,122,122,122,122,245,245,122,122,122,122,254,146, 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152, 2, 97, -154, 39, 20, 20, 39,154, 39, 20, 20,254,255, 1, 26, 70, 35, 35, 70,254,230, 70, 35, 35, 1,237,253,204,140, 71, 71,141, 2, 50, -141, 71, 71,252,250, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 0, 1, 0, 6,255,172, 4,203, 4,124, 0, 13, 0, 0, 54, 16, - 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39, 6, 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152,180, 2,192,176, 88, - 88,176,253, 64,176, 88, 88, 0, 0, 2, 0, 6,255,172, 4,203, 4,124, 0, 7, 0, 21, 0, 0, 37, 50, 55, 54, 16, 39, 38, 35, - 0, 16, 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39, 2,104,122,122,245,245,122,122,253,158, 1, 49,152,153,152,153, 1, 50, -254,206,153,152,153,152, 39, 71,141, 2, 50,141, 71,252,179, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 0, 0, 0, 2, 0, 6, -255,172, 4,203, 4,124, 0, 7, 0, 21, 0, 0, 1, 34, 7, 6, 16, 23, 22, 51, 36, 16, 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, - 34, 39, 2,104,122,122,244,244,122,122,253,158, 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152, 4, 1, 71,140,253,204, -140, 71,141, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 0, 0, 0, 2, 0, 6,255,172, 4,203, 4,124, 0, 8, 0, 22, 0, 0, - 1, 16, 39, 38, 35, 34, 7, 6, 17, 2, 16, 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39, 4, 81,245,122,122,122,122,244,122, - 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152, 2, 20, 1, 25,141, 71, 71,140,254,230,254,160, 2,192,176, 88, 88,176, -253, 64,176, 88, 88, 0, 0, 0, 0, 2, 0, 6,255,172, 4,203, 4,124, 0, 8, 0, 22, 0, 0, 19, 16, 23, 22, 51, 50, 55, 54, - 17, 0, 16, 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39,128,244,122,122,122,122,245,251,181, 1, 49,152,153,152,153, 1, 50, -254,206,153,152,153,152, 2, 20,254,230,140, 71, 71,141, 1, 25,254,160, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 0, 0, 0, - 0, 2, 0, 6,255,172, 4,203, 4,124, 0, 12, 0, 26, 0, 0, 1, 34, 7, 6, 16, 23, 22, 51, 50, 55, 54, 17, 33, 0, 16, 37, - 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39, 2,104,122,122,244,244,122,122,122,122,245,254, 23,253,158, 1, 49,152,153,152,153, - 1, 50,254,206,153,152,153,152, 4, 1, 71,140,253,204,140, 71, 71,141, 1, 25,254,160, 2,192,176, 88, 88,176,253, 64,176, 88, - 88, 0, 0, 0, 0, 2, 0, 6,255,172, 4,203, 4,124, 0, 5, 0, 19, 0, 0, 1, 34, 7, 6, 17, 33, 0, 16, 37, 54, 51, 50, - 23, 4, 16, 5, 6, 35, 34, 39, 2,104,122,122,244, 1,232,253,158, 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152, 4, - 1, 71,140,254,230,254,160, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 0, 0, 0, 1, 1, 55,255,172, 3,154, 4,124, 0, 7, - 0, 0, 5, 34, 39, 36, 16, 37, 54, 51, 3,154,154,152,254,208, 1, 48,152,154, 84, 88,176, 2,192,176, 88, 0, 0, 1, 1, 55, -255,172, 3,154, 4,124, 0, 7, 0, 0, 1, 50, 23, 4, 16, 5, 6, 35, 1, 56,150,154, 1, 50,254,206,154,150, 4,124, 88,176, -253, 64,174, 90, 0, 2,255,236,255,236, 4,229, 6, 40, 0, 11, 0, 15, 0, 0, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, - 1, 17, 33, 17, 1, 63,171,124,125,174,173,124,125,172,254,173, 4,249, 2,250,126,171,173,124,123,172,171,252,118, 6, 60,249, -196, 0, 0, 0, 0, 3,255,236,254, 0, 4,229, 6, 40, 0, 13, 0, 27, 0, 31, 0, 0, 54, 16, 55, 54, 51, 50, 23, 22, 16, 7, - 6, 35, 34, 39, 0, 16, 5, 22, 51, 50, 55, 36, 16, 37, 38, 35, 34, 7, 1, 17, 33, 17,128,244,122,122,122,122,245,245,122,122, -122,122,254,146, 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152,254,181, 4,249,250, 2, 52,140, 71, 71,141,253,206,141, - 71, 71, 3, 6,253, 64,176, 88, 88,176, 2,192,176, 88, 88,249,220, 8, 40,247,216, 0, 0, 0, 0, 2,255,236, 2, 20, 4,229, - 6, 40, 0, 12, 0, 21, 0, 0, 3, 17, 33, 17, 35, 16, 37, 38, 35, 34, 7, 4, 17, 41, 1, 16, 55, 54, 51, 50, 23, 22, 20, 4, -249, 26,254,206,153,152,153,152,254,207, 4, 75,252, 47,244,122,122,122,122,245, 2, 20, 4, 20,251,236, 1, 96,176, 88, 88,176, -254,160, 1, 25,141, 71, 71,141, 0, 2,255,236,254, 0, 4,229, 2, 20, 0, 12, 0, 21, 0, 0, 3, 17, 51, 16, 5, 22, 51, 50, - 55, 36, 17, 51, 17, 1, 33, 16, 7, 6, 35, 34, 39, 38, 20, 26, 1, 49,152,153,152,153, 1, 50, 26,251,155, 3,209,245,122,122, -122,122,244,254, 0, 4, 20,254,160,176, 88, 88,176, 1, 96,251,236, 4, 20,254,231,141, 71, 71,141, 0, 0, 0, 0, 1, 1, 55, - 2, 20, 3,154, 4,124, 0, 9, 0, 0, 1, 16, 37, 54, 51, 23, 34, 7, 6, 17, 1, 55, 1, 49,152,153, 1,123,121,244, 2, 20, - 1, 96,176, 88,123, 71,140,254,230, 0, 0, 0, 0, 1, 1, 55, 2, 20, 3,154, 4,124, 0, 9, 0, 0, 1, 50, 23, 4, 17, 35, - 16, 39, 38, 35, 1, 56,150,154, 1, 50,123,244,123,120, 4,124, 88,176,254,160, 1, 25,141, 71, 0, 1, 1, 55,255,172, 3,154, - 2, 20, 0, 9, 0, 0, 5, 53, 50, 55, 54, 17, 51, 16, 5, 6, 1, 56,120,123,244,123,254,206,154, 84,123, 71,141, 1, 25,254, -160,174, 90, 0, 0, 1, 1, 55,255,172, 3,154, 2, 20, 0, 9, 0, 0, 5, 34, 39, 36, 17, 51, 16, 23, 22, 51, 3,153,153,152, -254,207,123,244,121,123, 84, 88,176, 1, 96,254,230,140, 71, 0, 0, 1, 0, 6, 2, 20, 4,203, 4,124, 0, 17, 0, 0, 19, 16, - 37, 54, 51, 50, 23, 4, 17, 35, 16, 39, 38, 35, 34, 7, 6, 17, 6, 1, 49,152,153,152,153, 1, 50,122,245,122,122,122,122,244, - 2, 20, 1, 96,176, 88, 88,176,254,160, 1, 25,141, 71, 71,140,254,230, 0, 0, 0, 1, 0, 6,255,172, 4,203, 2, 20, 0, 18, - 0, 0, 19, 48, 51, 16, 23, 22, 51, 50, 55, 54, 17, 51, 16, 5, 6, 35, 34, 39, 36, 6,122,244,122,122,122,122,245,122,254,206, -153,152,153,152,254,207, 2, 20,254,230,140, 71, 71,141, 1, 25,254,160,176, 88, 88,176, 0, 0, 0, 1, 0, 6,255,177, 4,203, - 4,119, 0, 2, 0, 0, 23, 1, 17, 6, 4,197, 78, 4,196,251, 60, 0, 0, 0, 0, 1, 0, 6,255,177, 4,203, 4,119, 0, 2, - 0, 0, 23, 17, 1, 6, 4,197, 78, 4,196,251, 60, 0, 0, 0, 0, 1, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 0, 23, 17, - 33, 6, 4,197, 78, 4,196, 0, 0, 1, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 0, 19, 33, 17, 6, 4,197, 4,118,251, 60, - 0, 2, 1, 63, 1,209, 3,145, 4, 33, 0, 11, 0, 23, 0, 0, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 7, 52, 54, 51, - 50, 22, 21, 20, 6, 35, 34, 38, 1,122,137, 99,100,140,139, 99,100,138, 59,172,125,124,173,174,125,124,171, 2,250,101,137,139, - 99, 98,138,137, 99,124,171,172,123,124,173,171, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 0, 37, 33, 17, 33, - 1, 17, 33, 17, 2,104, 1,240,254, 16,253,158, 4,197, 36, 3,224,251,174, 4,196,251, 60, 0, 0, 2, 0, 6,255,177, 4,203, - 4,119, 0, 3, 0, 7, 0, 0, 55, 33, 17, 33, 3, 17, 33, 17,120, 1,240,254, 16,114, 4,197, 36, 3,224,251,174, 4,196,251, - 60, 0, 0, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 6, 0, 0, 55, 33, 17, 1, 17, 33, 17,120, 3,224,251,174, - 4,197, 36, 3,224,251,174, 4,196,251, 60, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 6, 0, 0, 55, 1, 33, 3, - 17, 33, 17,120, 3,225,252, 31,114, 4,197, 36, 3,224,251,174, 4,196,251, 60, 0, 3, 0, 6,255,177, 4,203, 4,119, 0, 3, - 0, 7, 0, 11, 0, 0, 37, 33, 17, 33, 1, 33, 17, 33, 3, 17, 33, 17, 2,161, 1,183,254, 73,253,215, 1,183,254, 73,114, 4, -197, 36, 3,224,252, 32, 3,224,251,174, 4,196,251, 60, 0, 0, 0, 3, 0, 6,255,177, 4,203, 4,119, 0, 11, 0, 14, 0, 17, - 0, 0, 1, 52, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 1, 33, 9, 3, 1,226, 78, 56, 56, 78, 79, 56, 56, 77,254,207, 3,111, -254, 72,253,158, 2, 98, 2, 99, 1,106, 56, 77, 77, 56, 55, 78, 77,254,242, 3,110,252, 32, 4,196,251, 60, 0, 0, 2, 0, 6, -255,177, 4,203, 4,119, 0, 2, 0, 5, 0, 0, 37, 33, 9, 3, 2,104, 1,184,254, 72,253,158, 2, 98, 2, 99, 36, 3,110,252, - 32, 4,196,251, 60, 0, 0, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 5, 0, 0, 55, 33, 17, 9, 2,177, 1,183, -253,158, 2, 98, 2, 99, 36, 3,110,252, 32, 4,196,251, 60, 0, 0, 2,255,236,255,146, 4,229, 4,150, 0, 13, 0, 27, 0, 0, - 18, 16, 5, 22, 51, 50, 55, 36, 16, 39, 38, 35, 34, 7, 0, 16, 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39,107, 0,255,126, -128,127,128, 0,255,255,128,127,128,126,254,130, 1, 62,158,160,159,159, 1, 63,254,193,159,159,160,158, 3, 58,253,180,147, 73, - 73,147, 2, 76,147, 73, 73,252,216, 2,222,184, 91, 91,184,253, 34,184, 91, 91, 0, 3, 0, 6,255,177, 4,203, 4,119, 0, 3, - 0, 7, 0, 13, 0, 0, 23, 17, 33, 17, 1, 33, 17, 33, 17, 33, 17, 33, 17, 33, 6, 4,197,251,173, 1,183,254, 73, 3,224,254, - 73,253,215, 78, 4,196,251, 60, 2,154, 1,184,252, 32, 3,224,253,214, 0, 0, 0, 3, 0, 6,255,177, 4,203, 4,119, 0, 3, - 0, 7, 0, 13, 0, 0, 23, 17, 33, 17, 37, 33, 17, 33, 53, 33, 17, 33, 17, 33, 6, 4,197,251,173, 1,183,254, 73, 2, 41, 1, -183,252, 32, 78, 4,196,251, 60,114, 1,182,114,253,216, 3,224, 0, 3, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 13, - 0, 0, 23, 17, 33, 17, 37, 33, 17, 33, 1, 33, 17, 33, 17, 33, 6, 4,197,253,214, 1,183,254, 73,253,215, 1,183, 2, 41,252, - 32, 78, 4,196,251, 60,114, 1,182,254, 74, 2, 40, 1,184, 0, 0, 3, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 13, - 0, 0, 23, 17, 33, 17, 1, 33, 17, 33, 1, 33, 17, 33, 17, 33, 6, 4,197,253,214, 1,183,254, 73,253,215, 3,224,253,215,254, - 73, 78, 4,196,251, 60, 2,154, 1,184,252, 32, 1,182, 2, 42, 0, 3, 0, 6,255,172, 4,203, 4,124, 0, 13, 0, 19, 0, 32, - 0, 0, 54, 16, 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39, 19, 6, 7, 6, 7, 33, 5, 22, 23, 22, 51, 50, 55, 54, 16, 39, - 38, 39, 17, 6, 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152,248, 94, 93,219, 22, 1,172,254, 84, 23,218,122,122,122, -122,245,245, 94, 93,180, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 3,249, 13, 54,126,240,114,238,126, 71, 71,141, 2, 50,141, - 54, 13,253,221, 0, 3, 0, 6,255,172, 4,203, 4,124, 0, 13, 0, 26, 0, 32, 0, 0, 54, 16, 37, 54, 51, 50, 23, 4, 16, 5, - 6, 35, 34, 39, 37, 54, 55, 54, 16, 39, 38, 35, 34, 7, 6, 7, 33, 5, 22, 23, 22, 23, 17, 6, 1, 49,152,153,152,153, 1, 50, -254,206,153,152,153,152, 1,106, 93, 94,245,245,122,122,122,122,219, 22, 2, 30,253,226, 23,218, 93, 94,180, 2,192,176, 88, 88, -176,253, 64,176, 88, 88, 39, 13, 54,141, 2, 50,141, 71, 71,126,240,114,238,126, 54, 13, 1,175, 0, 3, 0, 6,255,172, 4,203, - 4,124, 0, 13, 0, 26, 0, 32, 0, 0, 54, 16, 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39, 2, 16, 23, 22, 23, 17, 33, 38, - 39, 38, 35, 34, 7, 1, 54, 55, 54, 55, 33, 6, 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152,183,244, 93, 94, 2, 31, - 22,220,122,122,122,122, 1, 45, 93, 94,219, 23,254, 83,180, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 3, 41,253,206,141, 54, - 13, 2, 33,240,126, 71, 71,252,113, 13, 54,126,238, 0, 0, 0, 0, 3, 0, 6,255,172, 4,203, 4,124, 0, 13, 0, 26, 0, 32, - 0, 0, 54, 16, 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39, 2, 16, 23, 22, 51, 50, 55, 54, 55, 33, 17, 6, 7, 1, 38, 39, - 38, 39, 17, 6, 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152,183,244,122,122,122,122,219, 23,253,225, 94, 93, 2,218, - 22,220, 94, 93,180, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 3, 41,253,206,141, 71, 71,126,238, 2, 35, 13, 54,254,146,240, -126, 54, 13,254, 79, 0, 0, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 5, 0, 0, 55, 1, 33, 3, 17, 33,120, 3, - 54,252,202,114, 4,197,206, 3, 54,251,174, 4,196, 0, 0, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 5, 0, 0, - 9, 1, 17, 37, 33, 17, 1, 35, 3, 54,251,173, 4,197, 4, 4,252,202, 3, 54,114,251, 60, 0, 0, 2, 0, 6,255,177, 4,203, - 4,119, 0, 2, 0, 5, 0, 0, 55, 33, 1, 3, 17, 1,120, 3, 54,252,202,114, 4,197, 36, 3, 54,252, 88, 4,196,251, 60, 0, - 0, 2, 0, 97, 0, 13, 4,111, 4, 27, 0, 3, 0, 7, 0, 0, 55, 33, 17, 33, 3, 17, 33, 17,211, 3, 42,252,214,114, 4, 14, -127, 3, 42,252,100, 4, 14,251,242, 0, 0, 0, 0, 1, 0, 97, 0, 13, 4,111, 4, 27, 0, 3, 0, 0, 55, 17, 33, 17, 97, 4, - 14, 13, 4, 14,251,242, 0, 0, 0, 2, 0,175, 0, 91, 4, 33, 3,205, 0, 3, 0, 7, 0, 0, 37, 33, 17, 33, 3, 17, 33, 17, - 1, 33, 2,142,253,114,114, 3,114,205, 2,142,253, 0, 3,114,252,142, 0, 0, 0, 1, 0,175, 0, 91, 4, 33, 3,205, 0, 3, - 0, 0, 55, 17, 33, 17,175, 3,114, 91, 3,114,252,142, 0, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 5, 0, 0, - 37, 33, 17, 9, 1, 17, 1, 35, 3, 54,251,173, 4,197, 36, 3, 54,252, 88, 4,196,251, 60, 0, 0, 9, 0, 34, 0,164, 4,175, - 5, 49, 0, 7, 0, 12, 0, 19, 0, 34, 0, 42, 0, 50, 0, 58, 0, 65, 0, 73, 0, 0, 1, 51, 23, 17, 7, 35, 39, 17, 5, 23, - 21, 7, 39, 37, 23, 7, 35, 38, 39, 53, 5, 50, 31, 1, 20, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 5, 33, 23, 21, 7, 33, 39, - 53, 37, 33, 23, 21, 7, 33, 39, 53, 7, 51, 22, 23, 21, 7, 39, 53, 37, 51, 23, 21, 7, 39, 53, 37, 51, 23, 17, 7, 35, 39, 17, - 2, 78, 60, 4, 4, 60, 5, 1,186, 46,194, 48,253,167,196, 47, 2,157, 35, 1,181,163, 69, 10,148, 55, 36,137, 76, 28,143, 52, -253,228, 1, 8, 5, 5,254,248, 5, 3,122, 1, 14, 5, 5,254,242, 4, 56, 3,104, 89, 47,194,254, 54, 2, 46,192, 48, 1,165, - 60, 4, 4, 60, 5, 5, 49, 5,254,239, 4, 4, 1, 17,121, 49, 2,198, 49,186,199, 50,156, 43, 3,141,176, 75,147, 79, 17,130, - 49, 72,141, 80, 22,215, 5, 61, 5, 5, 61, 5, 5, 61, 5, 5, 61,218,102, 94, 2, 49,198, 3, 32, 46, 3,198, 49, 3, 92, 4, -254,239, 5, 5, 1, 17, 0, 0, 0, 1, 0, 50, 0, 8, 4,159, 1,209, 0, 34, 0, 0, 1, 51, 50, 31, 1, 54, 51, 22, 21, 20, - 7, 22, 29, 1, 6, 35, 33, 53, 50, 55, 54, 59, 1, 39, 52, 63, 1, 23, 39, 52, 63, 1, 50, 23, 54, 3, 0, 13,134, 72, 12, 24, - 34, 83, 21, 63, 11, 49,251,209, 35, 82, 29, 32, 20, 7, 98, 24, 26, 3,125, 41, 30, 28, 74, 1,209,143, 53, 22, 17, 67, 30, 32, - 14, 44, 16, 63, 6,107, 24, 30, 67, 30, 2, 2, 7, 91, 55, 5, 27, 62, 0, 0, 0, 1, 0, 34, 0, 6, 4,175, 4, 45, 0, 63, - 0, 0, 1, 51, 23, 21, 51, 32, 19, 22, 29, 1, 35, 38, 39, 38, 43, 1, 34, 7, 21, 20, 7, 39, 38, 35, 17, 20, 15, 1, 34, 47, - 1, 53, 55, 51, 23, 21, 22, 59, 1, 50, 63, 1, 17, 34, 7, 6, 35, 39, 53, 55, 35, 38, 39, 35, 34, 15, 1, 35, 53, 54, 55, 54, - 51, 53, 2, 97, 41, 4, 2, 1, 56,199, 31, 1, 16, 14, 24, 41, 31,107, 79, 6, 24,107, 97, 75, 21, 65, 26, 2, 4, 31, 4, 7, - 45, 7, 39, 14, 4,150, 61, 12, 10, 5, 5, 3, 47,141, 47, 71, 24, 14, 2, 41,137,170,221, 4, 44, 4, 89,254,166, 61, 9, 6, - 11, 33, 17, 72, 36, 11, 1, 47, 43,254, 25, 72, 17, 1, 68, 20, 18, 5, 5, 8, 72, 41, 29, 1,225, 43, 41, 4, 9, 36, 46, 19, - 44, 12, 1,102,155,159, 89, 0, 0, 15, 0, 89,255,250, 4,120, 5,171, 0, 9, 0, 17, 0, 25, 0, 33, 0, 61, 0, 90, 0,133, - 0,177, 0,220, 1, 8, 1, 16, 1, 24, 1, 32, 1, 76, 1,120, 0, 0, 1, 22, 55, 51, 6, 7, 38, 39, 51, 22, 55, 38, 39, 54, - 55, 22, 23, 6, 5, 38, 39, 54, 55, 22, 23, 6, 3, 38, 39, 54, 55, 22, 23, 6, 39, 6, 21, 20, 22, 51, 50, 54, 53, 52, 39, 38, - 39, 22, 55, 54, 53, 52, 38, 35, 34, 6, 21, 20, 23, 22, 51, 6, 19, 54, 55, 50, 31, 1, 22, 20, 7, 6, 7, 22, 23, 22, 21, 20, - 4, 32, 36, 53, 52, 55, 54, 55, 38, 39, 38, 52, 55, 1, 23, 39, 38, 50, 15, 1, 55, 54, 51, 50, 21, 20, 15, 1, 23, 22, 21, 20, - 35, 34, 47, 1, 23, 22, 35, 34, 63, 1, 7, 6, 35, 34, 53, 52, 63, 1, 39, 38, 53, 52, 51, 50, 3, 23, 39, 38, 51, 50, 15, 1, - 55, 54, 51, 50, 21, 20, 15, 1, 23, 22, 21, 20, 35, 34, 47, 1, 23, 22, 35, 34, 63, 1, 7, 6, 35, 34, 53, 52, 63, 1, 39, 38, - 53, 52, 51, 50, 1, 23, 39, 38, 51, 50, 15, 1, 55, 54, 51, 50, 21, 20, 15, 1, 23, 22, 20, 35, 34, 47, 1, 23, 22, 35, 34, 63, - 1, 7, 6, 35, 34, 53, 52, 63, 1, 39, 38, 53, 52, 51, 48, 31, 1, 39, 38, 51, 50, 15, 1, 55, 54, 51, 50, 21, 20, 15, 1, 23, - 22, 21, 20, 35, 34, 47, 1, 23, 22, 35, 34, 63, 1, 7, 6, 35, 34, 53, 52, 63, 1, 39, 38, 53, 52, 51, 50, 1, 38, 53, 52, 51, - 50, 21, 20, 5, 38, 53, 54, 51, 50, 21, 20, 55, 38, 53, 52, 51, 50, 21, 20, 19, 23, 39, 38, 51, 50, 15, 1, 55, 54, 51, 50, 21, - 20, 15, 1, 23, 22, 21, 20, 35, 34, 47, 1, 23, 22, 35, 34, 63, 1, 7, 6, 35, 34, 53, 52, 63, 1, 39, 38, 53, 52, 51, 50, 1, - 23, 39, 38, 51, 50, 15, 1, 55, 54, 51, 50, 21, 20, 15, 1, 23, 22, 21, 20, 35, 34, 47, 1, 23, 22, 35, 34, 63, 1, 7, 6, 35, - 34, 53, 52, 63, 1, 39, 38, 53, 52, 51, 50, 2, 80, 79, 28, 25, 5,128,126, 9, 24, 41,185, 42, 1, 3, 43, 39, 3, 3,254,235, - 41, 3, 3, 43, 40, 3, 3, 64, 38, 2, 3, 39, 36, 2, 2,202,124,247,175,174,248,124,101,139, 63, 47, 65,125, 93, 92,138, 66, - 45, 55,144, 21, 26,147,132, 49, 2, 83, 76, 20, 24,111, 87,142,254,228,254,106,254,227,143, 92,118, 21, 19, 76, 76, 2,114, 37, - 6, 1, 28, 1, 6, 37, 4, 4, 14, 7, 44, 42, 7, 12, 6, 2, 35, 4, 1, 14, 14, 1, 5, 36, 2, 5, 13, 8, 41, 42, 8, 14, - 3,110, 36, 5, 1, 13, 16, 2, 6, 37, 4, 4, 13, 7, 43, 41, 8, 12, 6, 2, 36, 5, 1, 15, 13, 1, 4, 35, 2, 5, 14, 8, - 42, 43, 8, 15, 4,253, 28, 21, 3, 1, 9, 9, 1, 4, 22, 2, 2, 9, 4, 26, 24, 5, 8, 3, 1, 22, 4, 1, 9, 9, 1, 3, - 21, 1, 3, 8, 4, 25, 26, 4, 9, 63, 19, 4, 1, 8, 9, 1, 4, 19, 2, 3, 8, 5, 22, 22, 4, 7, 2, 3, 19, 3, 1, 8, - 8, 1, 4, 19, 3, 2, 7, 4, 22, 22, 5, 8, 3, 1,249, 39, 43, 38,254,180, 40, 1, 41, 38,251, 40, 43, 38,112, 23, 4, 1, - 9, 9, 1, 3, 21, 2, 2, 8, 3, 26, 25, 4, 8, 3, 1, 21, 2, 1, 8, 9, 1, 3, 22, 1, 3, 8, 6, 24, 25, 5, 9, 2, -252,242, 37, 5, 1, 13, 14, 1, 5, 37, 4, 4, 13, 7, 43, 41, 8, 12, 4, 4, 36, 4, 1, 14, 13, 1, 4, 36, 4, 2, 14, 8, - 42, 43, 8, 15, 2, 3,132, 5, 42, 69, 5, 7, 67, 42, 90, 2, 42, 44, 3, 3, 41, 45, 4, 2, 41, 45, 3, 3, 42, 44,254, 18, - 2, 37, 38, 2, 2, 37, 38,158,102,147,145,208,208,145,147,102, 85, 32, 2, 53, 72,104,102,101,101,102,104, 72, 50, 30, 1,217, -112, 24,117, 19, 94,232, 81, 24, 16, 28, 70,115,165,163,230,230,163,165,115, 75, 26, 15, 22, 81,232, 71,254,129, 31, 52, 13, 13, - 52, 31, 3, 16, 9, 3, 20, 19, 3, 9, 14, 2, 30, 50, 15, 15, 50, 30, 2, 14, 8, 4, 19, 20, 4, 8, 16, 1, 48, 31, 52, 14, - 14, 52, 31, 3, 16, 7, 3, 21, 19, 4, 9, 14, 2, 30, 50, 14, 14, 50, 30, 2, 14, 9, 4, 19, 21, 4, 6, 16, 1, 57, 17, 29, - 10, 10, 29, 17, 3, 10, 4, 2, 13, 10, 2, 14, 1, 17, 30, 7, 7, 30, 17, 1, 7, 7, 2, 10, 13, 2, 4, 10,251, 16, 28, 7, - 7, 28, 16, 2, 7, 6, 2, 9, 11, 2, 5, 8, 2, 15, 26, 8, 8, 26, 15, 2, 8, 5, 2, 11, 9, 2, 6, 7,253, 76, 2, 37, - 40, 39, 42,222, 2, 37, 41, 40, 42, 2, 2, 37, 41, 40, 42, 4,116, 17, 30, 8, 8, 30, 17, 2, 8, 7, 1, 11, 12, 2, 5, 9, - 1, 17, 28, 9, 9, 28, 17, 1, 9, 4, 3, 12, 11, 2, 6, 8,254, 49, 31, 52, 14, 14, 52, 31, 3, 16, 8, 3, 20, 19, 4, 9, - 14, 3, 29, 50, 14, 14, 50, 29, 3, 14, 9, 4, 19, 20, 4, 7, 16, 0, 0, 0, 0, 15, 0, 29, 0, 48, 4,180, 5,114, 0, 19, - 0, 33, 0, 50, 0, 67, 0, 84, 0,101, 0,118, 0,135, 0,152, 0,169, 0,186, 0,203, 0,220, 0,237, 0,254, 0, 0, 1, 22, - 7, 6, 15, 1, 6, 43, 1, 38, 39, 38, 53, 52, 63, 2, 54, 23, 22, 7, 6, 23, 22, 31, 1, 22, 63, 1, 54, 47, 1, 38, 7, 19, - 50, 23, 22, 29, 1, 20, 7, 6, 35, 34, 47, 1, 53, 52, 55, 54, 55, 50, 23, 22, 29, 1, 20, 7, 6, 35, 34, 47, 1, 53, 52, 55, - 54, 55, 50, 23, 22, 29, 1, 20, 7, 6, 35, 34, 39, 61, 1, 52, 55, 54, 55, 50, 23, 22, 29, 1, 20, 7, 6, 35, 34, 47, 1, 53, - 52, 55, 54, 19, 50, 23, 22, 29, 1, 20, 7, 6, 35, 34, 47, 1, 53, 52, 55, 54, 7, 50, 23, 22, 29, 1, 20, 7, 6, 35, 34, 39, - 61, 1, 52, 55, 54, 1, 50, 23, 22, 29, 1, 20, 7, 6, 35, 34, 47, 1, 53, 52, 55, 54, 55, 50, 23, 22, 29, 1, 20, 7, 6, 35, - 34, 39, 61, 1, 52, 55, 54, 55, 50, 23, 22, 29, 1, 20, 7, 6, 35, 34, 47, 1, 53, 52, 55, 54, 1, 50, 23, 22, 29, 1, 20, 7, - 6, 35, 34, 47, 1, 53, 52, 55, 54, 55, 50, 23, 22, 29, 1, 20, 7, 6, 35, 34, 47, 1, 53, 52, 55, 54, 55, 50, 23, 22, 29, 1, - 20, 7, 6, 35, 34, 47, 1, 53, 52, 55, 54, 55, 50, 23, 22, 29, 1, 20, 7, 6, 35, 34, 47, 1, 53, 52, 55, 54, 1,108, 61, 46, - 15, 37, 16, 71, 92, 17, 38, 29, 35, 45, 31, 9, 76,106, 46,196, 78, 26, 4, 10, 11, 48,100, 38, 75, 17, 24, 52,105,185, 21, 11, - 6, 20, 8, 10, 27, 9, 1, 19, 10,125, 22, 11, 5, 19, 8, 10, 27, 9, 1, 19, 10,103, 21, 11, 5, 19, 8, 10, 26, 11, 19, 10, -115, 21, 11, 6, 20, 7, 11, 26, 10, 1, 19, 10, 2, 21, 12, 5, 20, 7, 11, 26, 10, 1, 20, 9,141, 22, 11, 5, 19, 8, 10, 27, - 10, 19, 10, 1, 38, 21, 11, 5, 19, 8, 10, 26, 11, 1, 20, 10,144, 22, 11, 5, 19, 8, 10, 27, 10, 19, 10,145, 21, 11, 6, 20, - 8, 10, 27, 9, 1, 19, 10,254, 2, 22, 11, 6, 20, 8, 10, 27, 9, 1, 19, 10,204, 21, 12, 5, 20, 7, 11, 26, 10, 1, 20, 9, -217, 21, 11, 6, 20, 8, 10, 26, 10, 1, 19, 10,193, 21, 12, 5, 20, 7, 11, 26, 10, 1, 20, 9, 1,198, 72,131, 53, 45, 19, 86, - 5, 34, 42, 60, 67, 90, 43, 10, 93, 2, 9, 95, 95,102, 17, 12, 13, 56, 65, 37, 92,109, 36, 61, 70, 1, 14, 23, 9, 12, 4, 23, - 14, 5, 33, 10, 3, 23, 15, 6,234, 22, 9, 12, 5, 22, 14, 6, 34, 9, 4, 22, 15, 6,230, 23, 9, 11, 5, 22, 15, 5, 34, 9, - 4, 22, 15, 6,236, 23, 9, 11, 4, 23, 14, 5, 33, 9, 3, 24, 14, 6,253,197, 23, 9, 11, 5, 23, 14, 5, 33, 11, 2, 24, 14, - 6,194, 23, 9, 11, 4, 24, 14, 5, 34, 10, 3, 23, 14, 6, 1,131, 22, 9, 11, 6, 22, 14, 5, 33, 9, 4, 22, 16, 5,187, 23, - 9, 11, 5, 23, 14, 5, 34, 9, 3, 23, 15, 6,194, 24, 9, 11, 4, 23, 14, 6, 34, 10, 3, 23, 14, 7,252, 77, 22, 9, 11, 5, - 23, 14, 6, 34, 9, 4, 23, 14, 6,158, 22, 9, 11, 5, 22, 15, 6, 35, 9, 3, 23, 15, 5,172, 23, 9, 10, 5, 24, 13, 5, 33, - 10, 2, 24, 14, 6,151, 23, 9, 11, 4, 24, 13, 6, 34, 10, 2, 24, 14, 6, 0, 0, 1, 0, 58, 0, 15, 4,151, 4, 51, 0, 9, - 0, 0, 19, 33, 27, 1, 33, 5, 19, 37, 5, 19, 58, 1,170,132,133, 1,170,254,167,133,254,165,254,167,132, 2,158, 1,149,254, -107,251,254,108,250,250, 1,148, 0, 2, 0, 58, 0, 20, 4,151, 4, 57, 0, 9, 0, 19, 0, 0, 19, 33, 27, 1, 33, 5, 19, 37, - 5, 19, 55, 3, 37, 5, 3, 37, 33, 11, 1, 33, 58, 1,170,132,133, 1,170,254,167,133,254,165,254,167,132, 48,100, 1, 9, 1, - 18,109, 1, 28,254,167,104,100,254,165, 2,164, 1,148,254,108,251,254,108,250,250, 1,148, 15,254,203,191,201, 1, 64,199, 1, - 56,254,200, 0, 0, 1, 0,200, 0, 5, 4, 9, 5,214, 0, 17, 0, 0, 1, 22, 23, 20, 7, 9, 1, 55, 19, 37, 55, 1, 38, 53, - 52, 55, 1, 54, 3,206, 57, 2, 9,253,125, 1,238, 86, 38,254, 55,224,253,221, 19, 65, 2,147, 11, 5,214, 2, 54, 36, 12,253, -133,253,244,230,254, 56, 39, 94, 2, 52, 23, 23, 27, 63, 2,134, 10, 0, 0, 0, 0, 1, 0, 59,255,255, 4,150, 5,217, 0, 25, - 0, 0, 19, 33, 50, 21, 20, 7, 9, 1, 55, 19, 37, 55, 1, 38, 53, 52, 55, 1, 33, 17, 20, 35, 34, 53, 17, 52,122, 3,214, 60, - 26,253,229, 1,201, 83, 35,254, 78,216,254, 16, 14, 49, 1,199,253, 12, 68, 67, 5,217, 83, 34, 27,253,197,254, 27,213,254, 61, - 34,108, 2, 22, 15, 46, 27, 51, 1,223,250,252, 69, 68, 5, 91, 58, 0, 0, 0, 0, 3, 0, 43, 0, 7, 4,166, 4,129, 0, 13, - 0, 25, 0, 38, 0, 0, 1, 20, 0, 35, 34, 0, 53, 52, 18, 36, 51, 50, 4, 18, 5, 20, 0, 32, 0, 53, 52, 46, 1, 32, 14, 1, - 5, 20, 6, 35, 34, 38, 53, 52, 62, 1, 50, 30, 1, 4,165,254,177,238,237,254,177,154, 1, 19,143,144, 1, 20,153,251,191, 1, - 45, 1,173, 1, 46,138,248,254,252,248,138, 2,148, 84, 60, 58, 85, 39, 69, 71, 69, 39, 2, 68,238,254,178, 1, 78,238,149, 1, - 20,148,148,254,237,150,214,254,211, 1, 45,214,136,246,133,133,246,136, 60, 83, 83, 60, 38, 69, 36, 36, 69, 0, 0, 3, 0, 15, - 0, 5, 4,194, 5, 29, 0, 10, 0, 22, 0, 67, 0, 0, 0, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 37, 34, 6, 21, 20, 22, 51, - 50, 54, 53, 52, 38, 37, 22, 23, 22, 21, 20, 6, 35, 34, 38, 53, 52, 55, 54, 55, 54, 53, 52, 36, 32, 4, 21, 20, 23, 22, 23, 22, - 20, 6, 35, 34, 38, 52, 55, 54, 55, 38, 53, 52, 0, 51, 50, 0, 21, 20, 4, 11,113, 79, 79, 57, 56, 79,252,164, 56, 80, 80, 56, - 56, 79, 79, 3, 34, 19, 17, 70,140, 99, 99,139, 68, 62, 85, 93,255, 0,254,144,255, 0, 92, 96, 67, 68,139, 99, 98,141, 70, 14, - 14, 93, 1, 87,246,248, 1, 87, 1,177, 90, 65, 64, 90, 90, 64, 65, 90, 90, 65, 64, 91, 91, 64, 65, 90, 75, 15, 20, 80,114,113, -160,160,113,114, 80, 71, 8,101,134,157,222,222,157,134,100, 3, 77, 80,228,160,160,228, 80, 15, 13,125,159,217, 1, 50,254,206, -217,155, 0, 0, 0, 3, 0, 18,255,254, 4,191, 5,107, 0, 10, 0, 22, 0, 65, 0, 0, 1, 52, 38, 35, 34, 6, 21, 20, 22, 50, - 54, 37, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 1, 20, 0, 35, 34, 0, 53, 52, 55, 38, 39, 38, 52, 54, 51, 50, 22, 20, 7, - 6, 7, 6, 21, 20, 4, 32, 36, 53, 52, 39, 38, 39, 38, 52, 54, 51, 50, 22, 20, 7, 6, 7, 22, 4, 88, 80, 55, 57, 78, 78,113, - 79,253, 46, 78, 57, 55, 79, 79, 55, 57, 78, 3, 39,254,171,247,245,254,171, 93, 14, 14, 69,139, 97, 99,139, 68, 67, 95, 92, 0, -255, 1,110, 0,255, 92, 85, 62, 68,139, 98, 99,138, 69, 17, 19, 88, 4, 70, 68, 98, 98, 68, 69, 97, 97, 69, 69, 97, 97, 69, 68, - 97, 97,254, 43,232,254,185, 1, 71,232,169,132, 14, 17, 85,242,171,171,242, 85, 83, 3,106,142,169,235,235,169,143,105, 9, 76, - 86,242,171,171,242, 86, 21, 16,130, 0, 0, 0, 0, 2, 0, 54, 0, 1, 4,155, 5,202, 0, 11, 0, 27, 0, 0, 1, 34, 6, 21, - 20, 22, 51, 50, 54, 53, 52, 38, 55, 22, 23, 22, 16, 0, 35, 34, 0, 16, 0, 51, 50, 23, 1, 23, 2, 63,143,201,201,143,142,201, -199,190, 19, 18,152,254,206,217,215,254,206, 1, 47,218, 96, 84, 1, 14,154, 3, 99,200,144,142,201,201,142,144,200, 59, 16, 19, -153,254, 80,254,207, 1, 49, 1,176, 1, 50, 29, 1,211, 89, 0, 0, 3, 0, 46, 0, 3, 4,163, 5,203, 0, 8, 0, 17, 0, 49, - 0, 0, 1, 34, 6, 20, 22, 50, 54, 52, 38, 0, 34, 6, 20, 22, 51, 50, 54, 52, 1, 22, 21, 20, 2, 35, 34, 2, 53, 52, 18, 51, - 50, 23, 22, 23, 55, 38, 53, 52, 18, 51, 50, 18, 21, 20, 2, 35, 34, 39, 38, 39, 1, 64, 75,106,106,150,106,105, 2, 79,151,105, -105, 76, 75,105,253,247, 24,161,114,113,161,160,114,116, 80, 1, 1,138, 18,159,115,115,160,161,114,113, 81, 7, 7, 2,220,169, -240,169,169,240,169, 2, 90,169,240,169,169,240,253,228, 84,100,181,254,255, 1, 1,181,183, 1, 1,128, 3, 2,137, 73, 85,183, - 1, 1,254,255,183,181,254,255,129, 11, 12, 0, 0, 14, 0, 20,255,255, 4,189, 4,200, 0, 23, 0, 41, 0, 53, 0, 65, 0, 77, - 0, 89, 0,100, 0,112, 0,123, 0,134, 0,145, 0,157, 0,169, 0,181, 0, 0, 1, 51, 4, 23, 22, 21, 6, 47, 1, 38, 55, 54, - 39, 33, 6, 23, 22, 15, 1, 6, 39, 52, 55, 54, 1, 53, 51, 21, 20, 23, 22, 21, 17, 33, 17, 52, 55, 54, 61, 1, 51, 21, 3, 20, - 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 5, 20, 6, 35, 34, 38, 53, 52, 54, 51, 50, 22, 39, 20, 6, 35, 34, 38, 53, 52, 54, 51, - 50, 22, 17, 20, 6, 35, 34, 38, 53, 52, 54, 51, 50, 22, 2, 22, 6, 7, 6, 38, 39, 38, 54, 55, 54, 19, 22, 6, 7, 6, 38, 39, - 38, 54, 55, 54, 22, 1, 30, 1, 14, 1, 39, 46, 1, 55, 62, 1, 4, 30, 1, 7, 14, 1, 39, 46, 1, 55, 54, 36, 54, 22, 23, 22, - 6, 7, 6, 38, 39, 38, 37, 54, 22, 23, 22, 6, 7, 6, 38, 39, 38, 54, 1, 62, 1, 23, 30, 1, 7, 14, 1, 39, 46, 1, 19, 62, - 1, 23, 30, 1, 7, 14, 1, 39, 46, 1, 2,102, 5, 1, 60,135,142, 20, 59,214, 46, 21, 61, 43,253,178, 44, 62, 21, 47,214, 59, - 20,142,135, 1,187, 75,127,121,252,129,122,126, 76, 90,124, 87, 88,123,123, 88, 88,123, 1, 73, 69, 49, 49, 69, 69, 49, 49, 69, - 84, 17, 12, 12, 18, 18, 12, 12, 17, 17, 12, 12, 18, 18, 12, 12, 17,109, 13, 3, 10, 10, 24, 7, 8, 4, 10, 10,226, 7, 3, 11, - 10, 23, 8, 7, 4, 10, 10, 24,254,249, 13, 10, 7, 22, 12, 11, 12, 4, 4, 22, 1, 59, 23, 11, 4, 4, 22, 11, 12, 11, 4, 4, -254,201, 23, 22, 4, 3, 10, 12, 12, 22, 4, 4, 1, 82, 11, 22, 4, 4, 11, 12, 11, 23, 3, 4, 11,254,255, 7, 24, 10, 10, 4, - 8, 6, 25, 10, 10, 4,202, 8, 23, 10, 11, 3, 7, 7, 24, 10, 10, 4, 4,200, 14,127,135,139,133, 8,115, 22, 64,100, 6, 6, -100, 64, 22,115, 8,133,139,135,125,254,189, 62,125, 61, 47, 78,234,254,110, 1,146,234, 78, 47, 61,125, 62,254, 64,137,192,192, -137,136,193,193,135, 77,108,108, 77, 78,107,107,182, 18, 28, 28, 18, 19, 28, 28,253,233, 20, 27, 27, 20, 19, 28, 28, 1,235, 31, - 38, 11, 12, 6, 15, 17, 37, 12, 11,254, 73, 16, 37, 13, 10, 5, 17, 15, 37, 12, 10, 5, 1, 34, 7, 33, 36, 18, 5, 6, 35, 18, - 18, 18,160, 12, 34, 18, 18, 17, 6, 6, 33, 19, 18, 5, 12, 17, 18, 19, 34, 7, 4, 17, 18, 18,200, 6, 18, 18, 18, 33, 7, 6, - 18, 18, 18, 33,254,214, 15, 5, 10, 12, 38, 14, 17, 5, 10, 13, 37, 1,177, 16, 6, 11, 12, 37, 17, 15, 6, 12, 11, 38, 0, 0, - 0, 16, 0, 8, 0, 11, 4,201, 4,201, 0, 17, 0, 29, 0, 37, 0, 45, 0, 53, 0, 65, 0, 77, 0, 89, 0,100, 0,112, 0,124, - 0,136, 0,148, 0,166, 0,192, 0,218, 0, 0, 1, 53, 35, 21, 6, 7, 6, 21, 17, 33, 17, 52, 39, 38, 39, 53, 35, 21, 7, 50, - 22, 21, 20, 6, 35, 34, 38, 53, 52, 54, 22, 34, 6, 20, 22, 50, 54, 52, 38, 34, 6, 20, 22, 50, 54, 52, 2, 34, 6, 20, 22, 50, - 54, 52, 3, 14, 1, 23, 30, 1, 55, 62, 1, 39, 46, 1, 19, 14, 1, 23, 30, 1, 55, 62, 1, 39, 46, 1, 37, 6, 22, 23, 22, 54, - 55, 54, 38, 39, 38, 6, 5, 6, 22, 23, 22, 62, 1, 38, 39, 38, 6, 5, 30, 1, 55, 62, 1, 39, 46, 1, 7, 14, 1, 37, 30, 1, - 55, 62, 1, 39, 46, 1, 7, 14, 1, 3, 22, 54, 55, 54, 38, 39, 38, 6, 7, 6, 22, 19, 22, 54, 55, 54, 38, 39, 38, 6, 7, 6, - 22, 55, 53, 51, 21, 20, 23, 22, 21, 17, 33, 17, 52, 55, 54, 61, 1, 51, 21, 39, 6, 23, 22, 15, 1, 6, 39, 54, 55, 54, 37, 22, - 50, 55, 4, 23, 22, 23, 6, 47, 1, 38, 55, 54, 39, 55, 22, 7, 6, 31, 1, 22, 55, 38, 39, 38, 47, 1, 21, 35, 6, 7, 6, 7, - 22, 63, 1, 54, 39, 38, 55, 1,212, 26, 8,108,105, 3, 1,105,108, 4, 30,140, 89,122,123, 88, 87,124,123,137, 98, 69, 69, 98, - 69,100, 25, 17, 17, 25, 17, 17, 25, 17, 17, 25, 17,145, 10, 4, 7, 8, 24, 10, 10, 3, 7, 7, 24,185, 10, 4, 7, 7, 25, 10, - 10, 4, 8, 7, 24,254,236, 4, 12, 11, 12, 22, 4, 3, 10, 13, 11, 22, 1, 56, 4, 11, 11, 12, 22, 7, 11, 11, 12, 22,254,193, - 4, 22, 12, 12, 10, 3, 4, 22, 12, 11, 12, 1, 64, 3, 22, 12, 11, 11, 4, 3, 22, 12, 11, 11,241, 10, 24, 7, 8, 4, 10, 10, - 24, 8, 7, 4,205, 10, 24, 7, 8, 4, 10, 10, 25, 7, 7, 4, 46, 72,120,116,252,172,116,120, 72,184, 37, 63, 37, 53,200, 69, - 36, 7,132,133, 1, 54, 13, 26, 12, 1, 54,133,132, 7, 36, 68,201, 53, 37, 63, 37, 14, 45, 53, 33, 33,174, 49, 40, 5,127,167, -255, 26, 29,255,167,126, 6, 40, 49,175, 32, 32, 53, 44, 3, 26, 52,116, 52, 40, 52,196,254,178, 1, 78,196, 52, 40, 52,116, 52, - 59,188,132,133,187,187,133,132,188,141,104,150,104,104,150,224, 26, 37, 26, 26, 37,254, 35, 26, 37, 26, 26, 37, 1,216, 11, 36, - 16, 14, 7, 11, 12, 37, 15, 14, 6,254, 95, 12, 36, 16, 15, 6, 12, 11, 36, 15, 16, 5,248, 18, 33, 6, 5, 16, 19, 17, 34, 5, - 6, 18,173, 17, 33, 6, 6, 17, 36, 33, 6, 6, 16, 47, 18, 17, 6, 6, 33, 17, 18, 18, 6, 6, 33,138, 18, 17, 5, 6, 33, 18, - 17, 18, 6, 5, 34,254,191, 12, 6, 15, 16, 36, 11, 11, 5, 16, 15, 36, 1,139, 11, 7, 14, 16, 36, 11, 12, 6, 15, 15, 37,234, - 58,127, 45, 44, 71,217,254,140, 1,116,217, 71, 44, 45,127, 58,186, 13, 88, 76, 15,134, 8,172,162, 82,113, 14, 1, 1, 14,113, - 82,162,172, 8,134, 15, 76, 88, 13, 23, 33, 91, 36, 31,110, 30,147,128, 91,105, 20, 1, 1, 20,105, 91,128,147, 30,110, 31, 36, - 91, 33, 0, 0, 0, 2, 0,111, 0, 4, 4, 98, 4, 8, 0, 7, 0, 11, 0, 0, 19, 33, 23, 17, 7, 33, 39, 17, 23, 17, 33, 17, -116, 3,233, 4, 4,252, 23, 4, 75, 3, 90, 4, 7, 5,252, 7, 4, 4, 3,249, 71,252,149, 3,107, 0, 0, 0, 0, 3, 0, 99, -255,253, 4,110, 4, 24, 0, 7, 0, 11, 0, 34, 0, 0, 19, 33, 23, 17, 7, 33, 39, 17, 23, 17, 33, 17, 7, 21, 6, 7, 2, 7, - 6, 35, 6, 35, 38, 43, 1, 53, 55, 50, 23, 51, 54, 55, 54, 55, 54,104, 4, 1, 5, 5,251,255, 5, 78, 3,110, 95, 53, 29,230, - 44, 4, 11, 83, 9, 71,144, 16,114,106, 51, 5, 35, 45, 69,109, 68, 4, 24, 4,251,239, 5, 5, 4, 17, 74,252,130, 3,126,111, - 4, 46, 40,254,201,227, 42, 33,182, 4, 52, 92,116, 82,126,131, 85, 0, 0, 0, 0, 3, 0,133, 0, 5, 4, 76, 3,218, 0, 7, - 0, 11, 0, 26, 0, 0, 19, 33, 23, 17, 7, 33, 39, 17, 23, 17, 33, 17, 5, 9, 1, 23, 9, 1, 21, 7, 1, 35, 1, 35, 39, 9, - 1,138, 3,189, 4, 4,252, 67, 4, 73, 3, 51,253, 90, 1, 13, 1, 12, 62,254,244, 1, 12, 60,254,242, 2,254,245, 3, 60, 1, - 12,254,244, 3,217, 4,252, 53, 5, 5, 3,203, 68,252,189, 3, 67, 88,254,245, 1, 11, 60,254,243,254,242, 1, 60, 1, 11,254, -247, 59, 1, 14, 1, 13, 0, 0, 0, 1, 0,201, 0, 89, 4, 8, 5, 68, 0, 20, 0, 0, 1, 51, 1, 54, 1, 50, 55, 51, 23, 9, - 1, 21, 7, 1, 35, 1, 35, 39, 1, 0, 53, 1, 38, 5, 1, 60, 12, 1, 43, 4, 7, 4, 90,254,192, 1, 64, 92,254,193, 2,254, -191, 3, 92, 1, 68,254,188, 5, 67,253,236, 9, 1,251, 16, 90,253,228,253,232, 3, 89, 2, 23,253,235, 92, 2, 24, 2, 21, 7, - 0, 8, 0, 28,255,252, 4,181, 5, 53, 0, 8, 0, 17, 0, 26, 0, 35, 0, 44, 0, 53, 0, 62, 0,126, 0, 0, 1, 51, 6, 43, - 1, 38, 61, 1, 52, 37, 51, 6, 43, 1, 38, 61, 1, 52, 37, 51, 6, 43, 1, 38, 61, 1, 52, 23, 51, 6, 43, 1, 38, 61, 1, 52, - 37, 51, 6, 43, 1, 38, 61, 1, 52, 23, 51, 6, 43, 1, 38, 61, 1, 52, 23, 51, 6, 43, 1, 38, 61, 1, 52, 37, 51, 23, 21, 51, - 32, 19, 22, 29, 1, 35, 38, 39, 38, 43, 1, 34, 7, 21, 20, 7, 39, 38, 35, 17, 20, 15, 1, 34, 47, 1, 53, 55, 51, 23, 21, 22, - 59, 1, 50, 63, 1, 17, 34, 7, 6, 35, 39, 53, 55, 35, 38, 39, 35, 34, 15, 1, 35, 53, 54, 55, 54, 51, 53, 1, 31, 2, 21, 64, - 4, 41, 1,163, 1, 20, 65, 4, 40, 1,123, 2, 21, 64, 5, 40,173, 2, 21, 64, 4, 41, 1,123, 3, 21, 65, 4, 41,206, 1, 19, - 65, 5, 40, 64, 2, 21, 65, 4, 40,254, 94, 41, 4, 1, 1, 52,196, 30, 1, 16, 13, 25, 39, 31,105, 79, 5, 23,106, 95, 74, 21, - 64, 26, 1, 4, 30, 4, 7, 44, 7, 38, 14, 4,147, 60, 12, 10, 5, 5, 3, 47,137, 47, 70, 23, 14, 2, 40,134,168,218, 4, 48, -145, 7, 25, 1, 39,249,144, 5, 25, 2, 38,159,145, 6, 25, 2, 38,130,144, 5, 25, 2, 39,220,144, 5, 25, 2, 39, 74,144, 4, - 26, 2, 38,164,145, 6, 25, 1, 40,108, 4, 78,254,210, 53, 9, 5, 9, 29, 15, 62, 33, 9, 1, 41, 38,254, 86, 63, 15, 1, 60, - 17, 16, 4, 4, 7, 63, 36, 25, 1,165, 38, 36, 4, 8, 32, 39, 17, 38, 11, 1, 90,135,139, 78, 0, 9, 0, 78, 0, 6, 4,131, - 5,130, 0, 9, 0, 15, 0, 24, 0, 47, 0, 62, 0, 69, 0,113, 0,119, 0,134, 0, 0, 19, 6, 23, 33, 54, 55, 52, 35, 33, 6, - 19, 22, 23, 33, 54, 63, 1, 6, 7, 54, 55, 54, 39, 52, 35, 39, 6, 7, 51, 50, 21, 20, 7, 6, 7, 6, 7, 51, 50, 55, 54, 55, - 54, 55, 54, 53, 52, 35, 1, 51, 20, 6, 7, 20, 22, 23, 35, 38, 39, 38, 39, 38, 54, 3, 22, 37, 54, 55, 33, 22, 5, 54, 55, 50, - 23, 21, 20, 15, 1, 23, 20, 7, 33, 38, 61, 1, 55, 53, 36, 47, 1, 53, 54, 51, 22, 23, 38, 17, 52, 51, 33, 22, 21, 51, 50, 21, - 20, 7, 6, 7, 6, 43, 1, 39, 1, 22, 23, 33, 54, 55, 3, 6, 7, 6, 7, 35, 62, 1, 53, 52, 38, 53, 51, 30, 1,176, 1, 12, - 3, 42, 8, 2, 21,252,236, 19, 44, 4, 11, 2,199, 10, 6, 51, 6, 41, 61, 34, 22, 2, 23, 40, 1, 1, 38, 41, 48, 31, 57, 22, - 36, 5, 41, 27, 13, 76, 38, 21, 16, 84,254, 6, 6, 69, 1, 96, 3, 6, 13, 77, 23, 7, 2, 80,206,248, 1, 5, 24, 65,253, 91, - 26, 2, 77,178, 72, 13, 4,252, 89, 1, 11,254,142, 12, 3,254,223, 36, 2, 3, 13, 59,151,141, 38, 3, 24, 23, 38,101, 61, 24, - 79, 37, 47, 5, 12,253, 78, 4, 7, 2,255, 8, 3,253, 5, 13, 44, 8, 4, 2, 56, 40, 4, 7, 46, 2,143, 55, 76, 49, 82, 21, - 4,254,224, 24, 17, 21, 20,187,102,126, 1, 72, 56, 83, 16, 81, 27, 30, 44,122, 72, 37, 1, 57, 68, 54, 13, 29, 41,106, 71, 80, - 64, 2,246, 52,128, 82,106,100,166,137, 95, 42, 75,102,115,251, 68, 22, 20, 15,142, 73, 82, 23, 9, 9, 10, 15, 57, 33, 10, 14, - 7, 6, 15, 6, 2, 2, 79, 17, 12, 4, 10, 8, 19,238, 1, 28, 45, 2, 22, 93,145,144, 38, 21, 67, 4, 1, 43, 25, 17, 18, 24, - 1,213, 47, 26, 60, 85,103, 64, 65, 53, 79, 33, 43, 71, 0, 0, 0, 2, 0, 56, 0, 7, 4,153, 5,223, 0, 7, 0, 12, 0, 0, - 9, 1, 19, 7, 33, 39, 19, 9, 1, 3, 33, 3, 1, 2,110, 1,235, 63, 2,251,167, 4, 66, 1,241,254, 90, 57, 3,183, 54,254, - 92, 5,223,254,119,251,180, 3, 6, 4, 76, 1,134,254, 53,252, 95, 3,161, 1, 75, 0, 0, 0, 0, 1, 0, 47, 0, 2, 4,162, - 5,210, 0, 9, 0, 0, 9, 1, 19, 23, 7, 33, 39, 19, 0, 55, 2,108, 1,241, 66, 2, 2,251,149, 4, 68, 1,230, 16, 5,210, -254,119,251,191, 3, 3, 6, 4, 68, 1,128, 6, 0, 1, 0, 38, 0, 7, 4,171, 4,196, 0, 66, 0, 0, 1, 39, 38, 53, 52, 55, - 54, 51, 50, 22, 54, 51, 50, 23, 22, 21, 20, 15, 1, 55, 54, 23, 22, 23, 22, 21, 20, 7, 14, 1, 22, 7, 6, 7, 6, 35, 34, 39, - 38, 47, 1, 18, 7, 35, 54, 3, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 54, 38, 39, 38, 53, 52, 55, 54, 55, 54, 23, 2, 82,165, - 56, 67, 28, 29, 67, 66, 67, 44, 71, 42, 10, 69,152,248,104, 93, 27, 26, 54, 6, 13,101, 59, 22, 8, 25, 44, 48, 25, 27, 81, 58, -157, 31,110, 72,136, 30,157, 59, 80, 27, 25, 48, 43, 26, 9, 21, 59,101, 13, 6, 54, 26, 27, 92,105, 2,126,250, 84, 90, 87, 52, - 18, 88, 88, 92, 34, 31,103, 94,225, 82, 41, 32, 10, 22, 53, 54, 17, 17, 46, 39, 95, 69, 30, 22, 33, 10, 27, 83,226,254,190,241, -241, 1, 66,226, 83, 27, 10, 33, 22, 30, 69, 95, 39, 46, 17, 16, 55, 53, 22, 10, 32, 41, 0, 0, 0, 2, 0, 47, 1,160, 4,162, - 4,116, 0, 57, 0, 62, 0, 0, 1, 22, 23, 20, 7, 6, 7, 22, 23, 51, 23, 7, 35, 6, 7, 34, 39, 52, 51, 22, 55, 50, 55, 38, - 39, 35, 34, 7, 22, 21, 6, 7, 36, 3, 52, 55, 22, 23, 21, 7, 20, 23, 50, 55, 18, 55, 22, 7, 20, 7, 54, 55, 50, 53, 54, 55, - 54, 38, 3, 6, 23, 53, 38, 3,251, 85, 15, 56,134, 15,195, 41, 21, 15, 36, 2, 13,116, 74, 19, 15, 12, 46, 59, 9,199, 5, 3, -100, 51,102, 7,255,254, 44, 34, 51, 39, 6, 10, 86, 68, 10, 40,227,153, 4, 32, 71, 76, 47, 55, 59, 59, 44,103, 11,185, 24, 4, -116, 4, 94, 70, 21, 29, 36, 22,221, 60, 10,142, 7, 76, 68, 38, 1, 63, 62,196, 88, 52, 82,200, 13, 2, 1, 33, 47, 8, 3, 35, - 19, 32, 73, 10, 63, 1,132, 16, 4,137, 32, 80, 63, 16, 31, 68, 33, 41, 77,254,230,118, 62, 2,147, 0, 0, 0, 0, 1, 0, 47, - 1, 14, 4,162, 4,122, 0, 50, 0, 0, 1, 33, 34, 38, 53, 52, 54, 55, 54, 55, 51, 55, 35, 38, 39, 38, 53, 52, 62, 1, 59, 1, - 55, 35, 34, 38, 53, 52, 54, 55, 54, 55, 33, 55, 33, 34, 38, 53, 52, 62, 1, 51, 33, 54, 55, 54, 51, 33, 50, 22, 21, 4,104,253, -244, 33, 46, 21, 19, 14, 14, 41, 3,103, 36, 19, 24, 22, 39, 19,137, 1,196, 51, 48, 23, 19, 15, 17, 1, 1, 2,253,185, 33, 47, - 22, 38, 20, 2,106, 6, 13, 23, 33, 1, 29, 32, 47, 1, 14, 58, 40, 26, 47, 12, 9, 3, 11, 2, 24, 29, 41, 25, 47, 26, 10, 57, - 41, 24, 47, 13, 11, 2, 9, 57, 41, 26, 48, 24, 21, 16, 29, 58, 42, 0, 0, 0, 0, 1, 0, 47, 1, 14, 4,162, 4,122, 0, 50, - 0, 0, 19, 3, 52, 54, 51, 33, 50, 23, 22, 23, 33, 50, 30, 1, 21, 20, 6, 35, 33, 23, 33, 22, 23, 30, 1, 21, 20, 6, 43, 1, - 23, 51, 50, 30, 1, 21, 20, 7, 6, 7, 35, 23, 51, 22, 23, 30, 1, 21, 20, 6, 35,105, 57, 47, 32, 1, 29, 33, 23, 13, 6, 2, -106, 20, 38, 22, 47, 33,253,185, 2, 1, 1, 17, 15, 19, 23, 48, 51,196, 1,137, 19, 39, 22, 24, 19, 36,103, 3, 41, 14, 14, 19, - 21, 46, 33, 1, 14, 3, 8, 42, 58, 29, 16, 21, 24, 48, 26, 41, 57, 9, 2, 11, 13, 47, 24, 41, 57, 10, 26, 47, 25, 41, 29, 24, - 2, 11, 3, 9, 12, 47, 26, 40, 58, 0, 0, 0, 0, 2, 0, 14, 1, 26, 4,195, 4, 33, 0, 33, 0, 67, 0, 0, 1, 19, 52, 38, - 35, 33, 34, 7, 33, 38, 21, 20, 51, 33, 7, 33, 34, 21, 20, 51, 33, 7, 35, 34, 21, 20, 59, 1, 7, 35, 34, 21, 20, 51, 7, 38, - 39, 54, 55, 51, 55, 35, 38, 39, 54, 55, 51, 55, 33, 34, 39, 54, 55, 33, 55, 33, 34, 39, 54, 51, 33, 54, 55, 33, 50, 22, 21, 3, - 4,101, 59, 39, 27,254,225, 43, 19,253,112, 67, 67, 2,111, 10,254,224, 67, 67, 0,255, 7,180, 67, 67,142, 16, 50, 67, 67, 23, - 75, 1, 1, 75, 60, 4,139, 76, 1, 1, 76,185, 2,255, 0, 75, 1, 1, 75, 1, 37, 3,253,147, 74, 1, 1, 74, 2,148, 26, 54, - 1, 48, 34, 50, 61, 1, 50, 2,129, 30, 41, 46, 2, 61, 60, 61, 61, 60, 64, 61, 58, 62, 61, 59, 24, 1, 84, 84, 1, 11, 1, 85, - 83, 1, 15, 85, 84, 1, 12, 85, 84, 56, 1, 51, 36,253, 81, 0, 0, 2, 0,140, 0, 0, 4, 69, 5,202, 0, 33, 0, 68, 0, 0, - 55, 5, 50, 54, 53, 17, 52, 39, 17, 54, 35, 34, 21, 17, 39, 17, 52, 35, 34, 21, 17, 39, 53, 52, 35, 34, 29, 1, 39, 53, 52, 35, - 34, 21, 39, 54, 55, 22, 23, 21, 23, 53, 54, 55, 22, 23, 21, 23, 17, 52, 55, 22, 23, 17, 23, 17, 54, 55, 22, 21, 17, 22, 23, 17, - 20, 6, 35, 37, 19,170, 3, 21, 36, 52, 58, 2, 74, 73, 76, 76, 72, 79, 75, 72, 76, 75, 73, 29, 1,104,103, 1, 14, 1,104,103, - 1, 18,105,103, 1, 15, 1,104,103, 68, 2, 62, 45,252,178, 1,115, 74, 49, 32, 1, 98, 54, 22, 3, 39, 83, 83,253, 2, 13, 1, - 99, 82, 82,254,196, 9,223, 83, 83,174, 18, 63, 83, 83, 28, 92, 1, 1, 92, 75, 4,172, 92, 1, 1, 92,228, 3, 1, 59, 92, 1, - 1, 92,254,150, 4, 2,253, 93, 1, 1, 93,252,212, 33, 65,254,138, 42, 62, 75, 2,155, 0, 0, 0, 2, 0, 14, 1, 26, 4,195, - 4, 33, 0, 33, 0, 68, 0, 0, 19, 33, 50, 53, 52, 43, 1, 39, 51, 50, 53, 52, 43, 1, 39, 33, 50, 53, 52, 35, 33, 39, 33, 50, - 53, 52, 7, 33, 38, 35, 33, 34, 6, 21, 1, 48, 33, 3, 52, 54, 51, 33, 22, 23, 33, 50, 23, 6, 35, 33, 23, 33, 22, 23, 6, 35, - 33, 23, 51, 22, 23, 6, 7, 35, 23, 51, 22, 23, 6,108, 2, 31, 67, 67, 50, 16,142, 67, 67,180, 7, 0,255, 67, 67,254,224, 10, - 2,111, 67, 67,253,112, 19, 43,254,225, 27, 39, 2,113,253,170, 61, 50, 34, 1, 48, 54, 26, 2,148, 74, 1, 1, 74,253,147, 3, - 1, 37, 75, 1, 1, 75,255, 0, 2,185, 76, 1, 1, 76,139, 4, 60, 75, 1, 1, 1, 50, 59, 61, 62, 58, 61, 64, 60, 61, 61, 60, - 61, 2, 46, 41, 30,253,103, 2,175, 36, 51, 1, 56, 84, 85, 12, 1, 84, 85, 15, 1, 83, 85, 1, 11, 1, 84, 84, 0, 2, 0,140, -255,249, 4, 69, 5,194, 0, 33, 0, 67, 0, 0, 19, 20, 51, 50, 61, 1, 55, 21, 20, 51, 50, 61, 1, 55, 17, 20, 51, 50, 53, 17, - 55, 17, 20, 51, 50, 39, 17, 54, 53, 17, 52, 38, 35, 5, 39, 37, 50, 22, 21, 17, 6, 7, 17, 20, 7, 38, 39, 17, 7, 17, 6, 7, - 38, 53, 17, 7, 21, 6, 7, 38, 39, 53, 7, 21, 6, 7, 38, 39,170, 73, 75, 76, 72, 75, 79, 72, 76, 76, 73, 74, 2, 58, 52, 36, -252,235, 30, 3, 78, 45, 62, 2, 68,103,104, 1, 15, 1,103,105, 18, 1,103,104, 1, 14, 1,103,104, 1, 2,179, 83, 83, 61, 20, -174, 83, 83,221, 9,254,198, 83, 83, 1, 98, 13,253, 1, 83, 83, 3, 39, 23, 54, 1, 97, 33, 48, 74, 41, 75, 62, 42,254,138, 66, - 32,252,212, 92, 1, 1, 92, 2,252, 4,254,152, 93, 1, 1, 93, 1, 58, 2,228, 93, 1, 1, 93,171, 4, 74, 93, 1, 1, 93, 0, - 0, 29, 0, 12,255,254, 4,197, 4,191, 0, 79, 0,128, 0,136, 0,144, 0,159, 0,174, 0,181, 0,188, 0,205, 0,211, 0,218, - 0,222, 0,226, 0,230, 0,234, 0,238, 0,242, 0,246, 0,250, 0,254, 1, 2, 1, 17, 1, 29, 1, 33, 1, 37, 1, 41, 1, 45, - 1, 49, 1, 53, 0, 0, 1, 50, 23, 22, 29, 1, 20, 7, 23, 21, 20, 7, 51, 54, 53, 54, 59, 1, 50, 21, 22, 29, 1, 6, 35, 39, - 6, 7, 21, 23, 55, 22, 21, 20, 7, 20, 43, 1, 34, 47, 1, 6, 35, 34, 39, 6, 21, 6, 43, 1, 34, 53, 38, 53, 52, 55, 23, 55, - 53, 39, 7, 34, 39, 53, 52, 55, 54, 59, 1, 50, 31, 1, 53, 39, 55, 38, 53, 54, 55, 54, 1, 20, 23, 51, 53, 38, 53, 54, 59, 1, - 23, 7, 23, 21, 7, 21, 20, 23, 22, 29, 1, 23, 51, 55, 52, 55, 54, 53, 39, 55, 53, 39, 55, 22, 29, 1, 7, 23, 54, 61, 1, 52, - 39, 38, 43, 1, 32, 7, 6, 5, 22, 7, 6, 39, 34, 39, 52, 33, 22, 23, 6, 35, 34, 39, 38, 19, 51, 54, 51, 23, 54, 53, 38, 53, - 38, 35, 6, 7, 6, 21, 37, 6, 35, 6, 21, 23, 55, 22, 23, 53, 52, 39, 38, 53, 38, 5, 23, 21, 7, 38, 53, 52, 55, 22, 21, 20, - 7, 39, 53, 3, 22, 51, 54, 55, 38, 55, 6, 7, 6, 43, 1, 38, 39, 38, 39, 22, 55, 22, 23, 51, 53, 38, 5, 21, 50, 63, 1, 34, - 7, 5, 21, 23, 53, 55, 21, 55, 53, 7, 21, 23, 53, 51, 21, 55, 39, 7, 21, 55, 39, 7, 21, 51, 53, 51, 21, 51, 53, 7, 21, 23, - 53, 23, 21, 51, 53, 7, 21, 51, 53, 5, 39, 7, 21, 22, 21, 22, 51, 50, 55, 54, 55, 38, 53, 6, 37, 7, 22, 21, 20, 23, 50, 63, - 1, 38, 35, 7, 37, 7, 23, 53, 7, 21, 23, 53, 39, 21, 23, 53, 23, 21, 55, 53, 55, 21, 55, 53, 55, 21, 55, 53, 2,117,233,111, - 44, 77, 5, 19, 4,122, 34, 27, 6, 48, 54, 20, 48, 68,189, 47,178, 53, 73, 58, 50, 4, 39, 53,144, 58,131,134, 54,160, 38, 34, - 11, 42, 58, 68, 58,173,231, 83, 52, 6, 54, 3, 30, 25, 36, 46,101, 19, 9, 81, 26,201, 78,254,240, 53, 5, 23, 8, 10, 10, 14, - 10, 25, 15,117, 52, 77, 68, 97,149, 25, 20, 26, 10, 23, 19, 23, 4, 54,170, 98, 85, 29,254,254, 80, 15, 1, 25, 43, 10, 44, 72, - 59, 27, 1, 96,155, 4, 28, 73, 50, 51, 2,181, 4,214, 18, 78, 24, 53, 6, 15, 21, 40,189,253, 13, 13, 10, 40, 35, 73, 48,183, - 77,154, 19, 1,211, 10, 39, 29, 94, 53, 31, 37,204, 35,163,165, 33, 5, 25, 27, 21, 58, 88, 43,145, 9, 6, 34, 22, 7, 15, 19, - 5, 7, 1, 42, 11, 3, 19, 10, 18,254,236, 14,222, 20,227, 19,155, 21, 2, 54, 18, 3, 87, 24, 15, 19,125, 19, 87, 19, 58, 24, -254,117, 87, 5, 52, 5, 10, 15, 53,118, 26, 14,142, 2, 84, 13,173, 38, 16, 9, 47, 4, 24, 72,254, 51, 3, 23, 19, 19, 86, 19, -156, 20, 12, 19, 15, 20, 4,190,156, 88, 68, 57, 92, 83, 76, 5, 43, 38, 51, 49, 46,100, 43, 28, 19, 37, 6, 88, 33, 15, 81, 10, - 14, 36, 31, 50, 96, 96, 75, 80, 80, 80, 20, 71, 91, 54, 37, 35, 10, 10, 81, 15,121, 6, 45, 11, 22, 54, 91, 91, 51, 5, 71, 75, - 91,175,187, 79, 23,254,194, 96, 95, 65, 91, 45, 41, 15, 36,116, 55,136, 10, 76, 25, 45, 36, 20, 10, 21, 76, 54, 29, 61,152,127, - 15, 34, 17, 9, 28, 40,141, 20, 67, 74, 35,171, 82, 34,196, 48,169, 13, 58,130, 4,126, 71, 8, 66,123,126, 69,254,111,106, 4, - 6, 8, 60, 30, 52, 8, 83, 91, 16,191, 90, 30, 21, 8, 4, 15, 97, 11, 76, 21, 67, 53, 29, 11, 5,129, 41, 10, 46, 85, 37, 43, - 90, 38, 7, 41,131,254,205,162, 12,155, 55,101, 31,141, 60, 18, 73, 76, 65, 97, 77, 30,111, 75, 51, 51, 75, 64, 71, 54, 11, 36, - 4, 36, 4, 40, 8, 38, 12, 40, 4, 39, 39, 6, 38, 5, 49, 2, 47, 4, 45, 45, 45, 45, 50, 41, 4, 40, 11, 40, 45, 5, 40, 40, -100, 4, 4, 16, 46, 39, 45, 84, 63, 24, 30, 24, 79, 75, 56, 84, 36, 12, 33, 84, 51, 15, 4,166, 40, 5, 45, 60, 40, 5, 40, 26, - 39, 6, 41, 20, 41, 5, 41, 3, 40, 4, 41, 8, 41, 6, 40, 0, 0, 1, 0, 9,255,251, 4,200, 5,211, 0, 38, 0, 0, 1, 50, - 23, 22, 21, 20, 7, 1, 7, 20, 23, 37, 50, 23, 21, 20, 35, 5, 34, 39, 38, 61, 1, 52, 55, 0, 55, 54, 53, 52, 39, 35, 5, 34, - 39, 53, 52, 55, 51, 2,244,116, 92, 42,101,253,232, 9, 79, 2,201, 64, 7, 85,253, 67,131, 88, 22,113, 1,249, 16, 9, 80, 9, -253, 83, 46, 9, 80, 11, 5,211,141, 77, 79,138, 98,253,160, 62, 89, 26,209, 97, 3, 89,198,174, 53, 56, 24,138,108, 2, 55, 27, - 27, 22, 80, 32,204, 80, 30, 64, 12, 0, 0, 0, 0, 6, 0, 8, 0, 2, 4,201, 4,195, 0, 17, 0, 36, 0, 48, 0, 60, 0, 70, - 0, 88, 0, 0, 1, 32, 19, 22, 21, 16, 5, 6, 43, 1, 32, 3, 38, 61, 1, 16, 37, 54, 5, 38, 35, 34, 7, 6, 21, 16, 23, 22, - 51, 32, 19, 54, 61, 1, 16, 37, 38, 3, 35, 34, 39, 19, 22, 59, 1, 50, 55, 19, 6, 3, 6, 29, 1, 33, 53, 52, 55, 54, 55, 19, - 6, 37, 22, 23, 33, 38, 39, 38, 39, 19, 22, 5, 50, 23, 22, 21, 20, 7, 6, 43, 1, 34, 39, 38, 61, 1, 52, 55, 54, 2, 94, 1, - 55,215, 92,254,255,158,172, 26,254,203,213, 80, 1, 18,151, 1,184,135,135,244,191,103,227,145,181, 1, 21,190, 72,254,236, 4, -244, 22,137,114,169, 39, 46, 6, 41, 37,173,115,234, 77,254,167,233, 14, 16,170, 5, 2, 13, 77, 2,254,166, 1, 25, 27, 35,170, -102,254,155, 67, 45, 20, 55, 33, 37, 6, 65, 46, 17, 59, 32, 4,194,254,211,142,174,254,239,206,119, 1, 58,142,144, 23, 1, 19, -210,107,139, 75,240,143,158,254,255,183,113, 1, 26,122,134, 13, 1, 24,182, 3,252, 43, 72, 1, 42, 25, 24,254,214, 71, 2,144, - 59, 77, 4, 13,234,178, 10, 10,254,214, 3,116,117,143, 47, 38, 40, 21, 1, 40, 65,247, 65, 30, 38, 58, 43, 26, 67, 30, 31, 4, - 59, 46, 23, 0, 0, 6, 0, 34, 0, 7, 4,175, 4, 47, 0, 9, 0, 19, 0, 29, 0, 56, 0, 80, 0,105, 0, 0, 1, 62, 1, 39, - 54, 55, 22, 6, 7, 38, 3, 38, 6, 7, 38, 39, 54, 22, 23, 6, 5, 20, 22, 23, 6, 7, 46, 1, 55, 22, 1, 6, 35, 34, 39, 38, - 39, 7, 6, 7, 6, 35, 34, 39, 22, 54, 55, 54, 39, 55, 22, 55, 23, 6, 23, 30, 1, 3, 22, 23, 22, 7, 51, 22, 23, 22, 29, 1, - 46, 1, 35, 6, 7, 39, 54, 39, 53, 54, 55, 54, 38, 1, 38, 53, 52, 55, 54, 23, 39, 38, 39, 54, 55, 14, 1, 23, 22, 31, 1, 6, - 23, 7, 38, 7, 38, 6, 2,220, 48, 55, 5, 26, 26, 9, 94, 60, 12, 5, 49,120, 44, 23, 15, 66,177, 53, 18,254,177, 64, 50, 2, - 11, 74, 86, 8, 30, 2,171, 77,118, 33, 35,117, 65, 1, 43, 85, 66, 68, 88, 91,102,185, 42, 59, 45, 49, 48, 41, 46, 46, 67, 44, -157,183,115, 66, 35, 72, 2, 75, 85,139, 9,149, 80,130, 93, 49, 5, 50,129, 60, 48, 27,252,209, 3, 86, 81,137, 1, 31, 2, 12, -196,125, 37, 39, 72,136, 1, 54, 8, 45, 84,125, 94,128, 1, 36, 29,107, 55, 10, 4, 82,151, 26, 27, 1,135, 27, 5, 31, 16, 20, - 50, 7, 39, 23,198, 55,102, 23, 27, 24, 33,157, 65, 4,254, 92, 59, 5, 25,121, 1, 63, 49, 33, 53, 48, 66, 69,116,132, 30, 34, - 33, 28,122,107, 81, 59, 4, 15, 48,154,113,117, 7, 48, 92,183, 7,111,130, 7,105, 29, 58, 19, 53, 22,111, 80,165,253, 90, 17, - 17,106,115, 88, 4, 1, 70, 97,192, 80, 74,194, 71,108, 27, 59, 24, 52, 26,101, 4, 1,106, 0, 0, 23, 0, 78,255,255, 4,131, - 5, 94, 0, 3, 0, 19, 0, 25, 0, 29, 0, 49, 0, 70, 0, 91, 0,113, 0,139, 0,149, 0,154, 0,159, 0,164, 0,169, 0,174, - 0,179, 0,184, 0,189, 0,194, 0,199, 0,204, 0,209, 0,252, 0, 0, 1, 6, 55, 38, 23, 38, 7, 6, 39, 55, 39, 54, 23, 22, - 23, 6, 7, 38, 39, 36, 1, 6, 7, 35, 38, 55, 3, 22, 39, 38, 19, 21, 6, 35, 34, 39, 53, 38, 55, 54, 55, 22, 23, 6, 7, 6, - 4, 7, 35, 38, 39, 21, 39, 53, 36, 39, 54, 55, 22, 23, 6, 7, 6, 4, 23, 22, 7, 39, 54, 39, 54, 3, 21, 39, 53, 36, 39, 54, - 55, 22, 23, 6, 23, 6, 4, 23, 6, 7, 39, 54, 53, 54, 7, 38, 39, 54, 55, 22, 23, 6, 21, 20, 4, 23, 6, 7, 38, 39, 54, 39, - 38, 39, 21, 39, 19, 21, 39, 53, 36, 55, 54, 55, 54, 23, 7, 23, 6, 39, 38, 7, 6, 4, 23, 6, 7, 38, 39, 54, 39, 54, 1, 20, - 30, 1, 51, 38, 55, 34, 14, 1, 5, 22, 23, 55, 38, 39, 22, 23, 55, 38, 39, 22, 23, 55, 38, 39, 22, 7, 55, 38, 39, 22, 7, 23, - 54, 39, 6, 7, 23, 54, 37, 23, 54, 55, 6, 7, 23, 54, 55, 6, 7, 23, 54, 55, 6, 31, 1, 38, 55, 6, 23, 55, 38, 55, 6, 23, - 55, 38, 39, 6, 23, 21, 39, 53, 38, 7, 34, 39, 54, 37, 22, 23, 22, 51, 53, 38, 39, 46, 1, 53, 52, 62, 1, 50, 30, 1, 21, 20, - 6, 7, 6, 7, 51, 20, 35, 21, 54, 55, 4, 23, 6, 35, 38, 3, 5, 16, 56, 9,112, 10, 43, 87, 68, 84, 99, 39, 72,188, 12, 2, -130, 64,145, 1, 1,254,162, 88, 28, 14, 1, 79, 96, 61, 19, 32,220, 10, 24, 31, 3,161, 1, 4, 59, 42, 41, 56, 1, 2, 1, 32, - 2, 14, 24,107, 68,254,255, 4, 2,118, 47, 80,157, 3, 5, 1,146, 5, 4,107, 45, 74, 12, 1, 75, 68,254,176, 2, 4,104, 71, - 97,202, 13, 9, 2, 68, 1, 4,138, 96,150, 2,235,247, 5, 1,103, 66, 68,150, 1,234, 3, 4,160, 30, 54,166, 5, 2,172, 68, - 68, 68,254,159, 1, 12,188, 61, 51,100, 84, 68, 87, 44, 9, 3, 2,155, 6, 6,160, 58,103,242, 1, 11,254,149, 17, 30, 17, 28, - 28, 16, 31, 17, 1,151,106, 41, 25, 89,138,105, 35, 39, 87,116, 73, 16, 45, 57,119, 49, 1, 56, 36, 94, 2, 23, 56, 2, 59, 46, - 47, 55, 45,253, 73, 25, 41,106, 83, 41, 39, 35,105, 92, 18, 45, 16, 73, 77, 15, 57, 2, 49, 68, 59, 56, 23, 2, 37, 97, 55, 47, - 46, 7,216, 68, 61,117,246, 82, 78, 1, 66, 22, 82, 1, 1, 2, 2, 19, 21, 21, 38, 39, 37, 22, 21, 18, 3, 3, 1, 1, 81, 22, - 1, 66, 78, 82,246,113, 3,207, 32, 22, 18,100, 50, 10, 31, 14, 21, 23, 68, 13, 3,115, 57, 30, 16, 8, 18,253, 16, 31, 56, 67, - 32, 3, 91, 24, 34, 8,252,124, 52, 24, 52, 38, 27, 51, 44, 22, 12, 5, 20, 17, 39, 50, 94, 51,159, 82, 12, 84, 40, 66, 63, 29, - 18, 8, 23, 35, 39, 57, 67, 45, 13, 11, 18, 33, 21, 1,121,129, 12,126, 35, 90, 49, 20, 19, 6, 15, 29, 48, 62, 78, 63, 30, 25, - 36, 23, 37,151, 30, 89, 52, 28, 11, 7, 30, 41, 37, 70, 78, 63, 19, 13, 10, 29, 40, 28, 27,123, 11, 1,219,117, 8,115, 19,105, -115, 4, 3, 60, 22, 21, 14, 32, 10, 51, 40, 38, 94, 84, 18, 15, 14, 25, 48, 29, 2, 53, 17, 29, 16, 60, 62, 15, 30, 55, 59, 44, - 35, 52, 20, 91, 58, 31, 79, 40,118, 65, 17,102, 71,135, 69, 7,116, 89,143, 66, 10,122, 94,126, 52, 23,106, 10, 35, 44, 59, 16, - 98, 31, 58, 91, 39,126, 17, 65,118, 64,126, 7, 69,135, 81,130, 10, 66,143, 97,107, 23, 52,126, 95,170,190, 6,178, 72, 35,152, - 84, 6, 50, 27, 1, 22, 1, 1, 10, 36, 20, 19, 36, 20, 20, 36, 19, 20, 36, 10, 1, 1, 1, 20, 27, 50, 6, 84,152, 34, 0, 0, - 0, 2, 0, 96,255,255, 4,113, 5,216, 0, 7, 0, 36, 0, 0, 1, 38, 39, 6, 7, 22, 23, 54, 7, 38, 39, 54, 55, 22, 23, 22, - 7, 51, 50, 55, 17, 38, 7, 35, 17, 20, 23, 33, 54, 53, 17, 35, 38, 7, 17, 22, 51, 2,214, 2,106,106, 1, 7,100,110,175,104, - 10, 2,177,177, 3, 4,119,143,158,152,150,160,143, 87,254,209, 86,147,159,150,152,158, 4,221,177, 2, 2,177,142,113, 90,114, -101,184,243, 2, 2,243,194, 91, 99,254,247, 55, 1,254, 12,181,174,174,181, 1,244, 1, 55, 1, 9, 99, 0, 0, 0, 3, 0,121, -255,254, 4, 88, 5,218, 0, 3, 0, 32, 0, 44, 0, 0, 1, 21, 51, 53, 39, 53, 51, 21, 51, 21, 35, 21, 51, 5, 21, 33, 17, 23, - 21, 39, 3, 35, 3, 39, 53, 23, 17, 33, 53, 33, 53, 35, 53, 19, 51, 17, 33, 53, 33, 53, 35, 21, 33, 21, 33, 1,252,202,182,170, -126,126, 10, 1,148,254, 98,144,136, 2,176, 2,134,134,254,108, 1,150,118,164, 70, 1, 12,254,244, 70,254,244, 1, 12, 5, 65, - 60, 60, 51,102,102,162, 88, 1,175,253,232,139,156,133,254,238, 1,188,134,155,130, 1,113,176, 88,162,252,207, 1,187, 71, 99, - 99, 71, 0, 0, 0, 2, 0, 97, 0, 7, 4,112, 6, 2, 0, 7, 0, 32, 0, 0, 1, 17, 51, 50, 54, 52, 38, 35, 1, 17, 33, 50, - 22, 21, 20, 6, 43, 1, 21, 55, 51, 9, 1, 35, 39, 21, 35, 53, 7, 35, 9, 1, 51, 2,109,171, 96,104,104, 96,254,206, 1, 50, -169,174,174,169,171,179,180,254,177, 1, 96,179,196,136,209,179, 1,104,254,182,181, 5,124,254, 59,118,217,118,252,188, 3,202, -183,177,178,182,252,194,254,147,254,125,214,214,228,228, 1,138, 1,102, 0, 0, 0, 1, 0,204,255,251, 4, 5, 5,205, 0, 31, - 0, 0, 1, 51, 23, 21, 51, 23, 21, 7, 35, 21, 33, 23, 21, 7, 33, 17, 7, 35, 39, 17, 33, 39, 53, 55, 33, 53, 35, 39, 53, 55, - 51, 53, 2, 12,182, 6,175, 6, 6,175, 1, 54, 7, 7,254,202, 6,182, 6,254,204, 6, 6, 1, 52,174, 5, 5,174, 5,205, 5, -154, 6,148, 6,112, 6,152, 5,252,134, 5, 5, 3,122, 5,152, 6,112, 6,148, 6,154, 0, 0, 0, 1, 0, 55, 0, 1, 4,154, - 4,100, 0, 43, 0, 0, 1, 33, 23, 21, 7, 35, 17, 33, 53, 55, 51, 23, 17, 7, 35, 39, 53, 33, 17, 51, 23, 21, 7, 33, 39, 53, - 55, 51, 17, 33, 21, 7, 35, 39, 17, 55, 51, 23, 21, 33, 17, 35, 39, 53, 1,196, 1, 73, 4, 4,120, 1,172, 5, 79, 5, 5, 79, - 5,254, 84,120, 4, 4,254,183, 4, 4,128,254, 83, 5, 86, 4, 4, 86, 5, 1,173,128, 4, 4,100, 5, 89, 4,254, 92,121, 5, - 5,254,183, 5, 5,118,254, 86, 4, 80, 4, 4, 80, 4, 1,170,118, 5, 5, 1, 73, 5, 5,121, 1,164, 4, 89, 0, 2, 0, 30, - 0, 3, 4,179, 5, 39, 0, 27, 0, 44, 0, 0, 1, 51, 50, 23, 35, 39, 32, 3, 6, 21, 16, 5, 22, 51, 55, 21, 6, 7, 6, 43, - 1, 32, 3, 38, 53, 16, 37, 54, 1, 51, 50, 23, 51, 21, 7, 22, 21, 39, 7, 35, 53, 55, 39, 53, 51, 2,109, 16,175,166, 4,189, -254,240,165, 74, 1, 14,108,123,203,126,109, 64, 43, 22,254,221,188,104, 1, 52,136, 1,250, 2, 5, 49,165,133, 52,140,134, 2, - 52,136,168, 5, 39,129, 48,254,239,138,163,254,190,188, 62, 44, 5, 95, 22, 10, 1, 23,169,205, 1,118,210, 78,254,107,177, 3, -110,165, 15,109,109, 3,177,110, 3, 0, 0, 0, 0, 4, 0, 8, 0, 0, 4,201, 4,193, 0, 22, 0, 79, 0, 98, 0,115, 0, 0, - 1, 22, 51, 50, 55, 22, 51, 50, 55, 53, 51, 23, 21, 20, 15, 1, 34, 39, 6, 35, 34, 39, 52, 23, 51, 22, 23, 50, 21, 3, 51, 54, - 17, 52, 39, 53, 22, 29, 1, 20, 7, 6, 7, 21, 22, 59, 1, 21, 6, 43, 1, 34, 7, 39, 35, 34, 39, 53, 51, 50, 55, 53, 39, 38, - 39, 38, 53, 52, 63, 1, 21, 6, 21, 16, 23, 53, 3, 53, 55, 50, 39, 21, 6, 7, 6, 21, 20, 23, 21, 35, 38, 39, 38, 53, 52, 55, - 54, 51, 52, 37, 22, 23, 22, 29, 1, 20, 7, 6, 7, 52, 55, 54, 61, 1, 16, 39, 1,220, 22, 52, 38, 26, 31, 35, 54, 17, 4, 2, - 56, 25, 36, 28, 27, 36, 66, 13,144, 2, 41, 27, 7, 8, 1,238, 90,181,182, 62, 38, 65,134, 21, 95, 59,105, 17, 56, 56,117, 45, -111, 49, 98, 70, 71,102, 29, 81,162, 27, 95,239, 15, 3, 28,208, 77, 53,109,119, 2,128, 76, 31,218, 98, 29, 2, 4,107,106,143, -135, 73, 25, 44, 75,242, 4,192, 61, 39, 39, 56, 5, 32, 4, 48, 22, 3, 35, 35, 82, 27,109, 52, 9, 4,252,218,185, 1, 43,158, -168, 2,175,225, 29,220,180, 53, 18, 4, 33, 4, 27, 80, 80, 23, 4, 34, 3, 52, 92, 61,143,144,209,187, 25, 4,156,184,254,232, -199, 2, 2,142, 18,138, 34, 5, 56, 81,165,195,189,174, 1, 60,189, 87, 84,218,166, 57, 3, 2, 25, 91,148,176, 38,172,148, 66, - 5, 6, 67,142,155, 2, 1, 40,198, 0, 0, 0, 0, 3, 0,103,255,249, 4,106, 5, 91, 0, 84, 0, 95, 0,103, 0, 0, 1, 50, - 23, 15, 1, 22, 23, 22, 21, 20, 7, 21, 35, 21, 50, 55, 54, 53, 52, 39, 55, 51, 22, 21, 16, 3, 38, 35, 34, 21, 20, 23, 22, 7, - 6, 35, 6, 39, 38, 39, 21, 6, 23, 20, 35, 34, 53, 54, 61, 1, 6, 21, 6, 39, 34, 39, 52, 54, 39, 52, 35, 34, 7, 2, 17, 52, - 55, 51, 23, 6, 21, 20, 23, 22, 23, 53, 35, 53, 38, 53, 52, 55, 47, 1, 54, 3, 20, 23, 51, 54, 53, 52, 39, 6, 7, 6, 37, 6, - 21, 20, 23, 54, 53, 52, 2,105, 61, 75, 17, 14,117, 47, 51,188,110,111,131,124,115, 20, 4,215,137,110, 73, 51,110, 30, 2, 12, - 39, 59, 6, 54, 87, 4, 78, 96,102, 73,141, 7, 58, 37, 13,141, 3, 43, 75,107,141,209, 5, 19,115,197, 58,111,109,188,219, 22, - 15, 80,189,124, 4, 64, 26, 82, 47, 37, 1, 83, 32, 60,133, 5, 91, 69, 14,114, 42, 74, 75, 78,183, 90, 69,110,118,145,182,162, -105, 17,152,237,254,247,254,226,160, 41, 26,135, 37, 42, 54, 8, 38,219, 45,138, 67,108, 54, 55,106, 71,135, 86,176, 34, 2, 54, - 59,155, 30, 37,159, 1, 10, 1, 50,214,153, 17,112,160,231,150, 43, 16,110, 69, 85,187,175, 95,114, 17, 66,254, 40,134, 69, 97, -128, 76,116, 23, 68, 58,149,106, 91,126, 94, 57,154,140, 0, 0, 0, 1, 0, 15, 0, 5, 4,194, 5, 34, 0, 50, 0, 0, 1, 50, - 23, 22, 21, 20, 7, 23, 7, 35, 39, 6, 35, 34, 39, 21, 3, 35, 38, 39, 54, 1, 54, 51, 22, 51, 50, 55, 39, 7, 35, 38, 39, 55, - 22, 21, 7, 22, 23, 53, 54, 61, 1, 52, 39, 38, 43, 1, 34, 7, 54, 2,171,190,169,120,100,156,113, 2,149,133,175,137,115,209, - 2,165, 3, 21, 1, 22, 19, 6, 91,127,154,121,174, 87, 5,151, 7,188,227,101,185, 23, 54,202,111, 96, 29, 79, 97,137, 5, 33, -165,136,188,176,121,129,115,149, 96, 77, 3,254,107,123, 6, 22, 1,101, 26, 75, 91,174,101,102, 10,226, 12, 5,139,153, 12, 1, - 79,109, 31,222, 89, 60, 48,125, 0, 5, 0, 27, 0, 5, 4,182, 4,160, 0, 11, 0, 18, 0, 22, 0, 26, 0, 33, 0, 0, 19, 52, - 0, 51, 50, 0, 21, 20, 0, 35, 34, 0, 55, 20, 23, 1, 3, 6, 0, 19, 22, 23, 27, 1, 54, 55, 9, 1, 54, 53, 52, 0, 39, 17, - 27, 1, 89,244,245, 1, 89,254,167,245,244,254,167,120, 95, 1, 80, 2,154,254,237,136,139,151, 2, 75,161,134,254,217, 1, 92, - 89,254,236,166, 2, 81,245, 1, 90,254,166,245,244,254,169, 1, 87,244,180, 95, 1,139, 1, 98, 3,254,237,253,241,140, 4, 1, -229,254, 25, 6,129, 1, 89,254,228, 88,193,196, 1, 19, 3,254,161, 0, 0, 0, 0, 4, 0, 14, 0, 5, 4,195, 4,186, 0, 18, - 0, 30, 0, 40, 0, 52, 0, 0, 1, 21, 30, 1, 51, 50, 54, 53, 52, 0, 35, 34, 0, 7, 62, 1, 51, 50, 22, 5, 20, 6, 35, 34, - 38, 53, 52, 54, 51, 50, 22, 5, 52, 38, 34, 6, 21, 20, 22, 50, 54, 37, 20, 0, 35, 34, 0, 53, 52, 0, 51, 50, 0, 2,105, 8, -158,116,118,161,254,179,228,234,254,199, 16, 19,143,120,115,159, 1,113, 49, 31, 34, 48, 48, 34, 32, 48,253,205, 47, 66, 47, 47, - 66, 47, 3, 35,254,160,250,250,254,159, 1, 97,250,250, 1, 96, 2,105, 21,114,155,166,124,224, 1, 72,254,199,250,138,144,155, -127, 33, 47, 47, 33, 34, 48, 48, 34, 34, 48, 48, 34, 33, 47, 48, 32,250,254,161, 1, 95,250,250, 1, 98,254,158, 0, 10, 0, 5, - 0,146, 4,204, 5, 57, 0, 14, 0, 62, 0, 68, 0, 74, 0, 80, 0, 86, 0, 92, 0, 98, 0,104, 0,110, 0, 0, 1, 20, 23, 22, - 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 5, 38, 55, 51, 54, 55, 39, 54, 55, 23, 54, 55, 53, 54, 23, 21, 22, 23, 55, 22, 23, - 7, 22, 23, 51, 22, 7, 35, 6, 7, 23, 6, 7, 39, 6, 7, 21, 6, 39, 53, 38, 39, 7, 38, 39, 55, 38, 39, 37, 54, 55, 39, 6, - 7, 5, 22, 23, 55, 38, 39, 1, 54, 55, 39, 6, 7, 37, 22, 23, 55, 38, 39, 1, 38, 39, 7, 22, 23, 37, 6, 7, 23, 54, 55, 5, - 6, 7, 23, 54, 55, 37, 38, 39, 7, 22, 23, 1,234, 38, 36,104, 37, 36, 37, 37, 51, 52, 36, 38,254, 49, 43, 43, 88, 21, 83, 65, - 11, 78, 64, 96,152, 61, 61,142,107, 62, 80, 13, 67, 82, 22, 88, 43, 43, 88, 15, 89, 67, 13, 80, 62,107,142, 61, 61,141,108, 63, - 76, 13, 63, 81, 21, 1,139, 26, 28, 9,111, 76, 1, 43, 32, 23,143, 78,110,254,249, 7, 17,159, 59, 18, 2, 80, 19, 5,214, 15, - 63,253,252, 16, 8,212, 17, 59, 2, 28, 6, 18,160, 64, 13,254,203, 26, 29, 10,110, 77,254,211, 22, 31,143, 78,110, 2,228, 51, - 37, 37, 37, 37, 51, 52, 37, 38, 38, 37,115, 61, 61,143, 96, 63, 74, 12, 62, 80, 23, 87, 44, 44, 87, 17, 87, 63, 11, 75, 63, 95, -144, 61, 61,137,102, 63, 72, 8, 63, 80, 23, 87, 44, 44, 87, 18, 85, 63, 8, 72, 63, 94,145,234, 15, 8,210, 17, 60,133, 8, 15, -155, 61, 16,254,161, 29, 21,133, 75,101, 43, 24, 26, 8, 99, 76,254,171, 24, 32, 13,109, 67,190, 29, 27,134, 80, 96,107, 14, 8, -213, 24, 60,129, 7, 15,151, 60, 24, 0, 0, 0, 0, 5, 0, 33, 0,164, 4,176, 5, 52, 0, 15, 0, 30, 0, 40, 0, 48, 0, 56, - 0, 0, 19, 52, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 55, 20, 23, 22, 51, 50, 55, 54, 53, 52, 0, 35, 34, 7, - 6, 1, 38, 7, 35, 18, 37, 4, 19, 35, 38, 55, 38, 39, 54, 55, 22, 23, 6, 5, 38, 39, 54, 55, 22, 23, 6, 33,171,171,241,243, -171,170,170,171,243,241,171,171,118,137,136,192,193,137,137,254,238,193,192,136,137, 1,211,164, 61, 54, 15, 1, 12, 1, 4, 15, - 53, 78, 39, 86, 3, 4, 91, 83, 4, 4,254, 46, 85, 4, 5, 91, 82, 5, 5, 2,234,243,171,172,172,171,243,241,171,170,170,171, -241,191,137,138,138,137,191,195, 1, 16,136,136,254,222, 10,204, 1, 16, 14, 18,254,245,202,175, 4, 88, 91, 5, 7, 86, 91, 4, - 4, 88, 91, 5, 7, 86, 91, 0, 0, 5, 0, 33, 0,164, 4,176, 5, 52, 0, 15, 0, 30, 0, 40, 0, 48, 0, 56, 0, 0, 19, 52, - 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 55, 20, 23, 22, 51, 50, 55, 54, 53, 52, 0, 35, 34, 7, 6, 1, 22, 55, - 51, 2, 5, 36, 3, 51, 22, 1, 38, 39, 54, 55, 22, 23, 6, 5, 38, 39, 54, 55, 22, 23, 6, 33,171,171,241,243,171,170,170,171, -243,241,171,171,118,137,136,192,193,137,137,254,238,193,192,136,137, 1,209,166, 61, 54, 15,254,243,254,253, 15, 51, 81, 1, 78, - 86, 3, 4, 91, 83, 4, 4,254, 46, 85, 4, 5, 91, 82, 5, 5, 2,234,243,171,172,172,171,243,241,171,170,170,171,241,191,137, -138,138,137,191,195, 1, 16,136,136,254,119, 9,204,254,240, 14, 19, 1, 10,202, 1, 39, 4, 88, 91, 5, 7, 86, 91, 4, 4, 88, - 91, 5, 7, 86, 91, 0, 0, 0, 0, 4, 0, 33, 0,164, 4,176, 5, 52, 0, 15, 0, 25, 0, 33, 0, 41, 0, 0, 19, 52, 55, 54, - 51, 50, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 37, 35, 18, 5, 36, 19, 39, 6, 39, 6, 1, 38, 39, 6, 7, 22, 23, 54, 37, 38, - 39, 6, 7, 22, 23, 54, 33,171,171,241,243,171,170,170,171,243,241,171,171, 1, 52, 62, 18, 1, 59, 1, 68, 18, 64, 75,199,178, - 2, 6, 6, 99,110, 6, 5,103,107,254, 63, 5,100,110, 5, 4,104,107, 2,234,243,171,172,172,171,243,241,171,170,170,171,237, -254,189, 22, 17, 1, 73, 2,248, 11, 10, 1,214,107, 8, 6,112,105, 7, 7,110,105, 8, 6,112,105, 7, 7, 0, 0, 10, 0, 33, - 0,164, 4,176, 5, 52, 0, 7, 0, 12, 0, 19, 0, 34, 0, 42, 0, 50, 0, 58, 0, 65, 0, 73, 0, 88, 0, 0, 1, 51, 23, 17, - 7, 35, 39, 17, 5, 23, 21, 7, 39, 37, 23, 7, 35, 38, 39, 53, 5, 50, 31, 1, 20, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 5, - 33, 23, 21, 7, 33, 39, 53, 37, 33, 23, 21, 7, 33, 39, 53, 7, 51, 22, 23, 21, 7, 39, 53, 37, 51, 23, 21, 7, 39, 53, 37, 51, - 23, 17, 7, 35, 39, 17, 3, 6, 21, 20, 23, 22, 51, 50, 55, 54, 53, 39, 38, 35, 34, 2, 77, 61, 5, 5, 61, 4, 1,188, 44,194, - 47,253,165,197, 48, 3,156, 35, 1,182,168, 72, 10,153, 56, 38,141, 79, 29,148, 54,253,227, 1, 9, 5, 5,254,247, 4, 3,124, - 1, 14, 5, 5,254,242, 5, 55, 2,105, 89, 48,194,254, 54, 2, 46,193, 47, 1,164, 61, 5, 5, 61, 4, 29,101, 19, 54, 97, 25, - 38,105, 7, 49,114, 31, 5, 52, 5,254,238, 5, 5, 1, 18,122, 48, 2,199, 49,185,198, 50,156, 43, 3,142,176, 75,147, 78, 19, -131, 50, 72,140, 81, 21,214, 5, 62, 5, 5, 62, 5, 5, 62, 5, 5, 62,219,102, 94, 2, 50,198, 3, 34, 47, 3,198, 49, 3, 93, - 5,254,238, 5, 5, 1, 18, 1,211, 56, 96, 49, 34, 89, 13, 52,102, 50,121, 0, 0, 2, 0,156, 0, 5, 4, 53, 5,198, 0, 23, - 0, 43, 0, 0, 1, 32, 1, 22, 21, 16, 5, 6, 43, 1, 34, 39, 53, 36, 55, 54, 17, 16, 37, 38, 39, 53, 52, 55, 23, 21, 4, 17, - 16, 5, 7, 21, 51, 50, 55, 54, 55, 54, 61, 1, 16, 1, 38, 35, 1, 59, 1,133, 1, 12,104,254,122,176,173, 48, 47, 79, 1, 16, -123,153,254,183,134, 91,146, 40, 1,194,254,180, 42, 6, 84,156,229, 81, 28,254,171,161,155, 5,197,254,141,170,195,254,126,253, - 96, 14, 6, 78,174,199, 1, 8, 1,138,220, 79, 16, 3, 10, 14, 61, 3,194,254, 28,254,116,228, 24, 4, 82,150,240, 91, 92, 9, - 1, 56, 1, 1,100, 0, 0, 0, 0, 2, 0,149, 0, 7, 4, 60, 5,223, 0, 23, 0, 43, 0, 0, 37, 32, 1, 38, 53, 16, 1, 54, - 59, 1, 50, 23, 21, 4, 7, 6, 17, 16, 5, 22, 23, 21, 20, 7, 39, 53, 36, 17, 16, 37, 55, 53, 35, 34, 7, 6, 7, 6, 29, 1, - 16, 1, 22, 51, 3,154,254,118,254,238,104, 1,140,178,178, 48, 46, 80,254,236,126,154, 1, 78,136, 94,150, 40,254, 56, 1, 80, - 44, 6, 86,160,232, 82, 28, 1, 90,164,158, 7, 1,121,173,198, 1,136, 1, 1, 99, 15, 7, 79,177,203,254,245,254,112,225, 79, - 16, 4, 10, 14, 62, 3,197, 1,237, 1,145,232, 24, 3, 83,150,245, 92, 94, 9,254,194,254,252,102, 0, 0, 0, 0, 2, 0,189, -255, 96, 4, 20, 5,171, 0, 49, 0, 66, 0, 0, 1, 22, 23, 22, 21, 20, 7, 6, 7, 21, 55, 21, 7, 23, 35, 53, 35, 53, 51, 39, - 38, 39, 38, 53, 52, 55, 54, 55, 38, 39, 38, 61, 1, 51, 21, 20, 23, 22, 23, 51, 54, 55, 54, 61, 1, 51, 21, 20, 7, 6, 7, 35, - 6, 7, 6, 21, 20, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 3, 79, 38, 34,125,124,102,135,204,208, 1,122,191,191, 2,139,103, -125,125, 34, 38, 38, 34,125,134, 85, 81,110, 36,109, 81, 85,134,125, 34,250, 36,110, 81, 85, 86, 86,123,120, 86, 86, 85, 81, 4, - 60, 25, 34,123,179,177,117, 94, 14,197, 2, 94, 1,191,192, 92,197, 13, 95,117,177,179,123, 34, 25, 23, 35,124,177, 8, 10,122, - 85, 79, 6, 6, 79, 85,122, 10, 8,177,124, 35, 89, 6, 79, 84,123,122, 81, 80, 80, 81,122,123, 84, 79, 0, 0, 0, 2, 0,145, -255,155, 4, 64, 5, 62, 0, 14, 0, 41, 0, 0, 1, 52, 39, 38, 35, 34, 7, 6, 21, 20, 22, 51, 50, 55, 54, 5, 38, 53, 52, 55, - 54, 51, 50, 23, 22, 21, 20, 7, 6, 7, 21, 55, 21, 7, 23, 35, 39, 35, 53, 51, 39, 38, 3,173, 96, 95,132,135, 95, 95,190,135, -132, 95, 96,253,111,139,138,138,197,194,138,138,137,113,147,223,228, 2,135, 2,209,209, 1,153, 3,107,135, 93, 94, 94, 93,135, -134,178, 89, 89,193,129,195,197,136,137,137,136,197,195,129,104, 15,217, 1,103, 2,209,211,102,217, 14, 0, 0, 0, 2, 0,145, -255,155, 4, 64, 5, 62, 0, 12, 0, 39, 0, 0, 1, 34, 7, 6, 16, 22, 51, 50, 55, 54, 16, 39, 38, 39, 55, 35, 53, 51, 55, 51, - 7, 23, 21, 39, 21, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 2,106,135, 95, 95,190,135,132, 95, 96, 96, 95, -200, 1,209,209, 2,135, 2,228,223,147,113,137,138,138,194,197,138,138,139,113, 2,165, 89, 88,254,242,186, 93, 93, 1, 14, 88, - 89,134,218,102,211,210, 1,104, 2,218, 15,104,129,195,196,136,137,137,136,196,195,129,106, 0, 0, 2, 0, 21, 0,154, 4,188, - 5, 48, 0, 13, 0, 39, 0, 0, 1, 38, 39, 38, 7, 6, 20, 23, 22, 51, 22, 55, 54, 38, 19, 6, 43, 1, 34, 39, 38, 53, 39, 52, - 55, 54, 23, 22, 23, 1, 37, 55, 33, 17, 7, 17, 1, 22, 23, 22, 2,162, 90,123,122, 91, 90, 90, 91,126,127, 92, 89, 8, 16,131, -182, 1,185,130,129, 2,131,130,178,178, 87, 1, 26,254,222,109, 1,130,112,254,231, 78, 7, 6, 3, 35, 90, 4, 4, 88, 91,254, - 91, 89, 1, 90, 91,246,254, 80,128,128,129,183, 3,182,131,129, 7, 6, 81, 1, 16, 2,109,254,128,112, 1, 35,254,239, 84,178, -177, 0, 0, 0, 0, 1, 0, 71, 0, 42, 4,138, 5,174, 0, 31, 0, 0, 1, 53, 50, 55, 54, 52, 39, 38, 35, 34, 7, 6, 29, 1, - 35, 52, 54, 51, 50, 23, 22, 21, 20, 7, 51, 17, 51, 17, 35, 17, 33, 53, 1,232,115, 80, 81, 80, 80,116,114, 81, 80,142,244,173, -177,121,122,103,214,143,143,252, 76, 2, 31, 1, 81, 81,228, 81, 80, 80, 81,114, 2,174,246,123,123,174,159,116, 3,143,250,124, - 1,103,142, 0, 0, 1, 0,174, 0, 42, 4, 35, 5,174, 0, 34, 0, 0, 1, 35, 53, 51, 53, 51, 21, 51, 21, 35, 17, 54, 51, 50, - 23, 22, 21, 20, 6, 29, 1, 35, 52, 55, 54, 53, 52, 38, 35, 34, 7, 6, 21, 17, 35, 1, 18,100,100,143,168,168,105,144,167,113, -113,132,143, 67, 66,146,105,103, 73, 73,143, 4,117,143,170,170,143,254,147,103,122,121,177, 85,216,114, 2,125,112,112, 68,116, -160, 80, 81,115,254, 95, 0, 0, 0, 2, 0, 67, 0,133, 4,142, 5, 83, 0, 13, 0, 55, 0, 0, 1, 34, 7, 6, 21, 20, 22, 50, - 55, 54, 53, 52, 39, 38, 55, 22, 23, 22, 21, 20, 7, 6, 35, 34, 38, 53, 52, 55, 54, 55, 17, 35, 17, 35, 53, 51, 17, 35, 53, 51, - 17, 51, 17, 51, 17, 51, 17, 51, 21, 35, 17, 51, 21, 35, 17, 35, 2,104, 46, 32, 32, 64, 92, 32, 33, 32, 32, 16, 50, 40, 62, 62, - 63, 90, 87,126, 62, 39, 51,237,251,127,127,251,237,124,237,250,125,125,250,237, 1,203, 33, 32, 45, 47, 64, 32, 32, 47, 45, 32, - 33, 94, 15, 39, 63, 88, 89, 63, 63,126, 89, 88, 63, 40, 14, 1, 70,254,152,125, 2, 82,125,254,152, 1,104,254,152, 1,104,125, -253,174,125, 1,104, 0, 0, 0, 0, 1, 0, 76, 0,133, 4,133, 5, 83, 0, 60, 0, 0, 1, 21, 35, 53, 35, 53, 51, 53, 38, 39, - 38, 39, 53, 7, 39, 55, 51, 23, 21, 39, 21, 51, 21, 35, 22, 23, 22, 23, 17, 7, 39, 55, 51, 23, 21, 39, 17, 54, 55, 54, 61, 1, - 51, 53, 7, 39, 55, 51, 23, 21, 39, 21, 49, 21, 20, 7, 6, 7, 21, 51, 21, 2,167,124,144,144,135,101,123, 1,118, 1,119,125, -119,119, 2, 2, 1, 85, 65, 84,119, 1,120,124,120,120, 83, 64, 87, 1,119, 1,120,125,118,118,124,100,136,144, 1, 31,154,154, -124,114, 18,101,123,177, 69,117,115,126,126,115,117, 69, 2,124, 86, 65, 16, 2, 75,116,114,127,127,114,116,253,182, 16, 64, 88, -123, 1, 73,117,115,126,126,115,117, 73, 4,173,123,100, 19,114,124, 0, 0, 0, 0, 2, 0,215, 0, 42, 3,250, 5,174, 0, 18, - 0, 29, 0, 0, 19, 33, 32, 23, 22, 21, 20, 7, 6, 35, 33, 17, 33, 23, 21, 7, 33, 39, 17, 23, 17, 33, 50, 55, 54, 55, 52, 39, - 38, 35,223, 1,129, 1, 29, 95, 30,237, 56, 50,254,189, 2, 86, 8, 8,253, 41, 8,137, 1, 51,123, 68, 15, 8,153, 35, 77, 5, -174,197, 72, 90,251, 87, 16,253,207, 7,123, 8, 8, 5,115,123,254, 63,122, 25, 75,155, 56, 16, 0, 1, 0, 24, 0, 1, 4,185, - 5, 33, 0, 32, 0, 0, 37, 16, 2, 35, 34, 2, 23, 35, 38, 53, 52, 54, 51, 32, 19, 22, 23, 54, 55, 18, 33, 50, 22, 21, 20, 7, - 35, 54, 2, 35, 34, 2, 17, 2, 59,205,122, 92, 41, 77, 97, 66,117,104, 1, 11, 95, 5, 4, 3, 5, 95, 1, 11,105,116, 66, 97, - 77, 40, 93,121,205, 2, 2, 13, 2,164,254,228,142,116,140,116,164,253, 91, 43, 35, 35, 43, 2,165,164,116,140,116,142, 1, 28, -253, 92,253,243, 0, 2, 0, 53,255,248, 4,156, 4,196, 0, 8, 0, 46, 0, 0, 1, 34, 6, 20, 22, 50, 54, 52, 38, 39, 54, 55, - 62, 2, 51, 21, 34, 2, 7, 6, 7, 22, 23, 22, 21, 20, 6, 35, 34, 38, 53, 52, 55, 54, 55, 38, 39, 38, 2, 35, 53, 50, 30, 1, - 23, 22, 2,104,113,158,158,225,159,157,114,100, 58, 66, 74,124,141, 94,128,100, 16, 18, 35, 33,112,226,161,160,226,113, 32, 36, - 18, 16, 99,131, 93,141,143, 55, 65, 59, 2,186,170,241,169,169,241,170,123, 4, 50, 54,148,142, 88,255, 0, 89, 15, 13, 24, 34, -122,172,172,242,242,172,172,122, 34, 25, 12, 15, 89, 1, 0, 88,142,148, 54, 50, 0, 2, 0, 27, 0, 12, 4,182, 4,206, 0, 19, - 0, 25, 0, 0, 1, 38, 39, 53, 4, 32, 37, 21, 6, 7, 17, 22, 23, 21, 36, 32, 5, 53, 54, 63, 1, 54, 23, 17, 6, 39, 1, 46, -136,139, 1, 26, 2,106, 1, 23,143,135,135,143,254,233,253,150,254,230,139,136,124,189,189,189,189, 4, 25, 18, 42,120, 73, 73, -122, 39, 19,252,168, 19, 38,124, 74, 74,120, 44, 17, 9, 21, 21, 3, 70, 21, 21, 0, 4, 0, 52, 0, 50, 4,157, 5, 15, 0, 8, - 0, 27, 0, 36, 0, 56, 0, 0, 0, 34, 6, 20, 22, 51, 50, 54, 52, 1, 44, 1, 39, 53, 22, 4, 39, 38, 53, 52, 54, 51, 50, 22, - 16, 7, 14, 1, 1, 50, 54, 52, 38, 34, 6, 20, 22, 19, 12, 1, 23, 21, 38, 36, 23, 22, 21, 20, 6, 35, 34, 38, 53, 52, 55, 62, - 1, 3,200,156,109,109, 78, 77,109,254,169,255, 0,254,213,125,207, 1,201, 9,108,168,121,122,169, 85, 60,202,254, 22, 77,110, -110,154,110,109,234, 1, 1, 1, 43,125,207,254, 55, 9,108,168,121,122,169, 85, 60,201, 2,131,124,178,124,124,178,254, 44, 1, - 38, 40,117, 79, 31, 35,101,156,138,194,194,254,237, 97, 72, 71, 2,138,124,178,124,124,178,124, 2, 81, 2, 39, 40,115, 79, 30, - 35,101,156,139,194,194,139,137, 96, 73, 72, 0, 0, 2, 0, 61,255,253, 4,148, 5, 33, 0, 10, 0, 60, 0, 0, 0, 62, 1, 39, - 46, 1, 7, 14, 1, 23, 22, 19, 52, 54, 51, 50, 22, 21, 20, 2, 21, 22, 23, 50, 55, 23, 6, 35, 34, 38, 53, 52, 18, 53, 52, 38, - 35, 34, 6, 21, 20, 22, 23, 30, 1, 7, 6, 7, 6, 38, 39, 38, 53, 52, 55, 54, 55, 54, 23, 54, 38, 1, 68,132, 57, 25, 26,130, - 66, 66, 56, 26, 26,205,196,158,151,192,255, 3,118, 63, 87, 58,112, 98, 87,126,252,144,116,112,132, 41, 22, 32, 14, 34, 45,102, -102,201, 41, 20, 24, 45,103,116,112, 21, 81, 1, 64, 51,131, 65, 65, 58, 26, 26,129, 65, 67, 2,106,141,177,194,155,165,254, 71, -158,109, 3, 78, 63,105,106, 98,175, 1,166,171,118,145,136,114, 53,127, 54, 87,192, 71,101, 40, 40, 87,105, 48, 49, 53, 52,100, - 41, 45, 63, 1,195, 0, 0, 0, 0, 2, 0, 47,254,234, 4,162, 4,127, 0, 54, 0, 63, 0, 0, 1, 50, 22, 21, 62, 1, 51, 50, - 22, 29, 1, 62, 1, 51, 50, 22, 21, 16, 5, 20, 23, 35, 38, 39, 6, 7, 53, 54, 55, 39, 17, 54, 39, 14, 1, 7, 17, 35, 17, 52, - 38, 7, 38, 6, 7, 17, 35, 17, 52, 39, 51, 22, 23, 62, 1, 1, 17, 54, 19, 52, 38, 7, 34, 6, 1,193, 45, 83, 29,139, 53, 44, - 57, 34, 92, 48, 43, 70,254,244,103,118, 33, 52,117,124,135, 87, 6, 2, 34, 41, 94, 44,107, 22, 25, 29,127, 13,105,107,100, 83, - 26, 16,129, 1,242,182, 17, 33, 21, 21,101, 4,127,152, 98, 91,159,128,168,154, 95, 91,177,209,254,199,245, 72,148, 31,124, 78, - 5, 89, 21, 67,166, 2,142,242, 1, 1,166,153,253, 58, 2,194,246, 82, 1, 1,174,164,253, 72, 3, 66,146,146, 61,134, 71,144, -253, 96,254, 83,191, 1, 3,148,110, 4,158, 0, 0, 2, 0, 85, 0,181, 4,124, 4,234, 0, 3, 0, 35, 0, 0, 19, 33, 21, 33, - 1, 33, 53, 51, 38, 53, 52, 54, 51, 50, 22, 21, 20, 7, 33, 21, 33, 53, 35, 54, 55, 54, 53, 52, 38, 34, 6, 21, 20, 23, 22, 23, - 85, 4, 39,251,217, 1,140,254,116,252, 48,183,132,132,184, 48, 1, 20,254, 90, 1, 13, 12, 61,121,173,121, 61, 11, 13, 1, 58, -133, 1, 93,134, 90,115,162,227,227,162,115, 90,134,134, 11, 15, 74,106,107,149,149,107,106, 74, 15, 11, 0, 0, 0, 1, 0, 50, -255,102, 4,159, 4,198, 0, 52, 0, 0, 37, 20, 22, 23, 51, 53, 51, 23, 7, 39, 53, 35, 34, 39, 38, 39, 3, 18, 39, 14, 1, 7, - 17, 35, 17, 16, 38, 7, 38, 6, 7, 17, 35, 17, 52, 39, 51, 22, 23, 62, 1, 51, 50, 22, 21, 62, 1, 51, 50, 22, 29, 1, 17, 3, - 89, 69, 59, 60, 2,136,136, 2, 60,135, 45, 30, 5, 14, 2, 33, 38, 89, 42,100, 21, 24, 27,120, 13, 99,102, 95, 79, 24, 15,122, - 46, 42, 79, 27,132, 50, 41, 55,226, 90,101, 1, 96,141,142, 3, 96, 98, 60, 96, 2,129, 1, 1, 1, 1,176,163,253, 15, 2,237, - 1, 5, 87, 1, 1,184,175,253, 30, 3,117,154,156, 65,143, 76,153,161,104, 96,169,136,178,164,253,251, 0, 0, 0, 1, 0, 56, - 0, 6, 4,153, 4,199, 0, 19, 0, 0, 1, 33, 53, 33, 21, 49, 21, 17, 35, 17, 7, 17, 35, 17, 1, 39, 1, 33, 53, 33, 3,213, -254, 95, 2,100,114,192,114,253,149, 80, 2,107,254, 94, 2, 19, 4, 75,123, 85, 1,253,190, 1,199,209,253,190, 1,198,253, 95, - 87, 2,161,123, 0, 2, 0, 21, 0, 3, 4,188, 4,207, 0, 39, 0, 47, 0, 0, 1, 50, 18, 55, 54, 51, 50, 22, 21, 20, 6, 35, - 34, 39, 14, 1, 7, 35, 53, 55, 54, 19, 38, 2, 35, 34, 2, 23, 7, 52, 2, 39, 53, 50, 22, 23, 54, 55, 62, 1, 1, 22, 51, 50, - 55, 38, 39, 34, 2, 50, 88, 67, 20, 90,159,100,125,117,117,127,100, 36,103,113,138,126,100, 86, 41, 52, 48, 29,132, 5,129,116, -108,120,132, 33, 38, 37, 34,100, 1, 25, 76,107,132, 7, 5,131,125, 4,206,253, 58, 3,181,155, 85,119,140,109,131,177, 3, 97, - 1, 3, 1, 52, 13, 2,136,254,115,170, 2,208, 1,151, 5, 79,182,226,165, 72, 75,123,252,215,119,162,129, 15, 0, 2, 0, 89, - 1, 64, 4,120, 3,174, 0, 32, 0, 65, 0, 0, 19, 54, 51, 50, 23, 22, 55, 54, 51, 50, 23, 22, 55, 54, 51, 50, 23, 7, 38, 7, - 6, 34, 39, 38, 7, 6, 35, 34, 39, 38, 6, 35, 39, 17, 54, 51, 50, 23, 22, 55, 54, 50, 23, 22, 55, 54, 51, 50, 23, 7, 38, 7, - 6, 35, 34, 39, 38, 7, 6, 35, 34, 39, 38, 6, 35, 39, 89,231, 82, 32, 9, 35,123, 61, 40, 39, 17, 37,123, 31, 29, 88, 78, 67, - 69,122, 62, 79, 18, 38,122, 62, 39, 40, 17, 35,243, 4, 38,231, 82, 31, 10, 35,123, 61, 79, 16, 38,123, 30, 29, 89, 78, 67, 69, -122, 62, 39, 40, 19, 37,123, 61, 40, 39, 17, 35,243, 4, 38, 1,136,192, 28,101,101, 50, 50,101,101, 25,224, 36,201,108, 54, 54, -107,100, 50, 51,100,201, 69, 1, 80,192, 28,100,100, 51, 51,100,100, 25,224, 36,202,108, 55, 54,107,100, 51, 52,101,202, 69, 0, - 0, 1, 0, 94, 0, 5, 4,115, 5, 35, 0, 28, 0, 0, 1, 7, 2, 3, 7, 0, 19, 33, 53, 33, 2, 1, 23, 18, 19, 51, 18, 19, - 55, 0, 3, 33, 7, 33, 18, 1, 39, 2, 3, 2,210,211, 28,243,145, 1, 13, 24,254,253, 1, 3, 25,254,244,145,243, 28,212, 27, -244,144,254,244, 24, 1, 2, 1,254,253, 26, 1, 12,145,244, 27, 2, 76, 3,254,216,254,231, 2, 1, 51, 1, 16,151, 1, 15, 1, - 52, 3,254,232,254,216, 1, 40, 1, 24, 3,254,204,254,241,151,254,240,254,205, 2, 1, 25, 1, 40, 0, 0, 0, 0, 5, 0, 67, - 0, 5, 4,142, 4,128, 0, 15, 0, 32, 0, 36, 0, 84, 0,100, 0, 0, 1, 54, 55, 38, 39, 38, 34, 14, 1, 21, 20, 22, 23, 22, - 23, 33, 51, 33, 54, 55, 62, 1, 53, 52, 46, 1, 35, 34, 7, 6, 7, 22, 23, 1, 21, 33, 53, 1, 17, 38, 39, 46, 1, 53, 52, 62, - 1, 51, 50, 23, 53, 52, 54, 55, 54, 55, 53, 35, 53, 51, 53, 51, 21, 51, 21, 35, 21, 22, 23, 30, 1, 29, 1, 54, 51, 50, 30, 1, - 21, 20, 6, 7, 6, 7, 17, 1, 20, 30, 1, 51, 50, 62, 1, 53, 52, 46, 1, 35, 34, 14, 1, 2, 51, 1, 1, 27, 39, 56,120,112, - 65, 63, 57, 17, 17, 1, 7,108, 1, 6, 18, 17, 57, 62, 64,113, 60, 59, 57, 39, 26, 1, 1,254,168, 2, 68,253,125, 32, 29, 53, - 82, 84,151, 80, 61, 58, 28, 24, 10, 13, 83, 83, 80, 83, 83, 12, 10, 24, 28, 59, 60, 80,151, 84, 82, 52, 30, 32,254, 88, 19, 35, - 17, 19, 34, 19, 19, 34, 19, 17, 35, 19, 2,234, 3, 2, 33, 21, 32, 62,114, 62, 62,112, 30, 11, 6, 6, 11, 30,112, 62, 62,114, - 62, 32, 21, 33, 2, 3,254, 65,232,232,254,219, 1, 37, 10, 17, 41,150, 82, 83,151, 81, 24, 2, 27, 49, 13, 6, 3, 41, 54, 66, - 66, 54, 41, 3, 6, 13, 49, 27, 2, 24, 81,151, 83, 82,150, 41, 17, 10,254,219, 3,112, 20, 32, 20, 20, 32, 20, 18, 34, 18, 18, - 34, 0, 0, 0, 0, 8, 0, 86, 0, 0, 4,123, 4,122, 0, 72, 0, 78, 0, 82, 0,104, 0,124, 0,144, 0,165, 0,187, 0, 0, - 19, 38, 39, 52, 62, 1, 51, 50, 30, 1, 21, 6, 7, 19, 3, 34, 39, 52, 62, 1, 51, 50, 30, 1, 21, 6, 7, 27, 1, 38, 39, 52, - 62, 1, 51, 50, 30, 1, 21, 6, 7, 27, 1, 38, 53, 52, 62, 1, 51, 50, 30, 1, 21, 6, 7, 3, 19, 38, 53, 52, 62, 1, 51, 50, - 30, 1, 21, 6, 35, 3, 17, 33, 17, 5, 53, 7, 33, 39, 29, 2, 33, 53, 1, 23, 3, 54, 55, 62, 1, 53, 52, 46, 1, 35, 34, 14, - 1, 21, 20, 30, 1, 51, 50, 51, 19, 23, 3, 54, 55, 62, 1, 52, 46, 1, 35, 34, 14, 1, 20, 30, 1, 51, 50, 51, 1, 55, 19, 22, - 51, 50, 62, 1, 52, 46, 1, 35, 34, 14, 1, 20, 22, 23, 22, 23, 1, 51, 3, 50, 55, 62, 1, 53, 52, 46, 1, 35, 34, 14, 1, 21, - 20, 22, 23, 22, 23, 19, 55, 19, 22, 51, 50, 62, 1, 53, 52, 46, 1, 35, 34, 14, 1, 21, 20, 22, 23, 22, 23,169, 73, 9, 22, 41, - 22, 22, 41, 22, 3, 44,183, 40, 63, 14, 22, 41, 23, 22, 40, 23, 2, 35,144, 33, 51, 1, 23, 40, 21, 22, 41, 23, 3, 51, 29,142, - 36, 23, 41, 21, 23, 41, 22, 8, 66, 71,197, 33, 23, 40, 22, 23, 40, 22, 10, 75,123,253,109, 2,103,138,254,234,140, 2, 44,253, -180, 59,177, 5, 5, 14, 16, 16, 27, 15, 14, 26, 17, 16, 27, 14, 6, 6,238,104,143, 4, 4, 13, 15, 15, 27, 14, 15, 27, 15, 15, - 27, 15, 5, 6, 1, 73, 88, 73, 4, 4, 14, 29, 14, 16, 27, 14, 14, 27, 16, 16, 13, 6, 6,254,238, 76, 36, 14, 12, 13, 16, 16, - 26, 15, 14, 28, 15, 15, 14, 11, 12,227, 80,127, 8, 9, 14, 27, 15, 16, 26, 14, 16, 26, 15, 15, 13, 3, 3, 3, 12, 2, 72, 22, - 39, 21, 21, 39, 22, 49, 16,254,124, 2, 26, 71, 21, 39, 21, 21, 39, 21, 35, 26,253,196, 2,115, 23, 37, 22, 39, 20, 20, 39, 22, - 41, 19,253,139, 2, 55, 36, 32, 21, 39, 21, 21, 39, 21, 65, 12,253,236, 1,138, 27, 32, 22, 39, 21, 21, 39, 22, 72,254,158,254, - 84, 1,172,221,172, 57, 46,161, 37,126,126, 1, 4, 32, 1,147, 2, 3, 8, 27, 14, 16, 26, 16, 16, 26, 16, 14, 27, 15,254,114, - 24, 2, 70, 2, 2, 8, 27, 29, 27, 15, 15, 27, 29, 27, 15,253,195, 20, 2, 41, 1, 15, 27, 29, 28, 14, 14, 28, 29, 27, 8, 3, - 2,253,188, 2,126, 8, 8, 26, 16, 14, 27, 15, 15, 27, 14, 16, 26, 8, 6, 2,253,151, 32, 1,119, 2, 16, 26, 16, 14, 28, 14, - 14, 28, 14, 16, 26, 8, 2, 1, 0, 5, 0,112, 0, 0, 4, 97, 5, 29, 0, 29, 0, 33, 0, 39, 0, 45, 0, 50, 0, 0, 1, 51, - 21, 51, 53, 51, 21, 35, 21, 7, 17, 23, 21, 51, 21, 33, 53, 51, 53, 55, 51, 17, 35, 39, 53, 35, 53, 51, 21, 51, 1, 53, 33, 21, - 1, 55, 53, 33, 21, 23, 17, 7, 21, 33, 53, 39, 53, 17, 55, 33, 17, 1,237,242,150,236,101, 80, 80,101,252, 15,101, 81, 1, 1, - 81,101,232,149, 2, 68,252,112, 2,225, 72,253, 62, 72, 64, 2,178, 65, 1,253,206, 5, 29,136,136,142,126,131,254, 0,130,125, -143,143,125,133, 1,252,132,126,142,136,251,156, 48, 48, 3,109,114, 84, 84,114,253,199,101,112,112,101, 45, 1,221, 2,254, 33, - 0, 4, 0,222,255,248, 3,243, 4,197, 0, 55, 0, 67, 0, 81, 0, 94, 0, 0, 1, 38, 53, 52, 55, 54, 55, 38, 39, 38, 39, 53, - 54, 55, 54, 55, 54, 55, 38, 39, 38, 53, 52, 62, 1, 51, 50, 30, 1, 21, 20, 7, 6, 7, 22, 23, 22, 23, 22, 23, 21, 6, 7, 6, - 7, 22, 23, 22, 21, 20, 7, 6, 7, 19, 33, 27, 1, 53, 51, 53, 35, 53, 35, 21, 35, 21, 51, 21, 19, 54, 53, 52, 46, 1, 34, 14, - 1, 21, 20, 23, 3, 33, 0, 20, 30, 1, 50, 62, 1, 52, 46, 1, 35, 34, 6, 1,194, 25, 26, 6, 9, 49, 29, 34, 1, 1, 34, 35, - 64, 23, 24, 21, 14, 18, 37, 64, 35, 33, 64, 37, 17, 13, 22, 23, 24, 63, 36, 35, 1, 1, 35, 30, 48, 9, 7, 25, 26, 1, 2,231, -252,237,222,220,141,141, 97,141,141,133, 49, 37, 63, 69, 63, 37, 52,182, 2, 21,254,153, 24, 44, 47, 45, 23, 24, 45, 22, 24, 43, - 1, 68, 44, 47, 49, 43, 14, 12, 31, 52, 59, 65, 3, 66, 60, 62, 34, 11, 9, 14, 24, 32, 34, 35, 62, 34, 34, 62, 35, 34, 32, 24, - 15, 8, 11, 34, 62, 60, 66, 3, 65, 59, 51, 32, 12, 14, 43, 49, 48, 44, 3, 3,254,188, 1, 75, 1, 18,102, 89,101,101, 89,102, -254,238, 37, 60, 35, 64, 34, 34, 64, 35, 52, 45,254,233, 4, 47, 48, 43, 23, 23, 43, 48, 43, 23, 23, 0, 0, 0, 0, 4, 0,144, - 0, 6, 4, 65, 4,199, 0, 30, 0, 42, 0, 51, 0, 86, 0, 0, 1, 54, 38, 55, 22, 7, 0, 19, 33, 38, 53, 52, 36, 39, 6, 7, - 6, 7, 39, 7, 38, 39, 54, 39, 54, 55, 46, 1, 55, 22, 23, 7, 54, 59, 1, 6, 21, 20, 43, 1, 34, 39, 53, 3, 23, 20, 7, 35, - 34, 61, 1, 54, 19, 38, 39, 6, 22, 7, 6, 7, 22, 7, 22, 23, 55, 7, 54, 55, 54, 55, 22, 4, 23, 20, 23, 37, 2, 1, 50, 53, - 35, 54, 38, 39, 6, 22, 7, 2, 7, 11, 42, 73,125, 32, 1,142, 37,252,235, 10, 1, 71, 7, 73, 46, 37,128, 8, 35,113, 26, 74, - 12, 39, 59, 17, 10, 31, 84, 44,132, 31, 78, 4, 35, 56, 17, 6, 3, 5, 5, 58, 8, 23, 33,176, 29, 62, 35, 49, 20, 48, 36, 17, - 73, 20, 84, 78, 28,110, 23, 86, 66, 44,254,165, 2, 9, 2,199, 31,254,110, 1, 3, 32, 17, 63, 37, 35, 15, 4, 3, 20, 78, 97, -106,105,254,249,253, 27, 45, 47,130,246, 52, 94, 2,116, 14, 18, 25, 38, 65,234,171, 89, 99, 26, 27,103, 21, 98,225, 51, 37, 29, - 39, 24, 12,254,187, 28, 43, 12, 25, 18, 40, 2, 40, 78, 31, 86, 56, 27, 79, 81,196,191, 62, 19, 58, 60, 8,117, 3,141,121,250, -103, 42, 42, 1, 2,156, 1, 53, 1, 10,107, 60, 88, 62, 27, 0, 0, 4, 0,156, 0, 6, 4, 53, 4,104, 0, 13, 0, 29, 0, 80, - 0, 91, 0, 0, 0, 20, 30, 1, 51, 50, 62, 1, 52, 46, 1, 35, 34, 6, 55, 20, 30, 1, 51, 50, 62, 1, 53, 52, 46, 1, 35, 34, - 14, 1, 1, 21, 33, 53, 7, 38, 53, 52, 54, 55, 54, 55, 38, 39, 38, 53, 52, 54, 55, 54, 55, 38, 39, 38, 52, 62, 1, 51, 50, 30, - 1, 20, 7, 6, 7, 22, 23, 30, 1, 21, 20, 7, 6, 7, 22, 23, 30, 1, 21, 20, 7, 39, 38, 39, 46, 1, 35, 34, 6, 7, 6, 7, - 1,200, 43, 76, 41, 43, 76, 42, 43, 77, 41, 40, 76, 72, 12, 21, 11, 12, 21, 12, 12, 22, 11, 10, 22, 12, 1,196,252,227, 62, 9, -124,110, 28, 30, 22, 16, 32, 64, 58, 20, 22, 20, 11, 17, 33, 58, 31, 30, 59, 33, 15, 13, 19, 20, 23, 56, 65, 31, 17, 22, 28, 29, -110,125, 9, 69, 3, 48, 52,184, 96, 97,183, 51, 48, 3, 2,216, 84, 76, 42, 42, 76, 84, 77, 40, 40,202, 12, 20, 11, 11, 20, 12, - 11, 22, 12, 12, 22,252, 13, 1, 1, 1, 43, 43,120,220, 58, 16, 12, 21, 29, 56, 62, 62,113, 31, 11, 7, 15, 21, 30, 63, 57, 32, - 32, 57, 63, 30, 21, 15, 7, 11, 31,113, 62, 62, 56, 29, 21, 12, 16, 58,220,120, 43, 43, 99, 94, 85, 90, 98, 98, 90, 85, 94, 0, - 0, 8, 0,106,255,252, 4,103, 4, 37, 0, 15, 0, 32, 0, 36, 0, 84, 0,100, 0,104, 0,121, 0,138, 0, 0, 1, 52, 55, 38, - 39, 38, 34, 14, 1, 21, 20, 22, 23, 22, 23, 59, 2, 54, 55, 62, 1, 53, 52, 46, 1, 35, 34, 7, 6, 7, 22, 23, 1, 21, 33, 53, - 1, 17, 38, 39, 46, 1, 53, 52, 62, 1, 51, 50, 23, 53, 52, 54, 55, 54, 55, 53, 35, 53, 51, 53, 51, 21, 51, 21, 35, 21, 22, 23, - 30, 1, 29, 1, 54, 51, 50, 30, 1, 21, 20, 6, 7, 6, 7, 17, 1, 20, 30, 1, 51, 50, 62, 1, 53, 52, 46, 1, 35, 34, 14, 1, - 1, 21, 33, 53, 55, 35, 38, 39, 46, 1, 53, 52, 62, 1, 51, 50, 23, 22, 23, 6, 21, 51, 52, 39, 54, 55, 54, 51, 50, 30, 1, 21, - 20, 6, 7, 6, 7, 35, 2, 55, 2, 25, 36, 53,111,104, 60, 58, 53, 16, 16,244,100,243, 17, 16, 52, 58, 59,105, 56, 54, 53, 37, - 24, 1, 1,254,193, 2, 26,253,171, 29, 27, 49, 77, 78,141, 74, 57, 54, 25, 23, 9, 12, 77, 77, 74, 77, 77, 12, 9, 22, 26, 54, - 56, 74,141, 78, 77, 48, 28, 29,254,118, 18, 32, 16, 18, 32, 17, 17, 32, 18, 16, 32, 18, 1, 43,254, 48,146,199, 13, 12, 43, 47, - 48, 85, 45, 44, 44, 29, 21, 2,172, 2, 21, 29, 43, 44, 46, 84, 49, 47, 44, 12, 13,198, 2,172, 2, 3, 30, 20, 29, 57,106, 57, - 58,104, 28, 10, 6, 6, 10, 28,104, 58, 57,106, 57, 29, 20, 30, 3, 2,254, 97,215,215,254,240, 1, 16, 9, 16, 38,140, 76, 77, -140, 75, 22, 1, 26, 45, 13, 5, 2, 39, 50, 61, 61, 50, 39, 2, 5, 13, 45, 26, 1, 22, 75,140, 77, 76,140, 38, 16, 9,254,240, - 3, 49, 18, 31, 17, 17, 31, 18, 17, 32, 16, 16, 32,253,169,142,142,147, 5, 8, 24, 86, 47, 47, 88, 47, 23, 17, 25, 2, 2, 2, - 2, 25, 17, 23, 47, 88, 47, 47, 86, 24, 8, 5, 0, 3, 0, 54, 0, 4, 4,155, 4,197, 0, 72, 0, 76, 0, 80, 0, 0, 19, 38, - 39, 52, 62, 1, 51, 50, 30, 1, 21, 6, 7, 19, 3, 34, 39, 52, 62, 1, 51, 50, 30, 1, 21, 6, 7, 27, 1, 38, 39, 52, 62, 1, - 51, 50, 30, 1, 21, 6, 7, 27, 1, 38, 53, 52, 62, 1, 51, 50, 30, 1, 21, 6, 7, 3, 19, 38, 53, 52, 62, 1, 51, 50, 30, 1, - 21, 6, 35, 3, 17, 33, 17, 5, 53, 33, 21, 5, 53, 33, 21,141, 77, 10, 24, 44, 23, 23, 44, 23, 4, 46,194, 42, 67, 15, 23, 44, - 25, 23, 43, 23, 2, 37,154, 35, 55, 1, 24, 43, 22, 23, 44, 24, 2, 55, 31,150, 37, 23, 44, 22, 25, 43, 24, 9, 70, 75,209, 35, - 24, 43, 23, 24, 43, 24, 11, 80,130,253, 68, 2,141,253,178, 2, 78,253,178, 3, 65, 1, 77, 23, 42, 22, 22, 42, 23, 52, 17,254, -100, 2, 59, 75, 23, 41, 22, 22, 41, 23, 36, 28,253,160, 2,155, 24, 39, 23, 42, 21, 21, 42, 23, 44, 19,253,100, 2, 89, 38, 34, - 22, 42, 22, 22, 42, 22, 69, 13,253,204, 1,163, 27, 35, 23, 42, 22, 22, 42, 23, 76,254,136,254, 58, 1,198,165, 63, 63,242, 64, - 64, 0, 0, 0, 0, 4, 0,148, 0, 5, 4, 61, 4,197, 0, 3, 0, 7, 0, 37, 0, 41, 0, 0, 1, 53, 33, 21, 1, 53, 33, 21, - 19, 51, 21, 51, 53, 51, 21, 35, 21, 7, 17, 23, 21, 51, 21, 33, 53, 51, 53, 55, 51, 17, 35, 39, 53, 35, 53, 51, 21, 51, 1, 53, - 33, 21, 3,109,253,248, 2, 68,253,128,205,225,139,219, 94, 74, 74, 94,252, 87, 94, 75, 1, 1, 75, 94,215,139, 2, 26,252,178, - 3,178, 76, 76,252,230, 90, 90, 4, 44,125,125,131,117,122,254, 37,121,117,132,132,117,123, 1,216,123,117,131,125,251,235, 45, - 45, 0, 0, 0, 0, 2, 0,226, 0, 6, 3,239, 4,199, 0, 52, 0, 64, 0, 0, 1, 52, 55, 54, 55, 38, 39, 38, 39, 53, 54, 55, - 54, 55, 54, 55, 38, 39, 38, 53, 52, 62, 1, 51, 50, 30, 1, 21, 20, 7, 6, 7, 22, 23, 22, 23, 22, 23, 21, 6, 7, 6, 7, 22, - 23, 22, 21, 20, 7, 19, 33, 19, 38, 55, 53, 51, 53, 35, 53, 35, 21, 35, 21, 51, 21, 1,170, 26, 7, 9, 49, 29, 33, 1, 1, 33, - 35, 63, 23, 24, 21, 14, 18, 37, 63, 35, 33, 63, 37, 17, 13, 21, 22, 24, 62, 36, 34, 1, 1, 34, 30, 47, 9, 6, 26, 26,225,252, -245,220, 21,238,140,140, 95,140,140, 1,168, 49, 43, 14, 12, 30, 52, 58, 65, 3, 65, 60, 61, 34, 11, 8, 15, 23, 32, 33, 35, 61, - 34, 34, 61, 35, 33, 32, 23, 16, 7, 11, 34, 61, 60, 65, 3, 65, 58, 51, 31, 12, 14, 43, 49, 47, 43,254,185, 1, 72, 43,228,101, - 88,101,101, 88,101, 0, 0, 0, 0, 4, 0,103, 0, 2, 4,106, 5, 32, 0, 34, 0, 46, 0, 55, 0, 61, 0, 0, 1, 54, 38, 55, - 30, 1, 7, 51, 20, 35, 0, 19, 33, 38, 53, 52, 0, 39, 6, 39, 6, 39, 55, 7, 38, 39, 54, 39, 54, 55, 54, 38, 55, 22, 23, 7, - 21, 22, 59, 1, 50, 53, 52, 55, 35, 34, 7, 3, 21, 20, 59, 1, 54, 53, 39, 34, 1, 23, 4, 19, 51, 2, 1,248, 54, 71, 74, 75, - 21, 38, 4, 2, 1,213, 39,252,175, 11, 1,110, 12, 61,108, 82, 93, 42, 94,100, 23, 87, 12, 42, 87, 9, 62, 33, 91, 49,148, 3, - 7, 18, 61, 37, 5, 84, 32,101, 25, 9, 62, 6, 54, 1,144, 46, 1, 72, 5, 67, 39, 4, 76, 34,139, 39, 71,128, 13, 1,254,215, -252,225, 49, 50,140, 1, 0,104,152, 6,132, 4, 91, 70, 25, 72,229,184, 96, 91, 36, 37,111, 23,107,223, 14, 26, 43, 29, 42, 56, -254,100, 21, 25, 13, 46, 30, 1,248, 78,235,253, 99, 2,232, 0, 0, 1, 0,118, 0, 5, 4, 91, 4,198, 0, 46, 0, 0, 55, 38, - 53, 52, 54, 55, 54, 55, 38, 39, 38, 53, 52, 54, 55, 54, 55, 38, 39, 38, 52, 62, 1, 51, 50, 30, 1, 20, 7, 6, 7, 22, 23, 30, - 1, 21, 20, 7, 6, 7, 22, 23, 30, 1, 21, 20, 7,127, 9,134,119, 31, 32, 24, 17, 34, 69, 62, 22, 24, 21, 13, 18, 35, 64, 33, - 33, 63, 37, 18, 13, 21, 22, 25, 61, 69, 33, 18, 24, 31, 31,119,135, 10, 6, 46, 47,130,238, 64, 17, 12, 24, 30, 61, 67, 68,122, - 34, 12, 8, 15, 24, 31, 69, 62, 34, 34, 62, 69, 31, 24, 16, 7, 12, 34,122, 68, 67, 61, 30, 24, 13, 16, 64,238,130, 47, 46, 0, - 0, 1, 0,128, 0,133, 4, 81, 5, 79, 0, 35, 0, 0, 1, 22, 23, 22, 23, 22, 29, 1, 20, 7, 6, 35, 34, 39, 35, 21, 20, 23, - 35, 53, 54, 53, 39, 35, 7, 6, 35, 34, 47, 1, 53, 52, 55, 0, 63, 1, 2,107, 77,177,195, 5, 32,133, 44, 52,127, 78, 34, 68, -177, 70, 2, 32, 38, 70,105,153, 63, 7,154, 1, 2, 74, 2, 5, 79,137,227,228, 47, 70, 66, 33,137, 79, 18,182, 10,233,123, 5, -124,234, 3, 73,109,172, 60, 38,150,167, 1, 61,136, 2, 0, 0, 0, 2, 0, 14, 0,133, 4,195, 5, 77, 0, 24, 0, 50, 0, 0, - 1, 50, 23, 22, 21, 50, 55, 54, 51, 50, 23, 22, 29, 1, 20, 7, 0, 7, 35, 1, 38, 53, 52, 55, 54, 3, 21, 20, 23, 1, 51, 1, - 54, 61, 1, 52, 39, 38, 35, 34, 3, 6, 21, 35, 52, 39, 38, 35, 34, 7, 6, 1, 61,179, 96, 23, 5, 10, 93,193,172,100, 31,182, -254,142, 50, 5,254, 13, 99,164, 66,188,171, 1,134, 3, 1,216, 85,155, 59, 47,217, 71, 8, 5, 59, 83,156,143, 88, 30, 5, 77, -226, 66, 20, 58,254,174, 64, 66, 10,213,189,254, 59, 55, 2,104,146,150,173,102, 37,254,208, 13,180,187,254, 35, 2, 62,133,124, - 31,142, 92, 23,254,144, 31, 21, 64,172,184,146, 57, 0, 0, 0, 0, 2, 0,145, 0,133, 4, 64, 5, 79, 0, 8, 0, 13, 0, 0, - 9, 1, 21, 0, 7, 38, 1, 38, 53, 9, 4, 2,105, 1,215,254, 67, 26, 12,254,110, 58, 1,213,254, 94, 1,165, 1,166,254,168, - 5, 79,253,158, 5,253,185, 28, 9, 2, 14, 71, 10, 2, 32,253,222,253,219, 2, 37, 1,189, 0, 0, 1, 0, 50, 0,133, 4,159, - 5, 79, 0, 55, 0, 0, 1, 50, 23, 22, 23, 20, 15, 1, 51, 54, 59, 1, 50, 23, 22, 21, 20, 7, 6, 7, 34, 39, 35, 21, 16, 23, - 21, 35, 39, 54, 17, 53, 35, 6, 35, 34, 39, 38, 53, 52, 55, 54, 59, 1, 50, 23, 51, 53, 38, 39, 38, 61, 1, 52, 55, 54, 2,106, -176, 83, 10, 3, 99, 49, 2, 61, 69, 16,195, 79, 19,172, 32, 59,199, 83, 2, 67,171, 5, 70, 2, 82,202,157, 84, 20,202, 54, 42, - 8, 70, 64, 3, 69, 24, 49,176, 59, 5, 79,186, 43, 46, 96,132, 49, 23,166, 54, 50,168, 86, 10, 5,226, 8,254,230, 89, 5, 5, -105, 1, 18, 2,228,166, 56, 47,192, 68, 10, 23, 2, 59, 56, 91, 66, 12,165, 86, 15, 0, 0, 0, 0, 3, 0,127, 0,134, 4, 82, - 5, 80, 0, 34, 0, 60, 0, 66, 0, 0, 1, 22, 1, 22, 29, 1, 20, 7, 6, 43, 1, 34, 39, 35, 21, 20, 23, 35, 53, 54, 53, 35, - 7, 6, 43, 1, 34, 39, 38, 53, 55, 53, 52, 55, 18, 55, 6, 1, 6, 21, 22, 23, 22, 59, 1, 50, 55, 51, 50, 23, 22, 59, 1, 50, - 55, 54, 61, 1, 52, 39, 38, 3, 51, 38, 39, 34, 7, 2,105,104, 1, 59, 70,148, 28, 40, 18,119, 81, 34, 68,177, 71, 34, 46, 70, - 87, 18,131, 67, 20, 2,169,239, 78,102,254,234, 66, 8,121, 18, 34, 13, 98, 79,150, 6, 26, 68, 85, 15,113, 53, 8,166,189,117, - 52, 11, 12, 5, 13, 5, 80,185,254,136,114,111, 2,172, 64, 13,179, 11,230,127, 5,124,239, 83, 96,143, 54, 52, 11, 2,164,175, - 1, 39, 60,164,254,183,107,110,153, 44, 7,179, 58,121,137, 33, 25, 25,145,170,236,252, 64, 19, 74, 68, 0, 0, 0, 1, 0, 11, - 0,133, 4,198, 5, 79, 0, 23, 0, 0, 1, 50, 23, 22, 23, 51, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 1, 35, 1, 38, 53, 52, - 55, 54, 1, 59,167, 95, 35, 2, 2, 29, 75, 89,111,172,104, 26,171,254, 77, 5,254, 50,138,164, 69, 5, 79,193, 76, 41,133, 88, - 89,184, 68, 60,206,186,253,246, 2, 54,169,179,173,102, 37, 0, 0, 1, 0,145, 0,133, 4, 64, 5, 79, 0, 8, 0, 0, 9, 1, - 22, 21, 1, 38, 1, 52, 55, 2,105, 1,158, 57,254, 41, 10,254, 50, 92, 5, 79,253,231, 69, 11,253,159, 6, 2, 91, 11,114, 0, - 0, 3, 0, 49, 0,134, 4,160, 5, 86, 0, 50, 0, 96, 0,103, 0, 0, 1, 50, 23, 22, 21, 20, 15, 1, 54, 59, 1, 50, 23, 22, - 21, 20, 7, 6, 7, 34, 39, 35, 21, 16, 23, 21, 35, 39, 54, 17, 53, 35, 6, 35, 34, 39, 38, 53, 52, 55, 54, 59, 1, 50, 23, 38, - 39, 53, 52, 55, 54, 3, 20, 31, 1, 21, 38, 43, 1, 34, 15, 1, 20, 23, 22, 51, 50, 55, 54, 55, 51, 22, 23, 22, 51, 50, 55, 54, - 61, 1, 52, 47, 1, 35, 34, 7, 53, 54, 55, 54, 53, 52, 39, 38, 35, 34, 7, 19, 20, 7, 51, 53, 38, 53, 2,109,166, 86, 21, 94, - 18, 25, 50, 34,204, 76, 13,173, 28, 60,198, 84, 2, 67,172, 5, 70, 2, 82,203,157, 85, 21,203, 55, 42, 32, 50, 25, 81, 23,177, - 59,198,139, 10, 88, 97, 7,200, 50, 6,112, 50, 64,173, 94, 13, 18, 6, 30, 68, 74,130,138, 70, 10,208, 44, 5, 97, 88,106, 26, - 21,153, 45, 33,152, 68,216, 23, 50, 23, 5, 86,169, 57, 47,109,136, 19, 5,177, 46, 48,173, 82, 10, 6,227, 7,254,228, 90, 4, - 4,106, 1, 19, 3,230,167, 57, 47,194, 67, 10, 5, 92,145, 32,167, 86, 15,254,239,128,167, 10, 3, 8,175, 55,121, 77, 31,243, - 22, 53, 98,111,109,156, 38, 35, 5,183, 39, 3, 8, 3,112, 91, 63, 36,150, 71, 14,165,252,141, 23, 79, 3, 81, 18, 0, 0, 0, - 0, 4, 0, 46, 0, 7, 4,163, 4,198, 0, 14, 0, 29, 0, 44, 0, 72, 0, 0, 1, 51, 20, 6, 7, 20, 22, 23, 35, 38, 39, 38, - 39, 38, 54, 37, 51, 20, 6, 7, 20, 22, 23, 35, 38, 39, 38, 39, 38, 54, 5, 51, 20, 6, 7, 20, 22, 23, 35, 38, 39, 38, 39, 38, - 54, 19, 30, 1, 21, 20, 6, 4, 32, 36, 38, 53, 52, 54, 55, 51, 6, 7, 6, 20, 30, 1, 32, 62, 1, 52, 39, 38, 39, 1,126, 11, -118, 1,165, 6, 11, 23,133, 39, 12, 4,138, 1, 5, 11,119, 2,167, 5, 11, 23,132, 40, 12, 3,138, 1, 24, 11,119, 1,166, 5, - 10, 23,133, 39, 13, 3,138, 36,136,155,150,254,239,254,217,254,239,150,154,136, 3,107, 61, 70,136,245, 1, 13,246,135, 70, 62, -106, 4, 71, 51,126, 80,106, 98,164,135, 94, 42, 73,101,114,192, 78,192,123,160,152,249,204,145, 63,113,154,174, 74, 65,159,101, -131,125,206,169,118, 54, 92,126,144,254,120, 40,143, 79, 78,143, 80, 80,143, 78, 79,143, 40, 33, 56, 63,136,124, 69, 69,124,136, - 63, 56, 33, 0, 0, 1, 1,114, 0, 33, 3, 95, 5,170, 0, 17, 0, 0, 1, 51, 23, 17, 20, 15, 1, 35, 34, 47, 1, 52, 63, 1, - 50, 23, 51, 17, 3, 21, 68, 6,185, 45, 33,200, 26, 4,199, 31, 93, 85, 4, 5,170, 7,251, 70,154, 43, 3,125, 29,123, 23, 4, - 60, 4,142, 0, 0, 1, 0,162, 0, 33, 4, 47, 5,170, 0, 29, 0, 0, 1, 51, 23, 21, 22, 23, 22, 21, 20, 7, 35, 39, 54, 53, - 52, 39, 38, 39, 17, 20, 7, 35, 34, 53, 52, 55, 51, 50, 23, 17, 2, 54, 82, 8, 25,163,227,115, 4, 28, 57,215, 87, 23,212, 53, -229,200, 22, 91, 83, 5,170, 6, 37, 51, 59, 66,131,137, 91, 30, 47, 79, 66, 67, 39, 25,252, 18,144, 42,158,124, 21, 60, 4,144, - 0, 1, 0,106,255, 95, 4,103, 5,165, 0, 30, 0, 0, 1, 5, 23, 17, 20, 7, 35, 34, 61, 1, 52, 63, 1, 50, 23, 17, 37, 17, - 20, 15, 1, 35, 34, 61, 1, 52, 63, 1, 50, 23, 17, 1,217, 2,140, 2,181, 51,201,167, 37, 81, 77,253,251,142, 63, 25,203,160, - 41, 84, 75, 5,165,191, 4,251, 55,146, 40,155, 4,119, 20, 3, 55, 3,209,159,252, 23,129, 53, 7,146, 7,115, 32, 3, 63, 4, -141, 0, 0, 0, 0, 2, 0, 17, 0,124, 4,192, 5, 79, 0, 24, 0, 28, 0, 0, 1, 23, 17, 20, 7, 34, 39, 52, 55, 50, 23, 51, - 17, 33, 17, 6, 7, 35, 34, 53, 52, 55, 50, 23, 17, 23, 21, 33, 53, 4,189, 3,214,192, 15,192, 89, 65, 3,253, 62, 7,199, 3, -212,194, 82, 72, 73, 2,194, 5, 79, 3,251,243,176, 17,135,113, 12, 49, 2, 32,253,211,171, 29,145,103, 13, 52, 4, 2,170,128, -128, 0, 0, 0, 0, 2, 1, 68, 0, 37, 3,141, 5,174, 0, 12, 0, 19, 0, 0, 1, 51, 23, 17, 51, 54, 51, 22, 23, 2, 5, 39, - 17, 19, 17, 36, 17, 54, 39, 34, 1, 73, 43, 4, 3,161,136,215, 18, 27,253,212, 2, 52, 1,139, 12,152,112, 5,174, 5,252,117, -224, 3,242,254,111, 83, 2, 5,130,252, 16,254,177, 94, 1, 31,163, 8, 0, 0, 0, 2, 1,177, 0, 42, 3, 32, 5,175, 0, 13, - 0, 19, 0, 0, 1, 51, 23, 17, 37, 23, 17, 7, 35, 39, 17, 5, 35, 17, 19, 17, 51, 37, 17, 35, 1,182, 39, 6, 1, 59, 2, 4, - 38, 5,254,194, 2, 50, 1, 1, 13, 2, 5,175, 5,254, 73,152, 2,251,166, 5, 5, 1,202,151, 4, 72,253,188,254,147,135, 1, -106, 0, 0, 0, 0, 2, 1, 55, 0, 42, 3,154, 5,175, 0, 40, 0, 44, 0, 0, 1, 51, 23, 17, 55, 23, 21, 6, 7, 17, 55, 21, - 6, 7, 17, 7, 35, 39, 17, 5, 17, 7, 35, 39, 17, 7, 53, 52, 55, 17, 35, 7, 53, 55, 17, 55, 51, 23, 21, 37, 17, 1, 17, 37, - 17, 2,246, 44, 5,112, 3, 3,112,115, 1,114, 5, 44, 4,254,240, 5, 39, 5,122,122, 2,120,122, 5, 39, 5, 1, 16,254,240, - 1, 16, 5,175, 5,254,225, 57, 2,133, 7, 56,254,160, 52,128, 4, 63,254,232, 4, 4, 1, 2,132,254,185, 4, 4, 1, 47, 57, -134, 6, 57, 1,101, 53,131, 62, 1, 15, 3, 3,248,127, 1, 58,253,185,254,156,131, 1, 95, 0, 0, 1, 0, 96,255,254, 4,113, - 5, 28, 0, 69, 0, 0, 1, 35, 38, 7, 35, 34, 39, 53, 54, 53, 52, 39, 53, 54, 55, 51, 22, 59, 1, 53, 52, 39, 53, 54, 55, 51, - 22, 50, 55, 51, 22, 23, 21, 6, 29, 1, 51, 50, 55, 51, 22, 23, 21, 6, 21, 20, 23, 21, 6, 43, 1, 38, 7, 35, 17, 20, 23, 21, - 6, 7, 35, 38, 34, 7, 35, 38, 39, 53, 54, 53, 2, 42,148,159, 71, 49, 21, 9, 86, 86, 1, 28, 50, 73,158,147,115, 3, 25, 51, - 39,123, 39, 51, 25, 3,115,143,158, 73, 49, 28, 2, 86, 86, 9, 22, 48, 71,160,143,115, 3, 25, 51, 39,123, 39, 51, 25, 3,115, - 2,173, 1, 80, 31, 51, 43, 49, 61, 39, 51, 25, 3,115,153,159, 72, 49, 29, 2, 87, 87, 2, 29, 49, 72,159,153,115, 3, 25, 51, - 39, 61, 49, 43, 51, 31, 80, 1,254,136,159, 72, 50, 28, 2, 87, 87, 2, 28, 50, 72,159, 0, 0, 0, 6, 0, 46,255,240, 4,163, - 5, 15, 0, 6, 0, 13, 0, 20, 0, 27, 0, 59, 0, 71, 0, 0, 19, 6, 7, 22, 23, 55, 53, 5, 21, 23, 54, 55, 38, 39, 1, 38, - 39, 6, 7, 23, 51, 3, 35, 7, 22, 23, 54, 55, 3, 51, 55, 22, 23, 6, 7, 39, 35, 17, 23, 6, 7, 38, 39, 55, 17, 35, 7, 38, - 39, 54, 55, 23, 51, 53, 39, 54, 55, 22, 23, 15, 1, 21, 35, 21, 51, 17, 51, 17, 51, 53, 35, 53,206, 19, 42, 41, 20, 83, 2,144, - 82, 20, 41, 41, 20,254,181, 38, 42, 38, 39, 59, 40, 1, 40, 58, 39, 38, 41, 39, 6,200,182, 8,107,107, 8,182,200,110, 92, 92, - 91, 91,110,200,182, 9,107,107, 9,182,200,110, 91, 91, 92, 92,110, 96,102,102, 47,101,101, 3, 46, 40, 40, 38, 40, 59, 40, 1, - 40, 58, 40, 38, 40, 40, 1, 64, 20, 41, 41, 20, 83,252,200, 83, 20, 42, 42, 20, 2,152,110, 92, 93, 91, 91,111,254,132,182, 10, -106,106, 10,182, 1,124,111, 91, 92, 92, 92,110,187,183, 10,106,106, 10,183,101,139, 40,254,176, 1, 80, 40,139, 0, 12, 0, 47, -255,251, 4,162, 4, 78, 0, 20, 0, 35, 0, 46, 0, 54, 0, 67, 0, 77, 0,104, 0,119, 0,140, 0,151, 0,166, 0,175, 0, 0, - 1, 33, 50, 31, 1, 55, 51, 50, 21, 7, 33, 39, 53, 54, 55, 53, 38, 39, 38, 61, 1, 7, 51, 50, 23, 22, 21, 6, 7, 35, 38, 39, - 53, 54, 55, 54, 23, 21, 19, 7, 21, 51, 55, 7, 38, 47, 1, 5, 23, 55, 38, 43, 1, 34, 7, 5, 22, 31, 1, 21, 20, 7, 6, 43, - 1, 38, 39, 53, 31, 1, 51, 50, 63, 1, 52, 47, 1, 6, 37, 51, 50, 23, 22, 21, 7, 35, 39, 6, 15, 1, 23, 7, 35, 38, 39, 38, - 61, 1, 52, 63, 1, 35, 39, 53, 55, 23, 21, 23, 51, 21, 20, 7, 21, 22, 23, 19, 51, 23, 53, 39, 5, 51, 23, 21, 33, 50, 55, 51, - 23, 21, 6, 7, 6, 43, 1, 21, 7, 35, 38, 61, 1, 39, 23, 17, 7, 35, 34, 47, 1, 53, 52, 55, 5, 7, 23, 51, 53, 52, 59, 1, - 50, 63, 1, 33, 38, 61, 1, 5, 6, 7, 21, 20, 31, 1, 51, 53, 2, 20, 1, 45, 44, 22, 59, 75, 6, 4,132,254,247, 4, 14, 62, -142, 12, 35, 87, 18, 85, 42, 23,134, 12, 3,229, 3,121, 12, 34,209,154, 17,154, 72, 21, 86, 13, 15,253,206,183,122, 47, 59, 21, - 64, 34, 2,191, 14,113, 4, 61, 17, 28,111, 9,137, 41,119,101, 41, 28, 1, 36, 73,173,253,197, 15, 7, 89, 39, 4, 4, 76,137, - 11, 3, 4, 5, 2, 17,132, 15, 65, 15, 2, 76, 4, 97, 14, 2, 88, 1,119,152, 2, 21, 72, 1,229, 4, 3, 1, 27, 32, 27, 2, - 4, 5,149, 19, 26,149, 3, 7,131, 62, 6, 4,227, 88, 37, 4, 67, 1,201, 73, 73, 4, 6,176, 16, 36, 80,254,204, 6,254, 67, - 47, 4, 68, 23,206, 4, 78, 54,103, 43, 5,229, 4, 4, 13, 32, 4,248, 15, 17, 3, 4, 10, 98, 37, 8,239, 13,131, 6, 2,215, - 6, 35, 18, 1,254,241, 11, 2,131, 9,150, 10, 3,230,106,213,110, 78,203, 13,208, 32, 15, 58, 51, 14, 8,242, 3, 11,212, 79, - 20, 43, 53,123, 98, 81,164, 60, 10, 4, 44,235, 26, 16, 30, 4, 21,229, 20, 23, 6, 21,100, 31, 45, 4, 4, 29, 4, 10, 2, 6, -150, 8, 20,193, 1, 9, 6, 3,131,229, 4, 88, 25, 4, 1, 16,255, 22, 93, 3,220, 10, 3,136, 5,254,247, 3,102, 29, 9, 39, - 94, 9,131,130, 6, 22, 74,137, 1, 15, 6, 22, 74, 28, 7, 65, 33, 4,211, 0, 0, 4, 0, 60, 0, 10, 4,149, 4, 56, 0, 10, - 0, 31, 0, 50, 0, 69, 0, 0, 1, 51, 17, 7, 53, 55, 51, 17, 51, 21, 33, 5, 38, 53, 52, 63, 1, 39, 55, 23, 39, 7, 6, 23, - 22, 55, 33, 21, 33, 34, 39, 38, 37, 6, 7, 35, 21, 39, 55, 21, 51, 54, 55, 54, 39, 3, 55, 19, 22, 21, 20, 1, 22, 31, 1, 55, - 7, 39, 55, 39, 38, 7, 6, 7, 3, 39, 19, 54, 55, 54, 1,220,125,136,147, 93,125,254,158,254,129, 32, 28, 61, 45,171, 18, 45, - 72, 15, 27, 29, 87, 1, 40,254,159, 55, 42, 33, 4, 11, 62,128,121,154,154,144, 42, 19, 18, 49,147, 99,177, 27,253,189,123, 70, - 61, 46, 18,171, 44, 72, 28, 45, 46, 39,148,100,176, 29, 40, 35, 1, 89, 1, 43, 19, 71, 22,254,139, 67,134, 56, 57, 53, 55,106, - 26, 78,187, 26,125, 41, 37, 37, 6,116, 24, 20, 71,108, 7, 53,110,109, 51, 8, 40, 44, 72, 1, 1, 58,254,206, 48, 47, 40, 3, - 95, 1,107,105, 26,188, 78, 26,125, 33, 4, 7, 78,255, 0, 57, 1, 50, 48, 24, 20, 0, 0, 0, 0, 4, 0, 75, 0, 9, 4,134, - 4, 28, 0, 28, 0, 49, 0, 68, 0, 87, 0, 0, 1, 51, 21, 33, 53, 62, 1, 55, 62, 1, 53, 52, 38, 35, 34, 6, 7, 53, 62, 1, - 51, 50, 22, 21, 20, 6, 7, 14, 1, 5, 38, 53, 52, 63, 1, 39, 55, 23, 39, 7, 6, 23, 22, 55, 33, 21, 33, 34, 39, 38, 37, 6, - 7, 35, 21, 39, 55, 21, 51, 54, 55, 54, 47, 1, 55, 19, 22, 21, 20, 1, 22, 31, 1, 55, 7, 39, 55, 39, 38, 7, 6, 15, 1, 39, - 19, 54, 55, 54, 2, 64,242,254,137, 46,146, 17, 35, 26, 53, 42, 34, 73, 63, 54, 79, 34, 91,109, 27, 34, 10, 99,253,229, 31, 27, - 60, 44,167, 17, 43, 71, 14, 26, 28, 85, 1, 32,254,168, 53, 41, 32, 3,240, 60,124,119,149,149,141, 41, 18, 17, 47,144, 97,173, - 26,253,203,121, 68, 60, 44, 17,167, 43, 71, 27, 44, 44, 38,145, 97,171, 28, 40, 33, 1, 62, 66, 60, 35,113, 15, 29, 39, 19, 28, - 37, 17, 27, 78, 18, 14, 71, 57, 27, 49, 32, 9, 77,232, 55, 56, 51, 53,104, 26, 76,183, 26,123, 39, 36, 36, 5,113, 24, 19, 69, -104, 8, 51,107,106, 50, 8, 39, 43, 71,250, 56,254,214, 47, 46, 38, 3, 72, 1,103,104, 26,183, 76, 25,123, 32, 5, 6, 76,250, - 56, 1, 42, 47, 23, 19, 0, 0, 0, 4, 0, 68, 0, 10, 4,141, 4, 42, 0, 40, 0, 61, 0, 80, 0, 99, 0, 0, 1, 30, 1, 21, - 20, 6, 35, 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, 22, 21, 20, 6, 1, 38, 53, 52, 63, 1, 39, 55, 23, 39, 7, 6, 23, 22, 55, 33, 21, 33, 34, 39, 38, 37, 6, 7, 35, 21, 39, - 55, 21, 51, 54, 55, 54, 47, 1, 55, 19, 22, 21, 20, 1, 22, 31, 1, 55, 7, 39, 55, 39, 38, 7, 6, 15, 1, 39, 19, 54, 55, 54, - 2,246, 8, 68,124,113, 37, 78, 50, 52, 72, 39, 67, 66, 61, 57, 80, 83, 51, 52, 54, 52, 30, 69, 62, 54, 79, 35, 93,111, 60,253, -107, 32, 28, 60, 45,170, 17, 44, 71, 15, 26, 29, 86, 1, 36,254,164, 54, 41, 34, 3,254, 61,126,120,152,152,142, 42, 18, 18, 48, -146, 98,175, 27,253,196,122, 69, 60, 46, 18,169, 43, 71, 27, 45, 45, 38,147, 98,173, 28, 41, 34, 1,237, 1, 60, 43, 66, 73, 10, - 13, 78, 22, 13, 36, 37, 32, 36, 66, 28, 27, 28, 30, 10, 15, 71, 11, 9, 64, 54, 37, 54,254,161, 55, 57, 52, 54,105, 26, 77,185, - 26,124, 40, 36, 37, 6,115, 24, 20, 69,105, 8, 52,109,107, 51, 8, 40, 44, 71,254, 57,254,210, 48, 46, 39, 3, 83, 1,105,105, - 26,185, 77, 26,123, 33, 5, 6, 77,253, 56, 1, 47, 47, 23, 20, 0, 5, 0, 36, 0, 7, 4,173, 4,100, 0, 2, 0, 13, 0, 34, - 0, 53, 0, 72, 0, 0, 1, 7, 51, 3, 51, 17, 51, 21, 35, 21, 35, 53, 33, 53, 1, 38, 53, 52, 63, 1, 39, 55, 23, 39, 7, 6, - 23, 22, 55, 33, 21, 33, 34, 39, 38, 37, 6, 7, 35, 21, 39, 55, 21, 51, 54, 55, 54, 39, 3, 55, 19, 22, 21, 20, 1, 22, 31, 1, - 55, 7, 39, 55, 39, 38, 7, 6, 7, 3, 39, 19, 54, 55, 54, 2,129,175,175, 15,135, 92, 92,120,254,221,254,232, 34, 29, 64, 47, -179, 18, 46, 75, 16, 28, 30, 91, 1, 53,254,143, 57, 43, 35, 4, 57, 65,133,128,159,159,151, 44, 20, 19, 51,154,103,185, 29,253, -163,128, 74, 64, 48, 19,179, 46, 75, 29, 48, 48, 40,155,104,184, 29, 43, 36, 2,119,196, 1, 44,254,212, 72,109,109, 73,254,222, - 59, 60, 55, 57,111, 28, 81,196, 28,131, 43, 38, 39, 6,121, 25, 21, 74,112, 8, 55,115,113, 53, 8, 42, 47, 75, 1, 12, 60,254, -193, 50, 50, 41, 3,133, 1,111,111, 28,196, 81, 27,131, 34, 4, 7, 82,254,245, 59, 1, 64, 50, 25, 21, 0, 0, 0, 4, 0, 62, - 0, 9, 4,147, 4, 51, 0, 29, 0, 50, 0, 69, 0, 88, 0, 0, 1, 33, 21, 35, 21, 50, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, - 39, 53, 30, 1, 51, 50, 54, 53, 52, 38, 35, 34, 6, 7, 1, 38, 53, 52, 63, 1, 39, 55, 23, 39, 7, 6, 23, 22, 55, 33, 21, 33, - 34, 39, 38, 37, 6, 7, 35, 21, 39, 55, 21, 51, 54, 55, 54, 39, 3, 55, 19, 22, 21, 20, 1, 22, 31, 1, 55, 7, 39, 55, 39, 38, - 7, 6, 15, 1, 39, 19, 54, 55, 54, 1,202, 1, 72,230, 4, 31, 17,101,118,121,110, 36, 76, 50, 55, 67, 39, 60, 67, 67, 60, 28, - 59, 50,254,149, 32, 27, 61, 45,171, 18, 45, 72, 14, 26, 29, 87, 1, 39,254,160, 55, 41, 34, 4, 9, 62,128,121,153,153,144, 42, - 18, 19, 49,147, 99,177, 26,253,191,123, 70, 61, 46, 19,170, 44, 72, 28, 45, 46, 38,149, 99,176, 28, 41, 34, 2,184, 69, 82, 5, - 85, 72, 72, 83, 10, 11, 83, 23, 13, 47, 40, 42, 46, 9, 18,254,200, 56, 57, 53, 54,106, 26, 78,187, 27,126, 40, 37, 37, 6,116, - 24, 20, 71,107, 8, 53,110,109, 51, 8, 40, 44, 72, 1, 0, 58,254,207, 48, 48, 39, 3, 92, 1,106,105, 26,187, 78, 25,125, 33, - 4, 7, 78,255, 57, 1, 49, 47, 24, 20, 0, 0, 0, 5, 0, 75, 0, 0, 4,134, 4, 18, 0, 9, 0, 34, 0, 55, 0, 74, 0, 93, - 0, 0, 1, 34, 6, 20, 22, 51, 50, 54, 52, 38, 55, 21, 46, 1, 35, 34, 6, 7, 6, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 53, - 52, 54, 51, 50, 22, 1, 38, 53, 52, 63, 1, 39, 55, 23, 39, 7, 6, 23, 22, 55, 33, 21, 33, 34, 39, 38, 37, 6, 7, 35, 21, 39, - 55, 21, 51, 54, 55, 54, 47, 1, 55, 19, 22, 21, 20, 1, 22, 31, 1, 55, 7, 39, 55, 39, 38, 7, 6, 15, 1, 39, 19, 54, 55, 54, - 2, 93, 39, 48, 48, 39, 42, 47, 47,108, 43, 50, 24, 62, 65, 2, 5, 66, 40, 83, 96,100, 84, 94,100,121,103, 27, 55,253,157, 31, - 27, 60, 44,167, 17, 43, 71, 14, 26, 28, 85, 1, 32,254,168, 53, 41, 32, 3,240, 60,124,119,149,149,141, 41, 18, 17, 47,144, 97, -173, 26,253,203,121, 68, 60, 44, 17,167, 43, 71, 27, 44, 44, 38,145, 97,171, 28, 40, 33, 1,219, 46, 84, 45, 45, 84, 46,192, 72, - 15, 10, 68, 38, 5, 29, 82, 69, 67, 83,117,107,102,123, 8,253,220, 55, 56, 51, 53,104, 26, 76,183, 26,123, 40, 35, 36, 5,113, - 24, 19, 69,105, 7, 52,108,106, 50, 8, 39, 43, 71,250, 56,254,214, 47, 46, 38, 3, 72, 1,104,103, 26,183, 76, 25,122, 32, 4, - 6, 76,250, 56, 1, 42, 46, 24, 19, 0, 0, 0, 0, 4, 0, 45, 0, 12, 4,164, 4, 88, 0, 6, 0, 27, 0, 46, 0, 65, 0, 0, - 1, 33, 21, 3, 35, 19, 33, 1, 38, 53, 52, 63, 1, 39, 55, 23, 39, 7, 6, 23, 22, 55, 33, 21, 33, 34, 39, 38, 37, 6, 7, 35, - 21, 39, 55, 21, 51, 54, 55, 54, 39, 3, 55, 19, 22, 21, 20, 1, 22, 31, 1, 55, 7, 39, 55, 39, 38, 7, 6, 7, 3, 39, 19, 54, - 55, 54, 1,178, 1,129,204,110,191,254,250,254,156, 33, 29, 63, 47,177, 18, 46, 74, 15, 27, 30, 89, 1, 48,254,149, 56, 43, 34, - 4, 40, 64,131,125,158,158,148, 44, 19, 18, 50,151,102,182, 28,253,172,127, 72, 63, 47, 19,175, 45, 74, 29, 46, 48, 39,153,102, -180, 30, 42, 35, 2,192, 38,254, 75, 1,148,254, 28, 58, 59, 54, 56,110, 27, 80,193, 27,129, 42, 37, 39, 6,119, 25, 20, 73,110, - 8, 55,114,112, 53, 8, 41, 46, 74, 1, 8, 60,254,198, 50, 49, 40, 3,118, 1,109,109, 27,193, 81, 26,129, 34, 5, 7, 80,254, -249, 59, 1, 58, 49, 25, 20, 0, 0, 3, 0, 45, 0, 0, 4,164, 4, 75, 0, 20, 0, 39, 0, 58, 0, 0, 55, 38, 53, 52, 63, 1, - 39, 55, 23, 39, 7, 6, 23, 22, 55, 33, 21, 33, 34, 39, 38, 37, 6, 7, 35, 21, 39, 55, 21, 51, 54, 55, 54, 39, 3, 55, 19, 22, - 21, 20, 1, 22, 31, 1, 55, 7, 39, 55, 39, 38, 7, 6, 7, 3, 39, 19, 54, 55, 54, 78, 33, 29, 63, 47,177, 18, 46, 74, 15, 27, - 30, 89, 1, 48,254,149, 56, 43, 34, 4, 40, 64,131,125,158,158,148, 44, 19, 18, 50,151,102,182, 28,253,172,127, 72, 63, 47, 19, -175, 45, 74, 29, 46, 48, 39,153,102,180, 30, 42, 35,136, 58, 60, 54, 56,109, 27, 80,192, 27,129, 42, 38, 38, 6,119, 25, 20, 72, -110, 7, 55,113,112, 53, 9, 41, 46, 74, 1, 8, 59,254,198, 49, 49, 41, 3,119, 1,110,108, 27,193, 80, 26,130, 33, 4, 7, 80, -254,248, 59, 1, 59, 49, 25, 20, 0, 6, 0, 57,255,255, 4,152, 4, 57, 0, 16, 0, 26, 0, 39, 0, 57, 0, 72, 0, 82, 0, 0, - 1, 33, 50, 31, 1, 55, 51, 21, 6, 7, 33, 53, 54, 55, 3, 38, 35, 7, 50, 31, 1, 7, 38, 39, 54, 55, 54, 1, 22, 21, 23, 20, - 7, 6, 43, 1, 38, 39, 54, 55, 5, 22, 23, 39, 6, 15, 1, 23, 35, 3, 39, 54, 55, 54, 53, 39, 53, 51, 1, 51, 21, 33, 50, 55, - 51, 20, 3, 6, 43, 1, 21, 35, 47, 1, 23, 17, 7, 35, 34, 47, 1, 52, 55, 2, 24, 1, 36, 44, 25, 55, 74, 5,118, 12,254,255, - 73, 3,148, 26, 10, 77, 79, 32, 36,144,201, 20,112, 16, 37, 2,132,124, 2, 73, 11, 30, 94, 11,131, 18,151,253, 91,128, 1, 84, -144, 3, 2, 4, 4,151, 6, 3, 60, 20, 75,171, 2, 34, 1, 1, 40, 25, 22, 2,150, 18, 24,153, 3,126, 71, 4, 4,217, 87, 36, - 3, 63, 4, 56, 63, 93, 41, 2,206, 16, 4, 40, 7, 1, 9, 19, 3, 69, 65,247,115, 15,194, 22, 35,254,192,208, 17, 30, 76, 44, - 6, 12,235, 17, 84, 20,216, 10, 48,248, 12, 31, 21, 1, 4, 24, 24, 96, 30, 9, 43, 2,254,252, 87, 20, 7,254,251, 17, 86,219, -132, 4,254,255, 4, 96, 36, 36, 97, 0, 0, 0, 0, 7, 0, 46, 0, 7, 4,163, 4,124, 0, 19, 0, 37, 0, 50, 0, 60, 0, 74, - 0, 92, 0,101, 0, 0, 1, 51, 32, 19, 22, 29, 1, 16, 5, 6, 43, 1, 32, 3, 38, 61, 1, 16, 55, 54, 23, 21, 50, 31, 1, 21, - 6, 7, 21, 51, 54, 55, 35, 7, 38, 39, 38, 35, 5, 22, 51, 54, 55, 38, 35, 38, 35, 34, 7, 6, 7, 5, 21, 23, 51, 50, 55, 52, - 47, 1, 34, 5, 23, 6, 7, 20, 31, 1, 51, 52, 63, 1, 51, 23, 39, 5, 7, 22, 23, 51, 53, 55, 51, 50, 63, 1, 53, 35, 6, 43, - 1, 39, 53, 5, 6, 29, 1, 20, 31, 1, 51, 53, 2, 94, 21, 1, 45,185, 74,254,206,124,139, 3,254,183,176, 64,241,145,104, 29, - 39, 92, 20, 45,214, 7,101, 2, 64, 60, 14, 16, 19,254, 30,185, 6, 3,114, 50, 18, 22, 38, 72, 41, 59, 10, 1,232,117, 90, 74, - 20, 77, 31, 11,252,205, 61, 57, 8,106, 22, 2, 21,108, 7, 58,106, 1,128,103, 5, 98, 3, 4,131, 28, 46, 81, 2, 17, 26,241, - 4,254,105, 50, 81, 20,192, 4,124,254,233,133,157, 5,254,182,179, 58, 1, 42,127,125, 40, 1, 11,184,100,112, 2, 82,157, 2, - 17, 24, 2, 6,183, 33,104, 17, 9,220,106, 11,196, 96, 14, 93, 95, 23,169, 3,204,105, 36,120, 58, 45, 40, 94, 37, 17,177, 44, - 51, 19,189, 34,184,216,191, 2,180, 69, 5, 97,135, 2, 12, 5, 72, 77, 80, 30, 9, 69, 31, 3,222, 0, 0, 0, 0, 8, 0, 55, - 0, 4, 4,154, 4,103, 0, 15, 0, 32, 0, 47, 0, 58, 0, 66, 0, 82, 0, 96, 0,106, 0, 0, 1, 32, 19, 22, 21, 16, 5, 6, - 35, 32, 3, 38, 53, 16, 37, 54, 1, 16, 5, 22, 59, 1, 32, 19, 54, 53, 16, 37, 38, 35, 32, 3, 6, 1, 51, 50, 31, 1, 55, 21, - 6, 7, 35, 53, 55, 38, 47, 1, 35, 50, 31, 1, 7, 35, 38, 39, 54, 55, 54, 1, 22, 29, 1, 6, 43, 1, 39, 37, 51, 23, 7, 35, - 39, 35, 6, 7, 21, 38, 47, 1, 52, 55, 39, 5, 51, 21, 51, 50, 55, 21, 15, 1, 35, 7, 21, 35, 39, 37, 51, 23, 21, 7, 35, 34, - 47, 1, 54, 2,106, 1, 49,178, 77,254,227,123,157,254,199,174, 71, 1, 38,128,254,122, 1, 10,118,127, 36, 1, 14,172, 69,254, -240,120,138,254,221,168, 69, 1,197,235, 40, 18, 43, 61, 82, 20,204, 58,110, 19, 20, 58, 68, 23, 33,115, 2,171, 13, 89, 21, 33, - 1,250,103, 16, 81, 75,117,253,162,207,109, 2, 2, 59, 2,125, 4, 9,117, 2, 65, 59, 2, 62, 5,245, 15, 18,130, 17,127, 4, - 5,101,254,231,225, 4, 4,184, 61, 29, 5, 1, 4,103,254,241,134,158,254,194,175, 67, 1, 23,121,165, 1, 63,176, 63,253,205, -254,212,162, 66, 1, 3,124,147, 1, 42,168, 62,254,252,119, 1, 18, 52, 73, 32, 2,153, 26, 2, 39,191, 29, 9, 53, 64,194, 96, - 12,160, 19, 24,254,253,169, 25, 17, 98,199, 67,183, 2, 36,208, 16, 20, 9,205, 13, 21,106, 36,206, 72, 15, 4,219, 7, 5, 63, -178,105, 4,207, 4, 77, 33, 37, 0, 5, 0, 46, 0, 7, 4,163, 4,124, 0, 7, 0, 23, 0, 31, 0, 55, 0, 72, 0, 0, 1, 22, - 23, 50, 55, 38, 39, 6, 1, 32, 19, 22, 21, 16, 5, 6, 35, 32, 3, 38, 53, 16, 37, 54, 1, 6, 7, 22, 51, 54, 55, 38, 5, 21, - 35, 6, 39, 46, 1, 55, 38, 54, 55, 50, 23, 54, 51, 30, 1, 7, 22, 6, 7, 6, 39, 35, 37, 16, 5, 22, 59, 1, 32, 19, 54, 53, - 16, 37, 38, 35, 32, 3, 6, 1, 4, 1,140,109, 74, 66,124,133, 1,101, 1, 54,180, 79,254,222,125,159,254,194,176, 73, 1, 43, -129, 1,111,124, 66, 74,110,139, 2, 2,254,155, 2, 94,143,106, 97, 5, 3,121,103,119, 97, 97,121,103,120, 2, 4, 97,106,143, - 94, 2,253,229, 1, 14,119,130, 36, 1, 19,174, 70,254,236,121,141,254,216,170, 70, 2, 71,156, 2,155,148, 3, 2, 1,162,254, -237,135,162,254,189,177, 68, 1, 28,123,167, 1, 67,180, 63,254, 96, 3,148,155, 2,156,146,205, 22,150, 6, 12,147, 66, 93,119, - 1,130,130, 1,119, 93, 66,147, 12, 6,150, 74,254,208,165, 67, 1, 7,125,150, 1, 46,171, 63,254,248,121, 0, 0, 2, 0, 80, - 0, 8, 4,129, 5, 37, 0, 24, 0, 46, 0, 0, 1, 50, 21, 6, 7, 23, 51, 50, 23, 7, 35, 23, 33, 22, 19, 55, 23, 6, 7, 38, - 3, 33, 34, 3, 52, 1, 6, 35, 34, 46, 1, 53, 52, 55, 54, 55, 23, 6, 7, 20, 30, 1, 50, 54, 55, 23, 6, 1,140,134, 1,112, - 21,241, 11, 14, 4,241, 11, 1,133, 11,123,117, 42, 4,240, 14,130,254, 95, 11, 74, 1,185, 99,108,108,198,109, 56, 28, 42, 35, - 22, 2, 73,133,145,132, 37, 60, 40, 5, 36,124,143, 1,202,128, 3, 88, 6,254,164, 35,123, 7, 78, 21, 1,119, 2,192,116,251, - 27, 55,109,197,110,108,100, 52, 41,190, 53, 58, 73,133, 73, 73, 66,147, 44, 0, 0, 3, 0, 60, 0, 5, 4,149, 4, 95, 0, 23, - 0, 27, 0, 31, 0, 0, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 1, 17, - 33, 17, 37, 33, 17, 33, 1,255, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14,254, 62, 4, 87, -252, 36, 3, 96,252,160, 2, 52, 31, 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21,253,241, 4, 90,251, -166,124, 3, 98, 0, 4, 0, 60, 0, 5, 4,149, 4, 95, 0, 23, 0, 47, 0, 51, 0, 55, 0, 0, 1, 52, 55, 54, 55, 54, 51, 50, - 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, - 7, 6, 35, 34, 39, 38, 39, 38, 1, 17, 33, 17, 37, 33, 17, 33, 1, 23, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, - 32, 31, 21, 23, 16, 14, 1,209, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14,253, 85, 4, 87, -252, 36, 3, 96,252,160, 1, 72, 31, 21, 23, 15, 14, 14, 15, 23, 21, 31, 32, 21, 23, 15, 15, 15, 15, 23, 21, 1,244, 32, 21, 22, - 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20,253, 9, 4, 90,251,166,124, 3, 98, 0, 0, 0, 0, 5, 0, 60, - 0, 5, 4,149, 4, 95, 0, 23, 0, 47, 0, 71, 0, 75, 0, 79, 0, 0, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, - 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 19, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, - 39, 38, 19, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 1, 17, 33, 17, 37, 33, - 17, 33, 1, 23, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14,232, 14, 16, 23, 20, 32, 32, 21, - 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14,233, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, - 16, 14,253, 85, 4, 87,252, 36, 3, 96,252,160, 1, 72, 31, 21, 23, 15, 14, 14, 15, 23, 21, 31, 32, 21, 23, 15, 15, 15, 15, 23, - 21, 1, 12, 31, 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 1, 8, 32, 21, 22, 16, 14, 14, 15, 23, - 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20,253, 9, 4, 90,251,166,124, 3, 98, 0, 6, 0, 60, 0, 1, 4,149, 4, 91, 0, 23, - 0, 47, 0, 71, 0, 95, 0, 99, 0,103, 0, 0, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, - 39, 38, 39, 38, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 37, 52, 55, 54, - 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, - 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 1, 17, 33, 17, 37, 33, 17, 33, 1, 23, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, - 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 1,209, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, -254, 47, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 1,209, 14, 15, 23, 21, 32, 31, 21, 23, - 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14,253, 85, 4, 87,252, 36, 3, 96,252,160, 3, 24, 32, 21, 23, 15, 15, 15, 15, 23, - 21, 32, 31, 21, 23, 15, 14, 14, 15, 23, 21,254, 75, 31, 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, - 32, 31, 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 1,244, 32, 21, 23, 15, 15, 15, 15, 23, 21, 32, - 31, 21, 23, 15, 14, 14, 15, 23, 21,253, 8, 4, 90,251,166,124, 3, 98, 0, 0, 0, 7, 0, 60, 0, 5, 4,149, 4, 95, 0, 23, - 0, 47, 0, 71, 0, 95, 0,119, 0,123, 0,127, 0, 0, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, - 35, 34, 39, 38, 39, 38, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 37, 52, - 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, - 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 7, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, - 35, 34, 39, 38, 39, 38, 1, 17, 33, 17, 37, 33, 17, 33, 1, 23, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, - 21, 23, 16, 14, 1,209, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14,254, 47, 14, 16, 23, 20, - 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 1,209, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20, - 32, 32, 21, 22, 16, 14,233, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14,254, 62, 4, 87,252, - 36, 3, 96,252,160, 3, 28, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20,254, 76, 31, 21, 23, 15, - 14, 14, 15, 23, 21, 31, 32, 21, 23, 15, 15, 15, 15, 23, 21, 32, 31, 21, 23, 15, 14, 14, 15, 23, 21, 31, 32, 21, 23, 15, 15, 15, - 15, 23, 21, 1,244, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20,200, 31, 21, 23, 16, 14, 14, 16, - 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21,253,241, 4, 90,251,166,124, 3, 98, 0, 0, 0, 0, 8, 0, 60,255,252, 4,149, - 4, 86, 0, 23, 0, 47, 0, 71, 0, 95, 0,119, 0,143, 0,147, 0,151, 0, 0, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, - 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 37, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, - 39, 38, 39, 38, 17, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 1, 52, 55, 54, - 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 37, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, - 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, - 39, 38, 39, 38, 1, 17, 33, 17, 37, 33, 17, 33, 2,231, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, - 16, 14,254, 48, 14, 15, 24, 20, 32, 32, 20, 23, 16, 14, 14, 15, 24, 20, 32, 32, 20, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, - 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 1,209, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, - 16, 14,254, 47, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 1,209, 14, 15, 23, 21, 32, 31, - 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14,253, 85, 4, 87,252, 36, 3, 96,252,160, 2, 43, 32, 21, 22, 16, 14, 14, - 15, 23, 21, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 32, 21, 22, 16, 14, 14, 15, 23, - 21, 1, 46, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21,254, 0, 32, 21, 22, 16, 14, 14, 15, 23, - 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20, 2, - 64, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21,252,227, 4, 90,251,166,124, 3, 98, 0, 0, 0, - 0, 3, 0, 46, 0, 0, 4,163, 4,116, 0, 12, 0, 27, 0, 41, 0, 0, 1, 50, 4, 18, 16, 2, 4, 32, 36, 2, 16, 18, 36, 1, - 20, 30, 1, 32, 62, 1, 53, 52, 46, 1, 35, 34, 14, 1, 4, 52, 62, 1, 51, 50, 30, 1, 20, 14, 1, 35, 34, 38, 2,104,144, 1, - 16,154,150,254,240,254,217,254,240,150,153, 1, 16,254,152,133,240, 1, 7,240,133,137,240,128,127,242,135, 2,185, 26, 46, 25, - 24, 46, 26, 27, 45, 24, 25, 45, 4,116,147,254,238,254,214,254,242,151,151, 1, 14, 1, 42, 1, 18,147,253,198,132,240,132,132, -240,132,131,243,130,130,243,156, 50, 46, 25, 25, 46, 50, 47, 24, 24, 0, 0, 0, 0, 4, 0, 46, 0, 5, 4,163, 4,121, 0, 12, - 0, 27, 0, 41, 0, 54, 0, 0, 1, 50, 4, 18, 16, 2, 4, 32, 36, 2, 16, 18, 36, 1, 20, 30, 1, 32, 62, 1, 53, 52, 46, 1, - 35, 34, 14, 1, 4, 52, 62, 1, 51, 50, 30, 1, 20, 14, 1, 35, 34, 38, 36, 50, 30, 1, 20, 14, 1, 35, 34, 46, 1, 52, 54, 2, -104,144, 1, 16,154,150,254,240,254,217,254,240,150,153, 1, 16,254,152,133,240, 1, 7,240,133,137,240,128,127,242,135, 2,185, - 26, 46, 25, 24, 46, 26, 27, 45, 24, 25, 45,253,230, 49, 46, 26, 26, 45, 26, 24, 46, 26, 27, 4,121,147,254,238,254,214,254,242, -151,151, 1, 14, 1, 42, 1, 18,147,253,198,132,240,132,132,240,132,131,243,130,130,243,156, 50, 46, 25, 25, 46, 50, 47, 24, 24, -168, 24, 47, 50, 46, 25, 25, 46, 50, 47, 0, 0, 0, 2, 0, 46, 0, 0, 4,163, 4,116, 0, 12, 0, 26, 0, 0, 1, 50, 4, 18, - 16, 2, 4, 32, 36, 2, 16, 18, 36, 1, 50, 62, 1, 52, 46, 1, 35, 34, 14, 1, 20, 30, 1, 2,104,144, 1, 16,154,150,254,240, -254,217,254,240,150,153, 1, 16, 1,178, 24, 45, 27, 26, 46, 24, 25, 46, 26, 27, 45, 4,116,147,254,238,254,214,254,242,151,151, - 1, 14, 1, 42, 1, 18,147,253,102, 24, 47, 50, 46, 25, 25, 46, 50, 47, 24, 0, 0, 3, 0, 46,255,246, 4,163, 4,106, 0, 12, - 0, 26, 0, 39, 0, 0, 1, 50, 4, 18, 16, 2, 4, 32, 36, 2, 16, 18, 36, 1, 50, 62, 1, 52, 46, 1, 35, 34, 14, 1, 20, 30, - 1, 36, 20, 30, 1, 51, 50, 62, 1, 52, 46, 1, 34, 6, 2,104,144, 1, 16,154,150,254,240,254,217,254,240,150,153, 1, 16, 1, -178, 24, 45, 27, 26, 46, 24, 25, 46, 26, 27, 45,253,113, 26, 46, 24, 26, 45, 26, 26, 46, 49, 45, 4,106,147,254,238,254,214,254, -242,151,151, 1, 14, 1, 42, 1, 18,147,253,102, 24, 47, 50, 46, 25, 25, 46, 50, 47, 24,121, 50, 46, 25, 25, 46, 50, 47, 24, 24, - 0, 1, 0, 82, 0, 7, 4,127, 0,150, 0, 3, 0, 0, 55, 33, 21, 33, 82, 4, 45,251,211,150,143, 0, 0, 0, 0, 2, 0, 82, - 0, 7, 4,127, 0,150, 0, 3, 0, 7, 0, 0, 55, 33, 21, 33, 37, 33, 21, 33, 82, 1,179,254, 77, 2,122, 1,179,254, 77,150, -143,143,143, 0, 0, 2, 0,150,255,254, 4, 59, 4,187, 0, 9, 0, 26, 0, 0, 1, 54, 4, 55, 17, 6, 39, 38, 7, 47, 1, 35, - 39, 51, 21, 35, 21, 54, 23, 22, 55, 17, 6, 36, 7, 17, 35, 1, 37,135, 1,128,215,175,190,143,210, 16, 80, 61, 1,219, 61,205, -176,204,188,231,254, 98,146, 78, 2, 27, 43,187, 35, 1,240, 33,102,129, 34, 2, 75, 43, 43, 21, 33,124,111, 53,253,155, 60,201, - 63,254, 49, 0, 0, 1, 0,115, 0, 5, 4, 94, 5, 30, 0, 16, 0, 0, 19, 35, 39, 51, 21, 35, 21, 54, 23, 22, 55, 17, 6, 36, - 7, 17, 35,182, 66, 1,236, 66,221,189,220,203,249,254, 66,157, 84, 4,240, 46, 46, 23, 35,133,120, 58,253,107, 65,217, 68,254, - 13, 0, 0, 0, 0, 1, 0, 39,255,255, 4,170, 4, 40, 0, 31, 0, 0, 1, 39, 7, 39, 55, 39, 55, 23, 55, 23, 7, 23, 55, 39, - 55, 23, 55, 23, 7, 22, 19, 39, 7, 31, 1, 7, 47, 1, 15, 1, 39, 55, 2, 37,237,132,140,132, 33, 98, 31,131,140,130,236,237, -131,141,131, 31, 97, 32, 50, 24,214,236,126,227,131,192,128,126,192,131,225, 1,196,239,132,141,133, 31, 98, 31,132,142,132,239, -238,133,142,133, 32, 98, 31, 80,254,230,220,240,127,193,132,228,127,127,228,132,193, 0, 0, 0, 0, 2, 0, 31, 0, 0, 4,178, - 4,211, 0, 15, 0, 82, 0, 0, 1, 20, 30, 1, 51, 50, 62, 1, 53, 52, 46, 1, 35, 34, 14, 1, 19, 21, 35, 6, 35, 34, 39, 53, - 35, 21, 35, 34, 38, 39, 38, 39, 7, 3, 23, 7, 48, 23, 22, 23, 22, 23, 17, 33, 53, 33, 53, 38, 39, 46, 1, 52, 62, 1, 51, 50, - 30, 1, 20, 6, 7, 6, 7, 21, 33, 21, 33, 17, 54, 55, 54, 55, 54, 55, 39, 55, 3, 39, 6, 7, 6, 7, 6, 1,252, 32, 58, 31, - 33, 57, 33, 34, 57, 32, 30, 58, 33,184, 6, 30, 32, 2, 3, 5, 6,137,251, 70, 13, 11, 71, 23,249, 70, 5, 59,107, 89, 95,254, -207, 1, 49, 21, 21, 50, 55, 56,101, 53, 54,100, 58, 56, 49, 22, 22, 1, 41,254,215, 82, 76,107, 60, 2, 3, 71,250, 24, 71, 10, - 14, 69,126, 94, 3,255, 32, 58, 32, 32, 58, 32, 32, 59, 32, 32, 59,251,229, 1, 2, 1, 1, 1, 78, 71, 14, 13, 53, 1, 13,101, - 52, 5, 71, 40, 32, 6, 2, 76,105, 41, 7, 11, 28,101,110,102, 55, 55,102,110,101, 28, 11, 7, 41,105,253,182, 9, 27, 40, 71, - 3, 2, 52,101,254,243, 53, 13, 14, 71, 40, 29, 0, 4, 0,129, 0, 12, 4, 80, 4,109, 0, 4, 0, 9, 0, 57, 0, 89, 0, 0, - 37, 38, 39, 7, 22, 37, 23, 54, 55, 38, 1, 23, 54, 55, 51, 6, 7, 23, 22, 23, 14, 1, 7, 38, 47, 1, 6, 7, 39, 54, 55, 39, - 7, 22, 23, 7, 38, 39, 7, 6, 7, 34, 38, 39, 52, 63, 1, 38, 39, 51, 22, 23, 55, 1, 39, 9, 1, 7, 1, 21, 39, 1, 55, 9, - 1, 23, 1, 3, 38, 47, 1, 30, 1, 23, 55, 38, 39, 19, 23, 35, 23, 6, 7, 23, 62, 1, 55, 7, 6, 7, 4, 14, 36, 15, 7, 3, -252,177, 6, 15, 37, 56, 2, 24,208, 56, 20, 69, 19, 70,117, 47, 1, 4, 45, 32, 54, 3,117, 78, 68, 29, 76, 50,183,182, 50, 76, - 29, 69, 78,117, 1, 47, 30, 56, 3, 48,117, 70, 19, 68, 21, 56,209,254,106, 24, 1,230, 1,231, 25,254, 85, 24, 1,189, 4,254, - 52,254, 53, 3, 1,191,239, 66, 37, 17, 31,121,133, 6, 92, 65,234, 27, 1,204, 64, 89, 7,132,121, 31, 16, 36, 70, 24, 10, 48, - 6, 61, 47, 6, 48, 10, 9, 1,159,228, 44, 45, 88, 55,136, 2, 48, 32, 25, 1, 3, 59,126, 42, 6, 50, 12, 37,218,218, 37, 12, - 50, 6, 42,126, 54, 8, 22, 27, 57, 2,136, 55, 88, 45, 44,228, 1,227,111,253,236, 2, 20,111,254, 3, 1, 27, 2, 16, 11,253, -242, 2, 14, 11,253,244,254,243, 43, 70, 1, 57,100, 49, 12, 28, 41, 1, 12, 30,240, 40, 27, 12, 49,100, 57, 1, 67, 49, 0, 0, - 0, 5, 0,188,255,253, 4, 21, 5,236, 0, 3, 0, 22, 0, 42, 0, 67, 0, 84, 0, 0, 1, 22, 39, 38, 19, 21, 6, 35, 34, 39, - 53, 38, 55, 54, 55, 21, 6, 21, 6, 4, 7, 35, 38, 3, 36, 39, 38, 37, 21, 6, 21, 20, 4, 23, 6, 5, 39, 54, 39, 38, 39, 17, - 39, 19, 17, 39, 17, 36, 39, 54, 55, 54, 23, 7, 23, 6, 39, 38, 7, 6, 4, 23, 6, 5, 53, 36, 39, 54, 37, 39, 3, 46, 1, 53, - 52, 62, 1, 51, 50, 30, 1, 21, 20, 6, 7, 1,148, 68, 22, 36,250, 12, 28, 34, 4,182, 2, 6,158, 64, 4, 1, 70, 2, 14, 28, -198,254,232, 6, 2, 1, 16,170, 2, 44, 2, 4,254,238, 2,188, 6, 2,194, 78, 78, 78,254,118, 4, 14,212, 70, 56,112, 94, 76, - 98, 50, 10, 4, 2,242, 6, 6,254,150, 1, 18, 2, 12,254,216, 78, 4, 22, 24, 24, 42, 22, 24, 42, 24, 24, 20, 4,181, 30, 43, - 11,251,148, 66, 29, 64, 48, 34, 65, 82, 25, 47, 24, 22, 48, 63,119, 65, 1,183, 37,111,100, 47, 68, 38, 51, 46, 89, 97, 81, 47, - 53, 35, 51, 36, 34,254,180, 19, 3, 1,254,129, 16, 1,117, 19,138,144, 5, 4, 73, 30, 25, 18, 39, 13, 64, 51, 47,117,138, 16, - 61, 32, 61, 35,110, 7, 1, 45, 11, 46, 24, 25, 46, 24, 24, 46, 25, 24, 46, 11, 0, 3, 0, 19, 0, 3, 4,190, 4,119, 0, 3, - 0, 7, 0, 51, 0, 0, 37, 11, 1, 22, 37, 11, 1, 22, 1, 51, 50, 29, 1, 20, 43, 1, 19, 6, 7, 14, 1, 35, 34, 46, 1, 55, - 19, 33, 19, 22, 14, 1, 34, 38, 39, 38, 39, 19, 35, 38, 61, 1, 52, 59, 1, 55, 23, 51, 55, 23, 51, 55, 4,128,207,207,207,254, - 68,207,207,207, 2,175,160, 42, 31,145,207, 2, 36, 35,130, 71, 70,129, 72, 2,204,253,250,205, 2, 72,129,141,130, 37, 35, 1, -206,153, 24, 43,161, 40, 38,189, 97, 97,189, 39,196, 2,109,253,147, 57, 57, 2,109,253,147, 57, 2,249, 32, 18, 30,253,149, 51, - 46, 48, 53, 53, 95, 52, 2,105,253,151, 52, 95, 53, 53, 48, 46, 51, 2,107, 12, 22, 11, 35,116,116,242,242,116, 0, 2, 0, 22, - 0, 6, 4,187, 4,107, 0, 22, 0, 34, 0, 0, 1, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 38, 39, 46, 1, 7, 6, - 7, 39, 18, 1, 19, 35, 3, 35, 17, 35, 3, 35, 3, 35, 19, 1,214,138,118, 41, 37,151, 56, 27, 13, 32, 95, 94,168, 62, 25, 58, -107,123,149, 90,172, 3,178, 71, 95, 63,215,103, 1,214, 64, 96, 72, 4, 44, 62, 6, 30,124, 58, 61, 43, 44,106, 44, 44, 60,134, - 54, 79, 47, 50,217, 51, 1, 51,254, 29,254, 60, 1, 98,254,158, 1, 98,254,158, 1,196, 0, 0, 0, 2, 0, 74,255,253, 4,135, - 5, 30, 0, 13, 0, 49, 0, 0, 0, 20, 30, 1, 51, 50, 62, 1, 52, 46, 1, 35, 34, 6, 19, 21, 51, 22, 54, 55, 20, 4, 7, 6, - 7, 35, 38, 55, 38, 36, 3, 30, 1, 55, 51, 53, 38, 39, 46, 1, 52, 62, 1, 50, 30, 1, 20, 6, 7, 6, 1,207, 44, 80, 42, 43, - 80, 44, 46, 78, 43, 41, 80,164, 5,133,198,151,254,100, 34, 47, 1, 37, 40, 2, 4,254, 77, 77,174,216,126, 6, 57, 53, 68, 76, - 77,137,145,139, 78, 77, 68, 50, 4, 41, 87, 78, 44, 44, 78, 87, 80, 42, 42,254,103,136, 1,168, 33,202,135,132,119,214,156,143, -115,126, 1, 10, 1,215, 12,135, 6, 31, 38,136,151,138, 74, 74,138,151,136, 38, 28, 0, 0, 0, 0, 3, 0, 30, 0, 0, 4,179, - 4,211, 0, 63, 0, 71, 0, 79, 0, 0, 0, 50, 31, 1, 22, 23, 55, 22, 23, 7, 22, 23, 55, 22, 23, 7, 22, 20, 7, 23, 6, 7, - 39, 6, 7, 23, 6, 7, 39, 6, 15, 1, 6, 34, 47, 1, 38, 39, 7, 38, 39, 55, 38, 39, 7, 38, 39, 55, 38, 52, 55, 39, 54, 55, - 23, 54, 55, 39, 54, 55, 23, 54, 63, 1, 18, 32, 6, 16, 22, 32, 54, 16, 6, 20, 6, 34, 38, 52, 54, 50, 2, 69, 71, 35, 26, 57, - 54, 92, 62, 52, 50, 40, 28,112, 30, 13, 95, 4, 4, 95, 13, 30,112, 28, 40, 50, 52, 62, 92, 54, 57, 26, 35, 71, 35, 26, 58, 53, - 92, 62, 52, 50, 40, 28,112, 30, 13, 95, 4, 4, 95, 13, 30,112, 28, 40, 50, 52, 62, 92, 53, 58, 26,218,254,217,209,209, 1, 39, -209,224, 78,109, 78, 78,109, 4,211, 4,128, 11, 25, 85, 37, 52,109, 43, 51, 13, 69, 74, 53, 30, 58, 29, 54, 74, 69, 13, 51, 43, -109, 52, 37, 84, 24, 12,127, 5, 5,127, 12, 24, 84, 37, 52,109, 43, 51, 13, 69, 74, 54, 29, 58, 30, 53, 74, 69, 13, 51, 44,108, - 52, 37, 84, 24, 11,128,255, 0,210,254,217,208,208, 1, 39, 92,110, 77, 77,110, 77, 0, 0, 0, 0, 15, 0, 42, 0, 12, 4,167, - 5, 63, 0, 8, 0, 13, 0, 18, 0, 23, 0, 28, 0, 33, 0, 38, 0, 43, 0, 48, 0, 53, 0, 58, 0, 63, 0, 68, 0, 80, 0,145, - 0, 0, 0, 20, 30, 1, 51, 38, 55, 34, 6, 5, 22, 23, 55, 38, 39, 22, 23, 55, 38, 39, 22, 23, 55, 38, 39, 22, 7, 55, 38, 39, - 22, 7, 23, 54, 39, 6, 7, 23, 54, 37, 23, 54, 55, 6, 7, 23, 54, 55, 6, 7, 23, 54, 55, 6, 31, 1, 38, 55, 6, 23, 55, 38, - 55, 6, 23, 55, 38, 39, 6, 23, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 39, 53, 38, 39, 46, 1, 52, 62, 1, 51, 50, 30, 1, - 20, 6, 7, 6, 7, 51, 20, 35, 21, 22, 23, 22, 23, 54, 55, 4, 23, 6, 35, 38, 7, 22, 21, 20, 7, 6, 7, 3, 21, 6, 35, 34, - 39, 53, 3, 38, 39, 38, 53, 52, 55, 38, 7, 34, 39, 54, 37, 22, 23, 54, 55, 54, 2, 49, 15, 27, 16, 26, 26, 15, 28, 1,180, 97, - 36, 23, 79,127, 96, 32, 34, 78,105, 66, 14, 42, 52,108, 44, 1, 52, 34, 85, 2, 21, 52, 2, 55, 41, 44, 51, 40,252,224, 23, 36, - 97, 77, 35, 34, 31, 97, 84, 17, 42, 14, 66, 70, 13, 52, 1, 44, 61, 52, 52, 22, 3, 35, 89, 51, 44, 41, 6,253, 48, 66, 66, 48, - 47, 67, 66, 79, 3, 2, 16, 19, 19, 34, 18, 18, 33, 19, 18, 17, 1, 3, 1, 1, 45, 36, 3, 3, 70, 19, 1, 36, 70, 74,223, 70, - 49, 4, 46, 35, 45, 1, 10, 20, 22, 7, 2, 45, 35, 45, 2, 50, 77,223, 74, 70, 1, 36, 19, 71, 6, 8, 35, 5, 9, 30, 27, 16, - 56, 60, 15,103, 55, 42, 33, 50, 17, 85, 54, 29, 74, 37,110, 61, 17, 95, 67,127, 66, 7,110, 84,135, 62, 9,114, 89,119, 48, 23, -100, 9, 34, 42, 55, 14, 93, 29, 54, 85, 36,117, 17, 61,110, 59,119, 7, 66,127, 76,122, 9, 62,135, 92,101, 23, 48,119, 90, 51, - 67, 46, 49, 66, 66, 49, 46, 67, 40, 78, 1, 2, 9, 34, 37, 34, 18, 18, 34, 37, 34, 9, 2, 1, 1, 77, 8, 35, 3, 3,112, 46, - 5, 80,143, 22, 22, 17, 18, 65, 46, 36, 7,253, 59, 81, 19, 25, 87, 2,185, 7, 36, 46, 65, 15, 15, 28, 23,142, 80, 5, 45,123, - 9, 8, 34, 0, 0, 15, 0, 82, 0, 11, 4,127, 4,199, 0, 15, 0, 26, 0, 38, 0, 46, 0, 70, 0, 82, 0,138, 0,150, 0,158, - 0,166, 0,178, 0,186, 0,194, 0,202, 0,214, 0, 0, 1, 50, 30, 1, 21, 20, 14, 1, 35, 34, 46, 1, 53, 52, 62, 1, 7, 38, - 39, 6, 7, 6, 22, 55, 54, 55, 38, 37, 6, 7, 22, 23, 22, 55, 54, 39, 38, 39, 6, 39, 22, 21, 20, 7, 54, 55, 38, 39, 38, 39, - 38, 39, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 54, 55, 54, 55, 54, 53, 52, 55, 22, 23, 22, 23, 54, 55, 54, 39, 38, 7, - 6, 5, 55, 62, 1, 51, 50, 22, 23, 21, 54, 23, 22, 23, 22, 21, 20, 7, 6, 7, 51, 22, 23, 22, 21, 20, 7, 14, 1, 39, 35, 6, - 7, 6, 35, 34, 39, 38, 39, 6, 38, 39, 38, 53, 52, 55, 54, 55, 38, 39, 38, 53, 52, 55, 54, 55, 54, 5, 38, 39, 38, 35, 34, 7, - 6, 7, 22, 23, 54, 23, 6, 7, 22, 23, 22, 23, 38, 37, 6, 7, 54, 55, 54, 55, 38, 39, 38, 39, 38, 7, 6, 23, 22, 23, 54, 55, - 54, 7, 6, 7, 22, 23, 38, 53, 52, 23, 22, 23, 54, 55, 38, 39, 38, 23, 22, 23, 54, 55, 6, 7, 6, 7, 6, 7, 22, 23, 22, 51, - 50, 55, 54, 55, 38, 2,104, 16, 29, 16, 16, 29, 16, 16, 29, 16, 16, 29,183, 64, 57,104, 41, 44, 41, 82, 80,124, 12, 1,136, 5, - 11,124, 80, 82, 21, 21, 45, 42,103, 58, 62, 2, 2, 47, 42, 42, 89, 38, 40, 41, 40, 40, 39, 41, 38, 1, 1, 38, 41, 39, 41, 40, - 40, 41, 37, 3, 20, 12, 5, 64, 57,102, 43, 46, 21, 21, 84, 82,254, 34, 1, 28, 96, 51, 51, 96, 27,138, 92, 95, 26, 9, 28, 46, -110, 1,112, 44, 27, 9, 26,183,140, 1, 27, 48, 48, 52, 52, 49, 47, 28,139,184, 25, 9, 26, 44,112,110, 44, 28, 9, 26, 93, 93, - 1,194, 22, 38, 38, 40, 41, 38, 38, 21, 69, 69, 69, 74, 48, 51, 28, 29, 27, 27, 4,254,217, 7, 5, 27, 28, 28, 28, 50, 87,121, - 81, 84, 20, 22, 46, 44,100, 57, 64, 5, 7, 46, 42, 42, 46, 1, 46, 5, 7, 49, 50, 28, 28, 29,174, 51, 48, 8, 4, 26, 28, 29, - 73, 68, 69, 21, 37, 38, 42, 42, 37, 38, 21, 70, 2,166, 15, 30, 17, 16, 28, 17, 17, 28, 16, 17, 30, 15,176, 43, 46, 83, 69, 70, - 69, 3, 3, 46, 73, 77, 77, 73, 46, 3, 3, 34, 35, 70, 69, 83, 46,136, 32, 33, 31, 32, 31, 32, 34, 59, 24, 23, 23, 21, 21, 23, - 23, 24, 45, 48, 46, 45, 25, 23, 23, 21, 21, 23, 23, 25, 45, 46, 48,217, 73, 77, 43, 46, 82, 69, 70, 36, 36, 4, 4, 8, 2,145, -156,156,145, 2, 49, 1, 2, 46, 16, 22, 37, 50, 83, 95, 96, 81, 50, 37, 22, 16, 45, 4, 49,143, 79, 81, 81, 79,143, 50, 5, 45, - 16, 22, 36, 51, 81, 96, 95, 82, 51, 38, 21, 16, 46, 2, 1, 62,131, 71, 73, 73, 71,131, 26, 34, 34, 13, 21, 23, 15, 16, 17, 16, - 55, 52, 52, 55, 16, 17, 16, 15, 23, 35, 46, 4, 4, 36, 36, 70, 69, 82, 47, 43, 76,127, 31, 34, 32, 31, 32, 31, 33,174, 55, 53, - 20, 24, 14, 17, 16, 47, 24, 20, 53, 55, 17, 16, 17, 37, 34, 27,128, 73, 74, 74, 73,128, 27, 0, 0, 7, 0, 42,255,254, 4,167, - 5, 26, 0, 11, 0, 20, 0, 29, 0, 41, 0,112, 0,126, 0,140, 0, 0, 1, 20, 23, 54, 55, 38, 39, 54, 55, 38, 39, 6, 5, 52, - 38, 21, 6, 21, 22, 23, 54, 37, 6, 23, 54, 55, 46, 1, 39, 6, 5, 52, 39, 6, 7, 22, 23, 6, 7, 22, 23, 54, 3, 38, 7, 6, - 7, 38, 39, 54, 55, 22, 23, 54, 55, 38, 53, 52, 63, 1, 21, 22, 21, 20, 7, 30, 1, 23, 54, 55, 22, 23, 6, 7, 38, 39, 38, 7, - 22, 23, 22, 20, 7, 6, 7, 22, 23, 6, 35, 38, 39, 6, 7, 6, 7, 35, 38, 39, 53, 38, 39, 6, 7, 34, 39, 54, 55, 38, 39, 38, - 52, 55, 54, 6, 20, 30, 1, 51, 50, 62, 1, 52, 46, 1, 35, 34, 6, 55, 50, 30, 1, 20, 14, 1, 35, 34, 46, 1, 52, 62, 1, 2, -154, 34, 48, 39, 45, 8, 3, 44, 32, 41, 42,255, 0, 35, 39, 7, 48, 19, 1,163, 6, 20, 53, 3, 3, 37, 1, 34,255, 0, 42, 37, - 37, 44, 3, 12, 41, 44, 44, 34,232, 71, 26, 28, 78, 89, 2, 2,160,148, 73, 39, 43, 34,144, 1,143, 34, 36, 40, 5, 74,147,161, - 1, 2, 89, 78, 28, 18, 79, 23, 17, 50, 49, 21, 28, 30, 44, 1, 12, 57, 44, 52, 61, 83, 22, 28, 28, 77, 58, 55, 44, 58, 12, 1, - 45, 30, 28, 20, 49, 50, 17, 45, 91,165, 91, 90,165, 91, 93,166, 87, 88,166,254, 73,139, 79, 77,139, 75, 76,139, 77, 78,140, 2, - 50,142,147, 13, 31, 89,123,149, 92, 25, 13, 98,179, 67, 87, 1, 68, 74,103, 65, 66, 99,112, 55, 76, 94, 66, 77, 1, 76, 48,148, - 98, 11, 27, 92,149,117, 93, 33, 13,147, 1, 64, 82, 37, 75, 2, 2,108,104, 2, 6,104, 22, 15, 79, 43,119,213, 1, 1,213,119, - 43, 79, 11, 23, 3,104, 6, 2,104,108, 2, 2, 75, 36, 80, 27, 30, 90,192, 88, 39, 31, 64, 68, 10, 48, 58, 41, 19, 30,119,119, - 30, 1, 18, 42, 59, 48, 10, 69, 65, 30, 38, 88,192, 90, 30,119,180,165, 91, 91,165,180,167, 91, 91, 71, 74,140,152,138, 77, 77, -138,152,140, 74, 0, 4, 0, 34, 0, 2, 4,175, 4, 40, 0, 7, 0, 13, 0, 21, 0, 37, 0, 0, 1, 51, 1, 21, 33, 39, 35, 0, - 23, 1, 21, 33, 53, 0, 7, 50, 21, 2, 35, 34, 3, 54, 19, 50, 30, 1, 21, 20, 14, 1, 35, 34, 46, 1, 53, 52, 62, 1, 2,111, - 5, 2, 58,251,129, 6, 6, 2, 53, 16,254, 40, 3,183,254, 54, 14, 55, 37, 18, 16, 39, 18, 36, 14, 26, 15, 14, 27, 14, 14, 26, - 15, 15, 26, 4, 40,251,225, 6, 6, 4, 7,110,252,170, 12, 6, 3, 72,138, 48,254, 76, 1,186, 42,253,231, 14, 25, 15, 15, 25, - 14, 14, 25, 15, 15, 25, 14, 0, 0, 1, 0,136, 0, 8, 4, 73, 5, 34, 0, 19, 0, 0, 1, 51, 23, 21, 1, 20, 51, 4, 21, 23, - 1, 39, 53, 0, 53, 52, 35, 36, 47, 1, 4, 42, 12, 19,253,220, 80, 1, 82, 7,252,198, 12, 2, 54,104,254,193, 14, 6, 5, 34, - 19, 6,254, 38, 62, 73, 12, 62,253,170, 19, 6, 2, 12, 11, 62, 65, 15, 62, 0, 0, 1, 0,243, 0, 0, 3,223, 5,216, 0, 5, - 0, 0, 1, 33, 19, 3, 33, 3, 1,174, 1,117,188,188,254,139,187, 5,216,254,137,251,159, 4, 97, 0, 0, 0, 0, 1, 0,222, - 0, 0, 3,243, 4,193, 0, 19, 0, 0, 1, 22, 21, 20, 7, 3, 33, 3, 38, 53, 52, 55, 54, 39, 35, 53, 33, 23, 7, 22, 3, 43, -200, 7,193,254,123,192, 8,200,104, 6, 95, 1,129, 1, 97, 1, 3,246, 54,145, 26, 29,253, 8, 2,248, 31, 27,142, 54, 21,109, - 72, 72, 1,109, 0, 3, 0, 46, 1,114, 4,163, 3,243, 0, 90, 0,121, 0,153, 0, 0, 1, 39, 35, 34, 39, 38, 7, 6, 21, 20, - 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 50, 31, 1, 22, 51, 50, 55, 54, 55, - 54, 55, 54, 39, 38, 39, 38, 39, 38, 47, 1, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 50, 22, 23, 22, 23, 22, 21, 20, - 7, 6, 7, 6, 7, 6, 23, 22, 31, 1, 33, 50, 23, 22, 23, 33, 23, 37, 22, 51, 50, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, - 38, 39, 38, 35, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 30, 1, 19, 38, 35, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, - 23, 22, 51, 50, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 2,203,151, 80,122, 20, 30, 2, 1, 7, 9, 18, 16, 25, 20, 30, - 25, 26, 25, 18, 15, 16, 13, 9, 9, 17, 17, 25, 20, 30, 24, 26, 44, 68, 64, 26, 9, 16, 13, 13, 2, 2, 3, 2, 9, 8, 16, 55, - 59, 43, 26, 18, 20, 10, 14, 9, 9, 18, 19, 22, 25, 50, 51, 18, 22, 9, 13, 9, 6, 9, 12, 2, 4, 24, 29, 77, 57, 1, 22,163, - 56, 71, 12,254, 41,149,253, 58, 14, 14, 17, 12, 14, 9, 12, 3, 4, 9, 7, 10, 13, 13, 17, 12, 14, 14, 15, 9, 9, 5, 4, 9, - 7, 21,214, 13, 16, 20, 8, 15, 9, 12, 3, 4, 9, 7, 10, 11, 15, 15, 14, 17, 11, 15, 9, 11, 3, 5, 10, 7, 10, 8, 1,114, -145, 4, 6, 10, 5, 17, 12, 16, 23, 17, 15, 9, 8, 10, 10, 18, 14, 26, 20, 27, 26, 20, 23, 16, 16, 9, 8, 10, 18, 27, 2, 3, - 9, 11, 5, 5, 17, 16, 13, 14, 13, 48, 24, 17, 11, 17, 19, 21, 26, 21, 26, 20, 23, 17, 17, 7, 8, 21, 17, 21, 20, 25, 23, 24, - 21, 17, 8, 12, 5, 9, 15, 19, 76, 58, 22, 29, 53,146, 85, 6, 4, 5, 7, 9, 12, 12, 12, 9, 17, 12, 9, 12, 5, 6, 4, 5, - 7, 9, 12, 12, 12, 10, 16, 12, 20, 1,231, 7, 4, 5, 7, 11, 10, 12, 12, 11, 15, 12, 10, 9, 7, 6, 3, 5, 8, 10, 10, 12, - 13, 10, 15, 13, 10, 7, 0, 0, 0, 3, 0, 46, 1, 92, 4,163, 4, 11, 0, 25, 0,114, 0,140, 0, 0, 18, 50, 54, 55, 54, 55, - 54, 53, 52, 39, 38, 39, 46, 1, 34, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 1, 5, 6, 35, 34, 39, 37, 7, 14, 1, 21, 20, - 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 59, 1, 50, 55, 62, 1, 55, - 54, 52, 39, 46, 1, 39, 38, 43, 1, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, 21, - 20, 7, 6, 21, 20, 22, 31, 1, 37, 54, 51, 50, 23, 36, 34, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 30, 1, 50, 54, 55, 54, 55, - 54, 53, 52, 39, 38, 39, 38,172, 35, 28, 12, 13, 6, 6, 6, 6, 13, 12, 28, 35, 28, 12, 13, 6, 6, 6, 6, 13, 12, 2, 64, 1, -210, 33, 82, 60,165,254,237, 79,113, 60, 8, 5, 11, 10, 21, 17, 30, 24, 59, 25, 25, 21, 20, 12, 10, 10, 11, 21, 16, 30, 25, 29, - 51, 64, 77, 20, 28, 9, 9, 9, 9, 28, 20, 74, 67, 51, 29, 25, 30, 16, 21, 11, 10, 10, 12, 20, 21, 25, 25, 59, 24, 30, 17, 21, - 10, 11, 5, 8, 60,113, 79, 1, 19,165, 60, 82, 33,252, 45, 35, 28, 12, 13, 6, 6, 6, 6, 13, 12, 28, 35, 28, 12, 13, 6, 6, - 6, 6, 13, 12, 1,152, 10, 10, 11, 11, 12, 14, 14, 12, 11, 11, 9, 11, 11, 9, 11, 11, 12, 14, 14, 12, 11, 11, 10, 1, 18,190, - 47, 65,110, 33, 47, 10, 10, 6, 17, 12, 19, 26, 23, 22, 19, 16, 12, 10, 10, 10, 18, 15, 26, 23, 26, 26, 23, 22, 19, 16, 12, 10, - 25, 7, 20, 14, 16, 12, 15, 15, 19, 7, 25, 10, 12, 16, 19, 22, 23, 26, 26, 23, 26, 16, 17, 10, 10, 10, 12, 15, 20, 22, 23, 26, - 19, 12, 16, 6, 11, 11, 46, 33,109, 66, 48, 95, 11, 9, 11, 11, 12, 14, 14, 12, 11, 10, 10, 11, 11, 10, 10, 11, 12, 14, 14, 12, - 11, 11, 9, 0, 0, 3, 0, 58, 1, 63, 4,151, 3,178, 0, 89, 0,120, 0,151, 0, 0, 1, 51, 7, 33, 6, 7, 6, 35, 33, 7, - 6, 7, 6, 21, 20, 23, 22, 23, 22, 21, 20, 7, 6, 7, 14, 1, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 63, 1, 54, - 55, 54, 55, 54, 55, 54, 39, 38, 39, 38, 39, 38, 35, 34, 15, 1, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 62, 1, 55, 54, - 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, 23, 22, 55, 54, 59, 1, 37, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 51, 50, - 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 39, 38, 35, 34, 19, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 39, 38, 35, 34, 6, - 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 51, 50, 2,201,147,147, 1,205, 12, 69, 55,159,254,241, 57, 69, 34, 20, 14, 9, - 6, 8, 12, 9, 21, 18, 50, 49, 24, 22, 19, 19, 7, 8, 13, 8, 21, 18, 25, 43, 57, 54, 15, 8, 9, 2, 3, 2, 2, 13, 7, 21, - 5, 30, 62, 66, 43, 25, 24, 30, 19, 25, 16, 17, 9, 8, 12, 13, 35, 25, 25, 25, 29, 19, 25, 16, 17, 9, 6, 2, 4, 27, 17,122, - 79,254,111, 15, 10, 6, 11, 9, 4, 5, 9, 7, 16, 12, 16, 14, 29, 10, 11, 7, 8, 4, 4, 10, 5, 19, 11, 16, 14,180, 15, 10, - 6, 11, 9, 4, 5, 9, 10, 13, 12, 15, 15, 29, 10, 10, 7, 9, 4, 5, 9, 11, 13, 13, 14, 10, 3,178,142, 52, 28, 22, 57, 68, - 24, 14, 11, 3, 13, 8, 16, 23, 24, 18, 27, 19, 20, 17, 20, 7, 7, 17, 18, 21, 23, 21, 18, 29, 19, 20, 17, 10, 17, 23, 47, 13, - 13, 14, 15, 16, 6, 5, 10, 5, 7, 2, 27, 17, 10, 8, 9, 15, 16, 22, 22, 23, 24, 23, 22, 34, 10, 10, 8, 9, 15, 16, 22, 16, - 12, 19, 3, 10, 7, 4, 58, 6, 9, 6, 16, 14, 11, 14, 10, 12, 8, 6, 6, 4, 12, 10, 9, 12, 15, 13, 11, 10, 12, 8, 7, 5, - 4,254, 24, 6, 9, 5, 17, 13, 11, 15, 10, 11, 9, 8, 4, 3, 12, 9, 10, 12, 13, 12, 15, 9, 11, 9, 9, 3, 4, 0, 0, 0, - 0, 9, 0, 61, 1, 74, 4,148, 4, 3, 0, 90, 0,120, 0,150, 0,180, 0,210, 0,254, 1, 45, 1, 52, 1, 72, 0, 0, 1, 54, - 55, 38, 39, 38, 39, 38, 43, 1, 34, 39, 38, 39, 38, 39, 38, 52, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, - 7, 22, 31, 1, 55, 54, 51, 50, 23, 22, 21, 20, 7, 13, 1, 22, 21, 20, 7, 6, 35, 34, 47, 1, 7, 6, 7, 22, 21, 20, 7, 6, - 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 59, 1, 50, 55, 54, 6, 50, 55, 54, 55, 54, 55, - 54, 53, 52, 39, 38, 39, 38, 39, 38, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 18, 50, 55, 54, 55, 54, 55, 54, 53, - 52, 39, 38, 39, 38, 39, 38, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 18, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, - 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 2, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, - 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 5, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 53, 52, 39, 38, - 39, 38, 39, 38, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 59, 1, 50, 23, 22, 23, 22, 23, 55, 54, 7, 45, 1, - 38, 35, 34, 15, 1, 6, 7, 6, 7, 6, 7, 6, 43, 1, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 50, 55, 54, - 55, 54, 55, 54, 53, 52, 39, 38, 53, 52, 55, 54, 37, 23, 22, 51, 50, 55, 37, 38, 20, 7, 6, 7, 6, 34, 39, 38, 39, 38, 52, 55, - 54, 55, 54, 50, 23, 22, 23, 1,157, 8, 5, 5, 8, 6, 17, 56, 63, 46, 31, 31, 25, 28, 23, 13, 13, 13, 11, 27, 19, 32, 29, 33, - 32, 30, 29, 24, 27, 9, 13, 5, 33, 97, 61,240,155, 63, 94, 39, 6, 21,254,161, 1, 95, 21, 6, 41, 92, 63,155,240, 61, 97, 33, - 5, 13, 13, 23, 25, 28, 33, 29, 35, 27, 28, 23, 29, 9, 13, 13, 11, 25, 19, 34, 29, 33, 46, 56, 63, 16,191, 20, 7, 8, 7, 6, - 3, 2, 2, 3, 6, 7, 8, 7, 20, 7, 8, 7, 7, 2, 2, 2, 2, 7, 7, 8, 7, 20, 7, 8, 7, 6, 3, 2, 2, 3, 6, 7, - 8, 7, 20, 7, 8, 7, 7, 2, 2, 2, 2, 7, 7, 8, 34, 34, 15, 14, 12, 13, 6, 6, 6, 6, 13, 12, 14, 15, 34, 15, 14, 12, - 13, 6, 6, 6, 6, 13, 12, 14, 15, 34, 15, 14, 12, 13, 6, 6, 6, 6, 13, 12, 14, 15, 34, 15, 14, 12, 13, 6, 6, 6, 6, 13, - 12, 14, 1, 12, 26,102, 27, 15, 8, 11, 8, 4, 9, 9, 18, 14, 26, 22, 50, 22, 22, 18, 17, 10, 9, 9, 9, 18, 14, 26, 22, 25, - 46, 63, 69, 21, 12, 16, 5, 24, 19,130, 1, 83, 1,161, 29, 64, 54,149,252,102, 12, 12, 16, 14, 19, 71, 61, 46, 25, 22, 26, 14, - 18, 9, 9, 9, 10, 17, 18, 22, 22, 50, 22, 26, 14, 18, 9, 9, 4, 8, 11, 9, 1, 21,197,149, 54, 64, 29,254,136,149, 3, 5, - 6, 6, 15, 6, 6, 5, 3, 3, 5, 6, 6, 15, 6, 6, 5, 2,152, 6, 8, 10, 5, 4, 7, 22, 11, 9, 23, 19, 29, 26, 66, 26, - 23, 27, 18, 12, 11, 11, 11, 21, 25, 23, 32, 27, 20, 13, 6, 41, 25, 95, 62, 57, 9, 12, 21, 8,143,142, 8, 26, 8, 8, 57, 62, - 95, 25, 41, 7, 16, 16, 32, 27, 29, 20, 22, 9, 11, 11, 11, 19, 24, 25, 37, 23, 31, 28, 24, 24, 19, 13, 11, 22, 6,207, 2, 4, - 5, 5, 5, 3, 5, 5, 3, 5, 5, 5, 3, 3, 3, 3, 6, 4, 5, 3, 5, 5, 4, 4, 5, 5, 4, 1,137, 3, 3, 6, 4, 5, - 3, 5, 5, 4, 4, 5, 5, 4, 2, 2, 4, 5, 5, 5, 3, 5, 5, 3, 5, 5, 5, 3,254, 73, 5, 5, 10, 11, 12, 12, 15, 15, - 12, 12, 11, 9, 6, 5, 5, 6, 9, 11, 12, 12, 15, 15, 12, 12, 11, 10, 5, 1,134, 5, 6, 9, 11, 12, 12, 15, 15, 12, 12, 11, - 10, 5, 5, 5, 5, 10, 11, 12, 12, 15, 15, 12, 12, 11, 9, 6, 63, 10, 42, 5, 3, 4, 5, 10, 7, 16, 10, 16, 22, 20, 18, 17, - 13, 12, 8, 8, 10, 15, 13, 22, 20, 22, 22, 20, 18, 17, 13, 11, 9, 23, 7, 9, 12, 6, 17, 12,186,133,170, 32, 59,100, 46, 21, - 20, 11, 9, 7, 24, 8, 11, 13, 17, 19, 19, 22, 23, 19, 22, 13, 15, 10, 8, 8, 11, 13, 18, 18, 19, 23, 16, 9, 17, 7, 14, 1, - 1, 63, 80, 60, 33,154, 30, 15, 6, 7, 4, 3, 3, 4, 7, 6, 15, 6, 6, 4, 4, 4, 4, 6, 0, 3, 0, 52, 0, 71, 4,157, - 4,180, 0,110, 0,128, 0,146, 0, 0, 1, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 51, 50, 55, 54, 55, 54, 55, 54, 53, 52, - 39, 38, 39, 38, 39, 38, 35, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 21, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, - 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 46, 2, 53, 52, 55, 54, 55, 38, 53, 52, 55, 18, 51, 50, - 23, 22, 21, 20, 7, 6, 35, 34, 7, 6, 7, 6, 21, 20, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 23, 54, 55, 54, 55, 54, 55, 22, - 23, 22, 7, 6, 7, 6, 7, 6, 39, 38, 1, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 54, 55, 54, 53, 52, 1,122, 3, 1, - 7, 7, 8, 14, 15, 17, 81,107,100, 89, 87, 71, 74, 35, 35, 35, 34, 75, 69, 89, 88,101, 97, 91, 87, 71, 74, 35, 35, 35, 21, 32, - 78, 42, 41, 41, 39, 85, 79,103,103,113,113,104, 98, 84, 81, 43, 41, 41, 39, 85, 81,101,103,114,115,101, 30, 50, 26, 13, 10, 20, - 2, 78,133,123, 59, 5, 11, 26, 25, 6, 40, 31, 22, 50, 46, 12, 13, 16, 25, 39, 28, 13, 12, 55, 17, 30, 36, 18, 17, 2, 33, 5, - 13, 2, 7, 14, 20, 25, 27, 15, 20, 1, 47, 45, 16, 12, 15, 10, 22, 7, 21, 7, 42, 12, 21, 22, 1, 64, 4, 5, 17, 20, 21, 17, - 19, 13, 14, 8, 37, 37, 36, 72, 73, 86, 87, 99,103, 87, 83, 77, 70, 38, 37, 37, 36, 72, 73, 87, 87,103, 98, 88, 49, 46,111, 80, - 98,101,113,115,103, 96, 87, 80, 44, 43, 43, 41, 83, 81,102,100,118,111,103, 95, 87, 82, 42, 43, 43, 13, 48, 63, 35, 34, 32, 24, - 23, 12, 11,150,174, 1, 36, 6, 14, 41, 42, 50, 47, 31, 22, 91, 84, 71, 23, 16, 20, 22, 6, 33, 51, 30, 20, 40, 9, 24, 31, 45, - 41, 18, 28, 6, 15, 11, 35, 24, 37, 21, 23, 3, 5, 3, 3, 16, 12, 9, 36, 33, 39, 26, 28, 8, 7, 13, 40, 42, 48, 38, 0, 0, - 0, 6, 0, 37, 0, 63, 4,172, 4,201, 0, 15, 0, 28, 0, 44, 0, 74, 0,105, 0,137, 0, 0, 1, 38, 39, 38, 39, 55, 6, 21, - 20, 23, 22, 23, 22, 23, 22, 23, 19, 38, 39, 38, 34, 7, 6, 7, 19, 54, 51, 50, 23, 19, 23, 6, 7, 6, 7, 37, 54, 55, 54, 55, - 54, 55, 54, 53, 52, 38, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, - 55, 54, 55, 19, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 30, 1, 51, 50, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, - 39, 38, 39, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, - 55, 54, 1, 36, 48, 24, 5, 3,223, 6, 14, 15, 26, 25, 36, 15, 6,182, 26, 34, 32, 78, 33, 33, 28, 53, 38, 41, 42, 38,102,224, - 2, 7, 24, 48,254,238, 10, 11, 36, 24, 27, 15, 14,211, 47, 19, 21, 16, 16, 9, 8, 8, 9, 16, 16, 21, 19, 47, 19, 20, 17, 17, - 8, 8, 8, 8, 17, 17, 20, 42,100, 93, 89, 74, 75, 36, 37, 37, 37, 74, 72,182,102,102, 92, 89, 74, 75, 36, 36, 36, 35, 76, 71, - 92, 90,104,116,106,101, 86, 84, 44, 43, 43, 40, 88, 82,105,105,117,115,107,100, 86, 84, 44, 42, 42, 40, 88, 81,105,106, 1,110, - 55, 60, 11, 12,189, 22, 26, 37, 34, 35, 27, 24, 16, 7, 1, 1, 59, 25, 15, 15, 15, 15, 25, 1, 34, 7, 7,254,136,189, 6, 17, - 60, 55, 98, 4, 4, 16, 24, 27, 35, 34, 37, 25, 88, 8, 9, 15, 18, 19, 21, 23, 22, 21, 19, 17, 16, 9, 8, 8, 9, 16, 17, 19, - 21, 22, 23, 21, 19, 18, 15, 9, 1,144, 38, 37, 74, 75, 89, 89,106,100, 91, 89, 74, 73, 77, 38, 37, 75, 74, 89, 89,102,106, 89, - 85, 79, 72, 39, 38, 75, 44, 42, 86, 83,104,103,121,114,106, 98, 89, 84, 43, 45, 45, 42, 85, 83,104,103,117,118,106, 98, 89, 83, - 45, 44, 0, 0, 0, 1, 0, 61, 0, 60, 4,148, 4, 91, 0, 45, 0, 0, 19, 53, 55, 39, 51, 23, 54, 55, 38, 3, 51, 23, 51, 21, - 35, 23, 51, 21, 35, 23, 51, 50, 23, 22, 20, 7, 6, 43, 1, 7, 51, 21, 35, 7, 51, 21, 35, 7, 35, 18, 55, 38, 39, 7, 35, 55, - 82, 27, 48, 75,110,109,215, 40,128, 92, 86,111, 64, 75,115, 70,114,198, 53, 36, 24, 24, 36, 53,198,114, 70,115, 75, 64,111, 86, - 92,128, 40,215,109,110, 75, 48, 2, 61, 30, 3,164,151, 10, 7,208, 1, 15,113, 60, 97, 60,149, 19, 13, 33, 13, 19,149, 60, 97, - 60,113, 1, 8,215, 8, 9,150,163, 0, 0, 0, 0, 5, 0, 63, 0,115, 4,146, 3,150, 0, 13, 0, 20, 0, 34, 0, 41, 0, 45, - 0, 0, 1, 37, 33, 5, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 5, 17, 5, 22, 21, 20, 13, 1, 33, 37, 6, 7, 6, 7, 6, - 34, 39, 38, 39, 38, 39, 37, 17, 37, 38, 53, 52, 1, 17, 33, 17, 2,223, 1, 79,252,117, 1, 79, 5, 6, 22, 28, 26, 63, 26, 33, - 17, 6, 36, 1, 71,254,185, 2,254,243,254,176, 3,139,254,176, 5, 5, 22, 28, 26, 63, 26, 28, 22, 5, 38,254,186, 1, 70, 2, -254,111, 4, 83, 2,100,229,229, 7, 6, 21, 13, 11, 11, 15, 19, 7,129,221, 1,241,221, 13, 14, 15, 81,229,229, 6, 6, 21, 12, - 11, 11, 12, 21, 6,129,221,254, 15,220, 14, 15, 14,254, 96, 3, 35,252,221, 0, 0, 4, 1, 68, 0, 11, 3,141, 4,234, 0, 75, - 0,198, 0,217, 0,233, 0, 0, 1, 52, 55, 54, 63, 1, 54, 55, 50, 59, 1, 38, 39, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, - 23, 22, 31, 1, 22, 23, 54, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 55, 54, 51, 50, 23, 22, 23, 22, 15, 1, 6, 31, 1, 22, 21, - 20, 7, 23, 20, 7, 6, 21, 20, 23, 33, 53, 52, 39, 38, 39, 38, 55, 54, 39, 38, 1, 38, 35, 34, 15, 1, 6, 15, 1, 6, 15, 1, - 39, 38, 47, 1, 38, 39, 38, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 31, 2, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 39, 38, - 47, 1, 38, 39, 38, 35, 34, 7, 6, 7, 22, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 21, 20, 23, 22, 23, 22, 23, 22, 21, 20, - 7, 38, 39, 38, 39, 38, 63, 1, 54, 39, 38, 39, 6, 35, 34, 39, 38, 39, 38, 35, 34, 23, 22, 23, 22, 31, 1, 22, 21, 7, 33, 39, - 52, 55, 54, 47, 1, 54, 53, 52, 39, 38, 55, 19, 54, 39, 1, 7, 22, 23, 22, 23, 22, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 39, - 38, 7, 6, 7, 22, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 47, 1, 1, 68, 31, 18, 14, 43, 17, 31, 2, 2, 3, 21, 34, 25, 16, - 28, 19, 22, 30, 13, 14, 40, 14, 60, 62, 31, 12, 12, 15, 5, 4, 9, 4, 10, 4, 1, 5, 30, 22, 33, 45, 24, 11, 1, 9, 2, 7, - 1, 2, 2, 3, 1, 3, 17, 3, 1,254, 64, 4, 7, 31, 40, 1, 2, 24, 15, 2, 19, 3, 32, 28, 4, 4, 1, 8, 29, 4, 18, 44, - 20, 8, 35, 14, 37, 62, 22, 16, 14, 11, 14, 7, 6, 24, 11, 15, 78,112, 78, 77, 3, 16, 4, 4, 18, 15, 4, 3, 38, 95, 42, 6, - 35, 24, 16, 10, 5, 4, 3, 7, 40, 33, 10, 7, 38, 41, 17, 12, 1, 44, 19, 20, 44, 8, 2, 23,102, 38, 5, 6, 11, 1, 6, 2, - 6, 6, 12, 23, 33, 11, 13, 19, 14, 40, 8, 3, 2, 8, 6, 3, 8, 75, 1, 1, 1, 95, 1, 10, 11, 1, 1, 2, 7, 5, 1, 9, - 1, 2,254, 90, 14, 29, 48, 45, 14, 3, 1, 14, 8, 9, 3, 2, 10, 4, 5, 89,105, 12, 2, 68, 31, 12, 9, 13, 7, 3, 10, 6, - 9, 99, 2,112, 45, 41, 5, 26, 76, 30, 9, 38,103, 75, 29, 49, 30, 22, 23, 26, 4, 10, 21, 91,154, 78, 30, 17, 14, 51, 36, 26, - 13,110, 47, 5, 9, 9, 34, 33, 24, 48, 21, 15,123, 73,246, 23, 34, 18, 29, 72, 30, 35,102, 24,109, 15,116, 50, 62,149, 15, 27, - 44, 55, 72, 31, 66, 73, 46, 2, 59, 47, 56, 91, 24, 44,160, 23, 5, 13, 9, 11, 81, 31, 91,122, 41, 12, 10, 9, 5, 9, 25, 46, - 22, 41,209, 83, 57, 76, 10, 7, 15, 3, 1, 16, 5, 6, 42, 69, 31, 3, 25, 18, 8, 6, 9, 18, 32, 26, 15, 9, 39, 43, 40, 29, - 52, 37, 26, 2, 40, 52, 23, 13, 32, 14, 5, 4, 13, 7, 42, 88, 13, 8, 19, 18, 62, 12, 9, 9, 4, 21, 3, 4, 10, 55, 3, 28, - 65, 41, 18,175, 8, 9,130,150, 48, 39, 45, 53, 55, 48, 43, 73, 59, 45, 37, 1, 10, 14, 42,254,167, 17, 35, 37, 40, 48, 10, 10, - 14, 13, 7, 8, 17, 19, 7, 4, 93, 15, 16, 39, 53, 46, 7, 14, 9, 8, 15, 14, 9, 4, 85, 0, 0, 8, 0, 45, 0,149, 4,164, - 3,252, 0, 6, 0, 57, 0, 76, 0,112, 0,123, 0,127, 0,137, 0,141, 0, 0, 19, 22, 55, 54, 53, 52, 39, 5, 34, 39, 38, 35, - 34, 7, 6, 43, 1, 34, 39, 15, 1, 55, 38, 53, 52, 63, 1, 54, 55, 54, 55, 54, 55, 54, 51, 50, 23, 55, 54, 51, 50, 23, 22, 21, - 7, 23, 22, 51, 50, 55, 51, 22, 21, 20, 7, 35, 53, 6, 37, 54, 55, 54, 55, 19, 39, 38, 35, 34, 7, 6, 15, 1, 22, 21, 20, 7, - 54, 37, 34, 47, 1, 7, 20, 7, 54, 55, 22, 21, 20, 7, 6, 35, 34, 7, 22, 21, 20, 7, 50, 55, 54, 51, 50, 23, 22, 51, 50, 55, - 54, 53, 52, 39, 6, 55, 22, 21, 20, 7, 21, 51, 54, 53, 52, 39, 5, 54, 55, 15, 1, 6, 21, 20, 23, 22, 23, 54, 53, 52, 15, 1, - 55, 38,169, 19, 15, 11, 12, 2,116, 33, 77, 35, 20, 27,108, 53, 23, 71, 59, 26, 64,188, 92, 5, 10, 50, 20, 18, 66, 88, 45, 48, - 25, 25, 37, 45,109, 32, 42, 27, 21, 9,135,145, 32, 28, 39, 4,161, 63, 44,177, 78,253,171, 24, 21, 6, 3,239, 26, 12, 22, 63, -168, 39, 24, 14, 33, 31, 28, 2,159, 38, 17,173, 82, 59, 45, 62, 11, 26, 60, 92, 45, 17, 24, 14, 82, 53, 45, 54, 28, 69, 33, 34, - 36, 98, 31, 36, 18, 54, 36, 33,113, 34, 44,253,162, 59, 10,116, 64, 80, 34, 22, 31, 16,251, 35, 67, 5, 1,127, 2, 28, 22, 22, - 22, 12,223, 10, 3, 11, 6, 42, 70, 83,192, 13, 23, 18, 34,165, 68, 24, 88, 64, 33, 19, 9, 37,122, 36, 40, 18, 21,156, 96, 21, - 21, 93,129,148,106, 77, 26,166, 26, 80, 20, 11, 1, 10, 21, 10,166, 38, 79, 47, 43, 28, 64, 25, 6,252, 12,112, 95,117, 60, 2, - 30, 10, 15, 13, 11, 28, 1, 28, 51, 30, 32, 9, 8, 9, 4, 26, 68, 77, 75, 90, 5, 21, 82,100, 89, 76, 54, 68,149, 95, 89,171, - 66, 73,139, 53, 19, 46, 33, 22, 14, 2, 33, 39, 39,107, 71, 28, 26, 0, 0, 0, 0, 7, 0, 87, 0,132, 4,122, 4,166, 0, 21, - 0, 27, 0, 34, 0, 41, 0, 51, 0, 83, 0, 90, 0, 0, 1, 54, 55, 54, 53, 52, 47, 1, 6, 35, 20, 7, 6, 35, 20, 7, 23, 22, - 51, 50, 55, 54, 1, 63, 1, 15, 2, 19, 55, 1, 19, 37, 1, 55, 5, 1, 22, 53, 52, 39, 1, 0, 54, 53, 52, 39, 1, 7, 1, 22, - 51, 1, 54, 55, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 55, - 54, 23, 7, 1, 22, 51, 50, 39, 3,242, 7, 4, 5, 1, 48, 19, 24, 44, 44, 59, 18,192, 7, 6, 8, 12, 9,253, 40,124, 11,119, -124, 11,107,215, 2, 6,149,253,228,253,251, 14, 1,105, 1,171, 53, 2,254, 46, 1, 85, 44, 5,254, 92, 92, 1,164, 14, 12,253, -234, 10, 13, 12, 13, 11, 8, 11, 8, 6, 4, 5, 7, 8, 12, 11, 12, 12, 13, 12, 7, 11, 8, 5, 3, 4, 8, 8, 37,103, 1,210, - 9, 8, 46, 1, 1, 11, 6, 10, 13, 8, 4, 7,193, 18, 59, 44, 45, 22, 20, 48, 1, 5, 4, 2,106,123,119, 11,123,119, 1, 51, - 15,253,251,253,228,150, 2, 4,216, 17,254, 86, 1, 46, 8, 10, 1,210,253, 84, 44, 27, 12, 14, 1,165, 92,254, 91, 5, 2, 94, - 11, 9, 8, 4, 3, 6, 7, 11, 8, 11, 13, 12, 14, 10, 12, 8, 8, 4, 3, 6, 5, 13, 9, 11, 13, 11, 13,198, 11,254, 45, 1, - 53, 0, 0, 0, 0, 7, 0, 38, 0,224, 4,171, 2,196, 0, 19, 0, 25, 0, 32, 0, 39, 0, 45, 0, 69, 0, 76, 0, 0, 0, 52, - 39, 38, 39, 38, 47, 1, 20, 7, 22, 20, 7, 22, 21, 55, 54, 55, 54, 55, 5, 53, 39, 7, 21, 23, 3, 55, 33, 13, 1, 33, 39, 55, - 33, 54, 53, 52, 39, 33, 4, 52, 39, 33, 21, 33, 36, 52, 55, 54, 55, 62, 1, 50, 22, 23, 22, 23, 22, 20, 7, 6, 7, 14, 1, 34, - 38, 39, 38, 39, 23, 7, 33, 54, 53, 52, 39, 4, 3, 3, 2, 5, 3, 8,149, 15, 36, 36, 15,149, 8, 3, 5, 2,252,230, 67, 67, - 67,124,124, 2, 93, 1,170,254, 86,253,163,124,234, 1,236, 18, 25,253,226, 2, 86, 35,254, 27, 1,229,253,117, 3, 2, 5, 5, - 13, 14, 13, 5, 6, 2, 3, 3, 2, 6, 5, 13, 14, 13, 5, 5, 2,142, 57, 2, 30, 25, 18, 1,202, 17, 8, 7, 6, 5, 4, 90, - 23, 15, 40,102, 40, 14, 23, 89, 4, 5, 7, 7, 60,153, 80, 80,153, 80, 1, 0,142,242,241,142,213, 18, 16, 19, 18,225, 80, 17, -114, 43, 28, 13, 12, 11, 10, 11, 11, 10, 11, 12, 13, 28, 13, 12, 10, 10, 12, 12, 10, 10, 12, 86, 72, 18, 20, 16, 18, 0, 0, 0, - 0, 7, 0, 87, 0,187, 4,122, 4,221, 0, 21, 0, 27, 0, 34, 0, 41, 0, 51, 0, 83, 0, 90, 0, 0, 1, 38, 39, 38, 35, 34, - 15, 1, 22, 21, 50, 23, 22, 21, 50, 23, 55, 54, 53, 52, 39, 38, 1, 39, 31, 2, 39, 7, 47, 1, 1, 37, 3, 1, 39, 23, 1, 54, - 53, 52, 7, 46, 1, 35, 34, 7, 1, 23, 1, 54, 53, 1, 38, 39, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 23, - 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 39, 38, 55, 1, 54, 35, 34, 7, 1, 3,242, 7, 9, 12, 8, 6, 7,192, 18, 59, 44, - 44, 24, 19, 48, 1, 5, 4,253, 26,119, 11,124,119, 11,136,161, 14, 2, 5, 2, 28,149,253,250, 15, 12, 1,210, 2, 53, 30, 44, - 27, 12, 14,254, 92, 92, 1,164, 5,253,163, 12, 8, 8, 4, 3, 5, 8, 11, 7, 12, 13, 12, 12, 11, 12, 8, 7, 5, 4, 6, 8, - 11, 8, 11, 13, 12, 13, 15, 1,169, 1, 46, 8, 9,254, 46, 4, 86, 7, 5, 4, 1, 48, 20, 22, 45, 44, 58, 19,193, 7, 4, 8, - 13, 10,253,163, 11,119,123, 11,119,173,160,216, 2, 5,149,253,229,253,250,192,104, 1,211, 10, 8, 46, 1,111, 44, 5,254, 91, - 92, 1,165, 14, 12,253,232, 12, 13, 11, 13, 11, 9, 13, 5, 6, 3, 4, 8, 8, 12, 10, 14, 12, 13, 11, 8, 11, 7, 6, 3, 4, - 8, 9,220, 1,170, 54, 2,254, 46, 0, 0, 0, 0, 2, 0, 59, 1, 43, 4,150, 3, 93, 0, 35, 0, 67, 0, 0, 18, 52, 39, 22, - 37, 5, 21, 37, 46, 1, 39, 38, 34, 7, 6, 7, 6, 7, 6, 20, 23, 22, 23, 22, 23, 22, 50, 55, 62, 1, 55, 37, 21, 5, 36, 7, - 54, 20, 7, 54, 5, 37, 5, 6, 7, 6, 34, 39, 38, 39, 38, 39, 38, 52, 55, 54, 55, 54, 55, 54, 50, 23, 22, 23, 5, 37, 4, 39, - 98, 38,224, 1,162, 1,215,254, 73, 4, 11, 13, 10, 23, 10, 11, 8, 8, 4, 5, 5, 6, 6, 8, 11, 10, 23, 10, 13, 11, 4, 1, -183,254, 41,254, 94,224,116, 17,131, 1,156, 1, 78,254,241, 17, 20, 20, 47, 20, 21, 16, 17, 9, 8, 8, 9, 17, 16, 21, 20, 47, - 20, 20, 17, 1, 15,254,178,254,100,131, 1,201,247, 73, 3, 87,210, 63, 21, 6, 12, 7, 4, 4, 5, 8, 6, 13, 10, 24, 10, 14, - 5, 8, 4, 5, 5, 6, 12, 6, 22, 64,209, 86, 2,249,105, 68, 2, 86,141, 18, 16, 9, 9, 9, 9, 16, 17, 20, 21, 47, 20, 20, - 18, 16, 9, 8, 8, 9, 16, 19,141, 86, 3, 0, 0, 1, 0, 37, 1, 17, 4,172, 3, 27, 0, 38, 0, 0, 1, 37, 21, 5, 36, 7, - 54, 52, 39, 22, 37, 5, 21, 37, 38, 39, 38, 39, 38, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 50, 55, 54, 55, - 54, 2,232, 1,196,254, 4,254, 64,203, 41, 41,203, 1,192, 1,252,254, 60, 5, 13, 11, 15, 14, 34, 14, 15, 11, 13, 5, 7, 7, - 5, 13, 11, 15, 14, 34, 14, 15, 11, 13, 1,247, 23, 27,226, 93, 2, 78,184, 79, 3, 93,226, 27, 24, 14, 12, 12, 6, 7, 7, 6, - 12, 12, 14, 15, 17, 16, 15, 14, 12, 12, 6, 7, 7, 6, 12, 12, 0, 1, 0,152, 0,192, 4, 57, 4,124, 0, 28, 0, 0, 1, 50, - 23, 22, 51, 50, 55, 18, 55, 54, 51, 50, 22, 21, 20, 7, 0, 1, 6, 35, 34, 39, 38, 39, 38, 53, 52, 55, 54, 1, 24, 34, 18, 35, - 15, 12, 12,245,210, 54,118, 28, 19, 29,254,174,254,224, 20, 62, 63, 12, 30, 40, 45, 61, 37, 2, 80, 56,106, 18, 1,138,243, 63, - 10, 8, 13, 35,254,106,254, 60, 32, 6, 13,121,134, 34, 36, 34, 22, 0, 0, 0, 0, 1, 0, 74, 0,114, 4,135, 4, 66, 0, 29, - 0, 0, 1, 50, 23, 22, 51, 50, 55, 18, 55, 54, 51, 50, 23, 22, 21, 20, 7, 0, 7, 6, 35, 34, 39, 38, 39, 38, 53, 52, 55, 54, - 1, 7, 34, 18, 34, 15, 12, 12,246,209, 89, 84,111, 22, 10, 20,253,205,107, 37,133, 44, 48, 20, 50, 63, 61, 86, 2,142, 56,106, - 18, 1,105,153, 65, 7, 2, 20, 15, 24,253,123,195, 67, 23, 11,123,156,117, 43, 28, 39, 0, 0, 0, 1, 0,129, 0,113, 4, 80, - 4, 63, 0, 11, 0, 0, 9, 1, 7, 9, 1, 39, 9, 1, 55, 9, 1, 23, 2,219, 1,115,115,254,141,254,141,115, 1,115,254,141, -115, 1,115, 1,116,115, 2, 88,254,140,114, 1,115,254,141,114, 1,116, 1,115,115,254,141, 1,115,114, 0, 0, 0, 1, 0, 64, - 0,188, 4, 81, 4,207, 0, 11, 0, 0, 9, 1, 7, 9, 1, 39, 9, 1, 55, 9, 1, 23, 3, 53, 1, 28,237,254,228,254,229,237, - 1, 28,254,228,237, 1, 27, 1, 28,237, 2,197,254,229,237, 1, 27,254,229,237, 1, 27, 1, 27,237,254,229, 1, 28,237, 0, 0, - 0, 1, 0,131,255,236, 4, 78, 4,190, 0, 66, 0, 0, 1, 50, 23, 22, 23, 54, 51, 50, 23, 22, 21, 20, 7, 6, 7, 22, 23, 22, - 21, 20, 15, 1, 22, 21, 20, 7, 6, 35, 34, 39, 38, 39, 6, 3, 6, 35, 34, 39, 38, 53, 52, 55, 54, 55, 18, 55, 38, 39, 38, 53, - 52, 55, 54, 51, 50, 23, 54, 55, 54, 51, 50, 23, 22, 23, 54, 55, 54, 3,201, 8, 13, 14, 14, 24, 14, 12, 21, 13, 18,169,159, 66, -116, 10, 25, 26, 3, 17, 22, 9, 21, 17, 97,104,140,180, 26, 62, 29, 4, 41, 9, 4, 22,166,185, 99, 33, 7, 15, 15, 13, 12, 19, - 7, 11, 14, 23, 26, 8, 44, 72,115,166, 19, 4,190, 13, 13, 22, 42, 22, 14, 17, 22, 19,183,220,161,194, 17, 9, 19, 20, 18, 10, - 16, 25, 13, 14, 21,125,169,182,254,208, 44, 34, 23, 50, 65, 25, 11, 34, 1, 3,216,236,127, 28, 9, 11, 21, 21, 23, 14, 9, 13, - 24,137,123,149,166, 20, 0, 0, 0, 1, 0, 51,255,253, 4,158, 5, 43, 0, 81, 0, 0, 1, 50, 23, 22, 23, 54, 23, 22, 23, 22, - 21, 20, 7, 6, 3, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 6, 7, 6, 35, 34, 39, 38, 39, 6, 7, 6, 35, 6, - 39, 38, 39, 6, 35, 34, 39, 38, 53, 52, 55, 38, 39, 38, 53, 52, 55, 54, 55, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 54, 55, 54, - 51, 50, 23, 22, 23, 54, 55, 54, 4, 0, 26, 23, 18, 7, 22, 9, 28, 13, 12, 14,211,206,130,129, 15, 26, 18, 32, 2, 12, 21, 28, - 32, 26, 7, 12, 31, 24, 20, 23, 78,106,201, 77, 15, 18, 17, 16, 13, 2, 17, 16, 22, 25, 32, 27, 8, 8, 16, 21,114,172,107, 87, - 19, 20, 14, 19, 23, 42, 1, 10, 20, 14, 38, 12, 92,132,202,218, 10, 5, 42, 26, 19, 51, 1, 5, 10, 12, 12, 18, 35, 14,192,254, -239,179,142, 15, 22, 42, 23, 15, 2, 15, 30, 51, 21, 16, 9, 24, 24, 84,167,229,118, 22, 2, 33, 27, 12, 11, 26, 31, 15, 23, 40, - 2, 12, 21, 21, 18, 27,154,186,165,234, 53, 25, 22, 43, 28, 34, 12, 22, 44, 23,171,163,231,191, 10, 0, 0, 0, 0, 3, 0, 64, - 0, 5, 4,145, 4, 86, 0, 11, 0, 23, 0, 35, 0, 0, 1, 17, 33, 17, 33, 17, 33, 17, 33, 17, 33, 17, 37, 33, 17, 33, 17, 33, - 17, 33, 17, 33, 17, 33, 3, 33, 21, 33, 17, 35, 17, 33, 53, 33, 17, 51, 3, 11,254,187,254,197, 1, 59, 1, 69, 1, 59,255, 0, - 1, 74,254,182,254, 69,254,182, 1, 74, 1,187,148, 1, 74,254,182,147,254,182, 1, 74,147, 2,208, 1, 60,254,196,254,187,254, -197, 1, 59, 1, 69, 59,254, 69,254,182, 1, 74, 1,187, 1, 75,254, 33,148,254,183, 1, 73,148, 1, 75, 0, 0, 0, 1, 0, 86, - 0, 7, 4,123, 4, 6, 0, 11, 0, 0, 1, 33, 17, 33, 17, 33, 17, 33, 17, 33, 17, 33, 2,247, 1,132,254,124,254,227,254,124, - 1,132, 1, 29, 2,143,254,238,254,139, 1,117, 1, 18, 1,118, 0, 2, 0, 57, 0, 6, 4,152, 4,102, 0, 11, 0, 15, 0, 0, - 1, 33, 21, 33, 17, 35, 17, 33, 53, 33, 17, 51, 3, 51, 53, 35, 2,194, 1,214,254, 42,180,254, 43, 1,213,180,179,178,178, 2, -144,180,254, 42, 1,214,180, 1,214,253,119,178, 0, 2, 0, 48, 0, 0, 4,161, 4,114, 0, 3, 0, 15, 0, 0, 1, 33, 17, 33, - 37, 33, 17, 33, 17, 33, 17, 33, 17, 33, 17, 33, 1,209, 1, 47,254,209, 1, 48, 1,160,254, 96,254,207,254, 96, 1,160, 1, 49, - 1,161, 1, 47, 1,254,207,254, 96, 1,160, 1, 49, 1,160, 0, 0, 1, 0,155, 0, 3, 4, 41, 5, 30, 0, 11, 0, 0, 1, 33, - 21, 33, 17, 35, 17, 33, 53, 33, 17, 51, 2,203, 1, 94,254,162,210,254,162, 1, 94,210, 3,192,210,253, 22, 2,234,210, 1, 94, - 0, 2, 0,126, 0, 1, 4, 83, 5, 28, 0, 15, 0, 27, 0, 0, 1, 51, 23, 17, 33, 17, 33, 39, 17, 35, 39, 17, 33, 17, 33, 23, - 7, 17, 35, 17, 33, 21, 33, 17, 51, 17, 33, 53, 3, 76,131,131,254,250,254,188,131,131,132, 1, 7, 1, 68,131,175,193,254,250, - 1, 6,193, 1, 7, 4, 21,131,254,188,253,179,131, 1,202,131, 1, 68, 1, 7,132,218, 1, 6,254,250,193,253,179, 2, 77,193, - 0, 3, 0,144, 0, 4, 4, 65, 4,194, 0, 11, 0, 23, 0, 35, 0, 0, 1, 53, 33, 21, 35, 17, 51, 17, 33, 17, 51, 17, 39, 51, - 17, 35, 17, 33, 17, 35, 17, 51, 53, 33, 3, 51, 21, 35, 17, 35, 17, 35, 53, 51, 53, 51, 3, 6,254,197,245,245, 1, 59,245,175, -245,245,254, 57,245,245, 1,199,140,245,245,175,245,245,175, 3,157,227,227,254,203,253,221, 2, 35, 1, 53, 65,254, 73,253,221, - 2, 35, 1,183,228,254,154,179,253,221, 2, 35,179,228, 0, 0, 0, 1, 0, 48, 0, 3, 4,161, 4,118, 0, 81, 0, 0, 1, 35, - 34, 7, 6, 7, 6, 7, 6, 21, 35, 17, 51, 20, 23, 22, 23, 22, 23, 22, 59, 1, 53, 52, 39, 38, 39, 38, 39, 38, 35, 53, 33, 21, - 34, 7, 6, 7, 14, 1, 29, 1, 51, 50, 55, 54, 55, 54, 55, 54, 53, 51, 17, 35, 52, 39, 38, 39, 38, 39, 38, 43, 1, 21, 20, 23, - 22, 23, 22, 23, 22, 51, 21, 33, 53, 50, 55, 54, 55, 62, 1, 53, 2, 47, 93, 76, 69, 68, 55, 51, 33, 28, 38, 38, 28, 31, 53, 52, - 71, 66, 79, 93, 28, 30, 54, 51, 72, 62, 83, 3,107, 83, 62, 72, 51, 56, 56, 93, 79, 66, 71, 52, 53, 31, 28, 38, 38, 28, 33, 51, - 53, 70, 69, 76, 93, 28, 30, 54, 51, 72, 62, 83,252,149, 83, 62, 72, 51, 56, 56, 2, 4, 29, 28, 56, 50, 73, 60, 85, 3,106, 84, - 60, 70, 54, 54, 30, 27, 93, 76, 69, 70, 54, 50, 33, 28, 38, 38, 28, 33, 50, 56,137, 76, 93, 27, 30, 54, 54, 70, 60, 84,252,150, - 85, 60, 73, 50, 55, 29, 29, 94, 76, 69, 70, 54, 50, 33, 28, 38, 38, 28, 33, 50, 56,137, 76, 0, 0, 8, 0, 71, 0, 2, 4,138, - 4,238, 0, 11, 0, 17, 0, 20, 0, 23, 0, 26, 0, 29, 0, 32, 0, 35, 0, 0, 1, 19, 33, 3, 19, 33, 11, 1, 33, 19, 3, 33, - 23, 7, 23, 33, 55, 47, 1, 7, 51, 31, 1, 55, 3, 7, 51, 5, 35, 23, 47, 1, 7, 19, 55, 35, 2,104,182, 1,108,182,182,254, -148,182,182,254,149,182,182, 1,107, 48,135,135, 1, 13,135,135,135, 87,175,141, 88, 88, 88, 88,176,254,195,175, 87,228, 88, 88, - 88, 88,176, 4,238,254,196,254,198,254,197,254,197, 1, 59, 1, 59, 1, 58, 81,233,234,234,233,233,152, 81,152,152,254,198,153, - 81,152,233,153,153, 1, 59,152, 0, 1, 0, 31,255,236, 4,178, 4,127, 0, 67, 0, 0, 1, 53, 52, 39, 38, 53, 52, 55, 54, 50, - 23, 22, 21, 20, 7, 6, 29, 1, 51, 50, 55, 54, 51, 50, 23, 22, 20, 7, 6, 35, 34, 39, 38, 43, 1, 21, 20, 23, 22, 21, 20, 7, - 6, 34, 39, 38, 53, 52, 55, 54, 61, 1, 35, 34, 7, 6, 35, 34, 39, 38, 52, 55, 54, 51, 50, 23, 22, 51, 2, 67, 58, 33, 41, 42, - 91, 42, 41, 33, 58, 24,141, 92, 53, 89, 76, 36, 36, 36, 36, 76, 89, 53, 92,141, 24, 58, 33, 41, 42, 91, 42, 41, 33, 58, 24,141, - 92, 53, 89, 76, 36, 36, 36, 36, 76, 89, 53, 92,141, 2, 91, 24,141, 92, 53, 89, 76, 36, 36, 36, 36, 76, 89, 53, 92,141, 24, 58, - 33, 41, 42, 91, 42, 41, 33, 58, 25,141, 91, 53, 89, 76, 36, 37, 37, 36, 76, 89, 53, 91,141, 25, 58, 33, 41, 42, 91, 42, 41, 33, - 58, 0, 0, 0, 0, 1, 0, 28,255,239, 4,181, 4,137, 0,131, 0, 0, 1, 38, 39, 35, 6, 7, 6, 7, 14, 1, 35, 34, 38, 39, - 38, 39, 38, 52, 55, 54, 55, 62, 1, 51, 50, 22, 23, 22, 23, 22, 23, 51, 54, 55, 54, 55, 53, 38, 39, 38, 39, 46, 1, 53, 52, 54, - 55, 54, 55, 54, 50, 23, 22, 23, 30, 1, 21, 20, 6, 7, 6, 7, 6, 7, 21, 22, 23, 22, 23, 51, 54, 55, 54, 55, 62, 1, 51, 50, - 22, 23, 22, 23, 22, 20, 7, 6, 7, 14, 1, 35, 34, 38, 39, 38, 39, 38, 39, 35, 6, 7, 6, 7, 21, 22, 23, 22, 23, 30, 1, 21, - 20, 6, 7, 6, 7, 6, 34, 39, 38, 39, 46, 1, 53, 52, 54, 55, 54, 55, 54, 55, 53, 38, 2, 37, 12, 7,162, 1, 8, 15, 22, 25, - 62, 35, 34, 63, 24, 24, 14, 13, 13, 14, 24, 24, 63, 34, 35, 62, 25, 26, 11, 7, 2,162, 7, 12, 13, 16, 12, 15, 32, 23, 25, 26, - 26, 25, 25, 30, 30, 71, 30, 30, 25, 25, 26, 26, 25, 27, 28, 18, 9, 16, 13, 12, 7,162, 2, 7, 11, 26, 25, 62, 35, 34, 63, 24, - 24, 14, 13, 13, 14, 24, 24, 63, 34, 35, 62, 25, 22, 15, 8, 1,162, 7, 12, 13, 16, 9, 18, 28, 27, 25, 26, 26, 25, 25, 30, 30, - 71, 30, 30, 25, 25, 26, 26, 25, 23, 32, 15, 12, 16, 1,249, 13, 16, 12, 16, 32, 22, 26, 25, 25, 26, 24, 30, 31, 70, 30, 31, 24, - 25, 26, 26, 25, 26, 29, 17, 10, 16, 13, 12, 8,162, 2, 7, 15, 22, 25, 62, 35, 35, 62, 24, 24, 14, 13, 13, 14, 24, 24, 62, 35, - 35, 62, 25, 25, 12, 7, 2,162, 8, 12, 13, 16, 10, 17, 29, 26, 25, 26, 26, 25, 24, 31, 30, 70, 31, 30, 24, 26, 25, 25, 26, 22, - 32, 16, 12, 16, 13, 12, 8,161, 3, 7, 11, 26, 24, 63, 35, 34, 62, 25, 23, 14, 13, 13, 14, 23, 25, 62, 34, 35, 63, 24, 22, 15, - 8, 2,161, 8, 0, 1, 0, 26,255,237, 4,183, 4,138, 0,155, 0, 0, 1, 52, 39, 38, 39, 38, 39, 38, 39, 46, 1, 53, 52, 55, - 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 21, 50, 55, 54, 55, 54, 55, - 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, - 35, 20, 23, 22, 23, 22, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, - 54, 55, 54, 55, 54, 55, 54, 53, 34, 7, 6, 7, 6, 7, 6, 7, 14, 1, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, - 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 23, 22, 23, 22, 2, 66, 15, 18, 28, 10, 12, 19, 7, 31, 30, 15, 17, 29, 24, 44, 35, 44, - 43, 37, 41, 27, 29, 17, 15, 15, 17, 29, 7, 20, 6, 15, 32, 14, 15, 51, 33, 44, 25, 10, 9, 14, 8, 30, 38, 38, 42, 45, 35, 39, - 29, 28, 18, 16, 16, 18, 28, 29, 39, 35, 45, 42, 38, 38, 30, 8, 14, 9, 10, 31, 38, 36, 48, 15, 20, 26, 9, 13, 19, 7, 30, 16, - 15, 15, 17, 29, 27, 41, 36, 87, 36, 41, 27, 29, 17, 15, 15, 16, 30, 7, 19, 13, 9, 30, 16, 15, 48, 36, 39, 30, 10, 9, 14, 8, - 29, 76, 43, 44, 36, 38, 29, 26, 20, 17, 17, 18, 28, 29, 38, 36, 44, 47, 34, 38, 29, 8, 14, 4, 15, 31, 38, 36, 2, 98, 51, 34, - 41, 26, 11, 9, 14, 7, 29, 77, 42, 44, 37, 38, 29, 24, 22, 16, 16, 19, 27, 29, 38, 37, 44, 46, 34, 39, 29, 7, 14, 4, 16, 30, - 37, 37, 48, 15, 21, 25, 10, 12, 19, 8, 29, 16, 16, 16, 16, 29, 28, 41, 36, 87, 35, 41, 28, 29, 17, 15, 15, 16, 30, 8, 19, 12, - 10, 30, 16, 15, 52, 33, 44, 25, 10, 9, 14, 7, 30, 38, 38, 43, 44, 36, 39, 29, 27, 18, 16, 16, 18, 27, 29, 39, 36, 44, 43, 38, - 38, 30, 7, 14, 9, 10, 31, 38, 36, 49, 15, 16, 30, 11, 12, 18, 8, 30, 31, 15, 17, 29, 25, 44, 35, 44, 43, 36, 41, 28, 29, 16, - 16, 16, 16, 29, 8, 20, 6, 15, 31, 15, 15, 0, 0, 1, 0, 23,255,229, 4,186, 4,136, 1, 48, 0, 0, 1, 50, 23, 22, 23, 22, - 23, 22, 21, 20, 7, 6, 7, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 14, 1, 7, 6, 35, 34, 39, 38, 39, 38, 39, - 21, 51, 38, 39, 38, 39, 38, 53, 52, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 54, 55, 54, 51, 50, - 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 22, 23, 22, 21, 20, 6, 7, 6, 7, 6, 35, 34, 39, - 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 35, 21, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, - 6, 7, 6, 35, 34, 39, 38, 39, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 6, - 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 50, 22, 23, 22, 23, 53, 35, 22, 23, 22, 23, 22, 21, - 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 52, - 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, - 7, 6, 7, 6, 7, 51, 53, 6, 7, 6, 7, 6, 35, 34, 39, 46, 1, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, - 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 2,104, 23, 18, 21, 14, 15, 8, 8, 8, 8, 15, 8, 15, 19, 22, 23, 18, 20, 15, 15, - 8, 8, 8, 8, 31, 19, 19, 22, 23, 18, 19, 15, 11, 8,226, 13, 11, 15, 8, 9, 17, 15, 15, 20, 19, 22, 22, 19, 20, 15, 15, 8, - 9, 9, 6, 7, 15, 20, 19, 21, 25, 17, 19, 16, 14, 9, 8, 8, 9, 14, 17, 18, 20, 22, 21, 19, 20, 15, 7, 6, 9, 17, 15, 13, - 22, 19, 22, 19, 22, 20, 15, 15, 8, 9, 9, 8, 15, 11, 13,225, 7, 11, 13, 22, 18, 23, 22, 18, 20, 15, 15, 8, 8, 8, 8, 15, - 14, 21, 17, 23, 20, 21, 15, 9, 15, 8, 9, 9, 8, 15, 14, 21, 18, 45, 18, 21, 14, 15, 8, 9, 9, 8, 15, 9, 15, 18, 23, 23, - 17, 21, 14, 15, 8, 8, 8, 8, 15, 15, 20, 18, 22, 21, 40, 15, 11, 7,225, 13, 10, 17, 7, 8, 8, 8, 16, 16, 18, 20, 21, 23, - 19, 19, 15, 15, 9, 8, 8, 6, 8, 17, 18, 19, 22, 22, 19, 20, 15, 14, 9, 8, 8, 9, 14, 13, 22, 19, 22, 22, 19, 20, 15, 8, - 6, 8, 8, 9, 15, 14, 20, 19, 23, 21, 20, 19, 15, 16, 8, 8, 8, 9, 15, 10, 13,225, 8, 11, 15, 19, 18, 23, 22, 18, 20, 31, - 7, 9, 9, 7, 16, 14, 21, 17, 23, 23, 18, 15, 9, 16, 8, 8, 8, 8, 16, 14, 20, 18, 4,135, 8, 9, 14, 15, 20, 19, 23, 21, - 19, 20, 15, 7, 6, 8, 8, 9, 14, 15, 20, 19, 22, 24, 18, 19, 30, 9, 7, 7, 9, 15, 10, 13,224, 7, 11, 15, 19, 18, 23, 22, - 39, 15, 15, 9, 7, 7, 9, 15, 15, 20, 18, 23, 21, 20, 15, 8, 15, 8, 8, 8, 8, 15, 14, 21, 18, 22, 23, 19, 20, 14, 17, 7, - 7, 7, 9, 15, 9, 15, 19, 21, 20, 42, 14, 13, 10, 9, 9, 7, 16, 15, 20, 18, 23, 23, 17, 19, 16, 10, 8,225, 14, 10, 12, 11, - 8, 8, 9, 14, 16, 20, 19, 21, 22, 19, 20, 16, 14, 9, 8, 8, 6, 7, 14, 20, 19, 22, 22, 20, 19, 15, 15, 9, 8, 8, 9, 15, - 15, 19, 20, 22, 22, 19, 20, 14, 7, 6, 8, 8, 9, 14, 16, 20, 19, 22, 21, 19, 20, 16, 14, 9, 8, 17, 14, 10, 14,224, 7, 10, - 18, 17, 18, 23, 22, 19, 20, 14, 17, 7, 8, 8, 8, 16, 14, 20, 18, 23, 22, 19, 15, 9, 17, 7, 7, 7, 9, 15, 14, 20, 18, 46, - 18, 20, 15, 13, 10, 8, 8, 8, 15, 8, 15, 19, 22, 23, 18, 20, 14, 15, 9, 8, 8, 9, 15, 14, 20, 19, 22, 23, 18, 19, 15, 11, - 7,224, 13, 10, 15, 9, 7, 7, 9, 30, 19, 20, 22, 19, 22, 20, 15, 14, 9, 8, 8, 6, 7, 15, 20, 19, 21, 23, 19, 20, 15, 14, - 9, 8, 0, 0, 0, 1, 0, 43,255,231, 4,166, 4,106, 0, 31, 0, 0, 19, 50, 55, 54, 55, 54, 55, 54, 53, 20, 23, 22, 23, 22, - 23, 22, 51, 34, 7, 6, 7, 6, 7, 6, 21, 52, 39, 38, 39, 38, 39, 38, 43,115,105,100, 85, 83, 43, 42, 43, 39, 87, 80,105,104, -116,116,104,105, 80, 87, 39, 43, 42, 43, 83, 85,100,105, 2, 41, 44, 41, 85, 82,104,101,120,117,104, 98, 88, 82, 44, 44, 44, 44, - 82, 89, 97,105,116,119,102,103, 83, 85, 41, 44, 0, 2, 0, 37,255,230, 4,172, 4,116, 0, 31, 0, 63, 0, 0, 19, 50, 23, 22, - 23, 22, 23, 22, 21, 52, 55, 54, 55, 54, 55, 54, 51, 34, 39, 38, 39, 38, 39, 38, 53, 20, 7, 6, 7, 6, 7, 6, 33, 50, 55, 54, - 55, 54, 55, 54, 53, 20, 23, 22, 23, 22, 23, 22, 51, 34, 7, 6, 7, 6, 7, 6, 21, 52, 39, 38, 39, 38, 39, 38,240, 76, 69, 65, - 56, 54, 29, 27, 28, 26, 58, 52, 68, 68, 77, 77, 68, 68, 52, 58, 26, 28, 27, 29, 54, 56, 65, 69,254,234,116,106,100, 86, 84, 44, - 42, 43, 40, 88, 81,106,104,118,118,104,106, 81, 88, 40, 43, 42, 44, 84, 86,100,106, 2, 45, 28, 28, 55, 54, 68, 67, 79, 77, 69, - 64, 58, 54, 29, 28, 29, 29, 54, 58, 63, 70, 76, 79, 67, 67, 54, 55, 28, 29, 45, 42, 85, 83,104,103,121,118,106, 98, 89, 83, 44, - 45, 44, 45, 82, 90, 98,106,118,121,103,104, 84, 85, 42, 44, 0, 0, 2, 0, 40,255,240, 4,169, 4, 56, 0, 9, 0, 19, 0, 0, - 19, 37, 27, 1, 5, 3, 19, 37, 5, 19, 1, 3, 33, 1, 3, 9, 1, 3, 1, 33, 41, 1,116,203,204, 1,116,245, 26,254,155,254, -156, 26, 1, 74,135,254, 72, 1, 99,136, 1,100, 1,101,136, 1, 99,254, 72, 2,149, 93, 1, 70,254,186, 93,254,217,254,130,143, -143, 1,126, 2,202,254, 93,254,253,254, 94, 1, 3,254,253, 1,162, 1, 3, 0, 0, 2, 0, 67,255,230, 4,142, 4, 53, 0, 9, - 0, 41, 0, 0, 1, 3, 33, 5, 3, 37, 5, 3, 37, 33, 3, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, - 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 2,104,122,254,116, 1, 64,122, 1, 64, 1, 65,122, 1, 64,254,116,123, -110,101, 95, 82, 80, 41, 40, 40, 38, 83, 78, 99,100,111,109,101, 95, 82, 80, 41, 40, 40, 38, 83, 77,100,100, 4, 48,254,135,233, -254,136,233,233, 1,120,233, 1,125, 42, 40, 81, 79, 98, 98,114,108,101, 93, 84, 80, 41, 42, 42, 40, 81, 79, 98, 98,111,111,101, - 93, 84, 78, 43, 42, 0, 0, 0, 0, 2, 0, 40,255,230, 4,169, 4, 46, 0, 29, 0, 39, 0, 0, 0, 34, 7, 6, 7, 6, 7, 6, - 21, 20, 23, 22, 23, 22, 23, 22, 50, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 39, 3, 19, 33, 1, 19, 9, 1, 19, 1, 33, - 2,152, 95, 41, 40, 34, 34, 17, 17, 17, 17, 34, 34, 40, 41, 95, 41, 40, 34, 34, 17, 17, 17, 17, 34, 34, 40, 89,136, 1,184,254, -157,136,254,155,254,156,136,254,157, 1,184, 2,184, 17, 19, 31, 36, 40, 42, 47, 46, 42, 40, 35, 32, 19, 17, 17, 19, 32, 35, 40, - 42, 46, 47, 42, 40, 36, 31, 19, 1,135,254, 93,254,253,254, 94, 1, 3,254,253, 1,162, 1, 3, 0, 3, 0, 35,255,233, 4,174, - 4, 60, 0, 9, 0, 39, 0, 49, 0, 0, 19, 37, 27, 1, 5, 3, 19, 37, 5, 19, 0, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, - 7, 6, 7, 6, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 19, 3, 33, 1, 3, 9, 1, 3, 1, 33, 35, 1,120,205, -206, 1,120,248, 26,254,152,254,153, 26, 1, 29, 97, 41, 40, 35, 34, 17, 17, 17, 17, 34, 35, 40, 41, 97, 41, 40, 35, 34, 17, 17, - 17, 17, 34, 35, 40, 89,137,254, 68, 1,103,137, 1,103, 1,104,137, 1,103,254, 68, 2,149, 94, 1, 73,254,183, 94,254,214,254, -127,144,144, 1,129, 1, 87, 17, 19, 32, 36, 40, 42, 48, 46, 43, 40, 36, 32, 19, 17, 17, 19, 32, 36, 40, 43, 46, 48, 42, 40, 36, - 32, 19, 1,139,254, 89,254,251,254, 90, 1, 5,254,251, 1,166, 1, 5, 0, 0, 0, 3, 0, 40,255,240, 4,169, 4, 56, 0, 9, - 0, 19, 0, 29, 0, 0, 1, 23, 51, 7, 23, 39, 7, 55, 39, 51, 19, 3, 33, 5, 3, 37, 5, 3, 37, 33, 3, 19, 33, 1, 19, 9, - 1, 19, 1, 33, 2,104, 69,219,177, 67,178,177, 67,177,219, 68,101,254,181, 1, 12,103, 1, 11, 1, 12,103, 1, 12,254,181,102, -136, 1,184,254,157,136,254,155,254,156,136,254,157, 1,184, 3, 10,210,129,209,129,129,209,129, 1,105,254,198,194,254,198,195, -195, 1, 58,194, 1,209,254, 93,254,253,254, 94, 1, 3,254,253, 1,162, 1, 3, 0, 3, 0, 61,255,252, 4,148, 4, 28, 0, 9, - 0, 19, 0, 29, 0, 0, 1, 23, 51, 7, 23, 39, 7, 55, 39, 51, 27, 1, 33, 5, 19, 37, 5, 19, 37, 33, 55, 7, 33, 23, 7, 55, - 23, 39, 55, 33, 2,104, 27, 84, 68, 26, 69, 68, 26, 68, 84, 26,131, 1,168,254,170,131,254,168,254,169,131,254,170, 1,168,130, - 78,255, 0,207, 80,207,208, 80,207,255, 0, 2, 73, 81, 50, 80, 49, 49, 80, 50, 2, 35,254,109,249,254,109,249,249, 1,147,249, -172,243,150,243,150,150,243,150, 0, 6, 0, 40,255,246, 4,169, 4, 63, 0, 2, 0, 5, 0, 8, 0, 11, 0, 14, 0, 24, 0, 0, - 45, 1, 53, 37, 5, 55, 1, 3, 39, 37, 33, 7, 17, 3, 23, 17, 19, 33, 1, 19, 9, 1, 19, 1, 33, 1, 93, 1, 11,254, 80, 1, - 12,164, 1, 12,103,165, 1,177,254,181,102,101,101,136, 1,184,254,157,136,254,155,254,156,136,254,157, 1,184,114,194,173,140, -194, 54,254,145, 1, 57, 54,140,140, 1,198,254,198,140, 2, 93,254, 94,254,253,254, 94, 1, 3,254,253, 1,162, 1, 3, 0, 0, - 0, 2, 0, 46, 0, 17, 4,163, 4, 5, 0, 13, 0, 23, 0, 0, 1, 5, 19, 47, 1, 5, 39, 19, 37, 33, 19, 23, 19, 33, 37, 3, - 33, 23, 3, 55, 23, 3, 55, 33, 4,162,254,196,121,114,235,254,226,114,121,254,196, 1,136,121,113,109, 1, 34,254, 0, 95,254, -208,246, 94,247,246, 94,246,254,208, 2,108,231,254,140, 37,171,208, 37, 1,116,230, 1,117, 37,254,176,253,254,223,180,254,223, -179,179, 1, 33,180, 0, 0, 0, 0, 1, 0, 54,255,254, 4,155, 4,130, 0, 17, 0, 0, 1, 17, 51, 17, 37, 23, 13, 1, 7, 37, - 17, 35, 17, 5, 39, 45, 1, 55, 1,237,247, 1, 58,124,254,198, 1, 58,124,254,198,247,254,198,124, 1, 57,254,199,124, 3, 23, - 1,107,254,148,182,214,181,182,214,181,254,149, 1,107,181,214,182,181,214, 0, 0, 2, 0, 87,255,255, 4,122, 4, 96, 0, 5, - 0, 23, 0, 0, 1, 7, 23, 51, 55, 39, 5, 37, 55, 5, 17, 23, 17, 37, 23, 13, 1, 7, 37, 17, 35, 17, 5, 39, 2, 14, 90, 90, -180, 90, 90,254,242,254,163, 90, 1, 93,180, 1, 94, 90,254,162, 1, 94, 90,254,162,180,254,163, 90, 2,203,155,157,157,155,155, -202,156,203, 1,148, 1,254,109,203,156,202,203,156,202,254,109, 1,147,202,156, 0, 1, 0, 48,255,253, 4,161, 4,111, 0, 23, - 0, 0, 9, 1, 7, 1, 17, 35, 17, 1, 39, 1, 33, 53, 33, 1, 55, 1, 17, 51, 17, 1, 23, 1, 33, 21, 2,197, 1, 80, 54,254, -176, 77,254,176, 54, 1, 80,254, 36, 1,221,254,175, 54, 1, 80, 77, 1, 80, 54,254,175, 1,221, 2, 16,254,175, 54, 1, 82,254, - 35, 1,220,254,175, 54, 1, 81, 76, 1, 82, 54,254,175, 1,220,254, 36, 1, 81, 54,254,174, 76, 0, 1, 0, 36,255,240, 4,173, - 4,122, 0, 15, 0, 0, 1, 19, 9, 1, 13, 1, 9, 1, 11, 1, 9, 1, 45, 1, 9, 1, 2,104, 60, 1, 95,254,245, 1,181,254, - 75, 1, 11,254,161, 60, 59,254,161, 1, 10,254, 76, 1,180,254,246, 1, 95, 4,122,254, 75, 1, 11,254,161, 60, 59,254,160, 1, - 12,254, 74, 1,182,254,244, 1, 96, 59, 60, 1, 95,254,245, 0, 0, 9, 0, 26,255,233, 4,183, 4,134, 0, 2, 0, 5, 0, 8, - 0, 11, 0, 14, 0, 17, 0, 20, 0, 23, 0, 39, 0, 0, 1, 15, 1, 33, 39, 7, 1, 47, 1, 17, 55, 39, 1, 63, 1, 33, 23, 55, - 1, 31, 1, 17, 7, 23, 17, 19, 37, 3, 13, 1, 19, 37, 11, 1, 5, 19, 45, 1, 3, 5, 3,161,222, 91, 1,186,223,219, 1, 57, - 94,219, 91, 91,254,200,222, 90,254, 71,223,218,254,200, 94,218, 90, 90,122, 1, 39,125, 1, 42,254,214,125,254,217,122,121,254, -217,125,254,214, 1, 42,125, 1, 39, 3,113, 94,220, 92, 92,254,200,222, 90,254, 71,223,218,254,200, 94,218, 90, 90, 1, 58,222, - 92, 1,187,223,220, 2, 79,254,214,125,254,216,122,121,254,217,125,254,214, 1, 42,125, 1, 39,121,122, 1, 40,125, 0, 0, 0, - 0, 1, 0, 50,255,228, 4,159, 5, 0, 0, 11, 0, 0, 1, 19, 37, 9, 1, 37, 11, 1, 5, 9, 1, 5, 2,104, 95, 1,216,254, -135, 1,121,254, 40, 95, 94,254, 40, 1,122,254,134, 1,216, 4,255,254, 23,163,254,185,254,186,163,254, 21, 1,235,163, 1, 70, - 1, 71,163, 0, 0, 1, 0, 31,255,224, 4,178, 4,115, 0, 15, 0, 0, 1, 19, 37, 3, 13, 1, 19, 37, 11, 1, 5, 19, 45, 1, - 3, 5, 2,104, 86, 1, 72,207, 1,122,254,134,207,254,184, 86, 85,254,184,207,254,134, 1,122,207, 1, 72, 4,114,254,134,207, -254,184, 86, 85,254,184,207,254,133, 1,123,207, 1, 72, 85, 86, 1, 72,207, 0, 0, 1, 0, 26,255,234, 4,183, 4,134, 0, 15, - 0, 0, 1, 19, 37, 3, 13, 1, 19, 37, 11, 1, 5, 19, 45, 1, 3, 5, 2,104,130, 1, 31,104, 1, 21,254,235,104,254,225,130, -129,254,225,104,254,235, 1, 21,104, 1, 31, 4,134,254,235,104,254,225,130,130,254,225,104,254,235, 1, 21,104, 1, 31,130,130, - 1, 31,104, 0, 0, 1, 0, 36,255,221, 4,173, 4,104, 0, 23, 0, 0, 1, 19, 55, 3, 37, 7, 13, 1, 23, 37, 19, 39, 11, 1, - 7, 19, 5, 55, 45, 1, 39, 5, 3, 23, 2,104, 88,203, 53, 1, 10,180, 1, 1,254,255,180,254,246, 53,203, 88, 86,204, 54,254, -245,179,255, 0, 1, 0,179, 1, 11, 54,204, 4,103,254,255,179,254,246, 53,203, 86, 87,204, 54,254,246,179,254,255, 1, 1,179, - 1, 10, 54,204, 87, 86,203, 53, 1, 10,179, 0, 0, 1, 0, 48, 0, 2, 4,161, 4,116, 0, 47, 0, 0, 1, 17, 51, 17, 19, 23, - 3, 55, 23, 7, 37, 23, 5, 33, 21, 33, 5, 7, 37, 23, 7, 39, 19, 7, 3, 17, 35, 17, 3, 39, 19, 7, 39, 55, 5, 39, 37, 33, - 53, 33, 37, 55, 5, 39, 55, 23, 3, 55, 2, 59, 91,130, 84,129,239, 65,240, 1, 58, 35,254,197, 1, 84,254,175, 1, 56, 35,254, -198,240, 65,238,128, 84,130, 91,130, 84,129,239, 65,240,254,198, 35, 1, 57,254,174, 1, 84,254,197, 35, 1, 56,238, 65,238,128, - 84, 3, 32, 1, 84,254,174, 1, 56, 35,254,199,240, 65,240,130, 84,131, 91,129, 85,131,241, 64,238,254,200, 35, 1, 55,254,175, - 1, 83,254,199, 35, 1, 57,239, 64,239,129, 85,129, 91,131, 84,129,239, 65,239, 1, 56, 35, 0, 0, 1, 0, 49,255,240, 4,160, - 4,232, 0,159, 0, 0, 1, 53, 52, 39, 38, 53, 52, 55, 54, 50, 23, 22, 21, 20, 7, 6, 29, 1, 23, 22, 23, 55, 54, 55, 54, 55, - 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 35, 34, 35, 34, 15, 1, 22, 21, 20, 7, 23, 22, 51, 50, 55, 50, 51, - 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 47, 1, 6, 15, 1, 21, 20, 23, 22, 21, 20, 7, 6, 34, 39, - 38, 53, 52, 55, 54, 61, 1, 38, 39, 38, 39, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 51, - 22, 51, 50, 63, 1, 38, 53, 52, 55, 39, 38, 35, 34, 35, 34, 35, 34, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, - 22, 31, 1, 54, 55, 54, 2, 63, 62, 36, 44, 46, 99, 46, 44, 36, 62, 13, 25, 20, 8, 93, 53, 32, 55, 49, 43, 18, 17, 58, 25, 16, - 4, 11, 72, 51, 62, 5, 5, 8, 9,107, 82, 10, 3, 4, 10, 83,107, 9, 8, 5, 5, 62, 51, 72, 11, 4, 16, 25, 58, 17, 18, 43, - 49, 55, 32, 55, 90, 12, 22, 20, 13, 62, 36, 44, 46, 99, 46, 44, 36, 63, 7, 7, 23, 19, 12, 90, 55, 32, 55, 49, 43, 18, 17, 58, - 25, 16, 4, 11, 72, 51, 62, 5, 5, 8, 9,108, 82, 10, 4, 3, 10, 82,107, 9, 8, 5, 5, 62, 51, 72, 11, 4, 16, 25, 58, 17, - 18, 43, 49, 55, 32, 57, 88, 9, 22, 23, 7, 2,248, 10,105, 98, 57, 64, 82, 39, 41, 41, 39, 82, 64, 57,100,103, 10, 5, 11, 19, - 5, 56,100, 60, 32, 28, 5, 20, 43, 28, 36, 18, 20, 59, 41, 29, 48, 5, 16, 16, 18, 16, 6, 49, 1, 30, 41, 58, 20, 18, 36, 29, - 42, 20, 5, 28, 32, 60,103, 52, 7, 21, 7, 5, 13,104, 99, 57, 64, 82, 40, 40, 40, 40, 82, 64, 57, 99,104, 13, 2, 3, 10, 18, - 7, 52,103, 60, 32, 28, 5, 20, 42, 29, 36, 18, 20, 58, 41, 30, 1, 48, 6, 16, 19, 16, 16, 5, 48, 29, 41, 59, 20, 18, 36, 28, - 43, 20, 5, 28, 32, 60,107, 48, 5, 20, 9, 3, 0, 2, 0, 55,255,238, 4,154, 4,217, 0, 29, 0,185, 0, 0, 0, 34, 7, 6, - 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 50, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 47, 1, 53, 52, 39, 38, 53, - 52, 55, 54, 50, 23, 22, 21, 20, 7, 6, 29, 1, 23, 22, 23, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, - 6, 43, 1, 34, 35, 34, 15, 1, 22, 21, 20, 7, 23, 22, 51, 50, 59, 1, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, - 38, 39, 38, 47, 1, 6, 15, 1, 21, 20, 23, 22, 21, 20, 7, 6, 34, 39, 38, 53, 52, 55, 54, 61, 1, 38, 39, 38, 39, 7, 6, 7, - 6, 7, 6, 35, 34, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 59, 1, 50, 51, 50, 63, 1, 38, 53, 52, 55, 39, 38, 35, 34, 43, 1, - 34, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 31, 1, 54, 55, 54, 2,122, 35, 13, 15, 11, 13, 5, 7, 7, - 5, 13, 11, 15, 13, 35, 13, 15, 11, 13, 5, 7, 7, 5, 13, 11, 15, 72, 61, 36, 44, 46, 97, 46, 44, 36, 62, 13, 25, 20, 8, 92, - 53, 31, 55, 48, 43, 18, 17, 57, 25, 16, 4, 12, 70, 51, 61, 10, 9, 8,107, 81, 10, 4, 4, 9, 83,106, 9, 8, 10, 61, 51, 70, - 12, 4, 16, 25, 57, 17, 18, 43, 48, 55, 31, 55, 89, 12, 22, 20, 13, 62, 36, 44, 46, 97, 46, 44, 36, 63, 8, 6, 24, 18, 12, 89, - 55, 31, 55, 48, 43, 18, 17, 57, 25, 16, 4, 11, 71, 51, 61, 10, 9, 8,107, 82, 9, 4, 4, 10, 81,107, 8, 9, 10, 61, 51, 71, - 11, 4, 16, 25, 57, 17, 18, 43, 48, 55, 31, 57, 87, 9, 21, 24, 6, 2,183, 7, 6, 12, 12, 14, 14, 17, 17, 14, 14, 12, 12, 6, - 7, 7, 6, 12, 12, 14, 14, 17, 17, 14, 14, 12, 12, 6, 62, 10,104, 96, 57, 64, 81, 39, 40, 40, 39, 81, 64, 57, 98,102, 10, 5, - 11, 19, 5, 55, 99, 60, 31, 29, 6, 19, 43, 28, 36, 18, 19, 58, 41, 29, 47, 6, 15, 16, 17, 17, 5, 48, 30, 40, 58, 19, 18, 36, - 28, 43, 19, 6, 29, 31, 60,102, 51, 7, 21, 7, 5, 12,103, 99, 56, 64, 81, 39, 40, 40, 39, 81, 64, 56, 99,103, 12, 3, 2, 11, - 17, 7, 51,102, 60, 31, 29, 6, 19, 43, 28, 36, 18, 19, 58, 40, 30, 47, 6, 16, 18, 16, 15, 6, 47, 29, 41, 58, 19, 18, 36, 28, - 43, 19, 6, 29, 31, 60,105, 48, 5, 20, 9, 3, 0, 1, 0, 43,255,235, 4,159, 4,223, 0,106, 0, 0, 1, 39, 38, 7, 6, 39, - 38, 39, 38, 55, 54, 55, 54, 23, 22, 23, 22, 31, 1, 53, 52, 39, 38, 53, 52, 55, 54, 50, 23, 22, 21, 20, 7, 6, 29, 1, 55, 54, - 55, 54, 55, 54, 23, 22, 23, 22, 7, 6, 7, 6, 39, 38, 15, 1, 23, 22, 55, 54, 23, 22, 23, 22, 7, 6, 7, 6, 39, 38, 39, 38, - 47, 1, 21, 20, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 61, 1, 7, 6, 7, 6, 7, 6, 39, 38, 39, 38, 55, 54, - 55, 54, 23, 22, 55, 2, 18, 38, 40,151, 90, 68, 76, 14, 23, 34, 35, 90, 58, 76, 71, 35, 58, 46, 39, 87, 52, 44, 67,138, 67, 44, - 52, 87, 39, 39, 65, 40, 67, 75, 59, 90, 34, 34, 23, 14, 76, 71, 87,144, 47, 39, 39, 39,152, 91, 67, 76, 14, 23, 34, 36, 88, 62, - 72, 72, 35, 58, 46, 39, 87, 52, 44, 67, 69, 72, 64, 44, 52, 87, 39, 42, 62, 38, 68, 76, 58, 90, 35, 35, 24, 15, 75, 71, 87,147, - 44, 2,102, 22, 23, 13, 8, 39, 44, 59, 91, 59, 59, 26, 17, 43, 42, 81,132, 27, 23, 45, 45,125, 75, 79, 87, 42, 65, 65, 42, 87, - 83, 71,117, 53, 45, 23, 23,136, 85, 38, 43, 17, 26, 59, 59, 91, 59, 44, 41, 10, 16, 26, 22, 23, 23, 13, 7, 39, 43, 59, 91, 60, - 62, 23, 16, 42, 42, 81,133, 27, 22, 45, 45,125, 75, 78, 87, 43, 64, 64, 45, 85, 83, 70,117, 53, 45, 22, 25,135, 83, 40, 43, 17, - 26, 59, 62, 89, 59, 43, 42, 10, 16, 26, 0, 0, 0, 4, 0, 33,255,229, 4,176, 4,189, 0, 14, 0,153, 0,177, 0,201, 0, 0, - 1, 54, 55, 54, 53, 52, 39, 38, 34, 7, 6, 21, 20, 23, 22, 19, 23, 22, 51, 50, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, - 7, 6, 35, 34, 39, 38, 39, 38, 47, 1, 21, 20, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 61, 1, 7, 6, 7, 6, - 7, 6, 35, 34, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, 51, 50, 63, 1, 39, 38, 35, 34, 7, 6, 35, 34, 39, 38, - 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 31, 1, 53, 52, 39, 38, 53, 52, 55, 54, 50, 23, 22, 21, 20, 7, 6, 29, - 1, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 35, 34, 7, 5, 6, 35, 34, 39, 38, - 35, 34, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 51, 50, 55, 54, 55, 54, 37, 22, 23, 22, 23, 22, 51, 50, 55, 54, 55, 54, 53, 52, - 39, 38, 39, 38, 35, 34, 7, 6, 35, 34, 2,105, 23, 47, 31, 25, 41, 70, 41, 26, 31, 47,141, 15, 44, 85, 27, 31, 15, 14, 75, 58, - 77, 15, 10, 21, 36, 92, 16, 18, 47, 56, 69, 40, 53, 62, 15, 72, 54, 45, 69, 70, 74, 65, 45, 53, 72, 15, 59, 56, 41, 68, 55, 46, - 19, 17, 92, 35, 21, 9, 16, 76, 59, 75, 14, 15, 30, 27, 85, 44, 16, 16, 42, 85, 28, 31, 15, 14, 75, 59, 75, 17, 10, 22, 35, 92, - 17, 19, 46, 55, 70, 39, 53, 62, 15, 72, 53, 45, 68,141, 69, 45, 54, 72, 15, 60, 55, 42, 67, 56, 47, 18, 16, 92, 36, 21, 10, 15, - 77, 58, 75, 14, 15, 32, 27, 85, 43,254,211, 58, 54, 25, 24, 8, 8, 45, 50, 49, 6, 4, 11, 17, 52, 9, 10, 26, 36, 58, 21, 30, - 1,143, 60, 30, 21, 59, 36, 26, 10, 8, 52, 18, 11, 4, 6, 50, 50, 45, 8, 7, 25, 25, 54, 3, 12, 79, 59, 40, 65, 55, 20, 35, - 35, 20, 55, 65, 40, 59,254,247, 9, 26, 3, 1, 33, 42, 58, 35, 31, 46, 35, 59, 24, 4, 30, 38, 82,109, 33, 8, 16, 67, 99, 74, - 77, 85, 41, 63, 63, 44, 82, 77, 74, 99, 67, 16, 8, 31,111, 83, 37, 31, 5, 26, 57, 35, 46, 31, 35, 59, 41, 33, 1, 3, 26, 9, - 8, 25, 2, 1, 32, 41, 59, 35, 31, 45, 36, 58, 25, 5, 30, 39, 81,110, 33, 8, 16, 68, 99, 73, 77, 85, 42, 63, 63, 42, 85, 77, - 73, 99, 68, 16, 8, 32,111, 83, 37, 30, 5, 24, 59, 35, 46, 30, 36, 58, 42, 32, 1, 2, 25,102, 14, 3, 1, 28, 27, 31, 20, 16, - 27, 18, 29, 16, 3, 19, 32, 47, 68, 59, 59, 68, 47, 32, 19, 3, 16, 29, 18, 27, 16, 20, 31, 27, 28, 1, 3, 0, 0, 2, 0, 36, - 0, 0, 4,173, 4,105, 0, 29, 0,141, 0, 0, 0, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 50, 55, 54, 55, - 54, 55, 54, 53, 52, 39, 38, 39, 38, 39, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, - 39, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 39, 6, 7, 6, 7, 6, 7, 6, 35, 34, - 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 50, - 23, 22, 23, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 2,160,111, 48, 48, 39, - 41, 19, 20, 20, 19, 41, 39, 48, 48,111, 48, 48, 39, 41, 19, 20, 20, 19, 41, 39, 48, 93, 48, 29, 43, 41, 42, 43, 37, 35, 32, 18, - 16, 16, 15, 35, 29, 43, 37, 48, 22, 21, 37, 26, 35, 14, 17, 17, 18, 31, 35, 38, 38, 46, 48, 37, 43, 29, 37, 13, 10, 4, 3, 11, - 18, 32, 35, 37, 39, 46, 48, 36, 44, 28, 35, 15, 16, 16, 19, 31, 29, 28, 18, 19, 48, 37, 45, 27, 35, 15, 16, 16, 18, 32, 35, 37, - 39, 46, 48, 36, 46, 32, 6, 5, 16, 16, 18, 32, 35, 37, 39, 45, 49, 36, 44, 28, 35, 15, 16, 16, 5, 3, 36, 20, 22, 37, 42, 47, - 48, 57, 54, 49, 47, 42, 37, 22, 20, 20, 22, 37, 42, 47, 49, 54, 57, 48, 47, 42, 37, 22, 15, 41, 12, 18, 18, 15, 34, 30, 42, 38, - 48, 45, 40, 37, 36, 29, 19, 17, 4, 18, 26, 36, 36, 41, 45, 48, 38, 42, 30, 33, 16, 16, 16, 20, 29, 38, 34, 27, 28, 29, 26, 42, - 30, 33, 16, 16, 16, 20, 29, 36, 36, 41, 45, 48, 38, 45, 27, 26, 17, 4, 17, 21, 28, 35, 37, 40, 45, 48, 38, 42, 30, 34, 15, 17, - 17, 19, 34, 11, 11, 40, 45, 48, 38, 42, 30, 34, 15, 16, 16, 19, 30, 36, 36, 40, 46, 47, 38, 11, 0, 6, 0, 22, 0, 3, 4,187, - 4,134, 0,110, 0,138, 0,163, 0,191, 0,216, 0,244, 0, 0, 37, 6, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, - 53, 52, 55, 54, 55, 54, 55, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 38, 39, 38, - 53, 52, 55, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, - 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 2, - 50, 23, 22, 23, 55, 54, 53, 52, 39, 38, 39, 38, 39, 38, 34, 7, 6, 7, 6, 7, 6, 21, 20, 31, 1, 54, 55, 19, 38, 39, 38, 39, - 38, 39, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 50, 55, 54, 55, 54, 55, 3, 38, 53, 52, 55, 54, 55, 39, 38, 39, 38, 35, - 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 23, 5, 23, 22, 23, 22, 23, 22, 50, 55, 54, 55, 54, 55, 54, 53, 52, - 39, 38, 47, 1, 6, 7, 6, 7, 6, 63, 1, 54, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 39, 38, 35, 34, 7, 6, 15, 1, - 22, 23, 22, 21, 20, 2,104, 3, 11, 13, 38, 29, 44, 38, 49, 47, 40, 38, 35, 33, 18, 17, 17, 15, 36, 26, 38, 22, 23, 49, 37, 45, - 29, 36, 15, 17, 17, 18, 33, 38, 36, 47, 39, 46, 41, 29, 50, 6, 5, 16, 16, 15, 36, 29, 45, 37, 99, 37, 45, 29, 36, 15, 16, 16, - 5, 6, 50, 29, 45, 42, 43, 43, 38, 36, 33, 18, 17, 17, 15, 36, 29, 45, 37, 49, 23, 22, 38, 26, 36, 15, 17, 17, 18, 33, 35, 38, - 40, 47, 49, 38, 44, 29, 38, 13, 11, 61,115, 48, 6, 6, 14, 7, 10, 9, 22, 20, 25, 24, 57, 24, 25, 20, 22, 9, 10, 7, 14, 6, - 6, 53, 28, 25, 53, 37, 24, 21, 82, 19, 12, 10, 10, 10, 21, 20, 25, 24, 57, 24, 26, 19, 19, 12,178, 3, 21, 17, 33, 95, 7, 5, - 28, 25, 28, 24, 25, 20, 19, 12, 11, 11, 9, 22, 20, 25, 17, 12, 1,186, 44, 12, 19, 19, 26, 24, 57, 24, 25, 20, 21, 10, 10, 10, - 12, 19, 82, 21, 24, 37, 53, 25,194,115, 12, 17, 25, 20, 22, 9, 11, 11, 12, 19, 20, 25, 24, 28, 25, 28, 5, 7, 95, 33, 17, 21, -200, 29, 27, 35, 39, 30, 20, 17, 17, 16, 34, 31, 43, 39, 48, 47, 41, 38, 36, 27, 19, 4, 16, 20, 30, 37, 37, 41, 46, 50, 39, 43, - 31, 36, 14, 18, 18, 13, 42, 10, 11, 39, 49, 46, 42, 37, 37, 30, 20, 16, 16, 20, 30, 37, 37, 42, 46, 49, 39, 11, 10, 42, 13, 18, - 18, 16, 34, 31, 43, 39, 50, 46, 41, 37, 37, 30, 20, 16, 4, 19, 27, 36, 38, 41, 47, 48, 39, 43, 31, 34, 16, 17, 17, 20, 30, 39, - 35, 27, 2,142, 20, 3, 3, 76, 37, 16, 28, 26, 24, 21, 19, 11, 11, 11, 11, 19, 21, 24, 26, 28, 16, 37, 76, 3, 3,253,236, 5, - 11, 24, 37, 23, 35, 77, 19, 27, 25, 29, 28, 25, 24, 21, 19, 11, 11, 11, 11, 19, 19, 26, 1, 76, 17, 19, 58, 50, 40, 38, 54, 3, - 2, 10, 10, 11, 19, 19, 26, 23, 31, 28, 26, 23, 22, 19, 11, 7, 2,251, 95, 26, 19, 19, 11, 11, 11, 11, 19, 21, 24, 25, 28, 29, - 25, 27, 19, 77, 35, 23, 37, 24, 11,232, 14, 2, 7, 11, 19, 22, 23, 26, 28, 31, 23, 26, 19, 19, 11, 10, 10, 2, 3, 54, 38, 40, - 50, 58, 19, 0, 0, 10, 0, 22,255,237, 4,187, 4,148, 0, 45, 0, 91, 0,213, 1, 4, 1, 51, 1, 98, 1,145, 1,175, 1,221, - 2, 11, 0, 0, 1, 38, 39, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 50, 31, 1, 54, 55, 39, - 38, 35, 34, 6, 7, 6, 7, 6, 20, 23, 22, 23, 22, 23, 22, 51, 50, 55, 37, 6, 7, 23, 22, 51, 50, 55, 54, 55, 54, 55, 54, 52, - 39, 38, 39, 46, 1, 35, 34, 15, 1, 22, 23, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, - 37, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 52, 54, 55, 54, 55, 54, 50, 23, 22, 23, 30, 1, 21, 54, 55, - 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 22, 23, - 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 20, 6, 7, 6, 7, 6, 34, 39, 38, 39, 46, 1, 53, 6, 7, 6, 35, 34, - 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 1, 38, 39, 7, 6, 7, - 6, 7, 6, 7, 38, 39, 38, 39, 38, 39, 38, 39, 54, 55, 54, 55, 54, 63, 1, 38, 39, 7, 6, 7, 6, 7, 6, 21, 22, 23, 22, 23, - 30, 1, 51, 50, 55, 54, 55, 54, 55, 1, 22, 23, 55, 54, 55, 54, 55, 54, 53, 38, 39, 38, 39, 46, 1, 35, 34, 7, 6, 7, 6, 15, - 1, 22, 23, 55, 54, 55, 54, 55, 54, 55, 22, 23, 22, 23, 22, 23, 22, 23, 6, 7, 6, 7, 6, 7, 3, 6, 7, 23, 22, 23, 22, 23, - 22, 23, 6, 7, 6, 7, 6, 7, 6, 7, 38, 39, 38, 39, 38, 47, 1, 6, 7, 23, 22, 23, 22, 23, 22, 51, 50, 54, 55, 54, 55, 54, - 55, 52, 39, 38, 39, 38, 39, 1, 54, 55, 39, 38, 39, 38, 39, 38, 35, 34, 6, 7, 6, 7, 6, 7, 20, 23, 22, 23, 22, 31, 1, 54, - 55, 39, 38, 39, 38, 39, 38, 39, 54, 55, 54, 55, 54, 55, 54, 55, 22, 23, 22, 23, 22, 23, 4, 34, 7, 6, 7, 6, 7, 6, 21, 20, - 23, 22, 23, 22, 23, 22, 50, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 39, 19, 6, 7, 23, 22, 21, 20, 7, 6, 7, 6, 7, - 6, 34, 39, 38, 39, 38, 39, 38, 53, 52, 63, 1, 38, 39, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 50, 55, 54, 55, 54, 55, 54, 53, - 52, 39, 3, 22, 23, 55, 54, 53, 52, 39, 38, 39, 38, 39, 38, 34, 7, 6, 7, 6, 7, 6, 21, 20, 31, 1, 54, 55, 39, 38, 53, 52, - 55, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 1,139, 4, 2,175, 13, 7, 7, 11, 9, 8, 6, 5, 3, 3, 5, - 6, 8, 9, 9, 9, 7, 13,175, 2, 4,158, 27, 16, 21, 40, 17, 15, 10, 7, 7, 10, 15, 17, 20, 20, 21, 16, 27, 2, 98, 2, 4, -155, 27, 14, 23, 20, 20, 17, 15, 10, 7, 7, 10, 15, 17, 40, 23, 14, 27,155, 4, 2,172, 13, 5, 13, 7, 9, 8, 6, 5, 3, 3, - 5, 6, 9, 8, 11, 9, 5, 13,252,205, 28, 13, 13, 13, 12, 25, 25, 31, 31, 35, 33, 34, 31, 28, 26, 25, 25, 30, 31, 71, 31, 30, - 25, 25, 26, 30, 29, 34, 33, 35, 31, 31, 25, 22, 15, 13, 13, 11, 30, 42, 30, 29, 26, 27, 11, 13, 13, 13, 25, 21, 34, 32, 39, 29, - 11, 13, 13, 12, 25, 25, 31, 31, 35, 35, 32, 31, 28, 26, 25, 25, 30, 31, 71, 31, 30, 25, 25, 26, 31, 28, 33, 34, 34, 32, 31, 25, - 25, 12, 13, 13, 13, 27, 39, 32, 29, 26, 27, 12, 12, 12, 14, 25, 26, 29, 30, 1, 89, 15, 13,109, 8, 5, 5, 10, 9, 11, 10, 9, - 9, 7, 7, 4, 3, 1, 1, 4, 3, 7, 4, 11,138, 11, 8,141, 26, 10, 17, 7, 9, 1, 8, 7, 17, 16, 40, 22, 24, 19, 20, 16, - 11, 14, 1,121, 12, 7,139, 26, 10, 17, 7, 9, 1, 8, 7, 17, 16, 40, 22, 24, 19, 20, 17, 10, 14, 79, 15, 13,107, 8, 4, 8, - 8, 9, 11, 10, 9, 9, 7, 7, 4, 3, 1, 1, 4, 4, 6, 4, 11,119, 8, 11,138, 11, 4, 6, 4, 4, 1, 1, 3, 4, 7, 7, - 9, 9, 10, 11, 9, 8, 7, 5, 8,109, 13, 15, 81, 14, 11, 16, 20, 19, 24, 22, 40, 16, 17, 7, 8, 1, 9, 7, 17, 10, 26,254, - 28, 14, 14, 79, 14, 10, 17, 20, 19, 24, 22, 40, 16, 17, 7, 8, 1, 9, 7, 17, 10, 26,139, 8, 11,136, 11, 4, 7, 3, 4, 1, - 1, 3, 4, 7, 7, 9, 9, 10, 13, 7, 10, 6, 4, 8, 1, 26, 63, 27, 27, 23, 22, 12, 11, 11, 12, 22, 23, 27, 27, 63, 27, 27, - 23, 22, 12, 11, 11, 12, 22, 23, 27, 2, 17, 16, 21, 1, 3, 4, 7, 8, 8, 10, 19, 10, 8, 8, 7, 4, 3, 1, 21, 17, 16, 43, - 8, 9, 7, 17, 16, 20, 19, 47, 19, 20, 16, 17, 7, 9, 8, 76, 18, 16, 42, 8, 9, 7, 17, 16, 20, 19, 47, 19, 20, 16, 17, 7, - 9, 8, 42, 17, 17, 21, 1, 3, 4, 7, 8, 8, 10, 19, 10, 8, 8, 8, 3, 3, 1, 2, 3, 17, 17, 21, 2, 5, 3, 7, 8, 8, - 9, 11, 9, 9, 9, 8, 6, 5, 3, 2, 20, 17, 16, 43, 7, 15, 17, 17, 20, 18, 46, 20, 20, 16, 16, 8, 9, 7, 77, 18, 16, 43, - 7, 9, 8, 16, 16, 20, 20, 46, 18, 20, 17, 17, 15, 7, 42, 17, 17, 20, 2, 3, 5, 6, 8, 9, 9, 9, 11, 9, 8, 8, 9, 1, - 5, 2,221, 28, 32, 33, 33, 33, 33, 31, 25, 25, 12, 13, 13, 13, 27, 39, 63, 24, 24, 14, 13, 13, 14, 24, 24, 63, 39, 29, 11, 13, - 13, 12, 25, 22, 34, 31, 35, 28, 38, 31, 29, 13, 12, 26, 27, 28, 31, 35, 39, 27, 31, 25, 23, 15, 14, 29, 30, 34, 33, 33, 32, 31, - 25, 25, 13, 12, 12, 13, 28, 39, 63, 25, 23, 14, 13, 13, 14, 23, 25, 63, 39, 30, 11, 12, 12, 13, 25, 25, 31, 32, 33, 34, 33, 32, - 27, 14, 12, 26, 27, 29, 30, 36, 38, 28, 31, 24, 26, 12, 13,254,140, 9, 10,139, 10, 4, 6, 4, 4, 1, 1, 3, 4, 7, 7, 9, - 9, 10, 10, 9, 10, 6, 5, 8,109, 13, 14, 80, 15, 11, 15, 20, 19, 24, 22, 21, 19, 17, 16, 15, 7, 9, 15, 11, 25, 1,229, 13, - 15, 79, 15, 10, 16, 20, 19, 24, 22, 21, 19, 17, 16, 15, 7, 9, 16, 10, 25,139, 9, 11,136, 10, 4, 9, 2, 4, 1, 1, 3, 4, - 7, 7, 9, 9, 10, 13, 6, 10, 7, 4, 8,254,147, 14, 13,109, 8, 5, 6, 10, 9, 10, 10, 9, 9, 7, 7, 4, 3, 1, 1, 4, - 3, 7, 4, 10,139, 11, 8,142, 25, 11, 15, 9, 7, 15, 16, 17, 19, 21, 22, 24, 19, 20, 15, 11, 15, 1,121, 11, 9,139, 25, 10, - 16, 9, 7, 15, 16, 17, 19, 21, 22, 24, 19, 20, 16, 10, 15, 79, 15, 13,107, 8, 4, 8, 9, 9, 10, 10, 9, 9, 7, 7, 4, 3, - 1, 1, 4, 4, 7, 4, 10,163, 12, 12, 21, 24, 26, 28, 31, 31, 28, 27, 23, 21, 12, 12, 12, 12, 21, 23, 27, 28, 31, 31, 28, 26, - 24, 21, 12,254,147, 5, 1,175, 13, 7, 8, 10, 9, 8, 7, 4, 3, 3, 4, 7, 8, 9, 9, 9, 7, 13,175, 1, 5,158, 28, 15, - 22, 20, 19, 17, 15, 9, 9, 9, 9, 15, 17, 19, 20, 22, 15, 28, 2, 98, 1, 5,154, 29, 14, 23, 20, 19, 17, 15, 9, 9, 9, 9, - 15, 17, 19, 20, 23, 14, 29,154, 5, 1,172, 13, 6, 11, 8, 9, 8, 7, 3, 4, 4, 3, 7, 10, 7, 10, 9, 6, 13, 0, 0, 0, - 0, 4, 0, 37,255,223, 4,172, 4,106, 0, 29, 0, 60, 0, 92, 0,108, 0, 0, 0, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, - 23, 22, 23, 22, 50, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 47, 1, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, - 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 52, 55, 54, 55, 54, 55, 54, 19, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, - 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 23, 3, 37, 19, 13, 1, 3, 37, 27, 1, 5, 3, 45, 1, 19, - 5, 2,150, 91, 39, 39, 33, 32, 16, 16, 16, 16, 32, 33, 39, 39, 91, 38, 40, 32, 33, 16, 16, 16, 16, 33, 32, 40, 84, 66, 51, 57, - 41, 43, 24, 23, 23, 23, 44, 43, 55, 54, 63, 65, 51, 58, 40, 43, 24, 23, 23, 23, 44, 43, 55, 54, 62,116,106,101, 86, 84, 44, 43, - 43, 40, 88, 82,105,105,117,115,107,100, 86, 84, 44, 42, 42, 40, 88, 81,105,106,116,117,254,223,122,254,222, 1, 34,122, 1, 33, -117,118, 1, 33,122, 1, 34,254,222,122,254,223, 3, 4, 17, 18, 30, 35, 38, 40, 44, 45, 39, 39, 34, 30, 18, 17, 17, 18, 30, 34, - 39, 39, 45, 44, 40, 38, 35, 30, 18,101, 24, 25, 41, 42, 58, 54, 63, 59, 57, 55, 44, 43, 23, 24, 24, 25, 41, 42, 57, 55,122, 56, - 56, 44, 43, 23, 24, 1, 17, 44, 42, 85, 84,104,103,121,114,105, 99, 89, 84, 43, 44, 44, 42, 85, 83,105,103,116,118,106, 98, 90, - 82, 45, 44, 6,254,222,122,254,223,118,118,254,224,122,254,222, 1, 34,122, 1, 32,118,118, 1, 33,122, 0, 0, 0, 7, 0, 50, -255,237, 4,159, 5, 57, 0, 8, 0,147, 0,156, 0,167, 0,178, 0,193, 0,208, 0, 0, 1, 17, 34, 7, 6, 21, 20, 23, 22, 19, - 23, 22, 51, 50, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 47, 1, 21, 20, 23, 22, 21, 20, - 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 61, 1, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, - 23, 22, 51, 50, 63, 1, 39, 38, 35, 34, 7, 6, 35, 34, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 31, 1, - 53, 52, 39, 38, 53, 52, 55, 54, 50, 23, 22, 21, 20, 7, 6, 29, 1, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, - 6, 7, 6, 35, 34, 39, 38, 35, 34, 15, 1, 17, 50, 55, 54, 53, 52, 39, 38, 19, 37, 38, 39, 38, 35, 34, 7, 6, 7, 6, 1, 5, - 22, 23, 22, 51, 50, 55, 54, 55, 54, 19, 37, 6, 21, 20, 23, 22, 23, 22, 51, 50, 55, 54, 51, 50, 13, 1, 54, 53, 52, 39, 38, 39, - 38, 35, 34, 7, 6, 35, 34, 2,105, 34, 40, 25, 31, 45,137, 14, 43, 83, 25, 30, 15, 13, 73, 57, 75, 14, 9, 20, 35, 89, 16, 17, - 46, 54, 67, 38, 52, 60, 14, 70, 52, 44, 67, 68, 72, 63, 44, 52, 70, 15, 57, 54, 40, 66, 53, 45, 18, 17, 89, 34, 21, 9, 15, 75, - 56, 73, 14, 14, 30, 26, 83, 42, 15, 15, 41, 82, 27, 31, 14, 14, 73, 56, 74, 16, 9, 21, 34, 89, 17, 18, 45, 53, 68, 38, 51, 60, - 15, 70, 52, 44, 67,136, 67, 44, 52, 70, 14, 58, 54, 40, 65, 54, 46, 17, 16, 89, 35, 20, 9, 14, 75, 57, 73, 13, 15, 30, 27, 82, - 42,128, 34, 40, 24, 30, 45,141, 1, 54, 17, 50, 8, 10, 25, 35, 57, 20, 30,254,126,254,201, 17, 51, 8, 10, 25, 35, 57, 20, 29, - 59,254,201, 10, 4, 5, 48, 49, 43, 8, 8, 23, 24, 53, 1,128, 1, 54, 11, 4, 6, 48, 48, 44, 8, 7, 24, 24, 53, 3, 96, 1, -129, 37, 23, 59, 71, 44, 65,254,222, 10, 28, 3, 1, 36, 46, 63, 39, 33, 51, 38, 64, 27, 5, 33, 42, 89,120, 36, 9, 18, 73,109, - 80, 84, 93, 45, 69, 69, 48, 90, 84, 80,109, 73, 18, 9, 34,122, 90, 41, 33, 5, 28, 63, 38, 51, 33, 39, 64, 45, 36, 1, 3, 28, - 10, 9, 28, 3, 1, 35, 44, 65, 39, 33, 50, 39, 63, 28, 5, 33, 42, 89,120, 36, 8, 17, 73,109, 81, 84, 92, 46, 69, 69, 46, 92, - 84, 81,109, 73, 17, 8, 35,121, 90, 41, 33, 5, 26, 65, 38, 50, 34, 39, 63, 46, 35, 1, 3, 28,214,254,126, 38, 22, 60, 71, 44, - 64, 1,137,193, 32, 18, 4, 22, 35, 51, 74,254,243,193, 32, 18, 3, 21, 35, 51, 74, 1, 13,193, 19, 30, 17, 22, 34, 30, 30, 1, - 4,220,193, 20, 29, 18, 21, 34, 30, 30, 1, 3, 0, 1, 0, 32, 0, 2, 4,177, 5, 87, 0, 65, 0, 0, 1, 39, 7, 39, 55, 39, - 55, 23, 53, 51, 21, 23, 53, 39, 55, 23, 53, 51, 21, 55, 23, 7, 21, 55, 53, 51, 21, 55, 23, 7, 23, 7, 39, 7, 23, 55, 23, 7, - 23, 7, 39, 21, 35, 53, 39, 21, 23, 7, 39, 21, 35, 53, 7, 39, 55, 53, 7, 21, 35, 53, 7, 39, 55, 39, 55, 23, 2, 1,207,168, - 52,116,169, 52,169,104,207,168, 52,116,103,116, 52,168,207,104,169, 52,169,116, 52,168,207,207,168, 52,116,169, 52,169,104,207, -168, 52,116,103,116, 52,168,207,104,169, 52,169,116, 52,168, 2,173,126,102, 95, 70,104, 96,105,142,205,127,254,102, 95, 71,208, -208, 71, 95,102,253,126,205,142,105, 96,104, 70, 95,102,126,127,102, 95, 70,104, 95,104,142,205,127,254,102, 95, 71,208,208, 71, - 95,102,254,127,205,142,104, 95,104, 70, 95,102, 0, 7, 0, 48,255,250, 4,161, 4,179, 0, 29, 0, 33, 0, 37, 0, 41, 0, 45, - 0, 49, 0, 53, 0, 0, 1, 51, 21, 55, 17, 55, 23, 7, 23, 7, 23, 7, 39, 17, 39, 21, 35, 53, 7, 17, 7, 39, 55, 39, 55, 39, - 55, 23, 17, 23, 7, 21, 23, 53, 55, 7, 21, 55, 5, 7, 23, 55, 37, 7, 23, 55, 5, 7, 21, 63, 1, 21, 23, 53, 2, 56, 97,236, -214, 49,216,237,236,215, 49,214,236, 97,236,214, 49,215,236,237,216, 49,214,236,138,138,235,138,138,254, 91,139,138,138, 1, 76, -137,138,138,254, 90,138,138, 97,138, 4,179,249,136,254,240,125, 84,125,136,136,123, 85,125,254,239,137,248,248,137, 1, 17,125, - 85,123,136,136,125, 84,125, 1, 16,136, 32,159, 80,159, 80, 80,159, 80, 85, 80, 79, 79, 80, 80, 79, 79, 83, 80,160, 80,160,160, - 80,160, 0, 0, 0, 1, 0, 25, 0, 5, 4,184, 4,192, 0, 65, 0, 0, 1, 51, 21, 55, 23, 7, 21, 55, 53, 51, 21, 55, 23, 7, - 23, 7, 39, 7, 23, 55, 23, 7, 23, 7, 39, 21, 35, 53, 39, 21, 23, 7, 39, 21, 35, 53, 7, 39, 55, 53, 7, 21, 35, 53, 7, 39, - 55, 39, 55, 23, 55, 39, 7, 39, 55, 39, 55, 23, 53, 51, 21, 23, 53, 39, 55, 23, 2, 57, 97,114, 81,195,218,162, 72, 49, 74,113, - 81,195,216,217,195, 81,114, 73, 49, 75,162,214,195, 81,114, 97,114, 81,195,216,162, 74, 49, 72,114, 81,195,217,215,195, 82,114, - 75, 49, 73,162,219,195, 81,114, 4,191, 84, 66,141,113,249,126,226,132, 42, 84, 43, 66,141,112,124,126,113,141, 65, 43, 84, 43, -131,225,124,247,113,141, 66, 84, 82, 66,140,113,251,124,225,131, 43, 84, 42, 65,142,113,125,124,113,141, 66, 43, 84, 41,131,225, -126,252,112,141, 66, 0, 0, 0, 0, 1, 0, 50,255,238, 4,159, 4,216, 0,135, 0, 0, 1, 22, 21, 20, 7, 6, 7, 6, 35, 34, - 39, 38, 39, 7, 23, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 53, 52, 55, 39, 21, 22, - 23, 30, 1, 20, 14, 1, 34, 46, 1, 52, 54, 55, 54, 55, 53, 7, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 53, 52, 55, - 54, 55, 54, 50, 23, 22, 23, 55, 39, 6, 7, 6, 35, 34, 46, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 23, 53, - 38, 39, 46, 1, 52, 54, 55, 54, 51, 50, 30, 1, 20, 6, 7, 6, 7, 21, 55, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, 4,137, - 22, 22, 22, 37, 39, 43, 44, 37, 15, 14,196,196, 14, 15, 37, 44, 43, 39, 37, 22, 22, 22, 23, 36, 39, 43, 41, 40, 38, 22, 21, 3, -196, 17, 16, 37, 44, 44, 75, 87, 75, 44, 44, 37, 16, 17,196, 3, 21, 22, 38, 38, 43, 44, 38, 37, 22, 22, 22, 22, 37, 39, 86, 38, - 15, 14,196,196, 13, 16, 40, 41, 44, 75, 44, 22, 22, 37, 39, 43, 41, 40, 38, 22, 21, 3,196, 17, 16, 37, 44, 44, 37, 38, 43, 44, - 75, 44, 44, 37, 16, 17,196, 3, 21, 21, 39, 37, 44, 43, 39, 41, 3,157, 44, 37, 43, 39, 37, 22, 22, 22, 9, 12,113,113, 12, 9, - 22, 22, 22, 38, 38, 43, 42, 38, 38, 22, 22, 22, 21, 38, 37, 44, 18, 17,114,227, 6, 8, 22, 75, 88, 75, 44, 44, 75, 88, 75, 22, - 8, 6,227,114, 17, 18, 44, 37, 38, 21, 22, 22, 21, 38, 37, 44, 43, 38, 38, 22, 22, 22, 9, 12,113,113, 12, 9, 22, 44, 75, 88, - 37, 38, 21, 22, 22, 21, 38, 37, 44, 18, 17,114,227, 5, 9, 22, 75, 88, 75, 21, 22, 43, 75, 88, 75, 22, 9, 5,227,114, 17, 18, - 44, 37, 36, 23, 22, 22, 24, 0, 0, 9, 0, 41,255,235, 4,168, 4,106, 0, 7, 0, 11, 0, 15, 0, 19, 0, 23, 0, 46, 0, 69, - 0, 92, 0,115, 0, 0, 0, 20, 6, 34, 38, 52, 54, 50, 9, 1, 55, 9, 2, 55, 1, 37, 1, 39, 9, 2, 39, 1, 55, 38, 39, 38, - 39, 38, 53, 52, 55, 54, 55, 54, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 3, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 34, - 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 39, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, - 22, 5, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 2,218, 67, 93, 67, 67, 93, 1, - 64,254,220, 64, 1, 36,253,198,254,221, 64, 1, 35, 1,250,254,220, 64, 1, 36,254, 70,254,221, 64, 1, 35,139, 43, 11, 17, 3, - 1, 1, 3, 11, 17, 87, 17, 11, 3, 1, 1, 3, 17, 11, 44, 44, 11, 17, 3, 1, 1, 3, 11, 17, 87, 17, 11, 3, 1, 1, 3, 17, - 11,120, 45, 18, 28, 51, 22, 62, 52, 23, 49, 24, 37, 37, 24, 49, 23, 52, 62, 22, 51, 28, 18, 1,116, 45, 18, 28, 51, 22, 62, 52, - 23, 49, 24, 37, 37, 24, 49, 23, 52, 62, 22, 51, 28, 18, 2,102, 94, 67, 67, 94, 66,253,223, 1, 37, 64,254,219, 1,186, 1, 35, - 64,254,221,227,254,219, 64, 1, 37,253,198,254,221, 64, 1, 35,228, 45, 18, 28, 52, 21, 62, 52, 23, 49, 24, 37, 37, 24, 49, 23, - 52, 62, 21, 52, 28, 18,254,140, 45, 18, 28, 51, 22, 62, 52, 23, 49, 24, 37, 37, 24, 49, 23, 52, 62, 22, 51, 28, 18,209, 43, 12, - 17, 3, 1, 2, 2, 11, 18, 86, 17, 11, 3, 1, 1, 3, 17, 11, 43, 43, 11, 17, 3, 1, 1, 3, 11, 17, 86, 18, 11, 2, 2, 1, - 3, 17, 12, 0, 0, 9, 0, 33,255,227, 4,176, 4,114, 0, 7, 0, 11, 0, 15, 0, 19, 0, 23, 0, 43, 0, 63, 0, 83, 0,103, - 0, 0, 0, 20, 6, 34, 38, 52, 54, 50, 1, 55, 23, 7, 1, 55, 23, 7, 1, 23, 7, 39, 1, 23, 7, 39, 2, 20, 7, 6, 7, 6, - 34, 39, 38, 39, 38, 52, 55, 54, 55, 54, 50, 23, 22, 23, 18, 20, 7, 6, 7, 6, 34, 39, 38, 39, 38, 52, 55, 54, 55, 54, 50, 23, - 22, 23, 0, 50, 23, 22, 23, 22, 20, 7, 6, 7, 6, 34, 39, 38, 39, 38, 52, 55, 54, 55, 36, 50, 23, 22, 23, 22, 20, 7, 6, 7, - 6, 34, 39, 38, 39, 38, 52, 55, 54, 55, 3, 21,101,143,101,101,143,254, 4,227, 66,228, 2, 3,228, 65,227,253,187,228, 66,227, - 2,134,227, 65,228, 6, 14, 16, 30, 35, 85, 35, 30, 16, 14, 14, 16, 30, 35, 85, 35, 30, 16, 14, 14, 16, 30, 35, 85, 35, 30, 16, - 14, 14, 16, 30, 35, 85, 35, 30, 16,253,199, 86, 37, 42, 27, 31, 31, 27, 42, 37, 86, 38, 42, 27, 30, 30, 27, 42, 3, 75, 86, 38, - 42, 27, 30, 30, 27, 42, 38, 86, 37, 42, 27, 31, 31, 27, 42, 2,126,142,102,102,142,101,253,223,227, 65,227, 2,134,227, 65,227, - 1, 36,227, 65,227,253,252,227, 65,227, 2,132, 86, 37, 42, 27, 31, 31, 27, 42, 37, 86, 38, 42, 27, 30, 30, 27, 42,252,181, 86, - 38, 42, 27, 30, 30, 27, 42, 38, 86, 37, 42, 27, 31, 31, 27, 42, 1,204, 14, 16, 30, 35, 85, 35, 30, 16, 14, 14, 16, 30, 35, 85, - 35, 30, 16, 14, 14, 16, 30, 35, 85, 35, 30, 16, 14, 14, 16, 30, 35, 85, 35, 30, 16, 0, 0, 0, 0, 9, 0, 23,255,234, 4,186, - 4,141, 0, 12, 0, 25, 0, 38, 0, 51, 0, 64, 0, 77, 0, 89, 0, 97, 0,109, 0, 0, 1, 20, 7, 6, 43, 1, 37, 53, 37, 51, - 50, 23, 22, 5, 52, 55, 54, 59, 1, 5, 21, 5, 35, 34, 39, 38, 1, 22, 21, 20, 15, 2, 39, 63, 1, 54, 51, 50, 1, 38, 53, 52, - 63, 2, 23, 15, 1, 6, 35, 34, 3, 54, 51, 50, 31, 2, 7, 47, 1, 38, 53, 52, 1, 6, 35, 34, 47, 2, 55, 31, 1, 22, 21, 20, - 0, 50, 23, 22, 29, 1, 3, 35, 3, 53, 52, 55, 18, 20, 6, 34, 38, 52, 54, 50, 2, 34, 39, 38, 61, 1, 19, 51, 19, 21, 20, 7, - 4,185, 21, 22, 30, 8,254,193, 1, 63, 8, 29, 23, 21,251, 95, 21, 22, 30, 8, 1, 63,254,193, 8, 29, 23, 21, 3,244, 22, 20, - 6,252, 54,198, 5, 21, 32, 32,252,207, 22, 20, 6,252, 54,198, 5, 21, 32, 30, 24, 22, 32, 31, 22, 5,198, 54,252, 6, 20, 3, - 93, 23, 31, 32, 21, 5,198, 54,252, 6, 20,254, 39, 63, 23, 22, 38, 77, 38, 22,169, 67, 95, 67, 67, 95, 16, 63, 23, 22, 38, 77, - 38, 22, 2, 60, 32, 23, 22, 39, 76, 38, 22, 23, 31, 31, 23, 22, 38, 76, 39, 22, 23, 1,195, 22, 33, 30, 22, 5,198, 54,252, 5, - 22,252,162, 23, 32, 30, 22, 5,198, 54,252, 5, 22, 3, 94, 23, 22, 5,252, 54,198, 5, 21, 31, 33,252,207, 23, 22, 5,252, 54, -198, 5, 21, 31, 32, 3,222, 23, 21, 31, 7,254,194, 1, 62, 7, 30, 22,253,245, 95, 67, 67, 95, 68,253, 60, 22, 21, 31, 7, 1, - 62,254,194, 7, 30, 22, 0, 0, 0, 1, 0, 34,255,233, 4,175, 4, 27, 0,108, 0, 0, 1, 50, 23, 22, 21, 20, 7, 3, 19, 54, - 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 7, 5, 37, 54, 51, 50, 23, 22, 20, 7, 6, 35, 34, 39, 37, 5, 22, 51, 22, 21, 20, 7, - 6, 35, 34, 39, 38, 39, 3, 19, 22, 21, 20, 7, 6, 34, 39, 38, 53, 52, 55, 19, 3, 6, 7, 6, 35, 34, 39, 38, 53, 52, 55, 50, - 55, 37, 5, 6, 35, 34, 39, 38, 52, 55, 54, 51, 50, 23, 5, 37, 38, 39, 38, 53, 52, 55, 54, 51, 22, 23, 22, 23, 19, 3, 38, 53, - 52, 55, 54, 2,104, 33, 35, 27, 4, 59,214, 15, 2, 39, 38, 49, 24, 22, 39, 8, 18,254,219, 1,104, 19, 9, 57, 26, 35, 35, 27, - 56, 5, 28,254,157, 1, 41, 21, 1, 39, 22, 24, 49, 33, 44, 8, 13,210, 59, 4, 27, 35, 65, 35, 27, 4, 59,210, 13, 8, 39, 38, - 49, 24, 22, 39, 1, 21, 1, 41,254,157, 28, 5, 56, 27, 35, 35, 26, 57, 9, 19, 1,104,254,219, 18, 8, 39, 22, 24, 49, 27, 50, - 2, 15,214, 59, 4, 27, 35, 4, 26, 32, 24, 52, 5, 21,254,181, 1, 16, 20, 1, 37, 22, 21, 46, 38, 33, 6, 12,194, 54, 3, 23, - 32, 61, 32, 25, 4, 54,196, 16, 37, 34, 46, 21, 22, 37, 7, 17, 1, 13,254,181, 21, 5, 51, 25, 32, 32, 25, 51, 9, 21, 1, 71, -254,243, 17, 7, 37, 22, 21, 46, 53, 18, 16,196, 54, 4, 25, 32, 61, 32, 23, 3, 54,194, 12, 6, 37, 34, 46, 21, 22, 14, 23, 1, - 20,254,240, 1, 71, 21, 9, 52, 24, 32, 0, 0, 0, 2, 0, 36,255,245, 4,173, 4, 56, 0, 11, 0, 33, 0, 0, 19, 20, 0, 32, - 0, 53, 52, 46, 1, 34, 14, 1, 1, 6, 35, 34, 0, 53, 52, 18, 36, 51, 50, 23, 54, 51, 50, 4, 18, 21, 20, 0, 35, 34, 95, 1, - 28, 1,148, 1, 28,130,233,246,233,130, 2, 9, 18, 18,224,254,192,147, 1, 6,135, 18, 18, 18, 17,138, 1, 6,146,254,192,226, - 17, 2, 22,201,254,227, 1, 29,201,128,232,126,126,232,253, 97, 1, 1, 62,226,141, 1, 7,141, 1, 1,141,254,251,143,226,254, -194, 0, 0, 0, 0, 2, 0, 69,255,193, 4,140, 4, 9, 0, 3, 0, 11, 0, 0, 37, 17, 33, 17, 23, 35, 17, 33, 21, 51, 17, 33, - 4, 14,252,112, 12, 69, 4, 2, 69,251,254, 63, 3,144,252,112, 57, 4, 2, 69,251,255, 0, 0, 0, 2, 0, 61, 0, 0, 4,148, - 4, 86, 0, 3, 0, 11, 0, 0, 37, 17, 33, 17, 37, 21, 33, 17, 51, 53, 33, 17, 4, 20,252, 99, 3,215,251,240, 69, 4, 16, 58, - 3,156,252,100, 12, 70, 4, 16, 70,251,240, 0, 0, 2, 0, 56,255,184, 4,153, 4, 25, 0, 3, 0, 9, 0, 0, 37, 17, 33, 17, - 7, 17, 33, 23, 17, 33, 4, 24,252, 91, 58, 4, 25, 70,251,252, 58, 3,164,252, 92, 59, 4, 25, 91,251,252, 0, 0, 2, 0, 48, - 0, 0, 4,161, 4,113, 0, 3, 0, 9, 0, 0, 37, 17, 33, 17, 5, 33, 17, 55, 33, 17, 4, 30,252, 78, 3,237,251,215, 93, 4, - 20, 60, 3,178,252, 78, 59, 4, 41, 71,251,237, 0, 4, 0, 43,255,250, 4,166, 4,116, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, - 19, 9, 14, 44, 1, 3, 1, 4,254,252, 1,111, 1, 4, 1, 3,254,253,253,196, 1, 4, 1, 4,254,252,254,252, 1, 4, 1, 4, -254,252, 2, 57, 1, 3,254,253,254,252, 1, 4, 1, 2,254,254,254,251, 2, 59, 1, 5,254,251,254,253,254,146, 1, 4,254,252, -254,252, 0, 0, 0, 1, 2, 27,255, 12, 2,182, 5,156, 0, 3, 0, 0, 1, 17, 35, 17, 2,182,155, 5,156,249,113, 6,143, 0, - 0, 1, 1,205,255, 10, 3, 4, 5,153, 0, 3, 0, 0, 1, 17, 33, 17, 3, 3,254,203, 5,153,249,114, 6,142, 0, 1, 1, 81, -254,203, 3,128, 5,107, 0, 3, 0, 0, 1, 17, 33, 17, 3,127,253,211, 5,107,249, 96, 6,160, 0, 1, 1,221, 3,207, 2,244, - 5,217, 0, 6, 0, 0, 1, 33, 17, 55, 51, 7, 51, 2,244,254,233,125, 98, 62,118, 3,207, 1, 23,243,243, 0, 0, 1, 1,211, - 3,196, 2,254, 5,199, 0, 6, 0, 0, 1, 33, 17, 7, 35, 55, 35, 1,212, 1, 41,133,105, 67,126, 5,198,254,238,239,239, 0, -255,255, 1, 0, 3,207, 3,209, 5,217, 16, 39, 10, 63, 0,221, 0, 0, 16, 7, 10, 63,255, 35, 0, 0, 0, 0,255,255, 0,246, - 3,196, 3,219, 5,199, 16, 39, 10, 64, 0,221, 0, 0, 16, 7, 10, 64,255, 35, 0, 0, 0, 0, 0, 2, 0,103,255, 93, 4,106, - 5,129, 0, 79, 0, 83, 0, 0, 1, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, 7, 6, 7, 6, 7, 6, - 20, 23, 22, 23, 22, 23, 22, 51, 50, 55, 54, 55, 54, 55, 54, 53, 17, 35, 34, 39, 38, 53, 52, 54, 59, 1, 53, 55, 21, 33, 7, 35, - 17, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 37, 17, 35, 17, 1,185, 25, 21, - 22, 18, 17, 10, 8, 8, 10, 17, 18, 22, 21, 21, 23, 16, 15, 13, 14, 6, 7, 8, 8, 13, 16, 13, 19, 26, 52, 50, 59, 37, 45, 20, - 22,250,180,110, 96,212,174,250,114, 1, 21,114,163, 30, 35, 50, 54, 65, 64, 58, 86, 55, 58, 36, 41, 18, 19, 19, 21, 38, 31, 55, - 46, 1, 89,155, 1,113, 9, 10, 17, 16, 24, 22, 25, 24, 22, 24, 16, 17, 10, 9, 7, 6, 13, 13, 16, 16, 37, 17, 18, 11, 15, 5, - 7, 22, 27, 36, 46, 50, 55, 55, 1, 29,103, 91,149,154,189,163, 40,203,100,252,162, 86, 68, 81, 52, 57, 31, 30, 20, 21, 37, 42, - 44, 48, 52, 63, 40, 41, 45, 35, 23, 20,250, 1,230,254, 26, 0, 0, 2, 0,255,255,217, 3,210, 4,201, 0, 23, 0, 53, 0, 0, - 1, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 18, 50, 23, 22, 23, 22, 23, 22, - 21, 20, 7, 6, 7, 6, 7, 6, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 2,104,130, 99, 34, 36, 31, 15, 16,110, -145,106,108,142,110, 16, 15, 31, 30, 40, 76,102,101, 42, 43, 36, 36, 18, 17, 17, 18, 36, 36, 43, 42,101, 42, 43, 36, 37, 17, 17, - 17, 17, 37, 36, 43, 4,201, 33, 11, 35, 31, 39, 40, 42,100, 82,106,168,168,106, 83, 99, 42, 40, 39, 31, 29, 17, 33,252,249, 18, - 20, 34, 37, 42, 44, 50, 48, 44, 43, 37, 34, 20, 17, 17, 20, 34, 37, 43, 44, 48, 50, 44, 42, 37, 34, 20, 0, 0, 0, 2, 0,190, -255,227, 4, 19, 4,211, 0, 37, 0, 67, 0, 0, 1, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, 21, - 52, 55, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 2, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, - 7, 6, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 2,104, 99,216,110, 16, 15, 31, 30, 40, 37, 88, 37, 38, 31, 30, - 16, 16, 17, 16, 30, 31, 38, 38, 87, 37, 40, 30, 31, 15, 16,110,216,150,101, 42, 43, 36, 36, 18, 17, 17, 18, 36, 36, 43, 42,101, - 42, 43, 36, 37, 17, 17, 17, 17, 37, 36, 43, 2, 44,159,131, 68,106, 42, 40, 39, 31, 29, 17, 16, 16, 16, 30, 30, 40, 38, 44, 44, - 38, 40, 30, 30, 16, 16, 16, 17, 29, 31, 39, 40, 42,107, 67,131,255, 0, 17, 20, 34, 38, 42, 44, 49, 49, 44, 42, 37, 35, 19, 18, - 18, 19, 35, 37, 42, 44, 49, 49, 44, 42, 38, 34, 20, 0, 0, 0, 0, 1, 0, 46, 0,105, 4,163, 4, 15, 0, 37, 0, 0, 37, 38, - 37, 38, 53, 52, 55, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, 21, 52, 55, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, - 21, 20, 7, 4, 2,104,104,254,195,148, 21, 21, 42, 40, 52, 50,117, 50, 52, 41, 40, 22, 21, 22, 22, 40, 41, 52, 50,117, 50, 52, - 40, 42, 21, 21,148,254,195,105,194,197, 92,144, 61, 57, 55, 44, 42, 25, 23, 23, 24, 43, 42, 57, 54, 64, 64, 54, 57, 42, 43, 24, - 23, 23, 25, 42, 44, 55, 57, 61,146, 90,197, 0, 0, 1, 0,114,255,251, 4, 95, 5, 25, 0, 39, 0, 0, 1, 6, 3, 6, 35, 34, - 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 50, - 23, 18, 4, 95,209,211,100,156, 65, 61, 59, 48, 45, 26, 25, 25, 24, 47, 46, 61, 58, 68, 68, 58, 61, 46, 47, 24, 25, 25, 26, 45, - 48, 59, 61, 65,158, 98,211, 2,138,120,254,148,170, 24, 23, 49, 46, 61, 56, 68, 67, 57, 60, 47, 46, 26, 24, 25, 24, 47, 48, 59, - 56, 69, 66, 58, 59, 47, 48, 24, 25,170,254,146, 0, 2, 0, 65, 0, 25, 4,144, 4,137, 0, 13, 0,105, 0, 0, 1, 54, 53, 52, - 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 23, 6, 7, 54, 51, 50, 23, 22, 21, 20, 7, 6, 21, 20, 51, 50, 55, 54, 51, 50, 21, 20, - 33, 34, 39, 38, 53, 16, 51, 50, 23, 54, 55, 38, 39, 38, 35, 34, 7, 6, 21, 20, 22, 21, 20, 7, 6, 35, 34, 39, 38, 53, 52, 55, - 54, 51, 50, 31, 1, 52, 55, 54, 51, 50, 23, 22, 21, 20, 7, 22, 51, 50, 55, 54, 53, 52, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, - 21, 20, 7, 6, 35, 34, 2,198, 8, 24, 19, 44, 24, 19, 15, 35, 60, 90, 17, 37, 76, 70,101, 48, 36,251,124, 85, 94, 14, 41, 44, - 51,255, 0,166,151,161,212, 83, 66, 63, 13, 82,187, 56, 60, 68, 51, 33, 35, 22, 29, 16, 26, 20, 12, 94, 76, 95, 85, 40, 61, 33, - 35, 63, 62, 40, 41, 13, 49, 70, 61, 34, 37, 17, 34, 17, 25, 46, 52, 34, 17,116, 78, 97, 53, 3,140, 38, 36, 52, 33, 27, 15, 12, - 22, 47, 28, 46,114, 60, 64, 54, 66, 50, 76,178, 95, 48, 62, 81, 35,107, 73,127,124,133,206, 1, 34,114,122, 55, 38,139, 41, 63, - 41, 44, 30, 31, 23, 19, 16, 23, 37, 20, 61, 94, 75, 61, 30, 46, 67, 25, 26, 50, 54, 70, 64, 49, 14, 27, 29, 25, 51, 15, 29, 17, - 46, 22, 33, 57, 27, 43, 99, 77, 51, 0, 0, 0, 0, 2, 0, 49, 1, 51, 4,160, 3,198, 0, 7, 0, 78, 0, 0, 1, 6, 7, 6, - 7, 54, 55, 54, 1, 32, 53, 52, 55, 38, 39, 38, 7, 22, 7, 6, 7, 22, 51, 50, 55, 22, 21, 20, 35, 34, 39, 35, 53, 51, 54, 55, - 54, 55, 38, 39, 38, 39, 38, 53, 52, 51, 6, 21, 20, 23, 22, 23, 50, 23, 22, 23, 38, 53, 52, 55, 54, 51, 50, 19, 22, 51, 50, 53, - 52, 39, 38, 53, 52, 51, 50, 21, 20, 7, 6, 1, 53, 51, 37, 53, 22, 64, 50, 54, 1,154,254,209, 96, 39, 44, 32, 32, 2, 61, 78, - 82, 21, 54, 35, 33, 6,118, 87, 16, 29, 31, 25, 82, 62, 52, 13, 29, 28, 50, 58, 79, 9,116, 53, 4, 49, 34, 34, 46, 25, 49, 38, - 88,176, 46, 20, 82, 79, 9, 9, 65, 53,200,143, 2,189, 11, 30, 41, 84, 24, 47, 49,254,165,206, 56, 54, 44, 23, 17, 1, 70, 65, - 83, 12, 58, 35, 24, 40, 61,139, 58,116, 65, 48, 2, 15, 14, 15, 11, 14, 57, 83, 24, 28, 31, 68, 32, 20, 16, 16, 39, 65, 35, 53, - 31, 24,254,215,125, 49, 24, 15, 14, 22, 49, 66,141, 79, 57, 0, 0, 1, 0,240,255,155, 3,225, 5,130, 0, 32, 0, 0, 5, 34, - 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 21, 34, 7, 14, 1, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 51, 3, -225,151,138,131,112,109, 56, 56, 56, 52,113,108,135,138,151, 89, 84, 78,135, 33, 32, 32, 33, 67, 64, 82, 80, 93,101, 58, 54,112, -108,135,134,152,153,137,128,116,109, 57, 58, 39, 54, 50,213,126,127,149,144,127,126,106,102, 55, 55, 0, 0, 0, 0, 1, 0,240, -255,155, 3,225, 5,130, 0, 34, 0, 0, 23, 48, 53, 50, 55, 54, 55, 54, 55, 54, 53, 52, 39, 46, 1, 39, 38, 35, 48, 53, 50, 23, - 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6,240, 93, 80, 82, 64, 67, 33, 32, 32, 33,135, 78, 84, 89,151,138,135,108,113, - 52, 56, 56, 56,109,112,131,138,101, 39, 54, 55,102,106,126,127,144,149,127,126,213, 50, 55, 38, 58, 57,109,116,127,138,153,152, -133,136,108,111, 55, 58, 0, 0, 0, 1, 1,102,255,135, 3,107, 5, 82, 0, 12, 0, 0, 1, 6, 2, 16, 18, 23, 33, 38, 2, 53, - 52, 18, 55, 3,106,108,106,106,108,254,239,121,121,120,122, 5, 81,187,254,147,254,137,254,143,186,191, 1,113,182,181, 1,112, -191, 0, 0, 0, 0, 1, 1,110,255,135, 3, 99, 5, 36, 0, 15, 0, 0, 1, 48, 33, 22, 18, 21, 20, 7, 6, 7, 33, 54, 55, 54, - 16, 2, 1,110, 1, 9,119,117, 59, 59,118,254,247,105, 52, 51,102, 5, 36,186,254,156,176,176,179,179,185,181,178,178, 1,108, - 1, 99, 0, 0, 0, 1, 1, 67,255,125, 3,142, 5, 85, 0, 5, 0, 0, 5, 35, 9, 1, 51, 1, 3,141,213,254,140, 1,116,213, -254,138,130, 2,235, 2,236,253, 20, 0, 0, 0, 0, 1, 1, 68,255,125, 3,141, 5, 85, 0, 5, 0, 0, 5, 9, 1, 51, 9, 1, - 1, 68, 1,117,254,140,212, 1,116,254,140,130, 2,235, 2,236,253, 20,253, 21, 0, 1, 0,210,255, 86, 3,255, 5, 46, 0, 5, - 0, 0, 5, 33, 9, 1, 33, 1, 3,254,254,182,254, 31, 1,225, 1, 74,254, 22,169, 2,235, 2,236,253, 20, 0, 0, 1, 0,210, -255, 86, 3,255, 5, 46, 0, 5, 0, 0, 23, 9, 1, 33, 9, 1,211, 1,234,254, 22, 1, 74, 1,225,254, 31,169, 2,235, 2,236, -253, 20,253, 21, 0, 1, 0,205,255, 65, 4, 4, 5,209, 0, 5, 0, 0, 5, 33, 9, 1, 33, 1, 4, 3,254,109,254, 94, 1,162, - 1,147,254, 92,190, 3, 71, 3, 72,252,184, 0, 0, 1, 0,206,255, 66, 4, 3, 5,210, 0, 5, 0, 0, 23, 9, 1, 33, 9, 1, -206, 1,163,254, 94, 1,146, 1,162,254, 94,190, 3, 72, 3, 72,252,184,252,184, 0, 1, 1,201,254,229, 3, 8, 5,118, 0, 7, - 0, 0, 33, 23, 7, 39, 17, 55, 23, 7, 2, 68,196, 87,232,232, 87,196,195, 87,231, 4,194,231, 87,195, 0, 0, 0, 1, 1,201, -254,235, 3, 8, 5,124, 0, 7, 0, 0, 1, 39, 55, 23, 17, 7, 39, 55, 2,141,196, 87,232,232, 87,196, 4, 98,195, 87,231,251, - 62,231, 87,195, 0, 1, 1, 25,254,184, 3,184, 5, 94, 0, 36, 0, 0, 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, 3,184,151,178,120, 77,101, 44, 44, -102, 76,120,178,151, 49,100, 61, 65, 79, 79, 65, 61,100,198,130,133,199,215,136,105,128,104,134,216,199,132,129, 79,127,223,141, -128, 23, 24,128,140,223,127, 79, 0, 1, 0,249,254,176, 3,216, 5,105, 0, 40, 0, 0, 23, 51, 50, 54, 61, 1, 52, 54, 55, 38, - 39, 38, 61, 1, 52, 38, 43, 1, 53, 51, 50, 23, 22, 29, 1, 20, 23, 22, 59, 1, 21, 35, 34, 6, 29, 1, 20, 7, 6, 43, 1,250, - 53,110, 67, 70, 86, 85, 36, 35, 67,110, 53,165,194, 66, 66, 42, 41,112, 47, 47,111, 84, 66, 66,194,165,204, 80,128,226,142,129, - 25, 22, 65, 65,143,225,129, 80,130, 68, 66,201,219,135, 52, 53,130,105,138,217,201, 68, 67, 0, 0, 1, 0, 83, 1, 47, 4,126, - 3,229, 0, 8, 0, 0, 9, 1, 35, 1, 33, 53, 33, 1, 51, 4,125,254,165,227, 1, 6,253, 15, 2,241,254,250,227, 2,138,254, -165, 1, 6,170, 1, 6, 0, 0, 0, 1, 0,116, 0,146, 4, 93, 4,125, 0, 6, 0, 0, 9, 1, 55, 1, 27, 1, 37, 3, 16,253, -100,148, 2, 94,186, 61,253,164, 1,138, 2, 93,149,253,100, 1, 14,253,164, 62, 0, 1, 0, 83, 1,162, 4,126, 4, 18, 0, 6, - 0, 0, 1, 5, 53, 5, 3, 9, 1, 3, 47,253, 37, 2,219, 48, 1,126,254,130, 2,168, 35,170, 35, 1, 5,254,201,254,201, 0, - 0, 1, 0,116, 0,193, 4, 93, 4,171, 0, 6, 0, 0, 9, 1, 39, 1, 45, 1, 3, 3,102,253,162,148, 2,156,254,241, 2, 92, - 61, 3, 93,253,100,149, 2, 93,186, 62,253,164, 0, 1, 0, 45, 1,161, 4,164, 3,225, 0, 8, 0, 0, 19, 33, 39, 4, 5, 4, - 5, 55, 33, 46, 2, 20,128, 1, 9, 1,216,254, 40,254,247,128,253,236, 2,239,242,192, 96, 96,192,242, 0, 0, 0, 1, 0, 73, - 1, 41, 4,136, 4, 61, 0, 50, 0, 0, 0, 20, 7, 6, 7, 1, 6, 7, 6, 34, 38, 39, 38, 39, 38, 53, 52, 55, 54, 63, 1, 33, - 34, 46, 1, 39, 38, 52, 55, 62, 2, 51, 33, 39, 38, 39, 38, 53, 52, 55, 54, 55, 62, 1, 50, 23, 22, 23, 1, 22, 4,136, 7, 9, - 12,254,212, 12, 18, 17, 39, 33, 13, 14, 7, 7, 7, 8, 13,139,253, 96, 19, 33, 27, 8, 6, 6, 8, 27, 33, 19, 2,160,139, 13, - 8, 7, 7, 7, 14, 13, 33, 39, 17, 18, 12, 1, 44, 14, 2,198, 38, 16, 18, 13,254,212, 12, 8, 7, 14, 13, 15, 16, 16, 19, 20, - 16, 18, 13,140, 14, 26, 18, 16, 38, 16, 18, 26, 15,139, 13, 18, 17, 19, 19, 16, 17, 14, 13, 15, 7, 9, 12,254,212, 14, 0, 0, - 0, 1, 0, 83, 1,182, 4,126, 4, 38, 0, 6, 0, 0, 1, 33, 53, 33, 17, 9, 1, 3, 70,253, 14, 2,242, 1, 55,254,201, 2, -210, 56, 1, 27,254,201,254,201, 0, 1, 0, 45, 1,120, 4,164, 4, 20, 0, 6, 0, 0, 1, 33, 53, 33, 53, 9, 1, 3, 86,252, -216, 3, 40, 1, 77,254,179, 2,114,168,250,254,178,254,178, 0, 0, 4, 0, 54, 1,117, 4,155, 4, 6, 0, 3, 0, 7, 0, 11, - 0, 18, 0, 0, 1, 35, 17, 51, 3, 35, 17, 51, 3, 35, 17, 51, 1, 33, 17, 33, 53, 9, 1, 1,233,180,180,240, 90, 90,150, 45, - 45, 2,239,254,211, 1, 45, 1, 73,254,183, 2, 40, 1, 44,254,212, 1, 44,254,212, 1, 44,254,212, 1, 44,178,254,184,254,183, - 0, 4, 0, 83, 1,156, 4,126, 4, 11, 0, 8, 0, 12, 0, 16, 0, 20, 0, 0, 1, 53, 22, 23, 6, 7, 53, 33, 17, 3, 35, 17, - 51, 3, 35, 17, 51, 3, 35, 17, 51, 3, 70,131,180,180,131,254,227, 57,171,171,228, 85, 85,142, 42, 42, 3,169, 98,218, 93, 94, -218, 98, 1,171,254, 85, 1,171,254, 85, 1,171,254, 85, 1,171, 0, 1, 0, 83, 1,132, 4,126, 3,244, 0, 6, 0, 0, 1, 33, - 17, 33, 53, 9, 1, 3, 70,253, 14, 2,242, 1, 55,254,201, 2, 46, 1, 28,169,254,201,254,201, 0, 2, 0, 96, 1,116, 4,113, - 4, 24, 0, 2, 0, 6, 0, 0, 1, 33, 37, 23, 9, 2, 2, 12, 1,168,253,141,113,254,174, 4, 17,251,239, 2,198,203,203, 1, - 82,254,174,254,174, 0, 0, 0, 0, 2, 0,123, 1,164, 4, 86, 4, 36, 0, 2, 0, 6, 0, 0, 1, 7, 37, 33, 9, 2, 2, 16, -192, 2, 83,254, 24,254,192, 3,219,252, 37, 2,228,193,193, 1, 64,254,192,254,192, 0, 0, 0, 0, 1, 0,123, 1, 31, 4, 86, - 4,189, 0, 3, 0, 0, 1, 3, 9, 1, 1,116,249, 3,219,252, 37, 2,238, 1,206,254, 50,254, 50, 0, 0, 0, 0, 1, 0, 54, - 1,140, 4,155, 4, 61, 0, 22, 0, 0, 19, 17, 20, 23, 22, 23, 22, 23, 22, 51, 33, 53, 9, 1, 53, 33, 34, 39, 38, 39, 38, 39, - 38, 54, 14, 13, 27, 26, 32, 32, 36, 2,104, 1, 73,254,183,253,152, 36, 32, 32, 26, 27, 13, 14, 2,213, 1,104, 36, 32, 32, 27, - 25, 15, 13,149,254,183,254,183,149, 13, 15, 25, 27, 32, 32, 0, 0, 1, 0, 54, 1,139, 4,155, 4, 60, 0, 22, 0, 0, 19, 52, - 55, 54, 55, 54, 55, 54, 51, 33, 53, 9, 1, 53, 33, 34, 7, 6, 7, 6, 7, 6, 21, 54, 14, 13, 27, 26, 32, 32, 36, 2,104, 1, - 73,254,183,253,152, 36, 32, 32, 26, 27, 13, 14, 2,243, 36, 32, 32, 27, 25, 15, 13,149,254,183,254,183,149, 13, 15, 25, 27, 32, - 32, 36, 0, 0, 0, 1, 1, 79, 1, 6, 3,130, 4,224, 0, 6, 0, 0, 1, 33, 17, 33, 17, 9, 1, 2,101,254,235, 1, 21, 1, - 28,254,228, 2, 18, 1,194, 1, 12,254, 19,254, 19, 0, 0, 0, 0, 1, 0, 54, 1,110, 4,155, 4, 0, 0, 8, 0, 0, 1, 53, - 22, 5, 4, 7, 53, 33, 17, 2,226,108, 1, 77,254,179,108,253, 84, 3,137,119,230, 99, 99,230,119, 1,164, 0, 0, 2, 0,101, - 1,107, 4,108, 4, 33, 0, 8, 0, 15, 0, 0, 1, 53, 33, 17, 33, 53, 51, 9, 1, 39, 21, 9, 1, 21, 33, 21, 2, 95,254, 6, - 1,250,178, 1, 91,254,165,121, 1, 34,254,222,254, 6, 1,107,169, 1,100,169,254,165,254,165,226,169, 1, 34, 1, 34,169,242, - 0, 2, 0,101, 1, 47, 4,108, 3,229, 0, 8, 0, 15, 0, 0, 1, 53, 33, 17, 33, 53, 51, 9, 1, 39, 21, 9, 1, 21, 33, 21, - 2, 95,254, 6, 1,250,178, 1, 91,254,165, 15, 1, 34,254,222,254, 7, 1, 47,169, 1,100,169,254,165,254,165,226,169, 1, 34, - 1, 34,169,242, 0, 2, 0, 53, 0,183, 4,156, 3,252, 0, 11, 0, 18, 0, 0, 27, 1, 33, 55, 51, 19, 21, 1, 35, 53, 55, 33, - 37, 7, 1, 3, 7, 33, 7, 54,205, 2, 85, 99, 71,153,253,249,106, 15,253,253, 2,182, 98, 1,202,122, 98,253,170,140, 1,239, - 1,100,169,254,147,143,254,184,142, 27,199,169, 1, 34, 1, 34,169,242, 0, 0, 0, 2, 0, 97, 0,214, 4,112, 3,171, 0, 11, - 0, 18, 0, 0, 19, 53, 33, 39, 53, 51, 1, 21, 3, 35, 39, 33, 1, 33, 23, 33, 23, 55, 37, 97, 1,220, 15, 99, 1,223,142, 65, - 91,253,216, 1,196,253,216,129, 2, 40, 90,113,254, 90, 2,157,123, 23,123,254,228,123,254,196,146, 1, 3,210,146,251,251, 0, - 0, 2, 0,125, 0,219, 4, 84, 4, 77, 0, 10, 0, 17, 0, 0, 37, 39, 33, 39, 17, 33, 53, 51, 1, 23, 1, 3, 21, 9, 1, 21, - 33, 17, 2,147, 59,254,113, 75, 1,202, 82, 1,110, 75,254,146, 97, 1, 50,254,206,254, 54,219,119,150, 1,238,119,254,146,150, -254,146, 1, 73,119, 1, 50, 1, 50,119,254,138, 0, 2, 0, 84, 0,130, 4,125, 4, 62, 0, 10, 0, 17, 0, 0, 1, 51, 1, 7, - 1, 35, 53, 33, 17, 55, 33, 23, 33, 17, 33, 21, 9, 1, 2,150, 90, 1,140, 81,254,116, 90,254, 16, 81, 1,176, 48,254, 16, 1, -240, 1, 76,254,180, 4, 62,254,115,162,254,115,129, 2, 24,163,228,254,106,129, 1, 76, 1, 75, 0, 2, 0, 50, 1, 78, 4,159, - 4,117, 0, 12, 0, 20, 0, 0, 19, 39, 33, 53, 51, 1, 23, 1, 35, 39, 53, 33, 39, 55, 7, 33, 21, 9, 1, 21, 33,163,112, 2, -133, 83, 1,110, 37,254,146, 82, 38,253,160, 37,181, 85, 2, 97, 1, 50,254,206,253,159, 3, 7,247,119,254,146, 75,254,146, 74, - 44, 76,247,187,119, 1, 50, 1, 50,119, 0, 0, 0, 2, 0, 41, 0,253, 4,168, 4, 49, 0, 12, 0, 20, 0, 0, 19, 39, 55, 33, - 53, 55, 51, 1, 7, 1, 35, 53, 33, 55, 7, 33, 21, 9, 1, 21, 33,156,114, 38, 2,106, 38, 83, 1,116, 38,254,140, 83,253,112, -184, 87, 2,108, 1, 54,254,202,253,148, 2,113,251, 77, 44, 76,254,140, 76,254,140,121,251,190,121, 1, 55, 1, 55,121, 0, 0, - 0, 1, 0,145, 0,189, 4, 64, 4,172, 0, 33, 0, 0, 19, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, - 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 33, 21, 9, 1, 21,145, 32, 54, 73, 89, 90,103, 98, 94, 85, 77, 73, 37, 38, 38, 34, - 76, 70, 92, 90,102, 99, 94, 85, 77, 51, 33, 1,231, 1,116,254,140, 3,167, 58, 54, 73, 38, 38, 38, 35, 76, 72, 90, 90,104, 99, - 92, 85, 77, 72, 39, 38, 38, 35, 76, 50, 60,129, 1,116, 1,116,128, 0, 0, 0, 0, 9, 0, 88, 1, 78, 4,121, 3, 22, 0, 3, - 0, 7, 0, 11, 0, 15, 0, 30, 0, 34, 0, 38, 0, 42, 0, 46, 0, 0, 1, 7, 51, 55, 35, 7, 51, 55, 35, 7, 51, 55, 35, 7, - 51, 55, 35, 53, 39, 33, 23, 33, 53, 22, 23, 6, 7, 53, 33, 7, 33, 1, 51, 39, 35, 23, 51, 39, 35, 23, 51, 39, 35, 23, 51, 39, - 35, 2, 8,114, 43,113,127,114, 42,114,128,114, 43,114,128,114, 43,114, 86,133, 1,128,133, 1, 22,123,139,139,123,254,234,133, -254,128, 1,176, 42,113, 43, 29, 42,114, 42, 28, 43,114, 43, 29, 43,114, 43, 2, 21,171,171,171,171,171,171,171,171, 57,199,199, -198,134, 92, 93,134,198,199, 1, 0,171,171,171,171,171,171,171, 0, 3, 0,116, 0,185, 4, 93, 4,162, 0, 12, 0, 16, 0, 20, - 0, 0, 1, 55, 6, 21, 20, 23, 38, 35, 34, 7, 55, 39, 55, 9, 1, 35, 1, 37, 53, 1, 21, 3,178,142, 6, 35,116,133, 54, 57, -143,207, 46,254,119, 1, 90,230,254,166, 1, 21, 1, 89, 1,147,143, 57, 54,133,116, 34, 6,143,207, 46, 1, 42,254,168, 1, 88, - 47,230,254,167,229, 0, 0, 0, 0, 3, 0, 83, 1,209, 4,126, 3,107, 0, 8, 0, 12, 0, 16, 0, 0, 1, 53, 22, 23, 6, 7, - 53, 33, 53, 5, 33, 7, 33, 55, 39, 33, 23, 3,141,110,130,130,110,255, 0,254, 85, 1,170,142,254, 86,142,142, 1,170,142, 2, -186,177,134, 71, 71,134,177, 56, 58,142,200,143,143, 0, 0, 0, 0, 3, 0,117, 0,129, 4, 92, 4,106, 0, 12, 0, 16, 0, 20, - 0, 0, 1, 39, 22, 51, 50, 55, 6, 21, 20, 23, 39, 7, 39, 9, 1, 21, 1, 3, 35, 1, 51, 3,131,142, 57, 53,133,116, 34, 5, -142,207, 46,254,214, 1, 89,254,167, 47,230, 1, 89,230, 3,191,143, 6, 34,117,132, 54, 57,143,207, 46,254,120, 1, 88,230,254, -168, 1, 21, 1, 88, 0, 0, 0, 0, 1, 0, 78, 0,185, 4,131, 4,238, 0, 50, 0, 0, 37, 38, 35, 34, 7, 54, 55, 54, 55, 1, - 38, 39, 38, 34, 7, 6, 7, 1, 54, 55, 54, 51, 50, 23, 22, 23, 38, 39, 38, 53, 52, 55, 54, 55, 1, 6, 7, 6, 21, 20, 23, 22, - 23, 1, 54, 55, 54, 55, 6, 21, 20, 4,130,125,144, 58, 60, 63, 77, 35, 21,254,246, 25, 31, 33, 68, 34, 32, 24,254,141, 31, 36, - 40, 42, 38, 42, 38, 29, 29, 15, 17, 17, 15, 29, 1,115, 28, 9, 12, 12, 13, 24, 1, 10, 3, 14, 32, 63, 6,186, 36, 6, 62, 34, - 14, 2, 1, 9, 26, 12, 13, 13, 13, 25, 1,115, 32, 14, 16, 16, 15, 31, 31, 37, 42, 38, 42, 40, 38, 30,254,140, 29, 27, 34, 33, - 35, 33, 30, 26,254,247, 20, 34, 79, 62, 62, 59,142, 0, 0, 0, 0, 1, 0, 42, 1,137, 4,167, 3, 69, 0, 47, 0, 0, 1, 6, - 7, 52, 55, 54, 55, 33, 34, 7, 6, 7, 6, 7, 6, 21, 33, 52, 55, 54, 55, 54, 55, 54, 51, 34, 39, 38, 39, 38, 39, 38, 53, 33, - 20, 23, 22, 23, 22, 23, 22, 51, 33, 38, 39, 38, 53, 22, 4,166,140,118, 28, 12, 11,254,184, 31, 27, 28, 22, 21, 12, 12,254, 53, - 13, 15, 26, 24, 36, 32, 37, 37, 32, 36, 24, 26, 15, 13, 1,203, 12, 12, 21, 22, 28, 27, 31, 1, 72, 11, 12, 28,118, 2,103, 77, -144, 77, 69, 30, 14, 11, 12, 22, 20, 30, 27, 31, 37, 33, 35, 25, 24, 16, 14, 14, 16, 24, 26, 34, 33, 37, 31, 27, 30, 20, 22, 12, - 11, 14, 30, 69, 77,144, 0, 0, 0, 1, 0,117, 0,175, 4, 92, 4,151, 0, 50, 0, 0, 1, 6, 21, 20, 23, 38, 39, 38, 39, 7, - 6, 7, 6, 21, 20, 23, 22, 23, 1, 38, 39, 38, 53, 52, 55, 54, 55, 6, 7, 6, 35, 34, 39, 38, 39, 1, 22, 23, 22, 50, 55, 54, - 63, 1, 38, 39, 38, 39, 22, 51, 50, 4, 92, 34, 6, 58, 30, 13, 4,246, 25, 10, 11, 11, 12, 23,254,168, 28, 14, 15, 15, 14, 28, - 28, 35, 39, 36, 39, 36, 35, 28, 1, 89, 22, 30, 31, 64, 31, 28, 24,246, 20, 31, 73, 58, 56, 54,134, 4,151,115,133, 54, 58, 58, - 73, 32, 18,246, 27, 25, 31, 31, 31, 32, 29, 23,254,167, 27, 35, 38, 39, 35, 39, 34, 29, 29, 13, 15, 15, 14, 28, 1, 88, 22, 13, - 12, 12, 12, 23,247, 2, 13, 31, 58, 6, 0, 0, 0, 3, 0, 53, 1, 42, 4,156, 3,236, 0, 22, 0, 43, 0, 66, 0, 0, 1, 54, - 55, 6, 7, 6, 7, 6, 7, 6, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 36, 52, 55, 54, 55, 54, 55, 54, 50, 23, 4, - 5, 4, 7, 6, 34, 39, 38, 39, 38, 39, 37, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, 23, - 36, 3, 3,184,224,170, 91, 9, 16, 17, 20, 19, 47, 19, 21, 16, 16, 9, 8, 8, 9, 16, 16,253, 72, 11, 13, 20, 22, 27, 26, 61, - 27, 1, 8, 2,141,253, 97,246, 27, 61, 26, 31, 18, 22, 11, 2,194, 21, 16, 16, 9, 8, 8, 9, 16, 16, 21, 19, 47, 19, 20, 17, - 13, 12, 90,171,254,239, 2, 4, 73, 61, 88,194, 22, 15, 15, 10, 8, 8, 10, 15, 15, 22, 20, 24, 22, 20, 22, 15, 16,113, 62, 26, - 30, 19, 21, 12, 12, 11,100, 40, 42, 99, 10, 11, 14, 19, 24, 25,193, 9, 15, 16, 21, 21, 22, 23, 21, 21, 15, 16, 9, 8, 8, 9, - 16, 12, 24,194, 88, 74, 0, 0, 0, 2, 0, 29, 1,110, 4,180, 3,176, 0, 26, 0, 46, 0, 0, 19, 54, 55, 54, 55, 54, 55, 54, - 51, 50, 23, 22, 23, 22, 5, 4, 7, 14, 1, 35, 34, 39, 38, 39, 38, 39, 38, 37, 38, 39, 38, 53, 52, 55, 54, 55, 22, 23, 6, 7, - 38, 39, 38, 53, 52, 55, 54, 29, 53, 24, 26, 16, 32, 32, 35, 38, 43, 42, 49, 41,132, 1, 70,254,186,132, 45, 89, 41, 41, 32, 46, - 18, 23, 19, 23, 3, 69, 30, 15, 16, 16, 15, 30, 79,205,205, 79, 30, 15, 16, 16, 15, 2,143, 31, 47, 51, 16, 29, 15, 15, 15, 18, - 26, 83, 62, 62, 83, 28, 31, 15, 24, 20, 29, 38, 47, 31, 32, 35, 36, 41, 41, 37, 35, 31,195, 93, 93,195, 31, 35, 37, 41, 41, 36, - 35, 0, 0, 0, 0, 1, 0, 38, 1,190, 4,171, 3,166, 0,101, 0, 0, 0, 20, 6, 15, 1, 6, 7, 6, 34, 39, 38, 39, 46, 1, - 53, 52, 63, 1, 54, 53, 52, 39, 38, 39, 38, 39, 38, 43, 1, 34, 7, 6, 7, 6, 15, 1, 6, 7, 6, 7, 6, 35, 33, 34, 46, 2, - 52, 63, 1, 54, 52, 47, 1, 38, 52, 54, 55, 54, 55, 54, 51, 33, 50, 23, 22, 23, 22, 31, 1, 22, 23, 22, 23, 22, 59, 1, 50, 55, - 54, 55, 54, 55, 54, 53, 52, 47, 1, 38, 53, 52, 54, 55, 54, 55, 54, 50, 23, 22, 31, 1, 22, 4,171, 5, 5,195, 3, 7, 6, 13, - 6, 5, 5, 5, 5, 2, 22, 3, 3, 2, 5, 4, 6, 7, 6,229, 6, 6, 6, 5, 4, 3, 73, 4, 3, 4, 7, 5, 6,254, 14, 6, - 11, 10, 5, 2, 93, 3, 3, 93, 2, 5, 5, 5, 5, 6, 6, 1,242, 6, 5, 7, 4, 3, 4, 73, 3, 4, 5, 6, 6, 6,229, 6, - 7, 6, 4, 5, 2, 3, 3, 22, 2, 5, 5, 5, 5, 6, 13, 6, 7, 3,195, 5, 2,185, 14, 12, 5,195, 3, 4, 2, 2, 3, 4, - 5, 12, 7, 3, 9, 81, 9, 4, 5, 6, 6, 5, 4, 3, 3, 2, 4, 4, 4, 6,146, 9, 2, 4, 3, 3, 5, 10, 11, 15, 5,185, - 5, 16, 5,185, 5, 15, 11, 5, 4, 3, 3, 3, 2, 5, 2, 9,146, 6, 4, 4, 4, 2, 3, 3, 4, 5, 6, 6, 5, 4, 9, 81, - 9, 3, 7, 12, 5, 4, 3, 2, 2, 4, 3,195, 5, 0, 0, 0, 0, 1, 0, 37, 1,101, 4,171, 3,241, 0,103, 0, 0, 0, 20, - 7, 6, 7, 1, 6, 7, 6, 34, 39, 38, 39, 46, 1, 53, 52, 63, 1, 54, 53, 52, 39, 38, 39, 38, 39, 38, 43, 1, 34, 7, 6, 7, - 6, 15, 1, 6, 7, 6, 7, 6, 35, 33, 34, 46, 2, 52, 63, 1, 54, 52, 47, 1, 38, 52, 54, 55, 54, 55, 54, 51, 33, 50, 23, 22, - 23, 22, 31, 1, 22, 23, 22, 23, 22, 59, 1, 50, 55, 54, 55, 54, 55, 54, 53, 52, 47, 1, 38, 53, 52, 54, 55, 54, 55, 54, 50, 23, - 22, 23, 1, 22, 23, 4,171, 2, 3, 5,254,187, 4, 6, 6, 13, 6, 5, 5, 5, 5, 2, 71, 3, 3, 2, 5, 4, 7, 6, 6, 75, - 6, 6, 6, 4, 5, 3, 97, 4, 3, 5, 6, 5, 7,253,231, 7, 11, 10, 5, 3,117, 2, 2,126, 2, 5, 5, 5, 5, 6, 6, 2, - 26, 7, 5, 7, 4, 3, 4,105, 3, 5, 4, 6, 6, 6, 75, 6, 6, 7, 4, 5, 2, 3, 3, 71, 2, 5, 5, 5, 5, 6, 13, 6, - 6, 4, 1, 69, 5, 3, 2,178, 14, 6, 6, 5,254,220, 4, 3, 3, 3, 3, 4, 5, 11, 7, 6, 7,178, 6, 7, 5, 6, 7, 4, - 4, 3, 3, 2, 4, 4, 4, 6,195, 8, 3, 4, 3, 3, 5, 10, 11, 15, 5,234, 5, 16, 5,250, 5, 15, 11, 5, 4, 3, 3, 3, - 2, 5, 2, 9,211, 6, 4, 4, 4, 2, 3, 3, 4, 4, 7, 6, 5, 7, 6,178, 7, 6, 7, 11, 5, 4, 3, 3, 3, 3, 4,254, -220, 5, 6, 0, 0, 3, 0, 50, 1, 12, 4,159, 3,178, 0, 19, 0, 31, 0, 43, 0, 0, 1, 6, 7, 6, 7, 35, 55, 54, 55, 54, - 55, 38, 39, 38, 47, 1, 51, 22, 23, 22, 1, 35, 54, 55, 54, 55, 33, 53, 33, 6, 7, 6, 3, 22, 23, 22, 23, 33, 53, 33, 38, 39, - 38, 39, 4,159,103, 63,106, 55, 82, 8, 61,121, 29, 54, 54, 29,121, 61, 8, 82, 54,107, 63,254, 86, 79, 14, 18, 23, 32,253,156, - 2,241, 83, 43, 13, 10, 10, 13, 43, 83,253, 15, 2,100, 32, 23, 18, 14, 2, 95, 56, 61,101,121, 17,139,117, 27, 39, 38, 28,117, -138, 17,116,106, 60,254,117, 44, 42, 52, 52, 71,101,101, 29, 2,135, 29, 29,101,101, 71, 51, 53, 42, 43, 0, 0, 0, 3, 0,117, -254, 35, 4, 92, 6,117, 0, 3, 0, 6, 0, 9, 0, 0, 9, 5, 33, 9, 1, 33, 2,104, 1,244,254, 12,254, 13, 1,243,254,152, - 2,209,254,151, 1,105,253, 47, 6,117,251,219,251,211, 4, 45, 3, 49,253, 8,252,142, 3, 0, 0, 1, 1,134,254,242, 3, 75, - 6, 18, 0, 5, 0, 0, 9, 1, 51, 9, 1, 35, 1,135, 1, 25,170,254,231, 1, 25,170, 2,130, 3,144,252,112,252,112, 0, 0, - 0, 1, 1,134,254,242, 3, 75, 6, 18, 0, 5, 0, 0, 9, 1, 35, 9, 1, 51, 3, 74,254,231,170, 1, 25,254,231,170, 2,130, -252,112, 3,144, 3,144, 0, 0, 0, 1, 0,117,254, 35, 4, 92, 6,117, 0, 3, 0, 0, 9, 3, 2,104, 1,244,254, 12,254, 13, - 6,117,251,219,251,211, 4, 45, 0, 1, 0, 88, 0,113, 4,121, 4,147, 0, 19, 0, 0, 1, 17, 51, 17, 51, 21, 35, 17, 35, 17, - 35, 17, 35, 17, 35, 53, 51, 17, 51, 17, 2,220,168,245,245,168,232,168,244,244,168, 2,215, 1,188,254, 68,170,254, 68, 1,188, -254, 68, 1,188,170, 1,188,254, 68, 0, 0, 0, 0, 1, 0, 88, 0,113, 4,121, 4,147, 0, 27, 0, 0, 19, 17, 51, 17, 51, 17, - 51, 17, 51, 17, 51, 17, 51, 21, 35, 17, 35, 17, 35, 17, 35, 17, 35, 17, 35, 17, 35, 53,202,168,162,168,162,168,115,115,168,162, -168,162,168,114, 2,215, 1,188,254, 68, 1,188,254, 68, 1,188,254, 68,170,254, 68, 1,188,254, 68, 1,188,254, 68, 1,188,170, -255,255, 0,150, 0,174, 4, 59, 4, 84, 16, 6, 0,153, 0, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 0, - 55, 33, 17, 33, 3, 17, 33, 17,120, 3,225,252, 31,114, 4,197, 36, 1,240,253,158, 4,196,251, 60, 0, 0, 0, 0, 2, 0, 6, -255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 0, 19, 33, 17, 33, 3, 17, 33, 17,120, 3,225,252, 31,114, 4,197, 2, 20, 1,240, -251,174, 4,196,251, 60, 0, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 6, 0, 0, 55, 33, 1, 3, 17, 33, 17,120, - 3,225,252, 31,114, 4,197, 36, 3,224,251,174, 4,196,251, 60, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 6, 0, 0, - 37, 17, 33, 3, 17, 33, 17, 4, 89,252, 31,114, 4,197, 36, 3,224,251,174, 4,196,251, 60, 0, 0, 2, 0, 6,255,177, 4,203, - 4,119, 0, 2, 0, 6, 0, 0, 37, 9, 5, 2,104, 1,203,254, 53,253,158, 2, 98, 2, 99,253,157, 74, 1,202, 1,202,254, 54, - 2, 98,253,158,253,158, 0, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 6, 0, 0, 19, 1, 17, 9, 3,158, 1,202, -253,158, 2, 98, 2, 99,253,157, 2, 20,254, 54, 3,148,254, 54, 2, 98,253,158,253,158, 0, 0, 0, 2, 0, 6,255,177, 4,203, - 4,119, 0, 2, 0, 6, 0, 0, 19, 9, 1, 33, 9, 2,158, 1,202, 1,203,251,211, 2, 98, 2, 99,253,157, 2, 20,254, 54, 1, -202, 2, 98,253,158,253,158, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 6, 0, 0, 19, 33, 9, 4,158, 3,149,254, - 53,253,158, 2, 98, 2, 99,253,157, 2, 20, 1,202,254, 54, 2, 98,253,158,253,158, 0, 0, 0, 0, 12, 0, 6,255,177, 4,203, - 4,119, 0, 5, 0, 9, 0, 13, 0, 17, 0, 21, 0, 27, 0, 31, 0, 35, 0, 41, 0, 45, 0, 49, 0, 55, 0, 0, 37, 21, 35, 53, - 51, 53, 19, 21, 35, 53, 19, 21, 35, 53, 3, 21, 35, 53, 35, 21, 35, 53, 39, 21, 51, 21, 35, 53, 19, 21, 35, 53, 19, 21, 35, 53, - 1, 21, 35, 53, 35, 53, 35, 21, 35, 53, 35, 21, 35, 53, 35, 21, 35, 21, 35, 53, 4,203,205, 90,115,115,115,115,244,174,154,180, -240, 86,200,114,114,114,114, 4,197,115, 90,154,174,154,180,154, 86,114,126,204,114, 90, 1, 72,174,174, 1, 78,179,179,253, 16, -114,114,114,114, 90, 90,114,204, 1, 72,174,174, 1, 78,179,179, 1, 98,200, 86,114,114,114,114,114,114, 86,200, 0, 1, 0,137, - 0, 0, 4, 72, 5,213, 0, 7, 0, 0, 19, 51, 17, 33, 21, 33, 17, 35,137,203, 2,244,253, 12,203, 5,213,253,156,170,253, 57, - 0, 1, 0,195, 0, 0, 4, 26, 4, 96, 0, 7, 0, 0, 1, 17, 35, 17, 51, 17, 33, 21, 1,123,184,184, 2,159, 2, 3,253,253, - 4, 96,254, 57,150, 0, 0, 0, 0, 2, 0, 76,255,231, 4,133, 4,104, 0, 10, 0, 39, 0, 0, 1, 34, 21, 17, 50, 55, 54, 53, - 52, 39, 38, 39, 50, 23, 22, 17, 16, 7, 6, 35, 7, 34, 39, 38, 17, 16, 55, 54, 55, 21, 6, 7, 6, 21, 20, 23, 22, 51, 17, 16, - 3, 5, 65, 92, 86, 77, 77, 71, 42,138,119,127,127,129,193,183,199,124,126,126,104,154, 65, 49, 76, 76, 78,101, 3,203,145,253, - 82,104, 93,223,221, 99, 91,157,132,141,254,217,254,230,150,152, 1,153,155, 1, 20, 1, 44,132,109, 28,163, 26, 75,115,190,216, -101,103, 2,175, 1, 46, 0, 0, 0, 3, 0,193,255,229, 3,221, 5,213, 0, 23, 0, 27, 0, 37, 0, 0, 1, 51, 17, 54, 55, 54, - 55, 21, 6, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 63, 1, 62, 1, 53, 19, 21, 35, 53, 19, 17, 7, 6, 7, 6, 21, 20, 23, 22, - 2, 37,190, 31, 32, 89, 98, 94, 96, 95,104,186,111,110, 34, 33, 94, 88, 69, 38,197,203, 6, 45, 62, 23, 24, 66, 37, 4, 68,252, - 83, 8, 12, 35, 68,188, 57, 28, 28, 96, 96,161, 76, 65, 66, 92, 86, 66, 84, 61, 2, 59,254,254,250,190, 1,174, 45, 59, 44, 44, - 49, 89, 55, 31,255,255, 0,218, 0, 0, 3,247, 5,240, 16, 6, 3,222, 0, 0, 0, 2, 0,137,255,227, 4, 72, 6, 21, 0, 11, - 0, 37, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 39, 54, 18, 17, 16, 2, 35, 34, 2, 17, 52, 54, 55, 46, 1, 53, - 52, 54, 51, 37, 21, 33, 34, 21, 20, 22, 2,104,140,144,144,140,141,144,144,141,232,248,246,234,233,246,123, 49, 80, 65,194,158, - 1,252,254, 40,188,114, 3,223,218,214,213,219,219,213,214,218,156, 1,254,209,254,226,254,225,254,211, 1, 45, 1, 31,229,216, - 42, 47,142, 49,124,148, 1,150,135, 73, 53, 0, 0, 2, 0, 35, 0, 0, 4, 55, 6, 20, 0, 3, 0, 25, 0, 78, 64, 42, 20, 9, - 22, 2, 18, 14,182, 10, 5,140, 4, 2,196, 0,155, 4,155, 10,194, 16, 12, 6, 25, 9, 4, 13, 0, 6, 1, 4, 15, 9, 6, 11, - 1, 74, 19, 69, 21, 17, 69, 26, 16,244, 60,228,236, 50,252, 60,196, 16,238, 50, 17, 18, 57, 57, 49, 0, 47, 60,230,236,254,238, - 16,238, 16,238, 50, 18, 57, 57, 57, 48, 1, 51, 21, 35, 39, 21, 35, 34, 6, 29, 1, 33, 17, 35, 17, 33, 17, 35, 17, 35, 53, 51, - 53, 52, 54, 51, 3,127,184,184,119,180, 99, 77, 2,147,184,254, 37,184,201,201,169,179, 6, 18,233,235,153, 81,103,101,251,162, - 3,209,252, 47, 3,209,143, 78,184,174, 0, 0, 0, 1, 0, 35, 0, 0, 4, 55, 6, 20, 0, 21, 0, 66, 64, 35, 16, 7, 18, 3, - 14, 10,182, 8, 3,140, 0,155, 8,194, 12, 1, 4, 21, 9, 7, 2, 6, 0, 9, 11, 7, 6, 0, 74, 15, 69, 17, 13, 69, 22, 16, -244, 60,228,236,252, 60,196, 16,238, 17, 18, 57, 57, 49, 0, 47, 60,230,254,238, 16,238, 50, 18, 57, 57, 57, 48, 1, 17, 35, 17, - 33, 34, 6, 29, 1, 33, 21, 33, 17, 35, 17, 35, 53, 51, 53, 52, 54, 51, 4, 55,184,254,213, 99, 77, 1, 37,254,219,184,201,201, -169,179, 6, 20,249,236, 5,123, 81,103,101,141,252, 47, 3,209,143, 78,184,174,255,255, 0, 69,254, 12, 4,176, 2, 27, 16, 38, - 4, 30, 0, 0, 16, 7, 11,204, 2, 30,255, 6,255,255, 0, 69,254, 12, 4,229, 2, 28, 16, 38, 11,198, 0, 0, 16, 7, 11,204, - 1,252,255, 6,255,255,255,236,254, 12, 2,188, 2, 88, 16, 38, 10,217, 0, 0, 16, 7, 11,204, 2, 12,255, 6,255,255,255,236, -254, 12, 4,229, 2, 88, 16, 38, 10,218, 0, 0, 16, 7, 11,204, 2, 12,255, 6,255,255, 0, 69,254, 12, 4,176, 2, 27, 16, 38, - 4, 30, 0, 0, 16, 7, 11,203, 1,189,255, 6,255,255, 0, 69,254, 12, 4,229, 2, 28, 16, 38, 11,198, 0, 0, 16, 7, 11,203, - 1,120,255, 6,255,255,255,236,254, 12, 3, 28, 2, 88, 16, 38, 10,217, 0, 0, 16, 7, 11,203, 1,140,255, 6,255,255,255,236, -254, 12, 4,229, 2, 88, 16, 38, 10,218, 0, 0, 16, 7, 11,203, 1,140,255, 6,255,255, 0, 69,254, 12, 4,176, 2, 27, 16, 38, - 4, 30, 0, 0, 16, 7, 11,205, 1,147,255, 6,255,255, 0, 69,254, 12, 4,229, 2, 28, 16, 38, 11,198, 0, 0, 16, 7, 11,205, - 1,114,255, 6,255,255,255,236,254, 12, 3, 10, 2, 88, 16, 38, 10,217, 0, 0, 16, 7, 11,205, 1,122,255, 6,255,255,255,236, -254, 12, 4,229, 2, 88, 16, 38, 10,218, 0, 0, 16, 7, 11,205, 1,152,255, 6,255,255, 0, 69,255,235, 4,176, 3,189, 16, 38, - 4, 30, 0, 0, 16, 7, 11,204, 2, 55, 3, 39,255,255, 0, 69,255,236, 4,229, 3,195, 16, 38, 11,198, 0, 0, 16, 7, 11,204, - 2, 1, 3, 45,255,255,255,236, 0, 0, 2,188, 4,120, 16, 38, 10,217, 0, 0, 16, 7, 11,204, 2, 16, 3,226,255,255,255,236, - 0, 0, 4,229, 4,109, 16, 38, 10,218, 0, 0, 16, 7, 11,204, 2, 15, 3,215,255,255, 0, 69,255,235, 4,176, 4, 26, 16, 38, - 4, 30, 0, 0, 16, 7, 11,205, 1,147, 3,132,255,255, 0, 69,255,236, 4,229, 4, 26, 16, 39, 11,205, 1,129, 3,132, 16, 6, - 11,198, 0, 0,255,255,255,236, 0, 0, 3, 31, 4,121, 16, 38, 10,217, 0, 0, 16, 7, 11,205, 1,143, 3,227,255,255,255,236, - 0, 0, 4,229, 4,124, 16, 38, 10,218, 0, 0, 16, 7, 11,205, 1,140, 3,230,255,255, 0, 69,255,235, 4,176, 4, 87, 16, 38, - 4, 30, 0, 0, 16, 7, 3,220, 0, 76,253,102,255,255, 0, 69,255,236, 4,229, 4, 72, 16, 39, 3,220, 0, 52,253, 87, 16, 6, - 11,198, 0, 0,255,255,255,236, 0, 0, 3,184, 4,245, 16, 38, 10,217, 0, 0, 16, 7, 3,220, 0, 75,254, 4,255,255,255,236, - 0, 0, 4,229, 5, 4, 16, 38, 10,218, 0, 0, 16, 7, 3,220, 0, 93,254, 19,255,255,255,181,255,164, 4,140, 5,114, 16, 38, - 4, 51, 0, 0, 16, 7, 11,197, 2,116, 3,226,255,255,255,106,255,164, 4,229, 5, 6, 16, 39, 11,197, 2,132, 3,118, 16, 6, - 11,202, 0, 0,255,255,255,236, 0, 0, 3, 63, 6, 14, 16, 39, 11,197, 1, 44, 4,126, 16, 6, 11,199, 0, 0,255,255,255,236, - 0, 0, 4,229, 5, 16, 16, 39, 11,197, 1,150, 3,128, 16, 6, 11,200, 0, 0,255,255,255,181,255,164, 4,140, 5,126, 16, 38, - 4, 51, 0, 0, 16, 7, 11,205, 2,136, 4,232,255,255,255,106,255,164, 4,229, 5, 10, 16, 39, 11,205, 2,140, 4,116, 16, 6, - 11,202, 0, 0,255,255,255,236, 0, 0, 3, 63, 6, 14, 16, 39, 11,205, 1, 44, 5,120, 16, 6, 11,199, 0, 0,255,255,255,236, - 0, 0, 4,229, 5, 32, 16, 39, 11,205, 1,154, 4,138, 16, 6, 11,200, 0, 0,255,255, 0, 88,254, 11, 4,173, 3,103, 16, 38, - 3,235, 0, 0, 16, 7, 11,204, 2,123, 0,175,255,255, 0, 88,254, 11, 4,249, 3,103, 16, 38, 11, 16, 0, 0, 16, 7, 11,204, - 2, 47, 0,125,255,255,255,236,254, 62, 4, 92, 3, 47, 16, 39, 11,204, 1, 97,255, 56, 16, 6, 11, 17, 0, 0,255,255,255,236, -254, 62, 4,252, 3, 47, 16, 39, 11,204, 2, 13,255, 56, 16, 6, 11, 18, 0, 0,255,255, 0, 88,254, 11, 4,173, 3,103, 16, 38, - 3,235, 0, 0, 16, 7, 11,196, 2,138, 0, 25,255,255, 0, 88,254, 11, 4,249, 3,103, 16, 38, 11, 16, 0, 0, 16, 7, 11,196, - 2, 38,255,231,255,255,255,236,255, 56, 4, 92, 3, 47, 16, 39, 11,196, 0,188,255, 56, 16, 6, 11, 17, 0, 0,255,255,255,236, -255, 56, 4,252, 3, 47, 16, 39, 11,196, 1,144,255, 56, 16, 6, 11, 18, 0, 0,255,255, 0, 88,254, 11, 4,173, 3,103, 16, 38, - 3,235, 0, 0, 16, 7, 11,203, 2, 42, 0,150,255,255, 0, 88,254, 11, 4,249, 3,103, 16, 38, 11, 16, 0, 0, 16, 7, 11,203, - 1,197, 0, 66,255,255,255,236,254, 22, 4, 92, 3, 47, 16, 39, 11,203, 0,240,255, 16, 16, 6, 11, 17, 0, 0,255,255,255,236, -254, 62, 4,252, 3, 47, 16, 39, 11,203, 1,144,255, 56, 16, 6, 11, 18, 0, 0,255,255, 0, 88,254, 11, 4,173, 3,103, 16, 38, - 3,235, 0, 0, 16, 7, 11,205, 2, 50, 0,175,255,255, 0, 88,254, 11, 4,249, 3,103, 16, 38, 11, 16, 0, 0, 16, 7, 11,205, - 1,197, 0, 94,255,255,255,236,254, 22, 4, 92, 3, 47, 16, 39, 11,205, 0,252,255, 16, 16, 6, 11, 17, 0, 0,255,255,255,236, -254, 62, 4,252, 3, 47, 16, 39, 11,205, 1,144,255, 56, 16, 6, 11, 18, 0, 0,255,255,255,204,254, 8, 4, 97, 4, 55, 16, 38, - 3,239, 0, 0, 16, 7, 11,197, 2,208, 2,166,255,255,255, 96,254, 12, 4,229, 4, 68, 16, 39, 11,197, 2, 92, 2,180, 16, 6, - 11, 28, 0, 0,255,255,255,204,254, 8, 4,194, 4,155, 16, 39, 3,220, 1, 85,253,170, 16, 6, 3,239, 0, 0,255,255,255, 96, -254, 12, 4,229, 4,132, 16, 39, 3,220, 0,233,253,147, 16, 6, 11, 28, 0, 0,255,255, 0, 10,255,167, 5, 93, 6, 20, 16, 6, - 4, 53, 0, 0, 0, 1,255,131,255,167, 5, 26, 6, 20, 0, 50, 0, 0, 37, 6, 7, 6, 7, 6, 35, 34, 39, 36, 17, 52, 55, 51, - 6, 21, 20, 23, 22, 51, 50, 54, 55, 54, 53, 52, 39, 3, 38, 53, 52, 55, 54, 55, 1, 21, 1, 6, 21, 20, 23, 1, 22, 59, 1, 21, - 35, 34, 39, 38, 39, 3,245, 25, 48, 81,128, 99,207,112,108,254,182, 63,184, 65,203, 79, 76,162,218, 54, 52, 41,182, 62, 18, 46, - 86, 2, 14,254,104, 70, 18, 1,100, 40, 40, 38, 42, 61, 35, 62, 20,182, 50, 40, 73, 61, 47, 32, 98, 1, 11,138, 92, 94,136,120, - 72, 28,106, 60, 57, 34, 49, 66, 1, 44,102, 37, 84, 31, 79, 65, 1,142,209,254,194, 55, 46, 78, 29,253,194, 63,184, 18, 30, 30, -255,255,255,236, 0, 0, 4, 43, 6, 20, 16, 6, 11, 73, 0, 0,255,255,255,236, 0, 0, 4,230, 6, 20, 16, 6, 11, 74, 0, 0, -255,255, 0, 10,255,167, 5, 99, 7, 71, 16, 38, 4, 53, 0, 0, 16, 7, 11,206, 2,172, 0, 14,255,255,255,131,255,167, 5, 26, - 7, 74, 16, 39, 11,206, 2, 84, 0, 18, 16, 6, 10,204, 0, 0,255,255,255,236, 0, 0, 4, 43, 7, 57, 16, 39, 11,207, 0,143, - 0, 0, 16, 6, 10,205, 0, 0,255,255,255,236, 0, 0, 4,230, 7, 57, 16, 39, 11,207, 0,156, 0, 0, 16, 6, 10,206, 0, 0, -255,255, 0, 54,254,181, 4,141, 2,176, 16, 6, 4, 56, 0, 0, 0, 1,255,213,254, 12, 4,230, 2, 12, 0, 38, 0, 0, 1, 6, - 7, 6, 35, 34, 39, 38, 17, 52, 55, 51, 6, 21, 20, 23, 22, 51, 50, 55, 54, 55, 54, 53, 52, 39, 51, 22, 23, 22, 23, 22, 59, 1, - 21, 35, 34, 39, 6, 3,200, 71,142,140,129,172,123,234, 53,184, 55,161, 57,129, 84, 63,157, 58, 33,101,184, 17, 35, 34, 31, 35, - 86, 52, 94, 87, 14, 6,254,247,116, 60, 59, 63,120, 1, 18,174,142,174,142,180, 67, 24, 20, 51,167, 94,119,184,203, 51, 85, 84, - 56, 64,184, 48,173, 0, 0, 0,255,255, 0, 0,255,189, 4,147, 3,229, 16, 6, 4, 57, 0, 0, 0, 3, 0, 0,255,255, 4,242, - 3,229, 0, 38, 0, 54, 0, 68, 0, 0, 37, 51, 21, 33, 34, 39, 6, 7, 6, 39, 38, 53, 52, 55, 51, 6, 21, 20, 23, 22, 51, 50, - 55, 38, 39, 38, 53, 52, 55, 54, 23, 38, 39, 53, 22, 23, 22, 23, 22, 37, 54, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 21, 20, 23, - 22, 37, 22, 7, 6, 7, 22, 51, 50, 55, 54, 39, 38, 39, 38, 4,144, 98,254,136,190, 74,131,164,145, 68,118, 16,184, 14, 30, 45, - 40, 48,103, 58, 23, 18, 45, 48, 77, 44, 81,212,227,249, 71, 24,253,205, 36, 34, 39, 15, 22, 58, 65, 23, 22, 7, 21, 1, 71, 13, - 22, 25, 53, 28, 39,129, 13, 5, 5, 6, 20, 51,184,184, 52, 51, 1, 1, 37, 64,128, 75, 53, 58, 44, 43, 11, 16, 16, 67,102, 78, - 64, 84, 83, 90, 9, 39, 14,185, 65,182,200,231, 79, 29, 27, 64, 72, 61, 46, 37, 52, 45, 43, 35, 30, 37,118,188, 95, 85, 91, 49, - 21, 67, 31, 32, 34, 38, 95, 0,255,255,255,236,255,189, 3,227, 3,229, 16, 6, 11, 89, 0, 0, 0, 3,255,236, 0, 0, 4,242, - 3,229, 0, 28, 0, 44, 0, 58, 0, 0, 37, 38, 39, 38, 53, 52, 55, 54, 23, 38, 39, 53, 22, 23, 22, 23, 22, 7, 51, 21, 33, 34, - 39, 6, 43, 1, 53, 51, 50, 55, 54, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 37, 22, 7, 6, 7, 22, 51, 50, 55, - 54, 39, 38, 39, 38, 1, 92, 58, 23, 18, 45, 48, 77, 44, 81,212,227,249, 71, 24, 13,202,254, 32,190, 74,134,161,247,238, 70,226, - 36, 34, 39, 15, 22, 58, 65, 23, 22, 7, 21, 1, 71, 13, 22, 25, 53, 28, 39,129, 13, 5, 5, 6, 20, 51,200, 67,102, 78, 64, 84, - 83, 90, 9, 39, 14,185, 65,182,200,231, 79, 56,184, 52, 52,184, 85, 27, 64, 72, 61, 46, 37, 52, 45, 43, 35, 30, 37,118,188, 95, - 85, 91, 49, 21, 67, 31, 32, 34, 38, 95, 0, 0, 0, 1,255,236, 0, 0, 2,188, 2, 88, 0, 13, 0, 0, 37, 6, 33, 35, 53, 51, - 32, 55, 54, 61, 1, 51, 21, 20, 2, 96, 72,254,169,213,158, 1, 29, 44, 49,184, 86, 86,184, 44, 49,106,217,217,187, 0, 0, 0, - 0, 1,255,236, 0, 0, 4,229, 2, 88, 0, 20, 0, 0, 37, 6, 35, 33, 53, 33, 50, 55, 54, 61, 1, 51, 21, 20, 23, 22, 51, 33, - 21, 33, 34, 2, 94, 76,215,254,177, 1, 24,162, 44, 48,184, 50, 44,163, 1, 42,254,159,214, 86, 86,184, 44, 49,106,217,217,106, - 49, 44,184, 0,255,255, 0, 25,254,243, 4,209, 3, 28, 16, 6, 4, 2, 0, 0,255,255,255,123,254,240, 4,229, 2, 2, 16, 6, - 11, 94, 0, 0,255,255,255,236,254,212, 3, 23, 2, 88, 16, 39, 11,196, 1,135,254,212, 16, 6, 10,217, 0, 0,255,255,255,236, -254,212, 4,229, 2, 88, 16, 39, 11,196, 1,147,254,212, 16, 6, 10,218, 0, 0,255,255, 1, 68, 4,186, 3,140, 6,154, 16, 6, - 4, 4, 0, 0,255,255,255,236, 0, 0, 4,229, 6,154, 16, 38, 4, 4, 0, 0, 16, 6, 3,249, 0, 0, 0, 0,255,255, 1, 68, - 4,186, 3,140, 6,253, 16, 6, 4, 5, 0, 0, 0, 1, 3, 34, 0, 0, 4,229, 1,107, 0, 13, 0, 0, 1, 20, 23, 22, 59, 1, - 21, 35, 34, 39, 38, 61, 1, 51, 3,218, 49, 44, 99, 75,130,142, 92, 87,184, 1, 76, 55, 49, 44,184, 92, 87,141, 43, 0, 0, 0, -255,255, 1, 68,254, 22, 3,140,255,246, 16, 6, 4, 6, 0, 0,255,255, 1, 68, 4,186, 3,140, 5,170, 16, 6, 4, 7, 0, 0, -255,255,255,236, 0, 0, 4,229, 5,170, 16, 38, 3,249, 0, 0, 16, 6, 4, 7, 0, 0, 0, 0,255,255, 1, 68, 4,185, 3,140, - 6,253, 16, 6, 4, 8, 0, 0,255,255,255,236, 0, 0, 4,229, 6,253, 16, 38, 3,249, 0, 0, 16, 6, 4, 8, 0, 0, 0, 0, -255,255, 1, 68,254,232, 3,140,255,216, 16, 6, 4, 9, 0, 0,255,255,255,236,254,232, 4,229, 0,184, 16, 38, 3,249, 0, 0, - 16, 6, 4, 9, 0, 0, 0, 0,255,255, 1, 48, 4,202, 3,161, 6,244, 16, 6, 4, 10, 0, 0,255,255,255,236, 0, 0, 4,229, - 6,244, 16, 38, 3,249, 0, 0, 16, 6, 4, 10, 0, 0, 0, 0,255,255, 1, 86, 4,225, 3,122, 7, 6, 16, 6, 4, 11, 0, 0, -255,255,255,236, 0, 0, 4,229, 7, 6, 16, 38, 4, 11, 0, 0, 16, 6, 3,249, 0, 0, 0, 0,255,255, 1,178, 0, 85, 4, 45, - 3,222, 16, 6, 3,223, 0, 0,255,255, 1, 0, 0, 0, 3,208, 7,131, 16, 38, 3,229, 0, 0, 16, 7, 4, 12, 0, 0, 1,194, -255,255, 1, 0, 0, 0, 4,230, 7,131, 16, 39, 4, 12, 0, 0, 1,194, 16, 6, 10,252, 0, 0,255,255, 1,179, 0, 0, 3, 10, - 8, 58, 16, 38, 3,229, 0, 0, 16, 7, 4, 13,255,246, 1,194,255,255, 1,228, 0, 0, 4,230, 8, 58, 16, 39, 4, 13, 0, 39, - 1,194, 16, 6, 10,252, 0, 0,255,255, 0, 76,254, 12, 4, 51, 4,182, 16, 38, 4, 1, 0, 0, 16, 7, 4, 13, 0, 96,254, 62, -255,255, 0, 90,254, 12, 4,229, 4,182, 16, 39, 4, 13, 0, 50,254, 62, 16, 6, 11, 92, 0, 0,255,255, 1,182,254, 12, 3, 13, - 6, 20, 16, 38, 3,229, 0, 0, 16, 6, 4, 14,249, 0, 0, 0,255,255, 2, 19,254, 12, 4,230, 6, 20, 16, 38, 4, 14, 86, 0, - 16, 6, 10,252, 0, 0, 0, 0,255,255, 0, 25,254,243, 4,209, 4, 87, 16, 38, 4, 2, 0, 0, 16, 7, 4, 13,255, 89,253,223, -255,255,255,123,254,240, 4,229, 3, 96, 16, 39, 4, 13,254,228,252,232, 16, 6, 11, 94, 0, 0,255,255,255,236, 0, 0, 2,254, - 4,232, 16, 39, 4, 13,255,234,254,112, 16, 6, 10,217, 0, 0,255,255,255,236, 0, 0, 4,229, 4,232, 16, 39, 4, 13, 0, 0, -254,112, 16, 6, 10,218, 0, 0,255,255, 2, 12, 0, 0, 2,196, 6, 20, 16, 6, 3,229, 0, 0, 0, 1, 2, 76, 0, 0, 4,230, - 6, 20, 0, 13, 0, 0, 1, 17, 51, 17, 20, 23, 22, 59, 1, 21, 33, 34, 39, 38, 2, 76,184, 50, 44,180,208,254,248,234, 80, 88, - 1,115, 4,161,251,107,106, 49, 44,184, 92,101,255,255, 0, 69,254,162, 4,176, 2, 27, 16, 38, 4, 30, 0, 0, 16, 7, 11,195, - 2, 27,254,162,255,255, 0, 69,254,162, 4,229, 2, 28, 16, 39, 11,195, 1,209,254,162, 16, 6, 11,198, 0, 0,255,255,255,236, -254,212, 2,188, 2, 88, 16, 38, 10,217, 0, 0, 16, 7, 11,195, 1,248,254,212,255,255,255,236,254,212, 4,229, 2, 88, 16, 38, - 10,218, 0, 0, 16, 7, 11,195, 2, 20,254,212,255,255, 0,222,255,198, 3,243, 4, 26, 16, 38, 4, 0, 0, 0, 16, 7, 11,196, - 1,106, 3,132,255,255, 0,242, 0, 0, 4,229, 4, 26, 16, 39, 11,196, 1,198, 3,132, 16, 6, 11, 88, 0, 0,255,255, 0, 69, -255,235, 4,176, 3, 32, 16, 38, 4, 30, 0, 0, 16, 7, 11,196, 1,191, 2,138,255,255, 0, 69,255,236, 4,229, 3, 32, 16, 39, - 11,196, 1,156, 2,138, 16, 6, 11,198, 0, 0,255,255,255,236, 0, 0, 3, 35, 3,232, 16, 39, 11,196, 1,147, 3, 82, 16, 6, - 10,217, 0, 0,255,255,255,236, 0, 0, 4,229, 3,232, 16, 39, 11,196, 1,147, 3, 82, 16, 6, 10,218, 0, 0,255,255, 0, 69, -255,235, 4,176, 4, 26, 16, 38, 4, 30, 0, 0, 16, 7, 11,197, 1,186, 2,138,255,255, 0, 69,255,236, 4,229, 4, 26, 16, 39, - 11,197, 1,168, 2,138, 16, 6, 11,198, 0, 0,255,255,255,236, 0, 0, 3, 44, 4,226, 16, 38, 10,217, 0, 0, 16, 7, 11,197, - 1,156, 3, 82,255,255,255,236, 0, 0, 4,229, 4,188, 16, 38, 10,218, 0, 0, 16, 7, 11,197, 1,155, 3, 44,255,255, 0, 88, -254, 11, 4,173, 3,103, 16, 38, 3,235, 0, 0, 16, 7, 11,195, 2,159, 0, 25,255,255, 0, 88,254, 11, 4,249, 3,103, 16, 39, - 11,195, 2,112,255,206, 16, 6, 11, 16, 0, 0,255,255,255,236,254,212, 4, 92, 3, 47, 16, 39, 11,195, 2, 13,254,212, 16, 6, - 11, 17, 0, 0,255,255,255,236,254,212, 4,252, 3, 47, 16, 39, 11,195, 2, 13,254,212, 16, 6, 11, 18, 0, 0,255,255, 0, 88, -254, 11, 4,173, 3,103, 16, 6, 3,235, 0, 0, 0, 1, 0, 88,254, 11, 4,249, 3,103, 0, 46, 0, 0, 37, 51, 21, 35, 34, 39, - 38, 39, 38, 39, 6, 7, 6, 21, 20, 23, 22, 5, 50, 55, 21, 6, 7, 4, 39, 38, 53, 16, 55, 54, 55, 38, 7, 6, 7, 53, 36, 23, - 4, 23, 21, 6, 7, 23, 22, 23, 22, 4,209, 40, 49,129,123, 82, 61, 6, 73,114, 98,224, 74,129, 1, 19,193,212,150,250,254,148, -169,131,212, 96,137,101,159,135, 95, 1, 20,195, 1, 36,196,109, 31, 29, 51, 72, 90,184,184,150,100,156, 15,178, 24, 80,183,252, -138, 93,163, 1,118,184, 98, 1, 2,196,152,222, 1, 2,223,101, 52, 3, 22, 19, 41,184, 64, 1, 1, 53,154, 3, 10, 91,160, 95, -119, 0, 0, 0, 0, 1,255,236, 0, 0, 4, 92, 3, 47, 0, 30, 0, 0, 1, 38, 39, 38, 39, 38, 7, 53, 54, 55, 50, 23, 4, 23, - 21, 6, 7, 6, 7, 6, 7, 6, 43, 1, 53, 51, 50, 55, 54, 55, 54, 3, 83, 83,103, 85,180, 82,161, 72, 75,162,172, 1, 2,220, - 76, 88,166, 74,145, 75,221,163,128,100,227,129,104,116, 94, 2, 29, 23, 23, 19, 16, 7, 6,184, 7, 1, 35, 52, 98,154, 24, 52, - 98, 66,129, 27, 80,184, 72, 58,106, 86, 0, 0, 0, 1,255,236, 0, 0, 4,252, 3, 47, 0, 41, 0, 0, 1, 4, 23, 21, 6, 7, - 22, 23, 22, 59, 1, 21, 35, 34, 39, 38, 39, 6, 7, 6, 7, 6, 43, 1, 53, 51, 50, 55, 54, 55, 54, 55, 38, 39, 38, 39, 38, 7, - 53, 54, 55, 50, 2,126, 1, 2,220, 65, 73, 50, 30,104, 54, 60, 80,151,124, 40, 59, 69, 41,145, 75,221,163,128,100,227,129,104, -116, 94,101, 83,103, 85,180, 82,161, 72, 75,162, 3, 12, 52, 98,154, 20, 41, 78, 34,119,184,168, 54, 97, 46, 37,129, 27, 80,184, - 72, 58,106, 86, 35, 23, 23, 19, 16, 7, 6,184, 7, 1, 0, 0,255,255, 0, 88,254, 11, 4,173, 4,176, 16, 38, 3,235, 0, 0, - 16, 7, 11,195, 1,220, 4, 26,255,255, 0, 88,254, 11, 4,249, 4,176, 16, 39, 11,195, 1,216, 4, 26, 16, 6, 11, 16, 0, 0, -255,255,255,236, 0, 0, 4, 92, 4, 76, 16, 39, 11,195, 2, 13, 3,182, 16, 6, 11, 17, 0, 0,255,255,255,236, 0, 0, 4,252, - 4, 76, 16, 39, 11,195, 2, 13, 3,182, 16, 6, 11, 18, 0, 0,255,255, 0,232,255,218, 3,232, 3,106, 16, 6, 3,237, 0, 0, - 0, 1, 0,232,255,218, 4,229, 3,106, 0, 32, 0, 0, 1, 52, 39, 38, 39, 35, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, - 21, 22, 51, 50, 55, 54, 55, 22, 59, 1, 53, 35, 34, 39, 38, 3,232, 82, 72,107,227,170, 69, 60, 8, 34,173, 34, 82,133,115,103, -151, 94, 46,206, 94, 97,147, 83, 28, 99, 44, 82, 1,122,108,149,131,108,184,115,101, 93, 42, 27,115, 46, 9, 42,184, 38, 7, 31, -130,130,184, 44, 82, 0, 0, 0,255,255, 0,232,255,218, 3,232, 4,176, 16, 38, 3,237, 0, 0, 16, 7, 11,195, 2, 12, 4, 26, -255,255, 0,232,255,218, 4,229, 4,176, 16, 39, 11,195, 2, 21, 4, 26, 16, 6, 11, 24, 0, 0,255,255,255,204,254, 8, 4, 68, - 2, 34, 16, 6, 3,239, 0, 0, 0, 1,255, 96,254, 12, 4,229, 2, 38, 0, 24, 0, 0, 1, 51, 22, 23, 22, 23, 22, 59, 1, 21, - 35, 34, 39, 6, 5, 4, 33, 53, 32, 55, 36, 55, 54, 53, 52, 2,238,184, 30, 3, 10, 73, 42,101, 60,115,130, 50, 57,254,215,254, -228,254, 32, 1,189,219, 0,255, 34, 10, 2, 38,112, 30,103, 77, 44,184, 62,253,158,151,184,128,149,197, 58, 72,126, 0, 0, 0, -255,255,255,204,254, 8, 4, 68, 3,182, 16, 38, 3,239, 0, 0, 16, 7, 11,195, 3, 93, 3, 32,255,255,255, 96,254, 12, 4,229, - 3,182, 16, 39, 11,195, 2,239, 3, 32, 16, 6, 11, 28, 0, 0,255,255,255, 33,254, 20, 4,152, 2,238, 16, 6, 3,241, 0, 0, - 0, 1,254,213,254, 20, 4,229, 2,238, 0, 70, 0, 0, 5, 34, 39, 38, 39, 6, 7, 6, 7, 6, 39, 6, 7, 6, 7, 6, 35, 34, - 39, 38, 55, 54, 55, 51, 6, 23, 22, 23, 22, 51, 50, 55, 54, 55, 54, 39, 38, 47, 1, 51, 23, 22, 23, 22, 23, 22, 55, 54, 53, 51, - 6, 23, 22, 51, 50, 25, 1, 51, 17, 20, 23, 22, 59, 1, 21, 35, 34, 39, 6, 7, 6, 3, 52, 65, 25, 64, 26, 31, 69, 50, 74, 47, - 49, 8, 30, 37, 61, 71,113, 95,101,118, 18, 20, 60,164, 87, 5, 8, 33, 46, 48, 53, 50, 35, 26, 24, 2, 1, 16, 41,159, 18, 17, - 21, 49, 39, 47, 45, 37,164, 4, 37, 32, 42,105,164, 41, 44, 59, 8, 63,100, 60, 31, 71, 33, 29, 25, 67,126,109, 56, 40, 2, 2, - 80,168, 94,121, 77, 92,100,115,213,232,130,225,137,172, 43, 59, 72, 50,122,109,165, 94, 92,234,156,145, 35, 80, 3, 3,125,103, -194,163,141,120, 1, 24, 1, 38,254,170,139, 41, 44,184, 96, 97, 19, 9, 0, 0, 0, 1,255,236,255,221, 4,148, 2,232, 0, 49, - 0, 0, 37, 34, 39, 38, 61, 1, 35, 21, 20, 7, 6, 43, 1, 21, 51, 50, 55, 54, 55, 22, 23, 22, 51, 50, 55, 54, 55, 22, 23, 22, - 51, 50, 55, 54, 55, 54, 53, 17, 35, 17, 16, 35, 34, 39, 38, 55, 35, 20, 7, 6, 1,230, 71, 21, 26,164, 70, 36, 76, 42, 70,101, - 59, 69, 21, 12, 44, 81, 50, 73, 51, 70, 31, 25, 65, 24, 66, 78, 22, 85, 33, 62,164,104, 43, 31, 38, 5,165, 37, 42,181, 84,100, - 79,156,192,118, 71, 35,184, 37, 44, 57, 63, 35, 64, 42, 56,109,126, 67, 25, 9, 34, 82,153,159, 1, 86,254,218,254,232,120,141, -163,194,103,116, 0, 1,255,236,255,221, 4,230, 2,232, 0, 55, 0, 0, 1, 20, 23, 22, 51, 50, 25, 1, 51, 17, 20, 23, 22, 59, - 1, 21, 35, 34, 39, 6, 7, 6, 35, 34, 39, 38, 39, 6, 7, 6, 35, 34, 39, 38, 39, 6, 7, 6, 43, 1, 53, 51, 50, 55, 54, 61, - 1, 51, 21, 20, 23, 22, 50, 55, 54, 53, 2,209, 33, 29, 53,100,164, 42, 44, 34, 34, 64,101, 59, 54, 58, 22, 72, 79, 55, 42, 12, - 30, 70, 51, 53, 67, 37, 38, 24, 20, 70, 58, 68, 70, 42, 55, 31, 64,162, 26, 22, 96, 42, 37, 2, 82,166,138,120, 1, 24, 1, 38, -254,170,139, 41, 44,184, 96, 88, 27, 10, 73, 54, 91,109, 56, 42, 54, 55, 53, 57, 44, 37,184, 35, 71,118,192,156, 79,100, 84,116, -103,194, 0, 0,255,255,255, 33,254, 20, 4,152, 4,176, 16, 38, 3,241, 0, 0, 16, 7, 11,197, 1, 54, 3, 32,255,255,254,213, -254, 20, 4,229, 4,176, 16, 39, 11,197, 0,236, 3, 32, 16, 6, 11, 32, 0, 0,255,255,255,236,255,221, 4,148, 4,176, 16, 39, - 11,197, 1,150, 3, 32, 16, 6, 11, 33, 0, 0,255,255,255,236,255,221, 4,230, 4,176, 16, 39, 11,197, 1, 82, 3, 32, 16, 6, - 11, 34, 0, 0,255,255,255, 16,254, 20, 4,192, 2,143, 16, 6, 3,243, 0, 0, 0, 2,254,197,254, 20, 4,229, 2,143, 0, 12, - 0, 71, 0, 0, 37, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 37, 20, 7, 22, 23, 22, 59, 1, 21, 35, 34, 47, 1, 6, 43, - 1, 34, 39, 38, 53, 20, 7, 6, 7, 6, 35, 34, 39, 38, 53, 52, 55, 51, 6, 21, 20, 23, 22, 55, 54, 55, 54, 53, 52, 39, 38, 39, - 51, 6, 23, 22, 23, 54, 55, 54, 51, 50, 23, 22, 1,253,129,140, 73,106, 40, 36, 63, 71,104, 75, 2, 61, 31, 16, 14, 46, 28, 39, - 59, 52,102, 28,172,136,218, 38, 52, 45, 47, 47, 51,102, 74,130, 90,125,101,172,104, 60, 50, 60, 67, 37, 64, 9, 33, 13,171, 1, - 14, 10, 40, 76, 49,146,150,171, 91, 87,184, 46, 68, 70, 45, 37, 33,109, 78, 78, 52, 71, 10, 13, 44,184, 94, 26,120, 30, 26, 16, -175,131,129, 43, 86, 90,125,205,188,172,204,156,145, 50, 41, 3, 4, 59,103,139,104, 62,212, 72, 15, 55, 40, 50,128, 60,177, 82, - 78, 0, 0, 0, 0, 2,255,236, 0, 0, 4,193, 2,143, 0, 12, 0, 44, 0, 0, 37, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, - 6, 3, 34, 39, 38, 39, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 51, 21, 20, 22, 23, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, - 35, 2, 73,129,140, 73,106, 40, 36, 63, 71,104, 75, 82, 74, 78, 65, 39,102, 94,130, 75, 43, 37, 65,184, 18, 45, 76, 49,146,150, -171, 91, 87,184,126,127,184, 46, 68, 70, 45, 37, 33,109, 78,254,216, 42, 35, 61,138,184, 44, 80,100,114, 78, 24, 80, 50,128, 60, -177, 82, 78,121,190,109, 75, 0, 0, 2,255,236, 0, 0, 4,229, 2,143, 0, 12, 0, 54, 0, 0, 37, 51, 50, 55, 54, 53, 52, 39, - 38, 35, 34, 7, 6, 3, 34, 39, 38, 39, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 51, 21, 20, 22, 23, 54, 55, 54, 51, 50, 23, 22, - 21, 20, 7, 22, 23, 22, 59, 1, 21, 35, 34, 47, 1, 6, 35, 1,253,129,140, 73,106, 40, 36, 63, 71,104, 75, 82, 74, 78, 65, 39, -102, 68, 80, 26, 31, 42, 45,184, 18, 45, 76, 49,146,150,171, 91, 87, 31, 16, 14, 46, 28, 39, 59, 52,102, 28,172,136,184, 46, 68, - 70, 45, 37, 33,109, 78,254,216, 42, 35, 61,138,184, 46, 50,128,114, 78, 24, 80, 50,128, 60,177, 82, 78,121, 52, 71, 10, 13, 44, -184, 94, 26,120,255,255,255, 16,254, 20, 4,192, 3, 52, 16, 38, 3,243, 0, 0, 16, 7, 11,195, 1, 79, 2,158,255,255,254,197, -254, 20, 4,229, 3, 52, 16, 39, 11,195, 1, 4, 2,158, 16, 6, 11, 40, 0, 0,255,255,255,236, 0, 0, 4,193, 3,118, 16, 39, - 11,195, 1, 87, 2,224, 16, 6, 11, 41, 0, 0,255,255,255,236, 0, 0, 4,229, 3,104, 16, 39, 11,195, 1, 52, 2,210, 16, 6, - 11, 42, 0, 0,255,255, 0, 10, 0, 0, 4,164, 6, 20, 16, 6, 3,245, 0, 0, 0, 2, 0, 20, 0, 0, 4,229, 6, 20, 0, 12, - 0, 39, 0, 0, 37, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 37, 20, 7, 22, 59, 1, 21, 35, 34, 47, 1, 6, 35, 33, 35, - 53, 51, 17, 51, 17, 54, 55, 54, 51, 50, 23, 22, 2, 8,129,140, 73,106, 40, 36, 63, 71,104, 75, 2, 61, 42, 61, 37, 45, 58, 93, - 85, 28,125,149,253,251,178,178,184, 76, 49,146,150,171, 91, 87,184, 46, 68, 70, 45, 37, 33,109, 78, 78, 53, 70, 67,184, 79, 26, -105,184, 5, 92,251, 14,128, 60,177, 82, 78, 0, 0, 2,255,236, 0, 0, 4,164, 6, 20, 0, 12, 0, 31, 0, 0, 37, 51, 50, 55, - 54, 53, 52, 39, 38, 35, 34, 7, 6, 19, 33, 35, 53, 51, 17, 51, 17, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 2, 44,129,140, - 73,106, 40, 36, 63, 71,104, 75,136,253,251,254,254,184, 76, 49,142,154,171, 91, 87,184,126,184, 46, 68, 70, 45, 37, 33,109, 78, -254,216,184, 5, 92,251, 14,128, 60,177, 82, 78,121,190,109, 75, 0, 2,255,236, 0, 0, 4,229, 6, 20, 0, 12, 0, 39, 0, 0, - 37, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 37, 20, 7, 22, 59, 1, 21, 35, 34, 47, 1, 6, 35, 33, 35, 53, 51, 17, 51, - 17, 54, 55, 54, 51, 50, 23, 22, 2, 8,129,140, 73,106, 40, 36, 63, 71,104, 75, 2, 61, 42, 61, 37, 45, 58, 93, 85, 28,125,149, -253,251,218,218,184, 76, 49,146,150,171, 91, 87,184, 46, 68, 70, 45, 37, 33,109, 78, 78, 53, 70, 67,184, 79, 26,105,184, 5, 92, -251, 14,128, 60,177, 82, 78, 0,255,255, 0, 10, 0, 0, 4,164, 6, 20, 16, 38, 3,245, 0, 0, 16, 7, 11,195, 2, 67, 3, 0, -255,255, 0, 20, 0, 0, 4,229, 6, 20, 16, 39, 11,195, 2, 67, 3, 0, 16, 6, 11, 48, 0, 0,255,255,255,236, 0, 0, 4,164, - 6, 20, 16, 39, 11,195, 2, 67, 3, 0, 16, 6, 11, 49, 0, 0,255,255,255,236, 0, 0, 4,229, 6, 20, 16, 39, 11,195, 2, 67, - 3, 0, 16, 6, 11, 50, 0, 0,255,255, 0,122,254, 12, 4,183, 4, 42, 16, 6, 3,247, 0, 0, 0, 2, 0,148,254, 11, 4,244, - 3, 14, 0, 44, 0, 55, 0, 0, 51, 52, 55, 38, 39, 38, 53, 52, 55, 54, 55, 54, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 22, 23, - 22, 59, 1, 21, 35, 32, 39, 6, 21, 20, 23, 22, 33, 50, 55, 21, 6, 7, 4, 39, 38, 0, 34, 7, 6, 21, 20, 23, 54, 55, 54, 39, -148,187, 61, 38, 30, 13, 16,104, 89,238, 89,101, 19, 13, 69,118, 55, 68, 87, 95,148,224,208,254,183,248,154, 41,107, 1, 95,193, -212,150,250,254, 82,157, 98, 1,169, 52, 30, 47, 70,134, 2, 1, 48,212,140, 50, 72, 57, 27, 31, 41, 55, 52, 45, 45, 51, 56, 38, - 34, 62, 56, 96, 19, 64, 37, 40,184,228,129,106,109, 61,158,118,184, 98, 1, 2,190,119, 3, 22, 7, 12, 32, 36, 65, 55, 46, 32, - 12, 0, 0, 0, 0, 1,255,236, 0, 0, 3,249, 4, 42, 0, 26, 0, 0, 55, 50, 55, 38, 39, 38, 53, 16, 55, 54, 51, 21, 34, 6, - 20, 23, 22, 51, 50, 55, 37, 21, 5, 4, 43, 1, 53, 61,161,202, 75, 52, 88,204,125,251,218,186, 62, 83, 70, 56, 73, 1, 32,254, - 92,254,162,178, 89,184, 93, 24, 59,100,140, 1, 8,125, 77,169,137,255, 52, 70, 33,129,184,197,164,184, 0, 0, 0, 2,255,236, - 0, 0, 4,229, 3, 14, 0, 36, 0, 47, 0, 0, 37, 6, 43, 1, 53, 51, 50, 55, 54, 55, 38, 39, 38, 53, 52, 55, 54, 55, 54, 50, - 23, 22, 23, 22, 21, 20, 7, 6, 7, 22, 23, 22, 59, 1, 21, 35, 34, 2, 34, 7, 6, 21, 20, 23, 54, 53, 52, 39, 2,104,194,202, -240,218,107, 66, 59, 40, 97, 68, 30, 13, 16,104, 89,238, 89,102, 18, 13, 30, 77, 88, 31, 68, 61,112,219,241,202,168, 52, 30, 47, -103,103, 47,185,185,184, 40, 36, 39, 85, 90, 39, 45, 31, 41, 55, 52, 45, 45, 51, 56, 41, 31, 45, 39, 98, 77, 31, 44, 40,184, 2, - 85, 7, 12, 32, 29, 95, 95, 29, 32, 12, 0, 0,255,255, 0,122,254, 12, 4,183, 5, 70, 16, 38, 3,247, 0, 0, 16, 7, 11,195, - 1,119, 4,176,255,255, 0,148,254, 11, 4,244, 4, 76, 16, 39, 11,195, 1,214, 3,182, 16, 6, 11, 56, 0, 0,255,255,255,236, - 0, 0, 3,249, 5, 70, 16, 39, 11,195, 1,119, 4,176, 16, 6, 11, 57, 0, 0,255,255,255,236, 0, 0, 4,229, 4, 76, 16, 39, - 11,195, 2, 27, 3,182, 16, 6, 11, 58, 0, 0,255,255,255,181,255,164, 4,140, 4,192, 16, 38, 4, 51, 0, 0, 16, 7, 11,195, - 2,240, 4, 42,255,255,255,106,255,164, 4,229, 4, 76, 16, 39, 11,195, 2,246, 3,182, 16, 6, 11,202, 0, 0,255,255,255,236, - 0, 0, 3, 63, 5, 20, 16, 39, 11,195, 1,169, 4,126, 16, 6, 11,199, 0, 0,255,255,255,236, 0, 0, 4,229, 4,126, 16, 39, - 11,195, 2, 34, 3,232, 16, 6, 11,200, 0, 0,255,255, 0, 31,254,124, 4,116, 5, 20, 16, 38, 4, 31, 0, 0, 16, 7, 11,196, - 2, 93, 4,126,255,255,255,237,254, 19, 4,229, 4, 1, 16, 39, 11,196, 2, 78, 3,107, 16, 6, 11,201, 0, 0,255,255,255,236, - 0, 0, 3, 63, 5, 20, 16, 38, 11,199, 0, 0, 16, 7, 11,196, 1, 44, 4,126,255,255,255,236, 0, 0, 4,229, 4,126, 16, 38, - 11,200, 0, 0, 16, 7, 11,196, 1,150, 3,232,255,255, 0, 8,255,200, 4,159, 6, 20, 16, 6, 3,252, 0, 0, 0, 2,255,161, -255,200, 4,229, 6, 20, 0, 33, 0, 68, 0, 0, 1, 21, 6, 7, 6, 21, 20, 23, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 53, 22, - 51, 50, 55, 54, 53, 52, 39, 38, 39, 38, 55, 54, 55, 54, 1, 35, 17, 16, 7, 6, 7, 6, 35, 34, 39, 38, 53, 52, 55, 35, 6, 21, - 20, 23, 22, 55, 54, 55, 54, 55, 22, 59, 1, 53, 35, 34, 39, 38, 53, 2, 20, 74, 38, 80, 14, 12, 68,102, 88, 82, 78, 66, 56, 68, - 45, 60, 57, 60, 78, 74, 18, 32, 1, 2, 75, 85, 2,130,184, 52, 74, 81, 98,117, 87,121,154, 14,184, 16,217,163,173,199,103, 79, - 91,113, 80,130, 75, 26, 44, 49, 4, 76, 82, 4, 14, 30, 33, 28, 18, 16, 10, 15, 88,110, 42, 39, 11, 88, 10, 26, 26, 30, 38, 17, - 16, 28, 47, 46, 81, 38, 43, 1,204,252, 79,254,249, 67, 95, 35, 38, 35, 45, 93, 44, 58, 53, 75,184, 76, 57, 2, 2, 53, 45, 78, -123,184, 44, 49,106, 0, 0, 0, 0, 1,255,236, 0, 0, 4, 43, 6, 20, 0, 31, 0, 0, 41, 1, 53, 33, 50, 55, 54, 53, 52, 39, - 1, 38, 53, 52, 55, 54, 55, 1, 21, 5, 6, 7, 6, 21, 20, 23, 1, 22, 21, 20, 7, 6, 1,146,254, 90, 1,146,147, 46, 16, 54, -254,202, 50, 10, 31,104, 2,233,253,173, 71, 21, 6, 31, 1, 19,102, 62, 95,184,104, 36, 36, 69, 66, 1,124, 61, 81, 30, 38,118, - 43, 1, 54,186,250, 30, 40, 11, 25, 32, 37,254,182,122,124,113,101,155, 0, 0, 0, 1,255,236, 0, 0, 4,230, 6, 20, 0, 41, - 0, 0, 41, 1, 53, 33, 50, 55, 54, 53, 52, 39, 1, 38, 53, 52, 55, 54, 55, 1, 21, 5, 6, 7, 6, 21, 20, 23, 1, 22, 23, 22, - 59, 1, 21, 35, 34, 39, 38, 47, 1, 6, 7, 6, 1,156,254, 80, 1,156,147, 47, 16, 54,254,202, 50, 10, 30,104, 2,234,253,172, - 70, 22, 6, 32, 2, 70, 22, 38, 44, 64, 88,132, 66, 58,102, 34, 96, 22, 16, 96,184,104, 36, 36, 69, 66, 1,124, 61, 81, 30, 38, -118, 43, 1, 54,186,250, 30, 40, 11, 25, 32, 37,253, 63, 26, 14, 16,184, 24, 43, 41,120, 46, 27,155, 0, 0, 0,255,255, 0, 66, -254,200, 4, 75, 6, 20, 16, 6, 3,253, 0, 0, 0, 1, 0, 9,254,200, 4,229, 6, 20, 0, 36, 0, 0, 1, 35, 17, 16, 7, 6, - 7, 6, 35, 34, 39, 38, 53, 52, 55, 35, 6, 23, 18, 23, 22, 51, 50, 55, 54, 55, 54, 55, 22, 59, 1, 53, 35, 34, 39, 38, 53, 4, - 18,184, 30, 69, 99, 84,105, 73, 40,166, 65,184, 64, 1, 1,242,119, 99,125, 94,129,104, 51, 15, 78, 56,130, 75, 43, 44, 49, 6, - 20,251,150,254,216, 57,131, 41, 34, 16, 66,126,115,115, 92,138,254,253, 86, 42, 34, 47,126, 63, 93, 51,184, 44, 49,106, 0, 0, - 0, 1,255,236, 0, 0, 3,233, 6, 20, 0, 13, 0, 0, 1, 20, 7, 6, 41, 1, 53, 33, 50, 55, 54, 53, 17, 51, 3,233, 87, 80, -254,240,253,186, 2, 14,218, 44, 49,184, 1,115,178,101, 92,184, 44, 49,106, 4,149, 0, 0, 0, 0, 1,255,236, 0, 0, 4,229, - 6, 20, 0, 20, 0, 0, 37, 6, 41, 1, 53, 51, 50, 55, 54, 53, 17, 51, 17, 20, 23, 22, 59, 1, 21, 33, 32, 2,104, 76,254,240, -254,224,234,218, 44, 48,184, 50, 44,218,233,254,223,254,244, 86, 86,184, 44, 49,106, 4,149,251,107,106, 49, 44,184, 0, 0, 0, -255,255, 0,130,254, 20, 4, 84, 2,243, 16, 6, 3,254, 0, 0, 0, 2, 0, 71,254, 20, 4,229, 2,116, 0, 17, 0, 52, 0, 0, - 37, 22, 51, 50, 55, 54, 53, 52, 39, 38, 39, 38, 35, 34, 7, 6, 21, 20, 5, 6, 7, 6, 35, 34, 39, 38, 7, 6, 21, 17, 35, 17, - 52, 55, 54, 51, 38, 53, 52, 55, 54, 51, 50, 23, 22, 23, 30, 1, 59, 1, 21, 35, 34, 2, 12,122, 76, 44, 21, 53, 6, 21, 59, 40, - 46, 59, 27, 68, 1,192, 15, 13,133, 75,210,112, 35, 73, 25,200,120, 65, 73, 2,162, 77, 92, 72, 84,170, 40, 14, 82,102, 31, 86, -173,168, 42, 22, 57, 58, 24, 20, 88, 17, 12, 27, 68, 68, 40,169, 14, 8, 80, 78, 25, 75, 26, 79,254,147, 1,109,173,102, 55, 42, - 40,148,132, 63, 36, 71,179, 64, 94,184, 0, 0, 0, 2,255,236,255,205, 3,166, 2,109, 0, 24, 0, 42, 0, 0, 37, 6, 7, 6, - 39, 6, 43, 1, 53, 51, 50, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 37, 22, 51, 50, 55, 54, 53, 52, 39, 38, 39, - 38, 35, 34, 7, 6, 7, 6, 3,100, 96,140,212,112, 64,104,160,116, 52, 44, 43, 5, 20,135, 94, 93, 69, 69,189, 21, 4,253,240, - 62,159, 47, 19, 52, 5, 22, 58, 39, 39, 53, 41, 50, 15, 7, 52,101, 1, 2,100, 48,184, 36, 35, 49,181, 80, 56, 29, 79,171, 36, - 42,142, 77, 69, 18, 53, 69, 19, 18, 88, 17, 12, 27, 33, 97, 37, 0, 2,255,236,255,206, 4,229, 2,109, 0, 29, 0, 47, 0, 0, - 37, 6, 35, 34, 39, 6, 43, 1, 53, 51, 50, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 59, 1, 21, 35, 34, 37, 22, - 51, 50, 55, 54, 53, 52, 39, 38, 39, 38, 35, 34, 7, 6, 7, 6, 3,124, 97,139,214,110, 64,104,184,140, 52, 44, 43, 5, 20,135, - 94, 93, 72, 66,193, 17, 5, 51, 38,105,100,155,174,254, 18, 62,159, 47, 19, 52, 5, 22, 58, 39, 39, 53, 41, 46, 19, 7, 52,102, - 98, 48,184, 36, 35, 49,181, 80, 56, 29, 83,167, 49, 62, 47,184,199, 69, 18, 53, 69, 19, 18, 88, 17, 12, 27, 30,100, 37, 0, 0, -255,255, 0, 54,254,181, 4,141, 3,132, 16, 38, 4, 56, 0, 0, 16, 7, 11,195, 1,211, 2,238,255,255,255,213,254, 12, 4,230, - 2,175, 16, 39, 11,195, 1,119, 2, 25, 16, 6, 10,212, 0, 0,255,255,255,236, 0, 0, 2,188, 3,232, 16, 38, 10,217, 0, 0, - 16, 7, 11,195, 2, 16, 3, 82,255,255,255,236, 0, 0, 4,229, 3,232, 16, 38, 10,218, 0, 0, 16, 7, 11,195, 2, 21, 3, 82, -255,255, 0,222,255,198, 3,243, 2,222, 16, 6, 4, 0, 0, 0, 0, 2, 0,242, 0, 0, 4,229, 2,238, 0, 10, 0, 36, 0, 0, - 1, 38, 39, 38, 39, 6, 7, 6, 23, 30, 1, 19, 38, 39, 51, 22, 23, 22, 23, 22, 59, 1, 21, 35, 34, 39, 38, 39, 6, 35, 34, 39, - 38, 53, 52, 55, 54, 3, 5, 15, 13, 13, 12,120, 82,111, 2, 1,180,116, 4, 3,184, 1, 36, 21, 56, 31,112,113,168, 90, 73, 45, - 38,138,156, 56, 58,189,204,109, 1, 26, 42, 49, 50,101, 12, 67, 89, 62, 41, 50, 1,209, 39, 43,168,174,101, 79, 44,184, 51, 31, - 59, 73, 15, 48,154,173,127, 68, 0, 3,255,236,255,189, 3,227, 3,229, 0, 15, 0, 45, 0, 61, 0, 0, 1, 54, 55, 54, 53, 52, - 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 7, 50, 55, 38, 39, 38, 53, 52, 55, 54, 23, 38, 39, 53, 22, 23, 4, 23, 22, 21, 20, 7, - 6, 35, 34, 39, 6, 43, 1, 53, 1, 22, 21, 20, 7, 6, 7, 22, 51, 50, 55, 54, 53, 52, 39, 38, 1,186, 36, 34, 39, 15, 22, 58, - 65, 23, 22, 7, 21,249, 52, 78, 45, 15, 18, 45, 48, 77, 44, 81,219,220, 1, 5, 59, 14, 40, 74,175,131,154,120,146,175, 2,209, - 6, 98, 12, 17, 52, 49,126, 16, 7, 33, 29, 1, 13, 27, 64, 72, 61, 46, 37, 52, 45, 43, 35, 30, 37,118,136, 11,105, 69, 78, 64, - 84, 83, 90, 9, 39, 14,185, 67,180,214,217, 52, 57,103, 61,113,108, 41,184, 1, 68, 37, 39,138,114, 14, 19, 46, 67, 30, 33, 60, - 78, 69, 0, 0, 0, 3,255,236,254, 13, 4,229, 2,171, 0, 10, 0, 36, 0, 47, 0, 0, 37, 51, 50, 55, 54, 53, 52, 35, 34, 7, - 6, 7, 18, 55, 54, 51, 50, 23, 22, 21, 20, 7, 33, 21, 33, 22, 21, 20, 7, 6, 35, 34, 39, 38, 3, 33, 53, 5, 20, 23, 22, 51, - 50, 53, 52, 39, 38, 35, 1,228, 19, 42, 96,114, 84, 75, 74, 38,184, 9,129,108,129,138, 69, 46,163, 1,232,254, 24,163, 46, 69, -138,129,108,129, 9,254,192, 1,248, 38, 74, 75, 84,114, 96, 42,184, 76, 90, 52,112,141, 72,117, 1, 10,126,107, 99, 67,114,111, -108,184,108,111,114, 67, 99,107,128, 1, 8,184,184,117, 72,141,112, 52, 90, 76,255,255, 0, 76,254, 12, 4, 51, 2,134, 16, 6, - 4, 1, 0, 0, 0, 2, 0, 90,254, 12, 4,229, 2,135, 0, 11, 0, 44, 0, 0, 37, 52, 39, 38, 39, 38, 7, 6, 7, 6, 23, 22, - 5, 51, 21, 35, 39, 6, 7, 6, 7, 6, 33, 53, 32, 55, 54, 55, 38, 39, 38, 39, 38, 39, 38, 55, 54, 55, 54, 23, 22, 23, 22, 23, - 22, 3, 60, 16, 24, 46, 60, 60, 67, 13, 17, 64, 47, 1,115,246,194, 70, 25,129, 83,105,192,254,147, 1,105,132,168, 62,118, 45, -139, 51,106, 10, 2, 10, 27,176, 59, 65, 87, 69,133, 22, 13,184, 76, 57, 80, 30, 41, 26, 29, 56, 75, 54, 40, 4,184, 1,156,129, - 83, 47, 86,184, 76, 95,148, 3, 7, 24, 43, 89,135, 31, 57,155, 75, 25, 1, 2, 49, 92,141, 83,255,255, 0, 25,254,243, 4,209, - 3, 28, 16, 6, 4, 2, 0, 0, 0, 1,255,123,254,240, 4,229, 2, 2, 0, 55, 0, 0, 37, 38, 39, 38, 39, 38, 53, 52, 55, 54, - 55, 54, 51, 50, 23, 22, 59, 1, 21, 35, 34, 39, 38, 35, 6, 7, 6, 21, 20, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, - 38, 55, 51, 6, 21, 22, 23, 22, 51, 50, 55, 54, 55, 54, 3, 1, 2, 9, 24, 24, 44, 41, 77, 87, 29, 44,130, 46, 64, 34, 35, 35, -127, 67, 64, 30, 34, 16, 20, 42, 53, 78,104,181,140, 76,121,147,228, 12, 6, 36,178, 26, 1,141, 69,113,130, 58,128, 20, 60, 51, - 44, 12, 36, 25, 46, 61, 78, 47, 91, 17, 6,138,192,184,172,165, 1, 16, 18, 32, 3, 69, 87, 60, 83, 83,111, 26, 20, 36, 56,198, - 92,138, 80,116,106, 26, 13, 17, 37, 15, 46, 0,255,255, 0, 25,254, 12, 4,209, 3, 28, 16, 38, 4, 2, 0, 0, 16, 7, 11,196, - 1, 89,254, 12,255,255,255,123,254, 12, 4,229, 2, 2, 16, 38, 11, 94, 0, 0, 16, 7, 11,196, 0,192,254, 12,255,255,255,236, -254,212, 3, 18, 2, 88, 16, 39, 11,196, 1,130,254,212, 16, 6, 10,217, 0, 0,255,255,255,236,254,212, 4,229, 2, 88, 16, 39, - 11,196, 1,147,254,212, 16, 6, 10,218, 0, 0,255,255,255,150,255,236, 4, 30, 6,237, 16, 39, 4, 12,254,150, 1, 44, 16, 6, - 11,105, 0, 0,255,255,255, 64,255,236, 4,229, 6,237, 16, 39, 4, 12,254, 64, 1, 44, 16, 6, 11,106, 0, 0,255,255, 0, 83, -255,236, 4, 30, 7,164, 16, 39, 4, 13,254,150, 1, 44, 16, 6, 11,105, 0, 0,255,255,255,224,255,236, 4,229, 7,164, 16, 39, - 4, 13,254, 35, 1, 44, 16, 6, 11,106, 0, 0,255,255, 0,133,254, 12, 4, 30, 6, 20, 16, 39, 4, 14,254,200, 0, 0, 16, 6, - 11,105, 0, 0,255,255, 0, 95,254, 12, 4,229, 6, 20, 16, 39, 4, 14,254,200, 0, 0, 16, 6, 11,106, 0, 0, 0, 1, 0,179, -255,236, 4, 30, 6, 20, 0, 22, 0, 0, 1, 16, 7, 6, 7, 6, 35, 34, 39, 53, 22, 51, 50, 55, 1, 51, 1, 54, 55, 54, 53, 17, - 51, 4, 30,139, 55, 77,205,158,106, 75, 96, 85,113,136,254, 22,179, 1,170, 29, 20, 37,184, 3, 66,254,212,218, 85, 71,180, 32, -184, 32,152, 4, 70,252, 65, 43, 55,137,184, 2,174, 0, 0, 0, 0, 1, 0, 95,255,236, 4,229, 6, 20, 0, 31, 0, 0, 1, 6, - 7, 6, 35, 34, 39, 53, 22, 51, 50, 55, 1, 51, 1, 54, 55, 54, 53, 17, 51, 17, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 3, 63, - 59, 73,202,161,106, 75, 96, 85,113,136,254, 22,179, 1,170, 29, 20, 37,184, 34, 64, 80,105,129,175,102, 17, 1, 60, 91, 65,180, - 32,184, 32,152, 4, 70,252, 65, 43, 55,137,184, 2,174,252, 68,174, 84,158,184,243, 41, 0, 0, 0, 3, 0, 82,255, 84, 4,126, - 7, 24, 0, 5, 0, 38, 0, 42, 0, 0, 9, 1, 17, 9, 1, 17, 1, 53, 52, 55, 54, 63, 1, 54, 55, 54, 53, 52, 38, 35, 34, 6, - 7, 21, 62, 1, 51, 50, 22, 21, 20, 6, 15, 1, 6, 7, 6, 29, 1, 7, 21, 51, 53, 2,104, 2, 22,253,234,253,234, 2,117, 19, - 18, 70, 88, 94, 34, 33,221,186,104,191, 94, 98,178, 78,109,131, 47, 62, 90, 85, 29, 31, 7,203, 7, 24,254, 23,252, 14,254, 23, - 1,233, 3,242,252, 98,170, 61, 42, 40, 68, 86, 92, 66, 65, 76,161,192, 56, 57,188, 68, 69,110, 89, 49, 88, 59, 89, 84, 66, 69, - 98,154,147,254,254, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, 5,213, 16, 6, 0, 36, 0, 0,255,255, 0,166, 0, 0, 4,113, - 5,213, 16, 6, 0, 37, 0, 0,255,255, 0,139,255,227, 4, 49, 5,240, 16, 6, 0, 38, 0, 0,255,255, 0,137, 0, 0, 4, 82, - 5,213, 16, 6, 0, 39, 0, 0,255,255, 0,197, 0, 0, 4, 78, 5,213, 16, 6, 0, 40, 0, 0,255,255, 0,233, 0, 0, 4, 88, - 5,213, 16, 6, 0, 41, 0, 0,255,255, 0,102,255,227, 4, 80, 5,240, 16, 6, 0, 42, 0, 0,255,255, 0,137, 0, 0, 4, 72, - 5,213, 16, 6, 0, 43, 0, 0,255,255, 0,201, 0, 0, 4, 6, 5,213, 16, 6, 0, 44, 0, 0,255,255, 0,109,255,227, 3,188, - 5,213, 16, 6, 0, 45, 0, 0,255,255, 0,137, 0, 0, 4,201, 5,213, 16, 6, 0, 46, 0, 0,255,255, 0,215, 0, 0, 4,115, - 5,213, 16, 6, 0, 47, 0, 0,255,255, 0, 86, 0, 0, 4,121, 5,213, 16, 6, 0, 48, 0, 0,255,255, 0,139, 0, 0, 4, 70, - 5,213, 16, 6, 0, 49, 0, 0,255,255, 0,117,255,227, 4, 92, 5,240, 16, 6, 0, 50, 0, 0,255,255, 0,197, 0, 0, 4,117, - 5,213, 16, 6, 0, 51, 0, 0,255,255, 0,117,254,242, 4, 92, 5,240, 16, 6, 0, 52, 0, 0,255,255, 0,143, 0, 0, 4,209, - 5,213, 16, 6, 0, 53, 0, 0,255,255, 0,139,255,227, 4, 74, 5,240, 16, 6, 0, 54, 0, 0,255,255, 0, 47, 0, 0, 4,162, - 5,213, 16, 6, 0, 55, 0, 0,255,255, 0,147,255,227, 4, 61, 5,213, 16, 6, 0, 56, 0, 0,255,255, 0, 57, 0, 0, 4,152, - 5,213, 16, 6, 0, 57, 0, 0,255,255, 0, 0, 0, 0, 4,209, 5,213, 16, 6, 0, 58, 0, 0,255,255, 0, 18, 0, 0, 4,190, - 5,213, 16, 6, 0, 59, 0, 0,255,255, 0, 37, 0, 0, 4,172, 5,213, 16, 6, 0, 60, 0, 0,255,255, 0,156, 0, 0, 4,145, - 5,213, 16, 6, 0, 61, 0, 0,255,255, 0,133,255,227, 4, 35, 4,123, 16, 6, 0, 68, 0, 0,255,255, 0,193,255,227, 4, 88, - 6, 20, 16, 6, 0, 69, 0, 0,255,255, 0,195,255,227, 4, 37, 4,123, 16, 6, 0, 70, 0, 0,255,255, 0,123,255,227, 4, 18, - 6, 20, 16, 6, 0, 71, 0, 0,255,255, 0,123,255,227, 4, 88, 4,123, 16, 6, 0, 72, 0, 0,255,255, 0,195, 0, 0, 4, 39, - 6, 20, 16, 6, 0, 73, 0, 0,255,255, 0,123,254, 72, 4, 18, 4,123, 16, 6, 0, 74, 0, 0,255,255, 0,195, 0, 0, 4, 27, - 6, 20, 16, 6, 0, 75, 0, 0,255,255, 0,178, 0, 0, 4, 68, 6, 20, 16, 6, 0, 76, 0, 0,255,255, 0,186,254, 86, 3, 16, - 6, 20, 16, 6, 0, 77, 0, 0,255,255, 0,236, 0, 0, 4,178, 6, 20, 16, 6, 0, 78, 0, 0,255,255, 0,160, 0, 0, 4, 10, - 6, 31, 16, 6, 0, 79, 0, 0,255,255, 0,109, 0, 0, 4,111, 4,123, 16, 6, 0, 80, 0, 0,255,255, 0,195, 0, 0, 4, 27, - 4,123, 16, 6, 0, 81, 0, 0,255,255, 0,137,255,227, 4, 72, 4,123, 16, 6, 0, 82, 0, 0,255,255, 0,190,254, 86, 4, 84, - 4,123, 16, 6, 0, 83, 0, 0,255,255, 0,137,254, 82, 4, 31, 4,119, 16, 6, 0, 84, 0, 0,255,255, 1,106, 0, 0, 4,131, - 4,123, 16, 6, 0, 85, 0, 0,255,255, 0,213,255,227, 4, 6, 4,123, 16, 6, 0, 86, 0, 0,255,255, 0,131, 0, 0, 4, 8, - 5,158, 16, 6, 0, 87, 0, 0,255,255, 0,195,255,227, 4, 27, 4, 94, 16, 6, 0, 88, 0, 0,255,255, 0,100, 0, 0, 4,109, - 4, 96, 16, 6, 0, 89, 0, 0,255,255, 0, 0, 0, 0, 4,209, 4, 96, 16, 6, 0, 90, 0, 0,255,255, 0, 76, 0, 0, 4,133, - 4, 96, 16, 6, 0, 91, 0, 0,255,255, 0,104,254, 86, 4,129, 4, 96, 16, 6, 0, 92, 0, 0,255,255, 0,203, 0, 0, 4, 16, - 4, 98, 16, 6, 0, 93, 0, 0,255,255, 0,133,255,227, 4, 76, 5,240, 16, 6, 0, 19, 0, 0,255,255, 0,246, 0, 0, 4, 70, - 5,213, 16, 6, 0, 20, 0, 0,255,255, 0,152, 0, 0, 4, 35, 5,240, 16, 6, 0, 21, 0, 0,255,255, 0,137,255,227, 4, 55, - 5,240, 16, 6, 0, 22, 0, 0,255,255, 0,102, 0, 0, 4,111, 5,213, 16, 6, 0, 23, 0, 0,255,255, 0,143,255,227, 4, 45, - 5,213, 16, 6, 0, 24, 0, 0,255,255, 0,133,255,227, 4, 76, 5,240, 16, 6, 0, 25, 0, 0,255,255, 0,139, 0, 0, 4, 55, - 5,213, 16, 6, 0, 26, 0, 0,255,255, 0,131,255,227, 4, 78, 5,240, 16, 6, 0, 27, 0, 0,255,255, 0,127,255,227, 4, 70, - 5,240, 16, 6, 0, 28, 0, 0, 0, 1, 1,219, 4,238, 2,230, 6,102, 0, 3, 0, 17, 64, 6, 0, 3, 4, 1, 3, 4, 16,212, -204, 49, 0, 16,212,204, 48, 1, 51, 3, 35, 2, 32,198,113,154, 6,102,254,136, 0, 2, 1, 63, 5, 14, 3,145, 5,217, 0, 3, - 0, 7, 0, 81, 64, 13, 4, 0,222, 6, 2, 8, 5, 97, 4, 1, 97, 0, 8, 16,212,252,212,236, 49, 0, 16,212, 60,236, 50, 48, - 0, 75,176, 14, 84, 88,189, 0, 8, 0, 64, 0, 1, 0, 8, 0, 8,255,192, 56, 17, 55, 56, 89, 1, 75,176, 14, 84, 75,176, 13, - 84, 91, 88,189, 0, 8,255,192, 0, 1, 0, 8, 0, 8, 0, 64, 56, 17, 55, 56, 89, 1, 51, 21, 35, 37, 51, 21, 35, 1, 63,203, -203, 1,136,202,202, 5,217,203,203,203, 0, 0, 0, 1, 1,219, 4,238, 3, 90, 5,246, 0, 3, 0,107,181, 0, 2, 4, 1, 3, - 4, 16,212,196, 49, 0, 16,212,196, 48, 0, 75,176, 12, 84, 88,189, 0, 4,255,192, 0, 1, 0, 4, 0, 4, 0, 64, 56, 17, 55, - 56, 89, 0, 75,176, 14, 84, 88,189, 0, 4, 0, 64, 0, 1, 0, 4, 0, 4,255,192, 56, 17, 55, 56, 89, 64, 38, 15, 0, 15, 1, - 10, 2, 10, 3, 31, 0, 31, 1, 31, 2, 31, 3, 47, 0, 47, 1, 47, 2, 47, 3, 12, 15, 0, 15, 1, 31, 0, 31, 1, 47, 0, 47, - 1, 6, 93, 1, 93, 1, 51, 3, 35, 2,160,186,229,154, 5,246,254,248, 0, 0, 0, 1, 1, 31, 5, 14, 3,178, 5,233, 0, 29, - 0,209, 64, 30, 22, 16, 15, 3, 19, 12, 7, 1, 0, 3, 8, 4,204, 23, 12, 19,204, 27, 8, 30, 16, 1, 15, 0, 7, 22, 24, 7, - 9, 30, 16,212,196,212,196, 17, 57, 57, 57, 57, 49, 0, 16,212, 60,252,212, 60,236, 17, 23, 57, 17, 18, 23, 57, 48, 0, 75,176, - 14, 84, 75,176, 17, 84, 91, 88,189, 0, 30, 0, 64, 0, 1, 0, 30, 0, 30,255,192, 56, 17, 55, 56, 89, 64,116, 9, 0, 9, 1, - 15, 11, 15, 12, 15, 13, 13, 14, 15, 15, 15, 16, 15, 17, 15, 18, 15, 19, 15, 20, 15, 21, 15, 22, 15, 23, 15, 24, 11, 25, 26, 0, - 26, 1, 29, 11, 29, 12, 29, 13, 30, 14, 31, 15, 31, 16, 31, 17, 31, 18, 31, 19, 31, 20, 31, 21, 31, 22, 31, 23, 31, 24, 33, 15, - 1, 15, 2, 15, 3, 15, 4, 15, 5, 15, 11, 15, 12, 15, 13, 15, 21, 15, 22, 15, 23, 15, 24, 31, 1, 31, 2, 31, 3, 31, 4, 31, - 5, 31, 11, 31, 12, 31, 13, 31, 21, 31, 22, 31, 23, 31, 24, 24, 93, 1, 93, 1, 39, 46, 1, 35, 34, 6, 29, 1, 35, 52, 54, 51, - 50, 22, 31, 1, 30, 1, 51, 50, 54, 61, 1, 51, 14, 1, 35, 34, 38, 2,100, 57, 25, 31, 12, 35, 40,125,103, 85, 36, 61, 49, 57, - 22, 35, 15, 31, 40,125, 2,102, 84, 34, 60, 5, 57, 33, 14, 11, 50, 45, 6,101,118, 16, 27, 30, 13, 12, 51, 41, 6,100,119, 16, - 0, 1, 1,121, 4,238, 2,246, 5,246, 0, 3, 0,105,181, 0, 1, 4, 1, 3, 4, 16,212,196, 49, 0, 16,212,196, 48, 0, 75, -176, 12, 84, 88,189, 0, 4,255,192, 0, 1, 0, 4, 0, 4, 0, 64, 56, 17, 55, 56, 89, 0, 75,176, 14, 84, 88,189, 0, 4, 0, - 64, 0, 1, 0, 4, 0, 4,255,192, 56, 17, 55, 56, 89, 1, 75,176, 14, 84, 88,189, 0, 4, 0, 64, 0, 1, 0, 4, 0, 4,255, -192, 56, 17, 55, 56, 89, 64, 13, 15, 0, 15, 3, 31, 0, 31, 3, 47, 0, 47, 3, 6, 0, 93, 1, 19, 35, 3, 2, 49,197,154,227, - 5,246,254,248, 1, 8, 0, 0, 0, 1, 1, 55, 4,238, 3,154, 5,248, 0, 6, 0, 93, 64, 9, 4, 0, 5, 2, 7, 4, 2, 6, - 7, 16,212,196, 57, 49, 0, 16,212, 60,196, 57, 48, 0, 75,176, 12, 84, 88,189, 0, 7,255,192, 0, 1, 0, 7, 0, 7, 0, 64, - 56, 17, 55, 56, 89, 0, 75,176, 14, 84, 88,189, 0, 7, 0, 64, 0, 1, 0, 7, 0, 7,255,192, 56, 17, 55, 56, 89, 64, 19, 15, - 0, 15, 1, 12, 4, 31, 0, 31, 1, 28, 4, 47, 0, 47, 1, 44, 4, 9, 93, 1, 51, 19, 35, 39, 7, 35, 2, 10,189,211,140,166, -165,140, 5,248,254,246,178,178, 0, 1, 1, 55, 4,238, 3,154, 5,248, 0, 6, 0,105, 64, 9, 3, 4, 1, 0, 7, 3, 5, 1, - 7, 16,212,196, 57, 49, 0, 16,212,196, 50, 57, 48, 0, 75,176, 14, 84, 88,189, 0, 7, 0, 64, 0, 1, 0, 7, 0, 7,255,192, - 56, 17, 55, 56, 89, 0, 75,176, 12, 84, 88,189, 0, 7,255,192, 0, 1, 0, 7, 0, 7, 0, 64, 56, 17, 55, 56, 89, 64, 31, 15, - 1, 15, 2, 10, 3, 15, 4, 15, 5, 31, 1, 31, 2, 26, 3, 31, 4, 31, 5, 47, 1, 47, 2, 42, 3, 47, 4, 47, 5, 15, 93, 1, - 3, 51, 23, 55, 51, 3, 2, 10,211,140,165,166,140,211, 4,238, 1, 10,178,178,254,246, 0, 0, 0, 1, 0, 27, 1,248, 4, 90, - 3,106, 0, 3, 0, 25, 64, 10, 1, 0, 3, 2, 4, 2, 0, 3, 1, 4, 16,212,196, 57, 57, 49, 0, 16,212,220,212,204, 48, 19, - 39, 1, 23, 51, 24, 4, 36, 27, 1,248,108, 1, 6,108, 0, 0, 0, 1, 1, 47, 6,123, 3,162, 7,109, 0, 12, 0, 0, 1, 62, - 1, 32, 22, 23, 35, 46, 1, 35, 34, 6, 7, 1, 47, 11,158, 1, 32,159, 11,119, 15, 97, 83, 82,100, 12, 6,123,120,122,123,119, - 56, 55, 57, 54, 0, 1, 1, 47, 6,123, 3,162, 7,109, 0, 13, 0, 31,178, 7, 0, 4,184, 1, 3, 64, 9, 11, 14, 7, 80, 8, - 1, 80, 0, 14, 16,212,236,212,236, 49, 0, 16,212,252,196, 50, 48, 1, 51, 30, 1, 51, 50, 54, 55, 51, 14, 1, 35, 34, 38, 1, - 47,119, 12,100, 82, 83, 97, 15,119, 11,159,144,144,158, 7,109, 54, 57, 55, 56,119,123,122, 0, 0, 1, 2, 1, 6,131, 2,206, - 7, 80, 0, 3, 0, 18,183, 0,222, 2, 4, 1, 97, 0, 4, 16,212,236, 49, 0, 16,212,236, 48, 1, 51, 21, 35, 2, 1,205,205, - 7, 80,205, 0, 0, 2, 1, 88, 6, 99, 4, 22, 7,107, 0, 3, 0, 7, 0, 25, 64, 10, 0, 4, 3, 7, 8, 1, 3, 5, 7, 8, - 16,212,204,212,204, 49, 0, 16,212, 60,204, 50, 48, 1, 51, 3, 35, 3, 51, 3, 35, 3, 92,186,229,154,122,186,229,154, 7,107, -254,248, 1, 8,254,248, 0, 0, 0, 2, 0,187, 6, 99, 3,121, 7,107, 0, 3, 0, 7, 0, 0, 1, 19, 35, 3, 33, 19, 35, 3, - 1,117,197,154,229, 1,249,197,154,229, 7,107,254,248, 1, 8,254,248, 1, 8, 0, 2, 1,102, 0, 0, 3,149, 5,241, 0, 36, - 0, 40, 0, 0, 1, 35, 53, 52, 55, 54, 63, 1, 62, 1, 53, 52, 39, 38, 39, 38, 7, 6, 7, 53, 54, 55, 54, 23, 22, 23, 22, 21, - 20, 7, 6, 15, 1, 6, 7, 6, 21, 3, 51, 21, 35, 2,174,194, 19, 20, 55, 58, 41, 30, 42, 37, 62, 56, 39, 57, 64, 66, 57, 81, - 91,126, 67, 71, 21, 22, 61, 57, 46, 12, 12,199,203,203, 1,145,154, 98, 69, 66, 84, 89, 59, 88, 49, 73, 42, 37, 4, 2, 22, 35, - 68,217, 62, 23, 34, 6, 7, 89, 96,161, 76, 65, 66, 92, 86, 69, 39, 42, 61,254,195,254, 0, 0, 0, 1, 1, 61, 6,156, 3,147, - 7, 48, 0, 3, 0, 17,182, 2,182, 0, 4, 1, 0, 4, 16,212,204, 49, 0, 16,212,236, 48, 1, 33, 21, 33, 1, 61, 2, 86,253, -170, 7, 48,148, 0, 1, 0,156,255, 52, 4, 53,255,166, 0, 3, 0, 0, 5, 33, 53, 33, 4, 53,252,103, 3,153,204,114, 0, 0, - 0, 1, 0, 6,255, 52, 4,203,255,166, 0, 3, 0, 0, 5, 33, 53, 33, 4,203,251, 59, 4,197,204,114, 0, 0, 0, 1, 1, 0, -255, 52, 3,209,255,166, 0, 3, 0, 0, 5, 33, 53, 33, 3,209,253, 47, 2,209,204,114, 0, 0, 0, 2, 1, 94, 1,212, 3,115, - 3,233, 0, 11, 0, 19, 0, 0, 1, 50, 23, 30, 1, 21, 20, 6, 34, 38, 52, 54, 22, 34, 6, 20, 22, 50, 54, 52, 2,104,114, 76, - 38, 39,156,226,151,154,171,118, 85, 82,121, 86, 3,233, 80, 37, 96, 56,110,154,151,226,156,124, 84,121, 82, 84,118, 0, 0, 0, - 0, 2, 1, 63, 5, 70, 3,145, 6, 16, 0, 3, 0, 7, 0, 0, 1, 51, 21, 35, 37, 51, 21, 35, 1, 63,203,203, 1,136,202,202, - 6, 16,202,202,202, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,150, 0,150, 0, 3, 0, 0, 53, 51, 21, 35,150,150,150,150, 0, 0, - 0, 2, 0, 0, 0, 0, 1,144, 0,150, 0, 3, 0, 7, 0, 0, 55, 51, 21, 35, 39, 51, 21, 35,250,150,150,250,150,150,150,150, -150,150, 0, 0, 0, 3, 0, 0, 0, 0, 1,144, 1,144, 0, 3, 0, 7, 0, 11, 0, 0, 19, 51, 21, 35, 23, 51, 21, 35, 39, 51, - 21, 35,125,150,150,125,150,150,250,150,150, 1,144,150,100,150,150,150, 0, 0, 0, 1, 0, 69,255,236, 4,229, 2, 28, 0, 38, - 0, 0, 5, 34, 39, 38, 53, 52, 55, 51, 6, 21, 20, 23, 22, 51, 50, 55, 54, 55, 54, 53, 52, 39, 51, 22, 21, 20, 23, 22, 59, 1, - 21, 35, 34, 39, 38, 39, 6, 7, 6, 2, 31,186,131,157, 41,184, 43,117, 98,127, 69,130, 87, 45, 55, 29,184, 19, 24, 19, 24, 33, - 75, 52, 47, 43, 20, 88, 96,116, 20, 56, 65,219, 62,124,138, 48,108, 30, 25, 55, 37, 53, 65, 56, 62, 55, 75, 90,100, 51, 40,184, - 44, 42, 79, 81, 47, 57, 0, 0, 0, 2,255,236, 0, 0, 3, 63, 3,217, 0, 15, 0, 48, 0, 0, 1, 54, 53, 52, 39, 38, 7, 6, - 7, 6, 7, 20, 23, 22, 51, 50, 1, 51, 50, 55, 54, 55, 54, 55, 6, 7, 6, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, - 22, 21, 20, 7, 6, 7, 6, 35, 33, 2, 86, 41, 66, 31, 44, 52, 40, 40, 1, 55, 40, 42, 72,253,174,241, 84,151, 79, 60, 31, 15, - 63, 97,130, 78, 98, 8, 23,150, 78, 76, 90, 66, 96, 46, 23, 78, 74,124,109,145,254,191, 2, 25, 43, 77, 59, 51, 25, 1, 1, 42, - 41, 51, 80, 38, 25,254,183, 23, 12, 93, 48, 50, 55, 2, 2, 69, 87,129, 52, 44,148, 69, 36, 50, 72,102, 51,140,208,143,136, 44, - 39, 0, 0, 0, 0, 2,255,236, 0, 0, 4,229, 3, 8, 0, 32, 0, 51, 0, 0, 1, 22, 23, 22, 21, 20, 7, 6, 7, 22, 59, 1, - 21, 33, 34, 39, 6, 35, 33, 53, 51, 50, 55, 38, 39, 38, 53, 52, 55, 54, 55, 54, 50, 6, 34, 7, 6, 7, 6, 21, 20, 23, 22, 23, - 54, 55, 54, 53, 52, 39, 38, 39, 2,200,183, 25, 8, 22, 28, 36, 38,148,225,254,197,136,186,184,136,254,196,226,146, 40, 30, 36, - 20, 8, 23,185, 30,128, 50, 28, 18, 56, 24, 10, 24, 30, 68, 64, 36, 24, 10, 24, 56, 2,250, 80,150, 50, 42, 73, 49, 67, 50, 17, -184, 57, 57,184, 17, 40, 77, 46, 76, 44, 48,143, 87, 14,184, 10, 32, 53, 21, 29, 43, 53, 68, 22, 21, 69, 50, 46, 24, 26, 52, 33, - 0, 2,255,237,254, 19, 4,229, 2,228, 0, 46, 0, 64, 0, 0, 37, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, - 23, 22, 23, 22, 59, 1, 21, 43, 1, 6, 7, 6, 7, 6, 39, 36, 39, 38, 53, 52, 55, 51, 6, 21, 20, 23, 22, 51, 50, 55, 54, 19, - 54, 39, 38, 39, 38, 35, 34, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 3,140, 66, 46,121, 57,147, 6, 40,147, 41, 87,112, 56, 99, - 50, 20, 6, 26, 4, 88, 93, 48, 30, 76,104,142,151,164,254,211, 94, 69, 62,184, 62, 27, 58,195,108,117,158,123, 4, 22, 19, 47, - 34, 39, 34, 21, 53, 19, 10, 57, 76,100, 47, 10, 5, 13, 35, 43,109,185, 61, 26,165, 69, 19, 50, 88,145, 58,214, 1,184, 83,109, -149, 74, 78, 1, 2,190,138,125,166, 96,107,155, 73, 61,130, 60, 81, 1,107,122, 87, 75, 35, 25, 10, 28, 57, 30, 25, 60, 44, 59, - 20, 9, 0, 0, 0, 2,255,106,255,164, 4,229, 3, 4, 0, 43, 0, 61, 0, 0, 37, 6, 7, 6, 7, 6, 39, 36, 3, 52, 55, 51, - 6, 21, 20, 23, 22, 51, 50, 55, 38, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 22, 59, 1, 21, 35, 34, - 39, 54, 53, 52, 39, 38, 39, 38, 35, 34, 7, 6, 7, 6, 21, 20, 23, 22, 3,115, 61,118,182,124,139,113,254,218, 2, 64,184, 66, -170, 71,131,112,151, 34, 29, 82, 4, 22,188, 58, 52, 82, 81,139, 16, 4, 80, 9, 7,149,154,105,111,104, 5, 14, 52, 34, 40, 24, - 22, 61, 19, 6, 41, 49, 36, 33, 36, 56, 2, 2, 40,103, 1, 8,138, 92, 94,136,125, 69, 29, 58, 27, 44,124,108, 39, 28,155, 75, - 23, 50, 84,149, 37, 30,131,106, 1,184,223, 65,109, 20, 27, 71, 39, 25, 10, 25, 60, 19, 18, 43, 66, 78, 0, 0, 0, 3, 0, 0, -255, 6, 1,144, 0,150, 0, 3, 0, 7, 0, 11, 0, 0, 23, 51, 53, 35, 55, 51, 53, 35, 7, 51, 53, 35,125,150,150,125,150,150, -250,150,150,250,150,100,150,150,150, 0, 0, 0, 0, 2, 0, 0,255, 6, 0,150, 0,150, 0, 3, 0, 7, 0, 0, 21, 51, 21, 35, - 17, 51, 21, 35,150,150,150,150,100,150, 1,144,150, 0, 0, 0, 0, 4, 0, 0,255, 6, 1,144, 0,150, 0, 3, 0, 7, 0, 11, - 0, 15, 0, 0, 23, 51, 21, 35, 17, 51, 21, 35, 7, 51, 21, 35, 17, 51, 21, 35,250,150,150,150,150,250,150,150,150,150,100,150, - 1,144,150,100,150, 1,144,150, 0, 1, 0, 0, 4,116, 2,183, 7, 56, 0, 3, 0, 0, 9, 1, 53, 1, 2,183,253, 73, 2,183, - 6,134,253,238,178, 2, 18, 0, 0, 1, 0, 0, 4,243, 3,156, 7, 57, 0, 3, 0, 0, 9, 1, 53, 1, 3,156,252,100, 3,156, - 6,135,254,109,178, 1,147, 0, 0, 2, 0, 0, 0, 0, 1,182, 1,183, 0, 11, 0, 23, 0, 0, 37, 52, 39, 38, 34, 6, 21, 20, - 23, 22, 50, 62, 1, 20, 7, 6, 34, 39, 38, 52, 55, 54, 50, 23, 1, 60, 28, 28, 82, 56, 28, 28, 82, 56,122, 63, 64,184, 63, 64, - 64, 63,184, 64,220, 40, 28, 29, 56, 41, 42, 28, 27, 56,133,184, 64, 64, 64, 64,184, 64, 63, 63, 0, 1, 0,149,254, 86, 4, 60, - 5,213, 0, 19, 0, 68, 64, 33, 17, 1, 2, 1, 2, 16, 17, 16, 66, 17, 2, 3, 0,180, 19, 11,151, 10, 16, 19, 1, 17, 16, 3, - 17, 11, 4, 49, 17, 17, 0, 48, 20, 16,252,236,252,196,236, 50, 17, 57, 49, 0, 47, 60,212,236, 16,236, 50, 57, 57, 48, 75, 83, - 88, 7, 16, 4,201, 7, 16, 4,201, 89, 19, 51, 1, 17, 51, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 1, 17, 35,149,185, - 2, 53,185, 89, 90,165,205,185, 90, 45, 44,253,203,185, 5,213,251,151, 4,105,250, 23,195,105,106,156, 62, 62,146, 4,105,251, -151, 0, 0, 0, 0, 1, 0, 0, 0, 2, 64, 0, 9,134,133,154, 95, 15, 60,245, 0, 31, 8, 0, 0, 0, 0, 0,196, 90,209, 71, - 0, 0, 0, 0,196, 90,209, 71,251,137,253, 1, 5,190, 8, 85, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, - 7,109,254, 29, 0, 0, 4,209,251,137,255, 20, 5,190, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, - 4,209, 0,104, 0, 0, 0, 0, 4,209, 0, 0, 4,209, 0, 0, 2, 4, 1, 82, 0, 2, 0,190, 0, 33, 0, 57, 2, 16, 1,170, - 1, 92, 0,166, 0, 88, 1,147, 1,100, 1,233, 0,102, 0,133, 0,246, 0,152, 0,137, 0,102, 0,143, 0,133, 0,139, 0,131, - 0,127, 1,233, 1,147, 0, 88, 0, 88, 0, 88, 0,244, 0, 27, 0, 37, 0,166, 0,139, 0,137, 0,197, 0,233, 0,102, 0,137, - 0,201, 0,109, 0,137, 0,215, 0, 86, 0,139, 0,117, 0,197, 0,117, 0,143, 0,139, 0, 47, 0,147, 0, 57, 0, 0, 0, 18, - 0, 37, 0,156, 1,207, 0,102, 1, 90, 0, 72, 0, 0, 1, 23, 0,133, 0,193, 0,195, 0,123, 0,123, 0,195, 0,123, 0,195, - 0,178, 0,186, 0,236, 0,160, 0,109, 0,195, 0,137, 0,190, 0,137, 1,106, 0,213, 0,131, 0,195, 0,100, 0, 0, 0, 76, - 0,104, 0,203, 0,221, 2, 18, 0,221, 0, 88, 0, 0, 2, 4, 0,213, 0,139, 0,205, 0, 37, 2, 18, 0,199, 1, 63, 0, 0, - 1, 14, 0,119, 0, 88, 1,100, 0, 0, 1, 61, 1, 43, 0, 88, 1, 66, 1, 70, 1,219, 0,195, 0,106, 1,233, 1,139, 1, 88, - 0,244, 0,193, 0, 27, 0, 27, 0, 27, 0,193, 0, 37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 0, 0,139, 0,197, 0,197, - 0,197, 0,197, 0,201, 0,201, 0,201, 0,201, 0, 8, 0,139, 0,117, 0,117, 0,117, 0,117, 0,117, 0,150, 0, 8, 0,147, - 0,147, 0,147, 0,147, 0, 37, 0,201, 0,188, 0,133, 0,133, 0,133, 0,133, 0,133, 0,133, 0, 41, 0,195, 0,123, 0,123, - 0,123, 0,123, 0,178, 0,178, 0,178, 0,178, 0,137, 0,195, 0,137, 0,137, 0,137, 0,137, 0,137, 0, 88, 0, 47, 0,195, - 0,195, 0,195, 0,195, 0,104, 0,190, 0,104, 0, 37, 0,133, 0, 37, 0,133, 0, 37, 0,133, 0,139, 0,195, 0,139, 0,195, - 0,139, 0,195, 0,139, 0,195, 0,137, 0,123, 0, 8, 0,123, 0,197, 0,123, 0,197, 0,123, 0,197, 0,123, 0,197, 0,123, - 0,197, 0,123, 0,102, 0,123, 0,102, 0,123, 0,102, 0,123, 0,102, 0,123, 0,137, 0,195, 0, 3, 0, 70, 0,201, 0,178, - 0,201, 0,178, 0,201, 0,178, 0,201, 0,178, 0,201, 0,178,255,255,255,252, 0,109, 0,186, 0,137, 0,236, 0,236, 0,200, - 0,160, 0,215, 0,160, 0,215, 0,160, 0,215, 0,160,255,246, 0, 76, 0,139, 0,195, 0,139, 0,195, 0,139, 0,195, 0, 24, - 0,147, 0,195, 0,117, 0,137, 0,117, 0,137, 0,117, 0,137, 0, 72, 0, 14, 0,143, 1,106, 0,143, 1, 32, 0,143, 1,106, - 0,139, 0,213, 0,139, 0,213, 0,139, 0,213, 0,139, 0,213, 0, 47, 0,131, 0, 47, 0,131, 0, 47, 0,131, 0,147, 0,195, - 0,147, 0,195, 0,147, 0,195, 0,147, 0,195, 0,147, 0,195, 0,147, 0,195, 0, 0, 0, 0, 0, 37, 0,104, 0, 37, 0,156, - 0,203, 0,156, 0,203, 0,156, 0,203, 0,195, 0, 70, 0, 20, 0,166, 0,193, 0, 48, 0, 60, 0,139, 0, 60, 0, 94, 0, 8, - 0, 8, 0,131, 0,157, 0,136, 0,197, 0,117, 0,137, 0, 63, 0,195, 0, 52, 0, 28, 0, 65, 0,201, 0,201, 0,110, 0,236, - 0,160, 0, 49, 0,109, 0, 29, 0,195, 0,117, 0, 6, 0, 32, 0, 45, 0, 86, 0, 56, 0,190, 0,143, 0,139, 0,213, 0,120, - 0,118, 0,131, 0, 47, 0,131, 0, 47, 0, 9, 0, 39, 0, 74, 0,154, 0, 17, 0, 24, 0,156, 0,156, 0, 26, 0, 26, 0,125, - 0,152, 0, 26, 0,125, 0,194, 2, 3, 1, 57, 0,164, 2, 3, 0, 37, 0,133, 0,201, 0,178, 0,117, 0,137, 0,147, 0,195, - 0,147, 0,195, 0,147, 0,195, 0,147, 0,195, 0,147, 0,195, 0,122, 0, 37, 0,133, 0, 37, 0,133, 0, 0, 0, 41, 0,102, - 0,123, 0,137, 0,236, 0,117, 0,137, 0,117, 0,137, 0, 26, 0,125, 0,186, 0,102, 0,123, 0, 61, 0,139, 0,195, 0, 0, - 0, 41, 0, 8, 0, 47, 0, 37, 0,133, 0, 37, 0,133, 0,187, 0,123, 0,197, 0,123, 0,187, 0,178, 0,201, 0,178, 0,117, - 0,137, 0,117, 0,137, 0,137, 1,104, 0,143, 1,106, 0,147, 0,195, 0,147, 0,195, 0,139, 0,213, 0, 47, 0,131, 0,137, - 0,195, 0,147, 0, 18, 0,156, 0,203, 0, 37, 0,133, 0,197, 0,123, 0,117, 0,137, 0,117, 0,137, 0,117, 0,137, 0,117, - 0,137, 0, 37, 0,104, 0,160, 0,106, 0,131, 0,186, 0,120, 0,120, 0, 8, 0, 8, 0, 47, 0, 21, 0, 33, 0,213, 0,203, - 0, 55, 0, 57, 0,154, 0,123, 0,192, 0,193, 0,184, 0,195, 0,123, 0,123, 0,122, 0,122, 0, 30, 0,169, 0,169, 0, 56, - 0,176, 0,186, 0,123, 0,157, 0,122, 0,102, 0,102, 0,188, 0,195, 0,195, 0,142, 0,198, 0,160, 0, 88, 0,157, 0,160, - 0, 40, 0,104, 0,104, 0,103, 0,178, 0,136, 0,144, 0,137, 0, 69, 0,170, 0,137, 0,152, 0,152, 0,102, 1,106, 1,106, - 0,160, 0,160, 0,122, 0,122, 0,188, 0,125, 0,125, 0,125, 0,118, 0,166, 0,131, 0, 0, 0, 95, 0, 65, 0, 72, 0, 15, - 0, 72, 0,102, 0,194, 0,167, 0,125, 0,105, 0,194, 0,194, 0,194, 0,194, 0, 95, 0,209, 0,176, 0, 54, 0,144, 0,202, - 0,119, 0,245, 0, 35, 0,194, 0,194, 0, 29, 0, 27, 0, 54, 0,153, 0,153, 0,181, 0,135, 0,230, 0,219, 0,143, 0,143, - 0,178, 0,197, 1, 65, 1, 65, 1,230, 1,153, 1,153, 1, 81, 1, 48, 0,143, 1, 17, 1,236, 1,207, 1,207, 1,240, 1,223, - 1,223, 1, 94, 1, 94, 1, 41, 1, 41, 2, 36, 1, 61, 2, 36, 1, 61, 1,182, 1,182, 1,223, 1,223, 0,193, 1, 47, 2, 1, - 1, 86, 1,164, 1, 31, 1, 88,254,161, 1, 37, 1, 86, 1, 91, 1, 18, 1, 94, 0,214, 0,214, 0,214, 0,214, 0,214, 1,141, - 1, 23, 1,219, 1, 41, 1, 31, 1, 61, 0, 0, 1, 47, 2, 1, 1, 63, 1,153, 1, 86, 1, 88, 1, 41, 2, 34, 1, 86, 0,210, - 1, 47, 1, 47, 1,213, 1,239, 1,240, 1,219, 1,121, 1,121, 1,156, 1,204, 1,115, 1,163, 1,250, 1, 98, 1, 94, 1, 95, - 1,115, 1,246, 0,182, 2, 1, 1, 63, 1,141, 1,152, 1,139, 1,174, 2, 36, 1, 85, 0,206, 1, 41, 1, 41, 1, 47, 1, 47, - 1, 31, 1, 61, 0, 0, 0, 0, 0, 88, 0,141, 0, 0, 0, 47, 0, 8, 1,250, 1, 85, 1, 85, 0,206, 1,139, 1,219, 0, 0, - 1,239, 4, 2,255, 20, 1,236, 1,230, 2, 30, 1,147, 1,219, 1, 63, 0, 25, 1,233,255, 31,254,237,255, 31,255,181,254,112, -255,206, 1, 54, 0, 37, 0,166, 0,215, 0, 37, 0,197, 0,156, 0,137, 0,117, 0,201, 0,137, 0, 37, 0, 86, 0,139, 0,137, - 0,117, 0,137, 0,197, 0,120, 0, 47, 0, 37, 0,117, 0, 18, 0,117, 0, 74, 0,201, 0, 37, 0, 70, 0,169, 0,195, 1, 54, - 0, 51, 0, 70, 0,151, 0, 32, 0,137, 0,169, 0,152, 0,195, 0,137, 1, 54, 0,236, 0, 68, 0,195, 0,116, 0,161, 0,137, - 0, 80, 0,190, 0,195, 0,137, 0,159, 0, 51, 0, 76, 0, 89, 0,131, 0, 70, 1, 54, 0, 51, 0,137, 0, 51, 0, 70, 0,149, - 0,114, 0, 34,254,112, 0, 34, 0,109, 0, 57, 0, 51, 0,117, 0,137, 0,139, 0,155, 0,233, 0, 0, 0, 96, 0,132, 0, 33, - 0, 89, 0, 52, 0,190, 0,195, 0,186, 0,117, 0,162, 0,162, 0,201, 0,190, 0,139, 0, 86, 0,127, 0, 85, 0,139, 0,139, - 0,139, 0,197, 0,197,255,190, 0,215, 0,139, 0,139, 0,201, 0,201, 0,109,255,237, 0, 34,255,190, 0,137, 0,139, 0,104, - 0,137, 0, 37, 0,166, 0,166, 0,215, 0, 33, 0,197, 0, 15, 0,137, 0,139, 0,139, 0,137, 0, 4, 0, 86, 0,137, 0,117, - 0,137, 0,197, 0,139, 0, 47, 0,104, 0, 66, 0, 18, 0, 80, 0,137, 0,114, 0, 60, 0, 32, 0, 65, 0,197, 0,139, 0, 60, - 0, 76, 0,133, 0,125, 0,209, 1, 1, 0,105, 0,123, 0, 59, 0,169, 0,195, 0,195, 0,236, 0, 30, 0, 61, 0,195, 0,137, - 0,195, 0,190, 0,195, 0,225, 0,104, 0, 99, 0, 76, 0,124, 0,195, 0,125, 0, 80, 0, 30, 0,104, 0,195, 0,195, 0, 78, - 0,168, 0,123, 0,123, 0, 35, 1, 1, 0,195, 0,213, 0,178, 0,178, 0,186, 0, 10, 0, 65, 0, 35, 0,236, 0,195, 0,104, - 0,195, 0,215, 1, 1, 0, 85, 0,127, 0,215, 1, 1, 0, 15, 0, 59, 0,137, 0,169, 0,137, 0,236, 0, 31, 0, 98, 0,139, - 0,195, 0, 47, 0,225, 0, 37, 0, 92, 0, 37, 0, 92, 0, 18, 0, 76, 0,140, 0,195, 0,201, 0, 15, 0, 59, 0,137, 0,236, - 0,137, 0,195, 0,140, 0,195, 1,199, 0, 37, 0,133, 0, 37, 0,133, 0, 0, 0, 41, 0,197, 0,123, 0,117, 0,122, 0,117, - 0,122, 0, 15, 0, 59, 0,137, 0,169, 0, 26, 0,125, 0,139, 0,195, 0,139, 0,195, 0,117, 0,137, 0,117, 0,137, 0,117, - 0,137, 0,139, 0,195, 0,104, 0,104, 0,104, 0,104, 0,104, 0,104, 0,137, 0,195, 0,215, 1, 1, 0, 65, 0,104, 1,214, - 1,100, 1,214, 0,218, 1,178, 1, 0, 1,189, 0, 76, 1,189, 0, 25, 2, 12, 0, 69, 0,222, 0, 69, 0, 69, 0, 88, 0, 88, - 0, 88, 0,232, 0,232,255,204,255,204,255, 34,255, 34,255, 16,255, 16, 0, 10, 0, 10, 0,122, 0,122,255,236,255,182, 0, 31, - 0, 8, 0, 66, 0,130, 0, 54, 0,222, 0, 76, 0, 25, 0, 25, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 48, 1, 86, - 1, 0, 1,189, 1,189, 1, 92, 1,250, 1,150, 0,154, 0,134, 0,236, 0,202, 0,154, 0,126, 0,126, 0,161, 0,200, 1, 54, - 1,214, 0,146, 0, 69, 0, 31, 1,189, 0, 69, 0, 69, 0, 69, 0, 69, 0, 69, 0, 69, 0, 69, 0, 69, 0, 88, 0, 88, 0, 88, - 0, 88, 0, 88, 0, 88, 0, 88,255,204,255,204,255,204,255,182,255,182, 0, 10, 0, 10, 0, 66, 0, 54, 0, 0, 0, 76, 0, 25, - 0, 25, 0,222, 1,250, 1,150, 0,154, 0,134, 0,175, 0,172, 1, 8, 0,126, 0,126, 0,161, 0, 62, 0,108, 0,121, 0,246, - 0,124, 0, 97, 0,114, 0,123, 0,149, 0, 26, 0,106, 0, 75, 0,124, 0,124, 0, 99, 0, 99, 0,101, 0,101, 0, 16, 0,114, - 0,100, 0, 96, 0,111, 0, 97, 0, 19, 0,119, 0, 84, 0, 48, 0, 90,251,138, 0,157,252,198, 0, 83, 0, 83, 0, 83, 0, 83, - 1,207, 1,120, 0, 68,255,240, 2, 14, 0, 86, 0, 95, 1, 73,255,240, 1,150, 0,160, 0,158, 0,110, 0, 55, 0,160, 0,158, - 0,158, 0, 55, 0,159, 0,158, 0,160, 0,158, 0,158, 0, 55, 0,159, 0,159, 0, 55, 0,159, 0, 45, 0, 55, 0, 55, 0,160, - 0, 55, 0,158, 0, 55, 0,158, 0, 86, 0,158, 0,160, 0,159, 0,159, 0,159, 0,158, 0,118, 0,160, 0,159, 0,159, 0,139, - 0, 55, 0,107, 0,161, 0,109, 0,160, 1, 35, 1,149, 0, 41, 0,169, 0,178, 0, 14, 0,137, 0,136, 0, 43, 0, 63, 0, 43, - 0,252, 0,245, 1, 55, 1, 55, 1, 76, 1, 76, 1, 44, 1, 58, 1,100, 1, 94, 1, 18, 1, 69, 1, 27, 1, 60, 1, 60, 1, 46, - 1, 63, 1, 17, 1, 2, 1, 65, 0,228, 1, 69, 1, 69, 1, 71, 0,251, 1, 71, 1, 71, 1, 49, 1, 49, 1, 79, 1, 79, 1, 71, - 1, 73, 1, 56, 1, 37, 1, 91, 1, 58, 1, 88, 1, 58, 1, 58, 1, 71, 1, 77, 1, 91, 0,255, 1, 37, 1, 35, 1, 72, 1,153, - 1, 91, 1, 35, 0,123, 1, 58, 0,156, 0,160, 1, 71, 1, 88, 1, 81, 1, 58, 1, 79, 1, 87, 1, 98, 1, 71, 1, 91, 1, 67, - 1, 97, 1, 73, 1, 71, 1,100, 1, 85, 1, 85, 1,126, 1, 37, 1, 37, 1, 85, 1, 85, 1, 63, 1, 58, 1, 58, 1, 91, 1,120, - 1, 77, 0,208, 1, 32, 1, 70, 1, 17, 1, 97, 1, 94, 1, 77, 1, 51, 1, 58, 0, 37, 0,133, 0,166, 0,193, 0,166, 0,193, - 0,166, 0,193, 0,139, 0,195, 0,137, 0,123, 0,137, 0,123, 0,137, 0,123, 0,125, 0,123, 0,137, 0,123, 0,197, 0,123, - 0,197, 0,123, 0,197, 0,123, 0,233, 0,195, 0,102, 0,123, 0,137, 0,195, 0,137, 0,195, 0, 20, 0, 55, 0,137, 0,195, - 0,201, 0,178, 0,137, 0,236, 0,137, 0,236, 0,137, 0,236, 0,215, 0,160, 0,215, 0,160, 0,215, 0,160, 0,215, 0,160, - 0, 86, 0,109, 0, 86, 0,109, 0, 86, 0,109, 0,139, 0,195, 0,139, 0,195, 0,139, 0,195, 0,139, 0,195, 0,197, 0,190, - 0,143, 1,106, 0,143, 1,106, 0,143, 1, 61, 0,143, 1, 61, 0,139, 0,213, 0,139, 0,213, 0,139, 0,213, 0, 47, 0,131, - 0, 47, 0,131, 0, 47, 0,131, 0, 47, 0,131, 0,147, 0,195, 0,147, 0,195, 0,147, 0,195, 0, 57, 0,100, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 76, 0, 37, 0,104, 0,156, 0,203, 0,156, 0,203, - 0,195, 0,195, 0, 37, 0,133, 0, 37, 0,133, 0,197, 0,123, 0,197, 0,123, 0,201, 0,178, 0,117, 0,137, 0,147, 0,195, - 0, 37, 0,104, 0, 37, 0,104, 0, 37, 0,104, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 37, 0, 37, -254,108,254,108,255, 27,255, 7,255,193,255,143, 0,169, 0,169, 0,169, 0,169, 0,169, 0,169,255,127,255,127,253,139,253,139, -254, 8,253,244, 0,195, 0,195, 0,195, 0,195, 0,195, 0,195, 0,195, 0,195,255, 77,255, 77,253, 64,253, 64,253,164,253,144, -254, 99,254, 99, 1, 54, 1, 54, 0,245, 0,245, 1, 39, 1, 19, 1, 31, 1, 31,255,127,255,127,253,164,253,164,254, 8,253,244, -254,174,254,174, 0,137, 0,137, 0,137, 0,137, 0,137, 0,137,255,202,255,127,253,139,253,139,254,158,254,138, 0, 51, 0, 51, - 0, 51, 0, 51, 0, 51, 0, 51, 0, 51, 0, 51,254,233,253, 64,253, 69,254, 24, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, - 0, 70, 0, 70,255,202,255,102,253,139,253,139,254,183,254,163,254,249,254,174, 0, 70, 0, 70, 0,169, 0,169, 0,195, 0,195, - 1, 23, 1, 54, 0,137, 0,137, 0, 51, 0, 51, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, - 0, 37, 0, 37,254,108,254,108,255, 27,255, 7,255,193,255,143, 0,195, 0,195, 0,195, 0,195, 0,195, 0,195, 0,195, 0,195, -255, 77,255, 77,253, 64,253, 64,253,164,253,144,254, 99,254, 99, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, -255,202,255,102,253,139,253,139,254,183,254,163,254,249,254,174, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 37, - 0, 37,255,135, 0, 25, 0, 37, 1,239, 2, 30, 1,239, 1, 31, 1, 31, 0,195, 0,195, 0,195, 0,195, 0,195,254,141,255, 31, -254, 91,254,237, 0,137, 0,245, 1, 39, 1, 31, 1, 47, 1, 54, 1, 23, 1, 54, 1, 31, 1, 31, 0,201, 0,201,254,191,255, 31, - 0,245, 1, 19, 1, 31, 0, 51, 0, 51, 0, 51, 0, 51, 0,190, 0,190, 0, 51, 0, 51, 0, 37, 0, 37,254, 91,254,112,255,127, - 1, 23, 1, 63, 1, 23, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70,254,166,255,181,254,166,255,206, 0, 74, 1,219, 1,239, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,100, 1,100, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1,207, 1,207, 1,147, 1,207, 0,211, 0,211, 0,211, 0,211, 0,162, 0,162, 1, 63, 1, 63, 0, 80, 0, 0, 0, 0, - 0, 0, 1, 90, 1,164, 0,208, 0,244, 0, 0, 1,207, 1, 90, 0, 33, 0, 33, 0,208, 0, 0, 1, 61, 1, 72, 1, 12, 1, 63, - 1, 73, 1, 61, 1, 59, 1, 48, 1, 28, 1, 28, 1, 28, 1,216, 1,216, 1, 65, 1, 61, 1, 88, 1, 66, 1, 70, 1, 12, 1, 63, - 1, 73, 1, 61, 1, 59, 1, 48, 1, 28, 1, 28, 1, 28, 1,216, 1,216, 1, 69, 1, 49, 1, 58, 1, 18, 1, 49, 0, 0, 0, 37, - 0,106, 0, 0, 0,130, 0,140, 0, 84, 0, 10, 0, 0, 0, 74, 0,137, 0, 37, 0, 27, 0, 27, 0, 27, 0, 27, 0, 27, 0, 10, - 0, 27, 0, 27, 0, 27, 0, 27, 0, 27, 0, 27, 0, 27, 0, 66, 1, 28, 0, 66, 1, 28, 0, 66, 1, 28, 0,184, 0,184, 0,184, - 0,184, 0, 66, 0, 66, 0, 89, 0, 89, 0, 66, 1, 28, 0, 66, 1, 28, 0, 66, 0, 66, 0, 66, 1, 28, 0, 66, 1, 28, 1, 28, - 0, 66, 0, 66, 0, 66, 0, 65, 0, 66, 0, 66, 0,113, 0,183, 0,183, 0,183, 0,183, 0,186, 0, 63, 0, 81, 0, 81, 0, 50, - 0, 66, 0, 88, 0, 88, 0, 66, 0, 66, 2, 22, 1, 28, 0, 66, 0, 66, 2, 22, 1, 71, 0, 66, 0, 42, 0, 66, 0, 66, 0, 42, - 0, 66, 0, 42, 0, 66, 0, 66, 0, 66, 0, 66, 0, 66, 0, 66, 1, 28, 0, 66, 1, 28, 0, 66, 1, 28, 0,155, 0,155, 0,155, - 0,155, 0, 66, 0, 66, 0, 66, 0, 66, 1, 28, 1, 28, 0, 66, 1, 28, 0, 66, 1, 28, 0, 66, 0, 66, 0, 25, 0,243, 0, 66, - 0,243, 0,243, 0,243, 0,243, 0,243, 0,243, 0,243, 0, 66, 0, 69, 0, 69, 0,243, 0, 66, 0, 42, 0, 66, 0, 66, 0, 66, - 0, 66, 0, 66, 0, 66, 0, 66, 0, 25, 0, 66, 0, 25, 0,190, 0, 73,255,250,255,250, 0,129, 0,129, 0,130, 0,129, 0,129, - 0,130, 0,152, 0,143, 0, 88, 0, 88, 0,102, 0,166, 1, 43, 1, 63, 0, 59, 0,186, 0, 41, 0,125, 0,125, 0,164, 0,164, - 0,164, 0,164, 0,129, 0, 63, 0, 53, 0, 88, 0, 74, 0, 87, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, - 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 87, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 87, 0, 74, 0, 74, - 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 69, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, - 0, 86, 0, 86, 0, 86, 0, 86, 0, 87, 0, 88, 0, 88, 0, 88, 0, 88, 0, 86, 0, 86, 0, 86, 0, 86, 0, 86, 0, 86, 0, 86, - 0, 86, 0, 86, 0, 88, 0, 86, 0, 86, 0, 86, 0, 86, 0, 86, 0, 86, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, - 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 79, 0, 79, 0, 79, 0, 79, 0, 79, 0, 79, 0, 79, 0, 79, 0, 79, - 0, 80, 0, 80, 0, 80, 0, 80, 1,233, 1, 8, 0, 88, 0, 88, 0, 88, 0, 86, 0, 88, 0, 86, 0, 86, 0, 86, 0, 86, 0, 88, - 0, 88, 0, 88, 0, 88, 0, 86, 0, 86, 0, 86, 0, 86, 0, 80, 0, 73, 0,114, 0,146, 0,146, 0,146, 0,146, 0,146, 1,207, - 1, 90, 1,207, 1, 90, 2, 37, 0, 13, 2, 37, 0, 13, 0, 88, 0, 97, 0, 6, 0, 6, 0,184, 0,166, 0, 71, 0, 88, 1, 43, - 1, 28, 1, 43, 1, 28, 2, 0, 0,124, 0,104, 0, 6, 0,125, 0, 50, 0, 6, 0, 72, 1, 0, 0, 6, 0, 6, 0, 6, 0, 6, - 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 37, 0, 6, 0, 6, 0, 6, 0, 37, 0, 6, - 0, 6, 0, 6, 1, 0, 0, 6, 0, 6, 1, 0, 0, 6, 0, 6,255,236, 0, 6, 1, 8, 1, 63, 0, 6, 0, 88, 0, 88, 0, 37, - 0, 88, 0, 88, 1, 0, 0, 6, 0, 6, 1, 54, 0,190, 0, 70, 0, 6, 0,156, 1, 0, 0, 6, 0, 70, 0, 26, 0, 72, 0, 6, - 0, 6, 0, 6, 0, 82, 0, 70, 0, 70, 0, 70, 0, 6, 1, 24, 1, 24, 1, 24, 1, 25, 2,246, 1, 25, 1, 24, 1, 24, 1, 24, - 1, 24, 2,245, 1, 24, 2, 12, 0, 17, 2, 12, 2, 12, 0, 16, 2, 11, 0, 16, 2, 1, 0, 25, 0, 6, 0,150,255,236,255,236, - 2, 24, 1,200,255,236,255,236, 2, 24, 1,200,255,235,255,236, 2, 24, 1,200, 2, 24, 2, 24, 1,200, 1,200,255,236,255,236, -255,236,255,236, 2, 24, 2, 24, 1,200, 1,200,255,236,255,236,255,236,255,236, 2, 24, 2, 24, 1,200, 1,200, 1,200, 1,200, - 1,200, 1,200,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236, -255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236, -255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236, 2, 24, 1,200,255,236, 1,120, - 2, 24, 1,120, 1,120,255,236,255,236,255,236, 2, 24, 1,120, 1,120,255,236,255,236,255,236, 2, 24, 1,120, 1,120,255,236, -255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236, 2, 24,255,236,255,236, 2, 24,255,147, -255,147,255,147,255,236, 2, 24, 2,124, 2, 24,255,236, 1,200, 2,124, 1,200,255,236, 1,200,255,236, 1,200,255,236,255,236, -255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236, 2,105,255,236, -255,236,255,236,255,236, 4, 69,255,236, 2,105,255,236,255,236,255,236,255,236,255,236, 2,105,255,236,255,236, 0, 6, 0, 6, - 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0,219, 0,219, 0, 6, 0, 6, 1, 68, 1, 68, 0, 6, 0, 6, - 0, 6, 0, 6, 0,219, 0,219, 0, 6, 0, 6, 0,219, 0,219, 0, 6, 0, 6, 0, 6, 0, 6, 0,219, 0,219, 0, 6, 0, 6, - 0,219, 0,219, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0,117, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, - 0, 6, 0, 6, 0, 6, 0, 6, 1, 55, 1, 55,255,236,255,236,255,236,255,236, 1, 55, 1, 55, 1, 55, 1, 55, 0, 6, 0, 6, - 0, 6, 0, 6, 0, 6, 0, 6, 1, 63, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6,255,236, 0, 6, 0, 6, - 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 97, 0, 97, 0,175, 0,175, 0, 6, 0, 34, 0, 50, - 0, 34, 0, 89, 0, 29, 0, 58, 0, 58, 0,200, 0, 59, 0, 43, 0, 15, 0, 18, 0, 54, 0, 46, 0, 20, 0, 8, 0,111, 0, 99, - 0,133, 0,201, 0, 28, 0, 78, 0, 56, 0, 47, 0, 38, 0, 47, 0, 47, 0, 47, 0, 14, 0,140, 0, 14, 0,140, 0, 12, 0, 9, - 0, 8, 0, 34, 0, 78, 0, 96, 0,121, 0, 97, 0,204, 0, 55, 0, 30, 0, 8, 0,103, 0, 15, 0, 27, 0, 14, 0, 5, 0, 33, - 0, 33, 0, 33, 0, 33, 0,156, 0,149, 0,189, 0,145, 0,145, 0, 21, 0, 71, 0,174, 0, 67, 0, 76, 0,215, 0, 24, 0, 53, - 0, 27, 0, 52, 0, 61, 0, 47, 0, 85, 0, 50, 0, 56, 0, 21, 0, 89, 0, 94, 0, 67, 0, 86, 0,112, 0,222, 0,144, 0,156, - 0,106, 0, 54, 0,148, 0,226, 0,103, 0,118, 0,128, 0, 14, 0,145, 0, 50, 0,127, 0, 11, 0,145, 0, 49, 0, 46, 1,114, - 0,162, 0,106, 0, 17, 1, 68, 1,177, 1, 55, 0, 96, 0, 46, 0, 47, 0, 60, 0, 75, 0, 68, 0, 36, 0, 62, 0, 75, 0, 45, - 0, 45, 0, 57, 0, 46, 0, 55, 0, 46, 0, 80, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 46, 0, 46, 0, 46, 0, 46, - 0, 82, 0, 82, 0,150, 0,115, 0, 39, 0, 31, 0,129, 0,188, 0, 19, 0, 22, 0, 74, 0, 30, 0, 42, 0, 82, 0, 42, 0, 34, - 0,136, 0,243, 0,222, 0, 46, 0, 46, 0, 58, 0, 61, 0, 52, 0, 37, 0, 61, 0, 63, 1, 68, 0, 45, 0, 87, 0, 38, 0, 87, - 0, 59, 0, 37, 0,152, 0, 74, 0,129, 0, 64, 0,131, 0, 51, 0, 64, 0, 86, 0, 57, 0, 48, 0,155, 0,126, 0,144, 0, 48, - 0, 71, 0, 31, 0, 28, 0, 26, 0, 23, 0, 43, 0, 37, 0, 40, 0, 67, 0, 40, 0, 35, 0, 40, 0, 61, 0, 40, 0, 46, 0, 54, - 0, 87, 0, 48, 0, 36, 0, 26, 0, 50, 0, 31, 0, 26, 0, 36, 0, 48, 0, 49, 0, 55, 0, 43, 0, 33, 0, 36, 0, 22, 0, 22, - 0, 37, 0, 50, 0, 32, 0, 48, 0, 25, 0, 50, 0, 41, 0, 33, 0, 23, 0, 34, 0, 36, 0, 69, 0, 61, 0, 56, 0, 48, 0, 43, - 2, 27, 1,205, 1, 81, 1,221, 1,211, 1, 0, 0,246, 0,103, 0,255, 0,190, 0, 46, 0,114, 0, 65, 0, 49, 0,240, 0,240, - 1,102, 1,110, 1, 67, 1, 68, 0,210, 0,210, 0,205, 0,206, 1,201, 1,201, 1, 25, 0,249, 0, 83, 0,116, 0, 83, 0,116, - 0, 45, 0, 73, 0, 83, 0, 45, 0, 54, 0, 83, 0, 83, 0, 96, 0,123, 0,123, 0, 54, 0, 54, 1, 79, 0, 54, 0,101, 0,101, - 0, 53, 0, 97, 0,125, 0, 84, 0, 50, 0, 41, 0,145, 0, 88, 0,116, 0, 83, 0,117, 0, 78, 0, 42, 0,117, 0, 53, 0, 29, - 0, 38, 0, 37, 0, 50, 0,117, 1,134, 1,134, 0,117, 0, 88, 0, 88, 0,150, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, - 0, 6, 0, 6, 0, 6, 0,137, 0,195, 0, 76, 0,193, 0,218, 0,137, 0, 35, 0, 35, 0, 69, 0, 69,255,236,255,236, 0, 69, - 0, 69,255,236,255,236, 0, 69, 0, 69,255,236,255,236, 0, 69, 0, 69,255,236,255,236, 0, 69, 0, 69,255,236,255,236, 0, 69, - 0, 69,255,236,255,236,255,182,255,106,255,236,255,236,255,182,255,106,255,236,255,236, 0, 88, 0, 88,255,236,255,236, 0, 88, - 0, 88,255,236,255,236, 0, 88, 0, 88,255,236,255,236, 0, 88, 0, 88,255,236,255,236,255,204,255, 96,255,204,255, 96, 0, 10, -255,131,255,236,255,236, 0, 10,255,131,255,236,255,236, 0, 54,255,213, 0, 0, 0, 0,255,236,255,236,255,236,255,236, 0, 25, -255,124,255,236,255,236, 1, 68,255,236, 1, 68, 3, 34, 1, 68, 1, 68,255,236, 1, 68,255,236, 1, 68,255,236, 1, 48,255,236, - 1, 86,255,236, 1,178, 1, 0, 1, 0, 1,179, 1,228, 0, 76, 0, 90, 1,182, 2, 19, 0, 25,255,124,255,236,255,236, 2, 12, - 2, 76, 0, 69, 0, 69,255,236,255,236, 0,222, 0,242, 0, 69, 0, 69,255,236,255,236, 0, 69, 0, 69,255,236,255,236, 0, 88, - 0, 88,255,236,255,236, 0, 88, 0, 88,255,236,255,236, 0, 88, 0, 88,255,236,255,236, 0,232, 0,232, 0,232, 0,232,255,204, -255, 96,255,204,255, 96,255, 34,254,214,255,236,255,236,255, 34,254,214,255,236,255,236,255, 16,254,197,255,236,255,236,255, 16, -254,197,255,236,255,236, 0, 10, 0, 20,255,236,255,236, 0, 10, 0, 20,255,236,255,236, 0,122, 0,148,255,236,255,236, 0,122, - 0,148,255,236,255,236,255,182,255,106,255,236,255,236, 0, 31,255,237,255,236,255,236, 0, 8,255,161,255,236,255,236, 0, 66, - 0, 9,255,236,255,236, 0,130, 0, 71,255,236,255,236, 0, 54,255,213,255,236,255,236, 0,222, 0,242,255,236,255,236, 0, 76, - 0, 90, 0, 25,255,124, 0, 25,255,124,255,236,255,236,255,150,255, 64, 0, 83,255,224, 0,133, 0, 95, 0,179, 0, 95, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 37, 0,166, 0,139, 0,137, 0,197, 0,233, 0,102, 0,137, 0,201, 0,109, 0,137, - 0,215, 0, 86, 0,139, 0,117, 0,197, 0,117, 0,143, 0,139, 0, 47, 0,147, 0, 57, 0, 0, 0, 18, 0, 37, 0,156, 0,133, - 0,193, 0,195, 0,123, 0,123, 0,195, 0,123, 0,195, 0,178, 0,186, 0,236, 0,160, 0,109, 0,195, 0,137, 0,190, 0,137, - 1,106, 0,213, 0,131, 0,195, 0,100, 0, 0, 0, 76, 0,104, 0,203, 0,133, 0,246, 0,152, 0,137, 0,102, 0,143, 0,133, - 0,139, 0,131, 0,127, 1,219, 1, 63, 1,219, 1, 31, 1,121, 1, 55, 1, 55, 0, 27, 1, 47, 1, 47, 2, 1, 1, 88, 0,187, - 1,102, 1, 61, 0,156, 0, 6, 1, 0, 1, 94, 1, 63, 0, 0, 0, 0, 0, 0, 0, 69,255,236,255,236,255,237,255,106, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,149, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0, 76, 0, 0, 0, 76, 0, 0, 0, 76, - 0, 0, 0,152, 0, 0, 0,220, 0, 0, 1,152, 0, 0, 2,152, 0, 0, 3,160, 0, 0, 4,252, 0, 0, 5, 44, 0, 0, 5,132, - 0, 0, 5,220, 0, 0, 6,120, 0, 0, 6,208, 0, 0, 7, 12, 0, 0, 7, 56, 0, 0, 7,100, 0, 0, 7,152, 0, 0, 9, 32, - 0, 0, 9,120, 0, 0, 10, 40, 0, 0, 10,232, 0, 0, 11,100, 0, 0, 12, 0, 0, 0, 12,184, 0, 0, 13, 20, 0, 0, 13,232, - 0, 0, 14,156, 0, 0, 14,224, 0, 0, 15, 52, 0, 0, 15,128, 0, 0, 15,196, 0, 0, 16, 12, 0, 0, 16,244, 0, 0, 18, 8, - 0, 0, 18,216, 0, 0, 19,128, 0, 0, 20, 12, 0, 0, 20,128, 0, 0, 20,220, 0, 0, 21, 44, 0, 0, 21,208, 0, 0, 22, 40, - 0, 0, 22,128, 0, 0, 22,236, 0, 0, 23,188, 0, 0, 23,244, 0, 0, 24,180, 0, 0, 25, 80, 0, 0, 25,208, 0, 0, 26, 68, - 0, 0, 26,236, 0, 0, 27,184, 0, 0, 28,180, 0, 0, 28,248, 0, 0, 29,132, 0, 0, 29,248, 0, 0, 31, 16, 0, 0, 32, 20, - 0, 0, 32,156, 0, 0, 33, 16, 0, 0, 33, 84, 0, 0, 33,140, 0, 0, 33,208, 0, 0, 34, 20, 0, 0, 34, 64, 0, 0, 34,132, - 0, 0, 35,112, 0, 0, 36, 0, 0, 0, 36,136, 0, 0, 37, 24, 0, 0, 37,192, 0, 0, 38, 56, 0, 0, 39, 0, 0, 0, 39,112, - 0, 0, 39,216, 0, 0, 40, 80, 0, 0, 41, 76, 0, 0, 41,164, 0, 0, 42,176, 0, 0, 43, 32, 0, 0, 43,152, 0, 0, 44, 44, - 0, 0, 44,192, 0, 0, 45, 80, 0, 0, 46, 60, 0, 0, 46,176, 0, 0, 47, 32, 0, 0, 47,172, 0, 0, 48,248, 0, 0, 49,228, - 0, 0, 50,208, 0, 0, 51, 88, 0, 0, 52, 36, 0, 0, 52, 84, 0, 0, 53, 36, 0, 0, 53,164, 0, 0, 53,164, 0, 0, 53,244, - 0, 0, 54,184, 0, 0, 55, 76, 0, 0, 56,100, 0, 0, 57, 56, 0, 0, 57,132, 0, 0, 58,168, 0, 0, 58,236, 0, 0, 60, 8, - 0, 0, 60,236, 0, 0, 61, 96, 0, 0, 61,152, 0, 0, 61,196, 0, 0, 63, 44, 0, 0, 63, 88, 0, 0, 63,208, 0, 0, 64, 60, - 0, 0, 64,240, 0, 0, 65,192, 0, 0, 66, 4, 0, 0, 66,180, 0, 0, 67, 16, 0, 0, 67, 64, 0, 0, 67, 80, 0, 0, 67,184, - 0, 0, 68, 72, 0, 0, 68,192, 0, 0, 68,224, 0, 0, 69, 0, 0, 0, 69, 32, 0, 0, 70, 20, 0, 0, 70, 56, 0, 0, 70, 92, - 0, 0, 70,140, 0, 0, 70,184, 0, 0, 70,240, 0, 0, 72, 36, 0, 0, 72,220, 0, 0, 72,244, 0, 0, 73, 12, 0, 0, 73, 36, - 0, 0, 73, 60, 0, 0, 73, 84, 0, 0, 73,108, 0, 0, 73,132, 0, 0, 73,172, 0, 0, 73,208, 0, 0, 74,108, 0, 0, 74,152, - 0, 0, 74,188, 0, 0, 74,224, 0, 0, 75, 16, 0, 0, 75, 60, 0, 0, 75,116, 0, 0, 75,232, 0, 0, 76,236, 0, 0, 77, 16, - 0, 0, 77, 52, 0, 0, 77,100, 0, 0, 77,156, 0, 0, 77,192, 0, 0, 78, 64, 0, 0, 79, 36, 0, 0, 79, 60, 0, 0, 79, 84, - 0, 0, 79,108, 0, 0, 79,132, 0, 0, 79,156, 0, 0, 79,180, 0, 0, 81, 4, 0, 0, 81, 28, 0, 0, 81, 52, 0, 0, 81, 76, - 0, 0, 81,100, 0, 0, 81,132, 0, 0, 81,156, 0, 0, 81,180, 0, 0, 81,216, 0, 0, 81,248, 0, 0, 83, 12, 0, 0, 83, 36, - 0, 0, 83, 60, 0, 0, 83, 84, 0, 0, 83,124, 0, 0, 83,172, 0, 0, 83,220, 0, 0, 84, 56, 0, 0, 85, 60, 0, 0, 85, 84, - 0, 0, 85,108, 0, 0, 85,148, 0, 0, 85,196, 0, 0, 85,220, 0, 0, 86,112, 0, 0, 86,136, 0, 0, 86,180, 0, 0, 86,204, - 0, 0, 86,252, 0, 0, 87, 20, 0, 0, 87, 44, 0, 0, 87, 68, 0, 0, 87, 92, 0, 0, 87,116, 0, 0, 87,140, 0, 0, 87,164, - 0, 0, 87,188, 0, 0, 87,212, 0, 0, 87,236, 0, 0, 88, 4, 0, 0, 88, 28, 0, 0, 88, 68, 0, 0, 88, 84, 0, 0, 89, 16, - 0, 0, 89, 40, 0, 0, 89, 64, 0, 0, 89, 88, 0, 0, 89,112, 0, 0, 89,136, 0, 0, 89,160, 0, 0, 89,184, 0, 0, 89,208, - 0, 0, 89,232, 0, 0, 90, 0, 0, 0, 90, 24, 0, 0, 90, 48, 0, 0, 90, 72, 0, 0, 90, 96, 0, 0, 90,120, 0, 0, 90,144, - 0, 0, 90,168, 0, 0, 90,192, 0, 0, 90,240, 0, 0, 91, 36, 0, 0, 91,176, 0, 0, 92, 68, 0, 0, 92,120, 0, 0, 92,144, - 0, 0, 92,184, 0, 0, 92,208, 0, 0, 92,248, 0, 0, 93, 16, 0, 0, 93, 40, 0, 0, 93, 64, 0, 0, 93, 88, 0, 0, 93,168, - 0, 0, 94, 80, 0, 0, 95, 0, 0, 0, 95, 24, 0, 0, 95, 48, 0, 0, 95, 72, 0, 0, 95, 96, 0, 0, 96, 92, 0, 0, 96,128, - 0, 0, 96,180, 0, 0, 96,204, 0, 0, 96,228, 0, 0, 96,252, 0, 0, 97, 20, 0, 0, 97, 44, 0, 0, 97, 68, 0, 0, 97,184, - 0, 0, 98, 72, 0, 0, 98, 96, 0, 0, 98,120, 0, 0, 98,144, 0, 0, 98,168, 0, 0, 98,192, 0, 0, 98,216, 0, 0, 98,240, - 0, 0, 99,128, 0, 0,100, 24, 0, 0,100, 68, 0, 0,100,100, 0, 0,100,140, 0, 0,100,180, 0, 0,100,204, 0, 0,100,228, - 0, 0,101,124, 0, 0,102,148, 0, 0,102,172, 0, 0,102,196, 0, 0,102,220, 0, 0,102,244, 0, 0,103, 12, 0, 0,103, 36, - 0, 0,103, 60, 0, 0,103, 84, 0, 0,103,108, 0, 0,103,132, 0, 0,103,156, 0, 0,103,180, 0, 0,103,204, 0, 0,103,228, - 0, 0,103,252, 0, 0,104, 20, 0, 0,104, 56, 0, 0,104, 80, 0, 0,104,184, 0, 0,105, 76, 0, 0,105,120, 0, 0,105,160, - 0, 0,105,204, 0, 0,105,236, 0, 0,106, 20, 0, 0,106, 60, 0, 0,106, 84, 0, 0,106,108, 0, 0,106,132, 0, 0,106,156, - 0, 0,106,180, 0, 0,106,204, 0, 0,106,240, 0, 0,107, 16, 0, 0,107, 52, 0, 0,107, 76, 0, 0,107,112, 0, 0,107,136, - 0, 0,107,160, 0, 0,107,184, 0, 0,107,208, 0, 0,107,232, 0, 0,108, 0, 0, 0,108,100, 0, 0,108,216, 0, 0,109,152, - 0, 0,109,168, 0, 0,110, 12, 0, 0,110,100, 0, 0,110,212, 0, 0,111, 96, 0, 0,111,212, 0, 0,112, 64, 0, 0,112, 80, - 0, 0,112,180, 0, 0,113, 8, 0, 0,113,108, 0, 0,114, 24, 0, 0,114,116, 0, 0,115, 20, 0, 0,115,200, 0, 0,116, 12, - 0, 0,116,120, 0, 0,116,252, 0, 0,117, 88, 0, 0,117,208, 0, 0,118, 16, 0, 0,118, 92, 0, 0,118,184, 0, 0,119, 12, - 0, 0,119, 84, 0, 0,119,160, 0, 0,120, 8, 0, 0,120, 76, 0, 0,120,144, 0, 0,120,252, 0, 0,121, 20, 0, 0,121, 44, - 0, 0,121,144, 0, 0,121,252, 0, 0,122,108, 0, 0,122,240, 0, 0,123, 92, 0, 0,123,212, 0, 0,124, 76, 0, 0,124, 92, - 0, 0,124,200, 0, 0,125, 44, 0, 0,125,104, 0, 0,125,196, 0, 0,126, 8, 0, 0,126, 36, 0, 0,126, 64, 0, 0,126,172, - 0, 0,127, 0, 0, 0,127, 88, 0, 0,127,188, 0, 0,128, 4, 0, 0,128, 76, 0, 0,128,184, 0, 0,129, 36, 0, 0,129,144, - 0, 0,129,252, 0, 0,130,104, 0, 0,130,200, 0, 0,131, 44, 0, 0,131, 72, 0, 0,131,100, 0, 0,131,168, 0, 0,131,184, - 0, 0,131,208, 0, 0,131,232, 0, 0,132, 0, 0, 0,132, 24, 0, 0,132, 48, 0, 0,132, 72, 0, 0,132,120, 0, 0,132,144, - 0, 0,132,176, 0, 0,132,208, 0, 0,132,240, 0, 0,133, 16, 0, 0,133, 48, 0, 0,133, 80, 0, 0,133,112, 0, 0,133,136, - 0, 0,133,152, 0, 0,133,184, 0, 0,133,208, 0, 0,133,240, 0, 0,134, 8, 0, 0,134, 32, 0, 0,134, 56, 0, 0,134, 80, - 0, 0,134,104, 0, 0,134,128, 0, 0,134,152, 0, 0,134,176, 0, 0,134,200, 0, 0,134,224, 0, 0,134,248, 0, 0,135, 16, - 0, 0,135, 40, 0, 0,135, 64, 0, 0,135, 88, 0, 0,135,112, 0, 0,135,212, 0, 0,135,236, 0, 0,136, 4, 0, 0,136, 28, - 0, 0,136, 52, 0, 0,136, 76, 0, 0,136,100, 0, 0,136,124, 0, 0,136,148, 0, 0,136,172, 0, 0,136,196, 0, 0,136,220, - 0, 0,136,244, 0, 0,137, 12, 0, 0,137, 36, 0, 0,137, 60, 0, 0,137, 84, 0, 0,137,108, 0, 0,137,132, 0, 0,137,156, - 0, 0,137,180, 0, 0,137,204, 0, 0,137,228, 0, 0,137,252, 0, 0,138, 20, 0, 0,138, 44, 0, 0,138, 68, 0, 0,138, 92, - 0, 0,138,116, 0, 0,138,140, 0, 0,138,164, 0, 0,138,188, 0, 0,138,212, 0, 0,138,236, 0, 0,139, 4, 0, 0,139, 28, - 0, 0,139, 52, 0, 0,139,120, 0, 0,140, 24, 0, 0,140,104, 0, 0,140,184, 0, 0,140,208, 0, 0,140,232, 0, 0,141, 0, - 0, 0,141, 24, 0, 0,141, 56, 0, 0,141, 80, 0, 0,141,112, 0, 0,141,136, 0, 0,141,160, 0, 0,141,184, 0, 0,141,216, - 0, 0,141,240, 0, 0,142, 8, 0, 0,142, 32, 0, 0,142,132, 0, 0,143, 16, 0, 0,143,132, 0, 0,143,228, 0, 0,144,128, - 0, 0,145, 28, 0, 0,145,124, 0, 0,146, 16, 0, 0,146,156, 0, 0,146,212, 0, 0,147, 32, 0, 0,147,192, 0, 0,148, 20, - 0, 0,148,104, 0, 0,148,144, 0, 0,149, 12, 0, 0,149,156, 0, 0,150, 44, 0, 0,150,216, 0, 0,151, 96, 0, 0,151,224, - 0, 0,152, 84, 0, 0,152,204, 0, 0,153, 48, 0, 0,153,208, 0, 0,154, 88, 0, 0,155, 32, 0, 0,155,212, 0, 0,156,144, - 0, 0,157, 16, 0, 0,157, 88, 0, 0,157,232, 0, 0,158, 92, 0, 0,158,200, 0, 0,159, 52, 0, 0,159,132, 0, 0,159,200, - 0, 0,160, 36, 0, 0,160,152, 0, 0,160,232, 0, 0,161, 28, 0, 0,161, 76, 0, 0,161,192, 0, 0,162, 32, 0, 0,162, 84, - 0, 0,162,220, 0, 0,163, 68, 0, 0,163,172, 0, 0,164, 44, 0, 0,164,140, 0, 0,164,240, 0, 0,165, 32, 0, 0,165,140, - 0, 0,165,240, 0, 0,166,128, 0, 0,167, 24, 0, 0,167, 84, 0, 0,167,144, 0, 0,167,224, 0, 0,168, 32, 0, 0,168,116, - 0, 0,168,180, 0, 0,168,240, 0, 0,169, 96, 0, 0,169,208, 0, 0,170,116, 0, 0,170,180, 0, 0,171, 20, 0, 0,171, 92, - 0, 0,171,192, 0, 0,172, 4, 0, 0,172, 72, 0, 0,172,176, 0, 0,173, 32, 0, 0,173,140, 0, 0,173,180, 0, 0,173,236, - 0, 0,174, 44, 0, 0,174, 92, 0, 0,174,164, 0, 0,175, 0, 0, 0,175,104, 0, 0,175,248, 0, 0,176, 84, 0, 0,176,180, - 0, 0,177, 20, 0, 0,177,136, 0, 0,178, 12, 0, 0,178,164, 0, 0,179, 44, 0, 0,179,188, 0, 0,179,236, 0, 0,180, 80, - 0, 0,180,136, 0, 0,180,168, 0, 0,181, 44, 0, 0,181,156, 0, 0,182, 12, 0, 0,182,136, 0, 0,183, 84, 0, 0,183,248, - 0, 0,184,168, 0, 0,185, 52, 0, 0,185,240, 0, 0,186,124, 0, 0,187, 40, 0, 0,187,100, 0, 0,187,200, 0, 0,188, 8, - 0, 0,188, 88, 0, 0,188,192, 0, 0,189, 36, 0, 0,189,132, 0, 0,189,188, 0, 0,189,252, 0, 0,190, 60, 0, 0,190,156, - 0, 0,191, 8, 0, 0,191, 64, 0, 0,191,128, 0, 0,191,144, 0, 0,191,160, 0, 0,191,176, 0, 0,191,192, 0, 0,191,252, - 0, 0,192, 56, 0, 0,192,148, 0, 0,192,240, 0, 0,193, 76, 0, 0,193,168, 0, 0,193,216, 0, 0,193,232, 0, 0,194, 24, - 0, 0,194, 40, 0, 0,194, 80, 0, 0,194,108, 0, 0,194,128, 0, 0,194,148, 0, 0,194,192, 0, 0,194,208, 0, 0,194,224, - 0, 0,195,132, 0, 0,195,232, 0, 0,197, 0, 0, 0,197, 16, 0, 0,197, 76, 0, 0,197,160, 0, 0,197,212, 0, 0,198, 80, - 0, 0,198,136, 0, 0,198,228, 0, 0,199, 4, 0, 0,199, 40, 0, 0,199, 80, 0, 0,199,120, 0, 0,199,152, 0, 0,199,168, - 0, 0,199,184, 0, 0,199,200, 0, 0,199,216, 0, 0,199,232, 0, 0,200, 20, 0, 0,200, 36, 0, 0,200,120, 0, 0,200,168, - 0, 0,200,184, 0, 0,201, 0, 0, 0,201, 16, 0, 0,201, 96, 0, 0,201,112, 0, 0,201,140, 0, 0,201,168, 0, 0,201,212, - 0, 0,201,236, 0, 0,202, 36, 0, 0,202, 64, 0, 0,202,104, 0, 0,202,140, 0, 0,202,168, 0, 0,202,188, 0, 0,202,208, - 0, 0,202,244, 0, 0,203, 24, 0, 0,203, 56, 0, 0,203,124, 0, 0,203,172, 0, 0,203,208, 0, 0,203,244, 0, 0,204, 32, - 0, 0,204, 60, 0, 0,204,108, 0, 0,204,156, 0, 0,204,200, 0, 0,205, 8, 0, 0,205,116, 0, 0,205,160, 0, 0,206, 28, - 0, 0,206, 44, 0, 0,206, 72, 0, 0,206,108, 0, 0,206,180, 0, 0,206,244, 0, 0,207, 48, 0, 0,207,132, 0, 0,207,184, - 0, 0,208,152, 0, 0,208,196, 0, 0,208,212, 0, 0,208,228, 0, 0,208,244, 0, 0,209, 16, 0, 0,209, 40, 0, 0,209, 68, - 0, 0,209, 96, 0, 0,209,144, 0, 0,209,180, 0, 0,209,224, 0, 0,210, 40, 0, 0,210, 92, 0, 0,210,188, 0, 0,210,212, - 0, 0,210,228, 0, 0,210,248, 0, 0,211, 56, 0, 0,211, 88, 0, 0,211,116, 0, 0,211,156, 0, 0,211,172, 0, 0,211,188, - 0, 0,211,212, 0, 0,211,236, 0, 0,211,252, 0, 0,212, 20, 0, 0,212, 44, 0, 0,212, 68, 0, 0,212, 92, 0, 0,212,116, - 0, 0,212,140, 0, 0,212,164, 0, 0,212,180, 0, 0,212,196, 0, 0,212,212, 0, 0,213, 52, 0, 0,213, 68, 0, 0,213, 84, - 0, 0,213,100, 0, 0,214, 4, 0, 0,214, 20, 0, 0,214, 36, 0, 0,214,124, 0, 0,214,140, 0, 0,214,156, 0, 0,214,252, - 0, 0,215, 12, 0, 0,215, 28, 0, 0,215, 44, 0, 0,215,160, 0, 0,215,176, 0, 0,215,192, 0, 0,216,160, 0, 0,216,176, - 0, 0,217, 84, 0, 0,217,252, 0, 0,218, 20, 0, 0,218, 44, 0, 0,218, 68, 0, 0,218, 92, 0, 0,218,116, 0, 0,218,140, - 0, 0,218,164, 0, 0,219, 52, 0, 0,219,168, 0, 0,219,228, 0, 0,220,136, 0, 0,220,152, 0, 0,221, 0, 0, 0,221,112, - 0, 0,222, 24, 0, 0,222,112, 0, 0,222,128, 0, 0,222,192, 0, 0,222,208, 0, 0,223, 32, 0, 0,223,156, 0, 0,223,172, - 0, 0,223,248, 0, 0,224,136, 0, 0,224,252, 0, 0,225,144, 0, 0,225,240, 0, 0,226, 84, 0, 0,227, 40, 0, 0,227,132, - 0, 0,227,224, 0, 0,228,100, 0, 0,228,124, 0, 0,228,148, 0, 0,228,172, 0, 0,228,196, 0, 0,228,220, 0, 0,229,104, - 0, 0,229,236, 0, 0,230, 84, 0, 0,230,108, 0, 0,230,132, 0, 0,231, 12, 0, 0,231,128, 0, 0,232, 32, 0, 0,232,136, - 0, 0,232,236, 0, 0,233, 92, 0, 0,233,208, 0, 0,233,224, 0, 0,234, 76, 0, 0,234,168, 0, 0,234,212, 0, 0,235, 72, - 0, 0,235,164, 0, 0,236, 64, 0, 0,236,176, 0, 0,236,192, 0, 0,236,208, 0, 0,237, 60, 0, 0,237,172, 0, 0,238, 28, - 0, 0,238, 44, 0, 0,238, 60, 0, 0,238, 76, 0, 0,238,136, 0, 0,238,192, 0, 0,239, 48, 0, 0,239,140, 0, 0,239,164, - 0, 0,239,188, 0, 0,239,212, 0, 0,239,236, 0, 0,240,124, 0, 0,240,148, 0, 0,241, 60, 0, 0,241, 76, 0, 0,241, 92, - 0, 0,241,128, 0, 0,241,144, 0, 0,241,244, 0, 0,242, 80, 0, 0,242,192, 0, 0,242,216, 0, 0,242,240, 0, 0,243, 8, - 0, 0,243, 56, 0, 0,243, 72, 0, 0,243,208, 0, 0,243,224, 0, 0,244, 24, 0, 0,244,168, 0, 0,244,184, 0, 0,245,132, - 0, 0,245,148, 0, 0,246, 0, 0, 0,246, 24, 0, 0,246, 40, 0, 0,246,140, 0, 0,246,156, 0, 0,246,172, 0, 0,246,188, - 0, 0,247, 0, 0, 0,247, 16, 0, 0,247, 32, 0, 0,247, 48, 0, 0,247,192, 0, 0,248,156, 0, 0,248,172, 0, 0,249, 0, - 0, 0,249,100, 0, 0,249,184, 0, 0,250, 32, 0, 0,250,148, 0, 0,251, 20, 0, 0,251,136, 0, 0,252, 48, 0, 0,252,224, - 0, 0,253,124, 0, 0,253,140, 0, 0,254, 88, 0, 0,254,240, 0, 0,255, 40, 0, 0,255,176, 0, 0,255,192, 0, 1, 0,140, - 0, 1, 0,156, 0, 1, 1, 8, 0, 1, 1, 32, 0, 1, 1, 48, 0, 1, 1,148, 0, 1, 2, 28, 0, 1, 2,112, 0, 1, 2,128, - 0, 1, 2,196, 0, 1, 2,212, 0, 1, 2,228, 0, 1, 3, 40, 0, 1, 3, 56, 0, 1, 4, 16, 0, 1, 4, 32, 0, 1, 4,116, - 0, 1, 4,216, 0, 1, 5, 44, 0, 1, 5,144, 0, 1, 6, 4, 0, 1, 6,128, 0, 1, 6,240, 0, 1, 7,164, 0, 1, 8, 76, - 0, 1, 8,224, 0, 1, 8,248, 0, 1, 9, 16, 0, 1, 9,116, 0, 1, 9,140, 0, 1, 10, 68, 0, 1, 10, 84, 0, 1, 10,100, - 0, 1, 10,132, 0, 1, 10,148, 0, 1, 10,248, 0, 1, 11, 72, 0, 1, 11,160, 0, 1, 11,184, 0, 1, 11,208, 0, 1, 11,232, - 0, 1, 12, 24, 0, 1, 12, 92, 0, 1, 12,160, 0, 1, 12,212, 0, 1, 13, 8, 0, 1, 13,100, 0, 1, 13,196, 0, 1, 14, 32, - 0, 1, 14,124, 0, 1, 14,148, 0, 1, 14,172, 0, 1, 14,236, 0, 1, 15, 44, 0, 1, 15,104, 0, 1, 15,164, 0, 1, 15,188, - 0, 1, 15,212, 0, 1, 16, 4, 0, 1, 16, 52, 0, 1, 16, 68, 0, 1, 16,116, 0, 1, 16,184, 0, 1, 16,244, 0, 1, 17, 60, - 0, 1, 17,132, 0, 1, 17,228, 0, 1, 17,244, 0, 1, 18, 4, 0, 1, 18, 28, 0, 1, 18, 52, 0, 1, 18,148, 0, 1, 18,248, - 0, 1, 19, 64, 0, 1, 19,136, 0, 1, 19,240, 0, 1, 20, 68, 0, 1, 20, 96, 0, 1, 20,144, 0, 1, 20,168, 0, 1, 20,224, - 0, 1, 20,248, 0, 1, 21, 8, 0, 1, 21, 24, 0, 1, 21, 48, 0, 1, 21, 72, 0, 1, 21, 88, 0, 1, 21,104, 0, 1, 21,128, - 0, 1, 21,152, 0, 1, 21,176, 0, 1, 21,200, 0, 1, 21,224, 0, 1, 21,248, 0, 1, 22, 8, 0, 1, 22, 24, 0, 1, 22, 48, - 0, 1, 22, 72, 0, 1, 22, 96, 0, 1, 22,120, 0, 1, 22,176, 0, 1, 22,220, 0, 1, 22,236, 0, 1, 22,252, 0, 1, 23, 20, - 0, 1, 23, 44, 0, 1, 23, 68, 0, 1, 23, 92, 0, 1, 23,116, 0, 1, 23,140, 0, 1, 23,164, 0, 1, 23,188, 0, 1, 23,212, - 0, 1, 23,236, 0, 1, 24, 4, 0, 1, 24, 28, 0, 1, 24, 72, 0, 1, 24,116, 0, 1, 24,140, 0, 1, 24,164, 0, 1, 24,196, - 0, 1, 25, 32, 0, 1, 25, 80, 0, 1, 25,192, 0, 1, 26, 48, 0, 1, 26, 72, 0, 1, 26, 96, 0, 1, 26,120, 0, 1, 26,144, - 0, 1, 26,168, 0, 1, 26,196, 0, 1, 26,220, 0, 1, 26,244, 0, 1, 27, 12, 0, 1, 27, 36, 0, 1, 27, 60, 0, 1, 27,168, - 0, 1, 27,192, 0, 1, 28, 20, 0, 1, 28, 44, 0, 1, 28,112, 0, 1, 28,136, 0, 1, 29, 72, 0, 1, 29, 96, 0, 1, 30, 20, - 0, 1, 30, 44, 0, 1, 30,144, 0, 1, 30,168, 0, 1, 31, 40, 0, 1, 31, 64, 0, 1, 31, 88, 0, 1, 31,112, 0, 1, 31,136, - 0, 1, 32, 68, 0, 1, 32,160, 0, 1, 33, 44, 0, 1, 33, 68, 0, 1, 33,172, 0, 1, 34, 44, 0, 1, 34,208, 0, 1, 34,232, - 0, 1, 35, 20, 0, 1, 35,180, 0, 1, 35,224, 0, 1, 35,252, 0, 1, 36,140, 0, 1, 36,168, 0, 1, 37, 44, 0, 1, 37,112, - 0, 1, 37,180, 0, 1, 37,196, 0, 1, 37,216, 0, 1, 38, 0, 0, 1, 38, 28, 0, 1, 38, 76, 0, 1, 38,164, 0, 1, 39, 32, - 0, 1, 39,164, 0, 1, 40, 16, 0, 1, 40, 88, 0, 1, 40,168, 0, 1, 40,248, 0, 1, 41,120, 0, 1, 41,172, 0, 1, 41,236, - 0, 1, 42, 16, 0, 1, 42, 68, 0, 1, 42,152, 0, 1, 43, 72, 0, 1, 43,160, 0, 1, 43,184, 0, 1, 43,208, 0, 1, 43,232, - 0, 1, 44, 8, 0, 1, 44, 32, 0, 1, 44, 56, 0, 1, 44, 80, 0, 1, 44,104, 0, 1, 44,128, 0, 1, 44,152, 0, 1, 44,176, - 0, 1, 44,200, 0, 1, 44,224, 0, 1, 44,248, 0, 1, 45, 16, 0, 1, 45, 40, 0, 1, 45, 64, 0, 1, 45, 88, 0, 1, 46, 8, - 0, 1, 46, 32, 0, 1, 46,168, 0, 1, 46,192, 0, 1, 46,216, 0, 1, 47, 56, 0, 1, 48, 8, 0, 1, 48, 32, 0, 1, 48, 48, - 0, 1, 48, 72, 0, 1, 48, 88, 0, 1, 48,104, 0, 1, 48,120, 0, 1, 48,136, 0, 1, 48,152, 0, 1, 49, 24, 0, 1, 49,156, - 0, 1, 50, 4, 0, 1, 50, 20, 0, 1, 50, 36, 0, 1, 50, 52, 0, 1, 50,244, 0, 1, 51,132, 0, 1, 52, 60, 0, 1, 52,172, - 0, 1, 53, 44, 0, 1, 53,224, 0, 1, 54,116, 0, 1, 55, 0, 0, 1, 55,128, 0, 1, 55,240, 0, 1, 56,176, 0, 1, 57, 24, - 0, 1, 57,124, 0, 1, 57,220, 0, 1, 58,180, 0, 1, 59, 64, 0, 1, 59,208, 0, 1, 60, 96, 0, 1, 60,172, 0, 1, 61, 64, - 0, 1, 61,216, 0, 1, 62,116, 0, 1, 62,228, 0, 1, 63,164, 0, 1, 64, 80, 0, 1, 64,236, 0, 1, 65,164, 0, 1, 66, 36, - 0, 1, 66, 64, 0, 1, 66,160, 0, 1, 66,236, 0, 1, 67, 4, 0, 1, 67, 72, 0, 1, 67,148, 0, 1, 67,228, 0, 1, 68, 60, - 0, 1, 68,132, 0, 1, 68,212, 0, 1, 69, 56, 0, 1, 69,140, 0, 1, 69,168, 0, 1, 70, 8, 0, 1, 70,164, 0, 1, 70,208, - 0, 1, 70,228, 0, 1, 71, 20, 0, 1, 71,104, 0, 1, 71,204, 0, 1, 72, 72, 0, 1, 72,212, 0, 1, 73, 48, 0, 1, 73,172, - 0, 1, 74, 40, 0, 1, 74,160, 0, 1, 74,236, 0, 1, 75, 84, 0, 1, 75,184, 0, 1, 76, 28, 0, 1, 76,128, 0, 1, 76,236, - 0, 1, 77, 92, 0, 1, 77,184, 0, 1, 78, 56, 0, 1, 78,136, 0, 1, 78,228, 0, 1, 79,104, 0, 1, 80, 8, 0, 1, 80,112, - 0, 1, 80,248, 0, 1, 81, 84, 0, 1, 81,212, 0, 1, 82, 68, 0, 1, 82,188, 0, 1, 83, 12, 0, 1, 83,140, 0, 1, 84, 32, - 0, 1, 84,112, 0, 1, 84,220, 0, 1, 85, 92, 0, 1, 86, 20, 0, 1, 86,124, 0, 1, 86,232, 0, 1, 87, 96, 0, 1, 87,228, - 0, 1, 88,108, 0, 1, 88,224, 0, 1, 89, 68, 0, 1, 89,180, 0, 1, 90, 24, 0, 1, 90, 76, 0, 1, 90,156, 0, 1, 91, 92, - 0, 1, 91,232, 0, 1, 92, 32, 0, 1, 92,200, 0, 1, 92,252, 0, 1, 93, 48, 0, 1, 93,116, 0, 1, 93,208, 0, 1, 94, 56, - 0, 1, 94,108, 0, 1, 94,180, 0, 1, 95, 28, 0, 1, 95, 92, 0, 1, 95,140, 0, 1, 95,188, 0, 1, 96, 24, 0, 1, 96, 72, - 0, 1, 96,120, 0, 1, 96,184, 0, 1, 96,240, 0, 1, 97, 16, 0, 1, 97, 72, 0, 1, 97,120, 0, 1, 97,168, 0, 1, 97,240, - 0, 1, 98, 52, 0, 1, 98,148, 0, 1, 98,188, 0, 1, 99, 32, 0, 1, 99, 88, 0, 1, 99,212, 0, 1,100, 80, 0, 1,100,164, - 0, 1,101, 96, 0, 1,101,180, 0, 1,102, 12, 0, 1,102,104, 0, 1,102,196, 0, 1,103, 56, 0, 1,103,172, 0, 1,104, 32, - 0, 1,104, 88, 0, 1,104,144, 0, 1,104,248, 0, 1,105, 88, 0, 1,105,164, 0, 1,105,244, 0, 1,106, 36, 0, 1,106, 84, - 0, 1,106,168, 0, 1,106,232, 0, 1,107, 44, 0, 1,107,112, 0, 1,107,216, 0, 1,108, 0, 0, 1,108, 20, 0, 1,108, 40, - 0, 1,108, 60, 0, 1,108, 80, 0, 1,108,204, 0, 1,108,220, 0, 1,109, 36, 0, 1,109,120, 0, 1,109,204, 0, 1,110, 28, - 0, 1,110,160, 0, 1,111, 32, 0, 1,111,148, 0, 1,111,212, 0, 1,112, 28, 0, 1,112,136, 0, 1,112,204, 0, 1,113, 16, - 0, 1,113, 68, 0, 1,113,116, 0, 1,113,176, 0, 1,114, 12, 0, 1,114, 64, 0, 1,114,144, 0, 1,114,176, 0, 1,115, 56, - 0, 1,115,160, 0, 1,115,244, 0, 1,116, 96, 0, 1,116,144, 0, 1,117, 0, 0, 1,117,148, 0, 1,118, 64, 0, 1,118,136, - 0, 1,118,236, 0, 1,119, 84, 0, 1,119,176, 0, 1,120, 4, 0, 1,120, 44, 0, 1,120, 92, 0, 1,120,168, 0, 1,121, 4, - 0, 1,121, 96, 0, 1,121,184, 0, 1,121,208, 0, 1,121,232, 0, 1,122, 0, 0, 1,122, 24, 0, 1,122, 48, 0, 1,122, 72, - 0, 1,122, 96, 0, 1,122,120, 0, 1,122,152, 0, 1,122,180, 0, 1,122,204, 0, 1,122,228, 0, 1,122,252, 0, 1,123, 20, - 0, 1,123, 44, 0, 1,123, 68, 0, 1,123, 92, 0, 1,123,116, 0, 1,123,140, 0, 1,123,164, 0, 1,123,188, 0, 1,123,212, - 0, 1,123,236, 0, 1,124, 4, 0, 1,124, 32, 0, 1,124, 60, 0, 1,124, 84, 0, 1,124,108, 0, 1,124,132, 0, 1,124,156, - 0, 1,124,180, 0, 1,124,204, 0, 1,124,228, 0, 1,124,252, 0, 1,125, 20, 0, 1,125, 44, 0, 1,125, 68, 0, 1,125, 92, - 0, 1,125,116, 0, 1,125,140, 0, 1,125,164, 0, 1,125,188, 0, 1,125,212, 0, 1,125,236, 0, 1,126, 4, 0, 1,126, 28, - 0, 1,126, 52, 0, 1,126, 76, 0, 1,126,100, 0, 1,126,124, 0, 1,126,148, 0, 1,126,172, 0, 1,126,196, 0, 1,126,220, - 0, 1,126,244, 0, 1,127, 12, 0, 1,127, 36, 0, 1,127, 60, 0, 1,127, 84, 0, 1,127,108, 0, 1,127,132, 0, 1,127,156, - 0, 1,127,180, 0, 1,127,204, 0, 1,127,228, 0, 1,127,252, 0, 1,128, 20, 0, 1,128, 44, 0, 1,128, 68, 0, 1,128, 92, - 0, 1,128,116, 0, 1,128,140, 0, 1,128,164, 0, 1,128,188, 0, 1,128,212, 0, 1,128,236, 0, 1,129, 4, 0, 1,129, 28, - 0, 1,129, 52, 0, 1,129, 76, 0, 1,129,100, 0, 1,129,124, 0, 1,129,152, 0, 1,129,180, 0, 1,129,204, 0, 1,129,228, - 0, 1,129,252, 0, 1,130, 20, 0, 1,130, 44, 0, 1,130, 68, 0, 1,130, 92, 0, 1,130,116, 0, 1,130,140, 0, 1,130,164, - 0, 1,130,188, 0, 1,130,212, 0, 1,130,236, 0, 1,131, 4, 0, 1,131, 28, 0, 1,131, 52, 0, 1,131, 76, 0, 1,131,100, - 0, 1,131,124, 0, 1,131,148, 0, 1,131,172, 0, 1,131,196, 0, 1,131,220, 0, 1,131,244, 0, 1,132, 12, 0, 1,132, 36, - 0, 1,132, 60, 0, 1,132, 84, 0, 1,132,108, 0, 1,132,132, 0, 1,132,156, 0, 1,132,180, 0, 1,132,204, 0, 1,132,228, - 0, 1,132,252, 0, 1,133, 20, 0, 1,133, 44, 0, 1,133, 68, 0, 1,133,100, 0, 1,133,124, 0, 1,133,148, 0, 1,133,172, - 0, 1,133,196, 0, 1,133,220, 0, 1,133,244, 0, 1,134, 12, 0, 1,134, 36, 0, 1,134, 60, 0, 1,134, 84, 0, 1,134,108, - 0, 1,134,132, 0, 1,134,156, 0, 1,134,180, 0, 1,134,204, 0, 1,134,228, 0, 1,134,252, 0, 1,135, 20, 0, 1,135, 44, - 0, 1,135, 68, 0, 1,135, 92, 0, 1,135,116, 0, 1,135,140, 0, 1,135,164, 0, 1,135,188, 0, 1,135,212, 0, 1,135,236, - 0, 1,136, 4, 0, 1,136, 28, 0, 1,136, 52, 0, 1,136, 76, 0, 1,136,100, 0, 1,136,124, 0, 1,136,148, 0, 1,136,172, - 0, 1,136,196, 0, 1,136,220, 0, 1,136,244, 0, 1,137, 12, 0, 1,137, 36, 0, 1,137, 60, 0, 1,137, 84, 0, 1,137,108, - 0, 1,137,132, 0, 1,137,156, 0, 1,137,180, 0, 1,137,204, 0, 1,137,228, 0, 1,137,252, 0, 1,138, 20, 0, 1,138, 44, - 0, 1,138, 68, 0, 1,138, 92, 0, 1,138,116, 0, 1,138,140, 0, 1,138,164, 0, 1,138,188, 0, 1,138,212, 0, 1,138,236, - 0, 1,139, 4, 0, 1,139, 28, 0, 1,139, 52, 0, 1,139, 76, 0, 1,139,100, 0, 1,139,124, 0, 1,139,148, 0, 1,139,172, - 0, 1,139,196, 0, 1,139,220, 0, 1,139,244, 0, 1,140, 12, 0, 1,140, 36, 0, 1,140, 60, 0, 1,140, 84, 0, 1,140,108, - 0, 1,140,132, 0, 1,140,156, 0, 1,140,180, 0, 1,140,204, 0, 1,140,228, 0, 1,140,252, 0, 1,141, 20, 0, 1,141, 44, - 0, 1,141, 68, 0, 1,141, 92, 0, 1,141,116, 0, 1,141,140, 0, 1,141,164, 0, 1,141,188, 0, 1,141,212, 0, 1,141,236, - 0, 1,142, 4, 0, 1,142, 28, 0, 1,142, 52, 0, 1,142, 76, 0, 1,142,100, 0, 1,142,124, 0, 1,142,148, 0, 1,142,172, - 0, 1,142,196, 0, 1,142,220, 0, 1,142,244, 0, 1,143, 12, 0, 1,143, 36, 0, 1,143, 60, 0, 1,143, 84, 0, 1,143,108, - 0, 1,143,132, 0, 1,143,156, 0, 1,143,180, 0, 1,143,204, 0, 1,143,228, 0, 1,143,252, 0, 1,144, 20, 0, 1,144, 44, - 0, 1,144, 68, 0, 1,144, 92, 0, 1,144,116, 0, 1,144,132, 0, 1,144,156, 0, 1,144,172, 0, 1,144,196, 0, 1,144,212, - 0, 1,144,236, 0, 1,144,252, 0, 1,145, 20, 0, 1,145, 36, 0, 1,145, 60, 0, 1,145, 76, 0, 1,145,100, 0, 1,145,116, - 0, 1,145,140, 0, 1,145,164, 0, 1,145,188, 0, 1,145,212, 0, 1,145,236, 0, 1,146, 4, 0, 1,146, 28, 0, 1,146, 52, - 0, 1,146, 76, 0, 1,146,100, 0, 1,146,124, 0, 1,146,148, 0, 1,146,172, 0, 1,146,196, 0, 1,146,220, 0, 1,146,244, - 0, 1,147, 12, 0, 1,147, 36, 0, 1,147, 60, 0, 1,147, 84, 0, 1,147,108, 0, 1,147,132, 0, 1,147,156, 0, 1,147,180, - 0, 1,147,204, 0, 1,147,228, 0, 1,147,252, 0, 1,148, 20, 0, 1,148, 44, 0, 1,148, 68, 0, 1,148, 92, 0, 1,148,116, - 0, 1,148,140, 0, 1,148,164, 0, 1,148,188, 0, 1,148,212, 0, 1,148,236, 0, 1,149, 4, 0, 1,149, 28, 0, 1,149, 52, - 0, 1,149, 76, 0, 1,149,100, 0, 1,149,124, 0, 1,149,148, 0, 1,149,172, 0, 1,149,196, 0, 1,149,220, 0, 1,149,244, - 0, 1,150, 12, 0, 1,150, 36, 0, 1,150, 60, 0, 1,150, 84, 0, 1,150,108, 0, 1,150,132, 0, 1,150,156, 0, 1,150,180, - 0, 1,150,204, 0, 1,150,228, 0, 1,150,244, 0, 1,151, 12, 0, 1,151, 28, 0, 1,151, 44, 0, 1,151, 80, 0, 1,151, 96, - 0, 1,151,120, 0, 1,151,144, 0, 1,151,168, 0, 1,151,192, 0, 1,151,216, 0, 1,151,240, 0, 1,152, 8, 0, 1,152, 24, - 0, 1,152, 48, 0, 1,152, 64, 0, 1,152, 88, 0, 1,152,116, 0, 1,152,140, 0, 1,152,164, 0, 1,152,188, 0, 1,152,212, - 0, 1,152,236, 0, 1,152,252, 0, 1,153, 20, 0, 1,153, 44, 0, 1,153, 68, 0, 1,153, 92, 0, 1,153,116, 0, 1,153,132, - 0, 1,153,160, 0, 1,153,184, 0, 1,153,208, 0, 1,153,232, 0, 1,154, 0, 0, 1,154, 24, 0, 1,154, 40, 0, 1,154, 64, - 0, 1,154, 88, 0, 1,154,112, 0, 1,154,136, 0, 1,154,160, 0, 1,154,184, 0, 1,154,208, 0, 1,154,224, 0, 1,154,248, - 0, 1,155, 16, 0, 1,155, 32, 0, 1,155, 48, 0, 1,155, 72, 0, 1,155, 96, 0, 1,155,120, 0, 1,155,144, 0, 1,155,168, - 0, 1,155,192, 0, 1,155,208, 0, 1,155,232, 0, 1,155,248, 0, 1,156, 16, 0, 1,156, 32, 0, 1,156, 68, 0, 1,156, 68, - 0, 1,156, 68, 0, 1,156, 68, 0, 1,156, 68, 0, 1,156, 68, 0, 1,156, 68, 0, 1,156, 68, 0, 1,156, 68, 0, 1,156, 68, - 0, 1,156, 68, 0, 1,156, 68, 0, 1,156,112, 0, 1,156,128, 0, 1,156,172, 0, 1,156,216, 0, 1,157, 0, 0, 1,157, 40, - 0, 1,157, 64, 0, 1,157,124, 0, 1,157,184, 0, 1,157,244, 0, 1,158, 24, 0, 1,158,116, 0, 1,158,208, 0, 1,159, 48, - 0, 1,159,100, 0, 1,159,188, 0, 1,160, 64, 0, 1,160,128, 0, 1,160,156, 0, 1,160,244, 0, 1,160,244, 0, 1,162, 68, - 0, 1,163,112, 0, 1,163,180, 0, 1,163,252, 0, 1,164, 24, 0, 1,164,148, 0, 1,164,168, 0, 1,164,216, 0, 1,165, 8, - 0, 1,165, 36, 0, 1,165, 64, 0, 1,165, 92, 0, 1,165, 92, 0, 1,165,228, 0, 1,166, 28, 0, 1,166,140, 0, 1,166,244, - 0, 1,167,116, 0, 1,167,156, 0, 1,168, 84, 0, 1,168,224, 0, 1,169, 16, 0, 1,169, 44, 0, 1,169, 84, 0, 1,169,136, - 0, 1,169,188, 0, 1,170, 32, 0, 1,170, 52, 0, 1,170, 72, 0, 1,170, 92, 0, 1,170,112, 0, 1,170,132, 0, 1,170,152, - 0, 1,170,172, 0, 1,170,192, 0, 1,170,212, 0, 1,170,232, 0, 1,170,252, 0, 1,171, 16, 0, 1,171, 36, 0, 1,171, 56, - 0, 1,171, 76, 0, 1,171, 96, 0, 1,171,116, 0, 1,171,136, 0, 1,171,156, 0, 1,171,176, 0, 1,172, 52, 0, 1,173, 68, - 0, 1,173,196, 0, 1,174,100, 0, 1,174,248, 0, 1,175,108, 0, 1,175,200, 0, 1,176, 68, 0, 1,176,248, 0, 1,177, 8, - 0, 1,177, 24, 0, 1,177, 40, 0, 1,177, 72, 0, 1,177,104, 0, 1,177,136, 0, 1,177,168, 0, 1,177,200, 0, 1,177,232, - 0, 1,178, 8, 0, 1,178, 40, 0, 1,178, 72, 0, 1,178,104, 0, 1,178,136, 0, 1,178,168, 0, 1,178,192, 0, 1,178,240, - 0, 1,179, 36, 0, 1,179, 88, 0, 1,179,136, 0, 1,179,208, 0, 1,180, 24, 0, 1,180, 72, 0, 1,180,120, 0, 1,180,164, - 0, 1,180,208, 0, 1,181, 24, 0, 1,181, 96, 0, 1,182, 8, 0, 1,182,176, 0, 1,182,248, 0, 1,183, 64, 0, 1,183,136, - 0, 1,183,208, 0, 1,184, 16, 0, 1,184, 80, 0, 1,184,140, 0, 1,184,200, 0, 1,185, 4, 0, 1,185, 64, 0, 1,185,140, - 0, 1,186, 20, 0, 1,186,160, 0, 1,187,100, 0, 1,188, 44, 0, 1,189, 68, 0, 1,189,164, 0, 1,189,232, 0, 1,190, 32, - 0, 1,190, 88, 0, 1,190,144, 0, 1,190,200, 0, 1,191, 0, 0, 1,191, 56, 0, 1,191,196, 0, 1,192, 84, 0, 1,192,144, - 0, 1,192,248, 0, 1,193,160, 0, 1,194, 72, 0, 1,194,108, 0, 1,194,148, 0, 1,194,188, 0, 1,194,228, 0, 1,195, 12, - 0, 1,195, 52, 0, 1,195, 88, 0, 1,195,124, 0, 1,195,208, 0, 1,196, 36, 0, 1,196,120, 0, 1,196,192, 0, 1,197, 8, - 0, 1,197, 80, 0, 1,197,152, 0, 1,197,212, 0, 1,198, 20, 0, 1,198,120, 0, 1,198,244, 0, 1,199, 88, 0, 1,199,152, - 0, 1,199,216, 0, 1,200, 24, 0, 1,200, 88, 0, 1,200,180, 0, 1,201, 16, 0, 1,201, 80, 0, 1,201,144, 0, 1,201,208, - 0, 1,202, 16, 0, 1,202, 80, 0, 1,202,144, 0, 1,202,228, 0, 1,203, 60, 0, 1,203,140, 0, 1,203,220, 0, 1,204, 36, - 0, 1,204,112, 0, 1,204,184, 0, 1,205, 4, 0, 1,205, 64, 0, 1,205,124, 0, 1,205,188, 0, 1,205,248, 0, 1,206, 52, - 0, 1,206,112, 0, 1,206,200, 0, 1,207, 24, 0, 1,207,120, 0, 1,207,216, 0, 1,208, 48, 0, 1,208,160, 0, 1,208,244, - 0, 1,209, 56, 0, 1,209,124, 0, 1,209,204, 0, 1,210,108, 0, 1,210,188, 0, 1,211, 24, 0, 1,211, 92, 0, 1,211,160, - 0, 1,211,248, 0, 1,212, 72, 0, 1,212,152, 0, 1,213, 0, 0, 1,213, 52, 0, 1,213,104, 0, 1,213,184, 0, 1,214,116, - 0, 1,215, 64, 0, 1,215,188, 0, 1,215,232, 0, 1,216, 68, 0, 1,216,212, 0, 1,217,104, 0, 1,217,196, 0, 1,218, 84, - 0, 1,218,164, 0, 1,218,236, 0, 1,219, 92, 0, 1,219,136, 0, 1,219,200, 0, 1,219,252, 0, 1,220, 16, 0, 1,220, 36, - 0, 1,220, 52, 0, 1,220,152, 0, 1,221, 16, 0, 1,221,212, 0, 1,221,248, 0, 1,222, 32, 0, 1,222, 72, 0, 1,222,112, - 0, 1,222,228, 0, 1,223, 92, 0, 1,223,204, 0, 1,224,100, 0, 1,225, 60, 0, 1,225, 84, 0, 1,225,140, 0, 1,225,188, - 0, 1,225,220, 0, 1,226, 56, 0, 1,226,148, 0, 1,227, 0, 0, 1,227, 96, 0, 1,227,200, 0, 1,228, 76, 0, 1,228,196, - 0, 1,229, 92, 0, 1,229,244, 0, 1,230,232, 0, 1,231,148, 0, 1,232, 76, 0, 1,233, 64, 0, 1,233,184, 0, 1,234, 4, - 0, 1,234,192, 0, 1,235, 52, 0, 1,235, 76, 0, 1,235,116, 0, 1,235,148, 0, 1,235,180, 0, 1,235,244, 0, 1,236, 60, - 0, 1,236,152, 0, 1,237, 4, 0, 1,237, 76, 0, 1,237,140, 0, 1,237,204, 0, 1,238, 24, 0, 1,238, 96, 0, 1,239, 68, - 0, 1,239,200, 0, 1,240, 84, 0, 1,240,216, 0, 1,241, 12, 0, 1,241,104, 0, 1,241,168, 0, 1,242, 8, 0, 1,242,100, - 0, 1,242,168, 0, 1,242,232, 0, 1,243, 72, 0, 1,243,172, 0, 1,244, 20, 0, 1,244,104, 0, 1,244,188, 0, 1,245, 36, - 0, 1,245,136, 0, 1,246, 0, 0, 1,246,136, 0, 1,247, 40, 0, 1,247,212, 0, 1,248, 24, 0, 1,248, 92, 0, 1,248,224, - 0, 1,249,104, 0, 1,249,164, 0, 1,249,220, 0, 1,250, 68, 0, 1,250,172, 0, 1,251, 64, 0, 1,251,208, 0, 1,252, 56, - 0, 1,252,160, 0, 1,252,232, 0, 1,253, 44, 0, 1,253,152, 0, 1,254, 4, 0, 1,254, 88, 0, 1,254,168, 0, 1,255, 36, - 0, 1,255,176, 0, 2, 0, 24, 0, 2, 0,132, 0, 2, 0,220, 0, 2, 1, 52, 0, 2, 1,176, 0, 2, 2, 48, 0, 2, 2,248, - 0, 2, 3,168, 0, 2, 4,116, 0, 2, 5, 40, 0, 2, 5,216, 0, 2, 6,192, 0, 2, 7,176, 0, 2, 8,112, 0, 2, 9, 36, - 0, 2, 9,116, 0, 2, 9,172, 0, 2, 10, 12, 0, 2, 10, 68, 0, 2, 10,116, 0, 2, 10,164, 0, 2, 11, 12, 0, 2, 11, 92, - 0, 2, 11,176, 0, 2, 11,232, 0, 2, 12, 28, 0, 2, 12,132, 0, 2, 12,236, 0, 2, 13,132, 0, 2, 14, 24, 0, 2, 14,108, - 0, 2, 14,188, 0, 2, 15, 8, 0, 2, 15, 84, 0, 2, 15,208, 0, 2, 16, 84, 0, 2, 16,248, 0, 2, 17,152, 0, 2, 17,172, - 0, 2, 17,188, 0, 2, 17,232, 0, 2, 18, 32, 0, 2, 18, 72, 0, 2, 18,112, 0, 2, 18,164, 0, 2, 18,228, 0, 2, 19, 4, - 0, 2, 19, 36, 0, 2, 19, 68, 0, 2, 19,100, 0, 2, 19,140, 0, 2, 19,180, 0, 2, 19,220, 0, 2, 20, 4, 0, 2, 20, 36, - 0, 2, 20,120, 0, 2, 20,136, 0, 2, 20,204, 0, 2, 21, 16, 0, 2, 21,104, 0, 2, 22, 80, 0, 2, 22,116, 0, 2, 22,152, - 0, 2, 22,184, 0, 2, 22,216, 0, 2, 22,248, 0, 2, 23, 80, 0, 2, 23,168, 0, 2, 23,224, 0, 2, 24, 68, 0, 2, 24,156, - 0, 2, 29, 72, 0, 2, 29,172, 0, 2, 29,212, 0, 2, 30, 0, 0, 2, 30, 68, 0, 2, 30,148, 0, 2, 30,240, 0, 2, 31, 8, - 0, 2, 31,148, 0, 2, 32, 24, 0, 2, 32, 48, 0, 2, 32,104, 0, 2, 32,156, 0, 2, 32,232, 0, 2, 33, 52, 0, 2, 33,128, - 0, 2, 33,208, 0, 2, 34, 96, 0, 2, 34,176, 0, 2, 34,248, 0, 2, 35, 72, 0, 2, 35,152, 0, 2, 35,228, 0, 2, 36, 48, - 0, 2, 36,128, 0, 2, 36,208, 0, 2, 36,232, 0, 2, 37, 0, 0, 2, 37, 24, 0, 2, 37, 48, 0, 2, 37, 72, 0, 2, 37, 96, - 0, 2, 37,120, 0, 2, 37,144, 0, 2, 37,168, 0, 2, 37,192, 0, 2, 37,220, 0, 2, 37,244, 0, 2, 38, 12, 0, 2, 38,168, - 0, 2, 39,116, 0, 2, 39,216, 0, 2, 40, 24, 0, 2, 40,128, 0, 2, 40,152, 0, 2, 40,168, 0, 2, 40,184, 0, 2, 40,200, - 0, 2, 40,224, 0, 2, 40,248, 0, 2, 41, 16, 0, 2, 41, 40, 0, 2, 41, 56, 0, 2, 41,136, 0, 2, 42, 32, 0, 2, 42,204, - 0, 2, 43,204, 0, 2, 44,156, 0, 2, 45,204, 0, 2, 46,112, 0, 2, 47, 28, 0, 2, 47,156, 0, 2, 47,200, 0, 2, 48, 0, - 0, 2, 48, 28, 0, 2, 48, 84, 0, 2, 48,140, 0, 2, 48,168, 0, 2, 48,224, 0, 2, 49, 0, 0, 2, 49, 28, 0, 2, 49, 64, - 0, 2, 49,100, 0, 2, 49,128, 0, 2, 49,160, 0, 2, 49,212, 0, 2, 50, 44, 0, 2, 50,100, 0, 2, 50,128, 0, 2, 50,184, - 0, 2, 51, 16, 0, 2, 51, 68, 0, 2, 51, 96, 0, 2, 51,172, 0, 2, 51,216, 0, 2, 52, 28, 0, 2, 52, 56, 0, 2, 52, 84, - 0, 2, 52,112, 0, 2, 52,140, 0, 2, 52,192, 0, 2, 52,248, 0, 2, 53, 48, 0, 2, 53,108, 0, 2, 53,164, 0, 2, 53,228, - 0, 2, 54, 44, 0, 2, 54,120, 0, 2, 54,156, 0, 2, 54,192, 0, 2, 54,228, 0, 2, 55, 8, 0, 2, 55, 44, 0, 2, 55, 80, - 0, 2, 55,116, 0, 2, 55,152, 0, 2, 55,184, 0, 2, 55,220, 0, 2, 56, 0, 0, 2, 56, 36, 0, 2, 56, 68, 0, 2, 56,100, - 0, 2, 56,132, 0, 2, 56,168, 0, 2, 56,208, 0, 2, 56,248, 0, 2, 57, 36, 0, 2, 57, 80, 0, 2, 57,120, 0, 2, 57,168, - 0, 2, 57,212, 0, 2, 57,252, 0, 2, 58, 36, 0, 2, 58, 76, 0, 2, 58,120, 0, 2, 58,164, 0, 2, 58,204, 0, 2, 58,252, - 0, 2, 59, 40, 0, 2, 59, 80, 0, 2, 59,120, 0, 2, 59,164, 0, 2, 59,208, 0, 2, 59,248, 0, 2, 60, 32, 0, 2, 60, 76, - 0, 2, 60,120, 0, 2, 60,160, 0, 2, 60,196, 0, 2, 60,240, 0, 2, 61, 28, 0, 2, 61, 68, 0, 2, 61,108, 0, 2, 61,152, - 0, 2, 61,196, 0, 2, 61,236, 0, 2, 62, 28, 0, 2, 62, 80, 0, 2, 62,132, 0, 2, 62,184, 0, 2, 62,236, 0, 2, 63, 32, - 0, 2, 63, 84, 0, 2, 63,140, 0, 2, 63,196, 0, 2, 63,252, 0, 2, 64, 52, 0, 2, 64,104, 0, 2, 64,156, 0, 2, 64,208, - 0, 2, 65, 4, 0, 2, 65, 56, 0, 2, 65, 92, 0, 2, 65,136, 0, 2, 65,180, 0, 2, 65,224, 0, 2, 66, 8, 0, 2, 66, 48, - 0, 2, 66, 92, 0, 2, 66,136, 0, 2, 66,188, 0, 2, 66,232, 0, 2, 67, 20, 0, 2, 67, 72, 0, 2, 67,116, 0, 2, 67,160, - 0, 2, 67,212, 0, 2, 68, 0, 0, 2, 68, 44, 0, 2, 68, 96, 0, 2, 68,144, 0, 2, 68,196, 0, 2, 69, 8, 0, 2, 69, 56, - 0, 2, 69,108, 0, 2, 69,172, 0, 2, 69,224, 0, 2, 70, 16, 0, 2, 70, 80, 0, 2, 70,132, 0, 2, 70,180, 0, 2, 70,244, - 0, 2, 71, 60, 0, 2, 71,128, 0, 2, 71,220, 0, 2, 72, 16, 0, 2, 72, 72, 0, 2, 72,120, 0, 2, 72,172, 0, 2, 72,204, - 0, 2, 72,232, 0, 2, 73, 40, 0, 2, 73, 68, 0, 2, 73, 96, 0, 2, 73,124, 0, 2, 73,152, 0, 2, 73,180, 0, 2, 73,208, - 0, 2, 73,236, 0, 2, 74, 8, 0, 2, 74, 44, 0, 2, 74, 84, 0, 2, 74,120, 0, 2, 74,160, 0, 2, 74,180, 0, 2, 74,208, - 0, 2, 74,236, 0, 2, 75, 8, 0, 2, 75, 36, 0, 2, 75, 64, 0, 2, 75, 92, 0, 2, 75,120, 0, 2, 75,148, 0, 2, 75,176, - 0, 2, 75,204, 0, 2, 75,232, 0, 2, 76, 4, 0, 2, 76, 32, 0, 2, 76, 60, 0, 2, 76, 88, 0, 2, 76,108, 0, 2, 77, 32, - 0, 2, 78,168, 0, 2, 79, 80, 0, 2, 79,100, 0, 2, 79,120, 0, 2, 79,148, 0, 2, 79,168, 0, 2, 79,188, 0, 2, 79,216, - 0, 2, 79,240, 0, 2, 80, 12, 0, 2, 80, 40, 0, 2, 80, 60, 0, 2, 80, 84, 0, 2, 80,112, 0, 2, 80,140, 0, 2, 80,184, - 0, 2, 81, 12, 0, 2, 81, 36, 0, 2, 81,124, 0, 2, 81,216, 0, 2, 83, 12, 0, 2, 83,148, 0, 2, 84, 28, 0, 2, 85,188, - 0, 2, 85,216, 0, 2, 86, 4, 0, 2, 86, 32, 0, 2, 86, 76, 0, 2, 86,104, 0, 2, 86,148, 0, 2, 86,180, 0, 2, 86,228, - 0, 2, 87, 0, 0, 2, 87, 40, 0, 2, 87, 68, 0, 2, 87,112, 0, 2, 87,140, 0, 2, 87,184, 0, 2, 87,212, 0, 2, 88, 0, - 0, 2, 88, 28, 0, 2, 88, 68, 0, 2, 88, 96, 0, 2, 88,140, 0, 2, 88,168, 0, 2, 88,208, 0, 2, 88,236, 0, 2, 89, 24, - 0, 2, 89, 52, 0, 2, 89, 92, 0, 2, 89,120, 0, 2, 89,160, 0, 2, 89,192, 0, 2, 89,244, 0, 2, 90, 56, 0, 2, 90,196, - 0, 2, 91, 24, 0, 2, 91,124, 0, 2, 92,116, 0, 2, 93, 40, 0, 2, 93,220, 0, 2, 94, 20, 0, 2, 94,104, 0, 2, 94,188, - 0, 2, 95, 20, 0, 2, 95,108, 0, 2, 95,208, 0, 2, 96, 32, 0, 2, 96, 72, 0, 2, 96,112, 0, 2, 96,176, 0, 2, 97, 36, - 0, 2, 97,116, 0, 2, 97,200, 0, 2, 97,248, 0, 2, 98, 36, 0, 2, 98, 80, 0, 2, 98,124, 0, 2, 98,192, 0, 2, 99, 4, - 0, 2, 99, 32, 0, 2, 99, 60, 0, 2, 99, 84, 0, 2, 99,108, 0, 2, 99,184, 0, 2, 99,228, 0, 2,100, 16, 0, 2,100, 56, - 0, 2,100, 96, 0, 2,100,156, 0, 2,100,232, 0, 2,101, 20, 0, 2,101, 60, 0, 2,101,160, 0, 2,101,224, 0, 2,102, 28, - 0, 2,102, 92, 0, 2,102,156, 0, 2,103, 16, 0, 2,103,132, 0, 2,103,252, 0, 2,104,116, 0, 2,104,156, 0, 2,104,196, - 0, 2,104,236, 0, 2,105, 24, 0, 2,105, 52, 0, 2,105, 96, 0, 2,105,124, 0, 2,105,164, 0, 2,106,148, 0, 2,107, 0, - 0, 2,107,180, 0, 2,111,192, 0, 2,114,128, 0, 2,114,180, 0, 2,115, 16, 0, 2,115, 96, 0, 2,115,192, 0, 2,116, 72, - 0, 2,117, 16, 0, 2,117,216, 0, 2,118, 60, 0, 2,118,216, 0, 2,121, 12, 0, 2,123,176, 0, 2,123,232, 0, 2,124, 96, - 0, 2,124,212, 0, 2,125, 44, 0, 2,126,132, 0, 2,128, 28, 0, 2,128,100, 0, 2,128,152, 0, 2,129,100, 0, 2,130, 40, - 0, 2,130,192, 0, 2,131, 88, 0, 2,132, 28, 0, 2,132,228, 0, 2,133,168, 0, 2,134,108, 0, 2,137,220, 0, 2,138, 88, - 0, 2,139,112, 0, 2,140,196, 0, 2,143,236, 0, 2,144,104, 0, 2,144,240, 0, 2,145, 96, 0, 2,145,196, 0, 2,146, 72, - 0, 2,146,216, 0, 2,148, 24, 0, 2,149, 60, 0, 2,149,212, 0, 2,150, 96, 0, 2,151, 8, 0, 2,152,120, 0, 2,153, 52, - 0, 2,153,244, 0, 2,154,136, 0, 2,155,160, 0, 2,156, 52, 0, 2,156,200, 0, 2,157,136, 0, 2,158, 8, 0, 2,158,132, - 0, 2,159, 16, 0, 2,159,112, 0, 2,159,212, 0, 2,160,116, 0, 2,161, 32, 0, 2,161,132, 0, 2,161,240, 0, 2,162,128, - 0, 2,162,224, 0, 2,163,152, 0, 2,164, 84, 0, 2,165, 24, 0, 2,165,136, 0, 2,166, 40, 0, 2,166,112, 0, 2,167, 8, - 0, 2,167,204, 0, 2,168, 72, 0, 2,169,112, 0, 2,171,148, 0, 2,172, 44, 0, 2,173, 72, 0, 2,174, 92, 0, 2,175,108, - 0, 2,176,248, 0, 2,177,240, 0, 2,178,112, 0, 2,179, 52, 0, 2,179,252, 0, 2,180,140, 0, 2,180,252, 0, 2,181,156, - 0, 2,181,228, 0, 2,182,132, 0, 2,183, 72, 0, 2,183,156, 0, 2,183,204, 0, 2,184,236, 0, 2,185,208, 0, 2,186, 16, - 0, 2,186,108, 0, 2,186,208, 0, 2,187, 48, 0, 2,187,128, 0, 2,187,208, 0, 2,188,100, 0, 2,189, 36, 0, 2,190, 8, - 0, 2,192, 0, 0, 2,192,228, 0, 2,193,244, 0, 2,195, 28, 0, 2,196, 8, 0, 2,197, 24, 0, 2,198, 56, 0, 2,199, 20, - 0, 2,199,212, 0, 2,200,216, 0, 2,202, 8, 0, 2,203, 84, 0, 2,204, 72, 0, 2,204,224, 0, 2,205, 80, 0, 2,206, 8, - 0, 2,207, 0, 0, 2,208, 64, 0, 2,209,196, 0, 2,211,140, 0, 2,212, 32, 0, 2,212,216, 0, 2,213, 64, 0, 2,213,204, - 0, 2,213,232, 0, 2,214, 16, 0, 2,214,112, 0, 2,214,176, 0, 2,215, 36, 0, 2,216, 24, 0, 2,217, 76, 0, 2,218, 96, - 0, 2,219, 8, 0, 2,219,132, 0, 2,220, 36, 0, 2,221, 36, 0, 2,222,240, 0, 2,225,132, 0, 2,227, 48, 0, 2,227,180, - 0, 2,228, 0, 0, 2,228, 40, 0, 2,228,112, 0, 2,230, 52, 0, 2,231,208, 0, 2,233,140, 0, 2,237, 68, 0, 2,238,236, - 0, 2,240,144, 0, 2,241, 24, 0, 2,241,192, 0, 2,244,100, 0, 2,246, 0, 0, 2,247, 48, 0, 2,248, 44, 0, 2,249, 88, - 0, 2,250, 56, 0, 2,250,188, 0, 2,251, 32, 0, 2,251,132, 0, 2,251,200, 0, 2,252, 12, 0, 2,252,212, 0, 2,253,200, - 0, 2,254, 72, 0, 2,254,124, 0, 2,254,184, 0, 2,254,252, 0, 2,255, 44, 0, 2,255,140, 0, 2,255,252, 0, 3, 0,228, - 0, 3, 1,116, 0, 3, 2, 48, 0, 3, 3,176, 0, 3, 5,120, 0, 3, 8,208, 0, 3, 9, 56, 0, 3, 9,252, 0, 3, 10, 96, - 0, 3, 10,244, 0, 3, 11,132, 0, 3, 12, 64, 0, 3, 12,192, 0, 3, 13, 52, 0, 3, 13,172, 0, 3, 14, 20, 0, 3, 14, 96, - 0, 3, 14,192, 0, 3, 15, 36, 0, 3, 15,124, 0, 3, 16, 44, 0, 3, 16,112, 0, 3, 16,192, 0, 3, 17, 16, 0, 3, 17,120, - 0, 3, 18, 36, 0, 3, 19,216, 0, 3, 21,216, 0, 3, 23, 24, 0, 3, 25, 72, 0, 3, 26,228, 0, 3, 29,176, 0, 3, 35,172, - 0, 3, 37, 8, 0, 3, 39, 88, 0, 3, 40, 24, 0, 3, 40,208, 0, 3, 41,148, 0, 3, 43, 20, 0, 3, 44,144, 0, 3, 45,228, - 0, 3, 47, 52, 0, 3, 48,120, 0, 3, 48,240, 0, 3, 49, 36, 0, 3, 49, 88, 0, 3, 49,136, 0, 3, 49,184, 0, 3, 50, 16, - 0, 3, 50, 44, 0, 3, 50, 72, 0, 3, 50,100, 0, 3, 50,136, 0, 3, 50,172, 0, 3, 50,200, 0, 3, 50,228, 0, 3, 51,220, - 0, 3, 52,136, 0, 3, 53, 92, 0, 3, 53,216, 0, 3, 54, 88, 0, 3, 55,120, 0, 3, 56, 92, 0, 3, 56,200, 0, 3, 57, 52, - 0, 3, 57,112, 0, 3, 57,176, 0, 3, 57,216, 0, 3, 58, 0, 0, 3, 58, 40, 0, 3, 58, 80, 0, 3, 58,120, 0, 3, 58,160, - 0, 3, 58,200, 0, 3, 58,240, 0, 3, 59, 84, 0, 3, 59,196, 0, 3, 59,244, 0, 3, 60, 32, 0, 3, 60, 76, 0, 3, 60,120, - 0, 3, 60,168, 0, 3, 61, 76, 0, 3, 61,116, 0, 3, 61,156, 0, 3, 61,236, 0, 3, 62, 60, 0, 3, 62,100, 0, 3, 62,148, - 0, 3, 62,196, 0, 3, 62,232, 0, 3, 63, 60, 0, 3, 63,144, 0, 3, 63,188, 0, 3, 63,232, 0, 3, 64, 44, 0, 3, 64,112, - 0, 3, 64,192, 0, 3, 65, 12, 0, 3, 65, 88, 0, 3, 65,164, 0, 3, 65,248, 0, 3, 66, 76, 0, 3, 66,192, 0, 3, 67, 92, - 0, 3, 67,180, 0, 3, 67,252, 0, 3, 68, 84, 0, 3, 68,252, 0, 3, 69,148, 0, 3, 70, 56, 0, 3, 71, 20, 0, 3, 71,176, - 0, 3, 72,220, 0, 3, 74, 16, 0, 3, 74,168, 0, 3, 74,228, 0, 3, 75, 12, 0, 3, 75, 52, 0, 3, 75, 84, 0, 3, 75,152, - 0, 3, 75,236, 0, 3, 75,252, 0, 3, 76, 40, 0, 3, 76, 84, 0, 3, 76,124, 0, 3, 76,164, 0, 3, 76,212, 0, 3, 77, 4, - 0, 3, 77, 52, 0, 3, 77,100, 0, 3, 78, 8, 0, 3, 78, 44, 0, 3, 78, 84, 0, 3, 78,212, 0, 3, 79, 80, 0, 3, 79, 96, - 0, 3, 79,216, 0, 3, 80,120, 0, 3, 81, 0, 0, 3, 81, 24, 0, 3, 81, 48, 0, 3, 81, 72, 0, 3, 81, 96, 0, 3, 81,120, - 0, 3, 81,144, 0, 3, 81,168, 0, 3, 81,192, 0, 3, 81,216, 0, 3, 81,240, 0, 3, 82, 8, 0, 3, 82, 32, 0, 3, 82, 56, - 0, 3, 82, 80, 0, 3, 82,104, 0, 3, 82,128, 0, 3, 82,152, 0, 3, 82,176, 0, 3, 82,200, 0, 3, 82,224, 0, 3, 82,248, - 0, 3, 83, 16, 0, 3, 83, 40, 0, 3, 83, 64, 0, 3, 83, 88, 0, 3, 83,112, 0, 3, 83,136, 0, 3, 83,160, 0, 3, 83,184, - 0, 3, 83,208, 0, 3, 83,232, 0, 3, 84, 0, 0, 3, 84, 24, 0, 3, 84, 48, 0, 3, 84, 72, 0, 3, 84, 96, 0, 3, 84,120, - 0, 3, 84,144, 0, 3, 84,168, 0, 3, 84,192, 0, 3, 84,216, 0, 3, 84,240, 0, 3, 85, 8, 0, 3, 85, 32, 0, 3, 85, 56, - 0, 3, 85, 80, 0, 3, 85,104, 0, 3, 85,128, 0, 3, 85,152, 0, 3, 85,176, 0, 3, 85,200, 0, 3, 85,224, 0, 3, 85,240, - 0, 3, 86,140, 0, 3, 86,156, 0, 3, 86,172, 0, 3, 86,196, 0, 3, 86,220, 0, 3, 86,244, 0, 3, 87, 12, 0, 3, 87, 28, - 0, 3, 87,148, 0, 3, 87,164, 0, 3, 88,116, 0, 3, 88,132, 0, 3, 89, 56, 0, 3, 89,108, 0, 3, 89,176, 0, 3, 89,192, - 0, 3, 89,208, 0, 3, 89,232, 0, 3, 90, 0, 0, 3, 90, 16, 0, 3, 90, 40, 0, 3, 90, 56, 0, 3, 90,108, 0, 3, 90,124, - 0, 3, 90,140, 0, 3, 90,164, 0, 3, 90,180, 0, 3, 90,204, 0, 3, 90,220, 0, 3, 90,244, 0, 3, 91, 4, 0, 3, 91, 28, - 0, 3, 91, 44, 0, 3, 91, 68, 0, 3, 91, 84, 0, 3, 91,108, 0, 3, 91,132, 0, 3, 91,156, 0, 3, 91,180, 0, 3, 91,204, - 0, 3, 91,228, 0, 3, 91,252, 0, 3, 92, 20, 0, 3, 92, 44, 0, 3, 92, 68, 0, 3, 92, 92, 0, 3, 92,116, 0, 3, 92,132, - 0, 3, 92,184, 0, 3, 92,208, 0, 3, 92,232, 0, 3, 93, 0, 0, 3, 93, 24, 0, 3, 93, 48, 0, 3, 93, 72, 0, 3, 93, 96, - 0, 3, 93,120, 0, 3, 93,144, 0, 3, 93,168, 0, 3, 93,192, 0, 3, 93,216, 0, 3, 93,240, 0, 3, 94, 8, 0, 3, 94, 32, - 0, 3, 94, 56, 0, 3, 94, 80, 0, 3, 94,104, 0, 3, 94,120, 0, 3, 95, 16, 0, 3, 95,120, 0, 3, 95,252, 0, 3, 96, 20, - 0, 3, 96, 44, 0, 3, 96, 68, 0, 3, 96, 92, 0, 3, 96,108, 0, 3, 96,212, 0, 3, 96,236, 0, 3, 97, 4, 0, 3, 97, 20, - 0, 3, 97,108, 0, 3, 97,132, 0, 3, 97,156, 0, 3, 97,172, 0, 3, 98,128, 0, 3, 99, 16, 0, 3, 99,176, 0, 3, 99,200, - 0, 3, 99,224, 0, 3, 99,248, 0, 3,100, 16, 0, 3,100, 32, 0, 3,100,240, 0, 3,101,116, 0, 3,102, 16, 0, 3,102, 40, - 0, 3,102, 64, 0, 3,102, 88, 0, 3,102,112, 0, 3,102,128, 0, 3,102,248, 0, 3,103, 92, 0, 3,103,212, 0, 3,103,236, - 0, 3,104, 4, 0, 3,104, 28, 0, 3,104, 52, 0, 3,104, 68, 0, 3,104,240, 0, 3,105, 72, 0, 3,105,216, 0, 3,105,240, - 0, 3,106, 8, 0, 3,106, 32, 0, 3,106, 56, 0, 3,106, 80, 0, 3,106,104, 0, 3,106,128, 0, 3,106,152, 0, 3,106,176, - 0, 3,106,200, 0, 3,106,224, 0, 3,106,248, 0, 3,107, 8, 0, 3,107,212, 0, 3,108, 64, 0, 3,108,200, 0, 3,108,216, - 0, 3,109, 76, 0, 3,109,132, 0, 3,109,204, 0, 3,109,220, 0, 3,110,120, 0, 3,110,252, 0, 3,111,140, 0, 3,111,164, - 0, 3,111,188, 0, 3,111,212, 0, 3,111,236, 0, 3,111,252, 0, 3,112,116, 0, 3,113, 48, 0, 3,113,192, 0, 3,113,208, - 0, 3,114,100, 0, 3,114,116, 0, 3,115, 24, 0, 3,115, 48, 0, 3,115, 72, 0, 3,115, 96, 0, 3,115,120, 0, 3,115,144, - 0, 3,115,168, 0, 3,115,192, 0, 3,115,216, 0, 3,115,240, 0, 3,116, 8, 0, 3,116, 92, 0, 3,116,196, 0, 3,116,196, - 0, 3,116,196, 0, 3,116,196, 0, 3,116,196, 0, 3,116,196, 0, 3,117, 84, 0, 3,117,100, 0, 3,117,116, 0, 3,117,132, - 0, 3,117,148, 0, 3,117,164, 0, 3,117,180, 0, 3,117,196, 0, 3,117,212, 0, 3,117,228, 0, 3,117,244, 0, 3,118, 4, - 0, 3,118, 20, 0, 3,118, 36, 0, 3,118, 52, 0, 3,118, 68, 0, 3,118, 84, 0, 3,118,100, 0, 3,118,116, 0, 3,118,132, - 0, 3,118,148, 0, 3,118,164, 0, 3,118,180, 0, 3,118,196, 0, 3,118,212, 0, 3,118,228, 0, 3,118,244, 0, 3,119, 4, - 0, 3,119, 20, 0, 3,119, 36, 0, 3,119, 52, 0, 3,119, 68, 0, 3,119, 84, 0, 3,119,100, 0, 3,119,116, 0, 3,119,132, - 0, 3,119,148, 0, 3,119,164, 0, 3,119,180, 0, 3,119,196, 0, 3,119,212, 0, 3,119,228, 0, 3,119,244, 0, 3,120, 4, - 0, 3,120, 20, 0, 3,120, 36, 0, 3,120, 52, 0, 3,120, 68, 0, 3,120, 84, 0, 3,120,100, 0, 3,120,116, 0, 3,120,132, - 0, 3,120,148, 0, 3,120,164, 0, 3,120,180, 0, 3,120,196, 0, 3,120,212, 0, 3,120,228, 0, 3,120,244, 0, 3,121, 4, - 0, 3,121, 20, 0, 3,121, 36, 0, 3,121, 52, 0, 3,121, 96, 0, 3,121,216, 0, 3,122, 96, 0, 3,123,140, 0, 3,124, 20, - 0, 3,124,148, 0, 3,125, 36, 0, 3,125, 92, 0, 3,125,144, 0, 3,125,228, 0, 3,126, 16, 0, 3,126, 84, 0, 3,126,128, - 0, 3,127, 4, 0, 3,127, 48, 0, 3,127, 76, 0, 3,127,104, 0, 3,127,132, 0, 3,127,204, 0, 3,127,244, 0, 3,128, 12, - 0, 3,128, 48, 0, 3,128, 96, 0, 3,128,212, 0, 3,129,112, 0, 3,130, 12, 0, 3,130,208, 0, 3,131,136, 0, 3,131,184, - 0, 3,131,220, 0, 3,132, 20, 0, 3,132, 52, 0, 3,132, 84, 0, 3,132,164, 0, 3,133, 48, 0, 1, 0, 0, 11,210, 2, 12, - 0, 43, 0,107, 0, 6, 0, 2, 0, 16, 0, 64, 0, 8, 0, 0, 5, 87, 7, 27, 0, 5, 0, 4, 0, 0, 0, 22, 1, 14, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 95, 0,192, 0, 1, 0, 0, 0, 0, 0, 1, 0, 16, 1, 66, 0, 1, 0, 0, 0, 0, 0, 2, 0, 4, - 1, 93, 0, 1, 0, 0, 0, 0, 0, 3, 0, 16, 1,132, 0, 1, 0, 0, 0, 0, 0, 4, 0, 16, 1,183, 0, 1, 0, 0, 0, 0, - 0, 5, 0, 12, 1,226, 0, 1, 0, 0, 0, 0, 0, 6, 0, 14, 2, 13, 0, 1, 0, 0, 0, 0, 0, 8, 0, 17, 2, 64, 0, 1, - 0, 0, 0, 0, 0, 11, 0, 29, 2,142, 0, 1, 0, 0, 0, 0, 0, 13, 9,147, 21,212, 0, 1, 0, 0, 0, 0, 0, 14, 0, 52, - 31,210, 0, 3, 0, 1, 4, 9, 0, 0, 0,190, 0, 0, 0, 3, 0, 1, 4, 9, 0, 1, 0, 32, 1, 32, 0, 3, 0, 1, 4, 9, - 0, 2, 0, 8, 1, 83, 0, 3, 0, 1, 4, 9, 0, 3, 0, 32, 1, 98, 0, 3, 0, 1, 4, 9, 0, 4, 0, 32, 1,149, 0, 3, - 0, 1, 4, 9, 0, 5, 0, 24, 1,200, 0, 3, 0, 1, 4, 9, 0, 6, 0, 28, 1,239, 0, 3, 0, 1, 4, 9, 0, 8, 0, 34, - 2, 28, 0, 3, 0, 1, 4, 9, 0, 11, 0, 58, 2, 82, 0, 3, 0, 1, 4, 9, 0, 13, 19, 38, 2,172, 0, 3, 0, 1, 4, 9, - 0, 14, 0,104, 31,104, 0, 67, 0,111, 0,112, 0,121, 0,114, 0,105, 0,103, 0,104, 0,116, 0, 32, 0, 40, 0, 99, 0, 41, - 0, 32, 0, 50, 0, 48, 0, 48, 0, 51, 0, 32, 0, 98, 0,121, 0, 32, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, - 0, 97, 0,109, 0, 44, 0, 32, 0, 73, 0,110, 0, 99, 0, 46, 0, 32, 0, 65, 0,108, 0,108, 0, 32, 0, 82, 0,105, 0,103, - 0,104, 0,116, 0,115, 0, 32, 0, 82, 0,101, 0,115, 0,101, 0,114, 0,118, 0,101, 0,100, 0, 46, 0, 10, 0, 68, 0,101, - 0,106, 0, 97, 0, 86, 0,117, 0, 32, 0, 99, 0,104, 0, 97, 0,110, 0,103, 0,101, 0,115, 0, 32, 0, 97, 0,114, 0,101, - 0, 32, 0,105, 0,110, 0, 32, 0,112, 0,117, 0, 98, 0,108, 0,105, 0, 99, 0, 32, 0,100, 0,111, 0,109, 0, 97, 0,105, - 0,110, 0, 10, 0, 0, 67,111,112,121,114,105,103,104,116, 32, 40, 99, 41, 32, 50, 48, 48, 51, 32, 98,121, 32, 66,105,116,115, -116,114,101, 97,109, 44, 32, 73,110, 99, 46, 32, 65,108,108, 32, 82,105,103,104,116,115, 32, 82,101,115,101,114,118,101,100, 46, - 10, 68,101,106, 97, 86,117, 32, 99,104, 97,110,103,101,115, 32, 97,114,101, 32,105,110, 32,112,117, 98,108,105, 99, 32,100,111, -109, 97,105,110, 10, 0, 0, 68, 0,101, 0,106, 0, 97, 0, 86, 0,117, 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 32, 0, 77, - 0,111, 0,110, 0,111, 0, 0, 68,101,106, 97, 86,117, 32, 83, 97,110,115, 32, 77,111,110,111, 0, 0, 66, 0,111, 0,111, 0, -107, 0, 0, 66,111,111,107, 0, 0, 68, 0,101, 0,106, 0, 97, 0, 86, 0,117, 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 32, - 0, 77, 0,111, 0,110, 0,111, 0, 0, 68,101,106, 97, 86,117, 32, 83, 97,110,115, 32, 77,111,110,111, 0, 0, 68, 0,101, 0, -106, 0, 97, 0, 86, 0,117, 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 32, 0, 77, 0,111, 0,110, 0,111, 0, 0, 68,101,106, - 97, 86,117, 32, 83, 97,110,115, 32, 77,111,110,111, 0, 0, 86, 0,101, 0,114, 0,115, 0,105, 0,111, 0,110, 0, 32, 0, 50, - 0, 46, 0, 50, 0, 53, 0, 0, 86,101,114,115,105,111,110, 32, 50, 46, 50, 53, 0, 0, 68, 0,101, 0,106, 0, 97, 0, 86, 0, -117, 0, 83, 0, 97, 0,110, 0,115, 0, 77, 0,111, 0,110, 0,111, 0, 0, 68,101,106, 97, 86,117, 83, 97,110,115, 77,111,110, -111, 0, 0, 68, 0,101, 0,106, 0, 97, 0, 86, 0,117, 0, 32, 0,102, 0,111, 0,110, 0,116, 0,115, 0, 32, 0,116, 0,101, - 0, 97, 0,109, 0, 0, 68,101,106, 97, 86,117, 32,102,111,110,116,115, 32,116,101, 97,109, 0, 0,104, 0,116, 0,116, 0,112, - 0, 58, 0, 47, 0, 47, 0,100, 0,101, 0,106, 0, 97, 0,118, 0,117, 0, 46, 0,115, 0,111, 0,117, 0,114, 0, 99, 0,101, - 0,102, 0,111, 0,114, 0,103, 0,101, 0, 46, 0,110, 0,101, 0,116, 0, 0,104,116,116,112, 58, 47, 47,100,101,106, 97,118, -117, 46,115,111,117,114, 99,101,102,111,114,103,101, 46,110,101,116, 0, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 32, 0, 97, - 0,114, 0,101, 0, 32, 0, 40, 0, 99, 0, 41, 0, 32, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, - 0, 32, 0, 40, 0,115, 0,101, 0,101, 0, 32, 0, 98, 0,101, 0,108, 0,111, 0,119, 0, 41, 0, 46, 0, 32, 0, 68, 0,101, - 0,106, 0, 97, 0, 86, 0,117, 0, 32, 0, 99, 0,104, 0, 97, 0,110, 0,103, 0,101, 0,115, 0, 32, 0, 97, 0,114, 0,101, - 0, 32, 0,105, 0,110, 0, 32, 0,112, 0,117, 0, 98, 0,108, 0,105, 0, 99, 0, 32, 0,100, 0,111, 0,109, 0, 97, 0,105, - 0,110, 0, 46, 0, 10, 0, 10, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 32, 0, 86, 0,101, - 0,114, 0, 97, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 32, 0, 67, 0,111, 0,112, 0,121, 0,114, 0,105, 0,103, - 0,104, 0,116, 0, 10, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, - 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, - 0, 45, 0, 10, 0, 10, 0, 67, 0,111, 0,112, 0,121, 0,114, 0,105, 0,103, 0,104, 0,116, 0, 32, 0, 40, 0, 99, 0, 41, - 0, 32, 0, 50, 0, 48, 0, 48, 0, 51, 0, 32, 0, 98, 0,121, 0, 32, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, - 0, 97, 0,109, 0, 44, 0, 32, 0, 73, 0,110, 0, 99, 0, 46, 0, 32, 0, 65, 0,108, 0,108, 0, 32, 0, 82, 0,105, 0,103, - 0,104, 0,116, 0,115, 0, 32, 0, 82, 0,101, 0,115, 0,101, 0,114, 0,118, 0,101, 0,100, 0, 46, 0, 32, 0, 66, 0,105, - 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 32, 0, 86, 0,101, 0,114, 0, 97, 0, 32, 0,105, 0,115, 0, 32, - 0, 97, 0, 32, 0,116, 0,114, 0, 97, 0,100, 0,101, 0,109, 0, 97, 0,114, 0,107, 0, 32, 0,111, 0,102, 0, 32, 0, 66, - 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 44, 0, 32, 0, 73, 0,110, 0, 99, 0, 46, 0, 10, 0, 10, - 0, 80, 0,101, 0,114, 0,109, 0,105, 0,115, 0,115, 0,105, 0,111, 0,110, 0, 32, 0,105, 0,115, 0, 32, 0,104, 0,101, - 0,114, 0,101, 0, 98, 0,121, 0, 32, 0,103, 0,114, 0, 97, 0,110, 0,116, 0,101, 0,100, 0, 44, 0, 32, 0,102, 0,114, - 0,101, 0,101, 0, 32, 0,111, 0,102, 0, 32, 0, 99, 0,104, 0, 97, 0,114, 0,103, 0,101, 0, 44, 0, 32, 0,116, 0,111, - 0, 32, 0, 97, 0,110, 0,121, 0, 32, 0,112, 0,101, 0,114, 0,115, 0,111, 0,110, 0, 32, 0,111, 0, 98, 0,116, 0, 97, - 0,105, 0,110, 0,105, 0,110, 0,103, 0, 32, 0, 97, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0, 32, 0,111, 0,102, 0, 32, - 0,116, 0,104, 0,101, 0, 32, 0,102, 0,111, 0,110, 0,116, 0,115, 0, 32, 0, 97, 0, 99, 0, 99, 0,111, 0,109, 0,112, - 0, 97, 0,110, 0,121, 0,105, 0,110, 0,103, 0, 32, 0,116, 0,104, 0,105, 0,115, 0, 32, 0,108, 0,105, 0, 99, 0,101, - 0,110, 0,115, 0,101, 0, 32, 0, 40, 0, 34, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 34, 0, 41, 0, 32, 0, 97, 0,110, - 0,100, 0, 32, 0, 97, 0,115, 0,115, 0,111, 0, 99, 0,105, 0, 97, 0,116, 0,101, 0,100, 0, 32, 0,100, 0,111, 0, 99, - 0,117, 0,109, 0,101, 0,110, 0,116, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 32, 0,102, 0,105, 0,108, 0,101, 0,115, - 0, 32, 0, 40, 0,116, 0,104, 0,101, 0, 32, 0, 34, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, - 0,119, 0, 97, 0,114, 0,101, 0, 34, 0, 41, 0, 44, 0, 32, 0,116, 0,111, 0, 32, 0,114, 0,101, 0,112, 0,114, 0,111, - 0,100, 0,117, 0, 99, 0,101, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,100, 0,105, 0,115, 0,116, 0,114, 0,105, 0, 98, - 0,117, 0,116, 0,101, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, - 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 44, 0, 32, 0,105, 0,110, 0, 99, 0,108, 0,117, 0,100, 0,105, 0,110, 0,103, - 0, 32, 0,119, 0,105, 0,116, 0,104, 0,111, 0,117, 0,116, 0, 32, 0,108, 0,105, 0,109, 0,105, 0,116, 0, 97, 0,116, - 0,105, 0,111, 0,110, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,114, 0,105, 0,103, 0,104, 0,116, 0,115, 0, 32, 0,116, - 0,111, 0, 32, 0,117, 0,115, 0,101, 0, 44, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0, 44, 0, 32, 0,109, 0,101, 0,114, - 0,103, 0,101, 0, 44, 0, 32, 0,112, 0,117, 0, 98, 0,108, 0,105, 0,115, 0,104, 0, 44, 0, 32, 0,100, 0,105, 0,115, - 0,116, 0,114, 0,105, 0, 98, 0,117, 0,116, 0,101, 0, 44, 0, 32, 0, 97, 0,110, 0,100, 0, 47, 0,111, 0,114, 0, 32, - 0,115, 0,101, 0,108, 0,108, 0, 32, 0, 99, 0,111, 0,112, 0,105, 0,101, 0,115, 0, 32, 0,111, 0,102, 0, 32, 0,116, - 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, - 0, 44, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,116, 0,111, 0, 32, 0,112, 0,101, 0,114, 0,109, 0,105, 0,116, 0, 32, - 0,112, 0,101, 0,114, 0,115, 0,111, 0,110, 0,115, 0, 32, 0,116, 0,111, 0, 32, 0,119, 0,104, 0,111, 0,109, 0, 32, - 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, - 0,101, 0, 32, 0,105, 0,115, 0, 32, 0,102, 0,117, 0,114, 0,110, 0,105, 0,115, 0,104, 0,101, 0,100, 0, 32, 0,116, - 0,111, 0, 32, 0,100, 0,111, 0, 32, 0,115, 0,111, 0, 44, 0, 32, 0,115, 0,117, 0, 98, 0,106, 0,101, 0, 99, 0,116, - 0, 32, 0,116, 0,111, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,102, 0,111, 0,108, 0,108, 0,111, 0,119, 0,105, 0,110, - 0,103, 0, 32, 0, 99, 0,111, 0,110, 0,100, 0,105, 0,116, 0,105, 0,111, 0,110, 0,115, 0, 58, 0, 10, 0, 10, 0, 84, - 0,104, 0,101, 0, 32, 0, 97, 0, 98, 0,111, 0,118, 0,101, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0,114, 0,105, 0,103, - 0,104, 0,116, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,116, 0,114, 0, 97, 0,100, 0,101, 0,109, 0, 97, 0,114, 0,107, - 0, 32, 0,110, 0,111, 0,116, 0,105, 0, 99, 0,101, 0,115, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,116, 0,104, 0,105, - 0,115, 0, 32, 0,112, 0,101, 0,114, 0,109, 0,105, 0,115, 0,115, 0,105, 0,111, 0,110, 0, 32, 0,110, 0,111, 0,116, - 0,105, 0, 99, 0,101, 0, 32, 0,115, 0,104, 0, 97, 0,108, 0,108, 0, 32, 0, 98, 0,101, 0, 32, 0,105, 0,110, 0, 99, - 0,108, 0,117, 0,100, 0,101, 0,100, 0, 32, 0,105, 0,110, 0, 32, 0, 97, 0,108, 0,108, 0, 32, 0, 99, 0,111, 0,112, - 0,105, 0,101, 0,115, 0, 32, 0,111, 0,102, 0, 32, 0,111, 0,110, 0,101, 0, 32, 0,111, 0,114, 0, 32, 0,109, 0,111, - 0,114, 0,101, 0, 32, 0,111, 0,102, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, - 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,116, 0,121, 0,112, 0,101, 0,102, 0, 97, 0, 99, 0,101, - 0,115, 0, 46, 0, 10, 0, 10, 0, 84, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, - 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0,109, 0,111, 0,100, - 0,105, 0,102, 0,105, 0,101, 0,100, 0, 44, 0, 32, 0, 97, 0,108, 0,116, 0,101, 0,114, 0,101, 0,100, 0, 44, 0, 32, - 0,111, 0,114, 0, 32, 0, 97, 0,100, 0,100, 0,101, 0,100, 0, 32, 0,116, 0,111, 0, 44, 0, 32, 0, 97, 0,110, 0,100, - 0, 32, 0,105, 0,110, 0, 32, 0,112, 0, 97, 0,114, 0,116, 0,105, 0, 99, 0,117, 0,108, 0, 97, 0,114, 0, 32, 0,116, - 0,104, 0,101, 0, 32, 0,100, 0,101, 0,115, 0,105, 0,103, 0,110, 0,115, 0, 32, 0,111, 0,102, 0, 32, 0,103, 0,108, - 0,121, 0,112, 0,104, 0,115, 0, 32, 0,111, 0,114, 0, 32, 0, 99, 0,104, 0, 97, 0,114, 0, 97, 0, 99, 0,116, 0,101, - 0,114, 0,115, 0, 32, 0,105, 0,110, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 32, - 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0,109, 0,111, 0,100, 0,105, 0,102, 0,105, 0,101, 0,100, 0, 32, - 0, 97, 0,110, 0,100, 0, 32, 0, 97, 0,100, 0,100, 0,105, 0,116, 0,105, 0,111, 0,110, 0, 97, 0,108, 0, 32, 0,103, - 0,108, 0,121, 0,112, 0,104, 0,115, 0, 32, 0,111, 0,114, 0, 32, 0, 32, 0,111, 0,114, 0, 32, 0, 99, 0,104, 0, 97, - 0,114, 0, 97, 0, 99, 0,116, 0,101, 0,114, 0,115, 0, 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0, 97, - 0,100, 0,100, 0,101, 0,100, 0, 32, 0,116, 0,111, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, - 0,115, 0, 44, 0, 32, 0,111, 0,110, 0,108, 0,121, 0, 32, 0,105, 0,102, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,102, - 0,111, 0,110, 0,116, 0,115, 0, 32, 0, 97, 0,114, 0,101, 0, 32, 0,114, 0,101, 0,110, 0, 97, 0,109, 0,101, 0,100, - 0, 32, 0,116, 0,111, 0, 32, 0,110, 0, 97, 0,109, 0,101, 0,115, 0, 32, 0,110, 0,111, 0,116, 0, 32, 0, 99, 0,111, - 0,110, 0,116, 0, 97, 0,105, 0,110, 0,105, 0,110, 0,103, 0, 32, 0,101, 0,105, 0,116, 0,104, 0,101, 0,114, 0, 32, - 0,116, 0,104, 0,101, 0, 32, 0,119, 0,111, 0,114, 0,100, 0,115, 0, 32, 0, 34, 0, 66, 0,105, 0,116, 0,115, 0,116, - 0,114, 0,101, 0, 97, 0,109, 0, 34, 0, 32, 0,111, 0,114, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,119, 0,111, 0,114, - 0,100, 0, 32, 0, 34, 0, 86, 0,101, 0,114, 0, 97, 0, 34, 0, 46, 0, 10, 0, 10, 0, 84, 0,104, 0,105, 0,115, 0, 32, - 0, 76, 0,105, 0, 99, 0,101, 0,110, 0,115, 0,101, 0, 32, 0, 98, 0,101, 0, 99, 0,111, 0,109, 0,101, 0,115, 0, 32, - 0,110, 0,117, 0,108, 0,108, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,118, 0,111, 0,105, 0,100, 0, 32, 0,116, 0,111, - 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,101, 0,120, 0,116, 0,101, 0,110, 0,116, 0, 32, 0, 97, 0,112, 0,112, 0,108, - 0,105, 0, 99, 0, 97, 0, 98, 0,108, 0,101, 0, 32, 0,116, 0,111, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 32, - 0,111, 0,114, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, - 0, 32, 0,116, 0,104, 0, 97, 0,116, 0, 32, 0,104, 0, 97, 0,115, 0, 32, 0, 98, 0,101, 0,101, 0,110, 0, 32, 0,109, - 0,111, 0,100, 0,105, 0,102, 0,105, 0,101, 0,100, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,105, 0,115, 0, 32, 0,100, - 0,105, 0,115, 0,116, 0,114, 0,105, 0, 98, 0,117, 0,116, 0,101, 0,100, 0, 32, 0,117, 0,110, 0,100, 0,101, 0,114, - 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 34, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 32, - 0, 86, 0,101, 0,114, 0, 97, 0, 34, 0, 32, 0,110, 0, 97, 0,109, 0,101, 0,115, 0, 46, 0, 10, 0, 10, 0, 84, 0,104, - 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, - 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0,115, 0,111, 0,108, 0,100, 0, 32, 0, 97, 0,115, 0, 32, 0,112, - 0, 97, 0,114, 0,116, 0, 32, 0,111, 0,102, 0, 32, 0, 97, 0, 32, 0,108, 0, 97, 0,114, 0,103, 0,101, 0,114, 0, 32, - 0,115, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,112, 0, 97, 0, 99, 0,107, 0, 97, 0,103, 0,101, - 0, 32, 0, 98, 0,117, 0,116, 0, 32, 0,110, 0,111, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0, 32, 0,111, 0,102, 0, 32, - 0,111, 0,110, 0,101, 0, 32, 0,111, 0,114, 0, 32, 0,109, 0,111, 0,114, 0,101, 0, 32, 0,111, 0,102, 0, 32, 0,116, - 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, - 0, 32, 0,116, 0,121, 0,112, 0,101, 0,102, 0, 97, 0, 99, 0,101, 0,115, 0, 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, - 0,101, 0, 32, 0,115, 0,111, 0,108, 0,100, 0, 32, 0, 98, 0,121, 0, 32, 0,105, 0,116, 0,115, 0,101, 0,108, 0,102, - 0, 46, 0, 10, 0, 10, 0, 84, 0, 72, 0, 69, 0, 32, 0, 70, 0, 79, 0, 78, 0, 84, 0, 32, 0, 83, 0, 79, 0, 70, 0, 84, - 0, 87, 0, 65, 0, 82, 0, 69, 0, 32, 0, 73, 0, 83, 0, 32, 0, 80, 0, 82, 0, 79, 0, 86, 0, 73, 0, 68, 0, 69, 0, 68, - 0, 32, 0, 34, 0, 65, 0, 83, 0, 32, 0, 73, 0, 83, 0, 34, 0, 44, 0, 32, 0, 87, 0, 73, 0, 84, 0, 72, 0, 79, 0, 85, - 0, 84, 0, 32, 0, 87, 0, 65, 0, 82, 0, 82, 0, 65, 0, 78, 0, 84, 0, 89, 0, 32, 0, 79, 0, 70, 0, 32, 0, 65, 0, 78, - 0, 89, 0, 32, 0, 75, 0, 73, 0, 78, 0, 68, 0, 44, 0, 32, 0, 69, 0, 88, 0, 80, 0, 82, 0, 69, 0, 83, 0, 83, 0, 32, - 0, 79, 0, 82, 0, 32, 0, 73, 0, 77, 0, 80, 0, 76, 0, 73, 0, 69, 0, 68, 0, 44, 0, 32, 0, 73, 0, 78, 0, 67, 0, 76, - 0, 85, 0, 68, 0, 73, 0, 78, 0, 71, 0, 32, 0, 66, 0, 85, 0, 84, 0, 32, 0, 78, 0, 79, 0, 84, 0, 32, 0, 76, 0, 73, - 0, 77, 0, 73, 0, 84, 0, 69, 0, 68, 0, 32, 0, 84, 0, 79, 0, 32, 0, 65, 0, 78, 0, 89, 0, 32, 0, 87, 0, 65, 0, 82, - 0, 82, 0, 65, 0, 78, 0, 84, 0, 73, 0, 69, 0, 83, 0, 32, 0, 79, 0, 70, 0, 32, 0, 77, 0, 69, 0, 82, 0, 67, 0, 72, - 0, 65, 0, 78, 0, 84, 0, 65, 0, 66, 0, 73, 0, 76, 0, 73, 0, 84, 0, 89, 0, 44, 0, 32, 0, 70, 0, 73, 0, 84, 0, 78, - 0, 69, 0, 83, 0, 83, 0, 32, 0, 70, 0, 79, 0, 82, 0, 32, 0, 65, 0, 32, 0, 80, 0, 65, 0, 82, 0, 84, 0, 73, 0, 67, - 0, 85, 0, 76, 0, 65, 0, 82, 0, 32, 0, 80, 0, 85, 0, 82, 0, 80, 0, 79, 0, 83, 0, 69, 0, 32, 0, 65, 0, 78, 0, 68, - 0, 32, 0, 78, 0, 79, 0, 78, 0, 73, 0, 78, 0, 70, 0, 82, 0, 73, 0, 78, 0, 71, 0, 69, 0, 77, 0, 69, 0, 78, 0, 84, - 0, 32, 0, 79, 0, 70, 0, 32, 0, 67, 0, 79, 0, 80, 0, 89, 0, 82, 0, 73, 0, 71, 0, 72, 0, 84, 0, 44, 0, 32, 0, 80, - 0, 65, 0, 84, 0, 69, 0, 78, 0, 84, 0, 44, 0, 32, 0, 84, 0, 82, 0, 65, 0, 68, 0, 69, 0, 77, 0, 65, 0, 82, 0, 75, - 0, 44, 0, 32, 0, 79, 0, 82, 0, 32, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 32, 0, 82, 0, 73, 0, 71, 0, 72, 0, 84, - 0, 46, 0, 32, 0, 73, 0, 78, 0, 32, 0, 78, 0, 79, 0, 32, 0, 69, 0, 86, 0, 69, 0, 78, 0, 84, 0, 32, 0, 83, 0, 72, - 0, 65, 0, 76, 0, 76, 0, 32, 0, 66, 0, 73, 0, 84, 0, 83, 0, 84, 0, 82, 0, 69, 0, 65, 0, 77, 0, 32, 0, 79, 0, 82, - 0, 32, 0, 84, 0, 72, 0, 69, 0, 32, 0, 71, 0, 78, 0, 79, 0, 77, 0, 69, 0, 32, 0, 70, 0, 79, 0, 85, 0, 78, 0, 68, - 0, 65, 0, 84, 0, 73, 0, 79, 0, 78, 0, 32, 0, 66, 0, 69, 0, 32, 0, 76, 0, 73, 0, 65, 0, 66, 0, 76, 0, 69, 0, 32, - 0, 70, 0, 79, 0, 82, 0, 32, 0, 65, 0, 78, 0, 89, 0, 32, 0, 67, 0, 76, 0, 65, 0, 73, 0, 77, 0, 44, 0, 32, 0, 68, - 0, 65, 0, 77, 0, 65, 0, 71, 0, 69, 0, 83, 0, 32, 0, 79, 0, 82, 0, 32, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 32, - 0, 76, 0, 73, 0, 65, 0, 66, 0, 73, 0, 76, 0, 73, 0, 84, 0, 89, 0, 44, 0, 32, 0, 73, 0, 78, 0, 67, 0, 76, 0, 85, - 0, 68, 0, 73, 0, 78, 0, 71, 0, 32, 0, 65, 0, 78, 0, 89, 0, 32, 0, 71, 0, 69, 0, 78, 0, 69, 0, 82, 0, 65, 0, 76, - 0, 44, 0, 32, 0, 83, 0, 80, 0, 69, 0, 67, 0, 73, 0, 65, 0, 76, 0, 44, 0, 32, 0, 73, 0, 78, 0, 68, 0, 73, 0, 82, - 0, 69, 0, 67, 0, 84, 0, 44, 0, 32, 0, 73, 0, 78, 0, 67, 0, 73, 0, 68, 0, 69, 0, 78, 0, 84, 0, 65, 0, 76, 0, 44, - 0, 32, 0, 79, 0, 82, 0, 32, 0, 67, 0, 79, 0, 78, 0, 83, 0, 69, 0, 81, 0, 85, 0, 69, 0, 78, 0, 84, 0, 73, 0, 65, - 0, 76, 0, 32, 0, 68, 0, 65, 0, 77, 0, 65, 0, 71, 0, 69, 0, 83, 0, 44, 0, 32, 0, 87, 0, 72, 0, 69, 0, 84, 0, 72, - 0, 69, 0, 82, 0, 32, 0, 73, 0, 78, 0, 32, 0, 65, 0, 78, 0, 32, 0, 65, 0, 67, 0, 84, 0, 73, 0, 79, 0, 78, 0, 32, - 0, 79, 0, 70, 0, 32, 0, 67, 0, 79, 0, 78, 0, 84, 0, 82, 0, 65, 0, 67, 0, 84, 0, 44, 0, 32, 0, 84, 0, 79, 0, 82, - 0, 84, 0, 32, 0, 79, 0, 82, 0, 32, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 87, 0, 73, 0, 83, 0, 69, 0, 44, 0, 32, - 0, 65, 0, 82, 0, 73, 0, 83, 0, 73, 0, 78, 0, 71, 0, 32, 0, 70, 0, 82, 0, 79, 0, 77, 0, 44, 0, 32, 0, 79, 0, 85, - 0, 84, 0, 32, 0, 79, 0, 70, 0, 32, 0, 84, 0, 72, 0, 69, 0, 32, 0, 85, 0, 83, 0, 69, 0, 32, 0, 79, 0, 82, 0, 32, - 0, 73, 0, 78, 0, 65, 0, 66, 0, 73, 0, 76, 0, 73, 0, 84, 0, 89, 0, 32, 0, 84, 0, 79, 0, 32, 0, 85, 0, 83, 0, 69, - 0, 32, 0, 84, 0, 72, 0, 69, 0, 32, 0, 70, 0, 79, 0, 78, 0, 84, 0, 32, 0, 83, 0, 79, 0, 70, 0, 84, 0, 87, 0, 65, - 0, 82, 0, 69, 0, 32, 0, 79, 0, 82, 0, 32, 0, 70, 0, 82, 0, 79, 0, 77, 0, 32, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, - 0, 32, 0, 68, 0, 69, 0, 65, 0, 76, 0, 73, 0, 78, 0, 71, 0, 83, 0, 32, 0, 73, 0, 78, 0, 32, 0, 84, 0, 72, 0, 69, - 0, 32, 0, 70, 0, 79, 0, 78, 0, 84, 0, 32, 0, 83, 0, 79, 0, 70, 0, 84, 0, 87, 0, 65, 0, 82, 0, 69, 0, 46, 0, 10, - 0, 10, 0, 69, 0,120, 0, 99, 0,101, 0,112, 0,116, 0, 32, 0, 97, 0,115, 0, 32, 0, 99, 0,111, 0,110, 0,116, 0, 97, - 0,105, 0,110, 0,101, 0,100, 0, 32, 0,105, 0,110, 0, 32, 0,116, 0,104, 0,105, 0,115, 0, 32, 0,110, 0,111, 0,116, - 0,105, 0, 99, 0,101, 0, 44, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,110, 0, 97, 0,109, 0,101, 0,115, 0, 32, 0,111, - 0,102, 0, 32, 0, 71, 0,110, 0,111, 0,109, 0,101, 0, 44, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 71, 0,110, 0,111, - 0,109, 0,101, 0, 32, 0, 70, 0,111, 0,117, 0,110, 0,100, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 44, 0, 32, 0, 97, - 0,110, 0,100, 0, 32, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 32, 0, 73, 0,110, 0, 99, - 0, 46, 0, 44, 0, 32, 0,115, 0,104, 0, 97, 0,108, 0,108, 0, 32, 0,110, 0,111, 0,116, 0, 32, 0, 98, 0,101, 0, 32, - 0,117, 0,115, 0,101, 0,100, 0, 32, 0,105, 0,110, 0, 32, 0, 97, 0,100, 0,118, 0,101, 0,114, 0,116, 0,105, 0,115, - 0,105, 0,110, 0,103, 0, 32, 0,111, 0,114, 0, 32, 0,111, 0,116, 0,104, 0,101, 0,114, 0,119, 0,105, 0,115, 0,101, - 0, 32, 0,116, 0,111, 0, 32, 0,112, 0,114, 0,111, 0,109, 0,111, 0,116, 0,101, 0, 32, 0,116, 0,104, 0,101, 0, 32, - 0,115, 0, 97, 0,108, 0,101, 0, 44, 0, 32, 0,117, 0,115, 0,101, 0, 32, 0,111, 0,114, 0, 32, 0,111, 0,116, 0,104, - 0,101, 0,114, 0, 32, 0,100, 0,101, 0, 97, 0,108, 0,105, 0,110, 0,103, 0,115, 0, 32, 0,105, 0,110, 0, 32, 0,116, - 0,104, 0,105, 0,115, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, - 0,101, 0, 32, 0,119, 0,105, 0,116, 0,104, 0,111, 0,117, 0,116, 0, 32, 0,112, 0,114, 0,105, 0,111, 0,114, 0, 32, - 0,119, 0,114, 0,105, 0,116, 0,116, 0,101, 0,110, 0, 32, 0, 97, 0,117, 0,116, 0,104, 0,111, 0,114, 0,105, 0,122, - 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 32, 0,102, 0,114, 0,111, 0,109, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 71, - 0,110, 0,111, 0,109, 0,101, 0, 32, 0, 70, 0,111, 0,117, 0,110, 0,100, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 32, - 0,111, 0,114, 0, 32, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 32, 0, 73, 0,110, 0, 99, - 0, 46, 0, 44, 0, 32, 0,114, 0,101, 0,115, 0,112, 0,101, 0, 99, 0,116, 0,105, 0,118, 0,101, 0,108, 0,121, 0, 46, - 0, 32, 0, 70, 0,111, 0,114, 0, 32, 0,102, 0,117, 0,114, 0,116, 0,104, 0,101, 0,114, 0, 32, 0,105, 0,110, 0,102, - 0,111, 0,114, 0,109, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 44, 0, 32, 0, 99, 0,111, 0,110, 0,116, 0, 97, 0, 99, - 0,116, 0, 58, 0, 32, 0,102, 0,111, 0,110, 0,116, 0,115, 0, 32, 0, 97, 0,116, 0, 32, 0,103, 0,110, 0,111, 0,109, - 0,101, 0, 32, 0,100, 0,111, 0,116, 0, 32, 0,111, 0,114, 0,103, 0, 46, 0, 32, 0, 10, 0, 0, 70,111,110,116,115, 32, - 97,114,101, 32, 40, 99, 41, 32, 66,105,116,115,116,114,101, 97,109, 32, 40,115,101,101, 32, 98,101,108,111,119, 41, 46, 32, 68, -101,106, 97, 86,117, 32, 99,104, 97,110,103,101,115, 32, 97,114,101, 32,105,110, 32,112,117, 98,108,105, 99, 32,100,111,109, 97, -105,110, 46, 10, 10, 66,105,116,115,116,114,101, 97,109, 32, 86,101,114, 97, 32, 70,111,110,116,115, 32, 67,111,112,121,114,105, -103,104,116, 10, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 10, 10, 67,111,112,121,114,105,103,104,116, 32, 40, 99, 41, 32, 50, 48, 48, 51, 32, 98,121, 32, 66,105,116,115,116,114, -101, 97,109, 44, 32, 73,110, 99, 46, 32, 65,108,108, 32, 82,105,103,104,116,115, 32, 82,101,115,101,114,118,101,100, 46, 32, 66, -105,116,115,116,114,101, 97,109, 32, 86,101,114, 97, 32,105,115, 32, 97, 32,116,114, 97,100,101,109, 97,114,107, 32,111,102, 32, - 66,105,116,115,116,114,101, 97,109, 44, 32, 73,110, 99, 46, 10, 10, 80,101,114,109,105,115,115,105,111,110, 32,105,115, 32,104, -101,114,101, 98,121, 32,103,114, 97,110,116,101,100, 44, 32,102,114,101,101, 32,111,102, 32, 99,104, 97,114,103,101, 44, 32,116, -111, 32, 97,110,121, 32,112,101,114,115,111,110, 32,111, 98,116, 97,105,110,105,110,103, 32, 97, 32, 99,111,112,121, 32,111,102, - 32,116,104,101, 32,102,111,110,116,115, 32, 97, 99, 99,111,109,112, 97,110,121,105,110,103, 32,116,104,105,115, 32,108,105, 99, -101,110,115,101, 32, 40, 34, 70,111,110,116,115, 34, 41, 32, 97,110,100, 32, 97,115,115,111, 99,105, 97,116,101,100, 32,100,111, - 99,117,109,101,110,116, 97,116,105,111,110, 32,102,105,108,101,115, 32, 40,116,104,101, 32, 34, 70,111,110,116, 32, 83,111,102, -116,119, 97,114,101, 34, 41, 44, 32,116,111, 32,114,101,112,114,111,100,117, 99,101, 32, 97,110,100, 32,100,105,115,116,114,105, - 98,117,116,101, 32,116,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 44, 32,105,110, 99,108,117,100,105,110, -103, 32,119,105,116,104,111,117,116, 32,108,105,109,105,116, 97,116,105,111,110, 32,116,104,101, 32,114,105,103,104,116,115, 32, -116,111, 32,117,115,101, 44, 32, 99,111,112,121, 44, 32,109,101,114,103,101, 44, 32,112,117, 98,108,105,115,104, 44, 32,100,105, -115,116,114,105, 98,117,116,101, 44, 32, 97,110,100, 47,111,114, 32,115,101,108,108, 32, 99,111,112,105,101,115, 32,111,102, 32, -116,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 44, 32, 97,110,100, 32,116,111, 32,112,101,114,109,105,116, - 32,112,101,114,115,111,110,115, 32,116,111, 32,119,104,111,109, 32,116,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97, -114,101, 32,105,115, 32,102,117,114,110,105,115,104,101,100, 32,116,111, 32,100,111, 32,115,111, 44, 32,115,117, 98,106,101, 99, -116, 32,116,111, 32,116,104,101, 32,102,111,108,108,111,119,105,110,103, 32, 99,111,110,100,105,116,105,111,110,115, 58, 10, 10, - 84,104,101, 32, 97, 98,111,118,101, 32, 99,111,112,121,114,105,103,104,116, 32, 97,110,100, 32,116,114, 97,100,101,109, 97,114, -107, 32,110,111,116,105, 99,101,115, 32, 97,110,100, 32,116,104,105,115, 32,112,101,114,109,105,115,115,105,111,110, 32,110,111, -116,105, 99,101, 32,115,104, 97,108,108, 32, 98,101, 32,105,110, 99,108,117,100,101,100, 32,105,110, 32, 97,108,108, 32, 99,111, -112,105,101,115, 32,111,102, 32,111,110,101, 32,111,114, 32,109,111,114,101, 32,111,102, 32,116,104,101, 32, 70,111,110,116, 32, - 83,111,102,116,119, 97,114,101, 32,116,121,112,101,102, 97, 99,101,115, 46, 10, 10, 84,104,101, 32, 70,111,110,116, 32, 83,111, -102,116,119, 97,114,101, 32,109, 97,121, 32, 98,101, 32,109,111,100,105,102,105,101,100, 44, 32, 97,108,116,101,114,101,100, 44, - 32,111,114, 32, 97,100,100,101,100, 32,116,111, 44, 32, 97,110,100, 32,105,110, 32,112, 97,114,116,105, 99,117,108, 97,114, 32, -116,104,101, 32,100,101,115,105,103,110,115, 32,111,102, 32,103,108,121,112,104,115, 32,111,114, 32, 99,104, 97,114, 97, 99,116, -101,114,115, 32,105,110, 32,116,104,101, 32, 70,111,110,116,115, 32,109, 97,121, 32, 98,101, 32,109,111,100,105,102,105,101,100, - 32, 97,110,100, 32, 97,100,100,105,116,105,111,110, 97,108, 32,103,108,121,112,104,115, 32,111,114, 32, 32,111,114, 32, 99,104, - 97,114, 97, 99,116,101,114,115, 32,109, 97,121, 32, 98,101, 32, 97,100,100,101,100, 32,116,111, 32,116,104,101, 32, 70,111,110, -116,115, 44, 32,111,110,108,121, 32,105,102, 32,116,104,101, 32,102,111,110,116,115, 32, 97,114,101, 32,114,101,110, 97,109,101, -100, 32,116,111, 32,110, 97,109,101,115, 32,110,111,116, 32, 99,111,110,116, 97,105,110,105,110,103, 32,101,105,116,104,101,114, - 32,116,104,101, 32,119,111,114,100,115, 32, 34, 66,105,116,115,116,114,101, 97,109, 34, 32,111,114, 32,116,104,101, 32,119,111, -114,100, 32, 34, 86,101,114, 97, 34, 46, 10, 10, 84,104,105,115, 32, 76,105, 99,101,110,115,101, 32, 98,101, 99,111,109,101,115, - 32,110,117,108,108, 32, 97,110,100, 32,118,111,105,100, 32,116,111, 32,116,104,101, 32,101,120,116,101,110,116, 32, 97,112,112, -108,105, 99, 97, 98,108,101, 32,116,111, 32, 70,111,110,116,115, 32,111,114, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114, -101, 32,116,104, 97,116, 32,104, 97,115, 32, 98,101,101,110, 32,109,111,100,105,102,105,101,100, 32, 97,110,100, 32,105,115, 32, -100,105,115,116,114,105, 98,117,116,101,100, 32,117,110,100,101,114, 32,116,104,101, 32, 34, 66,105,116,115,116,114,101, 97,109, - 32, 86,101,114, 97, 34, 32,110, 97,109,101,115, 46, 10, 10, 84,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, - 32,109, 97,121, 32, 98,101, 32,115,111,108,100, 32, 97,115, 32,112, 97,114,116, 32,111,102, 32, 97, 32,108, 97,114,103,101,114, - 32,115,111,102,116,119, 97,114,101, 32,112, 97, 99,107, 97,103,101, 32, 98,117,116, 32,110,111, 32, 99,111,112,121, 32,111,102, - 32,111,110,101, 32,111,114, 32,109,111,114,101, 32,111,102, 32,116,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114, -101, 32,116,121,112,101,102, 97, 99,101,115, 32,109, 97,121, 32, 98,101, 32,115,111,108,100, 32, 98,121, 32,105,116,115,101,108, -102, 46, 10, 10, 84, 72, 69, 32, 70, 79, 78, 84, 32, 83, 79, 70, 84, 87, 65, 82, 69, 32, 73, 83, 32, 80, 82, 79, 86, 73, 68, 69, - 68, 32, 34, 65, 83, 32, 73, 83, 34, 44, 32, 87, 73, 84, 72, 79, 85, 84, 32, 87, 65, 82, 82, 65, 78, 84, 89, 32, 79, 70, 32, 65, - 78, 89, 32, 75, 73, 78, 68, 44, 32, 69, 88, 80, 82, 69, 83, 83, 32, 79, 82, 32, 73, 77, 80, 76, 73, 69, 68, 44, 32, 73, 78, 67, - 76, 85, 68, 73, 78, 71, 32, 66, 85, 84, 32, 78, 79, 84, 32, 76, 73, 77, 73, 84, 69, 68, 32, 84, 79, 32, 65, 78, 89, 32, 87, 65, - 82, 82, 65, 78, 84, 73, 69, 83, 32, 79, 70, 32, 77, 69, 82, 67, 72, 65, 78, 84, 65, 66, 73, 76, 73, 84, 89, 44, 32, 70, 73, 84, - 78, 69, 83, 83, 32, 70, 79, 82, 32, 65, 32, 80, 65, 82, 84, 73, 67, 85, 76, 65, 82, 32, 80, 85, 82, 80, 79, 83, 69, 32, 65, 78, - 68, 32, 78, 79, 78, 73, 78, 70, 82, 73, 78, 71, 69, 77, 69, 78, 84, 32, 79, 70, 32, 67, 79, 80, 89, 82, 73, 71, 72, 84, 44, 32, - 80, 65, 84, 69, 78, 84, 44, 32, 84, 82, 65, 68, 69, 77, 65, 82, 75, 44, 32, 79, 82, 32, 79, 84, 72, 69, 82, 32, 82, 73, 71, 72, - 84, 46, 32, 73, 78, 32, 78, 79, 32, 69, 86, 69, 78, 84, 32, 83, 72, 65, 76, 76, 32, 66, 73, 84, 83, 84, 82, 69, 65, 77, 32, 79, - 82, 32, 84, 72, 69, 32, 71, 78, 79, 77, 69, 32, 70, 79, 85, 78, 68, 65, 84, 73, 79, 78, 32, 66, 69, 32, 76, 73, 65, 66, 76, 69, - 32, 70, 79, 82, 32, 65, 78, 89, 32, 67, 76, 65, 73, 77, 44, 32, 68, 65, 77, 65, 71, 69, 83, 32, 79, 82, 32, 79, 84, 72, 69, 82, - 32, 76, 73, 65, 66, 73, 76, 73, 84, 89, 44, 32, 73, 78, 67, 76, 85, 68, 73, 78, 71, 32, 65, 78, 89, 32, 71, 69, 78, 69, 82, 65, - 76, 44, 32, 83, 80, 69, 67, 73, 65, 76, 44, 32, 73, 78, 68, 73, 82, 69, 67, 84, 44, 32, 73, 78, 67, 73, 68, 69, 78, 84, 65, 76, - 44, 32, 79, 82, 32, 67, 79, 78, 83, 69, 81, 85, 69, 78, 84, 73, 65, 76, 32, 68, 65, 77, 65, 71, 69, 83, 44, 32, 87, 72, 69, 84, - 72, 69, 82, 32, 73, 78, 32, 65, 78, 32, 65, 67, 84, 73, 79, 78, 32, 79, 70, 32, 67, 79, 78, 84, 82, 65, 67, 84, 44, 32, 84, 79, - 82, 84, 32, 79, 82, 32, 79, 84, 72, 69, 82, 87, 73, 83, 69, 44, 32, 65, 82, 73, 83, 73, 78, 71, 32, 70, 82, 79, 77, 44, 32, 79, - 85, 84, 32, 79, 70, 32, 84, 72, 69, 32, 85, 83, 69, 32, 79, 82, 32, 73, 78, 65, 66, 73, 76, 73, 84, 89, 32, 84, 79, 32, 85, 83, - 69, 32, 84, 72, 69, 32, 70, 79, 78, 84, 32, 83, 79, 70, 84, 87, 65, 82, 69, 32, 79, 82, 32, 70, 82, 79, 77, 32, 79, 84, 72, 69, - 82, 32, 68, 69, 65, 76, 73, 78, 71, 83, 32, 73, 78, 32, 84, 72, 69, 32, 70, 79, 78, 84, 32, 83, 79, 70, 84, 87, 65, 82, 69, 46, - 10, 10, 69,120, 99,101,112,116, 32, 97,115, 32, 99,111,110,116, 97,105,110,101,100, 32,105,110, 32,116,104,105,115, 32,110,111, -116,105, 99,101, 44, 32,116,104,101, 32,110, 97,109,101,115, 32,111,102, 32, 71,110,111,109,101, 44, 32,116,104,101, 32, 71,110, -111,109,101, 32, 70,111,117,110,100, 97,116,105,111,110, 44, 32, 97,110,100, 32, 66,105,116,115,116,114,101, 97,109, 32, 73,110, - 99, 46, 44, 32,115,104, 97,108,108, 32,110,111,116, 32, 98,101, 32,117,115,101,100, 32,105,110, 32, 97,100,118,101,114,116,105, -115,105,110,103, 32,111,114, 32,111,116,104,101,114,119,105,115,101, 32,116,111, 32,112,114,111,109,111,116,101, 32,116,104,101, - 32,115, 97,108,101, 44, 32,117,115,101, 32,111,114, 32,111,116,104,101,114, 32,100,101, 97,108,105,110,103,115, 32,105,110, 32, -116,104,105,115, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 32,119,105,116,104,111,117,116, 32,112,114,105,111,114, - 32,119,114,105,116,116,101,110, 32, 97,117,116,104,111,114,105,122, 97,116,105,111,110, 32,102,114,111,109, 32,116,104,101, 32, - 71,110,111,109,101, 32, 70,111,117,110,100, 97,116,105,111,110, 32,111,114, 32, 66,105,116,115,116,114,101, 97,109, 32, 73,110, - 99, 46, 44, 32,114,101,115,112,101, 99,116,105,118,101,108,121, 46, 32, 70,111,114, 32,102,117,114,116,104,101,114, 32,105,110, -102,111,114,109, 97,116,105,111,110, 44, 32, 99,111,110,116, 97, 99,116, 58, 32,102,111,110,116,115, 32, 97,116, 32,103,110,111, -109,101, 32,100,111,116, 32,111,114,103, 46, 32, 10, 0, 0,104, 0,116, 0,116, 0,112, 0, 58, 0, 47, 0, 47, 0,100, 0,101, - 0,106, 0, 97, 0,118, 0,117, 0, 46, 0,115, 0,111, 0,117, 0,114, 0, 99, 0,101, 0,102, 0,111, 0,114, 0,103, 0,101, - 0, 46, 0,110, 0,101, 0,116, 0, 47, 0,119, 0,105, 0,107, 0,105, 0, 47, 0,105, 0,110, 0,100, 0,101, 0,120, 0, 46, - 0,112, 0,104, 0,112, 0, 47, 0, 76, 0,105, 0, 99, 0,101, 0,110, 0,115, 0,101, 0, 0,104,116,116,112, 58, 47, 47,100, -101,106, 97,118,117, 46,115,111,117,114, 99,101,102,111,114,103,101, 46,110,101,116, 47,119,105,107,105, 47,105,110,100,101,120, - 46,112,104,112, 47, 76,105, 99,101,110,115,101, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,255,126, 0, 90, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,210, 0, 0, 0, 1, 0, 2, 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,172, 0,163, 0,132, 0,133, 0,189, - 0,150, 0,232, 0,134, 0,142, 0,139, 0,157, 0,169, 0,164, 1, 2, 0,138, 0,218, 0,131, 0,147, 0,242, 0,243, 0,141, - 0,151, 0,136, 0,195, 0,222, 0,241, 0,158, 0,170, 0,245, 0,244, 0,246, 0,162, 0,173, 0,201, 0,199, 0,174, 0, 98, - 0, 99, 0,144, 0,100, 0,203, 0,101, 0,200, 0,202, 0,207, 0,204, 0,205, 0,206, 0,233, 0,102, 0,211, 0,208, 0,209, - 0,175, 0,103, 0,240, 0,145, 0,214, 0,212, 0,213, 0,104, 0,235, 0,237, 0,137, 0,106, 0,105, 0,107, 0,109, 0,108, - 0,110, 0,160, 0,111, 0,113, 0,112, 0,114, 0,115, 0,117, 0,116, 0,118, 0,119, 0,234, 0,120, 0,122, 0,121, 0,123, - 0,125, 0,124, 0,184, 0,161, 0,127, 0,126, 0,128, 0,129, 0,236, 0,238, 0,186, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, - 1, 8, 0,253, 0,254, 1, 9, 1, 10, 1, 11, 1, 12, 0,255, 1, 0, 1, 13, 1, 14, 1, 15, 1, 1, 1, 16, 1, 17, 1, 18, - 1, 19, 1, 20, 1, 21, 1, 22, 1, 23, 1, 24, 1, 25, 1, 26, 1, 27, 0,248, 0,249, 1, 28, 1, 29, 1, 30, 1, 31, 1, 32, - 1, 33, 1, 34, 1, 35, 1, 36, 1, 37, 1, 38, 1, 39, 1, 40, 1, 41, 1, 42, 1, 43, 0,250, 0,215, 1, 44, 1, 45, 1, 46, - 1, 47, 1, 48, 1, 49, 1, 50, 1, 51, 1, 52, 1, 53, 1, 54, 1, 55, 1, 56, 1, 57, 1, 58, 0,226, 0,227, 1, 59, 1, 60, - 1, 61, 1, 62, 1, 63, 1, 64, 1, 65, 1, 66, 1, 67, 1, 68, 1, 69, 1, 70, 1, 71, 1, 72, 1, 73, 0,176, 0,177, 1, 74, - 1, 75, 1, 76, 1, 77, 1, 78, 1, 79, 1, 80, 1, 81, 1, 82, 1, 83, 0,251, 0,252, 0,228, 0,229, 1, 84, 1, 85, 1, 86, - 1, 87, 1, 88, 1, 89, 1, 90, 1, 91, 1, 92, 1, 93, 1, 94, 1, 95, 1, 96, 1, 97, 1, 98, 1, 99, 1,100, 1,101, 1,102, - 1,103, 1,104, 1,105, 0,187, 1,106, 1,107, 1,108, 1,109, 0,230, 0,231, 1,110, 1,111, 1,112, 1,113, 1,114, 1,115, - 1,116, 1,117, 1,118, 1,119, 1,120, 1,121, 1,122, 1,123, 1,124, 1,125, 1,126, 1,127, 1,128, 0,166, 1,129, 1,130, - 1,131, 1,132, 1,133, 1,134, 1,135, 1,136, 1,137, 1,138, 1,139, 1,140, 1,141, 1,142, 1,143, 1,144, 1,145, 1,146, - 1,147, 1,148, 1,149, 1,150, 1,151, 1,152, 1,153, 1,154, 1,155, 1,156, 1,157, 1,158, 1,159, 1,160, 1,161, 1,162, - 1,163, 1,164, 1,165, 1,166, 1,167, 1,168, 1,169, 1,170, 1,171, 1,172, 1,173, 1,174, 1,175, 1,176, 1,177, 1,178, - 1,179, 1,180, 1,181, 1,182, 1,183, 1,184, 1,185, 1,186, 1,187, 1,188, 1,189, 1,190, 1,191, 1,192, 1,193, 1,194, - 1,195, 1,196, 1,197, 1,198, 1,199, 1,200, 1,201, 1,202, 1,203, 1,204, 1,205, 1,206, 1,207, 1,208, 1,209, 1,210, - 1,211, 1,212, 1,213, 1,214, 1,215, 1,216, 1,217, 1,218, 1,219, 1,220, 1,221, 1,222, 1,223, 1,224, 1,225, 1,226, - 1,227, 1,228, 1,229, 1,230, 1,231, 1,232, 1,233, 1,234, 1,235, 1,236, 1,237, 1,238, 1,239, 1,240, 1,241, 1,242, - 1,243, 1,244, 1,245, 1,246, 1,247, 1,248, 1,249, 1,250, 1,251, 1,252, 1,253, 1,254, 1,255, 2, 0, 2, 1, 2, 2, - 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 12, 2, 13, 2, 14, 2, 15, 2, 16, 2, 17, 2, 18, - 2, 19, 2, 20, 2, 21, 2, 22, 2, 23, 2, 24, 2, 25, 2, 26, 2, 27, 2, 28, 2, 29, 2, 30, 2, 31, 2, 32, 2, 33, 2, 34, - 2, 35, 2, 36, 2, 37, 2, 38, 2, 39, 2, 40, 2, 41, 2, 42, 2, 43, 2, 44, 2, 45, 2, 46, 2, 47, 2, 48, 2, 49, 2, 50, - 2, 51, 2, 52, 2, 53, 2, 54, 2, 55, 2, 56, 2, 57, 2, 58, 2, 59, 2, 60, 2, 61, 2, 62, 2, 63, 2, 64, 2, 65, 2, 66, - 2, 67, 2, 68, 2, 69, 2, 70, 2, 71, 2, 72, 2, 73, 2, 74, 2, 75, 2, 76, 2, 77, 2, 78, 2, 79, 2, 80, 2, 81, 2, 82, - 2, 83, 2, 84, 2, 85, 2, 86, 2, 87, 2, 88, 2, 89, 2, 90, 2, 91, 2, 92, 2, 93, 2, 94, 2, 95, 2, 96, 2, 97, 2, 98, - 2, 99, 2,100, 2,101, 2,102, 2,103, 2,104, 2,105, 2,106, 2,107, 2,108, 2,109, 2,110, 2,111, 2,112, 2,113, 2,114, - 2,115, 2,116, 2,117, 2,118, 2,119, 2,120, 2,121, 2,122, 2,123, 2,124, 2,125, 2,126, 2,127, 2,128, 2,129, 2,130, - 2,131, 2,132, 2,133, 2,134, 2,135, 2,136, 2,137, 2,138, 0,216, 0,225, 2,139, 2,140, 2,141, 2,142, 2,143, 2,144, - 2,145, 2,146, 2,147, 0,219, 0,220, 0,221, 0,224, 0,217, 0,223, 2,148, 2,149, 2,150, 2,151, 2,152, 2,153, 2,154, - 2,155, 2,156, 2,157, 2,158, 2,159, 2,160, 2,161, 2,162, 2,163, 2,164, 2,165, 2,166, 2,167, 2,168, 2,169, 2,170, - 2,171, 2,172, 2,173, 2,174, 2,175, 2,176, 2,177, 2,178, 2,179, 2,180, 2,181, 2,182, 2,183, 2,184, 2,185, 2,186, - 2,187, 2,188, 2,189, 2,190, 2,191, 2,192, 2,193, 2,194, 2,195, 2,196, 2,197, 2,198, 2,199, 2,200, 2,201, 2,202, - 2,203, 2,204, 2,205, 2,206, 2,207, 2,208, 2,209, 2,210, 2,211, 2,212, 2,213, 2,214, 2,215, 2,216, 2,217, 2,218, - 2,219, 2,220, 2,221, 2,222, 2,223, 2,224, 2,225, 2,226, 2,227, 2,228, 2,229, 2,230, 2,231, 2,232, 2,233, 2,234, - 2,235, 2,236, 2,237, 2,238, 2,239, 2,240, 2,241, 2,242, 2,243, 2,244, 2,245, 2,246, 2,247, 2,248, 2,249, 2,250, - 2,251, 2,252, 2,253, 2,254, 2,255, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 0,159, 3, 9, - 3, 10, 3, 11, 3, 12, 3, 13, 3, 14, 3, 15, 3, 16, 3, 17, 3, 18, 3, 19, 3, 20, 3, 21, 3, 22, 3, 23, 3, 24, 3, 25, - 3, 26, 3, 27, 3, 28, 3, 29, 3, 30, 0,155, 3, 31, 3, 32, 3, 33, 3, 34, 3, 35, 3, 36, 3, 37, 3, 38, 3, 39, 3, 40, - 3, 41, 3, 42, 3, 43, 3, 44, 3, 45, 3, 46, 3, 47, 3, 48, 3, 49, 3, 50, 3, 51, 3, 52, 3, 53, 3, 54, 3, 55, 3, 56, - 3, 57, 3, 58, 3, 59, 3, 60, 3, 61, 3, 62, 3, 63, 3, 64, 3, 65, 3, 66, 3, 67, 3, 68, 3, 69, 3, 70, 3, 71, 3, 72, - 3, 73, 3, 74, 3, 75, 3, 76, 3, 77, 3, 78, 3, 79, 3, 80, 3, 81, 3, 82, 3, 83, 3, 84, 3, 85, 3, 86, 3, 87, 3, 88, - 3, 89, 3, 90, 3, 91, 3, 92, 3, 93, 3, 94, 3, 95, 3, 96, 3, 97, 3, 98, 3, 99, 3,100, 3,101, 3,102, 3,103, 3,104, - 3,105, 3,106, 3,107, 3,108, 3,109, 3,110, 3,111, 3,112, 3,113, 3,114, 3,115, 3,116, 3,117, 3,118, 3,119, 3,120, - 3,121, 3,122, 3,123, 3,124, 3,125, 3,126, 3,127, 3,128, 3,129, 3,130, 3,131, 3,132, 3,133, 3,134, 3,135, 3,136, - 3,137, 3,138, 3,139, 3,140, 3,141, 3,142, 3,143, 3,144, 3,145, 3,146, 3,147, 3,148, 3,149, 3,150, 3,151, 3,152, - 3,153, 3,154, 3,155, 3,156, 3,157, 3,158, 3,159, 3,160, 3,161, 3,162, 3,163, 3,164, 3,165, 3,166, 3,167, 3,168, - 3,169, 3,170, 3,171, 3,172, 3,173, 3,174, 3,175, 3,176, 3,177, 3,178, 3,179, 3,180, 3,181, 3,182, 3,183, 3,184, - 3,185, 3,186, 3,187, 3,188, 3,189, 3,190, 3,191, 3,192, 3,193, 3,194, 3,195, 3,196, 3,197, 3,198, 3,199, 3,200, - 3,201, 3,202, 3,203, 3,204, 3,205, 3,206, 3,207, 3,208, 3,209, 3,210, 3,211, 3,212, 3,213, 3,214, 3,215, 3,216, - 3,217, 3,218, 3,219, 3,220, 3,221, 3,222, 3,223, 3,224, 3,225, 3,226, 3,227, 3,228, 3,229, 3,230, 3,231, 3,232, - 3,233, 3,234, 3,235, 3,236, 3,237, 3,238, 3,239, 3,240, 3,241, 3,242, 3,243, 3,244, 3,245, 3,246, 3,247, 3,248, - 3,249, 3,250, 3,251, 3,252, 3,253, 3,254, 3,255, 4, 0, 4, 1, 4, 2, 4, 3, 4, 4, 4, 5, 4, 6, 4, 7, 4, 8, - 4, 9, 4, 10, 4, 11, 4, 12, 4, 13, 4, 14, 4, 15, 4, 16, 4, 17, 4, 18, 4, 19, 4, 20, 4, 21, 4, 22, 4, 23, 4, 24, - 4, 25, 4, 26, 4, 27, 4, 28, 4, 29, 4, 30, 4, 31, 4, 32, 4, 33, 4, 34, 4, 35, 4, 36, 4, 37, 4, 38, 4, 39, 4, 40, - 4, 41, 4, 42, 4, 43, 4, 44, 4, 45, 4, 46, 4, 47, 4, 48, 4, 49, 4, 50, 4, 51, 4, 52, 4, 53, 4, 54, 4, 55, 4, 56, - 4, 57, 4, 58, 4, 59, 4, 60, 4, 61, 4, 62, 4, 63, 4, 64, 4, 65, 4, 66, 4, 67, 4, 68, 4, 69, 4, 70, 4, 71, 4, 72, - 4, 73, 4, 74, 4, 75, 4, 76, 4, 77, 4, 78, 4, 79, 4, 80, 4, 81, 4, 82, 4, 83, 4, 84, 4, 85, 4, 86, 4, 87, 4, 88, - 4, 89, 4, 90, 4, 91, 4, 92, 4, 93, 4, 94, 4, 95, 4, 96, 4, 97, 4, 98, 4, 99, 4,100, 4,101, 4,102, 4,103, 4,104, - 4,105, 4,106, 4,107, 4,108, 4,109, 4,110, 4,111, 4,112, 4,113, 4,114, 4,115, 4,116, 4,117, 4,118, 4,119, 4,120, - 4,121, 4,122, 4,123, 4,124, 4,125, 4,126, 4,127, 4,128, 4,129, 4,130, 4,131, 4,132, 4,133, 4,134, 4,135, 4,136, - 4,137, 4,138, 4,139, 4,140, 4,141, 4,142, 4,143, 4,144, 4,145, 4,146, 4,147, 4,148, 4,149, 4,150, 4,151, 4,152, - 4,153, 4,154, 4,155, 4,156, 4,157, 4,158, 4,159, 4,160, 4,161, 4,162, 4,163, 4,164, 4,165, 4,166, 4,167, 4,168, - 4,169, 4,170, 4,171, 4,172, 4,173, 4,174, 4,175, 4,176, 4,177, 4,178, 4,179, 4,180, 4,181, 4,182, 4,183, 4,184, - 4,185, 4,186, 4,187, 4,188, 4,189, 4,190, 4,191, 4,192, 4,193, 4,194, 4,195, 4,196, 4,197, 4,198, 4,199, 4,200, - 4,201, 4,202, 4,203, 4,204, 4,205, 4,206, 4,207, 4,208, 4,209, 4,210, 4,211, 4,212, 4,213, 4,214, 4,215, 4,216, - 4,217, 4,218, 4,219, 4,220, 4,221, 4,222, 4,223, 4,224, 4,225, 4,226, 4,227, 4,228, 4,229, 4,230, 4,231, 4,232, - 4,233, 4,234, 4,235, 4,236, 4,237, 4,238, 4,239, 4,240, 4,241, 4,242, 4,243, 4,244, 4,245, 4,246, 4,247, 4,248, - 4,249, 4,250, 4,251, 4,252, 4,253, 4,254, 4,255, 5, 0, 5, 1, 5, 2, 5, 3, 5, 4, 5, 5, 5, 6, 5, 7, 5, 8, - 5, 9, 5, 10, 5, 11, 5, 12, 5, 13, 5, 14, 5, 15, 5, 16, 5, 17, 5, 18, 5, 19, 5, 20, 5, 21, 5, 22, 5, 23, 5, 24, - 5, 25, 5, 26, 5, 27, 5, 28, 5, 29, 5, 30, 5, 31, 5, 32, 5, 33, 5, 34, 5, 35, 5, 36, 5, 37, 5, 38, 5, 39, 5, 40, - 5, 41, 5, 42, 5, 43, 5, 44, 5, 45, 5, 46, 5, 47, 5, 48, 5, 49, 5, 50, 5, 51, 5, 52, 5, 53, 5, 54, 5, 55, 5, 56, - 5, 57, 5, 58, 5, 59, 5, 60, 5, 61, 5, 62, 5, 63, 5, 64, 5, 65, 5, 66, 5, 67, 5, 68, 5, 69, 5, 70, 5, 71, 5, 72, - 5, 73, 5, 74, 5, 75, 5, 76, 5, 77, 5, 78, 5, 79, 5, 80, 5, 81, 5, 82, 5, 83, 5, 84, 5, 85, 5, 86, 5, 87, 5, 88, - 5, 89, 5, 90, 5, 91, 5, 92, 5, 93, 5, 94, 5, 95, 5, 96, 5, 97, 5, 98, 5, 99, 5,100, 5,101, 5,102, 5,103, 5,104, - 5,105, 5,106, 5,107, 5,108, 5,109, 5,110, 5,111, 5,112, 5,113, 5,114, 5,115, 5,116, 5,117, 5,118, 5,119, 5,120, - 5,121, 5,122, 5,123, 5,124, 5,125, 5,126, 5,127, 5,128, 5,129, 5,130, 5,131, 5,132, 5,133, 5,134, 5,135, 5,136, - 5,137, 5,138, 5,139, 5,140, 5,141, 5,142, 5,143, 5,144, 5,145, 5,146, 5,147, 5,148, 5,149, 5,150, 5,151, 5,152, - 5,153, 5,154, 5,155, 5,156, 5,157, 5,158, 5,159, 5,160, 5,161, 5,162, 5,163, 5,164, 5,165, 5,166, 5,167, 5,168, - 5,169, 5,170, 5,171, 5,172, 5,173, 5,174, 5,175, 5,176, 5,177, 5,178, 5,179, 5,180, 5,181, 5,182, 5,183, 5,184, - 5,185, 5,186, 5,187, 5,188, 5,189, 5,190, 5,191, 5,192, 5,193, 5,194, 5,195, 5,196, 5,197, 5,198, 5,199, 5,200, - 5,201, 5,202, 5,203, 5,204, 5,205, 5,206, 5,207, 5,208, 5,209, 5,210, 5,211, 5,212, 5,213, 5,214, 5,215, 5,216, - 5,217, 5,218, 5,219, 5,220, 5,221, 5,222, 5,223, 5,224, 5,225, 5,226, 5,227, 5,228, 5,229, 5,230, 5,231, 5,232, - 5,233, 5,234, 5,235, 5,236, 5,237, 5,238, 5,239, 5,240, 5,241, 5,242, 5,243, 5,244, 5,245, 5,246, 5,247, 5,248, - 5,249, 5,250, 5,251, 5,252, 5,253, 5,254, 5,255, 6, 0, 6, 1, 6, 2, 6, 3, 6, 4, 6, 5, 6, 6, 6, 7, 6, 8, - 6, 9, 6, 10, 6, 11, 6, 12, 6, 13, 6, 14, 6, 15, 6, 16, 6, 17, 6, 18, 6, 19, 6, 20, 6, 21, 6, 22, 6, 23, 6, 24, - 6, 25, 6, 26, 6, 27, 6, 28, 6, 29, 6, 30, 6, 31, 6, 32, 6, 33, 6, 34, 6, 35, 6, 36, 6, 37, 6, 38, 6, 39, 6, 40, - 6, 41, 6, 42, 6, 43, 6, 44, 6, 45, 6, 46, 6, 47, 6, 48, 6, 49, 6, 50, 6, 51, 6, 52, 6, 53, 6, 54, 6, 55, 6, 56, - 6, 57, 6, 58, 6, 59, 6, 60, 6, 61, 6, 62, 6, 63, 6, 64, 6, 65, 6, 66, 6, 67, 6, 68, 6, 69, 6, 70, 6, 71, 6, 72, - 6, 73, 6, 74, 6, 75, 6, 76, 6, 77, 6, 78, 6, 79, 6, 80, 6, 81, 6, 82, 6, 83, 6, 84, 6, 85, 6, 86, 6, 87, 6, 88, - 6, 89, 6, 90, 6, 91, 6, 92, 6, 93, 6, 94, 6, 95, 6, 96, 6, 97, 6, 98, 6, 99, 6,100, 6,101, 6,102, 6,103, 6,104, - 6,105, 6,106, 6,107, 6,108, 6,109, 6,110, 6,111, 6,112, 6,113, 6,114, 6,115, 6,116, 6,117, 6,118, 6,119, 6,120, - 6,121, 6,122, 6,123, 6,124, 6,125, 6,126, 6,127, 6,128, 6,129, 6,130, 6,131, 6,132, 6,133, 6,134, 6,135, 6,136, - 6,137, 6,138, 6,139, 6,140, 6,141, 6,142, 6,143, 6,144, 6,145, 6,146, 6,147, 6,148, 6,149, 6,150, 6,151, 6,152, - 6,153, 6,154, 6,155, 6,156, 6,157, 6,158, 6,159, 6,160, 6,161, 6,162, 6,163, 6,164, 6,165, 6,166, 6,167, 6,168, - 6,169, 6,170, 0,178, 0,179, 6,171, 6,172, 0,182, 0,183, 0,196, 6,173, 0,180, 0,181, 0,197, 6,174, 0,130, 0,194, - 0,135, 6,175, 0,171, 6,176, 0,198, 6,177, 0,190, 0,191, 6,178, 6,179, 6,180, 6,181, 6,182, 6,183, 6,184, 6,185, - 6,186, 6,187, 6,188, 6,189, 6,190, 6,191, 6,192, 6,193, 6,194, 6,195, 6,196, 6,197, 6,198, 6,199, 6,200, 6,201, - 6,202, 6,203, 6,204, 6,205, 6,206, 6,207, 6,208, 6,209, 6,210, 6,211, 6,212, 6,213, 6,214, 6,215, 6,216, 6,217, - 6,218, 6,219, 6,220, 6,221, 6,222, 6,223, 6,224, 6,225, 6,226, 6,227, 6,228, 0,140, 6,229, 6,230, 6,231, 6,232, - 6,233, 6,234, 6,235, 6,236, 6,237, 6,238, 6,239, 6,240, 6,241, 6,242, 6,243, 6,244, 6,245, 6,246, 6,247, 6,248, - 6,249, 6,250, 6,251, 6,252, 6,253, 6,254, 6,255, 7, 0, 7, 1, 7, 2, 7, 3, 7, 4, 7, 5, 7, 6, 7, 7, 7, 8, - 7, 9, 7, 10, 7, 11, 7, 12, 7, 13, 7, 14, 7, 15, 7, 16, 7, 17, 7, 18, 7, 19, 7, 20, 7, 21, 7, 22, 7, 23, 7, 24, - 7, 25, 7, 26, 7, 27, 7, 28, 7, 29, 7, 30, 7, 31, 7, 32, 7, 33, 7, 34, 7, 35, 7, 36, 7, 37, 7, 38, 7, 39, 7, 40, - 7, 41, 7, 42, 7, 43, 7, 44, 7, 45, 7, 46, 7, 47, 7, 48, 7, 49, 7, 50, 7, 51, 7, 52, 7, 53, 7, 54, 7, 55, 7, 56, - 7, 57, 7, 58, 7, 59, 7, 60, 7, 61, 7, 62, 7, 63, 7, 64, 7, 65, 7, 66, 7, 67, 7, 68, 7, 69, 7, 70, 7, 71, 7, 72, - 7, 73, 7, 74, 7, 75, 7, 76, 7, 77, 7, 78, 7, 79, 7, 80, 7, 81, 7, 82, 7, 83, 7, 84, 7, 85, 7, 86, 7, 87, 7, 88, - 7, 89, 7, 90, 7, 91, 7, 92, 7, 93, 7, 94, 7, 95, 7, 96, 7, 97, 7, 98, 7, 99, 7,100, 0,152, 7,101, 0,168, 7,102, - 7,103, 7,104, 7,105, 7,106, 7,107, 7,108, 0,154, 0,153, 0,239, 7,109, 7,110, 7,111, 7,112, 7,113, 0,165, 7,114, - 0,146, 7,115, 7,116, 7,117, 7,118, 7,119, 7,120, 0,156, 7,121, 7,122, 7,123, 7,124, 7,125, 7,126, 7,127, 7,128, - 7,129, 7,130, 7,131, 7,132, 7,133, 7,134, 7,135, 0,167, 7,136, 7,137, 7,138, 7,139, 7,140, 7,141, 7,142, 7,143, - 7,144, 7,145, 7,146, 7,147, 7,148, 7,149, 7,150, 7,151, 7,152, 7,153, 7,154, 7,155, 7,156, 7,157, 7,158, 0,143, - 7,159, 7,160, 7,161, 0,148, 0,149, 7,162, 7,163, 7,164, 7,165, 7,166, 7,167, 7,168, 7,169, 7,170, 7,171, 7,172, - 7,173, 7,174, 7,175, 7,176, 7,177, 7,178, 7,179, 7,180, 7,181, 7,182, 7,183, 7,184, 7,185, 7,186, 7,187, 7,188, - 7,189, 7,190, 7,191, 7,192, 7,193, 7,194, 7,195, 7,196, 7,197, 7,198, 7,199, 7,200, 7,201, 7,202, 7,203, 7,204, - 7,205, 7,206, 7,207, 7,208, 7,209, 7,210, 7,211, 7,212, 7,213, 7,214, 7,215, 7,216, 7,217, 7,218, 7,219, 7,220, - 7,221, 7,222, 7,223, 7,224, 7,225, 7,226, 7,227, 7,228, 7,229, 7,230, 7,231, 7,232, 7,233, 7,234, 7,235, 7,236, - 7,237, 7,238, 7,239, 7,240, 7,241, 7,242, 7,243, 7,244, 7,245, 7,246, 7,247, 7,248, 7,249, 7,250, 7,251, 7,252, - 7,253, 7,254, 7,255, 8, 0, 8, 1, 8, 2, 8, 3, 8, 4, 8, 5, 8, 6, 8, 7, 8, 8, 8, 9, 8, 10, 8, 11, 8, 12, - 8, 13, 8, 14, 8, 15, 8, 16, 8, 17, 8, 18, 8, 19, 8, 20, 8, 21, 8, 22, 8, 23, 8, 24, 8, 25, 8, 26, 8, 27, 8, 28, - 8, 29, 8, 30, 8, 31, 8, 32, 8, 33, 8, 34, 8, 35, 8, 36, 8, 37, 8, 38, 8, 39, 8, 40, 8, 41, 8, 42, 8, 43, 8, 44, - 8, 45, 8, 46, 8, 47, 8, 48, 8, 49, 8, 50, 8, 51, 8, 52, 8, 53, 8, 54, 8, 55, 8, 56, 8, 57, 8, 58, 8, 59, 8, 60, - 8, 61, 8, 62, 8, 63, 8, 64, 8, 65, 8, 66, 8, 67, 8, 68, 8, 69, 8, 70, 8, 71, 8, 72, 8, 73, 8, 74, 8, 75, 8, 76, - 8, 77, 8, 78, 8, 79, 8, 80, 8, 81, 8, 82, 8, 83, 8, 84, 8, 85, 8, 86, 8, 87, 8, 88, 8, 89, 8, 90, 8, 91, 8, 92, - 8, 93, 8, 94, 8, 95, 8, 96, 8, 97, 8, 98, 8, 99, 8,100, 8,101, 8,102, 8,103, 8,104, 8,105, 8,106, 8,107, 8,108, - 8,109, 8,110, 8,111, 8,112, 8,113, 8,114, 8,115, 8,116, 8,117, 8,118, 8,119, 8,120, 8,121, 8,122, 8,123, 8,124, - 8,125, 8,126, 8,127, 8,128, 8,129, 8,130, 8,131, 8,132, 8,133, 8,134, 8,135, 8,136, 8,137, 8,138, 8,139, 8,140, - 8,141, 8,142, 8,143, 8,144, 8,145, 8,146, 8,147, 8,148, 8,149, 8,150, 8,151, 8,152, 8,153, 8,154, 8,155, 8,156, - 8,157, 8,158, 8,159, 8,160, 8,161, 8,162, 8,163, 8,164, 8,165, 8,166, 8,167, 8,168, 8,169, 8,170, 8,171, 8,172, - 8,173, 8,174, 8,175, 8,176, 8,177, 8,178, 8,179, 8,180, 8,181, 8,182, 8,183, 8,184, 8,185, 8,186, 8,187, 8,188, - 8,189, 8,190, 8,191, 8,192, 8,193, 8,194, 8,195, 8,196, 8,197, 8,198, 8,199, 8,200, 8,201, 8,202, 8,203, 8,204, - 8,205, 8,206, 8,207, 8,208, 8,209, 8,210, 8,211, 8,212, 8,213, 8,214, 8,215, 8,216, 8,217, 8,218, 8,219, 8,220, - 8,221, 8,222, 8,223, 8,224, 8,225, 8,226, 8,227, 8,228, 8,229, 8,230, 8,231, 8,232, 8,233, 8,234, 8,235, 8,236, - 8,237, 8,238, 8,239, 8,240, 8,241, 8,242, 8,243, 8,244, 8,245, 8,246, 8,247, 8,248, 8,249, 8,250, 8,251, 8,252, - 8,253, 8,254, 8,255, 9, 0, 9, 1, 9, 2, 9, 3, 9, 4, 9, 5, 9, 6, 9, 7, 9, 8, 9, 9, 9, 10, 9, 11, 9, 12, - 9, 13, 9, 14, 9, 15, 9, 16, 9, 17, 9, 18, 9, 19, 9, 20, 9, 21, 9, 22, 9, 23, 9, 24, 9, 25, 9, 26, 9, 27, 9, 28, - 9, 29, 9, 30, 9, 31, 9, 32, 9, 33, 9, 34, 9, 35, 9, 36, 9, 37, 9, 38, 9, 39, 9, 40, 9, 41, 0,185, 9, 42, 9, 43, - 9, 44, 9, 45, 9, 46, 9, 47, 9, 48, 9, 49, 9, 50, 9, 51, 9, 52, 9, 53, 9, 54, 9, 55, 9, 56, 9, 57, 9, 58, 9, 59, - 9, 60, 9, 61, 9, 62, 9, 63, 9, 64, 9, 65, 9, 66, 9, 67, 9, 68, 9, 69, 9, 70, 9, 71, 9, 72, 9, 73, 9, 74, 9, 75, - 9, 76, 9, 77, 9, 78, 9, 79, 9, 80, 9, 81, 9, 82, 9, 83, 9, 84, 9, 85, 9, 86, 9, 87, 9, 88, 9, 89, 9, 90, 9, 91, - 9, 92, 9, 93, 9, 94, 9, 95, 9, 96, 9, 97, 9, 98, 9, 99, 9,100, 9,101, 9,102, 9,103, 9,104, 9,105, 9,106, 9,107, - 9,108, 9,109, 9,110, 9,111, 9,112, 9,113, 9,114, 9,115, 9,116, 9,117, 9,118, 9,119, 9,120, 9,121, 9,122, 9,123, - 9,124, 9,125, 9,126, 9,127, 9,128, 9,129, 9,130, 9,131, 9,132, 9,133, 9,134, 9,135, 9,136, 9,137, 9,138, 9,139, - 9,140, 9,141, 9,142, 9,143, 9,144, 9,145, 9,146, 9,147, 9,148, 9,149, 9,150, 9,151, 9,152, 9,153, 9,154, 9,155, - 9,156, 9,157, 9,158, 9,159, 9,160, 9,161, 9,162, 9,163, 9,164, 9,165, 9,166, 9,167, 9,168, 9,169, 9,170, 9,171, - 9,172, 9,173, 9,174, 9,175, 9,176, 9,177, 9,178, 9,179, 9,180, 9,181, 9,182, 9,183, 9,184, 9,185, 9,186, 9,187, - 9,188, 9,189, 9,190, 9,191, 9,192, 9,193, 9,194, 9,195, 9,196, 9,197, 9,198, 9,199, 9,200, 9,201, 9,202, 9,203, - 9,204, 9,205, 9,206, 9,207, 9,208, 9,209, 9,210, 9,211, 9,212, 9,213, 9,214, 9,215, 9,216, 9,217, 9,218, 9,219, - 9,220, 9,221, 9,222, 9,223, 9,224, 9,225, 9,226, 9,227, 9,228, 9,229, 9,230, 9,231, 9,232, 9,233, 9,234, 9,235, - 9,236, 9,237, 9,238, 9,239, 9,240, 9,241, 9,242, 9,243, 9,244, 9,245, 9,246, 9,247, 9,248, 9,249, 9,250, 9,251, - 9,252, 9,253, 9,254, 9,255, 10, 0, 10, 1, 10, 2, 10, 3, 10, 4, 10, 5, 10, 6, 10, 7, 10, 8, 10, 9, 10, 10, 10, 11, - 10, 12, 10, 13, 10, 14, 10, 15, 10, 16, 10, 17, 10, 18, 10, 19, 10, 20, 10, 21, 10, 22, 10, 23, 10, 24, 10, 25, 10, 26, 10, 27, - 10, 28, 10, 29, 10, 30, 10, 31, 10, 32, 10, 33, 10, 34, 10, 35, 10, 36, 10, 37, 10, 38, 10, 39, 10, 40, 10, 41, 10, 42, 10, 43, - 10, 44, 10, 45, 10, 46, 10, 47, 10, 48, 10, 49, 10, 50, 10, 51, 10, 52, 10, 53, 10, 54, 10, 55, 10, 56, 10, 57, 10, 58, 10, 59, - 10, 60, 10, 61, 10, 62, 10, 63, 10, 64, 10, 65, 10, 66, 10, 67, 10, 68, 10, 69, 10, 70, 10, 71, 10, 72, 10, 73, 10, 74, 10, 75, - 10, 76, 10, 77, 10, 78, 10, 79, 10, 80, 10, 81, 10, 82, 10, 83, 10, 84, 10, 85, 10, 86, 10, 87, 10, 88, 10, 89, 10, 90, 10, 91, - 10, 92, 10, 93, 10, 94, 10, 95, 10, 96, 10, 97, 10, 98, 10, 99, 10,100, 10,101, 10,102, 10,103, 10,104, 10,105, 10,106, 10,107, - 10,108, 10,109, 10,110, 10,111, 10,112, 10,113, 10,114, 10,115, 10,116, 10,117, 10,118, 10,119, 10,120, 10,121, 10,122, 10,123, - 10,124, 10,125, 10,126, 10,127, 10,128, 10,129, 10,130, 10,131, 10,132, 10,133, 10,134, 10,135, 10,136, 10,137, 10,138, 10,139, - 10,140, 10,141, 10,142, 10,143, 10,144, 10,145, 10,146, 10,147, 10,148, 10,149, 10,150, 10,151, 10,152, 10,153, 0,192, 0,193, - 10,154, 10,155, 10,156, 10,157, 10,158, 10,159, 10,160, 10,161, 10,162, 10,163, 10,164, 10,165, 10,166, 10,167, 10,168, 10,169, - 10,170, 10,171, 10,172, 10,173, 10,174, 10,175, 10,176, 10,177, 10,178, 10,179, 10,180, 10,181, 10,182, 10,183, 10,184, 10,185, - 10,186, 10,187, 10,188, 10,189, 10,190, 10,191, 10,192, 10,193, 10,194, 10,195, 10,196, 10,197, 10,198, 10,199, 10,200, 10,201, - 10,202, 10,203, 10,204, 10,205, 10,206, 10,207, 10,208, 10,209, 10,210, 10,211, 10,212, 10,213, 10,214, 10,215, 10,216, 10,217, - 10,218, 10,219, 10,220, 10,221, 10,222, 10,223, 10,224, 10,225, 10,226, 10,227, 10,228, 10,229, 10,230, 10,231, 10,232, 10,233, - 10,234, 10,235, 10,236, 10,237, 10,238, 10,239, 10,240, 10,241, 10,242, 10,243, 10,244, 10,245, 10,246, 10,247, 10,248, 10,249, - 10,250, 10,251, 10,252, 10,253, 10,254, 10,255, 11, 0, 11, 1, 11, 2, 11, 3, 11, 4, 11, 5, 11, 6, 11, 7, 11, 8, 11, 9, - 11, 10, 11, 11, 11, 12, 11, 13, 11, 14, 11, 15, 11, 16, 11, 17, 11, 18, 11, 19, 11, 20, 11, 21, 11, 22, 11, 23, 11, 24, 11, 25, - 11, 26, 11, 27, 11, 28, 11, 29, 11, 30, 11, 31, 11, 32, 11, 33, 11, 34, 11, 35, 11, 36, 11, 37, 11, 38, 11, 39, 11, 40, 11, 41, - 11, 42, 11, 43, 11, 44, 11, 45, 11, 46, 11, 47, 11, 48, 11, 49, 11, 50, 11, 51, 11, 52, 11, 53, 11, 54, 11, 55, 11, 56, 11, 57, - 11, 58, 11, 59, 11, 60, 11, 61, 11, 62, 11, 63, 11, 64, 11, 65, 11, 66, 11, 67, 11, 68, 11, 69, 11, 70, 11, 71, 11, 72, 11, 73, - 11, 74, 11, 75, 11, 76, 11, 77, 11, 78, 11, 79, 11, 80, 11, 81, 11, 82, 11, 83, 11, 84, 11, 85, 11, 86, 11, 87, 11, 88, 11, 89, - 11, 90, 11, 91, 11, 92, 11, 93, 11, 94, 11, 95, 11, 96, 11, 97, 11, 98, 11, 99, 11,100, 11,101, 11,102, 11,103, 11,104, 11,105, - 11,106, 11,107, 11,108, 11,109, 11,110, 11,111, 11,112, 11,113, 11,114, 11,115, 11,116, 11,117, 11,118, 11,119, 11,120, 11,121, - 11,122, 11,123, 11,124, 11,125, 11,126, 11,127, 11,128, 11,129, 11,130, 11,131, 11,132, 11,133, 11,134, 11,135, 11,136, 11,137, - 11,138, 11,139, 11,140, 11,141, 11,142, 11,143, 11,144, 11,145, 11,146, 11,147, 11,148, 11,149, 11,150, 11,151, 11,152, 11,153, - 11,154, 11,155, 11,156, 11,157, 11,158, 11,159, 11,160, 11,161, 11,162, 11,163, 11,164, 11,165, 11,166, 11,167, 11,168, 11,169, - 11,170, 11,171, 11,172, 11,173, 11,174, 11,175, 11,176, 11,177, 11,178, 11,179, 11,180, 11,181, 11,182, 11,183, 11,184, 11,185, - 11,186, 11,187, 11,188, 11,189, 11,190, 11,191, 11,192, 11,193, 11,194, 11,195, 11,196, 11,197, 11,198, 11,199, 11,200, 11,201, - 11,202, 11,203, 11,204, 11,205, 11,206, 11,207, 11,208, 11,209, 11,210, 11,211, 11,212, 9,115,102,116,104,121,112,104,101,110, - 7, 65,109, 97, 99,114,111,110, 7, 97,109, 97, 99,114,111,110, 6, 65, 98,114,101,118,101, 6, 97, 98,114,101,118,101, 7, 65, -111,103,111,110,101,107, 7, 97,111,103,111,110,101,107, 11, 67, 99,105,114, 99,117,109,102,108,101,120, 11, 99, 99,105,114, 99, -117,109,102,108,101,120, 10, 67,100,111,116, 97, 99, 99,101,110,116, 10, 99,100,111,116, 97, 99, 99,101,110,116, 6, 68, 99, 97, -114,111,110, 6,100, 99, 97,114,111,110, 6, 68, 99,114,111, 97,116, 7, 69,109, 97, 99,114,111,110, 7,101,109, 97, 99,114,111, -110, 6, 69, 98,114,101,118,101, 6,101, 98,114,101,118,101, 10, 69,100,111,116, 97, 99, 99,101,110,116, 10,101,100,111,116, 97, - 99, 99,101,110,116, 7, 69,111,103,111,110,101,107, 7,101,111,103,111,110,101,107, 6, 69, 99, 97,114,111,110, 6,101, 99, 97, -114,111,110, 11, 71, 99,105,114, 99,117,109,102,108,101,120, 11,103, 99,105,114, 99,117,109,102,108,101,120, 10, 71,100,111,116, - 97, 99, 99,101,110,116, 10,103,100,111,116, 97, 99, 99,101,110,116, 12, 71, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,103, - 99,111,109,109, 97, 97, 99, 99,101,110,116, 11, 72, 99,105,114, 99,117,109,102,108,101,120, 11,104, 99,105,114, 99,117,109,102, -108,101,120, 4, 72, 98, 97,114, 4,104, 98, 97,114, 6, 73,116,105,108,100,101, 6,105,116,105,108,100,101, 7, 73,109, 97, 99, -114,111,110, 7,105,109, 97, 99,114,111,110, 6, 73, 98,114,101,118,101, 6,105, 98,114,101,118,101, 7, 73,111,103,111,110,101, -107, 7,105,111,103,111,110,101,107, 2, 73, 74, 2,105,106, 11, 74, 99,105,114, 99,117,109,102,108,101,120, 11,106, 99,105,114, - 99,117,109,102,108,101,120, 12, 75, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,107, 99,111,109,109, 97, 97, 99, 99,101,110, -116, 12,107,103,114,101,101,110,108, 97,110,100,105, 99, 6, 76, 97, 99,117,116,101, 6,108, 97, 99,117,116,101, 12, 76, 99,111, -109,109, 97, 97, 99, 99,101,110,116, 12,108, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 76, 99, 97,114,111,110, 6,108, 99, - 97,114,111,110, 4, 76,100,111,116, 4,108,100,111,116, 6, 78, 97, 99,117,116,101, 6,110, 97, 99,117,116,101, 12, 78, 99,111, -109,109, 97, 97, 99, 99,101,110,116, 12,110, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 78, 99, 97,114,111,110, 6,110, 99, - 97,114,111,110, 11,110, 97,112,111,115,116,114,111,112,104,101, 3, 69,110,103, 3,101,110,103, 7, 79,109, 97, 99,114,111,110, - 7,111,109, 97, 99,114,111,110, 6, 79, 98,114,101,118,101, 6,111, 98,114,101,118,101, 13, 79,104,117,110,103, 97,114,117,109, -108, 97,117,116, 13,111,104,117,110,103, 97,114,117,109,108, 97,117,116, 6, 82, 97, 99,117,116,101, 6,114, 97, 99,117,116,101, - 12, 82, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,114, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 82, 99, 97,114,111, -110, 6,114, 99, 97,114,111,110, 6, 83, 97, 99,117,116,101, 6,115, 97, 99,117,116,101, 11, 83, 99,105,114, 99,117,109,102,108, -101,120, 11,115, 99,105,114, 99,117,109,102,108,101,120, 12, 84, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,116, 99,111,109, -109, 97, 97, 99, 99,101,110,116, 6, 84, 99, 97,114,111,110, 6,116, 99, 97,114,111,110, 4, 84, 98, 97,114, 4,116, 98, 97,114, - 6, 85,116,105,108,100,101, 6,117,116,105,108,100,101, 7, 85,109, 97, 99,114,111,110, 7,117,109, 97, 99,114,111,110, 6, 85, - 98,114,101,118,101, 6,117, 98,114,101,118,101, 5, 85,114,105,110,103, 5,117,114,105,110,103, 13, 85,104,117,110,103, 97,114, -117,109,108, 97,117,116, 13,117,104,117,110,103, 97,114,117,109,108, 97,117,116, 7, 85,111,103,111,110,101,107, 7,117,111,103, -111,110,101,107, 11, 87, 99,105,114, 99,117,109,102,108,101,120, 11,119, 99,105,114, 99,117,109,102,108,101,120, 11, 89, 99,105, -114, 99,117,109,102,108,101,120, 11,121, 99,105,114, 99,117,109,102,108,101,120, 6, 90, 97, 99,117,116,101, 6,122, 97, 99,117, -116,101, 10, 90,100,111,116, 97, 99, 99,101,110,116, 10,122,100,111,116, 97, 99, 99,101,110,116, 5,108,111,110,103,115, 7,117, -110,105, 48, 49, 56, 48, 7,117,110,105, 48, 49, 56, 49, 7,117,110,105, 48, 49, 56, 50, 7,117,110,105, 48, 49, 56, 51, 7,117, -110,105, 48, 49, 56, 52, 7,117,110,105, 48, 49, 56, 53, 7,117,110,105, 48, 49, 56, 54, 7,117,110,105, 48, 49, 56, 55, 7,117, -110,105, 48, 49, 56, 56, 7,117,110,105, 48, 49, 56, 57, 7,117,110,105, 48, 49, 56, 65, 7,117,110,105, 48, 49, 56, 66, 7,117, -110,105, 48, 49, 56, 67, 7,117,110,105, 48, 49, 56, 68, 7,117,110,105, 48, 49, 56, 69, 7,117,110,105, 48, 49, 56, 70, 7,117, -110,105, 48, 49, 57, 48, 7,117,110,105, 48, 49, 57, 49, 7,117,110,105, 48, 49, 57, 51, 7,117,110,105, 48, 49, 57, 52, 7,117, -110,105, 48, 49, 57, 53, 7,117,110,105, 48, 49, 57, 54, 7,117,110,105, 48, 49, 57, 55, 7,117,110,105, 48, 49, 57, 56, 7,117, -110,105, 48, 49, 57, 57, 7,117,110,105, 48, 49, 57, 65, 7,117,110,105, 48, 49, 57, 66, 7,117,110,105, 48, 49, 57, 67, 7,117, -110,105, 48, 49, 57, 68, 7,117,110,105, 48, 49, 57, 69, 7,117,110,105, 48, 49, 57, 70, 5, 79,104,111,114,110, 5,111,104,111, -114,110, 7,117,110,105, 48, 49, 65, 50, 7,117,110,105, 48, 49, 65, 51, 7,117,110,105, 48, 49, 65, 52, 7,117,110,105, 48, 49, - 65, 53, 7,117,110,105, 48, 49, 65, 54, 7,117,110,105, 48, 49, 65, 55, 7,117,110,105, 48, 49, 65, 56, 7,117,110,105, 48, 49, - 65, 57, 7,117,110,105, 48, 49, 65, 65, 7,117,110,105, 48, 49, 65, 66, 7,117,110,105, 48, 49, 65, 67, 7,117,110,105, 48, 49, - 65, 68, 7,117,110,105, 48, 49, 65, 69, 5, 85,104,111,114,110, 5,117,104,111,114,110, 7,117,110,105, 48, 49, 66, 49, 7,117, -110,105, 48, 49, 66, 50, 7,117,110,105, 48, 49, 66, 51, 7,117,110,105, 48, 49, 66, 52, 7,117,110,105, 48, 49, 66, 53, 7,117, -110,105, 48, 49, 66, 54, 7,117,110,105, 48, 49, 66, 55, 7,117,110,105, 48, 49, 66, 56, 7,117,110,105, 48, 49, 66, 57, 7,117, -110,105, 48, 49, 66, 66, 7,117,110,105, 48, 49, 66, 67, 7,117,110,105, 48, 49, 66, 68, 7,117,110,105, 48, 49, 66, 69, 7,117, -110,105, 48, 49, 67, 48, 7,117,110,105, 48, 49, 67, 49, 7,117,110,105, 48, 49, 67, 50, 7,117,110,105, 48, 49, 67, 51, 7,117, -110,105, 48, 49, 67, 68, 7,117,110,105, 48, 49, 67, 69, 7,117,110,105, 48, 49, 67, 70, 7,117,110,105, 48, 49, 68, 48, 7,117, -110,105, 48, 49, 68, 49, 7,117,110,105, 48, 49, 68, 50, 7,117,110,105, 48, 49, 68, 51, 7,117,110,105, 48, 49, 68, 52, 7,117, -110,105, 48, 49, 68, 53, 7,117,110,105, 48, 49, 68, 54, 7,117,110,105, 48, 49, 68, 55, 7,117,110,105, 48, 49, 68, 56, 7,117, -110,105, 48, 49, 68, 57, 7,117,110,105, 48, 49, 68, 65, 7,117,110,105, 48, 49, 68, 66, 7,117,110,105, 48, 49, 68, 67, 7,117, -110,105, 48, 49, 68, 68, 7,117,110,105, 48, 49, 68, 69, 7,117,110,105, 48, 49, 68, 70, 7,117,110,105, 48, 49, 69, 48, 7,117, -110,105, 48, 49, 69, 49, 7,117,110,105, 48, 49, 69, 50, 7,117,110,105, 48, 49, 69, 51, 6, 71, 99, 97,114,111,110, 6,103, 99, - 97,114,111,110, 7,117,110,105, 48, 49, 69, 56, 7,117,110,105, 48, 49, 69, 57, 7,117,110,105, 48, 49, 69, 65, 7,117,110,105, - 48, 49, 69, 66, 7,117,110,105, 48, 49, 69, 67, 7,117,110,105, 48, 49, 69, 68, 7,117,110,105, 48, 49, 69, 69, 7,117,110,105, - 48, 49, 69, 70, 7,117,110,105, 48, 49, 70, 48, 7,117,110,105, 48, 49, 70, 52, 7,117,110,105, 48, 49, 70, 53, 7,117,110,105, - 48, 49, 70, 54, 7,117,110,105, 48, 49, 70, 56, 7,117,110,105, 48, 49, 70, 57, 7, 65, 69, 97, 99,117,116,101, 7, 97,101, 97, - 99,117,116,101, 11, 79,115,108, 97,115,104, 97, 99,117,116,101, 11,111,115,108, 97,115,104, 97, 99,117,116,101, 7,117,110,105, - 48, 50, 48, 48, 7,117,110,105, 48, 50, 48, 49, 7,117,110,105, 48, 50, 48, 50, 7,117,110,105, 48, 50, 48, 51, 7,117,110,105, - 48, 50, 48, 52, 7,117,110,105, 48, 50, 48, 53, 7,117,110,105, 48, 50, 48, 54, 7,117,110,105, 48, 50, 48, 55, 7,117,110,105, - 48, 50, 48, 56, 7,117,110,105, 48, 50, 48, 57, 7,117,110,105, 48, 50, 48, 65, 7,117,110,105, 48, 50, 48, 66, 7,117,110,105, - 48, 50, 48, 67, 7,117,110,105, 48, 50, 48, 68, 7,117,110,105, 48, 50, 48, 69, 7,117,110,105, 48, 50, 48, 70, 7,117,110,105, - 48, 50, 49, 48, 7,117,110,105, 48, 50, 49, 49, 7,117,110,105, 48, 50, 49, 50, 7,117,110,105, 48, 50, 49, 51, 7,117,110,105, - 48, 50, 49, 52, 7,117,110,105, 48, 50, 49, 53, 7,117,110,105, 48, 50, 49, 54, 7,117,110,105, 48, 50, 49, 55, 12, 83, 99,111, -109,109, 97, 97, 99, 99,101,110,116, 12,115, 99,111,109,109, 97, 97, 99, 99,101,110,116, 7,117,110,105, 48, 50, 49, 65, 7,117, -110,105, 48, 50, 49, 66, 7,117,110,105, 48, 50, 49, 69, 7,117,110,105, 48, 50, 49, 70, 7,117,110,105, 48, 50, 50, 48, 7,117, -110,105, 48, 50, 50, 49, 7,117,110,105, 48, 50, 50, 52, 7,117,110,105, 48, 50, 50, 53, 7,117,110,105, 48, 50, 50, 54, 7,117, -110,105, 48, 50, 50, 55, 7,117,110,105, 48, 50, 50, 56, 7,117,110,105, 48, 50, 50, 57, 7,117,110,105, 48, 50, 50, 65, 7,117, -110,105, 48, 50, 50, 66, 7,117,110,105, 48, 50, 50, 67, 7,117,110,105, 48, 50, 50, 68, 7,117,110,105, 48, 50, 50, 69, 7,117, -110,105, 48, 50, 50, 70, 7,117,110,105, 48, 50, 51, 48, 7,117,110,105, 48, 50, 51, 49, 7,117,110,105, 48, 50, 51, 50, 7,117, -110,105, 48, 50, 51, 51, 7,117,110,105, 48, 50, 51, 52, 7,117,110,105, 48, 50, 51, 53, 7,117,110,105, 48, 50, 51, 54, 8,100, -111,116,108,101,115,115,106, 7,117,110,105, 48, 50, 51, 56, 7,117,110,105, 48, 50, 51, 57, 7,117,110,105, 48, 50, 51, 65, 7, -117,110,105, 48, 50, 51, 66, 7,117,110,105, 48, 50, 51, 67, 7,117,110,105, 48, 50, 51, 68, 7,117,110,105, 48, 50, 51, 69, 7, -117,110,105, 48, 50, 51, 70, 7,117,110,105, 48, 50, 52, 48, 7,117,110,105, 48, 50, 52, 49, 7,117,110,105, 48, 50, 52, 53, 7, -117,110,105, 48, 50, 53, 48, 7,117,110,105, 48, 50, 53, 49, 7,117,110,105, 48, 50, 53, 50, 7,117,110,105, 48, 50, 53, 51, 7, -117,110,105, 48, 50, 53, 52, 7,117,110,105, 48, 50, 53, 53, 7,117,110,105, 48, 50, 53, 54, 7,117,110,105, 48, 50, 53, 55, 7, -117,110,105, 48, 50, 53, 56, 7,117,110,105, 48, 50, 53, 57, 7,117,110,105, 48, 50, 53, 65, 7,117,110,105, 48, 50, 53, 66, 7, -117,110,105, 48, 50, 53, 67, 7,117,110,105, 48, 50, 53, 68, 7,117,110,105, 48, 50, 53, 69, 7,117,110,105, 48, 50, 53, 70, 7, -117,110,105, 48, 50, 54, 48, 7,117,110,105, 48, 50, 54, 49, 7,117,110,105, 48, 50, 54, 50, 7,117,110,105, 48, 50, 54, 51, 7, -117,110,105, 48, 50, 54, 52, 7,117,110,105, 48, 50, 54, 53, 7,117,110,105, 48, 50, 54, 54, 7,117,110,105, 48, 50, 54, 55, 7, -117,110,105, 48, 50, 54, 56, 7,117,110,105, 48, 50, 54, 57, 7,117,110,105, 48, 50, 54, 65, 7,117,110,105, 48, 50, 54, 66, 7, -117,110,105, 48, 50, 54, 67, 7,117,110,105, 48, 50, 54, 68, 7,117,110,105, 48, 50, 54, 69, 7,117,110,105, 48, 50, 54, 70, 7, -117,110,105, 48, 50, 55, 48, 7,117,110,105, 48, 50, 55, 49, 7,117,110,105, 48, 50, 55, 50, 7,117,110,105, 48, 50, 55, 51, 7, -117,110,105, 48, 50, 55, 52, 7,117,110,105, 48, 50, 55, 53, 7,117,110,105, 48, 50, 55, 54, 7,117,110,105, 48, 50, 55, 55, 7, -117,110,105, 48, 50, 55, 56, 7,117,110,105, 48, 50, 55, 57, 7,117,110,105, 48, 50, 55, 65, 7,117,110,105, 48, 50, 55, 66, 7, -117,110,105, 48, 50, 55, 67, 7,117,110,105, 48, 50, 55, 68, 7,117,110,105, 48, 50, 55, 69, 7,117,110,105, 48, 50, 55, 70, 7, -117,110,105, 48, 50, 56, 48, 7,117,110,105, 48, 50, 56, 49, 7,117,110,105, 48, 50, 56, 50, 7,117,110,105, 48, 50, 56, 51, 7, -117,110,105, 48, 50, 56, 52, 7,117,110,105, 48, 50, 56, 53, 7,117,110,105, 48, 50, 56, 54, 7,117,110,105, 48, 50, 56, 55, 7, -117,110,105, 48, 50, 56, 56, 7,117,110,105, 48, 50, 56, 57, 7,117,110,105, 48, 50, 56, 65, 7,117,110,105, 48, 50, 56, 66, 7, -117,110,105, 48, 50, 56, 67, 7,117,110,105, 48, 50, 56, 68, 7,117,110,105, 48, 50, 56, 69, 7,117,110,105, 48, 50, 56, 70, 7, -117,110,105, 48, 50, 57, 48, 7,117,110,105, 48, 50, 57, 49, 7,117,110,105, 48, 50, 57, 50, 7,117,110,105, 48, 50, 57, 51, 7, -117,110,105, 48, 50, 57, 52, 7,117,110,105, 48, 50, 57, 53, 7,117,110,105, 48, 50, 57, 54, 7,117,110,105, 48, 50, 57, 55, 7, -117,110,105, 48, 50, 57, 56, 7,117,110,105, 48, 50, 57, 57, 7,117,110,105, 48, 50, 57, 65, 7,117,110,105, 48, 50, 57, 66, 7, -117,110,105, 48, 50, 57, 67, 7,117,110,105, 48, 50, 57, 68, 7,117,110,105, 48, 50, 57, 69, 7,117,110,105, 48, 50, 57, 70, 7, -117,110,105, 48, 50, 65, 48, 7,117,110,105, 48, 50, 65, 49, 7,117,110,105, 48, 50, 65, 50, 7,117,110,105, 48, 50, 65, 51, 7, -117,110,105, 48, 50, 65, 52, 7,117,110,105, 48, 50, 65, 53, 7,117,110,105, 48, 50, 65, 54, 7,117,110,105, 48, 50, 65, 55, 7, -117,110,105, 48, 50, 65, 56, 7,117,110,105, 48, 50, 65, 57, 7,117,110,105, 48, 50, 65, 65, 7,117,110,105, 48, 50, 65, 66, 7, -117,110,105, 48, 50, 65, 67, 7,117,110,105, 48, 50, 65, 68, 7,117,110,105, 48, 50, 65, 69, 7,117,110,105, 48, 50, 65, 70, 7, -117,110,105, 48, 50, 66, 48, 7,117,110,105, 48, 50, 66, 49, 7,117,110,105, 48, 50, 66, 50, 7,117,110,105, 48, 50, 66, 51, 7, -117,110,105, 48, 50, 66, 52, 7,117,110,105, 48, 50, 66, 53, 7,117,110,105, 48, 50, 66, 54, 7,117,110,105, 48, 50, 66, 55, 7, -117,110,105, 48, 50, 66, 56, 7,117,110,105, 48, 50, 66, 57, 7,117,110,105, 48, 50, 66, 66, 7,117,110,105, 48, 50, 66, 67, 7, -117,110,105, 48, 50, 66, 68, 7,117,110,105, 48, 50, 66, 69, 7,117,110,105, 48, 50, 66, 70, 7,117,110,105, 48, 50, 67, 48, 7, -117,110,105, 48, 50, 67, 49, 7,117,110,105, 48, 50, 67, 56, 7,117,110,105, 48, 50, 67, 57, 7,117,110,105, 48, 50, 67, 67, 7, -117,110,105, 48, 50, 67, 68, 7,117,110,105, 48, 50, 68, 48, 7,117,110,105, 48, 50, 68, 49, 7,117,110,105, 48, 50, 68, 50, 7, -117,110,105, 48, 50, 68, 51, 7,117,110,105, 48, 50, 68, 54, 7,117,110,105, 48, 50, 68, 69, 7,117,110,105, 48, 50, 69, 48, 7, -117,110,105, 48, 50, 69, 49, 7,117,110,105, 48, 50, 69, 50, 7,117,110,105, 48, 50, 69, 51, 7,117,110,105, 48, 50, 69, 52, 7, -117,110,105, 48, 50, 69, 53, 7,117,110,105, 48, 50, 69, 54, 7,117,110,105, 48, 50, 69, 55, 7,117,110,105, 48, 50, 69, 56, 7, -117,110,105, 48, 50, 69, 57, 7,117,110,105, 48, 50, 70, 51, 9,103,114, 97,118,101, 99,111,109, 98, 9, 97, 99,117,116,101, 99, -111,109, 98, 7,117,110,105, 48, 51, 48, 50, 9,116,105,108,100,101, 99,111,109, 98, 7,117,110,105, 48, 51, 48, 52, 7,117,110, -105, 48, 51, 48, 53, 7,117,110,105, 48, 51, 48, 54, 7,117,110,105, 48, 51, 48, 55, 7,117,110,105, 48, 51, 48, 56, 13,104,111, -111,107, 97, 98,111,118,101, 99,111,109, 98, 7,117,110,105, 48, 51, 48, 65, 7,117,110,105, 48, 51, 48, 66, 7,117,110,105, 48, - 51, 48, 67, 7,117,110,105, 48, 51, 48, 68, 7,117,110,105, 48, 51, 48, 69, 7,117,110,105, 48, 51, 48, 70, 7,117,110,105, 48, - 51, 49, 48, 7,117,110,105, 48, 51, 49, 49, 7,117,110,105, 48, 51, 49, 50, 7,117,110,105, 48, 51, 49, 51, 7,117,110,105, 48, - 51, 49, 52, 7,117,110,105, 48, 51, 49, 53, 7,117,110,105, 48, 51, 49, 54, 7,117,110,105, 48, 51, 49, 55, 7,117,110,105, 48, - 51, 49, 56, 7,117,110,105, 48, 51, 49, 57, 7,117,110,105, 48, 51, 49, 65, 7,117,110,105, 48, 51, 49, 66, 7,117,110,105, 48, - 51, 49, 67, 7,117,110,105, 48, 51, 49, 68, 7,117,110,105, 48, 51, 49, 69, 7,117,110,105, 48, 51, 49, 70, 7,117,110,105, 48, - 51, 50, 48, 7,117,110,105, 48, 51, 50, 49, 7,117,110,105, 48, 51, 50, 50, 12,100,111,116, 98,101,108,111,119, 99,111,109, 98, - 7,117,110,105, 48, 51, 50, 52, 7,117,110,105, 48, 51, 50, 53, 7,117,110,105, 48, 51, 50, 54, 7,117,110,105, 48, 51, 50, 55, - 7,117,110,105, 48, 51, 50, 56, 7,117,110,105, 48, 51, 50, 57, 7,117,110,105, 48, 51, 50, 65, 7,117,110,105, 48, 51, 50, 66, - 7,117,110,105, 48, 51, 50, 67, 7,117,110,105, 48, 51, 50, 68, 7,117,110,105, 48, 51, 50, 69, 7,117,110,105, 48, 51, 50, 70, - 7,117,110,105, 48, 51, 51, 48, 7,117,110,105, 48, 51, 51, 49, 7,117,110,105, 48, 51, 51, 50, 7,117,110,105, 48, 51, 51, 51, - 7,117,110,105, 48, 51, 51, 52, 7,117,110,105, 48, 51, 51, 53, 7,117,110,105, 48, 51, 51, 54, 7,117,110,105, 48, 51, 51, 55, - 7,117,110,105, 48, 51, 51, 56, 7,117,110,105, 48, 51, 51, 57, 7,117,110,105, 48, 51, 51, 65, 7,117,110,105, 48, 51, 51, 66, - 7,117,110,105, 48, 51, 51, 67, 7,117,110,105, 48, 51, 51, 68, 7,117,110,105, 48, 51, 51, 69, 7,117,110,105, 48, 51, 51, 70, - 7,117,110,105, 48, 51, 52, 51, 7,117,110,105, 48, 51, 53, 56, 7,117,110,105, 48, 51, 54, 49, 7,117,110,105, 48, 51, 55, 52, - 7,117,110,105, 48, 51, 55, 53, 7,117,110,105, 48, 51, 55, 65, 7,117,110,105, 48, 51, 55, 69, 5,116,111,110,111,115, 13,100, + 0, 0, 0, 0, 0, 0, 8, 0, 8,115, 0, 0, 0,178, 0,182, 0,188, 0,156, 0,213, 0, 0, 0, 0, 0, 0, 0,143, 0,131, + 0,151, 0,159, 0,125, 0,229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,186, 0,197, 0,186, 0, 0, 0, 0, 0,164, + 0,159, 0,143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176, 0,185, + 0,138, 0, 0, 0, 0, 0,155, 0,166, 0,143, 0,119, 0, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0,105, 0,110, 0,144, 0,192, 1,137, 0,219, 0,172, 0, 0, 0, 0, 0, 0, 0,102, 0,111, 0,120, 0,150, + 0,192, 0,213, 1, 72, 0,205, 1, 21, 2,151, 0,254, 1, 47, 0,237, 1, 78, 0,121, 1, 22, 1, 76, 1,245, 2, 39, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,226, 5,182, 0,150, 0,140, 0,229, 0,150, 0,137, 0,250, + 0, 0, 1, 24, 1, 12, 3, 29, 0,153, 2, 74, 0,120, 2,182, 0,141, 0,168, 0,140, 0, 0, 0, 0, 2,121, 0,217, 0,180, + 0, 0, 0, 0, 1, 90, 0,109, 0,127, 0,160, 0, 0, 0, 0, 0,109, 0,136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0,140, 0,160, 0, 0, 0,130, 0,137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,182,252,234, 0, 17,255,235, + 0,150, 0, 0, 0, 0, 0, 0, 0,115, 0,101, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0,188, 1,170, 3, 84, 1,170, 2, 29, + 0,188, 0,182, 0, 0, 0, 0, 0, 0, 0,150, 0, 0, 0, 0, 5,182,254,188, 0,152, 0,172, 1, 57, 1,245, 1,131, 3, 29, +255,243, 0,131, 0,122, 0,134, 0, 0, 0, 0,254,111, 0,137, 0, 0, 0, 40, 0, 40, 0, 40, 0, 40, 0, 90, 0,135, 1, 28, + 1,193, 2,108, 3, 39, 3, 66, 3,111, 3,156, 3,210, 3,250, 4, 45, 4, 74, 4,105, 4,135, 4,205, 4,250, 5, 77, 5,178, + 6, 2, 6, 85, 6,179, 6,233, 7,103, 7,196, 7,245, 8, 52, 8,122, 8,174, 8,243, 9, 75, 9,234, 10, 97, 10,190, 10,255, + 11, 55, 11,111, 11,175, 11,252, 12, 51, 12,110, 12,156, 13, 28, 13, 66, 13,194, 14, 26, 14, 85, 14,147, 14,238, 15, 79, 15,156, + 15,204, 15,254, 16,101, 17, 71, 17,196, 18, 54, 18,111, 18,156, 18,186, 18,231, 19, 22, 19, 45, 19, 79, 19,164, 19,241, 20, 44, + 20,122, 20,201, 21, 17, 21,159, 21,221, 22, 25, 22, 93, 22,185, 22,231, 23, 77, 23,134, 23,192, 24, 16, 24, 95, 24,149, 24,226, + 25, 49, 25,104, 25,189, 26,130, 26,246, 27, 87, 27,145, 27,237, 28, 5, 28, 96, 28,149, 28,149, 28,191, 29, 15, 29, 98, 29,208, + 30, 87, 30,123, 31, 4, 31, 58, 31,194, 32, 22, 32, 94, 32,132, 32,140, 33, 41, 33, 62, 33,169, 33,221, 34, 40, 34,150, 34,184, + 34,250, 35, 61, 35, 95, 35,156, 35,196, 35,252, 36, 68, 36,115, 36,166, 36,211, 37, 51, 37, 75, 37, 98, 37,121, 37,145, 37,171, + 37,209, 38, 58, 38, 76, 38,100, 38,123, 38,146, 38,171, 38,195, 38,218, 38,241, 39, 10, 39, 90, 39,113, 39,137, 39,160, 39,184, + 39,207, 39,232, 40, 55, 40,165, 40,189, 40,212, 40,235, 41, 4, 41, 27, 41, 93, 41,211, 41,234, 42, 2, 42, 26, 42, 54, 42, 84, + 42,108, 42,237, 42,255, 43, 22, 43, 50, 43, 72, 43, 96, 43,119, 43,141, 43,164, 43,189, 44, 53, 44, 75, 44, 98, 44,120, 44,143, + 44,165, 44,190, 45, 9, 45,127, 45,150, 45,172, 45,194, 45,218, 45,240, 46, 65, 46, 89, 46,113, 46,135, 46,159, 46,181, 46,206, + 46,237, 47, 4, 47, 27, 47, 60, 47, 82, 47,105, 47,127, 47,150, 47,172, 47,196, 47,224, 47,232, 48, 78, 48,102, 48,124, 48,147, + 48,169, 48,192, 48,214, 48,234, 48,254, 49, 21, 49, 43, 49, 66, 49, 89, 49,116, 49,139, 49,162, 49,184, 49,206, 49,228, 49,251, + 50, 18, 50,100, 50,182, 50,205, 50,228, 50,251, 51, 18, 51, 41, 51, 63, 51, 82, 51,101, 51,124, 51,168, 51,230, 52, 75, 52, 98, + 52,121, 52,144, 52,167, 53, 4, 53, 28, 53, 51, 53, 74, 53, 97, 53,117, 53,139, 53,159, 53,183, 54, 18, 54,124, 54,147, 54,169, + 54,192, 54,215, 54,239, 55, 5, 55, 78, 55,168, 55,238, 56, 5, 56, 27, 56, 51, 56, 73, 56, 98, 56,122, 56,208, 57, 73, 57, 97, + 57,119, 57,142, 57,174, 57,198, 57,221, 57,244, 58, 10, 58, 33, 58, 55, 58, 74, 58, 95, 58,118, 58,140, 58,163, 58,185, 58,208, + 58,230, 59, 48, 59,147, 59,170, 59,192, 59,216, 59,238, 60, 6, 60, 28, 60, 53, 60, 78, 60,103, 60,127, 60,146, 60,171, 60,194, + 60,217, 60,240, 61, 6, 61, 31, 61, 54, 61, 76, 61, 99, 61,121, 61,144, 61,166, 61,215, 62, 47, 62,104, 62,156, 62,179, 62,201, + 62,224, 62,246, 63, 12, 63, 35, 63, 87, 63,139, 63,185, 63,248, 64, 46, 64,154, 64,208, 65, 9, 65, 73, 65,110, 65,193, 65,218, + 65,252, 66, 26, 66, 56, 66, 81, 66,104, 66,127, 66,150, 66,171, 66,179, 66,187, 66,232, 67,111, 67,119, 67,127, 67,135, 67,231, + 67,239, 67,247, 68,111, 68,119, 68,127, 68,190, 68,198, 68,235, 68,243, 69, 78, 69, 86, 69, 94, 69,241, 69,249, 70, 95, 70,201, + 70,226, 70,251, 71, 18, 71, 40, 71, 62, 71, 84, 71,109, 71,199, 72, 43, 72,129, 72,226, 73, 57, 73,176, 73,232, 74, 65, 74,108, + 74,116, 74,211, 75, 20, 75,107, 75,248, 76, 0, 76, 94, 76,167, 77, 4, 77, 71, 77,143, 77,200, 78, 42, 78,211, 79, 51, 79,187, + 79,211, 79,236, 80, 2, 80, 24, 80, 46, 80, 71, 80,175, 80,198, 81, 19, 81, 27, 81, 35, 81, 60, 81, 68, 81,188, 82, 8, 82, 93, + 82,116, 82,139, 82,196, 82,204, 83, 9, 83, 17, 83, 25, 83,128, 83,136, 84, 21, 84,116, 84,197, 84,221, 85, 55, 85,141, 85,149, + 85,157, 85,165, 85,173, 85,181, 85,189, 85,197, 86, 66, 86, 74, 86, 82, 86,135, 86,188, 87, 1, 87, 93, 87,159, 87,239, 88, 44, + 88,124, 88,232, 89, 71, 89, 79, 89,166, 90, 5, 90, 45, 90,139, 90,147, 91, 62, 91,153, 91,246, 92, 18, 92,113, 92,246, 93,128, + 93,184, 93,192, 93,231, 93,239, 93,247, 94, 40, 94, 48, 94,144, 94,152, 94,204, 95, 1, 95, 69, 95,152, 95,220, 96, 52, 96,115, + 96,209, 97, 51, 97,142, 97,166, 98, 10, 98, 32, 98,121, 98,129, 98,137, 98,162, 98,170, 99, 26, 99,112, 99,120, 99,142, 99,164, + 99,222,100, 16,100, 58,100, 82,100,105,100,128,100,150,100,175,100,200,100,224,100,247,101, 16,101, 38,101, 60,101,110,101,150, +101,197,101,249,102, 32,102, 99,102,176,102,253,103, 49,103,122,103,164,103,246,104,185,104,193,104,201,104,254,105, 38,105, 68, +105,100,105,162,105,242,106,103,106,221,107, 80,107,228,108, 79,109, 10,109,109,109,117,109,195,109,254,110, 53,110,110,110,167, +110,250,111,124,111,168,112, 1,112, 27,112, 72,112,178,112,232,113, 65,113,157,113,235,114, 55,114,118,114,212,115, 31,115, 78, +115,130,115,162,115,195,115,228,116, 22,116, 97,116,182,116,255,117, 45,117,161,117,239,117,239,117,239,117,239,117,239,117,239, +117,239,117,239,117,239,117,239,117,239,117,239,117,239,117,239,119, 67,119,192,119,210,119,218,120,119,120,241,121,122,121,145, +121,167,121,191,121,215,121,252,122, 83,122,157,123, 25,123,148,123,253,124, 89,124,173,125, 17,125, 25,125, 33,125, 41,125,108, +125,140,125,164,125,188,125,211,125,234,126,126,127, 2,127, 86,127,172,128, 27,128,136,129, 6,129,155,130, 81,130,235,131, 85, +131,208,132, 81,132,226,133,190,134,162,134,170,134,178,135, 13,135, 89,135,179,136, 18,136, 44,136, 69,136,233,137,144,138, 28, +138,155,139,132,140, 86,141, 26,141,219,142, 45,142,120,142,249,143, 41,143, 90,143,138,143,188,144,100,145, 13,145,135,146, 22, +146,104,146,192,147, 48,147,193,147,244,148, 38,148,125,148,213,149, 58,149,151,149,170,149,191,150, 25,150, 95,150,199,151, 43, +151,138,151,241,152, 63,152,138,152,206,153, 21,153, 85,153,140,153,229,154, 74,154,245,155,170,155,190,155,209,156, 13,156, 63, +156, 71,156,158,157, 36,157,148,158, 8,158,139,158,196,159, 0,159, 71,159,146,159,233,160, 70,160,125,160,192,161, 60,161,185, +162, 67,162,204,162,212,162,235,163, 1,163,104,163,199,164, 37,164,112,164,196,165, 21,165, 93,165,159,165,235,166, 60,166,220, +167,126,167,134,167,158,167,180,167,206,167,230,167,238,167,246,168, 14,168, 36,168,133,168,230,168,255,169, 23,169, 49,169, 74, +169,100,169,125,169,212,170, 46,170, 69,170, 91,170,116,170,140,170,165,170,190,170,198,170,206,170,231,171, 0,171, 26,171, 51, +171, 74,171, 96,171,122,171,146,171,171,171,195,171,220,171,244,172, 37,172, 81,172,106,172,130,172,212,173, 37,173, 62,173, 90, +173,212,174, 93,174,156,174,164,175, 9,175,127,175,246,176,105,176,213,177, 62,177,175,178, 18,178,100,178,186,179, 28,179,120, +179,193,180, 10,180,127,180,135,180,143,180,151,180,173,180,195,180,218,180,240,181, 9,181, 33,181, 59,181, 84,181,109,181,133, +181,158,181,182,181,215,181,247,182, 16,182, 40,182, 65,182, 89,182,114,182,138,182,164,182,188,182,223,182,255,183, 21,183, 43, +183, 66,183, 88,183,111,183,133,183,158,183,182,183,208,183,233,184, 2,184, 26,184, 52,184, 76,184,109,184,141,184,164,184,186, +184,208,184,231,184,254,185, 20,185, 43,185, 65,185, 90,185,114,185,140,185,165,185,190,185,214,185,239,186, 7,186, 43,186, 75, +186, 98,186,117,186,141,186,162,186,186,186,209,186,233,186,254,187, 21,187, 44,187, 66,187, 88,187,111,187,133,187,157,187,178, +187,202,187,224,187,248,188, 15,188, 38,188, 57,188, 80,188,103,188,125,188,147,188,170,188,192,188,215,188,237,189,126,189,195, +190, 21,190,103,190,216,191, 79,191,152,191,225,192, 77,192,190,192,241,193, 28,193, 71, 0, 0, 0, 2, 0,193, 0, 0, 4, 10, + 5,182, 0, 3, 0, 7, 0, 39, 64, 21, 5, 96, 2, 1, 2, 2, 9, 4, 0, 3,112, 3,128, 3, 3, 3, 4, 3, 7, 0, 3, 0, + 63, 50, 47, 51, 1, 47, 93, 51, 17, 51, 47, 93, 51, 49, 48, 19, 33, 17, 33, 55, 33, 17, 33,193, 3, 73,252,183,104, 2,121,253, +135, 5,182,250, 74,104, 4,230, 0, 2, 1,231,255,227, 2,229, 5,182, 0, 3, 0, 11, 0, 52, 64, 28, 1, 0, 3, 6,150, 2, + 10, 10, 12, 13, 47, 0, 1, 0, 0, 2, 21, 4, 1, 6, 4, 1, 4,155, 8,168, 2, 3, 0, 63, 63,225, 93, 93, 17, 57, 47, 93, + 17, 18, 1, 57, 47, 51,225, 50, 57, 57, 49, 48, 1, 35, 3, 51, 3, 50, 21, 20, 35, 34, 53, 52, 2,164,121, 51,223,113,127,127, +127, 1,158, 4, 24,251, 68,139,140,140,139, 0, 0, 2, 1, 29, 3,166, 3,176, 5,182, 0, 3, 0, 7, 0, 46, 64, 28, 4,207, + 7, 1,160, 7, 1, 79, 7, 1, 7, 0, 32, 3, 48, 3,144, 3,160, 3, 4, 3, 6, 1,158, 7, 0, 3, 0, 63, 50,237, 50, 1, + 47, 93,193, 47, 93, 93, 93,193, 49, 48, 1, 3, 35, 3, 33, 3, 35, 3, 2, 10, 41,155, 41, 2,147, 41,155, 41, 5,182,253,240, + 2, 16,253,240, 2, 16, 0, 2, 0, 45, 0, 0, 4,160, 5,182, 0, 27, 0, 31, 0,184, 64,115, 28, 8, 20, 9,171, 10, 18, 15, + 14, 11, 4, 10, 19,170, 20, 4, 1, 0, 25, 4, 24, 5,170, 6, 22, 30, 29, 7, 4, 6, 23,171, 24, 31, 21, 10, 20, 64, 2, 80, + 2, 2, 16, 10, 20, 6, 24, 2, 2, 24, 6, 20, 10, 16, 6,208, 26,240, 26, 2,127, 26,159, 26, 2, 26,224, 12,240, 12, 2, 12, + 8, 4, 12,174, 13, 28, 1, 13, 31, 0, 16,174, 17, 25, 21, 17, 63, 17, 79, 17,127, 17,143, 17,159, 17, 5, 63, 13, 79, 13, 2, + 13, 17, 13, 17, 5, 23, 19, 3, 10, 5, 18, 0, 63, 51, 63, 51, 18, 57, 57, 47, 47, 93, 93, 17, 51, 51, 16,225, 50, 50, 17, 51, + 51, 16,225, 50, 50, 1, 47, 93, 47, 93, 93, 23, 57, 47, 47, 47, 47, 47, 47, 93, 17, 18, 57, 57, 16,225, 17, 23, 57, 16,225, 17, + 23, 57, 16,225, 17, 23, 57, 16,225, 17, 57, 57, 49, 48, 1, 3, 51, 21, 33, 3, 35, 19, 33, 3, 35, 19, 35, 53, 51, 19, 35, 53, + 33, 19, 51, 3, 33, 19, 51, 3, 51, 21, 1, 33, 19, 33, 3,168, 64,240,254,246, 82,148, 84,254,222, 82,144, 78,217,244, 65,233, + 1, 2, 82,147, 82, 1, 37, 84,144, 84,221,253, 20, 1, 35, 64,254,221, 3,125,254,184,137,254, 84, 1,172,254, 84, 1,172,137, + 1, 72,137, 1,176,254, 80, 1,176,254, 80,137,254,184, 1, 72, 0, 3, 0,182,255,137, 4, 20, 6, 18, 0, 28, 0, 34, 0, 39, + 0,205, 64,134, 19, 36, 1, 4, 36, 1, 19, 35, 1, 4, 35, 1, 19, 9, 1, 6, 9, 1, 3, 8, 19, 8, 2, 2, 3, 18, 3, 2, + 2, 2, 18, 2, 2, 4, 1, 20, 1, 2, 4, 0, 20, 0, 2, 36, 24, 18, 1,112, 29, 15, 8, 2, 2, 5, 72, 38, 88, 38,120, 38, + 3, 38,110, 20, 27, 64, 17, 20, 72, 64, 27, 80, 27, 2, 27, 41, 5, 5, 32,110, 0, 12,144, 12,160, 12,208, 12, 4, 12, 23, 30, +115, 15, 38, 35, 9, 24, 29, 32, 6, 3, 21, 18, 15, 95, 16,111, 16,127, 16, 3, 16, 16, 15, 15, 47, 15, 63, 15, 95, 15, 4, 15, + 36, 8,115, 3, 6, 3, 2, 2, 0, 3,184,255,192,179, 10, 14, 72, 3, 0, 47, 43, 51, 51, 47, 17, 51, 16,225, 50, 47, 93, 51, + 47, 93, 17, 51, 51, 18, 23, 57, 16,225, 50, 1, 47, 93,225, 51, 47, 16,222, 93, 43, 50,225, 93, 17, 57, 47, 51, 51, 51,225, 50, + 50, 50, 49, 48, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 37, 21, 35, 53, 34, 39, 53, 22, 51, 17, 38, 38, 53, 52, 54, 55, 53, + 51, 21, 22, 23, 7, 38, 39, 17, 22, 22, 21, 16, 1, 17, 6, 21, 20, 22, 23, 17, 54, 53, 52, 2,172,137,228,137,196,169,193,155, +184,164,137,187,149, 66,140,130,199,161,254, 15,172, 81,228,184,111,230,221, 70,172, 92, 1,178, 64,163,138,131,172, 20,180,176, + 9, 69,145, 62, 10,254, 90, 68,161,130,254,232, 2,176, 1,113, 29,145, 78, 86,250,254,139, 28,156,127, 0, 5, 0, 0,255,238, + 4,205, 5,199, 0, 11, 0, 19, 0, 23, 0, 35, 0, 43, 0,207,185, 0, 34,255,224,179, 9, 13, 72, 32,184,255,224, 64, 14, 9, + 13, 72, 28, 32, 9, 13, 72, 26, 32, 9, 13, 72, 10,184,255,224,179, 9, 13, 72, 8,184,255,224, 64, 33, 9, 13, 72, 4, 32, 9, + 13, 72, 2, 32, 9, 13, 72,103, 42,151, 42,167, 42, 3, 42,180, 27,181, 33, 21, 22, 23, 20, 0, 22, 1, 22,184,255,192, 64, 26, + 21, 24, 72, 15, 20, 1, 20, 64, 21, 24, 72, 22, 20, 22, 20, 3,104, 38,152, 38,168, 38, 3, 38,180, 33,184,255,192, 64, 46, 21, + 24, 72, 33, 45,104, 14,152, 14,168, 14, 3, 14,180, 9,181,103, 18,151, 18,167, 18, 3, 18,180, 3, 40,182, 30,183, 36,182, 24, + 25, 23, 6, 21, 24, 12,182, 0,183, 16,182, 6, 7, 0, 63,225,244,225, 63, 63, 63,225,244,225, 1, 47,225, 93,244,225, 93, 16, +212, 43,225, 93, 18, 57, 57, 47, 47, 43, 93, 43, 93, 17, 51, 17, 51, 16,244,225, 93, 49, 48, 43, 43, 43, 43, 43, 43, 43, 43, 1, + 34, 38, 53, 52, 54, 51, 50, 22, 21, 20, 6, 39, 50, 53, 52, 35, 34, 21, 20, 1, 1, 35, 1, 19, 34, 38, 53, 52, 54, 51, 50, 22, + 21, 20, 6, 39, 50, 53, 52, 35, 34, 21, 20, 1, 35,131,160,158,137,129,162,157,136,139,139,141, 3,137,253, 39,158, 2,217, 35, +130,161,158,137,129,162,157,136,139,139,141, 3, 16,189,160,164,182,186,160,162,187,119,230,225,225,230, 2, 47,250, 74, 5,182, +250, 56,189,159,164,182,186,160,161,187,118,230,225,225,230, 0, 0, 3, 0, 61,255,236, 4,203, 5,205, 0, 26, 0, 37, 0, 45, + 0,229, 64, 15, 17, 39, 38, 9, 4, 8, 19, 8, 27, 0, 1, 6, 4, 7, 36,184,255,240, 64, 48, 14, 17, 72, 64, 36, 1, 52, 36, + 1, 36, 71, 19, 30, 16, 14, 17, 72, 79, 30, 1, 59, 30, 1, 6, 30, 71, 25, 32, 19, 48, 19, 2,192, 25,208, 25, 2, 19, 25, 19, + 25, 14,121, 3, 1, 3, 71, 4,184,255,192, 64, 28, 9, 18, 72, 4, 4, 7, 7, 47, 41, 72, 14, 64, 10, 16, 72, 14, 70, 6, 1, + 70, 1, 86, 1, 2, 55, 1, 1, 27,184,255,248, 64, 55, 11, 14, 72, 27, 0, 1, 6, 4, 8, 33, 80, 22, 88, 9, 1, 88, 38, 1, + 56, 39, 88, 39, 2, 41, 39, 1, 40, 17, 1, 17, 39, 38, 9, 4, 8, 22, 15, 3, 31, 3, 79, 3,127, 3, 4, 3, 3, 22, 4, 44, + 81, 11, 22, 8, 21, 0, 63, 63,225, 63, 57, 47, 93, 17, 18, 23, 57, 93, 93, 93, 93, 93, 16,225, 17, 23, 57, 43, 93, 93, 93, 1, + 47, 43,225, 17, 51, 47, 51, 47, 43,225, 93, 18, 57, 57, 47, 47, 93, 93, 16,225, 95, 93, 93, 43, 16,225, 93, 93, 43, 17, 23, 57, + 51, 17, 18, 23, 57, 49, 48, 1, 1, 54, 55, 51, 6, 7, 19, 35, 39, 6, 35, 34, 38, 53, 52, 54, 55, 38, 53, 52, 54, 51, 50, 22, + 21, 20, 5, 54, 54, 53, 52, 38, 35, 34, 6, 21, 20, 1, 1, 6, 21, 20, 22, 51, 50, 2, 90, 1, 25, 71, 33,184, 53,125,234,217, +131,174,238,189,217,127,172,163,191,179,168,185,254,100,134, 99, 99, 81, 87, 99, 1,147,254,189,203,134, 93,160, 3, 8,254,164, +121,145,234,169,254,221,166,186,214,187,131,195,102,192,164,148,172,171,149,203, 65, 79,119, 74, 74, 92, 89, 81,118,253, 8, 1, +145,123,178,105,141, 0, 0, 1, 1,240, 3,166, 2,221, 5,182, 0, 3, 0, 24, 64, 13, 0,160, 3,224, 3,240, 3, 3, 3, 1, +158, 0, 3, 0, 63,237, 1, 47, 93,193, 49, 48, 1, 3, 35, 3, 2,221, 41,155, 41, 5,182,253,240, 2, 16, 0, 0, 1, 1, 39, +254,188, 3,164, 5,182, 0, 9, 0, 39, 64, 21, 6, 5, 5, 0, 1, 1, 11, 3,240, 31, 8,127, 8,143, 8, 3, 8, 6,249, 0, +248, 0, 63, 63, 1, 47, 93,225, 17, 51, 47, 51, 51, 17, 51, 49, 48, 1, 51, 0, 17, 16, 1, 35, 0, 17, 16, 2,227,193,254, 63, + 1,191,191,254, 68, 5,182,254,136,253,251,253,247,254,140, 1, 97, 2, 26, 2, 20, 0, 0, 1, 1, 41,254,188, 3,166, 5,182, + 0, 9, 0, 39, 64, 21, 3,240, 16, 8,112, 8,128, 8, 3, 8, 8, 11, 0, 1, 1, 6, 5, 6,248, 0,249, 0, 63, 63, 1, 47, + 51, 51, 17, 51, 17, 51, 47, 93,225, 49, 48, 1, 35, 0, 17, 16, 1, 51, 0, 17, 16, 1,233,190, 1,190,254, 64,192, 1,189,254, +188, 1,115, 2, 10, 2, 6, 1,119,254,151,253,234,253,228, 0, 0, 1, 0,133, 2,119, 4, 72, 6, 20, 0, 14, 0, 36, 64, 21, +244, 7, 1, 7, 5, 9, 7, 4, 10, 3, 11, 1, 13, 2, 12, 11, 8, 6, 6, 0, 0, 0, 63, 50, 47, 51, 23, 57, 1, 25, 47, 93, + 49, 48, 1, 3, 37, 23, 5, 19, 7, 3, 3, 39, 19, 37, 55, 5, 3, 2,203, 43, 1,141, 27,254,133,246,179,176,157,185,242,254, +137, 29, 1,135, 43, 6, 20,254,119,111,193, 28,254,186, 96, 1,102,254,154, 96, 1, 70, 28,193,111, 1,137, 0, 0, 1, 0,152, + 1, 6, 4, 51, 4,162, 0, 11, 0, 31, 64, 16, 9, 6,170, 0,192, 3,208, 3, 2, 3, 9, 0,173, 6, 3,179, 0, 63, 51,225, + 50, 1, 47, 93, 51,225, 50, 49, 48, 1, 33, 53, 33, 17, 51, 17, 33, 21, 33, 17, 35, 2, 27,254,125, 1,131,149, 1,131,254,125, +149, 2,135,150, 1,133,254,123,150,254,127, 0, 0, 1, 1,184,254,223, 3, 18, 1, 6, 0, 6, 0, 63, 64, 25, 25, 6, 41, 6, +233, 6,249, 6, 4, 6,152, 1,153,112, 4,128, 4,208, 4,224, 4,240, 4, 5, 4,184,255,192, 64, 15, 9, 12, 72, 4, 4, 7, + 8, 3,158, 31, 6, 47, 6, 2, 6, 0, 47, 93,237, 17, 18, 1, 57, 47, 43, 93,253,225, 93, 49, 48, 1, 23, 6, 3, 35, 18, 55, + 3, 2, 16, 57,137,152, 76, 35, 1, 6, 24,224,254,209, 1, 67,228, 0, 0, 1, 1, 29, 1,209, 3,176, 2,121, 0, 3, 0, 32, + 64, 18,128, 2,144, 2, 2, 2, 2, 5, 32, 0, 48, 0, 2, 0, 0,185, 1,189, 0, 63,225, 1, 47, 93, 17, 51, 47, 93, 49, 48, + 1, 53, 33, 21, 1, 29, 2,147, 1,209,168,168, 0, 1, 1,207,255,225, 2,254, 1, 45, 0, 7, 0, 29, 64, 15, 2,151, 48, 6, +176, 6, 2, 6, 6, 8, 9, 0,156, 4,168, 0, 63,237, 17, 18, 1, 57, 47, 93,237, 49, 48, 1, 50, 21, 20, 35, 34, 53, 52, 2, +102,152,152,151, 1, 45,166,166,166,166, 0, 1, 0,211, 0, 0, 3,248, 5,182, 0, 3, 0, 28, 64, 12, 3, 0, 0, 5, 1, 2, + 2, 4, 3, 3, 1, 18, 0, 63, 63, 17, 1, 51, 47, 51, 17, 51, 47, 50, 49, 48, 1, 1, 35, 1, 3,248,253,141,178, 2,115, 5, +182,250, 74, 5,182, 0, 0, 2, 0,147,255,236, 4, 57, 5,205, 0, 9, 0, 21, 0, 54, 64, 18, 13,111,208, 8, 1, 8, 23, 19, +111, 0, 3, 16, 3, 32, 3, 3, 7, 3,184,255,192, 64, 12, 21, 24, 72, 3, 16,115, 5, 7, 10,115, 0, 25, 0, 63,225, 63,225, + 1, 47, 43, 94, 93,225, 16,222, 93,225, 49, 48, 5, 34, 2, 17, 16, 33, 50, 18, 17, 16, 37, 50, 18, 17, 16, 2, 35, 34, 2, 17, + 16, 18, 2,100,229,236, 1,209,232,237,254, 43,147,138,138,147,145,135,135, 20, 1,131, 1,110, 2,240,254,125,254,147,253, 15, +155, 1, 25, 1, 61, 1, 59, 1, 25,254,233,254,195,254,194,254,232, 0, 0, 1, 0,225, 0, 0, 2,246, 5,182, 0, 10, 0, 43, + 64, 22, 9, 1, 8, 8, 0,110, 0, 1, 16, 1, 2, 6, 1, 1, 12, 11, 4, 7, 9, 6, 0, 24, 0, 63, 63,205, 57, 17, 18, 1, + 57, 47, 94, 93,225, 51, 47, 17, 51, 49, 48, 33, 35, 17, 52, 55, 6, 7, 7, 39, 1, 51, 2,246,176, 8, 39, 82,147, 97, 1,127, +150, 3,145,122,239, 43, 70,121,123, 1, 43, 0, 0, 1, 0,158, 0, 0, 4, 45, 5,203, 0, 23, 0, 85, 64, 29,144, 23,160, 23, +176, 23, 3, 23, 23, 6,111,255, 17, 1, 17, 64, 15, 19, 72, 17, 25,213, 22,229, 22,245, 22, 3, 22,184,255,232, 64, 23, 9, 12, + 72, 22, 12, 0, 1,176, 1, 2, 1, 6, 1, 11, 9,115, 14, 7, 2, 22,116, 1, 24, 0, 63,225, 50, 63,225, 51, 18, 57, 1, 47, + 93, 50, 50, 43, 93, 16,222, 43, 93,225, 51, 47, 93, 49, 48, 33, 33, 53, 1, 54, 54, 53, 52, 38, 35, 34, 7, 39, 54, 51, 50, 22, + 21, 20, 6, 7, 1, 21, 33, 4, 45,252,113, 1, 94,195,124,127,108,160,158,102,192,230,194,224,118,232,254,231, 2,176,156, 1, +125,213,209,126,113,131,137,119,172,212,179,119,250,250,254,213, 8, 0, 0, 1, 0,131,255,236, 4, 31, 5,203, 0, 34, 0, 95, + 64, 58, 11, 19, 27, 19, 2, 0, 16, 21,111, 32, 32, 3, 95, 16, 1, 16, 16, 8, 13,111,159, 3,175, 3, 2, 3, 36, 27,207, 8, +223, 8,239, 8, 3, 0, 8, 1, 8, 0, 16,115,104, 17, 1, 17, 17, 11, 26, 24,115, 29, 7, 11,115, 9, 6, 25, 0, 63, 51,225, + 63,225, 51, 18, 57, 47, 93,225, 57, 1, 47, 93, 93, 51, 16,222, 93,225, 17, 57, 47, 93, 17, 51, 47,225, 18, 57, 49, 48, 93, 1, + 21, 4, 17, 20, 4, 33, 34, 39, 53, 22, 51, 32, 17, 16, 33, 35, 53, 51, 50, 54, 53, 52, 38, 35, 34, 7, 39, 54, 51, 50, 22, 21, + 20, 6, 2,182, 1,105,254,236,254,251,242,145,184,199, 1, 98,254,131,133,133,160,176,136,114,178,166, 92,187,249,206,231,164, + 3, 2, 6, 47,254,211,203,233, 79,170, 96, 1, 33, 1, 2,151,152,125,102,119,121,125,150,198,165,138,186, 0, 0, 2, 0, 61, + 0, 0, 4,102, 5,190, 0, 10, 0, 18, 0, 86, 64, 24, 7, 16, 9, 15, 72, 11, 7, 3,110, 9, 0, 2, 64, 16, 19, 72, 0, 2, + 1, 2, 2, 19, 20, 18,184,255,240, 64, 24, 11, 15, 72, 18, 5, 64, 10, 16, 72, 5, 1, 4,116, 9, 6, 14, 7, 11, 11, 2, 7, + 6, 2, 24, 0, 63, 63, 18, 57, 47, 18, 57, 51, 51,225, 50, 1, 47, 43, 51, 43, 17, 18, 57, 47, 93, 43, 51, 51,225, 50, 50, 49, + 48, 43, 1, 35, 17, 35, 17, 33, 53, 1, 51, 17, 51, 33, 17, 52, 19, 35, 6, 7, 1, 4,102,213,176,253, 92, 2,152,188,213,254, +123, 13, 9, 36, 54,254,101, 1, 72,254,184, 1, 72,159, 3,215,252, 48, 1,100,176, 1, 0,102, 78,253,160, 0, 0, 1, 0,172, +255,236, 4, 31, 5,182, 0, 24, 0, 82, 64, 49, 13, 64, 11, 15, 72, 13, 13, 0, 5,111,159, 20,175, 20, 2, 20, 26, 14, 15, 15, + 11, 9, 10, 10, 0, 0,144, 0,160, 0,176, 0, 4, 0, 9, 7,115, 17, 17, 11, 3,115, 1, 23, 25, 14,116, 11, 6, 0, 63,225, + 63, 51,225, 17, 57, 47,225, 51, 1, 47, 93, 51, 47, 51, 51, 51, 17, 51, 16,222, 93,225, 18, 57, 47, 43, 49, 48, 55, 53, 22, 51, + 32, 17, 16, 33, 34, 7, 39, 19, 33, 21, 33, 3, 54, 51, 50, 4, 21, 20, 4, 35, 34,172,144,216, 1, 80,254,168, 89,142, 90, 55, + 2,178,253,236, 39,107,102,210, 1, 3,254,236,251,224, 59,172, 96, 1, 58, 1, 38, 26, 57, 2,176,166,254, 93, 20,229,199,234, +255, 0, 0, 2, 0,154,255,236, 4, 51, 5,203, 0, 21, 0, 33, 0, 79, 64, 22, 1, 64, 11, 15, 72, 1, 1, 18, 22,110,191, 12, + 1, 12, 35, 6, 28,111, 0, 18, 1, 18,184,255,192, 64, 22, 20, 24, 72, 18, 6, 25,117,127, 9, 1, 9, 9, 31, 3,115, 1, 20, + 7, 31,115, 15, 25, 0, 63,225, 63, 51,225, 18, 57, 47, 93,225, 50, 1, 47, 43, 93,225, 50, 16,222, 93,225, 18, 57, 47, 43, 49, + 48, 1, 21, 38, 35, 34, 2, 3, 51, 54, 51, 50, 22, 21, 20, 2, 35, 34, 0, 17, 16, 33, 50, 19, 52, 38, 35, 34, 6, 21, 20, 22, + 51, 50, 54, 3,197, 71, 95,224,225, 10, 12, 95,212,195,221,241,203,218,254,253, 2,127,104, 2,137,127,127,172,162,131,127,143, + 5,184,155, 24,254,230,254,206,170,238,206,228,254,249, 1, 81, 1, 52, 3, 90,252, 12,145,156,162,104,152,221,176, 0, 0, 1, + 0,143, 0, 0, 4, 59, 5,182, 0, 6, 0, 71, 64, 48,121, 6,137, 6, 2, 71, 6, 87, 6, 2, 7, 6, 23, 6, 39, 6, 3, 6, + 0, 0, 2, 8, 1, 24, 1, 40, 1, 3, 1, 5, 8, 0, 2,208, 2,224, 2,240, 2, 4, 2, 5, 2,116, 3, 6, 0, 24, 0, 63, + 63,225, 50, 1, 47, 93, 16,206, 50, 93, 17, 57, 47, 51, 93, 49, 48, 93, 93, 33, 1, 33, 53, 33, 21, 1, 1, 78, 2, 51,253, 14, + 3,172,253,213, 5, 16,166,145,250,219, 0, 3, 0,156,255,236, 4, 49, 5,205, 0, 19, 0, 30, 0, 41, 0,124, 64, 31, 10, 31, + 12, 38,110, 2, 20, 0, 2, 28,110, 12, 22,110, 18, 12, 18, 12, 18, 8,191, 2, 1, 2, 43, 33,110, 0, 8, 1, 8,184,255,192, +183, 20, 24, 72, 8,215, 20, 1, 20,184,255,240, 64, 34, 12, 15, 72, 7, 20, 23, 20, 2, 57, 31, 89, 31,105, 31,121, 31, 4, 42, + 31, 1, 31, 10, 0, 20, 4, 35, 25,115, 15, 7, 35,115, 5, 25, 0, 63,225, 63,225, 18, 23, 57, 93, 93, 93, 43, 93, 1, 47, 43, + 93,225, 16,206, 93, 17, 57, 57, 47, 47, 16,225, 16,225, 17, 57, 57, 16,225, 17, 57, 57, 49, 48, 1, 4, 21, 20, 6, 35, 34, 38, + 53, 16, 37, 38, 53, 52, 54, 51, 50, 22, 21, 20, 5, 54, 53, 52, 38, 35, 34, 6, 21, 20, 22, 23, 6, 21, 20, 33, 50, 54, 53, 52, + 38, 39, 2,252, 1, 53,252,207,216,242, 1, 26,235,233,178,184,228,254,102,232,126,110,106,125, 99,108,254, 1, 20,136,149,126, +151, 3, 6,160,233,181,220,207,186, 1, 1,136,146,223,161,189,190,162,230, 55,103,175,101,106,106,101, 90,125,215,121,204,240, +131,117, 90,139, 74, 0, 0, 2, 0,154,255,236, 4, 51, 5,203, 0, 21, 0, 33, 0, 78,185, 0, 1,255,192, 64, 20, 11, 15, 72, + 1, 1, 12, 6, 28,111,191, 18, 1, 18, 35, 22,110, 0, 12, 1, 12,184,255,192, 64, 19, 20, 24, 72, 12, 6, 25,117, 9, 9, 15, + 3,117, 1, 20, 25, 31,115, 15, 7, 0, 63,225, 63, 51,225, 17, 57, 47,225, 50, 1, 47, 43, 93,225, 16,222, 93,225, 50, 18, 57, + 47, 43, 49, 48, 5, 53, 22, 51, 50, 18, 19, 35, 6, 35, 34, 38, 53, 52, 18, 51, 50, 0, 17, 16, 33, 34, 3, 20, 22, 51, 50, 54, + 53, 52, 38, 35, 34, 6, 1, 8, 67, 99,224,225, 10, 12, 96,212,194,221,241,203,220, 1, 1,253,129,105, 1,137,127,127,172,160, +133,128,142, 2,156, 25, 1, 26, 1, 50,170,236,208,228, 1, 8,254,170,254,209,252,166, 3,243,145,156,163,103,151,222,174, 0, + 0, 2, 1,231,255,227, 2,229, 4,102, 0, 7, 0, 15, 0, 45, 64, 27, 10, 2,150, 14, 48, 6, 96, 6,176, 6,224, 6,240, 6, + 5, 6, 6, 16, 17, 8,155, 12,168, 4,155, 0, 16, 0, 63,237, 63,237, 17, 18, 1, 57, 47, 93, 51,237, 50, 49, 48, 1, 50, 21, + 20, 35, 34, 53, 52, 19, 50, 21, 20, 35, 34, 53, 52, 2,102,127,127,127,127,127,127,127, 4,102,139,139,139,139,252,148,139,140, +140,139, 0, 2, 1,154,254,248, 2,236, 4,102, 0, 7, 0, 14, 0, 68, 64, 46, 25, 14, 41, 14,233, 14,249, 14, 4, 14,152, 12, +153, 9, 9, 2,150, 48, 6, 96, 6,176, 6,224, 6,240, 6, 5, 6, 6, 15, 16, 11,157, 31, 14, 47, 14, 63, 14, 3, 14, 4,155, + 0, 16, 0, 63,237, 47, 93,237, 17, 18, 1, 57, 47, 93,237, 50, 47,237,225, 93, 49, 48, 1, 50, 21, 20, 35, 34, 53, 52, 19, 23, + 6, 3, 35, 54, 55, 2,109,127,127,127,215, 14, 51,125,137, 62, 38, 4,102,139,139,139,139,252,136, 23,197,254,230,255,247, 0, + 0, 1, 0,152, 0,221, 4, 51, 4,201, 0, 6, 0, 97, 64, 61,103, 6,119, 6,135, 6, 3,104, 4,120, 4,136, 4, 3,118, 5, +134, 5, 2, 5, 4, 1, 4, 0, 8, 1, 1, 7, 2, 1, 5, 5, 3, 6,224, 0, 1,223, 0, 1, 64, 0, 1, 63, 0, 1, 0, 0, + 1, 0, 0, 4, 32, 3,192, 3, 2, 15, 3, 1, 3, 0, 47, 93, 93, 51, 51, 47, 93, 93, 93, 93, 93, 50, 18, 57, 17, 51, 51, 17, + 1, 51, 47, 16,206, 50, 17, 18, 57, 93, 49, 48, 0, 93, 93, 37, 1, 53, 1, 21, 1, 1, 4, 51,252,101, 3,155,253, 53, 2,203, +221, 1,195,102, 1,195,160,254,170,254,170, 0, 0, 2, 0,152, 1,186, 4, 51, 3,233, 0, 3, 0, 7, 0, 64, 64, 39, 7, 2, + 9, 4, 0, 1, 1, 1, 1, 8, 5,173,112, 4, 1, 79, 4, 95, 4,111, 4, 3, 0, 4, 1, 4, 4, 0,173,143, 1, 1, 80, 1, + 1, 15, 1, 1, 1, 0, 47, 93, 93, 93,225, 51, 47, 93, 93, 93,225, 17, 1, 51, 47, 93, 51, 16,206, 50, 49, 48, 19, 53, 33, 21, + 1, 53, 33, 21,152, 3,155,252,101, 3,155, 3, 84,149,149,254,102,150,150, 0, 0, 1, 0,152, 0,221, 4, 51, 4,201, 0, 6, + 0, 95, 64, 60,104, 2,120, 2,136, 2, 3,103, 0,119, 0,135, 0, 3,121, 1,137, 1, 2, 1, 6, 4, 8, 2, 6, 6, 7, 5, + 4, 1, 1, 3, 0,224, 6, 1,223, 6, 1, 64, 6, 1, 63, 6, 1, 0, 6, 1, 6, 6, 2, 32, 3,192, 3, 2, 15, 3, 1, 3, + 0, 47, 93, 93, 51, 51, 47, 93, 93, 93, 93, 93, 51, 18, 57, 17, 51, 51, 17, 1, 51, 47, 51, 16,206, 17, 57, 93, 49, 48, 0, 93, + 93, 19, 1, 1, 53, 1, 21, 1,152, 2,202,253, 54, 3,155,252,101, 1,125, 1, 86, 1, 86,160,254, 61,102,254, 61, 0, 0, 2, + 0,168,255,227, 4, 35, 5,203, 0, 25, 0, 33, 0, 74, 64, 42, 25, 0, 0, 28,150, 32, 32, 13, 7, 71, 18, 35, 32, 35, 1, 0, + 13, 1, 13, 7, 15, 47, 0, 1, 0, 0, 15, 21, 26, 1, 6, 26, 1, 26,155, 30,168, 12, 10, 81, 15, 4, 0, 63,225, 51, 63,225, + 93, 93, 17, 57, 47, 93, 18, 57, 1, 47, 93, 93, 16,222,225, 17, 57, 47,229, 51, 17, 51, 49, 48, 1, 53, 52, 54, 55, 54, 54, 53, + 52, 38, 35, 34, 7, 39, 54, 51, 50, 22, 21, 20, 6, 7, 6, 6, 21, 21, 7, 50, 21, 20, 35, 34, 53, 52, 1,209, 92,115,130, 83, +149,132,174,197, 65,209,217,214,251,107,143,118, 66, 72,127,127,127, 1,158, 37,120,150, 82, 97,116,100, 92,115, 90,153, 97,195, +164,133,166,108, 87,108, 90, 18,164,139,140,140,139, 0, 0, 2, 0, 31,255, 74, 4,174, 5,182, 0, 46, 0, 56, 0,143, 64, 90, + 22, 52, 1, 52,211, 6, 0, 47, 24, 56, 1, 56,211, 14, 11, 30, 14, 28, 6, 1,212, 14, 1, 96, 14, 1, 25, 14, 1, 4, 14, 1, + 6, 14, 6, 14, 36, 9, 19, 1, 19,210, 42, 58, 6, 25, 1, 25,210, 36, 17, 54,213, 3, 45, 3, 49,213, 9, 63, 3, 79, 3,143, + 3,207, 3,223, 3, 5, 48, 9, 64, 9,208, 9, 3, 3, 9, 3, 9, 28, 22,214, 39, 3, 28,214, 30, 33, 0, 47, 51,225, 63,225, + 18, 57, 57, 47, 47, 93, 93, 16,225, 17, 51, 16,225, 50, 1, 47,225, 93, 16,214,225, 93, 17, 57, 57, 47, 47, 93, 93, 93, 93, 93, + 17, 57, 51, 16,225, 93, 50, 57, 16,225, 93, 49, 48, 1, 35, 6, 35, 34, 38, 53, 52, 54, 51, 50, 23, 3, 6, 21, 21, 20, 51, 50, + 17, 16, 2, 35, 34, 2, 17, 16, 0, 51, 50, 55, 21, 6, 35, 32, 0, 17, 16, 0, 33, 50, 0, 17, 20, 2, 35, 34, 3, 38, 35, 34, + 6, 21, 20, 51, 50, 19, 3, 31, 4, 74,156,120,140,194,158,137,119, 22, 2, 72,100,222,188,226,253, 1, 3,239,181,165,158,194, +254,214,254,177, 1, 78, 1, 32,248, 1, 41,128,114,128, 76, 54, 49, 89, 95,127,131, 14, 1,145,180,209,176,206,253, 47,254, 96, + 38, 31, 7,176, 1,127, 1, 22, 1, 60,254,128,254,177,254,200,254,171, 78,133, 82, 1,158, 1,114, 1,141, 1,207,254,120,254, +173,231,254,233, 2,182, 21,187,147,252, 1, 56, 0, 2, 0, 33, 0, 0, 4,172, 5,188, 0, 7, 0, 14, 0,168, 64, 10, 2, 14, + 3, 8, 1, 0,183, 6, 1, 6,184,255,248, 64, 98, 14, 17, 72, 71, 6, 1, 38, 6, 1, 23, 6, 1, 6, 6, 1, 6,184, 5, 1, + 5, 8, 14, 17, 72, 72, 5, 1, 41, 5, 1, 24, 5, 1, 9, 5, 1, 5, 11, 11, 4, 88, 0, 1, 72, 0, 1, 42, 0, 1, 9, 0, + 25, 0, 2, 0, 7, 7, 16, 87, 3, 1, 71, 3, 1, 37, 3, 1, 6, 3, 22, 3, 2, 3, 4, 2, 95, 11, 16, 17, 20, 72, 11, 16, + 11, 14, 72, 29, 11, 1, 11, 5, 14, 14, 5, 3, 4, 0, 18, 0, 63, 50, 63, 57, 47, 18, 57, 93, 43, 43,225, 1, 47, 51, 93, 93, + 93, 93, 17, 51, 47, 51, 93, 93, 93, 93, 18, 57, 61, 47, 51, 93, 93, 93, 93, 43, 93, 51, 93, 93, 93, 93, 43, 93, 18, 57, 57, 18, + 57, 57, 49, 48, 33, 3, 33, 3, 35, 1, 51, 1, 1, 3, 38, 39, 6, 7, 3, 3,236,144,254, 21,146,190, 1,227,195, 1,229,254, +123,133, 39, 23, 20, 26,144, 1,197,254, 59, 5,188,250, 68, 2,106, 1,168,124,102, 99, 84,254, 45, 0, 0, 3, 0,135, 0, 0, + 4,113, 5,182, 0, 14, 0, 23, 0, 30, 0, 82, 64, 50, 19, 91, 20, 7, 36, 7, 2, 7, 4, 4, 14, 28, 91, 10, 32, 15, 25, 90, + 0, 14, 1, 0, 14, 16, 14,240, 14, 3, 8, 14, 7, 24, 96,159, 15, 1,104, 15, 1, 15, 15, 0, 25, 96, 14, 18, 23, 96, 0, 3, + 0, 63,225, 63,225, 17, 57, 47, 93, 93,225, 57, 1, 47, 94, 93,113,225, 50, 16,222,225, 18, 57, 47, 57, 93,225, 49, 48, 19, 33, + 32, 22, 21, 20, 6, 7, 21, 4, 17, 20, 6, 35, 33, 19, 33, 50, 54, 53, 52, 38, 35, 33, 17, 17, 33, 32, 17, 52, 33,135, 1,184, + 1, 18,247,157,134, 1, 76,255,220,253,241,187, 1, 28,156,143,153,166,254,248, 1, 51, 1, 55,254,188, 5,182,175,195,128,170, + 18, 10, 54,254,224,198,226, 3, 74,110,127,120,104,253,151,253,240, 1, 18,254, 0, 1, 0,129,255,236, 4,156, 5,203, 0, 21, + 0, 49, 64, 28, 1, 64, 20, 24, 72, 1, 1, 6, 11, 23, 17, 91, 0, 6,240, 6, 2, 6, 12, 14, 95, 9, 4, 0, 20, 95, 3, 19, + 0, 63,225, 50, 63,225, 50, 1, 47, 93,225, 16,206, 17, 57, 47, 43, 49, 48, 37, 21, 6, 35, 32, 0, 17, 16, 0, 33, 50, 23, 7, + 38, 35, 34, 0, 17, 16, 18, 51, 50, 4,100,146,212,254,203,254,184, 1,102, 1, 54,220,163, 78,154,151,215,255, 0,240,231,130, +201,162, 59, 1,136, 1,105, 1, 90, 1,148, 86,156, 78,254,195,254,241,254,225,254,211, 0, 2, 0,135, 0, 0, 4,123, 5,182, + 0, 8, 0, 15, 0, 44, 64, 26, 13, 91, 5, 17, 10, 90, 0, 0, 1, 0, 0, 16, 0,240, 0, 3, 8, 0, 9, 96, 1, 3, 10, 96, + 0, 18, 0, 63,225, 63,225, 1, 47, 94, 93,113,225, 16,222,225, 49, 48, 51, 17, 33, 32, 0, 17, 16, 0, 33, 3, 17, 51, 32, 17, + 16, 33,135, 1, 86, 1, 61, 1, 97,254,146,254,167,114, 96, 2, 20,254, 19, 5,182,254,134,254,173,254,151,254,128, 5, 23,251, +137, 2, 67, 2, 52, 0, 0, 1, 0,217, 0, 0, 4, 35, 5,182, 0, 11, 0, 64, 64, 37, 8, 8, 1, 4, 0, 64, 18, 22, 72, 0, + 13, 6, 10, 90,240, 1, 1, 0, 1, 1, 1, 9, 95,104, 6, 1, 6, 6, 10, 5, 95, 2, 3, 10, 95, 1, 18, 0, 63,225, 63,225, + 18, 57, 47, 93,225, 1, 47, 93, 93,225, 50, 16,206, 43, 50, 17, 57, 47, 49, 48, 33, 33, 17, 33, 21, 33, 17, 33, 21, 33, 17, 33, + 4, 35,252,182, 3, 74,253,112, 2,105,253,151, 2,144, 5,182,164,254, 60,162,253,248, 0, 1, 0,244, 0, 0, 4, 61, 5,182, + 0, 9, 0, 87, 64, 22, 8, 8, 1,223, 3, 1,192, 3, 1, 3, 11, 6, 0, 90, 0, 1, 64, 1, 80, 1, 3, 1,184,255,192, 64, + 32, 21, 24, 72, 1, 9, 95,104, 6, 1, 47, 6, 95, 6,239, 6,255, 6, 4, 6, 64, 16, 21, 72, 6, 6, 0, 5, 95, 2, 3, 0, + 18, 0, 63, 63,225, 18, 57, 47, 43, 93, 93,225, 1, 47, 43, 93,225, 50, 16,206, 93, 93, 17, 57, 47, 48, 49, 33, 35, 17, 33, 21, + 33, 17, 33, 21, 33, 1,174,186, 3, 73,253,113, 2,105,253,151, 5,182,164,253,252,164, 0, 1, 0,117,255,236, 4, 70, 5,203, + 0, 24, 0, 63, 64, 37, 0, 7, 22, 90, 12, 2, 26, 18, 91, 0, 7, 1, 7, 24, 95, 47, 0, 95, 0, 2, 0, 64, 16, 24, 72, 0, + 0, 20, 15, 95, 13, 10, 4, 20, 95, 4, 19, 0, 63,225, 63, 51,225, 18, 57, 47, 43, 93,225, 1, 47, 93,225, 16,222, 50,225, 18, + 57, 49, 48, 1, 33, 17, 6, 35, 32, 0, 17, 16, 0, 33, 50, 23, 7, 38, 35, 34, 2, 17, 16, 33, 50, 55, 17, 35, 2,160, 1,166, +195,225,254,250,254,217, 1, 68, 1, 28,192,154, 72,146,134,192,214, 1,138, 97,105,237, 3, 4,253, 51, 75, 1,143, 1, 98, 1, + 95, 1,143, 86,162, 84,254,201,254,235,253,180, 29, 1,180, 0, 0, 1, 0,135, 0, 0, 4, 70, 5,182, 0, 11, 0, 63, 64, 38, + 9, 1, 90, 0, 13, 8, 4, 90, 16, 5, 32, 5, 2, 32, 5, 48, 5, 2, 5, 3, 95,152, 8, 1, 15, 8, 47, 8, 2, 6, 8, 8, + 10, 6, 3, 5, 0, 18, 0, 63, 50, 63, 51, 57, 47, 94, 93, 93,225, 1, 47, 93,113,225, 50, 16,222,225, 50, 49, 48, 33, 35, 17, + 33, 17, 35, 17, 51, 17, 33, 17, 51, 4, 70,187,253,183,187,187, 2, 73,187, 2,170,253, 86, 5,182,253,152, 2,104, 0, 0, 1, + 0,225, 0, 0, 3,233, 5,182, 0, 11, 0, 67, 64, 40, 11, 8, 10, 90, 5, 2,208, 3, 1,162, 3, 1,147, 3, 1, 3,142, 3, + 1, 4, 99, 3, 1, 5, 16, 3, 80, 3, 2, 3, 9, 4, 97, 6, 3, 3, 10, 97, 0, 18, 0, 63,225, 50, 63,225, 50, 1, 47, 93, + 95, 93, 95, 93, 95, 93, 93, 93, 51, 51,225, 50, 50, 49, 48, 33, 33, 53, 37, 17, 37, 53, 33, 21, 5, 17, 5, 3,233,252,248, 1, + 39,254,217, 3, 8,254,218, 1, 38,123, 20, 4,152, 20,123,123, 20,251,104, 20, 0, 1, 0,137,255,236, 3,211, 5,182, 0, 13, + 0, 43,178, 6, 90, 9,184,255,192, 64, 20, 9, 12, 72, 9, 15, 0, 0,224, 0,240, 0, 3, 0, 3, 95, 1, 12, 19, 7, 3, 0, + 63, 63, 51,225, 1, 47, 93, 16,222, 43,225, 49, 48, 55, 53, 22, 51, 50, 54, 53, 17, 51, 17, 20, 4, 35, 34,137,162,147,161,186, +186,254,231,237,217, 39,166, 62,159,147, 3,245,252, 13,216,255, 0, 1, 0,211, 0, 0, 4,174, 5,182, 0, 12, 0,201,183, 38, + 12, 54, 12, 70, 12, 3, 12,184,255,240, 64,137, 16, 24, 72,248, 10, 1,217, 10,233, 10, 2,200, 10, 1,185, 10, 1,168, 10, 1, +137, 10, 1, 10, 8, 12, 16, 72,121, 9, 1, 88, 9, 1, 25, 9, 1, 10, 9, 1,136, 1, 1, 1, 8, 20, 24, 72, 1, 8, 12, 15, + 72,232, 2, 1, 2, 16, 11, 22, 72, 71, 2, 1, 2, 12, 0, 8, 4, 90, 0, 5, 96, 5,112, 5,128, 5, 4, 5, 11, 16, 11, 11, +208, 0,240, 0, 2,127, 0, 1, 0, 0, 16, 0, 64, 0, 96, 0, 4, 0, 16, 0,166, 8,182, 8,198, 8, 3,119, 8,135, 8, 2, + 38, 8, 54, 8, 86, 8,102, 8, 4, 3, 2, 8, 12, 4, 5, 10, 6, 3, 5, 0, 18, 0, 63, 50, 63, 51, 18, 23, 57, 93, 93, 93, + 1, 47, 56, 93, 93, 93, 51, 47, 56, 47, 93,225, 50, 17, 57, 57, 93, 49, 48, 0, 43, 93, 1, 43, 43, 93, 93, 93, 93, 93, 43, 93, + 93, 93, 93, 93, 93, 43, 93, 33, 35, 1, 7, 17, 35, 17, 51, 17, 55, 1, 51, 1, 4,174,211,254, 62,140,186,186,121, 1,197,209, +253,247, 2,186,114,253,184, 5,182,253, 37,168, 2, 51,253,131, 0, 1, 0,233, 0, 0, 4, 31, 5,182, 0, 5, 0, 46, 64, 31, + 5, 64, 18, 22, 72, 5, 7, 3, 90, 0, 0, 80, 0, 96, 0,112, 0,208, 0,224, 0,240, 0, 7, 0, 1, 3, 3, 95, 0, 18, 0, + 63,225, 63, 1, 47, 93,225, 16,206, 43, 49, 48, 51, 17, 51, 17, 33, 21,233,187, 2,123, 5,182,250,240,166, 0, 0, 1, 0,113, + 0, 0, 4, 92, 5,182, 0, 19, 0,182, 64, 12,247, 19, 1,182, 19, 1,151, 19,167, 19, 2, 19,184,255,240, 64, 37, 13, 17, 72, + 39, 19, 1, 6, 19, 22, 19, 2,233, 11,249, 11, 2, 11, 32, 13, 22, 72, 58, 11, 1, 9, 11, 25, 11, 41, 11, 3,230, 8,246, 8, + 2, 8,184,255,224, 64, 77, 13, 22, 72, 53, 8, 1, 6, 8, 22, 8, 38, 8, 3,248, 0, 1,185, 0, 1,152, 0,168, 0, 2, 0, + 16, 13, 17, 72, 40, 0, 1, 9, 0, 25, 0, 2, 17, 14,250,224, 13,240, 13, 2, 15, 13, 1, 13, 21, 2, 5,250, 0, 6, 16, 6, + 64, 6, 80, 6, 4, 6, 11, 1, 7, 3, 18, 2, 14, 89, 9, 1, 9, 6, 0, 18, 0, 63, 50, 50, 93, 50, 46, 51, 63, 51, 51, 1, + 47, 93,225, 50, 16,222, 93, 93,225, 50, 49, 48, 93, 93, 43, 93, 93, 93, 93, 93, 43, 93, 93, 93, 43, 93, 93, 93, 43, 93, 93, 93, + 33, 1, 35, 18, 21, 17, 35, 17, 51, 19, 51, 19, 51, 17, 35, 17, 52, 19, 35, 1, 2, 20,254,234, 8, 18,151,247,248, 6,250,252, +153, 14, 8,254,229, 5, 0,254,246,140,252,150, 5,182,251, 88, 4,168,250, 74, 3,119,102, 1, 33,251, 2, 0, 0, 1, 0,135, + 0, 0, 4, 68, 5,182, 0, 15, 0,115,185, 0, 9,255,240, 64, 78, 16, 24, 72, 69, 9, 85, 9,101, 9, 3, 52, 9, 1, 21, 9, + 37, 9, 2, 6, 9, 1, 1, 16, 16, 24, 72, 74, 1, 90, 1,106, 1, 3, 59, 1, 1, 26, 1, 42, 1, 2, 9, 1, 1, 1, 14,251, + 15, 17, 9, 6,251, 0, 7,224, 7,240, 7, 3, 7, 14, 73, 2, 89, 2, 2, 2, 8, 3, 70, 10, 86, 10, 2, 10, 7, 0, 18, 0, + 63, 50, 50, 93, 63, 51, 93, 51, 1, 47, 93,225, 50, 16,222,225, 50, 49, 48, 93, 93, 93, 93, 43, 93, 93, 93, 93, 43, 33, 35, 1, + 35, 18, 21, 17, 35, 17, 51, 1, 51, 2, 53, 17, 51, 4, 68,215,253,188, 8, 18,172,213, 2, 66, 6, 14,174, 4,186,254,235,140, +252,231, 5,182,251, 76, 1, 47,101, 3, 32, 0, 0, 2, 0, 84,255,236, 4,123, 5,205, 0, 9, 0, 19, 0, 36, 64, 20, 13, 91, + 7, 21, 18, 91, 31, 2, 47, 2, 2, 2, 16, 95, 4, 4, 10, 95, 0, 19, 0, 63,225, 63,225, 1, 47, 93,225, 16,222,225, 49, 48, + 5, 32, 17, 16, 33, 32, 0, 17, 16, 0, 39, 50, 18, 17, 16, 2, 35, 32, 17, 16, 2,104,253,236, 2, 22, 1, 0, 1, 17,254,236, +255,173,161,163,169,254,175, 20, 2,243, 2,238,254,121,254,151,254,151,254,120,163, 1, 34, 1, 44, 1, 47, 1, 29,253,180,253, +178, 0, 0, 2, 0,176, 0, 0, 4, 70, 5,182, 0, 9, 0, 17, 0, 56, 64, 34, 14, 91,239, 6,255, 6, 2, 6, 19, 10, 1, 90, + 0, 2,144, 2,160, 2, 3, 2, 0, 96,159, 10, 1, 10, 10, 1, 17, 96, 3, 3, 1, 18, 0, 63, 63,225, 18, 57, 47, 93,225, 1, + 47, 93,225, 50, 16,222, 93,225, 49, 48, 1, 17, 35, 17, 33, 32, 17, 20, 4, 33, 39, 51, 50, 54, 53, 16, 33, 35, 1,106,186, 1, +148, 2, 2,254,235,254,248,191,170,198,171,254,174,201, 2, 57,253,199, 5,182,254, 84,219,246,158,144,153, 1, 23, 0, 0, 2, + 0, 84,254, 98, 4,123, 5,205, 0, 15, 0, 25, 0, 85,185, 0, 0,255,240, 64, 48, 13, 17, 72, 5, 0, 9, 19, 91, 14,108, 3, +124, 3,140, 3, 3, 3, 24, 11, 14, 72, 3, 2, 2, 14, 27, 24, 91, 31, 9, 47, 9, 2, 9, 22, 95, 11, 4, 16, 95, 7, 5, 7, + 3, 3, 0, 7, 19, 0, 63, 51, 51, 47, 17, 51, 16,225, 63,225, 1, 47, 93,225, 16,206, 50, 47, 51, 43, 93, 16,225, 18, 57, 57, + 49, 48, 43, 37, 22, 23, 7, 38, 39, 6, 35, 32, 17, 16, 33, 32, 0, 17, 16, 5, 50, 18, 17, 16, 2, 35, 32, 17, 16, 3, 94, 85, +194,121,236, 92, 36, 40,253,236, 2, 22, 1, 0, 1, 17,253,237,173,161,163,169,254,175, 39,180,131,142,171,229, 6, 2,243, 2, +238,254,121,254,151,253,242, 64, 1, 34, 1, 44, 1, 47, 1, 29,253,180,253,178, 0, 2, 0,186, 0, 0, 4,147, 5,182, 0, 11, + 0, 20, 0,115, 64, 75, 43, 14, 1, 26, 14, 1, 11, 8, 16, 24, 72, 41, 11, 1, 24, 11, 1, 10, 8, 18, 24, 72, 41, 10, 1, 8, + 10, 1, 10, 9, 16, 9, 9, 70, 8, 1, 11, 8, 1, 16, 91, 6, 64, 19, 22, 72, 6, 22, 12, 1, 90, 0, 2,128, 2,144, 2,160, + 2, 4, 2, 8, 3, 0, 96, 12, 12, 1, 20, 96, 3, 3, 10, 1, 18, 0, 63, 51, 63,225, 18, 57, 47,225, 17, 57, 1, 47, 93,225, + 50, 16,222, 43,225, 18, 57, 57, 93, 51, 47, 56, 51, 49, 48, 93, 93, 43, 93, 93, 43, 93, 93, 1, 17, 35, 17, 33, 32, 17, 16, 5, + 1, 35, 1, 39, 51, 50, 54, 53, 52, 38, 35, 35, 1,117,187, 1,101, 2, 8,254,223, 1,141,219,254,162,229,164,171,162,160,178, +159, 2, 92,253,164, 5,182,254, 97,254,225,105,253,113, 2, 92,158,132,144,141,124, 0, 0, 1, 0,141,255,236, 4, 63, 5,203, + 0, 31, 0, 56, 64, 31, 16, 16, 5, 90,176, 27,192, 27, 2, 27, 33, 21, 90, 11, 0, 0, 0, 11, 1, 11, 21, 5, 14, 3, 96, 30, + 19, 19, 95, 14, 4, 0, 63,225, 63,225, 18, 57, 57, 1, 47, 93, 51, 47, 16,225, 16,222, 93,225, 51, 47, 49, 48, 55, 53, 22, 51, + 32, 53, 52, 38, 39, 38, 38, 53, 52, 36, 51, 50, 23, 7, 38, 35, 32, 21, 20, 22, 23, 22, 22, 21, 20, 4, 35, 32,141,211,203, 1, + 94,141,215,208,181, 1, 1,224,229,187, 64,193,167,254,219,131,205,246,165,254,235,255,254,247, 49,178, 86,240,104,112, 77, 73, +203,162,174,197, 78,164, 78,209,102,124, 71, 88,187,147,192,219, 0, 1, 0,102, 0, 0, 4,100, 5,182, 0, 7, 0, 60, 64, 36, + 6, 6, 0, 90, 3,208, 1, 1,162, 1, 1,147, 1, 1, 3,142, 1, 1, 4, 99, 1, 1, 5, 16, 1, 80, 1, 2, 1, 7, 3, 95, + 4, 3, 0, 18, 0, 63, 63,225, 50, 1, 47, 93, 95, 93, 95, 93, 95, 93, 93, 93,198,241,194, 47, 49, 48, 33, 35, 17, 33, 53, 33, + 21, 33, 2,195,187,254, 94, 3,254,254, 95, 5, 18,164,164, 0, 0, 1, 0,125,255,236, 4, 80, 5,184, 0, 14, 0, 39, 64, 22, + 13, 90,224, 1,240, 1, 2, 1, 16, 9, 90, 0, 6, 1, 6, 11, 95, 4, 19, 7, 0, 3, 0, 63, 50, 63,225, 1, 47, 93,225, 16, +222, 93,225, 49, 48, 1, 17, 16, 2, 35, 32, 17, 17, 51, 17, 16, 33, 32, 19, 17, 4, 80,252,244,254, 29,186, 1, 51, 1, 39, 5, + 5,184,252, 76,254,252,254,236, 2, 28, 3,174,252, 92,254,125, 1,133, 3,164, 0, 1, 0, 33, 0, 0, 4,172, 5,182, 0, 10, + 0,153, 64, 24,103, 5, 1,184, 3, 1, 3, 8, 13, 17, 72, 41, 3, 1, 24, 3, 1, 9, 3, 1,183, 2, 1, 2,184,255,248, 64, + 59, 13, 17, 72, 38, 2, 1, 23, 2, 1, 6, 2, 1,104, 0, 1,232, 3, 1, 3,231, 2, 1, 2, 8, 8, 4, 72, 0, 88, 0, 2, + 42, 0, 1, 9, 0, 25, 0, 2, 0, 1, 1, 12, 71, 5, 87, 5, 2, 37, 5, 1, 6, 5, 22, 5, 2, 5, 4, 8,184,255,240, 64, + 14, 11, 24, 72, 18, 8, 1, 8, 3, 1, 4, 3, 2, 3, 18, 0, 63, 51, 63, 51, 18, 57, 93, 43, 1, 47, 51, 93, 93, 93, 17, 51, + 47, 51, 93, 93, 93, 18, 57, 61, 47, 51, 93, 51, 93, 49, 48, 93, 93, 93, 93, 43, 93, 93, 93, 93, 43, 93, 93, 1, 51, 1, 35, 1, + 51, 1, 22, 23, 54, 55, 3,229,199,254, 23,187,254, 25,196, 1, 39, 41, 47, 31, 62, 5,182,250, 74, 5,182,252, 97,127,207,145, +195, 0, 0, 1, 0, 2, 0, 0, 4,203, 5,182, 0, 25, 1, 99, 64, 84, 41, 25, 57, 25, 2, 8, 25, 24, 25, 2, 39, 21, 1, 21, + 21, 1, 6, 21, 1, 7, 20, 23, 20, 39, 20, 3, 38, 16, 54, 16, 2, 41, 10, 57, 10, 2, 40, 6, 1, 25, 6, 1, 8, 6, 1, 38, + 2, 54, 2, 2, 7, 2, 23, 2, 2, 72, 17,104, 17,168, 17,184, 17, 4, 41, 17, 57, 17, 2, 17,231, 16,247, 16, 2,198, 16,214, + 16, 2,180, 16, 1, 16,184,255,240, 64, 33, 15, 19, 72, 84, 16, 1, 69, 16, 1, 16, 23,230, 1, 1,199, 1,215, 1, 2,165, 1, +181, 1, 2,150, 1, 1,119, 1,135, 1, 2, 1,184,255,240, 64,140, 9, 15, 72, 1,233, 0, 1,200, 0,216, 0, 2,170, 0,186, + 0, 2,153, 0, 1,120, 0,136, 0, 2, 0, 16, 9, 15, 72, 0, 13,232, 10,248, 10, 2,201, 10,217, 10, 2,187, 10, 1,136, 10, +168, 10, 2,105, 10,121, 10, 2, 91, 10, 1, 74, 10, 1, 10,103, 9,167, 9,183, 9, 3, 38, 9, 54, 9, 70, 9, 3, 9, 4, 36, + 23, 52, 23,148, 23,164, 23, 4, 4, 4, 20, 4,100, 4,196, 4,212, 4, 5, 23, 13, 4, 4, 13, 23, 3, 18, 40, 7, 1, 7, 16, + 8, 1, 8, 8, 27, 39, 19, 1, 19, 18, 4, 23, 75, 13, 91, 13, 2, 13, 23, 17, 0, 0, 7, 10, 17, 18, 18, 7, 3, 0, 63, 51, + 63, 51, 18, 57, 47, 18, 57, 57, 93, 17, 51, 1, 47, 51, 93, 17, 51, 47, 93, 51, 93, 18, 23, 57, 61, 47, 47, 47, 93, 93, 17, 51, + 93, 93, 51, 93, 93, 93, 93, 93, 93, 93, 17, 51, 43, 93, 93, 93, 93, 93, 51, 43, 93, 93, 93, 93, 93, 17, 51, 93, 93, 43, 93, 93, + 93, 51, 93, 93, 49, 48, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 1, 51, 19, 22, 23, 54, 19, 19, 51, 3, 35, 3, 38, + 39, 6, 7, 3, 35, 3, 51, 19, 22, 18, 21, 54, 55, 2, 16,177,145, 61, 11, 2, 63, 70,170,187,190,168, 40, 26, 32, 33,156,190, +203,170, 88, 23, 34, 24, 46, 3,240,253,247,219, 88, 53, 2, 54, 2,151,250, 74, 2, 68,138,144,173,111,253,190, 5,182,253,105, +176,254,108, 39,151,161, 0, 1, 0, 53, 0, 0, 4,150, 5,182, 0, 11, 0,190, 64, 36, 8, 8, 9, 11, 11, 10, 0, 7, 0, 5, + 5, 4, 2, 2, 3, 1, 6, 1, 8, 8, 7, 5, 5, 6, 4, 9, 4, 11, 11, 0, 2, 2, 1, 3, 10, 7,184,255,248, 64, 23, 12, + 15, 72, 6, 7, 22, 7, 38, 7, 3, 9, 8, 12, 15, 72, 9, 9, 25, 9, 41, 9, 3, 3,184,255,248, 64, 60, 12, 15, 72, 6, 3, + 22, 3, 38, 3, 3, 1, 8, 12, 15, 72, 9, 1, 25, 1, 41, 1, 3, 11, 8, 2, 5, 4, 4, 9, 10, 1, 10,175, 0, 1, 0, 0, + 13, 7, 6, 3, 6, 4, 2, 5, 11, 8, 4, 7, 9, 10, 3, 6, 3, 1, 3, 4, 3, 0, 18, 0, 63, 23, 50, 63, 23, 51, 23, 57, + 1, 47, 51, 51, 47, 51, 17, 51, 47, 93, 50, 50, 47, 51, 17, 23, 57, 93, 43, 93, 43, 93, 43, 93, 43, 49, 48,135, 8,192, 8,192, + 16,135, 8,192, 8,192, 16,135, 8,192, 8,192, 16,135, 8,192, 8,192, 33, 35, 1, 1, 35, 1, 1, 51, 1, 1, 51, 1, 4,150, +211,254,157,254,146,189, 1,197,254, 90,199, 1, 75, 1, 78,191,254, 90, 2,123,253,133, 2,252, 2,186,253,209, 2, 47,253, 76, + 0, 1, 0, 33, 0, 0, 4,170, 5,182, 0, 8, 0,181,185, 0, 8,255,248, 64, 36, 13, 16, 72, 38, 8, 54, 8, 2, 23, 8, 1, +104, 1,120, 1, 2, 90, 1, 1, 72, 1, 1, 41, 1, 57, 1, 2, 24, 1, 1, 39, 0,183, 0, 2, 0,184,255,248,179, 13, 17, 72, + 8,184,255,248, 64, 74, 20, 24, 72, 8,175, 7,255, 7, 2, 89, 7, 1, 7, 5, 1, 8, 20, 24, 72, 1,224, 2,240, 2, 2,123, + 2, 1, 80, 2, 1, 2, 2, 0, 4, 90,208, 5, 1,162, 5, 1,147, 5, 1, 3,142, 5, 1, 4, 99, 5, 1, 5, 16, 5, 80, 5, + 2, 5, 6, 6, 52, 0, 1, 0, 3, 3, 1, 4, 18, 7, 1, 3, 0, 63, 51, 63, 18, 57, 47, 51, 93, 51, 47, 1, 47, 93, 95, 93, + 95, 93, 95, 93, 93, 93,241, 57,194, 47, 93, 93, 93, 50, 43, 16,198, 93, 93, 50, 43, 49, 48, 0, 43, 93, 1, 93, 93, 93, 93, 93, + 93, 93, 43, 1, 1, 51, 1, 17, 35, 17, 1, 51, 2,100, 1,125,201,254, 25,187,254, 25,203, 2,211, 2,227,252,131,253,199, 2, + 47, 3,135, 0, 0, 1, 0,102, 0, 0, 4,100, 5,182, 0, 9, 0, 68, 64, 40, 38, 8, 1, 7, 8, 23, 8, 2, 41, 3, 1, 8, + 3, 24, 3, 2, 3, 7, 7, 0, 0, 1, 0, 0, 11, 8, 2, 4, 4, 2, 7, 4, 95, 5, 3, 2, 8, 95, 1, 18, 0, 63,225, 50, + 63,225, 50, 1, 47, 51, 47, 17, 51, 17, 51, 47, 93, 51, 47, 51, 49, 48, 93, 93, 93, 93, 33, 33, 53, 1, 33, 53, 33, 21, 1, 33, + 4,100,252, 2, 3, 25,252,252, 3,213,252,231, 3, 45,145, 4,127,166,145,251,129, 0, 0, 1, 1,156,254,188, 3,172, 5,182, + 0, 7, 0, 51, 64, 32, 4, 0, 0, 1, 0, 0, 9, 6,241,127, 1,143, 1,191, 1,207, 1,223, 1, 5, 0, 1, 1, 1, 5,245, + 2,248, 6,245, 1,249, 0, 63,225, 63,225, 1, 47, 93, 93,225, 17, 51, 47, 93, 51, 49, 48, 1, 33, 17, 33, 21, 33, 17, 33, 3, +172,253,240, 2, 16,254,166, 1, 90,254,188, 6,250,149,250, 49, 0, 1, 0,211, 0, 0, 3,248, 5,182, 0, 3, 0, 28, 64, 12, + 2, 1, 1, 5, 0, 3, 3, 4, 2, 18, 0, 3, 0, 63, 63, 17, 1, 51, 47, 51, 17, 51, 47, 51, 49, 48, 1, 1, 35, 1, 1,133, + 2,115,178,253,141, 5,182,250, 74, 5,182, 0, 0, 1, 1, 33,254,188, 3, 49, 5,182, 0, 7, 0, 52,183, 1,241,112, 6,128, + 6, 2, 6,184,255,192, 64, 21, 20, 24, 72, 6, 6, 9, 3,224, 0,240, 0, 2, 0, 1,245, 6,249, 2,245, 5,248, 0, 63,225, + 63,225, 1, 47, 93, 51, 17, 51, 47, 43, 93,225, 49, 48, 5, 33, 17, 33, 53, 33, 17, 33, 1, 33, 1, 90,254,166, 2, 16,253,240, +174, 5,207,149,249, 6, 0, 1, 0,111, 2, 37, 4, 94, 5,193, 0, 6, 0, 51, 64, 25, 2, 1, 5, 32, 20, 24, 72, 5, 5, 0, + 4, 3, 8, 6, 0, 0, 7, 4, 0, 0, 5, 15, 1, 1, 1, 0, 47, 93, 51, 51, 47, 50, 17, 1, 51, 47, 50, 16,206, 50, 17, 57, + 61, 47, 43, 51, 51, 49, 48, 19, 1, 51, 1, 35, 1, 1,111, 1,168,102, 1,225,162,254,144,254,194, 2, 37, 3,156,252,100, 2, +223,253, 33, 0, 0, 1,255,240,254,188, 4,219,255, 72, 0, 3, 0, 18,182, 0, 0, 5, 1, 1,186, 2, 0, 47,225, 1, 47, 17, + 51, 47, 49, 48, 1, 33, 53, 33, 4,219,251, 21, 4,235,254,188,140, 0, 0, 1, 1,162, 4,217, 3, 43, 6, 33, 0, 7, 0, 31, + 64, 16, 5,135, 4,134, 1, 0, 0, 9, 5,146, 15, 1, 95, 1, 2, 1, 0, 47, 93,237, 17, 1, 51, 47, 51,253,225, 49, 48, 1, + 35, 38, 39, 53, 51, 22, 23, 3, 43,121,166,106,219, 86, 88, 4,217,142,165, 21,178,123, 0, 2, 0,135,255,236, 4, 2, 4, 94, + 0, 23, 0, 33, 0, 66, 64, 38, 11, 1, 33, 71,143, 23,159, 23, 2, 23, 35, 28, 72, 17, 0, 8, 16, 8, 2, 8, 8, 24, 82, 11, + 11, 30, 16, 14, 80, 19, 16, 1, 30, 78, 5, 22, 0, 21, 0, 63, 63,225, 50, 63,225, 51, 18, 57, 47,225, 1, 47, 94, 93, 51,225, + 16,222, 93,225, 50, 50, 49, 48, 33, 39, 35, 6, 6, 35, 34, 38, 53, 16, 37, 55, 53, 52, 35, 34, 7, 39, 54, 51, 50, 22, 21, 17, + 3, 7, 6, 6, 21, 20, 51, 50, 54, 53, 3,127, 37, 8, 77,162,128,163,185, 1,254,203,244,147,181, 63,196,187,227,203,180,162, +196,164,200,147,175,152, 97, 75,172,155, 1, 76, 16, 7, 69,236, 82,137, 96,174,192,253, 16, 2, 25, 7, 8,107,110,178,163,148, + 0, 2, 0,158,255,236, 4, 68, 6, 20, 0, 18, 0, 28, 0, 58, 64, 34, 24, 72,239, 14,255, 14, 2, 14, 30, 1, 8, 6, 19, 71, + 0, 3,176, 3, 2, 3, 1, 22, 80, 17, 22, 8, 26, 80, 11, 16, 4, 0, 3, 21, 0, 63, 63, 63,225, 50, 63,225, 50, 1, 47, 93, +225, 50, 50, 57, 16,222, 93,225, 49, 48, 37, 35, 7, 35, 17, 51, 17, 20, 7, 51, 54, 51, 50, 18, 17, 16, 2, 35, 34, 3, 20, 22, + 51, 32, 17, 16, 33, 34, 6, 1, 84, 12, 37,133,182, 8, 8,107,215,201,229,230,200,207,115,139,152, 1, 16,254,238,155,134,139, +139, 6, 20,254,136, 81,145,164,254,213,254,244,254,242,254,211, 2, 59,227,193, 1,166, 1,158,188, 0, 0, 1, 0,172,255,236, + 4, 37, 4, 94, 0, 19, 0, 43, 64, 23, 0, 0,143, 9, 1, 9, 21, 5, 72, 0, 15, 1, 15, 3, 81, 1, 18, 16, 9, 7, 81, 12, + 22, 0, 63,225, 51, 63, 51,225, 1, 47, 93,225, 16,206, 93, 50, 47, 49, 48, 1, 7, 38, 35, 32, 17, 16, 33, 50, 55, 21, 6, 35, + 32, 0, 17, 16, 0, 33, 50, 4, 37, 62,150,118,254,141, 1,105,157,164,134,195,254,255,254,228, 1, 34, 1, 7,178, 4, 35,158, + 57,254, 99,254,106, 62,160, 61, 1, 35, 1, 16, 1, 25, 1, 38, 0, 2, 0,137,255,236, 4, 47, 6, 20, 0, 18, 0, 29, 0, 58, + 64, 35, 20, 0, 14, 71,144, 17,160, 17, 2, 17, 31, 25, 72, 0, 6,224, 6,240, 6, 3, 6, 15, 0, 11, 23, 80, 9, 16, 1, 27, + 80, 3, 22, 18, 21, 0, 63, 63,225, 50, 63,225, 50, 63, 1, 47, 93,225, 16,222, 93,225, 50, 50, 49, 48, 37, 35, 6, 35, 34, 2, + 17, 16, 18, 51, 50, 23, 51, 38, 53, 17, 51, 17, 35, 3, 53, 52, 38, 35, 32, 17, 16, 33, 50, 54, 3,129, 8,113,209,201,229,230, +200,206,116, 12, 12,182,147, 35,139,152,254,240, 1, 18,152,133,147,167, 1, 43, 1, 12, 1, 14, 1, 45,160,129, 33, 1,180,249, +236, 1,250, 41,227,193,254, 90,254, 98,177, 0, 0, 2, 0,133,255,236, 4, 72, 4, 94, 0, 17, 0, 22, 0, 71, 64, 44, 19, 72, + 5, 15, 0, 31, 0, 2, 0, 24, 18, 1, 72, 0, 11, 16, 11, 2, 16, 11, 32, 11, 2, 11, 1, 80, 15, 18, 31, 18, 2, 7, 18, 18, + 3, 21, 80, 14, 16, 3, 81, 5, 8, 22, 0, 63, 51,225, 63,225, 18, 57, 47, 94, 93,225, 1, 47, 93,113,225, 50, 16,222,113, 50, +225, 49, 48, 1, 33, 18, 33, 50, 55, 21, 6, 35, 34, 0, 17, 16, 0, 51, 50, 18, 21, 37, 33, 16, 33, 32, 4, 72,252,250, 8, 1, + 80,195,175,166,198,245,254,218, 1, 15,227,212,253,252,254, 2, 61,254,240,254,237, 2, 2,254,137, 76,160, 75, 1, 43, 1, 6, + 1, 10, 1, 55,254,244,223, 35, 1, 49, 0, 1, 0,156, 0, 0, 4, 90, 6, 31, 0, 21, 0, 70, 64, 40, 0, 0, 13, 13, 23, 20, + 2, 71, 3, 7, 3,143, 5,239, 5, 2, 5, 5, 0, 3,176, 3,240, 3, 3, 3, 4, 1, 78, 7, 6, 20, 15, 16, 80, 14, 11, 1, + 2, 21, 0, 63, 63, 51,225, 63, 51, 51,225, 50, 1, 47, 93, 51, 47, 93, 17, 51, 16,225, 50, 17, 51, 47, 57, 47, 49, 48, 1, 33, + 17, 35, 17, 33, 53, 37, 53, 52, 54, 51, 50, 23, 7, 38, 35, 34, 6, 21, 21, 33, 4, 20,254,123,182,254,195, 1, 61,180,209,129, +123, 41,104,103,123, 88, 1,133, 3,193,252, 63, 3,193,110, 33, 96,193,174, 35,143, 28,100,115,104, 0, 0, 3, 0,102,254, 20, + 4,102, 4, 94, 0, 36, 0, 44, 0, 54, 0,128, 64, 47, 52, 17, 17, 2, 36, 9, 28, 4, 31, 39, 70, 1, 95, 4,223, 4,239, 4, +255, 4, 4, 4, 56, 11, 26, 26, 31, 48, 63, 22, 79, 22, 95, 22, 3, 22, 22, 43, 70,128, 31,144, 31,160, 31, 3, 31,184,255,192, + 64, 29, 6, 9, 72, 31, 28, 4, 34, 37, 82, 7, 7, 46, 41, 79, 34, 24, 46, 81, 13, 13, 34, 16, 50, 78, 19, 27, 2, 0, 15, 0, + 63, 50, 63,225, 63, 57, 47,225, 50, 16,225, 17, 57, 47,225, 18, 57, 57, 1, 47, 43, 93,225, 51, 47, 93,193, 17, 51, 47,193, 16, +222, 93, 50,225, 18, 23, 57, 51, 47,193, 49, 48, 1, 21, 7, 22, 21, 20, 6, 35, 34, 39, 6, 21, 20, 51, 51, 50, 22, 21, 16, 33, + 34, 38, 53, 52, 55, 38, 53, 52, 55, 38, 38, 53, 52, 54, 51, 50, 23, 3, 50, 53, 52, 35, 34, 21, 20, 1, 35, 34, 21, 20, 33, 32, + 53, 52, 38, 4,102,196, 65,213,190, 55, 31,100,161,187,174,184,253,203,218,227,240, 96,133, 89,102,213,197, 86, 64,154,223,225, +225, 1, 69,188,230, 1, 15, 1,139,100, 4, 74,113, 27, 85,128,161,191, 6, 56, 77, 84,154,143,254,135,161,145,212, 58, 47,107, +112, 80, 37,171,101,182,197, 20,253,188,230,239,242,227,254, 12,198,174,223, 88, 61, 0, 0, 1, 0,160, 0, 0, 4, 45, 6, 20, + 0, 17, 0, 60, 64, 38, 36, 15, 52, 15, 2, 0, 71,176, 17,192, 17, 2, 17, 19, 10, 6, 71, 0, 7, 16, 7, 32, 7,208, 7, 4, + 7, 7, 4, 3, 80, 14, 16, 8, 0, 7, 0, 21, 0, 63, 50, 63, 63,225, 50, 1, 47, 94, 93,225, 50, 16,222, 93,225, 49, 48, 93, + 33, 17, 16, 35, 32, 17, 17, 35, 17, 51, 17, 7, 51, 54, 51, 32, 17, 17, 3,119,238,254,205,182,182, 8, 10,103,233, 1,133, 2, +195, 1, 4,254,114,253,199, 6, 20,254, 50,144,168,254,111,253, 51, 0, 0, 2, 0,197, 0, 0, 4, 51, 6, 14, 0, 8, 0, 18, + 0, 51, 64, 28, 14, 2, 13, 71, 7, 10, 17, 3, 86, 18, 1, 18, 18, 20, 19, 13, 18, 78, 16, 21, 9, 78, 11, 15, 5, 83, 0, 0, + 0, 63,237, 63,225, 63,225, 50, 17, 18, 1, 57, 47, 93, 23, 51,225, 50, 50, 49, 48, 1, 50, 21, 20, 6, 35, 34, 53, 52, 19, 37, + 53, 33, 17, 5, 21, 33, 53, 37, 2,121,106, 63, 43,107, 15,254,243, 1,195, 1, 96,252,146, 1, 88, 6, 14,114, 58, 57,115,114, +253,172, 21,123,252, 69, 20,123,123, 20, 0, 2, 0,135,254, 20, 3, 86, 6, 14, 0, 7, 0, 23, 0, 57, 64, 32, 16, 8, 6, 14, + 71, 2,144, 19,160, 19, 2, 19, 19, 25, 24, 0, 8, 1, 8, 11, 80, 9, 22, 27, 15, 78, 18, 15, 4, 83, 0, 0, 0, 63,229, 63, +225, 63, 51,225, 1, 47, 93, 17, 18, 57, 47, 93, 51,225, 50, 17, 57, 49, 48, 1, 50, 21, 20, 35, 34, 53, 52, 1, 53, 22, 51, 50, + 54, 53, 17, 37, 53, 33, 17, 20, 6, 35, 34, 2,231,107,107,106,254, 10,134,155,117,131,254, 92, 2, 90,226,206,164, 6, 14,114, +115,115,114,248, 41,154, 39,114,101, 4, 57, 21,123,251, 65,180,195, 0, 0, 1, 0,215, 0, 0, 4,139, 6, 20, 0, 14, 0,118, + 64, 11, 25, 6, 41, 6, 57, 6, 3, 8, 6, 1, 4,184,255,224, 64, 62, 16, 20, 72, 70, 4, 86, 4, 2, 9, 2, 1, 9, 1, 1, + 27, 7, 43, 7, 59, 7, 3, 4, 7, 2, 3, 3, 6, 5, 32, 16, 19, 72, 0, 5, 96, 5, 2, 5, 5, 16, 12, 0, 9, 71, 0, 10, + 96, 10, 2, 10, 11, 0, 4, 7, 0, 7, 2, 10, 5, 21, 2, 15, 0, 63, 63, 51, 18, 57, 57, 17, 51, 63, 1, 47, 93,225, 50, 50, + 17, 51, 47, 93, 43, 51, 51, 47, 51, 57, 57, 49, 48, 0, 93, 1, 93, 93, 93, 43, 93, 93, 1, 55, 1, 51, 1, 1, 35, 1, 7, 17, + 35, 17, 51, 17, 3, 1,127,135, 1,139,222,254, 18, 2, 10,213,254, 86,129,180,180, 16, 2, 41,152, 1,137,254, 37,253,145, 1, +248, 82,254, 90, 6, 20,253, 54,254,223, 0, 1, 0,188, 0, 0, 4, 43, 6, 20, 0, 9, 0, 45, 64, 24, 5, 4, 71, 8, 1, 93, + 9, 1, 79, 9, 1, 9, 9, 11, 10, 9, 4, 78, 6, 21, 0, 78, 2, 0, 0, 63,225, 63,225, 50, 17, 18, 1, 57, 47, 93, 93, 51, + 51,225, 50, 49, 48, 1, 37, 53, 33, 17, 5, 21, 33, 53, 37, 2, 20,254,244, 1,195, 1, 96,252,145, 1, 88, 5,133, 21,122,250, +123, 20,123,123, 20, 0, 0, 1, 0, 92, 0, 0, 4,115, 4, 94, 0, 32, 0,107, 64, 69, 25,133, 8, 1,118, 8, 1,101, 8, 1, + 86, 8, 1, 55, 8, 71, 8, 2, 8, 71,139, 9, 1,122, 9, 1, 9, 9, 17, 0, 71,144, 32,160, 32,192, 32,208, 32, 4, 15, 32, + 1, 32, 34, 20, 16, 71, 64, 17, 80, 17, 2, 17, 26, 20, 17, 4, 12, 80, 28, 23, 16, 18, 15, 17, 9, 0, 21, 0, 63, 50, 50, 63, + 63, 51,225, 50, 18, 57, 57, 1, 47, 93,225, 50, 16,222, 93, 93,225, 17, 57, 47, 93, 93,225, 93, 93, 93, 93, 93, 50, 49, 48, 33, + 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 16, 35, 34, 6, 21, 17, 35, 17, 51, 23, 51, 54, 51, 50, 23, 51, 54, 51, 50, 22, 21, 17, + 3,209, 53, 62, 87, 79,161,125, 84, 72,162,127, 27, 10, 67,134,163, 50, 6, 76,143,128,116, 2,195,146,114,166,195,253,162, 2, +195, 1, 4,159,239,253,199, 4, 74,148,168,182,182,185,216,253, 51, 0, 0, 1, 0,160, 0, 0, 4, 45, 4, 94, 0, 16, 0, 54, + 64, 33, 0, 71,176, 16,192, 16, 2, 16, 18, 10, 6, 71, 0, 7, 16, 7, 32, 7,208, 7, 4, 7, 7, 11, 3, 80, 13, 16, 8, 15, + 7, 0, 21, 0, 63, 50, 63, 63,225, 50, 1, 47, 94, 93,225, 50, 16,222, 93,225, 49, 48, 33, 17, 16, 35, 32, 17, 17, 35, 17, 51, + 23, 51, 54, 51, 32, 17, 17, 3,119,238,254,205,182,147, 27, 10,103,233, 1,133, 2,195, 1, 4,254,114,253,199, 4, 74,148,168, +254,111,253, 51, 0, 2, 0,115,255,236, 4, 88, 4, 94, 0, 11, 0, 19, 0, 34, 64, 18, 14, 72, 9, 21, 18, 72, 0, 3, 1, 3, + 16, 80, 6, 16, 12, 80, 0, 22, 0, 63,225, 63,225, 1, 47, 93,225, 16,222,225, 49, 48, 5, 34, 0, 17, 16, 0, 51, 50, 0, 17, + 16, 0, 39, 32, 17, 16, 33, 32, 17, 16, 2, 98,216,254,233, 1, 15,230,218, 1, 22,254,238,224, 1, 54,254,200,254,203, 20, 1, + 55, 1, 4, 1, 7, 1, 48,254,202,254,255,254,247,254,206,151, 1,164, 1,160,254, 96,254, 92, 0, 2, 0,158,254, 20, 4, 68, + 4, 94, 0, 18, 0, 29, 0, 62, 64, 38, 25, 72, 15, 14, 31, 14, 2, 14, 31, 20, 1, 4, 71, 0, 5, 16, 5, 32, 5,208, 5, 4, + 7, 5, 0, 23, 80, 17, 22, 8, 27, 80, 11, 16, 6, 15, 4, 27, 0, 63, 63, 63,225, 50, 63,225, 50, 1, 47, 94, 93,225, 50, 50, + 16,222,113,225, 49, 48, 37, 35, 22, 21, 17, 35, 17, 51, 23, 51, 54, 51, 50, 18, 17, 16, 2, 35, 34, 3, 21, 20, 22, 51, 32, 17, + 16, 33, 34, 6, 1, 84, 12, 12,182,147, 27, 8,110,212,201,229,230,200,207,115,139,152, 1, 16,254,238,152,133,139,129, 33,254, + 43, 6, 54,148,168,254,213,254,244,254,242,254,211, 2,100, 41,227,193, 1,166, 1,158,176, 0, 0, 2, 0,137,254, 20, 4, 47, + 4, 94, 0, 18, 0, 29, 0, 60, 64, 37, 1, 8, 19, 3, 5, 71,144, 4,160, 4, 2, 4, 31, 25, 72, 0, 14,224, 14,240, 14, 3, + 14, 8, 27, 80, 11, 22, 4, 27, 1, 23, 80, 17, 16, 2, 15, 0, 63, 63,225, 50, 63, 63,225, 50, 1, 47, 93,225, 16,222, 93,225, + 23, 50, 49, 48, 1, 51, 55, 51, 17, 35, 17, 52, 55, 35, 6, 35, 34, 2, 17, 16, 18, 51, 50, 19, 53, 52, 38, 35, 32, 17, 16, 33, + 50, 54, 3,121, 8, 27,147,182, 12, 12,113,209,201,229,230,200,207,115,139,152,254,240, 1, 18,152,133, 3,182,148,249,202, 1, +213, 41,129,167, 1, 43, 1, 12, 1, 14, 1, 45,253,156, 41,227,193,254, 90,254, 98,177, 0, 1, 1, 8, 0, 0, 4, 35, 4, 94, + 0, 16, 0, 49, 64, 27,144, 0, 1, 0, 0, 18, 11, 7, 71, 47, 8, 1, 0, 8, 1, 8, 11, 7, 3, 81, 1, 15, 16, 9, 15, 7, + 21, 0, 63, 63, 63, 51,225, 18, 57, 1, 47, 93, 93,225, 50, 17, 51, 47, 93, 49, 48, 1, 7, 38, 35, 34, 6, 21, 17, 35, 17, 51, + 23, 51, 54, 54, 51, 50, 4, 35, 49,123,101,163,177,182,148, 22, 8, 76,174,127,118, 4, 49,166, 45,185,175,253,176, 4, 74,201, +119,102, 0, 1, 0,203,255,236, 4, 2, 4, 94, 0, 31, 0, 60, 64, 34, 16, 16, 5, 70, 27, 33, 21, 70, 11, 0, 0, 0, 11, 80, + 11, 96, 11,240, 11, 4, 11, 21, 5, 14, 3, 80, 1, 30, 22, 19, 80, 17, 14, 16, 0, 63, 51,225, 63, 51,225, 18, 57, 57, 1, 47, + 93, 51, 47, 16,225, 16,222,225, 51, 47, 49, 48, 55, 53, 22, 51, 32, 53, 52, 38, 39, 38, 38, 53, 52, 54, 51, 50, 23, 7, 38, 35, + 34, 21, 20, 22, 23, 22, 22, 21, 20, 6, 35, 34,203,193,177, 1, 19, 98,177,233,121,223,197,198,171, 60,182,137,236,101,182,211, +139,234,214,248, 49,166, 86,162, 57, 84, 64, 87,145, 99,136,155, 74,149, 72,133, 61, 73, 65, 77,149,108,150,171, 0, 1, 0,139, +255,236, 4, 2, 5,111, 0, 19, 0, 89, 64, 55, 12, 16, 71, 5, 9, 5, 32, 7, 1, 7, 7, 47, 5, 63, 5,127, 5,143, 5,207, + 5,223, 5, 6, 0, 5, 1, 5, 5, 20, 21, 14, 14,127, 1,143, 1,175, 1, 3, 1, 21, 6, 15, 78, 11, 9, 8, 12, 15, 18, 80, + 0, 3, 22, 0, 63, 51,225, 63, 51, 51, 51,225, 50, 1, 16,206, 93, 50, 47, 17, 18, 57, 47, 93, 93, 51, 47, 93, 17, 51, 16,225, + 50, 49, 48, 37, 21, 6, 35, 32, 17, 17, 33, 53, 37, 19, 51, 17, 33, 21, 33, 17, 20, 51, 50, 3,252,130,122,254,150,254,245, 1, + 11, 77,105, 1,182,254, 74,192, 93,150,138, 32, 1, 88, 2,125, 94, 49, 1, 31,254,219,137,253,131,195, 0, 1, 0,160,255,236, + 4, 45, 4, 74, 0, 17, 0, 48, 64, 28, 1, 14, 71,144, 17,160, 17, 2, 17, 19, 9, 71, 0, 6,176, 6, 2, 6, 15, 7, 15, 1, + 11, 80, 4, 22, 0, 21, 0, 63, 63,225, 50, 63, 51, 1, 47, 93,225, 16,222, 93,225, 50, 49, 48, 33, 39, 35, 6, 35, 32, 17, 17, + 51, 17, 16, 51, 50, 54, 53, 17, 51, 17, 3,154, 27, 10,105,229,254,121,182,236,161,148,182,147,167, 1,145, 2,205,253, 61,254, +252,185,212, 2, 58,251,182, 0, 0, 1, 0, 82, 0, 0, 4,121, 4, 74, 0, 11, 0,115, 64, 56, 38, 11, 1, 41, 0, 1, 55, 11, +103, 11,231, 11,247, 11, 4, 6, 11, 22, 11, 2, 11, 56, 0,104, 0,232, 0,248, 0, 4, 9, 0, 25, 0, 2, 0, 5, 5, 1, 9, + 8, 9, 12, 72, 9, 16, 10, 32, 10, 48, 10, 3, 10, 10, 13, 2,184,255,248, 64, 21, 9, 12, 72, 2, 47, 1, 63, 1, 2, 1, 70, + 5, 86, 5, 2, 5, 9, 1, 15, 0, 21, 0, 63, 63, 51, 57, 93, 1, 47, 93, 51, 43, 17, 51, 47, 93, 51, 43, 18, 57, 61, 47, 51, + 93, 93, 51, 93, 93, 49, 48, 93, 93, 33, 1, 51, 19, 22, 23, 51, 54, 19, 19, 51, 1, 1,242,254, 96,188,240, 85, 15, 6, 7, 94, +239,189,254, 96, 4, 74,253,116,231, 94, 44, 1, 25, 2,140,251,182, 0, 0, 1,255,252, 0, 0, 4,209, 4, 74, 0, 25, 1, 43, +185, 0, 25,255,240,182, 20, 24, 72,167, 25, 1, 25,184,255,240, 64, 24, 13, 18, 72, 9, 22, 25, 22, 41, 22, 3, 41, 21, 1, 39, + 17, 87, 17, 2, 6, 17, 22, 17, 2, 16,184,255,240, 64, 66, 13, 24, 72, 39, 16, 55, 16, 2, 15, 16, 13, 24, 72, 40, 15, 56, 15, + 2, 40, 14, 88, 14, 2, 9, 14, 25, 14, 2, 40, 13, 1, 38, 10, 1, 6, 9, 22, 9, 38, 9, 3, 6, 16, 20, 24, 72,168, 6, 1, +121, 6,137, 6,153, 6, 3, 40, 6, 72, 6, 88, 6,104, 6, 4, 5,184,255,240, 64, 10, 20, 24, 72,167, 5, 1, 38, 5, 1, 5, +184,255,240, 64, 42, 13, 18, 72, 7, 5, 1, 0, 16, 20, 24, 72,168, 0, 1, 41, 0, 1, 0, 16, 13, 18, 72, 8, 0, 1, 6, 5, + 11, 16, 15, 2, 25, 0, 20,148, 11,164, 11,180, 11, 3, 11,184,255,224, 64, 48, 11, 14, 72,155, 20,171, 20,187, 20, 3, 20, 32, + 11, 14, 72, 11, 2, 20, 20, 2, 11, 3, 7, 23, 16, 24, 1, 24, 8, 7, 20, 11, 91, 2, 1, 84, 11, 1, 2, 11, 6, 23, 15, 7, + 15, 0, 6, 21, 0, 63, 51, 63, 51, 51, 18, 57, 57, 93, 93, 17, 51, 1, 47, 51, 47, 93, 51, 18, 23, 57, 61, 47, 47, 47, 43, 93, + 43, 93, 17, 51, 51, 17, 51, 51, 17, 51, 51, 49, 48, 93, 43, 93, 93, 43, 93, 43, 93, 93, 43, 93, 93, 93, 43, 93, 93, 93, 93, 93, + 93, 43, 93, 43, 93, 93, 93, 93, 43, 93, 43, 33, 3, 3, 35, 3, 3, 35, 3, 51, 19, 22, 23, 51, 54, 55, 19, 51, 19, 22, 23, 51, + 54, 55, 19, 51, 3, 3, 45,131, 68, 6, 65,135,189,223,162, 98, 34, 23, 6, 31, 37,133,193,127, 43, 24, 6, 31, 29,102,158,225, + 2, 84, 1, 74,254,178,253,176, 4, 74,253,225,186,207,185,173, 2, 66,253,190,195,163,242,151, 2, 31,251,182, 0, 1, 0, 96, + 0, 0, 4,106, 4, 74, 0, 11, 0,169,183,196, 10,212, 10,228, 10, 3, 10,184,255,240, 64, 36, 11, 14, 72,203, 8,219, 8,235, + 8, 3, 8, 16, 11, 14, 72,203, 4,219, 4,235, 4, 3, 4, 16, 11, 14, 72,196, 2,212, 2,228, 2, 3, 6, 2,184,255,240, 64, + 20, 11, 14, 72, 73, 9, 1, 9, 16, 18, 23, 72, 10, 9, 26, 9, 2, 70, 3, 1, 3,184,255,240, 64, 45, 18, 23, 72, 5, 3, 21, + 3, 2, 4, 5, 5, 6, 3, 9, 0, 4, 11, 8, 0, 7, 16, 7, 2, 7, 7, 13, 2, 1, 10, 31, 11, 1, 11, 9, 6, 0, 3, 4, + 1, 11, 7, 21, 4, 1, 15, 0, 63, 51, 63, 51, 18, 23, 57, 1, 47, 93, 51, 51, 50, 17, 51, 47, 93, 51, 18, 23, 57, 51, 17, 51, + 49, 48, 0, 93, 43, 93, 93, 43, 93, 1, 43, 95, 93, 43, 93, 43, 93, 43, 93, 1, 1, 51, 1, 1, 51, 1, 1, 35, 1, 1, 35, 1, +254,254,119,207, 1, 34, 1, 35,207,254,117, 1,157,206,254,202,254,201,207, 2, 51, 2, 23,254,102, 1,154,253,233,253,205, 1, +180,254, 76, 0, 0, 1, 0, 82,254, 20, 4,121, 4, 74, 0, 22, 0,113, 64, 30, 56, 8, 1, 9, 8, 25, 8, 41, 8, 3, 55, 1, + 1, 6, 1, 22, 1, 38, 1, 3, 22, 16, 9, 12, 72, 22, 4, 4, 8, 9,184,255,192, 64, 18, 9, 12, 72, 9, 9, 24, 15, 15, 1, + 31, 0, 47, 0, 63, 0, 3, 0, 4,184,255,240, 64, 20, 11, 14, 72, 4, 4, 20, 4, 2, 4, 0, 22, 22, 18, 80, 16, 13, 27, 8, + 0, 15, 0, 63, 50, 63, 51,225, 63, 18, 57, 93, 43, 1, 47, 93, 50, 50, 47, 17, 51, 47, 43, 51, 57, 61, 47, 51, 43, 49, 48, 93, + 93, 93, 93, 19, 51, 1, 22, 23, 51, 54, 55, 19, 51, 1, 6, 6, 35, 34, 39, 53, 22, 51, 50, 54, 55, 55, 82,188, 1, 6, 82, 7, + 6, 23, 67,239,189,254, 37, 67,178,157, 86, 82, 62, 74, 96,107, 42, 58, 4, 74,253,114,205, 85,112,180, 2,140,251, 39,174,175, + 17,145, 12, 82,100,150, 0, 1, 0,182, 0, 0, 4, 20, 4, 74, 0, 9, 0, 70, 64, 14, 3, 8, 9, 12, 72, 3, 7, 7,112, 0, + 1, 0, 11, 8,184,255,248, 64, 24, 9, 12, 72, 8, 2, 4, 4,127, 2, 1, 0, 2, 1, 2, 7, 4, 78, 5, 15, 2, 8, 78, 1, + 21, 0, 63,225, 50, 63,225, 50, 1, 47, 93, 93, 51, 47, 17, 51, 43, 16,206, 93, 50, 47, 51, 43, 49, 48, 33, 33, 53, 1, 33, 53, + 33, 21, 1, 33, 4, 20,252,162, 2,148,253,141, 3, 43,253,121, 2,153,125, 3, 68,137,146,252,209, 0, 0, 1, 0,225,254,188, + 3,233, 5,182, 0, 25, 0, 98, 64, 63, 20, 0,241, 12, 22, 9,112, 6,128, 6, 2, 6, 6, 9, 16, 95, 3, 1, 64, 3, 1, 3, + 27,224, 9,240, 9, 2, 31, 9, 1, 9, 22, 9,245,239, 10,255, 10, 2,217, 10, 1, 15, 10, 47, 10,175, 10,191, 10, 4, 10, 10, + 3, 16,245, 15,248, 3,245, 4,249, 0, 63,225, 63,225, 18, 57, 47, 93, 93, 93,225, 57, 1, 47, 93, 93, 16,206, 93, 93, 50, 17, + 57, 47, 93, 18, 57, 51,225, 50, 49, 48, 5, 20, 22, 23, 21, 36, 17, 17, 52, 33, 53, 32, 53, 17, 16, 37, 21, 6, 6, 21, 17, 20, + 7, 21, 22, 21, 2,233,112,144,254, 74,254,174, 1, 82, 1,182,144,112,233,233, 16, 81, 75, 2,150, 6, 1, 31, 1, 78,189,155, +189, 1, 77, 1, 31, 6,149, 2, 75, 81,254,180,207, 41, 12, 41,207, 0, 0, 1, 2, 27,254, 20, 2,176, 6, 20, 0, 3, 0, 21, + 64, 10, 2,170, 79, 3, 1, 3, 2, 27, 0, 0, 0, 63, 63, 1, 47, 93,225, 49, 48, 1, 51, 17, 35, 2, 27,149,149, 6, 20,248, + 0, 0, 0, 1, 0,227,254,188, 3,236, 5,182, 0, 25, 0, 96, 64, 62, 5, 25,241, 13, 3,127, 19,143, 19, 2, 19, 19, 9,239, + 15,255, 15, 2, 16, 15, 1, 15, 27, 21, 80, 9, 1, 79, 9, 1, 9, 3, 16,245,239, 15,255, 15, 2,217, 15, 1, 15, 15, 47, 15, +175, 15,191, 15, 4, 15, 15, 10, 22,245, 21,249, 9,245, 10,248, 0, 63,225, 63,225, 17, 57, 47, 93, 93, 93,225, 57, 1, 47, 93, + 93, 51, 16,206, 93, 93, 17, 57, 47, 93, 57, 51,225, 50, 49, 48, 1, 52, 55, 53, 38, 53, 17, 52, 38, 39, 53, 4, 17, 17, 20, 33, + 21, 32, 21, 17, 16, 5, 53, 54, 54, 53, 1,227,234,234,113,143, 1,183, 1, 82,254,174,254, 73,143,113, 1, 59,207, 41, 12, 41, +207, 1, 76, 81, 76, 1,149, 6,254,225,254,179,189,155,189,254,178,254,225, 6,150, 1, 76, 81, 0, 1, 0,152, 2, 74, 4, 51, + 3, 90, 0, 17, 0, 47, 64, 26, 9, 19, 0, 0, 1, 0, 0, 18, 16,173, 9, 3,178, 7,173, 0,223, 12, 1,112, 12, 1, 63, 12, + 1, 12, 0, 47, 93, 93, 93, 51,225,253, 50,225, 17, 1, 51, 47, 93, 16,206, 49, 48, 19, 53, 54, 51, 50, 23, 22, 51, 50, 55, 21, + 6, 35, 34, 39, 38, 35, 34,152, 99,148,100,148,130, 71,108,119, 99,149,100,147,131, 70,108, 2, 74,162,108, 63, 56,121,162,108, + 63, 56, 0, 2, 1,231,254,139, 2,229, 4, 94, 0, 7, 0, 11, 0, 37, 64, 17, 8, 9, 10, 6,150, 11, 2, 2, 12, 13, 8, 8, + 10, 0,155, 4, 16, 0, 63,237, 47, 57, 47, 17, 18, 1, 57, 47, 51,225, 50, 57, 57, 49, 48, 1, 34, 53, 52, 51, 50, 21, 20, 7, + 51, 19, 35, 2,102,127,127,127,188,121, 51,223, 3, 72,139,139,139,139,164,251,231, 0, 0, 1, 0,172,255,236, 4, 37, 5,203, + 0, 23, 0, 78, 64, 24, 0, 14, 70, 21, 32, 17, 48, 17, 2, 17, 17, 19, 2,143, 12, 1, 12, 25, 7, 72, 0, 19, 1, 19,184,255, +192, 64, 18, 21, 24, 72, 19, 5, 80, 0, 21, 21, 22, 7, 17, 9, 81, 14, 14, 15, 22, 0, 63, 51, 47,225, 51, 63, 51, 47, 51,225, + 1, 47, 43, 93,225, 16,206, 93, 50, 17, 57, 47, 93, 51,225, 50, 49, 48, 1, 22, 23, 7, 38, 35, 32, 17, 16, 33, 50, 55, 21, 6, + 7, 21, 35, 53, 36, 17, 16, 37, 53, 51, 2,231,162,156, 62,150,118,254,141, 1,105,153,168,122,177,137,254, 78, 1,178,137, 5, + 39, 3, 56,158, 57,254, 98,254,107, 61,159, 59, 3,200,206, 69, 1,232, 1,238, 74,172, 0, 1, 0,119, 0, 0, 4, 86, 5,201, + 0, 27, 0, 82, 64, 49, 6, 10,111, 22, 18, 8, 18, 8, 15, 0, 13, 29, 20, 0, 15, 1, 15, 9, 20,117, 6, 47, 21, 95, 21,127, + 21,143, 21,175, 21,191, 21,223, 21, 7, 21, 21, 12, 3,115, 1, 26, 7, 16, 12,116, 15, 24, 0, 63,225, 50, 63, 51,225, 18, 57, + 47, 93, 51,225, 50, 1, 47, 93, 51, 16,206, 50, 17, 57, 57, 47, 47, 51,225, 50, 49, 48, 1, 7, 38, 35, 34, 21, 17, 33, 21, 33, + 21, 20, 7, 33, 21, 33, 53, 54, 53, 53, 35, 53, 51, 17, 52, 54, 51, 50, 4, 39, 66,141,131,223, 1,121,254,135,140, 2,236,252, + 33,200,198,198,217,181,192, 5,121,144, 72,246,254,217,137,211,196, 78,166,154, 49,235,213,137, 1, 68,168,201, 0, 2, 0,174, + 1, 29, 4, 31, 4,139, 0, 27, 0, 39, 0, 94, 64, 10, 37,171, 0, 26,176, 26,224, 26, 3, 26,184,255,192, 64, 29, 11, 15, 72, + 26, 26, 31,171,192, 12, 1, 79, 12, 95, 12,111, 12, 3, 12, 41, 28,174, 0, 19,176, 19,224, 19, 3, 19,184,255,192, 64, 21, 11, + 15, 72, 19, 19, 34,174, 31, 5, 63, 5, 79, 5,111, 5,191, 5,239, 5, 6, 5, 0, 47, 93,225, 51, 47, 43, 93,225, 1, 16,222, + 93, 93,225, 51, 47, 43, 93,225, 49, 48, 1, 39, 55, 23, 54, 51, 50, 23, 55, 23, 7, 22, 21, 20, 7, 23, 7, 39, 6, 35, 34, 39, + 7, 39, 55, 38, 53, 52, 1, 50, 54, 53, 52, 38, 35, 34, 6, 21, 20, 22, 1, 47,129, 98,127,101,114,114, 99,129, 99,129, 67, 67, +127, 97,129, 99,114,118, 97,127, 96,127, 65, 1,120,100,144,143,101, 99,140,141, 3,168,129, 98,129, 68, 68,129, 96,129,101,114, +120, 95,127, 96,127, 66, 68,127, 96,127, 95,118,114,254,158,140,100,101,143,142,102,100,140, 0, 0, 1, 0, 78, 0, 0, 4,125, + 5,182, 0, 22, 0,189,185, 0, 22,255,248, 64, 9, 10, 13, 72, 1, 8, 10, 13, 72, 0,184,255,232, 64, 60, 21, 24, 72,102, 0, +118, 0, 2, 18, 14, 18, 14, 12, 22,207, 21, 1,139, 21, 1,116, 21, 1, 21, 21, 12, 5, 9, 5, 9, 1, 2, 2,103, 0, 1, 0, + 7, 3, 11,110, 20, 16,192, 12,208, 12, 2,103, 12, 1, 16, 12, 1, 12, 12, 23, 24, 7, 15,184, 1, 7,180, 14, 10, 14, 6, 18, +184, 1, 7, 64, 29, 19, 3, 0, 19,159, 14, 1, 48, 14, 64, 14, 2, 15, 19, 31, 19,159, 19, 3, 14, 19, 14, 19, 1, 11, 18, 22, + 1, 6, 0, 63, 51, 63, 18, 57, 57, 47, 47, 93, 93, 93, 17, 51, 51, 16,225, 50, 17, 51, 16,225, 50, 17, 18, 1, 57, 47, 93, 93, + 93, 51, 51,225, 50, 50, 57, 93, 50, 47, 51, 57, 57, 47, 47, 17, 51, 47, 93, 93, 93, 51, 18, 57, 57, 47, 47, 49, 48, 0, 93, 43, + 1, 43, 43, 1, 1, 51, 1, 51, 21, 33, 21, 33, 21, 33, 17, 35, 17, 33, 53, 33, 53, 33, 53, 51, 1, 51, 2,100, 1, 90,191,254, +127,240,254,210, 1, 46,254,210,178,254,211, 1, 45,254,211,234,254,133,192, 2,211, 2,227,253, 0,137,158,137,254,250, 1, 6, +137,158,137, 3, 0, 0, 0, 2, 2, 27,254, 20, 2,176, 6, 20, 0, 3, 0, 7, 0, 33, 64, 16, 2, 6,170, 3, 79, 7, 1, 7, + 4, 3, 4, 3, 6, 27, 0, 0, 0, 63, 63, 57, 57, 47, 47, 1, 47, 93, 51,225, 50, 49, 48, 1, 51, 17, 35, 17, 51, 17, 35, 2, + 27,149,149,149,149, 6, 20,252,244,254, 25,252,243, 0, 0, 2, 0,244,255,246, 3,217, 6, 31, 0, 39, 0, 50, 0,125, 64, 43, + 8, 0, 1, 6, 20, 1, 9, 0, 1, 40, 20, 47, 22, 0, 45, 2, 72, 42, 1, 42, 73, 18, 18, 32, 70, 7, 22, 52, 71, 47, 1, 47, + 73, 38, 12, 70, 2, 2, 27, 0, 38, 1, 38,184,255,192, 64, 26, 12, 15, 72, 38, 38, 51, 20, 40, 0, 45, 12, 45, 40, 32, 4, 5, + 30, 78, 28, 25, 22, 10, 78, 8, 5, 1, 0, 63, 51,225, 63, 51,225, 17, 23, 57, 17, 51, 17, 51, 17, 1, 51, 47, 43, 93, 51, 51, + 47,225, 16,225, 93, 16,222, 50,225, 51, 47,225, 93, 17, 57, 57, 17, 18, 57, 57, 49, 48, 0, 93, 93, 1, 93, 1, 38, 53, 52, 54, + 51, 50, 23, 7, 38, 35, 34, 21, 20, 22, 23, 22, 22, 21, 20, 7, 22, 21, 20, 6, 35, 34, 39, 53, 22, 51, 50, 53, 52, 38, 39, 38, + 38, 53, 52, 1, 54, 53, 52, 38, 39, 6, 21, 20, 22, 23, 1,164,160,208,173,162,164, 56,156,120,201, 99,147,157,148,145,145,221, +197,204,119,171,152,240, 86,152,197,112, 1,197,114,147,133,133,113,151, 4, 43, 80,156,120,144, 72,139, 67,116, 54, 78, 61, 62, +155,113,182, 88, 80,145,138,161, 65,158, 82,141, 57, 80, 62, 84,150,104,179,254, 97, 76,109, 89,111, 48, 48,127, 73,107, 63, 0, + 0, 2, 1, 74, 5, 12, 3,129, 5,217, 0, 7, 0, 15, 0, 55, 64, 36, 2,133, 0, 6,112, 6,224, 6, 3, 6, 6, 14,133, 10, + 10, 17, 8, 0,147, 12, 79, 4,111, 4,127, 4,159, 4,175, 4,207, 4,223, 4, 7, 4, 0, 47, 93, 51,237, 50, 17, 1, 51, 47, +225, 51, 47, 93,225, 49, 48, 1, 50, 21, 20, 35, 34, 53, 52, 33, 50, 21, 20, 35, 34, 53, 52, 1,170, 96, 96, 96, 1,215, 96, 96, + 96, 5,217,102,103,103,102,102,103,103,102, 0, 0, 3, 0, 6,255,236, 4,199, 5,203, 0, 11, 0, 23, 0, 44, 0,111, 64, 70, + 41,197, 35, 25, 31, 30, 47, 30, 63, 30, 3, 30, 25, 30, 25, 9, 15,195, 3, 46, 21,195, 9, 43,201, 27, 24, 27, 38,201, 33, 36, + 33,111, 27,127, 27,143, 27, 3, 13, 27, 29, 27, 2, 96, 33,112, 33,128, 33, 3, 2, 33, 18, 33, 2, 27, 33, 27, 33, 0, 12,200, + 6, 19, 18,200, 0, 4, 0, 63,225, 63,225, 17, 57, 57, 47, 47, 93, 93, 93, 93, 17, 51, 16,225, 17, 51, 16,225, 1, 47,225, 16, +214,225, 17, 57, 57, 47, 47, 93, 17, 51,225, 49, 48, 1, 32, 0, 17, 16, 0, 33, 32, 0, 17, 16, 0, 1, 50, 0, 17, 16, 0, 35, + 34, 0, 17, 16, 0, 1, 21, 6, 35, 34, 38, 53, 52, 54, 51, 50, 23, 7, 38, 35, 34, 6, 21, 16, 51, 50, 2,102, 1, 30, 1, 67, +254,188,254,227,254,226,254,190, 1, 65, 1, 31,240, 1, 4,254,252,240,240,254,253, 1, 3, 1,244,107,114,195,210,220,191,128, +126, 61,110, 83,121,130,251, 94, 5,203,254,104,254,168,254,167,254,106, 1,151, 1, 88, 1, 87, 1,153,250,141, 1, 85, 1, 46, + 1, 46, 1, 85,254,170,254,211,254,211,254,170, 1,109,131, 50,247,214,209,246, 62,127, 54,171,151,254,189, 0, 0, 2, 1, 20, + 3, 16, 3,141, 5,199, 0, 20, 0, 30, 0, 71, 64, 37, 30, 1, 9,224,192, 19, 1, 47, 19,127, 19, 2, 19, 19, 24,224, 15, 48, + 5,160, 5, 2, 5, 30,229, 9, 9, 26, 14, 12,228, 17,222, 1, 26,228, 3,184, 1, 0,177, 0,255, 0, 63, 63,225, 50, 63,225, + 51, 18, 57, 47,225, 1, 47, 93, 51,225, 51, 47, 93, 93,225, 50, 50, 49, 48, 1, 39, 6, 35, 34, 53, 52, 54, 55, 55, 53, 52, 35, + 34, 7, 39, 54, 51, 32, 21, 17, 3, 6, 6, 21, 20, 51, 50, 54, 53, 53, 3, 31, 33,104,164,222,170,191,125,152,112,133, 41,138, +156, 1, 35,247,114,120,104,105,125, 3, 29,118,131,205,116,103, 6, 5, 10,133, 51,110, 58,238,254, 68, 1, 63, 2, 52, 75, 90, +110, 91, 20, 0, 0, 2, 0,197, 0,115, 4, 6, 3,199, 0, 6, 0, 13, 0, 71, 64, 42, 10,235, 7,236, 11,143, 9, 1, 96, 9, + 1, 9, 15, 3,235, 0,236, 64, 4, 0, 2, 48, 2, 96, 2,160, 2, 4, 2, 12, 5,238, 8, 1,238, 32, 0, 6, 10, 3, 3,239, + 0, 25, 63, 23, 51, 26,237, 50,237, 50, 1, 24, 47, 93, 51, 26,253,225, 16,222, 93, 93, 50,253,225, 49, 48, 19, 1, 23, 3, 19, + 7, 1, 37, 1, 23, 3, 19, 7, 1,197, 1, 53,117,238,238,117,254,203, 1,151, 1, 53,117,237,237,117,254,203, 2, 41, 1,158, + 78,254,164,254,164, 78, 1,155, 27, 1,158, 78,254,164,254,164, 78, 1,155, 0, 0, 1, 0,152, 1, 6, 4, 51, 3, 29, 0, 5, + 0, 44,183, 3,170, 0, 7, 0, 5, 1, 5,184,255,192, 64, 13, 21, 24, 72, 5, 5, 6, 3,173, 0, 1, 1, 0,179, 0, 63, 50, + 47, 16,225, 17, 1, 51, 47, 43, 93, 16,222,225, 49, 48, 1, 17, 35, 17, 33, 53, 4, 51,149,252,250, 3, 29,253,233, 1,129,150, +255,255, 1, 29, 1,209, 3,176, 2,121, 2, 6, 0, 16, 0, 0, 0, 4, 0, 6,255,236, 4,199, 5,203, 0, 11, 0, 23, 0, 35, + 0, 43, 0,150, 64, 94, 24, 34, 36, 29,197, 30, 26, 25, 25, 39,197, 34, 27, 34, 96, 30, 1, 96, 34, 1, 27, 34, 1, 30, 34, 30, + 34, 9, 15,195, 3, 45, 21,195, 9, 26, 30, 21, 36, 1, 36,201, 28, 24, 28, 43,201, 31,240, 30, 1,111, 30,127, 30,143, 30, 3, + 13, 30, 29, 30, 2, 34, 28, 1, 96, 31,112, 31,128, 31, 3, 2, 31, 18, 31, 2, 30, 28, 31, 31, 28, 30, 3, 0, 12,200, 6, 19, + 18,200, 0, 4, 0, 63,225, 63,225, 17, 23, 57, 47, 47, 47, 93, 93, 93, 93, 93, 93, 16,225, 17, 51, 16,225, 93, 17, 51, 1, 47, +225, 16,214,225, 17, 57, 57, 47, 47, 93, 93, 93, 18, 57, 16,225, 51, 17, 51, 16,225, 50, 17, 57, 49, 48, 1, 32, 0, 17, 16, 0, + 33, 32, 0, 17, 16, 0, 1, 50, 0, 17, 16, 0, 35, 34, 0, 17, 16, 0, 1, 19, 35, 3, 35, 17, 35, 17, 51, 32, 17, 20, 37, 51, + 50, 53, 52, 38, 35, 35, 2,102, 1, 30, 1, 67,254,188,254,227,254,226,254,190, 1, 65, 1, 31,240, 1, 4,254,252,240,240,254, +253, 1, 3, 1,118,237,178,207, 94,158,234, 1, 69,254,111, 72,170, 84, 89, 69, 5,203,254,104,254,168,254,167,254,106, 1,151, + 1, 88, 1, 87, 1,153,250,141, 1, 85, 1, 46, 1, 46, 1, 85,254,170,254,211,254,211,254,170, 2, 80,254,117, 1, 96,254,160, + 3,125,254,247,163, 18,141, 74, 59, 0, 0, 1,255,236, 6, 20, 4,225, 6,160, 0, 3, 0, 15,181, 1, 0, 3,186, 0, 0, 0, + 63,225, 1, 47, 47, 49, 48, 1, 33, 53, 33, 4,225,251, 11, 4,245, 6, 20,140, 0, 2, 1, 43, 3, 86, 3,162, 5,203, 0, 11, + 0, 23, 0,137, 64, 26,169, 10,185, 10, 2, 10, 16, 9, 15, 72,169, 8,185, 8, 2, 8, 16, 9, 15, 72,166, 4,182, 4, 2, 4, +184,255,240, 64, 9, 9, 15, 72,166, 2,182, 2, 2, 2,184,255,240, 64, 33, 9, 15, 72, 15,171,159, 3,175, 3,255, 3, 3, 3, + 25, 21,171, 0, 9, 32, 9, 48, 9,144, 9,160, 9,176, 9,240, 9, 7, 9, 12,184, 1, 2, 64, 12, 0, 6, 16, 6, 32, 6,224, + 6,240, 6, 5, 6,184,255,192,180, 16, 21, 72, 6, 18,184, 1, 2,177, 0, 4, 0, 63,225,212, 43, 93,225, 1, 47, 93,225, 16, +222, 93,225, 49, 48, 43, 93, 43, 93, 43, 93, 43, 93, 1, 50, 22, 21, 20, 6, 35, 34, 38, 53, 52, 54, 19, 50, 54, 53, 52, 38, 35, + 34, 6, 21, 20, 22, 2,102,129,187,186,130,131,184,185,130, 79,114,115, 78, 79,113,112, 5,203,187,129,129,184,185,128,129,187, +254, 6,112, 78, 81,114,115, 80, 78,112, 0, 2, 0,152, 0, 0, 4, 51, 4,162, 0, 11, 0, 15, 0, 41, 64, 22, 14, 9, 6,170, + 13, 0,192, 3,208, 3, 2, 3, 13,173, 12, 24, 9, 0,173, 6, 3,179, 0, 63, 51,225, 50, 63,225, 1, 47, 93, 51, 51,225, 50, + 50, 49, 48, 1, 33, 53, 33, 17, 51, 17, 33, 21, 33, 17, 35, 1, 53, 33, 21, 2, 27,254,125, 1,131,149, 1,131,254,125,149,254, +125, 3,155, 2,135,150, 1,133,254,123,150,254,127,254,250,150,150, 0, 0, 1, 1, 92, 2,160, 3,111, 5,197, 0, 21, 0, 77, + 64, 51, 21, 21, 6,224, 15, 16, 31, 16, 79, 16, 95, 16,127, 16,143, 16,159, 16, 7, 16, 16, 20, 11, 11, 0, 1, 96, 1,112, 1, +128, 1, 4, 1, 6, 1, 10, 16, 17, 24, 72, 10, 8,228, 13,222, 2, 20,228, 1,221, 0, 63,225, 50, 63,225, 51, 43, 18, 57, 1, + 47, 93, 50, 47, 50, 50, 47, 93,225, 51, 47, 49, 48, 1, 33, 53, 55, 54, 54, 53, 52, 35, 34, 7, 39, 54, 51, 50, 22, 21, 20, 6, + 7, 7, 33, 3,111,253,237,187,111, 61,111, 81, 83, 78,117,131,118,130, 70,129,135, 1,107, 2,160,102,199,118,101, 57,115, 76, + 86,103,120,104, 66,136,129,136, 0, 1, 1, 86, 2,143, 3, 78, 5,197, 0, 30, 0,132, 64, 79, 0, 16, 19,224, 23, 29, 1, 29, + 29, 2, 16, 16, 7, 12,224, 15, 2, 31, 2, 79, 2, 95, 2,127, 2,143, 2,159, 2, 7, 2, 2, 7, 24, 24, 0, 7, 96, 7,112, + 7, 3, 7, 0, 15,229,250, 16, 1,233, 16, 1,168, 16, 1,111, 16, 1, 11, 16, 27, 16, 2, 16, 16, 10, 23, 16, 17, 24, 72, 23, + 21,228, 26,222, 10,228, 8,184,255,240,181, 17, 24, 72, 8, 5,223, 0, 63, 51, 43,225, 63,225, 51, 43, 18, 57, 47, 93, 93, 93, + 93, 93,225, 57, 1, 47, 93, 51, 47, 17, 51, 47, 93,225, 18, 57, 47, 17, 51, 47, 93,225, 18, 57, 49, 48, 1, 22, 21, 20, 6, 35, + 34, 39, 53, 22, 51, 50, 53, 52, 35, 35, 53, 51, 50, 53, 52, 35, 34, 7, 39, 54, 51, 50, 22, 21, 20, 2,158,176,149,140,131, 84, +110, 93,149,147, 72, 70,123, 97, 71, 90, 66,111,127,109,128, 4, 61, 39,147,116,128, 50,124, 65,137,125,104,127,111, 70, 86, 93, +109, 94,139, 0, 0, 1, 1,162, 4,217, 3, 43, 6, 33, 0, 7, 0, 31, 64, 16, 6, 7,134, 2,135, 3, 3, 9, 2,146, 15, 6, + 95, 6, 2, 6, 0, 47, 93,237, 17, 1, 51, 47,225,237, 50, 49, 48, 1, 54, 55, 51, 21, 6, 7, 35, 1,162, 94, 80,219,112,160, +121, 4,244,133,168, 21,173,134, 0, 1, 0,180,254, 20, 4, 25, 4, 74, 0, 21, 0, 61, 64, 16, 10, 5, 71,143, 8, 1, 8, 23, + 15, 0, 18, 71, 0, 19, 1, 19,184,255,192, 64, 16, 17, 20, 72, 19, 18, 27, 10, 2, 80, 13, 22, 9, 21, 20, 6, 15, 0, 63, 51, + 63, 63,225, 50, 63, 1, 47, 43, 93,225, 50, 50, 16,222, 93,225, 50, 49, 48, 1, 16, 51, 50, 54, 53, 17, 51, 17, 35, 39, 35, 6, + 35, 34, 39, 22, 21, 17, 35, 17, 51, 1,106,218,148,138,183,148, 27, 10, 96,199,139, 74, 6,182,182, 1,135,254,252,182,215, 2, + 58,251,182,147,167, 88,153, 87,254,192, 6, 54, 0, 1, 0, 66,254,252, 4, 55, 6, 20, 0, 14, 0, 77,183, 4,154, 96, 5,240, + 5, 2, 5,184,255,192, 64, 37, 18, 22, 72, 34, 5, 50, 5, 2, 4, 5, 20, 5, 2, 5, 5, 10, 1,154, 0, 16, 10, 64, 10, 15, + 72, 10, 10, 15, 8, 8, 0, 2, 81, 14, 0, 5, 0, 0, 47, 50, 63,225, 18, 57, 47, 17, 1, 51, 47, 43, 16,222,225, 17, 57, 47, + 93, 93, 43, 93,225, 49, 48, 1, 35, 17, 35, 17, 35, 17, 6, 35, 32, 17, 16, 54, 51, 33, 4, 55,121,206,121, 61, 85,254, 93,217, +233, 2, 51,254,252, 6,121,249,135, 3, 51, 18, 1,245, 1, 3,255, 0, 0, 1, 1,231, 2, 72, 2,229, 3, 94, 0, 7, 0, 34, + 64, 20, 2,150, 48, 6, 96, 6,176, 6,224, 6,240, 6, 5, 6, 6, 8, 9, 0,155, 4, 0, 47,237, 17, 18, 1, 57, 47, 93,237, + 49, 48, 1, 50, 21, 20, 35, 34, 53, 52, 2,102,127,127,127, 3, 94,139,139,139,139, 0, 0, 1, 1,172,254, 20, 3, 33, 0, 0, + 0, 15, 0, 67,185, 0, 13,255,176, 64, 33, 11, 19, 72, 7, 48, 9, 14, 72, 8, 7, 9, 10, 7, 10, 0, 5,132, 12, 95, 0, 1, + 0, 0, 12, 12, 17, 10, 7, 8, 3,141, 14, 8, 0, 47, 47,225, 17, 57, 57, 17, 1, 51, 47, 51, 47, 93, 16,225, 17, 57, 57, 17, + 51, 17, 51, 49, 48, 43, 43, 1, 53, 22, 51, 50, 53, 52, 39, 55, 51, 7, 22, 21, 20, 33, 34, 1,172, 33, 47,151,172, 91,120, 57, +160,254,221, 34,254, 29,108, 6, 92, 74, 39,176,115, 37,135,205, 0, 1, 1,111, 2,160, 2,209, 5,180, 0, 10, 0, 33, 64, 15, + 10, 10, 2,224, 0, 3, 3, 11, 12, 2,221, 6, 9, 0,220, 0, 63,205, 57, 63, 17, 18, 1, 57, 47, 51,225, 51, 47, 49, 48, 1, + 51, 17, 35, 17, 52, 55, 6, 7, 7, 39, 2, 74,135,146, 9, 41, 33, 70, 73, 5,180,252,236, 1,209, 69,131, 44, 21, 51, 88, 0, + 0, 2, 1, 25, 3, 16, 3,180, 5,199, 0, 11, 0, 19, 0, 48, 64, 27, 14,224,176, 9, 1,127, 9, 1, 9, 9, 18,224, 32, 3, + 48, 3,160, 3, 3, 3, 16,230, 6,222, 12,230, 0,184, 1, 0, 0, 63,225, 63,225, 1, 47, 93,225, 51, 47, 93, 93,225, 49, 48, + 1, 34, 38, 53, 52, 54, 51, 50, 22, 21, 20, 6, 39, 50, 53, 52, 35, 34, 21, 20, 2,100,144,187,180,155,145,187,184,150,181,181, +182, 3, 16,186,163,162,184,185,161,165,184,119,230,225,225,230, 0, 2, 0,197, 0,115, 4, 6, 3,199, 0, 6, 0, 13, 0, 71, + 64, 42, 2, 4,236, 3,235, 63, 6,143, 6,159, 6,175, 6, 4, 6, 15, 9, 11,236, 64, 10,235,159, 13, 1, 0, 13, 1, 13, 12, + 5,238, 8, 1,238, 32, 0, 6, 10, 3, 3,239, 0, 25, 63, 23, 51, 26,237, 50,237, 50, 1, 24, 47, 93, 93,225, 26,237, 50, 16, +222, 93,225,237, 50, 49, 48, 1, 1, 39, 19, 3, 55, 1, 5, 1, 39, 19, 3, 55, 1, 4, 6,254,203,117,238,238,117, 1, 53,254, +105,254,202,116,237,237,116, 1, 54, 2, 14,254,101, 78, 1, 92, 1, 92, 78,254, 98, 27,254,101, 78, 1, 92, 1, 92, 78,254, 98, +255,255, 0, 22, 0, 0, 4,184, 5,182, 2, 39, 0,123,254,167, 0, 0, 0, 38, 2, 23, 0, 0, 1, 7, 2, 60, 1, 57,253, 89, + 0, 60, 64, 39, 3, 2, 18, 24, 3, 2,240, 18, 1,224, 18, 1,128, 18, 1,127, 18, 1, 16, 18, 1, 18, 0,240, 0, 1,224, 0, + 1,176, 0, 1, 80, 0, 1, 64, 0, 1, 0, 17, 93, 93, 93, 93, 93, 53, 17, 93, 93, 93, 93, 93, 53, 53, 0, 63, 53, 53,255,255, + 0, 3, 0, 0, 4,201, 5,182, 2, 39, 0,123,254,148, 0, 0, 0, 38, 2, 23,191, 0, 1, 7, 0,116, 1, 90,253, 97, 0, 68, + 64, 45, 2, 16, 24, 2,240, 16, 1,224, 16, 1,208, 16, 1,192, 16, 1, 16, 16, 1, 0, 16, 1, 16, 1,175, 13, 1,143, 13, 1, + 13, 0,240, 0, 1,224, 0, 1, 80, 0, 1, 64, 0, 1, 0, 17, 93, 93, 93, 93, 53, 17, 93, 93, 53, 17, 93, 93, 93, 93, 93, 93, + 53, 0, 63, 53,255,255, 0, 21, 0, 0, 4,205, 5,197, 2, 39, 0,117,254,191, 0, 0, 0, 38, 2, 23, 53, 0, 1, 7, 2, 60, + 1, 78,253, 89, 0, 56, 64, 36, 3, 2, 38, 24, 3, 2,240, 38, 1,224, 38, 1,128, 38, 1, 16, 38, 1, 38, 1,244, 33, 1,228, + 33, 1,212, 33, 1,196, 33, 1,176, 33, 1, 33, 17, 93, 93, 93, 93, 93, 53, 17, 93, 93, 93, 93, 53, 53, 0, 63, 53, 53, 0, 2, + 0,168,254,119, 4, 31, 4, 94, 0, 7, 0, 33, 0, 91, 64, 55, 33, 8, 8, 6,150, 64, 2, 80, 2, 2, 2, 2, 15,159, 21, 1, + 21, 35, 32, 35, 1, 15, 71,159, 26, 1, 0, 26, 1, 26, 15, 23, 32, 8, 1, 8, 8, 0, 20, 18, 81, 48, 23, 1, 23, 26, 0, 1, + 9, 0, 1, 0,155, 4, 16, 0, 63,225, 93, 93, 47, 93,225, 51, 18, 57, 47, 93, 18, 57, 1, 47, 93, 93,225, 93, 16,206, 93, 17, + 57, 47, 93,229, 50, 17, 51, 49, 48, 1, 34, 53, 52, 51, 50, 21, 20, 7, 21, 20, 6, 7, 6, 6, 21, 20, 22, 51, 50, 55, 23, 6, + 35, 34, 38, 53, 52, 54, 55, 54, 54, 53, 53, 2,162,127,127,127, 39, 89,118,129, 84,149,132,181,189, 62,219,203,217,248,107,143, +119, 65, 3, 72,139,139,139,139,164, 37,119,149, 84, 97,116,101, 93,113, 90,144,106,195,163,134,166,108, 87,107, 90, 19,255,255, + 0, 33, 0, 0, 4,172, 7,115, 2, 38, 0, 36, 0, 0, 1, 7, 0, 67,255,179, 1, 82, 0, 21,180, 2, 15, 5, 38, 2,184,255, +179,180, 18, 15, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 33, 0, 0, 4,172, 7,115, 2, 38, 0, 36, 0, 0, 1, 7, + 0,118, 0,102, 1, 82, 0, 19, 64, 11, 2, 21, 5, 38, 2,102, 15, 18, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 33, + 0, 0, 4,172, 7,115, 2, 38, 0, 36, 0, 0, 1, 7, 1, 75, 0, 0, 1, 82, 0, 19, 64, 11, 2, 15, 5, 38, 2, 0, 21, 15, + 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 33, 0, 0, 4,172, 7, 53, 2, 38, 0, 36, 0, 0, 1, 7, 1, 82,255,255, + 1, 82, 0, 21,180, 2, 15, 5, 38, 2,184,255,254,180, 16, 25, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 33, 0, 0, + 4,172, 7, 43, 2, 38, 0, 36, 0, 0, 1, 7, 0,106, 0, 0, 1, 82, 0, 25,182, 3, 2, 19, 5, 38, 3, 2,184,255,255,180, + 21, 25, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 33, 0, 0, 4,172, 7, 4, 2, 38, 0, 36, 0, 0, 1, 6, + 1, 80, 0,125, 0, 52, 64, 26, 3, 2,239, 26, 1,223, 26, 1, 80, 26, 1, 64, 26, 1, 32, 26, 1, 16, 26, 1, 0, 26, 1, 26, + 3, 2,184,255,255,180, 18, 24, 4, 7, 37, 1, 43, 53, 53, 0, 17, 93, 93, 93, 93, 93, 93, 93, 53, 53, 0, 2, 0, 0, 0, 0, + 4,186, 5,182, 0, 15, 0, 19, 0,134, 64, 84, 6, 8, 11, 14, 72, 16, 3, 19, 4,201, 19,217, 19,233, 19, 3, 55, 19, 1, 19, + 6, 10, 14, 90, 1, 17, 1, 15, 1, 1, 79, 1, 95, 1,127, 1,143, 1,239, 1,255, 1, 6, 6, 1, 11, 11, 1, 6, 3, 5, 8, + 0, 21, 4, 5, 3, 95, 16, 13, 95, 10,159, 16,207, 16, 2,104, 10, 1, 16, 10, 16, 10, 14, 19, 9, 95, 6, 3, 14, 95, 4, 1, + 0, 47, 51,225, 63,225, 50, 18, 57, 57, 47, 47, 93, 93, 16,225, 16,225, 1, 47, 51, 16,206, 50, 17, 23, 57, 47, 47, 47, 93,113, + 17, 51, 16,225, 50, 17, 51, 93, 93, 17, 18, 57, 57, 43, 49, 48, 33, 33, 17, 33, 3, 35, 1, 33, 21, 33, 17, 33, 21, 33, 17, 33, + 1, 51, 17, 35, 4,186,253,115,254,223, 96,172, 1, 82, 3,104,254, 35, 1,182,254, 74, 1,221,252,119,252,106, 1,197,254, 59, + 5,182,164,254, 60,162,253,248, 1,198, 2,168,255,255, 0,129,254, 20, 4,156, 5,203, 2, 38, 0, 38, 0, 0, 1, 6, 0,122, + 80, 0, 0, 11,182, 1, 40, 22, 34, 6, 11, 37, 1, 43, 53, 0,255,255, 0,217, 0, 0, 4, 35, 7,115, 2, 38, 0, 40, 0, 0, + 1, 7, 0, 67,255,183, 1, 82, 0, 21,180, 1, 12, 5, 38, 1,184,255,160,180, 15, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0,217, 0, 0, 4, 35, 7,115, 2, 38, 0, 40, 0, 0, 1, 7, 0,118, 0, 63, 1, 82, 0, 19, 64, 11, 1, 18, 5, 38, + 1, 39, 12, 15, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,217, 0, 0, 4, 35, 7,115, 2, 38, 0, 40, 0, 0, 1, 7, + 1, 75, 0, 35, 1, 82, 0, 19, 64, 11, 1, 12, 5, 38, 1, 11, 18, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,217, + 0, 0, 4, 35, 7, 43, 2, 38, 0, 40, 0, 0, 1, 7, 0,106, 0, 25, 1, 82, 0, 23, 64, 13, 2, 1, 16, 5, 38, 2, 1, 0, + 18, 22, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,225, 0, 0, 3,233, 7,115, 2, 38, 0, 44, 0, 0, 1, 7, + 0, 67,255,148, 1, 82, 0, 21,180, 1, 12, 5, 38, 1,184,255,150,180, 15, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0,225, 0, 0, 3,233, 7,115, 2, 38, 0, 44, 0, 0, 1, 7, 0,118, 0,119, 1, 82, 0, 19, 64, 11, 1, 18, 5, 38, 1,120, + 12, 15, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,225, 0, 0, 3,233, 7,115, 2, 38, 0, 44, 0, 0, 1, 7, 1, 75, + 0, 0, 1, 82, 0, 19, 64, 11, 1, 12, 5, 38, 1, 1, 18, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,225, 0, 0, + 3,233, 7, 43, 2, 38, 0, 44, 0, 0, 1, 7, 0,106, 0, 2, 1, 82, 0, 23, 64, 13, 2, 1, 16, 5, 38, 2, 1, 2, 18, 22, + 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 2, 0, 0, 0, 0, 4,123, 5,182, 0, 12, 0, 23, 0, 73, 64, 44, 16, 0, + 21, 91, 9, 25, 14, 18, 90, 4, 2, 0, 0,224, 0,240, 0, 3, 0, 17, 2, 95, 14,104, 3, 1, 47, 3,159, 3,207, 3, 3, 3, + 3, 18, 13, 96, 5, 3, 18, 96, 0, 18, 0, 63,225, 63,225, 18, 57, 47, 93, 93, 51,225, 50, 1, 47, 93,198, 51,225, 50, 16,222, +225, 17, 57, 49, 48, 51, 17, 35, 53, 51, 17, 33, 32, 0, 17, 16, 0, 33, 3, 17, 33, 21, 33, 17, 51, 32, 17, 16, 33,135,135,135, + 1, 86, 1, 61, 1, 97,254,146,254,167,114, 1,124,254,132, 96, 2, 20,254, 19, 2,147,162, 2,129,254,134,254,173,254,151,254, +128, 5, 23,254, 30,162,254, 13, 2, 67, 2, 52,255,255, 0,135, 0, 0, 4, 68, 7, 53, 2, 38, 0, 49, 0, 0, 1, 7, 1, 82, + 0, 4, 1, 82, 0, 19, 64, 11, 1, 16, 5, 38, 1, 4, 17, 26, 7, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 84,255,236, + 4,123, 7,115, 2, 38, 0, 50, 0, 0, 1, 7, 0, 67,255,175, 1, 82, 0, 21,180, 2, 20, 5, 38, 2,184,255,174,180, 23, 20, + 2, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 84,255,236, 4,123, 7,115, 2, 38, 0, 50, 0, 0, 1, 7, 0,118, 0, 90, + 1, 82, 0, 19, 64, 11, 2, 26, 5, 38, 2, 89, 20, 23, 2, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 84,255,236, 4,123, + 7,115, 2, 38, 0, 50, 0, 0, 1, 7, 1, 75, 0, 0, 1, 82, 0, 21,180, 2, 20, 5, 38, 2,184,255,255,180, 26, 20, 2, 7, + 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 84,255,236, 4,123, 7, 53, 2, 38, 0, 50, 0, 0, 1, 7, 1, 82, 0, 8, 1, 82, + 0, 19, 64, 11, 2, 20, 5, 38, 2, 6, 21, 30, 2, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 84,255,236, 4,123, 7, 43, + 2, 38, 0, 50, 0, 0, 1, 7, 0,106, 0, 2, 1, 82, 0, 23, 64, 13, 3, 2, 24, 5, 38, 3, 2, 0, 26, 30, 2, 7, 37, 1, + 43, 53, 53, 0, 43, 53, 53, 0, 0, 1, 0,190, 1, 45, 4, 14, 4,123, 0, 11, 0, 92,185, 0, 6,255,240,179, 15, 22, 72, 6, +184,255,248, 64, 24, 10, 14, 72, 0, 16, 15, 22, 72, 0, 8, 10, 14, 72, 9, 16, 15, 22, 72, 9, 8, 10, 14, 72, 3,184,255,240, +179, 15, 22, 72, 3,184,255,248, 64, 20, 10, 14, 72,128, 3,192, 3,208, 3,240, 3, 4, 31, 3, 1, 3,223, 0, 1, 0, 0, 25, + 47, 93, 1, 47, 93, 93, 49, 48, 0, 43, 43, 43, 43, 1, 43, 43, 43, 43, 1, 1, 55, 1, 1, 23, 1, 1, 7, 1, 1, 39, 1,252, +254,194,105, 1, 61, 1, 66,104,254,191, 1, 63,102,254,190,254,195,102, 2,211, 1, 63,105,254,194, 1, 62,103,254,191,254,192, +102, 1, 61,254,197,103, 0, 3, 0, 80,255,180, 4,133, 5,252, 0, 18, 0, 25, 0, 33, 0, 96,185, 0, 19,255,224, 64, 56, 9, + 23, 72, 26, 32, 9, 23, 72, 26, 20, 27, 19, 4, 24, 32, 91, 12, 9, 0, 3, 4, 5, 11, 14, 35, 24, 91, 2, 31, 5, 47, 5, 2, + 5, 27, 19, 26, 20, 4, 22, 29, 95, 0, 3, 12, 9, 4, 7, 1, 17, 19, 22, 95, 10, 7, 4, 0, 63, 51,225, 63, 51, 18, 23, 57, +225, 17, 23, 57, 1, 47, 93, 51,225, 16,222, 50, 17, 23, 57,225, 17, 23, 57, 49, 48, 0, 43, 43, 37, 7, 39, 55, 38, 17, 16, 33, + 50, 23, 55, 23, 7, 22, 17, 16, 0, 35, 34, 3, 1, 38, 35, 32, 17, 20, 1, 1, 22, 51, 50, 18, 17, 52, 1, 53, 92,137,121,117, + 2, 22,186,124, 92,137,125,115,254,236,255,189,108, 2, 3, 80,136,254,175, 2,122,254, 0, 80,133,173,161, 74,150, 78,197,184, + 1, 96, 2,238,105,152, 78,201,188,254,180,254,151,254,120, 1,155, 3, 68, 94,253,180,212, 2, 28,252,192, 86, 1, 34, 1, 44, +209, 0,255,255, 0,125,255,236, 4, 80, 7,115, 2, 38, 0, 56, 0, 0, 1, 7, 0, 67,255,187, 1, 82, 0, 21,180, 1, 15, 5, + 38, 1,184,255,187,180, 18, 15, 6, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4, 80, 7,115, 2, 38, 0, 56, + 0, 0, 1, 7, 0,118, 0, 76, 1, 82, 0, 19, 64, 11, 1, 21, 5, 38, 1, 76, 15, 18, 6, 0, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0,125,255,236, 4, 80, 7,115, 2, 38, 0, 56, 0, 0, 1, 7, 1, 75, 0, 0, 1, 82, 0, 19, 64, 11, 1, 15, 5, 38, + 1, 0, 21, 15, 6, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4, 80, 7, 43, 2, 38, 0, 56, 0, 0, 1, 7, + 0,106, 0, 2, 1, 82, 0, 23, 64, 13, 2, 1, 19, 5, 38, 2, 1, 1, 21, 25, 6, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, +255,255, 0, 33, 0, 0, 4,170, 7,115, 2, 38, 0, 60, 0, 0, 1, 7, 0,118, 0, 76, 1, 82, 0, 19, 64, 11, 1, 15, 5, 38, + 1, 77, 9, 12, 7, 2, 37, 1, 43, 53, 0, 43, 53, 0, 0, 2, 0,176, 0, 0, 4, 70, 5,182, 0, 11, 0, 19, 0, 62, 64, 36, + 16, 91,239, 8,255, 8, 2, 8, 21, 12, 5, 1, 90, 0, 2,144, 2,160, 2, 3, 2, 12, 96, 0, 19, 96, 5, 0, 5, 0, 5, 1, + 3, 3, 1, 18, 0, 63, 63, 18, 57, 57, 47, 47, 16,225, 16,225, 1, 47, 93,225, 50, 50, 16,222, 93,225, 49, 48, 1, 17, 35, 17, + 51, 21, 51, 32, 17, 20, 4, 33, 39, 51, 50, 54, 53, 16, 33, 35, 1,106,186,186,218, 2, 2,254,235,254,248,191,170,198,171,254, +174,201, 1, 61,254,195, 5,182,252,254, 84,219,246,158,144,153, 1, 23, 0, 1, 0,164,255,236, 4,127, 6, 31, 0, 42, 0,114, + 64, 75, 16, 22, 1, 11, 70, 32, 15, 71, 27, 29, 0, 1, 15, 0, 1, 79, 32, 95, 32, 2, 29, 32, 1, 15, 32, 1, 15, 27, 31, 27, +191, 27,207, 27,223, 27, 5, 0, 32, 27, 27, 32, 0, 3, 21, 5, 71, 38, 44, 20, 71, 0, 21,160, 21,176, 21, 3, 21, 5, 32, 15, + 3, 24, 3, 80, 1, 41, 22, 17, 80, 24, 1, 21, 21, 0, 63, 63,225, 63, 51,225, 18, 23, 57, 1, 47, 93,225, 16,222,225, 18, 23, + 57, 47, 47, 47, 93, 93, 93, 93, 93, 93, 16,225, 16,225, 49, 48, 0, 93, 37, 53, 22, 51, 50, 53, 52, 38, 39, 38, 38, 53, 52, 55, + 54, 53, 52, 35, 34, 21, 17, 35, 17, 16, 33, 50, 22, 21, 20, 7, 6, 6, 21, 20, 22, 23, 22, 22, 21, 20, 6, 35, 34, 1,223,143, +134,213, 91, 98,123,100,129,129,227,242,182, 1,168,194,217,133, 84, 49, 58,122,144, 94,200,183,182, 49,166, 86,174, 81,102, 61, + 78,122, 87,117,106,106, 90,164,215,251, 78, 4,176, 1,111,159,148,132,117, 74, 62, 33, 39, 60, 81, 95,156, 98,162,171,255,255, + 0,135,255,236, 4, 2, 6, 33, 2, 38, 0, 68, 0, 0, 1, 6, 0, 67,171, 0, 0, 21,180, 2, 34, 17, 38, 2,184,255,205,180, + 37, 34, 8, 22, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,135,255,236, 4, 2, 6, 33, 2, 38, 0, 68, 0, 0, 1, 6, 0,118, + 84, 0, 0, 23, 64, 14, 2, 40, 17, 38, 2, 80, 34, 1,118, 34, 37, 8, 22, 37, 1, 43, 93, 53, 0, 43, 53, 0,255,255, 0,135, +255,236, 4, 2, 6, 33, 2, 38, 0, 68, 0, 0, 1, 6, 1, 75, 8, 0, 0, 23, 64, 14, 2, 34, 17, 38, 2, 96, 40, 1, 42, 40, + 34, 8, 22, 37, 1, 43, 93, 53, 0, 43, 53, 0,255,255, 0,135,255,236, 4, 2, 5,227, 2, 38, 0, 68, 0, 0, 1, 6, 1, 82, + 10, 0, 0, 31, 64, 20, 2, 34, 17, 38, 2,128, 35, 1,112, 35, 1, 96, 35, 1, 43, 35, 44, 8, 22, 37, 1, 43, 93, 93, 93, 53, + 0, 43, 53, 0,255,255, 0,135,255,236, 4, 2, 5,217, 2, 38, 0, 68, 0, 0, 1, 6, 0,106, 12, 0, 0, 35, 64, 22, 3, 2, + 38, 17, 38, 3, 2, 80, 40, 1, 64, 40, 1, 48, 40, 1, 45, 40, 44, 8, 22, 37, 1, 43, 93, 93, 93, 53, 53, 0, 43, 53, 53, 0, +255,255, 0,135,255,236, 4, 2, 6,135, 2, 38, 0, 68, 0, 0, 1, 6, 1, 80,255, 0, 0, 23, 64, 13, 3, 2, 34, 17, 38, 3, + 2, 32, 37, 43, 8, 22, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 3, 0, 45,255,236, 4,162, 4, 94, 0, 34, 0, 41, 0, 51, + 0,104, 64, 60, 27, 10, 35, 17, 71, 0, 16, 51,192, 51, 2, 51, 51, 32, 36, 70, 23, 16, 64, 10, 22, 72, 11, 16, 1, 16, 53, 45, + 71, 6,224, 32,240, 32, 2, 32, 42, 17, 80, 0, 35, 35, 8, 27, 20, 48, 80, 22, 25, 25, 29, 22, 39, 10, 3, 80, 12, 5, 8, 16, + 0, 63, 51, 51,225, 50, 50, 63, 51, 17, 51,225, 50, 50, 17, 57, 47, 51,225, 50, 1, 47, 93, 51,225, 16,222, 93, 43, 50,225, 17, + 57, 47, 93, 51,225, 50, 57, 57, 49, 48, 1, 53, 52, 35, 34, 7, 39, 54, 51, 50, 23, 54, 51, 50, 18, 21, 21, 33, 22, 22, 51, 50, + 55, 21, 6, 35, 34, 39, 6, 35, 34, 38, 53, 16, 37, 37, 33, 52, 38, 35, 34, 6, 3, 7, 6, 21, 20, 22, 51, 50, 54, 53, 2, 10, +139,107,104, 57,131,145,188, 58, 78,162,137,172,254, 16, 3,128,105,111,122,107,134,222, 94,105,196,115,141, 1, 72, 1, 65, 1, + 60, 81, 71, 68, 90,180, 88,217, 64, 55, 82,104, 2,150, 69,236, 82,137, 96,178,178,254,241,220,113,192,183, 76,162, 73,229,229, +173,154, 1, 76, 16, 7,141,164,156,254,238, 7, 17,208, 83, 95,165,146,255,255, 0,172,254, 20, 4, 37, 4, 94, 2, 38, 0, 70, + 0, 0, 1, 6, 0,122, 49, 0, 0, 11,182, 1, 47, 20, 32, 15, 0, 37, 1, 43, 53, 0,255,255, 0,133,255,236, 4, 72, 6, 33, + 2, 38, 0, 72, 0, 0, 1, 6, 0, 67,212, 0, 0, 21,180, 2, 23, 17, 38, 2,184,255,212,180, 26, 23, 11, 0, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 0,133,255,236, 4, 72, 6, 33, 2, 38, 0, 72, 0, 0, 1, 6, 0,118, 82, 0, 0, 31, 64, 20, 2, 29, + 17, 38, 2,160, 23, 1, 16, 23, 1, 0, 23, 1, 82, 23, 26, 11, 0, 37, 1, 43, 93, 93, 93, 53, 0, 43, 53, 0,255,255, 0,133, +255,236, 4, 72, 6, 33, 2, 38, 0, 72, 0, 0, 1, 6, 1, 75, 16, 0, 0, 19, 64, 11, 2, 23, 17, 38, 2, 16, 29, 23, 11, 0, + 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,133,255,236, 4, 72, 5,217, 2, 38, 0, 72, 0, 0, 1, 6, 0,106, 18, 0, 0, 23, + 64, 13, 3, 2, 27, 17, 38, 3, 2, 17, 29, 33, 11, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,197, 0, 0, 4, 51, + 6, 33, 2, 38, 0,243, 0, 0, 1, 6, 0, 67,171, 0, 0, 21,180, 1, 10, 17, 38, 1,184,255,150,180, 13, 10, 7, 5, 37, 1, + 43, 53, 0, 43, 53, 0,255,255, 0,197, 0, 0, 4, 51, 6, 33, 2, 38, 0,243, 0, 0, 1, 6, 0,118,113, 0, 0, 19, 64, 11, + 1, 16, 17, 38, 1, 91, 10, 13, 7, 5, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,197, 0, 0, 4, 51, 6, 33, 2, 38, 0,243, + 0, 0, 1, 6, 1, 75, 0, 0, 0, 21,180, 1, 10, 17, 38, 1,184,255,235,180, 16, 10, 7, 5, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0,197, 0, 0, 4, 51, 5,217, 2, 38, 0,243, 0, 0, 1, 6, 0,106, 0, 0, 0, 25,182, 2, 1, 14, 17, 38, 2, 1, +184,255,234,180, 16, 20, 7, 5, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 2, 0,135,255,236, 4, 70, 6, 35, 0, 26, 0, 36, + 0,112,185, 0, 11,255,224, 64, 65, 15, 20, 72, 6, 32, 15, 19, 72, 1, 34, 72, 16, 14, 11, 3, 6, 8, 5, 13, 5, 13, 5, 13, + 22,239, 16,255, 16, 2, 16, 38, 29, 72, 0, 22,224, 22,240, 22, 3, 22, 0, 27, 80, 25, 14, 6, 11, 3, 48, 25, 1, 4, 25, 4, + 25, 9, 31, 80, 19, 22, 12, 12, 9, 1, 0, 63, 51, 47, 63,225, 18, 57, 57, 47, 47, 93, 23, 57, 16,225, 50, 1, 47, 93,225, 16, +206, 93, 17, 57, 57, 47, 47, 18, 23, 57, 16,225, 50, 49, 48, 43, 0, 43, 1, 55, 38, 39, 5, 39, 55, 38, 39, 55, 22, 23, 55, 23, + 7, 0, 17, 16, 0, 35, 34, 0, 53, 52, 18, 51, 50, 7, 32, 17, 16, 33, 50, 54, 53, 52, 38, 3,121, 8, 58,184,255, 0, 73,217, +104, 68, 69,143,103,227, 74,194, 1, 45,254,255,225,213,254,248,241,214,211,187,254,226, 1, 32,154,135,155, 3, 84, 4,226,165, +153,114,131, 71, 38,123, 70, 78,138,113,117,254,221,254, 45,254,235,254,196, 1, 11,230,234, 1, 4,148,254,160,254,172,199,196, +129,168,255,255, 0,160, 0, 0, 4, 45, 5,227, 2, 38, 0, 81, 0, 0, 1, 6, 1, 82, 6, 0, 0, 19, 64, 11, 1, 17, 17, 38, + 1, 5, 18, 27, 7, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115,255,236, 4, 88, 6, 33, 2, 38, 0, 82, 0, 0, 1, 6, + 0, 67,216, 0, 0, 21,180, 2, 20, 17, 38, 2,184,255,217,180, 23, 20, 3, 9, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115, +255,236, 4, 88, 6, 33, 2, 38, 0, 82, 0, 0, 1, 6, 0,118, 80, 0, 0, 19, 64, 11, 2, 26, 17, 38, 2, 81, 20, 23, 3, 9, + 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115,255,236, 4, 88, 6, 33, 2, 38, 0, 82, 0, 0, 1, 6, 1, 75,251, 0, 0, 21, +180, 2, 20, 17, 38, 2,184,255,252,180, 26, 20, 3, 9, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115,255,236, 4, 88, 5,227, + 2, 38, 0, 82, 0, 0, 1, 6, 1, 82, 0, 0, 0, 19, 64, 11, 2, 20, 17, 38, 2, 0, 21, 30, 3, 9, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0,115,255,236, 4, 88, 5,217, 2, 38, 0, 82, 0, 0, 1, 6, 0,106,249, 0, 0, 25,182, 3, 2, 24, 17, 38, + 3, 2,184,255,249,180, 26, 30, 3, 9, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 3, 0,152, 0,248, 4, 51, 4,172, 0, 7, + 0, 11, 0, 19, 0, 83, 64, 55, 64, 10, 1, 15, 10, 1, 10, 10, 14, 18, 6, 80, 9,240, 9, 2, 9, 9, 2,172, 31, 6, 95, 6, +159, 6, 3, 6, 12,175, 0, 16, 64, 16,112, 16,144, 16,160, 16,176, 16,240, 16, 7, 16, 16, 8, 4,175, 0, 8,173, 9,179, 0, + 63,225,220,225, 16,200, 47, 93,225, 1, 47, 93,225, 51, 47, 93, 17, 51, 50, 50, 47, 93, 93, 49, 48, 1, 50, 21, 20, 35, 34, 53, + 52, 1, 53, 33, 21, 5, 50, 21, 20, 35, 34, 53, 52, 2,100,115,115,114,254,166, 3,155,254, 49,115,115,114, 4,172,125,125,125, +125,253,219,150,150,149,125,125,125,125, 0, 3, 0,115,255,170, 4, 88, 4,156, 0, 19, 0, 27, 0, 35, 0,110,181, 21, 16, 9, + 21, 72, 29,184,255,240,179, 9, 21, 72, 20,184,255,240, 64, 54, 15, 20, 72, 28, 16, 15, 20, 72, 28, 21, 29, 20, 4, 26, 34, 72, + 13, 10, 0, 3, 4, 5, 12, 15, 37, 26, 72, 2, 0, 5, 1, 5, 29, 20, 28, 21, 4, 23, 31, 80, 10, 13, 3, 0, 4, 8, 1, 18, + 22, 23, 80, 11, 8, 16, 0, 63, 51,225, 63, 51, 18, 23, 57,225, 17, 23, 57, 1, 47, 93, 51,225, 16,222, 50, 17, 23, 57,225, 17, + 23, 57, 49, 48, 0, 43, 43, 1, 43, 43, 37, 7, 39, 55, 38, 17, 16, 0, 51, 50, 23, 55, 23, 7, 22, 17, 16, 0, 35, 34, 3, 1, + 38, 35, 34, 6, 21, 20, 1, 1, 22, 51, 50, 54, 53, 52, 1,121, 76,131, 84,139, 1, 10,235,128,108, 76,131, 84,137,254,243,233, +129,125, 1,150, 66, 90,161,142, 2, 57,254,107, 61, 93,161,142, 33,119, 84,131,158, 1, 8, 1, 10, 1, 45, 57,119, 84,131,156, +254,254,254,241,254,212, 1, 40, 2,144, 35,207,209,180, 1,190,253,115, 33,211,209,164,255,255, 0,160,255,236, 4, 45, 6, 33, + 2, 38, 0, 88, 0, 0, 1, 6, 0, 67,179, 0, 0, 21,180, 1, 18, 17, 38, 1,184,255,179,180, 21, 18, 6, 16, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 0,160,255,236, 4, 45, 6, 33, 2, 38, 0, 88, 0, 0, 1, 6, 0,118, 82, 0, 0, 19, 64, 11, 1, 24, + 17, 38, 1, 82, 18, 21, 6, 16, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160,255,236, 4, 45, 6, 33, 2, 38, 0, 88, 0, 0, + 1, 6, 1, 75, 8, 0, 0, 19, 64, 11, 1, 18, 17, 38, 1, 8, 24, 18, 6, 16, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160, +255,236, 4, 45, 5,217, 2, 38, 0, 88, 0, 0, 1, 6, 0,106, 2, 0, 0, 23, 64, 13, 2, 1, 22, 17, 38, 2, 1, 1, 24, 28, + 6, 16, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 82,254, 20, 4,121, 6, 33, 2, 38, 0, 92, 0, 0, 1, 6, 0,118, + 76, 0, 0, 19, 64, 11, 1, 29, 17, 38, 1, 77, 23, 26, 0, 9, 37, 1, 43, 53, 0, 43, 53, 0, 0, 2, 0,158,254, 20, 4, 68, + 6, 20, 0, 19, 0, 30, 0, 59, 64, 36, 26, 72,239, 5,255, 5, 2, 5, 32, 11, 17, 19, 21, 4, 14, 71, 0, 15,176, 15, 2, 15, + 16, 0, 14, 27, 10, 24, 80, 8, 22, 0, 28, 80, 2, 16, 0, 63,225, 50, 63,225, 50, 63, 63, 1, 47, 93,225, 23, 50, 16,222, 93, +225, 49, 48, 1, 54, 51, 50, 18, 17, 16, 2, 35, 34, 39, 35, 22, 21, 17, 35, 17, 51, 17, 7, 19, 21, 20, 22, 51, 32, 17, 16, 33, + 34, 6, 1, 84,110,212,201,229,230,200,207,115, 12, 12,182,182, 8, 8,139,152, 1, 16,254,238,152,133, 3,182,168,254,213,254, +244,254,242,254,211,159,129, 33,254, 43, 8, 0,254, 54,148,254,154, 41,227,193, 1,166, 1,158,176, 0,255,255, 0, 82,254, 20, + 4,121, 5,217, 2, 38, 0, 92, 0, 0, 1, 6, 0,106, 8, 0, 0, 23, 64, 13, 2, 1, 27, 17, 38, 2, 1, 8, 29, 33, 0, 9, + 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 33, 0, 0, 4,172, 6,193, 2, 38, 0, 36, 0, 0, 1, 7, 1, 77, 0, 0, + 1, 82, 0, 21,180, 2, 17, 5, 38, 2,184,255,255,180, 15, 16, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,135,255,236, + 4, 2, 5,111, 2, 38, 0, 68, 0, 0, 1, 6, 1, 77,247, 0, 0, 19, 64, 11, 2, 36, 17, 38, 2, 24, 34, 35, 8, 22, 37, 1, + 43, 53, 0, 43, 53, 0,255,255, 0, 33, 0, 0, 4,172, 7, 64, 2, 38, 0, 36, 0, 0, 1, 7, 1, 78,255,253, 1, 82, 0, 21, +180, 2, 18, 5, 38, 2,184,255,253,180, 20, 15, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,135,255,236, 4, 2, 5,238, + 2, 38, 0, 68, 0, 0, 1, 6, 1, 78,245, 0, 0, 19, 64, 11, 2, 37, 17, 38, 2, 22, 39, 34, 8, 22, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0, 33,254, 57, 4,190, 5,188, 2, 38, 0, 36, 0, 0, 1, 7, 1, 81, 1,143, 0, 0, 0, 24, 64, 16, 2, 32, + 23, 1, 16, 23, 1, 0, 23, 1, 0, 23, 23, 0, 0, 37, 1, 43, 93, 93, 93, 53,255,255, 0,135,254, 57, 4, 82, 4, 94, 2, 38, + 0, 68, 0, 0, 1, 7, 1, 81, 1, 35, 0, 0, 0, 36, 64, 25, 2,128, 42, 1,112, 42, 1, 96, 42, 1, 32, 42, 1, 16, 42, 1, + 0, 42, 1, 0, 42, 42, 0, 0, 37, 1, 43, 93, 93, 93, 93, 93, 93, 53,255,255, 0,129,255,236, 4,156, 7,115, 2, 38, 0, 38, + 0, 0, 1, 7, 0,118, 0,242, 1, 82, 0, 19, 64, 11, 1, 28, 5, 38, 1,202, 22, 25, 6, 11, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0,172,255,236, 4, 37, 6, 33, 2, 38, 0, 70, 0, 0, 1, 7, 0,118, 0,160, 0, 0, 0, 19, 64, 11, 1, 26, 17, 38, + 1,158, 20, 23, 15, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,129,255,236, 4,156, 7,115, 2, 38, 0, 38, 0, 0, 1, 7, + 1, 75, 0,160, 1, 82, 0, 39, 64, 26, 1, 22, 5, 38, 1,208, 28, 1,176, 28, 1,128, 28, 1,112, 28, 1, 80, 28, 1,120, 28, + 22, 6, 11, 37, 1, 43, 93, 93, 93, 93, 93, 53, 0, 43, 53, 0,255,255, 0,172,255,236, 4, 37, 6, 33, 2, 38, 0, 70, 0, 0, + 1, 6, 1, 75, 84, 0, 0, 19, 64, 11, 1, 20, 17, 38, 1, 82, 26, 20, 15, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,129, +255,236, 4,156, 7, 55, 2, 38, 0, 38, 0, 0, 1, 7, 1, 79, 0,164, 1, 82, 0, 19, 64, 11, 1, 26, 5, 38, 1,124, 28, 24, + 6, 11, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,172,255,236, 4, 37, 5,229, 2, 38, 0, 70, 0, 0, 1, 6, 1, 79, 84, 0, + 0, 19, 64, 11, 1, 24, 17, 38, 1, 82, 26, 22, 15, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,129,255,236, 4,156, 7,115, + 2, 38, 0, 38, 0, 0, 1, 7, 1, 76, 0,154, 1, 82, 0, 19, 64, 11, 1, 26, 5, 38, 1,114, 30, 22, 6, 11, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 0,172,255,236, 4, 37, 6, 33, 2, 38, 0, 70, 0, 0, 1, 6, 1, 76, 92, 0, 0, 19, 64, 11, 1, 24, + 17, 38, 1, 90, 28, 20, 15, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,135, 0, 0, 4,123, 7,115, 2, 38, 0, 39, 0, 0, + 1, 7, 1, 76,255,247, 1, 82, 0, 21,180, 2, 20, 5, 38, 2,184,255,221,180, 24, 16, 0, 5, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0, 79,255,236, 5, 35, 6, 20, 0, 38, 0, 71,198, 0, 1, 7, 2, 56, 2, 68, 0, 0, 0, 30, 64, 11, 2, 2,127, 30, + 1,111, 30, 1, 79, 30, 1,184, 2,136,180, 30, 34, 6, 16, 37, 1, 43, 93, 93, 93, 53, 0, 53,255,255, 0, 0, 0, 0, 4,123, + 5,182, 2, 6, 0,146, 0, 0, 0, 2, 0,137,255,236, 4,203, 6, 20, 0, 26, 0, 37, 0, 89, 64, 55, 16, 6, 0, 12, 15, 18, + 4, 27, 71, 23, 21,144, 25,160, 25, 2, 25, 39, 33, 72, 0, 6,224, 6,240, 6, 3, 6, 24, 16, 79, 21, 17, 17, 19, 12, 31, 80, + 0, 9, 16, 9, 32, 9, 3, 9, 9, 19, 0, 35, 80, 3, 22, 26, 21, 0, 63, 63,225, 63, 57, 47, 93,225, 50, 18, 57, 47, 51,225, + 50, 1, 47, 93,225, 16,222, 93, 50, 50,225, 23, 50, 17, 57, 49, 48, 37, 35, 6, 35, 34, 2, 17, 16, 18, 51, 50, 23, 51, 38, 53, + 53, 33, 53, 33, 53, 51, 21, 51, 21, 35, 17, 35, 3, 53, 52, 38, 35, 32, 17, 16, 33, 50, 54, 3,129, 8,113,209,201,229,230,200, +208,114, 12, 12,254,133, 1,123,182,156,156,147, 35,139,152,254,240, 1, 18,151,134,147,167, 1, 32, 1, 2, 1, 4, 1, 35,159, +126, 35,158,137,182,182,137,251, 43, 1,231, 39,216,184,254,110,254,119,166, 0,255,255, 0,217, 0, 0, 4, 35, 6,193, 2, 38, + 0, 40, 0, 0, 1, 7, 1, 77, 0, 10, 1, 82, 0, 21,180, 1, 14, 5, 38, 1,184,255,242,180, 12, 13, 1, 0, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 0,133,255,236, 4, 72, 5,111, 2, 38, 0, 72, 0, 0, 1, 6, 1, 77, 20, 0, 0, 19, 64, 11, 2, 25, + 17, 38, 2, 19, 23, 24, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,217, 0, 0, 4, 35, 7, 64, 2, 38, 0, 40, 0, 0, + 1, 7, 1, 78, 0, 29, 1, 82, 0, 19, 64, 11, 1, 15, 5, 38, 1, 5, 17, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0,133,255,236, 4, 72, 5,238, 2, 38, 0, 72, 0, 0, 1, 6, 1, 78, 16, 0, 0, 19, 64, 11, 2, 26, 17, 38, 2, 15, 28, 23, + 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,217, 0, 0, 4, 35, 7, 26, 2, 38, 0, 40, 0, 0, 1, 7, 1, 79, 0, 35, + 1, 53, 0, 19, 64, 11, 1, 16, 5, 38, 1, 11, 18, 14, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,133,255,236, 4, 72, + 5,229, 2, 38, 0, 72, 0, 0, 1, 6, 1, 79, 23, 0, 0, 19, 64, 11, 2, 27, 17, 38, 2, 23, 29, 25, 11, 0, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 0,217,254, 57, 4, 35, 5,182, 2, 38, 0, 40, 0, 0, 1, 7, 1, 81, 0,205, 0, 0, 0, 14,183, 1, + 1,181, 18, 12, 1, 0, 37, 1, 43, 53, 0, 53,255,255, 0,133,254, 88, 4, 72, 4, 94, 2, 38, 0, 72, 0, 0, 1, 7, 1, 81, + 0,227, 0, 31, 0, 14,183, 2, 2,227, 29, 23, 11, 0, 37, 1, 43, 53, 0, 53,255,255, 0,217, 0, 0, 4, 35, 7,115, 2, 38, + 0, 40, 0, 0, 1, 7, 1, 76, 0, 35, 1, 82, 0, 19, 64, 11, 1, 16, 5, 38, 1, 11, 20, 12, 1, 0, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0,133,255,236, 4, 72, 6, 33, 2, 38, 0, 72, 0, 0, 1, 6, 1, 76, 25, 0, 0, 19, 64, 11, 2, 27, 17, 38, + 2, 25, 31, 23, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,117,255,236, 4, 70, 7,115, 2, 38, 0, 42, 0, 0, 1, 7, + 1, 75, 0, 80, 1, 82, 0, 19, 64, 11, 1, 25, 5, 38, 1, 89, 31, 25, 7, 1, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,102, +254, 20, 4,102, 6, 33, 2, 38, 0, 74, 0, 0, 1, 6, 1, 75,247, 0, 0, 21,180, 3, 55, 17, 38, 3,184,255,248,180, 61, 55, + 22, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,117,255,236, 4, 70, 7, 64, 2, 38, 0, 42, 0, 0, 1, 7, 1, 78, 0, 98, + 1, 82, 0, 27, 64, 17, 1, 28, 5, 38, 1, 16, 30, 1, 0, 30, 1,106, 30, 25, 7, 1, 37, 1, 43, 93, 93, 53, 0, 43, 53, 0, +255,255, 0,102,254, 20, 4,102, 5,238, 2, 38, 0, 74, 0, 0, 1, 6, 1, 78,243, 0, 0, 21,180, 3, 58, 17, 38, 3,184,255, +243,180, 60, 55, 22, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,117,255,236, 4, 70, 7, 55, 2, 38, 0, 42, 0, 0, 1, 7, + 1, 79, 0,109, 1, 82, 0, 19, 64, 11, 1, 29, 5, 38, 1,118, 31, 27, 7, 1, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,102, +254, 20, 4,102, 5,229, 2, 38, 0, 74, 0, 0, 1, 6, 1, 79,255, 0, 0, 19, 64, 11, 3, 59, 17, 38, 3, 0, 61, 57, 22, 0, + 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,117,254, 59, 4, 70, 5,203, 2, 38, 0, 42, 0, 0, 1, 6, 2, 57, 57, 0, 0, 19, + 64, 11, 1, 27, 20, 39, 1, 65, 25, 28, 7, 1, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,102,254, 20, 4,102, 6, 33, 2, 38, + 0, 74, 0, 0, 1, 6, 2, 58, 45, 0, 0, 19, 64, 11, 3, 57, 17, 38, 3, 45, 58, 55, 22, 0, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0,135, 0, 0, 4, 70, 7,115, 2, 38, 0, 43, 0, 0, 1, 7, 1, 75, 0, 0, 1, 82, 0, 19, 64, 11, 1, 12, 5, 38, + 1, 0, 18, 12, 5, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160, 0, 0, 4, 45, 7,170, 2, 38, 0, 75, 0, 0, 1, 7, + 1, 75, 0, 14, 1,137, 0, 19, 64, 11, 1, 18, 2, 38, 1, 14, 24, 18, 7, 16, 37, 1, 43, 53, 0, 43, 53, 0, 0, 2, 0, 0, + 0, 0, 4,205, 5,182, 0, 19, 0, 23, 0, 88, 64, 48, 20, 4, 12, 90, 9, 7, 11, 25, 23, 3, 15, 90, 18, 0,224, 16,240, 16, + 2, 16, 14, 95, 23, 22, 10,104, 18, 1, 18, 96, 19, 7, 3, 19,104, 23, 1, 23, 19, 23, 19, 1, 16, 11, 18, 5, 1, 3, 0, 63, + 51, 63, 51, 18, 57, 57, 47, 47, 93, 17, 51, 51, 16,225, 93, 50, 50, 16,225, 1, 47, 93, 51, 51,225, 50, 50, 16,222, 50, 50,225, + 50, 50, 49, 48, 19, 53, 51, 21, 33, 53, 51, 21, 51, 21, 35, 17, 35, 17, 33, 17, 35, 17, 35, 53, 1, 53, 33, 21,135,187, 2, 73, +187,135,135,187,253,183,187,135, 3,139,253,183, 4,195,243,243,243,243,150,251,211, 2,170,253, 86, 4, 45,150,254,139,223,223, + 0, 1, 0, 4, 0, 0, 4, 45, 6, 20, 0, 27, 0, 82, 64, 49, 17, 8, 0, 71,144, 27,160, 27, 2, 27, 29, 15, 19, 20, 3, 7, + 71, 12, 10, 0, 8,176, 8, 2, 8, 18, 10, 79, 15, 11, 11, 13, 20, 3, 80, 0, 23, 16, 23, 32, 23, 3, 23, 23, 13, 0, 8, 0, + 21, 0, 63, 50, 63, 57, 47, 93,225, 50, 18, 57, 47, 51,225, 50, 1, 47, 93, 51, 51,225, 23, 50, 16,222, 93,225, 18, 57, 49, 48, + 33, 17, 16, 35, 34, 6, 21, 17, 35, 17, 35, 53, 51, 53, 51, 21, 33, 21, 33, 21, 7, 51, 54, 51, 50, 22, 21, 17, 3,119,236,162, +147,182,156,156,184, 1,162,254, 92, 10, 10,108,238,192,189, 2,154, 1, 4,187,211,253,240, 4,213,137,182,182,137,184,144,168, +191,210,253, 92,255,255, 0,225, 0, 0, 3,233, 7, 53, 2, 38, 0, 44, 0, 0, 1, 7, 1, 82, 0, 0, 1, 82, 0, 19, 64, 11, + 1, 12, 5, 38, 1, 0, 13, 22, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,197, 0, 0, 4, 51, 5,227, 2, 38, 0,243, + 0, 0, 1, 6, 1, 82,253, 0, 0, 21,180, 1, 10, 17, 38, 1,184,255,231,180, 11, 20, 7, 5, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0,225, 0, 0, 3,233, 6,193, 2, 38, 0, 44, 0, 0, 1, 7, 1, 77, 0, 2, 1, 82, 0, 19, 64, 11, 1, 14, 5, 38, + 1, 2, 12, 13, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,197, 0, 0, 4, 51, 5,111, 2, 38, 0,243, 0, 0, 1, 6, + 1, 77, 0, 0, 0, 21,180, 1, 12, 17, 38, 1,184,255,234,180, 10, 11, 7, 5, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,225, + 0, 0, 3,233, 7, 64, 2, 38, 0, 44, 0, 0, 1, 7, 1, 78, 0, 0, 1, 82, 0, 19, 64, 11, 1, 15, 5, 38, 1, 1, 17, 12, + 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,197, 0, 0, 4, 51, 5,238, 2, 38, 0,243, 0, 0, 1, 6, 1, 78, 25, 0, + 0, 19, 64, 11, 1, 13, 17, 38, 1, 3, 15, 0, 3, 5, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,225,254, 57, 3,233, 5,182, + 2, 38, 0, 44, 0, 0, 1, 6, 1, 81, 8, 0, 0, 14,183, 1, 1, 9, 18, 12, 1, 0, 37, 1, 43, 53, 0, 53,255,255, 0,197, +254, 57, 4, 51, 6, 14, 2, 38, 0, 76, 0, 0, 1, 6, 1, 81, 25, 0, 0, 14,183, 2, 2, 3, 25, 19, 16, 14, 37, 1, 43, 53, + 0, 53,255,255, 0,225, 0, 0, 3,233, 7, 55, 2, 38, 0, 44, 0, 0, 1, 7, 1, 79, 0, 0, 1, 82, 0, 19, 64, 11, 1, 16, + 5, 38, 1, 1, 18, 14, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,197, 0, 0, 4, 51, 4, 74, 0, 9, 0, 41, 64, 21, + 5, 4, 71, 8, 1, 86, 9, 1, 9, 9, 10, 11, 4, 9, 78, 7, 21, 0, 78, 2, 15, 0, 63,225, 63,225, 50, 17, 18, 1, 57, 47, + 93, 51, 51,225, 50, 49, 48, 1, 37, 53, 33, 17, 5, 21, 33, 53, 37, 2, 29,254,243, 1,195, 1, 96,252,146, 1, 88, 3,186, 21, +123,252, 69, 20,123,123, 20, 0, 0, 2, 0,156,255,236, 4, 35, 5,182, 0, 3, 0, 15, 0, 66, 64, 40, 2, 90, 1, 10, 90, 11, + 31, 4, 1,159, 11,175, 11, 2, 0, 1,224, 1,240, 1, 3, 1, 4, 11, 11, 4, 1, 3, 16, 17, 7, 96, 5, 14, 19, 10, 1, 3, + 0, 18, 0, 63, 63, 51, 63, 51,225, 17, 18, 1, 23, 57, 47, 47, 47, 93, 93, 93, 16,225, 16,225, 49, 48, 51, 17, 51, 17, 55, 53, + 22, 51, 50, 17, 17, 51, 17, 16, 33, 34,156,186,150, 93, 93,194,187,254,147,133, 5,182,250, 74, 23,163, 45, 1, 27, 4, 14,251, +254,254, 56, 0, 0, 4, 0,188,254, 20, 4, 14, 6, 14, 0, 8, 0, 17, 0, 21, 0, 36, 0, 88, 64, 50, 2, 20, 71, 21, 7, 21, + 16, 27, 71, 32, 11, 32, 0, 30, 1, 0, 22, 1, 0, 21, 1, 21, 22, 30, 32, 32, 30, 22, 21, 4, 37, 38, 25, 80, 23, 35, 27, 28, + 78, 18, 30, 15, 21, 21, 14, 5, 83, 9, 0, 0, 0, 63, 50,229, 50, 63, 63, 51,225, 63, 51,225, 17, 18, 1, 23, 57, 47, 47, 47, + 47, 93, 93, 93, 17, 51, 16,225, 50, 17, 51, 16,225, 50, 49, 48, 1, 50, 21, 20, 6, 35, 34, 53, 52, 33, 50, 21, 20, 6, 35, 34, + 53, 52, 1, 51, 17, 35, 1, 53, 22, 51, 50, 53, 17, 39, 53, 33, 17, 20, 6, 35, 34, 1, 39,106, 63, 43,107, 2,228,106, 63, 43, +107,253,150,182,182, 1, 43, 88,102,164,215, 1,141,170,151,123, 6, 14,114, 58, 57,115,114,114, 58, 57,115,114,254, 60,251,182, +254, 55,154, 39,215, 4, 57, 21,123,251, 65,182,193, 0,255,255, 0,137,255,236, 4,190, 7,115, 2, 38, 0, 45, 0, 0, 1, 7, + 1, 75, 1, 12, 1, 82, 0, 19, 64, 11, 1, 14, 5, 38, 1, 0, 20, 14, 7, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,135, +254, 20, 3,198, 6, 33, 2, 38, 1, 75, 20, 0, 1, 6, 2, 55, 0, 0, 0, 21,180, 1, 25, 23, 39, 1,184,255,116,180, 16, 26, + 6, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,211,254, 59, 4,174, 5,182, 2, 38, 0, 46, 0, 0, 1, 6, 2, 57, 27, 0, + 0, 21,180, 1, 15, 20, 39, 1,184,255,193,180, 13, 16, 5, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,215,254, 59, 4,139, + 6, 20, 2, 38, 0, 78, 0, 0, 1, 6, 2, 57, 2, 0, 0, 21,180, 1, 17, 23, 39, 1,184,255,183,180, 15, 18, 10, 5, 37, 1, + 43, 53, 0, 43, 53, 0, 0, 1, 0,215, 0, 0, 4,139, 4, 74, 0, 14, 0,119, 64, 11, 25, 6, 41, 6, 57, 6, 3, 8, 6, 1, + 4,184,255,224, 64, 62, 16, 20, 72, 70, 4, 86, 4, 2, 9, 2, 1, 9, 1, 1, 27, 7, 43, 7, 59, 7, 3, 7, 4, 5, 2, 3, + 3, 6, 5, 32, 16, 19, 72, 0, 5, 96, 5, 2, 5, 5, 16, 13, 0, 9, 70, 0, 10, 96, 10, 2, 10, 4, 7, 7, 0, 2, 10, 5, + 21, 11, 2, 15, 0, 63, 51, 63, 51, 18, 57, 57, 17, 51, 1, 47, 93,225, 50, 50, 17, 51, 47, 93, 43, 51, 51, 47, 51, 17, 57, 57, + 49, 48, 0, 93, 1, 93, 93, 93, 43, 93, 93, 1, 55, 1, 51, 1, 1, 35, 1, 7, 17, 35, 17, 51, 17, 3, 1,127,137, 1,146,213, +254, 18, 2, 10,213,254, 86,129,180,180, 16, 1,252,166, 1,168,254, 2,253,180, 1,213, 82,254,125, 4, 74,254,221,254,213, 0, +255,255, 0,233, 0, 0, 4, 31, 7,115, 2, 38, 0, 47, 0, 0, 1, 7, 0,118,255,101, 1, 82, 0, 21,180, 1, 12, 5, 38, 1, +184,255, 72,180, 6, 9, 0, 4, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,188, 0, 0, 4, 43, 7,172, 2, 38, 0, 79, 0, 0, + 1, 7, 0,118, 0, 78, 1,139, 0, 19, 64, 11, 1, 16, 2, 38, 1, 65, 10, 13, 7, 5, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0,233,254, 59, 4, 31, 5,182, 2, 38, 0, 47, 0, 0, 1, 6, 2, 57, 8, 0, 0, 21,180, 1, 8, 20, 39, 1,184,255,234,180, + 6, 9, 0, 4, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,188,254, 59, 4, 43, 6, 20, 2, 38, 0, 79, 0, 0, 1, 6, 2, 57, +234, 0, 0, 21,180, 1, 12, 23, 39, 1,184,255,221,180, 10, 13, 7, 5, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,233, 0, 0, + 4, 31, 5,183, 2, 38, 0, 47, 0, 0, 1, 7, 2, 56, 1, 0,255,163, 0, 14,183, 1, 1,226, 6, 10, 0, 4, 37, 1, 43, 53, + 0, 53,255,255, 0,188, 0, 0, 4, 82, 6, 20, 2, 38, 0, 79, 0, 0, 1, 7, 2, 56, 1,115, 0, 0, 0, 17,177, 1, 1,184, + 1,102,180, 10, 14, 7, 5, 37, 1, 43, 53, 0, 53, 0,255,255, 0,233, 0, 0, 4, 31, 5,182, 2, 38, 0, 47, 0, 0, 1, 7, + 1, 79, 0,242,253,148, 0, 14,183, 1, 1,212, 12, 8, 0, 4, 37, 1, 43, 53, 0, 53,255,255, 0,188, 0, 0, 4, 55, 6, 20, + 2, 38, 0, 79, 0, 0, 1, 7, 1, 79, 1,102,253, 56, 0, 21,180, 1, 1,127, 16, 1,184, 1, 89,180, 16, 12, 7, 5, 37, 1, + 43, 93, 53, 0, 53, 0, 0, 1, 0, 72, 0, 0, 4, 68, 5,182, 0, 13, 0,125, 64, 54, 10, 1, 2, 9, 2, 7, 4, 3, 8, 3, +121, 8,137, 8,153, 8, 3, 10, 8, 26, 8, 42, 8, 3,118, 2,134, 2,150, 2, 3, 5, 2, 21, 2, 37, 2, 3, 9, 9, 0, 13, + 15, 7, 11, 90, 0, 3, 4, 3, 0, 0, 1, 0,184,255,192, 64, 21, 12, 15, 72, 0, 1, 10, 4, 7, 4, 2, 8, 2, 8, 2, 0, + 5, 3, 11, 95, 0, 18, 0, 63,225, 63, 18, 57, 57, 47, 47, 18, 23, 57, 1, 47, 43, 93, 51, 51, 47, 16,225, 50, 16,206, 17, 57, + 47, 49, 48, 93, 93, 93, 93, 16,125,135, 4,196,196, 16,135,196,196, 33, 17, 7, 39, 55, 17, 51, 17, 37, 23, 5, 17, 33, 21, 1, + 14,125, 73,198,187, 1, 43, 78,254,135, 2,123, 1,236, 78,125,125, 3, 30,253, 88,189,125,238,254, 70,166, 0, 0, 1, 0,188, + 0, 0, 4, 43, 6, 20, 0, 17, 0,141, 64, 22,105, 11, 1,102, 3, 1, 11, 0, 1, 10, 1, 8, 3, 2, 9, 2, 10, 24, 13, 22, + 72, 2,184,255,232, 64, 60, 13, 22, 72, 13,111, 10,127, 10, 2, 10, 10, 8, 12, 71, 17, 3, 5, 16, 3, 17, 64, 2,208, 2,224, + 2, 3, 2, 2, 93, 17, 1, 79, 17, 1, 17, 17, 18, 19, 17, 12, 78, 14, 0, 11, 3, 8, 4, 1, 9, 1, 9, 1, 6, 14, 21, 4, + 78, 6, 0, 0, 63,225, 63, 18, 57, 57, 47, 47, 18, 23, 57, 16,225, 50, 17, 18, 1, 57, 47, 93, 93, 51, 47, 93, 17, 23, 51, 16, +225, 50, 50, 47, 93, 50, 49, 48, 0, 43, 43, 16,125,135,196,196, 16,135,196,196, 0, 93, 93, 1, 7, 39, 55, 17, 37, 53, 33, 17, + 55, 23, 7, 17, 5, 21, 33, 53, 37, 2, 20,141, 78,219,254,244, 1,195,164, 77,241, 1, 96,252,145, 1, 88, 2, 80, 92,121,143, + 2,137, 21,122,253, 95,108,121,159,253,200, 20,123,123, 20, 0,255,255, 0,135, 0, 0, 4, 68, 7,115, 2, 38, 0, 49, 0, 0, + 1, 7, 0,118, 0, 98, 1, 82, 0, 19, 64, 11, 1, 22, 5, 38, 1, 99, 16, 19, 7, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0,160, 0, 0, 4, 45, 6, 33, 2, 38, 0, 81, 0, 0, 1, 6, 0,118,111, 0, 0, 19, 64, 11, 1, 23, 17, 38, 1,111, 17, 20, + 7, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,135,254, 59, 4, 68, 5,182, 2, 38, 0, 49, 0, 0, 1, 6, 2, 57,206, 0, + 0, 21,180, 1, 18, 20, 39, 1,184,255,207,180, 16, 19, 7, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160,254, 59, 4, 45, + 4, 94, 2, 38, 0, 81, 0, 0, 1, 6, 2, 57,228, 0, 0, 21,180, 1, 19, 23, 39, 1,184,255,228,180, 17, 20, 7, 15, 37, 1, + 43, 53, 0, 43, 53, 0,255,255, 0,135, 0, 0, 4, 68, 7,115, 2, 38, 0, 49, 0, 0, 1, 7, 1, 76,255,253, 1, 82, 0, 21, +180, 1, 20, 5, 38, 1,184,255,254,180, 24, 16, 7, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160, 0, 0, 4, 45, 6, 33, + 2, 38, 0, 81, 0, 0, 1, 6, 1, 76, 12, 0, 0, 19, 64, 11, 1, 21, 17, 38, 1, 12, 25, 17, 7, 15, 37, 1, 43, 53, 0, 43, + 53, 0, 0, 2,255,240, 0, 0, 4,106, 5,182, 0, 6, 0, 24, 0, 55, 64, 30, 7, 71, 24, 26, 17, 13, 71, 47, 14, 1, 14, 6, + 1,252, 3, 4, 17, 10, 80, 21, 16, 15, 15, 24, 14, 21, 3,253, 6, 0, 0, 63,237, 63, 51, 63, 63,225, 50, 1, 47, 51,237, 50, + 47, 93,225, 50, 16,222,225, 49, 48, 1, 23, 6, 3, 35, 54, 19, 1, 17, 16, 35, 32, 17, 17, 35, 17, 51, 23, 51, 54, 54, 51, 32, + 17, 17, 1, 27, 14, 50,126,137, 60, 40, 3, 96,219,254,227,182,148, 26, 10, 42,173,103, 1,110, 5,182, 22,197,254,230,242, 1, + 3,250, 74, 2,195, 1, 4,254,114,253,199, 4, 74,148, 78, 90,254,111,253, 51, 0, 1, 0,135,254,123, 4, 68, 5,182, 0, 24, + 0, 98,181, 24, 8, 14, 24, 72, 7,184,255,240, 64, 54, 16, 24, 72, 69, 7, 85, 7,101, 7, 3, 52, 7, 1, 21, 7, 37, 7, 2, + 6, 7, 1, 19, 19, 5, 24, 8, 12,251, 13, 26, 7, 1, 4,251, 0, 5,224, 5,240, 5, 3, 5, 22, 95, 20, 17, 12, 0, 6, 3, + 24, 8, 5, 18, 0, 63, 51, 51, 63, 51, 51, 47, 51,225, 1, 47, 93,225, 50, 50, 16,222,225, 50, 50, 17, 57, 47, 49, 48, 93, 93, + 93, 93, 43, 43, 1, 35, 18, 21, 17, 35, 17, 51, 1, 51, 2, 53, 17, 51, 17, 20, 6, 35, 34, 39, 53, 22, 51, 50, 53, 1, 41, 8, + 18,172,213, 2, 66, 10, 18,174,200,187, 94, 62, 77, 81,211, 4,186,254,235,140,252,231, 5,182,251,152, 1, 18,129, 2,213,250, + 94,198,211, 24,160, 20,225, 0, 0, 1, 0,160,254, 20, 4, 45, 4, 94, 0, 24, 0, 60, 64, 35, 14, 14, 1, 19, 71,144, 10,160, + 10, 2, 10, 26, 4, 0, 71, 0, 1,176, 1, 2, 1, 17, 80, 15, 12, 27, 4, 22, 80, 7, 16, 2, 15, 1, 21, 0, 63, 63, 63,225, + 50, 63, 51,225, 1, 47, 93,225, 50, 16,222, 93,225, 17, 57, 47, 49, 48, 33, 35, 17, 51, 23, 51, 54, 51, 32, 17, 17, 16, 33, 34, + 39, 53, 22, 51, 50, 53, 17, 16, 35, 32, 17, 1, 86,182,147, 27, 10,103,233, 1,133,254,221, 81, 52, 54, 61,127,238,254,205, 4, + 74,148,168,254,111,252,149,254,178, 25,148, 21,170, 3,109, 1, 4,254,114, 0,255,255, 0, 84,255,236, 4,123, 6,193, 2, 38, + 0, 50, 0, 0, 1, 7, 1, 77, 0, 4, 1, 82, 0, 19, 64, 11, 2, 22, 5, 38, 2, 2, 20, 21, 2, 7, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0,115,255,236, 4, 88, 5,111, 2, 38, 0, 82, 0, 0, 1, 6, 1, 77, 0, 0, 0, 19, 64, 11, 2, 22, 17, 38, + 2, 0, 20, 21, 3, 9, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 84,255,236, 4,123, 7, 64, 2, 38, 0, 50, 0, 0, 1, 7, + 1, 78,255,255, 1, 82, 0, 21,180, 2, 23, 5, 38, 2,184,255,254,180, 25, 20, 2, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0,115,255,236, 4, 88, 5,238, 2, 38, 0, 82, 0, 0, 1, 6, 1, 78, 0, 0, 0, 19, 64, 11, 2, 23, 17, 38, 2, 0, 25, 20, + 3, 9, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 84,255,236, 4,123, 7,115, 2, 38, 0, 50, 0, 0, 1, 7, 1, 83, 0, 80, + 1, 82, 0, 23, 64, 13, 3, 2, 26, 5, 38, 3, 2, 78, 20, 31, 2, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,115, +255,236, 4, 88, 6, 33, 2, 38, 0, 82, 0, 0, 1, 6, 1, 83, 82, 0, 0, 23, 64, 13, 3, 2, 26, 17, 38, 3, 2, 82, 20, 31, + 3, 9, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 2, 0, 20,255,236, 4,203, 5,205, 0, 19, 0, 28, 0, 73, 64, 41, 14, 18, + 90, 16, 20, 1, 20, 16, 20, 16, 6, 12, 0, 30, 25, 90, 6, 17, 95,104, 14, 1, 14, 14, 19, 12, 95, 11, 3, 23, 95, 8, 4, 27, + 95, 4, 19, 19, 95, 0, 18, 0, 63,225, 63,225, 63,225, 63,225, 18, 57, 47, 93,225, 1, 47,225, 16,206, 50, 17, 57, 57, 47, 47, + 93,225, 50, 49, 48, 33, 33, 7, 6, 35, 32, 17, 16, 33, 50, 23, 33, 21, 33, 17, 33, 21, 33, 17, 33, 37, 17, 38, 35, 32, 17, 16, + 33, 50, 4,203,253,194, 48, 51, 46,254, 24, 2, 0, 82, 72, 2, 29,254,114, 1,103,254,153, 1,142,253,192, 58, 73,254,201, 1, + 53, 70, 10, 10, 2,243, 2,238, 23,164,254, 60,162,253,248, 12, 4, 88, 33,253,180,253,178, 0, 0, 3, 0, 57,255,236, 4,150, + 4, 94, 0, 26, 0, 36, 0, 41, 0,108, 64, 41, 10, 0, 41, 17, 71, 16, 29, 64, 29, 80, 29,112, 29,128, 29,176, 29,192, 29,208, + 29, 8, 29, 29, 5, 37, 70, 22, 16, 64, 10, 22, 72, 11, 16, 1, 16, 43, 34, 71, 5,184,255,192, 64, 24, 18, 24, 72, 5, 17, 80, + 41, 41, 27, 39, 10, 31, 80, 12, 8, 16, 19, 0, 27, 80, 24, 21, 2, 22, 0, 63, 51, 51,225, 50, 50, 63, 51,225, 50, 50, 18, 57, + 47,225, 1, 47, 43,225, 16,222, 93, 43, 50,225, 17, 57, 47, 93,225, 50, 57, 57, 49, 48, 37, 6, 35, 34, 2, 17, 16, 18, 51, 50, + 23, 54, 51, 50, 18, 21, 21, 33, 18, 51, 50, 55, 21, 6, 35, 34, 38, 37, 50, 17, 16, 35, 34, 6, 21, 20, 22, 1, 16, 35, 34, 3, + 2,139, 88,178,146,182,176,154,171, 89, 84,158,131,154,254, 73, 3,186,108, 96, 94,123, 87,143,254,228,168,170, 90, 78, 79, 2, +179,123,125, 12,201,221, 1, 51, 1, 8, 1, 12, 1, 43,217,217,254,245,224,113,254,137, 76,162, 73,118, 33, 1,154, 1,170,206, +210,211,209, 2, 19, 1, 49,254,207, 0,255,255, 0,186, 0, 0, 4,147, 7,115, 2, 38, 0, 53, 0, 0, 1, 7, 0,118, 0, 29, + 1, 82, 0, 21,180, 2, 27, 5, 38, 2,184,255,221,180, 21, 24, 2, 9, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 1, 8, 0, 0, + 4, 35, 6, 33, 2, 38, 0, 85, 0, 0, 1, 6, 0,118, 92, 0, 0, 19, 64, 11, 1, 23, 17, 38, 1, 45, 17, 20, 8, 0, 37, 1, + 43, 53, 0, 43, 53, 0,255,255, 0,186,254, 59, 4,147, 5,182, 2, 38, 0, 53, 0, 0, 1, 6, 2, 57,253, 0, 0, 21,180, 2, + 23, 20, 39, 2,184,255,189,180, 21, 24, 2, 9, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,187,254, 59, 4, 35, 4, 94, 2, 38, + 0, 85, 0, 0, 1, 7, 2, 57,254,216, 0, 0, 0, 38, 64, 17, 1, 19, 23, 39, 1, 95, 17, 1, 63, 17, 1, 31, 17, 1, 15, 17, + 1,184,254,169,180, 17, 20, 8, 0, 37, 1, 43, 93, 93, 93, 93, 53, 0, 43, 53,255,255, 0,186, 0, 0, 4,147, 7,115, 2, 38, + 0, 53, 0, 0, 1, 7, 1, 76,255,226, 1, 82, 0, 21,180, 2, 25, 5, 38, 2,184,255,162,180, 29, 21, 2, 9, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 1, 8, 0, 0, 4, 35, 6, 33, 2, 38, 0, 85, 0, 0, 1, 6, 1, 76, 12, 0, 0, 21,180, 1, 21, 17, + 38, 1,184,255,221,180, 25, 17, 8, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,141,255,236, 4, 63, 7,115, 2, 38, 0, 54, + 0, 0, 1, 7, 0,118, 0, 96, 1, 82, 0, 19, 64, 11, 1, 38, 5, 38, 1, 96, 32, 35, 0, 27, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0,203,255,236, 4, 2, 6, 33, 2, 38, 0, 86, 0, 0, 1, 6, 0,118, 94, 0, 0, 19, 64, 11, 1, 38, 17, 38, 1, 94, + 32, 35, 0, 27, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,141,255,236, 4, 63, 7,115, 2, 38, 0, 54, 0, 0, 1, 7, 1, 75, + 0, 20, 1, 82, 0, 19, 64, 11, 1, 32, 5, 38, 1, 20, 38, 32, 0, 27, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,203,255,236, + 4, 2, 6, 33, 2, 38, 0, 86, 0, 0, 1, 6, 1, 75, 23, 0, 0, 19, 64, 11, 1, 32, 17, 38, 1, 23, 38, 32, 0, 27, 37, 1, + 43, 53, 0, 43, 53, 0,255,255, 0,141,254, 20, 4, 63, 5,203, 2, 38, 0, 54, 0, 0, 1, 6, 0,122,234, 0, 0, 14,185, 0, + 1,255,235,180, 32, 44, 0, 27, 37, 1, 43, 53,255,255, 0,203,254, 20, 4, 2, 4, 94, 2, 38, 0, 86, 0, 0, 1, 6, 0,122, +247, 0, 0, 17,177, 1, 1,184,255,247,180, 32, 44, 0, 27, 37, 1, 43, 53, 0, 53, 0,255,255, 0,141,255,236, 4, 63, 7,115, + 2, 38, 0, 54, 0, 0, 1, 7, 1, 76, 0, 31, 1, 82, 0, 19, 64, 11, 1, 36, 5, 38, 1, 31, 40, 32, 0, 27, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 0,203,255,236, 4, 2, 6, 33, 2, 38, 0, 86, 0, 0, 1, 6, 1, 76, 10, 0, 0, 19, 64, 11, 1, 36, + 17, 38, 1, 10, 40, 32, 0, 27, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,102,254, 59, 4,100, 5,182, 2, 38, 0, 55, 0, 0, + 1, 6, 2, 57,222, 0, 0, 21,180, 1, 10, 20, 39, 1,184,255,223,180, 8, 11, 3, 5, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0,139,254, 59, 4, 2, 5,111, 2, 38, 0, 87, 0, 0, 1, 6, 2, 57, 6, 0, 0, 19, 64, 11, 1, 22, 23, 39, 1, 37, 20, 23, + 7, 13, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,102, 0, 0, 4,100, 7,115, 2, 38, 0, 55, 0, 0, 1, 7, 1, 76,255,255, + 1, 82, 0, 19, 64, 11, 1, 12, 5, 38, 1, 0, 16, 8, 3, 5, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,139,255,236, 4, 16, + 6, 20, 2, 38, 0, 87, 0, 0, 1, 7, 2, 56, 1, 49, 0, 0, 0, 17,177, 1, 1,184, 1, 81,180, 20, 24, 7, 13, 37, 1, 43, + 53, 0, 53, 0, 0, 1, 0,102, 0, 0, 4,100, 5,182, 0, 15, 0, 89, 64, 51, 9, 9, 11, 5, 5, 7, 11, 90, 12, 14, 14, 2, + 0,208, 12, 1,162, 12, 1,147, 12, 1, 3,142, 12, 1, 4, 99, 12, 1, 5, 16, 12, 80, 12, 2, 12, 10, 14, 96, 7, 15, 15, 3, + 11, 18, 6, 2, 95, 3, 3, 0, 63,225, 50, 63, 18, 57, 47, 51,225, 50, 1, 47, 93, 95, 93, 95, 93, 95, 93, 93, 93, 51,196, 57, + 47, 16,241, 50,192, 47, 17, 57, 47, 49, 48, 1, 17, 33, 53, 33, 21, 33, 17, 33, 21, 33, 17, 35, 17, 33, 53, 2, 8,254, 94, 3, +254,254, 95, 1, 38,254,218,187,254,215, 3, 51, 1,223,164,164,254, 33,149,253, 98, 2,158,149, 0, 1, 0,139,255,236, 4, 2, + 5,111, 0, 27, 0,112, 64, 67, 22, 18, 20, 16, 24, 71, 5, 7, 5, 32, 11, 1, 11, 11, 13, 9, 47, 5, 63, 5,127, 5,143, 5, +207, 5,223, 5, 6, 0, 5, 1, 5, 5, 28, 29, 18, 18,127, 1,143, 1,175, 1, 3, 1, 29, 6, 23, 78, 9, 20, 20, 26, 10, 19, + 78, 15, 13, 12, 16, 15, 26, 80, 0, 3, 22, 0, 63, 51,225, 63, 51, 51, 51,225, 50, 18, 57, 47, 51,225, 50, 1, 16,206, 93, 50, + 47, 17, 18, 57, 47, 93, 93, 51, 51, 51, 47, 93, 18, 57, 16,225, 50, 50, 17, 57, 49, 48, 37, 21, 6, 35, 32, 17, 53, 35, 53, 51, + 53, 33, 53, 37, 19, 51, 17, 33, 21, 33, 21, 33, 21, 33, 21, 20, 51, 50, 3,252,130,122,254,150,162,162,254,245, 1, 11, 77,105, + 1,182,254, 74, 1, 51,254,205,192, 93,150,138, 32, 1, 88,251,138,248, 94, 49, 1, 31,254,219,137,248,138,251,195, 0,255,255, + 0,125,255,236, 4, 80, 7, 53, 2, 38, 0, 56, 0, 0, 1, 7, 1, 82, 0, 6, 1, 82, 0, 19, 64, 11, 1, 15, 5, 38, 1, 5, + 16, 25, 6, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160,255,236, 4, 45, 5,227, 2, 38, 0, 88, 0, 0, 1, 6, 1, 82, + 2, 0, 0, 19, 64, 11, 1, 18, 17, 38, 1, 1, 19, 28, 6, 16, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4, 80, + 6,193, 2, 38, 0, 56, 0, 0, 1, 7, 1, 77, 0, 0, 1, 82, 0, 21,180, 1, 17, 5, 38, 1,184,255,255,180, 15, 16, 6, 0, + 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160,255,236, 4, 45, 5,111, 2, 38, 0, 88, 0, 0, 1, 6, 1, 77, 2, 0, 0, 19, + 64, 11, 1, 20, 17, 38, 1, 1, 18, 19, 6, 16, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4, 80, 7, 64, 2, 38, + 0, 56, 0, 0, 1, 7, 1, 78,255,255, 1, 82, 0, 21,180, 1, 18, 5, 38, 1,184,255,255,180, 20, 15, 6, 0, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 0,160,255,236, 4, 45, 5,238, 2, 38, 0, 88, 0, 0, 1, 6, 1, 78, 0, 0, 0, 19, 64, 11, 1, 21, + 17, 38, 1, 0, 23, 18, 6, 16, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4, 80, 7,217, 2, 38, 0, 56, 0, 0, + 1, 7, 1, 80, 0, 2, 1, 82, 0, 23, 64, 13, 2, 1, 15, 5, 38, 2, 1, 1, 18, 24, 6, 0, 37, 1, 43, 53, 53, 0, 43, 53, + 53, 0,255,255, 0,160,255,236, 4, 45, 6,135, 2, 38, 0, 88, 0, 0, 1, 6, 1, 80,253, 0, 0, 25,182, 2, 1, 18, 17, 38, + 2, 1,184,255,252,180, 21, 27, 6, 16, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,125,255,236, 4, 80, 7,115, 2, 38, + 0, 56, 0, 0, 1, 7, 1, 83, 0, 76, 1, 82, 0, 23, 64, 13, 2, 1, 21, 5, 38, 2, 1, 75, 15, 26, 6, 0, 37, 1, 43, 53, + 53, 0, 43, 53, 53, 0,255,255, 0,160,255,236, 4, 45, 6, 33, 2, 38, 0, 88, 0, 0, 1, 6, 1, 83, 80, 0, 0, 23, 64, 13, + 2, 1, 24, 17, 38, 2, 1, 79, 18, 29, 6, 16, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,125,254, 57, 4, 80, 5,184, + 2, 38, 0, 56, 0, 0, 1, 6, 1, 81, 27, 0, 0, 14,183, 1, 1, 27, 21, 15, 6, 0, 37, 1, 43, 53, 0, 53,255,255, 0,160, +254, 57, 4,100, 4, 74, 2, 38, 0, 88, 0, 0, 1, 7, 1, 81, 1, 53, 0, 0, 0, 23, 64, 14, 1, 1, 16, 26, 1, 0, 26, 1, + 0, 26, 26, 0, 0, 37, 1, 43, 93, 93, 53, 0, 53, 0,255,255, 0, 2, 0, 0, 4,203, 7,115, 2, 38, 0, 58, 0, 0, 1, 7, + 1, 75, 0, 2, 1, 82, 0, 19, 64, 11, 1, 26, 5, 38, 1, 2, 32, 26, 18, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255,255,252, + 0, 0, 4,209, 6, 33, 2, 38, 0, 90, 0, 0, 1, 6, 1, 75,253, 0, 0, 21,180, 1, 26, 17, 38, 1,184,255,253,180, 32, 26, + 7, 24, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 33, 0, 0, 4,170, 7,115, 2, 38, 0, 60, 0, 0, 1, 7, 1, 75,255,255, + 1, 82, 0, 19, 64, 11, 1, 9, 5, 38, 1, 0, 15, 9, 7, 2, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82,254, 20, 4,121, + 6, 33, 2, 38, 0, 92, 0, 0, 1, 6, 1, 75, 2, 0, 0, 19, 64, 11, 1, 23, 17, 38, 1, 3, 29, 23, 0, 9, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 0, 33, 0, 0, 4,170, 7, 43, 2, 38, 0, 60, 0, 0, 1, 7, 0,106, 0, 2, 1, 82, 0, 23, 64, 13, + 2, 1, 13, 5, 38, 2, 1, 2, 15, 19, 7, 2, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,102, 0, 0, 4,100, 7,115, + 2, 38, 0, 61, 0, 0, 1, 7, 0,118, 0, 57, 1, 82, 0, 19, 64, 11, 1, 16, 5, 38, 1, 58, 10, 13, 1, 0, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 0,182, 0, 0, 4, 20, 6, 33, 2, 38, 0, 93, 0, 0, 1, 6, 0,118, 78, 0, 0, 19, 64, 11, 1, 16, + 17, 38, 1, 79, 10, 13, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,102, 0, 0, 4,100, 7, 55, 2, 38, 0, 61, 0, 0, + 1, 7, 1, 79, 0, 16, 1, 82, 0, 19, 64, 11, 1, 14, 5, 38, 1, 17, 16, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0,182, 0, 0, 4, 20, 5,229, 2, 38, 0, 93, 0, 0, 1, 6, 1, 79, 16, 0, 0, 19, 64, 11, 1, 14, 17, 38, 1, 17, 16, 12, + 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,102, 0, 0, 4,100, 7,115, 2, 38, 0, 61, 0, 0, 1, 7, 1, 76,255,255, + 1, 82, 0, 19, 64, 11, 1, 14, 5, 38, 1, 0, 18, 10, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,182, 0, 0, 4, 20, + 6, 33, 2, 38, 0, 93, 0, 0, 1, 6, 1, 76, 12, 0, 0, 19, 64, 11, 1, 14, 17, 38, 1, 13, 18, 10, 1, 0, 37, 1, 43, 53, + 0, 43, 53, 0, 0, 1, 1,100, 0, 0, 3,250, 6, 31, 0, 13, 0, 46, 64, 28, 7, 71, 79, 8, 95, 8,191, 8,239, 8,255, 8, + 5, 8, 8, 14, 32, 0, 1, 0, 15, 3, 80, 1, 12, 1, 7, 21, 0, 63, 63, 51,225, 1, 16,206, 93, 18, 57, 47, 93,225, 49, 48, + 1, 7, 38, 35, 34, 6, 21, 17, 35, 17, 52, 54, 51, 50, 3,250, 41,105,122,119, 92,183,180,209,125, 5,252,143, 28, 96,119,251, + 78, 4,176,190,177, 0, 0, 1, 0,215,254, 20, 3,246, 5,203, 0, 31, 0, 82, 64, 42, 22, 30, 22, 30, 33, 0, 14, 7, 14, 7, + 32, 29, 0,111, 13, 14, 14, 16, 31, 13, 1, 13, 13, 32, 33, 13, 0,117, 16, 29, 29, 9, 25,115, 23, 20, 7, 9,115, 7, 4, 27, + 0, 63, 51,225, 63, 51,225, 18, 57, 47, 51,225, 50, 17, 18, 1, 57, 47, 93, 51, 51, 47, 16,225, 50, 18, 57, 57, 47, 47, 17, 18, + 57, 57, 47, 47, 49, 48, 1, 17, 20, 6, 35, 34, 39, 53, 22, 51, 50, 54, 53, 17, 35, 53, 55, 53, 52, 54, 51, 50, 23, 7, 38, 35, + 34, 6, 21, 21, 51, 21, 2,156,153,179, 51, 70, 59, 56, 92, 63,194,194,153,179, 97,100, 47, 79, 65, 92, 63,245, 3, 68,252, 63, +190,177, 15,153, 18,102,113, 3,195, 75, 68,137,190,177, 37,141, 28,102,113,145,137, 0,255,255, 0, 33, 0, 0, 4,172, 8,115, + 2, 38, 0, 36, 0, 0, 0, 38, 1, 80, 2,125, 1, 7, 0,118, 0, 72, 2, 82, 0, 82, 64, 48, 4,176, 40, 1, 96, 40, 1, 80, + 40, 1, 64, 40, 1, 40, 68, 3, 2,239, 26, 1,223, 26, 1, 80, 26, 1, 64, 26, 1, 32, 26, 1, 16, 26, 1, 0, 26, 1, 26, 4, + 30, 38, 41, 18, 24, 37, 3, 2,184,255,255,180, 18, 24, 4, 7, 37, 1, 43, 53, 53, 43, 53, 0, 17, 93, 93, 93, 93, 93, 93, 93, + 53, 53, 63, 93, 93, 93, 93, 53,255,255, 0,135,255,236, 4, 2, 8, 0, 2, 38, 0, 68, 0, 0, 0, 38, 1, 80, 0, 0, 1, 7, + 0,118, 0, 94, 1,223, 0, 72, 64, 49, 4,240, 64, 1,239, 64, 1,223, 64, 1,207, 64, 1, 96, 64, 1, 31, 64, 1, 64, 3, 2, +240, 34, 1,224, 34, 1,208, 34, 1, 34, 17, 38, 4, 30, 64, 60, 37, 43, 37, 3, 2, 33, 37, 43, 8, 22, 37, 1, 43, 53, 53, 43, + 53, 0, 43, 93, 93, 93, 53, 53, 17, 93, 93, 93, 93, 93, 93, 53,255,255, 0, 0, 0, 0, 4,186, 7,115, 2, 38, 0,136, 0, 0, + 1, 7, 0,118, 0,213, 1, 82, 0, 19, 64, 11, 2, 26, 5, 38, 2,222, 20, 23, 5, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0, 45,255,236, 4,162, 6, 33, 2, 38, 0,168, 0, 0, 1, 6, 0,118,113, 0, 0, 19, 64, 11, 3, 58, 17, 38, 3,112, 52, 55, + 32, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 80,255,180, 4,133, 7,115, 2, 38, 0,154, 0, 0, 1, 7, 0,118, 0, 57, + 1, 82, 0, 19, 64, 11, 3, 40, 5, 38, 3, 53, 34, 37, 2, 11, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115,255,170, 4, 88, + 6, 33, 2, 38, 0,186, 0, 0, 1, 6, 0,118, 80, 0, 0, 19, 64, 11, 3, 42, 17, 38, 3, 81, 36, 39, 5, 15, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 0,141,254, 59, 4, 63, 5,203, 2, 38, 0, 54, 0, 0, 1, 6, 2, 57, 0, 0, 0, 19, 64, 11, 1, 34, + 20, 39, 1, 0, 32, 35, 0, 27, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,203,254, 59, 4, 2, 4, 94, 2, 38, 0, 86, 0, 0, + 1, 6, 2, 57,228, 0, 0, 21,180, 1, 34, 23, 39, 1,184,255,228,180, 32, 35, 0, 27, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, + 1, 27, 4,217, 3,178, 6, 33, 0, 15, 0, 43, 64, 21, 12, 11, 3, 3, 5, 6,149, 1, 0, 0, 17, 3, 11,146, 6, 15, 0, 95, + 0, 2, 0, 0, 47, 93, 50,237, 57, 17, 1, 51, 47, 51,228, 50, 57, 25, 47, 51, 51, 49, 48, 1, 35, 38, 39, 6, 7, 35, 53, 54, + 55, 54, 55, 51, 22, 23, 23, 3,178,121, 85,126,133, 78,120, 25, 34,139, 37,193, 37,139, 59, 4,217, 56,130,136, 50, 27, 29, 38, +155, 79, 79,155, 67, 0, 0, 1, 1, 27, 4,217, 3,178, 6, 33, 0, 15, 0, 43, 64, 21, 5, 4, 12, 12, 10, 9,149, 14, 15, 15, + 17, 12, 14, 9,146, 15, 5, 95, 5, 2, 5, 0, 47, 93,228, 50, 57, 17, 1, 51, 47, 51,228, 50, 57, 25, 47, 51, 51, 49, 48, 1, + 6, 7, 6, 7, 35, 38, 39, 39, 53, 51, 22, 23, 54, 55, 51, 3,178, 25, 34,141, 35,193, 35,141, 59,120, 82,129,122, 89,121, 6, + 6, 29, 38,158, 76, 76,158, 67, 27, 54,133,128, 59, 0, 0, 1, 1, 70, 4,217, 3,133, 5,111, 0, 3, 0, 65, 64, 24, 31, 1, +223, 1,239, 1,255, 1, 4, 1, 1, 5,112, 0,128, 0,208, 0,224, 0,240, 0, 5, 0,184,255,192, 64, 17, 9, 12, 72, 0, 0, + 4, 1,143, 15, 2, 1, 2, 64, 12, 24, 72, 2, 0, 47, 43, 93,225, 17, 1, 51, 47, 43, 93, 17, 51, 47, 93, 49, 48, 1, 33, 21, + 33, 1, 70, 2, 63,253,193, 5,111,150, 0, 1, 1, 57, 4,217, 3,147, 5,238, 0, 11, 0, 76, 64, 18, 6,131, 0, 5, 16, 5, + 32, 5, 96, 5,112, 5,128, 5,160, 5, 7, 5,184,255,192, 64, 32, 21, 24, 72, 5, 5, 11,131, 31, 0,143, 0,175, 0,239, 0, +255, 0, 5, 0, 0, 13, 11, 5,148, 9,143, 15, 3, 95, 3, 2, 3, 0, 47, 93,225,237, 50, 17, 1, 51, 47, 93,225, 51, 47, 43, + 93,225, 49, 48, 1, 6, 6, 35, 32, 3, 51, 22, 22, 51, 50, 55, 3,147, 9,160,136,254,232, 17,109, 7, 79,104,181, 10, 5,238, +127,150, 1, 21, 76, 49,125, 0, 0, 1, 1,252, 5, 0, 2,209, 5,229, 0, 7, 0, 74, 64, 52,230, 6, 1, 6,133, 2,219, 2, + 1,201, 2, 1,173, 2, 1,137, 2, 1, 91, 2, 1, 66, 2, 1, 38, 2, 1, 27, 2, 1, 2, 9, 0,147, 79, 4,111, 4,127, 4, +159, 4,175, 4,207, 4,223, 4,239, 4, 8, 4, 0, 47, 93,237, 17, 1, 51, 93, 93, 93, 93, 93, 93, 93, 93, 16,225, 93, 49, 48, + 1, 50, 21, 20, 35, 34, 53, 52, 2,102,107,107,106, 5,229,114,115,115,114, 0, 0, 2, 1,131, 4,217, 3, 72, 6,135, 0, 11, + 0, 22, 0,141,181,164, 10,180, 10, 2, 10,184,255,224, 64, 9, 12, 15, 72,164, 8,180, 8, 2, 8,184,255,224, 64, 24, 12, 15, + 72,171, 4,187, 4, 2, 4, 32, 12, 15, 72,171, 2,187, 2, 2, 2, 32, 12, 15, 72, 15,184,255,240, 64, 42, 19, 24, 72, 15,131, + 0, 3, 16, 3, 32, 3, 3, 3, 20, 16, 19, 24, 72, 20,131, 9, 24, 12, 8, 21, 24, 72, 12,140, 15, 6, 31, 6, 47, 6,127, 6, +207, 6, 5, 6, 17,184,255,240, 64, 11, 21, 24, 72, 17,140, 15, 0, 95, 0, 2, 0, 0, 47, 93,225, 43,220, 93,225, 43, 1, 16, +222,225, 43,220, 93,225, 43, 49, 48, 43, 93, 43, 93, 43, 93, 43, 93, 1, 34, 38, 53, 52, 54, 51, 50, 22, 21, 20, 6, 3, 34, 6, + 21, 20, 51, 50, 54, 53, 52, 38, 2, 98,102,121,121,102,101,129,127,103, 49, 63,112, 50, 63, 63, 4,217,116, 99, 99,116,118, 95, + 98,119, 1, 72, 60, 53,113, 60, 53, 53, 60, 0, 0, 1, 1,158,254, 57, 3, 47, 0, 0, 0, 14, 0, 56, 64, 34, 45, 7, 61, 7, + 77, 7, 3, 5, 48, 11, 19, 72, 8, 9, 0, 11,132, 79, 6, 95, 6, 2, 6, 6, 0, 0, 16, 8, 13,142, 32, 3, 1, 3, 0, 47, + 93,225, 47, 17, 1, 51, 47, 51, 47, 93,225, 17, 57, 57, 49, 48, 43, 93, 1, 21, 6, 35, 34, 38, 53, 52, 55, 51, 6, 21, 20, 51, + 50, 3, 47, 73, 83,119,126,190,131,170,127, 66,254,193,113, 23,109, 94,144,108,125,113, 96, 0, 0, 1, 0,254, 4,217, 3,205, + 5,227, 0, 17, 0, 51, 64, 30, 0,130, 0, 1,144, 1,176, 1,192, 1, 4, 1, 1, 9,130, 10, 10, 19, 16,143, 9, 3,148, 7, +143, 0, 15, 12, 1, 12, 0, 47, 93, 51,225,253, 50,225, 17, 1, 51, 47,225, 51, 47, 93,225, 49, 48, 1, 35, 18, 51, 50, 23, 22, + 51, 50, 55, 51, 2, 35, 34, 39, 38, 35, 34, 1,102,104, 25,186, 58,103,102, 34, 80, 26,105, 27,184, 57,100,100, 40, 82, 4,217, + 1, 8, 56, 56,114,254,248, 57, 56, 0, 0, 2, 0,246, 4,217, 3,213, 6, 33, 0, 7, 0, 15, 0, 67, 64, 42, 14, 15,134, 11, + 6, 7,134, 2,135, 64, 3, 80, 3, 2, 3, 3, 10,135, 79, 11, 95, 11,111, 11,175, 11,223, 11, 5, 11, 11, 17, 10, 2,146, 14, + 15, 6, 95, 6, 2, 6, 0, 47, 93, 51,237, 50, 17, 1, 51, 47, 93,225, 51, 47, 93,225,237, 50, 16,237, 50, 49, 48, 19, 54, 55, + 51, 21, 6, 7, 35, 37, 54, 55, 51, 21, 6, 7, 35,246, 94, 80,198,112,160,100, 1,106, 87, 87,199,112,160,101, 4,244,133,168, + 21,173,134, 27,118,183, 21,173,134, 0, 0, 1, 1,223, 4,217, 2,236, 6, 33, 0, 9, 0, 32, 64, 16, 8, 9, 9, 3,133, 4, + 4, 11, 3,146, 15, 8, 95, 8, 2, 8, 0, 47, 93,237, 17, 1, 51, 47,225, 51, 47, 51, 49, 48, 1, 55, 54, 55, 51, 21, 20, 6, + 7, 35, 1,223, 30, 30, 10,199, 99, 61,109, 4,244,107,114, 80, 21, 16,208, 83, 0, 3, 1, 43, 5, 12, 3,160, 6,180, 0, 7, + 0, 16, 0, 24, 0, 87, 64, 57, 6, 7, 2,135, 3, 6, 7, 22, 7, 2, 7, 3, 7, 3, 19, 10,133, 0, 15, 16, 15, 32, 15,224, + 15,240, 15, 5, 15, 15, 23,133, 19, 2,146, 6, 6, 17, 8,147, 21, 79, 13,111, 13,127, 13,159, 13,175, 13,207, 13,223, 13, 7, + 13, 0, 47, 93, 51,237, 50, 57, 47,237, 1, 47,225, 51, 47, 93,225, 18, 57, 57, 47, 47, 93, 16,225, 17, 51, 49, 48, 1, 54, 55, + 51, 21, 6, 7, 35, 39, 50, 21, 20, 6, 35, 34, 53, 52, 33, 50, 21, 20, 35, 34, 53, 52, 2, 20, 50, 41,206, 93,122, 82,137, 97, + 56, 41, 96, 2, 20, 97, 97, 96, 5,135,139,162, 20,164,143,108,102, 49, 54,103,102,102,103,103,102, 0,255,255, 0, 33, 0, 0, + 4,172, 5,188, 2, 38, 0, 36, 0, 0, 1, 7, 1, 84,254, 69,255,151, 0, 24,182, 2, 18, 3, 2, 16, 15, 1,184,254, 68,180, + 15, 19, 4, 7, 37, 1, 43, 93, 53, 0, 63, 53, 0, 1, 1,231, 2, 72, 2,229, 3, 94, 0, 7, 0, 34, 64, 20, 2,150, 48, 6, + 96, 6,176, 6,224, 6,240, 6, 5, 6, 6, 8, 9, 0,155, 4, 0, 47,237, 17, 18, 1, 57, 47, 93,237, 49, 48, 1, 50, 21, 20, + 35, 34, 53, 52, 2,102,127,127,127, 3, 94,139,139,139,139, 0,255,255,255,142, 0, 0, 4, 35, 5,184, 2, 38, 0, 40, 0, 0, + 1, 7, 1, 84,253,175,255,151, 0, 33, 64, 13, 1, 15, 3, 1, 32, 12, 1, 16, 12, 1, 0, 12, 1,184,253,151,180, 12, 16, 1, + 0, 37, 1, 43, 93, 93, 93, 53, 0, 63, 53, 0,255,255,255,101, 0, 0, 4, 70, 5,184, 2, 38, 0, 43, 0, 0, 1, 7, 1, 84, +253,134,255,151, 0, 33, 64, 13, 1, 15, 3, 1, 32, 12, 1, 16, 12, 1, 0, 12, 1,184,253,133,180, 12, 16, 5, 0, 37, 1, 43, + 93, 93, 93, 53, 0, 63, 53, 0,255,255,255,163, 0, 0, 3,233, 5,184, 2, 38, 0, 44, 0, 0, 1, 7, 1, 84,253,196,255,151, + 0, 24,182, 1, 15, 3, 1, 0, 12, 1,184,253,197,180, 12, 16, 1, 0, 37, 1, 43, 93, 53, 0, 63, 53,255,255,255,124,255,236, + 4,123, 5,205, 2, 38, 0, 50, 0, 0, 1, 7, 1, 84,253,157,255,151, 0, 20,179, 2, 23, 3, 2,184,253,155,180, 20, 24, 2, + 7, 37, 1, 43, 53, 0, 63, 53,255,255,255, 19, 0, 0, 4,170, 5,184, 2, 38, 0, 60, 0, 0, 1, 7, 1, 84,253, 52,255,151, + 0, 20,179, 1, 12, 3, 1,184,253, 52,180, 9, 13, 7, 2, 37, 1, 43, 53, 0, 63, 53,255,255,255,122, 0, 0, 4,135, 5,205, + 2, 38, 1,118, 0, 0, 1, 7, 1, 84,253,155,255,151, 0, 20,179, 1, 29, 3, 1,184,253,152,180, 26, 30, 2, 15, 37, 1, 43, + 53, 0, 63, 53,255,255, 0,241,255,236, 3,248, 6,180, 2, 38, 1,134, 0, 0, 1, 6, 1, 85,198, 0, 0, 18,178, 3, 2, 1, +184,255, 90,180, 27, 31, 10, 5, 37, 1, 43, 53, 53, 53,255,255, 0, 33, 0, 0, 4,172, 5,188, 2, 6, 0, 36, 0, 0,255,255, + 0,135, 0, 0, 4,113, 5,182, 2, 6, 0, 37, 0, 0, 0, 1, 0,246, 0, 0, 4, 47, 5,182, 0, 5, 0, 57, 64, 16, 0, 64, + 18, 22, 72, 0, 7, 3, 90, 80, 4, 1, 0, 4, 1, 4,184,255,192,179, 21, 24, 72, 4,184,255,192, 64, 10, 13, 16, 72, 4, 2, + 95, 5, 3, 3, 18, 0, 63, 63,225, 1, 47, 43, 43, 93,113,225, 16,206, 43, 49, 48, 1, 21, 33, 17, 35, 17, 4, 47,253,129,186, + 5,182,166,250,240, 5,182, 0, 0, 2, 0, 68, 0, 0, 4,135, 5,182, 0, 5, 0, 12, 0,213,185, 0, 9,255,240, 64, 27, 15, + 19, 72,184, 4, 1, 4, 8, 14, 17, 72, 72, 4, 1, 41, 4, 1, 24, 4, 1, 9, 4, 1,183, 5, 1, 5,184,255,248, 64, 32, 14, + 17, 72, 71, 5, 1, 38, 5, 1, 23, 5, 1, 6, 5, 1, 10, 16, 15, 19, 72,232, 4, 1,231, 5, 1, 5, 4, 6, 6, 1, 9,184, +255,240, 64, 84, 20, 24, 72, 87, 9, 1, 71, 9, 1, 37, 9, 1, 6, 9, 22, 9, 2, 9, 96, 2, 1, 2, 10, 16, 20, 24, 72, 88, + 10, 1, 72, 10, 1, 42, 10, 1, 9, 10, 25, 10, 2, 10,128, 1,160, 1,240, 1, 3, 47, 1, 79, 1,111, 1, 3, 1, 91, 6, 1, + 41, 6, 57, 6, 73, 6, 3, 6, 16, 17, 20, 72, 29, 6, 1, 6, 4, 3, 0, 3, 9, 95, 2, 18, 0, 63,225, 57, 57, 63, 51, 93, + 43, 93, 93, 1, 47, 93, 93, 51, 93, 93, 93, 93, 43, 47, 93, 51, 93, 93, 93, 93, 43, 18, 57, 61, 47, 51, 51, 93, 93, 49, 48, 43, + 93, 93, 93, 93, 43, 93, 93, 93, 93, 93, 43, 93, 43, 37, 21, 33, 53, 1, 51, 7, 6, 7, 3, 33, 3, 38, 4,135,251,189, 1,194, +187, 95, 51, 37,254, 2,174,252, 52,125,125,133, 5, 49,205,223,110,253, 10, 2,240,155,255,255, 0,217, 0, 0, 4, 35, 5,182, + 2, 6, 0, 40, 0, 0,255,255, 0,102, 0, 0, 4,100, 5,182, 2, 6, 0, 61, 0, 0,255,255, 0,135, 0, 0, 4, 70, 5,182, + 2, 6, 0, 43, 0, 0, 0, 3, 0, 84,255,236, 4,123, 5,205, 0, 9, 0, 19, 0, 23, 0, 97, 64, 64,116, 21,132, 21, 2, 47, + 21, 63, 21, 2,123, 20,139, 20, 2, 32, 20, 48, 20, 2, 21, 20, 21, 20, 2, 88, 13, 1, 13, 91, 7, 25, 87, 18, 1, 18, 91, 31, + 2, 47, 2, 2, 2, 23, 96,159, 20,207, 20, 2,104, 20, 1, 20, 20, 10, 16, 95, 4, 4, 10, 95, 0, 19, 0, 63,225, 63,225, 18, + 57, 47, 93, 93,225, 1, 47, 93,225, 93, 16,222,225, 93, 18, 57, 57, 47, 47, 93, 93, 93, 93, 49, 48, 5, 32, 17, 16, 33, 32, 0, + 17, 16, 0, 39, 50, 18, 17, 16, 2, 35, 32, 17, 16, 19, 33, 21, 33, 2,104,253,236, 2, 22, 1, 0, 1, 17,254,236,255,173,161, +163,169,254,175,129, 1,155,254,101, 20, 2,243, 2,238,254,121,254,151,254,151,254,120,163, 1, 34, 1, 44, 1, 47, 1, 29,253, +180,253,178, 2,170,161,255,255, 0,225, 0, 0, 3,233, 5,182, 2, 6, 0, 44, 0, 0,255,255, 0,211, 0, 0, 4,174, 5,182, + 2, 6, 0, 46, 0, 0, 0, 1, 0, 33, 0, 0, 4,172, 5,182, 0, 10, 0,190,185, 0, 7,255,240, 64, 27, 15, 19, 72,184, 9, + 1, 9, 8, 14, 17, 72, 72, 9, 1, 41, 9, 1, 24, 9, 1, 9, 9, 1,183, 10, 1, 10,184,255,248, 64, 31, 14, 17, 72, 71, 10, + 1, 38, 10, 1, 23, 10, 1, 6, 10, 1, 2, 16, 15, 19, 72,232, 9, 1,231, 10, 1, 10, 9, 4, 4, 7,184,255,240, 64, 68, 20, + 24, 72, 87, 7, 1, 71, 7, 1, 37, 7, 1, 6, 7, 22, 7, 2, 7, 8, 1, 16, 20, 24, 72, 88, 1, 1, 72, 1, 1, 42, 1, 1, + 9, 1, 25, 1, 2, 1, 47, 0,127, 0,207, 0,239, 0, 4, 0, 4, 16, 17, 20, 72, 4, 16, 11, 14, 72, 29, 4, 1, 4, 9, 3, + 8, 0, 18, 0, 63, 50, 63, 51, 93, 43, 43, 1, 47, 93, 50, 93, 93, 93, 93, 43, 47, 51, 93, 93, 93, 93, 43, 57, 61, 47, 51, 51, + 93, 93, 49, 48, 43, 93, 93, 93, 93, 43, 93, 93, 93, 93, 93, 43, 93, 43, 33, 35, 1, 38, 39, 6, 7, 1, 35, 1, 51, 4,172,199, +254,220, 63, 30, 45, 43,254,217,196, 1,231,187, 3,154,199,141,200,134,252, 96, 5,182,255,255, 0,113, 0, 0, 4, 92, 5,182, + 2, 6, 0, 48, 0, 0,255,255, 0,135, 0, 0, 4, 68, 5,182, 2, 6, 0, 49, 0, 0, 0, 3, 0,111, 0, 0, 4, 92, 5,182, + 0, 3, 0, 7, 0, 11, 0, 71, 64, 41, 47, 5, 63, 5, 2, 32, 4, 48, 4, 2, 4, 5, 4, 5, 10, 1, 1, 9, 13, 0, 0, 1, + 0, 0, 10, 7, 95,104, 4, 1, 4, 4, 0, 11, 95, 10, 18, 3, 95, 0, 3, 0, 63,225, 63,225, 17, 57, 47, 93,225, 1, 47, 51, + 47,113, 16,206, 50, 47, 17, 57, 57, 47, 47, 93, 93, 49, 48, 19, 33, 21, 33, 19, 33, 21, 33, 1, 21, 33, 53,152, 3,155,252,101, + 81, 2,248,253, 8, 3,115,252, 19, 5,182,164,254, 60,162,253,248,164,164, 0,255,255, 0, 84,255,236, 4,123, 5,205, 2, 6, + 0, 50, 0, 0, 0, 1, 0,135, 0, 0, 4, 70, 5,182, 0, 7, 0, 37, 64, 21, 1, 90, 0, 9, 4, 90, 0, 5,224, 5,240, 5, + 3, 5, 3, 95, 6, 3, 5, 0, 18, 0, 63, 50, 63,225, 1, 47, 93,225, 16,222,225, 49, 48, 33, 35, 17, 33, 17, 35, 17, 33, 4, + 70,187,253,183,187, 3,191, 5, 18,250,238, 5,182, 0,255,255, 0,176, 0, 0, 4, 70, 5,182, 2, 6, 0, 51, 0, 0, 0, 1, + 0,131, 0, 0, 4, 72, 5,182, 0, 11, 0,128, 64, 87, 55, 9,215, 9,231, 9,247, 9, 4, 38, 9, 1, 7, 9, 23, 9, 2, 55, + 7,215, 7,231, 7,247, 7, 4, 38, 7, 1, 7, 7, 23, 7, 2, 56, 2,216, 2,232, 2,248, 2, 4, 25, 2, 41, 2, 2, 8, 2, + 1, 8, 2, 2, 0, 6,239, 10,255, 10, 2, 10, 13, 7, 3, 3, 9, 0, 0,240, 0, 2, 0, 3, 7, 95, 4, 8, 2, 2, 4, 3, + 1, 9, 95, 0, 18, 0, 63,225, 57, 63, 57, 61, 47, 51, 16,225, 57, 1, 24, 47, 93, 51, 51, 17, 51, 16,206, 93, 50, 17, 57, 47, + 51, 49, 48, 93, 93, 93, 93, 93, 93, 93, 93, 93, 51, 53, 1, 1, 53, 33, 21, 33, 1, 1, 33, 21,131, 1,158,254,110, 3,125,253, + 88, 1,133,254,103, 2,248,152, 2,102, 2, 37,147,164,253,238,253,164,164, 0,255,255, 0,102, 0, 0, 4,100, 5,182, 2, 6, + 0, 55, 0, 0,255,255, 0, 33, 0, 0, 4,170, 5,182, 2, 6, 0, 60, 0, 0, 0, 3, 0, 27,255,236, 4,180, 5,203, 0, 21, + 0, 30, 0, 39, 0,180, 64, 89, 6, 19, 22, 19, 38, 19, 3, 9, 15, 25, 15, 41, 15, 3, 9, 8, 25, 8, 41, 8, 3, 6, 4, 22, + 4, 38, 4, 3, 22, 2, 11, 90, 39, 21,169, 12, 1,154, 12, 1,139, 12, 1, 3,114, 12, 1, 5, 64, 12, 80, 12, 96, 12, 3, 52, + 12, 1, 6, 12, 12, 17, 26, 8, 12, 17, 72, 26, 90, 15, 6, 47, 6, 63, 6,111, 6,143, 6,191, 6,239, 6,255, 6, 8, 6, 41, + 35,184,255,248, 64, 36, 12, 17, 72, 35, 90, 17, 39, 22, 96, 13, 80, 10,224, 10,240, 10, 3, 10, 10, 11, 19, 30, 31, 96, 2, 96, + 21,112, 21,128, 21, 3, 21, 21, 0, 4, 0, 63, 50, 47, 93, 51,225, 50, 63, 51, 47, 93, 51,225, 50, 1, 47,225, 43, 16,222, 93, +225, 43, 18, 57, 47, 95, 93, 93, 95, 93, 95, 93, 93, 93, 51, 51,225, 50, 50, 49, 48, 0, 93, 93, 93, 93, 1, 51, 21, 51, 50, 18, + 21, 20, 2, 35, 35, 21, 35, 53, 35, 34, 2, 53, 52, 18, 51, 51, 19, 51, 50, 54, 53, 52, 38, 43, 3, 34, 6, 21, 20, 22, 51, 51, + 2, 20,166, 47,213,246,253,228, 25,166, 24,230,251,245,213, 47,166, 7,155,172,158,143, 33,166, 32,143,158,172,155, 6, 5,203, +180,254,203,236,236,254,195,225,225, 1, 62,235,235, 1, 54,252, 83,213,187,172,209,209,172,187,213, 0,255,255, 0, 53, 0, 0, + 4,150, 5,182, 2, 6, 0, 59, 0, 0, 0, 1, 0, 57, 0, 0, 4,150, 5,182, 0, 27, 0,117, 64, 78, 21, 5, 90, 18,169, 6, + 1, 6, 22, 18, 73,139, 6, 1, 3,114, 6, 1, 5, 80, 6, 96, 6, 2, 52, 6, 68, 6, 2, 6, 6, 6, 11, 25, 90, 15, 0, 47, + 0, 63, 0,111, 0,143, 0, 5, 0, 29, 14, 90,144, 11,160, 11,192, 11,208, 11, 4, 11, 21,119, 18,135, 18, 2, 18, 96, 4, 7, + 7, 5, 26, 19, 12, 3, 5, 18, 0, 63, 63, 51, 51, 18, 57, 47, 51,225, 93, 50, 1, 47, 93,225, 16,222, 93,225, 17, 57, 47, 95, + 93, 93, 95, 93, 95, 93, 43, 93, 51,225, 50, 49, 48, 1, 16, 6, 35, 35, 17, 35, 17, 35, 34, 38, 17, 17, 51, 17, 20, 22, 51, 51, + 17, 51, 17, 51, 50, 54, 53, 17, 51, 4,150,232,227, 17,166, 16,230,229,172,138,149, 16,166, 17,149,137,173, 3,215,254,225,250, +254, 66, 1,190,251, 1, 26, 1,227,254, 33,231,148, 3, 90,252,166,144,231, 1,227, 0, 0, 1, 0, 74, 0, 0, 4,135, 5,205, + 0, 25, 0,119,185, 0, 14,255,232, 64, 78, 10, 20, 72, 14,192, 18,208, 18, 2, 79, 18, 95, 18,127, 18,143, 18,191, 18, 5, 9, + 18, 25, 18, 2, 18, 4, 24, 10, 20, 72, 4, 64, 0, 80, 0, 2, 3, 0, 19, 0, 2, 0, 0, 6, 88, 20, 1, 20, 91, 15, 12, 27, + 87, 24, 1, 24, 91, 3, 31, 6, 47, 6, 2, 6, 22, 95, 9, 4, 0, 14, 18, 3, 3, 95, 17, 2, 18, 0, 63, 51,225, 23, 50, 63, +225, 1, 47, 93, 51,225, 93, 16,222, 50,225, 93, 18, 57, 47, 93, 93, 51, 43,198, 93, 93, 93, 50, 43, 49, 48, 37, 21, 33, 53, 33, + 38, 17, 16, 0, 51, 50, 0, 17, 16, 5, 33, 21, 33, 53, 36, 17, 16, 33, 32, 17, 16, 2, 29,254, 45, 1, 10,254, 1, 24,250,250, + 1, 25,255, 0, 1, 12,254, 43, 1, 4,254,176,254,177,147,147,164,235, 1,170, 1, 56, 1, 92,254,164,254,200,254, 83,232,164, +147,231, 1,187, 1,244,254, 12,254, 69,255,255, 0,225, 0, 0, 3,233, 7, 43, 2, 38, 0, 44, 0, 0, 1, 7, 0,106, 0, 2, + 1, 82, 0, 23, 64, 13, 2, 1, 16, 5, 38, 2, 1, 2, 18, 22, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 33, + 0, 0, 4,170, 7, 43, 2, 38, 0, 60, 0, 0, 1, 7, 0,106, 0, 2, 1, 82, 0, 23, 64, 13, 2, 1, 13, 5, 38, 2, 1, 2, + 15, 19, 7, 2, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,121,255,236, 4,154, 6, 33, 2, 38, 1,126, 0, 0, 1, 6, + 1, 84, 16, 0, 0, 21,180, 2, 46, 17, 38, 2,184,255,236,180, 38, 42, 22, 11, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,201, +255,236, 4, 8, 6, 33, 2, 38, 1,130, 0, 0, 1, 6, 1, 84, 96, 0, 0, 19, 64, 11, 1, 40, 17, 38, 1, 93, 32, 36, 14, 24, + 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160,254, 20, 4, 45, 6, 33, 2, 38, 1,132, 0, 0, 1, 6, 1, 84, 80, 0, 0, 19, + 64, 11, 1, 25, 17, 38, 1, 79, 17, 21, 7, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 1,172,255,236, 3,248, 6, 33, 2, 38, + 1,134, 0, 0, 1, 6, 1, 84,247, 0, 0, 19, 64, 11, 1, 20, 17, 38, 1, 42, 12, 12, 11, 11, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0,160,255,236, 4, 59, 6,180, 2, 38, 1,146, 0, 0, 1, 6, 1, 85,253, 0, 0, 25,181, 3, 2, 1, 3, 2, 1,184, +255,245,180, 33, 37, 0, 12, 37, 1, 43, 53, 53, 53, 0, 53, 53, 53, 0, 0, 2, 0,121,255,236, 4,154, 4, 94, 0, 26, 0, 37, + 0, 61, 64, 34, 16, 0, 28, 71, 11,127, 7,143, 7, 2, 7, 39, 33, 72, 0, 22, 1, 22, 16, 9, 35, 80, 11, 14, 14, 19, 22, 0, + 31, 80, 25, 16, 3, 15, 0, 63, 63,225, 50, 63, 51, 17, 51,225, 50, 50, 1, 47, 93,225, 16,220, 93, 50,225, 50, 50, 49, 48, 1, + 51, 54, 55, 51, 6, 17, 17, 20, 51, 50, 55, 21, 6, 35, 34, 39, 35, 6, 35, 34, 2, 17, 16, 18, 51, 50, 19, 53, 52, 38, 35, 32, + 17, 16, 33, 50, 54, 3, 94, 12, 30, 38,143, 51, 84, 29, 31, 52, 63,159, 40, 12,108,205,195,223,230,206,210, 85,134,147,254,250, + 1, 8,148,127, 3,182,103, 45,166,254,239,254, 93,111, 10,133, 26,167,167, 1, 41, 1, 14, 1, 17, 1, 42,253,182, 15,227,193, +254, 90,254, 98,184, 0, 0, 2, 0,158,254, 20, 4, 80, 6, 31, 0, 19, 0, 38, 0, 81, 64, 46, 42, 31, 1, 0, 17, 15, 29, 1, + 29, 29, 9, 33, 72, 17, 17, 24, 71, 3, 40, 20, 9, 71, 0, 10,176, 10, 2, 10, 0, 28, 80, 29, 29, 6, 14, 9, 27, 22, 80, 20, + 6, 22, 36, 80, 14, 1, 0, 63,225, 63, 51,225, 63, 17, 18, 57, 47,225, 57, 1, 47, 93,225, 50, 16,222,225, 51, 47,225, 18, 57, + 47, 93, 18, 57, 49, 48, 93, 1, 21, 4, 17, 20, 6, 35, 34, 39, 17, 35, 17, 52, 54, 51, 50, 22, 21, 20, 6, 1, 22, 51, 32, 17, + 52, 38, 35, 35, 53, 51, 50, 54, 53, 52, 38, 35, 32, 17, 2,211, 1,125,245,216,186,117,182,238,208,198,236,161,253,231,135,154, + 1, 37,190,159, 94, 70,142,161,134,114,254,248, 3, 61, 6, 48,254,151,205,229, 63,253,233, 6, 52,226,245,210,183,136,182,253, +121, 80, 1, 43,146,165,152,150,126,118,132,254,182, 0, 0, 1, 0, 82,254, 20, 4,121, 4, 74, 0, 15, 0,107, 64, 37, 2, 72, + 3, 5, 0, 3, 68, 10, 84, 10,116, 10,132, 10,180, 10, 5, 10, 10, 6, 14, 8, 9, 12, 72, 14, 16, 15, 32, 15, 48, 15, 3, 15, + 15, 17, 7,184,255,248, 64, 16, 9, 12, 72, 7, 47, 6, 63, 6, 2, 6, 6, 16, 14, 6, 15, 10,184,255,240, 64, 9, 9, 12, 72, + 10, 0, 5, 21, 2, 27, 0, 63, 63, 51, 51, 43, 63, 51, 17, 1, 51, 47, 93, 51, 43, 17, 51, 47, 93, 51, 43, 18, 57, 25, 47, 93, + 57, 51, 51, 16,225, 49, 48, 37, 2, 17, 35, 52, 19, 1, 51, 19, 22, 23, 51, 54, 55, 19, 51, 2,227,110,191,101,254, 55,192,242, + 71, 36, 6, 26, 72,229,189, 63,254,232,254,237,207, 1, 41, 4, 62,253,176,174,146,104,191, 2,105, 0, 0, 2, 0,135,255,236, + 4, 70, 6, 31, 0, 25, 0, 34, 0, 79, 64, 49, 43, 0, 1, 9, 0, 25, 0, 2, 13, 70, 0, 26, 2, 2, 24, 33, 72, 7,239, 18, +255, 18, 2, 18, 36, 28, 72, 0, 24,224, 24,240, 24, 3, 24, 16, 0, 26, 3, 5, 31, 80, 21, 22, 10, 80, 8, 5, 1, 0, 63, 51, +225, 63,225, 17, 23, 57, 1, 47, 93,225, 16,222, 93, 50,225, 17, 57, 47, 57, 57,225, 49, 48, 93, 93, 1, 38, 53, 52, 54, 51, 50, + 23, 7, 38, 35, 34, 6, 21, 20, 22, 23, 4, 17, 20, 0, 35, 34, 36, 53, 16, 37, 4, 17, 20, 22, 51, 32, 17, 52, 2, 45,254,182, +160,199,194, 73,169,159, 74, 86, 84,172, 1,105,254,253,225,213,254,250, 2, 37,254,156,152,130, 1, 39, 3,170,145,203,133,148, +109,145,106, 73, 64, 63,103,100,206,254,200,246,254,240,247,211, 1,116, 44,100,254,192,135,168, 1, 94,244, 0, 0, 1, 0,201, +255,236, 4, 8, 4, 94, 0, 31, 0, 81, 64, 47, 17, 19, 0, 0, 14, 24,127, 9,143, 9, 2, 9, 33, 29, 71, 19, 19, 4, 71, 0, + 14, 1, 14, 17, 2, 80,191, 31, 1,121, 31,137, 31, 2, 31, 31, 6, 27, 80, 25, 22, 16, 6, 80, 8, 11, 22, 0, 63, 51,225, 63, + 51,225, 18, 57, 47, 93, 93,225, 57, 1, 47, 93,225, 51, 47,225, 16,206, 93, 50, 17, 57, 47, 18, 57, 49, 48, 1, 21, 35, 32, 21, + 20, 33, 50, 55, 21, 6, 35, 34, 38, 53, 52, 55, 53, 38, 53, 52, 54, 51, 50, 23, 7, 38, 35, 34, 21, 20, 33, 3, 72,160,254,211, + 1, 27,196,170,134,243,211,239,237,202,224,189,216,167, 63,161,155,243, 1, 20, 2,135,153,185,180, 86,160, 75,168,151,193, 75, + 11, 66,183,135,156, 76,147, 72,154,166, 0, 1, 0,162,254,111, 4, 43, 6, 20, 0, 28, 0,137, 64, 87, 10, 20, 26, 20, 42, 20, + 3, 6, 9, 22, 9, 38, 9, 3, 11, 25, 27, 25, 43, 25, 3, 25, 2, 2, 16, 16, 9, 14, 72, 16, 70, 14,144, 11, 1, 11, 30, 28, + 5, 72, 0, 22,160, 22, 2, 22,153, 19, 1,123, 19,139, 19, 2,109, 19, 1, 73, 19, 1, 59, 19, 1, 45, 19, 1,121, 8,137, 8, + 2,107, 8, 1, 73, 8, 1, 59, 8, 1, 45, 8, 1, 19, 8, 0, 13,184, 1, 6,180, 2, 28, 80, 0, 0, 0, 63,225, 50, 63, 18, + 57, 57, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 1, 47, 93,225, 51, 16,222, 93, 50,225, 43, 51, 47, 51, 93, 49, 48, 0, 93, + 93, 19, 33, 21, 0, 0, 17, 20, 22, 23, 22, 22, 21, 20, 7, 35, 54, 53, 52, 38, 39, 38, 38, 53, 16, 0, 37, 6, 35, 33,223, 3, + 70,254,116,254,197,166,229,171,151,121,170,121,103,194,229,209, 1, 66, 1,120,215,137,254,227, 6, 20,141,254,224,254,118,255, + 0,153,129, 39, 30,101,111,149,166,162, 98, 57, 65, 29, 35,223,201, 1, 1, 1,186,247, 12, 0, 0, 1, 0,160,254, 20, 4, 45, + 4, 94, 0, 16, 0, 49, 64, 29, 0, 71,144, 16,160, 16, 2, 16, 18, 11, 6, 71, 0, 7,176, 7, 2, 7, 11, 3, 80, 13, 16, 8, + 15, 7, 21, 0, 27, 0, 63, 63, 63, 63,225, 50, 1, 47, 93,225, 50, 16,222, 93,225, 49, 48, 1, 17, 16, 35, 32, 17, 17, 35, 17, + 51, 23, 51, 54, 51, 32, 17, 17, 3,119,238,254,205,182,147, 27, 10,102,234, 1,133,254, 20, 4,175, 1, 4,254,114,253,199, 4, + 74,148,168,254,111,251, 71, 0, 0, 3, 0,147,255,236, 4, 57, 5,195, 0, 10, 0, 17, 0, 24, 0, 79, 64, 50, 12, 59, 18, 1, + 6, 40, 18, 1, 18, 72, 9, 26, 11, 39, 19, 55, 19, 2, 19, 71, 0, 3, 1, 3, 19, 79,202, 11,234, 11, 2,152, 11, 1, 47, 11, +255, 11, 2, 11, 11, 22, 15, 80, 6, 4, 22, 80, 0, 22, 0, 63,225, 63,225, 18, 57, 47, 93, 93, 93,225, 1, 47, 93,225, 93, 50, + 16,222,225, 93, 95, 93, 50, 49, 48, 5, 34, 2, 17, 16, 18, 51, 50, 18, 17, 16, 1, 33, 2, 2, 35, 34, 6, 1, 33, 18, 18, 51, + 50, 18, 2,100,229,236,228,237,231,238,253, 19, 2, 51, 7,133,143,139,133, 2, 43,253,205, 6,132,142,142,135, 20, 1,127, 1, +110, 1,124, 1,110,254,131,254,147,253, 19, 3, 59, 1, 4, 1, 0,250,254,109,254,234,254,251, 1, 0, 0, 1, 1,172,255,236, + 3,248, 4, 74, 0, 11, 0, 38, 64, 20, 1, 71, 0, 10, 1, 10, 10, 12,111, 5, 1, 5, 13, 5, 3, 80, 8, 22, 0, 15, 0, 63, + 63,225, 51, 1, 16,206, 93, 18, 57, 47, 93,225, 49, 48, 1, 17, 20, 51, 50, 55, 21, 6, 35, 32, 17, 17, 2, 98,193,112,101, 93, +132,254,149, 4, 74,252,250,195, 21,138, 32, 1, 88, 3, 6, 0,255,255, 0,215, 0, 0, 4,139, 4, 74, 2, 6, 0,250, 0, 0, + 0, 1, 0, 61,255,236, 4,160, 6, 33, 0, 31, 0, 85, 64, 51, 13, 1, 27, 24, 14, 27, 14, 0, 18, 20, 18, 36, 18, 2, 6, 18, + 1, 18, 33, 31, 7, 0, 32, 13, 16, 72, 47, 0, 63, 0, 2, 0, 31, 21, 72, 27, 1, 27, 1, 13, 3, 10, 16, 80, 18, 21, 22, 5, + 80, 10, 1, 0, 63,225, 63, 51,225, 17, 23, 57, 93, 63, 1, 47, 93, 43, 51, 51, 17, 51, 93, 93, 17, 18, 57, 57, 17, 51, 17, 51, + 51, 49, 48, 51, 1, 39, 38, 38, 35, 34, 7, 53, 54, 51, 50, 22, 23, 1, 22, 51, 50, 55, 21, 6, 35, 34, 38, 39, 3, 38, 39, 35, + 6, 7, 1, 61, 1,248, 53, 34, 86, 73, 56, 48, 65, 62,142,142, 70, 1, 70, 37, 65, 29, 31, 50, 65, 82, 87, 28,135, 69, 25, 6, + 36, 83,254,244, 4, 59,160,104, 72, 12,145, 17,135,211,252, 41,111, 10,133, 26, 80, 87, 1,162,214,122,138,183,253,188, 0, 1, + 0,160,254, 20, 4, 45, 4, 74, 0, 21, 0, 58, 64, 35, 10, 5, 71,144, 8,160, 8, 2, 8, 23, 0, 18, 71, 0, 19,176, 19, 2, + 19, 18, 27, 0, 5, 10, 15, 4, 2, 80, 13, 22, 9, 21, 20, 6, 15, 0, 63, 51, 63, 63,225, 23, 50, 63, 1, 47, 93,225, 50, 16, +222, 93,225, 50, 49, 48, 1, 16, 51, 50, 54, 53, 17, 51, 17, 35, 39, 35, 6, 35, 34, 39, 22, 21, 17, 35, 17, 51, 1, 86,238,160, +147,182,147, 27, 10, 97,204,173, 75, 6,182,182, 1,135,254,252,186,211, 2, 58,251,182,147,167, 88,153, 87,254,192, 6, 54, 0, + 0, 1, 0, 61, 0, 0, 4, 74, 4, 74, 0, 13, 0,116, 64, 70, 13, 16, 10, 16, 72, 8, 13, 1, 53, 12, 69, 12, 85, 12, 3, 36, + 12, 1, 21, 12, 1, 25, 6, 41, 6, 57, 6, 3, 13,149, 12,165, 12, 2,134, 12, 1, 99, 12,115, 12, 2, 5, 12, 1, 12, 20, 4, + 68, 4,116, 4, 3, 4, 4, 0, 8, 71, 9, 15, 7, 1, 1, 1, 0, 64, 10, 16, 72, 0,184,255,240,182, 0, 4, 13, 21, 8, 0, + 15, 0, 63, 50, 63, 51, 1, 47, 56, 43, 50, 93, 16,222,225, 18, 57, 61, 47, 93, 51, 93, 93, 93, 93, 51, 49, 48, 93, 93, 93, 93, + 93, 43, 19, 51, 19, 18, 23, 51, 54, 18, 17, 51, 16, 2, 7, 35, 61,189,223,110, 11, 6,157,158,183,201,225,187, 4, 74,253,182, +254,223, 69,164, 1,154, 1,114,254,147,254, 22,243, 0, 0, 1, 0,172,254,111, 4, 43, 6, 20, 0, 44, 0,151, 64, 95, 41, 70, + 34, 26, 31, 0,159, 36, 1, 95, 28, 1,159, 0, 1, 28, 0, 36, 36, 0, 28, 3, 22, 17, 70,144, 12, 1, 12, 46, 5, 72, 0, 22, + 1, 22,123, 20, 1,109, 20, 1, 73, 20, 1, 59, 20, 1, 45, 20, 1, 8, 20, 24, 20, 2, 20, 8, 21, 24, 72,121, 9, 1,107, 9, + 1, 73, 9, 1, 59, 9, 1, 45, 9, 1, 20, 9, 14, 35, 26, 2, 79, 47, 44, 1, 44, 44, 14, 37, 34, 80, 35, 0, 14,184, 1, 6, + 0, 63, 63,225, 50, 18, 57, 47, 93,225, 57, 17, 18, 57, 57, 93, 93, 93, 93, 93, 43, 93, 93, 93, 93, 93, 93, 1, 47, 93,225, 16, +222, 93,225, 18, 23, 57, 47, 47, 47, 93, 93, 93, 18, 57, 57, 51,225, 49, 48, 1, 21, 35, 34, 6, 21, 20, 22, 22, 23, 22, 22, 21, + 20, 7, 35, 54, 53, 52, 38, 39, 36, 17, 52, 54, 55, 53, 38, 53, 52, 54, 55, 6, 35, 35, 53, 33, 21, 35, 34, 4, 21, 20, 22, 51, + 3,217,201,207,217, 76,139,179,162,151,121,170,121, 99,188,254, 74,151,132,215,150,185,176,104, 62, 2,252, 69,217,254,217,183, +196, 3,119,137,163,149, 91,105, 56, 32, 29,100,111,149,166,162,100, 53, 65, 29, 68, 1, 90,134,211, 42, 12, 59,220,114,150, 51, + 12,153,153,160,139,113,104, 0,255,255, 0,115,255,236, 4, 88, 4, 94, 2, 6, 0, 82, 0, 0, 0, 1, 0, 14,255,236, 4,190, + 4, 74, 0, 20, 0,121, 64, 53, 75, 11, 91, 11,107, 11, 3, 58, 11, 1, 40, 11, 1, 11, 11, 1, 11, 8, 71, 9, 84, 15, 1, 69, + 15, 1, 54, 15, 1, 39, 15, 1, 4, 15, 20, 15, 2, 15, 0, 0, 5, 71, 17, 0, 9, 64, 9, 80, 9, 96, 9, 4, 17,184,255,192, + 64, 23, 18, 22, 72, 9, 17, 9, 17, 21, 22, 12, 16, 7, 10, 80, 13, 15, 9, 21, 19, 80, 0, 3, 22, 0, 63, 51,225, 63, 63,225, + 50, 50, 57, 17, 18, 1, 57, 57, 47, 47, 43, 93, 16,225, 51, 17, 51, 93, 93, 93, 93, 93, 16,225, 51, 93, 93, 93, 93, 49, 48, 37, + 21, 6, 35, 34, 17, 17, 33, 17, 35, 17, 35, 53, 55, 33, 21, 35, 17, 20, 51, 50, 4,160, 52, 85,226,254,109,182,222,138, 4, 38, +210, 90, 46,150,144, 26, 1, 6, 2,190,252, 80, 3,176, 74, 80,154,253, 78,125, 0, 2, 0,158,254, 20, 4, 59, 4, 94, 0, 16, + 0, 27, 0, 53, 64, 31, 22, 72, 12, 64, 21, 24, 72, 12, 29, 17, 1, 4, 71, 0, 5,176, 5, 2, 5, 17, 0, 19, 80, 15, 22, 25, + 80, 9, 16, 4, 27, 0, 63, 63,225, 63,225, 50, 50, 1, 47, 93,225, 50, 50, 16,222, 43,225, 49, 48, 37, 35, 22, 21, 17, 35, 17, + 16, 18, 51, 50, 18, 17, 16, 2, 35, 34, 39, 22, 51, 50, 54, 53, 52, 38, 35, 32, 17, 1, 84, 6, 6,182,253,218,206,248,247,215, +168,113,112,171,144,128,130,144,254,231, 70,174, 97,254,221, 4, 19, 1, 7, 1, 48,254,205,254,252,254,242,254,211,251,100,211, +209,209,207,254,116, 0, 0, 1, 0,172,254,111, 4, 41, 4, 94, 0, 23, 0,103, 64, 66, 12, 3, 70, 1,144, 22, 1, 22, 25, 17, + 72, 0, 8, 1, 8,153, 6, 1,123, 6,139, 6, 2,109, 6, 1, 73, 6, 1, 59, 6, 1, 44, 6, 1, 8, 6, 24, 6, 2,121, 20, +137, 20, 2,107, 20, 1, 73, 20, 1, 59, 20, 1, 44, 20, 1, 6, 20, 0, 15, 81, 13, 10, 16, 0,184, 1, 6, 0, 63, 63, 51,225, + 18, 57, 57, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 1, 47, 93,225, 16,222, 93, 50,225, 51, 49, 48, 1, 35, 54, 53, 52, + 38, 39, 36, 17, 16, 33, 50, 23, 7, 38, 35, 32, 17, 20, 22, 23, 4, 21, 20, 3,172,166,121,132,163,254, 84, 2, 55,164,158, 62, +158,114,254,145,155,192, 1,102,254,111,163, 99, 60, 59, 28, 71, 1,181, 2, 90, 59,158, 57,254, 72,187,134, 35, 66,186,141, 0, + 0, 2, 0,129,255,236, 4,150, 4, 74, 0, 12, 0, 24, 0, 50, 64, 30, 2, 23, 72, 1,223, 4,239, 4,255, 4, 3, 4, 26, 17, + 72, 0, 10,240, 10, 2, 10, 2, 14, 80, 12, 15, 20, 80, 7, 22, 0, 63,225, 63,225, 50, 1, 47, 93,225, 16,222, 93, 50,225, 57, + 49, 48, 1, 21, 33, 22, 21, 20, 0, 35, 34, 2, 17, 16, 33, 23, 35, 34, 6, 21, 20, 22, 51, 50, 54, 53, 16, 4,150,254,245,178, +254,255,224,221,254, 2, 43, 59, 59,199,168,153,142,139,146, 4, 74,154,195,245,235,254,223, 1, 31, 1, 1, 2, 62,154,195,225, +185,208,191,174, 1, 13, 0, 1, 0,106,255,229, 4, 57, 4, 74, 0, 16, 0, 83, 64, 29, 10, 14, 26, 14, 2, 14, 3, 71,253, 12, + 1, 12, 64, 20, 23, 72, 61, 12, 1, 47, 12, 1, 0, 12, 1, 12, 12, 17, 1,184,255,232, 64, 20, 9, 18, 72, 1, 95, 7, 1, 7, + 18, 15, 2, 13, 80, 16, 15, 7, 5, 80, 10, 22, 0, 63,225, 51, 63,225, 50, 57, 1, 16,206, 93, 50, 43, 18, 57, 47, 93, 93, 93, + 43, 93,225, 51, 93, 49, 48, 1, 21, 33, 17, 20, 51, 50, 55, 21, 6, 35, 32, 17, 17, 33, 53, 55, 4, 57,254, 37,209,107, 84, 84, +136,254,150,254,194,134, 4, 74,154,253,162,215, 20,135, 35, 1, 88, 2,115, 74, 80, 0, 0, 1, 0,160,255,236, 4, 59, 4, 74, + 0, 17, 0, 51,179, 10, 70, 9, 9,184,255,208, 64, 23, 16, 24, 72, 9, 7, 71, 12, 19, 2, 71, 0, 17,176, 17, 2, 17, 4, 80, + 15, 22, 9, 0, 15, 0, 63, 50, 63,225, 1, 47, 93,225, 16,222,225, 51, 43, 16,229, 49, 48, 19, 51, 17, 16, 33, 50, 54, 53, 52, + 39, 51, 22, 21, 16, 2, 35, 32, 17,160,182, 1, 18,150,135, 63,182, 63,230,243,254, 62, 4, 74,253,178,254,133,232,247,237,253, +245,253,254,194,254,210, 2, 6, 0, 2, 0, 74,254, 20, 4,131, 4, 94, 0, 21, 0, 28, 0, 92, 64, 58, 22, 86, 21,102, 21, 2, + 71, 21, 1, 21, 73, 11, 6, 0, 0, 3, 24, 70, 15, 17, 1, 17, 30, 9, 73, 80, 3,144, 3,160, 3,192, 3,208, 3, 5, 47, 3, + 63, 3, 2, 3, 6, 26, 80, 14, 5, 5, 14, 16, 22, 11, 80, 20, 1, 22, 0, 27, 0, 63, 63, 51,225, 50, 63, 51, 47, 16,225, 57, + 1, 47, 93, 93,225, 16,222, 93,225, 17, 57, 47, 51, 51,225, 93, 93, 50, 49, 48, 1, 17, 36, 17, 16, 55, 23, 6, 6, 21, 16, 5, + 17, 16, 33, 50, 18, 21, 16, 2, 7, 17, 17, 36, 17, 16, 35, 34, 21, 2, 12,254, 62,207,120, 97, 68, 1, 32, 1, 25,164,186,250, +223, 1, 49,176,129,254, 20, 1,218, 25, 2, 28, 1, 58,245, 90,129,206,134,254,129, 33, 2, 94, 1,125,254,217,252,254,248,254, +201, 14,254, 38, 2,111, 29, 1,153, 1,142,228, 0, 1, 0, 43,254, 20, 4,141, 4, 78, 0, 30, 0,230, 64, 92, 3, 30, 4, 16, + 20, 15, 17, 2, 17, 0, 30, 4, 19, 20, 15, 18, 1, 18, 16, 19, 20, 15, 20, 3, 0, 30, 4, 30, 6, 30, 22, 30, 38, 30, 3, 73, + 20, 89, 20,201, 20, 3, 21, 17, 1, 6, 17, 38, 17,198, 17, 3, 9, 15, 25, 15, 41, 15, 3, 70, 4, 86, 4,198, 4, 3, 26, 1, + 1, 9, 1, 41, 1,201, 1, 3, 20, 30, 4, 15, 30, 15, 25, 9, 19, 16, 0, 3, 4, 18, 1, 2,184,255,192,181, 13, 16, 72, 2, + 2, 9,184,255,192, 64, 43, 9, 12, 72, 9, 9, 32, 17, 18, 18, 0, 25, 1, 25, 25, 31, 20, 15, 12, 22, 80, 30, 4, 9, 24, 27, + 15, 0, 19, 3, 16, 4, 1, 17, 18, 27, 9, 7, 80, 12, 27, 2, 1, 15, 0, 63, 51, 63,225, 51, 63, 51, 18, 23, 57, 63, 51, 18, + 57, 57,225, 17, 57, 57, 17, 1, 51, 47, 93, 51, 47, 51, 17, 51, 47, 43, 51, 47, 43, 51, 18, 23, 57, 17, 18, 57, 57, 17, 51, 17, + 51, 93, 93, 93, 93, 93, 93, 93, 93, 16,125,135,196,196, 16,135,196,196, 16,135, 8,196, 8,196, 16,135, 8,196, 8,196, 49, 48, + 1, 1, 51, 1, 19, 22, 22, 51, 50, 55, 21, 6, 35, 34, 38, 39, 3, 1, 35, 1, 3, 38, 35, 34, 7, 53, 54, 51, 50, 22, 23, 2, +125, 1, 55,178,254, 95,186, 46, 80, 64, 44, 36, 66, 52,102,135, 71,147,254,158,195, 1,219,180, 68, 84, 29, 34, 53, 76, 81,110, + 55, 1,250, 2, 80,252,248,254, 51,114, 89, 8,139, 19, 90,177, 1,121,253,124, 3, 62, 1,190,168, 10,143, 17,109,139, 0, 1, + 0, 80,254, 20, 4,131, 6, 18, 0, 22, 0,105, 64, 22, 1, 86, 11,102, 11, 2, 71, 11, 1, 11, 73, 21, 12, 12, 16, 3, 70, 8, + 6, 70, 5, 5,184,255,208, 64, 43, 16, 24, 72, 5, 15, 8, 1, 8, 24, 19, 70, 64, 16, 80, 16,144, 16,160, 16,192, 16,208, 16, + 6, 47, 16, 63, 16, 2, 16, 6, 17, 15, 1, 21, 80, 10, 13, 22, 11, 27, 0, 0, 0, 63, 63, 63, 51,225, 50, 63, 51, 1, 47, 93, + 93,225, 16,206, 93, 50, 43, 16,229, 16,225, 17, 57, 47, 51,225, 93, 93, 50, 49, 48, 1, 17, 36, 17, 52, 3, 51, 18, 21, 16, 5, + 17, 35, 17, 38, 2, 17, 17, 51, 17, 16, 5, 17, 2,170, 1, 45, 63,172, 63,254, 39,158,233,211,172, 1, 16, 6, 18,250,115, 28, + 1,152,250, 1, 23,254,236,247,253,201, 26,254, 38, 1,218, 8, 1, 14, 1, 39, 2, 31,253,239,254, 90, 16, 5,143, 0, 0, 1, + 0, 90,255,236, 4,117, 4, 74, 0, 31, 0,170, 64, 16, 86, 19,230, 19,246, 19, 3, 71, 19, 1, 54, 19, 1, 19, 18, 18,184,255, +240, 64, 99, 15, 18, 72, 87, 18, 1, 54, 18, 70, 18, 2, 18, 21, 25, 86, 11,102, 11, 2, 71, 11, 1, 11, 73, 8, 8, 30, 16, 73, + 15, 21, 63, 21, 2, 21, 33, 89, 0,233, 0,249, 0, 3, 72, 0, 1, 57, 0, 1, 0, 1, 1, 16, 15, 18, 72, 88, 1, 1, 57, 1, + 73, 1, 2, 1, 3, 73, 48, 30, 64, 30, 80, 30,144, 30,160, 30,192, 30,208, 30, 7, 47, 30, 1, 30, 9, 9, 0, 25, 14, 5, 80, + 23, 28, 22, 18, 0, 15, 0, 63, 50, 63, 51,225, 50, 50, 17, 57, 47, 1, 47, 93, 93,225, 51, 93, 93, 43, 17, 51, 93, 93, 93, 16, +222, 93,225, 17, 57, 47,225, 93, 93, 57, 17, 51, 93, 93, 43, 17, 51, 93, 93, 93, 49, 48, 19, 51, 2, 17, 16, 51, 50, 54, 53, 17, + 51, 17, 20, 22, 51, 50, 17, 16, 3, 51, 18, 17, 16, 33, 34, 39, 35, 6, 35, 32, 17, 16,195,165,104,139, 67, 75,157, 79, 63,139, +105,166,105,254,223,181, 50, 11, 50,181,254,223, 4, 74,254,250,254,208,254,111,142,126, 1, 50,254,206,130,138, 1,145, 1, 50, + 1, 4,254,254,254,204,253,216,178,178, 2, 40, 1, 46,255,255, 1, 3,255,236, 3,248, 5,217, 2, 38, 1,134, 0, 0, 1, 6, + 0,106,185, 0, 0, 23, 64, 13, 2, 1, 16, 17, 38, 2, 1, 23, 18, 22, 11, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, + 0,160,255,236, 4, 59, 5,217, 2, 38, 1,146, 0, 0, 1, 6, 0,106, 0, 0, 0, 25,182, 2, 1, 22, 17, 38, 2, 1,184,255, +248,180, 24, 28, 0, 12, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,115,255,236, 4, 88, 6, 33, 2, 38, 0, 82, 0, 0, + 1, 6, 1, 84, 72, 0, 0, 19, 64, 11, 2, 28, 17, 38, 2, 72, 20, 24, 3, 9, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160, +255,236, 4, 59, 6, 33, 2, 38, 1,146, 0, 0, 1, 6, 1, 84, 39, 0, 0, 19, 64, 11, 1, 26, 17, 38, 1, 31, 18, 22, 0, 12, + 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 90,255,236, 4,117, 6, 33, 2, 38, 1,150, 0, 0, 1, 6, 1, 84, 51, 0, 0, 19, + 64, 11, 1, 40, 17, 38, 1, 49, 32, 36, 30, 21, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,217, 0, 0, 4, 35, 7, 43, 2, 38, + 0, 40, 0, 0, 1, 7, 0,106, 0, 25, 1, 82, 0, 23, 64, 13, 2, 1, 16, 5, 38, 2, 1, 0, 18, 22, 1, 0, 37, 1, 43, 53, + 53, 0, 43, 53, 53, 0, 0, 1, 0, 23,255,236, 4,141, 5,182, 0, 27, 0,125,182, 18, 16, 16,128, 16, 2, 16,184,255,192, 64, + 73, 21, 24, 72, 16, 16, 10, 90, 11,255, 13, 1, 13, 13,224, 11,240, 11, 2, 70, 11, 86, 11, 2, 55, 11, 1, 47, 0, 63, 0, 2, + 11, 0, 1, 11, 0, 11, 0, 28, 5, 90, 23, 29, 9, 95, 64, 18,160, 18,176, 18,208, 18,224, 18,240, 18, 6, 18, 18, 14, 3, 95, + 1, 26, 19, 17, 12, 95, 14, 3, 11, 18, 0, 63, 63,225, 50, 63, 51,225, 17, 57, 47, 93,225, 1, 16,222,225, 18, 57, 57, 47, 47, + 93, 93, 93, 93, 93, 51, 47, 93, 16,225, 50, 47, 43, 93, 50, 49, 48, 37, 53, 22, 51, 50, 53, 53, 52, 35, 35, 17, 35, 17, 33, 53, + 33, 21, 33, 17, 33, 50, 22, 21, 21, 20, 6, 35, 34, 2,152, 68, 67,180,227,244,186,254,213, 3, 73,254,156, 1, 8,187,206,189, +171, 88, 4,160, 21,226,133,231,253, 35, 5, 18,164,164,254,111,193,178,137,196,213, 0,255,255, 0,246, 0, 0, 4, 47, 7,115, + 2, 38, 1, 97, 0, 0, 1, 7, 0,118, 0,109, 1, 82, 0, 19, 64, 11, 1, 12, 5, 38, 1, 58, 6, 9, 4, 0, 37, 1, 43, 53, + 0, 43, 53, 0, 0, 1, 0,129,255,236, 4,156, 5,203, 0, 23, 0, 68, 64, 39, 7, 64, 20, 24, 72, 7, 1, 7, 1, 13, 18, 25, + 0, 3, 91, 0, 13,240, 13, 2, 13, 3, 95,104, 0, 1, 0, 0, 5, 21, 95, 19, 16, 4, 5, 95, 7, 10, 19, 0, 63, 51,225, 63, + 51,225, 18, 57, 47, 93,225, 1, 47, 93,225, 50, 16,206, 17, 57, 57, 47, 47, 43, 49, 48, 1, 33, 21, 33, 18, 33, 50, 55, 21, 6, + 35, 32, 0, 17, 16, 0, 33, 50, 23, 7, 38, 35, 34, 6, 1, 76, 2,117,253,133, 23, 1,192,130,197,146,212,254,203,254,184, 1, +102, 1, 54,220,163, 78,154,151,188,250, 3, 78,162,253,227, 58,162, 59, 1,136, 1,105, 1, 90, 1,148, 86,156, 78,249,255,255, + 0,141,255,236, 4, 63, 5,203, 2, 6, 0, 54, 0, 0,255,255, 0,225, 0, 0, 3,233, 5,182, 2, 6, 0, 44, 0, 0,255,255, + 0,225, 0, 0, 3,233, 7, 43, 2, 38, 0, 44, 0, 0, 1, 7, 0,106, 0, 2, 1, 82, 0, 23, 64, 13, 2, 1, 16, 5, 38, 2, + 1, 2, 18, 22, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,137,255,236, 3,211, 5,182, 2, 6, 0, 45, 0, 0, + 0, 2, 0, 0,255,236, 4,184, 5,182, 0, 24, 0, 32, 0,132, 64, 88, 1, 8, 9, 14, 72, 1,120, 0, 1, 87, 0,103, 0, 2, + 0,250, 14, 12, 8, 20, 24, 72,153, 12,169, 12, 2,120, 12,136, 12, 2, 12, 16, 9, 15, 72, 12, 14, 16, 25, 90, 23, 96, 14,144, + 14,160, 14,224, 14,240, 14, 5, 71, 23, 1, 14, 23, 14, 23, 6, 28,251, 19, 34, 0, 6, 1, 6, 32, 95, 16, 16, 14, 25, 96, 23, + 18, 0, 95, 14, 3, 9, 97, 7, 4, 19, 0, 63, 51,225, 63,225, 63,225, 17, 57, 47,225, 1, 47, 93, 16,214,225, 17, 57, 57, 47, + 47, 93, 93, 16,225, 50, 17, 51, 43, 93, 93, 43, 16,225, 93, 93, 50, 43, 49, 48, 1, 3, 2, 6, 35, 34, 39, 53, 22, 51, 50, 54, + 54, 18, 55, 33, 17, 51, 32, 17, 20, 6, 35, 35, 17, 19, 51, 32, 17, 52, 38, 35, 35, 1,119, 20, 20,127,112, 56, 40, 32, 36, 35, + 53, 25, 41, 3, 1,242, 39, 1,190,228,216,207,166, 45, 1, 12,138,155, 20, 5, 18,253,220,253,195,197, 18,145, 14, 70,184, 3, + 97,214,253,152,254, 94,208,220, 5, 18,251,142, 1, 12,134,120, 0, 2, 0, 66, 0, 0, 4,176, 5,182, 0, 18, 0, 26, 0, 67, + 64, 37, 11, 19, 90, 8, 0, 0, 4, 22,251, 15, 28, 7, 3, 90, 4, 64, 10, 15, 72, 4, 26, 2, 95, 11,104, 7, 1, 7, 7, 9, + 5, 3, 19, 96, 3, 0, 18, 0, 63, 50,225, 63, 51, 57, 47, 93, 51,225, 50, 1, 47, 43,225, 50, 16,214,225, 17, 57, 47, 51,225, + 50, 49, 48, 33, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 51, 50, 22, 21, 20, 6, 35, 39, 51, 32, 17, 52, 38, 35, 35, 2, 37, +254,194,165,165, 1, 62,166, 39,219,227,228,216, 41, 45, 1, 12,138,155, 20, 2,170,253, 86, 5,182,253,152, 2,104,253,152,215, +203,208,220,160, 1, 12,134,120, 0, 1, 0, 23, 0, 0, 4,141, 5,182, 0, 18, 0,105,181, 16, 17,128, 17, 2, 17,184,255,192, + 64, 59, 21, 24, 72, 17, 17, 0, 11, 90, 12,255, 14, 1, 14, 14,224, 12,240, 12, 2, 70, 12, 86, 12, 2, 55, 12, 1, 12, 12, 19, + 6, 90, 5, 20, 18, 13, 95, 15, 10, 95, 48, 0, 64, 0,160, 0,176, 0,208, 0, 5, 0, 0, 12, 15, 3, 6, 12, 18, 0, 63, 51, + 63, 18, 57, 47, 93,225, 16,225, 50, 1, 16,222,225, 18, 57, 47, 93, 93, 93, 51, 47, 93, 16,225, 50, 50, 47, 43, 93, 49, 48, 1, + 33, 50, 22, 21, 17, 35, 17, 52, 35, 35, 17, 35, 17, 33, 53, 33, 21, 33, 1,252, 1, 8,187,206,186,227,244,186,254,213, 3, 73, +254,156, 3,129,193,178,253,242, 1,246,231,253, 35, 5, 18,164,164, 0,255,255, 0,211, 0, 0, 4,174, 7,115, 2, 38, 1,180, + 0, 0, 1, 7, 0,118, 0,156, 1, 82, 0, 19, 64, 11, 1, 17, 5, 38, 1, 66, 11, 14, 4, 0, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0, 27,255,236, 4,176, 7,105, 2, 38, 1,189, 0, 0, 1, 7, 2, 54, 0, 6, 1, 82, 0, 19, 64, 11, 1, 26, 5, 38, + 1, 6, 29, 24, 14, 0, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,135,254,127, 4, 70, 5,182, 0, 11, 0, 67, 64, 42, 2, 90, + 0, 3, 16, 3,144, 3,160, 3,192, 3,208, 3, 6, 3, 3, 5, 9, 90, 0, 13, 8, 90, 0, 5,224, 5,240, 5, 3, 5, 10, 6, + 3, 8, 95, 5, 3, 3, 1, 5, 0, 47, 51, 51, 47, 16,225, 63, 51, 1, 47, 93,225, 16,222,225, 17, 57, 47, 93,225, 49, 48, 33, + 33, 17, 35, 17, 33, 17, 51, 17, 33, 17, 51, 4, 70,254,118,176,254,123,187, 2, 73,187,254,127, 1,129, 5,182,250,240, 5, 16, +255,255, 0, 33, 0, 0, 4,172, 5,188, 2, 6, 0, 36, 0, 0, 0, 2, 0,135, 0, 0, 4,111, 5,182, 0, 11, 0, 19, 0, 51, + 64, 29, 15, 91, 3, 8, 21, 5, 12, 90, 0, 0,224, 0,240, 0, 3, 0, 19, 95, 5, 5, 12, 4, 95, 1, 3, 12, 96, 0, 18, 0, + 63,225, 63,225, 18, 57, 47,225, 1, 47, 93,225, 50, 16,222, 50,225, 49, 48, 51, 17, 33, 21, 33, 17, 33, 32, 17, 20, 4, 35, 37, + 33, 32, 17, 52, 38, 35, 35,135, 3,144,253, 43, 1, 16, 2, 29,254,249,251,254,213, 1, 26, 1, 82,171,198,251, 5,182,164,254, + 60,254, 94,208,220,160, 1, 12,133,121,255,255, 0,135, 0, 0, 4,113, 5,182, 2, 6, 0, 37, 0, 0,255,255, 0,246, 0, 0, + 4, 47, 5,182, 2, 6, 1, 97, 0, 0, 0, 2, 0, 6,254,127, 4,197, 5,182, 0, 13, 0, 19, 0,129, 64, 25, 9, 16, 18, 24, + 72, 11, 18, 1, 18, 32, 11, 24, 72, 11, 8, 1, 8, 32, 11, 24, 72, 25, 10, 1, 19,184,255,240, 64, 13, 9, 24, 72, 19, 91, 7, + 16, 90, 10, 20, 7, 1, 10,184,255,192, 64, 37, 10, 24, 72, 2, 10, 1, 7, 10, 7, 10, 5, 12, 1,251, 0, 0, 14, 90, 12, 21, + 4,251, 5, 16, 95, 10, 3, 19, 12, 6, 95, 3, 0, 5, 5, 3, 18, 0, 63, 51, 47, 51, 16,225, 50, 50, 63,225, 1, 47,225, 16, +220,225, 51, 47,225, 17, 18, 57, 57, 47, 47, 93, 43, 93, 16,225, 16,225, 43, 93, 49, 48, 43, 93, 43, 93, 43, 1, 35, 17, 33, 17, + 35, 17, 51, 54, 18, 19, 33, 17, 51, 33, 17, 35, 2, 2, 7, 4,197,177,252,162,176,113,129,174, 12, 2, 80,195,254,131,242, 17, +163,107,254,127, 1,129,254,127, 2, 39,236, 2,204, 1, 88,250,240, 4,106,254,246,253,107,203,255,255, 0,217, 0, 0, 4, 35, + 5,182, 2, 6, 0, 40, 0, 0, 0, 1, 0, 0, 0, 0, 4,205, 5,182, 0, 17, 0,203, 64, 76,103, 9,119, 9,135, 9, 3, 6, + 9, 22, 9, 54, 9, 70, 9, 86, 9, 5, 9, 5, 5, 70, 13, 86, 13,246, 13, 3, 55, 13, 1, 5, 13, 21, 13, 2, 13, 90,104, 0, +120, 0,136, 0, 3, 9, 0, 25, 0, 57, 0, 73, 0, 89, 0, 5, 0, 4, 4,103, 14, 1, 9, 14, 25, 14, 2, 14, 14, 17, 10,103, + 2, 1, 2, 1,184,255,240, 64, 9, 1, 1,103, 16,135, 16, 2, 16, 17,184,255,240, 64, 50, 17,104, 7,136, 7, 2, 7, 8, 16, + 8, 8,104, 11,136, 11, 2, 11, 16, 10, 64, 10, 80, 10,144, 10,160, 10,192, 10,208, 10, 7, 10, 16, 10, 12, 15, 6, 3, 15, 3, + 1, 17, 14, 10, 18, 7, 4, 1, 3, 0, 63, 51, 51, 63, 51, 51, 18, 57, 57, 17, 51, 17, 51, 1, 47, 56, 93, 51, 93, 51, 47, 56, + 51, 93, 47, 56, 51, 93, 51, 47, 56, 50, 93, 17, 18, 57, 47, 93, 93, 51, 17, 51, 93, 93,225, 93, 93, 93, 50, 17, 51, 93, 93, 49, + 48, 1, 1, 51, 1, 17, 51, 17, 1, 51, 1, 1, 35, 1, 17, 35, 17, 1, 35, 1,117,254,151,178, 1, 93,155, 1, 86,178,254,156, + 1,115,185,254,162,155,254,155,182, 2,242, 2,196,253, 60, 2,196,253, 60, 2,196,253, 60,253, 14, 2,229,253, 27, 2,229,253, + 27, 0, 0, 1, 0,139,255,236, 4, 47, 5,203, 0, 35, 0, 81, 64, 46, 6, 0, 22, 0, 2, 0, 17, 22, 91, 33, 33, 4, 17, 17, + 9, 14, 91, 4, 37, 28, 0, 9, 1, 9, 0, 17, 96,104, 18, 1,159, 18, 1, 18, 18, 12, 27, 25, 96, 30, 4, 12, 96, 10, 7, 19, + 0, 63, 51,225, 63,225, 51, 18, 57, 47, 93, 93,225, 57, 1, 47, 93, 51, 16,222,225, 17, 57, 47, 17, 51, 47,225, 18, 57, 93, 49, + 48, 1, 21, 22, 22, 21, 20, 4, 33, 34, 39, 53, 22, 51, 32, 17, 16, 33, 35, 53, 51, 50, 54, 53, 52, 38, 35, 34, 7, 39, 54, 33, + 50, 22, 21, 20, 6, 2,190,178,191,254,228,254,251,242,145,184,199, 1, 99,254,118,190,176,180,201,140,118,186,168, 93,194, 1, + 5,209,235,179, 3, 2, 6, 23,182,143,203,233, 79,170, 96, 1, 27, 1, 8,151,148,125,103,122,121,125,150,198,165,137,186, 0, + 0, 1, 0,137, 0, 0, 4, 70, 5,182, 0, 16, 0, 98,185, 0, 15,255,240, 64, 64, 14, 24, 72, 53, 15, 69, 15, 2, 7, 16, 14, + 24, 72, 58, 7, 74, 7, 2, 13, 9, 7, 25, 7, 41, 7, 3, 7, 10,251,224, 9,240, 9, 2, 9,105, 18, 6, 15, 22, 15, 38, 15, + 3, 15, 5, 1,251, 0, 0,224, 0,240, 0, 3, 0, 16, 5, 9, 18, 13, 7, 0, 3, 0, 63, 50, 50, 63, 51, 51, 1, 47, 93,225, + 50, 50, 93, 16,254, 93,225, 50, 93, 50, 49, 48, 93, 43, 93, 43, 19, 51, 17, 20, 7, 7, 51, 1, 51, 17, 35, 17, 52, 19, 35, 1, + 35,137,174, 7, 7, 6, 2, 66,213,172, 18, 8,253,188,215, 5,182,252,224,142,112,150, 4,180,250, 74, 3, 25,140, 1, 21,251, + 70, 0,255,255, 0,137, 0, 0, 4, 70, 7,105, 2, 38, 1,178, 0, 0, 1, 7, 2, 54, 0, 0, 1, 82, 0, 21,180, 1, 19, 5, + 38, 1,184,255,255,180, 22, 17, 0, 8, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,211, 0, 0, 4,174, 5,182, 0, 10, 0,130, + 64, 96, 5, 7, 21, 7, 37, 7,213, 7,229, 7,245, 7, 6, 10, 2, 26, 2, 42, 2,218, 2,234, 2,250, 2, 6, 39, 10, 1, 10, + 7, 7, 3, 90, 0, 4, 96, 4,112, 4,128, 4, 4, 4, 41, 8,217, 8,233, 8,249, 8, 4, 8, 9, 16, 9, 9, 41, 1,217, 1, +233, 1,249, 1, 4, 1,208, 0,240, 0, 2,127, 0, 1, 0, 0, 16, 0, 64, 0, 96, 0, 4, 0, 16, 0, 7, 2, 8, 5, 3, 4, + 0, 18, 0, 63, 50, 63, 51, 57, 57, 1, 47, 56, 93, 93, 93, 50, 93, 50, 47, 56, 51, 93, 47, 93,225, 50, 17, 51, 93, 49, 48, 0, + 93, 93, 33, 35, 1, 17, 35, 17, 51, 17, 1, 51, 1, 4,174,219,253,186,186,186, 2, 54,206,253,203, 2,229,253, 27, 5,182,253, + 60, 2,196,253, 66, 0, 0, 1, 0, 4,255,233, 4, 70, 5,182, 0, 15, 0,111, 64, 33, 13, 64, 20, 24, 72,173, 13, 1,124, 13, +140, 13,156, 13, 3, 90, 13,106, 13, 2, 45, 13, 61, 13, 77, 13, 3, 11, 13, 27, 13, 2, 5,184,255,240, 64, 16, 9, 24, 72, 4, + 24, 9, 24, 72, 3, 90, 0, 14, 16, 14, 2, 14,184,255,192, 64, 22, 13, 24, 72, 14, 14, 8, 1, 90, 0, 17, 8, 3, 95, 14, 3, + 11, 96, 9, 6, 19, 0, 18, 0, 63, 63, 51,225, 63,225, 1, 47, 16,222,225, 18, 57, 47, 43, 93,225, 49, 48, 43, 43, 93, 93, 93, + 93, 93, 43, 33, 35, 17, 33, 2, 2, 35, 34, 39, 53, 22, 51, 50, 18, 19, 33, 4, 70,187,254,215,117,177,175, 71, 66, 57, 56,102, +110,126, 2,127, 5, 18,252, 47,254,168, 25,150, 25, 1,105, 3,206, 0,255,255, 0,113, 0, 0, 4, 92, 5,182, 2, 6, 0, 48, + 0, 0,255,255, 0,135, 0, 0, 4, 70, 5,182, 2, 6, 0, 43, 0, 0,255,255, 0, 84,255,236, 4,123, 5,205, 2, 6, 0, 50, + 0, 0,255,255, 0,135, 0, 0, 4, 70, 5,182, 2, 6, 1,110, 0, 0,255,255, 0,176, 0, 0, 4, 70, 5,182, 2, 6, 0, 51, + 0, 0,255,255, 0,129,255,236, 4,156, 5,203, 2, 6, 0, 38, 0, 0,255,255, 0,102, 0, 0, 4,100, 5,182, 2, 6, 0, 55, + 0, 0, 0, 1, 0, 27,255,236, 4,176, 5,182, 0, 23, 0,162, 64, 9, 8, 13, 24, 13, 2, 13, 1, 20, 20,184,255,224,179, 20, + 24, 72, 20,184,255,224, 64, 89, 15, 18, 72, 7, 20, 7, 20, 14,232, 23, 1, 73, 23, 89, 23, 2, 56, 23, 1, 41, 23, 1, 26, 23, + 1, 9, 23, 1, 23, 0, 0, 25,231, 15, 1, 70, 15, 86, 15, 2, 55, 15, 1, 38, 15, 1, 21, 15, 1, 6, 15, 1, 15, 31, 14, 79, + 14, 95, 14,111, 14, 4, 14, 14, 24,101, 20, 1, 54, 20,230, 20, 2, 37, 20, 1, 13, 1, 20, 3, 0, 10, 95, 8, 5, 19, 14, 0, + 3, 0, 63, 50, 63, 51,225, 17, 23, 57, 93, 93, 93, 17, 1, 51, 47, 93, 51, 93, 93, 93, 93, 93, 93, 17, 51, 47, 51, 93, 93, 93, + 93, 93, 93, 18, 57, 57, 61, 47, 24, 47, 43, 43, 17, 51, 51, 93, 49, 48, 1, 1, 14, 2, 35, 34, 39, 53, 22, 51, 50, 54, 55, 1, + 51, 1, 22, 23, 22, 23, 51, 55, 1, 4,176,254, 84, 76,120,178,126,104, 74, 85, 93,110,121, 54,253,238,204, 1,127, 12, 8, 8, + 9, 2, 39, 1, 56, 5,182,251,250,183,171, 98, 30,185, 45,103,122, 4, 63,252,215, 25, 22, 25, 20,109, 3, 24,255,255, 0, 27, +255,236, 4,180, 5,203, 2, 6, 1,115, 0, 0,255,255, 0, 53, 0, 0, 4,150, 5,182, 2, 6, 0, 59, 0, 0, 0, 1, 0,135, +254,127, 4,186, 5,182, 0, 11, 0, 58, 64, 34, 3,251, 2, 2, 9, 90,127, 0,143, 0, 2, 0, 13, 8, 90, 0, 5,224, 5,240, + 5, 3, 5, 10, 6, 3, 0, 8, 95, 5, 3, 3, 5, 18, 0, 63, 51, 47, 16,225, 50, 63, 51, 1, 47, 93,225, 16,220, 93,225, 51, + 47,225, 49, 48, 37, 51, 17, 35, 17, 33, 17, 51, 17, 33, 17, 51, 4, 10,176,176,252,125,187, 2, 14,186,166,253,217, 1,129, 5, +182,250,240, 5, 16, 0, 0, 1, 0,135, 0, 0, 4, 70, 5,182, 0, 16, 0, 47, 64, 26, 14, 1, 90, 0, 18, 9, 90, 0, 6,224, + 6,240, 6, 3, 6, 14, 12, 95, 4, 4, 1, 15, 7, 3, 1, 18, 0, 63, 63, 51, 18, 57, 47,225, 51, 1, 47, 93,225, 16,222,225, + 50, 49, 48, 33, 35, 17, 6, 35, 32, 17, 17, 51, 17, 20, 22, 51, 50, 55, 17, 51, 4, 70,187,227,166,254,133,187,103,110,153,219, +187, 2, 86, 90, 1,115, 2, 71,253,209,130,101, 80, 2,198, 0, 0, 1, 0,121, 0, 0, 4, 86, 5,182, 0, 11, 0, 92, 64, 64, +101, 8, 1, 86, 8, 1, 55, 8, 71, 8,247, 8, 3,123, 5,139, 5, 2, 8, 90, 5, 5, 1, 9, 90,192, 0,208, 0, 2, 15, 0, + 63, 0, 2, 0, 13, 4, 90, 0, 1, 16, 1, 48, 1, 64, 1, 80, 1,144, 1,160, 1, 7, 1, 10, 6, 2, 3, 8, 4, 95, 1, 18, + 0, 63,225, 50, 63, 51, 51, 1, 47, 93,225, 16,222, 93, 93,225, 17, 57, 47,225, 93, 93, 93, 93, 49, 48, 33, 33, 17, 51, 17, 51, + 17, 51, 17, 51, 17, 51, 4, 86,252, 35,166,245,166,246,166, 5,182,250,240, 5, 16,250,240, 5, 16, 0, 0, 1, 0, 61,254,127, + 4,205, 5,182, 0, 15, 0,127, 64, 89,101, 12, 1, 86, 12, 1, 55, 12, 71, 12,247, 12, 3,123, 9,139, 9, 2, 12, 90, 9, 9, + 5, 0, 3,251, 0, 2,144, 2,160, 2,176, 2,224, 2,240, 2, 6, 2, 2, 13, 90,191, 0,239, 0,255, 0, 3, 15, 0, 63, 0, +159, 0,175, 0, 4, 0, 17, 8, 90,144, 5,160, 5, 2, 47, 5,111, 5,127, 5, 3, 5, 14, 10, 6, 3, 12, 0, 8, 95, 5, 3, + 3, 5, 18, 0, 63, 51, 47, 16,225, 50, 50, 63, 51, 51, 1, 47, 93, 93,225, 16,221, 93, 93,225, 51, 47, 93,225, 17, 18, 57, 47, +225, 93, 93, 93, 93, 49, 48, 37, 51, 17, 35, 17, 33, 17, 51, 17, 51, 17, 51, 17, 51, 17, 51, 4, 27,178,176,252, 32,166,246,166, +246,166,166,253,217, 1,129, 5,182,250,240, 5, 16,250,240, 5, 16, 0, 0, 2, 0, 27, 0, 0, 4,117, 5,182, 0, 12, 0, 20, + 0, 59, 64, 33, 5, 13, 90, 31, 0,143, 0,255, 0, 3, 0, 0, 2, 16, 91, 9, 22, 2, 2, 21, 20, 95, 5, 5, 13, 2, 95, 3, + 3, 13, 96, 0, 18, 0, 63,225, 63,225, 18, 57, 47,225, 17, 1, 51, 47, 16,222,225, 17, 57, 47, 93,225, 50, 49, 48, 33, 17, 33, + 53, 33, 17, 51, 32, 4, 21, 20, 4, 33, 39, 51, 32, 17, 52, 38, 35, 35, 1, 70,254,213, 1,229, 68, 1, 14, 1, 35,254,235,254, +254, 94, 98, 1, 82,171,197, 68, 5, 18,164,253,152,218,200,202,226,160, 1, 12,132,122, 0, 3, 0, 96, 0, 0, 4,109, 5,182, + 0, 9, 0, 17, 0, 21, 0, 83, 64, 53, 73, 13, 1, 13,251, 0, 6, 16, 6, 48, 6,112, 6,128, 6,240, 6, 6, 6, 6, 0, 18, +251, 15, 21, 63, 21, 2, 21, 23, 3, 10, 90, 32, 0, 48, 0, 2, 0, 0, 22, 17, 95, 3, 3, 19, 1, 3, 10, 96, 18, 0, 18, 0, + 63, 50,225, 63, 51, 57, 47,225, 17, 1, 51, 47, 93,225, 50, 16,222, 93,225, 17, 57, 47, 93,225, 93, 49, 48, 51, 17, 51, 17, 51, + 32, 17, 20, 4, 35, 39, 51, 32, 17, 52, 38, 35, 35, 1, 17, 51, 17, 96,166, 47, 2, 29,254,249,251, 74, 78, 1, 82,171,198, 47, + 2,193,166, 5,182,253,152,254, 94,208,220,160, 1, 12,133,121,253, 86, 5,182,250, 74, 0, 2, 0,176, 0, 0, 4, 70, 5,182, + 0, 9, 0, 17, 0, 60, 64, 16, 13, 91,239, 6,255, 6, 2, 6, 19, 3, 10, 90, 0, 0, 1, 0,184,255,192, 64, 16, 18, 22, 72, + 0, 0, 18, 17, 95, 3, 3, 1, 3, 10, 96, 0, 18, 0, 63,225, 63, 57, 47,225, 17, 1, 51, 47, 43, 93,225, 50, 16,222, 93,225, + 49, 48, 51, 17, 51, 17, 51, 32, 17, 20, 4, 35, 39, 51, 32, 17, 52, 38, 35, 35,176,186,191, 2, 29,254,249,251,218,201, 1, 82, +171,198,170, 5,182,253,152,254, 94,208,220,160, 1, 12,133,121, 0, 1, 0, 68,255,236, 4, 76, 5,203, 0, 23, 0, 74, 64, 43, +127, 17,143, 17, 2, 17, 17, 11, 19, 16, 91,255, 6, 1, 6, 25, 1, 31, 11, 47, 11, 2, 11, 11, 24, 17, 95,104, 18, 1, 18, 18, + 3, 14, 95, 12, 9, 19, 22, 95, 0, 3, 4, 0, 63, 51,225, 63, 51,225, 17, 57, 47, 93,225, 17, 1, 51, 47, 93, 51, 16,222, 93, +225, 50, 18, 57, 47, 93, 49, 48, 19, 39, 54, 51, 32, 0, 17, 16, 0, 33, 34, 39, 53, 22, 51, 32, 19, 33, 53, 33, 38, 38, 35, 34, +145, 77,161,222, 1, 48, 1, 89,254,170,254,196,212,146,197,131, 1,217, 16,253,139, 2,113, 19,237,190,152, 4,217,156, 86,254, +123,254,176,254,139,254,107, 59,162, 58, 2, 29,162,222,251, 0, 0, 2, 0, 98,255,236, 4,135, 5,205, 0, 18, 0, 30, 0,110, + 64, 43, 28,251, 7, 15, 0, 47, 0, 79, 0, 95, 0,127, 0,143, 0, 6, 0, 64, 21, 24, 72, 0, 0, 3, 22,251, 13, 64, 9, 14, + 72, 13, 32, 6, 55, 2, 1, 2, 90,102, 3, 1, 3,184,255,192, 64, 26, 11, 14, 72, 3, 3, 31, 1, 95,104, 6, 1, 6, 6, 10, + 19, 95, 16, 19, 25, 95, 10, 4, 4, 3, 2, 18, 0, 63, 63, 63,225, 63,225, 17, 57, 47, 93,225, 17, 1, 51, 47, 43, 93,225, 93, + 50, 16,222, 43,225, 18, 57, 47, 43, 93, 51,225, 49, 48, 1, 35, 17, 35, 17, 51, 17, 51, 18, 18, 51, 50, 18, 17, 16, 2, 35, 34, + 2, 5, 50, 54, 17, 16, 38, 35, 34, 6, 17, 16, 22, 1,147,139,166,166,144, 18,175,183,192,183,184,193,190,179, 1,113,106, 95, + 96,105,108, 94, 93, 2,170,253, 86, 5,182,253,152, 1, 93, 1, 34,254,159,254,113,254,115,254,156, 1, 59,152,233, 1,101, 1, +104,228,237,254,161,254,164,242, 0, 2, 0, 57, 0, 0, 4, 18, 5,182, 0, 11, 0, 19, 0,113, 64, 31, 11, 4, 27, 4, 2, 11, + 6, 27, 6, 2, 3, 16, 12, 17, 72, 3, 0, 5, 19, 10, 90,143, 9,159, 9,175, 9, 3, 9, 21, 1,184,255,240,180, 12, 17, 72, + 1, 2,184,255,240,183, 2, 2, 15, 91, 0, 5, 1, 5,184,255,192, 64, 19, 19, 22, 72, 5, 5, 20, 3, 0, 96, 18, 18, 1, 13, + 96, 7, 3, 10, 1, 18, 0, 63, 51, 63,225, 18, 57, 47,225, 50, 17, 1, 51, 47, 43, 93,225, 51, 47, 56, 51, 43, 16,222, 93,225, + 50, 17, 57, 57, 43, 49, 48, 93, 93, 1, 1, 35, 1, 36, 17, 16, 33, 33, 17, 35, 17, 17, 35, 32, 17, 20, 22, 51, 51, 2, 98,254, +178,219, 1,125,254,240, 1,248, 1,116,186,188,254,202,164,154,180, 2, 92,253,164, 2,143, 98, 1, 54, 1,143,250, 74, 2, 92, + 2,187,255, 0,137,148,255,255, 0,135,255,236, 4, 2, 4, 94, 2, 6, 0, 68, 0, 0, 0, 2, 0,143,255,236, 4, 59, 6, 35, + 0, 22, 0, 31, 0, 62, 64, 37, 27, 72, 1, 11, 64, 21, 24, 72, 11, 33, 5, 23, 72, 0, 17,208, 17,224, 17,240, 17, 4, 17, 23, + 5, 29, 80, 8, 8, 0, 25, 80, 14, 22, 1, 0, 1, 0, 63, 50, 63,225, 17, 57, 47,225, 50, 50, 1, 47, 93,225, 50, 16,222, 43, + 50,225, 49, 48, 1, 23, 4, 6, 6, 7, 51, 54, 51, 50, 18, 21, 16, 2, 35, 34, 2, 17, 52, 18, 62, 2, 1, 16, 33, 32, 17, 16, + 35, 34, 6, 4, 16, 33,254,115,205,127, 8, 12,116,220,186,213,250,221,219,250, 62,104,138,202,254,195, 1, 37, 1, 10,240, 95, +177, 6, 35,160, 67, 65,217,210,170,254,249,229,254,252,254,222, 1,104, 1, 63,212, 1, 32,176,106, 57,252,181,253,244, 1,119, + 1,108,127, 0, 0, 3, 0,176, 0, 0, 4, 84, 4, 74, 0, 12, 0, 20, 0, 28, 0, 91,181, 4, 4, 20, 4, 2, 10,184,255,208, + 64, 49, 9, 12, 72, 0, 14, 18, 70, 11, 11, 25, 70, 3, 30, 14, 22, 71, 0, 7,144, 7,160, 7,176, 7, 4, 7, 0, 21, 80,191, + 14, 1,137, 14, 1,120, 14, 1, 14, 14, 22, 13, 80, 8, 15, 22, 80, 7, 21, 0, 63,225, 63,225, 18, 57, 47, 93, 93, 93,225, 57, + 1, 47, 93,225, 50, 16,222,225, 51, 47,225, 18, 57, 49, 48, 43, 93, 1, 21, 4, 21, 20, 6, 35, 33, 17, 33, 32, 17, 20, 1, 17, + 33, 50, 54, 53, 52, 35, 1, 17, 33, 50, 53, 52, 38, 35, 3, 76, 1, 8,212,208,254, 0, 1,254, 1,131,253, 53, 1, 37,134,114, +217,254,188, 1, 62,254,130,128, 2, 70, 7, 35,223,149,168, 4, 74,254,235,197, 1, 64,254,215, 72, 84,141,254, 62,254,168,180, + 92, 72, 0, 1, 1, 35, 0, 0, 4, 14, 4, 74, 0, 5, 0, 46, 64, 28, 2, 71, 31, 3,111, 3,127, 3,143, 3, 4,127, 0,143, + 0, 2, 3, 0, 3, 0, 6, 7, 1, 80, 4, 15, 2, 21, 0, 63, 63,225, 17, 18, 1, 57, 57, 47, 47, 93, 93,225, 49, 48, 1, 33, + 17, 35, 17, 33, 4, 14,253,203,182, 2,235, 3,176,252, 80, 4, 74, 0, 0, 2, 0, 33,254,131, 4,104, 4, 74, 0, 12, 0, 17, + 0,116, 64, 9, 40, 8, 1, 9, 8, 25, 8, 2, 17,184,255,240,179, 15, 24, 72, 17,184,255,224, 64, 53, 11, 14, 72, 17, 7, 15, + 9, 80, 9,128, 9, 2, 18, 9, 1, 7, 9, 7, 9, 5, 11, 1, 70, 0, 0, 13, 71, 79, 11, 95, 11,111, 11, 3, 11, 19, 4, 71, + 5, 15, 78, 9, 15, 17, 11, 6, 80, 3, 1, 4, 4, 3, 21, 0, 63, 51, 47, 51, 16,225, 50, 50, 63,225, 1, 47,225, 16,220, 93, +225, 51, 47,225, 17, 18, 57, 57, 47, 47, 93, 93, 17, 51, 17, 51, 43, 43, 49, 48, 93, 93, 1, 35, 17, 33, 17, 35, 17, 51, 0, 19, + 33, 17, 51, 33, 17, 35, 2, 3, 4,104,176,253, 25,176, 86, 1, 6, 4, 2, 80,151,254,179,250, 36,198,254,131, 1,125,254,131, + 2, 23, 1,133, 2, 43,252, 80, 3, 36,254, 31,254,189,255,255, 0,133,255,236, 4, 72, 4, 94, 2, 6, 0, 72, 0, 0, 0, 1, + 0, 0, 0, 0, 4,205, 4, 74, 0, 17, 1, 8, 64,140,105, 15,121, 15,137, 15, 3, 75, 15, 91, 15, 2, 41, 15, 57, 15, 2, 26, + 15, 1, 9, 15, 1,102, 6,118, 6,134, 6, 3, 68, 6, 84, 6, 2, 38, 6, 54, 6, 2, 21, 6, 1, 6, 6, 1,166, 6, 1, 6, + 3,247, 10, 1, 86, 10,102, 10, 2, 23, 10, 55, 10, 71, 10, 3, 6, 10, 1, 10, 71,169, 15, 1, 15, 0, 24, 11, 1, 9, 11, 1, + 11, 11, 14, 7,104, 4,120, 4,136, 4, 3, 4, 16, 11, 14, 72, 4, 5, 16, 5, 5,136, 8, 1, 8, 16, 11, 16, 72, 8, 16, 7, + 64, 7, 80, 7,144, 7,160, 7,192, 7,208, 7, 7, 7, 16, 7, 7, 19,103, 17,119, 17,135, 17, 3, 17,184,255,240,180, 11, 14, + 72, 17, 16,184,255,240,181, 16, 16,135, 13, 1, 13,184,255,240,180, 11, 16, 72, 13, 14,184,255,240, 64, 18, 14, 14, 18, 9, 12, + 3, 0, 12, 0, 1, 14, 11, 7, 21, 16, 4, 1, 15, 0, 63, 51, 51, 63, 51, 51, 18, 57, 57, 17, 51, 17, 51, 17, 1, 51, 47, 56, + 51, 43, 93, 51, 47, 56, 51, 43, 93, 17, 51, 47, 56, 93, 51, 43, 93, 51, 47, 56, 51, 43, 93, 17, 18, 57, 47, 93, 93, 51, 51, 93, +225, 93, 93, 93, 93, 50, 50, 93, 49, 48, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 1, 17, 51, 17, 1, 51, 1, 1, 35, 1, 17, 35, + 17, 1, 35, 1, 1, 51, 2, 23,159, 1, 94,185,254,145, 1,109,195,254,174,159,254,174,195, 1,111,254,143,184, 2, 53, 2, 21, +253,235, 2, 21,253,235,253,203, 2, 45,253,211, 2, 45,253,211, 2, 53, 2, 21, 0, 1, 0,201,255,236, 4, 8, 4, 94, 0, 32, + 0, 87, 64, 51, 15, 13, 32, 32, 8, 3, 70, 13, 13, 28, 70, 18, 34, 8, 0, 23, 96, 23,112, 23,128, 23, 4, 23, 23, 33, 15, 31, + 80,191, 32, 1,137, 32, 1,120, 32, 1, 32, 32, 10, 26, 80, 24, 21, 22, 7, 5, 80, 10, 16, 0, 63,225, 51, 63, 51,225, 17, 57, + 47, 93, 93, 93,225, 57, 17, 1, 51, 47, 93, 51, 16,222,225, 51, 47,225, 17, 57, 47, 18, 57, 49, 48, 1, 50, 54, 53, 52, 35, 34, + 7, 39, 54, 51, 50, 22, 21, 20, 7, 21, 22, 21, 20, 6, 35, 34, 39, 53, 22, 51, 32, 53, 52, 33, 35, 53, 1,250,172,145,250,134, +175, 63,160,210,205,221,192,227,241,224,235,127,180,186, 1, 27,254,201,150, 2,135, 79, 87,154, 72,147, 76,149,140,186, 57, 11, + 65,207,151,172, 69,166, 86,180,185,153, 0, 1, 0,160, 0, 0, 4, 45, 4, 74, 0, 11, 0,132,185, 0, 9,255,240,179, 18, 24, + 72, 9,184,255,224, 64, 80, 11, 14, 72, 5, 9, 21, 9, 2, 3, 16, 18, 24, 72, 3, 32, 11, 14, 72, 10, 3, 26, 3, 2,139, 8, + 1,105, 8,121, 8, 2,132, 2, 1,102, 2,118, 2, 2, 8,136, 3, 1,105, 3, 1, 3, 6, 70,144, 5,160, 5, 2, 5, 13,135, + 9, 1,102, 9, 1, 9, 2, 0, 70, 0, 11,176, 11, 2, 11, 8, 3, 11, 15, 6, 2, 10, 21, 0, 63, 51, 51, 63, 51, 51, 1, 47, + 93,225, 50, 50, 93, 93, 16,222, 93,225, 50, 93, 93, 50, 49, 48, 0, 93, 93, 93, 93, 1, 93, 43, 43, 93, 43, 43, 1, 17, 7, 1, + 51, 17, 35, 17, 19, 1, 35, 17, 1, 76, 13, 2, 5,233,172, 10,253,254,233, 4, 74,253,100,252, 3,152,251,182, 2,135, 1, 15, +252,106, 4, 74,255,255, 0,160, 0, 0, 4, 45, 6, 23, 2, 38, 1,210, 0, 0, 1, 6, 2, 54, 37, 0, 0, 31, 64, 20, 1, 14, + 17, 38, 1,176, 17, 1,128, 17, 1,112, 17, 1, 36, 17, 12, 10, 4, 37, 1, 43, 93, 93, 93, 53, 0, 43, 53, 0, 0, 1, 0,215, + 0, 0, 4,150, 4, 74, 0, 10, 0,139, 64, 78, 88, 4, 1, 4, 16, 10, 13, 72,230, 2,246, 2, 2,212, 2, 1,150, 2,166, 2, +198, 2, 3,133, 2, 1,118, 2, 1,101, 2, 1, 70, 2, 86, 2, 2, 53, 2, 1, 22, 2, 38, 2, 2, 7, 2, 1, 88, 0, 1, 0, + 16, 10, 13, 72, 6, 10, 1, 9, 5, 1, 0, 1, 1, 4, 3, 12, 10, 2, 6, 71, 0, 7,240, 7, 2, 7,184,255,192, 64, 14, 15, + 20, 72, 7, 5, 10, 2, 3, 7, 3, 21, 8, 0, 15, 0, 63, 50, 63, 51, 23, 57, 1, 47, 43, 93,225, 50, 50, 16,206, 50, 50, 47, + 51, 49, 48, 0, 93, 93, 1, 43, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 43, 93, 1, 51, 1, 1, 35, 1, 17, 35, 17, 51, 17, + 3,145,222,253,241, 2, 54,232,253,221,180,180, 4, 74,253,241,253,197, 2, 45,253,211, 4, 74,253,235, 0, 1, 0, 31,255,242, + 4, 16, 4, 74, 0, 15, 0,206, 64, 11, 12, 32, 20, 24, 72,153, 12,169, 12, 2, 5,184,255,240, 64,111, 21, 24, 72,181, 5, 1, +166, 5, 1,149, 5, 1, 84, 5,100, 5, 2, 50, 5, 66, 5, 2, 4, 5, 20, 5, 36, 5, 3, 4, 32, 12, 24, 72, 9, 4, 25, 4, + 41, 4, 3, 4, 3,153, 3, 1,120, 3,136, 3, 2, 57, 3, 73, 3,105, 3, 3, 3,235, 13,251, 13, 2,202, 13,218, 13, 2,153, + 13,169, 13,185, 13, 3,138, 13, 1, 13, 32, 13, 16, 72, 25, 13, 41, 13, 57, 13, 3, 8, 13, 1, 13,192, 14,208, 14, 2,161, 14, + 1, 16, 14, 32, 14, 48, 14, 3, 14,184,255,192, 64, 25, 15, 18, 72, 14, 14, 8, 1, 71,143, 0, 1, 0, 17, 8, 3, 80, 14, 15, + 11, 79, 9, 6, 22, 0, 21, 0, 63, 63, 51,225, 63,225, 1, 47, 16,222, 93,225, 18, 57, 47, 43, 93, 93, 93, 51, 93, 93, 43, 93, + 93, 93, 93, 51, 93, 93, 93, 17, 51, 93, 43, 49, 48, 93, 93, 93, 93, 93, 93, 43, 93, 43, 33, 35, 17, 33, 2, 2, 35, 34, 39, 53, + 22, 51, 50, 18, 19, 33, 4, 16,182,254,172, 37,178,180, 62, 30, 21, 28,111,135, 36, 2,166, 3,176,254, 19,254, 47, 12,131, 6, + 1,219, 1,244, 0, 1, 0,115, 0, 0, 4, 90, 4, 74, 0, 24, 0,187, 64, 27, 24, 8, 72, 8, 2, 23, 7, 71, 7, 2,234, 8, +250, 8, 2, 8, 8, 17, 20, 72, 8,229, 7,245, 7, 2, 7,184,255,248, 64, 55, 17, 20, 72, 7, 18, 18, 13,218, 23,234, 23,250, + 23, 3, 23, 16, 17, 21, 72, 92, 23,108, 23,124, 23, 3, 58, 23, 74, 23, 2, 25, 23, 41, 23, 2, 23, 1, 73,176, 0, 1, 15, 0, + 1, 0, 26,213, 15,229, 15,245, 15, 3, 15,184,255,240, 64, 48, 17, 21, 72, 83, 15, 99, 15,115, 15, 3, 53, 15, 69, 15, 2, 22, + 15, 38, 15, 2, 15, 12, 73, 0, 13, 16, 13, 64, 13, 80, 13,112, 13,128, 13, 6, 13, 2, 11, 11, 23, 14, 15, 18, 8, 1, 13, 21, + 0, 63, 51, 51, 51, 63, 51, 51, 17, 51, 1, 47, 93,225, 50, 93, 93, 93, 43, 93, 16,222, 93, 93,225, 50, 93, 93, 93, 43, 93, 18, + 57, 61, 47, 51, 43, 93, 51, 43, 93, 49, 48, 93, 93, 33, 35, 17, 6, 7, 6, 7, 3, 35, 3, 38, 39, 17, 35, 17, 51, 19, 22, 23, + 54, 55, 54, 55, 19, 51, 4, 90,151, 8, 25, 22, 13,213,135,213, 8, 60,151,211,215, 25, 48, 5, 48, 10, 11,219,207, 3,129, 27, +100, 85, 38,253,121, 2,135, 25,225,252,127, 4, 74,253,112, 77,191, 13,178, 39, 34, 2,148, 0, 0, 1, 0,160, 0, 0, 4, 45, + 4, 74, 0, 11, 0, 63, 64, 38, 2, 6, 71,144, 5,160, 5, 2, 5, 13, 1, 9, 71, 0, 10,176, 10, 2, 10, 8, 80,191, 1, 1, +137, 1, 1,120, 1, 1, 1, 1, 10, 5, 21, 3, 0, 15, 0, 63, 50, 63, 51, 57, 47, 93, 93, 93,225, 1, 47, 93,225, 50, 16,222, + 93,225, 50, 49, 48, 1, 17, 33, 17, 51, 17, 35, 17, 33, 17, 35, 17, 1, 86, 2, 33,182,182,253,223,182, 4, 74,254, 57, 1,199, +251,182, 1,233,254, 23, 4, 74,255,255, 0,115,255,236, 4, 88, 4, 94, 2, 6, 0, 82, 0, 0, 0, 1, 0,160, 0, 0, 4, 45, + 4, 74, 0, 7, 0, 41, 64, 24, 5, 71,144, 4,160, 4, 2, 4, 9, 0, 71, 0, 1,176, 1, 2, 1, 7, 80, 2, 15, 5, 0, 21, + 0, 63, 50, 63,225, 1, 47, 93,225, 16,222, 93,225, 49, 48, 33, 35, 17, 33, 17, 35, 17, 33, 1, 86,182, 3,141,182,253,223, 4, + 74,251,182, 3,176, 0,255,255, 0,158,254, 20, 4, 68, 4, 94, 2, 6, 0, 83, 0, 0,255,255, 0,172,255,236, 4, 37, 4, 94, + 2, 6, 0, 70, 0, 0, 0, 1, 0,121, 0, 0, 4, 82, 4, 74, 0, 7, 0, 60, 64, 37,159, 0,175, 0, 2, 0, 0, 2, 71, 3, +224, 5, 1, 5, 5, 16, 3,144, 3,160, 3,192, 3,208, 3, 5, 3, 3, 8, 9, 1, 5, 80, 6, 15, 2, 21, 0, 63, 63,225, 50, + 17, 18, 1, 57, 47, 93, 51, 47, 93, 16,225, 50, 47, 93, 49, 48, 1, 33, 17, 35, 17, 33, 53, 33, 4, 82,254,111,183,254,111, 3, +217, 3,176,252, 80, 3,176,154,255,255, 0, 82,254, 20, 4,121, 4, 74, 2, 6, 0, 92, 0, 0, 0, 3, 0, 74,254, 20, 4,129, + 6, 20, 0, 13, 0, 18, 0, 23, 0, 93, 64, 59, 20, 0, 86, 5,102, 5, 2, 71, 5, 1, 5, 73, 14, 11, 6, 6, 9, 22, 73, 15, + 2, 1, 2, 25, 17, 73, 80, 9,144, 9,160, 9,192, 9,208, 9, 5, 47, 9, 63, 9, 2, 9, 12, 0, 19, 15, 80, 0, 11, 16, 20, + 14, 80, 4, 7, 22, 5, 27, 0, 63, 63, 51,225, 50, 63, 51,225, 50, 63, 1, 47, 93, 93,225, 16,222, 93,225, 17, 57, 47, 51, 51, +225, 93, 93, 50, 50, 49, 48, 1, 4, 17, 16, 5, 17, 35, 17, 36, 17, 16, 37, 17, 51, 3, 17, 4, 17, 16, 1, 17, 36, 17, 16, 2, +182, 1,203,254, 53,157,254, 49, 1,207,157,157,254,217, 1,196, 1, 35, 4, 90, 50,253,255,253,243, 42,254, 36, 1,220, 45, 2, + 10, 2, 10, 41, 1,186,250,115, 3, 60, 29,254,129,254,126, 3, 28,252,198, 33, 1,127, 1,121,255,255, 0, 96, 0, 0, 4,106, + 4, 74, 2, 6, 0, 91, 0, 0, 0, 1, 0,152,254,131, 4,156, 4, 74, 0, 11, 0, 56, 64, 32, 1, 71, 0, 0, 7, 71,111, 10, +127, 10,143, 10, 3, 10, 13, 6, 71, 0, 3, 1, 3, 8, 4, 15, 10, 6, 80, 3, 1, 1, 3, 21, 0, 63, 51, 47, 16,225, 50, 63, + 51, 1, 47, 93,225, 16,220, 93,225, 51, 47,225, 49, 48, 1, 35, 17, 33, 17, 51, 17, 33, 17, 51, 17, 51, 4,156,176,252,172,182, + 1,248,182,160,254,131, 1,125, 4, 74,252, 80, 3,176,252, 80, 0, 1, 0,152, 0, 0, 4, 37, 4, 74, 0, 16, 0, 47, 64, 25, + 5, 9, 71,144, 8, 1, 8, 18, 1, 71, 0, 15, 1, 15, 10, 5, 3, 80, 12, 12, 8, 21, 6, 0, 15, 0, 63, 50, 63, 57, 47,225, + 50, 50, 1, 47, 93,225, 16,222, 93,225, 50, 49, 48, 1, 17, 20, 51, 50, 55, 17, 51, 17, 35, 17, 6, 35, 34, 38, 53, 17, 1, 78, +205,171,169,182,182,181,200,160,186, 4, 74,254,102,174,115, 1,213,251,182, 1,233,127,175,139, 1,166, 0, 1, 0,125, 0, 0, + 4, 82, 4, 74, 0, 11, 0, 90, 64, 63, 70, 0, 86, 0,102, 0, 3, 0, 73, 9, 9, 5, 55, 1,247, 1, 2, 1, 73,192, 4,208, + 4, 2, 15, 4, 63, 4, 2, 4, 13, 56, 8,248, 8, 2, 8, 73, 0, 5, 16, 5, 48, 5, 64, 5, 80, 5,144, 5,160, 5, 7, 5, + 0, 8, 80, 5, 21, 10, 6, 2, 15, 0, 63, 51, 51, 63,225, 50, 1, 47, 93,225, 93, 16,222, 93, 93,225, 93, 17, 57, 47,225, 93, + 49, 48, 37, 51, 17, 51, 17, 33, 17, 51, 17, 51, 17, 51, 2,184,248,162,252, 43,162,248,161,154, 3,176,251,182, 4, 74,252, 80, + 3,176, 0, 1, 0,109,254,131, 4,184, 4, 74, 0, 15, 0,109, 64, 73, 7, 73, 6, 6, 4, 70, 0, 86, 0,102, 0, 3, 0, 73, + 13, 13, 9, 55, 1,247, 1, 2, 1, 73,239, 4,255, 4, 2,192, 4, 1, 15, 4, 63, 4, 2, 4, 17, 56, 12,248, 12, 2, 12, 73, + 16, 9, 48, 9, 64, 9, 80, 9,144, 9,160, 9, 6, 9, 4, 0, 12, 80, 9, 7, 7, 9, 21, 14, 10, 2, 15, 0, 63, 51, 51, 63, + 51, 47, 16,225, 50, 50, 1, 47, 93,225, 93, 16,220, 93, 93, 93,225, 93, 17, 57, 47,225, 93, 17, 51, 47,225, 49, 48, 37, 51, 17, + 51, 17, 51, 17, 35, 17, 33, 17, 51, 17, 51, 17, 51, 2,168,248,162,118,161,252, 86,161,248,162,154, 3,176,252, 80,253,233, 1, +125, 4, 74,252, 80, 3,176, 0, 0, 2, 0, 43, 0, 0, 4,131, 4, 74, 0, 10, 0, 18, 0, 67, 64, 41, 0, 12, 71,176, 6,192, + 6,208, 6, 3, 6, 6, 8, 15, 73, 3, 20,207, 8,223, 8,239, 8, 3, 8, 11, 80,191, 0, 1, 0, 0, 12, 8, 80, 9, 15, 12, + 80, 6, 21, 0, 63,225, 63,225, 18, 57, 47, 93,225, 1, 47, 93, 16,222,225, 17, 57, 47, 93,225, 50, 49, 48, 1, 51, 32, 17, 16, + 33, 33, 17, 33, 53, 33, 17, 17, 51, 50, 53, 52, 38, 35, 2, 74,153, 1,160,254, 92,254,180,254,152, 2, 31,137,254,118,140, 2, +135,254,201,254,176, 3,176,154,253,164,254,168,172, 90, 82, 0, 0, 3, 0,113, 0, 0, 4, 90, 4, 74, 0, 8, 0, 16, 0, 20, + 0, 99, 64, 66, 73, 13, 89, 13,105, 13, 3, 13, 73, 96, 3,112, 3,128, 3, 3, 6, 3, 1, 3, 3, 6, 55, 18,247, 18, 2, 18, + 73, 56, 17, 1, 17, 22, 0, 56, 10,248, 10, 2, 10, 73, 55, 6, 1, 0, 6, 16, 6, 2, 6, 9, 80,191, 0, 1, 0, 0, 19, 7, + 15, 10, 80, 18, 6, 21, 0, 63, 51,225, 63, 51, 57, 47, 93,225, 1, 47, 93, 93,225, 93, 50, 16,222, 93,225, 93, 17, 57, 47, 93, + 93,225, 93, 49, 48, 1, 51, 32, 17, 16, 33, 33, 17, 51, 17, 17, 51, 50, 53, 52, 38, 35, 1, 35, 17, 51, 1, 18,134, 1,159,254, + 92,254,222,161,138,254,118,140, 2,194,162,162, 2,135,254,201,254,176, 4, 74,253,164,254,168,172, 90, 82,254, 18, 4, 74, 0, + 0, 2, 0,217, 0, 0, 4, 68, 4, 74, 0, 8, 0, 16, 0, 62, 64, 18, 13, 70,239, 3,255, 3, 2, 3, 18, 0, 10, 71, 0, 6, +240, 6, 2, 6,184,255,192, 64, 17, 15, 20, 72, 6, 9, 80,191, 0, 1, 0, 0, 7, 15, 10, 80, 6, 21, 0, 63,225, 63, 57, 47, + 93,225, 1, 47, 43, 93,225, 50, 16,222, 93,225, 49, 48, 1, 33, 32, 17, 16, 33, 33, 17, 51, 17, 17, 33, 50, 53, 52, 38, 35, 1, +143, 1, 21, 1,160,254, 92,254, 57,182, 1, 4,254,118,140, 2,135,254,201,254,176, 4, 74,253,164,254,168,172, 90, 82, 0, 1, + 0,184,255,236, 4, 37, 4, 94, 0, 22, 0,105,182, 54, 1, 1, 57, 12, 1, 20,184,255,224,179, 9, 12, 72, 16,184,255,224, 64, + 49, 9, 12, 72, 7, 7, 0, 8, 5, 72,144, 18, 1, 18, 24, 13, 0, 0,128, 0, 2, 0, 0, 23, 6, 81, 47, 7,191, 7, 2,137, + 7, 1,120, 7, 1, 7, 7, 15, 3, 81, 1, 21, 22, 12, 10, 81, 15, 16, 0, 63,225, 51, 63, 51,225, 17, 57, 47, 93, 93, 93,225, + 17, 1, 51, 47, 93, 51, 16,222, 93,225, 50, 18, 57, 47, 49, 48, 43, 43, 0, 93, 93, 55, 53, 22, 51, 32, 19, 33, 53, 33, 2, 33, + 34, 7, 39, 54, 51, 32, 0, 17, 16, 0, 33, 34,190,163,153, 1, 95, 17,253,230, 2, 24, 27,254,175,108,154, 62,153,179, 1, 11, + 1, 22,254,226,254,247,187, 41,160, 62, 1, 92,154, 1, 61, 57,158, 59,254,220,254,229,254,241,254,220, 0, 2, 0,123,255,236, + 4,141, 4, 94, 0, 15, 0, 27, 0,102, 64, 33, 25, 73, 0,127, 7,143, 7,207, 7,223, 7, 4, 7, 7, 3, 19, 73, 12, 64, 9, + 17, 72, 12, 29, 6, 56, 2,248, 2, 2, 2, 73, 3,184,255,192, 64, 30, 9, 17, 72, 3, 1, 80,191, 6, 1,137, 6, 1,120, 6, + 1, 6, 6, 9, 16, 80, 14, 22, 22, 80, 9, 16, 4, 15, 3, 21, 0, 63, 63, 63,225, 63,225, 17, 57, 47, 93, 93, 93,225, 1, 47, + 43,225, 93, 50, 16,222, 43,225, 18, 57, 47, 93, 51,225, 49, 48, 1, 35, 17, 35, 17, 51, 17, 51, 18, 33, 50, 18, 17, 16, 33, 32, + 37, 50, 54, 53, 52, 38, 35, 34, 6, 21, 20, 22, 1,178,149,162,162,151, 35, 1, 76,171,191,254,144,254,177, 1, 83,103, 93, 92, +106,104, 93, 93, 1,233,254, 23, 4, 74,254, 57, 1,219,254,216,254,241,253,197,151,195,225,218,198,192,224,221,199, 0, 0, 2, + 0,115, 0, 0, 4, 10, 4, 74, 0, 12, 0, 19, 0,111, 64, 36, 2, 8, 15, 18, 72, 41, 2, 1, 24, 2, 1, 9, 2, 1, 2, 12, + 4, 13, 10, 71,127, 9,143, 9, 2, 9, 21, 87, 0,119, 0,135, 0, 3, 0, 1,184,255,240, 64, 32,175, 1, 1, 1, 1, 55, 17, + 1, 17, 71, 0, 4,144, 4,160, 4, 3, 4, 2, 7, 12, 80, 19, 19, 0, 15, 80, 7, 15, 10, 0, 21, 0, 63, 50, 63,225, 18, 57, + 47,225, 17, 57, 1, 47, 93,225, 93, 51, 47, 93, 56, 51, 93, 16,222, 93,225, 50, 17, 57, 57, 93, 93, 93, 43, 49, 48, 33, 35, 1, + 38, 53, 52, 54, 51, 33, 17, 35, 17, 33, 37, 17, 33, 34, 21, 20, 51, 1, 57,198, 1, 35,234,204,173, 1,229,182,254,227, 1, 29, +254,217,211,238, 1,205, 67,248,150,172,251,182, 1,176,154, 1,102,172,186, 0,255,255, 0,133,255,236, 4, 72, 5,217, 2, 38, + 0, 72, 0, 0, 1, 6, 0,106, 18, 0, 0, 23, 64, 13, 3, 2, 27, 17, 38, 3, 2, 17, 29, 33, 11, 0, 37, 1, 43, 53, 53, 0, + 43, 53, 53, 0, 0, 1, 0, 4,254, 20, 4, 45, 6, 20, 0, 34, 0, 98, 64, 58, 22, 31, 13, 0, 0, 13, 5, 71,144, 31,160, 31, + 2, 31, 36, 20, 24, 25, 3, 12, 71, 17, 0, 13,176, 13, 2, 13, 3, 80, 33, 27, 25, 8, 80, 28, 23, 15, 79, 16, 20, 16, 0, 28, + 16, 28, 32, 28, 3, 28, 16, 28, 16, 13, 18, 0, 13, 21, 0, 63, 63, 18, 57, 57, 47, 47, 93, 17, 51, 16,225, 50, 16,225, 51, 63, +237, 1, 47, 93, 51,225, 23, 50, 16,222, 93,225, 17, 57, 47, 17, 18, 57, 49, 48, 1, 53, 22, 51, 50, 53, 17, 16, 35, 34, 6, 21, + 17, 35, 17, 35, 53, 51, 53, 51, 21, 33, 21, 33, 21, 7, 51, 54, 51, 32, 17, 17, 16, 33, 34, 2,133, 54, 61,127,236,162,147,182, +156,156,182, 1,123,254,133, 8, 10,106,228, 1,135,254,221, 81,254, 45,148, 21,170, 3, 68, 1, 4,187,211,253,240, 4,213,137, +182,182,137,184,144,168,254,111,252,190,254,178,255,255, 1, 35, 0, 0, 4, 14, 6, 33, 2, 38, 1,205, 0, 0, 1, 6, 0,118, +104, 0, 0, 19, 64, 11, 1, 12, 17, 38, 1, 54, 6, 9, 3, 0, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,172,255,236, 4, 37, + 4, 94, 0, 22, 0, 93, 64, 58, 54, 1, 1, 57, 12, 1, 11, 20, 27, 20, 2, 11, 16, 27, 16, 2, 7, 7, 18, 0,143, 13, 1, 13, + 24, 5, 8, 72, 0, 18, 1, 18, 8, 81, 47, 5,191, 5, 2,137, 5, 1,120, 5, 1, 5, 5, 10, 3, 81, 1, 21, 16, 10, 81, 12, + 15, 22, 0, 63, 51,225, 63, 51,225, 18, 57, 47, 93, 93, 93,225, 1, 47, 93,225, 50, 16,206, 93, 50, 17, 57, 47, 49, 48, 93, 93, + 0, 93, 93, 1, 7, 38, 35, 32, 3, 33, 21, 33, 18, 33, 50, 55, 21, 6, 35, 32, 0, 17, 16, 0, 33, 50, 4, 37, 62,150,112,254, +165, 30, 2, 25,253,229, 20, 1, 93,153,162,133,186,254,247,254,226, 1, 35, 1, 12,178, 4, 35,158, 57,254,195,154,254,164, 62, +160, 61, 1, 36, 1, 15, 1, 27, 1, 36,255,255, 0,203,255,236, 4, 2, 4, 94, 2, 6, 0, 86, 0, 0,255,255, 0,197, 0, 0, + 4, 51, 6, 14, 2, 6, 0, 76, 0, 0,255,255, 0,197, 0, 0, 4, 51, 5,217, 2, 38, 0,243, 0, 0, 1, 6, 0,106, 0, 0, + 0, 25,182, 2, 1, 14, 17, 38, 2, 1,184,255,234,180, 16, 20, 7, 5, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,135, +254, 20, 3, 86, 6, 14, 2, 6, 0, 77, 0, 0, 0, 2, 0, 0,255,242, 4,156, 4, 74, 0, 22, 0, 30, 0,121, 64, 78,216, 9, +232, 9,248, 9, 3, 9, 16, 17, 21, 72,122, 9, 1, 9, 16, 9, 14, 72, 9, 8, 8, 20, 24, 18, 24, 72, 20, 16, 9, 17, 72, 20, + 21, 0, 24, 71, 6, 96, 21, 1, 21, 6, 21, 6, 14, 27, 73,207, 3,223, 3, 2, 3, 32, 0, 14, 1, 14, 23, 80, 0, 0, 17, 8, + 80, 21, 15, 17, 79, 15, 12, 22, 24, 80, 6, 21, 0, 63,225, 63, 51,225, 63,225, 18, 57, 47,225, 1, 47, 93, 16,214, 93,225, 17, + 57, 57, 47, 47, 93, 16,225, 50, 17, 51, 43, 43, 51, 17, 51, 43, 49, 48, 93, 43, 93, 1, 51, 32, 17, 16, 33, 35, 17, 35, 2, 2, + 6, 35, 34, 39, 53, 22, 51, 50, 54, 18, 19, 33, 17, 17, 51, 50, 53, 52, 38, 35, 2,201, 51, 1,160,254, 92,209,186, 33, 52, 92, + 96, 62, 30, 22, 27, 41, 49, 45, 35, 1,238, 55,254,118,140, 2,135,254,201,254,176, 3,176,254, 38,254,135,107, 12,131, 6, 84, + 1,126, 1,253,253,164,254,168,172, 90, 82, 0, 0, 2, 0,106, 0, 0, 4,172, 4, 74, 0, 16, 0, 24, 0, 86, 64, 25, 5, 56, + 18,248, 18, 2, 18, 73, 2, 11, 11, 15, 21, 73, 8, 26, 1, 56, 14,248, 14, 2, 14, 73, 15,184,255,192, 64, 23, 10, 13, 72, 15, + 15, 21, 17, 13, 80, 5,191, 1, 1, 1, 1, 0, 18, 80, 11, 21, 3, 0, 15, 0, 63, 50, 63,225, 17, 57, 47, 93, 51,225, 50, 63, + 1, 47, 43,225, 93, 50, 16,214,225, 17, 57, 47, 51,225, 93, 50, 49, 48, 1, 17, 33, 17, 51, 17, 51, 32, 17, 16, 33, 35, 17, 33, + 17, 35, 17, 1, 17, 51, 50, 53, 52, 38, 35, 1, 12, 1, 43,162, 51, 1,160,254, 92,209,254,213,162, 2,111, 55,254,118,140, 4, + 74,254, 57, 1,199,254, 61,254,201,254,176, 1,233,254, 23, 4, 74,253,164,254,168,172, 90, 82,255,255, 0, 4, 0, 0, 4, 45, + 6, 20, 2, 6, 0,233, 0, 0,255,255, 0,215, 0, 0, 4,139, 6, 33, 2, 38, 0,250, 0, 0, 1, 6, 0,118, 90, 0, 0, 19, + 64, 11, 1, 21, 17, 38, 1, 15, 15, 18, 10, 5, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82,254, 20, 4,121, 6, 23, 2, 38, + 0, 92, 0, 0, 1, 6, 2, 54, 10, 0, 0, 19, 64, 11, 1, 25, 17, 38, 1, 10, 28, 23, 0, 9, 37, 1, 43, 53, 0, 43, 53, 0, + 0, 1, 0,160,254,131, 4, 45, 4, 74, 0, 11, 0, 68, 64, 43, 6, 71, 0, 7, 16, 7,176, 7,192, 7,208, 7, 5, 7, 7, 9, + 1, 71,144, 4,160, 4, 2, 4, 13, 0, 71, 0, 9,176, 9, 2, 9, 7, 7, 5, 0, 80, 9, 21, 10, 2, 15, 0, 63, 51, 63,225, + 51, 51, 47, 1, 47, 93,225, 16,222, 93,225, 17, 57, 47, 93,225, 49, 48, 37, 33, 17, 51, 17, 33, 17, 35, 17, 33, 17, 51, 1, 86, + 2, 33,182,254,158,183,254,140,182,154, 3,176,251,182,254,131, 1,125, 4, 74, 0, 1, 0,246, 0, 0, 4, 35, 6,227, 0, 7, + 0, 62, 64, 15, 0,251, 3, 64, 18, 22, 72, 3, 9, 5, 90, 0, 6, 1, 6,184,255,192,179, 21, 24, 72, 6,184,255,192, 64, 13, + 13, 16, 72, 6, 4, 95, 7, 1, 1, 7, 3, 5, 18, 0, 63, 63, 51, 47, 16,225, 1, 47, 43, 43, 93,225, 16,222, 43,225, 49, 48, + 1, 17, 51, 17, 33, 17, 35, 17, 3,115,176,253,141,186, 5,182, 1, 45,254, 45,250,240, 5,182, 0, 1, 1, 35, 0, 0, 3,250, + 5,137, 0, 7, 0, 45, 64, 27, 5, 71,111, 0,127, 0,143, 0, 3, 0, 9, 2, 71,127, 3,143, 3, 2, 3, 6, 6, 1, 79, 4, + 15, 2, 21, 0, 63, 63,225, 51, 47, 1, 47, 93,225, 16,222, 93,225, 49, 48, 1, 33, 17, 35, 17, 33, 17, 51, 3,250,253,223,182, + 2, 33,182, 3,193,252, 63, 4, 74, 1, 63, 0,255,255, 0, 2, 0, 0, 4,203, 7,115, 2, 38, 0, 58, 0, 0, 1, 7, 0, 67, +255,175, 1, 82, 0, 21,180, 1, 26, 5, 38, 1,184,255,175,180, 29, 26, 18, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255,255,252, + 0, 0, 4,209, 6, 33, 2, 38, 0, 90, 0, 0, 1, 6, 0, 67,142, 0, 0, 21,180, 1, 26, 17, 38, 1,184,255,142,180, 29, 26, + 7, 24, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 2, 0, 0, 4,203, 7,115, 2, 38, 0, 58, 0, 0, 1, 7, 0,118, 0, 82, + 1, 82, 0, 19, 64, 11, 1, 32, 5, 38, 1, 82, 26, 29, 18, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255,255,252, 0, 0, 4,209, + 6, 33, 2, 38, 0, 90, 0, 0, 1, 6, 0,118,104, 0, 0, 19, 64, 11, 1, 32, 17, 38, 1,104, 26, 29, 7, 24, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 0, 2, 0, 0, 4,203, 7, 43, 2, 38, 0, 58, 0, 0, 1, 7, 0,106, 0, 4, 1, 82, 0, 23, 64, 13, + 2, 1, 30, 5, 38, 2, 1, 3, 32, 36, 18, 8, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255,255,252, 0, 0, 4,209, 5,217, + 2, 38, 0, 90, 0, 0, 1, 6, 0,106,255, 0, 0, 25,182, 2, 1, 30, 17, 38, 2, 1,184,255,254,180, 32, 36, 7, 24, 37, 1, + 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 33, 0, 0, 4,170, 7,115, 2, 38, 0, 60, 0, 0, 1, 7, 0, 67,255,142, 1, 82, + 0, 21,180, 1, 9, 5, 38, 1,184,255,143,180, 12, 9, 7, 2, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82,254, 20, 4,121, + 6, 33, 2, 38, 0, 92, 0, 0, 1, 6, 0, 67,151, 0, 0, 21,180, 1, 23, 17, 38, 1,184,255,152,180, 26, 23, 0, 9, 37, 1, + 43, 53, 0, 43, 53, 0, 0, 1, 0,184, 1,209, 4, 20, 2,121, 0, 3, 0, 24, 64, 11, 2, 2, 5, 0, 0, 1, 0, 0,185, 1, +189, 0, 63,225, 1, 47, 93, 17, 51, 47, 49, 48, 19, 53, 33, 21,184, 3, 92, 1,209,168,168, 0, 0, 1,255,250, 1,209, 4,211, + 2,121, 0, 3, 0, 19,183, 2, 2, 5, 0, 0,185, 1,189, 0, 63,225, 1, 47, 17, 51, 47, 49, 48, 3, 53, 33, 21, 6, 4,217, + 1,209,168,168, 0, 1,255,250, 1,209, 4,211, 2,121, 0, 3, 0, 19,183, 2, 2, 5, 0, 0,185, 1,189, 0, 63,225, 1, 47, + 17, 51, 47, 49, 48, 3, 53, 33, 21, 6, 4,217, 1,209,168,168, 0, 2,255,236,254, 49, 4,225,255,211, 0, 3, 0, 7, 0, 60, + 64, 37, 4, 0, 9, 5, 1,247, 6, 1, 38, 6, 1, 23, 6, 1, 6,186, 32, 5,240, 5, 2, 5,248, 1, 1, 41, 1, 1, 24, 1, + 1, 1,186,239, 2, 1, 2, 0, 47, 93,225, 93, 93, 93, 47, 93,225, 93, 93, 93, 1, 47, 51, 16,196, 50, 49, 48, 5, 33, 53, 33, + 17, 33, 53, 33, 4,225,251, 11, 4,245,251, 11, 4,245,184,139,254, 94,139, 0, 0, 1, 1,190, 3,193, 3, 12, 5,182, 0, 6, + 0, 42, 64, 26, 22, 6, 38, 6,230, 6,246, 6, 4, 6,152, 4,153,111, 1,191, 1, 2, 1, 1, 7, 8, 6,157, 3,169, 0, 63, +237, 17, 18, 1, 57, 47, 93,237,225, 93, 49, 48, 1, 39, 54, 19, 51, 6, 7, 1,205, 15, 54,123,157, 62, 38, 3,193, 22,206, 1, + 17,255,246, 0, 0, 1, 1,190, 3,193, 3, 12, 5,182, 0, 6, 0, 56, 64, 40, 25, 6, 41, 6,233, 6,249, 6, 4, 6,152, 1, +153, 0, 4, 32, 4, 48, 4,112, 4,128, 4,144, 4,208, 4,224, 4,240, 4, 9, 4, 4, 7, 8, 3,157, 6,169, 0, 63,237, 17, + 18, 1, 57, 47, 93,253,225, 93, 49, 48, 1, 23, 6, 3, 35, 18, 55, 2,254, 14, 55,121,158, 65, 36, 5,182, 22,213,254,246, 1, + 10,235, 0, 1, 1,201,254,248, 3, 2, 0,238, 0, 6, 0, 67, 64, 49, 25, 6, 41, 6,233, 6,249, 6, 4, 6,152, 1,153, 0, + 4, 32, 4, 48, 4,112, 4,128, 4,144, 4,208, 4,224, 4,240, 4, 9, 4, 4, 7, 8, 3,158,209, 6, 1, 31, 6, 47, 6, 63, + 6, 3, 6, 0, 47, 93, 93,237, 17, 18, 1, 57, 47, 93,253,225, 93, 49, 48, 37, 23, 6, 3, 35, 18, 55, 2,244, 14, 55,121,137, + 71, 29,238, 23,213,254,246, 1, 36,210, 0, 1, 1,190, 3,193, 3, 12, 5,182, 0, 6, 0, 40, 64, 24, 22, 0, 38, 0,230, 0, +246, 0, 4, 0,152, 2,153,111, 5, 1, 5, 5, 7, 8, 3,157, 0,169, 0, 63,237, 17, 18, 1, 57, 47, 93,237,225, 93, 49, 48, + 1, 18, 23, 35, 2, 39, 55, 2,168, 40, 60,157,124, 53, 15, 5,182,254,253,242, 1, 18,205, 22, 0, 2, 0,233, 3,193, 3,225, + 5,182, 0, 6, 0, 13, 0, 74, 64, 50, 22, 6, 38, 6,230, 6,246, 6, 4, 6,152, 4,153, 47, 1,127, 1, 2, 1, 1, 22, 13, + 38, 13,230, 13,246, 13, 4, 13,152, 11,153, 0, 8,224, 8,240, 8, 3, 8, 8, 15, 14, 13, 6,157, 10, 3,169, 0, 63, 51,237, + 50, 17, 18, 1, 57, 47, 93,237,225, 93, 51, 47, 93,237,225, 93, 49, 48, 1, 39, 54, 19, 51, 6, 7, 33, 39, 54, 19, 51, 6, 7, + 2,162, 15, 54,123,157, 62, 38,253,123, 15, 54,123,157, 62, 38, 3,193, 22,206, 1, 17,255,246, 22,206, 1, 17,255,246, 0, 2, + 0,233, 3,193, 3,225, 5,182, 0, 6, 0, 13, 0, 92, 64, 65, 25, 13, 41, 13,233, 13,249, 13, 4, 13,152, 8,153, 47, 11,127, + 11, 2, 11, 11, 4, 25, 6, 41, 6,233, 6,249, 6, 4, 6,152, 1,153,224, 4,240, 4, 2,191, 4,207, 4, 2, 0, 4, 64, 4, + 80, 4,112, 4,128, 4, 5, 4, 4, 15, 14, 10, 3,157, 13, 6,169, 0, 63, 51,237, 50, 17, 18, 1, 57, 47, 93, 93, 93,253,225, + 93, 17, 51, 47, 93,253,225, 93, 49, 48, 1, 23, 6, 3, 35, 18, 55, 33, 23, 6, 3, 35, 18, 55, 2, 41, 14, 55,121,158, 65, 36, + 2,133, 14, 55,121,158, 65, 36, 5,182, 22,213,254,246, 1, 10,235, 22,213,254,246, 1, 10,235, 0, 2, 0,244,254,248, 3,215, + 0,238, 0, 6, 0, 13, 0, 93, 64, 64, 25, 13, 41, 13, 2, 13,152, 8,153, 63, 11, 1, 11, 11, 4, 25, 6, 41, 6, 2, 6,152, + 1,153,224, 4,240, 4, 2,191, 4,207, 4, 2, 0, 4, 64, 4, 80, 4,112, 4,128, 4, 5, 4, 4, 15, 14, 10, 3,158, 13,208, + 6, 1, 31, 6, 47, 6, 63, 6, 3, 6, 0, 47, 93, 93, 51,237, 50, 17, 18, 1, 57, 47, 93, 93, 93,253,225, 93, 17, 51, 47, 93, +253,225, 93, 49, 48, 37, 23, 6, 3, 35, 18, 55, 33, 23, 6, 3, 35, 18, 55, 2, 31, 14, 55,121,137, 71, 29, 2,113, 14, 51,125, +137, 71, 29,238, 23,213,254,246, 1, 36,210, 23,197,254,230, 1, 36,210, 0, 1, 0,240, 0, 0, 3,221, 6, 20, 0, 11, 0, 47, + 64, 25, 9, 0, 2,190, 8, 5,159, 3,175, 3, 2, 3, 3, 12, 13, 0, 5,191, 11, 6,254, 8, 0, 2, 21, 0, 63, 63,246, 50, +225, 50, 17, 18, 1, 57, 47, 93, 51, 51,225, 50, 50, 49, 48, 1, 37, 19, 35, 19, 5, 53, 5, 3, 51, 3, 37, 3,221,254,180, 56, +217, 55,254,201, 1, 55, 55,217, 56, 1, 76, 3,221, 31,252, 4, 3,252, 31,180, 30, 1,161,254, 95, 30, 0, 1, 0,229, 0, 0, + 3,231, 6, 20, 0, 21, 0, 55, 64, 28, 19, 16, 2, 4,190, 15, 12, 7, 5, 5, 22, 23, 19, 12,191, 18, 13,194, 15, 0, 8, 1, +191, 7, 2,194, 4, 21, 0, 63,246, 50,225, 50, 63,246, 50,225, 50, 17, 18, 1, 57, 47, 51, 51, 51,225, 50, 50, 50, 49, 48, 1, + 37, 21, 37, 19, 35, 19, 5, 53, 5, 3, 19, 5, 53, 5, 3, 51, 3, 37, 21, 37, 19, 2,156, 1, 75,254,181, 55,217, 55,254,180, + 1, 76, 47, 47,254,180, 1, 76, 55,217, 55, 1, 75,254,181, 47, 1,240, 30,180, 31,254,135, 1,121, 31,180, 30, 1, 34, 1, 19, + 31,180, 30, 1,120,254,136, 30,180, 31,254,237, 0, 1, 1,123, 1,229, 3, 82, 3,242, 0, 9, 0, 42, 64, 28, 16, 8, 80, 8, + 96, 8,144, 8,160, 8,224, 8, 6, 8, 95, 2,111, 2,175, 2, 3, 64, 2, 1, 2, 11, 0, 5, 0, 47,205, 1, 16,222, 93, 93, +205, 93, 49, 48, 1, 50, 17, 20, 6, 35, 34, 38, 53, 16, 2,102,236,127,109,111,124, 3,242,254,250,128,135,134,129, 1, 6, 0, + 0, 3, 0, 78,255,227, 4,127, 0,250, 0, 7, 0, 15, 0, 23, 0, 95, 64, 61, 52, 18, 1, 37, 18, 1, 6, 18, 22, 18, 2, 18, +150, 22, 22, 14, 52, 2, 1, 37, 2, 1, 6, 2, 22, 2, 2, 2,150, 6, 6, 52, 10, 1, 37, 10, 1, 6, 10, 22, 10, 2, 10,150, +224, 14,240, 14, 2, 14, 14, 24, 25, 16, 0, 8,155, 20, 4, 12,168, 0, 63, 51, 51,225, 50, 50, 17, 18, 1, 57, 47, 93,225, 93, + 93, 93, 51, 47,225, 93, 93, 93, 17, 51, 47,225, 93, 93, 93, 49, 48, 55, 50, 21, 20, 35, 34, 53, 52, 33, 50, 21, 20, 35, 34, 53, + 52, 33, 50, 21, 20, 35, 34, 53, 52,205,127,127,127, 2, 24,127,127,127, 2, 25,127,127,127,250,139,140,140,139,139,140,140,139, +139,140,140,139, 0, 7, 0, 4, 0, 0, 4,184, 5,201, 0, 9, 0, 21, 0, 25, 0, 35, 0, 47, 0, 57, 0, 69, 0,180, 64,118, + 67,180, 0, 51, 16, 51, 2, 51, 56, 45,180, 0, 29, 16, 29, 2, 29, 39,180, 25, 22,144, 34,160, 34, 2,111, 34,127, 34,143, 34, + 3,143, 22,159, 22,175, 22,207, 22, 4, 34, 22, 34, 22, 3, 61,180, 15, 56, 1, 56, 71, 23, 24, 24, 3, 13,180, 15, 8, 31, 8, + 2, 8, 19,180, 3, 58, 36,182, 26, 64, 42,182, 53, 31, 26, 22, 25, 24, 23,112, 25,128, 25,192, 25,224, 25,240, 25, 5,175, 23, +191, 23,239, 23,255, 23, 4, 25, 23, 25, 23, 5, 48, 26, 25, 10,182, 0, 16,182, 5, 7, 0, 63,225,212,225, 63, 51, 18, 57, 57, + 47, 47, 93, 93, 17, 51, 17, 51, 16,212, 50,225, 50, 16,225, 50, 1, 47,225,212, 93,225, 17, 51, 47, 51, 16,222, 93,225, 18, 57, + 57, 47, 47, 93, 93, 93, 17, 51,225,212, 93,225, 16,212, 93,225, 49, 48, 1, 34, 38, 53, 16, 51, 50, 22, 21, 16, 39, 50, 54, 53, + 52, 38, 35, 34, 6, 21, 20, 22, 5, 1, 39, 1, 1, 34, 38, 53, 16, 51, 50, 22, 21, 16, 39, 50, 54, 53, 52, 38, 35, 34, 6, 21, + 20, 22, 5, 34, 38, 53, 16, 51, 50, 22, 21, 16, 39, 50, 54, 53, 52, 38, 35, 34, 6, 21, 20, 22, 1, 4,114,126,244,113,127,242, + 63, 42, 47, 58, 59, 47, 43, 2, 32,253, 70, 41, 2,186,254,244,114,125,243,113,127,242, 63, 42, 47, 58, 59, 47, 43, 2, 80,115, +125,244,112,127,241, 63, 41, 44, 60, 60, 47, 44, 3, 92,163,148, 1, 54,161,149,254,201,107,100,104,116, 85, 89,112,104,100,123, +254,225, 98, 1, 33,252, 80,163,148, 1, 54,161,149,254,201,106,101,104,116, 85, 89,112,104,101,106,163,148, 1, 54,162,148,254, +201,106,101,104,114, 87, 88,113,104,101,255,255, 1,240, 3,166, 2,221, 5,182, 2, 6, 0, 10, 0, 0,255,255, 1, 29, 3,166, + 3,176, 5,182, 2, 6, 0, 5, 0, 0, 0, 1, 1,145, 0,115, 3, 59, 3,199, 0, 6, 0, 63, 64, 38, 3,235, 0,236, 4,239, + 2,255, 2, 2,192, 2, 1,159, 2,175, 2, 2,112, 2, 1, 79, 2, 95, 2, 2, 2, 8, 64, 6, 5,238, 1,238, 32, 0, 3,239, + 0, 25, 63, 51, 26,237,237, 51, 1, 26, 24, 16,222, 93, 93, 93, 93, 93, 50,253,225, 49, 48, 1, 1, 23, 3, 19, 7, 1, 1,145, + 1, 54,116,237,237,116,254,202, 2, 41, 1,158, 78,254,164,254,164, 78, 1,155, 0, 1, 1,145, 0,115, 3, 59, 3,199, 0, 6, + 0, 37, 64, 17, 2, 4,236, 3,235, 0, 8, 64, 6, 5,238, 1,238, 32, 0, 3,239, 0, 25, 63, 51, 26,237,237, 51, 1, 26, 24, + 16,222,225,237, 50, 49, 48, 1, 1, 39, 19, 3, 55, 1, 3, 59,254,203,117,238,238,117, 1, 53, 2, 14,254,101, 78, 1, 92, 1, + 92, 78,254, 98,255,255, 0,255,255,227, 3,204, 5,182, 2, 39, 0, 4, 0,231, 0, 0, 1, 7, 0, 4,255, 24, 0, 0, 0, 32, + 64, 21, 3, 2,208, 22, 1,192, 22, 1,176, 22, 1, 64, 22, 1, 48, 22, 1, 32, 22, 1, 22, 17, 93, 93, 93, 93, 93, 93, 53, 53, + 0, 1, 0,170, 0, 0, 4, 33, 5,182, 0, 3, 0, 32, 64, 15, 3, 0, 0, 5, 1, 0, 2, 1, 2, 2, 4, 3, 6, 1, 24, 0, + 63, 63, 17, 1, 51, 47, 93, 51, 17, 51, 47, 50, 49, 48, 1, 1, 35, 1, 4, 33,253, 39,158, 2,217, 5,182,250, 74, 5,182, 0, + 0, 1, 1, 61, 3, 29, 3,143, 5,199, 0, 18, 0, 60, 64, 40, 0,224, 47, 18, 63, 18, 2, 18, 18, 11, 7,224, 16, 8, 32, 8, + 48, 8,128, 8,144, 8,160, 8,224, 8,240, 8, 8, 8, 11, 3,230, 14,222, 9,220, 7, 0,255, 0, 63, 50, 63, 63,225, 50, 1, + 47, 93,225, 50, 51, 47, 93,225, 49, 48, 1, 17, 52, 35, 34, 6, 21, 17, 35, 17, 51, 23, 51, 54, 51, 50, 22, 21, 17, 2,252,127, +100, 72,148,125, 17, 8, 68,139,110,127, 3, 29, 1,157,150,106,119,254,174, 2,153,104,121,130,120,254, 80, 0, 0, 1, 0,129, + 0, 0, 4, 33, 5,182, 0, 17, 0, 96, 64, 58, 2, 4, 16, 16, 5,159, 11,175, 11, 2, 11, 19, 14, 0, 4,110, 9, 7,128, 5, +240, 5, 2, 5, 9, 0,117, 3, 6, 3, 17,116, 14, 47, 14, 95, 14,239, 14,255, 14, 4, 14, 64, 16, 21, 72, 3, 14, 3, 14, 4, + 13,116, 10, 3, 4, 18, 0, 63, 63,225, 18, 57, 57, 47, 47, 43, 93, 16,225, 17, 51, 16,225, 50, 1, 47, 93,198, 51,225, 50, 50, + 16,206, 93, 17, 57, 47, 18, 57, 49, 48, 1, 33, 21, 33, 17, 35, 17, 35, 53, 51, 17, 33, 21, 33, 17, 33, 21, 33, 1,227, 1, 37, +254,219,178,176,176, 2,240,253,194, 2, 23,253,233, 1,143,137,254,250, 1, 6,137, 4, 39,164,253,252,164, 0, 0, 1, 0,119, + 0, 0, 4, 86, 5,201, 0, 35, 0,133, 64, 81, 9, 6, 14,111, 30, 27, 23, 12, 7, 23, 7, 23, 7, 19, 0, 18, 37, 29, 24, 16, + 0, 19, 1, 19, 9, 28,117, 29, 6, 29, 10, 25,117, 24, 14, 24, 15, 29, 31, 29, 63, 29, 79, 29,127, 29,143, 29,175, 29,191, 29, +207, 29, 9,134, 24,150, 24, 2,119, 24, 1,111, 24, 1, 29, 24, 29, 24, 16, 3,115, 1, 34, 7, 20, 16,116, 19, 24, 0, 63,225, + 50, 63, 51,225, 18, 57, 57, 47, 47, 93, 93, 93, 93, 17, 51, 16,225, 50, 17, 51, 16,225, 50, 1, 47, 93, 51, 51, 51, 16,206, 50, + 17, 57, 57, 47, 47, 17, 51, 17, 51, 51,225, 50, 50, 49, 48, 1, 7, 38, 35, 34, 21, 21, 33, 21, 33, 21, 33, 21, 33, 21, 20, 7, + 33, 21, 33, 53, 54, 53, 53, 35, 53, 51, 53, 35, 53, 51, 53, 52, 54, 51, 50, 4, 39, 66,141,131,223, 1,121,254,135, 1,121,254, +135,140, 2,236,252, 33,200,198,198,198,198,217,181,192, 5,121,144, 72,246,192,137,158,137, 19,196, 78,166,154, 49,235, 21,137, +158,137,221,168,201, 0, 0, 3, 0, 82,255,236, 4,166, 5,182, 0, 9, 0, 16, 0, 36, 0,122, 64, 75, 6, 90, 13, 26, 24, 22, +112, 33, 29, 33, 33, 64, 16, 19, 72, 32, 13, 48, 13, 2, 13, 33, 13, 33, 2, 31, 31, 17, 64, 9, 14, 72, 17, 38, 10, 1, 90, 31, + 2, 47, 2, 63, 2, 3, 2, 35,117, 17, 20, 25, 23, 32,117, 25, 26, 28, 3, 29, 29, 0,117, 15, 10, 31, 10, 2, 10, 10, 2, 16, + 96, 3, 6, 2, 24, 0, 63, 63,225, 18, 57, 47, 93,225, 51, 47, 23, 51,225, 50, 63, 51,225, 1, 47, 93,225, 50, 16,206, 43, 50, + 47, 17, 57, 57, 47, 47, 93, 43, 17, 51, 16,225, 50, 50, 16,225, 49, 48, 19, 17, 35, 17, 51, 32, 17, 20, 6, 35, 39, 51, 32, 17, + 16, 33, 35, 1, 21, 6, 35, 34, 17, 17, 35, 53, 55, 55, 51, 21, 51, 21, 35, 17, 20, 51, 50,240,158,205, 1,194,230,226, 41, 41, + 1, 36,254,244, 65, 3,182, 64,102,221,115,115, 65, 86,209,209,113, 62, 2, 57,253,199, 5,182,254, 84,221,244,146, 1, 53, 1, + 35,251,102,125, 32, 1, 26, 1,100, 70, 51,215,211,125,254,164,153, 0, 0, 1, 0, 96,255,236, 4,106, 5,203, 0, 39, 0,106, + 64, 20, 11, 2, 2, 7, 34, 17, 41, 27, 22, 22, 12, 0, 7, 90, 29, 25, 21, 24, 9, 23,184, 1, 7,180, 22, 12, 22, 3, 27,184, + 1, 7, 64, 29, 28, 0, 28, 15, 28, 31, 28, 47, 28, 95, 28,159, 28,223, 28, 6, 22, 28, 22, 28, 14, 37, 95, 32, 4, 14, 95, 19, + 19, 0, 63,225, 63,225, 18, 57, 57, 47, 47, 93, 17, 51, 16,225, 50, 17, 51, 16,225, 50, 1, 47, 51, 51, 51,225, 50, 50, 51, 47, + 51, 16,206, 50, 17, 57, 17, 51, 49, 48, 1, 33, 21, 33, 20, 7, 7, 21, 20, 23, 33, 21, 33, 18, 33, 50, 55, 21, 6, 35, 32, 3, + 35, 53, 51, 39, 55, 35, 53, 51, 18, 0, 51, 50, 23, 7, 38, 35, 34, 6, 1,186, 1,176,254, 66, 1, 1, 2, 1,129,254,145, 73, + 1, 40,136,132,122,160,254, 65, 94,164,148, 2, 2,148,160, 39, 1, 25,219,191,144, 79,122,120,136,194, 3,166,137, 15, 14, 25, + 62, 20, 22,137,254,153, 58,162, 59, 2, 10,137, 38,120,137, 1, 6, 1, 31, 92,146, 74,199, 0, 0, 4, 0, 8,255,248, 4,199, + 5,193, 0, 19, 0, 23, 0, 35, 0, 43, 0,164,185, 0, 34,255,224,179, 9, 13, 72, 32,184,255,224, 64, 30, 9, 13, 72, 28, 32, + 9, 13, 72, 26, 32, 9, 13, 72,102, 42,150, 42,166, 42, 3, 42,180, 27,181, 33, 21, 22, 23, 20, 22,184,255,192, 64, 69, 21, 24, + 72, 20, 64, 21, 24, 72, 22, 20, 22, 20, 15,105, 38,153, 38,169, 38, 3, 38,180, 33, 45, 0, 16, 9, 32, 9, 80, 9,144, 9,160, + 9, 5, 9,102, 5,150, 5,166, 5, 3, 5,180, 15, 40,182, 30,183, 36,182, 24, 25, 23, 6, 21, 24, 9, 7,182, 12,183, 3,182, + 1, 18, 7, 0, 63, 51,225,244,225, 51, 63, 63, 63,225,244,225, 1, 47,225, 93,196, 93, 50, 16,214,225, 93, 18, 57, 57, 47, 47, + 43, 43, 17, 51, 17, 51, 16,244,225, 93, 49, 48, 43, 43, 43, 43, 1, 7, 38, 35, 34, 21, 20, 51, 50, 55, 21, 6, 35, 34, 38, 53, + 52, 54, 51, 50, 5, 1, 35, 1, 19, 34, 38, 53, 52, 54, 51, 50, 22, 21, 20, 6, 39, 50, 53, 52, 35, 34, 21, 20, 2, 20, 32, 82, + 68,198,194,103, 73, 74,108,156,176,180,162, 99, 2, 81,253, 39,157, 2,217, 33,132,170,166,140,131,170,164,139,155,155,158, 5, +156,107, 33,234,229, 33,107, 37,175,163,171,176, 11,250, 74, 5,182,250, 66,185,157,161,181,187,155,158,184,108,234,231,231,234, + 0, 2, 0,227,255,236, 3,231, 5,203, 0, 25, 0, 33, 0,106, 64, 62, 26, 22,110, 6, 12, 6, 9, 9, 6, 28,112, 19, 0,112, + 1, 63, 6, 1, 0, 6, 1, 63, 19,159, 19,175, 19,191, 19, 4, 32, 1, 1, 6, 19, 1, 1, 19, 6, 3, 34, 35, 9, 7, 21,118, + 12, 10, 26, 26, 24, 30,118, 16, 6, 24,117, 3, 1, 1, 3, 25, 0, 63, 51, 47, 16,225, 63,225, 18, 57, 47, 51, 51,225, 50, 50, + 17, 18, 1, 23, 57, 47, 47, 47, 93, 93, 93, 93, 16,225, 16,225, 17, 51, 47, 17, 51, 16,225, 50, 49, 48, 1, 51, 2, 33, 34, 38, + 53, 53, 6, 7, 53, 54, 55, 17, 52, 54, 51, 50, 22, 21, 16, 5, 17, 20, 51, 50, 1, 54, 17, 52, 35, 34, 6, 21, 3,117,114, 18, +254,244,139,154, 86,107, 72,121,137,133,110,126,254,172,145,144,254,223,207,103, 53, 51, 1, 76,254,160,183,173,231, 31, 26,121, + 19, 40, 1,238,140,159,165,136,254,157,186,254,211,221, 2,139,121, 1, 29,188, 81,107, 0, 4, 0, 25, 0, 0, 4,184, 5,182, + 0, 15, 0, 26, 0, 38, 0, 42, 0,240, 64, 21, 20, 25, 36, 25, 2, 20, 23, 36, 23, 2, 27, 20, 43, 20, 2, 27, 18, 43, 18, 2, + 9,184,255,208, 64, 40, 18, 21, 72,116, 9,132, 9, 2, 86, 9,102, 9, 2, 55, 9, 71, 9, 2, 1, 48, 18, 21, 72,123, 1,139, + 1, 2, 89, 1,105, 1, 2, 56, 1, 72, 1, 2, 39, 36,184, 1, 3,179, 19, 11, 1, 14,184, 1, 3, 64, 24, 15,111, 19,159, 19, +175, 19,207, 19,223, 19, 5, 19, 15, 19, 15, 7, 42, 64, 21, 24, 72, 42, 30,184, 1, 3,180, 24, 44, 9, 3, 6,184, 1, 3, 64, + 49, 7, 27,182, 16, 33,182, 21, 15, 16, 31, 16, 2, 16, 21, 16, 21, 14, 75, 2, 91, 2, 2, 2, 64, 9, 12, 72, 2, 8, 3,133, + 40, 1, 86, 40,102, 40,118, 40, 3, 40, 97, 39, 68, 10, 84, 10, 2, 10,184,255,192,182, 9, 12, 72, 10, 1, 7, 18, 0, 63, 51, + 51, 43, 93, 51,224, 93, 93, 63, 51, 43, 93, 51, 57, 57, 47, 47, 93, 16,225, 16,225, 1, 47,225, 50, 50, 16,214,225,196, 43, 18, + 57, 57, 47, 47, 93, 16,225, 50, 50, 16,225,196, 49, 48, 93, 93, 93, 43, 93, 93, 93, 43, 93, 93, 93, 93, 33, 35, 1, 35, 22, 21, + 17, 35, 17, 51, 1, 51, 2, 53, 17, 51, 1, 34, 38, 53, 16, 51, 50, 22, 21, 20, 6, 39, 50, 54, 53, 52, 38, 35, 34, 6, 21, 20, + 22, 3, 53, 33, 21, 2,137,174,254,187, 9, 19,135,176, 1, 67, 6, 14,133, 1, 49,114,135,253,114,136,132,120, 63, 48, 48, 63, + 64, 48, 48,147, 1,158, 4,145,253,164,253, 16, 5,182,251,117, 1, 47,100, 2,248,251, 92,187,162, 1, 90,183,163,168,181,121, +115,113,114,109,110,113,112,116,254,117,147,147, 0, 2, 0, 0, 2,229, 4,156, 5,182, 0, 7, 0, 25, 0,107, 64, 63, 24, 17, + 20,196, 19, 15, 9, 12,196, 13,191, 13, 1, 6, 13, 6, 13, 1, 31, 19, 1, 19, 27,182, 3,198, 3, 2,155, 3,171, 3, 2,122, + 3,138, 3, 2, 3, 0,196, 0, 1, 1, 1, 7, 3,200, 4, 16, 9, 24, 3, 4, 20, 13, 8, 1, 1, 17, 14, 4, 3, 0, 63, 51, + 51, 51, 47, 51, 51, 51, 18, 23, 57, 16,225, 50, 1, 47, 93,225, 51, 93, 93, 93, 16,206, 93, 17, 57, 57, 47, 47, 93, 16,225, 50, + 50, 16,225, 50, 50, 49, 48, 1, 35, 17, 35, 53, 33, 21, 35, 1, 3, 35, 23, 17, 35, 17, 51, 19, 19, 51, 17, 35, 17, 52, 55, 35, + 3, 1, 47,127,176, 1,225,178, 1,238,146, 12, 10,123,187,139,149,179,127, 10, 12,154, 2,229, 2,101,108,108,253,155, 2, 37, +180,254,143, 2,209,253,234, 2, 22,253, 47, 1, 86, 87,120,253,219, 0,255,255, 0, 74, 0, 0, 4,135, 5,205, 2, 6, 1,118, + 0, 0, 0, 2, 0, 82,255,221, 4,119, 4, 72, 0, 19, 0, 26, 0, 60, 64, 26, 20, 7, 0, 28, 26, 1, 31, 13, 47, 13, 63, 13, + 3, 13, 1,119, 26, 26, 4, 23,119, 16, 15, 4,119, 6,184,255,224,181, 9, 12, 72, 6, 10, 25, 0, 63, 51, 43,225, 63,225, 18, + 57, 47,225, 1, 47, 93, 51, 50, 16,206, 50, 50, 49, 48, 1, 33, 17, 22, 51, 50, 55, 23, 6, 6, 35, 34, 0, 53, 16, 0, 51, 50, + 0, 21, 39, 17, 38, 35, 34, 7, 17, 4,119,252,196,123,174,254,142, 71, 97,219,151,240,254,222, 1, 51,223,231, 1, 44,232,121, +180,171,124, 2, 18,254,156,123,234, 41,156,123, 1, 68,241, 1, 5, 1, 49,254,202,251, 81, 1, 21,119,117,254,233, 0,255,255, + 0, 18,255,246, 4,182, 5,182, 2, 39, 0,123,254,163, 0, 0, 0, 38, 2, 23,200, 0, 1, 7, 2, 64, 1, 86,253,103, 0, 84, + 64, 55, 4, 3, 2, 20, 24, 4, 3, 2,240, 20, 1,128, 20, 1, 16, 20, 1, 0, 20, 1, 20, 1,171, 13, 1,148, 13, 1,100, 13, + 1, 84, 13, 1, 68, 13, 1, 13, 0,240, 0, 1,224, 0, 1,176, 0, 1, 80, 0, 1, 64, 0, 1, 0, 17, 93, 93, 93, 93, 93, 53, + 17, 93, 93, 93, 93, 93, 53, 17, 93, 93, 93, 93, 53, 53, 53, 0, 63, 53, 53, 53,255,255, 0, 11,255,246, 4,202, 5,197, 2, 39, + 0,117,254,181, 0, 0, 0, 38, 2, 23,239, 0, 1, 7, 2, 64, 1,106,253,103, 0, 76, 64, 49, 4, 3, 2, 40, 24, 4, 3, 2, +240, 40, 1,176, 40, 1,128, 40, 1, 16, 40, 1, 0, 40, 1, 40, 1,244, 33, 1,212, 33, 1,196, 33, 1,180, 33, 1,148, 33, 1, + 33, 0,192, 0, 1,127, 0, 1, 0, 17, 93, 93, 53, 17, 93, 93, 93, 93, 93, 53, 17, 93, 93, 93, 93, 93, 53, 53, 53, 0, 63, 53, + 53, 53,255,255, 0, 24,255,246, 4,202, 5,182, 2, 39, 2, 61,254,200, 0, 0, 0, 38, 2, 23,239, 0, 1, 7, 2, 64, 1,106, +253,103, 0, 80, 64, 52, 4, 3, 2, 34, 24, 4, 3, 2,240, 34, 1,176, 34, 1,128, 34, 1, 16, 34, 1, 0, 34, 1, 34, 1,244, + 27, 1,212, 27, 1,196, 27, 1,180, 27, 1,148, 27, 1, 27, 0,224, 0, 1,208, 0, 1,192, 0, 1, 0, 17, 93, 93, 93, 53, 17, + 93, 93, 93, 93, 93, 53, 17, 93, 93, 93, 93, 93, 53, 53, 53, 0, 63, 53, 53, 53,255,255, 0, 28,255,246, 4,202, 5,182, 2, 39, + 2, 63,254,173, 0, 0, 0, 38, 2, 23,175, 0, 1, 7, 2, 64, 1,106,253,103, 0, 80, 64, 52, 4, 3, 2, 16, 24, 4, 3, 2, +240, 16, 1,176, 16, 1,128, 16, 1, 16, 16, 1, 0, 16, 1, 16, 1,171, 9, 1,107, 9, 1, 91, 9, 1, 75, 9, 1, 52, 9, 1, + 36, 9, 1, 9, 0,192, 0, 1,127, 0, 1, 0, 17, 93, 93, 53, 17, 93, 93, 93, 93, 93, 93, 53, 17, 93, 93, 93, 93, 93, 53, 53, + 53, 0, 63, 53, 53, 53, 0, 2, 0,121,255,236, 4, 82, 5,197, 0, 20, 0, 31, 0, 57, 64, 30, 6, 6, 16, 21, 1, 70, 11, 33, + 27, 72, 0, 16, 1, 16, 21, 0, 24, 78, 19, 19, 9, 29, 80, 14, 22, 6, 4, 80, 9, 4, 0, 63,225, 51, 63,225, 17, 57, 47,225, + 50, 50, 1, 47, 93,225, 16,222,225, 50, 17, 57, 47, 49, 48, 1, 55, 54, 38, 35, 34, 7, 53, 54, 51, 32, 17, 16, 0, 33, 32, 17, + 52, 0, 51, 50, 19, 38, 38, 35, 34, 2, 21, 20, 51, 50, 18, 3,156, 2, 9,133,153,131,127,134,149, 1,176,254,175,254,226,254, +150, 1, 20,244,184, 66, 22,127, 76,160,197,187,138,219, 3, 94, 40,181,242, 84,174, 62,253,225,254,123,253,203, 1,139,249, 1, +130,254,182, 85,105,254,192,181,236, 1, 50, 0, 0, 2, 0, 74, 0, 0, 4,131, 5,182, 0, 5, 0, 12, 0,200,181, 12, 16, 15, + 19, 72, 11,184,255,240,182, 15, 19, 72,183, 2, 1, 2,184,255,248, 64, 68, 13, 17, 72, 38, 2, 1, 23, 2, 1, 6, 2, 1,184, + 1, 1, 1, 8, 13, 17, 72, 41, 1, 1, 24, 1, 1, 9, 1, 1,231, 2, 1, 2,232, 1, 1, 1, 8, 8, 0, 12, 16, 20, 24, 72, + 72, 12, 88, 12, 2, 42, 12, 1, 9, 12, 25, 12, 2, 12, 95, 3,111, 3, 2, 3, 3, 14, 11,184,255,240, 64, 54, 20, 24, 72, 71, + 11, 87, 11, 2, 37, 11, 1, 6, 11, 22, 11, 2, 11, 80, 0, 96, 0,224, 0,240, 0, 4, 0, 0, 3, 11, 95, 5, 18, 8, 16, 17, + 24, 72, 91, 8, 1, 41, 8, 57, 8, 73, 8, 3, 29, 8, 1, 8, 1, 3, 0, 63, 51, 93, 93, 93, 43, 63,225, 57, 57, 1, 47, 93, + 51, 93, 93, 93, 43, 17, 51, 47, 93, 51, 93, 93, 93, 43, 18, 57, 61, 47, 51, 93, 51, 93, 49, 48, 93, 93, 93, 43, 93, 93, 93, 93, + 43, 93, 43, 43, 55, 1, 51, 1, 21, 33, 1, 38, 39, 6, 7, 3, 33, 74, 1,190,187, 1,192,251,199, 2,119, 59, 34, 45, 43,250, + 2,166,113, 5, 69,250,185,111, 3,154,182,158,200,134,253, 4, 0, 1, 0,156,254, 20, 4, 88, 5,182, 0, 7, 0, 49, 64, 15, + 0, 90,224, 7,240, 7, 2, 7, 9, 3, 90, 0, 4, 1, 4,184,255,192, 64, 11, 20, 24, 72, 4, 2, 95, 5, 3, 4, 0, 27, 0, + 63, 50, 63,225, 1, 47, 43, 93,225, 16,222, 93,225, 49, 48, 1, 17, 33, 17, 35, 17, 33, 17, 3,158,253,184,186, 3,188,254, 20, + 6,252,249, 4, 7,162,248, 94, 0, 1, 0, 74,254, 20, 4,145, 5,182, 0, 11, 0,122, 64, 82, 55, 9,215, 9,231, 9,247, 9, + 4, 38, 9, 1, 7, 9, 23, 9, 2, 55, 7,215, 7,231, 7,247, 7, 4, 38, 7, 1, 7, 7, 23, 7, 2, 56, 2,216, 2,232, 2, +248, 2, 4, 25, 2, 41, 2, 2, 8, 2, 1, 8, 2, 2, 0, 6, 10, 13, 7, 3, 3, 9, 0, 64, 10, 13, 72, 0, 3, 7, 95, 4, + 8, 2, 2, 4, 3, 1, 9, 95, 0, 27, 0, 63,225, 57, 63, 57, 61, 47, 51, 16,225, 57, 1, 24, 47, 43, 51, 51, 17, 51, 16,206, + 50, 17, 57, 47, 51, 49, 48, 93, 93, 93, 93, 93, 93, 93, 93, 93, 19, 53, 1, 1, 53, 33, 21, 33, 1, 1, 33, 21, 74, 2, 71,253, +201, 3,246,253, 14, 2, 17,253,213, 3, 77,254, 20,115, 3,146, 3, 43,114,164,253, 9,252,157,164, 0, 0, 1, 0,152, 2,135, + 4, 51, 3, 29, 0, 3, 0, 26, 64, 12, 2, 5, 0, 1, 1, 1, 1, 4, 0,173, 1,179, 0, 63,225, 17, 1, 51, 47, 93, 16,206, + 49, 48, 19, 53, 33, 21,152, 3,155, 2,135,150,150, 0, 0, 1, 0, 23,255,242, 4,182, 6,160, 0, 8, 0, 46, 64, 21, 1, 0, + 6, 6, 7, 8, 8, 10, 5, 2, 2, 3, 3,174, 4, 4, 15, 7, 1, 7, 0, 0, 47, 47, 93, 57, 47,225, 1, 47, 50, 47, 51, 17, + 51, 47, 51, 57, 25, 47, 51, 51, 49, 48, 5, 35, 1, 35, 53, 33, 19, 1, 51, 2,100,133,254,236,180, 1, 40,230, 2, 0,145, 14, + 3, 10,143,253,105, 5,172, 0, 0, 3, 0, 70, 1,145, 4,133, 4, 14, 0, 19, 0, 29, 0, 39, 0, 95,185, 0, 16,255,224,179, + 9, 12, 72, 14,184,255,224, 64, 50, 9, 12, 72, 6, 32, 9, 12, 72, 4, 32, 9, 12, 72, 30, 10, 0, 20, 4, 5, 35,171, 15, 15, + 1, 15, 41, 25,171, 5, 38, 22,174, 10, 0, 2, 12, 8, 8, 32, 28,174, 18, 63, 2,143, 2,223, 2, 3, 2, 0, 47, 93, 51,225, + 50, 51, 47, 51, 18, 57, 57,225, 50, 1, 47,225, 16,222, 93,225, 17, 23, 57, 49, 48, 43, 43, 43, 43, 1, 6, 35, 34, 38, 53, 52, + 54, 51, 50, 23, 54, 51, 50, 22, 21, 20, 6, 35, 34, 3, 38, 35, 34, 6, 21, 20, 22, 51, 50, 55, 22, 51, 50, 54, 53, 52, 38, 35, + 34, 2, 98,118,154,119,149,149,119,166,108,116,165,118,146,151,113,171,181, 82,109, 65, 80, 80, 67,104,228, 86,107, 65, 80, 84, + 64,103, 2,109,213,174,141,134,181,219,213,172,143,131,185, 1, 66,184,107, 79, 81,101,178,185,109, 78, 79,103, 0, 1, 0,236, +254, 20, 3,225, 6, 20, 0, 20, 0, 41, 64, 21, 1, 6,170, 12, 16, 16, 1, 16, 16, 21, 22, 3,174, 1, 19, 0, 14,174, 12, 9, + 27, 0, 63, 51,225, 63, 51,225, 17, 18, 1, 57, 47, 93, 51,225, 50, 49, 48, 1, 21, 38, 35, 34, 21, 17, 20, 6, 35, 34, 39, 53, + 22, 51, 50, 53, 17, 16, 33, 50, 3,225, 56, 58,172,178,160, 78, 55, 60, 56,180, 1, 74, 88, 6, 2,147, 26,233,250,215,174,181, + 19,147, 24,233, 5, 39, 1, 98, 0, 2, 0,152, 1,123, 4, 51, 4, 37, 0, 17, 0, 35, 0, 72, 64, 41, 28, 9, 37, 18, 0, 0, + 1, 0, 0, 36, 34,173, 27, 21,178, 30, 16,173, 9, 3,178, 7,173, 0, 63, 12, 1, 12, 12, 25,173, 18,223, 30, 1, 80, 30,160, + 30, 2, 30, 0, 47, 93, 93, 51,225, 51, 47, 93, 51,225,253, 50,225, 16,253, 50,225, 17, 1, 51, 47, 93, 51, 16,206, 50, 49, 48, + 19, 53, 54, 51, 50, 23, 22, 51, 50, 55, 21, 6, 35, 34, 39, 38, 35, 34, 3, 53, 54, 51, 50, 23, 22, 51, 50, 55, 21, 6, 35, 34, + 39, 38, 35, 34,152, 98,149, 98,150,127, 74,109,118, 97,151,100,147,128, 73,112,115, 99,148,100,148,130, 71,108,119, 99,149,100, +147,131, 70,108, 3, 20,162,109, 64, 55,121,162,108, 63, 55,253,238,162,108, 63, 56,121,162,108, 63, 56, 0, 1, 0,152, 0,164, + 4, 51, 5, 4, 0, 19, 0,110, 64, 65, 7, 4, 3, 0, 4, 19, 8, 8, 10, 13, 14, 17, 4, 18, 9, 18, 19, 9, 19, 9, 19, 6, + 15, 11, 21, 2, 0, 6, 1, 6, 6, 20, 15, 2,173, 16,112, 1, 1, 79, 1, 95, 1,111, 1, 3, 0, 1, 1, 1, 1, 12, 5,173, + 11,143, 6, 1, 80, 6, 1, 15, 6, 1, 6, 0, 47, 93, 93, 93, 51,225, 50, 51, 47, 93, 93, 93, 51,225, 50, 17, 1, 51, 47, 93, + 51, 16,206, 50, 17, 57, 57, 47, 47, 17, 51, 17, 18, 23, 57, 51, 17, 18, 23, 57, 49, 48, 1, 35, 53, 33, 19, 33, 53, 33, 19, 23, + 7, 51, 21, 33, 3, 33, 21, 33, 3, 39, 1,143,247, 1, 61,121,254, 74, 1,251,134,137,105,250,254,193,123, 1,186,254, 0,129, +137, 1,186,150, 1, 4,149, 1, 27, 59,224,149,254,252,150,254,234, 57, 0, 2, 0,152, 0, 0, 4, 51, 4,201, 0, 6, 0, 10, + 0,101, 64, 63,103, 6,119, 6,135, 6, 3,104, 4,120, 4,136, 4, 3,118, 5,134, 5, 2, 5, 4, 1, 4, 9, 0, 12, 8, 1, + 1, 11, 2, 1, 5, 5, 3, 6,224, 0, 1,223, 0, 1, 64, 0, 1, 63, 0, 1, 0, 0, 1, 0, 0, 4, 32, 3,192, 3, 2, 15, + 3, 1, 3, 0, 47, 93, 93, 51, 51, 47, 93, 93, 93, 93, 93, 50, 18, 57, 17, 51, 51, 17, 1, 51, 47, 51, 16,206, 50, 50, 17, 18, + 57, 93, 49, 48, 0, 93, 93, 37, 1, 53, 1, 21, 9, 2, 53, 33, 21, 4, 51,252,101, 3,155,253, 53, 2,203,252,101, 3,155,221, + 1,195,102, 1,195,160,254,170,254,170,254,131,150,150, 0, 2, 0,152, 0, 0, 4, 51, 4,201, 0, 6, 0, 10, 0, 99, 64, 62, +104, 2,120, 2,136, 2, 3,103, 0,119, 0,135, 0, 3,121, 1,137, 1, 2, 1, 6, 9, 4, 12, 8, 2, 6, 6, 11, 5, 4, 1, + 1, 3, 0,224, 6, 1,223, 6, 1, 64, 6, 1, 63, 6, 1, 0, 6, 1, 6, 6, 2, 32, 3,192, 3, 2, 15, 3, 1, 3, 0, 47, + 93, 93, 51, 51, 47, 93, 93, 93, 93, 93, 51, 18, 57, 17, 51, 51, 17, 1, 51, 47, 51, 51, 16,206, 50, 17, 57, 93, 49, 48, 0, 93, + 93, 19, 1, 1, 53, 1, 21, 1, 21, 53, 33, 21,152, 2,202,253, 54, 3,155,252,101, 3,155, 1,125, 1, 86, 1, 86,160,254, 61, +102,254, 61,221,150,150, 0, 2, 0,125, 0, 0, 4, 80, 5,195, 0, 5, 0, 9, 0, 68, 64, 31, 2, 1, 9, 9, 5, 4, 7, 7, + 3, 6, 0, 11, 8, 0, 3, 1, 3, 3, 10, 0, 6, 6, 3, 8, 8, 1, 7, 4, 3, 9, 1, 0, 47, 51, 63, 51, 18, 57, 61, 47, + 51, 51, 17, 51, 17, 1, 51, 24, 47, 93, 51, 16,206, 50, 17, 57, 61, 47, 51, 51, 51, 47, 51, 51, 49, 48, 1, 1, 35, 1, 1, 51, + 9, 3, 4, 80,254, 59, 76,254, 62, 1,194, 76, 1, 13,254,206,254,207, 1, 49, 2,225,253, 31, 2,223, 2,228,253, 30, 2, 0, +254, 0,253,254, 0, 3, 0, 49, 0, 0, 4, 43, 6, 31, 0, 21, 0, 30, 0, 34, 0, 82, 64, 43, 29, 32, 71, 31, 13, 0, 0, 3, + 24, 31, 36, 20, 2, 71, 3, 7, 3, 5, 5, 3, 27, 83,175, 22, 1, 22, 22, 11, 4, 1, 79, 33, 7, 20, 15, 16, 80, 14, 11, 1, + 32, 2, 21, 0, 63, 51, 63, 51,225, 63, 51, 51,225, 50, 18, 57, 47, 93,237, 1, 47, 51, 47, 17, 51, 16,225, 50, 16,206, 50, 17, + 57, 47, 57, 16,225, 50, 49, 48, 1, 35, 17, 35, 17, 35, 53, 55, 53, 52, 54, 51, 50, 23, 7, 38, 35, 34, 6, 21, 21, 51, 1, 50, + 21, 20, 6, 35, 34, 53, 52, 19, 35, 17, 51, 2,160,246,182,195,195,153,178, 97,100, 47, 79, 64, 92, 64,246, 1, 33,106, 63, 43, +107,197,183,183, 3,193,252, 63, 3,193, 75, 68, 96,190,177, 37,141, 28,101,114,104, 1,155,114, 58, 57,115,114,250, 27, 4, 74, + 0, 2, 0, 49, 0, 0, 4, 27, 6, 31, 0, 21, 0, 25, 0, 66, 64, 34, 13, 22, 0, 0, 3, 23, 71, 22, 27, 20, 2, 71, 3, 7, + 3, 5, 5, 3, 24, 0, 4, 1, 79, 7, 20, 15, 16, 80, 14, 11, 1, 23, 2, 21, 0, 63, 51, 63, 51,225, 63, 51,225, 50, 63, 1, + 47, 51, 47, 17, 51, 16,225, 50, 16,222,225, 18, 57, 47, 18, 57, 49, 48, 1, 35, 17, 35, 17, 35, 53, 55, 53, 52, 54, 51, 50, 23, + 7, 38, 35, 34, 6, 21, 21, 51, 1, 35, 17, 51, 2,160,246,182,195,195,153,178, 97,100, 47, 79, 64, 92, 64,246, 1,123,183,183, + 3,193,252, 63, 3,193, 75, 68, 96,190,177, 37,141, 28,101,114,104,251,182, 6, 20, 0, 0, 1, 0,231, 4,217, 3,229, 6, 23, + 0, 11, 0, 45, 64, 16, 6,136, 0, 5, 1, 5, 5, 11,136, 0, 0, 13, 5, 0,146, 9,184, 1, 1,181, 15, 2, 95, 2, 2, 2, + 0, 47, 93,225,228, 50, 17, 1, 51, 47,225, 51, 47, 93,225, 49, 48, 1, 2, 33, 34, 38, 39, 51, 22, 22, 51, 50, 55, 3,229, 20, +254,143,195,172, 10,170, 8, 84,119,194, 17, 6, 23,254,194,148,170,102, 85,187, 0, 1, 0,135,254, 20, 3, 86, 4, 74, 0, 15, + 0, 47, 64, 26, 8, 0, 6, 71,144, 11,160, 11, 2, 11, 11, 16, 17, 0, 0, 1, 0, 3, 80, 1, 14, 27, 7, 78, 10, 15, 0, 63, +225, 63, 51,225, 1, 47, 93, 17, 18, 57, 47, 93,225, 17, 57, 49, 48, 19, 53, 22, 51, 50, 54, 53, 17, 37, 53, 33, 17, 20, 6, 35, + 34,135,134,155,117,131,254, 92, 2, 90,226,206,164,254, 55,154, 39,114,101, 4, 57, 21,123,251, 65,180,195, 0, 0, 1, 1,238, + 4,205, 2,223, 6, 20, 0, 9, 0, 22, 64, 9, 9, 9, 4, 4, 11, 8,146, 3, 0, 0, 63,237, 17, 1, 51, 47, 51, 47, 49, 48, + 1, 55, 54, 55, 51, 21, 20, 6, 7, 35, 1,238, 26, 26, 9,180, 84, 61, 96, 4,231,107,116, 78, 20, 14,198, 95, 0, 1, 1,227, +254, 59, 2,233,255,131, 0, 8, 0, 27, 64, 13, 8, 8, 3, 3, 10, 7,146, 15, 2, 31, 2, 2, 2, 0, 47, 93,237, 17, 1, 51, + 47, 51, 47, 49, 48, 1, 54, 55, 51, 21, 20, 6, 7, 35, 1,227, 62, 22,178, 96, 67, 99,254, 86,140,161, 20, 22,204, 82, 0, 1, + 1,227, 4,217, 2,233, 6, 33, 0, 8, 0, 27, 64, 13, 3, 3, 8, 8, 10, 7,146, 15, 2, 95, 2, 2, 2, 0, 47, 93,237, 17, + 1, 51, 47, 51, 47, 49, 48, 1, 6, 7, 35, 53, 52, 54, 55, 51, 2,233, 63, 20,179, 91, 73, 98, 6, 6,153,148, 21, 17,201, 89, + 0, 2, 1, 57, 2, 57, 3,147, 5,199, 0, 9, 0, 17, 0, 34, 64, 18, 12,224, 48, 8, 1, 8, 8, 16,224, 3, 14,230, 5,222, + 10,230, 0,223, 0, 63,225, 63,225, 1, 47,225, 51, 47, 93,225, 49, 48, 1, 34, 38, 53, 16, 33, 50, 22, 21, 16, 37, 50, 17, 16, + 35, 34, 17, 16, 2,100,142,157, 1, 43,149,154,254,209,156,156,151, 2, 57,234,223, 1,197,236,217,254, 55,131, 1, 70, 1, 68, +254,188,254,186, 0, 2, 1, 37, 2,168, 3,127, 5,195, 0, 10, 0, 17, 0, 86, 64, 52, 17, 95, 6,207, 6, 2, 6, 6, 9,104, + 0,120, 0, 2, 0, 32, 11, 14, 72, 0, 2,224, 11, 7, 31, 3,143, 3, 2, 3, 3, 18, 19, 4, 1,228, 17, 6, 14, 7, 11, 9, + 27, 9, 2, 9, 9, 2, 7,222, 2,223, 0, 63, 63, 18, 57, 47, 93, 18, 57, 51, 51,225, 50, 17, 18, 1, 57, 47, 93, 51, 51,225, + 50, 43, 93, 50, 51, 47, 93, 51, 49, 48, 1, 35, 21, 35, 53, 33, 53, 1, 51, 17, 51, 35, 53, 52, 55, 6, 7, 7, 3,127, 84,143, +254,137, 1,121,141, 84,227, 6, 40, 40,156, 3, 86,174,174, 98, 2, 11,254, 4,176, 82, 90, 73, 58,217, 0, 1, 1, 80, 2,145, + 3, 68, 5,182, 0, 24, 0, 92, 64, 57, 14, 15, 15, 11, 12, 64, 16, 24, 72, 10, 12, 10, 12, 0, 5,224, 15, 20, 31, 20, 79, 20, + 95, 20,127, 20,143, 20,159, 20, 7, 20, 20,207, 0, 1,112, 0, 1, 0, 10, 9, 9, 7,229, 17, 17, 11, 3,228, 1, 23,223, 14, +228, 11,220, 0, 63,225, 63, 51,225, 17, 57, 47,225, 51, 18, 57, 1, 47, 93, 93, 51, 47, 93,225, 18, 57, 57, 47, 47, 43, 51, 51, + 17, 51, 49, 48, 1, 53, 22, 51, 50, 53, 52, 35, 34, 7, 39, 19, 33, 21, 33, 7, 54, 51, 50, 22, 21, 20, 6, 35, 34, 1, 80,102, +105,162,166, 52, 73, 62, 31, 1,141,254,224, 17, 35, 61,118,147,150,145,124, 2,193,129, 68,147,146, 17, 39, 1,125,110,193, 6, +130,109,127,142, 0, 2, 1, 57, 2, 57, 3,147, 5,213, 0, 16, 0, 27, 0, 56, 64, 30, 3, 22,224, 15, 1, 15, 17,224, 48, 9, + 1, 9, 9, 15, 3, 19,228, 0, 6, 1, 6, 6, 0, 25,230, 12,223, 1, 0,222, 0, 63, 50, 63,225, 17, 57, 47, 93,225, 50, 1, + 47, 51, 47, 93,225, 18, 57, 16,225, 50, 49, 48, 1, 23, 4, 7, 51, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 53, 16, 1, 52, 35, + 34, 6, 21, 20, 22, 51, 50, 54, 3, 29, 45,254,183, 52, 10, 61,140,112,131,165,134,135,168, 1,205,147, 74, 98, 93, 75, 68, 83, + 5,213,109,110,215, 92,153,128,133,168,187,157, 1,151,254, 60,172, 87, 64, 86,113, 92, 0, 1, 1,111, 2,160, 3,147, 5,182, + 0, 6, 0, 53, 64, 34, 6, 0, 0, 1, 15, 5, 79, 5,127, 5, 3, 5, 5, 0, 2, 80, 2, 96, 2,112, 2,176, 2,208, 2, 6, + 2, 5, 2,230, 3,220, 0,221, 0, 63, 63,225, 50, 1, 47, 93, 50, 47, 93, 51, 57, 47, 51, 49, 48, 1, 1, 33, 53, 33, 21, 1, + 1,195, 1, 53,254,119, 2, 36,254,203, 2,160, 2,157,121,100,253, 78, 0, 3, 1, 49, 2,143, 3, 96, 5,195, 0, 19, 0, 27, + 0, 36, 0,125, 64, 83, 10, 28, 12, 34,224, 2, 20, 0, 2, 26,224, 12, 22,224, 18, 12, 18, 12, 18, 8, 15, 2,127, 2,191, 2, + 3, 2, 2, 30,224, 31, 8,239, 8, 2, 8,105, 20, 1,184, 0,200, 0,216, 0, 3,105, 0, 1,184, 10,200, 10,216, 10, 3,105, + 10, 1,105, 28,185, 28,201, 28,217, 28, 4, 28, 10, 0, 20, 4, 5, 24,229, 15,222, 32,229, 5,223, 0, 63,225, 63,225, 18, 23, + 57, 93, 93, 93, 93, 93, 93, 1, 47, 93,225, 51, 47, 93, 18, 57, 57, 47, 47, 16,225, 16,225, 17, 57, 57, 16,225, 17, 57, 57, 49, + 48, 1, 22, 21, 20, 6, 35, 34, 38, 53, 52, 55, 38, 53, 52, 54, 51, 50, 22, 21, 20, 7, 54, 53, 52, 35, 34, 21, 20, 23, 6, 21, + 20, 51, 50, 53, 52, 39, 2,186,166,152,124,136,147,139,114,144,112,111,141,252,106,108,107, 92,118,131,135,135, 4, 66, 85,122, +103,125,118,104,130, 74, 79,114, 91,110,108, 93,116, 19, 49, 84, 96, 96, 81,161, 63, 90,117,117, 89, 58, 0, 2, 1, 57, 2, 57, + 3,147, 5,201, 0, 20, 0, 31, 0, 57, 64, 31, 5, 26,224, 1, 11, 48, 17, 1, 17, 17, 21,224, 11, 5, 23,228, 15, 8, 1, 8, + 8, 14, 3,228, 1, 19,223, 29,230, 14,222, 0, 63,225, 63, 51,225, 17, 57, 47, 93,225, 50, 1, 47,225, 51, 47, 93, 18, 57,225, + 50, 49, 48, 1, 53, 22, 51, 32, 19, 35, 6, 35, 34, 38, 53, 52, 54, 51, 50, 22, 21, 16, 33, 34, 19, 20, 51, 50, 54, 53, 52, 38, + 35, 34, 6, 1,135, 39, 62, 1, 16, 14, 8, 71,126,122,138,160,131,142,169,254, 99, 62, 13,149, 73, 97, 89, 77, 68, 85, 2, 72, +125, 23, 1, 59, 98,149,126,133,170,205,186,253,247, 2, 99,164, 87, 56, 80,123, 94, 0, 0, 18, 0, 55,254,129, 4,150, 5,238, + 0, 19, 0, 37, 0, 57, 0, 69, 0, 75, 0, 81, 0, 87, 0, 93, 0, 97, 0,101, 0,105, 0,109, 0,113, 0,117, 0,121, 0,125, + 0,134, 0,143, 1, 6, 64, 46, 98,122,101,125,122,125, 76, 93, 63, 19, 19, 69, 9,135,127,127, 37,139,131,131, 24, 15, 33, 95, + 33,111, 33, 3, 33, 33, 37, 42, 55, 79, 9, 95, 9, 2, 16, 37, 32, 37, 96, 37, 3, 37,184,255,192, 64,100, 21, 24, 72, 64, 55, + 80, 55,224, 55, 3, 9, 37, 55, 55, 37, 9, 3, 70, 85, 85,118,114,110, 93, 70,107,103, 95, 76,116,104,112, 96,120,108,104, 96, +108,108, 96,104, 3, 76, 71, 41, 57, 57, 38, 27,126,126,135, 32, 15, 19, 72,135,135, 20,127,127, 96, 37, 1, 37, 37,143, 20, 20, + 14,240, 38, 1,111, 38, 1, 38, 38, 52, 45, 60,255, 4, 1, 4, 4, 66, 14, 45, 14, 45, 14, 88, 83, 88,122, 76, 83, 99, 71, 0, + 47, 51, 51, 47, 51, 51, 17, 18, 57, 57, 47, 47, 17, 51, 51, 47, 93, 51, 17, 51, 51, 47, 93, 93, 18, 57, 47, 51, 51, 47, 93, 51, + 17, 18, 57, 47, 43, 51, 18, 57, 17, 51, 17, 51, 17, 18, 23, 57, 47, 47, 47, 17, 51, 17, 51, 17, 51, 1, 47, 50, 50, 50, 50, 47, + 51, 51, 51, 51, 17, 18, 23, 57, 47, 47, 47, 93, 43, 93, 93, 17, 51, 17, 51, 47, 93, 51, 51, 17, 51, 17, 51, 17, 51, 17, 51, 51, + 47, 51, 17, 18, 57, 57, 17, 51, 17, 51, 49, 48, 0, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 21, 3, 51, 50, 22, + 21, 20, 6, 7, 21, 30, 3, 21, 20, 6, 35, 35, 23, 33, 21, 35, 21, 20, 6, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 53, 53, 35, + 0, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 21, 37, 17, 33, 21, 35, 21, 3, 17, 51, 21, 51, 21, 1, 53, 33, 17, 35, 53, 3, 53, + 51, 53, 51, 17, 1, 35, 17, 51, 1, 53, 33, 21, 1, 35, 17, 51, 17, 35, 17, 51, 1, 35, 17, 51, 17, 35, 17, 51, 17, 35, 17, 51, + 1, 53, 33, 21, 3, 21, 51, 50, 54, 53, 52, 38, 35, 39, 51, 50, 54, 53, 52, 38, 35, 35, 2,160, 25, 52, 78, 54, 54, 79, 51, 25, + 25, 51, 79, 54, 54, 78, 52, 25,137,137, 88, 88, 37, 35, 18, 31, 23, 14, 87, 75,165,223, 1, 10, 72, 88, 69, 31, 43, 12, 12, 39, + 24, 29, 39, 94,254,108, 53, 56, 57, 51, 51, 57, 56, 53,254,213, 1, 47,192,111,111,192, 2, 0, 1, 48,109,195,195,109,252, 16, +111,111, 1, 57, 1, 15,253,184,111,111,111,111, 3,240,109,109,109,109,109,109,253, 73, 1, 15,117, 59, 38, 30, 30, 42, 55, 51, + 37, 29, 33, 37, 47, 4, 5, 88, 64, 35, 35, 64, 88, 54, 55, 89, 63, 35, 35, 63, 89, 55,254,224, 53, 66, 40, 54, 7, 4, 3, 14, + 25, 38, 28, 65, 72, 52, 77,242, 80, 76, 5, 3, 82, 2, 4, 29, 41,244, 3, 44, 83, 83, 74, 75, 83, 83, 75,131, 1, 48,111,193, +249,195, 1, 47,194,109, 6,254,111,254,208,193,249, 2,109,194,254,209, 3, 45, 1, 16, 2,193,111,111,250,168, 1, 14, 2, 2, + 1, 15,253,104, 1, 16,253,105, 1, 14, 2, 2, 1, 15,250, 59,109,109, 3,145,122, 34, 31, 25, 32, 80, 27, 25, 27, 24, 0, 3, + 0, 4,254,193, 4,203, 6, 20, 0, 3, 0, 41, 0, 57, 0, 78, 64, 38, 4, 41, 41, 42,113, 50, 1, 80, 50, 96, 50, 2, 50, 50, + 42, 23, 23,127, 42, 1, 42, 42, 2, 30, 15, 15, 2, 55, 45, 41, 41, 45, 45, 3, 27, 18, 18, 3, 0, 25, 47, 51, 24, 47, 51, 17, + 51, 47, 51, 47, 17, 51, 1, 25, 47, 51, 24, 47, 51, 17, 51, 47, 93, 51, 47, 17, 51, 47, 93, 93, 17, 51, 47, 51, 49, 48, 9, 3, + 5, 53, 52, 62, 2, 55, 62, 3, 53, 52, 38, 35, 34, 14, 2, 7, 23, 54, 54, 51, 50, 22, 21, 20, 14, 2, 7, 14, 3, 21, 21, 7, + 20, 22, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 6, 2,102, 2,101,253,155,253,158, 2,152, 7, 20, 35, 28, 35, 53, 35, 18,152, +135, 35, 72, 70, 65, 28, 66, 55,102, 45, 53, 50, 11, 24, 38, 28, 31, 43, 27, 13, 21, 65, 50, 21, 41, 32, 19, 19, 32, 41, 21, 50, + 65, 6, 20,252, 86,252, 87, 3,169,233, 43, 23, 34, 33, 34, 23, 33, 57, 62, 71, 46,124,136, 14, 25, 33, 18,160, 31, 41, 53, 42, + 26, 40, 36, 37, 24, 28, 51, 54, 59, 36, 55,246, 65, 58, 14, 30, 47, 32, 34, 47, 29, 13, 56, 0,255,255, 0,135,254, 20, 3,169, + 6, 33, 2, 38, 2, 55, 0, 0, 1, 6, 1, 76,247, 0, 0, 11,182, 1,111, 24, 16, 0, 10, 37, 1, 43, 53, 0,255,255, 1,190, + 3,193, 3, 12, 5,182, 2, 6, 2, 7, 0, 0, 0, 2, 0, 10,255,236, 4,178, 6, 43, 0, 12, 0, 79, 0, 93, 64, 55, 8, 70, + 67, 67, 26, 0, 59, 71, 77,144, 16,160, 16, 2, 16, 16, 81, 15, 81,175, 81, 2, 51, 70,144, 26, 1, 26, 62, 79, 79, 78, 0, 78, + 34, 78, 41, 0, 41, 16, 41, 2, 78, 41, 78, 41, 56, 5, 78, 72, 1, 56, 78, 21, 22, 0, 63,225, 63,225, 18, 57, 57, 47, 47, 93, + 16,225, 17, 51, 16,225, 50, 1, 47, 93,225, 93, 17, 51, 47, 93, 51,225, 50, 17, 57, 47,225, 49, 48, 1, 46, 3, 35, 34, 6, 21, + 20, 30, 2, 5, 22, 22, 21, 20, 2, 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 53, 52, 38, 35, 34, 6, 7, 39, 54, 54, 51, 50, 30, + 2, 21, 20, 14, 2, 21, 20, 30, 2, 51, 50, 18, 17, 52, 38, 39, 46, 3, 53, 52, 62, 2, 51, 50, 30, 2, 23, 51, 21, 3,106, 13, + 57, 77, 91, 48, 76, 86, 46,106,171, 1, 60, 2, 2, 64,129,196,131,111,146, 86, 34, 10, 11, 10, 31, 31, 24, 54, 16, 37, 37,100, + 54, 50, 69, 44, 19, 10, 11, 10, 21, 48, 78, 58,164,164, 2, 2,174,242,150, 67, 39, 81,127, 89,104,161,117, 75, 18,143, 3,209, +108,170,116, 61, 88, 72, 56,105, 82, 51,138, 22, 58, 31,159,254,238,201,115, 55, 95,125, 69, 40, 93, 89, 75, 24, 45, 33, 15, 10, +127, 17, 26, 28, 50, 68, 40, 35, 86, 93, 97, 45, 42, 74, 54, 31, 1, 50, 1, 48, 23, 62, 20, 2, 75,120,154, 81, 67,112, 82, 46, + 84,156,223,139,137, 0, 0, 1, 0, 31, 0, 0, 4,184, 5,195, 0, 32, 0,141,185, 0, 32,255,248,179, 20, 24, 72, 32,184,255, +248, 64, 70, 13, 16, 72, 38, 32, 54, 32, 2, 23, 32, 1, 32,175, 31,255, 31, 2, 89, 31, 1, 31, 0, 84, 13, 1, 41, 13, 1, 13, + 27, 90,208, 30, 1,162, 30, 1,147, 30, 1, 3,142, 30, 1, 4, 99, 30, 1, 5, 16, 30, 80, 30, 2, 30, 17, 10, 10, 59, 27, 1, + 59, 30, 1, 39, 0,183, 0, 2, 0,184,255,248, 64, 12, 13, 17, 72, 0, 30, 27, 3, 29, 31, 3, 29, 18, 0, 63, 63, 18, 23, 57, + 43, 93, 93, 93, 51, 17, 51, 1, 47, 93, 95, 93, 95, 93, 95, 93, 93, 93,225, 50, 93, 93, 57,205, 93, 93, 50, 93, 93, 43, 43, 49, + 48, 1, 62, 3, 55, 62, 3, 51, 50, 22, 23, 21, 38, 38, 35, 34, 6, 7, 14, 5, 7, 17, 35, 17, 1, 51, 2,100, 25, 75, 78, 73, + 24, 22, 46, 54, 64, 41, 34, 43, 17, 12, 33, 12, 28, 62, 35, 12, 47, 58, 66, 63, 56, 19,187,254, 25,202, 2,219, 75,168,160,137, + 44, 40, 61, 39, 20, 9, 8,145, 3, 5, 47, 60, 21, 83,110,129,136,134, 60,253,227, 2, 47, 3,135, 0, 0, 2, 0, 18,255,236, + 4,180, 4, 74, 0, 32, 0, 64, 0, 95, 64, 60, 30, 29, 86, 56,102, 56, 2, 71, 56, 1, 56, 73, 55, 55, 5, 33, 73, 16, 21, 32, + 21, 2, 21, 21, 66, 44, 73, 64, 5, 80, 5,144, 5,160, 5,192, 5,208, 5, 6, 47, 5, 1, 5, 55, 55, 49, 39, 16, 10, 80, 13, + 15, 60, 30, 49, 80, 26, 0, 22, 0, 63, 50,225, 50, 50, 63,225, 50, 50, 18, 57, 47, 1, 47, 93, 93,225, 17, 51, 47, 93,225, 17, + 57, 47,225, 93, 93, 57, 57, 49, 48, 5, 34, 46, 2, 53, 52, 62, 2, 55, 35, 53, 55, 33, 21, 35, 30, 3, 21, 20, 14, 2, 35, 34, + 38, 39, 35, 6, 6, 1, 52, 46, 2, 39, 33, 14, 3, 21, 20, 30, 2, 51, 50, 62, 2, 53, 53, 51, 21, 20, 22, 51, 50, 62, 2, 1, +123, 79,110, 69, 31, 10, 22, 35, 25,164,134, 4, 28,155, 24, 35, 23, 10, 31, 69,110, 79, 94,111, 26, 11, 26,111, 1,246, 10, 23, + 35, 24,253,233, 25, 35, 22, 10, 16, 35, 52, 36, 36, 54, 35, 17,157, 79, 63, 36, 52, 35, 16, 20, 68,128,181,114, 67,116,110,114, + 66, 74, 80,154, 66,114,110,116, 67,114,181,128, 68, 87, 91, 91, 87, 1,235, 62,114,112,118, 67, 67,118,112,114, 62, 91,129, 82, + 38, 41, 72, 98, 57,203,203,130,138, 38, 82,129,255,255, 0,113, 0, 0, 4, 92, 7,117, 2, 38, 0, 48, 0, 0, 1, 7, 0,118, + 0,100, 1, 84, 0, 19, 64, 11, 1, 26, 5, 38, 1,100, 20, 23, 6, 12, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 92, 0, 0, + 4,115, 6, 33, 2, 38, 0, 80, 0, 0, 1, 6, 0,118,127, 0, 0, 19, 64, 11, 1, 39, 17, 38, 1,126, 33, 36, 17, 31, 37, 1, + 43, 53, 0, 43, 53, 0,255,255, 0, 33,253,213, 4,172, 5,188, 2, 38, 0, 36, 0, 0, 1, 6, 2, 91, 2, 0, 0, 23, 64, 13, + 3, 2, 30, 20, 39, 3, 2, 1, 25, 15, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,135,253,213, 4, 2, 4, 94, + 2, 38, 0, 68, 0, 0, 1, 6, 2, 91,251, 0, 0, 23, 64, 13, 3, 2, 49, 23, 39, 3, 2, 28, 44, 34, 8, 22, 37, 1, 43, 53, + 53, 0, 43, 53, 53, 0,255,255,254,200,255,236, 5, 12, 5,205, 0, 39, 0, 50, 0,145, 0, 0, 1, 7, 2, 92,253,155, 0, 0, + 0, 45, 64, 21, 3, 2, 43, 3, 3, 2, 96, 51, 1, 80, 51, 1, 64, 51, 1, 32, 51, 1, 0, 51, 1,184,255, 24,180, 51, 51, 2, + 2, 37, 1, 43, 93, 93, 93, 93, 93, 53, 53, 0, 63, 53, 53, 0, 0, 2, 1,131,253,213, 3, 72,255,131, 0, 19, 0, 31, 0, 77, + 64, 16, 20, 16, 19, 24, 72, 20,131, 15, 0, 31, 0, 47, 0, 3, 0, 26,184,255,240,182, 19, 24, 72, 26,131, 10, 29,184,255,248, + 64, 25, 21, 24, 72, 29,140, 0, 5, 16, 5, 32, 5,112, 5,192, 5, 5, 5, 23, 8, 21, 24, 72, 23,140, 15, 0, 47,225, 43,220, + 93,225, 43, 1, 47,225, 43,220, 93,225, 43, 49, 48, 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 7, 52, 38, + 35, 34, 6, 21, 20, 22, 51, 50, 54, 3, 72, 35, 62, 84, 49, 50, 82, 59, 32, 32, 59, 82, 50, 48, 84, 62, 36,117, 63, 50, 49, 63, + 57, 55, 50, 63,254,174, 51, 81, 56, 29, 29, 56, 79, 51, 51, 79, 56, 29, 29, 55, 79, 52, 53, 60, 60, 53, 53, 60, 60, 0, 0, 2, + 1, 45, 4,104, 3,139, 5,199, 0, 17, 0, 31, 0, 48, 64, 26, 64, 0, 1, 0, 64, 12, 12, 18, 32, 9, 12, 72, 18,128, 24, 23, + 30, 23, 30, 79, 3, 95, 3, 2, 3, 15, 0, 47,204, 93, 57, 57, 47, 47, 1, 47, 26,205, 43, 50, 47, 26,205, 93, 49, 48, 1, 52, + 54, 55, 21, 6, 6, 21, 20, 30, 2, 21, 20, 6, 35, 34, 38, 5, 62, 3, 55, 51, 21, 14, 3, 7, 35, 1, 45,120,122, 60, 57, 31, + 36, 31, 50, 46, 59, 68, 1, 53, 11, 25, 24, 22, 8,207, 18, 48, 56, 62, 31, 82, 4,231, 78,115, 31, 76, 22, 46, 24, 19, 18, 16, + 26, 28, 37, 39, 70, 37, 30, 75, 79, 81, 36, 20, 32, 77, 80, 81, 37, 0, 0, 2, 0, 66, 0, 0, 4, 41, 6, 31, 0, 39, 0, 52, + 0, 99, 64, 55, 22, 41, 28, 28, 39, 39, 2, 41, 6, 38, 3, 3, 6, 6, 10,223, 2, 1, 2, 2, 54, 40, 7, 7, 13, 0, 10, 16, + 10, 80, 10,160, 10,176, 10, 5, 10, 10, 7, 3, 82, 40, 13, 38, 15, 47, 32, 78, 19, 25, 1, 9, 5, 1, 21, 0, 63, 51, 51, 63, + 51,225, 50, 63, 51, 51,225, 50, 50, 1, 47, 93, 51, 51, 17, 51, 17, 51, 47, 93, 18, 57, 47, 51, 17, 51, 17, 51, 17, 51, 17, 51, + 17, 18, 57, 49, 48, 33, 35, 17, 35, 17, 35, 17, 35, 17, 35, 17, 35, 53, 55, 53, 52, 62, 2, 51, 50, 22, 23, 54, 54, 51, 50, 22, + 23, 7, 38, 38, 35, 34, 14, 2, 21, 21, 33, 33, 51, 53, 52, 55, 38, 38, 35, 34, 14, 2, 21, 4, 41,164,203,163,205,164,100,100, + 40, 77,112, 72, 49, 87, 34, 38,102, 63, 52, 91, 37, 41, 29, 69, 37, 38, 55, 36, 17, 1,111,253, 33,205, 24, 20, 45, 23, 35, 53, + 35, 18, 3,203,252, 53, 3,203,252, 53, 3,203, 65, 62, 82,106,141, 84, 35, 22, 13, 29, 27, 23, 14,131, 11, 17, 22, 52, 87, 64, +104,102,115, 78, 6, 8, 22, 52, 87, 64, 0, 2, 0, 66, 0, 0, 4, 41, 6, 31, 0, 39, 0, 52, 0, 97, 64, 54, 44, 20, 41, 26, + 26, 29, 41, 4, 38, 1, 1, 4, 4, 8,223, 29, 1, 29, 29, 54, 40, 5, 5, 11, 0, 8, 16, 8, 80, 8,160, 8,176, 8, 5, 8, + 8, 5, 1, 82, 40, 11, 38, 15, 7, 3, 28, 21, 47, 32, 78, 17, 23, 1, 0, 63, 51,225, 50, 63, 51, 51, 63, 51, 51,225, 50, 50, + 1, 47, 93, 51, 51, 17, 51, 17, 51, 47, 93, 18, 57, 47, 51, 17, 51, 17, 51, 17, 51, 17, 18, 57, 57, 49, 48, 1, 35, 17, 35, 17, + 35, 17, 35, 17, 35, 53, 55, 53, 52, 62, 2, 51, 50, 22, 23, 54, 54, 51, 50, 23, 51, 17, 35, 17, 38, 38, 35, 34, 14, 2, 21, 21, + 51, 33, 51, 53, 52, 55, 38, 38, 35, 34, 14, 2, 21, 3, 72,142,163,205,164,100,100, 40, 77,112, 72, 49, 87, 34, 38,102, 63, 48, + 46,131,164, 14, 29, 14, 38, 55, 36, 17,142,254, 2,205, 24, 20, 45, 23, 35, 53, 35, 18, 3,203,252, 53, 3,203,252, 53, 3,203, + 65, 62, 82,106,141, 84, 35, 22, 13, 29, 27, 11,249,236, 5,141, 3, 3, 22, 52, 87, 64,104,102,115, 78, 6, 8, 22, 52, 87, 64, + 0, 2, 0, 84,255,236, 4,246, 6, 20, 0, 32, 0, 52, 0, 51, 64, 28, 23, 91, 25, 43, 91, 30, 18, 0, 54, 33, 91, 31, 10, 47, + 10, 2, 10, 30, 48, 95, 23, 18, 15, 4, 38, 95, 5, 19, 0, 63,225, 63, 51,206,225, 50, 1, 47, 93,225, 16,222, 50, 50,225,214, +225, 49, 48, 1, 20, 2, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, 62, 3, 55, 51, 23, 14, 3, 7, 22, 22, + 5, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2, 4,123, 64,132,200,135,142,201,129, 60, 60,129,203,142,124,187, + 66, 18, 23, 13, 6, 2,198, 15, 11, 33, 49, 68, 46, 42, 42,252,158, 36, 79,128, 92, 93,128, 78, 35, 35, 78,127, 92, 93,128, 80, + 36, 2,221,169,254,234,198,108,108,198, 1, 23,170,170, 1, 21,196,107, 90, 86, 19, 52, 63, 73, 40, 22, 52, 99, 87, 74, 28, 91, +233,137,137,219,153, 81, 81,153,219,137,138,218,151, 81, 81,151,218, 0, 0, 2, 0,115,255,236, 4,246, 4,242, 0, 32, 0, 43, + 0, 53, 64, 28, 18, 30, 30, 0, 23, 74, 25, 38, 72, 0, 45, 33, 72, 0, 10, 1, 10, 30, 41, 80, 23, 18, 15, 16, 36, 80, 5, 22, + 0, 63,225, 63, 51,198,225, 50, 1, 47, 93,225, 16,222,225,220,225, 17, 51, 17, 51, 48, 49, 1, 20, 14, 2, 35, 34, 46, 2, 53, + 52, 62, 2, 51, 50, 22, 23, 62, 3, 53, 51, 23, 14, 3, 7, 22, 22, 5, 20, 22, 51, 32, 17, 52, 38, 35, 34, 6, 4, 88, 74,133, +184,111,103,180,134, 78, 73,132,185,111, 97,171, 66, 38, 43, 21, 5,198, 15, 15, 42, 57, 75, 49, 38, 42,252,215,157,154, 1, 54, +157,155,154,155, 2, 39,137,213,145, 76, 76,145,213,137,136,211,145, 75, 66, 65, 16, 56, 72, 87, 48, 23, 69,114, 91, 67, 21, 66, +165, 99,211,209, 1,164,210,206,206, 0, 0, 1, 0,125,255,236, 5, 23, 6, 20, 0, 38, 0, 54, 64, 30, 6, 91, 96, 8,112, 8, + 2, 8, 37, 90, 1, 14, 40, 27, 90, 0, 24, 1, 24, 13, 1, 1, 38, 6, 25, 3, 32, 95, 19, 19, 0, 63,225, 63,206, 51, 51, 47, + 51, 1, 47, 93,225, 16,222, 50,225,220, 93,225, 49, 48, 1, 21, 62, 3, 53, 51, 23, 14, 3, 7, 17, 20, 14, 2, 35, 34, 46, 2, + 53, 17, 51, 17, 20, 30, 2, 51, 50, 62, 2, 53, 17, 3,182, 47, 55, 29, 9,198, 15, 15, 48, 82,121, 87, 45, 99,159,115,108,154, + 99, 46,186, 24, 54, 89, 65, 67, 86, 49, 19, 5,182,194, 8, 52, 77, 97, 54, 22, 69,127,105, 75, 17,253,102,114,183,129, 69, 65, +126,186,122, 3,215,252, 51, 87,130, 86, 43, 48, 90,129, 82, 3,202, 0, 0, 1, 0,160,255,236, 5, 23, 4,242, 0, 39, 0, 87, +183, 31, 74, 0, 33, 16, 33, 2, 33,184,255,192,179, 20, 23, 72, 33,184,255,192, 64, 35, 14, 17, 72, 33, 1, 0, 23, 71, 26, 38, + 41, 14, 71, 0, 13,176, 13, 2, 13, 38, 26, 26, 13, 31, 31, 24, 13, 15, 2, 18, 80, 7, 22, 0, 21, 0, 63, 63,225, 50, 63, 51, + 51, 47, 17, 51, 47, 51, 1, 47, 93,225, 16,222, 50,225, 50, 50,221, 43, 43, 93,225, 48, 49, 33, 39, 35, 14, 3, 35, 34, 46, 2, + 53, 17, 51, 17, 20, 22, 51, 50, 62, 2, 53, 17, 51, 21, 62, 3, 53, 51, 23, 14, 3, 7, 17, 3, 18, 26, 8, 22, 60, 72, 80, 41, + 79,119, 79, 40,182, 84, 90, 66, 90, 56, 24,182, 52, 62, 32, 10,198, 15, 15, 50, 85,127, 92,147, 43, 63, 41, 20, 46, 98,152,105, + 2,205,253, 61,130,130, 52,101,148, 96, 2, 58,123, 6, 50, 78,101, 56, 23, 70,136,110, 72, 7,252,176,255,255, 1,162, 4,217, + 3, 43, 6, 33, 2, 6, 0, 67, 0, 0,255,255, 1,162, 4,217, 3, 43, 6, 33, 2, 6, 0,118, 0, 0,255,255, 0,254, 4,217, + 3,205, 5,227, 2, 6, 1, 82, 0, 0, 0, 1, 1,172, 4,184, 3, 33, 6,143, 0, 27, 0, 46, 64, 23, 7, 5, 8, 8, 21, 13, +132, 0, 0, 21, 5, 8, 8, 6, 18,141, 15, 25, 31, 25, 2, 25, 6, 0, 47,220, 93,225, 18, 57, 47, 51, 1, 47, 51, 47,225, 17, + 57, 47, 51, 51, 48, 49, 1, 20, 14, 2, 7, 7, 35, 39, 62, 3, 53, 52, 46, 2, 35, 34, 6, 7, 53, 54, 54, 51, 50, 22, 3, 33, + 27, 45, 60, 34, 10,113, 14, 37, 59, 42, 23, 20, 36, 50, 29, 28, 52, 16, 16, 50, 41,133,133, 5,211, 39, 58, 41, 26, 8,111,176, + 6, 16, 24, 33, 24, 24, 32, 19, 7, 3, 3,108, 3, 5, 91, 0, 0, 1, 1,252,254,152, 2,209,255,125, 0, 13, 0, 15,181, 6, +135, 0, 11,145, 3, 0, 47,237, 1, 47,237, 48, 49, 5, 52, 54, 51, 50, 22, 21, 20, 14, 2, 35, 34, 38, 1,252, 61, 45, 44, 63, + 17, 29, 39, 22, 45, 61,246, 60, 55, 55, 60, 29, 43, 28, 14, 55,255,255, 0,217, 0, 0, 4, 35, 7,115, 2, 38, 0, 40, 0, 0, + 1, 7, 0, 67,255,183, 1, 82, 0, 21,180, 1, 12, 5, 38, 1,184,255,160,180, 15, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0,137, 0, 0, 4, 70, 7,115, 2, 38, 1,178, 0, 0, 1, 7, 0, 67,255,181, 1, 82, 0, 21,180, 1, 17, 5, 38, 1, +184,255,180,180, 20, 17, 0, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,133,255,236, 4, 72, 6, 33, 2, 38, 0, 72, 0, 0, + 1, 6, 0, 67,212, 0, 0, 21,180, 2, 23, 17, 38, 2,184,255,212,180, 26, 23, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0,160, 0, 0, 4, 45, 6, 33, 2, 38, 1,210, 0, 0, 1, 6, 0, 67,179, 0, 0, 21,180, 1, 12, 17, 38, 1,184,255,179,180, + 15, 12, 10, 4, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0, 82,255,236, 4,123, 5,201, 0, 60, 0,117, 64, 31, 12, 15, 13,191, + 13, 2, 13, 64, 12, 17, 72, 13, 13, 19, 29, 0,251, 58, 58, 39, 7,251, 19, 62, 46, 0, 45,176, 45, 2, 45,184,255,192, 64, 34, + 12, 17, 72, 45, 45, 51,251, 47, 39, 1, 39, 59, 59, 56, 42, 12, 46, 46, 10, 48, 95, 16, 42, 4, 0, 58, 58, 29, 2, 56, 95, 24, + 34, 19, 0, 63, 51,225, 50, 50, 50, 17, 51, 63, 51,241, 50,194, 47, 50, 17, 18, 57, 47, 1, 47, 93,225, 50, 47, 43, 93, 51, 16, +222,225, 17, 57, 47,225, 57, 17, 51, 47, 43, 93, 51, 49, 48, 37, 22, 51, 50, 62, 2, 53, 16, 2, 35, 34, 7, 39, 54, 54, 51, 50, + 18, 17, 20, 2, 6, 6, 35, 34, 46, 2, 39, 14, 3, 35, 34, 38, 38, 2, 53, 16, 18, 51, 50, 22, 23, 7, 38, 35, 34, 2, 17, 20, + 30, 2, 51, 50, 55, 17, 51, 2,188, 39, 56, 48, 67, 42, 19, 78, 66, 55, 41, 47, 34, 88, 48,146,147, 34, 78,128, 94, 33, 54, 46, + 43, 23, 22, 42, 46, 53, 33, 94,128, 79, 35,147,146, 48, 88, 34, 47, 41, 56, 66, 77, 19, 43, 68, 48, 57, 37,170,186, 43, 89,164, +229,141, 1, 19, 1, 20, 29,152, 23, 18,254,153,254,154,192,254,219,198,101, 13, 24, 37, 24, 24, 37, 24, 13,101,198, 1, 37,192, + 1,102, 1,103, 18, 23,152, 29,254,236,254,237,141,229,164, 89, 43, 1,220, 0, 0, 1,255,252, 0, 0, 4,137, 4, 74, 0, 42, + 0,122, 64, 46, 7, 13, 1, 13, 38, 14, 33, 21,253, 34, 1,187, 34, 1, 34, 34, 27, 15, 73, 95, 14, 1, 14, 14, 1, 27, 73, 12, + 28, 1, 28, 44, 42, 6, 0, 0, 1,166, 0,182, 0, 2,148, 0, 1, 0,184,255,192, 64, 23, 11, 15, 72, 0, 0, 2, 73, 1, 38, + 13, 13, 0, 27, 14, 1, 15, 21, 34, 34, 7, 79, 0, 21, 0, 63,225, 51, 17, 51, 63, 51, 51, 18, 57, 17, 51, 1, 47,225, 51, 47, + 43, 93, 93,113, 51, 51, 16,222, 93,225, 17, 57, 47, 93,225, 17, 51, 47, 93, 93, 51, 51, 18, 57, 57, 93, 49, 48, 33, 1, 51, 19, + 22, 22, 23, 51, 62, 3, 55, 19, 3, 51, 19, 30, 3, 23, 51, 62, 2, 18, 53, 51, 20, 2, 2, 6, 7, 35, 3, 38, 38, 39, 6, 6, + 7, 3, 1, 27,254,225,160,163, 20, 34, 8, 4, 5, 15, 18, 20, 10, 86,109,150,137, 8, 22, 23, 22, 7, 6, 63, 79, 45, 16,153, + 26, 66,113, 88,163, 84, 7, 11, 3, 5, 16, 8,106, 4, 74,253, 92, 85,157, 51, 18, 56, 65, 67, 30, 1, 16, 1,205,253,176, 33, + 96,103, 96, 33,104,210,230, 1, 2,151,163,254,224,254,245,253,127, 1, 84, 26, 56, 20, 20, 62, 22,254,174, 0, 0, 2, 0, 20, + 0, 0, 4,117, 6, 20, 0, 22, 0, 33, 0, 65, 64, 33, 19, 0, 23, 90, 16, 12, 12, 14, 27, 91, 21, 6, 35, 14, 33, 95, 0, 22, + 14, 95, 15, 19, 15, 0, 15, 0, 15, 17, 0, 23, 96, 12, 18, 0, 63,225, 63, 57, 57, 47, 47, 17, 51, 16,225, 50, 16,225, 1, 47, + 16,222,204,225, 17, 57, 47, 51,225, 50, 50, 48, 49, 1, 51, 50, 30, 2, 21, 20, 14, 2, 35, 33, 17, 33, 53, 33, 17, 51, 17, 33, + 21, 33, 17, 51, 50, 54, 53, 52, 46, 2, 35, 35, 1,250, 94,152,207,127, 55, 60,126,194,134,254,204,254,213, 1, 43,187, 1,137, +254,119,104,175,163, 46, 91,138, 93, 74, 3, 78, 66,113,152, 87, 97,158,112, 61, 4, 96,164, 1, 16,254,240,164,252, 64,132,136, + 70, 97, 60, 27, 0, 2, 0, 20, 0, 0, 4, 88, 5, 39, 0, 20, 0, 33, 0, 67, 64, 34, 0, 0, 28, 19, 2, 22, 71, 16, 12, 12, + 14, 28, 70, 6, 35, 14, 1, 13, 80, 16, 21, 80, 2, 2, 19, 16, 17, 17, 16, 15, 22, 80, 12, 21, 0, 63,225, 63, 51, 47, 17, 51, + 57, 47,225, 16,225, 50, 1, 47, 16,222,225, 17, 57, 47, 51,225, 50, 50, 17, 57, 47, 48, 49, 1, 33, 17, 33, 50, 22, 21, 20, 14, + 2, 35, 33, 17, 35, 53, 51, 53, 51, 21, 33, 1, 17, 51, 50, 62, 2, 53, 52, 46, 2, 35, 2,227,254,213, 1, 0,212,204, 47,101, +159,113,254, 78,238,238,182, 1, 43,254,213,240, 55, 93, 68, 38, 33, 65, 96, 64, 3,176,254,215,156,155, 77,124, 88, 47, 3,176, +154,221,221,253,164,254,168, 17, 41, 66, 48, 49, 66, 40, 17, 0, 0, 1, 0, 98,255,236, 4,182, 5,203, 0, 45, 0, 86, 64, 48, + 5, 8, 34, 27, 64, 9, 12, 72, 15, 7, 1, 27, 7, 17, 17, 7, 27, 3, 30, 42, 47, 33, 29,251, 30, 8, 28, 95, 5, 33, 33, 13, + 43, 0, 95, 42, 39, 4, 31, 3, 30, 18, 16, 13, 95, 17, 22, 19, 0, 63, 51,225, 50, 63, 63, 63, 51,225, 50, 18, 57, 47, 51,225, + 50, 1, 47,225, 50, 16,206, 17, 23, 57, 47, 47, 47, 93, 43, 51,201, 50, 48, 49, 1, 34, 14, 2, 7, 33, 21, 33, 30, 3, 51, 50, + 54, 55, 21, 14, 3, 35, 34, 38, 38, 2, 39, 35, 17, 35, 17, 51, 17, 51, 62, 3, 51, 50, 22, 23, 7, 38, 38, 3,145, 68,114, 85, + 55, 9, 1,211,254, 41, 3, 45, 85,125, 82, 66,116, 57, 30, 59, 64, 73, 44,120,178,120, 62, 4,139,166,166,144, 11, 76,128,178, +112, 84,149, 60, 73, 45,106, 5, 39, 64,122,176,111,162,130,201,138, 72, 35, 23,162, 15, 23, 14, 7,100,184, 1, 3,159,253, 86, + 5,182,253,152,143,235,167, 92, 44, 42,156, 32, 46, 0, 0, 1, 0,160,255,236, 4,123, 4, 94, 0, 45, 0, 85, 64, 47, 31, 34, + 73, 12, 15, 5, 31, 5, 2, 5, 33, 5, 33, 8, 43, 22, 47, 11, 7, 73, 0, 8, 1, 8, 23, 28, 81, 17, 34, 6, 80, 31, 11, 11, + 22, 17, 16, 9, 15, 8, 21, 42, 39, 81, 43, 0, 22, 0, 63, 50,225, 50, 63, 63, 63, 51, 57, 47, 51,237, 50, 16,225, 50, 1, 47, + 93,225, 50, 16,206, 50, 17, 57, 57, 47, 47, 93, 51,225, 50, 48, 49, 5, 34, 46, 2, 39, 35, 17, 35, 17, 51, 17, 51, 62, 3, 51, + 50, 30, 2, 23, 7, 46, 3, 35, 34, 6, 7, 33, 21, 33, 30, 3, 51, 50, 54, 55, 21, 6, 6, 3,127, 85,149,114, 70, 6,149,162, +162,151, 11, 75,114,147, 83, 34, 68, 64, 57, 21, 47, 21, 50, 52, 51, 23,123,129, 12, 1,162,254, 92, 4, 36, 64, 93, 61, 72,115, + 48, 47,110, 20, 58,123,193,135,254, 23, 4, 74,254, 57,128,181,114, 52, 9, 16, 22, 12,154, 10, 19, 15, 9,151,166,154, 92,132, + 84, 40, 37, 25,162, 29, 30, 0, 0, 2, 0, 0, 0, 0, 4,205, 5,182, 0, 11, 0, 20, 0,169, 64, 32, 16, 15, 14, 13, 8, 7, + 17, 7, 14, 15, 16, 3, 17, 7, 8, 7, 24, 7, 2, 7, 6, 7, 5, 1,199, 5,215, 5,231, 5, 3, 5,184,255,248, 64, 64, 10, + 16, 72, 5, 17, 18, 19, 20, 1, 2, 17, 2, 20, 19, 18, 3, 2, 8, 4, 1,200, 4,216, 4,232, 4, 3, 4, 8, 10, 16, 72, 4, + 17, 17, 21, 6, 10,251, 21, 11, 1, 11, 11, 3, 6, 2, 3, 9, 8, 1, 96, 13, 12, 12, 2, 17, 95, 4, 3, 11, 7, 2, 18, 0, + 63, 51, 51, 63,225, 18, 57, 47, 51,225, 50, 50, 1, 47, 51, 47, 18, 57, 47, 93,225, 17, 18, 57, 17, 51, 43, 93,113, 18, 0, 23, + 57, 16,125,135, 5,196,196,196,196, 17, 1, 51, 43, 93,113, 17, 51, 93, 17, 18, 0, 23, 57, 16,135, 5,196,196,196,196,196, 49, + 48, 1, 35, 3, 35, 1, 51, 1, 35, 3, 35, 17, 35, 3, 33, 39, 38, 38, 39, 6, 6, 7, 2, 16,112,238,178, 2, 8,187, 2, 10, +182,238,115,166, 55, 1, 29, 39, 37, 51, 19, 18, 60, 28, 2,170,253, 86, 5,182,250, 74, 2,170,253, 86, 3, 68,110,105,170, 75, + 75,183, 92, 0, 0, 2, 0, 61, 0, 0, 4,141, 4, 74, 0, 11, 0, 23, 0,210, 64,108, 18, 19, 20, 21, 22, 8, 9, 17, 21, 20, + 19, 18, 4, 17, 71, 9, 1, 9, 71, 10, 5, 73, 6,168, 11,184, 11, 2,138, 11,154, 11, 2, 11, 8, 12, 16, 72, 11, 23, 12, 13, + 14, 15, 17, 2, 17, 15, 14, 13, 12, 4, 2,198, 0, 1,179, 0, 1,165, 0, 1,134, 0,150, 0, 2,117, 0, 1, 70, 0, 86, 0, +102, 0, 3, 55, 0, 1, 0, 17, 17,134, 6,150, 6, 2, 21, 6, 37, 6, 2, 6, 6, 1, 10, 72, 2, 1, 2, 1, 4, 3, 8, 80, + 23, 22,184,255,192, 64, 20, 9, 12, 72, 22, 22, 1, 11, 16, 17, 82, 11, 15, 9, 21, 2, 21, 10, 6, 1, 21, 0, 63, 51, 51, 63, + 63, 63,241,196, 17, 18, 57, 47, 43, 51,225, 50, 50, 1, 47,193, 93, 47, 18, 57, 47, 93, 93, 57, 17, 51, 93, 93, 93, 93, 93, 93, + 93, 18, 0, 23, 57, 16,125,135, 5,196,196,196,196,196, 1, 51, 43, 93, 93, 16,225, 16,241, 93, 17, 0, 23, 57,135, 5,196,196, +196,196,196,196, 49, 48, 1, 1, 35, 3, 35, 17, 35, 17, 35, 3, 35, 1, 18, 46, 2, 39, 35, 14, 3, 7, 51, 2,217, 1,180,188, +184, 99,162,104,184,183, 1,181,225, 35, 35, 29, 8, 12, 8, 30, 34, 34, 13,252, 4, 74,251,182, 1,233,254, 23, 1,233,254, 23, + 4, 74,254, 92, 90, 93, 86, 30, 29, 87, 93, 91, 34, 0, 0, 2, 0, 98, 0, 0, 4,252, 5,182, 0, 19, 0, 28, 1, 4, 64,138, +198, 13, 1,183, 13, 1,166, 13, 1,119, 13, 1, 13, 25,136, 21, 1, 89, 21,105, 21, 2, 24, 23, 22, 21, 16, 15, 25, 15, 22, 23, + 24, 3, 25, 15, 86, 20,102, 20,134, 20, 3, 26, 27, 28, 20, 1, 2, 25, 2, 28, 27, 26, 3, 2,216, 12, 1,201, 12, 1,120, 12, +168, 12,184, 12, 3, 12, 25, 25, 14, 3, 6, 18, 1, 18,251, 19, 1,204, 19, 1,181, 19, 1,166, 19, 1, 90, 19,106, 19,138, 19, + 3, 5, 19, 1, 19, 19, 7, 15, 0, 14, 1, 14, 23, 2, 1, 2, 50, 3, 1, 41, 3, 1, 24, 3, 1, 3, 3, 10, 6,251, 7, 17, + 16, 1, 96, 20, 21, 20, 80, 20, 1, 20,184,255,192, 64, 20, 9, 12, 72, 20, 4, 5, 96, 11, 10, 10, 2, 25, 12, 8, 3, 19, 15, + 7, 2, 18, 0, 63, 51, 51, 51, 63, 51,192, 18, 57, 47, 51,225, 50, 51, 43, 93, 17, 51, 16,237, 50, 50, 1, 47,225, 50, 50, 47, + 93, 93, 93,193, 93, 47, 93,193, 18, 57, 47, 93, 93, 93, 93, 93, 93,193, 93, 17, 18, 57, 17, 51, 93, 93, 93, 18, 0, 23, 57, 16, +125,135, 5,196,196,196,196,196, 1, 93, 17, 18, 0, 23, 57, 16,135, 5,196,196,196,196,196, 1, 93, 93, 17, 51, 93, 93, 93, 93, + 48, 49, 1, 35, 3, 35, 19, 33, 17, 35, 17, 51, 17, 33, 19, 51, 1, 35, 3, 35, 17, 35, 3, 51, 39, 38, 38, 39, 6, 6, 7, 2, +215, 47,168,168,176,255, 0,166,166, 1, 39,162,174, 1,125,168,172, 45,164, 8,182, 18, 22, 40, 12, 12, 38, 20, 2,170,253, 86, + 2,170,253, 86, 5,182,253,148, 2,108,250, 74, 2,170,253, 86, 3, 74, 84, 97,153, 75, 75,153, 91, 0, 0, 2, 0,123, 0, 0, + 5, 10, 4, 74, 0, 19, 0, 31, 0,200, 64,122, 17, 13, 73, 14,102, 5, 1, 84, 5, 1, 5, 73, 4, 6, 20, 6, 52, 6, 68, 6, + 4,244, 6, 1,203, 6, 1,188, 6, 1,165, 6, 1,106, 6, 1, 89, 6, 1, 69, 6, 1, 51, 6, 1, 27, 6, 1, 6, 6, 1, 0, + 14, 16, 14, 2, 14, 18, 11, 10, 19, 10, 19, 8, 24, 30, 9, 3, 25, 30, 2, 0,100, 30, 1, 30, 30, 2, 9,192, 10, 1, 15, 10, + 1, 0, 10, 1, 10, 2, 0, 1, 80, 1, 2, 1, 30, 4, 3, 8, 80, 24, 25, 24, 24, 11, 12, 80, 18, 17, 17, 1, 19, 15, 15, 9, + 2, 14, 10, 6, 1, 21, 0, 63, 51, 51, 51, 47, 47, 63, 51, 18, 57, 47, 51,225, 50, 51, 17, 51, 16,225, 50, 50, 47, 1, 47, 93, +193, 47, 93,113,113,193, 17, 57, 25, 47, 93, 51,135,192,192,135,192,192, 1, 51, 16,125,135,196,196, 1, 24, 47, 93, 18, 57, 47, + 93, 93, 93, 93, 93, 93, 93, 93, 93,113,225, 93, 93, 16,225, 50, 49, 48, 1, 1, 35, 3, 35, 17, 35, 17, 35, 3, 35, 19, 35, 17, + 35, 17, 51, 17, 33, 19, 22, 14, 2, 7, 51, 46, 3, 39, 35, 3,158, 1,108,168,155, 58,161, 58,158,165,163,245,162,162, 1, 39, +151, 92, 21, 26, 27, 12,183, 12, 28, 26, 21, 4, 2, 4, 74,251,182, 1,233,254, 23, 1,233,254, 23, 1,233,254, 23, 4, 74,254, + 57, 1,199,144, 86, 96, 94, 35, 35, 94, 96, 86, 25, 0, 0, 2, 0, 0, 0, 0, 4,205, 5,182, 0, 35, 0, 38, 0, 83, 64, 44, + 36, 11, 26,251, 6, 74, 27, 90, 27, 2, 22, 27, 1, 27, 27, 40, 0, 37, 10, 10, 18, 40, 38, 7, 7, 35, 39, 0, 25, 29, 97, 36, + 11, 6, 6, 0, 38, 95, 8, 3, 27, 18, 0, 18, 0, 63, 50, 50, 63,225, 18, 57, 47, 51, 51,225, 50, 1, 47, 17, 51, 51, 47, 51, + 17, 51, 51, 47, 51, 17, 18, 57, 47, 93, 93, 51,225, 50, 57, 48, 49, 49, 19, 62, 3, 55, 1, 53, 33, 21, 1, 30, 3, 23, 19, 35, + 3, 46, 3, 35, 35, 17, 35, 17, 35, 34, 14, 2, 7, 3, 1, 1, 33,113, 21, 49, 76,114, 86,254,178, 3,213,254,178, 89,113, 74, + 47, 21,113,170,113, 18, 34, 49, 70, 54, 23,168, 22, 54, 70, 49, 34, 18,113, 1,192, 1, 37,253,181, 1,197, 85,136, 98, 58, 6, + 1,231,139,139,254, 25, 6, 56, 98,137, 86,254, 59, 1,193, 72, 95, 57, 23,253, 72, 2,184, 23, 57, 95, 72,254, 63, 3, 96, 1, +178, 0, 0, 2, 0, 10, 0, 0, 4,195, 4, 74, 0, 35, 0, 38, 0,117, 64, 68, 36,102, 11, 1, 11, 26, 73, 6,183, 27, 1,165, + 27, 1,148, 27, 1,139, 27, 1,122, 27, 1, 89, 27, 1, 75, 27, 1, 27, 27, 39, 17, 38, 0, 7, 1, 7, 7, 35, 39, 37, 15, 10, + 1, 10, 10, 17, 10, 7, 7, 8, 25, 28, 82, 36, 11, 6, 6, 0, 38, 80, 8, 15, 27, 18, 0, 21, 0, 63, 50, 50, 63,225, 18, 57, + 47, 51, 51,225, 50, 17, 51, 17, 51, 1, 47, 51, 47, 93, 51, 17, 51, 51, 47, 93, 51, 17, 18, 57, 47, 93, 93, 93, 93, 93, 93, 93, + 51,225, 50, 93, 57, 48, 49, 51, 19, 62, 3, 55, 1, 53, 33, 21, 1, 30, 3, 23, 19, 35, 3, 46, 3, 35, 35, 17, 35, 17, 35, 34, + 14, 2, 7, 3, 1, 19, 33, 10,119, 21, 42, 66,100, 80,254,215, 3,181,254,210, 80,100, 66, 44, 22,119,181,118, 20, 36, 47, 66, + 51, 4,164, 4, 51, 66, 48, 36, 20,119, 1,168,246,254, 25, 1, 84, 61,101, 77, 49, 9, 1,100,105,105,254,156, 8, 49, 76,102, + 62,254,172, 1, 80, 54, 72, 43, 17,253,246, 2, 10, 17, 43, 72, 54,254,176, 2,131, 1, 45, 0, 0, 2, 0, 92, 0, 0, 4,233, + 5,182, 0, 40, 0, 43, 0,115, 64, 64, 41, 16, 31,251, 11, 5, 32, 1, 32, 32, 0, 23,251, 22, 42, 91, 15, 15, 0, 22, 1, 22, + 43, 90, 12, 12, 40,251, 4, 47, 0, 1, 0, 0, 6,251, 32, 7, 48, 7, 2, 7, 15, 12, 12, 13, 13, 8, 34, 30, 5, 96, 41, 10, + 10, 0, 43, 8, 3, 32, 23, 7, 0, 18, 0, 63, 50, 50, 50, 63,192, 18, 57, 47,196,237, 50, 50, 17, 51, 17, 51, 17, 51, 1, 47, + 93,225, 50, 47, 93, 51,225, 51, 47,225, 47, 93, 51, 47,225, 16,225, 17, 57, 47, 93, 51,225, 50, 57, 49, 48, 33, 19, 54, 54, 55, + 35, 17, 35, 17, 51, 17, 33, 3, 53, 33, 21, 1, 30, 3, 23, 19, 35, 3, 46, 3, 35, 35, 17, 35, 17, 35, 34, 14, 2, 7, 3, 1, + 19, 33, 1, 96, 56, 9, 19, 23,201,166,166, 1,127,246, 3, 58,254,254, 65, 83, 52, 29, 10, 55,170, 55, 9, 16, 28, 46, 38, 8, +164, 8, 39, 45, 28, 16, 9, 56, 1, 27,223,254, 66, 1,197, 81,108, 40,253, 86, 5,182,253,148, 1,225,139,139,254, 25, 6, 56, + 97,137, 87,254, 59, 1,193, 73, 95, 56, 23,253, 72, 2,184, 23, 56, 95, 73,254, 63, 3, 90, 1,184, 0, 0, 2, 0,123, 0, 0, + 5, 10, 4, 74, 0, 40, 0, 43, 0,149, 64, 91, 41, 16, 31, 73, 26, 11, 1, 9, 11, 1, 11, 5, 32, 1,245, 32, 1,196, 32, 1, +182, 32, 1,117, 32, 1,104, 32, 1, 6, 32, 1, 32, 32, 22, 0, 42, 72, 15, 15, 23, 73, 0, 22, 1, 22, 43, 72, 96, 12, 1, 12, + 12, 40, 73, 42, 4, 1, 4,175, 0, 1, 0, 0, 10, 6, 73, 0, 7, 16, 7, 2, 7, 30, 34, 34, 5, 80, 41, 10, 10, 0, 43, 13, + 8, 15, 32, 23, 7, 0, 21, 0, 63, 50, 50, 50, 63, 51,192, 18, 57, 47, 51,241,192, 47, 50, 1, 47, 93,225, 50, 50, 47, 93, 51, + 93,225, 51, 47, 93,225, 47, 93,225, 51, 47,225, 17, 18, 57, 47, 93, 93, 93, 93, 93, 93,113, 51, 93, 93,225, 50, 57, 49, 48, 33, + 19, 54, 54, 55, 35, 17, 35, 17, 51, 17, 33, 3, 53, 33, 21, 3, 30, 3, 23, 19, 35, 3, 46, 3, 35, 35, 17, 35, 17, 35, 34, 14, + 2, 7, 3, 1, 19, 33, 1,115, 73, 11, 26, 17,213,162,162, 1,129,230, 3, 11,238, 61, 78, 51, 32, 14, 73,164, 73, 12, 19, 28, + 41, 33, 9,161, 9, 33, 41, 27, 20, 12, 76, 1, 41,193,254,125, 1, 84, 50, 67, 32,254, 23, 4, 74,254, 57, 1, 94,105,105,254, +158, 8, 49, 77,103, 62,254,172, 1, 80, 53, 71, 44, 18,253,246, 2, 10, 18, 44, 71, 53,254,176, 2,131, 1, 45, 0, 1, 0,117, +254, 70, 4, 39, 6,213, 0,118, 0,131, 64, 68, 98, 71, 81, 81, 77, 89, 89,108, 57, 91,103,103, 44, 91,114, 18, 18,114,120, 78, + 0, 77, 1, 77, 77, 67, 68, 68, 34, 50, 50, 5, 90, 34, 90, 93, 64, 86, 86, 78,128, 67, 62, 97, 98,108, 50, 97, 51, 51, 81, 71, + 68, 98, 4, 39, 96, 0, 18, 15, 10, 95, 24, 19, 29, 29, 0, 19, 0, 63, 50, 47, 51, 51,225, 50, 50, 16,225, 63, 51, 51, 51, 57, + 47,225, 57, 16,225, 50, 26,204, 50, 47, 26,205, 50, 1, 47,225, 51, 47, 17, 51, 47, 51, 51, 47, 93, 51, 16,206, 50, 47, 16,225, + 51, 47,225, 50, 51, 47, 18, 57, 17, 51, 51, 48, 49, 5, 34, 14, 2, 21, 20, 30, 2, 51, 50, 62, 2, 51, 50, 22, 23, 21, 46, 3, + 35, 34, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 35, 53, 51, 50, 62, 2, 53, 52, 46, 2, 35, + 34, 14, 2, 7, 39, 54, 54, 55, 46, 3, 39, 53, 51, 22, 22, 23, 62, 3, 51, 50, 22, 23, 21, 38, 38, 35, 34, 14, 2, 7, 30, 3, + 21, 20, 14, 2, 7, 21, 30, 3, 21, 20, 14, 2, 2, 29, 71, 91, 52, 20, 14, 36, 61, 47, 65, 97, 84, 81, 50, 86, 94, 25, 8, 32, + 53, 78, 53, 49, 71, 74, 92, 70,104,135, 80, 31, 49,102,157,107, 89,128, 81, 38, 56,104,144, 89,190,176, 92,142, 97, 50, 38, 68, + 95, 57, 55, 97, 86, 79, 38, 92, 59,167,102, 24, 55, 54, 50, 20,121, 51, 98, 54, 26, 58, 67, 75, 42, 31, 47, 14, 11, 33, 17, 22, + 49, 48, 46, 20, 83,125, 85, 43, 51, 91,125, 75, 88,137, 95, 49, 66,132,195, 20, 18, 32, 41, 24, 22, 36, 26, 14, 4, 4, 4, 24, + 15,182, 7, 18, 16, 12, 3, 3, 2, 41, 72, 96, 55, 60, 98, 70, 38, 38, 72,106, 67, 71,101, 63, 29,151, 39, 72,101, 61, 54, 83, + 58, 30, 18, 31, 45, 27,125, 48, 75, 17, 30, 66, 63, 57, 23, 27, 34, 97, 56, 36, 70, 56, 35, 9, 5,119, 5, 7, 23, 41, 56, 33, + 13, 63, 92,118, 69, 73,120, 88, 57, 12, 6, 11, 57, 89,119, 72, 96,160,116, 64, 0, 1, 0,143,254,115, 4, 8, 5, 82, 0,110, + 0,166, 64, 96, 20, 75, 70, 26,136, 96, 1,105, 96,121, 96, 2, 58, 96, 1, 41, 96, 1, 96,197, 10, 1,103, 10,119, 10, 2, 69, + 10, 85, 10, 2, 39, 10, 1, 10,106,106, 93, 86, 70, 15, 4, 4, 15, 15, 49, 49, 26,112, 64,103,102,102, 92, 93, 93, 65, 79, 79, + 36, 73, 65, 7, 82, 0, 0,103,128, 92, 89, 78, 96, 21, 79, 80, 80, 80,106, 93, 10, 96, 16, 70, 78, 31, 49, 46, 41, 80, 55, 50, + 60, 60, 31, 22, 0, 63, 51, 47, 51, 51,225, 50, 50, 16,225, 63, 51, 51, 51, 57, 47,225, 57, 16,225, 50, 26,205, 50, 47,225, 1, + 47,225, 51, 47, 17, 51, 47, 51, 51, 47, 51, 26, 16,206, 50, 47, 50, 47, 51, 47, 16,225, 18, 57, 17, 51, 93, 93, 93, 93, 51, 93, + 93, 93, 93, 16,225, 50, 48, 49, 1, 50, 22, 23, 21, 38, 38, 35, 34, 6, 7, 30, 3, 21, 20, 14, 2, 7, 21, 30, 3, 21, 20, 14, + 2, 35, 34, 14, 2, 21, 20, 30, 2, 51, 50, 62, 2, 51, 50, 22, 23, 21, 46, 3, 35, 34, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, + 51, 50, 62, 2, 53, 52, 38, 35, 35, 53, 51, 50, 62, 2, 53, 52, 38, 35, 34, 6, 7, 39, 54, 54, 55, 46, 3, 39, 53, 51, 22, 22, + 23, 62, 3, 3,125, 22, 31, 17, 14, 22, 14, 46, 92, 42, 59, 98, 69, 38, 28, 50, 71, 43, 47, 83, 61, 36, 55,121,191,135, 74, 89, + 47, 15, 15, 37, 64, 48, 54,109,102, 90, 36, 72, 78, 14, 10, 36, 43, 46, 21, 34, 92,108,119, 60, 95,122, 69, 26, 35, 85,145,110, + 81,125, 85, 45,154,159,148,121, 59,111, 86, 53,129,121, 79,147, 83, 63, 62,118, 70, 21, 47, 48, 45, 20,121, 54,101, 56, 28, 61, + 71, 83, 5, 82, 4, 6,117, 3, 3, 75, 62, 12, 46, 68, 92, 59, 50, 78, 59, 41, 13, 11, 13, 43, 66, 92, 62, 67,117, 86, 49, 14, + 26, 38, 23, 22, 35, 24, 13, 3, 4, 3, 22, 19,151, 10, 15, 10, 6, 3, 3, 3, 43, 69, 87, 45, 51, 90, 67, 40, 19, 43, 69, 51, + 94, 91,153, 11, 35, 66, 54, 77, 77, 38, 34,147, 28, 34, 8, 28, 57, 56, 51, 21, 27, 35, 96, 56, 34, 70, 57, 36,255,255, 0, 57, + 0, 0, 4,150, 5,182, 2, 6, 1,117, 0, 0,255,255, 0, 80,254, 20, 4,131, 6, 18, 2, 6, 1,149, 0, 0, 0, 3, 0, 84, +255,236, 4,123, 5,205, 0, 19, 0, 30, 0, 41, 0, 43, 64, 22, 25, 37, 91, 0, 43, 36, 26, 91, 10, 26, 96, 36, 36, 20, 31, 95, + 15, 4, 20, 95, 5, 19, 0, 63,225, 63,225, 18, 57, 47,225, 1, 47,225, 50, 16,222,225, 50, 48, 49, 1, 20, 2, 6, 6, 35, 34, + 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 22, 18, 1, 50, 62, 2, 55, 33, 30, 3, 19, 34, 14, 2, 7, 33, 46, 3, 4,123, 64, +132,200,135,142,201,129, 60, 60,129,203,142,135,199,131, 64,253,237, 87,123, 79, 39, 4,253,103, 4, 40, 80,123, 88, 85,122, 81, + 42, 5, 2,153, 5, 42, 79,120, 2,221,169,254,234,198,108,108,198, 1, 23,170,170, 1, 21,196,107,107,197,254,235,253, 7, 71, +134,194,122,122,194,134, 71, 4,154, 67,128,184,117,117,184,128, 67, 0, 0, 3, 0,115,255,236, 4, 88, 4, 94, 0, 19, 0, 25, + 0, 30, 0, 43, 64, 22, 29, 22, 72, 0, 32, 28, 23, 72, 10, 23, 80, 28, 28, 20, 26, 80, 15, 16, 20, 80, 5, 22, 0, 63,225, 63, +225, 18, 57, 47,225, 1, 47,225, 50, 16,222,225, 50, 48, 49, 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 1, + 32, 19, 33, 22, 22, 19, 32, 3, 33, 2, 4, 88, 74,133,184,111,103,180,134, 78, 73,132,185,111,103,181,134, 78,254, 14, 1, 26, + 26,253,151, 11,156,140,254,239, 32, 2,101, 35, 2, 39,137,213,145, 76, 76,145,213,137,136,211,145, 75, 75,145,211,253,212, 1, +100,179,177, 3, 68,254,186, 1, 70, 0, 0, 1, 0, 63, 0, 0, 5, 33, 5,195, 0, 28, 0, 79, 64, 47, 26, 26, 5, 25, 6, 55, + 6, 1, 38, 6, 1, 6, 24, 7, 56, 7, 2, 7, 13, 17, 13, 8, 0, 25, 48, 25, 80, 25, 96, 25, 4, 25, 9, 8, 26, 0, 97, 25, + 22, 4, 8, 3, 13, 7, 18, 6, 18, 0, 63, 63, 51, 63, 63, 51,225, 50, 1, 47, 51, 47, 93, 18, 57, 57, 17, 51, 93, 51, 93, 93, + 17, 18, 57, 50, 47, 48, 49, 1, 34, 14, 2, 7, 1, 35, 1, 51, 1, 22, 22, 23, 54, 54, 55, 19, 62, 3, 51, 50, 22, 23, 21, 38, + 38, 4,180, 35, 53, 42, 36, 18,254,215,209,254, 61,197, 1, 10, 26, 45, 17, 14, 42, 26,142, 32, 60, 76,103, 75, 35, 68, 26, 23, + 54, 5, 45, 37, 72,103, 66,251,233, 5,182,252,109, 93,185, 79, 78,188, 97, 2, 0,113,156, 98, 43, 13, 8,151, 9, 13, 0, 1, + 0, 82, 0, 0, 4,174, 4, 82, 0, 35, 0, 80, 64, 51, 33, 24, 34,102, 34,118, 34, 2, 23, 34, 55, 34, 71, 34, 87, 34, 4, 34, + 24, 35, 40, 35, 56, 35, 3, 35, 9, 16, 9, 0, 47, 24, 1, 24, 1, 64, 0, 80, 0, 2, 0, 34, 9, 35, 21, 28, 79, 21, 15, 0, + 15, 0, 63, 63,225, 63, 51, 51, 1, 47, 93, 51, 47, 93, 18, 57, 57, 17, 51, 93, 51, 93, 93, 17, 18, 57, 48, 49, 19, 51, 19, 30, + 5, 23, 51, 62, 3, 55, 19, 62, 3, 51, 50, 22, 23, 21, 38, 38, 35, 34, 14, 2, 7, 1, 35, 82,188,224, 8, 21, 24, 24, 20, 16, + 3, 6, 7, 25, 30, 31, 12,102, 30, 53, 65, 83, 60, 26, 44, 14, 11, 32, 18, 26, 40, 32, 29, 15,254,246,231, 4, 74,253,162, 22, + 63, 70, 74, 67, 57, 18, 30, 93,103,101, 37, 1, 64, 93,117, 67, 24, 7, 3,135, 3, 5, 19, 40, 65, 46,252,225,255,255, 0, 63, + 0, 0, 5, 33, 7,115, 2, 38, 2,128, 0, 0, 1, 7, 3,118,255,224, 1, 82, 0, 25,182, 2, 1, 29, 5, 38, 2, 1,184,255, +109,180, 49, 29, 8, 25, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 82, 0, 0, 4,174, 6, 33, 2, 38, 2,129, 0, 0, + 1, 6, 3,118,212, 0, 0, 25,182, 2, 1, 36, 17, 38, 2, 1,184,255,145,180, 56, 36, 0, 24, 37, 1, 43, 53, 53, 0, 43, 53, + 53, 0, 0, 3, 0, 70,254, 20, 4,215, 5,205, 0, 19, 0, 39, 0, 72, 0,111, 64, 68,136, 72,152, 72, 2, 72, 16, 11, 16, 72, + 72, 47, 40, 55, 65, 65, 39, 41, 1, 6, 41, 1, 41,250, 6, 40, 1, 40, 40, 30,250, 15, 0, 1, 0, 0, 10, 40, 54, 1, 9, 54, + 1, 54,250,240, 55, 1, 55, 20,250, 10, 72, 47, 73, 68, 61, 28, 54, 40, 15, 35, 95, 15, 4, 25, 5, 19, 0, 63,193, 63,225, 63, + 51, 63,205, 17, 51, 51, 1, 47,225, 47, 93,225, 93, 93, 18, 57, 47, 93,225, 51, 47, 93,225, 93, 93, 51, 47, 17, 18, 57, 57, 43, + 93, 49, 48, 1, 20, 2, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 22, 18, 5, 20, 30, 2, 51, 50, 62, 2, 53, + 52, 46, 2, 35, 34, 14, 2, 37, 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 51, 3, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, + 55, 55, 2,106, 16, 56,109, 93, 93,109, 56, 16, 16, 57,109, 94, 93,108, 56, 15,254,121, 10, 26, 46, 35, 36, 46, 25, 10, 9, 26, + 45, 35, 36, 46, 27, 10, 1,176,156,100, 4, 9, 9, 8, 3, 4, 2, 5, 7, 7, 4,106,156,242, 15, 41, 62, 88, 62, 37, 48, 21, + 20, 47, 25, 49, 63, 19, 24, 2,221,182,254,231,191, 99, 98,192, 1, 26,183,177, 1, 23,193,101,101,193,254,232,178,137,219,153, + 81, 81,153,219,137,138,218,151, 81, 81,151,218,227,253,159, 23, 56, 61, 63, 30, 25, 62, 64, 60, 22, 2, 97,251, 14, 78,120, 83, + 43, 11, 6,145, 5, 7, 87, 99,136, 0, 0, 3, 0, 80,254, 20, 4,205, 4, 94, 0, 19, 0, 29, 0, 62, 0,151, 64,100, 88, 62, +104, 62, 2, 57, 62, 73, 62, 2, 40, 62, 1, 37, 62, 45, 21, 31, 1, 31, 73, 30, 0, 30, 1, 30, 0, 0, 54, 1, 54, 54,137, 25, + 1, 88, 25,104, 25,120, 25, 3, 25, 73, 89, 0, 1, 15, 0, 1, 0, 0, 10, 88, 44, 1, 73, 44, 1, 56, 44, 1, 25, 44, 1, 8, + 44, 1, 44, 73, 45,133, 20, 1,102, 20,118, 20, 2, 20, 73, 10, 37, 62, 30, 58, 80, 51, 27, 44, 30, 15, 28, 80, 15, 16, 23, 80, + 5, 22, 0, 63,225, 63,225, 63, 51, 63,225, 17, 57, 57, 1, 47,225, 93, 93, 47,225, 93, 93, 93, 93, 93, 18, 57, 47, 93, 93,225, + 93, 93, 51, 47, 93, 17, 51, 93, 16,225, 93, 18, 57, 57, 93, 93, 93, 48, 49, 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, + 50, 30, 2, 5, 20, 22, 51, 50, 17, 52, 38, 35, 34, 37, 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 51, 3, 14, 3, 35, 34, 38, 39, + 53, 22, 22, 51, 50, 54, 55, 55, 2,115, 38, 71,102, 64, 61,100, 72, 39, 40, 73,101, 60, 57,100, 73, 43,254,123, 59, 57,117, 60, + 57,116, 1,155,156,100, 4, 9, 9, 8, 3, 4, 2, 5, 6, 8, 4,106,156,242, 15, 41, 62, 88, 62, 37, 48, 22, 20, 48, 25, 49, + 63, 19, 24, 2, 39,168,221,130, 52, 52,130,221,168,168,219,129, 51, 51,129,219,168,211,209, 1,164,210,206,131,253,159, 23, 56, + 61, 63, 30, 25, 62, 64, 60, 22, 2, 97,251, 14, 78,120, 83, 43, 11, 6,145, 5, 7, 87, 99,136, 0, 2, 0, 84,255,139, 4,123, + 6, 41, 0, 31, 0, 63, 0, 94, 64, 53, 37, 11, 11, 59, 21, 43, 5, 5, 53, 27, 21, 27, 16, 48, 91, 0, 65, 32, 91, 31, 16, 47, + 16, 2, 16, 59, 79, 56, 95, 56, 2, 56, 56, 53, 95, 24, 21, 27, 3, 43, 64, 40, 80, 40, 2, 40, 40, 37, 95, 8, 5, 11, 18, 0, + 63, 51,205,225, 50, 47, 93, 50, 63, 51,205,225, 50, 47, 93, 50, 1, 47, 93,225, 16,222,225, 18, 57, 57, 17, 51, 51, 17, 51, 17, + 51, 51, 17, 51, 48, 49, 1, 20, 14, 2, 7, 6, 6, 35, 34, 38, 39, 46, 3, 53, 52, 62, 2, 55, 54, 54, 51, 50, 22, 23, 30, 3, + 5, 20, 30, 2, 23, 54, 54, 51, 50, 22, 23, 62, 3, 53, 52, 46, 2, 39, 6, 6, 35, 34, 38, 39, 14, 3, 4,123, 48, 97,147, 99, + 14, 74, 54, 58, 71, 14,103,146, 94, 44, 44, 94,146,103, 14, 71, 58, 54, 74, 14, 99,147, 97, 48,252,158, 22, 47, 75, 54, 17, 67, + 51, 48, 69, 17, 55, 77, 48, 22, 22, 48, 77, 55, 16, 70, 48, 52, 68, 17, 53, 74, 47, 22, 2,221,146,247,190,126, 26, 62, 53, 53, + 62, 26,126,190,248,147,146,246,189,125, 25, 62, 49, 50, 59, 26,126,189,247,147,108,182,142,101, 28, 45, 37, 39, 45, 26,100,143, +184,110,110,183,143, 99, 26, 48, 40, 38, 46, 27,101,141,180, 0, 0, 2, 0,115,255,152, 4, 88, 4,174, 0, 33, 0, 54, 0, 88, + 64, 47, 36, 11, 11, 53, 21, 42, 5, 5, 47, 29, 21, 29, 16, 44, 72, 0, 56, 34, 72, 0, 16, 1, 16, 53, 95, 50, 1, 50, 50, 47, + 81, 24, 21, 29, 15, 80, 39, 1, 39, 39, 36, 42, 81, 11, 8, 5, 21, 0, 63,205, 51,225, 50, 50, 47, 93, 63, 51,205,225, 50, 47, + 93, 50, 1, 47, 93,225, 16,222,225, 18, 57, 57, 17, 51, 51, 17, 51, 17, 51, 51, 17, 51, 48, 49, 1, 20, 14, 2, 7, 6, 6, 35, + 34, 38, 39, 46, 3, 53, 52, 62, 2, 55, 54, 54, 51, 50, 30, 2, 23, 30, 3, 5, 16, 23, 54, 54, 51, 50, 22, 23, 54, 17, 52, 38, + 39, 6, 6, 35, 34, 38, 39, 6, 4, 88, 54, 98,139, 86, 9, 60, 54, 58, 59, 8, 81,136, 99, 56, 53, 97,138, 84, 10, 58, 57, 27, + 42, 30, 20, 4, 81,139,100, 57,252,215,191, 11, 56, 51, 48, 57, 12,195, 99, 96, 12, 57, 48, 51, 55, 12,191, 2, 39,117,188,141, + 92, 19, 54, 44, 44, 54, 20, 92,141,188,116,115,187,141, 91, 19, 54, 40, 9, 21, 36, 28, 19, 91,141,187,115,254,184, 71, 38, 29, + 31, 38, 71, 1, 74,165,197, 35, 42, 29, 31, 40, 71, 0, 0, 3, 0, 82,255,236, 4,123, 8, 61, 0, 21, 0, 39, 0,102, 0,180, + 64,107, 53, 15, 54, 63, 54, 79, 54, 95, 54,127, 54,143, 54, 6, 54, 54, 48,251, 60, 40, 70, 29, 22, 34, 25, 11, 12, 70, 34, 1, + 34, 12, 12, 34, 1, 3, 80, 60,104, 87, 0, 86, 48, 86, 64, 86, 80, 86,112, 86,128, 86, 6, 86, 86, 92,251, 80, 53, 87, 87, 51, + 89, 95, 83, 54, 86, 86, 83, 29, 37, 26, 26, 79, 25, 95, 25,111, 25, 3, 25, 83, 37, 37, 2, 7, 16, 16, 11, 0, 79, 2, 1, 2, + 2, 57, 83, 4,102,102, 43, 97, 95, 70, 65, 75, 19, 0, 63, 51, 51,225, 50, 50, 47, 63, 51, 51, 47, 93, 51, 51, 51, 47, 51, 17, + 51, 47, 16,198, 93, 50, 47, 18, 57, 17, 51, 17, 51, 16,225, 50, 50, 17, 51, 1, 47,225, 50, 47, 93, 51, 16,206, 17, 23, 57, 47, + 47, 47, 18, 57, 17, 51, 50, 16,221,205, 17, 51, 16,225, 50, 47, 93, 51, 49, 48, 1, 21, 35, 34, 46, 2, 35, 34, 6, 21, 21, 35, + 53, 52, 54, 51, 50, 30, 2, 51, 7, 20, 6, 7, 53, 54, 54, 53, 52, 46, 2, 53, 52, 54, 51, 50, 22, 3, 22, 22, 51, 50, 62, 2, + 53, 16, 2, 35, 34, 7, 39, 54, 54, 51, 50, 18, 17, 20, 2, 6, 6, 35, 34, 46, 2, 39, 14, 3, 35, 34, 38, 38, 2, 53, 16, 18, + 51, 50, 22, 23, 7, 38, 35, 34, 2, 17, 20, 30, 2, 51, 50, 62, 2, 55, 3,221, 14, 80,135,114, 94, 38, 43, 55,133,118,103, 54, +106,112,125, 74,232,119,122, 60, 56, 31, 36, 31, 50, 46, 59, 68,125, 36, 90, 51, 48, 67, 42, 19, 78, 66, 55, 41, 47, 34, 88, 48, +146,147, 34, 78,128, 94, 33, 54, 46, 43, 23, 22, 42, 46, 53, 33, 94,128, 79, 35,147,146, 48, 88, 34, 47, 41, 56, 66, 77, 19, 43, + 68, 48, 27, 45, 41, 40, 21, 7,203,129, 36, 42, 36, 45, 53, 16, 35,107,101, 36, 42, 36,226, 77,115, 31, 76, 22, 45, 25, 19, 18, + 16, 26, 28, 37, 38, 70,249,232, 57, 66, 89,164,229,141, 1, 19, 1, 20, 29,152, 23, 18,254,153,254,154,192,254,219,198,101, 9, + 20, 33, 24, 24, 33, 20, 9,101,198, 1, 37,192, 1,102, 1,103, 18, 23,152, 29,254,236,254,237,141,229,164, 89, 17, 32, 46, 28, + 0, 3, 0, 88,255,236, 4,115, 7, 8, 0, 59, 0, 81, 0, 98, 0,156, 64, 41, 15, 47,191, 47,255, 47, 3, 47, 64, 11, 17, 72, + 47, 47, 41, 73, 33, 3, 11, 55,100, 70, 73, 88, 82, 93, 93, 85, 85, 61, 61, 72, 11, 0, 19,176, 19,240, 19, 3, 19,184,255,192, + 64, 45, 11, 17, 72, 19, 19, 25, 73, 11, 88, 96, 86, 85, 96, 96, 72, 67, 76, 60, 61, 61, 15, 72, 1, 72, 72, 85, 46, 44, 44, 20, + 22, 81, 50, 47, 19, 16, 16, 38, 33, 28, 81, 3, 0, 6, 22, 0, 63, 51, 51,225, 50, 50, 63, 51, 51, 51,225, 50, 50, 17, 51,206, + 50, 47, 93, 51, 47, 51,205, 50, 17, 51, 47, 16,205, 17, 57, 1, 47,225, 50, 47, 43, 93, 16,196, 50, 47, 50, 47, 51, 47,221,201, + 47, 51, 16,222, 17, 57, 57,225, 50, 47, 43, 93, 49, 48, 5, 34, 38, 39, 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, + 7, 38, 35, 34, 6, 21, 20, 22, 51, 50, 62, 2, 55, 30, 3, 51, 50, 54, 53, 52, 38, 35, 34, 7, 39, 54, 54, 51, 50, 30, 2, 21, + 20, 14, 2, 19, 21, 35, 34, 46, 2, 35, 34, 6, 21, 21, 35, 53, 52, 54, 51, 50, 30, 2, 51, 7, 20, 6, 7, 53, 54, 53, 52, 46, + 2, 53, 52, 54, 51, 50, 22, 3, 29, 62, 91, 32, 32, 88, 60, 76,127, 91, 50, 40, 76,109, 68, 46, 95, 35, 51, 49, 62, 73, 68,102, + 95, 26, 46, 40, 34, 15, 16, 35, 40, 47, 28, 94,101, 68, 74, 58, 50, 51, 35, 94, 45, 70,109, 75, 39, 51, 90,126,105, 8, 80,129, +110, 96, 46, 43, 55,134,118,104, 62,108,108,119, 74,232,120,121,116, 31, 36, 31, 50, 46, 59, 68, 20, 35, 32, 32, 35, 60,133,215, +155,157,219,137, 62, 20, 25,145, 30,201,212,211,195, 14, 24, 30, 16, 16, 30, 24, 14,195,211,212,201, 30,145, 25, 20, 62,137,219, +157,150,213,137, 63, 6,170,130, 36, 43, 36, 46, 52, 17, 23,108,113, 36, 42, 36,226, 77,115, 31, 76, 41, 51, 19, 18, 16, 26, 27, + 38, 38, 70, 0, 0, 2, 0, 82,255,236, 4,123, 7, 4, 0, 13, 0, 74, 0,173, 64,100, 27, 27, 14,251, 72, 0, 59, 32, 59, 2, + 59, 59, 5, 72, 1,197, 72,213, 72, 2, 6, 72,150, 72,166, 72, 3, 72, 72, 53, 21,251, 4, 2, 3, 5, 6, 6, 8, 7, 9, 10, + 10, 11, 11, 7, 3, 3, 12, 15, 1, 31, 1, 2, 1, 33, 76, 0, 12, 16, 12, 2, 12, 65,251, 53, 73, 73, 56, 70, 26, 60, 60, 24, + 62, 95, 56, 27, 59, 59, 56, 13, 5, 9, 7, 3, 11, 30, 56, 4, 14, 72, 72, 16, 70, 95, 43, 38, 48, 19, 0, 63, 51, 51,225, 50, + 50, 17, 51, 63, 51,222, 50, 50,221, 50,205, 17, 51, 17, 51, 16,225, 50, 50, 17, 51, 17, 18, 57, 47, 1, 47,225,196, 93, 16,222, +196, 93, 17, 23, 57, 17, 51, 17, 51, 17, 51, 51, 17, 51, 17, 51, 51,225, 17, 57, 47, 93, 93,113, 51, 47, 93, 16,225, 50, 47, 49, + 48, 1, 21, 7, 35, 39, 35, 7, 35, 39, 35, 7, 35, 39, 53, 1, 22, 51, 50, 62, 2, 53, 16, 2, 35, 34, 7, 39, 54, 54, 51, 50, + 18, 17, 20, 2, 6, 6, 35, 34, 46, 2, 39, 14, 3, 35, 34, 38, 38, 2, 53, 16, 18, 51, 50, 22, 23, 7, 38, 35, 34, 2, 17, 20, + 30, 2, 51, 50, 55, 17, 51, 3,221, 82, 35, 49,143, 49, 35, 49,144, 49, 35, 79, 1,204, 39, 56, 48, 67, 42, 19, 78, 66, 55, 41, + 47, 34, 88, 48,146,147, 34, 78,128, 94, 33, 54, 46, 43, 23, 22, 42, 46, 53, 33, 94,128, 79, 35,147,146, 48, 88, 34, 47, 41, 56, + 66, 77, 19, 43, 68, 48, 57, 37,170, 7, 4, 27,172,103,103,103,103,172, 27,249,182, 43, 89,164,229,141, 1, 19, 1, 20, 29,152, + 23, 18,254,153,254,154,192,254,219,198,101, 13, 24, 37, 24, 24, 37, 24, 13,101,198, 1, 37,192, 1,102, 1,103, 18, 23,152, 29, +254,236,254,237,141,229,164, 89, 43, 1,220, 0, 0, 2,255,252, 0, 0, 4,137, 5,164, 0, 13, 0, 56, 0,204, 64, 25, 22, 47, + 1, 47, 35, 48, 29, 73, 6, 56, 22, 56, 2, 22, 56, 38, 56, 70, 56, 86, 56,214, 56, 5, 56,184,255,240, 64,102, 17, 20, 72, 56, + 20, 14, 8, 48, 1,152, 48,184, 48,216, 48,232, 48, 4, 25, 48, 41, 48, 73, 48, 89, 48,105, 48, 5, 27, 52, 48, 3, 41, 14, 15, + 40, 28, 56, 28, 2, 10, 28, 1, 28, 28, 15, 41, 73, 4, 2, 3, 5, 6, 6, 8, 7, 9, 10, 10, 11, 11, 7, 3, 3, 12, 15, 1, + 1, 1, 42, 58, 0, 12, 80, 12, 2, 12, 16, 73, 15, 35, 48, 21, 52, 27, 27, 15, 14, 13, 5, 9, 7, 3, 11, 41, 28, 15, 15, 20, + 14, 21, 0, 63, 51, 63, 51, 51,222, 50, 50,221, 50,205, 17, 18, 57, 17, 51, 63, 51, 1, 47,225,198, 93, 16,222,198, 93, 17, 23, + 57, 17, 51, 17, 51, 17, 51, 51, 17, 51, 17, 51, 51,237, 17, 57, 47, 93, 93, 18, 57, 18, 23, 57, 93, 93,113, 17, 51, 51, 43, 93, +113,225, 17, 51, 51, 93, 48, 49, 1, 21, 7, 35, 39, 35, 7, 35, 39, 35, 7, 35, 39, 53, 19, 1, 51, 19, 22, 22, 23, 51, 62, 3, + 55, 19, 3, 51, 19, 30, 3, 23, 51, 62, 2, 18, 53, 51, 20, 2, 2, 6, 7, 35, 3, 38, 38, 39, 6, 6, 7, 3, 3,207, 82, 35, + 49,143, 50, 34, 50,143, 49, 35, 80, 58,254,225,160,163, 20, 34, 8, 4, 5, 15, 18, 20, 10, 86,109,150,137, 8, 22, 23, 22, 7, + 6, 63, 79, 45, 16,153, 26, 66,113, 88,163, 84, 7, 11, 3, 5, 16, 8,106, 5,164, 27,172,103,103,103,103,172, 27,250, 92, 4, + 74,253, 92, 85,157, 51, 18, 56, 65, 67, 30, 1, 16, 1,205,253,176, 33, 96,103, 96, 33,104,210,230, 1, 2,151,163,254,224,254, +245,253,127, 1, 84, 26, 56, 20, 20, 62, 22,254,174, 0, 0, 1, 0,129,254, 20, 4,156, 5,203, 0, 35, 0, 52, 64, 27, 16, 90, + 17, 17, 24, 33, 32, 32, 37, 5, 91, 0, 24, 1, 24, 33, 0, 95, 32, 29, 4, 15, 10, 95, 19, 19, 16, 0, 47, 63,225, 50, 63, 51, +225, 50, 1, 47, 93,225, 17, 51, 47, 51, 18, 57, 47,225, 48, 49, 1, 34, 14, 2, 21, 20, 30, 2, 51, 50, 62, 2, 55, 17, 35, 17, + 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, 7, 38, 38, 3, 29,107,174,123, 67, 59,118,176,118, 29, 45, 40, 37, 21, +187, 16,164,240,157, 76, 87,170,249,162,108,196, 79, 78, 63,148, 5, 39, 81,152,218,137,141,219,150, 78, 4, 9, 13, 9,253, 98, + 1,216,108,198, 1, 22,169,166, 1, 20,198,110, 44, 42,156, 32, 46, 0, 0, 1, 0,172,254, 20, 4, 37, 4, 94, 0, 31, 0, 53, + 64, 28, 29, 71, 30, 30, 5, 14, 13, 13, 33, 20, 72, 0, 5, 1, 5, 29, 27, 14, 17, 81, 13, 10, 16, 28, 25, 81, 0, 22, 0, 63, +225, 50, 63, 51,225, 50, 63, 1, 47, 93,225, 17, 51, 47, 51, 18, 57, 47,225, 48, 49, 5, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, + 23, 7, 38, 38, 35, 34, 6, 21, 20, 30, 2, 51, 50, 54, 55, 17, 35, 17, 2,197,113,196,145, 83, 84,149,206,122, 90,172, 66, 62, + 58,131, 79,190,181, 49, 94,135, 87, 53, 85, 34,182, 20, 63,137,213,150,157,219,137, 62, 34, 25,158, 22, 35,204,209,105,154, 99, + 48, 19, 14,253,104, 1,216, 0, 0, 1, 0, 94,255,250, 4,111, 5, 10, 0, 19, 0,168, 64, 75, 6, 9, 10, 13, 4, 14, 5, 14, + 3, 0, 19, 16, 4, 4, 15, 15, 2, 63, 1, 79, 1, 95, 1,175, 1, 4, 1, 1, 18, 17, 21, 12, 48, 11, 64, 11, 80, 11,160, 11, + 4, 11, 11, 7, 4, 5, 5, 8, 7, 13, 16, 12, 17, 10, 19, 11, 18, 11, 12, 6, 3, 7, 2, 7, 9, 0, 1, 8, 8, 12, 64, 21, + 26, 72, 12,184,255,192, 64, 9, 12, 12, 15, 14, 17, 18, 18, 1, 2,184,255,192,182, 21, 26, 72, 2, 2, 5, 4, 0, 47, 51, 51, + 47, 43, 51, 51, 47, 51, 47, 51, 51, 47, 56, 43, 51, 47, 18, 57, 57, 51, 17, 18, 57, 57, 17, 51, 17, 18, 57, 57, 17, 18, 57, 57, + 1, 47, 51, 51, 47, 51, 17, 51, 47, 93, 51, 16,206, 50, 50, 47, 93, 51, 50, 47, 18, 23, 57, 51, 17, 18, 23, 57, 48, 49, 1, 5, + 7, 37, 3, 39, 19, 37, 55, 5, 19, 37, 55, 5, 19, 23, 3, 5, 7, 37, 2, 66, 1, 28, 71,254,227,180,129,180,254,229, 70, 1, + 31,198,254,228, 71, 1, 29,182,127,182, 1, 31, 74,254,229, 1,176,166,123,164,254,199, 74, 1, 59,164,123,164, 1, 90,164,125, +164, 1, 57, 73,254,196,164,123,164, 0, 0, 1, 0,242, 4,143, 3,217, 5,184, 0, 21, 0, 23, 64, 9, 4, 10, 16, 0, 19, 15, +141, 4, 7, 0, 47,221,253,204, 1, 47, 51, 47, 51, 48, 49, 1, 20, 6, 35, 33, 6, 6, 35, 34, 38, 53, 52, 62, 2, 51, 33, 54, + 54, 51, 50, 22, 3,217, 43, 57,254, 63, 6, 44, 48, 56, 40, 9, 23, 38, 28, 1,192, 5, 46, 48, 56, 42, 5, 80, 57, 41, 44, 51, + 51, 56, 28, 37, 22, 9, 45, 49, 50, 0, 0, 1, 0,242, 4,229, 3,221, 5,217, 0, 21, 0, 31, 64, 14, 20, 10,132, 15, 8, 1, + 8, 21, 20, 20, 14, 5,128, 10, 0, 47, 26,204, 50, 51, 47, 51, 1, 47, 93,225, 47, 49, 48, 1, 50, 62, 2, 51, 50, 22, 21, 21, + 35, 53, 52, 38, 35, 34, 14, 2, 35, 35, 53, 1, 0, 78,133,119,112, 58,109,124,133, 58, 46, 42,101,121,145, 85, 16, 5,102, 36, + 43, 36,101,108, 35, 17, 52, 46, 36, 43, 36,129, 0, 1, 1,225, 4,215, 2,211, 6, 53, 0, 17, 0, 35, 64, 18, 15, 64, 9, 12, + 72, 15, 11, 6, 0, 11, 3, 14,140, 15,127, 3, 1, 3, 0, 47, 93, 47,225, 18, 57, 1, 47,205,205,205, 43, 48, 49, 1, 52, 54, + 51, 50, 22, 21, 20, 14, 2, 21, 20, 22, 23, 21, 38, 38, 1,225, 68, 59, 47, 50, 31, 37, 31, 57, 60,122,120, 5,182, 57, 70, 38, + 38, 27, 26, 16, 18, 19, 25, 46, 21, 76, 31,115, 0, 1, 1,225, 4,215, 2,211, 6, 53, 0, 17, 0, 38,178, 12, 7, 3,184,255, +192, 64, 14, 9, 12, 72, 3, 0, 7, 3,127, 15, 1, 15, 4,140, 3, 0, 47,225, 47, 93, 18, 57, 1, 47,205, 43,205,205, 48, 49, + 1, 20, 6, 7, 53, 54, 54, 53, 52, 46, 2, 53, 52, 54, 51, 50, 22, 2,211,120,122, 60, 57, 31, 36, 31, 50, 46, 59, 68, 5,182, + 77,115, 31, 76, 21, 46, 25, 19, 18, 16, 26, 27, 38, 38, 70, 0, 0, 8, 0, 41, 0, 47, 4,164, 4, 53, 0, 13, 0, 27, 0, 41, + 0, 55, 0, 69, 0, 83, 0, 99, 0,113, 0, 0, 1, 50, 22, 23, 35, 38, 38, 35, 34, 6, 7, 35, 54, 54, 19, 50, 22, 23, 35, 38, + 38, 35, 34, 6, 7, 35, 54, 54, 37, 50, 22, 23, 35, 38, 38, 35, 34, 6, 7, 35, 54, 54, 33, 50, 22, 23, 35, 38, 38, 35, 34, 6, + 7, 35, 54, 54, 1, 50, 22, 23, 35, 38, 38, 35, 34, 6, 7, 35, 54, 54, 33, 50, 22, 23, 35, 38, 38, 35, 34, 6, 7, 35, 54, 54, + 1, 50, 22, 23, 35, 46, 3, 35, 34, 6, 7, 35, 54, 54, 33, 50, 22, 23, 35, 38, 38, 35, 34, 6, 7, 35, 54, 54, 2, 96, 65, 66, + 6, 69, 5, 37, 26, 28, 32, 3, 72, 2, 67, 66, 65, 66, 6, 69, 5, 37, 26, 28, 32, 3, 72, 2, 67, 1,144, 62, 70, 3, 73, 4, + 33, 25, 28, 30, 3, 74, 3, 67,253,167, 65, 69, 6, 72, 5, 37, 26, 27, 31, 3, 70, 4, 62, 2,219, 62, 70, 3, 73, 4, 33, 25, + 28, 30, 3, 74, 3, 67,253,167, 65, 69, 6, 72, 5, 37, 26, 27, 31, 3, 70, 4, 62, 3, 72, 63, 71, 3, 74, 1, 12, 17, 22, 11, + 29, 28, 3, 73, 3, 65,252,212, 65, 69, 3, 73, 4, 35, 25, 26, 30, 3, 74, 3, 67, 4, 53, 77, 62, 32, 17, 15, 34, 63, 76,252, +131, 75, 62, 32, 17, 15, 34, 63, 74,162, 79, 62, 34, 17, 16, 35, 63, 78, 79, 62, 34, 17, 16, 35, 63, 78, 2, 57, 79, 62, 32, 17, + 15, 34, 63, 78, 79, 62, 32, 17, 15, 34, 63, 78,254,232, 78, 65, 17, 20, 11, 3, 16, 35, 66, 77, 78, 65, 34, 17, 16, 35, 66, 77, + 0, 8, 0, 41,255,231, 4,164, 4, 98, 0, 8, 0, 19, 0, 32, 0, 43, 0, 54, 0, 63, 0, 74, 0, 85, 0, 62, 64, 30, 43, 36, + 13, 0, 9, 4, 54, 26, 31, 74, 68, 53, 47, 19, 12, 26, 33, 20, 37, 85, 62, 7, 15, 79, 31, 79, 2, 79, 58, 4, 0, 47,198,196, + 93,214,198,198,212, 50,205, 50, 47,205,196,196,198,196, 1, 47,198,198,212, 50,205, 50, 47,205, 48, 49, 37, 6, 6, 7, 35, 54, + 54, 55, 51, 3, 54, 54, 55, 51, 14, 3, 7, 35, 1, 30, 3, 23, 21, 46, 3, 39, 53, 5, 38, 38, 39, 53, 30, 3, 23, 21, 1, 54, + 54, 55, 23, 14, 3, 7, 39, 1, 6, 6, 7, 39, 54, 54, 55, 23, 3, 38, 38, 39, 55, 30, 3, 23, 7, 1, 22, 22, 23, 7, 46, 3, + 39, 55, 2,184, 12, 45, 25, 79, 17, 23, 5,100,145, 11, 45, 23, 84, 7, 14, 13, 10, 3,100, 1,164, 22, 53, 57, 58, 27, 30, 64, + 62, 57, 23,253, 76, 46,117, 56, 26, 63, 65, 60, 21, 2, 19, 54,111, 44, 63, 21, 55, 56, 52, 18, 70,254,127, 47,113, 51, 64, 41, +109, 55, 72,119, 29, 53, 18, 61, 17, 37, 36, 32, 13, 71, 2, 80, 31, 50, 19, 59, 18, 38, 36, 33, 13, 74,195, 47,119, 54, 87,114, + 35, 2,180, 48,117, 54, 28, 63, 62, 58, 24,254,254, 6, 17, 21, 24, 12, 84, 7, 14, 14, 10, 2,100,145, 12, 45, 25, 82, 6, 13, + 13, 11, 2,103, 1,105, 31, 52, 17, 59, 14, 36, 38, 35, 14, 71,253,176, 24, 55, 19, 59, 25, 74, 39, 74, 1,221, 53,111, 45, 63, + 27, 58, 53, 47, 17, 72,254,129, 53,111, 47, 63, 27, 58, 54, 47, 18, 72, 0, 2, 0,137,254,127, 5, 8, 7,104, 0, 27, 0, 49, + 0, 92, 64, 50, 25, 26, 27, 27, 24, 23, 49,251, 28, 28, 39,251, 38, 38, 9, 21, 0,251, 23, 51, 64, 8, 12,251, 0, 9,224, 9, +240, 9, 3, 9, 49, 39,128, 44, 33, 21, 7, 11, 3, 19, 8, 18, 26, 26, 23, 95, 0, 18, 0, 63,225, 51, 47, 63, 51, 63, 51, 51, +222, 50, 26,204, 50, 1, 47, 93,225, 50, 26, 16,221,225, 50, 17, 57, 47,225, 51, 47,225, 16,205, 50, 16,205, 50, 49, 48, 33, 17, + 52, 54, 55, 54, 55, 35, 1, 35, 17, 51, 17, 20, 14, 2, 7, 6, 7, 51, 1, 51, 17, 51, 3, 35, 19, 3, 14, 3, 35, 34, 46, 2, + 39, 51, 30, 3, 51, 50, 62, 2, 55, 3,154, 5, 4, 4, 5, 8,253,188,215,174, 1, 2, 2, 2, 4, 3, 6, 2, 66,213,194,143, +217,166, 97, 6, 48, 93,142,100,103,140, 87, 42, 5,170, 5, 27, 51, 75, 53, 44, 73, 54, 35, 5, 3, 25, 57,142, 65, 76, 77,251, + 70, 5,182,252,224, 26, 62, 67, 67, 32, 74, 76, 4,180,250,240,253,217, 1,129, 7,104, 77,119, 80, 41, 39, 79,119, 80, 57, 72, + 41, 16, 18, 44, 71, 53, 0, 2, 0,178,254,131, 4,193, 6, 23, 0, 15, 0, 37, 0,164,185, 0, 3,255,240,179, 18, 24, 72, 3, +184,255,224, 64, 96, 11, 14, 72, 37, 3, 53, 3, 2, 9, 16, 18, 24, 72, 9, 32, 11, 14, 72, 42, 9, 58, 9, 2,171, 2, 1,137, + 2,153, 2, 2,164, 8, 1,134, 8,150, 8, 2, 13, 14, 15, 15, 12, 11, 37, 70, 16, 16, 27, 70, 26, 26, 4, 9, 0, 70, 11, 39, + 64, 3, 6, 70, 0, 4, 16, 4, 32, 4,176, 4,192, 4,208, 4, 6, 7, 4, 37, 27,128, 32, 21, 9, 2, 6, 15, 8, 3, 21, 14, + 14, 11, 80, 0, 21, 0, 63,225, 51, 47, 63, 51, 63, 51, 51,222, 50, 26,204, 50, 1, 47, 94, 93,225, 50, 26, 16,220,225, 50, 17, + 57, 47,225, 51, 47,225, 16,205, 50, 16,205, 50, 49, 48, 0, 93, 93, 93, 93, 1, 93, 43, 43, 93, 43, 43, 33, 17, 19, 1, 35, 17, + 51, 17, 7, 1, 51, 17, 51, 3, 35, 19, 3, 14, 3, 35, 34, 46, 2, 39, 51, 30, 3, 51, 50, 62, 2, 55, 3, 94, 10,254, 58,240, +172, 12, 1,201,239,183,123,183,123, 37, 6, 48, 93,142,100,103,140, 87, 42, 5,170, 5, 27, 51, 75, 53, 44, 73, 54, 35, 5, 2, +135, 1, 15,252,106, 4, 74,253,100,252, 3,152,252, 80,253,233, 1,125, 6, 23, 78,118, 81, 41, 39, 80,119, 80, 57, 73, 41, 16, + 19, 43, 72, 53, 0, 2, 0, 47, 0, 0, 4, 70, 5,182, 0, 22, 0, 33, 0, 65, 64, 33, 21, 21, 23, 27, 91, 6, 35, 19, 0, 23, + 90, 16, 14, 12, 33, 95, 0, 22, 14, 95, 15, 19, 15, 0, 15, 0, 15, 17, 3, 23, 96, 12, 18, 0, 63,225, 63, 57, 57, 47, 47, 17, + 51, 16,225, 50, 16,225, 1, 47,198, 51,225, 50, 50, 16,222,225, 17, 57, 47, 48, 49, 1, 51, 50, 30, 2, 21, 20, 14, 2, 35, 33, + 17, 35, 53, 51, 53, 51, 21, 33, 21, 33, 17, 51, 50, 54, 53, 52, 46, 2, 35, 35, 1,129,168,152,207,127, 55, 60,126,194,134,254, +131,152,152,186, 1, 78,254,178,178,175,163, 46, 91,139, 93,147, 3, 78, 66,113,152, 87, 97,158,112, 61, 4, 96,164,178,178,164, +252, 64,132,136, 70, 97, 60, 27, 0, 2, 0, 61, 0, 0, 4, 68, 6, 20, 0, 20, 0, 33, 0, 73, 64, 39, 15, 2, 1, 2, 2, 14, + 28, 70, 8, 35, 4, 0, 22, 71, 18, 16, 14, 21, 80, 4, 3, 16, 79, 17, 0, 17, 47, 4, 1, 4, 17, 4, 17, 19, 0, 22, 80, 14, + 21, 0, 63,225, 63, 57, 57, 47, 47, 93, 17, 51, 16,225, 50, 16,225, 1, 47,198, 51,225, 50, 50, 16,222,225, 17, 57, 47, 93, 48, + 49, 1, 33, 21, 33, 17, 33, 50, 22, 21, 20, 14, 2, 35, 33, 17, 35, 53, 51, 53, 51, 17, 17, 33, 50, 62, 2, 53, 52, 46, 2, 35, + 1,143, 1, 23,254,233, 1, 21,212,204, 47,101,159,113,254, 57,156,156,182, 1, 4, 56, 93, 67, 38, 33, 65, 96, 64, 5, 33,137, +253,239,156,155, 77,124, 88, 47, 4,152,137,243,251,218,254,168, 17, 41, 66, 48, 49, 66, 40, 17, 0, 2, 0,176, 0, 0, 4, 70, + 5,182, 0, 20, 0, 35, 0,108, 64, 59, 25, 8, 26, 7, 7, 28, 5, 27, 6, 6, 31, 91,239, 0,255, 0, 2, 0, 37, 27, 26, 26, + 21, 13, 90, 0, 14,144, 14,160, 14, 3, 14, 25, 8, 26, 7, 26, 28, 5, 6, 27, 27, 21, 6, 7, 7, 12, 96, 22, 21, 21, 13, 35, + 96, 15, 3, 13, 18, 0, 63, 63,225, 18, 57, 47, 51,225, 50, 47, 51, 17, 51, 47, 18, 57, 57, 51, 17, 18, 57, 57, 1, 47, 93,225, + 50, 50, 47, 51, 16,222, 93,225, 51, 47, 18, 57, 57, 51, 17, 18, 57, 57, 48, 49, 1, 20, 14, 2, 7, 23, 7, 39, 6, 6, 35, 35, + 17, 35, 17, 33, 50, 30, 2, 1, 51, 50, 54, 55, 39, 55, 23, 54, 54, 53, 52, 38, 35, 35, 4, 70, 24, 51, 82, 58,104,106,125, 44, + 98, 57,191,186, 1,148,134,194,126, 60,253, 36,170, 32, 59, 26, 94,109,118, 60, 59,163,175,201, 4, 10, 61,115,102, 85, 32,147, + 78,176, 11, 10,253,199, 5,182, 57,109,160,254,103, 3, 5,135, 76,170, 34,121, 93,142,137, 0, 0, 2, 0,158,254, 20, 4, 68, + 4, 94, 0, 35, 0, 57, 0,120, 64, 67, 50, 33, 51, 32, 32, 53, 30, 52, 31, 31, 55, 72, 15, 27, 31, 27, 2, 27, 59, 52, 51, 51, + 42, 16, 15, 6, 12, 71, 0, 13, 16, 13, 32, 13,208, 13, 4, 7, 13, 36, 80, 16, 22, 16, 14, 15, 12, 27, 50, 33, 51, 32, 51, 53, + 30, 31, 52, 52, 47, 80, 0, 31, 32, 32, 5, 0, 22, 0, 63, 50, 50, 47, 51, 16,225, 50, 47, 18, 57, 57, 51, 17, 18, 57, 57, 63, + 63, 63, 51,225, 1, 47, 94, 93,225, 50, 50, 50, 50, 50, 47, 51, 16,222,113,225, 51, 47, 18, 57, 57, 51, 17, 18, 57, 57, 48, 49, + 5, 34, 46, 2, 39, 35, 22, 23, 22, 22, 21, 17, 35, 17, 51, 23, 51, 62, 3, 51, 50, 30, 2, 21, 20, 6, 7, 23, 7, 39, 6, 6, + 3, 34, 14, 2, 7, 21, 20, 30, 2, 51, 50, 54, 55, 39, 55, 23, 54, 53, 52, 38, 2,150, 61, 98, 79, 61, 23, 12, 3, 3, 2, 4, +182,147, 27, 8, 23, 60, 79, 99, 61, 97,158,113, 62, 95, 84,107,107,116, 32, 68, 68, 79,109, 67, 32, 2, 28, 68,111, 84, 18, 34, + 15,106,108,111, 92,132, 20, 26, 43, 58, 32, 34, 31, 26, 55, 16,254, 43, 6, 54,148, 35, 61, 45, 27, 72,143,212,140,177,242, 69, +151, 78,166, 9, 11, 3,219, 46, 94,140, 95, 41,101,157,107, 55, 3, 5,152, 76,160,104,242,208,206, 0, 0, 1, 0,147, 0, 0, + 4,100, 5,182, 0, 13, 0, 49, 64, 24, 5, 5, 8, 0, 15, 3, 7, 90, 12, 10, 8, 6, 10, 95, 3, 11, 11, 7, 2, 95, 13, 3, + 7, 18, 0, 63, 63,225, 18, 57, 47, 51,225, 50, 1, 47,198, 51,225, 50, 16,206, 17, 57, 47, 48, 49, 1, 21, 33, 17, 33, 21, 33, + 17, 35, 17, 35, 53, 51, 17, 4,100,253,129, 1, 80,254,176,186,152,152, 5,182,166,254, 21,162,253,125, 2,131,162, 2,145, 0, + 0, 1, 0,135, 0, 0, 4, 14, 4, 74, 0, 13, 0, 49, 64, 24, 11, 11, 0, 6, 15, 9, 13, 71, 4, 2, 0, 12, 2, 79, 9, 3, + 3, 0, 8, 80, 5, 15, 0, 21, 0, 63, 63,225, 18, 57, 47, 51,225, 50, 1, 47,198, 51,225, 50, 16,206, 17, 57, 47, 48, 49, 33, + 17, 35, 53, 51, 17, 33, 21, 33, 17, 33, 21, 33, 17, 1, 35,156,156, 2,235,253,203, 1, 23,254,233, 1,225,137, 1,224,154,254, +186,137,254, 31, 0, 1, 0,160,254, 0, 4,113, 5,182, 0, 38, 0, 56, 64, 29, 8, 8, 34, 91, 18, 40, 10, 4, 90, 28, 0, 5, + 1, 5, 29, 32, 95, 28, 23, 0, 13, 13, 5, 9, 95, 6, 3, 5, 18, 0, 63, 63,225, 18, 57, 47,193, 47, 51,225, 50, 1, 47, 93, +198,225, 50, 16,222,241,192, 47, 48, 49, 1, 34, 6, 7, 17, 35, 17, 33, 21, 33, 17, 54, 54, 51, 50, 30, 2, 21, 20, 14, 2, 35, + 34, 46, 2, 39, 53, 22, 22, 51, 32, 17, 52, 46, 2, 1,213, 37, 60, 26,186, 2,248,253,194, 29, 72, 45,153,240,165, 87, 82,146, +201,118, 49, 78, 68, 60, 32, 63,127, 72, 1,119, 67,123,174, 2,131, 5, 5,253,135, 5,182,166,254, 11, 5, 3, 92,171,242,151, +170,248,162, 79, 6, 12, 19, 12,162, 23, 24, 1,239,121,185,126, 64, 0, 0, 1, 0,215,254, 10, 4, 88, 4, 74, 0, 41, 0, 53, + 64, 28, 27, 27, 16, 72, 37, 43, 29, 23, 70, 5, 0, 24, 1, 24, 19, 81, 32, 32, 24, 28, 80, 25, 15, 24, 21, 11, 81, 0, 0, 47, +225, 63, 63,225, 18, 57, 47,225, 1, 47, 93,198,225, 50, 16,214,241,192, 47, 48, 49, 1, 34, 46, 2, 39, 53, 30, 3, 51, 50, 62, + 2, 53, 52, 38, 35, 34, 6, 7, 17, 35, 17, 33, 21, 33, 17, 54, 54, 51, 50, 30, 2, 21, 20, 14, 2, 2,127, 41, 65, 55, 49, 26, + 25, 48, 52, 61, 38, 70,110, 77, 40,181,198, 32, 83, 35,180, 2,168,254, 12, 34, 78, 42,125,208,148, 82, 76,129,172,254, 10, 7, + 15, 23, 15,161, 13, 22, 17, 9, 48, 99,153,105,211,203, 6, 6,254, 47, 4, 74,154,254,195, 5, 5, 62,138,219,157,151,214,135, + 63, 0, 0, 1, 0, 0,254,127, 4,205, 5,182, 0, 21, 0,114, 64, 64, 17, 14, 3,250, 11, 8, 16, 4, 1, 4, 4, 7, 21,251, + 20, 20, 15, 47, 16, 63, 16, 2, 16, 16, 1,171, 18, 1,105, 18, 1, 66, 18, 1, 11, 18, 1, 18, 23, 6, 22, 10, 9, 9, 7, 17, + 5, 2, 8, 8, 6, 15, 12, 10, 3, 21, 21, 4, 6, 18, 18, 95, 1, 18, 0, 63,225, 63, 51, 51, 47, 63, 51, 51, 18, 57, 17, 51, + 51, 51, 1, 47, 51, 47, 51, 17, 51, 16,205, 93, 93, 93, 93, 50, 50, 47, 93, 51, 50, 47,225, 17, 57, 47, 93, 51, 51,225, 50, 50, + 49, 48, 33, 35, 1, 17, 35, 17, 1, 35, 1, 1, 51, 1, 17, 51, 17, 1, 51, 1, 1, 51, 17, 35, 4, 29, 49,254,182,156,254,176, +182, 1, 96,254,172,178, 1, 72,156, 1, 65,179,254,176, 1, 16,119,176, 2,229,253, 27, 2,229,253, 27, 2,242, 2,196,253, 60, + 2,196,253, 60, 2,196,253, 60,253,180,253,217, 0, 1, 0, 0,254,131, 4,184, 4, 74, 0, 21, 0, 98, 64, 53, 5, 22, 16, 13, + 2, 73, 10, 7, 3, 3, 8, 20, 73, 0, 27, 17, 1, 17, 15,144, 19,160, 19, 2,127, 19, 1, 16, 19, 1, 19, 9, 6, 8, 16, 13, + 7, 10, 10, 8, 19, 19, 22, 14, 11, 8, 15, 17, 80, 0, 0, 3, 6, 0, 47, 51, 51, 16,225, 63, 51, 51, 17, 51, 47, 18, 57, 17, + 51, 51, 51, 1, 47, 50, 50, 47, 93, 93, 93, 51,205, 93, 50,225, 17, 57, 47, 51, 51,225, 50, 50, 17, 51, 49, 48, 33, 1, 17, 35, + 17, 1, 35, 1, 1, 51, 1, 17, 51, 17, 1, 51, 1, 19, 51, 17, 35, 17, 3,223,254,195,160,254,195,195, 1, 90,254,164,184, 1, + 74,160, 1, 74,184,254,166,250,116,161, 2, 45,253,211, 2, 45,253,211, 2, 53, 2, 21,253,235, 2, 21,253,235, 2, 21,253,235, +254,101,253,233, 1,125,255,255, 0,139,254, 66, 4, 47, 5,203, 2, 38, 1,177, 0, 0, 1, 6, 3,127,247, 0, 0, 14,183, 1, + 1, 0, 50, 44, 9, 4, 37, 1, 43, 53, 0, 53,255,255, 0,201,254, 66, 4, 8, 4, 94, 2, 38, 1,209, 0, 0, 1, 6, 3,127, +245, 0, 0, 17,177, 1, 1,184,255,243,180, 47, 41, 8, 18, 37, 1, 43, 53, 0, 53, 0, 0, 1, 0,211,254,127, 4,186, 5,182, + 0, 14, 0,120, 64, 77,135, 14, 1,117, 14, 1, 54, 14, 86, 14, 2, 14, 11, 7, 90, 0, 8, 96, 8,112, 8,128, 8, 4, 8, 12, + 87, 13, 1, 64, 13, 1, 37, 13, 1, 7, 13, 1, 13, 13, 40, 5, 1, 5, 85, 0, 1, 54, 0, 1, 36, 0, 1, 5, 0, 1, 0, 3, +251,127, 2, 1, 2, 6, 14, 14, 7, 12, 10, 3, 5, 7, 3, 3, 0, 7, 18, 0, 63,196, 51, 47, 17, 51, 63, 51, 18, 57, 17, 51, + 1, 47, 93,225,205, 93, 93, 93, 93, 50, 93, 51, 47, 93, 93, 93, 93, 51, 47, 93,225, 50, 50, 93, 93, 93, 49, 48, 37, 51, 17, 35, + 17, 35, 1, 17, 35, 17, 51, 17, 1, 51, 1, 4, 43,143,176, 55,253,186,186,186, 2, 54,206,253,203,166,253,217, 1,129, 2,229, +253, 27, 5,182,253, 60, 2,196,253, 66, 0, 1, 0,215,254,131, 4,156, 4, 74, 0, 14, 0, 77, 64, 44, 7, 8, 8, 0, 10, 13, + 70,128, 12, 1, 12, 9, 6, 2, 71, 0, 3, 16, 3, 32, 3,128, 3,208, 3, 5, 7, 3, 1, 9, 9, 2, 7, 5, 15, 10, 80, 0, + 0, 2, 13, 13, 2, 21, 0, 63, 51, 47, 17, 51, 16,225, 63, 51, 18, 57, 17, 51, 1, 47, 94, 93,225, 50, 50, 47, 93,225,205, 50, + 50, 47, 51, 49, 48, 33, 1, 17, 35, 17, 51, 17, 1, 51, 1, 1, 51, 17, 35, 17, 3,174,253,221,180,180, 2, 6,222,253,241, 1, +158,158,176, 2, 45,253,211, 4, 74,253,235, 2, 21,253,241,254, 95,253,233, 1,125, 0, 0, 1, 0,211, 0, 0, 4,174, 5,182, + 0, 18, 0,139,183, 11, 7, 90, 8, 18, 15, 2, 3,184, 1, 3, 64, 73, 12, 5, 38, 4, 1, 12, 4, 28, 4, 2, 4, 4, 0, 0, + 8, 96, 8,112, 8,128, 8, 4, 8, 16, 17, 17, 1,208, 0,240, 0, 2,127, 0, 1, 0, 0, 16, 0, 64, 0, 96, 0, 4, 0, 16, + 0, 2, 18, 18, 5, 6, 17, 3, 15, 12, 16, 11, 16, 11, 6, 6, 9, 8, 4, 13, 4, 13, 9, 3, 8, 0, 18, 0, 63, 50, 63, 57, + 57, 47, 47, 17, 18, 57, 17, 51, 50, 17, 18, 57, 57, 63, 18, 57, 57, 17, 51, 1, 47, 56, 93, 93, 93, 51, 51, 47, 51, 47, 93, 18, + 57, 47, 93, 93, 51, 51,225, 50, 50, 50, 16,225, 50, 48, 49, 33, 35, 1, 21, 35, 17, 7, 17, 35, 17, 51, 17, 55, 17, 51, 21, 1, + 51, 1, 4,174,211,254,174,133,119,186,186,119,133, 1, 66,209,253,247, 1,244,205, 1,100, 98,253,215, 5,182,253, 6,164, 1, + 99,179, 1,166,253,101, 0, 1, 0,215, 0, 0, 4,150, 4, 74, 0, 18, 0,127, 64, 75, 13, 10, 17, 73, 7, 22, 18, 1, 12, 18, + 1, 18, 18, 3, 14, 11, 12, 12, 15,164, 14, 1,123, 14,139, 14,155, 14, 3, 0, 14, 96, 14, 2, 14, 16, 14, 6, 2, 71, 0, 3, + 96, 3, 2, 3, 10, 7, 11, 13, 11, 4, 16, 0, 15, 1, 13, 13, 8, 63, 18, 1, 48, 8, 1, 18, 8, 18, 8, 2, 4, 15, 15, 2, + 21, 0, 63, 51, 63, 18, 57, 57, 47, 47, 93, 93, 18, 57, 17, 51, 18, 57, 57, 17, 51, 17, 18, 57, 57, 1, 47, 93,225, 50, 47, 56, + 93, 93, 93, 51, 51, 47, 51, 17, 18, 57, 47, 93, 93, 51,225, 50, 50, 49, 48, 1, 39, 17, 35, 17, 51, 17, 55, 17, 51, 21, 1, 51, + 1, 1, 35, 1, 21, 35, 2, 16,133,180,180,133,125, 1, 4,222,253,241, 2, 54,232,254,223,125, 1,166,135,253,211, 4, 74,253, +235,137, 1, 56,185, 1, 13,253,241,253,197, 1, 39,205, 0, 1, 0, 59, 0, 0, 4,174, 5,182, 0, 20, 0,119, 64, 74, 14, 14, + 5, 0, 20, 2, 19, 16, 12, 4, 90, 9, 7, 0, 5, 96, 5,112, 5,128, 5, 4, 5, 72, 18, 88, 18, 2, 18, 19, 19, 1,208, 0, +240, 0, 2,127, 0, 1, 0, 0, 16, 0, 64, 0, 96, 0, 4, 0, 16, 0, 20, 16, 2, 3, 15, 7, 95, 12, 3,159, 8,175, 8, 2, + 8, 8, 18, 10, 3, 5, 0, 18, 0, 63, 50, 63, 51, 57, 47, 93, 57, 51,225, 50, 17, 51, 51, 51, 1, 47, 56, 93, 93, 93, 51, 51, + 47, 51, 93, 47, 93,198, 51,225, 50, 50, 17, 57, 57, 17, 18, 57, 47, 49, 48, 33, 35, 1, 7, 17, 35, 17, 35, 53, 51, 53, 51, 21, + 51, 21, 35, 17, 55, 1, 51, 1, 4,174,211,254, 62,140,186,152,152,186,213,213,121, 1,197,209,253,247, 2,186,114,253,184, 4, + 96,164,178,178,164,254,123,168, 2, 51,253,131, 0, 1, 0, 59, 0, 0, 4,139, 6, 20, 0, 22, 0,122, 64, 73,118, 14,150, 14, + 2,101, 14, 1, 86, 14, 1, 69, 14, 1, 14, 17, 6, 6, 13, 7, 3, 19, 71, 22, 1, 0, 20, 1, 20, 12, 13, 13, 16, 15, 32, 16, + 19, 72, 0, 15, 96, 15, 2, 15, 16, 15, 14, 17, 89, 17, 1, 17,118, 9, 1, 9, 18, 18, 12, 16, 19, 21, 6, 22, 79, 4, 1, 1, + 2, 12, 15, 2, 0, 0, 63, 63, 18, 57, 47, 51,237, 50, 63, 51, 18, 57, 17, 51, 93, 51, 93, 17, 51, 1, 47, 56, 93, 43, 51, 51, + 47, 51, 47, 93, 51,206,225, 50, 50, 17, 57, 47, 57, 57, 93, 93, 93, 93, 49, 48, 19, 51, 53, 51, 21, 33, 21, 33, 17, 3, 51, 55, + 1, 51, 1, 1, 35, 1, 7, 17, 35, 17, 35, 59,156,180, 1,123,254,133, 16, 4,135, 1,139,222,254, 18, 2, 10,213,254, 86,129, +180,156, 5, 94,182,182,137,254,117,254,223,152, 1,137,254, 37,253,145, 1,248, 82,254, 90, 4,213, 0, 0, 1, 0, 23, 0, 0, + 4,174, 5,182, 0, 14, 0, 95,181, 7, 14, 23, 14, 2, 14,184,255,248, 64, 46, 13, 18, 72, 14, 2, 13, 10, 4, 90, 5, 5, 0, + 7, 12, 13, 8, 13, 13, 1, 0, 16, 0, 14, 2,184, 2, 1,169, 2, 1, 88, 2, 1, 2, 10, 3, 3, 5, 12, 7, 95, 8, 3, 5, + 0, 18, 0, 63, 50, 63,225, 51, 18, 57, 17, 51, 51, 93, 93, 93, 17, 51, 1, 47, 56, 51, 51, 47, 56, 51, 47, 18, 57, 47,225, 50, + 17, 57, 57, 43,113, 48, 49, 33, 35, 1, 7, 17, 35, 17, 33, 53, 33, 17, 55, 1, 51, 1, 4,174,203,254,162,137,186,254,213, 1, +229,104, 1,117,195,254,100, 2,184,153,253,225, 5, 18,164,253, 8,170, 2, 78,253,135, 0, 1, 0, 43, 0, 0, 4,203, 4, 74, + 0, 12, 0, 92, 64, 54,167, 0, 1,150, 0, 1, 0, 1, 16, 1, 1, 40, 4, 56, 4, 2, 4, 14, 12, 11,103, 2, 1, 86, 2, 1, + 71, 2, 1, 2, 6, 71, 0, 7, 1, 7, 7, 3, 9, 3, 16, 3, 5, 2, 2, 7, 9, 80, 0, 10, 15, 7, 3, 21, 0, 63, 51, 63, + 51,225, 18, 57, 17, 51, 1, 47, 56, 47, 18, 57, 47, 93,225, 50, 93, 93, 93, 50, 50, 17, 51, 93, 51, 47, 56, 51, 93, 93, 48, 49, + 1, 51, 1, 1, 35, 1, 17, 35, 17, 33, 53, 33, 17, 3,223,197,254, 96, 1,199,207,254, 76,181,254,152, 2, 29, 4, 74,253,241, +253,197, 2, 45,253,211, 3,176,154,253,235, 0, 0, 1, 0,135,254,127, 4,186, 5,182, 0, 15, 0, 78, 64, 47, 12, 8, 90, 0, + 9, 1, 0, 9, 16, 9,240, 9, 3, 8, 9, 13, 5, 90,159, 0,175, 0, 2, 0, 4,251,127, 1,207, 1, 2, 1, 6, 95, 12, 12, + 8, 14, 10, 3, 5, 8, 3, 3, 0, 8, 18, 0, 63,192, 51, 47, 17, 51, 63, 51, 18, 57, 47,225, 1, 47, 93,225,221, 93,225, 50, + 47, 94, 93,113,225, 50, 48, 49, 37, 51, 17, 35, 17, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 4, 10,176,176,186,253,242,187, +187, 2, 14,186,166,253,217, 1,129, 2,170,253, 86, 5,182,253,152, 2,104, 0, 0, 1, 0,160,254,131, 4,156, 4, 74, 0, 15, + 0, 85, 64, 53, 8, 0, 71, 11, 15, 70, 15, 12, 1,239, 12, 1,160, 12,192, 12, 2, 79, 12,111, 12, 2, 12, 7, 3, 71, 0, 4, + 16, 4, 32, 4,208, 4, 4, 7, 4, 1, 80, 7, 7, 9, 6, 15, 11, 80, 0, 0, 3, 14, 14, 3, 21, 0, 63, 51, 47, 17, 51, 16, +225, 63, 51, 57, 47,225, 1, 47, 94, 93,225, 50, 47, 93, 93, 93,113,225,221,225, 50, 48, 49, 33, 17, 33, 17, 35, 17, 51, 17, 33, + 17, 51, 17, 51, 17, 35, 17, 3, 70,254, 16,182,182, 1,240,182,160,176, 1,233,254, 23, 4, 74,254, 57, 1,199,252, 80,253,233, + 1,125, 0, 1, 0,135, 0, 0, 4,182, 5,182, 0, 13, 0, 75, 64, 47, 9, 1, 90, 63, 0, 79, 0,191, 0, 3, 0, 64, 26, 29, + 72, 0,143, 11, 1, 11, 8, 4, 90, 0, 5, 1, 0, 5, 16, 5,240, 5, 3, 8, 5, 3, 95, 8, 8, 0, 13, 10, 6, 3, 5, 0, + 18, 0, 63, 50, 63, 51,192, 18, 57, 47,225, 1, 47, 94, 93,113,225, 50, 47, 93,220, 43, 93,225, 50, 49, 48, 33, 35, 17, 33, 17, + 35, 17, 51, 17, 33, 17, 33, 21, 33, 3,156,187,254, 97,187,187, 1,159, 1,213,254,230, 2,170,253, 86, 5,182,253,152, 2,104, +164, 0, 0, 1, 0,160, 0, 0, 4,182, 4, 74, 0, 13, 0, 59, 64, 34, 9, 1, 71, 0, 79, 11, 1, 11, 8, 4, 71, 0, 5, 16, + 5, 32, 5,208, 5, 4, 7, 5, 3, 80, 8, 8, 0, 13, 10, 6, 15, 5, 0, 21, 0, 63, 50, 63, 51,192, 18, 57, 47,225, 1, 47, + 94, 93,225, 50, 47, 93,220,225, 50, 48, 49, 33, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 33, 21, 35, 3,199,183,254, 70,182,182, + 1,186, 1,166,239, 1,233,254, 23, 4, 74,254, 57, 1,199,154, 0, 1, 0,106,254, 0, 4,156, 5,182, 0, 36, 0, 68, 64, 38, + 16, 16, 0, 29,251, 30, 30, 34, 23,251, 8, 64, 9, 14, 72, 8, 38, 33,251, 48, 34, 1, 34, 26, 3, 3, 33, 32, 95, 35, 3, 30, + 33, 18, 20, 95, 13, 19, 0, 63,225, 63, 51, 63,225, 18, 57, 47,201, 1, 47, 93,225, 16,222, 43,225, 17, 57, 47,241, 50,192, 47, + 49, 48, 1, 54, 54, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 53, 52, 38, 35, 34, 7, 17, 35, 17, + 33, 17, 35, 17, 33, 2,203, 18, 49, 25, 98,141, 91, 43, 51, 94,134, 84, 54, 85, 43, 38, 73, 47,115,100,103,112, 51, 27,166,254, +235,166, 2, 97, 3, 23, 5, 7, 92,171,242,151,170,248,162, 79, 19, 20,162, 16, 21,247,248,243,253, 12,253,137, 5, 18,250,238, + 5,182, 0, 1, 0,127,254, 10, 4,131, 4, 74, 0, 41, 0, 78, 64, 44, 29, 21, 73, 22, 3, 3, 96, 22, 1, 22, 22, 26, 12, 73, + 15, 37, 31, 37, 2, 37, 43, 25, 73, 0, 26, 1, 26, 17, 81, 32, 32, 26, 24, 80, 27, 15, 22, 26, 21, 4, 7, 81, 3, 0, 0, 47, + 50,225, 50, 63, 51, 63,225, 18, 57, 47,225, 1, 47, 93,225, 16,222, 93,225, 17, 57, 47, 93, 51, 47, 16,225, 50, 49, 48, 1, 34, + 38, 39, 53, 22, 22, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 6, 7, 17, 35, 17, 33, 17, 35, 17, 33, 17, 54, 54, 51, 50, 30, 2, + 21, 20, 14, 2, 3, 57, 60, 92, 40, 42, 82, 56, 50, 70, 44, 20, 20, 47, 76, 57, 23, 45, 20,162,254,254,162, 2, 70, 21, 48, 23, + 78,131, 93, 52, 48, 87,121,254, 10, 22, 21,162, 22, 23, 47, 98,153,107,107,156,102, 49, 4, 6,254, 45, 3,176,252, 80, 4, 74, +254, 39, 6, 6, 57,133,221,165,155,215,133, 60, 0, 2, 0, 84,255,172, 4,162, 5,205, 0, 65, 0, 83, 0,107, 64, 61, 51, 18, + 5, 79, 79, 0, 76, 91, 16, 56, 32, 56, 2, 56, 56, 26, 35, 34, 34, 66, 91, 0, 0, 11, 11, 85, 43, 91, 31, 26, 47, 26, 2, 26, + 71, 96,112, 61,128, 61, 2, 61, 61, 38, 95, 31, 4, 79, 51, 48, 95, 21, 11, 8, 95, 12, 15, 18, 5, 21, 19, 0, 63, 51, 51,220, + 50,225, 50, 16,225, 50, 50, 63,241,202, 47, 93,225, 1, 47, 93,225, 17, 51, 47, 51, 47,225, 50, 47, 51, 17, 57, 47,113,225, 18, + 57, 17, 51, 51, 51, 49, 48, 1, 20, 14, 2, 7, 22, 22, 51, 50, 54, 55, 21, 6, 6, 35, 34, 38, 39, 6, 6, 35, 34, 38, 38, 2, + 53, 52, 18, 54, 54, 51, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, 20, 30, 2, 51, 50, 54, 55, 46, 3, 53, 52, 62, 2, 51, 50, + 30, 2, 7, 52, 46, 2, 35, 34, 14, 2, 21, 20, 22, 23, 62, 3, 4,123, 31, 54, 71, 39, 23, 55, 35, 31, 59, 31, 29, 68, 32, 69, +131, 62, 41, 85, 59,126,196,134, 70, 69,134,196,127, 50, 93, 38, 56, 28, 61, 34, 81,124, 84, 42, 46, 88,126, 80, 20, 19, 16, 37, + 56, 38, 19, 41, 80,115, 74, 74,115, 80, 42,197, 11, 27, 44, 32, 32, 44, 26, 11, 56, 48, 30, 46, 31, 16, 2,190,106,184,151,115, + 37, 13, 10, 14, 11,170, 13, 12, 44, 52, 17, 15, 95,188, 1, 21,183,193, 1, 30,189, 94, 20, 15,154, 11, 14, 68,145,227,158,157, +221,139, 63, 3, 4, 54,117,132,149, 86,132,192,124, 60, 55,118,188,143, 86,132, 89, 45, 52, 96,136, 84,144,228, 79, 33,101,124, +139, 0, 0, 2, 0,115,255,197, 4,115, 4, 94, 0, 15, 0, 80, 0,137, 64, 57, 72, 52, 19, 5, 5, 67, 87, 0, 1, 0, 72, 32, + 57, 1, 89, 57, 1, 72, 57, 1, 57, 57, 27, 36, 35, 35, 8, 72, 67, 78, 78, 15, 67, 1, 67, 82, 44, 72, 0, 27, 16, 27, 2, 27, + 13, 78, 80, 62, 1,144, 62,160, 62,176, 62, 3, 62,184,255,192, 64, 23, 9, 12, 72, 62, 62, 49, 36, 39, 80, 35, 32, 16, 5, 49, + 80, 22, 72, 74, 80, 16, 19, 22, 22, 0, 63, 51,212,225, 50, 16,225, 50, 63, 51,225, 50, 18, 57, 47, 43, 93,113,225, 1, 47, 93, +225, 16,206, 93, 50, 47, 16,225, 50, 47, 51, 17, 57, 47, 93, 93,113,225, 93, 18, 57, 17, 51, 51, 51, 49, 48, 1, 20, 30, 2, 23, + 54, 54, 53, 52, 46, 2, 35, 34, 6, 1, 34, 38, 39, 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, 38, 35, 34, + 14, 2, 21, 20, 30, 2, 51, 50, 50, 55, 46, 3, 53, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 7, 22, 51, 50, 54, 55, 21, 6, + 6, 2,172, 19, 33, 43, 24, 57, 66, 13, 29, 44, 31, 62, 63, 1, 82, 65,124, 57, 38, 83, 47,111,182,129, 71, 67,127,185,118, 57, + 79, 32, 45, 25, 56, 42, 81,117, 75, 36, 39, 77,115, 76, 10, 10, 9, 34, 52, 36, 19, 48, 84,114, 65, 65,110, 82, 46, 27, 48, 64, + 37, 39, 53, 26, 57, 28, 23, 63, 1,244, 52, 91, 77, 64, 26, 45,160,107, 51, 84, 58, 32,122,253,104, 30, 37, 14, 14, 76,145,209, +133,129,212,151, 83, 15, 11,146, 8, 13, 56,108,159,103, 97,152,105, 56, 2, 39, 80, 90,103, 61, 94,136, 89, 43, 39, 86,138, 99, + 70,119, 99, 79, 30, 19, 6, 8,147, 9, 7, 0,255,255, 0,129,254, 66, 4,156, 5,203, 2, 38, 0, 38, 0, 0, 1, 7, 3,127, + 0,158, 0, 0, 0, 14,183, 1, 1,118, 36, 30, 6, 11, 37, 1, 43, 53, 0, 53,255,255, 0,172,254, 66, 4, 37, 4, 94, 2, 38, + 0, 70, 0, 0, 1, 6, 3,127, 55, 0, 0, 14,183, 1, 1, 53, 34, 28, 15, 0, 37, 1, 43, 53, 0, 53, 0, 1, 0,102,254,127, + 4,100, 5,182, 0, 11, 0, 74, 64, 44, 10,251, 11, 1, 6, 6, 8, 90, 3,208, 1, 1,162, 1, 1,147, 1, 1, 3,142, 1, 1, + 4, 99, 1, 1, 5, 16, 1, 80, 1, 2, 1, 7, 3, 95, 4, 3, 11, 11, 8, 95, 1, 18, 0, 63,225, 51, 47, 63,225, 50, 1, 47, + 93, 95, 93, 95, 93, 95, 93, 93, 93,198,241,194, 47, 16,222,225, 48, 49, 33, 35, 17, 33, 53, 33, 21, 33, 17, 51, 17, 35, 2,195, +187,254, 94, 3,254,254, 95,176,176, 5, 18,164,164,251,148,253,217, 0, 0, 1, 0,121,254,131, 4, 82, 4, 74, 0, 11, 0, 54, + 64, 32, 9, 71, 10, 0, 5, 5, 7, 71, 2, 16, 0, 80, 0,144, 0,160, 0,208, 0, 5, 0, 6, 2, 80, 3, 15, 10, 10, 7, 80, + 0, 21, 0, 63,225, 51, 47, 63,225, 50, 1, 47, 93,206,241,202, 47, 16,222,225, 49, 48, 33, 17, 33, 53, 33, 21, 33, 17, 51, 17, + 35, 17, 2, 10,254,111, 3,217,254,111,159,182, 3,176,154,154,252,234,253,233, 1,125,255,255, 0, 33, 0, 0, 4,170, 5,182, + 2, 6, 0, 60, 0, 0, 0, 1, 0, 82,254, 20, 4,121, 4, 74, 0, 19, 0, 99, 64, 62, 55, 4, 71, 4, 2, 38, 4, 1, 4,141, + 3, 1, 3, 1, 72, 17, 1, 41, 17, 1, 17,207, 18, 1, 18, 18, 10, 0, 71,208, 1, 1,160, 1, 1,147, 1, 1, 3,123, 1, 1, + 99, 1, 1, 5, 16, 1, 80, 1, 2, 1, 19, 10, 2, 2, 1, 17, 3, 15, 1, 27, 0, 63, 63, 51, 18, 57, 17, 51, 51, 1, 47, 93, + 95, 93, 93, 95, 93, 93, 93,241, 57,202, 47, 93, 50, 93, 93, 16,206, 93, 50, 93, 93, 49, 48, 1, 35, 17, 1, 51, 19, 30, 3, 23, + 51, 62, 3, 55, 19, 51, 1, 2,193,183,254, 72,190,238, 12, 31, 28, 24, 5, 6, 6, 23, 29, 31, 12,239,189,254, 72,254, 20, 1, +236, 4, 74,253,145, 32, 90, 93, 86, 29, 29, 86, 93, 90, 32, 2,111,251,182, 0, 0, 1, 0, 33, 0, 0, 4,170, 5,182, 0, 16, + 0,202,185, 0, 16,255,248, 64, 36, 13, 16, 72, 38, 16, 54, 16, 2, 23, 16, 1,104, 1,120, 1, 2, 90, 1, 1, 72, 1, 1, 41, + 1, 57, 1, 2, 24, 1, 1, 39, 0,183, 0, 2, 0,184,255,248,179, 13, 17, 72, 16,184,255,248, 64, 84, 20, 24, 72, 16,175, 15, +255, 15, 2, 89, 15, 1, 15, 9, 1, 8, 20, 24, 72, 1,224, 2,240, 2, 2,123, 2, 1, 80, 2, 1, 2, 2, 8, 0, 9, 8, 6, + 6, 4, 8, 90, 13, 11,208, 9, 1,162, 9, 1,147, 9, 1, 3,142, 9, 1, 4, 99, 9, 1, 5, 16, 9, 80, 9, 2, 9, 3, 0, + 14, 14, 7, 11, 95, 4, 12, 12, 1, 8, 18, 15, 1, 3, 0, 63, 51, 63, 18, 57, 47, 51,225, 50, 51, 17, 51, 51, 1, 47, 93, 95, + 93, 95, 93, 95, 93, 93, 93,206, 51,241, 50,202, 47, 17, 18, 57, 16,200, 47, 93, 93, 93, 50, 43, 16,204, 93, 93, 50, 43, 48, 49, + 0, 43, 93, 1, 93, 93, 93, 93, 93, 93, 93, 43, 1, 1, 51, 1, 21, 33, 21, 33, 17, 35, 17, 33, 53, 33, 53, 1, 51, 2,100, 1, +125,201,254, 25, 1, 38,254,218,187,254,217, 1, 39,254, 25,203, 2,211, 2,227,252,131, 61,164,254,168, 1, 88,164, 51, 3,135, + 0, 1, 0, 82,254, 20, 4,121, 4, 74, 0, 25, 0,136, 64, 11,135, 10,151, 10,167, 10, 3,118, 10, 1, 10,184,255,248, 64, 71, + 11, 15, 72, 10, 9, 4,168, 23, 1,121, 23, 1, 23, 8, 11, 15, 72, 23,207, 24, 1, 24, 24, 3, 16, 4, 25, 3, 1, 1, 3, 71, + 8, 6,208, 4, 1,162, 4, 1,147, 4, 1, 3,142, 4, 1, 4, 99, 4, 1, 5, 16, 4, 80, 4, 2, 4, 2, 6, 79, 25, 16, 7, + 7, 3, 23, 9, 15, 3, 27, 0, 63, 63, 51, 18, 57, 47, 51, 51,225, 50, 1, 47, 93, 95, 93, 95, 93, 95, 93, 93, 93,206, 51,241, +202, 47, 17, 51, 18, 57, 16,200, 47, 93, 50, 43, 93, 93, 16,204, 50, 43, 93, 93, 48, 49, 33, 21, 33, 17, 35, 17, 33, 53, 33, 1, + 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 51, 1, 3,203,254,246,183,254,246, 1, 10,254, 72,190,238, 12, 31, 28, 24, 5, 6, 6, + 23, 29, 31, 12,239,189,254, 72,137,254,157, 1, 99,137, 4, 74,253,145, 32, 90, 93, 86, 29, 29, 86, 93, 90, 32, 2,111,251,182, + 0, 1, 0, 53,254,127, 4,186, 5,182, 0, 15, 0,160, 64, 21, 71, 15, 87, 15,167, 15, 3, 15, 72, 9,104, 9,120, 9, 3, 9, + 6, 12, 12, 14, 11,184,255,248, 64, 14, 12, 15, 72, 6, 11, 22, 11, 38, 11, 3, 11, 10, 10, 7,184,255,248, 64, 64, 12, 15, 72, + 6, 7, 22, 7, 38, 7, 3, 7, 8, 13, 8, 12, 15, 72, 9, 13, 25, 13, 41, 13, 3, 13, 14, 14, 1, 5, 8, 12, 15, 72, 9, 5, + 25, 5, 41, 5, 3, 5, 0, 0, 4,251, 1, 15, 12, 6, 9, 9, 7, 13, 10, 3, 0, 95, 5, 5, 7, 3, 3, 7, 18, 0, 63, 51, + 47, 17, 51, 16,225, 63, 51, 18, 57, 17, 51, 51, 51, 1, 47,225, 51, 17, 51, 93, 43, 17, 51, 47, 51, 93, 43, 47, 51, 93, 43, 51, + 47, 51, 93, 43, 18, 57, 17, 51, 51, 93, 51, 93, 48, 49, 37, 51, 17, 35, 17, 35, 1, 1, 35, 1, 1, 51, 1, 1, 51, 1, 4, 51, +135,176, 71,254,157,254,146,189, 1,197,254, 90,199, 1, 75, 1, 78,191,254, 90,166,253,217, 1,129, 2,123,253,133, 2,252, 2, +186,253,209, 2, 47,253, 76, 0, 0, 1, 0, 96,254,131, 4,156, 4, 74, 0, 15, 0,189,183,196, 14,212, 14,228, 14, 3, 14,184, +255,240, 64, 36, 11, 14, 72,203, 12,219, 12,235, 12, 3, 12, 16, 11, 14, 72,203, 4,219, 4,235, 4, 3, 4, 16, 11, 14, 72,196, + 2,212, 2,228, 2, 3, 6, 2,184,255,240, 64, 20, 11, 14, 72, 73, 13, 1, 13, 16, 18, 23, 72, 10, 13, 26, 13, 2, 70, 3, 1, + 3,184,255,240, 64, 51, 18, 23, 72, 5, 3, 21, 3, 2, 13, 6, 0, 3, 3, 5, 2, 1, 1, 14, 31, 15, 1, 15, 12, 7, 7, 8, + 4, 5, 5, 11, 70, 8, 7, 80, 12, 12, 14, 13, 6, 3, 0, 0, 1, 14, 10, 10, 14, 21, 4, 1, 15, 0, 63, 51, 63, 51, 47, 17, + 18, 57, 17, 51, 51, 51, 17, 51, 16,225, 1, 47,225, 51, 47, 51, 17, 51, 17, 51, 47, 93, 51, 51, 47, 51, 18, 57, 17, 51, 51, 51, + 48, 49, 0, 93, 43, 93, 93, 43, 93, 1, 43, 95, 93, 43, 93, 43, 93, 43, 93, 1, 1, 51, 1, 1, 51, 1, 1, 51, 17, 35, 17, 35, + 1, 1, 35, 1,254,254,119,207, 1, 34, 1, 35,207,254,117, 1, 45,162,176, 80,254,202,254,201,207, 2, 51, 2, 23,254,102, 1, +154,253,233,254,103,253,233, 1,125, 1,180,254, 76, 0, 0, 1, 0, 23,254,127, 4,186, 5,182, 0, 15, 0, 57, 64, 31, 0, 14, + 48, 14, 2, 14, 14, 15, 90, 11, 10, 1, 90, 4, 7,251, 6, 15, 10, 95, 2, 12, 3, 4, 0, 95, 9, 7, 7, 9, 18, 0, 63, 51, + 47, 16,225, 50, 63, 51,225, 50, 1, 47,225,221,225, 47,205,241,201, 47, 93, 48, 49, 37, 33, 17, 51, 17, 51, 17, 35, 17, 33, 17, + 35, 53, 33, 21, 35, 1,188, 1,148,186,176,176,252,248,235, 2,145,236,166, 5, 16,250,240,253,217, 1,129, 5, 18,164,164, 0, + 0, 1, 0, 20,254,131, 4,156, 4, 74, 0, 15, 0, 63, 64, 36, 11, 71, 13, 2, 70,160, 15,176, 15, 2, 15, 64, 8, 1, 1, 8, + 1, 8, 8, 10, 71, 5, 3, 12, 4, 80, 6, 15, 14, 10, 80, 3, 1, 1, 3, 21, 0, 63, 51, 47, 16,225, 50, 63,225, 51, 1, 47, +206,241,202, 47, 93, 93, 47, 93,225,222,225, 48, 49, 1, 35, 17, 33, 17, 35, 53, 33, 21, 35, 17, 33, 17, 51, 17, 51, 4,156,176, +253, 6,222, 2,121,229, 1,158,182,160,254,131, 1,125, 3,176,154,154,252,234, 3,176,252, 80, 0, 1, 0,135,254,127, 4,186, + 5,182, 0, 25, 0, 61, 64, 34, 15, 90, 0, 12, 1, 12, 23, 5, 90, 0, 3,251,127, 2,207, 2, 2, 2, 23, 20, 95, 6, 9, 9, + 24, 13, 3, 0, 95, 5, 3, 3, 5, 18, 0, 63, 51, 47, 16,225, 63, 51, 57, 47, 51,225, 50, 1, 47, 93,225,221,225, 50, 47, 93, +225, 48, 49, 37, 51, 17, 35, 17, 35, 17, 6, 6, 35, 34, 38, 53, 17, 51, 17, 20, 30, 2, 51, 50, 54, 55, 17, 51, 4, 10,176,176, +186, 81,169, 84,187,192,187, 20, 50, 82, 61, 77,152, 84,186,166,253,217, 1,129, 2, 63, 29, 38,191,180, 2, 71,253,209, 57, 87, + 58, 29, 31, 28, 2,219, 0, 1, 0,152,254,131, 4,156, 4, 74, 0, 27, 0, 65, 64, 37, 20, 1, 71, 23, 27, 70,160, 24, 1, 47, + 24, 1, 24, 14, 71, 0, 11,192, 11, 2, 11, 20, 17, 80, 1, 6, 6, 0, 21, 12, 15, 26, 26, 23, 80, 0, 21, 0, 63,225, 51, 47, + 63, 51, 18, 57, 47, 51,225, 50, 1, 47, 93,225, 47, 93, 93,225,221,225, 50, 48, 49, 33, 17, 14, 3, 35, 34, 46, 2, 53, 17, 51, + 17, 20, 22, 51, 50, 54, 55, 17, 51, 17, 51, 17, 35, 17, 3, 70, 39, 78, 82, 90, 51, 82,129, 88, 47,182,105,100, 78,148, 73,182, +160,176, 1,207, 25, 37, 26, 13, 47, 84,115, 68, 1,166,254,102, 88, 86, 45, 43, 1,240,252, 80,253,233, 1,125, 0, 1, 0,135, + 0, 0, 4, 70, 5,182, 0, 29, 0, 81,177, 24, 6,184, 1, 3, 64, 38, 22, 7, 7, 12, 27, 1, 90, 0, 31, 15, 90, 0, 12, 16, + 12, 2, 12, 27, 24, 22, 22, 20, 95, 9, 8, 9, 7, 7, 5, 2, 9, 9, 1, 28, 13, 3, 1, 18, 0, 63, 63, 51, 18, 57, 47, 51, + 51, 51, 47, 17, 51, 16,237, 50, 47, 50, 50, 1, 47, 93,225, 16,222,225, 50, 17, 57, 47, 51,225, 50, 49, 48, 33, 35, 17, 6, 6, + 7, 17, 35, 17, 35, 34, 38, 53, 17, 51, 17, 20, 30, 2, 51, 51, 17, 51, 17, 54, 54, 55, 17, 51, 4, 70,187, 65,109, 53,133, 33, +187,192,187, 20, 50, 82, 61, 12,133, 51,113, 63,187, 2, 86, 25, 36, 11,254,199, 1, 39,191,180, 2, 71,253,209, 57, 87, 58, 29, + 1, 88,254,180, 9, 36, 23, 2,198, 0, 0, 1, 0,152, 0, 0, 4, 37, 4, 74, 0, 28, 0, 95, 64, 55, 8, 19, 73, 6, 64, 20, + 80, 20,112, 20,128, 20, 4, 20, 20, 27, 10, 14, 71, 13, 30, 1, 71, 0, 27, 16, 27, 2, 27, 21, 22, 20, 20, 18, 15, 4, 80, 22, + 22, 14, 11, 28, 15, 14, 21, 10, 8, 5, 15, 6, 1, 6, 6, 5, 21, 0, 63, 51, 47, 93, 17, 51, 51, 63, 63, 51, 18, 57, 47,225, + 51, 51, 51, 47, 17, 51, 1, 47, 93,225, 16,222,225, 50, 17, 57, 47, 93, 51,225, 50, 48, 49, 1, 17, 20, 22, 51, 51, 17, 51, 17, + 54, 55, 17, 51, 17, 35, 17, 6, 6, 7, 21, 35, 53, 35, 34, 46, 2, 53, 17, 1, 78,105,100, 6,125,104,105,182,182, 53,101, 55, +125, 47, 82,129, 88, 47, 4, 74,254,102, 88, 86, 1, 45,254,227, 29, 70, 1,213,251,182, 1,233, 37, 51, 16,254,231, 47, 84,115, + 68, 1,166, 0, 0, 1, 0,135, 0, 0, 4, 70, 5,182, 0, 19, 0, 43, 64, 22, 10, 90, 9, 21, 2, 18, 90, 0, 19, 1, 19, 17, + 14, 95, 2, 5, 5, 19, 9, 18, 0, 3, 0, 63, 63, 51, 57, 47, 51,225, 50, 1, 47, 93,225, 50, 16,222,225, 48, 49, 19, 51, 17, + 54, 54, 51, 50, 22, 21, 17, 35, 17, 52, 38, 35, 34, 6, 7, 17, 35,135,187,110,188, 95,183,196,187,100,117, 86,175,107,187, 5, +182,253,170, 45, 45,188,182,253,184, 2, 47,116,116, 40, 40,253, 57, 0, 0, 1, 0,168, 0, 0, 4, 53, 4, 74, 0, 23, 0, 59, + 64, 36, 0, 71,176, 23,192, 23, 2, 23, 25, 12, 8, 71, 0, 9, 16, 9, 32, 9,192, 9,208, 9, 5, 7, 9, 7, 4, 80, 12, 17, + 17, 10, 15, 9, 0, 21, 0, 63, 50, 63, 57, 47, 51,225, 50, 1, 47, 94, 93,225, 50, 16,222, 93,225, 48, 49, 33, 17, 52, 38, 35, + 34, 6, 7, 17, 35, 17, 51, 17, 62, 3, 51, 50, 30, 2, 21, 17, 3,127,105,100, 90,166, 84,182,182, 44, 87, 92,101, 57, 82,129, + 88, 47, 1,154, 88, 86, 58, 57,254, 43, 4, 74,254, 22, 31, 47, 32, 17, 47, 83,115, 68,254, 90, 0, 2,255,248,255,236, 4,123, + 5,205, 0, 45, 0, 56, 0, 84, 64, 47, 52, 91, 5, 18, 18, 5, 58, 35,134, 38, 1,103, 38,119, 38, 2, 38,251, 31, 51, 7, 91, + 40, 31, 28, 1, 28, 34, 31, 28, 7, 96, 51, 34, 40, 40, 0, 17, 12, 95, 18, 23, 19, 46, 95, 0, 4, 0, 63,225, 63, 51,225, 50, + 17, 57, 47,204, 51,225, 50, 1, 47, 51,221, 93, 50,225, 50, 16,225, 93, 93, 50, 16,206, 50, 47, 16,225, 48, 49, 1, 50, 22, 22, + 18, 21, 21, 33, 30, 3, 51, 50, 62, 2, 55, 21, 14, 3, 35, 34, 46, 2, 39, 38, 38, 53, 52, 54, 55, 51, 6, 6, 21, 20, 51, 51, + 62, 3, 23, 34, 14, 2, 7, 33, 52, 46, 2, 2,221,125,160, 93, 36,253, 96, 5, 36, 75,120, 90, 47, 79, 71, 65, 33, 33, 65, 76, + 92, 60,126,179,118, 60, 8,144,143, 17, 11,156, 6, 14,102, 21, 11, 60,109,162,110, 64, 92, 62, 33, 5, 1,223, 16, 48, 87, 5, +205,101,189,254,241,170, 90,122,194,134, 71, 12, 20, 28, 16,170, 15, 26, 18, 10, 93,177,254,160, 3,114,122, 42, 66, 23, 15, 62, + 35, 97,154,244,171, 91,164, 65,126,185,120,117,184,128, 67, 0, 0, 2,255,213,255,236, 4, 88, 4, 94, 0, 44, 0, 53, 0, 94, + 64, 56, 49, 72, 30, 40, 40, 30, 55, 12,149, 15, 1,102, 15,118, 15,134, 15, 3, 15, 73, 8, 48, 31, 72, 19, 31, 5, 47, 5, 2, + 5, 11, 8, 64, 24, 27, 72, 8, 5, 31, 80, 48, 11, 18, 18, 34, 45, 80, 24, 16, 39, 34, 81, 40, 0, 22, 0, 63, 50,225, 50, 63, +225, 18, 57, 47,204, 51,225, 50, 1, 47, 43, 51,221, 93, 50,225, 50, 16,225, 93, 93, 50, 16,206, 50, 47, 16,225, 48, 49, 5, 34, + 46, 2, 39, 38, 38, 53, 52, 54, 55, 51, 6, 6, 21, 20, 22, 51, 51, 62, 3, 51, 50, 30, 2, 21, 21, 33, 22, 22, 51, 50, 62, 2, + 55, 21, 14, 3, 3, 34, 6, 7, 33, 52, 46, 2, 2,215,108,178,131, 75, 4,133,141, 17, 10,149, 6, 14, 48, 50, 27, 14, 75,117, +152, 90, 99,158,110, 59,253, 76, 5,152,152, 51, 87, 80, 77, 39, 40, 77, 81, 87, 96,115,132, 11, 1,235, 27, 56, 88, 20, 70,136, +199,129, 2,111,114, 39, 63, 21, 14, 58, 34, 47, 49,108,170,117, 61, 71,129,181,110,113,193,182, 10, 19, 29, 18,162, 19, 28, 18, + 8, 3,219,156,149, 68,113, 80, 44, 0, 0, 2,255,248,254,127, 4,123, 5,205, 0, 48, 0, 59, 0,103, 64, 57, 24,251, 25, 25, + 31, 55, 91, 5, 18, 18, 5, 61, 38,134, 41, 1,103, 41,119, 41, 2, 41,251, 34, 54, 7, 91, 44, 31, 31, 1, 31, 37, 34, 31, 7, + 96, 54, 37, 43, 43, 0, 17, 12, 95, 23, 26, 23, 24, 24, 18, 23, 19, 49, 95, 0, 4, 0, 63,225, 63, 51, 51, 47, 17, 51, 16,225, + 50, 17, 57, 47,204, 51,225, 50, 1, 47, 51,221, 93, 50,225, 50, 16,225, 93, 93, 50, 16,206, 50, 47, 16,225, 18, 57, 47,225, 48, + 49, 1, 50, 22, 22, 18, 21, 21, 33, 30, 3, 51, 50, 62, 2, 55, 21, 14, 3, 7, 17, 35, 17, 46, 3, 39, 38, 38, 53, 52, 54, 55, + 51, 6, 6, 21, 20, 51, 51, 62, 3, 23, 34, 14, 2, 7, 33, 52, 46, 2, 2,221,125,160, 93, 36,253, 96, 5, 36, 75,120, 90, 47, + 79, 71, 65, 33, 30, 59, 67, 78, 49,176, 90,130, 86, 46, 6,144,143, 17, 11,156, 6, 14,102, 21, 11, 60,109,162,110, 64, 92, 62, + 33, 5, 1,223, 16, 48, 87, 5,205,101,189,254,241,170, 90,122,194,134, 71, 12, 20, 28, 16,170, 14, 23, 18, 12, 2,254,147, 1, +125, 23,111,170,226,138, 3,114,122, 42, 66, 23, 15, 62, 35, 97,154,244,171, 91,164, 65,126,185,120,117,184,128, 67, 0, 0, 2, +255,213,254,131, 4, 88, 4, 94, 0, 45, 0, 54, 0,113, 64, 66, 20, 70, 21, 21, 27, 50, 72, 6, 16, 16, 6, 56, 34,149, 37, 1, +102, 37,118, 37,134, 37, 3, 37, 73, 30, 49, 7, 72, 41, 31, 27, 47, 27, 2, 27, 33, 30, 64, 24, 27, 72, 30, 27, 7, 80, 49, 33, + 40, 40, 0, 15, 10, 81, 19, 22, 19, 20, 20, 16, 19, 22, 46, 80, 0, 16, 0, 63,225, 63, 51, 51, 47, 17, 51, 16,225, 50, 17, 57, + 47,204, 51,225, 50, 1, 47, 43, 51,221, 93, 50,225, 50, 16,225, 93, 93, 50, 16,206, 50, 47, 16,225, 18, 57, 47,225, 49, 48, 1, + 50, 30, 2, 21, 21, 33, 22, 22, 51, 50, 62, 2, 55, 21, 6, 6, 7, 17, 35, 17, 46, 3, 39, 38, 38, 53, 52, 54, 55, 51, 6, 6, + 21, 20, 22, 51, 51, 62, 3, 23, 34, 6, 7, 33, 52, 46, 2, 2,174, 99,158,110, 59,253, 76, 5,152,152, 51, 87, 80, 77, 39, 66, +133, 78,176, 84,136, 99, 57, 3,133,141, 17, 10,149, 6, 14, 48, 50, 27, 14, 75,117,152, 86,115,132, 11, 1,235, 27, 56, 88, 4, + 94, 71,129,181,110,113,193,182, 10, 19, 29, 18,162, 32, 34, 5,254,149, 1,117, 17, 84,132,178,111, 2,111,114, 39, 63, 21, 14, + 58, 34, 47, 49,108,170,117, 61,151,156,149, 68,113, 80, 44, 0,255,255, 0,225, 0, 0, 3,233, 5,182, 2, 6, 0, 44, 0, 0, +255,255, 0, 0, 0, 0, 4,205, 7,105, 2, 38, 1,176, 0, 0, 1, 7, 2, 54, 0, 0, 1, 82, 0, 19, 64, 11, 1, 20, 5, 38, + 1, 0, 23, 18, 17, 10, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0, 0, 0, 4,205, 6, 23, 2, 38, 1,208, 0, 0, 1, 6, + 2, 54, 0, 0, 0, 19, 64, 11, 1, 20, 17, 38, 1, 0, 23, 18, 16, 5, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,135,254, 0, + 4, 88, 5,182, 0, 37, 0, 88, 64, 49,134, 11, 1, 23, 11, 55, 11,103, 11, 3,119, 8, 1, 9, 10, 10, 33, 91, 17, 39, 11, 8, + 4, 90, 5, 27, 27, 0, 5, 1, 5, 8, 11, 97, 3, 0, 0, 4, 9, 6, 3, 28, 31, 95, 27, 22, 22, 4, 18, 0, 63, 51, 47, 51, +225, 50, 63, 51, 18, 57, 47, 51,225, 50, 1, 47, 93, 51, 47, 16,225, 50, 50, 16,222,225, 51, 47, 51, 48, 49, 0, 93, 1, 93, 93, + 1, 34, 6, 7, 17, 35, 17, 51, 17, 1, 51, 1, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 39, 53, 22, 22, 51, 32, 17, 52, + 46, 2, 1,240, 57, 82, 35,187,187, 2, 53,207,253,209, 6,127,210,151, 83, 82,146,200,119, 49, 78, 68, 60, 31, 63,126, 73, 1, +118, 69,115,152, 2,125, 15, 14,253,160, 5,182,253, 60, 2,196,253, 88, 81,161,237,156,170,248,162, 79, 6, 12, 19, 12,162, 23, + 24, 1,239,129,186,119, 56, 0, 0, 1, 0,215,254, 10, 4, 88, 4, 74, 0, 34, 0, 85, 64, 48, 34, 16, 25, 33, 1, 33, 34, 34, + 20, 72, 5, 36, 32, 22, 0, 54, 0, 70, 0, 3, 0, 28, 70, 29, 13, 13, 0, 29, 1, 29, 32, 0, 78, 27, 25, 25, 29, 33, 30, 15, + 14, 17, 81, 13, 10, 10, 29, 21, 0, 63, 51, 47, 51,225, 50, 63, 51, 18, 57, 47, 51,225, 50, 1, 47, 93, 51, 47, 16,225, 50, 93, + 50, 16,222,225, 51, 47, 51, 93, 56, 48, 49, 1, 30, 3, 21, 20, 14, 2, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 53, 52, 46, 2, + 35, 34, 7, 17, 35, 17, 51, 17, 1, 51, 2,106,100,180,135, 79, 74,129,176,102, 76,105, 47, 44,105, 66,149,157, 52, 97,137, 85, + 83, 75,180,180, 1,228,215, 2, 98, 2, 61,130,207,149,150,213,136, 64, 31, 29,161, 24, 37,195,210,106,152, 98, 46, 29,254, 76, + 4, 74,254, 6, 1,250, 0, 1, 0, 4,254,127, 4,203, 5,182, 0, 35, 0, 75, 64, 42, 12, 20, 7,250, 29, 20, 0, 34,144, 34, +160, 34, 3, 34, 34, 5, 20, 3, 91, 2, 1, 5, 90, 0, 4, 1, 7, 95, 34, 3, 21, 24, 97, 20, 17, 19, 3, 3, 0, 95, 5, 18, + 0, 63,225, 51, 47, 63, 51,225, 50, 63,225, 1, 47, 51,221,225, 16,221,225, 47, 18, 57, 47, 93, 18, 57,225, 17, 57, 48, 49, 37, + 51, 3, 35, 19, 35, 17, 35, 14, 3, 7, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 55, 54, 54, 18, 18, 55, 33, 4, 8, +195,144,217,166,186,236, 14, 32, 33, 34, 16, 20, 53, 79,110, 78, 35, 74, 28, 22, 59, 32, 48, 64, 42, 26, 10, 11, 33, 39, 43, 22, + 2, 65,166,253,217, 1,129, 5, 18,113,244,236,212, 81,103,162,111, 59, 14, 11,150, 10, 15, 63, 98,117, 54, 57,200, 1, 6, 1, + 58,170, 0, 1, 0, 31,254,131, 4,174, 4, 74, 0, 24, 0, 63, 64, 33, 9, 15, 7, 73, 20, 15, 23, 23, 5, 15, 3, 71, 2, 1, + 5, 71, 0, 4, 1, 7, 80, 23, 15, 18, 79, 12, 22, 3, 3, 0, 80, 5, 21, 0, 63,225, 51, 47, 63,225, 63,225, 1, 47, 51,221, +225, 16,221,225, 47, 18, 57, 47, 18, 57,225, 17, 57, 48, 49, 37, 51, 3, 35, 19, 35, 17, 33, 2, 2, 6, 6, 35, 34, 38, 39, 53, + 22, 51, 50, 54, 54, 18, 55, 33, 3,248,182,123,182,123,182,254,196, 20, 64, 95,130, 86, 28, 49, 15, 21, 28, 55, 89, 69, 51, 18, + 2,142,154,253,233, 1,125, 3,176,254,253,254,148,230,105, 6, 6,131, 6,117,241, 1,111,250, 0, 1, 0,135,254, 0, 4, 70, + 5,182, 0, 27, 0, 78, 64, 46, 20, 12, 90, 23, 29, 19, 15, 90, 16, 5, 5, 16, 16, 32, 16, 2, 32, 16, 48, 16, 2, 16, 14, 95, +152, 19, 1, 15, 19, 47, 19, 2, 6, 19, 19, 16, 21, 17, 3, 16, 18, 6, 9, 95, 5, 0, 0, 47, 50,225, 50, 63, 63, 51, 18, 57, + 47, 94, 93, 93,225, 1, 47, 93,113, 51, 47, 16,225, 50, 16,222,225, 50, 48, 49, 1, 34, 46, 2, 39, 53, 22, 22, 51, 50, 54, 53, + 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 20, 14, 2, 2, 88, 45, 71, 61, 54, 29, 56,110, 63,164,174,253,183,187,187, 2, 73, +187, 74,132,181,254, 0, 6, 12, 19, 12,162, 23, 24,240,247, 2, 31,253, 86, 5,182,253,152, 2,104,250,221,170,248,162, 79, 0, + 0, 1, 0,160,254, 10, 4, 45, 4, 74, 0, 27, 0, 72, 64, 42, 20, 12, 71,176, 23,192, 23, 2, 23, 29, 19, 15, 71, 16, 3, 3, + 0, 16, 16, 16, 32, 16,208, 16, 4, 7, 16, 14, 80, 19, 19, 16, 21, 17, 15, 16, 21, 4, 7, 81, 3, 0, 0, 47, 50,225, 50, 63, + 63, 51, 18, 57, 47,225, 1, 47, 94, 93, 51, 47, 16,225, 50, 16,222, 93,225, 50, 48, 49, 1, 34, 38, 39, 53, 22, 22, 51, 50, 62, + 2, 53, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 20, 14, 2, 2,145, 75,105, 47, 43,106, 66, 59, 91, 61, 31,253,223,182,182, + 2, 33,182, 63,111,151,254, 10, 31, 29,161, 24, 37, 45, 97,150,105, 1,178,254, 23, 4, 74,254, 57, 1,199,251,243,150,213,136, + 64, 0, 0, 1, 0,135,254,127, 4,203, 5,182, 0, 15, 0, 84, 64, 49, 12, 8, 90, 16, 9, 32, 9, 2, 32, 9, 48, 9, 2, 9, + 3, 91, 2, 1, 13, 5, 90, 0, 4, 1, 6, 95,152, 12, 1, 15, 12, 47, 12, 2, 6, 12, 12, 9, 14, 10, 3, 0, 5, 5, 9, 3, + 3, 9, 18, 0, 63, 51, 47, 17, 51, 16,205, 63, 51, 18, 57, 47, 94, 93, 93,225, 1, 47, 51,221,225, 50, 16,221,225, 47, 93,113, +225, 50, 48, 49, 37, 51, 3, 35, 19, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 4, 8,195,144,217,166,186,253,244,187,187, 2, + 12,186,166,253,217, 1,129, 2,170,253, 86, 5,182,253,152, 2,104, 0, 0, 1, 0,160,254,131, 4,174, 4, 74, 0, 15, 0, 73, + 64, 41, 14, 71, 13, 12, 8, 0, 71, 11, 15, 12, 7, 3, 71, 0, 4, 16, 4, 32, 4,208, 4, 4, 7, 4, 2, 80, 7, 7, 4, 9, + 5, 15, 11, 80, 0, 0, 4, 14, 14, 4, 21, 0, 63, 51, 47, 17, 51, 16,225, 63, 51, 18, 57, 47,225, 1, 47, 94, 93,225, 50, 47, + 51,221,225, 50, 16,221,237, 48, 49, 33, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 51, 3, 35, 19, 3, 66,254, 20,182,182, 1, +236,182,182,123,182,123, 1,233,254, 23, 4, 74,254, 57, 1,199,252, 80,253,233, 1,125, 0, 1, 0,135,254,127, 4, 70, 5,182, + 0, 29, 0, 61, 64, 32, 28,251, 27, 27, 22, 0, 90, 25, 31, 12, 90, 0, 9, 1, 9, 1, 6, 95, 22, 17, 17, 10, 29, 95, 26, 27, + 27, 26, 18, 23, 10, 3, 0, 63, 51, 63, 51, 47, 16,225, 17, 57, 47, 51,225, 50, 1, 47, 93,225, 16,222,225, 50, 50, 47,225, 48, + 49, 37, 17, 14, 3, 35, 34, 38, 53, 17, 51, 17, 20, 30, 2, 51, 50, 62, 2, 55, 17, 51, 17, 35, 17, 35, 17, 3,139, 57,101, 94, + 92, 49,187,192,187, 20, 50, 82, 61, 45, 86, 89, 96, 56,187,187,176,166, 1,176, 22, 34, 22, 12,191,180, 2, 71,253,209, 57, 87, + 58, 29, 10, 20, 30, 20, 2,198,250, 74,254,127, 2, 39, 0, 1, 0,152,254,131, 4, 37, 4, 74, 0, 27, 0, 75, 64, 45, 25, 70, + 24, 24, 19, 27, 71,176, 22, 1, 22, 29, 13, 71, 0, 10, 16, 10, 32, 10,208, 10, 4, 7, 10, 5, 80, 15, 16, 31, 16, 2, 16, 16, + 11, 26, 80, 23, 24, 24, 23, 21, 20, 11, 15, 0, 63, 51, 63, 51, 47, 16,225, 17, 57, 47, 93,225, 1, 47, 94, 93,225, 16,222, 93, +225, 50, 50, 47,225, 48, 49, 1, 14, 3, 35, 34, 46, 2, 53, 17, 51, 17, 20, 22, 51, 50, 54, 55, 17, 51, 17, 35, 17, 35, 17, 51, + 3,111, 44, 87, 92,101, 57, 82,129, 88, 47,182,105,100, 89,167, 84,182,166,176,160, 1,233, 30, 48, 32, 17, 47, 84,115, 68, 1, +166,254,102, 88, 86, 58, 57, 1,213,251,182,254,131, 2, 23, 0, 0, 1, 0,113,254,127, 4,203, 5,182, 0, 29, 0,219, 64, 60, + 27, 14, 1, 10, 14, 1,252, 14, 1,237, 14, 1,220, 14, 1,185, 14,201, 14, 2,138, 14,154, 14,170, 14, 3,108, 14,124, 14, 2, + 91, 14, 1, 58, 14, 74, 14, 2, 25, 14, 41, 14, 2, 3, 11, 19, 11, 2,241, 11, 1,226, 11, 1,212, 11, 1, 11,184,255,232, 64, + 88, 17, 21, 72, 99, 11,115, 11, 2, 84, 11, 1, 53, 11, 69, 11, 2, 22, 11, 38, 11, 2, 19,251, 18, 17, 29, 0, 12, 12, 8, 27, + 22, 10, 14, 1, 14, 21,250, 15, 16, 1,191, 16,207, 16,223, 16, 3, 16, 17, 5, 11, 1, 11, 7, 2, 8,250, 0, 9, 16, 9, 2, + 9, 16, 95, 21, 18, 28, 14, 2, 11, 3, 5, 12, 1, 3, 12, 13, 0, 1, 1, 0, 8, 19, 19, 8, 18, 0, 63, 51, 47, 17, 51, 95, + 93, 50, 95, 93, 63, 51, 51, 51, 63,225, 1, 47, 93,225, 50, 50, 50, 93, 47,221, 93,113,225, 50, 93, 50, 50, 17, 57, 17, 51, 51, + 16,221,237, 48, 49, 93, 93, 93, 93, 43, 93, 93, 93,113, 93, 93, 93, 93, 93, 93, 93, 93, 93,113,113, 33, 1, 35, 22, 23, 22, 22, + 21, 17, 35, 17, 51, 19, 51, 19, 51, 17, 51, 3, 35, 19, 35, 17, 52, 54, 55, 54, 55, 35, 1, 1,254,254,250, 8, 5, 4, 4, 5, +145,237,236, 6,239,242,154,185,176,166,108, 4, 3, 4, 3, 8,254,248, 5, 0, 74, 73, 63,139, 57,252,150, 5,182,251, 88, 4, +168,250,240,253,217, 1,129, 3,119, 52,134, 61, 71, 73,251, 2, 0, 1, 0,115,254,131, 4,174, 4, 74, 0, 36, 0,204, 64,140, +184, 36,200, 36,216, 36, 3,153, 36,169, 36, 2,138, 36, 1,105, 36, 1, 90, 36, 1, 72, 36, 1, 41, 36, 57, 36, 2, 26, 36, 1, + 9, 36, 1,213, 24, 1,198, 24, 1,165, 24,181, 24, 2,150, 24, 1, 85, 24,101, 24,133, 24, 3, 70, 24, 1, 55, 24, 1, 38, 24, + 1, 21, 24, 1, 6, 24, 1, 8, 15, 1, 8, 14, 1, 7, 13, 1, 7, 12, 1, 3, 14, 13, 30, 30, 6, 24, 21, 73, 4, 22, 20, 22, + 36, 22, 3, 22, 4, 3, 2, 36, 6, 73, 1, 5,123, 2,203, 2,219, 2,235, 2, 4, 2, 7, 36, 36, 20, 24, 15, 30, 14, 15, 14, + 1, 2, 14, 21, 4, 4, 21, 21, 1, 80, 6, 21, 0, 63,225, 63, 51, 47, 17, 51, 95, 93, 17, 51, 63, 51, 51, 17, 51, 1, 47, 93, + 51,221,225, 50, 16,221,205, 47, 93,225, 50, 17, 57, 17, 51, 51, 48, 49, 95, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 1, 17, 51, 3, 35, 19, 35, 17, 14, 3, 7, 3, 35, 3, 46, 3, 39, 17, 35, 17, 51, 19, + 30, 3, 23, 62, 3, 55, 19, 4, 29,145,123,168,123,123, 4, 16, 17, 17, 5,199,131,196, 4, 16, 18, 18, 6,145,204,197, 10, 21, + 18, 15, 4, 5, 14, 17, 19, 10,203, 4, 74,252, 80,253,233, 1,125, 3,129, 21, 69, 74, 68, 18,253,121, 2,135, 14, 62, 73, 75, + 26,252,127, 4, 74,253,112, 34, 81, 75, 62, 16, 17, 61, 74, 78, 34, 2,148, 0,255,255, 0,225, 0, 0, 3,233, 5,182, 2, 6, + 0, 44, 0, 0,255,255, 0, 33, 0, 0, 4,172, 7,105, 2, 38, 0, 36, 0, 0, 1, 7, 2, 54,255,255, 1, 82, 0, 21,180, 2, + 17, 5, 38, 2,184,255,255,180, 20, 15, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,135,255,236, 4, 2, 6, 23, 2, 38, + 0, 68, 0, 0, 1, 6, 2, 54, 4, 0, 0, 19, 64, 11, 2, 36, 17, 38, 2, 37, 39, 34, 8, 22, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0, 33, 0, 0, 4,172, 7, 43, 2, 38, 0, 36, 0, 0, 1, 7, 0,106, 0, 0, 1, 82, 0, 25,182, 3, 2, 19, 5, 38, + 3, 2,184,255,255,180, 21, 25, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,135,255,236, 4, 2, 5,217, 2, 38, + 0, 68, 0, 0, 1, 6, 0,106, 12, 0, 0, 23, 64, 13, 3, 2, 38, 17, 38, 3, 2, 45, 40, 44, 8, 22, 37, 1, 43, 53, 53, 0, + 43, 53, 53, 0,255,255, 0, 0, 0, 0, 4,186, 5,182, 2, 6, 0,136, 0, 0,255,255, 0, 45,255,236, 4,162, 4, 94, 2, 6, + 0,168, 0, 0,255,255, 0,217, 0, 0, 4, 35, 7,105, 2, 38, 0, 40, 0, 0, 1, 7, 2, 54, 0, 23, 1, 82, 0, 21,180, 1, + 14, 5, 38, 1,184,255,255,180, 17, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,133,255,236, 4, 72, 6, 23, 2, 38, + 0, 72, 0, 0, 1, 6, 2, 54, 16, 0, 0, 19, 64, 11, 2, 25, 17, 38, 2, 15, 28, 23, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0, + 0, 2, 0, 84,255,236, 4,123, 5,205, 0, 30, 0, 41, 0, 63, 64, 36, 36, 26, 91, 14, 43, 37, 91, 24, 32, 3, 48, 3, 2, 3, + 3, 31, 24, 47, 24, 2, 24, 37, 95, 25, 25, 9, 31, 95, 19, 19, 3, 0, 95, 4, 9, 4, 0, 63, 51,225, 50, 63,225, 17, 57, 47, +225, 1, 47, 93, 51, 47, 93, 16,225, 16,222,225, 50, 48, 49, 1, 34, 6, 7, 53, 62, 3, 51, 50, 22, 22, 18, 21, 20, 2, 6, 6, + 35, 34, 38, 38, 2, 53, 53, 33, 46, 3, 3, 50, 62, 2, 55, 33, 30, 3, 2, 35,111,179, 79, 38, 80, 93,111, 67,141,217,147, 75, + 73,141,208,135,137,192,122, 55, 3, 98, 6, 55,100,145, 48, 77,125, 90, 54, 6,253, 99, 2, 35, 75,119, 5, 41, 44, 32,170, 15, + 26, 19, 10,108,198,254,233,171,174,254,235,194,104,103,192, 1, 17,171, 82,122,193,134, 71,251,102, 65,126,185,120,117,184,127, + 68, 0, 0, 2, 0,133,255,236, 4, 72, 4, 94, 0, 30, 0, 39, 0, 73, 64, 43, 34, 17, 72, 15, 5, 1,255, 5, 1, 5, 41, 35, + 72, 15, 25, 25, 0, 15, 1, 0, 15, 16, 15,240, 15, 3, 8, 15, 35, 80, 16, 16, 0, 31, 80, 10, 22, 25, 20, 81, 26, 0, 16, 0, + 63, 50,225, 50, 63,225, 17, 57, 47,225, 1, 47, 94, 93,113, 51, 47, 16,225, 16,222, 93,113,225, 50, 49, 48, 1, 50, 30, 2, 21, + 20, 14, 2, 35, 34, 46, 2, 53, 53, 33, 38, 38, 35, 34, 14, 2, 7, 53, 62, 3, 19, 50, 54, 55, 33, 20, 30, 2, 2, 45,119,198, +143, 79, 72,131,184,111,108,173,120, 64, 3, 6, 5,171,168, 56, 97, 89, 84, 44, 43, 83, 87, 96,100,133,156, 12,253,195, 32, 66, +103, 4, 94, 74,142,210,135,136,214,148, 79, 71,129,181,110,113,193,181, 10, 19, 28, 18,159, 20, 28, 19, 9,252, 37,156,149, 68, +113, 80, 44, 0,255,255, 0, 84,255,236, 4,123, 7, 43, 2, 38, 2,225, 0, 0, 1, 7, 0,106, 0, 2, 1, 82, 0, 23, 64, 13, + 3, 2, 46, 5, 38, 3, 2, 0, 48, 52, 24, 14, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,133,255,236, 4, 72, 5,217, + 2, 38, 2,226, 0, 0, 1, 6, 0,106, 2, 0, 0, 23, 64, 13, 3, 2, 44, 17, 38, 3, 2, 1, 46, 50, 15, 5, 37, 1, 43, 53, + 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, 4,205, 7, 43, 2, 38, 1,176, 0, 0, 1, 7, 0,106, 0, 0, 1, 82, 0, 25, +182, 2, 1, 22, 5, 38, 2, 1,184,255,255,180, 24, 28, 17, 10, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, + 4,205, 5,217, 2, 38, 1,208, 0, 0, 1, 6, 0,106, 0, 0, 0, 25,182, 2, 1, 22, 17, 38, 2, 1,184,255,255,180, 24, 28, + 16, 5, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,139,255,236, 4, 47, 7, 43, 2, 38, 1,177, 0, 0, 1, 7, 0,106, +255,237, 1, 82, 0, 25,182, 2, 1, 40, 5, 38, 2, 1,184,255,246,180, 42, 46, 9, 4, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, +255,255, 0,201,255,236, 4, 8, 5,217, 2, 38, 1,209, 0, 0, 1, 6, 0,106,253, 0, 0, 25,182, 2, 1, 37, 17, 38, 2, 1, +184,255,250,180, 39, 43, 8, 18, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 1, 0,158,255,236, 4, 66, 5,182, 0, 32, 0, 75, + 64, 41, 87, 0, 1, 70, 0, 1, 28, 91, 32, 32, 5, 0, 91, 26, 26, 13, 22, 5, 34, 29, 29, 0, 13, 1, 13, 32, 29, 95, 30, 0, + 97, 26, 26, 30, 3, 14, 19, 96, 13, 10, 19, 0, 63, 51,225, 50, 63, 57, 47,225, 16,225, 50, 1, 47, 93, 51, 47, 16,222,193, 17, + 57, 47,225, 17, 51, 47,225, 48, 49, 93, 93, 1, 30, 3, 21, 20, 14, 2, 35, 34, 38, 39, 53, 30, 3, 51, 50, 54, 53, 52, 38, 35, + 35, 53, 1, 33, 53, 33, 21, 2, 74,115,186,132, 71, 67,136,205,137,110,192, 85, 43, 96, 99, 99, 46,178,176,207,186,123, 1,166, +253,166, 3, 61, 3, 59, 4, 54,100,151,102, 96,160,116, 64, 34, 45,170, 23, 36, 24, 13,148,135,135,129,151, 1,209,166,145, 0, + 0, 1, 0,170,254, 20, 4, 59, 4, 74, 0, 36, 0, 70, 64, 38, 32, 74, 36, 36, 5, 0, 74, 0, 30, 1, 30, 30, 13, 24, 70, 5, + 38, 33, 0, 13, 1, 13, 31, 0, 78, 30, 30, 19, 33, 80, 34, 15, 14, 19, 80, 13, 10, 27, 0, 63, 51,225, 50, 63,225, 18, 57, 47, +225, 50, 1, 47, 93, 51, 16,222,225, 17, 57, 47, 93,225, 17, 51, 47,225, 48, 49, 1, 30, 3, 21, 20, 14, 2, 35, 34, 38, 39, 55, + 30, 3, 51, 50, 62, 2, 53, 52, 46, 2, 35, 35, 53, 1, 33, 53, 33, 21, 2, 72,104,182,135, 78, 76,139,198,123,122,193, 62, 2, + 33, 84, 98,111, 59, 77,128, 92, 51, 59,108,151, 91,119, 1,182,253,150, 3, 61, 1,213, 7, 64,114,164,108,110,185,134, 75, 36, + 34,166, 16, 31, 24, 15, 48, 89,127, 78, 86,123, 80, 37,125, 1,237,154,133, 0,255,255, 0,137, 0, 0, 4, 70, 6,193, 2, 38, + 1,178, 0, 0, 1, 7, 1, 77, 0, 2, 1, 82, 0, 19, 64, 11, 1, 19, 5, 38, 1, 0, 17, 18, 0, 8, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0,160, 0, 0, 4, 45, 5,111, 2, 38, 1,210, 0, 0, 1, 6, 1, 77, 2, 0, 0, 19, 64, 11, 1, 14, 17, 38, + 1, 1, 12, 13, 10, 4, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,137, 0, 0, 4, 70, 7, 43, 2, 38, 1,178, 0, 0, 1, 7, + 0,106, 0, 2, 1, 82, 0, 23, 64, 13, 2, 1, 21, 5, 38, 2, 1, 0, 23, 27, 0, 8, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, +255,255, 0,160, 0, 0, 4, 45, 5,217, 2, 38, 1,210, 0, 0, 1, 6, 0,106, 2, 0, 0, 23, 64, 13, 2, 1, 16, 17, 38, 2, + 1, 1, 18, 22, 10, 4, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 84,255,236, 4,123, 7, 43, 2, 38, 0, 50, 0, 0, + 1, 7, 0,106, 0, 2, 1, 82, 0, 23, 64, 13, 3, 2, 24, 5, 38, 3, 2, 0, 26, 30, 2, 7, 37, 1, 43, 53, 53, 0, 43, 53, + 53, 0,255,255, 0,115,255,236, 4, 88, 5,217, 2, 38, 0, 82, 0, 0, 1, 6, 0,106,249, 0, 0, 25,182, 3, 2, 24, 17, 38, + 3, 2,184,255,249,180, 26, 30, 3, 9, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 84,255,236, 4,123, 5,205, 2, 6, + 2,126, 0, 0,255,255, 0,115,255,236, 4, 88, 4, 94, 2, 6, 2,127, 0, 0,255,255, 0, 84,255,236, 4,123, 7, 43, 2, 38, + 2,126, 0, 0, 1, 7, 0,106, 0, 2, 1, 82, 0, 23, 64, 13, 4, 3, 46, 5, 38, 4, 3, 0, 48, 52, 10, 0, 37, 1, 43, 53, + 53, 0, 43, 53, 53, 0,255,255, 0,115,255,236, 4, 88, 5,217, 2, 38, 2,127, 0, 0, 1, 6, 0,106,249, 0, 0, 25,182, 4, + 3, 35, 17, 38, 4, 3,184,255,249,180, 37, 41, 10, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 68,255,236, 4, 76, + 7, 43, 2, 38, 1,199, 0, 0, 1, 7, 0,106,255,136, 1, 82, 0, 25,182, 2, 1, 28, 5, 38, 2, 1,184,255,166,180, 30, 34, + 1, 6, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,184,255,236, 4, 37, 5,217, 2, 38, 1,231, 0, 0, 1, 6, 0,106, +208, 0, 0, 25,182, 2, 1, 27, 17, 38, 2, 1,184,255,199,180, 29, 33, 13, 18, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, + 0, 27,255,236, 4,176, 6,193, 2, 38, 1,189, 0, 0, 1, 7, 1, 77, 0, 8, 1, 82, 0, 19, 64, 11, 1, 26, 5, 38, 1, 8, + 24, 25, 14, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82,254, 20, 4,121, 5,111, 2, 38, 0, 92, 0, 0, 1, 6, 1, 77, + 2, 0, 0, 19, 64, 11, 1, 25, 17, 38, 1, 2, 23, 24, 0, 9, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 27,255,236, 4,176, + 7, 43, 2, 38, 1,189, 0, 0, 1, 7, 0,106,255,255, 1, 82, 0, 25,182, 2, 1, 28, 5, 38, 2, 1,184,255,255,180, 30, 34, + 14, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 82,254, 20, 4,121, 5,217, 2, 38, 0, 92, 0, 0, 1, 6, 0,106, + 8, 0, 0, 23, 64, 13, 2, 1, 27, 17, 38, 2, 1, 8, 29, 33, 0, 9, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 27, +255,236, 4,176, 7,115, 2, 38, 1,189, 0, 0, 1, 7, 1, 83, 0, 82, 1, 82, 0, 23, 64, 13, 2, 1, 30, 5, 38, 2, 1, 82, + 24, 35, 14, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 82,254, 20, 4,121, 6, 33, 2, 38, 0, 92, 0, 0, 1, 6, + 1, 83, 94, 0, 0, 23, 64, 13, 2, 1, 29, 17, 38, 2, 1, 94, 23, 34, 0, 9, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, + 0,135, 0, 0, 4, 70, 7, 43, 2, 38, 1,193, 0, 0, 1, 7, 0,106, 0, 2, 1, 82, 0, 23, 64, 13, 2, 1, 21, 5, 38, 2, + 1, 1, 23, 27, 6, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,152, 0, 0, 4, 37, 5,217, 2, 38, 1,225, 0, 0, + 1, 6, 0,106,251, 0, 0, 23, 64, 13, 2, 1, 21, 17, 38, 2, 1, 2, 23, 27, 15, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, + 0, 1, 1, 43,254,127, 4,100, 5,182, 0, 9, 0, 56, 64, 35, 0, 11, 5,251, 6, 6, 3, 90, 0, 8, 1, 0, 8, 32, 8, 48, + 8,144, 8,160, 8,240, 8, 6, 8, 2, 95, 9, 3, 5, 5, 3, 95, 8, 18, 0, 63,225, 51, 47, 63,225, 1, 47, 93,113,225, 50, + 47,225, 16,206, 49, 48, 1, 21, 33, 17, 51, 17, 35, 17, 35, 17, 4,100,253,129,177,177,186, 5,182,166,251,150,253,217, 1,129, + 5,182, 0, 1, 1, 35,254,131, 4, 14, 4, 74, 0, 9, 0, 46, 64, 26, 2, 11, 7, 70, 8, 8, 5, 71, 0, 0,144, 0,160, 0, + 3, 0, 4, 80, 1, 15, 7, 7, 5, 80, 0, 21, 0, 63,225, 51, 47, 63,225, 1, 47, 93,225, 50, 47,225, 16,206, 48, 49, 33, 17, + 33, 21, 33, 17, 51, 17, 35, 17, 1, 35, 2,235,253,203,160,176, 4, 74,154,252,234,253,233, 1,125, 0,255,255, 0, 96, 0, 0, + 4,109, 7, 43, 2, 38, 1,197, 0, 0, 1, 7, 0,106, 0, 2, 1, 82, 0, 23, 64, 13, 4, 3, 26, 5, 38, 4, 3, 1, 28, 32, + 0, 20, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,113, 0, 0, 4, 90, 5,217, 2, 38, 1,229, 0, 0, 1, 6, 0,106, + 2, 0, 0, 23, 64, 13, 4, 3, 25, 17, 38, 4, 3, 2, 27, 31, 6, 17, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 1, 0,147, +254,109, 4,100, 5,182, 0, 29, 0, 72, 64, 38, 15, 4, 1, 4, 4, 7, 0, 31, 16, 9,250, 23, 23, 2, 7, 90, 28, 26, 24, 19, + 6, 26, 95, 3, 27, 27, 7, 2, 95, 29, 3, 7, 95, 24, 18, 19, 96, 12, 0, 47,225, 63,225, 63,225, 18, 57, 47, 51,225, 50, 1, + 47, 47,206, 51,225, 50, 50, 47,225,206, 16,206, 17, 57, 47, 93, 48, 49, 1, 21, 33, 17, 33, 21, 33, 17, 51, 17, 20, 6, 35, 34, + 38, 39, 53, 22, 22, 51, 50, 54, 53, 53, 35, 17, 35, 53, 51, 17, 4,100,253,129, 1, 80,254,176,156,110,125, 39, 63, 21, 14, 58, + 34, 47, 49,186,152,152, 5,182,166,254, 21,162,254, 35,254,217,132,142, 17, 9,150, 7, 14, 49, 49,150, 2,131,162, 2,145, 0, + 0, 1, 0,135,254,109, 4, 14, 4, 74, 0, 29, 0, 72, 64, 37, 10, 10, 13, 6, 31, 25, 22, 15, 73, 29, 29, 9, 13, 71, 4, 2, + 0, 22, 25, 80, 21, 18, 12, 2, 79, 9, 3, 3, 13, 8, 80, 5, 15, 13, 81, 0, 21, 0, 63,225, 63,225, 18, 57, 47, 51,225, 50, + 47, 51,225, 50, 1, 47,206, 51,225, 50, 50, 47,225,206, 47, 16,206, 17, 57, 47, 48, 49, 33, 17, 35, 53, 51, 17, 33, 21, 33, 17, + 33, 21, 33, 17, 51, 17, 20, 6, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 53, 53, 1, 35,156,156, 2,235,253,203, 1, 23,254,233, +156,110,126, 38, 63, 22, 14, 59, 34, 46, 50, 1,225,137, 1,224,154,254,186,137,254,197,254,217,132,142, 17, 9,150, 7, 14, 49, + 49,150,255,255, 0, 53,254,109, 4,205, 5,182, 2, 38, 0, 59, 0, 0, 1, 7, 3,128, 1,180, 0, 0, 0, 23,182, 1, 1, 0, + 21,176, 21, 2,184, 1,180,180, 21, 12, 4, 0, 37, 1, 43, 93, 53, 0, 53, 0,255,255, 0, 96,254,109, 4,119, 4, 74, 2, 38, + 0, 91, 0, 0, 1, 7, 3,129, 1, 94, 0, 0, 0, 30,181, 1, 1, 80, 21, 1, 21,184,255,192,178, 9, 12, 54,184, 1, 94,180, + 21, 12, 11, 7, 37, 1, 43, 43, 93, 53, 0, 53, 0, 1, 0, 53, 0, 0, 4,150, 5,182, 0, 17, 0,164,185, 0, 11,255,248, 64, + 23, 12, 15, 72, 6, 11, 22, 11, 38, 11, 3, 13, 8, 12, 15, 72, 9, 13, 25, 13, 41, 13, 3, 4,184,255,248, 64, 32, 12, 15, 72, + 6, 4, 22, 4, 38, 4, 3, 2, 8, 12, 15, 72, 9, 2, 25, 2, 41, 2, 3, 15, 9, 6, 3, 0, 12, 12, 14, 11, 10,184,255,240, + 64, 10, 10, 10, 5, 7, 17, 7, 17, 1, 4, 5,184,255,240, 64, 25, 5, 13, 14, 16, 14, 14, 2, 1, 16, 1, 3, 0, 7, 95, 15, + 12, 8, 8, 1, 13, 10, 3, 5, 1, 18, 0, 63, 51, 63, 51, 18, 57, 47, 51, 51,225, 50, 50, 1, 47, 56, 51, 51, 47, 56, 51, 47, + 56, 51, 18, 57, 57, 47, 47, 17, 51, 47, 56, 51, 18, 57, 17, 51, 51, 51, 51, 51, 93, 43, 93, 43, 93, 43, 93, 43, 48, 49, 1, 1, + 35, 1, 1, 35, 1, 33, 53, 33, 1, 51, 1, 1, 51, 1, 33, 21, 2,250, 1,156,211,254,157,254,146,189, 1,154,254,223, 1, 21, +254,145,199, 1, 75, 1, 78,191,254,141, 1, 29, 2,180,253, 76, 2,123,253,133, 2,180,162, 2, 96,253,209, 2, 47,253,160,162, + 0, 1, 0, 96, 0, 0, 4,106, 4, 74, 0, 17, 0,194,183,196, 14,212, 14,228, 14, 3, 14,184,255,240, 64, 36, 11, 14, 72,203, + 12,219, 12,235, 12, 3, 12, 16, 11, 14, 72,203, 5,219, 5,235, 5, 3, 5, 16, 11, 14, 72,196, 3,212, 3,228, 3, 3, 6, 3, +184,255,240, 64, 20, 11, 14, 72, 73, 13, 1, 13, 16, 18, 23, 72, 10, 13, 26, 13, 2, 70, 4, 1, 4,184,255,240, 64, 55, 18, 23, + 72, 5, 4, 21, 4, 2, 17, 9, 17, 9, 15, 11, 16, 13, 10, 7, 1, 4, 4, 6, 3, 2, 2, 14, 31, 15, 1, 15, 5, 6, 6, 12, + 0, 11, 16, 11, 2, 11, 13, 10, 17, 79, 7, 4, 0, 0, 2, 15, 11, 21, 5, 2, 15, 0, 63, 51, 63, 51, 18, 57, 47, 51, 51,225, + 50, 50, 1, 47, 93, 51, 51, 47, 51, 47, 93, 51, 51, 47, 51, 18, 57, 17, 51, 51, 51, 51, 51, 17, 18, 57, 57, 47, 47, 48, 49, 0, + 93, 43, 93, 93, 43, 93, 1, 43, 95, 93, 43, 93, 43, 93, 43, 93, 19, 33, 1, 51, 1, 1, 51, 1, 33, 21, 33, 1, 35, 1, 1, 35, + 1, 33,166, 1, 41,254,166,207, 1, 34, 1, 35,207,254,164, 1, 45,254,207, 1,114,206,254,202,254,201,207, 1,115,254,211, 2, +123, 1,207,254,102, 1,154,254, 49,137,254, 14, 1,180,254, 76, 1,242, 0, 2, 0,137, 0, 0, 3,246, 5,182, 0, 14, 0, 25, + 0, 42, 64, 22, 6, 25, 90, 9, 27, 21, 91, 0, 0, 1, 0, 16, 95, 5, 5, 7, 24, 96, 10, 18, 7, 3, 0, 63, 63,225, 17, 57, + 47,225, 1, 47, 93,225, 16,222,225, 50, 48, 49, 19, 52, 62, 2, 51, 51, 17, 51, 17, 33, 34, 46, 2, 1, 35, 34, 14, 2, 21, 20, + 22, 51, 51,137, 55,127,207,152,149,187,254,149,133,194,126, 61, 2,178,129, 93,138, 91, 46,163,175,159, 1,172, 87,152,113, 66, + 2,104,250, 74, 61,112,158, 1, 95, 27, 60, 97, 70,136,132, 0,255,255, 0,137,255,236, 4, 47, 6, 20, 2, 6, 0, 71, 0, 0, + 0, 2, 0, 49,255,236, 4,131, 5,182, 0, 33, 0, 48, 0, 61, 64, 33, 9, 24,251, 21, 48, 48, 15, 32,251, 15, 1, 63, 1, 2, + 1, 50, 40, 90, 15, 35, 95, 33, 20, 20, 22, 3, 27, 9, 43, 96, 6, 12, 19, 0, 63, 51,225, 50, 50, 63, 57, 47, 51,225, 1, 47, +225, 16,222, 93,225, 17, 57, 47, 51,225, 57, 49, 48, 1, 17, 20, 14, 2, 35, 34, 38, 39, 6, 6, 35, 34, 38, 53, 52, 62, 2, 51, + 51, 17, 51, 17, 20, 22, 51, 50, 62, 2, 53, 17, 5, 35, 34, 14, 2, 21, 20, 22, 51, 50, 62, 2, 53, 4,131, 30, 67,109, 79, 92, +109, 34, 35,122, 97,165,167, 49,104,161,112, 82,174, 65, 68, 30, 44, 29, 14,254, 88, 80, 66, 94, 60, 28, 78, 94, 48, 60, 35, 13, + 3, 80,254, 24, 84,140,101, 55, 87, 87, 79, 93,209,215,103,163,114, 60, 2,104,251,178,114,103, 23, 51, 83, 60, 1,232,166, 30, + 67,107, 77,128,130, 35, 60, 79, 43, 0, 0, 2, 0, 49,255,236, 4,131, 6, 20, 0, 44, 0, 61, 0, 62, 64, 33, 14, 40, 70, 37, + 50, 50, 23, 3, 70, 15, 6, 1, 6, 63, 59, 70, 23, 31, 56, 80, 28, 16, 4, 4, 38, 0, 14, 0, 45, 80, 11, 20, 22, 0, 63, 51, +225, 50, 50, 63, 57, 47, 63,225, 50, 1, 47,225, 16,222, 93,225, 17, 57, 47, 51,225, 57, 48, 49, 37, 50, 54, 53, 17, 51, 17, 20, + 14, 2, 35, 34, 38, 39, 35, 14, 3, 35, 34, 2, 17, 52, 62, 2, 51, 50, 22, 23, 51, 38, 39, 38, 38, 53, 17, 51, 17, 20, 30, 2, + 33, 50, 62, 2, 55, 53, 52, 46, 2, 35, 34, 6, 21, 20, 22, 3, 88, 66, 59,174, 34, 68,101, 67,110,129, 34, 4, 19, 43, 60, 83, + 59,154,141, 42, 77,107, 65, 82,104, 31, 8, 2, 2, 2, 2,174, 9, 26, 50,254, 85, 46, 63, 39, 19, 1, 17, 39, 64, 48, 83, 77, + 77,131,124,130, 1, 59,254,193,105,152, 98, 46, 99,103, 41, 74, 55, 32, 1, 30, 1, 25,141,214,144, 72, 74, 65, 34, 31, 26, 55, + 16, 1,159,251,146, 61,107, 78, 45, 46, 94,141, 94, 41,101,157,107, 55,217,205,209,205, 0, 1, 0, 35,255,236, 4, 84, 5,203, + 0, 57, 0, 80, 64, 42, 37,251, 0, 0, 31, 26,251, 11, 11, 18, 45,251, 15, 48, 1, 48, 59, 17, 18, 6, 6, 18, 31, 6, 97, 7, + 46, 46, 7, 7, 21, 42, 95, 53, 19, 18, 17, 17, 14, 96, 21, 4, 0, 63,225, 50, 17, 51, 63,225, 17, 57, 47, 51, 47, 16,225, 57, + 1, 47, 51, 47, 17, 51, 16,222, 93,225, 17, 57, 47,225, 51, 51, 47,225, 48, 49, 1, 52, 46, 2, 35, 35, 53, 51, 50, 54, 53, 52, + 38, 35, 34, 6, 7, 39, 54, 54, 51, 50, 30, 2, 21, 20, 14, 2, 7, 21, 30, 3, 21, 20, 30, 2, 51, 50, 54, 53, 17, 51, 17, 20, + 14, 2, 35, 34, 46, 2, 1,254, 16, 42, 72, 56,156,156, 83, 91, 88, 86, 60, 94, 53, 82, 65,151,103, 81,121, 79, 39, 30, 56, 80, + 49, 57, 84, 56, 28, 14, 31, 47, 33, 66, 59,174, 40, 77,109, 69, 69,112, 79, 43, 1,135, 77,109, 70, 33,151,134,125,124,115, 33, + 41,117, 54, 57, 54, 97,133, 79, 73,116, 85, 58, 16, 6, 13, 51, 83,121, 84, 74,103, 65, 29,115,133, 1,201,254, 45,107,152, 97, + 45, 38, 94,159, 0, 1, 0, 43,255,236, 4, 94, 4, 92, 0, 57, 0, 71, 64, 37, 37, 26, 70, 31, 0, 11, 11, 18, 45, 70, 15, 48, + 1, 48, 59, 17, 18, 6, 6, 18, 31, 6, 80, 46, 7, 7, 21, 42, 81, 53, 22, 17, 14, 78, 18, 21, 16, 0, 63, 51,225, 50, 63,225, + 17, 57, 47,196,225, 57, 1, 47, 51, 47, 17, 51, 16,222, 93,225, 17, 57, 47, 51, 51,225, 50, 48, 49, 1, 46, 3, 35, 35, 53, 51, + 50, 54, 53, 52, 38, 35, 34, 6, 7, 39, 54, 54, 51, 50, 30, 2, 21, 20, 14, 2, 7, 21, 30, 3, 23, 30, 3, 51, 50, 54, 53, 17, + 51, 17, 20, 14, 2, 35, 34, 46, 2, 2, 10, 3, 18, 41, 70, 56,139,139, 83, 91, 75, 87, 66,113, 63, 61, 65,156,101, 81,120, 79, + 39, 30, 56, 80, 49, 53, 81, 56, 31, 4, 3, 15, 29, 45, 33, 66, 59,174, 40, 76,110, 69, 69,107, 76, 43, 1, 27, 56, 80, 51, 24, +153, 86, 80, 82, 74, 36, 32,141, 36, 38, 42, 73,100, 57, 55, 86, 64, 43, 14, 4, 6, 30, 56, 85, 61, 54, 75, 47, 21,115,133, 1, + 53,254,193,107,152, 97, 45, 28, 69,117, 0, 1, 0, 39,254,127, 4,117, 5,203, 0, 49, 0, 80, 64, 43, 1, 90, 46, 46, 49, 39, + 15, 91, 34, 34, 49,251, 0, 47, 80, 47, 2, 47, 23, 24, 8, 8, 24, 24, 23, 23, 20, 96, 29, 39, 8, 97, 9, 9, 29, 4, 46, 95, + 1, 48, 48, 1, 18, 0, 63, 51, 47, 16,225, 63, 57, 47,225, 57, 16,225, 50, 17, 51, 1, 47, 51, 47, 17, 51, 47, 93,225, 50, 47, +225, 50, 17, 51, 47,225, 49, 48, 33, 35, 17, 52, 46, 2, 35, 35, 53, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 6, 7, 39, 62, 3, + 51, 50, 30, 2, 21, 20, 14, 2, 7, 21, 30, 3, 21, 21, 51, 17, 35, 3,197,187, 56,103,149, 93,191,176, 92,142, 97, 50, 37, 68, + 95, 58,110,169, 75, 92, 38, 98,116,131, 72,109,166,112, 57, 51, 91,125, 75, 87,138, 94, 50,176,176, 1,160, 68, 99, 65, 32,151, + 39, 72,101, 61, 54, 83, 58, 30, 67, 54,125, 31, 54, 41, 24, 54, 97,133, 79, 73,120, 88, 57, 12, 6, 11, 57, 89,119, 72,250,253, +217, 0, 0, 1, 0, 80,254,131, 4, 92, 4, 94, 0, 47, 0, 78, 64, 41, 36, 14, 70, 31, 31, 0, 71, 43, 43, 47, 70, 44, 49, 22, + 23, 8, 8, 23, 23, 48, 22, 17, 80, 26, 36, 7, 80, 48, 8, 1, 8, 8, 23, 26, 16, 45, 45, 43, 80, 0, 21, 0, 63,225, 51, 47, + 63, 51, 57, 47, 93,225, 57, 16,225, 50, 17, 1, 51, 47, 51, 47, 17, 51, 16,222,225, 50, 47,225, 51, 47,225, 50, 48, 49, 33, 17, + 52, 46, 2, 35, 35, 53, 51, 50, 62, 2, 53, 52, 38, 35, 34, 14, 2, 7, 39, 54, 54, 51, 50, 30, 2, 21, 20, 14, 2, 7, 21, 30, + 3, 21, 21, 51, 17, 35, 17, 3, 6, 27, 62,102, 75,236,203, 62,100, 72, 39,140,131, 47, 82, 80, 80, 45, 63, 93,201,115, 99,160, +113, 61, 28, 51, 71, 43, 54, 84, 58, 31,160,176, 1, 43, 47, 73, 49, 26,153, 18, 39, 64, 45, 77, 77, 10, 18, 27, 17,147, 39, 37, + 36, 72,106, 70, 53, 81, 59, 41, 14, 11, 13, 44, 66, 91, 62,145,253,233, 1,125, 0, 1, 0, 0,255,236, 4,131, 5,182, 0, 48, + 0, 83, 64, 46, 22, 13, 27,250, 1, 29,251, 48, 6, 13, 0, 1, 16, 1, 2, 1, 48, 1, 48, 13, 35,251, 15, 38, 1, 38, 50, 13, + 32, 95, 43, 19, 36, 36, 17, 1, 95, 27, 3, 14, 14, 17, 96, 13, 11, 19, 0, 63, 51,225, 50, 47, 63,225, 18, 57, 47, 63,225, 1, + 47, 16,222, 93,225, 17, 57, 57, 47, 47, 93, 18, 57, 16,225, 16,237, 17, 57, 48, 49, 1, 35, 14, 3, 7, 14, 3, 35, 34, 39, 53, + 22, 22, 51, 50, 62, 2, 55, 54, 54, 18, 18, 55, 33, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, 2, + 45,164, 9, 20, 21, 19, 9, 10, 27, 48, 78, 62, 51, 39, 14, 26, 17, 25, 31, 21, 14, 6, 7, 19, 23, 26, 15, 1,231, 59, 66, 68, + 57,174, 42, 78,109, 68, 67,110, 80, 44, 5, 18,116,245,234,210, 81,103,161,110, 58, 22,154, 8, 9, 60, 93,113, 54, 59,196, 1, + 2, 1, 57,177,251,209,129,119,119,129, 1,201,254, 45,105,152, 98, 46, 44, 96,153,108, 0, 1, 0, 0,255,236, 4,131, 4, 74, + 0, 41, 0, 73, 64, 40, 20, 73, 1, 22, 70, 41, 0, 1, 16, 1, 2, 1, 41, 1, 41, 11, 28, 70, 15, 31, 1, 31, 43, 11, 29, 29, + 15, 1, 80, 20, 15, 25, 12, 12, 15, 79, 36, 11, 8, 22, 0, 63, 51, 51,225, 50, 17, 51, 63,225, 18, 57, 47, 1, 47, 16,222, 93, +225, 17, 57, 57, 47, 47, 93, 16,225, 16,225, 49, 48, 1, 35, 6, 2, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 54, 18, 55, + 33, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, 2, 45,174, 10, 29, 38, 48, 58, 69, 41, 26, 49, 15, + 8, 17, 8, 37, 61, 48, 37, 13, 1,246, 55, 72, 65, 58,174, 36, 73,110, 74, 71,113, 79, 42, 3,176,186,254,226,213,145, 89, 39, + 6, 6,131, 3, 3,117,241, 1,111,250,253, 61,135,125,123,137, 1, 53,254,193,105,152, 98, 46, 37, 87,142,104, 0, 1, 0,121, +255,236, 4,131, 5,182, 0, 29, 0, 72, 64, 42, 27, 0,251, 19, 19, 23, 6,251, 56, 9, 1, 15, 9, 1, 9, 31, 26, 22,251, 71, + 23, 1, 0, 23, 16, 23, 2, 23, 21, 95, 7, 26, 26, 28, 24, 3, 23, 18, 3, 95, 14, 19, 0, 63,225, 63, 63, 51, 57, 47, 51,225, + 1, 47, 93, 93,225, 50, 16,222, 93, 93,225, 17, 57, 47,225, 51, 48, 49, 1, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, + 34, 46, 2, 53, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 2,219, 62, 69, 69, 58,166, 37, 74,111, 75, 75,110, 72, 36,254,234,166, +166, 1, 22,166, 1,135,129,119,119,129, 1,201,254, 45,105,152, 98, 46, 44, 96,153,108, 1, 45,253, 86, 5,182,253,152, 2,104, + 0, 1, 0,123,255,236, 4,123, 4, 74, 0, 29, 0, 80, 64, 49, 5, 73, 2, 71, 24, 87, 24, 2, 24, 24, 28, 11, 73, 72, 14, 88, + 14,168, 14, 3, 15, 14, 1, 14, 31, 1, 27, 73, 0, 28, 16, 28, 2, 28, 28, 21, 26, 80, 12, 1, 1, 0, 8, 80, 19, 22, 3, 0, + 15, 0, 63, 50, 63,225, 17, 57, 47,196,225, 63, 1, 47, 93,225, 50, 16,222, 93, 93,225, 17, 57, 47, 93, 51,225, 48, 49, 1, 17, + 33, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, 53, 33, 17, 35, 17, 1, 29, 1, 34,162, 55, + 72, 63, 58,162, 35, 70,105, 71, 67,108, 76, 40,254,222,162, 4, 74,254, 57, 1,199,253, 61,131,129,130,130, 1, 53,254,193,105, +152, 98, 46, 37, 87,142,104,139,254, 23, 4, 74, 0, 1, 0,117,255,236, 4,111, 5,203, 0, 40, 0, 73, 64, 42, 40, 40, 12, 39, + 90, 2, 21, 20, 20, 2, 42, 29, 91, 0, 12, 1, 12, 21, 24, 95, 17, 40, 95, 47, 0, 95, 0, 2, 0, 64, 16, 24, 72, 0, 0, 20, + 17, 4, 34, 95, 7, 19, 0, 63,225, 63, 51, 57, 47, 43, 93,225, 16,225, 50, 1, 47, 93,225, 16,206, 50, 47, 51, 16,225, 17, 57, + 47, 48, 49, 1, 33, 21, 20, 14, 2, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, 20, + 30, 2, 51, 50, 62, 2, 53, 33, 2,160, 1,207, 52,111,173,121,138,210,141, 72, 80,151,216,136,115,181, 75, 72, 58,153, 94, 86, +140,100, 55, 45, 89,132, 87, 82,109, 66, 27,254,234, 2,246,142,167,241,155, 73,105,195, 1, 23,174,172, 1, 22,195,105, 44, 42, +162, 34, 50, 81,152,218,137,132,217,154, 85, 55,111,170,115, 0, 0, 1, 0,113,255,236, 4, 92, 4, 94, 0, 40, 0, 65, 64, 35, + 40, 40, 12, 1, 21, 63, 20, 1, 20, 20, 39, 71, 1, 42, 29, 72, 0, 12, 1, 12, 21, 24, 78, 17, 40, 80, 0, 0, 20, 17, 16, 34, + 78, 7, 22, 0, 63,225, 63, 51, 57, 47,225, 16,225, 50, 1, 47, 93,225, 16,222,225, 51, 47, 93, 51, 17, 18, 57, 47, 48, 49, 1, + 33, 21, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, 20, 30, 2, 51, 50, 62, 2, + 53, 33, 2,123, 1,225, 50,113,179,129,135,200,132, 65, 71,140,208,138,111,172, 77, 61, 60,148, 91, 91,139, 92, 47, 37, 83,132, + 94, 81,110, 66, 28,254,215, 2, 74, 68,130,200,137, 71, 79,147,211,132,131,210,148, 80, 37, 39,145, 29, 45, 58,109,157, 98, 93, +155,112, 62, 45, 80,113, 67, 0, 0, 1, 0, 20,255,236, 4,131, 5,182, 0, 25, 0, 64, 64, 38, 6, 90, 15, 9, 1, 9, 27, 48, + 24, 1, 24, 24, 0, 90,159, 21, 1, 21, 48, 19,128, 19,144, 19, 3, 19, 25, 21, 95, 22, 7, 7, 22, 3, 3, 95, 14, 19, 0, 63, +225, 63, 57, 47, 16,225, 50, 1, 47, 93,206, 93,241,202, 47, 93, 16,222, 93,225, 48, 49, 1, 20, 22, 51, 50, 54, 53, 17, 51, 17, + 20, 14, 2, 35, 34, 46, 2, 53, 17, 33, 53, 33, 21, 33, 2,113, 82, 92, 92, 82,182, 50, 93,132, 81, 80,133, 95, 53,254, 94, 3, +254,254, 95, 1,135,129,119,119,129, 1,201,254, 45,105,152, 98, 46, 39, 93,154,115, 3,149,164,164, 0, 0, 1, 0, 41,255,236, + 4,111, 4, 74, 0, 27, 0, 60, 64, 35, 13, 71, 16, 29,143, 3,159, 3, 2, 3, 3, 5, 71, 31, 0, 1, 0, 0, 26, 16, 26, 2, + 26, 14, 14, 1, 10, 80, 21, 22, 4, 0, 80, 1, 15, 0, 63,225, 50, 63,225, 17, 57, 47, 1, 47, 93,206, 93,241,202, 47, 93, 16, +222,225, 48, 49, 19, 53, 33, 21, 33, 17, 20, 30, 2, 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, 17, 41, 3, 53, +254,193, 21, 49, 80, 59,105, 95,183, 47, 95,143, 96, 91,146,102, 55, 3,176,154,154,253,215, 65, 98, 65, 32,130,130, 1, 53,254, +193,105,152, 98, 46, 46, 98,150,105, 2, 53, 0, 0, 1, 0,166,255,236, 4, 68, 5,203, 0, 59, 0, 73, 64, 39, 28, 28, 49, 39, + 39, 11, 10, 61, 21, 90, 0, 0, 32, 91, 0, 49, 1, 49, 54, 29, 97,159, 26, 1, 26, 26, 5, 38, 35, 96, 39, 44, 19, 11, 16, 96, + 10, 5, 4, 0, 63, 51,225, 50, 63, 51,225, 50, 17, 57, 47, 93,225, 57, 1, 47, 93,225, 51, 47,225, 16,206, 50, 50, 47, 17, 57, + 47, 48, 49, 19, 52, 62, 2, 51, 50, 30, 2, 23, 7, 46, 3, 35, 34, 14, 2, 21, 20, 30, 2, 51, 51, 21, 35, 34, 6, 21, 20, 22, + 51, 50, 54, 55, 21, 14, 3, 35, 34, 46, 2, 53, 52, 62, 2, 55, 53, 46, 3,211, 60,115,169,109, 71,123,105, 90, 39, 93, 37, 77, + 83, 91, 52, 57, 95, 68, 38, 44, 87,131, 87,194,190,186,208,170,164,109,203, 84, 42, 88, 99,111, 64,128,195,131, 66, 50, 94,137, + 88, 75,120, 84, 45, 4, 96, 79,133, 97, 54, 24, 41, 54, 31,125, 27, 45, 31, 18, 30, 58, 83, 54, 61,101, 72, 39,151,133,135,137, +142, 49, 43,170, 19, 28, 19, 9, 60,111,156, 96, 72,123, 94, 61, 11, 6, 12, 57, 88,120,255,255, 0,201,255,236, 4, 8, 4, 94, + 2, 6, 1,130, 0, 0,255,255, 0, 4,255,233, 4, 70, 5,182, 2, 6, 1,181, 0, 0,255,255, 0, 31,255,242, 4, 16, 4, 74, + 2, 6, 1,213, 0, 0,255,255, 0, 33,254,152, 4,172, 5,188, 2, 38, 0, 36, 0, 0, 1, 6, 2,103, 0, 0, 0, 19, 64, 11, + 2, 18, 20, 39, 2, 0, 15, 21, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,135,254,152, 4, 2, 4, 94, 2, 38, 0, 68, + 0, 0, 1, 6, 2,103,237, 0, 0, 19, 64, 11, 2, 37, 23, 39, 2, 15, 34, 40, 8, 22, 37, 1, 43, 53, 0, 43, 53, 0,255,255, + 0, 33, 0, 0, 4,172, 7,225, 2, 38, 0, 36, 0, 0, 1, 7, 2,102, 0, 33, 1, 82, 0, 19, 64, 11, 2, 21, 5, 38, 2, 33, + 36, 15, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,135,255,236, 4, 2, 6,143, 2, 38, 0, 68, 0, 0, 1, 6, 2,102, + 25, 0, 0, 19, 64, 11, 2, 40, 17, 38, 2, 59, 55, 34, 8, 22, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 33, 0, 0, 4,172, + 7,209, 2, 38, 0, 36, 0, 0, 1, 7, 3,119, 0,121, 1, 82, 0, 23, 64, 13, 3, 2, 15, 5, 38, 3, 2,120, 23, 38, 4, 7, + 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,135,255,236, 4,141, 6,127, 2, 38, 0, 68, 0, 0, 1, 6, 3,119,125, 0, + 0, 23, 64, 13, 3, 2, 34, 17, 38, 3, 2,158, 42, 57, 8, 22, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 33, 0, 0, + 4,172, 7,209, 2, 38, 0, 36, 0, 0, 1, 7, 3,120,255,148, 1, 82, 0, 25,182, 3, 2, 23, 5, 38, 3, 2,184,255,148,180, + 36, 22, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 85,255,236, 4, 2, 6,127, 2, 38, 0, 68, 0, 0, 1, 6, + 3,120,153, 0, 0, 25,182, 3, 2, 42, 17, 38, 3, 2,184,255,187,180, 55, 41, 8, 22, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, +255,255, 0, 33, 0, 0, 4,172, 8, 74, 2, 38, 0, 36, 0, 0, 1, 7, 3,121, 0, 88, 1, 82, 0, 23, 64, 13, 3, 2, 15, 5, + 38, 3, 2, 88, 23, 32, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,135,255,236, 4, 76, 6,248, 2, 38, 0, 68, + 0, 0, 1, 6, 3,121, 92, 0, 0, 23, 64, 13, 3, 2, 34, 17, 38, 3, 2,126, 42, 51, 8, 22, 37, 1, 43, 53, 53, 0, 43, 53, + 53, 0,255,255, 0, 33, 0, 0, 4,172, 8, 98, 2, 38, 0, 36, 0, 0, 1, 7, 3,122, 0, 8, 1, 82, 0, 23, 64, 13, 3, 2, + 23, 5, 38, 3, 2, 7, 41, 55, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,135,255,236, 4, 2, 7, 16, 2, 38, + 0, 68, 0, 0, 1, 6, 3,122, 12, 0, 0, 23, 64, 13, 3, 2, 42, 17, 38, 3, 2, 45, 60, 74, 8, 22, 37, 1, 43, 53, 53, 0, + 43, 53, 53, 0,255,255, 0, 33,254,152, 4,172, 7,115, 2, 38, 0, 36, 0, 0, 0, 39, 1, 75, 0, 0, 1, 82, 1, 6, 2,103, + 0, 0, 0, 34, 64, 22, 3, 34, 20, 39, 2, 15, 5, 38, 3, 0, 31, 37, 4, 7, 37, 2, 0, 21, 15, 4, 7, 37, 1, 43, 53, 43, + 53, 0, 43, 53, 43, 53,255,255, 0,135,254,152, 4, 2, 6, 33, 2, 38, 0, 68, 0, 0, 0, 38, 1, 75, 8, 0, 1, 6, 2,103, +237, 0, 0, 34, 64, 22, 3, 53, 23, 39, 2, 34, 17, 38, 3, 15, 50, 56, 8, 22, 37, 2, 42, 40, 34, 8, 22, 37, 1, 43, 53, 43, + 53, 0, 43, 53, 43, 53,255,255, 0, 33, 0, 0, 4,172, 8, 19, 2, 38, 0, 36, 0, 0, 1, 7, 3,123, 0, 0, 1, 82, 0, 23, + 64, 13, 3, 2, 32, 5, 38, 3, 2, 0, 35, 27, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,135,255,236, 4, 2, + 6,193, 2, 38, 0, 68, 0, 0, 1, 6, 3,123,255, 0, 0, 23, 64, 13, 3, 2, 51, 17, 38, 3, 2, 32, 54, 46, 8, 22, 37, 1, + 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 33, 0, 0, 4,172, 8, 19, 2, 38, 0, 36, 0, 0, 1, 7, 3,124, 0, 0, 1, 82, + 0, 23, 64, 13, 3, 2, 32, 5, 38, 3, 2, 0, 35, 27, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,135,255,236, + 4, 2, 6,193, 2, 38, 0, 68, 0, 0, 1, 6, 3,124,255, 0, 0, 23, 64, 13, 3, 2, 51, 17, 38, 3, 2, 32, 54, 46, 8, 22, + 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 33, 0, 0, 4,172, 8, 88, 2, 38, 0, 36, 0, 0, 1, 7, 3,125, 0, 0, + 1, 82, 0, 23, 64, 13, 3, 2, 20, 5, 38, 3, 2, 0, 23, 15, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,135, +255,236, 4, 2, 7, 6, 2, 38, 0, 68, 0, 0, 1, 6, 3,125,255, 0, 0, 23, 64, 13, 3, 2, 39, 17, 38, 3, 2, 32, 42, 34, + 8, 22, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 33, 0, 0, 4,172, 8, 98, 2, 38, 0, 36, 0, 0, 1, 7, 3,126, + 0, 0, 1, 82, 0, 25,182, 3, 2, 20, 5, 38, 3, 2,184,255,255,180, 44, 58, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, +255,255, 0,135,255,236, 4, 2, 7, 16, 2, 38, 0, 68, 0, 0, 1, 6, 3,126,255, 0, 0, 23, 64, 13, 3, 2, 39, 17, 38, 3, + 2, 32, 63, 77, 8, 22, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 33,254,152, 4,172, 7, 64, 2, 38, 0, 36, 0, 0, + 0, 39, 1, 78,255,253, 1, 82, 1, 6, 2,103, 0, 0, 0, 37, 64, 16, 3, 30, 20, 39, 2, 18, 5, 38, 3, 0, 27, 33, 4, 7, + 37, 2,184,255,253,180, 20, 15, 4, 7, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53, 0,255,255, 0,135,254,152, 4, 2, 5,238, + 2, 38, 0, 68, 0, 0, 0, 38, 1, 78,245, 0, 1, 6, 2,103,237, 0, 0, 34, 64, 22, 3, 49, 23, 39, 2, 37, 17, 38, 3, 15, + 46, 52, 8, 22, 37, 2, 22, 39, 34, 8, 22, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53,255,255, 0,217,254,152, 4, 35, 5,182, + 2, 38, 0, 40, 0, 0, 1, 6, 2,103, 23, 0, 0, 19, 64, 11, 1, 15, 20, 39, 1, 0, 12, 18, 1, 0, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0,133,254,152, 4, 72, 4, 94, 2, 38, 0, 72, 0, 0, 1, 6, 2,103, 23, 0, 0, 19, 64, 11, 2, 26, 23, 39, + 2, 23, 23, 29, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,217, 0, 0, 4, 35, 7,225, 2, 38, 0, 40, 0, 0, 1, 7, + 2,102, 0, 39, 1, 82, 0, 19, 64, 11, 1, 18, 5, 38, 1, 15, 33, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,133, +255,236, 4, 72, 6,143, 2, 38, 0, 72, 0, 0, 1, 6, 2,102, 57, 0, 0, 19, 64, 11, 2, 29, 17, 38, 2, 57, 44, 23, 11, 0, + 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,217, 0, 0, 4, 35, 7, 53, 2, 38, 0, 40, 0, 0, 1, 7, 1, 82, 0, 25, 1, 82, + 0, 19, 64, 11, 1, 12, 5, 38, 1, 0, 13, 22, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,133,255,236, 4, 72, 5,227, + 2, 38, 0, 72, 0, 0, 1, 6, 1, 82, 33, 0, 0, 19, 64, 11, 2, 23, 17, 38, 2, 32, 24, 33, 11, 0, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0,217, 0, 0, 4,145, 7,209, 2, 38, 0, 40, 0, 0, 1, 7, 3,119, 0,129, 1, 82, 0, 23, 64, 13, 2, 1, + 12, 5, 38, 2, 1,105, 20, 35, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,133,255,236, 4,133, 6,127, 2, 38, + 0, 72, 0, 0, 1, 6, 3,119,117, 0, 0, 23, 64, 13, 3, 2, 23, 17, 38, 3, 2,116, 31, 46, 11, 0, 37, 1, 43, 53, 53, 0, + 43, 53, 53, 0,255,255, 0, 89, 0, 0, 4, 35, 7,209, 2, 38, 0, 40, 0, 0, 1, 7, 3,120,255,157, 1, 82, 0, 25,182, 2, + 1, 20, 5, 38, 2, 1,184,255,133,180, 33, 19, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 76,255,236, 4, 72, + 6,127, 2, 38, 0, 72, 0, 0, 1, 6, 3,120,144, 0, 0, 25,182, 3, 2, 31, 17, 38, 3, 2,184,255,144,180, 44, 30, 11, 0, + 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,217, 0, 0, 4, 80, 8, 74, 2, 38, 0, 40, 0, 0, 1, 7, 3,121, 0, 96, + 1, 82, 0, 23, 64, 13, 2, 1, 12, 5, 38, 2, 1, 72, 20, 29, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,133, +255,236, 4, 72, 6,248, 2, 38, 0, 72, 0, 0, 1, 6, 3,121, 84, 0, 0, 23, 64, 13, 3, 2, 23, 17, 38, 3, 2, 84, 31, 40, + 11, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,217, 0, 0, 4, 35, 8, 98, 2, 38, 0, 40, 0, 0, 1, 7, 3,122, + 0, 16, 1, 82, 0, 25,182, 2, 1, 20, 5, 38, 2, 1,184,255,248,180, 38, 52, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, +255,255, 0,133,255,236, 4, 72, 7, 16, 2, 38, 0, 72, 0, 0, 1, 6, 3,122, 4, 0, 0, 23, 64, 13, 3, 2, 31, 17, 38, 3, + 2, 3, 49, 63, 11, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,217,254,152, 4, 35, 7,115, 2, 38, 0, 40, 0, 0, + 0, 39, 1, 75, 0, 35, 1, 82, 1, 6, 2,103, 23, 0, 0, 34, 64, 22, 2, 31, 20, 39, 1, 12, 5, 38, 2, 0, 28, 34, 1, 0, + 37, 1, 11, 18, 12, 1, 0, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53,255,255, 0,133,254,152, 4, 72, 6, 33, 2, 38, 0, 72, + 0, 0, 0, 38, 1, 75, 16, 0, 1, 6, 2,103, 23, 0, 0, 34, 64, 22, 3, 42, 23, 39, 2, 23, 17, 38, 3, 23, 39, 45, 11, 0, + 37, 2, 16, 29, 23, 11, 0, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53,255,255, 0,225, 0, 0, 3,233, 7,225, 2, 38, 0, 44, + 0, 0, 1, 7, 2,102, 0, 31, 1, 82, 0, 19, 64, 11, 1, 18, 5, 38, 1, 32, 33, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0,197, 0, 0, 4, 51, 6,143, 2, 38, 0,243, 0, 0, 1, 6, 2,102, 47, 0, 0, 19, 64, 11, 1, 16, 17, 38, 1, 25, + 31, 10, 7, 5, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,225,254,152, 3,233, 5,182, 2, 38, 0, 44, 0, 0, 1, 6, 2,103, + 0, 0, 0, 19, 64, 11, 1, 15, 20, 39, 1, 1, 12, 18, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,197,254,152, 4, 51, + 6, 14, 2, 38, 0, 76, 0, 0, 1, 6, 2,103, 20, 0, 0, 21,180, 2, 22, 23, 39, 2,184,255,255,180, 19, 25, 16, 14, 37, 1, + 43, 53, 0, 43, 53, 0,255,255, 0, 84,254,152, 4,123, 5,205, 2, 38, 0, 50, 0, 0, 1, 6, 2,103, 0, 0, 0, 21,180, 2, + 23, 20, 39, 2,184,255,255,180, 20, 26, 2, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115,254,152, 4, 88, 4, 94, 2, 38, + 0, 82, 0, 0, 1, 6, 2,103, 0, 0, 0, 19, 64, 11, 2, 23, 23, 39, 2, 1, 20, 26, 3, 9, 37, 1, 43, 53, 0, 43, 53, 0, +255,255, 0, 84,255,236, 4,123, 7,225, 2, 38, 0, 50, 0, 0, 1, 7, 2,102, 0, 23, 1, 82, 0, 19, 64, 11, 2, 26, 5, 38, + 2, 22, 41, 20, 2, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115,255,236, 4, 88, 6,143, 2, 38, 0, 82, 0, 0, 1, 6, + 2,102, 31, 0, 0, 19, 64, 11, 2, 26, 17, 38, 2, 32, 41, 20, 3, 9, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 84,255,236, + 4,131, 7,209, 2, 38, 0, 50, 0, 0, 1, 7, 3,119, 0,115, 1, 82, 0, 23, 64, 13, 3, 2, 20, 5, 38, 3, 2,113, 28, 43, + 2, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,115,255,236, 4,131, 6,127, 2, 38, 0, 82, 0, 0, 1, 6, 3,119, +115, 0, 0, 23, 64, 13, 3, 2, 20, 17, 38, 3, 2,115, 28, 43, 3, 9, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 74, +255,236, 4,123, 7,209, 2, 38, 0, 50, 0, 0, 1, 7, 3,120,255,142, 1, 82, 0, 25,182, 3, 2, 28, 5, 38, 3, 2,184,255, +141,180, 41, 27, 2, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 74,255,236, 4, 88, 6,127, 2, 38, 0, 82, 0, 0, + 1, 6, 3,120,142, 0, 0, 25,182, 3, 2, 28, 17, 38, 3, 2,184,255,143,180, 41, 27, 3, 9, 37, 1, 43, 53, 53, 0, 43, 53, + 53, 0,255,255, 0, 84,255,236, 4,123, 8, 74, 2, 38, 0, 50, 0, 0, 1, 7, 3,121, 0, 82, 1, 82, 0, 23, 64, 13, 3, 2, + 20, 5, 38, 3, 2, 81, 28, 37, 2, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,115,255,236, 4, 88, 6,248, 2, 38, + 0, 82, 0, 0, 1, 6, 3,121, 82, 0, 0, 23, 64, 13, 3, 2, 20, 17, 38, 3, 2, 83, 28, 37, 3, 9, 37, 1, 43, 53, 53, 0, + 43, 53, 53, 0,255,255, 0, 84,255,236, 4,123, 8, 98, 2, 38, 0, 50, 0, 0, 1, 7, 3,122, 0, 2, 1, 82, 0, 23, 64, 13, + 3, 2, 28, 5, 38, 3, 2, 0, 46, 60, 2, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,115,255,236, 4, 88, 7, 16, + 2, 38, 0, 82, 0, 0, 1, 6, 3,122, 2, 0, 0, 23, 64, 13, 3, 2, 28, 17, 38, 3, 2, 2, 46, 60, 3, 9, 37, 1, 43, 53, + 53, 0, 43, 53, 53, 0,255,255, 0, 84,254,152, 4,123, 7,115, 2, 38, 0, 50, 0, 0, 0, 39, 1, 75, 0, 0, 1, 82, 1, 6, + 2,103, 0, 0, 0, 40, 64, 9, 3, 39, 20, 39, 2, 20, 5, 38, 3,184,255,255,181, 36, 42, 2, 7, 37, 2,184,255,255,180, 26, + 20, 2, 7, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53,255,255, 0,115,254,152, 4, 88, 6, 33, 2, 38, 0, 82, 0, 0, 0, 38, + 1, 75, 0, 0, 1, 6, 2,103, 0, 0, 0, 34, 64, 22, 3, 39, 23, 39, 2, 20, 17, 38, 3, 1, 36, 42, 3, 9, 37, 2, 1, 26, + 20, 3, 9, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53,255,255, 0, 84,255,236, 4,246, 7,115, 2, 38, 2, 95, 0, 0, 1, 7, + 0,118, 0, 90, 1, 82, 0, 19, 64, 11, 2, 59, 5, 38, 2, 27, 53, 56, 10, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115, +255,236, 4,246, 6, 33, 2, 38, 2, 96, 0, 0, 1, 6, 0,118, 80, 0, 0, 14,183, 2, 2, 2, 44, 47, 10, 25, 37, 1, 43, 53, + 0, 53,255,255, 0, 84,255,236, 4,246, 7,115, 2, 38, 2, 95, 0, 0, 1, 7, 0, 67,255,175, 1, 82, 0, 21,180, 2, 53, 5, + 38, 2,184,255,113,180, 56, 53, 10, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115,255,236, 4,246, 6, 33, 2, 38, 2, 96, + 0, 0, 1, 6, 0, 67,216, 0, 0, 17,177, 2, 2,184,255,138,180, 47, 44, 10, 25, 37, 1, 43, 53, 0, 53, 0,255,255, 0, 84, +255,236, 4,246, 7,225, 2, 38, 2, 95, 0, 0, 1, 7, 2,102, 0, 23, 1, 82, 0, 21,180, 2, 60, 5, 38, 2,184,255,217,180, + 74, 53, 10, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115,255,236, 4,246, 6,143, 2, 38, 2, 96, 0, 0, 1, 6, 2,102, + 31, 0, 0, 21,180, 2, 51, 17, 38, 2,184,255,209,180, 65, 44, 10, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 84,255,236, + 4,246, 7, 53, 2, 38, 2, 95, 0, 0, 1, 7, 1, 82, 0, 8, 1, 82, 0, 21,180, 2, 53, 5, 38, 2,184,255,201,180, 54, 63, + 10, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115,255,236, 4,246, 5,227, 2, 38, 2, 96, 0, 0, 1, 6, 1, 82, 0, 0, + 0, 17,177, 2, 2,184,255,177,180, 45, 54, 10, 25, 37, 1, 43, 53, 0, 53, 0,255,255, 0, 84,254,152, 4,246, 6, 20, 2, 38, + 2, 95, 0, 0, 1, 6, 2,103, 0, 0, 0, 21,180, 2, 56, 20, 39, 2,184,255,194,180, 53, 59, 10, 25, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0,115,254,152, 4,246, 4,242, 2, 38, 2, 96, 0, 0, 1, 6, 2,103, 0, 0, 0, 21,180, 2, 47, 23, 39, 2, +184,255,178,180, 44, 50, 10, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,254,152, 4, 80, 5,184, 2, 38, 0, 56, 0, 0, + 1, 6, 2,103, 0, 0, 0, 19, 64, 11, 1, 18, 20, 39, 1, 0, 15, 21, 6, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160, +254,152, 4, 45, 4, 74, 2, 38, 0, 88, 0, 0, 1, 6, 2,103, 0, 0, 0, 19, 64, 11, 1, 21, 23, 39, 1, 0, 18, 24, 6, 16, + 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4, 80, 7,225, 2, 38, 0, 56, 0, 0, 1, 7, 2,102, 0, 23, 1, 82, + 0, 19, 64, 11, 1, 21, 5, 38, 1, 23, 36, 15, 6, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160,255,236, 4, 45, 6,143, + 2, 38, 0, 88, 0, 0, 1, 6, 2,102, 29, 0, 0, 19, 64, 11, 1, 24, 17, 38, 1, 29, 39, 18, 6, 16, 37, 1, 43, 53, 0, 43, + 53, 0,255,255, 0,125,255,236, 5, 23, 7,115, 2, 38, 2, 97, 0, 0, 1, 7, 0,118,255,255, 1, 82, 0, 21,180, 1, 45, 5, + 38, 1,184,255,156,180, 39, 42, 24, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160,255,236, 5, 23, 6, 33, 2, 38, 2, 98, + 0, 0, 1, 6, 0,118,255, 0, 0, 17,177, 1, 1,184,255,138,180, 40, 43, 12, 33, 37, 1, 43, 53, 0, 53, 0,255,255, 0,125, +255,236, 5, 23, 7,115, 2, 38, 2, 97, 0, 0, 1, 7, 0, 67,255,110, 1, 82, 0, 21,180, 1, 39, 5, 38, 1,184,255, 11,180, + 42, 39, 24, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160,255,236, 5, 23, 6, 33, 2, 38, 2, 98, 0, 0, 1, 7, 0, 67, +255,107, 0, 0, 0, 17,177, 1, 1,184,254,246,180, 43, 40, 12, 33, 37, 1, 43, 53, 0, 53, 0,255,255, 0,125,255,236, 5, 23, + 7,225, 2, 38, 2, 97, 0, 0, 1, 7, 2,102,255,218, 1, 82, 0, 21,180, 1, 46, 5, 38, 1,184,255,119,180, 60, 39, 24, 8, + 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160,255,236, 5, 23, 6,143, 2, 38, 2, 98, 0, 0, 1, 6, 2,102,226, 0, 0, 21, +180, 1, 46, 17, 38, 1,184,255,109,180, 61, 40, 12, 33, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 5, 23, 7, 53, + 2, 38, 2, 97, 0, 0, 1, 7, 1, 82,255,198, 1, 82, 0, 19, 64, 11, 1, 39, 5, 38, 1, 36, 40, 49, 24, 14, 37, 1, 43, 53, + 0, 43, 53, 0,255,255, 0,160,255,236, 5, 23, 5,227, 2, 38, 2, 98, 0, 0, 1, 6, 1, 82,206, 0, 0, 14,183, 1, 1, 33, + 41, 50, 12, 39, 37, 1, 43, 53, 0, 53,255,255, 0,125,254,152, 5, 23, 6, 20, 2, 38, 2, 97, 0, 0, 1, 6, 2,103,185, 0, + 0, 21,180, 1, 42, 20, 39, 1,184,255, 86,180, 39, 45, 24, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160,254,152, 5, 23, + 4,242, 2, 38, 2, 98, 0, 0, 1, 6, 2,103,189, 0, 0, 21,180, 1, 43, 23, 39, 1,184,255, 72,180, 40, 46, 12, 33, 37, 1, + 43, 53, 0, 43, 53, 0,255,255, 0, 33,254,152, 4,170, 5,182, 2, 38, 0, 60, 0, 0, 1, 6, 2,103,255, 0, 0, 19, 64, 11, + 1, 12, 20, 39, 1, 0, 9, 15, 7, 2, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82,254, 20, 4,121, 4, 74, 2, 38, 0, 92, + 0, 0, 1, 7, 2,103, 1, 47, 0, 0, 0, 17,177, 1, 1,184, 1, 48,180, 23, 29, 0, 9, 37, 1, 43, 53, 0, 53, 0,255,255, + 0, 33, 0, 0, 4,170, 7,225, 2, 38, 0, 60, 0, 0, 1, 7, 2,102, 0, 20, 1, 82, 0, 19, 64, 11, 1, 15, 5, 38, 1, 21, + 30, 9, 7, 2, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82,254, 20, 4,121, 6,143, 2, 38, 0, 92, 0, 0, 1, 6, 2,102, + 20, 0, 0, 19, 64, 11, 1, 29, 17, 38, 1, 21, 44, 23, 0, 9, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 33, 0, 0, 4,170, + 7, 53, 2, 38, 0, 60, 0, 0, 1, 7, 1, 82, 0, 12, 1, 82, 0, 19, 64, 11, 1, 9, 5, 38, 1, 12, 10, 19, 7, 2, 37, 1, + 43, 53, 0, 43, 53, 0,255,255, 0, 82,254, 20, 4,121, 5,227, 2, 38, 0, 92, 0, 0, 1, 6, 1, 82, 12, 0, 0, 19, 64, 11, + 1, 23, 17, 38, 1, 12, 24, 33, 0, 9, 37, 1, 43, 53, 0, 43, 53, 0, 0, 3, 0,137,254,188, 4,203, 6, 20, 0, 3, 0, 43, + 0, 60, 0,118, 64, 71, 33, 33, 15, 50, 43, 35, 26, 4, 32, 71, 39, 41, 37, 3, 3,144, 41,160, 41, 2, 41, 62, 58, 72, 15, 2, + 2, 0, 15,224, 15,240, 15, 3, 15, 43, 21, 41, 32, 79, 38, 35, 35, 20, 36, 0, 25, 55, 80, 0, 20, 16, 20, 32, 20,176, 20,192, + 20, 5, 20, 15, 4, 44, 80, 10, 1, 78, 2, 10, 22, 0, 63,222,225, 16,225, 50, 63, 93,225, 50, 63, 18, 57, 47, 51,225, 50, 63, + 1, 47, 93, 51, 47, 16,225, 16,206, 93, 50, 47, 50, 16,205,225, 50, 50, 50, 50, 50, 17, 57, 47, 48, 49, 1, 33, 53, 33, 3, 35, + 14, 3, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 23, 51, 38, 39, 38, 38, 53, 53, 33, 53, 33, 53, 51, 21, 51, 21, 35, 17, + 35, 37, 50, 62, 2, 55, 53, 52, 46, 2, 35, 34, 6, 21, 20, 22, 4, 47,252,152, 3,104,174, 8, 23, 61, 78, 98, 62, 97,158,113, + 62, 62,113,158, 97, 61, 98, 79, 61, 23, 12, 3, 3, 2, 4,254,133, 1,123,182,156,156,147,254,188, 79,109, 67, 32, 2, 28, 68, +111, 84,140,132,132,254,188,140, 1, 75, 34, 61, 46, 26, 70,138,204,134,135,206,139, 71, 25, 44, 58, 32, 33, 31, 26, 55, 16,158, +137,182,182,137,251, 43,131, 44, 89,133, 90, 39, 97,149,102, 52,206,196,198,195, 0, 2, 0,205, 4,217, 3,172, 6, 33, 0, 13, + 0, 27, 0, 48, 64, 24, 15,130, 14, 14, 20, 1,130, 0, 0, 8,133, 95, 6, 1, 6, 6, 22,133, 20, 21, 7,128, 15, 0, 0, 47, + 50, 26,205, 50, 1, 47,225, 51, 47, 93,225, 51, 47,225, 17, 51, 47,225, 48, 49, 1, 35, 46, 3, 39, 53, 51, 30, 3, 23, 5, 35, + 46, 3, 39, 53, 51, 30, 3, 23, 3,172,100, 34, 82, 77, 64, 16,199, 16, 43, 46, 48, 21,254,150,101, 34, 82, 77, 63, 16,198, 16, + 43, 46, 48, 22, 4,217, 28, 83, 88, 81, 27, 21, 34, 81, 81, 76, 29, 27, 28, 83, 88, 81, 27, 21, 34, 81, 81, 76, 29, 0, 0, 2, + 0,188, 4,217, 4, 16, 6,127, 0, 16, 0, 28, 0, 68, 64, 35, 22,136, 23, 23, 27,130, 63, 28, 79, 28,111, 28, 3, 28, 28, 13, + 13, 12, 4, 4, 8, 1, 0, 0, 7, 8, 22,128, 27, 64, 4, 12,128, 7, 0, 0, 47, 50, 26,205, 50, 26,222, 26,205, 1, 47, 51, + 51, 47, 51, 18, 57, 17, 51, 51, 17, 51, 47, 93,225, 51, 47,225, 48, 49, 1, 35, 38, 38, 39, 6, 6, 7, 35, 53, 54, 54, 55, 51, + 22, 22, 23, 39, 62, 3, 55, 51, 21, 6, 6, 7, 35, 3, 43,100, 51,108, 52, 54,106, 51,101, 51,116, 48,193, 48,116, 51, 78, 20, + 32, 30, 29, 16,180, 45,106, 55,101, 4,217, 34, 84, 48, 48, 84, 34, 27, 59,132, 69, 69,132, 59,194, 26, 44, 46, 52, 33, 21, 60, +103, 43, 0, 2, 0,188, 4,217, 4, 16, 6,127, 0, 16, 0, 28, 0, 68, 64, 35, 23,136, 22, 64, 18,130, 48, 17, 64, 17, 96, 17, + 3, 17, 17, 3, 3, 4, 12, 12, 16, 9, 8, 8, 15, 16, 23,128, 18, 64, 12, 3,128, 9, 15, 0, 47, 51, 26,205, 50, 26,220, 26, +205, 1, 47, 51, 51, 47, 51, 18, 57, 17, 51, 51, 17, 51, 47, 93,225, 26,221,225, 48, 49, 1, 54, 54, 55, 51, 22, 22, 23, 21, 35, + 38, 38, 39, 6, 6, 7, 35, 55, 35, 38, 38, 39, 53, 51, 30, 3, 23, 1,162, 51,116, 48,192, 48,116, 51,100, 51,106, 54, 53,107, + 51,100, 78,101, 55,107, 45,181, 16, 29, 29, 33, 20, 4,244, 59,132, 69, 69,132, 59, 27, 34, 84, 48, 48, 84, 34,195, 43,103, 60, + 21, 33, 52, 46, 44, 26, 0, 2, 0,221, 4,217, 3,240, 6,248, 0, 16, 0, 41, 0, 95, 64, 52, 23,130, 24, 24, 36, 28,130, 15, + 17, 31, 17, 2, 17, 17, 15, 36, 31, 36, 2, 36, 64, 12, 15, 72, 36, 36, 13, 13, 12, 4, 4, 8, 1, 0, 0, 7, 8, 22, 25, 25, + 24, 33,140, 39, 39, 24, 64, 4, 12,128, 1, 7, 0, 47, 51, 26,205, 50, 26,204, 50, 47,237, 18, 57, 47, 51, 1, 47, 51, 51, 47, + 51, 18, 57, 17, 51, 51, 17, 51, 47, 43, 93, 51, 47, 93,225, 17, 57, 47,225, 48, 49, 1, 35, 38, 38, 39, 6, 6, 7, 35, 53, 54, + 54, 55, 51, 22, 22, 23, 19, 20, 14, 2, 7, 7, 35, 39, 54, 54, 53, 52, 46, 2, 35, 34, 6, 7, 53, 54, 51, 50, 22, 3, 76,101, + 51,107, 53, 54,105, 51,101, 51,116, 48,193, 48,116, 51,164, 20, 35, 45, 25, 6, 86, 11, 56, 65, 15, 27, 37, 21, 22, 39, 11, 21, + 59, 99,100, 4,217, 34, 84, 48, 48, 84, 34, 27, 59,132, 69, 69,132, 59, 1,118, 29, 43, 30, 21, 6, 81,131, 9, 31, 37, 19, 24, + 14, 5, 3, 3, 82, 6, 69, 0, 0, 2, 1, 35, 4,217, 3,168, 7, 16, 0, 16, 0, 44, 0,102, 64, 36, 20, 26, 39,130, 40, 34, + 25, 40, 4, 3, 12, 12, 16, 9, 8, 8, 15, 40, 31, 40, 47, 40, 3, 40, 40, 25,130, 26, 15, 16, 16, 26, 39, 39, 31, 31,184, 1, + 1,179, 22, 25, 64, 36,184, 1, 1,183, 17, 17, 25, 12, 3,128, 9, 15, 0, 47, 51, 26,221, 50,198, 50, 47,225, 26, 16,218,225, + 47, 50, 47, 1, 47, 51, 47, 51, 16,237, 51, 47, 93, 51, 47, 51, 18, 57, 17, 51, 51, 17, 18, 57, 16,237, 17, 57, 49, 48, 1, 54, + 54, 55, 51, 22, 22, 23, 21, 35, 38, 38, 39, 6, 6, 7, 35, 1, 34, 46, 2, 35, 34, 6, 7, 35, 62, 3, 51, 50, 30, 2, 51, 50, + 54, 55, 51, 14, 3, 1, 45, 51,116, 48,193, 48,116, 51,101, 51,106, 54, 52,108, 51,100, 1,191, 36, 72, 69, 63, 29, 40, 42, 14, + 92, 5, 28, 48, 66, 41, 38, 74, 69, 62, 26, 40, 42, 14, 92, 4, 29, 48, 66, 4,244, 59,132, 69, 69,132, 59, 27, 34, 84, 48, 48, + 84, 34, 1, 90, 28, 34, 28, 42, 50, 48, 81, 59, 33, 28, 34, 28, 43, 49, 48, 81, 59, 33, 0, 2, 1, 57, 4,217, 3,147, 6,193, + 0, 11, 0, 31, 0, 45, 64, 22, 0, 11, 1, 11, 64, 7, 31,131, 12, 12, 21,131, 20, 5,128, 11, 11, 31, 20, 26,143, 17, 0, 47, +253,204, 50, 50, 47, 26,204, 1, 47,225, 51, 47,225,214, 26,205, 93, 48, 49, 1, 62, 3, 55, 51, 21, 6, 6, 7, 35, 37, 14, 3, + 35, 34, 38, 39, 51, 30, 3, 51, 50, 62, 2, 55, 2, 37, 20, 32, 30, 29, 16,180, 45,106, 56,100, 1,110, 4, 44, 76,110, 71,146, +144, 7,109, 4, 27, 48, 68, 43, 36, 66, 51, 34, 4, 5,248, 25, 44, 46, 53, 33, 21, 60,103, 44, 6, 60, 99, 69, 38,139,127, 43, + 49, 26, 7, 9, 27, 49, 40, 0, 0, 2, 1, 57, 4,217, 3,147, 6,193, 0, 11, 0, 31, 0, 47, 64, 23, 31,131, 12, 12, 20, 15, + 0, 1, 0, 64, 4, 21,131, 20, 5,128, 1, 1, 31, 20, 26,143, 17, 0, 47,253,204, 50, 50, 47, 26,205, 1, 47,225,214, 26,205, + 93, 17, 51, 47,225, 48, 49, 1, 35, 38, 38, 39, 53, 51, 30, 3, 23, 23, 14, 3, 35, 34, 38, 39, 51, 30, 3, 51, 50, 62, 2, 55, + 2,152,101, 56,106, 45,181, 16, 29, 29, 33, 20,251, 4, 44, 76,110, 71,146,144, 7,109, 4, 27, 48, 68, 43, 36, 66, 51, 34, 4, + 5,221, 44,103, 60, 21, 33, 53, 46, 44, 25, 21, 60, 99, 69, 38,139,127, 43, 49, 26, 7, 9, 27, 49, 40, 0, 2, 1, 57, 4,217, + 3,147, 7, 6, 0, 19, 0, 43, 0, 86, 64, 48, 26, 26, 27, 27, 37, 37, 31, 20, 64, 9, 12, 72, 20, 20, 0, 9,131, 8, 19,131, + 31, 0, 1, 0, 25, 28, 28, 27, 34,140, 41,128,143, 27,159, 27,175, 27, 3, 27, 27, 14, 19, 8, 8, 14,143, 5, 0, 47,241,200, + 47, 50, 16,202, 47, 93, 26,220,225, 18, 57, 17, 51, 1, 47, 93,225, 47,225, 18, 57, 47, 43,193, 51, 47, 57, 47, 51, 47, 48, 49, + 1, 14, 3, 35, 34, 38, 39, 51, 30, 3, 51, 50, 62, 2, 55, 39, 20, 14, 2, 7, 7, 35, 39, 54, 54, 53, 52, 38, 35, 34, 6, 7, + 53, 54, 54, 51, 50, 22, 3,147, 4, 44, 76,110, 71,146,144, 7,109, 4, 27, 48, 68, 43, 36, 66, 51, 34, 4, 43, 20, 35, 45, 25, + 6, 86, 11, 56, 65, 57, 43, 22, 39, 11, 11, 38, 31, 99,100, 5,227, 60, 99, 69, 38,139,127, 43, 49, 26, 7, 9, 27, 49, 40,150, + 29, 43, 31, 20, 6, 41, 90, 9, 32, 37, 37, 24, 3, 3, 82, 3, 3, 69, 0, 2, 1, 35, 4,217, 3,168, 7, 16, 0, 19, 0, 47, + 0, 88, 64, 24, 25, 34, 20, 39, 34, 39, 43, 28,130, 29, 29, 9,131, 8, 42,130, 43, 43, 19,131, 0, 42, 42, 34,184, 1, 1,178, + 25, 29, 39,184, 1, 1, 64, 12, 64, 20, 20, 29, 8, 19, 19, 8,128, 14,143, 5, 0, 47,225, 26,205, 50, 47, 16,198, 50, 47, 26, +237, 16,220,237, 50, 47, 1, 47,225, 51, 47,225, 47,225, 51, 47,225, 18, 57, 57, 17, 51, 17, 51, 49, 48, 1, 14, 3, 35, 34, 38, + 39, 51, 30, 3, 51, 50, 62, 2, 55, 39, 34, 46, 2, 35, 34, 6, 7, 35, 62, 3, 51, 50, 30, 2, 51, 50, 54, 55, 51, 14, 3, 3, +139, 4, 44, 76,110, 71,146,145, 6,109, 4, 27, 48, 67, 44, 36, 65, 51, 34, 5, 47, 36, 72, 69, 63, 29, 40, 42, 14, 92, 5, 28, + 48, 66, 41, 38, 74, 69, 62, 26, 40, 42, 14, 92, 4, 29, 48, 66, 5,227, 60, 99, 69, 38,139,127, 43, 49, 26, 7, 9, 27, 49, 40, + 80, 28, 34, 28, 42, 50, 48, 81, 59, 33, 28, 34, 28, 43, 49, 48, 81, 59, 33, 0, 0, 1, 1,199,254, 66, 3, 6, 0, 0, 0, 20, + 0, 34, 64, 18, 3, 15, 2, 31, 2, 47, 2, 3, 2, 2, 14, 8,132, 0, 18,142, 11, 2, 0, 47, 47,225, 1, 47,237,204, 51, 47, + 93, 51, 48, 49, 5, 52, 39, 51, 30, 3, 21, 20, 6, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 2,113,140,129, 26, 57, 47, 30,100, +101, 29, 63, 26, 14, 45, 25, 34, 52,238,106,132, 19, 52, 64, 75, 42, 90,104, 8, 8,113, 4, 5, 43, 0, 0, 1, 1,178,254,109, + 3, 25, 0,166, 0, 17, 0, 24, 64, 10, 9, 1, 73, 16, 10, 13, 80, 9, 6, 0, 0, 47, 47, 51,225, 50, 1, 47,225,204, 48, 49, + 37, 17, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 53, 17, 3, 25, 1, 26, 57, 89, 63, 38, 63, 22, 14, 59, 34, 46, 50,166, +254,217, 66,102, 70, 36, 17, 9,150, 7, 14, 49, 49, 1, 60, 0, 0, 1, 1,178,254,109, 3, 25, 0,154, 0, 17, 0, 24, 64, 10, + 9, 1, 73, 16, 10, 13, 80, 9, 6, 0, 0, 47, 47, 51,237, 50, 1, 47,225,204, 48, 49, 37, 17, 14, 3, 35, 34, 38, 39, 53, 22, + 22, 51, 50, 54, 53, 17, 3, 25, 1, 26, 57, 89, 63, 38, 63, 22, 14, 59, 34, 46, 50,154,254,229, 66,102, 70, 36, 17, 9,150, 7, + 14, 49, 49, 1, 48, 0, 0, 0, 0, 0, 0, 27, 1, 74, 0, 1, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 1, 0, 15, 0, 52, 0, 1, 0, 0, 0, 0, 0, 2, 0, 7, 0, 67, 0, 1, 0, 0, 0, 0, 0, 3, 0, 26, 0, 74, 0, 1, + 0, 0, 0, 0, 0, 4, 0, 15, 0, 52, 0, 1, 0, 0, 0, 0, 0, 5, 0, 12, 0,100, 0, 1, 0, 0, 0, 0, 0, 6, 0, 13, + 0,112, 0, 1, 0, 0, 0, 0, 0, 7, 0, 78, 0,125, 0, 1, 0, 0, 0, 0, 0, 8, 0, 20, 0,203, 0, 1, 0, 0, 0, 0, + 0, 10, 0,103, 0,223, 0, 1, 0, 0, 0, 0, 0, 13, 0, 46, 1, 70, 0, 1, 0, 0, 0, 0, 0, 14, 0, 42, 1,116, 0, 1, + 0, 0, 0, 0, 0, 18, 0, 15, 0, 52, 0, 3, 0, 1, 4, 9, 0, 0, 0,104, 1,158, 0, 3, 0, 1, 4, 9, 0, 1, 0, 30, + 2, 6, 0, 3, 0, 1, 4, 9, 0, 2, 0, 14, 2, 36, 0, 3, 0, 1, 4, 9, 0, 3, 0, 52, 2, 50, 0, 3, 0, 1, 4, 9, + 0, 4, 0, 30, 2, 6, 0, 3, 0, 1, 4, 9, 0, 5, 0, 44, 2,102, 0, 3, 0, 1, 4, 9, 0, 6, 0, 26, 2,146, 0, 3, + 0, 1, 4, 9, 0, 7, 0,156, 2,172, 0, 3, 0, 1, 4, 9, 0, 8, 0, 40, 3, 72, 0, 3, 0, 1, 4, 9, 0, 10, 0,206, + 3,112, 0, 3, 0, 1, 4, 9, 0, 11, 0, 56, 4, 62, 0, 3, 0, 1, 4, 9, 0, 12, 0, 92, 4,118, 0, 3, 0, 1, 4, 9, + 0, 13, 0, 92, 4,210, 0, 3, 0, 1, 4, 9, 0, 14, 0, 84, 5, 46, 68,105,103,105,116,105,122,101,100, 32,100, 97,116, 97, + 32, 99,111,112,121,114,105,103,104,116, 32,169, 32, 50, 48, 48, 55, 44, 32, 71,111,111,103,108,101, 32, 67,111,114,112,111,114, + 97,116,105,111,110, 46, 68,114,111,105,100, 32, 83, 97,110,115, 32, 77,111,110,111, 82,101,103,117,108, 97,114, 65,115, 99,101, +110,100,101,114, 32, 45, 32, 68,114,111,105,100, 32, 83, 97,110,115, 32, 77,111,110,111, 86,101,114,115,105,111,110, 32, 49, 46, + 48, 48, 68,114,111,105,100, 83, 97,110,115, 77,111,110,111, 68,114,111,105,100, 32,105,115, 32, 97, 32,116,114, 97,100,101,109, + 97,114,107, 32,111,102, 32, 71,111,111,103,108,101, 32, 97,110,100, 32,109, 97,121, 32, 98,101, 32,114,101,103,105,115,116,101, +114,101,100, 32,105,110, 32, 99,101,114,116, 97,105,110, 32,106,117,114,105,115,100,105, 99,116,105,111,110,115, 46, 65,115, 99, +101,110,100,101,114, 32, 67,111,114,112,111,114, 97,116,105,111,110, 68,114,111,105,100, 32, 83, 97,110,115, 32,105,115, 32, 97, + 32,104,117,109, 97,110,105,115,116, 32,115, 97,110,115, 32,115,101,114,105,102, 32,116,121,112,101,102, 97, 99,101, 32,100,101, +115,105,103,110,101,100, 32,102,111,114, 32,117,115,101,114, 32,105,110,116,101,114,102, 97, 99,101,115, 32, 97,110,100, 32,101, +108,101, 99,116,114,111,110,105, 99, 32, 99,111,109,109,117,110,105, 99, 97,116,105,111,110, 46, 76,105, 99,101,110,115,101,100, + 32,117,110,100,101,114, 32,116,104,101, 32, 65,112, 97, 99,104,101, 32, 76,105, 99,101,110,115,101, 44, 32, 86,101,114,115,105, +111,110, 32, 50, 46, 48,104,116,116,112, 58, 47, 47,119,119,119, 46, 97,112, 97, 99,104,101, 46,111,114,103, 47,108,105, 99,101, +110,115,101,115, 47, 76, 73, 67, 69, 78, 83, 69, 45, 50, 46, 48, 0, 68, 0,105, 0,103, 0,105, 0,116, 0,105, 0,122, 0,101, + 0,100, 0, 32, 0,100, 0, 97, 0,116, 0, 97, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0,114, 0,105, 0,103, 0,104, 0,116, + 0, 32, 0,169, 0, 32, 0, 50, 0, 48, 0, 48, 0, 55, 0, 44, 0, 32, 0, 71, 0,111, 0,111, 0,103, 0,108, 0,101, 0, 32, + 0, 67, 0,111, 0,114, 0,112, 0,111, 0,114, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 46, 0, 68, 0,114, 0,111, 0,105, + 0,100, 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 32, 0, 77, 0,111, 0,110, 0,111, 0, 82, 0,101, 0,103, 0,117, 0,108, + 0, 97, 0,114, 0, 65, 0,115, 0, 99, 0,101, 0,110, 0,100, 0,101, 0,114, 0, 32, 0, 45, 0, 32, 0, 68, 0,114, 0,111, + 0,105, 0,100, 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 32, 0, 77, 0,111, 0,110, 0,111, 0, 86, 0,101, 0,114, 0,115, + 0,105, 0,111, 0,110, 0, 32, 0, 49, 0, 46, 0, 48, 0, 48, 0, 32, 0, 98, 0,117, 0,105, 0,108, 0,100, 0, 32, 0, 49, + 0, 49, 0, 50, 0, 68, 0,114, 0,111, 0,105, 0,100, 0, 83, 0, 97, 0,110, 0,115, 0, 77, 0,111, 0,110, 0,111, 0, 68, + 0,114, 0,111, 0,105, 0,100, 0, 32, 0,105, 0,115, 0, 32, 0, 97, 0, 32, 0,116, 0,114, 0, 97, 0,100, 0,101, 0,109, + 0, 97, 0,114, 0,107, 0, 32, 0,111, 0,102, 0, 32, 0, 71, 0,111, 0,111, 0,103, 0,108, 0,101, 0, 32, 0, 97, 0,110, + 0,100, 0, 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0,114, 0,101, 0,103, 0,105, 0,115, 0,116, 0,101, + 0,114, 0,101, 0,100, 0, 32, 0,105, 0,110, 0, 32, 0, 99, 0,101, 0,114, 0,116, 0, 97, 0,105, 0,110, 0, 32, 0,106, + 0,117, 0,114, 0,105, 0,115, 0,100, 0,105, 0, 99, 0,116, 0,105, 0,111, 0,110, 0,115, 0, 46, 0, 65, 0,115, 0, 99, + 0,101, 0,110, 0,100, 0,101, 0,114, 0, 32, 0, 67, 0,111, 0,114, 0,112, 0,111, 0,114, 0, 97, 0,116, 0,105, 0,111, + 0,110, 0, 68, 0,114, 0,111, 0,105, 0,100, 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 32, 0,105, 0,115, 0, 32, 0, 97, + 0, 32, 0,104, 0,117, 0,109, 0, 97, 0,110, 0,105, 0,115, 0,116, 0, 32, 0,115, 0, 97, 0,110, 0,115, 0, 32, 0,115, + 0,101, 0,114, 0,105, 0,102, 0, 32, 0,116, 0,121, 0,112, 0,101, 0,102, 0, 97, 0, 99, 0,101, 0, 32, 0,100, 0,101, + 0,115, 0,105, 0,103, 0,110, 0,101, 0,100, 0, 32, 0,102, 0,111, 0,114, 0, 32, 0,117, 0,115, 0,101, 0,114, 0, 32, + 0,105, 0,110, 0,116, 0,101, 0,114, 0,102, 0, 97, 0, 99, 0,101, 0,115, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,101, + 0,108, 0,101, 0, 99, 0,116, 0,114, 0,111, 0,110, 0,105, 0, 99, 0, 32, 0, 99, 0,111, 0,109, 0,109, 0,117, 0,110, + 0,105, 0, 99, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 46, 0,104, 0,116, 0,116, 0,112, 0, 58, 0, 47, 0, 47, 0,119, + 0,119, 0,119, 0, 46, 0, 97, 0,115, 0, 99, 0,101, 0,110, 0,100, 0,101, 0,114, 0, 99, 0,111, 0,114, 0,112, 0, 46, + 0, 99, 0,111, 0,109, 0, 47, 0,104, 0,116, 0,116, 0,112, 0, 58, 0, 47, 0, 47, 0,119, 0,119, 0,119, 0, 46, 0, 97, + 0,115, 0, 99, 0,101, 0,110, 0,100, 0,101, 0,114, 0, 99, 0,111, 0,114, 0,112, 0, 46, 0, 99, 0,111, 0,109, 0, 47, + 0,116, 0,121, 0,112, 0,101, 0,100, 0,101, 0,115, 0,105, 0,103, 0,110, 0,101, 0,114, 0,115, 0, 46, 0,104, 0,116, + 0,109, 0,108, 0, 76, 0,105, 0, 99, 0,101, 0,110, 0,115, 0,101, 0,100, 0, 32, 0,117, 0,110, 0,100, 0,101, 0,114, + 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 65, 0,112, 0, 97, 0, 99, 0,104, 0,101, 0, 32, 0, 76, 0,105, 0, 99, 0,101, + 0,110, 0,115, 0,101, 0, 44, 0, 32, 0, 86, 0,101, 0,114, 0,115, 0,105, 0,111, 0,110, 0, 32, 0, 50, 0, 46, 0, 48, + 0,104, 0,116, 0,116, 0,112, 0, 58, 0, 47, 0, 47, 0,119, 0,119, 0,119, 0, 46, 0, 97, 0,112, 0, 97, 0, 99, 0,104, + 0,101, 0, 46, 0,111, 0,114, 0,103, 0, 47, 0,108, 0,105, 0, 99, 0,101, 0,110, 0,115, 0,101, 0,115, 0, 47, 0, 76, + 0, 73, 0, 67, 0, 69, 0, 78, 0, 83, 0, 69, 0, 45, 0, 50, 0, 46, 0, 48, 0, 2, 0, 0, 0, 0, 0, 0,255,102, 0,102, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,130, 0, 0, 1, 2, 0, 2, 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,172, 0,163, 0,132, + 0,133, 0,189, 0,150, 0,232, 0,134, 0,142, 0,139, 0,157, 0,169, 0,164, 1, 3, 0,138, 1, 4, 0,131, 0,147, 0,242, + 0,243, 0,141, 0,151, 0,136, 1, 5, 0,222, 0,241, 0,158, 0,170, 0,245, 0,244, 0,246, 0,162, 0,173, 0,201, 0,199, + 0,174, 0, 98, 0, 99, 0,144, 0,100, 0,203, 0,101, 0,200, 0,202, 0,207, 0,204, 0,205, 0,206, 0,233, 0,102, 0,211, + 0,208, 0,209, 0,175, 0,103, 0,240, 0,145, 0,214, 0,212, 0,213, 0,104, 0,235, 0,237, 0,137, 0,106, 0,105, 0,107, + 0,109, 0,108, 0,110, 0,160, 0,111, 0,113, 0,112, 0,114, 0,115, 0,117, 0,116, 0,118, 0,119, 0,234, 0,120, 0,122, + 0,121, 0,123, 0,125, 0,124, 0,184, 0,161, 0,127, 0,126, 0,128, 0,129, 0,236, 0,238, 0,186, 1, 6, 1, 7, 1, 8, + 1, 9, 1, 10, 1, 11, 0,253, 0,254, 1, 12, 1, 13, 1, 14, 1, 15, 0,255, 1, 0, 1, 16, 1, 17, 1, 18, 1, 19, 1, 20, + 1, 21, 1, 22, 1, 23, 1, 24, 1, 25, 1, 26, 1, 27, 1, 28, 1, 29, 1, 30, 1, 31, 0,248, 0,249, 1, 32, 1, 33, 1, 34, + 1, 35, 1, 36, 1, 37, 1, 38, 1, 39, 1, 40, 1, 41, 1, 42, 1, 43, 1, 44, 1, 45, 1, 46, 1, 47, 1, 48, 0,215, 1, 49, + 1, 50, 1, 51, 1, 52, 1, 53, 1, 54, 1, 55, 1, 56, 1, 57, 1, 58, 1, 59, 1, 60, 1, 61, 1, 62, 1, 63, 0,226, 0,227, + 1, 64, 1, 65, 1, 66, 1, 67, 1, 68, 1, 69, 1, 70, 1, 71, 1, 72, 1, 73, 1, 74, 1, 75, 1, 76, 1, 77, 1, 78, 0,176, + 0,177, 1, 79, 1, 80, 1, 81, 1, 82, 1, 83, 1, 84, 1, 85, 1, 86, 1, 87, 1, 88, 0,251, 0,252, 0,228, 0,229, 1, 89, + 1, 90, 1, 91, 1, 92, 1, 93, 1, 94, 1, 95, 1, 96, 1, 97, 1, 98, 1, 99, 1,100, 1,101, 1,102, 1,103, 1,104, 1,105, + 1,106, 1,107, 1,108, 1,109, 1,110, 0,187, 1,111, 1,112, 1,113, 1,114, 0,230, 0,231, 1,115, 0,166, 1,116, 1,117, + 1,118, 1,119, 1,120, 1,121, 1,122, 1,123, 0,216, 0,225, 1,124, 0,219, 0,220, 0,221, 0,224, 0,217, 0,223, 1,125, + 1,126, 1,127, 1,128, 1,129, 1,130, 1,131, 1,132, 1,133, 1,134, 1,135, 1,136, 1,137, 1,138, 1,139, 1,140, 1,141, + 1,142, 1,143, 1,144, 1,145, 1,146, 1,147, 1,148, 1,149, 1,150, 1,151, 1,152, 1,153, 1,154, 1,155, 1,156, 1,157, + 1,158, 1,159, 1,160, 1,161, 1,162, 1,163, 1,164, 1,165, 1,166, 1,167, 1,168, 1,169, 1,170, 1,171, 1,172, 1,173, + 1,174, 1,175, 1,176, 1,177, 1,178, 1,179, 1,180, 1,181, 0,155, 1,182, 1,183, 1,184, 1,185, 1,186, 1,187, 1,188, + 1,189, 1,190, 1,191, 1,192, 1,193, 1,194, 1,195, 1,196, 1,197, 1,198, 1,199, 1,200, 1,201, 1,202, 1,203, 1,204, + 1,205, 1,206, 1,207, 1,208, 1,209, 1,210, 1,211, 1,212, 1,213, 1,214, 1,215, 1,216, 1,217, 1,218, 1,219, 1,220, + 1,221, 1,222, 1,223, 1,224, 1,225, 1,226, 1,227, 1,228, 1,229, 1,230, 1,231, 1,232, 1,233, 1,234, 1,235, 1,236, + 1,237, 1,238, 1,239, 1,240, 1,241, 1,242, 1,243, 1,244, 1,245, 1,246, 1,247, 1,248, 1,249, 1,250, 1,251, 1,252, + 1,253, 1,254, 1,255, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 12, + 2, 13, 2, 14, 2, 15, 2, 16, 2, 17, 2, 18, 2, 19, 2, 20, 2, 21, 2, 22, 2, 23, 2, 24, 2, 25, 2, 26, 2, 27, 2, 28, + 2, 29, 2, 30, 2, 31, 2, 32, 2, 33, 2, 34, 2, 35, 2, 36, 2, 37, 2, 38, 2, 39, 2, 40, 2, 41, 0,178, 0,179, 2, 42, + 2, 43, 0,182, 0,183, 0,196, 2, 44, 0,180, 0,181, 0,197, 0,130, 0,194, 0,135, 0,171, 0,198, 2, 45, 2, 46, 0,190, + 0,191, 2, 47, 0,188, 2, 48, 0,247, 2, 49, 2, 50, 2, 51, 2, 52, 2, 53, 2, 54, 0,140, 0,159, 2, 55, 2, 56, 2, 57, + 2, 58, 2, 59, 0,152, 2, 60, 0,154, 0,153, 0,239, 0,165, 0,146, 0,156, 0,167, 0,143, 0,148, 0,149, 0,185, 2, 61, + 2, 62, 2, 63, 2, 64, 2, 65, 2, 66, 2, 67, 2, 68, 2, 69, 2, 70, 2, 71, 2, 72, 2, 73, 2, 74, 2, 75, 2, 76, 2, 77, + 2, 78, 2, 79, 2, 80, 2, 81, 2, 82, 2, 83, 2, 84, 2, 85, 2, 86, 2, 87, 2, 88, 2, 89, 2, 90, 2, 91, 2, 92, 2, 93, + 2, 94, 2, 95, 2, 96, 2, 97, 2, 98, 2, 99, 2,100, 2,101, 2,102, 2,103, 2,104, 2,105, 2,106, 2,107, 2,108, 2,109, + 2,110, 2,111, 2,112, 2,113, 2,114, 2,115, 2,116, 2,117, 2,118, 2,119, 2,120, 2,121, 2,122, 2,123, 2,124, 2,125, + 2,126, 2,127, 2,128, 2,129, 2,130, 2,131, 2,132, 2,133, 2,134, 2,135, 2,136, 2,137, 2,138, 2,139, 2,140, 2,141, + 2,142, 2,143, 2,144, 2,145, 2,146, 2,147, 2,148, 2,149, 2,150, 2,151, 2,152, 2,153, 2,154, 2,155, 2,156, 2,157, + 2,158, 2,159, 2,160, 2,161, 2,162, 2,163, 2,164, 2,165, 2,166, 2,167, 2,168, 2,169, 2,170, 2,171, 2,172, 2,173, + 2,174, 2,175, 2,176, 2,177, 2,178, 2,179, 2,180, 2,181, 2,182, 2,183, 2,184, 2,185, 2,186, 2,187, 2,188, 2,189, + 2,190, 2,191, 2,192, 2,193, 2,194, 2,195, 2,196, 2,197, 2,198, 2,199, 2,200, 2,201, 2,202, 2,203, 2,204, 2,205, + 2,206, 2,207, 2,208, 2,209, 2,210, 2,211, 2,212, 2,213, 2,214, 2,215, 2,216, 2,217, 2,218, 2,219, 2,220, 2,221, + 2,222, 2,223, 2,224, 2,225, 2,226, 2,227, 2,228, 2,229, 2,230, 2,231, 2,232, 2,233, 2,234, 2,235, 2,236, 2,237, + 2,238, 2,239, 2,240, 2,241, 2,242, 2,243, 2,244, 2,245, 2,246, 2,247, 2,248, 2,249, 2,250, 2,251, 2,252, 2,253, + 2,254, 2,255, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, 3, 11, 3, 12, 3, 13, + 3, 14, 3, 15, 3, 16, 3, 17, 3, 18, 3, 19, 3, 20, 3, 21, 3, 22, 3, 23, 3, 24, 3, 25, 3, 26, 3, 27, 3, 28, 3, 29, + 3, 30, 3, 31, 3, 32, 3, 33, 3, 34, 3, 35, 3, 36, 3, 37, 3, 38, 3, 39, 3, 40, 3, 41, 3, 42, 3, 43, 3, 44, 3, 45, + 3, 46, 3, 47, 3, 48, 3, 49, 3, 50, 3, 51, 3, 52, 3, 53, 3, 54, 3, 55, 3, 56, 3, 57, 3, 58, 3, 59, 3, 60, 3, 61, + 3, 62, 3, 63, 3, 64, 3, 65, 3, 66, 3, 67, 3, 68, 3, 69, 3, 70, 3, 71, 3, 72, 3, 73, 3, 74, 3, 75, 3, 76, 3, 77, + 3, 78, 3, 79, 3, 80, 3, 81, 3, 82, 3, 83, 3, 84, 3, 85, 3, 86, 3, 87, 3, 88, 3, 89, 3, 90, 3, 91, 3, 92, 3, 93, + 3, 94, 3, 95, 3, 96, 3, 97, 3, 98, 3, 99, 3,100, 3,101, 3,102, 3,103, 3,104, 3,105, 3,106, 3,107, 3,108, 3,109, + 3,110, 3,111, 3,112, 3,113, 3,114, 3,115, 3,116, 3,117, 3,118, 3,119, 3,120, 3,121, 3,122, 3,123, 3,124, 3,125, + 3,126, 3,127, 3,128, 3,129, 3,130, 3,131, 3,132, 3,133, 3,134, 3,135, 3,136, 3,137, 3,138, 5, 46,110,117,108,108, + 7,117,110,105, 48, 48, 65, 68, 9,111,118,101,114,115, 99,111,114,101, 14,112,101,114,105,111,100, 99,101,110,116,101,114,101, +100, 7, 65,109, 97, 99,114,111,110, 7, 97,109, 97, 99,114,111,110, 6, 65, 98,114,101,118,101, 6, 97, 98,114,101,118,101, 7, + 65,111,103,111,110,101,107, 7, 97,111,103,111,110,101,107, 11, 67, 99,105,114, 99,117,109,102,108,101,120, 11, 99, 99,105,114, + 99,117,109,102,108,101,120, 4, 67,100,111,116, 4, 99,100,111,116, 6, 68, 99, 97,114,111,110, 6,100, 99, 97,114,111,110, 6, + 68, 99,114,111, 97,116, 6,100, 99,114,111, 97,116, 7, 69,109, 97, 99,114,111,110, 7,101,109, 97, 99,114,111,110, 6, 69, 98, +114,101,118,101, 6,101, 98,114,101,118,101, 10, 69,100,111,116, 97, 99, 99,101,110,116, 10,101,100,111,116, 97, 99, 99,101,110, +116, 7, 69,111,103,111,110,101,107, 7,101,111,103,111,110,101,107, 6, 69, 99, 97,114,111,110, 6,101, 99, 97,114,111,110, 11, + 71, 99,105,114, 99,117,109,102,108,101,120, 11,103, 99,105,114, 99,117,109,102,108,101,120, 4, 71,100,111,116, 4,103,100,111, +116, 12, 71, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,103, 99,111,109,109, 97, 97, 99, 99,101,110,116, 11, 72, 99,105,114, + 99,117,109,102,108,101,120, 11,104, 99,105,114, 99,117,109,102,108,101,120, 4, 72, 98, 97,114, 4,104, 98, 97,114, 6, 73,116, +105,108,100,101, 6,105,116,105,108,100,101, 7, 73,109, 97, 99,114,111,110, 7,105,109, 97, 99,114,111,110, 6, 73, 98,114,101, +118,101, 6,105, 98,114,101,118,101, 7, 73,111,103,111,110,101,107, 7,105,111,103,111,110,101,107, 10, 73,100,111,116, 97, 99, + 99,101,110,116, 2, 73, 74, 2,105,106, 11, 74, 99,105,114, 99,117,109,102,108,101,120, 11,106, 99,105,114, 99,117,109,102,108, +101,120, 12, 75, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,107, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,107,103,114, +101,101,110,108, 97,110,100,105, 99, 6, 76, 97, 99,117,116,101, 6,108, 97, 99,117,116,101, 12, 76, 99,111,109,109, 97, 97, 99, + 99,101,110,116, 12,108, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 76, 99, 97,114,111,110, 6,108, 99, 97,114,111,110, 4, + 76,100,111,116, 4,108,100,111,116, 6, 78, 97, 99,117,116,101, 6,110, 97, 99,117,116,101, 12, 78, 99,111,109,109, 97, 97, 99, + 99,101,110,116, 12,110, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 78, 99, 97,114,111,110, 6,110, 99, 97,114,111,110, 11, +110, 97,112,111,115,116,114,111,112,104,101, 3, 69,110,103, 3,101,110,103, 7, 79,109, 97, 99,114,111,110, 7,111,109, 97, 99, +114,111,110, 6, 79, 98,114,101,118,101, 6,111, 98,114,101,118,101, 13, 79,104,117,110,103, 97,114,117,109,108, 97,117,116, 13, +111,104,117,110,103, 97,114,117,109,108, 97,117,116, 6, 82, 97, 99,117,116,101, 6,114, 97, 99,117,116,101, 12, 82, 99,111,109, +109, 97, 97, 99, 99,101,110,116, 12,114, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 82, 99, 97,114,111,110, 6,114, 99, 97, +114,111,110, 6, 83, 97, 99,117,116,101, 6,115, 97, 99,117,116,101, 11, 83, 99,105,114, 99,117,109,102,108,101,120, 11,115, 99, +105,114, 99,117,109,102,108,101,120, 12, 84, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,116, 99,111,109,109, 97, 97, 99, 99, +101,110,116, 6, 84, 99, 97,114,111,110, 6,116, 99, 97,114,111,110, 4, 84, 98, 97,114, 4,116, 98, 97,114, 6, 85,116,105,108, +100,101, 6,117,116,105,108,100,101, 7, 85,109, 97, 99,114,111,110, 7,117,109, 97, 99,114,111,110, 6, 85, 98,114,101,118,101, + 6,117, 98,114,101,118,101, 5, 85,114,105,110,103, 5,117,114,105,110,103, 13, 85,104,117,110,103, 97,114,117,109,108, 97,117, +116, 13,117,104,117,110,103, 97,114,117,109,108, 97,117,116, 7, 85,111,103,111,110,101,107, 7,117,111,103,111,110,101,107, 11, + 87, 99,105,114, 99,117,109,102,108,101,120, 11,119, 99,105,114, 99,117,109,102,108,101,120, 11, 89, 99,105,114, 99,117,109,102, +108,101,120, 11,121, 99,105,114, 99,117,109,102,108,101,120, 6, 90, 97, 99,117,116,101, 6,122, 97, 99,117,116,101, 10, 90,100, +111,116, 97, 99, 99,101,110,116, 10,122,100,111,116, 97, 99, 99,101,110,116, 5,108,111,110,103,115, 10, 65,114,105,110,103, 97, + 99,117,116,101, 10, 97,114,105,110,103, 97, 99,117,116,101, 7, 65, 69, 97, 99,117,116,101, 7, 97,101, 97, 99,117,116,101, 11, + 79,115,108, 97,115,104, 97, 99,117,116,101, 11,111,115,108, 97,115,104, 97, 99,117,116,101, 12, 83, 99,111,109,109, 97, 97, 99, + 99,101,110,116, 12,115, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6,109, 97, 99,114,111,110, 5,116,111,110,111,115, 13,100, 105,101,114,101,115,105,115,116,111,110,111,115, 10, 65,108,112,104, 97,116,111,110,111,115, 9, 97,110,111,116,101,108,101,105, 97, 12, 69,112,115,105,108,111,110,116,111,110,111,115, 8, 69,116, 97,116,111,110,111,115, 9, 73,111,116, 97,116,111,110,111, 115, 12, 79,109,105, 99,114,111,110,116,111,110,111,115, 12, 85,112,115,105,108,111,110,116,111,110,111,115, 10, 79,109,101,103, @@ -9051,634 +3528,141 @@ char datatoc_bmonofont_ttf[]= { 101,116, 97, 5, 71, 97,109,109, 97, 7,117,110,105, 48, 51, 57, 52, 7, 69,112,115,105,108,111,110, 4, 90,101,116, 97, 3, 69, 116, 97, 5, 84,104,101,116, 97, 4, 73,111,116, 97, 5, 75, 97,112,112, 97, 6, 76, 97,109, 98,100, 97, 2, 77,117, 2, 78,117, 2, 88,105, 7, 79,109,105, 99,114,111,110, 2, 80,105, 3, 82,104,111, 5, 83,105,103,109, 97, 3, 84, 97,117, 7, 85,112,115, -105,108,111,110, 3, 80,104,105, 3, 67,104,105, 3, 80,115,105, 12, 73,111,116, 97,100,105,101,114,101,115,105,115, 15, 85,112, -115,105,108,111,110,100,105,101,114,101,115,105,115, 10, 97,108,112,104, 97,116,111,110,111,115, 12,101,112,115,105,108,111,110, -116,111,110,111,115, 8,101,116, 97,116,111,110,111,115, 9,105,111,116, 97,116,111,110,111,115, 20,117,112,115,105,108,111,110, -100,105,101,114,101,115,105,115,116,111,110,111,115, 5, 97,108,112,104, 97, 4, 98,101,116, 97, 5,103, 97,109,109, 97, 5,100, -101,108,116, 97, 7,101,112,115,105,108,111,110, 4,122,101,116, 97, 3,101,116, 97, 5,116,104,101,116, 97, 4,105,111,116, 97, - 5,107, 97,112,112, 97, 6,108, 97,109, 98,100, 97, 7,117,110,105, 48, 51, 66, 67, 2,110,117, 2,120,105, 7,111,109,105, 99, -114,111,110, 3,114,104,111, 6,115,105,103,109, 97, 49, 5,115,105,103,109, 97, 3,116, 97,117, 7,117,112,115,105,108,111,110, - 3,112,104,105, 3, 99,104,105, 3,112,115,105, 5,111,109,101,103, 97, 12,105,111,116, 97,100,105,101,114,101,115,105,115, 15, -117,112,115,105,108,111,110,100,105,101,114,101,115,105,115, 12,111,109,105, 99,114,111,110,116,111,110,111,115, 12,117,112,115, -105,108,111,110,116,111,110,111,115, 10,111,109,101,103, 97,116,111,110,111,115, 7,117,110,105, 48, 51, 68, 48, 6,116,104,101, -116, 97, 49, 8, 85,112,115,105,108,111,110, 49, 7,117,110,105, 48, 51, 68, 51, 7,117,110,105, 48, 51, 68, 52, 4,112,104,105, - 49, 6,111,109,101,103, 97, 49, 7,117,110,105, 48, 51, 68, 55, 7,117,110,105, 48, 51, 68, 56, 7,117,110,105, 48, 51, 68, 57, - 7,117,110,105, 48, 51, 68, 65, 7,117,110,105, 48, 51, 68, 66, 7,117,110,105, 48, 51, 68, 67, 7,117,110,105, 48, 51, 68, 68, - 7,117,110,105, 48, 51, 68, 69, 7,117,110,105, 48, 51, 68, 70, 7,117,110,105, 48, 51, 69, 48, 7,117,110,105, 48, 51, 69, 49, - 7,117,110,105, 48, 51, 70, 48, 7,117,110,105, 48, 51, 70, 49, 7,117,110,105, 48, 51, 70, 50, 7,117,110,105, 48, 51, 70, 51, - 7,117,110,105, 48, 51, 70, 52, 7,117,110,105, 48, 51, 70, 53, 7,117,110,105, 48, 51, 70, 54, 7,117,110,105, 48, 51, 70, 55, - 7,117,110,105, 48, 51, 70, 56, 7,117,110,105, 48, 51, 70, 57, 7,117,110,105, 48, 51, 70, 65, 7,117,110,105, 48, 51, 70, 66, - 7,117,110,105, 48, 51, 70, 67, 7,117,110,105, 48, 51, 70, 68, 7,117,110,105, 48, 51, 70, 69, 7,117,110,105, 48, 51, 70, 70, - 7,117,110,105, 48, 52, 48, 48, 7,117,110,105, 48, 52, 48, 49, 7,117,110,105, 48, 52, 48, 50, 7,117,110,105, 48, 52, 48, 51, - 7,117,110,105, 48, 52, 48, 52, 7,117,110,105, 48, 52, 48, 53, 7,117,110,105, 48, 52, 48, 54, 7,117,110,105, 48, 52, 48, 55, - 7,117,110,105, 48, 52, 48, 56, 7,117,110,105, 48, 52, 48, 57, 7,117,110,105, 48, 52, 48, 65, 7,117,110,105, 48, 52, 48, 66, - 7,117,110,105, 48, 52, 48, 67, 7,117,110,105, 48, 52, 48, 68, 7,117,110,105, 48, 52, 48, 69, 7,117,110,105, 48, 52, 48, 70, - 7,117,110,105, 48, 52, 49, 48, 7,117,110,105, 48, 52, 49, 49, 7,117,110,105, 48, 52, 49, 50, 7,117,110,105, 48, 52, 49, 51, - 7,117,110,105, 48, 52, 49, 52, 7,117,110,105, 48, 52, 49, 53, 7,117,110,105, 48, 52, 49, 54, 7,117,110,105, 48, 52, 49, 55, - 7,117,110,105, 48, 52, 49, 56, 7,117,110,105, 48, 52, 49, 57, 7,117,110,105, 48, 52, 49, 65, 7,117,110,105, 48, 52, 49, 66, - 7,117,110,105, 48, 52, 49, 67, 7,117,110,105, 48, 52, 49, 68, 7,117,110,105, 48, 52, 49, 69, 7,117,110,105, 48, 52, 49, 70, - 7,117,110,105, 48, 52, 50, 48, 7,117,110,105, 48, 52, 50, 49, 7,117,110,105, 48, 52, 50, 50, 7,117,110,105, 48, 52, 50, 51, - 7,117,110,105, 48, 52, 50, 52, 7,117,110,105, 48, 52, 50, 53, 7,117,110,105, 48, 52, 50, 54, 7,117,110,105, 48, 52, 50, 55, - 7,117,110,105, 48, 52, 50, 56, 7,117,110,105, 48, 52, 50, 57, 7,117,110,105, 48, 52, 50, 65, 7,117,110,105, 48, 52, 50, 66, - 7,117,110,105, 48, 52, 50, 67, 7,117,110,105, 48, 52, 50, 68, 7,117,110,105, 48, 52, 50, 69, 7,117,110,105, 48, 52, 50, 70, - 7,117,110,105, 48, 52, 51, 48, 7,117,110,105, 48, 52, 51, 49, 7,117,110,105, 48, 52, 51, 50, 7,117,110,105, 48, 52, 51, 51, - 7,117,110,105, 48, 52, 51, 52, 7,117,110,105, 48, 52, 51, 53, 7,117,110,105, 48, 52, 51, 54, 7,117,110,105, 48, 52, 51, 55, - 7,117,110,105, 48, 52, 51, 56, 7,117,110,105, 48, 52, 51, 57, 7,117,110,105, 48, 52, 51, 65, 7,117,110,105, 48, 52, 51, 66, - 7,117,110,105, 48, 52, 51, 67, 7,117,110,105, 48, 52, 51, 68, 7,117,110,105, 48, 52, 51, 69, 7,117,110,105, 48, 52, 51, 70, - 7,117,110,105, 48, 52, 52, 48, 7,117,110,105, 48, 52, 52, 49, 7,117,110,105, 48, 52, 52, 50, 7,117,110,105, 48, 52, 52, 51, - 7,117,110,105, 48, 52, 52, 52, 7,117,110,105, 48, 52, 52, 53, 7,117,110,105, 48, 52, 52, 54, 7,117,110,105, 48, 52, 52, 55, - 7,117,110,105, 48, 52, 52, 56, 7,117,110,105, 48, 52, 52, 57, 7,117,110,105, 48, 52, 52, 65, 7,117,110,105, 48, 52, 52, 66, - 7,117,110,105, 48, 52, 52, 67, 7,117,110,105, 48, 52, 52, 68, 7,117,110,105, 48, 52, 52, 69, 7,117,110,105, 48, 52, 52, 70, - 7,117,110,105, 48, 52, 53, 48, 7,117,110,105, 48, 52, 53, 49, 7,117,110,105, 48, 52, 53, 50, 7,117,110,105, 48, 52, 53, 51, - 7,117,110,105, 48, 52, 53, 52, 7,117,110,105, 48, 52, 53, 53, 7,117,110,105, 48, 52, 53, 54, 7,117,110,105, 48, 52, 53, 55, - 7,117,110,105, 48, 52, 53, 56, 7,117,110,105, 48, 52, 53, 57, 7,117,110,105, 48, 52, 53, 65, 7,117,110,105, 48, 52, 53, 66, - 7,117,110,105, 48, 52, 53, 67, 7,117,110,105, 48, 52, 53, 68, 7,117,110,105, 48, 52, 53, 69, 7,117,110,105, 48, 52, 53, 70, - 7,117,110,105, 48, 52, 57, 48, 7,117,110,105, 48, 52, 57, 49, 7,117,110,105, 48, 52, 57, 50, 7,117,110,105, 48, 52, 57, 51, - 7,117,110,105, 48, 52, 57, 52, 7,117,110,105, 48, 52, 57, 53, 7,117,110,105, 48, 52, 57, 54, 7,117,110,105, 48, 52, 57, 55, - 7,117,110,105, 48, 52, 57, 56, 7,117,110,105, 48, 52, 57, 57, 7,117,110,105, 48, 52, 57, 65, 7,117,110,105, 48, 52, 57, 66, - 7,117,110,105, 48, 52, 65, 50, 7,117,110,105, 48, 52, 65, 51, 7,117,110,105, 48, 52, 65, 65, 7,117,110,105, 48, 52, 65, 66, - 7,117,110,105, 48, 52, 65, 67, 7,117,110,105, 48, 52, 65, 68, 7,117,110,105, 48, 52, 65, 69, 7,117,110,105, 48, 52, 65, 70, - 7,117,110,105, 48, 52, 66, 48, 7,117,110,105, 48, 52, 66, 49, 7,117,110,105, 48, 52, 66, 50, 7,117,110,105, 48, 52, 66, 51, - 7,117,110,105, 48, 52, 66, 65, 7,117,110,105, 48, 52, 66, 66, 7,117,110,105, 48, 52, 67, 48, 7,117,110,105, 48, 52, 67, 49, - 7,117,110,105, 48, 52, 67, 50, 7,117,110,105, 48, 52, 67, 51, 7,117,110,105, 48, 52, 67, 52, 7,117,110,105, 48, 52, 67, 55, - 7,117,110,105, 48, 52, 67, 56, 7,117,110,105, 48, 52, 67, 66, 7,117,110,105, 48, 52, 67, 67, 7,117,110,105, 48, 52, 67, 70, - 7,117,110,105, 48, 52, 68, 48, 7,117,110,105, 48, 52, 68, 49, 7,117,110,105, 48, 52, 68, 50, 7,117,110,105, 48, 52, 68, 51, - 7,117,110,105, 48, 52, 68, 52, 7,117,110,105, 48, 52, 68, 53, 7,117,110,105, 48, 52, 68, 54, 7,117,110,105, 48, 52, 68, 55, - 7,117,110,105, 48, 52, 68, 56, 7,117,110,105, 48, 52, 68, 57, 7,117,110,105, 48, 52, 68, 65, 7,117,110,105, 48, 52, 68, 66, - 7,117,110,105, 48, 52, 68, 67, 7,117,110,105, 48, 52, 68, 68, 7,117,110,105, 48, 52, 68, 69, 7,117,110,105, 48, 52, 68, 70, - 7,117,110,105, 48, 52, 69, 48, 7,117,110,105, 48, 52, 69, 49, 7,117,110,105, 48, 52, 69, 50, 7,117,110,105, 48, 52, 69, 51, - 7,117,110,105, 48, 52, 69, 52, 7,117,110,105, 48, 52, 69, 53, 7,117,110,105, 48, 52, 69, 54, 7,117,110,105, 48, 52, 69, 55, - 7,117,110,105, 48, 52, 69, 56, 7,117,110,105, 48, 52, 69, 57, 7,117,110,105, 48, 52, 69, 65, 7,117,110,105, 48, 52, 69, 66, - 7,117,110,105, 48, 52, 69, 67, 7,117,110,105, 48, 52, 69, 68, 7,117,110,105, 48, 52, 69, 69, 7,117,110,105, 48, 52, 69, 70, - 7,117,110,105, 48, 52, 70, 48, 7,117,110,105, 48, 52, 70, 49, 7,117,110,105, 48, 52, 70, 50, 7,117,110,105, 48, 52, 70, 51, - 7,117,110,105, 48, 52, 70, 52, 7,117,110,105, 48, 52, 70, 53, 7,117,110,105, 48, 52, 70, 54, 7,117,110,105, 48, 52, 70, 55, - 7,117,110,105, 48, 52, 70, 56, 7,117,110,105, 48, 52, 70, 57, 7,117,110,105, 48, 54, 48, 67, 7,117,110,105, 48, 54, 49, 53, - 7,117,110,105, 48, 54, 49, 66, 7,117,110,105, 48, 54, 49, 70, 7,117,110,105, 48, 54, 50, 49, 7,117,110,105, 48, 54, 50, 50, - 7,117,110,105, 48, 54, 50, 51, 7,117,110,105, 48, 54, 50, 52, 7,117,110,105, 48, 54, 50, 53, 7,117,110,105, 48, 54, 50, 54, - 7,117,110,105, 48, 54, 50, 55, 7,117,110,105, 48, 54, 50, 56, 7,117,110,105, 48, 54, 50, 57, 7,117,110,105, 48, 54, 50, 65, - 7,117,110,105, 48, 54, 50, 66, 7,117,110,105, 48, 54, 50, 67, 7,117,110,105, 48, 54, 50, 68, 7,117,110,105, 48, 54, 50, 69, - 7,117,110,105, 48, 54, 50, 70, 7,117,110,105, 48, 54, 51, 48, 7,117,110,105, 48, 54, 51, 49, 7,117,110,105, 48, 54, 51, 50, - 7,117,110,105, 48, 54, 51, 51, 7,117,110,105, 48, 54, 51, 52, 7,117,110,105, 48, 54, 51, 53, 7,117,110,105, 48, 54, 51, 54, - 7,117,110,105, 48, 54, 51, 55, 7,117,110,105, 48, 54, 51, 56, 7,117,110,105, 48, 54, 51, 57, 7,117,110,105, 48, 54, 51, 65, - 7,117,110,105, 48, 54, 52, 48, 7,117,110,105, 48, 54, 52, 49, 7,117,110,105, 48, 54, 52, 50, 7,117,110,105, 48, 54, 52, 51, - 7,117,110,105, 48, 54, 52, 52, 7,117,110,105, 48, 54, 52, 53, 7,117,110,105, 48, 54, 52, 54, 7,117,110,105, 48, 54, 52, 55, - 7,117,110,105, 48, 54, 52, 56, 7,117,110,105, 48, 54, 52, 57, 7,117,110,105, 48, 54, 52, 65, 7,117,110,105, 48, 54, 52, 66, - 7,117,110,105, 48, 54, 52, 67, 7,117,110,105, 48, 54, 52, 68, 7,117,110,105, 48, 54, 52, 69, 7,117,110,105, 48, 54, 52, 70, - 7,117,110,105, 48, 54, 53, 48, 7,117,110,105, 48, 54, 53, 49, 7,117,110,105, 48, 54, 53, 50, 7,117,110,105, 48, 54, 53, 51, - 7,117,110,105, 48, 54, 53, 52, 7,117,110,105, 48, 54, 53, 53, 7,117,110,105, 48, 54, 53, 65, 7,117,110,105, 48, 54, 54, 48, - 7,117,110,105, 48, 54, 54, 49, 7,117,110,105, 48, 54, 54, 50, 7,117,110,105, 48, 54, 54, 51, 7,117,110,105, 48, 54, 54, 52, - 7,117,110,105, 48, 54, 54, 53, 7,117,110,105, 48, 54, 54, 54, 7,117,110,105, 48, 54, 54, 55, 7,117,110,105, 48, 54, 54, 56, - 7,117,110,105, 48, 54, 54, 57, 7,117,110,105, 48, 54, 54, 65, 7,117,110,105, 48, 54, 54, 66, 7,117,110,105, 48, 54, 54, 67, - 7,117,110,105, 48, 54, 54, 68, 7,117,110,105, 48, 54, 54, 69, 7,117,110,105, 48, 54, 54, 70, 7,117,110,105, 48, 54, 55, 52, - 7,117,110,105, 48, 54, 55, 57, 7,117,110,105, 48, 54, 55, 65, 7,117,110,105, 48, 54, 55, 66, 7,117,110,105, 48, 54, 55, 67, - 7,117,110,105, 48, 54, 55, 68, 7,117,110,105, 48, 54, 55, 69, 7,117,110,105, 48, 54, 55, 70, 7,117,110,105, 48, 54, 56, 48, - 7,117,110,105, 48, 54, 56, 49, 7,117,110,105, 48, 54, 56, 50, 7,117,110,105, 48, 54, 56, 51, 7,117,110,105, 48, 54, 56, 52, - 7,117,110,105, 48, 54, 56, 53, 7,117,110,105, 48, 54, 56, 54, 7,117,110,105, 48, 54, 56, 55, 7,117,110,105, 48, 54, 57, 49, - 7,117,110,105, 48, 54, 57, 50, 7,117,110,105, 48, 54, 57, 56, 7,117,110,105, 48, 54, 65, 49, 7,117,110,105, 48, 54, 65, 52, - 7,117,110,105, 48, 54, 65, 57, 7,117,110,105, 48, 54, 65, 70, 7,117,110,105, 48, 54, 66, 53, 7,117,110,105, 48, 54, 66, 65, - 7,117,110,105, 48, 54, 66, 69, 7,117,110,105, 48, 54, 67, 54, 7,117,110,105, 48, 54, 67, 67, 7,117,110,105, 48, 54, 67, 69, - 7,117,110,105, 48, 54, 68, 53, 7,117,110,105, 48, 54, 70, 48, 7,117,110,105, 48, 54, 70, 49, 7,117,110,105, 48, 54, 70, 50, - 7,117,110,105, 48, 54, 70, 51, 7,117,110,105, 48, 54, 70, 52, 7,117,110,105, 48, 54, 70, 53, 7,117,110,105, 48, 54, 70, 54, - 7,117,110,105, 48, 54, 70, 55, 7,117,110,105, 48, 54, 70, 56, 7,117,110,105, 48, 54, 70, 57, 7,117,110,105, 48, 69, 56, 49, - 7,117,110,105, 48, 69, 56, 50, 7,117,110,105, 48, 69, 56, 52, 7,117,110,105, 48, 69, 56, 55, 7,117,110,105, 48, 69, 56, 56, - 7,117,110,105, 48, 69, 56, 65, 7,117,110,105, 48, 69, 56, 68, 7,117,110,105, 48, 69, 57, 52, 7,117,110,105, 48, 69, 57, 53, - 7,117,110,105, 48, 69, 57, 54, 7,117,110,105, 48, 69, 57, 55, 7,117,110,105, 48, 69, 57, 57, 7,117,110,105, 48, 69, 57, 65, - 7,117,110,105, 48, 69, 57, 66, 7,117,110,105, 48, 69, 57, 67, 7,117,110,105, 48, 69, 57, 68, 7,117,110,105, 48, 69, 57, 69, - 7,117,110,105, 48, 69, 57, 70, 7,117,110,105, 48, 69, 65, 49, 7,117,110,105, 48, 69, 65, 50, 7,117,110,105, 48, 69, 65, 51, - 7,117,110,105, 48, 69, 65, 53, 7,117,110,105, 48, 69, 65, 55, 7,117,110,105, 48, 69, 65, 65, 7,117,110,105, 48, 69, 65, 66, - 7,117,110,105, 48, 69, 65, 68, 7,117,110,105, 48, 69, 65, 69, 7,117,110,105, 48, 69, 65, 70, 7,117,110,105, 48, 69, 66, 48, - 7,117,110,105, 48, 69, 66, 49, 7,117,110,105, 48, 69, 66, 50, 7,117,110,105, 48, 69, 66, 51, 7,117,110,105, 48, 69, 66, 52, - 7,117,110,105, 48, 69, 66, 53, 7,117,110,105, 48, 69, 66, 54, 7,117,110,105, 48, 69, 66, 55, 7,117,110,105, 48, 69, 66, 56, - 7,117,110,105, 48, 69, 66, 57, 7,117,110,105, 48, 69, 66, 66, 7,117,110,105, 48, 69, 66, 67, 7,117,110,105, 48, 69, 67, 56, - 7,117,110,105, 48, 69, 67, 57, 7,117,110,105, 48, 69, 67, 65, 7,117,110,105, 48, 69, 67, 66, 7,117,110,105, 48, 69, 67, 67, - 7,117,110,105, 48, 69, 67, 68, 7,117,110,105, 49, 48, 68, 48, 7,117,110,105, 49, 48, 68, 49, 7,117,110,105, 49, 48, 68, 50, - 7,117,110,105, 49, 48, 68, 51, 7,117,110,105, 49, 48, 68, 52, 7,117,110,105, 49, 48, 68, 53, 7,117,110,105, 49, 48, 68, 54, - 7,117,110,105, 49, 48, 68, 55, 7,117,110,105, 49, 48, 68, 56, 7,117,110,105, 49, 48, 68, 57, 7,117,110,105, 49, 48, 68, 65, - 7,117,110,105, 49, 48, 68, 66, 7,117,110,105, 49, 48, 68, 67, 7,117,110,105, 49, 48, 68, 68, 7,117,110,105, 49, 48, 68, 69, - 7,117,110,105, 49, 48, 68, 70, 7,117,110,105, 49, 48, 69, 48, 7,117,110,105, 49, 48, 69, 49, 7,117,110,105, 49, 48, 69, 50, - 7,117,110,105, 49, 48, 69, 51, 7,117,110,105, 49, 48, 69, 52, 7,117,110,105, 49, 48, 69, 53, 7,117,110,105, 49, 48, 69, 54, - 7,117,110,105, 49, 48, 69, 55, 7,117,110,105, 49, 48, 69, 56, 7,117,110,105, 49, 48, 69, 57, 7,117,110,105, 49, 48, 69, 65, - 7,117,110,105, 49, 48, 69, 66, 7,117,110,105, 49, 48, 69, 67, 7,117,110,105, 49, 48, 69, 68, 7,117,110,105, 49, 48, 69, 69, - 7,117,110,105, 49, 48, 69, 70, 7,117,110,105, 49, 48, 70, 48, 7,117,110,105, 49, 48, 70, 49, 7,117,110,105, 49, 48, 70, 50, - 7,117,110,105, 49, 48, 70, 51, 7,117,110,105, 49, 48, 70, 52, 7,117,110,105, 49, 48, 70, 53, 7,117,110,105, 49, 48, 70, 54, - 7,117,110,105, 49, 48, 70, 55, 7,117,110,105, 49, 48, 70, 56, 7,117,110,105, 49, 48, 70, 57, 7,117,110,105, 49, 48, 70, 65, - 7,117,110,105, 49, 48, 70, 66, 7,117,110,105, 49, 48, 70, 67, 7,117,110,105, 49, 68, 48, 50, 7,117,110,105, 49, 68, 48, 56, - 7,117,110,105, 49, 68, 48, 57, 7,117,110,105, 49, 68, 49, 52, 7,117,110,105, 49, 68, 49, 54, 7,117,110,105, 49, 68, 49, 55, - 7,117,110,105, 49, 68, 49, 68, 7,117,110,105, 49, 68, 49, 69, 7,117,110,105, 49, 68, 49, 70, 7,117,110,105, 49, 68, 50, 67, - 7,117,110,105, 49, 68, 50, 68, 7,117,110,105, 49, 68, 50, 69, 7,117,110,105, 49, 68, 51, 48, 7,117,110,105, 49, 68, 51, 49, - 7,117,110,105, 49, 68, 51, 50, 7,117,110,105, 49, 68, 51, 51, 7,117,110,105, 49, 68, 51, 52, 7,117,110,105, 49, 68, 51, 53, - 7,117,110,105, 49, 68, 51, 54, 7,117,110,105, 49, 68, 51, 55, 7,117,110,105, 49, 68, 51, 56, 7,117,110,105, 49, 68, 51, 57, - 7,117,110,105, 49, 68, 51, 65, 7,117,110,105, 49, 68, 51, 66, 7,117,110,105, 49, 68, 51, 67, 7,117,110,105, 49, 68, 51, 69, - 7,117,110,105, 49, 68, 51, 70, 7,117,110,105, 49, 68, 52, 48, 7,117,110,105, 49, 68, 52, 49, 7,117,110,105, 49, 68, 52, 50, - 7,117,110,105, 49, 68, 52, 51, 7,117,110,105, 49, 68, 52, 52, 7,117,110,105, 49, 68, 52, 53, 7,117,110,105, 49, 68, 52, 54, - 7,117,110,105, 49, 68, 52, 55, 7,117,110,105, 49, 68, 52, 56, 7,117,110,105, 49, 68, 52, 57, 7,117,110,105, 49, 68, 52, 65, - 7,117,110,105, 49, 68, 52, 66, 7,117,110,105, 49, 68, 52, 67, 7,117,110,105, 49, 68, 52, 68, 7,117,110,105, 49, 68, 52, 69, - 7,117,110,105, 49, 68, 52, 70, 7,117,110,105, 49, 68, 53, 48, 7,117,110,105, 49, 68, 53, 49, 7,117,110,105, 49, 68, 53, 50, - 7,117,110,105, 49, 68, 53, 51, 7,117,110,105, 49, 68, 53, 52, 7,117,110,105, 49, 68, 53, 53, 7,117,110,105, 49, 68, 53, 54, - 7,117,110,105, 49, 68, 53, 55, 7,117,110,105, 49, 68, 53, 56, 7,117,110,105, 49, 68, 53, 57, 7,117,110,105, 49, 68, 53, 65, - 7,117,110,105, 49, 68, 53, 66, 7,117,110,105, 49, 68, 54, 50, 7,117,110,105, 49, 68, 54, 51, 7,117,110,105, 49, 68, 54, 52, - 7,117,110,105, 49, 68, 54, 53, 7,117,110,105, 49, 68, 55, 55, 7,117,110,105, 49, 68, 55, 56, 7,117,110,105, 49, 68, 55, 66, - 7,117,110,105, 49, 68, 56, 53, 7,117,110,105, 49, 68, 57, 66, 7,117,110,105, 49, 68, 57, 67, 7,117,110,105, 49, 68, 57, 68, - 7,117,110,105, 49, 68, 57, 69, 7,117,110,105, 49, 68, 57, 70, 7,117,110,105, 49, 68, 65, 48, 7,117,110,105, 49, 68, 65, 49, - 7,117,110,105, 49, 68, 65, 50, 7,117,110,105, 49, 68, 65, 51, 7,117,110,105, 49, 68, 65, 52, 7,117,110,105, 49, 68, 65, 53, - 7,117,110,105, 49, 68, 65, 54, 7,117,110,105, 49, 68, 65, 55, 7,117,110,105, 49, 68, 65, 56, 7,117,110,105, 49, 68, 65, 57, - 7,117,110,105, 49, 68, 65, 65, 7,117,110,105, 49, 68, 65, 66, 7,117,110,105, 49, 68, 65, 67, 7,117,110,105, 49, 68, 65, 68, - 7,117,110,105, 49, 68, 65, 69, 7,117,110,105, 49, 68, 65, 70, 7,117,110,105, 49, 68, 66, 48, 7,117,110,105, 49, 68, 66, 49, - 7,117,110,105, 49, 68, 66, 50, 7,117,110,105, 49, 68, 66, 51, 7,117,110,105, 49, 68, 66, 52, 7,117,110,105, 49, 68, 66, 53, - 7,117,110,105, 49, 68, 66, 54, 7,117,110,105, 49, 68, 66, 55, 7,117,110,105, 49, 68, 66, 57, 7,117,110,105, 49, 68, 66, 65, - 7,117,110,105, 49, 68, 66, 66, 7,117,110,105, 49, 68, 66, 67, 7,117,110,105, 49, 68, 66, 68, 7,117,110,105, 49, 68, 66, 69, - 7,117,110,105, 49, 68, 66, 70, 7,117,110,105, 49, 69, 48, 48, 7,117,110,105, 49, 69, 48, 49, 7,117,110,105, 49, 69, 48, 50, - 7,117,110,105, 49, 69, 48, 51, 7,117,110,105, 49, 69, 48, 52, 7,117,110,105, 49, 69, 48, 53, 7,117,110,105, 49, 69, 48, 54, - 7,117,110,105, 49, 69, 48, 55, 7,117,110,105, 49, 69, 48, 56, 7,117,110,105, 49, 69, 48, 57, 7,117,110,105, 49, 69, 48, 65, - 7,117,110,105, 49, 69, 48, 66, 7,117,110,105, 49, 69, 48, 67, 7,117,110,105, 49, 69, 48, 68, 7,117,110,105, 49, 69, 48, 69, - 7,117,110,105, 49, 69, 48, 70, 7,117,110,105, 49, 69, 49, 48, 7,117,110,105, 49, 69, 49, 49, 7,117,110,105, 49, 69, 49, 50, - 7,117,110,105, 49, 69, 49, 51, 7,117,110,105, 49, 69, 49, 56, 7,117,110,105, 49, 69, 49, 57, 7,117,110,105, 49, 69, 49, 65, - 7,117,110,105, 49, 69, 49, 66, 7,117,110,105, 49, 69, 49, 67, 7,117,110,105, 49, 69, 49, 68, 7,117,110,105, 49, 69, 49, 69, - 7,117,110,105, 49, 69, 49, 70, 7,117,110,105, 49, 69, 50, 48, 7,117,110,105, 49, 69, 50, 49, 7,117,110,105, 49, 69, 50, 50, - 7,117,110,105, 49, 69, 50, 51, 7,117,110,105, 49, 69, 50, 52, 7,117,110,105, 49, 69, 50, 53, 7,117,110,105, 49, 69, 50, 56, - 7,117,110,105, 49, 69, 50, 57, 7,117,110,105, 49, 69, 50, 65, 7,117,110,105, 49, 69, 50, 66, 7,117,110,105, 49, 69, 50, 67, - 7,117,110,105, 49, 69, 50, 68, 7,117,110,105, 49, 69, 51, 48, 7,117,110,105, 49, 69, 51, 49, 7,117,110,105, 49, 69, 51, 50, - 7,117,110,105, 49, 69, 51, 51, 7,117,110,105, 49, 69, 51, 52, 7,117,110,105, 49, 69, 51, 53, 7,117,110,105, 49, 69, 51, 54, - 7,117,110,105, 49, 69, 51, 55, 7,117,110,105, 49, 69, 51, 56, 7,117,110,105, 49, 69, 51, 57, 7,117,110,105, 49, 69, 51, 65, - 7,117,110,105, 49, 69, 51, 66, 7,117,110,105, 49, 69, 51, 67, 7,117,110,105, 49, 69, 51, 68, 7,117,110,105, 49, 69, 51, 69, - 7,117,110,105, 49, 69, 51, 70, 7,117,110,105, 49, 69, 52, 48, 7,117,110,105, 49, 69, 52, 49, 7,117,110,105, 49, 69, 52, 50, - 7,117,110,105, 49, 69, 52, 51, 7,117,110,105, 49, 69, 52, 52, 7,117,110,105, 49, 69, 52, 53, 7,117,110,105, 49, 69, 52, 54, - 7,117,110,105, 49, 69, 52, 55, 7,117,110,105, 49, 69, 52, 56, 7,117,110,105, 49, 69, 52, 57, 7,117,110,105, 49, 69, 52, 65, - 7,117,110,105, 49, 69, 52, 66, 7,117,110,105, 49, 69, 53, 54, 7,117,110,105, 49, 69, 53, 55, 7,117,110,105, 49, 69, 53, 56, - 7,117,110,105, 49, 69, 53, 57, 7,117,110,105, 49, 69, 53, 65, 7,117,110,105, 49, 69, 53, 66, 7,117,110,105, 49, 69, 53, 67, - 7,117,110,105, 49, 69, 53, 68, 7,117,110,105, 49, 69, 53, 69, 7,117,110,105, 49, 69, 53, 70, 7,117,110,105, 49, 69, 54, 48, - 7,117,110,105, 49, 69, 54, 49, 7,117,110,105, 49, 69, 54, 50, 7,117,110,105, 49, 69, 54, 51, 7,117,110,105, 49, 69, 54, 56, - 7,117,110,105, 49, 69, 54, 57, 7,117,110,105, 49, 69, 54, 65, 7,117,110,105, 49, 69, 54, 66, 7,117,110,105, 49, 69, 54, 67, - 7,117,110,105, 49, 69, 54, 68, 7,117,110,105, 49, 69, 54, 69, 7,117,110,105, 49, 69, 54, 70, 7,117,110,105, 49, 69, 55, 48, - 7,117,110,105, 49, 69, 55, 49, 7,117,110,105, 49, 69, 55, 50, 7,117,110,105, 49, 69, 55, 51, 7,117,110,105, 49, 69, 55, 52, - 7,117,110,105, 49, 69, 55, 53, 7,117,110,105, 49, 69, 55, 54, 7,117,110,105, 49, 69, 55, 55, 7,117,110,105, 49, 69, 55, 69, - 7,117,110,105, 49, 69, 55, 70, 6, 87,103,114, 97,118,101, 6,119,103,114, 97,118,101, 6, 87, 97, 99,117,116,101, 6,119, 97, - 99,117,116,101, 9, 87,100,105,101,114,101,115,105,115, 9,119,100,105,101,114,101,115,105,115, 7,117,110,105, 49, 69, 56, 54, - 7,117,110,105, 49, 69, 56, 55, 7,117,110,105, 49, 69, 56, 56, 7,117,110,105, 49, 69, 56, 57, 7,117,110,105, 49, 69, 56, 65, - 7,117,110,105, 49, 69, 56, 66, 7,117,110,105, 49, 69, 56, 69, 7,117,110,105, 49, 69, 56, 70, 7,117,110,105, 49, 69, 57, 50, - 7,117,110,105, 49, 69, 57, 51, 7,117,110,105, 49, 69, 57, 52, 7,117,110,105, 49, 69, 57, 53, 7,117,110,105, 49, 69, 57, 54, - 7,117,110,105, 49, 69, 57, 66, 7,117,110,105, 49, 69, 65, 48, 7,117,110,105, 49, 69, 65, 49, 7,117,110,105, 49, 69, 66, 48, - 7,117,110,105, 49, 69, 66, 49, 7,117,110,105, 49, 69, 66, 56, 7,117,110,105, 49, 69, 66, 57, 7,117,110,105, 49, 69, 66, 67, - 7,117,110,105, 49, 69, 66, 68, 7,117,110,105, 49, 69, 67, 65, 7,117,110,105, 49, 69, 67, 66, 7,117,110,105, 49, 69, 67, 67, - 7,117,110,105, 49, 69, 67, 68, 7,117,110,105, 49, 69, 69, 52, 7,117,110,105, 49, 69, 69, 53, 6, 89,103,114, 97,118,101, 6, -121,103,114, 97,118,101, 7,117,110,105, 49, 69, 70, 52, 7,117,110,105, 49, 69, 70, 53, 7,117,110,105, 49, 69, 70, 56, 7,117, -110,105, 49, 69, 70, 57, 7,117,110,105, 49, 70, 48, 48, 7,117,110,105, 49, 70, 48, 49, 7,117,110,105, 49, 70, 48, 50, 7,117, -110,105, 49, 70, 48, 51, 7,117,110,105, 49, 70, 48, 52, 7,117,110,105, 49, 70, 48, 53, 7,117,110,105, 49, 70, 48, 54, 7,117, -110,105, 49, 70, 48, 55, 7,117,110,105, 49, 70, 48, 56, 7,117,110,105, 49, 70, 48, 57, 7,117,110,105, 49, 70, 48, 65, 7,117, -110,105, 49, 70, 48, 66, 7,117,110,105, 49, 70, 48, 67, 7,117,110,105, 49, 70, 48, 68, 7,117,110,105, 49, 70, 48, 69, 7,117, -110,105, 49, 70, 48, 70, 7,117,110,105, 49, 70, 49, 48, 7,117,110,105, 49, 70, 49, 49, 7,117,110,105, 49, 70, 49, 50, 7,117, -110,105, 49, 70, 49, 51, 7,117,110,105, 49, 70, 49, 52, 7,117,110,105, 49, 70, 49, 53, 7,117,110,105, 49, 70, 49, 56, 7,117, -110,105, 49, 70, 49, 57, 7,117,110,105, 49, 70, 49, 65, 7,117,110,105, 49, 70, 49, 66, 7,117,110,105, 49, 70, 49, 67, 7,117, -110,105, 49, 70, 49, 68, 7,117,110,105, 49, 70, 50, 48, 7,117,110,105, 49, 70, 50, 49, 7,117,110,105, 49, 70, 50, 50, 7,117, -110,105, 49, 70, 50, 51, 7,117,110,105, 49, 70, 50, 52, 7,117,110,105, 49, 70, 50, 53, 7,117,110,105, 49, 70, 50, 54, 7,117, -110,105, 49, 70, 50, 55, 7,117,110,105, 49, 70, 50, 56, 7,117,110,105, 49, 70, 50, 57, 7,117,110,105, 49, 70, 50, 65, 7,117, -110,105, 49, 70, 50, 66, 7,117,110,105, 49, 70, 50, 67, 7,117,110,105, 49, 70, 50, 68, 7,117,110,105, 49, 70, 50, 69, 7,117, -110,105, 49, 70, 50, 70, 7,117,110,105, 49, 70, 51, 48, 7,117,110,105, 49, 70, 51, 49, 7,117,110,105, 49, 70, 51, 50, 7,117, -110,105, 49, 70, 51, 51, 7,117,110,105, 49, 70, 51, 52, 7,117,110,105, 49, 70, 51, 53, 7,117,110,105, 49, 70, 51, 54, 7,117, -110,105, 49, 70, 51, 55, 7,117,110,105, 49, 70, 51, 56, 7,117,110,105, 49, 70, 51, 57, 7,117,110,105, 49, 70, 51, 65, 7,117, -110,105, 49, 70, 51, 66, 7,117,110,105, 49, 70, 51, 67, 7,117,110,105, 49, 70, 51, 68, 7,117,110,105, 49, 70, 51, 69, 7,117, -110,105, 49, 70, 51, 70, 7,117,110,105, 49, 70, 52, 48, 7,117,110,105, 49, 70, 52, 49, 7,117,110,105, 49, 70, 52, 50, 7,117, -110,105, 49, 70, 52, 51, 7,117,110,105, 49, 70, 52, 52, 7,117,110,105, 49, 70, 52, 53, 7,117,110,105, 49, 70, 52, 56, 7,117, -110,105, 49, 70, 52, 57, 7,117,110,105, 49, 70, 52, 65, 7,117,110,105, 49, 70, 52, 66, 7,117,110,105, 49, 70, 52, 67, 7,117, -110,105, 49, 70, 52, 68, 7,117,110,105, 49, 70, 53, 48, 7,117,110,105, 49, 70, 53, 49, 7,117,110,105, 49, 70, 53, 50, 7,117, -110,105, 49, 70, 53, 51, 7,117,110,105, 49, 70, 53, 52, 7,117,110,105, 49, 70, 53, 53, 7,117,110,105, 49, 70, 53, 54, 7,117, -110,105, 49, 70, 53, 55, 7,117,110,105, 49, 70, 53, 57, 7,117,110,105, 49, 70, 53, 66, 7,117,110,105, 49, 70, 53, 68, 7,117, -110,105, 49, 70, 53, 70, 7,117,110,105, 49, 70, 54, 48, 7,117,110,105, 49, 70, 54, 49, 7,117,110,105, 49, 70, 54, 50, 7,117, -110,105, 49, 70, 54, 51, 7,117,110,105, 49, 70, 54, 52, 7,117,110,105, 49, 70, 54, 53, 7,117,110,105, 49, 70, 54, 54, 7,117, -110,105, 49, 70, 54, 55, 7,117,110,105, 49, 70, 54, 56, 7,117,110,105, 49, 70, 54, 57, 7,117,110,105, 49, 70, 54, 65, 7,117, -110,105, 49, 70, 54, 66, 7,117,110,105, 49, 70, 54, 67, 7,117,110,105, 49, 70, 54, 68, 7,117,110,105, 49, 70, 54, 69, 7,117, -110,105, 49, 70, 54, 70, 7,117,110,105, 49, 70, 55, 48, 7,117,110,105, 49, 70, 55, 49, 7,117,110,105, 49, 70, 55, 50, 7,117, -110,105, 49, 70, 55, 51, 7,117,110,105, 49, 70, 55, 52, 7,117,110,105, 49, 70, 55, 53, 7,117,110,105, 49, 70, 55, 54, 7,117, -110,105, 49, 70, 55, 55, 7,117,110,105, 49, 70, 55, 56, 7,117,110,105, 49, 70, 55, 57, 7,117,110,105, 49, 70, 55, 65, 7,117, -110,105, 49, 70, 55, 66, 7,117,110,105, 49, 70, 55, 67, 7,117,110,105, 49, 70, 55, 68, 7,117,110,105, 49, 70, 56, 48, 7,117, -110,105, 49, 70, 56, 49, 7,117,110,105, 49, 70, 56, 50, 7,117,110,105, 49, 70, 56, 51, 7,117,110,105, 49, 70, 56, 52, 7,117, -110,105, 49, 70, 56, 53, 7,117,110,105, 49, 70, 56, 54, 7,117,110,105, 49, 70, 56, 55, 7,117,110,105, 49, 70, 56, 56, 7,117, -110,105, 49, 70, 56, 57, 7,117,110,105, 49, 70, 56, 65, 7,117,110,105, 49, 70, 56, 66, 7,117,110,105, 49, 70, 56, 67, 7,117, -110,105, 49, 70, 56, 68, 7,117,110,105, 49, 70, 56, 69, 7,117,110,105, 49, 70, 56, 70, 7,117,110,105, 49, 70, 57, 48, 7,117, -110,105, 49, 70, 57, 49, 7,117,110,105, 49, 70, 57, 50, 7,117,110,105, 49, 70, 57, 51, 7,117,110,105, 49, 70, 57, 52, 7,117, -110,105, 49, 70, 57, 53, 7,117,110,105, 49, 70, 57, 54, 7,117,110,105, 49, 70, 57, 55, 7,117,110,105, 49, 70, 57, 56, 7,117, -110,105, 49, 70, 57, 57, 7,117,110,105, 49, 70, 57, 65, 7,117,110,105, 49, 70, 57, 66, 7,117,110,105, 49, 70, 57, 67, 7,117, -110,105, 49, 70, 57, 68, 7,117,110,105, 49, 70, 57, 69, 7,117,110,105, 49, 70, 57, 70, 7,117,110,105, 49, 70, 65, 48, 7,117, -110,105, 49, 70, 65, 49, 7,117,110,105, 49, 70, 65, 50, 7,117,110,105, 49, 70, 65, 51, 7,117,110,105, 49, 70, 65, 52, 7,117, -110,105, 49, 70, 65, 53, 7,117,110,105, 49, 70, 65, 54, 7,117,110,105, 49, 70, 65, 55, 7,117,110,105, 49, 70, 65, 56, 7,117, -110,105, 49, 70, 65, 57, 7,117,110,105, 49, 70, 65, 65, 7,117,110,105, 49, 70, 65, 66, 7,117,110,105, 49, 70, 65, 67, 7,117, -110,105, 49, 70, 65, 68, 7,117,110,105, 49, 70, 65, 69, 7,117,110,105, 49, 70, 65, 70, 7,117,110,105, 49, 70, 66, 48, 7,117, -110,105, 49, 70, 66, 49, 7,117,110,105, 49, 70, 66, 50, 7,117,110,105, 49, 70, 66, 51, 7,117,110,105, 49, 70, 66, 52, 7,117, -110,105, 49, 70, 66, 54, 7,117,110,105, 49, 70, 66, 55, 7,117,110,105, 49, 70, 66, 56, 7,117,110,105, 49, 70, 66, 57, 7,117, -110,105, 49, 70, 66, 65, 7,117,110,105, 49, 70, 66, 66, 7,117,110,105, 49, 70, 66, 67, 7,117,110,105, 49, 70, 66, 68, 7,117, -110,105, 49, 70, 66, 69, 7,117,110,105, 49, 70, 66, 70, 7,117,110,105, 49, 70, 67, 48, 7,117,110,105, 49, 70, 67, 49, 7,117, -110,105, 49, 70, 67, 50, 7,117,110,105, 49, 70, 67, 51, 7,117,110,105, 49, 70, 67, 52, 7,117,110,105, 49, 70, 67, 54, 7,117, -110,105, 49, 70, 67, 55, 7,117,110,105, 49, 70, 67, 56, 7,117,110,105, 49, 70, 67, 57, 7,117,110,105, 49, 70, 67, 65, 7,117, -110,105, 49, 70, 67, 66, 7,117,110,105, 49, 70, 67, 67, 7,117,110,105, 49, 70, 67, 68, 7,117,110,105, 49, 70, 67, 69, 7,117, -110,105, 49, 70, 67, 70, 7,117,110,105, 49, 70, 68, 48, 7,117,110,105, 49, 70, 68, 49, 7,117,110,105, 49, 70, 68, 50, 7,117, -110,105, 49, 70, 68, 51, 7,117,110,105, 49, 70, 68, 54, 7,117,110,105, 49, 70, 68, 55, 7,117,110,105, 49, 70, 68, 56, 7,117, -110,105, 49, 70, 68, 57, 7,117,110,105, 49, 70, 68, 65, 7,117,110,105, 49, 70, 68, 66, 7,117,110,105, 49, 70, 68, 68, 7,117, -110,105, 49, 70, 68, 69, 7,117,110,105, 49, 70, 68, 70, 7,117,110,105, 49, 70, 69, 48, 7,117,110,105, 49, 70, 69, 49, 7,117, -110,105, 49, 70, 69, 50, 7,117,110,105, 49, 70, 69, 51, 7,117,110,105, 49, 70, 69, 52, 7,117,110,105, 49, 70, 69, 53, 7,117, -110,105, 49, 70, 69, 54, 7,117,110,105, 49, 70, 69, 55, 7,117,110,105, 49, 70, 69, 56, 7,117,110,105, 49, 70, 69, 57, 7,117, -110,105, 49, 70, 69, 65, 7,117,110,105, 49, 70, 69, 66, 7,117,110,105, 49, 70, 69, 67, 7,117,110,105, 49, 70, 69, 68, 7,117, -110,105, 49, 70, 69, 69, 7,117,110,105, 49, 70, 69, 70, 7,117,110,105, 49, 70, 70, 50, 7,117,110,105, 49, 70, 70, 51, 7,117, -110,105, 49, 70, 70, 52, 7,117,110,105, 49, 70, 70, 54, 7,117,110,105, 49, 70, 70, 55, 7,117,110,105, 49, 70, 70, 56, 7,117, -110,105, 49, 70, 70, 57, 7,117,110,105, 49, 70, 70, 65, 7,117,110,105, 49, 70, 70, 66, 7,117,110,105, 49, 70, 70, 67, 7,117, -110,105, 49, 70, 70, 68, 7,117,110,105, 49, 70, 70, 69, 7,117,110,105, 50, 48, 48, 48, 7,117,110,105, 50, 48, 48, 49, 7,117, -110,105, 50, 48, 48, 50, 7,117,110,105, 50, 48, 48, 51, 7,117,110,105, 50, 48, 48, 52, 7,117,110,105, 50, 48, 48, 53, 7,117, -110,105, 50, 48, 48, 54, 7,117,110,105, 50, 48, 48, 55, 7,117,110,105, 50, 48, 48, 56, 7,117,110,105, 50, 48, 48, 57, 7,117, -110,105, 50, 48, 48, 65, 7,117,110,105, 50, 48, 49, 48, 7,117,110,105, 50, 48, 49, 49, 10,102,105,103,117,114,101,100, 97,115, -104, 7,117,110,105, 50, 48, 49, 53, 13,117,110,100,101,114,115, 99,111,114,101,100, 98,108, 13,113,117,111,116,101,114,101,118, -101,114,115,101,100, 7,117,110,105, 50, 48, 49, 70, 7,117,110,105, 50, 48, 50, 51, 7,117,110,105, 50, 48, 50, 70, 7,117,110, -105, 50, 48, 51, 49, 9,101,120, 99,108, 97,109,100, 98,108, 7,117,110,105, 50, 48, 51, 68, 7,117,110,105, 50, 48, 51, 69, 7, -117,110,105, 50, 48, 52, 53, 7,117,110,105, 50, 48, 52, 54, 7,117,110,105, 50, 48, 52, 55, 7,117,110,105, 50, 48, 52, 56, 7, -117,110,105, 50, 48, 52, 57, 7,117,110,105, 50, 48, 53, 70, 7,117,110,105, 50, 48, 55, 48, 7,117,110,105, 50, 48, 55, 49, 7, -117,110,105, 50, 48, 55, 52, 7,117,110,105, 50, 48, 55, 53, 7,117,110,105, 50, 48, 55, 54, 7,117,110,105, 50, 48, 55, 55, 7, -117,110,105, 50, 48, 55, 56, 7,117,110,105, 50, 48, 55, 57, 7,117,110,105, 50, 48, 55, 65, 7,117,110,105, 50, 48, 55, 66, 7, -117,110,105, 50, 48, 55, 67, 7,117,110,105, 50, 48, 55, 68, 7,117,110,105, 50, 48, 55, 69, 7,117,110,105, 50, 48, 55, 70, 7, -117,110,105, 50, 48, 56, 48, 7,117,110,105, 50, 48, 56, 49, 7,117,110,105, 50, 48, 56, 50, 7,117,110,105, 50, 48, 56, 51, 7, -117,110,105, 50, 48, 56, 52, 7,117,110,105, 50, 48, 56, 53, 7,117,110,105, 50, 48, 56, 54, 7,117,110,105, 50, 48, 56, 55, 7, -117,110,105, 50, 48, 56, 56, 7,117,110,105, 50, 48, 56, 57, 7,117,110,105, 50, 48, 56, 65, 7,117,110,105, 50, 48, 56, 66, 7, -117,110,105, 50, 48, 56, 67, 7,117,110,105, 50, 48, 56, 68, 7,117,110,105, 50, 48, 56, 69, 7,117,110,105, 50, 48, 57, 48, 7, -117,110,105, 50, 48, 57, 49, 7,117,110,105, 50, 48, 57, 50, 7,117,110,105, 50, 48, 57, 51, 7,117,110,105, 50, 48, 57, 52, 7, -117,110,105, 50, 48, 65, 54, 4, 69,117,114,111, 7,117,110,105, 50, 48, 66, 49, 7,117,110,105, 50, 48, 66, 52, 7,117,110,105, - 50, 48, 66, 53, 7,117,110,105, 50, 49, 48, 50, 7,117,110,105, 50, 49, 48, 69, 7,117,110,105, 50, 49, 49, 54, 7,117,110,105, - 50, 49, 50, 54, 7,117,110,105, 50, 49, 50, 65, 7,117,110,105, 50, 49, 50, 66, 8,111,110,101,116,104,105,114,100, 9,116,119, -111,116,104,105,114,100,115, 7,117,110,105, 50, 49, 53, 53, 7,117,110,105, 50, 49, 53, 54, 7,117,110,105, 50, 49, 53, 55, 7, -117,110,105, 50, 49, 53, 56, 7,117,110,105, 50, 49, 53, 57, 7,117,110,105, 50, 49, 53, 65, 9,111,110,101,101,105,103,104,116, -104, 12,116,104,114,101,101,101,105,103,104,116,104,115, 11,102,105,118,101,101,105,103,104,116,104,115, 12,115,101,118,101,110, -101,105,103,104,116,104,115, 7,117,110,105, 50, 49, 53, 70, 9, 97,114,114,111,119,108,101,102,116, 7, 97,114,114,111,119,117, -112, 10, 97,114,114,111,119,114,105,103,104,116, 9, 97,114,114,111,119,100,111,119,110, 9, 97,114,114,111,119, 98,111,116,104, - 9, 97,114,114,111,119,117,112,100,110, 7,117,110,105, 50, 49, 57, 54, 7,117,110,105, 50, 49, 57, 55, 7,117,110,105, 50, 49, - 57, 56, 7,117,110,105, 50, 49, 57, 57, 7,117,110,105, 50, 49, 57, 65, 7,117,110,105, 50, 49, 57, 66, 7,117,110,105, 50, 49, - 57, 67, 7,117,110,105, 50, 49, 57, 68, 7,117,110,105, 50, 49, 57, 69, 7,117,110,105, 50, 49, 57, 70, 7,117,110,105, 50, 49, - 65, 48, 7,117,110,105, 50, 49, 65, 49, 7,117,110,105, 50, 49, 65, 50, 7,117,110,105, 50, 49, 65, 51, 7,117,110,105, 50, 49, - 65, 52, 7,117,110,105, 50, 49, 65, 53, 7,117,110,105, 50, 49, 65, 54, 7,117,110,105, 50, 49, 65, 55, 12, 97,114,114,111,119, -117,112,100,110, 98,115,101, 7,117,110,105, 50, 49, 65, 57, 7,117,110,105, 50, 49, 65, 65, 7,117,110,105, 50, 49, 65, 66, 7, -117,110,105, 50, 49, 65, 67, 7,117,110,105, 50, 49, 65, 68, 7,117,110,105, 50, 49, 65, 69, 7,117,110,105, 50, 49, 65, 70, 7, -117,110,105, 50, 49, 66, 48, 7,117,110,105, 50, 49, 66, 49, 7,117,110,105, 50, 49, 66, 50, 7,117,110,105, 50, 49, 66, 51, 7, -117,110,105, 50, 49, 66, 52, 14, 99, 97,114,114,105, 97,103,101,114,101,116,117,114,110, 7,117,110,105, 50, 49, 66, 54, 7,117, -110,105, 50, 49, 66, 55, 7,117,110,105, 50, 49, 66, 56, 7,117,110,105, 50, 49, 66, 57, 7,117,110,105, 50, 49, 66, 65, 7,117, -110,105, 50, 49, 66, 66, 7,117,110,105, 50, 49, 66, 67, 7,117,110,105, 50, 49, 66, 68, 7,117,110,105, 50, 49, 66, 69, 7,117, -110,105, 50, 49, 66, 70, 7,117,110,105, 50, 49, 67, 48, 7,117,110,105, 50, 49, 67, 49, 7,117,110,105, 50, 49, 67, 50, 7,117, -110,105, 50, 49, 67, 51, 7,117,110,105, 50, 49, 67, 52, 7,117,110,105, 50, 49, 67, 53, 7,117,110,105, 50, 49, 67, 54, 7,117, -110,105, 50, 49, 67, 55, 7,117,110,105, 50, 49, 67, 56, 7,117,110,105, 50, 49, 67, 57, 7,117,110,105, 50, 49, 67, 65, 7,117, -110,105, 50, 49, 67, 66, 7,117,110,105, 50, 49, 67, 67, 7,117,110,105, 50, 49, 67, 68, 7,117,110,105, 50, 49, 67, 69, 7,117, -110,105, 50, 49, 67, 70, 12, 97,114,114,111,119,100, 98,108,108,101,102,116, 10, 97,114,114,111,119,100, 98,108,117,112, 13, 97, -114,114,111,119,100, 98,108,114,105,103,104,116, 12, 97,114,114,111,119,100, 98,108,100,111,119,110, 12, 97,114,114,111,119,100, - 98,108, 98,111,116,104, 7,117,110,105, 50, 49, 68, 53, 7,117,110,105, 50, 49, 68, 54, 7,117,110,105, 50, 49, 68, 55, 7,117, -110,105, 50, 49, 68, 56, 7,117,110,105, 50, 49, 68, 57, 7,117,110,105, 50, 49, 68, 65, 7,117,110,105, 50, 49, 68, 66, 7,117, -110,105, 50, 49, 68, 67, 7,117,110,105, 50, 49, 68, 68, 7,117,110,105, 50, 49, 68, 69, 7,117,110,105, 50, 49, 68, 70, 7,117, -110,105, 50, 49, 69, 48, 7,117,110,105, 50, 49, 69, 49, 7,117,110,105, 50, 49, 69, 50, 7,117,110,105, 50, 49, 69, 51, 7,117, -110,105, 50, 49, 69, 52, 7,117,110,105, 50, 49, 69, 53, 7,117,110,105, 50, 49, 69, 54, 7,117,110,105, 50, 49, 69, 55, 7,117, -110,105, 50, 49, 69, 56, 7,117,110,105, 50, 49, 69, 57, 7,117,110,105, 50, 49, 69, 65, 7,117,110,105, 50, 49, 69, 66, 7,117, -110,105, 50, 49, 69, 67, 7,117,110,105, 50, 49, 69, 68, 7,117,110,105, 50, 49, 69, 69, 7,117,110,105, 50, 49, 69, 70, 7,117, -110,105, 50, 49, 70, 48, 7,117,110,105, 50, 49, 70, 49, 7,117,110,105, 50, 49, 70, 50, 7,117,110,105, 50, 49, 70, 51, 7,117, -110,105, 50, 49, 70, 52, 7,117,110,105, 50, 49, 70, 53, 7,117,110,105, 50, 49, 70, 54, 7,117,110,105, 50, 49, 70, 55, 7,117, -110,105, 50, 49, 70, 56, 7,117,110,105, 50, 49, 70, 57, 7,117,110,105, 50, 49, 70, 65, 7,117,110,105, 50, 49, 70, 66, 7,117, -110,105, 50, 49, 70, 67, 7,117,110,105, 50, 49, 70, 68, 7,117,110,105, 50, 49, 70, 69, 7,117,110,105, 50, 49, 70, 70, 8,101, -109,112,116,121,115,101,116, 8,103,114, 97,100,105,101,110,116, 7,101,108,101,109,101,110,116, 10,110,111,116,101,108,101,109, -101,110,116, 7,117,110,105, 50, 50, 48, 65, 8,115,117, 99,104,116,104, 97,116, 7,117,110,105, 50, 50, 48, 67, 7,117,110,105, - 50, 50, 48, 68, 7,117,110,105, 50, 50, 49, 51, 7,117,110,105, 50, 50, 49, 53, 12, 97,115,116,101,114,105,115,107,109, 97,116, -104, 7,117,110,105, 50, 50, 49, 56, 7,117,110,105, 50, 50, 49, 57, 12,112,114,111,112,111,114,116,105,111,110, 97,108, 10,111, -114,116,104,111,103,111,110, 97,108, 5, 97,110,103,108,101, 10,108,111,103,105, 99, 97,108, 97,110,100, 9,108,111,103,105, 99, - 97,108,111,114, 12,105,110,116,101,114,115,101, 99,116,105,111,110, 5,117,110,105,111,110, 7,117,110,105, 50, 50, 50, 67, 7, -117,110,105, 50, 50, 50, 68, 7,117,110,105, 50, 50, 51, 56, 7,117,110,105, 50, 50, 51, 57, 7,117,110,105, 50, 50, 51, 65, 7, -117,110,105, 50, 50, 51, 66, 7,115,105,109,105,108, 97,114, 7,117,110,105, 50, 50, 51, 68, 7,117,110,105, 50, 50, 52, 49, 7, -117,110,105, 50, 50, 52, 50, 7,117,110,105, 50, 50, 52, 51, 7,117,110,105, 50, 50, 52, 52, 9, 99,111,110,103,114,117,101,110, -116, 7,117,110,105, 50, 50, 52, 54, 7,117,110,105, 50, 50, 52, 55, 7,117,110,105, 50, 50, 52, 57, 7,117,110,105, 50, 50, 52, - 65, 7,117,110,105, 50, 50, 52, 66, 7,117,110,105, 50, 50, 52, 67, 7,117,110,105, 50, 50, 52, 68, 7,117,110,105, 50, 50, 52, - 69, 7,117,110,105, 50, 50, 52, 70, 7,117,110,105, 50, 50, 53, 48, 7,117,110,105, 50, 50, 53, 49, 7,117,110,105, 50, 50, 53, - 50, 7,117,110,105, 50, 50, 53, 51, 7,117,110,105, 50, 50, 53, 52, 7,117,110,105, 50, 50, 53, 53, 7,117,110,105, 50, 50, 53, - 54, 7,117,110,105, 50, 50, 53, 55, 7,117,110,105, 50, 50, 53, 56, 7,117,110,105, 50, 50, 53, 57, 7,117,110,105, 50, 50, 53, - 65, 7,117,110,105, 50, 50, 53, 66, 7,117,110,105, 50, 50, 53, 67, 7,117,110,105, 50, 50, 53, 68, 7,117,110,105, 50, 50, 53, - 69, 7,117,110,105, 50, 50, 53, 70, 11,101,113,117,105,118, 97,108,101,110, 99,101, 7,117,110,105, 50, 50, 54, 50, 7,117,110, -105, 50, 50, 54, 51, 7,117,110,105, 50, 50, 54, 54, 7,117,110,105, 50, 50, 54, 55, 7,117,110,105, 50, 50, 54, 56, 7,117,110, -105, 50, 50, 54, 57, 7,117,110,105, 50, 50, 54, 68, 7,117,110,105, 50, 50, 54, 69, 7,117,110,105, 50, 50, 54, 70, 7,117,110, -105, 50, 50, 55, 48, 7,117,110,105, 50, 50, 55, 49, 7,117,110,105, 50, 50, 55, 50, 7,117,110,105, 50, 50, 55, 51, 7,117,110, -105, 50, 50, 55, 52, 7,117,110,105, 50, 50, 55, 53, 7,117,110,105, 50, 50, 55, 54, 7,117,110,105, 50, 50, 55, 55, 7,117,110, -105, 50, 50, 55, 56, 7,117,110,105, 50, 50, 55, 57, 7,117,110,105, 50, 50, 55, 65, 7,117,110,105, 50, 50, 55, 66, 7,117,110, -105, 50, 50, 55, 67, 7,117,110,105, 50, 50, 55, 68, 7,117,110,105, 50, 50, 55, 69, 7,117,110,105, 50, 50, 55, 70, 7,117,110, -105, 50, 50, 56, 48, 7,117,110,105, 50, 50, 56, 49, 12,112,114,111,112,101,114,115,117, 98,115,101,116, 14,112,114,111,112,101, -114,115,117,112,101,114,115,101,116, 9,110,111,116,115,117, 98,115,101,116, 7,117,110,105, 50, 50, 56, 53, 12,114,101,102,108, -101,120,115,117, 98,115,101,116, 14,114,101,102,108,101,120,115,117,112,101,114,115,101,116, 7,117,110,105, 50, 50, 56, 56, 7, -117,110,105, 50, 50, 56, 57, 7,117,110,105, 50, 50, 56, 65, 7,117,110,105, 50, 50, 56, 66, 7,117,110,105, 50, 50, 56, 70, 7, -117,110,105, 50, 50, 57, 48, 7,117,110,105, 50, 50, 57, 49, 7,117,110,105, 50, 50, 57, 50, 10, 99,105,114, 99,108,101,112,108, -117,115, 7,117,110,105, 50, 50, 57, 54, 14, 99,105,114, 99,108,101,109,117,108,116,105,112,108,121, 7,117,110,105, 50, 50, 57, - 56, 7,117,110,105, 50, 50, 57, 57, 7,117,110,105, 50, 50, 57, 65, 7,117,110,105, 50, 50, 57, 66, 7,117,110,105, 50, 50, 57, - 67, 7,117,110,105, 50, 50, 57, 68, 7,117,110,105, 50, 50, 57, 69, 7,117,110,105, 50, 50, 57, 70, 7,117,110,105, 50, 50, 65, - 48, 7,117,110,105, 50, 50, 65, 49, 7,100,111,116,109, 97,116,104, 7,117,110,105, 50, 50, 67, 54, 7,117,110,105, 50, 50, 67, - 68, 7,117,110,105, 50, 50, 68, 65, 7,117,110,105, 50, 50, 68, 66, 7,117,110,105, 50, 50, 68, 67, 7,117,110,105, 50, 50, 68, - 68, 7,117,110,105, 50, 50, 68, 69, 7,117,110,105, 50, 50, 68, 70, 7,117,110,105, 50, 50, 69, 48, 7,117,110,105, 50, 50, 69, - 49, 7,117,110,105, 50, 50, 69, 50, 7,117,110,105, 50, 50, 69, 51, 7,117,110,105, 50, 50, 69, 52, 7,117,110,105, 50, 50, 69, - 53, 7,117,110,105, 50, 50, 69, 54, 7,117,110,105, 50, 50, 69, 55, 7,117,110,105, 50, 50, 69, 56, 7,117,110,105, 50, 50, 69, - 57, 7,117,110,105, 50, 50, 69, 70, 7,117,110,105, 50, 51, 48, 48, 7,117,110,105, 50, 51, 48, 49, 5,104,111,117,115,101, 7, -117,110,105, 50, 51, 48, 51, 7,117,110,105, 50, 51, 48, 52, 7,117,110,105, 50, 51, 48, 53, 7,117,110,105, 50, 51, 48, 54, 7, -117,110,105, 50, 51, 48, 56, 7,117,110,105, 50, 51, 48, 57, 7,117,110,105, 50, 51, 48, 65, 7,117,110,105, 50, 51, 48, 66, 7, -117,110,105, 50, 51, 48, 67, 7,117,110,105, 50, 51, 48, 68, 7,117,110,105, 50, 51, 48, 69, 7,117,110,105, 50, 51, 48, 70, 13, -114,101,118,108,111,103,105, 99, 97,108,110,111,116, 7,117,110,105, 50, 51, 49, 49, 7,117,110,105, 50, 51, 49, 50, 7,117,110, -105, 50, 51, 49, 51, 7,117,110,105, 50, 51, 49, 52, 7,117,110,105, 50, 51, 49, 53, 7,117,110,105, 50, 51, 49, 56, 7,117,110, -105, 50, 51, 49, 57, 7,117,110,105, 50, 51, 49, 67, 7,117,110,105, 50, 51, 49, 68, 7,117,110,105, 50, 51, 49, 69, 7,117,110, -105, 50, 51, 49, 70, 10,105,110,116,101,103,114, 97,108,116,112, 10,105,110,116,101,103,114, 97,108, 98,116, 7,117,110,105, 50, - 51, 50, 53, 7,117,110,105, 50, 51, 50, 54, 7,117,110,105, 50, 51, 50, 55, 7,117,110,105, 50, 51, 50, 56, 7,117,110,105, 50, - 51, 50, 66, 7,117,110,105, 50, 51, 51, 53, 7,117,110,105, 50, 51, 51, 55, 7,117,110,105, 50, 51, 51, 56, 7,117,110,105, 50, - 51, 51, 57, 7,117,110,105, 50, 51, 51, 65, 7,117,110,105, 50, 51, 51, 66, 7,117,110,105, 50, 51, 51, 67, 7,117,110,105, 50, - 51, 51, 68, 7,117,110,105, 50, 51, 51, 69, 7,117,110,105, 50, 51, 52, 49, 7,117,110,105, 50, 51, 52, 50, 7,117,110,105, 50, - 51, 52, 51, 7,117,110,105, 50, 51, 52, 52, 7,117,110,105, 50, 51, 52, 55, 7,117,110,105, 50, 51, 52, 56, 7,117,110,105, 50, - 51, 52, 57, 7,117,110,105, 50, 51, 52, 66, 7,117,110,105, 50, 51, 52, 67, 7,117,110,105, 50, 51, 52, 68, 7,117,110,105, 50, - 51, 53, 48, 7,117,110,105, 50, 51, 53, 50, 7,117,110,105, 50, 51, 53, 51, 7,117,110,105, 50, 51, 53, 52, 7,117,110,105, 50, - 51, 53, 55, 7,117,110,105, 50, 51, 53, 56, 7,117,110,105, 50, 51, 53, 57, 7,117,110,105, 50, 51, 53, 65, 7,117,110,105, 50, - 51, 53, 66, 7,117,110,105, 50, 51, 53, 67, 7,117,110,105, 50, 51, 53, 69, 7,117,110,105, 50, 51, 53, 70, 7,117,110,105, 50, - 51, 54, 48, 7,117,110,105, 50, 51, 54, 51, 7,117,110,105, 50, 51, 54, 52, 7,117,110,105, 50, 51, 54, 53, 7,117,110,105, 50, - 51, 54, 56, 7,117,110,105, 50, 51, 54, 57, 7,117,110,105, 50, 51, 54, 66, 7,117,110,105, 50, 51, 54, 67, 7,117,110,105, 50, - 51, 54, 68, 7,117,110,105, 50, 51, 54, 69, 7,117,110,105, 50, 51, 54, 70, 7,117,110,105, 50, 51, 55, 48, 7,117,110,105, 50, - 51, 55, 51, 7,117,110,105, 50, 51, 55, 52, 7,117,110,105, 50, 51, 55, 53, 7,117,110,105, 50, 51, 55, 54, 7,117,110,105, 50, - 51, 55, 55, 7,117,110,105, 50, 51, 55, 56, 7,117,110,105, 50, 51, 55, 57, 7,117,110,105, 50, 51, 55, 65, 7,117,110,105, 50, - 51, 55, 68, 7,117,110,105, 50, 51, 56, 48, 7,117,110,105, 50, 51, 56, 49, 7,117,110,105, 50, 51, 56, 50, 7,117,110,105, 50, - 51, 56, 51, 7,117,110,105, 50, 51, 56, 56, 7,117,110,105, 50, 51, 56, 57, 7,117,110,105, 50, 51, 56, 65, 7,117,110,105, 50, - 51, 56, 66, 7,117,110,105, 50, 51, 57, 53, 7,117,110,105, 50, 51, 57, 66, 7,117,110,105, 50, 51, 57, 67, 7,117,110,105, 50, - 51, 57, 68, 7,117,110,105, 50, 51, 57, 69, 7,117,110,105, 50, 51, 57, 70, 7,117,110,105, 50, 51, 65, 48, 7,117,110,105, 50, - 51, 65, 49, 7,117,110,105, 50, 51, 65, 50, 7,117,110,105, 50, 51, 65, 51, 7,117,110,105, 50, 51, 65, 52, 7,117,110,105, 50, - 51, 65, 53, 7,117,110,105, 50, 51, 65, 54, 7,117,110,105, 50, 51, 65, 55, 7,117,110,105, 50, 51, 65, 56, 7,117,110,105, 50, - 51, 65, 57, 7,117,110,105, 50, 51, 65, 65, 7,117,110,105, 50, 51, 65, 66, 7,117,110,105, 50, 51, 65, 67, 7,117,110,105, 50, - 51, 65, 68, 7,117,110,105, 50, 51, 65, 69, 7,117,110,105, 50, 51, 67, 69, 7,117,110,105, 50, 51, 67, 70, 7,117,110,105, 50, - 52, 50, 51, 8, 83, 70, 49, 48, 48, 48, 48, 48, 7,117,110,105, 50, 53, 48, 49, 8, 83, 70, 49, 49, 48, 48, 48, 48, 7,117,110, -105, 50, 53, 48, 51, 7,117,110,105, 50, 53, 48, 52, 7,117,110,105, 50, 53, 48, 53, 7,117,110,105, 50, 53, 48, 54, 7,117,110, -105, 50, 53, 48, 55, 7,117,110,105, 50, 53, 48, 56, 7,117,110,105, 50, 53, 48, 57, 7,117,110,105, 50, 53, 48, 65, 7,117,110, -105, 50, 53, 48, 66, 8, 83, 70, 48, 49, 48, 48, 48, 48, 7,117,110,105, 50, 53, 48, 68, 7,117,110,105, 50, 53, 48, 69, 7,117, -110,105, 50, 53, 48, 70, 8, 83, 70, 48, 51, 48, 48, 48, 48, 7,117,110,105, 50, 53, 49, 49, 7,117,110,105, 50, 53, 49, 50, 7, -117,110,105, 50, 53, 49, 51, 8, 83, 70, 48, 50, 48, 48, 48, 48, 7,117,110,105, 50, 53, 49, 53, 7,117,110,105, 50, 53, 49, 54, - 7,117,110,105, 50, 53, 49, 55, 8, 83, 70, 48, 52, 48, 48, 48, 48, 7,117,110,105, 50, 53, 49, 57, 7,117,110,105, 50, 53, 49, - 65, 7,117,110,105, 50, 53, 49, 66, 8, 83, 70, 48, 56, 48, 48, 48, 48, 7,117,110,105, 50, 53, 49, 68, 7,117,110,105, 50, 53, - 49, 69, 7,117,110,105, 50, 53, 49, 70, 7,117,110,105, 50, 53, 50, 48, 7,117,110,105, 50, 53, 50, 49, 7,117,110,105, 50, 53, - 50, 50, 7,117,110,105, 50, 53, 50, 51, 8, 83, 70, 48, 57, 48, 48, 48, 48, 7,117,110,105, 50, 53, 50, 53, 7,117,110,105, 50, - 53, 50, 54, 7,117,110,105, 50, 53, 50, 55, 7,117,110,105, 50, 53, 50, 56, 7,117,110,105, 50, 53, 50, 57, 7,117,110,105, 50, - 53, 50, 65, 7,117,110,105, 50, 53, 50, 66, 8, 83, 70, 48, 54, 48, 48, 48, 48, 7,117,110,105, 50, 53, 50, 68, 7,117,110,105, - 50, 53, 50, 69, 7,117,110,105, 50, 53, 50, 70, 7,117,110,105, 50, 53, 51, 48, 7,117,110,105, 50, 53, 51, 49, 7,117,110,105, - 50, 53, 51, 50, 7,117,110,105, 50, 53, 51, 51, 8, 83, 70, 48, 55, 48, 48, 48, 48, 7,117,110,105, 50, 53, 51, 53, 7,117,110, -105, 50, 53, 51, 54, 7,117,110,105, 50, 53, 51, 55, 7,117,110,105, 50, 53, 51, 56, 7,117,110,105, 50, 53, 51, 57, 7,117,110, -105, 50, 53, 51, 65, 7,117,110,105, 50, 53, 51, 66, 8, 83, 70, 48, 53, 48, 48, 48, 48, 7,117,110,105, 50, 53, 51, 68, 7,117, -110,105, 50, 53, 51, 69, 7,117,110,105, 50, 53, 51, 70, 7,117,110,105, 50, 53, 52, 48, 7,117,110,105, 50, 53, 52, 49, 7,117, -110,105, 50, 53, 52, 50, 7,117,110,105, 50, 53, 52, 51, 7,117,110,105, 50, 53, 52, 52, 7,117,110,105, 50, 53, 52, 53, 7,117, -110,105, 50, 53, 52, 54, 7,117,110,105, 50, 53, 52, 55, 7,117,110,105, 50, 53, 52, 56, 7,117,110,105, 50, 53, 52, 57, 7,117, -110,105, 50, 53, 52, 65, 7,117,110,105, 50, 53, 52, 66, 7,117,110,105, 50, 53, 52, 67, 7,117,110,105, 50, 53, 52, 68, 7,117, -110,105, 50, 53, 52, 69, 7,117,110,105, 50, 53, 52, 70, 8, 83, 70, 52, 51, 48, 48, 48, 48, 8, 83, 70, 50, 52, 48, 48, 48, 48, - 8, 83, 70, 53, 49, 48, 48, 48, 48, 8, 83, 70, 53, 50, 48, 48, 48, 48, 8, 83, 70, 51, 57, 48, 48, 48, 48, 8, 83, 70, 50, 50, - 48, 48, 48, 48, 8, 83, 70, 50, 49, 48, 48, 48, 48, 8, 83, 70, 50, 53, 48, 48, 48, 48, 8, 83, 70, 53, 48, 48, 48, 48, 48, 8, - 83, 70, 52, 57, 48, 48, 48, 48, 8, 83, 70, 51, 56, 48, 48, 48, 48, 8, 83, 70, 50, 56, 48, 48, 48, 48, 8, 83, 70, 50, 55, 48, - 48, 48, 48, 8, 83, 70, 50, 54, 48, 48, 48, 48, 8, 83, 70, 51, 54, 48, 48, 48, 48, 8, 83, 70, 51, 55, 48, 48, 48, 48, 8, 83, - 70, 52, 50, 48, 48, 48, 48, 8, 83, 70, 49, 57, 48, 48, 48, 48, 8, 83, 70, 50, 48, 48, 48, 48, 48, 8, 83, 70, 50, 51, 48, 48, - 48, 48, 8, 83, 70, 52, 55, 48, 48, 48, 48, 8, 83, 70, 52, 56, 48, 48, 48, 48, 8, 83, 70, 52, 49, 48, 48, 48, 48, 8, 83, 70, - 52, 53, 48, 48, 48, 48, 8, 83, 70, 52, 54, 48, 48, 48, 48, 8, 83, 70, 52, 48, 48, 48, 48, 48, 8, 83, 70, 53, 52, 48, 48, 48, - 48, 8, 83, 70, 53, 51, 48, 48, 48, 48, 8, 83, 70, 52, 52, 48, 48, 48, 48, 7,117,110,105, 50, 53, 54, 68, 7,117,110,105, 50, - 53, 54, 69, 7,117,110,105, 50, 53, 54, 70, 7,117,110,105, 50, 53, 55, 48, 7,117,110,105, 50, 53, 55, 49, 7,117,110,105, 50, - 53, 55, 50, 7,117,110,105, 50, 53, 55, 51, 7,117,110,105, 50, 53, 55, 52, 7,117,110,105, 50, 53, 55, 53, 7,117,110,105, 50, - 53, 55, 54, 7,117,110,105, 50, 53, 55, 55, 7,117,110,105, 50, 53, 55, 56, 7,117,110,105, 50, 53, 55, 57, 7,117,110,105, 50, - 53, 55, 65, 7,117,110,105, 50, 53, 55, 66, 7,117,110,105, 50, 53, 55, 67, 7,117,110,105, 50, 53, 55, 68, 7,117,110,105, 50, - 53, 55, 69, 7,117,110,105, 50, 53, 55, 70, 7,117,112, 98,108,111, 99,107, 7,117,110,105, 50, 53, 56, 49, 7,117,110,105, 50, - 53, 56, 50, 7,117,110,105, 50, 53, 56, 51, 7,100,110, 98,108,111, 99,107, 7,117,110,105, 50, 53, 56, 53, 7,117,110,105, 50, - 53, 56, 54, 7,117,110,105, 50, 53, 56, 55, 5, 98,108,111, 99,107, 7,117,110,105, 50, 53, 56, 57, 7,117,110,105, 50, 53, 56, - 65, 7,117,110,105, 50, 53, 56, 66, 7,108,102, 98,108,111, 99,107, 7,117,110,105, 50, 53, 56, 68, 7,117,110,105, 50, 53, 56, - 69, 7,117,110,105, 50, 53, 56, 70, 7,114,116, 98,108,111, 99,107, 7,108,116,115,104, 97,100,101, 5,115,104, 97,100,101, 7, -100,107,115,104, 97,100,101, 7,117,110,105, 50, 53, 57, 52, 7,117,110,105, 50, 53, 57, 53, 7,117,110,105, 50, 53, 57, 54, 7, -117,110,105, 50, 53, 57, 55, 7,117,110,105, 50, 53, 57, 56, 7,117,110,105, 50, 53, 57, 57, 7,117,110,105, 50, 53, 57, 65, 7, -117,110,105, 50, 53, 57, 66, 7,117,110,105, 50, 53, 57, 67, 7,117,110,105, 50, 53, 57, 68, 7,117,110,105, 50, 53, 57, 69, 7, -117,110,105, 50, 53, 57, 70, 9,102,105,108,108,101,100, 98,111,120, 6, 72, 50, 50, 48, 55, 51, 7,117,110,105, 50, 53, 65, 50, - 7,117,110,105, 50, 53, 65, 51, 7,117,110,105, 50, 53, 65, 52, 7,117,110,105, 50, 53, 65, 53, 7,117,110,105, 50, 53, 65, 54, - 7,117,110,105, 50, 53, 65, 55, 7,117,110,105, 50, 53, 65, 56, 7,117,110,105, 50, 53, 65, 57, 6, 72, 49, 56, 53, 52, 51, 6, - 72, 49, 56, 53, 53, 49, 10,102,105,108,108,101,100,114,101, 99,116, 7,117,110,105, 50, 53, 65, 68, 7,117,110,105, 50, 53, 65, - 69, 7,117,110,105, 50, 53, 65, 70, 7,117,110,105, 50, 53, 66, 48, 7,117,110,105, 50, 53, 66, 49, 7,116,114,105, 97,103,117, -112, 7,117,110,105, 50, 53, 66, 51, 7,117,110,105, 50, 53, 66, 52, 7,117,110,105, 50, 53, 66, 53, 7,117,110,105, 50, 53, 66, - 54, 7,117,110,105, 50, 53, 66, 55, 7,117,110,105, 50, 53, 66, 56, 7,117,110,105, 50, 53, 66, 57, 7,116,114,105, 97,103,114, -116, 7,117,110,105, 50, 53, 66, 66, 7,116,114,105, 97,103,100,110, 7,117,110,105, 50, 53, 66, 68, 7,117,110,105, 50, 53, 66, - 69, 7,117,110,105, 50, 53, 66, 70, 7,117,110,105, 50, 53, 67, 48, 7,117,110,105, 50, 53, 67, 49, 7,117,110,105, 50, 53, 67, - 50, 7,117,110,105, 50, 53, 67, 51, 7,116,114,105, 97,103,108,102, 7,117,110,105, 50, 53, 67, 53, 7,117,110,105, 50, 53, 67, - 54, 7,117,110,105, 50, 53, 67, 55, 7,117,110,105, 50, 53, 67, 56, 7,117,110,105, 50, 53, 67, 57, 6, 99,105,114, 99,108,101, - 7,117,110,105, 50, 53, 67, 67, 7,117,110,105, 50, 53, 67, 68, 7,117,110,105, 50, 53, 67, 69, 6, 72, 49, 56, 53, 51, 51, 7, -117,110,105, 50, 53, 68, 48, 7,117,110,105, 50, 53, 68, 49, 7,117,110,105, 50, 53, 68, 50, 7,117,110,105, 50, 53, 68, 51, 7, -117,110,105, 50, 53, 68, 52, 7,117,110,105, 50, 53, 68, 53, 7,117,110,105, 50, 53, 68, 54, 7,117,110,105, 50, 53, 68, 55, 9, -105,110,118, 98,117,108,108,101,116, 9,105,110,118, 99,105,114, 99,108,101, 7,117,110,105, 50, 53, 68, 65, 7,117,110,105, 50, - 53, 68, 66, 7,117,110,105, 50, 53, 68, 67, 7,117,110,105, 50, 53, 68, 68, 7,117,110,105, 50, 53, 68, 69, 7,117,110,105, 50, - 53, 68, 70, 7,117,110,105, 50, 53, 69, 48, 7,117,110,105, 50, 53, 69, 49, 7,117,110,105, 50, 53, 69, 50, 7,117,110,105, 50, - 53, 69, 51, 7,117,110,105, 50, 53, 69, 52, 7,117,110,105, 50, 53, 69, 53, 10,111,112,101,110, 98,117,108,108,101,116, 7,117, -110,105, 50, 53, 69, 55, 7,117,110,105, 50, 53, 69, 56, 7,117,110,105, 50, 53, 69, 57, 7,117,110,105, 50, 53, 69, 65, 7,117, -110,105, 50, 53, 69, 66, 7,117,110,105, 50, 53, 69, 67, 7,117,110,105, 50, 53, 69, 68, 7,117,110,105, 50, 53, 69, 69, 7,117, -110,105, 50, 53, 69, 70, 7,117,110,105, 50, 53, 70, 48, 7,117,110,105, 50, 53, 70, 49, 7,117,110,105, 50, 53, 70, 50, 7,117, -110,105, 50, 53, 70, 51, 7,117,110,105, 50, 53, 70, 52, 7,117,110,105, 50, 53, 70, 53, 7,117,110,105, 50, 53, 70, 54, 7,117, -110,105, 50, 53, 70, 55, 7,117,110,105, 50, 53, 70, 56, 7,117,110,105, 50, 53, 70, 57, 7,117,110,105, 50, 53, 70, 65, 7,117, -110,105, 50, 53, 70, 66, 7,117,110,105, 50, 53, 70, 67, 7,117,110,105, 50, 53, 70, 68, 7,117,110,105, 50, 53, 70, 69, 7,117, -110,105, 50, 53, 70, 70, 7,117,110,105, 50, 54, 48, 48, 7,117,110,105, 50, 54, 48, 49, 7,117,110,105, 50, 54, 48, 50, 7,117, -110,105, 50, 54, 48, 51, 7,117,110,105, 50, 54, 48, 52, 7,117,110,105, 50, 54, 48, 53, 7,117,110,105, 50, 54, 48, 54, 7,117, -110,105, 50, 54, 48, 55, 7,117,110,105, 50, 54, 48, 56, 7,117,110,105, 50, 54, 48, 57, 7,117,110,105, 50, 54, 48, 65, 7,117, -110,105, 50, 54, 48, 66, 7,117,110,105, 50, 54, 48, 67, 7,117,110,105, 50, 54, 48, 68, 7,117,110,105, 50, 54, 48, 69, 7,117, -110,105, 50, 54, 48, 70, 7,117,110,105, 50, 54, 49, 48, 7,117,110,105, 50, 54, 49, 49, 7,117,110,105, 50, 54, 49, 50, 7,117, -110,105, 50, 54, 49, 51, 7,117,110,105, 50, 54, 49, 52, 7,117,110,105, 50, 54, 49, 53, 7,117,110,105, 50, 54, 49, 54, 7,117, -110,105, 50, 54, 49, 55, 7,117,110,105, 50, 54, 49, 56, 7,117,110,105, 50, 54, 49, 57, 7,117,110,105, 50, 54, 49, 65, 7,117, -110,105, 50, 54, 49, 66, 7,117,110,105, 50, 54, 49, 67, 7,117,110,105, 50, 54, 49, 68, 7,117,110,105, 50, 54, 49, 69, 7,117, -110,105, 50, 54, 49, 70, 7,117,110,105, 50, 54, 50, 48, 7,117,110,105, 50, 54, 50, 49, 7,117,110,105, 50, 54, 50, 50, 7,117, -110,105, 50, 54, 50, 51, 7,117,110,105, 50, 54, 50, 52, 7,117,110,105, 50, 54, 50, 53, 7,117,110,105, 50, 54, 50, 54, 7,117, -110,105, 50, 54, 50, 55, 7,117,110,105, 50, 54, 50, 56, 7,117,110,105, 50, 54, 50, 57, 7,117,110,105, 50, 54, 50, 65, 7,117, -110,105, 50, 54, 50, 66, 7,117,110,105, 50, 54, 50, 67, 7,117,110,105, 50, 54, 50, 68, 7,117,110,105, 50, 54, 50, 69, 7,117, -110,105, 50, 54, 50, 70, 7,117,110,105, 50, 54, 51, 56, 7,117,110,105, 50, 54, 51, 57, 9,115,109,105,108,101,102, 97, 99,101, - 12,105,110,118,115,109,105,108,101,102, 97, 99,101, 3,115,117,110, 7,117,110,105, 50, 54, 51, 68, 7,117,110,105, 50, 54, 51, - 69, 7,117,110,105, 50, 54, 51, 70, 6,102,101,109, 97,108,101, 7,117,110,105, 50, 54, 52, 49, 4,109, 97,108,101, 7,117,110, -105, 50, 54, 52, 51, 7,117,110,105, 50, 54, 52, 52, 7,117,110,105, 50, 54, 52, 53, 7,117,110,105, 50, 54, 52, 54, 7,117,110, -105, 50, 54, 52, 55, 7,117,110,105, 50, 54, 52, 56, 7,117,110,105, 50, 54, 52, 57, 7,117,110,105, 50, 54, 52, 65, 7,117,110, -105, 50, 54, 52, 66, 7,117,110,105, 50, 54, 52, 67, 7,117,110,105, 50, 54, 52, 68, 7,117,110,105, 50, 54, 52, 69, 7,117,110, -105, 50, 54, 52, 70, 7,117,110,105, 50, 54, 53, 48, 7,117,110,105, 50, 54, 53, 49, 7,117,110,105, 50, 54, 53, 50, 7,117,110, -105, 50, 54, 53, 51, 7,117,110,105, 50, 54, 53, 52, 7,117,110,105, 50, 54, 53, 53, 7,117,110,105, 50, 54, 53, 54, 7,117,110, -105, 50, 54, 53, 55, 7,117,110,105, 50, 54, 53, 56, 7,117,110,105, 50, 54, 53, 57, 7,117,110,105, 50, 54, 53, 65, 7,117,110, -105, 50, 54, 53, 66, 7,117,110,105, 50, 54, 53, 67, 7,117,110,105, 50, 54, 53, 68, 7,117,110,105, 50, 54, 53, 69, 7,117,110, -105, 50, 54, 53, 70, 5,115,112, 97,100,101, 7,117,110,105, 50, 54, 54, 49, 7,117,110,105, 50, 54, 54, 50, 4, 99,108,117, 98, - 7,117,110,105, 50, 54, 54, 52, 5,104,101, 97,114,116, 7,100,105, 97,109,111,110,100, 7,117,110,105, 50, 54, 54, 55, 7,117, -110,105, 50, 54, 54, 56, 7,117,110,105, 50, 54, 54, 57, 11,109,117,115,105, 99, 97,108,110,111,116,101, 14,109,117,115,105, 99, - 97,108,110,111,116,101,100, 98,108, 7,117,110,105, 50, 54, 54, 67, 7,117,110,105, 50, 54, 54, 68, 7,117,110,105, 50, 54, 54, - 69, 7,117,110,105, 50, 54, 54, 70, 7,117,110,105, 50, 54, 55, 48, 7,117,110,105, 50, 54, 55, 49, 7,117,110,105, 50, 54, 55, - 50, 7,117,110,105, 50, 54, 55, 51, 7,117,110,105, 50, 54, 55, 52, 7,117,110,105, 50, 54, 55, 53, 7,117,110,105, 50, 54, 55, - 54, 7,117,110,105, 50, 54, 55, 55, 7,117,110,105, 50, 54, 55, 56, 7,117,110,105, 50, 54, 55, 57, 7,117,110,105, 50, 54, 55, - 65, 7,117,110,105, 50, 54, 55, 66, 7,117,110,105, 50, 54, 55, 67, 7,117,110,105, 50, 54, 55, 68, 7,117,110,105, 50, 54, 55, - 69, 7,117,110,105, 50, 54, 55, 70, 7,117,110,105, 50, 54, 56, 48, 7,117,110,105, 50, 54, 56, 49, 7,117,110,105, 50, 54, 56, - 50, 7,117,110,105, 50, 54, 56, 51, 7,117,110,105, 50, 54, 56, 52, 7,117,110,105, 50, 54, 56, 53, 7,117,110,105, 50, 54, 56, - 54, 7,117,110,105, 50, 54, 56, 55, 7,117,110,105, 50, 54, 56, 56, 7,117,110,105, 50, 54, 56, 57, 7,117,110,105, 50, 54, 56, - 65, 7,117,110,105, 50, 54, 56, 66, 7,117,110,105, 50, 54, 57, 48, 7,117,110,105, 50, 54, 57, 49, 7,117,110,105, 50, 54, 57, - 50, 7,117,110,105, 50, 54, 57, 51, 7,117,110,105, 50, 54, 57, 52, 7,117,110,105, 50, 54, 57, 53, 7,117,110,105, 50, 54, 57, - 54, 7,117,110,105, 50, 54, 57, 55, 7,117,110,105, 50, 54, 57, 56, 7,117,110,105, 50, 54, 57, 57, 7,117,110,105, 50, 54, 57, - 65, 7,117,110,105, 50, 54, 57, 66, 7,117,110,105, 50, 54, 57, 67, 7,117,110,105, 50, 54, 65, 48, 7,117,110,105, 50, 54, 65, - 49, 7,117,110,105, 50, 54, 66, 48, 7,117,110,105, 50, 54, 66, 49, 7,117,110,105, 50, 55, 48, 49, 7,117,110,105, 50, 55, 48, - 50, 7,117,110,105, 50, 55, 48, 51, 7,117,110,105, 50, 55, 48, 52, 7,117,110,105, 50, 55, 48, 54, 7,117,110,105, 50, 55, 48, - 55, 7,117,110,105, 50, 55, 48, 56, 7,117,110,105, 50, 55, 48, 57, 7,117,110,105, 50, 55, 48, 67, 7,117,110,105, 50, 55, 48, - 68, 7,117,110,105, 50, 55, 48, 69, 7,117,110,105, 50, 55, 48, 70, 7,117,110,105, 50, 55, 49, 48, 7,117,110,105, 50, 55, 49, - 49, 7,117,110,105, 50, 55, 49, 50, 7,117,110,105, 50, 55, 49, 51, 7,117,110,105, 50, 55, 49, 52, 7,117,110,105, 50, 55, 49, - 53, 7,117,110,105, 50, 55, 49, 54, 7,117,110,105, 50, 55, 49, 55, 7,117,110,105, 50, 55, 49, 56, 7,117,110,105, 50, 55, 49, - 57, 7,117,110,105, 50, 55, 49, 65, 7,117,110,105, 50, 55, 49, 66, 7,117,110,105, 50, 55, 49, 67, 7,117,110,105, 50, 55, 49, - 68, 7,117,110,105, 50, 55, 49, 69, 7,117,110,105, 50, 55, 49, 70, 7,117,110,105, 50, 55, 50, 48, 7,117,110,105, 50, 55, 50, - 49, 7,117,110,105, 50, 55, 50, 50, 7,117,110,105, 50, 55, 50, 51, 7,117,110,105, 50, 55, 50, 52, 7,117,110,105, 50, 55, 50, - 53, 7,117,110,105, 50, 55, 50, 54, 7,117,110,105, 50, 55, 50, 55, 7,117,110,105, 50, 55, 50, 57, 7,117,110,105, 50, 55, 50, - 65, 7,117,110,105, 50, 55, 50, 66, 7,117,110,105, 50, 55, 50, 67, 7,117,110,105, 50, 55, 50, 68, 7,117,110,105, 50, 55, 50, - 69, 7,117,110,105, 50, 55, 50, 70, 7,117,110,105, 50, 55, 51, 48, 7,117,110,105, 50, 55, 51, 49, 7,117,110,105, 50, 55, 51, - 50, 7,117,110,105, 50, 55, 51, 51, 7,117,110,105, 50, 55, 51, 52, 7,117,110,105, 50, 55, 51, 53, 7,117,110,105, 50, 55, 51, - 54, 7,117,110,105, 50, 55, 51, 55, 7,117,110,105, 50, 55, 51, 56, 7,117,110,105, 50, 55, 51, 57, 7,117,110,105, 50, 55, 51, - 65, 7,117,110,105, 50, 55, 51, 66, 7,117,110,105, 50, 55, 51, 67, 7,117,110,105, 50, 55, 51, 68, 7,117,110,105, 50, 55, 51, - 69, 7,117,110,105, 50, 55, 51, 70, 7,117,110,105, 50, 55, 52, 48, 7,117,110,105, 50, 55, 52, 49, 7,117,110,105, 50, 55, 52, - 50, 7,117,110,105, 50, 55, 52, 51, 7,117,110,105, 50, 55, 52, 52, 7,117,110,105, 50, 55, 52, 53, 7,117,110,105, 50, 55, 52, - 54, 7,117,110,105, 50, 55, 52, 55, 7,117,110,105, 50, 55, 52, 56, 7,117,110,105, 50, 55, 52, 57, 7,117,110,105, 50, 55, 52, - 65, 7,117,110,105, 50, 55, 52, 66, 7,117,110,105, 50, 55, 52, 68, 7,117,110,105, 50, 55, 52, 70, 7,117,110,105, 50, 55, 53, - 48, 7,117,110,105, 50, 55, 53, 49, 7,117,110,105, 50, 55, 53, 50, 7,117,110,105, 50, 55, 53, 54, 7,117,110,105, 50, 55, 53, - 56, 7,117,110,105, 50, 55, 53, 57, 7,117,110,105, 50, 55, 53, 65, 7,117,110,105, 50, 55, 53, 66, 7,117,110,105, 50, 55, 53, - 67, 7,117,110,105, 50, 55, 53, 68, 7,117,110,105, 50, 55, 53, 69, 7,117,110,105, 50, 55, 54, 49, 7,117,110,105, 50, 55, 54, - 50, 7,117,110,105, 50, 55, 54, 51, 7,117,110,105, 50, 55, 54, 52, 7,117,110,105, 50, 55, 54, 53, 7,117,110,105, 50, 55, 54, - 54, 7,117,110,105, 50, 55, 54, 55, 7,117,110,105, 50, 55, 54, 56, 7,117,110,105, 50, 55, 54, 57, 7,117,110,105, 50, 55, 54, - 65, 7,117,110,105, 50, 55, 54, 66, 7,117,110,105, 50, 55, 54, 67, 7,117,110,105, 50, 55, 54, 68, 7,117,110,105, 50, 55, 54, - 69, 7,117,110,105, 50, 55, 54, 70, 7,117,110,105, 50, 55, 55, 48, 7,117,110,105, 50, 55, 55, 49, 7,117,110,105, 50, 55, 55, - 50, 7,117,110,105, 50, 55, 55, 51, 7,117,110,105, 50, 55, 55, 52, 7,117,110,105, 50, 55, 55, 53, 7,117,110,105, 50, 55, 57, - 52, 7,117,110,105, 50, 55, 57, 56, 7,117,110,105, 50, 55, 57, 57, 7,117,110,105, 50, 55, 57, 65, 7,117,110,105, 50, 55, 57, - 66, 7,117,110,105, 50, 55, 57, 67, 7,117,110,105, 50, 55, 57, 68, 7,117,110,105, 50, 55, 57, 69, 7,117,110,105, 50, 55, 57, - 70, 7,117,110,105, 50, 55, 65, 48, 7,117,110,105, 50, 55, 65, 49, 7,117,110,105, 50, 55, 65, 50, 7,117,110,105, 50, 55, 65, - 51, 7,117,110,105, 50, 55, 65, 52, 7,117,110,105, 50, 55, 65, 53, 7,117,110,105, 50, 55, 65, 54, 7,117,110,105, 50, 55, 65, - 55, 7,117,110,105, 50, 55, 65, 56, 7,117,110,105, 50, 55, 65, 57, 7,117,110,105, 50, 55, 65, 65, 7,117,110,105, 50, 55, 65, - 66, 7,117,110,105, 50, 55, 65, 67, 7,117,110,105, 50, 55, 65, 68, 7,117,110,105, 50, 55, 65, 69, 7,117,110,105, 50, 55, 65, - 70, 7,117,110,105, 50, 55, 66, 49, 7,117,110,105, 50, 55, 66, 50, 7,117,110,105, 50, 55, 66, 51, 7,117,110,105, 50, 55, 66, - 52, 7,117,110,105, 50, 55, 66, 53, 7,117,110,105, 50, 55, 66, 54, 7,117,110,105, 50, 55, 66, 55, 7,117,110,105, 50, 55, 66, - 56, 7,117,110,105, 50, 55, 66, 57, 7,117,110,105, 50, 55, 66, 65, 7,117,110,105, 50, 55, 66, 66, 7,117,110,105, 50, 55, 66, - 67, 7,117,110,105, 50, 55, 66, 68, 7,117,110,105, 50, 55, 66, 69, 7,117,110,105, 50, 55, 69, 48, 7,117,110,105, 50, 55, 69, - 56, 7,117,110,105, 50, 55, 69, 57, 7,117,110,105, 50, 57, 69, 66, 7,117,110,105, 50, 57, 70, 65, 7,117,110,105, 50, 57, 70, - 66, 7,117,110,105, 50, 65, 50, 70, 7,117,110,105, 50, 66, 49, 50, 7,117,110,105, 50, 66, 49, 51, 7,117,110,105, 50, 66, 49, - 52, 7,117,110,105, 50, 66, 49, 53, 7,117,110,105, 50, 66, 49, 54, 7,117,110,105, 50, 66, 49, 55, 7,117,110,105, 50, 66, 49, - 56, 7,117,110,105, 50, 66, 49, 57, 7,117,110,105, 50, 66, 49, 65, 7,117,110,105, 50, 67, 55, 53, 7,117,110,105, 50, 67, 55, - 54, 7,117,110,105, 50, 67, 55, 55, 7,117,110,105, 50, 69, 49, 56, 7,117,110,105, 50, 69, 50, 69, 7,117,110,105, 70, 54, 67, - 53, 7,117,110,105, 70, 66, 53, 50, 7,117,110,105, 70, 66, 53, 51, 7,117,110,105, 70, 66, 53, 52, 7,117,110,105, 70, 66, 53, - 53, 7,117,110,105, 70, 66, 53, 54, 7,117,110,105, 70, 66, 53, 55, 7,117,110,105, 70, 66, 53, 56, 7,117,110,105, 70, 66, 53, - 57, 7,117,110,105, 70, 66, 53, 65, 7,117,110,105, 70, 66, 53, 66, 7,117,110,105, 70, 66, 53, 67, 7,117,110,105, 70, 66, 53, - 68, 7,117,110,105, 70, 66, 53, 69, 7,117,110,105, 70, 66, 53, 70, 7,117,110,105, 70, 66, 54, 48, 7,117,110,105, 70, 66, 54, - 49, 7,117,110,105, 70, 66, 54, 50, 7,117,110,105, 70, 66, 54, 51, 7,117,110,105, 70, 66, 54, 52, 7,117,110,105, 70, 66, 54, - 53, 7,117,110,105, 70, 66, 54, 54, 7,117,110,105, 70, 66, 54, 55, 7,117,110,105, 70, 66, 54, 56, 7,117,110,105, 70, 66, 54, - 57, 7,117,110,105, 70, 66, 54, 65, 7,117,110,105, 70, 66, 54, 66, 7,117,110,105, 70, 66, 54, 67, 7,117,110,105, 70, 66, 54, - 68, 7,117,110,105, 70, 66, 54, 69, 7,117,110,105, 70, 66, 54, 70, 7,117,110,105, 70, 66, 55, 48, 7,117,110,105, 70, 66, 55, - 49, 7,117,110,105, 70, 66, 55, 50, 7,117,110,105, 70, 66, 55, 51, 7,117,110,105, 70, 66, 55, 52, 7,117,110,105, 70, 66, 55, - 53, 7,117,110,105, 70, 66, 55, 54, 7,117,110,105, 70, 66, 55, 55, 7,117,110,105, 70, 66, 55, 56, 7,117,110,105, 70, 66, 55, - 57, 7,117,110,105, 70, 66, 55, 65, 7,117,110,105, 70, 66, 55, 66, 7,117,110,105, 70, 66, 55, 67, 7,117,110,105, 70, 66, 55, - 68, 7,117,110,105, 70, 66, 55, 69, 7,117,110,105, 70, 66, 55, 70, 7,117,110,105, 70, 66, 56, 48, 7,117,110,105, 70, 66, 56, - 49, 7,117,110,105, 70, 66, 56, 65, 7,117,110,105, 70, 66, 56, 66, 7,117,110,105, 70, 66, 56, 67, 7,117,110,105, 70, 66, 56, - 68, 7,117,110,105, 70, 66, 56, 69, 7,117,110,105, 70, 66, 56, 70, 7,117,110,105, 70, 66, 57, 48, 7,117,110,105, 70, 66, 57, - 49, 7,117,110,105, 70, 66, 57, 50, 7,117,110,105, 70, 66, 57, 51, 7,117,110,105, 70, 66, 57, 52, 7,117,110,105, 70, 66, 57, - 53, 7,117,110,105, 70, 66, 57, 69, 7,117,110,105, 70, 66, 57, 70, 7,117,110,105, 70, 66, 65, 65, 7,117,110,105, 70, 66, 65, - 66, 7,117,110,105, 70, 66, 65, 67, 7,117,110,105, 70, 66, 65, 68, 7,117,110,105, 70, 66, 69, 56, 7,117,110,105, 70, 66, 69, - 57, 7,117,110,105, 70, 66, 70, 67, 7,117,110,105, 70, 66, 70, 68, 7,117,110,105, 70, 66, 70, 69, 7,117,110,105, 70, 66, 70, - 70, 7,117,110,105, 70, 69, 55, 48, 7,117,110,105, 70, 69, 55, 49, 7,117,110,105, 70, 69, 55, 50, 7,117,110,105, 70, 69, 55, - 51, 7,117,110,105, 70, 69, 55, 52, 7,117,110,105, 70, 69, 55, 54, 7,117,110,105, 70, 69, 55, 55, 7,117,110,105, 70, 69, 55, - 56, 7,117,110,105, 70, 69, 55, 57, 7,117,110,105, 70, 69, 55, 65, 7,117,110,105, 70, 69, 55, 66, 7,117,110,105, 70, 69, 55, - 67, 7,117,110,105, 70, 69, 55, 68, 7,117,110,105, 70, 69, 55, 69, 7,117,110,105, 70, 69, 55, 70, 7,117,110,105, 70, 69, 56, - 48, 7,117,110,105, 70, 69, 56, 49, 7,117,110,105, 70, 69, 56, 50, 7,117,110,105, 70, 69, 56, 51, 7,117,110,105, 70, 69, 56, - 52, 7,117,110,105, 70, 69, 56, 53, 7,117,110,105, 70, 69, 56, 54, 7,117,110,105, 70, 69, 56, 55, 7,117,110,105, 70, 69, 56, - 56, 7,117,110,105, 70, 69, 56, 57, 7,117,110,105, 70, 69, 56, 65, 7,117,110,105, 70, 69, 56, 66, 7,117,110,105, 70, 69, 56, - 67, 7,117,110,105, 70, 69, 56, 68, 7,117,110,105, 70, 69, 56, 69, 7,117,110,105, 70, 69, 56, 70, 7,117,110,105, 70, 69, 57, - 48, 7,117,110,105, 70, 69, 57, 49, 7,117,110,105, 70, 69, 57, 50, 7,117,110,105, 70, 69, 57, 51, 7,117,110,105, 70, 69, 57, - 52, 7,117,110,105, 70, 69, 57, 53, 7,117,110,105, 70, 69, 57, 54, 7,117,110,105, 70, 69, 57, 55, 7,117,110,105, 70, 69, 57, - 56, 7,117,110,105, 70, 69, 57, 57, 7,117,110,105, 70, 69, 57, 65, 7,117,110,105, 70, 69, 57, 66, 7,117,110,105, 70, 69, 57, - 67, 7,117,110,105, 70, 69, 57, 68, 7,117,110,105, 70, 69, 57, 69, 7,117,110,105, 70, 69, 57, 70, 7,117,110,105, 70, 69, 65, - 48, 7,117,110,105, 70, 69, 65, 49, 7,117,110,105, 70, 69, 65, 50, 7,117,110,105, 70, 69, 65, 51, 7,117,110,105, 70, 69, 65, - 52, 7,117,110,105, 70, 69, 65, 53, 7,117,110,105, 70, 69, 65, 54, 7,117,110,105, 70, 69, 65, 55, 7,117,110,105, 70, 69, 65, - 56, 7,117,110,105, 70, 69, 65, 57, 7,117,110,105, 70, 69, 65, 65, 7,117,110,105, 70, 69, 65, 66, 7,117,110,105, 70, 69, 65, - 67, 7,117,110,105, 70, 69, 65, 68, 7,117,110,105, 70, 69, 65, 69, 7,117,110,105, 70, 69, 65, 70, 7,117,110,105, 70, 69, 66, - 48, 7,117,110,105, 70, 69, 66, 49, 7,117,110,105, 70, 69, 66, 50, 7,117,110,105, 70, 69, 66, 51, 7,117,110,105, 70, 69, 66, - 52, 7,117,110,105, 70, 69, 66, 53, 7,117,110,105, 70, 69, 66, 54, 7,117,110,105, 70, 69, 66, 55, 7,117,110,105, 70, 69, 66, - 56, 7,117,110,105, 70, 69, 66, 57, 7,117,110,105, 70, 69, 66, 65, 7,117,110,105, 70, 69, 66, 66, 7,117,110,105, 70, 69, 66, - 67, 7,117,110,105, 70, 69, 66, 68, 7,117,110,105, 70, 69, 66, 69, 7,117,110,105, 70, 69, 66, 70, 7,117,110,105, 70, 69, 67, - 48, 7,117,110,105, 70, 69, 67, 49, 7,117,110,105, 70, 69, 67, 50, 7,117,110,105, 70, 69, 67, 51, 7,117,110,105, 70, 69, 67, - 52, 7,117,110,105, 70, 69, 67, 53, 7,117,110,105, 70, 69, 67, 54, 7,117,110,105, 70, 69, 67, 55, 7,117,110,105, 70, 69, 67, - 56, 7,117,110,105, 70, 69, 67, 57, 7,117,110,105, 70, 69, 67, 65, 7,117,110,105, 70, 69, 67, 66, 7,117,110,105, 70, 69, 67, - 67, 7,117,110,105, 70, 69, 67, 68, 7,117,110,105, 70, 69, 67, 69, 7,117,110,105, 70, 69, 67, 70, 7,117,110,105, 70, 69, 68, - 48, 7,117,110,105, 70, 69, 68, 49, 7,117,110,105, 70, 69, 68, 50, 7,117,110,105, 70, 69, 68, 51, 7,117,110,105, 70, 69, 68, - 52, 7,117,110,105, 70, 69, 68, 53, 7,117,110,105, 70, 69, 68, 54, 7,117,110,105, 70, 69, 68, 55, 7,117,110,105, 70, 69, 68, - 56, 7,117,110,105, 70, 69, 68, 57, 7,117,110,105, 70, 69, 68, 65, 7,117,110,105, 70, 69, 68, 66, 7,117,110,105, 70, 69, 68, - 67, 7,117,110,105, 70, 69, 68, 68, 7,117,110,105, 70, 69, 68, 69, 7,117,110,105, 70, 69, 68, 70, 7,117,110,105, 70, 69, 69, - 48, 7,117,110,105, 70, 69, 69, 49, 7,117,110,105, 70, 69, 69, 50, 7,117,110,105, 70, 69, 69, 51, 7,117,110,105, 70, 69, 69, - 52, 7,117,110,105, 70, 69, 69, 53, 7,117,110,105, 70, 69, 69, 54, 7,117,110,105, 70, 69, 69, 55, 7,117,110,105, 70, 69, 69, - 56, 7,117,110,105, 70, 69, 69, 57, 7,117,110,105, 70, 69, 69, 65, 7,117,110,105, 70, 69, 69, 66, 7,117,110,105, 70, 69, 69, - 67, 7,117,110,105, 70, 69, 69, 68, 7,117,110,105, 70, 69, 69, 69, 7,117,110,105, 70, 69, 69, 70, 7,117,110,105, 70, 69, 70, - 48, 7,117,110,105, 70, 69, 70, 49, 7,117,110,105, 70, 69, 70, 50, 7,117,110,105, 70, 69, 70, 51, 7,117,110,105, 70, 69, 70, - 52, 7,117,110,105, 70, 69, 70, 53, 7,117,110,105, 70, 69, 70, 54, 7,117,110,105, 70, 69, 70, 55, 7,117,110,105, 70, 69, 70, - 56, 7,117,110,105, 70, 69, 70, 57, 7,117,110,105, 70, 69, 70, 65, 7,117,110,105, 70, 69, 70, 66, 7,117,110,105, 70, 69, 70, - 67, 7,117,110,105, 70, 69, 70, 70, 7,117,110,105, 70, 70, 70, 57, 7,117,110,105, 70, 70, 70, 65, 7,117,110,105, 70, 70, 70, - 66, 7,117,110,105, 70, 70, 70, 67, 7,117,110,105, 70, 70, 70, 68, 6,117, 49, 68, 54, 55, 48, 6,117, 49, 68, 54, 55, 49, 6, -117, 49, 68, 54, 55, 50, 6,117, 49, 68, 54, 55, 51, 6,117, 49, 68, 54, 55, 52, 6,117, 49, 68, 54, 55, 53, 6,117, 49, 68, 54, - 55, 54, 6,117, 49, 68, 54, 55, 55, 6,117, 49, 68, 54, 55, 56, 6,117, 49, 68, 54, 55, 57, 6,117, 49, 68, 54, 55, 65, 6,117, - 49, 68, 54, 55, 66, 6,117, 49, 68, 54, 55, 67, 6,117, 49, 68, 54, 55, 68, 6,117, 49, 68, 54, 55, 69, 6,117, 49, 68, 54, 55, - 70, 6,117, 49, 68, 54, 56, 48, 6,117, 49, 68, 54, 56, 49, 6,117, 49, 68, 54, 56, 50, 6,117, 49, 68, 54, 56, 51, 6,117, 49, - 68, 54, 56, 52, 6,117, 49, 68, 54, 56, 53, 6,117, 49, 68, 54, 56, 54, 6,117, 49, 68, 54, 56, 55, 6,117, 49, 68, 54, 56, 56, - 6,117, 49, 68, 54, 56, 57, 6,117, 49, 68, 54, 56, 65, 6,117, 49, 68, 54, 56, 66, 6,117, 49, 68, 54, 56, 67, 6,117, 49, 68, - 54, 56, 68, 6,117, 49, 68, 54, 56, 69, 6,117, 49, 68, 54, 56, 70, 6,117, 49, 68, 54, 57, 48, 6,117, 49, 68, 54, 57, 49, 6, -117, 49, 68, 54, 57, 50, 6,117, 49, 68, 54, 57, 51, 6,117, 49, 68, 54, 57, 52, 6,117, 49, 68, 54, 57, 53, 6,117, 49, 68, 54, - 57, 54, 6,117, 49, 68, 54, 57, 55, 6,117, 49, 68, 54, 57, 56, 6,117, 49, 68, 54, 57, 57, 6,117, 49, 68, 54, 57, 65, 6,117, - 49, 68, 54, 57, 66, 6,117, 49, 68, 54, 57, 67, 6,117, 49, 68, 54, 57, 68, 6,117, 49, 68, 54, 57, 69, 6,117, 49, 68, 54, 57, - 70, 6,117, 49, 68, 54, 65, 48, 6,117, 49, 68, 54, 65, 49, 6,117, 49, 68, 54, 65, 50, 6,117, 49, 68, 54, 65, 51, 6,117, 49, - 68, 55, 70, 54, 6,117, 49, 68, 55, 70, 55, 6,117, 49, 68, 55, 70, 56, 6,117, 49, 68, 55, 70, 57, 6,117, 49, 68, 55, 70, 65, - 6,117, 49, 68, 55, 70, 66, 6,117, 49, 68, 55, 70, 67, 6,117, 49, 68, 55, 70, 68, 6,117, 49, 68, 55, 70, 69, 6,117, 49, 68, - 55, 70, 70, 9,100,108, 76,116, 99, 97,114,111,110, 9, 68,105, 97,101,114,101,115,105,115, 5, 65, 99,117,116,101, 5, 84,105, -108,100,101, 5, 71,114, 97,118,101, 10, 67,105,114, 99,117,109,102,108,101,120, 5, 67, 97,114,111,110, 13,102,114, 97, 99,116, -105,111,110,115,108, 97,115,104, 12,117,110,105, 48, 51, 49, 49, 46, 99, 97,115,101, 12,117,110,105, 48, 51, 48, 54, 46, 99, 97, -115,101, 12,117,110,105, 48, 51, 48, 55, 46, 99, 97,115,101, 12,117,110,105, 48, 51, 48, 66, 46, 99, 97,115,101, 12,117,110,105, - 48, 51, 48, 70, 46, 99, 97,115,101, 12,116,104,105,110,113,117,101,115,116,105,111,110, 12,117,110,105, 48, 51, 48, 52, 46, 99, - 97,115,101, 8,117,110,100,101,114, 98, 97,114, 13,117,110,100,101,114, 98, 97,114, 46,119,105,100,101, 14,117,110,100,101,114, - 98, 97,114, 46,115,109, 97,108,108, 3,106,111,116, 17,100,105, 97,101,114,101,115,105,115, 46,115,121,109, 98,111,108,115, 10, - 97,114, 97, 98,105, 99, 95,100,111,116, 12, 97,114, 97, 98,105, 99, 95, 50,100,111,116,115, 12, 97,114, 97, 98,105, 99, 95, 51, -100,111,116,115, 12,117,110,105, 48, 54, 54, 69, 46,102,105,110, 97, 12,117,110,105, 48, 54, 65, 49, 46,105,110,105,116, 12,117, -110,105, 48, 54, 65, 49, 46,109,101,100,105, 12,117,110,105, 48, 54, 54, 70, 46,102,105,110, 97, 12,117,110,105, 48, 54, 65, 49, - 46,102,105,110, 97, 14, 97,114, 97, 98,105, 99, 95, 51,100,111,116,115, 95, 97, 14, 97,114, 97, 98,105, 99, 95, 50,100,111,116, -115, 95, 97, 12, 97,114, 97, 98,105, 99, 95, 52,100,111,116,115, 14, 97,114, 97, 98,105, 99, 95,103, 97,102, 95, 98, 97,114, 16, - 97,114, 97, 98,105, 99, 95,103, 97,102, 95, 98, 97,114, 95, 97, 11, 97,114, 97, 98,105, 99, 95,114,105,110,103, 7, 69,110,103, - 46, 97,108,116,185, 2,128, 1, 21,178,148, 93, 5, 65, 28, 1, 21, 0,150, 0, 3, 1, 21, 0,128, 0, 4, 1, 20, 0,254, 0, - 3, 1, 19, 0,254, 0, 3, 1, 18, 0, 18, 0, 3, 1, 17, 0,254, 0, 3, 1, 16, 0,254, 0, 3, 1, 15, 0,154, 0, 3, 1, - 14, 0,254, 0, 3, 1, 13,178,235, 71, 5, 65, 37, 1, 13, 0,125, 0, 3, 1, 12, 0, 37, 0, 3, 1, 11, 0, 50, 0, 3, 1, - 10, 0,150, 0, 3, 1, 9, 0,254, 0, 3, 1, 8, 0, 14, 0, 3, 1, 7, 0,254, 0, 3, 1, 6, 0, 37, 0, 3, 1, 5, 0, -254, 0, 3, 1, 4, 0, 14, 0, 3, 1, 3, 0, 37, 0, 3, 1, 2, 0,254, 0, 3, 1, 1, 64, 89,254, 3,254,254, 3,253,125, - 3,252,254, 3,251,254, 3,250, 50, 3,249,187, 3,248,125, 3,247,246,140, 5,247,254, 3,247,192, 4,246,245, 89, 5,246,140, - 3,246,128, 4,245,244, 38, 5,245, 89, 3,245, 64, 4,244, 38, 3,243,242, 47, 5,243,250, 3,242, 47, 3,241,254, 3,240,254, - 3,239, 50, 3,238, 20, 3,237,150, 3,236,235, 71, 5,236,254, 3,236,184,255,209, 64,255, 4,235, 71, 3,234,233,100, 5,234, -150, 3,233,100, 3,232,254, 3,231,230, 27, 5,231,254, 3,230, 27, 3,229,254, 3,228,107, 3,227,254, 3,226,187, 3,225,224, - 25, 5,225,250, 3,224, 25, 3,223,150, 3,222,254, 3,221,254, 3,220,219, 21, 5,220,254, 3,219, 21, 3,218,150, 3,217,216, - 21, 5,217,254, 3,216,141, 11, 5,216, 21, 3,215,125, 3,214, 58, 3,213,141, 11, 5,213, 58, 3,212,254, 3,211,210, 10, 5, -211,254, 3,210, 10, 3,209,254, 3,208,254, 3,207,138, 17, 5,207, 28, 3,206, 22, 3,205,254, 3,204,150, 3,203,139, 37, 5, -203,254, 3,202,254, 3,201,125, 3,200,254, 3,199,254, 3,198,254, 3,197,154, 13, 5,196,254, 3,195,254, 3,194,254, 3,193, -254, 3,192,141, 11, 5,192, 20, 3,191, 12, 3,190,189,187, 5,190,254, 3,189,188, 93, 5,189,187, 3,189,128, 4,188,187, 37, - 5,188, 93, 3,188, 64, 4,187, 37, 3,186,254, 3,185,150, 3,184,143, 65, 5,183,254, 3,182,143, 65, 5,182,250, 3,181,154, - 13, 5,180,254, 3,179,100, 3,178,100, 3,177, 14, 3,176, 18, 3,175,254, 3,174,254, 64,253, 3,173,254, 3,172,254, 3,171, - 18, 3,170,254, 3,169,168, 14, 5,169, 50, 3,168, 14, 3,167,166, 17, 5,167, 40, 3,166, 17, 3,165,164, 45, 5,165,125, 3, -164, 45, 3,163,254, 3,162,254, 3,161,254, 3,160,159, 25, 5,160,100, 3,159,158, 16, 5,159, 25, 3,158, 16, 3,157, 10, 3, -156,254, 3,155,154, 13, 5,155,254, 3,154, 13, 3,153,152, 46, 5,153,254, 3,152, 46, 3,151,143, 65, 5,151,150, 3,150,149, -187, 5,150,254, 3,149,148, 93, 5,149,187, 3,149,128, 4,148,144, 37, 5,148, 93, 3,148, 64, 4,147,254, 3,146,254, 3,145, -144, 37, 5,145,187, 3,144, 37, 3,143,139, 37, 5,143, 65, 3,142,141, 11, 5,142, 20, 3,141, 11, 3,140,139, 37, 5,140,100, - 3,139,138, 17, 5,139, 37, 3,138, 17, 3,137,254, 3,136,254, 3,135,254, 3,134,133, 17, 5,134,254, 3,133, 17, 3,132,254, - 3,131,254, 3,130, 17, 66, 5,130, 83, 3,129,254, 3,128,120, 3,127,126,125, 5,127,254, 3,126,125, 3,125, 30, 3,124,254, - 3,123, 14, 3,122,254, 3,119,254, 3,118,254, 3,117,116, 12, 5,117, 15, 3,117,184, 1, 0, 64,218, 4,116, 12, 3,116,192, - 4,115, 18, 3,115, 64, 4,114,254, 3,113,254, 3,112,254, 3,111,110, 83, 5,111,150, 3,110,109, 40, 5,110, 83, 3,109, 40, - 3,108,254, 3,107, 50, 3,106,254, 3,105, 50, 3,104,250, 3,103,187, 3,102,254, 3,101,254, 3,100,254, 3, 99, 98, 30, 5, - 99,254, 3, 98, 0, 16, 5, 98, 30, 3, 97,254, 3, 96,254, 3, 95,254, 3, 94, 90, 11, 5, 94, 14, 3, 93,100, 3, 92,200, 3, - 91, 90, 11, 5, 91, 20, 3, 90, 11, 3, 89,254, 3, 88, 20, 3, 87,254, 3, 86,254, 3, 85, 27, 25, 5, 85, 50, 3, 84,254, 3, - 83,254, 3, 82,254, 3, 81,125, 3, 80,254, 3, 79, 20, 3, 78,254, 3, 77, 1, 45, 5, 77,254, 3, 76,187, 3, 75, 40, 3, 74, - 73, 24, 5, 74, 55, 3, 73, 67, 18, 5, 73, 24, 3, 72, 69, 24, 5, 72,254, 3, 71, 67, 18, 5, 71,100, 3, 70, 69, 24, 5, 70, -187, 3, 69, 24, 3, 68, 67, 18, 5, 68, 55, 3, 67, 66, 17, 5, 67, 18, 3, 67,184, 2, 64, 64, 9, 4, 66, 65, 15, 5, 66, 17, - 3, 66,184, 2, 0, 64, 9, 4, 65, 64, 14, 5, 65, 15, 3, 65,184, 1,192, 64, 9, 4, 64, 63, 12, 5, 64, 14, 3, 64,184, 1, -128, 64, 9, 4, 63, 12, 9, 5, 63, 12, 3, 63,184, 1, 64, 64,100, 4, 62,254, 3, 61, 1, 45, 5, 61,250, 3, 60,254, 3, 59, - 40, 3, 58,254, 3, 57, 17, 66, 5, 57,100, 3, 56, 49, 26, 5, 56, 75, 3, 55,254, 3, 54, 45, 20, 5, 54,254, 3, 53, 75, 3, - 52, 48, 26, 5, 52, 75, 3, 51, 48, 26, 5, 51,254, 3, 50, 17, 66, 5, 50,254, 3, 49, 45, 20, 5, 49, 26, 3, 48, 26, 3, 47, - 45, 20, 5, 47, 24, 3, 46, 9, 22, 5, 46,187, 3, 45, 44, 19, 5, 45, 20, 3, 45,184, 2,128, 64, 9, 4, 44, 16, 17, 5, 44, - 19, 3, 44,184, 2, 64, 64,150, 4, 43, 42, 37, 5, 43,254, 3, 42, 9, 22, 5, 42, 37, 3, 41, 2, 58, 5, 41,254, 3, 40,254, - 3, 39,254, 3, 38, 15, 3, 37, 22, 66, 5, 37, 69, 3, 36, 15, 3, 35,254, 3, 34, 15, 15, 5, 34,254, 3, 33, 32, 45, 5, 33, -125, 3, 32, 45, 3, 31, 75, 3, 30, 17, 66, 5, 30,254, 3, 29,254, 3, 28, 27, 25, 5, 28,254, 3, 27, 0, 16, 5, 27, 25, 3, - 26,254, 3, 25,254, 3, 24,254, 3, 23, 22, 66, 5, 23, 70, 3, 22, 21, 45, 5, 22, 66, 3, 21, 20, 16, 5, 21, 45, 3, 20, 16, - 3, 19, 0, 16, 5, 19, 20, 3, 18, 17, 66, 5, 18,254, 3, 17, 1, 45, 5, 17, 66, 3, 16, 15, 15, 5, 16, 17, 3, 16,184, 2, - 0, 64, 9, 4, 15, 14, 12, 5, 15, 15, 3, 15,184, 1,192, 64, 9, 4, 14, 13, 10, 5, 14, 12, 3, 14,184, 1,128, 64, 9, 4, - 13, 12, 9, 5, 13, 10, 3, 13,184, 1, 64,180, 4, 12, 9, 3, 12,184, 1, 0, 64, 55, 4, 11,254, 3, 10, 9, 22, 5, 10,254, - 3, 9, 22, 3, 8, 16, 3, 7,254, 3, 6, 1, 45, 5, 6,254, 3, 5, 20, 3, 3, 2, 58, 5, 3,250, 3, 2, 1, 45, 5, 2, - 58, 3, 1, 0, 16, 5, 1, 45, 3, 0, 16, 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, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 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, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 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, 0, +105,108,111,110, 3, 80,104,105, 3, 67,104,105, 3, 80,115,105, 7,117,110,105, 48, 51, 65, 57, 12, 73,111,116, 97,100,105,101, +114,101,115,105,115, 15, 85,112,115,105,108,111,110,100,105,101,114,101,115,105,115, 10, 97,108,112,104, 97,116,111,110,111,115, + 12,101,112,115,105,108,111,110,116,111,110,111,115, 8,101,116, 97,116,111,110,111,115, 9,105,111,116, 97,116,111,110,111,115, + 20,117,112,115,105,108,111,110,100,105,101,114,101,115,105,115,116,111,110,111,115, 5, 97,108,112,104, 97, 4, 98,101,116, 97, + 5,103, 97,109,109, 97, 5,100,101,108,116, 97, 7,101,112,115,105,108,111,110, 4,122,101,116, 97, 3,101,116, 97, 5,116,104, +101,116, 97, 4,105,111,116, 97, 5,107, 97,112,112, 97, 6,108, 97,109, 98,100, 97, 7,117,110,105, 48, 51, 66, 67, 2,110,117, + 2,120,105, 7,111,109,105, 99,114,111,110, 3,114,104,111, 6,115,105,103,109, 97, 49, 5,115,105,103,109, 97, 3,116, 97,117, + 7,117,112,115,105,108,111,110, 3,112,104,105, 3, 99,104,105, 3,112,115,105, 5,111,109,101,103, 97, 12,105,111,116, 97,100, +105,101,114,101,115,105,115, 15,117,112,115,105,108,111,110,100,105,101,114,101,115,105,115, 12,111,109,105, 99,114,111,110,116, +111,110,111,115, 12,117,112,115,105,108,111,110,116,111,110,111,115, 10,111,109,101,103, 97,116,111,110,111,115, 9, 97,102,105, +105, 49, 48, 48, 50, 51, 9, 97,102,105,105, 49, 48, 48, 53, 49, 9, 97,102,105,105, 49, 48, 48, 53, 50, 9, 97,102,105,105, 49, + 48, 48, 53, 51, 9, 97,102,105,105, 49, 48, 48, 53, 52, 9, 97,102,105,105, 49, 48, 48, 53, 53, 9, 97,102,105,105, 49, 48, 48, + 53, 54, 9, 97,102,105,105, 49, 48, 48, 53, 55, 9, 97,102,105,105, 49, 48, 48, 53, 56, 9, 97,102,105,105, 49, 48, 48, 53, 57, + 9, 97,102,105,105, 49, 48, 48, 54, 48, 9, 97,102,105,105, 49, 48, 48, 54, 49, 9, 97,102,105,105, 49, 48, 48, 54, 50, 9, 97, +102,105,105, 49, 48, 49, 52, 53, 9, 97,102,105,105, 49, 48, 48, 49, 55, 9, 97,102,105,105, 49, 48, 48, 49, 56, 9, 97,102,105, +105, 49, 48, 48, 49, 57, 9, 97,102,105,105, 49, 48, 48, 50, 48, 9, 97,102,105,105, 49, 48, 48, 50, 49, 9, 97,102,105,105, 49, + 48, 48, 50, 50, 9, 97,102,105,105, 49, 48, 48, 50, 52, 9, 97,102,105,105, 49, 48, 48, 50, 53, 9, 97,102,105,105, 49, 48, 48, + 50, 54, 9, 97,102,105,105, 49, 48, 48, 50, 55, 9, 97,102,105,105, 49, 48, 48, 50, 56, 9, 97,102,105,105, 49, 48, 48, 50, 57, + 9, 97,102,105,105, 49, 48, 48, 51, 48, 9, 97,102,105,105, 49, 48, 48, 51, 49, 9, 97,102,105,105, 49, 48, 48, 51, 50, 9, 97, +102,105,105, 49, 48, 48, 51, 51, 9, 97,102,105,105, 49, 48, 48, 51, 52, 9, 97,102,105,105, 49, 48, 48, 51, 53, 9, 97,102,105, +105, 49, 48, 48, 51, 54, 9, 97,102,105,105, 49, 48, 48, 51, 55, 9, 97,102,105,105, 49, 48, 48, 51, 56, 9, 97,102,105,105, 49, + 48, 48, 51, 57, 9, 97,102,105,105, 49, 48, 48, 52, 48, 9, 97,102,105,105, 49, 48, 48, 52, 49, 9, 97,102,105,105, 49, 48, 48, + 52, 50, 9, 97,102,105,105, 49, 48, 48, 52, 51, 9, 97,102,105,105, 49, 48, 48, 52, 52, 9, 97,102,105,105, 49, 48, 48, 52, 53, + 9, 97,102,105,105, 49, 48, 48, 52, 54, 9, 97,102,105,105, 49, 48, 48, 52, 55, 9, 97,102,105,105, 49, 48, 48, 52, 56, 9, 97, +102,105,105, 49, 48, 48, 52, 57, 9, 97,102,105,105, 49, 48, 48, 54, 53, 9, 97,102,105,105, 49, 48, 48, 54, 54, 9, 97,102,105, +105, 49, 48, 48, 54, 55, 9, 97,102,105,105, 49, 48, 48, 54, 56, 9, 97,102,105,105, 49, 48, 48, 54, 57, 9, 97,102,105,105, 49, + 48, 48, 55, 48, 9, 97,102,105,105, 49, 48, 48, 55, 50, 9, 97,102,105,105, 49, 48, 48, 55, 51, 9, 97,102,105,105, 49, 48, 48, + 55, 52, 9, 97,102,105,105, 49, 48, 48, 55, 53, 9, 97,102,105,105, 49, 48, 48, 55, 54, 9, 97,102,105,105, 49, 48, 48, 55, 55, + 9, 97,102,105,105, 49, 48, 48, 55, 56, 9, 97,102,105,105, 49, 48, 48, 55, 57, 9, 97,102,105,105, 49, 48, 48, 56, 48, 9, 97, +102,105,105, 49, 48, 48, 56, 49, 9, 97,102,105,105, 49, 48, 48, 56, 50, 9, 97,102,105,105, 49, 48, 48, 56, 51, 9, 97,102,105, +105, 49, 48, 48, 56, 52, 9, 97,102,105,105, 49, 48, 48, 56, 53, 9, 97,102,105,105, 49, 48, 48, 56, 54, 9, 97,102,105,105, 49, + 48, 48, 56, 55, 9, 97,102,105,105, 49, 48, 48, 56, 56, 9, 97,102,105,105, 49, 48, 48, 56, 57, 9, 97,102,105,105, 49, 48, 48, + 57, 48, 9, 97,102,105,105, 49, 48, 48, 57, 49, 9, 97,102,105,105, 49, 48, 48, 57, 50, 9, 97,102,105,105, 49, 48, 48, 57, 51, + 9, 97,102,105,105, 49, 48, 48, 57, 52, 9, 97,102,105,105, 49, 48, 48, 57, 53, 9, 97,102,105,105, 49, 48, 48, 57, 54, 9, 97, +102,105,105, 49, 48, 48, 57, 55, 9, 97,102,105,105, 49, 48, 48, 55, 49, 9, 97,102,105,105, 49, 48, 48, 57, 57, 9, 97,102,105, +105, 49, 48, 49, 48, 48, 9, 97,102,105,105, 49, 48, 49, 48, 49, 9, 97,102,105,105, 49, 48, 49, 48, 50, 9, 97,102,105,105, 49, + 48, 49, 48, 51, 9, 97,102,105,105, 49, 48, 49, 48, 52, 9, 97,102,105,105, 49, 48, 49, 48, 53, 9, 97,102,105,105, 49, 48, 49, + 48, 54, 9, 97,102,105,105, 49, 48, 49, 48, 55, 9, 97,102,105,105, 49, 48, 49, 48, 56, 9, 97,102,105,105, 49, 48, 49, 48, 57, + 9, 97,102,105,105, 49, 48, 49, 49, 48, 9, 97,102,105,105, 49, 48, 49, 57, 51, 9, 97,102,105,105, 49, 48, 48, 53, 48, 9, 97, +102,105,105, 49, 48, 48, 57, 56, 6, 87,103,114, 97,118,101, 6,119,103,114, 97,118,101, 6, 87, 97, 99,117,116,101, 6,119, 97, + 99,117,116,101, 9, 87,100,105,101,114,101,115,105,115, 9,119,100,105,101,114,101,115,105,115, 6, 89,103,114, 97,118,101, 6, +121,103,114, 97,118,101, 9, 97,102,105,105, 48, 48, 50, 48, 56, 13,117,110,100,101,114,115, 99,111,114,101,100, 98,108, 13,113, +117,111,116,101,114,101,118,101,114,115,101,100, 6,109,105,110,117,116,101, 6,115,101, 99,111,110,100, 9,101,120, 99,108, 97, +109,100, 98,108, 9,110,115,117,112,101,114,105,111,114, 9, 97,102,105,105, 48, 56, 57, 52, 49, 6,112,101,115,101,116, 97, 4, + 69,117,114,111, 9, 97,102,105,105, 54, 49, 50, 52, 56, 9, 97,102,105,105, 54, 49, 50, 56, 57, 9, 97,102,105,105, 54, 49, 51, + 53, 50, 9,101,115,116,105,109, 97,116,101,100, 9,111,110,101,101,105,103,104,116,104, 12,116,104,114,101,101,101,105,103,104, +116,104,115, 11,102,105,118,101,101,105,103,104,116,104,115, 12,115,101,118,101,110,101,105,103,104,116,104,115, 5, 68,101,108, +116, 97, 7,117,110,105, 70, 66, 48, 49, 7,117,110,105, 70, 66, 48, 50, 13, 99,121,114,105,108,108,105, 99, 98,114,101,118,101, + 8,100,111,116,108,101,115,115,106, 16, 99, 97,114,111,110, 99,111,109,109, 97, 97, 99, 99,101,110,116, 11, 99,111,109,109, 97, + 97, 99, 99,101,110,116, 17, 99,111,109,109, 97, 97, 99, 99,101,110,116,114,111,116, 97,116,101, 12,122,101,114,111,115,117,112, +101,114,105,111,114, 12,102,111,117,114,115,117,112,101,114,105,111,114, 12,102,105,118,101,115,117,112,101,114,105,111,114, 11, +115,105,120,115,117,112,101,114,105,111,114, 13,115,101,118,101,110,115,117,112,101,114,105,111,114, 13,101,105,103,104,116,115, +117,112,101,114,105,111,114, 12,110,105,110,101,115,117,112,101,114,105,111,114, 7,117,110,105, 50, 48, 48, 48, 7,117,110,105, + 50, 48, 48, 49, 7,117,110,105, 50, 48, 48, 50, 7,117,110,105, 50, 48, 48, 51, 7,117,110,105, 50, 48, 48, 52, 7,117,110,105, + 50, 48, 48, 53, 7,117,110,105, 50, 48, 48, 54, 7,117,110,105, 50, 48, 48, 55, 7,117,110,105, 50, 48, 48, 56, 7,117,110,105, + 50, 48, 48, 57, 7,117,110,105, 50, 48, 48, 65, 7,117,110,105, 50, 48, 48, 66, 7,117,110,105, 70, 69, 70, 70, 7,117,110,105, + 70, 70, 70, 67, 7,117,110,105, 70, 70, 70, 68, 7,117,110,105, 48, 49, 70, 48, 7,117,110,105, 48, 50, 66, 67, 7,117,110,105, + 48, 51, 68, 49, 7,117,110,105, 48, 51, 68, 50, 7,117,110,105, 48, 51, 68, 54, 7,117,110,105, 49, 69, 51, 69, 7,117,110,105, + 49, 69, 51, 70, 7,117,110,105, 49, 69, 48, 48, 7,117,110,105, 49, 69, 48, 49, 7,117,110,105, 49, 70, 52, 68, 7,117,110,105, + 48, 50, 70, 51, 9,100, 97,115,105, 97,111,120,105, 97, 7,117,110,105, 70, 66, 48, 51, 7,117,110,105, 70, 66, 48, 52, 5, 79, +104,111,114,110, 5,111,104,111,114,110, 5, 85,104,111,114,110, 5,117,104,111,114,110, 7,117,110,105, 48, 51, 48, 48, 7,117, +110,105, 48, 51, 48, 49, 7,117,110,105, 48, 51, 48, 51, 4,104,111,111,107, 8,100,111,116, 98,101,108,111,119, 7,117,110,105, + 48, 52, 48, 48, 7,117,110,105, 48, 52, 48, 68, 7,117,110,105, 48, 52, 53, 48, 7,117,110,105, 48, 52, 53, 68, 7,117,110,105, + 48, 52, 54, 48, 7,117,110,105, 48, 52, 54, 49, 7,117,110,105, 48, 52, 54, 50, 7,117,110,105, 48, 52, 54, 51, 7,117,110,105, + 48, 52, 54, 52, 7,117,110,105, 48, 52, 54, 53, 7,117,110,105, 48, 52, 54, 54, 7,117,110,105, 48, 52, 54, 55, 7,117,110,105, + 48, 52, 54, 56, 7,117,110,105, 48, 52, 54, 57, 7,117,110,105, 48, 52, 54, 65, 7,117,110,105, 48, 52, 54, 66, 7,117,110,105, + 48, 52, 54, 67, 7,117,110,105, 48, 52, 54, 68, 7,117,110,105, 48, 52, 54, 69, 7,117,110,105, 48, 52, 54, 70, 7,117,110,105, + 48, 52, 55, 48, 7,117,110,105, 48, 52, 55, 49, 7,117,110,105, 48, 52, 55, 50, 7,117,110,105, 48, 52, 55, 51, 7,117,110,105, + 48, 52, 55, 52, 7,117,110,105, 48, 52, 55, 53, 7,117,110,105, 48, 52, 55, 54, 7,117,110,105, 48, 52, 55, 55, 7,117,110,105, + 48, 52, 55, 56, 7,117,110,105, 48, 52, 55, 57, 7,117,110,105, 48, 52, 55, 65, 7,117,110,105, 48, 52, 55, 66, 7,117,110,105, + 48, 52, 55, 67, 7,117,110,105, 48, 52, 55, 68, 7,117,110,105, 48, 52, 55, 69, 7,117,110,105, 48, 52, 55, 70, 7,117,110,105, + 48, 52, 56, 48, 7,117,110,105, 48, 52, 56, 49, 7,117,110,105, 48, 52, 56, 50, 7,117,110,105, 48, 52, 56, 51, 7,117,110,105, + 48, 52, 56, 52, 7,117,110,105, 48, 52, 56, 53, 7,117,110,105, 48, 52, 56, 54, 7,117,110,105, 48, 52, 56, 56, 7,117,110,105, + 48, 52, 56, 57, 7,117,110,105, 48, 52, 56, 65, 7,117,110,105, 48, 52, 56, 66, 7,117,110,105, 48, 52, 56, 67, 7,117,110,105, + 48, 52, 56, 68, 7,117,110,105, 48, 52, 56, 69, 7,117,110,105, 48, 52, 56, 70, 7,117,110,105, 48, 52, 57, 50, 7,117,110,105, + 48, 52, 57, 51, 7,117,110,105, 48, 52, 57, 52, 7,117,110,105, 48, 52, 57, 53, 7,117,110,105, 48, 52, 57, 54, 7,117,110,105, + 48, 52, 57, 55, 7,117,110,105, 48, 52, 57, 56, 7,117,110,105, 48, 52, 57, 57, 7,117,110,105, 48, 52, 57, 65, 7,117,110,105, + 48, 52, 57, 66, 7,117,110,105, 48, 52, 57, 67, 7,117,110,105, 48, 52, 57, 68, 7,117,110,105, 48, 52, 57, 69, 7,117,110,105, + 48, 52, 57, 70, 7,117,110,105, 48, 52, 65, 48, 7,117,110,105, 48, 52, 65, 49, 7,117,110,105, 48, 52, 65, 50, 7,117,110,105, + 48, 52, 65, 51, 7,117,110,105, 48, 52, 65, 52, 7,117,110,105, 48, 52, 65, 53, 7,117,110,105, 48, 52, 65, 54, 7,117,110,105, + 48, 52, 65, 55, 7,117,110,105, 48, 52, 65, 56, 7,117,110,105, 48, 52, 65, 57, 7,117,110,105, 48, 52, 65, 65, 7,117,110,105, + 48, 52, 65, 66, 7,117,110,105, 48, 52, 65, 67, 7,117,110,105, 48, 52, 65, 68, 7,117,110,105, 48, 52, 65, 69, 7,117,110,105, + 48, 52, 65, 70, 7,117,110,105, 48, 52, 66, 48, 7,117,110,105, 48, 52, 66, 49, 7,117,110,105, 48, 52, 66, 50, 7,117,110,105, + 48, 52, 66, 51, 7,117,110,105, 48, 52, 66, 52, 7,117,110,105, 48, 52, 66, 53, 7,117,110,105, 48, 52, 66, 54, 7,117,110,105, + 48, 52, 66, 55, 7,117,110,105, 48, 52, 66, 56, 7,117,110,105, 48, 52, 66, 57, 7,117,110,105, 48, 52, 66, 65, 7,117,110,105, + 48, 52, 66, 66, 7,117,110,105, 48, 52, 66, 67, 7,117,110,105, 48, 52, 66, 68, 7,117,110,105, 48, 52, 66, 69, 7,117,110,105, + 48, 52, 66, 70, 7,117,110,105, 48, 52, 67, 48, 7,117,110,105, 48, 52, 67, 49, 7,117,110,105, 48, 52, 67, 50, 7,117,110,105, + 48, 52, 67, 51, 7,117,110,105, 48, 52, 67, 52, 7,117,110,105, 48, 52, 67, 53, 7,117,110,105, 48, 52, 67, 54, 7,117,110,105, + 48, 52, 67, 55, 7,117,110,105, 48, 52, 67, 56, 7,117,110,105, 48, 52, 67, 57, 7,117,110,105, 48, 52, 67, 65, 7,117,110,105, + 48, 52, 67, 66, 7,117,110,105, 48, 52, 67, 67, 7,117,110,105, 48, 52, 67, 68, 7,117,110,105, 48, 52, 67, 69, 7,117,110,105, + 48, 52, 67, 70, 7,117,110,105, 48, 52, 68, 48, 7,117,110,105, 48, 52, 68, 49, 7,117,110,105, 48, 52, 68, 50, 7,117,110,105, + 48, 52, 68, 51, 7,117,110,105, 48, 52, 68, 52, 7,117,110,105, 48, 52, 68, 53, 7,117,110,105, 48, 52, 68, 54, 7,117,110,105, + 48, 52, 68, 55, 7,117,110,105, 48, 52, 68, 56, 7,117,110,105, 48, 52, 68, 57, 7,117,110,105, 48, 52, 68, 65, 7,117,110,105, + 48, 52, 68, 66, 7,117,110,105, 48, 52, 68, 67, 7,117,110,105, 48, 52, 68, 68, 7,117,110,105, 48, 52, 68, 69, 7,117,110,105, + 48, 52, 68, 70, 7,117,110,105, 48, 52, 69, 48, 7,117,110,105, 48, 52, 69, 49, 7,117,110,105, 48, 52, 69, 50, 7,117,110,105, + 48, 52, 69, 51, 7,117,110,105, 48, 52, 69, 52, 7,117,110,105, 48, 52, 69, 53, 7,117,110,105, 48, 52, 69, 54, 7,117,110,105, + 48, 52, 69, 55, 7,117,110,105, 48, 52, 69, 56, 7,117,110,105, 48, 52, 69, 57, 7,117,110,105, 48, 52, 69, 65, 7,117,110,105, + 48, 52, 69, 66, 7,117,110,105, 48, 52, 69, 67, 7,117,110,105, 48, 52, 69, 68, 7,117,110,105, 48, 52, 69, 69, 7,117,110,105, + 48, 52, 69, 70, 7,117,110,105, 48, 52, 70, 48, 7,117,110,105, 48, 52, 70, 49, 7,117,110,105, 48, 52, 70, 50, 7,117,110,105, + 48, 52, 70, 51, 7,117,110,105, 48, 52, 70, 52, 7,117,110,105, 48, 52, 70, 53, 7,117,110,105, 48, 52, 70, 54, 7,117,110,105, + 48, 52, 70, 55, 7,117,110,105, 48, 52, 70, 56, 7,117,110,105, 48, 52, 70, 57, 7,117,110,105, 48, 52, 70, 65, 7,117,110,105, + 48, 52, 70, 66, 7,117,110,105, 48, 52, 70, 67, 7,117,110,105, 48, 52, 70, 68, 7,117,110,105, 48, 52, 70, 69, 7,117,110,105, + 48, 52, 70, 70, 7,117,110,105, 48, 53, 48, 48, 7,117,110,105, 48, 53, 48, 49, 7,117,110,105, 48, 53, 48, 50, 7,117,110,105, + 48, 53, 48, 51, 7,117,110,105, 48, 53, 48, 52, 7,117,110,105, 48, 53, 48, 53, 7,117,110,105, 48, 53, 48, 54, 7,117,110,105, + 48, 53, 48, 55, 7,117,110,105, 48, 53, 48, 56, 7,117,110,105, 48, 53, 48, 57, 7,117,110,105, 48, 53, 48, 65, 7,117,110,105, + 48, 53, 48, 66, 7,117,110,105, 48, 53, 48, 67, 7,117,110,105, 48, 53, 48, 68, 7,117,110,105, 48, 53, 48, 69, 7,117,110,105, + 48, 53, 48, 70, 7,117,110,105, 48, 53, 49, 48, 7,117,110,105, 48, 53, 49, 49, 7,117,110,105, 48, 53, 49, 50, 7,117,110,105, + 48, 53, 49, 51, 7,117,110,105, 49, 69, 65, 48, 7,117,110,105, 49, 69, 65, 49, 7,117,110,105, 49, 69, 65, 50, 7,117,110,105, + 49, 69, 65, 51, 7,117,110,105, 49, 69, 65, 52, 7,117,110,105, 49, 69, 65, 53, 7,117,110,105, 49, 69, 65, 54, 7,117,110,105, + 49, 69, 65, 55, 7,117,110,105, 49, 69, 65, 56, 7,117,110,105, 49, 69, 65, 57, 7,117,110,105, 49, 69, 65, 65, 7,117,110,105, + 49, 69, 65, 66, 7,117,110,105, 49, 69, 65, 67, 7,117,110,105, 49, 69, 65, 68, 7,117,110,105, 49, 69, 65, 69, 7,117,110,105, + 49, 69, 65, 70, 7,117,110,105, 49, 69, 66, 48, 7,117,110,105, 49, 69, 66, 49, 7,117,110,105, 49, 69, 66, 50, 7,117,110,105, + 49, 69, 66, 51, 7,117,110,105, 49, 69, 66, 52, 7,117,110,105, 49, 69, 66, 53, 7,117,110,105, 49, 69, 66, 54, 7,117,110,105, + 49, 69, 66, 55, 7,117,110,105, 49, 69, 66, 56, 7,117,110,105, 49, 69, 66, 57, 7,117,110,105, 49, 69, 66, 65, 7,117,110,105, + 49, 69, 66, 66, 7,117,110,105, 49, 69, 66, 67, 7,117,110,105, 49, 69, 66, 68, 7,117,110,105, 49, 69, 66, 69, 7,117,110,105, + 49, 69, 66, 70, 7,117,110,105, 49, 69, 67, 48, 7,117,110,105, 49, 69, 67, 49, 7,117,110,105, 49, 69, 67, 50, 7,117,110,105, + 49, 69, 67, 51, 7,117,110,105, 49, 69, 67, 52, 7,117,110,105, 49, 69, 67, 53, 7,117,110,105, 49, 69, 67, 54, 7,117,110,105, + 49, 69, 67, 55, 7,117,110,105, 49, 69, 67, 56, 7,117,110,105, 49, 69, 67, 57, 7,117,110,105, 49, 69, 67, 65, 7,117,110,105, + 49, 69, 67, 66, 7,117,110,105, 49, 69, 67, 67, 7,117,110,105, 49, 69, 67, 68, 7,117,110,105, 49, 69, 67, 69, 7,117,110,105, + 49, 69, 67, 70, 7,117,110,105, 49, 69, 68, 48, 7,117,110,105, 49, 69, 68, 49, 7,117,110,105, 49, 69, 68, 50, 7,117,110,105, + 49, 69, 68, 51, 7,117,110,105, 49, 69, 68, 52, 7,117,110,105, 49, 69, 68, 53, 7,117,110,105, 49, 69, 68, 54, 7,117,110,105, + 49, 69, 68, 55, 7,117,110,105, 49, 69, 68, 56, 7,117,110,105, 49, 69, 68, 57, 7,117,110,105, 49, 69, 68, 65, 7,117,110,105, + 49, 69, 68, 66, 7,117,110,105, 49, 69, 68, 67, 7,117,110,105, 49, 69, 68, 68, 7,117,110,105, 49, 69, 68, 69, 7,117,110,105, + 49, 69, 68, 70, 7,117,110,105, 49, 69, 69, 48, 7,117,110,105, 49, 69, 69, 49, 7,117,110,105, 49, 69, 69, 50, 7,117,110,105, + 49, 69, 69, 51, 7,117,110,105, 49, 69, 69, 52, 7,117,110,105, 49, 69, 69, 53, 7,117,110,105, 49, 69, 69, 54, 7,117,110,105, + 49, 69, 69, 55, 7,117,110,105, 49, 69, 69, 56, 7,117,110,105, 49, 69, 69, 57, 7,117,110,105, 49, 69, 69, 65, 7,117,110,105, + 49, 69, 69, 66, 7,117,110,105, 49, 69, 69, 67, 7,117,110,105, 49, 69, 69, 68, 7,117,110,105, 49, 69, 69, 69, 7,117,110,105, + 49, 69, 69, 70, 7,117,110,105, 49, 69, 70, 48, 7,117,110,105, 49, 69, 70, 49, 7,117,110,105, 49, 69, 70, 52, 7,117,110,105, + 49, 69, 70, 53, 7,117,110,105, 49, 69, 70, 54, 7,117,110,105, 49, 69, 70, 55, 7,117,110,105, 49, 69, 70, 56, 7,117,110,105, + 49, 69, 70, 57, 7,117,110,105, 50, 48, 65, 66, 7,117,110,105, 48, 51, 48, 70, 19, 99,105,114, 99,117,109,102,108,101,120, 97, + 99,117,116,101, 99,111,109, 98, 19, 99,105,114, 99,117,109,102,108,101,120,103,114, 97,118,101, 99,111,109, 98, 18, 99,105,114, + 99,117,109,102,108,101,120,104,111,111,107, 99,111,109, 98, 19, 99,105,114, 99,117,109,102,108,101,120,116,105,108,100,101, 99, +111,109, 98, 14, 98,114,101,118,101, 97, 99,117,116,101, 99,111,109, 98, 14, 98,114,101,118,101,103,114, 97,118,101, 99,111,109, + 98, 13, 98,114,101,118,101,104,111,111,107, 99,111,109, 98, 14, 98,114,101,118,101,116,105,108,100,101, 99,111,109, 98, 16, 99, +121,114,105,108,108,105, 99,104,111,111,107,108,101,102,116, 17, 99,121,114,105,108,108,105, 99, 98,105,103,104,111,111,107, 85, + 67, 17, 99,121,114,105,108,108,105, 99, 98,105,103,104,111,111,107, 76, 67, 0, 0, 0, 0, 2, 0, 5, 0, 2,255,255, 0, 3, 0}; diff --git a/source/blender/editors/datafiles/startup.blend.c b/source/blender/editors/datafiles/startup.blend.c index 3ad353f21bf..352506fad9f 100644 --- a/source/blender/editors/datafiles/startup.blend.c +++ b/source/blender/editors/datafiles/startup.blend.c @@ -1,12 +1,12 @@ /* DataToC output of file */ -int datatoc_startup_blend_size= 363524; +int datatoc_startup_blend_size= 531556; char datatoc_startup_blend[]= { 66, 76, 69, 78, - 68, 69, 82, 95, 86, 50, 53, 54, 82, 69, 78, 68, 0, 0, 0, 32,191,255,231,240, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, - 0, 0, 0,250, 83, 99,101,110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 76, 79, 66, - 0, 0, 1, 24,191,255,230,232, 0, 0, 0,196, 0, 0, 0, 1, 32, 32, 32, 54, 0, 6, 0, 0, 0,250, 0, 0, 0, 1, 1, 0, - 4,212, 43, 0, 2,152,190, 32, 0, 0, 16, 0, 0, 4, 32,128, 0, 0,140,223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 69, 82, 45,118, 50, 53, 54, 82, 69, 78, 68, 32, 0, 0, 0, 0,230,191, 95,255,127, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0,250, 0, 0, 0, 83, 99,101,110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 71, 76, 79, 66, 32, 1, 0, 0, 0,229,191, 95,255,127, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 32, 32, 32, 52, 4, 0, 0, 0, +250, 0, 0, 0, 1, 0, 0, 1,200, 23,159, 23, 1, 0, 0, 0, 56,106,106, 3, 1, 0, 0, 0, 0, 16, 0, 0,128, 32, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14,4108 +14,4572 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 77, 0, 0, 0,168, 4,211,175,144, 0, 0, 1,103, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 77, 87,105,110, 77, 97,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,211,176,208, 4,211,176,208, 4,211,176,208, 4,211,176,208, - 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 60,106,112, 10, 60,106,112, - 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 4,218,173, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,209, 39,160, 4,209, 39,160, 4,209, 39,160, 4,209, 40, 96, 4,218,173, 32, - 4,209, 40, 96, 68, 65, 84, 65, 0, 0, 0,148, 4,211,176,208, 0, 0, 1,104, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 4,209, 48, 16, 0, 0, 0, 1, 0, 0, 0, 0, 4,212, 43, 0, 0, 0, 0, 0,115, 99,114,101,101,110, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 96, 7,128, 4,128, 0, 0, 0, 0, - 0, 1, 3,238, 0, 0, 0, 0, 0, 1, 0, 0, 4,209,122, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, - 4,217, 22, 16, 10, 60,118,160, 10, 60,118,160, 4,217,193,112, 4,217, 28,192, 4,217,192,128, 4,217,192,128, 10, 60, 48, 32, - 9,182,206, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 0,148, 4,211,177,144, 0, 0, 0,190, 0, 0, 0, 1, - 4,211,245,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 65,110,105,109, 97,116,105,111,110, 0, 46, 48, 48, 49, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,211,176, 96, 4,211,182, 80, 4,211,182,144, - 4,211,189,144, 4,211,189,208, 4,211,241,144, 0, 0, 0, 0, 0, 0, 0, 0, 2,152,190, 32, 0, 0, 0, 0, 0, 0, 0, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 77, 0, 0, 24, 1, 0, 0, +152,107,158, 23, 1, 0, 0, 0,115, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 77, 87,105,110, 77, 97,110, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,108,158, 23, 1, 0, 0, 0, +248,108,158, 23, 1, 0, 0, 0,248,108,158, 23, 1, 0, 0, 0,248,108,158, 23, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,176, 96, - 0, 0, 0,191, 0, 0, 0, 1, 4,211,178, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 20, 4,211,178, 80, 0, 0, 0,191, 0, 0, 0, 1, 4,211,178,144, 4,211,176, 96, 0, 0, 0, 0, 0, 0, 4, 97, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,178,144, 0, 0, 0,191, 0, 0, 0, 1, 4,211,178,208, 4,211,178, 80, - 0, 0, 0, 0, 7,118, 4, 97, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,178,208, 0, 0, 0,191, 0, 0, 0, 1, - 4,211,179, 16, 4,211,178,144, 0, 0, 0, 0, 7,118, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,179, 16, - 0, 0, 0,191, 0, 0, 0, 1, 4,211,179, 80, 4,211,178,208, 0, 0, 0, 0, 0, 0, 4, 70, 0, 0, 0, 1, 68, 65, 84, 65, - 0, 0, 0, 20, 4,211,179, 80, 0, 0, 0,191, 0, 0, 0, 1, 4,211,179,144, 4,211,179, 16, 0, 0, 0, 0, 7,118, 4, 70, - 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,179,144, 0, 0, 0,191, 0, 0, 0, 1, 4,211,179,208, 4,211,179, 80, - 0, 0, 0, 0, 6, 44, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,179,208, 0, 0, 0,191, 0, 0, 0, 1, - 4,211,180, 16, 4,211,179,144, 0, 0, 0, 0, 6, 44, 4, 70, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,180, 16, - 0, 0, 0,191, 0, 0, 0, 1, 4,211,180, 80, 4,211,179,208, 0, 0, 0, 0, 6, 44, 1,220, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 20, 4,211,180, 80, 0, 0, 0,191, 0, 0, 0, 1, 4,211,180,144, 4,211,180, 16, 0, 0, 0, 0, 7,118, 1,220, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,180,144, 0, 0, 0,191, 0, 0, 0, 1, 4,211,180,208, 4,211,180, 80, - 0, 0, 0, 0, 0, 0, 0,132, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,180,208, 0, 0, 0,191, 0, 0, 0, 1, - 4,211,181, 16, 4,211,180,144, 0, 0, 0, 0, 6, 44, 0,132, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,181, 16, - 0, 0, 0,191, 0, 0, 0, 1, 4,211,181, 80, 4,211,180,208, 0, 0, 0, 0, 2,160, 0,132, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 20, 4,211,181, 80, 0, 0, 0,191, 0, 0, 0, 1, 4,211,181,144, 4,211,181, 16, 0, 0, 0, 0, 2,160, 4, 70, - 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,181,144, 0, 0, 0,191, 0, 0, 0, 1, 4,211,181,208, 4,211,181, 80, - 0, 0, 0, 0, 0, 0, 1,140, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,181,208, 0, 0, 0,191, 0, 0, 0, 1, - 4,211,182, 16, 4,211,181,144, 0, 0, 0, 0, 2,160, 1,140, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,182, 16, - 0, 0, 0,191, 0, 0, 0, 1, 4,211,182, 80, 4,211,181,208, 0, 0, 0, 0, 6, 44, 3,100, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 20, 4,211,182, 80, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 0, 4,211,182, 16, 0, 0, 0, 0, 7,118, 3,100, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,182,144, 0, 0, 0,192, 0, 0, 0, 1, 4,211,182,208, 0, 0, 0, 0, - 4,211,178, 80, 4,211,178,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,182,208, 0, 0, 0,192, - 0, 0, 0, 1, 4,211,183, 16, 4,211,182,144, 4,211,178, 80, 4,211,179, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 4,211,183, 16, 0, 0, 0,192, 0, 0, 0, 1, 4,211,183, 80, 4,211,182,208, 4,211,178,144, 4,211,179, 80, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,183, 80, 0, 0, 0,192, 0, 0, 0, 1, 4,211,183,144, - 4,211,183, 16, 4,211,179, 16, 4,211,179, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,183,144, - 0, 0, 0,192, 0, 0, 0, 1, 4,211,183,208, 4,211,183, 80, 4,211,176, 96, 4,211,179,144, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 4,211,183,208, 0, 0, 0,192, 0, 0, 0, 1, 4,211,184, 16, 4,211,183,144, 4,211,178,208, - 4,211,179,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,184, 16, 0, 0, 0,192, 0, 0, 0, 1, - 4,211,184, 80, 4,211,183,208, 4,211,179, 80, 4,211,179,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 4,211,184, 80, 0, 0, 0,192, 0, 0, 0, 1, 4,211,184,144, 4,211,184, 16, 4,211,179,144, 4,211,180, 16, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,184,144, 0, 0, 0,192, 0, 0, 0, 1, 4,211,184,208, 4,211,184, 80, - 4,211,178,208, 4,211,180, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,184,208, 0, 0, 0,192, - 0, 0, 0, 1, 4,211,185, 16, 4,211,184,144, 4,211,180, 16, 4,211,180, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 4,211,185, 16, 0, 0, 0,192, 0, 0, 0, 1, 4,211,185, 80, 4,211,184,208, 4,211,176, 96, 4,211,180,144, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,185, 80, 0, 0, 0,192, 0, 0, 0, 1, 4,211,185,144, - 4,211,185, 16, 4,211,179,208, 4,211,180,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,185,144, - 0, 0, 0,192, 0, 0, 0, 1, 4,211,185,208, 4,211,185, 80, 4,211,179,144, 4,211,180,208, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 4,211,185,208, 0, 0, 0,192, 0, 0, 0, 1, 4,211,186, 16, 4,211,185,144, 4,211,180,144, - 4,211,180,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,186, 16, 0, 0, 0,192, 0, 0, 0, 1, - 4,211,186, 80, 4,211,185,208, 4,211,180,144, 4,211,181, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 4,211,186, 80, 0, 0, 0,192, 0, 0, 0, 1, 4,211,186,144, 4,211,186, 16, 4,211,180,208, 4,211,181, 16, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,186,144, 0, 0, 0,192, 0, 0, 0, 1, 4,211,186,208, 4,211,186, 80, - 4,211,179, 16, 4,211,181, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,186,208, 0, 0, 0,192, - 0, 0, 0, 1, 4,211,187, 16, 4,211,186,144, 4,211,179,208, 4,211,181, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 4,211,187, 16, 0, 0, 0,192, 0, 0, 0, 1, 4,211,187, 80, 4,211,186,208, 4,211,181, 16, 4,211,181, 80, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,187, 80, 0, 0, 0,192, 0, 0, 0, 1, 4,211,187,144, - 4,211,187, 16, 4,211,180,144, 4,211,181,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,187,144, - 0, 0, 0,192, 0, 0, 0, 1, 4,211,187,208, 4,211,187, 80, 4,211,181, 16, 4,211,181,208, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 4,211,187,208, 0, 0, 0,192, 0, 0, 0, 1, 4,211,188, 16, 4,211,187,144, 4,211,181,144, - 4,211,181,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,188, 16, 0, 0, 0,192, 0, 0, 0, 1, - 4,211,188, 80, 4,211,187,208, 4,211,180, 16, 4,211,182, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 4,211,188, 80, 0, 0, 0,192, 0, 0, 0, 1, 4,211,188,144, 4,211,188, 16, 4,211,179,208, 4,211,182, 16, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,188,144, 0, 0, 0,192, 0, 0, 0, 1, 4,211,188,208, 4,211,188, 80, - 4,211,179, 80, 4,211,182, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,188,208, 0, 0, 0,192, - 0, 0, 0, 1, 4,211,189, 16, 4,211,188,144, 4,211,180, 80, 4,211,182, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 4,211,189, 16, 0, 0, 0,192, 0, 0, 0, 1, 4,211,189, 80, 4,211,188,208, 4,211,182, 16, 4,211,182, 80, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,189, 80, 0, 0, 0,192, 0, 0, 0, 1, 4,211,189,144, - 4,211,189, 16, 4,211,179, 16, 4,211,181,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,189,144, - 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 0, 4,211,189, 80, 4,211,181, 80, 4,211,181,208, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 96, 4,211,189,208, 0, 0, 0,194, 0, 0, 0, 1, 4,211,192,160, 0, 0, 0, 0, 4,211,179, 16, - 4,211,178, 80, 4,211,178,144, 4,211,179, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,118, 0, 0, 4, 71, 0, 0, 4, 97, - 7, 7, 7,119, 0, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 4,211,245,144, 4,211,245,144, 4,211,190, 96, - 4,211,191,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,211,190, 96, - 0, 0, 0,195, 0, 0, 0, 1, 4,211,191,128, 0, 0, 0, 0, 0, 0, 0, 0, 68,148, 32, 0, 0, 0, 0, 0, 65,208, 0, 0, - 0, 0, 0, 0, 68,238,224, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,118, 0, 0, 0, 0, 0, 0, 0, 25, - 68,237,128, 0, 65,200, 0, 0, 68,237,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, - 0, 4, 4, 12, 0, 10, 7,119, 0, 26, 7,119, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7,118, 0, 0, 4, 71, 0, 0, 4, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,119, 0, 26, - 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,248, 4,211,191,128, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,211,190, 96, 0, 0, 0, 0, - 69,109,240, 0,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,109,255,255,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,112, - 0, 0, 7,129, 0, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, - 0, 0, 7,111, 0, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 2, 0, 0, 0, 1, 3, 3, 0, 2, 4, 0, 0, 10, 7,129, 0, 2, 7,112, 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, 4, 97, 0, 0, 4, 97, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,173,161, 19, 1, 0, 0, 0, +104,173,161, 19, 1, 0, 0, 0,104,173,161, 19, 1, 0, 0, 0, 8,253,149, 23, 1, 0, 0, 0, 8,253,149, 23, 1, 0, 0, 0, + 8,253,149, 23, 1, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0,248,108,158, 23, 1, 0, 0, 0,116, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,181,161, 19, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, +200, 23,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115, 99,114,101,101,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,156, 5, 88, 3, 0, 0, 0, 0, 1, 0,238, 3, + 0, 0, 0, 0, 1, 0, 0, 0, 24, 81,164, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 24,229,166, 19, 1, 0, 0, 0,152,177, 54, 23, 1, 0, 0, 0,152,177, 54, 23, 1, 0, 0, 0, + 24, 0,150, 23, 1, 0, 0, 0,120,254,149, 23, 1, 0, 0, 0, 72,255,149, 23, 1, 0, 0, 0, 72,255,149, 23, 1, 0, 0, 0, + 88, 4,150, 23, 1, 0, 0, 0, 8,119,157, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 83, 78, 0, 0,216, 0, 0, 0, 24,110,158, 23, 1, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0,104,206,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 65,110,105,109, 97,116, +105,111,110, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +136,202,169, 19, 1, 0, 0, 0,120,116,158, 23, 1, 0, 0, 0,216,116,158, 23, 1, 0, 0, 0, 24,129,158, 23, 1, 0, 0, 0, +136,129,158, 23, 1, 0, 0, 0,232,196,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56,106,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 4,211,192,160, 0, 0, 0,194, 0, 0, 0, 1, - 4,211,213,176, 4,211,189,208, 4,211,179,144, 4,211,180, 16, 4,211,180, 80, 4,211,178,208, 0, 0, 0, 0, 0, 0, 6, 45, - 0, 0, 7,118, 0, 0, 0, 0, 0, 0, 1,219, 4, 4, 1, 74, 1,220, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4,211,212,176, 4,211,212,176, 4,211,193, 48, 4,211,194, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,248, 4,211,193, 48, 0, 0, 0,195, 0, 0, 0, 1, 4,211,194, 80, 0, 0, 0, 0, 0, 0, 0, 0, - 67,160, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 67,165, 0, 0, 0, 0, 0, 0, 65,248, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136,202,169, 19, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0, 72,116,166, 19, 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, 68, 65, 84, 65, 32, 0, 0, 0, 72,116,166, 19, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, + 56, 99,170, 19, 1, 0, 0, 0,136,202,169, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0, 56, 99,170, 19, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 56,111,158, 23, 1, 0, 0, 0, + 72,116,166, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, + 56,111,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,152,111,158, 23, 1, 0, 0, 0, 56, 99,170, 19, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152,111,158, 23, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0,248,111,158, 23, 1, 0, 0, 0, 56,111,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248,111,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, + 88,112,158, 23, 1, 0, 0, 0,152,111,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 70, 4, 1, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0, 88,112,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,184,112,158, 23, 1, 0, 0, 0, +248,111,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, +184,112,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 24,113,158, 23, 1, 0, 0, 0, 88,112,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 44, 6, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24,113,158, 23, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0,120,113,158, 23, 1, 0, 0, 0,184,112,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 44, 6,220, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120,113,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, +216,113,158, 23, 1, 0, 0, 0, 24,113,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7,220, 1, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0,216,113,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 56,114,158, 23, 1, 0, 0, 0, +120,113,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,132, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, + 56,114,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,152,114,158, 23, 1, 0, 0, 0,216,113,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 44, 6,132, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152,114,158, 23, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0,248,114,158, 23, 1, 0, 0, 0, 56,114,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +160, 2,132, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248,114,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, + 88,115,158, 23, 1, 0, 0, 0,152,114,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 2, 70, 4, 1, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0, 88,115,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,184,115,158, 23, 1, 0, 0, 0, +248,114,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, +184,115,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 24,116,158, 23, 1, 0, 0, 0, 88,115,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,160, 2,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24,116,158, 23, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0,120,116,158, 23, 1, 0, 0, 0,184,115,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 44, 6,100, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120,116,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 24,116,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7,100, 3, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,216,116,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 72,117,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 72,116,166, 19, 1, 0, 0, 0, 56, 99,170, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 72,117,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,184,117,158, 23, 1, 0, 0, 0, +216,116,158, 23, 1, 0, 0, 0, 72,116,166, 19, 1, 0, 0, 0,152,111,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,184,117,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 40,118,158, 23, 1, 0, 0, 0, + 72,117,158, 23, 1, 0, 0, 0, 56, 99,170, 19, 1, 0, 0, 0,248,111,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 40,118,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,152,118,158, 23, 1, 0, 0, 0, +184,117,158, 23, 1, 0, 0, 0,152,111,158, 23, 1, 0, 0, 0,248,111,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,152,118,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 8,119,158, 23, 1, 0, 0, 0, + 40,118,158, 23, 1, 0, 0, 0,136,202,169, 19, 1, 0, 0, 0, 88,112,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 8,119,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,120,119,158, 23, 1, 0, 0, 0, +152,118,158, 23, 1, 0, 0, 0, 56,111,158, 23, 1, 0, 0, 0, 88,112,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,120,119,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,232,119,158, 23, 1, 0, 0, 0, + 8,119,158, 23, 1, 0, 0, 0,248,111,158, 23, 1, 0, 0, 0,184,112,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,232,119,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 88,120,158, 23, 1, 0, 0, 0, +120,119,158, 23, 1, 0, 0, 0, 88,112,158, 23, 1, 0, 0, 0, 24,113,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 88,120,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,200,120,158, 23, 1, 0, 0, 0, +232,119,158, 23, 1, 0, 0, 0, 56,111,158, 23, 1, 0, 0, 0,120,113,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,200,120,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 56,121,158, 23, 1, 0, 0, 0, + 88,120,158, 23, 1, 0, 0, 0, 24,113,158, 23, 1, 0, 0, 0,120,113,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 56,121,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,168,121,158, 23, 1, 0, 0, 0, +200,120,158, 23, 1, 0, 0, 0,136,202,169, 19, 1, 0, 0, 0,216,113,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,168,121,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 24,122,158, 23, 1, 0, 0, 0, + 56,121,158, 23, 1, 0, 0, 0,184,112,158, 23, 1, 0, 0, 0, 56,114,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 24,122,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,136,122,158, 23, 1, 0, 0, 0, +168,121,158, 23, 1, 0, 0, 0, 88,112,158, 23, 1, 0, 0, 0, 56,114,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,136,122,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,248,122,158, 23, 1, 0, 0, 0, + 24,122,158, 23, 1, 0, 0, 0,216,113,158, 23, 1, 0, 0, 0, 56,114,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,248,122,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,104,123,158, 23, 1, 0, 0, 0, +136,122,158, 23, 1, 0, 0, 0,216,113,158, 23, 1, 0, 0, 0,152,114,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,104,123,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,216,123,158, 23, 1, 0, 0, 0, +248,122,158, 23, 1, 0, 0, 0, 56,114,158, 23, 1, 0, 0, 0,152,114,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,216,123,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 72,124,158, 23, 1, 0, 0, 0, +104,123,158, 23, 1, 0, 0, 0,152,111,158, 23, 1, 0, 0, 0,248,114,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 72,124,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,184,124,158, 23, 1, 0, 0, 0, +216,123,158, 23, 1, 0, 0, 0,184,112,158, 23, 1, 0, 0, 0,248,114,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,184,124,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 40,125,158, 23, 1, 0, 0, 0, + 72,124,158, 23, 1, 0, 0, 0,152,114,158, 23, 1, 0, 0, 0,248,114,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 40,125,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,152,125,158, 23, 1, 0, 0, 0, +184,124,158, 23, 1, 0, 0, 0,216,113,158, 23, 1, 0, 0, 0, 88,115,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,152,125,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 8,126,158, 23, 1, 0, 0, 0, + 40,125,158, 23, 1, 0, 0, 0,152,114,158, 23, 1, 0, 0, 0,184,115,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 8,126,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,120,126,158, 23, 1, 0, 0, 0, +152,125,158, 23, 1, 0, 0, 0, 88,115,158, 23, 1, 0, 0, 0,184,115,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,120,126,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,232,126,158, 23, 1, 0, 0, 0, + 8,126,158, 23, 1, 0, 0, 0, 24,113,158, 23, 1, 0, 0, 0, 24,116,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,232,126,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 88,127,158, 23, 1, 0, 0, 0, +120,126,158, 23, 1, 0, 0, 0,184,112,158, 23, 1, 0, 0, 0, 24,116,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 88,127,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,200,127,158, 23, 1, 0, 0, 0, +232,126,158, 23, 1, 0, 0, 0,248,111,158, 23, 1, 0, 0, 0,120,116,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,200,127,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 56,128,158, 23, 1, 0, 0, 0, + 88,127,158, 23, 1, 0, 0, 0,120,113,158, 23, 1, 0, 0, 0,120,116,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 56,128,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,168,128,158, 23, 1, 0, 0, 0, +200,127,158, 23, 1, 0, 0, 0, 24,116,158, 23, 1, 0, 0, 0,120,116,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,168,128,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 24,129,158, 23, 1, 0, 0, 0, + 56,128,158, 23, 1, 0, 0, 0,152,111,158, 23, 1, 0, 0, 0, 88,115,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 24,129,158, 23, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +168,128,158, 23, 1, 0, 0, 0,248,114,158, 23, 1, 0, 0, 0,184,115,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,160, 0, 0, 0,136,129,158, 23, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 72,133,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,152,111,158, 23, 1, 0, 0, 0, 72,116,166, 19, 1, 0, 0, 0, 56, 99,170, 19, 1, 0, 0, 0, +248,111,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 97, 4, 0, 0, + 7, 7,119, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,205,158, 23, 1, 0, 0, 0, +232,205,158, 23, 1, 0, 0, 0,104,130,158, 23, 1, 0, 0, 0,216,131,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, +104,130,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,216,131,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,238, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 73, 0, 0, 0, 0, 0, 0, 0, 30, 67,137,128, 0, 65,200, 0, 0, 67,137,128, 0, 65,200, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 1, 74, 0, 31, 1, 74, 0, 31, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 45, 0, 0, 7,118, 0, 0, 1,189, 0, 0, 1,219, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 74, 0, 31, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,211,194, 80, 0, 0, 0,195, 0, 0, 0, 1, - 0, 0, 0, 0, 4,211,193, 48, 0, 0, 0, 0, 67,165, 0, 0,196, 86,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,156,128, 1, -195,222,128, 2, 0, 0, 0, 0, 0, 0, 1, 57, 0, 0, 1, 74, 0, 0, 0, 0, 0, 0, 1,188, 0, 0, 0, 0, 0, 0, 1, 62, - 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 56, 0, 0, 0, 0, 0, 0, 1,188, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 1, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 1, 74, - 1,189, 1, 57, 1,189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 45, 0, 0, 7,118, 0, 0, 0, 0, - 0, 0, 1,188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 74, 1,189, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4,211,195,112, 4,211,211, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, - 4,211,195,112, 0, 0, 0,193, 0, 0, 0, 1, 4,211,196,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, - 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, - 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116, -101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,220, - 1, 57, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,119, 7, 26, 0,119, 7, 26, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 96, 4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,211,196,224, 0, 0, 0,193, 0, 0, 0, 1, - 4,211,198, 80, 4,211,195,112, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,135, 1, 57, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, +216,131,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,130,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0, +112, 7, 0, 0,129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, + 0, 0, 0, 0,111, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 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, 97, 4, 0, 0, 97, 4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 4,211,198, 80, 0, 0, 0,193, 0, 0, 0, 1, 4,211,199,192, 4,211,196,224, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,255,111, 1, 57, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, + 72,133,158, 23, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,200,157,158, 23, 1, 0, 0, 0,136,129,158, 23, 1, 0, 0, 0, + 88,112,158, 23, 1, 0, 0, 0, 24,113,158, 23, 1, 0, 0, 0,120,113,158, 23, 1, 0, 0, 0, 56,111,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0, 0, 0, 0, 0,219, 1, 0, 0, 4, 4, 74, 1,220, 1, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,156,158, 23, 1, 0, 0, 0,136,156,158, 23, 1, 0, 0, 0, + 40,134,158, 23, 1, 0, 0, 0,152,135,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,134,158, 23, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,152,135,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 67, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,165, 67, 0, 0, 0, 0, 0, 0,248, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 1, 0, 0, + 0, 0, 0, 0, 30, 0, 0, 0, 0,128,137, 67, 0, 0,200, 65, 0,128,137, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 74, 1, 31, 0, 74, 1, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0,189, 1, 0, 0,219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 74, 1, 31, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,211,199,192, - 0, 0, 0,193, 0, 0, 0, 1, 4,211,201, 48, 4,211,198, 80, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,135,158, 23, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,134,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,165, 67, + 0,128, 86,196, 0, 0, 0, 0, 0, 0, 0, 0, 1,128,156, 67, 2,128,222,195, 0, 0, 0, 0, 57, 1, 0, 0, 74, 1, 0, 0, + 0, 0, 0, 0,188, 1, 0, 0, 0, 0, 0, 0, 62, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 56, 1, 0, 0, + 0, 0, 0, 0,188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, + 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0, 74, 1,189, 1, 57, 1,189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0, 0, 0, 0, 0,188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 74, 1,189, 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, + 8,137,158, 23, 1, 0, 0, 0,232,154,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 8,137,158, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,168,138,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255, 57, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,168,138,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 72,140,158, 23, 1, 0, 0, 0, + 8,137,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 57, 1, 61, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72,140,158, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,232,141,158, 23, 1, 0, 0, 0,168,138,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255, 57, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,232,141,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,136,143,158, 23, 1, 0, 0, 0, + 72,140,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111, 110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,140, 1, 57, 0,203, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254, 57, 1,203, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,211,201, 48, 0, 0, 0,193, 0, 0, 0, 1, 4,211,202,160, - 4,211,199,192, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105, -110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105, -110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136,143,158, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 40,145,158, 23, 1, 0, 0, 0,232,141,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 58, 1, 57, 0, 58, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 64, 4,211,202,160, 0, 0, 0,193, 0, 0, 0, 1, 4,211,204, 16, 4,211,201, 48, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 70,117,108,108, 32, 83, 97,109,112,108,101, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,254, 34, 1, 57, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254, 57, 1, 58, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,211,204, 16, 0, 0, 0,193, - 0, 0, 0, 1, 4,211,205,128, 4,211,202,160, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, - 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, - 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,164, 1, 57, 0,102, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 40,145,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,200,146,158, 23, 1, 0, 0, 0, +136,143,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,117,108,108, 32, 83, 97,109, +112,108,101, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254, 57, 1, 0, 0, + 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,211,205,128, 0, 0, 0,193, 0, 0, 0, 1, 4,211,206,240, 4,211,204, 16, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,200,146,158, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,104,148,158, 23, 1, 0, 0, 0, 40,145,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164,253, 57, 1,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,104,148,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 8,150,158, 23, 1, 0, 0, 0, +200,146,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,253, 57, 1,130, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 8,150,158, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,168,151,158, 23, 1, 0, 0, 0,104,148,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,252, 57, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,168,151,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 72,153,158, 23, 1, 0, 0, 0, + 8,150,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, + 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218,252, 57, 1, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72,153,158, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,232,154,158, 23, 1, 0, 0, 0,168,151,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,252, 57, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,232,154,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 72,153,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,252, 57, 1, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,136,156,158, 23, 1, 0, 0, 0, +159, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,160, 0, 0, 0,200,157,158, 23, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,168,162,158, 23, 1, 0, 0, 0, + 72,133,158, 23, 1, 0, 0, 0,136,202,169, 19, 1, 0, 0, 0,216,113,158, 23, 1, 0, 0, 0, 56,114,158, 23, 1, 0, 0, 0, + 88,112,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 6, 0, 0, 0, 0, 0, 0,131, 0, 0, 0, + 15, 15, 44, 6,132, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,161,158, 23, 1, 0, 0, 0, +136,161,158, 23, 1, 0, 0, 0,168,158,158, 23, 1, 0, 0, 0, 24,160,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, +168,158,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24,160,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0,160,137, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128,197, 68, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 43, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,202, 68, 0, 0,200, 65, 0,224,202, 68, 0, 0,200, 65, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 44, 6, 26, 0, 44, 6, 26, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, + 24,160,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,158,158, 23, 1, 0, 0, 0, + 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66,112,189, 17,192,246, 70,125, 67, 0, 0, 0, 0, 0, 0, 72, 66, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, + 0, 0, 0, 0, 43, 6, 0, 0, 18, 0, 0, 0,105, 0, 0, 0, 0, 0,128, 63, 0, 0, 72, 66, 0,124,146, 72, 0, 0, 72, 66, +205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, 8, 0, 44, 6,106, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 6, 0, 0, 26, 0, 0, 0,131, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 6,106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, +136,161,158, 23, 1, 0, 0, 0,170, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 6, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,168,162,158, 23, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, +232,168,158, 23, 1, 0, 0, 0,200,157,158, 23, 1, 0, 0, 0, 24,113,158, 23, 1, 0, 0, 0, 24,116,158, 23, 1, 0, 0, 0, +120,116,158, 23, 1, 0, 0, 0,120,113,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0, +221, 1, 0, 0, 99, 3, 0, 0, 3, 3, 74, 1,135, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +104,166,158, 23, 1, 0, 0, 0,104,166,158, 23, 1, 0, 0, 0,136,163,158, 23, 1, 0, 0, 0,248,164,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0,136,163,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,164,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,165, 67, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 66, 67, 0, 0,200, 65, + 0, 0, 66, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 74, 1, + 26, 0, 74, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0, + 74, 3, 0, 0, 99, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 1, 26, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0,248,164,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +136,163,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0,128,131, 67, 0, 0,228,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,156, 67, + 0,128,173,195, 0, 0, 0, 0, 57, 1, 0, 0, 74, 1, 0, 0, 18, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 56, 1, 0, 0, + 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 56, 1, 0, 0, 18, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 18, 6, 0, 0, 2, 0, 3, 3, 0, 0, 0, 4, 6, 0, 74, 1, +109, 1, 57, 1, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0, +221, 1, 0, 0, 73, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 1,109, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 24, 1, 0, 0,104,166,158, 23, 1, 0, 0, 0,163, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,134,166, 19, 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, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,216,134,166, 19, 1, 0, 0, 0, +217, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0,200,167,158, 23, 1, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0, +200,167,158, 23, 1, 0, 0, 0,216, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 56,106,106, 3, 1, 0, 0, 0, + 19, 0, 0, 0, 1, 0, 1, 0, 56,106,106, 3, 1, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0, 56,106,106, 3, 1, 0, 0, 0, + 21, 0, 1, 0, 1, 0, 0, 0, 56,106,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 24,169, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 1, 0, 56,114,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 8,167, 71, 27, 1, 0, 0, 0, + 21, 0, 0, 0, 1, 0, 1, 0, 56,106,106, 3, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,232,168,158, 23, 1, 0, 0, 0, +194, 0, 0, 0, 1, 0, 0, 0, 56,182,158, 23, 1, 0, 0, 0,168,162,158, 23, 1, 0, 0, 0,152,114,158, 23, 1, 0, 0, 0, +248,114,158, 23, 1, 0, 0, 0,184,112,158, 23, 1, 0, 0, 0, 56,114,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +161, 2, 0, 0, 43, 6, 0, 0,133, 0, 0, 0, 69, 4, 0, 0, 1, 1,139, 3,193, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,168,180,158, 23, 1, 0, 0, 0,168,180,158, 23, 1, 0, 0, 0,200,169,158, 23, 1, 0, 0, 0, +136,175,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,169,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 56,171,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,117, 68, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0,192, 98, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,138, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, + 4, 0, 12, 4, 10, 0,139, 3, 26, 0,139, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +161, 2, 0, 0, 43, 6, 0, 0,133, 0, 0, 0,158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +139, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,171,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, +168,172,158, 23, 1, 0, 0, 0,200,169,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 15, 67,255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, + 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, + 18, 0, 0, 0, 6, 0,160, 0, 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +161, 2, 0, 0,161, 2, 0, 0,159, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0,167, 3, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,172,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 24,174,158, 23, 1, 0, 0, 0, 56,171,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 67, 0, 0,206,194, 0, 0, 0, 0, + 0, 0, 0, 0,231,102, 16, 67, 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, + 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, + 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +161, 2, 0, 0, 43, 6, 0, 0,159, 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,174,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, +136,175,158, 23, 1, 0, 0, 0,168,172,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0,128, 96,196, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 35, 67, 0,128, 96,196, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0,147, 3, 0, 0, + 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 0,147, 3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, + 18, 0, 0, 0, 6, 0,180, 0,148, 3,163, 0,130, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 43, 6, 0, 0, 43, 6, 0, 0,159, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,175,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 24,174,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +161, 2, 0, 0, 43, 6, 0, 0,159, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +139, 3,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +248,176,158, 23, 1, 0, 0, 0, 68, 65, 84, 65,104, 3, 0, 0,248,176,158, 23, 1, 0, 0, 0,153, 0, 0, 0, 1, 0, 0, 0, +107, 82,144, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 13,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 74,215, 76,190, 0, 0, 0, 0, + 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0, +162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63, + 69,239,209, 62, 70,119,105, 63,176, 84, 89,188, 0, 0, 0, 0, 53,177,205,190,142, 74, 70, 62,166, 33,101, 63, 0, 0, 0, 0, +185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62, 0, 0, 0, 0,164, 96, 68, 65,111,121,173,192,248,209,213, 64, 0, 0,128, 63, + 89,180,236, 62,209,249,224,190, 48,180, 81,191,184,158, 81,191, 65,158,131, 63,142,225, 88, 62, 26, 63,185, 62, 35, 44,185, 62, + 38, 11,117,188,207,156,122, 63,138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 9,185,108, 65,214,211,111, 65, +211, 48,186, 62, 11, 16, 79, 63,144,199, 64,188, 0, 0,135,180,163, 15,188,190,102, 75, 53, 62,223,125, 81, 63, 0, 0,104, 51, +207,107,117,194, 81,204,216, 65, 40,156, 5,194,136,247,159,192,121, 62,114, 66,214,253,213,193, 94,225, 3, 66,236, 7,160, 64, + 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0, +162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63, + 89,180,236, 62,209,249,224,190, 48,180, 81,191,184,158, 81,191, 65,158,131, 63,142,225, 88, 62, 26, 63,185, 62, 35, 44,185, 62, + 38, 11,117,188,207,156,122, 63,138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 9,185,108, 65,214,211,111, 65, + 99,181, 12, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99,181, 12, 64, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 99,181, 12, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190,214,211,111, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 43, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 30, 33, 12, 66, 85,152,137, 66, +116, 27,126, 66, 0, 0, 0, 0, 68, 65, 84, 65, 72, 1, 0, 0,168,180,158, 23, 1, 0, 0, 0,154, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0, 56,114,106, 3, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 0, 0, 8, 8, 0, 0, 0, 0, + 0, 0, 12, 66, 0, 0,128, 63, 0, 0,128, 63,205,204,204, 61, 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0,255,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 56,182,158, 23, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, +120,190,158, 23, 1, 0, 0, 0,232,168,158, 23, 1, 0, 0, 0,216,113,158, 23, 1, 0, 0, 0, 88,115,158, 23, 1, 0, 0, 0, +184,115,158, 23, 1, 0, 0, 0,152,114,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 2, 0, 0, +133, 0, 0, 0,139, 1, 0, 0, 2, 2,160, 2, 7, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +216,188,158, 23, 1, 0, 0, 0,216,188,158, 23, 1, 0, 0, 0, 24,183,158, 23, 1, 0, 0, 0,104,187,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0, 24,183,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,184,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,100, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 40, 68, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,103, 68, 0, 0,200, 65, + 0,192,103, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,160, 2, + 26, 0,160, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 2, 0, 0, +133, 0, 0, 0,158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 2, 26, 0, 0, 0, 1, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0,136,184,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,185,158, 23, 1, 0, 0, 0, + 24,183,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 0, 0,112,193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, + 0, 0, 91,195, 0, 0, 0, 0,200, 0, 0, 0,217, 0, 0, 0, 18, 0, 0, 0,236, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, + 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 0,236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 10, 6, 0, 0, 2, 0, 3, 3, 0, 0, 0, 4, 6, 0,217, 0, +237, 0,200, 0,219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 0, 0, +159, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0,237, 0, 0, 0, 2, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0,248,185,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,104,187,158, 23, 1, 0, 0, 0, +136,184,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 2, 0, 0,159, 2, 0, 0, +159, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, + 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0,104,187,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +248,185,158, 23, 1, 0, 0, 0, 0, 0, 16,193, 0, 0,130, 67, 0, 0,160,192, 0, 0,160, 64, 0, 0, 0, 0, 0, 0,122, 67, + 0, 0, 16,193, 0, 0, 32, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,236, 0, 0, 0, 18, 0, 0, 0,198, 1, 0, 0, + 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,198, 1, 0, 0, 18, 0, 0, 0,236, 0, 0, 0,111, 18,131, 58,111, 18,131, 58, + 0,124,146, 72, 0, 80, 67, 71, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0,199, 1, +237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0, 0, 0,159, 2, 0, 0, +159, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 1,237, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,240, 0, 0, 0,216,188,158, 23, 1, 0, 0, 0,158, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 8,190,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,190,158, 23, 1, 0, 0, 0, 16, 1, 0, 0, 1, 0, 0, 0, + 56,106,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,120,190,158, 23, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, +232,196,158, 23, 1, 0, 0, 0, 56,182,158, 23, 1, 0, 0, 0, 88,115,158, 23, 1, 0, 0, 0,152,111,158, 23, 1, 0, 0, 0, +248,114,158, 23, 1, 0, 0, 0,184,115,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 2, 0, 0, +141, 1, 0, 0, 69, 4, 0, 0, 12, 12,160, 2,185, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +168,195,158, 23, 1, 0, 0, 0,168,195,158, 23, 1, 0, 0, 0, 88,191,158, 23, 1, 0, 0, 0, 56,194,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0, 88,191,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,200,192,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,106, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 40, 68, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,103, 68, 0, 0,200, 65, + 0,192,103, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,160, 2, + 26, 0,160, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 2, 0, 0, +141, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 2, 26, 0, 0, 0, 1, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0,200,192,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,194,158, 23, 1, 0, 0, 0, + 88,191,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 67, 0, 0, 0,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, + 0, 64, 35,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, + 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 0,158, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 8, 4, 0, 0, 2, 0, 3, 3, 0, 0, 2, 4, 6, 0,200, 0, +159, 2,200, 0,141, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, +167, 1, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 0,159, 2, 0, 0, 2, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0, 56,194,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +200,192,158, 23, 1, 0, 0, 0, 0, 0, 32,193, 0, 0,104, 68, 0, 0, 0,194, 0, 0, 0, 0, 0, 0, 32,193, 0, 0,104, 68, + 0, 64, 35,196, 0, 0, 0, 0,199, 1, 0, 0,216, 1, 0, 0, 18, 0, 0, 0,158, 2, 0, 0, 0, 0, 0, 0,198, 1, 0, 0, + 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,198, 1, 0, 0, 18, 0, 0, 0,158, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,124,146, 72, 0, 64, 28, 70, 10,215, 35, 60, 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 4, 4, 0,216, 1, +159, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 0, 0, 0,159, 2, 0, 0, +167, 1, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 1,159, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 0, 1, 0, 0,168,195,158, 23, 1, 0, 0, 0, 17, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56,106,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, +232,196,158, 23, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,190,158, 23, 1, 0, 0, 0, + 24,116,158, 23, 1, 0, 0, 0,184,112,158, 23, 1, 0, 0, 0,248,111,158, 23, 1, 0, 0, 0,120,116,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0,101, 3, 0, 0, 69, 4, 0, 0, 1, 1, 74, 1,225, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,204,158, 23, 1, 0, 0, 0, 88,204,158, 23, 1, 0, 0, 0, +200,197,158, 23, 1, 0, 0, 0, 56,199,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,197,158, 23, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 56,199,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102, 68, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,165, 67, 0, 0, 0, 64, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 1, 0, 0, + 0, 0, 0, 0, 23, 0, 0, 0, 0,128,164, 67, 0, 0,200, 65, 0,128,164, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 74, 1, 24, 0, 74, 1, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0,101, 3, 0, 0,101, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,199,158, 23, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,197,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0,101, 3, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 74, 1,225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,168,200,158, 23, 1, 0, 0, 0, 68, 65, 84, 65,104, 3, 0, 0,168,200,158, 23, 1, 0, 0, 0, +153, 0, 0, 0, 1, 0, 0, 0, 24,255, 13, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 66, 80, 64, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 65,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, + 72, 1, 77,190, 0, 0, 0, 0,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62, +149, 84, 28,191, 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0, 90, 38,173,190,254,221,192,190, +152, 9, 52,193, 0, 0,128, 63,223,149, 47, 63, 55, 70, 58, 63,192, 56, 49,188, 0, 0, 0, 0, 87,126,162,190,228,251,159, 62, + 56, 53,101, 63, 0, 0, 0, 0, 7,165, 39, 63,150, 84, 28,191, 50,247,227, 62, 0, 0, 0, 0,110,101,239, 64,151, 62,208,192, + 77,255,170, 64, 0, 0,128, 63, 3,201,194, 63, 34, 49,132,191,244,250, 39,191, 8,165, 39,191,143,164,206, 63,124, 38,130, 63, +180,164, 28, 63,149, 84, 28, 63,179,153,196,188, 42,119, 58, 64, 8,108,228,190, 50,247,227,190, 82, 21, 64,191,204,230,156,191, +216, 49, 49, 65,152, 9, 52, 65,231, 70,158, 62, 23,234,167, 62,128,206,159,187, 0, 0,168,180, 59,189,199,189,147,167,196, 61, +206,223,140, 62, 0, 0,248, 51,211,120, 21,194,145, 5, 2, 66, 10,136,213,193,193,214,159,192,219, 38, 19, 66,197,173,255,193, +158,101,210, 65,173, 40,160, 64,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62, +149, 84, 28,191, 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0, 90, 38,173,190,254,221,192,190, +152, 9, 52,193, 0, 0,128, 63, 3,201,194, 63, 34, 49,132,191,244,250, 39,191, 8,165, 39,191,143,164,206, 63,124, 38,130, 63, +180,164, 28, 63,149, 84, 28, 63,179,153,196,188, 42,119, 58, 64, 8,108,228,190, 50,247,227,190, 82, 21, 64,191,204,230,156,191, +216, 49, 49, 65,152, 9, 52, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,241, 22, 72, 63, 78,162,246,190, 44, 8, 90,190, 3, 35,171,190, 0, 0, 32, 65, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,202, 4, 51, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 1, 0, 0, 88,204,158, 23, 1, 0, 0, 0, +154, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0, + 56,114,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 3, 0, + 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 12, 66, 0, 0,128, 63, 0, 0,128, 63, 10,215, 35, 60, 0, 0,250, 67, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0,104,206,158, 23, 1, 0, 0, 0, +190, 0, 0, 0, 1, 0, 0, 0,200, 23,159, 23, 1, 0, 0, 0, 24,110,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 67,111,109,112,111,115,105,116,105,110,103, 0,103, 46, 48, 48, 49, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,207,158, 23, 1, 0, 0, 0,104,212,158, 23, 1, 0, 0, 0, +200,212,158, 23, 1, 0, 0, 0,248,221,158, 23, 1, 0, 0, 0,104,222,158, 23, 1, 0, 0, 0, 24, 18,159, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,106,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0,136,207,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,232,207,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, +232,207,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 72,208,158, 23, 1, 0, 0, 0,136,207,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72,208,158, 23, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0,168,208,158, 23, 1, 0, 0, 0,232,207,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +118, 7, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,208,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, + 8,209,158, 23, 1, 0, 0, 0, 72,208,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0, 8,209,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,104,209,158, 23, 1, 0, 0, 0, +168,208,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, +104,209,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,200,209,158, 23, 1, 0, 0, 0, 8,209,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200,209,158, 23, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0, 40,210,158, 23, 1, 0, 0, 0,104,209,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 24, 6,100, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 40,210,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, +136,210,158, 23, 1, 0, 0, 0,200,209,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7,100, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0,136,210,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,232,210,158, 23, 1, 0, 0, 0, + 40,210,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 6, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, +232,210,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 72,211,158, 23, 1, 0, 0, 0,136,210,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,172, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72,211,158, 23, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0,168,211,158, 23, 1, 0, 0, 0,232,210,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 24, 6,172, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,211,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, + 8,212,158, 23, 1, 0, 0, 0, 72,211,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,172, 1, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0, 8,212,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,104,212,158, 23, 1, 0, 0, 0, +168,211,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, +104,212,158, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,212,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 24, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,212,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 56,213,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,207,158, 23, 1, 0, 0, 0, + 72,208,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,213,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,168,213,158, 23, 1, 0, 0, 0,200,212,158, 23, 1, 0, 0, 0,232,207,158, 23, 1, 0, 0, 0, + 8,209,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,213,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 24,214,158, 23, 1, 0, 0, 0, 56,213,158, 23, 1, 0, 0, 0, 72,208,158, 23, 1, 0, 0, 0, +104,209,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,214,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,136,214,158, 23, 1, 0, 0, 0,168,213,158, 23, 1, 0, 0, 0, 8,209,158, 23, 1, 0, 0, 0, +104,209,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,214,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,248,214,158, 23, 1, 0, 0, 0, 24,214,158, 23, 1, 0, 0, 0,168,208,158, 23, 1, 0, 0, 0, + 40,210,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,214,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,104,215,158, 23, 1, 0, 0, 0,136,214,158, 23, 1, 0, 0, 0,200,209,158, 23, 1, 0, 0, 0, + 40,210,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,215,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,216,215,158, 23, 1, 0, 0, 0,248,214,158, 23, 1, 0, 0, 0,104,209,158, 23, 1, 0, 0, 0, +136,210,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,215,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 72,216,158, 23, 1, 0, 0, 0,104,215,158, 23, 1, 0, 0, 0, 8,209,158, 23, 1, 0, 0, 0, +136,210,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,216,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,184,216,158, 23, 1, 0, 0, 0,216,215,158, 23, 1, 0, 0, 0,200,209,158, 23, 1, 0, 0, 0, +136,210,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,216,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 40,217,158, 23, 1, 0, 0, 0, 72,216,158, 23, 1, 0, 0, 0,104,209,158, 23, 1, 0, 0, 0, + 40,210,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,217,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,152,217,158, 23, 1, 0, 0, 0,184,216,158, 23, 1, 0, 0, 0, 8,209,158, 23, 1, 0, 0, 0, +232,210,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,217,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 8,218,158, 23, 1, 0, 0, 0, 40,217,158, 23, 1, 0, 0, 0,136,210,158, 23, 1, 0, 0, 0, + 72,211,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,218,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,120,218,158, 23, 1, 0, 0, 0,152,217,158, 23, 1, 0, 0, 0,232,210,158, 23, 1, 0, 0, 0, + 72,211,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,218,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,232,218,158, 23, 1, 0, 0, 0, 8,218,158, 23, 1, 0, 0, 0,232,210,158, 23, 1, 0, 0, 0, +168,211,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,218,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 88,219,158, 23, 1, 0, 0, 0,120,218,158, 23, 1, 0, 0, 0, 72,211,158, 23, 1, 0, 0, 0, +168,211,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,219,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,200,219,158, 23, 1, 0, 0, 0,232,218,158, 23, 1, 0, 0, 0,136,207,158, 23, 1, 0, 0, 0, + 8,212,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,219,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 56,220,158, 23, 1, 0, 0, 0, 88,219,158, 23, 1, 0, 0, 0, 8,212,158, 23, 1, 0, 0, 0, +104,212,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,220,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,168,220,158, 23, 1, 0, 0, 0,200,219,158, 23, 1, 0, 0, 0,168,208,158, 23, 1, 0, 0, 0, +104,212,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,220,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 24,221,158, 23, 1, 0, 0, 0, 56,220,158, 23, 1, 0, 0, 0,200,209,158, 23, 1, 0, 0, 0, +104,212,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,221,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,136,221,158, 23, 1, 0, 0, 0,168,220,158, 23, 1, 0, 0, 0,168,211,158, 23, 1, 0, 0, 0, + 8,212,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,221,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,248,221,158, 23, 1, 0, 0, 0, 24,221,158, 23, 1, 0, 0, 0, 72,211,158, 23, 1, 0, 0, 0, +104,212,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,221,158, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,221,158, 23, 1, 0, 0, 0,136,207,158, 23, 1, 0, 0, 0, +232,210,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,104,222,158, 23, 1, 0, 0, 0, +194, 0, 0, 0, 1, 0, 0, 0, 40,226,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,209,158, 23, 1, 0, 0, 0, +232,207,158, 23, 1, 0, 0, 0, 72,208,158, 23, 1, 0, 0, 0,104,209,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 97, 4, 0, 0, 7, 7,119, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 72, 23,159, 23, 1, 0, 0, 0, 72, 23,159, 23, 1, 0, 0, 0, 72,223,158, 23, 1, 0, 0, 0, +184,224,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,223,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, +184,224,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0,224,238, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, + 4, 0, 12, 4, 10, 0,119, 7, 26, 0,119, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 96, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,224,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 72,223,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, + 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, + 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 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, 97, 4, 0, 0, 97, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 40,226,158, 23, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, + 8,231,158, 23, 1, 0, 0, 0,104,222,158, 23, 1, 0, 0, 0,104,212,158, 23, 1, 0, 0, 0,200,209,158, 23, 1, 0, 0, 0, + 40,210,158, 23, 1, 0, 0, 0,168,208,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 6, 0, 0,118, 7, 0, 0, + 0, 0, 0, 0, 99, 0, 0, 0, 15, 15, 94, 1,100, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, +232,229,158, 23, 1, 0, 0, 0,232,229,158, 23, 1, 0, 0, 0, 8,227,158, 23, 1, 0, 0, 0,120,228,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0, 8,227,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120,228,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,110, 68, 0, 0, 0, 0, 0, 0,208, 65, 0,128,161, 67, 0, 64, 40, 68, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,202, 68, 0, 0,200, 65, + 0,224,202, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 94, 1, + 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 6, 0, 0,118, 7, 0, 0, + 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 26, 0, 0, 0, 1, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0,120,228,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 8,227,158, 23, 1, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66, 50, 51, 74,193,154,209,131, 67, + 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, + 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 18, 0, 0, 0, 73, 0, 0, 0, 0, 0,128, 63, 0, 0, 72, 66, + 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, 8, 0, 94, 1, + 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 6, 0, 0,118, 7, 0, 0, + 26, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 74, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,216, 0, 0, 0,232,229,158, 23, 1, 0, 0, 0,170, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 8,231,158, 23, 1, 0, 0, 0, +194, 0, 0, 0, 1, 0, 0, 0,136,255,158, 23, 1, 0, 0, 0, 40,226,158, 23, 1, 0, 0, 0,200,209,158, 23, 1, 0, 0, 0, +136,210,158, 23, 1, 0, 0, 0,104,209,158, 23, 1, 0, 0, 0, 40,210,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 25, 6, 0, 0,118, 7, 0, 0,101, 0, 0, 0, 69, 4, 0, 0, 4, 4, 94, 1,225, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 72,254,158, 23, 1, 0, 0, 0, 72,254,158, 23, 1, 0, 0, 0,232,231,158, 23, 1, 0, 0, 0, + 88,233,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232,231,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 88,233,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 67, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0, 0,175, 67, 0, 0, 0, 0, 0, 0,248, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, + 0,128,137, 67, 0, 0,200, 65, 0,128,137, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, + 4, 0, 12, 4, 10, 0, 94, 1, 31, 0, 94, 1, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 25, 6, 0, 0,118, 7, 0, 0, 39, 4, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 94, 1, 31, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,233,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,232,231,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0,128,174, 67, 0, 64,112,196, 0, 0, 0, 0, + 0, 0, 0, 0,255,127,166, 67,254,127,112,196, 0, 0, 0, 0, 77, 1, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0,193, 3, 0, 0, + 0, 0, 0, 0, 82, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0,193, 3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, + 18, 0, 0, 4, 6, 0, 94, 1,194, 3, 77, 1,194, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 25, 6, 0, 0,118, 7, 0, 0,101, 0, 0, 0, 38, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 94, 1,194, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,234,158, 23, 1, 0, 0, 0, +168,252,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,200,234,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, +104,236,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,220,255, 76, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, +104,236,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 8,238,158, 23, 1, 0, 0, 0,200,234,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 76, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 8,238,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, +168,239,158, 23, 1, 0, 0, 0,104,236,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,111,255, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, +168,239,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 72,241,158, 23, 1, 0, 0, 0, 8,238,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115, +105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115, +105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254, 76, 1,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72,241,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, +232,242,158, 23, 1, 0, 0, 0,168,239,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 65,110,116,105, 45, 65,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 58,254, 76, 1, 58, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, +232,242,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,136,244,158, 23, 1, 0, 0, 0, 72,241,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, + 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, + 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,117,108,108, 32, 83, 97,109,112,108,101, 32, 77,111,116,105, +111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254, 76, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136,244,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, + 40,246,158, 23, 1, 0, 0, 0,232,242,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 83,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,164,253, 76, 1,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, + 40,246,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,200,247,158, 23, 1, 0, 0, 0,136,244,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,253, 76, 1,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,200,247,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, +104,249,158, 23, 1, 0, 0, 0, 40,246,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,242,252, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, +104,249,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 8,251,158, 23, 1, 0, 0, 0,200,247,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112, +114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112, +114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,103, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218,252, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 8,251,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, +168,252,158, 23, 1, 0, 0, 0,104,249,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,194,252, 76, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, +168,252,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,251,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,252, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 72,254,158, 23, 1, 0, 0, 0,159, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, +136,255,158, 23, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,216, 12,159, 23, 1, 0, 0, 0, 8,231,158, 23, 1, 0, 0, 0, + 8,212,158, 23, 1, 0, 0, 0,168,211,158, 23, 1, 0, 0, 0, 72,211,158, 23, 1, 0, 0, 0,104,212,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 23, 6, 0, 0, 0, 0, 0, 0,171, 1, 0, 0, 1, 1, 23, 3,172, 1, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 11,159, 23, 1, 0, 0, 0, 72, 11,159, 23, 1, 0, 0, 0, +104, 0,159, 23, 1, 0, 0, 0, 40, 6,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104, 0,159, 23, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,216, 1,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102, 68, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 69, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 3, 0, 0, + 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 23, 3, 26, 0, 23, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 23, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 23, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216, 1,159, 23, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 72, 3,159, 23, 1, 0, 0, 0,104, 0,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, + 0, 64, 70,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, + 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, + 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, + 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 3, 0, 0, 26, 0, 0, 0,171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,146, 1, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72, 3,159, 23, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,184, 4,159, 23, 1, 0, 0, 0,216, 1,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 67, + 0, 0,206,194, 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67, 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, + 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, + 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, + 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 23, 6, 0, 0, 26, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184, 4,159, 23, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 40, 6,159, 23, 1, 0, 0, 0, 72, 3,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, + 0,192,108,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0, 0,184,195, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, + 18, 0, 0, 0,129, 1, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, + 18, 0, 0, 0,129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, + 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0,130, 1,163, 0,112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 23, 6, 0, 0, 23, 6, 0, 0, 26, 0, 0, 0,171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40, 6,159, 23, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 4,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 23, 6, 0, 0, 26, 0, 0, 0,171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 23, 3,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,152, 7,159, 23, 1, 0, 0, 0, 68, 65, 84, 65,104, 3, 0, 0,152, 7,159, 23, 1, 0, 0, 0, +153, 0, 0, 0, 1, 0, 0, 0, 36,101,230, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118,171, 98, 64, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 65,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, + 72, 1, 77,190, 0, 0, 0, 0,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62, +149, 84, 28,191, 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0, 90, 38,173,190,254,221,192,190, +152, 9, 52,193, 0, 0,128, 63,223,149, 47, 63, 55, 70, 58, 63,192, 56, 49,188, 0, 0, 0, 0, 87,126,162,190,228,251,159, 62, + 56, 53,101, 63, 0, 0, 0, 0, 7,165, 39, 63,150, 84, 28,191, 50,247,227, 62, 0, 0, 0, 0,110,101,239, 64,151, 62,208,192, + 77,255,170, 64, 0, 0,128, 63, 3, 6,158, 63, 92,224,143,191,244,250, 39,191, 8,165, 39,191,170,164,167, 63,132,167,141, 63, +180,164, 28, 63,149, 84, 28, 63, 0,127,159,188,126,242, 74, 64, 8,108,228,190, 50,247,227,190,221,212, 27,191, 39,197,170,191, +216, 49, 49, 65,152, 9, 52, 65, 25, 25,195, 62, 12,250,206, 62, 0,247,196,187, 0, 0,150,180,203,132,183,189, 61,175,180, 61, +245,110,129, 62, 0, 0,120, 51,211,120, 21,194,144, 5, 2, 66, 9,136,213,193,193,214,159,192,219, 38, 19, 66,196,173,255,193, +157,101,210, 65,173, 40,160, 64,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62, +149, 84, 28,191, 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0, 90, 38,173,190,254,221,192,190, +152, 9, 52,193, 0, 0,128, 63, 3, 6,158, 63, 92,224,143,191,244,250, 39,191, 8,165, 39,191,170,164,167, 63,132,167,141, 63, +180,164, 28, 63,149, 84, 28, 63, 0,127,159,188,126,242, 74, 64, 8,108,228,190, 50,247,227,190,221,212, 27,191, 39,197,170,191, +216, 49, 49, 65,152, 9, 52, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,241, 22, 72, 63, 78,162,246,190, 44, 8, 90,190, 3, 35,171,190,214,211,111, 65,214,211,111, 65, + 0, 0, 0, 0, 0, 0, 0, 0,162, 30,184, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190, 1, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 1, 0, 0, 72, 11,159, 23, 1, 0, 0, 0, +154, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0, + 56,114,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, + 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 12, 66, 0, 0,128, 63, 0, 0,128, 63,205,204,204, 61, 0, 0,250, 67, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,216, 12,159, 23, 1, 0, 0, 0, +194, 0, 0, 0, 1, 0, 0, 0, 24, 18,159, 23, 1, 0, 0, 0,136,255,158, 23, 1, 0, 0, 0,232,210,158, 23, 1, 0, 0, 0, + 8,209,158, 23, 1, 0, 0, 0,136,210,158, 23, 1, 0, 0, 0, 72,211,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 23, 6, 0, 0,173, 1, 0, 0, 69, 4, 0, 0, 16, 16, 24, 6,153, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,152, 16,159, 23, 1, 0, 0, 0,152, 16,159, 23, 1, 0, 0, 0,184, 13,159, 23, 1, 0, 0, 0, + 40, 15,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184, 13,159, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 40, 15,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 41, 68, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0, 0,195, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0,224,189, 68, 0, 0,200, 65, 0,224,189, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, + 4, 0, 12, 4, 10, 0, 24, 6, 26, 0, 24, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 23, 6, 0, 0,173, 1, 0, 0,198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 24, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40, 15,159, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,184, 13,159, 23, 1, 0, 0, 0, 0, 0, 32,193, 0, 0, 0, 68, 0, 0, 32,193, 0, 0, 0, 68, +128,195,217,195,192,225,108, 68,240,130,178,193, 24,148, 5, 68, 7, 6, 0, 0, 24, 6, 0, 0, 18, 0, 0, 0,126, 2, 0, 0, + 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 18, 0, 0, 0,126, 2, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,250, 70, 0, 0,250, 70,236, 81,184, 61, 10,215, 19, 64, 10, 0, 0, 0, 0, 0, 3, 0, + 0, 0, 0, 4, 0, 0, 24, 6,127, 2, 7, 6,109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 23, 6, 0, 0,199, 1, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 24, 6,127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,152, 16,159, 23, 1, 0, 0, 0,171, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 19, 64, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56,106,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,123,246, 98, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, + 24, 18,159, 23, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 12,159, 23, 1, 0, 0, 0, +136,207,158, 23, 1, 0, 0, 0,232,210,158, 23, 1, 0, 0, 0,168,211,158, 23, 1, 0, 0, 0, 8,212,158, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 2, 0, 0, 0, 0, 0, 0,171, 1, 0, 0, 6, 6, 0, 3,172, 1, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,218,105, 3, 1, 0, 0, 0, 56,218,105, 3, 1, 0, 0, 0, +248, 18,159, 23, 1, 0, 0, 0,216, 21,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248, 18,159, 23, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,104, 20,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215, 67, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 64, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 2, 0, 0, + 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 63, 68, 0, 0,200, 65, 0,192, 63, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 0, 3, 26, 0, 0, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104, 20,159, 23, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,216, 21,159, 23, 1, 0, 0, 0,248, 18,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0,171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216, 21,159, 23, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 20,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, + 0, 0, 0, 0, 0, 0,128, 67, 0, 0,128,191, 0, 0, 0, 64, 0, 0,146,190, 0,128,164, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 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, 0, 0, 0,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 2, 0, 0, 26, 0, 0, 0,171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 33, 0, 0, 56,218,105, 3, 1, 0, 0, 0, +164, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 65, 0, 0, 0, 0,154,153,153, 62, + 0, 0, 0, 0,100, 0, 0, 0,154,153,153, 62,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 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,100, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0,200, 23,159, 23, 1, 0, 0, 0, +190, 0, 0, 0, 1, 0, 0, 0, 88,161, 70, 27, 1, 0, 0, 0,104,206,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 68,101,102, 97,117,108,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 24,159, 23, 1, 0, 0, 0, 72, 28,159, 23, 1, 0, 0, 0, +168, 28,159, 23, 1, 0, 0, 0,200, 34,159, 23, 1, 0, 0, 0, 56, 35,159, 23, 1, 0, 0, 0,136,122, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,106,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,105, 44, 44, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0,232, 24,159, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 72, 25,159, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, + 72, 25,159, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,168, 25,159, 23, 1, 0, 0, 0,232, 24,159, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168, 25,159, 23, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0, 8, 26,159, 23, 1, 0, 0, 0, 72, 25,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +156, 5, 88, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8, 26,159, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, +104, 26,159, 23, 1, 0, 0, 0,168, 25,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,156, 5, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0,104, 26,159, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,200, 26,159, 23, 1, 0, 0, 0, + 8, 26,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, +200, 26,159, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 40, 27,159, 23, 1, 0, 0, 0,104, 26,159, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,156, 5, 61, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 40, 27,159, 23, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0,136, 27,159, 23, 1, 0, 0, 0,200, 26,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +116, 4, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136, 27,159, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, +232, 27,159, 23, 1, 0, 0, 0, 40, 27,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116, 4, 61, 3, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0,232, 27,159, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 72, 28,159, 23, 1, 0, 0, 0, +136, 27,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,172, 1, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, + 72, 28,159, 23, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 27,159, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,116, 4,172, 1, 1, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168, 28,159, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 24, 29,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 25,159, 23, 1, 0, 0, 0, +168, 25,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24, 29,159, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,136, 29,159, 23, 1, 0, 0, 0,168, 28,159, 23, 1, 0, 0, 0, 72, 25,159, 23, 1, 0, 0, 0, +104, 26,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136, 29,159, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,248, 29,159, 23, 1, 0, 0, 0, 24, 29,159, 23, 1, 0, 0, 0,168, 25,159, 23, 1, 0, 0, 0, +200, 26,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248, 29,159, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,104, 30,159, 23, 1, 0, 0, 0,136, 29,159, 23, 1, 0, 0, 0,104, 26,159, 23, 1, 0, 0, 0, +200, 26,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104, 30,159, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,216, 30,159, 23, 1, 0, 0, 0,248, 29,159, 23, 1, 0, 0, 0,232, 24,159, 23, 1, 0, 0, 0, + 40, 27,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216, 30,159, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 72, 31,159, 23, 1, 0, 0, 0,104, 30,159, 23, 1, 0, 0, 0, 8, 26,159, 23, 1, 0, 0, 0, + 40, 27,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72, 31,159, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,184, 31,159, 23, 1, 0, 0, 0,216, 30,159, 23, 1, 0, 0, 0,200, 26,159, 23, 1, 0, 0, 0, +136, 27,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184, 31,159, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 40, 32,159, 23, 1, 0, 0, 0, 72, 31,159, 23, 1, 0, 0, 0,232, 24,159, 23, 1, 0, 0, 0, +232, 27,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 32,159, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,152, 32,159, 23, 1, 0, 0, 0,184, 31,159, 23, 1, 0, 0, 0,104, 26,159, 23, 1, 0, 0, 0, +232, 27,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152, 32,159, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 8, 33,159, 23, 1, 0, 0, 0, 40, 32,159, 23, 1, 0, 0, 0,136, 27,159, 23, 1, 0, 0, 0, + 72, 28,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 33,159, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,120, 33,159, 23, 1, 0, 0, 0,152, 32,159, 23, 1, 0, 0, 0, 40, 27,159, 23, 1, 0, 0, 0, + 72, 28,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120, 33,159, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,232, 33,159, 23, 1, 0, 0, 0, 8, 33,159, 23, 1, 0, 0, 0,232, 27,159, 23, 1, 0, 0, 0, + 72, 28,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 33,159, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 88, 34,159, 23, 1, 0, 0, 0,120, 33,159, 23, 1, 0, 0, 0,104, 26,159, 23, 1, 0, 0, 0, +136, 27,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88, 34,159, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,200, 34,159, 23, 1, 0, 0, 0,232, 33,159, 23, 1, 0, 0, 0, 40, 27,159, 23, 1, 0, 0, 0, +136, 27,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200, 34,159, 23, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 34,159, 23, 1, 0, 0, 0, 8, 26,159, 23, 1, 0, 0, 0, +200, 26,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 56, 35,159, 23, 1, 0, 0, 0, +194, 0, 0, 0, 1, 0, 0, 0,248, 38,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 26,159, 23, 1, 0, 0, 0, + 72, 25,159, 23, 1, 0, 0, 0,168, 25,159, 23, 1, 0, 0, 0,200, 26,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,156, 5, 0, 0, 62, 3, 0, 0, 88, 3, 0, 0, 7, 7,157, 5, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 8, 0, + 88,216, 82, 2, 1, 0, 0, 0, 56,192,159, 23, 1, 0, 0, 0, 56,192,159, 23, 1, 0, 0, 0, 24, 36,159, 23, 1, 0, 0, 0, +136, 37,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 4,150, 23, 1, 0, 0, 0, +200, 5,150, 23, 1, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24, 36,159, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, +136, 37,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,150, 68, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0,160,179, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,156, 5, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, + 4, 0, 12, 4, 10, 0,157, 5, 26, 0,157, 5, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,156, 5, 0, 0, 62, 3, 0, 0, 87, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +157, 5, 26, 0, 2, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 88,218, 82, 2, 1, 0, 0, 0, 40, 6, 55, 23, 1, 0, 0, 0, 40, 6, 55, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,184, 6,150, 23, 1, 0, 0, 0, 40, 93,164, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136, 37,159, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 24, 36,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, + 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, + 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 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, 88, 3, 0, 0, 88, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +104,217, 82, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,248, 38,159, 23, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, +200, 53, 70, 27, 1, 0, 0, 0, 56, 35,159, 23, 1, 0, 0, 0, 40, 27,159, 23, 1, 0, 0, 0,136, 27,159, 23, 1, 0, 0, 0, +200, 26,159, 23, 1, 0, 0, 0, 8, 26,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,117, 4, 0, 0,156, 5, 0, 0, + 0, 0, 0, 0, 60, 3, 0, 0, 4, 4, 40, 1, 61, 3, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0, 8,212, 82, 2, 1, 0, 0, 0, +120, 94,157, 23, 1, 0, 0, 0,232, 63,157, 23, 1, 0, 0, 0,216, 39,159, 23, 1, 0, 0, 0, 72, 41,159, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 93,164, 19, 1, 0, 0, 0,248, 94,164, 19, 1, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0,216, 39,159, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 72, 41,159, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,148, 67, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,137, 67, 0, 0,200, 65, + 0,128,137, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 40, 1, + 26, 0, 40, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,117, 4, 0, 0,156, 5, 0, 0, + 35, 3, 0, 0, 60, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 26, 0, 3, 0, 1, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,215, 82, 2, 1, 0, 0, 0, + 88,102, 55, 23, 1, 0, 0, 0, 88,102, 55, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +120, 6,167, 19, 1, 0, 0, 0,232, 8,167, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0, 72, 41,159, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +216, 39,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0,128,156, 67, 0, 0, 77,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, + 0,192, 72,196, 0, 0, 0, 0, 43, 1, 0, 0, 60, 1, 0, 0, 0, 0, 0, 0, 29, 3, 0, 0, 0, 0, 0, 0, 74, 1, 0, 0, + 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 0, 0, 34, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0, 40, 1, + 35, 3, 40, 1, 35, 3, 0, 0, 88,142,157, 23, 1, 0, 0, 0, 6, 0, 0, 0, 5, 0, 0, 0,117, 4, 0, 0,156, 5, 0, 0, + 0, 0, 0, 0, 34, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 35, 3, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,213, 82, 2, 1, 0, 0, 0, + 56,211, 55, 23, 1, 0, 0, 0,232,244, 53, 23, 1, 0, 0, 0,184, 42,159, 23, 1, 0, 0, 0,104, 46, 70, 27, 1, 0, 0, 0, + 40, 10,167, 19, 1, 0, 0, 0,152, 12,167, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,184, 42,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 88, 44,159, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 8,214, 82, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, + 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, + 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255, 40, 1, 36, 0, + 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88, 44,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,248, 45,159, 23, 1, 0, 0, 0,184, 42,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,110,255, 40, 1, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,248, 45,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,152, 47,159, 23, 1, 0, 0, 0, + 88, 44,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255, 43, 1, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152, 47,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 56, 49,159, 23, 1, 0, 0, 0,248, 45,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57,254, 40, 1,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 56, 49,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,216, 50,159, 23, 1, 0, 0, 0, +152, 47,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, + 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254, 43, 1, 58, 0, + 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216, 50,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,120, 52,159, 23, 1, 0, 0, 0, 56, 49,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0,108,117,114, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254, 43, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,106, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,120, 52,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 24, 54,159, 23, 1, 0, 0, 0, +216, 50,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164,253, 43, 1,102, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24, 54,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,184, 55,159, 23, 1, 0, 0, 0,120, 52,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253, 10, 1, 57, 0,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,253, 40, 1,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, - 4,211,206,240, 0, 0, 0,193, 0, 0, 0, 1, 4,211,208, 96, 4,211,205,128, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, - 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, - 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102, -111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,242, - 1, 57, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,211,208, 96, 0, 0, 0,193, 0, 0, 0, 1, - 4,211,209,208, 4,211,206,240, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112, -114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112, -114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,103, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,218, 1, 57, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 4,211,209,208, 0, 0, 0,193, 0, 0, 0, 1, 4,211,211, 64, 4,211,208, 96, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,252,194, 1, 57, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,211,211, 64, - 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 4,211,209,208, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,184, 55,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 88, 57,159, 23, 1, 0, 0, 0, + 24, 54,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, + 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97, +110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,252, 43, 1, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,170, 1, 57, 0, 0, - 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,216, 4,211,212,176, 0, 0, 0,159, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21,255, 0, 0, 0,160, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 4,211,213,176, - 0, 0, 0,194, 0, 0, 0, 1, 4,211,217,112, 4,211,192,160, 4,211,176, 96, 4,211,180,144, 4,211,180,208, 4,211,179,144, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 43, 0, 0, 0, 0, 0, 0, 0,131, 15, 15, 6, 44, 0,132, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4,211,216,128, 4,211,216,128, 4,211,214, 64, 4,211,215, 96, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,211,214, 64, 0, 0, 0,195, 0, 0, 0, 1, 4,211,215, 96, - 0, 0, 0, 0, 0, 0, 0, 0, 68,137,160, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,197,128, 0, 0, 0, 0, 0, - 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 43, 0, 0, 0, 0, 0, 0, 0, 25, 68,202,224, 0, 65,200, 0, 0, 68,202,224, 0, - 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 6, 44, 0, 26, 6, 44, - 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 43, 0, 0, 0, 0, 0, 0, 0, 25, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 44, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,211,215, 96, - 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,211,214, 64,192, 64, 0, 0, 67,126, 0, 0, 0, 0, 0, 0, 66, 72, 0, 0, -192, 17,189,112, 67,125, 70,246, 0, 0, 0, 0, 66, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 6, 43, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 6, 43, 0, 0, 0, 18, 0, 0, 0,105, - 63,128, 0, 0, 66, 72, 0, 0, 72,146,124, 0, 66, 72, 0, 0, 61,204,204,205, 65, 32, 0, 0, 0, 72, 0, 0, 0, 0, 2, 0, - 0, 4, 4, 0, 0, 8, 6, 44, 0,106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 43, 0, 0, 0, 26, 0, 0, 0,131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 44, 0,106, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,188, 4,211,216,128, 0, 0, 0,170, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 68, 65, 84, 65, 0, 0, 0, 96, 4,211,217,112, 0, 0, 0,194, - 0, 0, 0, 1, 4,211,222,112, 4,211,213,176, 4,211,180, 16, 4,211,182, 16, 4,211,182, 80, 4,211,180, 80, 0, 0, 0, 0, - 0, 0, 6, 45, 0, 0, 7,118, 0, 0, 1,221, 0, 0, 3, 99, 3, 3, 1, 74, 1,135, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4,211,220, 64, 4,211,220, 64, 4,211,218, 0, 4,211,219, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,211,218, 0, 0, 0, 0,195, 0, 0, 0, 1, 4,211,219, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 67,244,128, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 67,165, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 73, 0, 0, 0, 0, 0, 0, 0, 25, 67, 66, 0, 0, 65,200, 0, 0, 67, 66, 0, 0, 65,200, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 1, 74, 0, 26, 1, 74, 0, 26, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 45, 0, 0, 7,118, 0, 0, 3, 74, 0, 0, 3, 99, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 74, 0, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,211,219, 32, 0, 0, 0,195, - 0, 0, 0, 1, 0, 0, 0, 0, 4,211,218, 0, 0, 0, 0, 0, 67,131,128, 0,194,228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 67,156,128, 0,195,173,128, 0, 0, 0, 0, 0, 0, 0, 1, 57, 0, 0, 1, 74, 0, 0, 0, 18, 0, 0, 1,108, 0, 0, 0, 0, - 0, 0, 1, 56, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 56, 0, 0, 0, 18, 0, 0, 1,108, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 6, 18, 0, 0, 0, 2, 3, 3, 0, 0, 4, 0, - 0, 6, 1, 74, 1,109, 1, 57, 1, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 45, 0, 0, 7,118, - 0, 0, 1,221, 0, 0, 3, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 74, 1,109, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0,244, 4,211,220, 64, 0, 0, 0,163, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,211,221, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 0, 0, 0, 12, 4,211,221, 96, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, - 4,211,221,160, 68, 65, 84, 65, 0, 0, 0,168, 4,211,221,160, 0, 0, 0,216, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 1, - 2,152,190, 32, 0, 19, 0, 0, 0, 1, 0, 1, 2,152,190, 32, 0, 20, 0, 0, 0, 1, 0, 1, 2,152,190, 32, 0, 21, 0, 1, - 0, 1, 0, 0, 2,152,190, 32, 0, 0, 0, 0, 0, 1, 0, 1, 4,213,120,240, 0, 0, 0, 0, 0, 1, 0, 1, 2,152,202, 32, - 0, 0, 0, 0, 0, 1, 0, 1, 4,213,128,192, 0, 0, 0, 0, 0, 1, 0, 1, 2,152,214, 32, 0, 0, 0, 0, 0, 1, 0, 1, - 4,213,127, 16, 0, 0, 0, 0, 0, 1, 0, 1, 2,152,208, 32, 0, 0, 0, 0, 0, 1, 0, 1, 4,213,117,128, 0, 0, 0, 0, - 0, 1, 0, 1, 2,152,196, 32, 0, 0, 0, 0, 0, 1, 0, 1, 4,213,116,240, 0, 21, 0, 0, 0, 1, 0, 1, 2,152,190, 32, - 68, 65, 84, 65, 0, 0, 0, 96, 4,211,222,112, 0, 0, 0,194, 0, 0, 0, 1, 4,211,229,208, 4,211,217,112, 4,211,181, 16, - 4,211,181, 80, 4,211,179,208, 4,211,180,208, 0, 0, 0, 0, 0, 0, 2,161, 0, 0, 6, 43, 0, 0, 0,133, 0, 0, 4, 69, - 1, 1, 3,139, 3,193, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,211,228,160, 4,211,228,160, 4,211,223, 0, - 4,211,227,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,211,223, 0, - 0, 0, 0,195, 0, 0, 0, 1, 4,211,224, 32, 0, 0, 0, 0, 0, 0, 0, 0, 68,117, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, - 0, 0, 0, 0, 68, 98,192, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,138, 0, 0, 0, 0, 0, 0, 0, 25, - 68,237,128, 0, 65,200, 0, 0, 68,237,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, - 0, 4, 4, 12, 0, 10, 3,139, 0, 26, 3,139, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,161, - 0, 0, 6, 43, 0, 0, 0,133, 0, 0, 0,158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,139, 0, 26, - 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,248, 4,211,224, 32, 0, 0, 0,195, 0, 0, 0, 1, 4,211,225, 64, 4,211,223, 0, 0, 0, 0, 0, - 67, 15, 0, 0,196, 70, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 15, 0, 0,196, 70,127,255, 0, 0, 0, 0, 0, 0, 0,143, - 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 3, 43, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, - 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 3, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, - 64, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 3, 44, 0,143, 3, 26, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,161, 0, 0, 2,161, 0, 0, 0,159, 0, 0, 4, 69, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3,167, 0, 0, 0, 5, 0, 3, 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, 68, 65, 84, 65, 0, 0, 0,248, 4,211,225, 64, 0, 0, 0,195, 0, 0, 0, 1, - 4,211,226, 96, 4,211,224, 32, 0, 0, 0, 0, 67, 16, 0, 0,194,206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 16,102,231, -194,206, 0, 0, 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, - 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 0,160, - 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,161, 0, 0, 6, 43, 0, 0, 0,159, - 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, - 4,211,226, 96, 0, 0, 0,195, 0, 0, 0, 1, 4,211,227,128, 4,211,225, 64, 0, 0, 0, 0, 67, 35, 0, 0,196, 96,128, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 67, 35, 0, 0,196, 96,128, 0, 0, 0, 0, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, - 0, 0, 3,147, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, - 0, 0, 3,147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 10, 0, 0, - 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 3,148, 0,163, 3,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 43, 0, 0, 6, 43, 0, 0, 0,159, 0, 0, 4, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 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, 68, 65, 84, 65, 0, 0, 0,248, 4,211,227,128, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,211,226, 96, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,161, 0, 0, 6, 43, 0, 0, 0,159, 0, 0, 4, 69, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,139, 3,167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,152, 86, 32, 68, 65, 84, 65, 0, 0, 3, 68, 2,152, 86, 32, 0, 0, 0,153, - 0, 0, 0, 1, 63,144, 82,107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,140, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191,128, 13, 28,191,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,190, 76,215, 74, - 0, 0, 0, 0, 62,209,239, 68,190,205,177, 51, 63, 81,158,184, 0, 0, 0, 0, 63,105,119, 70, 62, 70, 74,143,190,185, 44, 35, - 0, 0, 0, 0,188, 89, 84,162, 63,101, 33,166, 62,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193,111,211,214, - 63,128, 0, 0, 62,209,239, 69, 63,105,119, 70,188, 89, 84,176, 0, 0, 0, 0,190,205,177, 53, 62, 70, 74,142, 63,101, 33,166, - 0, 0, 0, 0, 63, 81,158,185,190,185, 44, 35, 62,228, 61, 43, 0, 0, 0, 0, 65, 68, 96,164,192,173,121,111, 64,213,209,248, - 63,128, 0, 0, 62,236,180, 89,190,224,249,209,191, 81,180, 48,191, 81,158,184, 63,131,158, 65, 62, 88,225,142, 62,185, 63, 26, - 62,185, 44, 35,188,117, 11, 38, 63,122,156,207,190,228, 84,138,190,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 65,108,185, 9, - 65,111,211,214, 62,186, 48,211, 63, 79, 16, 11,188, 64,199,144,180,135, 0, 0,190,188, 15,163, 62, 53, 75,102, 63, 81,125,223, - 51,104, 0, 0,194,117,107,207, 65,216,204, 81,194, 5,156, 40,192,159,247,136, 66,114, 62,121,193,213,253,214, 66, 3,225, 94, - 64,160, 7,236, 62,209,239, 68,190,205,177, 51, 63, 81,158,184, 0, 0, 0, 0, 63,105,119, 70, 62, 70, 74,143,190,185, 44, 35, - 0, 0, 0, 0,188, 89, 84,162, 63,101, 33,166, 62,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193,111,211,214, - 63,128, 0, 0, 62,236,180, 89,190,224,249,209,191, 81,180, 48,191, 81,158,184, 63,131,158, 65, 62, 88,225,142, 62,185, 63, 26, - 62,185, 44, 35,188,117, 11, 38, 63,122,156,207,190,228, 84,138,190,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 65,108,185, 9, - 65,111,211,214, 64, 12,181, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 12,181, 99, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 12,181, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63, 55, 62, 92,190,224,186, 56,190,148,203,237,190,234,236, 3, 65,111,211,214, 65,111,211,214, 0, 0, 0, 0, - 0, 0, 0, 0, 59, 0, 43, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 66, 12, 33, 30, 66,137,152, 85, - 66,126, 27,116, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 0, 4,211,228,160, 0, 0, 0,154, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 63, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 1, 0, 7, 2,152,196, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 1, 0, 3, 0, 0, 0, 1, 0, 3, 0, 0, 8, 8, 0, 0, 0, 0, 66, 12, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 61,204,204,205, 67,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 16, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 96, 4,211,229,208, 0, 0, 0,194, 0, 0, 0, 1, 4,211,236, 96, 4,211,222,112, 4,211,180,144, 4,211,181,144, - 4,211,181,208, 4,211,181, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,159, 0, 0, 0,133, 0, 0, 1,139, 2, 2, 2,160, - 1, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,211,234,224, 4,211,234,224, 4,211,230, 96, 4,211,233,192, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,211,230, 96, 0, 0, 0,195, - 0, 0, 0, 1, 4,211,231,128, 0, 0, 0, 0, 0, 0, 0, 0, 68,100,128, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, - 68, 40, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,159, 0, 0, 0, 0, 0, 0, 0, 25, 68,103,192, 0, - 65,200, 0, 0, 68,103,192, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, - 0, 10, 2,160, 0, 26, 2,160, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,159, - 0, 0, 0,133, 0, 0, 0,158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,160, 0, 26, 0, 0, 0, 1, - 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0,248, 4,211,231,128, 0, 0, 0,195, 0, 0, 0, 1, 4,211,232,160, 4,211,230, 96, 0, 0, 0, 0, 67, 72, 0, 0, -193,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 72, 0, 0,195, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 0, 0, 0,217, - 0, 0, 0, 18, 0, 0, 0,236, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, - 0, 0, 0, 18, 0, 0, 0,236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 6, 10, 0, 0, 0, 2, 3, 3, 0, 0, 4, 0, 0, 6, 0,217, 0,237, 0,200, 0,219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 0, 0,159, 0, 0, 1,139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0,217, 0,237, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,211,232,160, 0, 0, 0,195, 0, 0, 0, 1, 4,211,233,192, - 4,211,231,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,159, 0, 0, 2,159, 0, 0, 0,159, 0, 0, 1,139, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 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, 68, 65, 84, 65, 0, 0, 0,248, 4,211,233,192, - 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,211,232,160,193, 16, 0, 0, 67,130, 0, 0,192,160, 0, 0, 64,160, 0, 0, - 0, 0, 0, 0, 67,122, 0, 0,193, 16, 0, 0, 65, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,236, - 0, 0, 0, 18, 0, 0, 1,198, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 1,198, 0, 0, 0, 18, 0, 0, 0,236, - 58,131, 18,111, 58,131, 18,111, 72,146,124, 0, 71, 67, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 0, 0, 0, 1,199, 0,237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, - 0, 0, 2,159, 0, 0, 0,159, 0, 0, 1,139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,199, 0,237, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,208, 4,211,234,224, 0, 0, 0,158, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4,211,235,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 88, 4,211,235,224, 0, 0, 1, 16, 0, 0, 0, 1, 2,152,190, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 4,211,236, 96, 0, 0, 0,194, - 0, 0, 0, 1, 4,211,241,144, 4,211,229,208, 4,211,181,144, 4,211,179, 16, 4,211,181, 80, 4,211,181,208, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2,159, 0, 0, 1,141, 0, 0, 4, 69, 12, 12, 2,160, 2,185, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4,211,240, 80, 4,211,240, 80, 4,211,236,240, 4,211,239, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,211,236,240, 0, 0, 0,195, 0, 0, 0, 1, 4,211,238, 16, 0, 0, 0, 0, - 0, 0, 0, 0, 68,106, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68, 40, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2,159, 0, 0, 0, 0, 0, 0, 0, 25, 68,103,192, 0, 65,200, 0, 0, 68,103,192, 0, 65,200, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 2,160, 0, 26, 2,160, 0, 26, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,159, 0, 0, 1,141, 0, 0, 1,166, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,160, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,211,238, 16, 0, 0, 0,195, - 0, 0, 0, 1, 4,211,239, 48, 4,211,236,240, 0, 0, 0, 0, 67, 55, 0, 0,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 67, 72, 0, 0,196, 35, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0,199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 2,158, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 4, 8, 0, 0, 0, 2, 3, 3, 0, 0, 4, 2, - 0, 6, 0,200, 2,159, 0,200, 2,141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, - 0, 0, 1,167, 0, 0, 4, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 2,159, 0, 0, 0, 2, - 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0,248, 4,211,239, 48, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,211,238, 16,193, 32, 0, 0, 68,104, 0, 0, -194, 0, 0, 0, 0, 0, 0, 0,193, 32, 0, 0, 68,104, 0, 0,196, 35, 64, 0, 0, 0, 0, 0, 0, 0, 1,199, 0, 0, 1,216, - 0, 0, 0, 18, 0, 0, 2,158, 0, 0, 0, 0, 0, 0, 1,198, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1,198, - 0, 0, 0, 18, 0, 0, 2,158, 0, 0, 0, 0, 0, 0, 0, 0, 72,146,124, 0, 70, 28, 64, 0, 60, 35,215, 10, 66, 72, 0, 0, - 0, 74, 0, 0, 0, 0, 2, 0, 0, 0, 4, 2, 0, 4, 1,216, 2,159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0,200, 0, 0, 2,159, 0, 0, 1,167, 0, 0, 4, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1,216, 2,159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 24, 4,211,240, 80, 0, 0, 1, 17, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,152,190, 32, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 2, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 4,211,241,144, - 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 4,211,236, 96, 4,211,182, 16, 4,211,179,208, 4,211,179, 80, 4,211,182, 80, - 0, 0, 0, 0, 0, 0, 6, 45, 0, 0, 7,118, 0, 0, 3,101, 0, 0, 4, 69, 1, 1, 1, 74, 0,225, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4,211,244, 96, 4,211,244, 96, 4,211,242, 32, 4,211,243, 64, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,211,242, 32, 0, 0, 0,195, 0, 0, 0, 1, 4,211,243, 64, - 0, 0, 0, 0, 0, 0, 0, 0, 68,102, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 67,165, 0, 0, 64, 0, 0, 0, - 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 73, 0, 0, 0, 0, 0, 0, 0, 23, 67,164,128, 0, 65,200, 0, 0, 67,164,128, 0, - 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 1, 74, 0, 24, 1, 74, - 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 45, 0, 0, 7,118, 0, 0, 3,101, 0, 0, 3,101, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,211,243, 64, - 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,211,242, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 45, - 0, 0, 7,118, 0, 0, 3,101, 0, 0, 4, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 74, 0,225, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,152, 90, 32, - 68, 65, 84, 65, 0, 0, 3, 68, 2,152, 90, 32, 0, 0, 0,153, 0, 0, 0, 1, 64, 13,255, 24, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 64, 80, 66,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191,128, 65,154, -191,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,190, 77, 1, 72, 0, 0, 0, 0, 63, 47,149,221,190,162,126, 85, 63, 39,165, 8, - 0, 0, 0, 0, 63, 58, 70, 51, 62,159,251,225,191, 28, 84,149, 0, 0, 0, 0,188, 49, 56,191, 63,101, 53, 54, 62,227,247, 50, - 0, 0, 0, 0,190,173, 38, 90,190,192,221,254,193, 52, 9,152, 63,128, 0, 0, 63, 47,149,223, 63, 58, 70, 55,188, 49, 56,192, - 0, 0, 0, 0,190,162,126, 87, 62,159,251,228, 63,101, 53, 56, 0, 0, 0, 0, 63, 39,165, 7,191, 28, 84,150, 62,227,247, 50, - 0, 0, 0, 0, 64,239,101,110,192,208, 62,151, 64,170,255, 77, 63,128, 0, 0, 63,194,201, 3,191,132, 49, 34,191, 39,250,244, -191, 39,165, 8, 63,206,164,143, 63,130, 38,124, 63, 28,164,180, 63, 28, 84,149,188,196,153,179, 64, 58,119, 42,190,228,108, 8, -190,227,247, 50,191, 64, 21, 82,191,156,230,204, 65, 49, 49,216, 65, 52, 9,152, 62,158, 70,231, 62,167,234, 23,187,159,206,128, -180,168, 0, 0,189,199,189, 59, 61,196,167,147, 62,140,223,206, 51,248, 0, 0,194, 21,120,211, 66, 2, 5,145,193,213,136, 10, -192,159,214,193, 66, 19, 38,219,193,255,173,197, 65,210,101,158, 64,160, 40,173, 63, 47,149,221,190,162,126, 85, 63, 39,165, 8, - 0, 0, 0, 0, 63, 58, 70, 51, 62,159,251,225,191, 28, 84,149, 0, 0, 0, 0,188, 49, 56,191, 63,101, 53, 54, 62,227,247, 50, - 0, 0, 0, 0,190,173, 38, 90,190,192,221,254,193, 52, 9,152, 63,128, 0, 0, 63,194,201, 3,191,132, 49, 34,191, 39,250,244, -191, 39,165, 8, 63,206,164,143, 63,130, 38,124, 63, 28,164,180, 63, 28, 84,149,188,196,153,179, 64, 58,119, 42,190,228,108, 8, -190,227,247, 50,191, 64, 21, 82,191,156,230,204, 65, 49, 49,216, 65, 52, 9,152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 72, 22,241,190,246,162, 78,190, 90, 8, 44, -190,171, 35, 3, 65, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 51, 4,202, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 7, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 0, - 4,211,244, 96, 0, 0, 0,154, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 63, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 65, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 7, 2,152,196, 32, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0, 0, 0, 1, 0, 3, 0, 0, 0, 8, - 0, 0, 0, 0, 66, 12, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 60, 35,215, 10, 67,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 0,148, 4,211,245,240, 0, 0, 0,190, 0, 0, 0, 1, - 4,212, 43, 0, 4,211,177,144, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 67,111,109,112,111,115,105,116,105,110,103, 0,103, 46, - 48, 48, 49, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,211,246,176, 4,211,249,240, 4,211,250, 48, - 4,211,255,112, 4,211,255,176, 4,212, 38,176, 0, 0, 0, 0, 0, 0, 0, 0, 2,152,190, 32, 0, 0, 0, 0, 0, 0, 0, 6, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,246,176, - 0, 0, 0,191, 0, 0, 0, 1, 4,211,246,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 20, 4,211,246,240, 0, 0, 0,191, 0, 0, 0, 1, 4,211,247, 48, 4,211,246,176, 0, 0, 0, 0, 0, 0, 4, 97, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,247, 48, 0, 0, 0,191, 0, 0, 0, 1, 4,211,247,112, 4,211,246,240, - 0, 0, 0, 0, 7,118, 4, 97, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,247,112, 0, 0, 0,191, 0, 0, 0, 1, - 4,211,247,176, 4,211,247, 48, 0, 0, 0, 0, 7,118, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,247,176, - 0, 0, 0,191, 0, 0, 0, 1, 4,211,247,240, 4,211,247,112, 0, 0, 0, 0, 0, 0, 4, 70, 0, 0, 0, 1, 68, 65, 84, 65, - 0, 0, 0, 20, 4,211,247,240, 0, 0, 0,191, 0, 0, 0, 1, 4,211,248, 48, 4,211,247,176, 0, 0, 0, 0, 7,118, 4, 70, - 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,248, 48, 0, 0, 0,191, 0, 0, 0, 1, 4,211,248,112, 4,211,247,240, - 0, 0, 0, 0, 6, 24, 0,100, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,248,112, 0, 0, 0,191, 0, 0, 0, 1, - 4,211,248,176, 4,211,248, 48, 0, 0, 0, 0, 7,118, 0,100, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,248,176, - 0, 0, 0,191, 0, 0, 0, 1, 4,211,248,240, 4,211,248,112, 0, 0, 0, 0, 6, 24, 4, 70, 0, 0, 0, 1, 68, 65, 84, 65, - 0, 0, 0, 20, 4,211,248,240, 0, 0, 0,191, 0, 0, 0, 1, 4,211,249, 48, 4,211,248,176, 0, 0, 0, 0, 0, 0, 1,172, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,249, 48, 0, 0, 0,191, 0, 0, 0, 1, 4,211,249,112, 4,211,248,240, - 0, 0, 0, 0, 6, 24, 1,172, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,249,112, 0, 0, 0,191, 0, 0, 0, 1, - 4,211,249,176, 4,211,249, 48, 0, 0, 0, 0, 3, 0, 1,172, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,211,249,176, - 0, 0, 0,191, 0, 0, 0, 1, 4,211,249,240, 4,211,249,112, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 20, 4,211,249,240, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 0, 4,211,249,176, 0, 0, 0, 0, 6, 24, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,250, 48, 0, 0, 0,192, 0, 0, 0, 1, 4,211,250,112, 0, 0, 0, 0, - 4,211,246,240, 4,211,247, 48, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,250,112, 0, 0, 0,192, - 0, 0, 0, 1, 4,211,250,176, 4,211,250, 48, 4,211,246,240, 4,211,247,176, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 4,211,250,176, 0, 0, 0,192, 0, 0, 0, 1, 4,211,250,240, 4,211,250,112, 4,211,247, 48, 4,211,247,240, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,250,240, 0, 0, 0,192, 0, 0, 0, 1, 4,211,251, 48, - 4,211,250,176, 4,211,247,176, 4,211,247,240, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,251, 48, - 0, 0, 0,192, 0, 0, 0, 1, 4,211,251,112, 4,211,250,240, 4,211,247,112, 4,211,248,112, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 4,211,251,112, 0, 0, 0,192, 0, 0, 0, 1, 4,211,251,176, 4,211,251, 48, 4,211,248, 48, - 4,211,248,112, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,251,176, 0, 0, 0,192, 0, 0, 0, 1, - 4,211,251,240, 4,211,251,112, 4,211,247,240, 4,211,248,176, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 4,211,251,240, 0, 0, 0,192, 0, 0, 0, 1, 4,211,252, 48, 4,211,251,176, 4,211,247,176, 4,211,248,176, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,252, 48, 0, 0, 0,192, 0, 0, 0, 1, 4,211,252,112, 4,211,251,240, - 4,211,248, 48, 4,211,248,176, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,252,112, 0, 0, 0,192, - 0, 0, 0, 1, 4,211,252,176, 4,211,252, 48, 4,211,247,240, 4,211,248,112, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 4,211,252,176, 0, 0, 0,192, 0, 0, 0, 1, 4,211,252,240, 4,211,252,112, 4,211,247,176, 4,211,248,240, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,252,240, 0, 0, 0,192, 0, 0, 0, 1, 4,211,253, 48, - 4,211,252,176, 4,211,248,176, 4,211,249, 48, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,253, 48, - 0, 0, 0,192, 0, 0, 0, 1, 4,211,253,112, 4,211,252,240, 4,211,248,240, 4,211,249, 48, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 4,211,253,112, 0, 0, 0,192, 0, 0, 0, 1, 4,211,253,176, 4,211,253, 48, 4,211,248,240, - 4,211,249,112, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,253,176, 0, 0, 0,192, 0, 0, 0, 1, - 4,211,253,240, 4,211,253,112, 4,211,249, 48, 4,211,249,112, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 4,211,253,240, 0, 0, 0,192, 0, 0, 0, 1, 4,211,254, 48, 4,211,253,176, 4,211,246,176, 4,211,249,176, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,254, 48, 0, 0, 0,192, 0, 0, 0, 1, 4,211,254,112, 4,211,253,240, - 4,211,249,176, 4,211,249,240, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,254,112, 0, 0, 0,192, - 0, 0, 0, 1, 4,211,254,176, 4,211,254, 48, 4,211,247,112, 4,211,249,240, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 4,211,254,176, 0, 0, 0,192, 0, 0, 0, 1, 4,211,254,240, 4,211,254,112, 4,211,248, 48, 4,211,249,240, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,254,240, 0, 0, 0,192, 0, 0, 0, 1, 4,211,255, 48, - 4,211,254,176, 4,211,249,112, 4,211,249,176, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,211,255, 48, - 0, 0, 0,192, 0, 0, 0, 1, 4,211,255,112, 4,211,254,240, 4,211,249, 48, 4,211,249,240, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 4,211,255,112, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 0, 4,211,255, 48, 4,211,246,176, - 4,211,248,240, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 4,211,255,176, 0, 0, 0,194, 0, 0, 0, 1, - 4,212, 2,128, 0, 0, 0, 0, 4,211,247,176, 4,211,246,240, 4,211,247, 48, 4,211,247,240, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7,118, 0, 0, 4, 71, 0, 0, 4, 97, 7, 7, 7,119, 0, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, - 4,212, 42,160, 4,212, 42,160, 4,212, 0, 64, 4,212, 1, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,248, 4,212, 0, 64, 0, 0, 0,195, 0, 0, 0, 1, 4,212, 1, 96, 0, 0, 0, 0, 0, 0, 0, 0, - 68,148, 32, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,238,224, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7,118, 0, 0, 0, 0, 0, 0, 0, 25, 68,237,128, 0, 65,200, 0, 0, 68,237,128, 0, 65,200, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 7,119, 0, 26, 7,119, 0, 26, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,118, 0, 0, 4, 71, 0, 0, 4, 96, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7,119, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212, 1, 96, 0, 0, 0,195, 0, 0, 0, 1, - 0, 0, 0, 0, 4,212, 0, 64, 0, 0, 0, 0, 69,109,240, 0,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,109,255,255, -192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,112, 0, 0, 7,129, 0, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7,111, - 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 2, 0, 0, 0, 1, 3, 3, 0, 2, 4, 0, 0, 10, 7,129, - 0, 2, 7,112, 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, 4, 97, - 0, 0, 4, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, - 4,212, 2,128, 0, 0, 0,194, 0, 0, 0, 1, 4,212, 6, 64, 4,211,255,176, 4,211,249,240, 4,211,248, 48, 4,211,248,112, - 4,211,247,112, 0, 0, 0, 0, 0, 0, 6, 25, 0, 0, 7,118, 0, 0, 0, 0, 0, 0, 0, 99, 15, 15, 1, 94, 0,100, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 4,212, 5, 80, 4,212, 5, 80, 4,212, 3, 16, 4,212, 4, 48, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212, 3, 16, 0, 0, 0,195, 0, 0, 0, 1, - 4,212, 4, 48, 0, 0, 0, 0, 0, 0, 0, 0, 68,110,128, 0, 0, 0, 0, 0, 65,208, 0, 0, 67,161,128, 0, 68, 40, 64, 0, - 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 93, 0, 0, 0, 0, 0, 0, 0, 25, 68,202,224, 0, 65,200, 0, 0, - 68,202,224, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 1, 94, - 0, 26, 1, 94, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 25, 0, 0, 7,118, 0, 0, 0, 0, - 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 94, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, - 4,212, 4, 48, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,212, 3, 16,192, 64, 0, 0, 67,126, 0, 0, 0, 0, 0, 0, - 66, 72, 0, 0,193, 74, 51, 50, 67,131,209,154, 0, 0, 0, 0, 66, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 93, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 93, 0, 0, 0, 18, - 0, 0, 0, 73, 63,128, 0, 0, 66, 72, 0, 0, 72,146,124, 0, 66, 72, 0, 0, 61,204,204,205, 65, 32, 0, 0, 0, 72, 0, 0, - 0, 0, 2, 0, 0, 4, 4, 0, 0, 8, 1, 94, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 25, 0, 0, 7,118, 0, 0, 0, 26, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 94, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,188, 4,212, 5, 80, 0, 0, 0,170, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 68, 65, 84, 65, 0, 0, 0, 96, 4,212, 6, 64, - 0, 0, 0,194, 0, 0, 0, 1, 4,212, 27, 80, 4,212, 2,128, 4,211,248, 48, 4,211,248,176, 4,211,247,240, 4,211,248,112, - 0, 0, 0, 0, 0, 0, 6, 25, 0, 0, 7,118, 0, 0, 0,101, 0, 0, 4, 69, 4, 4, 1, 94, 3,225, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4,212, 26, 80, 4,212, 26, 80, 4,212, 6,208, 4,212, 7,240, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212, 6,208, 0, 0, 0,195, 0, 0, 0, 1, 4,212, 7,240, - 0, 0, 0, 0, 0, 0, 0, 0, 67,160, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 67,175, 0, 0, 0, 0, 0, 0, - 65,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 93, 0, 0, 0, 0, 0, 0, 0, 30, 67,137,128, 0, 65,200, 0, 0, 67,137,128, 0, - 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 1, 94, 0, 31, 1, 94, - 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 25, 0, 0, 7,118, 0, 0, 4, 39, 0, 0, 4, 69, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 94, 0, 31, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212, 7,240, - 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,212, 6,208, 0, 0, 0, 0, 67,174,128, 0,196,112, 64, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67,166,127,255,196,112,127,254, 0, 0, 0, 0, 0, 0, 1, 77, 0, 0, 1, 94, 0, 0, 0, 0, 0, 0, 3,193, - 0, 0, 0, 0, 0, 0, 1, 82, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 76, 0, 0, 0, 0, 0, 0, 3,193, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 3, 10, 0, 0, 0, 1, 0, 7, - 0, 18, 4, 0, 0, 6, 1, 94, 3,194, 1, 77, 3,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 25, - 0, 0, 7,118, 0, 0, 0,101, 0, 0, 4, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 94, 3,194, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4,212, 9, 16, 4,212, 24,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 9, 16, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 10,128, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,255,220, 1, 76, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 10,128, - 0, 0, 0,193, 0, 0, 0, 1, 4,212, 11,240, 4,212, 9, 16, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,135, 1, 76, 0, 61, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 11,240, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 13, 96, - 4,212, 10,128, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,111, 1, 76, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 64, 4,212, 13, 96, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 14,208, 4,212, 11,240, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,254,140, 1, 76, 0,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 14,208, 0, 0, 0,193, - 0, 0, 0, 1, 4,212, 16, 64, 4,212, 13, 96, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110, -116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110, -116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, 97,115,105,110, -103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 58, 1, 76, 0, 58, 0, 20, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 16, 64, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 17,176, 4,212, 14,208, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 70,117,108,108, 32, 83, 97,109,112,108,101, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 34, 1, 76, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, - 4,212, 17,176, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 19, 32, 4,212, 16, 64, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, - 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, - 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100, -105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,164, - 1, 76, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 19, 32, 0, 0, 0,193, 0, 0, 0, 1, - 4,212, 20,144, 4,212, 17,176, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253, 10, 1, 76, 0,130, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 20,144, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 22, 0, 4,212, 19, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,252,242, 1, 76, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 22, 0, - 0, 0, 0,193, 0, 0, 0, 1, 4,212, 23,112, 4,212, 20,144, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, - 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,218, 1, 76, 0, 0, - 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 23,112, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 24,224, - 4,212, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,194, 1, 76, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 64, 4,212, 24,224, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 4,212, 23,112, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,252,170, 1, 76, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,216, 4,212, 26, 80, 0, 0, 0,159, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21,255, 0, 0, 0,160, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 96, 4,212, 27, 80, 0, 0, 0,194, 0, 0, 0, 1, 4,212, 34,176, 4,212, 6, 64, 4,211,249,176, 4,211,249,112, - 4,211,249, 48, 4,211,249,240, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 6, 23, 0, 0, 0, 0, 0, 0, 1,171, 1, 1, 3, 23, - 1,172, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,212, 33,128, 4,212, 33,128, 4,212, 27,224, 4,212, 32, 96, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212, 27,224, 0, 0, 0,195, - 0, 0, 0, 1, 4,212, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,102, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, - 68, 69,192, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 22, 0, 0, 0, 0, 0, 0, 0, 25, 68,237,128, 0, - 65,200, 0, 0, 68,237,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, - 0, 10, 3, 23, 0, 26, 3, 23, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 6, 23, - 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 23, 0, 26, 0, 0, 0, 1, - 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0,248, 4,212, 29, 0, 0, 0, 0,195, 0, 0, 0, 1, 4,212, 30, 32, 4,212, 27,224, 0, 0, 0, 0, 67, 15, 0, 0, -196, 70, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 15, 0, 0,196, 70,127,255, 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0,160, - 0, 0, 0, 18, 0, 0, 3, 43, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, - 0, 0, 0, 18, 0, 0, 3, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, - 0, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 3, 44, 0,143, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 3, 1, 0, 0, 0, 26, 0, 0, 1,171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 1,146, 0, 0, 0, 5, 0, 3, 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, 68, 65, 84, 65, 0, 0, 0,248, 4,212, 30, 32, 0, 0, 0,195, 0, 0, 0, 1, 4,212, 31, 64, - 4,212, 29, 0, 0, 0, 0, 0, 67, 16, 0, 0,194,206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 16,102,231,194,206, 0, 0, - 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, - 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 0,160, 0,120, 0,143, - 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 6, 23, 0, 0, 0, 26, 0, 0, 0, 26, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212, 31, 64, - 0, 0, 0,195, 0, 0, 0, 1, 4,212, 32, 96, 4,212, 30, 32, 0, 0, 0, 0, 67, 35, 0, 0,196,108,192, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67, 35, 0, 0,195,184, 0, 0, 0, 0, 0, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 1,129, - 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 1,129, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 7, - 0, 18, 0, 0, 0, 6, 0,180, 1,130, 0,163, 1,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 23, - 0, 0, 6, 23, 0, 0, 0, 26, 0, 0, 1,171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, - 0, 0, 0, 4, 0, 4, 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, - 68, 65, 84, 65, 0, 0, 0,248, 4,212, 32, 96, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,212, 31, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 6, 23, 0, 0, 0, 26, 0, 0, 1,171, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3, 23, 1,146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2,152, 94, 32, 68, 65, 84, 65, 0, 0, 3, 68, 2,152, 94, 32, 0, 0, 0,153, 0, 0, 0, 1, - 63,230,101, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 98,171,118, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,191,128, 65,154,191,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,190, 77, 1, 72, 0, 0, 0, 0, - 63, 47,149,221,190,162,126, 85, 63, 39,165, 8, 0, 0, 0, 0, 63, 58, 70, 51, 62,159,251,225,191, 28, 84,149, 0, 0, 0, 0, -188, 49, 56,191, 63,101, 53, 54, 62,227,247, 50, 0, 0, 0, 0,190,173, 38, 90,190,192,221,254,193, 52, 9,152, 63,128, 0, 0, - 63, 47,149,223, 63, 58, 70, 55,188, 49, 56,192, 0, 0, 0, 0,190,162,126, 87, 62,159,251,228, 63,101, 53, 56, 0, 0, 0, 0, - 63, 39,165, 7,191, 28, 84,150, 62,227,247, 50, 0, 0, 0, 0, 64,239,101,110,192,208, 62,151, 64,170,255, 77, 63,128, 0, 0, - 63,158, 6, 3,191,143,224, 92,191, 39,250,244,191, 39,165, 8, 63,167,164,170, 63,141,167,132, 63, 28,164,180, 63, 28, 84,149, -188,159,127, 0, 64, 74,242,126,190,228,108, 8,190,227,247, 50,191, 27,212,221,191,170,197, 39, 65, 49, 49,216, 65, 52, 9,152, - 62,195, 25, 25, 62,206,250, 12,187,196,247, 0,180,150, 0, 0,189,183,132,203, 61,180,175, 61, 62,129,110,245, 51,120, 0, 0, -194, 21,120,211, 66, 2, 5,144,193,213,136, 9,192,159,214,193, 66, 19, 38,219,193,255,173,196, 65,210,101,157, 64,160, 40,173, - 63, 47,149,221,190,162,126, 85, 63, 39,165, 8, 0, 0, 0, 0, 63, 58, 70, 51, 62,159,251,225,191, 28, 84,149, 0, 0, 0, 0, -188, 49, 56,191, 63,101, 53, 54, 62,227,247, 50, 0, 0, 0, 0,190,173, 38, 90,190,192,221,254,193, 52, 9,152, 63,128, 0, 0, - 63,158, 6, 3,191,143,224, 92,191, 39,250,244,191, 39,165, 8, 63,167,164,170, 63,141,167,132, 63, 28,164,180, 63, 28, 84,149, -188,159,127, 0, 64, 74,242,126,190,228,108, 8,190,227,247, 50,191, 27,212,221,191,170,197, 39, 65, 49, 49,216, 65, 52, 9,152, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63, 72, 22,241,190,246,162, 78,190, 90, 8, 44,190,171, 35, 3, 65,111,211,214, 65,111,211,214, 0, 0, 0, 0, 0, 0, 0, 0, - 58,184, 30,162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 55, 62, 92, -190,224,186, 56,190,148,203,237,190,234,236, 3, 0, 1, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 0, 4,212, 33,128, 0, 0, 0,154, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 63, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 7, - 2,152,196, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, - 0, 3, 0, 0, 0, 1, 0, 3, 0, 0, 8, 8, 0, 0, 0, 0, 66, 12, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 61,204,204,205, - 67,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, - 0, 7, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, - 4,212, 34,176, 0, 0, 0,194, 0, 0, 0, 1, 4,212, 38,176, 4,212, 27, 80, 4,211,248,240, 4,211,247,176, 4,211,248,176, - 4,211,249, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 23, 0, 0, 1,173, 0, 0, 4, 69, 16, 16, 6, 24, 2,153, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,212, 37,128, 4,212, 37,128, 4,212, 35, 64, 4,212, 36, 96, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212, 35, 64, 0, 0, 0,195, 0, 0, 0, 1, - 4,212, 36, 96, 0, 0, 0, 0, 0, 0, 0, 0, 68, 41,128, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,195, 0, 0, - 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 23, 0, 0, 0, 0, 0, 0, 0, 25, 68,189,224, 0, 65,200, 0, 0, - 68,189,224, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 6, 24, - 0, 26, 6, 24, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 23, 0, 0, 1,173, - 0, 0, 1,198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 24, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, - 4,212, 36, 96, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,212, 35, 64,193, 32, 0, 0, 68, 0, 0, 0,193, 32, 0, 0, - 68, 0, 0, 0,195,217,195,128, 68,108,225,192,193,178,130,240, 68, 5,148, 24, 0, 0, 6, 7, 0, 0, 6, 24, 0, 0, 0, 18, - 0, 0, 2,126, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 18, - 0, 0, 2,126, 63,128, 0, 0, 63,128, 0, 0, 70,250, 0, 0, 70,250, 0, 0, 61,184, 81,236, 64, 19,215, 10, 0, 10, 0, 0, - 0, 0, 0, 3, 0, 0, 4, 0, 0, 0, 6, 24, 2,127, 6, 7, 2,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 6, 23, 0, 0, 1,199, 0, 0, 4, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 24, 2,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,252, 4,212, 37,128, 0, 0, 0,171, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 64, 19,215, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,152,190, 32, 0, 0, 0, 0, 0, 0, 0, 0, 63, 98,246,123, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 4,212, 38,176, - 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 4,212, 34,176, 4,211,246,176, 4,211,248,240, 4,211,249,112, 4,211,249,176, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,255, 0, 0, 0, 0, 0, 0, 1,171, 6, 6, 3, 0, 1,172, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2,152, 98, 32, 2,152, 98, 32, 4,212, 39, 64, 4,212, 41,128, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212, 39, 64, 0, 0, 0,195, 0, 0, 0, 1, 4,212, 40, 96, - 0, 0, 0, 0, 0, 0, 0, 0, 67,215, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68, 64, 0, 0, 0, 0, 0, 0, - 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,255, 0, 0, 0, 0, 0, 0, 0, 25, 68, 63,192, 0, 65,200, 0, 0, 68, 63,192, 0, - 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 3, 0, 0, 26, 3, 0, - 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,255, 0, 0, 0, 0, 0, 0, 0, 25, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212, 40, 96, - 0, 0, 0,195, 0, 0, 0, 1, 4,212, 41,128, 4,212, 39, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 1,171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, - 0, 0, 0, 4, 0, 3, 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, - 68, 65, 84, 65, 0, 0, 0,248, 4,212, 41,128, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,212, 40, 96, 0, 0, 0, 0, - 67,128, 0, 0, 0, 0, 0, 0, 67,128, 0, 0,191,128, 0, 0, 64, 0, 0, 0,190,146, 0, 0, 63,164,128, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1,146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,255, 0, 0, 0, 26, 0, 0, 1,171, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1,146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 32,248, 2,152, 98, 32, 0, 0, 0,164, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,240, 0, 0, 0, 0, 0, 0, 62,153,153,154, 0, 0, 0, 0, - 0, 0, 0,100, 62,153,153,154, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,100, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 0,148, - 4,212, 43, 0, 0, 0, 0,190, 0, 0, 0, 1, 4,212,182,208, 4,211,245,240, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 68,101, -102, 97,117,108,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4,212, 43,192, 4,212, 46,128, 4,212, 46,192, 4,212, 51, 0, 4,212, 51, 64, 4,212,143,112, 0, 0, 0, 0, 0, 0, 0, 0, - 2,152,190, 32, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 12, 0, 0, 0, 0, 0, 0, 0, 53,222, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 20, 4,212, 43,192, 0, 0, 0,191, 0, 0, 0, 1, 4,212, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,212, 44, 0, 0, 0, 0,191, 0, 0, 0, 1, 4,212, 44, 64, - 4,212, 43,192, 0, 0, 0, 0, 0, 0, 4,128, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,212, 44, 64, 0, 0, 0,191, - 0, 0, 0, 1, 4,212, 44,128, 4,212, 44, 0, 0, 0, 0, 0, 7,128, 4,128, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, - 4,212, 44,128, 0, 0, 0,191, 0, 0, 0, 1, 4,212, 44,192, 4,212, 44, 64, 0, 0, 0, 0, 7,128, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 20, 4,212, 44,192, 0, 0, 0,191, 0, 0, 0, 1, 4,212, 45, 0, 4,212, 44,128, 0, 0, 0, 0, - 0, 0, 4,101, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 4,212, 45, 0, 0, 0, 0,191, 0, 0, 0, 1, 4,212, 45, 64, - 4,212, 44,192, 0, 0, 0, 0, 7,128, 4,101, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 4,212, 45, 64, 0, 0, 0,191, - 0, 0, 0, 1, 4,212, 45,128, 4,212, 45, 0, 0, 0, 0, 0, 6, 64, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, - 4,212, 45,128, 0, 0, 0,191, 0, 0, 0, 1, 4,212, 45,192, 4,212, 45, 64, 0, 0, 0, 0, 6, 64, 4,101, 0, 0, 0, 1, - 68, 65, 84, 65, 0, 0, 0, 20, 4,212, 45,192, 0, 0, 0,191, 0, 0, 0, 1, 4,212, 46, 0, 4,212, 45,128, 0, 0, 0, 0, - 6, 64, 3,160, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,212, 46, 0, 0, 0, 0,191, 0, 0, 0, 1, 4,212, 46, 64, - 4,212, 45,192, 0, 0, 0, 0, 7,128, 3,160, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,212, 46, 64, 0, 0, 0,191, - 0, 0, 0, 1, 4,212, 46,128, 4,212, 46, 0, 0, 0, 0, 0, 0, 0, 0,124, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, - 4,212, 46,128, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 0, 4,212, 46, 64, 0, 0, 0, 0, 6, 64, 0,124, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 4,212, 46,192, 0, 0, 0,192, 0, 0, 0, 1, 4,212, 47, 0, 0, 0, 0, 0, 4,212, 44, 0, - 4,212, 44, 64, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212, 47, 0, 0, 0, 0,192, 0, 0, 0, 1, - 4,212, 47, 64, 4,212, 46,192, 4,212, 44, 0, 4,212, 44,192, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 4,212, 47, 64, 0, 0, 0,192, 0, 0, 0, 1, 4,212, 47,128, 4,212, 47, 0, 4,212, 44, 64, 4,212, 45, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212, 47,128, 0, 0, 0,192, 0, 0, 0, 1, 4,212, 47,192, 4,212, 47, 64, - 4,212, 44,192, 4,212, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212, 47,192, 0, 0, 0,192, - 0, 0, 0, 1, 4,212, 48, 0, 4,212, 47,128, 4,212, 43,192, 4,212, 45, 64, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 4,212, 48, 0, 0, 0, 0,192, 0, 0, 0, 1, 4,212, 48, 64, 4,212, 47,192, 4,212, 44,128, 4,212, 45, 64, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212, 48, 64, 0, 0, 0,192, 0, 0, 0, 1, 4,212, 48,128, - 4,212, 48, 0, 4,212, 44,192, 4,212, 45,128, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212, 48,128, - 0, 0, 0,192, 0, 0, 0, 1, 4,212, 48,192, 4,212, 48, 64, 4,212, 45, 0, 4,212, 45,128, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 4,212, 48,192, 0, 0, 0,192, 0, 0, 0, 1, 4,212, 49, 0, 4,212, 48,128, 4,212, 45, 64, - 4,212, 45,192, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212, 49, 0, 0, 0, 0,192, 0, 0, 0, 1, - 4,212, 49, 64, 4,212, 48,192, 4,212, 45,128, 4,212, 45,192, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 4,212, 49, 64, 0, 0, 0,192, 0, 0, 0, 1, 4,212, 49,128, 4,212, 49, 0, 4,212, 45, 0, 4,212, 46, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212, 49,128, 0, 0, 0,192, 0, 0, 0, 1, 4,212, 49,192, 4,212, 49, 64, - 4,212, 44,128, 4,212, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212, 49,192, 0, 0, 0,192, - 0, 0, 0, 1, 4,212, 50, 0, 4,212, 49,128, 4,212, 45,192, 4,212, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 4,212, 50, 0, 0, 0, 0,192, 0, 0, 0, 1, 4,212, 50, 64, 4,212, 49,192, 4,212, 43,192, 4,212, 46, 64, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212, 50, 64, 0, 0, 0,192, 0, 0, 0, 1, 4,212, 50,128, - 4,212, 50, 0, 4,212, 44,192, 4,212, 46, 64, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212, 50,128, - 0, 0, 0,192, 0, 0, 0, 1, 4,212, 50,192, 4,212, 50, 64, 4,212, 45,128, 4,212, 46,128, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 4,212, 50,192, 0, 0, 0,192, 0, 0, 0, 1, 4,212, 51, 0, 4,212, 50,128, 4,212, 45, 64, - 4,212, 46,128, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212, 51, 0, 0, 0, 0,192, 0, 0, 0, 1, - 0, 0, 0, 0, 4,212, 50,192, 4,212, 46, 64, 4,212, 46,128, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, - 4,212, 51, 64, 0, 0, 0,194, 0, 0, 0, 1, 4,212, 54, 16, 0, 0, 0, 0, 4,212, 44,192, 4,212, 44, 0, 4,212, 44, 64, - 4,212, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,128, 0, 0, 4,102, 0, 0, 4,128, 7, 7, 7,129, 0, 27, 0, 1, - 0, 0, 0, 0, 0, 7, 0, 8, 2, 23,154,128, 4,212,182,112, 4,212,182,112, 4,212, 51,208, 4,212, 52,240, 0, 0, 0, 0, - 0, 0, 0, 0, 10, 62,229,240, 9,182,150, 80, 68, 65, 84, 65, 0, 0, 0,248, 4,212, 51,208, 0, 0, 0,195, 0, 0, 0, 1, - 4,212, 52,240, 0, 0, 0, 0, 0, 0, 0, 0, 68,159, 32, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,240, 32, 0, - 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,128, 0, 0, 0, 0, 0, 0, 0, 25, 68,237,128, 0, 65,200, 0, 0, - 68,237,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 7,129, - 0, 26, 7,129, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,128, 0, 0, 4,102, - 0, 0, 4,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,129, 0, 26, 0, 2, 0, 1, 0, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,155,208, 10, 62,245,176, 10, 62,245,176, - 0, 0, 0, 0, 0, 0, 0, 0, 10, 62,133,240, 10, 62,165, 96, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, - 4,212, 52,240, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,212, 51,208, 0, 0, 0, 0, 69,109,240, 0,192,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68,238, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 7,112, 0, 0, 7,129, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 2, 0, 0, - 0, 1, 3, 3, 0, 2, 4, 0, 0, 10, 7,129, 0, 2, 7,112, 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, 4,128, 0, 0, 4,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 23,155, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 4,212, 54, 16, 0, 0, 0,194, 0, 0, 0, 1, 4,212,135,128, 4,212, 51, 64, - 4,212, 45, 64, 4,212, 45,192, 4,212, 46, 0, 4,212, 44,128, 0, 0, 0, 0, 0, 0, 6, 65, 0, 0, 7,128, 0, 0, 0, 0, - 0, 0, 3,159, 4, 4, 1, 64, 3,160, 0, 1, 0, 0, 0, 0, 0, 0, 0, 8, 2, 23,151,128, 4,212,134,128, 4,212,134,128, - 4,212, 54,160, 4,212, 55,192, 0, 0, 0, 0, 0, 0, 0, 0, 2, 21, 14,224, 10, 62,163, 32, 68, 65, 84, 65, 0, 0, 0,248, - 4,212, 54,160, 0, 0, 0,195, 0, 0, 0, 1, 4,212, 55,192, 0, 0, 0, 0, 0, 0, 0, 0, 67,160, 0, 0, 0, 0, 0, 0, - 65,208, 0, 0, 0, 0, 0, 0, 67,160, 0, 0, 0, 0, 0, 0, 65,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 63, 0, 0, 0, 0, - 0, 0, 0, 30, 67,137,128, 0, 65,200, 0, 0, 67,137,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 1, 64, 0, 31, 1, 64, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 65, 0, 0, 7,128, 0, 0, 3,129, 0, 0, 3,159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 64, 0, 31, 0, 3, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 23,153,240, 2, 20,235, 96, 2, 20,235, 96, 0, 0, 0, 0, 0, 0, 0, 0, 4,217, 22,128, 4,218,180,224, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212, 55,192, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,212, 54,160, - 0, 0, 0, 0, 67,160, 0, 0,196, 96, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,151,128, 0,196, 96, 64, 0, 0, 0, 0, 0, - 0, 0, 1, 47, 0, 0, 1, 64, 0, 0, 0, 0, 0, 0, 3,128, 0, 0, 0, 0, 0, 0, 1, 74, 0, 0, 0, 0, 0, 0, 0, 17, - 0, 0, 0, 0, 0, 0, 1, 46, 0, 0, 0, 0, 0, 0, 3,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 64, 0, 0, 0, 3, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 1, 64, 3,129, 1, 47, 3,129, 0, 0, - 10, 62,153, 32, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 6, 65, 0, 0, 7,128, 0, 0, 0, 0, 0, 0, 3,128, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 64, 3,129, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,152, 64, 9,187,150, 16, 10, 60,131, 0, 4,212, 56,224, 4,212,133, 16, - 4,218,181,224, 4,218,184,224, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 56,224, 0, 0, 0,193, - 0, 0, 0, 1, 4,212, 58, 80, 0, 0, 0, 0, 2, 23,152,208, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99, -111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99, -111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,220, 1, 47, 0, 36, 0, 0, 0, 0, - 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 58, 80, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 59,192, 4,212, 56,224, - 9, 88,241,224, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,135, 1, 47, 0, 61, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 43, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, - 4,212, 59,192, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 61, 48, 4,212, 58, 80, 9, 88,243,144, 0, 0, 0, 0, 82, 69, 78, 68, - 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, - 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101, -114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,111, - 1, 47, 0, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 61, 48, 0, 0, 0,193, 0, 0, 0, 1, - 4,212, 62,160, 4,212, 59,192, 9, 89, 1, 16, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115, -105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115, -105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,140, 1, 47, 0,203, 0, 0, 0, 0, 0, 0, 0, 6, - 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 62,160, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 64, 16, 4,212, 61, 48, 9, 88,253,176, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,254, 58, 1, 47, 0, 58, 0, 20, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 64, 16, - 0, 0, 0,193, 0, 0, 0, 1, 4,212, 65,128, 4,212, 62,160, 9, 88,255, 96, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, - 77,111,116,105,111,110, 32, 66,108,117,114, 0,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 34, 1, 47, 0, 0, - 0, 20, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 65,128, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 66,240, - 4,212, 64, 16, 9, 88,245, 64, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,164, 1, 47, 0,102, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, - 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 64, 4,212, 66,240, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 68, 96, 4,212, 65,128, 9, 88,250, 80, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,253, 10, 1, 47, 0,130, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 68, 96, 0, 0, 0,193, - 0, 0, 0, 1, 4,212, 69,208, 4,212, 66,240, 9, 88,246,240, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101, -114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101, -114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252, 52, 1, 47, 0,190, 0, 0, 0, 0, - 0, 4, 0, 6, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 69,208, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 71, 64, 4,212, 68, 96, - 9, 88,248,160, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88, 57,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,248, 58,159, 23, 1, 0, 0, 0,184, 55,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,218, 1, 47, 0, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 0, 0, 51, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, - 4,212, 71, 64, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 72,176, 4,212, 69,208, 9, 89, 2, 48, 0, 0, 0, 0, 82, 69, 78, 68, - 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, - 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109, -112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,194, - 1, 47, 0, 0, 0, 20, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 72,176, 0, 0, 0,193, 0, 0, 0, 1, - 4,212, 74, 32, 4,212, 71, 64, 9, 89, 3,224, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,170, 1, 47, 0, 0, 0, 0, 0, 0, 0, 4, 0, 7, - 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 74, 32, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 75,144, 4,212, 72,176, 0, 0, 0, 0, - 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,116,101,120,116,117,114,101, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,116,101,120,116,117,114,101, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,253, 48, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,255, 41, 1, 65, 0,179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,248, 58,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,152, 60,159, 23, 1, 0, 0, 0, + 88, 57,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 75,144, - 0, 0, 0,193, 0, 0, 0, 1, 4,212, 77, 0, 4,212, 74, 32, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, - 80, 84, 95,109, 97,112,112,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 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,252, 40, 1, 3, 1, + 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152, 60,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 56, 62,159, 23, 1, 0, 0, 0,248, 58,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,252, 43, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,114, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 56, 62,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,216, 63,159, 23, 1, 0, 0, 0, +152, 60,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, + 80, 84, 95, 99,111,110,116,101,120,116, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, - 80, 84, 95,109, 97,112,112,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 97,112,112,105,110,103, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,102, 1, 65, 0,171, - 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 84, 95, 99,111,110,116,101,120,116, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 77, 0, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 78,112, - 4,212, 75,144, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,105,110,102,108,117,101,110, 99,101, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66,255, 43, 1,154, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,105,110,102,108,117,101,110, 99,101, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216, 63,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,120, 65,159, 23, 1, 0, 0, 0, 56, 62,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109, 97,112,112,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73,110,102,108,117,101,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109, 97,112,112,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,213, 1, 65, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77, 97,112,112,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 64, 4,212, 78,112, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 79,224, 4,212, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 67,117,115,116,111,109, 32, 80,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,252,103, 1, 65, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102,254, 7, 1,171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 79,224, 0, 0, 0,193, - 0, 0, 0, 1, 4,212, 81, 80, 4,212, 78,112, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,112, -114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,112, -114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 87, 1, 65, 0,186, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,120, 65,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 24, 67,159, 23, 1, 0, 0, 0, +216, 63,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, + 80, 84, 95,105,110,102,108,117,101,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, + 80, 84, 95,105,110,102,108,117,101,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73,110,102,108,117,101,110, 99, +101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42,253, 7, 1, 36, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 81, 80, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 82,192, 4,212, 79,224, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24, 67,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,184, 68,159, 23, 1, 0, 0, 0,120, 65,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18,253, 7, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,184, 68,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 88, 70,159, 23, 1, 0, 0, 0, + 24, 67,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, + 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, + 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,114,101,118,105,101,119, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,254, 7, 1,186, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88, 70,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,248, 71,159, 23, 1, 0, 0, 0,184, 68,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,105,109, 97,103,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,105,109, 97,103,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73,109, 97,103,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 3, 1, 65, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,253, 7, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, - 4,212, 82,192, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 84, 48, 4,212, 81, 80, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, - 85, 82, 69, 95, 80, 84, 95,105,109, 97,103,101, 95,115, 97,109,112,108,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, - 85, 82, 69, 95, 80, 84, 95,105,109, 97,103,101, 95,115, 97,109,112,108,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73,109, 97,103, -101, 32, 83, 97,109,112,108,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253, 23, - 1, 65, 0,212, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 84, 48, 0, 0, 0,193, 0, 0, 0, 1, - 4,212, 85,160, 4,212, 82,192, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,105,109, 97,103,101, - 95,109, 97,112,112,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,105,109, 97,103,101, - 95,109, 97,112,112,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73,109, 97,103,101, 32, 77, 97,112,112,105,110,103, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,211, 1, 65, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 85,160, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 87, 16, 4,212, 84, 48, 0, 0, 0, 0, - 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 99,111,108,111,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 99,111,108,111,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67,111,108,111,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,254, 63, 1, 65, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 87, 16, - 0, 0, 0,193, 0, 0, 0, 1, 4,212, 88,128, 4,212, 85,160, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, - 80, 84, 95, 99,108,111,117,100,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,248, 71,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,152, 73,159, 23, 1, 0, 0, 0, + 88, 70,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, + 80, 84, 95,105,109, 97,103,101, 95,115, 97,109,112,108,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, - 80, 84, 95, 99,108,111,117,100,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,108,111,117,100,115, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,161, 1, 7, 0,158, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 84, 95,105,109, 97,103,101, 95,115, 97,109,112,108,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73,109, 97,103,101, 32, 83, 97, +109,112,108,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,252, 7, 1,212, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 88,128, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 89,240, - 4,212, 87, 16, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,119,111,111,100, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152, 73,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 56, 75,159, 23, 1, 0, 0, 0,248, 71,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,105,109, 97,103,101, 95,109, 97,112,112,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,119,111,111,100, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,105,109, 97,103,101, 95,109, 97,112,112,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,111,111,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 73,109, 97,103,101, 32, 77, 97,112,112,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,139, 1, 7, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 64, 4,212, 89,240, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 91, 96, 4,212, 88,128, 0, 0, 0, 0, 0, 0, 0, 0, - 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,112,108,117,103,105,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,112,108,117,103,105,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 80,108,117,103,105,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,254, 27, 1, 7, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,251, 7, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 91, 96, 0, 0, 0,193, - 0, 0, 0, 1, 4,212, 92,208, 4,212, 89,240, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,118, -111,114,111,110,111,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,118, -111,114,111,110,111,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,111,114,111,110,111,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,123, 1, 7, 0,196, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 56, 75,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,216, 76,159, 23, 1, 0, 0, 0, +152, 73,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, + 80, 84, 95, 99,111,108,111,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, + 80, 84, 95, 99,111,108,111,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108,111,114,115, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,254, 7, 1, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 92,208, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 94, 64, 4,212, 91, 96, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216, 76,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,120, 78,159, 23, 1, 0, 0, 0, 56, 75,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 99,108,111,117,100,115, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 99,108,111,117,100,115, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,108,111,117,100,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,161,253, 7, 1,158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,120, 78,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 24, 80,159, 23, 1, 0, 0, 0, +216, 76,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, + 80, 84, 95,119,111,111,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, + 80, 84, 95,119,111,111,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,111,111,100, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,139,253, 7, 1,180, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24, 80,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,184, 81,159, 23, 1, 0, 0, 0,120, 78,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,112,108,117,103,105,110, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,112,108,117,103,105,110, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80,108,117,103,105,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,254, 7, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,184, 81,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 88, 83,159, 23, 1, 0, 0, 0, + 24, 80,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, + 80, 84, 95,118,111,114,111,110,111,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, + 80, 84, 95,118,111,114,111,110,111,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,111,114,111,110,111,105, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,123,253, 7, 1,196, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88, 83,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,248, 84,159, 23, 1, 0, 0, 0,184, 81,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,112,111,105,110,116,100,101,110,115,105,116,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,112,111,105,110,116,100,101,110,115,105,116,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,105,110,116, 32, 68,101,110,115,105,116,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,140, 1, 7, 0,179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,253, 7, 1,179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, - 4,212, 94, 64, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 95,176, 4,212, 92,208, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, - 85, 82, 69, 95, 80, 84, 95,112,111,105,110,116,100,101,110,115,105,116,121, 95,116,117,114, 98,117,108,101,110, 99,101, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, - 85, 82, 69, 95, 80, 84, 95,112,111,105,110,116,100,101,110,115,105,116,121, 95,116,117,114, 98,117,108,101,110, 99,101, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,117,114, 98, -117,108,101,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253, 14, - 1, 7, 0,102, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 95,176, 0, 0, 0,193, 0, 0, 0, 1, - 4,212, 97, 32, 4,212, 94, 64, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109,117,115,103,114, - 97,118,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109,117,115,103,114, - 97,118,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,117,115,103,114, 97,118,101, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,139, 1, 7, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 97, 32, 0, 0, 0,193, 0, 0, 0, 1, 4,212, 98,144, 4,212, 95,176, 0, 0, 0, 0, - 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109, 97,114, 98,108,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109, 97,114, 98,108,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 77, 97,114, 98,108,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,253,136, 1, 7, 0,183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212, 98,144, - 0, 0, 0,193, 0, 0, 0, 1, 4,212,100, 0, 4,212, 97, 32, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, - 80, 84, 95,109, 97,103,105, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,248, 84,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,152, 86,159, 23, 1, 0, 0, 0, + 88, 83,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, + 80, 84, 95,112,111,105,110,116,100,101,110,115,105,116,121, 95,116,117,114, 98,117,108,101,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, - 80, 84, 95,109, 97,103,105, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 97,103,105, 99, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 27, 1, 7, 0, 36, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 84, 95,112,111,105,110,116,100,101,110,115,105,116,121, 95,116,117,114, 98,117,108,101,110, 99,101, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,117,114, 98,117,108,101,110, + 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14,253, 7, 1,102, 0, + 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,100, 0, 0, 0, 0,193, 0, 0, 0, 1, 4,212,101,112, - 4,212, 98,144, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,100,105,115,116,111,114,116,101,100, -110,111,105,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,100,105,115,116,111,114,116,101,100, -110,111,105,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,115,116,111,114,116,101,100, 32, 78,111,105,115,101, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152, 86,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 56, 88,159, 23, 1, 0, 0, 0,248, 84,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109,117,115,103,114, 97,118,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,211, 1, 7, 0,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109,117,115,103,114, 97,118,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 64, 4,212,101,112, 0, 0, 0,193, 0, 0, 0, 1, 4,212,102,224, 4,212,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 98,108,101,110,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77,117,115,103,114, 97,118,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 98,108,101,110,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 66,108,101,110,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,254, 2, 1, 7, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,139,253, 7, 1,180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,102,224, 0, 0, 0,193, - 0, 0, 0, 1, 4,212,104, 80, 4,212,101,112, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,115, -116,117, 99, 99,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,115, -116,117, 99, 99,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116,117, 99, 99,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,183, 1, 7, 0,136, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 56, 88,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,216, 89,159, 23, 1, 0, 0, 0, +152, 86,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, + 80, 84, 95,109, 97,114, 98,108,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, + 80, 84, 95,109, 97,114, 98,108,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 97,114, 98,108,101, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,253, 7, 1,183, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,104, 80, 0, 0, 0,193, 0, 0, 0, 1, 4,212,105,192, 4,212,102,224, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216, 89,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,120, 91,159, 23, 1, 0, 0, 0, 56, 88,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109, 97,103,105, 99, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95,109, 97,103,105, 99, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77, 97,103,105, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,254, 7, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,120, 91,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 24, 93,159, 23, 1, 0, 0, 0, +216, 89,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, + 80, 84, 95,100,105,115,116,111,114,116,101,100,110,111,105,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, + 80, 84, 95,100,105,115,116,111,114,116,101,100,110,111,105,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,115,116,111,114,116,101, +100, 32, 78,111,105,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,211,253, 7, 1,108, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24, 93,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,184, 94,159, 23, 1, 0, 0, 0,120, 91,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 98,108,101,110,100, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 98,108,101,110,100, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 66,108,101,110,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,254, 7, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,184, 94,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 88, 96,159, 23, 1, 0, 0, 0, + 24, 93,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, + 80, 84, 95,115,116,117, 99, 99,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, + 80, 84, 95,115,116,117, 99, 99,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116,117, 99, 99,105, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,183,253, 7, 1,136, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88, 96,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,248, 97,159, 23, 1, 0, 0, 0,184, 94,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,109,111,100,105,102,105,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,109,111,100,105,102,105,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,111,100,105,102,105,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,160, 0,209, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,243,254, 40, 1,209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, - 4,212,105,192, 0, 0, 0,193, 0, 0, 0, 1, 4,212,107, 48, 4,212,104, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,184, - 0,209, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,107, 48, 0, 0, 0,193, 0, 0, 0, 1, - 4,212,108,160, 4,212,105,192, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112, -114,111,112,115, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112, -114,111,112,115, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80,114,111,112,101,114,116,105,101, -115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,160, 0,209, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 4,212,108,160, 0, 0, 0,193, 0, 0, 0, 1, 4,212,110, 16, 4,212,107, 48, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,110,111,114,109, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,110,111,114,109, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 78,111,114,109, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,255, 78, 0,209, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,110, 16, - 0, 0, 0,193, 0, 0, 0, 1, 4,212,111,128, 4,212,108,160, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, -115,101,116,116,105,110,103,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,248, 97,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,152, 99,159, 23, 1, 0, 0, 0, + 88, 96,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, + 99,111,110,116,101,120,116, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, -115,101,116,116,105,110,103,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,101,116,116,105,110,103,115, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 18, 0,209, 0, 36, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 99,111,110,116,101,120,116, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,111,128, 0, 0, 0,193, 0, 0, 0, 1, 4,212,112,240, - 4,212,110, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,118,101,114,116,101,120, 95,103,114,111,117,112, -115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,118,101,114,116,101,120, 95,103,114,111,117,112, -115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,101,114,116,101,120, 32, 71,114,111,117,112,115, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,174, 0,209, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 64, 4,212,112,240, 0, 0, 0,193, 0, 0, 0, 1, 4,212,114, 96, 4,212,111,128, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 95, 80, 84, 95,115,104, 97,112,101, 95,107,101,121,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 95, 80, 84, 95,115,104, 97,112,101, 95,107,101,121,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 83,104, 97,112,101, 32, 75,101,121,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,254, 74, 0,209, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,114, 96, 0, 0, 0,193, - 0, 0, 0, 1, 4,212,115,208, 4,212,112,240, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,117,118, 95,116, -101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,117,118, 95,116, -101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 32, 84,101,120,116,117,114,101, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,237, 0,209, 0, 69, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,255, 40, 1, 36, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,115,208, 0, 0, 0,193, 0, 0, 0, 1, 4,212,117, 64, 4,212,114, 96, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152, 99,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 56,101,159, 23, 1, 0, 0, 0,248, 97,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 95,109,101,115, +104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 95,109,101,115, +104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176,253, 40, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 56,101,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,216,102,159, 23, 1, 0, 0, 0, +152, 99,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, +110,111,114,109, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, +110,111,114,109, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,111,114,109, 97,108,115, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,255, 43, 1, 58, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216,102,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,120,104,159, 23, 1, 0, 0, 0, 56,101,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,115,101,116,116,105,110,103,115, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,115,101,116,116,105,110,103,115, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83,101,116,116,105,110,103,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18,255, 43, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,120,104,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 24,106,159, 23, 1, 0, 0, 0, +216,102,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, +118,101,114,116,101,120, 95,103,114,111,117,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, +118,101,114,116,101,120, 95,103,114,111,117,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,101,114,116,101,120, 32, 71, +114,111,117,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,230,254, 40, 1, 76, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24,106,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,184,107,159, 23, 1, 0, 0, 0,120,104,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,115,104, 97,112,101, 95,107,101,121,115, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,115,104, 97,112,101, 95,107,101,121,115, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,112,101, 32, 75,101,121,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,130,254, 40, 1, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,184,107,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 88,109,159, 23, 1, 0, 0, 0, + 24,106,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, +117,118, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, +117,118, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 32, 84,101,120,116,117, +114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37,254, 40, 1, 69, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88,109,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,248,110,159, 23, 1, 0, 0, 0,184,107,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,118,101,114,116,101,120, 95, 99,111,108,111,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,118,101,114,116,101,120, 95, 99,111,108,111,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,101,114,116,101,120, 32, 67,111,108,111,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,144, 0,209, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, - 4,212,117, 64, 0, 0, 0,193, 0, 0, 0, 1, 4,212,118,176, 4,212,115,208, 9, 88,112, 16, 0, 0, 0, 0, 77, 65, 84, 69, - 82, 73, 65, 76, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109, 97,116,101,114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, - 82, 73, 65, 76, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109, 97,116,101,114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,253, 40, 1, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 94, - 1, 47, 0,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,118,176, 0, 0, 0,193, 0, 0, 0, 1, - 4,212,120, 32, 4,212,117, 64, 9, 88,113,192, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,112,114,101,118, -105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,112,114,101,118, -105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,190, 1, 47, 0,136, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,248,110,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,152,112,159, 23, 1, 0, 0, 0, + 88,109,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, + 84, 95, 99,111,110,116,101,120,116, 95,111, 98,106,101, 99,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, + 84, 95, 99,111,110,116,101,120,116, 95,111, 98,106,101, 99,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 4,212,120, 32, 0, 0, 0,193, 0, 0, 0, 1, 4,212,121,144, 4,212,118,176, 9, 88,117, 32, - 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,100,105,102,102,117,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,100,105,102,102,117,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68,105,102,102,117,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,254,103, 1, 47, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,255, 40, 1, 36, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,121,144, - 0, 0, 0,193, 0, 0, 0, 1, 4,212,123, 0, 4,212,120, 32, 9, 88,118,208, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152,112,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 56,114,159, 23, 1, 0, 0, 0,248,110,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, 84, 95,116,114, 97,110,115,102,111,114,109, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, 84, 95,116,114, 97,110,115,102,111,114,109, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84,114, 97,110,115,102,111,114,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39,255, 40, 1,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 56,114,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,216,115,159, 23, 1, 0, 0, 0, +152,112,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, + 84, 95,100,101,108,116, 97, 95,116,114, 97,110,115,102,111,114,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, + 84, 95,100,101,108,116, 97, 95,116,114, 97,110,115,102,111,114,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,101,108,116, 97, 32, 84,114, + 97,110,115,102,111,114,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,255, 40, 1, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216,115,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,120,117,159, 23, 1, 0, 0, 0, 56,114,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, 84, 95,116,114, 97,110,115,102,111,114,109, 95,108,111, 99,107, +115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, 84, 95,116,114, 97,110,115,102,111,114,109, 95,108,111, 99,107, +115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 84,114, 97,110,115,102,111,114,109, 32, 76,111, 99,107,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247,254, 40, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,120,117,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 24,119,159, 23, 1, 0, 0, 0, +216,115,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, + 84, 95,114,101,108, 97,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, + 84, 95,114,101,108, 97,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,108, 97,116,105,111,110, +115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,125,254, 40, 1, 98, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24,119,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,184,120,159, 23, 1, 0, 0, 0,120,117,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, 84, 95,103,114,111,117,112,115, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, 84, 95,103,114,111,117,112,115, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 71,114,111,117,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,254, 40, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,184,120,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 88,122,159, 23, 1, 0, 0, 0, + 24,119,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, + 84, 95,100,105,115,112,108, 97,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, + 84, 95,100,105,115,112,108, 97,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,115,112,108, 97,121, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,150,253, 40, 1,147, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88,122,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,248,123,159, 23, 1, 0, 0, 0,184,120,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, 84, 95,100,117,112,108,105, 99, 97,116,105,111,110, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, 84, 95,100,117,112,108,105, 99, 97,116,105,111,110, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68,117,112,108,105, 99, 97,116,105,111,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90,253, 40, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,248,123,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,152,125,159, 23, 1, 0, 0, 0, + 88,122,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, + 84, 95, 97,110,105,109, 97,116,105,111,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, + 84, 95, 97,110,105,109, 97,116,105,111,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,105,109, 97,116,105,111, +110, 32, 72, 97, 99,107,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66,253, 40, 1, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152,125,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 56,127,159, 23, 1, 0, 0, 0,248,123,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, 84, 95,109,111,116,105,111,110, 95,112, 97,116,104,115, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, 84, 95,109,111,116,105,111,110, 95,112, 97,116,104,115, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77,111,116,105,111,110, 32, 80, 97,116,104,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42,253, 40, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 56,127,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,216,128,159, 23, 1, 0, 0, 0, +152,125,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, + 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, + 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80, +114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18,253, 40, 1, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216,128,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,120,130,159, 23, 1, 0, 0, 0, 56,127,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,115, 99,101,110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,115, 99,101,110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83, 99,101,110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 40, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,120,130,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 24,132,159, 23, 1, 0, 0, 0, +216,128,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, + 95,117,110,105,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, + 95,117,110,105,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,110,105,116,115, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28,255, 40, 1, 83, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24,132,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,184,133,159, 23, 1, 0, 0, 0,120,130,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,107,101,121,105,110,103, 95,115,101,116,115, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,107,101,121,105,110,103, 95,115,101,116,115, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 75,101,121,105,110,103, 32, 83,101,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191,254, 40, 1, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,184,133,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 88,135,159, 23, 1, 0, 0, 0, + 24,132,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, + 95,112,104,121,115,105, 99,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, + 95,112,104,121,115,105, 99,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71,114, 97,118,105,116,121, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,131,254, 40, 1, 36, 0, + 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88,135,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,248,136,159, 23, 1, 0, 0, 0,184,133,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,115,105,109,112,108,105,102,121, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,115,105,109,112,108,105,102,121, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83,105,109,112,108,105,102,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,254, 40, 1, 80, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,248,136,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,152,138,159, 23, 1, 0, 0, 0, + 88,135,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, + 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, + 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80, +114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,254, 40, 1, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152,138,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 56,140,159, 23, 1, 0, 0, 0,248,136,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109, 97,116,101, +114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109, 97,116,101, +114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94,255, 43, 1,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 56,140,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,216,141,159, 23, 1, 0, 0, 0, +152,138,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, + 95, 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, + 95, 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,114,101,118,105,101,119, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,190,254, 43, 1,136, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216,141,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,120,143,159, 23, 1, 0, 0, 0, 56,140,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,100,105,102,102,117,115,101, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,100,105,102,102,117,115,101, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68,105,102,102,117,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239,254, 43, 1, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,120,143,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 24,145,159, 23, 1, 0, 0, 0, +216,141,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,112,101, 99,117,108, 97,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,112,101, 99,117,108, 97,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,112,101, 99,117,108, 97,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,252, 1, 47, 0, 83, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,132,254, 43, 1, 83, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,123, 0, 0, 0, 0,193, 0, 0, 0, 1, 4,212,124,112, - 4,212,121,144, 9, 88,120,128, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24,145,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,184,146,159, 23, 1, 0, 0, 0,120,143,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,148, 1, 47, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 64, 4,212,124,112, 0, 0, 0,193, 0, 0, 0, 1, 4,212,125,224, 4,212,123, 0, 9, 88,122, 48, 0, 0, 0, 0, - 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,116,114, 97,110,115,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,116,114, 97,110,115,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 84,114, 97,110,115,112, 97,114,101,110, 99,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,253,124, 1, 47, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28,254, 43, 1, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,125,224, 0, 0, 0,193, - 0, 0, 0, 1, 4,212,127, 80, 4,212,124,112, 9, 88,123,224, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95, -109,105,114,114,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95, -109,105,114,114,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,105,114,114,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,100, 1, 47, 0, 0, 0, 20, 0, 0, - 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,184,146,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 88,148,159, 23, 1, 0, 0, 0, + 24,145,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, + 95, 80, 84, 95,116,114, 97,110,115,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, + 95, 80, 84, 95,116,114, 97,110,115,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,114, 97,110,115,112, 97,114, +101,110, 99,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,254, 43, 1, 0, 0, + 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,127, 80, 0, 0, 0,193, 0, 0, 0, 1, 4,212,128,192, 4,212,125,224, - 9, 88,125,144, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,115,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88,148,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,248,149,159, 23, 1, 0, 0, 0,184,146,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,109,105,114,114,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,115,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,109,105,114,114,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83,117, 98,115,117,114,102, 97, 99,101, 32, 83, 99, 97,116,116,101,114,105,110,103, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77,105,114,114,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253, 76, 1, 47, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,236,253, 43, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, - 4,212,128,192, 0, 0, 0,193, 0, 0, 0, 1, 4,212,130, 48, 4,212,127, 80, 9, 88,131, 48, 0, 0, 0, 0, 77, 65, 84, 69, - 82, 73, 65, 76, 95, 80, 84, 95,115,116,114, 97,110,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, - 82, 73, 65, 76, 95, 80, 84, 95,115,116,114, 97,110,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116,114, 97, -110,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253, 52, - 1, 47, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,248,149,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,152,151,159, 23, 1, 0, 0, 0, + 88,148,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, + 95, 80, 84, 95,115,115,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, + 95, 80, 84, 95,115,115,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,117, 98,115,117,114,102, 97, + 99,101, 32, 83, 99, 97,116,116,101,114,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,212,253, 43, 1, 0, 0, + 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,130, 48, 0, 0, 0,193, 0, 0, 0, 1, - 4,212,131,160, 4,212,128,192, 9, 88,132,224, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,111,112,116,105, -111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,111,112,116,105, -111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152,151,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 56,153,159, 23, 1, 0, 0, 0,248,149,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,116,114, 97,110,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252, 76, 1, 47, 0,208, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,116,114, 97,110,100, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83,116,114, 97,110,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,188,253, 43, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 4,212,131,160, 0, 0, 0,193, 0, 0, 0, 1, 4,212,133, 16, 4,212,130, 48, 9, 88,134,144, - 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 56,153,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,216,154,159, 23, 1, 0, 0, 0, +152,151,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, + 95, 80, 84, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, + 95, 80, 84, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 83,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,252, 52, 1, 47, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,212,252, 43, 1,208, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,133, 16, - 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 4,212,131,160, 9, 88,147,128, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216,154,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,120,156,159, 23, 1, 0, 0, 0, 56,153,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,188,252, 43, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,120,156,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 24,158,159, 23, 1, 0, 0, 0, +216,154,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80, 114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252, 28, 1, 47, 0, 0, - 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164,252, 43, 1, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,216, 4,212,134,128, 0, 0, 0,159, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24,158,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,184,159,159, 23, 1, 0, 0, 0,120,156,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95, 99, 97,109,101,114, 97, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95, 99, 97,109,101,114, 97, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,255, 40, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,184,159,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 88,161,159, 23, 1, 0, 0, 0, + 24,158,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, + 99, 97,109,101,114, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, + 99, 97,109,101,114, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76,101,110,115, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215,254, 40, 1,201, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88,161,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,248,162,159, 23, 1, 0, 0, 0,184,159,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99, 97,109,101,114, 97, 95,100,105,115,112,108, 97,121, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99, 97,109,101,114, 97, 95,100,105,115,112,108, 97,121, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68,105,115,112,108, 97,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89,254, 40, 1,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,248,162,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,152,164,159, 23, 1, 0, 0, 0, + 88,161,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, + 99,117,115,116,111,109, 95,112,114,111,112,115, 95, 99, 97,109,101,114, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, + 99,117,115,116,111,109, 95,112,114,111,112,115, 95, 99, 97,109,101,114, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80, +114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,254, 40, 1, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152,164,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 56,166,159, 23, 1, 0, 0, 0,248,162,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,112,104,121,115,105, 99,115, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,112,104,121,115,105, 99,115, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80,104,121,115,105, 99,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,108,253, 43, 1, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 56,166,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,216,167,159, 23, 1, 0, 0, 0, +152,164,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, + 95, 80, 84, 95,116,114, 97,110,115,112, 95,103, 97,109,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, + 95, 80, 84, 95,116,114, 97,110,115,112, 95,103, 97,109,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,114, 97,110,115,112, 97,114, +101,110, 99,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60,252, 43, 1, 0, 0, + 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216,167,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,120,169,159, 23, 1, 0, 0, 0, 56,166,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,108, 97,109,112, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,108, 97,109,112, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,255, 40, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,120,169,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 24,171,159, 23, 1, 0, 0, 0, +216,167,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, +112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, +112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,114,101,118,105,101,119, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,255, 43, 1,136, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24,171,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,184,172,159, 23, 1, 0, 0, 0,120,169,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,108, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,108, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,254, 43, 1,171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,184,172,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 88,174,159, 23, 1, 0, 0, 0, + 24,171,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, +115,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, +115,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,111,119, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,253, 43, 1,177, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88,174,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,248,175,159, 23, 1, 0, 0, 0,184,172,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 95,108, 97,109, +112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 95,108, 97,109, +112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,255, 40, 1, 36, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,248,175,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,152,177,159, 23, 1, 0, 0, 0, + 88,174,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 82, 76, 68, 95, 80, 84, + 95, 99,111,110,116,101,120,116, 95,119,111,114,108,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 82, 76, 68, 95, 80, 84, + 95, 99,111,110,116,101,120,116, 95,119,111,114,108,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,255, 40, 1, 36, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152,177,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 56,179,159, 23, 1, 0, 0, 0,248,175,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 82, 76, 68, 95, 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 82, 76, 68, 95, 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,255, 43, 1,136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 56,179,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,216,180,159, 23, 1, 0, 0, 0, +152,177,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 82, 76, 68, 95, 80, 84, + 95,119,111,114,108,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 82, 76, 68, 95, 80, 84, + 95,119,111,114,108,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,111,114,108,100, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,175,254, 43, 1, 81, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216,180,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,120,182,159, 23, 1, 0, 0, 0, 56,179,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 82, 76, 68, 95, 80, 84, 95, 97,109, 98,105,101,110,116, 95,111, 99, 99,108,117,115,105, +111,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 82, 76, 68, 95, 80, 84, 95, 97,109, 98,105,101,110,116, 95,111, 99, 99,108,117,115,105, +111,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 65,109, 98,105,101,110,116, 32, 79, 99, 99,108,117,115,105,111,110, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115,254, 43, 1, 36, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,120,182,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 24,184,159, 23, 1, 0, 0, 0, +216,180,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 82, 76, 68, 95, 80, 84, + 95,101,110,118,105,114,111,110,109,101,110,116, 95,108,105,103,104,116,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 82, 76, 68, 95, 80, 84, + 95,101,110,118,105,114,111,110,109,101,110,116, 95,108,105,103,104,116,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,110,118,105,114,111,110,109, +101,110,116, 32, 76,105,103,104,116,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55,254, 43, 1, 36, 0, + 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24,184,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,184,185,159, 23, 1, 0, 0, 0,120,182,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 82, 76, 68, 95, 80, 84, 95,105,110,100,105,114,101, 99,116, 95,108,105,103,104,116,105, +110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 82, 76, 68, 95, 80, 84, 95,105,110,100,105,114,101, 99,116, 95,108,105,103,104,116,105, +110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 73,110,100,105,114,101, 99,116, 32, 76,105,103,104,116,105,110,103, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,226,253, 43, 1, 61, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,184,185,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 88,187,159, 23, 1, 0, 0, 0, + 24,184,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 82, 76, 68, 95, 80, 84, + 95,103, 97,116,104,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 82, 76, 68, 95, 80, 84, + 95,103, 97,116,104,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 97,116,104,101,114, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75,253, 43, 1,127, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88,187,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,248,188,159, 23, 1, 0, 0, 0,184,185,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 82, 76, 68, 95, 80, 84, 95,109,105,115,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 82, 76, 68, 95, 80, 84, 95,109,105,115,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77,105,115,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,253, 43, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,248,188,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,152,190,159, 23, 1, 0, 0, 0, + 88,187,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 82, 76, 68, 95, 80, 84, + 95,115,116, 97,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 82, 76, 68, 95, 80, 84, + 95,115,116, 97,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,114,115, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,253, 43, 1, 0, 0, + 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152,190,159, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,104, 57,157, 23, 1, 0, 0, 0,248,188,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 82, 76, 68, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 82, 76, 68, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,253, 43, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,104, 57,157, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 8, 59,157, 23, 1, 0, 0, 0, +152,190,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 71, 68, 95, 80, 84, 95,113, +117, 97,108,105,116,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 71, 68, 95, 80, 84, 95,113, +117, 97,108,105,116,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 71, 68, 0,105,116,121, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,255, 43, 1,133, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 8, 59,157, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,168, 60,157, 23, 1, 0, 0, 0,104, 57,157, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217,252, 43, 1,233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,113, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,168, 60,157, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 72, 62,157, 23, 1, 0, 0, 0, + 8, 59,157, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, + 84, 95,109, 97,116,101,114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, + 84, 95,109, 97,116,101,114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,255, 43, 1, 61, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72, 62,157, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,152, 76,157, 23, 1, 0, 0, 0,168, 60,157, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, 84, 95,119,111,114,108,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, 84, 95,119,111,114,108,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83,117,114,102, 97, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,255, 43, 1, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,152, 76,157, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 56, 78,157, 23, 1, 0, 0, 0, + 72, 62,157, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, + 84, 95, 99,111,110,115,116,114, 97,105,110,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 74, 69, 67, 84, 95, 80, + 84, 95, 99,111,110,115,116,114, 97,105,110,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 98,106,101, 99,116, 32, 67, +111,110,115,116,114, 97,105,110,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,255, 40, 1, 36, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 78,157, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,216, 79,157, 23, 1, 0, 0, 0,152, 76,157, 23, 1, 0, 0, 0, 88,227, 24, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109, 97,116,101,114,105, + 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109, 97,116,101,114,105, + 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83,117,114,102, 97, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,119,255, 40, 1,101, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,216, 79,157, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,120, 81,157, 23, 1, 0, 0, 0, + 56, 78,157, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, + 84, 95,115,117,114,102, 97, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, + 84, 95,115,117,114,102, 97, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,117,114,102, 97, 99,101, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,204,254, 43, 1,147, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 81,157, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 24, 83,157, 23, 1, 0, 0, 0,216, 79,157, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, 84, 95,110,111,114,109, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, 84, 95,110,111,114,109, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 78,111,114,109, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,180,254, 43, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 24, 83,157, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,184, 84,157, 23, 1, 0, 0, 0, +120, 81,157, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, + 84, 95,118,111,108,117,109,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, + 84, 95,118,111,108,117,109,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,111,108,117,109,101, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,254, 43, 1, 36, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184, 84,157, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 88, 86,157, 23, 1, 0, 0, 0, 24, 83,157, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, 84, 95,115,101,116,116,105,110,103,115, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, 84, 95,115,101,116,116,105,110,103,115, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83,101,116,116,105,110,103,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,254, 43, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 88, 86,157, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,248, 87,157, 23, 1, 0, 0, 0, +184, 84,157, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, + 84, 95,115,104, 97,112,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, + 84, 95,115,104, 97,112,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,112,101, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,254, 43, 1, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248, 87,157, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,152, 89,157, 23, 1, 0, 0, 0, 88, 86,157, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 82,101,110,100,101,114, 95, 80, 84, 95,105,110,116,101,103,114, 97,116, +111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 82,101,110,100,101,114, 95, 80, 84, 95,105,110,116,101,103,114, 97,116, +111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 73,110,116,101,103,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28,255, 40, 1, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,152, 89,157, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 56, 91,157, 23, 1, 0, 0, 0, +248, 87,157, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 87,111, +114,108,100, 95, 80, 84, 95,115,117,114,102, 97, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 87,111, +114,108,100, 95, 80, 84, 95,115,117,114,102, 97, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,117,114,102, 97, 99,101, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,255, 40, 1, 97, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 91,157, 23, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,216, 92,157, 23, 1, 0, 0, 0,152, 89,157, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 87,111,114,108,100, 95, 80, 84, 95,118,111,108,117,109,101, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 87,111,114,108,100, 95, 80, 84, 95,118,111,108,117,109,101, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 86,111,108,117,109,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,255, 40, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,216, 92,157, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 8, 35, 70, 27, 1, 0, 0, 0, + 56, 91,157, 23, 1, 0, 0, 0, 56,239, 24, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 77, 97, +116,101,114,105, 97,108, 95, 80, 84, 95,115,117,114,102, 97, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 77, 97, +116,101,114,105, 97,108, 95, 80, 84, 95,115,117,114,102, 97, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,117,114,102, 97, 99,101, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,204,254, 40, 1,147, 0, + 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 8, 35, 70, 27, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,168, 36, 70, 27, 1, 0, 0, 0,216, 92,157, 23, 1, 0, 0, 0,152,241, 24, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 77, 97,116,101,114,105, 97,108, 95, 80, 84, 95,118,111,108,117,109,101, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 77, 97,116,101,114,105, 97,108, 95, 80, 84, 95,118,111,108,117,109,101, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 86,111,108,117,109,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,254, 40, 1, 36, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,168, 36, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 72, 38, 70, 27, 1, 0, 0, 0, + 8, 35, 70, 27, 1, 0, 0, 0,248,243, 24, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 77, 97, +116,101,114,105, 97,108, 95, 80, 84, 95,100,105,115,112,108, 97, 99,101,109,101,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 77, 97, +116,101,114,105, 97,108, 95, 80, 84, 95,100,105,115,112,108, 97, 99,101,109,101,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,115,112,108, 97, 99,101, +109,101,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,254, 40, 1, 36, 0, + 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72, 38, 70, 27, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,232, 39, 70, 27, 1, 0, 0, 0,168, 36, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 77, 97,116,101,114,105, 97,108, 95, 80, 84, 95,115,101,116,116,105,110, +103,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 77, 97,116,101,114,105, 97,108, 95, 80, 84, 95,115,101,116,116,105,110, +103,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83,101,116,116,105,110,103,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,254, 43, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,232, 39, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,136, 41, 70, 27, 1, 0, 0, 0, + 72, 38, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, + 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, + 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, + 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,231,253, 40, 1, 58, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136, 41, 70, 27, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 40, 43, 70, 27, 1, 0, 0, 0,232, 39, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, 84, 95,109,101,115,104, 95,100,105,115,112,108, 97, 99,101,109, +101,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, 84, 95,109,101,115,104, 95,100,105,115,112,108, 97, 99,101,109, +101,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68,105,115,112,108, 97, 99,101,109,101,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74,255, 40, 1, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 40, 43, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,200, 44, 70, 27, 1, 0, 0, 0, +136, 41, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 72, 89, 83, 73, 67, 83, 95, + 80, 84, 95, 97,100,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 72, 89, 83, 73, 67, 83, 95, + 80, 84, 95, 97,100,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115,255, 40, 1,105, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,200, 44, 70, 27, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,104, 46, 70, 27, 1, 0, 0, 0, 40, 43, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, 84, 95, 99, 97,109,101,114, 97, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 95, 80, 84, 95, 99, 97,109,101,114, 97, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,254, 40, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,104, 46, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +200, 44, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 76, 97, +109,112, 95, 80, 84, 95,108, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,121, 99,108,101,115, 76, 97, +109,112, 95, 80, 84, 95,108, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,117,114,102, 97, 99,101, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,255, 40, 1, 36, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,120, 94,157, 23, 1, 0, 0, 0, +159, 0, 0, 0, 1, 0, 0, 0,232, 63,157, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, - 0, 0, 0, 0, 9,190,172, 32, 0, 0, 21,255, 0, 0, 0,160, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 4,212,135,128, - 0, 0, 0,194, 0, 0, 0, 1, 4,212,139, 64, 4,212, 54, 16, 4,212, 43,192, 4,212, 46, 64, 4,212, 46,128, 4,212, 45, 64, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 63, 0, 0, 0, 0, 0, 0, 0,123, 15, 15, 6, 64, 0,124, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 23,122, 48, 4,212,138, 80, 4,212,138, 80, 4,212,136, 16, 4,212,137, 48, 0, 0, 0, 0, 0, 0, 0, 0, - 9,182,166, 64, 9,182,163,176, 68, 65, 84, 65, 0, 0, 0,248, 4,212,136, 16, 0, 0, 0,195, 0, 0, 0, 1, 4,212,137, 48, - 0, 0, 0, 0, 0, 0, 0, 0, 68,140, 32, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,200, 0, 0, 0, 0, 0, 0, - 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 63, 0, 0, 0, 0, 0, 0, 0, 25, 68,202,224, 0, 65,200, 0, 0, 68,202,224, 0, - 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 6, 64, 0, 26, 6, 64, - 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 63, 0, 0, 0, 0, 0, 0, 0, 25, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 64, 0, 26, 0, 5, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,123,128, 9,187,123, 96, 9,187,123, 96, 0, 0, 0, 0, - 0, 0, 0, 0, 4,218,185,224, 4,218,190,224, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212,137, 48, - 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,212,136, 16,192, 64, 0, 0, 67,126, 0, 0, 0, 0, 0, 0, 66, 72, 0, 0, -194,103,218, 88, 67,141,147, 40, 0, 0, 0, 0, 66, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 6, 63, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 6, 63, 0, 0, 0, 18, 0, 0, 0, 97, - 63,128, 0, 0, 66, 72, 0, 0, 72,146,124, 0, 66, 72, 0, 0, 61,204,204,205, 65, 32, 0, 0, 0, 72, 0, 0, 0, 0, 2, 0, - 0, 4, 4, 0, 0, 8, 6, 64, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 63, 0, 0, 0, 26, 0, 0, 0,123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 64, 0, 98, - 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,122,240, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,218,191,224, 2, 21, 2,112, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,188, 4,212,138, 80, 0, 0, 0,170, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 5, 0, 5, 0, 0, 0, + 2, 0, 1, 0, 0, 0, 16, 0,184,146,157, 23, 1, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0, 8, 48, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120, 49, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 32,209, 68, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,209, 68, 0, 0,200, 65, + 0, 0,209, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,137, 6, + 26, 0,137, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 6, 0, 0, +149, 3, 0, 0,174, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,137, 6, 26, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0,120, 49, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,232, 50, 70, 27, 1, 0, 0, 0, + 8, 48, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 67, 0, 64,101,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 67, + 0, 64,101,196, 0, 0, 0, 0,223, 0, 0, 0,240, 0, 0, 0, 0, 0, 0, 0,148, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222, 0, 0, 0, 0, 0, 0, 0,148, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,240, 0, +149, 3,223, 0,149, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 0, 0, 0, + 0, 0, 0, 0,148, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 0,149, 3, 0, 0, 2, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0,232, 50, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 88, 52, 70, 27, 1, 0, 0, 0, +120, 49, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 32,179, 68, 0, 0, 0, 0, 0, 0,112, 66, 0, 0, 0, 0, 0, 32,179, 68, + 0, 0, 0, 0, 0, 0,112, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 5, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0,179, 68, 0, 0,108, 66, + 0, 0,179, 68, 0, 0,108, 66, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,153, 5, + 60, 0,153, 5, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 0, 0, 0,136, 6, 0, 0, + 89, 3, 0, 0,148, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,153, 5, 60, 0, 0, 0, 4, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0, 88, 52, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +232, 50, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0,128,175, 68, 0, 0,137,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177, 68, + 0, 64, 86,196, 0, 0, 0, 0,136, 5, 0, 0,153, 5, 0, 0, 0, 0, 0, 0, 88, 3, 0, 0, 0, 0, 0, 0,135, 5, 0, 0, + 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,135, 5, 0, 0, 0, 0, 0, 0, 88, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 2, 0, 0, 2, 0, 3, 3, 2, 0, 0, 4, 6, 0,153, 5, + 89, 3,136, 5, 89, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 0, 0, 0,136, 6, 0, 0, + 0, 0, 0, 0, 88, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,153, 5, 89, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,104, 0, 0, 0,232, 63,157, 23, 1, 0, 0, 0,162, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +120, 94,157, 23, 1, 0, 0, 0, 8, 48, 70, 27, 1, 0, 0, 0, 88, 52, 70, 27, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 68, 65, 84, 65, 0, 0, 0, 96, 4,212,139, 64, 0, 0, 0,194, - 0, 0, 0, 1, 4,212,143,112, 4,212,135,128, 4,212, 45,192, 4,212, 45,128, 4,212, 45, 0, 4,212, 46, 0, 0, 0, 0, 0, - 0, 0, 6, 65, 0, 0, 7,128, 0, 0, 3,161, 0, 0, 4,100, 3, 3, 1, 64, 0,196, 0, 1, 0, 0, 0, 0, 0, 0, 0, 8, - 2, 23,120, 80, 4,212,142, 16, 4,212,142, 16, 4,212,139,208, 4,212,140,240, 0, 0, 0, 0, 0, 0, 0, 0, 10, 62,166,160, - 9,190,175,144, 68, 65, 84, 65, 0, 0, 0,248, 4,212,139,208, 0, 0, 0,195, 0, 0, 0, 1, 4,212,140,240, 0, 0, 0, 0, - 0, 0, 0, 0, 67,244,128, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 67,160, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0,255,255,255,255, 0, 0, + 68, 65, 84, 65,160, 0, 0, 0,200, 53, 70, 27, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,136,122, 70, 27, 1, 0, 0, 0, +248, 38,159, 23, 1, 0, 0, 0,232, 24,159, 23, 1, 0, 0, 0,232, 27,159, 23, 1, 0, 0, 0, 72, 28,159, 23, 1, 0, 0, 0, + 40, 27,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115, 4, 0, 0, 0, 0, 0, 0,171, 1, 0, 0, + 1, 1,116, 4,172, 1, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0,232,173, 82, 2, 1, 0, 0, 0,136,104, 70, 27, 1, 0, 0, 0, + 56, 4,106, 3, 1, 0, 0, 0,168, 54, 70, 27, 1, 0, 0, 0,104, 99, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,104, 13,167, 19, 1, 0, 0, 0,232, 15,167, 19, 1, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, +168, 54, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24, 56, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0,192,109, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128,142, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 63, 0, 0, 0, 0, 0, 0, 0, 25, 67, 66, 0, 0, 65,200, 0, 0, 67, 66, 0, 0, 65,200, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 1, 64, 0, 26, 1, 64, 0, 26, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 65, 0, 0, 7,128, 0, 0, 4, 75, 0, 0, 4,100, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 64, 0, 26, 0, 7, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,121,160, 9,187,113,240, 9,187,113,240, 0, 0, 0, 0, 0, 0, 0, 0, - 4,217, 20,160, 2, 22,237, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212,140,240, 0, 0, 0,195, - 0, 0, 0, 1, 0, 0, 0, 0, 4,212,139,208, 0, 0, 0, 0, 67,131,128, 0,194,232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 67,151,128, 0,195, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 47, 0, 0, 1, 64, 0, 0, 0, 18, 0, 0, 0,169, 0, 0, 0, 0, - 0, 0, 1, 46, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 46, 0, 0, 0, 18, 0, 0, 0,169, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 6, 18, 0, 0, 0, 2, 3, 3, 0, 0, 4, 12, - 0, 6, 1, 64, 0,170, 1, 47, 0,152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 65, 0, 0, 7,128, - 0, 0, 3,161, 0, 0, 4, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 64, 0,170, 0, 8, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,121, 16, 9,187,117,144, - 9,187,117,144, 0, 0, 0, 0, 0, 0, 0, 0, 4,217, 13, 64, 4,209,111,128, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0,244, 4,212,142, 16, 0, 0, 0,163, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,115, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,116, 4, 26, 0,116, 4, 26, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116, 4, 26, 0, 5, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,184, 82, 2, 1, 0, 0, 0,136, 67, 54, 23, 1, 0, 0, 0, +136, 67, 54, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 16,167, 19, 1, 0, 0, 0, + 24, 20,167, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, + 24, 56, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136, 83, 70, 27, 1, 0, 0, 0,168, 54, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 32, 67, 0,128, 18,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0,128, 18,196, 0, 0, 0, 0, +143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 73, 2, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, + 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 74, 2,143, 0, 74, 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, 26, 0, 0, 0,171, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,146, 1, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, +160, 0, 50, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,180, 82, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,136, 57, 70, 27, 1, 0, 0, 0,232, 81, 70, 27, 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, 68, 65, 84, 65, 88, 1, 0, 0, +136, 57, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 40, 59, 70, 27, 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, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, +111, 98,106,101, 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, +111, 98,106,101, 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 98,106,101, 99,116, 32, 84,111,111,108,115, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42,254,143, 0,190, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 40, 59, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, +200, 60, 70, 27, 1, 0, 0, 0,136, 57, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 66,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,211,254,143, 0, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 9,188, 90,160, 9,188, 90,160, 4,212,143, 48, 0,115,101, 32, 83, 99,117,108,112,116, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, +200, 60, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,104, 62, 70, 27, 1, 0, 0, 0, 40, 59, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, + 98,114,117,115,104, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, + 98,114,117,115,104, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 68, 65, 84, 65, 0, 0, 0, 12, 4,212,143, 48, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 11, 42, 0, 0, 11, 42, - 2,116,176, 32, 68, 65, 84, 65, 0, 0,133,248, 2,116,176, 32, 0, 0, 0,216, 0, 0, 11, 42, 0, 0, 0, 0, 0, 2, 0, 1, - 2,152,190, 32, 0, 19, 0, 0, 0, 1, 0, 1, 2,152,190, 32, 0, 20, 0, 0, 0, 1, 0, 1, 2,152,190, 32, 0, 21, 0, 1, - 0, 1, 0, 0, 2,152,190, 32, 0, 0, 0, 0, 0, 1, 0, 1, 4,213,120,240, 0, 0, 0, 0, 0, 1, 0, 1, 2,152,202, 32, - 0, 0, 0, 0, 0, 1, 0, 1, 4,213,128,192, 0, 0, 0, 0, 0, 1, 0, 1, 2,152,214, 32, 0, 0, 0, 0, 0, 1, 0, 1, - 4,213,127, 16, 0, 0, 0, 0, 0, 1, 0, 1, 2,152,208, 32, 0, 0, 0, 0, 0, 1, 0, 1, 4,213,117,128, 0, 0, 0, 0, - 0, 1, 0, 1, 2,152,196, 32, 0, 0, 0, 0, 0, 1, 0, 1, 4,213,116,240, 0, 21, 0, 0, 0, 1, 0, 1, 2,152,190, 32, - 0, 30,255,255, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 1, 0, 1, 0, 0, - 2,152,190, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 4, - 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,152,190, 32, - 0, 31, 0, 7, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 9, 0, 1, 0, 0, - 2,152,190, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 12, - 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,152,190, 32, - 0, 31, 0, 15, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 17, 0, 1, 0, 0, - 2,152,190, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 20, - 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,152,190, 32, - 0, 31, 0, 23, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 25, 0, 1, 0, 0, - 2,152,190, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 28, - 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,152,190, 32, - 0, 31, 0, 31, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 33, 0, 1, 0, 0, - 2,152,190, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 36, - 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,152,190, 32, - 0, 31, 0, 39, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 41, 0, 1, 0, 0, - 2,152,190, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 44, - 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,152,190, 32, - 0, 31, 0, 47, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,152,190, 32, 0, 30,255,255, 0, 1, 0, 0, - 2,152,190, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 2, - 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,152,190, 32, - 0, 31, 0, 5, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 7, 0, 1, 0, 0, - 2,152,190, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 10, - 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,152,190, 32, - 0, 31, 0, 13, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 15, 0, 1, 0, 0, - 2,152,190, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 18, - 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,152,190, 32, - 0, 31, 0, 21, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 23, 0, 1, 0, 0, - 2,152,190, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 26, - 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,152,190, 32, - 0, 31, 0, 29, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 31, 0, 1, 0, 0, - 2,152,190, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 34, - 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,152,190, 32, - 0, 31, 0, 37, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,152,190, 32, 0, 31, 0, 39, 0, 1, 0, 0, - 2,152,190, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,152,190, 32, 0, 30,255,255, 0, 1, 0, 0, 2,152,254, 32, 0, 30,255,255, - 0, 1, 0, 0, 2,153, 2, 32, 0, 30,255,255, 0, 1, 0, 0, 2,153, 6, 32, 0, 30,255,255, 0, 1, 0, 0, 2,153, 10, 32, - 0, 30,255,255, 0, 1, 0, 0, 2,153, 14, 32, 0, 30,255,255, 0, 1, 0, 0, 2,153, 18, 32, 0, 30,255,255, 0, 1, 0, 0, - 2,153, 22, 32, 0, 30,255,255, 0, 1, 0, 0, 2,153, 26, 32, 0, 30,255,255, 0, 1, 0, 0, 2,153, 30, 32, 0, 30,255,255, - 0, 1, 0, 0, 2,153, 34, 32, 0, 30,255,255, 0, 1, 0, 0, 2,153, 38, 32, 0, 30,255,255, 0, 1, 0, 0, 2,153, 42, 32, - 0, 30,255,255, 0, 1, 0, 0, 2,153, 46, 32, 0, 30,255,255, 0, 1, 0, 0, 2,153, 50, 32, 0, 30,255,255, 0, 1, 0, 0, - 2,153, 54, 32, 0, 30,255,255, 0, 1, 0, 0, 2,153, 58, 32, 0, 30,255,255, 0, 1, 0, 0, 2,153, 62, 32, 0, 30,255,255, - 0, 1, 0, 0, 2,153, 66, 32, 0, 30,255,255, 0, 1, 0, 0, 2,153, 70, 32, 0, 30,255,255, 0, 1, 0, 0, 2,153, 74, 32, - 0, 30,255,255, 0, 1, 0, 0, 2,153, 78, 32, 0, 30,255,255, 0, 1, 0, 0, 2,153, 82, 32, 0, 30,255,255, 0, 1, 0, 0, - 2,153, 86, 32, 0, 30,255,255, 0, 1, 0, 0, 2,153, 90, 32, 0, 30,255,255, 0, 1, 0, 0, 2,153, 94, 32, 0, 30,255,255, - 0, 1, 0, 0, 2,153, 98, 32, 0, 30,255,255, 0, 1, 0, 0, 2,153,102, 32, 0, 30,255,255, 0, 1, 0, 0, 2,153,106, 32, - 0, 30,255,255, 0, 1, 0, 0, 2,153,110, 32, 0, 30,255,255, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 0, 0, 1, 0, 0, - 2,152,254, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 3, - 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,152,254, 32, - 0, 31, 0, 6, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 8, 0, 1, 0, 0, - 2,152,254, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 11, - 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,152,254, 32, - 0, 31, 0, 14, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 16, 0, 1, 0, 0, - 2,152,254, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 19, - 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,152,254, 32, - 0, 31, 0, 22, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 24, 0, 1, 0, 0, - 2,152,254, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 27, - 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,152,254, 32, - 0, 31, 0, 30, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 32, 0, 1, 0, 0, - 2,152,254, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 35, - 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,152,254, 32, - 0, 31, 0, 38, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 40, 0, 1, 0, 0, - 2,152,254, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 43, - 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,152,254, 32, - 0, 31, 0, 46, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 48, 0, 1, 0, 0, - 2,152,254, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 51, - 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,152,254, 32, - 0, 31, 0, 54, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 56, 0, 1, 0, 0, - 2,152,254, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 59, - 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,152,254, 32, - 0, 31, 0, 62, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 64, 0, 1, 0, 0, - 2,152,254, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 67, - 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,152,254, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,152,254, 32, - 0, 30,255,255, 0, 1, 0, 0, 4,213,116,240, 0, 30,255,255, 0, 1, 0, 0, 4,213,117,128, 0, 30,255,255, 0, 1, 0, 0, - 2,152,214, 32, 0, 30,255,255, 0, 1, 0, 0, 4,213,128,192, 0, 30,255,255, 0, 3, 0, 0, 2,152,196, 32, 0, 30,255,255, - 0, 1, 0, 0, 2,152,202, 32, 0, 30,255,255, 0, 1, 0, 0, 2,152,208, 32, 0, 30,255,255, 0, 1, 0, 0, 4,211,177,144, - 0, 30,255,255, 0, 1, 0, 0, 4,211,245,240, 0, 30,255,255, 0, 1, 0, 0, 4,212, 43, 0, 0, 30,255,255, 0, 1, 0, 0, - 4,212,182,208, 0, 30,255,255, 0, 1, 0, 0, 4,212,247,144, 0, 30,255,255, 0, 1, 0, 0, 4,213, 50,160, 0, 30,255,255, - 0, 1, 0, 0, 4,213, 74,240, 0, 30,255,255, 0, 1, 0, 0, 4,213,127, 16, 0, 30,255,255, 0, 1, 0, 0, 4,211,175,144, - 0, 30,255,255, 0, 1, 0, 0, 4,213,120,240, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 1, 0, 1, 0, 0, - 2,153, 2, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 4, - 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 2, 32, - 0, 31, 0, 7, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 9, 0, 1, 0, 0, - 2,153, 2, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 12, - 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 2, 32, - 0, 31, 0, 15, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 17, 0, 1, 0, 0, - 2,153, 2, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 20, - 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 2, 32, - 0, 31, 0, 23, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 25, 0, 1, 0, 0, - 2,153, 2, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 28, - 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 2, 32, - 0, 31, 0, 31, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 33, 0, 1, 0, 0, - 2,153, 2, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 36, - 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 2, 32, - 0, 31, 0, 39, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 41, 0, 1, 0, 0, - 2,153, 2, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 44, - 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 2, 32, - 0, 31, 0, 47, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 49, 0, 1, 0, 0, - 2,153, 2, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 52, - 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 2, 32, - 0, 31, 0, 55, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 57, 0, 1, 0, 0, - 2,153, 2, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 60, - 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 2, 32, - 0, 31, 0, 63, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 65, 0, 1, 0, 0, - 2,153, 2, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 68, - 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 2, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 6, 32, - 0, 31, 0, 1, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 3, 0, 1, 0, 0, - 2,153, 6, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 6, - 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 6, 32, - 0, 31, 0, 9, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 11, 0, 1, 0, 0, - 2,153, 6, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 14, - 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 6, 32, - 0, 31, 0, 17, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 19, 0, 1, 0, 0, - 2,153, 6, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 22, - 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 6, 32, - 0, 31, 0, 25, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 27, 0, 1, 0, 0, - 2,153, 6, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 30, - 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 6, 32, - 0, 31, 0, 33, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 35, 0, 1, 0, 0, - 2,153, 6, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 38, - 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 6, 32, - 0, 31, 0, 41, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 43, 0, 1, 0, 0, - 2,153, 6, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 46, - 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 6, 32, - 0, 31, 0, 49, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 51, 0, 1, 0, 0, - 2,153, 6, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 54, - 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 6, 32, - 0, 31, 0, 57, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 59, 0, 1, 0, 0, - 2,153, 6, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 62, - 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 6, 32, - 0, 31, 0, 65, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 67, 0, 1, 0, 0, - 2,153, 6, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 6, 32, 0, 31, 0, 0, - 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153, 10, 32, - 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 5, 0, 1, 0, 0, - 2,153, 10, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 8, - 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153, 10, 32, - 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 13, 0, 1, 0, 0, - 2,153, 10, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 16, - 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153, 10, 32, - 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 21, 0, 1, 0, 0, - 2,153, 10, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 24, - 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153, 10, 32, - 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 29, 0, 1, 0, 0, - 2,153, 10, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 32, - 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153, 10, 32, - 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 37, 0, 1, 0, 0, - 2,153, 10, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 40, - 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153, 10, 32, - 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 45, 0, 1, 0, 0, - 2,153, 10, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 48, - 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153, 10, 32, - 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 53, 0, 1, 0, 0, - 2,153, 10, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 56, - 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153, 10, 32, - 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 61, 0, 1, 0, 0, - 2,153, 10, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 64, - 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153, 10, 32, - 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153, 10, 32, 0, 31, 0, 69, 0, 1, 0, 0, - 2,153, 10, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 2, - 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153, 14, 32, - 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 7, 0, 1, 0, 0, - 2,153, 14, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 10, - 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153, 14, 32, - 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 15, 0, 1, 0, 0, - 2,153, 14, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 18, - 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153, 14, 32, - 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 23, 0, 1, 0, 0, - 2,153, 14, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 26, - 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153, 14, 32, - 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 31, 0, 1, 0, 0, - 2,153, 14, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 34, - 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153, 14, 32, - 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 39, 0, 1, 0, 0, - 2,153, 14, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 42, - 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153, 14, 32, - 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 47, 0, 1, 0, 0, - 2,153, 14, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 50, - 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153, 14, 32, - 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 55, 0, 1, 0, 0, - 2,153, 14, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 58, - 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153, 14, 32, - 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 63, 0, 1, 0, 0, - 2,153, 14, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 66, - 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153, 14, 32, - 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 14, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 1, 0, 1, 0, 0, - 2,153, 18, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 4, - 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 18, 32, - 0, 31, 0, 7, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 9, 0, 1, 0, 0, - 2,153, 18, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 12, - 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 18, 32, - 0, 31, 0, 15, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 17, 0, 1, 0, 0, - 2,153, 18, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 20, - 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 18, 32, - 0, 31, 0, 23, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 25, 0, 1, 0, 0, - 2,153, 18, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 28, - 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 18, 32, - 0, 31, 0, 31, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 33, 0, 1, 0, 0, - 2,153, 18, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 36, - 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 18, 32, - 0, 31, 0, 39, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 41, 0, 1, 0, 0, - 2,153, 18, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 44, - 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 18, 32, - 0, 31, 0, 47, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 49, 0, 1, 0, 0, - 2,153, 18, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 52, - 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 18, 32, - 0, 31, 0, 55, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 57, 0, 1, 0, 0, - 2,153, 18, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 60, - 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 18, 32, - 0, 31, 0, 63, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 65, 0, 1, 0, 0, - 2,153, 18, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 68, - 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 18, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 22, 32, - 0, 31, 0, 1, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 3, 0, 1, 0, 0, - 2,153, 22, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 6, - 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 22, 32, - 0, 31, 0, 9, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 11, 0, 1, 0, 0, - 2,153, 22, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 14, - 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 22, 32, - 0, 31, 0, 17, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 19, 0, 1, 0, 0, - 2,153, 22, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 22, - 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 22, 32, - 0, 31, 0, 25, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 27, 0, 1, 0, 0, - 2,153, 22, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 30, - 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 22, 32, - 0, 31, 0, 33, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 35, 0, 1, 0, 0, - 2,153, 22, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 38, - 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 22, 32, - 0, 31, 0, 41, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 43, 0, 1, 0, 0, - 2,153, 22, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 46, - 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 22, 32, - 0, 31, 0, 49, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 51, 0, 1, 0, 0, - 2,153, 22, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 54, - 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 22, 32, - 0, 31, 0, 57, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 59, 0, 1, 0, 0, - 2,153, 22, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 62, - 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 22, 32, - 0, 31, 0, 65, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 67, 0, 1, 0, 0, - 2,153, 22, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 22, 32, 0, 31, 0, 0, - 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153, 26, 32, - 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 5, 0, 1, 0, 0, - 2,153, 26, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 8, - 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153, 26, 32, - 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 13, 0, 1, 0, 0, - 2,153, 26, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 16, - 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153, 26, 32, - 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 21, 0, 1, 0, 0, - 2,153, 26, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 24, - 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153, 26, 32, - 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 29, 0, 1, 0, 0, - 2,153, 26, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 32, - 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153, 26, 32, - 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 37, 0, 1, 0, 0, - 2,153, 26, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 40, - 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153, 26, 32, - 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 45, 0, 1, 0, 0, - 2,153, 26, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 48, - 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153, 26, 32, - 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 53, 0, 1, 0, 0, - 2,153, 26, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 56, - 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153, 26, 32, - 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 61, 0, 1, 0, 0, - 2,153, 26, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 64, - 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153, 26, 32, - 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153, 26, 32, 0, 31, 0, 69, 0, 1, 0, 0, - 2,153, 26, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 2, - 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153, 30, 32, - 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 7, 0, 1, 0, 0, - 2,153, 30, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 10, - 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153, 30, 32, - 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 15, 0, 1, 0, 0, - 2,153, 30, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 18, - 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153, 30, 32, - 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 23, 0, 1, 0, 0, - 2,153, 30, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 26, - 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153, 30, 32, - 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 31, 0, 1, 0, 0, - 2,153, 30, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 34, - 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153, 30, 32, - 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 39, 0, 1, 0, 0, - 2,153, 30, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 42, - 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153, 30, 32, - 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 47, 0, 1, 0, 0, - 2,153, 30, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 50, - 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153, 30, 32, - 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 55, 0, 1, 0, 0, - 2,153, 30, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 58, - 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153, 30, 32, - 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 63, 0, 1, 0, 0, - 2,153, 30, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 66, - 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153, 30, 32, - 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 30, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 1, 0, 1, 0, 0, - 2,153, 34, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 4, - 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 34, 32, - 0, 31, 0, 7, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 9, 0, 1, 0, 0, - 2,153, 34, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 12, - 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 34, 32, - 0, 31, 0, 15, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 17, 0, 1, 0, 0, - 2,153, 34, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 20, - 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 34, 32, - 0, 31, 0, 23, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 25, 0, 1, 0, 0, - 2,153, 34, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 28, - 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 34, 32, - 0, 31, 0, 31, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 33, 0, 1, 0, 0, - 2,153, 34, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 36, - 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 34, 32, - 0, 31, 0, 39, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 41, 0, 1, 0, 0, - 2,153, 34, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 44, - 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 34, 32, - 0, 31, 0, 47, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 49, 0, 1, 0, 0, - 2,153, 34, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 52, - 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 34, 32, - 0, 31, 0, 55, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 57, 0, 1, 0, 0, - 2,153, 34, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 60, - 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 34, 32, - 0, 31, 0, 63, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 65, 0, 1, 0, 0, - 2,153, 34, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 68, - 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 34, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 38, 32, - 0, 31, 0, 1, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 3, 0, 1, 0, 0, - 2,153, 38, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 6, - 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 38, 32, - 0, 31, 0, 9, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 11, 0, 1, 0, 0, - 2,153, 38, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 14, - 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 38, 32, - 0, 31, 0, 17, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 19, 0, 1, 0, 0, - 2,153, 38, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 22, - 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 38, 32, - 0, 31, 0, 25, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 27, 0, 1, 0, 0, - 2,153, 38, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 30, - 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 38, 32, - 0, 31, 0, 33, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 35, 0, 1, 0, 0, - 2,153, 38, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 38, - 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 38, 32, - 0, 31, 0, 41, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 43, 0, 1, 0, 0, - 2,153, 38, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 46, - 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 38, 32, - 0, 31, 0, 49, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 51, 0, 1, 0, 0, - 2,153, 38, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 54, - 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 38, 32, - 0, 31, 0, 57, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 59, 0, 1, 0, 0, - 2,153, 38, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 62, - 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 38, 32, - 0, 31, 0, 65, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 67, 0, 1, 0, 0, - 2,153, 38, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 38, 32, 0, 31, 0, 0, - 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153, 42, 32, - 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 5, 0, 1, 0, 0, - 2,153, 42, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 8, - 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153, 42, 32, - 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 13, 0, 1, 0, 0, - 2,153, 42, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 16, - 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153, 42, 32, - 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 21, 0, 1, 0, 0, - 2,153, 42, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 24, - 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153, 42, 32, - 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 29, 0, 1, 0, 0, - 2,153, 42, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 32, - 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153, 42, 32, - 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 37, 0, 1, 0, 0, - 2,153, 42, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 40, - 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153, 42, 32, - 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 45, 0, 1, 0, 0, - 2,153, 42, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 48, - 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153, 42, 32, - 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 53, 0, 1, 0, 0, - 2,153, 42, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 56, - 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153, 42, 32, - 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 61, 0, 1, 0, 0, - 2,153, 42, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 64, - 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153, 42, 32, - 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153, 42, 32, 0, 31, 0, 69, 0, 1, 0, 0, - 2,153, 42, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 2, - 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153, 46, 32, - 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 7, 0, 1, 0, 0, - 2,153, 46, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 10, - 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153, 46, 32, - 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 15, 0, 1, 0, 0, - 2,153, 46, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 18, - 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153, 46, 32, - 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 23, 0, 1, 0, 0, - 2,153, 46, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 26, - 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153, 46, 32, - 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 31, 0, 1, 0, 0, - 2,153, 46, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 34, - 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153, 46, 32, - 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 39, 0, 1, 0, 0, - 2,153, 46, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 42, - 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153, 46, 32, - 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 47, 0, 1, 0, 0, - 2,153, 46, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 50, - 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153, 46, 32, - 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 55, 0, 1, 0, 0, - 2,153, 46, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 58, - 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153, 46, 32, - 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 63, 0, 1, 0, 0, - 2,153, 46, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 66, - 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153, 46, 32, - 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 46, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 1, 0, 1, 0, 0, - 2,153, 50, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 4, - 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 50, 32, - 0, 31, 0, 7, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 9, 0, 1, 0, 0, - 2,153, 50, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 12, - 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 50, 32, - 0, 31, 0, 15, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 17, 0, 1, 0, 0, - 2,153, 50, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 20, - 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 50, 32, - 0, 31, 0, 23, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 25, 0, 1, 0, 0, - 2,153, 50, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 28, - 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 50, 32, - 0, 31, 0, 31, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 33, 0, 1, 0, 0, - 2,153, 50, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 36, - 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 50, 32, - 0, 31, 0, 39, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 41, 0, 1, 0, 0, - 2,153, 50, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 44, - 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 50, 32, - 0, 31, 0, 47, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 49, 0, 1, 0, 0, - 2,153, 50, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 52, - 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 50, 32, - 0, 31, 0, 55, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 57, 0, 1, 0, 0, - 2,153, 50, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 60, - 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 50, 32, - 0, 31, 0, 63, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 65, 0, 1, 0, 0, - 2,153, 50, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 68, - 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 50, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 54, 32, - 0, 31, 0, 1, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 3, 0, 1, 0, 0, - 2,153, 54, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 6, - 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 54, 32, - 0, 31, 0, 9, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 11, 0, 1, 0, 0, - 2,153, 54, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 14, - 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 54, 32, - 0, 31, 0, 17, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 19, 0, 1, 0, 0, - 2,153, 54, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 22, - 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 54, 32, - 0, 31, 0, 25, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 27, 0, 1, 0, 0, - 2,153, 54, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 30, - 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 54, 32, - 0, 31, 0, 33, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 35, 0, 1, 0, 0, - 2,153, 54, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 38, - 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 54, 32, - 0, 31, 0, 41, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 43, 0, 1, 0, 0, - 2,153, 54, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 46, - 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 54, 32, - 0, 31, 0, 49, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 51, 0, 1, 0, 0, - 2,153, 54, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 54, - 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 54, 32, - 0, 31, 0, 57, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 59, 0, 1, 0, 0, - 2,153, 54, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 62, - 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 54, 32, - 0, 31, 0, 65, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 67, 0, 1, 0, 0, - 2,153, 54, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 54, 32, 0, 31, 0, 0, - 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153, 58, 32, - 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 5, 0, 1, 0, 0, - 2,153, 58, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 8, - 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153, 58, 32, - 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 13, 0, 1, 0, 0, - 2,153, 58, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 16, - 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153, 58, 32, - 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 21, 0, 1, 0, 0, - 2,153, 58, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 24, - 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153, 58, 32, - 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 29, 0, 1, 0, 0, - 2,153, 58, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 32, - 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153, 58, 32, - 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 37, 0, 1, 0, 0, - 2,153, 58, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 40, - 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153, 58, 32, - 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 45, 0, 1, 0, 0, - 2,153, 58, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 48, - 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153, 58, 32, - 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 53, 0, 1, 0, 0, - 2,153, 58, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 56, - 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153, 58, 32, - 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 61, 0, 1, 0, 0, - 2,153, 58, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 64, - 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153, 58, 32, - 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153, 58, 32, 0, 31, 0, 69, 0, 1, 0, 0, - 2,153, 58, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 2, - 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153, 62, 32, - 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 7, 0, 1, 0, 0, - 2,153, 62, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 10, - 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153, 62, 32, - 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 15, 0, 1, 0, 0, - 2,153, 62, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 18, - 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153, 62, 32, - 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 23, 0, 1, 0, 0, - 2,153, 62, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 26, - 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153, 62, 32, - 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 31, 0, 1, 0, 0, - 2,153, 62, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 34, - 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153, 62, 32, - 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 39, 0, 1, 0, 0, - 2,153, 62, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 42, - 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153, 62, 32, - 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 47, 0, 1, 0, 0, - 2,153, 62, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 50, - 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153, 62, 32, - 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 55, 0, 1, 0, 0, - 2,153, 62, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 58, - 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153, 62, 32, - 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 63, 0, 1, 0, 0, - 2,153, 62, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 66, - 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153, 62, 32, - 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 62, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 1, 0, 1, 0, 0, - 2,153, 66, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 4, - 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 66, 32, - 0, 31, 0, 7, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 9, 0, 1, 0, 0, - 2,153, 66, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 12, - 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 66, 32, - 0, 31, 0, 15, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 17, 0, 1, 0, 0, - 2,153, 66, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 20, - 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 66, 32, - 0, 31, 0, 23, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 25, 0, 1, 0, 0, - 2,153, 66, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 28, - 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 66, 32, - 0, 31, 0, 31, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 33, 0, 1, 0, 0, - 2,153, 66, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 36, - 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 66, 32, - 0, 31, 0, 39, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 41, 0, 1, 0, 0, - 2,153, 66, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 44, - 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 66, 32, - 0, 31, 0, 47, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 49, 0, 1, 0, 0, - 2,153, 66, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 52, - 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 66, 32, - 0, 31, 0, 55, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 57, 0, 1, 0, 0, - 2,153, 66, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 60, - 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 66, 32, - 0, 31, 0, 63, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 65, 0, 1, 0, 0, - 2,153, 66, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 68, - 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 66, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 70, 32, - 0, 31, 0, 1, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 3, 0, 1, 0, 0, - 2,153, 70, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 6, - 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 70, 32, - 0, 31, 0, 9, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 11, 0, 1, 0, 0, - 2,153, 70, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 14, - 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 70, 32, - 0, 31, 0, 17, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 19, 0, 1, 0, 0, - 2,153, 70, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 22, - 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 70, 32, - 0, 31, 0, 25, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 27, 0, 1, 0, 0, - 2,153, 70, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 30, - 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 70, 32, - 0, 31, 0, 33, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 35, 0, 1, 0, 0, - 2,153, 70, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 38, - 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 70, 32, - 0, 31, 0, 41, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 43, 0, 1, 0, 0, - 2,153, 70, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 46, - 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 70, 32, - 0, 31, 0, 49, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 51, 0, 1, 0, 0, - 2,153, 70, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 54, - 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 70, 32, - 0, 31, 0, 57, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 59, 0, 1, 0, 0, - 2,153, 70, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 62, - 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 70, 32, - 0, 31, 0, 65, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 67, 0, 1, 0, 0, - 2,153, 70, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 70, 32, 0, 31, 0, 0, - 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153, 74, 32, - 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 5, 0, 1, 0, 0, - 2,153, 74, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 8, - 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153, 74, 32, - 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 13, 0, 1, 0, 0, - 2,153, 74, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 16, - 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153, 74, 32, - 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 21, 0, 1, 0, 0, - 2,153, 74, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 24, - 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153, 74, 32, - 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 29, 0, 1, 0, 0, - 2,153, 74, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 32, - 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153, 74, 32, - 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 37, 0, 1, 0, 0, - 2,153, 74, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 40, - 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153, 74, 32, - 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 45, 0, 1, 0, 0, - 2,153, 74, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 48, - 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153, 74, 32, - 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 53, 0, 1, 0, 0, - 2,153, 74, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 56, - 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153, 74, 32, - 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 61, 0, 1, 0, 0, - 2,153, 74, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 64, - 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153, 74, 32, - 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153, 74, 32, 0, 31, 0, 69, 0, 1, 0, 0, - 2,153, 74, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 2, - 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153, 78, 32, - 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 7, 0, 1, 0, 0, - 2,153, 78, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 10, - 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153, 78, 32, - 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 15, 0, 1, 0, 0, - 2,153, 78, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 18, - 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153, 78, 32, - 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 23, 0, 1, 0, 0, - 2,153, 78, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 26, - 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153, 78, 32, - 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 31, 0, 1, 0, 0, - 2,153, 78, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 34, - 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153, 78, 32, - 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 39, 0, 1, 0, 0, - 2,153, 78, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 42, - 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153, 78, 32, - 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 47, 0, 1, 0, 0, - 2,153, 78, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 50, - 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153, 78, 32, - 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 55, 0, 1, 0, 0, - 2,153, 78, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 58, - 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153, 78, 32, - 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 63, 0, 1, 0, 0, - 2,153, 78, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 66, - 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153, 78, 32, - 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 78, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 1, 0, 1, 0, 0, - 2,153, 82, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 4, - 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 82, 32, - 0, 31, 0, 7, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 9, 0, 1, 0, 0, - 2,153, 82, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 12, - 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 82, 32, - 0, 31, 0, 15, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 17, 0, 1, 0, 0, - 2,153, 82, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 20, - 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 82, 32, - 0, 31, 0, 23, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 25, 0, 1, 0, 0, - 2,153, 82, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 28, - 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 82, 32, - 0, 31, 0, 31, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 33, 0, 1, 0, 0, - 2,153, 82, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 36, - 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 82, 32, - 0, 31, 0, 39, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 41, 0, 1, 0, 0, - 2,153, 82, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 44, - 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 82, 32, - 0, 31, 0, 47, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 49, 0, 1, 0, 0, - 2,153, 82, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 52, - 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 82, 32, - 0, 31, 0, 55, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 57, 0, 1, 0, 0, - 2,153, 82, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 60, - 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 82, 32, - 0, 31, 0, 63, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 65, 0, 1, 0, 0, - 2,153, 82, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 68, - 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 82, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 86, 32, - 0, 31, 0, 1, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 3, 0, 1, 0, 0, - 2,153, 86, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 6, - 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 86, 32, - 0, 31, 0, 9, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 11, 0, 1, 0, 0, - 2,153, 86, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 14, - 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 86, 32, - 0, 31, 0, 17, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 19, 0, 1, 0, 0, - 2,153, 86, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 22, - 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 86, 32, - 0, 31, 0, 25, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 27, 0, 1, 0, 0, - 2,153, 86, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 30, - 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 86, 32, - 0, 31, 0, 33, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 35, 0, 1, 0, 0, - 2,153, 86, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 38, - 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 86, 32, - 0, 31, 0, 41, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 43, 0, 1, 0, 0, - 2,153, 86, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 46, - 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 86, 32, - 0, 31, 0, 49, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 51, 0, 1, 0, 0, - 2,153, 86, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 54, - 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 86, 32, - 0, 31, 0, 57, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 59, 0, 1, 0, 0, - 2,153, 86, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 62, - 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 86, 32, - 0, 31, 0, 65, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 67, 0, 1, 0, 0, - 2,153, 86, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 86, 32, 0, 31, 0, 0, - 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153, 90, 32, - 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 5, 0, 1, 0, 0, - 2,153, 90, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 8, - 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153, 90, 32, - 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 13, 0, 1, 0, 0, - 2,153, 90, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 16, - 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153, 90, 32, - 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 21, 0, 1, 0, 0, - 2,153, 90, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 24, - 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153, 90, 32, - 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 29, 0, 1, 0, 0, - 2,153, 90, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 32, - 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153, 90, 32, - 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 37, 0, 1, 0, 0, - 2,153, 90, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 40, - 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153, 90, 32, - 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 45, 0, 1, 0, 0, - 2,153, 90, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 48, - 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153, 90, 32, - 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 53, 0, 1, 0, 0, - 2,153, 90, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 56, - 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153, 90, 32, - 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 61, 0, 1, 0, 0, - 2,153, 90, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 64, - 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153, 90, 32, - 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153, 90, 32, 0, 31, 0, 69, 0, 1, 0, 0, - 2,153, 90, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 2, - 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153, 94, 32, - 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 7, 0, 1, 0, 0, - 2,153, 94, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 10, - 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153, 94, 32, - 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 15, 0, 1, 0, 0, - 2,153, 94, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 18, - 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153, 94, 32, - 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 23, 0, 1, 0, 0, - 2,153, 94, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 26, - 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153, 94, 32, - 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 31, 0, 1, 0, 0, - 2,153, 94, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 34, - 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153, 94, 32, - 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 39, 0, 1, 0, 0, - 2,153, 94, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 42, - 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153, 94, 32, - 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 47, 0, 1, 0, 0, - 2,153, 94, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 50, - 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153, 94, 32, - 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 55, 0, 1, 0, 0, - 2,153, 94, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 58, - 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153, 94, 32, - 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 63, 0, 1, 0, 0, - 2,153, 94, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 66, - 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153, 94, 32, - 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 94, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 1, 0, 1, 0, 0, - 2,153, 98, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 4, - 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153, 98, 32, - 0, 31, 0, 7, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 9, 0, 1, 0, 0, - 2,153, 98, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 12, - 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153, 98, 32, - 0, 31, 0, 15, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 17, 0, 1, 0, 0, - 2,153, 98, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 20, - 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153, 98, 32, - 0, 31, 0, 23, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 25, 0, 1, 0, 0, - 2,153, 98, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 28, - 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153, 98, 32, - 0, 31, 0, 31, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 33, 0, 1, 0, 0, - 2,153, 98, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 36, - 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153, 98, 32, - 0, 31, 0, 39, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 41, 0, 1, 0, 0, - 2,153, 98, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 44, - 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153, 98, 32, - 0, 31, 0, 47, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 49, 0, 1, 0, 0, - 2,153, 98, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 52, - 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153, 98, 32, - 0, 31, 0, 55, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 57, 0, 1, 0, 0, - 2,153, 98, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 60, - 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153, 98, 32, - 0, 31, 0, 63, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 65, 0, 1, 0, 0, - 2,153, 98, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 68, - 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,153, 98, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153,102, 32, - 0, 31, 0, 1, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 3, 0, 1, 0, 0, - 2,153,102, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 6, - 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153,102, 32, - 0, 31, 0, 9, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 11, 0, 1, 0, 0, - 2,153,102, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 14, - 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153,102, 32, - 0, 31, 0, 17, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 19, 0, 1, 0, 0, - 2,153,102, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 22, - 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153,102, 32, - 0, 31, 0, 25, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 27, 0, 1, 0, 0, - 2,153,102, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 30, - 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153,102, 32, - 0, 31, 0, 33, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 35, 0, 1, 0, 0, - 2,153,102, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 38, - 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153,102, 32, - 0, 31, 0, 41, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 43, 0, 1, 0, 0, - 2,153,102, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 46, - 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153,102, 32, - 0, 31, 0, 49, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 51, 0, 1, 0, 0, - 2,153,102, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 54, - 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153,102, 32, - 0, 31, 0, 57, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 59, 0, 1, 0, 0, - 2,153,102, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 62, - 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153,102, 32, - 0, 31, 0, 65, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 67, 0, 1, 0, 0, - 2,153,102, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,153,102, 32, 0, 31, 0, 0, - 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153,106, 32, - 0, 31, 0, 3, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 5, 0, 1, 0, 0, - 2,153,106, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 8, - 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153,106, 32, - 0, 31, 0, 11, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 13, 0, 1, 0, 0, - 2,153,106, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 16, - 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153,106, 32, - 0, 31, 0, 19, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 21, 0, 1, 0, 0, - 2,153,106, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 24, - 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153,106, 32, - 0, 31, 0, 27, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 29, 0, 1, 0, 0, - 2,153,106, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 32, - 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153,106, 32, - 0, 31, 0, 35, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 37, 0, 1, 0, 0, - 2,153,106, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 40, - 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153,106, 32, - 0, 31, 0, 43, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 45, 0, 1, 0, 0, - 2,153,106, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 48, - 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153,106, 32, - 0, 31, 0, 51, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 53, 0, 1, 0, 0, - 2,153,106, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 56, - 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153,106, 32, - 0, 31, 0, 59, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 61, 0, 1, 0, 0, - 2,153,106, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 64, - 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153,106, 32, - 0, 31, 0, 67, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153,106, 32, 0, 31, 0, 69, 0, 1, 0, 0, - 2,153,106, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 2, - 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,153,110, 32, - 0, 31, 0, 5, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 7, 0, 1, 0, 0, - 2,153,110, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 10, - 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,153,110, 32, - 0, 31, 0, 13, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 15, 0, 1, 0, 0, - 2,153,110, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 18, - 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,153,110, 32, - 0, 31, 0, 21, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 23, 0, 1, 0, 0, - 2,153,110, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 26, - 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,153,110, 32, - 0, 31, 0, 29, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 31, 0, 1, 0, 0, - 2,153,110, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 34, - 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,153,110, 32, - 0, 31, 0, 37, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 39, 0, 1, 0, 0, - 2,153,110, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 42, - 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,153,110, 32, - 0, 31, 0, 45, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 47, 0, 1, 0, 0, - 2,153,110, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 50, - 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,153,110, 32, - 0, 31, 0, 53, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 55, 0, 1, 0, 0, - 2,153,110, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 58, - 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,153,110, 32, - 0, 31, 0, 61, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 63, 0, 1, 0, 0, - 2,153,110, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 66, - 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,153,110, 32, - 0, 31, 0, 69, 0, 1, 0, 0, 2,153,110, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 1, 0, 1, 0, 0, - 2,153,114, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 4, - 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,153,114, 32, - 0, 31, 0, 7, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 9, 0, 1, 0, 0, - 2,153,114, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 12, - 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,153,114, 32, - 0, 31, 0, 15, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 17, 0, 1, 0, 0, - 2,153,114, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 20, - 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,153,114, 32, - 0, 31, 0, 23, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 25, 0, 1, 0, 0, - 2,153,114, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 28, - 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,153,114, 32, - 0, 31, 0, 31, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 33, 0, 1, 0, 0, - 2,153,114, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 36, - 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,153,114, 32, - 0, 31, 0, 39, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 41, 0, 1, 0, 0, - 2,153,114, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 44, - 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,153,114, 32, - 0, 31, 0, 47, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 49, 0, 1, 0, 0, - 2,153,114, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 52, - 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,153,114, 32, - 0, 31, 0, 55, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 57, 0, 1, 0, 0, - 2,153,114, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 60, - 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,153,114, 32, - 0, 31, 0, 63, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 65, 0, 1, 0, 0, - 2,153,114, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 68, - 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,153,114, 32, 0, 31, 0, 0, 0, 1, 0, 0, 4,213,116,240, - 0, 31, 0, 1, 0, 1, 0, 0, 4,213,116,240, 0, 31, 0, 2, 0, 1, 0, 0, 4,213,116,240, 0, 31, 0, 3, 0, 1, 0, 0, - 4,213,116,240, 0, 31, 0, 4, 0, 1, 0, 0, 4,213,116,240, 0, 31, 0, 5, 0, 1, 0, 0, 4,213,116,240, 0, 31, 0, 6, - 0, 1, 0, 0, 4,213,116,240, 0, 31, 0, 7, 0, 1, 0, 0, 4,213,116,240, 0, 31, 0, 8, 0, 1, 0, 0, 4,213,116,240, - 0, 31, 0, 9, 0, 1, 0, 0, 4,213,116,240, 0, 31, 0, 10, 0, 1, 0, 0, 4,213,116,240, 0, 31, 0, 11, 0, 1, 0, 0, - 4,213,116,240, 0, 31, 0, 12, 0, 1, 0, 0, 4,213,116,240, 0, 31, 0, 13, 0, 1, 0, 0, 4,213,116,240, 0, 31, 0, 14, - 0, 1, 0, 0, 4,213,116,240, 0, 31, 0, 15, 0, 1, 0, 0, 4,213,116,240, 0, 31, 0, 16, 0, 1, 0, 0, 4,213,116,240, - 0, 31, 0, 17, 0, 1, 0, 0, 4,213,116,240, 0, 31, 0, 18, 0, 1, 0, 0, 4,213,116,240, 0, 31, 0, 19, 0, 1, 0, 0, - 4,213,116,240, 0, 31, 0, 20, 0, 1, 0, 0, 4,213,116,240, 0, 31, 0, 21, 0, 1, 0, 0, 4,213,116,240, 0, 31, 0, 22, - 0, 1, 0, 0, 4,213,116,240, 0, 31, 0, 23, 0, 1, 0, 0, 4,213,116,240, 0, 31, 0, 24, 0, 1, 0, 0, 4,213,116,240, - 0, 31, 0, 25, 0, 1, 0, 0, 4,213,116,240, 0, 31, 0, 0, 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 1, 0, 1, 0, 0, - 4,213,117,128, 0, 31, 0, 2, 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 3, 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 4, - 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 5, 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 6, 0, 1, 0, 0, 4,213,117,128, - 0, 31, 0, 7, 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 8, 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 9, 0, 1, 0, 0, - 4,213,117,128, 0, 31, 0, 10, 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 11, 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 12, - 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 13, 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 14, 0, 1, 0, 0, 4,213,117,128, - 0, 31, 0, 15, 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 16, 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 17, 0, 1, 0, 0, - 4,213,117,128, 0, 31, 0, 18, 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 19, 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 20, - 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 21, 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 22, 0, 1, 0, 0, 4,213,117,128, - 0, 31, 0, 23, 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 24, 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 25, 0, 1, 0, 0, - 4,213,117,128, 0, 31, 0, 26, 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 27, 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 28, - 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 29, 0, 1, 0, 0, 4,213,117,128, 0, 31, 0, 30, 0, 1, 0, 0, 4,213,117,128, - 0, 31, 0, 0, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 2, 0, 1, 0, 0, - 2,152,214, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 5, - 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,152,214, 32, - 0, 31, 0, 8, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 10, 0, 1, 0, 0, - 2,152,214, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 13, - 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,152,214, 32, - 0, 31, 0, 16, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 18, 0, 1, 0, 0, - 2,152,214, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 21, - 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,152,214, 32, - 0, 31, 0, 24, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 26, 0, 1, 0, 0, - 2,152,214, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 29, - 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,152,214, 32, - 0, 31, 0, 32, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 34, 0, 1, 0, 0, - 2,152,214, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 37, - 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,152,214, 32, - 0, 31, 0, 40, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 42, 0, 1, 0, 0, - 2,152,214, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 45, - 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,152,214, 32, - 0, 31, 0, 48, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 50, 0, 1, 0, 0, - 2,152,214, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 53, - 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,152,214, 32, - 0, 31, 0, 56, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 58, 0, 1, 0, 0, - 2,152,214, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 61, - 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,152,214, 32, - 0, 31, 0, 64, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 66, 0, 1, 0, 0, - 2,152,214, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 69, - 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 70, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 71, 0, 1, 0, 0, 2,152,214, 32, - 0, 31, 0, 72, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 73, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 74, 0, 1, 0, 0, - 2,152,214, 32, 0, 31, 0, 75, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 76, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 77, - 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 78, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 79, 0, 1, 0, 0, 2,152,214, 32, - 0, 31, 0, 80, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 81, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 82, 0, 1, 0, 0, - 2,152,214, 32, 0, 31, 0, 83, 0, 1, 0, 0, 2,152,214, 32, 0, 31, 0, 0, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 1, - 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 2, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 3, 0, 1, 0, 0, 4,213,128,192, - 0, 31, 0, 4, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 5, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 6, 0, 1, 0, 0, - 4,213,128,192, 0, 31, 0, 7, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 8, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 9, - 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 10, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 11, 0, 1, 0, 0, 4,213,128,192, - 0, 31, 0, 12, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 13, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 14, 0, 1, 0, 0, - 4,213,128,192, 0, 31, 0, 15, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 16, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 17, - 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 18, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 19, 0, 1, 0, 0, 4,213,128,192, - 0, 31, 0, 20, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 21, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 22, 0, 1, 0, 0, - 4,213,128,192, 0, 31, 0, 23, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 24, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 25, - 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 26, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 27, 0, 1, 0, 0, 4,213,128,192, - 0, 31, 0, 28, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 29, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 30, 0, 1, 0, 0, - 4,213,128,192, 0, 31, 0, 31, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 32, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 33, - 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 34, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 35, 0, 1, 0, 0, 4,213,128,192, - 0, 31, 0, 36, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 37, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 38, 0, 1, 0, 0, - 4,213,128,192, 0, 31, 0, 39, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 40, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 41, - 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 42, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 43, 0, 1, 0, 0, 4,213,128,192, - 0, 31, 0, 44, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 45, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 46, 0, 1, 0, 0, - 4,213,128,192, 0, 31, 0, 47, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 48, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 49, - 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 50, 0, 1, 0, 0, 4,213,128,192, 0, 31, 0, 51, 0, 1, 0, 0, 4,213,128,192, - 0, 31, 0, 0, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 2, 0, 1, 0, 0, - 2,152,196, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 5, - 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,152,196, 32, - 0, 31, 0, 8, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 10, 0, 1, 0, 0, - 2,152,196, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 13, - 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,152,196, 32, - 0, 31, 0, 16, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 18, 0, 1, 0, 0, - 2,152,196, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 21, - 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,152,196, 32, - 0, 31, 0, 24, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 26, 0, 1, 0, 0, - 2,152,196, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 29, - 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,152,196, 32, - 0, 31, 0, 32, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 34, 0, 1, 0, 0, - 2,152,196, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 37, - 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,152,196, 32, - 0, 31, 0, 40, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 42, 0, 1, 0, 0, - 2,152,196, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 45, - 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,152,196, 32, - 0, 31, 0, 48, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 50, 0, 1, 0, 0, - 2,152,196, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 53, - 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,152,196, 32, - 0, 31, 0, 56, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 58, 0, 1, 0, 0, - 2,152,196, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 61, - 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,152,196, 32, - 0, 31, 0, 64, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 66, 0, 1, 0, 0, - 2,152,196, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 69, - 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 70, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 71, 0, 1, 0, 0, 2,152,196, 32, - 0, 31, 0, 72, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 73, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 74, 0, 1, 0, 0, - 2,152,196, 32, 0, 31, 0, 75, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 76, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 77, - 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 78, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 79, 0, 1, 0, 0, 2,152,196, 32, - 0, 31, 0, 80, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 81, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 82, 0, 1, 0, 0, - 2,152,196, 32, 0, 31, 0, 83, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 84, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 85, - 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 86, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 87, 0, 1, 0, 0, 2,152,196, 32, - 0, 31, 0, 88, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 89, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 90, 0, 1, 0, 0, - 2,152,196, 32, 0, 31, 0, 91, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 92, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 93, - 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 94, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 95, 0, 1, 0, 0, 2,152,196, 32, - 0, 31, 0, 96, 0, 1, 0, 0, 2,152,196, 32, 0, 31, 0, 0, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 1, 0, 1, 0, 0, - 2,152,202, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 3, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 4, - 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 6, 0, 1, 0, 0, 2,152,202, 32, - 0, 31, 0, 7, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 8, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 9, 0, 1, 0, 0, - 2,152,202, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 11, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 12, - 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 14, 0, 1, 0, 0, 2,152,202, 32, - 0, 31, 0, 15, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 16, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 17, 0, 1, 0, 0, - 2,152,202, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 19, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 20, - 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 22, 0, 1, 0, 0, 2,152,202, 32, - 0, 31, 0, 23, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 24, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 25, 0, 1, 0, 0, - 2,152,202, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 27, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 28, - 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 30, 0, 1, 0, 0, 2,152,202, 32, - 0, 31, 0, 31, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 32, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 33, 0, 1, 0, 0, - 2,152,202, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 35, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 36, - 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 38, 0, 1, 0, 0, 2,152,202, 32, - 0, 31, 0, 39, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 40, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 41, 0, 1, 0, 0, - 2,152,202, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 43, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 44, - 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 46, 0, 1, 0, 0, 2,152,202, 32, - 0, 31, 0, 47, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 48, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 49, 0, 1, 0, 0, - 2,152,202, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 51, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 52, - 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 54, 0, 1, 0, 0, 2,152,202, 32, - 0, 31, 0, 55, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 56, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 57, 0, 1, 0, 0, - 2,152,202, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 59, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 60, - 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 62, 0, 1, 0, 0, 2,152,202, 32, - 0, 31, 0, 63, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 64, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 65, 0, 1, 0, 0, - 2,152,202, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 67, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 68, - 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 70, 0, 1, 0, 0, 2,152,202, 32, - 0, 31, 0, 71, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 72, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 73, 0, 1, 0, 0, - 2,152,202, 32, 0, 31, 0, 74, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 75, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 76, - 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 77, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 78, 0, 1, 0, 0, 2,152,202, 32, - 0, 31, 0, 79, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 80, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 81, 0, 1, 0, 0, - 2,152,202, 32, 0, 31, 0, 82, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 83, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 84, - 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 85, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 86, 0, 1, 0, 0, 2,152,202, 32, - 0, 31, 0, 87, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 88, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 89, 0, 1, 0, 0, - 2,152,202, 32, 0, 31, 0, 90, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 91, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 92, - 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 93, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 94, 0, 1, 0, 0, 2,152,202, 32, - 0, 31, 0, 95, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 96, 0, 1, 0, 0, 2,152,202, 32, 0, 31, 0, 0, 0, 1, 0, 0, - 2,152,208, 32, 0, 31, 0, 1, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 2, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 3, - 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 4, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 5, 0, 1, 0, 0, 2,152,208, 32, - 0, 31, 0, 6, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 7, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 8, 0, 1, 0, 0, - 2,152,208, 32, 0, 31, 0, 9, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 10, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 11, - 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 12, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 13, 0, 1, 0, 0, 2,152,208, 32, - 0, 31, 0, 14, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 15, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 16, 0, 1, 0, 0, - 2,152,208, 32, 0, 31, 0, 17, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 18, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 19, - 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 20, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 21, 0, 1, 0, 0, 2,152,208, 32, - 0, 31, 0, 22, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 23, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 24, 0, 1, 0, 0, - 2,152,208, 32, 0, 31, 0, 25, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 26, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 27, - 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 28, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 29, 0, 1, 0, 0, 2,152,208, 32, - 0, 31, 0, 30, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 31, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 32, 0, 1, 0, 0, - 2,152,208, 32, 0, 31, 0, 33, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 34, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 35, - 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 36, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 37, 0, 1, 0, 0, 2,152,208, 32, - 0, 31, 0, 38, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 39, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 40, 0, 1, 0, 0, - 2,152,208, 32, 0, 31, 0, 41, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 42, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 43, - 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 44, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 45, 0, 1, 0, 0, 2,152,208, 32, - 0, 31, 0, 46, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 47, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 48, 0, 1, 0, 0, - 2,152,208, 32, 0, 31, 0, 49, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 50, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 51, - 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 52, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 53, 0, 1, 0, 0, 2,152,208, 32, - 0, 31, 0, 54, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 55, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 56, 0, 1, 0, 0, - 2,152,208, 32, 0, 31, 0, 57, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 58, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 59, - 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 60, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 61, 0, 1, 0, 0, 2,152,208, 32, - 0, 31, 0, 62, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 63, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 64, 0, 1, 0, 0, - 2,152,208, 32, 0, 31, 0, 65, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 66, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 67, - 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 68, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 69, 0, 1, 0, 0, 2,152,208, 32, - 0, 31, 0, 70, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 71, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 72, 0, 1, 0, 0, - 2,152,208, 32, 0, 31, 0, 73, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 74, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 75, - 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 76, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 77, 0, 1, 0, 0, 2,152,208, 32, - 0, 31, 0, 78, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 79, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 80, 0, 1, 0, 0, - 2,152,208, 32, 0, 31, 0, 81, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 82, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 83, - 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 84, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 85, 0, 1, 0, 0, 2,152,208, 32, - 0, 31, 0, 86, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 87, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 88, 0, 1, 0, 0, - 2,152,208, 32, 0, 31, 0, 89, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 90, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 91, - 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 92, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 93, 0, 1, 0, 0, 2,152,208, 32, - 0, 31, 0, 94, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 95, 0, 1, 0, 0, 2,152,208, 32, 0, 31, 0, 96, 0, 1, 0, 0, - 2,152,208, 32, 0, 31, 0, 0, 0, 1, 0, 0, 4,211,177,144, 0, 31, 0, 1, 0, 1, 0, 0, 4,211,177,144, 0, 31, 0, 2, - 0, 1, 0, 0, 4,211,177,144, 0, 31, 0, 3, 0, 1, 0, 0, 4,211,177,144, 0, 31, 0, 4, 0, 1, 0, 0, 4,211,177,144, - 0, 31, 0, 5, 0, 1, 0, 0, 4,211,177,144, 0, 31, 0, 6, 0, 1, 0, 0, 4,211,177,144, 0, 31, 0, 7, 0, 1, 0, 0, - 4,211,177,144, 0, 31, 0, 8, 0, 1, 0, 0, 4,211,177,144, 0, 31, 0, 9, 0, 1, 0, 0, 4,211,177,144, 0, 31, 0, 0, - 0, 1, 0, 0, 4,211,245,240, 0, 31, 0, 1, 0, 1, 0, 0, 4,211,245,240, 0, 31, 0, 2, 0, 1, 0, 0, 4,211,245,240, - 0, 31, 0, 3, 0, 1, 0, 0, 4,211,245,240, 0, 31, 0, 4, 0, 1, 0, 0, 4,211,245,240, 0, 31, 0, 5, 0, 1, 0, 0, - 4,211,245,240, 0, 31, 0, 6, 0, 1, 0, 0, 4,211,245,240, 0, 31, 0, 7, 0, 1, 0, 0, 4,211,245,240, 0, 31, 0, 8, - 0, 1, 0, 0, 4,211,245,240, 0, 31, 0, 9, 0, 1, 0, 0, 4,211,245,240, 0, 31, 0, 0, 0, 1, 0, 0, 4,212, 43, 0, - 0, 31, 0, 1, 0, 1, 0, 0, 4,212, 43, 0, 0, 31, 0, 2, 0, 1, 0, 0, 4,212, 43, 0, 0, 31, 0, 3, 0, 1, 0, 0, - 4,212, 43, 0, 0, 31, 0, 4, 0, 1, 0, 0, 4,212, 43, 0, 0, 31, 0, 5, 0, 1, 0, 0, 4,212, 43, 0, 0, 31, 0, 6, - 0, 1, 0, 0, 4,212, 43, 0, 0, 31, 0, 7, 0, 1, 0, 0, 4,212, 43, 0, 0, 31, 0, 8, 0, 1, 0, 0, 4,212, 43, 0, - 0, 31, 0, 9, 0, 1, 0, 0, 4,212, 43, 0, 0, 31, 0, 0, 0, 1, 0, 0, 4,212,182,208, 0, 31, 0, 1, 0, 1, 0, 0, - 4,212,182,208, 0, 31, 0, 2, 0, 1, 0, 0, 4,212,182,208, 0, 31, 0, 3, 0, 1, 0, 0, 4,212,182,208, 0, 31, 0, 4, - 0, 1, 0, 0, 4,212,182,208, 0, 31, 0, 5, 0, 1, 0, 0, 4,212,182,208, 0, 31, 0, 6, 0, 1, 0, 0, 4,212,182,208, - 0, 31, 0, 7, 0, 1, 0, 0, 4,212,182,208, 0, 31, 0, 8, 0, 1, 0, 0, 4,212,182,208, 0, 31, 0, 9, 0, 1, 0, 0, - 4,212,182,208, 0, 31, 0, 0, 0, 1, 0, 0, 4,212,247,144, 0, 31, 0, 1, 0, 1, 0, 0, 4,212,247,144, 0, 31, 0, 2, - 0, 1, 0, 0, 4,212,247,144, 0, 31, 0, 3, 0, 1, 0, 0, 4,212,247,144, 0, 31, 0, 4, 0, 1, 0, 0, 4,212,247,144, - 0, 31, 0, 5, 0, 1, 0, 0, 4,212,247,144, 0, 31, 0, 6, 0, 1, 0, 0, 4,212,247,144, 0, 31, 0, 7, 0, 1, 0, 0, - 4,212,247,144, 0, 31, 0, 8, 0, 1, 0, 0, 4,212,247,144, 0, 31, 0, 9, 0, 1, 0, 0, 4,212,247,144, 0, 31, 0, 0, - 0, 1, 0, 0, 4,213, 50,160, 0, 31, 0, 1, 0, 1, 0, 0, 4,213, 50,160, 0, 31, 0, 2, 0, 1, 0, 0, 4,213, 50,160, - 0, 31, 0, 3, 0, 1, 0, 0, 4,213, 50,160, 0, 31, 0, 4, 0, 1, 0, 0, 4,213, 50,160, 0, 31, 0, 5, 0, 1, 0, 0, - 4,213, 50,160, 0, 31, 0, 6, 0, 1, 0, 0, 4,213, 50,160, 0, 31, 0, 7, 0, 1, 0, 0, 4,213, 50,160, 0, 31, 0, 8, - 0, 1, 0, 0, 4,213, 50,160, 0, 31, 0, 9, 0, 1, 0, 0, 4,213, 50,160, 0, 31, 0, 0, 0, 1, 0, 0, 4,213, 74,240, - 0, 31, 0, 1, 0, 1, 0, 0, 4,213, 74,240, 0, 31, 0, 2, 0, 1, 0, 0, 4,213, 74,240, 0, 31, 0, 3, 0, 1, 0, 0, - 4,213, 74,240, 0, 31, 0, 4, 0, 1, 0, 0, 4,213, 74,240, 0, 31, 0, 5, 0, 1, 0, 0, 4,213, 74,240, 0, 31, 0, 6, - 0, 1, 0, 0, 4,213, 74,240, 0, 31, 0, 7, 0, 1, 0, 0, 4,213, 74,240, 0, 31, 0, 8, 0, 1, 0, 0, 4,213, 74,240, - 0, 31, 0, 9, 0, 1, 0, 0, 4,213, 74,240, 0, 31, 0, 0, 0, 1, 0, 0, 4,213,127, 16, 0, 31, 0, 1, 0, 1, 0, 0, - 4,213,127, 16, 0, 31, 0, 2, 0, 1, 0, 0, 4,213,127, 16, 0, 31, 0, 3, 0, 1, 0, 0, 4,213,127, 16, 0, 31, 0, 4, - 0, 1, 0, 0, 4,213,127, 16, 0, 31, 0, 5, 0, 1, 0, 0, 4,213,127, 16, 0, 31, 0, 6, 0, 1, 0, 0, 4,213,127, 16, - 0, 31, 0, 7, 0, 1, 0, 0, 4,213,127, 16, 0, 31, 0, 8, 0, 1, 0, 0, 4,213,127, 16, 0, 31, 0, 9, 0, 1, 0, 0, - 4,213,127, 16, 0, 31, 0, 10, 0, 1, 0, 0, 4,213,127, 16, 0, 31, 0, 11, 0, 1, 0, 0, 4,213,127, 16, 0, 31, 0, 12, - 0, 1, 0, 0, 4,213,127, 16, 0, 31, 0, 13, 0, 1, 0, 0, 4,213,127, 16, 0, 31, 0, 14, 0, 1, 0, 0, 4,213,127, 16, - 0, 31, 0, 15, 0, 1, 0, 0, 4,213,127, 16, 0, 31, 0, 16, 0, 1, 0, 0, 4,213,127, 16, 0, 31, 0, 17, 0, 1, 0, 0, - 4,213,127, 16, 0, 31, 0, 18, 0, 1, 0, 0, 4,213,127, 16, 0, 31, 0, 0, 0, 1, 0, 0, 4,211,175,144, 0, 31, 0, 1, - 0, 1, 0, 0, 4,211,175,144, 0, 31, 0, 2, 0, 1, 0, 0, 4,211,175,144, 0, 31, 0, 3, 0, 1, 0, 0, 4,211,175,144, - 0, 31, 0, 4, 0, 1, 0, 0, 4,211,175,144, 0, 31, 0, 5, 0, 1, 0, 0, 4,211,175,144, 0, 31, 0, 6, 0, 1, 0, 0, - 4,211,175,144, 0, 31, 0, 7, 0, 1, 0, 0, 4,211,175,144, 0, 31, 0, 8, 0, 1, 0, 0, 4,211,175,144, 0, 31, 0, 9, - 0, 1, 0, 0, 4,211,175,144, 0, 31, 0, 10, 0, 1, 0, 0, 4,211,175,144, 0, 31, 0, 0, 0, 1, 0, 0, 4,213,120,240, - 0, 31, 0, 1, 0, 1, 0, 0, 4,213,120,240, 0, 31, 0, 2, 0, 1, 0, 0, 4,213,120,240, 0, 31, 0, 3, 0, 1, 0, 0, - 4,213,120,240, 0, 31, 0, 4, 0, 1, 0, 0, 4,213,120,240, 0, 31, 0, 5, 0, 1, 0, 0, 4,213,120,240, 0, 31, 0, 6, - 0, 1, 0, 0, 4,213,120,240, 0, 31, 0, 7, 0, 1, 0, 0, 4,213,120,240, 0, 31, 0, 8, 0, 1, 0, 0, 4,213,120,240, - 0, 31, 0, 9, 0, 1, 0, 0, 4,213,120,240, 0, 31, 0, 10, 0, 1, 0, 0, 4,213,120,240, 0, 31, 0, 11, 0, 1, 0, 0, - 4,213,120,240, 0, 31, 0, 12, 0, 1, 0, 0, 4,213,120,240, 0, 31, 0, 13, 0, 1, 0, 0, 4,213,120,240, 0, 31, 0, 14, - 0, 1, 0, 0, 4,213,120,240, 0, 31, 0, 15, 0, 1, 0, 0, 4,213,120,240, 0, 31, 0, 16, 0, 1, 0, 0, 4,213,120,240, - 0, 31, 0, 17, 0, 1, 0, 0, 4,213,120,240, 0, 31, 0, 18, 0, 1, 0, 0, 4,213,120,240, 0, 31, 0, 19, 0, 1, 0, 0, - 4,213,120,240, 0, 31, 0, 20, 0, 1, 0, 0, 4,213,120,240, 68, 65, 84, 65, 0, 0, 0, 96, 4,212,143,112, 0, 0, 0,194, - 0, 0, 0, 1, 0, 0, 0, 0, 4,212,139, 64, 4,212, 46, 64, 4,212, 44,192, 4,212, 45,128, 4,212, 46,128, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 6, 63, 0, 0, 0,125, 0, 0, 4,100, 1, 1, 6, 64, 3,232, 0, 1, 0, 0, 0, 0, 0, 0, 0, 8, - 2, 23,124, 16, 4,212,181, 64, 4,212,181, 64, 4,212,144, 0, 4,212,180, 32, 0, 0, 0, 0, 0, 0, 0, 0, 4,218,169,144, - 10, 50,177, 16, 68, 65, 84, 65, 0, 0, 0,248, 4,212,144, 0, 0, 0, 0,195, 0, 0, 0, 1, 4,212,145, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 68,113, 64, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,200, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 6, 63, 0, 0, 0, 0, 0, 0, 0, 25, 68,237,128, 0, 65,200, 0, 0, 68,237,128, 0, 65,200, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 6, 64, 0, 26, 6, 64, 0, 26, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 63, 0, 0, 0,125, 0, 0, 0,150, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 64, 0, 26, 0, 9, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,131,144, 10, 60,148, 64, 10, 60,148, 64, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 20,239,176, 10, 49,184, 32, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212,145, 32, 0, 0, 0,195, - 0, 0, 0, 1, 4,212,166, 96, 4,212,144, 0, 0, 0, 0, 0, 67, 32, 0, 0,196, 61,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 67, 15, 0, 0,196, 61,128, 0, 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 2,245, 0, 0, 0, 0, - 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 2,245, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 3, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, - 0, 6, 0,160, 2,246, 0,143, 2,246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, - 0, 0, 1,111, 0, 0, 4,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 2,246, 0, 10, 0, 5, - 0, 3, 0, 0, 0, 0, 0, 0, 0,160, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,129, 80, 9,187,125,240, - 9,187,125,240, 4,212,146, 64, 4,212,164,240, 9,190,178,144, 2, 21, 12,224, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 64, 4,212,146, 64, 0, 0, 0,193, 0, 0, 0, 1, 4,212,147,176, 0, 0, 0, 0, 9, 90,207,176, 0, 0, 0, 0, - 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101, 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101, 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 79, 98,106,101, 99,116, 32, 84,111,111,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,253,233, 0,143, 1,255, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,252,143, 0,213, 1, 0, 0, 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,147,176, 0, 0, 0,193, - 0, 0, 0, 1, 4,212,149, 32, 4,212,146, 64, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111, -111,108,115, 95, 98,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111, -111,108,115, 95, 98,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,104, 62, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, + 8, 64, 70, 27, 1, 0, 0, 0,200, 60, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,115,116,114,111,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,211, 0,143, 1, 21, 0, 0, 0, 0, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,115,116,114,111,107,101, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 83,116,114,111,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 66,254,143, 0,121, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,149, 32, 0, 0, 0,193, 0, 0, 0, 1, 4,212,150,144, 4,212,147,176, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,116,101, -120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,116,101, -120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 84,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252, 88, 0,143, 1,213, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, - 4,212,150,144, 0, 0, 0,193, 0, 0, 0, 1, 4,212,152, 0, 4,212,149, 32, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, - 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,115,116,114,111,107,101, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, - 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,115,116,114,111,107,101, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116,114,111, -107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 66, - 0,143, 0,121, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,152, 0, 0, 0, 0,193, 0, 0, 0, 1, - 4,212,153,112, 4,212,150,144, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, + 8, 64, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,168, 65, 70, 27, 1, 0, 0, 0,104, 62, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95, 99,117,114,118,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95, 99,117,114,118,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,117,114,118,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,164, 0,143, 0,231, 0, 0, 0, 0, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164,253,143, 0,231, 0, 0, 0, 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 4,212,153,112, 0, 0, 0,193, 0, 0, 0, 1, 4,212,154,224, 4,212,152, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95, 97,112,112,101, 97,114, - 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95, 97,112,112,101, 97,114, - 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 65,112,112,101, 97,114, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,168, 65, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, + 72, 67, 70, 27, 1, 0, 0, 0, 8, 64, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95, 97,112,112,101, 97,114, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,253, 96, 0,143, 0,133, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95, 97,112,112,101, 97,114, 97,110, 99,101, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 65,112,112,101, 97,114, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 96,253,143, 0,133, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,154,224, - 0, 0, 0,193, 0, 0, 0, 1, 4,212,156, 80, 4,212,153,112, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, - 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,116,111,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, - 84, 95,116,111,111,108,115, 95, 98,114,117,115,104, 95,116,111,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,111,111,108, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, + 72, 67, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,232, 68, 70, 27, 1, 0, 0, 0,168, 65, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, + 98,114,117,115,104, 95,116,111,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, + 98,114,117,115,104, 95,116,111,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,111,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 55, 0,143, 0, 36, - 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55,254,143, 0, 36, 0, 0, 0, 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,156, 80, 0, 0, 0,193, 0, 0, 0, 1, 4,212,157,192, - 4,212,154,224, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116, 95,115,121,109, -109,101,116,114,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116, 95,115,121,109, -109,101,116,114,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,121,109,109,101,116,114,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,232, 68, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, +136, 70, 70, 27, 1, 0, 0, 0, 72, 67, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116, 95,115,121,109,109,101,116,114,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253, 52, 0,143, 0,225, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116, 95,115,121,109,109,101,116,114,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 64, 4,212,157,192, 0, 0, 0,193, 0, 0, 0, 1, 4,212,159, 48, 4,212,156, 80, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, + 83,121,109,109,101,116,114,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,253,145, 0,143, 0,132, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 52,253,143, 0,225, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,159, 48, 0, 0, 0,193, - 0, 0, 0, 1, 4,212,160,160, 4,212,157,192, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111, -111,108,115, 95,119,101,105,103,104,116,112, 97,105,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111, -111,108,115, 95,119,101,105,103,104,116,112, 97,105,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,101,105,103,104,116, 32, 84,111,111,108,115, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, +136, 70, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 40, 72, 70, 27, 1, 0, 0, 0,232, 68, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116, + 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,115, 99,117,108,112,116, + 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 39, 0,143, 0,124, 0, 0, 0, 0, - 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,145,253,143, 0,132, 0, 0, 0, 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,160,160, 0, 0, 0,193, 0, 0, 0, 1, 4,212,162, 16, 4,212,159, 48, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,119,101,105,103,104,116,112, 97, -105,110,116, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,119,101,105,103,104,116,112, 97, -105,110,116, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 40, 72, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, +200, 73, 70, 27, 1, 0, 0, 0,136, 70, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,119,101,105,103,104,116,112, 97,105,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,181, 0,143, 0,190, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,119,101,105,103,104,116,112, 97,105,110,116, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 87,101,105,103,104,116, 32, 84,111,111,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 39,254,143, 0,124, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, - 4,212,162, 16, 0, 0, 0,193, 0, 0, 0, 1, 4,212,163,128, 4,212,160,160, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, - 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,112,114,111,106,101, 99,116,112, 97,105,110,116, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, - 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,112,114,111,106,101, 99,116,112, 97,105,110,116, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,114,111,106, -101, 99,116, 32, 80, 97,105,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,241, - 0,143, 1, 9, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, +200, 73, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,104, 75, 70, 27, 1, 0, 0, 0, 40, 72, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, +119,101,105,103,104,116,112, 97,105,110,116, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, +119,101,105,103,104,116,112, 97,105,110,116, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,181,253,143, 0,190, 0, 0, 0, 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,163,128, 0, 0, 0,193, 0, 0, 0, 1, - 4,212,164,240, 4,212,162, 16, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,104, 75, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, + 8, 77, 70, 27, 1, 0, 0, 0,200, 73, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,112,114,111,106,101, 99,116,112, 97,105,110,116, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,112,114,111,106,101, 99,116,112, 97,105,110,116, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80,114,111,106,101, 99,116, 32, 80, 97,105,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,241,252,143, 0, 9, 1, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, + 8, 77, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,168, 78, 70, 27, 1, 0, 0, 0,104, 75, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 118,101,114,116,101,120,112, 97,105,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, 118,101,114,116,101,120,112, 97,105,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,197, 0,143, 0,146, 0, 0, 0, 0, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,197,253,143, 0,146, 0, 0, 0, 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 4,212,164,240, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 4,212,163,128, 0, 0, 0, 0, - 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,105,109, 97,103,101,112, 97,105,110,116, 95,111,112,116,105,111,110,115, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,168, 78, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, + 72, 80, 70, 27, 1, 0, 0, 0, 8, 77, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,105,109, 97,103,101,112, 97,105,110,116, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,105,109, 97,103,101,112, 97,105,110,116, 95,111,112,116,105,111,110,115, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,105,109, 97,103,101,112, 97,105,110,116, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,253,146, 0,143, 0, 80, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, + 0, 0,146,253,143, 0, 80, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212,166, 96, - 0, 0, 0,195, 0, 0, 0, 1, 4,212,168,240, 4,212,145, 32, 0, 0, 0, 0, 67, 33, 0, 0,195, 90, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67, 16,102,227,195, 90, 30, 24, 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,215, - 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,215, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 3, 10, 0, 0, 0, 1, 0, 7, - 0, 18, 4, 0, 0, 6, 0,160, 0,216, 0,143, 0,216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0,159, 0, 0, 0,151, 0, 0, 1,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,216, - 0, 11, 0, 6, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,129,224, - 9,187,141, 0, 9,187,141, 0, 4,212,167,128, 4,212,167,128, 10, 48,164, 48, 10, 60, 56, 80, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 4,212,167,128, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,130,112, - 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, + 72, 80, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,232, 81, 70, 27, 1, 0, 0, 0,168, 78, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, +109,101,115,104,101,100,105,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95, +109,101,115,104,101,100,105,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,101,115,104, 32, 84,111,111,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,252,143, 0, 8, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 79,112,101,114, 97,116,111,114, 0,111,114, 32,116,111, 32, 83,101,108,101, 99,116,101,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,255,216, 0,144, 0, 16, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,232, 81, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 72, 80, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,109,101,115,104,101,100,105,116, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212,168,240, - 0, 0, 0,195, 0, 0, 0, 1, 4,212,180, 32, 4,212,166, 96, 0, 0, 0, 0, 67, 52, 0, 0,196,158, 96, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67, 35, 0, 0,196,158, 96, 0,195,142,128, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 3,213, - 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 3,213, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 1, 10, 0, 0, 0, 1, 0, 7, - 0, 18, 4, 0, 0, 6, 0,180, 3,214, 0,163, 3,214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 63, - 0, 0, 6, 63, 0, 0, 0,151, 0, 0, 4,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, - 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,125, 96, - 0, 0, 0, 0, 0, 0, 0, 0, 4,212,170, 16, 4,212,178,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 4,212,170, 16, 0, 0, 0,193, 0, 0, 0, 1, 4,212,171,128, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,111, 98,106,101, 99,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,109,101,115,104,101,100,105,116, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,111, 98,106,101, 99,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 77,101,115,104, 32, 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 84,114, 97,110,115,102,111,114,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,124,252,143, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,254,122, 0,163, 1,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, +136, 83, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,152, 86, 70, 27, 1, 0, 0, 0, 24, 56, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 33, 67, 0, 0, 48,194, 0, 0, 0, 0, 0, 0, 0, 0,227,102, 16, 67,161,165, 41,194, 0, 0, 0, 0, +143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, + 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 42, 0,143, 0, 42, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115, 4, 0, 0, 26, 0, 0, 0, 26, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 1, 0, 0, 0, 0, 0, + 0, 0,216, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,181, 82, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,248, 84, 70, 27, 1, 0, 0, 0,248, 84, 70, 27, 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, 68, 65, 84, 65, 88, 1, 0, 0, +248, 84, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111, +112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111, +112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,101, 32, 83,109,111,111,116,104, 0,100,101, 0, +108,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,255,144, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,171,128, - 0, 0, 0,193, 0, 0, 0, 1, 4,212,172,240, 4,212,170, 16, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, - 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, - 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71,114,101, 97,115,101, 32, 80, -101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 18, 0,163, 0, 80, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,172,240, 0, 0, 0,193, 0, 0, 0, 1, 4,212,174, 96, - 4,212,171,128, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105,101,119, 51,100, 95,112,114,111, -112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105,101,119, 51,100, 95,112,114,111, -112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152, 86, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, +104, 99, 70, 27, 1, 0, 0, 0,136, 83, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 67, 0, 0,109,196, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 35, 67, 0,128, 18,196, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 73, 2, 0, 0, + 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 73, 2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, + 18, 0, 0, 0, 6, 0,180, 0, 74, 2,163, 0, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +115, 4, 0, 0,115, 4, 0, 0, 26, 0, 0, 0,171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +232,175, 82, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 88, 70, 27, 1, 0, 0, 0, +200, 97, 70, 27, 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, 68, 65, 84, 65, 88, 1, 0, 0, 8, 88, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, +168, 89, 70, 27, 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, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,111, 98,106,101, 99,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,212, 0,163, 1, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,111, 98,106,101, 99,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 64, 4,212,174, 96, 0, 0, 0,193, 0, 0, 0, 1, 4,212,175,208, 4,212,172,240, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105,101,119, 51,100, 95,110, 97,109,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 84,114, 97,110,115,102,111,114,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105,101,119, 51,100, 95,110, 97,109,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,122,254,163, 0,110, 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, - 73,116,101,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,252,152, 0,163, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, +168, 89, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 72, 91, 70, 27, 1, 0, 0, 0, 8, 88, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,103,112,101,110, 99,105, +108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,103,112,101,110, 99,105, +108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71,114,101, 97,115,101, 32, 80,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18,254,163, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,175,208, 0, 0, 0,193, - 0, 0, 0, 1, 4,212,177, 64, 4,212,174, 96, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105, -101,119, 51,100, 95,100,105,115,112,108, 97,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105, -101,119, 51,100, 95,100,105,115,112,108, 97,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,115,112,108, 97,121, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,251, 65, 0,163, 1, 63, 0, 0, 0, 0, - 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,177, 64, 0, 0, 0,193, 0, 0, 0, 1, 4,212,178,176, 4,212,175,208, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 98, 97, 99,107,103,114,111,117,110,100, 95,105,109, 97, -103,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 98, 97, 99,107,103,114,111,117,110,100, 95,105,109, 97, -103,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 97, 99,107,103,114,111,117,110,100, 32, 73,109, 97,103,101,115, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,104, 0,163, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, - 4,212,178,176, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 4,212,177, 64, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, - 51, 68, 95, 80, 84, 95,116,114, 97,110,115,102,111,114,109, 95,111,114,105,101,110,116, 97,116,105,111,110,115, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, - 51, 68, 95, 80, 84, 95,116,114, 97,110,115,102,111,114,109, 95,111,114,105,101,110,116, 97,116,105,111,110,115, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,114, 97,110, -115,102,111,114,109, 32, 79,114,105,101,110,116, 97,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252, 80, - 0,163, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212,180, 32, 0, 0, 0,195, 0, 0, 0, 1, - 0, 0, 0, 0, 4,212,168,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0, 0, 6, 63, 0, 0, 0,151, - 0, 0, 4,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,160, 3,206, 0, 12, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,124,208, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 10, 60, 93, 80, 4,218,178,144, 0, 0, 0, 0, 2,152,132, 32, 68, 65, 84, 65, 0, 0, 3, 68, - 2,152,132, 32, 0, 0, 0,153, 0, 0, 0, 1, 63,140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,206,251, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191,128, 6,141,191,128, 0, 0,128, 0, 0, 0, -128, 0, 0, 0,190, 76,210, 10,128, 0, 0, 0, 62,209,239, 68,190,205,177, 51, 63, 81,158,184, 0, 0, 0, 0, 63,105,119, 70, - 62, 70, 74,143,190,185, 44, 35, 0, 0, 0, 0,188, 89, 84,162, 63,101, 33,166, 62,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,193,111,210, 33, 63,128, 0, 0, 62,209,239, 68, 63,105,119, 70,188, 89, 84,176, 0, 0, 0, 0,190,205,177, 52, - 62, 70, 74,142, 63,101, 33,166, 0, 0, 0, 0, 63, 81,158,185,190,185, 44, 35, 62,228, 61, 43, 0, 0, 0, 0, 65, 68, 95, 62, -192,173,120, 51, 64,213,208,115, 63,128, 0, 0, 62,229,157,178,191, 38, 78,123,191, 81,169,114,191, 81,158,184, 63,127, 90,117, - 62,160, 82,160, 62,185, 53,157, 62,185, 44, 35,188,109,180,145, 63,185, 65,249,190,228, 72,216,190,228, 61, 42, 0, 0, 0, 0, - 0, 0, 0, 0, 65,108,171, 31, 65,111,210, 33, 62,191,240,221, 63, 85,116, 84,188, 70,177, 32, 51,212, 0, 0,190,126,103,189, - 61,245, 64, 99, 63, 13,178,164, 50, 32, 0, 0,194,117,112,201, 65,216,208,182,194, 5,158,222,192,159,251,235, 66,114, 54,221, -193,213,247, 29, 66, 3,221, 58, 64,160, 4, 26, 62,209,239, 68,190,205,177, 51, 63, 81,158,184, 0, 0, 0, 0, 63,105,119, 70, - 62, 70, 74,143,190,185, 44, 35, 0, 0, 0, 0,188, 89, 84,162, 63,101, 33,166, 62,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,193,111,210, 33, 63,128, 0, 0, 62,229,157,178,191, 38, 78,123,191, 81,169,114,191, 81,158,184, 63,127, 90,117, - 62,160, 82,160, 62,185, 53,157, 62,185, 44, 35,188,109,180,145, 63,185, 65,249,190,228, 72,216,190,228, 61, 42, 0, 0, 0, 0, - 0, 0, 0, 0, 65,108,171, 31, 65,111,210, 33, 63,182,184,123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,182,184,123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,182,184,123, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63, 55, 62, 92,190,224,186, 56,190,148,203,237,190,234,236, 3, 65,111,210, 33, - 65,111,210, 33, 0, 0, 0, 0, 0, 0, 0, 0, 58,166,112,206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 66, 12, 33, 32, 66,137,152, 85, 66,126, 27,113, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 0, 4,212,181, 64, 0, 0, 0,154, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 63, 51, 51, 51, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 32, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 7, 2,152,196, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0, 0, 0, 1, 0, 3, 0, 0, 24, 8, 0, 0, 0, 0, 66, 12, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 61,204,204,205, 68,122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3,255,255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 0,148, 4,212,182,208, 0, 0, 0,190, 0, 0, 0, 1, 4,212,247,144, 4,212, 43, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 71, 97,109,101, 32, 76,111,103,105, 99, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,212,183,144, 4,212,186,208, 4,212,187, 16, 4,212,192, 16, 4,212,192, 80, - 4,212,242, 48, 0, 0, 0, 0, 0, 0, 0, 0, 2,152,190, 32, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,212,183,144, 0, 0, 0,191, 0, 0, 0, 1, - 4,212,183,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,212,183,208, - 0, 0, 0,191, 0, 0, 0, 1, 4,212,184, 16, 4,212,183,144, 0, 0, 0, 0, 0, 0, 4,128, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 20, 4,212,184, 16, 0, 0, 0,191, 0, 0, 0, 1, 4,212,184, 80, 4,212,183,208, 0, 0, 0, 0, 7,128, 4,128, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,212,184, 80, 0, 0, 0,191, 0, 0, 0, 1, 4,212,184,144, 4,212,184, 16, - 0, 0, 0, 0, 7,128, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,212,184,144, 0, 0, 0,191, 0, 0, 0, 1, - 4,212,184,208, 4,212,184, 80, 0, 0, 0, 0, 0, 0, 4,100, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 4,212,184,208, - 0, 0, 0,191, 0, 0, 0, 1, 4,212,185, 16, 4,212,184,144, 0, 0, 0, 0, 7,128, 4,100, 0, 0, 0, 1, 68, 65, 84, 65, - 0, 0, 0, 20, 4,212,185, 16, 0, 0, 0,191, 0, 0, 0, 1, 4,212,185, 80, 4,212,184,208, 0, 0, 0, 0, 0, 0, 1,184, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,212,185, 80, 0, 0, 0,191, 0, 0, 0, 1, 4,212,185,144, 4,212,185, 16, - 0, 0, 0, 0, 6, 32, 1,184, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,212,185,144, 0, 0, 0,191, 0, 0, 0, 1, - 4,212,185,208, 4,212,185, 80, 0, 0, 0, 0, 6, 32, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,212,185,208, - 0, 0, 0,191, 0, 0, 0, 1, 4,212,186, 16, 4,212,185,144, 0, 0, 0, 0, 7,128, 1,184, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 20, 4,212,186, 16, 0, 0, 0,191, 0, 0, 0, 1, 4,212,186, 80, 4,212,185,208, 0, 0, 0, 0, 5, 64, 1,184, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,212,186, 80, 0, 0, 0,191, 0, 0, 0, 1, 4,212,186,144, 4,212,186, 16, - 0, 0, 0, 0, 5, 64, 4,100, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 4,212,186,144, 0, 0, 0,191, 0, 0, 0, 1, - 4,212,186,208, 4,212,186, 80, 0, 0, 0, 0, 1, 68, 1,184, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,212,186,208, - 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 0, 4,212,186,144, 0, 0, 0, 0, 1, 68, 4,100, 0, 0, 0, 1, 68, 65, 84, 65, - 0, 0, 0, 24, 4,212,187, 16, 0, 0, 0,192, 0, 0, 0, 1, 4,212,187, 80, 0, 0, 0, 0, 4,212,183,208, 4,212,184, 16, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,187, 80, 0, 0, 0,192, 0, 0, 0, 1, 4,212,187,144, - 4,212,187, 16, 4,212,183,208, 4,212,184,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,187,144, - 0, 0, 0,192, 0, 0, 0, 1, 4,212,187,208, 4,212,187, 80, 4,212,184, 16, 4,212,184,208, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 4,212,187,208, 0, 0, 0,192, 0, 0, 0, 1, 4,212,188, 16, 4,212,187,144, 4,212,184,144, - 4,212,184,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,188, 16, 0, 0, 0,192, 0, 0, 0, 1, - 4,212,188, 80, 4,212,187,208, 4,212,184,144, 4,212,185, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 4,212,188, 80, 0, 0, 0,192, 0, 0, 0, 1, 4,212,188,144, 4,212,188, 16, 4,212,185, 16, 4,212,185, 80, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,188,144, 0, 0, 0,192, 0, 0, 0, 1, 4,212,188,208, 4,212,188, 80, - 4,212,184, 80, 4,212,185,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,188,208, 0, 0, 0,192, - 0, 0, 0, 1, 4,212,189, 16, 4,212,188,144, 4,212,185, 80, 4,212,185,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 4,212,189, 16, 0, 0, 0,192, 0, 0, 0, 1, 4,212,189, 80, 4,212,188,208, 4,212,183,144, 4,212,185, 16, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,189, 80, 0, 0, 0,192, 0, 0, 0, 1, 4,212,189,144, - 4,212,189, 16, 4,212,183,144, 4,212,185,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,189,144, - 0, 0, 0,192, 0, 0, 0, 1, 4,212,189,208, 4,212,189, 80, 4,212,184,208, 4,212,185,208, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 4,212,189,208, 0, 0, 0,192, 0, 0, 0, 1, 4,212,190, 16, 4,212,189,144, 4,212,184, 80, - 4,212,185,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,190, 16, 0, 0, 0,192, 0, 0, 0, 1, - 4,212,190, 80, 4,212,189,208, 4,212,185, 80, 4,212,185,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 4,212,190, 80, 0, 0, 0,192, 0, 0, 0, 1, 4,212,190,144, 4,212,190, 16, 4,212,186, 16, 4,212,186, 80, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,190,144, 0, 0, 0,192, 0, 0, 0, 1, 4,212,190,208, 4,212,190, 80, - 4,212,184,208, 4,212,186, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,190,208, 0, 0, 0,192, - 0, 0, 0, 1, 4,212,191, 16, 4,212,190,144, 4,212,185,208, 4,212,186, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 4,212,191, 16, 0, 0, 0,192, 0, 0, 0, 1, 4,212,191, 80, 4,212,190,208, 4,212,185, 16, 4,212,186,144, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,191, 80, 0, 0, 0,192, 0, 0, 0, 1, 4,212,191,144, - 4,212,191, 16, 4,212,186, 16, 4,212,186,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,191,144, - 0, 0, 0,192, 0, 0, 0, 1, 4,212,191,208, 4,212,191, 80, 4,212,184,144, 4,212,186,208, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 4,212,191,208, 0, 0, 0,192, 0, 0, 0, 1, 4,212,192, 16, 4,212,191,144, 4,212,186, 80, - 4,212,186,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,192, 16, 0, 0, 0,192, 0, 0, 0, 1, - 0, 0, 0, 0, 4,212,191,208, 4,212,186,144, 4,212,186,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, - 4,212,192, 80, 0, 0, 0,194, 0, 0, 0, 1, 4,212,195, 32, 0, 0, 0, 0, 4,212,184,144, 4,212,183,208, 4,212,184, 16, - 4,212,184,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,128, 0, 0, 4,101, 0, 0, 4,128, 7, 7, 7,129, 0, 28, 0, 1, - 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 4,212,247, 48, 4,212,247, 48, 4,212,192,224, 4,212,194, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212,192,224, 0, 0, 0,195, 0, 0, 0, 1, - 4,212,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,133,160, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,240, 32, 0, - 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,128, 0, 0, 0, 0, 0, 0, 0, 25, 68,237,128, 0, 65,200, 0, 0, - 68,237,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 7,129, - 0, 26, 7,129, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,128, 0, 0, 4,101, - 0, 0, 4,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,129, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, - 4,212,194, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,212,192,224, 0, 0, 0, 0, 69,109,240, 0,192,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68,238, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 7,112, 0, 0, 7,129, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 2, 0, 0, - 0, 1, 3, 3, 0, 2, 4, 0, 0, 10, 7,129, 0, 2, 7,112, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7,128, 0, 0, 4,127, 0, 0, 4,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7,129, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 4,212,195, 32, 0, 0, 0,194, 0, 0, 0, 1, 4,212,216, 48, 4,212,192, 80, - 4,212,185,144, 4,212,185, 80, 4,212,185,208, 4,212,184, 80, 0, 0, 0, 0, 0, 0, 6, 33, 0, 0, 7,128, 0, 0, 0, 0, - 0, 0, 1,183, 4, 4, 1, 96, 1,184, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,212,215, 48, 4,212,215, 48, - 4,212,195,176, 4,212,196,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, - 4,212,195,176, 0, 0, 0,195, 0, 0, 0, 1, 4,212,196,208, 0, 0, 0, 0, 0, 0, 0, 0, 67,160, 0, 0, 0, 0, 0, 0, - 65,208, 0, 0, 0, 0, 0, 0, 67,176, 0, 0, 0, 0, 0, 0, 65,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 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, 95, 0, 0, 0, 0, - 0, 0, 0, 30, 67,137,128, 0, 65,200, 0, 0, 67,137,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 1, 96, 0, 31, 1, 96, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 33, 0, 0, 7,128, 0, 0, 1,153, 0, 0, 1,183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 96, 0, 31, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212,196,208, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,212,195,176, - 0, 0, 0, 0, 67,175,128, 0,196, 86,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,167,127,255,195,204,127,255, 0, 0, 0, 0, - 0, 0, 1, 79, 0, 0, 1, 96, 0, 0, 0, 0, 0, 0, 1,152, 0, 0, 0, 0, 0, 0, 1, 78, 0, 0, 0, 0, 0, 0, 0, 17, - 0, 0, 0, 0, 0, 0, 1, 78, 0, 0, 0, 0, 0, 0, 1,152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 64, 0, 0, 0, 1, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 1, 96, 1,153, 1, 79, 1,153, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 33, 0, 0, 7,128, 0, 0, 0, 0, 0, 0, 1,152, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 96, 1,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,212,197,240, 4,212,213,192, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,197,240, 0, 0, 0,193, - 0, 0, 0, 1, 4,212,199, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99, -111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99, -111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,220, 1, 78, 0, 36, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,199, 96, 0, 0, 0,193, 0, 0, 0, 1, 4,212,200,208, 4,212,197,240, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,135, 1, 78, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, - 4,212,200,208, 0, 0, 0,193, 0, 0, 0, 1, 4,212,202, 64, 4,212,199, 96, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, - 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, - 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101, -114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,111, - 1, 78, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,202, 64, 0, 0, 0,193, 0, 0, 0, 1, - 4,212,203,176, 4,212,200,208, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115, -105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115, -105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,140, 1, 78, 0,203, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72, 91, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, +232, 92, 70, 27, 1, 0, 0, 0,168, 89, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105,101,119, 51,100, 95,112,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105,101,119, 51,100, 95,112,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 4,212,203,176, 0, 0, 0,193, 0, 0, 0, 1, 4,212,205, 32, 4,212,202, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, + 86,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, + 0, 0,212,252,163, 0, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,254, 58, 1, 78, 0, 58, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, +232, 92, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,136, 94, 70, 27, 1, 0, 0, 0, 72, 91, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105,101,119, 51,100, + 95,110, 97,109,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105,101,119, 51,100, + 95,110, 97,109,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73,116,101,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,252,163, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,205, 32, - 0, 0, 0,193, 0, 0, 0, 1, 4,212,206,144, 4,212,203,176, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, - 77,111,116,105,111,110, 32, 66,108,117,114, 0,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 34, 1, 78, 0, 0, - 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,206,144, 0, 0, 0,193, 0, 0, 0, 1, 4,212,208, 0, - 4,212,205, 32, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,164, 1, 78, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 64, 4,212,208, 0, 0, 0, 0,193, 0, 0, 0, 1, 4,212,209,112, 4,212,206,144, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,253, 10, 1, 78, 0,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,209,112, 0, 0, 0,193, - 0, 0, 0, 1, 4,212,210,224, 4,212,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101, -114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101, -114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,242, 1, 78, 0, 0, 0, 0, 0, 0, - 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,210,224, 0, 0, 0,193, 0, 0, 0, 1, 4,212,212, 80, 4,212,209,112, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110, -103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110, -103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,218, 1, 78, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, - 4,212,212, 80, 0, 0, 0,193, 0, 0, 0, 1, 4,212,213,192, 4,212,210,224, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, - 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, - 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109, -112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,194, - 1, 78, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,213,192, 0, 0, 0,193, 0, 0, 0, 1, - 0, 0, 0, 0, 4,212,212, 80, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,170, 1, 78, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,216, 4,212,215, 48, 0, 0, 0,159, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 21,255, 0, 0, 0,160, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 4,212,216, 48, 0, 0, 0,194, 0, 0, 0, 1, - 4,212,221,240, 4,212,195, 32, 4,212,183,144, 4,212,185, 16, 4,212,185, 80, 4,212,185,144, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 31, 0, 0, 0, 0, 0, 0, 1,183, 17, 17, 6, 32, 1,184, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4,212,221,144, 4,212,221,144, 4,212,216,192, 4,212,220,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,248, 4,212,216,192, 0, 0, 0,195, 0, 0, 0, 1, 4,212,217,224, 0, 0, 0, 0, 0, 0, 0, 0, - 67, 74, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,196, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 31, 0, 0, 0, 0, 0, 0, 0, 25, 68, 63,192, 0, 65,200, 0, 0, 68, 63,192, 0, 65,200, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 6, 32, 0, 26, 6, 32, 0, 26, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 31, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 6, 32, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212,217,224, 0, 0, 0,195, 0, 0, 0, 1, - 4,212,220,112, 4,212,216,192, 0, 0, 0, 0, 67, 92, 0, 0,195,207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 75, 0, 0, -195,207, 0, 0, 0, 0, 0, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 1,157, 0, 0, 0, 0, 0, 0, 0,202, - 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 1,157, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 3, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 0,220, - 1,158, 0,203, 1,158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,219, 0, 0, 0, 26, - 0, 0, 1,183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 1,158, 0, 0, 0, 4, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4,212,219, 0, 4,212,219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, - 4,212,219, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 79, 71, 73, - 67, 95, 80, 84, 95,112,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 79, 71, 73, - 67, 95, 80, 84, 95,112,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,114,111,112, -101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,196, - 0,203, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212,220,112, 0, 0, 0,195, 0, 0, 0, 1, - 0, 0, 0, 0, 4,212,217,224, 0, 0, 0, 0, 68,160, 0, 0, 0, 0, 0, 0, 67,112, 0, 0,195, 31, 80, 0, 68,179,234, 0, -194,235,159,188, 67,178,231,239, 0, 0, 5, 51, 0, 0, 5, 68, 0, 0, 0, 18, 0, 0, 1,157, 0, 0, 0, 0, 0, 0, 5, 50, - 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 5, 50, 0, 0, 0, 18, 0, 0, 1,157, 63,128, 0, 0, 63,128, 0, 0, - 70,250, 0, 0, 70,250, 0, 0, 63, 0, 0, 0, 63,154,225, 72, 0, 10, 0, 0, 0, 0, 0, 3, 0, 0, 4, 0, 0, 0, 5, 68, - 1,158, 5, 51, 1,140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 6, 31, 0, 0, 0, 26, - 0, 0, 1,183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 68, 1,158, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 52, - 4,212,221,144, 0, 0, 0,172, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,255, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 96, 4,212,221,240, 0, 0, 0,194, 0, 0, 0, 1, 4,212,224,192, 4,212,216, 48, 4,212,186, 16, - 4,212,186, 80, 4,212,184,208, 4,212,185,208, 0, 0, 0, 0, 0, 0, 5, 65, 0, 0, 7,128, 0, 0, 1,185, 0, 0, 4, 99, - 9, 9, 2, 64, 2,171, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,152,136, 32, 2,152,136, 32, 4,212,222,128, - 4,212,223,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212,222,128, - 0, 0, 0,195, 0, 0, 0, 1, 4,212,223,160, 0, 0, 0, 0, 0, 0, 0, 0, 67,230, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, - 0, 0, 0, 0, 68, 16, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 63, 0, 0, 0, 0, 0, 0, 0, 25, - 67,181,128, 0, 65,200, 0, 0, 67,181,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, - 0, 4, 4, 12, 0, 10, 2, 64, 0, 26, 2, 64, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 65, - 0, 0, 7,128, 0, 0, 1,185, 0, 0, 1,210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 64, 0, 26, - 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,248, 4,212,223,160, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,212,222,128, 0, 0, 0, 0, - 67,181,128, 0, 0, 0, 0, 0, 67,218,128, 0, 0, 0, 0, 0, 68, 1,248,131, 0, 0, 0, 0, 68, 20, 63,118, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2, 63, 0, 0, 0, 0, 0, 0, 2,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 35,215, 10, - 68,122, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 10, 2, 64, 2,145, 2, 64, 2,145, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 65, 0, 0, 7,128, 0, 0, 1,211, 0, 0, 4, 99, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 64, 2,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 2,136, 2,152,136, 32, 0, 0, 0,166, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 4,212,224,192, 0, 0, 0,194, 0, 0, 0, 1, 4,212,242, 48, - 4,212,221,240, 4,212,186,144, 4,212,186,208, 4,212,186, 80, 4,212,186, 16, 0, 0, 0, 0, 0, 0, 1, 69, 0, 0, 5, 63, - 0, 0, 1,185, 0, 0, 4, 99, 1, 1, 3,251, 2,171, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,212,241, 0, - 4,212,241, 0, 4,212,225, 80, 4,212,239,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0,248, 4,212,225, 80, 0, 0, 0,195, 0, 0, 0, 1, 4,212,226,112, 0, 0, 0, 0, 0, 0, 0, 0, 68, 98, 64, 0, - 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,126,192, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,250, - 0, 0, 0, 0, 0, 0, 0, 25, 68,237,128, 0, 65,200, 0, 0, 68,237,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 3,251, 0, 26, 3,251, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 69, 0, 0, 5, 63, 0, 0, 1,185, 0, 0, 1,210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3,251, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212,226,112, 0, 0, 0,195, 0, 0, 0, 1, 4,212,227,144, - 4,212,225, 80, 0, 0, 0, 0, 67, 15, 0, 0,196, 70, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 15, 0, 0,196, 70,127,255, - 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 3, 43, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, - 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 3, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 3, 44, 0,143, - 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 69, 0, 0, 1, 69, 0, 0, 1,211, 0, 0, 4, 99, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2,145, 0, 0, 0, 5, 0, 3, 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, 68, 65, 84, 65, 0, 0, 0,248, 4,212,227,144, - 0, 0, 0,195, 0, 0, 0, 1, 4,212,228,176, 4,212,226,112, 0, 0, 0, 0, 67, 16, 0, 0,194,206, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67, 16,102,231,194,206, 0, 0, 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, - 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 7, - 0, 18, 4, 0, 0, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 69, - 0, 0, 5, 63, 0, 0, 1,211, 0, 0, 1,211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, - 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,248, 4,212,228,176, 0, 0, 0,195, 0, 0, 0, 1, 4,212,239,224, 4,212,227,144, 0, 0, 0, 0, - 67, 52, 0, 0,196,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 35, 0, 0,196,109, 0, 0,195,145,128, 0, 0, 0, 0,163, - 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 2,144, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, - 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 2,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, - 64, 0, 0, 0, 1, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 0,180, 2,145, 0,163, 2,145, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 63, 0, 0, 5, 63, 0, 0, 1,211, 0, 0, 4, 99, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 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, 4,212,229,208, 4,212,238,112, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,229,208, 0, 0, 0,193, 0, 0, 0, 1, - 4,212,231, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,111, 98,106,101, 99,116, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,111, 98,106,101, 99,116, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,114, 97,110,115,102,111,114,109, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,122, 0,163, 1,110, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 4,212,231, 64, 0, 0, 0,193, 0, 0, 0, 1, 4,212,232,176, 4,212,229,208, 0, 0, 0, 0, - 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 71,114,101, 97,115,101, 32, 80,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,254, 18, 0,163, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,232,176, - 0, 0, 0,193, 0, 0, 0, 1, 4,212,234, 32, 4,212,231, 64, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, - 84, 95,118,105,101,119, 51,100, 95,112,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, - 84, 95,118,105,101,119, 51,100, 95,112,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,105,101,119, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,212, 0,163, 1, 38, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,234, 32, 0, 0, 0,193, 0, 0, 0, 1, 4,212,235,144, - 4,212,232,176, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105,101,119, 51,100, 95,110, 97,109, -101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105,101,119, 51,100, 95,110, 97,109, -101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73,116,101,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,152, 0,163, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 64, 4,212,235,144, 0, 0, 0,193, 0, 0, 0, 1, 4,212,237, 0, 4,212,234, 32, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136, 94, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, + 40, 96, 70, 27, 1, 0, 0, 0,232, 92, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105,101,119, 51,100, 95,100,105,115,112,108, 97,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,118,105,101,119, 51,100, 95,100,105,115,112,108, 97,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,115,112,108, 97,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,252,128, 0,163, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128,252,163, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,237, 0, 0, 0, 0,193, - 0, 0, 0, 1, 4,212,238,112, 4,212,235,144, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 98, 97, - 99,107,103,114,111,117,110,100, 95,105,109, 97,103,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 98, 97, - 99,107,103,114,111,117,110,100, 95,105,109, 97,103,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97, 99,107,103,114,111,117,110,100, 32, 73, -109, 97,103,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,104, 0,163, 0, 0, 0, 20, 0, 0, - 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, + 40, 96, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,200, 97, 70, 27, 1, 0, 0, 0,136, 94, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 98, 97, 99,107,103,114, +111,117,110,100, 95,105,109, 97,103,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95, 98, 97, 99,107,103,114, +111,117,110,100, 95,105,109, 97,103,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97, 99,107,103,114,111,117,110,100, 32, 73,109, 97,103,101, +115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,252,163, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, + 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,212,238,112, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 4,212,237, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,114, 97,110,115,102,111,114,109, 95,111,114,105,101, -110,116, 97,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,114, 97,110,115,102,111,114,109, 95,111,114,105,101, -110,116, 97,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 84,114, 97,110,115,102,111,114,109, 32, 79,114,105,101,110,116, 97,116,105,111,110,115, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,200, 97, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 40, 96, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,114, 97,110,115,102,111,114,109, 95,111,114,105,101,110,116, 97,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252, 80, 0,163, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, + 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,114, 97,110,115,102,111,114,109, 95,111,114,105,101,110,116, 97,116,105,111,110,115, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 84,114, 97,110,115,102,111,114,109, 32, 79,114,105,101,110,116, 97,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 80,252,163, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, - 4,212,239,224, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,212,228,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, +104, 99, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 86, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 69, 0, 0, 5, 63, 0, 0, 1,211, 0, 0, 4, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3,251, 2,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2,152,140, 32, 68, 65, 84, 65, 0, 0, 3, 68, 2,152,140, 32, 0, 0, 0,153, 0, 0, 0, 1, 61, 30, 35,190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61,117, 69,219, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0,128, 0, 0, 0, -187, 3, 18,111,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 61, 30, 35,190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61,117, 69,219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -187, 3, 18,111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 65,207, 53,149, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,133,153, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -195,249,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 61, 30, 35,190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61,117, 69,219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -187, 3, 18,111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 65,207, 53,149, 65,111,211,214, 0, 0, 0, 0, 0, 0, 0, 0, 61, 80, 57,221, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115, 4, 0, 0, 26, 0, 0, 0,171, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116, 4,146, 1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,174, 82, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,112,157, 23, 1, 0, 0, 0, +184,111,157, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,100, 70, 27, 1, 0, 0, 0, 68, 65, 84, 65,104, 3, 0, 0, +216,100, 70, 27, 1, 0, 0, 0,153, 0, 0, 0, 1, 0, 0, 0, 0, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,233,129, 70, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 1,128,191, 0, 0,128,191, + 0, 0, 0,128, 0, 0, 0,128,217,205, 76,190, 0, 0, 0,128, 13, 98,116, 63,237,235,196,189,210, 81,144, 62, 0, 0, 0, 0, +225,107,152, 62, 39,196,171, 62, 63,206,100,191, 0, 0, 0, 0,169, 77, 13,188,144,231,111, 63,161,160,178, 62, 0, 0, 0, 0, +237,143,212, 61,106,228,221,189,230, 24, 12,193, 0, 0,128, 63, 12, 98,116, 63,225,107,152, 62,160, 77, 13,188, 0, 0, 0, 0, +234,235,196,189, 39,196,171, 62,142,231,111, 63, 0, 0, 0, 0,210, 81,144, 62, 63,206,100,191,161,160,178, 62, 0, 0, 0, 0, +140,243, 22, 64,113, 65,250,192,161, 16, 74, 64, 0, 0,128, 63,159,165,133, 63,103,178,152,190, 76, 83,144,190,210, 81,144,190, +254,181,166, 62,224, 48,133, 63,150,208,100, 63, 63,206,100, 63,241,140, 26,188,215, 6, 58, 64,117,162,178,190,161,160,178,190, +107,125,232, 61, 68, 15,172,190, 30,231, 8, 65,230, 24, 12, 65,149,111, 95, 63, 96, 91,139, 62,184, 49, 1,188, 0, 0,112,179, +125,244,253,188,155,131,221, 61,124,177,154, 62, 0, 0,144,178,216,175, 60,193,106,104, 28, 66,255,147,124,193,130,255,159,192, + 55, 47, 56, 65,202,214, 24,194,142, 1,119, 65, 37, 1,160, 64,150, 80, 70, 63,240,133, 97,189,229,145,148,191, 0, 0, 0, 0, +229,114,195,190,216, 26,167, 63,247, 38,162,190, 0, 0, 0, 0, 97,123,140, 63,231, 98,252, 62, 92,136, 53, 63, 0, 0, 0, 0, + 75,181,253,191, 42,166,252, 62,162,100,253,192, 0, 0,128, 63, 36,232, 88, 63, 8,224, 46,190,106,147,148, 63,229,145,148, 63, +170,197,213,190,143,147,129, 64,161, 40,162, 62,247, 38,162, 62,242,166,153, 63,147,180,195, 63, 55,138, 53,191, 92,136, 53,191, + 38,191, 10,192,185,232,195, 63,205, 0,247, 64,162,100,253, 64,246,221,115, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,246,221,115, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,246,221,115, 63, 0, 0, 0, 0, +209, 16,232,191, 98,117,149,191,200,200, 95, 63, 0, 0,128, 63,116,239, 79, 63,107, 67, 16,191,164, 29,183,189,148, 67,248,189, +169, 37, 10, 65,222,255,177, 64, 0, 0, 0, 0, 0, 0, 0, 0,165, 61,210, 58, 16,228,153, 61,240,240,211, 61, 84,110, 20,190, + 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 55, 62, 92,190,224,186, 56,190,148,203,237, -190,234,236, 3, 0, 1, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 0, 4,212,241, 0, 0, 0, 0,154, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 63, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 65, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 7, 2,152,196, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0, 0, 0, 1, 0, 3, - 0, 0, 8, 8, 0, 0, 0, 0, 66, 12, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 61,204,204,205, 68,122, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 4,212,242, 48, 0, 0, 0,194, - 0, 0, 0, 1, 0, 0, 0, 0, 4,212,224,192, 4,212,185, 16, 4,212,184,144, 4,212,186,208, 4,212,186,144, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 67, 0, 0, 1,185, 0, 0, 4, 99, 3, 3, 1, 68, 2,171, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4,212,245, 0, 4,212,245, 0, 4,212,242,192, 4,212,243,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212,242,192, 0, 0, 0,195, 0, 0, 0, 1, 4,212,243,224, 0, 0, 0, 0, - 0, 0, 0, 0, 67,244,128, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 67,162, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116,239, 79, 63,107, 67, 16,191,164, 29,183,189,148, 67,248,189, + 1, 0, 0, 0, 0, 0,128, 63, 14, 80,109, 66, 1, 59, 14, 66,170,147,147, 66, 0, 0, 0, 0, 68, 65, 84, 65, 72, 1, 0, 0, +136,104, 70, 27, 1, 0, 0, 0,154, 0, 0, 0, 1, 0, 0, 0,216,111, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 7, 0, 56,114,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 67, 0, 0, 0, 0, 0, 0, 0, 25, 67, 83, 0, 0, 65,200, 0, 0, 67, 83, 0, 0, 65,200, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 1, 68, 0, 26, 1, 68, 0, 26, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 67, 0, 0, 1,185, 0, 0, 1,210, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 68, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 2, 0, 0, 0, 1, 0, 3, 0, 0, 0, 8, 24, 0, 0, 0, 0, 0, 0, 12, 66, 0, 0,128, 63, 0, 0,128, 63,205,204,204, 61, + 0, 64,156, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, + 7, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,212,243,224, 0, 0, 0,195, - 0, 0, 0, 1, 0, 0, 0, 0, 4,212,242,192, 0, 0, 0, 0, 67,131,128, 0,194,232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 67,153,128, 0,196, 31,192, 0, 0, 0, 0, 0, 0, 0, 1, 51, 0, 0, 1, 68, 0, 0, 0, 18, 0, 0, 2,144, 0, 0, 0, 0, - 0, 0, 1, 50, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 50, 0, 0, 0, 18, 0, 0, 2,144, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 6, 18, 0, 0, 0, 2, 3, 3, 0, 0, 4, 12, - 0, 6, 1, 68, 2,145, 1, 51, 2,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 67, - 0, 0, 1,211, 0, 0, 4, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 68, 2,145, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, + 24,106, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,107, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 75, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,160,179, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0,244, 4,212,245, 0, 0, 0, 0,163, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,156, 5, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,209, 68, 0, 0,200, 65, 0, 0,209, 68, 0, 0,200, 65, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,157, 5, 26, 0,157, 5, 26, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,156, 5, 0, 0, 35, 3, 0, 0, 60, 3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,157, 5, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, +136,107, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,108, 70, 27, 1, 0, 0, 0, 24,106, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0,128,128, 67, 0, 0, 77,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 67, 0,192, 72,196, 0, 0, 0, 0, +223, 0, 0, 0,240, 0, 0, 0, 0, 0, 0, 0, 34, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,239, 0, 0, 0, 0, 0, 0, 0, 34, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,240, 0, 35, 3,240, 0, 35, 3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 0, 0, 0, 0, 0, 0, 0, 34, 3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 0, 35, 3, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, +248,108, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,104,110, 70, 27, 1, 0, 0, 0,136,107, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 32,179, 68, 0, 0, 0, 0, 0, 0,112, 66, 0, 0, 0, 0, 0,160,149, 68, 0, 0, 0, 0, 0, 0,112, 66, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,172, 4, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0,179, 68, 0, 0,108, 66, 0, 0,179, 68, 0, 0,108, 66, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,173, 4, 60, 0,173, 4, 60, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 0, 0, 0,156, 5, 0, 0,231, 2, 0, 0, 34, 3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,173, 4, 60, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, +104,110, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,108, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0,128,173, 68, 0,128, 56,196, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,149, 68, 0, 64, 53,196, 0, 0, 0, 0, +156, 4, 0, 0,173, 4, 0, 0, 0, 0, 0, 0,229, 2, 0, 0, 0, 0, 0, 0,172, 4, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, + 0, 0, 0, 0,172, 4, 0, 0, 18, 0, 0, 0,230, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 8, 0, 0, 0, 2, 0, 3, 3, 4, 0, 0, 4, 6, 0,173, 4,231, 2,173, 4,213, 2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 0, 0, 0,156, 5, 0, 0, 0, 0, 0, 0,230, 2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,173, 4,231, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,104, 0, 0, 0, +216,111, 70, 27, 1, 0, 0, 0,162, 0, 0, 0, 1, 0, 0, 0,104,115, 70, 27, 1, 0, 0, 0,136,104, 70, 27, 1, 0, 0, 0, + 24,106, 70, 27, 1, 0, 0, 0,104,110, 70, 27, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, +136,112, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,113, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0,128,231, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,140, 68, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 95, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,197, 68, 0, 0,200, 65, 0,224,197, 68, 0, 0,200, 65, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 96, 4, 26, 0, 96, 4, 26, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 4, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, +248,113, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,112, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0,128,241, 67, 0, 0,172,195, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,137, 68, 0, 0, 14,196, 0, 0, 0, 0, + 79, 4, 0, 0, 96, 4, 0, 0, 18, 0, 0, 0, 73, 2, 0, 0, 0, 0, 0, 0, 78, 4, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, + 0, 0, 0, 0, 78, 4, 0, 0, 18, 0, 0, 0, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 18, 6, 0, 0, 2, 0, 3, 3, 0, 0, 0, 4, 6, 0, 96, 4, 74, 2, 79, 4, 56, 2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 4, 0, 0, 26, 0, 0, 0, 99, 2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 4, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, +104,115, 70, 27, 1, 0, 0, 0,163, 0, 0, 0, 1, 0, 0, 0, 56, 4,106, 3, 1, 0, 0, 0,216,111, 70, 27, 1, 0, 0, 0, +136,112, 70, 27, 1, 0, 0, 0,248,113, 70, 27, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,212,246, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 68, 65, 84, 65, 0, 0, 0, 12, 4,212,246, 32, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, - 4,212,246, 96, 68, 65, 84, 65, 0, 0, 0,168, 4,212,246, 96, 0, 0, 0,216, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 1, - 2,152,190, 32, 0, 19, 0, 0, 0, 1, 0, 1, 2,152,190, 32, 0, 20, 0, 0, 0, 1, 0, 1, 2,152,190, 32, 0, 21, 0, 1, - 0, 1, 0, 0, 2,152,190, 32, 0, 0, 0, 0, 0, 1, 0, 1, 4,213,120,240, 0, 0, 0, 0, 0, 1, 0, 1, 2,152,202, 32, - 0, 0, 0, 0, 0, 1, 0, 1, 4,213,128,192, 0, 0, 0, 0, 0, 1, 0, 1, 2,152,214, 32, 0, 0, 0, 0, 0, 1, 0, 1, - 4,213,127, 16, 0, 0, 0, 0, 0, 1, 0, 1, 2,152,208, 32, 0, 0, 0, 0, 0, 1, 0, 1, 4,213,117,128, 0, 0, 0, 0, - 0, 1, 0, 1, 2,152,196, 32, 0, 0, 0, 0, 0, 1, 0, 1, 4,213,116,240, 0, 21, 0, 0, 0, 1, 0, 1, 2,152,190, 32, - 0, 0, 83, 78, 0, 0, 0,148, 4,212,247,144, 0, 0, 0,190, 0, 0, 0, 1, 4,213, 50,160, 4,212,182,208, 0, 0, 0, 0, - 0, 0, 0, 0, 83, 82, 83, 99,114,105,112,116,105,110,103, 0,103, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4,212,248, 80, 4,212,251,208, 4,212,252, 16, 4,218,196,240, 4,213, 1,208, 4,213, 47,112, - 0, 0, 0, 0, 0, 0, 0, 0, 2,152,190, 32, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53,222, 48, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,212,248, 80, 0, 0, 0,191, 0, 0, 0, 1, 4,212,248,144, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,212,248,144, 0, 0, 0,191, - 0, 0, 0, 1, 4,212,248,208, 4,212,248, 80, 0, 0, 0, 0, 0, 0, 4,128, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, - 4,212,248,208, 0, 0, 0,191, 0, 0, 0, 1, 4,212,249, 16, 4,212,248,144, 0, 0, 0, 0, 7,128, 4,128, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 20, 4,212,249, 16, 0, 0, 0,191, 0, 0, 0, 1, 4,212,249, 80, 4,212,248,208, 0, 0, 0, 0, - 7,128, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,212,249, 80, 0, 0, 0,191, 0, 0, 0, 1, 4,212,249,144, - 4,212,249, 16, 0, 0, 0, 0, 0, 0, 4, 20, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,212,249,144, 0, 0, 0,191, - 0, 0, 0, 1, 4,212,249,208, 4,212,249, 80, 0, 0, 0, 0, 7,128, 4, 20, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, - 4,212,249,208, 0, 0, 0,191, 0, 0, 0, 1, 4,212,250, 16, 4,212,249,144, 0, 0, 0, 0, 5,240, 4, 20, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 20, 4,212,250, 16, 0, 0, 0,191, 0, 0, 0, 1, 4,212,250, 80, 4,212,249,208, 0, 0, 0, 0, - 5,240, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,212,250, 80, 0, 0, 0,191, 0, 0, 0, 1, 4,212,250,144, - 4,212,250, 16, 0, 0, 0, 0, 0, 0, 1,144, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 4,212,250,144, 0, 0, 0,191, - 0, 0, 0, 1, 4,212,251, 16, 4,212,250, 80, 0, 0, 0, 0, 5,240, 1,144, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, - 4,212,251, 16, 0, 0, 0,191, 0, 0, 0, 1, 4,212,251, 80, 4,212,250,144, 0, 0, 0, 0, 2,248, 1,144, 0, 0, 0, 1, - 68, 65, 84, 65, 0, 0, 0, 20, 4,212,251, 80, 0, 0, 0,191, 0, 0, 0, 1, 4,212,251,144, 4,212,251, 16, 0, 0, 0, 0, - 5,240, 3, 68, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,212,251,144, 0, 0, 0,191, 0, 0, 0, 1, 4,212,251,208, - 4,212,251, 80, 0, 0, 0, 0, 7,128, 3, 68, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,212,251,208, 0, 0, 0,191, - 0, 0, 0, 1, 0, 0, 0, 0, 4,212,251,144, 0, 0, 0, 0, 2,248, 4, 20, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 4,212,252, 16, 0, 0, 0,192, 0, 0, 0, 1, 4,212,252, 80, 0, 0, 0, 0, 4,212,248,144, 4,212,248,208, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,252, 80, 0, 0, 0,192, 0, 0, 0, 1, 4,212,252,144, 4,212,252, 16, - 4,212,248,144, 4,212,249, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,252,144, 0, 0, 0,192, - 0, 0, 0, 1, 4,212,252,208, 4,212,252, 80, 4,212,248,208, 4,212,249,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 4,212,252,208, 0, 0, 0,192, 0, 0, 0, 1, 4,212,253, 16, 4,212,252,144, 4,212,249, 80, 4,212,249,144, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,253, 16, 0, 0, 0,192, 0, 0, 0, 1, 4,212,253, 80, - 4,212,252,208, 4,212,249,144, 4,212,249,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,253, 80, - 0, 0, 0,192, 0, 0, 0, 1, 4,212,253,144, 4,212,253, 16, 4,212,249, 16, 4,212,250, 16, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 4,212,253,144, 0, 0, 0,192, 0, 0, 0, 1, 4,212,253,208, 4,212,253, 80, 4,212,248, 80, - 4,212,250, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,253,208, 0, 0, 0,192, 0, 0, 0, 1, - 4,212,254, 16, 4,212,253,144, 4,212,249, 80, 4,212,250, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 4,212,254, 16, 0, 0, 0,192, 0, 0, 0, 1, 4,212,254, 80, 4,212,253,208, 4,212,249,208, 4,212,250,144, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,254, 80, 0, 0, 0,192, 0, 0, 0, 1, 4,212,255, 16, 4,212,254, 16, - 4,212,250, 16, 4,212,250,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,255, 16, 0, 0, 0,192, - 0, 0, 0, 1, 4,212,255, 80, 4,212,254, 80, 4,212,250, 80, 4,212,251, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 4,212,255, 80, 0, 0, 0,192, 0, 0, 0, 1, 4,212,255,208, 4,212,255, 16, 4,212,250,144, 4,212,251, 16, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,212,255,208, 0, 0, 0,192, 0, 0, 0, 1, 4,213, 0, 16, - 4,212,255, 80, 4,212,250, 16, 4,212,251, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 0, 16, - 0, 0, 0,192, 0, 0, 0, 1, 4,213, 0, 80, 4,212,255,208, 4,212,249,208, 4,212,251, 80, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 0, 80, 0, 0, 0,192, 0, 0, 0, 1, 4,213, 0,144, 4,213, 0, 16, 4,212,249,144, - 4,212,251,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 0,144, 0, 0, 0,192, 0, 0, 0, 1, - 4,213, 0,208, 4,213, 0, 80, 4,212,249, 16, 4,212,251,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 4,213, 0,208, 0, 0, 0,192, 0, 0, 0, 1, 4,213, 1, 16, 4,213, 0,144, 4,212,251, 80, 4,212,251,144, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 1, 16, 0, 0, 0,192, 0, 0, 0, 1, 4,213, 1, 80, 4,213, 0,208, - 4,212,249, 80, 4,212,251,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 1, 80, 0, 0, 0,192, - 0, 0, 0, 1, 4,213, 1,144, 4,213, 1, 16, 4,212,249,208, 4,212,251,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 4,213, 1,144, 0, 0, 0,192, 0, 0, 0, 1, 10, 62,170,240, 4,213, 1, 80, 4,212,251, 16, 4,212,251,208, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 10, 62,170,240, 0, 0, 0,192, 0, 0, 0, 1, 4,218,196,240, - 4,213, 1,144, 4,212,250, 80, 4,212,250,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,218,196,240, - 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 0, 10, 62,170,240, 4,212,248, 80, 4,212,250, 16, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 96, 4,213, 1,208, 0, 0, 0,194, 0, 0, 0, 1, 4,213, 4,160, 0, 0, 0, 0, 4,212,249, 80, - 4,212,248,144, 4,212,248,208, 4,212,249,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,128, 0, 0, 4, 21, 0, 0, 4,128, - 7, 7, 7,129, 0,108, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 2, 23,154,128, 4,213, 50, 64, 4,213, 50, 64, 4,213, 2, 96, - 4,213, 3,128, 0, 0, 0, 0, 0, 0, 0, 0, 9,182,164, 16, 10, 50,217,240, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 2, 96, - 0, 0, 0,195, 0, 0, 0, 1, 4,213, 3,128, 0, 0, 0, 0, 0, 0, 0, 0, 68,133,160, 0, 0, 0, 0, 0, 65,208, 0, 0, - 0, 0, 0, 0, 68,240, 32, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,128, 0, 0, 0, 0, 0, 0, 0, 25, - 68,237,128, 0, 65,200, 0, 0, 68,237,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, - 0, 4, 4, 12, 0, 10, 7,129, 0, 26, 7,129, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7,128, 0, 0, 4,103, 0, 0, 4,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,129, 0, 26, - 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,155,208, + 0, 0, 0, 0, 0, 0, 0, 0,120,107,166, 19, 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, - 68, 65, 84, 65, 0, 0, 0,248, 4,213, 3,128, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,213, 2, 96, 0, 0, 0, 0, - 68,240, 0, 0, 0, 0, 0, 0, 65, 48, 0, 0, 0, 0, 0, 0, 68,238, 0, 0, 0, 0, 0, 0, 66,164, 0, 0, 0, 0, 7,112, - 0, 0, 7,129, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, - 0, 0, 7,111, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 2, 2, 0, 0, 0, 1, 3, 3, 0, 2, 4, 0, 0, 10, 7,129, 0, 82, 7,112, 0, 82, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,128, 0, 0, 4, 21, 0, 0, 4,102, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7,129, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,155, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 4,213, 4,160, 0, 0, 0,194, 0, 0, 0, 1, - 4,213, 30, 96, 4,213, 1,208, 4,212,250, 16, 4,212,251, 80, 4,212,251,144, 4,212,249, 16, 0, 0, 0, 0, 0, 0, 5,241, - 0, 0, 7,128, 0, 0, 0, 0, 0, 0, 3, 67, 4, 4, 1,144, 3, 68, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,151,128, - 4,213, 24,176, 4,213, 24,176, 4,213, 5, 48, 4,213, 6, 80, 0, 0, 0, 0, 0, 0, 0, 0, 10, 50,219, 80, 10, 60, 71, 64, - 68, 65, 84, 65, 0, 0, 0,248, 4,213, 5, 48, 0, 0, 0,195, 0, 0, 0, 1, 4,213, 6, 80, 0, 0, 0, 0, 0, 0, 0, 0, - 67,160, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 67,200, 0, 0, 0, 0, 0, 0, 65,248, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,143, 0, 0, 0, 0, 0, 0, 0, 30, 67,137,128, 0, 65,200, 0, 0, 67,137,128, 0, 65,200, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 1,144, 0, 31, 1,144, 0, 31, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,241, 0, 0, 7,128, 0, 0, 3, 37, 0, 0, 3, 67, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1,144, 0, 31, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,153,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 6, 80, 0, 0, 0,195, 0, 0, 0, 1, - 0, 0, 0, 0, 4,213, 5, 48, 0, 0, 0, 0, 67,199,128, 0,196, 86,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,191,127,254, -196, 73, 63,254, 0, 0, 0, 0, 0, 0, 1,127, 0, 0, 1,144, 0, 0, 0, 0, 0, 0, 3, 36, 0, 0, 0, 0, 0, 0, 1,126, - 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1,126, 0, 0, 0, 0, 0, 0, 3, 36, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 1, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 1,144, - 3, 37, 1,127, 3, 37, 0, 0, 10, 62,135, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 5,241, 0, 0, 7,128, 0, 0, 0, 0, - 0, 0, 3, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,144, 3, 37, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,152, 64, 0, 0, 0, 0, 0, 0, 0, 0, - 4,213, 7,112, 4,213, 23, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, - 4,213, 7,112, 0, 0, 0,193, 0, 0, 0, 1, 4,213, 8,224, 0, 0, 0, 0, 2, 23,152,208, 0, 0, 0, 0, 66, 85, 84, 84, - 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, - 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116, -101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,220, - 1,126, 0, 36, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,120,107,166, 19, 1, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, +104, 0, 0, 0,104, 0, 0, 0, 56,252,105, 3, 1, 0, 0, 0, 68, 65, 84, 65,128, 6, 0, 0, 56,252,105, 3, 1, 0, 0, 0, +216, 0, 0, 0,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,106,106, 3, 1, 0, 0, 0, 19, 0, 0, 0, 1, 0, 0, 0, + 56,106,106, 3, 1, 0, 0, 0, 20, 0, 0, 0, 1, 0, 0, 0, 56,106,106, 3, 1, 0, 0, 0, 21, 0, 0, 0, 1, 0, 0, 0, + 56,106,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 24,169, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 56,114,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8,167, 71, 27, 1, 0, 0, 0, 30, 0,255,255, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 30, 0,255,255, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 6, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0,255,255, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 30, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0,255,255, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 30, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0,255,255, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0,255,255, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,116, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 56,118, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 83, 68, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0, 0,140, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0,224,197, 68, 0, 0,200, 65, 0,224,197, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, + 4, 0, 12, 4, 10, 0, 96, 4, 26, 0, 96, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 95, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 96, 4, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,213, 8,224, 0, 0, 0,193, 0, 0, 0, 1, - 4,213, 10, 80, 4,213, 7,112, 9, 88,241,224, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,135, 1,126, 0, 61, 0, 0, 0, 0, 0, 0, 0, 6, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,118, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, +168,119, 70, 27, 1, 0, 0, 0,200,116, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 4,213, 10, 80, 0, 0, 0,193, 0, 0, 0, 1, 4,213, 11,192, 4,213, 8,224, 9, 88,243,144, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,255,111, 1,126, 0, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,213, 11,192, - 0, 0, 0,193, 0, 0, 0, 1, 4,213, 13, 48, 4,213, 10, 80, 9, 89, 1, 16, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, 4, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,119, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 24,121, 70, 27, 1, 0, 0, 0, 56,118, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 95, 4, 0, 0, 95, 4, 0, 0, 26, 0, 0, 0, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, 7, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,121, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,168,119, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0,128, 67, + 0, 0, 24,191, 0, 0,204, 63, 0, 0, 37,191, 0,128,210, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 74, 2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 95, 4, 0, 0, 26, 0, 0, 0, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 96, 4, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 33, 0, 0, 56, 4,106, 3, 1, 0, 0, 0,164, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,104,115, 70, 27, 1, 0, 0, 0,200,116, 70, 27, 1, 0, 0, 0, 24,121, 70, 27, 1, 0, 0, 0, + 6, 0, 0, 0, 0, 0, 0, 0,216,164, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 65, 0, 0, 0, 0,154,153,153, 62, 0, 0, 0, 0,100, 0, 0, 0, +154,153,153, 62,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,136,122, 70, 27, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,200, 53, 70, 27, 1, 0, 0, 0,232, 27,159, 23, 1, 0, 0, 0,104, 26,159, 23, 1, 0, 0, 0, +136, 27,159, 23, 1, 0, 0, 0, 72, 28,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115, 4, 0, 0, +173, 1, 0, 0, 60, 3, 0, 0, 16, 16,116, 4,144, 1, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0,104,204, 82, 2, 1, 0, 0, 0, +248,130, 70, 27, 1, 0, 0, 0,248,159, 70, 27, 1, 0, 0, 0,104,123, 70, 27, 1, 0, 0, 0,136,129, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,113,157, 23, 1, 0, 0, 0,216,114,157, 23, 1, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0,104,123, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,216,124, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 56, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128,142, 68, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,139, 68, 0, 0,200, 65, + 0,224,139, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,116, 4, + 26, 0,116, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115, 4, 0, 0, +173, 1, 0, 0,198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116, 4, 26, 0, 7, 0, 1, 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,104,206, 82, 2, 1, 0, 0, 0, +120,250, 54, 23, 1, 0, 0, 0,120,250, 54, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +200,115,157, 23, 1, 0, 0, 0, 56,118,157, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0,216,124, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,129, 70, 27, 1, 0, 0, 0, +104,123, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 67, 0, 0,155,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, + 0, 0,155,195, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0, + 54, 1,163, 0, 54, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115, 4, 0, 0,115, 4, 0, 0, +199, 1, 0, 0, 60, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, + 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,208, 82, 2, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,126, 70, 27, 1, 0, 0, 0,232,127, 70, 27, 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, + 68, 65, 84, 65, 88, 1, 0, 0, 72,126, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,232,127, 70, 27, 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, 78, 79, 68, 69, 95, 80, 84, 95, +105,116,101,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 79, 68, 69, 95, 80, 84, 95, +105,116,101,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 99,116,105,118,101, 32, 78, +111,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,255,163, 0, 16, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,232,127, 70, 27, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,126, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 78, 79, 68, 69, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 78, 79, 68, 69, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 71,114,101, 97,115,101, 32, 80,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,255,163, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0,136,129, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +216,124, 70, 27, 1, 0, 0, 0,170, 98,175, 67,159,179, 4, 68,193,152, 96, 67,180,182,176, 67, 63,121,159,195,167,253,145, 68, +140, 95, 66, 67, 89,110, 38, 68, 99, 4, 0, 0,116, 4, 0, 0, 18, 0, 0, 0,117, 1, 0, 0, 0, 0, 0, 0, 98, 4, 0, 0, + 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 98, 4, 0, 0, 18, 0, 0, 0,117, 1, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,250, 70, 0, 0,250, 70,236, 81,184, 61, 10,215, 19, 64, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0,116, 4, +118, 1, 99, 4,100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115, 4, 0, 0, +199, 1, 0, 0, 60, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116, 4,118, 1, 8, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,205, 82, 2, 1, 0, 0, 0, +200,229, 58, 2, 1, 0, 0, 0, 8,207, 55, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 88,124,157, 23, 1, 0, 0, 0,136,123,157, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 56, 1, 0, 0,248,130, 70, 27, 1, 0, 0, 0,171, 0, 0, 0, 1, 0, 0, 0, 56,138, 70, 27, 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, 16, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +232,201, 71, 27, 1, 0, 0, 0, 56,120,106, 3, 1, 0, 0, 0, 0, 0, 0, 0,127,242,166, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,206, 69, 66, 77, 81,146, 67,136,206, 71, 27, 1, 0, 0, 0, +136,206, 71, 27, 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, 68, 65, 84, 65, 40, 1, 0, 0,120,132, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,232,133, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 68, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,160,179, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,156, 5, 0, 0, + 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,209, 68, 0, 0,200, 65, 0, 0,209, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,157, 5, 26, 0,157, 5, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,156, 5, 0, 0, 35, 3, 0, 0, 60, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,157, 5, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232,133, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 88,135, 70, 27, 1, 0, 0, 0,120,132, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 67, + 0,192, 72,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 67, 0,192, 72,196, 0, 0, 0, 0,223, 0, 0, 0,240, 0, 0, 0, + 0, 0, 0, 0, 34, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222, 0, 0, 0, + 0, 0, 0, 0, 34, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, + 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,240, 0, 35, 3,223, 0, 35, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 0, 0, 0, 0, 0, 0, 0, 34, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,240, 0, 35, 3, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,135, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,200,136, 70, 27, 1, 0, 0, 0,232,133, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 32,179, 68, + 0, 0, 0, 0, 0, 0,112, 66, 0, 0, 0, 0, 0,160,149, 68, 0, 0, 0, 0, 0, 0,112, 66, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,172, 4, 0, 0, + 0, 0, 0, 0, 59, 0, 0, 0, 0, 0,179, 68, 0, 0,108, 66, 0, 0,179, 68, 0, 0,108, 66, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,173, 4, 60, 0,173, 4, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,240, 0, 0, 0,156, 5, 0, 0,231, 2, 0, 0, 34, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,173, 4, 60, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,136, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,135, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 64,103, 68, + 0,128, 56,196, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,149, 68, 0, 64, 53,196, 0, 0, 0, 0,156, 4, 0, 0,173, 4, 0, 0, + 0, 0, 0, 0,229, 2, 0, 0, 0, 0, 0, 0,172, 4, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,172, 4, 0, 0, + 18, 0, 0, 0,230, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 8, 4, 0, 0, 2, 0, 3, 3, 4, 0, 0, 4, 6, 0,173, 4,231, 2,173, 4,213, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,240, 0, 0, 0,156, 5, 0, 0, 0, 0, 0, 0,230, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,173, 4,231, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,104, 0, 0, 0, 56,138, 70, 27, 1, 0, 0, 0, +162, 0, 0, 0, 1, 0, 0, 0,200,149, 70, 27, 1, 0, 0, 0,248,130, 70, 27, 1, 0, 0, 0,120,132, 70, 27, 1, 0, 0, 0, +200,136, 70, 27, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232,138, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 88,140, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,109, 68, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,140, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 4, 0, 0, + 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 96, 4, 26, 0, 96, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 4, 0, 0,237, 1, 0, 0, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 96, 4, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,140, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,200,141, 70, 27, 1, 0, 0, 0,232,138, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 67, + 0, 0,253,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0,253,195, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, + 0, 0, 0, 0,249, 1, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, + 0, 0, 0, 0,249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, + 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0,250, 1,143, 0,250, 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, 7, 2, 0, 0, 60, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 54, 1, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0,160, 0, 50, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,141, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 56,143, 70, 27, 1, 0, 0, 0, 88,140, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 67, + 0, 0, 90,195, 0, 0, 0, 0, 0, 0, 0, 0,227,102, 16, 67, 24, 30, 90,195, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, + 0, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, + 0, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, + 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,216, 0,143, 0,216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 4, 0, 0, 7, 2, 0, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0,216, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,143, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,168,144, 70, 27, 1, 0, 0, 0,200,141, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 67, + 0, 0, 83,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0, 0, 62,195, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, + 0, 0, 0, 0,189, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, + 0, 0, 0, 0,189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, + 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0,190, 0,163, 0,190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 95, 4, 0, 0, 95, 4, 0, 0, 7, 2, 0, 0, 60, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,144, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,143, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 4, 0, 0, 7, 2, 0, 0, 60, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 96, 4, 54, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 24,146, 70, 27, 1, 0, 0, 0, 68, 65, 84, 65,104, 3, 0, 0, 24,146, 70, 27, 1, 0, 0, 0, +153, 0, 0, 0, 1, 0, 0, 0,207, 1, 16, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 18, 2, 64, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 65,128,191, 0, 0,128,191, 0, 0, 0,128, 0, 0, 0,128, + 72, 1, 77,190, 0, 0, 0,128, 3, 79, 54, 63,198, 79,165,190,235,149, 31, 63, 0, 0, 0, 0,132,184, 51, 63, 40,177,167, 62, + 49,226, 33,191, 0, 0, 0, 0, 0, 0,128,177,160, 81, 99, 63,161,121,235, 62, 0, 0, 0, 0,147,251, 41,191, 99,175,244,190, + 37,188, 67,193, 0, 0,128, 63, 2, 79, 54, 63,134,184, 51, 63, 0, 0,128,179, 0, 0, 0, 0,199, 79,165,190, 40,177,167, 62, +162, 81, 99, 63, 0, 0, 0, 0,237,149, 31, 63, 51,226, 33,191,166,121,235, 62, 0, 0, 0, 0,154, 58,254, 64,161,159,227,192, + 17,159,193, 64, 0, 0,128, 63,119, 27,205, 62,119,252, 39,191,181,231, 31,191,235,149, 31,191, 31, 50,202, 62,181,103, 42, 63, + 41, 53, 34, 63, 49,226, 33, 63,207, 1, 16,177, 35,255,230, 63, 80,242,235,190,161,121,235,190,108, 61,191,190,212,164,120,191, +113,236, 64, 65, 37,188, 67, 65, 97, 11,162, 63,102,190,159, 63, 0, 0,192, 53, 0, 0,136, 52,244,173, 34,190,162, 5, 37, 62, + 32,179,223, 62, 0, 0,144, 50,215,187, 30,194, 63, 31, 14, 66,182,200,241,193,237,214,159,192,217,142, 28, 66,141,224, 11,194, +185,150,238, 65,216, 40,160, 64,212, 74, 95, 63,252, 54,208,189,132, 54, 13,191, 0, 0, 0, 0, 29,113, 41, 60, 2,228,130, 63, +216, 63, 48,190, 0, 0, 0, 0, 40,145, 15, 63, 42,156, 14, 62,140,113, 92, 63, 0, 0, 0, 0, 21,151, 49,192, 36, 79, 33, 63, +253,128, 66,193, 0, 0,128, 63, 86, 55,251, 62,100,149, 83,190,228,126, 13, 63,132, 54, 13, 63,156,161,190, 59, 34, 2, 5, 64, + 44,154, 48, 62,216, 63, 48, 62, 85,133,161, 62,210,234,144, 62,135,226, 92,191,140,113, 92,191,123,204,199,191, 66,235,163, 63, +167,176, 63, 65,253,128, 66, 65,146, 59, 57, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,146, 59, 57, 64, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,146, 59, 57, 64, 0, 0, 0, 0,209, 16,232,191, 98,117,149,191, + 65,119,130, 63, 0, 0,128, 63,101, 94, 74, 63,137, 44,246,190,238,224, 73,190,155,244,165,190,110, 81,166, 65,112,155, 74, 65, + 0, 0, 0, 0, 0, 0, 0, 0,100, 10, 80, 59, 66, 7, 11, 62, 65, 7,139,190, 0, 0, 0, 0,236,255,255,255, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,128, 63, +246, 99, 26, 66,239, 62,118, 66, 24,120,132, 66, 0, 0, 0, 0, 68, 65, 84, 65, 72, 1, 0, 0,200,149, 70, 27, 1, 0, 0, 0, +154, 0, 0, 0, 1, 0, 0, 0, 56, 38,106, 3, 1, 0, 0, 0, 56,138, 70, 27, 1, 0, 0, 0,232,138, 70, 27, 1, 0, 0, 0, +168,144, 70, 27, 1, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 7, 0, + 56,114,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 3, 0, + 0, 0, 8, 24, 0, 0, 0, 0, 0, 0, 12, 66, 0, 0,128, 63, 0, 0,128, 63,205,204,204, 61, 0, 64,156, 69, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 3, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,151, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,200,152, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 78, 68, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,140, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 4, 0, 0, + 0, 0, 0, 0, 25, 0, 0, 0, 0,224,197, 68, 0, 0,200, 65, 0,224,197, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 96, 4, 26, 0, 96, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 96, 4, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,152, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 56,154, 70, 27, 1, 0, 0, 0, 88,151, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 60, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,154, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,168,155, 70, 27, 1, 0, 0, 0,200,152, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 95, 4, 0, 0, 95, 4, 0, 0, 26, 0, 0, 0, 60, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 7, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,155, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,154, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, + 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 24,191, 0, 0,204, 63, 0,192,136,191, 0, 96, 4, 64, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 4, 0, 0, + 0, 0, 0, 0, 35, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 4, 0, 0, 26, 0, 0, 0, 60, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 96, 4, 35, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 33, 0, 0, 56, 38,106, 3, 1, 0, 0, 0, +164, 0, 0, 0, 1, 0, 0, 0,248,159, 70, 27, 1, 0, 0, 0,200,149, 70, 27, 1, 0, 0, 0, 88,151, 70, 27, 1, 0, 0, 0, +168,155, 70, 27, 1, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,216,164, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 65, 0, 0, 0, 0,154,153,153, 62, + 0, 0, 0, 0,100, 0, 0, 0,154,153,153, 62,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 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,100, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,157, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,136,158, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 48, 68, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,198, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 6, 0, 0, + 0, 0, 0, 0, 25, 0, 0, 0, 0,224,197, 68, 0, 0,200, 65, 0,224,197, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 48, 6, 26, 0, 48, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 6, 0, 0, 93, 0, 0, 0,118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 48, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,158, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,157, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0,128,241, 67, + 0,128, 90,196, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,195, 68, 0, 64,111,196, 0, 0, 0, 0, 31, 6, 0, 0, 48, 6, 0, 0, + 18, 0, 0, 0,206, 3, 0, 0, 0, 0, 0, 0, 30, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 30, 6, 0, 0, + 18, 0, 0, 0,206, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 18, 6, 0, 0, 2, 0, 3, 3, 0, 0, 0, 4, 6, 0, 48, 6,207, 3, 31, 6,189, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 6, 0, 0,119, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 48, 6,207, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,248,159, 70, 27, 1, 0, 0, 0, +163, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 38,106, 3, 1, 0, 0, 0, 24,157, 70, 27, 1, 0, 0, 0, +136,158, 70, 27, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 1, 0, 0, 0, + 83, 78, 0, 0,216, 0, 0, 0, 88,161, 70, 27, 1, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0, 56,239, 70, 27, 1, 0, 0, 0, +200, 23,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 71, 97,109,101, 32, 76, +111,103,105, 99, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +120,162, 70, 27, 1, 0, 0, 0, 88,167, 70, 27, 1, 0, 0, 0,184,167, 70, 27, 1, 0, 0, 0,120,176, 70, 27, 1, 0, 0, 0, +232,176, 70, 27, 1, 0, 0, 0,120,232, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56,106,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120,162, 70, 27, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0,216,162, 70, 27, 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, 68, 65, 84, 65, 32, 0, 0, 0,216,162, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, + 56,163, 70, 27, 1, 0, 0, 0,120,162, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0, 56,163, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,152,163, 70, 27, 1, 0, 0, 0, +216,162, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, +152,163, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,248,163, 70, 27, 1, 0, 0, 0, 56,163, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248,163, 70, 27, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0, 88,164, 70, 27, 1, 0, 0, 0,152,163, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88,164, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, +184,164, 70, 27, 1, 0, 0, 0,248,163, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 70, 4, 1, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0,184,164, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 24,165, 70, 27, 1, 0, 0, 0, + 88,164, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,172, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, + 24,165, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,120,165, 70, 27, 1, 0, 0, 0,184,164, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 24, 6,172, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120,165, 70, 27, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0,216,165, 70, 27, 1, 0, 0, 0, 24,165, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 24, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216,165, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, + 56,166, 70, 27, 1, 0, 0, 0,120,165, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7,172, 1, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0, 56,166, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,152,166, 70, 27, 1, 0, 0, 0, +216,165, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 5,172, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, +152,166, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,248,166, 70, 27, 1, 0, 0, 0, 56,166, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56, 5, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248,166, 70, 27, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0, 88,167, 70, 27, 1, 0, 0, 0,152,166, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 64, 1,172, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88,167, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,248,166, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 1, 70, 4, 1, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,184,167, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 40,168, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,216,162, 70, 27, 1, 0, 0, 0, 56,163, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 40,168, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,152,168, 70, 27, 1, 0, 0, 0, +184,167, 70, 27, 1, 0, 0, 0,216,162, 70, 27, 1, 0, 0, 0,248,163, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,152,168, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 8,169, 70, 27, 1, 0, 0, 0, + 40,168, 70, 27, 1, 0, 0, 0, 56,163, 70, 27, 1, 0, 0, 0, 88,164, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 8,169, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,120,169, 70, 27, 1, 0, 0, 0, +152,168, 70, 27, 1, 0, 0, 0,248,163, 70, 27, 1, 0, 0, 0, 88,164, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,120,169, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,232,169, 70, 27, 1, 0, 0, 0, + 8,169, 70, 27, 1, 0, 0, 0,248,163, 70, 27, 1, 0, 0, 0,184,164, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,232,169, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 88,170, 70, 27, 1, 0, 0, 0, +120,169, 70, 27, 1, 0, 0, 0,184,164, 70, 27, 1, 0, 0, 0, 24,165, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 88,170, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,200,170, 70, 27, 1, 0, 0, 0, +232,169, 70, 27, 1, 0, 0, 0,152,163, 70, 27, 1, 0, 0, 0,120,165, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,200,170, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 56,171, 70, 27, 1, 0, 0, 0, + 88,170, 70, 27, 1, 0, 0, 0, 24,165, 70, 27, 1, 0, 0, 0,120,165, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 56,171, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,168,171, 70, 27, 1, 0, 0, 0, +200,170, 70, 27, 1, 0, 0, 0,120,162, 70, 27, 1, 0, 0, 0,184,164, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,168,171, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 24,172, 70, 27, 1, 0, 0, 0, + 56,171, 70, 27, 1, 0, 0, 0,120,162, 70, 27, 1, 0, 0, 0,120,165, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 24,172, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,136,172, 70, 27, 1, 0, 0, 0, +168,171, 70, 27, 1, 0, 0, 0, 88,164, 70, 27, 1, 0, 0, 0,216,165, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,136,172, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,248,172, 70, 27, 1, 0, 0, 0, + 24,172, 70, 27, 1, 0, 0, 0,152,163, 70, 27, 1, 0, 0, 0,216,165, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,248,172, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,104,173, 70, 27, 1, 0, 0, 0, +136,172, 70, 27, 1, 0, 0, 0, 24,165, 70, 27, 1, 0, 0, 0,216,165, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,104,173, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,216,173, 70, 27, 1, 0, 0, 0, +248,172, 70, 27, 1, 0, 0, 0, 56,166, 70, 27, 1, 0, 0, 0,152,166, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,216,173, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 72,174, 70, 27, 1, 0, 0, 0, +104,173, 70, 27, 1, 0, 0, 0, 88,164, 70, 27, 1, 0, 0, 0,152,166, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 72,174, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,184,174, 70, 27, 1, 0, 0, 0, +216,173, 70, 27, 1, 0, 0, 0,216,165, 70, 27, 1, 0, 0, 0, 56,166, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,184,174, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 40,175, 70, 27, 1, 0, 0, 0, + 72,174, 70, 27, 1, 0, 0, 0,184,164, 70, 27, 1, 0, 0, 0,248,166, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 40,175, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,152,175, 70, 27, 1, 0, 0, 0, +184,174, 70, 27, 1, 0, 0, 0, 56,166, 70, 27, 1, 0, 0, 0,248,166, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,152,175, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 8,176, 70, 27, 1, 0, 0, 0, + 40,175, 70, 27, 1, 0, 0, 0,248,163, 70, 27, 1, 0, 0, 0, 88,167, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 8,176, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,120,176, 70, 27, 1, 0, 0, 0, +152,175, 70, 27, 1, 0, 0, 0,152,166, 70, 27, 1, 0, 0, 0, 88,167, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,120,176, 70, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 8,176, 70, 27, 1, 0, 0, 0,248,166, 70, 27, 1, 0, 0, 0, 88,167, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,160, 0, 0, 0,232,176, 70, 27, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,168,180, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,248,163, 70, 27, 1, 0, 0, 0,216,162, 70, 27, 1, 0, 0, 0, 56,163, 70, 27, 1, 0, 0, 0, + 88,164, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 97, 4, 0, 0, + 7, 7,119, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,238, 70, 27, 1, 0, 0, 0, +184,238, 70, 27, 1, 0, 0, 0,200,177, 70, 27, 1, 0, 0, 0, 56,179, 70, 27, 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, 68, 65, 84, 65, 40, 1, 0, 0, +200,177, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,179, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,238, 68, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,119, 7, 26, 0,119, 7, 26, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 96, 4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, + 56,179, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,177, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0, +112, 7, 0, 0,129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, + 0, 0, 0, 0,111, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 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, 97, 4, 0, 0, 97, 4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, +168,180, 70, 27, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 40,205, 70, 27, 1, 0, 0, 0,232,176, 70, 27, 1, 0, 0, 0, +120,165, 70, 27, 1, 0, 0, 0, 24,165, 70, 27, 1, 0, 0, 0,216,165, 70, 27, 1, 0, 0, 0,152,163, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 25, 6, 0, 0,118, 7, 0, 0, 0, 0, 0, 0,171, 1, 0, 0, 4, 4, 94, 1,172, 1, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,203, 70, 27, 1, 0, 0, 0,232,203, 70, 27, 1, 0, 0, 0, +136,181, 70, 27, 1, 0, 0, 0,248,182, 70, 27, 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, 68, 65, 84, 65, 40, 1, 0, 0,136,181, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,248,182, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 67, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,175, 67, 0, 0, 0, 0, 0, 0,248, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, + 0, 0, 0, 0, 30, 0, 0, 0, 0,128,137, 67, 0, 0,200, 65, 0,128,137, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 94, 1, 31, 0, 94, 1, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 25, 6, 0, 0,118, 7, 0, 0,141, 1, 0, 0,171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 31, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248,182, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,181, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0,128,174, 67, + 0,128, 86,196, 0, 0, 0, 0, 0, 0, 0, 0,255,127,166, 67,255,127,198,195, 0, 0, 0, 0, 77, 1, 0, 0, 94, 1, 0, 0, + 0, 0, 0, 0,140, 1, 0, 0, 0, 0, 0, 0, 78, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 76, 1, 0, 0, + 0, 0, 0, 0,140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, + 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0, 94, 1,141, 1, 77, 1,141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 25, 6, 0, 0,118, 7, 0, 0, 0, 0, 0, 0,140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 94, 1,141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +104,184, 70, 27, 1, 0, 0, 0, 72,202, 70, 27, 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, 68, 65, 84, 65, 88, 1, 0, 0,104,184, 70, 27, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 8,186, 70, 27, 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, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255, 76, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 8,186, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,168,187, 70, 27, 1, 0, 0, 0, +104,184, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 76, 1, 61, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,168,187, 70, 27, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 72,189, 70, 27, 1, 0, 0, 0, 8,186, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 72,189, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,232,190, 70, 27, 1, 0, 0, 0, +168,187, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111, 110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,140, 1,126, 0,203, - 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254, 76, 1,203, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,213, 13, 48, 0, 0, 0,193, 0, 0, 0, 1, 4,213, 14,160, - 4,213, 11,192, 9, 88,253,176, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105, -110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105, -110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,232,190, 70, 27, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,136,192, 70, 27, 1, 0, 0, 0, 72,189, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 58, 1,126, 0, 58, 0, 20, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, - 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 64, 4,213, 14,160, 0, 0, 0,193, 0, 0, 0, 1, 4,213, 16, 16, 4,213, 13, 48, 9, 88,255, 96, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,254, 34, 1,126, 0, 0, 0, 20, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254, 76, 1, 58, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,213, 16, 16, 0, 0, 0,193, - 0, 0, 0, 1, 4,213, 17,128, 4,213, 14,160, 9, 88,245, 64, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, - 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, - 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,164, 1,126, 0,102, 0, 0, 0, 0, - 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,136,192, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 40,194, 70, 27, 1, 0, 0, 0, +232,190, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,117,108,108, 32, 83, 97,109, +112,108,101, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254, 76, 1, 0, 0, + 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,213, 17,128, 0, 0, 0,193, 0, 0, 0, 1, 4,213, 18,240, 4,213, 16, 16, - 9, 88,250, 80, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 40,194, 70, 27, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,200,195, 70, 27, 1, 0, 0, 0,136,192, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253, 10, 1,126, 0,130, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 7, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164,253, 76, 1,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, - 4,213, 18,240, 0, 0, 0,193, 0, 0, 0, 1, 4,213, 20, 96, 4,213, 17,128, 9, 88,246,240, 0, 0, 0, 0, 82, 69, 78, 68, - 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, - 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102, -111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,242, - 1,126, 0, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,200,195, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,104,197, 70, 27, 1, 0, 0, 0, + 40,194, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,253, 76, 1,130, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,213, 20, 96, 0, 0, 0,193, 0, 0, 0, 1, - 4,213, 21,208, 4,213, 18,240, 9, 88,248,160, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112, -114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112, -114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,103, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,104,197, 70, 27, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 8,199, 70, 27, 1, 0, 0, 0,200,195, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,218, 1,126, 0, 0, 0, 0, 0, 0, 0, 4, 0, 6, - 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,252, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 4,213, 21,208, 0, 0, 0,193, 0, 0, 0, 1, 4,213, 23, 64, 4,213, 20, 96, 9, 89, 2, 48, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,252,194, 1,126, 0, 0, 0, 20, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 8,199, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,168,200, 70, 27, 1, 0, 0, 0, +104,197, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, + 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218,252, 76, 1, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,213, 23, 64, - 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 4,213, 21,208, 9, 89, 3,224, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,168,200, 70, 27, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 72,202, 70, 27, 1, 0, 0, 0, 8,199, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,252, 76, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 72,202, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +168,200, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,170, 1,126, 0, 0, - 0, 0, 0, 0, 0, 4, 0, 7, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,252, 76, 1, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,216, 4,213, 24,176, 0, 0, 0,159, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,232,203, 70, 27, 1, 0, 0, 0, +159, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, - 0, 0, 0, 0, 10, 62,134, 96, 0, 0, 21,255, 0, 0, 0,160, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 4,213, 30, 96, - 0, 0, 0,194, 0, 0, 0, 1, 4,213, 37,192, 4,213, 4,160, 4,212,251, 16, 4,212,251,208, 4,212,249,208, 4,212,250,144, - 0, 0, 0, 0, 0, 0, 2,249, 0, 0, 5,239, 0, 0, 1,145, 0, 0, 4, 19, 1, 1, 2,247, 2,131, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 23,124, 16, 4,213, 36,144, 4,213, 36,144, 4,213, 30,240, 4,213, 35,112, 0, 0, 0, 0, 0, 0, 0, 0, - 4,217, 14, 64, 4,218,186,224, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 30,240, 0, 0, 0,195, 0, 0, 0, 1, 4,213, 32, 16, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 98, 64, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68, 61,192, 0, 0, 0, 0, 0, - 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,246, 0, 0, 0, 0, 0, 0, 0, 25, 68,237,128, 0, 65,200, 0, 0, 68,237,128, 0, - 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 2,247, 0, 26, 2,247, - 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,249, 0, 0, 5,239, 0, 0, 1,145, 0, 0, 1,170, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,247, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,131,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 32, 16, - 0, 0, 0,195, 0, 0, 0, 1, 4,213, 33, 48, 4,213, 30,240, 0, 0, 0, 0, 67, 15, 0, 0,196, 70, 64, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67, 15, 0, 0,196, 70,127,255, 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 3, 43, - 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 3, 43, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 7, - 0, 18, 0, 0, 0, 6, 0,160, 3, 44, 0,143, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,249, - 0, 0, 2,249, 0, 0, 1,171, 0, 0, 4, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2,105, - 0, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,129, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,248, 4,213, 33, 48, 0, 0, 0,195, 0, 0, 0, 1, 4,213, 34, 80, 4,213, 32, 16, 0, 0, 0, 0, - 67, 16, 0, 0,194,206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 16,102,231,194,206, 0, 0, 0, 0, 0, 0, 0, 0, 0,143, - 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, - 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, - 64, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,249, 0, 0, 5,239, 0, 0, 1,171, 0, 0, 1,171, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,129,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 34, 80, 0, 0, 0,195, 0, 0, 0, 1, - 4,213, 35,112, 4,213, 33, 48, 0, 0, 0, 0, 67, 35, 0, 0,196,142,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 35, 0, 0, -196, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 2,121, 0, 0, 0, 0, 0, 0, 0,162, - 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 2,121, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, - 2,122, 0,163, 2,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,239, 0, 0, 5,239, 0, 0, 1,171, - 0, 0, 4, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,125, 96, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, - 4,213, 35,112, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,213, 34, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,160, 0, 0, 0, 40,205, 70, 27, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,136,212, 70, 27, 1, 0, 0, 0, +168,180, 70, 27, 1, 0, 0, 0,120,162, 70, 27, 1, 0, 0, 0,184,164, 70, 27, 1, 0, 0, 0, 24,165, 70, 27, 1, 0, 0, 0, +120,165, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 6, 0, 0, 0, 0, 0, 0,171, 1, 0, 0, + 17, 17, 24, 6,172, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,211, 70, 27, 1, 0, 0, 0, +248,211, 70, 27, 1, 0, 0, 0, 8,206, 70, 27, 1, 0, 0, 0,136,210, 70, 27, 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, 68, 65, 84, 65, 40, 1, 0, 0, + 8,206, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120,207, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,151, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,195, 68, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 23, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 63, 68, 0, 0,200, 65, 0,192, 63, 68, 0, 0,200, 65, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 24, 6, 26, 0, 24, 6, 26, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, +120,207, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,210, 70, 27, 1, 0, 0, 0, 8,206, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 92, 67, 0, 0,201,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 67, 0, 0,201,195, 0, 0, 0, 0, +203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0,145, 1, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, + 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0,145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,220, 0,146, 1,203, 0,146, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,219, 0, 0, 0, 26, 0, 0, 0,171, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0,146, 1, 0, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,232,208, 70, 27, 1, 0, 0, 0,232,208, 70, 27, 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, 68, 65, 84, 65, 88, 1, 0, 0, +232,208, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 79, 71, 73, 67, 95, 80, 84, 95,112,114,111,112,101,114,116, +105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 79, 71, 73, 67, 95, 80, 84, 95,112,114,111,112,101,114,116, +105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196,255,203, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,210, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,120,207, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 68, 0, 0, 0, 0, 0, 0,112, 67, + 0, 80, 31,195, 0,234,179, 68, 1, 0,224,194, 0, 0,176, 67, 43, 5, 0, 0, 60, 5, 0, 0, 18, 0, 0, 0,145, 1, 0, 0, + 0, 0, 0, 0, 42, 5, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 42, 5, 0, 0, 18, 0, 0, 0,145, 1, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,250, 70, 0, 0,250, 70, 0, 0, 0, 63, 72,225,154, 63, 10, 0, 0, 0, 0, 0, 3, 0, + 0, 0, 0, 4, 0, 0, 60, 5,146, 1, 43, 5,128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +220, 0, 0, 0, 23, 6, 0, 0, 26, 0, 0, 0,171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 60, 5,146, 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, 2,249, 0, 0, 5,239, 0, 0, 1,171, 0, 0, 4, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2,247, 2,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 23,124,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2,152,144, 32, 68, 65, 84, 65, 0, 0, 3, 68, 2,152,144, 32, 0, 0, 0,153, 0, 0, 0, 1, 63,140, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,172, 56,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -191,128, 1, 80,191,128, 0, 0,128, 0, 0, 0,128, 0, 0, 0,188,163,215,226,128, 0, 0, 0, 62,209,239, 68,190,205,177, 51, - 63, 81,158,184, 0, 0, 0, 0, 63,105,119, 70, 62, 70, 74,143,190,185, 44, 35, 0, 0, 0, 0,188, 89, 84,162, 63,101, 33,166, - 62,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193,111,211,214, 63,128, 0, 0, 62,209,239, 69, 63,105,119, 70, -188, 89, 84,176, 0, 0, 0, 0,190,205,177, 53, 62, 70, 74,142, 63,101, 33,166, 0, 0, 0, 0, 63, 81,158,185,190,185, 44, 35, - 62,228, 61, 43, 0, 0, 0, 0, 65, 68, 96,164,192,173,121,111, 64,213,209,248, 63,128, 0, 0, 62,229,157,178,191, 10, 96,101, -191, 81,160,222,191, 81,158,184, 63,127, 90,117, 62,133,101,205, 62,185, 46, 9, 62,185, 44, 35,188,109,180,145, 63,154, 37, 28, -190,228, 63,129,190,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 65,111,132, 96, 65,111,211,214, 62,191,236,217, 63, 85,117, 54, -188, 70,247, 0,182, 32,192, 0,190,152,221,112, 62, 19, 93,163, 63, 42, 77, 51, 54, 4, 32, 0,196, 25,104,215, 67,135,132,133, -195,167, 9, 37,194, 71,252,136, 68, 25, 54, 3,195,135, 87,158, 67,166,209,205, 66, 71,254,151, 62,209,239, 68,190,205,177, 51, - 63, 81,158,184, 0, 0, 0, 0, 63,105,119, 70, 62, 70, 74,143,190,185, 44, 35, 0, 0, 0, 0,188, 89, 84,162, 63,101, 33,166, - 62,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193,111,211,214, 63,128, 0, 0, 62,229,157,178,191, 10, 96,101, -191, 81,160,222,191, 81,158,184, 63,127, 90,117, 62,133,101,205, 62,185, 46, 9, 62,185, 44, 35,188,109,180,145, 63,154, 37, 28, -190,228, 63,129,190,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 65,111,132, 96, 65,111,211,214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 55, 62, 92,190,224,186, 56, -190,148,203,237,190,234,236, 3, 65,111,211,214, 65,111,211,214, 0, 0, 0, 0, 0, 0, 0, 0, 59, 29,227,107, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 0, 0, 0,248,211, 70, 27, 1, 0, 0, 0,172, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 7, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,136,212, 70, 27, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, + 40,219, 70, 27, 1, 0, 0, 0, 40,205, 70, 27, 1, 0, 0, 0, 56,166, 70, 27, 1, 0, 0, 0,152,166, 70, 27, 1, 0, 0, 0, + 88,164, 70, 27, 1, 0, 0, 0,216,165, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 5, 0, 0,118, 7, 0, 0, +173, 1, 0, 0, 69, 4, 0, 0, 9, 9, 62, 2,153, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 72,216, 70, 27, 1, 0, 0, 0, 72,216, 70, 27, 1, 0, 0, 0,104,213, 70, 27, 1, 0, 0, 0,216,214, 70, 27, 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, + 68, 65, 84, 65, 40, 1, 0, 0,104,213, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,216,214, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,210, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128, 15, 68, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,181, 67, 0, 0,200, 65, + 0,128,181, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 62, 2, + 26, 0, 62, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 5, 0, 0,118, 7, 0, 0, +173, 1, 0, 0,198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 2, 26, 0, 0, 0, 1, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0,216,214, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +104,213, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0,128,181, 67, 0, 0, 0, 0, 0,128,218, 67, 0, 0, 0, 0,131,248, 1, 68, + 0, 0, 0, 0, 78,176, 16, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 2, 0, 0, 0, 0, 0, 0,126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 4, 10, 0, 62, 2, +127, 2, 62, 2,127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 5, 0, 0,118, 7, 0, 0, +199, 1, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 2,127, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,160, 2, 0, 0, 72,216, 70, 27, 1, 0, 0, 0,166, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4123,111 +4587,687 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 0, 4,213, 36,144, 0, 0, 0,154, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 63, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 65, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 7, 2,152,196, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0, 0, 0, 1, 0, 3, - 0, 0, 8, 8, 0, 0, 0, 0, 66, 12, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 60, 35,215, 10, 67,250, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 4,213, 37,192, 0, 0, 0,194, - 0, 0, 0, 1, 4,213, 42,112, 4,213, 30, 96, 4,212,248, 80, 4,212,250, 80, 4,212,250,144, 4,212,250, 16, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 5,239, 0, 0, 0, 0, 0, 0, 1,143, 18, 18, 5,240, 1,144, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 23,189, 16, 4,213, 40,224, 4,213, 40,224, 4,213, 38, 80, 4,213, 39,112, 0, 0, 0, 0, 0, 0, 0, 0, 10, 60, 69,128, - 10, 62,142,208, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 38, 80, 0, 0, 0,195, 0, 0, 0, 1, 4,213, 39,112, 0, 0, 0, 0, - 0, 0, 0, 0, 67,160,128, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,190, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 5,239, 0, 0, 0, 0, 0, 0, 0, 25, 68,189,224, 0, 65,200, 0, 0, 68,189,224, 0, 65,200, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 5,240, 0, 26, 5,240, 0, 26, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,239, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,240, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,190, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 39,112, 0, 0, 0,195, - 0, 0, 0, 1, 0, 0, 0, 0, 4,213, 38, 80, 0, 0, 0, 0, 68, 61,192, 0, 0, 0, 0, 0, 67, 79, 0, 0, 0, 0, 0, 0, - 68,187,224, 0, 0, 0, 0, 0, 67,187, 0, 0, 0, 0, 5,223, 0, 0, 5,240, 0, 0, 0, 0, 0, 0, 1,117, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,222, 0, 0, 0, 0, 0, 0, 1,117, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 2, 2, 0, 0, 0, 1, 3, 3, 0, 2, 4, 0, - 0, 10, 5,240, 1,118, 5,223, 1,118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,239, - 0, 0, 0, 26, 0, 0, 1,143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,240, 1,118, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,189,208, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, + 40,219, 70, 27, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,120,232, 70, 27, 1, 0, 0, 0,136,212, 70, 27, 1, 0, 0, 0, +248,166, 70, 27, 1, 0, 0, 0, 88,167, 70, 27, 1, 0, 0, 0,152,166, 70, 27, 1, 0, 0, 0, 56,166, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 65, 1, 0, 0, 55, 5, 0, 0,173, 1, 0, 0, 69, 4, 0, 0, 1, 1,247, 3,153, 2, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,230, 70, 27, 1, 0, 0, 0,232,230, 70, 27, 1, 0, 0, 0, + 8,220, 70, 27, 1, 0, 0, 0,200,225, 70, 27, 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, 68, 65, 84, 65, 40, 1, 0, 0, 8,220, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,120,221, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102, 68, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192,125, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,246, 3, 0, 0, + 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,247, 3, 26, 0,247, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 65, 1, 0, 0, 55, 5, 0, 0,173, 1, 0, 0,198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,247, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120,221, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,232,222, 70, 27, 1, 0, 0, 0, 8,220, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, + 0, 64, 70,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, + 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, + 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, + 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 65, 1, 0, 0, 65, 1, 0, 0,199, 1, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,127, 2, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232,222, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 88,224, 70, 27, 1, 0, 0, 0,120,221, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 67, + 0, 0,206,194, 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67, 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, + 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, + 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, + 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 65, 1, 0, 0, 55, 5, 0, 0,199, 1, 0, 0,199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,224, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,200,225, 70, 27, 1, 0, 0, 0,232,222, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, + 0,192,108,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0,128, 23,196, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, + 18, 0, 0, 0,111, 2, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, + 18, 0, 0, 0,111, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, + 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0,112, 2,163, 0, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 55, 5, 0, 0, 55, 5, 0, 0,199, 1, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,225, 70, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,224, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 65, 1, 0, 0, 55, 5, 0, 0,199, 1, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,247, 3,127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56,227, 70, 27, 1, 0, 0, 0, 68, 65, 84, 65,104, 3, 0, 0, 56,227, 70, 27, 1, 0, 0, 0, +153, 0, 0, 0, 1, 0, 0, 0,190, 35, 30, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 49,123, 61, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111, 18,131,187, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0,128, + 0, 0, 0,128, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63,190, 35, 30, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 49,123, 61, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111, 18,131,187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63,149, 53,207, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,115,130, 65, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,121,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63,190, 35, 30, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 49,123, 61, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111, 18,131,187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,149, 53,207, 65,214,211,111, 65, + 0, 0, 0, 0, 0, 0, 0, 0,240, 11, 81, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190, 1, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 1, 0, 0,232,230, 70, 27, 1, 0, 0, 0, +154, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0, + 56,114,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, + 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 12, 66, 0, 0,128, 63, 0, 0,128, 63,205,204,204, 61, 0, 0,250, 67, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,120,232, 70, 27, 1, 0, 0, 0, +194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,219, 70, 27, 1, 0, 0, 0,184,164, 70, 27, 1, 0, 0, 0, +248,163, 70, 27, 1, 0, 0, 0, 88,167, 70, 27, 1, 0, 0, 0,248,166, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 63, 1, 0, 0,173, 1, 0, 0, 69, 4, 0, 0, 3, 3, 64, 1,153, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56,236, 70, 27, 1, 0, 0, 0, 56,236, 70, 27, 1, 0, 0, 0, 88,233, 70, 27, 1, 0, 0, 0, +200,234, 70, 27, 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, 68, 65, 84, 65, 40, 1, 0, 0, 88,233, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, +200,234, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0, 0,160, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0, 0, 83, 67, 0, 0,200, 65, 0, 0, 83, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, + 4, 0, 12, 4, 10, 0, 64, 1, 26, 0, 64, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 63, 1, 0, 0,173, 1, 0, 0,198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 64, 1, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,234, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 88,233, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0,128,131, 67, 0, 0,228,194, 0, 0, 0, 0, + 0, 0, 0, 0, 0,128,151, 67, 0, 64, 27,196, 0, 0, 0, 0, 47, 1, 0, 0, 64, 1, 0, 0, 18, 0, 0, 0,126, 2, 0, 0, + 0, 0, 0, 0, 46, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 46, 1, 0, 0, 18, 0, 0, 0,126, 2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 18, 6, 0, 0, 2, 0, 3, 3, + 0, 0, 0, 4, 6, 0, 64, 1,127, 2, 47, 1,109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 63, 1, 0, 0,199, 1, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 64, 1,127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 56,236, 70, 27, 1, 0, 0, 0,163, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,147,166, 19, 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, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0, +200,147,166, 19, 1, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0,152,237, 70, 27, 1, 0, 0, 0, + 68, 65, 84, 65,224, 0, 0, 0,152,237, 70, 27, 1, 0, 0, 0,216, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 56,106,106, 3, 1, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0, 56,106,106, 3, 1, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0, + 56,106,106, 3, 1, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0, 56,106,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 24,169, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56,114,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 8,167, 71, 27, 1, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0, 56,106,106, 3, 1, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0, + 56,239, 70, 27, 1, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0,152, 67, 71, 27, 1, 0, 0, 0, 88,161, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 83, 99,114,105,112,116,105,110,103, 0,103, 46, 48, 48, + 49, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,240, 70, 27, 1, 0, 0, 0, +152,245, 70, 27, 1, 0, 0, 0,248,245, 70, 27, 1, 0, 0, 0,152,255, 70, 27, 1, 0, 0, 0, 8, 0, 71, 27, 1, 0, 0, 0, +120, 60, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,106,106, 3, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88,240, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, +184,240, 70, 27, 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, + 68, 65, 84, 65, 32, 0, 0, 0,184,240, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 24,241, 70, 27, 1, 0, 0, 0, + 88,240, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, + 24,241, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,120,241, 70, 27, 1, 0, 0, 0,184,240, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120,241, 70, 27, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0,216,241, 70, 27, 1, 0, 0, 0, 24,241, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +118, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216,241, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, + 56,242, 70, 27, 1, 0, 0, 0,120,241, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 4, 1, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0, 56,242, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,152,242, 70, 27, 1, 0, 0, 0, +216,241, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, +152,242, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,248,242, 70, 27, 1, 0, 0, 0, 56,242, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,232, 5, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248,242, 70, 27, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0, 88,243, 70, 27, 1, 0, 0, 0,152,242, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +232, 5, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88,243, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, +184,243, 70, 27, 1, 0, 0, 0,248,242, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 1, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0,184,243, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 24,244, 70, 27, 1, 0, 0, 0, + 88,243, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 5,184, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, + 24,244, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,120,244, 70, 27, 1, 0, 0, 0,184,243, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,244, 2, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120,244, 70, 27, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0,216,244, 70, 27, 1, 0, 0, 0, 24,244, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +244, 2,184, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216,244, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, + 56,245, 70, 27, 1, 0, 0, 0,120,244, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 5, 44, 3, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0, 56,245, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,152,245, 70, 27, 1, 0, 0, 0, +216,244, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 44, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, +152,245, 70, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,245, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,244, 2, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,245, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,104,246, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,240, 70, 27, 1, 0, 0, 0, + 24,241, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,246, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,216,246, 70, 27, 1, 0, 0, 0,248,245, 70, 27, 1, 0, 0, 0,184,240, 70, 27, 1, 0, 0, 0, +216,241, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,246, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 72,247, 70, 27, 1, 0, 0, 0,104,246, 70, 27, 1, 0, 0, 0, 24,241, 70, 27, 1, 0, 0, 0, + 56,242, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,247, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,184,247, 70, 27, 1, 0, 0, 0,216,246, 70, 27, 1, 0, 0, 0,216,241, 70, 27, 1, 0, 0, 0, + 56,242, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,247, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 40,248, 70, 27, 1, 0, 0, 0, 72,247, 70, 27, 1, 0, 0, 0, 56,242, 70, 27, 1, 0, 0, 0, +152,242, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,248, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,152,248, 70, 27, 1, 0, 0, 0,184,247, 70, 27, 1, 0, 0, 0,120,241, 70, 27, 1, 0, 0, 0, +248,242, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,248, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 8,249, 70, 27, 1, 0, 0, 0, 40,248, 70, 27, 1, 0, 0, 0, 88,240, 70, 27, 1, 0, 0, 0, + 88,243, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,249, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,120,249, 70, 27, 1, 0, 0, 0,152,248, 70, 27, 1, 0, 0, 0,216,241, 70, 27, 1, 0, 0, 0, + 88,243, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,249, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,232,249, 70, 27, 1, 0, 0, 0, 8,249, 70, 27, 1, 0, 0, 0,152,242, 70, 27, 1, 0, 0, 0, +184,243, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,249, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 88,250, 70, 27, 1, 0, 0, 0,120,249, 70, 27, 1, 0, 0, 0,248,242, 70, 27, 1, 0, 0, 0, +184,243, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,250, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,200,250, 70, 27, 1, 0, 0, 0,232,249, 70, 27, 1, 0, 0, 0, 88,240, 70, 27, 1, 0, 0, 0, + 24,244, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,250, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 56,251, 70, 27, 1, 0, 0, 0, 88,250, 70, 27, 1, 0, 0, 0,248,242, 70, 27, 1, 0, 0, 0, + 24,244, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,251, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,168,251, 70, 27, 1, 0, 0, 0,200,250, 70, 27, 1, 0, 0, 0, 88,243, 70, 27, 1, 0, 0, 0, +120,244, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,251, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 24,252, 70, 27, 1, 0, 0, 0, 56,251, 70, 27, 1, 0, 0, 0,184,243, 70, 27, 1, 0, 0, 0, +120,244, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,252, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,136,252, 70, 27, 1, 0, 0, 0,168,251, 70, 27, 1, 0, 0, 0, 24,244, 70, 27, 1, 0, 0, 0, +120,244, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,252, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,248,252, 70, 27, 1, 0, 0, 0, 24,252, 70, 27, 1, 0, 0, 0,248,242, 70, 27, 1, 0, 0, 0, +216,244, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,252, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,104,253, 70, 27, 1, 0, 0, 0,136,252, 70, 27, 1, 0, 0, 0,152,242, 70, 27, 1, 0, 0, 0, +216,244, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,253, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,216,253, 70, 27, 1, 0, 0, 0,248,252, 70, 27, 1, 0, 0, 0, 56,242, 70, 27, 1, 0, 0, 0, + 56,245, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,253, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 72,254, 70, 27, 1, 0, 0, 0,104,253, 70, 27, 1, 0, 0, 0,120,241, 70, 27, 1, 0, 0, 0, + 56,245, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,254, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,184,254, 70, 27, 1, 0, 0, 0,216,253, 70, 27, 1, 0, 0, 0,216,244, 70, 27, 1, 0, 0, 0, + 56,245, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,254, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 40,255, 70, 27, 1, 0, 0, 0, 72,254, 70, 27, 1, 0, 0, 0,216,241, 70, 27, 1, 0, 0, 0, +152,245, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,255, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0,152,255, 70, 27, 1, 0, 0, 0,184,254, 70, 27, 1, 0, 0, 0,152,242, 70, 27, 1, 0, 0, 0, +152,245, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,255, 70, 27, 1, 0, 0, 0, +192, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,255, 70, 27, 1, 0, 0, 0,120,244, 70, 27, 1, 0, 0, 0, +152,245, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 8, 0, 71, 27, 1, 0, 0, 0, +194, 0, 0, 0, 1, 0, 0, 0,200, 3, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,241, 70, 27, 1, 0, 0, 0, +184,240, 70, 27, 1, 0, 0, 0, 24,241, 70, 27, 1, 0, 0, 0, 56,242, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 97, 4, 0, 0, 7, 7,119, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 24, 67, 71, 27, 1, 0, 0, 0, 24, 67, 71, 27, 1, 0, 0, 0,232, 0, 71, 27, 1, 0, 0, 0, + 88, 2, 71, 27, 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, 68, 65, 84, 65, 40, 1, 0, 0,232, 0, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 88, 2, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0,224,238, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, + 4, 0, 12, 4, 10, 0,119, 7, 26, 0,119, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 96, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88, 2, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,232, 0, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, + 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, + 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 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, 97, 4, 0, 0, 97, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,200, 3, 71, 27, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, + 72, 28, 71, 27, 1, 0, 0, 0, 8, 0, 71, 27, 1, 0, 0, 0,248,242, 70, 27, 1, 0, 0, 0,216,244, 70, 27, 1, 0, 0, 0, + 56,245, 70, 27, 1, 0, 0, 0,120,241, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233, 5, 0, 0,118, 7, 0, 0, + 0, 0, 0, 0, 43, 3, 0, 0, 4, 4,142, 1, 44, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 8, 27, 71, 27, 1, 0, 0, 0, 8, 27, 71, 27, 1, 0, 0, 0,168, 4, 71, 27, 1, 0, 0, 0, 24, 6, 71, 27, 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, + 68, 65, 84, 65, 40, 1, 0, 0,168, 4, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24, 6, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,199, 67, + 0, 0, 0, 0, 0, 0,248, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,141, 1, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,128,137, 67, 0, 0,200, 65, + 0,128,137, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,142, 1, + 31, 0,142, 1, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233, 5, 0, 0,118, 7, 0, 0, + 13, 3, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 1, 31, 0, 0, 0, 1, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0, 24, 6, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +168, 4, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0,128,198, 67, 0,128, 86,196, 0, 0, 0, 0, 0, 0, 0, 0,254,127,190, 67, +254, 63, 67,196, 0, 0, 0, 0,125, 1, 0, 0,142, 1, 0, 0, 0, 0, 0, 0, 12, 3, 0, 0, 0, 0, 0, 0,126, 1, 0, 0, + 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 12, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,142, 1, + 13, 3,125, 1, 13, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233, 5, 0, 0,118, 7, 0, 0, + 0, 0, 0, 0, 12, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 1, 13, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 7, 71, 27, 1, 0, 0, 0,104, 25, 71, 27, 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, + 68, 65, 84, 65, 88, 1, 0, 0,136, 7, 71, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 40, 9, 71, 27, 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, 66, 85, 84, 84, 79, 78, 83, 95, + 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, + 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255,124, 1, 36, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 40, 9, 71, 27, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,200, 10, 71, 27, 1, 0, 0, 0,136, 7, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255,124, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,200, 10, 71, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,104, 12, 71, 27, 1, 0, 0, 0, + 40, 9, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255,124, 1, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,104, 12, 71, 27, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 8, 14, 71, 27, 1, 0, 0, 0,200, 10, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254,124, 1,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 8, 14, 71, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,168, 15, 71, 27, 1, 0, 0, 0, +104, 12, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, + 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254,124, 1, 58, 0, + 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,168, 15, 71, 27, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 72, 17, 71, 27, 1, 0, 0, 0, 8, 14, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 70,117,108,108, 32, 83, 97,109,112,108,101, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254,124, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0, 72, 17, 71, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,232, 18, 71, 27, 1, 0, 0, 0, +168, 15, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164,253,124, 1,102, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,232, 18, 71, 27, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,136, 20, 71, 27, 1, 0, 0, 0, 72, 17, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,253,124, 1,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,136, 20, 71, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 40, 22, 71, 27, 1, 0, 0, 0, +232, 18, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97, +110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,252,124, 1, 0, 0, + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 40, 22, 71, 27, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0,200, 23, 71, 27, 1, 0, 0, 0,136, 20, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110, +103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110, +103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218,252,124, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 88, 1, 0, 0,200, 23, 71, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,104, 25, 71, 27, 1, 0, 0, 0, + 40, 22, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, + 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,252,124, 1, 0, 0, + 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,104, 25, 71, 27, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 23, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,252,124, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,248, 0, 0, 0, 8, 27, 71, 27, 1, 0, 0, 0,159, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 72, 28, 71, 27, 1, 0, 0, 0, +194, 0, 0, 0, 1, 0, 0, 0, 72, 34, 71, 27, 1, 0, 0, 0,200, 3, 71, 27, 1, 0, 0, 0, 24,244, 70, 27, 1, 0, 0, 0, +120,244, 70, 27, 1, 0, 0, 0,184,243, 70, 27, 1, 0, 0, 0,248,242, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +245, 2, 0, 0,231, 5, 0, 0, 0, 0, 0, 0,183, 1, 0, 0, 18, 18,243, 2,184, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,120, 32, 71, 27, 1, 0, 0, 0,120, 32, 71, 27, 1, 0, 0, 0, 40, 29, 71, 27, 1, 0, 0, 0, +152, 30, 71, 27, 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, 68, 65, 84, 65, 40, 1, 0, 0, 40, 29, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, +152, 30, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 77, 68, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0,192, 60, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0,224,189, 68, 0, 0,200, 65, 0,224,189, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, + 4, 0, 12, 4, 10, 0,243, 2, 26, 0,243, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +245, 2, 0, 0,231, 5, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +243, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152, 30, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 40, 29, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0,128, 60, 68, 0, 0, 0, 0, 0, 0, 48, 65, + 0, 0, 0, 0, 0,128, 56, 68, 0, 0, 0, 0, 0, 0,207, 67,226, 2, 0, 0,243, 2, 0, 0, 0, 0, 0, 0,157, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,225, 2, 0, 0, 0, 0, 0, 0,157, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 2, 0, 0, 1, 0, 3, 3, + 2, 0, 0, 4, 10, 0,243, 2,158, 1,226, 2,158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +245, 2, 0, 0,231, 5, 0, 0, 26, 0, 0, 0,183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +243, 2,158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 32, 71, 27, 1, 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 40, 97,166, 19, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 40, 97,166, 19, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65,136, 1, 0, 0,120, 32, 71, 27, 1, 0, 0, 0,175, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 32, 71, 27, 1, 0, 0, 0, 8, 32, 71, 27, 1, 0, 0, 0, 62, 62, 62, 32, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 72, 34, 71, 27, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,152, 47, 71, 27, + 1, 0, 0, 0, 72, 28, 71, 27, 1, 0, 0, 0,120,244, 70, 27, 1, 0, 0, 0,152,245, 70, 27, 1, 0, 0, 0,152,242, 70, 27, + 1, 0, 0, 0,184,243, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 2, 0, 0,231, 5, 0, 0,185, 1, 0, 0, + 69, 4, 0, 0, 1, 1,243, 2,141, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 46, 71, 27, + 1, 0, 0, 0, 8, 46, 71, 27, 1, 0, 0, 0, 40, 35, 71, 27, 1, 0, 0, 0,232, 40, 71, 27, 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, 68, 65, 84, 65, - 0, 0, 0, 28, 4,213, 40,144, 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 4,209, 36, 64, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 4, 4,209, 36, 64, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1,104, 4,213, 40,224, 0, 0, 0,175, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 14, 0, 0, 0, 0, 9,188,198, 96, 9,188,196, 96, 4,213, 40,144, 4,213, 40,144, 62, 62, 62, 32, 0, 0, 0, 0, + 40, 1, 0, 0, 40, 35, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,152, 36, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 60, 68, 0, 0, 0, 0, + 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,242, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, + 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,243, 2, 26, 0,243, 2, + 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 2, 0, 0,231, 5, 0, 0,185, 1, 0, 0, +210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,243, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,121,116,104,111,110, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 42, 0, 0, 2, 42, - 68, 65, 84, 65, 0, 0, 0, 96, 4,213, 42,112, 0, 0, 0,194, 0, 0, 0, 1, 4,213, 47,112, 4,213, 37,192, 4,212,251, 80, - 4,212,249,208, 4,212,249,144, 4,212,251,144, 0, 0, 0, 0, 0, 0, 5,241, 0, 0, 7,128, 0, 0, 3, 69, 0, 0, 4, 19, - 3, 3, 1,144, 0,207, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,120, 80, 4,213, 45, 64, 4,213, 45, 64, 4,213, 43, 0, - 4,213, 44, 32, 0, 0, 0, 0, 0, 0, 0, 0, 10, 62,144,240, 4,217, 21,160, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 43, 0, - 0, 0, 0,195, 0, 0, 0, 1, 4,213, 44, 32, 0, 0, 0, 0, 0, 0, 0, 0, 67,244,128, 0, 0, 0, 0, 0, 65,208, 0, 0, - 0, 0, 0, 0, 67,200, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,143, 0, 0, 0, 0, 0, 0, 0, 25, - 67,149,128, 0, 65,200, 0, 0, 67,149,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, - 0, 4, 4, 12, 0, 10, 1,144, 0, 26, 1,144, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,241, - 0, 0, 7,128, 0, 0, 3, 69, 0, 0, 3, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,144, 0, 26, - 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,121,160, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,248, 4,213, 44, 32, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,213, 43, 0, 0, 0, 0, 0, - 67,131,128, 0,194,232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,191,128, 0,195, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1,127, - 0, 0, 1,144, 0, 0, 0, 18, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 1,126, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, - 0, 0, 1,126, 0, 0, 0, 18, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 6, 18, 0, 0, 0, 2, 3, 3, 0, 0, 4, 12, 0, 6, 1,144, 0,181, 1,127, 0,163, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,241, 0, 0, 7,128, 0, 0, 3, 95, 0, 0, 4, 19, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1,144, 0,181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,121, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,244, 4,213, 45, 64, 0, 0, 0,163, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,188,191,144, 9,188,191,144, 4,213, 46, 96, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 0, 0, 0, 12, 4,213, 46, 96, - 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 4,213, 46,160, 68, 65, 84, 65, 0, 0, 0,168, 4,213, 46,160, - 0, 0, 0,216, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 1, 2,152,190, 32, 0, 19, 0, 0, 0, 1, 0, 1, 2,152,190, 32, - 0, 20, 0, 0, 0, 1, 0, 1, 2,152,190, 32, 0, 21, 0, 1, 0, 1, 0, 0, 2,152,190, 32, 0, 0, 0, 0, 0, 1, 0, 1, - 4,213,120,240, 0, 0, 0, 0, 0, 1, 0, 1, 2,152,202, 32, 0, 0, 0, 0, 0, 1, 0, 1, 4,213,128,192, 0, 0, 0, 0, - 0, 1, 0, 1, 2,152,214, 32, 0, 0, 0, 0, 0, 1, 0, 1, 4,213,127, 16, 0, 0, 0, 0, 0, 1, 0, 1, 2,152,208, 32, - 0, 0, 0, 0, 0, 1, 0, 1, 4,213,117,128, 0, 0, 0, 0, 0, 1, 0, 1, 2,152,196, 32, 0, 0, 0, 0, 0, 1, 0, 1, - 4,213,116,240, 0, 21, 0, 0, 0, 1, 0, 1, 2,152,190, 32, 68, 65, 84, 65, 0, 0, 0, 96, 4,213, 47,112, 0, 0, 0,194, - 0, 0, 0, 1, 0, 0, 0, 0, 4,213, 42,112, 4,212,250, 80, 4,212,249, 80, 4,212,251,208, 4,212,251, 16, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2,247, 0, 0, 1,145, 0, 0, 4, 19, 9, 9, 2,248, 2,131, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 23,181, 48, 2,152,148, 32, 2,152,148, 32, 4,213, 48, 0, 4,213, 49, 32, 0, 0, 0, 0, 0, 0, 0, 0, 10, 60, 74, 16, - 10, 60, 74,208, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 48, 0, 0, 0, 0,195, 0, 0, 0, 1, 4,213, 49, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 67,230, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68, 62, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2,247, 0, 0, 0, 0, 0, 0, 0, 25, 68,189,224, 0, 65,200, 0, 0, 68,189,224, 0, 65,200, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 2,248, 0, 26, 2,248, 0, 26, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,247, 0, 0, 1,145, 0, 0, 1,170, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,248, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,183, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 49, 32, 0, 0, 0,195, - 0, 0, 0, 1, 0, 0, 0, 0, 4,213, 48, 0, 0, 0, 0, 0, 68,189,224, 0, 0, 0, 0, 0, 68, 22,192, 0, 68, 23,150,248, - 68,100, 41, 8, 67, 49, 44,113, 67,212,233,200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,247, 0, 0, 0, 0, 0, 0, 2,104, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 35,215, 10, 68,122, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, - 0, 10, 2,248, 2,105, 2,248, 2,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,247, - 0, 0, 1,171, 0, 0, 4, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,248, 2,105, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,181,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 2,136, 2,152,148, 32, 0, 0, 0,166, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 32, 0, 0, 0, 0, 0, 12, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, - 61,204,204,205, 0, 0, 1,231, 0, 0, 1,243, 0, 0, 1,122, 0, 0, 1,124, 0, 0, 1,231, 0, 0, 1,243, 0, 0, 0, 4, - 0, 0, 1,124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 40, 1, 0, 0,152, 36, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 8, 38, 71, 27, 1, 0, 0, 0, 40, 35, 71, 27, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,255,127, 70,196, + 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 44, 3,143, 0, + 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 2, 0, 0,245, 2, 0, 0,211, 1, 0, 0, + 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,115, 2, 0, 0, 5, 0, 3, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 1, 0, 0, 8, 38, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120, 39, 71, 27, 1, 0, 0, 0,152, 36, 71, 27, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 67, 0, 0,206,194, 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67, 0, 0,206,194, + 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0, +102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 2, 0, 0,231, 5, 0, 0,211, 1, 0, 0, +211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 1, 0, 0,120, 39, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,232, 40, 71, 27, 1, 0, 0, 0, 8, 38, 71, 27, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0,128,142,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0, 0, 26,196, + 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0,121, 2, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 0,121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0,122, 2,163, 0, +104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,231, 5, 0, 0,231, 5, 0, 0,211, 1, 0, 0, + 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 40, 1, 0, 0,232, 40, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 39, 71, 27, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 2, 0, 0,231, 5, 0, 0,211, 1, 0, 0, + 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,243, 2,115, 2, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 42, 71, 27, 1, 0, 0, 0, 68, 65, 84, 65, +104, 3, 0, 0, 88, 42, 71, 27, 1, 0, 0, 0,153, 0, 0, 0, 1, 0, 0, 0, 1, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,159,148,168, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 1,128,191, + 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0,225,215,163,188, 0, 0, 0, 0, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, + 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63, 69,239,209, 62, 70,119,105, 63,176, 84, 89,188, + 0, 0, 0, 0, 53,177,205,190,142, 74, 70, 62,166, 33,101, 63, 0, 0, 0, 0,185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62, + 0, 0, 0, 0,164, 96, 68, 65,111,121,173,192,248,209,213, 64, 0, 0,128, 63,180,157,229, 62,180,115, 7,191,222,160, 81,191, +184,158, 81,191,118, 90,127, 63, 12,148,130, 62, 9, 46,185, 62, 35, 44,185, 62,147,180,109,188, 27,227,150, 63,129, 63,228,190, + 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 96,132,111, 65,214,211,111, 65,116,234,191, 62,189,117, 85, 63,128, 32, 71,188, + 0, 64,130,182,126, 42,156,190, 75,140, 22, 62,123,250, 45, 63, 0, 0, 2, 54,215,104, 25,196,135,132,135, 67, 37, 9,167,195, +136,252, 71,194, 3, 54, 25, 68,160, 87,135,195,205,209,166, 67,151,254, 71, 66, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, + 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63,180,157,229, 62,180,115, 7,191,222,160, 81,191, +184,158, 81,191,118, 90,127, 63, 12,148,130, 62, 9, 46,185, 62, 35, 44,185, 62,147,180,109,188, 27,227,150, 63,129, 63,228,190, + 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 96,132,111, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, + 3,236,234,190,214,211,111, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0,143,185, 30, 59, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 72, 1, 0, 0, 8, 46, 71, 27, 1, 0, 0, 0,154, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, + 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0, 56,114,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 12, 66, 0, 0,128, 63, 0, 0,128, 63, + 10,215, 35, 60, 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, +160, 0, 0, 0,152, 47, 71, 27, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,232, 53, 71, 27, 1, 0, 0, 0, 72, 34, 71, 27, + 1, 0, 0, 0, 88,240, 70, 27, 1, 0, 0, 0, 88,243, 70, 27, 1, 0, 0, 0,120,244, 70, 27, 1, 0, 0, 0, 24,244, 70, 27, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,243, 2, 0, 0, 0, 0, 0, 0,183, 1, 0, 0, 18, 18,244, 2, +184, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 52, 71, 27, 1, 0, 0, 0, 24, 52, 71, 27, + 1, 0, 0, 0,120, 48, 71, 27, 1, 0, 0, 0,232, 49, 71, 27, 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, 68, 65, 84, 65, 40, 1, 0, 0,120, 48, 71, 27, + 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,232, 49, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,232, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 61, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +243, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,189, 68, 0, 0,200, 65, 0,224,189, 68, 0, 0,200, 65, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,244, 2, 26, 0,244, 2, 26, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,243, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,244, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232, 49, 71, 27, + 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 48, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, + 0,192, 60, 68, 0, 0, 0, 0, 0, 0, 65, 67, 0, 0, 0, 0, 0,192, 56, 68, 0, 0, 0, 0, 0, 0,207, 67,227, 2, 0, 0, +244, 2, 0, 0, 0, 0, 0, 0,157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +226, 2, 0, 0, 0, 0, 0, 0,157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 2, 2, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,244, 2,158, 1,227, 2,158, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,243, 2, 0, 0, 26, 0, 0, 0,183, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,244, 2,158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88, 51, 71, 27, + 1, 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0,200, 51, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,200, 51, 71, 27, + 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,136, 1, 0, 0, 24, 52, 71, 27, 1, 0, 0, 0, +175, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 51, 71, 27, 1, 0, 0, 0, + 88, 51, 71, 27, 1, 0, 0, 0, 62, 62, 62, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,112,121,116,104,111,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,232, 53, 71, 27, 1, 0, 0, 0, +194, 0, 0, 0, 1, 0, 0, 0,120, 60, 71, 27, 1, 0, 0, 0,152, 47, 71, 27, 1, 0, 0, 0,216,244, 70, 27, 1, 0, 0, 0, +152,242, 70, 27, 1, 0, 0, 0, 56,242, 70, 27, 1, 0, 0, 0, 56,245, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +233, 5, 0, 0,118, 7, 0, 0, 45, 3, 0, 0, 69, 4, 0, 0, 3, 3,142, 1, 25, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,168, 57, 71, 27, 1, 0, 0, 0,168, 57, 71, 27, 1, 0, 0, 0,200, 54, 71, 27, 1, 0, 0, 0, + 56, 56, 71, 27, 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, 68, 65, 84, 65, 40, 1, 0, 0,200, 54, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 56, 56, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0, 0,199, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,141, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0,128,149, 67, 0, 0,200, 65, 0,128,149, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, + 4, 0, 12, 4, 10, 0,142, 1, 26, 0,142, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +233, 5, 0, 0,118, 7, 0, 0, 45, 3, 0, 0, 70, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +142, 1, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56, 56, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,200, 54, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0,128,131, 67, 0, 0,228,194, 0, 0, 0, 0, + 0, 0, 0, 0, 0,128,190, 67, 0, 0,109,195, 0, 0, 0, 0,125, 1, 0, 0,142, 1, 0, 0, 18, 0, 0, 0,254, 0, 0, 0, + 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 18, 0, 0, 0,254, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 18, 6, 0, 0, 2, 0, 3, 3, + 0, 0, 0, 4, 6, 0,142, 1,255, 0,125, 1,237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +233, 5, 0, 0,118, 7, 0, 0, 71, 3, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +142, 1,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,168, 57, 71, 27, 1, 0, 0, 0,163, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 59, 71, 27, 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, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0, + 8, 59, 71, 27, 1, 0, 0, 0,217, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0, 88, 59, 71, 27, 1, 0, 0, 0, + 68, 65, 84, 65,224, 0, 0, 0, 88, 59, 71, 27, 1, 0, 0, 0,216, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 56,106,106, 3, 1, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0, 56,106,106, 3, 1, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0, + 56,106,106, 3, 1, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0, 56,106,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 24,169, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56,114,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, + 8,167, 71, 27, 1, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0, 56,106,106, 3, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, +120, 60, 71, 27, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 53, 71, 27, 1, 0, 0, 0, + 88,243, 70, 27, 1, 0, 0, 0,216,241, 70, 27, 1, 0, 0, 0,152,245, 70, 27, 1, 0, 0, 0,120,244, 70, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,243, 2, 0, 0,185, 1, 0, 0, 69, 4, 0, 0, 9, 9,244, 2,141, 2, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 64, 71, 27, 1, 0, 0, 0, 56, 64, 71, 27, 1, 0, 0, 0, + 88, 61, 71, 27, 1, 0, 0, 0,200, 62, 71, 27, 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, 68, 65, 84, 65, 40, 1, 0, 0, 88, 61, 71, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,200, 62, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,210, 67, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 61, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,243, 2, 0, 0, + 0, 0, 0, 0, 25, 0, 0, 0, 0,224,189, 68, 0, 0,200, 65, 0,224,189, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,244, 2, 26, 0,244, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,243, 2, 0, 0,185, 1, 0, 0,210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,244, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200, 62, 71, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 61, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0,224,189, 68, + 0, 0, 0, 0, 0,192, 22, 68,248,150, 23, 68, 8, 41,100, 68,120,125, 46, 67, 68, 65,214, 67, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,243, 2, 0, 0, + 0, 0, 0, 0,114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68, + 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 4, 10, 0,244, 2,115, 2,244, 2,115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,243, 2, 0, 0,211, 1, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,244, 2,115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 2, 0, 0, 56, 64, 71, 27, 1, 0, 0, 0, +166, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 12, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,231, 1, 0, 0,243, 1, 0, 0,122, 1, 0, 0,124, 1, 0, 0, +231, 1, 0, 0,243, 1, 0, 0, 4, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4243,103 +5283,129 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 0,148, - 4,213, 50,160, 0, 0, 0,190, 0, 0, 0, 1, 4,213, 74,240, 4,212,247,144, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 85, 86, - 32, 69,100,105,116,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4,213, 51, 96, 4,213, 53, 32, 4,213, 53, 96, 4,213, 55,224, 4,213, 56, 32, 4,213, 64, 80, 0, 0, 0, 0, 0, 0, 0, 0, - 2,152,190, 32, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 20, 4,213, 51, 96, 0, 0, 0,191, 0, 0, 0, 1, 4,213, 51,160, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,213, 51,160, 0, 0, 0,191, 0, 0, 0, 1, 4,213, 51,224, - 4,213, 51, 96, 0, 0, 0, 0, 0, 0, 4, 97, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,213, 51,224, 0, 0, 0,191, - 0, 0, 0, 1, 4,213, 52, 32, 4,213, 51,160, 0, 0, 0, 0, 7,118, 4, 97, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, - 4,213, 52, 32, 0, 0, 0,191, 0, 0, 0, 1, 4,213, 52, 96, 4,213, 51,224, 0, 0, 0, 0, 7,118, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 20, 4,213, 52, 96, 0, 0, 0,191, 0, 0, 0, 1, 4,213, 52,160, 4,213, 52, 32, 0, 0, 0, 0, - 0, 0, 4, 70, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 4,213, 52,160, 0, 0, 0,191, 0, 0, 0, 1, 4,213, 52,224, - 4,213, 52, 96, 0, 0, 0, 0, 7,118, 4, 70, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 4,213, 52,224, 0, 0, 0,191, - 0, 0, 0, 1, 4,213, 53, 32, 4,213, 52,160, 0, 0, 0, 0, 3,196, 4, 70, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, - 4,213, 53, 32, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 0, 4,213, 52,224, 0, 0, 0, 0, 3,196, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 53, 96, 0, 0, 0,192, 0, 0, 0, 1, 4,213, 53,160, 0, 0, 0, 0, 4,213, 51,160, - 4,213, 51,224, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 53,160, 0, 0, 0,192, 0, 0, 0, 1, - 4,213, 53,224, 4,213, 53, 96, 4,213, 51,160, 4,213, 52, 96, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 4,213, 53,224, 0, 0, 0,192, 0, 0, 0, 1, 4,213, 54, 32, 4,213, 53,160, 4,213, 51,224, 4,213, 52,160, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 54, 32, 0, 0, 0,192, 0, 0, 0, 1, 4,213, 54, 96, 4,213, 53,224, - 4,213, 52, 96, 4,213, 52,160, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 54, 96, 0, 0, 0,192, - 0, 0, 0, 1, 4,213, 54,160, 4,213, 54, 32, 4,213, 52, 96, 4,213, 52,224, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 4,213, 54,160, 0, 0, 0,192, 0, 0, 0, 1, 4,213, 54,224, 4,213, 54, 96, 4,213, 51, 96, 4,213, 53, 32, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 54,224, 0, 0, 0,192, 0, 0, 0, 1, 4,213, 55, 32, - 4,213, 54,160, 4,213, 51, 96, 4,213, 52, 96, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 55, 32, - 0, 0, 0,192, 0, 0, 0, 1, 4,213, 55, 96, 4,213, 54,224, 4,213, 52,224, 4,213, 53, 32, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 55, 96, 0, 0, 0,192, 0, 0, 0, 1, 4,213, 55,160, 4,213, 55, 32, 4,213, 52,160, - 4,213, 52,224, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 55,160, 0, 0, 0,192, 0, 0, 0, 1, - 4,213, 55,224, 4,213, 55, 96, 4,213, 52, 32, 4,213, 53, 32, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 4,213, 55,224, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 0, 4,213, 55,160, 4,213, 52, 32, 4,213, 52,160, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 4,213, 56, 32, 0, 0, 0,194, 0, 0, 0, 1, 4,213, 58,240, 0, 0, 0, 0, - 4,213, 52, 96, 4,213, 51,160, 4,213, 51,224, 4,213, 52,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,118, 0, 0, 4, 71, - 0, 0, 4, 97, 7, 7, 7,119, 0, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 4,213, 74,144, 4,213, 74,144, - 4,213, 56,176, 4,213, 57,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, - 4,213, 56,176, 0, 0, 0,195, 0, 0, 0, 1, 4,213, 57,208, 0, 0, 0, 0, 0, 0, 0, 0, 68,148, 32, 0, 0, 0, 0, 0, - 65,208, 0, 0, 0, 0, 0, 0, 68,238,224, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,118, 0, 0, 0, 0, - 0, 0, 0, 25, 68,237,128, 0, 65,200, 0, 0, 68,237,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 7,119, 0, 26, 7,119, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7,118, 0, 0, 4, 71, 0, 0, 4, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7,119, 0, 26, 0, 0, 0, 1, 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, 83, 78, 0, 0,216, 0, 0, 0,152, 67, 71, 27, 1, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0, + 40,104, 71, 27, 1, 0, 0, 0, 56,239, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 83, 82, 85, 86, 32, 69,100,105,116,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,184, 68, 71, 27, 1, 0, 0, 0, 88, 71, 71, 27, 1, 0, 0, 0,184, 71, 71, 27, 1, 0, 0, 0, + 24, 76, 71, 27, 1, 0, 0, 0,136, 76, 71, 27, 1, 0, 0, 0, 24, 87, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56,106,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 57,208, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,213, 56,176, - 0, 0, 0, 0, 69,109,240, 0,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,109,255,255,192, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7,112, 0, 0, 7,129, 0, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 0, 0, 0, 0, 17, - 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 2, 0, 0, 0, 1, 3, 3, 0, 2, 4, 0, 0, 10, 7,129, 0, 2, 7,112, 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, 4, 97, 0, 0, 4, 97, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, +184, 68, 71, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 24, 69, 71, 27, 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, 68, 65, 84, 65, 32, 0, 0, 0, 24, 69, 71, 27, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0,120, 69, 71, 27, 1, 0, 0, 0,184, 68, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120, 69, 71, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, +216, 69, 71, 27, 1, 0, 0, 0, 24, 69, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 97, 4, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0,216, 69, 71, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 56, 70, 71, 27, 1, 0, 0, 0, +120, 69, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, + 56, 70, 71, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,152, 70, 71, 27, 1, 0, 0, 0,216, 69, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152, 70, 71, 27, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0,248, 70, 71, 27, 1, 0, 0, 0, 56, 70, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +118, 7, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248, 70, 71, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, + 88, 71, 71, 27, 1, 0, 0, 0,152, 70, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196, 3, 70, 4, 1, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0, 88, 71, 71, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +248, 70, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196, 3, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, +184, 71, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 40, 72, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 24, 69, 71, 27, 1, 0, 0, 0,120, 69, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, + 40, 72, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,152, 72, 71, 27, 1, 0, 0, 0,184, 71, 71, 27, 1, 0, 0, 0, + 24, 69, 71, 27, 1, 0, 0, 0, 56, 70, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, +152, 72, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 8, 73, 71, 27, 1, 0, 0, 0, 40, 72, 71, 27, 1, 0, 0, 0, +120, 69, 71, 27, 1, 0, 0, 0,152, 70, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, + 8, 73, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,120, 73, 71, 27, 1, 0, 0, 0,152, 72, 71, 27, 1, 0, 0, 0, + 56, 70, 71, 27, 1, 0, 0, 0,152, 70, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, +120, 73, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,232, 73, 71, 27, 1, 0, 0, 0, 8, 73, 71, 27, 1, 0, 0, 0, + 56, 70, 71, 27, 1, 0, 0, 0,248, 70, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, +232, 73, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 88, 74, 71, 27, 1, 0, 0, 0,120, 73, 71, 27, 1, 0, 0, 0, +184, 68, 71, 27, 1, 0, 0, 0, 88, 71, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, + 88, 74, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,200, 74, 71, 27, 1, 0, 0, 0,232, 73, 71, 27, 1, 0, 0, 0, +184, 68, 71, 27, 1, 0, 0, 0, 56, 70, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, +200, 74, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 56, 75, 71, 27, 1, 0, 0, 0, 88, 74, 71, 27, 1, 0, 0, 0, +248, 70, 71, 27, 1, 0, 0, 0, 88, 71, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, + 56, 75, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,168, 75, 71, 27, 1, 0, 0, 0,200, 74, 71, 27, 1, 0, 0, 0, +152, 70, 71, 27, 1, 0, 0, 0,248, 70, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, +168, 75, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 24, 76, 71, 27, 1, 0, 0, 0, 56, 75, 71, 27, 1, 0, 0, 0, +216, 69, 71, 27, 1, 0, 0, 0, 88, 71, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, + 24, 76, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 75, 71, 27, 1, 0, 0, 0, +216, 69, 71, 27, 1, 0, 0, 0,152, 70, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, +136, 76, 71, 27, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 72, 80, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56, 70, 71, 27, 1, 0, 0, 0, 24, 69, 71, 27, 1, 0, 0, 0,120, 69, 71, 27, 1, 0, 0, 0,152, 70, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 97, 4, 0, 0, 7, 7,119, 7, 27, 0, 1, 0, + 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,103, 71, 27, 1, 0, 0, 0,168,103, 71, 27, 1, 0, 0, 0, +104, 77, 71, 27, 1, 0, 0, 0,216, 78, 71, 27, 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, 68, 65, 84, 65, 40, 1, 0, 0,104, 77, 71, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,216, 78, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,238, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, + 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,119, 7, 26, 0,119, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 96, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 4,213, 58,240, 0, 0, 0,194, - 0, 0, 0, 1, 4,213, 64, 80, 4,213, 56, 32, 4,213, 51, 96, 4,213, 52, 96, 4,213, 52,224, 4,213, 53, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3,195, 0, 0, 0, 0, 0, 0, 4, 69, 6, 6, 3,196, 4, 70, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2,152,152, 32, 2,152,152, 32, 4,213, 59,128, 4,213, 63, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 59,128, 0, 0, 0,195, 0, 0, 0, 1, 4,213, 60,160, 0, 0, 0, 0, - 0, 0, 0, 0, 67,215, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,113, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3,195, 0, 0, 0, 0, 0, 0, 0, 25, 68, 41,192, 0, 65,200, 0, 0, 68, 41,192, 0, 65,200, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 3,196, 0, 26, 3,196, 0, 26, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,195, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,196, 0, 26, 0, 0, 0, 1, 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, 68, 65, 84, 65, 40, 1, 0, 0,216, 78, 71, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 77, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, + 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,129, 7, 0, 0, + 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, + 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 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, 97, 4, 0, 0, 97, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 72, 80, 71, 27, 1, 0, 0, 0, +194, 0, 0, 0, 1, 0, 0, 0, 24, 87, 71, 27, 1, 0, 0, 0,136, 76, 71, 27, 1, 0, 0, 0,184, 68, 71, 27, 1, 0, 0, 0, + 56, 70, 71, 27, 1, 0, 0, 0,248, 70, 71, 27, 1, 0, 0, 0, 88, 71, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,195, 3, 0, 0, 0, 0, 0, 0, 69, 4, 0, 0, 6, 6,196, 3, 70, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56, 72,106, 3, 1, 0, 0, 0, 56, 72,106, 3, 1, 0, 0, 0, 40, 81, 71, 27, 1, 0, 0, 0, +168, 85, 71, 27, 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, 68, 65, 84, 65, 40, 1, 0, 0, 40, 81, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, +152, 82, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215, 67, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0, 0,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0,192, 41, 68, 0, 0,200, 65, 0,192, 41, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, + 4, 0, 12, 4, 10, 0,196, 3, 26, 0,196, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,195, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +196, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152, 82, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, +168, 85, 71, 27, 1, 0, 0, 0, 40, 81, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 67, 0, 96,133,196, 0, 0, 0, 0, + 0, 0, 0, 0,254,255, 74, 67,254,127,133,196, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0, 43, 4, 0, 0, + 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 43, 4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, + 18, 0, 0, 4, 6, 0,220, 0, 44, 4,203, 0, 44, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,219, 0, 0, 0, 26, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +220, 0, 44, 4, 0, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 84, 71, 27, 1, 0, 0, 0, + 8, 84, 71, 27, 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, 68, 65, 84, 65, 88, 1, 0, 0, 8, 84, 71, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 60,160, 0, 0, 0,195, - 0, 0, 0, 1, 4,213, 63, 48, 4,213, 59,128, 0, 0, 0, 0, 67, 91, 0, 0,196,133, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 67, 74,255,254,196,133,127,254, 0, 0, 0, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 4, 43, 0, 0, 0, 0, - 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 4, 43, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 3, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, - 0, 6, 0,220, 4, 44, 0,203, 4, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,219, - 0, 0, 0, 26, 0, 0, 4, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 4, 44, 0, 0, 0, 4, - 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4,213, 61,192, 4,213, 61,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 64, 4,213, 61,192, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 77, 65, 71, 69, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 77, 65, 71, 69, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71,114,101, 97,115,101, 32, 80,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,255,174, 0,202, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,174,255,202, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 63, 48, 0, 0, 0,195, - 0, 0, 0, 1, 0, 0, 0, 0, 4,213, 60,160, 0, 0, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 67,128, 0, 0,191, 41,153,154, - 63,212,204,205,191,149,153,154, 64, 10,204,205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,232, 0, 0, 0, 0, 0, 0, 4, 44, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, +168, 85, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 82, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 67,154,153, 41,191,205,204,212, 63,154,153,149,191,205,204, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 3,195, - 0, 0, 0, 26, 0, 0, 4, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,232, 4, 44, 0, 0, 0, 0, + 0, 0, 0, 0,232, 2, 0, 0, 0, 0, 0, 0, 44, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 32,248, 2,152,152, 32, 0, 0, 0,164, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 65,240, 0, 0, 0, 0, 0, 0, 62,153,153,154, 0, 0, 0, 0, 0, 0, 0,100, 62,153,153,154, 0, 0, 0,100, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 0,195, 3, 0, 0, 26, 0, 0, 0, 69, 4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 2, 44, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 33, 0, 0, + 56, 72,106, 3, 1, 0, 0, 0,164, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 65, + 0, 0, 0, 0,154,153,153, 62, 0, 0, 0, 0,100, 0, 0, 0,154,153,153, 62,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4467,9 +5533,9 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4596,94 +5662,109 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 4,213, 64, 80, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, - 4,213, 58,240, 4,213, 53, 32, 4,213, 52,224, 4,213, 52,160, 4,213, 52, 32, 0, 0, 0, 0, 0, 0, 3,197, 0, 0, 7,118, - 0, 0, 0, 0, 0, 0, 4, 69, 1, 1, 3,178, 4, 70, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213, 73, 96, - 4,213, 73, 96, 4,213, 64,224, 4,213, 72, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0,248, 4,213, 64,224, 0, 0, 0,195, 0, 0, 0, 1, 4,213, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,102, 0, 0, - 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,108,128, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,177, - 0, 0, 0, 0, 0, 0, 0, 25, 68,237,128, 0, 65,200, 0, 0, 68,237,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 3,178, 0, 26, 3,178, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3,197, 0, 0, 7,118, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3,178, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 66, 0, 0, 0, 0,195, 0, 0, 0, 1, 4,213, 68,144, - 4,213, 64,224, 0, 0, 0, 0, 67, 32, 0, 0,196,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 15, 0, 0,196,109, 0, 0, - 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 3,179, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, - 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 3,179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 3, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 0,160, 3,180, 0,143, - 3,180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,197, 0, 0, 4,100, 0, 0, 0,146, 0, 0, 4, 69, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 3,180, 0, 0, 0, 5, 0, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213, 67, 32, - 4,213, 67, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,213, 67, 32, - 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, - 84, 95,116,111,111,108,115, 95,111, 98,106,101, 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, + 24, 87, 71, 27, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 80, 71, 27, 1, 0, 0, 0, + 88, 71, 71, 27, 1, 0, 0, 0,248, 70, 71, 27, 1, 0, 0, 0,152, 70, 71, 27, 1, 0, 0, 0,216, 69, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,197, 3, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 69, 4, 0, 0, 1, 1,178, 3, 70, 4, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,102, 71, 27, 1, 0, 0, 0, 24,102, 71, 27, 1, 0, 0, 0, +248, 87, 71, 27, 1, 0, 0, 0,248, 96, 71, 27, 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, 68, 65, 84, 65, 40, 1, 0, 0,248, 87, 71, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,104, 89, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102, 68, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128,108, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177, 3, 0, 0, + 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,178, 3, 26, 0,178, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,197, 3, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,178, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104, 89, 71, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,120, 92, 71, 27, 1, 0, 0, 0,248, 87, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 67, + 0, 0,109,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0,109,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, + 0, 0, 0, 0,179, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, + 0, 0, 0, 0,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, + 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,180, 3,143, 0,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,197, 3, 0, 0,100, 4, 0, 0,146, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,160, 0,180, 3, 0, 0, 5, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +216, 90, 71, 27, 1, 0, 0, 0,216, 90, 71, 27, 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, 68, 65, 84, 65, 88, 1, 0, 0,216, 90, 71, 27, 1, 0, 0, 0, +193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101, 99,116,109,111, +100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101, 99,116,109,111, +100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 79, 98,106,101, 99,116, 32, 84,111,111,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42,254,143, 0,190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 1, 0, 0,120, 92, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136, 95, 71, 27, 1, 0, 0, 0, +104, 89, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 67, 0, 0,242,194, 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67, + 91, 90,242,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, + 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0, +120, 0,143, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,197, 3, 0, 0,100, 4, 0, 0, + 26, 0, 0, 0,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,120, 0, 0, 0, 6, 0, + 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 93, 71, 27, 1, 0, 0, 0,232, 93, 71, 27, 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, + 68, 65, 84, 65, 88, 1, 0, 0,232, 93, 71, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, - 84, 95,116,111,111,108,115, 95,111, 98,106,101, 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 98,106,101, 99,116, 32, 84, -111,111,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 42, 0,143, 1,190, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 68,144, 0, 0, 0,195, 0, 0, 0, 1, 4,213, 71, 32, - 4,213, 66, 0, 0, 0, 0, 0, 67, 33, 0, 0,194,242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 16,102,231,194,242, 90, 91, - 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, - 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 3, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 0,160, 0,120, 0,143, - 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,197, 0, 0, 4,100, 0, 0, 0, 26, 0, 0, 0,145, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,120, 0, 0, 0, 6, 0, 34, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213, 69,176, - 4,213, 69,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 4,213, 69,176, - 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,216, 0,144, 0, 16, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,255,144, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 71, 32, 0, 0, 0,195, 0, 0, 0, 1, 4,213, 72, 64, - 4,213, 68,144, 0, 0, 0, 0, 67, 35, 0, 0,196,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 35, 0, 0,196,126,191,255, - 0, 0, 0, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 4, 12, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, - 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 4, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 4, 13, 0,163, - 3,251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,118, 0, 0, 7,118, 0, 0, 0, 26, 0, 0, 4, 69, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136, 95, 71, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,248, 96, 71, 27, 1, 0, 0, 0,120, 92, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, + 0,128,126,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67,255,191,126,196, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, + 18, 0, 0, 0, 12, 4, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, + 18, 0, 0, 0, 12, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, + 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0, 13, 4,163, 0,251, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0,118, 7, 0, 0, 26, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 72, 64, - 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,213, 71, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248, 96, 71, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 95, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,101, - 0, 0, 7,118, 0, 0, 0, 26, 0, 0, 4, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 18, 4, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,152,186, 32, - 68, 65, 84, 65, 0, 0, 3, 68, 2,152,186, 32, 0, 0, 0,153, 0, 0, 0, 1, 63,190, 58,161, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191,128, 13, 28, -191,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,190, 76,215, 74, 0, 0, 0, 0, 62,209,239, 68,190,205,177, 51, 63, 81,158,184, - 0, 0, 0, 0, 63,105,119, 70, 62, 70, 74,143,190,185, 44, 35, 0, 0, 0, 0,188, 89, 84,162, 63,101, 33,166, 62,228, 61, 42, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 95, 25, 0, 63,128, 0, 0, 62,209,239, 69, 63,105,119, 70,188, 89, 84,160, - 0, 0, 0, 0,190,205,177, 52, 62, 70, 74,142, 63,101, 33,166, 0, 0, 0, 0, 63, 81,158,185,190,185, 44, 35, 62,228, 61, 43, - 0, 0, 0, 0, 64, 54,173,188,191,161, 95,136, 63,198,231,147, 63,128, 0, 0, 63, 27,255,169,190,224,249,208,191, 81,180, 48, -191, 81,158,184, 63,173,123,254, 62, 88,225,140, 62,185, 63, 26, 62,185, 44, 35,188,161,126,150, 63,122,156,206,190,228, 84,138, -190,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 64, 82, 98,100, 64, 95, 25, 0, 62,141, 66, 97, 63, 29, 23,204,188, 18, 60,192, -179, 96, 0, 0,190,188, 15,195, 62, 53, 75,130, 63, 81,125,216,179,192, 0, 0,193,100, 77,115, 64,201,173, 16,192,248,148,181, -192,159,247,203, 65, 87, 74,233,192,190, 46,246, 64,234,106, 88, 64,160, 8, 45, 62,209,239, 68,190,205,177, 51, 63, 81,158,184, - 0, 0, 0, 0, 63,105,119, 70, 62, 70, 74,143,190,185, 44, 35, 0, 0, 0, 0,188, 89, 84,162, 63,101, 33,166, 62,228, 61, 42, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 95, 25, 0, 63,128, 0, 0, 63, 27,255,169,190,224,249,208,191, 81,180, 48, -191, 81,158,184, 63,173,123,254, 62, 88,225,140, 62,185, 63, 26, 62,185, 44, 35,188,161,126,150, 63,122,156,206,190,228, 84,138, -190,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 64, 82, 98,100, 64, 95, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,101, 4, 0, 0,118, 7, 0, 0, 26, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 18, 3, 44, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 55, 62, 92,190,224,186, 56,190,148,203,237, -190,234,236, 3, 64, 95, 25, 0, 64, 95, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,224,106, 18, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,104, 98, 71, 27, 1, 0, 0, 0, 68, 65, 84, 65,104, 3, 0, 0,104, 98, 71, 27, 1, 0, 0, 0, +153, 0, 0, 0, 1, 0, 0, 0,161, 58,190, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 13,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, + 74,215, 76,190, 0, 0, 0, 0, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, + 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 25, 95,192, 0, 0,128, 63, 69,239,209, 62, 70,119,105, 63,160, 84, 89,188, 0, 0, 0, 0, 52,177,205,190,142, 74, 70, 62, +166, 33,101, 63, 0, 0, 0, 0,185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62, 0, 0, 0, 0,188,173, 54, 64,136, 95,161,191, +147,231,198, 63, 0, 0,128, 63,169,255, 27, 63,208,249,224,190, 48,180, 81,191,184,158, 81,191,254,123,173, 63,140,225, 88, 62, + 26, 63,185, 62, 35, 44,185, 62,150,126,161,188,206,156,122, 63,138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, +100, 98, 82, 64, 0, 25, 95, 64, 97, 66,141, 62,204, 23, 29, 63,192, 60, 18,188, 0, 0, 96,179,195, 15,188,190,130, 75, 53, 62, +216,125, 81, 63, 0, 0,192,179,115, 77,100,193, 16,173,201, 64,181,148,248,192,203,247,159,192,233, 74, 87, 65,246, 46,190,192, + 88,106,234, 64, 45, 8,160, 64, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, + 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 25, 95,192, 0, 0,128, 63,169,255, 27, 63,208,249,224,190, 48,180, 81,191,184,158, 81,191,254,123,173, 63,140,225, 88, 62, + 26, 63,185, 62, 35, 44,185, 62,150,126,161,188,206,156,122, 63,138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, +100, 98, 82, 64, 0, 25, 95, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190, 0, 25, 95, 64, 0, 25, 95, 64, + 0, 0, 0, 0, 0, 0, 0, 0, 18,106,224, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4691,690 +5772,842 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 0, - 4,213, 73, 96, 0, 0, 0,154, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 63, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 65, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 7, 2,152,196, 32, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 1, 0, 0, 24,102, 71, 27, 1, 0, 0, 0, +154, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0, + 56,114,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0, 0, 0, 1, 0, 3, 0, 0, 8, 8, - 0, 0, 0, 0, 66, 12, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 61,204,204,205, 67,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, + 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 12, 66, 0, 0,128, 63, 0, 0,128, 63,205,204,204, 61, 0, 0,250, 67, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 0, 10, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 0,148, 4,213, 74,240, 0, 0, 0,190, 0, 0, 0, 1, - 0, 0, 0, 0, 4,213, 50,160, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 86,105,100,101,111, 32, 69,100,105,116,105,110,103, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213, 75,176, 4,213, 78,112, 4,213, 78,176, - 4,213, 82,240, 4,213, 83, 48, 4,213,103,208, 0, 0, 0, 0, 0, 0, 0, 0, 2,152,190, 32, 0, 0, 0, 0, 0, 0, 0, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0, 40,104, 71, 27, 1, 0, 0, 0, +190, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 67, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 86,105,100,101,111, 32, 69,100,105,116,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,105, 71, 27, 1, 0, 0, 0,104,109, 71, 27, 1, 0, 0, 0, +200,109, 71, 27, 1, 0, 0, 0, 56,117, 71, 27, 1, 0, 0, 0,168,117, 71, 27, 1, 0, 0, 0,248,143, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,106,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,213, 75,176, - 0, 0, 0,191, 0, 0, 0, 1, 4,213, 75,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 20, 4,213, 75,240, 0, 0, 0,191, 0, 0, 0, 1, 4,213, 76, 48, 4,213, 75,176, 0, 0, 0, 0, 0, 0, 4, 97, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,213, 76, 48, 0, 0, 0,191, 0, 0, 0, 1, 4,213, 76,112, 4,213, 75,240, - 0, 0, 0, 0, 7,118, 4, 97, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,213, 76,112, 0, 0, 0,191, 0, 0, 0, 1, - 4,213, 76,176, 4,213, 76, 48, 0, 0, 0, 0, 7,118, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,213, 76,176, - 0, 0, 0,191, 0, 0, 0, 1, 4,213, 76,240, 4,213, 76,112, 0, 0, 0, 0, 0, 0, 4, 70, 0, 0, 0, 1, 68, 65, 84, 65, - 0, 0, 0, 20, 4,213, 76,240, 0, 0, 0,191, 0, 0, 0, 1, 4,213, 77, 48, 4,213, 76,176, 0, 0, 0, 0, 7,118, 4, 70, - 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 4,213, 77, 48, 0, 0, 0,191, 0, 0, 0, 1, 4,213, 77,112, 4,213, 76,240, - 0, 0, 0, 0, 7,118, 2, 16, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,213, 77,112, 0, 0, 0,191, 0, 0, 0, 1, - 4,213, 77,176, 4,213, 77, 48, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,213, 77,176, - 0, 0, 0,191, 0, 0, 0, 1, 4,213, 77,240, 4,213, 77,112, 0, 0, 0, 0, 3, 76, 4, 70, 0, 0, 0, 1, 68, 65, 84, 65, - 0, 0, 0, 20, 4,213, 77,240, 0, 0, 0,191, 0, 0, 0, 1, 4,213, 78, 48, 4,213, 77,176, 0, 0, 0, 0, 0, 0, 2, 16, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,213, 78, 48, 0, 0, 0,191, 0, 0, 0, 1, 4,213, 78,112, 4,213, 77,240, - 0, 0, 0, 0, 3, 76, 2, 16, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 4,213, 78,112, 0, 0, 0,191, 0, 0, 0, 1, - 0, 0, 0, 0, 4,213, 78, 48, 0, 0, 0, 0, 7,118, 0,100, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 78,176, - 0, 0, 0,192, 0, 0, 0, 1, 4,213, 78,240, 0, 0, 0, 0, 4,213, 75,240, 4,213, 76, 48, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 78,240, 0, 0, 0,192, 0, 0, 0, 1, 4,213, 79, 48, 4,213, 78,176, 4,213, 75,240, - 4,213, 76,176, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 79, 48, 0, 0, 0,192, 0, 0, 0, 1, - 4,213, 79,112, 4,213, 78,240, 4,213, 76, 48, 4,213, 76,240, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 4,213, 79,112, 0, 0, 0,192, 0, 0, 0, 1, 4,213, 79,176, 4,213, 79, 48, 4,213, 76,176, 4,213, 76,240, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 79,176, 0, 0, 0,192, 0, 0, 0, 1, 4,213, 79,240, 4,213, 79,112, - 4,213, 76,240, 4,213, 77, 48, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 79,240, 0, 0, 0,192, - 0, 0, 0, 1, 4,213, 80, 48, 4,213, 79,176, 4,213, 75,176, 4,213, 77,112, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 4,213, 80, 48, 0, 0, 0,192, 0, 0, 0, 1, 4,213, 80,112, 4,213, 79,240, 4,213, 76,176, 4,213, 77,176, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 80,112, 0, 0, 0,192, 0, 0, 0, 1, 4,213, 80,176, - 4,213, 80, 48, 4,213, 77,112, 4,213, 77,240, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 80,176, - 0, 0, 0,192, 0, 0, 0, 1, 4,213, 80,240, 4,213, 80,112, 4,213, 77,240, 4,213, 78, 48, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 80,240, 0, 0, 0,192, 0, 0, 0, 1, 4,213, 81, 48, 4,213, 80,176, 4,213, 77,176, - 4,213, 78, 48, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 81, 48, 0, 0, 0,192, 0, 0, 0, 1, - 4,213, 81,112, 4,213, 80,240, 4,213, 77, 48, 4,213, 78,112, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 4,213, 81,112, 0, 0, 0,192, 0, 0, 0, 1, 4,213, 81,176, 4,213, 81, 48, 4,213, 76,112, 4,213, 78,112, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 81,176, 0, 0, 0,192, 0, 0, 0, 1, 4,213, 81,240, 4,213, 81,112, - 4,213, 77,112, 4,213, 78,112, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 81,240, 0, 0, 0,192, - 0, 0, 0, 1, 4,213, 82, 48, 4,213, 81,176, 4,213, 75,176, 4,213, 76,112, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 4,213, 82, 48, 0, 0, 0,192, 0, 0, 0, 1, 4,213, 82,112, 4,213, 81,240, 4,213, 76,240, 4,213, 77,176, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 82,112, 0, 0, 0,192, 0, 0, 0, 1, 4,213, 82,176, - 4,213, 82, 48, 4,213, 77, 48, 4,213, 78, 48, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 82,176, - 0, 0, 0,192, 0, 0, 0, 1, 4,213, 82,240, 4,213, 82,112, 4,213, 76,176, 4,213, 77,240, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 4,213, 82,240, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 0, 4,213, 82,176, 4,213, 77, 48, - 4,213, 77,240, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 4,213, 83, 48, 0, 0, 0,194, 0, 0, 0, 1, - 4,213, 86, 0, 0, 0, 0, 0, 4,213, 76,176, 4,213, 75,240, 4,213, 76, 48, 4,213, 76,240, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7,118, 0, 0, 4, 71, 0, 0, 4, 97, 7, 7, 7,119, 0, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, - 4,213,109,224, 4,213,109,224, 4,213, 83,192, 4,213, 84,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,248, 4,213, 83,192, 0, 0, 0,195, 0, 0, 0, 1, 4,213, 84,224, 0, 0, 0, 0, 0, 0, 0, 0, - 68,148, 32, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,238,224, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0, 72,105, 71, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,168,105, 71, 27, 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, 68, 65, 84, 65, 32, 0, 0, 0, +168,105, 71, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 8,106, 71, 27, 1, 0, 0, 0, 72,105, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8,106, 71, 27, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0,104,106, 71, 27, 1, 0, 0, 0,168,105, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +118, 7, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104,106, 71, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, +200,106, 71, 27, 1, 0, 0, 0, 8,106, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0,200,106, 71, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 40,107, 71, 27, 1, 0, 0, 0, +104,106, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, + 40,107, 71, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,136,107, 71, 27, 1, 0, 0, 0,200,106, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136,107, 71, 27, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0,232,107, 71, 27, 1, 0, 0, 0, 40,107, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +118, 7, 16, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232,107, 71, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, + 72,108, 71, 27, 1, 0, 0, 0,136,107, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 32, 0, 0, 0, 72,108, 71, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0,168,108, 71, 27, 1, 0, 0, 0, +232,107, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 3, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, +168,108, 71, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, 8,109, 71, 27, 1, 0, 0, 0, 72,108, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8,109, 71, 27, 1, 0, 0, 0, +191, 0, 0, 0, 1, 0, 0, 0,104,109, 71, 27, 1, 0, 0, 0,168,108, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 76, 3, 16, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104,109, 71, 27, 1, 0, 0, 0,191, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 8,109, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7,100, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,200,109, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 56,110, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,168,105, 71, 27, 1, 0, 0, 0, 8,106, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 56,110, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,168,110, 71, 27, 1, 0, 0, 0, +200,109, 71, 27, 1, 0, 0, 0,168,105, 71, 27, 1, 0, 0, 0,200,106, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,168,110, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 24,111, 71, 27, 1, 0, 0, 0, + 56,110, 71, 27, 1, 0, 0, 0, 8,106, 71, 27, 1, 0, 0, 0, 40,107, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 24,111, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,136,111, 71, 27, 1, 0, 0, 0, +168,110, 71, 27, 1, 0, 0, 0,200,106, 71, 27, 1, 0, 0, 0, 40,107, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,136,111, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,248,111, 71, 27, 1, 0, 0, 0, + 24,111, 71, 27, 1, 0, 0, 0, 40,107, 71, 27, 1, 0, 0, 0,136,107, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,248,111, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,104,112, 71, 27, 1, 0, 0, 0, +136,111, 71, 27, 1, 0, 0, 0, 72,105, 71, 27, 1, 0, 0, 0,232,107, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,104,112, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,216,112, 71, 27, 1, 0, 0, 0, +248,111, 71, 27, 1, 0, 0, 0,200,106, 71, 27, 1, 0, 0, 0, 72,108, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,216,112, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 72,113, 71, 27, 1, 0, 0, 0, +104,112, 71, 27, 1, 0, 0, 0,232,107, 71, 27, 1, 0, 0, 0,168,108, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 72,113, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,184,113, 71, 27, 1, 0, 0, 0, +216,112, 71, 27, 1, 0, 0, 0,168,108, 71, 27, 1, 0, 0, 0, 8,109, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,184,113, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 40,114, 71, 27, 1, 0, 0, 0, + 72,113, 71, 27, 1, 0, 0, 0, 72,108, 71, 27, 1, 0, 0, 0, 8,109, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 40,114, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,152,114, 71, 27, 1, 0, 0, 0, +184,113, 71, 27, 1, 0, 0, 0,136,107, 71, 27, 1, 0, 0, 0,104,109, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,152,114, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 8,115, 71, 27, 1, 0, 0, 0, + 40,114, 71, 27, 1, 0, 0, 0,104,106, 71, 27, 1, 0, 0, 0,104,109, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 8,115, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,120,115, 71, 27, 1, 0, 0, 0, +152,114, 71, 27, 1, 0, 0, 0,232,107, 71, 27, 1, 0, 0, 0,104,109, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,120,115, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,232,115, 71, 27, 1, 0, 0, 0, + 8,115, 71, 27, 1, 0, 0, 0, 72,105, 71, 27, 1, 0, 0, 0,104,106, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,232,115, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 88,116, 71, 27, 1, 0, 0, 0, +120,115, 71, 27, 1, 0, 0, 0, 40,107, 71, 27, 1, 0, 0, 0, 72,108, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 88,116, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0,200,116, 71, 27, 1, 0, 0, 0, +232,115, 71, 27, 1, 0, 0, 0,136,107, 71, 27, 1, 0, 0, 0, 8,109, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,200,116, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 56,117, 71, 27, 1, 0, 0, 0, + 88,116, 71, 27, 1, 0, 0, 0,200,106, 71, 27, 1, 0, 0, 0,168,108, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0, 56,117, 71, 27, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +200,116, 71, 27, 1, 0, 0, 0,136,107, 71, 27, 1, 0, 0, 0,168,108, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,160, 0, 0, 0,168,117, 71, 27, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,104,121, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,200,106, 71, 27, 1, 0, 0, 0,168,105, 71, 27, 1, 0, 0, 0, 8,106, 71, 27, 1, 0, 0, 0, + 40,107, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 97, 4, 0, 0, + 7, 7,119, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,151, 71, 27, 1, 0, 0, 0, +200,151, 71, 27, 1, 0, 0, 0,136,118, 71, 27, 1, 0, 0, 0,248,119, 71, 27, 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, 68, 65, 84, 65, 40, 1, 0, 0, +136,118, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,119, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,238, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7,118, 0, 0, 0, 0, 0, 0, 0, 25, 68,237,128, 0, 65,200, 0, 0, 68,237,128, 0, 65,200, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 7,119, 0, 26, 7,119, 0, 26, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,118, 0, 0, 4, 71, 0, 0, 4, 96, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7,119, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,119, 7, 26, 0,119, 7, 26, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 96, 4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 84,224, 0, 0, 0,195, 0, 0, 0, 1, - 0, 0, 0, 0, 4,213, 83,192, 0, 0, 0, 0, 69,109,240, 0,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,109,255,255, -192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,112, 0, 0, 7,129, 0, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7,111, - 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 2, 0, 0, 0, 1, 3, 3, 0, 2, 4, 0, 0, 10, 7,129, - 0, 2, 7,112, 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, 4, 97, - 0, 0, 4, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, - 4,213, 86, 0, 0, 0, 0,194, 0, 0, 0, 1, 4,213, 89,192, 4,213, 83, 48, 4,213, 75,176, 4,213, 77,112, 4,213, 78,112, - 4,213, 76,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,118, 0, 0, 0, 0, 0, 0, 0, 99, 15, 15, 7,119, 0,100, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213, 88,208, 4,213, 88,208, 4,213, 86,144, 4,213, 87,176, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 86,144, 0, 0, 0,195, 0, 0, 0, 1, - 4,213, 87,176, 0, 0, 0, 0, 0, 0, 0, 0, 68,137,160, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,238,224, 0, - 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,118, 0, 0, 0, 0, 0, 0, 0, 25, 68,202,224, 0, 65,200, 0, 0, - 68,202,224, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 7,119, - 0, 26, 7,119, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,118, 0, 0, 0, 0, - 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,119, 0, 26, 0, 0, 0, 1, 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, 68, 65, 84, 65, 40, 1, 0, 0, +248,119, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,118, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0, +112, 7, 0, 0,129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, + 0, 0, 0, 0,111, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 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, 97, 4, 0, 0, 97, 4, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, - 4,213, 87,176, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,213, 86,144,192, 64, 0, 0, 67,126, 0, 0, 0, 0, 0, 0, - 66, 72, 0, 0,192, 17,189,112, 67,125, 70,246, 0, 0, 0, 0, 66, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,118, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 7,118, 0, 0, 0, 18, - 0, 0, 0, 73, 63,128, 0, 0, 66, 72, 0, 0, 72,146,124, 0, 66, 72, 0, 0, 61,204,204,205, 65, 32, 0, 0, 0, 72, 0, 0, - 0, 0, 2, 0, 0, 4, 4, 0, 0, 8, 7,119, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7,118, 0, 0, 0, 26, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7,119, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,188, 4,213, 88,208, 0, 0, 0,170, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, +104,121, 71, 27, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 72,126, 71, 27, 1, 0, 0, 0,168,117, 71, 27, 1, 0, 0, 0, + 72,105, 71, 27, 1, 0, 0, 0,232,107, 71, 27, 1, 0, 0, 0,104,109, 71, 27, 1, 0, 0, 0,104,106, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0, 15, 15,119, 7,100, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,125, 71, 27, 1, 0, 0, 0, 40,125, 71, 27, 1, 0, 0, 0, + 72,122, 71, 27, 1, 0, 0, 0,184,123, 71, 27, 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, 68, 65, 84, 65, 40, 1, 0, 0, 72,122, 71, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0,184,123, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,137, 68, + 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,238, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, + 0, 0, 0, 0, 25, 0, 0, 0, 0,224,202, 68, 0, 0,200, 65, 0,224,202, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,119, 7, 26, 0,119, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,123, 71, 27, 1, 0, 0, 0, +195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,122, 71, 27, 1, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, + 0, 0, 0, 0, 0, 0, 72, 66,112,189, 17,192,246, 70,125, 67, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, + 18, 0, 0, 0, 73, 0, 0, 0, 0, 0,128, 63, 0, 0, 72, 66, 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, + 72, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, 8, 0,119, 7, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 26, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,119, 7, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,125, 71, 27, 1, 0, 0, 0, +170, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 68, 65, 84, 65, 0, 0, 0, 96, 4,213, 89,192, - 0, 0, 0,194, 0, 0, 0, 1, 4,213, 97, 64, 4,213, 86, 0, 4,213, 77,112, 4,213, 77,240, 4,213, 77, 48, 4,213, 78,112, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,118, 0, 0, 0,101, 0, 0, 2, 15, 8, 8, 7,119, 1,171, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4,213, 96, 64, 4,213, 96, 64, 4,213, 90, 80, 4,213, 95, 32, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 90, 80, 0, 0, 0,195, 0, 0, 0, 1, 4,213, 91,112, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 28, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,238,224, 0, 0, 0, 0, 0, - 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,118, 0, 0, 0, 0, 0, 0, 0, 25, 68,191, 96, 0, 65,200, 0, 0, 68,191, 96, 0, - 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 7,119, 0, 26, 7,119, - 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,118, 0, 0, 0,101, 0, 0, 0,126, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,119, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, + 68, 65, 84, 65,160, 0, 0, 0, 72,126, 71, 27, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,184,135, 71, 27, 1, 0, 0, 0, +104,121, 71, 27, 1, 0, 0, 0,232,107, 71, 27, 1, 0, 0, 0,168,108, 71, 27, 1, 0, 0, 0,136,107, 71, 27, 1, 0, 0, 0, +104,109, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0,101, 0, 0, 0, 15, 2, 0, 0, + 8, 8,119, 7,171, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,134, 71, 27, 1, 0, 0, 0, +136,134, 71, 27, 1, 0, 0, 0, 40,127, 71, 27, 1, 0, 0, 0, 24,133, 71, 27, 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, 68, 65, 84, 65, 40, 1, 0, 0, + 40,127, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,152,128, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 28, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,238, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 91,112, - 0, 0, 0,195, 0, 0, 0, 1, 4,213, 94, 0, 4,213, 90, 80, 0, 0, 0, 0, 67, 92, 0, 0,195,200,128, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67, 75, 0, 0,195,200,128, 0, 0, 0, 0, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 1,144, - 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 1,144, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 3, 10, 0, 0, 0, 1, 0, 7, - 0, 18, 4, 0, 0, 6, 0,220, 1,145, 0,203, 1,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,155, - 0, 0, 7,118, 0, 0, 0,127, 0, 0, 2, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 1,145, - 0, 0, 0, 4, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4,213, 92,144, 4,213, 92,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 4,213, 92,144, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 83, 69, 81, 85, 69, 78, 67, 69, 82, 95, 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 83, 69, 81, 85, 69, 78, 67, 69, 82, 95, 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 83, 99,101,110,101, 32, 80,114,101,118,105,101,119, 47, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,255,171, 0,203, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 96,191, 68, 0, 0,200, 65, 0, 96,191, 68, 0, 0,200, 65, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,119, 7, 26, 0,119, 7, 26, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0,101, 0, 0, 0,126, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 94, 0, - 0, 0, 0,195, 0, 0, 0, 1, 4,213, 95, 32, 4,213, 91,112,196,112, 0, 0, 68,112, 0, 0,196, 7, 0, 0, 68, 7, 0, 0, -196,112, 0, 0, 68,112, 0, 0,196, 7, 0, 0, 68, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, +152,128, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,168,131, 71, 27, 1, 0, 0, 0, 40,127, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 92, 67, 0,128,200,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 67, 0,128,200,195, 0, 0, 0, 0, +203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0,144, 1, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, + 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0,144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,220, 0,145, 1,203, 0,145, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,155, 6, 0, 0,118, 7, 0, 0,127, 0, 0, 0, 15, 2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0,145, 1, 0, 0, 4, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 70, 59,128, 0, 70, 59,128, 0, 55, 39,197,172, 71,195, 80, 0, 0, 0, 0, 0, 0, 0, 0, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 8,130, 71, 27, 1, 0, 0, 0, 8,130, 71, 27, 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, 68, 65, 84, 65, 88, 1, 0, 0, + 8,130, 71, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 69, 81, 85, 69, 78, 67, 69, 82, 95, 80, 84, 95,112,114,101, +118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 69, 81, 85, 69, 78, 67, 69, 82, 95, 80, 84, 95,112,114,101, +118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 99,101,110,101, 32, 80,114,101,118,105,101,119, 47, 82,101, +110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,171,255,203, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6,154, 0, 0, 2, 15, 0, 0, 2, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, - 0, 0, 0, 7, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,248, 4,213, 95, 32, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,213, 94, 0, 0, 0, 0, 0, - 67,122, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 67,122, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 1,144, 0, 0, 0, 18, 0, 0, 6,154, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, - 0, 0, 6,154, 0, 0, 0, 18, 0, 0, 1,144, 65, 32, 0, 0, 64,128, 0, 0, 72,146,124, 0, 66, 0, 0, 0, 60, 35,215, 10, - 66,200, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 8, 6,155, 1,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,154, 0, 0, 0,127, 0, 0, 2, 15, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 6,155, 1,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,216, 4,213, 96, 64, 0, 0, 0,160, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,131, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 24,133, 71, 27, 1, 0, 0, 0,152,128, 71, 27, 1, 0, 0, 0, 0, 0,112,196, 0, 0,112, 68, 0, 0, 7,196, 0, 0, 7, 68, + 0, 0,112,196, 0, 0,112, 68, 0, 0, 7,196, 0, 0, 7, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 59, 70, 0,128, 59, 70,172,197, 39, 55, 0, 80,195, 71, 0, 0, 0, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,154, 6, 0, 0, 15, 2, 0, 0, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, 7, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,133, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,168,131, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, + 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,144, 1, 0, 0, + 18, 0, 0, 0,154, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,154, 6, 0, 0, 18, 0, 0, 0,144, 1, 0, 0, + 0, 0, 32, 65, 0, 0,128, 64, 0,124,146, 72, 0, 0, 0, 66, 10,215, 35, 60, 0, 0,200, 66,105, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 8, 0,155, 6,145, 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,154, 6, 0, 0,127, 0, 0, 0, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +155, 6,145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,136,134, 71, 27, 1, 0, 0, 0,160, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 64,128, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, - 4,213, 97, 64, 0, 0, 0,194, 0, 0, 0, 1, 4,213,103,208, 4,213, 89,192, 4,213, 77,240, 4,213, 76,176, 4,213, 77,176, - 4,213, 78, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 75, 0, 0, 2, 17, 0, 0, 4, 69, 2, 2, 3, 76, 2, 53, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213,102, 80, 4,213,102, 80, 4,213, 97,208, 4,213,101, 48, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213, 97,208, 0, 0, 0,195, 0, 0, 0, 1, - 4,213, 98,240, 0, 0, 0, 0, 0, 0, 0, 0, 68,100,128, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68, 83, 0, 0, - 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 75, 0, 0, 0, 0, 0, 0, 0, 25, 68,103,192, 0, 65,200, 0, 0, - 68,103,192, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 3, 76, - 0, 26, 3, 76, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 75, 0, 0, 2, 17, - 0, 0, 2, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 76, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184,135, 71, 27, 1, 0, 0, 0, +194, 0, 0, 0, 1, 0, 0, 0,248,143, 71, 27, 1, 0, 0, 0, 72,126, 71, 27, 1, 0, 0, 0,168,108, 71, 27, 1, 0, 0, 0, +200,106, 71, 27, 1, 0, 0, 0, 72,108, 71, 27, 1, 0, 0, 0, 8,109, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 75, 3, 0, 0, 17, 2, 0, 0, 69, 4, 0, 0, 2, 2, 76, 3, 53, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 88,142, 71, 27, 1, 0, 0, 0, 88,142, 71, 27, 1, 0, 0, 0,152,136, 71, 27, 1, 0, 0, 0, +232,140, 71, 27, 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, 68, 65, 84, 65, 40, 1, 0, 0,152,136, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 8,138, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,100, 68, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0, 0, 83, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0,192,103, 68, 0, 0,200, 65, 0,192,103, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, + 4, 0, 12, 4, 10, 0, 76, 3, 26, 0, 76, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 75, 3, 0, 0, 17, 2, 0, 0, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 76, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, - 4,213, 98,240, 0, 0, 0,195, 0, 0, 0, 1, 4,213,100, 16, 4,213, 97,208, 0, 0, 0, 0, 67, 72, 0, 0,193,112, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 67, 72, 0, 0,196, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0,200, 0, 0, 0,217, 0, 0, 0, 18, - 0, 0, 2, 26, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, - 0, 0, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 6, 10, 0, 0, - 0, 2, 3, 3, 0, 0, 4, 0, 0, 6, 0,217, 2, 27, 0,200, 2, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0,216, 0, 0, 2, 43, 0, 0, 4, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0,217, 2, 27, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213,100, 16, 0, 0, 0,195, 0, 0, 0, 1, 4,213,101, 48, 4,213, 98,240, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8,138, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, +120,139, 71, 27, 1, 0, 0, 0,152,136, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 0, 0,112,193, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 72, 67, 0, 64, 2,196, 0, 0, 0, 0,200, 0, 0, 0,217, 0, 0, 0, 18, 0, 0, 0, 26, 2, 0, 0, + 0, 0, 0, 0,199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 0, 26, 2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 10, 6, 0, 0, 2, 0, 3, 3, + 0, 0, 0, 4, 6, 0,217, 0, 27, 2,200, 0, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,216, 0, 0, 0, 43, 2, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +217, 0, 27, 2, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120,139, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, +232,140, 71, 27, 1, 0, 0, 0, 8,138, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 75, 0, 0, 3, 75, 0, 0, 2, 43, 0, 0, 4, 69, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 75, 3, 0, 0, 75, 3, 0, 0, 43, 2, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213,101, 48, 0, 0, 0,195, - 0, 0, 0, 1, 0, 0, 0, 0, 4,213,100, 16,193, 16, 0, 0, 67,130, 0, 0,192,160, 0, 0, 64,160, 0, 0, 0, 0, 0, 0, - 67,122, 0, 0,193, 16, 0, 0, 65, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 2, 26, 0, 0, 0, 18, - 0, 0, 2,114, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 2,114, 0, 0, 0, 18, 0, 0, 2, 26, 58,131, 18,111, - 58,131, 18,111, 72,146,124, 0, 71, 67, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, - 0, 0, 2,115, 2, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0, 0, 3, 75, - 0, 0, 2, 43, 0, 0, 4, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,115, 2, 27, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232,140, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,120,139, 71, 27, 1, 0, 0, 0, 0, 0, 16,193, 0, 0,130, 67, 0, 0,160,192, 0, 0,160, 64, + 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 16,193, 0, 0, 32, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 26, 2, 0, 0, + 18, 0, 0, 0,114, 2, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,114, 2, 0, 0, 18, 0, 0, 0, 26, 2, 0, 0, +111, 18,131, 58,111, 18,131, 58, 0,124,146, 72, 0, 80, 67, 71, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 0, 0,115, 2, 27, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +217, 0, 0, 0, 75, 3, 0, 0, 43, 2, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +115, 2, 27, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0, 88,142, 71, 27, 1, 0, 0, 0,158, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,136,143, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,143, 71, 27, 1, 0, 0, 0, + 16, 1, 0, 0, 1, 0, 0, 0, 56,106,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,248,143, 71, 27, 1, 0, 0, 0, +194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,135, 71, 27, 1, 0, 0, 0, 8,109, 71, 27, 1, 0, 0, 0, + 72,108, 71, 27, 1, 0, 0, 0, 40,107, 71, 27, 1, 0, 0, 0,136,107, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 77, 3, 0, 0,118, 7, 0, 0, 17, 2, 0, 0, 69, 4, 0, 0, 8, 8, 42, 4, 53, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,152,150, 71, 27, 1, 0, 0, 0,152,150, 71, 27, 1, 0, 0, 0,216,144, 71, 27, 1, 0, 0, 0, + 40,149, 71, 27, 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, 68, 65, 84, 65, 40, 1, 0, 0,216,144, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 72,146, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 67, 0, 0, 0, 0, 0, 0,208, 65, + 0, 0, 0, 0, 0, 64,133, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0, 64, 50, 68, 0, 0,200, 65, 0, 64, 50, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, + 4, 0, 12, 4, 10, 0, 42, 4, 26, 0, 42, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 77, 3, 0, 0,118, 7, 0, 0, 17, 2, 0, 0, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 42, 4, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,146, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, +184,147, 71, 27, 1, 0, 0, 0,216,144, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +118, 7, 0, 0,118, 7, 0, 0, 43, 2, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,147, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 40,149, 71, 27, 1, 0, 0, 0, 72,146, 71, 27, 1, 0, 0, 0, 0, 0,240,195, 0, 0,240, 67, 0, 0,135,195, 0, 0,135, 67, + 96,187,216,196, 96,187,216, 68,244, 43, 91,196,244, 43, 91, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 4, 0, 0, 0, 0, 0, 0, 26, 2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 59, 70, 0,128, 59, 70,172,197, 39, 55, 0, 80,195, 71, 0, 0, 0, 0, 0, 0, 6, 0, + 0, 0, 0, 4, 0, 0, 42, 4, 27, 2, 42, 4, 27, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 77, 3, 0, 0,118, 7, 0, 0, 43, 2, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 42, 4, 27, 2, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,149, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,184,147, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, + 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 75, 1, 0, 0, + 18, 0, 0, 0,201, 2, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,201, 2, 0, 0, 18, 0, 0, 0, 75, 1, 0, 0, + 0, 0, 32, 65, 0, 0,128, 64, 0,124,146, 72, 0, 0, 0, 66, 10,215, 35, 60, 0, 0,200, 66,105, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 8, 0,202, 2, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,152,150, 71, 27, 1, 0, 0, 0,160, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64, + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 0, 0, 16, 6, 0, 0, 56,106,106, 3, 1, 0, 0, 0, +151, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 83, 99,101,110,101, 0,116, 97,103,101, 0, 97,105,110, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 4, 0, 0, 0, 0, 72,152, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,114,106, 3, 1, 0, 0, 0, + 24,169, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,158, 71, 27, 1, 0, 0, 0, 40,160, 71, 27, 1, 0, 0, 0, + 72,159, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,129,124, 71,192,251,150,101,192, 41,217, 30, 64,209, 16,232,191, + 98,117,149,191,200,200, 95, 63,209, 16,232,191, 98,117,149,191,200,200, 95, 63,209, 16,232,191, 98,117,149,191,200,200, 95, 63, + 1, 0, 0, 0, 1, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,152,160, 71, 27, 1, 0, 0, 0, 8, 72, 55, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,172, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +100, 0, 0, 0,100, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 2,224, 1, 60, 0, 32, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 6, 0, 60, 0,141, 0,128, 7, 56, 4, 8, 0, + 8, 0, 0, 0, 24, 0, 17, 0, 0, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 23, 0, 33, 0, 0, 0, 0, 0, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 8, 0, 24, 0, 10, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56,164, 71, 27, 1, 0, 0, 0, 56,164, 71, 27, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 1, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 5, 0, 2, 0, 1, 0, 1, 0, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 98, 97, 99,107, 98,117,102, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,116,109,112, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 5, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,205,204, 76, 63, +205,204, 76, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, 16, 0, 0, 0,128, 63, 0, 0,128, 63,173, 2, 95, 0,154,153,217, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 0, 1, 0,180, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 89, 67, 76, 69, 83, 0, 95, + 82, 69, 78, 68, 69, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,172, 0, 0, 0, 0,128, 63, +102,166,171, 67, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,234,166, 19, 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, 24, 75,163, 19, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,205,204, 28, 65, 0, 0, 0, 0, 32, 0, 32, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 0, 5, 0, + 60, 0, 5, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 2,224, 1, 60, 0, + 32, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0,180, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 5, 0,128, 7, 56, 4,205,204,204, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,195,245, 28,193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, + 72,152, 71, 27, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,152, 71, 27, 1, 0, 0, 0, 88,156, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,232,152, 71, 27, 1, 0, 0, 0, + 8, 0, 0, 0, 1, 0, 0, 0,120,154, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0,110,101,116,119, +111,114,107, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,136,153, 71, 27, 1, 0, 0, 0,136,153, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,136,153, 71, 27, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115,101,114,118,101,114, 95, 97,100,100,114,101, +115,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,154, 71, 27, 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, 10, 0, 0, 0, 10, 0, 0, 0, + 68, 65, 84, 65, 12, 0, 0, 0, 40,154, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 91,100,101,102, 97,117,108,116, + 93, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,120,154, 71, 27, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 24,155, 71, 27, + 1, 0, 0, 0,232,152, 71, 27, 1, 0, 0, 0, 6, 0, 0, 0,112,111,115,101, 95,116,101,109,112,108, 97,116,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0,208, 4,213,102, 80, 0, 0, 0,158, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 96, 0, 0, 0, 24,155, 71, 27, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 88,156, 71, 27, 1, 0, 0, 0,120,154, 71, 27, + 1, 0, 0, 0, 6, 0, 0, 0, 99,103,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,155, 71, 27, 1, 0, 0, 0,184,155, 71, 27, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,184,155, 71, 27, + 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +114,101,115,112,111,110,115,101, 95, 99,117,114,118,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 88,156, 71, 27, 1, 0, 0, 0, 8, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,155, 71, 27, 1, 0, 0, 0, 6, 0, 0, 0, 99,121, 99,108,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,248,156, 71, 27, 1, 0, 0, 0, 56,158, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,248,156, 71, 27, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0,152,157, 71, 27, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,109, 97,120, 95, 98,111,117,110, 99,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 96, 0, 0, 0,152,157, 71, 27, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 56,158, 71, 27, 1, 0, 0, 0,248,156, 71, 27, + 1, 0, 0, 0, 1, 0, 0, 0,110,111, 95, 99, 97,117,115,116,105, 99,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4,213,103, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 88, 4,213,103, 80, 0, 0, 1, 16, 0, 0, 0, 1, 2,152,190, 32, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 4,213,103,208, 0, 0, 0,194, 0, 0, 0, 1, - 0, 0, 0, 0, 4,213, 97, 64, 4,213, 78, 48, 4,213, 77,176, 4,213, 76,240, 4,213, 77, 48, 0, 0, 0, 0, 0, 0, 3, 77, - 0, 0, 7,118, 0, 0, 2, 17, 0, 0, 4, 69, 8, 8, 4, 42, 2, 53, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4,213,108,224, 4,213,108,224, 4,213,104, 96, 4,213,107,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,248, 4,213,104, 96, 0, 0, 0,195, 0, 0, 0, 1, 4,213,105,128, 0, 0, 0, 0, 0, 0, 0, 0, - 67,248, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,133, 64, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 41, 0, 0, 0, 0, 0, 0, 0, 25, 68, 50, 64, 0, 65,200, 0, 0, 68, 50, 64, 0, 65,200, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 4, 12, 0, 10, 4, 42, 0, 26, 4, 42, 0, 26, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 77, 0, 0, 7,118, 0, 0, 2, 17, 0, 0, 2, 42, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4, 42, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213,105,128, 0, 0, 0,195, 0, 0, 0, 1, - 4,213,106,160, 4,213,104, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,118, 0, 0, 7,118, 0, 0, 2, 43, - 0, 0, 4, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 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, 68, 65, 84, 65, 0, 0, 0,248, - 4,213,106,160, 0, 0, 0,195, 0, 0, 0, 1, 4,213,107,192, 4,213,105,128,195,240, 0, 0, 67,240, 0, 0,195,135, 0, 0, - 67,135, 0, 0,196,216,187, 96, 68,216,187, 96,196, 91, 43,244, 68, 91, 43,244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 41, 0, 0, 0, 0, - 0, 0, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 70, 59,128, 0, 70, 59,128, 0, 55, 39,197,172, 71,195, 80, 0, 0, 0, 0, 0, - 0, 0, 0, 6, 0, 0, 4, 0, 0, 0, 4, 42, 2, 27, 4, 42, 2, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 77, 0, 0, 7,118, 0, 0, 2, 43, 0, 0, 4, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4, 42, 2, 27, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 4,213,107,192, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 4,213,106,160, - 0, 0, 0, 0, 67,122, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 67,122, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 1, 75, 0, 0, 0, 18, 0, 0, 2,201, 0, 0, 0, 0, 0, 0, 0, 17, - 0, 0, 0, 18, 0, 0, 2,201, 0, 0, 0, 18, 0, 0, 1, 75, 65, 32, 0, 0, 64,128, 0, 0, 72,146,124, 0, 66, 0, 0, 0, - 60, 35,215, 10, 66,200, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 2,202, 1, 76, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,216, 4,213,108,224, 0, 0, 0,160, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,128, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, - 0, 0, 5,128, 2,152,190, 32, 0, 0, 0,151, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 83, 67, 83, 99,101,110,101, 0,116, 97,103,101, 0, 97,105,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 4,213,110, 64, 0, 0, 0, 0, 2,152,196, 32, 4,213,120,240, 0, 0, 0, 0, 4,213,112,128, 4,213,113, 32, 4,213,112,128, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, - 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213,113,112, 2,208, 58, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,172, 68, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0,100, - 0, 0, 0, 1, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,128, 1,224, 0, 60, - 0, 32, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 50, 0,141, 7,128, 4, 56, 0, 8, 0, 8, 0, 0, 0, 24, 0, 17, - 0, 0, 0, 0, 0, 90, 0, 1, 0, 0, 0, 0, 0, 0, 0, 81, 0, 33, 0, 23, 0, 0, 0, 2, 0, 0, 0, 0, 0,128, 0, 0, - 0, 0, 0, 8, 0, 24, 0, 10, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213,116, 80, 4,213,116, 80, - 0, 0, 0, 1, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 1, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 5, 0, 2, 0, 1, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 47, 47, 98, 97, 99,107, 98,117,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 47,116,109,112, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5, 31, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 76,204,205, 63, 76,204,205, 63, 76,204,205, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 62,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 16, 63,128, 0, 0, 63,128, 0, 0, - 2,173, 0, 95, 63,217,153,154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0,180, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 66, 76, 69, 78, 68, 69, 82, 95, 82, 69, 78, 68, 69, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,172, 68, 63,128, 0, 0, 67,171,166,102, 63,128, 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, 4,213,116,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,209, 15, 64, - 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 65, 28,204,205, 0, 0, 0, 0, 0, 32, 0, 32, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 0, 5, - 0, 60, 0, 5, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,128, 1,224, 0, 60, - 0, 32, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0,180, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, - 7,128, 4, 56, 61,204,204,205, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -193, 28,245,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 76, 4,213,110, 64, 0, 0, 0, 8, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213,110,192, 4,213,112, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 76, 4,213,110,192, 0, 0, 0, 8, - 0, 0, 0, 1, 4,213,112, 0, 0, 0, 0, 0, 6, 0, 0, 0,110,101,116,119,111,114,107, 95,114,101,110,100,101,114, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213,111, 64, 4,213,111, 64, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 76, 4,213,111, 64, 0, 0, 0, 8, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115,101,114,118,101,114, 95, 97,100,100,114,101,115,115, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213,111,192, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 68, 65, 84, 65, 0, 0, 0, 12, 4,213,111,192, 0, 0, 0, 0, - 0, 0, 0, 1, 91,100,101,102, 97,117,108,116, 93, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 76, 4,213,112, 0, 0, 0, 0, 8, - 0, 0, 0, 1, 0, 0, 0, 0, 4,213,110,192, 6, 0, 0, 0,112,111,115,101, 95,116,101,109,112,108, 97,116,101,115, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 28, 4,213,112,128, 0, 0, 0,127, - 0, 0, 0, 1, 4,213,112,208, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2,208, 1,231, 2,152,202, 32, - 68, 65, 84, 65, 0, 0, 0, 28, 4,213,112,208, 0, 0, 0,127, 0, 0, 0, 1, 4,213,113, 32, 4,213,112,128, 0, 0, 0, 1, - 0, 0, 0, 2, 0, 0, 4, 0, 3,162, 3, 41, 2,152,208, 32, 68, 65, 84, 65, 0, 0, 0, 28, 4,213,113, 32, 0, 0, 0,127, - 0, 0, 0, 1, 0, 0, 0, 0, 4,213,112,208, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 4, 0, 0,159, 2, 73, 2,152,196, 32, - 68, 65, 84, 65, 0, 0, 1,152, 4,213,113,112, 0, 0, 0,147, 0, 0, 0, 1, 4,213,115, 48, 4,213,115,128, 4,213,115,208, - 63,128, 0, 0, 0, 1, 0, 1, 63, 76,204,205, 66,180, 0, 0, 0, 9, 0, 1, 63,128, 0, 0, 58,131, 18,111, 61,204,204,205, - 0, 0, 0, 1, 0, 32, 0, 32, 0, 32, 0, 1, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 0, 2,153,106, 32, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 80, - 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 0, 5,255,255, 0, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 72, 0, 0, 0, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 66,200, 0, 0, 0, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 72, 0, 0, 0, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 66, 72, 0, 0, 0, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 72, 0, 0, 0, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 66, 72, 0, 0, 0, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 72, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 60, 35,215, 10, 61,204,204,205, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, - 61,204,204,205, 61,204,204,205, 63,166,102,102, 63,192, 0, 0, 65,240, 0, 0, 63,122,225, 72, 61,204,204,205, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 2, 67, 0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, - 0, 0, 0, 35, 63,121,197,204, 63, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 36, 4,213,115, 48, 0, 0, 0,146, 0, 0, 0, 1, - 2,153, 30, 32, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 1, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 36, 4,213,115,128, 0, 0, 0,146, 0, 0, 0, 1, 2,153, 30, 32, 0, 0, 0, 0, -200,200,255,128, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 88, 4,213,115,208, 0, 0, 0,145, 0, 0, 0, 1, 2,153, 82, 32, 0, 0, 0, 0,255,100,100,128, 0, 0, 0, 1, - 0, 0, 0,128, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 65,231, 7,124, 65, 20, 74,255, 63,123, 86, 54, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 72, 4,213,116, 80, 0, 0, 0,133, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 56,158, 71, 27, + 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,157, 71, 27, 1, 0, 0, 0, 1, 0, 0, 0, +109, 97,120, 95,112, 97,115,115,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,158, 71, 27, 1, 0, 0, 0,127, 0, 0, 0, + 1, 0, 0, 0, 72,159, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 85, 2,238, 0, 56,126,106, 3, 1, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,159, 71, 27, 1, 0, 0, 0,127, 0, 0, 0, + 1, 0, 0, 0,184,159, 71, 27, 1, 0, 0, 0,216,158, 71, 27, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, +157, 1,239, 0, 56,120,106, 3, 1, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,159, 71, 27, 1, 0, 0, 0,127, 0, 0, 0, + 1, 0, 0, 0, 40,160, 71, 27, 1, 0, 0, 0, 72,159, 71, 27, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, + 39, 2,201, 0, 56,132,106, 3, 1, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,160, 71, 27, 1, 0, 0, 0,127, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,159, 71, 27, 1, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 4, 0, 0, +224, 46,118, 1, 56,114,106, 3, 1, 0, 0, 0, 68, 65, 84, 65,192, 1, 0, 0,152,160, 71, 27, 1, 0, 0, 0,147, 0, 0, 0, + 1, 0, 0, 0,152,162, 71, 27, 1, 0, 0, 0, 24,163, 71, 27, 1, 0, 0, 0,152,163, 71, 27, 1, 0, 0, 0, 0, 0,128, 63, + 1, 0, 1, 0,205,204, 76, 63, 0, 0,180, 66, 9, 0, 1, 0, 0, 0,128, 63,111, 18,131, 58,205,204,204, 61, 0, 0, 1, 0, + 32, 0, 32, 0, 32, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0,184,167, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 1, 0, 0, 0, 0, 0, 0, 0, + 2, 0, 80, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 0, 5, 0,255,255, 50, 0, 10, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 50, 0, 10, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 10,215, 35, 60,205,204,204, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 0,205,204,204, 61,205,204,204, 61,102,102,166, 63, + 0, 0,192, 63, 0, 0,240, 65, 72,225,122, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 67, 2, 0, 3, + 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 35, 0, 0, 0,204,197,121, 63, + 0, 0, 0, 63, 68, 65, 84, 65, 56, 0, 0, 0,152,162, 71, 27, 1, 0, 0, 0,146, 0, 0, 0, 1, 0, 0, 0, 40, 69, 72, 27, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 1, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 0, 0, 0, 24,163, 71, 27, + 1, 0, 0, 0,146, 0, 0, 0, 1, 0, 0, 0, 40, 69, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,200,255,128, + 1, 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, 68, 65, 84, 65, 96, 0, 0, 0,152,163, 71, 27, 1, 0, 0, 0,145, 0, 0, 0, 1, 0, 0, 0,152,136, 72, 27, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,100,100,128, 1, 0, 0, 0,128, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0,124, 7,231, 65,255, 74, 20, 65, 54, 86,123, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 88, 0, 0, 0, 56,164, 71, 27, 1, 0, 0, 0,133, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 76, 97,121,101,114, 0,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,255,255, 0, 0, 0, 0, 0, 0,127,255, 0, 0, 0, 0, 0, 0, 0, 3, - 0, 0, 0, 0, 0, 0, 67, 65, 0, 0, 0,104, 4,213,116,240, 0, 0, 0, 21, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 67, 97,109,101,114, 97, 0, 97,109,101,114, 97, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 63, 0, 0, 0, 61,204,204,205, 66,200, 0, 0, - 66, 12, 0, 0, 64,234, 14,161, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 76, 65, 0, 0, 1,108, 4,213,117,128, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 76, 65, 76, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 65,239,255,247, - 66,150, 0, 0, 62, 25,153,154, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 4,213,119, 32, 0, 2, 0, 0, 63,128, 26, 46, - 65,240, 4, 25, 66, 52, 0, 0, 63,128, 0, 0, 64, 64, 0, 0, 61, 76,204,205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 11, 64, 0, 3, 0, 1, 0, 0, 0, 2, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 58,131, 18,111, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 64, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213,120,160, - 68, 65, 84, 65, 0, 0, 1, 16, 4,213,119, 32, 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 2, 0, 1, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191, 53, 4,243, 63, 53, 4,242,191, 53, 4,242, - 63, 53, 4,243, 4,213,120, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 4,213,120, 96, 0, 0, 1, 74, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 32, 4,213,120,160, 0, 0, 0, 11, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 87, 79, 0, 0, 1,112, 4,213,120,240, 0, 0, 0,126, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 87,111,114,108,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 80, 99,114, 61, 80, 99,114, - 61, 80, 99,114, 60, 36, 54,199, 60, 36, 54,199, 60, 36, 54,199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 28,204,205, 0, 0, 0, 0, - 0, 0, 0, 32, 0,128, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,160, 0, 0, 65,200, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 65,112, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 65, 32, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 61, 76,204,205, 0, 0, 0, 5, 0, 0, 0, 0, - 59,163,215, 10, 0, 0, 0, 0, 62,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4,213,122,144, 68, 65, 84, 65, 0, 0, 0, 32, 4,213,122,144, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, - 0, 0, 4, 28, 2,152,196, 32, 0, 0, 0,114, 0, 0, 0, 1, 2,152,202, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 79, 66, 67, 97,109,101,114, 97, 0, 97,109,101,114, 97, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4,213,116,240, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 64,239,101,110,192,208, 62,150, 64,170,255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,141,254, 42, 60, 49, 57,192, 63, 80,159, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 47,149,222, 63, 58, 70, 53, -188, 49, 56,222, 0, 0, 0, 0,190,162,126, 86, 62,159,251,227, 63,101, 53, 55, 0, 0, 0, 0, 63, 39,165, 7,191, 28, 84,149, - 62,227,247, 51, 0, 0, 0, 0, 64,239,101,110,192,208, 62,150, 64,170,255, 78, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 1, 51,128, 0, 1, -179, 0, 0, 1, 0, 0, 0, 0, 51, 0, 0, 0, 63,128, 0, 0, 51,128, 0, 1, 0, 0, 0, 0,179, 0, 0, 2,167, 0, 0, 2, - 63,128, 0, 1, 0, 0, 0, 0, 53, 0, 0, 1, 41, 0, 0, 1,168,128, 0, 1, 63,128, 0, 0, 63, 47,149,221,190,162,126, 86, - 63, 39,165, 8, 0, 0, 0, 0, 63, 58, 70, 51, 62,159,251,225,191, 28, 84,149, 0, 0, 0, 0,188, 49, 56,192, 63,101, 53, 55, - 62,227,247, 52, 0, 0, 0, 0,190,173, 38, 90,190,192,222, 0,193, 52, 9,152, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, - 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 0, 79, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0,100, 0, 0, 0, 0,201,150,180, 56, 63,128, 0, 0, 63, 16,225,187, 63,128, 0, 0, 62,204,204,205, 63, 32, 54,237, - 0, 0, 0, 0, 61,117,194,143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4,213,122,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,144, 4,213,122,224, 0, 0, 0,117, 0, 0, 0, 1, - 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61,204,204,205, 62, 76,204,205, - 60,163,215, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 79, 66, 0, 0, 4, 28, 2,152,202, 32, 0, 0, 0,114, - 0, 0, 0, 1, 2,152,208, 32, 2,152,196, 32, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 67,117, 98,101, 0,112,104,101,114,101, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,182,152, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213,128,192, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4,213,123,160, 4,213,123,208, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, - 79, 66, 0, 0, 0, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0,201,150,180, 56, - 63,128, 0, 0, 60,208, 19,169, 63,128, 0, 0, 62,204,204,205, 62, 34,208,229, 0, 0, 0, 0, 61,117,194,143, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 1, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 1, 64, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213,124, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 9,182,150,192, 9,182,157,176, 0, 0, 0, 25, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 4, 4,213,123,160, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 4, - 4,213,123,208, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,144, 4,213,124, 0, 0, 0, 0,117, - 0, 0, 0, 1, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61,204,204,205, - 62, 76,204,205, 60,163,215, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 79, 66, 0, 0, 4, 28, 2,152,208, 32, - 0, 0, 0,114, 0, 0, 0, 1, 0, 0, 0, 0, 2,152,202, 32, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4,213,117,128, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,130,112,154, - 63,128,178,183, 64,188,236,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 38,123,229, 61, 98, 43, 87, - 63,238,229,229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,190,148,236, 54, 63,116,134, 25,189, 98, 13,236, 0, 0, 0, 0, -191, 69,102,221,190, 76,174, 57, 63, 26,194, 34, 0, 0, 0, 0, 63, 16,255, 37, 62, 95,161,241, 63, 75,111,164, 0, 0, 0, 0, - 64,130,112,154, 63,128,178,183, 64,188,236,112, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 50,128, 0, 1,179, 0, 0, 0, 0, 0, 0, 0, - 50,128, 0, 1, 63,128, 0, 1, 51, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 39, 0, 0, 1, 52, 0, 0, 1, 39,128, 0, 1, 63,128, 0, 0,190,148,236, 54,191, 69,102,221, 63, 16,255, 38, 0, 0, 0, 0, - 63,116,134, 24,190, 76,174, 57, 62, 95,161,239, 0, 0, 0, 0,189, 98, 13,237, 63, 26,194, 35, 63, 75,111,166, 0, 0, 0, 0, - 63, 13, 19,209,190,102, 65,241,192,231, 10, 10, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 1, - 0, 0, 0, 68, 79, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, -201,150,180, 56, 63,128, 0, 0, 60,208, 19,169, 63,128, 0, 0, 62,204,204,205, 62, 34,208,229, 0, 0, 0, 0, 61,117,194,143, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 1, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 64, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213,124,192, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,144, 4,213,124,192, 0, 0, 0,117, 0, 0, 0, 1, 0, 0,192, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61,204,204,205, 62, 76,204,205, 60,163,215, 10, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 77, 65, 0, 0, 2,160, 2,152,214, 32, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 2,208, 66, 32, 0, 0, 0, 0, 77, 65, 77, 97,116,101,114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 3, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 63, 76,204,205, 63, 76,204,205, - 63, 76,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63, 76,204,205, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 60, 35,215, 10, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 50, 62, 76,204,205, - 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,160, 0, 0, 0, 0, 0, 0, 63,160, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 2, 0, 2, 0, 50, 0, 6, 63,128, 0, 0, 63,128, 0, 0, 0, 18, 0, 18, 59,163,215, 10, - 59,163,215, 10, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 64, 0, 67, 3, 64, 0, 67, 0, 1, 0, 4, 0, 12, 0, 4, - 63, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 3, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64,128, 0, 0, 63, 0, 0, 0, 61,204,204,205, 63, 0, 0, 0, 61,204,204,205, - 61,204,204,205, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 4,213,125,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213,126,192, 63, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63, 26,148,111, 63, 26,148,111, 63, 26,148,111, 61, 76,204,205, 61,204,204,205, 63,166,102,102, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 16, 4,213,125,128, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4,213,127, 16, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 32, 4,213,126,192, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 96, 0, 0, 0, 32, - 0, 0, 0, 96, 0, 0, 0, 1, 0, 52, 0, 52, 2,152,218, 32, 2,117, 64, 32, 68, 65, 84, 65, 0, 0, 16, 0, 2,152,218, 32, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 51, 2, 2, 2, 51, - 6, 6, 6,153, 6, 6, 6,153, 6, 6, 6,153, 4, 4, 4,102, 3, 3, 3,102, 2, 2, 2, 51, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 51, 8, 8, 8,153, 11, 11, 11,204, 13, 13, 13,255, 12, 12, 12,255, - 12, 12, 12,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 4, 4, 4,102, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 3, 3, 51, 10, 10, 10,153, 18, 18, 18,255, 20, 20, 20,255, 22, 22, 22,255, 23, 23, 23,255, 22, 22, 22,255, - 20, 20, 20,255, 19, 19, 19,255, 16, 16, 16,255, 14, 14, 14,255, 11, 11, 11,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, - 9, 9, 9,255, 8, 8, 8,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 7, 7,102, 19, 19, 19,204, 27, 27, 27,255, 31, 31, 31,255, 32, 32, 32,255, 33, 33, 33,255, 33, 33, 33,255, 31, 31, 31,255, - 30, 30, 30,255, 27, 27, 27,255, 25, 25, 25,255, 22, 22, 22,255, 19, 19, 19,255, 16, 16, 16,255, 12, 12, 12,255, 10, 10, 10,255, - 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 4, 4, 4,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,153, - 29, 29, 29,255, 37, 37, 37,255, 40, 40, 40,255, 42, 42, 42,255, 42, 42, 42,255, 43, 43, 43,255, 41, 41, 41,255, 40, 40, 40,255, - 38, 38, 38,255, 36, 36, 36,255, 33, 33, 33,255, 30, 30, 30,255, 27, 27, 27,255, 24, 24, 24,255, 20, 20, 20,255, 16, 16, 16,255, - 12, 12, 12,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 7, 7, 7,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,102, 37, 37, 37,255, - 44, 44, 44,255, 48, 48, 48,255, 50, 50, 50,255, 51, 51, 51,255, 51, 51, 51,255, 50, 50, 50,255, 49, 49, 49,255, 48, 48, 48,255, - 45, 45, 45,255, 43, 43, 43,255, 41, 41, 41,255, 37, 37, 37,255, 34, 34, 34,255, 31, 31, 31,255, 28, 28, 28,255, 24, 24, 24,255, - 20, 20, 20,255, 15, 15, 15,255, 11, 11, 11,255, 10, 10, 10,255, 11, 11, 11,255, 7, 7, 7,153, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,102, 41, 41, 41,255, 50, 50, 50,255, - 54, 54, 54,255, 57, 57, 57,255, 58, 58, 58,255, 59, 59, 59,255, 59, 59, 59,255, 58, 58, 58,255, 57, 57, 57,255, 55, 55, 55,255, - 53, 53, 53,255, 51, 51, 51,255, 48, 48, 48,255, 45, 45, 45,255, 41, 41, 41,255, 38, 38, 38,255, 35, 35, 35,255, 31, 31, 31,255, - 27, 27, 27,255, 23, 23, 23,255, 17, 17, 17,255, 12, 12, 12,255, 11, 11, 11,255, 11, 11, 11,255, 5, 5, 5,102, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 36, 36,204, 53, 53, 53,255, 59, 59, 59,255, - 63, 63, 63,255, 65, 65, 65,255, 66, 66, 66,255, 66, 66, 66,255, 66, 66, 66,255, 65, 65, 65,255, 64, 64, 64,255, 62, 62, 62,255, - 60, 60, 60,255, 57, 57, 57,255, 54, 54, 54,255, 51, 51, 51,255, 48, 48, 48,255, 44, 44, 44,255, 41, 41, 41,255, 37, 37, 37,255, - 33, 33, 33,255, 29, 29, 29,255, 24, 24, 24,255, 19, 19, 19,255, 13, 13, 13,255, 11, 11, 11,255, 12, 12, 12,255, 3, 3, 3, 51, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19,102, 56, 56, 56,255, 64, 64, 64,255, 68, 68, 68,255, - 71, 71, 71,255, 73, 73, 73,255, 74, 74, 74,255, 74, 74, 74,255, 73, 73, 73,255, 72, 72, 72,255, 71, 71, 71,255, 69, 69, 69,255, - 67, 67, 67,255, 64, 64, 64,255, 61, 61, 61,255, 58, 58, 58,255, 54, 54, 54,255, 50, 50, 50,255, 47, 47, 47,255, 43, 43, 43,255, - 39, 39, 39,255, 34, 34, 34,255, 30, 30, 30,255, 25, 25, 25,255, 19, 19, 19,255, 13, 13, 13,255, 12, 12, 12,255, 10, 10, 10,204, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 54, 54,255, 66, 66, 66,255, 72, 72, 72,255, 77, 77, 77,255, - 79, 79, 79,255, 81, 81, 81,255, 81, 81, 81,255, 81, 81, 81,255, 80, 80, 80,255, 79, 79, 79,255, 77, 77, 77,255, 75, 75, 75,255, - 73, 73, 73,255, 70, 70, 70,255, 67, 67, 67,255, 63, 63, 63,255, 60, 60, 60,255, 56, 56, 56,255, 52, 52, 52,255, 49, 49, 49,255, - 44, 44, 44,255, 40, 40, 40,255, 35, 35, 35,255, 30, 30, 30,255, 24, 24, 24,255, 18, 18, 18,255, 12, 12, 12,255, 12, 12, 12,255, - 6, 6, 6,102, 0, 0, 0, 0, 0, 0, 0, 0, 22, 22, 22,102, 67, 67, 67,255, 76, 76, 76,255, 81, 81, 81,255, 84, 84, 84,255, - 87, 87, 87,255, 88, 88, 88,255, 88, 88, 88,255, 88, 88, 88,255, 87, 87, 87,255, 86, 86, 86,255, 84, 84, 84,255, 82, 82, 82,255, - 79, 79, 79,255, 76, 76, 76,255, 73, 73, 73,255, 69, 69, 69,255, 65, 65, 65,255, 62, 62, 62,255, 58, 58, 58,255, 54, 54, 54,255, - 49, 49, 49,255, 45, 45, 45,255, 40, 40, 40,255, 35, 35, 35,255, 29, 29, 29,255, 23, 23, 23,255, 16, 16, 16,255, 12, 12, 12,255, - 12, 12, 12,204, 0, 0, 0, 0, 0, 0, 0, 0, 49, 49, 49,204, 76, 76, 76,255, 84, 84, 84,255, 89, 89, 89,255, 92, 92, 92,255, - 94, 94, 94,255, 95, 95, 95,255, 95, 95, 95,255, 95, 95, 95,255, 94, 94, 94,255, 93, 93, 93,255, 91, 91, 91,255, 88, 88, 88,255, - 85, 85, 85,255, 82, 82, 82,255, 79, 79, 79,255, 75, 75, 75,255, 71, 71, 71,255, 67, 67, 67,255, 63, 63, 63,255, 59, 59, 59,255, - 55, 55, 55,255, 50, 50, 50,255, 45, 45, 45,255, 40, 40, 40,255, 34, 34, 34,255, 28, 28, 28,255, 21, 21, 21,255, 13, 13, 13,255, - 14, 14, 14,255, 0, 0, 0, 0, 14, 14, 14,102, 70, 70, 70,255, 85, 85, 85,255, 92, 92, 92,255, 97, 97, 97,255,100,100,100,255, -102,102,102,255,102,102,102,255,103,103,103,255,102,102,102,255,101,101,101,255, 99, 99, 99,255, 97, 97, 97,255, 94, 94, 94,255, - 91, 91, 91,255, 88, 88, 88,255, 84, 84, 84,255, 81, 81, 81,255, 77, 77, 77,255, 72, 72, 72,255, 68, 68, 68,255, 64, 64, 64,255, - 59, 59, 59,255, 55, 55, 55,255, 50, 50, 50,255, 44, 44, 44,255, 39, 39, 39,255, 32, 32, 32,255, 25, 25, 25,255, 17, 17, 17,255, - 13, 13, 13,255, 7, 7, 7,102, 24, 24, 24,102, 80, 80, 80,255, 93, 93, 93,255,100,100,100,255,104,104,104,255,107,107,107,255, -109,109,109,255,109,109,109,255,109,109,109,255,109,109,109,255,107,107,107,255,106,106,106,255,103,103,103,255,100,100,100,255, - 97, 97, 97,255, 94, 94, 94,255, 90, 90, 90,255, 86, 86, 86,255, 82, 82, 82,255, 77, 77, 77,255, 73, 73, 73,255, 69, 69, 69,255, - 64, 64, 64,255, 59, 59, 59,255, 54, 54, 54,255, 49, 49, 49,255, 43, 43, 43,255, 36, 36, 36,255, 29, 29, 29,255, 21, 21, 21,255, - 14, 14, 14,255, 10, 10, 10,153, 29, 29, 29,102, 89, 89, 89,255,100,100,100,255,107,107,107,255,112,112,112,255,114,114,114,255, -116,116,116,255,116,116,116,255,116,116,116,255,115,115,115,255,114,114,114,255,112,112,112,255,110,110,110,255,107,107,107,255, -104,104,104,255,100,100,100,255, 96, 96, 96,255, 92, 92, 92,255, 87, 87, 87,255, 83, 83, 83,255, 78, 78, 78,255, 73, 73, 73,255, - 68, 68, 68,255, 63, 63, 63,255, 58, 58, 58,255, 52, 52, 52,255, 46, 46, 46,255, 40, 40, 40,255, 33, 33, 33,255, 24, 24, 24,255, - 17, 17, 17,255, 13, 13, 13,204, 46, 46, 46,153, 95, 95, 95,255,107,107,107,255,114,114,114,255,118,118,118,255,121,121,121,255, -122,122,122,255,123,123,123,255,123,123,123,255,122,122,122,255,122,122,122,255,120,120,120,255,118,118,118,255,114,114,114,255, -110,110,110,255,106,106,106,255,101,101,101,255, 97, 97, 97,255, 92, 92, 92,255, 87, 87, 87,255, 83, 83, 83,255, 78, 78, 78,255, - 73, 73, 73,255, 68, 68, 68,255, 62, 62, 62,255, 56, 56, 56,255, 50, 50, 50,255, 44, 44, 44,255, 36, 36, 36,255, 28, 28, 28,255, - 19, 19, 19,255, 12, 12, 12,204, 47, 47, 47,153,101,101,101,255,113,113,113,255,120,120,120,255,125,125,125,255,127,127,127,255, -129,129,129,255,130,130,130,255,130,130,130,255,131,131,131,255,131,131,131,255,131,131,131,255,129,129,129,255,125,125,125,255, -120,120,120,255,113,113,113,255,108,108,108,255,103,103,103,255, 97, 97, 97,255, 92, 92, 92,255, 87, 87, 87,255, 82, 82, 82,255, - 77, 77, 77,255, 72, 72, 72,255, 66, 66, 66,255, 60, 60, 60,255, 54, 54, 54,255, 47, 47, 47,255, 39, 39, 39,255, 31, 31, 31,255, - 22, 22, 22,255, 12, 12, 12,204, 48, 48, 48,153,106,106,106,255,118,118,118,255,126,126,126,255,131,131,131,255,134,134,134,255, -135,135,135,255,137,137,137,255,138,138,138,255,142,142,142,255,147,147,147,255,149,149,149,255,148,148,148,255,142,142,142,255, -133,133,133,255,124,124,124,255,115,115,115,255,108,108,108,255,102,102,102,255, 97, 97, 97,255, 92, 92, 92,255, 87, 87, 87,255, - 81, 81, 81,255, 75, 75, 75,255, 69, 69, 69,255, 63, 63, 63,255, 57, 57, 57,255, 49, 49, 49,255, 42, 42, 42,255, 33, 33, 33,255, - 24, 24, 24,255, 9, 9, 9,153, 32, 32, 32,102,109,109,109,255,123,123,123,255,131,131,131,255,136,136,136,255,140,140,140,255, -142,142,142,255,144,144,144,255,148,148,148,255,156,156,156,255,168,168,168,255,176,176,176,255,177,177,177,255,168,168,168,255, -153,153,153,255,137,137,137,255,124,124,124,255,114,114,114,255,107,107,107,255,101,101,101,255, 96, 96, 96,255, 90, 90, 90,255, - 85, 85, 85,255, 79, 79, 79,255, 72, 72, 72,255, 66, 66, 66,255, 59, 59, 59,255, 52, 52, 52,255, 44, 44, 44,255, 35, 35, 35,255, - 26, 26, 26,255, 10, 10, 10,153, 17, 17, 17, 51,110,110,110,255,127,127,127,255,136,136,136,255,142,142,142,255,145,145,145,255, -148,148,148,255,151,151,151,255,159,159,159,255,174,174,174,255,195,195,195,255,212,212,212,255,216,216,216,255,204,204,204,255, -179,179,179,255,154,154,154,255,135,135,135,255,121,121,121,255,112,112,112,255,106,106,106,255, 99, 99, 99,255, 94, 94, 94,255, - 88, 88, 88,255, 82, 82, 82,255, 76, 76, 76,255, 69, 69, 69,255, 62, 62, 62,255, 54, 54, 54,255, 46, 46, 46,255, 37, 37, 37,255, - 26, 26, 26,255, 6, 6, 6,102, 0, 0, 0, 0,107,107,107,255,130,130,130,255,140,140,140,255,146,146,146,255,150,150,150,255, -153,153,153,255,158,158,158,255,169,169,169,255,191,191,191,255,219,219,219,255,246,246,246,255,254,254,254,255,237,237,237,255, -204,204,204,255,170,170,170,255,145,145,145,255,127,127,127,255,117,117,117,255,110,110,110,255,103,103,103,255, 97, 97, 97,255, - 91, 91, 91,255, 85, 85, 85,255, 78, 78, 78,255, 71, 71, 71,255, 64, 64, 64,255, 55, 55, 55,255, 47, 47, 47,255, 37, 37, 37,255, - 25, 25, 25,255, 3, 3, 3, 51, 0, 0, 0, 0, 65, 65, 65,153,129,129,129,255,142,142,142,255,149,149,149,255,154,154,154,255, -158,158,158,255,163,163,163,255,176,176,176,255,199,199,199,255,232,232,232,255,255,255,255,255,255,255,255,255,255,255,255,255, -220,220,220,255,181,181,181,255,151,151,151,255,132,132,132,255,121,121,121,255,113,113,113,255,106,106,106,255,100,100,100,255, - 94, 94, 94,255, 87, 87, 87,255, 80, 80, 80,255, 73, 73, 73,255, 65, 65, 65,255, 57, 57, 57,255, 48, 48, 48,255, 38, 38, 38,255, - 16, 16, 16,153, 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, 21, 51,127,127,127,255,143,143,143,255,152,152,152,255,157,157,157,255, -161,161,161,255,165,165,165,255,177,177,177,255,198,198,198,255,227,227,227,255,253,253,253,255,255,255,255,255,250,250,250,255, -217,217,217,255,181,181,181,255,153,153,153,255,135,135,135,255,124,124,124,255,117,117,117,255,110,110,110,255,103,103,103,255, - 96, 96, 96,255, 89, 89, 89,255, 82, 82, 82,255, 74, 74, 74,255, 66, 66, 66,255, 57, 57, 57,255, 48, 48, 48,255, 35, 35, 35,255, - 10, 10, 10,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 93, 93,204,141,141,141,255,153,153,153,255,159,159,159,255, -163,163,163,255,167,167,167,255,174,174,174,255,188,188,188,255,209,209,209,255,228,228,228,255,234,234,234,255,224,224,224,255, -200,200,200,255,173,173,173,255,151,151,151,255,136,136,136,255,127,127,127,255,119,119,119,255,112,112,112,255,105,105,105,255, - 98, 98, 98,255, 90, 90, 90,255, 83, 83, 83,255, 75, 75, 75,255, 66, 66, 66,255, 57, 57, 57,255, 46, 46, 46,255, 24, 24, 24,204, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 20, 20, 51,134,134,134,255,151,151,151,255,160,160,160,255, -164,164,164,255,167,167,167,255,171,171,171,255,178,178,178,255,189,189,189,255,200,200,200,255,202,202,202,255,195,195,195,255, -180,180,180,255,163,163,163,255,148,148,148,255,137,137,137,255,129,129,129,255,121,121,121,255,114,114,114,255,107,107,107,255, - 99, 99, 99,255, 91, 91, 91,255, 83, 83, 83,255, 74, 74, 74,255, 65, 65, 65,255, 55, 55, 55,255, 41, 41, 41,255, 7, 7, 7, 51, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 49, 49,102,145,145,145,255,157,157,157,255, -164,164,164,255,167,167,167,255,170,170,170,255,172,172,172,255,176,176,176,255,180,180,180,255,179,179,179,255,174,174,174,255, -165,165,165,255,155,155,155,255,145,145,145,255,137,137,137,255,130,130,130,255,122,122,122,255,115,115,115,255,107,107,107,255, - 99, 99, 99,255, 91, 91, 91,255, 82, 82, 82,255, 73, 73, 73,255, 63, 63, 63,255, 50, 50, 50,255, 22, 22, 22,153, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 78, 78,153,149,149,149,255, -160,160,160,255,166,166,166,255,168,168,168,255,169,169,169,255,170,170,170,255,169,169,169,255,167,167,167,255,164,164,164,255, -158,158,158,255,151,151,151,255,144,144,144,255,137,137,137,255,130,130,130,255,123,123,123,255,115,115,115,255,106,106,106,255, - 98, 98, 98,255, 89, 89, 89,255, 80, 80, 80,255, 70, 70, 70,255, 58, 58, 58,255, 27, 27, 27,153, 3, 3, 3, 51, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 80, 80,153, -150,150,150,255,160,160,160,255,165,165,165,255,167,167,167,255,167,167,167,255,166,166,166,255,163,163,163,255,160,160,160,255, -155,155,155,255,149,149,149,255,143,143,143,255,137,137,137,255,129,129,129,255,121,121,121,255,113,113,113,255,105,105,105,255, - 96, 96, 96,255, 86, 86, 86,255, 76, 76, 76,255, 63, 63, 63,255, 38, 38, 38,204, 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 15, 0, 0, 0, 0, 0,255,127, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 73, 77, 0, 0,240, 1, 0, 0,216,164, 71, 27, 1, 0, 0, 0, 23, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 73, 77, 82,101,110,100,101,114, 32, 82,101,115,117,108,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 78, 78, 78,153,147,147,147,255,157,157,157,255,161,161,161,255,163,163,163,255,162,162,162,255,160,160,160,255,157,157,157,255, -152,152,152,255,147,147,147,255,141,141,141,255,135,135,135,255,127,127,127,255,119,119,119,255,110,110,110,255,101,101,101,255, - 91, 91, 91,255, 80, 80, 80,255, 66, 66, 66,255, 32, 32, 32,153, 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,134,134,134,255,148,148,148,255,154,154,154,255,155,155,155,255,154,154,154,255,152,152,152,255, -147,147,147,255,142,142,142,255,136,136,136,255,130,130,130,255,122,122,122,255,114,114,114,255,104,104,104,255, 93, 93, 93,255, - 81, 81, 81,255, 54, 54, 54,204, 22, 22, 22,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 73, 73,153,103,103,103,204,137,137,137,255,140,140,140,255,140,140,140,255, -137,137,137,255,133,133,133,255,127,127,127,255,120,120,120,255,113,113,113,255,102,102,102,255, 91, 91, 91,255, 64, 64, 64,204, - 28, 28, 28,102, 6, 6, 6, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 46, 46,102, 72, 72, 72,153, - 72, 72, 72,153, 92, 92, 92,204, 88, 88, 88,204, 81, 81, 81,204, 54, 54, 54,153, 35, 35, 35,102, 16, 16, 16, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0,144, 0, 2,117, 64, 32, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 54,178,229, 76, 0, 0, 0, 4, 0, 4, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 67, 65, 0, 0,136, 0, 0, 0, 8,167, 71, 27, + 1, 0, 0, 0, 21, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 67, 97,109,101,114, 97, 0, 97,109,101,114, 97, 46, 48, 48, 49, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,216,167, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, + 0, 0, 0, 63,205,204,204, 61, 0, 0,200, 66, 0, 0, 12, 66, 0, 0,224, 64, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 72, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,216,167, 71, 27, + 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,168, 71, 27, 1, 0, 0, 0,120,168, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,120,168, 71, 27, 1, 0, 0, 0, 8, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 99,121, 99,108,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 87, 79, 0, 0,232, 1, 0, 0, 24,169, 71, 27, 1, 0, 0, 0,126, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 87,111, +114,108,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 72,171, 71, 27, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115, 93,229, 62,115, 93,229, 62,115, 93,229, 62, +199, 54, 36, 60,199, 54, 36, 60,199, 54, 36, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 28, 65, 0, 0, 0, 0, 0, 0, 32, 0, +128, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 64, 0, 0,200, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0,112, 65, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 61, 0, 0, 5, 0, 0, 0, 0, 0, 10,215,163, 59, + 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,152,182, 71, 27, 1, 0, 0, 0,200,173, 71, 27, + 1, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 72,171, 71, 27, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,171, 71, 27, + 1, 0, 0, 0,232,171, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 96, 0, 0, 0,232,171, 71, 27, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, 0, 0, 99,121, 99,108,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,172, 71, 27, 1, 0, 0, 0, 40,173, 71, 27, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,136,172, 71, 27, + 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 40,173, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, +115,117,110,115,107,121, 95,116,117,114, 98,105,100,105,116,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,225, 10, 64, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 40,173, 71, 27, 1, 0, 0, 0, 8, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,172, 71, 27, 1, 0, 0, 0, 1, 0, 0, 0,117,115,101, 95,115,117,110,115, +107,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0,200,173, 71, 27, 1, 0, 0, 0, 54, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 84, 83,104, + 97,100,101,114, 32, 78,111,100,101,116,114,101,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,175, 71, 27, 1, 0, 0, 0,104,176, 71, 27, + 1, 0, 0, 0, 24,182, 71, 27, 1, 0, 0, 0, 24,182, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,227, 55, 2, + 1, 0, 0, 0,152, 11, 56, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0, 24,175, 71, 27, 1, 0, 0, 0, 52, 1, 0, 0, 1, 0, 0, 0,104,176, 71, 27, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97, 99,107,103,114,111,117,110,100, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,130, 0, 17, 0, 1, 0,255, 15, 0, 0, 0, 0, + 0, 0, 0, 0,184,177, 71, 27, 1, 0, 0, 0,152,178, 71, 27, 1, 0, 0, 0,120,179, 71, 27, 1, 0, 0, 0,120,179, 71, 27, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0,150, 67, 0, 0, 22, 67, + 0, 0, 40, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,241, 55, 2, + 1, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0,104,176, 71, 27, 1, 0, 0, 0, 52, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 24,175, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,111,114,108,100, 32, 79,117,116,112,117,116, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,125, 0, 65, 0, 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 88,180, 71, 27, 1, 0, 0, 0, 56,181, 71, 27, 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,150, 67, 0, 0,150, 67, 0, 0,240, 66, + 0, 0, 40, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,253, 55, 2, + 1, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,184,177, 71, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0,152,178, 71, 27, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108,111,114, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 96,229, 62, 66, 96,229, 62, 66, 96,229, 62, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,152,178, 71, 27, + 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,177, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 83,116,114,101,110,103,116,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,116, 73, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,120,179, 71, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97, 99,107,103,114,111,117,110,100, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, 88,180, 71, 27, + 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 56,181, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 83,117,114,102, 97, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,182, 71, 27, + 1, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, 56,181, 71, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 88,180, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,111,108,117,109,101, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 0, 0, 0, 24,182, 71, 27, + 1, 0, 0, 0, 53, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,175, 71, 27, + 1, 0, 0, 0,104,176, 71, 27, 1, 0, 0, 0,120,179, 71, 27, 1, 0, 0, 0, 88,180, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,182, 71, 27, 1, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 37, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 79, 66, 0, 0, 16, 5, 0, 0, 56,114,106, 3, 1, 0, 0, 0,114, 0, 0, 0, 1, 0, 0, 0, 56,120,106, 3, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 67, 97, +109,101,114, 97, 0, 97,109,101,114, 97, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,167, 71, 27, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,153, 58,254, 64,161,159,227,192, 16,159,193, 64, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,228,139, 63,161, 81, 99, 37,101, 59, 71, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4, 79, 54, 63,133,184, 51, 63,161, 81, 99,165, 0, 0, 0, 0,198, 79,165,190, 40,177,167, 62, +161, 81, 99, 63, 0, 0, 0, 0,236,149, 31, 63, 50,226, 33,191,163,121,235, 62, 0, 0, 0, 0,153, 58,254, 64,161,159,227,192, + 16,159,193, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 1, 0,128, 63, 0, 0, 0, 0, 2, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 1, 0, 0,179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,128, 63, 0, 0, 0, 0, 1, 0, 0,181, 0, 0, 0, 53, + 1, 0, 0,169, 0, 0,128, 63, 3, 79, 54, 63,198, 79,165,190,235,149, 31, 63, 0, 0, 0, 0,132,184, 51, 63, 40,177,167, 62, + 49,226, 33,191, 0, 0, 0, 0, 0, 0,128,177,160, 81, 99, 63,161,121,235, 62, 0, 0, 0, 0,147,251, 41,191, 99,175,244,190, + 37,188, 67,193, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 0, 0, 79, 66, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63, +187,225, 16, 63, 0, 0,128, 63,205,204,204, 62,237, 54, 32, 63, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,183, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, 8,183, 71, 27, 1, 0, 0, 0,117, 0, 0, 0, + 1, 0, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61, +205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 79, 66, 0, 0, + 16, 5, 0, 0, 56,120,106, 3, 1, 0, 0, 0,114, 0, 0, 0, 1, 0, 0, 0, 56,126,106, 3, 1, 0, 0, 0, 56,114,106, 3, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 67,117, 98,101, 46, 48, 48, 49, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,244,166, 19, 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, 72,232, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,185, 71, 27, + 1, 0, 0, 0,104,185, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,183, 71, 27, 1, 0, 0, 0, 56,184, 71, 27, + 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,209, 16,232,191, 98,117,149,191,200,200, 95, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95,194,178, 63, 95,194,178, 63, 96,194,178, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,115, 96,129, 63,250, 26,173, 62, 82,198,159, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 87,212,213, 62, 55,241,159, 63, 8, 44,237,190, 0, 0, 0, 0, 65, 71, 20,191,254,125, 27, 63,124,224,142, 63, 0, 0, 0, 0, +242,159,153, 63,130, 21, 17,190, 87, 43, 51, 63, 0, 0, 0, 0,209, 16,232,191, 98,117,149,191,200,200, 95, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63,255,255,159,179,255,255,255, 50, 0, 0, 0, 0,255,255,191,178,254,255,127, 63,253,255,127, 50, 0, 0, 0, 0, +255,255,143, 37,254,255, 63,178, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 52,254,255,127,180, 0, 0, 64, 28, 0, 0,128, 63, + 80, 69, 91, 62, 43, 13,152,190,174,136, 29, 63, 0, 0, 0, 0, 28, 3, 36, 63,231,114,159, 62,155,198,148,189, 0, 0, 0, 0, + 0, 53,115,190, 54,131, 18, 63,123,186,183, 62, 0, 0, 0, 0,142, 5,172, 63, 35,210, 44,191,180,151, 55, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 4, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63, 10,215, 35, 61, 0, 0,128, 63, +205,204,204, 62,205,204,204, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, + 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,184, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,201,166, 19, + 1, 0, 0, 0,168,237,166, 19, 1, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0,232,183, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 56,184, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,152, 0, 0, 0,136,184, 71, 27, 1, 0, 0, 0,117, 0, 0, 0, 1, 0, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 68, 65, 84, 65,104, 0, 0, 0,104,185, 71, 27, 1, 0, 0, 0, + 73, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 23, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83,117, 98,115,117,114,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56,106,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 8, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56,244, 85, 3, 1, 0, 0, 0, 79, 66, 0, 0, 16, 5, 0, 0, 56,126,106, 3, 1, 0, 0, 0, +114, 0, 0, 0, 1, 0, 0, 0, 56,132,106, 3, 1, 0, 0, 0, 56,120,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 77,111,110,107,101,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,120,209,166, 19, 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,216,240, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, + 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, + 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,186, 71, 27, 1, 0, 0, 0,184,186, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 24,186, 71, 27, 1, 0, 0, 0,104,186, 71, 27, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, +160, 28,114, 62,244, 49, 56, 62, 27,139, 34, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,208,229,153, 63,208,229,153, 63,208,229,153, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,203,198,106, 63, + 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208,229,153, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,214, 45, 59, 63, 7, 87,116, 63, 0, 0, 0, 0, 0, 0, 0, 0, 7, 87,116,191,214, 45, 59, 63, + 0, 0, 0, 0,160, 28,114, 62,244, 49, 56, 62, 27,139, 34, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,179, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0,128, 63,176,235, 84, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,169,123, 1, 63, 82, 6, 41,191, 0, 0, 0, 0, 0, 0, 0, 0, 83, 6, 41, 63,169,123, 1, 63, + 0, 0, 0, 0,155, 94, 73,190, 98,156, 2,191,236, 60, 79,190, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, + 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, + 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63, 10,215, 35, 61, 0, 0,128, 63,205,204,204, 62,205,204,204, 61, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,193,166, 19, 1, 0, 0, 0,184,215,166, 19, 1, 0, 0, 0, + 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0, + 24,186, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, +104,186, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,104, 0, 0, 0,184,186, 71, 27, + 1, 0, 0, 0, 73, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,117, 98,115,117,114,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,106,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, + 2, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 62, 11, 3, 1, 0, 0, 0, 79, 66, 0, 0, 16, 5, 0, 0, 56,132,106, 3, + 1, 0, 0, 0,114, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,126,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 80,108, 97,110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,242,166, 19, 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, 40,248, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0, +250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,187, 71, 27, 1, 0, 0, 0,184,187, 71, 27, 1, 0, 0, 0, 1, 0, 0, 0, + 1, 0, 0, 0,236, 14,234,190,237, 14,106, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0,139,136, 64, 0,139,136, 64, 0,139,136, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,139,136, 64, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,139,136, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,139,136, 64, 0, 0, 0, 0,236, 14,234,190,237, 14,106, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,170,251,111, 62, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,251,111, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +170,251,111, 62, 0, 0, 0, 0, 6,106,219, 61, 7,106, 91,189, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63, 10,215, 35, 61, 0, 0,128, 63,205,204,204, 62,205,204,204, 61, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,223,166, 19, 1, 0, 0, 0,248,152,166, 19, + 1, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 8, 0, 0, 0,104,187, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 4, 0, 0, 0,184,187, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 77, 65, 0, 0, 32, 3, 0, 0, + 8,188, 71, 27, 1, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0,232,201, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +104,199, 1, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 77, 97,116,101,114,105, 97,108, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,104,191, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,205,204, 76, 63,197,250,231, 62, 26,107,229, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 10,215, 35, 60, 0, 0, 0, 0, + 0, 0, 8, 0, 1, 0, 50, 0,205,204, 76, 62, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,160, 63, + 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 2, 0, 50, 0, 0, 6, 0, 0,128, 63, + 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 67, 0, 64, 3, + 67, 0, 64, 3, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0,128, 64, 0, 0, 0, 63, +205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,168,192, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +120,201, 71, 27, 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 61,205,204,204, 61, +102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,104,191, 71, 27, 1, 0, 0, 0, + 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 8,192, 71, 27, 1, 0, 0, 0, 8,192, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 8,192, 71, 27, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 99,121, 99,108,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 8, 1, 0, 0,168,192, 71, 27, 1, 0, 0, 0, 54, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 84, 83,104, 97,100,101,114, + 32, 78,111,100,101,116,114,101,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,193, 71, 27, 1, 0, 0, 0, 72,195, 71, 27, 1, 0, 0, 0, +248,200, 71, 27, 1, 0, 0, 0,248,200, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,227, 55, 2, 1, 0, 0, 0, +152, 11, 56, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 8, 1, 0, 0,248,193, 71, 27, 1, 0, 0, 0, 52, 1, 0, 0, 1, 0, 0, 0, 72,195, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,152,183, 1, 24, 1, 0, 0, 0, 68,105,102,102,117,115,101, 32, 66, 83, 68, 70, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,132, 0, 1, 0, 1, 0,255, 15, 0, 0, 0, 0, 0, 0, 0, 0, +152,196, 71, 27, 1, 0, 0, 0,152,196, 71, 27, 1, 0, 0, 0,120,197, 71, 27, 1, 0, 0, 0,120,197, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,210,215, 68, 67,233,222,225, 67, 0, 0, 22, 67, 0, 0, 40, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,210,215, 68, 67,233,107,173, 67, +233,222,190, 67,233,222,225, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,210,215, 78, 67,233,107,168, 67, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,242, 55, 2, 1, 0, 0, 0, + 68, 65, 84, 65, 8, 1, 0, 0, 72,195, 71, 27, 1, 0, 0, 0, 52, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +248,193, 71, 27, 1, 0, 0, 0,184,250, 0, 24, 1, 0, 0, 0, 77, 97,116,101,114,105, 97,108, 32, 79,117,116,112,117,116, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 0, 81, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 88,198, 71, 27, 1, 0, 0, 0, 24,200, 71, 27, 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,233,107,198, 67,233,222,225, 67, 0, 0,240, 66, 0, 0, 40, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233,107,198, 67,244, 53, 1, 68, +233, 94,183, 67,233,222,225, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233,107,203, 67,232,107,253, 67, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,252, 55, 2, 1, 0, 0, 0, + 68, 65, 84, 65,152, 0, 0, 0,152,196, 71, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,200,202, 1, 24, 1, 0, 0, 0, 67,111,108,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,128, 11,174, 62,147,183,249, 61, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,210,215, 68, 67,233, 94,198, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,120,197, 71, 27, 1, 0, 0, 0, + 50, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 48, 1, 24, 1, 0, 0, 0, + 66, 83, 68, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233,107,173, 67, +233, 94,208, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,152, 0, 0, 0, 88,198, 71, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 56,199, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,248, 71,207, 20, 1, 0, 0, 0, 83,117,114,102, 97, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233,107,198, 67,233,222,210, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,248,200, 71, 27, 1, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, 56,199, 71, 27, 1, 0, 0, 0, + 50, 1, 0, 0, 1, 0, 0, 0, 24,200, 71, 27, 1, 0, 0, 0, 88,198, 71, 27, 1, 0, 0, 0,216, 43, 1, 24, 1, 0, 0, 0, + 86,111,108,117,109,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233,107,198, 67, +233,222,200, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,152, 0, 0, 0, 24,200, 71, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56,199, 71, 27, 1, 0, 0, 0,248,189, 1, 24, 1, 0, 0, 0, 68,105,115,112,108, 97, 99,101,109,101,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233,107,198, 67,233,222,190, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 0, 0, 0,248,200, 71, 27, 1, 0, 0, 0, + 53, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,193, 71, 27, 1, 0, 0, 0, + 72,195, 71, 27, 1, 0, 0, 0,120,197, 71, 27, 1, 0, 0, 0, 88,198, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,120,201, 71, 27, 1, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 96, 0, 0, 0, + 32, 0, 0, 0, 96, 0, 0, 0, 0, 0, 1, 0,141, 0,141, 0, 56,138,106, 3, 1, 0, 0, 0, 56,156,106, 3, 1, 0, 0, 0, + 68, 65, 84, 65, 0, 16, 0, 0, 56,138,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5502,6 +6735,8 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0,144, 0, 0, + 56,156,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6497,20 +7732,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, - 0, 0, 1, 48, 4,213,127, 16, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 84, 69, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 64,160, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 64, 0, 0, 0, 64, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 32, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 1, 0, 3, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 60,204,204,205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 2, 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, 4,213,128,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 32, 4,213,128,112, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 96, 0, 0, 0, 32, - 0, 0, 0, 96, 0, 0, 0, 1, 0, 16, 0, 15, 2,152,236, 32, 2,117,224, 32, 68, 65, 84, 65, 0, 0, 16, 0, 2,152,236, 32, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6638,7 +7859,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0,144, 0, 2,117,224, 32, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6668,18 +7888,116 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 0, 0, 32, 3, 0, 0,232,201, 71, 27, 1, 0, 0, 0, + 35, 0, 0, 0, 1, 0, 0, 0,104,218, 71, 27, 1, 0, 0, 0, 8,188, 71, 27, 1, 0, 0, 0, 56,211, 55, 23, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 77, 97,116,101,114,105, 97,108, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 53, 3, 0, 0, 72,205, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 41,172, 62, +205,204, 76, 63,199,247, 57, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63,205,204, 76, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 10,215, 35, 60, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 50, 0, +205,204, 76, 62, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 2, 0, 50, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0, + 10,215,163, 59, 10,215,163, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 67, 0, 64, 3, 67, 0, 64, 3, 1, 0, 4, 0, + 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 1, 1, + 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0,128, 64, 0, 0, 0, 63,205,204,204, 61, 0, 0, 0, 63, +205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +136,206, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,217, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 61,205,204,204, 61,102,102,166, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 72,205, 71, 27, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +232,205, 71, 27, 1, 0, 0, 0,232,205, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 96, 0, 0, 0,232,205, 71, 27, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 99,121, 99,108,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0, +136,206, 71, 27, 1, 0, 0, 0, 54, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 84, 83,104, 97,100,101,114, 32, 78,111,100,101,116,114,101, +101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,216,207, 71, 27, 1, 0, 0, 0, 40,209, 71, 27, 1, 0, 0, 0,120,217, 71, 27, 1, 0, 0, 0, +120,217, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,227, 55, 2, 1, 0, 0, 0,152, 11, 56, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0, +216,207, 71, 27, 1, 0, 0, 0, 52, 1, 0, 0, 1, 0, 0, 0, 40,209, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 8,109, 57, 2, 1, 0, 0, 0, 68,105,102,102,117,115,101, 32,119,105,116,104, 32, 67,111, 97,116,105,110,103, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 51, 0, 1, 0,255, 15, 0, 0, 0, 0, 0, 0, 0, 0,120,210, 71, 27, 1, 0, 0, 0, + 24,213, 71, 27, 1, 0, 0, 0,248,213, 71, 27, 1, 0, 0, 0,248,213, 71, 27, 1, 0, 0, 0,216, 0, 72, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,188,107, 70, 67, 19, 88,247, 67, 0, 0, 72, 67, 0, 0, 40, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,188,107, 70, 67,222, 53,199, 67, 19, 88,182, 67, 19, 88,247, 67, + 0, 0, 0, 0, 0, 0, 52, 67, 0, 0, 0, 0, 0, 0, 0, 0,188,107, 80, 67,222, 53,194, 67, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,227, 55, 2, 1, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0, + 40,209, 71, 27, 1, 0, 0, 0, 52, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,207, 71, 27, 1, 0, 0, 0, +136, 74, 58, 2, 1, 0, 0, 0, 77, 97,116,101,114,105, 97,108, 32, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,124, 0, 64, 0, 1, 0,254, 15, 0, 0, 0, 0, 0, 0, 1, 0,216,214, 71, 27, 1, 0, 0, 0, +152,216, 71, 27, 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, 94, 74, 8, 68,211, 14,234, 67, 40, 9, 52, 67, 0, 0, 40, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 74, 8, 68,168, 76, 53, 68,211,142,191, 67,211, 14,234, 67, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94,202, 10, 68,168,204, 50, 68, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,252, 55, 2, 1, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, +120,210, 71, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 88,211, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56,149, 54, 23, 1, 0, 0, 0, 67,111,108,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 89, 9, 71, 62, 70,124, 29, 63,178, 24,163, 61, 0, 0,128, 63, 0, 0, 0,207, 0, 0, 0, 79, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,188,107, 70, 67, 19,216,219, 67, 11, 0, 0, 0,232, 21, 72, 27, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, 88,211, 71, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, + 56,212, 71, 27, 1, 0, 0, 0,120,210, 71, 27, 1, 0, 0, 0, 56,222, 54, 23, 1, 0, 0, 0, 67,111, 97,116, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,205,204, 76, 63, +205,204, 76, 63, 0, 0,128, 63, 0, 0, 0,207, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,188,107, 70, 67, 19,216,209, 67, 12, 0, 0, 0, +200, 22, 72, 27, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, + 56,212, 71, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 24,213, 71, 27, 1, 0, 0, 0, 88,211, 71, 27, 1, 0, 0, 0, + 72,170, 54, 23, 1, 0, 0, 0, 82,111,117,103,104,110,101,115,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 0, 0, 0, 79, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,188,107, 70, 67, 19,216,199, 67, 13, 0, 0, 0,168, 23, 72, 27, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, 24,213, 71, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56,212, 71, 27, 1, 0, 0, 0, 24,184, 54, 23, 1, 0, 0, 0, 66,108,101,110,100, 0,108, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 51, 51, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,188,107, 70, 67, 19,216,189, 67, 15, 0, 0, 0, +136, 24, 72, 27, 1, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, +248,213, 71, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56, 7, 56, 23, 1, 0, 0, 0, 67,108,111,115,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 0, 0, 0, 79, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,222, 53,199, 67, 19,216,229, 67, 16, 0, 0, 0,104, 25, 72, 27, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,216,214, 71, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, +184,215, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,171, 54, 23, 1, 0, 0, 0, 83,117,114,102, 97, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3, 0, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 74, 8, 68,211, 14,219, 67, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,217, 71, 27, 1, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, +184,215, 71, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0,152,216, 71, 27, 1, 0, 0, 0,216,214, 71, 27, 1, 0, 0, 0, +232,161, 53, 23, 1, 0, 0, 0, 86,111,108,117,109,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 94, 74, 8, 68,211, 14,209, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,152,216, 71, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,184,215, 71, 27, 1, 0, 0, 0,184,103, 57, 2, 1, 0, 0, 0, 68,105,115,112,108, 97, 99,101, +109,101,110,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 74, 8, 68,211, 14,199, 67, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 0, 0, 0, +120,217, 71, 27, 1, 0, 0, 0, 53, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +216,207, 71, 27, 1, 0, 0, 0, 40,209, 71, 27, 1, 0, 0, 0,248,213, 71, 27, 1, 0, 0, 0,216,214, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,217, 71, 27, 1, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, + 32, 0, 0, 0, 96, 0, 0, 0, 32, 0, 0, 0, 96, 0, 0, 0, 0, 0, 1, 0, 72, 4, 72, 4, 56, 46,107, 3, 1, 0, 0, 0, + 56, 64,107, 3, 1, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0, 56, 46,107, 3, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6808,6 +8126,7 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 0,144, 0, 0, 56, 64,107, 3, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7790,20 +9109,7 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, - 0, 0, 1, 24, 4,213,128,192, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 77, 69, 67,117, 98,101, 0,112,104,101,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213,130, 0, 4,213,136, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 4,213,131,176, 4,213,134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4,213,130, 48, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4,213,132,128, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213,134,192, - 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 12, - 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 51,128, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 4, 63,128, 0, 4, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 67, 0, 30, 0, 6, 0, 1, 0, 1, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 4, 4,213,130, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2,152,214, 32, - 68, 65, 84, 65, 0, 0, 1, 84, 4,213,130, 48, 0, 0, 1, 81, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213,131,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7812,15 +9118,7 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,160, 4,213,131,176, 0, 0, 0, 52, 0, 0, 0, 8, 63,128, 0, 0, - 63,127,255,255,191,128, 0, 0, 73,230, 73,230,182, 26, 1, 0, 63,128, 0, 0,191,128, 0, 0,191,128, 0, 0, 73,230,182, 26, -182, 26, 1, 0,191,128, 0, 1,191,127,255,253,191,128, 0, 0,182, 26,182, 26,182, 26, 1, 0,191,127,255,250, 63,128, 0, 3, -191,128, 0, 0,182, 26, 73,230,182, 26, 1, 0, 63,128, 0, 4, 63,127,255,247, 63,128, 0, 0, 73,230, 73,230, 73,230, 1, 0, - 63,127,255,245,191,128, 0, 5, 63,128, 0, 0, 73,230,182, 26, 73,230, 1, 0,191,128, 0, 3,191,127,255,250, 63,128, 0, 0, -182, 26,182, 26, 73,230, 1, 0,191,127,255,255, 63,128, 0, 0, 63,128, 0, 0,182, 26, 73,230, 73,230, 1, 0, 68, 65, 84, 65, - 0, 0, 1, 84, 4,213,132,128, 0, 0, 1, 81, 0, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213,134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7829,39 +9127,11 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,144, 4,213,134, 0, 0, 0, 0, 49, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 35, 0, 0, 0, 1, - 0, 0, 0, 2, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 35, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 35, - 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0, 35, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 35, 0, 0, 0, 4, 0, 0, 0, 5, - 0, 0, 0, 35, 0, 0, 0, 4, 0, 0, 0, 7, 0, 0, 0, 35, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 35, 0, 0, 0, 6, - 0, 0, 0, 7, 0, 0, 0, 35, 68, 65, 84, 65, 0, 0, 1, 84, 4,213,134,192, 0, 0, 1, 81, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,213,136, 64, - 0, 0, 0, 6, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 75,138,139, 0, 0, 0, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 75,138,139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,120, 4,213,136, 64, 0, 0, 0, 48, - 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 7, - 0, 0, 0, 6, 0, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 2, - 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0, 7, - 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 2, 0, 0, 66, 82, - 0, 0, 2,204, 2,152,254, 32, 0, 0, 1, 80, 0, 0, 0, 1, 2,153, 2, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 65,100,100, 0,104, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4,213,138, 32, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7869,42 +9139,11 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, - 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, - 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 16, 2,152,254,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 16, 4,213,138, 32, 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, 61,194,189, 54,191,126,215, 14, - 61,194,189, 46, 4,213,139, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 4,213,139, 96, 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,153, 2, 32, 0, 0, 1, 80, 0, 0, 0, 1, 2,153, 6, 32, - 2,152,254, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,108,111, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, - 0, 0, 0, 0, 4,213,139,192, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7912,43 +9151,12 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35, 0, 4, 4, 4, - 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 62,199,174, 20, 62,199,174, 20, 62,199,174, 20, - 62,199,174, 20, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 2,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 4,213,139,192, 0, 0, 1, 76, 0, 0, 0, 1, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, -191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 4,213,141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 4,213,141, 0, 0, 0, 1, 74, - 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, - 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,153, 6, 32, - 0, 0, 1, 80, 0, 0, 0, 1, 2,153, 10, 32, 2,153, 2, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,108,117,114, 0, 46, - 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4,213,141, 96, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7956,42 +9164,10 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 12, 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 6,108, - 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, - 4,213,141, 96, 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, - 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, 61,194,189, 54,191,126,215, 14, 61,194,189, 46, 4,213,142,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 48, 4,213,142,160, 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, - 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 66, 82, 0, 0, 2,204, 2,153, 10, 32, 0, 0, 1, 80, 0, 0, 0, 1, 2,153, 14, 32, 2,153, 6, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 66, 82, 66,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4,213,143, 0, - 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7999,42 +9175,3840 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, - 0, 0, 0, 33, 0, 0, 0, 0, 63,128, 0, 0, 62,199,174, 20, 62,199,174, 20, 62,199,174, 20, 62,199,174, 20, 63,128, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 10,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 4,213,143, 0, 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46, -191,127,255,224,186,255, 97,114, 4,213,144, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 4,213,144, 64, 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,153, 14, 32, 0, 0, 1, 80, 0, 0, 0, 1, - 2,153, 18, 32, 2,153, 10, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,108, 97,121, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 4,213,144,160, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 0, 0, 32, 3, 0, 0, +104,218, 71, 27, 1, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,201, 71, 27, 1, 0, 0, 0, +152, 71,119, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 77, 97,116,101,114,105, 97,108, 46, 48, 48, 50, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,200,221, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,205,204, 76, 63,103,102, 70, 63, 51, 51, 51, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 10,215, 35, 60, 0, 0, 0, 0, + 0, 0, 8, 0, 1, 0, 50, 0,205,204, 76, 62, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,160, 63, + 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 2, 0, 50, 0, 0, 6, 0, 0,128, 63, + 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 67, 0, 64, 3, + 67, 0, 64, 3, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0,128, 64, 0, 0, 0, 63, +205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 8,223, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +216,231, 71, 27, 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 61,205,204,204, 61, +102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,200,221, 71, 27, 1, 0, 0, 0, + 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,104,222, 71, 27, 1, 0, 0, 0,104,222, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,104,222, 71, 27, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 99,121, 99,108,101,115, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 8, 1, 0, 0, 8,223, 71, 27, 1, 0, 0, 0, 54, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 84, 83,104, 97,100,101,114, + 32, 78,111,100,101,116,114,101,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,224, 71, 27, 1, 0, 0, 0,168,225, 71, 27, 1, 0, 0, 0, + 88,231, 71, 27, 1, 0, 0, 0, 88,231, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,227, 55, 2, 1, 0, 0, 0, +152, 11, 56, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 8, 1, 0, 0, 88,224, 71, 27, 1, 0, 0, 0, 52, 1, 0, 0, 1, 0, 0, 0,168,225, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 88, 26,119, 23, 1, 0, 0, 0, 68,105,102,102,117,115,101, 32, 66, 83, 68, 70, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,132, 0, 1, 0, 1, 0,255, 15, 0, 0, 0, 0, 0, 0, 0, 0, +248,226, 71, 27, 1, 0, 0, 0,248,226, 71, 27, 1, 0, 0, 0,216,227, 71, 27, 1, 0, 0, 0,216,227, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 66, 23, 67,160,192,230, 67, 0, 0, 22, 67, 0, 0, 40, 66, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 66, 23, 67,124,161,150, 67, +160,192,195, 67,160,192,230, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 66, 33, 67,124,161,145, 67, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,242, 55, 2, 1, 0, 0, 0, + 68, 65, 84, 65, 8, 1, 0, 0,168,225, 71, 27, 1, 0, 0, 0, 52, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 88,224, 71, 27, 1, 0, 0, 0,120,199,118, 23, 1, 0, 0, 0, 77, 97,116,101,114,105, 97,108, 32, 79,117,116,112,117,116, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 0, 80, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, +184,228, 71, 27, 1, 0, 0, 0,120,230, 71, 27, 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,124,161,175, 67,160,192,230, 67, 0, 0,240, 66, 0, 0, 40, 66, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,161,175, 67,124,161,235, 67, +160, 64,188, 67,160,192,230, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,161,180, 67,124,161,230, 67, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,252, 55, 2, 1, 0, 0, 0, + 68, 65, 84, 65,152, 0, 0, 0,248,226, 71, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56,247,118, 23, 1, 0, 0, 0, 67,111,108,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,211, 63, 71, 63, 40, 46, 57, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 66, 23, 67,160, 64,203, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,216,227, 71, 27, 1, 0, 0, 0, + 50, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,248,118, 23, 1, 0, 0, 0, + 66, 83, 68, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,161,150, 67, +160, 64,213, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,152, 0, 0, 0,184,228, 71, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0,152,229, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,168,200,118, 23, 1, 0, 0, 0, 83,117,114,102, 97, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,161,175, 67,160,192,215, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 88,231, 71, 27, 1, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,152,229, 71, 27, 1, 0, 0, 0, + 50, 1, 0, 0, 1, 0, 0, 0,120,230, 71, 27, 1, 0, 0, 0,184,228, 71, 27, 1, 0, 0, 0,248, 0,119, 23, 1, 0, 0, 0, + 86,111,108,117,109,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,161,175, 67, +160,192,205, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,152, 0, 0, 0,120,230, 71, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +152,229, 71, 27, 1, 0, 0, 0,152, 2,119, 23, 1, 0, 0, 0, 68,105,115,112,108, 97, 99,101,109,101,110,116, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,161,175, 67,160,192,195, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 0, 0, 0, 88,231, 71, 27, 1, 0, 0, 0, + 53, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,224, 71, 27, 1, 0, 0, 0, +168,225, 71, 27, 1, 0, 0, 0,216,227, 71, 27, 1, 0, 0, 0,184,228, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 40, 0, 0, 0,216,231, 71, 27, 1, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 96, 0, 0, 0, + 32, 0, 0, 0, 96, 0, 0, 0, 0, 0, 1, 0,218, 0,218, 0, 56,210,107, 3, 1, 0, 0, 0, 56,228,107, 3, 1, 0, 0, 0, + 68, 65, 84, 65, 0, 16, 0, 0, 56,210,107, 3, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0,144, 0, 0, + 56,228,107, 3, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 0, 0,176, 1, 0, 0, 72,232, 71, 27, 1, 0, 0, 0, + 46, 0, 0, 0, 1, 0, 0, 0,216,240, 71, 27, 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, 77, 69, 67,117, 98,101, 46, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 4, 0, 0, 0, 0, 56,234, 71, 27, 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, +120,235, 71, 27, 1, 0, 0, 0, 56,206,108, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56,118,108, 3, 1, 0, 0, 0, 56,158,108, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +200,235, 71, 27, 1, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,120,237, 71, 27, 1, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,239, 71, 27, 1, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, + 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,251, 1, 0, 0,237, 3, 0, 0, +244, 1, 0, 0, 0, 0, 0, 0,255,255,255,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, + 56,234, 71, 27, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,234, 71, 27, 1, 0, 0, 0,216,234, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,216,234, 71, 27, 1, 0, 0, 0, + 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 99,121, 99,108, +101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0,120,235, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +232,201, 71, 27, 1, 0, 0, 0, 68, 65, 84, 65,104, 1, 0, 0,200,235, 71, 27, 1, 0, 0, 0, 93, 1, 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56,118,108, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,156, 39, 0, 0, 56,118,108, 3, 1, 0, 0, 0, 52, 0, 0, 0,251, 1, 0, 0, +213,154,157, 62,224, 12, 65, 62,255,191,216, 62, 84, 95, 36,189, 38, 53, 1, 0,135, 82,232,190,208,134,189, 61,190,218,157, 62, +140,168, 26,166,138, 25, 1, 0, 23,127,194, 62,104, 2,254, 61, 57,151,191, 62, 85, 69,237,212,151, 98, 1, 0,103, 34,251,190, +128,211,106, 60, 58,144,120, 62,157,173,206,193,172, 75, 1, 0,166, 95,225, 62,184,210,165, 61,181, 53,149, 62,114, 82, 22,207, +207, 84, 1, 0,128, 4, 3,191, 0,202, 31,189,105, 46, 23, 62,231,166,119,185,230, 58, 1, 0,237,231,138, 62, 0, 49, 95,187, +151, 47,159, 62, 64, 15,255,157,230, 80, 1, 0,171,109,174,190,144,239,164,189,243,183, 95, 62, 37,242, 84,154,129, 76, 1, 0, +201,205,128, 62,128, 13,107, 61,228, 24,200, 62,253, 7,113,175, 36, 99, 1, 0,205,135,184,190,128,189,161,188, 71,197,152, 62, + 82,239, 85,172,106, 95, 1, 0,110, 18,111, 62, 0,157, 29, 62,244, 54,220, 62,110, 11, 54,140, 85, 53, 1, 0, 83,204,193,190, +224, 67,157, 61, 86,227,172, 62, 2, 2, 6,139,233, 51, 1, 0, 55, 72, 36, 62, 32,198, 50, 62,135,140,219, 62, 22,176, 57,164, +170, 39, 1, 0, 59,144,161,190, 88,176,234, 61, 59,189,182, 62,178, 84,249,184,135, 64, 1, 0, 20, 85,232, 61, 8,217,201, 61, +197,212,195, 62, 15,191,106,194,128, 91, 1, 0,158,232,117,190,176, 41, 93, 61,167,124,168, 62,112, 48,180,208,160,108, 1, 0, + 92, 6,184, 61, 80,129, 65, 61,164, 15,154, 62, 92,183,132,177, 84, 70, 1, 0,186,129, 58,190,192, 97, 84, 60,234, 6,133, 62, +210, 65,248,194, 62, 91, 1, 0,128,121,139, 59,156,204, 79, 62, 98, 75,138, 62,108,141,124,253,253, 56, 1, 0,178,230, 6,190, +128, 63, 62, 62, 32,142,127, 62, 20, 90, 70, 23,230, 87, 1, 0,112,127, 60, 61, 40, 61, 98, 62,255,144,180, 62,157,153, 13, 2, +200, 76, 1, 0, 6,139, 75,190,136,165, 66, 62,165,162,161, 62,238, 71, 5, 24, 28,103, 1, 0,232,104, 1, 62,248,233,116, 62, + 12,160,211, 62,123,130,121,245,187, 22, 1, 0,199, 37,151,190, 76,129, 62, 62,197, 5,179, 62, 28,112,107, 19,159, 58, 1, 0, + 66,138, 21, 62, 16,133,162, 62,146, 83,207, 62,245,157,201, 81,253, 8, 1, 0, 55,239,168,190, 22,206,131, 62, 71,132,170, 62, + 71, 68,191,102, 28, 34, 1, 0, 28,251,178, 61, 38,204,182, 62,254,182,173, 62,240,176, 57, 72, 28, 70, 1, 0,217, 74,136,190, + 20,251,159, 62,223, 94,146, 62, 65, 35,161, 86, 96, 87, 1, 0, 88,117,102, 61,202,212,194, 62,171, 21,123, 62,104,169, 8, 81, + 37, 48, 1, 0,166,231, 92,190,174, 71,177, 62, 54, 4, 81, 62,122, 46,205, 97, 62, 68, 1, 0,183, 95,101, 62,184,140,238, 62, +219, 13,110, 62,121,249, 26,117, 65, 51, 1, 0,187,165,198,190, 52, 15,199, 62,115,102, 15, 62,185,218, 58,113,156, 46, 1, 0, + 12,179, 91, 62,236,111,217, 62, 31,171,168, 62, 83,245, 10,107, 92, 69, 1, 0, 15,124,203,190,106,242,177, 62, 4,175,114, 62, +188,219,208,103,127, 65, 1, 0,203,182, 90, 62,168,204,179, 62, 0, 86,203, 62,183,242,237,126,202, 9, 1, 0, 49,250,203,190, + 40, 79,140, 62,122, 2,156, 62,167,234,233,125,146, 8, 1, 0,208, 59,150, 62,106,168,169, 62, 33,135,204, 62,137, 79, 61, 97, +132, 24, 1, 0,131,177,239,190,104, 7,113, 62,224,161,145, 62,170,151, 16, 74,190,252, 1, 0,147, 40,181, 62,120,214,195, 62, +114,121,169, 62,253, 56,108, 83,149, 78, 1, 0,120, 60, 4,191,122,172,139, 62,125, 84, 76, 62, 40,160, 41, 64,128, 55, 1, 0, +181, 44,208, 62, 80, 25,212, 62,250, 97,113, 62,210, 66,196, 87,236, 64, 1, 0,246,157, 11,191, 96,171,150, 62,152, 73,188, 61, +251,153,124, 66,107, 39, 1, 0,209,240,252, 62,192, 98,128, 62, 72,148,133, 62,150, 98,157, 22,110, 78, 1, 0,138, 12, 24,191, + 16,185,232, 61,123,197,197, 61,118,136, 32,251,124, 45, 1, 0, 1,219,216, 62,104, 36,132, 62,113,209,177, 62, 27, 88,115, 23, +213, 89, 1, 0, 90, 61, 14,191, 80,234, 9, 62,242, 48, 76, 62,165,142, 16,254,103, 59, 1, 0,221,155,168, 62, 24,150,132, 62, +165,146,209, 62,122,118, 4, 18,246, 44, 1, 0,147, 43,249,190,128,221, 31, 62,118,120,146, 62,231,128, 18,243,222, 7, 1, 0, +255,233,170, 62, 52, 16,134, 62, 9, 5,217, 62,159,117, 34, 18, 25, 47, 1, 0,247,211,253,190, 80, 16, 33, 62,159,221,152, 62, + 11,129, 80,243, 40, 10, 1, 0, 28, 48,152, 62, 8,158,174, 62,131,100,211, 62,104, 77,132, 97,177, 29, 1, 0,187,179,244,190, + 72, 49,121, 62,240,113,151, 62, 16,152,169, 74, 76, 2, 1, 0, 40,200, 85, 62, 90, 82,188, 62,188,141,212, 62, 83,241,140,124, +154, 25, 1, 0,131,113,206,190,208,212,148, 62, 8, 58,165, 62,234,231, 92,123, 46, 24, 1, 0,170, 88, 10, 62,220, 30,167, 62, +134,153,216, 62,236,159,130, 79,206, 28, 1, 0,123,145,167,190,148, 72,137, 62,140,215,180, 62, 63, 61, 86, 99,145, 52, 1, 0, + 68,233,223, 61,240, 69,118, 62,123,244,220, 62,251,132,190,247, 90, 34, 1, 0,229,242,145,190,216, 95, 67, 62,147,116,190, 62, +222,105,150, 20,237, 68, 1, 0, 12,126, 26, 62,176, 11, 46, 62,128,252,229, 62,100,177, 66,172,122, 56, 1, 0,203,126,159,190, + 40,190,228, 61,111, 58,194, 62,166, 76,211,191,238, 79, 1, 0,225, 47, 94, 62, 20,173,130, 62, 57,212,232, 62, 70, 2,164, 20, + 76,126, 1, 0,155, 61,202,190, 28, 95, 54, 62,133,128,185, 62, 40,212,212, 14, 85,119, 1, 0,140,242,108, 62, 36,204, 18, 62, +118,194,231, 62, 0, 9,182,145, 83, 64, 1, 0, 71,220,194,190, 64,162,135, 61,239,110,184, 62,186,255,139,144,237, 62, 1, 0, +205, 66,160, 62,252, 9, 61, 62, 80,199,224, 62, 12, 93, 70,189, 51, 57, 1, 0, 11,161,236,190,112,254,177, 61,234,212,164, 62, +113,169,163,166, 18, 30, 1, 0,108, 29,190,189, 60,205,188, 62,236, 33,157, 62,225,237,208,125, 1, 15, 1, 0, 32,153,199,189, +194, 42,159, 62,143,142,197, 62, 25,235,177, 15, 76,125, 1, 0,128,182,185, 59,244, 29, 25,191,102, 81,236, 62, 60,235,105, 14, +121,125, 1, 0, 88, 47, 6,189,153,236,142,190,222, 78,230, 62,241,255,236,157, 60, 82, 1, 0,128, 84, 63,189,236, 93, 37,190, +165, 85,227, 62,236,232, 57,110,212, 60, 1, 0, 48,163,132, 60,252,135, 46,191,146, 97,236, 62, 83, 2,150,150,144, 72, 1, 0, + 60,143,143,189,224, 2,169, 62,160, 46, 65, 62,196,234,100,119,246, 40, 1, 0,164,162,163,189, 88, 17,240, 62,200, 13, 13, 62, +130,231,159, 92,224, 84, 1, 0, 80,145, 99, 61,250, 13, 28, 63, 44, 97, 96,191, 53, 1, 55, 94, 96,169, 1, 0,222,242, 4, 62, + 68, 30,142, 62, 28,172,139,191, 41, 16,174, 21,229,130, 1, 0,112,165, 45, 62, 28,114, 23,190, 14,210,127,191, 9, 24,102,200, + 64,143, 1, 0,150,157, 14, 62,232, 11,246,190, 42,102, 5,191, 24, 19,116,131,130,233, 1, 0,149,125, 40, 62,120,177, 45,190, +159, 49,137, 62, 2,115,163,224,153, 46, 1, 0,170,149, 65,190,144, 83, 91,190, 1,179, 91, 62,158,143,250,195, 64, 12, 1, 0, + 86,161,143, 62, 2,160,191,190, 7,164,166, 62,100,115,120, 45,160, 31, 1, 0,167,227,134,190, 60,186,226,190, 37, 37,121, 62, +250,128,235, 14, 3,251, 1, 0,230,158,172, 62, 81, 45, 24,191,236,121,188, 62, 42,117, 13, 31, 29, 41, 1, 0,175,182,140,190, + 15,236, 43,191, 79, 38,141, 62, 18,128, 41, 0, 24, 4, 1, 0,136, 76,191, 62, 57,145, 68,191,181,198,186, 62,125,119,128, 0, +224, 45, 1, 0, 21,246,135,190,160, 48, 89,191,161, 88,137, 62,243,131,207,225, 23, 9, 1, 0,197,239,176, 62,209, 28, 82,191, +185,194,184, 62,103, 88,241,175,116, 46, 1, 0,118, 4,103,190,147,138,100,191,206,150,140, 62, 27,180, 60,155,163, 21, 1, 0, +105,250, 90, 62,117,119, 90,191,110, 91,190, 62,192, 28, 16,139, 95, 43, 1, 0,128,163,202,189,255,142,100,191, 2, 43,166, 62, + 40,245, 18,134,100, 37, 1, 0,200,209, 98, 61,111, 55, 98,191,220,206,189, 62,237, 7, 26,137,184, 46, 1, 0,183,239,188, 62, + 12,117,219,189,192,162,135, 62, 29, 56,134,145, 18, 32, 1, 0,163,253,200,190,254, 3, 80,190,253,122, 25, 62,141,221, 28,134, +100, 18, 1, 0, 74,105, 7, 63, 0,208,114, 59, 20,173,144, 62,110, 80, 25,169,151, 48, 1, 0,238,150, 18,191, 4, 95, 10,190, +189,243,237, 61,133,188,117,150, 64, 26, 1, 0, 22, 63, 50, 63,180,111, 52, 62,138,168, 76, 62, 50,121,139,218, 13, 17, 1, 0, +174,202, 62,191,128,107,179,187, 48,108,146,188,247,147,167,189,110,238, 1, 0,246, 77, 45, 63,168, 52,227, 62,107, 58,149, 62, +162,100, 46, 71,124, 34, 1, 0,222,168, 81,191,128,172,130, 62,122, 41,134, 61,144,135, 81, 43, 24, 1, 1, 0,100,211, 9, 63, +152, 82,245, 62, 50, 1,149, 62,243, 48,188,116,243, 18, 1, 0,118,253, 50,191,232,118,165, 62,146, 50,213, 61,219,176,151,100, +154,255, 1, 0, 37, 51,168, 62,164,182, 16, 63,230, 59,153, 62,148, 61, 19,111,229, 15, 1, 0,228, 59, 7,191,240, 35,234, 62, + 10,244, 45, 62,111,167, 39, 92, 56,249, 1, 0, 5, 30, 34, 62,228, 68, 48, 63,165,201,150, 62,242, 12, 58,127, 74, 5, 1, 0, +119,108,204,190,112, 71, 30, 63,235, 85, 87, 62,156,211, 0,120,161,252, 1, 0, 64, 3,126, 60,244,187, 35, 63, 64, 9,153, 62, +224,166,203, 91,107,252, 1, 0, 89, 82,131,190,100,245, 26, 63,134, 0,132, 62, 65, 61,191,110, 33, 19, 1, 0, 40,149, 56,189, +236,176,220, 62,190, 36,160, 62, 80,145, 29, 64,137,251, 1, 0,170,141, 29,190,176,171,213, 62,227,186,151, 62, 46, 88, 45, 89, +146, 25, 1, 0,136,117, 63, 61,148, 32,193, 62, 88, 46,183, 62,236, 15, 57,252,242,126, 1, 0,170,148,116,190,210,178,174, 62, +121, 24,161, 62, 67,205,210,243,224,116, 1, 0,128,110,192, 60,188,168,141, 62, 88, 61,185, 62, 77,241,217,249,255,126, 1, 0, +242,194, 70,190,124, 60,127, 62,140,105,168, 62, 43,234,243,248,236,125, 1, 0, 20, 85,232, 61, 8,217,201, 61,197,212,195, 62, + 64,221, 5,245,178,122, 1, 0,158,232,117,190,176, 41, 93, 61,167,124,168, 62, 37,255, 75,249,209,127, 1, 0, 97, 32,141, 62, +240,142, 53, 61,251,234,195, 62,126, 24,200,234,211,123, 1, 0,203, 24,193,190, 16,109, 27,189,172,111,145, 62,121,202,242,224, + 10,112, 1, 0, 85,152,193, 62,176, 97,192, 61,200,120,186, 62,254, 39, 95,230,218,118, 1, 0,163, 18,245,190, 0, 29,102,188, +253,109,112, 62,164,190, 24,217,241,102, 1, 0,205,237,248, 62,128,111, 91, 62,199,183,175, 62,133, 39,123,253,183,121, 1, 0, + 14, 14, 26,191,248, 12,158, 61,186, 41, 55, 62,163,184,129,239,247,104, 1, 0, 75,250,250, 62,184, 89,159, 62, 32,159,168, 62, + 6, 29, 17,252,153,124, 1, 0, 78,254, 31,191,224,199, 46, 62,128,195, 36, 62,219,193,148,240,212,110, 1, 0, 91,226,228, 62, + 16, 5,193, 62,207, 23,167, 62,169, 14,136,238,242,125, 1, 0, 2,162, 25,191, 20,229,122, 62, 47, 57, 44, 62, 11,210,228,230, +202,116, 1, 0,225, 93,145, 62, 44,220,214, 62, 78, 23,175, 62, 47, 4, 43, 20, 83,126, 1, 0,243,152,237,190, 22,152,166, 62, +143,126,106, 62,126,210,232, 13,210,118, 1, 0,140,202,243, 61, 22, 75,221, 62,115,248,177, 62,186, 14, 80, 6,253,126, 1, 0, + 31,222,161,190, 26, 54,193, 62,239, 80,144, 62,232,203,229,253,229,116, 1, 0, 0,105, 88, 60, 85, 69, 44,191, 86,184,242, 62, + 51,242,118,219,227,121, 1, 0, 16,151,213, 61,120,192, 30,191,253,150,246, 62, 26, 1, 64,255,253,127, 1, 0, 56, 86,176,189, + 16,229, 36,191,189,221,231, 62,241,217, 80,250, 18,122, 1, 0, 28,162,255, 61, 13,110, 57,191, 2,119,245, 62, 73,251,125,234, + 22,126, 1, 0,116, 37,162,189,251, 2, 64,191,112,176,229, 62,235,228,172,231,181,122, 1, 0,196, 71,171, 61,163,238, 69,191, +228, 90,238, 62,185,238,237,220,224,121, 1, 0, 0, 36,206,188, 68,113, 73,191,242,240,229, 62, 16,245,185,221,213,122, 1, 0, +144,131,254, 60, 39,176, 73,191, 22, 69,231, 62, 46,240, 14,232,188,124, 1, 0, 16, 75, 32,189,116,143, 50,190,105, 39,207, 62, +149,232,145,107, 76, 65, 1, 0,152, 62, 47,189,234,215, 2,190,160,158,199, 62, 90,231,232, 86,173, 90, 1, 0, 56,163, 61, 61, +220,204,252,189,142, 9,207, 62, 48, 8,158, 64, 47,110, 1, 0,198,160, 5,190,122, 55, 21,190,138, 93,193, 62,178,200,157, 56, +152,100, 1, 0,232, 72,148, 61, 48, 97, 64,190, 79,229,217, 62,192, 82,164,232,207, 94, 1, 0, 78,172, 20,190, 44,118, 92,190, +130, 17,201, 62,131,157,204,209,111, 67, 1, 0,216,122, 56, 61,148,134,125,190, 86,118,216, 62,254, 51, 50,223, 67,112, 1, 0, +176, 33,214,189,129,106,136,190,178,228,204, 62, 49,183,119,207,105, 93, 1, 0, 47,187,156, 62, 0,155, 61,188, 92, 79,188, 62, + 34, 38, 92,211,188,113, 1, 0,125, 97,198,190, 64,185,202,189, 68,172,134, 62,119,198, 77,199, 72, 99, 1, 0,191, 45,253, 62, +144, 19,194, 61,127,180,174, 62,107, 51,227,227,202,113, 1, 0,210,114, 20,191, 96,119, 38,189,162, 61, 55, 62, 37,182, 25,212, +222, 94, 1, 0,226,129, 20, 63,144,139,110, 62,156,160,160, 62,192, 56, 18,238, 81,113, 1, 0,126, 69, 47,191, 24,163,150, 61, +185, 70,251, 61,224,174,177,220,125, 92, 1, 0,204, 17, 18, 63, 20,102,200, 62, 2, 25,173, 62,214, 44, 91, 5,196,119, 1, 0, + 24,172, 56,191,140, 15,106, 62, 59, 95, 18, 62, 96,178,237,245, 68,101, 1, 0, 66, 92, 2, 63, 76,105,219, 62,140,166,197, 62, +102, 23,232, 18,105,124, 1, 0,202, 2, 48,191,140, 47,142, 62,145, 51, 82, 62,148,193, 23, 8,114,111, 1, 0,155, 13,138, 62, + 76,159, 6, 63,168, 18,202, 62,181, 19,236, 18, 11,125, 1, 0,183,223,251,190,216, 25,220, 62,125, 45,143, 62,206,196,250, 8, + 32,113, 1, 0,215,100, 22, 62, 4, 78, 25, 63, 52,250,203, 62,113, 11,161, 48,216,117, 1, 0,135, 82,203,190,228,192, 7, 63, +192,232,161, 62, 86,199, 11, 40,142,107, 1, 0, 24,170, 82, 61, 76,135, 17, 63, 77, 72,205, 62,181,212,156, 35, 17,115, 1, 0, +103,180,154,190,196, 30, 6, 63, 47,240,177, 62,247,253,207, 40, 76,121, 1, 0,112,161,158,188,232, 64,201, 62, 78,244,208, 62, + 14,226,231, 13,170,123, 1, 0,218,221, 72,190, 92,216,189, 62, 51, 72,195, 62, 97,244, 54, 16,110,126, 1, 0,224, 0, 86, 61, +208, 68,145,189, 86, 68,236, 62, 2,246, 37,251,131,127, 1, 0,134, 80, 41,190,200,110,201,189,137,112,219, 62, 89,229, 12,249, +255,124, 1, 0,163, 69, 48, 62, 3,120,191,190,149,172,222, 62, 82, 55, 94, 38,219,108, 1, 0,150,186, 71,190,186, 41,215,190, + 59, 71,194, 62,213,163,199, 19,148, 86, 1, 0, 17,200,109, 62,162,224, 24,191,230, 32,234, 62, 73, 54, 63, 20, 33,114, 1, 0, + 90,217, 79,190, 32,235, 38,191, 99,121,200, 62,168,167, 69, 2,150, 92, 1, 0, 15,226,132, 62, 10, 86, 51,191,114,135,233, 62, +133, 55,178,252, 71,115, 1, 0,126,183, 79,190, 52, 65, 66,191,120,197,197, 62,228,171, 25,235, 48, 94, 1, 0, 14, 11,123, 62, +150, 37, 74,191,142,145,224, 62,162, 38, 28,197,223,106, 1, 0,110,188, 38,190,110, 79, 87,191,107, 4,193, 62,117,203,158,185, + 25, 93, 1, 0,182,199, 61, 62,152,154, 79,191,241,255,220, 62, 35, 17,231,175, 90, 98, 1, 0,124, 84,205,189,124,209, 88,191, +251,233,198, 62,250,230,151,170,252, 91, 1, 0, 72, 36, 47, 61, 33,111, 87,191,212,148,214, 62, 22,253,233,167,207, 92, 1, 0, + 16, 58,105,189,192,246, 8, 61,244,186,178, 62,158,234,106, 20,137,124, 1, 0, 20,220,157,189,100,178, 57, 62,112,207,183, 62, + 39,238, 46,246, 93,126, 1, 0, 18, 45, 65, 62, 36, 32,228, 62,233,185,175, 62, 18,253, 84, 8,176,127, 1, 0,119,219,195,190, +152, 68,191, 62,253,141,131, 62,142,219, 27, 4,161,122, 1, 0, 44,237,151, 61, 64, 93, 11, 62,154, 43,193, 62, 83,199, 70,247, +110,114, 1, 0, 94,123, 88,190,120, 3,205, 61,165, 21,171, 62, 74, 21, 25, 1, 53,126, 1, 0,248,119, 34, 61,208,147, 71, 62, + 5, 74,189, 62,162,217,110,246,188,121, 1, 0,210, 31, 68,190,136,189, 41, 62, 20,105,171, 62,109, 2,146,251,229,127, 1, 0, +112,230,221, 61, 69,145, 23,191,166,201,244, 62,138, 2,248, 13, 52,127, 1, 0, 36,225,195,189, 46, 38, 30,191, 21, 3,229, 62, + 67,213, 67, 8, 93,120, 1, 0, 0, 21, 80, 61, 51, 85,196,190,119, 9,231, 62, 94,252, 26, 21, 49,126, 1, 0,124,122,174,189, +193, 27,205,190, 14,133,220, 62,139,217,183, 16,238,120, 1, 0,160,223,140,188,122,184,200,190, 78,199,225, 62,215,234, 52, 18, +234,124, 1, 0, 32,180,215,188,132, 0,149,190,134,150,213, 62,239,242, 43,215,153,120, 1, 0,168, 48, 55, 61, 10,135,105,190, + 73, 32,233, 62,128, 74, 34,180, 62, 71, 1, 0,188,160,242,189,212,150,126,190,128,129,220, 62,190,184,195,161, 58, 49, 1, 0, +192, 24,148, 61, 0, 70, 57,190, 43, 47,239, 62, 29,112,205,249,113, 61, 1, 0,110,177, 34,190, 72, 28, 87,190, 35, 78,221, 62, +225,135,136,220, 93, 26, 1, 0,192, 89, 60, 61,224,205,212,189,152,179,223, 62,207, 65, 80,109, 28, 10, 1, 0, 50,224, 19,190, + 82,249, 2,190, 88,250,208, 62,161,165,161, 89,135,242, 1, 0,240, 63,130,188,144,171,214,189, 10, 99,218, 62, 3,203, 79,116, + 33,249, 1, 0,100,210,171,189,180, 56,232,189,225, 32,213, 62,208, 22,220,125,148, 4, 1, 0, 56,136, 76,189,250, 36, 47,190, + 33, 87,242, 62,125,233,222, 32,163,121, 1, 0, 32,170, 62,188,116,102,246,189, 39,128,234, 62,246,206,237, 86, 34, 80, 1, 0, +248,241,190,189, 26,187, 5,190,172, 48,228, 62,252, 0, 59, 93,177, 87, 1, 0,176,129,244, 60,180,204,249,189,220, 60,238, 62, + 7, 23,120, 80,214, 96, 1, 0,102,140, 8,190, 26,246, 17,190,252,157,225, 62, 0,187,223, 68,239, 82, 1, 0,192,209, 65, 61, +244,192, 55,190,201,114,251, 62,141, 37, 29, 0, 92,122, 1, 0, 74,130, 18,190, 86, 83, 80,190,115,185,236, 62,162,185,132,242, + 15,106, 1, 0,176,229,209, 60,252, 69, 83,190,176,181,240, 62,245, 17,139,203, 92,115, 1, 0,100, 11,226,189, 24,211,100,190, + 71, 49,230, 62,143,218,144,196,254,106, 1, 0,240,135, 31,189,200,223,126,190,126, 92,238, 62,176,244,127,205, 16,117, 1, 0, +199,163,101, 62,177, 3,140,190, 9,186,146, 62, 74,111,222, 57,119, 25, 1, 0,202,234,101,190, 80,249,168,190,104, 10, 96, 62, +142,131, 40, 28,220,245, 1, 0,252,123,232, 61,190, 28, 79,190, 14, 99,204, 62,195, 78,253, 27,238, 96, 1, 0, 14, 52, 48,190, + 76,248,115,190, 24, 77,182, 62, 32,148,120, 4,190, 68, 1, 0,126,124, 8, 62,111, 5,134,190, 52,173,210, 62,121, 63, 41, 42, +215,102, 1, 0,150,207, 55,190,134, 52,154,190,200,124,186, 62, 29,157,178, 21, 81, 78, 1, 0,108, 34, 75, 62,246,240, 98,190, + 49,126,140, 62,227,113,125, 52,164, 25, 1, 0,246,164, 86,190, 43,204,139,190, 29,226, 89, 62,104,130, 78, 22,121,245, 1, 0, +224, 72,243, 60,162, 52, 70,191, 17, 27,230, 62,162,231,134, 95,162, 81, 1, 0,228,248,142, 61,232, 37, 67,191,192,173,232, 62, +158,186,175, 76,106, 75, 1, 0, 32, 29, 65,188,223,199, 69,191, 92, 94,226, 62,172, 23,105, 88,121, 89, 1, 0, 72, 12,211, 61, + 5,155, 54,191, 35,185,242, 62,126,157,156, 11,229, 80, 1, 0, 56, 90,118,189,246,222, 59,191, 68, 26,230, 62,211, 64, 50, 32, +144,105, 1, 0, 96, 77,192, 61,136,172, 36,191,230,210,243, 62,235,232,137,191, 35,108, 1, 0,172,235,141,189,117,240, 41,191, + 29, 52,231, 62,143, 5, 37,195,119,112, 1, 0,128,135,213, 60, 63, 89, 50,191,166, 71,209, 62,173,249,154,181,245,103, 1, 0, +116,134,212, 61,205,125, 40,191,250,184,216, 62,187,189,128,168,213, 65, 1, 0,136,101,115,189,185,193, 45,191, 27, 26,204, 62, +108, 63,216,184,108, 85, 1, 0,152,208,230, 61, 50, 51, 55,191, 78,255,210, 62, 85,154, 96, 17,202, 75, 1, 0,152,209, 78,189, + 35,119, 60,191,134, 96,198, 62,214, 67,189, 38,100,101, 1, 0, 88,161,156, 61,109,123, 65,191,176, 74,207, 62,143,191,187, 69, +213, 85, 1, 0,192,178,167,187,100, 29, 68,191, 75,251,200, 62,193, 17, 23, 80, 64, 98, 1, 0, 96,245, 20, 61, 44,138, 68,191, + 0,184,204, 62, 77,231, 84, 82,214, 94, 1, 0, 88,103,142, 61,100, 11, 86, 62,194,183,201, 62, 2, 1,188, 9,159,127, 1, 0, +110, 43,107,190,136,110, 47, 62,145,148,178, 62,151,215,131, 4, 93,121, 1, 0,232,214,183, 61,152, 10, 31, 62, 24,247,203, 62, +119,233,192, 10,137,125, 1, 0,174, 77,114,190, 72,214,233, 61,113,185,178, 62,190,237, 74, 11, 46,126, 1, 0,154,255, 73, 62, + 20,181,208, 62, 70,170,186, 62,153,254, 38, 35, 17,123, 1, 0,175,104,198,190,228,248,170, 62, 32,113,141, 62,251,212,231, 29, +199,116, 1, 0,242,164, 16, 62,176,192,202, 62, 11,246,189, 62,168, 1,230, 25, 86,125, 1, 0,211, 97,171,190,190, 9,172, 62, +192, 38,153, 62,187,211, 28, 20,102,118, 1, 0, 11,134,139, 62, 88,164,200, 62,200,178,201, 62, 96, 2, 32, 7,198,127, 1, 0, + 67,122,236,190,236, 64,153, 62,253,231,144, 62,233,214,165, 1, 53,121, 1, 0, 97, 45,210, 62, 92,116,182, 62, 35, 13,180, 62, +217, 17,244, 26,216,123, 1, 0, 42,148, 17,191, 68,138,110, 62, 87,168, 80, 62,236,196, 66, 17, 58,112, 1, 0,154, 4,224, 62, + 72,100,155, 62, 23,211,182, 62,132, 3, 21, 13, 70,127, 1, 0, 92, 26, 21,191, 44, 38, 51, 62,219,228, 79, 62,143,212, 41, 7, + 47,120, 1, 0, 36, 86,225, 62,152, 73, 97, 62,159,210,185, 62,149, 18,201, 10, 45,126, 1, 0, 80,246, 16,191, 0,209,190, 61, + 53,254, 87, 62,125,199, 81, 1,214,114, 1, 0, 63, 89,181, 62, 72,125, 7, 62,212, 69,203, 62, 31, 16, 27, 17,209,125, 1, 0, +181,100,243,190,192,105,227, 60,106, 30,139, 62, 86,200, 15, 8,249,114, 1, 0,130, 20,136, 62,136,189,184, 61, 93,186,209, 62, +102, 7, 17,251,175,127, 1, 0,171, 36,198,190, 0,253, 1, 60, 13, 63,159, 62, 56,213,190,244, 27,120, 1, 0, 58,197, 1, 62, +176, 90,245, 61, 10,140,213, 62,165,238, 25,255,207,126, 1, 0,153, 10,137,190,160,142,143, 61, 34, 12,183, 62,104,235,177,254, + 82,126, 1, 0, 4, 74,142, 61, 64, 73,142, 62,114,108,196, 62,132, 10, 34, 8, 77,127, 1, 0, 18, 39,121,190, 88, 52,116, 62, + 6, 60,172, 62, 70,207,170, 0, 90,118, 1, 0,220,243,183, 61,204,221,178, 62,228,180,192, 62,184, 0,124, 10,144,127, 1, 0, + 35, 3,142,190, 26, 44,155, 62,139, 79,164, 62,177,215, 80, 5, 93,121, 1, 0,124,152,235, 61, 28,169,171, 62, 47, 17,185, 62, + 82, 51, 58,230, 99,114, 1, 0,147,253,149,190,108, 85,145, 62, 35,132,153, 62,126,181, 94,214, 97, 95, 1, 0,144, 50,177, 61, + 70,155,141, 62, 3, 24,187, 62, 20, 83,205,252, 81, 97, 1, 0,105,198,129,190,204, 85,111, 62, 32,205,160, 62,151,151, 44,229, +255, 68, 1, 0, 44,210, 17, 62,132, 63, 7, 62,172, 13,203, 62, 32, 31,125, 90, 0, 85, 1, 0, 35,241,142,190,176,173,161, 61, + 78,115,170, 62,132,180, 13, 77,230, 68, 1, 0, 2, 52,136, 62,208, 96,222, 61,164, 15,201, 62,123,250,243, 93,192, 86, 1, 0, + 31, 5,198,190,160,139,215, 60, 85,148,150, 62, 21,213, 60, 89, 26, 81, 1, 0, 27,220,174, 62,144,150, 17, 62,227, 34,194, 62, +246,220, 99, 82,120, 91, 1, 0,205,244,235,190,112, 36, 40, 61,240, 21,132, 62,214,241, 5, 85,159, 94, 1, 0,246, 75,211, 62, + 80,171,106, 62, 64, 24,179, 62, 51,201,188, 41,224,107, 1, 0, 96, 14, 10,191,232,158,223, 61,127,243, 82, 62, 55, 9,205, 49, +140,117, 1, 0,124,158,211, 62,176, 29,149, 62,220, 97,174, 62,106,193,145,251,143,111, 1, 0, 88, 96, 13,191, 56,158, 45, 62, + 64,108, 71, 62,142, 26,204, 6, 6,125, 1, 0, 36, 33,198, 62, 60,178,172, 62, 1, 49,172, 62, 53,223,211,189,137,104, 1, 0, + 60,173, 9,191, 64, 11, 98, 62,193, 89, 73, 62, 2, 16,250,195,232,111, 1, 0, 67, 40,138, 62,222, 41,195, 62,130, 95,191, 62, +165,234,227,169, 65, 92, 1, 0,119,225,230,190, 26,167,148, 62, 10,162,135, 62,213, 13, 82,174,145, 97, 1, 0,178,227, 26, 62, +148, 57,192, 62,183,197,188, 62,250, 23, 94,234,218,123, 1, 0,251, 56,173,190,244,161,160, 62, 71,233,150, 62, 10,203,172,224, + 59,112, 1, 0,210, 71, 77, 62,170,189,197, 62, 84,243,184, 62, 29,244, 20,210,225,118, 1, 0,147,196,196,190,110, 1,160, 62, + 45,186,139, 62,148,243, 3,210,204,118, 1, 0,156,240,215, 61,184,156, 43, 62,187,120,193, 62,134, 68,166, 60,126, 89, 1, 0, +218, 26,126,190, 64,245,251, 61,156, 32,166, 62,215,151,226, 38,104, 63, 1, 0,224, 47,192, 61,104,125, 91, 62, 33,223,188, 62, + 92, 88,185, 25,245, 88, 1, 0, 86, 14,124,190,152,156, 47, 62, 62,148,162, 62, 28,142, 60, 0,104, 58, 1, 0, 96,228,156, 60, + 4, 13,200, 62,174,173, 78, 62,195,180, 42,101,236,233, 1, 0, 22, 90, 47,190,212,195,187, 62, 2, 59, 49, 62,129, 51, 35,117, + 17,253, 1, 0, 96,141,153, 61,140,248, 19, 63, 89,231, 66, 62,210,204, 28, 43,229,146, 1, 0,191,175,135,190, 92, 0, 9, 63, +101, 81, 14, 62,163, 68, 54, 58,254,164, 1, 0, 64,136, 75, 62,120, 93, 28, 63, 78,148, 61, 62,237, 21, 48, 70, 61,151, 1, 0, +103,164,197,190, 94,127, 9, 63, 1, 68,198, 61, 37,249,143, 66,227,146, 1, 0,115,210,176, 62,116,162, 1, 63,213,190, 66, 62, +196, 32,188,114,176,209, 1, 0, 23,226,254,190, 56,220,204, 62, 16,171,128, 61, 78,211,248,104,252,197, 1, 0, 66,144, 8, 63, + 68,208,220, 62,174,205, 52, 62,103, 37,132,115,131,215, 1, 0,138, 83, 38,191, 56,119,144, 62, 64, 77, 12,187, 32,205,100,104, + 45,202, 1, 0, 98,231, 36, 63,148,108,204, 62, 91,225, 47, 62,180, 91,110, 81, 93,219, 1, 0, 86, 53, 62,191, 72,211,101, 62, +100,171, 26,189, 7,162, 7, 58, 81,191, 1, 0, 78, 91, 40, 63,116,225, 50, 62, 59,174, 4, 62, 27,125,116,229, 31, 5, 1, 0, +166, 79, 48,191,128,240,163, 59, 44, 29,151,189, 43,145,184,199,125,225, 1, 0,138, 70, 4, 63, 96,254,147, 60,146,151, 40, 62, +198, 84,109,161,214, 15, 1, 0,164,204, 7,191,124, 74,233,189,128, 36,212, 59,227,195, 42,143,245,249, 1, 0,250,136,191, 62, +144,124,152,189,129,235, 80, 62,163, 68,238,148,100, 14, 1, 0, 95,100,198,190,192,135, 46,190, 89, 66,182, 61, 71,214, 5,135, +185,253, 1, 0,252,234,137,189,224,210, 55, 63,110,252, 28,190,153,233, 99,114,225, 52, 1, 0,224, 52,171,188,168,199, 62, 63, + 33,137,247,190,218,242, 6,126,233,237, 1, 0,172,253, 45, 62, 80,191,183,190,110, 82, 83,191, 10, 24, 13,155, 20,181, 1, 0, +140,245,136, 61,166, 14,245,190,156,170, 49,189,253, 15, 2,129, 28, 0, 1, 0,108, 74,147, 61, 63, 94,100,191,202, 81,137, 62, +235, 21, 71,139, 69,208, 1, 0, 56,176,151, 61, 15,244, 65,191,177, 55, 17, 62, 5, 24,183,200, 23,143, 1, 0, 24, 64,105, 61, +138,126, 14,191,150, 17,179, 61, 35, 24, 83,198, 81,144, 1, 0,240,226, 97, 61,178, 70,249,190,212,128, 40, 61,198, 22,193,143, +222,198, 1, 0,136, 61, 68, 63,132,199, 79, 62,190, 8, 23,190,125,123,142,247,150, 32, 1, 0, 2, 62, 55,191, 0,196,131, 60, + 25, 39,190,190, 73,134,167,216,141,251, 1, 0,142,223, 71, 63,116,227,135, 62,246,193,124,190,230,125, 53, 10,172, 20, 1, 0, + 74, 23, 55,191, 32,109,157, 61,241, 16,242,190,254,130,151,234,199,238, 1, 0,222,167, 68, 63,176,118, 33, 62, 40,142, 22,191, +123, 95, 14,248, 33,171, 1, 0, 22, 3, 20,191, 64,179, 68,188, 92,157, 74,191, 63,194, 61,228, 98,147, 1, 0,144, 41, 5, 63, +220, 75,116, 62, 66, 77, 98,191,228, 72,162, 15,245,151, 1, 0,203,125,144,190,116,190, 12, 62,222,169,128,191, 1,215, 72, 1, +194,134, 1, 0,240,219, 47, 63, 0, 50, 88,189, 76, 32,222,189, 16, 97,100,181, 89, 37, 1, 0,176,102, 23,191,212, 7, 91,190, + 59,100,154,190,106,173,192,158, 54, 10, 1, 0, 30, 26, 27, 63, 92,163, 42,190, 69,253,162,190,203, 47,181,138,120, 18, 1, 0, +151,251,218,190,138, 3,152,190, 65,235,242,190,221,234, 5,130, 14, 8, 1, 0, 88,233, 44, 63,168, 98,192,189, 18, 28, 15,191, +168, 72, 56,172, 25,192, 1, 0, 63, 36,225,190,240, 28,112,190,196, 58, 58,191,173,227,125,159,216,176, 1, 0, 29,225,224, 62, +104,174,211,189, 38,153, 79,191, 65, 75, 41,206, 65,165, 1, 0,194, 14, 21,190,148, 79, 53,190,186, 53,102,191,215,224,192,192, + 46,149, 1, 0,191,155,106, 62,240,154,168,190, 63,159, 36, 62,136,126,193, 9, 94,239, 1, 0,190, 43, 55,190,156,238,194,190, +242, 9,203, 61, 94,141, 93,235,241,202, 1, 0,174,212, 85, 62, 21,102,209,190,128, 77, 12, 61, 56,106, 23,187, 67,237, 1, 0, +244,238,212,189, 41,149,229,190,144,215, 84,188,222,179, 27,164,184,209, 1, 0,182,149,159, 62,171,164, 35,191, 68,196, 76, 62, +177, 92, 81,253,198,167, 1, 0, 98, 23, 68,190,207,224, 51,191,125,225,253, 61,135,196, 36,234,203,144, 1, 0,182, 28,132, 62, +251,238,234,190, 6, 0, 47, 62, 4,111, 83,255, 77,192, 1, 0, 22,104, 53,190,251,129, 3,191,164, 97,215, 61,243,171,190,230, +214,162, 1, 0, 48,241,184, 62,193, 76, 79,191,163, 33,126, 62,157, 90, 61,193,241,190, 1, 0,166, 1, 87,190,140,186, 97,191, +205,201, 37, 62, 75,206,142,175,191,169, 1, 0,228,111, 65, 62, 58,199, 50,191, 64,237, 49, 62, 50, 39, 80,217,118,140, 1, 0, +144,235,100,189, 37,173, 58,191,185, 16, 12, 62,183, 6, 56,213,142,135, 1, 0, 20, 8, 33, 62,171,184, 2,191, 78, 79, 8, 62, +211, 64,135,212,143,154, 1, 0, 16, 35,119,189,237,189, 9,191,105, 79,205, 61, 15,236,216,201,194,141, 1, 0,178,150, 92, 62, + 14,147, 89,191, 49,167,135, 62,157, 35, 64,149, 5,195, 1, 0,176,182,143,189,248,201, 98,191,119, 34, 99, 62,173, 10, 28,146, + 65,191, 1, 0,242,213, 82, 62, 65,149,136,190, 26,206, 44, 62, 32,125,124,242, 80, 23, 1, 0,106, 23, 51,190,165, 39,161,190, +130,209,227, 61,179,136,174,211,102,242, 1, 0,214, 19, 65, 62, 22, 25, 92,190,156, 53, 70, 62,138,117, 50,250, 85, 50, 1, 0, + 98,236, 54,190, 64,190,133,190,231,106, 13, 62,253,133, 1,220, 38, 14, 1, 0, 8,127, 48, 62,100, 17, 40,190, 86,177, 88, 62, +148,105,124,202,179, 48, 1, 0, 78,148, 57,190,124,179, 85,190, 25, 1, 34, 62, 29,157,183,176,209, 17, 1, 0,215,176,125, 62, +186,108,203,190, 60, 10, 61,189,145, 84,117,163,209, 25, 1, 0,236,158,244,189,108, 30,227,190,132, 26,208,189,175,192,209,144, +123, 3, 1, 0, 2,250,193, 62, 26, 82,192,190, 41,253,213,190,132, 80,129,156, 58, 0, 1, 0,198, 59, 13,190, 7,171,225,190, + 39,244,253,190,144,205, 0,140,115,236, 1, 0,219, 19,228, 62,213,184,134,190,242, 21, 44,191, 32, 85,150,171, 43,211, 1, 0, + 98,150, 28,190,177, 85,173,190, 36, 57, 67,191,190,210, 39,155,121,191, 1, 0, 51,109,219, 62,168, 67, 39, 63,152,161, 43,191, + 37, 52,215, 99, 55,195, 1, 0, 49,109,184,190,160,208, 13, 63,116, 33, 74,191, 48,201, 92, 86, 15,179, 1, 0, 80, 24,193, 62, + 72,147, 63, 63,111,128,209,190,127, 40, 60,121, 71,249, 1, 0, 19,194,210,190, 68, 32, 38, 63, 20, 64, 7,191, 15,191,242,107, + 90,233, 1, 0,107,171,173, 62,194, 72, 56, 63,238,114, 9,190, 6, 38,211,108,160, 55, 1, 0,255, 46,230,190,188,213, 30, 63, + 48,185,129,190, 57,178, 58, 94, 34, 38, 1, 0,220, 48,177, 62,200,183,235, 62,159, 6,171, 61, 48, 30,188,117, 32, 40, 1, 0, + 11,160,233,190, 20,241,183, 62, 92, 90, 26,189,211,187, 86,105, 68, 25, 1, 0, 26,241, 25, 63,148, 43,192, 62,192,184, 94, 61, +224, 84,124, 93,242, 20, 1, 0, 64,214, 41,191, 36, 29, 93, 62,170,239, 11,190,171,148, 67, 69,235,247, 1, 0,232, 14, 6, 63, +166, 42,204, 62, 32,234, 69,188,162, 40,243,112,108, 44, 1, 0, 80,241, 19,191,126, 21,133, 62,234,190, 54,190, 16,178, 2, 98, +131, 26, 1, 0,212,181, 10, 63, 38,127, 22, 63,126, 69,121,190, 26, 66, 42,102,176, 39, 1, 0,172,197, 18,191,128, 8,229, 62, + 33,224,210,190,125,158,139, 81,249, 14, 1, 0,168, 9, 46, 63, 80,193,251, 62, 94,255, 16,190,183, 78, 44, 86,138, 52, 1, 0, + 16, 19, 53,191,106, 62,162, 62,177,197,179,190,245,146,130, 62, 46, 24, 1, 0,176,236, 53, 63,102, 5, 2, 63,153,216,183,190, +111,101, 12, 78,148, 1, 1, 0, 4, 48, 45,191,226,135,170, 62, 90,143, 17,191,186,142,252, 50, 38,225, 1, 0, 18, 17, 19, 63, +176,163, 24, 63,137,220,238,190, 72, 77,135,101,224,245, 1, 0,110,106, 10,191,144, 81,233, 62,244,140, 34,191,201,162, 10, 80, + 32,220, 1, 0, 56, 14, 30, 63,206,169, 0, 63,184, 45, 44,191,156, 85,152, 67, 9,189, 1, 0,127,218,254,190,208, 93,185, 62, +104, 76, 87,191,215,179, 52, 47,154,164, 1, 0,136,203, 64, 63,100, 32,209, 62, 76,166, 14,191,219,113, 88, 45, 22,219, 1, 0, + 50, 81, 34,191,244, 58,111, 62, 90, 73, 68,191, 92,150,174, 17,238,185, 1, 0, 16, 6, 38, 63,152,232, 51, 62, 20, 4, 63,191, +251, 90, 41,248, 80,166, 1, 0, 75, 7,218,190,224, 3, 37, 61,236,142,104,191,201,199,156,229, 21,144, 1, 0, 36,206, 13, 63, + 56,233,202,189, 62,124, 47,191,253, 88,167,189, 70,192, 1, 0, 41, 24,148,190,238, 69, 82,190,146, 22, 80,191, 71,208,108,172, +160,171, 1, 0,244,223, 68, 63,152,151,125, 62,125,204,198,190,230,101,116, 58,207, 50, 1, 0,138,174, 40,191,160,155,138, 61, + 36,157, 26,191,187,132, 19, 30,205, 16, 1, 0, 26, 59,205, 62, 68,247, 63,190,172,205,134,189,192, 78, 25,167,184, 47, 1, 0, + 39,216,156,190,186,157,141,190, 82,199, 48,190,209,190,245,148,250, 25, 1, 0,190,199,243, 62,138,253,128,190,137,142,189,190, + 50, 86,222,161,143, 9, 1, 0, 15, 47,139,190,160, 65,177,190,143,102,247,190, 74,196,122,143,134,243, 1, 0,118,246, 83, 63, +116,126,163, 62, 89,186,213,190,148,197,170, 99, 26, 55, 1, 0,102,237, 56,191,168,206,253, 61,156,207, 38,191,219, 13,198,108, + 5, 66, 1, 0, 26, 5, 66, 63,158, 49, 31,190,210,109,132,190,145,242, 30,188,173,107, 1, 0,206,165, 22,191,188,121,166,190, + 37,140,236,190,152,253,130,189, 87,109, 1, 0,139,252,129, 63, 96, 11,243,189, 85,110,207,190,103, 60, 60,173,181, 76, 1, 0, +196, 16, 75,191, 19,122,177,190,102,167, 45,191,224,197, 76,158,206, 58, 1, 0,213, 31,157, 63,128,230,251, 60, 97,193,247,190, + 78, 79, 18,214, 76, 91, 1, 0,167, 91,128,191, 46, 45,128,190, 16, 30, 82,191, 59,166,194,192,194, 65, 1, 0,191,211,161, 63, +254,157,138, 62,236,172, 1,191,113, 84,249, 45,125, 84, 1, 0,104, 82,139,191, 96, 55,211,188,216,165, 92,191, 31,142,250, 20, +136, 54, 1, 0, 99,170,146, 63,164,157,215, 62,126,154, 12,191,186, 26,140,120,181, 33, 1, 0, 79, 95,128,191, 4,236, 25, 62, + 40,176, 95,191, 53,192, 36,109, 8, 20, 1, 0,152,234,114, 63,250, 26,197, 62,127,161,244,190,171,236, 29,119,171, 42, 1, 0, +186, 40, 85,191, 24, 74, 36, 62,180, 51, 63,191,149,232,153,118, 13, 42, 1, 0,144,178,113, 63, 28, 93,170, 62,137, 30,230,190, + 40, 51,202, 15, 66,116, 1, 0,128,229, 82,191, 72, 31,225, 61,168,107, 55,191, 2,171,162,254,177, 95, 1, 0, 29,165,141, 63, +120,183,183, 62, 26,164, 4,191, 4, 21, 3, 11,199,125, 1, 0,152,229,117,191, 24, 79,201, 61, 24,146, 84,191, 76,197,247, 0, +188,113, 1, 0, 93, 79,152, 63, 40,204,113, 62,231,226,255,190, 21,221, 86, 5, 6,123, 1, 0,220,176,129,191,144, 33, 42,189, +152, 33, 85,191, 63,251, 36, 9,148,127, 1, 0, 47,150,148, 63, 64,101, 62, 61, 95,218,243,190, 31,229, 9, 52,207,113, 1, 0, + 60,117,114,191, 16,114, 96,190,248,110, 75,191, 39,235,204, 52,184,114, 1, 0, 54,242,127, 63,200, 66,126,189, 69, 59,202,190, +208, 40,167, 57,189,106, 1, 0, 98,156, 75,191,241,158,147,190, 66,135, 42,191, 50,173, 18, 42, 16, 88, 1, 0,114,235, 76, 63, +176,206,182,189, 80,114,137,190,235, 19, 5, 66,212,107, 1, 0, 80, 30, 36,191, 53,185,138,190, 89,237,248,190, 47,190, 55, 55, +225, 94, 1, 0,252, 99, 91, 63,104,100,145, 62, 55, 54,201,190,164, 39,237, 15,167,120, 1, 0,234,108, 63,191,224, 91,167, 61, + 4,168, 34,191, 91,180,101, 1, 61,103, 1, 0,220,124,100, 63,168, 81,107, 62, 53,180,226,190,108, 83, 44,206, 79, 83, 1, 0, +210,197, 64,191,224,150,183, 60,230,250, 48,191,168,166,102,184, 55, 57, 1, 0, 12,254, 90, 63,240,103, 87,189,153,220,171,190, + 77, 9,227,121,242, 37, 1, 0,140,106, 46,191, 70, 46,124,190, 44, 90, 17,191,199,206,130,114, 27, 29, 1, 0,179,148,129, 63, + 48,171, 16,189,165, 76,232,190,182,217,223,121,251, 7, 1, 0,118,224, 75,191,167,204,134,190,130, 22, 58,191,138, 3, 37,127, + 77, 14, 1, 0, 2,137,146, 63,224,210, 86, 61,192,242, 3,191, 88,151,253, 69,245,232, 1, 0,210, 29,108,191,194, 18, 85,190, +188,224, 83,191,147, 86, 23, 94,215, 5, 1, 0,157, 0,150, 63,128, 69, 70, 62,212, 48, 8,191, 96,130,235,231,141, 4, 1, 0, + 42, 18,122,191,132, 19,158,189,136, 70, 91,191,201,120,249, 6,197, 41, 1, 0,243,169,141, 63, 82,230,144, 62, 98,163, 12,191, +245,234, 70,168,203, 90, 1, 0, 98,229,110,191, 32, 63,212, 60, 22,132, 91,191, 92, 14,189,172, 37, 96, 1, 0, 6,170,119, 63, +212,201,134, 62,213,127,255,190,206, 67,151,191, 98, 87, 1, 0, 74,105, 80,191, 80,159, 30, 61,224,162, 68,191,119,183,231,173, + 48, 66, 1, 0,198, 68, 75, 63,144, 92, 92, 62,123,197,197,190,128, 83,128,246,138, 96, 1, 0,130,187, 44,191,224,118,246, 60, +136,173, 27,191,244,152,253,222, 93, 68, 1, 0, 70,131, 78, 63, 96,104,213, 61, 35, 64,217,190,118, 94, 6,201,156, 66, 1, 0, +198, 1, 38,191,116, 48,162,189, 62,228, 36,191,140,162, 87,177, 58, 38, 1, 0, 64,220, 62, 63, 64, 57,226, 60, 93,176,216,190, +142, 96,211, 27, 71, 79, 1, 0, 44,216, 18,191, 24,248, 13,190, 40, 90, 31,191,212,136,163, 0,178, 46, 1, 0, 56,246, 76, 63, + 0,171,226, 60,109,230,211,190,186, 54,106,107, 0, 43, 1, 0, 70,152, 32,191,112,244, 27,190, 28, 42, 33,191,199,166, 70, 89, + 66, 21, 1, 0,120,195, 83, 63,160,192,253,188,169, 21,205,190,237,101,211, 14,252, 75, 1, 0,214, 60, 36,191,200, 69, 93,190, +148, 85, 31,191,249,135,219,242,117, 42, 1, 0,162,128, 77, 63,128, 91,124,189, 45,220,204,190, 53, 55, 63, 91,197, 70, 1, 0, +146,146, 28,191, 88,159,117,190, 94, 30, 29,191, 46,162,119, 72, 66, 48, 1, 0,182, 91, 50, 63, 96,147,254,188,156,172,115,190, + 89,117,182,205, 29, 9, 1, 0,170,107, 17,191,114, 12, 67,190, 61,165,219,190,244,156,112,178,110,232, 1, 0,108,247, 52, 63, + 12, 46,134,189, 67,154,165,190,117, 78,234, 34,233, 94, 1, 0,174, 84, 11,191,180,143,100,190,250, 45, 3,191, 80,147, 84, 11, +165, 66, 1, 0,140, 38, 52, 63,128, 34, 87,188,241, 45,177,190,128,110, 31,255,150, 64, 1, 0,136, 37, 12,191,224,234, 46,190, +210,247, 8,191, 42,135,247,225,165, 29, 1, 0, 52,193, 66, 63, 32,123, 10, 62, 61,134,194,190,176,109, 29,221,250, 55, 1, 0, +134, 91, 32,191,208, 42, 34,189, 42,230, 22,191,172,146,131,193,229, 22, 1, 0, 14,211, 88, 63,240,145, 48, 62,217, 88,215,190, + 77, 84,221,207,107, 83, 1, 0,206, 16, 52,191,192, 28,188,188,244,158, 39,191,103,165,210,185, 0, 57, 1, 0,232, 14, 91, 63, +152, 86, 34, 62,249,252,238,190,107, 76, 69,223, 82, 97, 1, 0,250,212, 49,191,192,251, 22,189,250,112, 51,191,235,164, 41,202, + 6, 72, 1, 0, 74, 68, 79, 63,200,162,138,189, 85,159,225,190, 92, 64,206, 66, 48, 88, 1, 0,240,206, 26,191,220,217,123,190, +242,127, 39,191,147,154,233, 45, 38, 63, 1, 0,190, 68, 87, 63,224, 71, 20,189, 53, 82,225,190, 60, 24, 44, 68,149,105, 1, 0, +208, 54, 36,191,248, 96,100,190,130,250, 41,191, 83,186, 87, 56,101, 91, 1, 0,108,164, 80, 63,128, 35,128, 60, 13,142,231,190, +218, 33, 67, 69, 44,102, 1, 0, 82,101, 32,191,162, 6, 42,190,138,132, 43,191, 38,178, 47, 55, 76, 85, 1, 0,136, 93, 66, 63, + 64,106,183, 60,255,236,236,190, 49, 83,157, 54,125, 80, 1, 0, 40,210, 18,191, 70, 19, 21,190, 22,255, 41,191, 88,142,206, 29, +194, 50, 1, 0,142, 4, 82, 63,176,180,202, 61,197,124,237,190, 70, 62,175,224, 89,107, 1, 0,188,251, 37,191,184,102,176,189, + 32,137, 47,191,192,174,152,206,171, 85, 1, 0, 18,142,125, 63,152, 34,122, 62,206,192, 10,191,252, 47,104,236, 8,117, 1, 0, +202,123, 81,191,160,160,133, 60, 10,177, 80,191, 80,182, 18,221,167, 98, 1, 0, 86,118,144, 63,178,178,135, 62, 96,233, 21,191, +194,215, 94,193, 29,104, 1, 0, 42, 67,112,191,128,190,147, 59, 80,215,101,191, 42, 22, 59,201,138,113, 1, 0, 87,149,153, 63, +240,181, 59, 62, 18,126, 17,191,216,149,102,244,143, 70, 1, 0,126, 90,125,191,152,186,189,189,152, 39,102,191,139, 80,237, 11, +194, 98, 1, 0, 24,248,149, 63, 48,187, 48, 61, 0,133, 11,191,125,167,102, 61, 31, 69, 1, 0,106,177,111,191,136,220, 99,190, +212, 6, 93,191,234, 46,119, 78,148, 89, 1, 0,252,122,131, 63,160, 57, 42,189, 17,255,255,190,115,243,214,106, 92, 69, 1, 0, + 36,143, 75,191, 27,223,138,190, 98,118, 70,191,133,221, 19,104, 12, 66, 1, 0, 12,224, 92, 63, 48,157, 88,189,167,170,196,190, + 43,231,111,124,202, 16, 1, 0,140,136, 44,191,124,123,124,190, 50,193, 29,191,232,243, 10,126,183, 18, 1, 0, 76,163,104, 63, +248,255, 86, 62,179, 60,249,190, 38, 71,235,226, 88,102, 1, 0,176, 26, 64,191, 0,224, 95, 58,196,197, 60,191,114,167,202,206, + 57, 78, 1, 0, 8, 41, 94, 63,112,112, 71, 61,245, 34,233,190, 13, 4, 35, 22, 0,126, 1, 0,212,186, 46,191,110, 57, 22,190, +248,131, 48,191, 60,210,219, 15,122,118, 1, 0,168,243,105, 63,128,192, 68, 60, 45,243,229,190,133, 27,215, 37, 35,119, 1, 0, +198,211, 55,191, 96, 81, 70,190,198, 19, 50,191,179,186,163, 25,131,104, 1, 0,102,166,119, 63, 56,197,141, 61,161, 61,244,190, +126, 35,140, 19,105,121, 1, 0, 38,251, 69,191, 80,197, 25,190,248,109, 61,191, 25,183,226, 5, 10,105, 1, 0, 32, 78,109, 63, + 64,186,220, 61,231,112,243,190, 42, 21,232, 22, 35,124, 1, 0, 30,235, 62,191,116, 8,211,189,134,102, 58,191,192,194,132, 12, +176,111, 1, 0,240,247,120, 63,216, 28, 41, 62, 65,204,254,190,182, 18,118, 34,215,121, 1, 0, 34,160, 75,191,192, 54,108,189, +120,194, 67,191,226,194,103, 24,200,109, 1, 0,120,130,129, 63, 24,172, 2, 62,255, 34,252,190,107, 24, 86, 13,239,124, 1, 0, +110,251, 82,191, 24,138,212,189,246, 14, 69,191,213,193,108, 2,219,111, 1, 0,107,124,135, 63, 24,172, 28, 62,155,169,253,190, +232, 35, 12, 22,220,120, 1, 0, 92,102, 95,191, 96, 28,185,189,148,128, 73,191, 69,182, 58, 8, 77,104, 1, 0, 65, 44,132, 63, +124,194, 81, 62,174,242, 1,191, 83, 22,171, 59, 3,111, 1, 0,232,148, 91,191,160,207, 8,189,156, 10, 75,191,147,188, 91, 48, +116, 97, 1, 0, 78, 67,122, 63, 22, 70,168, 62,210,236, 30,191,174,211, 37, 50,230,146, 1, 0, 10,208, 77,191,136, 64,213, 61, +210,207, 99,191,148, 60, 93, 63,190,162, 1, 0,136, 50,151, 63,172,198,190, 62, 84, 78, 38,191,180, 45,113, 69,174,158, 1, 0, +214,164,126,191,208,118,201, 61, 62,113,122,191, 39,225,203, 59, 30,147, 1, 0, 40, 77,165, 63,176,182,119, 62, 26,148, 17,191, +211,122, 94, 18, 6,225, 1, 0, 70, 84,139,191,144,187,109,189, 82,154,109,191,226,146, 35,245,253,189, 1, 0, 99,132,162, 63, + 96, 5,172, 60,152, 81, 17,191,138, 96,140,192,231,200, 1, 0,157,237,129,191,229,173,136,190,124,169,105,191, 20,198, 20,173, +146,177, 1, 0, 0,230,132, 63,100,100, 1,190,210,161, 12,191,188, 18, 44,154,192,180, 1, 0,210, 61, 69,191,110,105,181,190, + 4,146, 82,191, 65, 29,128,155, 87,182, 1, 0,174,203, 76, 63,208,127, 42,190, 25,131,222,190,228, 11,168,138, 73,206, 1, 0, +198,213, 18,191, 37,226,173,190,252, 93, 36,191,237, 31, 47,141, 79,209, 1, 0,246, 28, 83, 63,240,109,141, 62,178,234, 11,191, +207,176, 48, 52, 13,170, 1, 0,218,217, 43,191, 16,151,179, 61,172,194, 69,191,160, 85,245, 72,242,194, 1, 0, 68, 65, 84, 65, +104, 1, 0, 0,120,237, 71, 27, 1, 0, 0, 0, 93, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,158,108, 3, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 28, 47, 0, 0, 56,158,108, 3, 1, 0, 0, 0, 49, 0, 0, 0,237, 3, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 35, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 44, 0, 0, 0, 0, 0, 35, 0, 46, 0, 0, 0, 44, 0, 0, 0, + 0, 0, 35, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 47, 0, 0, 0, 0, 0, 35, 0, 47, 0, 0, 0, + 45, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0, 45, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, + 4, 0, 0, 0, 42, 0, 0, 0, 0, 0, 35, 0, 42, 0, 0, 0, 44, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0, 5, 0, 0, 0, + 0, 0, 35, 0, 43, 0, 0, 0, 45, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 43, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, + 2, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 8, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 4, 0, 0, 0, 0, 0, 35, 0, + 7, 0, 0, 0, 9, 0, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0, 5, 0, 0, 0, + 0, 0, 35, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, + 11, 0, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, + 12, 0, 0, 0, 14, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 8, 0, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0, 15, 0, 0, 0, + 0, 0, 35, 0, 13, 0, 0, 0, 11, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 9, 0, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0, + 14, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 16, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 15, 0, 0, 0, 0, 0, 35, 0, + 7, 0, 0, 0, 17, 0, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0, 14, 0, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0, 18, 0, 0, 0, + 0, 0, 35, 0, 16, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 19, 0, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, + 15, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 19, 0, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, + 22, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0, 21, 0, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0, 23, 0, 0, 0, + 0, 0, 35, 0, 22, 0, 0, 0, 24, 0, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0, 24, 0, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0, + 20, 0, 0, 0, 0, 0, 35, 0, 27, 0, 0, 0, 25, 0, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0, 25, 0, 0, 0, 0, 0, 35, 0, + 27, 0, 0, 0, 21, 0, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0, 26, 0, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0, 18, 0, 0, 0, + 0, 0, 35, 0, 29, 0, 0, 0, 27, 0, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0, 19, 0, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0, + 26, 0, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0, 30, 0, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0, 30, 0, 0, 0, 0, 0, 35, 0, + 33, 0, 0, 0, 31, 0, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0, 27, 0, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0, 31, 0, 0, 0, + 0, 0, 35, 0, 34, 0, 0, 0, 24, 0, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0, 34, 0, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0, + 35, 0, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0, 25, 0, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0, 36, 0, 0, 0, 0, 0, 35, 0, + 36, 0, 0, 0, 38, 0, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0, 38, 0, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0, 39, 0, 0, 0, + 0, 0, 35, 0, 35, 0, 0, 0, 37, 0, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0, 39, 0, 0, 0, 0, 0, 35, 0, 38, 0, 0, 0, + 40, 0, 0, 0, 0, 0, 35, 0, 30, 0, 0, 0, 40, 0, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0, 41, 0, 0, 0, 0, 0, 35, 0, + 31, 0, 0, 0, 41, 0, 0, 0, 0, 0, 35, 0, 38, 0, 0, 0, 44, 0, 0, 0, 0, 0, 35, 0, 40, 0, 0, 0, 42, 0, 0, 0, + 0, 0, 35, 0, 39, 0, 0, 0, 45, 0, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0, 43, 0, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0, + 46, 0, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0, 47, 0, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0, 50, 0, 0, 0, 0, 0, 35, 0, + 48, 0, 0, 0, 50, 0, 0, 0, 0, 0, 35, 0, 46, 0, 0, 0, 48, 0, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0, 51, 0, 0, 0, + 0, 0, 35, 0, 47, 0, 0, 0, 49, 0, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0, 51, 0, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0, + 52, 0, 0, 0, 0, 0, 35, 0, 52, 0, 0, 0, 50, 0, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0, 53, 0, 0, 0, 0, 0, 35, 0, + 53, 0, 0, 0, 51, 0, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0, 54, 0, 0, 0, 0, 0, 35, 0, 52, 0, 0, 0, 54, 0, 0, 0, + 0, 0, 35, 0, 25, 0, 0, 0, 55, 0, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0, 55, 0, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0, + 56, 0, 0, 0, 0, 0, 35, 0, 54, 0, 0, 0, 56, 0, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0, 57, 0, 0, 0, 0, 0, 35, 0, + 55, 0, 0, 0, 57, 0, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0, 58, 0, 0, 0, 0, 0, 35, 0, 56, 0, 0, 0, 58, 0, 0, 0, + 0, 0, 35, 0, 13, 0, 0, 0, 59, 0, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0, 59, 0, 0, 0, 0, 0, 35, 0, 10, 0, 0, 0, + 62, 0, 0, 0, 0, 0, 35, 0, 58, 0, 0, 0, 62, 0, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 63, 0, 0, 0, 0, 0, 35, 0, + 59, 0, 0, 0, 63, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 35, 0, 62, 0, 0, 0, 64, 0, 0, 0, + 0, 0, 35, 0, 1, 0, 0, 0, 65, 0, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0, 65, 0, 0, 0, 0, 0, 35, 0, 48, 0, 0, 0, + 64, 0, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0, 65, 0, 0, 0, 0, 0, 35, 0, 60, 0, 0, 0, 64, 0, 0, 0, 0, 0, 35, 0, + 48, 0, 0, 0, 60, 0, 0, 0, 0, 0, 35, 0, 61, 0, 0, 0, 65, 0, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0, 61, 0, 0, 0, + 0, 0, 35, 0, 60, 0, 0, 0, 62, 0, 0, 0, 0, 0, 35, 0, 61, 0, 0, 0, 63, 0, 0, 0, 0, 0, 35, 0, 58, 0, 0, 0, + 60, 0, 0, 0, 0, 0, 35, 0, 59, 0, 0, 0, 61, 0, 0, 0, 0, 0, 35, 0, 56, 0, 0, 0, 60, 0, 0, 0, 0, 0, 35, 0, + 57, 0, 0, 0, 61, 0, 0, 0, 0, 0, 35, 0, 54, 0, 0, 0, 60, 0, 0, 0, 0, 0, 35, 0, 55, 0, 0, 0, 61, 0, 0, 0, + 0, 0, 35, 0, 52, 0, 0, 0, 60, 0, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0, 61, 0, 0, 0, 0, 0, 35, 0, 50, 0, 0, 0, + 60, 0, 0, 0, 0, 0, 35, 0, 51, 0, 0, 0, 61, 0, 0, 0, 0, 0, 35, 0, 88, 0, 0, 0,173, 0, 0, 0, 0, 0, 35, 0, +173, 0, 0, 0,175, 0, 0, 0, 0, 0, 35, 0, 90, 0, 0, 0,175, 0, 0, 0, 0, 0, 35, 0, 88, 0, 0, 0, 90, 0, 0, 0, + 0, 0, 35, 0,174, 0, 0, 0,175, 0, 0, 0, 0, 0, 35, 0, 89, 0, 0, 0,174, 0, 0, 0, 0, 0, 35, 0, 89, 0, 0, 0, + 90, 0, 0, 0, 0, 0, 35, 0, 86, 0, 0, 0,171, 0, 0, 0, 0, 0, 35, 0,171, 0, 0, 0,173, 0, 0, 0, 0, 0, 35, 0, + 86, 0, 0, 0, 88, 0, 0, 0, 0, 0, 35, 0,172, 0, 0, 0,174, 0, 0, 0, 0, 0, 35, 0, 87, 0, 0, 0,172, 0, 0, 0, + 0, 0, 35, 0, 87, 0, 0, 0, 89, 0, 0, 0, 0, 0, 35, 0, 84, 0, 0, 0,169, 0, 0, 0, 0, 0, 35, 0,169, 0, 0, 0, +171, 0, 0, 0, 0, 0, 35, 0, 84, 0, 0, 0, 86, 0, 0, 0, 0, 0, 35, 0,170, 0, 0, 0,172, 0, 0, 0, 0, 0, 35, 0, + 85, 0, 0, 0,170, 0, 0, 0, 0, 0, 35, 0, 85, 0, 0, 0, 87, 0, 0, 0, 0, 0, 35, 0, 82, 0, 0, 0,167, 0, 0, 0, + 0, 0, 35, 0,167, 0, 0, 0,169, 0, 0, 0, 0, 0, 35, 0, 82, 0, 0, 0, 84, 0, 0, 0, 0, 0, 35, 0,168, 0, 0, 0, +170, 0, 0, 0, 0, 0, 35, 0, 83, 0, 0, 0,168, 0, 0, 0, 0, 0, 35, 0, 83, 0, 0, 0, 85, 0, 0, 0, 0, 0, 35, 0, + 80, 0, 0, 0,165, 0, 0, 0, 0, 0, 35, 0,165, 0, 0, 0,167, 0, 0, 0, 0, 0, 35, 0, 80, 0, 0, 0, 82, 0, 0, 0, + 0, 0, 35, 0,166, 0, 0, 0,168, 0, 0, 0, 0, 0, 35, 0, 81, 0, 0, 0,166, 0, 0, 0, 0, 0, 35, 0, 81, 0, 0, 0, + 83, 0, 0, 0, 0, 0, 35, 0, 78, 0, 0, 0, 91, 0, 0, 0, 0, 0, 35, 0, 91, 0, 0, 0,145, 0, 0, 0, 0, 0, 35, 0, +145, 0, 0, 0,163, 0, 0, 0, 0, 0, 35, 0, 78, 0, 0, 0,163, 0, 0, 0, 0, 0, 35, 0, 92, 0, 0, 0,146, 0, 0, 0, + 0, 0, 35, 0, 79, 0, 0, 0, 92, 0, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0,164, 0, 0, 0, 0, 0, 35, 0,146, 0, 0, 0, +164, 0, 0, 0, 0, 0, 35, 0, 91, 0, 0, 0, 93, 0, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0,147, 0, 0, 0, 0, 0, 35, 0, +145, 0, 0, 0,147, 0, 0, 0, 0, 0, 35, 0, 94, 0, 0, 0,148, 0, 0, 0, 0, 0, 35, 0, 92, 0, 0, 0, 94, 0, 0, 0, + 0, 0, 35, 0,146, 0, 0, 0,148, 0, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0, 95, 0, 0, 0, 0, 0, 35, 0, 95, 0, 0, 0, +149, 0, 0, 0, 0, 0, 35, 0,147, 0, 0, 0,149, 0, 0, 0, 0, 0, 35, 0, 96, 0, 0, 0,150, 0, 0, 0, 0, 0, 35, 0, + 94, 0, 0, 0, 96, 0, 0, 0, 0, 0, 35, 0,148, 0, 0, 0,150, 0, 0, 0, 0, 0, 35, 0, 95, 0, 0, 0, 97, 0, 0, 0, + 0, 0, 35, 0, 97, 0, 0, 0,151, 0, 0, 0, 0, 0, 35, 0,149, 0, 0, 0,151, 0, 0, 0, 0, 0, 35, 0, 98, 0, 0, 0, +152, 0, 0, 0, 0, 0, 35, 0, 96, 0, 0, 0, 98, 0, 0, 0, 0, 0, 35, 0,150, 0, 0, 0,152, 0, 0, 0, 0, 0, 35, 0, + 97, 0, 0, 0, 99, 0, 0, 0, 0, 0, 35, 0, 99, 0, 0, 0,153, 0, 0, 0, 0, 0, 35, 0,151, 0, 0, 0,153, 0, 0, 0, + 0, 0, 35, 0,100, 0, 0, 0,154, 0, 0, 0, 0, 0, 35, 0, 98, 0, 0, 0,100, 0, 0, 0, 0, 0, 35, 0,152, 0, 0, 0, +154, 0, 0, 0, 0, 0, 35, 0, 99, 0, 0, 0,101, 0, 0, 0, 0, 0, 35, 0,101, 0, 0, 0,155, 0, 0, 0, 0, 0, 35, 0, +153, 0, 0, 0,155, 0, 0, 0, 0, 0, 35, 0,102, 0, 0, 0,156, 0, 0, 0, 0, 0, 35, 0,100, 0, 0, 0,102, 0, 0, 0, + 0, 0, 35, 0,154, 0, 0, 0,156, 0, 0, 0, 0, 0, 35, 0,101, 0, 0, 0,103, 0, 0, 0, 0, 0, 35, 0,103, 0, 0, 0, +157, 0, 0, 0, 0, 0, 35, 0,155, 0, 0, 0,157, 0, 0, 0, 0, 0, 35, 0,104, 0, 0, 0,158, 0, 0, 0, 0, 0, 35, 0, +102, 0, 0, 0,104, 0, 0, 0, 0, 0, 35, 0,156, 0, 0, 0,158, 0, 0, 0, 0, 0, 35, 0,103, 0, 0, 0,105, 0, 0, 0, + 0, 0, 35, 0,105, 0, 0, 0,159, 0, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,159, 0, 0, 0, 0, 0, 35, 0,106, 0, 0, 0, +160, 0, 0, 0, 0, 0, 35, 0,104, 0, 0, 0,106, 0, 0, 0, 0, 0, 35, 0,158, 0, 0, 0,160, 0, 0, 0, 0, 0, 35, 0, +105, 0, 0, 0,107, 0, 0, 0, 0, 0, 35, 0,107, 0, 0, 0,161, 0, 0, 0, 0, 0, 35, 0,159, 0, 0, 0,161, 0, 0, 0, + 0, 0, 35, 0,108, 0, 0, 0,162, 0, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,108, 0, 0, 0, 0, 0, 35, 0,160, 0, 0, 0, +162, 0, 0, 0, 0, 0, 35, 0,107, 0, 0, 0, 66, 0, 0, 0, 0, 0, 35, 0, 66, 0, 0, 0, 67, 0, 0, 0, 0, 0, 35, 0, + 67, 0, 0, 0,161, 0, 0, 0, 0, 0, 35, 0,108, 0, 0, 0, 66, 0, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0,162, 0, 0, 0, + 0, 0, 35, 0,109, 0, 0, 0,127, 0, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,159, 0, 0, 0, 0, 0, 35, 0,109, 0, 0, 0, +161, 0, 0, 0, 0, 0, 35, 0,128, 0, 0, 0,160, 0, 0, 0, 0, 0, 35, 0,110, 0, 0, 0,128, 0, 0, 0, 0, 0, 35, 0, +110, 0, 0, 0,162, 0, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,178, 0, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,178, 0, 0, 0, + 0, 0, 35, 0,158, 0, 0, 0,179, 0, 0, 0, 0, 0, 35, 0,128, 0, 0, 0,179, 0, 0, 0, 0, 0, 35, 0,125, 0, 0, 0, +155, 0, 0, 0, 0, 0, 35, 0,125, 0, 0, 0,178, 0, 0, 0, 0, 0, 35, 0,126, 0, 0, 0,156, 0, 0, 0, 0, 0, 35, 0, +126, 0, 0, 0,179, 0, 0, 0, 0, 0, 35, 0,123, 0, 0, 0,153, 0, 0, 0, 0, 0, 35, 0,123, 0, 0, 0,125, 0, 0, 0, + 0, 0, 35, 0,124, 0, 0, 0,154, 0, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,126, 0, 0, 0, 0, 0, 35, 0,121, 0, 0, 0, +151, 0, 0, 0, 0, 0, 35, 0,121, 0, 0, 0,123, 0, 0, 0, 0, 0, 35, 0,122, 0, 0, 0,152, 0, 0, 0, 0, 0, 35, 0, +122, 0, 0, 0,124, 0, 0, 0, 0, 0, 35, 0,119, 0, 0, 0,149, 0, 0, 0, 0, 0, 35, 0,119, 0, 0, 0,121, 0, 0, 0, + 0, 0, 35, 0,120, 0, 0, 0,150, 0, 0, 0, 0, 0, 35, 0,120, 0, 0, 0,122, 0, 0, 0, 0, 0, 35, 0,117, 0, 0, 0, +147, 0, 0, 0, 0, 0, 35, 0,117, 0, 0, 0,119, 0, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,148, 0, 0, 0, 0, 0, 35, 0, +118, 0, 0, 0,120, 0, 0, 0, 0, 0, 35, 0,115, 0, 0, 0,145, 0, 0, 0, 0, 0, 35, 0,115, 0, 0, 0,117, 0, 0, 0, + 0, 0, 35, 0,116, 0, 0, 0,146, 0, 0, 0, 0, 0, 35, 0,116, 0, 0, 0,118, 0, 0, 0, 0, 0, 35, 0,113, 0, 0, 0, +163, 0, 0, 0, 0, 0, 35, 0,113, 0, 0, 0,115, 0, 0, 0, 0, 0, 35, 0,114, 0, 0, 0,164, 0, 0, 0, 0, 0, 35, 0, +114, 0, 0, 0,116, 0, 0, 0, 0, 0, 35, 0,113, 0, 0, 0,180, 0, 0, 0, 0, 0, 35, 0,176, 0, 0, 0,180, 0, 0, 0, + 0, 0, 35, 0,163, 0, 0, 0,176, 0, 0, 0, 0, 0, 35, 0,176, 0, 0, 0,181, 0, 0, 0, 0, 0, 35, 0,114, 0, 0, 0, +181, 0, 0, 0, 0, 0, 35, 0,164, 0, 0, 0,176, 0, 0, 0, 0, 0, 35, 0,111, 0, 0, 0, 67, 0, 0, 0, 0, 0, 35, 0, +109, 0, 0, 0,111, 0, 0, 0, 0, 0, 35, 0,110, 0, 0, 0,112, 0, 0, 0, 0, 0, 35, 0,112, 0, 0, 0, 67, 0, 0, 0, + 0, 0, 35, 0, 67, 0, 0, 0,177, 0, 0, 0, 0, 0, 35, 0,177, 0, 0, 0,182, 0, 0, 0, 0, 0, 35, 0,111, 0, 0, 0, +182, 0, 0, 0, 0, 0, 35, 0,112, 0, 0, 0,183, 0, 0, 0, 0, 0, 35, 0,177, 0, 0, 0,183, 0, 0, 0, 0, 0, 35, 0, +180, 0, 0, 0,182, 0, 0, 0, 0, 0, 35, 0,176, 0, 0, 0,177, 0, 0, 0, 0, 0, 33, 0,181, 0, 0, 0,183, 0, 0, 0, + 0, 0, 35, 0,134, 0, 0, 0,136, 0, 0, 0, 0, 0, 35, 0,136, 0, 0, 0,175, 0, 0, 0, 0, 0, 35, 0,134, 0, 0, 0, +173, 0, 0, 0, 0, 0, 35, 0,135, 0, 0, 0,136, 0, 0, 0, 0, 0, 35, 0,135, 0, 0, 0,174, 0, 0, 0, 0, 0, 35, 0, +132, 0, 0, 0,134, 0, 0, 0, 0, 0, 35, 0,132, 0, 0, 0,171, 0, 0, 0, 0, 0, 35, 0,133, 0, 0, 0,135, 0, 0, 0, + 0, 0, 35, 0,133, 0, 0, 0,172, 0, 0, 0, 0, 0, 35, 0,130, 0, 0, 0,132, 0, 0, 0, 0, 0, 35, 0,130, 0, 0, 0, +169, 0, 0, 0, 0, 0, 35, 0,131, 0, 0, 0,133, 0, 0, 0, 0, 0, 35, 0,131, 0, 0, 0,170, 0, 0, 0, 0, 0, 35, 0, +165, 0, 0, 0,186, 0, 0, 0, 0, 0, 35, 0,184, 0, 0, 0,186, 0, 0, 0, 0, 0, 35, 0,167, 0, 0, 0,184, 0, 0, 0, + 0, 0, 35, 0,185, 0, 0, 0,187, 0, 0, 0, 0, 0, 35, 0,166, 0, 0, 0,187, 0, 0, 0, 0, 0, 35, 0,168, 0, 0, 0, +185, 0, 0, 0, 0, 0, 35, 0,130, 0, 0, 0,184, 0, 0, 0, 0, 0, 35, 0,131, 0, 0, 0,185, 0, 0, 0, 0, 0, 35, 0, +143, 0, 0, 0,189, 0, 0, 0, 0, 0, 35, 0,188, 0, 0, 0,189, 0, 0, 0, 0, 0, 33, 0,186, 0, 0, 0,188, 0, 0, 0, + 0, 0, 35, 0,143, 0, 0, 0,186, 0, 0, 0, 0, 0, 35, 0,144, 0, 0, 0,189, 0, 0, 0, 0, 0, 35, 0,144, 0, 0, 0, +187, 0, 0, 0, 0, 0, 35, 0,187, 0, 0, 0,188, 0, 0, 0, 0, 0, 35, 0, 68, 0, 0, 0,188, 0, 0, 0, 0, 0, 33, 0, + 68, 0, 0, 0,184, 0, 0, 0, 0, 0, 35, 0, 68, 0, 0, 0,185, 0, 0, 0, 0, 0, 35, 0,129, 0, 0, 0,130, 0, 0, 0, + 0, 0, 35, 0, 68, 0, 0, 0,129, 0, 0, 0, 0, 0, 33, 0,129, 0, 0, 0,131, 0, 0, 0, 0, 0, 35, 0,141, 0, 0, 0, +192, 0, 0, 0, 0, 0, 35, 0,190, 0, 0, 0,192, 0, 0, 0, 0, 0, 35, 0,143, 0, 0, 0,190, 0, 0, 0, 0, 0, 35, 0, +141, 0, 0, 0,143, 0, 0, 0, 0, 0, 35, 0,191, 0, 0, 0,193, 0, 0, 0, 0, 0, 35, 0,142, 0, 0, 0,193, 0, 0, 0, + 0, 0, 35, 0,142, 0, 0, 0,144, 0, 0, 0, 0, 0, 35, 0,144, 0, 0, 0,191, 0, 0, 0, 0, 0, 35, 0,139, 0, 0, 0, +194, 0, 0, 0, 0, 0, 35, 0,192, 0, 0, 0,194, 0, 0, 0, 0, 0, 35, 0,139, 0, 0, 0,141, 0, 0, 0, 0, 0, 35, 0, +193, 0, 0, 0,195, 0, 0, 0, 0, 0, 35, 0,140, 0, 0, 0,195, 0, 0, 0, 0, 0, 35, 0,140, 0, 0, 0,142, 0, 0, 0, + 0, 0, 35, 0,138, 0, 0, 0,196, 0, 0, 0, 0, 0, 35, 0,194, 0, 0, 0,196, 0, 0, 0, 0, 0, 35, 0,138, 0, 0, 0, +139, 0, 0, 0, 0, 0, 35, 0,195, 0, 0, 0,197, 0, 0, 0, 0, 0, 35, 0,138, 0, 0, 0,197, 0, 0, 0, 0, 0, 35, 0, +138, 0, 0, 0,140, 0, 0, 0, 0, 0, 35, 0, 70, 0, 0, 0,137, 0, 0, 0, 0, 0, 35, 0, 70, 0, 0, 0,196, 0, 0, 0, + 0, 0, 35, 0,137, 0, 0, 0,138, 0, 0, 0, 0, 0, 35, 0, 70, 0, 0, 0,197, 0, 0, 0, 0, 0, 35, 0, 69, 0, 0, 0, +190, 0, 0, 0, 0, 0, 35, 0, 69, 0, 0, 0,189, 0, 0, 0, 0, 0, 35, 0, 69, 0, 0, 0,191, 0, 0, 0, 0, 0, 35, 0, +190, 0, 0, 0,205, 0, 0, 0, 0, 0, 35, 0,205, 0, 0, 0,207, 0, 0, 0, 0, 0, 35, 0, 69, 0, 0, 0,207, 0, 0, 0, + 0, 0, 35, 0,191, 0, 0, 0,206, 0, 0, 0, 0, 0, 35, 0,206, 0, 0, 0,207, 0, 0, 0, 0, 0, 35, 0, 70, 0, 0, 0, +198, 0, 0, 0, 0, 0, 35, 0,198, 0, 0, 0,199, 0, 0, 0, 0, 0, 35, 0,196, 0, 0, 0,199, 0, 0, 0, 0, 0, 35, 0, +198, 0, 0, 0,200, 0, 0, 0, 0, 0, 35, 0,197, 0, 0, 0,200, 0, 0, 0, 0, 0, 35, 0,199, 0, 0, 0,201, 0, 0, 0, + 0, 0, 35, 0,194, 0, 0, 0,201, 0, 0, 0, 0, 0, 35, 0,200, 0, 0, 0,202, 0, 0, 0, 0, 0, 35, 0,195, 0, 0, 0, +202, 0, 0, 0, 0, 0, 35, 0,201, 0, 0, 0,203, 0, 0, 0, 0, 0, 35, 0,192, 0, 0, 0,203, 0, 0, 0, 0, 0, 35, 0, +202, 0, 0, 0,204, 0, 0, 0, 0, 0, 35, 0,193, 0, 0, 0,204, 0, 0, 0, 0, 0, 35, 0,203, 0, 0, 0,205, 0, 0, 0, + 0, 0, 35, 0,204, 0, 0, 0,206, 0, 0, 0, 0, 0, 35, 0,198, 0, 0, 0,203, 0, 0, 0, 0, 0, 35, 0,198, 0, 0, 0, +204, 0, 0, 0, 0, 0, 35, 0,198, 0, 0, 0,207, 0, 0, 0, 0, 0, 35, 0,139, 0, 0, 0,163, 0, 0, 0, 0, 0, 35, 0, +138, 0, 0, 0,176, 0, 0, 0, 0, 0, 35, 0,140, 0, 0, 0,164, 0, 0, 0, 0, 0, 35, 0,141, 0, 0, 0,210, 0, 0, 0, + 0, 0, 35, 0,163, 0, 0, 0,210, 0, 0, 0, 0, 0, 35, 0,142, 0, 0, 0,211, 0, 0, 0, 0, 0, 35, 0,164, 0, 0, 0, +211, 0, 0, 0, 0, 0, 35, 0,143, 0, 0, 0,212, 0, 0, 0, 0, 0, 35, 0,210, 0, 0, 0,212, 0, 0, 0, 0, 0, 35, 0, +144, 0, 0, 0,213, 0, 0, 0, 0, 0, 35, 0,211, 0, 0, 0,213, 0, 0, 0, 0, 0, 35, 0,165, 0, 0, 0,212, 0, 0, 0, + 0, 0, 35, 0,166, 0, 0, 0,213, 0, 0, 0, 0, 0, 35, 0, 80, 0, 0, 0,208, 0, 0, 0, 0, 0, 35, 0,208, 0, 0, 0, +212, 0, 0, 0, 0, 0, 35, 0,209, 0, 0, 0,213, 0, 0, 0, 0, 0, 35, 0, 81, 0, 0, 0,209, 0, 0, 0, 0, 0, 35, 0, +208, 0, 0, 0,214, 0, 0, 0, 0, 0, 35, 0,210, 0, 0, 0,214, 0, 0, 0, 0, 0, 35, 0,211, 0, 0, 0,215, 0, 0, 0, + 0, 0, 35, 0,209, 0, 0, 0,215, 0, 0, 0, 0, 0, 35, 0, 78, 0, 0, 0,214, 0, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0, +215, 0, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0,129, 0, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0,221, 0, 0, 0, 0, 0, 35, 0, +130, 0, 0, 0,221, 0, 0, 0, 0, 0, 35, 0,131, 0, 0, 0,222, 0, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0,222, 0, 0, 0, + 0, 0, 35, 0,219, 0, 0, 0,221, 0, 0, 0, 0, 0, 35, 0,132, 0, 0, 0,219, 0, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, +220, 0, 0, 0, 0, 0, 35, 0,220, 0, 0, 0,222, 0, 0, 0, 0, 0, 35, 0,217, 0, 0, 0,219, 0, 0, 0, 0, 0, 35, 0, +134, 0, 0, 0,217, 0, 0, 0, 0, 0, 35, 0,135, 0, 0, 0,218, 0, 0, 0, 0, 0, 35, 0,218, 0, 0, 0,220, 0, 0, 0, + 0, 0, 35, 0,216, 0, 0, 0,217, 0, 0, 0, 0, 0, 35, 0,136, 0, 0, 0,216, 0, 0, 0, 0, 0, 35, 0,216, 0, 0, 0, +218, 0, 0, 0, 0, 0, 35, 0,217, 0, 0, 0,228, 0, 0, 0, 0, 0, 35, 0,228, 0, 0, 0,230, 0, 0, 0, 0, 0, 35, 0, +216, 0, 0, 0,230, 0, 0, 0, 0, 0, 35, 0,218, 0, 0, 0,229, 0, 0, 0, 0, 0, 35, 0,229, 0, 0, 0,230, 0, 0, 0, + 0, 0, 35, 0,219, 0, 0, 0,226, 0, 0, 0, 0, 0, 35, 0,226, 0, 0, 0,228, 0, 0, 0, 0, 0, 35, 0,220, 0, 0, 0, +227, 0, 0, 0, 0, 0, 35, 0,227, 0, 0, 0,229, 0, 0, 0, 0, 0, 35, 0,221, 0, 0, 0,224, 0, 0, 0, 0, 0, 35, 0, +224, 0, 0, 0,226, 0, 0, 0, 0, 0, 35, 0,222, 0, 0, 0,225, 0, 0, 0, 0, 0, 35, 0,225, 0, 0, 0,227, 0, 0, 0, + 0, 0, 35, 0, 71, 0, 0, 0,223, 0, 0, 0, 0, 0, 35, 0,223, 0, 0, 0,224, 0, 0, 0, 0, 0, 35, 0,223, 0, 0, 0, +225, 0, 0, 0, 0, 0, 35, 0,223, 0, 0, 0,230, 0, 0, 0, 0, 0, 35, 0,224, 0, 0, 0,228, 0, 0, 0, 0, 0, 35, 0, +225, 0, 0, 0,229, 0, 0, 0, 0, 0, 35, 0,180, 0, 0, 0,233, 0, 0, 0, 0, 0, 35, 0,231, 0, 0, 0,233, 0, 0, 0, + 0, 0, 35, 0,182, 0, 0, 0,231, 0, 0, 0, 0, 0, 35, 0,181, 0, 0, 0,234, 0, 0, 0, 0, 0, 35, 0,183, 0, 0, 0, +232, 0, 0, 0, 0, 0, 35, 0,232, 0, 0, 0,234, 0, 0, 0, 0, 0, 35, 0,253, 0, 0, 0,231, 0, 0, 0, 0, 0, 35, 0, +111, 0, 0, 0,253, 0, 0, 0, 0, 0, 35, 0,112, 0, 0, 0,254, 0, 0, 0, 0, 0, 35, 0,254, 0, 0, 0,232, 0, 0, 0, + 0, 0, 35, 0,253, 0, 0, 0,255, 0, 0, 0, 0, 0, 35, 0,109, 0, 0, 0,255, 0, 0, 0, 0, 0, 35, 0,110, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 35, 0,254, 0, 0, 0, 0, 1, 0, 0, 0, 0, 35, 0,251, 0, 0, 0,113, 0, 0, 0, 0, 0, 35, 0, +251, 0, 0, 0,233, 0, 0, 0, 0, 0, 35, 0,252, 0, 0, 0,114, 0, 0, 0, 0, 0, 35, 0,252, 0, 0, 0,234, 0, 0, 0, + 0, 0, 35, 0,249, 0, 0, 0,115, 0, 0, 0, 0, 0, 35, 0,249, 0, 0, 0,251, 0, 0, 0, 0, 0, 35, 0,250, 0, 0, 0, +116, 0, 0, 0, 0, 0, 35, 0,250, 0, 0, 0,252, 0, 0, 0, 0, 0, 35, 0,247, 0, 0, 0,117, 0, 0, 0, 0, 0, 35, 0, +247, 0, 0, 0,249, 0, 0, 0, 0, 0, 35, 0,248, 0, 0, 0,118, 0, 0, 0, 0, 0, 35, 0,248, 0, 0, 0,250, 0, 0, 0, + 0, 0, 35, 0,245, 0, 0, 0,119, 0, 0, 0, 0, 0, 35, 0,245, 0, 0, 0,247, 0, 0, 0, 0, 0, 35, 0,246, 0, 0, 0, +120, 0, 0, 0, 0, 0, 35, 0,246, 0, 0, 0,248, 0, 0, 0, 0, 0, 35, 0,243, 0, 0, 0,121, 0, 0, 0, 0, 0, 35, 0, +243, 0, 0, 0,245, 0, 0, 0, 0, 0, 35, 0,244, 0, 0, 0,122, 0, 0, 0, 0, 0, 35, 0,244, 0, 0, 0,246, 0, 0, 0, + 0, 0, 35, 0,123, 0, 0, 0,241, 0, 0, 0, 0, 0, 35, 0,243, 0, 0, 0,241, 0, 0, 0, 0, 0, 35, 0,124, 0, 0, 0, +242, 0, 0, 0, 0, 0, 35, 0,244, 0, 0, 0,242, 0, 0, 0, 0, 0, 35, 0,125, 0, 0, 0,239, 0, 0, 0, 0, 0, 35, 0, +239, 0, 0, 0,241, 0, 0, 0, 0, 0, 35, 0,126, 0, 0, 0,240, 0, 0, 0, 0, 0, 35, 0,240, 0, 0, 0,242, 0, 0, 0, + 0, 0, 35, 0,178, 0, 0, 0,235, 0, 0, 0, 0, 0, 35, 0,235, 0, 0, 0,239, 0, 0, 0, 0, 0, 35, 0,179, 0, 0, 0, +236, 0, 0, 0, 0, 0, 35, 0,236, 0, 0, 0,240, 0, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,237, 0, 0, 0, 0, 0, 35, 0, +235, 0, 0, 0,237, 0, 0, 0, 0, 0, 35, 0,128, 0, 0, 0,238, 0, 0, 0, 0, 0, 35, 0,236, 0, 0, 0,238, 0, 0, 0, + 0, 0, 35, 0,255, 0, 0, 0,237, 0, 0, 0, 0, 0, 35, 0, 0, 1, 0, 0,238, 0, 0, 0, 0, 0, 35, 0,255, 0, 0, 0, + 1, 1, 0, 0, 0, 0, 35, 0, 1, 1, 0, 0, 19, 1, 0, 0, 0, 0, 35, 0, 19, 1, 0, 0,237, 0, 0, 0, 0, 0, 35, 0, + 0, 1, 0, 0, 2, 1, 0, 0, 0, 0, 35, 0, 20, 1, 0, 0,238, 0, 0, 0, 0, 0, 35, 0, 2, 1, 0, 0, 20, 1, 0, 0, + 0, 0, 35, 0, 19, 1, 0, 0, 21, 1, 0, 0, 0, 0, 35, 0, 21, 1, 0, 0,235, 0, 0, 0, 0, 0, 35, 0, 22, 1, 0, 0, +236, 0, 0, 0, 0, 0, 35, 0, 20, 1, 0, 0, 22, 1, 0, 0, 0, 0, 35, 0, 17, 1, 0, 0, 21, 1, 0, 0, 0, 0, 35, 0, + 17, 1, 0, 0,239, 0, 0, 0, 0, 0, 35, 0, 18, 1, 0, 0,240, 0, 0, 0, 0, 0, 35, 0, 18, 1, 0, 0, 22, 1, 0, 0, + 0, 0, 35, 0, 15, 1, 0, 0, 17, 1, 0, 0, 0, 0, 35, 0, 15, 1, 0, 0,241, 0, 0, 0, 0, 0, 35, 0, 16, 1, 0, 0, +242, 0, 0, 0, 0, 0, 35, 0, 16, 1, 0, 0, 18, 1, 0, 0, 0, 0, 35, 0, 13, 1, 0, 0, 15, 1, 0, 0, 0, 0, 35, 0, +243, 0, 0, 0, 13, 1, 0, 0, 0, 0, 35, 0,244, 0, 0, 0, 14, 1, 0, 0, 0, 0, 35, 0, 14, 1, 0, 0, 16, 1, 0, 0, + 0, 0, 35, 0, 11, 1, 0, 0, 13, 1, 0, 0, 0, 0, 35, 0,245, 0, 0, 0, 11, 1, 0, 0, 0, 0, 35, 0,246, 0, 0, 0, + 12, 1, 0, 0, 0, 0, 35, 0, 12, 1, 0, 0, 14, 1, 0, 0, 0, 0, 35, 0, 9, 1, 0, 0, 11, 1, 0, 0, 0, 0, 35, 0, +247, 0, 0, 0, 9, 1, 0, 0, 0, 0, 35, 0,248, 0, 0, 0, 10, 1, 0, 0, 0, 0, 35, 0, 10, 1, 0, 0, 12, 1, 0, 0, + 0, 0, 35, 0, 7, 1, 0, 0, 9, 1, 0, 0, 0, 0, 35, 0,249, 0, 0, 0, 7, 1, 0, 0, 0, 0, 35, 0,250, 0, 0, 0, + 8, 1, 0, 0, 0, 0, 35, 0, 8, 1, 0, 0, 10, 1, 0, 0, 0, 0, 35, 0, 5, 1, 0, 0, 7, 1, 0, 0, 0, 0, 35, 0, +251, 0, 0, 0, 5, 1, 0, 0, 0, 0, 35, 0,252, 0, 0, 0, 6, 1, 0, 0, 0, 0, 35, 0, 6, 1, 0, 0, 8, 1, 0, 0, + 0, 0, 35, 0, 5, 1, 0, 0, 23, 1, 0, 0, 0, 0, 35, 0, 23, 1, 0, 0,233, 0, 0, 0, 0, 0, 35, 0, 24, 1, 0, 0, +234, 0, 0, 0, 0, 0, 35, 0, 6, 1, 0, 0, 24, 1, 0, 0, 0, 0, 35, 0,253, 0, 0, 0, 3, 1, 0, 0, 0, 0, 35, 0, + 1, 1, 0, 0, 3, 1, 0, 0, 0, 0, 35, 0,254, 0, 0, 0, 4, 1, 0, 0, 0, 0, 35, 0, 2, 1, 0, 0, 4, 1, 0, 0, + 0, 0, 35, 0, 25, 1, 0, 0,231, 0, 0, 0, 0, 0, 35, 0, 3, 1, 0, 0, 25, 1, 0, 0, 0, 0, 35, 0, 26, 1, 0, 0, +232, 0, 0, 0, 0, 0, 35, 0, 4, 1, 0, 0, 26, 1, 0, 0, 0, 0, 35, 0, 23, 1, 0, 0, 25, 1, 0, 0, 0, 0, 35, 0, + 24, 1, 0, 0, 26, 1, 0, 0, 0, 0, 35, 0,107, 0, 0, 0, 27, 1, 0, 0, 0, 0, 35, 0, 72, 0, 0, 0, 27, 1, 0, 0, + 0, 0, 35, 0, 72, 0, 0, 0, 66, 0, 0, 0, 0, 0, 35, 0,108, 0, 0, 0, 28, 1, 0, 0, 0, 0, 35, 0, 72, 0, 0, 0, + 28, 1, 0, 0, 0, 0, 35, 0,105, 0, 0, 0, 29, 1, 0, 0, 0, 0, 35, 0, 27, 1, 0, 0, 29, 1, 0, 0, 0, 0, 35, 0, +106, 0, 0, 0, 30, 1, 0, 0, 0, 0, 35, 0, 28, 1, 0, 0, 30, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0, 31, 1, 0, 0, + 0, 0, 35, 0, 29, 1, 0, 0, 31, 1, 0, 0, 0, 0, 35, 0,104, 0, 0, 0, 32, 1, 0, 0, 0, 0, 35, 0, 30, 1, 0, 0, + 32, 1, 0, 0, 0, 0, 35, 0,101, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 0, 31, 1, 0, 0, 33, 1, 0, 0, 0, 0, 35, 0, +102, 0, 0, 0, 34, 1, 0, 0, 0, 0, 35, 0, 32, 1, 0, 0, 34, 1, 0, 0, 0, 0, 35, 0, 99, 0, 0, 0, 35, 1, 0, 0, + 0, 0, 35, 0, 33, 1, 0, 0, 35, 1, 0, 0, 0, 0, 35, 0,100, 0, 0, 0, 36, 1, 0, 0, 0, 0, 35, 0, 34, 1, 0, 0, + 36, 1, 0, 0, 0, 0, 35, 0, 97, 0, 0, 0, 37, 1, 0, 0, 0, 0, 35, 0, 35, 1, 0, 0, 37, 1, 0, 0, 0, 0, 35, 0, + 98, 0, 0, 0, 38, 1, 0, 0, 0, 0, 35, 0, 36, 1, 0, 0, 38, 1, 0, 0, 0, 0, 35, 0, 95, 0, 0, 0, 39, 1, 0, 0, + 0, 0, 35, 0, 37, 1, 0, 0, 39, 1, 0, 0, 0, 0, 35, 0, 96, 0, 0, 0, 40, 1, 0, 0, 0, 0, 35, 0, 38, 1, 0, 0, + 40, 1, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0, 41, 1, 0, 0, 0, 0, 35, 0, 39, 1, 0, 0, 41, 1, 0, 0, 0, 0, 35, 0, + 94, 0, 0, 0, 42, 1, 0, 0, 0, 0, 35, 0, 40, 1, 0, 0, 42, 1, 0, 0, 0, 0, 35, 0, 91, 0, 0, 0, 43, 1, 0, 0, + 0, 0, 35, 0, 41, 1, 0, 0, 43, 1, 0, 0, 0, 0, 35, 0, 92, 0, 0, 0, 44, 1, 0, 0, 0, 0, 35, 0, 42, 1, 0, 0, + 44, 1, 0, 0, 0, 0, 35, 0, 51, 1, 0, 0, 52, 1, 0, 0, 0, 0, 35, 0, 52, 1, 0, 0, 71, 1, 0, 0, 0, 0, 35, 0, + 71, 1, 0, 0, 81, 1, 0, 0, 0, 0, 35, 0, 51, 1, 0, 0, 81, 1, 0, 0, 0, 0, 35, 0, 52, 1, 0, 0, 72, 1, 0, 0, + 0, 0, 35, 0, 51, 1, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0, 72, 1, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0, 50, 1, 0, 0, + 51, 1, 0, 0, 0, 0, 35, 0, 79, 1, 0, 0, 81, 1, 0, 0, 0, 0, 35, 0, 50, 1, 0, 0, 79, 1, 0, 0, 0, 0, 35, 0, + 50, 1, 0, 0, 80, 1, 0, 0, 0, 0, 35, 0, 80, 1, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0, 49, 1, 0, 0, 50, 1, 0, 0, + 0, 0, 35, 0, 79, 1, 0, 0, 83, 1, 0, 0, 0, 0, 35, 0, 49, 1, 0, 0, 83, 1, 0, 0, 0, 0, 35, 0, 49, 1, 0, 0, + 84, 1, 0, 0, 0, 0, 35, 0, 80, 1, 0, 0, 84, 1, 0, 0, 0, 0, 35, 0, 90, 0, 0, 0, 49, 1, 0, 0, 0, 0, 35, 0, + 88, 0, 0, 0, 83, 1, 0, 0, 0, 0, 35, 0, 89, 0, 0, 0, 84, 1, 0, 0, 0, 0, 35, 0, 77, 1, 0, 0, 83, 1, 0, 0, + 0, 0, 35, 0, 86, 0, 0, 0, 77, 1, 0, 0, 0, 0, 35, 0, 87, 0, 0, 0, 78, 1, 0, 0, 0, 0, 35, 0, 78, 1, 0, 0, + 84, 1, 0, 0, 0, 0, 35, 0, 73, 1, 0, 0, 77, 1, 0, 0, 0, 0, 35, 0, 84, 0, 0, 0, 73, 1, 0, 0, 0, 0, 35, 0, + 85, 0, 0, 0, 74, 1, 0, 0, 0, 0, 35, 0, 74, 1, 0, 0, 78, 1, 0, 0, 0, 0, 35, 0, 73, 1, 0, 0, 75, 1, 0, 0, + 0, 0, 35, 0, 82, 0, 0, 0, 75, 1, 0, 0, 0, 0, 35, 0, 83, 0, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0, 74, 1, 0, 0, + 76, 1, 0, 0, 0, 0, 35, 0, 73, 1, 0, 0, 79, 1, 0, 0, 0, 0, 35, 0, 75, 1, 0, 0, 81, 1, 0, 0, 0, 0, 35, 0, + 74, 1, 0, 0, 80, 1, 0, 0, 0, 0, 35, 0, 76, 1, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0, 69, 1, 0, 0, 75, 1, 0, 0, + 0, 0, 35, 0, 69, 1, 0, 0, 71, 1, 0, 0, 0, 0, 35, 0, 70, 1, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0, 70, 1, 0, 0, + 72, 1, 0, 0, 0, 0, 35, 0, 80, 0, 0, 0, 69, 1, 0, 0, 0, 0, 35, 0, 81, 0, 0, 0, 70, 1, 0, 0, 0, 0, 35, 0, + 85, 1, 0, 0,208, 0, 0, 0, 0, 0, 35, 0, 85, 1, 0, 0, 87, 1, 0, 0, 0, 0, 35, 0, 87, 1, 0, 0,214, 0, 0, 0, + 0, 0, 35, 0, 86, 1, 0, 0, 88, 1, 0, 0, 0, 0, 35, 0, 86, 1, 0, 0,209, 0, 0, 0, 0, 0, 35, 0, 88, 1, 0, 0, +215, 0, 0, 0, 0, 0, 35, 0, 69, 1, 0, 0, 85, 1, 0, 0, 0, 0, 35, 0, 70, 1, 0, 0, 86, 1, 0, 0, 0, 0, 35, 0, + 87, 1, 0, 0, 89, 1, 0, 0, 0, 0, 35, 0, 78, 0, 0, 0, 89, 1, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0, 90, 1, 0, 0, + 0, 0, 35, 0, 88, 1, 0, 0, 90, 1, 0, 0, 0, 0, 35, 0, 43, 1, 0, 0, 89, 1, 0, 0, 0, 0, 35, 0, 44, 1, 0, 0, + 90, 1, 0, 0, 0, 0, 35, 0, 76, 0, 0, 0, 67, 1, 0, 0, 0, 0, 35, 0, 67, 1, 0, 0, 95, 1, 0, 0, 0, 0, 35, 0, + 47, 1, 0, 0, 95, 1, 0, 0, 0, 0, 35, 0, 76, 0, 0, 0, 47, 1, 0, 0, 0, 0, 35, 0, 68, 1, 0, 0, 96, 1, 0, 0, + 0, 0, 35, 0, 76, 0, 0, 0, 68, 1, 0, 0, 0, 0, 35, 0, 47, 1, 0, 0, 96, 1, 0, 0, 0, 0, 35, 0, 93, 1, 0, 0, + 95, 1, 0, 0, 0, 0, 35, 0, 77, 0, 0, 0, 93, 1, 0, 0, 0, 0, 35, 0, 77, 0, 0, 0, 47, 1, 0, 0, 0, 0, 35, 0, + 94, 1, 0, 0, 96, 1, 0, 0, 0, 0, 35, 0, 77, 0, 0, 0, 94, 1, 0, 0, 0, 0, 35, 0, 91, 1, 0, 0, 93, 1, 0, 0, + 0, 0, 35, 0, 48, 1, 0, 0, 91, 1, 0, 0, 0, 0, 35, 0, 77, 0, 0, 0, 48, 1, 0, 0, 0, 0, 35, 0, 92, 1, 0, 0, + 94, 1, 0, 0, 0, 0, 35, 0, 48, 1, 0, 0, 92, 1, 0, 0, 0, 0, 35, 0, 71, 1, 0, 0, 91, 1, 0, 0, 0, 0, 35, 0, + 48, 1, 0, 0, 52, 1, 0, 0, 0, 0, 35, 0, 72, 1, 0, 0, 92, 1, 0, 0, 0, 0, 35, 0, 85, 1, 0, 0, 91, 1, 0, 0, + 0, 0, 35, 0, 86, 1, 0, 0, 92, 1, 0, 0, 0, 0, 35, 0, 41, 1, 0, 0, 61, 1, 0, 0, 0, 0, 35, 0, 53, 1, 0, 0, + 61, 1, 0, 0, 0, 0, 35, 0, 39, 1, 0, 0, 53, 1, 0, 0, 0, 0, 35, 0, 42, 1, 0, 0, 62, 1, 0, 0, 0, 0, 35, 0, + 40, 1, 0, 0, 54, 1, 0, 0, 0, 0, 35, 0, 54, 1, 0, 0, 62, 1, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0, 59, 1, 0, 0, + 0, 0, 35, 0, 59, 1, 0, 0, 67, 1, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0, 76, 0, 0, 0, 0, 0, 35, 0, 60, 1, 0, 0, + 68, 1, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0, 60, 1, 0, 0, 0, 0, 35, 0, 45, 1, 0, 0,101, 1, 0, 0, 0, 0, 35, 0, + 99, 1, 0, 0,101, 1, 0, 0, 0, 0, 35, 0, 46, 1, 0, 0, 99, 1, 0, 0, 0, 0, 35, 0, 45, 1, 0, 0, 46, 1, 0, 0, + 0, 0, 35, 0,100, 1, 0, 0,102, 1, 0, 0, 0, 0, 35, 0, 45, 1, 0, 0,102, 1, 0, 0, 0, 0, 35, 0, 46, 1, 0, 0, +100, 1, 0, 0, 0, 0, 35, 0, 97, 1, 0, 0, 99, 1, 0, 0, 0, 0, 35, 0, 74, 0, 0, 0, 97, 1, 0, 0, 0, 0, 35, 0, + 74, 0, 0, 0, 46, 1, 0, 0, 0, 0, 35, 0, 98, 1, 0, 0,100, 1, 0, 0, 0, 0, 35, 0, 74, 0, 0, 0, 98, 1, 0, 0, + 0, 0, 35, 0, 59, 1, 0, 0, 97, 1, 0, 0, 0, 0, 35, 0, 74, 0, 0, 0, 75, 0, 0, 0, 0, 0, 35, 0, 60, 1, 0, 0, + 98, 1, 0, 0, 0, 0, 35, 0, 37, 1, 0, 0,105, 1, 0, 0, 0, 0, 35, 0,105, 1, 0, 0,107, 1, 0, 0, 0, 0, 35, 0, + 35, 1, 0, 0,107, 1, 0, 0, 0, 0, 35, 0, 38, 1, 0, 0,106, 1, 0, 0, 0, 0, 35, 0, 36, 1, 0, 0,108, 1, 0, 0, + 0, 0, 35, 0,106, 1, 0, 0,108, 1, 0, 0, 0, 0, 35, 0,105, 1, 0, 0,111, 1, 0, 0, 0, 0, 35, 0,109, 1, 0, 0, +111, 1, 0, 0, 0, 0, 35, 0,107, 1, 0, 0,109, 1, 0, 0, 0, 0, 35, 0,106, 1, 0, 0,112, 1, 0, 0, 0, 0, 35, 0, +108, 1, 0, 0,110, 1, 0, 0, 0, 0, 35, 0,110, 1, 0, 0,112, 1, 0, 0, 0, 0, 35, 0,111, 1, 0, 0,113, 1, 0, 0, + 0, 0, 35, 0,113, 1, 0, 0,115, 1, 0, 0, 0, 0, 35, 0,109, 1, 0, 0,115, 1, 0, 0, 0, 0, 35, 0,112, 1, 0, 0, +114, 1, 0, 0, 0, 0, 35, 0,110, 1, 0, 0,116, 1, 0, 0, 0, 0, 35, 0,114, 1, 0, 0,116, 1, 0, 0, 0, 0, 35, 0, +113, 1, 0, 0,119, 1, 0, 0, 0, 0, 35, 0,117, 1, 0, 0,119, 1, 0, 0, 0, 0, 35, 0,115, 1, 0, 0,117, 1, 0, 0, + 0, 0, 35, 0,114, 1, 0, 0,120, 1, 0, 0, 0, 0, 35, 0,116, 1, 0, 0,118, 1, 0, 0, 0, 0, 35, 0,118, 1, 0, 0, +120, 1, 0, 0, 0, 0, 35, 0, 57, 1, 0, 0,121, 1, 0, 0, 0, 0, 35, 0,117, 1, 0, 0,121, 1, 0, 0, 0, 0, 35, 0, + 57, 1, 0, 0,119, 1, 0, 0, 0, 0, 35, 0,118, 1, 0, 0,122, 1, 0, 0, 0, 0, 35, 0, 58, 1, 0, 0,122, 1, 0, 0, + 0, 0, 35, 0, 58, 1, 0, 0,120, 1, 0, 0, 0, 0, 35, 0, 97, 1, 0, 0,117, 1, 0, 0, 0, 0, 35, 0, 59, 1, 0, 0, +121, 1, 0, 0, 0, 0, 35, 0, 98, 1, 0, 0,118, 1, 0, 0, 0, 0, 35, 0, 60, 1, 0, 0,122, 1, 0, 0, 0, 0, 35, 0, + 99, 1, 0, 0,115, 1, 0, 0, 0, 0, 35, 0,100, 1, 0, 0,116, 1, 0, 0, 0, 0, 35, 0,101, 1, 0, 0,109, 1, 0, 0, + 0, 0, 35, 0,102, 1, 0, 0,110, 1, 0, 0, 0, 0, 35, 0,101, 1, 0, 0,103, 1, 0, 0, 0, 0, 35, 0,103, 1, 0, 0, +107, 1, 0, 0, 0, 0, 35, 0,104, 1, 0, 0,108, 1, 0, 0, 0, 0, 35, 0,102, 1, 0, 0,104, 1, 0, 0, 0, 0, 35, 0, + 33, 1, 0, 0,103, 1, 0, 0, 0, 0, 35, 0, 34, 1, 0, 0,104, 1, 0, 0, 0, 0, 35, 0, 73, 0, 0, 0,103, 1, 0, 0, + 0, 0, 35, 0, 73, 0, 0, 0, 45, 1, 0, 0, 0, 0, 35, 0, 73, 0, 0, 0,104, 1, 0, 0, 0, 0, 35, 0, 27, 1, 0, 0, + 33, 1, 0, 0, 0, 0, 35, 0, 28, 1, 0, 0, 34, 1, 0, 0, 0, 0, 35, 0, 73, 0, 0, 0, 27, 1, 0, 0, 0, 0, 35, 0, + 73, 0, 0, 0, 28, 1, 0, 0, 0, 0, 35, 0, 72, 0, 0, 0, 73, 0, 0, 0, 0, 0, 35, 0, 53, 1, 0, 0,105, 1, 0, 0, + 0, 0, 35, 0, 54, 1, 0, 0,106, 1, 0, 0, 0, 0, 35, 0, 53, 1, 0, 0, 55, 1, 0, 0, 0, 0, 35, 0, 55, 1, 0, 0, +111, 1, 0, 0, 0, 0, 35, 0, 56, 1, 0, 0,112, 1, 0, 0, 0, 0, 35, 0, 54, 1, 0, 0, 56, 1, 0, 0, 0, 0, 35, 0, + 55, 1, 0, 0,125, 1, 0, 0, 0, 0, 35, 0,113, 1, 0, 0,125, 1, 0, 0, 0, 0, 35, 0,114, 1, 0, 0,126, 1, 0, 0, + 0, 0, 35, 0, 56, 1, 0, 0,126, 1, 0, 0, 0, 0, 35, 0, 57, 1, 0, 0,125, 1, 0, 0, 0, 0, 35, 0, 58, 1, 0, 0, +126, 1, 0, 0, 0, 0, 35, 0, 93, 1, 0, 0,129, 1, 0, 0, 0, 0, 35, 0,127, 1, 0, 0,129, 1, 0, 0, 0, 0, 35, 0, + 91, 1, 0, 0,127, 1, 0, 0, 0, 0, 35, 0, 94, 1, 0, 0,130, 1, 0, 0, 0, 0, 35, 0, 92, 1, 0, 0,128, 1, 0, 0, + 0, 0, 35, 0,128, 1, 0, 0,130, 1, 0, 0, 0, 0, 35, 0, 61, 1, 0, 0,127, 1, 0, 0, 0, 0, 35, 0, 63, 1, 0, 0, +129, 1, 0, 0, 0, 0, 35, 0, 61, 1, 0, 0, 63, 1, 0, 0, 0, 0, 35, 0, 62, 1, 0, 0,128, 1, 0, 0, 0, 0, 35, 0, + 62, 1, 0, 0, 64, 1, 0, 0, 0, 0, 35, 0, 64, 1, 0, 0,130, 1, 0, 0, 0, 0, 35, 0, 43, 1, 0, 0,127, 1, 0, 0, + 0, 0, 35, 0, 44, 1, 0, 0,128, 1, 0, 0, 0, 0, 35, 0, 43, 1, 0, 0, 87, 1, 0, 0, 0, 0, 35, 0, 85, 1, 0, 0, +127, 1, 0, 0, 0, 0, 35, 0, 44, 1, 0, 0, 88, 1, 0, 0, 0, 0, 35, 0, 86, 1, 0, 0,128, 1, 0, 0, 0, 0, 35, 0, + 57, 1, 0, 0, 65, 1, 0, 0, 0, 0, 35, 0, 65, 1, 0, 0,123, 1, 0, 0, 0, 0, 35, 0,121, 1, 0, 0,123, 1, 0, 0, + 0, 0, 35, 0, 66, 1, 0, 0,124, 1, 0, 0, 0, 0, 35, 0, 58, 1, 0, 0, 66, 1, 0, 0, 0, 0, 35, 0,122, 1, 0, 0, +124, 1, 0, 0, 0, 0, 35, 0, 67, 1, 0, 0,123, 1, 0, 0, 0, 0, 35, 0, 68, 1, 0, 0,124, 1, 0, 0, 0, 0, 35, 0, +123, 1, 0, 0,129, 1, 0, 0, 0, 0, 35, 0, 63, 1, 0, 0, 65, 1, 0, 0, 0, 0, 35, 0,124, 1, 0, 0,130, 1, 0, 0, + 0, 0, 35, 0, 64, 1, 0, 0, 66, 1, 0, 0, 0, 0, 35, 0, 95, 1, 0, 0,123, 1, 0, 0, 0, 0, 35, 0, 96, 1, 0, 0, +124, 1, 0, 0, 0, 0, 35, 0,131, 1, 0, 0,143, 1, 0, 0, 0, 0, 35, 0,131, 1, 0, 0,157, 1, 0, 0, 0, 0, 35, 0, +145, 1, 0, 0,157, 1, 0, 0, 0, 0, 35, 0,143, 1, 0, 0,145, 1, 0, 0, 0, 0, 35, 0,132, 1, 0, 0,158, 1, 0, 0, + 0, 0, 35, 0,132, 1, 0, 0,144, 1, 0, 0, 0, 0, 35, 0,144, 1, 0, 0,146, 1, 0, 0, 0, 0, 35, 0,146, 1, 0, 0, +158, 1, 0, 0, 0, 0, 35, 0,145, 1, 0, 0,147, 1, 0, 0, 0, 0, 35, 0,141, 1, 0, 0,147, 1, 0, 0, 0, 0, 35, 0, +141, 1, 0, 0,143, 1, 0, 0, 0, 0, 35, 0,146, 1, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,142, 1, 0, 0,144, 1, 0, 0, + 0, 0, 35, 0,142, 1, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,147, 1, 0, 0,149, 1, 0, 0, 0, 0, 35, 0,139, 1, 0, 0, +149, 1, 0, 0, 0, 0, 35, 0,139, 1, 0, 0,141, 1, 0, 0, 0, 0, 35, 0,148, 1, 0, 0,150, 1, 0, 0, 0, 0, 35, 0, +140, 1, 0, 0,142, 1, 0, 0, 0, 0, 35, 0,140, 1, 0, 0,150, 1, 0, 0, 0, 0, 35, 0,149, 1, 0, 0,151, 1, 0, 0, + 0, 0, 35, 0,137, 1, 0, 0,151, 1, 0, 0, 0, 0, 35, 0,137, 1, 0, 0,139, 1, 0, 0, 0, 0, 35, 0,150, 1, 0, 0, +152, 1, 0, 0, 0, 0, 35, 0,138, 1, 0, 0,140, 1, 0, 0, 0, 0, 35, 0,138, 1, 0, 0,152, 1, 0, 0, 0, 0, 35, 0, +151, 1, 0, 0,153, 1, 0, 0, 0, 0, 35, 0,135, 1, 0, 0,153, 1, 0, 0, 0, 0, 35, 0,135, 1, 0, 0,137, 1, 0, 0, + 0, 0, 35, 0,152, 1, 0, 0,154, 1, 0, 0, 0, 0, 35, 0,136, 1, 0, 0,138, 1, 0, 0, 0, 0, 35, 0,136, 1, 0, 0, +154, 1, 0, 0, 0, 0, 35, 0,153, 1, 0, 0,155, 1, 0, 0, 0, 0, 35, 0,133, 1, 0, 0,155, 1, 0, 0, 0, 0, 35, 0, +133, 1, 0, 0,135, 1, 0, 0, 0, 0, 35, 0,154, 1, 0, 0,156, 1, 0, 0, 0, 0, 35, 0,134, 1, 0, 0,136, 1, 0, 0, + 0, 0, 35, 0,134, 1, 0, 0,156, 1, 0, 0, 0, 0, 35, 0,153, 1, 0, 0,163, 1, 0, 0, 0, 0, 35, 0,161, 1, 0, 0, +163, 1, 0, 0, 0, 0, 35, 0,155, 1, 0, 0,161, 1, 0, 0, 0, 0, 35, 0,162, 1, 0, 0,164, 1, 0, 0, 0, 0, 35, 0, +154, 1, 0, 0,164, 1, 0, 0, 0, 0, 35, 0,156, 1, 0, 0,162, 1, 0, 0, 0, 0, 35, 0,151, 1, 0, 0,165, 1, 0, 0, + 0, 0, 35, 0,163, 1, 0, 0,165, 1, 0, 0, 0, 0, 35, 0,164, 1, 0, 0,166, 1, 0, 0, 0, 0, 35, 0,152, 1, 0, 0, +166, 1, 0, 0, 0, 0, 35, 0,149, 1, 0, 0,167, 1, 0, 0, 0, 0, 35, 0,165, 1, 0, 0,167, 1, 0, 0, 0, 0, 35, 0, +166, 1, 0, 0,168, 1, 0, 0, 0, 0, 35, 0,150, 1, 0, 0,168, 1, 0, 0, 0, 0, 35, 0,147, 1, 0, 0,169, 1, 0, 0, + 0, 0, 35, 0,167, 1, 0, 0,169, 1, 0, 0, 0, 0, 35, 0,168, 1, 0, 0,170, 1, 0, 0, 0, 0, 35, 0,148, 1, 0, 0, +170, 1, 0, 0, 0, 0, 35, 0,145, 1, 0, 0,171, 1, 0, 0, 0, 0, 35, 0,169, 1, 0, 0,171, 1, 0, 0, 0, 0, 35, 0, +170, 1, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,146, 1, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,157, 1, 0, 0,159, 1, 0, 0, + 0, 0, 35, 0,159, 1, 0, 0,171, 1, 0, 0, 0, 0, 35, 0,158, 1, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,160, 1, 0, 0, +172, 1, 0, 0, 0, 0, 35, 0, 63, 1, 0, 0,187, 1, 0, 0, 0, 0, 35, 0,185, 1, 0, 0,187, 1, 0, 0, 0, 0, 35, 0, + 61, 1, 0, 0,185, 1, 0, 0, 0, 0, 35, 0, 64, 1, 0, 0,188, 1, 0, 0, 0, 0, 35, 0, 62, 1, 0, 0,186, 1, 0, 0, + 0, 0, 35, 0,186, 1, 0, 0,188, 1, 0, 0, 0, 0, 35, 0, 63, 1, 0, 0,133, 1, 0, 0, 0, 0, 35, 0,155, 1, 0, 0, +187, 1, 0, 0, 0, 0, 35, 0, 64, 1, 0, 0,134, 1, 0, 0, 0, 0, 35, 0,156, 1, 0, 0,188, 1, 0, 0, 0, 0, 35, 0, + 55, 1, 0, 0,185, 1, 0, 0, 0, 0, 35, 0, 56, 1, 0, 0,186, 1, 0, 0, 0, 0, 35, 0,125, 1, 0, 0,173, 1, 0, 0, + 0, 0, 35, 0,157, 1, 0, 0,173, 1, 0, 0, 0, 0, 35, 0,125, 1, 0, 0,131, 1, 0, 0, 0, 0, 35, 0,158, 1, 0, 0, +174, 1, 0, 0, 0, 0, 35, 0,126, 1, 0, 0,174, 1, 0, 0, 0, 0, 35, 0,126, 1, 0, 0,132, 1, 0, 0, 0, 0, 35, 0, +161, 1, 0, 0,183, 1, 0, 0, 0, 0, 35, 0,183, 1, 0, 0,187, 1, 0, 0, 0, 0, 35, 0,162, 1, 0, 0,184, 1, 0, 0, + 0, 0, 35, 0,184, 1, 0, 0,188, 1, 0, 0, 0, 0, 35, 0,181, 1, 0, 0,189, 1, 0, 0, 0, 0, 35, 0,187, 1, 0, 0, +189, 1, 0, 0, 0, 0, 35, 0,181, 1, 0, 0,183, 1, 0, 0, 0, 0, 35, 0,188, 1, 0, 0,190, 1, 0, 0, 0, 0, 35, 0, +182, 1, 0, 0,190, 1, 0, 0, 0, 0, 35, 0,182, 1, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,177, 1, 0, 0,189, 1, 0, 0, + 0, 0, 35, 0,179, 1, 0, 0,181, 1, 0, 0, 0, 0, 35, 0,177, 1, 0, 0,179, 1, 0, 0, 0, 0, 35, 0,178, 1, 0, 0, +190, 1, 0, 0, 0, 0, 35, 0,178, 1, 0, 0,180, 1, 0, 0, 0, 0, 35, 0,180, 1, 0, 0,182, 1, 0, 0, 0, 0, 35, 0, +175, 1, 0, 0,191, 1, 0, 0, 0, 0, 35, 0,189, 1, 0, 0,191, 1, 0, 0, 0, 0, 35, 0,175, 1, 0, 0,177, 1, 0, 0, + 0, 0, 35, 0,190, 1, 0, 0,192, 1, 0, 0, 0, 0, 35, 0,176, 1, 0, 0,192, 1, 0, 0, 0, 0, 35, 0,176, 1, 0, 0, +178, 1, 0, 0, 0, 0, 35, 0,173, 1, 0, 0,191, 1, 0, 0, 0, 0, 35, 0,175, 1, 0, 0,193, 1, 0, 0, 0, 0, 35, 0, +173, 1, 0, 0,193, 1, 0, 0, 0, 0, 33, 0,174, 1, 0, 0,192, 1, 0, 0, 0, 0, 35, 0,174, 1, 0, 0,194, 1, 0, 0, + 0, 0, 33, 0,176, 1, 0, 0,194, 1, 0, 0, 0, 0, 35, 0,159, 1, 0, 0,193, 1, 0, 0, 0, 0, 35, 0,160, 1, 0, 0, +194, 1, 0, 0, 0, 0, 35, 0, 55, 1, 0, 0,191, 1, 0, 0, 0, 0, 35, 0, 56, 1, 0, 0,192, 1, 0, 0, 0, 0, 35, 0, +185, 1, 0, 0,189, 1, 0, 0, 0, 0, 35, 0,186, 1, 0, 0,190, 1, 0, 0, 0, 0, 35, 0,193, 1, 0, 0,195, 1, 0, 0, + 0, 0, 35, 0,195, 1, 0, 0,219, 1, 0, 0, 0, 0, 35, 0,159, 1, 0, 0,219, 1, 0, 0, 0, 0, 35, 0,194, 1, 0, 0, +196, 1, 0, 0, 0, 0, 35, 0,160, 1, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,196, 1, 0, 0,220, 1, 0, 0, 0, 0, 35, 0, +175, 1, 0, 0,205, 1, 0, 0, 0, 0, 35, 0,195, 1, 0, 0,205, 1, 0, 0, 0, 0, 35, 0,176, 1, 0, 0,206, 1, 0, 0, + 0, 0, 35, 0,196, 1, 0, 0,206, 1, 0, 0, 0, 0, 35, 0,177, 1, 0, 0,203, 1, 0, 0, 0, 0, 35, 0,203, 1, 0, 0, +205, 1, 0, 0, 0, 0, 35, 0,178, 1, 0, 0,204, 1, 0, 0, 0, 0, 35, 0,204, 1, 0, 0,206, 1, 0, 0, 0, 0, 35, 0, +179, 1, 0, 0,201, 1, 0, 0, 0, 0, 35, 0,201, 1, 0, 0,203, 1, 0, 0, 0, 0, 35, 0,180, 1, 0, 0,202, 1, 0, 0, + 0, 0, 35, 0,202, 1, 0, 0,204, 1, 0, 0, 0, 0, 35, 0,181, 1, 0, 0,199, 1, 0, 0, 0, 0, 35, 0,199, 1, 0, 0, +201, 1, 0, 0, 0, 0, 35, 0,182, 1, 0, 0,200, 1, 0, 0, 0, 0, 35, 0,200, 1, 0, 0,202, 1, 0, 0, 0, 0, 35, 0, +183, 1, 0, 0,197, 1, 0, 0, 0, 0, 35, 0,197, 1, 0, 0,199, 1, 0, 0, 0, 0, 35, 0,184, 1, 0, 0,198, 1, 0, 0, + 0, 0, 35, 0,198, 1, 0, 0,200, 1, 0, 0, 0, 0, 35, 0,161, 1, 0, 0,217, 1, 0, 0, 0, 0, 35, 0,197, 1, 0, 0, +217, 1, 0, 0, 0, 0, 35, 0,162, 1, 0, 0,218, 1, 0, 0, 0, 0, 35, 0,198, 1, 0, 0,218, 1, 0, 0, 0, 0, 35, 0, +207, 1, 0, 0,219, 1, 0, 0, 0, 0, 35, 0,171, 1, 0, 0,207, 1, 0, 0, 0, 0, 35, 0,172, 1, 0, 0,208, 1, 0, 0, + 0, 0, 35, 0,208, 1, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,207, 1, 0, 0,209, 1, 0, 0, 0, 0, 35, 0,169, 1, 0, 0, +209, 1, 0, 0, 0, 0, 35, 0,170, 1, 0, 0,210, 1, 0, 0, 0, 0, 35, 0,208, 1, 0, 0,210, 1, 0, 0, 0, 0, 35, 0, +209, 1, 0, 0,211, 1, 0, 0, 0, 0, 35, 0,167, 1, 0, 0,211, 1, 0, 0, 0, 0, 35, 0,168, 1, 0, 0,212, 1, 0, 0, + 0, 0, 35, 0,210, 1, 0, 0,212, 1, 0, 0, 0, 0, 35, 0,211, 1, 0, 0,213, 1, 0, 0, 0, 0, 35, 0,165, 1, 0, 0, +213, 1, 0, 0, 0, 0, 35, 0,166, 1, 0, 0,214, 1, 0, 0, 0, 0, 35, 0,212, 1, 0, 0,214, 1, 0, 0, 0, 0, 35, 0, +213, 1, 0, 0,215, 1, 0, 0, 0, 0, 35, 0,163, 1, 0, 0,215, 1, 0, 0, 0, 0, 35, 0,164, 1, 0, 0,216, 1, 0, 0, + 0, 0, 35, 0,214, 1, 0, 0,216, 1, 0, 0, 0, 0, 35, 0,215, 1, 0, 0,217, 1, 0, 0, 0, 0, 35, 0,216, 1, 0, 0, +218, 1, 0, 0, 0, 0, 35, 0,199, 1, 0, 0,223, 1, 0, 0, 0, 0, 35, 0,221, 1, 0, 0,223, 1, 0, 0, 0, 0, 35, 0, +201, 1, 0, 0,221, 1, 0, 0, 0, 0, 35, 0,200, 1, 0, 0,224, 1, 0, 0, 0, 0, 35, 0,202, 1, 0, 0,222, 1, 0, 0, + 0, 0, 35, 0,222, 1, 0, 0,224, 1, 0, 0, 0, 0, 35, 0,223, 1, 0, 0,225, 1, 0, 0, 0, 0, 35, 0,225, 1, 0, 0, +227, 1, 0, 0, 0, 0, 33, 0,221, 1, 0, 0,227, 1, 0, 0, 0, 0, 35, 0,224, 1, 0, 0,226, 1, 0, 0, 0, 0, 35, 0, +222, 1, 0, 0,228, 1, 0, 0, 0, 0, 35, 0,226, 1, 0, 0,228, 1, 0, 0, 0, 0, 33, 0,225, 1, 0, 0,231, 1, 0, 0, + 0, 0, 35, 0,229, 1, 0, 0,231, 1, 0, 0, 0, 0, 35, 0,227, 1, 0, 0,229, 1, 0, 0, 0, 0, 35, 0,226, 1, 0, 0, +232, 1, 0, 0, 0, 0, 35, 0,228, 1, 0, 0,230, 1, 0, 0, 0, 0, 35, 0,230, 1, 0, 0,232, 1, 0, 0, 0, 0, 35, 0, +231, 1, 0, 0,233, 1, 0, 0, 0, 0, 35, 0,233, 1, 0, 0,235, 1, 0, 0, 0, 0, 35, 0,229, 1, 0, 0,235, 1, 0, 0, + 0, 0, 35, 0,232, 1, 0, 0,234, 1, 0, 0, 0, 0, 35, 0,230, 1, 0, 0,236, 1, 0, 0, 0, 0, 35, 0,234, 1, 0, 0, +236, 1, 0, 0, 0, 0, 35, 0,219, 1, 0, 0,229, 1, 0, 0, 0, 0, 35, 0,207, 1, 0, 0,235, 1, 0, 0, 0, 0, 35, 0, +220, 1, 0, 0,230, 1, 0, 0, 0, 0, 35, 0,208, 1, 0, 0,236, 1, 0, 0, 0, 0, 35, 0,195, 1, 0, 0,227, 1, 0, 0, + 0, 0, 35, 0,196, 1, 0, 0,228, 1, 0, 0, 0, 0, 35, 0,205, 1, 0, 0,221, 1, 0, 0, 0, 0, 35, 0,206, 1, 0, 0, +222, 1, 0, 0, 0, 0, 35, 0,217, 1, 0, 0,223, 1, 0, 0, 0, 0, 35, 0,218, 1, 0, 0,224, 1, 0, 0, 0, 0, 35, 0, +215, 1, 0, 0,225, 1, 0, 0, 0, 0, 35, 0,216, 1, 0, 0,226, 1, 0, 0, 0, 0, 35, 0,213, 1, 0, 0,231, 1, 0, 0, + 0, 0, 35, 0,214, 1, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,211, 1, 0, 0,233, 1, 0, 0, 0, 0, 35, 0,212, 1, 0, 0, +234, 1, 0, 0, 0, 0, 35, 0,209, 1, 0, 0,235, 1, 0, 0, 0, 0, 35, 0,210, 1, 0, 0,236, 1, 0, 0, 0, 0, 35, 0, +133, 1, 0, 0,247, 1, 0, 0, 0, 0, 35, 0,245, 1, 0, 0,247, 1, 0, 0, 0, 0, 35, 0,135, 1, 0, 0,245, 1, 0, 0, + 0, 0, 35, 0,134, 1, 0, 0,248, 1, 0, 0, 0, 0, 35, 0,136, 1, 0, 0,246, 1, 0, 0, 0, 0, 35, 0,246, 1, 0, 0, +248, 1, 0, 0, 0, 0, 35, 0,243, 1, 0, 0,245, 1, 0, 0, 0, 0, 35, 0,137, 1, 0, 0,243, 1, 0, 0, 0, 0, 35, 0, +138, 1, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,244, 1, 0, 0,246, 1, 0, 0, 0, 0, 35, 0,241, 1, 0, 0,243, 1, 0, 0, + 0, 0, 35, 0,139, 1, 0, 0,241, 1, 0, 0, 0, 0, 35, 0,140, 1, 0, 0,242, 1, 0, 0, 0, 0, 35, 0,242, 1, 0, 0, +244, 1, 0, 0, 0, 0, 35, 0,239, 1, 0, 0,241, 1, 0, 0, 0, 0, 35, 0,141, 1, 0, 0,239, 1, 0, 0, 0, 0, 35, 0, +142, 1, 0, 0,240, 1, 0, 0, 0, 0, 35, 0,240, 1, 0, 0,242, 1, 0, 0, 0, 0, 35, 0,237, 1, 0, 0,239, 1, 0, 0, + 0, 0, 35, 0,143, 1, 0, 0,237, 1, 0, 0, 0, 0, 35, 0,144, 1, 0, 0,238, 1, 0, 0, 0, 0, 35, 0,238, 1, 0, 0, +240, 1, 0, 0, 0, 0, 35, 0,237, 1, 0, 0,249, 1, 0, 0, 0, 0, 35, 0,131, 1, 0, 0,249, 1, 0, 0, 0, 0, 35, 0, +132, 1, 0, 0,250, 1, 0, 0, 0, 0, 35, 0,238, 1, 0, 0,250, 1, 0, 0, 0, 0, 35, 0,237, 1, 0, 0,245, 1, 0, 0, + 0, 0, 35, 0,247, 1, 0, 0,249, 1, 0, 0, 0, 0, 35, 0,238, 1, 0, 0,246, 1, 0, 0, 0, 0, 35, 0,248, 1, 0, 0, +250, 1, 0, 0, 0, 0, 35, 0,239, 1, 0, 0,243, 1, 0, 0, 0, 0, 35, 0,240, 1, 0, 0,244, 1, 0, 0, 0, 0, 35, 0, + 57, 1, 0, 0,249, 1, 0, 0, 0, 0, 35, 0, 58, 1, 0, 0,250, 1, 0, 0, 0, 0, 35, 0, 65, 1, 0, 0,247, 1, 0, 0, + 0, 0, 35, 0, 66, 1, 0, 0,248, 1, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65,104, 1, 0, 0, 40,239, 71, 27, 1, 0, 0, 0, + 93, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56,206,108, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 39, 0, 0, 56,206,108, 3, 1, 0, 0, 0, + 48, 0, 0, 0,244, 1, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, + 1, 0, 0, 0, 47, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 3, 44, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 42, 0, 0, 0, + 0, 0, 0, 3, 5, 0, 0, 0, 3, 0, 0, 0, 45, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 8, 0, 0, 0, + 6, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 3, 7, 0, 0, 0, 9, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 3, + 0, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 9, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, + 3, 0, 0, 0, 0, 0, 0, 3, 10, 0, 0, 0, 12, 0, 0, 0, 14, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 3, 15, 0, 0, 0, + 13, 0, 0, 0, 11, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 3, 8, 0, 0, 0, 14, 0, 0, 0, 16, 0, 0, 0, 6, 0, 0, 0, + 0, 0, 0, 3, 17, 0, 0, 0, 15, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 3, 14, 0, 0, 0, 20, 0, 0, 0, + 18, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 3, 19, 0, 0, 0, 21, 0, 0, 0, 15, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 3, + 12, 0, 0, 0, 22, 0, 0, 0, 20, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 3, 21, 0, 0, 0, 23, 0, 0, 0, 13, 0, 0, 0, + 15, 0, 0, 0, 0, 0, 0, 3, 22, 0, 0, 0, 24, 0, 0, 0, 26, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 3, 27, 0, 0, 0, + 25, 0, 0, 0, 23, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 3, 20, 0, 0, 0, 26, 0, 0, 0, 28, 0, 0, 0, 18, 0, 0, 0, + 0, 0, 0, 3, 29, 0, 0, 0, 27, 0, 0, 0, 21, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 3, 26, 0, 0, 0, 32, 0, 0, 0, + 30, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 3, 31, 0, 0, 0, 33, 0, 0, 0, 27, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 3, + 24, 0, 0, 0, 34, 0, 0, 0, 32, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 3, 33, 0, 0, 0, 35, 0, 0, 0, 25, 0, 0, 0, + 27, 0, 0, 0, 0, 0, 0, 3, 34, 0, 0, 0, 36, 0, 0, 0, 38, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 3, 39, 0, 0, 0, + 37, 0, 0, 0, 35, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 3, 32, 0, 0, 0, 38, 0, 0, 0, 40, 0, 0, 0, 30, 0, 0, 0, + 0, 0, 0, 3, 41, 0, 0, 0, 39, 0, 0, 0, 33, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 3, 38, 0, 0, 0, 44, 0, 0, 0, + 42, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 3, 43, 0, 0, 0, 45, 0, 0, 0, 39, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 3, + 36, 0, 0, 0, 46, 0, 0, 0, 44, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 3, 45, 0, 0, 0, 47, 0, 0, 0, 37, 0, 0, 0, + 39, 0, 0, 0, 0, 0, 0, 3, 46, 0, 0, 0, 36, 0, 0, 0, 50, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 3, 51, 0, 0, 0, + 37, 0, 0, 0, 47, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 3, 36, 0, 0, 0, 34, 0, 0, 0, 52, 0, 0, 0, 50, 0, 0, 0, + 0, 0, 0, 3, 53, 0, 0, 0, 35, 0, 0, 0, 37, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 3, 34, 0, 0, 0, 24, 0, 0, 0, + 54, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 3, 55, 0, 0, 0, 25, 0, 0, 0, 35, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 3, + 24, 0, 0, 0, 22, 0, 0, 0, 56, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 3, 57, 0, 0, 0, 23, 0, 0, 0, 25, 0, 0, 0, + 55, 0, 0, 0, 0, 0, 0, 3, 22, 0, 0, 0, 12, 0, 0, 0, 58, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 3, 59, 0, 0, 0, + 13, 0, 0, 0, 23, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 3, 12, 0, 0, 0, 10, 0, 0, 0, 62, 0, 0, 0, 58, 0, 0, 0, + 0, 0, 0, 3, 63, 0, 0, 0, 11, 0, 0, 0, 13, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 3, 10, 0, 0, 0, 0, 0, 0, 0, + 64, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 3, 65, 0, 0, 0, 1, 0, 0, 0, 11, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 3, + 0, 0, 0, 0, 46, 0, 0, 0, 48, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 3, 49, 0, 0, 0, 47, 0, 0, 0, 1, 0, 0, 0, + 65, 0, 0, 0, 0, 0, 0, 3, 60, 0, 0, 0, 64, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 49, 0, 0, 0, + 65, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 62, 0, 0, 0, 64, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 61, 0, 0, 0, 65, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 0, 0, 0, 58, 0, 0, 0, + 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 63, 0, 0, 0, 59, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, + 60, 0, 0, 0, 56, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 59, 0, 0, 0, 57, 0, 0, 0, 61, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3, 60, 0, 0, 0, 54, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 57, 0, 0, 0, + 55, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 0, 0, 0, 52, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 55, 0, 0, 0, 53, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 0, 0, 0, 50, 0, 0, 0, + 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 53, 0, 0, 0, 51, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, + 60, 0, 0, 0, 48, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 0, 0, 0, 49, 0, 0, 0, 61, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3, 88, 0, 0, 0,173, 0, 0, 0,175, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 3,175, 0, 0, 0, +174, 0, 0, 0, 89, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 3, 86, 0, 0, 0,171, 0, 0, 0,173, 0, 0, 0, 88, 0, 0, 0, + 0, 0, 0, 3,174, 0, 0, 0,172, 0, 0, 0, 87, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 3, 84, 0, 0, 0,169, 0, 0, 0, +171, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 3,172, 0, 0, 0,170, 0, 0, 0, 85, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 3, + 82, 0, 0, 0,167, 0, 0, 0,169, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 3,170, 0, 0, 0,168, 0, 0, 0, 83, 0, 0, 0, + 85, 0, 0, 0, 0, 0, 0, 3, 80, 0, 0, 0,165, 0, 0, 0,167, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 3,168, 0, 0, 0, +166, 0, 0, 0, 81, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 3, 78, 0, 0, 0, 91, 0, 0, 0,145, 0, 0, 0,163, 0, 0, 0, + 0, 0, 0, 3,146, 0, 0, 0, 92, 0, 0, 0, 79, 0, 0, 0,164, 0, 0, 0, 0, 0, 0, 3, 91, 0, 0, 0, 93, 0, 0, 0, +147, 0, 0, 0,145, 0, 0, 0, 0, 0, 0, 3,148, 0, 0, 0, 94, 0, 0, 0, 92, 0, 0, 0,146, 0, 0, 0, 0, 0, 0, 3, + 93, 0, 0, 0, 95, 0, 0, 0,149, 0, 0, 0,147, 0, 0, 0, 0, 0, 0, 3,150, 0, 0, 0, 96, 0, 0, 0, 94, 0, 0, 0, +148, 0, 0, 0, 0, 0, 0, 3, 95, 0, 0, 0, 97, 0, 0, 0,151, 0, 0, 0,149, 0, 0, 0, 0, 0, 0, 3,152, 0, 0, 0, + 98, 0, 0, 0, 96, 0, 0, 0,150, 0, 0, 0, 0, 0, 0, 3, 97, 0, 0, 0, 99, 0, 0, 0,153, 0, 0, 0,151, 0, 0, 0, + 0, 0, 0, 3,154, 0, 0, 0,100, 0, 0, 0, 98, 0, 0, 0,152, 0, 0, 0, 0, 0, 0, 3, 99, 0, 0, 0,101, 0, 0, 0, +155, 0, 0, 0,153, 0, 0, 0, 0, 0, 0, 3,156, 0, 0, 0,102, 0, 0, 0,100, 0, 0, 0,154, 0, 0, 0, 0, 0, 0, 3, +101, 0, 0, 0,103, 0, 0, 0,157, 0, 0, 0,155, 0, 0, 0, 0, 0, 0, 3,158, 0, 0, 0,104, 0, 0, 0,102, 0, 0, 0, +156, 0, 0, 0, 0, 0, 0, 3,103, 0, 0, 0,105, 0, 0, 0,159, 0, 0, 0,157, 0, 0, 0, 0, 0, 0, 3,160, 0, 0, 0, +106, 0, 0, 0,104, 0, 0, 0,158, 0, 0, 0, 0, 0, 0, 3,105, 0, 0, 0,107, 0, 0, 0,161, 0, 0, 0,159, 0, 0, 0, + 0, 0, 0, 3,162, 0, 0, 0,108, 0, 0, 0,106, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 3,107, 0, 0, 0, 66, 0, 0, 0, + 67, 0, 0, 0,161, 0, 0, 0, 0, 0, 0, 3, 67, 0, 0, 0, 66, 0, 0, 0,108, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 3, +109, 0, 0, 0,127, 0, 0, 0,159, 0, 0, 0,161, 0, 0, 0, 0, 0, 0, 3,160, 0, 0, 0,128, 0, 0, 0,110, 0, 0, 0, +162, 0, 0, 0, 0, 0, 0, 3,127, 0, 0, 0,178, 0, 0, 0,157, 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 3,158, 0, 0, 0, +179, 0, 0, 0,128, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 3,125, 0, 0, 0,155, 0, 0, 0,157, 0, 0, 0,178, 0, 0, 0, + 0, 0, 0, 3,158, 0, 0, 0,156, 0, 0, 0,126, 0, 0, 0,179, 0, 0, 0, 0, 0, 0, 3,123, 0, 0, 0,153, 0, 0, 0, +155, 0, 0, 0,125, 0, 0, 0, 0, 0, 0, 3,156, 0, 0, 0,154, 0, 0, 0,124, 0, 0, 0,126, 0, 0, 0, 0, 0, 0, 3, +121, 0, 0, 0,151, 0, 0, 0,153, 0, 0, 0,123, 0, 0, 0, 0, 0, 0, 3,154, 0, 0, 0,152, 0, 0, 0,122, 0, 0, 0, +124, 0, 0, 0, 0, 0, 0, 3,119, 0, 0, 0,149, 0, 0, 0,151, 0, 0, 0,121, 0, 0, 0, 0, 0, 0, 3,152, 0, 0, 0, +150, 0, 0, 0,120, 0, 0, 0,122, 0, 0, 0, 0, 0, 0, 3,117, 0, 0, 0,147, 0, 0, 0,149, 0, 0, 0,119, 0, 0, 0, + 0, 0, 0, 3,150, 0, 0, 0,148, 0, 0, 0,118, 0, 0, 0,120, 0, 0, 0, 0, 0, 0, 3,115, 0, 0, 0,145, 0, 0, 0, +147, 0, 0, 0,117, 0, 0, 0, 0, 0, 0, 3,148, 0, 0, 0,146, 0, 0, 0,116, 0, 0, 0,118, 0, 0, 0, 0, 0, 0, 3, +113, 0, 0, 0,163, 0, 0, 0,145, 0, 0, 0,115, 0, 0, 0, 0, 0, 0, 3,146, 0, 0, 0,164, 0, 0, 0,114, 0, 0, 0, +116, 0, 0, 0, 0, 0, 0, 3,113, 0, 0, 0,180, 0, 0, 0,176, 0, 0, 0,163, 0, 0, 0, 0, 0, 0, 3,176, 0, 0, 0, +181, 0, 0, 0,114, 0, 0, 0,164, 0, 0, 0, 0, 0, 0, 3,109, 0, 0, 0,161, 0, 0, 0, 67, 0, 0, 0,111, 0, 0, 0, + 0, 0, 0, 3, 67, 0, 0, 0,162, 0, 0, 0,110, 0, 0, 0,112, 0, 0, 0, 0, 0, 0, 3,111, 0, 0, 0, 67, 0, 0, 0, +177, 0, 0, 0,182, 0, 0, 0, 0, 0, 0, 3,177, 0, 0, 0, 67, 0, 0, 0,112, 0, 0, 0,183, 0, 0, 0, 0, 0, 0, 3, +176, 0, 0, 0,180, 0, 0, 0,182, 0, 0, 0,177, 0, 0, 0, 0, 0, 0, 3,183, 0, 0, 0,181, 0, 0, 0,176, 0, 0, 0, +177, 0, 0, 0, 0, 0, 0, 3,134, 0, 0, 0,136, 0, 0, 0,175, 0, 0, 0,173, 0, 0, 0, 0, 0, 0, 3,175, 0, 0, 0, +136, 0, 0, 0,135, 0, 0, 0,174, 0, 0, 0, 0, 0, 0, 3,132, 0, 0, 0,134, 0, 0, 0,173, 0, 0, 0,171, 0, 0, 0, + 0, 0, 0, 3,174, 0, 0, 0,135, 0, 0, 0,133, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 3,130, 0, 0, 0,132, 0, 0, 0, +171, 0, 0, 0,169, 0, 0, 0, 0, 0, 0, 3,172, 0, 0, 0,133, 0, 0, 0,131, 0, 0, 0,170, 0, 0, 0, 0, 0, 0, 3, +165, 0, 0, 0,186, 0, 0, 0,184, 0, 0, 0,167, 0, 0, 0, 0, 0, 0, 3,185, 0, 0, 0,187, 0, 0, 0,166, 0, 0, 0, +168, 0, 0, 0, 0, 0, 0, 3,130, 0, 0, 0,169, 0, 0, 0,167, 0, 0, 0,184, 0, 0, 0, 0, 0, 0, 3,168, 0, 0, 0, +170, 0, 0, 0,131, 0, 0, 0,185, 0, 0, 0, 0, 0, 0, 3,143, 0, 0, 0,189, 0, 0, 0,188, 0, 0, 0,186, 0, 0, 0, + 0, 0, 0, 3,188, 0, 0, 0,189, 0, 0, 0,144, 0, 0, 0,187, 0, 0, 0, 0, 0, 0, 3,184, 0, 0, 0,186, 0, 0, 0, +188, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 3,188, 0, 0, 0,187, 0, 0, 0,185, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 3, +129, 0, 0, 0,130, 0, 0, 0,184, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 3,185, 0, 0, 0,131, 0, 0, 0,129, 0, 0, 0, + 68, 0, 0, 0, 0, 0, 0, 3,141, 0, 0, 0,192, 0, 0, 0,190, 0, 0, 0,143, 0, 0, 0, 0, 0, 0, 3,191, 0, 0, 0, +193, 0, 0, 0,142, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 3,139, 0, 0, 0,194, 0, 0, 0,192, 0, 0, 0,141, 0, 0, 0, + 0, 0, 0, 3,193, 0, 0, 0,195, 0, 0, 0,140, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 3,138, 0, 0, 0,196, 0, 0, 0, +194, 0, 0, 0,139, 0, 0, 0, 0, 0, 0, 3,195, 0, 0, 0,197, 0, 0, 0,138, 0, 0, 0,140, 0, 0, 0, 0, 0, 0, 3, +137, 0, 0, 0, 70, 0, 0, 0,196, 0, 0, 0,138, 0, 0, 0, 0, 0, 0, 3,197, 0, 0, 0, 70, 0, 0, 0,137, 0, 0, 0, +138, 0, 0, 0, 0, 0, 0, 3,189, 0, 0, 0,143, 0, 0, 0,190, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 3,191, 0, 0, 0, +144, 0, 0, 0,189, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 3, 69, 0, 0, 0,190, 0, 0, 0,205, 0, 0, 0,207, 0, 0, 0, + 0, 0, 0, 3,206, 0, 0, 0,191, 0, 0, 0, 69, 0, 0, 0,207, 0, 0, 0, 0, 0, 0, 3, 70, 0, 0, 0,198, 0, 0, 0, +199, 0, 0, 0,196, 0, 0, 0, 0, 0, 0, 3,200, 0, 0, 0,198, 0, 0, 0, 70, 0, 0, 0,197, 0, 0, 0, 0, 0, 0, 3, +196, 0, 0, 0,199, 0, 0, 0,201, 0, 0, 0,194, 0, 0, 0, 0, 0, 0, 3,202, 0, 0, 0,200, 0, 0, 0,197, 0, 0, 0, +195, 0, 0, 0, 0, 0, 0, 3,194, 0, 0, 0,201, 0, 0, 0,203, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 3,204, 0, 0, 0, +202, 0, 0, 0,195, 0, 0, 0,193, 0, 0, 0, 0, 0, 0, 3,192, 0, 0, 0,203, 0, 0, 0,205, 0, 0, 0,190, 0, 0, 0, + 0, 0, 0, 3,206, 0, 0, 0,204, 0, 0, 0,193, 0, 0, 0,191, 0, 0, 0, 0, 0, 0, 3,198, 0, 0, 0,203, 0, 0, 0, +201, 0, 0, 0,199, 0, 0, 0, 0, 0, 0, 3,202, 0, 0, 0,204, 0, 0, 0,198, 0, 0, 0,200, 0, 0, 0, 0, 0, 0, 3, +198, 0, 0, 0,207, 0, 0, 0,205, 0, 0, 0,203, 0, 0, 0, 0, 0, 0, 3,206, 0, 0, 0,207, 0, 0, 0,198, 0, 0, 0, +204, 0, 0, 0, 0, 0, 0, 3,138, 0, 0, 0,139, 0, 0, 0,163, 0, 0, 0,176, 0, 0, 0, 0, 0, 0, 3,164, 0, 0, 0, +140, 0, 0, 0,138, 0, 0, 0,176, 0, 0, 0, 0, 0, 0, 3,139, 0, 0, 0,141, 0, 0, 0,210, 0, 0, 0,163, 0, 0, 0, + 0, 0, 0, 3,211, 0, 0, 0,142, 0, 0, 0,140, 0, 0, 0,164, 0, 0, 0, 0, 0, 0, 3,141, 0, 0, 0,143, 0, 0, 0, +212, 0, 0, 0,210, 0, 0, 0, 0, 0, 0, 3,213, 0, 0, 0,144, 0, 0, 0,142, 0, 0, 0,211, 0, 0, 0, 0, 0, 0, 3, +143, 0, 0, 0,186, 0, 0, 0,165, 0, 0, 0,212, 0, 0, 0, 0, 0, 0, 3,166, 0, 0, 0,187, 0, 0, 0,144, 0, 0, 0, +213, 0, 0, 0, 0, 0, 0, 3, 80, 0, 0, 0,208, 0, 0, 0,212, 0, 0, 0,165, 0, 0, 0, 0, 0, 0, 3,213, 0, 0, 0, +209, 0, 0, 0, 81, 0, 0, 0,166, 0, 0, 0, 0, 0, 0, 3,208, 0, 0, 0,214, 0, 0, 0,210, 0, 0, 0,212, 0, 0, 0, + 0, 0, 0, 3,211, 0, 0, 0,215, 0, 0, 0,209, 0, 0, 0,213, 0, 0, 0, 0, 0, 0, 3, 78, 0, 0, 0,163, 0, 0, 0, +210, 0, 0, 0,214, 0, 0, 0, 0, 0, 0, 3,211, 0, 0, 0,164, 0, 0, 0, 79, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 3, +130, 0, 0, 0,129, 0, 0, 0, 71, 0, 0, 0,221, 0, 0, 0, 0, 0, 0, 3, 71, 0, 0, 0,129, 0, 0, 0,131, 0, 0, 0, +222, 0, 0, 0, 0, 0, 0, 3,132, 0, 0, 0,130, 0, 0, 0,221, 0, 0, 0,219, 0, 0, 0, 0, 0, 0, 3,222, 0, 0, 0, +131, 0, 0, 0,133, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 3,134, 0, 0, 0,132, 0, 0, 0,219, 0, 0, 0,217, 0, 0, 0, + 0, 0, 0, 3,220, 0, 0, 0,133, 0, 0, 0,135, 0, 0, 0,218, 0, 0, 0, 0, 0, 0, 3,136, 0, 0, 0,134, 0, 0, 0, +217, 0, 0, 0,216, 0, 0, 0, 0, 0, 0, 3,218, 0, 0, 0,135, 0, 0, 0,136, 0, 0, 0,216, 0, 0, 0, 0, 0, 0, 3, +216, 0, 0, 0,217, 0, 0, 0,228, 0, 0, 0,230, 0, 0, 0, 0, 0, 0, 3,229, 0, 0, 0,218, 0, 0, 0,216, 0, 0, 0, +230, 0, 0, 0, 0, 0, 0, 3,217, 0, 0, 0,219, 0, 0, 0,226, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 3,227, 0, 0, 0, +220, 0, 0, 0,218, 0, 0, 0,229, 0, 0, 0, 0, 0, 0, 3,219, 0, 0, 0,221, 0, 0, 0,224, 0, 0, 0,226, 0, 0, 0, + 0, 0, 0, 3,225, 0, 0, 0,222, 0, 0, 0,220, 0, 0, 0,227, 0, 0, 0, 0, 0, 0, 3,221, 0, 0, 0, 71, 0, 0, 0, +223, 0, 0, 0,224, 0, 0, 0, 0, 0, 0, 3,223, 0, 0, 0, 71, 0, 0, 0,222, 0, 0, 0,225, 0, 0, 0, 0, 0, 0, 3, +223, 0, 0, 0,230, 0, 0, 0,228, 0, 0, 0,224, 0, 0, 0, 0, 0, 0, 3,229, 0, 0, 0,230, 0, 0, 0,223, 0, 0, 0, +225, 0, 0, 0, 0, 0, 0, 3,224, 0, 0, 0,228, 0, 0, 0,226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,227, 0, 0, 0, +229, 0, 0, 0,225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,182, 0, 0, 0,180, 0, 0, 0,233, 0, 0, 0,231, 0, 0, 0, + 0, 0, 0, 3,234, 0, 0, 0,181, 0, 0, 0,183, 0, 0, 0,232, 0, 0, 0, 0, 0, 0, 3,111, 0, 0, 0,182, 0, 0, 0, +231, 0, 0, 0,253, 0, 0, 0, 0, 0, 0, 3,232, 0, 0, 0,183, 0, 0, 0,112, 0, 0, 0,254, 0, 0, 0, 0, 0, 0, 3, +109, 0, 0, 0,111, 0, 0, 0,253, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 3,254, 0, 0, 0,112, 0, 0, 0,110, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 3,180, 0, 0, 0,113, 0, 0, 0,251, 0, 0, 0,233, 0, 0, 0, 0, 0, 0, 3,252, 0, 0, 0, +114, 0, 0, 0,181, 0, 0, 0,234, 0, 0, 0, 0, 0, 0, 3,113, 0, 0, 0,115, 0, 0, 0,249, 0, 0, 0,251, 0, 0, 0, + 0, 0, 0, 3,250, 0, 0, 0,116, 0, 0, 0,114, 0, 0, 0,252, 0, 0, 0, 0, 0, 0, 3,115, 0, 0, 0,117, 0, 0, 0, +247, 0, 0, 0,249, 0, 0, 0, 0, 0, 0, 3,248, 0, 0, 0,118, 0, 0, 0,116, 0, 0, 0,250, 0, 0, 0, 0, 0, 0, 3, +117, 0, 0, 0,119, 0, 0, 0,245, 0, 0, 0,247, 0, 0, 0, 0, 0, 0, 3,246, 0, 0, 0,120, 0, 0, 0,118, 0, 0, 0, +248, 0, 0, 0, 0, 0, 0, 3,119, 0, 0, 0,121, 0, 0, 0,243, 0, 0, 0,245, 0, 0, 0, 0, 0, 0, 3,244, 0, 0, 0, +122, 0, 0, 0,120, 0, 0, 0,246, 0, 0, 0, 0, 0, 0, 3,121, 0, 0, 0,123, 0, 0, 0,241, 0, 0, 0,243, 0, 0, 0, + 0, 0, 0, 3,242, 0, 0, 0,124, 0, 0, 0,122, 0, 0, 0,244, 0, 0, 0, 0, 0, 0, 3,123, 0, 0, 0,125, 0, 0, 0, +239, 0, 0, 0,241, 0, 0, 0, 0, 0, 0, 3,240, 0, 0, 0,126, 0, 0, 0,124, 0, 0, 0,242, 0, 0, 0, 0, 0, 0, 3, +125, 0, 0, 0,178, 0, 0, 0,235, 0, 0, 0,239, 0, 0, 0, 0, 0, 0, 3,236, 0, 0, 0,179, 0, 0, 0,126, 0, 0, 0, +240, 0, 0, 0, 0, 0, 0, 3,178, 0, 0, 0,127, 0, 0, 0,237, 0, 0, 0,235, 0, 0, 0, 0, 0, 0, 3,238, 0, 0, 0, +128, 0, 0, 0,179, 0, 0, 0,236, 0, 0, 0, 0, 0, 0, 3,127, 0, 0, 0,109, 0, 0, 0,255, 0, 0, 0,237, 0, 0, 0, + 0, 0, 0, 3, 0, 1, 0, 0,110, 0, 0, 0,128, 0, 0, 0,238, 0, 0, 0, 0, 0, 0, 3,237, 0, 0, 0,255, 0, 0, 0, + 1, 1, 0, 0, 19, 1, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 0, 1, 0, 0,238, 0, 0, 0, 20, 1, 0, 0, 0, 0, 0, 3, +235, 0, 0, 0,237, 0, 0, 0, 19, 1, 0, 0, 21, 1, 0, 0, 0, 0, 0, 3, 20, 1, 0, 0,238, 0, 0, 0,236, 0, 0, 0, + 22, 1, 0, 0, 0, 0, 0, 3,239, 0, 0, 0,235, 0, 0, 0, 21, 1, 0, 0, 17, 1, 0, 0, 0, 0, 0, 3, 22, 1, 0, 0, +236, 0, 0, 0,240, 0, 0, 0, 18, 1, 0, 0, 0, 0, 0, 3,241, 0, 0, 0,239, 0, 0, 0, 17, 1, 0, 0, 15, 1, 0, 0, + 0, 0, 0, 3, 18, 1, 0, 0,240, 0, 0, 0,242, 0, 0, 0, 16, 1, 0, 0, 0, 0, 0, 3,243, 0, 0, 0,241, 0, 0, 0, + 15, 1, 0, 0, 13, 1, 0, 0, 0, 0, 0, 3, 16, 1, 0, 0,242, 0, 0, 0,244, 0, 0, 0, 14, 1, 0, 0, 0, 0, 0, 3, +245, 0, 0, 0,243, 0, 0, 0, 13, 1, 0, 0, 11, 1, 0, 0, 0, 0, 0, 3, 14, 1, 0, 0,244, 0, 0, 0,246, 0, 0, 0, + 12, 1, 0, 0, 0, 0, 0, 3,247, 0, 0, 0,245, 0, 0, 0, 11, 1, 0, 0, 9, 1, 0, 0, 0, 0, 0, 3, 12, 1, 0, 0, +246, 0, 0, 0,248, 0, 0, 0, 10, 1, 0, 0, 0, 0, 0, 3,249, 0, 0, 0,247, 0, 0, 0, 9, 1, 0, 0, 7, 1, 0, 0, + 0, 0, 0, 3, 10, 1, 0, 0,248, 0, 0, 0,250, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 3,251, 0, 0, 0,249, 0, 0, 0, + 7, 1, 0, 0, 5, 1, 0, 0, 0, 0, 0, 3, 8, 1, 0, 0,250, 0, 0, 0,252, 0, 0, 0, 6, 1, 0, 0, 0, 0, 0, 3, +233, 0, 0, 0,251, 0, 0, 0, 5, 1, 0, 0, 23, 1, 0, 0, 0, 0, 0, 3, 6, 1, 0, 0,252, 0, 0, 0,234, 0, 0, 0, + 24, 1, 0, 0, 0, 0, 0, 3,255, 0, 0, 0,253, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 4, 1, 0, 0, +254, 0, 0, 0, 0, 1, 0, 0, 2, 1, 0, 0, 0, 0, 0, 3,253, 0, 0, 0,231, 0, 0, 0, 25, 1, 0, 0, 3, 1, 0, 0, + 0, 0, 0, 3, 26, 1, 0, 0,232, 0, 0, 0,254, 0, 0, 0, 4, 1, 0, 0, 0, 0, 0, 3,231, 0, 0, 0,233, 0, 0, 0, + 23, 1, 0, 0, 25, 1, 0, 0, 0, 0, 0, 3, 24, 1, 0, 0,234, 0, 0, 0,232, 0, 0, 0, 26, 1, 0, 0, 0, 0, 0, 3, + 66, 0, 0, 0,107, 0, 0, 0, 27, 1, 0, 0, 72, 0, 0, 0, 0, 0, 0, 3, 28, 1, 0, 0,108, 0, 0, 0, 66, 0, 0, 0, + 72, 0, 0, 0, 0, 0, 0, 3,107, 0, 0, 0,105, 0, 0, 0, 29, 1, 0, 0, 27, 1, 0, 0, 0, 0, 0, 3, 30, 1, 0, 0, +106, 0, 0, 0,108, 0, 0, 0, 28, 1, 0, 0, 0, 0, 0, 3,105, 0, 0, 0,103, 0, 0, 0, 31, 1, 0, 0, 29, 1, 0, 0, + 0, 0, 0, 3, 32, 1, 0, 0,104, 0, 0, 0,106, 0, 0, 0, 30, 1, 0, 0, 0, 0, 0, 3,103, 0, 0, 0,101, 0, 0, 0, + 33, 1, 0, 0, 31, 1, 0, 0, 0, 0, 0, 3, 34, 1, 0, 0,102, 0, 0, 0,104, 0, 0, 0, 32, 1, 0, 0, 0, 0, 0, 3, +101, 0, 0, 0, 99, 0, 0, 0, 35, 1, 0, 0, 33, 1, 0, 0, 0, 0, 0, 3, 36, 1, 0, 0,100, 0, 0, 0,102, 0, 0, 0, + 34, 1, 0, 0, 0, 0, 0, 3, 99, 0, 0, 0, 97, 0, 0, 0, 37, 1, 0, 0, 35, 1, 0, 0, 0, 0, 0, 3, 38, 1, 0, 0, + 98, 0, 0, 0,100, 0, 0, 0, 36, 1, 0, 0, 0, 0, 0, 3, 97, 0, 0, 0, 95, 0, 0, 0, 39, 1, 0, 0, 37, 1, 0, 0, + 0, 0, 0, 3, 40, 1, 0, 0, 96, 0, 0, 0, 98, 0, 0, 0, 38, 1, 0, 0, 0, 0, 0, 3, 95, 0, 0, 0, 93, 0, 0, 0, + 41, 1, 0, 0, 39, 1, 0, 0, 0, 0, 0, 3, 42, 1, 0, 0, 94, 0, 0, 0, 96, 0, 0, 0, 40, 1, 0, 0, 0, 0, 0, 3, + 93, 0, 0, 0, 91, 0, 0, 0, 43, 1, 0, 0, 41, 1, 0, 0, 0, 0, 0, 3, 44, 1, 0, 0, 92, 0, 0, 0, 94, 0, 0, 0, + 42, 1, 0, 0, 0, 0, 0, 3, 51, 1, 0, 0, 52, 1, 0, 0, 71, 1, 0, 0, 81, 1, 0, 0, 0, 0, 0, 3, 72, 1, 0, 0, + 52, 1, 0, 0, 51, 1, 0, 0, 82, 1, 0, 0, 0, 0, 0, 3, 50, 1, 0, 0, 51, 1, 0, 0, 81, 1, 0, 0, 79, 1, 0, 0, + 0, 0, 0, 3, 82, 1, 0, 0, 51, 1, 0, 0, 50, 1, 0, 0, 80, 1, 0, 0, 0, 0, 0, 3, 49, 1, 0, 0, 50, 1, 0, 0, + 79, 1, 0, 0, 83, 1, 0, 0, 0, 0, 0, 3, 80, 1, 0, 0, 50, 1, 0, 0, 49, 1, 0, 0, 84, 1, 0, 0, 0, 0, 0, 3, + 88, 0, 0, 0, 90, 0, 0, 0, 49, 1, 0, 0, 83, 1, 0, 0, 0, 0, 0, 3, 49, 1, 0, 0, 90, 0, 0, 0, 89, 0, 0, 0, + 84, 1, 0, 0, 0, 0, 0, 3, 86, 0, 0, 0, 88, 0, 0, 0, 83, 1, 0, 0, 77, 1, 0, 0, 0, 0, 0, 3, 84, 1, 0, 0, + 89, 0, 0, 0, 87, 0, 0, 0, 78, 1, 0, 0, 0, 0, 0, 3, 84, 0, 0, 0, 86, 0, 0, 0, 77, 1, 0, 0, 73, 1, 0, 0, + 0, 0, 0, 3, 78, 1, 0, 0, 87, 0, 0, 0, 85, 0, 0, 0, 74, 1, 0, 0, 0, 0, 0, 3, 82, 0, 0, 0, 84, 0, 0, 0, + 73, 1, 0, 0, 75, 1, 0, 0, 0, 0, 0, 3, 74, 1, 0, 0, 85, 0, 0, 0, 83, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 3, + 73, 1, 0, 0, 79, 1, 0, 0, 81, 1, 0, 0, 75, 1, 0, 0, 0, 0, 0, 3, 82, 1, 0, 0, 80, 1, 0, 0, 74, 1, 0, 0, + 76, 1, 0, 0, 0, 0, 0, 3, 73, 1, 0, 0, 77, 1, 0, 0, 83, 1, 0, 0, 79, 1, 0, 0, 0, 0, 0, 3, 84, 1, 0, 0, + 78, 1, 0, 0, 74, 1, 0, 0, 80, 1, 0, 0, 0, 0, 0, 3, 69, 1, 0, 0, 75, 1, 0, 0, 81, 1, 0, 0, 71, 1, 0, 0, + 0, 0, 0, 3, 82, 1, 0, 0, 76, 1, 0, 0, 70, 1, 0, 0, 72, 1, 0, 0, 0, 0, 0, 3, 80, 0, 0, 0, 82, 0, 0, 0, + 75, 1, 0, 0, 69, 1, 0, 0, 0, 0, 0, 3, 76, 1, 0, 0, 83, 0, 0, 0, 81, 0, 0, 0, 70, 1, 0, 0, 0, 0, 0, 3, +208, 0, 0, 0, 85, 1, 0, 0, 87, 1, 0, 0,214, 0, 0, 0, 0, 0, 0, 3, 88, 1, 0, 0, 86, 1, 0, 0,209, 0, 0, 0, +215, 0, 0, 0, 0, 0, 0, 3, 80, 0, 0, 0, 69, 1, 0, 0, 85, 1, 0, 0,208, 0, 0, 0, 0, 0, 0, 3, 86, 1, 0, 0, + 70, 1, 0, 0, 81, 0, 0, 0,209, 0, 0, 0, 0, 0, 0, 3, 78, 0, 0, 0,214, 0, 0, 0, 87, 1, 0, 0, 89, 1, 0, 0, + 0, 0, 0, 3, 88, 1, 0, 0,215, 0, 0, 0, 79, 0, 0, 0, 90, 1, 0, 0, 0, 0, 0, 3, 78, 0, 0, 0, 89, 1, 0, 0, + 43, 1, 0, 0, 91, 0, 0, 0, 0, 0, 0, 3, 44, 1, 0, 0, 90, 1, 0, 0, 79, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 3, + 76, 0, 0, 0, 67, 1, 0, 0, 95, 1, 0, 0, 47, 1, 0, 0, 0, 0, 0, 3, 96, 1, 0, 0, 68, 1, 0, 0, 76, 0, 0, 0, + 47, 1, 0, 0, 0, 0, 0, 3, 47, 1, 0, 0, 95, 1, 0, 0, 93, 1, 0, 0, 77, 0, 0, 0, 0, 0, 0, 3, 94, 1, 0, 0, + 96, 1, 0, 0, 47, 1, 0, 0, 77, 0, 0, 0, 0, 0, 0, 3, 77, 0, 0, 0, 93, 1, 0, 0, 91, 1, 0, 0, 48, 1, 0, 0, + 0, 0, 0, 3, 92, 1, 0, 0, 94, 1, 0, 0, 77, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 3, 48, 1, 0, 0, 91, 1, 0, 0, + 71, 1, 0, 0, 52, 1, 0, 0, 0, 0, 0, 3, 72, 1, 0, 0, 92, 1, 0, 0, 48, 1, 0, 0, 52, 1, 0, 0, 0, 0, 0, 3, + 69, 1, 0, 0, 71, 1, 0, 0, 91, 1, 0, 0, 85, 1, 0, 0, 0, 0, 0, 3, 92, 1, 0, 0, 72, 1, 0, 0, 70, 1, 0, 0, + 86, 1, 0, 0, 0, 0, 0, 3, 39, 1, 0, 0, 41, 1, 0, 0, 61, 1, 0, 0, 53, 1, 0, 0, 0, 0, 0, 3, 62, 1, 0, 0, + 42, 1, 0, 0, 40, 1, 0, 0, 54, 1, 0, 0, 0, 0, 0, 3, 75, 0, 0, 0, 59, 1, 0, 0, 67, 1, 0, 0, 76, 0, 0, 0, + 0, 0, 0, 3, 68, 1, 0, 0, 60, 1, 0, 0, 75, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 3, 45, 1, 0, 0,101, 1, 0, 0, + 99, 1, 0, 0, 46, 1, 0, 0, 0, 0, 0, 3,100, 1, 0, 0,102, 1, 0, 0, 45, 1, 0, 0, 46, 1, 0, 0, 0, 0, 0, 3, + 46, 1, 0, 0, 99, 1, 0, 0, 97, 1, 0, 0, 74, 0, 0, 0, 0, 0, 0, 3, 98, 1, 0, 0,100, 1, 0, 0, 46, 1, 0, 0, + 74, 0, 0, 0, 0, 0, 0, 3, 74, 0, 0, 0, 97, 1, 0, 0, 59, 1, 0, 0, 75, 0, 0, 0, 0, 0, 0, 3, 60, 1, 0, 0, + 98, 1, 0, 0, 74, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 3, 35, 1, 0, 0, 37, 1, 0, 0,105, 1, 0, 0,107, 1, 0, 0, + 0, 0, 0, 3,106, 1, 0, 0, 38, 1, 0, 0, 36, 1, 0, 0,108, 1, 0, 0, 0, 0, 0, 3,107, 1, 0, 0,105, 1, 0, 0, +111, 1, 0, 0,109, 1, 0, 0, 0, 0, 0, 3,112, 1, 0, 0,106, 1, 0, 0,108, 1, 0, 0,110, 1, 0, 0, 0, 0, 0, 3, +109, 1, 0, 0,111, 1, 0, 0,113, 1, 0, 0,115, 1, 0, 0, 0, 0, 0, 3,114, 1, 0, 0,112, 1, 0, 0,110, 1, 0, 0, +116, 1, 0, 0, 0, 0, 0, 3,115, 1, 0, 0,113, 1, 0, 0,119, 1, 0, 0,117, 1, 0, 0, 0, 0, 0, 3,120, 1, 0, 0, +114, 1, 0, 0,116, 1, 0, 0,118, 1, 0, 0, 0, 0, 0, 3, 57, 1, 0, 0,121, 1, 0, 0,117, 1, 0, 0,119, 1, 0, 0, + 0, 0, 0, 3,118, 1, 0, 0,122, 1, 0, 0, 58, 1, 0, 0,120, 1, 0, 0, 0, 0, 0, 3, 59, 1, 0, 0, 97, 1, 0, 0, +117, 1, 0, 0,121, 1, 0, 0, 0, 0, 0, 3,118, 1, 0, 0, 98, 1, 0, 0, 60, 1, 0, 0,122, 1, 0, 0, 0, 0, 0, 3, + 97, 1, 0, 0, 99, 1, 0, 0,115, 1, 0, 0,117, 1, 0, 0, 0, 0, 0, 3,116, 1, 0, 0,100, 1, 0, 0, 98, 1, 0, 0, +118, 1, 0, 0, 0, 0, 0, 3, 99, 1, 0, 0,101, 1, 0, 0,109, 1, 0, 0,115, 1, 0, 0, 0, 0, 0, 3,110, 1, 0, 0, +102, 1, 0, 0,100, 1, 0, 0,116, 1, 0, 0, 0, 0, 0, 3,101, 1, 0, 0,103, 1, 0, 0,107, 1, 0, 0,109, 1, 0, 0, + 0, 0, 0, 3,108, 1, 0, 0,104, 1, 0, 0,102, 1, 0, 0,110, 1, 0, 0, 0, 0, 0, 3, 33, 1, 0, 0, 35, 1, 0, 0, +107, 1, 0, 0,103, 1, 0, 0, 0, 0, 0, 3,108, 1, 0, 0, 36, 1, 0, 0, 34, 1, 0, 0,104, 1, 0, 0, 0, 0, 0, 3, + 73, 0, 0, 0,103, 1, 0, 0,101, 1, 0, 0, 45, 1, 0, 0, 0, 0, 0, 3,102, 1, 0, 0,104, 1, 0, 0, 73, 0, 0, 0, + 45, 1, 0, 0, 0, 0, 0, 3, 27, 1, 0, 0, 29, 1, 0, 0, 31, 1, 0, 0, 33, 1, 0, 0, 0, 0, 0, 3, 32, 1, 0, 0, + 30, 1, 0, 0, 28, 1, 0, 0, 34, 1, 0, 0, 0, 0, 0, 3, 27, 1, 0, 0, 33, 1, 0, 0,103, 1, 0, 0, 73, 0, 0, 0, + 0, 0, 0, 3,104, 1, 0, 0, 34, 1, 0, 0, 28, 1, 0, 0, 73, 0, 0, 0, 0, 0, 0, 3, 72, 0, 0, 0, 27, 1, 0, 0, + 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 73, 0, 0, 0, 28, 1, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, + 37, 1, 0, 0, 39, 1, 0, 0, 53, 1, 0, 0,105, 1, 0, 0, 0, 0, 0, 3, 54, 1, 0, 0, 40, 1, 0, 0, 38, 1, 0, 0, +106, 1, 0, 0, 0, 0, 0, 3, 53, 1, 0, 0, 55, 1, 0, 0,111, 1, 0, 0,105, 1, 0, 0, 0, 0, 0, 3,112, 1, 0, 0, + 56, 1, 0, 0, 54, 1, 0, 0,106, 1, 0, 0, 0, 0, 0, 3, 55, 1, 0, 0,125, 1, 0, 0,113, 1, 0, 0,111, 1, 0, 0, + 0, 0, 0, 3,114, 1, 0, 0,126, 1, 0, 0, 56, 1, 0, 0,112, 1, 0, 0, 0, 0, 0, 3, 57, 1, 0, 0,119, 1, 0, 0, +113, 1, 0, 0,125, 1, 0, 0, 0, 0, 0, 3,114, 1, 0, 0,120, 1, 0, 0, 58, 1, 0, 0,126, 1, 0, 0, 0, 0, 0, 3, + 91, 1, 0, 0, 93, 1, 0, 0,129, 1, 0, 0,127, 1, 0, 0, 0, 0, 0, 3,130, 1, 0, 0, 94, 1, 0, 0, 92, 1, 0, 0, +128, 1, 0, 0, 0, 0, 0, 3, 61, 1, 0, 0,127, 1, 0, 0,129, 1, 0, 0, 63, 1, 0, 0, 0, 0, 0, 3,130, 1, 0, 0, +128, 1, 0, 0, 62, 1, 0, 0, 64, 1, 0, 0, 0, 0, 0, 3, 41, 1, 0, 0, 43, 1, 0, 0,127, 1, 0, 0, 61, 1, 0, 0, + 0, 0, 0, 3,128, 1, 0, 0, 44, 1, 0, 0, 42, 1, 0, 0, 62, 1, 0, 0, 0, 0, 0, 3, 43, 1, 0, 0, 87, 1, 0, 0, + 85, 1, 0, 0,127, 1, 0, 0, 0, 0, 0, 3, 86, 1, 0, 0, 88, 1, 0, 0, 44, 1, 0, 0,128, 1, 0, 0, 0, 0, 0, 3, + 85, 1, 0, 0, 91, 1, 0, 0,127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,128, 1, 0, 0, 92, 1, 0, 0, 86, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3, 43, 1, 0, 0, 89, 1, 0, 0, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 88, 1, 0, 0, + 90, 1, 0, 0, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 57, 1, 0, 0, 65, 1, 0, 0,123, 1, 0, 0,121, 1, 0, 0, + 0, 0, 0, 3,124, 1, 0, 0, 66, 1, 0, 0, 58, 1, 0, 0,122, 1, 0, 0, 0, 0, 0, 3, 59, 1, 0, 0,121, 1, 0, 0, +123, 1, 0, 0, 67, 1, 0, 0, 0, 0, 0, 3,124, 1, 0, 0,122, 1, 0, 0, 60, 1, 0, 0, 68, 1, 0, 0, 0, 0, 0, 3, + 63, 1, 0, 0,129, 1, 0, 0,123, 1, 0, 0, 65, 1, 0, 0, 0, 0, 0, 3,124, 1, 0, 0,130, 1, 0, 0, 64, 1, 0, 0, + 66, 1, 0, 0, 0, 0, 0, 3, 93, 1, 0, 0, 95, 1, 0, 0,123, 1, 0, 0,129, 1, 0, 0, 0, 0, 0, 3,124, 1, 0, 0, + 96, 1, 0, 0, 94, 1, 0, 0,130, 1, 0, 0, 0, 0, 0, 3, 67, 1, 0, 0,123, 1, 0, 0, 95, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 96, 1, 0, 0,124, 1, 0, 0, 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,143, 1, 0, 0,131, 1, 0, 0, +157, 1, 0, 0,145, 1, 0, 0, 0, 0, 0, 3,158, 1, 0, 0,132, 1, 0, 0,144, 1, 0, 0,146, 1, 0, 0, 0, 0, 0, 3, +143, 1, 0, 0,145, 1, 0, 0,147, 1, 0, 0,141, 1, 0, 0, 0, 0, 0, 3,148, 1, 0, 0,146, 1, 0, 0,144, 1, 0, 0, +142, 1, 0, 0, 0, 0, 0, 3,141, 1, 0, 0,147, 1, 0, 0,149, 1, 0, 0,139, 1, 0, 0, 0, 0, 0, 3,150, 1, 0, 0, +148, 1, 0, 0,142, 1, 0, 0,140, 1, 0, 0, 0, 0, 0, 3,139, 1, 0, 0,149, 1, 0, 0,151, 1, 0, 0,137, 1, 0, 0, + 0, 0, 0, 3,152, 1, 0, 0,150, 1, 0, 0,140, 1, 0, 0,138, 1, 0, 0, 0, 0, 0, 3,137, 1, 0, 0,151, 1, 0, 0, +153, 1, 0, 0,135, 1, 0, 0, 0, 0, 0, 3,154, 1, 0, 0,152, 1, 0, 0,138, 1, 0, 0,136, 1, 0, 0, 0, 0, 0, 3, +135, 1, 0, 0,153, 1, 0, 0,155, 1, 0, 0,133, 1, 0, 0, 0, 0, 0, 3,156, 1, 0, 0,154, 1, 0, 0,136, 1, 0, 0, +134, 1, 0, 0, 0, 0, 0, 3,153, 1, 0, 0,163, 1, 0, 0,161, 1, 0, 0,155, 1, 0, 0, 0, 0, 0, 3,162, 1, 0, 0, +164, 1, 0, 0,154, 1, 0, 0,156, 1, 0, 0, 0, 0, 0, 3,151, 1, 0, 0,165, 1, 0, 0,163, 1, 0, 0,153, 1, 0, 0, + 0, 0, 0, 3,164, 1, 0, 0,166, 1, 0, 0,152, 1, 0, 0,154, 1, 0, 0, 0, 0, 0, 3,149, 1, 0, 0,167, 1, 0, 0, +165, 1, 0, 0,151, 1, 0, 0, 0, 0, 0, 3,166, 1, 0, 0,168, 1, 0, 0,150, 1, 0, 0,152, 1, 0, 0, 0, 0, 0, 3, +147, 1, 0, 0,169, 1, 0, 0,167, 1, 0, 0,149, 1, 0, 0, 0, 0, 0, 3,168, 1, 0, 0,170, 1, 0, 0,148, 1, 0, 0, +150, 1, 0, 0, 0, 0, 0, 3,145, 1, 0, 0,171, 1, 0, 0,169, 1, 0, 0,147, 1, 0, 0, 0, 0, 0, 3,170, 1, 0, 0, +172, 1, 0, 0,146, 1, 0, 0,148, 1, 0, 0, 0, 0, 0, 3,145, 1, 0, 0,157, 1, 0, 0,159, 1, 0, 0,171, 1, 0, 0, + 0, 0, 0, 3,160, 1, 0, 0,158, 1, 0, 0,146, 1, 0, 0,172, 1, 0, 0, 0, 0, 0, 3, 61, 1, 0, 0, 63, 1, 0, 0, +187, 1, 0, 0,185, 1, 0, 0, 0, 0, 0, 3,188, 1, 0, 0, 64, 1, 0, 0, 62, 1, 0, 0,186, 1, 0, 0, 0, 0, 0, 3, + 63, 1, 0, 0,133, 1, 0, 0,155, 1, 0, 0,187, 1, 0, 0, 0, 0, 0, 3,156, 1, 0, 0,134, 1, 0, 0, 64, 1, 0, 0, +188, 1, 0, 0, 0, 0, 0, 3, 53, 1, 0, 0, 61, 1, 0, 0,185, 1, 0, 0, 55, 1, 0, 0, 0, 0, 0, 3,186, 1, 0, 0, + 62, 1, 0, 0, 54, 1, 0, 0, 56, 1, 0, 0, 0, 0, 0, 3,125, 1, 0, 0,173, 1, 0, 0,157, 1, 0, 0,131, 1, 0, 0, + 0, 0, 0, 3,158, 1, 0, 0,174, 1, 0, 0,126, 1, 0, 0,132, 1, 0, 0, 0, 0, 0, 3,155, 1, 0, 0,161, 1, 0, 0, +183, 1, 0, 0,187, 1, 0, 0, 0, 0, 0, 3,184, 1, 0, 0,162, 1, 0, 0,156, 1, 0, 0,188, 1, 0, 0, 0, 0, 0, 3, +181, 1, 0, 0,189, 1, 0, 0,187, 1, 0, 0,183, 1, 0, 0, 0, 0, 0, 3,188, 1, 0, 0,190, 1, 0, 0,182, 1, 0, 0, +184, 1, 0, 0, 0, 0, 0, 3,177, 1, 0, 0,189, 1, 0, 0,181, 1, 0, 0,179, 1, 0, 0, 0, 0, 0, 3,182, 1, 0, 0, +190, 1, 0, 0,178, 1, 0, 0,180, 1, 0, 0, 0, 0, 0, 3,175, 1, 0, 0,191, 1, 0, 0,189, 1, 0, 0,177, 1, 0, 0, + 0, 0, 0, 3,190, 1, 0, 0,192, 1, 0, 0,176, 1, 0, 0,178, 1, 0, 0, 0, 0, 0, 3,173, 1, 0, 0,191, 1, 0, 0, +175, 1, 0, 0,193, 1, 0, 0, 0, 0, 0, 3,176, 1, 0, 0,192, 1, 0, 0,174, 1, 0, 0,194, 1, 0, 0, 0, 0, 0, 3, +157, 1, 0, 0,173, 1, 0, 0,193, 1, 0, 0,159, 1, 0, 0, 0, 0, 0, 3,194, 1, 0, 0,174, 1, 0, 0,158, 1, 0, 0, +160, 1, 0, 0, 0, 0, 0, 3, 55, 1, 0, 0,191, 1, 0, 0,173, 1, 0, 0,125, 1, 0, 0, 0, 0, 0, 3,174, 1, 0, 0, +192, 1, 0, 0, 56, 1, 0, 0,126, 1, 0, 0, 0, 0, 0, 3, 55, 1, 0, 0,185, 1, 0, 0,189, 1, 0, 0,191, 1, 0, 0, + 0, 0, 0, 3,190, 1, 0, 0,186, 1, 0, 0, 56, 1, 0, 0,192, 1, 0, 0, 0, 0, 0, 3,185, 1, 0, 0,187, 1, 0, 0, +189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,190, 1, 0, 0,188, 1, 0, 0,186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, +159, 1, 0, 0,193, 1, 0, 0,195, 1, 0, 0,219, 1, 0, 0, 0, 0, 0, 3,196, 1, 0, 0,194, 1, 0, 0,160, 1, 0, 0, +220, 1, 0, 0, 0, 0, 0, 3,193, 1, 0, 0,175, 1, 0, 0,205, 1, 0, 0,195, 1, 0, 0, 0, 0, 0, 3,206, 1, 0, 0, +176, 1, 0, 0,194, 1, 0, 0,196, 1, 0, 0, 0, 0, 0, 3,175, 1, 0, 0,177, 1, 0, 0,203, 1, 0, 0,205, 1, 0, 0, + 0, 0, 0, 3,204, 1, 0, 0,178, 1, 0, 0,176, 1, 0, 0,206, 1, 0, 0, 0, 0, 0, 3,177, 1, 0, 0,179, 1, 0, 0, +201, 1, 0, 0,203, 1, 0, 0, 0, 0, 0, 3,202, 1, 0, 0,180, 1, 0, 0,178, 1, 0, 0,204, 1, 0, 0, 0, 0, 0, 3, +179, 1, 0, 0,181, 1, 0, 0,199, 1, 0, 0,201, 1, 0, 0, 0, 0, 0, 3,200, 1, 0, 0,182, 1, 0, 0,180, 1, 0, 0, +202, 1, 0, 0, 0, 0, 0, 3,181, 1, 0, 0,183, 1, 0, 0,197, 1, 0, 0,199, 1, 0, 0, 0, 0, 0, 3,198, 1, 0, 0, +184, 1, 0, 0,182, 1, 0, 0,200, 1, 0, 0, 0, 0, 0, 3,183, 1, 0, 0,161, 1, 0, 0,217, 1, 0, 0,197, 1, 0, 0, + 0, 0, 0, 3,218, 1, 0, 0,162, 1, 0, 0,184, 1, 0, 0,198, 1, 0, 0, 0, 0, 0, 3,171, 1, 0, 0,159, 1, 0, 0, +219, 1, 0, 0,207, 1, 0, 0, 0, 0, 0, 3,220, 1, 0, 0,160, 1, 0, 0,172, 1, 0, 0,208, 1, 0, 0, 0, 0, 0, 3, +169, 1, 0, 0,171, 1, 0, 0,207, 1, 0, 0,209, 1, 0, 0, 0, 0, 0, 3,208, 1, 0, 0,172, 1, 0, 0,170, 1, 0, 0, +210, 1, 0, 0, 0, 0, 0, 3,167, 1, 0, 0,169, 1, 0, 0,209, 1, 0, 0,211, 1, 0, 0, 0, 0, 0, 3,210, 1, 0, 0, +170, 1, 0, 0,168, 1, 0, 0,212, 1, 0, 0, 0, 0, 0, 3,165, 1, 0, 0,167, 1, 0, 0,211, 1, 0, 0,213, 1, 0, 0, + 0, 0, 0, 3,212, 1, 0, 0,168, 1, 0, 0,166, 1, 0, 0,214, 1, 0, 0, 0, 0, 0, 3,163, 1, 0, 0,165, 1, 0, 0, +213, 1, 0, 0,215, 1, 0, 0, 0, 0, 0, 3,214, 1, 0, 0,166, 1, 0, 0,164, 1, 0, 0,216, 1, 0, 0, 0, 0, 0, 3, +161, 1, 0, 0,163, 1, 0, 0,215, 1, 0, 0,217, 1, 0, 0, 0, 0, 0, 3,216, 1, 0, 0,164, 1, 0, 0,162, 1, 0, 0, +218, 1, 0, 0, 0, 0, 0, 3,201, 1, 0, 0,199, 1, 0, 0,223, 1, 0, 0,221, 1, 0, 0, 0, 0, 0, 3,224, 1, 0, 0, +200, 1, 0, 0,202, 1, 0, 0,222, 1, 0, 0, 0, 0, 0, 3,221, 1, 0, 0,223, 1, 0, 0,225, 1, 0, 0,227, 1, 0, 0, + 0, 0, 0, 3,226, 1, 0, 0,224, 1, 0, 0,222, 1, 0, 0,228, 1, 0, 0, 0, 0, 0, 3,227, 1, 0, 0,225, 1, 0, 0, +231, 1, 0, 0,229, 1, 0, 0, 0, 0, 0, 3,232, 1, 0, 0,226, 1, 0, 0,228, 1, 0, 0,230, 1, 0, 0, 0, 0, 0, 3, +229, 1, 0, 0,231, 1, 0, 0,233, 1, 0, 0,235, 1, 0, 0, 0, 0, 0, 3,234, 1, 0, 0,232, 1, 0, 0,230, 1, 0, 0, +236, 1, 0, 0, 0, 0, 0, 3,207, 1, 0, 0,219, 1, 0, 0,229, 1, 0, 0,235, 1, 0, 0, 0, 0, 0, 3,230, 1, 0, 0, +220, 1, 0, 0,208, 1, 0, 0,236, 1, 0, 0, 0, 0, 0, 3,195, 1, 0, 0,227, 1, 0, 0,229, 1, 0, 0,219, 1, 0, 0, + 0, 0, 0, 3,230, 1, 0, 0,228, 1, 0, 0,196, 1, 0, 0,220, 1, 0, 0, 0, 0, 0, 3,195, 1, 0, 0,205, 1, 0, 0, +221, 1, 0, 0,227, 1, 0, 0, 0, 0, 0, 3,222, 1, 0, 0,206, 1, 0, 0,196, 1, 0, 0,228, 1, 0, 0, 0, 0, 0, 3, +201, 1, 0, 0,221, 1, 0, 0,205, 1, 0, 0,203, 1, 0, 0, 0, 0, 0, 3,206, 1, 0, 0,222, 1, 0, 0,202, 1, 0, 0, +204, 1, 0, 0, 0, 0, 0, 3,197, 1, 0, 0,217, 1, 0, 0,223, 1, 0, 0,199, 1, 0, 0, 0, 0, 0, 3,224, 1, 0, 0, +218, 1, 0, 0,198, 1, 0, 0,200, 1, 0, 0, 0, 0, 0, 3,215, 1, 0, 0,225, 1, 0, 0,223, 1, 0, 0,217, 1, 0, 0, + 0, 0, 0, 3,224, 1, 0, 0,226, 1, 0, 0,216, 1, 0, 0,218, 1, 0, 0, 0, 0, 0, 3,213, 1, 0, 0,231, 1, 0, 0, +225, 1, 0, 0,215, 1, 0, 0, 0, 0, 0, 3,226, 1, 0, 0,232, 1, 0, 0,214, 1, 0, 0,216, 1, 0, 0, 0, 0, 0, 3, +211, 1, 0, 0,233, 1, 0, 0,231, 1, 0, 0,213, 1, 0, 0, 0, 0, 0, 3,232, 1, 0, 0,234, 1, 0, 0,212, 1, 0, 0, +214, 1, 0, 0, 0, 0, 0, 3,209, 1, 0, 0,235, 1, 0, 0,233, 1, 0, 0,211, 1, 0, 0, 0, 0, 0, 3,234, 1, 0, 0, +236, 1, 0, 0,210, 1, 0, 0,212, 1, 0, 0, 0, 0, 0, 3,207, 1, 0, 0,235, 1, 0, 0,209, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3,210, 1, 0, 0,236, 1, 0, 0,208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,135, 1, 0, 0,133, 1, 0, 0, +247, 1, 0, 0,245, 1, 0, 0, 0, 0, 0, 3,248, 1, 0, 0,134, 1, 0, 0,136, 1, 0, 0,246, 1, 0, 0, 0, 0, 0, 3, +137, 1, 0, 0,135, 1, 0, 0,245, 1, 0, 0,243, 1, 0, 0, 0, 0, 0, 3,246, 1, 0, 0,136, 1, 0, 0,138, 1, 0, 0, +244, 1, 0, 0, 0, 0, 0, 3,139, 1, 0, 0,137, 1, 0, 0,243, 1, 0, 0,241, 1, 0, 0, 0, 0, 0, 3,244, 1, 0, 0, +138, 1, 0, 0,140, 1, 0, 0,242, 1, 0, 0, 0, 0, 0, 3,141, 1, 0, 0,139, 1, 0, 0,241, 1, 0, 0,239, 1, 0, 0, + 0, 0, 0, 3,242, 1, 0, 0,140, 1, 0, 0,142, 1, 0, 0,240, 1, 0, 0, 0, 0, 0, 3,143, 1, 0, 0,141, 1, 0, 0, +239, 1, 0, 0,237, 1, 0, 0, 0, 0, 0, 3,240, 1, 0, 0,142, 1, 0, 0,144, 1, 0, 0,238, 1, 0, 0, 0, 0, 0, 3, +131, 1, 0, 0,143, 1, 0, 0,237, 1, 0, 0,249, 1, 0, 0, 0, 0, 0, 3,238, 1, 0, 0,144, 1, 0, 0,132, 1, 0, 0, +250, 1, 0, 0, 0, 0, 0, 3,237, 1, 0, 0,245, 1, 0, 0,247, 1, 0, 0,249, 1, 0, 0, 0, 0, 0, 3,248, 1, 0, 0, +246, 1, 0, 0,238, 1, 0, 0,250, 1, 0, 0, 0, 0, 0, 3,237, 1, 0, 0,239, 1, 0, 0,243, 1, 0, 0,245, 1, 0, 0, + 0, 0, 0, 3,244, 1, 0, 0,240, 1, 0, 0,238, 1, 0, 0,246, 1, 0, 0, 0, 0, 0, 3,239, 1, 0, 0,241, 1, 0, 0, +243, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,244, 1, 0, 0,242, 1, 0, 0,240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, + 57, 1, 0, 0,125, 1, 0, 0,131, 1, 0, 0,249, 1, 0, 0, 0, 0, 0, 3,132, 1, 0, 0,126, 1, 0, 0, 58, 1, 0, 0, +250, 1, 0, 0, 0, 0, 0, 3, 57, 1, 0, 0,249, 1, 0, 0,247, 1, 0, 0, 65, 1, 0, 0, 0, 0, 0, 3,248, 1, 0, 0, +250, 1, 0, 0, 58, 1, 0, 0, 66, 1, 0, 0, 0, 0, 0, 3, 63, 1, 0, 0, 65, 1, 0, 0,247, 1, 0, 0,133, 1, 0, 0, + 0, 0, 0, 3,248, 1, 0, 0, 66, 1, 0, 0, 64, 1, 0, 0,134, 1, 0, 0, 0, 0, 0, 3, 77, 69, 0, 0,176, 1, 0, 0, +216,240, 71, 27, 1, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0, 40,248, 71, 27, 1, 0, 0, 0, 72,232, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 77,111,110,107,101,121, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,200,242, 71, 27, 1, 0, 0, 0, 56, 78,109, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56,246,108, 3, 1, 0, 0, 0, 56, 30,109, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 24,243, 71, 27, 1, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,244, 71, 27, 1, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, + 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,246, 71, 27, 1, 0, 0, 0, + 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +251, 1, 0, 0,237, 3, 0, 0,244, 1, 0, 0, 0, 0, 0, 0,255,255,255,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 8, 0, 0, 0,200,242, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8,188, 71, 27, 1, 0, 0, 0, + 68, 65, 84, 65,104, 1, 0, 0, 24,243, 71, 27, 1, 0, 0, 0, 93, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,246,108, 3, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65,156, 39, 0, 0, 56,246,108, 3, 1, 0, 0, 0, 52, 0, 0, 0,251, 1, 0, 0, 0, 0,224, 62, 0, 0, 40, 62, + 0, 0, 68, 63, 36, 93, 58,172, 64, 26, 1, 0, 0, 0,224,190, 0, 0, 40, 62, 0, 0, 68, 63,220,162, 58,172, 64, 26, 1, 0, + 0, 0, 0, 63, 0, 0,192, 61, 0, 0, 48, 63, 80, 77,177,190, 91, 78, 1, 0, 0, 0, 0,191, 0, 0,192, 61, 0, 0, 48, 63, +176,178,177,190, 91, 78, 1, 0, 0, 0, 12, 63, 0, 0, 96, 61, 0, 0, 20, 63,106, 87,237,185,228, 61, 1, 0, 0, 0, 12,191, + 0, 0, 96, 61, 0, 0, 20, 63,150,168,237,185,228, 61, 1, 0, 0, 0,180, 62, 0, 0,192,188, 0, 0, 30, 63,213, 14, 8,145, + 9, 62, 1, 0, 0, 0,180,190, 0, 0,192,188, 0, 0, 30, 63, 43,241, 8,145, 9, 62, 1, 0, 0, 0,180, 62, 0, 0, 0, 61, + 0, 0, 56, 63,146, 12,225,159,148, 83, 1, 0, 0, 0,180,190, 0, 0, 0, 61, 0, 0, 56, 63,110,243,225,159,148, 83, 1, 0, + 0, 0,180, 62, 0, 0, 8, 62, 0, 0, 72, 63,205, 4,122,132, 46, 33, 1, 0, 0, 0,180,190, 0, 0, 8, 62, 0, 0, 72, 63, + 51,251,122,132, 46, 33, 1, 0, 0, 0,140, 62, 0, 0, 40, 62, 0, 0, 76, 63, 30,172, 83,167,129, 38, 1, 0, 0, 0,140,190, + 0, 0, 40, 62, 0, 0, 76, 63,226, 83, 83,167,129, 38, 1, 0, 0, 0, 80, 62, 0, 0,192, 61, 0, 0, 62, 63, 58,198,248,186, +253, 90, 1, 0, 0, 0, 80,190, 0, 0,192, 61, 0, 0, 62, 63,198, 57,248,186,253, 90, 1, 0, 0, 0, 32, 62, 0, 0, 96, 61, + 0, 0, 38, 63,114,185,159,174, 37, 69, 1, 0, 0, 0, 32,190, 0, 0, 96, 61, 0, 0, 38, 63,142, 70,159,174, 37, 69, 1, 0, + 0, 0,160, 61, 0, 0,120, 62, 0, 0, 40, 63,182,151,132,255, 51, 74, 1, 0, 0, 0,160,189, 0, 0,120, 62, 0, 0, 40, 63, + 74,104,132,255, 51, 74, 1, 0, 0, 0, 16, 62, 0, 0,120, 62, 0, 0, 62, 63, 44,167,141,255, 38, 92, 1, 0, 0, 0, 16,190, + 0, 0,120, 62, 0, 0, 62, 63,212, 88,141,255, 38, 92, 1, 0, 0, 0,120, 62, 0, 0,120, 62, 0, 0, 76, 63,233,134, 91,254, +110, 41, 1, 0, 0, 0,120,190, 0, 0,120, 62, 0, 0, 76, 63, 23,121, 91,254,110, 41, 1, 0, 0, 0,140, 62, 0, 0,168, 62, + 0, 0, 76, 63, 63,171,127, 88,251, 36, 1, 0, 0, 0,140,190, 0, 0,168, 62, 0, 0, 76, 63,193, 84,127, 88,251, 36, 1, 0, + 0, 0, 80, 62, 0, 0,200, 62, 0, 0, 62, 63,191,197, 53, 67, 11, 92, 1, 0, 0, 0, 80,190, 0, 0,200, 62, 0, 0, 62, 63, + 65, 58, 53, 67, 11, 92, 1, 0, 0, 0, 32, 62, 0, 0,224, 62, 0, 0, 38, 63, 49,188, 51, 80, 41, 73, 1, 0, 0, 0, 32,190, + 0, 0,224, 62, 0, 0, 38, 63,207, 67, 51, 80, 41, 73, 1, 0, 0, 0,180, 62, 0, 0, 4, 63, 0, 0, 30, 63,171, 15, 44,107, + 51, 68, 1, 0, 0, 0,180,190, 0, 0, 4, 63, 0, 0, 30, 63, 85,240, 44,107, 51, 68, 1, 0, 0, 0,180, 62, 0, 0,232, 62, + 0, 0, 56, 63, 10, 13,188, 94, 19, 85, 1, 0, 0, 0,180,190, 0, 0,232, 62, 0, 0, 56, 63,246,242,188, 94, 19, 85, 1, 0, + 0, 0,180, 62, 0, 0,184, 62, 0, 0, 72, 63, 27, 4, 73,124, 81, 30, 1, 0, 0, 0,180,190, 0, 0,184, 62, 0, 0, 72, 63, +229,251, 73,124, 81, 30, 1, 0, 0, 0,224, 62, 0, 0,168, 62, 0, 0, 68, 63,179, 93,140, 83,243, 24, 1, 0, 0, 0,224,190, + 0, 0,168, 62, 0, 0, 68, 63, 77,162,140, 83,243, 24, 1, 0, 0, 0, 0, 63, 0, 0,200, 62, 0, 0, 48, 63,225, 77, 89, 63, +101, 79, 1, 0, 0, 0, 0,191, 0, 0,200, 62, 0, 0, 48, 63, 31,178, 89, 63,101, 79, 1, 0, 0, 0, 12, 63, 0, 0,224, 62, + 0, 0, 20, 63, 10, 86,225, 68, 20, 65, 1, 0, 0, 0, 12,191, 0, 0,224, 62, 0, 0, 20, 63,246,169,225, 68, 20, 65, 1, 0, + 0, 0, 32, 63, 0, 0,120, 62, 0, 0, 16, 63, 39,111,149,255,117, 63, 1, 0, 0, 0, 32,191, 0, 0,120, 62, 0, 0, 16, 63, +217,144,149,255,117, 63, 1, 0, 0, 0, 16, 63, 0, 0,120, 62, 0, 0, 44, 63,169,102,145,255,112, 76, 1, 0, 0, 0, 16,191, + 0, 0,120, 62, 0, 0, 44, 63, 87,153,145,255,112, 76, 1, 0, 0, 0,240, 62, 0, 0,120, 62, 0, 0, 66, 63, 36,125,151,254, +216, 26, 1, 0, 0, 0,240,190, 0, 0,120, 62, 0, 0, 66, 63,220,130,151,254,216, 26, 1, 0, 0, 0,244, 62, 0, 0,120, 62, + 0, 0, 70, 63,162,124,112,254, 23, 29, 1, 0, 0, 0,244,190, 0, 0,120, 62, 0, 0, 70, 63, 94,131,112,254, 23, 29, 1, 0, + 0, 0,228, 62, 0, 0,172, 62, 0, 0, 72, 63,105, 92, 46, 83,100, 30, 1, 0, 0, 0,228,190, 0, 0,172, 62, 0, 0, 72, 63, +151,163, 46, 83,100, 30, 1, 0, 0, 0,180, 62, 0, 0,192, 62, 0, 0, 78, 63,203, 4,126,119,158, 45, 1, 0, 0, 0,180,190, + 0, 0,192, 62, 0, 0, 78, 63, 53,251,126,119,158, 45, 1, 0, 0, 0,136, 62, 0, 0,172, 62, 0, 0, 82, 63,213,175,209, 82, +166, 55, 1, 0, 0, 0,136,190, 0, 0,172, 62, 0, 0, 82, 63, 43, 80,209, 82,166, 55, 1, 0, 0, 0,104, 62, 0, 0,120, 62, + 0, 0, 82, 63, 93,139,110,254,175, 52, 1, 0, 0, 0,104,190, 0, 0,120, 62, 0, 0, 82, 63,163,116,110,254,175, 52, 1, 0, + 0, 0,136, 62, 0, 0, 32, 62, 0, 0, 82, 63,226,176, 82,172,220, 55, 1, 0, 0, 0,136,190, 0, 0, 32, 62, 0, 0, 82, 63, + 30, 79, 82,172,220, 55, 1, 0, 0, 0,180, 62, 0, 0,120, 62, 0, 0, 84, 63,128, 23, 82,255,209,125, 1, 0, 0, 0,180,190, + 0, 0,120, 62, 0, 0, 84, 63,128,232, 82,255,209,125, 1, 0, 0, 0,180, 62, 0, 0,240, 61, 0, 0, 78, 63,186, 4, 80,136, + 27, 45, 1, 0, 0, 0,180,190, 0, 0,240, 61, 0, 0, 78, 63, 70,251, 80,136, 27, 45, 1, 0, 0, 0,228, 62, 0, 0, 32, 62, + 0, 0, 72, 63,134, 91,236,171,153, 30, 1, 0, 0, 0,228,190, 0, 0, 32, 62, 0, 0, 72, 63,122,164,236,171,153, 30, 1, 0, + 0, 0, 0, 0, 0, 0,220, 62, 0, 0, 62, 63, 0, 0,209,122, 10, 36, 1, 0, 0, 0, 0, 0, 0, 0,180, 62, 0, 0, 82, 63, + 0, 0,235,252,245,127, 1, 0, 0, 0, 0, 0, 0, 0, 46,191, 0, 0, 60, 63, 0, 0,159,251,235,127, 1, 0, 0, 0, 0, 0, + 0, 0,164,190, 0, 0, 72, 63, 0, 0, 65,146,221, 65, 1, 0, 0, 0, 0, 0, 0, 0, 64,190, 0, 0, 76, 63, 0, 0,125,100, + 70, 79, 1, 0, 0, 0, 0, 0, 0, 0, 70,191, 0, 0, 56, 63, 0, 0,104,140,246, 54, 1, 0, 0, 0, 0, 0, 0, 0,208, 62, + 0, 0, 26, 63, 0, 0,143,112,238, 60, 1, 0, 0, 0, 0, 0, 0, 0, 18, 63, 0, 0, 18, 63, 0, 0,104, 79, 98,100, 1, 0, + 0, 0, 0, 0, 0, 0,102, 63, 0, 0, 12,191, 0, 0,144,106, 25,185, 1, 0, 0, 0, 0, 0, 0, 0, 16, 63, 0, 0, 90,191, + 0, 0, 51, 40,124,134, 1, 0, 0, 0, 0, 0, 0, 0,144, 61, 0, 0, 84,191, 0, 0,140,217,235,133, 1, 0, 0, 0, 0, 0, + 0, 0,196,190, 0, 0,180,190, 0, 0,143,135,174,212, 1, 0, 0, 0, 80, 62, 0, 0, 64,190, 0, 0, 16, 63,224,115, 50,206, +203, 21, 1, 0, 0, 0, 80,190, 0, 0, 64,190, 0, 0, 16, 63, 32,140, 50,206,203, 21, 1, 0, 0, 0,160, 62, 0, 0,224,190, + 0, 0, 18, 63,136,123, 6, 28, 94, 18, 1, 0, 0, 0,160,190, 0, 0,224,190, 0, 0, 18, 63,120,132, 6, 28, 94, 18, 1, 0, + 0, 0,180, 62, 0, 0, 50,191, 0, 0, 18, 63,229,124, 36, 12, 56, 25, 1, 0, 0, 0,180,190, 0, 0, 50,191, 0, 0, 18, 63, + 27,131, 36, 12, 56, 25, 1, 0, 0, 0,188, 62, 0, 0,100,191, 0, 0, 8, 63, 26,124, 38,237, 2, 25, 1, 0, 0, 0,188,190, + 0, 0,100,191, 0, 0, 8, 63,230,131, 38,237, 2, 25, 1, 0, 0, 0,168, 62, 0, 0,114,191, 0, 0, 6, 63,185, 83, 15,161, +241, 18, 1, 0, 0, 0,168,190, 0, 0,114,191, 0, 0, 6, 63, 71,172, 15,161,241, 18, 1, 0, 0, 0, 56, 62, 0, 0,120,191, + 0, 0, 14, 63, 45, 20, 69,131,109, 20, 1, 0, 0, 0, 56,190, 0, 0,120,191, 0, 0, 14, 63,211,235, 69,131,109, 20, 1, 0, + 0, 0, 0, 0, 0, 0,124,191, 0, 0, 20, 63, 0, 0,219,130,219, 26, 1, 0, 0, 0,224, 62, 0, 0, 16,190, 0, 0, 8, 63, + 38, 46,194,136,209, 5, 1, 0, 0, 0,224,190, 0, 0, 16,190, 0, 0, 8, 63,218,209,194,136,209, 5, 1, 0, 0, 0, 34, 63, + 0, 0, 32,189, 0, 0, 10, 63, 96, 75,200,154, 89, 21, 1, 0, 0, 0, 34,191, 0, 0, 32,189, 0, 0, 10, 63,160,180,200,154, + 89, 21, 1, 0, 0, 0, 84, 63, 0, 0, 24, 62, 0, 0,228, 62,208,116,116,204, 17,247, 1, 0, 0, 0, 84,191, 0, 0, 24, 62, + 0, 0,228, 62, 48,139,116,204, 17,247, 1, 0, 0, 0, 92, 63, 0, 0,220, 62, 0, 0, 24, 63,167,112, 64, 54, 93, 27, 1, 0, + 0, 0, 92,191, 0, 0,220, 62, 0, 0, 24, 63, 89,143, 64, 54, 93, 27, 1, 0, 0, 0, 54, 63, 0, 0,248, 62, 0, 0, 32, 63, + 70, 65,159,106,113, 27, 1, 0, 0, 0, 54,191, 0, 0,248, 62, 0, 0, 32, 63,186,190,159,106,113, 27, 1, 0, 0, 0,252, 62, + 0, 0, 26, 63, 0, 0, 48, 63,131, 76, 82,100,139, 21, 1, 0, 0, 0,252,190, 0, 0, 26, 63, 0, 0, 48, 63,125,179, 82,100, +139, 21, 1, 0, 0, 0,164, 62, 0, 0, 66, 63, 0, 0, 60, 63, 56, 29,185,122,159, 21, 1, 0, 0, 0,164,190, 0, 0, 66, 63, + 0, 0, 60, 63,200,226,185,122,159, 21, 1, 0, 0, 0, 32, 62, 0, 0, 56, 63, 0, 0, 66, 63, 95,179,127, 99,180, 24, 1, 0, + 0, 0, 32,190, 0, 0, 56, 63, 0, 0, 66, 63,161, 76,127, 99,180, 24, 1, 0, 0, 0,128, 61, 0, 0,252, 62, 0, 0, 64, 63, +169,154,155, 74, 94, 23, 1, 0, 0, 0,128,189, 0, 0,252, 62, 0, 0, 64, 63, 87,101,155, 74, 94, 23, 1, 0, 0, 0, 40, 62, + 0, 0,212, 62, 0, 0, 70, 63,248, 33,229,229,156,120, 1, 0, 0, 0, 40,190, 0, 0,212, 62, 0, 0, 70, 63, 8,222,229,229, +156,120, 1, 0, 0, 0, 0, 62, 0, 0,156, 62, 0, 0, 68, 63,162, 3,150,230,100,125, 1, 0, 0, 0, 0,190, 0, 0,156, 62, + 0, 0, 68, 63, 94,252,150,230,100,125, 1, 0, 0, 0, 80, 62, 0, 0,192, 61, 0, 0, 62, 63,187,238,137,228,208,123, 1, 0, + 0, 0, 80,190, 0, 0,192, 61, 0, 0, 62, 63, 69, 17,137,228,208,123, 1, 0, 0, 0,192, 62, 0, 0,128, 60, 0, 0, 52, 63, +194, 39,112,212,152,113, 1, 0, 0, 0,192,190, 0, 0,128, 60, 0, 0, 52, 63, 62,216,112,212,152,113, 1, 0, 0, 0,252, 62, + 0, 0,128, 61, 0, 0, 44, 63,176, 53,101,207,137,105, 1, 0, 0, 0,252,190, 0, 0,128, 61, 0, 0, 44, 63, 80,202,101,207, +137,105, 1, 0, 0, 0, 32, 63, 0, 0, 64, 62, 0, 0, 38, 63,129, 56,167,229,200,111, 1, 0, 0, 0, 32,191, 0, 0, 64, 62, + 0, 0, 38, 63,127,199,167,229,200,111, 1, 0, 0, 0, 36, 63, 0, 0,152, 62, 0, 0, 38, 63,117, 46,213,228, 33,116, 1, 0, + 0, 0, 36,191, 0, 0,152, 62, 0, 0, 38, 63,139,209,213,228, 33,116, 1, 0, 0, 0, 26, 63, 0, 0,192, 62, 0, 0, 42, 63, +228, 30,190,216,216,117, 1, 0, 0, 0, 26,191, 0, 0,192, 62, 0, 0, 42, 63, 28,225,190,216,216,117, 1, 0, 0, 0,220, 62, + 0, 0,224, 62, 0, 0, 56, 63, 82, 25,170,254,117,125, 1, 0, 0, 0,220,190, 0, 0,224, 62, 0, 0, 56, 63,174,230,170,254, +117,125, 1, 0, 0, 0,128, 62, 0, 0,240, 62, 0, 0, 66, 63, 13, 34,233,239, 84,122, 1, 0, 0, 0,128,190, 0, 0,240, 62, + 0, 0, 66, 63,243,221,233,239, 84,122, 1, 0, 0, 0, 0, 0, 0, 0, 68,191, 0, 0, 60, 63, 0, 0,130,201,209,115, 1, 0, + 0, 0,224, 61, 0, 0, 56,191, 0, 0, 60, 63,244, 19, 41,234,135,124, 1, 0, 0, 0,224,189, 0, 0, 56,191, 0, 0, 60, 63, + 12,236, 41,234,135,124, 1, 0, 0, 0,240, 61, 0, 0, 86,191, 0, 0, 54, 63,102, 11,172,214,154,120, 1, 0, 0, 0,240,189, + 0, 0, 86,191, 0, 0, 54, 63,154,244,172,214,154,120, 1, 0, 0, 0,128, 61, 0, 0, 98,191, 0, 0, 50, 63,198,252, 75,203, +152,116, 1, 0, 0, 0,128,189, 0, 0, 98,191, 0, 0, 50, 63, 58, 3, 75,203,152,116, 1, 0, 0, 0, 0, 0, 0, 0,100,191, + 0, 0, 48, 63, 0, 0,154,213,196,120, 1, 0, 0, 0, 0, 0, 0, 0, 72,190, 0, 0, 64, 63, 0, 0, 46, 97, 76, 83, 1, 0, + 0, 0, 0, 0, 0, 0, 16,190, 0, 0, 62, 63, 0, 0,220, 72, 59,105, 1, 0, 0, 0,208, 61, 0, 0, 24,190, 0, 0, 62, 63, + 91, 32,137, 44,141,115, 1, 0, 0, 0,208,189, 0, 0, 24,190, 0, 0, 62, 63,165,223,137, 44,141,115, 1, 0, 0, 0, 0, 62, + 0, 0,104,190, 0, 0, 64, 63, 91, 92, 85,209, 85, 75, 1, 0, 0, 0, 0,190, 0, 0,104,190, 0, 0, 64, 63,165,163, 85,209, + 85, 75, 1, 0, 0, 0,176, 61, 0, 0,148,190, 0, 0, 62, 63,153, 63, 63,200, 17, 96, 1, 0, 0, 0,176,189, 0, 0,148,190, + 0, 0, 62, 63,103,192, 63,200, 17, 96, 1, 0, 0, 0,204, 62, 0, 0, 64,189, 0, 0, 44, 63,192, 48,193,189, 17, 98, 1, 0, + 0, 0,204,190, 0, 0, 64,189, 0, 0, 44, 63, 64,207,193,189, 17, 98, 1, 0, 0, 0, 30, 63, 0, 0, 96, 61, 0, 0, 32, 63, +214, 63,168,204, 87, 98, 1, 0, 0, 0, 30,191, 0, 0, 96, 61, 0, 0, 32, 63, 42,192,168,204, 87, 98, 1, 0, 0, 0, 58, 63, + 0, 0, 80, 62, 0, 0, 26, 63, 66, 70, 51,214,123, 98, 1, 0, 0, 0, 58,191, 0, 0, 80, 62, 0, 0, 26, 63,190,185, 51,214, +123, 98, 1, 0, 0, 0, 62, 63, 0, 0,192, 62, 0, 0, 40, 63,103, 62, 46,237, 39,110, 1, 0, 0, 0, 62,191, 0, 0,192, 62, + 0, 0, 40, 63,153,193, 46,237, 39,110, 1, 0, 0, 0, 48, 63, 0, 0,212, 62, 0, 0, 58, 63,188, 43,214,251, 56,120, 1, 0, + 0, 0, 48,191, 0, 0,212, 62, 0, 0, 58, 63, 68,212,214,251, 56,120, 1, 0, 0, 0,224, 62, 0, 0, 12, 63, 0, 0, 76, 63, + 53, 40, 29,252,116,121, 1, 0, 0, 0,224,190, 0, 0, 12, 63, 0, 0, 76, 63,203,215, 29,252,116,121, 1, 0, 0, 0,160, 62, + 0, 0, 36, 63, 0, 0, 86, 63,180, 34, 68, 27, 37,120, 1, 0, 0, 0,160,190, 0, 0, 36, 63, 0, 0, 86, 63, 76,221, 68, 27, + 37,120, 1, 0, 0, 0, 80, 62, 0, 0, 30, 63, 0, 0, 90, 63,250,234, 91, 20,154,124, 1, 0, 0, 0, 80,190, 0, 0, 30, 63, + 0, 0, 90, 63, 6, 21, 91, 20,154,124, 1, 0, 0, 0,208, 61, 0, 0,220, 62, 0, 0, 88, 63,170,246, 84,252,154,127, 1, 0, + 0, 0,208,189, 0, 0,220, 62, 0, 0, 88, 63, 86, 9, 84,252,154,127, 1, 0, 0, 0, 0, 62, 0, 0,208,189, 0, 0, 80, 63, +125, 8, 79,231, 77,125, 1, 0, 0, 0, 0,190, 0, 0,208,189, 0, 0, 80, 63,131,247, 79,231, 77,125, 1, 0, 0, 0, 88, 62, + 0, 0,228,190, 0, 0, 54, 63, 41, 75, 84, 14,155,102, 1, 0, 0, 0, 88,190, 0, 0,228,190, 0, 0, 54, 63,215,180, 84, 14, +155,102, 1, 0, 0, 0,128, 62, 0, 0, 52,191, 0, 0, 48, 63,174, 72,200,251, 69,105, 1, 0, 0, 0,128,190, 0, 0, 52,191, + 0, 0, 48, 63, 82,183,200,251, 69,105, 1, 0, 0, 0,136, 62, 0, 0, 82,191, 0, 0, 42, 63, 39, 71, 91,228,189,102, 1, 0, + 0, 0,136,190, 0, 0, 82,191, 0, 0, 42, 63,217,184, 91,228,189,102, 1, 0, 0, 0,112, 62, 0, 0,106,191, 0, 0, 34, 63, +118, 46,217,176, 53, 89, 1, 0, 0, 0,112,190, 0, 0,106,191, 0, 0, 34, 63,138,209,217,176, 53, 89, 1, 0, 0, 0, 40, 62, + 0, 0,110,191, 0, 0, 34, 63,124, 21,143,159, 92, 81, 1, 0, 0, 0, 40,190, 0, 0,110,191, 0, 0, 34, 63,132,234,143,159, + 92, 81, 1, 0, 0, 0, 0, 0, 0, 0,114,191, 0, 0, 36, 63, 0, 0,155,154, 28, 78, 1, 0, 0, 0, 0, 0, 0, 0, 64, 61, + 0, 0, 58, 63, 0, 0,185, 1,252,127, 1, 0, 0, 0, 0, 0, 0, 0, 88, 62, 0, 0, 68, 63, 0, 0,102,227,194,124, 1, 0, + 0, 0,168, 62, 0, 0,244, 62, 0, 0, 62, 63, 20, 17,134,243, 60,126, 1, 0, 0, 0,168,190, 0, 0,244, 62, 0, 0, 62, 63, +236,238,134,243, 60,126, 1, 0, 0, 0, 40, 62, 0, 0, 16, 62, 0, 0, 64, 63, 69,216, 70,234,183,119, 1, 0, 0, 0, 40,190, + 0, 0, 16, 62, 0, 0, 64, 63,187, 39, 70,234,183,119, 1, 0, 0, 0, 8, 62, 0, 0, 88, 62, 0, 0, 66, 63, 55,235,111,230, +174,123, 1, 0, 0, 0, 8,190, 0, 0, 88, 62, 0, 0, 66, 63,201, 20,111,230,174,123, 1, 0, 0, 0,240, 61, 0, 0, 48,191, + 0, 0, 60, 63, 18, 23,153,248,174,125, 1, 0, 0, 0,240,189, 0, 0, 48,191, 0, 0, 60, 63,238,232,153,248,174,125, 1, 0, + 0, 0,160, 61, 0, 0,228,190, 0, 0, 64, 63,190, 17, 95, 0,194,126, 1, 0, 0, 0,160,189, 0, 0,228,190, 0, 0, 64, 63, + 66,238, 95, 0,194,126, 1, 0, 0, 0, 0, 0, 0, 0,228,190, 0, 0, 64, 63, 0, 0,122,255,254,127, 1, 0, 0, 0, 0, 0, + 0, 0,168,190, 0, 0, 62, 63, 0, 0,111,197,207,113, 1, 0, 0, 0,192, 61, 0, 0,140,190, 0, 0, 72, 63, 71, 74,123,162, + 9, 46, 1, 0, 0, 0,192,189, 0, 0,140,190, 0, 0, 72, 63,185,181,123,162, 9, 46, 1, 0, 0, 0, 8, 62, 0, 0,104,190, + 0, 0, 76, 63, 88,118,191,228,110, 40, 1, 0, 0, 0, 8,190, 0, 0,104,190, 0, 0, 76, 63,168,137,191,228,110, 40, 1, 0, + 0, 0,224, 61, 0, 0, 8,190, 0, 0, 72, 63,150, 79, 31, 99,242, 14, 1, 0, 0, 0,224,189, 0, 0, 8,190, 0, 0, 72, 63, +106,176, 31, 99,242, 14, 1, 0, 0, 0, 32, 61, 0, 0, 0,190, 0, 0, 72, 63, 95,217,134,120, 24, 19, 1, 0, 0, 0, 32,189, + 0, 0, 0,190, 0, 0, 72, 63,161, 38,134,120, 24, 19, 1, 0, 0, 0, 0, 0, 0, 0, 80,190, 0, 0, 84, 63, 0, 0,137, 14, + 42,127, 1, 0, 0, 0, 64, 61, 0, 0, 24,190, 0, 0, 80, 63,130,230, 5, 77,255, 98, 1, 0, 0, 0, 64,189, 0, 0, 24,190, + 0, 0, 80, 63,126, 25, 5, 77,255, 98, 1, 0, 0, 0,192, 61, 0, 0, 32,190, 0, 0, 80, 63,229, 46,209, 60,101,102, 1, 0, + 0, 0,192,189, 0, 0, 32,190, 0, 0, 80, 63, 27,209,209, 60,101,102, 1, 0, 0, 0,224, 61, 0, 0,104,190, 0, 0, 84, 63, +254, 54, 84,232, 32,113, 1, 0, 0, 0,224,189, 0, 0,104,190, 0, 0, 84, 63, 2,201, 84,232, 32,113, 1, 0, 0, 0,160, 61, + 0, 0,128,190, 0, 0, 78, 63, 59, 28,209,183,219,101, 1, 0, 0, 0,160,189, 0, 0,128,190, 0, 0, 78, 63,197,227,209,183, +219,101, 1, 0, 0, 0, 0, 0, 0, 0,148,190, 0, 0, 78, 63, 0, 0, 89,188,167,108, 1, 0, 0, 0,132, 62, 0, 0,160,190, + 0, 0, 14, 63, 32,120,156, 41,218, 14, 1, 0, 0, 0,132,190, 0, 0,160,190, 0, 0, 14, 63,224,135,156, 41,218, 14, 1, 0, + 0, 0, 40, 62, 0, 0,120,190, 0, 0, 54, 63, 27, 95,200, 3,147, 85, 1, 0, 0, 0, 40,190, 0, 0,120,190, 0, 0, 54, 63, +229,160,200, 3,147, 85, 1, 0, 0, 0, 56, 62, 0, 0,160,190, 0, 0, 54, 63,188, 82, 59, 18,241, 95, 1, 0, 0, 0, 56,190, + 0, 0,160,190, 0, 0, 54, 63, 68,173, 59, 18,241, 95, 1, 0, 0, 0,112, 62, 0, 0,128,190, 0, 0, 14, 63, 9,122, 11, 36, +207, 13, 1, 0, 0, 0,112,190, 0, 0,128,190, 0, 0, 14, 63,247,133, 11, 36,207, 13, 1, 0, 0, 0, 0, 0, 0, 0, 96,191, + 0, 0, 48, 63, 0, 0,198, 82,160, 97, 1, 0, 0, 0, 64, 61, 0, 0, 94,191, 0, 0, 48, 63,149,208,194, 69, 69, 96, 1, 0, + 0, 0, 64,189, 0, 0, 94,191, 0, 0, 48, 63,107, 47,194, 69, 69, 96, 1, 0, 0, 0,192, 61, 0, 0, 82,191, 0, 0, 54, 63, +197,172,223, 7,235, 96, 1, 0, 0, 0,192,189, 0, 0, 82,191, 0, 0, 54, 63, 59, 83,223, 7,235, 96, 1, 0, 0, 0,192, 61, + 0, 0, 62,191, 0, 0, 58, 63,104,241, 70,177,219, 99, 1, 0, 0, 0,192,189, 0, 0, 62,191, 0, 0, 58, 63,152, 14, 70,177, +219, 99, 1, 0, 0, 0, 0, 0, 0, 0, 72,191, 0, 0, 40, 63, 0, 0,141,166,141, 91, 1, 0, 0, 0,192, 61, 0, 0, 64,191, + 0, 0, 42, 63,233,189,224,165, 99, 62, 1, 0, 0, 0,192,189, 0, 0, 64,191, 0, 0, 42, 63, 23, 66,224,165, 99, 62, 1, 0, + 0, 0,192, 61, 0, 0, 80,191, 0, 0, 36, 63,160,169,174, 14, 78, 93, 1, 0, 0, 0,192,189, 0, 0, 80,191, 0, 0, 36, 63, + 96, 86,174, 14, 78, 93, 1, 0, 0, 0, 64, 61, 0, 0, 90,191, 0, 0, 34, 63, 30,214,188, 60,151,104, 1, 0, 0, 0, 64,189, + 0, 0, 90,191, 0, 0, 34, 63,226, 41,188, 60,151,104, 1, 0, 0, 0, 0, 0, 0, 0, 92,191, 0, 0, 34, 63, 0, 0,177, 67, +161,108, 1, 0, 0, 0, 48, 62, 0, 0, 96, 62, 0, 0, 72, 63, 27, 21,134,244,184,125, 1, 0, 0, 0, 48,190, 0, 0, 96, 62, + 0, 0, 72, 63,229,234,134,244,184,125, 1, 0, 0, 0, 64, 62, 0, 0, 32, 62, 0, 0, 70, 63,210,253, 49,248,189,127, 1, 0, + 0, 0, 64,190, 0, 0, 32, 62, 0, 0, 70, 63, 46, 2, 49,248,189,127, 1, 0, 0, 0,172, 62, 0, 0,220, 62, 0, 0, 66, 63, + 53, 21,115, 14,101,125, 1, 0, 0, 0,172,190, 0, 0,220, 62, 0, 0, 66, 63,203,234,115, 14,101,125, 1, 0, 0, 0,140, 62, + 0, 0,216, 62, 0, 0, 70, 63,103, 23,178, 4,192,125, 1, 0, 0, 0,140,190, 0, 0,216, 62, 0, 0, 70, 63,153,232,178, 4, +192,125, 1, 0, 0, 0,216, 62, 0, 0,204, 62, 0, 0, 70, 63, 38, 22,205,241, 67,125, 1, 0, 0, 0,216,190, 0, 0,204, 62, + 0, 0, 70, 63,218,233,205,241, 67,125, 1, 0, 0, 0, 16, 63, 0, 0,180, 62, 0, 0, 50, 63, 51, 39, 96, 4,196,121, 1, 0, + 0, 0, 16,191, 0, 0,180, 62, 0, 0, 50, 63,205,216, 96, 4,196,121, 1, 0, 0, 0, 22, 63, 0, 0,148, 62, 0, 0, 48, 63, +238, 23,158,247,117,125, 1, 0, 0, 0, 22,191, 0, 0,148, 62, 0, 0, 48, 63, 18,232,158,247,117,125, 1, 0, 0, 0, 20, 63, + 0, 0, 72, 62, 0, 0, 46, 63, 69, 38, 13,244,142,121, 1, 0, 0, 0, 20,191, 0, 0, 72, 62, 0, 0, 46, 63,187,217, 13,244, +142,121, 1, 0, 0, 0,244, 62, 0, 0,208, 61, 0, 0, 56, 63,148, 36,144,250,137,122, 1, 0, 0, 0,244,190, 0, 0,208, 61, + 0, 0, 56, 63,108,219,144,250,137,122, 1, 0, 0, 0,192, 62, 0, 0,128, 61, 0, 0, 62, 63,146, 25,123,229,148,122, 1, 0, + 0, 0,192,190, 0, 0,128, 61, 0, 0, 62, 63,110,230,123,229,148,122, 1, 0, 0, 0,104, 62, 0, 0,224, 61, 0, 0, 72, 63, +166, 1, 8,236,106,126, 1, 0, 0, 0,104,190, 0, 0,224, 61, 0, 0, 72, 63, 90,254, 8,236,106,126, 1, 0, 0, 0, 56, 62, + 0, 0,152, 62, 0, 0, 72, 63, 48, 30, 16,242,153,123, 1, 0, 0, 0, 56,190, 0, 0,152, 62, 0, 0, 72, 63,208,225, 16,242, +153,123, 1, 0, 0, 0, 88, 62, 0, 0,192, 62, 0, 0, 72, 63,232, 20, 76,245,210,125, 1, 0, 0, 0, 88,190, 0, 0,192, 62, + 0, 0, 72, 63, 24,235, 76,245,210,125, 1, 0, 0, 0,112, 62, 0, 0,184, 62, 0, 0, 66, 63, 31, 64,221,206, 71, 99, 1, 0, + 0, 0,112,190, 0, 0,184, 62, 0, 0, 66, 63,225,191,221,206, 71, 99, 1, 0, 0, 0, 72, 62, 0, 0,152, 62, 0, 0, 66, 63, +138, 95,174,228,172, 80, 1, 0, 0, 0, 72,190, 0, 0,152, 62, 0, 0, 66, 63,118,160,174,228,172, 80, 1, 0, 0, 0,120, 62, + 0, 0, 0, 62, 0, 0, 66, 63, 84, 54,203, 71,250, 90, 1, 0, 0, 0,120,190, 0, 0, 0, 62, 0, 0, 66, 63,172,201,203, 71, +250, 90, 1, 0, 0, 0,192, 62, 0, 0,176, 61, 0, 0, 58, 63, 14, 19,134, 78, 67, 99, 1, 0, 0, 0,192,190, 0, 0,176, 61, + 0, 0, 58, 63,242,236,134, 78, 67, 99, 1, 0, 0, 0,236, 62, 0, 0,240, 61, 0, 0, 52, 63, 93,245, 83, 69, 17,107, 1, 0, + 0, 0,236,190, 0, 0,240, 61, 0, 0, 52, 63,163, 10, 83, 69, 17,107, 1, 0, 0, 0, 12, 63, 0, 0, 88, 62, 0, 0, 44, 63, + 97,223,176, 28,101,120, 1, 0, 0, 0, 12,191, 0, 0, 88, 62, 0, 0, 44, 63,159, 32,176, 28,101,120, 1, 0, 0, 0, 14, 63, + 0, 0,144, 62, 0, 0, 44, 63,148,210,138,239,134,118, 1, 0, 0, 0, 14,191, 0, 0,144, 62, 0, 0, 44, 63,108, 45,138,239, +134,118, 1, 0, 0, 0, 8, 63, 0, 0,172, 62, 0, 0, 46, 63, 33,231, 38,177,180, 97, 1, 0, 0, 0, 8,191, 0, 0,172, 62, + 0, 0, 46, 63,223, 24, 38,177,180, 97, 1, 0, 0, 0,212, 62, 0, 0,200, 62, 0, 0, 64, 63, 18,238,118,158,234, 80, 1, 0, + 0, 0,212,190, 0, 0,200, 62, 0, 0, 64, 63,238, 17,118,158,234, 80, 1, 0, 0, 0,144, 62, 0, 0,204, 62, 0, 0, 68, 63, + 52, 39, 21,212,166,113, 1, 0, 0, 0,144,190, 0, 0,204, 62, 0, 0, 68, 63,204,216, 21,212,166,113, 1, 0, 0, 0,172, 62, + 0, 0,208, 62, 0, 0, 64, 63, 69, 0,155,192, 49,111, 1, 0, 0, 0,172,190, 0, 0,208, 62, 0, 0, 64, 63,187,255,155,192, + 49,111, 1, 0, 0, 0, 80, 62, 0, 0, 48, 62, 0, 0, 64, 63,255, 87, 17, 38,203, 84, 1, 0, 0, 0, 80,190, 0, 0, 48, 62, + 0, 0, 64, 63, 1,168, 17, 38,203, 84, 1, 0, 0, 0, 72, 62, 0, 0,104, 62, 0, 0, 64, 63, 16,103,234, 1,224, 75, 1, 0, + 0, 0, 72,190, 0, 0,104, 62, 0, 0, 64, 63,240,152,234, 1,224, 75, 1, 0, 0, 0,224, 61, 0, 0,236, 62, 0, 0, 28, 63, +106,191, 91,110,188, 5, 1, 0, 0, 0,224,189, 0, 0,236, 62, 0, 0, 28, 63,150, 64, 91,110,188, 5, 1, 0, 0, 0, 72, 62, + 0, 0, 42, 63, 0, 0, 30, 63,242,194, 70, 65, 98,164, 1, 0, 0, 0, 72,190, 0, 0, 42, 63, 0, 0, 30, 63, 14, 61, 70, 65, + 98,164, 1, 0, 0, 0,172, 62, 0, 0, 48, 63, 0, 0, 24, 63,171, 14,231, 83,118,160, 1, 0, 0, 0,172,190, 0, 0, 48, 63, + 0, 0, 24, 63, 85,241,231, 83,118,160, 1, 0, 0, 0,248, 62, 0, 0, 14, 63, 0, 0, 14, 63,121, 39,247,116, 47,222, 1, 0, + 0, 0,248,190, 0, 0, 14, 63, 0, 0, 14, 63,135,216,247,116, 47,222, 1, 0, 0, 0, 46, 63, 0, 0,232, 62, 0, 0,252, 62, +252, 44, 81,116, 54,227, 1, 0, 0, 0, 46,191, 0, 0,232, 62, 0, 0,252, 62, 4,211, 81,116, 54,227, 1, 0, 0, 0, 76, 63, + 0, 0,208, 62, 0, 0,236, 62,158, 94,220, 76,251,216, 1, 0, 0, 0, 76,191, 0, 0,208, 62, 0, 0,236, 62, 98,161,220, 76, +251,216, 1, 0, 0, 0, 70, 63, 0, 0, 40, 62, 0, 0,192, 62, 59,120,187,216, 97,236, 1, 0, 0, 0, 70,191, 0, 0, 40, 62, + 0, 0,192, 62,197,135,187,216, 97,236, 1, 0, 0, 0, 26, 63, 0, 0, 0, 0, 0, 0,212, 62,213, 73, 49,152,144,243, 1, 0, + 0, 0, 26,191, 0, 0, 0, 0, 0, 0,212, 62, 43,182, 49,152,144,243, 1, 0, 0, 0,224, 62, 0, 0,192,189, 0, 0,240, 62, + 61, 56,195,141,255,242, 1, 0, 0, 0,224,190, 0, 0,192,189, 0, 0,240, 62,195,199,195,141,255,242, 1, 0, 0, 0, 0, 0, + 0, 0,102, 63, 0, 0,148, 62, 0, 0,207,105, 5, 72, 1, 0, 0, 0, 0, 0, 0, 0,124, 63, 0, 0,160,189, 0, 0,246,127, +248, 2, 1, 0, 0, 0, 0, 0, 0, 0, 72,190, 0, 0, 44,191, 0, 0,213,166, 46,164, 1, 0, 0, 0, 0, 0, 0, 0,236,190, + 0, 0, 64, 62, 0, 0,195,129,226,234, 1, 0, 0, 0, 0, 0, 0, 0,122,191, 0, 0,236, 62, 0, 0, 26,147,190,188, 1, 0, + 0, 0, 0, 0, 0, 0, 78,191, 0, 0,176, 62, 0, 0,226,217,208,133, 1, 0, 0, 0, 0, 0, 0, 0, 18,191, 0, 0,164, 62, + 0, 0, 83,215,164,134, 1, 0, 0, 0, 0, 0, 0, 0,248,190, 0, 0,144, 62, 0, 0,243,152, 22,180, 1, 0, 0, 0, 90, 63, + 0, 0,112, 62, 0, 0, 96, 61,243,124, 39,230, 19, 10, 1, 0, 0, 0, 90,191, 0, 0,112, 62, 0, 0, 96, 61, 13,131, 39,230, + 19, 10, 1, 0, 0, 0, 92, 63, 0, 0,164, 62, 0, 0, 64,189,220,127, 45,250,202, 0, 1, 0, 0, 0, 92,191, 0, 0,164, 62, + 0, 0, 64,189, 36,128, 45,250,202, 0, 1, 0, 0, 0, 70, 63, 0, 0,136, 62, 0, 0,224,190, 32, 80,174,252, 62,156, 1, 0, + 0, 0, 70,191, 0, 0,136, 62, 0, 0,224,190,224,175,174,252, 62,156, 1, 0, 0, 0,236, 62, 0, 0,224, 62, 0, 0, 52,191, + 9, 58, 51, 25,189,144, 1, 0, 0, 0,236,190, 0, 0,224, 62, 0, 0, 52,191,247,197, 51, 25,189,144, 1, 0, 0, 0, 60, 63, + 0, 0, 64,189, 0, 0,144, 61,139, 91, 11,167,108, 9, 1, 0, 0, 0, 60,191, 0, 0, 64,189, 0, 0,144, 61,117,164, 11,167, +108, 9, 1, 0, 0, 0, 24, 63, 0, 0, 0,190, 0, 0, 40,190, 32, 35, 32,133,239,248, 1, 0, 0, 0, 24,191, 0, 0, 0,190, + 0, 0, 40,190,224,220, 32,133,239,248, 1, 0, 0, 0, 36, 63, 0, 0, 0,188, 0, 0,220,190,117, 51, 16,177, 97,169, 1, 0, + 0, 0, 36,191, 0, 0, 0,188, 0, 0,220,190,139,204, 16,177, 97,169, 1, 0, 0, 0,172, 62, 0, 0, 96, 61, 0, 0, 42,191, + 58, 54,135,214,188,147, 1, 0, 0, 0,172,190, 0, 0, 96, 61, 0, 0, 42,191,198,201,135,214,188,147, 1, 0, 0, 0,112, 62, + 0, 0,180,190, 0, 0,208, 62,229,122,202,255, 60,220, 1, 0, 0, 0,112,190, 0, 0,180,190, 0, 0,208, 62, 27,133,202,255, + 60,220, 1, 0, 0, 0, 56, 62, 0, 0,212,190, 0, 0,132, 62,236, 92,238,180, 10,210, 1, 0, 0, 0, 56,190, 0, 0,212,190, + 0, 0,132, 62, 20,163,238,180, 10,210, 1, 0, 0, 0,148, 62, 0, 0, 54,191, 0, 0,196, 62,138, 77,170, 2, 52,154, 1, 0, + 0, 0,148,190, 0, 0, 54,191, 0, 0,196, 62,118,178,170, 2, 52,154, 1, 0, 0, 0,128, 62, 0, 0, 0,191, 0, 0,200, 62, +103, 99,206,254, 97,175, 1, 0, 0, 0,128,190, 0, 0, 0,191, 0, 0,200, 62,153,156,206,254, 97,175, 1, 0, 0, 0,168, 62, + 0, 0,106,191, 0, 0,204, 62,129, 71, 28,196, 90,168, 1, 0, 0, 0,168,190, 0, 0,106,191, 0, 0,204, 62,127,184, 28,196, + 90,168, 1, 0, 0, 0, 16, 62, 0, 0, 66,191, 0, 0,188, 62,141, 16, 26,233, 42,131, 1, 0, 0, 0, 16,190, 0, 0, 66,191, + 0, 0,188, 62,115,239, 26,233, 42,131, 1, 0, 0, 0, 0, 62, 0, 0, 10,191, 0, 0,184, 62, 50, 43,143,223,247,139, 1, 0, + 0, 0, 0,190, 0, 0, 10,191, 0, 0,184, 62,206,212,143,223,247,139, 1, 0, 0, 0, 40, 62, 0, 0,114,191, 0, 0,224, 62, +181, 12,181,157, 3,175, 1, 0, 0, 0, 40,190, 0, 0,114,191, 0, 0,224, 62, 75,243,181,157, 3,175, 1, 0, 0, 0, 96, 62, + 0, 0,144,190, 0, 0,220, 62,142,124,137,226, 5, 0, 1, 0, 0, 0, 96,190, 0, 0,144,190, 0, 0,220, 62,114,131,137,226, + 5, 0, 1, 0, 0, 0, 88, 62, 0, 0,104,190, 0, 0,240, 62, 18,122,107,230,193, 28, 1, 0, 0, 0, 88,190, 0, 0,104,190, + 0, 0,240, 62,238,133,107,230,193, 28, 1, 0, 0, 0, 80, 62, 0, 0, 48,190, 0, 0, 0, 63, 49,104, 11,185, 42, 22, 1, 0, + 0, 0, 80,190, 0, 0, 48,190, 0, 0, 0, 63,207,151, 11,185, 42, 22, 1, 0, 0, 0, 88, 62, 0, 0,200,190, 0, 0, 40, 62, + 91, 75,146,152,161,253, 1, 0, 0, 0, 88,190, 0, 0,200,190, 0, 0, 40, 62,165,180,146,152,161,253, 1, 0, 0, 0,152, 62, + 0, 0,160,190, 0, 0,136,190,187, 66, 88,150, 83,228, 1, 0, 0, 0,152,190, 0, 0,160,190, 0, 0,136,190, 69,189, 88,150, + 83,228, 1, 0, 0, 0,176, 62, 0, 0, 24,190, 0, 0, 10,191,113, 66, 21,172,210,185, 1, 0, 0, 0,176,190, 0, 0, 24,190, + 0, 0, 10,191,143,189, 21,172,210,185, 1, 0, 0, 0,232, 62, 0, 0, 94, 63, 0, 0,196,190,129, 54,206,102,175,202, 1, 0, + 0, 0,232,190, 0, 0, 94, 63, 0, 0,196,190,127,201,206,102,175,202, 1, 0, 0, 0,232, 62, 0, 0,110, 63, 0, 0,144,189, +186, 53, 22,116,118, 4, 1, 0, 0, 0,232,190, 0, 0,110, 63, 0, 0,144,189, 70,202, 22,116,118, 4, 1, 0, 0, 0,232, 62, + 0, 0, 90, 63, 0, 0,112, 62, 3, 59,236, 93,221, 63, 1, 0, 0, 0,232,190, 0, 0, 90, 63, 0, 0,112, 62,253,196,236, 93, +221, 63, 1, 0, 0, 0,236, 62, 0, 0, 6, 63, 0, 0,220, 62, 32, 50,252,105, 90, 51, 1, 0, 0, 0,236,190, 0, 0, 6, 63, + 0, 0,220, 62,224,205,252,105, 90, 51, 1, 0, 0, 0, 58, 63, 0, 0,208, 62, 0, 0,172, 62,242, 97,236, 79, 9, 20, 1, 0, + 0, 0, 58,191, 0, 0,208, 62, 0, 0,172, 62, 14,158,236, 79, 9, 20, 1, 0, 0, 0, 34, 63, 0, 0,232, 62, 0, 0,144, 62, +108, 60,141, 99, 28, 53, 1, 0, 0, 0, 34,191, 0, 0,232, 62, 0, 0,144, 62,148,195,141, 99, 28, 53, 1, 0, 0, 0, 36, 63, + 0, 0, 52, 63, 0, 0, 96, 61, 96, 83, 57, 87,177, 42, 1, 0, 0, 0, 36,191, 0, 0, 52, 63, 0, 0, 96, 61,160,172, 57, 87, +177, 42, 1, 0, 0, 0, 76, 63, 0, 0, 16, 63, 0, 0, 0, 62,174, 95, 44, 68,204, 50, 1, 0, 0, 0, 76,191, 0, 0, 16, 63, + 0, 0, 0, 62, 82,160, 44, 68,204, 50, 1, 0, 0, 0, 76, 63, 0, 0, 30, 63, 0, 0,240,189,105,109, 79, 66, 37,252, 1, 0, + 0, 0, 76,191, 0, 0, 30, 63, 0, 0,240,189,151,146, 79, 66, 37,252, 1, 0, 0, 0, 36, 63, 0, 0, 64, 63, 0, 0, 72,190, +226, 86,170, 93, 43,248, 1, 0, 0, 0, 36,191, 0, 0, 64, 63, 0, 0, 72,190, 30,169,170, 93, 43,248, 1, 0, 0, 0, 36, 63, + 0, 0, 46, 63, 0, 0,228,190,111, 82,219, 68,100,186, 1, 0, 0, 0, 36,191, 0, 0, 46, 63, 0, 0,228,190,145,173,219, 68, +100,186, 1, 0, 0, 0, 76, 63, 0, 0, 10, 63, 0, 0,184,190,218,111, 76, 39,195,207, 1, 0, 0, 0, 76,191, 0, 0, 10, 63, + 0, 0,184,190, 38,144, 76, 39,195,207, 1, 0, 0, 0, 30, 63, 0, 0,168, 62, 0, 0, 22,191, 2, 75, 5,254, 79,152, 1, 0, + 0, 0, 30,191, 0, 0,168, 62, 0, 0, 22,191,254,180, 5,254, 79,152, 1, 0, 0, 0,248, 62, 0, 0,192, 60, 0, 0, 12,191, +171, 69,136,192,101,169, 1, 0, 0, 0,248,190, 0, 0,192, 60, 0, 0, 12,191, 85,186,136,192,101,169, 1, 0, 0, 0, 82, 63, + 0, 0,168, 62, 0, 0, 80,190,190,114,245, 38, 55, 41, 1, 0, 0, 0, 82,191, 0, 0,168, 62, 0, 0, 80,190, 66,141,245, 38, + 55, 41, 1, 0, 0, 0,208, 62, 0, 0, 48,190, 0, 0, 24, 62, 89, 73, 32,153,123, 20, 1, 0, 0, 0,208,190, 0, 0, 48,190, + 0, 0, 24, 62,167,182, 32,153,123, 20, 1, 0, 0, 0,220, 62, 0, 0, 72,190, 0, 0, 88,190, 90, 74,132,153, 69,237, 1, 0, + 0, 0,220,190, 0, 0, 72,190, 0, 0, 88,190,166,181,132,153, 69,237, 1, 0, 0, 0,100, 63, 0, 0,208, 62, 0, 0,112,190, + 43,219,144, 94, 0, 78, 1, 0, 0, 0,100,191, 0, 0,208, 62, 0, 0,112,190,213, 36,144, 94, 0, 78, 1, 0, 0, 0, 70, 63, + 0, 0, 16,190, 0, 0, 0,190, 98,250, 11,173, 79, 97, 1, 0, 0, 0, 70,191, 0, 0, 16,190, 0, 0, 0,190,158, 5, 11,173, + 79, 97, 1, 0, 0, 0,133, 63, 0, 0,208,189, 0, 0,168,190,102, 60, 54,156,176, 52, 1, 0, 0, 0,133,191, 0, 0,208,189, + 0, 0,168,190,154,195, 54,156,176, 52, 1, 0, 0, 0,164, 63, 0, 0, 96, 61, 0, 0,220,190, 40, 86, 6,192,194, 69, 1, 0, + 0, 0,164,191, 0, 0, 96, 61, 0, 0,220,190,216,169, 6,192,194, 69, 1, 0, 0, 0,173, 63, 0, 0,164, 62, 0, 0,216,190, + 16,101,233, 22, 32, 75, 1, 0, 0, 0,173,191, 0, 0,164, 62, 0, 0,216,190,240,154,233, 22, 32, 75, 1, 0, 0, 0,158, 63, + 0, 0, 2, 63, 0, 0,216,190, 32, 46, 37,110, 20, 46, 1, 0, 0, 0,158,191, 0, 0, 2, 63, 0, 0,216,190,224,209, 37,110, + 20, 46, 1, 0, 0, 0,131, 63, 0, 0,244, 62, 0, 0,160,190, 21, 2,210,111, 62, 62, 1, 0, 0, 0,131,191, 0, 0,244, 62, + 0, 0,160,190,235,253,210,111, 62, 62, 1, 0, 0, 0,130, 63, 0, 0,212, 62, 0, 0,148,190, 97, 69, 95,247, 54,107, 1, 0, + 0, 0,130,191, 0, 0,212, 62, 0, 0,148,190,159,186, 95,247, 54,107, 1, 0, 0, 0,152, 63, 0, 0,224, 62, 0, 0,200,190, +159, 40, 26,244,203,120, 1, 0, 0, 0,152,191, 0, 0,224, 62, 0, 0,200,190, 97,215, 26,244,203,120, 1, 0, 0, 0,162, 63, + 0, 0,148, 62, 0, 0,208,190,162,240,132,244,140,126, 1, 0, 0, 0,162,191, 0, 0,148, 62, 0, 0,208,190, 94, 15,132,244, +140,126, 1, 0, 0, 0,155, 63, 0, 0,160, 61, 0, 0,208,190,238,252, 16, 35, 15,123, 1, 0, 0, 0,155,191, 0, 0,160, 61, + 0, 0,208,190, 18, 3, 16, 35, 15,123, 1, 0, 0, 0,132, 63, 0, 0, 32,189, 0, 0,156,190,255, 62, 10, 35,196,105, 1, 0, + 0, 0,132,191, 0, 0, 32,189, 0, 0,156,190, 1,193, 10, 35,196,105, 1, 0, 0, 0, 84, 63, 0, 0,144,189, 0, 0, 8,190, +176, 43, 36, 45,132,111, 1, 0, 0, 0, 84,191, 0, 0,144,189, 0, 0, 8,190, 80,212, 36, 45,132,111, 1, 0, 0, 0,108, 63, + 0, 0,184, 62, 0, 0, 96,190,191, 58,236,247,109,113, 1, 0, 0, 0,108,191, 0, 0,184, 62, 0, 0, 96,190, 65,197,236,247, +109,113, 1, 0, 0, 0,114, 63, 0, 0,156, 62, 0, 0,148,190, 9, 88, 45,185, 34, 60, 1, 0, 0, 0,114,191, 0, 0,156, 62, + 0, 0,148,190,247,167, 45,185, 34, 60, 1, 0, 0, 0, 98, 63, 0, 0,192,188, 0, 0, 88,190,210, 29,124,112, 75, 53, 1, 0, + 0, 0, 98,191, 0, 0,192,188, 0, 0, 88,190, 46,226,124,112, 75, 53, 1, 0, 0, 0,133, 63, 0, 0, 0, 0, 0, 0,188,190, +175,234, 24,122,245, 31, 1, 0, 0, 0,133,191, 0, 0, 0, 0, 0, 0,188,190, 81, 21, 24,122,245, 31, 1, 0, 0, 0,152, 63, + 0, 0,192, 61, 0, 0,228,190,141,158,211, 82, 28, 5, 1, 0, 0, 0,152,191, 0, 0,192, 61, 0, 0,228,190,115, 97,211, 82, + 28, 5, 1, 0, 0, 0,158, 63, 0, 0,128, 62, 0, 0,228,190,111,130, 12,244,188, 21, 1, 0, 0, 0,158,191, 0, 0,128, 62, + 0, 0,228,190,145,125, 12,244,188, 21, 1, 0, 0, 0,150, 63, 0, 0,184, 62, 0, 0,224,190,245,237, 22,157, 52, 79, 1, 0, + 0, 0,150,191, 0, 0,184, 62, 0, 0,224,190, 11, 18, 22,157, 52, 79, 1, 0, 0, 0,131, 63, 0, 0,176, 62, 0, 0,184,190, +132, 71,190,171,144, 64, 1, 0, 0, 0,131,191, 0, 0,176, 62, 0, 0,184,190,124,184,190,171,144, 64, 1, 0, 0, 0, 88, 63, + 0, 0,148, 62, 0, 0, 88,190, 16, 95,148,222,236, 78, 1, 0, 0, 0, 88,191, 0, 0,148, 62, 0, 0, 88,190,240,160,148,222, +236, 78, 1, 0, 0, 0, 86, 63, 0, 0, 48, 62, 0, 0,140,190,194, 95,198,181, 68, 41, 1, 0, 0, 0, 86,191, 0, 0, 48, 62, + 0, 0,140,190, 62,160,198,181, 68, 41, 1, 0, 0, 0, 66, 63, 0, 0,192, 61, 0, 0,140,190,238,109,193, 4, 98, 65, 1, 0, + 0, 0, 66,191, 0, 0,192, 61, 0, 0,140,190, 18,146,193, 4, 98, 65, 1, 0, 0, 0, 82, 63, 0, 0,176, 61, 0, 0,140,190, + 91, 73,245, 92,148, 48, 1, 0, 0, 0, 82,191, 0, 0,176, 61, 0, 0,140,190,165,182,245, 92,148, 48, 1, 0, 0, 0, 88, 63, + 0, 0,128, 60, 0, 0,140,190, 27,113, 2,248, 97, 59, 1, 0, 0, 0, 88,191, 0, 0,128, 60, 0, 0,140,190,229,142, 2,248, + 97, 59, 1, 0, 0, 0, 80, 63, 0, 0,128,188, 0, 0,140,190,241, 75,125, 72, 55, 73, 1, 0, 0, 0, 80,191, 0, 0,128,188, + 0, 0,140,190, 15,180,125, 72, 55, 73, 1, 0, 0, 0, 58, 63, 0, 0, 0, 0, 0, 0,144,189, 69,110,138,193, 22,238, 1, 0, + 0, 0, 58,191, 0, 0, 0, 0, 0, 0,144,189,187,145,138,193, 22,238, 1, 0, 0, 0, 56, 63, 0, 0,192,188, 0, 0, 48,190, + 93, 95,240, 10,170, 84, 1, 0, 0, 0, 56,191, 0, 0,192,188, 0, 0, 48,190,163,160,240, 10,170, 84, 1, 0, 0, 0, 56, 63, + 0, 0, 32, 61, 0, 0, 64,190,226,117,157,233,140, 44, 1, 0, 0, 0, 56,191, 0, 0, 32, 61, 0, 0, 64,190, 30,138,157,233, +140, 44, 1, 0, 0, 0, 76, 63, 0, 0, 80, 62, 0, 0, 88,190,156,111,186,201, 79, 31, 1, 0, 0, 0, 76,191, 0, 0, 80, 62, + 0, 0, 88,190,100,144,186,201, 79, 31, 1, 0, 0, 0,100, 63, 0, 0,120, 62, 0, 0,136,190, 32, 89,187,186, 87, 60, 1, 0, + 0, 0,100,191, 0, 0,120, 62, 0, 0,136,190,224,166,187,186, 87, 60, 1, 0, 0, 0,100, 63, 0, 0,112, 62, 0, 0,164,190, + 91, 85, 90,200,118, 77, 1, 0, 0, 0,100,191, 0, 0,112, 62, 0, 0,164,190,165,170, 90,200,118, 77, 1, 0, 0, 0, 80, 63, + 0, 0,128,188, 0, 0,164,190,123, 84,188, 44, 29, 85, 1, 0, 0, 0, 80,191, 0, 0,128,188, 0, 0,164,190,133,171,188, 44, + 29, 85, 1, 0, 0, 0, 90, 63, 0, 0,128, 60, 0, 0,164,190,219, 47, 50, 47,237,108, 1, 0, 0, 0, 90,191, 0, 0,128, 60, + 0, 0,164,190, 37,208, 50, 47,237,108, 1, 0, 0, 0, 84, 63, 0, 0,160, 61, 0, 0,164,190,236, 56,223, 47, 42,104, 1, 0, + 0, 0, 84,191, 0, 0,160, 61, 0, 0,164,190, 20,199,223, 47, 42,104, 1, 0, 0, 0, 68, 63, 0, 0,192, 61, 0, 0,164,190, + 79,100, 44, 32,179, 72, 1, 0, 0, 0, 68,191, 0, 0,192, 61, 0, 0,164,190,177,155, 44, 32,179, 72, 1, 0, 0, 0, 88, 63, + 0, 0, 48, 62, 0, 0,164,190, 35, 73,126,201,202, 89, 1, 0, 0, 0, 88,191, 0, 0, 48, 62, 0, 0,164,190,221,182,126,201, +202, 89, 1, 0, 0, 0,133, 63, 0, 0,168, 62, 0, 0,212,190, 1, 62,211,212, 80,103, 1, 0, 0, 0,133,191, 0, 0,168, 62, + 0, 0,212,190,255,193,211,212, 80,103, 1, 0, 0, 0,152, 63, 0, 0,176, 62, 0, 0,248,190, 51,224,110,181, 12, 99, 1, 0, + 0, 0,152,191, 0, 0,176, 62, 0, 0,248,190,205, 31,110,181, 12, 99, 1, 0, 0, 0,161, 63, 0, 0,120, 62, 0, 0,252,190, +220,160,139,243,182, 84, 1, 0, 0, 0,161,191, 0, 0,120, 62, 0, 0,252,190, 36, 95,139,243,182, 84, 1, 0, 0, 0,155, 63, + 0, 0,176, 61, 0, 0,248,190,253,186,174, 57, 16, 91, 1, 0, 0, 0,155,191, 0, 0,176, 61, 0, 0,248,190, 3, 69,174, 57, + 16, 91, 1, 0, 0, 0,134, 63, 0, 0, 0, 0, 0, 0,216,190, 44, 11,185, 94, 90, 85, 1, 0, 0, 0,134,191, 0, 0, 0, 0, + 0, 0,216,190,212,244,185, 94, 90, 85, 1, 0, 0, 0, 98, 63, 0, 0,128,188, 0, 0,136,190,131,249,213,121,178, 38, 1, 0, + 0, 0, 98,191, 0, 0,128,188, 0, 0,136,190,125, 6,213,121,178, 38, 1, 0, 0, 0,116, 63, 0, 0,148, 62, 0, 0,176,190, + 97, 81,161,203,196, 83, 1, 0, 0, 0,116,191, 0, 0,148, 62, 0, 0,176,190,159,174,161,203,196, 83, 1, 0, 0, 0,100, 63, + 0, 0,224, 61, 0, 0,168,190, 99, 25,168, 0,115,125, 1, 0, 0, 0,100,191, 0, 0,224, 61, 0, 0,168,190,157,230,168, 0, +115,125, 1, 0, 0, 0,112, 63, 0, 0,128, 61, 0, 0,172,190, 86, 49,224, 14, 41,117, 1, 0, 0, 0,112,191, 0, 0,128, 61, + 0, 0,172,190,170,206,224, 14, 41,117, 1, 0, 0, 0,128, 63, 0, 0, 0, 62, 0, 0,188,190, 60, 55,195,251, 98,115, 1, 0, + 0, 0,128,191, 0, 0, 0, 62, 0, 0,188,190,196,200,195,251, 98,115, 1, 0, 0, 0,118, 63, 0, 0, 48, 62, 0, 0,180,190, +255, 41, 6, 0,232,120, 1, 0, 0, 0,118,191, 0, 0, 48, 62, 0, 0,180,190, 1,214, 6, 0,232,120, 1, 0, 0, 0,130, 63, + 0, 0,112, 62, 0, 0,192,190,174, 40,253, 11,196,120, 1, 0, 0, 0,130,191, 0, 0,112, 62, 0, 0,192,190, 82,215,253, 11, +196,120, 1, 0, 0, 0,135, 63, 0, 0, 64, 62, 0, 0,196,190, 32, 44, 47,246,191,119, 1, 0, 0, 0,135,191, 0, 0, 64, 62, + 0, 0,196,190,224,211, 47,246,191,119, 1, 0, 0, 0,142, 63, 0, 0, 88, 62, 0, 0,200,190,222, 55, 67,254, 37,115, 1, 0, + 0, 0,142,191, 0, 0, 88, 62, 0, 0,200,190, 34,200, 67,254, 37,115, 1, 0, 0, 0,139, 63, 0, 0,140, 62, 0, 0,200,190, +188, 45, 37, 38, 75,113, 1, 0, 0, 0,139,191, 0, 0,140, 62, 0, 0,200,190, 68,210, 37, 38, 75,113, 1, 0, 0, 0,131, 63, + 0, 0,224, 62, 0, 0,248,190,139,202,127, 71, 71,164, 1, 0, 0, 0,131,191, 0, 0,224, 62, 0, 0,248,190,117, 53,127, 71, + 71,164, 1, 0, 0, 0,160, 63, 0, 0,240, 62, 0, 0, 12,191, 2, 39,153, 79,172,163, 1, 0, 0, 0,160,191, 0, 0,240, 62, + 0, 0, 12,191,254,216,153, 79,172,163, 1, 0, 0, 0,175, 63, 0, 0,152, 62, 0, 0, 0,191, 49,118,245, 10, 30,208, 1, 0, + 0, 0,175,191, 0, 0,152, 62, 0, 0, 0,191,207,137,245, 10, 30,208, 1, 0, 0, 0,168, 63, 0, 0, 96, 61, 0, 0, 8,191, +182, 78, 54,193,251,176, 1, 0, 0, 0,168,191, 0, 0, 96, 61, 0, 0, 8,191, 74,177, 54,193,251,176, 1, 0, 0, 0,133, 63, + 0, 0,176,189, 0, 0,252,190,165,250,140,166,156,164, 1, 0, 0, 0,133,191, 0, 0,176,189, 0, 0,252,190, 91, 5,140,166, +156,164, 1, 0, 0, 0, 74, 63, 0, 0, 0,190, 0, 0,168,190,203,245,207,147, 96,188, 1, 0, 0, 0, 74,191, 0, 0, 0,190, + 0, 0,168,190, 53, 10,207,147, 96,188, 1, 0, 0, 0, 92, 63, 0, 0,196, 62, 0, 0,196,190, 3,172, 39, 73,240,192, 1, 0, + 0, 0, 92,191, 0, 0,196, 62, 0, 0,196,190,253, 83, 39, 73,240,192, 1, 0, 68, 65, 84, 65,104, 1, 0, 0,200,244, 71, 27, + 1, 0, 0, 0, 93, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 30,109, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 28, 47, 0, 0, 56, 30,109, 3, + 1, 0, 0, 0, 49, 0, 0, 0,237, 3, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 35, 0, 2, 0, 0, 0, 44, 0, 0, 0, 0, 0, 35, 0, 44, 0, 0, 0, 46, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 47, 0, 0, 0, 0, 0, 35, 0, 45, 0, 0, 0, 47, 0, 0, 0, 0, 0, 35, 0, + 3, 0, 0, 0, 45, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 42, 0, 0, 0, + 0, 0, 35, 0, 42, 0, 0, 0, 44, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 43, 0, 0, 0, + 45, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 43, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, + 8, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0, 9, 0, 0, 0, + 0, 0, 35, 0, 3, 0, 0, 0, 9, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 10, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 35, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 9, 0, 0, 0, 0, 0, 35, 0, + 11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 10, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0, 14, 0, 0, 0, + 0, 0, 35, 0, 8, 0, 0, 0, 14, 0, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0, 15, 0, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, + 13, 0, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 15, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 16, 0, 0, 0, 0, 0, 35, 0, + 6, 0, 0, 0, 16, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 17, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0, 17, 0, 0, 0, + 0, 0, 35, 0, 14, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0, + 18, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 21, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 21, 0, 0, 0, 0, 0, 35, 0, + 17, 0, 0, 0, 19, 0, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0, 22, 0, 0, 0, + 0, 0, 35, 0, 21, 0, 0, 0, 23, 0, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0, 23, 0, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0, + 24, 0, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0, 26, 0, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0, 26, 0, 0, 0, 0, 0, 35, 0, + 25, 0, 0, 0, 27, 0, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0, 25, 0, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 27, 0, 0, 0, + 0, 0, 35, 0, 26, 0, 0, 0, 28, 0, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 28, 0, 0, 0, 0, 0, 35, 0, 27, 0, 0, 0, + 29, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 29, 0, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0, 32, 0, 0, 0, 0, 0, 35, 0, + 30, 0, 0, 0, 32, 0, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0, 30, 0, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0, 33, 0, 0, 0, + 0, 0, 35, 0, 27, 0, 0, 0, 33, 0, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0, 31, 0, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0, + 34, 0, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0, 34, 0, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0, 35, 0, 0, 0, 0, 0, 35, 0, + 25, 0, 0, 0, 35, 0, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0, 36, 0, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0, 38, 0, 0, 0, + 0, 0, 35, 0, 32, 0, 0, 0, 38, 0, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0, 39, 0, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0, + 37, 0, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0, 39, 0, 0, 0, 0, 0, 35, 0, 38, 0, 0, 0, 40, 0, 0, 0, 0, 0, 35, 0, + 30, 0, 0, 0, 40, 0, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0, 41, 0, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0, 41, 0, 0, 0, + 0, 0, 35, 0, 38, 0, 0, 0, 44, 0, 0, 0, 0, 0, 35, 0, 40, 0, 0, 0, 42, 0, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0, + 45, 0, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0, 43, 0, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0, 46, 0, 0, 0, 0, 0, 35, 0, + 37, 0, 0, 0, 47, 0, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0, 50, 0, 0, 0, 0, 0, 35, 0, 48, 0, 0, 0, 50, 0, 0, 0, + 0, 0, 35, 0, 46, 0, 0, 0, 48, 0, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0, 51, 0, 0, 0, 0, 0, 35, 0, 47, 0, 0, 0, + 49, 0, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0, 51, 0, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0, 52, 0, 0, 0, 0, 0, 35, 0, + 50, 0, 0, 0, 52, 0, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0, 53, 0, 0, 0, 0, 0, 35, 0, 51, 0, 0, 0, 53, 0, 0, 0, + 0, 0, 35, 0, 24, 0, 0, 0, 54, 0, 0, 0, 0, 0, 35, 0, 52, 0, 0, 0, 54, 0, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0, + 55, 0, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0, 55, 0, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0, 56, 0, 0, 0, 0, 0, 35, 0, + 54, 0, 0, 0, 56, 0, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0, 57, 0, 0, 0, 0, 0, 35, 0, 55, 0, 0, 0, 57, 0, 0, 0, + 0, 0, 35, 0, 12, 0, 0, 0, 58, 0, 0, 0, 0, 0, 35, 0, 56, 0, 0, 0, 58, 0, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0, + 59, 0, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0, 59, 0, 0, 0, 0, 0, 35, 0, 10, 0, 0, 0, 62, 0, 0, 0, 0, 0, 35, 0, + 58, 0, 0, 0, 62, 0, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 63, 0, 0, 0, 0, 0, 35, 0, 59, 0, 0, 0, 63, 0, 0, 0, + 0, 0, 35, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 35, 0, 62, 0, 0, 0, 64, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, + 65, 0, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0, 65, 0, 0, 0, 0, 0, 35, 0, 48, 0, 0, 0, 64, 0, 0, 0, 0, 0, 35, 0, + 49, 0, 0, 0, 65, 0, 0, 0, 0, 0, 35, 0, 60, 0, 0, 0, 64, 0, 0, 0, 0, 0, 35, 0, 48, 0, 0, 0, 60, 0, 0, 0, + 0, 0, 35, 0, 61, 0, 0, 0, 65, 0, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0, 61, 0, 0, 0, 0, 0, 35, 0, 60, 0, 0, 0, + 62, 0, 0, 0, 0, 0, 35, 0, 61, 0, 0, 0, 63, 0, 0, 0, 0, 0, 35, 0, 58, 0, 0, 0, 60, 0, 0, 0, 0, 0, 35, 0, + 59, 0, 0, 0, 61, 0, 0, 0, 0, 0, 35, 0, 56, 0, 0, 0, 60, 0, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0, 61, 0, 0, 0, + 0, 0, 35, 0, 54, 0, 0, 0, 60, 0, 0, 0, 0, 0, 35, 0, 55, 0, 0, 0, 61, 0, 0, 0, 0, 0, 35, 0, 52, 0, 0, 0, + 60, 0, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0, 61, 0, 0, 0, 0, 0, 35, 0, 50, 0, 0, 0, 60, 0, 0, 0, 0, 0, 35, 0, + 51, 0, 0, 0, 61, 0, 0, 0, 0, 0, 35, 0, 88, 0, 0, 0,173, 0, 0, 0, 0, 0, 35, 0,173, 0, 0, 0,175, 0, 0, 0, + 0, 0, 35, 0, 90, 0, 0, 0,175, 0, 0, 0, 0, 0, 35, 0, 88, 0, 0, 0, 90, 0, 0, 0, 0, 0, 35, 0,174, 0, 0, 0, +175, 0, 0, 0, 0, 0, 35, 0, 89, 0, 0, 0,174, 0, 0, 0, 0, 0, 35, 0, 89, 0, 0, 0, 90, 0, 0, 0, 0, 0, 35, 0, + 86, 0, 0, 0,171, 0, 0, 0, 0, 0, 35, 0,171, 0, 0, 0,173, 0, 0, 0, 0, 0, 35, 0, 86, 0, 0, 0, 88, 0, 0, 0, + 0, 0, 35, 0,172, 0, 0, 0,174, 0, 0, 0, 0, 0, 35, 0, 87, 0, 0, 0,172, 0, 0, 0, 0, 0, 35, 0, 87, 0, 0, 0, + 89, 0, 0, 0, 0, 0, 35, 0, 84, 0, 0, 0,169, 0, 0, 0, 0, 0, 35, 0,169, 0, 0, 0,171, 0, 0, 0, 0, 0, 35, 0, + 84, 0, 0, 0, 86, 0, 0, 0, 0, 0, 35, 0,170, 0, 0, 0,172, 0, 0, 0, 0, 0, 35, 0, 85, 0, 0, 0,170, 0, 0, 0, + 0, 0, 35, 0, 85, 0, 0, 0, 87, 0, 0, 0, 0, 0, 35, 0, 82, 0, 0, 0,167, 0, 0, 0, 0, 0, 35, 0,167, 0, 0, 0, +169, 0, 0, 0, 0, 0, 35, 0, 82, 0, 0, 0, 84, 0, 0, 0, 0, 0, 35, 0,168, 0, 0, 0,170, 0, 0, 0, 0, 0, 35, 0, + 83, 0, 0, 0,168, 0, 0, 0, 0, 0, 35, 0, 83, 0, 0, 0, 85, 0, 0, 0, 0, 0, 35, 0, 80, 0, 0, 0,165, 0, 0, 0, + 0, 0, 35, 0,165, 0, 0, 0,167, 0, 0, 0, 0, 0, 35, 0, 80, 0, 0, 0, 82, 0, 0, 0, 0, 0, 35, 0,166, 0, 0, 0, +168, 0, 0, 0, 0, 0, 35, 0, 81, 0, 0, 0,166, 0, 0, 0, 0, 0, 35, 0, 81, 0, 0, 0, 83, 0, 0, 0, 0, 0, 35, 0, + 78, 0, 0, 0, 91, 0, 0, 0, 0, 0, 35, 0, 91, 0, 0, 0,145, 0, 0, 0, 0, 0, 35, 0,145, 0, 0, 0,163, 0, 0, 0, + 0, 0, 35, 0, 78, 0, 0, 0,163, 0, 0, 0, 0, 0, 35, 0, 92, 0, 0, 0,146, 0, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0, + 92, 0, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0,164, 0, 0, 0, 0, 0, 35, 0,146, 0, 0, 0,164, 0, 0, 0, 0, 0, 35, 0, + 91, 0, 0, 0, 93, 0, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0,147, 0, 0, 0, 0, 0, 35, 0,145, 0, 0, 0,147, 0, 0, 0, + 0, 0, 35, 0, 94, 0, 0, 0,148, 0, 0, 0, 0, 0, 35, 0, 92, 0, 0, 0, 94, 0, 0, 0, 0, 0, 35, 0,146, 0, 0, 0, +148, 0, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0, 95, 0, 0, 0, 0, 0, 35, 0, 95, 0, 0, 0,149, 0, 0, 0, 0, 0, 35, 0, +147, 0, 0, 0,149, 0, 0, 0, 0, 0, 35, 0, 96, 0, 0, 0,150, 0, 0, 0, 0, 0, 35, 0, 94, 0, 0, 0, 96, 0, 0, 0, + 0, 0, 35, 0,148, 0, 0, 0,150, 0, 0, 0, 0, 0, 35, 0, 95, 0, 0, 0, 97, 0, 0, 0, 0, 0, 35, 0, 97, 0, 0, 0, +151, 0, 0, 0, 0, 0, 35, 0,149, 0, 0, 0,151, 0, 0, 0, 0, 0, 35, 0, 98, 0, 0, 0,152, 0, 0, 0, 0, 0, 35, 0, + 96, 0, 0, 0, 98, 0, 0, 0, 0, 0, 35, 0,150, 0, 0, 0,152, 0, 0, 0, 0, 0, 35, 0, 97, 0, 0, 0, 99, 0, 0, 0, + 0, 0, 35, 0, 99, 0, 0, 0,153, 0, 0, 0, 0, 0, 35, 0,151, 0, 0, 0,153, 0, 0, 0, 0, 0, 35, 0,100, 0, 0, 0, +154, 0, 0, 0, 0, 0, 35, 0, 98, 0, 0, 0,100, 0, 0, 0, 0, 0, 35, 0,152, 0, 0, 0,154, 0, 0, 0, 0, 0, 35, 0, + 99, 0, 0, 0,101, 0, 0, 0, 0, 0, 35, 0,101, 0, 0, 0,155, 0, 0, 0, 0, 0, 35, 0,153, 0, 0, 0,155, 0, 0, 0, + 0, 0, 35, 0,102, 0, 0, 0,156, 0, 0, 0, 0, 0, 35, 0,100, 0, 0, 0,102, 0, 0, 0, 0, 0, 35, 0,154, 0, 0, 0, +156, 0, 0, 0, 0, 0, 35, 0,101, 0, 0, 0,103, 0, 0, 0, 0, 0, 35, 0,103, 0, 0, 0,157, 0, 0, 0, 0, 0, 35, 0, +155, 0, 0, 0,157, 0, 0, 0, 0, 0, 35, 0,104, 0, 0, 0,158, 0, 0, 0, 0, 0, 35, 0,102, 0, 0, 0,104, 0, 0, 0, + 0, 0, 35, 0,156, 0, 0, 0,158, 0, 0, 0, 0, 0, 35, 0,103, 0, 0, 0,105, 0, 0, 0, 0, 0, 35, 0,105, 0, 0, 0, +159, 0, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,159, 0, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,160, 0, 0, 0, 0, 0, 35, 0, +104, 0, 0, 0,106, 0, 0, 0, 0, 0, 35, 0,158, 0, 0, 0,160, 0, 0, 0, 0, 0, 35, 0,105, 0, 0, 0,107, 0, 0, 0, + 0, 0, 35, 0,107, 0, 0, 0,161, 0, 0, 0, 0, 0, 35, 0,159, 0, 0, 0,161, 0, 0, 0, 0, 0, 35, 0,108, 0, 0, 0, +162, 0, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,108, 0, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,162, 0, 0, 0, 0, 0, 35, 0, + 66, 0, 0, 0,107, 0, 0, 0, 0, 0, 35, 0, 66, 0, 0, 0, 67, 0, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0,161, 0, 0, 0, + 0, 0, 35, 0, 66, 0, 0, 0,108, 0, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0,162, 0, 0, 0, 0, 0, 35, 0,109, 0, 0, 0, +127, 0, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,159, 0, 0, 0, 0, 0, 35, 0,109, 0, 0, 0,161, 0, 0, 0, 0, 0, 35, 0, +128, 0, 0, 0,160, 0, 0, 0, 0, 0, 35, 0,110, 0, 0, 0,128, 0, 0, 0, 0, 0, 35, 0,110, 0, 0, 0,162, 0, 0, 0, + 0, 0, 35, 0,127, 0, 0, 0,178, 0, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,178, 0, 0, 0, 0, 0, 35, 0,158, 0, 0, 0, +179, 0, 0, 0, 0, 0, 35, 0,128, 0, 0, 0,179, 0, 0, 0, 0, 0, 35, 0,125, 0, 0, 0,155, 0, 0, 0, 0, 0, 35, 0, +125, 0, 0, 0,178, 0, 0, 0, 0, 0, 35, 0,126, 0, 0, 0,156, 0, 0, 0, 0, 0, 35, 0,126, 0, 0, 0,179, 0, 0, 0, + 0, 0, 35, 0,123, 0, 0, 0,153, 0, 0, 0, 0, 0, 35, 0,123, 0, 0, 0,125, 0, 0, 0, 0, 0, 35, 0,124, 0, 0, 0, +154, 0, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,126, 0, 0, 0, 0, 0, 35, 0,121, 0, 0, 0,151, 0, 0, 0, 0, 0, 35, 0, +121, 0, 0, 0,123, 0, 0, 0, 0, 0, 35, 0,122, 0, 0, 0,152, 0, 0, 0, 0, 0, 35, 0,122, 0, 0, 0,124, 0, 0, 0, + 0, 0, 35, 0,119, 0, 0, 0,149, 0, 0, 0, 0, 0, 35, 0,119, 0, 0, 0,121, 0, 0, 0, 0, 0, 35, 0,120, 0, 0, 0, +150, 0, 0, 0, 0, 0, 35, 0,120, 0, 0, 0,122, 0, 0, 0, 0, 0, 35, 0,117, 0, 0, 0,147, 0, 0, 0, 0, 0, 35, 0, +117, 0, 0, 0,119, 0, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,148, 0, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,120, 0, 0, 0, + 0, 0, 35, 0,115, 0, 0, 0,145, 0, 0, 0, 0, 0, 35, 0,115, 0, 0, 0,117, 0, 0, 0, 0, 0, 35, 0,116, 0, 0, 0, +146, 0, 0, 0, 0, 0, 35, 0,116, 0, 0, 0,118, 0, 0, 0, 0, 0, 35, 0,113, 0, 0, 0,163, 0, 0, 0, 0, 0, 35, 0, +113, 0, 0, 0,115, 0, 0, 0, 0, 0, 35, 0,114, 0, 0, 0,164, 0, 0, 0, 0, 0, 35, 0,114, 0, 0, 0,116, 0, 0, 0, + 0, 0, 35, 0,113, 0, 0, 0,180, 0, 0, 0, 0, 0, 35, 0,176, 0, 0, 0,180, 0, 0, 0, 0, 0, 35, 0,163, 0, 0, 0, +176, 0, 0, 0, 0, 0, 35, 0,176, 0, 0, 0,181, 0, 0, 0, 0, 0, 35, 0,114, 0, 0, 0,181, 0, 0, 0, 0, 0, 35, 0, +164, 0, 0, 0,176, 0, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0,111, 0, 0, 0, 0, 0, 35, 0,109, 0, 0, 0,111, 0, 0, 0, + 0, 0, 35, 0,110, 0, 0, 0,112, 0, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0,112, 0, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0, +177, 0, 0, 0, 0, 0, 35, 0,177, 0, 0, 0,182, 0, 0, 0, 0, 0, 35, 0,111, 0, 0, 0,182, 0, 0, 0, 0, 0, 35, 0, +112, 0, 0, 0,183, 0, 0, 0, 0, 0, 35, 0,177, 0, 0, 0,183, 0, 0, 0, 0, 0, 35, 0,180, 0, 0, 0,182, 0, 0, 0, + 0, 0, 35, 0,176, 0, 0, 0,177, 0, 0, 0, 0, 0, 33, 0,181, 0, 0, 0,183, 0, 0, 0, 0, 0, 35, 0,134, 0, 0, 0, +136, 0, 0, 0, 0, 0, 35, 0,136, 0, 0, 0,175, 0, 0, 0, 0, 0, 35, 0,134, 0, 0, 0,173, 0, 0, 0, 0, 0, 35, 0, +135, 0, 0, 0,136, 0, 0, 0, 0, 0, 35, 0,135, 0, 0, 0,174, 0, 0, 0, 0, 0, 35, 0,132, 0, 0, 0,134, 0, 0, 0, + 0, 0, 35, 0,132, 0, 0, 0,171, 0, 0, 0, 0, 0, 35, 0,133, 0, 0, 0,135, 0, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, +172, 0, 0, 0, 0, 0, 35, 0,130, 0, 0, 0,132, 0, 0, 0, 0, 0, 35, 0,130, 0, 0, 0,169, 0, 0, 0, 0, 0, 35, 0, +131, 0, 0, 0,133, 0, 0, 0, 0, 0, 35, 0,131, 0, 0, 0,170, 0, 0, 0, 0, 0, 35, 0,165, 0, 0, 0,186, 0, 0, 0, + 0, 0, 35, 0,184, 0, 0, 0,186, 0, 0, 0, 0, 0, 35, 0,167, 0, 0, 0,184, 0, 0, 0, 0, 0, 35, 0,185, 0, 0, 0, +187, 0, 0, 0, 0, 0, 35, 0,166, 0, 0, 0,187, 0, 0, 0, 0, 0, 35, 0,168, 0, 0, 0,185, 0, 0, 0, 0, 0, 35, 0, +130, 0, 0, 0,184, 0, 0, 0, 0, 0, 35, 0,131, 0, 0, 0,185, 0, 0, 0, 0, 0, 35, 0,143, 0, 0, 0,189, 0, 0, 0, + 0, 0, 35, 0,188, 0, 0, 0,189, 0, 0, 0, 0, 0, 33, 0,186, 0, 0, 0,188, 0, 0, 0, 0, 0, 35, 0,143, 0, 0, 0, +186, 0, 0, 0, 0, 0, 35, 0,144, 0, 0, 0,189, 0, 0, 0, 0, 0, 35, 0,144, 0, 0, 0,187, 0, 0, 0, 0, 0, 35, 0, +187, 0, 0, 0,188, 0, 0, 0, 0, 0, 35, 0, 68, 0, 0, 0,188, 0, 0, 0, 0, 0, 33, 0, 68, 0, 0, 0,184, 0, 0, 0, + 0, 0, 35, 0, 68, 0, 0, 0,185, 0, 0, 0, 0, 0, 35, 0,129, 0, 0, 0,130, 0, 0, 0, 0, 0, 35, 0, 68, 0, 0, 0, +129, 0, 0, 0, 0, 0, 33, 0,129, 0, 0, 0,131, 0, 0, 0, 0, 0, 35, 0,141, 0, 0, 0,192, 0, 0, 0, 0, 0, 35, 0, +190, 0, 0, 0,192, 0, 0, 0, 0, 0, 35, 0,143, 0, 0, 0,190, 0, 0, 0, 0, 0, 35, 0,141, 0, 0, 0,143, 0, 0, 0, + 0, 0, 35, 0,191, 0, 0, 0,193, 0, 0, 0, 0, 0, 35, 0,142, 0, 0, 0,193, 0, 0, 0, 0, 0, 35, 0,142, 0, 0, 0, +144, 0, 0, 0, 0, 0, 35, 0,144, 0, 0, 0,191, 0, 0, 0, 0, 0, 35, 0,139, 0, 0, 0,194, 0, 0, 0, 0, 0, 35, 0, +192, 0, 0, 0,194, 0, 0, 0, 0, 0, 35, 0,139, 0, 0, 0,141, 0, 0, 0, 0, 0, 35, 0,193, 0, 0, 0,195, 0, 0, 0, + 0, 0, 35, 0,140, 0, 0, 0,195, 0, 0, 0, 0, 0, 35, 0,140, 0, 0, 0,142, 0, 0, 0, 0, 0, 35, 0,138, 0, 0, 0, +196, 0, 0, 0, 0, 0, 35, 0,194, 0, 0, 0,196, 0, 0, 0, 0, 0, 35, 0,138, 0, 0, 0,139, 0, 0, 0, 0, 0, 35, 0, +195, 0, 0, 0,197, 0, 0, 0, 0, 0, 35, 0,138, 0, 0, 0,197, 0, 0, 0, 0, 0, 35, 0,138, 0, 0, 0,140, 0, 0, 0, + 0, 0, 35, 0, 70, 0, 0, 0,137, 0, 0, 0, 0, 0, 35, 0, 70, 0, 0, 0,196, 0, 0, 0, 0, 0, 35, 0,137, 0, 0, 0, +138, 0, 0, 0, 0, 0, 35, 0, 70, 0, 0, 0,197, 0, 0, 0, 0, 0, 35, 0, 69, 0, 0, 0,190, 0, 0, 0, 0, 0, 35, 0, + 69, 0, 0, 0,189, 0, 0, 0, 0, 0, 35, 0, 69, 0, 0, 0,191, 0, 0, 0, 0, 0, 35, 0,190, 0, 0, 0,205, 0, 0, 0, + 0, 0, 35, 0,205, 0, 0, 0,207, 0, 0, 0, 0, 0, 35, 0, 69, 0, 0, 0,207, 0, 0, 0, 0, 0, 35, 0,191, 0, 0, 0, +206, 0, 0, 0, 0, 0, 35, 0,206, 0, 0, 0,207, 0, 0, 0, 0, 0, 35, 0, 70, 0, 0, 0,198, 0, 0, 0, 0, 0, 35, 0, +198, 0, 0, 0,199, 0, 0, 0, 0, 0, 35, 0,196, 0, 0, 0,199, 0, 0, 0, 0, 0, 35, 0,198, 0, 0, 0,200, 0, 0, 0, + 0, 0, 35, 0,197, 0, 0, 0,200, 0, 0, 0, 0, 0, 35, 0,199, 0, 0, 0,201, 0, 0, 0, 0, 0, 35, 0,194, 0, 0, 0, +201, 0, 0, 0, 0, 0, 35, 0,200, 0, 0, 0,202, 0, 0, 0, 0, 0, 35, 0,195, 0, 0, 0,202, 0, 0, 0, 0, 0, 35, 0, +201, 0, 0, 0,203, 0, 0, 0, 0, 0, 35, 0,192, 0, 0, 0,203, 0, 0, 0, 0, 0, 35, 0,202, 0, 0, 0,204, 0, 0, 0, + 0, 0, 35, 0,193, 0, 0, 0,204, 0, 0, 0, 0, 0, 35, 0,203, 0, 0, 0,205, 0, 0, 0, 0, 0, 35, 0,204, 0, 0, 0, +206, 0, 0, 0, 0, 0, 35, 0,198, 0, 0, 0,203, 0, 0, 0, 0, 0, 35, 0,198, 0, 0, 0,204, 0, 0, 0, 0, 0, 35, 0, +198, 0, 0, 0,207, 0, 0, 0, 0, 0, 35, 0,139, 0, 0, 0,163, 0, 0, 0, 0, 0, 35, 0,138, 0, 0, 0,176, 0, 0, 0, + 0, 0, 35, 0,140, 0, 0, 0,164, 0, 0, 0, 0, 0, 35, 0,141, 0, 0, 0,210, 0, 0, 0, 0, 0, 35, 0,163, 0, 0, 0, +210, 0, 0, 0, 0, 0, 35, 0,142, 0, 0, 0,211, 0, 0, 0, 0, 0, 35, 0,164, 0, 0, 0,211, 0, 0, 0, 0, 0, 35, 0, +143, 0, 0, 0,212, 0, 0, 0, 0, 0, 35, 0,210, 0, 0, 0,212, 0, 0, 0, 0, 0, 35, 0,144, 0, 0, 0,213, 0, 0, 0, + 0, 0, 35, 0,211, 0, 0, 0,213, 0, 0, 0, 0, 0, 35, 0,165, 0, 0, 0,212, 0, 0, 0, 0, 0, 35, 0,166, 0, 0, 0, +213, 0, 0, 0, 0, 0, 35, 0, 80, 0, 0, 0,208, 0, 0, 0, 0, 0, 35, 0,208, 0, 0, 0,212, 0, 0, 0, 0, 0, 35, 0, +209, 0, 0, 0,213, 0, 0, 0, 0, 0, 35, 0, 81, 0, 0, 0,209, 0, 0, 0, 0, 0, 35, 0,208, 0, 0, 0,214, 0, 0, 0, + 0, 0, 35, 0,210, 0, 0, 0,214, 0, 0, 0, 0, 0, 35, 0,211, 0, 0, 0,215, 0, 0, 0, 0, 0, 35, 0,209, 0, 0, 0, +215, 0, 0, 0, 0, 0, 35, 0, 78, 0, 0, 0,214, 0, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0,215, 0, 0, 0, 0, 0, 35, 0, + 71, 0, 0, 0,129, 0, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0,221, 0, 0, 0, 0, 0, 35, 0,130, 0, 0, 0,221, 0, 0, 0, + 0, 0, 35, 0,131, 0, 0, 0,222, 0, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0,222, 0, 0, 0, 0, 0, 35, 0,219, 0, 0, 0, +221, 0, 0, 0, 0, 0, 35, 0,132, 0, 0, 0,219, 0, 0, 0, 0, 0, 35, 0,133, 0, 0, 0,220, 0, 0, 0, 0, 0, 35, 0, +220, 0, 0, 0,222, 0, 0, 0, 0, 0, 35, 0,217, 0, 0, 0,219, 0, 0, 0, 0, 0, 35, 0,134, 0, 0, 0,217, 0, 0, 0, + 0, 0, 35, 0,135, 0, 0, 0,218, 0, 0, 0, 0, 0, 35, 0,218, 0, 0, 0,220, 0, 0, 0, 0, 0, 35, 0,216, 0, 0, 0, +217, 0, 0, 0, 0, 0, 35, 0,136, 0, 0, 0,216, 0, 0, 0, 0, 0, 35, 0,216, 0, 0, 0,218, 0, 0, 0, 0, 0, 35, 0, +217, 0, 0, 0,228, 0, 0, 0, 0, 0, 35, 0,228, 0, 0, 0,230, 0, 0, 0, 0, 0, 35, 0,216, 0, 0, 0,230, 0, 0, 0, + 0, 0, 35, 0,218, 0, 0, 0,229, 0, 0, 0, 0, 0, 35, 0,229, 0, 0, 0,230, 0, 0, 0, 0, 0, 35, 0,219, 0, 0, 0, +226, 0, 0, 0, 0, 0, 35, 0,226, 0, 0, 0,228, 0, 0, 0, 0, 0, 35, 0,220, 0, 0, 0,227, 0, 0, 0, 0, 0, 35, 0, +227, 0, 0, 0,229, 0, 0, 0, 0, 0, 35, 0,221, 0, 0, 0,224, 0, 0, 0, 0, 0, 35, 0,224, 0, 0, 0,226, 0, 0, 0, + 0, 0, 35, 0,222, 0, 0, 0,225, 0, 0, 0, 0, 0, 35, 0,225, 0, 0, 0,227, 0, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0, +223, 0, 0, 0, 0, 0, 35, 0,223, 0, 0, 0,224, 0, 0, 0, 0, 0, 35, 0,223, 0, 0, 0,225, 0, 0, 0, 0, 0, 35, 0, +223, 0, 0, 0,230, 0, 0, 0, 0, 0, 35, 0,224, 0, 0, 0,228, 0, 0, 0, 0, 0, 35, 0,225, 0, 0, 0,229, 0, 0, 0, + 0, 0, 35, 0,180, 0, 0, 0,233, 0, 0, 0, 0, 0, 35, 0,231, 0, 0, 0,233, 0, 0, 0, 0, 0, 35, 0,182, 0, 0, 0, +231, 0, 0, 0, 0, 0, 35, 0,181, 0, 0, 0,234, 0, 0, 0, 0, 0, 35, 0,183, 0, 0, 0,232, 0, 0, 0, 0, 0, 35, 0, +232, 0, 0, 0,234, 0, 0, 0, 0, 0, 35, 0,231, 0, 0, 0,253, 0, 0, 0, 0, 0, 35, 0,111, 0, 0, 0,253, 0, 0, 0, + 0, 0, 35, 0,112, 0, 0, 0,254, 0, 0, 0, 0, 0, 35, 0,232, 0, 0, 0,254, 0, 0, 0, 0, 0, 35, 0,253, 0, 0, 0, +255, 0, 0, 0, 0, 0, 35, 0,109, 0, 0, 0,255, 0, 0, 0, 0, 0, 35, 0,110, 0, 0, 0, 0, 1, 0, 0, 0, 0, 35, 0, +254, 0, 0, 0, 0, 1, 0, 0, 0, 0, 35, 0,113, 0, 0, 0,251, 0, 0, 0, 0, 0, 35, 0,233, 0, 0, 0,251, 0, 0, 0, + 0, 0, 35, 0,114, 0, 0, 0,252, 0, 0, 0, 0, 0, 35, 0,234, 0, 0, 0,252, 0, 0, 0, 0, 0, 35, 0,115, 0, 0, 0, +249, 0, 0, 0, 0, 0, 35, 0,249, 0, 0, 0,251, 0, 0, 0, 0, 0, 35, 0,116, 0, 0, 0,250, 0, 0, 0, 0, 0, 35, 0, +250, 0, 0, 0,252, 0, 0, 0, 0, 0, 35, 0,117, 0, 0, 0,247, 0, 0, 0, 0, 0, 35, 0,247, 0, 0, 0,249, 0, 0, 0, + 0, 0, 35, 0,118, 0, 0, 0,248, 0, 0, 0, 0, 0, 35, 0,248, 0, 0, 0,250, 0, 0, 0, 0, 0, 35, 0,119, 0, 0, 0, +245, 0, 0, 0, 0, 0, 35, 0,245, 0, 0, 0,247, 0, 0, 0, 0, 0, 35, 0,120, 0, 0, 0,246, 0, 0, 0, 0, 0, 35, 0, +246, 0, 0, 0,248, 0, 0, 0, 0, 0, 35, 0,121, 0, 0, 0,243, 0, 0, 0, 0, 0, 35, 0,243, 0, 0, 0,245, 0, 0, 0, + 0, 0, 35, 0,122, 0, 0, 0,244, 0, 0, 0, 0, 0, 35, 0,244, 0, 0, 0,246, 0, 0, 0, 0, 0, 35, 0,123, 0, 0, 0, +241, 0, 0, 0, 0, 0, 35, 0,241, 0, 0, 0,243, 0, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,242, 0, 0, 0, 0, 0, 35, 0, +242, 0, 0, 0,244, 0, 0, 0, 0, 0, 35, 0,125, 0, 0, 0,239, 0, 0, 0, 0, 0, 35, 0,239, 0, 0, 0,241, 0, 0, 0, + 0, 0, 35, 0,126, 0, 0, 0,240, 0, 0, 0, 0, 0, 35, 0,240, 0, 0, 0,242, 0, 0, 0, 0, 0, 35, 0,178, 0, 0, 0, +235, 0, 0, 0, 0, 0, 35, 0,235, 0, 0, 0,239, 0, 0, 0, 0, 0, 35, 0,179, 0, 0, 0,236, 0, 0, 0, 0, 0, 35, 0, +236, 0, 0, 0,240, 0, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,237, 0, 0, 0, 0, 0, 35, 0,235, 0, 0, 0,237, 0, 0, 0, + 0, 0, 35, 0,128, 0, 0, 0,238, 0, 0, 0, 0, 0, 35, 0,236, 0, 0, 0,238, 0, 0, 0, 0, 0, 35, 0,237, 0, 0, 0, +255, 0, 0, 0, 0, 0, 35, 0,238, 0, 0, 0, 0, 1, 0, 0, 0, 0, 35, 0,255, 0, 0, 0, 1, 1, 0, 0, 0, 0, 35, 0, + 1, 1, 0, 0, 19, 1, 0, 0, 0, 0, 35, 0,237, 0, 0, 0, 19, 1, 0, 0, 0, 0, 35, 0, 0, 1, 0, 0, 2, 1, 0, 0, + 0, 0, 35, 0,238, 0, 0, 0, 20, 1, 0, 0, 0, 0, 35, 0, 2, 1, 0, 0, 20, 1, 0, 0, 0, 0, 35, 0, 19, 1, 0, 0, + 21, 1, 0, 0, 0, 0, 35, 0,235, 0, 0, 0, 21, 1, 0, 0, 0, 0, 35, 0,236, 0, 0, 0, 22, 1, 0, 0, 0, 0, 35, 0, + 20, 1, 0, 0, 22, 1, 0, 0, 0, 0, 35, 0, 17, 1, 0, 0, 21, 1, 0, 0, 0, 0, 35, 0,239, 0, 0, 0, 17, 1, 0, 0, + 0, 0, 35, 0,240, 0, 0, 0, 18, 1, 0, 0, 0, 0, 35, 0, 18, 1, 0, 0, 22, 1, 0, 0, 0, 0, 35, 0, 15, 1, 0, 0, + 17, 1, 0, 0, 0, 0, 35, 0,241, 0, 0, 0, 15, 1, 0, 0, 0, 0, 35, 0,242, 0, 0, 0, 16, 1, 0, 0, 0, 0, 35, 0, + 16, 1, 0, 0, 18, 1, 0, 0, 0, 0, 35, 0, 13, 1, 0, 0, 15, 1, 0, 0, 0, 0, 35, 0,243, 0, 0, 0, 13, 1, 0, 0, + 0, 0, 35, 0,244, 0, 0, 0, 14, 1, 0, 0, 0, 0, 35, 0, 14, 1, 0, 0, 16, 1, 0, 0, 0, 0, 35, 0, 11, 1, 0, 0, + 13, 1, 0, 0, 0, 0, 35, 0,245, 0, 0, 0, 11, 1, 0, 0, 0, 0, 35, 0,246, 0, 0, 0, 12, 1, 0, 0, 0, 0, 35, 0, + 12, 1, 0, 0, 14, 1, 0, 0, 0, 0, 35, 0, 9, 1, 0, 0, 11, 1, 0, 0, 0, 0, 35, 0,247, 0, 0, 0, 9, 1, 0, 0, + 0, 0, 35, 0,248, 0, 0, 0, 10, 1, 0, 0, 0, 0, 35, 0, 10, 1, 0, 0, 12, 1, 0, 0, 0, 0, 35, 0, 7, 1, 0, 0, + 9, 1, 0, 0, 0, 0, 35, 0,249, 0, 0, 0, 7, 1, 0, 0, 0, 0, 35, 0,250, 0, 0, 0, 8, 1, 0, 0, 0, 0, 35, 0, + 8, 1, 0, 0, 10, 1, 0, 0, 0, 0, 35, 0, 5, 1, 0, 0, 7, 1, 0, 0, 0, 0, 35, 0,251, 0, 0, 0, 5, 1, 0, 0, + 0, 0, 35, 0,252, 0, 0, 0, 6, 1, 0, 0, 0, 0, 35, 0, 6, 1, 0, 0, 8, 1, 0, 0, 0, 0, 35, 0, 5, 1, 0, 0, + 23, 1, 0, 0, 0, 0, 35, 0,233, 0, 0, 0, 23, 1, 0, 0, 0, 0, 35, 0,234, 0, 0, 0, 24, 1, 0, 0, 0, 0, 35, 0, + 6, 1, 0, 0, 24, 1, 0, 0, 0, 0, 35, 0,253, 0, 0, 0, 3, 1, 0, 0, 0, 0, 35, 0, 1, 1, 0, 0, 3, 1, 0, 0, + 0, 0, 35, 0,254, 0, 0, 0, 4, 1, 0, 0, 0, 0, 35, 0, 2, 1, 0, 0, 4, 1, 0, 0, 0, 0, 35, 0,231, 0, 0, 0, + 25, 1, 0, 0, 0, 0, 35, 0, 3, 1, 0, 0, 25, 1, 0, 0, 0, 0, 35, 0,232, 0, 0, 0, 26, 1, 0, 0, 0, 0, 35, 0, + 4, 1, 0, 0, 26, 1, 0, 0, 0, 0, 35, 0, 23, 1, 0, 0, 25, 1, 0, 0, 0, 0, 35, 0, 24, 1, 0, 0, 26, 1, 0, 0, + 0, 0, 35, 0,107, 0, 0, 0, 27, 1, 0, 0, 0, 0, 35, 0, 72, 0, 0, 0, 27, 1, 0, 0, 0, 0, 35, 0, 66, 0, 0, 0, + 72, 0, 0, 0, 0, 0, 35, 0,108, 0, 0, 0, 28, 1, 0, 0, 0, 0, 35, 0, 72, 0, 0, 0, 28, 1, 0, 0, 0, 0, 35, 0, +105, 0, 0, 0, 29, 1, 0, 0, 0, 0, 35, 0, 27, 1, 0, 0, 29, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0, 30, 1, 0, 0, + 0, 0, 35, 0, 28, 1, 0, 0, 30, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0, 31, 1, 0, 0, 0, 0, 35, 0, 29, 1, 0, 0, + 31, 1, 0, 0, 0, 0, 35, 0,104, 0, 0, 0, 32, 1, 0, 0, 0, 0, 35, 0, 30, 1, 0, 0, 32, 1, 0, 0, 0, 0, 35, 0, +101, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 0, 31, 1, 0, 0, 33, 1, 0, 0, 0, 0, 35, 0,102, 0, 0, 0, 34, 1, 0, 0, + 0, 0, 35, 0, 32, 1, 0, 0, 34, 1, 0, 0, 0, 0, 35, 0, 99, 0, 0, 0, 35, 1, 0, 0, 0, 0, 35, 0, 33, 1, 0, 0, + 35, 1, 0, 0, 0, 0, 35, 0,100, 0, 0, 0, 36, 1, 0, 0, 0, 0, 35, 0, 34, 1, 0, 0, 36, 1, 0, 0, 0, 0, 35, 0, + 97, 0, 0, 0, 37, 1, 0, 0, 0, 0, 35, 0, 35, 1, 0, 0, 37, 1, 0, 0, 0, 0, 35, 0, 98, 0, 0, 0, 38, 1, 0, 0, + 0, 0, 35, 0, 36, 1, 0, 0, 38, 1, 0, 0, 0, 0, 35, 0, 95, 0, 0, 0, 39, 1, 0, 0, 0, 0, 35, 0, 37, 1, 0, 0, + 39, 1, 0, 0, 0, 0, 35, 0, 96, 0, 0, 0, 40, 1, 0, 0, 0, 0, 35, 0, 38, 1, 0, 0, 40, 1, 0, 0, 0, 0, 35, 0, + 93, 0, 0, 0, 41, 1, 0, 0, 0, 0, 35, 0, 39, 1, 0, 0, 41, 1, 0, 0, 0, 0, 35, 0, 94, 0, 0, 0, 42, 1, 0, 0, + 0, 0, 35, 0, 40, 1, 0, 0, 42, 1, 0, 0, 0, 0, 35, 0, 91, 0, 0, 0, 43, 1, 0, 0, 0, 0, 35, 0, 41, 1, 0, 0, + 43, 1, 0, 0, 0, 0, 35, 0, 92, 0, 0, 0, 44, 1, 0, 0, 0, 0, 35, 0, 42, 1, 0, 0, 44, 1, 0, 0, 0, 0, 35, 0, + 51, 1, 0, 0, 52, 1, 0, 0, 0, 0, 35, 0, 52, 1, 0, 0, 71, 1, 0, 0, 0, 0, 35, 0, 71, 1, 0, 0, 81, 1, 0, 0, + 0, 0, 35, 0, 51, 1, 0, 0, 81, 1, 0, 0, 0, 0, 35, 0, 52, 1, 0, 0, 72, 1, 0, 0, 0, 0, 35, 0, 51, 1, 0, 0, + 82, 1, 0, 0, 0, 0, 35, 0, 72, 1, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0, 50, 1, 0, 0, 51, 1, 0, 0, 0, 0, 35, 0, + 79, 1, 0, 0, 81, 1, 0, 0, 0, 0, 35, 0, 50, 1, 0, 0, 79, 1, 0, 0, 0, 0, 35, 0, 50, 1, 0, 0, 80, 1, 0, 0, + 0, 0, 35, 0, 80, 1, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0, 49, 1, 0, 0, 50, 1, 0, 0, 0, 0, 35, 0, 79, 1, 0, 0, + 83, 1, 0, 0, 0, 0, 35, 0, 49, 1, 0, 0, 83, 1, 0, 0, 0, 0, 35, 0, 49, 1, 0, 0, 84, 1, 0, 0, 0, 0, 35, 0, + 80, 1, 0, 0, 84, 1, 0, 0, 0, 0, 35, 0, 90, 0, 0, 0, 49, 1, 0, 0, 0, 0, 35, 0, 88, 0, 0, 0, 83, 1, 0, 0, + 0, 0, 35, 0, 89, 0, 0, 0, 84, 1, 0, 0, 0, 0, 35, 0, 77, 1, 0, 0, 83, 1, 0, 0, 0, 0, 35, 0, 86, 0, 0, 0, + 77, 1, 0, 0, 0, 0, 35, 0, 87, 0, 0, 0, 78, 1, 0, 0, 0, 0, 35, 0, 78, 1, 0, 0, 84, 1, 0, 0, 0, 0, 35, 0, + 73, 1, 0, 0, 77, 1, 0, 0, 0, 0, 35, 0, 84, 0, 0, 0, 73, 1, 0, 0, 0, 0, 35, 0, 85, 0, 0, 0, 74, 1, 0, 0, + 0, 0, 35, 0, 74, 1, 0, 0, 78, 1, 0, 0, 0, 0, 35, 0, 73, 1, 0, 0, 75, 1, 0, 0, 0, 0, 35, 0, 82, 0, 0, 0, + 75, 1, 0, 0, 0, 0, 35, 0, 83, 0, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0, 74, 1, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0, + 73, 1, 0, 0, 79, 1, 0, 0, 0, 0, 35, 0, 75, 1, 0, 0, 81, 1, 0, 0, 0, 0, 35, 0, 74, 1, 0, 0, 80, 1, 0, 0, + 0, 0, 35, 0, 76, 1, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0, 69, 1, 0, 0, 75, 1, 0, 0, 0, 0, 35, 0, 69, 1, 0, 0, + 71, 1, 0, 0, 0, 0, 35, 0, 70, 1, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0, 70, 1, 0, 0, 72, 1, 0, 0, 0, 0, 35, 0, + 80, 0, 0, 0, 69, 1, 0, 0, 0, 0, 35, 0, 81, 0, 0, 0, 70, 1, 0, 0, 0, 0, 35, 0,208, 0, 0, 0, 85, 1, 0, 0, + 0, 0, 35, 0, 85, 1, 0, 0, 87, 1, 0, 0, 0, 0, 35, 0,214, 0, 0, 0, 87, 1, 0, 0, 0, 0, 35, 0, 86, 1, 0, 0, + 88, 1, 0, 0, 0, 0, 35, 0,209, 0, 0, 0, 86, 1, 0, 0, 0, 0, 35, 0,215, 0, 0, 0, 88, 1, 0, 0, 0, 0, 35, 0, + 69, 1, 0, 0, 85, 1, 0, 0, 0, 0, 35, 0, 70, 1, 0, 0, 86, 1, 0, 0, 0, 0, 35, 0, 87, 1, 0, 0, 89, 1, 0, 0, + 0, 0, 35, 0, 78, 0, 0, 0, 89, 1, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0, 90, 1, 0, 0, 0, 0, 35, 0, 88, 1, 0, 0, + 90, 1, 0, 0, 0, 0, 35, 0, 43, 1, 0, 0, 89, 1, 0, 0, 0, 0, 35, 0, 44, 1, 0, 0, 90, 1, 0, 0, 0, 0, 35, 0, + 76, 0, 0, 0, 67, 1, 0, 0, 0, 0, 35, 0, 67, 1, 0, 0, 95, 1, 0, 0, 0, 0, 35, 0, 47, 1, 0, 0, 95, 1, 0, 0, + 0, 0, 35, 0, 76, 0, 0, 0, 47, 1, 0, 0, 0, 0, 35, 0, 68, 1, 0, 0, 96, 1, 0, 0, 0, 0, 35, 0, 76, 0, 0, 0, + 68, 1, 0, 0, 0, 0, 35, 0, 47, 1, 0, 0, 96, 1, 0, 0, 0, 0, 35, 0, 93, 1, 0, 0, 95, 1, 0, 0, 0, 0, 35, 0, + 77, 0, 0, 0, 93, 1, 0, 0, 0, 0, 35, 0, 77, 0, 0, 0, 47, 1, 0, 0, 0, 0, 35, 0, 94, 1, 0, 0, 96, 1, 0, 0, + 0, 0, 35, 0, 77, 0, 0, 0, 94, 1, 0, 0, 0, 0, 35, 0, 91, 1, 0, 0, 93, 1, 0, 0, 0, 0, 35, 0, 48, 1, 0, 0, + 91, 1, 0, 0, 0, 0, 35, 0, 77, 0, 0, 0, 48, 1, 0, 0, 0, 0, 35, 0, 92, 1, 0, 0, 94, 1, 0, 0, 0, 0, 35, 0, + 48, 1, 0, 0, 92, 1, 0, 0, 0, 0, 35, 0, 71, 1, 0, 0, 91, 1, 0, 0, 0, 0, 35, 0, 48, 1, 0, 0, 52, 1, 0, 0, + 0, 0, 35, 0, 72, 1, 0, 0, 92, 1, 0, 0, 0, 0, 35, 0, 85, 1, 0, 0, 91, 1, 0, 0, 0, 0, 35, 0, 86, 1, 0, 0, + 92, 1, 0, 0, 0, 0, 35, 0, 41, 1, 0, 0, 61, 1, 0, 0, 0, 0, 35, 0, 53, 1, 0, 0, 61, 1, 0, 0, 0, 0, 35, 0, + 39, 1, 0, 0, 53, 1, 0, 0, 0, 0, 35, 0, 42, 1, 0, 0, 62, 1, 0, 0, 0, 0, 35, 0, 40, 1, 0, 0, 54, 1, 0, 0, + 0, 0, 35, 0, 54, 1, 0, 0, 62, 1, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0, 59, 1, 0, 0, 0, 0, 35, 0, 59, 1, 0, 0, + 67, 1, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0, 76, 0, 0, 0, 0, 0, 35, 0, 60, 1, 0, 0, 68, 1, 0, 0, 0, 0, 35, 0, + 75, 0, 0, 0, 60, 1, 0, 0, 0, 0, 35, 0, 45, 1, 0, 0,101, 1, 0, 0, 0, 0, 35, 0, 99, 1, 0, 0,101, 1, 0, 0, + 0, 0, 35, 0, 46, 1, 0, 0, 99, 1, 0, 0, 0, 0, 35, 0, 45, 1, 0, 0, 46, 1, 0, 0, 0, 0, 35, 0,100, 1, 0, 0, +102, 1, 0, 0, 0, 0, 35, 0, 45, 1, 0, 0,102, 1, 0, 0, 0, 0, 35, 0, 46, 1, 0, 0,100, 1, 0, 0, 0, 0, 35, 0, + 97, 1, 0, 0, 99, 1, 0, 0, 0, 0, 35, 0, 74, 0, 0, 0, 97, 1, 0, 0, 0, 0, 35, 0, 74, 0, 0, 0, 46, 1, 0, 0, + 0, 0, 35, 0, 98, 1, 0, 0,100, 1, 0, 0, 0, 0, 35, 0, 74, 0, 0, 0, 98, 1, 0, 0, 0, 0, 35, 0, 59, 1, 0, 0, + 97, 1, 0, 0, 0, 0, 35, 0, 74, 0, 0, 0, 75, 0, 0, 0, 0, 0, 35, 0, 60, 1, 0, 0, 98, 1, 0, 0, 0, 0, 35, 0, + 37, 1, 0, 0,105, 1, 0, 0, 0, 0, 35, 0,105, 1, 0, 0,107, 1, 0, 0, 0, 0, 35, 0, 35, 1, 0, 0,107, 1, 0, 0, + 0, 0, 35, 0, 38, 1, 0, 0,106, 1, 0, 0, 0, 0, 35, 0, 36, 1, 0, 0,108, 1, 0, 0, 0, 0, 35, 0,106, 1, 0, 0, +108, 1, 0, 0, 0, 0, 35, 0,105, 1, 0, 0,111, 1, 0, 0, 0, 0, 35, 0,109, 1, 0, 0,111, 1, 0, 0, 0, 0, 35, 0, +107, 1, 0, 0,109, 1, 0, 0, 0, 0, 35, 0,106, 1, 0, 0,112, 1, 0, 0, 0, 0, 35, 0,108, 1, 0, 0,110, 1, 0, 0, + 0, 0, 35, 0,110, 1, 0, 0,112, 1, 0, 0, 0, 0, 35, 0,111, 1, 0, 0,113, 1, 0, 0, 0, 0, 35, 0,113, 1, 0, 0, +115, 1, 0, 0, 0, 0, 35, 0,109, 1, 0, 0,115, 1, 0, 0, 0, 0, 35, 0,112, 1, 0, 0,114, 1, 0, 0, 0, 0, 35, 0, +110, 1, 0, 0,116, 1, 0, 0, 0, 0, 35, 0,114, 1, 0, 0,116, 1, 0, 0, 0, 0, 35, 0,113, 1, 0, 0,119, 1, 0, 0, + 0, 0, 35, 0,117, 1, 0, 0,119, 1, 0, 0, 0, 0, 35, 0,115, 1, 0, 0,117, 1, 0, 0, 0, 0, 35, 0,114, 1, 0, 0, +120, 1, 0, 0, 0, 0, 35, 0,116, 1, 0, 0,118, 1, 0, 0, 0, 0, 35, 0,118, 1, 0, 0,120, 1, 0, 0, 0, 0, 35, 0, + 57, 1, 0, 0,121, 1, 0, 0, 0, 0, 35, 0,117, 1, 0, 0,121, 1, 0, 0, 0, 0, 35, 0, 57, 1, 0, 0,119, 1, 0, 0, + 0, 0, 35, 0,118, 1, 0, 0,122, 1, 0, 0, 0, 0, 35, 0, 58, 1, 0, 0,122, 1, 0, 0, 0, 0, 35, 0, 58, 1, 0, 0, +120, 1, 0, 0, 0, 0, 35, 0, 97, 1, 0, 0,117, 1, 0, 0, 0, 0, 35, 0, 59, 1, 0, 0,121, 1, 0, 0, 0, 0, 35, 0, + 98, 1, 0, 0,118, 1, 0, 0, 0, 0, 35, 0, 60, 1, 0, 0,122, 1, 0, 0, 0, 0, 35, 0, 99, 1, 0, 0,115, 1, 0, 0, + 0, 0, 35, 0,100, 1, 0, 0,116, 1, 0, 0, 0, 0, 35, 0,101, 1, 0, 0,109, 1, 0, 0, 0, 0, 35, 0,102, 1, 0, 0, +110, 1, 0, 0, 0, 0, 35, 0,101, 1, 0, 0,103, 1, 0, 0, 0, 0, 35, 0,103, 1, 0, 0,107, 1, 0, 0, 0, 0, 35, 0, +104, 1, 0, 0,108, 1, 0, 0, 0, 0, 35, 0,102, 1, 0, 0,104, 1, 0, 0, 0, 0, 35, 0, 33, 1, 0, 0,103, 1, 0, 0, + 0, 0, 35, 0, 34, 1, 0, 0,104, 1, 0, 0, 0, 0, 35, 0, 73, 0, 0, 0,103, 1, 0, 0, 0, 0, 35, 0, 73, 0, 0, 0, + 45, 1, 0, 0, 0, 0, 35, 0, 73, 0, 0, 0,104, 1, 0, 0, 0, 0, 35, 0, 27, 1, 0, 0, 33, 1, 0, 0, 0, 0, 35, 0, + 28, 1, 0, 0, 34, 1, 0, 0, 0, 0, 35, 0, 73, 0, 0, 0, 27, 1, 0, 0, 0, 0, 35, 0, 73, 0, 0, 0, 28, 1, 0, 0, + 0, 0, 35, 0, 72, 0, 0, 0, 73, 0, 0, 0, 0, 0, 35, 0, 53, 1, 0, 0,105, 1, 0, 0, 0, 0, 35, 0, 54, 1, 0, 0, +106, 1, 0, 0, 0, 0, 35, 0, 53, 1, 0, 0, 55, 1, 0, 0, 0, 0, 35, 0, 55, 1, 0, 0,111, 1, 0, 0, 0, 0, 35, 0, + 56, 1, 0, 0,112, 1, 0, 0, 0, 0, 35, 0, 54, 1, 0, 0, 56, 1, 0, 0, 0, 0, 35, 0, 55, 1, 0, 0,125, 1, 0, 0, + 0, 0, 35, 0,113, 1, 0, 0,125, 1, 0, 0, 0, 0, 35, 0,114, 1, 0, 0,126, 1, 0, 0, 0, 0, 35, 0, 56, 1, 0, 0, +126, 1, 0, 0, 0, 0, 35, 0, 57, 1, 0, 0,125, 1, 0, 0, 0, 0, 35, 0, 58, 1, 0, 0,126, 1, 0, 0, 0, 0, 35, 0, + 93, 1, 0, 0,129, 1, 0, 0, 0, 0, 35, 0,127, 1, 0, 0,129, 1, 0, 0, 0, 0, 35, 0, 91, 1, 0, 0,127, 1, 0, 0, + 0, 0, 35, 0, 94, 1, 0, 0,130, 1, 0, 0, 0, 0, 35, 0, 92, 1, 0, 0,128, 1, 0, 0, 0, 0, 35, 0,128, 1, 0, 0, +130, 1, 0, 0, 0, 0, 35, 0, 61, 1, 0, 0,127, 1, 0, 0, 0, 0, 35, 0, 63, 1, 0, 0,129, 1, 0, 0, 0, 0, 35, 0, + 61, 1, 0, 0, 63, 1, 0, 0, 0, 0, 35, 0, 62, 1, 0, 0,128, 1, 0, 0, 0, 0, 35, 0, 62, 1, 0, 0, 64, 1, 0, 0, + 0, 0, 35, 0, 64, 1, 0, 0,130, 1, 0, 0, 0, 0, 35, 0, 43, 1, 0, 0,127, 1, 0, 0, 0, 0, 35, 0, 44, 1, 0, 0, +128, 1, 0, 0, 0, 0, 35, 0, 43, 1, 0, 0, 87, 1, 0, 0, 0, 0, 35, 0, 85, 1, 0, 0,127, 1, 0, 0, 0, 0, 35, 0, + 44, 1, 0, 0, 88, 1, 0, 0, 0, 0, 35, 0, 86, 1, 0, 0,128, 1, 0, 0, 0, 0, 35, 0, 57, 1, 0, 0, 65, 1, 0, 0, + 0, 0, 35, 0, 65, 1, 0, 0,123, 1, 0, 0, 0, 0, 35, 0,121, 1, 0, 0,123, 1, 0, 0, 0, 0, 35, 0, 66, 1, 0, 0, +124, 1, 0, 0, 0, 0, 35, 0, 58, 1, 0, 0, 66, 1, 0, 0, 0, 0, 35, 0,122, 1, 0, 0,124, 1, 0, 0, 0, 0, 35, 0, + 67, 1, 0, 0,123, 1, 0, 0, 0, 0, 35, 0, 68, 1, 0, 0,124, 1, 0, 0, 0, 0, 35, 0,123, 1, 0, 0,129, 1, 0, 0, + 0, 0, 35, 0, 63, 1, 0, 0, 65, 1, 0, 0, 0, 0, 35, 0,124, 1, 0, 0,130, 1, 0, 0, 0, 0, 35, 0, 64, 1, 0, 0, + 66, 1, 0, 0, 0, 0, 35, 0, 95, 1, 0, 0,123, 1, 0, 0, 0, 0, 35, 0, 96, 1, 0, 0,124, 1, 0, 0, 0, 0, 35, 0, +131, 1, 0, 0,143, 1, 0, 0, 0, 0, 35, 0,131, 1, 0, 0,157, 1, 0, 0, 0, 0, 35, 0,145, 1, 0, 0,157, 1, 0, 0, + 0, 0, 35, 0,143, 1, 0, 0,145, 1, 0, 0, 0, 0, 35, 0,132, 1, 0, 0,158, 1, 0, 0, 0, 0, 35, 0,132, 1, 0, 0, +144, 1, 0, 0, 0, 0, 35, 0,144, 1, 0, 0,146, 1, 0, 0, 0, 0, 35, 0,146, 1, 0, 0,158, 1, 0, 0, 0, 0, 35, 0, +145, 1, 0, 0,147, 1, 0, 0, 0, 0, 35, 0,141, 1, 0, 0,147, 1, 0, 0, 0, 0, 35, 0,141, 1, 0, 0,143, 1, 0, 0, + 0, 0, 35, 0,146, 1, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,142, 1, 0, 0,144, 1, 0, 0, 0, 0, 35, 0,142, 1, 0, 0, +148, 1, 0, 0, 0, 0, 35, 0,147, 1, 0, 0,149, 1, 0, 0, 0, 0, 35, 0,139, 1, 0, 0,149, 1, 0, 0, 0, 0, 35, 0, +139, 1, 0, 0,141, 1, 0, 0, 0, 0, 35, 0,148, 1, 0, 0,150, 1, 0, 0, 0, 0, 35, 0,140, 1, 0, 0,142, 1, 0, 0, + 0, 0, 35, 0,140, 1, 0, 0,150, 1, 0, 0, 0, 0, 35, 0,149, 1, 0, 0,151, 1, 0, 0, 0, 0, 35, 0,137, 1, 0, 0, +151, 1, 0, 0, 0, 0, 35, 0,137, 1, 0, 0,139, 1, 0, 0, 0, 0, 35, 0,150, 1, 0, 0,152, 1, 0, 0, 0, 0, 35, 0, +138, 1, 0, 0,140, 1, 0, 0, 0, 0, 35, 0,138, 1, 0, 0,152, 1, 0, 0, 0, 0, 35, 0,151, 1, 0, 0,153, 1, 0, 0, + 0, 0, 35, 0,135, 1, 0, 0,153, 1, 0, 0, 0, 0, 35, 0,135, 1, 0, 0,137, 1, 0, 0, 0, 0, 35, 0,152, 1, 0, 0, +154, 1, 0, 0, 0, 0, 35, 0,136, 1, 0, 0,138, 1, 0, 0, 0, 0, 35, 0,136, 1, 0, 0,154, 1, 0, 0, 0, 0, 35, 0, +153, 1, 0, 0,155, 1, 0, 0, 0, 0, 35, 0,133, 1, 0, 0,155, 1, 0, 0, 0, 0, 35, 0,133, 1, 0, 0,135, 1, 0, 0, + 0, 0, 35, 0,154, 1, 0, 0,156, 1, 0, 0, 0, 0, 35, 0,134, 1, 0, 0,136, 1, 0, 0, 0, 0, 35, 0,134, 1, 0, 0, +156, 1, 0, 0, 0, 0, 35, 0,153, 1, 0, 0,163, 1, 0, 0, 0, 0, 35, 0,161, 1, 0, 0,163, 1, 0, 0, 0, 0, 35, 0, +155, 1, 0, 0,161, 1, 0, 0, 0, 0, 35, 0,162, 1, 0, 0,164, 1, 0, 0, 0, 0, 35, 0,154, 1, 0, 0,164, 1, 0, 0, + 0, 0, 35, 0,156, 1, 0, 0,162, 1, 0, 0, 0, 0, 35, 0,151, 1, 0, 0,165, 1, 0, 0, 0, 0, 35, 0,163, 1, 0, 0, +165, 1, 0, 0, 0, 0, 35, 0,164, 1, 0, 0,166, 1, 0, 0, 0, 0, 35, 0,152, 1, 0, 0,166, 1, 0, 0, 0, 0, 35, 0, +149, 1, 0, 0,167, 1, 0, 0, 0, 0, 35, 0,165, 1, 0, 0,167, 1, 0, 0, 0, 0, 35, 0,166, 1, 0, 0,168, 1, 0, 0, + 0, 0, 35, 0,150, 1, 0, 0,168, 1, 0, 0, 0, 0, 35, 0,147, 1, 0, 0,169, 1, 0, 0, 0, 0, 35, 0,167, 1, 0, 0, +169, 1, 0, 0, 0, 0, 35, 0,168, 1, 0, 0,170, 1, 0, 0, 0, 0, 35, 0,148, 1, 0, 0,170, 1, 0, 0, 0, 0, 35, 0, +145, 1, 0, 0,171, 1, 0, 0, 0, 0, 35, 0,169, 1, 0, 0,171, 1, 0, 0, 0, 0, 35, 0,170, 1, 0, 0,172, 1, 0, 0, + 0, 0, 35, 0,146, 1, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,157, 1, 0, 0,159, 1, 0, 0, 0, 0, 35, 0,159, 1, 0, 0, +171, 1, 0, 0, 0, 0, 35, 0,158, 1, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,160, 1, 0, 0,172, 1, 0, 0, 0, 0, 35, 0, + 63, 1, 0, 0,187, 1, 0, 0, 0, 0, 35, 0,185, 1, 0, 0,187, 1, 0, 0, 0, 0, 35, 0, 61, 1, 0, 0,185, 1, 0, 0, + 0, 0, 35, 0, 64, 1, 0, 0,188, 1, 0, 0, 0, 0, 35, 0, 62, 1, 0, 0,186, 1, 0, 0, 0, 0, 35, 0,186, 1, 0, 0, +188, 1, 0, 0, 0, 0, 35, 0, 63, 1, 0, 0,133, 1, 0, 0, 0, 0, 35, 0,155, 1, 0, 0,187, 1, 0, 0, 0, 0, 35, 0, + 64, 1, 0, 0,134, 1, 0, 0, 0, 0, 35, 0,156, 1, 0, 0,188, 1, 0, 0, 0, 0, 35, 0, 55, 1, 0, 0,185, 1, 0, 0, + 0, 0, 35, 0, 56, 1, 0, 0,186, 1, 0, 0, 0, 0, 35, 0,125, 1, 0, 0,173, 1, 0, 0, 0, 0, 35, 0,157, 1, 0, 0, +173, 1, 0, 0, 0, 0, 35, 0,125, 1, 0, 0,131, 1, 0, 0, 0, 0, 35, 0,158, 1, 0, 0,174, 1, 0, 0, 0, 0, 35, 0, +126, 1, 0, 0,174, 1, 0, 0, 0, 0, 35, 0,126, 1, 0, 0,132, 1, 0, 0, 0, 0, 35, 0,161, 1, 0, 0,183, 1, 0, 0, + 0, 0, 35, 0,183, 1, 0, 0,187, 1, 0, 0, 0, 0, 35, 0,162, 1, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,184, 1, 0, 0, +188, 1, 0, 0, 0, 0, 35, 0,181, 1, 0, 0,189, 1, 0, 0, 0, 0, 35, 0,187, 1, 0, 0,189, 1, 0, 0, 0, 0, 35, 0, +181, 1, 0, 0,183, 1, 0, 0, 0, 0, 35, 0,188, 1, 0, 0,190, 1, 0, 0, 0, 0, 35, 0,182, 1, 0, 0,190, 1, 0, 0, + 0, 0, 35, 0,182, 1, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,177, 1, 0, 0,189, 1, 0, 0, 0, 0, 35, 0,179, 1, 0, 0, +181, 1, 0, 0, 0, 0, 35, 0,177, 1, 0, 0,179, 1, 0, 0, 0, 0, 35, 0,178, 1, 0, 0,190, 1, 0, 0, 0, 0, 35, 0, +178, 1, 0, 0,180, 1, 0, 0, 0, 0, 35, 0,180, 1, 0, 0,182, 1, 0, 0, 0, 0, 35, 0,175, 1, 0, 0,191, 1, 0, 0, + 0, 0, 35, 0,189, 1, 0, 0,191, 1, 0, 0, 0, 0, 35, 0,175, 1, 0, 0,177, 1, 0, 0, 0, 0, 35, 0,190, 1, 0, 0, +192, 1, 0, 0, 0, 0, 35, 0,176, 1, 0, 0,192, 1, 0, 0, 0, 0, 35, 0,176, 1, 0, 0,178, 1, 0, 0, 0, 0, 35, 0, +173, 1, 0, 0,191, 1, 0, 0, 0, 0, 35, 0,175, 1, 0, 0,193, 1, 0, 0, 0, 0, 35, 0,173, 1, 0, 0,193, 1, 0, 0, + 0, 0, 33, 0,174, 1, 0, 0,192, 1, 0, 0, 0, 0, 35, 0,174, 1, 0, 0,194, 1, 0, 0, 0, 0, 33, 0,176, 1, 0, 0, +194, 1, 0, 0, 0, 0, 35, 0,159, 1, 0, 0,193, 1, 0, 0, 0, 0, 35, 0,160, 1, 0, 0,194, 1, 0, 0, 0, 0, 35, 0, + 55, 1, 0, 0,191, 1, 0, 0, 0, 0, 35, 0, 56, 1, 0, 0,192, 1, 0, 0, 0, 0, 35, 0,185, 1, 0, 0,189, 1, 0, 0, + 0, 0, 35, 0,186, 1, 0, 0,190, 1, 0, 0, 0, 0, 35, 0,193, 1, 0, 0,195, 1, 0, 0, 0, 0, 35, 0,195, 1, 0, 0, +219, 1, 0, 0, 0, 0, 35, 0,159, 1, 0, 0,219, 1, 0, 0, 0, 0, 35, 0,194, 1, 0, 0,196, 1, 0, 0, 0, 0, 35, 0, +160, 1, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,196, 1, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,175, 1, 0, 0,205, 1, 0, 0, + 0, 0, 35, 0,195, 1, 0, 0,205, 1, 0, 0, 0, 0, 35, 0,176, 1, 0, 0,206, 1, 0, 0, 0, 0, 35, 0,196, 1, 0, 0, +206, 1, 0, 0, 0, 0, 35, 0,177, 1, 0, 0,203, 1, 0, 0, 0, 0, 35, 0,203, 1, 0, 0,205, 1, 0, 0, 0, 0, 35, 0, +178, 1, 0, 0,204, 1, 0, 0, 0, 0, 35, 0,204, 1, 0, 0,206, 1, 0, 0, 0, 0, 35, 0,179, 1, 0, 0,201, 1, 0, 0, + 0, 0, 35, 0,201, 1, 0, 0,203, 1, 0, 0, 0, 0, 35, 0,180, 1, 0, 0,202, 1, 0, 0, 0, 0, 35, 0,202, 1, 0, 0, +204, 1, 0, 0, 0, 0, 35, 0,181, 1, 0, 0,199, 1, 0, 0, 0, 0, 35, 0,199, 1, 0, 0,201, 1, 0, 0, 0, 0, 35, 0, +182, 1, 0, 0,200, 1, 0, 0, 0, 0, 35, 0,200, 1, 0, 0,202, 1, 0, 0, 0, 0, 35, 0,183, 1, 0, 0,197, 1, 0, 0, + 0, 0, 35, 0,197, 1, 0, 0,199, 1, 0, 0, 0, 0, 35, 0,184, 1, 0, 0,198, 1, 0, 0, 0, 0, 35, 0,198, 1, 0, 0, +200, 1, 0, 0, 0, 0, 35, 0,161, 1, 0, 0,217, 1, 0, 0, 0, 0, 35, 0,197, 1, 0, 0,217, 1, 0, 0, 0, 0, 35, 0, +162, 1, 0, 0,218, 1, 0, 0, 0, 0, 35, 0,198, 1, 0, 0,218, 1, 0, 0, 0, 0, 35, 0,207, 1, 0, 0,219, 1, 0, 0, + 0, 0, 35, 0,171, 1, 0, 0,207, 1, 0, 0, 0, 0, 35, 0,172, 1, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,208, 1, 0, 0, +220, 1, 0, 0, 0, 0, 35, 0,207, 1, 0, 0,209, 1, 0, 0, 0, 0, 35, 0,169, 1, 0, 0,209, 1, 0, 0, 0, 0, 35, 0, +170, 1, 0, 0,210, 1, 0, 0, 0, 0, 35, 0,208, 1, 0, 0,210, 1, 0, 0, 0, 0, 35, 0,209, 1, 0, 0,211, 1, 0, 0, + 0, 0, 35, 0,167, 1, 0, 0,211, 1, 0, 0, 0, 0, 35, 0,168, 1, 0, 0,212, 1, 0, 0, 0, 0, 35, 0,210, 1, 0, 0, +212, 1, 0, 0, 0, 0, 35, 0,211, 1, 0, 0,213, 1, 0, 0, 0, 0, 35, 0,165, 1, 0, 0,213, 1, 0, 0, 0, 0, 35, 0, +166, 1, 0, 0,214, 1, 0, 0, 0, 0, 35, 0,212, 1, 0, 0,214, 1, 0, 0, 0, 0, 35, 0,213, 1, 0, 0,215, 1, 0, 0, + 0, 0, 35, 0,163, 1, 0, 0,215, 1, 0, 0, 0, 0, 35, 0,164, 1, 0, 0,216, 1, 0, 0, 0, 0, 35, 0,214, 1, 0, 0, +216, 1, 0, 0, 0, 0, 35, 0,215, 1, 0, 0,217, 1, 0, 0, 0, 0, 35, 0,216, 1, 0, 0,218, 1, 0, 0, 0, 0, 35, 0, +199, 1, 0, 0,223, 1, 0, 0, 0, 0, 35, 0,221, 1, 0, 0,223, 1, 0, 0, 0, 0, 35, 0,201, 1, 0, 0,221, 1, 0, 0, + 0, 0, 35, 0,200, 1, 0, 0,224, 1, 0, 0, 0, 0, 35, 0,202, 1, 0, 0,222, 1, 0, 0, 0, 0, 35, 0,222, 1, 0, 0, +224, 1, 0, 0, 0, 0, 35, 0,223, 1, 0, 0,225, 1, 0, 0, 0, 0, 35, 0,225, 1, 0, 0,227, 1, 0, 0, 0, 0, 33, 0, +221, 1, 0, 0,227, 1, 0, 0, 0, 0, 35, 0,224, 1, 0, 0,226, 1, 0, 0, 0, 0, 35, 0,222, 1, 0, 0,228, 1, 0, 0, + 0, 0, 35, 0,226, 1, 0, 0,228, 1, 0, 0, 0, 0, 33, 0,225, 1, 0, 0,231, 1, 0, 0, 0, 0, 35, 0,229, 1, 0, 0, +231, 1, 0, 0, 0, 0, 35, 0,227, 1, 0, 0,229, 1, 0, 0, 0, 0, 35, 0,226, 1, 0, 0,232, 1, 0, 0, 0, 0, 35, 0, +228, 1, 0, 0,230, 1, 0, 0, 0, 0, 35, 0,230, 1, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,231, 1, 0, 0,233, 1, 0, 0, + 0, 0, 35, 0,233, 1, 0, 0,235, 1, 0, 0, 0, 0, 35, 0,229, 1, 0, 0,235, 1, 0, 0, 0, 0, 35, 0,232, 1, 0, 0, +234, 1, 0, 0, 0, 0, 35, 0,230, 1, 0, 0,236, 1, 0, 0, 0, 0, 35, 0,234, 1, 0, 0,236, 1, 0, 0, 0, 0, 35, 0, +219, 1, 0, 0,229, 1, 0, 0, 0, 0, 35, 0,207, 1, 0, 0,235, 1, 0, 0, 0, 0, 35, 0,220, 1, 0, 0,230, 1, 0, 0, + 0, 0, 35, 0,208, 1, 0, 0,236, 1, 0, 0, 0, 0, 35, 0,195, 1, 0, 0,227, 1, 0, 0, 0, 0, 35, 0,196, 1, 0, 0, +228, 1, 0, 0, 0, 0, 35, 0,205, 1, 0, 0,221, 1, 0, 0, 0, 0, 35, 0,206, 1, 0, 0,222, 1, 0, 0, 0, 0, 35, 0, +217, 1, 0, 0,223, 1, 0, 0, 0, 0, 35, 0,218, 1, 0, 0,224, 1, 0, 0, 0, 0, 35, 0,215, 1, 0, 0,225, 1, 0, 0, + 0, 0, 35, 0,216, 1, 0, 0,226, 1, 0, 0, 0, 0, 35, 0,213, 1, 0, 0,231, 1, 0, 0, 0, 0, 35, 0,214, 1, 0, 0, +232, 1, 0, 0, 0, 0, 35, 0,211, 1, 0, 0,233, 1, 0, 0, 0, 0, 35, 0,212, 1, 0, 0,234, 1, 0, 0, 0, 0, 35, 0, +209, 1, 0, 0,235, 1, 0, 0, 0, 0, 35, 0,210, 1, 0, 0,236, 1, 0, 0, 0, 0, 35, 0,133, 1, 0, 0,247, 1, 0, 0, + 0, 0, 35, 0,245, 1, 0, 0,247, 1, 0, 0, 0, 0, 35, 0,135, 1, 0, 0,245, 1, 0, 0, 0, 0, 35, 0,134, 1, 0, 0, +248, 1, 0, 0, 0, 0, 35, 0,136, 1, 0, 0,246, 1, 0, 0, 0, 0, 35, 0,246, 1, 0, 0,248, 1, 0, 0, 0, 0, 35, 0, +243, 1, 0, 0,245, 1, 0, 0, 0, 0, 35, 0,137, 1, 0, 0,243, 1, 0, 0, 0, 0, 35, 0,138, 1, 0, 0,244, 1, 0, 0, + 0, 0, 35, 0,244, 1, 0, 0,246, 1, 0, 0, 0, 0, 35, 0,241, 1, 0, 0,243, 1, 0, 0, 0, 0, 35, 0,139, 1, 0, 0, +241, 1, 0, 0, 0, 0, 35, 0,140, 1, 0, 0,242, 1, 0, 0, 0, 0, 35, 0,242, 1, 0, 0,244, 1, 0, 0, 0, 0, 35, 0, +239, 1, 0, 0,241, 1, 0, 0, 0, 0, 35, 0,141, 1, 0, 0,239, 1, 0, 0, 0, 0, 35, 0,142, 1, 0, 0,240, 1, 0, 0, + 0, 0, 35, 0,240, 1, 0, 0,242, 1, 0, 0, 0, 0, 35, 0,237, 1, 0, 0,239, 1, 0, 0, 0, 0, 35, 0,143, 1, 0, 0, +237, 1, 0, 0, 0, 0, 35, 0,144, 1, 0, 0,238, 1, 0, 0, 0, 0, 35, 0,238, 1, 0, 0,240, 1, 0, 0, 0, 0, 35, 0, +237, 1, 0, 0,249, 1, 0, 0, 0, 0, 35, 0,131, 1, 0, 0,249, 1, 0, 0, 0, 0, 35, 0,132, 1, 0, 0,250, 1, 0, 0, + 0, 0, 35, 0,238, 1, 0, 0,250, 1, 0, 0, 0, 0, 35, 0,237, 1, 0, 0,245, 1, 0, 0, 0, 0, 35, 0,247, 1, 0, 0, +249, 1, 0, 0, 0, 0, 35, 0,238, 1, 0, 0,246, 1, 0, 0, 0, 0, 35, 0,248, 1, 0, 0,250, 1, 0, 0, 0, 0, 35, 0, +239, 1, 0, 0,243, 1, 0, 0, 0, 0, 35, 0,240, 1, 0, 0,244, 1, 0, 0, 0, 0, 35, 0, 57, 1, 0, 0,249, 1, 0, 0, + 0, 0, 35, 0, 58, 1, 0, 0,250, 1, 0, 0, 0, 0, 35, 0, 65, 1, 0, 0,247, 1, 0, 0, 0, 0, 35, 0, 66, 1, 0, 0, +248, 1, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65,104, 1, 0, 0,120,246, 71, 27, 1, 0, 0, 0, 93, 1, 0, 0, 5, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 56, 78,109, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 39, 0, 0, 56, 78,109, 3, 1, 0, 0, 0, 48, 0, 0, 0,244, 1, 0, 0, + 46, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 1, 0, 0, 0, 47, 0, 0, 0, + 45, 0, 0, 0, 0, 0, 0, 3, 44, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 3, 5, 0, 0, 0, + 3, 0, 0, 0, 45, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 8, 0, 0, 0, 6, 0, 0, 0, 4, 0, 0, 0, + 0, 0, 0, 3, 7, 0, 0, 0, 9, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 10, 0, 0, 0, + 8, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 3, 9, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 3, + 10, 0, 0, 0, 12, 0, 0, 0, 14, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 3, 15, 0, 0, 0, 13, 0, 0, 0, 11, 0, 0, 0, + 9, 0, 0, 0, 0, 0, 0, 3, 8, 0, 0, 0, 14, 0, 0, 0, 16, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 3, 17, 0, 0, 0, + 15, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 3, 14, 0, 0, 0, 20, 0, 0, 0, 18, 0, 0, 0, 16, 0, 0, 0, + 0, 0, 0, 3, 19, 0, 0, 0, 21, 0, 0, 0, 15, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 3, 12, 0, 0, 0, 22, 0, 0, 0, + 20, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 3, 21, 0, 0, 0, 23, 0, 0, 0, 13, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 3, + 22, 0, 0, 0, 24, 0, 0, 0, 26, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 3, 27, 0, 0, 0, 25, 0, 0, 0, 23, 0, 0, 0, + 21, 0, 0, 0, 0, 0, 0, 3, 20, 0, 0, 0, 26, 0, 0, 0, 28, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 3, 29, 0, 0, 0, + 27, 0, 0, 0, 21, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 3, 26, 0, 0, 0, 32, 0, 0, 0, 30, 0, 0, 0, 28, 0, 0, 0, + 0, 0, 0, 3, 31, 0, 0, 0, 33, 0, 0, 0, 27, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 3, 24, 0, 0, 0, 34, 0, 0, 0, + 32, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 3, 33, 0, 0, 0, 35, 0, 0, 0, 25, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 3, + 34, 0, 0, 0, 36, 0, 0, 0, 38, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 3, 39, 0, 0, 0, 37, 0, 0, 0, 35, 0, 0, 0, + 33, 0, 0, 0, 0, 0, 0, 3, 32, 0, 0, 0, 38, 0, 0, 0, 40, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 3, 41, 0, 0, 0, + 39, 0, 0, 0, 33, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 3, 38, 0, 0, 0, 44, 0, 0, 0, 42, 0, 0, 0, 40, 0, 0, 0, + 0, 0, 0, 3, 43, 0, 0, 0, 45, 0, 0, 0, 39, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 3, 36, 0, 0, 0, 46, 0, 0, 0, + 44, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 3, 45, 0, 0, 0, 47, 0, 0, 0, 37, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 3, + 46, 0, 0, 0, 36, 0, 0, 0, 50, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 3, 51, 0, 0, 0, 37, 0, 0, 0, 47, 0, 0, 0, + 49, 0, 0, 0, 0, 0, 0, 3, 36, 0, 0, 0, 34, 0, 0, 0, 52, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 3, 53, 0, 0, 0, + 35, 0, 0, 0, 37, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 3, 34, 0, 0, 0, 24, 0, 0, 0, 54, 0, 0, 0, 52, 0, 0, 0, + 0, 0, 0, 3, 55, 0, 0, 0, 25, 0, 0, 0, 35, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 3, 24, 0, 0, 0, 22, 0, 0, 0, + 56, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 3, 57, 0, 0, 0, 23, 0, 0, 0, 25, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 3, + 22, 0, 0, 0, 12, 0, 0, 0, 58, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 3, 59, 0, 0, 0, 13, 0, 0, 0, 23, 0, 0, 0, + 57, 0, 0, 0, 0, 0, 0, 3, 12, 0, 0, 0, 10, 0, 0, 0, 62, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 3, 63, 0, 0, 0, + 11, 0, 0, 0, 13, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 3, 10, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 62, 0, 0, 0, + 0, 0, 0, 3, 65, 0, 0, 0, 1, 0, 0, 0, 11, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 46, 0, 0, 0, + 48, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 3, 49, 0, 0, 0, 47, 0, 0, 0, 1, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 3, + 60, 0, 0, 0, 64, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 49, 0, 0, 0, 65, 0, 0, 0, 61, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3, 62, 0, 0, 0, 64, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 61, 0, 0, 0, + 65, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 0, 0, 0, 58, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 63, 0, 0, 0, 59, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 0, 0, 0, 56, 0, 0, 0, + 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 59, 0, 0, 0, 57, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, + 60, 0, 0, 0, 54, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 57, 0, 0, 0, 55, 0, 0, 0, 61, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3, 60, 0, 0, 0, 52, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 55, 0, 0, 0, + 53, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 0, 0, 0, 50, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 53, 0, 0, 0, 51, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 0, 0, 0, 48, 0, 0, 0, + 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 0, 0, 0, 49, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, + 88, 0, 0, 0,173, 0, 0, 0,175, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 3,175, 0, 0, 0,174, 0, 0, 0, 89, 0, 0, 0, + 90, 0, 0, 0, 0, 0, 0, 3, 86, 0, 0, 0,171, 0, 0, 0,173, 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, 3,174, 0, 0, 0, +172, 0, 0, 0, 87, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 3, 84, 0, 0, 0,169, 0, 0, 0,171, 0, 0, 0, 86, 0, 0, 0, + 0, 0, 0, 3,172, 0, 0, 0,170, 0, 0, 0, 85, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 3, 82, 0, 0, 0,167, 0, 0, 0, +169, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 3,170, 0, 0, 0,168, 0, 0, 0, 83, 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, 3, + 80, 0, 0, 0,165, 0, 0, 0,167, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 3,168, 0, 0, 0,166, 0, 0, 0, 81, 0, 0, 0, + 83, 0, 0, 0, 0, 0, 0, 3, 78, 0, 0, 0, 91, 0, 0, 0,145, 0, 0, 0,163, 0, 0, 0, 0, 0, 0, 3,146, 0, 0, 0, + 92, 0, 0, 0, 79, 0, 0, 0,164, 0, 0, 0, 0, 0, 0, 3, 91, 0, 0, 0, 93, 0, 0, 0,147, 0, 0, 0,145, 0, 0, 0, + 0, 0, 0, 3,148, 0, 0, 0, 94, 0, 0, 0, 92, 0, 0, 0,146, 0, 0, 0, 0, 0, 0, 3, 93, 0, 0, 0, 95, 0, 0, 0, +149, 0, 0, 0,147, 0, 0, 0, 0, 0, 0, 3,150, 0, 0, 0, 96, 0, 0, 0, 94, 0, 0, 0,148, 0, 0, 0, 0, 0, 0, 3, + 95, 0, 0, 0, 97, 0, 0, 0,151, 0, 0, 0,149, 0, 0, 0, 0, 0, 0, 3,152, 0, 0, 0, 98, 0, 0, 0, 96, 0, 0, 0, +150, 0, 0, 0, 0, 0, 0, 3, 97, 0, 0, 0, 99, 0, 0, 0,153, 0, 0, 0,151, 0, 0, 0, 0, 0, 0, 3,154, 0, 0, 0, +100, 0, 0, 0, 98, 0, 0, 0,152, 0, 0, 0, 0, 0, 0, 3, 99, 0, 0, 0,101, 0, 0, 0,155, 0, 0, 0,153, 0, 0, 0, + 0, 0, 0, 3,156, 0, 0, 0,102, 0, 0, 0,100, 0, 0, 0,154, 0, 0, 0, 0, 0, 0, 3,101, 0, 0, 0,103, 0, 0, 0, +157, 0, 0, 0,155, 0, 0, 0, 0, 0, 0, 3,158, 0, 0, 0,104, 0, 0, 0,102, 0, 0, 0,156, 0, 0, 0, 0, 0, 0, 3, +103, 0, 0, 0,105, 0, 0, 0,159, 0, 0, 0,157, 0, 0, 0, 0, 0, 0, 3,160, 0, 0, 0,106, 0, 0, 0,104, 0, 0, 0, +158, 0, 0, 0, 0, 0, 0, 3,105, 0, 0, 0,107, 0, 0, 0,161, 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 3,162, 0, 0, 0, +108, 0, 0, 0,106, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 3,107, 0, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0,161, 0, 0, 0, + 0, 0, 0, 3, 67, 0, 0, 0, 66, 0, 0, 0,108, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 3,109, 0, 0, 0,127, 0, 0, 0, +159, 0, 0, 0,161, 0, 0, 0, 0, 0, 0, 3,160, 0, 0, 0,128, 0, 0, 0,110, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 3, +127, 0, 0, 0,178, 0, 0, 0,157, 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 3,158, 0, 0, 0,179, 0, 0, 0,128, 0, 0, 0, +160, 0, 0, 0, 0, 0, 0, 3,125, 0, 0, 0,155, 0, 0, 0,157, 0, 0, 0,178, 0, 0, 0, 0, 0, 0, 3,158, 0, 0, 0, +156, 0, 0, 0,126, 0, 0, 0,179, 0, 0, 0, 0, 0, 0, 3,123, 0, 0, 0,153, 0, 0, 0,155, 0, 0, 0,125, 0, 0, 0, + 0, 0, 0, 3,156, 0, 0, 0,154, 0, 0, 0,124, 0, 0, 0,126, 0, 0, 0, 0, 0, 0, 3,121, 0, 0, 0,151, 0, 0, 0, +153, 0, 0, 0,123, 0, 0, 0, 0, 0, 0, 3,154, 0, 0, 0,152, 0, 0, 0,122, 0, 0, 0,124, 0, 0, 0, 0, 0, 0, 3, +119, 0, 0, 0,149, 0, 0, 0,151, 0, 0, 0,121, 0, 0, 0, 0, 0, 0, 3,152, 0, 0, 0,150, 0, 0, 0,120, 0, 0, 0, +122, 0, 0, 0, 0, 0, 0, 3,117, 0, 0, 0,147, 0, 0, 0,149, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 3,150, 0, 0, 0, +148, 0, 0, 0,118, 0, 0, 0,120, 0, 0, 0, 0, 0, 0, 3,115, 0, 0, 0,145, 0, 0, 0,147, 0, 0, 0,117, 0, 0, 0, + 0, 0, 0, 3,148, 0, 0, 0,146, 0, 0, 0,116, 0, 0, 0,118, 0, 0, 0, 0, 0, 0, 3,113, 0, 0, 0,163, 0, 0, 0, +145, 0, 0, 0,115, 0, 0, 0, 0, 0, 0, 3,146, 0, 0, 0,164, 0, 0, 0,114, 0, 0, 0,116, 0, 0, 0, 0, 0, 0, 3, +113, 0, 0, 0,180, 0, 0, 0,176, 0, 0, 0,163, 0, 0, 0, 0, 0, 0, 3,176, 0, 0, 0,181, 0, 0, 0,114, 0, 0, 0, +164, 0, 0, 0, 0, 0, 0, 3,109, 0, 0, 0,161, 0, 0, 0, 67, 0, 0, 0,111, 0, 0, 0, 0, 0, 0, 3, 67, 0, 0, 0, +162, 0, 0, 0,110, 0, 0, 0,112, 0, 0, 0, 0, 0, 0, 3,111, 0, 0, 0, 67, 0, 0, 0,177, 0, 0, 0,182, 0, 0, 0, + 0, 0, 0, 3,177, 0, 0, 0, 67, 0, 0, 0,112, 0, 0, 0,183, 0, 0, 0, 0, 0, 0, 3,176, 0, 0, 0,180, 0, 0, 0, +182, 0, 0, 0,177, 0, 0, 0, 0, 0, 0, 3,183, 0, 0, 0,181, 0, 0, 0,176, 0, 0, 0,177, 0, 0, 0, 0, 0, 0, 3, +134, 0, 0, 0,136, 0, 0, 0,175, 0, 0, 0,173, 0, 0, 0, 0, 0, 0, 3,175, 0, 0, 0,136, 0, 0, 0,135, 0, 0, 0, +174, 0, 0, 0, 0, 0, 0, 3,132, 0, 0, 0,134, 0, 0, 0,173, 0, 0, 0,171, 0, 0, 0, 0, 0, 0, 3,174, 0, 0, 0, +135, 0, 0, 0,133, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 3,130, 0, 0, 0,132, 0, 0, 0,171, 0, 0, 0,169, 0, 0, 0, + 0, 0, 0, 3,172, 0, 0, 0,133, 0, 0, 0,131, 0, 0, 0,170, 0, 0, 0, 0, 0, 0, 3,165, 0, 0, 0,186, 0, 0, 0, +184, 0, 0, 0,167, 0, 0, 0, 0, 0, 0, 3,185, 0, 0, 0,187, 0, 0, 0,166, 0, 0, 0,168, 0, 0, 0, 0, 0, 0, 3, +130, 0, 0, 0,169, 0, 0, 0,167, 0, 0, 0,184, 0, 0, 0, 0, 0, 0, 3,168, 0, 0, 0,170, 0, 0, 0,131, 0, 0, 0, +185, 0, 0, 0, 0, 0, 0, 3,143, 0, 0, 0,189, 0, 0, 0,188, 0, 0, 0,186, 0, 0, 0, 0, 0, 0, 3,188, 0, 0, 0, +189, 0, 0, 0,144, 0, 0, 0,187, 0, 0, 0, 0, 0, 0, 3,184, 0, 0, 0,186, 0, 0, 0,188, 0, 0, 0, 68, 0, 0, 0, + 0, 0, 0, 3,188, 0, 0, 0,187, 0, 0, 0,185, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 3,129, 0, 0, 0,130, 0, 0, 0, +184, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 3,185, 0, 0, 0,131, 0, 0, 0,129, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 3, +141, 0, 0, 0,192, 0, 0, 0,190, 0, 0, 0,143, 0, 0, 0, 0, 0, 0, 3,191, 0, 0, 0,193, 0, 0, 0,142, 0, 0, 0, +144, 0, 0, 0, 0, 0, 0, 3,139, 0, 0, 0,194, 0, 0, 0,192, 0, 0, 0,141, 0, 0, 0, 0, 0, 0, 3,193, 0, 0, 0, +195, 0, 0, 0,140, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 3,138, 0, 0, 0,196, 0, 0, 0,194, 0, 0, 0,139, 0, 0, 0, + 0, 0, 0, 3,195, 0, 0, 0,197, 0, 0, 0,138, 0, 0, 0,140, 0, 0, 0, 0, 0, 0, 3,137, 0, 0, 0, 70, 0, 0, 0, +196, 0, 0, 0,138, 0, 0, 0, 0, 0, 0, 3,197, 0, 0, 0, 70, 0, 0, 0,137, 0, 0, 0,138, 0, 0, 0, 0, 0, 0, 3, +189, 0, 0, 0,143, 0, 0, 0,190, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 3,191, 0, 0, 0,144, 0, 0, 0,189, 0, 0, 0, + 69, 0, 0, 0, 0, 0, 0, 3, 69, 0, 0, 0,190, 0, 0, 0,205, 0, 0, 0,207, 0, 0, 0, 0, 0, 0, 3,206, 0, 0, 0, +191, 0, 0, 0, 69, 0, 0, 0,207, 0, 0, 0, 0, 0, 0, 3, 70, 0, 0, 0,198, 0, 0, 0,199, 0, 0, 0,196, 0, 0, 0, + 0, 0, 0, 3,200, 0, 0, 0,198, 0, 0, 0, 70, 0, 0, 0,197, 0, 0, 0, 0, 0, 0, 3,196, 0, 0, 0,199, 0, 0, 0, +201, 0, 0, 0,194, 0, 0, 0, 0, 0, 0, 3,202, 0, 0, 0,200, 0, 0, 0,197, 0, 0, 0,195, 0, 0, 0, 0, 0, 0, 3, +194, 0, 0, 0,201, 0, 0, 0,203, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 3,204, 0, 0, 0,202, 0, 0, 0,195, 0, 0, 0, +193, 0, 0, 0, 0, 0, 0, 3,192, 0, 0, 0,203, 0, 0, 0,205, 0, 0, 0,190, 0, 0, 0, 0, 0, 0, 3,206, 0, 0, 0, +204, 0, 0, 0,193, 0, 0, 0,191, 0, 0, 0, 0, 0, 0, 3,198, 0, 0, 0,203, 0, 0, 0,201, 0, 0, 0,199, 0, 0, 0, + 0, 0, 0, 3,202, 0, 0, 0,204, 0, 0, 0,198, 0, 0, 0,200, 0, 0, 0, 0, 0, 0, 3,198, 0, 0, 0,207, 0, 0, 0, +205, 0, 0, 0,203, 0, 0, 0, 0, 0, 0, 3,206, 0, 0, 0,207, 0, 0, 0,198, 0, 0, 0,204, 0, 0, 0, 0, 0, 0, 3, +138, 0, 0, 0,139, 0, 0, 0,163, 0, 0, 0,176, 0, 0, 0, 0, 0, 0, 3,164, 0, 0, 0,140, 0, 0, 0,138, 0, 0, 0, +176, 0, 0, 0, 0, 0, 0, 3,139, 0, 0, 0,141, 0, 0, 0,210, 0, 0, 0,163, 0, 0, 0, 0, 0, 0, 3,211, 0, 0, 0, +142, 0, 0, 0,140, 0, 0, 0,164, 0, 0, 0, 0, 0, 0, 3,141, 0, 0, 0,143, 0, 0, 0,212, 0, 0, 0,210, 0, 0, 0, + 0, 0, 0, 3,213, 0, 0, 0,144, 0, 0, 0,142, 0, 0, 0,211, 0, 0, 0, 0, 0, 0, 3,143, 0, 0, 0,186, 0, 0, 0, +165, 0, 0, 0,212, 0, 0, 0, 0, 0, 0, 3,166, 0, 0, 0,187, 0, 0, 0,144, 0, 0, 0,213, 0, 0, 0, 0, 0, 0, 3, + 80, 0, 0, 0,208, 0, 0, 0,212, 0, 0, 0,165, 0, 0, 0, 0, 0, 0, 3,213, 0, 0, 0,209, 0, 0, 0, 81, 0, 0, 0, +166, 0, 0, 0, 0, 0, 0, 3,208, 0, 0, 0,214, 0, 0, 0,210, 0, 0, 0,212, 0, 0, 0, 0, 0, 0, 3,211, 0, 0, 0, +215, 0, 0, 0,209, 0, 0, 0,213, 0, 0, 0, 0, 0, 0, 3, 78, 0, 0, 0,163, 0, 0, 0,210, 0, 0, 0,214, 0, 0, 0, + 0, 0, 0, 3,211, 0, 0, 0,164, 0, 0, 0, 79, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 3,130, 0, 0, 0,129, 0, 0, 0, + 71, 0, 0, 0,221, 0, 0, 0, 0, 0, 0, 3, 71, 0, 0, 0,129, 0, 0, 0,131, 0, 0, 0,222, 0, 0, 0, 0, 0, 0, 3, +132, 0, 0, 0,130, 0, 0, 0,221, 0, 0, 0,219, 0, 0, 0, 0, 0, 0, 3,222, 0, 0, 0,131, 0, 0, 0,133, 0, 0, 0, +220, 0, 0, 0, 0, 0, 0, 3,134, 0, 0, 0,132, 0, 0, 0,219, 0, 0, 0,217, 0, 0, 0, 0, 0, 0, 3,220, 0, 0, 0, +133, 0, 0, 0,135, 0, 0, 0,218, 0, 0, 0, 0, 0, 0, 3,136, 0, 0, 0,134, 0, 0, 0,217, 0, 0, 0,216, 0, 0, 0, + 0, 0, 0, 3,218, 0, 0, 0,135, 0, 0, 0,136, 0, 0, 0,216, 0, 0, 0, 0, 0, 0, 3,216, 0, 0, 0,217, 0, 0, 0, +228, 0, 0, 0,230, 0, 0, 0, 0, 0, 0, 3,229, 0, 0, 0,218, 0, 0, 0,216, 0, 0, 0,230, 0, 0, 0, 0, 0, 0, 3, +217, 0, 0, 0,219, 0, 0, 0,226, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 3,227, 0, 0, 0,220, 0, 0, 0,218, 0, 0, 0, +229, 0, 0, 0, 0, 0, 0, 3,219, 0, 0, 0,221, 0, 0, 0,224, 0, 0, 0,226, 0, 0, 0, 0, 0, 0, 3,225, 0, 0, 0, +222, 0, 0, 0,220, 0, 0, 0,227, 0, 0, 0, 0, 0, 0, 3,221, 0, 0, 0, 71, 0, 0, 0,223, 0, 0, 0,224, 0, 0, 0, + 0, 0, 0, 3,223, 0, 0, 0, 71, 0, 0, 0,222, 0, 0, 0,225, 0, 0, 0, 0, 0, 0, 3,223, 0, 0, 0,230, 0, 0, 0, +228, 0, 0, 0,224, 0, 0, 0, 0, 0, 0, 3,229, 0, 0, 0,230, 0, 0, 0,223, 0, 0, 0,225, 0, 0, 0, 0, 0, 0, 3, +224, 0, 0, 0,228, 0, 0, 0,226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,227, 0, 0, 0,229, 0, 0, 0,225, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3,182, 0, 0, 0,180, 0, 0, 0,233, 0, 0, 0,231, 0, 0, 0, 0, 0, 0, 3,234, 0, 0, 0, +181, 0, 0, 0,183, 0, 0, 0,232, 0, 0, 0, 0, 0, 0, 3,111, 0, 0, 0,182, 0, 0, 0,231, 0, 0, 0,253, 0, 0, 0, + 0, 0, 0, 3,232, 0, 0, 0,183, 0, 0, 0,112, 0, 0, 0,254, 0, 0, 0, 0, 0, 0, 3,109, 0, 0, 0,111, 0, 0, 0, +253, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 3,254, 0, 0, 0,112, 0, 0, 0,110, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 3, +180, 0, 0, 0,113, 0, 0, 0,251, 0, 0, 0,233, 0, 0, 0, 0, 0, 0, 3,252, 0, 0, 0,114, 0, 0, 0,181, 0, 0, 0, +234, 0, 0, 0, 0, 0, 0, 3,113, 0, 0, 0,115, 0, 0, 0,249, 0, 0, 0,251, 0, 0, 0, 0, 0, 0, 3,250, 0, 0, 0, +116, 0, 0, 0,114, 0, 0, 0,252, 0, 0, 0, 0, 0, 0, 3,115, 0, 0, 0,117, 0, 0, 0,247, 0, 0, 0,249, 0, 0, 0, + 0, 0, 0, 3,248, 0, 0, 0,118, 0, 0, 0,116, 0, 0, 0,250, 0, 0, 0, 0, 0, 0, 3,117, 0, 0, 0,119, 0, 0, 0, +245, 0, 0, 0,247, 0, 0, 0, 0, 0, 0, 3,246, 0, 0, 0,120, 0, 0, 0,118, 0, 0, 0,248, 0, 0, 0, 0, 0, 0, 3, +119, 0, 0, 0,121, 0, 0, 0,243, 0, 0, 0,245, 0, 0, 0, 0, 0, 0, 3,244, 0, 0, 0,122, 0, 0, 0,120, 0, 0, 0, +246, 0, 0, 0, 0, 0, 0, 3,121, 0, 0, 0,123, 0, 0, 0,241, 0, 0, 0,243, 0, 0, 0, 0, 0, 0, 3,242, 0, 0, 0, +124, 0, 0, 0,122, 0, 0, 0,244, 0, 0, 0, 0, 0, 0, 3,123, 0, 0, 0,125, 0, 0, 0,239, 0, 0, 0,241, 0, 0, 0, + 0, 0, 0, 3,240, 0, 0, 0,126, 0, 0, 0,124, 0, 0, 0,242, 0, 0, 0, 0, 0, 0, 3,125, 0, 0, 0,178, 0, 0, 0, +235, 0, 0, 0,239, 0, 0, 0, 0, 0, 0, 3,236, 0, 0, 0,179, 0, 0, 0,126, 0, 0, 0,240, 0, 0, 0, 0, 0, 0, 3, +178, 0, 0, 0,127, 0, 0, 0,237, 0, 0, 0,235, 0, 0, 0, 0, 0, 0, 3,238, 0, 0, 0,128, 0, 0, 0,179, 0, 0, 0, +236, 0, 0, 0, 0, 0, 0, 3,127, 0, 0, 0,109, 0, 0, 0,255, 0, 0, 0,237, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, +110, 0, 0, 0,128, 0, 0, 0,238, 0, 0, 0, 0, 0, 0, 3,237, 0, 0, 0,255, 0, 0, 0, 1, 1, 0, 0, 19, 1, 0, 0, + 0, 0, 0, 3, 2, 1, 0, 0, 0, 1, 0, 0,238, 0, 0, 0, 20, 1, 0, 0, 0, 0, 0, 3,235, 0, 0, 0,237, 0, 0, 0, + 19, 1, 0, 0, 21, 1, 0, 0, 0, 0, 0, 3, 20, 1, 0, 0,238, 0, 0, 0,236, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 3, +239, 0, 0, 0,235, 0, 0, 0, 21, 1, 0, 0, 17, 1, 0, 0, 0, 0, 0, 3, 22, 1, 0, 0,236, 0, 0, 0,240, 0, 0, 0, + 18, 1, 0, 0, 0, 0, 0, 3,241, 0, 0, 0,239, 0, 0, 0, 17, 1, 0, 0, 15, 1, 0, 0, 0, 0, 0, 3, 18, 1, 0, 0, +240, 0, 0, 0,242, 0, 0, 0, 16, 1, 0, 0, 0, 0, 0, 3,243, 0, 0, 0,241, 0, 0, 0, 15, 1, 0, 0, 13, 1, 0, 0, + 0, 0, 0, 3, 16, 1, 0, 0,242, 0, 0, 0,244, 0, 0, 0, 14, 1, 0, 0, 0, 0, 0, 3,245, 0, 0, 0,243, 0, 0, 0, + 13, 1, 0, 0, 11, 1, 0, 0, 0, 0, 0, 3, 14, 1, 0, 0,244, 0, 0, 0,246, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 3, +247, 0, 0, 0,245, 0, 0, 0, 11, 1, 0, 0, 9, 1, 0, 0, 0, 0, 0, 3, 12, 1, 0, 0,246, 0, 0, 0,248, 0, 0, 0, + 10, 1, 0, 0, 0, 0, 0, 3,249, 0, 0, 0,247, 0, 0, 0, 9, 1, 0, 0, 7, 1, 0, 0, 0, 0, 0, 3, 10, 1, 0, 0, +248, 0, 0, 0,250, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 3,251, 0, 0, 0,249, 0, 0, 0, 7, 1, 0, 0, 5, 1, 0, 0, + 0, 0, 0, 3, 8, 1, 0, 0,250, 0, 0, 0,252, 0, 0, 0, 6, 1, 0, 0, 0, 0, 0, 3,233, 0, 0, 0,251, 0, 0, 0, + 5, 1, 0, 0, 23, 1, 0, 0, 0, 0, 0, 3, 6, 1, 0, 0,252, 0, 0, 0,234, 0, 0, 0, 24, 1, 0, 0, 0, 0, 0, 3, +255, 0, 0, 0,253, 0, 0, 0, 3, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 3, 4, 1, 0, 0,254, 0, 0, 0, 0, 1, 0, 0, + 2, 1, 0, 0, 0, 0, 0, 3,253, 0, 0, 0,231, 0, 0, 0, 25, 1, 0, 0, 3, 1, 0, 0, 0, 0, 0, 3, 26, 1, 0, 0, +232, 0, 0, 0,254, 0, 0, 0, 4, 1, 0, 0, 0, 0, 0, 3,231, 0, 0, 0,233, 0, 0, 0, 23, 1, 0, 0, 25, 1, 0, 0, + 0, 0, 0, 3, 24, 1, 0, 0,234, 0, 0, 0,232, 0, 0, 0, 26, 1, 0, 0, 0, 0, 0, 3, 66, 0, 0, 0,107, 0, 0, 0, + 27, 1, 0, 0, 72, 0, 0, 0, 0, 0, 0, 3, 28, 1, 0, 0,108, 0, 0, 0, 66, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 3, +107, 0, 0, 0,105, 0, 0, 0, 29, 1, 0, 0, 27, 1, 0, 0, 0, 0, 0, 3, 30, 1, 0, 0,106, 0, 0, 0,108, 0, 0, 0, + 28, 1, 0, 0, 0, 0, 0, 3,105, 0, 0, 0,103, 0, 0, 0, 31, 1, 0, 0, 29, 1, 0, 0, 0, 0, 0, 3, 32, 1, 0, 0, +104, 0, 0, 0,106, 0, 0, 0, 30, 1, 0, 0, 0, 0, 0, 3,103, 0, 0, 0,101, 0, 0, 0, 33, 1, 0, 0, 31, 1, 0, 0, + 0, 0, 0, 3, 34, 1, 0, 0,102, 0, 0, 0,104, 0, 0, 0, 32, 1, 0, 0, 0, 0, 0, 3,101, 0, 0, 0, 99, 0, 0, 0, + 35, 1, 0, 0, 33, 1, 0, 0, 0, 0, 0, 3, 36, 1, 0, 0,100, 0, 0, 0,102, 0, 0, 0, 34, 1, 0, 0, 0, 0, 0, 3, + 99, 0, 0, 0, 97, 0, 0, 0, 37, 1, 0, 0, 35, 1, 0, 0, 0, 0, 0, 3, 38, 1, 0, 0, 98, 0, 0, 0,100, 0, 0, 0, + 36, 1, 0, 0, 0, 0, 0, 3, 97, 0, 0, 0, 95, 0, 0, 0, 39, 1, 0, 0, 37, 1, 0, 0, 0, 0, 0, 3, 40, 1, 0, 0, + 96, 0, 0, 0, 98, 0, 0, 0, 38, 1, 0, 0, 0, 0, 0, 3, 95, 0, 0, 0, 93, 0, 0, 0, 41, 1, 0, 0, 39, 1, 0, 0, + 0, 0, 0, 3, 42, 1, 0, 0, 94, 0, 0, 0, 96, 0, 0, 0, 40, 1, 0, 0, 0, 0, 0, 3, 93, 0, 0, 0, 91, 0, 0, 0, + 43, 1, 0, 0, 41, 1, 0, 0, 0, 0, 0, 3, 44, 1, 0, 0, 92, 0, 0, 0, 94, 0, 0, 0, 42, 1, 0, 0, 0, 0, 0, 3, + 51, 1, 0, 0, 52, 1, 0, 0, 71, 1, 0, 0, 81, 1, 0, 0, 0, 0, 0, 3, 72, 1, 0, 0, 52, 1, 0, 0, 51, 1, 0, 0, + 82, 1, 0, 0, 0, 0, 0, 3, 50, 1, 0, 0, 51, 1, 0, 0, 81, 1, 0, 0, 79, 1, 0, 0, 0, 0, 0, 3, 82, 1, 0, 0, + 51, 1, 0, 0, 50, 1, 0, 0, 80, 1, 0, 0, 0, 0, 0, 3, 49, 1, 0, 0, 50, 1, 0, 0, 79, 1, 0, 0, 83, 1, 0, 0, + 0, 0, 0, 3, 80, 1, 0, 0, 50, 1, 0, 0, 49, 1, 0, 0, 84, 1, 0, 0, 0, 0, 0, 3, 88, 0, 0, 0, 90, 0, 0, 0, + 49, 1, 0, 0, 83, 1, 0, 0, 0, 0, 0, 3, 49, 1, 0, 0, 90, 0, 0, 0, 89, 0, 0, 0, 84, 1, 0, 0, 0, 0, 0, 3, + 86, 0, 0, 0, 88, 0, 0, 0, 83, 1, 0, 0, 77, 1, 0, 0, 0, 0, 0, 3, 84, 1, 0, 0, 89, 0, 0, 0, 87, 0, 0, 0, + 78, 1, 0, 0, 0, 0, 0, 3, 84, 0, 0, 0, 86, 0, 0, 0, 77, 1, 0, 0, 73, 1, 0, 0, 0, 0, 0, 3, 78, 1, 0, 0, + 87, 0, 0, 0, 85, 0, 0, 0, 74, 1, 0, 0, 0, 0, 0, 3, 82, 0, 0, 0, 84, 0, 0, 0, 73, 1, 0, 0, 75, 1, 0, 0, + 0, 0, 0, 3, 74, 1, 0, 0, 85, 0, 0, 0, 83, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 3, 73, 1, 0, 0, 79, 1, 0, 0, + 81, 1, 0, 0, 75, 1, 0, 0, 0, 0, 0, 3, 82, 1, 0, 0, 80, 1, 0, 0, 74, 1, 0, 0, 76, 1, 0, 0, 0, 0, 0, 3, + 73, 1, 0, 0, 77, 1, 0, 0, 83, 1, 0, 0, 79, 1, 0, 0, 0, 0, 0, 3, 84, 1, 0, 0, 78, 1, 0, 0, 74, 1, 0, 0, + 80, 1, 0, 0, 0, 0, 0, 3, 69, 1, 0, 0, 75, 1, 0, 0, 81, 1, 0, 0, 71, 1, 0, 0, 0, 0, 0, 3, 82, 1, 0, 0, + 76, 1, 0, 0, 70, 1, 0, 0, 72, 1, 0, 0, 0, 0, 0, 3, 80, 0, 0, 0, 82, 0, 0, 0, 75, 1, 0, 0, 69, 1, 0, 0, + 0, 0, 0, 3, 76, 1, 0, 0, 83, 0, 0, 0, 81, 0, 0, 0, 70, 1, 0, 0, 0, 0, 0, 3,208, 0, 0, 0, 85, 1, 0, 0, + 87, 1, 0, 0,214, 0, 0, 0, 0, 0, 0, 3, 88, 1, 0, 0, 86, 1, 0, 0,209, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 3, + 80, 0, 0, 0, 69, 1, 0, 0, 85, 1, 0, 0,208, 0, 0, 0, 0, 0, 0, 3, 86, 1, 0, 0, 70, 1, 0, 0, 81, 0, 0, 0, +209, 0, 0, 0, 0, 0, 0, 3, 78, 0, 0, 0,214, 0, 0, 0, 87, 1, 0, 0, 89, 1, 0, 0, 0, 0, 0, 3, 88, 1, 0, 0, +215, 0, 0, 0, 79, 0, 0, 0, 90, 1, 0, 0, 0, 0, 0, 3, 78, 0, 0, 0, 89, 1, 0, 0, 43, 1, 0, 0, 91, 0, 0, 0, + 0, 0, 0, 3, 44, 1, 0, 0, 90, 1, 0, 0, 79, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 3, 76, 0, 0, 0, 67, 1, 0, 0, + 95, 1, 0, 0, 47, 1, 0, 0, 0, 0, 0, 3, 96, 1, 0, 0, 68, 1, 0, 0, 76, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 3, + 47, 1, 0, 0, 95, 1, 0, 0, 93, 1, 0, 0, 77, 0, 0, 0, 0, 0, 0, 3, 94, 1, 0, 0, 96, 1, 0, 0, 47, 1, 0, 0, + 77, 0, 0, 0, 0, 0, 0, 3, 77, 0, 0, 0, 93, 1, 0, 0, 91, 1, 0, 0, 48, 1, 0, 0, 0, 0, 0, 3, 92, 1, 0, 0, + 94, 1, 0, 0, 77, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 3, 48, 1, 0, 0, 91, 1, 0, 0, 71, 1, 0, 0, 52, 1, 0, 0, + 0, 0, 0, 3, 72, 1, 0, 0, 92, 1, 0, 0, 48, 1, 0, 0, 52, 1, 0, 0, 0, 0, 0, 3, 69, 1, 0, 0, 71, 1, 0, 0, + 91, 1, 0, 0, 85, 1, 0, 0, 0, 0, 0, 3, 92, 1, 0, 0, 72, 1, 0, 0, 70, 1, 0, 0, 86, 1, 0, 0, 0, 0, 0, 3, + 39, 1, 0, 0, 41, 1, 0, 0, 61, 1, 0, 0, 53, 1, 0, 0, 0, 0, 0, 3, 62, 1, 0, 0, 42, 1, 0, 0, 40, 1, 0, 0, + 54, 1, 0, 0, 0, 0, 0, 3, 75, 0, 0, 0, 59, 1, 0, 0, 67, 1, 0, 0, 76, 0, 0, 0, 0, 0, 0, 3, 68, 1, 0, 0, + 60, 1, 0, 0, 75, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 3, 45, 1, 0, 0,101, 1, 0, 0, 99, 1, 0, 0, 46, 1, 0, 0, + 0, 0, 0, 3,100, 1, 0, 0,102, 1, 0, 0, 45, 1, 0, 0, 46, 1, 0, 0, 0, 0, 0, 3, 46, 1, 0, 0, 99, 1, 0, 0, + 97, 1, 0, 0, 74, 0, 0, 0, 0, 0, 0, 3, 98, 1, 0, 0,100, 1, 0, 0, 46, 1, 0, 0, 74, 0, 0, 0, 0, 0, 0, 3, + 74, 0, 0, 0, 97, 1, 0, 0, 59, 1, 0, 0, 75, 0, 0, 0, 0, 0, 0, 3, 60, 1, 0, 0, 98, 1, 0, 0, 74, 0, 0, 0, + 75, 0, 0, 0, 0, 0, 0, 3, 35, 1, 0, 0, 37, 1, 0, 0,105, 1, 0, 0,107, 1, 0, 0, 0, 0, 0, 3,106, 1, 0, 0, + 38, 1, 0, 0, 36, 1, 0, 0,108, 1, 0, 0, 0, 0, 0, 3,107, 1, 0, 0,105, 1, 0, 0,111, 1, 0, 0,109, 1, 0, 0, + 0, 0, 0, 3,112, 1, 0, 0,106, 1, 0, 0,108, 1, 0, 0,110, 1, 0, 0, 0, 0, 0, 3,109, 1, 0, 0,111, 1, 0, 0, +113, 1, 0, 0,115, 1, 0, 0, 0, 0, 0, 3,114, 1, 0, 0,112, 1, 0, 0,110, 1, 0, 0,116, 1, 0, 0, 0, 0, 0, 3, +115, 1, 0, 0,113, 1, 0, 0,119, 1, 0, 0,117, 1, 0, 0, 0, 0, 0, 3,120, 1, 0, 0,114, 1, 0, 0,116, 1, 0, 0, +118, 1, 0, 0, 0, 0, 0, 3, 57, 1, 0, 0,121, 1, 0, 0,117, 1, 0, 0,119, 1, 0, 0, 0, 0, 0, 3,118, 1, 0, 0, +122, 1, 0, 0, 58, 1, 0, 0,120, 1, 0, 0, 0, 0, 0, 3, 59, 1, 0, 0, 97, 1, 0, 0,117, 1, 0, 0,121, 1, 0, 0, + 0, 0, 0, 3,118, 1, 0, 0, 98, 1, 0, 0, 60, 1, 0, 0,122, 1, 0, 0, 0, 0, 0, 3, 97, 1, 0, 0, 99, 1, 0, 0, +115, 1, 0, 0,117, 1, 0, 0, 0, 0, 0, 3,116, 1, 0, 0,100, 1, 0, 0, 98, 1, 0, 0,118, 1, 0, 0, 0, 0, 0, 3, + 99, 1, 0, 0,101, 1, 0, 0,109, 1, 0, 0,115, 1, 0, 0, 0, 0, 0, 3,110, 1, 0, 0,102, 1, 0, 0,100, 1, 0, 0, +116, 1, 0, 0, 0, 0, 0, 3,101, 1, 0, 0,103, 1, 0, 0,107, 1, 0, 0,109, 1, 0, 0, 0, 0, 0, 3,108, 1, 0, 0, +104, 1, 0, 0,102, 1, 0, 0,110, 1, 0, 0, 0, 0, 0, 3, 33, 1, 0, 0, 35, 1, 0, 0,107, 1, 0, 0,103, 1, 0, 0, + 0, 0, 0, 3,108, 1, 0, 0, 36, 1, 0, 0, 34, 1, 0, 0,104, 1, 0, 0, 0, 0, 0, 3, 73, 0, 0, 0,103, 1, 0, 0, +101, 1, 0, 0, 45, 1, 0, 0, 0, 0, 0, 3,102, 1, 0, 0,104, 1, 0, 0, 73, 0, 0, 0, 45, 1, 0, 0, 0, 0, 0, 3, + 27, 1, 0, 0, 29, 1, 0, 0, 31, 1, 0, 0, 33, 1, 0, 0, 0, 0, 0, 3, 32, 1, 0, 0, 30, 1, 0, 0, 28, 1, 0, 0, + 34, 1, 0, 0, 0, 0, 0, 3, 27, 1, 0, 0, 33, 1, 0, 0,103, 1, 0, 0, 73, 0, 0, 0, 0, 0, 0, 3,104, 1, 0, 0, + 34, 1, 0, 0, 28, 1, 0, 0, 73, 0, 0, 0, 0, 0, 0, 3, 72, 0, 0, 0, 27, 1, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 73, 0, 0, 0, 28, 1, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 37, 1, 0, 0, 39, 1, 0, 0, + 53, 1, 0, 0,105, 1, 0, 0, 0, 0, 0, 3, 54, 1, 0, 0, 40, 1, 0, 0, 38, 1, 0, 0,106, 1, 0, 0, 0, 0, 0, 3, + 53, 1, 0, 0, 55, 1, 0, 0,111, 1, 0, 0,105, 1, 0, 0, 0, 0, 0, 3,112, 1, 0, 0, 56, 1, 0, 0, 54, 1, 0, 0, +106, 1, 0, 0, 0, 0, 0, 3, 55, 1, 0, 0,125, 1, 0, 0,113, 1, 0, 0,111, 1, 0, 0, 0, 0, 0, 3,114, 1, 0, 0, +126, 1, 0, 0, 56, 1, 0, 0,112, 1, 0, 0, 0, 0, 0, 3, 57, 1, 0, 0,119, 1, 0, 0,113, 1, 0, 0,125, 1, 0, 0, + 0, 0, 0, 3,114, 1, 0, 0,120, 1, 0, 0, 58, 1, 0, 0,126, 1, 0, 0, 0, 0, 0, 3, 91, 1, 0, 0, 93, 1, 0, 0, +129, 1, 0, 0,127, 1, 0, 0, 0, 0, 0, 3,130, 1, 0, 0, 94, 1, 0, 0, 92, 1, 0, 0,128, 1, 0, 0, 0, 0, 0, 3, + 61, 1, 0, 0,127, 1, 0, 0,129, 1, 0, 0, 63, 1, 0, 0, 0, 0, 0, 3,130, 1, 0, 0,128, 1, 0, 0, 62, 1, 0, 0, + 64, 1, 0, 0, 0, 0, 0, 3, 41, 1, 0, 0, 43, 1, 0, 0,127, 1, 0, 0, 61, 1, 0, 0, 0, 0, 0, 3,128, 1, 0, 0, + 44, 1, 0, 0, 42, 1, 0, 0, 62, 1, 0, 0, 0, 0, 0, 3, 43, 1, 0, 0, 87, 1, 0, 0, 85, 1, 0, 0,127, 1, 0, 0, + 0, 0, 0, 3, 86, 1, 0, 0, 88, 1, 0, 0, 44, 1, 0, 0,128, 1, 0, 0, 0, 0, 0, 3, 85, 1, 0, 0, 91, 1, 0, 0, +127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,128, 1, 0, 0, 92, 1, 0, 0, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, + 43, 1, 0, 0, 89, 1, 0, 0, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 88, 1, 0, 0, 90, 1, 0, 0, 44, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3, 57, 1, 0, 0, 65, 1, 0, 0,123, 1, 0, 0,121, 1, 0, 0, 0, 0, 0, 3,124, 1, 0, 0, + 66, 1, 0, 0, 58, 1, 0, 0,122, 1, 0, 0, 0, 0, 0, 3, 59, 1, 0, 0,121, 1, 0, 0,123, 1, 0, 0, 67, 1, 0, 0, + 0, 0, 0, 3,124, 1, 0, 0,122, 1, 0, 0, 60, 1, 0, 0, 68, 1, 0, 0, 0, 0, 0, 3, 63, 1, 0, 0,129, 1, 0, 0, +123, 1, 0, 0, 65, 1, 0, 0, 0, 0, 0, 3,124, 1, 0, 0,130, 1, 0, 0, 64, 1, 0, 0, 66, 1, 0, 0, 0, 0, 0, 3, + 93, 1, 0, 0, 95, 1, 0, 0,123, 1, 0, 0,129, 1, 0, 0, 0, 0, 0, 3,124, 1, 0, 0, 96, 1, 0, 0, 94, 1, 0, 0, +130, 1, 0, 0, 0, 0, 0, 3, 67, 1, 0, 0,123, 1, 0, 0, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 96, 1, 0, 0, +124, 1, 0, 0, 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,143, 1, 0, 0,131, 1, 0, 0,157, 1, 0, 0,145, 1, 0, 0, + 0, 0, 0, 3,158, 1, 0, 0,132, 1, 0, 0,144, 1, 0, 0,146, 1, 0, 0, 0, 0, 0, 3,143, 1, 0, 0,145, 1, 0, 0, +147, 1, 0, 0,141, 1, 0, 0, 0, 0, 0, 3,148, 1, 0, 0,146, 1, 0, 0,144, 1, 0, 0,142, 1, 0, 0, 0, 0, 0, 3, +141, 1, 0, 0,147, 1, 0, 0,149, 1, 0, 0,139, 1, 0, 0, 0, 0, 0, 3,150, 1, 0, 0,148, 1, 0, 0,142, 1, 0, 0, +140, 1, 0, 0, 0, 0, 0, 3,139, 1, 0, 0,149, 1, 0, 0,151, 1, 0, 0,137, 1, 0, 0, 0, 0, 0, 3,152, 1, 0, 0, +150, 1, 0, 0,140, 1, 0, 0,138, 1, 0, 0, 0, 0, 0, 3,137, 1, 0, 0,151, 1, 0, 0,153, 1, 0, 0,135, 1, 0, 0, + 0, 0, 0, 3,154, 1, 0, 0,152, 1, 0, 0,138, 1, 0, 0,136, 1, 0, 0, 0, 0, 0, 3,135, 1, 0, 0,153, 1, 0, 0, +155, 1, 0, 0,133, 1, 0, 0, 0, 0, 0, 3,156, 1, 0, 0,154, 1, 0, 0,136, 1, 0, 0,134, 1, 0, 0, 0, 0, 0, 3, +153, 1, 0, 0,163, 1, 0, 0,161, 1, 0, 0,155, 1, 0, 0, 0, 0, 0, 3,162, 1, 0, 0,164, 1, 0, 0,154, 1, 0, 0, +156, 1, 0, 0, 0, 0, 0, 3,151, 1, 0, 0,165, 1, 0, 0,163, 1, 0, 0,153, 1, 0, 0, 0, 0, 0, 3,164, 1, 0, 0, +166, 1, 0, 0,152, 1, 0, 0,154, 1, 0, 0, 0, 0, 0, 3,149, 1, 0, 0,167, 1, 0, 0,165, 1, 0, 0,151, 1, 0, 0, + 0, 0, 0, 3,166, 1, 0, 0,168, 1, 0, 0,150, 1, 0, 0,152, 1, 0, 0, 0, 0, 0, 3,147, 1, 0, 0,169, 1, 0, 0, +167, 1, 0, 0,149, 1, 0, 0, 0, 0, 0, 3,168, 1, 0, 0,170, 1, 0, 0,148, 1, 0, 0,150, 1, 0, 0, 0, 0, 0, 3, +145, 1, 0, 0,171, 1, 0, 0,169, 1, 0, 0,147, 1, 0, 0, 0, 0, 0, 3,170, 1, 0, 0,172, 1, 0, 0,146, 1, 0, 0, +148, 1, 0, 0, 0, 0, 0, 3,145, 1, 0, 0,157, 1, 0, 0,159, 1, 0, 0,171, 1, 0, 0, 0, 0, 0, 3,160, 1, 0, 0, +158, 1, 0, 0,146, 1, 0, 0,172, 1, 0, 0, 0, 0, 0, 3, 61, 1, 0, 0, 63, 1, 0, 0,187, 1, 0, 0,185, 1, 0, 0, + 0, 0, 0, 3,188, 1, 0, 0, 64, 1, 0, 0, 62, 1, 0, 0,186, 1, 0, 0, 0, 0, 0, 3, 63, 1, 0, 0,133, 1, 0, 0, +155, 1, 0, 0,187, 1, 0, 0, 0, 0, 0, 3,156, 1, 0, 0,134, 1, 0, 0, 64, 1, 0, 0,188, 1, 0, 0, 0, 0, 0, 3, + 53, 1, 0, 0, 61, 1, 0, 0,185, 1, 0, 0, 55, 1, 0, 0, 0, 0, 0, 3,186, 1, 0, 0, 62, 1, 0, 0, 54, 1, 0, 0, + 56, 1, 0, 0, 0, 0, 0, 3,125, 1, 0, 0,173, 1, 0, 0,157, 1, 0, 0,131, 1, 0, 0, 0, 0, 0, 3,158, 1, 0, 0, +174, 1, 0, 0,126, 1, 0, 0,132, 1, 0, 0, 0, 0, 0, 3,155, 1, 0, 0,161, 1, 0, 0,183, 1, 0, 0,187, 1, 0, 0, + 0, 0, 0, 3,184, 1, 0, 0,162, 1, 0, 0,156, 1, 0, 0,188, 1, 0, 0, 0, 0, 0, 3,181, 1, 0, 0,189, 1, 0, 0, +187, 1, 0, 0,183, 1, 0, 0, 0, 0, 0, 3,188, 1, 0, 0,190, 1, 0, 0,182, 1, 0, 0,184, 1, 0, 0, 0, 0, 0, 3, +177, 1, 0, 0,189, 1, 0, 0,181, 1, 0, 0,179, 1, 0, 0, 0, 0, 0, 3,182, 1, 0, 0,190, 1, 0, 0,178, 1, 0, 0, +180, 1, 0, 0, 0, 0, 0, 3,175, 1, 0, 0,191, 1, 0, 0,189, 1, 0, 0,177, 1, 0, 0, 0, 0, 0, 3,190, 1, 0, 0, +192, 1, 0, 0,176, 1, 0, 0,178, 1, 0, 0, 0, 0, 0, 3,173, 1, 0, 0,191, 1, 0, 0,175, 1, 0, 0,193, 1, 0, 0, + 0, 0, 0, 3,176, 1, 0, 0,192, 1, 0, 0,174, 1, 0, 0,194, 1, 0, 0, 0, 0, 0, 3,157, 1, 0, 0,173, 1, 0, 0, +193, 1, 0, 0,159, 1, 0, 0, 0, 0, 0, 3,194, 1, 0, 0,174, 1, 0, 0,158, 1, 0, 0,160, 1, 0, 0, 0, 0, 0, 3, + 55, 1, 0, 0,191, 1, 0, 0,173, 1, 0, 0,125, 1, 0, 0, 0, 0, 0, 3,174, 1, 0, 0,192, 1, 0, 0, 56, 1, 0, 0, +126, 1, 0, 0, 0, 0, 0, 3, 55, 1, 0, 0,185, 1, 0, 0,189, 1, 0, 0,191, 1, 0, 0, 0, 0, 0, 3,190, 1, 0, 0, +186, 1, 0, 0, 56, 1, 0, 0,192, 1, 0, 0, 0, 0, 0, 3,185, 1, 0, 0,187, 1, 0, 0,189, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3,190, 1, 0, 0,188, 1, 0, 0,186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,159, 1, 0, 0,193, 1, 0, 0, +195, 1, 0, 0,219, 1, 0, 0, 0, 0, 0, 3,196, 1, 0, 0,194, 1, 0, 0,160, 1, 0, 0,220, 1, 0, 0, 0, 0, 0, 3, +193, 1, 0, 0,175, 1, 0, 0,205, 1, 0, 0,195, 1, 0, 0, 0, 0, 0, 3,206, 1, 0, 0,176, 1, 0, 0,194, 1, 0, 0, +196, 1, 0, 0, 0, 0, 0, 3,175, 1, 0, 0,177, 1, 0, 0,203, 1, 0, 0,205, 1, 0, 0, 0, 0, 0, 3,204, 1, 0, 0, +178, 1, 0, 0,176, 1, 0, 0,206, 1, 0, 0, 0, 0, 0, 3,177, 1, 0, 0,179, 1, 0, 0,201, 1, 0, 0,203, 1, 0, 0, + 0, 0, 0, 3,202, 1, 0, 0,180, 1, 0, 0,178, 1, 0, 0,204, 1, 0, 0, 0, 0, 0, 3,179, 1, 0, 0,181, 1, 0, 0, +199, 1, 0, 0,201, 1, 0, 0, 0, 0, 0, 3,200, 1, 0, 0,182, 1, 0, 0,180, 1, 0, 0,202, 1, 0, 0, 0, 0, 0, 3, +181, 1, 0, 0,183, 1, 0, 0,197, 1, 0, 0,199, 1, 0, 0, 0, 0, 0, 3,198, 1, 0, 0,184, 1, 0, 0,182, 1, 0, 0, +200, 1, 0, 0, 0, 0, 0, 3,183, 1, 0, 0,161, 1, 0, 0,217, 1, 0, 0,197, 1, 0, 0, 0, 0, 0, 3,218, 1, 0, 0, +162, 1, 0, 0,184, 1, 0, 0,198, 1, 0, 0, 0, 0, 0, 3,171, 1, 0, 0,159, 1, 0, 0,219, 1, 0, 0,207, 1, 0, 0, + 0, 0, 0, 3,220, 1, 0, 0,160, 1, 0, 0,172, 1, 0, 0,208, 1, 0, 0, 0, 0, 0, 3,169, 1, 0, 0,171, 1, 0, 0, +207, 1, 0, 0,209, 1, 0, 0, 0, 0, 0, 3,208, 1, 0, 0,172, 1, 0, 0,170, 1, 0, 0,210, 1, 0, 0, 0, 0, 0, 3, +167, 1, 0, 0,169, 1, 0, 0,209, 1, 0, 0,211, 1, 0, 0, 0, 0, 0, 3,210, 1, 0, 0,170, 1, 0, 0,168, 1, 0, 0, +212, 1, 0, 0, 0, 0, 0, 3,165, 1, 0, 0,167, 1, 0, 0,211, 1, 0, 0,213, 1, 0, 0, 0, 0, 0, 3,212, 1, 0, 0, +168, 1, 0, 0,166, 1, 0, 0,214, 1, 0, 0, 0, 0, 0, 3,163, 1, 0, 0,165, 1, 0, 0,213, 1, 0, 0,215, 1, 0, 0, + 0, 0, 0, 3,214, 1, 0, 0,166, 1, 0, 0,164, 1, 0, 0,216, 1, 0, 0, 0, 0, 0, 3,161, 1, 0, 0,163, 1, 0, 0, +215, 1, 0, 0,217, 1, 0, 0, 0, 0, 0, 3,216, 1, 0, 0,164, 1, 0, 0,162, 1, 0, 0,218, 1, 0, 0, 0, 0, 0, 3, +201, 1, 0, 0,199, 1, 0, 0,223, 1, 0, 0,221, 1, 0, 0, 0, 0, 0, 3,224, 1, 0, 0,200, 1, 0, 0,202, 1, 0, 0, +222, 1, 0, 0, 0, 0, 0, 3,221, 1, 0, 0,223, 1, 0, 0,225, 1, 0, 0,227, 1, 0, 0, 0, 0, 0, 3,226, 1, 0, 0, +224, 1, 0, 0,222, 1, 0, 0,228, 1, 0, 0, 0, 0, 0, 3,227, 1, 0, 0,225, 1, 0, 0,231, 1, 0, 0,229, 1, 0, 0, + 0, 0, 0, 3,232, 1, 0, 0,226, 1, 0, 0,228, 1, 0, 0,230, 1, 0, 0, 0, 0, 0, 3,229, 1, 0, 0,231, 1, 0, 0, +233, 1, 0, 0,235, 1, 0, 0, 0, 0, 0, 3,234, 1, 0, 0,232, 1, 0, 0,230, 1, 0, 0,236, 1, 0, 0, 0, 0, 0, 3, +207, 1, 0, 0,219, 1, 0, 0,229, 1, 0, 0,235, 1, 0, 0, 0, 0, 0, 3,230, 1, 0, 0,220, 1, 0, 0,208, 1, 0, 0, +236, 1, 0, 0, 0, 0, 0, 3,195, 1, 0, 0,227, 1, 0, 0,229, 1, 0, 0,219, 1, 0, 0, 0, 0, 0, 3,230, 1, 0, 0, +228, 1, 0, 0,196, 1, 0, 0,220, 1, 0, 0, 0, 0, 0, 3,195, 1, 0, 0,205, 1, 0, 0,221, 1, 0, 0,227, 1, 0, 0, + 0, 0, 0, 3,222, 1, 0, 0,206, 1, 0, 0,196, 1, 0, 0,228, 1, 0, 0, 0, 0, 0, 3,201, 1, 0, 0,221, 1, 0, 0, +205, 1, 0, 0,203, 1, 0, 0, 0, 0, 0, 3,206, 1, 0, 0,222, 1, 0, 0,202, 1, 0, 0,204, 1, 0, 0, 0, 0, 0, 3, +197, 1, 0, 0,217, 1, 0, 0,223, 1, 0, 0,199, 1, 0, 0, 0, 0, 0, 3,224, 1, 0, 0,218, 1, 0, 0,198, 1, 0, 0, +200, 1, 0, 0, 0, 0, 0, 3,215, 1, 0, 0,225, 1, 0, 0,223, 1, 0, 0,217, 1, 0, 0, 0, 0, 0, 3,224, 1, 0, 0, +226, 1, 0, 0,216, 1, 0, 0,218, 1, 0, 0, 0, 0, 0, 3,213, 1, 0, 0,231, 1, 0, 0,225, 1, 0, 0,215, 1, 0, 0, + 0, 0, 0, 3,226, 1, 0, 0,232, 1, 0, 0,214, 1, 0, 0,216, 1, 0, 0, 0, 0, 0, 3,211, 1, 0, 0,233, 1, 0, 0, +231, 1, 0, 0,213, 1, 0, 0, 0, 0, 0, 3,232, 1, 0, 0,234, 1, 0, 0,212, 1, 0, 0,214, 1, 0, 0, 0, 0, 0, 3, +209, 1, 0, 0,235, 1, 0, 0,233, 1, 0, 0,211, 1, 0, 0, 0, 0, 0, 3,234, 1, 0, 0,236, 1, 0, 0,210, 1, 0, 0, +212, 1, 0, 0, 0, 0, 0, 3,207, 1, 0, 0,235, 1, 0, 0,209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,210, 1, 0, 0, +236, 1, 0, 0,208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,135, 1, 0, 0,133, 1, 0, 0,247, 1, 0, 0,245, 1, 0, 0, + 0, 0, 0, 3,248, 1, 0, 0,134, 1, 0, 0,136, 1, 0, 0,246, 1, 0, 0, 0, 0, 0, 3,137, 1, 0, 0,135, 1, 0, 0, +245, 1, 0, 0,243, 1, 0, 0, 0, 0, 0, 3,246, 1, 0, 0,136, 1, 0, 0,138, 1, 0, 0,244, 1, 0, 0, 0, 0, 0, 3, +139, 1, 0, 0,137, 1, 0, 0,243, 1, 0, 0,241, 1, 0, 0, 0, 0, 0, 3,244, 1, 0, 0,138, 1, 0, 0,140, 1, 0, 0, +242, 1, 0, 0, 0, 0, 0, 3,141, 1, 0, 0,139, 1, 0, 0,241, 1, 0, 0,239, 1, 0, 0, 0, 0, 0, 3,242, 1, 0, 0, +140, 1, 0, 0,142, 1, 0, 0,240, 1, 0, 0, 0, 0, 0, 3,143, 1, 0, 0,141, 1, 0, 0,239, 1, 0, 0,237, 1, 0, 0, + 0, 0, 0, 3,240, 1, 0, 0,142, 1, 0, 0,144, 1, 0, 0,238, 1, 0, 0, 0, 0, 0, 3,131, 1, 0, 0,143, 1, 0, 0, +237, 1, 0, 0,249, 1, 0, 0, 0, 0, 0, 3,238, 1, 0, 0,144, 1, 0, 0,132, 1, 0, 0,250, 1, 0, 0, 0, 0, 0, 3, +237, 1, 0, 0,245, 1, 0, 0,247, 1, 0, 0,249, 1, 0, 0, 0, 0, 0, 3,248, 1, 0, 0,246, 1, 0, 0,238, 1, 0, 0, +250, 1, 0, 0, 0, 0, 0, 3,237, 1, 0, 0,239, 1, 0, 0,243, 1, 0, 0,245, 1, 0, 0, 0, 0, 0, 3,244, 1, 0, 0, +240, 1, 0, 0,238, 1, 0, 0,246, 1, 0, 0, 0, 0, 0, 3,239, 1, 0, 0,241, 1, 0, 0,243, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3,244, 1, 0, 0,242, 1, 0, 0,240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 57, 1, 0, 0,125, 1, 0, 0, +131, 1, 0, 0,249, 1, 0, 0, 0, 0, 0, 3,132, 1, 0, 0,126, 1, 0, 0, 58, 1, 0, 0,250, 1, 0, 0, 0, 0, 0, 3, + 57, 1, 0, 0,249, 1, 0, 0,247, 1, 0, 0, 65, 1, 0, 0, 0, 0, 0, 3,248, 1, 0, 0,250, 1, 0, 0, 58, 1, 0, 0, + 66, 1, 0, 0, 0, 0, 0, 3, 63, 1, 0, 0, 65, 1, 0, 0,247, 1, 0, 0,133, 1, 0, 0, 0, 0, 0, 3,248, 1, 0, 0, + 66, 1, 0, 0, 64, 1, 0, 0,134, 1, 0, 0, 0, 0, 0, 3, 77, 69, 0, 0,176, 1, 0, 0, 40,248, 71, 27, 1, 0, 0, 0, + 46, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,240, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 24,250, 71, 27, 1, 0, 0, 0,120, 0, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 24,252, 71, 27, 1, 0, 0, 0, 88,254, 71, 27, 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, +104,250, 71, 27, 1, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,168,252, 71, 27, 1, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,254, 71, 27, 1, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, + 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0,255,255,255,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0, + 24,250, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,104,218, 71, 27, 1, 0, 0, 0, 68, 65, 84, 65,104, 1, 0, 0, +104,250, 71, 27, 1, 0, 0, 0, 93, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,252, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, + 24,252, 71, 27, 1, 0, 0, 0, 52, 0, 0, 0, 4, 0, 0, 0, 0, 0,128, 63,255,255,127, 63, 0, 0, 0, 0, 0, 0, 0, 0, +255,127, 1, 0, 0, 0,128, 63, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0,255,127, 1, 0, 1, 0,128,191,253,255,127,191, + 0, 0, 0, 0, 0, 0, 0, 0,255,127, 1, 0,250,255,127,191, 3, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,255,127, 1, 0, + 68, 65, 84, 65,104, 1, 0, 0,168,252, 71, 27, 1, 0, 0, 0, 93, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,254, 71, 27, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 68, 65, 84, 65, 48, 0, 0, 0, 88,254, 71, 27, 1, 0, 0, 0, 49, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, + 0, 0, 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0, + 2, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65,104, 1, 0, 0,200,254, 71, 27, 1, 0, 0, 0, 93, 1, 0, 0, 5, 0, 0, 0, + 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +120, 0, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,120, 0, 72, 27, 1, 0, 0, 0, 48, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 78, 84, 0, 0, 8, 1, 0, 0,216, 0, 72, 27, + 1, 0, 0, 0, 54, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 84, 70,114,101,115,110,101,108, 66,108,101,110,100, 0, 67,111, 97,116,105, +110,103, 0, 0, 2, 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, 40, 2, 72, 27, 1, 0, 0, 0, 24, 6, 72, 27, 1, 0, 0, 0,232, 17, 72, 27, 1, 0, 0, 0,104, 21, 72, 27, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,227, 55, 2, 1, 0, 0, 0,152, 11, 56, 2, 1, 0, 0, 0,232, 21, 72, 27, + 1, 0, 0, 0,136, 24, 72, 27, 1, 0, 0, 0,104, 25, 72, 27, 1, 0, 0, 0,104, 25, 72, 27, 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, 68, 65, 84, 65, 8, 1, 0, 0, 40, 2, 72, 27, + 1, 0, 0, 0, 52, 1, 0, 0, 1, 0, 0, 0,120, 3, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,182, 7, 27, + 1, 0, 0, 0, 68,105,102,102,117,115,101, 32, 66, 83, 68, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,132, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 7, 72, 27, 1, 0, 0, 0,104, 7, 72, 27, + 1, 0, 0, 0, 72, 8, 72, 27, 1, 0, 0, 0, 72, 8, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,242,251,235,194, 32,247, 50,193, 0, 0, 22, 67, 0, 0, 40, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,134,219,160, 66,195,109,102, 67, 90,192,206, 67, 90,192,241, 67, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,134,219,180, 66,195,109, 92, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,242, 55, 2, 1, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0,120, 3, 72, 27, + 1, 0, 0, 0, 52, 1, 0, 0, 1, 0, 0, 0,200, 4, 72, 27, 1, 0, 0, 0, 40, 2, 72, 27, 1, 0, 0, 0,152,159, 7, 27, + 1, 0, 0, 0, 71,108,111,115,115,121, 32, 66, 83, 68, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,133, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 40, 9, 72, 27, 1, 0, 0, 0,232, 10, 72, 27, + 1, 0, 0, 0,200, 11, 72, 27, 1, 0, 0, 0,200, 11, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 13,211,238,194, 48, 90,210,194, 0, 0, 22, 67, 0, 0, 40, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107, 4,158, 66, 54, 2,101, 67,135,193,139, 67,135,193,194, 67, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107, 4,178, 66, 54, 2, 91, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,243, 55, 2, 1, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0,200, 4, 72, 27, + 1, 0, 0, 0, 52, 1, 0, 0, 1, 0, 0, 0, 24, 6, 72, 27, 1, 0, 0, 0,120, 3, 72, 27, 1, 0, 0, 0,200,212, 7, 27, + 1, 0, 0, 0, 70,114,101,115,110,101,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,127, 0, 17, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0,168, 12, 72, 27, 1, 0, 0, 0,168, 12, 72, 27, + 1, 0, 0, 0,136, 13, 72, 27, 1, 0, 0, 0,136, 13, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,186,176,239,194,252, 1,213, 66, 0, 0, 12, 67, 0, 0, 40, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,190, 38,157, 66, 95,147, 90, 67, 73,204, 4, 68, 73, 76, 22, 68, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,190, 38,177, 66, 95,147, 80, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,238, 55, 2, 1, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0, 24, 6, 72, 27, + 1, 0, 0, 0, 52, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 4, 72, 27, 1, 0, 0, 0, 88,219, 7, 27, + 1, 0, 0, 0, 77,105,120, 32, 67,108,111,115,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,128, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0,104, 14, 72, 27, 1, 0, 0, 0, 40, 16, 72, 27, + 1, 0, 0, 0, 8, 17, 72, 27, 1, 0, 0, 0, 8, 17, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 21, 67,224, 63, 89, 65, 0, 0, 22, 67, 0, 0, 40, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,223,181,173, 67,223,181,248, 67, 18, 34,199, 67, 18, 34,254, 67, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,223,181,178, 67,223,181,243, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,249, 55, 2, 1, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,104, 7, 72, 27, + 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 2, 8, 27, + 1, 0, 0, 0, 67,111,108,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 64,181,241, 62,205,204, 76, 63, 19, 31,179, 62, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 4, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +134,219,160, 66, 90, 64,214, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 19, 72, 27, + 1, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, 72, 8, 72, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 77, 1, 27, 1, 0, 0, 0, 66, 83, 68, 70, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, + 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195,109,102, 67, 90, 64,224, 67, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, 40, 9, 72, 27, + 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 8, 10, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,226, 7, 27, + 1, 0, 0, 0, 67,111,108,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,205,204, 76, 63,205,204, 76, 63,205,204, 76, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 4, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +107, 4,158, 66,135, 65,167, 67, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 19, 72, 27, + 1, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, 8, 10, 72, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0,232, 10, 72, 27, + 1, 0, 0, 0, 40, 9, 72, 27, 1, 0, 0, 0, 24,241, 7, 27, 1, 0, 0, 0, 82,111,117,103,104,110,101,115,115, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, + 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,107, 4,158, 66,135, 65,157, 67, 4, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 20, 72, 27, 1, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,232, 10, 72, 27, + 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 10, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 70,114,101,115,110,101,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 32, 11, 72, 27, 1, 0, 0, 0,255,255, 0, 0, +107, 4,158, 66,135, 65,147, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,200, 11, 72, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,236, 7, 27, 1, 0, 0, 0, 66, 83, 68, 70, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, + 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 54, 2,101, 67,135, 65,177, 67, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,168, 12, 72, 27, + 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 70,114,101,115,110,101,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, +190, 38,157, 66, 73,140, 8, 68, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 20, 72, 27, + 1, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,136, 13, 72, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,218, 7, 27, 1, 0, 0, 0, 70, 97, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, +255, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 95,147, 90, 67, 73,140, 13, 68, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,104, 14, 72, 27, + 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 72, 15, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 12, 8, 27, + 1, 0, 0, 0, 70, 97, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, +223,181,173, 67, 18,162,226, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 17, 72, 27, + 1, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, 72, 15, 72, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 40, 16, 72, 27, + 1, 0, 0, 0,104, 14, 72, 27, 1, 0, 0, 0, 24, 13, 8, 27, 1, 0, 0, 0, 67,108,111,115,117,114,101, 49, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, + 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,223,181,173, 67, 18,162,216, 67, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 18, 72, 27, 1, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, 40, 16, 72, 27, + 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 15, 72, 27, 1, 0, 0, 0,232, 13, 8, 27, + 1, 0, 0, 0, 67,108,111,115,117,114,101, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, +223,181,173, 67, 18,162,206, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 18, 72, 27, + 1, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, 8, 17, 72, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 14, 8, 27, 1, 0, 0, 0, 67,108,111,115,117,114,101, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, + 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,223,181,248, 67, 18,162,236, 67, 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, 68, 65, 84, 65, 56, 0, 0, 0,232, 17, 72, 27, + 1, 0, 0, 0, 53, 1, 0, 0, 1, 0, 0, 0,104, 18, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 4, 72, 27, + 1, 0, 0, 0, 24, 6, 72, 27, 1, 0, 0, 0,136, 13, 72, 27, 1, 0, 0, 0,104, 14, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 56, 0, 0, 0,104, 18, 72, 27, 1, 0, 0, 0, 53, 1, 0, 0, 1, 0, 0, 0,232, 18, 72, 27, + 1, 0, 0, 0,232, 17, 72, 27, 1, 0, 0, 0, 40, 2, 72, 27, 1, 0, 0, 0, 24, 6, 72, 27, 1, 0, 0, 0, 72, 8, 72, 27, + 1, 0, 0, 0, 72, 15, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 0, 0, 0,232, 18, 72, 27, + 1, 0, 0, 0, 53, 1, 0, 0, 1, 0, 0, 0,104, 19, 72, 27, 1, 0, 0, 0,104, 18, 72, 27, 1, 0, 0, 0,120, 3, 72, 27, + 1, 0, 0, 0, 24, 6, 72, 27, 1, 0, 0, 0,200, 11, 72, 27, 1, 0, 0, 0, 40, 16, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 56, 0, 0, 0,104, 19, 72, 27, 1, 0, 0, 0, 53, 1, 0, 0, 1, 0, 0, 0,232, 19, 72, 27, + 1, 0, 0, 0,232, 18, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 2, 72, 27, 1, 0, 0, 0,232, 21, 72, 27, + 1, 0, 0, 0,104, 7, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 0, 0, 0,232, 19, 72, 27, + 1, 0, 0, 0, 53, 1, 0, 0, 1, 0, 0, 0,104, 20, 72, 27, 1, 0, 0, 0,104, 19, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,120, 3, 72, 27, 1, 0, 0, 0,200, 22, 72, 27, 1, 0, 0, 0, 40, 9, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 56, 0, 0, 0,104, 20, 72, 27, 1, 0, 0, 0, 53, 1, 0, 0, 1, 0, 0, 0,232, 20, 72, 27, + 1, 0, 0, 0,232, 19, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 3, 72, 27, 1, 0, 0, 0,168, 23, 72, 27, + 1, 0, 0, 0, 8, 10, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 0, 0, 0,232, 20, 72, 27, + 1, 0, 0, 0, 53, 1, 0, 0, 1, 0, 0, 0,104, 21, 72, 27, 1, 0, 0, 0,104, 20, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,200, 4, 72, 27, 1, 0, 0, 0,136, 24, 72, 27, 1, 0, 0, 0,168, 12, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65, 56, 0, 0, 0,104, 21, 72, 27, 1, 0, 0, 0, 53, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,232, 20, 72, 27, 1, 0, 0, 0, 24, 6, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 17, 72, 27, + 1, 0, 0, 0,104, 25, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,232, 21, 72, 27, + 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0,200, 22, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 67,111,108,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 64,181,241, 62,205,204, 76, 63, 19, 31,179, 62, 0, 0,128, 63, 0, 0, 0,207, 0, 0, 0, 79, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 4, 0,255, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +128, 80,182,191, 0, 0,250, 67, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,200, 22, 72, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0,168, 23, 72, 27, + 1, 0, 0, 0,232, 21, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111, 97,116, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,205,204, 76, 63,205,204, 76, 63, + 0, 0,128, 63, 0, 0, 0,207, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 4, 0, +255, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 80,182,191, 0, 0,230, 67, 12, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,168, 23, 72, 27, + 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0,136, 24, 72, 27, 1, 0, 0, 0,200, 22, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82,111,117,103,104,110,101,115,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 0, 0, 0, 79, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0,255, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, +128, 80,182,191, 0, 0,210, 67, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,136, 24, 72, 27, 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,168, 23, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66,108,101,110,100, 0,108, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0,207, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, +255, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,128, 80,182,191, 0, 0,190, 67, 15, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,104, 25, 72, 27, + 1, 0, 0, 0, 50, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 67,108,111,115,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 0, 0, 0, 79, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0, 4, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, +240, 90, 16, 68, 0, 0,215, 67, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 21, 72, 27, + 1, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 72, 26, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0,216, 32, 72, 27, + 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, 66, 82, 65,100, +100, 0,104, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0,232, 30, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, - 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -8042,346 +13016,93 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35, - 8, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 62,199,174, 20, 62,199,174, 20, - 62,199,174, 20, 62,199,174, 20, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 14,108, 0, 0, 0, 24, 0, 0, 0, 1, - 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 4,213,144,160, 0, 0, 1, 76, - 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 4,213,145,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,176, 26, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 4,213,145,224, - 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, - 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, - 2,153, 18, 32, 0, 0, 1, 80, 0, 0, 0, 1, 2,153, 22, 32, 2,153, 14, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,108, -111,110,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4,213,146, 64, 0, 1, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,232, 30, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, + 54,189,194, 61, 14,215,126,191, 46,189,194, 61,104, 32, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, - 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, - 2,153, 18,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,104, 32, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,216, 32, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0, 8, 38, 72, 27, + 1, 0, 0, 0, 72, 26, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,108, +111, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 24, 36, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, - 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 16, 4,213,146, 64, 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, 61,194,189, 54,191,126,215, 14, 61,194,189, 46, - 4,213,147,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 48, 4,213,147,128, 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,153, 22, 32, 0, 0, 1, 80, 0, 0, 0, 1, 2,153, 26, 32, 2,153, 18, 32, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,114,101, 97,115,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 4,213,147,224, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0, 64, 33, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 24, 36, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186,152, 37, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35, 0, 4, 6, 4, 0, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, - 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 62,199,174, 20, 62,199,174, 20, 62,199,174, 20, 62,199,174, 20, - 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 22,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 4,213,147,224, 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,190,175, 97,228, - 63,112,131, 50,191,127,243,218,188,157,183, 10, 4,213,149, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 4,213,149, 32, 0, 0, 1, 74, 0, 0, 0, 4, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 64, 0, 0, 61, 35,215, 10, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,153, 26, 32, 0, 0, 1, 80, - 0, 0, 0, 1, 2,153, 30, 32, 2,153, 22, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 68, 97,114,107,101,110, 0, 48, 54, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4,213,149,128, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, - 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 26,108, 0, 0, 0, 24, - 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 4,213,149,128, - 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, 61,194,189, 54,191,126,215, 14, 61,194,189, 46, 4,213,150,192, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, - 4,213,150,192, 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, - 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, - 0, 0, 2,204, 2,153, 30, 32, 0, 0, 1, 80, 0, 0, 0, 1, 2,153, 34, 32, 2,153, 26, 32, 0, 13,160, 0, 0, 0, 0, 0, - 66, 82, 68,114, 97,119, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4,213,151, 32, 0, 1, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 35, 8, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, - 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, - 62, 0, 0, 0, 63,128, 0, 0, 62,199,174, 20, 62,199,174, 20, 62,199,174, 20, 62,199,174, 20, 63,128, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 16, 2,153, 30,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 16, 4,213,151, 32, 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, - 0, 0, 0, 3, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224, -186,255, 97,114, 4,213,152, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 4,213,152, 96, 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,153, 34, 32, 0, 0, 1, 80, 0, 0, 0, 1, 2,153, 38, 32, - 2,153, 30, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,105,108,108, 47, 68,101,101,112,101,110, 0, 48, 48, 49, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, - 0, 0, 0, 0, 4,213,152,192, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35, 0, 4, 4, 4, - 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62,199,174, 20, 62,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 34,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 4,213,152,192, 0, 0, 1, 76, 0, 0, 0, 1, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, -191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 4,213,154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 4,213,154, 0, 0, 0, 1, 74, - 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, - 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,153, 38, 32, - 0, 0, 1, 80, 0, 0, 0, 1, 2,153, 42, 32, 2,153, 34, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,108, 97,116,116,101, -110, 47, 67,111,110,116,114, 97,115,116, 0, 48, 48, 49, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4,213,154, 96, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 62,199,174, 20, 62,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 38,108, - 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, - 4,213,154, 96, 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, - 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 4,213,155,160, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 48, 4,213,155,160, 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, - 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 66, 82, 0, 0, 2,204, 2,153, 42, 32, 0, 0, 1, 80, 0, 0, 0, 1, 2,153, 46, 32, 2,153, 38, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 66, 82, 71,114, 97, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4,213,156, 0, - 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, - 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, - 0, 0, 0, 33, 62, 0, 0, 0, 62,128, 0, 0, 63,128, 0, 0, 62,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 42,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 4,213,156, 0, 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46, -191,127,255,224,186,255, 97,114, 4,213,157, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 4,213,157, 64, 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,153, 46, 32, 0, 0, 1, 80, 0, 0, 0, 1, - 2,153, 50, 32, 2,153, 42, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 73,110,102,108, 97,116,101, 47, 68,101,102,108, 97,116, -101, 0, 48, 48, 49, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 4,213,157,160, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,152, 37, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 8, 38, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0, 56, 43, 72, 27, + 1, 0, 0, 0,216, 32, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,108, +117,114, 0, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 72, 41, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, - 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -8389,346 +13110,93 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35, - 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63, 64, 0, 0, 63, 64, 0, 0, 63, 64, 0, 0, - 62,128, 0, 0, 62,128, 0, 0, 62,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 46,108, 0, 0, 0, 24, 0, 0, 0, 1, - 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 4,213,157,160, 0, 0, 1, 76, - 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 4,213,158,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,112, 38, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 4,213,158,224, - 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, - 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, - 2,153, 50, 32, 0, 0, 1, 80, 0, 0, 0, 1, 2,153, 54, 32, 2,153, 46, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 76, 97, -121,101,114, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4,213,159, 64, 0, 1, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 72, 41, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, + 54,189,194, 61, 14,215,126,191, 46,189,194, 61,200, 42, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, - 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, - 63,128, 0, 0, 62,199,174, 20, 62,199,174, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, - 2,153, 50,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,200, 42, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 56, 43, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0,104, 48, 72, 27, + 1, 0, 0, 0, 8, 38, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,114, +117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0,120, 46, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, - 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 16, 4,213,159, 64, 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, - 4,213,160,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 48, 4,213,160,128, 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,153, 54, 32, 0, 0, 1, 80, 0, 0, 0, 1, 2,153, 58, 32, 2,153, 50, 32, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 76,105,103,104,116,101,110, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 4,213,160,224, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0,160, 43, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,120, 46, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186,248, 47, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, - 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 54,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 4,213,160,224, 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, - 61,194,189, 54,191,126,215, 14, 61,194,189, 46, 4,213,162, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 4,213,162, 32, 0, 0, 1, 74, 0, 0, 0, 4, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,153, 58, 32, 0, 0, 1, 80, - 0, 0, 0, 1, 2,153, 62, 32, 2,153, 54, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 77,105,120, 0,104, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4,213,162,128, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, - 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 58,108, 0, 0, 0, 24, - 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 4,213,162,128, - 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, 61,194,189, 54,191,126,215, 14, 61,194,189, 46, 4,213,163,192, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, - 4,213,163,192, 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, - 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, - 0, 0, 2,204, 2,153, 62, 32, 0, 0, 1, 80, 0, 0, 0, 1, 2,153, 66, 32, 2,153, 58, 32, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 77,117,108,116,105,112,108,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4,213,164, 32, 0, 1, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, - 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, - 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 16, 2,153, 62,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 16, 4,213,164, 32, 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, 61,194,189, 54,191,126,215, 14, - 61,194,189, 46, 4,213,165, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 4,213,165, 96, 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,153, 66, 32, 0, 0, 1, 80, 0, 0, 0, 1, 2,153, 70, 32, - 2,153, 62, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 78,117,100,103,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, - 0, 0, 0, 0, 4,213,165,192, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35, 0, 4, 4, 4, - 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 62,128, 0, 0, 63,128, 0, 0, 62,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 66,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 4,213,165,192, 0, 0, 1, 76, 0, 0, 0, 1, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, -191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 4,213,167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 4,213,167, 0, 0, 0, 1, 74, - 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, - 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,153, 70, 32, - 0, 0, 1, 80, 0, 0, 0, 1, 2,153, 74, 32, 2,153, 66, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 80,105,110, 99,104, 47, - 77, 97,103,110,105,102,121, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4,213,167, 96, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 6, 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63, 64, 0, 0, - 63, 64, 0, 0, 63, 64, 0, 0, 62,128, 0, 0, 62,128, 0, 0, 62,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 70,108, - 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, - 4,213,167, 96, 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, - 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 4,213,168,160, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 48, 4,213,168,160, 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, - 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 66, 82, 0, 0, 2,204, 2,153, 74, 32, 0, 0, 1, 80, 0, 0, 0, 1, 2,153, 78, 32, 2,153, 70, 32, 0, 1,174,232, - 0, 0, 0, 0, 66, 82, 80,111,108,105,115,104, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4,213,169, 0, - 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35, 1, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, - 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62,199,174, 20, 62,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 74,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 4,213,169, 0, 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46, -191,127,255,224,186,255, 97,114, 4,213,170, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 4,213,170, 64, 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,153, 78, 32, 0, 0, 1, 80, 0, 0, 0, 1, - 2,153, 82, 32, 2,153, 74, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83, 99,114, 97,112,101, 47, 80,101, 97,107,115, 0, 48, - 48, 49, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 4,213,170,160, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,248, 47, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,104, 48, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0,152, 53, 72, 27, + 1, 0, 0, 0, 56, 43, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,108, + 97,121, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0,168, 51, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, - 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -8736,346 +13204,93 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35, - 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62,199,174, 20, - 62,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 78,108, 0, 0, 0, 24, 0, 0, 0, 1, - 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 4,213,170,160, 0, 0, 1, 76, - 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 4,213,171,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 35, 0, 0, 0, 4, 4, 4, 8, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0,208, 48, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 4,213,171,224, - 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, - 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, - 2,153, 82, 32, 0, 0, 1, 80, 0, 0, 0, 1, 2,153, 86, 32, 2,153, 78, 32, 0, 1,184,102, 0, 0, 0, 0, 66, 82, 83, 99, -117,108,112,116, 68,114, 97,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4,213,172, 64, 0, 1, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,168, 51, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186, 40, 53, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, - 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 63, 78,119,160, - 63,128, 0, 0, 62,199,174, 20, 62,199,174, 20, 62,199,174, 20, 62,199,174, 20, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, - 2,153, 82,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0, 40, 53, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,152, 53, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0,200, 58, 72, 27, + 1, 0, 0, 0,104, 48, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,108, +111,110,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0,216, 56, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, - 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 16, 4,213,172, 64, 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, - 4,213,173,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 48, 4,213,173,128, 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,153, 86, 32, 0, 0, 1, 80, 0, 0, 0, 1, 2,153, 90, 32, 2,153, 82, 32, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,109,101, 97,114, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 4,213,173,224, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 16, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 0, 54, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,216, 56, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, + 54,189,194, 61, 14,215,126,191, 46,189,194, 61, 88, 58, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, - 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 86,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 4,213,173,224, 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, - 61,194,189, 54,191,126,215, 14, 61,194,189, 46, 4,213,175, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 4,213,175, 32, 0, 0, 1, 74, 0, 0, 0, 4, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,153, 90, 32, 0, 0, 1, 80, - 0, 0, 0, 1, 2,153, 94, 32, 2,153, 86, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,109,111,111,116,104, 0, 48, 48, 49, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4,213,175,128, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, - 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63, 64, 0, 0, 63, 64, 0, 0, - 63, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 90,108, 0, 0, 0, 24, - 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 4,213,175,128, - 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 4,213,176,192, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, - 4,213,176,192, 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, - 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, - 0, 0, 2,204, 2,153, 94, 32, 0, 0, 1, 80, 0, 0, 0, 1, 2,153, 98, 32, 2,153, 90, 32, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 83,110, 97,107,101, 32, 72,111,111,107, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4,213,177, 32, 0, 1, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, - 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, - 62, 0, 0, 0, 62,128, 0, 0, 63,128, 0, 0, 62,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 16, 2,153, 94,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 16, 4,213,177, 32, 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, - 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224, -186,255, 97,114, 4,213,178, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 4,213,178, 96, 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,153, 98, 32, 0, 0, 1, 80, 0, 0, 0, 1, 2,153,102, 32, - 2,153, 94, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,111,102,116,101,110, 0, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, - 0, 0, 0, 0, 4,213,178,192, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 35, 0, 0, 4, 4, - 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 62, 76,204,205, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 98,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 4,213,178,192, 0, 0, 1, 76, 0, 0, 0, 1, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, -191,126,215, 14, 61,194,189, 54,191,126,215, 14, 61,194,189, 46, 4,213,180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 4,213,180, 0, 0, 0, 1, 74, - 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, - 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,153,102, 32, - 0, 0, 1, 80, 0, 0, 0, 1, 2,153,106, 32, 2,153, 98, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,117, 98,116,114, 97, - 99,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4,213,180, 96, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 12, 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,153,102,108, - 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, - 4,213,180, 96, 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, - 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, 61,194,189, 54,191,126,215, 14, 61,194,189, 46, 4,213,181,160, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 48, 4,213,181,160, 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, - 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 66, 82, 0, 0, 2,204, 2,153,106, 32, 0, 0, 1, 80, 0, 0, 0, 1, 2,153,110, 32, 2,153,102, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 66, 82, 84,101,120, 68,114, 97,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4,213,182, 0, - 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 35, 8, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 51, 51, 51, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, - 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62,199,174, 20, 62,199,174, 20, 63,128, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 16, 2,153,106,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 4,213,182, 0, 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46, -191,127,255,224,186,255, 97,114, 4,213,183, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 4,213,183, 64, 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,153,110, 32, 0, 0, 1, 80, 0, 0, 0, 1, - 2,153,114, 32, 2,153,106, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,104,117,109, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 4,213,183,160, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0, 88, 58, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,200, 58, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0,248, 63, 72, 27, + 1, 0, 0, 0,152, 53, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,114, +101, 97,115,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 8, 62, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, - 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -9083,92 +13298,93 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 75, - 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 62,128, 0, 0, 63,128, 0, 0, 62,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,153,110,108, 0, 0, 0, 24, 0, 0, 0, 1, - 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 4,213,183,160, 0, 0, 1, 76, - 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 4,213,184,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 35, 0, 0, 0, 4, 6, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0, 48, 59, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 4,213,184,224, - 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, - 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, - 2,153,114, 32, 0, 0, 1, 80, 0, 0, 0, 1, 0, 0, 0, 0, 2,153,110, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,119, -105,115,116, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4,213,185, 64, 0, 1, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 8, 62, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,228, 97,175,190, + 50,131,112, 63,218,243,127,191, 10,183,157,188,136, 63, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, - 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, - 62,128, 0, 0, 63,128, 0, 0, 62,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, - 2,153,114,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,136, 63, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215, 35, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,248, 63, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0, 40, 69, 72, 27, + 1, 0, 0, 0,200, 58, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 68, 97, +114,107,101,110, 0, 48, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 56, 67, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, - 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 16, 4,213,185, 64, 0, 0, 1, 76, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, - 4,213,186,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 48, 4,213,186,128, 0, 0, 1, 74, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 85, 83, 69, 82, 0, 0, 13, 72, 1, 86,143, 0, 0, 0, 0,189, 0, 0, 0, 1, 1, 17, 8, 33, 0, 0, 6, 63, - 0, 0, 0, 5, 47,116,109,112, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 47, 47, 0, 85,115,101,114,115, 47,116,111,110, 47, 68,101,115,107,116,111,112, 47, 0, 45,112,111,119,101,114, -112, 99, 47, 98,105,110, 47, 98,108,101,110,100,101,114, 46, 97,112,112, 47, 67,111,110,116,101,110,116,115, 47, 82,101,115,111, -117,114, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 96, 64, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 56, 67, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, + 54,189,194, 61, 14,215,126,191, 46,189,194, 61,184, 68, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,184, 68, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 40, 69, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0, 88, 74, 72, 27, + 1, 0, 0, 0,248, 63, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 68,114, + 97,119, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 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, 63, 0, 0, 0, 0,104, 72, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -9177,27 +13393,92 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 30, 0, 35, 0, 0, 0, 0, 4, 0, 8, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0,144, 69, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,104, 72, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186,232, 73, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,232, 73, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 88, 74, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0,136, 79, 72, 27, + 1, 0, 0, 0, 40, 69, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,105, +108,108, 47, 68,101,101,112,101,110, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0,152, 77, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0,192, 74, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152, 77, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186, 24, 79, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0, 24, 79, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,136, 79, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0,184, 84, 72, 27, + 1, 0, 0, 0, 88, 74, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,108, + 97,116,116,101,110, 47, 67,111,110,116,114, 97,115,116, 0, 48, 48, 49, 0, 0, 1, 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, 63, 0, 0, 0, 0,200, 82, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -9206,2161 +13487,3132 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0,240, 79, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 35, 0, 0, 0, 2, 1, 94, 0, 0, 0, 8, 0, 0, 0, 3, 0, 39, 52, 56, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 8, 0, 0, 0, 0, 2, 0, 0,172, 68, 0, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0,128, 0, 0, 0, 72, - 0, 0, 0, 64, 0, 5, 0, 2, 2,153,132, 32, 2,153,132, 32, 4,218,198,160, 4,218,198,160, 4,218,203, 80, 4,218,203, 80, - 0, 0, 0, 0, 0, 0, 0, 0, 4,213,136,224, 4,213,189,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,200, 82, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186, 72, 84, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 1, 0, 2, 0, 25, 0, 1, 0, 20, 0, 20, - 0, 0, 0, 1, 0, 0, 0, 0, 63, 76,204,205, 63, 76,204,205, 63, 76,204,205, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 63,128, 0, 0,191,100, 90, 30, 62,153,153,154, 63,102,102,102, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 62,254,250, 31, 63, 0, 0, 9, 63, 25,153,156, 0, 0, 0, 0, 62, 76,204,205, 62, 76,204,205, 62, 76,204,205, 63,128, 0, 0, - 63, 22,135, 44, 62,235,133, 32, 62,125,243,184, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 63, 76, 73,195, 63, 86,135, 42, - 63,128, 0, 0, 0, 0, 0, 0, 61,135, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 62, 93, 47, 16,190,200,180, 58, -190, 93, 47, 24, 0, 0, 0, 0, 0, 14, 0, 0, 0, 25, 0, 15, 0,120, 0, 60, 0, 3, 0, 5, 0, 0, 0,128, 0, 0, 0, 0, - 31,144, 0, 15, 0, 6, 0, 25, 0, 8, 0, 10, 0,200, 0, 0, 0,100, 0,100, 0, 0, 0, 0, 0, 2, 0, 1, 0, 10, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0, 72, 84, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,184, 84, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0,232, 89, 72, 27, + 1, 0, 0, 0,136, 79, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 71,114, + 97, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0,248, 87, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, + 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 32, 85, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 30, 80, 2,153,132, 32, 0, 0, 0,186, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 68,101,102, 97, -117,108,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255, -153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255, -153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, 0, 1, 0, 15,255,241, 0, 0, 25, 25, 25,255, -153,153,153,255,153,153,153,255, 90, 90, 90,255, 0, 0, 0,255,255,255,255,255, 0, 1, 0, 0, 0, 25, 0, 0, 0, 0, 0,255, - 70, 70, 70,255, 86,128,194,255,255,255,255,255,255,255,255,255, 0, 0, 0,255, 0, 1, 0, 15,255,241, 0, 0, 0, 0, 0,255, - 70, 70, 70,255, 70, 70, 70,255,255,255,255,255, 0, 0, 0,255,255,255,255,255, 0, 1, 0, 15,255,241, 0, 0, 25, 25, 25,255, -153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255, -180,180,180,255,153,153,153,255, 90, 90, 90,255, 0, 0, 0,255,255,255,255,255, 0, 1,255,236, 0, 0, 0, 0, 25, 25, 25,255, -180,180,180,255,153,153,153,255,128,128,128,255, 0, 0, 0,255,255,255,255,255, 0, 1,255,236, 0, 0, 0, 0, 0, 0, 0,255, - 70, 70, 70,255, 70, 70, 70,255,255,255,255,255,255,255,255,255,204,204,204,255, 0, 1, 0, 15,255,241, 0, 0, 0, 0, 0,255, - 63, 63, 63,255, 86,128,194,255,255,255,255,255, 0, 0, 0,255, 0, 0, 0,255, 0, 0, 0, 25,255,236, 0, 0, 0, 0, 0,255, - 25, 25, 25,230, 45, 45, 45,230,100,100,100,255,160,160,160,255,255,255,255,255, 0, 0, 0, 25,255,236, 0, 0, 0, 0, 0,255, - 0, 0, 0, 0, 86,128,194,255,255,255,255,255,255,255,255,255, 0, 0, 0,255, 0, 0, 0, 38, 0, 0, 0, 0, 25, 25, 25,255, -128,128,128,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 50,180, - 80, 80, 80,180,100,100,100,180,128,128,128,255, 0, 0, 0,255,255,255,255,255, 0, 1, 0, 5,255,251, 0, 0, 0, 0, 0,255, -190,190,190,255,100,100,100,180, 68, 68, 68,255, 0, 0, 0,255,255,255,255,255, 0, 0, 0, 5,255,251, 0, 0, 0, 0, 0,255, - 0, 0, 0, 0, 86,128,194,255, 0, 0, 0,255, 0, 0, 0,255, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,115,190, 76,255, - 90,166, 51,255,240,235,100,255,215,211, 75,255,180, 0,255,255,153, 0,230,255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,248, 87, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186,120, 89, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,130,130,130,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100, -127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, - 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 57, 57, 57,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,120, 89, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,232, 89, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0, 24, 95, 72, 27, + 1, 0, 0, 0,184, 84, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 73,110, +102,108, 97,116,101, 47, 68,101,102,108, 97,116,101, 0, 48, 48, 49, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 40, 93, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0, 64, 63, + 0, 0, 64, 63, 0, 0, 64, 63, 0, 0,128, 62, 0, 0,128, 62, 0, 0,128, 62, 68, 65, 84, 65, 24, 1, 0, 0, 80, 90, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 40, 93, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186,168, 94, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,168, 94, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 24, 95, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0, 72,100, 72, 27, + 1, 0, 0, 0,232, 89, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 76, 97, +121,101,114, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 88, 98, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 20,174,199, 62, 20,174,199, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,128, 95, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88, 98, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186,216, 99, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,216, 99, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 72,100, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0,120,105, 72, 27, + 1, 0, 0, 0, 24, 95, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 76,105, +103,104,116,101,110, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0,136,103, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,176,100, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,136,103, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, + 54,189,194, 61, 14,215,126,191, 46,189,194, 61, 8,105, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0, 8,105, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,120,105, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0,168,110, 72, 27, + 1, 0, 0, 0, 72,100, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 77,105, +120, 0,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0,184,108, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,224,105, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,184,108, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, + 54,189,194, 61, 14,215,126,191, 46,189,194, 61, 56,110, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0, 56,110, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,168,110, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0,216,115, 72, 27, + 1, 0, 0, 0,120,105, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 77,117, +108,116,105,112,108,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0,232,113, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 16,111, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,232,113, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, + 54,189,194, 61, 14,215,126,191, 46,189,194, 61,104,115, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,104,115, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,216,115, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0, 8,121, 72, 27, + 1, 0, 0, 0,168,110, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 78,117, +100,103,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 24,119, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, + 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 64,116, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 24,119, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186,152,120, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,152,120, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 8,121, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0, 56,126, 72, 27, + 1, 0, 0, 0,216,115, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 80,105, +110, 99,104, 47, 77, 97,103,110,105,102,121, 0, 48, 48, 49, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 72,124, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0, 64, 63, + 0, 0, 64, 63, 0, 0, 64, 63, 0, 0,128, 62, 0, 0,128, 62, 0, 0,128, 62, 68, 65, 84, 65, 24, 1, 0, 0,112,121, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 72,124, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186,200,125, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,200,125, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 56,126, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0,104,131, 72, 27, + 1, 0, 0, 0, 8,121, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 80,111, +108,105,115,104, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0,120,129, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 35, 0, 0, 0, 4, 4, 4, 1, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0,160,126, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,120,129, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186,248,130, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,248,130, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,104,131, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0,152,136, 72, 27, + 1, 0, 0, 0, 56,126, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83, 99, +114, 97,112,101, 47, 80,101, 97,107,115, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0,168,134, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0,208,131, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,168,134, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186, 40,136, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0, 40,136, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,152,136, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0,200,141, 72, 27, + 1, 0, 0, 0,104,131, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83, 99, +117,108,112,116, 68,114, 97,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 63, 0, 0, 0, 0,216,139, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0,160,119, 78, 63, 0, 0,128, 63, + 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0, 0,137, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,216,139, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186, 88,141, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0, 88,141, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,200,141, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0,248,146, 72, 27, + 1, 0, 0, 0,152,136, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,109, +101, 97,114, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 8,145, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 16, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 48,142, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 8,145, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, + 54,189,194, 61, 14,215,126,191, 46,189,194, 61,136,146, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,136,146, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,248,146, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0, 40,152, 72, 27, + 1, 0, 0, 0,200,141, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,109, +111,111,116,104, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 56,150, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0, 64, 63, + 0, 0, 64, 63, 0, 0, 64, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 96,147, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 56,150, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186,184,151, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,184,151, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 40,152, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0, 88,157, 72, 27, + 1, 0, 0, 0,248,146, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,110, + 97,107,101, 32, 72,111,111,107, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0,104,155, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, + 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,144,152, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,104,155, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186,232,156, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,232,156, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 88,157, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0,136,162, 72, 27, + 1, 0, 0, 0, 40,152, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,111, +102,116,101,110, 0, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0,152,160, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 16, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,192,157, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152,160, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, + 54,189,194, 61, 14,215,126,191, 46,189,194, 61, 24,162, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0, 24,162, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,136,162, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0,184,167, 72, 27, + 1, 0, 0, 0, 88,157, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,117, + 98,116,114, 97, 99,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0,200,165, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,240,162, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,200,165, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, + 54,189,194, 61, 14,215,126,191, 46,189,194, 61, 72,167, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0, 72,167, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,184,167, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0,232,172, 72, 27, + 1, 0, 0, 0,136,162, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,101, +120, 68,114, 97,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 63, 0, 0, 0, 0,248,170, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 16, 0, 35, 0, 0, 0, 4, 4, 0, 8, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0, 32,168, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,248,170, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186,120,172, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,120,172, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,232,172, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0, 24,178, 72, 27, + 1, 0, 0, 0,184,167, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,104, +117,109, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 40,176, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 75, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, + 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 80,173, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 40,176, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186,168,177, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,168,177, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 24,178, 72, 27, 1, 0, 0, 0, 92, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,232,172, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,119, +105,115,116, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 63, 0, 0, 0, 0, 88,181, 72, 27, + 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2, 0, 75, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, + 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,128,178, 72, 27, + 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88,181, 72, 27, 1, 0, 0, 0, 88, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, + 46, 95,255,186,224,255,127,191,114, 97,255,186,216,182, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, + 48, 0, 0, 0,216,182, 72, 27, 1, 0, 0, 0, 86, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 85, 83, 69, 82,112, 13, 0, 0,160,123,120, 1, 1, 0, 0, 0,189, 0, 0, 0, 1, 0, 0, 0, 33, 56, 17, 1, + 63, 2, 0, 0, 5, 0, 0, 0, 47,116,109,112, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 85,115,101,114,115, 47,116,111,110, 47, 68,101,115,107,116,111,112, 47, 0, 45,112, +111,119,101,114,112, 99, 47, 98,105,110, 47, 98,108,101,110,100,101,114, 46, 97,112,112, 47, 67,111,110,116,101,110,116,115, 47, + 82,101,115,111,117,114, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 35, 0, 0, 0, 2, 0, 94, 1, 8, 0, 0, 0, 3, 0, 0, 0, 40, 52, 33, 9, + 0, 0, 0, 0, 6, 0, 2, 0, 0, 8, 0, 0, 0, 0, 0, 0, 68,172, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0,128, 0, 0, 0, + 72, 0, 0, 0, 0, 0, 64, 0, 5, 0, 2, 0, 56,132,109, 3, 1, 0, 0, 0, 56,132,109, 3, 1, 0, 0, 0, 40,125,157, 23, + 1, 0, 0, 0, 40,125,157, 23, 1, 0, 0, 0,136,126,157, 23, 1, 0, 0, 0,136,126,157, 23, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 29, 72, 27, 1, 0, 0, 0,136, 29, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, + 1, 0, 2, 0, 25, 0, 1, 0, 20, 0, 20, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,205,204, 76, 63,205,204, 76, 63, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 30, 90,100,191,154,153,153, 62,102,102,102, 63, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 31,250,254, 62, 9, 0, 0, 63,156,153, 25, 63, 0, 0, 0, 0,205,204, 76, 62, +205,204, 76, 62,205,204, 76, 62, 0, 0,128, 63, 44,135, 22, 63, 32,133,235, 62,184,243,125, 62, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0,195, 73, 76, 63, 42,135, 86, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 43,135, 61, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 16, 47, 93, 62, 58,180,200,190, 24, 47, 93,190, 0, 0, 0, 0, 14, 0, 0, 0, 25, 0, 15, 0,120, 0, 60, 0, + 3, 0, 5, 0,128, 0, 0, 0, 0, 0, 0, 0,144, 31, 15, 0, 6, 0, 25, 0, 8, 0, 10, 0,200, 0, 0, 0,100, 0,100, 0, + 0, 0, 0, 0, 2, 0, 1, 0, 10, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 2, 0, 8, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, + 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, + 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, + 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, + 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, + 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, + 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, + 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, + 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 30, 0, 0, 56,132,109, 3, 1, 0, 0, 0,186, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,101,102, 97,117,108,116, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, + 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, + 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, 1, 0, 5, 0,251,255, 0, 0, 25, 25, 25,255,153,153,153,255,153,153,153,255, + 90, 90, 90,255, 0, 0, 0,255,255,255,255,255, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,255, 71, 71, 71,255, 86,128,194,255, +255,255,255,255,230,230,230,255, 0, 0, 0,255, 1, 0, 5, 0,251,255, 0, 0, 0, 0, 0,255, 61, 61, 61,255, 61, 61, 61,255, +255,255,255,255, 0, 0, 0,255,255,255,255,255, 1, 0, 5, 0,251,255, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, + 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,161,161,161,255,153,153,153,255, + 90, 90, 90,255, 0, 0, 0,255,255,255,255,255, 1, 0,251,255, 0, 0, 0, 0, 25, 25, 25,255,180,180,180,255,153,153,153,255, +128,128,128,255, 0, 0, 0,255,255,255,255,255, 1, 0,251,255, 0, 0, 0, 0, 0, 0, 0,255, 71, 71, 71,255, 71, 71, 71,255, + 47, 47, 47,255,255,255,255,255,204,204,204,255, 1, 0, 5, 0,251,255, 0, 0, 0, 0, 0,255, 71, 71, 71,255, 86,128,194,255, +255,255,255,255, 0, 0, 0,255, 0, 0, 0,255, 0, 0, 25, 0,236,255, 0, 0, 0, 0, 0,255, 25, 25, 25,230, 45, 45, 45,230, +100,100,100,255,160,160,160,255,255,255,255,255, 0, 0, 25, 0,236,255, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 86,128,194,255, +255,255,255,255,255,255,255,255, 0, 0, 0,255, 0, 0, 38, 0, 0, 0, 0, 0, 25, 25, 25,255,128,128,128,255,100,100,100,255, + 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 50,180, 80, 80, 80,180,100,100,100,180, +128,128,128,255, 0, 0, 0,255,255,255,255,255, 1, 0, 5, 0,251,255, 0, 0, 0, 0, 0,255,190,190,190,255,100,100,100,180, + 68, 68, 68,255, 0, 0, 0,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 86,128,194,255, + 0, 0, 0,255, 0, 0, 0,255, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,115,190, 76,255, 90,166, 51,255,240,235,100,255, +215,211, 75,255,180, 0,255,255,153, 0,230,255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255, 255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, +255,255,255,255,130,130,130,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, - 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 32, 0, 0,255, 0, 32, 0,255, 0, 0,128,255, 0, 0, 0, 0, 34,221,221,255, + 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255, 219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, - 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 76, 76,255, - 0, 0, 0, 0,250,250,250,255, 15, 15, 15,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,145,145,145,255, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100,255,140, 25,255,250,250,250,255, 0, 0, 0,255, -241, 88, 0,255, 0, 0, 0, 40,130,130,130,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, - 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60, -255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, - 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255, -240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, - 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250,250,250,255, -250,250,250,255,250,250,250,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255, -255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, -255,140, 25,255, 79,101, 73,255,135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255, -219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, - 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, - 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, - 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255,255,133, 0,255, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100, -127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, - 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,173,173,173,255,127,112,112,100, 0, 0, 0, 0, - 91, 91, 91,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, - 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, - 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, - 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255, -219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, - 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, - 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255, -241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 79,101, 73,255,135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, - 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60, -255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, - 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255, -240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, - 64,192, 48,255,240,144,160,255, 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, - 0, 0, 0,255,255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255, -255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, -255,140, 25,255, 79,101, 73,255,135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255, -219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128, -255,140, 0,255, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, - 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, - 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255,255,133, 0,255, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116,116,116,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100, -127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, - 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,105,135,255,109, 88,129,255, 78,152, 62,255, 46,143,143,255,169, 84,124,255, -126,126, 80,255,162, 95,111,255,109,145,131,255,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 53, 53, 53,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, - 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, - 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, -255,255,255, 10,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, - 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255, -219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, - 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255,110,110,110,255, - 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,132,132,132,255, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255, 94, 94, 94,255,172,172,172,255, 17, 27, 60,100, 94, 94, 94,255, 0, 0, 0,255, -241, 88, 0,255, 0, 0, 0, 40,195,195,195,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, - 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60, -255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, - 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255, -240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, - 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,153,153,153,255, 0, 0, 0, 0, 0, 0, 0,255, -255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,143,143,143,255,198,119,119,255,255, 0, 0,255, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, -255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255, -219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, - 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, - 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, -100, 0, 0,255, 0, 0,200,255,128, 0, 80,255, 95, 95, 0,255, 0,100, 50,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100, -127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, - 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,173,173,173,255,127,112,112,100, 0, 0, 0, 0, - 91, 91, 91,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, - 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, - 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, - 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255, -219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, - 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255, 241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, - 0, 0, 0,255,255,255,255,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60, + 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60, +255,133, 0,255, 32, 0, 0,255, 0, 32, 0,255, 0, 0,128,255, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, + 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255, +240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, + 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 76, 76,255, 0, 0, 0, 0,250,250,250,255, + 15, 15, 15,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255, +255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,145,145,145,255, 0, 0, 0,255, 0, 0, 0,255, +255,255,255,255,160,160,160,100,127,112,112,100,255,140, 25,255,250,250,250,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, +130,130,130,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255, +219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, + 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, + 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250,250,250,255,250,250,250,255,250,250,250,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100, +112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 79,101, 73,255, +135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, + 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, +144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, + 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 82, 96,110,255,124,137,150,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255,255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255, +255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255, +255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, + 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, + 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, + 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, + 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255, +219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, + 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,173,173,173,255,127,112,112,100, 0, 0, 0, 0, 91, 91, 91,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, + 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60, 255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255, -240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, +240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 4, 0,155,155,155,160,100,100,100,255,111,106,100,255,104,106,117,255,105,117,110,255, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100,100,100,255, 0, 0, 0, 0, 0, 0, 0,255, -255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, -255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255, -219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255, +255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255, +255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, 0, 0, 0,255, 0, 0, 0,255, +255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, +255,140, 25,255, 79,101, 73,255,135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255, +219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128, +255,140, 0,255, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, + 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, + 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255,255,133, 0,255, + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100, +112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 79,101, 73,255, +135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, + 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, 96,192, 64,255, +144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, + 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 82, 96,110,255,124,137,150,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255,255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,116,116,116,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255, +255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255, +255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, + 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, + 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, + 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, + 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255, +219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, + 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 81,105,135,255,109, 88,129,255, 78,152, 62,255, 46,143,143,255,169, 84,124,255,126,126, 80,255,162, 95,111,255, +109,145,131,255,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 53,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, + 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255,255,255,255, 10,255,133, 0, 60, +255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, + 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255, +240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, + 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255,110,110,110,255, 0, 0, 0, 0, 0, 0, 0,255, +255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255, +255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,132,132,132,255, 0, 0, 0,255, 0, 0, 0,255, +255,255,255,255, 94, 94, 94,255,172,172,172,255, 17, 27, 60,100, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, +195,195,195,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255, +219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, - 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, + 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,153,153,153,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,143,143,143,255, +198,119,119,255,255, 0, 0,255, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, + 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, + 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, +144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, + 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0,100, 0, 0,255, 0, 0,200,255, +128, 0, 80,255, 95, 95, 0,255, 0,100, 50,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255, +255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255, +255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, + 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, + 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, + 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, + 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255, +219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, + 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,173,173,173,255,127,112,112,100, 0, 0, 0, 0, 91, 91, 91,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, + 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60, +255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, + 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255, +240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, + 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, 0, 0, 0, 0, 0, 0, 0,255, +255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255, +255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255, +255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, +255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,255,255,255, +219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, + 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, + 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, +155,155,155,160,100,100,100,255,108,105,111,255,104,106,117,255,105,117,110,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100,100,100,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100, 127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, +144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255, + 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255, 255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255, 255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, - 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, + 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255, -219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, - 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 96,128,255,255,255,255,255,255, - 0,170, 0,255,220, 96, 96,255,220, 96, 96,255, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, + 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 0, 0,255, -189, 17, 17,255,247, 10, 10,255, 0, 0, 0, 0,247, 64, 24,255,246,105, 19,255,250,153, 0,255, 0, 0, 0, 0, 30,145, 9,255, - 89,183, 11,255,131,239, 29,255, 0, 0, 0, 0, 10, 54,148,255, 54,103,223,255, 94,193,239,255, 0, 0, 0, 0,169, 41, 78,255, -193, 65,106,255,240, 93,145,255, 0, 0, 0, 0, 67, 12,120,255, 84, 58,163,255,135,100,213,255, 0, 0, 0, 0, 36,120, 90,255, - 60,149,121,255,111,182,171,255, 0, 0, 0, 0, 75,112,124,255,106,134,145,255,155,194,205,255, 0, 0, 0, 0,244,201, 12,255, -238,194, 54,255,243,255, 0,255, 0, 0, 0, 0, 30, 32, 36,255, 72, 76, 86,255,255,255,255,255, 0, 0, 0, 0,111, 47,106,255, -152, 69,190,255,211, 48,214,255, 0, 0, 0, 0,108,142, 34,255,127,176, 34,255,187,239, 91,255, 0, 0, 0, 0,141,141,141,255, -176,176,176,255,222,222,222,255, 0, 0, 0, 0,131, 67, 38,255,139, 88, 17,255,189,106, 17,255, 0, 0, 0, 0, 8, 49, 14,255, - 28, 67, 11,255, 52, 98, 43,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, + 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, + 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60, +255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, + 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255, +240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, + 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 96,128,255,255,255,255,255,255, 0,170, 0,255,220, 96, 96,255, +220, 96, 96,255, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 0, 0,255,189, 17, 17,255,247, 10, 10,255, + 0, 0, 0, 0,247, 64, 24,255,246,105, 19,255,250,153, 0,255, 0, 0, 0, 0, 30,145, 9,255, 89,183, 11,255,131,239, 29,255, + 0, 0, 0, 0, 10, 54,148,255, 54,103,223,255, 94,193,239,255, 0, 0, 0, 0,169, 41, 78,255,193, 65,106,255,240, 93,145,255, + 0, 0, 0, 0, 67, 12,120,255, 84, 58,163,255,135,100,213,255, 0, 0, 0, 0, 36,120, 90,255, 60,149,121,255,111,182,171,255, + 0, 0, 0, 0, 75,112,124,255,106,134,145,255,155,194,205,255, 0, 0, 0, 0,244,201, 12,255,238,194, 54,255,243,255, 0,255, + 0, 0, 0, 0, 30, 32, 36,255, 72, 76, 86,255,255,255,255,255, 0, 0, 0, 0,111, 47,106,255,152, 69,190,255,211, 48,214,255, + 0, 0, 0, 0,108,142, 34,255,127,176, 34,255,187,239, 91,255, 0, 0, 0, 0,141,141,141,255,176,176,176,255,222,222,222,255, + 0, 0, 0, 0,131, 67, 38,255,139, 88, 17,255,189,106, 17,255, 0, 0, 0, 0, 8, 49, 14,255, 28, 67, 11,255, 52, 98, 43,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 72, 4,213,136,224, 0, 0, 0,187, 0, 0, 0, 1, 4,213,137, 80, 0, 0, 0, 0, -105,111, 95,115, 99,101,110,101, 95, 51,100,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 72, 4,213,137, 80, 0, 0, 0,187, 0, 0, 0, 1, 4,213,186,224, 4,213,136,224,105,111, 95,115, - 99,101,110,101, 95,102, 98,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 72, 4,213,186,224, 0, 0, 0,187, 0, 0, 0, 1, 4,213,187, 80, 4,213,137, 80,105,111, 95, 97,110,105,109, 95, - 98,118,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 72, - 4,213,187, 80, 0, 0, 0,187, 0, 0, 0, 1, 4,213,187,192, 4,213,186,224,105,111, 95,109,101,115,104, 95,112,108,121, 0, + 80, 0, 0, 0,136, 29, 72, 27, 1, 0, 0, 0,187, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 99,121, 99,108,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 72, 4,213,187,192, - 0, 0, 0,187, 0, 0, 0, 1, 4,213,188, 48, 4,213,187, 80,105,111, 95,115, 99,101,110,101, 95,111, 98,106, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 72, 4,213,188, 48, 0, 0, 0,187, - 0, 0, 0, 1, 4,213,188,160, 4,213,187,192,105,111, 95,115, 99,101,110,101, 95,120, 51,100, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 72, 4,213,188,160, 0, 0, 0,187, 0, 0, 0, 1, - 4,213,189, 16, 4,213,188, 48,105,111, 95,109,101,115,104, 95,115,116,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 72, 4,213,189, 16, 0, 0, 0,187, 0, 0, 0, 1, 4,213,189,128, - 4,213,188,160,105,111, 95,109,101,115,104, 95,117,118, 95,108, 97,121,111,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 72, 4,213,189,128, 0, 0, 0,187, 0, 0, 0, 1, 0, 0, 0, 0, 4,213,189, 16, -105,111, 95, 99,117,114,118,101, 95,115,118,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 78, 65, 49, 0, 0,229, 88, 3, 18, 32, 32, 0, 0, 0, 0, 0, 0, 0, 1, 83, 68, 78, 65, 78, 65, 77, 69, 0, 0, 12, 2, - 42,110,101,120,116, 0, 42,112,114,101,118, 0, 42,100, 97,116, 97, 0, 42,102,105,114,115,116, 0, 42,108, 97,115,116, 0,120, - 0,121, 0,120,109,105,110, 0,120,109, 97,120, 0,121,109,105,110, 0,121,109, 97,120, 0, 42,112,111,105,110,116,101,114, 0, -103,114,111,117,112, 0,118, 97,108, 0,118, 97,108, 50, 0,116,121,112,101, 0,115,117, 98,116,121,112,101, 0,102,108, 97,103, - 0,110, 97,109,101, 91, 51, 50, 93, 0,115, 97,118,101,100, 0,100, 97,116, 97, 0,108,101,110, 0,116,111,116, 97,108,108,101, -110, 0, 42,110,101,119,105,100, 0, 42,108,105, 98, 0,110, 97,109,101, 91, 50, 52, 93, 0,117,115, 0,105, 99,111,110, 95,105, -100, 0, 42,112,114,111,112,101,114,116,105,101,115, 0,105,100, 0, 42,105,100, 98,108,111, 99,107, 0, 42,102,105,108,101,100, - 97,116, 97, 0,110, 97,109,101, 91, 50, 52, 48, 93, 0,102,105,108,101,112, 97,116,104, 91, 50, 52, 48, 93, 0,116,111,116, 0, -112, 97,100, 0, 42,112, 97,114,101,110,116, 0,119, 91, 50, 93, 0,104, 91, 50, 93, 0, 99,104, 97,110,103,101,100, 91, 50, 93, - 0, 99,104, 97,110,103,101,100, 95,116,105,109,101,115,116, 97,109,112, 91, 50, 93, 0, 42,114,101, 99,116, 91, 50, 93, 0, 42, -111, 98, 0, 98,108,111, 99,107,116,121,112,101, 0, 97,100,114, 99,111,100,101, 0,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42, - 98,112, 0, 42, 98,101,122,116, 0,109, 97,120,114, 99,116, 0,116,111,116,114, 99,116, 0,118, 97,114,116,121,112,101, 0,116, -111,116,118,101,114,116, 0,105,112,111, 0,101,120,116,114, 97,112, 0,114,116, 0, 98,105,116,109, 97,115,107, 0,115,108,105, -100,101, 95,109,105,110, 0,115,108,105,100,101, 95,109, 97,120, 0, 99,117,114,118, 97,108, 0, 42,100,114,105,118,101,114, 0, - 99,117,114,118,101, 0, 99,117,114, 0,115,104,111,119,107,101,121, 0,109,117,116,101,105,112,111, 0,112,111,115, 0,114,101, -108, 97,116,105,118,101, 0,116,111,116,101,108,101,109, 0,112, 97,100, 50, 0, 42,119,101,105,103,104,116,115, 0,118,103,114, -111,117,112, 91, 51, 50, 93, 0,115,108,105,100,101,114,109,105,110, 0,115,108,105,100,101,114,109, 97,120, 0, 42, 97,100,116, - 0, 42,114,101,102,107,101,121, 0,101,108,101,109,115,116,114, 91, 51, 50, 93, 0,101,108,101,109,115,105,122,101, 0, 98,108, -111, 99,107, 0, 42,105,112,111, 0, 42,102,114,111,109, 0,116,111,116,107,101,121, 0,115,108,117,114,112,104, 0, 42,108,105, -110,101, 0, 42,102,111,114,109, 97,116, 0, 98,108,101,110, 0,108,105,110,101,110,111, 0,115,116, 97,114,116, 0,101,110,100, - 0,112, 97,100, 49, 0,102,108, 97,103,115, 0, 99,111,108,111,114, 91, 52, 93, 0,112, 97,100, 91, 52, 93, 0, 42,110, 97,109, -101, 0,110,108,105,110,101,115, 0,108,105,110,101,115, 0, 42, 99,117,114,108, 0, 42,115,101,108,108, 0, 99,117,114, 99, 0, -115,101,108, 99, 0,109, 97,114,107,101,114,115, 0, 42,117,110,100,111, 95, 98,117,102, 0,117,110,100,111, 95,112,111,115, 0, -117,110,100,111, 95,108,101,110, 0, 42, 99,111,109,112,105,108,101,100, 0,109,116,105,109,101, 0,115,105,122,101, 0,115,101, -101,107, 0,112, 97,115,115,101,112, 97,114,116, 97,108,112,104, 97, 0, 99,108,105,112,115,116, 97, 0, 99,108,105,112,101,110, -100, 0,108,101,110,115, 0,111,114,116,104,111, 95,115, 99, 97,108,101, 0,100,114, 97,119,115,105,122,101, 0,115,104,105,102, -116,120, 0,115,104,105,102,116,121, 0, 89, 70, 95,100,111,102,100,105,115,116, 0, 42,100,111,102, 95,111, 98, 0, 42,115, 99, -101,110,101, 0,102,114, 97,109,101,110,114, 0,102,114, 97,109,101,115, 0,111,102,102,115,101,116, 0,115,102,114, 97, 0,102, -105,101, 95,105,109, 97, 0, 99,121, 99,108, 0,111,107, 0,109,117,108,116,105, 95,105,110,100,101,120, 0,108, 97,121,101,114, - 0,112, 97,115,115, 0,105, 98,117,102,115, 0, 42,103,112,117,116,101,120,116,117,114,101, 0, 42, 97,110,105,109, 0, 42,114, -114, 0, 42,114,101,110,100,101,114,115, 91, 56, 93, 0,114,101,110,100,101,114, 95,115,108,111,116, 0,108, 97,115,116, 95,114, -101,110,100,101,114, 95,115,108,111,116, 0,115,111,117,114, 99,101, 0,108, 97,115,116,102,114, 97,109,101, 0,116,112, 97,103, -101,102,108, 97,103, 0,116,111,116, 98,105,110,100, 0,120,114,101,112, 0,121,114,101,112, 0,116,119,115,116, 97, 0,116,119, -101,110,100, 0, 98,105,110,100, 99,111,100,101, 0, 42,114,101,112, 98,105,110,100, 0, 42,112, 97, 99,107,101,100,102,105,108, -101, 0, 42,112,114,101,118,105,101,119, 0,108, 97,115,116,117,112,100, 97,116,101, 0,108, 97,115,116,117,115,101,100, 0, 97, -110,105,109,115,112,101,101,100, 0,103,101,110, 95,120, 0,103,101,110, 95,121, 0,103,101,110, 95,116,121,112,101, 0, 97,115, -112,120, 0, 97,115,112,121, 0,116,101,120, 99,111, 0,109, 97,112,116,111, 0,109, 97,112,116,111,110,101,103, 0, 98,108,101, -110,100,116,121,112,101, 0, 42,111, 98,106,101, 99,116, 0, 42,116,101,120, 0,117,118,110, 97,109,101, 91, 51, 50, 93, 0,112, -114,111,106,120, 0,112,114,111,106,121, 0,112,114,111,106,122, 0,109, 97,112,112,105,110,103, 0,111,102,115, 91, 51, 93, 0, -115,105,122,101, 91, 51, 93, 0,114,111,116, 0,116,101,120,102,108, 97,103, 0, 99,111,108,111,114,109,111,100,101,108, 0,112, -109, 97,112,116,111, 0,112,109, 97,112,116,111,110,101,103, 0,110,111,114,109, 97,112,115,112, 97, 99,101, 0,119,104,105, 99, -104, 95,111,117,116,112,117,116, 0, 98,114,117,115,104, 95,109, 97,112, 95,109,111,100,101, 0,112, 97,100, 91, 55, 93, 0,114, - 0,103, 0, 98, 0,107, 0,100,101,102, 95,118, 97,114, 0, 99,111,108,102, 97, 99, 0,118, 97,114,102, 97, 99, 0,110,111,114, -102, 97, 99, 0,100,105,115,112,102, 97, 99, 0,119, 97,114,112,102, 97, 99, 0, 99,111,108,115,112,101, 99,102, 97, 99, 0,109, -105,114,114,102, 97, 99, 0, 97,108,112,104, 97,102, 97, 99, 0,100,105,102,102,102, 97, 99, 0,115,112,101, 99,102, 97, 99, 0, -101,109,105,116,102, 97, 99, 0,104, 97,114,100,102, 97, 99, 0,114, 97,121,109,105,114,114,102, 97, 99, 0,116,114, 97,110,115, -108,102, 97, 99, 0, 97,109, 98,102, 97, 99, 0, 99,111,108,101,109,105,116,102, 97, 99, 0, 99,111,108,114,101,102,108,102, 97, - 99, 0, 99,111,108,116,114, 97,110,115,102, 97, 99, 0,100,101,110,115,102, 97, 99, 0,115, 99, 97,116,116,101,114,102, 97, 99, - 0,114,101,102,108,102, 97, 99, 0,116,105,109,101,102, 97, 99, 0,108,101,110,103,116,104,102, 97, 99, 0, 99,108,117,109,112, -102, 97, 99, 0,100, 97,109,112,102, 97, 99, 0,107,105,110,107,102, 97, 99, 0,114,111,117,103,104,102, 97, 99, 0,112, 97,100, -101,110,115,102, 97, 99, 0,103,114, 97,118,105,116,121,102, 97, 99, 0,108,105,102,101,102, 97, 99, 0,115,105,122,101,102, 97, - 99, 0,105,118,101,108,102, 97, 99, 0,102,105,101,108,100,102, 97, 99, 0,115,104, 97,100,111,119,102, 97, 99, 0,122,101,110, -117,112,102, 97, 99, 0,122,101,110,100,111,119,110,102, 97, 99, 0, 98,108,101,110,100,102, 97, 99, 0,110, 97,109,101, 91, 49, - 54, 48, 93, 0, 42,104, 97,110,100,108,101, 0, 42,112,110, 97,109,101, 0, 42,115,116,110, 97,109,101,115, 0,115,116,121,112, -101,115, 0,118, 97,114,115, 0, 42,118, 97,114,115,116,114, 0, 42,114,101,115,117,108,116, 0, 42, 99,102,114, 97, 0,100, 97, -116, 97, 91, 51, 50, 93, 0, 40, 42,100,111,105,116, 41, 40, 41, 0, 40, 42,105,110,115,116, 97,110, 99,101, 95,105,110,105,116, - 41, 40, 41, 0, 40, 42, 99, 97,108,108, 98, 97, 99,107, 41, 40, 41, 0,118,101,114,115,105,111,110, 0, 97, 0,105,112,111,116, -121,112,101, 0, 42,105,109, 97, 0, 42, 99,117, 98,101, 91, 54, 93, 0,105,109, 97,116, 91, 52, 93, 91, 52, 93, 0,111, 98,105, -109, 97,116, 91, 51, 93, 91, 51, 93, 0,115,116,121,112,101, 0,118,105,101,119,115, 99, 97,108,101, 0,110,111,116,108, 97,121, - 0, 99,117, 98,101,114,101,115, 0,100,101,112,116,104, 0,114,101, 99, 97,108, 99, 0,108, 97,115,116,115,105,122,101, 0,102, - 97,108,108,111,102,102, 95,116,121,112,101, 0,102, 97,108,108,111,102,102, 95,115,111,102,116,110,101,115,115, 0,114, 97,100, -105,117,115, 0, 99,111,108,111,114, 95,115,111,117,114, 99,101, 0,116,111,116,112,111,105,110,116,115, 0,112,100,112, 97,100, - 0,112,115,121,115, 0,112,115,121,115, 95, 99, 97, 99,104,101, 95,115,112, 97, 99,101, 0,111, 98, 95, 99, 97, 99,104,101, 95, -115,112, 97, 99,101, 0, 42,112,111,105,110,116, 95,116,114,101,101, 0, 42,112,111,105,110,116, 95,100, 97,116, 97, 0,110,111, -105,115,101, 95,115,105,122,101, 0,110,111,105,115,101, 95,100,101,112,116,104, 0,110,111,105,115,101, 95,105,110,102,108,117, -101,110, 99,101, 0,110,111,105,115,101, 95, 98, 97,115,105,115, 0,112,100,112, 97,100, 51, 91, 51, 93, 0,110,111,105,115,101, - 95,102, 97, 99, 0,115,112,101,101,100, 95,115, 99, 97,108,101, 0, 42, 99,111, 98, 97, 0,114,101,115,111,108, 91, 51, 93, 0, -105,110,116,101,114,112, 95,116,121,112,101, 0,102,105,108,101, 95,102,111,114,109, 97,116, 0,101,120,116,101,110,100, 0,115, -109,111,107,101,100, 95,116,121,112,101, 0,105,110,116, 95,109,117,108,116,105,112,108,105,101,114, 0,115,116,105,108,108, 95, -102,114, 97,109,101, 0,115,111,117,114, 99,101, 95,112, 97,116,104, 91, 50, 52, 48, 93, 0, 42,100, 97,116, 97,115,101,116, 0, - 99, 97, 99,104,101,100,102,114, 97,109,101, 0,110,111,105,115,101,115,105,122,101, 0,116,117,114, 98,117,108, 0, 98,114,105, -103,104,116, 0, 99,111,110,116,114, 97,115,116, 0,115, 97,116,117,114, 97,116,105,111,110, 0,114,102, 97, 99, 0,103,102, 97, - 99, 0, 98,102, 97, 99, 0,102,105,108,116,101,114,115,105,122,101, 0,109,103, 95, 72, 0,109,103, 95,108, 97, 99,117,110, 97, -114,105,116,121, 0,109,103, 95,111, 99,116, 97,118,101,115, 0,109,103, 95,111,102,102,115,101,116, 0,109,103, 95,103, 97,105, -110, 0,100,105,115,116, 95, 97,109,111,117,110,116, 0,110,115, 95,111,117,116,115, 99, 97,108,101, 0,118,110, 95,119, 49, 0, -118,110, 95,119, 50, 0,118,110, 95,119, 51, 0,118,110, 95,119, 52, 0,118,110, 95,109,101,120,112, 0,118,110, 95,100,105,115, -116,109, 0,118,110, 95, 99,111,108,116,121,112,101, 0,110,111,105,115,101,100,101,112,116,104, 0,110,111,105,115,101,116,121, -112,101, 0,110,111,105,115,101, 98, 97,115,105,115, 0,110,111,105,115,101, 98, 97,115,105,115, 50, 0,105,109, 97,102,108, 97, -103, 0, 99,114,111,112,120,109,105,110, 0, 99,114,111,112,121,109,105,110, 0, 99,114,111,112,120,109, 97,120, 0, 99,114,111, -112,121,109, 97,120, 0,116,101,120,102,105,108,116,101,114, 0, 97,102,109, 97,120, 0,120,114,101,112,101, 97,116, 0,121,114, -101,112,101, 97,116, 0, 99,104,101, 99,107,101,114,100,105,115,116, 0,110, 97, 98,108, 97, 0,105,117,115,101,114, 0, 42,110, -111,100,101,116,114,101,101, 0, 42,112,108,117,103,105,110, 0, 42,101,110,118, 0, 42,112,100, 0, 42,118,100, 0,117,115,101, - 95,110,111,100,101,115, 0,108,111, 99, 91, 51, 93, 0,114,111,116, 91, 51, 93, 0,109, 97,116, 91, 52, 93, 91, 52, 93, 0,109, -105,110, 91, 51, 93, 0,109, 97,120, 91, 51, 93, 0,109,111,100,101, 0,116,111,116,101,120, 0,115,104,100,119,114, 0,115,104, -100,119,103, 0,115,104,100,119, 98, 0,115,104,100,119,112, 97,100, 0,101,110,101,114,103,121, 0,100,105,115,116, 0,115,112, -111,116,115,105,122,101, 0,115,112,111,116, 98,108,101,110,100, 0,104, 97,105,110,116, 0, 97,116,116, 49, 0, 97,116,116, 50, - 0, 42, 99,117,114,102, 97,108,108,111,102,102, 0,115,104, 97,100,115,112,111,116,115,105,122,101, 0, 98,105, 97,115, 0,115, -111,102,116, 0, 99,111,109,112,114,101,115,115,116,104,114,101,115,104, 0,112, 97,100, 53, 91, 51, 93, 0, 98,117,102,115,105, -122,101, 0,115, 97,109,112, 0, 98,117,102,102,101,114,115, 0,102,105,108,116,101,114,116,121,112,101, 0, 98,117,102,102,108, - 97,103, 0, 98,117,102,116,121,112,101, 0,114, 97,121, 95,115, 97,109,112, 0,114, 97,121, 95,115, 97,109,112,121, 0,114, 97, -121, 95,115, 97,109,112,122, 0,114, 97,121, 95,115, 97,109,112, 95,116,121,112,101, 0, 97,114,101, 97, 95,115,104, 97,112,101, - 0, 97,114,101, 97, 95,115,105,122,101, 0, 97,114,101, 97, 95,115,105,122,101,121, 0, 97,114,101, 97, 95,115,105,122,101,122, - 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0,114, 97,121, 95,115, 97,109,112, 95,109,101,116,104,111,100, 0,116,101, -120, 97, 99,116, 0,115,104, 97,100,104, 97,108,111,115,116,101,112, 0,115,117,110, 95,101,102,102,101, 99,116, 95,116,121,112, -101, 0,115,107,121, 98,108,101,110,100,116,121,112,101, 0,104,111,114,105,122,111,110, 95, 98,114,105,103,104,116,110,101,115, -115, 0,115,112,114,101, 97,100, 0,115,117,110, 95, 98,114,105,103,104,116,110,101,115,115, 0,115,117,110, 95,115,105,122,101, - 0, 98, 97, 99,107,115, 99, 97,116,116,101,114,101,100, 95,108,105,103,104,116, 0,115,117,110, 95,105,110,116,101,110,115,105, -116,121, 0, 97,116,109, 95,116,117,114, 98,105,100,105,116,121, 0, 97,116,109, 95,105,110,115, 99, 97,116,116,101,114,105,110, -103, 95,102, 97, 99,116,111,114, 0, 97,116,109, 95,101,120,116,105,110, 99,116,105,111,110, 95,102, 97, 99,116,111,114, 0, 97, -116,109, 95,100,105,115,116, 97,110, 99,101, 95,102, 97, 99,116,111,114, 0,115,107,121, 98,108,101,110,100,102, 97, 99, 0,115, -107,121, 95,101,120,112,111,115,117,114,101, 0,115,107,121, 95, 99,111,108,111,114,115,112, 97, 99,101, 0,112, 97,100, 52, 91, - 54, 93, 0, 42,109,116,101,120, 91, 49, 56, 93, 0,112,114, 95,116,101,120,116,117,114,101, 0,112, 97,100, 54, 91, 54, 93, 0, -100,101,110,115,105,116,121, 0,101,109,105,115,115,105,111,110, 0,115, 99, 97,116,116,101,114,105,110,103, 0,114,101,102,108, -101, 99,116,105,111,110, 0,101,109,105,115,115,105,111,110, 95, 99,111,108, 91, 51, 93, 0,116,114, 97,110,115,109,105,115,115, -105,111,110, 95, 99,111,108, 91, 51, 93, 0,114,101,102,108,101, 99,116,105,111,110, 95, 99,111,108, 91, 51, 93, 0,100,101,110, -115,105,116,121, 95,115, 99, 97,108,101, 0,100,101,112,116,104, 95, 99,117,116,111,102,102, 0, 97,115,121,109,109,101,116,114, -121, 0,115,116,101,112,115,105,122,101, 95,116,121,112,101, 0,115,104, 97,100,101,102,108, 97,103, 0,115,104, 97,100,101, 95, -116,121,112,101, 0,112,114,101, 99, 97, 99,104,101, 95,114,101,115,111,108,117,116,105,111,110, 0,115,116,101,112,115,105,122, -101, 0,109,115, 95,100,105,102,102, 0,109,115, 95,105,110,116,101,110,115,105,116,121, 0,109,115, 95,115,112,114,101, 97,100, - 0,109, 97,116,101,114,105, 97,108, 95,116,121,112,101, 0,115,112,101, 99,114, 0,115,112,101, 99,103, 0,115,112,101, 99, 98, - 0,109,105,114,114, 0,109,105,114,103, 0,109,105,114, 98, 0, 97,109, 98,114, 0, 97,109, 98, 98, 0, 97,109, 98,103, 0, 97, -109, 98, 0,101,109,105,116, 0, 97,110,103, 0,115,112,101, 99,116,114, 97, 0,114, 97,121, 95,109,105,114,114,111,114, 0, 97, -108,112,104, 97, 0,114,101,102, 0,115,112,101, 99, 0,122,111,102,102,115, 0, 97,100,100, 0,116,114, 97,110,115,108,117, 99, -101,110, 99,121, 0,118,111,108, 0,102,114,101,115,110,101,108, 95,109,105,114, 0,102,114,101,115,110,101,108, 95,109,105,114, - 95,105, 0,102,114,101,115,110,101,108, 95,116,114, 97, 0,102,114,101,115,110,101,108, 95,116,114, 97, 95,105, 0,102,105,108, -116,101,114, 0,116,120, 95,108,105,109,105,116, 0,116,120, 95,102, 97,108,108,111,102,102, 0,114, 97,121, 95,100,101,112,116, -104, 0,114, 97,121, 95,100,101,112,116,104, 95,116,114, 97, 0,104, 97,114, 0,115,101,101,100, 49, 0,115,101,101,100, 50, 0, -103,108,111,115,115, 95,109,105,114, 0,103,108,111,115,115, 95,116,114, 97, 0,115, 97,109,112, 95,103,108,111,115,115, 95,109, -105,114, 0,115, 97,109,112, 95,103,108,111,115,115, 95,116,114, 97, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 95,109, -105,114, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 95,116,114, 97, 0, 97,110,105,115,111, 95,103,108,111,115,115, 95, -109,105,114, 0,100,105,115,116, 95,109,105,114, 0,102, 97,100,101,116,111, 95,109,105,114, 0,115,104, 97,100,101, 95,102,108, - 97,103, 0,109,111,100,101, 95,108, 0,102,108, 97,114,101, 99, 0,115,116, 97,114, 99, 0,108,105,110,101, 99, 0,114,105,110, -103, 99, 0,104, 97,115,105,122,101, 0,102,108, 97,114,101,115,105,122,101, 0,115,117, 98,115,105,122,101, 0,102,108, 97,114, -101, 98,111,111,115,116, 0,115,116,114, 97,110,100, 95,115,116, 97, 0,115,116,114, 97,110,100, 95,101,110,100, 0,115,116,114, - 97,110,100, 95,101, 97,115,101, 0,115,116,114, 97,110,100, 95,115,117,114,102,110,111,114, 0,115,116,114, 97,110,100, 95,109, -105,110, 0,115,116,114, 97,110,100, 95,119,105,100,116,104,102, 97,100,101, 0,115,116,114, 97,110,100, 95,117,118,110, 97,109, -101, 91, 51, 50, 93, 0,115, 98,105, 97,115, 0,108, 98,105, 97,115, 0,115,104, 97,100, 95, 97,108,112,104, 97, 0,115,101,112, -116,101,120, 0,114,103, 98,115,101,108, 0,112,114, 95,116,121,112,101, 0,112,114, 95, 98, 97, 99,107, 0,112,114, 95,108, 97, -109,112, 0,109,108, 95,102,108, 97,103, 0,100,105,102,102, 95,115,104, 97,100,101,114, 0,115,112,101, 99, 95,115,104, 97,100, -101,114, 0,114,111,117,103,104,110,101,115,115, 0,114,101,102,114, 97, 99, 0,112, 97,114, 97,109, 91, 52, 93, 0,114,109,115, - 0,100, 97,114,107,110,101,115,115, 0, 42,114, 97,109,112, 95, 99,111,108, 0, 42,114, 97,109,112, 95,115,112,101, 99, 0,114, - 97,109,112,105,110, 95, 99,111,108, 0,114, 97,109,112,105,110, 95,115,112,101, 99, 0,114, 97,109,112, 98,108,101,110,100, 95, - 99,111,108, 0,114, 97,109,112, 98,108,101,110,100, 95,115,112,101, 99, 0,114, 97,109,112, 95,115,104,111,119, 0,112, 97,100, - 51, 0,114, 97,109,112,102, 97, 99, 95, 99,111,108, 0,114, 97,109,112,102, 97, 99, 95,115,112,101, 99, 0, 42,103,114,111,117, -112, 0,102,114,105, 99,116,105,111,110, 0,102,104, 0,114,101,102,108,101, 99,116, 0,102,104,100,105,115,116, 0,120,121,102, -114,105, 99,116, 0,100,121,110, 97,109,111,100,101, 0,115,115,115, 95,114, 97,100,105,117,115, 91, 51, 93, 0,115,115,115, 95, - 99,111,108, 91, 51, 93, 0,115,115,115, 95,101,114,114,111,114, 0,115,115,115, 95,115, 99, 97,108,101, 0,115,115,115, 95,105, -111,114, 0,115,115,115, 95, 99,111,108,102, 97, 99, 0,115,115,115, 95,116,101,120,102, 97, 99, 0,115,115,115, 95,102,114,111, -110,116, 0,115,115,115, 95, 98, 97, 99,107, 0,115,115,115, 95,102,108, 97,103, 0,115,115,115, 95,112,114,101,115,101,116, 0, -109, 97,112,116,111, 95,116,101,120,116,117,114,101,100, 0,115,104, 97,100,111,119,111,110,108,121, 95,102,108, 97,103, 0,103, -112,117,109, 97,116,101,114,105, 97,108, 0,110, 97,109,101, 91, 50, 53, 54, 93, 0, 42, 98, 98, 0,105, 49, 0,106, 49, 0,107, - 49, 0,105, 50, 0,106, 50, 0,107, 50, 0,115,101,108, 99,111,108, 49, 0,115,101,108, 99,111,108, 50, 0,122, 0,113,117, 97, -116, 91, 52, 93, 0,101,120,112,120, 0,101,120,112,121, 0,101,120,112,122, 0,114, 97,100, 0,114, 97,100, 50, 0,115, 0, 42, -109, 97,116, 0, 42,105,109, 97,116, 0,101,108,101,109,115, 0,100,105,115,112, 0, 42,101,100,105,116,101,108,101,109,115, 0, - 42, 42,109, 97,116, 0,102,108, 97,103, 50, 0,116,111,116, 99,111,108, 0,119,105,114,101,115,105,122,101, 0,114,101,110,100, -101,114,115,105,122,101, 0,116,104,114,101,115,104, 0, 42,108, 97,115,116,101,108,101,109, 0,118,101, 99, 91, 51, 93, 91, 51, - 93, 0, 97,108,102, 97, 0,119,101,105,103,104,116, 0,104, 49, 0,104, 50, 0,102, 49, 0,102, 50, 0,102, 51, 0,104,105,100, -101, 0,118,101, 99, 91, 52, 93, 0,109, 97,116, 95,110,114, 0,112,110,116,115,117, 0,112,110,116,115,118, 0,114,101,115,111, -108,117, 0,114,101,115,111,108,118, 0,111,114,100,101,114,117, 0,111,114,100,101,114,118, 0,102,108, 97,103,117, 0,102,108, - 97,103,118, 0, 42,107,110,111,116,115,117, 0, 42,107,110,111,116,115,118, 0,116,105,108,116, 95,105,110,116,101,114,112, 0, -114, 97,100,105,117,115, 95,105,110,116,101,114,112, 0, 99,104, 97,114,105,100,120, 0,107,101,114,110, 0,119, 0,104, 0,110, -117,114, 98,115, 0, 42,107,101,121,105,110,100,101,120, 0,115,104, 97,112,101,110,114, 0,110,117,114, 98, 0, 42,101,100,105, -116,110,117,114, 98, 0, 42, 98,101,118,111, 98,106, 0, 42,116, 97,112,101,114,111, 98,106, 0, 42,116,101,120,116,111,110, 99, -117,114,118,101, 0, 42,112, 97,116,104, 0, 42,107,101,121, 0, 98,101,118, 0,100,114, 97,119,102,108, 97,103, 0,116,119,105, -115,116, 95,109,111,100,101, 0,116,119,105,115,116, 95,115,109,111,111,116,104, 0,115,109, 97,108,108, 99, 97,112,115, 95,115, - 99, 97,108,101, 0,112, 97,116,104,108,101,110, 0, 98,101,118,114,101,115,111,108, 0,119,105,100,116,104, 0,101,120,116, 49, - 0,101,120,116, 50, 0,114,101,115,111,108,117, 95,114,101,110, 0,114,101,115,111,108,118, 95,114,101,110, 0, 97, 99,116,110, -117, 0, 42,108, 97,115,116,115,101,108, 0,115,112, 97, 99,101,109,111,100,101, 0,115,112, 97, 99,105,110,103, 0,108,105,110, -101,100,105,115,116, 0,115,104,101, 97,114, 0,102,115,105,122,101, 0,119,111,114,100,115,112, 97, 99,101, 0,117,108,112,111, -115, 0,117,108,104,101,105,103,104,116, 0,120,111,102, 0,121,111,102, 0,108,105,110,101,119,105,100,116,104, 0, 42,115,116, -114, 0, 42,115,101,108, 98,111,120,101,115, 0, 42,101,100,105,116,102,111,110,116, 0,102, 97,109,105,108,121, 91, 50, 52, 93, - 0, 42,118,102,111,110,116, 0, 42,118,102,111,110,116, 98, 0, 42,118,102,111,110,116,105, 0, 42,118,102,111,110,116, 98,105, - 0,115,101,112, 99,104, 97,114, 0, 99,116,105,109,101, 0,116,111,116, 98,111,120, 0, 97, 99,116, 98,111,120, 0, 42,116, 98, - 0,115,101,108,115,116, 97,114,116, 0,115,101,108,101,110,100, 0, 42,115,116,114,105,110,102,111, 0, 99,117,114,105,110,102, -111, 0, 42,109,102, 97, 99,101, 0, 42,109,116,102, 97, 99,101, 0, 42,116,102, 97, 99,101, 0, 42,109,118,101,114,116, 0, 42, -109,101,100,103,101, 0, 42,100,118,101,114,116, 0, 42,109, 99,111,108, 0, 42,109,115,116,105, 99,107,121, 0, 42,116,101,120, - 99,111,109,101,115,104, 0, 42,109,115,101,108,101, 99,116, 0, 42,101,100,105,116, 95,109,101,115,104, 0,118,100, 97,116, 97, - 0,101,100, 97,116, 97, 0,102,100, 97,116, 97, 0,116,111,116,101,100,103,101, 0,116,111,116,102, 97, 99,101, 0,116,111,116, -115,101,108,101, 99,116, 0, 97, 99,116, 95,102, 97, 99,101, 0,115,109,111,111,116,104,114,101,115,104, 0,115,117, 98,100,105, -118, 0,115,117, 98,100,105,118,114, 0,115,117, 98,115,117,114,102,116,121,112,101, 0,101,100,105,116,102,108, 97,103, 0, 42, -109,114, 0, 42,112,118, 0, 42,116,112, 97,103,101, 0,117,118, 91, 52, 93, 91, 50, 93, 0, 99,111,108, 91, 52, 93, 0,116,114, - 97,110,115,112, 0,116,105,108,101, 0,117,110,119,114, 97,112, 0,118, 49, 0,118, 50, 0,118, 51, 0,118, 52, 0,101,100, 99, -111,100,101, 0, 99,114,101, 97,115,101, 0, 98,119,101,105,103,104,116, 0,100,101,102, 95,110,114, 0, 42,100,119, 0,116,111, -116,119,101,105,103,104,116, 0, 99,111, 91, 51, 93, 0,110,111, 91, 51, 93, 0,117,118, 91, 50, 93, 0, 99,111, 91, 50, 93, 0, -105,110,100,101,120, 0,102, 0,105, 0,115, 91, 50, 53, 54, 93, 0,116,111,116,100,105,115,112, 0, 40, 42,100,105,115,112,115, - 41, 40, 41, 0,118, 91, 52, 93, 0,109,105,100, 0,112, 97,100, 91, 50, 93, 0,118, 91, 50, 93, 0, 42,102, 97, 99,101,115, 0, - 42, 99,111,108,102, 97, 99,101,115, 0, 42,101,100,103,101,115, 0, 42,118,101,114,116,115, 0,108,101,118,101,108,115, 0,108, -101,118,101,108, 95, 99,111,117,110,116, 0, 99,117,114,114,101,110,116, 0,110,101,119,108,118,108, 0,101,100,103,101,108,118, -108, 0,112,105,110,108,118,108, 0,114,101,110,100,101,114,108,118,108, 0,117,115,101, 95, 99,111,108, 0, 42,101,100,103,101, - 95,102,108, 97,103,115, 0, 42,101,100,103,101, 95, 99,114,101, 97,115,101,115, 0, 42,118,101,114,116, 95,109, 97,112, 0, 42, -101,100,103,101, 95,109, 97,112, 0, 42,111,108,100, 95,102, 97, 99,101,115, 0, 42,111,108,100, 95,101,100,103,101,115, 0,115, -116, 97, 99,107,105,110,100,101,120, 0, 42,101,114,114,111,114, 0,109,111,100,105,102,105,101,114, 0,115,117, 98,100,105,118, - 84,121,112,101, 0,114,101,110,100,101,114, 76,101,118,101,108,115, 0, 42,101,109, 67, 97, 99,104,101, 0, 42,109, 67, 97, 99, -104,101, 0,100,101,102, 97,120,105,115, 0,112, 97,100, 91, 54, 93, 0,108,101,110,103,116,104, 0,114, 97,110,100,111,109,105, -122,101, 0,115,101,101,100, 0, 42,111, 98, 95, 97,114,109, 0, 42,115,116, 97,114,116, 95, 99, 97,112, 0, 42,101,110,100, 95, - 99, 97,112, 0, 42, 99,117,114,118,101, 95,111, 98, 0, 42,111,102,102,115,101,116, 95,111, 98, 0,111,102,102,115,101,116, 91, - 51, 93, 0,115, 99, 97,108,101, 91, 51, 93, 0,109,101,114,103,101, 95,100,105,115,116, 0,102,105,116, 95,116,121,112,101, 0, -111,102,102,115,101,116, 95,116,121,112,101, 0, 99,111,117,110,116, 0, 97,120,105,115, 0,116,111,108,101,114, 97,110, 99,101, - 0, 42,109,105,114,114,111,114, 95,111, 98, 0,115,112,108,105,116, 95, 97,110,103,108,101, 0,118, 97,108,117,101, 0,114,101, -115, 0,118, 97,108, 95,102,108, 97,103,115, 0,108,105,109, 95,102,108, 97,103,115, 0,101, 95,102,108, 97,103,115, 0, 98,101, -118,101,108, 95, 97,110,103,108,101, 0,100,101,102,103,114,112, 95,110, 97,109,101, 91, 51, 50, 93, 0, 42,100,111,109, 97,105, -110, 0, 42,102,108,111,119, 0, 42, 99,111,108,108, 0,116,105,109,101, 0, 42,116,101,120,116,117,114,101, 0,115,116,114,101, -110,103,116,104, 0,100,105,114,101, 99,116,105,111,110, 0,109,105,100,108,101,118,101,108, 0,116,101,120,109, 97,112,112,105, -110,103, 0, 42,109, 97,112, 95,111, 98,106,101, 99,116, 0,117,118,108, 97,121,101,114, 95,110, 97,109,101, 91, 51, 50, 93, 0, -117,118,108, 97,121,101,114, 95,116,109,112, 0, 42,112,114,111,106,101, 99,116,111,114,115, 91, 49, 48, 93, 0, 42,105,109, 97, -103,101, 0,110,117,109, 95,112,114,111,106,101, 99,116,111,114,115, 0, 97,115,112,101, 99,116,120, 0, 97,115,112,101, 99,116, -121, 0,115, 99, 97,108,101,120, 0,115, 99, 97,108,101,121, 0,112,101,114, 99,101,110,116, 0,102, 97, 99,101, 67,111,117,110, -116, 0,102, 97, 99, 0,114,101,112,101, 97,116, 0, 42,111, 98,106,101, 99,116, 99,101,110,116,101,114, 0,115,116, 97,114,116, -120, 0,115,116, 97,114,116,121, 0,104,101,105,103,104,116, 0,110, 97,114,114,111,119, 0,115,112,101,101,100, 0,100, 97,109, -112, 0,102, 97,108,108,111,102,102, 0,116,105,109,101,111,102,102,115, 0,108,105,102,101,116,105,109,101, 0,100,101,102,111, -114,109,102,108, 97,103, 0,109,117,108,116,105, 0, 42,112,114,101,118, 67,111,115, 0,115,117, 98,116, 97,114,103,101,116, 91, - 51, 50, 93, 0,112, 97,114,101,110,116,105,110,118, 91, 52, 93, 91, 52, 93, 0, 99,101,110,116, 91, 51, 93, 0, 42,105,110,100, -101,120, 97,114, 0,116,111,116,105,110,100,101,120, 0,102,111,114, 99,101, 0, 42, 99,108,111,116,104, 79, 98,106,101, 99,116, - 0, 42,115,105,109, 95,112, 97,114,109,115, 0, 42, 99,111,108,108, 95,112, 97,114,109,115, 0, 42,112,111,105,110,116, 95, 99, - 97, 99,104,101, 0,112,116, 99, 97, 99,104,101,115, 0, 42,120, 0, 42,120,110,101,119, 0, 42,120,111,108,100, 0, 42, 99,117, -114,114,101,110,116, 95,120,110,101,119, 0, 42, 99,117,114,114,101,110,116, 95,120, 0, 42, 99,117,114,114,101,110,116, 95,118, - 0, 42,109,102, 97, 99,101,115, 0,110,117,109,118,101,114,116,115, 0,110,117,109,102, 97, 99,101,115, 0,116,105,109,101, 95, -120, 0,116,105,109,101, 95,120,110,101,119, 0, 42, 98,118,104,116,114,101,101, 0, 42,118, 0, 42,100,109, 0, 99,102,114, 97, - 0,111,112,101,114, 97,116,105,111,110, 0,118,101,114,116,101,120, 0,116,111,116,105,110,102,108,117,101,110, 99,101, 0,103, -114,105,100,115,105,122,101, 0, 42, 98,105,110,100,105,110,102,108,117,101,110, 99,101,115, 0, 42, 98,105,110,100,111,102,102, -115,101,116,115, 0, 42, 98,105,110,100, 99, 97,103,101, 99,111,115, 0,116,111,116, 99, 97,103,101,118,101,114,116, 0, 42,100, -121,110,103,114,105,100, 0, 42,100,121,110,105,110,102,108,117,101,110, 99,101,115, 0, 42,100,121,110,118,101,114,116,115, 0, - 42,112, 97,100, 50, 0,100,121,110,103,114,105,100,115,105,122,101, 0,100,121,110, 99,101,108,108,109,105,110, 91, 51, 93, 0, -100,121,110, 99,101,108,108,119,105,100,116,104, 0, 98,105,110,100,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42, 98,105,110,100, -119,101,105,103,104,116,115, 0, 42, 98,105,110,100, 99,111,115, 0, 40, 42, 98,105,110,100,102,117,110, 99, 41, 40, 41, 0, 42, -112,115,121,115, 0,116,111,116,100,109,118,101,114,116, 0,116,111,116,100,109,101,100,103,101, 0,116,111,116,100,109,102, 97, - 99,101, 0,112,111,115,105,116,105,111,110, 0,114, 97,110,100,111,109, 95,112,111,115,105,116,105,111,110, 0, 42,102, 97, 99, -101,112, 97, 0,118,103,114,111,117,112, 0,112,114,111,116,101, 99,116, 0,108,118,108, 0,115, 99,117,108,112,116,108,118,108, - 0,116,111,116,108,118,108, 0,115,105,109,112,108,101, 0, 42,102,115,115, 0, 42,116, 97,114,103,101,116, 0, 42, 97,117,120, - 84, 97,114,103,101,116, 0,118,103,114,111,117,112, 95,110, 97,109,101, 91, 51, 50, 93, 0,107,101,101,112, 68,105,115,116, 0, -115,104,114,105,110,107, 84,121,112,101, 0,115,104,114,105,110,107, 79,112,116,115, 0,112,114,111,106, 65,120,105,115, 0,115, -117, 98,115,117,114,102, 76,101,118,101,108,115, 0, 42,111,114,105,103,105,110, 0,102, 97, 99,116,111,114, 0,108,105,109,105, -116, 91, 50, 93, 0,111,114,105,103,105,110, 79,112,116,115, 0,111,102,102,115,101,116, 95,102, 97, 99, 0, 99,114,101, 97,115, -101, 95,105,110,110,101,114, 0, 99,114,101, 97,115,101, 95,111,117,116,101,114, 0, 99,114,101, 97,115,101, 95,114,105,109, 0, -109, 97,116, 95,111,102,115, 0,109, 97,116, 95,111,102,115, 95,114,105,109, 0, 42,111, 98, 95, 97,120,105,115, 0,115,116,101, -112,115, 0,114,101,110,100,101,114, 95,115,116,101,112,115, 0,105,116,101,114, 0,115, 99,114,101,119, 95,111,102,115, 0, 97, -110,103,108,101, 0, 42,108, 97,116,116, 0,112,110,116,115,119, 0,111,112,110,116,115,117, 0,111,112,110,116,115,118, 0,111, -112,110,116,115,119, 0,116,121,112,101,117, 0,116,121,112,101,118, 0,116,121,112,101,119, 0,102,117, 0,102,118, 0,102,119, - 0,100,117, 0,100,118, 0,100,119, 0, 42,100,101,102, 0, 42,108, 97,116,116,105, 99,101,100, 97,116, 97, 0,108, 97,116,109, - 97,116, 91, 52, 93, 91, 52, 93, 0, 42,101,100,105,116,108, 97,116,116, 0,118,101, 99, 91, 56, 93, 91, 51, 93, 0, 42,115, 99, -117,108,112,116, 0,112, 97,114,116,121,112,101, 0,112, 97,114, 49, 0,112, 97,114, 50, 0,112, 97,114, 51, 0,112, 97,114,115, -117, 98,115,116,114, 91, 51, 50, 93, 0, 42,116,114, 97, 99,107, 0, 42,112,114,111,120,121, 0, 42,112,114,111,120,121, 95,103, -114,111,117,112, 0, 42,112,114,111,120,121, 95,102,114,111,109, 0, 42, 97, 99,116,105,111,110, 0, 42,112,111,115,101,108,105, - 98, 0, 42,112,111,115,101, 0, 42,103,112,100, 0, 97,118,115, 0, 42,109,112, 97,116,104, 0, 99,111,110,115,116,114, 97,105, -110,116, 67,104, 97,110,110,101,108,115, 0,101,102,102,101, 99,116, 0,100,101,102, 98, 97,115,101, 0,109,111,100,105,102,105, -101,114,115, 0,114,101,115,116,111,114,101, 95,109,111,100,101, 0, 42,109, 97,116, 98,105,116,115, 0, 97, 99,116, 99,111,108, - 0,100,108,111, 99, 91, 51, 93, 0,111,114,105,103, 91, 51, 93, 0,100,115,105,122,101, 91, 51, 93, 0,100,114,111,116, 91, 51, - 93, 0,100,113,117, 97,116, 91, 52, 93, 0,114,111,116, 65,120,105,115, 91, 51, 93, 0,100,114,111,116, 65,120,105,115, 91, 51, - 93, 0,114,111,116, 65,110,103,108,101, 0,100,114,111,116, 65,110,103,108,101, 0,111, 98,109, 97,116, 91, 52, 93, 91, 52, 93, - 0, 99,111,110,115,116,105,110,118, 91, 52, 93, 91, 52, 93, 0,105,109, 97,116, 95,114,101,110, 91, 52, 93, 91, 52, 93, 0,108, - 97,121, 0, 99,111,108, 98,105,116,115, 0,116,114, 97,110,115,102,108, 97,103, 0,112,114,111,116,101, 99,116,102,108, 97,103, - 0,116,114, 97, 99,107,102,108, 97,103, 0,117,112,102,108, 97,103, 0,110,108, 97,102,108, 97,103, 0,105,112,111,102,108, 97, -103, 0,105,112,111,119,105,110, 0,115, 99, 97,102,108, 97,103, 0,115, 99, 97,118,105,115,102,108, 97,103, 0, 98,111,117,110, -100,116,121,112,101, 0,100,117,112,111,110, 0,100,117,112,111,102,102, 0,100,117,112,115,116, 97, 0,100,117,112,101,110,100, - 0,115,102, 0,109, 97,115,115, 0,100, 97,109,112,105,110,103, 0,105,110,101,114,116,105, 97, 0,102,111,114,109,102, 97, 99, -116,111,114, 0,114,100, 97,109,112,105,110,103, 0,109, 97,114,103,105,110, 0,109, 97,120, 95,118,101,108, 0,109,105,110, 95, -118,101,108, 0,109, 95, 99,111,110,116, 97, 99,116, 80,114,111, 99,101,115,115,105,110,103, 84,104,114,101,115,104,111,108,100, - 0,114,111,116,109,111,100,101, 0,100,116, 0,100,116,120, 0,101,109,112,116,121, 95,100,114, 97,119,116,121,112,101, 0,112, - 97,100, 49, 91, 51, 93, 0,101,109,112,116,121, 95,100,114, 97,119,115,105,122,101, 0,100,117,112,102, 97, 99,101,115, 99, 97, - 0,112,114,111,112, 0,115,101,110,115,111,114,115, 0, 99,111,110,116,114,111,108,108,101,114,115, 0, 97, 99,116,117, 97,116, -111,114,115, 0, 98, 98,115,105,122,101, 91, 51, 93, 0, 97, 99,116,100,101,102, 0,103, 97,109,101,102,108, 97,103, 0,103, 97, -109,101,102,108, 97,103, 50, 0, 42, 98,115,111,102,116, 0,115,111,102,116,102,108, 97,103, 0, 97,110,105,115,111,116,114,111, -112,105, 99, 70,114,105, 99,116,105,111,110, 91, 51, 93, 0, 99,111,110,115,116,114, 97,105,110,116,115, 0,110,108, 97,115,116, -114,105,112,115, 0,104,111,111,107,115, 0,112, 97,114,116,105, 99,108,101,115,121,115,116,101,109, 0, 42,115,111,102,116, 0, - 42,100,117,112, 95,103,114,111,117,112, 0,102,108,117,105,100,115,105,109, 70,108, 97,103, 0,114,101,115,116,114,105, 99,116, -102,108, 97,103, 0,115,104, 97,112,101,102,108, 97,103, 0,114,101, 99, 97,108, 99,111, 0, 98,111,100,121, 95,116,121,112,101, - 0, 42,102,108,117,105,100,115,105,109, 83,101,116,116,105,110,103,115, 0, 42,100,101,114,105,118,101,100, 68,101,102,111,114, -109, 0, 42,100,101,114,105,118,101,100, 70,105,110, 97,108, 0,108, 97,115,116, 68, 97,116, 97, 77, 97,115,107, 0,115,116, 97, -116,101, 0,105,110,105,116, 95,115,116, 97,116,101, 0,103,112,117,108, 97,109,112, 0,112, 99, 95,105,100,115, 0, 42,100,117, -112,108,105,108,105,115,116, 0, 99,117,114,105,110,100,101,120, 0, 97, 99,116,105,118,101, 0,111,114,105,103,108, 97,121, 0, -110,111, 95,100,114, 97,119, 0, 97,110,105,109, 97,116,101,100, 0,111,109, 97,116, 91, 52, 93, 91, 52, 93, 0,111,114, 99,111, - 91, 51, 93, 0,100,101,102,108,101, 99,116, 0,102,111,114, 99,101,102,105,101,108,100, 0,115,104, 97,112,101, 0,116,101,120, - 95,109,111,100,101, 0,107,105,110,107, 0,107,105,110,107, 95, 97,120,105,115, 0,122,100,105,114, 0,102, 95,115,116,114,101, -110,103,116,104, 0,102, 95,100, 97,109,112, 0,102, 95,102,108,111,119, 0,102, 95,115,105,122,101, 0,102, 95,112,111,119,101, -114, 0,109, 97,120,100,105,115,116, 0,109,105,110,100,105,115,116, 0,102, 95,112,111,119,101,114, 95,114, 0,109, 97,120,114, - 97,100, 0,109,105,110,114, 97,100, 0,112,100,101,102, 95,100, 97,109,112, 0,112,100,101,102, 95,114,100, 97,109,112, 0,112, -100,101,102, 95,112,101,114,109, 0,112,100,101,102, 95,102,114,105, 99,116, 0,112,100,101,102, 95,114,102,114,105, 99,116, 0, -112,100,101,102, 95,115,116,105, 99,107,110,101,115,115, 0, 97, 98,115,111,114,112,116,105,111,110, 0,112,100,101,102, 95,115, - 98,100, 97,109,112, 0,112,100,101,102, 95,115, 98,105,102,116, 0,112,100,101,102, 95,115, 98,111,102,116, 0, 99,108,117,109, -112, 95,102, 97, 99, 0, 99,108,117,109,112, 95,112,111,119, 0,107,105,110,107, 95,102,114,101,113, 0,107,105,110,107, 95,115, -104, 97,112,101, 0,107,105,110,107, 95, 97,109,112, 0,102,114,101,101, 95,101,110,100, 0,116,101,120, 95,110, 97, 98,108, 97, - 0, 42,114,110,103, 0,102, 95,110,111,105,115,101, 0,119,101,105,103,104,116, 91, 49, 51, 93, 0,103,108,111, 98, 97,108, 95, -103,114, 97,118,105,116,121, 0,114,116, 91, 51, 93, 0,116,111,116,100, 97,116, 97, 0,102,114, 97,109,101, 0,116,111,116,112, -111,105,110,116, 0,100, 97,116, 97, 95,116,121,112,101,115, 0, 42,100, 97,116, 97, 91, 56, 93, 0, 42, 99,117,114, 91, 56, 93, - 0,101,120,116,114, 97,100, 97,116, 97, 0,115,116,101,112, 0,115,105,109,102,114, 97,109,101, 0,115,116, 97,114,116,102,114, - 97,109,101, 0,101,110,100,102,114, 97,109,101, 0,101,100,105,116,102,114, 97,109,101, 0,108, 97,115,116, 95,101,120, 97, 99, -116, 0, 99,111,109,112,114,101,115,115,105,111,110, 0,110, 97,109,101, 91, 54, 52, 93, 0,112,114,101,118, 95,110, 97,109,101, - 91, 54, 52, 93, 0,105,110,102,111, 91, 54, 52, 93, 0,112, 97,116,104, 91, 50, 52, 48, 93, 0, 42, 99, 97, 99,104,101,100, 95, -102,114, 97,109,101,115, 0,109,101,109, 95, 99, 97, 99,104,101, 0, 42,101,100,105,116, 0, 40, 42,102,114,101,101, 95,101,100, -105,116, 41, 40, 41, 0,108,105,110, 83,116,105,102,102, 0, 97,110,103, 83,116,105,102,102, 0,118,111,108,117,109,101, 0,118, -105,116,101,114, 97,116,105,111,110,115, 0,112,105,116,101,114, 97,116,105,111,110,115, 0,100,105,116,101,114, 97,116,105,111, -110,115, 0, 99,105,116,101,114, 97,116,105,111,110,115, 0,107, 83, 82, 72, 82, 95, 67, 76, 0,107, 83, 75, 72, 82, 95, 67, 76, - 0,107, 83, 83, 72, 82, 95, 67, 76, 0,107, 83, 82, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 75, 95, 83, 80, 76, 84, 95, 67, - 76, 0,107, 83, 83, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 86, 67, 70, 0,107, 68, 80, 0,107, 68, 71, 0,107, 76, 70, 0,107, - 80, 82, 0,107, 86, 67, 0,107, 68, 70, 0,107, 77, 84, 0,107, 67, 72, 82, 0,107, 75, 72, 82, 0,107, 83, 72, 82, 0,107, 65, - 72, 82, 0, 99,111,108,108,105,115,105,111,110,102,108, 97,103,115, 0,110,117,109, 99,108,117,115,116,101,114,105,116,101,114, - 97,116,105,111,110,115, 0,119,101,108,100,105,110,103, 0,116,111,116,115,112,114,105,110,103, 0, 42, 98,112,111,105,110,116, - 0, 42, 98,115,112,114,105,110,103, 0,109,115,103, 95,108,111, 99,107, 0,109,115,103, 95,118, 97,108,117,101, 0,110,111,100, -101,109, 97,115,115, 0,110, 97,109,101,100, 86, 71, 95, 77, 97,115,115, 91, 51, 50, 93, 0,103,114, 97,118, 0,109,101,100,105, - 97,102,114,105, 99,116, 0,114,107,108,105,109,105,116, 0,112,104,121,115,105, 99,115, 95,115,112,101,101,100, 0,103,111, 97, -108,115,112,114,105,110,103, 0,103,111, 97,108,102,114,105, 99,116, 0,109,105,110,103,111, 97,108, 0,109, 97,120,103,111, 97, -108, 0,100,101,102,103,111, 97,108, 0,118,101,114,116,103,114,111,117,112, 0,110, 97,109,101,100, 86, 71, 95, 83,111,102,116, -103,111, 97,108, 91, 51, 50, 93, 0,102,117,122,122,121,110,101,115,115, 0,105,110,115,112,114,105,110,103, 0,105,110,102,114, -105, 99,116, 0,110, 97,109,101,100, 86, 71, 95, 83,112,114,105,110,103, 95, 75, 91, 51, 50, 93, 0,101,102,114, 97, 0,105,110, -116,101,114,118, 97,108, 0,108,111, 99, 97,108, 0,115,111,108,118,101,114,102,108, 97,103,115, 0, 42, 42,107,101,121,115, 0, -116,111,116,112,111,105,110,116,107,101,121, 0,115,101, 99,111,110,100,115,112,114,105,110,103, 0, 99,111,108, 98, 97,108,108, - 0, 98, 97,108,108,100, 97,109,112, 0, 98, 97,108,108,115,116,105,102,102, 0,115, 98, 99, 95,109,111,100,101, 0, 97,101,114, -111,101,100,103,101, 0,109,105,110,108,111,111,112,115, 0,109, 97,120,108,111,111,112,115, 0, 99,104,111,107,101, 0,115,111, -108,118,101,114, 95, 73, 68, 0,112,108, 97,115,116,105, 99, 0,115,112,114,105,110,103,112,114,101,108,111, 97,100, 0, 42,115, - 99,114, 97,116, 99,104, 0,115,104,101, 97,114,115,116,105,102,102, 0,105,110,112,117,115,104, 0, 42,112,111,105,110,116, 99, - 97, 99,104,101, 0, 42,101,102,102,101, 99,116,111,114, 95,119,101,105,103,104,116,115, 0,108, 99,111,109, 91, 51, 93, 0,108, -114,111,116, 91, 51, 93, 91, 51, 93, 0,108,115, 99, 97,108,101, 91, 51, 93, 91, 51, 93, 0,112, 97,100, 52, 91, 52, 93, 0, 42, -102,109,100, 0,115,104,111,119, 95, 97,100,118, 97,110, 99,101,100,111,112,116,105,111,110,115, 0,114,101,115,111,108,117,116, -105,111,110,120,121,122, 0,112,114,101,118,105,101,119,114,101,115,120,121,122, 0,114,101, 97,108,115,105,122,101, 0,103,117, -105, 68,105,115,112,108, 97,121, 77,111,100,101, 0,114,101,110,100,101,114, 68,105,115,112,108, 97,121, 77,111,100,101, 0,118, -105,115, 99,111,115,105,116,121, 86, 97,108,117,101, 0,118,105,115, 99,111,115,105,116,121, 77,111,100,101, 0,118,105,115, 99, -111,115,105,116,121, 69,120,112,111,110,101,110,116, 0,103,114, 97,118,120, 0,103,114, 97,118,121, 0,103,114, 97,118,122, 0, - 97,110,105,109, 83,116, 97,114,116, 0, 97,110,105,109, 69,110,100, 0, 98, 97,107,101, 83,116, 97,114,116, 0, 98, 97,107,101, - 69,110,100, 0,103,115,116, 97,114, 0,109, 97,120, 82,101,102,105,110,101, 0,105,110,105, 86,101,108,120, 0,105,110,105, 86, -101,108,121, 0,105,110,105, 86,101,108,122, 0, 42,111,114,103, 77,101,115,104, 0, 42,109,101,115,104, 83,117,114,102, 97, 99, -101, 0, 42,109,101,115,104, 66, 66, 0,115,117,114,102,100, 97,116, 97, 80, 97,116,104, 91, 50, 52, 48, 93, 0, 98, 98, 83,116, - 97,114,116, 91, 51, 93, 0, 98, 98, 83,105,122,101, 91, 51, 93, 0,116,121,112,101, 70,108, 97,103,115, 0,100,111,109, 97,105, -110, 78,111,118,101, 99,103,101,110, 0,118,111,108,117,109,101, 73,110,105,116, 84,121,112,101, 0,112, 97,114,116, 83,108,105, -112, 86, 97,108,117,101, 0,103,101,110,101,114, 97,116,101, 84,114, 97, 99,101,114,115, 0,103,101,110,101,114, 97,116,101, 80, - 97,114,116,105, 99,108,101,115, 0,115,117,114,102, 97, 99,101, 83,109,111,111,116,104,105,110,103, 0,115,117,114,102, 97, 99, -101, 83,117, 98,100,105,118,115, 0,112, 97,114,116,105, 99,108,101, 73,110,102, 83,105,122,101, 0,112, 97,114,116,105, 99,108, -101, 73,110,102, 65,108,112,104, 97, 0,102, 97,114, 70,105,101,108,100, 83,105,122,101, 0, 42,109,101,115,104, 83,117,114,102, - 78,111,114,109, 97,108,115, 0, 99,112,115, 84,105,109,101, 83,116, 97,114,116, 0, 99,112,115, 84,105,109,101, 69,110,100, 0, - 99,112,115, 81,117, 97,108,105,116,121, 0, 97,116,116,114, 97, 99,116,102,111,114, 99,101, 83,116,114,101,110,103,116,104, 0, - 97,116,116,114, 97, 99,116,102,111,114, 99,101, 82, 97,100,105,117,115, 0,118,101,108,111, 99,105,116,121,102,111,114, 99,101, - 83,116,114,101,110,103,116,104, 0,118,101,108,111, 99,105,116,121,102,111,114, 99,101, 82, 97,100,105,117,115, 0,108, 97,115, -116,103,111,111,100,102,114, 97,109,101, 0,109,105,115,116,121,112,101, 0,104,111,114,114, 0,104,111,114,103, 0,104,111,114, - 98, 0,122,101,110,114, 0,122,101,110,103, 0,122,101,110, 98, 0,102, 97,115,116, 99,111,108, 0,101,120,112,111,115,117,114, -101, 0,101,120,112, 0,114, 97,110,103,101, 0,108,105,110,102, 97, 99, 0,108,111,103,102, 97, 99, 0,103,114, 97,118,105,116, -121, 0, 97, 99,116,105,118,105,116,121, 66,111,120, 82, 97,100,105,117,115, 0,115,107,121,116,121,112,101, 0,111, 99, 99,108, -117,115,105,111,110, 82,101,115, 0,112,104,121,115,105, 99,115, 69,110,103,105,110,101, 0,116,105, 99,114, 97,116,101, 0,109, - 97,120,108,111,103,105, 99,115,116,101,112, 0,112,104,121,115,117, 98,115,116,101,112, 0,109, 97,120,112,104,121,115,116,101, -112, 0,109,105,115,105, 0,109,105,115,116,115,116, 97, 0,109,105,115,116,100,105,115,116, 0,109,105,115,116,104,105, 0,115, -116, 97,114,114, 0,115,116, 97,114,103, 0,115,116, 97,114, 98, 0,115,116, 97,114,107, 0,115,116, 97,114,115,105,122,101, 0, -115,116, 97,114,109,105,110,100,105,115,116, 0,115,116, 97,114,100,105,115,116, 0,115,116, 97,114, 99,111,108,110,111,105,115, -101, 0,100,111,102,115,116, 97, 0,100,111,102,101,110,100, 0,100,111,102,109,105,110, 0,100,111,102,109, 97,120, 0, 97,111, -100,105,115,116, 0, 97,111,100,105,115,116,102, 97, 99, 0, 97,111,101,110,101,114,103,121, 0, 97,111, 98,105, 97,115, 0, 97, -111,109,111,100,101, 0, 97,111,115, 97,109,112, 0, 97,111,109,105,120, 0, 97,111, 99,111,108,111,114, 0, 97,111, 95, 97,100, - 97,112,116, 95,116,104,114,101,115,104, 0, 97,111, 95, 97,100, 97,112,116, 95,115,112,101,101,100, 95,102, 97, 99, 0, 97,111, - 95, 97,112,112,114,111,120, 95,101,114,114,111,114, 0, 97,111, 95, 97,112,112,114,111,120, 95, 99,111,114,114,101, 99,116,105, -111,110, 0, 97,111, 95,105,110,100,105,114,101, 99,116, 95,101,110,101,114,103,121, 0, 97,111, 95,101,110,118, 95,101,110,101, -114,103,121, 0, 97,111, 95,112, 97,100, 50, 0, 97,111, 95,105,110,100,105,114,101, 99,116, 95, 98,111,117,110, 99,101,115, 0, - 97,111, 95,112, 97,100, 0, 97,111, 95,115, 97,109,112, 95,109,101,116,104,111,100, 0, 97,111, 95,103, 97,116,104,101,114, 95, -109,101,116,104,111,100, 0, 97,111, 95, 97,112,112,114,111,120, 95,112, 97,115,115,101,115, 0, 42, 97,111,115,112,104,101,114, -101, 0, 42, 97,111,116, 97, 98,108,101,115, 0,112, 97,100, 91, 51, 93, 0,115,101,108, 99,111,108, 0,115,120, 0,115,121, 0, - 42,108,112, 70,111,114,109, 97,116, 0, 42,108,112, 80, 97,114,109,115, 0, 99, 98, 70,111,114,109, 97,116, 0, 99, 98, 80, 97, -114,109,115, 0,102, 99, 99, 84,121,112,101, 0,102, 99, 99, 72, 97,110,100,108,101,114, 0,100,119, 75,101,121, 70,114, 97,109, -101, 69,118,101,114,121, 0,100,119, 81,117, 97,108,105,116,121, 0,100,119, 66,121,116,101,115, 80,101,114, 83,101, 99,111,110, -100, 0,100,119, 70,108, 97,103,115, 0,100,119, 73,110,116,101,114,108,101, 97,118,101, 69,118,101,114,121, 0, 97,118,105, 99, -111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42, 99,100, 80, 97,114,109,115, 0, 42,112, 97,100, 0, 99,100, 83,105, -122,101, 0,113,116, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 99,111,100,101, 99, 84,121,112,101, 0, 99,111, -100,101, 99, 83,112, 97,116,105, 97,108, 81,117, 97,108,105,116,121, 0, 99,111,100,101, 99, 0, 99,111,100,101, 99, 70,108, 97, -103,115, 0, 99,111,108,111,114, 68,101,112,116,104, 0, 99,111,100,101, 99, 84,101,109,112,111,114, 97,108, 81,117, 97,108,105, -116,121, 0,109,105,110, 83,112, 97,116,105, 97,108, 81,117, 97,108,105,116,121, 0,109,105,110, 84,101,109,112,111,114, 97,108, - 81,117, 97,108,105,116,121, 0,107,101,121, 70,114, 97,109,101, 82, 97,116,101, 0, 98,105,116, 82, 97,116,101, 0, 97,117,100, -105,111, 99,111,100,101, 99, 84,121,112,101, 0, 97,117,100,105,111, 83, 97,109,112,108,101, 82, 97,116,101, 0, 97,117,100,105, -111, 66,105,116, 68,101,112,116,104, 0, 97,117,100,105,111, 67,104, 97,110,110,101,108,115, 0, 97,117,100,105,111, 67,111,100, -101, 99, 70,108, 97,103,115, 0, 97,117,100,105,111, 66,105,116, 82, 97,116,101, 0, 97,117,100,105,111, 95, 99,111,100,101, 99, - 0,118,105,100,101,111, 95, 98,105,116,114, 97,116,101, 0, 97,117,100,105,111, 95, 98,105,116,114, 97,116,101, 0, 97,117,100, -105,111, 95,109,105,120,114, 97,116,101, 0, 97,117,100,105,111, 95,118,111,108,117,109,101, 0,103,111,112, 95,115,105,122,101, - 0,114, 99, 95,109,105,110, 95,114, 97,116,101, 0,114, 99, 95,109, 97,120, 95,114, 97,116,101, 0,114, 99, 95, 98,117,102,102, -101,114, 95,115,105,122,101, 0,109,117,120, 95,112, 97, 99,107,101,116, 95,115,105,122,101, 0,109,117,120, 95,114, 97,116,101, - 0,109,105,120,114, 97,116,101, 0,109, 97,105,110, 0,115,112,101,101,100, 95,111,102, 95,115,111,117,110,100, 0,100,111,112, -112,108,101,114, 95,102, 97, 99,116,111,114, 0,100,105,115,116, 97,110, 99,101, 95,109,111,100,101,108, 0, 42,109, 97,116, 95, -111,118,101,114,114,105,100,101, 0, 42,108,105,103,104,116, 95,111,118,101,114,114,105,100,101, 0,108, 97,121, 95,122,109, 97, -115,107, 0,108, 97,121,102,108, 97,103, 0,112, 97,115,115,102,108, 97,103, 0,112, 97,115,115, 95,120,111,114, 0, 42, 97,118, -105, 99,111,100,101, 99,100, 97,116, 97, 0, 42,113,116, 99,111,100,101, 99,100, 97,116, 97, 0,113,116, 99,111,100,101, 99,115, -101,116,116,105,110,103,115, 0,102,102, 99,111,100,101, 99,100, 97,116, 97, 0,115,117, 98,102,114, 97,109,101, 0,112,115,102, -114, 97, 0,112,101,102,114, 97, 0,105,109, 97,103,101,115, 0,102,114, 97,109, 97,112,116,111, 0,116,104,114,101, 97,100,115, - 0,102,114, 97,109,101,108,101,110, 0, 98,108,117,114,102, 97, 99, 0,101,100,103,101, 82, 0,101,100,103,101, 71, 0,101,100, -103,101, 66, 0,102,117,108,108,115, 99,114,101,101,110, 0,120,112,108, 97,121, 0,121,112,108, 97,121, 0,102,114,101,113,112, -108, 97,121, 0, 97,116,116,114,105, 98, 0,102,114, 97,109,101, 95,115,116,101,112, 0,115,116,101,114,101,111,109,111,100,101, - 0,100,105,109,101,110,115,105,111,110,115,112,114,101,115,101,116, 0,109, 97,120,105,109,115,105,122,101, 0,120,115, 99,104, - 0,121,115, 99,104, 0,120,112, 97,114,116,115, 0,121,112, 97,114,116,115, 0,119,105,110,112,111,115, 0,112,108, 97,110,101, -115, 0,105,109,116,121,112,101, 0,115,117, 98,105,109,116,121,112,101, 0,113,117, 97,108,105,116,121, 0,100,105,115,112,108, - 97,121,109,111,100,101, 0,114,112, 97,100, 49, 0,114,112, 97,100, 50, 0,115, 99,101,109,111,100,101, 0,114, 97,121,116,114, - 97, 99,101, 95,111,112,116,105,111,110,115, 0,114, 97,121,116,114, 97, 99,101, 95,115,116,114,117, 99,116,117,114,101, 0,114, -101,110,100,101,114,101,114, 0,111, 99,114,101,115, 0,112, 97,100, 52, 0, 97,108,112,104, 97,109,111,100,101, 0,111,115, 97, - 0,102,114,115, 95,115,101, 99, 0,101,100,103,101,105,110,116, 0,115, 97,102,101,116,121, 0, 98,111,114,100,101,114, 0,100, -105,115,112,114,101, 99,116, 0,108, 97,121,101,114,115, 0, 97, 99,116,108, 97,121, 0,109, 98,108,117,114, 95,115, 97,109,112, -108,101,115, 0,120, 97,115,112, 0,121, 97,115,112, 0,102,114,115, 95,115,101, 99, 95, 98, 97,115,101, 0,103, 97,117,115,115, - 0, 99,111,108,111,114, 95,109,103,116, 95,102,108, 97,103, 0,112,111,115,116,103, 97,109,109, 97, 0,112,111,115,116,104,117, -101, 0,112,111,115,116,115, 97,116, 0,100,105,116,104,101,114, 95,105,110,116,101,110,115,105,116,121, 0, 98, 97,107,101, 95, -111,115, 97, 0, 98, 97,107,101, 95,102,105,108,116,101,114, 0, 98, 97,107,101, 95,109,111,100,101, 0, 98, 97,107,101, 95,102, -108, 97,103, 0, 98, 97,107,101, 95,110,111,114,109, 97,108, 95,115,112, 97, 99,101, 0, 98, 97,107,101, 95,113,117, 97,100, 95, -115,112,108,105,116, 0, 98, 97,107,101, 95,109, 97,120,100,105,115,116, 0, 98, 97,107,101, 95, 98,105, 97,115,100,105,115,116, - 0, 98, 97,107,101, 95,112, 97,100, 0, 98, 97, 99,107, 98,117,102, 91, 49, 54, 48, 93, 0,112,105, 99, 91, 49, 54, 48, 93, 0, -115,116, 97,109,112, 0,115,116, 97,109,112, 95,102,111,110,116, 95,105,100, 0,115,116, 97,109,112, 95,117,100, 97,116, 97, 91, - 49, 54, 48, 93, 0,102,103, 95,115,116, 97,109,112, 91, 52, 93, 0, 98,103, 95,115,116, 97,109,112, 91, 52, 93, 0,115,101,113, - 95,112,114,101,118, 95,116,121,112,101, 0,115,101,113, 95,114,101,110,100, 95,116,121,112,101, 0,115,101,113, 95,102,108, 97, -103, 0,112, 97,100, 53, 91, 53, 93, 0,115,105,109,112,108,105,102,121, 95,102,108, 97,103, 0,115,105,109,112,108,105,102,121, - 95,115,117, 98,115,117,114,102, 0,115,105,109,112,108,105,102,121, 95,115,104, 97,100,111,119,115, 97,109,112,108,101,115, 0, -115,105,109,112,108,105,102,121, 95,112, 97,114,116,105, 99,108,101,115, 0,115,105,109,112,108,105,102,121, 95, 97,111,115,115, -115, 0, 99,105,110,101,111,110,119,104,105,116,101, 0, 99,105,110,101,111,110, 98,108, 97, 99,107, 0, 99,105,110,101,111,110, -103, 97,109,109, 97, 0,106,112, 50, 95,112,114,101,115,101,116, 0,106,112, 50, 95,100,101,112,116,104, 0,114,112, 97,100, 51, - 0,100,111,109,101,114,101,115, 0,100,111,109,101,109,111,100,101, 0,100,111,109,101, 97,110,103,108,101, 0,100,111,109,101, -116,105,108,116, 0,100,111,109,101,114,101,115, 98,117,102, 0, 42,100,111,109,101,116,101,120,116, 0,101,110,103,105,110,101, - 91, 51, 50, 93, 0,112, 97,114,116,105, 99,108,101, 95,112,101,114, 99, 0,115,117, 98,115,117,114,102, 95,109, 97,120, 0,115, -104, 97,100, 98,117,102,115, 97,109,112,108,101, 95,109, 97,120, 0, 97,111, 95,101,114,114,111,114, 0,116,105,108,116, 0,114, -101,115, 98,117,102, 0, 42,119, 97,114,112,116,101,120,116, 0, 99,111,108, 91, 51, 93, 0,109, 97,116,109,111,100,101, 0,102, -114, 97,109,105,110,103, 0,114,116, 49, 0,114,116, 50, 0,100,111,109,101, 0,115,116,101,114,101,111,102,108, 97,103, 0,101, -121,101,115,101,112, 97,114, 97,116,105,111,110, 0, 42, 99, 97,109,101,114, 97, 0, 42, 98,114,117,115,104, 0, 42,112, 97,105, -110,116, 95, 99,117,114,115,111,114, 0,112, 97,105,110,116, 95, 99,117,114,115,111,114, 95, 99,111,108, 91, 52, 93, 0,112, 97, -105,110,116, 0,115,101, 97,109, 95, 98,108,101,101,100, 0,110,111,114,109, 97,108, 95, 97,110,103,108,101, 0,115, 99,114,101, -101,110, 95,103,114, 97, 98, 95,115,105,122,101, 91, 50, 93, 0, 42,112, 97,105,110,116, 99,117,114,115,111,114, 0,105,110,118, -101,114,116, 0,116,111,116,114,101,107,101,121, 0,116,111,116, 97,100,100,107,101,121, 0, 98,114,117,115,104,116,121,112,101, - 0, 98,114,117,115,104, 91, 55, 93, 0,101,109,105,116,116,101,114,100,105,115,116, 0,115,101,108,101, 99,116,109,111,100,101, - 0,101,100,105,116,116,121,112,101, 0,100,114, 97,119, 95,115,116,101,112, 0,102, 97,100,101, 95,102,114, 97,109,101,115, 0, -110, 97,109,101, 91, 51, 54, 93, 0,109, 97,116, 91, 51, 93, 91, 51, 93, 0,114, 97,100,105, 97,108, 95,115,121,109,109, 91, 51, - 93, 0,108, 97,115,116, 95,120, 0,108, 97,115,116, 95,121, 0,108, 97,115,116, 95, 97,110,103,108,101, 0,100,114, 97,119, 95, - 97,110, 99,104,111,114,101,100, 0, 97,110, 99,104,111,114,101,100, 95,115,105,122,101, 0, 97,110, 99,104,111,114,101,100, 95, -108,111, 99, 97,116,105,111,110, 91, 51, 93, 0, 97,110, 99,104,111,114,101,100, 95,105,110,105,116,105, 97,108, 95,109,111,117, -115,101, 91, 50, 93, 0,100,114, 97,119, 95,112,114,101,115,115,117,114,101, 0,112,114,101,115,115,117,114,101, 95,118, 97,108, -117,101, 0,115,112,101, 99,105, 97,108, 95,114,111,116, 97,116,105,111,110, 0, 42,118,112, 97,105,110,116, 95,112,114,101,118, - 0, 42,119,112, 97,105,110,116, 95,112,114,101,118, 0, 42,118,112, 97,105,110,116, 0, 42,119,112, 97,105,110,116, 0,118,103, -114,111,117,112, 95,119,101,105,103,104,116, 0, 99,111,114,110,101,114,116,121,112,101, 0,101,100,105,116, 98,117,116,102,108, - 97,103, 0,106,111,105,110,116,114,105,108,105,109,105,116, 0,100,101,103,114, 0,116,117,114,110, 0,101,120,116,114, 95,111, -102,102,115, 0,100,111,117, 98,108,105,109,105,116, 0,110,111,114,109, 97,108,115,105,122,101, 0, 97,117,116,111,109,101,114, -103,101, 0,115,101,103,109,101,110,116,115, 0,114,105,110,103,115, 0,118,101,114,116,105, 99,101,115, 0,117,110,119,114, 97, -112,112,101,114, 0,117,118, 99, 97,108, 99, 95,114, 97,100,105,117,115, 0,117,118, 99, 97,108, 99, 95, 99,117, 98,101,115,105, -122,101, 0,117,118, 99, 97,108, 99, 95,109, 97,114,103,105,110, 0,117,118, 99, 97,108, 99, 95,109, 97,112,100,105,114, 0,117, -118, 99, 97,108, 99, 95,109, 97,112, 97,108,105,103,110, 0,117,118, 99, 97,108, 99, 95,102,108, 97,103, 0,117,118, 95,102,108, - 97,103, 0,117,118, 95,115,101,108,101, 99,116,109,111,100,101, 0,117,118, 95,112, 97,100, 0,103,112,101,110, 99,105,108, 95, -102,108, 97,103,115, 0, 97,117,116,111,105,107, 95, 99,104, 97,105,110,108,101,110, 0,105,109, 97,112, 97,105,110,116, 0,112, - 97,114,116,105, 99,108,101, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 95,115,105,122,101, 0,115,101,108,101, 99,116, - 95,116,104,114,101,115,104, 0, 99,108,101, 97,110, 95,116,104,114,101,115,104, 0, 97,117,116,111,107,101,121, 95,109,111,100, -101, 0, 97,117,116,111,107,101,121, 95,102,108, 97,103, 0,114,101,116,111,112,111, 95,109,111,100,101, 0,114,101,116,111,112, -111, 95,112, 97,105,110,116, 95,116,111,111,108, 0,108,105,110,101, 95,100,105,118, 0,101,108,108,105,112,115,101, 95,100,105, -118, 0,114,101,116,111,112,111, 95,104,111,116,115,112,111,116, 0,109,117,108,116,105,114,101,115, 95,115,117, 98,100,105,118, - 95,116,121,112,101, 0,115,107,103,101,110, 95,114,101,115,111,108,117,116,105,111,110, 0,115,107,103,101,110, 95,116,104,114, -101,115,104,111,108,100, 95,105,110,116,101,114,110, 97,108, 0,115,107,103,101,110, 95,116,104,114,101,115,104,111,108,100, 95, -101,120,116,101,114,110, 97,108, 0,115,107,103,101,110, 95,108,101,110,103,116,104, 95,114, 97,116,105,111, 0,115,107,103,101, -110, 95,108,101,110,103,116,104, 95,108,105,109,105,116, 0,115,107,103,101,110, 95, 97,110,103,108,101, 95,108,105,109,105,116, - 0,115,107,103,101,110, 95, 99,111,114,114,101,108, 97,116,105,111,110, 95,108,105,109,105,116, 0,115,107,103,101,110, 95,115, -121,109,109,101,116,114,121, 95,108,105,109,105,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95, 97,110,103, -108,101, 95,119,101,105,103,104,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,108,101,110,103,116,104, 95, -119,101,105,103,104,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,100,105,115,116, 97,110, 99,101, 95,119, -101,105,103,104,116, 0,115,107,103,101,110, 95,111,112,116,105,111,110,115, 0,115,107,103,101,110, 95,112,111,115,116,112,114, -111, 0,115,107,103,101,110, 95,112,111,115,116,112,114,111, 95,112, 97,115,115,101,115, 0,115,107,103,101,110, 95,115,117, 98, -100,105,118,105,115,105,111,110,115, 91, 51, 93, 0,115,107,103,101,110, 95,109,117,108,116,105, 95,108,101,118,101,108, 0, 42, -115,107,103,101,110, 95,116,101,109,112,108, 97,116,101, 0, 98,111,110,101, 95,115,107,101,116, 99,104,105,110,103, 0, 98,111, -110,101, 95,115,107,101,116, 99,104,105,110,103, 95, 99,111,110,118,101,114,116, 0,115,107,103,101,110, 95,115,117, 98,100,105, -118,105,115,105,111,110, 95,110,117,109, 98,101,114, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,111,112,116, -105,111,110,115, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,114,111,108,108, 0,115,107,103,101,110, 95,115, -105,100,101, 95,115,116,114,105,110,103, 91, 56, 93, 0,115,107,103,101,110, 95,110,117,109, 95,115,116,114,105,110,103, 91, 56, - 93, 0,101,100,103,101, 95,109,111,100,101, 0,101,100,103,101, 95,109,111,100,101, 95,108,105,118,101, 95,117,110,119,114, 97, -112, 0,115,110, 97,112, 95,109,111,100,101, 0,115,110, 97,112, 95,102,108, 97,103, 0,115,110, 97,112, 95,116, 97,114,103,101, -116, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 0,112,114,111,112, 95,109,111,100,101, 0,112,114,111,112,111,114,116, -105,111,110, 97,108, 95,111, 98,106,101, 99,116,115, 0, 97,117,116,111, 95,110,111,114,109, 97,108,105,122,101, 0,115, 99,117, -108,112,116, 95,112, 97,105,110,116, 95,115,101,116,116,105,110,103,115, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95, -117,110,105,102,105,101,100, 95,115,105,122,101, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101, -100, 95,117,110,112,114,111,106,101, 99,116,101,100, 95,114, 97,100,105,117,115, 0,115, 99,117,108,112,116, 95,112, 97,105,110, -116, 95,117,110,105,102,105,101,100, 95, 97,108,112,104, 97, 0,116,111,116,111, 98,106, 0,116,111,116,108, 97,109,112, 0,116, -111,116,111, 98,106,115,101,108, 0,116,111,116, 99,117,114,118,101, 0,116,111,116,109,101,115,104, 0,116,111,116, 97,114,109, - 97,116,117,114,101, 0,115, 99, 97,108,101, 95,108,101,110,103,116,104, 0,115,121,115,116,101,109, 0,115,121,115,116,101,109, - 95,114,111,116, 97,116,105,111,110, 0,103,114, 97,118,105,116,121, 91, 51, 93, 0,113,117,105, 99,107, 95, 99, 97, 99,104,101, - 95,115,116,101,112, 0, 42,119,111,114,108,100, 0, 42,115,101,116, 0, 98, 97,115,101, 0, 42, 98, 97,115, 97, 99,116, 0, 42, -111, 98,101,100,105,116, 0, 99,117,114,115,111,114, 91, 51, 93, 0,116,119, 99,101,110,116, 91, 51, 93, 0,116,119,109,105,110, - 91, 51, 93, 0,116,119,109, 97,120, 91, 51, 93, 0,108, 97,121, 97, 99,116, 0,108, 97,121, 95,117,112,100, 97,116,101,100, 0, - 99,117,115,116,111,109,100, 97,116, 97, 95,109, 97,115,107, 0, 99,117,115,116,111,109,100, 97,116, 97, 95,109, 97,115,107, 95, -109,111,100, 97,108, 0, 42,101,100, 0, 42,116,111,111,108,115,101,116,116,105,110,103,115, 0, 42,115,116, 97,116,115, 0, 97, -117,100,105,111, 0,116,114, 97,110,115,102,111,114,109, 95,115,112, 97, 99,101,115, 0, 42,115,111,117,110,100, 95,115, 99,101, -110,101, 0, 42,115,111,117,110,100, 95,115, 99,101,110,101, 95,104, 97,110,100,108,101, 0, 42,115,111,117,110,100, 95,115, 99, -114,117, 98, 95,104, 97,110,100,108,101, 0, 42,102,112,115, 95,105,110,102,111, 0, 42,116,104,101, 68, 97,103, 0,100, 97,103, -105,115,118, 97,108,105,100, 0,100, 97,103,102,108, 97,103,115, 0,112, 97,100, 54, 0,112, 97,100, 53, 0, 97, 99,116,105,118, -101, 95,107,101,121,105,110,103,115,101,116, 0,107,101,121,105,110,103,115,101,116,115, 0,103,109, 0,117,110,105,116, 0,112, -104,121,115,105, 99,115, 95,115,101,116,116,105,110,103,115, 0, 98,108,101,110,100, 0,118,105,101,119, 0,119,105,110,109, 97, -116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,105,110,118, 91, 52, 93, - 91, 52, 93, 0,112,101,114,115,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,105,110,118, 91, 52, 93, 91, 52, 93, 0, -118,105,101,119,109, 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109, 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0, -116,119,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,113,117, 97,116, 91, 52, 93, 0,122,102, 97, 99, 0, 99, 97,109, -100,120, 0, 99, 97,109,100,121, 0,112,105,120,115,105,122,101, 0, 99, 97,109,122,111,111,109, 0,116,119,100,114, 97,119,102, -108, 97,103, 0,114,102,108, 97,103, 0,118,105,101,119,108,111, 99,107, 0,112,101,114,115,112, 0, 99,108,105,112, 91, 54, 93, - 91, 52, 93, 0, 99,108,105,112, 95,108,111, 99, 97,108, 91, 54, 93, 91, 52, 93, 0, 42, 99,108,105,112, 98, 98, 0, 42,108,111, - 99, 97,108,118,100, 0, 42,114,105, 0, 42,100,101,112,116,104,115, 0, 42,115,109,115, 0, 42,115,109,111,111,116,104, 95,116, -105,109,101,114, 0,108,118,105,101,119,113,117, 97,116, 91, 52, 93, 0,108,112,101,114,115,112, 0,108,118,105,101,119, 0,103, -114,105,100,118,105,101,119, 0,116,119, 97,110,103,108,101, 91, 51, 93, 0,112, 97,100,102, 0,114,101,103,105,111,110, 98, 97, -115,101, 0,115,112, 97, 99,101,116,121,112,101, 0, 98,108,111, 99,107,115, 99, 97,108,101, 0, 98,108,111, 99,107,104, 97,110, -100,108,101,114, 91, 56, 93, 0,108, 97,121, 95,117,115,101,100, 0, 42,111, 98, 95, 99,101,110,116,114,101, 0, 98,103,112,105, - 99, 98, 97,115,101, 0, 42, 98,103,112,105, 99, 0,111, 98, 95, 99,101,110,116,114,101, 95, 98,111,110,101, 91, 51, 50, 93, 0, -100,114, 97,119,116,121,112,101, 0,111, 98, 95, 99,101,110,116,114,101, 95, 99,117,114,115,111,114, 0,115, 99,101,110,101,108, -111, 99,107, 0, 97,114,111,117,110,100, 0,112,105,118,111,116, 95,108, 97,115,116, 0,103,114,105,100, 0,110,101, 97,114, 0, -102, 97,114, 0,103,114,105,100,108,105,110,101,115, 0,103,114,105,100,102,108, 97,103, 0,103,114,105,100,115,117, 98,100,105, -118, 0,109,111,100,101,115,101,108,101, 99,116, 0,107,101,121,102,108, 97,103,115, 0,116,119,116,121,112,101, 0,116,119,109, -111,100,101, 0,116,119,102,108, 97,103, 0, 97,102,116,101,114,100,114, 97,119, 95,116,114, 97,110,115,112, 0, 97,102,116,101, -114,100,114, 97,119, 95,120,114, 97,121, 0, 97,102,116,101,114,100,114, 97,119, 95,120,114, 97,121,116,114, 97,110,115,112, 0, -122, 98,117,102, 0,120,114, 97,121, 0,110,100,111,102,109,111,100,101, 0,110,100,111,102,102,105,108,116,101,114, 0, 42,112, -114,111,112,101,114,116,105,101,115, 95,115,116,111,114, 97,103,101, 0,118,101,114,116, 0,104,111,114, 0,109, 97,115,107, 0, -109,105,110, 91, 50, 93, 0,109, 97,120, 91, 50, 93, 0,109,105,110,122,111,111,109, 0,109, 97,120,122,111,111,109, 0,115, 99, -114,111,108,108, 0,115, 99,114,111,108,108, 95,117,105, 0,107,101,101,112,116,111,116, 0,107,101,101,112,122,111,111,109, 0, -107,101,101,112,111,102,115, 0, 97,108,105,103,110, 0,119,105,110,120, 0,119,105,110,121, 0,111,108,100,119,105,110,120, 0, -111,108,100,119,105,110,121, 0, 42,116, 97, 98, 95,111,102,102,115,101,116, 0,116, 97, 98, 95,110,117,109, 0,116, 97, 98, 95, - 99,117,114, 0,114,112,116, 95,109, 97,115,107, 0,118, 50,100, 0, 42, 97,100,115, 0,103,104,111,115,116, 67,117,114,118,101, -115, 0, 97,117,116,111,115,110, 97,112, 0, 99,117,114,115,111,114, 86, 97,108, 0,109, 97,105,110, 98, 0,109, 97,105,110, 98, -111, 0,109, 97,105,110, 98,117,115,101,114, 0,114,101, 95, 97,108,105,103,110, 0,112,114,101,118,105,101,119, 0,116,101,120, -116,117,114,101, 95, 99,111,110,116,101,120,116, 0,112, 97,116,104,102,108, 97,103, 0,100, 97,116, 97,105, 99,111,110, 0, 42, -112,105,110,105,100, 0,114,101,110,100,101,114, 95,115,105,122,101, 0, 99,104, 97,110,115,104,111,119,110, 0,122,101, 98,114, - 97, 0,122,111,111,109, 0,116,105,116,108,101, 91, 51, 50, 93, 0,100,105,114, 91, 50, 52, 48, 93, 0,102,105,108,101, 91, 56, - 48, 93, 0,114,101,110, 97,109,101,102,105,108,101, 91, 56, 48, 93, 0,114,101,110, 97,109,101,101,100,105,116, 91, 56, 48, 93, - 0,102,105,108,116,101,114, 95,103,108,111, 98, 91, 54, 52, 93, 0, 97, 99,116,105,118,101, 95,102,105,108,101, 0,115,101,108, - 95,102,105,114,115,116, 0,115,101,108, 95,108, 97,115,116, 0,115,111,114,116, 0,100,105,115,112,108, 97,121, 0,102, 95,102, -112, 0,102,112, 95,115,116,114, 91, 56, 93, 0,115, 99,114,111,108,108, 95,111,102,102,115,101,116, 0, 42,112, 97,114, 97,109, -115, 0, 42,102,105,108,101,115, 0, 42,102,111,108,100,101,114,115, 95,112,114,101,118, 0, 42,102,111,108,100,101,114,115, 95, -110,101,120,116, 0, 42,111,112, 0, 42,115,109,111,111,116,104,115, 99,114,111,108,108, 95,116,105,109,101,114, 0, 42,108, 97, -121,111,117,116, 0,114,101, 99,101,110,116,110,114, 0, 98,111,111,107,109, 97,114,107,110,114, 0,115,121,115,116,101,109,110, -114, 0,116,114,101,101, 0, 42,116,114,101,101,115,116,111,114,101, 0,115,101, 97,114, 99,104, 95,115,116,114,105,110,103, 91, - 51, 50, 93, 0,115,101, 97,114, 99,104, 95,116,115,101, 0,111,117,116,108,105,110,101,118,105,115, 0,115,116,111,114,101,102, -108, 97,103, 0,115,101, 97,114, 99,104, 95,102,108, 97,103,115, 0, 42, 99,117,109, 97,112, 0,115, 99,111,112,101,115, 0,115, - 97,109,112,108,101, 95,108,105,110,101, 95,104,105,115,116, 0, 99,117,114,115,111,114, 91, 50, 93, 0, 99,101,110,116,120, 0, - 99,101,110,116,121, 0, 99,117,114,116,105,108,101, 0,105,109,116,121,112,101,110,114, 0,108,111, 99,107, 0,112,105,110, 0, -100,116, 95,117,118, 0,115,116,105, 99,107,121, 0,100,116, 95,117,118,115,116,114,101,116, 99,104, 0, 42,116,101,120,116, 0, -116,111,112, 0,118,105,101,119,108,105,110,101,115, 0,109,101,110,117,110,114, 0,108,104,101,105,103,104,116, 0, 99,119,105, -100,116,104, 0,108,105,110,101,110,114,115, 95,116,111,116, 0,108,101,102,116, 0,115,104,111,119,108,105,110,101,110,114,115, - 0,116, 97, 98,110,117,109, 98,101,114, 0,115,104,111,119,115,121,110,116, 97,120, 0,108,105,110,101, 95,104,108,105,103,104, -116, 0,111,118,101,114,119,114,105,116,101, 0,108,105,118,101, 95,101,100,105,116, 0,112,105,120, 95,112,101,114, 95,108,105, -110,101, 0,116,120,116,115, 99,114,111,108,108, 0,116,120,116, 98, 97,114, 0,119,111,114,100,119,114, 97,112, 0,100,111,112, -108,117,103,105,110,115, 0,102,105,110,100,115,116,114, 91, 50, 53, 54, 93, 0,114,101,112,108, 97, 99,101,115,116,114, 91, 50, - 53, 54, 93, 0,109, 97,114,103,105,110, 95, 99,111,108,117,109,110, 0, 42,100,114, 97,119, 99, 97, 99,104,101, 0, 42,112,121, - 95,100,114, 97,119, 0, 42,112,121, 95,101,118,101,110,116, 0, 42,112,121, 95, 98,117,116,116,111,110, 0, 42,112,121, 95, 98, -114,111,119,115,101,114, 99, 97,108,108, 98, 97, 99,107, 0, 42,112,121, 95,103,108,111, 98, 97,108,100,105, 99,116, 0,108, 97, -115,116,115,112, 97, 99,101, 0,115, 99,114,105,112,116,110, 97,109,101, 91, 50, 53, 54, 93, 0,115, 99,114,105,112,116, 97,114, -103, 91, 50, 53, 54, 93, 0, 42,115, 99,114,105,112,116, 0, 42, 98,117,116, 95,114,101,102,115, 0, 42, 97,114,114, 97,121, 0, - 99, 97, 99,104,101,115, 0, 99, 97, 99,104,101, 95,100,105,115,112,108, 97,121, 0,114,101,100,114, 97,119,115, 0, 42,105,100, - 0, 97,115,112,101, 99,116, 0, 42, 99,117,114,102,111,110,116, 0,109,120, 0,109,121, 0, 42,101,100,105,116,116,114,101,101, - 0,116,114,101,101,116,121,112,101, 0,116,101,120,102,114,111,109, 0,108,105,110,107,100,114, 97,103, 0,116,105,116,108,101, - 91, 50, 52, 93, 0,109,101,110,117, 0,110,117,109,116,105,108,101,115,120, 0,110,117,109,116,105,108,101,115,121, 0,115,101, -108,115,116, 97,116,101, 0,118,105,101,119,114,101, 99,116, 0, 98,111,111,107,109, 97,114,107,114,101, 99,116, 0,115, 99,114, -111,108,108,112,111,115, 0,115, 99,114,111,108,108,104,101,105,103,104,116, 0,115, 99,114,111,108,108, 97,114,101, 97, 0,114, -101,116,118, 97,108, 0, 97, 99,116,105,118,101, 95, 98,111,111,107,109, 97,114,107, 0,112,114,118, 95,119, 0,112,114,118, 95, -104, 0, 40, 42,114,101,116,117,114,110,102,117,110, 99, 41, 40, 41, 0, 40, 42,114,101,116,117,114,110,102,117,110, 99, 95,101, -118,101,110,116, 41, 40, 41, 0, 40, 42,114,101,116,117,114,110,102,117,110, 99, 95, 97,114,103,115, 41, 40, 41, 0, 42, 97,114, -103, 49, 0, 42, 97,114,103, 50, 0, 42,109,101,110,117,112, 0, 42,112,117,112,109,101,110,117, 0, 42,105,109,103, 0,108,101, -110, 95, 97,108,108,111, 99, 0, 99,117,114,115,111,114, 0,115, 99,114,111,108,108, 98, 97, 99,107, 0,104,105,115,116,111,114, -121, 0,112,114,111,109,112,116, 91, 50, 53, 54, 93, 0,108, 97,110,103,117, 97,103,101, 91, 51, 50, 93, 0,115,101,108, 95,115, -116, 97,114,116, 0,115,101,108, 95,101,110,100, 0,102,105,108,116,101,114, 91, 54, 52, 93, 0, 42, 97,114,101, 97, 0, 42,115, -111,117,110,100, 0,115,110,100,110,114, 0,102,105,108,101,110, 97,109,101, 91, 50, 53, 54, 93, 0, 98,108,102, 95,105,100, 0, -117,105,102,111,110,116, 95,105,100, 0,114, 95,116,111, 95,108, 0,112,111,105,110,116,115, 0,107,101,114,110,105,110,103, 0, -105,116, 97,108,105, 99, 0, 98,111,108,100, 0,115,104, 97,100,111,119, 0,115,104, 97,100,120, 0,115,104, 97,100,121, 0,115, -104, 97,100,111,119, 97,108,112,104, 97, 0,115,104, 97,100,111,119, 99,111,108,111,114, 0,112, 97,110,101,108,116,105,116,108, -101, 0,103,114,111,117,112,108, 97, 98,101,108, 0,119,105,100,103,101,116,108, 97, 98,101,108, 0,119,105,100,103,101,116, 0, -112, 97,110,101,108,122,111,111,109, 0,109,105,110,108, 97, 98,101,108, 99,104, 97,114,115, 0,109,105,110,119,105,100,103,101, -116, 99,104, 97,114,115, 0, 99,111,108,117,109,110,115,112, 97, 99,101, 0,116,101,109,112,108, 97,116,101,115,112, 97, 99,101, - 0, 98,111,120,115,112, 97, 99,101, 0, 98,117,116,116,111,110,115,112, 97, 99,101,120, 0, 98,117,116,116,111,110,115,112, 97, - 99,101,121, 0,112, 97,110,101,108,115,112, 97, 99,101, 0,112, 97,110,101,108,111,117,116,101,114, 0,112, 97,100, 91, 49, 93, - 0,111,117,116,108,105,110,101, 91, 52, 93, 0,105,110,110,101,114, 91, 52, 93, 0,105,110,110,101,114, 95,115,101,108, 91, 52, - 93, 0,105,116,101,109, 91, 52, 93, 0,116,101,120,116, 91, 52, 93, 0,116,101,120,116, 95,115,101,108, 91, 52, 93, 0,115,104, - 97,100,101,100, 0,115,104, 97,100,101,116,111,112, 0,115,104, 97,100,101,100,111,119,110, 0, 97,108,112,104, 97, 95, 99,104, -101, 99,107, 0,105,110,110,101,114, 95, 97,110,105,109, 91, 52, 93, 0,105,110,110,101,114, 95, 97,110,105,109, 95,115,101,108, - 91, 52, 93, 0,105,110,110,101,114, 95,107,101,121, 91, 52, 93, 0,105,110,110,101,114, 95,107,101,121, 95,115,101,108, 91, 52, - 93, 0,105,110,110,101,114, 95,100,114,105,118,101,110, 91, 52, 93, 0,105,110,110,101,114, 95,100,114,105,118,101,110, 95,115, -101,108, 91, 52, 93, 0,119, 99,111,108, 95,114,101,103,117,108, 97,114, 0,119, 99,111,108, 95,116,111,111,108, 0,119, 99,111, -108, 95,116,101,120,116, 0,119, 99,111,108, 95,114, 97,100,105,111, 0,119, 99,111,108, 95,111,112,116,105,111,110, 0,119, 99, -111,108, 95,116,111,103,103,108,101, 0,119, 99,111,108, 95,110,117,109, 0,119, 99,111,108, 95,110,117,109,115,108,105,100,101, -114, 0,119, 99,111,108, 95,109,101,110,117, 0,119, 99,111,108, 95,112,117,108,108,100,111,119,110, 0,119, 99,111,108, 95,109, -101,110,117, 95, 98, 97, 99,107, 0,119, 99,111,108, 95,109,101,110,117, 95,105,116,101,109, 0,119, 99,111,108, 95, 98,111,120, - 0,119, 99,111,108, 95,115, 99,114,111,108,108, 0,119, 99,111,108, 95,112,114,111,103,114,101,115,115, 0,119, 99,111,108, 95, -108,105,115,116, 95,105,116,101,109, 0,119, 99,111,108, 95,115,116, 97,116,101, 0,105, 99,111,110,102,105,108,101, 91, 56, 48, - 93, 0, 98, 97, 99,107, 91, 52, 93, 0,116,105,116,108,101, 91, 52, 93, 0,116,101,120,116, 95,104,105, 91, 52, 93, 0,104,101, - 97,100,101,114, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,105,116,108,101, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116, -101,120,116, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0, 98,117,116,116,111,110, 91, - 52, 93, 0, 98,117,116,116,111,110, 95,116,105,116,108,101, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,101,120,116, 91, 52, - 93, 0, 98,117,116,116,111,110, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,108,105,115,116, 91, 52, 93, 0,108,105,115,116, - 95,116,105,116,108,101, 91, 52, 93, 0,108,105,115,116, 95,116,101,120,116, 91, 52, 93, 0,108,105,115,116, 95,116,101,120,116, - 95,104,105, 91, 52, 93, 0,112, 97,110,101,108, 91, 52, 93, 0,112, 97,110,101,108, 95,116,105,116,108,101, 91, 52, 93, 0,112, - 97,110,101,108, 95,116,101,120,116, 91, 52, 93, 0,112, 97,110,101,108, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,115,104, - 97,100,101, 49, 91, 52, 93, 0,115,104, 97,100,101, 50, 91, 52, 93, 0,104,105,108,105,116,101, 91, 52, 93, 0,103,114,105,100, - 91, 52, 93, 0,119,105,114,101, 91, 52, 93, 0,115,101,108,101, 99,116, 91, 52, 93, 0,108, 97,109,112, 91, 52, 93, 0, 97, 99, -116,105,118,101, 91, 52, 93, 0,103,114,111,117,112, 91, 52, 93, 0,103,114,111,117,112, 95, 97, 99,116,105,118,101, 91, 52, 93, - 0,116,114, 97,110,115,102,111,114,109, 91, 52, 93, 0,118,101,114,116,101,120, 91, 52, 93, 0,118,101,114,116,101,120, 95,115, -101,108,101, 99,116, 91, 52, 93, 0,101,100,103,101, 91, 52, 93, 0,101,100,103,101, 95,115,101,108,101, 99,116, 91, 52, 93, 0, -101,100,103,101, 95,115,101, 97,109, 91, 52, 93, 0,101,100,103,101, 95,115,104, 97,114,112, 91, 52, 93, 0,101,100,103,101, 95, -102, 97, 99,101,115,101,108, 91, 52, 93, 0,101,100,103,101, 95, 99,114,101, 97,115,101, 91, 52, 93, 0,102, 97, 99,101, 91, 52, - 93, 0,102, 97, 99,101, 95,115,101,108,101, 99,116, 91, 52, 93, 0,102, 97, 99,101, 95,100,111,116, 91, 52, 93, 0,101,120,116, -114, 97, 95,101,100,103,101, 95,108,101,110, 91, 52, 93, 0,101,120,116,114, 97, 95,102, 97, 99,101, 95, 97,110,103,108,101, 91, - 52, 93, 0,101,120,116,114, 97, 95,102, 97, 99,101, 95, 97,114,101, 97, 91, 52, 93, 0,112, 97,100, 51, 91, 52, 93, 0,110,111, -114,109, 97,108, 91, 52, 93, 0,118,101,114,116,101,120, 95,110,111,114,109, 97,108, 91, 52, 93, 0, 98,111,110,101, 95,115,111, -108,105,100, 91, 52, 93, 0, 98,111,110,101, 95,112,111,115,101, 91, 52, 93, 0,115,116,114,105,112, 91, 52, 93, 0,115,116,114, -105,112, 95,115,101,108,101, 99,116, 91, 52, 93, 0, 99,102,114, 97,109,101, 91, 52, 93, 0,110,117,114, 98, 95,117,108,105,110, -101, 91, 52, 93, 0,110,117,114, 98, 95,118,108,105,110,101, 91, 52, 93, 0, 97, 99,116, 95,115,112,108,105,110,101, 91, 52, 93, - 0,110,117,114, 98, 95,115,101,108, 95,117,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,115,101,108, 95,118,108,105,110, -101, 91, 52, 93, 0,108, 97,115,116,115,101,108, 95,112,111,105,110,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,102,114,101, -101, 91, 52, 93, 0,104, 97,110,100,108,101, 95, 97,117,116,111, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101, 99,116, 91, - 52, 93, 0,104, 97,110,100,108,101, 95, 97,108,105,103,110, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95,102,114, -101,101, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, 97,117,116,111, 91, 52, 93, 0,104, 97,110,100,108,101, 95, -115,101,108, 95,118,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, 97,108,105,103,110, 91, 52, 93, 0, -100,115, 95, 99,104, 97,110,110,101,108, 91, 52, 93, 0,100,115, 95,115,117, 98, 99,104, 97,110,110,101,108, 91, 52, 93, 0, 99, -111,110,115,111,108,101, 95,111,117,116,112,117,116, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,105,110,112,117,116, 91, 52, - 93, 0, 99,111,110,115,111,108,101, 95,105,110,102,111, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,101,114,114,111,114, 91, - 52, 93, 0, 99,111,110,115,111,108,101, 95, 99,117,114,115,111,114, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,105,122,101, - 0,111,117,116,108,105,110,101, 95,119,105,100,116,104, 0,102, 97, 99,101,100,111,116, 95,115,105,122,101, 0, 98,112, 97,100, - 0,115,121,110,116, 97,120,108, 91, 52, 93, 0,115,121,110,116, 97,120,110, 91, 52, 93, 0,115,121,110,116, 97,120, 98, 91, 52, - 93, 0,115,121,110,116, 97,120,118, 91, 52, 93, 0,115,121,110,116, 97,120, 99, 91, 52, 93, 0,109,111,118,105,101, 91, 52, 93, - 0,105,109, 97,103,101, 91, 52, 93, 0,115, 99,101,110,101, 91, 52, 93, 0, 97,117,100,105,111, 91, 52, 93, 0,101,102,102,101, - 99,116, 91, 52, 93, 0,112,108,117,103,105,110, 91, 52, 93, 0,116,114, 97,110,115,105,116,105,111,110, 91, 52, 93, 0,109,101, -116, 97, 91, 52, 93, 0,101,100,105,116,109,101,115,104, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,104, 97,110,100,108,101, 95, -118,101,114,116,101,120, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 95,115,101,108,101, 99,116, 91, 52, - 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 95,115,105,122,101, 0,104,112, 97,100, 91, 55, 93, 0,112,114,101, -118,105,101,119, 95, 98, 97, 99,107, 91, 52, 93, 0,115,111,108,105,100, 91, 52, 93, 0,116,117,105, 0,116, 98,117,116,115, 0, -116,118, 51,100, 0,116,102,105,108,101, 0,116,105,112,111, 0,116,105,110,102,111, 0,116,115,110,100, 0,116, 97, 99,116, 0, -116,110,108, 97, 0,116,115,101,113, 0,116,105,109, 97, 0,116,105,109, 97,115,101,108, 0,116,101,120,116, 0,116,111,111,112, -115, 0,116,116,105,109,101, 0,116,110,111,100,101, 0,116,108,111,103,105, 99, 0,116,117,115,101,114,112,114,101,102, 0,116, - 99,111,110,115,111,108,101, 0,116, 97,114,109, 91, 50, 48, 93, 0, 97, 99,116,105,118,101, 95,116,104,101,109,101, 95, 97,114, -101, 97, 0,109,111,100,117,108,101, 91, 54, 52, 93, 0,115,112,101, 99, 91, 52, 93, 0,100,117,112,102,108, 97,103, 0,115, 97, -118,101,116,105,109,101, 0,116,101,109,112,100,105,114, 91, 49, 54, 48, 93, 0,102,111,110,116,100,105,114, 91, 49, 54, 48, 93, - 0,114,101,110,100,101,114,100,105,114, 91, 49, 54, 48, 93, 0,116,101,120,116,117,100,105,114, 91, 49, 54, 48, 93, 0,112,108, -117,103,116,101,120,100,105,114, 91, 49, 54, 48, 93, 0,112,108,117,103,115,101,113,100,105,114, 91, 49, 54, 48, 93, 0,112,121, -116,104,111,110,100,105,114, 91, 49, 54, 48, 93, 0,115,111,117,110,100,100,105,114, 91, 49, 54, 48, 93, 0,105,109, 97,103,101, - 95,101,100,105,116,111,114, 91, 50, 52, 48, 93, 0, 97,110,105,109, 95,112,108, 97,121,101,114, 91, 50, 52, 48, 93, 0, 97,110, -105,109, 95,112,108, 97,121,101,114, 95,112,114,101,115,101,116, 0,118, 50,100, 95,109,105,110, 95,103,114,105,100,115,105,122, -101, 0,116,105,109,101, 99,111,100,101, 95,115,116,121,108,101, 0,118,101,114,115,105,111,110,115, 0,100, 98,108, 95, 99,108, -105, 99,107, 95,116,105,109,101, 0,103, 97,109,101,102,108, 97,103,115, 0,119,104,101,101,108,108,105,110,101,115, 99,114,111, -108,108, 0,117,105,102,108, 97,103, 0,108, 97,110,103,117, 97,103,101, 0,117,115,101,114,112,114,101,102, 0,118,105,101,119, -122,111,111,109, 0,109,105,120, 98,117,102,115,105,122,101, 0, 97,117,100,105,111,100,101,118,105, 99,101, 0, 97,117,100,105, -111,114, 97,116,101, 0, 97,117,100,105,111,102,111,114,109, 97,116, 0, 97,117,100,105,111, 99,104, 97,110,110,101,108,115, 0, -100,112,105, 0,101,110, 99,111,100,105,110,103, 0,116,114, 97,110,115,111,112,116,115, 0,109,101,110,117,116,104,114,101,115, -104,111,108,100, 49, 0,109,101,110,117,116,104,114,101,115,104,111,108,100, 50, 0,116,104,101,109,101,115, 0,117,105,102,111, -110,116,115, 0,117,105,115,116,121,108,101,115, 0,107,101,121,109, 97,112,115, 0, 97,100,100,111,110,115, 0,107,101,121, 99, -111,110,102,105,103,115,116,114, 91, 54, 52, 93, 0,117,110,100,111,115,116,101,112,115, 0,117,110,100,111,109,101,109,111,114, -121, 0,103,112, 95,109, 97,110,104, 97,116,116,101,110,100,105,115,116, 0,103,112, 95,101,117, 99,108,105,100,101, 97,110,100, -105,115,116, 0,103,112, 95,101,114, 97,115,101,114, 0,103,112, 95,115,101,116,116,105,110,103,115, 0,116, 98, 95,108,101,102, -116,109,111,117,115,101, 0,116, 98, 95,114,105,103,104,116,109,111,117,115,101, 0,108,105,103,104,116, 91, 51, 93, 0,116,119, - 95,104,111,116,115,112,111,116, 0,116,119, 95,102,108, 97,103, 0,116,119, 95,104, 97,110,100,108,101,115,105,122,101, 0,116, -119, 95,115,105,122,101, 0,116,101,120,116,105,109,101,111,117,116, 0,116,101,120, 99,111,108,108,101, 99,116,114, 97,116,101, - 0,119,109,100,114, 97,119,109,101,116,104,111,100, 0,100,114, 97,103,116,104,114,101,115,104,111,108,100, 0,109,101,109, 99, - 97, 99,104,101,108,105,109,105,116, 0,112,114,101,102,101,116, 99,104,102,114, 97,109,101,115, 0,102,114, 97,109,101,115,101, -114,118,101,114,112,111,114,116, 0,112, 97,100, 95,114,111,116, 95, 97,110,103,108,101, 0,111, 98, 99,101,110,116,101,114, 95, -100,105, 97, 0,114,118,105,115,105,122,101, 0,114,118,105, 98,114,105,103,104,116, 0,114,101, 99,101,110,116, 95,102,105,108, -101,115, 0,115,109,111,111,116,104, 95,118,105,101,119,116,120, 0,103,108,114,101,115,108,105,109,105,116, 0,110,100,111,102, - 95,112, 97,110, 0,110,100,111,102, 95,114,111,116, 97,116,101, 0, 99,117,114,115,115,105,122,101, 0, 99,111,108,111,114, 95, -112,105, 99,107,101,114, 95,116,121,112,101, 0,105,112,111, 95,110,101,119, 0,107,101,121,104, 97,110,100,108,101,115, 95,110, -101,119, 0,115, 99,114, 99, 97,115,116,102,112,115, 0,115, 99,114, 99, 97,115,116,119, 97,105,116, 0,112, 97,100, 56, 0,118, -101,114,115,101,109, 97,115,116,101,114, 91, 49, 54, 48, 93, 0,118,101,114,115,101,117,115,101,114, 91, 49, 54, 48, 93, 0,103, -108, 97,108,112,104, 97, 99,108,105,112, 0,116,101,120,116, 95,114,101,110,100,101,114, 0,112, 97,100, 57, 0,112, 97,100, 49, - 48, 0, 99,111, 98, 97, 95,119,101,105,103,104,116, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,111,118,101,114,108, - 97,121, 95, 99,111,108, 91, 51, 93, 0, 97,117,116,104,111,114, 91, 56, 48, 93, 0,118,101,114,116, 98, 97,115,101, 0,101,100, -103,101, 98, 97,115,101, 0, 97,114,101, 97, 98, 97,115,101, 0, 42,110,101,119,115, 99,101,110,101, 0,114,101,100,114, 97,119, -115, 95,102,108, 97,103, 0,102,117,108,108, 0,116,101,109,112, 0,119,105,110,105,100, 0,100,111, 95,100,114, 97,119, 0,100, -111, 95,114,101,102,114,101,115,104, 0,100,111, 95,100,114, 97,119, 95,103,101,115,116,117,114,101, 0,100,111, 95,100,114, 97, -119, 95,112, 97,105,110,116, 99,117,114,115,111,114, 0,100,111, 95,100,114, 97,119, 95,100,114, 97,103, 0,115,119, 97,112, 0, -109, 97,105,110,119,105,110, 0,115,117, 98,119,105,110, 97, 99,116,105,118,101, 0, 42, 97,110,105,109,116,105,109,101,114, 0, - 42, 99,111,110,116,101,120,116, 0,104, 97,110,100,108,101,114, 91, 56, 93, 0, 42,110,101,119,118, 0,118,101, 99, 0, 42,118, - 49, 0, 42,118, 50, 0, 42,116,121,112,101, 0,112, 97,110,101,108,110, 97,109,101, 91, 54, 52, 93, 0,116, 97, 98,110, 97,109, -101, 91, 54, 52, 93, 0,100,114, 97,119,110, 97,109,101, 91, 54, 52, 93, 0,111,102,115,120, 0,111,102,115,121, 0,115,105,122, -101,120, 0,115,105,122,101,121, 0,108, 97, 98,101,108,111,102,115, 0,114,117,110,116,105,109,101, 95,102,108, 97,103, 0, 99, -111,110,116,114,111,108, 0,115,110, 97,112, 0,115,111,114,116,111,114,100,101,114, 0, 42,112, 97,110,101,108,116, 97, 98, 0, - 42, 97, 99,116,105,118,101,100, 97,116, 97, 0,108,105,115,116, 95,115, 99,114,111,108,108, 0,108,105,115,116, 95,115,105,122, -101, 0,108,105,115,116, 95,108, 97,115,116, 95,108,101,110, 0,108,105,115,116, 95,103,114,105,112, 95,115,105,122,101, 0,108, -105,115,116, 95,115,101, 97,114, 99,104, 91, 54, 52, 93, 0, 42,118, 51, 0, 42,118, 52, 0, 42,102,117,108,108, 0, 98,117,116, -115,112, 97, 99,101,116,121,112,101, 0,104,101, 97,100,101,114,116,121,112,101, 0,115,112, 97, 99,101,100, 97,116, 97, 0,104, - 97,110,100,108,101,114,115, 0, 97, 99,116,105,111,110,122,111,110,101,115, 0,119,105,110,114, 99,116, 0,100,114, 97,119,114, - 99,116, 0,115,119,105,110,105,100, 0,114,101,103,105,111,110,116,121,112,101, 0, 97,108,105,103,110,109,101,110,116, 0,100, -111, 95,100,114, 97,119, 95,111,118,101,114,108, 97,121, 0,117,105, 98,108,111, 99,107,115, 0,112, 97,110,101,108,115, 0, 42, -104,101, 97,100,101,114,115,116,114, 0, 42,114,101,103,105,111,110,100, 97,116, 97, 0,115,117, 98,118,115,116,114, 91, 52, 93, - 0,115,117, 98,118,101,114,115,105,111,110, 0,112, 97,100,115, 0,109,105,110,118,101,114,115,105,111,110, 0,109,105,110,115, -117, 98,118,101,114,115,105,111,110, 0, 42, 99,117,114,115, 99,114,101,101,110, 0, 42, 99,117,114,115, 99,101,110,101, 0,102, -105,108,101,102,108, 97,103,115, 0,103,108,111, 98, 97,108,102, 0,114,101,118,105,115,105,111,110, 0,102,105,108,101,110, 97, -109,101, 91, 50, 52, 48, 93, 0,110, 97,109,101, 91, 56, 48, 93, 0,111,114,105,103, 95,119,105,100,116,104, 0,111,114,105,103, - 95,104,101,105,103,104,116, 0, 98,111,116,116,111,109, 0,114,105,103,104,116, 0,120,111,102,115, 0,121,111,102,115, 0,108, -105,102,116, 91, 51, 93, 0,103, 97,109,109, 97, 91, 51, 93, 0,103, 97,105,110, 91, 51, 93, 0,100,105,114, 91, 49, 54, 48, 93, - 0,100,111,110,101, 0,115,116, 97,114,116,115,116,105,108,108, 0,101,110,100,115,116,105,108,108, 0, 42,115,116,114,105,112, -100, 97,116, 97, 0, 42, 99,114,111,112, 0, 42,116,114, 97,110,115,102,111,114,109, 0, 42, 99,111,108,111,114, 95, 98, 97,108, - 97,110, 99,101, 0, 42,105,110,115,116, 97,110, 99,101, 95,112,114,105,118, 97,116,101, 95,100, 97,116, 97, 0, 42, 42, 99,117, -114,114,101,110,116, 95,112,114,105,118, 97,116,101, 95,100, 97,116, 97, 0, 42,116,109,112, 0,115,116, 97,114,116,111,102,115, - 0,101,110,100,111,102,115, 0,109, 97, 99,104,105,110,101, 0,115,116, 97,114,116,100,105,115,112, 0,101,110,100,100,105,115, -112, 0,115, 97,116, 0,109,117,108, 0,104, 97,110,100,115,105,122,101, 0, 97,110,105,109, 95,112,114,101,115,101,101,107, 0, - 42,115,116,114,105,112, 0, 42,115, 99,101,110,101, 95, 99, 97,109,101,114, 97, 0,101,102,102,101, 99,116, 95,102, 97,100,101, -114, 0,115,112,101,101,100, 95,102, 97,100,101,114, 0, 42,115,101,113, 49, 0, 42,115,101,113, 50, 0, 42,115,101,113, 51, 0, -115,101,113, 98, 97,115,101, 0, 42,115, 99,101,110,101, 95,115,111,117,110,100, 0,108,101,118,101,108, 0,112, 97,110, 0,115, - 99,101,110,101,110,114, 0,109,117,108,116,105, 99, 97,109, 95,115,111,117,114, 99,101, 0,115,116,114,111, 98,101, 0, 42,101, -102,102,101, 99,116,100, 97,116, 97, 0, 97,110,105,109, 95,115,116, 97,114,116,111,102,115, 0, 97,110,105,109, 95,101,110,100, -111,102,115, 0, 98,108,101,110,100, 95,109,111,100,101, 0, 98,108,101,110,100, 95,111,112, 97, 99,105,116,121, 0, 42,111,108, -100, 98, 97,115,101,112, 0, 42,112, 97,114,115,101,113, 0, 42,115,101,113, 98, 97,115,101,112, 0,109,101,116, 97,115,116, 97, - 99,107, 0, 42, 97, 99,116, 95,115,101,113, 0, 97, 99,116, 95,105,109, 97,103,101,100,105,114, 91, 50, 53, 54, 93, 0, 97, 99, -116, 95,115,111,117,110,100,100,105,114, 91, 50, 53, 54, 93, 0,111,118,101,114, 95,111,102,115, 0,111,118,101,114, 95, 99,102, -114, 97, 0,111,118,101,114, 95,102,108, 97,103, 0,111,118,101,114, 95, 98,111,114,100,101,114, 0,101,100,103,101, 87,105,100, -116,104, 0,102,111,114,119, 97,114,100, 0,119,105,112,101,116,121,112,101, 0,102, 77,105,110,105, 0,102, 67,108, 97,109,112, - 0,102, 66,111,111,115,116, 0,100, 68,105,115,116, 0,100, 81,117, 97,108,105,116,121, 0, 98, 78,111, 67,111,109,112, 0, 83, - 99, 97,108,101,120, 73,110,105, 0, 83, 99, 97,108,101,121, 73,110,105, 0, 83, 99, 97,108,101,120, 70,105,110, 0, 83, 99, 97, -108,101,121, 70,105,110, 0,120, 73,110,105, 0,120, 70,105,110, 0,121, 73,110,105, 0,121, 70,105,110, 0,114,111,116, 73,110, -105, 0,114,111,116, 70,105,110, 0,105,110,116,101,114,112,111,108, 97,116,105,111,110, 0,117,110,105,102,111,114,109, 95,115, - 99, 97,108,101, 0, 42,102,114, 97,109,101, 77, 97,112, 0,103,108,111, 98, 97,108, 83,112,101,101,100, 0,108, 97,115,116, 86, - 97,108,105,100, 70,114, 97,109,101, 0, 98,117,116,116,121,112,101, 0,117,115,101,114,106,105,116, 0,115,116, 97, 0,116,111, -116,112, 97,114,116, 0,110,111,114,109,102, 97, 99, 0,111, 98,102, 97, 99, 0,114, 97,110,100,102, 97, 99, 0,116,101,120,102, - 97, 99, 0,114, 97,110,100,108,105,102,101, 0,102,111,114, 99,101, 91, 51, 93, 0,118,101, 99,116,115,105,122,101, 0,109, 97, -120,108,101,110, 0,100,101,102,118,101, 99, 91, 51, 93, 0,109,117,108,116, 91, 52, 93, 0,108,105,102,101, 91, 52, 93, 0, 99, -104,105,108,100, 91, 52, 93, 0,109, 97,116, 91, 52, 93, 0,116,101,120,109, 97,112, 0, 99,117,114,109,117,108,116, 0,115,116, - 97,116,105, 99,115,116,101,112, 0,111,109, 97,116, 0,116,105,109,101,116,101,120, 0,115,112,101,101,100,116,101,120, 0,102, -108, 97,103, 50,110,101,103, 0,118,101,114,116,103,114,111,117,112, 95,118, 0,118,103,114,111,117,112,110, 97,109,101, 91, 51, - 50, 93, 0,118,103,114,111,117,112,110, 97,109,101, 95,118, 91, 51, 50, 93, 0, 42,107,101,121,115, 0,109,105,110,102, 97, 99, - 0,110,114, 0,117,115,101,100, 0,117,115,101,100,101,108,101,109, 0, 42,112,111,105,110, 0,114,101,115,101,116,100,105,115, -116, 0,108, 97,115,116,118, 97,108, 0, 42,109, 97, 0,107,101,121, 0,113,117, 97,108, 0,113,117, 97,108, 50, 0,116, 97,114, -103,101,116, 78, 97,109,101, 91, 51, 50, 93, 0,116,111,103,103,108,101, 78, 97,109,101, 91, 51, 50, 93, 0,118, 97,108,117,101, - 91, 51, 50, 93, 0,109, 97,120,118, 97,108,117,101, 91, 51, 50, 93, 0,100,101,108, 97,121, 0,100,117,114, 97,116,105,111,110, - 0,109, 97,116,101,114,105, 97,108, 78, 97,109,101, 91, 51, 50, 93, 0,100, 97,109,112,116,105,109,101,114, 0,112,114,111,112, -110, 97,109,101, 91, 51, 50, 93, 0,109, 97,116,110, 97,109,101, 91, 51, 50, 93, 0, 97,120,105,115,102,108, 97,103, 0,112,111, -115,101, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0, 99,111,110,115,116,114, 97,105,110,116, 91, 51, 50, 93, 0, 42,102,114, -111,109, 79, 98,106,101, 99,116, 0,115,117, 98,106,101, 99,116, 91, 51, 50, 93, 0, 98,111,100,121, 91, 51, 50, 93, 0,111,116, -121,112,101, 0,112,117,108,115,101, 0,102,114,101,113, 0,116,111,116,108,105,110,107,115, 0, 42, 42,108,105,110,107,115, 0, -116, 97,112, 0,106,111,121,105,110,100,101,120, 0, 97,120,105,115, 95,115,105,110,103,108,101, 0, 97,120,105,115,102, 0, 98, -117,116,116,111,110, 0,104, 97,116, 0,104, 97,116,102, 0,112,114,101, 99,105,115,105,111,110, 0,115,116,114, 91, 49, 50, 56, - 93, 0, 42,109,121,110,101,119, 0,105,110,112,117,116,115, 0,116,111,116,115,108,105,110,107,115, 0, 42, 42,115,108,105,110, -107,115, 0,118, 97,108,111, 0,115,116, 97,116,101, 95,109, 97,115,107, 0, 42, 97, 99,116, 0,102,114, 97,109,101, 80,114,111, -112, 91, 51, 50, 93, 0, 98,108,101,110,100,105,110, 0,112,114,105,111,114,105,116,121, 0,101,110,100, 95,114,101,115,101,116, - 0,115,116,114,105,100,101, 97,120,105,115, 0,115,116,114,105,100,101,108,101,110,103,116,104, 0,109,105,110, 95,103, 97,105, -110, 0,109, 97,120, 95,103, 97,105,110, 0,114,101,102,101,114,101,110, 99,101, 95,100,105,115,116, 97,110, 99,101, 0,109, 97, -120, 95,100,105,115,116, 97,110, 99,101, 0,114,111,108,108,111,102,102, 95,102, 97, 99,116,111,114, 0, 99,111,110,101, 95,105, -110,110,101,114, 95, 97,110,103,108,101, 0, 99,111,110,101, 95,111,117,116,101,114, 95, 97,110,103,108,101, 0, 99,111,110,101, - 95,111,117,116,101,114, 95,103, 97,105,110, 0,112, 97,100, 51, 91, 50, 93, 0,112,105,116, 99,104, 0,115,111,117,110,100, 51, - 68, 0,112, 97,100, 54, 91, 49, 93, 0, 42,109,101, 0,108,105,110, 86,101,108,111, 99,105,116,121, 91, 51, 93, 0, 97,110,103, - 86,101,108,111, 99,105,116,121, 91, 51, 93, 0,108,111, 99, 97,108,102,108, 97,103, 0,100,121,110, 95,111,112,101,114, 97,116, -105,111,110, 0,102,111,114, 99,101,108,111, 99, 91, 51, 93, 0,102,111,114, 99,101,114,111,116, 91, 51, 93, 0,108,105,110,101, - 97,114,118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 97,110,103,117,108, 97,114,118,101,108,111, 99,105,116,121, 91, 51, 93, - 0, 42,114,101,102,101,114,101,110, 99,101, 0,109,105,110, 0,109, 97,120, 0,114,111,116,100, 97,109,112, 0,109,105,110,108, -111, 99, 91, 51, 93, 0,109, 97,120,108,111, 99, 91, 51, 93, 0,109,105,110,114,111,116, 91, 51, 93, 0,109, 97,120,114,111,116, - 91, 51, 93, 0,109, 97,116,112,114,111,112, 91, 51, 50, 93, 0, 98,117,116,115,116, 97, 0, 98,117,116,101,110,100, 0,100,105, -115,116,114,105, 98,117,116,105,111,110, 0,105,110,116, 95, 97,114,103, 95, 49, 0,105,110,116, 95, 97,114,103, 95, 50, 0,102, -108,111, 97,116, 95, 97,114,103, 95, 49, 0,102,108,111, 97,116, 95, 97,114,103, 95, 50, 0,116,111, 80,114,111,112, 78, 97,109, -101, 91, 51, 50, 93, 0, 42,116,111, 79, 98,106,101, 99,116, 0, 98,111,100,121, 84,121,112,101, 0,102,105,108,101,110, 97,109, -101, 91, 54, 52, 93, 0,108,111, 97,100, 97,110,105,110, 97,109,101, 91, 54, 52, 93, 0,105,110,116, 95, 97,114,103, 0,102,108, -111, 97,116, 95, 97,114,103, 0, 42,115,117, 98,116, 97,114,103,101,116, 0,103,111, 0, 42,110,101,119,112, 97, 99,107,101,100, -102,105,108,101, 0, 97,116,116,101,110,117, 97,116,105,111,110, 0,100,105,115,116, 97,110, 99,101, 0, 42, 99, 97, 99,104,101, - 0, 42,112,108, 97,121, 98, 97, 99,107, 95,104, 97,110,100,108,101, 0, 42,108, 97,109,112,114,101,110, 0,103,111, 98,106,101, - 99,116, 0,100,117,112,108,105, 95,111,102,115, 91, 51, 93, 0, 42,112,114,111,112, 0, 99,104,105,108,100, 98, 97,115,101, 0, -114,111,108,108, 0,104,101, 97,100, 91, 51, 93, 0,116, 97,105,108, 91, 51, 93, 0, 98,111,110,101, 95,109, 97,116, 91, 51, 93, - 91, 51, 93, 0, 97,114,109, 95,104,101, 97,100, 91, 51, 93, 0, 97,114,109, 95,116, 97,105,108, 91, 51, 93, 0, 97,114,109, 95, -109, 97,116, 91, 52, 93, 91, 52, 93, 0, 97,114,109, 95,114,111,108,108, 0,120,119,105,100,116,104, 0,122,119,105,100,116,104, - 0,101, 97,115,101, 49, 0,101, 97,115,101, 50, 0,114, 97,100, 95,104,101, 97,100, 0,114, 97,100, 95,116, 97,105,108, 0, 98, -111,110,101, 98, 97,115,101, 0, 99,104, 97,105,110, 98, 97,115,101, 0, 42,101,100, 98,111, 0, 42, 97, 99,116, 95, 98,111,110, -101, 0, 42, 97, 99,116, 95,101,100, 98,111,110,101, 0, 42,115,107,101,116, 99,104, 0,108, 97,121,101,114, 95,117,115,101,100, - 0,108, 97,121,101,114, 95,112,114,111,116,101, 99,116,101,100, 0,103,104,111,115,116,101,112, 0,103,104,111,115,116,115,105, -122,101, 0,103,104,111,115,116,116,121,112,101, 0,112, 97,116,104,115,105,122,101, 0,103,104,111,115,116,115,102, 0,103,104, -111,115,116,101,102, 0,112, 97,116,104,115,102, 0,112, 97,116,104,101,102, 0,112, 97,116,104, 98, 99, 0,112, 97,116,104, 97, - 99, 0, 42,112,111,105,110,116,115, 0,115,116, 97,114,116, 95,102,114, 97,109,101, 0,101,110,100, 95,102,114, 97,109,101, 0, -103,104,111,115,116, 95,115,102, 0,103,104,111,115,116, 95,101,102, 0,103,104,111,115,116, 95, 98, 99, 0,103,104,111,115,116, - 95, 97, 99, 0,103,104,111,115,116, 95,116,121,112,101, 0,103,104,111,115,116, 95,115,116,101,112, 0,103,104,111,115,116, 95, -102,108, 97,103, 0,112, 97,116,104, 95,116,121,112,101, 0,112, 97,116,104, 95,115,116,101,112, 0,112, 97,116,104, 95,118,105, -101,119,102,108, 97,103, 0,112, 97,116,104, 95, 98, 97,107,101,102,108, 97,103, 0,112, 97,116,104, 95,115,102, 0,112, 97,116, -104, 95,101,102, 0,112, 97,116,104, 95, 98, 99, 0,112, 97,116,104, 95, 97, 99, 0, 99,111,110,115,116,102,108, 97,103, 0,105, -107,102,108, 97,103, 0,115,101,108,101, 99,116,102,108, 97,103, 0, 97,103,114,112, 95,105,110,100,101,120, 0, 42, 98,111,110, -101, 0, 42, 99,104,105,108,100, 0,105,107,116,114,101,101, 0, 42, 99,117,115,116,111,109, 0, 42, 99,117,115,116,111,109, 95, -116,120, 0,101,117,108, 91, 51, 93, 0, 99,104, 97,110, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95,109, 97, -116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95,104,101, 97,100, 91, 51, 93, 0,112,111,115,101, 95,116, 97,105,108, 91, 51, - 93, 0,108,105,109,105,116,109,105,110, 91, 51, 93, 0,108,105,109,105,116,109, 97,120, 91, 51, 93, 0,115,116,105,102,102,110, -101,115,115, 91, 51, 93, 0,105,107,115,116,114,101,116, 99,104, 0,105,107,114,111,116,119,101,105,103,104,116, 0,105,107,108, -105,110,119,101,105,103,104,116, 0, 99,104, 97,110, 98, 97,115,101, 0, 42, 99,104, 97,110,104, 97,115,104, 0,112,114,111,120, -121, 95,108, 97,121,101,114, 0,115,116,114,105,100,101, 95,111,102,102,115,101,116, 91, 51, 93, 0, 99,121, 99,108,105, 99, 95, -111,102,102,115,101,116, 91, 51, 93, 0, 97,103,114,111,117,112,115, 0, 97, 99,116,105,118,101, 95,103,114,111,117,112, 0,105, -107,115,111,108,118,101,114, 0, 42,105,107,100, 97,116, 97, 0, 42,105,107,112, 97,114, 97,109, 0,112,114,111,120,121, 95, 97, - 99,116, 95, 98,111,110,101, 91, 51, 50, 93, 0,110,117,109,105,116,101,114, 0,110,117,109,115,116,101,112, 0,109,105,110,115, -116,101,112, 0,109, 97,120,115,116,101,112, 0,115,111,108,118,101,114, 0,102,101,101,100, 98, 97, 99,107, 0,109, 97,120,118, -101,108, 0,100, 97,109,112,109, 97,120, 0,100, 97,109,112,101,112,115, 0, 99,104, 97,110,110,101,108,115, 0, 99,117,115,116, -111,109, 67,111,108, 0, 99,115, 0, 99,117,114,118,101,115, 0,103,114,111,117,112,115, 0, 97, 99,116,105,118,101, 95,109, 97, -114,107,101,114, 0, 42,115,111,117,114, 99,101, 0, 42,102,105,108,116,101,114, 95,103,114,112, 0,115,101, 97,114, 99,104,115, -116,114, 91, 54, 52, 93, 0,102,105,108,116,101,114,102,108, 97,103, 0, 97,100,115, 0,116,105,109,101,115,108,105,100,101, 0, - 42,103,114,112, 0,110, 97,109,101, 91, 51, 48, 93, 0,111,119,110,115,112, 97, 99,101, 0,116, 97,114,115,112, 97, 99,101, 0, -101,110,102,111,114, 99,101, 0,104,101, 97,100,116, 97,105,108, 0,108,105,110, 95,101,114,114,111,114, 0,114,111,116, 95,101, -114,114,111,114, 0, 42,116, 97,114, 0,109, 97,116,114,105,120, 91, 52, 93, 91, 52, 93, 0,115,112, 97, 99,101, 0,114,111,116, - 79,114,100,101,114, 0,116, 97,114,110,117,109, 0,116, 97,114,103,101,116,115, 0,105,116,101,114, 97,116,105,111,110,115, 0, -114,111,111,116, 98,111,110,101, 0,109, 97,120, 95,114,111,111,116, 98,111,110,101, 0, 42,112,111,108,101,116, 97,114, 0,112, -111,108,101,115,117, 98,116, 97,114,103,101,116, 91, 51, 50, 93, 0,112,111,108,101, 97,110,103,108,101, 0,111,114,105,101,110, -116,119,101,105,103,104,116, 0,103,114, 97, 98,116, 97,114,103,101,116, 91, 51, 93, 0,110,117,109,112,111,105,110,116,115, 0, - 99,104, 97,105,110,108,101,110, 0,120,122, 83, 99, 97,108,101, 77,111,100,101, 0,114,101,115,101,114,118,101,100, 49, 0,114, -101,115,101,114,118,101,100, 50, 0,109,105,110,109, 97,120,102,108, 97,103, 0,115,116,117, 99,107, 0, 99, 97, 99,104,101, 91, - 51, 93, 0,108,111, 99,107,102,108, 97,103, 0,102,111,108,108,111,119,102,108, 97,103, 0,118,111,108,109,111,100,101, 0,112, -108, 97,110,101, 0,111,114,103,108,101,110,103,116,104, 0, 98,117,108,103,101, 0,112,105,118, 88, 0,112,105,118, 89, 0,112, -105,118, 90, 0, 97,120, 88, 0, 97,120, 89, 0, 97,120, 90, 0,109,105,110, 76,105,109,105,116, 91, 54, 93, 0,109, 97,120, 76, -105,109,105,116, 91, 54, 93, 0,101,120,116,114, 97, 70,122, 0,105,110,118,109, 97,116, 91, 52, 93, 91, 52, 93, 0,102,114,111, -109, 0,116,111, 0,109, 97,112, 91, 51, 93, 0,101,120,112,111, 0,102,114,111,109, 95,109,105,110, 91, 51, 93, 0,102,114,111, -109, 95,109, 97,120, 91, 51, 93, 0,116,111, 95,109,105,110, 91, 51, 93, 0,116,111, 95,109, 97,120, 91, 51, 93, 0,114,111,116, - 65,120,105,115, 0,122,109,105,110, 0,122,109, 97,120, 0,112, 97,100, 91, 57, 93, 0, 99,104, 97,110,110,101,108, 91, 51, 50, - 93, 0,110,111, 95,114,111,116, 95, 97,120,105,115, 0,115,116,114,105,100,101, 95, 97,120,105,115, 0, 99,117,114,109,111,100, - 0, 97, 99,116,115,116, 97,114,116, 0, 97, 99,116,101,110,100, 0, 97, 99,116,111,102,102,115, 0,115,116,114,105,100,101,108, -101,110, 0,115, 99, 97,108,101, 0, 98,108,101,110,100,111,117,116, 0,115,116,114,105,100,101, 99,104, 97,110,110,101,108, 91, - 51, 50, 93, 0,111,102,102,115, 95, 98,111,110,101, 91, 51, 50, 93, 0,104, 97,115,105,110,112,117,116, 0,104, 97,115,111,117, -116,112,117,116, 0,100, 97,116, 97,116,121,112,101, 0,115,111, 99,107,101,116,116,121,112,101, 0, 42,110,101,119, 95,115,111, - 99,107, 0,110,115, 0,108,105,109,105,116, 0,115,116, 97, 99,107, 95,116,121,112,101, 0, 42,115,116, 97, 99,107, 95,112,116, -114, 0,115,116, 97, 99,107, 95,105,110,100,101,120, 0,108,111, 99,120, 0,108,111, 99,121, 0,111,119,110, 95,105,110,100,101, -120, 0, 42,103,114,111,117,112,115,111, 99,107, 0,116,111, 95,105,110,100,101,120, 0, 42,108,105,110,107, 0, 42,114,101, 99, -116, 0,120,115,105,122,101, 0,121,115,105,122,101, 0, 42,110,101,119, 95,110,111,100,101, 0,108, 97,115,116,121, 0,111,117, -116,112,117,116,115, 0, 42,115,116,111,114, 97,103,101, 0,109,105,110,105,119,105,100,116,104, 0,108, 97, 98,101,108, 91, 51, - 50, 93, 0, 99,117,115,116,111,109, 49, 0, 99,117,115,116,111,109, 50, 0, 99,117,115,116,111,109, 51, 0, 99,117,115,116,111, -109, 52, 0,110,101,101,100, 95,101,120,101, 99, 0,101,120,101, 99, 0, 42,116,104,114,101, 97,100,100, 97,116, 97, 0,116,111, -116,114, 0, 98,117,116,114, 0,112,114,118,114, 0, 42, 98,108,111, 99,107, 0, 42,116,121,112,101,105,110,102,111, 0, 42,102, -114,111,109,110,111,100,101, 0, 42,116,111,110,111,100,101, 0, 42,102,114,111,109,115,111, 99,107, 0, 42,116,111,115,111, 99, -107, 0,110,111,100,101,115, 0,108,105,110,107,115, 0, 42,115,116, 97, 99,107, 0, 42,116,104,114,101, 97,100,115,116, 97, 99, -107, 0,105,110,105,116, 0,115,116, 97, 99,107,115,105,122,101, 0, 99,117,114, 95,105,110,100,101,120, 0, 97,108,108,116,121, -112,101,115, 0,112, 97,100, 50, 91, 50, 93, 0, 40, 42,112,114,111,103,114,101,115,115, 41, 40, 41, 0, 40, 42,115,116, 97,116, -115, 95,100,114, 97,119, 41, 40, 41, 0, 40, 42,116,101,115,116, 95, 98,114,101, 97,107, 41, 40, 41, 0, 42,116, 98,104, 0, 42, -112,114,104, 0, 42,115,100,104, 0, 99,121, 99,108,105, 99, 0,109,111,118,105,101, 0,115, 97,109,112,108,101,115, 0,109, 97, -120,115,112,101,101,100, 0,109,105,110,115,112,101,101,100, 0, 99,117,114,118,101,100, 0,112,101,114, 99,101,110,116,120, 0, -112,101,114, 99,101,110,116,121, 0, 98,111,107,101,104, 0,103, 97,109,109, 97, 0,105,109, 97,103,101, 95,105,110, 95,119,105, -100,116,104, 0,105,109, 97,103,101, 95,105,110, 95,104,101,105,103,104,116, 0, 99,101,110,116,101,114, 95,120, 0, 99,101,110, -116,101,114, 95,121, 0,115,112,105,110, 0,119,114, 97,112, 0,115,105,103,109, 97, 95, 99,111,108,111,114, 0,115,105,103,109, - 97, 95,115,112, 97, 99,101, 0,104,117,101, 0,116, 49, 0,116, 50, 0,116, 51, 0,102,115,116,114,101,110,103,116,104, 0,102, - 97,108,112,104, 97, 0,107,101,121, 91, 52, 93, 0, 97,108,103,111,114,105,116,104,109, 0, 99,104, 97,110,110,101,108, 0,120, - 49, 0,120, 50, 0,121, 49, 0,121, 50, 0,102, 97, 99, 95,120, 49, 0,102, 97, 99, 95,120, 50, 0,102, 97, 99, 95,121, 49, 0, -102, 97, 99, 95,121, 50, 0, 99,111,108,110, 97,109,101, 91, 51, 50, 93, 0, 98,107,116,121,112,101, 0,114,111,116, 97,116,105, -111,110, 0,103, 97,109, 99,111, 0,110,111, 95,122, 98,117,102, 0,102,115,116,111,112, 0,109, 97,120, 98,108,117,114, 0, 98, -116,104,114,101,115,104, 0, 42,100,105, 99,116, 0, 42,110,111,100,101, 0, 97,110,103,108,101, 95,111,102,115, 0, 99,111,108, -109,111,100, 0,109,105,120, 0,116,104,114,101,115,104,111,108,100, 0,102, 97,100,101, 0,109, 0, 99, 0,106,105,116, 0,112, -114,111,106, 0,102,105,116, 0,115,108,111,112,101, 91, 51, 93, 0,112,111,119,101,114, 91, 51, 93, 0,108,105,102,116, 95,108, -103,103, 91, 51, 93, 0,103, 97,109,109, 97, 95,105,110,118, 91, 51, 93, 0,108,105,109, 99,104, 97,110, 0,117,110,115,112,105, -108,108, 0,108,105,109,115, 99, 97,108,101, 0,117,115,112,105,108,108,114, 0,117,115,112,105,108,108,103, 0,117,115,112,105, -108,108, 98, 0,115,104,111,114,116,121, 0,109,105,110,116, 97, 98,108,101, 0,109, 97,120,116, 97, 98,108,101, 0,101,120,116, - 95,105,110, 91, 50, 93, 0,101,120,116, 95,111,117,116, 91, 50, 93, 0, 42, 99,117,114,118,101, 0, 42,116, 97, 98,108,101, 0, - 42,112,114,101,109,117,108,116, 97, 98,108,101, 0,112,114,101,115,101,116, 0, 99,104, 97,110,103,101,100, 95,116,105,109,101, -115,116, 97,109,112, 0, 99,117,114,114, 0, 99,108,105,112,114, 0, 99,109, 91, 52, 93, 0, 98,108, 97, 99,107, 91, 51, 93, 0, -119,104,105,116,101, 91, 51, 93, 0, 98,119,109,117,108, 91, 51, 93, 0,115, 97,109,112,108,101, 91, 51, 93, 0,120, 95,114,101, -115,111,108,117,116,105,111,110, 0,100, 97,116, 97, 95,114, 91, 50, 53, 54, 93, 0,100, 97,116, 97, 95,103, 91, 50, 53, 54, 93, - 0,100, 97,116, 97, 95, 98, 91, 50, 53, 54, 93, 0,100, 97,116, 97, 95,108,117,109, 97, 91, 50, 53, 54, 93, 0,115, 97,109,112, -108,101, 95,102,117,108,108, 0,115, 97,109,112,108,101, 95,108,105,110,101,115, 0, 97, 99, 99,117,114, 97, 99,121, 0,119, 97, -118,101,102,114,109, 95,109,111,100,101, 0,119, 97,118,101,102,114,109, 95, 97,108,112,104, 97, 0,119, 97,118,101,102,114,109, - 95,121,102, 97, 99, 0,119, 97,118,101,102,114,109, 95,104,101,105,103,104,116, 0,118,101, 99,115, 99,111,112,101, 95, 97,108, -112,104, 97, 0,118,101, 99,115, 99,111,112,101, 95,104,101,105,103,104,116, 0,109,105,110,109, 97,120, 91, 51, 93, 91, 50, 93, - 0,104,105,115,116, 0, 42,119, 97,118,101,102,111,114,109, 95, 49, 0, 42,119, 97,118,101,102,111,114,109, 95, 50, 0, 42,119, - 97,118,101,102,111,114,109, 95, 51, 0, 42,118,101, 99,115, 99,111,112,101, 0,119, 97,118,101,102,111,114,109, 95,116,111,116, - 0,111,102,102,115,101,116, 91, 50, 93, 0, 99,108,111,110,101, 0,109,116,101,120, 0, 42,105, 99,111,110, 95,105,109, 98,117, -102, 0,105, 99,111,110, 95,102,105,108,101,112, 97,116,104, 91, 50, 52, 48, 93, 0,110,111,114,109, 97,108, 95,119,101,105,103, -104,116, 0,111, 98, 95,109,111,100,101, 0,106,105,116,116,101,114, 0,115,109,111,111,116,104, 95,115,116,114,111,107,101, 95, -114, 97,100,105,117,115, 0,115,109,111,111,116,104, 95,115,116,114,111,107,101, 95,102, 97, 99,116,111,114, 0,114, 97,116,101, - 0,114,103, 98, 91, 51, 93, 0,115, 99,117,108,112,116, 95,112,108, 97,110,101, 0,112,108, 97,110,101, 95,111,102,102,115,101, -116, 0,115, 99,117,108,112,116, 95,116,111,111,108, 0,118,101,114,116,101,120,112, 97,105,110,116, 95,116,111,111,108, 0,105, -109, 97,103,101,112, 97,105,110,116, 95,116,111,111,108, 0,112, 97,100, 51, 91, 53, 93, 0, 97,117,116,111,115,109,111,111,116, -104, 95,102, 97, 99,116,111,114, 0, 99,114,101, 97,115,101, 95,112,105,110, 99,104, 95,102, 97, 99,116,111,114, 0,112,108, 97, -110,101, 95,116,114,105,109, 0,116,101,120,116,117,114,101, 95,115, 97,109,112,108,101, 95, 98,105, 97,115, 0,116,101,120,116, -117,114,101, 95,111,118,101,114,108, 97,121, 95, 97,108,112,104, 97, 0,117,110,112,114,111,106,101, 99,116,101,100, 95,114, 97, -100,105,117,115, 0, 97,100,100, 95, 99,111,108, 91, 51, 93, 0,115,117, 98, 95, 99,111,108, 91, 51, 93, 0, 97, 99,116,105,118, -101, 95,114,110,100, 0, 97, 99,116,105,118,101, 95, 99,108,111,110,101, 0, 97, 99,116,105,118,101, 95,109, 97,115,107, 0, 42, -108, 97,121,101,114,115, 0,116,111,116,108, 97,121,101,114, 0,109, 97,120,108, 97,121,101,114, 0,116,111,116,115,105,122,101, - 0, 42,112,111,111,108, 0, 42,101,120,116,101,114,110, 97,108, 0,118,101,108, 91, 51, 93, 0,114,111,116, 91, 52, 93, 0, 97, -118,101, 91, 51, 93, 0, 42,103,114,111,117,110,100, 0,119, 97,110,100,101,114, 91, 51, 93, 0,114,101,115,116, 95,108,101,110, -103,116,104, 0,112, 97,114,116,105, 99,108,101, 95,105,110,100,101,120, 91, 50, 93, 0,100,101,108,101,116,101, 95,102,108, 97, -103, 0,110,117,109, 0,112, 97,114,101,110,116, 0,112, 97, 91, 52, 93, 0,119, 91, 52, 93, 0,102,117,118, 91, 52, 93, 0,102, -111,102,102,115,101,116, 0,114,116, 91, 50, 93, 0,112,114,101,118, 95,115,116, 97,116,101, 0, 42,104, 97,105,114, 0, 42, 98, -111,105,100, 0,100,105,101,116,105,109,101, 0,110,117,109, 95,100,109, 99, 97, 99,104,101, 0,104, 97,105,114, 95,105,110,100, -101,120, 0, 97,108,105,118,101, 0,115,112,114,105,110,103, 95,107, 0,112,108, 97,115,116,105, 99,105,116,121, 95, 99,111,110, -115,116, 97,110,116, 0,121,105,101,108,100, 95,114, 97,116,105,111, 0,112,108, 97,115,116,105, 99,105,116,121, 95, 98, 97,108, - 97,110, 99,101, 0,121,105,101,108,100, 95, 98, 97,108, 97,110, 99,101, 0,118,105,115, 99,111,115,105,116,121, 95,111,109,101, -103, 97, 0,118,105,115, 99,111,115,105,116,121, 95, 98,101,116, 97, 0,115,116,105,102,102,110,101,115,115, 95,107, 0,115,116, -105,102,102,110,101,115,115, 95,107,110,101, 97,114, 0,114,101,115,116, 95,100,101,110,115,105,116,121, 0, 98,117,111,121, 97, -110, 99,121, 0,115,112,114,105,110,103, 95,102,114, 97,109,101,115, 0, 42, 98,111,105,100,115, 0, 42,102,108,117,105,100, 0, -100,105,115,116,114, 0,112,104,121,115,116,121,112,101, 0, 97,118,101,109,111,100,101, 0,114,101, 97, 99,116,101,118,101,110, -116, 0,100,114, 97,119, 0,100,114, 97,119, 95, 97,115, 0,100,114, 97,119, 95,115,105,122,101, 0, 99,104,105,108,100,116,121, -112,101, 0,114,101,110, 95, 97,115, 0,115,117, 98,102,114, 97,109,101,115, 0,100,114, 97,119, 95, 99,111,108, 0,114,101,110, - 95,115,116,101,112, 0,104, 97,105,114, 95,115,116,101,112, 0,107,101,121,115, 95,115,116,101,112, 0, 97,100, 97,112,116, 95, - 97,110,103,108,101, 0, 97,100, 97,112,116, 95,112,105,120, 0,114,111,116,102,114,111,109, 0,105,110,116,101,103,114, 97,116, -111,114, 0, 98, 98, 95, 97,108,105,103,110, 0, 98, 98, 95,117,118, 95,115,112,108,105,116, 0, 98, 98, 95, 97,110,105,109, 0, - 98, 98, 95,115,112,108,105,116, 95,111,102,102,115,101,116, 0, 98, 98, 95,116,105,108,116, 0, 98, 98, 95,114, 97,110,100, 95, -116,105,108,116, 0, 98, 98, 95,111,102,102,115,101,116, 91, 50, 93, 0, 99,111,108,111,114, 95,118,101, 99, 95,109, 97,120, 0, -115,105,109,112,108,105,102,121, 95,114,101,102,115,105,122,101, 0,115,105,109,112,108,105,102,121, 95,114, 97,116,101, 0,115, -105,109,112,108,105,102,121, 95,116,114, 97,110,115,105,116,105,111,110, 0,115,105,109,112,108,105,102,121, 95,118,105,101,119, -112,111,114,116, 0,116,105,109,101,116,119,101, 97,107, 0,106,105,116,102, 97, 99, 0,101,102,102, 95,104, 97,105,114, 0,103, -114,105,100, 95,114, 97,110,100, 0,103,114,105,100, 95,114,101,115, 0,101,102,102,101, 99,116,111,114, 95, 97,109,111,117,110, -116, 0,112, 97,114,116,102, 97, 99, 0,116, 97,110,102, 97, 99, 0,116, 97,110,112,104, 97,115,101, 0,114,101, 97, 99,116,102, - 97, 99, 0,111, 98, 95,118,101,108, 91, 51, 93, 0, 97,118,101,102, 97, 99, 0,112,104, 97,115,101,102, 97, 99, 0,114, 97,110, -100,114,111,116,102, 97, 99, 0,114, 97,110,100,112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,115,105,122,101, 0, 97, 99, - 99, 91, 51, 93, 0,100,114, 97,103,102, 97, 99, 0, 98,114,111,119,110,102, 97, 99, 0,114, 97,110,100,108,101,110,103,116,104, - 0, 99,104,105,108,100, 95,110, 98,114, 0,114,101,110, 95, 99,104,105,108,100, 95,110, 98,114, 0,112, 97,114,101,110,116,115, - 0, 99,104,105,108,100,115,105,122,101, 0, 99,104,105,108,100,114, 97,110,100,115,105,122,101, 0, 99,104,105,108,100,114, 97, -100, 0, 99,104,105,108,100,102,108, 97,116, 0, 99,108,117,109,112,112,111,119, 0,107,105,110,107, 95,102,108, 97,116, 0,107, -105,110,107, 95, 97,109,112, 95, 99,108,117,109,112, 0,114,111,117,103,104, 49, 0,114,111,117,103,104, 49, 95,115,105,122,101, - 0,114,111,117,103,104, 50, 0,114,111,117,103,104, 50, 95,115,105,122,101, 0,114,111,117,103,104, 50, 95,116,104,114,101,115, - 0,114,111,117,103,104, 95,101,110,100, 0,114,111,117,103,104, 95,101,110,100, 95,115,104, 97,112,101, 0, 99,108,101,110,103, -116,104, 0, 99,108,101,110,103,116,104, 95,116,104,114,101,115, 0,112, 97,114,116,105,110,103, 95,102, 97, 99, 0,112, 97,114, -116,105,110,103, 95,109,105,110, 0,112, 97,114,116,105,110,103, 95,109, 97,120, 0, 98,114, 97,110, 99,104, 95,116,104,114,101, -115, 0,100,114, 97,119, 95,108,105,110,101, 91, 50, 93, 0,112, 97,116,104, 95,115,116, 97,114,116, 0,112, 97,116,104, 95,101, -110,100, 0,116,114, 97,105,108, 95, 99,111,117,110,116, 0,107,101,121,101,100, 95,108,111,111,112,115, 0,100,117,112,108,105, -119,101,105,103,104,116,115, 0, 42,101,102,102, 95,103,114,111,117,112, 0, 42,100,117,112, 95,111, 98, 0, 42, 98, 98, 95,111, - 98, 0, 42,112,100, 50, 0, 42,112, 97,114,116, 0, 42,112, 97,114,116,105, 99,108,101,115, 0, 42, 42,112, 97,116,104, 99, 97, - 99,104,101, 0, 42, 42, 99,104,105,108,100, 99, 97, 99,104,101, 0,112, 97,116,104, 99, 97, 99,104,101, 98,117,102,115, 0, 99, -104,105,108,100, 99, 97, 99,104,101, 98,117,102,115, 0, 42, 99,108,109,100, 0, 42,104, 97,105,114, 95,105,110, 95,100,109, 0, - 42,104, 97,105,114, 95,111,117,116, 95,100,109, 0, 42,116, 97,114,103,101,116, 95,111, 98, 0, 42,108, 97,116,116,105, 99,101, - 0,116,114,101,101, 95,102,114, 97,109,101, 0, 98,118,104,116,114,101,101, 95,102,114, 97,109,101, 0, 99,104,105,108,100, 95, -115,101,101,100, 0,116,111,116,117,110,101,120,105,115,116, 0,116,111,116, 99,104,105,108,100, 0,116,111,116, 99, 97, 99,104, -101,100, 0,116,111,116, 99,104,105,108,100, 99, 97, 99,104,101, 0,116, 97,114,103,101,116, 95,112,115,121,115, 0,116,111,116, -107,101,121,101,100, 0, 98, 97,107,101,115,112, 97, 99,101, 0, 98, 98, 95,117,118,110, 97,109,101, 91, 51, 93, 91, 51, 50, 93, - 0,118,103,114,111,117,112, 91, 49, 50, 93, 0,118,103, 95,110,101,103, 0,114,116, 51, 0, 42,114,101,110,100,101,114,100, 97, -116, 97, 0, 42,101,102,102,101, 99,116,111,114,115, 0, 42,102,108,117,105,100, 95,115,112,114,105,110,103,115, 0,116,111,116, - 95,102,108,117,105,100,115,112,114,105,110,103,115, 0, 97,108,108,111, 99, 95,102,108,117,105,100,115,112,114,105,110,103,115, - 0, 42,116,114,101,101, 0, 42,112,100,100, 0, 42,102,114, 97,110,100, 0, 67,100,105,115, 0, 67,118,105, 0,115,116,114,117, - 99,116,117,114, 97,108, 0, 98,101,110,100,105,110,103, 0,109, 97,120, 95, 98,101,110,100, 0,109, 97,120, 95,115,116,114,117, - 99,116, 0,109, 97,120, 95,115,104,101, 97,114, 0, 97,118,103, 95,115,112,114,105,110,103, 95,108,101,110, 0,116,105,109,101, -115, 99, 97,108,101, 0,101,102,102, 95,102,111,114, 99,101, 95,115, 99, 97,108,101, 0,101,102,102, 95,119,105,110,100, 95,115, - 99, 97,108,101, 0,115,105,109, 95,116,105,109,101, 95,111,108,100, 0,118,101,108,111, 99,105,116,121, 95,115,109,111,111,116, -104, 0, 99,111,108,108,105,100,101,114, 95,102,114,105, 99,116,105,111,110, 0,115,116,101,112,115, 80,101,114, 70,114, 97,109, -101, 0,112,114,101,114,111,108,108, 0,109, 97,120,115,112,114,105,110,103,108,101,110, 0,115,111,108,118,101,114, 95,116,121, -112,101, 0,118,103,114,111,117,112, 95, 98,101,110,100, 0,118,103,114,111,117,112, 95,109, 97,115,115, 0,118,103,114,111,117, -112, 95,115,116,114,117, 99,116, 0,115,104, 97,112,101,107,101,121, 95,114,101,115,116, 0,112,114,101,115,101,116,115, 0,114, -101,115,101,116, 0, 42, 99,111,108,108,105,115,105,111,110, 95,108,105,115,116, 0,101,112,115,105,108,111,110, 0,115,101,108, -102, 95,102,114,105, 99,116,105,111,110, 0,115,101,108,102,101,112,115,105,108,111,110, 0,115,101,108,102, 95,108,111,111,112, - 95, 99,111,117,110,116, 0,108,111,111,112, 95, 99,111,117,110,116, 0,112,114,101,115,115,117,114,101, 0,116,104,105, 99,107, -110,101,115,115, 0,115,116,114,111,107,101,115, 0,102,114, 97,109,101,110,117,109, 0, 42, 97, 99,116,102,114, 97,109,101, 0, -103,115,116,101,112, 0,105,110,102,111, 91, 49, 50, 56, 93, 0,115, 98,117,102,102,101,114, 95,115,105,122,101, 0,115, 98,117, -102,102,101,114, 95,115,102,108, 97,103, 0, 42,115, 98,117,102,102,101,114, 0,108,105,115,116, 0,112,114,105,110,116,108,101, -118,101,108, 0,115,116,111,114,101,108,101,118,101,108, 0, 42,114,101,112,111,114,116,116,105,109,101,114, 0, 42,119,105,110, -100,114, 97,119, 97, 98,108,101, 0, 42,119,105,110, 97, 99,116,105,118,101, 0,119,105,110,100,111,119,115, 0,105,110,105,116, -105, 97,108,105,122,101,100, 0,102,105,108,101, 95,115, 97,118,101,100, 0,111,112, 95,117,110,100,111, 95,100,101,112,116,104, - 0,111,112,101,114, 97,116,111,114,115, 0,113,117,101,117,101, 0,114,101,112,111,114,116,115, 0,106,111, 98,115, 0,112, 97, -105,110,116, 99,117,114,115,111,114,115, 0,100,114, 97,103,115, 0,107,101,121, 99,111,110,102,105,103,115, 0, 42,100,101,102, - 97,117,108,116, 99,111,110,102, 0,116,105,109,101,114,115, 0, 42, 97,117,116,111,115, 97,118,101,116,105,109,101,114, 0, 42, -103,104,111,115,116,119,105,110, 0,103,114, 97, 98, 99,117,114,115,111,114, 0, 42,115, 99,114,101,101,110, 0, 42,110,101,119, -115, 99,114,101,101,110, 0,115, 99,114,101,101,110,110, 97,109,101, 91, 51, 50, 93, 0,112,111,115,120, 0,112,111,115,121, 0, -119,105,110,100,111,119,115,116, 97,116,101, 0,109,111,110,105,116,111,114, 0,108, 97,115,116, 99,117,114,115,111,114, 0,109, -111,100, 97,108, 99,117,114,115,111,114, 0, 97,100,100,109,111,117,115,101,109,111,118,101, 0, 42,101,118,101,110,116,115,116, - 97,116,101, 0, 42, 99,117,114,115,119,105,110, 0, 42,116,119,101, 97,107, 0,100,114, 97,119,109,101,116,104,111,100, 0,100, -114, 97,119,102, 97,105,108, 0, 42,100,114, 97,119,100, 97,116, 97, 0,109,111,100, 97,108,104, 97,110,100,108,101,114,115, 0, -115,117, 98,119,105,110,100,111,119,115, 0,103,101,115,116,117,114,101, 0,105,100,110, 97,109,101, 91, 54, 52, 93, 0,112,114, -111,112,118, 97,108,117,101, 0,115,104,105,102,116, 0, 99,116,114,108, 0, 97,108,116, 0,111,115,107,101,121, 0,107,101,121, -109,111,100,105,102,105,101,114, 0,109, 97,112,116,121,112,101, 0, 42,112,116,114, 0,105,116,101,109,115, 0,115,112, 97, 99, -101,105,100, 0,114,101,103,105,111,110,105,100, 0,107,109,105, 95,105,100, 0, 40, 42,112,111,108,108, 41, 40, 41, 0, 42,109, -111,100, 97,108, 95,105,116,101,109,115, 0, 98, 97,115,101,110, 97,109,101, 91, 54, 52, 93, 0, 97, 99,116,107,101,121,109, 97, -112, 0, 42, 99,117,115,116,111,109,100, 97,116, 97, 0, 42,112,121, 95,105,110,115,116, 97,110, 99,101, 0, 42,114,101,112,111, -114,116,115, 0,109, 97, 99,114,111, 0, 42,111,112,109, 0, 42,101,100, 97,116, 97, 0,105,110,102,108,117,101,110, 99,101, 0, - 42, 99,111,101,102,102,105, 99,105,101,110,116,115, 0, 97,114,114, 97,121,115,105,122,101, 0,112,111,108,121, 95,111,114,100, -101,114, 0, 97,109,112,108,105,116,117,100,101, 0,112,104, 97,115,101, 95,109,117,108,116,105,112,108,105,101,114, 0,112,104, - 97,115,101, 95,111,102,102,115,101,116, 0,118, 97,108,117,101, 95,111,102,102,115,101,116, 0,109,105,100,118, 97,108, 0, 98, -101,102,111,114,101, 95,109,111,100,101, 0, 97,102,116,101,114, 95,109,111,100,101, 0, 98,101,102,111,114,101, 95, 99,121, 99, -108,101,115, 0, 97,102,116,101,114, 95, 99,121, 99,108,101,115, 0,114,101, 99,116, 0,112,104, 97,115,101, 0,109,111,100,105, -102,105, 99, 97,116,105,111,110, 0,115,116,101,112, 95,115,105,122,101, 0, 42,114,110, 97, 95,112, 97,116,104, 0,112, 99,104, - 97,110, 95,110, 97,109,101, 91, 51, 50, 93, 0,116,114, 97,110,115, 67,104, 97,110, 0,105,100,116,121,112,101, 0,116, 97,114, -103,101,116,115, 91, 56, 93, 0,110,117,109, 95,116, 97,114,103,101,116,115, 0,118, 97,114,105, 97, 98,108,101,115, 0,101,120, -112,114,101,115,115,105,111,110, 91, 50, 53, 54, 93, 0, 42,101,120,112,114, 95, 99,111,109,112, 0,118,101, 99, 91, 50, 93, 0, - 42,102,112,116, 0, 97,114,114, 97,121, 95,105,110,100,101,120, 0, 99,111,108,111,114, 95,109,111,100,101, 0, 99,111,108,111, -114, 91, 51, 93, 0,102,114,111,109, 91, 49, 50, 56, 93, 0,116,111, 91, 49, 50, 56, 93, 0,109, 97,112,112,105,110,103,115, 0, -115,116,114,105,112,115, 0, 42,114,101,109, 97,112, 0,102, 99,117,114,118,101,115, 0,115,116,114,105,112, 95,116,105,109,101, - 0, 98,108,101,110,100,109,111,100,101, 0,101,120,116,101,110,100,109,111,100,101, 0,103,114,111,117,112, 91, 54, 52, 93, 0, -103,114,111,117,112,109,111,100,101, 0,107,101,121,105,110,103,102,108, 97,103, 0,112, 97,116,104,115, 0,116,121,112,101,105, -110,102,111, 91, 54, 52, 93, 0, 97, 99,116,105,118,101, 95,112, 97,116,104, 0, 42,116,109,112, 97, 99,116, 0,110,108, 97, 95, -116,114, 97, 99,107,115, 0, 42, 97, 99,116,115,116,114,105,112, 0,100,114,105,118,101,114,115, 0,111,118,101,114,114,105,100, -101,115, 0, 97, 99,116, 95, 98,108,101,110,100,109,111,100,101, 0, 97, 99,116, 95,101,120,116,101,110,100,109,111,100,101, 0, - 97, 99,116, 95,105,110,102,108,117,101,110, 99,101, 0,114,117,108,101, 0,111,112,116,105,111,110,115, 0,102,101, 97,114, 95, -102, 97, 99,116,111,114, 0,115,105,103,110, 97,108, 95,105,100, 0,108,111,111,107, 95, 97,104,101, 97,100, 0,111,108,111, 99, - 91, 51, 93, 0,113,117,101,117,101, 95,115,105,122,101, 0,119, 97,110,100,101,114, 0,102,108,101,101, 95,100,105,115,116, 97, -110, 99,101, 0,104,101, 97,108,116,104, 0,115,116, 97,116,101, 95,105,100, 0,114,117,108,101,115, 0, 99,111,110,100,105,116, -105,111,110,115, 0, 97, 99,116,105,111,110,115, 0,114,117,108,101,115,101,116, 95,116,121,112,101, 0,114,117,108,101, 95,102, -117,122,122,105,110,101,115,115, 0,108, 97,115,116, 95,115,116, 97,116,101, 95,105,100, 0,108, 97,110,100,105,110,103, 95,115, -109,111,111,116,104,110,101,115,115, 0, 98, 97,110,107,105,110,103, 0, 97,103,103,114,101,115,115,105,111,110, 0, 97,105,114, - 95,109,105,110, 95,115,112,101,101,100, 0, 97,105,114, 95,109, 97,120, 95,115,112,101,101,100, 0, 97,105,114, 95,109, 97,120, - 95, 97, 99, 99, 0, 97,105,114, 95,109, 97,120, 95, 97,118,101, 0, 97,105,114, 95,112,101,114,115,111,110, 97,108, 95,115,112, - 97, 99,101, 0,108, 97,110,100, 95,106,117,109,112, 95,115,112,101,101,100, 0,108, 97,110,100, 95,109, 97,120, 95,115,112,101, -101,100, 0,108, 97,110,100, 95,109, 97,120, 95, 97, 99, 99, 0,108, 97,110,100, 95,109, 97,120, 95, 97,118,101, 0,108, 97,110, -100, 95,112,101,114,115,111,110, 97,108, 95,115,112, 97, 99,101, 0,108, 97,110,100, 95,115,116,105, 99,107, 95,102,111,114, 99, -101, 0,115,116, 97,116,101,115, 0, 42,115,109,100, 0, 42,102,108,117,105,100, 95,103,114,111,117,112, 0, 42, 99,111,108,108, - 95,103,114,111,117,112, 0, 42,119,116, 0, 42,116,101,120, 95,119,116, 0, 42,116,101,120, 95,115,104, 97,100,111,119, 0, 42, -115,104, 97,100,111,119, 0,112, 48, 91, 51, 93, 0,112, 49, 91, 51, 93, 0,100,120, 0,111,109,101,103, 97, 0,116,101,109,112, - 65,109, 98, 0, 98,101,116, 97, 0,114,101,115, 91, 51, 93, 0, 97,109,112,108,105,102,121, 0,109, 97,120,114,101,115, 0,118, -105,101,119,115,101,116,116,105,110,103,115, 0,110,111,105,115,101, 0,100,105,115,115, 95,112,101,114, 99,101,110,116, 0,100, -105,115,115, 95,115,112,101,101,100, 0,114,101,115, 95,119,116, 91, 51, 93, 0,100,120, 95,119,116, 0,118, 51,100,110,117,109, - 0, 99, 97, 99,104,101, 95, 99,111,109,112, 0, 99, 97, 99,104,101, 95,104,105,103,104, 95, 99,111,109,112, 0, 42,112,111,105, -110,116, 95, 99, 97, 99,104,101, 91, 50, 93, 0,112,116, 99, 97, 99,104,101,115, 91, 50, 93, 0, 98,111,114,100,101,114, 95, 99, -111,108,108,105,115,105,111,110,115, 0,116,105,109,101, 95,115, 99, 97,108,101, 0,118,111,114,116,105, 99,105,116,121, 0,118, -101,108,111, 99,105,116,121, 91, 50, 93, 0,118,101,108, 95,109,117,108,116,105, 0,118,103,114,112, 95,104,101, 97,116, 95,115, - 99, 97,108,101, 91, 50, 93, 0,118,103,114,111,117,112, 95,102,108,111,119, 0,118,103,114,111,117,112, 95,100,101,110,115,105, -116,121, 0,118,103,114,111,117,112, 95,104,101, 97,116, 0, 42,112,111,105,110,116,115, 95,111,108,100, 0, 42,118,101,108, 0, -109, 97,116, 95,111,108,100, 91, 52, 93, 91, 52, 93, 0, 0, 0, 84, 89, 80, 69, 0, 0, 1,202, 99,104, 97,114, 0,117, 99,104, - 97,114, 0,115,104,111,114,116, 0,117,115,104,111,114,116, 0,105,110,116, 0,108,111,110,103, 0,117,108,111,110,103, 0,102, -108,111, 97,116, 0,100,111,117, 98,108,101, 0,118,111,105,100, 0, 76,105,110,107, 0, 76,105,110,107, 68, 97,116, 97, 0, 76, -105,115,116, 66, 97,115,101, 0,118,101, 99, 50,115, 0,118,101, 99, 50,102, 0,114, 99,116,105, 0,114, 99,116,102, 0, 73, 68, - 80,114,111,112,101,114,116,121, 68, 97,116, 97, 0, 73, 68, 80,114,111,112,101,114,116,121, 0, 73, 68, 0, 76,105, 98,114, 97, -114,121, 0, 70,105,108,101, 68, 97,116, 97, 0, 80,114,101,118,105,101,119, 73,109, 97,103,101, 0, 73,112,111, 68,114,105,118, -101,114, 0, 79, 98,106,101, 99,116, 0, 73,112,111, 67,117,114,118,101, 0, 66, 80,111,105,110,116, 0, 66,101,122, 84,114,105, -112,108,101, 0, 73,112,111, 0, 75,101,121, 66,108,111, 99,107, 0, 75,101,121, 0, 65,110,105,109, 68, 97,116, 97, 0, 84,101, -120,116, 76,105,110,101, 0, 84,101,120,116, 77, 97,114,107,101,114, 0, 84,101,120,116, 0, 80, 97, 99,107,101,100, 70,105,108, -101, 0, 67, 97,109,101,114, 97, 0, 73,109, 97,103,101, 85,115,101,114, 0, 83, 99,101,110,101, 0, 73,109, 97,103,101, 0, 71, - 80, 85, 84,101,120,116,117,114,101, 0, 97,110,105,109, 0, 82,101,110,100,101,114, 82,101,115,117,108,116, 0, 77, 84,101,120, - 0, 84,101,120, 0, 80,108,117,103,105,110, 84,101,120, 0, 67, 66, 68, 97,116, 97, 0, 67,111,108,111,114, 66, 97,110,100, 0, - 69,110,118, 77, 97,112, 0, 73,109, 66,117,102, 0, 80,111,105,110,116, 68,101,110,115,105,116,121, 0, 86,111,120,101,108, 68, - 97,116, 97, 0, 98, 78,111,100,101, 84,114,101,101, 0, 84,101,120, 77, 97,112,112,105,110,103, 0, 76, 97,109,112, 0, 67,117, -114,118,101, 77, 97,112,112,105,110,103, 0, 86,111,108,117,109,101, 83,101,116,116,105,110,103,115, 0, 77, 97,116,101,114,105, - 97,108, 0, 71,114,111,117,112, 0, 86, 70,111,110,116, 0, 86, 70,111,110,116, 68, 97,116, 97, 0, 77,101,116, 97, 69,108,101, -109, 0, 66,111,117,110,100, 66,111,120, 0, 77,101,116, 97, 66, 97,108,108, 0, 78,117,114, 98, 0, 67,104, 97,114, 73,110,102, -111, 0, 84,101,120,116, 66,111,120, 0, 69,100,105,116, 78,117,114, 98, 0, 71, 72, 97,115,104, 0, 67,117,114,118,101, 0, 80, - 97,116,104, 0, 83,101,108, 66,111,120, 0, 69,100,105,116, 70,111,110,116, 0, 77,101,115,104, 0, 77, 70, 97, 99,101, 0, 77, - 84, 70, 97, 99,101, 0, 84, 70, 97, 99,101, 0, 77, 86,101,114,116, 0, 77, 69,100,103,101, 0, 77, 68,101,102,111,114,109, 86, -101,114,116, 0, 77, 67,111,108, 0, 77, 83,116,105, 99,107,121, 0, 77, 83,101,108,101, 99,116, 0, 69,100,105,116, 77,101,115, -104, 0, 67,117,115,116,111,109, 68, 97,116, 97, 0, 77,117,108,116,105,114,101,115, 0, 80, 97,114,116,105, 97,108, 86,105,115, -105, 98,105,108,105,116,121, 0, 77, 68,101,102,111,114,109, 87,101,105,103,104,116, 0, 77, 84,101,120, 80,111,108,121, 0, 77, - 76,111,111,112, 85, 86, 0, 77, 76,111,111,112, 67,111,108, 0, 77, 70,108,111, 97,116, 80,114,111,112,101,114,116,121, 0, 77, - 73,110,116, 80,114,111,112,101,114,116,121, 0, 77, 83,116,114,105,110,103, 80,114,111,112,101,114,116,121, 0, 79,114,105,103, - 83,112, 97, 99,101, 70, 97, 99,101, 0, 77, 68,105,115,112,115, 0, 77,117,108,116,105,114,101,115, 67,111,108, 0, 77,117,108, -116,105,114,101,115, 67,111,108, 70, 97, 99,101, 0, 77,117,108,116,105,114,101,115, 70, 97, 99,101, 0, 77,117,108,116,105,114, -101,115, 69,100,103,101, 0, 77,117,108,116,105,114,101,115, 76,101,118,101,108, 0, 77,111,100,105,102,105,101,114, 68, 97,116, - 97, 0, 83,117, 98,115,117,114,102, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 76, 97,116,116,105, 99,101, 77,111,100, -105,102,105,101,114, 68, 97,116, 97, 0, 67,117,114,118,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66,117,105,108, -100, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 97,115,107, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 65, -114,114, 97,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77,105,114,114,111,114, 77,111,100,105,102,105,101,114, 68, - 97,116, 97, 0, 69,100,103,101, 83,112,108,105,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66,101,118,101,108, 77, -111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66, 77,101,115,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109, -111,107,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,107,101, 68,111,109, 97,105,110, 83,101,116,116,105, -110,103,115, 0, 83,109,111,107,101, 70,108,111,119, 83,101,116,116,105,110,103,115, 0, 83,109,111,107,101, 67,111,108,108, 83, -101,116,116,105,110,103,115, 0, 68,105,115,112,108, 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 85, 86, 80, -114,111,106,101, 99,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,101, 99,105,109, 97,116,101, 77,111,100,105,102, -105,101,114, 68, 97,116, 97, 0, 83,109,111,111,116,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67, 97,115,116, 77, -111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87, 97,118,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 65,114,109, - 97,116,117,114,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 72,111,111,107, 77,111,100,105,102,105,101,114, 68, 97, -116, 97, 0, 83,111,102,116, 98,111,100,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,116,104, 77,111,100, -105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,116,104, 0, 67,108,111,116,104, 83,105,109, 83,101,116,116,105,110,103,115, - 0, 67,108,111,116,104, 67,111,108,108, 83,101,116,116,105,110,103,115, 0, 80,111,105,110,116, 67, 97, 99,104,101, 0, 67,111, -108,108,105,115,105,111,110, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66, 86, 72, 84,114,101,101, 0, 83,117,114,102, - 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,101,114,105,118,101,100, 77,101,115,104, 0, 66, 86, 72, 84, -114,101,101, 70,114,111,109, 77,101,115,104, 0, 66,111,111,108,101, 97,110, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, - 77, 68,101,102, 73,110,102,108,117,101,110, 99,101, 0, 77, 68,101,102, 67,101,108,108, 0, 77,101,115,104, 68,101,102,111,114, -109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,116,101,109, 77,111,100,105, -102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,116,101,109, 0, 80, 97,114,116,105, 99,108,101, - 73,110,115,116, 97,110, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 69,120,112,108,111,100,101, 77,111,100,105, -102,105,101,114, 68, 97,116, 97, 0, 77,117,108,116,105,114,101,115, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 70,108, -117,105,100,115,105,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 70,108,117,105,100,115,105,109, 83,101,116,116,105, -110,103,115, 0, 83,104,114,105,110,107,119,114, 97,112, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,105,109,112,108, -101, 68,101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,104, 97,112,101, 75,101,121, 77,111,100,105, -102,105,101,114, 68, 97,116, 97, 0, 83,111,108,105,100,105,102,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83, 99, -114,101,119, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 69,100,105,116, 76, 97,116,116, 0, 76, 97,116,116,105, 99,101, - 0, 98, 68,101,102,111,114,109, 71,114,111,117,112, 0, 83, 99,117,108,112,116, 83,101,115,115,105,111,110, 0, 98, 65, 99,116, -105,111,110, 0, 98, 80,111,115,101, 0, 98, 71, 80,100, 97,116, 97, 0, 98, 65,110,105,109, 86,105,122, 83,101,116,116,105,110, -103,115, 0, 98, 77,111,116,105,111,110, 80, 97,116,104, 0, 66,117,108,108,101,116, 83,111,102,116, 66,111,100,121, 0, 80, 97, -114,116, 68,101,102,108,101, 99,116, 0, 83,111,102,116, 66,111,100,121, 0, 79, 98, 72,111,111,107, 0, 68,117,112,108,105, 79, - 98,106,101, 99,116, 0, 82, 78, 71, 0, 69,102,102,101, 99,116,111,114, 87,101,105,103,104,116,115, 0, 80, 84, 67, 97, 99,104, -101, 69,120,116,114, 97, 0, 80, 84, 67, 97, 99,104,101, 77,101,109, 0, 80, 84, 67, 97, 99,104,101, 69,100,105,116, 0, 83, 66, - 86,101,114,116,101,120, 0, 66,111,100,121, 80,111,105,110,116, 0, 66,111,100,121, 83,112,114,105,110,103, 0, 83, 66, 83, 99, -114, 97,116, 99,104, 0, 87,111,114,108,100, 0, 66, 97,115,101, 0, 65,118,105, 67,111,100,101, 99, 68, 97,116, 97, 0, 81,117, -105, 99,107,116,105,109,101, 67,111,100,101, 99, 68, 97,116, 97, 0, 81,117,105, 99,107,116,105,109,101, 67,111,100,101, 99, 83, -101,116,116,105,110,103,115, 0, 70, 70, 77,112,101,103, 67,111,100,101, 99, 68, 97,116, 97, 0, 65,117,100,105,111, 68, 97,116, - 97, 0, 83, 99,101,110,101, 82,101,110,100,101,114, 76, 97,121,101,114, 0, 82,101,110,100,101,114, 68, 97,116, 97, 0, 82,101, -110,100,101,114, 80,114,111,102,105,108,101, 0, 71, 97,109,101, 68,111,109,101, 0, 71, 97,109,101, 70,114, 97,109,105,110,103, - 0, 71, 97,109,101, 68, 97,116, 97, 0, 84,105,109,101, 77, 97,114,107,101,114, 0, 80, 97,105,110,116, 0, 66,114,117,115,104, - 0, 73,109, 97,103,101, 80, 97,105,110,116, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 66,114,117,115, -104, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 69,100,105,116, 83,101,116,116,105,110,103,115, 0, 84,114, 97,110,115, -102,111,114,109, 79,114,105,101,110,116, 97,116,105,111,110, 0, 83, 99,117,108,112,116, 0, 86, 80, 97,105,110,116, 0, 84,111, -111,108, 83,101,116,116,105,110,103,115, 0, 98, 83,116, 97,116,115, 0, 85,110,105,116, 83,101,116,116,105,110,103,115, 0, 80, -104,121,115,105, 99,115, 83,101,116,116,105,110,103,115, 0, 69,100,105,116,105,110,103, 0, 83, 99,101,110,101, 83,116, 97,116, -115, 0, 68, 97,103, 70,111,114,101,115,116, 0, 66, 71,112,105, 99, 0, 82,101,103,105,111,110, 86,105,101,119, 51, 68, 0, 82, -101,110,100,101,114, 73,110,102,111, 0, 86,105,101,119, 68,101,112,116,104,115, 0, 83,109,111,111,116,104, 86,105,101,119, 83, -116,111,114,101, 0,119,109, 84,105,109,101,114, 0, 86,105,101,119, 51, 68, 0, 83,112, 97, 99,101, 76,105,110,107, 0, 86,105, -101,119, 50, 68, 0, 83,112, 97, 99,101, 73,110,102,111, 0, 83,112, 97, 99,101, 73,112,111, 0, 98, 68,111,112,101, 83,104,101, -101,116, 0, 83,112, 97, 99,101, 66,117,116,115, 0, 83,112, 97, 99,101, 83,101,113, 0, 70,105,108,101, 83,101,108,101, 99,116, - 80, 97,114, 97,109,115, 0, 83,112, 97, 99,101, 70,105,108,101, 0, 70,105,108,101, 76,105,115,116, 0,119,109, 79,112,101,114, - 97,116,111,114, 0, 70,105,108,101, 76, 97,121,111,117,116, 0, 83,112, 97, 99,101, 79,111,112,115, 0, 84,114,101,101, 83,116, -111,114,101, 0, 84,114,101,101, 83,116,111,114,101, 69,108,101,109, 0, 83,112, 97, 99,101, 73,109, 97,103,101, 0, 83, 99,111, -112,101,115, 0, 72,105,115,116,111,103,114, 97,109, 0, 83,112, 97, 99,101, 78,108, 97, 0, 83,112, 97, 99,101, 84,101,120,116, - 0, 83, 99,114,105,112,116, 0, 83,112, 97, 99,101, 83, 99,114,105,112,116, 0, 83,112, 97, 99,101, 84,105,109,101, 67, 97, 99, -104,101, 0, 83,112, 97, 99,101, 84,105,109,101, 0, 83,112, 97, 99,101, 78,111,100,101, 0, 83,112, 97, 99,101, 76,111,103,105, - 99, 0, 83,112, 97, 99,101, 73,109, 97, 83,101,108, 0, 67,111,110,115,111,108,101, 76,105,110,101, 0, 83,112, 97, 99,101, 67, -111,110,115,111,108,101, 0, 83,112, 97, 99,101, 85,115,101,114, 80,114,101,102, 0, 83,112, 97, 99,101, 83,111,117,110,100, 0, - 83, 99,114, 65,114,101, 97, 0, 98, 83,111,117,110,100, 0,117,105, 70,111,110,116, 0,117,105, 70,111,110,116, 83,116,121,108, -101, 0,117,105, 83,116,121,108,101, 0,117,105, 87,105,100,103,101,116, 67,111,108,111,114,115, 0,117,105, 87,105,100,103,101, -116, 83,116, 97,116,101, 67,111,108,111,114,115, 0, 84,104,101,109,101, 85, 73, 0, 84,104,101,109,101, 83,112, 97, 99,101, 0, - 84,104,101,109,101, 87,105,114,101, 67,111,108,111,114, 0, 98, 84,104,101,109,101, 0, 98, 65,100,100,111,110, 0, 83,111,108, -105,100, 76,105,103,104,116, 0, 85,115,101,114, 68,101,102, 0, 98, 83, 99,114,101,101,110, 0, 83, 99,114, 86,101,114,116, 0, - 83, 99,114, 69,100,103,101, 0, 80, 97,110,101,108, 0, 80, 97,110,101,108, 84,121,112,101, 0,117,105, 76, 97,121,111,117,116, - 0, 83,112, 97, 99,101, 84,121,112,101, 0, 65, 82,101,103,105,111,110, 0, 65, 82,101,103,105,111,110, 84,121,112,101, 0, 70, -105,108,101, 71,108,111, 98, 97,108, 0, 83,116,114,105,112, 69,108,101,109, 0, 83,116,114,105,112, 67,114,111,112, 0, 83,116, -114,105,112, 84,114, 97,110,115,102,111,114,109, 0, 83,116,114,105,112, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 83, -116,114,105,112, 80,114,111,120,121, 0, 83,116,114,105,112, 0, 80,108,117,103,105,110, 83,101,113, 0, 83,101,113,117,101,110, - 99,101, 0, 77,101,116, 97, 83,116, 97, 99,107, 0, 87,105,112,101, 86, 97,114,115, 0, 71,108,111,119, 86, 97,114,115, 0, 84, -114, 97,110,115,102,111,114,109, 86, 97,114,115, 0, 83,111,108,105,100, 67,111,108,111,114, 86, 97,114,115, 0, 83,112,101,101, -100, 67,111,110,116,114,111,108, 86, 97,114,115, 0, 69,102,102,101, 99,116, 0, 66,117,105,108,100, 69,102,102, 0, 80, 97,114, -116, 69,102,102, 0, 80, 97,114,116,105, 99,108,101, 0, 87, 97,118,101, 69,102,102, 0, 98, 80,114,111,112,101,114,116,121, 0, - 98, 78,101, 97,114, 83,101,110,115,111,114, 0, 98, 77,111,117,115,101, 83,101,110,115,111,114, 0, 98, 84,111,117, 99,104, 83, -101,110,115,111,114, 0, 98, 75,101,121, 98,111, 97,114,100, 83,101,110,115,111,114, 0, 98, 80,114,111,112,101,114,116,121, 83, -101,110,115,111,114, 0, 98, 65, 99,116,117, 97,116,111,114, 83,101,110,115,111,114, 0, 98, 68,101,108, 97,121, 83,101,110,115, -111,114, 0, 98, 67,111,108,108,105,115,105,111,110, 83,101,110,115,111,114, 0, 98, 82, 97,100, 97,114, 83,101,110,115,111,114, - 0, 98, 82, 97,110,100,111,109, 83,101,110,115,111,114, 0, 98, 82, 97,121, 83,101,110,115,111,114, 0, 98, 65,114,109, 97,116, -117,114,101, 83,101,110,115,111,114, 0, 98, 77,101,115,115, 97,103,101, 83,101,110,115,111,114, 0, 98, 83,101,110,115,111,114, - 0, 98, 67,111,110,116,114,111,108,108,101,114, 0, 98, 74,111,121,115,116,105, 99,107, 83,101,110,115,111,114, 0, 98, 69,120, -112,114,101,115,115,105,111,110, 67,111,110,116, 0, 98, 80,121,116,104,111,110, 67,111,110,116, 0, 98, 65, 99,116,117, 97,116, -111,114, 0, 98, 65,100,100, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 65, 99,116,105,111,110, 65, 99,116, -117, 97,116,111,114, 0, 83,111,117,110,100, 51, 68, 0, 98, 83,111,117,110,100, 65, 99,116,117, 97,116,111,114, 0, 98, 69,100, -105,116, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 83, 99,101,110,101, 65, 99,116,117, 97,116,111,114, 0, - 98, 80,114,111,112,101,114,116,121, 65, 99,116,117, 97,116,111,114, 0, 98, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111, -114, 0, 98, 73,112,111, 65, 99,116,117, 97,116,111,114, 0, 98, 67, 97,109,101,114, 97, 65, 99,116,117, 97,116,111,114, 0, 98, - 67,111,110,115,116,114, 97,105,110,116, 65, 99,116,117, 97,116,111,114, 0, 98, 71,114,111,117,112, 65, 99,116,117, 97,116,111, -114, 0, 98, 82, 97,110,100,111,109, 65, 99,116,117, 97,116,111,114, 0, 98, 77,101,115,115, 97,103,101, 65, 99,116,117, 97,116, -111,114, 0, 98, 71, 97,109,101, 65, 99,116,117, 97,116,111,114, 0, 98, 86,105,115,105, 98,105,108,105,116,121, 65, 99,116,117, - 97,116,111,114, 0, 98, 84,119,111, 68, 70,105,108,116,101,114, 65, 99,116,117, 97,116,111,114, 0, 98, 80, 97,114,101,110,116, - 65, 99,116,117, 97,116,111,114, 0, 98, 83,116, 97,116,101, 65, 99,116,117, 97,116,111,114, 0, 98, 65,114,109, 97,116,117,114, -101, 65, 99,116,117, 97,116,111,114, 0, 71,114,111,117,112, 79, 98,106,101, 99,116, 0, 66,111,110,101, 0, 98, 65,114,109, 97, -116,117,114,101, 0, 98, 77,111,116,105,111,110, 80, 97,116,104, 86,101,114,116, 0, 98, 80,111,115,101, 67,104, 97,110,110,101, -108, 0, 98, 73, 75, 80, 97,114, 97,109, 0, 98, 73,116, 97,115, 99, 0, 98, 65, 99,116,105,111,110, 71,114,111,117,112, 0, 83, -112, 97, 99,101, 65, 99,116,105,111,110, 0, 98, 65, 99,116,105,111,110, 67,104, 97,110,110,101,108, 0, 98, 67,111,110,115,116, -114, 97,105,110,116, 67,104, 97,110,110,101,108, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,111,110,115,116,114, - 97,105,110,116, 84, 97,114,103,101,116, 0, 98, 80,121,116,104,111,110, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 75,105, -110,101,109, 97,116,105, 99, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,112,108,105,110,101, 73, 75, 67,111,110,115,116, -114, 97,105,110,116, 0, 98, 84,114, 97, 99,107, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82,111,116, 97,116,101, - 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 97,116,101, 76,105,107,101, 67,111,110,115,116,114, - 97,105,110,116, 0, 98, 83,105,122,101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83, 97,109,101, 86,111, -108,117,109,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97,110,115, 76,105,107,101, 67,111,110,115,116,114, 97, -105,110,116, 0, 98, 77,105,110, 77, 97,120, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,116,105,111,110, 67,111,110, -115,116,114, 97,105,110,116, 0, 98, 76,111, 99,107, 84,114, 97, 99,107, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 68, 97, -109,112, 84,114, 97, 99,107, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 70,111,108,108,111,119, 80, 97,116,104, 67,111,110, -115,116,114, 97,105,110,116, 0, 98, 83,116,114,101,116, 99,104, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82,105, -103,105,100, 66,111,100,121, 74,111,105,110,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,108, 97,109,112, 84,111, 67, -111,110,115,116,114, 97,105,110,116, 0, 98, 67,104,105,108,100, 79,102, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, - 97,110,115,102,111,114,109, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 80,105,118,111,116, 67,111,110,115,116,114, 97,105, -110,116, 0, 98, 76,111, 99, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82,111,116, 76,105,109,105,116, - 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, - 98, 68,105,115,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,104,114,105,110,107,119,114, 97,112, - 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,116,105,111,110, 77,111,100,105,102,105,101,114, 0, 98, 65, 99,116,105, -111,110, 83,116,114,105,112, 0, 98, 78,111,100,101, 83,116, 97, 99,107, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 0, 98, - 78,111,100,101, 76,105,110,107, 0, 98, 78,111,100,101, 80,114,101,118,105,101,119, 0, 98, 78,111,100,101, 0,117,105, 66,108, -111, 99,107, 0, 98, 78,111,100,101, 84,121,112,101, 0, 78,111,100,101, 73,109, 97,103,101, 65,110,105,109, 0, 78,111,100,101, - 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 68, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 66,105,108, 97,116, -101,114, 97,108, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 72,117,101, 83, 97,116, 0, 78,111,100,101, 73,109, 97,103, -101, 70,105,108,101, 0, 78,111,100,101, 67,104,114,111,109, 97, 0, 78,111,100,101, 84,119,111, 88, 89,115, 0, 78,111,100,101, - 84,119,111, 70,108,111, 97,116,115, 0, 78,111,100,101, 71,101,111,109,101,116,114,121, 0, 78,111,100,101, 86,101,114,116,101, -120, 67,111,108, 0, 78,111,100,101, 68,101,102,111, 99,117,115, 0, 78,111,100,101, 83, 99,114,105,112,116, 68,105, 99,116, 0, - 78,111,100,101, 71,108, 97,114,101, 0, 78,111,100,101, 84,111,110,101,109, 97,112, 0, 78,111,100,101, 76,101,110,115, 68,105, -115,116, 0, 78,111,100,101, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 78,111,100,101, 67,111,108,111,114,115,112,105, -108,108, 0, 84,101,120, 78,111,100,101, 79,117,116,112,117,116, 0, 67,117,114,118,101, 77, 97,112, 80,111,105,110,116, 0, 67, -117,114,118,101, 77, 97,112, 0, 66,114,117,115,104, 67,108,111,110,101, 0, 67,117,115,116,111,109, 68, 97,116, 97, 76, 97,121, -101,114, 0, 67,117,115,116,111,109, 68, 97,116, 97, 69,120,116,101,114,110, 97,108, 0, 72, 97,105,114, 75,101,121, 0, 80, 97, -114,116,105, 99,108,101, 75,101,121, 0, 66,111,105,100, 80, 97,114,116,105, 99,108,101, 0, 66,111,105,100, 68, 97,116, 97, 0, - 80, 97,114,116,105, 99,108,101, 83,112,114,105,110,103, 0, 67,104,105,108,100, 80, 97,114,116,105, 99,108,101, 0, 80, 97,114, -116,105, 99,108,101, 84, 97,114,103,101,116, 0, 80, 97,114,116,105, 99,108,101, 68,117,112,108,105, 87,101,105,103,104,116, 0, - 80, 97,114,116,105, 99,108,101, 68, 97,116, 97, 0, 83, 80, 72, 70,108,117,105,100, 83,101,116,116,105,110,103,115, 0, 80, 97, -114,116,105, 99,108,101, 83,101,116,116,105,110,103,115, 0, 66,111,105,100, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116, -105, 99,108,101, 67, 97, 99,104,101, 75,101,121, 0, 75, 68, 84,114,101,101, 0, 80, 97,114,116,105, 99,108,101, 68,114, 97,119, - 68, 97,116, 97, 0, 76,105,110,107, 78,111,100,101, 0, 98, 71, 80, 68,115,112,111,105,110,116, 0, 98, 71, 80, 68,115,116,114, -111,107,101, 0, 98, 71, 80, 68,102,114, 97,109,101, 0, 98, 71, 80, 68,108, 97,121,101,114, 0, 82,101,112,111,114,116, 76,105, -115,116, 0,119,109, 87,105,110,100,111,119, 77, 97,110, 97,103,101,114, 0,119,109, 87,105,110,100,111,119, 0,119,109, 75,101, -121, 67,111,110,102,105,103, 0,119,109, 69,118,101,110,116, 0,119,109, 83,117, 98, 87,105,110,100,111,119, 0,119,109, 71,101, -115,116,117,114,101, 0,119,109, 75,101,121, 77, 97,112, 73,116,101,109, 0, 80,111,105,110,116,101,114, 82, 78, 65, 0,119,109, - 75,101,121, 77, 97,112, 0,119,109, 79,112,101,114, 97,116,111,114, 84,121,112,101, 0, 70, 77,111,100,105,102,105,101,114, 0, - 70, 77,111,100, 95, 71,101,110,101,114, 97,116,111,114, 0, 70, 77,111,100, 95, 70,117,110, 99,116,105,111,110, 71,101,110,101, -114, 97,116,111,114, 0, 70, 67, 77, 95, 69,110,118,101,108,111,112,101, 68, 97,116, 97, 0, 70, 77,111,100, 95, 69,110,118,101, -108,111,112,101, 0, 70, 77,111,100, 95, 67,121, 99,108,101,115, 0, 70, 77,111,100, 95, 80,121,116,104,111,110, 0, 70, 77,111, -100, 95, 76,105,109,105,116,115, 0, 70, 77,111,100, 95, 78,111,105,115,101, 0, 70, 77,111,100, 95, 83,116,101,112,112,101,100, - 0, 68,114,105,118,101,114, 84, 97,114,103,101,116, 0, 68,114,105,118,101,114, 86, 97,114, 0, 67,104, 97,110,110,101,108, 68, -114,105,118,101,114, 0, 70, 80,111,105,110,116, 0, 70, 67,117,114,118,101, 0, 65,110,105,109, 77, 97,112, 80, 97,105,114, 0, - 65,110,105,109, 77, 97,112,112,101,114, 0, 78,108, 97, 83,116,114,105,112, 0, 78,108, 97, 84,114, 97, 99,107, 0, 75, 83, 95, - 80, 97,116,104, 0, 75,101,121,105,110,103, 83,101,116, 0, 65,110,105,109, 79,118,101,114,114,105,100,101, 0, 73,100, 65,100, -116, 84,101,109,112,108, 97,116,101, 0, 66,111,105,100, 82,117,108,101, 0, 66,111,105,100, 82,117,108,101, 71,111, 97,108, 65, -118,111,105,100, 0, 66,111,105,100, 82,117,108,101, 65,118,111,105,100, 67,111,108,108,105,115,105,111,110, 0, 66,111,105,100, - 82,117,108,101, 70,111,108,108,111,119, 76,101, 97,100,101,114, 0, 66,111,105,100, 82,117,108,101, 65,118,101,114, 97,103,101, - 83,112,101,101,100, 0, 66,111,105,100, 82,117,108,101, 70,105,103,104,116, 0, 66,111,105,100, 83,116, 97,116,101, 0, 70, 76, - 85, 73, 68, 95, 51, 68, 0, 87, 84, 85, 82, 66, 85, 76, 69, 78, 67, 69, 0, 0, 84, 76, 69, 78, 0, 1, 0, 1, 0, 2, 0, 2, - 0, 4, 0, 4, 0, 4, 0, 4, 0, 8, 0, 0, 0, 8, 0, 12, 0, 8, 0, 4, 0, 8, 0, 16, 0, 16, 0, 20, 0, 76, 0, 52, - 2, 40, 0, 0, 0, 32, 0,140, 4, 28, 0, 92, 0, 36, 0, 56, 0, 84, 0,112, 0,124, 0, 56, 0, 24, 0, 40, 0,120, 0, 12, - 0,104, 0, 36, 5,128, 1,156, 0, 0, 0, 0, 0, 0, 1, 16, 1, 48, 1, 84, 0, 24, 3, 8, 0,168, 0, 0, 0, 72, 1, 32, - 0,164, 0,132, 1,108, 1, 16, 0, 88, 2,160, 0, 76, 1, 60, 0, 0, 0,108, 0,104, 0,148, 0, 56, 0, 8, 0, 16, 0, 20, - 0, 0, 1, 92, 0, 0, 0, 0, 0, 0, 1, 24, 0, 20, 0, 44, 0, 60, 0, 20, 0, 12, 0, 12, 0, 4, 0, 8, 0, 8, 0, 0, - 0, 28, 0, 84, 0, 32, 0, 8, 0, 12, 0, 8, 0, 8, 0, 4, 0, 4, 1, 0, 0, 32, 0, 12, 0, 16, 0, 64, 0, 24, 0, 12, - 0, 40, 0, 64, 0, 80, 0,100, 0,108, 0, 80, 0,108, 0,128, 0, 76, 0, 72, 0,120, 0, 72, 0, 84, 0,204, 0, 48, 0,168, - 0,160, 0,172, 0, 72, 0,104, 0,116, 0,196, 0,112, 0,224, 0, 64, 0, 92, 0, 0, 0,144, 0, 32, 1,244, 0,112, 0, 0, - 0, 88, 0, 0, 0, 0, 0, 76, 0, 8, 0, 8, 0,244, 0, 88, 1,148, 0, 84, 0,108, 0, 72, 0, 72, 1,176, 0,120, 0,116, - 0, 64, 0,128, 0, 92, 0, 12, 0,224, 0, 40, 0, 0, 0, 92, 0,156, 0, 72, 0, 48, 0, 20, 0,120, 0,144, 1, 88, 0,208, - 0,180, 0, 0, 0, 68, 0, 20, 0, 96, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 1,112, 0, 28, 0,176, 0,144, 0, 64, 0, 60, - 0, 24, 0, 72, 3,232, 0, 56, 0, 20, 0, 16, 0,100, 0, 84, 0, 16, 2,204, 0, 36, 0, 16, 0,156, 0, 80, 0, 88, 0, 36, - 1,152, 0, 32, 0, 8, 0, 24, 2, 56, 0, 0, 0, 0, 0, 72, 3, 68, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 40, 0,140, - 0, 48, 0,208, 0, 88, 0,216, 0,216, 2, 96, 0, 60, 0, 0, 0,120, 0, 0, 0,244, 0, 12, 0, 12, 32,248, 16,112, 16, 24, - 0,192, 2,136, 2, 80, 0, 40, 0, 12, 0,188, 0,252, 0, 52, 2,140, 0, 28, 1,104, 0, 88, 0,188, 0, 96, 1, 92, 1, 16, - 0, 32, 0,224, 0, 32, 0, 32, 2,112, 1,120, 0, 16, 30, 80, 0, 72, 0, 56, 13, 72, 0,148, 0, 20, 0, 24, 1, 64, 0, 0, - 0, 0, 0, 0, 0,248, 0, 0, 1, 24, 0, 88, 0, 16, 0, 8, 0, 44, 0,252, 0,212, 1,168, 0,216, 0, 16, 0, 12, 0, 24, - 0, 52, 0, 16, 0, 20, 0, 16, 0, 24, 1, 56, 0, 0, 0, 56, 0, 52, 0, 48, 0, 8, 0, 44, 0, 72, 0,104, 0, 40, 0, 8, - 0, 72, 0, 44, 0, 40, 0,108, 0, 72, 0, 68, 0, 76, 0, 80, 0, 60, 0,128, 0, 76, 0, 60, 0, 12, 0, 92, 0, 32, 0, 68, - 0, 80, 0, 16, 0, 76, 0,108, 0, 84, 0, 28, 0, 96, 0, 56, 0, 56, 0,108, 0,140, 0, 4, 0, 20, 0, 12, 0, 8, 0, 80, - 0, 24, 1, 16, 0,144, 0, 16, 1,192, 0, 4, 0, 40, 0,104, 1, 24, 0, 64, 0, 44, 0, 72, 0,116, 0, 60, 0,112, 0, 16, - 0, 52, 0, 44, 0, 44, 0, 44, 0, 8, 0, 36, 0, 68, 0, 64, 0, 44, 0, 44, 0, 20, 0, 52, 0, 96, 0, 12, 0,108, 0, 92, - 0, 52, 0, 28, 0, 28, 0, 28, 0, 52, 0, 20, 0, 60, 0,140, 0, 36, 0,124, 0, 32, 0, 12, 0,212, 0, 0, 0, 0, 0, 16, - 0, 40, 0, 28, 0, 12, 0, 12, 1, 16, 0, 44, 0, 24, 0, 8, 0, 64, 0, 32, 0, 24, 0, 8, 0, 24, 0, 32, 0, 8, 0, 96, - 0, 20, 0, 32, 0, 12, 0, 44, 0, 20, 0, 68, 0,240, 0, 24, 0, 56, 0, 52, 0, 20, 0, 16, 0, 64, 0, 28, 0, 20, 0,180, - 0, 60, 2, 48, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 20, 0, 24, 0,172, 0, 28, 0,168, 0,148, 0,152, 0, 0, - 0, 0, 0, 0, 0,104, 0, 0, 0, 96, 0, 0, 0, 88, 0, 20, 0, 24, 0, 16, 0, 20, 0, 8, 0, 8, 0, 24, 0, 20, 0, 20, - 0, 48, 1,208, 1, 28, 0, 16, 0, 68, 1, 0, 0, 20, 0,160, 0, 88, 0, 96, 0,152, 0, 20, 0, 56, 0, 48, 0, 68, 0, 56, - 0, 92, 0, 64, 0, 56, 0, 96, 0, 0, 0, 0, 83, 84, 82, 67, 0, 0, 1,145, 0, 10, 0, 2, 0, 10, 0, 0, 0, 10, 0, 1, - 0, 11, 0, 3, 0, 11, 0, 0, 0, 11, 0, 1, 0, 9, 0, 2, 0, 12, 0, 2, 0, 9, 0, 3, 0, 9, 0, 4, 0, 13, 0, 2, - 0, 2, 0, 5, 0, 2, 0, 6, 0, 14, 0, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0, 15, 0, 4, 0, 4, 0, 7, 0, 4, 0, 8, - 0, 4, 0, 9, 0, 4, 0, 10, 0, 16, 0, 4, 0, 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 17, 0, 4, - 0, 9, 0, 11, 0, 12, 0, 12, 0, 4, 0, 13, 0, 4, 0, 14, 0, 18, 0, 10, 0, 18, 0, 0, 0, 18, 0, 1, 0, 0, 0, 15, - 0, 0, 0, 16, 0, 2, 0, 17, 0, 0, 0, 18, 0, 4, 0, 19, 0, 17, 0, 20, 0, 4, 0, 21, 0, 4, 0, 22, 0, 19, 0, 9, - 0, 9, 0, 0, 0, 9, 0, 1, 0, 19, 0, 23, 0, 20, 0, 24, 0, 0, 0, 25, 0, 2, 0, 26, 0, 2, 0, 17, 0, 4, 0, 27, - 0, 18, 0, 28, 0, 20, 0, 8, 0, 19, 0, 29, 0, 19, 0, 30, 0, 21, 0, 31, 0, 0, 0, 32, 0, 0, 0, 33, 0, 4, 0, 34, - 0, 4, 0, 35, 0, 20, 0, 36, 0, 22, 0, 5, 0, 4, 0, 37, 0, 4, 0, 38, 0, 2, 0, 39, 0, 2, 0, 40, 0, 4, 0, 41, - 0, 23, 0, 6, 0, 24, 0, 42, 0, 2, 0, 43, 0, 2, 0, 44, 0, 2, 0, 15, 0, 2, 0, 17, 0, 0, 0, 45, 0, 25, 0, 21, - 0, 25, 0, 0, 0, 25, 0, 1, 0, 26, 0, 46, 0, 27, 0, 47, 0, 16, 0, 48, 0, 16, 0, 49, 0, 2, 0, 43, 0, 2, 0, 44, - 0, 2, 0, 50, 0, 2, 0, 51, 0, 2, 0, 52, 0, 2, 0, 53, 0, 2, 0, 17, 0, 2, 0, 54, 0, 7, 0, 9, 0, 7, 0, 10, - 0, 4, 0, 55, 0, 7, 0, 56, 0, 7, 0, 57, 0, 7, 0, 58, 0, 23, 0, 59, 0, 28, 0, 7, 0, 19, 0, 29, 0, 12, 0, 60, - 0, 16, 0, 61, 0, 2, 0, 43, 0, 2, 0, 62, 0, 2, 0, 63, 0, 2, 0, 35, 0, 29, 0, 16, 0, 29, 0, 0, 0, 29, 0, 1, - 0, 7, 0, 64, 0, 7, 0, 58, 0, 2, 0, 15, 0, 2, 0, 44, 0, 2, 0, 65, 0, 2, 0, 17, 0, 4, 0, 66, 0, 4, 0, 67, - 0, 9, 0, 2, 0, 7, 0, 68, 0, 0, 0, 18, 0, 0, 0, 69, 0, 7, 0, 70, 0, 7, 0, 71, 0, 30, 0, 13, 0, 19, 0, 29, - 0, 31, 0, 72, 0, 29, 0, 73, 0, 0, 0, 74, 0, 4, 0, 75, 0, 7, 0, 58, 0, 12, 0, 76, 0, 28, 0, 77, 0, 19, 0, 78, - 0, 2, 0, 15, 0, 2, 0, 79, 0, 2, 0, 80, 0, 2, 0, 17, 0, 32, 0, 6, 0, 32, 0, 0, 0, 32, 0, 1, 0, 0, 0, 81, - 0, 0, 0, 82, 0, 4, 0, 21, 0, 4, 0, 83, 0, 33, 0, 10, 0, 33, 0, 0, 0, 33, 0, 1, 0, 4, 0, 84, 0, 4, 0, 85, - 0, 4, 0, 86, 0, 4, 0, 87, 0, 4, 0, 12, 0, 4, 0, 88, 0, 0, 0, 89, 0, 0, 0, 90, 0, 34, 0, 15, 0, 19, 0, 29, - 0, 0, 0, 91, 0, 4, 0, 88, 0, 4, 0, 92, 0, 12, 0, 93, 0, 32, 0, 94, 0, 32, 0, 95, 0, 4, 0, 96, 0, 4, 0, 97, - 0, 12, 0, 98, 0, 0, 0, 99, 0, 4, 0,100, 0, 4, 0,101, 0, 9, 0,102, 0, 8, 0,103, 0, 35, 0, 3, 0, 4, 0,104, - 0, 4, 0,105, 0, 9, 0, 2, 0, 36, 0, 15, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0, 15, 0, 2, 0, 17, 0, 7, 0,106, - 0, 7, 0,107, 0, 7, 0,108, 0, 7, 0,109, 0, 7, 0,110, 0, 7, 0,111, 0, 7, 0,112, 0, 7, 0,113, 0, 7, 0,114, - 0, 28, 0, 77, 0, 24, 0,115, 0, 37, 0, 14, 0, 38, 0,116, 0, 4, 0,117, 0, 4, 0,118, 0, 4, 0,119, 0, 4, 0,120, - 0, 0, 0,121, 0, 0, 0,122, 0, 0, 0,123, 0, 0, 0, 35, 0, 2, 0,124, 0, 2, 0,125, 0, 2, 0,126, 0, 2, 0, 17, - 0, 4, 0, 67, 0, 39, 0, 32, 0, 19, 0, 29, 0, 0, 0, 32, 0, 12, 0,127, 0, 40, 0,128, 0, 41, 0,129, 0, 42, 0,130, - 0, 42, 0,131, 0, 2, 0,132, 0, 2, 0,133, 0, 2, 0,123, 0, 2, 0, 17, 0, 2, 0,134, 0, 2, 0, 15, 0, 4, 0,135, - 0, 2, 0,136, 0, 2, 0,137, 0, 2, 0,138, 0, 2, 0,139, 0, 2, 0,140, 0, 2, 0,141, 0, 4, 0,142, 0, 4, 0,143, - 0, 35, 0,144, 0, 22, 0,145, 0, 7, 0,146, 0, 4, 0,147, 0, 2, 0,148, 0, 2, 0,149, 0, 2, 0,150, 0, 2, 0,151, - 0, 7, 0,152, 0, 7, 0,153, 0, 43, 0, 65, 0, 2, 0,154, 0, 2, 0,155, 0, 2, 0,156, 0, 2, 0,157, 0, 24, 0,158, - 0, 44, 0,159, 0, 0, 0,160, 0, 0, 0,161, 0, 0, 0,162, 0, 0, 0,163, 0, 0, 0,164, 0, 7, 0,165, 0, 7, 0,166, - 0, 7, 0,167, 0, 2, 0,168, 0, 2, 0,169, 0, 2, 0,170, 0, 2, 0,171, 0, 2, 0,172, 0, 2, 0,173, 0, 0, 0,174, - 0, 0, 0,175, 0, 7, 0,176, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 0,180, 0, 7, 0, 54, 0, 7, 0,181, - 0, 7, 0,182, 0, 7, 0,183, 0, 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0, 7, 0,188, 0, 7, 0,189, - 0, 7, 0,190, 0, 7, 0,191, 0, 7, 0,192, 0, 7, 0,193, 0, 7, 0,194, 0, 7, 0,195, 0, 7, 0,196, 0, 7, 0,197, - 0, 7, 0,198, 0, 7, 0,199, 0, 7, 0,200, 0, 7, 0,201, 0, 7, 0,202, 0, 7, 0,203, 0, 7, 0,204, 0, 7, 0,205, - 0, 7, 0,206, 0, 7, 0,207, 0, 7, 0,208, 0, 7, 0,209, 0, 7, 0,210, 0, 7, 0,211, 0, 7, 0,212, 0, 7, 0,213, - 0, 7, 0,214, 0, 7, 0,215, 0, 7, 0,216, 0, 7, 0,217, 0, 45, 0, 15, 0, 0, 0,218, 0, 9, 0,219, 0, 0, 0,220, - 0, 0, 0,221, 0, 4, 0,222, 0, 4, 0,223, 0, 9, 0,224, 0, 7, 0,225, 0, 7, 0,226, 0, 7, 0,227, 0, 4, 0,228, - 0, 9, 0,229, 0, 9, 0,230, 0, 4, 0,231, 0, 4, 0, 35, 0, 46, 0, 6, 0, 7, 0,176, 0, 7, 0,177, 0, 7, 0,178, - 0, 7, 0,232, 0, 7, 0, 64, 0, 4, 0, 61, 0, 47, 0, 5, 0, 2, 0, 17, 0, 2, 0, 34, 0, 2, 0, 61, 0, 2, 0,233, - 0, 46, 0,227, 0, 48, 0, 17, 0, 24, 0,158, 0, 39, 0,234, 0, 49, 0,235, 0, 7, 0,236, 0, 7, 0,237, 0, 2, 0, 15, - 0, 2, 0,238, 0, 7, 0,107, 0, 7, 0,108, 0, 7, 0,239, 0, 4, 0,240, 0, 2, 0,241, 0, 2, 0,242, 0, 4, 0,123, - 0, 4, 0,135, 0, 2, 0,243, 0, 2, 0,244, 0, 50, 0, 22, 0, 2, 0, 17, 0, 2, 0,245, 0, 7, 0,246, 0, 7, 0,247, - 0, 2, 0,134, 0, 2, 0,248, 0, 4, 0,249, 0, 4, 0,250, 0, 24, 0,158, 0, 4, 0,251, 0, 2, 0,252, 0, 2, 0,253, - 0, 9, 0,254, 0, 7, 0,255, 0, 7, 1, 0, 0, 2, 1, 1, 0, 2, 1, 2, 0, 2, 1, 3, 0, 2, 1, 4, 0, 7, 1, 5, - 0, 7, 1, 6, 0, 47, 1, 7, 0, 51, 0, 13, 0, 4, 1, 8, 0, 4, 1, 9, 0, 2, 1, 10, 0, 2, 0, 17, 0, 2, 1, 11, - 0, 2, 1, 12, 0, 24, 0,158, 0, 7, 1, 13, 0, 4, 1, 14, 0, 0, 1, 15, 0, 7, 1, 16, 0, 4, 1, 17, 0, 4, 0,123, - 0, 44, 0, 63, 0, 19, 0, 29, 0, 31, 0, 72, 0, 7, 1, 18, 0, 7, 1, 19, 0, 7, 1, 20, 0, 7, 1, 21, 0, 7, 1, 22, - 0, 7, 1, 23, 0, 7, 1, 24, 0, 7, 1, 25, 0, 7, 1, 26, 0, 7, 0, 67, 0, 7, 1, 27, 0, 7, 1, 28, 0, 7, 1, 29, - 0, 7, 1, 30, 0, 7, 1, 31, 0, 7, 1, 32, 0, 7, 1, 33, 0, 7, 1, 34, 0, 7, 1, 35, 0, 7, 1, 36, 0, 7, 1, 37, - 0, 7, 1, 38, 0, 2, 1, 39, 0, 2, 1, 40, 0, 2, 1, 41, 0, 2, 1, 42, 0, 2, 1, 43, 0, 2, 1, 44, 0, 2, 1, 45, - 0, 2, 0, 17, 0, 2, 0, 15, 0, 2, 0,238, 0, 7, 1, 46, 0, 7, 1, 47, 0, 7, 1, 48, 0, 7, 1, 49, 0, 4, 1, 50, - 0, 4, 1, 51, 0, 2, 1, 52, 0, 2, 1, 53, 0, 2, 1, 11, 0, 2, 0,121, 0, 4, 0, 21, 0, 4, 0,118, 0, 4, 0,119, - 0, 4, 0,120, 0, 7, 1, 54, 0, 7, 1, 55, 0, 7, 0, 87, 0, 37, 1, 56, 0, 52, 1, 57, 0, 28, 0, 77, 0, 39, 0,234, - 0, 45, 1, 58, 0, 47, 1, 7, 0, 48, 1, 59, 0, 22, 0,145, 0, 50, 1, 60, 0, 51, 1, 61, 0, 0, 1, 62, 0, 0, 0,175, - 0, 53, 0, 8, 0, 7, 1, 63, 0, 7, 1, 64, 0, 7, 0,166, 0, 4, 0, 17, 0, 7, 1, 65, 0, 7, 1, 66, 0, 7, 1, 67, - 0, 24, 0, 42, 0, 54, 0, 72, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0, 15, 0, 2, 0, 17, 0, 4, 1, 68, 0, 2, 0,169, - 0, 2, 1, 69, 0, 7, 0,176, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 1, 70, 0, 7, 1, 71, 0, 7, 1, 72, - 0, 7, 1, 73, 0, 7, 1, 74, 0, 7, 1, 75, 0, 7, 1, 76, 0, 7, 1, 77, 0, 7, 1, 78, 0, 7, 1, 79, 0, 7, 1, 80, - 0, 55, 1, 81, 0, 2, 0,245, 0, 2, 0, 67, 0, 7, 0,107, 0, 7, 0,108, 0, 7, 1, 82, 0, 7, 1, 83, 0, 7, 1, 84, - 0, 7, 1, 85, 0, 7, 1, 86, 0, 2, 1, 87, 0, 2, 1, 88, 0, 2, 1, 89, 0, 2, 1, 90, 0, 0, 1, 91, 0, 0, 1, 92, - 0, 2, 1, 93, 0, 2, 1, 94, 0, 2, 1, 95, 0, 2, 1, 96, 0, 2, 1, 97, 0, 7, 1, 98, 0, 7, 1, 99, 0, 7, 1,100, - 0, 7, 1,101, 0, 2, 1,102, 0, 2, 0, 87, 0, 2, 1,103, 0, 2, 1,104, 0, 2, 1,105, 0, 2, 1,106, 0, 7, 1,107, - 0, 7, 1,108, 0, 7, 1,109, 0, 7, 1,110, 0, 7, 1,111, 0, 7, 1,112, 0, 7, 1,113, 0, 7, 1,114, 0, 7, 1,115, - 0, 7, 1,116, 0, 7, 1,117, 0, 7, 1,118, 0, 2, 1,119, 0, 0, 1,120, 0, 28, 0, 77, 0, 43, 1,121, 0, 2, 1,122, - 0, 0, 1,123, 0, 22, 0,145, 0, 56, 0, 18, 0, 7, 1,124, 0, 7, 1,125, 0, 7, 1,126, 0, 7, 1,127, 0, 7, 1,128, - 0, 7, 1,129, 0, 7, 1,130, 0, 7, 1,131, 0, 7, 1,132, 0, 7, 1,133, 0, 2, 1,134, 0, 2, 1,135, 0, 2, 1,136, - 0, 2, 1,137, 0, 7, 1,138, 0, 7, 1,139, 0, 7, 1,140, 0, 7, 1,141, 0, 57, 0,125, 0, 19, 0, 29, 0, 31, 0, 72, - 0, 2, 1,142, 0, 2, 0, 17, 0, 7, 0,176, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 1,143, 0, 7, 1,144, 0, 7, 1,145, - 0, 7, 1,146, 0, 7, 1,147, 0, 7, 1,148, 0, 7, 1,149, 0, 7, 1,150, 0, 7, 1,151, 0, 7, 1,152, 0, 7, 1,153, - 0, 7, 1,154, 0, 7, 1,155, 0, 7, 1,156, 0, 7, 1,157, 0, 7, 1,158, 0, 7, 1,159, 0, 7, 1,160, 0, 7, 1,161, - 0, 7, 1,162, 0, 56, 1,163, 0, 7, 1,164, 0, 7, 1,165, 0, 7, 1,166, 0, 7, 1,167, 0, 7, 1,168, 0, 7, 1,169, - 0, 7, 1,170, 0, 2, 1,171, 0, 2, 1,172, 0, 2, 1,173, 0, 0, 1,174, 0, 0, 1,175, 0, 7, 1,176, 0, 7, 1,177, - 0, 2, 1,178, 0, 2, 1,179, 0, 7, 1,180, 0, 7, 1,181, 0, 7, 1,182, 0, 7, 1,183, 0, 2, 1,184, 0, 2, 1,185, - 0, 4, 1, 68, 0, 4, 1,186, 0, 2, 1,187, 0, 2, 1,188, 0, 2, 1,189, 0, 2, 1,190, 0, 7, 1,191, 0, 7, 1,192, - 0, 7, 1,193, 0, 7, 1,194, 0, 7, 1,195, 0, 7, 1,196, 0, 7, 1,197, 0, 7, 1,198, 0, 7, 1,199, 0, 7, 1,200, - 0, 0, 1,201, 0, 7, 1,202, 0, 7, 1,203, 0, 7, 1,204, 0, 4, 1,205, 0, 0, 1,206, 0, 0, 1,103, 0, 0, 1,207, - 0, 0, 1, 62, 0, 2, 1,208, 0, 2, 1,209, 0, 2, 1,122, 0, 2, 1,210, 0, 2, 1,211, 0, 2, 1,212, 0, 7, 1,213, - 0, 7, 1,214, 0, 7, 1,215, 0, 7, 1,216, 0, 7, 1,217, 0, 2, 0,154, 0, 2, 0,155, 0, 47, 1,218, 0, 47, 1,219, - 0, 0, 1,220, 0, 0, 1,221, 0, 0, 1,222, 0, 0, 1,223, 0, 2, 1,224, 0, 2, 1,225, 0, 7, 1,226, 0, 7, 1,227, - 0, 43, 1,121, 0, 52, 1, 57, 0, 28, 0, 77, 0, 58, 1,228, 0, 22, 0,145, 0, 7, 1,229, 0, 7, 1,230, 0, 7, 1,231, - 0, 7, 1,232, 0, 7, 1,233, 0, 2, 1,234, 0, 2, 0, 67, 0, 7, 1,235, 0, 7, 1,236, 0, 7, 1,237, 0, 7, 1,238, - 0, 7, 1,239, 0, 7, 1,240, 0, 7, 1,241, 0, 7, 1,242, 0, 7, 1,243, 0, 2, 1,244, 0, 2, 1,245, 0, 4, 1,246, - 0, 2, 1,247, 0, 2, 0, 35, 0, 12, 1,248, 0, 59, 0, 4, 0, 19, 0, 29, 0, 0, 1,249, 0, 60, 0, 2, 0, 35, 0,144, - 0, 61, 0, 26, 0, 61, 0, 0, 0, 61, 0, 1, 0, 62, 1,250, 0, 4, 1,251, 0, 4, 1,252, 0, 4, 1,253, 0, 4, 1,254, - 0, 4, 1,255, 0, 4, 2, 0, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 2, 1, 0, 2, 2, 2, 0, 7, 0, 5, 0, 7, 0, 6, - 0, 7, 2, 3, 0, 7, 2, 4, 0, 7, 2, 5, 0, 7, 2, 6, 0, 7, 2, 7, 0, 7, 2, 8, 0, 7, 2, 9, 0, 7, 2, 10, - 0, 7, 0, 21, 0, 7, 2, 11, 0, 7, 2, 12, 0, 63, 0, 20, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 1,250, 0, 12, 2, 13, - 0, 12, 2, 14, 0, 12, 2, 15, 0, 28, 0, 77, 0, 57, 2, 16, 0, 0, 0, 17, 0, 0, 2, 17, 0, 2, 2, 18, 0, 2, 0,168, - 0, 2, 0, 35, 0, 7, 1, 63, 0, 7, 0,166, 0, 7, 1, 64, 0, 7, 2, 19, 0, 7, 2, 20, 0, 7, 2, 21, 0, 61, 2, 22, - 0, 27, 0, 11, 0, 7, 2, 23, 0, 7, 2, 24, 0, 7, 2, 25, 0, 7, 0,247, 0, 2, 0, 52, 0, 0, 2, 26, 0, 0, 2, 27, - 0, 0, 2, 28, 0, 0, 2, 29, 0, 0, 2, 30, 0, 0, 2, 31, 0, 26, 0, 7, 0, 7, 2, 32, 0, 7, 2, 24, 0, 7, 2, 25, - 0, 2, 2, 28, 0, 2, 2, 31, 0, 7, 0,247, 0, 7, 0, 35, 0, 64, 0, 21, 0, 64, 0, 0, 0, 64, 0, 1, 0, 2, 0, 15, - 0, 2, 2, 33, 0, 2, 2, 31, 0, 2, 0, 17, 0, 2, 2, 34, 0, 2, 2, 35, 0, 2, 2, 36, 0, 2, 2, 37, 0, 2, 2, 38, - 0, 2, 2, 39, 0, 2, 2, 40, 0, 2, 2, 41, 0, 7, 2, 42, 0, 7, 2, 43, 0, 26, 0, 46, 0, 27, 0, 47, 0, 2, 2, 44, - 0, 2, 2, 45, 0, 4, 2, 46, 0, 65, 0, 5, 0, 2, 2, 47, 0, 2, 2, 33, 0, 0, 0, 17, 0, 0, 0, 35, 0, 2, 0, 67, - 0, 66, 0, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 2, 48, 0, 7, 2, 49, 0, 67, 0, 4, 0, 12, 2, 50, 0, 68, 2, 51, - 0, 4, 2, 52, 0, 0, 0, 90, 0, 69, 0, 68, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 1,250, 0, 12, 2, 53, 0, 12, 2, 14, - 0, 67, 2, 54, 0, 24, 2, 55, 0, 24, 2, 56, 0, 24, 2, 57, 0, 28, 0, 77, 0, 70, 2, 58, 0, 30, 2, 59, 0, 57, 2, 16, - 0, 12, 2, 60, 0, 7, 1, 63, 0, 7, 0,166, 0, 7, 1, 64, 0, 2, 0,168, 0, 2, 0, 87, 0, 2, 2, 61, 0, 2, 2, 62, - 0, 7, 2, 63, 0, 7, 2, 64, 0, 4, 2, 65, 0, 2, 0, 35, 0, 2, 2, 18, 0, 2, 0, 17, 0, 2, 2, 66, 0, 7, 2, 67, - 0, 7, 2, 68, 0, 7, 2, 69, 0, 2, 2, 36, 0, 2, 2, 37, 0, 2, 2, 70, 0, 2, 2, 71, 0, 4, 2, 72, 0, 9, 2, 73, - 0, 2, 0, 21, 0, 2, 0, 93, 0, 2, 0, 64, 0, 2, 2, 74, 0, 7, 2, 75, 0, 7, 2, 76, 0, 7, 2, 77, 0, 7, 2, 78, - 0, 7, 2, 79, 0, 7, 2, 80, 0, 7, 2, 81, 0, 7, 2, 82, 0, 7, 2, 83, 0, 7, 2, 84, 0, 0, 2, 85, 0, 71, 2, 86, - 0, 72, 2, 87, 0, 0, 2, 88, 0, 59, 2, 89, 0, 59, 2, 90, 0, 59, 2, 91, 0, 59, 2, 92, 0, 4, 2, 93, 0, 7, 2, 94, - 0, 4, 2, 95, 0, 4, 2, 96, 0, 66, 2, 97, 0, 4, 2, 98, 0, 4, 2, 99, 0, 65, 2,100, 0, 65, 2,101, 0, 73, 0, 39, - 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 1,250, 0, 28, 0, 77, 0, 30, 2, 59, 0, 57, 2, 16, 0, 74, 2,102, 0, 75, 2,103, - 0, 76, 2,104, 0, 77, 2,105, 0, 78, 2,106, 0, 79, 2,107, 0, 80, 2,108, 0, 81, 2,109, 0, 73, 2,110, 0, 82, 2,111, - 0, 83, 2,112, 0, 84, 2,113, 0, 84, 2,114, 0, 84, 2,115, 0, 4, 0, 51, 0, 4, 2,116, 0, 4, 2,117, 0, 4, 2,118, - 0, 4, 2,119, 0, 7, 1, 63, 0, 7, 0,166, 0, 7, 1, 64, 0, 2, 0,168, 0, 2, 2, 61, 0, 2, 2,120, 0, 2, 0, 17, - 0, 2, 2,121, 0, 2, 2,122, 0, 0, 2,123, 0, 0, 2,124, 0, 2, 2, 18, 0, 85, 2,125, 0, 86, 2,126, 0, 76, 0, 8, - 0, 9, 2,127, 0, 7, 2,128, 0, 4, 2,129, 0, 0, 0, 17, 0, 0, 2,130, 0, 2, 1, 68, 0, 2, 2,131, 0, 2, 2,132, - 0, 74, 0, 7, 0, 4, 2,133, 0, 4, 2,134, 0, 4, 2,135, 0, 4, 2,136, 0, 2, 2, 33, 0, 0, 2,137, 0, 0, 0, 17, - 0, 78, 0, 5, 0, 4, 2,133, 0, 4, 2,134, 0, 0, 2,138, 0, 0, 2,139, 0, 2, 0, 17, 0, 87, 0, 2, 0, 4, 2,140, - 0, 7, 2, 25, 0, 79, 0, 3, 0, 87, 2,141, 0, 4, 2,142, 0, 4, 0, 17, 0, 77, 0, 4, 0, 7, 2,143, 0, 2, 2,144, - 0, 0, 0, 17, 0, 0, 2,139, 0, 80, 0, 4, 0, 0, 0,232, 0, 0, 0,176, 0, 0, 0,177, 0, 0, 0,178, 0, 88, 0, 6, - 0, 39, 2,127, 0, 0, 0, 17, 0, 0, 2,130, 0, 2, 1, 68, 0, 2, 2,131, 0, 2, 2,132, 0, 89, 0, 1, 0, 7, 2,145, - 0, 90, 0, 5, 0, 0, 0,232, 0, 0, 0,176, 0, 0, 0,177, 0, 0, 0,178, 0, 4, 0, 35, 0, 81, 0, 1, 0, 7, 2,146, - 0, 82, 0, 2, 0, 4, 2,147, 0, 4, 0, 15, 0, 75, 0, 7, 0, 7, 2,128, 0, 39, 2,127, 0, 0, 0, 17, 0, 0, 2,130, - 0, 2, 1, 68, 0, 2, 2,131, 0, 2, 2,132, 0, 91, 0, 1, 0, 7, 2,148, 0, 92, 0, 1, 0, 4, 2,149, 0, 93, 0, 1, - 0, 0, 2,150, 0, 94, 0, 1, 0, 7, 2,128, 0, 95, 0, 3, 0, 4, 2,151, 0, 0, 0, 90, 0, 7, 2,152, 0, 96, 0, 4, - 0, 7, 0,232, 0, 7, 0,176, 0, 7, 0,177, 0, 7, 0,178, 0, 97, 0, 1, 0, 96, 2,129, 0, 98, 0, 5, 0, 4, 2,153, - 0, 4, 2,154, 0, 0, 0, 17, 0, 0, 2, 33, 0, 0, 2,155, 0, 99, 0, 2, 0, 4, 2,156, 0, 4, 2,154, 0,100, 0, 10, - 0,100, 0, 0, 0,100, 0, 1, 0, 98, 2,157, 0, 97, 2,158, 0, 99, 2,159, 0, 4, 0, 51, 0, 4, 2,117, 0, 4, 2,116, - 0, 4, 0, 35, 0, 77, 2,160, 0, 85, 0, 14, 0, 12, 2,161, 0, 77, 2,160, 0, 0, 2,162, 0, 0, 2,163, 0, 0, 2,164, - 0, 0, 2,165, 0, 0, 2,166, 0, 0, 2,167, 0, 0, 2,168, 0, 0, 0, 17, 0, 84, 2,113, 0, 84, 2,115, 0, 2, 2,169, - 0, 0, 2,170, 0, 86, 0, 8, 0, 4, 2,171, 0, 4, 2,172, 0, 74, 2,173, 0, 78, 2,174, 0, 4, 2,117, 0, 4, 2,116, - 0, 4, 0, 51, 0, 4, 0, 35, 0,101, 0, 9, 0,101, 0, 0, 0,101, 0, 1, 0, 4, 0, 15, 0, 4, 1, 68, 0, 4, 2,175, - 0, 4, 0, 35, 0, 0, 0, 18, 0, 38, 0,116, 0, 0, 2,176, 0,102, 0, 7, 0,101, 2,177, 0, 2, 2,178, 0, 2, 2,161, - 0, 2, 2,179, 0, 2, 0, 88, 0, 9, 2,180, 0, 9, 2,181, 0,103, 0, 3, 0,101, 2,177, 0, 24, 0,158, 0, 0, 0, 18, - 0,104, 0, 5, 0,101, 2,177, 0, 24, 0,158, 0, 0, 0, 18, 0, 2, 2,182, 0, 0, 2,183, 0,105, 0, 5, 0,101, 2,177, - 0, 7, 0, 85, 0, 7, 2,184, 0, 4, 2,185, 0, 4, 2,186, 0,106, 0, 5, 0,101, 2,177, 0, 24, 2,187, 0, 0, 0, 69, - 0, 4, 1, 68, 0, 4, 0, 17, 0,107, 0, 13, 0,101, 2,177, 0, 24, 2,188, 0, 24, 2,189, 0, 24, 2,190, 0, 24, 2,191, - 0, 7, 2,192, 0, 7, 2,193, 0, 7, 2,184, 0, 7, 2,194, 0, 4, 2,195, 0, 4, 2,196, 0, 4, 0, 88, 0, 4, 2,197, - 0,108, 0, 5, 0,101, 2,177, 0, 2, 2,198, 0, 2, 0, 17, 0, 7, 2,199, 0, 24, 2,200, 0,109, 0, 3, 0,101, 2,177, - 0, 7, 2,201, 0, 4, 0, 88, 0,110, 0, 10, 0,101, 2,177, 0, 7, 2,202, 0, 4, 2,203, 0, 4, 0, 35, 0, 2, 0, 88, - 0, 2, 2,204, 0, 2, 2,205, 0, 2, 2,206, 0, 7, 2,207, 0, 0, 2,208, 0,111, 0, 3, 0,101, 2,177, 0, 7, 0, 35, - 0, 4, 0, 15, 0,112, 0, 6, 0,101, 2,177, 0,113, 2,209, 0,114, 2,210, 0,115, 2,211, 0, 7, 2,212, 0, 4, 0, 15, - 0,116, 0, 11, 0,101, 2,177, 0, 44, 2,213, 0, 7, 2,214, 0, 4, 2,215, 0, 0, 2,208, 0, 7, 2,216, 0, 4, 2,217, - 0, 24, 2,218, 0, 0, 2,219, 0, 4, 2,220, 0, 4, 0, 35, 0,117, 0, 12, 0,101, 2,177, 0, 24, 2,221, 0, 39, 2,222, - 0, 4, 0, 88, 0, 4, 2,223, 0, 7, 2,224, 0, 7, 2,225, 0, 7, 2,226, 0, 7, 2,227, 0, 0, 2,219, 0, 4, 2,220, - 0, 4, 0, 35, 0,118, 0, 3, 0,101, 2,177, 0, 7, 2,228, 0, 4, 2,229, 0,119, 0, 5, 0,101, 2,177, 0, 7, 2,230, - 0, 0, 2,208, 0, 2, 0, 17, 0, 2, 2,231, 0,120, 0, 8, 0,101, 2,177, 0, 24, 0,158, 0, 7, 2,230, 0, 7, 0,247, - 0, 7, 0,104, 0, 0, 2,208, 0, 2, 0, 17, 0, 2, 0, 15, 0,121, 0, 21, 0,101, 2,177, 0, 24, 2,232, 0, 0, 2,208, - 0, 44, 2,213, 0, 24, 2,218, 0, 2, 0, 17, 0, 2, 0, 35, 0, 7, 2,233, 0, 7, 2,234, 0, 7, 2,235, 0, 7, 2, 67, - 0, 7, 2,236, 0, 7, 2,237, 0, 7, 2,238, 0, 7, 2,239, 0, 4, 2,217, 0, 4, 2,220, 0, 0, 2,219, 0, 7, 2,240, - 0, 7, 2,241, 0, 7, 0, 87, 0,122, 0, 7, 0,101, 2,177, 0, 2, 2,242, 0, 2, 2,243, 0, 4, 0, 67, 0, 24, 0,158, - 0, 7, 2,244, 0, 0, 2,208, 0,123, 0, 10, 0,101, 2,177, 0, 24, 0,158, 0, 0, 2,245, 0, 7, 2,246, 0, 7, 2,247, - 0, 7, 2,239, 0, 4, 2,248, 0, 4, 2,249, 0, 7, 2,250, 0, 0, 0, 18, 0,124, 0, 1, 0,101, 2,177, 0,125, 0, 7, - 0,101, 2,177, 0, 38, 0,116, 0,126, 2,251, 0,127, 2,252, 0,128, 2,253, 0,129, 2,254, 0, 12, 2,255, 0,130, 0, 13, - 0,101, 2,177, 0, 77, 3, 0, 0, 77, 3, 1, 0, 77, 3, 2, 0, 77, 3, 3, 0, 77, 3, 4, 0, 77, 3, 5, 0, 74, 3, 6, - 0, 4, 3, 7, 0, 4, 3, 8, 0, 7, 3, 9, 0, 7, 3, 10, 0,131, 3, 11, 0,132, 0, 7, 0,101, 2,177, 0, 77, 3, 0, - 0, 77, 3, 12, 0,133, 3, 13, 0,134, 3, 11, 0, 4, 3, 14, 0, 4, 3, 7, 0,135, 0, 4, 0,101, 2,177, 0, 24, 0,158, - 0, 4, 3, 15, 0, 4, 0, 35, 0,136, 0, 2, 0, 4, 3, 16, 0, 7, 2, 25, 0,137, 0, 2, 0, 4, 0,119, 0, 4, 3, 17, - 0,138, 0, 24, 0,101, 2,177, 0, 24, 0,158, 0, 0, 2,208, 0, 2, 3, 18, 0, 2, 0, 17, 0, 2, 1, 68, 0, 2, 0, 35, - 0,136, 3, 19, 0, 4, 3, 20, 0, 7, 3, 21, 0, 4, 0, 51, 0, 4, 3, 22, 0,137, 3, 23, 0,136, 3, 24, 0, 4, 3, 25, - 0, 4, 3, 26, 0, 4, 3, 27, 0, 4, 3, 17, 0, 7, 3, 28, 0, 7, 3, 29, 0, 7, 3, 30, 0, 7, 3, 31, 0, 7, 3, 32, - 0, 9, 3, 33, 0,139, 0, 8, 0,101, 2,177, 0,140, 3, 34, 0,133, 3, 13, 0, 4, 3, 35, 0, 4, 3, 36, 0, 4, 3, 37, - 0, 2, 0, 17, 0, 2, 0, 54, 0,141, 0, 8, 0,101, 2,177, 0, 24, 0, 42, 0, 2, 0,251, 0, 2, 0, 17, 0, 2, 2,198, - 0, 2, 0, 54, 0, 7, 3, 38, 0, 7, 3, 39, 0,142, 0, 6, 0,101, 2,177, 0, 4, 3, 40, 0, 2, 0, 17, 0, 2, 3, 41, - 0, 7, 3, 42, 0, 0, 0,160, 0,143, 0, 8, 0,101, 2,177, 0, 0, 3, 43, 0, 0, 3, 44, 0, 0, 2,167, 0, 0, 3, 45, - 0, 0, 3, 46, 0, 0, 0, 88, 0, 0, 2,155, 0,144, 0, 3, 0,101, 2,177, 0,145, 3, 47, 0,129, 2,254, 0,146, 0, 10, - 0,101, 2,177, 0, 24, 3, 48, 0, 24, 3, 49, 0, 0, 3, 50, 0, 7, 3, 51, 0, 2, 3, 52, 0, 2, 3, 53, 0, 0, 3, 54, - 0, 0, 3, 55, 0, 0, 2,183, 0,147, 0, 9, 0,101, 2,177, 0, 24, 3, 56, 0, 0, 3, 50, 0, 7, 3, 57, 0, 7, 3, 58, - 0, 0, 1, 68, 0, 0, 2,198, 0, 0, 3, 59, 0, 0, 0, 35, 0,148, 0, 1, 0,101, 2,177, 0,149, 0, 11, 0,101, 2,177, - 0, 0, 2,208, 0, 7, 0,119, 0, 7, 3, 60, 0, 7, 3, 61, 0, 7, 3, 62, 0, 7, 3, 63, 0, 4, 0, 17, 0, 2, 3, 64, - 0, 2, 3, 65, 0, 4, 0, 35, 0,150, 0, 9, 0,101, 2,177, 0, 24, 3, 66, 0, 4, 3, 67, 0, 4, 3, 68, 0, 4, 3, 69, - 0, 7, 3, 70, 0, 7, 3, 71, 0, 2, 2,198, 0, 2, 0, 17, 0,151, 0, 3, 0,152, 3, 72, 0, 4, 2, 52, 0, 0, 0, 90, - 0,152, 0, 29, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 2, 34, 0, 2, 2, 35, 0, 2, 3, 73, 0, 2, 0, 17, 0, 2, 3, 74, - 0, 2, 3, 75, 0, 2, 3, 76, 0, 2, 0, 67, 0, 0, 3, 77, 0, 0, 3, 78, 0, 0, 3, 79, 0, 0, 1,225, 0, 4, 0, 35, - 0, 7, 3, 80, 0, 7, 3, 81, 0, 7, 3, 82, 0, 7, 3, 83, 0, 7, 3, 84, 0, 7, 3, 85, 0, 26, 3, 86, 0, 28, 0, 77, - 0, 30, 2, 59, 0, 79, 2,107, 0, 0, 0, 69, 0, 7, 3, 87, 0, 7, 3, 88, 0,151, 3, 89, 0,153, 0, 3, 0,153, 0, 0, - 0,153, 0, 1, 0, 0, 0, 18, 0, 62, 0, 3, 0, 7, 3, 90, 0, 4, 0, 17, 0, 4, 0, 35, 0, 24, 0,127, 0, 19, 0, 29, - 0, 31, 0, 72, 0,154, 3, 91, 0, 2, 0, 15, 0, 2, 3, 92, 0, 4, 3, 93, 0, 4, 3, 94, 0, 4, 3, 95, 0, 0, 3, 96, - 0, 24, 0, 36, 0, 24, 3, 97, 0, 24, 3, 98, 0, 24, 3, 99, 0, 24, 3,100, 0, 28, 0, 77, 0, 70, 2, 58, 0, 62, 1,250, - 0,155, 3,101, 0,155, 3,102, 0,156, 3,103, 0, 9, 0, 2, 0,157, 3,104, 0,158, 3,105, 0,159, 3,106, 0, 12, 3,107, - 0, 12, 3,108, 0, 12, 2, 14, 0, 12, 3,109, 0, 12, 3,110, 0, 4, 1, 68, 0, 4, 3,111, 0, 57, 2, 16, 0, 0, 3,112, - 0, 4, 2, 18, 0, 4, 3,113, 0, 7, 1, 63, 0, 7, 3,114, 0, 7, 3,115, 0, 7, 0,166, 0, 7, 3,116, 0, 7, 1, 64, - 0, 7, 3,117, 0, 7, 2, 4, 0, 7, 3,118, 0, 7, 3,119, 0, 7, 3,120, 0, 7, 3,121, 0, 7, 3,122, 0, 7, 3,123, - 0, 7, 2,246, 0, 7, 3,124, 0, 7, 0,236, 0, 7, 3,125, 0, 4, 3,126, 0, 2, 0, 17, 0, 2, 3,127, 0, 2, 3,128, - 0, 2, 3,129, 0, 2, 3,130, 0, 2, 3,131, 0, 2, 3,132, 0, 2, 3,133, 0, 2, 3,134, 0, 2, 3,135, 0, 2, 3,136, - 0, 2, 3,137, 0, 4, 3,138, 0, 4, 3,139, 0, 4, 3,140, 0, 4, 3,141, 0, 7, 3,142, 0, 7, 2, 94, 0, 7, 3,143, - 0, 7, 3,144, 0, 7, 3,145, 0, 7, 3,146, 0, 7, 3,147, 0, 7, 0,211, 0, 7, 3,148, 0, 7, 3,149, 0, 7, 3,150, - 0, 7, 3,151, 0, 2, 3,152, 0, 0, 3,153, 0, 0, 3,154, 0, 0, 3,155, 0, 0, 3,156, 0, 7, 3,157, 0, 7, 3,158, - 0, 12, 3,159, 0, 12, 3,160, 0, 12, 3,161, 0, 12, 3,162, 0, 7, 3,163, 0, 2, 2,147, 0, 2, 3,164, 0, 7, 2,129, - 0, 4, 3,165, 0, 4, 3,166, 0,160, 3,167, 0, 2, 3,168, 0, 2, 0,243, 0, 7, 3,169, 0, 12, 3,170, 0, 12, 3,171, - 0, 12, 3,172, 0, 12, 3,173, 0,161, 1, 60, 0,162, 3,174, 0, 58, 3,175, 0, 2, 3,176, 0, 2, 3,177, 0, 2, 2, 52, - 0, 2, 3,178, 0, 7, 2,120, 0, 2, 3,179, 0, 2, 3,180, 0,145, 3,181, 0,133, 3,182, 0,133, 3,183, 0, 4, 3,184, - 0, 4, 3,185, 0, 4, 3,186, 0, 4, 0, 67, 0, 12, 3,187, 0, 12, 3,188, 0, 12, 3,189, 0,163, 0, 14, 0,163, 0, 0, - 0,163, 0, 1, 0, 24, 0, 36, 0, 7, 2,246, 0, 7, 1, 65, 0, 7, 2,247, 0, 7, 2,239, 0, 0, 0, 18, 0, 4, 2,248, - 0, 4, 2,249, 0, 4, 3,190, 0, 2, 0, 15, 0, 2, 3,191, 0, 7, 2,250, 0,164, 0, 12, 0,164, 0, 0, 0,164, 0, 1, - 0, 24, 0, 42, 0, 4, 3,192, 0, 4, 2,147, 0, 4, 3,193, 0, 4, 0, 15, 0, 4, 3,194, 0, 7, 1, 65, 0, 7, 3,195, - 0, 7, 3,196, 0, 7, 2,145, 0,161, 0, 40, 0, 4, 0, 17, 0, 2, 3,197, 0, 2, 3,198, 0, 2, 2,239, 0, 2, 3,199, - 0, 2, 3,200, 0, 2, 3,201, 0, 2, 3,202, 0, 2, 3,203, 0, 7, 3,204, 0, 7, 3,205, 0, 7, 3,206, 0, 7, 3,207, - 0, 7, 3,208, 0, 7, 3,209, 0, 7, 3,210, 0, 7, 3,211, 0, 7, 3,212, 0, 7, 3,213, 0, 7, 3,214, 0, 7, 3,215, - 0, 7, 3,216, 0, 7, 3,217, 0, 7, 3,218, 0, 7, 3,219, 0, 7, 3,220, 0, 7, 3,221, 0, 7, 3,222, 0, 7, 3,223, - 0, 7, 3,224, 0, 7, 3,225, 0, 7, 3,226, 0, 7, 3,227, 0, 7, 3,228, 0, 7, 3,229, 0, 7, 3,230, 0, 44, 0,159, - 0,165, 3,231, 0, 7, 3,232, 0, 4, 2,186, 0,166, 0, 5, 0, 58, 1,228, 0, 7, 3,233, 0, 7, 3,234, 0, 2, 0, 17, - 0, 2, 3,235, 0,167, 0, 5, 0,167, 0, 0, 0,167, 0, 1, 0, 4, 0, 15, 0, 4, 3,236, 0, 9, 0, 2, 0,168, 0, 9, - 0,168, 0, 0, 0,168, 0, 1, 0, 4, 3,237, 0, 4, 3,238, 0, 4, 3,239, 0, 4, 0, 17, 0, 9, 3,240, 0, 9, 3,241, - 0, 12, 3,242, 0,129, 0, 21, 0,129, 0, 0, 0,129, 0, 1, 0, 4, 0, 17, 0, 4, 3,243, 0, 4, 3,244, 0, 4, 3,245, - 0, 4, 3,246, 0, 4, 3,247, 0, 4, 3,248, 0, 4, 3,238, 0, 4, 2,147, 0, 2, 3,249, 0, 2, 0, 54, 0, 0, 3,250, - 0, 0, 3,251, 0, 0, 3,252, 0, 0, 3,253, 0, 0, 3,254, 0, 12, 3,255, 0,169, 4, 0, 0, 9, 4, 1, 0,170, 0, 1, - 0, 7, 2, 32, 0,160, 0, 30, 0, 4, 0, 17, 0, 7, 4, 2, 0, 7, 4, 3, 0, 7, 4, 4, 0, 4, 4, 5, 0, 4, 4, 6, - 0, 4, 4, 7, 0, 4, 4, 8, 0, 7, 4, 9, 0, 7, 4, 10, 0, 7, 4, 11, 0, 7, 4, 12, 0, 7, 4, 13, 0, 7, 4, 14, - 0, 7, 4, 15, 0, 7, 4, 16, 0, 7, 4, 17, 0, 7, 4, 18, 0, 7, 4, 19, 0, 7, 4, 20, 0, 7, 4, 21, 0, 7, 4, 22, - 0, 7, 4, 23, 0, 7, 4, 24, 0, 7, 4, 25, 0, 7, 4, 26, 0, 4, 4, 27, 0, 4, 4, 28, 0, 7, 4, 29, 0, 7, 3,148, - 0,162, 0, 54, 0, 4, 3,238, 0, 4, 4, 30, 0,171, 4, 31, 0,172, 4, 32, 0, 0, 0, 35, 0, 0, 4, 33, 0, 2, 4, 34, - 0, 7, 4, 35, 0, 0, 4, 36, 0, 7, 4, 37, 0, 7, 4, 38, 0, 7, 4, 39, 0, 7, 4, 40, 0, 7, 4, 41, 0, 7, 4, 42, - 0, 7, 4, 43, 0, 7, 4, 44, 0, 7, 4, 45, 0, 2, 4, 46, 0, 0, 4, 47, 0, 2, 4, 48, 0, 7, 4, 49, 0, 7, 4, 50, - 0, 0, 4, 51, 0, 4, 0,120, 0, 4, 4, 52, 0, 4, 4, 53, 0, 2, 4, 54, 0, 2, 4, 55, 0,170, 4, 56, 0, 4, 4, 57, - 0, 4, 0, 79, 0, 7, 4, 58, 0, 7, 4, 59, 0, 7, 4, 60, 0, 7, 4, 61, 0, 2, 4, 62, 0, 2, 4, 63, 0, 2, 4, 64, - 0, 2, 4, 65, 0, 2, 4, 66, 0, 2, 4, 67, 0, 2, 4, 68, 0, 2, 4, 69, 0,173, 4, 70, 0, 7, 4, 71, 0, 7, 4, 72, - 0,129, 4, 73, 0, 12, 2,255, 0,166, 4, 74, 0, 7, 4, 75, 0, 7, 4, 76, 0, 7, 4, 77, 0, 0, 4, 78, 0,145, 0, 51, - 0,144, 4, 79, 0, 2, 0, 15, 0, 2, 4, 80, 0, 2, 4, 81, 0, 2, 4, 82, 0, 7, 4, 83, 0, 2, 4, 84, 0, 2, 4, 85, - 0, 7, 4, 86, 0, 2, 4, 87, 0, 2, 4, 88, 0, 7, 4, 89, 0, 7, 4, 90, 0, 7, 4, 91, 0, 7, 4, 92, 0, 7, 4, 93, - 0, 4, 4, 94, 0, 4, 4, 95, 0, 7, 4, 96, 0, 4, 4, 97, 0, 7, 4, 98, 0, 7, 4, 99, 0, 7, 4,100, 0, 73, 4,101, - 0, 73, 4,102, 0, 73, 4,103, 0, 0, 4,104, 0, 7, 4,105, 0, 7, 4,106, 0, 28, 0, 77, 0, 2, 4,107, 0, 0, 4,108, - 0, 0, 4,109, 0, 7, 4,110, 0, 4, 4,111, 0, 7, 4,112, 0, 7, 4,113, 0, 4, 4,114, 0, 4, 0, 17, 0, 7, 4,115, - 0, 7, 4,116, 0, 7, 4,117, 0, 77, 4,118, 0, 7, 4,119, 0, 7, 4,120, 0, 7, 4,121, 0, 7, 4,122, 0, 7, 4,123, - 0, 7, 4,124, 0, 7, 4,125, 0, 4, 4,126, 0,174, 0, 76, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0,169, 0, 2, 1, 69, - 0, 2, 1,103, 0, 2, 4,127, 0, 7, 4,128, 0, 7, 4,129, 0, 7, 4,130, 0, 7, 4,131, 0, 7, 4,132, 0, 7, 4,133, - 0, 7, 1,149, 0, 7, 1,151, 0, 7, 1,150, 0, 7, 0, 67, 0, 4, 4,134, 0, 7, 4,135, 0, 7, 4,136, 0, 7, 4,137, - 0, 7, 4,138, 0, 7, 4,139, 0, 7, 4,140, 0, 7, 4,141, 0, 2, 4,142, 0, 2, 1, 68, 0, 2, 4,143, 0, 2, 4,144, - 0, 2, 4,145, 0, 2, 4,146, 0, 2, 4,147, 0, 2, 4,148, 0, 7, 4,149, 0, 7, 4,150, 0, 7, 4,151, 0, 7, 4,152, - 0, 7, 4,153, 0, 7, 4,154, 0, 7, 4,155, 0, 7, 4,156, 0, 7, 4,157, 0, 7, 4,158, 0, 7, 4,159, 0, 7, 4,160, - 0, 2, 4,161, 0, 2, 4,162, 0, 2, 4,163, 0, 2, 4,164, 0, 7, 4,165, 0, 7, 4,166, 0, 7, 4,167, 0, 7, 4,168, - 0, 2, 4,169, 0, 2, 4,170, 0, 2, 4,171, 0, 2, 4,172, 0, 7, 4,173, 0, 7, 4,174, 0, 7, 4,175, 0, 7, 4,176, - 0, 7, 4,177, 0, 7, 4,178, 0, 7, 4,179, 0, 2, 4,180, 0, 2, 4,181, 0, 2, 4,182, 0, 2, 4,183, 0, 2, 4,184, - 0, 2, 0, 17, 0, 7, 4,185, 0, 7, 4,186, 0, 28, 0, 77, 0, 43, 1,121, 0, 2, 1,122, 0, 2, 4,187, 0, 22, 0,145, - 0,175, 0, 8, 0,175, 0, 0, 0,175, 0, 1, 0, 4, 3,126, 0, 4, 4,188, 0, 4, 0, 17, 0, 2, 4,189, 0, 2, 4,190, - 0, 24, 0,158, 0,176, 0, 13, 0, 9, 4,191, 0, 9, 4,192, 0, 4, 4,193, 0, 4, 4,194, 0, 4, 4,195, 0, 4, 4,196, - 0, 4, 4,197, 0, 4, 4,198, 0, 4, 4,199, 0, 4, 4,200, 0, 4, 4,201, 0, 4, 0, 35, 0, 0, 4,202, 0,177, 0, 5, - 0, 9, 4,203, 0, 9, 4,204, 0, 4, 4,205, 0, 4, 0, 67, 0, 0, 4,206, 0,178, 0, 17, 0, 4, 4,207, 0, 4, 4,208, - 0, 4, 4,209, 0, 4, 4,210, 0, 4, 4,211, 0, 4, 4,212, 0, 4, 4,213, 0, 4, 4,214, 0, 4, 4,215, 0, 4, 4,216, - 0, 4, 4,217, 0, 4, 4,218, 0, 2, 4,219, 0, 2, 4,220, 0, 4, 4,221, 0, 4, 4,222, 0, 4, 0, 87, 0,179, 0, 15, - 0, 4, 0, 15, 0, 4, 4,209, 0, 4, 4,223, 0, 4, 4,224, 0, 4, 4,225, 0, 4, 4,226, 0, 7, 4,227, 0, 4, 4,228, - 0, 4, 0, 88, 0, 4, 4,229, 0, 4, 4,230, 0, 4, 4,231, 0, 4, 4,232, 0, 4, 4,233, 0, 18, 0, 28, 0,180, 0, 7, - 0, 4, 4,234, 0, 7, 4,235, 0, 7, 4,236, 0, 7, 4,237, 0, 4, 4,238, 0, 2, 0, 17, 0, 2, 0, 35, 0,181, 0, 11, - 0,181, 0, 0, 0,181, 0, 1, 0, 0, 0, 18, 0, 57, 4,239, 0, 58, 4,240, 0, 4, 3,126, 0, 4, 4,241, 0, 4, 4,242, - 0, 4, 0, 35, 0, 4, 4,243, 0, 4, 4,244, 0,182, 0,110, 0,176, 4,245, 0,177, 4,246, 0,178, 4,247, 0,179, 4,248, - 0, 4, 3, 14, 0, 4, 0,120, 0, 4, 4, 52, 0, 7, 4,249, 0, 4, 4,250, 0, 4, 4,251, 0, 4, 4,252, 0, 4, 4,253, - 0, 2, 0, 17, 0, 2, 4,254, 0, 7, 4,255, 0, 7, 5, 0, 0, 7, 5, 1, 0, 7, 5, 2, 0, 7, 5, 3, 0, 2, 5, 4, - 0, 2, 5, 5, 0, 2, 5, 6, 0, 2, 5, 7, 0, 2, 0,242, 0, 2, 5, 8, 0, 4, 5, 9, 0, 2, 5, 10, 0, 2, 5, 11, - 0, 2, 1, 90, 0, 2, 0,104, 0, 2, 5, 12, 0, 2, 5, 13, 0, 2, 5, 14, 0, 2, 5, 15, 0, 2, 5, 16, 0, 2, 5, 17, - 0, 2, 5, 18, 0, 2, 5, 19, 0, 2, 5, 20, 0, 2, 1, 91, 0, 2, 5, 21, 0, 2, 5, 22, 0, 2, 5, 23, 0, 2, 5, 24, - 0, 4, 5, 25, 0, 4, 1, 68, 0, 4, 5, 26, 0, 2, 5, 27, 0, 2, 5, 28, 0, 2, 5, 29, 0, 2, 5, 30, 0, 2, 5, 31, - 0, 2, 5, 32, 0, 2, 5, 33, 0, 2, 5, 34, 0, 16, 5, 35, 0, 16, 5, 36, 0, 15, 5, 37, 0, 12, 5, 38, 0, 2, 5, 39, - 0, 2, 5, 40, 0, 7, 5, 41, 0, 7, 5, 42, 0, 7, 5, 43, 0, 7, 5, 44, 0, 4, 5, 45, 0, 7, 5, 46, 0, 7, 5, 47, - 0, 7, 5, 48, 0, 7, 5, 49, 0, 2, 5, 50, 0, 2, 5, 51, 0, 2, 5, 52, 0, 2, 5, 53, 0, 2, 5, 54, 0, 2, 5, 55, - 0, 7, 5, 56, 0, 7, 5, 57, 0, 7, 5, 58, 0, 0, 5, 59, 0, 0, 5, 60, 0, 4, 5, 61, 0, 2, 5, 62, 0, 2, 1,225, - 0, 0, 5, 63, 0, 7, 5, 64, 0, 7, 5, 65, 0, 0, 5, 66, 0, 0, 5, 67, 0, 0, 5, 68, 0, 0, 5, 69, 0, 4, 5, 70, - 0, 2, 5, 71, 0, 2, 5, 72, 0, 7, 5, 73, 0, 7, 5, 74, 0, 2, 5, 75, 0, 2, 5, 76, 0, 7, 5, 77, 0, 2, 5, 78, - 0, 2, 5, 79, 0, 4, 5, 80, 0, 2, 5, 81, 0, 2, 5, 82, 0, 2, 5, 83, 0, 2, 5, 84, 0, 7, 5, 85, 0, 7, 0, 67, - 0, 34, 5, 86, 0, 0, 5, 87, 0,183, 0, 9, 0,183, 0, 0, 0,183, 0, 1, 0, 0, 0, 18, 0, 2, 5, 88, 0, 2, 5, 89, - 0, 2, 5, 90, 0, 2, 0, 87, 0, 7, 5, 91, 0, 7, 0, 67, 0,184, 0, 7, 0, 2, 2,203, 0, 2, 1, 68, 0, 2, 3, 71, - 0, 2, 5, 92, 0, 7, 5, 93, 0, 7, 0, 67, 0, 34, 5, 94, 0,185, 0, 5, 0, 7, 5, 95, 0, 0, 0, 15, 0, 0, 0, 87, - 0, 0, 0, 67, 0, 0, 1,225, 0,186, 0, 28, 0, 7, 4,140, 0, 7, 4,141, 0, 2, 1, 68, 0, 2, 0, 17, 0, 2, 5, 96, - 0, 2, 4,187, 0, 2, 4,143, 0, 2, 4,144, 0, 2, 4,145, 0, 2, 4,146, 0, 2, 4,147, 0, 2, 4,148, 0,185, 5, 97, - 0, 2, 5, 4, 0, 2, 5, 5, 0, 2, 5, 6, 0, 2, 5, 7, 0, 2, 0,242, 0, 2, 5, 8, 0, 2, 5, 98, 0, 2, 5, 99, - 0,184, 5,100, 0, 2, 5,101, 0, 2, 5, 10, 0, 2, 5, 13, 0, 2, 5, 14, 0, 7, 5,102, 0, 7, 0, 87, 0,187, 0, 6, - 0,187, 0, 0, 0,187, 0, 1, 0, 4, 3,237, 0, 0, 3,250, 0, 4, 0, 17, 0, 24, 5,103, 0,188, 0, 4, 0,189, 5,104, - 0, 9, 5,105, 0, 0, 5,106, 0, 4, 0, 88, 0,190, 0, 8, 0,188, 5,107, 0, 2, 0, 17, 0, 2, 0, 35, 0, 2, 5,108, - 0, 2, 5,109, 0, 2, 5,110, 0, 4, 0, 87, 0, 9, 5,111, 0,191, 0, 6, 0, 2, 0,104, 0, 2, 3,243, 0, 2, 5,112, - 0, 2, 2,197, 0, 4, 0, 17, 0, 7, 2,214, 0,192, 0, 14, 0, 2, 0, 17, 0, 2, 5,113, 0, 2, 5,114, 0, 2, 5,115, - 0,191, 5,116, 0, 9, 5,111, 0, 7, 5,117, 0, 7, 0, 54, 0, 4, 5,118, 0, 4, 5,119, 0, 4, 5,120, 0, 4, 5,121, - 0, 38, 0,116, 0, 24, 0,158, 0,193, 0, 4, 0,193, 0, 0, 0,193, 0, 1, 0, 0, 5,122, 0, 7, 5,123, 0,194, 0, 14, - 0,188, 5,107, 0, 4, 0, 88, 0, 4, 5,124, 0, 7, 5,125, 0, 7, 5,126, 0, 7, 5,127, 0, 4, 5,128, 0, 4, 5,129, - 0, 7, 5,130, 0, 7, 5,131, 0, 4, 5,132, 0, 7, 5,133, 0, 7, 5,134, 0, 4, 0, 35, 0,195, 0, 7, 0,188, 5,107, - 0, 2, 0, 17, 0, 2, 0, 35, 0, 4, 0, 34, 0, 4, 5,135, 0, 79, 5,136, 0, 9, 5,111, 0,196, 0, 82, 0,195, 5,137, - 0,195, 5,138, 0,194, 3, 91, 0, 7, 5,139, 0, 2, 5,140, 0, 2, 5,141, 0, 7, 5,142, 0, 7, 5,143, 0, 2, 3,243, - 0, 2, 5,144, 0, 7, 5,145, 0, 7, 5,146, 0, 7, 5,147, 0, 2, 5,148, 0, 2, 5,118, 0, 2, 5,149, 0, 2, 5,150, - 0, 2, 5,151, 0, 2, 5,152, 0, 7, 5,153, 0, 7, 5,154, 0, 7, 5,155, 0, 2, 5,156, 0, 2, 5,157, 0, 2, 5,158, - 0, 2, 5,159, 0, 2, 5,160, 0, 2, 5,161, 0, 2, 5,162, 0, 2, 5,163, 0,190, 5,164, 0,192, 5,165, 0, 7, 5,166, - 0, 7, 5,167, 0, 7, 5,168, 0, 2, 5,169, 0, 2, 5,170, 0, 0, 5,171, 0, 0, 5,172, 0, 0, 5,173, 0, 0, 5,174, - 0, 0, 5,175, 0, 0, 5,176, 0, 2, 5,177, 0, 7, 5,178, 0, 7, 5,179, 0, 7, 5,180, 0, 7, 5,181, 0, 7, 5,182, - 0, 7, 5,183, 0, 7, 5,184, 0, 7, 5,185, 0, 7, 5,186, 0, 7, 5,187, 0, 2, 5,188, 0, 0, 5,189, 0, 0, 5,190, - 0, 0, 5,191, 0, 0, 5,192, 0, 24, 5,193, 0, 0, 5,194, 0, 0, 5,195, 0, 0, 5,196, 0, 0, 5,197, 0, 0, 5,198, - 0, 0, 5,199, 0, 0, 5,200, 0, 0, 5,201, 0, 0, 5,202, 0, 0, 5,203, 0, 2, 5,204, 0, 2, 5,205, 0, 2, 5,206, - 0, 2, 5,207, 0, 0, 5,208, 0, 0, 4,187, 0, 4, 5,209, 0, 2, 5,210, 0, 2, 0, 87, 0, 4, 5,211, 0, 7, 5,212, - 0, 7, 5,213, 0,197, 0, 8, 0, 4, 5,214, 0, 4, 5,215, 0, 4, 5,216, 0, 4, 5,217, 0, 4, 5,218, 0, 4, 5,219, - 0, 4, 0, 51, 0, 4, 2,117, 0,198, 0, 4, 0, 7, 5,220, 0, 0, 5,221, 0, 0, 5,222, 0, 2, 0, 17, 0,199, 0, 4, - 0, 7, 5,223, 0, 4, 0, 17, 0, 4, 5,224, 0, 4, 0, 54, 0, 38, 0, 44, 0, 19, 0, 29, 0, 31, 0, 72, 0, 24, 5,103, - 0,174, 5,225, 0, 38, 5,226, 0, 12, 5,227, 0,175, 5,228, 0, 24, 5,229, 0, 7, 5,230, 0, 7, 5,231, 0, 7, 5,232, - 0, 7, 5,233, 0, 4, 3,126, 0, 4, 5,234, 0, 4, 5,235, 0, 4, 5,236, 0, 4, 5,237, 0, 2, 0, 17, 0, 2, 1, 62, - 0, 52, 1, 57, 0,200, 5,238, 0,196, 5,239, 0,201, 5,240, 0,182, 0,176, 0,180, 5,241, 0, 12, 0, 98, 0, 12, 5,242, - 0, 9, 5,243, 0, 9, 5,244, 0, 9, 5,245, 0, 9, 5,246, 0,202, 5,247, 0, 2, 5,248, 0, 2, 5,249, 0, 2, 0,243, - 0, 2, 5,250, 0, 4, 5,251, 0, 4, 5,252, 0, 12, 5,253, 0,185, 5, 97, 0,186, 5,254, 0,198, 5,255, 0,157, 3,104, - 0,199, 6, 0, 0,203, 0, 11, 0,203, 0, 0, 0,203, 0, 1, 0, 39, 0,234, 0, 37, 1, 56, 0, 7, 2, 82, 0, 7, 2, 83, - 0, 7, 0,104, 0, 7, 6, 1, 0, 2, 6, 2, 0, 2, 0, 17, 0, 7, 0, 67, 0,204, 0, 37, 0, 7, 6, 3, 0, 7, 6, 4, - 0, 7, 6, 5, 0, 7, 6, 6, 0, 7, 6, 7, 0, 7, 6, 8, 0, 7, 6, 9, 0, 7, 6, 10, 0, 7, 6, 11, 0, 7, 1, 75, - 0, 7, 6, 12, 0, 7, 6, 13, 0, 7, 6, 14, 0, 7, 6, 15, 0, 7, 0,165, 0, 2, 6, 16, 0, 2, 6, 17, 0, 4, 0, 35, - 0, 2, 6, 18, 0, 2, 6, 19, 0, 2, 6, 20, 0, 2, 6, 2, 0, 7, 6, 21, 0, 7, 6, 22, 0, 62, 6, 23, 0,157, 3,104, - 0,204, 6, 24, 0,205, 6, 25, 0,206, 6, 26, 0,207, 6, 27, 0,208, 6, 28, 0, 7, 6, 29, 0, 2, 6, 30, 0, 2, 6, 31, - 0, 7, 6, 32, 0, 7, 6, 33, 0, 7, 6, 34, 0,209, 0, 55, 0,210, 0, 0, 0,210, 0, 1, 0, 12, 6, 35, 0, 4, 6, 36, - 0, 7, 6, 37, 0, 2, 6, 38, 0, 7, 6, 11, 0, 7, 1, 75, 0, 7, 0, 87, 0, 4, 6, 39, 0, 2, 6, 20, 0, 2, 6, 2, - 0, 24, 5,103, 0, 24, 6, 40, 0, 12, 6, 41, 0,203, 6, 42, 0,209, 6, 24, 0, 0, 6, 43, 0, 4, 3,126, 0, 4, 5,234, - 0, 2, 6, 44, 0, 2, 6, 45, 0, 2, 6, 46, 0, 2, 6, 47, 0, 2, 1,225, 0, 2, 0, 17, 0, 2, 2, 17, 0, 2, 6, 48, - 0, 7, 0,109, 0, 7, 6, 49, 0, 7, 6, 32, 0, 7, 6, 50, 0, 7, 6, 51, 0, 7, 0,165, 0, 7, 5,230, 0, 2, 6, 52, - 0, 2, 5, 30, 0, 2, 6, 53, 0, 2, 6, 54, 0, 2, 6, 55, 0, 2, 6, 56, 0, 2, 6, 57, 0, 2, 6, 58, 0, 2, 6, 59, - 0, 2, 6, 17, 0, 12, 6, 60, 0, 12, 6, 61, 0, 12, 6, 62, 0, 2, 6, 63, 0, 2, 2,130, 0, 2, 6, 64, 0, 0, 6, 65, - 0, 0, 6, 66, 0, 9, 6, 67, 0,157, 3,104, 0,211, 0, 24, 0, 16, 0, 34, 0, 16, 0, 61, 0, 15, 6, 68, 0, 15, 6, 69, - 0, 15, 6, 70, 0, 7, 6, 71, 0, 7, 6, 72, 0, 7, 6, 73, 0, 7, 6, 74, 0, 2, 6, 75, 0, 2, 6, 76, 0, 2, 6, 77, - 0, 2, 6, 78, 0, 2, 6, 79, 0, 2, 0, 17, 0, 2, 6, 80, 0, 2, 6, 81, 0, 2, 6, 82, 0, 2, 6, 83, 0, 2, 6, 84, - 0, 2, 6, 47, 0, 7, 6, 85, 0, 4, 6, 86, 0, 4, 6, 87, 0,210, 0, 6, 0,210, 0, 0, 0,210, 0, 1, 0, 12, 6, 35, - 0, 4, 6, 36, 0, 7, 6, 37, 0, 2, 6, 38, 0,212, 0, 8, 0,210, 0, 0, 0,210, 0, 1, 0, 12, 6, 35, 0, 4, 6, 36, - 0, 7, 6, 37, 0, 2, 6, 38, 0, 0, 6, 88, 0, 0, 0,175, 0,213, 0, 14, 0,210, 0, 0, 0,210, 0, 1, 0, 12, 6, 35, - 0, 4, 6, 36, 0, 7, 6, 37, 0, 2, 6, 38, 0,211, 6, 89, 0,214, 6, 90, 0, 12, 6, 91, 0, 2, 1, 68, 0, 2, 6, 92, - 0, 4, 0, 17, 0, 7, 6, 93, 0, 4, 6, 47, 0,215, 0, 21, 0,210, 0, 0, 0,210, 0, 1, 0, 12, 6, 35, 0, 4, 6, 36, - 0, 7, 6, 37, 0, 2, 6, 38, 0,205, 6, 25, 0,211, 6, 89, 0, 2, 6, 94, 0, 2, 6, 95, 0, 2, 6, 96, 0, 2, 6, 97, - 0, 2, 6, 80, 0, 2, 6, 98, 0, 2, 6, 99, 0, 0, 0, 17, 0, 0, 0, 35, 0, 9, 2, 58, 0, 4, 6,100, 0, 4, 6,101, - 0, 19, 6,102, 0,216, 0, 18, 0,210, 0, 0, 0,210, 0, 1, 0, 12, 6, 35, 0, 4, 6, 36, 0, 7, 6, 37, 0, 2, 6, 38, - 0,211, 6, 89, 0, 7, 2, 82, 0, 7, 2, 83, 0, 2, 6, 94, 0, 2, 6,103, 0, 2, 6,104, 0, 2, 6,105, 0, 4, 0, 17, - 0, 7, 6,106, 0, 4, 6, 2, 0, 4, 0, 35, 0,157, 3,104, 0,217, 0, 16, 0, 0, 6,107, 0, 0, 6,108, 0, 0, 6,109, - 0, 0, 6,110, 0, 0, 6,111, 0, 0, 6,112, 0, 4, 6,113, 0, 4, 6,114, 0, 4, 6,115, 0, 2, 0, 15, 0, 2, 0, 17, - 0, 2, 6,116, 0, 2, 6,117, 0, 2, 1,168, 0, 2, 6,118, 0, 0, 6,119, 0,218, 0, 16, 0,210, 0, 0, 0,210, 0, 1, - 0, 12, 6, 35, 0, 4, 6, 36, 0, 4, 6,120, 0,217, 6,121, 0,219, 6,122, 0, 12, 6,123, 0, 12, 6,124, 0,220, 6,125, - 0,208, 6,126, 0,221, 6,127, 0, 2, 6,128, 0, 2, 6,129, 0, 2, 6,130, 0, 2, 0, 67, 0,222, 0, 15, 0,210, 0, 0, - 0,210, 0, 1, 0, 12, 6, 35, 0, 4, 6, 36, 0, 7, 6, 37, 0, 2, 6, 38, 0,211, 6, 89, 0, 12, 6,131, 0,223, 6,132, - 0, 0, 6,133, 0,224, 6,134, 0, 2, 0, 17, 0, 2, 6,135, 0, 2, 6,136, 0, 2, 6,137, 0,225, 0, 25, 0,210, 0, 0, - 0,210, 0, 1, 0, 12, 6, 35, 0, 4, 6, 36, 0, 4, 0, 17, 0, 39, 2,222, 0, 37, 1, 56, 0, 55, 6,138, 0,226, 6,139, - 0,227, 6,140, 0,157, 3,104, 0, 7, 6,141, 0, 7, 2, 82, 0, 7, 2, 83, 0, 7, 6,106, 0, 7, 6,142, 0, 7, 6,143, - 0, 2, 6,144, 0, 2, 6,145, 0, 2, 6,146, 0, 2, 6,147, 0, 0, 6,148, 0, 0, 6,149, 0, 0, 6,150, 0, 0, 6, 47, - 0,228, 0, 11, 0,210, 0, 0, 0,210, 0, 1, 0, 12, 6, 35, 0, 4, 6, 36, 0, 7, 6, 37, 0, 2, 6, 38, 0, 2, 6, 92, - 0, 2, 0, 17, 0, 4, 0, 35, 0,214, 6, 90, 0,211, 6, 89, 0,229, 0, 31, 0,210, 0, 0, 0,210, 0, 1, 0, 12, 6, 35, - 0, 4, 6, 36, 0, 7, 6, 37, 0, 2, 6, 38, 0, 34, 6,151, 0, 4, 6,152, 0, 4, 6,153, 0, 2, 0, 88, 0, 2, 6,154, - 0, 2, 6,155, 0, 0, 6,156, 0, 0, 6,157, 0, 4, 6,158, 0, 4, 6,159, 0, 4, 6,160, 0, 2, 6,161, 0, 2, 6,162, - 0, 2, 6,163, 0, 2, 6,164, 0, 7, 6,165, 0, 15, 6,166, 0, 15, 6,167, 0, 4, 6,168, 0, 4, 6,169, 0, 0, 6,170, - 0, 0, 6,171, 0, 2, 6,172, 0, 0, 2,183, 0, 9, 6,173, 0,230, 0, 10, 0, 19, 0, 29, 0, 9, 6,174, 0, 9, 6,175, - 0, 9, 6,176, 0, 9, 6,177, 0, 9, 6,178, 0, 4, 0, 88, 0, 4, 6,179, 0, 0, 6,180, 0, 0, 6,181, 0,231, 0, 10, - 0,210, 0, 0, 0,210, 0, 1, 0, 12, 6, 35, 0, 4, 6, 36, 0, 7, 6, 37, 0,230, 6,182, 0, 2, 0, 88, 0, 2, 6,154, - 0, 4, 0, 87, 0, 9, 6,183, 0,232, 0, 3, 0,232, 0, 0, 0,232, 0, 1, 0, 7, 6,184, 0,233, 0, 11, 0,210, 0, 0, - 0,210, 0, 1, 0, 12, 6, 35, 0, 4, 6, 36, 0, 7, 6, 37, 0,211, 6, 89, 0, 12, 6,185, 0, 4, 6,186, 0, 4, 0, 35, - 0, 4, 0, 17, 0, 4, 6,187, 0,234, 0, 26, 0,210, 0, 0, 0,210, 0, 1, 0, 12, 6, 35, 0, 4, 6, 36, 0, 7, 6, 37, - 0, 2, 6, 38, 0,211, 6, 89, 0, 19, 6,188, 0, 19, 0, 78, 0, 2, 0, 17, 0, 2, 6,154, 0, 7, 6,189, 0, 9, 6,190, - 0, 7, 2, 82, 0, 7, 2, 83, 0, 7, 6,106, 0, 7, 6, 34, 0, 7, 6,191, 0, 7, 6,192, 0, 52, 1, 57, 0, 52, 6,193, - 0, 4, 6,194, 0, 2, 6,195, 0, 2, 0,243, 0, 12, 6,196, 0,157, 3,104, 0,235, 0, 10, 0,210, 0, 0, 0,210, 0, 1, - 0, 12, 6, 35, 0, 4, 6, 36, 0, 7, 6, 37, 0, 2, 6, 38, 0, 2, 0, 17, 0, 2, 3,135, 0, 4, 0, 35, 0,157, 3,104, - 0,236, 0, 42, 0,210, 0, 0, 0,210, 0, 1, 0, 12, 6, 35, 0, 4, 6, 36, 0, 7, 6, 37, 0, 2, 6, 38, 0,211, 6, 89, - 0,219, 6,122, 0, 0, 6,197, 0, 0, 6,108, 0, 0, 6,109, 0, 2, 0, 15, 0, 2, 6,198, 0, 2, 0, 17, 0, 2, 6,116, - 0, 9, 6,190, 0, 4, 6,113, 0, 4, 6,199, 0, 4, 6,200, 0, 4, 6,201, 0, 15, 6,202, 0, 15, 6,203, 0, 7, 6,204, - 0, 7, 6,205, 0, 7, 6,206, 0, 7, 6,189, 0, 2, 6,207, 0, 2, 0,233, 0, 2, 1,168, 0, 2, 6,208, 0, 2, 0, 35, - 0, 2, 0, 87, 0, 2, 6,209, 0, 2, 6,210, 0, 9, 6,211, 0, 9, 6,212, 0, 9, 6,213, 0, 9, 6,214, 0, 9, 6,215, - 0, 2, 6,216, 0, 0, 6,217, 0, 49, 6,218, 0,237, 0, 7, 0,237, 0, 0, 0,237, 0, 1, 0, 4, 6,219, 0, 4, 0, 21, - 0, 0, 0, 81, 0, 4, 6,220, 0, 4, 0, 15, 0,238, 0, 14, 0,210, 0, 0, 0,210, 0, 1, 0, 12, 6, 35, 0, 4, 6, 36, - 0, 7, 6, 37, 0, 2, 6, 38, 0, 4, 6,155, 0, 4, 0, 35, 0, 12, 6,221, 0, 12, 6,222, 0, 0, 6,223, 0, 0, 6,224, - 0, 4, 6,225, 0, 4, 6,226, 0,239, 0, 6, 0,210, 0, 0, 0,210, 0, 1, 0, 12, 6, 35, 0, 4, 6, 36, 0, 4, 0, 35, - 0, 0, 6,227, 0,240, 0, 15, 0,210, 0, 0, 0,210, 0, 1, 0, 12, 6, 35, 0, 4, 6, 36, 0, 7, 6, 37, 0,241, 6,228, - 0,211, 6, 89, 0,242, 6,229, 0, 2, 1, 68, 0, 2, 6,230, 0, 2, 2, 82, 0, 2, 2, 83, 0, 2, 0, 17, 0, 2, 6,146, - 0, 4, 0, 67, 0,243, 0, 7, 0,243, 0, 0, 0,243, 0, 1, 0, 0, 6,231, 0, 2, 6,232, 0, 2, 6,233, 0, 2, 6,234, - 0, 2, 0, 35, 0,244, 0, 12, 0, 2, 6,233, 0, 2, 6,235, 0, 2, 6,236, 0, 0, 2,183, 0, 2, 6,237, 0, 2, 6,238, - 0, 2, 6,239, 0, 2, 6,240, 0, 2, 6,241, 0, 2, 6, 80, 0, 7, 6,242, 0, 7, 6,243, 0,245, 0, 18, 0,245, 0, 0, - 0,245, 0, 1, 0, 0, 3,250, 0,244, 6,244, 0,244, 6,245, 0,244, 6,246, 0,244, 6,247, 0, 7, 6,248, 0, 2, 6,249, - 0, 2, 6,250, 0, 2, 6,251, 0, 2, 6,252, 0, 2, 6,253, 0, 2, 6,254, 0, 2, 6,255, 0, 2, 7, 0, 0, 2, 7, 1, - 0, 2, 7, 2, 0,246, 0, 10, 0, 0, 7, 3, 0, 0, 7, 4, 0, 0, 7, 5, 0, 0, 7, 6, 0, 0, 7, 7, 0, 0, 7, 8, - 0, 2, 7, 9, 0, 2, 7, 10, 0, 2, 7, 11, 0, 2, 7, 12, 0,247, 0, 8, 0, 0, 7, 13, 0, 0, 7, 14, 0, 0, 7, 15, - 0, 0, 7, 16, 0, 0, 7, 17, 0, 0, 7, 18, 0, 7, 6, 1, 0, 7, 0, 35, 0,248, 0, 18, 0,246, 7, 19, 0,246, 7, 20, - 0,246, 7, 21, 0,246, 7, 22, 0,246, 7, 23, 0,246, 7, 24, 0,246, 7, 25, 0,246, 7, 26, 0,246, 7, 27, 0,246, 7, 28, - 0,246, 7, 29, 0,246, 7, 30, 0,246, 7, 31, 0,246, 7, 32, 0,246, 7, 33, 0,246, 7, 34, 0,247, 7, 35, 0, 0, 7, 36, - 0,249, 0, 97, 0, 0, 7, 37, 0, 0, 7, 38, 0, 0, 7, 7, 0, 0, 7, 39, 0, 0, 7, 40, 0, 0, 7, 41, 0, 0, 7, 42, - 0, 0, 7, 43, 0, 0, 7, 44, 0, 0, 7, 45, 0, 0, 7, 46, 0, 0, 7, 47, 0, 0, 7, 48, 0, 0, 7, 49, 0, 0, 7, 50, - 0, 0, 7, 51, 0, 0, 7, 52, 0, 0, 7, 53, 0, 0, 7, 54, 0, 0, 7, 55, 0, 0, 7, 56, 0, 0, 7, 57, 0, 0, 7, 58, - 0, 0, 7, 59, 0, 0, 7, 60, 0, 0, 7, 61, 0, 0, 7, 62, 0, 0, 7, 63, 0, 0, 7, 64, 0, 0, 7, 65, 0, 0, 7, 66, - 0, 0, 7, 67, 0, 0, 7, 68, 0, 0, 7, 69, 0, 0, 7, 70, 0, 0, 7, 71, 0, 0, 7, 72, 0, 0, 7, 73, 0, 0, 7, 74, - 0, 0, 7, 75, 0, 0, 7, 76, 0, 0, 7, 77, 0, 0, 7, 78, 0, 0, 7, 79, 0, 0, 7, 80, 0, 0, 7, 81, 0, 0, 7, 82, - 0, 0, 7, 83, 0, 0, 7, 84, 0, 0, 7, 85, 0, 0, 7, 86, 0, 0, 7, 87, 0, 0, 7, 88, 0, 0, 7, 89, 0, 0, 7, 90, - 0, 0, 7, 91, 0, 0, 7, 92, 0, 0, 7, 93, 0, 0, 7, 94, 0, 0, 7, 95, 0, 0, 7, 96, 0, 0, 7, 97, 0, 0, 7, 98, - 0, 0, 7, 99, 0, 0, 7,100, 0, 0, 7,101, 0, 0, 7,102, 0, 0, 7,103, 0, 0, 7,104, 0, 0, 7,105, 0, 0, 7,106, - 0, 0, 7,107, 0, 0, 7,108, 0, 0, 7,109, 0, 0, 7,110, 0, 0, 7,111, 0, 0, 7,112, 0, 0, 7,113, 0, 0, 7,114, - 0, 0, 7,115, 0, 0, 7,116, 0, 0, 7,117, 0, 0, 7,118, 0, 0, 7,119, 0, 0, 7,120, 0, 0, 7,121, 0, 0, 7,122, - 0, 0, 7,123, 0, 0, 7,124, 0, 0, 7,125, 0, 0, 7,126, 0, 0, 7,127, 0, 0, 7,128, 0, 0, 7,129, 0, 0, 7,130, - 0, 0, 7,131, 0, 0, 7,132, 0,250, 0, 5, 0, 0, 7,133, 0, 0, 7, 61, 0, 0, 7, 63, 0, 2, 0, 17, 0, 2, 0, 35, - 0,251, 0, 25, 0,251, 0, 0, 0,251, 0, 1, 0, 0, 0, 18, 0,248, 7,134, 0,249, 7,135, 0,249, 7,136, 0,249, 7,137, - 0,249, 7,138, 0,249, 7,139, 0,249, 7,140, 0,249, 7,141, 0,249, 7,142, 0,249, 7,143, 0,249, 7,144, 0,249, 7,145, - 0,249, 7,146, 0,249, 7,147, 0,249, 7,148, 0,249, 7,149, 0,249, 7,150, 0,249, 7,151, 0,249, 7,152, 0,250, 7,153, - 0, 4, 7,154, 0, 4, 0, 35, 0,252, 0, 3, 0,252, 0, 0, 0,252, 0, 1, 0, 0, 7,155, 0,253, 0, 5, 0, 4, 0, 17, - 0, 4, 0, 35, 0, 7, 2,129, 0, 7, 7,156, 0, 7, 2, 32, 0,254, 0, 90, 0, 4, 0, 17, 0, 4, 7,157, 0, 4, 7,158, - 0, 0, 7,159, 0, 0, 7,160, 0, 0, 7,161, 0, 0, 7,162, 0, 0, 7,163, 0, 0, 7,164, 0, 0, 7,165, 0, 0, 7,166, - 0, 0, 7,167, 0, 0, 7,168, 0, 4, 7,169, 0, 2, 7,170, 0, 2, 7,171, 0, 2, 7,172, 0, 2, 7,173, 0, 4, 7,174, - 0, 4, 7,175, 0, 4, 7,176, 0, 4, 7,177, 0, 2, 7,178, 0, 2, 7,179, 0, 4, 7,180, 0, 4, 7,181, 0, 4, 7,182, - 0, 4, 7,183, 0, 4, 7,184, 0, 4, 6,221, 0, 4, 7,185, 0, 2, 7,186, 0, 2, 7,187, 0, 2, 7,188, 0, 2, 7,189, - 0, 12, 7,190, 0, 12, 7,191, 0, 12, 7,192, 0, 12, 7,193, 0, 12, 7,194, 0, 0, 7,195, 0, 2, 7,196, 0, 2, 7,197, - 0, 2, 7,198, 0, 2, 7,199, 0, 2, 7,200, 0, 2, 7,201, 0, 2, 7,202, 0, 2, 7,203, 0,253, 7,204, 0, 2, 7,205, - 0, 2, 7,206, 0, 2, 7,207, 0, 2, 7,208, 0, 2, 7,209, 0, 2, 7,210, 0, 2, 7,211, 0, 2, 7,212, 0, 4, 7,213, - 0, 4, 7,214, 0, 2, 7,215, 0, 2, 7,216, 0, 2, 7,217, 0, 2, 7,218, 0, 2, 7,219, 0, 2, 7,220, 0, 2, 7,221, - 0, 2, 7,222, 0, 2, 7,223, 0, 2, 7,224, 0, 2, 7,225, 0, 2, 7,226, 0, 2, 7,227, 0, 2, 7,228, 0, 2, 7,229, - 0, 2, 7,230, 0, 2, 7,231, 0, 2, 4,187, 0, 0, 7,232, 0, 0, 7,233, 0, 7, 7,234, 0, 2, 5,169, 0, 2, 5,170, - 0, 2, 7,235, 0, 2, 7,236, 0, 7, 7,237, 0, 47, 7,238, 0, 7, 7,239, 0, 4, 1,225, 0, 0, 7,240, 0,255, 0, 24, - 0, 19, 0, 29, 0, 12, 7,241, 0, 12, 7,242, 0, 12, 7,243, 0, 12, 6, 35, 0, 38, 0,116, 0, 38, 7,244, 0, 4, 7,245, - 0, 4, 0, 87, 0, 2, 7,246, 0, 2, 7,247, 0, 2, 7,248, 0, 2, 7,249, 0, 2, 7,250, 0, 2, 7,251, 0, 2, 7,252, - 0, 2, 7,253, 0, 2, 7,254, 0, 2, 7,255, 0, 2, 8, 0, 0, 2, 0, 35, 0,208, 8, 1, 0, 9, 8, 2, 0, 2, 8, 3, - 1, 0, 0, 5, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 8, 4, 0, 13, 8, 5, 0, 4, 0, 17, 1, 1, 0, 7, 1, 1, 0, 0, - 1, 1, 0, 1, 1, 0, 8, 6, 1, 0, 8, 7, 0, 2, 5, 36, 0, 2, 0, 17, 0, 4, 0, 35, 1, 2, 0, 25, 1, 2, 0, 0, - 1, 2, 0, 1, 1, 3, 8, 8, 1, 4, 6,127, 0, 0, 8, 9, 0, 0, 8, 10, 0, 0, 8, 11, 0, 2, 8, 12, 0, 2, 8, 13, - 0, 2, 8, 14, 0, 2, 8, 15, 0, 2, 8, 16, 0, 2, 0, 35, 0, 2, 0, 17, 0, 2, 8, 17, 0, 2, 8, 18, 0, 2, 8, 19, - 0, 4, 8, 20, 1, 2, 8, 21, 0, 9, 8, 22, 0, 4, 8, 23, 0, 4, 8, 24, 0, 4, 8, 25, 0, 4, 8, 26, 0, 0, 8, 27, - 0,241, 0, 22, 0,241, 0, 0, 0,241, 0, 1, 1, 0, 8, 6, 1, 0, 8, 7, 1, 0, 8, 28, 1, 0, 8, 29, 0,255, 8, 30, - 0, 15, 0, 49, 0, 0, 6, 36, 0, 0, 8, 31, 0, 2, 6, 81, 0, 2, 6, 82, 0, 2, 8, 32, 0, 2, 0, 35, 0, 2, 7,250, - 0, 2, 6,220, 0, 2, 0, 17, 1, 5, 8, 8, 0, 12, 8, 33, 0, 12, 6, 35, 0, 12, 8, 34, 0, 12, 8, 35, 1, 6, 0, 24, - 1, 6, 0, 0, 1, 6, 0, 1, 0,211, 6, 89, 0, 15, 8, 36, 0, 15, 8, 37, 0, 2, 6, 81, 0, 2, 6, 82, 0, 2, 8, 38, - 0, 2, 8, 39, 0, 2, 8, 40, 0, 2, 0, 17, 0, 7, 2, 78, 0, 2, 8, 14, 0, 2, 8, 15, 0, 2, 7,249, 0, 2, 8, 41, - 0, 2, 7,254, 0, 2, 4,187, 1, 7, 8, 8, 0, 12, 8, 42, 0, 12, 8, 43, 0, 12, 8, 34, 0, 0, 8, 44, 0, 9, 8, 45, - 1, 8, 0, 14, 0, 0, 8, 46, 0, 2, 8, 47, 0, 2, 8, 48, 0, 2, 8, 49, 0, 2, 8, 50, 0, 2, 5, 22, 0, 2, 5, 17, - 0,255, 8, 51, 0, 38, 8, 52, 0, 4, 8, 53, 0, 4, 8, 54, 0, 4, 8, 55, 0, 4, 0, 35, 0, 0, 8, 56, 1, 9, 0, 3, - 0, 0, 8, 57, 0, 4, 8, 58, 0, 4, 8, 59, 1, 10, 0, 4, 0, 4, 6,152, 0, 4, 8, 60, 0, 4, 6,158, 0, 4, 8, 61, - 1, 11, 0, 2, 0, 4, 8, 62, 0, 4, 8, 63, 1, 12, 0, 5, 0, 7, 8, 64, 0, 7, 8, 65, 0, 7, 8, 66, 0, 4, 0, 17, - 0, 4, 0, 35, 1, 13, 0, 6, 0, 0, 8, 67, 0, 0, 6,109, 0, 41, 0,129, 0, 2, 0,104, 0, 2, 5, 21, 0, 4, 0, 35, - 1, 14, 0, 14, 1, 14, 0, 0, 1, 14, 0, 1, 0, 4, 0, 54, 0, 4, 0, 21, 0, 4, 0, 26, 0, 4, 8, 68, 0, 4, 8, 69, - 0, 4, 8, 70, 1, 9, 8, 71, 0, 0, 8, 67, 1, 13, 3, 98, 1, 10, 8, 72, 1, 11, 8, 73, 1, 12, 8, 74, 1, 15, 0, 12, - 0, 0, 1,249, 0, 9, 0,219, 0, 0, 0,220, 0, 4, 0,223, 0, 4, 0,231, 0, 9, 0,224, 0, 7, 0,226, 0, 7, 0,227, - 0, 9, 8, 75, 0, 9, 8, 76, 0, 9, 0,228, 0, 9, 0,230, 1, 16, 0, 48, 1, 16, 0, 0, 1, 16, 0, 1, 0, 9, 8, 77, - 0, 9, 0, 24, 0, 0, 0, 25, 0, 4, 0, 17, 0, 4, 0, 15, 0, 4, 0, 21, 0, 4, 0, 85, 0, 4, 8, 78, 0, 4, 8, 79, - 0, 4, 8, 69, 0, 4, 8, 70, 0, 4, 8, 80, 0, 4, 0,242, 0, 4, 8, 81, 0, 4, 8, 82, 0, 7, 8, 83, 0, 7, 0, 35, - 0, 7, 8, 84, 0, 7, 8, 85, 0, 4, 0,120, 0, 4, 8, 86, 1, 14, 8, 87, 0, 28, 0, 77, 0, 38, 0,116, 0, 24, 8, 88, - 0, 41, 0,129, 0, 7, 8, 89, 0, 7, 8, 90, 1, 15, 1, 58, 1, 16, 8, 91, 1, 16, 8, 92, 1, 16, 8, 93, 0, 12, 8, 94, - 0,242, 6,229, 0, 9, 8, 95, 0, 7, 4, 4, 0, 7, 8, 96, 0, 7, 8, 97, 0, 4, 8, 98, 0, 4, 8, 99, 0, 7, 8,100, - 0, 9, 8,101, 0, 4, 8,102, 0, 4, 8,103, 0, 4, 8,104, 0, 7, 8,105, 1, 17, 0, 4, 1, 17, 0, 0, 1, 17, 0, 1, - 0, 12, 8,106, 1, 16, 8,107, 0,200, 0, 11, 0, 12, 8,108, 0, 12, 8, 94, 0, 12, 8,109, 1, 16, 8,110, 0, 0, 8,111, - 0, 0, 8,112, 0, 4, 8,113, 0, 4, 8,114, 0, 4, 8,115, 0, 4, 0, 35, 0, 16, 8,116, 1, 18, 0, 4, 0, 7, 8,117, - 0, 7, 3, 71, 0, 2, 8,118, 0, 2, 8,119, 1, 19, 0, 6, 0, 7, 8,120, 0, 7, 8,121, 0, 7, 8,122, 0, 7, 8,123, - 0, 4, 8,124, 0, 4, 8,125, 1, 20, 0, 13, 0, 7, 8,126, 0, 7, 8,127, 0, 7, 8,128, 0, 7, 8,129, 0, 7, 8,130, - 0, 7, 8,131, 0, 7, 8,132, 0, 7, 8,133, 0, 7, 8,134, 0, 7, 8,135, 0, 4, 2,228, 0, 4, 8,136, 0, 4, 8,137, - 1, 21, 0, 2, 0, 7, 5, 95, 0, 7, 0, 35, 1, 22, 0, 5, 0, 7, 8,138, 0, 7, 8,139, 0, 4, 0, 88, 0, 4, 2,184, - 0, 4, 8,140, 1, 23, 0, 6, 1, 23, 0, 0, 1, 23, 0, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 8,141, 0, 2, 0, 54, - 1, 24, 0, 8, 1, 24, 0, 0, 1, 24, 0, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 8,141, 0, 2, 0, 54, 0, 7, 0, 21, - 0, 7, 0,120, 1, 25, 0, 45, 1, 25, 0, 0, 1, 25, 0, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 8,141, 0, 2, 0,238, - 0, 2, 4, 46, 0, 2, 8,142, 0, 7, 8,143, 0, 7, 0, 86, 0, 7, 2,241, 0, 4, 8,144, 0, 4, 0, 79, 0, 4, 2,186, - 0, 7, 8,145, 0, 7, 8,146, 0, 7, 8,147, 0, 7, 8,148, 0, 7, 8,149, 0, 7, 8,150, 0, 7, 2,238, 0, 7, 1, 55, - 0, 7, 8,151, 0, 7, 8,152, 0, 7, 0, 35, 0, 7, 8,153, 0, 7, 8,154, 0, 7, 8,155, 0, 2, 8,156, 0, 2, 8,157, - 0, 2, 8,158, 0, 2, 8,159, 0, 2, 8,160, 0, 2, 8,161, 0, 2, 8,162, 0, 2, 8,163, 0, 2, 2, 17, 0, 2, 8,164, - 0, 2, 2, 14, 0, 2, 8,165, 0, 0, 8,166, 0, 0, 8,167, 0, 7, 0,236, 1, 26, 8,168, 0, 58, 1,228, 1, 27, 0, 16, - 1, 27, 0, 0, 1, 27, 0, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 8,141, 0, 2, 0,238, 0, 7, 2,233, 0, 7, 2,234, - 0, 7, 2,235, 0, 7, 2, 67, 0, 7, 2,236, 0, 7, 2,237, 0, 7, 8,169, 0, 7, 2,238, 0, 7, 2,240, 0, 7, 2,241, - 0,224, 0, 5, 0, 2, 0, 15, 0, 2, 8,170, 0, 2, 0, 17, 0, 2, 8,171, 0, 19, 6,188, 0,223, 0, 3, 0, 4, 0, 66, - 0, 4, 8,172, 0,224, 0, 2, 1, 28, 0, 7, 1, 28, 0, 0, 1, 28, 0, 1, 0, 0, 0, 18, 0, 2, 0, 15, 0, 2, 0, 17, - 0, 4, 0, 20, 0, 9, 8,173, 1, 29, 0, 5, 0, 0, 0, 18, 0, 7, 1, 75, 0, 7, 8,174, 0, 4, 8,175, 0, 4, 0, 35, - 1, 30, 0, 4, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 87, 0, 2, 0, 67, 1, 31, 0, 4, 0, 0, 0, 18, 0, 57, 8,176, - 0, 7, 1, 75, 0, 7, 0, 35, 1, 32, 0, 6, 0, 2, 8,177, 0, 2, 8,178, 0, 2, 0, 15, 0, 2, 8,179, 0, 0, 8,180, - 0, 0, 8,181, 1, 33, 0, 5, 0, 4, 0, 15, 0, 4, 0, 35, 0, 0, 0, 18, 0, 0, 8,182, 0, 0, 8,183, 1, 34, 0, 3, - 0, 4, 0, 15, 0, 4, 0, 35, 0, 0, 0, 18, 1, 35, 0, 4, 0, 2, 8,184, 0, 2, 8,185, 0, 2, 0, 17, 0, 2, 0, 35, - 1, 36, 0, 6, 0, 0, 0, 18, 0, 0, 8,186, 0, 2, 8,187, 0, 2, 2,238, 0, 2, 1, 68, 0, 2, 0, 67, 1, 37, 0, 5, - 0, 0, 0, 18, 0, 7, 3, 71, 0, 7, 4,137, 0, 2, 0, 17, 0, 2, 2,198, 1, 38, 0, 3, 0, 0, 0, 18, 0, 4, 2,186, - 0, 4, 8,184, 1, 39, 0, 7, 0, 0, 0, 18, 0, 7, 4,137, 0, 0, 8,188, 0, 0, 8,189, 0, 2, 1, 68, 0, 2, 0, 87, - 0, 4, 8,190, 1, 40, 0, 4, 0, 0, 8,191, 0, 0, 8,192, 0, 4, 0, 15, 0, 7, 2,202, 1, 41, 0, 3, 0, 24, 8,193, - 0, 0, 8,194, 0, 0, 8,195, 1, 42, 0, 18, 1, 42, 0, 0, 1, 42, 0, 1, 0, 2, 0, 15, 0, 2, 8,196, 0, 2, 0, 17, - 0, 2, 8,197, 0, 2, 8,198, 0, 2, 8,199, 0, 2, 0, 87, 0, 2, 0, 67, 0, 0, 0, 18, 0, 9, 0, 2, 1, 43, 8,200, - 0, 24, 0, 42, 0, 2, 5,112, 0, 2, 8, 96, 0, 2, 8,201, 0, 2, 0, 35, 1, 44, 0, 11, 0, 0, 0, 18, 0, 0, 0, 15, - 0, 0, 8,202, 0, 2, 0, 17, 0, 2, 2,198, 0, 2, 8,203, 0, 4, 8,204, 0, 4, 8,205, 0, 4, 8,206, 0, 4, 8,207, - 0, 4, 8,208, 1, 45, 0, 1, 0, 0, 8,209, 1, 46, 0, 4, 0, 34, 6,151, 0, 0, 7,155, 0, 4, 1, 68, 0, 4, 0, 17, - 1, 43, 0, 18, 1, 43, 0, 0, 1, 43, 0, 1, 1, 43, 8,210, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 8,211, 0, 2, 8,199, - 0, 2, 8,196, 0, 2, 8,212, 0, 2, 0, 67, 0, 2, 1,225, 0, 0, 0, 18, 0, 9, 0, 2, 1, 47, 8,200, 1, 42, 8,213, - 0, 2, 0, 13, 0, 2, 8,214, 0, 4, 8,215, 1, 48, 0, 3, 0, 4, 2,212, 0, 4, 0, 35, 0, 24, 0, 42, 1, 49, 0, 12, - 0,155, 8,216, 0, 2, 0, 15, 0, 2, 0, 17, 0, 7, 8,143, 0, 7, 0, 86, 0, 0, 0, 18, 0, 0, 8,217, 0, 2, 8,218, - 0, 2, 8,219, 0, 2, 8,220, 0, 2, 8,221, 0, 7, 8,222, 1, 50, 0, 8, 0, 7, 8,223, 0, 7, 8,224, 0, 7, 8,225, - 0, 7, 8,226, 0, 7, 8,227, 0, 7, 8,228, 0, 7, 8,229, 0, 7, 8,230, 1, 51, 0, 13, 0, 2, 0, 17, 0, 2, 6,230, - 0, 4, 0, 87, 0, 4, 0, 67, 0, 2, 8,231, 0, 7, 4, 4, 0, 7, 8,232, 0,242, 6,229, 1, 50, 8,233, 0, 2, 0, 15, - 0, 2, 5, 30, 0, 2, 5,251, 0, 2, 8,234, 1, 52, 0, 11, 0, 4, 2,212, 0, 2, 0, 15, 0, 2, 0, 17, 0, 24, 0, 42, - 0, 73, 8,235, 0, 0, 0, 18, 0, 7, 8,236, 0, 7, 8,237, 0, 7, 3,143, 0, 2, 8,238, 0, 2, 8,239, 1, 53, 0, 5, - 0, 2, 0, 15, 0, 2, 0, 87, 0, 4, 0, 35, 0, 38, 0,116, 0, 24, 5,103, 1, 54, 0, 5, 0, 4, 0, 35, 0, 4, 0, 15, - 0, 0, 0, 18, 0, 0, 8,182, 0, 24, 0, 42, 1, 55, 0, 13, 0, 2, 0, 17, 0, 2, 0, 15, 0, 2, 8,196, 0, 2, 3,144, - 0, 7, 8,240, 0, 7, 8,241, 0, 7, 4,187, 0, 7, 3,156, 0, 7, 3,114, 0, 7, 3,117, 0, 7, 8,242, 0, 7, 8,243, - 0, 24, 8,244, 1, 56, 0, 10, 0, 2, 0, 17, 0, 2, 0, 15, 0, 7, 8,143, 0, 7, 0, 86, 0, 0, 0, 18, 0, 0, 8,217, - 0, 2, 0, 87, 0, 2, 0, 67, 0, 2, 1,225, 0, 2, 5, 30, 1, 57, 0, 8, 0, 24, 0, 42, 0, 7, 2,235, 0, 7, 8,245, - 0, 7, 8,246, 0, 7, 0, 35, 0, 2, 0, 87, 0, 2, 2,198, 0, 7, 0, 67, 1, 58, 0, 12, 0, 2, 0, 15, 0, 2, 1, 68, - 0, 2, 0, 17, 0, 2, 2,238, 0, 2, 2,212, 0, 2, 8,247, 0, 4, 0, 35, 0, 7, 8,248, 0, 7, 8,249, 0, 7, 8,250, - 0, 7, 8,251, 0, 0, 8,252, 1, 59, 0, 9, 0, 2, 0, 17, 0, 2, 0, 15, 0, 4, 8,143, 0, 4, 0, 86, 0, 0, 0, 18, - 0, 2, 4,187, 0, 2, 0, 61, 0, 2, 8,253, 0, 2, 8,254, 1, 60, 0, 7, 0, 4, 2,186, 0, 4, 8,255, 0, 4, 9, 0, - 0, 4, 9, 1, 0, 7, 9, 2, 0, 7, 9, 3, 0, 0, 8,188, 1, 61, 0, 7, 0, 0, 9, 4, 0, 24, 9, 5, 0, 0, 8,194, - 0, 2, 9, 6, 0, 2, 0, 87, 0, 4, 0, 67, 0, 0, 8,195, 1, 62, 0, 6, 0, 2, 0, 17, 0, 2, 0, 15, 0, 4, 8,143, - 0, 4, 0, 86, 0, 0, 9, 7, 0, 0, 9, 8, 1, 63, 0, 1, 0, 4, 0, 17, 1, 64, 0, 6, 0, 0, 0, 90, 0, 2, 0, 15, - 0, 2, 0, 17, 0, 4, 9, 9, 0, 7, 9, 10, 0, 34, 6,151, 1, 65, 0, 4, 0, 0, 2,155, 0, 2, 0, 17, 0, 4, 0, 15, - 0, 24, 0, 42, 1, 66, 0, 2, 0, 4, 0, 15, 0, 4, 6, 70, 1, 67, 0, 6, 0, 0, 8,191, 0, 0, 8,192, 0, 4, 0, 15, - 0, 7, 2, 25, 0, 24, 3, 48, 0, 24, 9, 11, 1, 47, 0, 10, 1, 47, 0, 0, 1, 47, 0, 1, 1, 47, 8,210, 0, 2, 0, 15, - 0, 2, 0, 17, 0, 2, 8,196, 0, 2, 9, 12, 0, 0, 0, 18, 0, 9, 0, 2, 0, 24, 0, 42, 0,242, 0, 16, 0, 19, 0, 29, - 0, 0, 0, 32, 0, 35, 0,144, 0, 9, 0,219, 0, 35, 9, 13, 0, 28, 0, 77, 0, 7, 4, 4, 0, 7, 9, 14, 0, 7, 8,232, - 0, 7, 8,223, 0, 7, 8,224, 0, 7, 9, 15, 0, 4, 0, 88, 0, 4, 0, 35, 0, 9, 9, 16, 0, 9, 9, 17, 1, 68, 0, 6, - 1, 68, 0, 0, 1, 68, 0, 1, 0, 24, 0, 42, 0, 9, 9, 18, 0, 2, 0,243, 0, 0, 2,183, 0, 58, 0, 4, 0, 19, 0, 29, - 0, 12, 9, 19, 0, 4, 0,125, 0, 7, 9, 20, 1, 69, 0, 28, 1, 69, 0, 0, 1, 69, 0, 1, 0, 18, 9, 21, 1, 69, 0, 36, - 0, 12, 9, 22, 0, 0, 0, 18, 0, 7, 9, 23, 0, 7, 9, 24, 0, 7, 9, 25, 0, 7, 9, 26, 0, 4, 0, 17, 0, 7, 9, 27, - 0, 7, 9, 28, 0, 7, 9, 29, 0, 7, 9, 30, 0, 7, 1, 75, 0, 7, 2, 25, 0, 7, 9, 31, 0, 7, 2,184, 0, 7, 9, 32, - 0, 7, 9, 33, 0, 7, 9, 34, 0, 7, 9, 35, 0, 7, 9, 36, 0, 7, 0,166, 0, 4, 0,125, 0, 2, 5,149, 0, 2, 7, 2, - 1, 70, 0, 25, 0, 19, 0, 29, 0, 31, 0, 72, 0, 12, 9, 37, 0, 12, 9, 38, 0, 12, 9, 39, 1, 69, 9, 40, 0, 9, 9, 41, - 0, 9, 9, 42, 0, 4, 0, 17, 0, 4, 6, 44, 0, 2, 2,242, 0, 2, 6,100, 0, 4, 9, 43, 0, 4, 0,125, 0, 4, 9, 44, - 0, 2, 9, 45, 0, 2, 9, 46, 0, 2, 9, 47, 0, 2, 9, 48, 0, 4, 9, 49, 0, 4, 9, 50, 0, 4, 9, 51, 0, 4, 9, 52, - 0, 4, 9, 53, 0, 4, 9, 54, 1, 71, 0, 2, 0, 7, 2,143, 0, 4, 0, 17, 0,159, 0, 5, 1, 71, 9, 55, 0, 4, 2,184, - 0, 4, 9, 56, 0, 4, 9, 57, 0, 4, 0, 17, 0,158, 0, 16, 0, 4, 9, 58, 0, 4, 9, 59, 0, 4, 9, 60, 0, 4, 9, 61, - 0, 2, 9, 62, 0, 2, 9, 63, 0, 2, 9, 64, 0, 2, 0,243, 0, 2, 9, 65, 0, 2, 9, 66, 0, 2, 9, 67, 0, 2, 9, 68, - 0, 4, 9, 69, 0, 4, 9, 70, 0, 4, 9, 71, 0, 4, 9, 72, 1, 72, 0, 41, 1, 72, 0, 0, 1, 72, 0, 1, 0, 18, 9, 21, - 0, 12, 3,170, 0, 0, 0, 18, 0, 2, 0, 17, 0, 2, 9, 73, 0, 2, 9, 74, 0, 2, 9, 75, 0, 2, 3,129, 0, 2, 9, 76, - 0, 4, 2, 65, 0, 4, 9, 51, 0, 4, 9, 52, 1, 69, 9, 77, 1, 72, 0, 36, 1, 72, 9, 78, 0, 12, 9, 79, 0,159, 3,106, - 0, 24, 9, 80, 1, 72, 9, 81, 0, 7, 1, 63, 0, 7, 0,166, 0, 7, 9, 82, 0, 7, 2, 4, 0, 7, 3,119, 0, 7, 3,121, - 0, 2, 3,152, 0, 2, 0, 35, 0, 7, 9, 83, 0, 7, 9, 84, 0, 7, 3,124, 0, 7, 9, 85, 0, 7, 9, 86, 0, 7, 9, 87, - 0, 7, 9, 88, 0, 7, 9, 89, 0, 7, 9, 90, 0, 7, 9, 91, 0, 7, 9, 92, 0, 7, 2, 58, 0,156, 0, 16, 0, 12, 9, 93, - 0, 68, 9, 94, 0, 2, 0, 17, 0, 2, 0, 35, 0, 4, 9, 95, 0, 4, 0, 87, 0, 7, 2, 94, 0, 7, 9, 96, 0, 7, 9, 97, - 0, 12, 9, 98, 0, 4, 9, 99, 0, 4, 9,100, 0, 9, 9,101, 0, 9, 9,102, 0,158, 3,105, 0, 0, 9,103, 1, 73, 0, 1, - 0, 4, 9,100, 1, 74, 0, 12, 0, 4, 9,100, 0, 7, 8,208, 0, 2, 9,104, 0, 2, 9,105, 0, 7, 9,106, 0, 7, 9,107, - 0, 2, 9,108, 0, 2, 0, 17, 0, 7, 9,109, 0, 7, 9,110, 0, 7, 9,111, 0, 7, 9,112, 1, 75, 0, 7, 1, 75, 0, 0, - 1, 75, 0, 1, 0, 12, 9,113, 0, 4, 0, 17, 0, 4, 9,114, 0, 0, 3,250, 0,250, 9,115, 0,155, 0, 7, 0, 19, 0, 29, - 0, 12, 9,116, 0, 12, 9, 93, 0, 12, 9,117, 0, 12, 0, 98, 0, 4, 0, 17, 0, 4, 9,118, 0,214, 0, 6, 0, 19, 9,119, - 0, 12, 9, 93, 0, 58, 9,120, 0, 0, 9,121, 0, 4, 9,122, 0, 4, 0, 17, 1, 76, 0, 13, 0,210, 0, 0, 0,210, 0, 1, - 0, 12, 6, 35, 0, 4, 6, 36, 0, 7, 6, 37, 0, 2, 6, 38, 0,211, 6, 89, 0,155, 3,101, 0,214, 9,123, 0, 0, 1, 68, - 0, 0, 6, 92, 0, 2, 0, 17, 0, 7, 9,124, 1, 77, 0, 8, 1, 77, 0, 0, 1, 77, 0, 1, 1, 75, 9,125, 0, 28, 0, 77, - 0, 12, 3,107, 0, 4, 0, 17, 0, 0, 0, 18, 0, 4, 7,247, 1, 78, 0, 5, 1, 78, 0, 0, 1, 78, 0, 1, 0, 28, 0, 77, - 0, 2, 0, 17, 0, 0, 9,126, 1, 79, 0, 14, 1, 79, 0, 0, 1, 79, 0, 1, 0, 9, 0, 2, 0, 2, 0, 15, 0, 2, 0, 17, - 0, 0, 9,127, 0, 0, 9,128, 0, 0, 9,126, 0, 7, 9,129, 0, 7, 9,130, 0, 4, 0, 35, 0, 28, 0, 77, 0, 7, 9,131, - 0, 7, 9,132, 1, 80, 0, 9, 1, 80, 0, 0, 1, 80, 0, 1, 0, 24, 9,133, 0, 0, 2,245, 0, 7, 9,134, 0, 2, 9,135, - 0, 2, 0, 17, 0, 2, 0, 15, 0, 2, 9,136, 1, 81, 0, 7, 0, 34, 6,151, 0, 18, 9, 21, 0, 4, 0, 17, 0, 4, 9,137, - 0, 12, 9,138, 0, 24, 9,133, 0, 0, 2,245, 1, 82, 0, 15, 0, 24, 9,133, 0, 2, 9,139, 0, 2, 0, 17, 0, 2, 9,140, - 0, 2, 9,141, 0, 0, 2,245, 0, 24, 9,142, 0, 0, 9,143, 0, 7, 9,144, 0, 7, 2, 25, 0, 7, 9,145, 0, 7, 9,146, - 0, 2, 0, 15, 0, 2, 1, 68, 0, 7, 1, 75, 1, 83, 0, 6, 0, 24, 9,133, 0, 7, 9, 55, 0, 2, 9,147, 0, 2, 9,148, - 0, 2, 0, 17, 0, 2, 9,149, 1, 84, 0, 6, 0, 24, 9,133, 0, 4, 9,150, 0, 4, 9,151, 0, 4, 0, 88, 0, 4, 0, 35, - 0, 0, 2,245, 1, 85, 0, 4, 0, 24, 9,133, 0, 4, 0, 17, 0, 4, 9,150, 0, 0, 2,245, 1, 86, 0, 4, 0, 24, 9,133, - 0, 4, 0, 17, 0, 4, 9,150, 0, 0, 2,245, 1, 87, 0, 4, 0, 24, 9,133, 0, 4, 0, 17, 0, 4, 9,150, 0, 0, 2,245, - 1, 88, 0, 2, 0, 4, 0, 17, 0, 7, 4, 4, 1, 89, 0, 2, 0, 24, 9,133, 0, 0, 2,245, 1, 90, 0, 10, 0, 24, 9,133, - 0, 4, 9,152, 0, 7, 0,119, 0, 4, 0, 17, 0, 2, 6,149, 0, 2, 9,153, 0, 2, 0, 87, 0, 2, 0, 67, 0, 7, 9,154, - 0, 0, 2,245, 1, 91, 0, 10, 0, 24, 9,133, 0, 2, 0, 15, 0, 2, 4, 54, 0, 4, 0, 85, 0, 4, 0, 86, 0, 7, 8,245, - 0, 7, 8,246, 0, 4, 0, 35, 0,155, 8,216, 0, 0, 2,245, 1, 92, 0, 4, 0, 24, 9,133, 0, 4, 3,130, 0, 4, 9,155, - 0, 0, 2,245, 1, 93, 0, 4, 0, 24, 9,133, 0, 4, 3,130, 0, 4, 0, 35, 0, 0, 2,245, 1, 94, 0, 6, 0, 24, 9,133, - 0, 7, 0,119, 0, 7, 3, 60, 0, 4, 9,156, 0, 2, 3,130, 0, 2, 3,131, 1, 95, 0, 6, 0, 24, 9,133, 0, 4, 9,157, - 0, 4, 9,158, 0, 7, 9,159, 0, 7, 9,160, 0, 0, 2,245, 1, 96, 0, 16, 0, 24, 9,133, 0, 24, 9, 78, 0, 4, 0, 15, - 0, 7, 9,161, 0, 7, 9,162, 0, 7, 9,163, 0, 7, 9,164, 0, 7, 9,165, 0, 7, 9,166, 0, 7, 9,167, 0, 7, 9,168, - 0, 7, 9,169, 0, 2, 0, 17, 0, 2, 0, 35, 0, 2, 0, 87, 0, 2, 0, 67, 1, 97, 0, 3, 0, 24, 9,133, 0, 4, 0, 17, - 0, 4, 2, 17, 1, 98, 0, 5, 0, 24, 9,133, 0, 4, 0, 17, 0, 4, 0, 35, 0, 7, 9,170, 0, 0, 2,245, 1, 99, 0, 10, - 0, 24, 9,133, 0, 0, 2,245, 0, 2, 9,171, 0, 2, 9,172, 0, 0, 9,173, 0, 0, 9,174, 0, 7, 9,175, 0, 7, 9,176, - 0, 7, 9,177, 0, 7, 9,178, 1,100, 0, 5, 0, 24, 9,133, 0, 0, 2,245, 0, 7, 2,192, 0, 2, 9,179, 0, 2, 0, 17, - 1,101, 0, 8, 0, 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 9,180, 0, 7, 9,181, 0, 2, 0, 17, - 0, 2, 2, 17, 1,102, 0, 8, 0, 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 9,180, 0, 7, 9,181, - 0, 2, 0, 17, 0, 2, 2, 17, 1,103, 0, 8, 0, 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 9,180, - 0, 7, 9,181, 0, 2, 0, 17, 0, 2, 2, 17, 1,104, 0, 7, 0, 24, 9,133, 0, 0, 2,245, 0, 7, 1, 75, 0, 7, 1, 84, - 0, 2, 0, 17, 0, 2, 1, 68, 0, 4, 0, 35, 1,105, 0, 5, 0, 24, 3, 48, 0, 7, 1, 75, 0, 2, 3, 52, 0, 0, 3, 54, - 0, 0, 9,182, 1,106, 0, 10, 1,106, 0, 0, 1,106, 0, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 0, 9,183, 0, 7, 1, 18, - 0, 7, 1, 19, 0, 2, 9,113, 0, 2, 9,184, 0, 24, 0, 42, 1,107, 0, 22, 1,107, 0, 0, 1,107, 0, 1, 0, 2, 0, 17, - 0, 2, 1, 68, 0, 2, 9,185, 0, 2, 9,186, 0, 28, 0, 77, 0,155, 8,216, 0, 24, 0,158, 0, 7, 0, 85, 0, 7, 0, 86, - 0, 7, 9,187, 0, 7, 9,188, 0, 7, 9,189, 0, 7, 9,190, 0, 7, 2,231, 0, 7, 9,191, 0, 7, 8,218, 0, 7, 9,192, - 0, 0, 9,193, 0, 0, 9,194, 0, 12, 3,110, 1,108, 0, 8, 0, 7, 2, 32, 0, 7, 8,245, 0, 7, 8,246, 0, 9, 0, 2, - 0, 2, 9,195, 0, 2, 9,196, 0, 2, 9,197, 0, 2, 9,198, 1,109, 0, 19, 1,109, 0, 0, 1,109, 0, 1, 1,109, 9,199, - 0, 0, 0, 18, 1,108, 9,200, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 9,201, 0, 2, 9,202, 1,108, 9,203, 0, 2, 9,204, - 0, 2, 0, 87, 0, 7, 9,205, 0, 7, 9,206, 0, 4, 9,207, 1,109, 9,208, 0, 4, 9,209, 0, 4, 0, 67, 1,110, 9,210, - 1,111, 0, 4, 0, 0, 9,211, 0, 2, 9,212, 0, 2, 9,213, 0, 4, 0, 35, 1,112, 0, 34, 1,112, 0, 0, 1,112, 0, 1, - 1,112, 9,214, 0, 0, 0, 18, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 8, 68, 0, 2, 8, 96, 0, 2, 9,215, 0, 2, 6,154, - 0, 2, 9,204, 0, 2, 8,170, 0, 12, 8,211, 0, 12, 9,216, 0, 19, 6,188, 0, 9, 9,217, 0, 7, 9,205, 0, 7, 9,206, - 0, 7, 2, 67, 0, 7, 9,218, 0, 0, 9,219, 0, 2, 9,220, 0, 2, 9,221, 0, 7, 9,222, 0, 7, 9,223, 0, 2, 9,224, - 0, 2, 9,225, 0, 9, 9,226, 0, 16, 9,227, 0, 16, 9,228, 0, 16, 9,229, 1,111, 0,145, 1,113, 9,230, 1,114, 9,231, - 1,110, 0, 8, 1,110, 0, 0, 1,110, 0, 1, 1,112, 9,232, 1,112, 9,233, 1,109, 9,234, 1,109, 9,235, 0, 4, 0, 17, - 0, 4, 0, 35, 0, 52, 0, 23, 0, 19, 0, 29, 0, 31, 0, 72, 0,157, 3,104, 0, 12, 9,236, 0, 12, 9,237, 1,108, 9,238, - 0, 12, 9,239, 0, 4, 0, 15, 0, 4, 9,240, 0, 4, 9,241, 0, 4, 9,242, 0, 4, 0, 17, 0, 4, 0, 35, 0, 12, 9,243, - 0, 12, 8,211, 0, 12, 9,216, 0, 4, 9,244, 0, 9, 9,245, 0, 9, 9,246, 0, 4, 9,247, 0, 9, 9,248, 0, 9, 9,249, - 0, 9, 9,250, 1,115, 0, 6, 0, 4, 0,118, 0, 4, 0,120, 0, 4, 8,170, 0, 0, 9,251, 0, 0, 9,252, 0, 2, 0, 35, - 1,116, 0, 16, 0, 2, 8, 14, 0, 2, 8, 15, 0, 2, 9,253, 0, 2, 9,254, 0, 2, 9,255, 0, 2, 0, 65, 0, 2, 6,189, - 0, 2, 10, 0, 0, 7, 2,230, 0, 7, 10, 1, 0, 7, 10, 2, 0, 2, 1, 90, 0, 0, 10, 3, 0, 0, 10, 4, 0, 4, 10, 5, - 0, 4, 10, 6, 1,117, 0, 9, 0, 7, 10, 7, 0, 7, 10, 8, 0, 7, 9, 15, 0, 7, 3, 71, 0, 7, 10, 9, 0, 7, 6,106, - 0, 2, 3, 69, 0, 0, 10, 10, 0, 0, 0, 35, 1,118, 0, 4, 0, 7, 10, 11, 0, 7, 10, 12, 0, 2, 3, 69, 0, 2, 0, 35, - 1,119, 0, 3, 0, 7, 10, 13, 0, 7, 8, 83, 0, 7, 0, 13, 1,120, 0, 7, 0, 0, 1,249, 0, 2, 5, 19, 0, 2, 5, 20, - 0, 2, 5, 21, 0, 2, 4,209, 0, 4, 0,120, 0, 4, 4, 52, 1,121, 0, 9, 0, 7, 10, 14, 0, 7, 10, 15, 0, 7, 10, 16, - 0, 7, 2, 78, 0, 7, 10, 17, 0, 7, 10, 18, 0, 7, 10, 19, 0, 2, 10, 20, 0, 2, 10, 21, 1,122, 0, 8, 0, 2, 10, 22, - 0, 2, 10, 23, 0, 2, 10, 24, 0, 2, 10, 25, 0, 7, 10, 26, 0, 7, 10, 27, 0, 7, 10, 28, 0, 7, 10, 29, 1,123, 0, 2, - 0, 7, 0, 5, 0, 7, 0, 6, 1,124, 0, 2, 0, 0, 0,160, 0, 0, 10, 30, 1,125, 0, 1, 0, 0, 0, 18, 1,126, 0, 10, - 0, 0, 10, 31, 0, 0, 10, 32, 0, 0, 6, 98, 0, 0, 10, 33, 0, 2, 9,253, 0, 2, 10, 34, 0, 7, 10, 35, 0, 7, 10, 36, - 0, 7, 10, 37, 0, 7, 9,191, 1,127, 0, 2, 0, 9, 10, 38, 0, 9, 10, 39, 1,128, 0, 11, 0, 0, 5, 21, 0, 0, 0, 15, - 0, 0, 3, 69, 0, 0, 3, 71, 0, 0, 10, 40, 0, 0, 0,104, 0, 0, 2,155, 0, 7, 10, 41, 0, 7, 10, 42, 0, 7, 10, 43, - 0, 7, 10, 44, 1,129, 0, 8, 0, 7, 8,177, 0, 7, 0,119, 0, 7, 10, 4, 0, 7, 2,148, 0, 7, 10, 45, 0, 7, 0,232, - 0, 7, 10, 46, 0, 4, 0, 15, 1,130, 0, 4, 0, 2, 10, 47, 0, 2, 10, 48, 0, 2, 10, 49, 0, 2, 0, 35, 1,131, 0, 8, - 0, 7, 10, 50, 0, 7, 2,192, 0, 7, 10, 51, 0, 7, 8, 64, 0, 7, 8, 65, 0, 7, 8, 66, 0, 7, 10, 52, 0, 7, 10, 53, - 1,132, 0, 6, 0, 2, 10, 54, 0, 2, 10, 55, 0, 7, 10, 56, 0, 7, 10, 57, 0, 7, 10, 58, 0, 7, 10, 59, 1,133, 0, 1, - 0, 0, 0, 18, 1,134, 0, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 2, 0, 17, 0, 2, 10, 60, 1,135, 0, 10, 0, 2, 3,238, - 0, 2, 0, 17, 0, 7, 4,137, 0, 7, 10, 61, 0, 7, 10, 62, 0, 7, 10, 63, 0, 7, 10, 64, 1,134, 10, 65, 1,134, 10, 66, - 1,134, 10, 67, 0, 55, 0, 11, 0, 4, 0, 17, 0, 4, 0, 61, 0, 4, 10, 68, 0, 4, 10, 69, 0, 16, 10, 70, 0, 16, 10, 71, - 1,135, 10, 72, 0, 7, 10, 73, 0, 7, 10, 74, 0, 7, 10, 75, 0, 7, 10, 76, 0,227, 0, 10, 0, 4, 9,113, 0, 4, 10, 77, - 0, 7, 10, 78, 0, 7, 10, 79, 0, 7, 10, 80, 0, 7, 10, 81, 0, 7, 0, 8, 0, 7, 0, 10, 0, 4, 1, 68, 0, 4, 2,235, - 0,226, 0, 18, 0, 4, 0,123, 0, 4, 10, 82, 0, 4, 10, 83, 0, 7, 10, 84, 0, 4, 10, 85, 0, 7, 10, 86, 0, 7, 10, 87, - 0, 4, 10, 88, 0, 7, 10, 89, 0, 4, 10, 90, 0, 7, 10, 91, 0,227, 10, 92, 0, 7, 10, 93, 0, 7, 10, 94, 0, 7, 10, 95, - 0, 7, 10, 96, 0, 4, 10, 97, 0, 4, 0, 35, 1,136, 0, 4, 0, 39, 2,222, 0, 7, 10, 98, 0, 7, 1,157, 0, 7, 0, 35, - 0,189, 0, 34, 0, 19, 0, 29, 1,136, 10, 99, 0, 55, 10, 65, 0, 43, 10,100, 0, 49, 10,101, 0, 22, 0,145, 0, 0, 10,102, - 0, 7, 10,103, 0, 2, 6, 1, 0, 2, 10,104, 0, 4, 0,104, 0, 4, 0, 17, 0, 7, 10,105, 0, 4, 2, 75, 0, 4, 10,106, - 0, 7, 10,107, 0, 7, 10,108, 0, 7, 10,109, 0, 7, 1,157, 0, 4, 10,110, 0, 7, 10,111, 0, 0, 10,112, 0, 0, 10,113, - 0, 0, 10,114, 0, 0, 10,115, 0, 7, 10,116, 0, 7, 10,117, 0, 7, 10,118, 0, 7, 2,235, 0, 7, 10,119, 0, 4, 10,120, - 0, 7, 10,121, 0, 7, 10,122, 0, 7, 10,123, 1,137, 0, 10, 0, 4, 0, 15, 0, 4, 0,119, 0, 4, 0, 17, 0, 4, 3,191, - 0, 4, 10,124, 0, 4, 10,125, 0, 4, 10,126, 0, 0, 0, 90, 0, 0, 0, 18, 0, 9, 0, 2, 1,138, 0, 1, 0, 0, 8, 56, - 0, 84, 0, 7, 1,137, 10,127, 0, 4, 10,128, 0, 4, 10,129, 0, 4, 10,130, 0, 4, 0, 35, 0, 9, 10,131, 1,138, 10,132, - 1,139, 0, 5, 0, 7, 2,143, 0, 7, 2,212, 0, 7, 2, 25, 0, 2, 2,124, 0, 2, 0, 35, 1,140, 0, 5, 0, 7, 2,143, - 0, 7, 10,133, 0, 7, 10,134, 0, 7, 10,135, 0, 7, 2,212, 1,141, 0, 5, 0, 24, 10,136, 1,142, 0, 20, 0, 7, 5,223, - 0, 7, 10,137, 0, 7, 0, 54, 1,143, 0, 3, 0, 7, 10,138, 0, 4, 10,139, 0, 4, 10,140, 1,144, 0, 7, 0, 4, 10,141, - 0, 4, 10,142, 0, 4, 10,143, 0, 7, 10,144, 0, 7, 10,145, 0, 7, 10,146, 0, 7, 0, 54, 1,145, 0, 8, 1,145, 0, 0, - 1,145, 0, 1, 0, 24, 0, 42, 0, 4, 0,251, 0, 2, 0, 17, 0, 2, 1, 68, 0, 7, 2,212, 0, 7, 8,185, 1,146, 0, 6, - 1,146, 0, 0, 1,146, 0, 1, 0, 24, 0, 42, 0, 2, 2,197, 0, 2, 0, 17, 0, 2, 10,147, 1,147, 0, 17, 1,140, 3,185, - 1,140, 10,148, 1,139, 10,149, 1,140, 8,168, 1,141, 10,150, 0, 4, 0, 79, 0, 7, 2,212, 0, 7, 2,241, 0, 7, 10,151, - 0, 4, 10,141, 0, 4, 10,152, 0, 7, 10,145, 0, 7, 10,146, 0, 7, 0,104, 0, 4, 10,153, 0, 2, 0, 17, 0, 2, 10,154, - 1,148, 0, 15, 0, 7, 0,247, 0, 7, 10,155, 0, 7, 10,138, 0, 7, 10,156, 0, 7, 10,157, 0, 7, 10,158, 0, 7, 10,159, - 0, 7, 10,160, 0, 7, 10,161, 0, 7, 10,162, 0, 7, 10,163, 0, 7, 10,164, 0, 7, 10,165, 0, 4, 0, 17, 0, 4, 10,166, - 1,149, 0,121, 0, 19, 0, 29, 0, 31, 0, 72, 1,150, 10,167, 1,148, 10,168, 0,166, 4, 74, 0, 4, 0, 17, 0, 4, 0, 54, - 0, 2, 0, 15, 0, 2, 9,171, 0, 2, 10,169, 0, 2, 1,103, 0, 2, 10,170, 0, 2, 3,152, 0, 2, 10,171, 0, 2, 10,172, - 0, 2, 10,173, 0, 2, 10,174, 0, 2, 10,175, 0, 2, 10,176, 0, 2, 10,177, 0, 2, 10,178, 0, 2, 10,179, 0, 2, 5,120, - 0, 2, 10,180, 0, 2, 10,181, 0, 2, 10,182, 0, 2, 10,183, 0, 2, 10,184, 0, 2, 2, 14, 0, 2, 8,161, 0, 2, 8,136, - 0, 2, 10,185, 0, 2, 10,186, 0, 2, 3,201, 0, 2, 3,202, 0, 2, 10,187, 0, 2, 10,188, 0, 2, 10,189, 0, 2, 10,190, - 0, 7, 10,191, 0, 7, 10,192, 0, 7, 10,193, 0, 7, 10,194, 0, 2, 5, 70, 0, 2, 10,195, 0, 7, 10,196, 0, 7, 10,197, - 0, 7, 10,198, 0, 7, 8,143, 0, 7, 0, 86, 0, 7, 2,241, 0, 7, 8,149, 0, 7, 10,199, 0, 7, 10,200, 0, 7, 10,201, - 0, 7, 10,202, 0, 4, 8,144, 0, 4, 8,142, 0, 4, 10,203, 0, 4, 10,204, 0, 7, 8,145, 0, 7, 8,146, 0, 7, 8,147, - 0, 7, 10,205, 0, 7, 10,206, 0, 7, 10,207, 0, 7, 10,208, 0, 7, 10,209, 0, 7, 10,210, 0, 7, 10,211, 0, 7, 10,212, - 0, 7, 10,213, 0, 7, 3,143, 0, 7, 0,104, 0, 7, 10,214, 0, 7, 10,215, 0, 7, 10,216, 0, 7, 10,217, 0, 7, 0,205, - 0, 7, 10,218, 0, 4, 10,219, 0, 4, 10,220, 0, 7, 10,221, 0, 7, 10,222, 0, 7, 10,223, 0, 7, 10,224, 0, 7, 10,225, - 0, 7, 0,204, 0, 7, 10,226, 0, 7, 3,228, 0, 7, 3,226, 0, 7, 3,227, 0, 7, 10,227, 0, 7, 10,228, 0, 7, 10,229, - 0, 7, 10,230, 0, 7, 10,231, 0, 7, 10,232, 0, 7, 10,233, 0, 7, 10,234, 0, 7, 10,235, 0, 7, 10,236, 0, 7, 10,237, - 0, 7, 10,238, 0, 7, 10,239, 0, 7, 10,240, 0, 7, 10,241, 0, 7, 10,242, 0, 7, 10,243, 0, 7, 10,244, 0, 4, 10,245, - 0, 4, 10,246, 0, 43, 1,121, 0, 58, 3,175, 0, 12, 10,247, 0, 58, 10,248, 0, 24, 10,249, 0, 24, 10,250, 0, 28, 0, 77, - 0,161, 1, 60, 0,161, 10,251, 0,140, 0, 50, 0,140, 0, 0, 0,140, 0, 1, 1,149, 10,252, 1,147, 10,253, 1,144, 9, 78, - 0,169, 4, 0, 0, 9, 4, 1, 1,151, 10,254, 1,151, 10,255, 0, 12, 11, 0, 0, 12, 11, 1, 0,125, 11, 2, 0,133, 11, 3, - 0,133, 11, 4, 0, 24, 11, 5, 0, 24, 11, 6, 0, 24, 0, 36, 0, 12, 9,138, 0, 0, 0, 18, 0, 7, 0,236, 0, 7, 3, 14, - 0, 7, 11, 7, 0, 7, 11, 8, 0, 4, 2,186, 0, 4, 11, 9, 0, 4, 0, 17, 0, 4, 8,144, 0, 4, 11, 10, 0, 4, 11, 11, - 0, 4, 11, 12, 0, 4, 11, 13, 0, 2, 0,243, 0, 2, 11, 14, 0, 2, 11, 15, 0, 2, 11, 16, 0, 0, 11, 17, 0, 2, 11, 18, - 0, 2, 11, 19, 0, 2, 11, 20, 0, 9, 11, 21, 0,129, 4, 73, 0, 12, 2,255, 0, 12, 11, 22, 1,143, 11, 23, 0, 4, 11, 24, - 0, 4, 11, 25, 1,152, 11, 26, 0,131, 3, 11, 1,153, 11, 27, 0, 7, 11, 28, 0,127, 0, 37, 1,154, 9, 16, 0, 7, 4, 43, - 0, 7, 11, 29, 0, 7, 11, 30, 0, 7, 5,223, 0, 7, 3,153, 0, 7, 3,143, 0, 7, 11, 31, 0, 7, 2, 77, 0, 7, 11, 32, - 0, 7, 11, 33, 0, 7, 11, 34, 0, 7, 11, 35, 0, 7, 11, 36, 0, 7, 11, 37, 0, 7, 4, 44, 0, 7, 11, 38, 0, 7, 11, 39, - 0, 7, 11, 40, 0, 7, 4, 45, 0, 7, 4, 41, 0, 7, 4, 42, 0, 7, 11, 41, 0, 7, 11, 42, 0, 4, 11, 43, 0, 4, 0, 88, - 0, 4, 11, 44, 0, 4, 11, 45, 0, 2, 11, 46, 0, 2, 11, 47, 0, 2, 11, 48, 0, 2, 11, 49, 0, 2, 11, 50, 0, 2, 11, 51, - 0, 2, 11, 52, 0, 2, 4,187, 0,166, 4, 74, 0,128, 0, 9, 1,154, 11, 53, 0, 7, 11, 54, 0, 7, 11, 55, 0, 7, 1,229, - 0, 7, 11, 56, 0, 4, 0, 88, 0, 2, 11, 57, 0, 2, 11, 58, 0, 58, 1,228, 1,155, 0, 4, 0, 7, 0, 5, 0, 7, 0, 6, - 0, 7, 2, 3, 0, 7, 11, 59, 1,156, 0, 6, 1,156, 0, 0, 1,156, 0, 1, 1,155, 9, 55, 0, 4, 0,249, 0, 2, 11, 60, - 0, 2, 0, 17, 1,157, 0, 5, 1,157, 0, 0, 1,157, 0, 1, 0, 12, 11, 61, 0, 4, 11, 62, 0, 4, 0, 17, 1,158, 0, 9, - 1,158, 0, 0, 1,158, 0, 1, 0, 12, 0,118, 1,157, 11, 63, 0, 4, 0, 17, 0, 2, 11, 60, 0, 2, 11, 64, 0, 7, 0, 89, - 0, 0, 11, 65, 0,157, 0, 6, 0, 19, 0, 29, 0, 12, 5, 38, 0, 4, 0, 17, 0, 2, 11, 66, 0, 2, 11, 67, 0, 9, 11, 68, - 1,159, 0, 6, 0, 12, 11, 69, 0, 4, 11, 70, 0, 4, 11, 71, 0, 4, 0, 17, 0, 4, 0, 35, 0,208, 11, 72, 1,160, 0, 17, - 0, 19, 0, 29, 1,161, 11, 73, 1,161, 11, 74, 0, 12, 11, 75, 0, 4, 11, 76, 0, 2, 11, 77, 0, 2, 11, 78, 0, 12, 11, 79, - 0, 12, 11, 80, 1,159, 11, 81, 0, 12, 11, 82, 0, 12, 11, 83, 0, 12, 11, 84, 0, 12, 11, 85, 1,162, 11, 86, 0, 12, 11, 87, - 0,208, 11, 88, 1,161, 0, 32, 1,161, 0, 0, 1,161, 0, 1, 0, 9, 11, 89, 0, 4, 7,248, 0, 2, 11, 90, 0, 2, 0, 35, - 0,255, 11, 91, 0,255, 11, 92, 0, 0, 11, 93, 0, 2, 11, 94, 0, 2, 11, 95, 0, 2, 8, 14, 0, 2, 8, 15, 0, 2, 11, 96, - 0, 2, 11, 97, 0, 2, 3,191, 0, 2, 6,220, 0, 2, 11, 98, 0, 2, 11, 99, 0, 2, 11,100, 0, 2, 0, 67, 1,163, 11,101, - 1,164, 11,102, 1,165, 11,103, 0, 4, 11,104, 0, 4, 11,105, 0, 9, 11,106, 0, 12, 11, 80, 0, 12, 8, 34, 0, 12, 11,107, - 0, 12, 11,108, 0, 12, 11,109, 1,166, 0, 17, 1,166, 0, 0, 1,166, 0, 1, 0, 0, 11,110, 0, 18, 0, 28, 0, 2, 11,111, - 0, 2, 0, 15, 0, 2, 0, 13, 0, 2, 11,112, 0, 2, 11,113, 0, 2, 11,114, 0, 2, 11,115, 0, 2, 11,116, 0, 2, 0, 17, - 0, 2, 11,117, 0, 2, 0, 29, 0, 2, 0, 35, 1,167, 11,118, 1,168, 0, 10, 1,168, 0, 0, 1,168, 0, 1, 0, 12, 11,119, - 0, 0, 11,110, 0, 2, 11,120, 0, 2, 11,121, 0, 2, 0, 17, 0, 2, 11,122, 0, 4, 11,123, 0, 9, 11,124, 1,162, 0, 7, - 1,162, 0, 0, 1,162, 0, 1, 0, 0, 11,110, 0, 0, 11,125, 0, 12, 7,193, 0, 4, 11,126, 0, 4, 0, 17, 0,220, 0, 14, - 0,220, 0, 0, 0,220, 0, 1, 0, 0, 11,110, 0, 18, 0, 28, 1,169, 8, 8, 0, 9, 11,127, 0, 9, 11,128, 1,167, 11,118, - 1,159, 11,129, 0, 12, 11,130, 0,220, 11,131, 1, 4, 6,127, 0, 2, 0, 17, 0, 2, 4,187, 1,170, 0, 8, 1,170, 0, 0, - 1,170, 0, 1, 0, 9, 0, 2, 0, 9, 11,132, 0, 0, 3,250, 0, 2, 0, 15, 0, 2, 0, 17, 0, 7, 11,133, 1,171, 0, 5, - 0, 7, 11,134, 0, 4, 11,135, 0, 4, 11,136, 0, 4, 1, 68, 0, 4, 0, 17, 1,172, 0, 6, 0, 7, 11,137, 0, 7, 11,138, - 0, 7, 11,139, 0, 7, 11,140, 0, 4, 0, 15, 0, 4, 0, 17, 1,173, 0, 5, 0, 7, 8,245, 0, 7, 8,246, 0, 7, 2,212, - 0, 2, 2, 28, 0, 2, 2, 29, 1,174, 0, 5, 1,173, 0, 2, 0, 4, 0, 51, 0, 7, 11,141, 0, 7, 8,245, 0, 7, 8,246, - 1,175, 0, 4, 0, 2, 11,142, 0, 2, 11,143, 0, 2, 11,144, 0, 2, 11,145, 1,176, 0, 2, 0, 34, 6,182, 0, 18, 9, 21, - 1,177, 0, 3, 0, 16, 11,146, 0, 4, 0, 17, 0, 4, 0, 35, 1,178, 0, 6, 0, 7, 0,104, 0, 7, 2,214, 0, 7, 11,147, - 0, 7, 0, 35, 0, 2, 0,242, 0, 2, 11,148, 1,179, 0, 5, 0, 7, 11,149, 0, 7, 0,119, 0, 7, 9, 56, 0, 7, 9, 57, - 0, 4, 0, 17, 1,180, 0, 6, 0, 19, 6,188, 0, 0, 11,150, 0, 0, 11,151, 0, 2, 11,152, 0, 2, 0, 17, 0, 4, 11,153, - 1,181, 0, 7, 1,181, 0, 0, 1,181, 0, 1, 0, 0, 3,250, 1,180, 11,154, 0, 2, 11,155, 0, 2, 0, 15, 0, 7, 0, 58, - 1,182, 0, 7, 0, 12, 11,156, 0, 0, 11,157, 0, 9, 11,158, 0, 7, 0, 58, 0, 7, 11,133, 0, 4, 0, 15, 0, 4, 0, 17, - 1,183, 0, 3, 0, 7, 11,159, 0, 4, 0, 17, 0, 4, 0, 35, 1,184, 0, 15, 1,184, 0, 0, 1,184, 0, 1, 1, 75, 9,125, - 1,182, 0, 59, 0, 12, 3,110, 0, 27, 0, 47, 1,183, 11,160, 0, 4, 0, 51, 0, 7, 0, 58, 0, 2, 0, 17, 0, 2, 1, 11, - 0, 4, 11,161, 0, 0, 11,150, 0, 4, 11,162, 0, 7, 11,163, 1,185, 0, 2, 0, 0, 11,164, 0, 0, 11,165, 1,186, 0, 4, - 1,186, 0, 0, 1,186, 0, 1, 0,155, 3, 48, 0, 12, 11,166, 1,187, 0, 24, 1,187, 0, 0, 1,187, 0, 1, 0, 12, 11,167, - 0,155, 8,216, 1,186, 11,168, 0, 12, 11,169, 0, 12, 3,110, 0, 0, 3,250, 0, 7, 11,133, 0, 7, 11,170, 0, 7, 0, 85, - 0, 7, 0, 86, 0, 7, 9,187, 0, 7, 9,188, 0, 7, 2,231, 0, 7, 9,191, 0, 7, 8,218, 0, 7, 9,192, 0, 2, 11,171, - 0, 2, 11,172, 0, 2, 0, 87, 0, 2, 0, 15, 0, 4, 0, 17, 0, 4, 0, 67, 1,188, 0, 6, 1,188, 0, 0, 1,188, 0, 1, - 0, 12, 11,167, 0, 4, 0, 17, 0, 4, 2,147, 0, 0, 3,250, 1,189, 0, 11, 1,189, 0, 0, 1,189, 0, 1, 0, 19, 6,188, - 0, 0, 11,173, 0, 4, 11,153, 0, 2, 11,174, 0, 2, 0, 35, 0, 0, 11,150, 0, 4, 11,161, 0, 2, 0, 17, 0, 2, 11,175, - 1,190, 0, 8, 1,190, 0, 0, 1,190, 0, 1, 0, 12, 11,176, 0, 0, 3,250, 0, 0, 11,177, 0, 2, 0, 17, 0, 2, 11,175, - 0, 4, 11,178, 1,191, 0, 5, 1,191, 0, 0, 1,191, 0, 1, 0, 0, 11,150, 0, 4, 11,161, 0, 7, 2,202, 0, 31, 0, 12, - 0,155, 3,101, 0,155, 11,179, 1,186, 11,168, 0, 12, 11,180, 1,187, 11,181, 0, 12, 11,182, 0, 12, 11,183, 0, 4, 0, 17, - 0, 4, 0,243, 0, 2, 11,184, 0, 2, 11,185, 0, 7, 11,186, 1,192, 0, 2, 0, 19, 0, 29, 0, 31, 0, 72, 1,193, 0, 5, - 1,193, 0, 0, 1,193, 0, 1, 0, 4, 0, 15, 0, 4, 0, 17, 0, 0, 0, 18, 1,194, 0, 6, 1,193, 11,187, 0, 24, 0, 42, - 0, 4, 11,188, 0, 7, 11,189, 0, 4, 11,190, 0, 4, 9,113, 1,195, 0, 3, 1,193, 11,187, 0, 4, 11,188, 0, 7, 11,191, - 1,196, 0, 8, 1,193, 11,187, 0, 24, 0, 42, 0, 7, 1, 63, 0, 7, 11,192, 0, 7, 3, 14, 0, 7, 9, 15, 0, 4, 11,188, - 0, 4, 11,193, 1,197, 0, 5, 1,193, 11,187, 0, 7, 11,194, 0, 7, 8, 96, 0, 7, 2,237, 0, 7, 0, 54, 1,198, 0, 3, - 1,193, 11,187, 0, 7, 9, 15, 0, 7, 11,195, 1,142, 0, 4, 0, 7, 11,196, 0, 7, 10,215, 0, 2, 11,197, 0, 2, 1, 68, - 1,199, 0, 14, 1,199, 0, 0, 1,199, 0, 1, 0, 12, 11,198, 0, 12, 11,199, 0, 12, 11,200, 0, 0, 0, 18, 0, 4, 0, 29, - 0, 4, 0, 17, 0, 4, 11,201, 0, 7, 11,202, 0, 4, 11,190, 0, 4, 9,113, 0, 7, 4, 4, 0, 7, 2,239, 1,150, 0, 23, - 0, 4, 11,188, 0, 4, 11,203, 0, 7, 11,204, 0, 7, 2,235, 0, 7, 11,205, 0, 7, 8,232, 0, 7, 11,196, 0, 7, 11,206, - 0, 7, 2,214, 0, 7, 10, 84, 0, 7, 4,137, 0, 7, 11,207, 0, 7, 11,208, 0, 7, 11,209, 0, 7, 11,210, 0, 7, 11,211, - 0, 7, 11,212, 0, 7, 11,213, 0, 7, 11,214, 0, 7, 11,215, 0, 7, 11,216, 0, 7, 11,217, 0, 12, 11,218, 0,113, 0, 40, - 0,112, 11,219, 1,200, 10,168, 0, 58, 11,220, 0, 58, 10,248, 0, 58, 11,221, 1,201, 11,222, 0, 40, 0,159, 0, 40, 11,223, - 0, 40, 11,224, 0, 7, 11,225, 0, 7, 11,226, 0, 7, 11,227, 0, 7, 11,228, 0, 7, 11,229, 0, 7, 7,247, 0, 7, 11,230, - 0, 7, 1,157, 0, 7, 11,231, 0, 4, 11,232, 0, 4, 11,233, 0, 4, 11,234, 0, 4, 0, 88, 0, 4, 0, 35, 0, 4, 11,235, - 0, 2, 11,236, 0, 2, 11,237, 0, 4, 11,238, 0, 7, 2,214, 0, 4, 11,239, 0, 7, 11,240, 0, 4, 11,241, 0, 4, 11,242, - 0, 4, 11,243, 0,129, 11,244, 0, 12, 11,245, 0,166, 4, 74, 0, 4, 11,246, 0, 7, 11,247, 0, 7, 11,248, 0, 4, 0, 67, - 0,114, 0, 12, 0,112, 11,219, 0,140, 3, 34, 0, 7, 1,124, 0, 7, 7,247, 0, 7, 11,249, 0, 7, 11,250, 0, 7, 11,251, - 0, 2, 11,252, 0, 2, 11,253, 0, 2, 11,254, 0, 2, 0, 15, 0, 4, 0, 88, 0,115, 0, 13, 0,112, 11,219, 0,131, 3, 11, - 0,133, 3, 13, 0, 7, 9, 55, 0, 7, 11,255, 0, 7, 12, 0, 0, 7, 1, 65, 0, 7, 12, 1, 0, 4, 9,147, 0, 4, 3, 7, - 0, 2, 0, 15, 0, 2, 0, 35, 0, 4, 0, 67, 69, 78, 68, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -}; + 0, 0, 0, 0, 68, 78, 65, 49,108,231, 0, 0, 56,136,192, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 83, 68, 78, 65, + 78, 65, 77, 69, 12, 12, 0, 0, 42,110,101,120,116, 0, 42,112,114,101,118, 0, 42,100, 97,116, 97, 0, 42,102,105,114,115,116, + 0, 42,108, 97,115,116, 0,120, 0,121, 0,120,109,105,110, 0,120,109, 97,120, 0,121,109,105,110, 0,121,109, 97,120, 0, 42, +112,111,105,110,116,101,114, 0,103,114,111,117,112, 0,118, 97,108, 0,118, 97,108, 50, 0,116,121,112,101, 0,115,117, 98,116, +121,112,101, 0,102,108, 97,103, 0,110, 97,109,101, 91, 51, 50, 93, 0,115, 97,118,101,100, 0,100, 97,116, 97, 0,108,101,110, + 0,116,111,116, 97,108,108,101,110, 0, 42,110,101,119,105,100, 0, 42,108,105, 98, 0,110, 97,109,101, 91, 50, 52, 93, 0,117, +115, 0,105, 99,111,110, 95,105,100, 0, 42,112,114,111,112,101,114,116,105,101,115, 0,105,100, 0, 42,105,100, 98,108,111, 99, +107, 0, 42,102,105,108,101,100, 97,116, 97, 0,110, 97,109,101, 91, 50, 52, 48, 93, 0,102,105,108,101,112, 97,116,104, 91, 50, + 52, 48, 93, 0,116,111,116, 0,112, 97,100, 0, 42,112, 97,114,101,110,116, 0,119, 91, 50, 93, 0,104, 91, 50, 93, 0, 99,104, + 97,110,103,101,100, 91, 50, 93, 0, 99,104, 97,110,103,101,100, 95,116,105,109,101,115,116, 97,109,112, 91, 50, 93, 0, 42,114, +101, 99,116, 91, 50, 93, 0, 42,111, 98, 0, 98,108,111, 99,107,116,121,112,101, 0, 97,100,114, 99,111,100,101, 0,110, 97,109, +101, 91, 49, 50, 56, 93, 0, 42, 98,112, 0, 42, 98,101,122,116, 0,109, 97,120,114, 99,116, 0,116,111,116,114, 99,116, 0,118, + 97,114,116,121,112,101, 0,116,111,116,118,101,114,116, 0,105,112,111, 0,101,120,116,114, 97,112, 0,114,116, 0, 98,105,116, +109, 97,115,107, 0,115,108,105,100,101, 95,109,105,110, 0,115,108,105,100,101, 95,109, 97,120, 0, 99,117,114,118, 97,108, 0, + 42,100,114,105,118,101,114, 0, 99,117,114,118,101, 0, 99,117,114, 0,115,104,111,119,107,101,121, 0,109,117,116,101,105,112, +111, 0,112,111,115, 0,114,101,108, 97,116,105,118,101, 0,116,111,116,101,108,101,109, 0,112, 97,100, 50, 0, 42,119,101,105, +103,104,116,115, 0,118,103,114,111,117,112, 91, 51, 50, 93, 0,115,108,105,100,101,114,109,105,110, 0,115,108,105,100,101,114, +109, 97,120, 0, 42, 97,100,116, 0, 42,114,101,102,107,101,121, 0,101,108,101,109,115,116,114, 91, 51, 50, 93, 0,101,108,101, +109,115,105,122,101, 0, 98,108,111, 99,107, 0, 42,105,112,111, 0, 42,102,114,111,109, 0,116,111,116,107,101,121, 0,115,108, +117,114,112,104, 0, 42,108,105,110,101, 0, 42,102,111,114,109, 97,116, 0, 98,108,101,110, 0,108,105,110,101,110,111, 0,115, +116, 97,114,116, 0,101,110,100, 0,112, 97,100, 49, 0,102,108, 97,103,115, 0, 99,111,108,111,114, 91, 52, 93, 0,112, 97,100, + 91, 52, 93, 0, 42,110, 97,109,101, 0,110,108,105,110,101,115, 0,108,105,110,101,115, 0, 42, 99,117,114,108, 0, 42,115,101, +108,108, 0, 99,117,114, 99, 0,115,101,108, 99, 0,109, 97,114,107,101,114,115, 0, 42,117,110,100,111, 95, 98,117,102, 0,117, +110,100,111, 95,112,111,115, 0,117,110,100,111, 95,108,101,110, 0, 42, 99,111,109,112,105,108,101,100, 0,109,116,105,109,101, + 0,115,105,122,101, 0,115,101,101,107, 0,112, 97,115,115,101,112, 97,114,116, 97,108,112,104, 97, 0, 99,108,105,112,115,116, + 97, 0, 99,108,105,112,101,110,100, 0,108,101,110,115, 0,111,114,116,104,111, 95,115, 99, 97,108,101, 0,100,114, 97,119,115, +105,122,101, 0,115,104,105,102,116,120, 0,115,104,105,102,116,121, 0, 89, 70, 95,100,111,102,100,105,115,116, 0, 42,100,111, +102, 95,111, 98, 0, 42,115, 99,101,110,101, 0,102,114, 97,109,101,110,114, 0,102,114, 97,109,101,115, 0,111,102,102,115,101, +116, 0,115,102,114, 97, 0,102,105,101, 95,105,109, 97, 0, 99,121, 99,108, 0,111,107, 0,109,117,108,116,105, 95,105,110,100, +101,120, 0,108, 97,121,101,114, 0,112, 97,115,115, 0,105, 98,117,102,115, 0, 42,103,112,117,116,101,120,116,117,114,101, 0, + 42, 97,110,105,109, 0, 42,114,114, 0, 42,114,101,110,100,101,114,115, 91, 56, 93, 0,114,101,110,100,101,114, 95,115,108,111, +116, 0,108, 97,115,116, 95,114,101,110,100,101,114, 95,115,108,111,116, 0,115,111,117,114, 99,101, 0,108, 97,115,116,102,114, + 97,109,101, 0,116,112, 97,103,101,102,108, 97,103, 0,116,111,116, 98,105,110,100, 0,120,114,101,112, 0,121,114,101,112, 0, +116,119,115,116, 97, 0,116,119,101,110,100, 0, 98,105,110,100, 99,111,100,101, 0, 42,114,101,112, 98,105,110,100, 0, 42,112, + 97, 99,107,101,100,102,105,108,101, 0, 42,112,114,101,118,105,101,119, 0,108, 97,115,116,117,112,100, 97,116,101, 0,108, 97, +115,116,117,115,101,100, 0, 97,110,105,109,115,112,101,101,100, 0,103,101,110, 95,120, 0,103,101,110, 95,121, 0,103,101,110, + 95,116,121,112,101, 0, 97,115,112,120, 0, 97,115,112,121, 0,116,101,120, 99,111, 0,109, 97,112,116,111, 0,109, 97,112,116, +111,110,101,103, 0, 98,108,101,110,100,116,121,112,101, 0, 42,111, 98,106,101, 99,116, 0, 42,116,101,120, 0,117,118,110, 97, +109,101, 91, 51, 50, 93, 0,112,114,111,106,120, 0,112,114,111,106,121, 0,112,114,111,106,122, 0,109, 97,112,112,105,110,103, + 0,111,102,115, 91, 51, 93, 0,115,105,122,101, 91, 51, 93, 0,114,111,116, 0,116,101,120,102,108, 97,103, 0, 99,111,108,111, +114,109,111,100,101,108, 0,112,109, 97,112,116,111, 0,112,109, 97,112,116,111,110,101,103, 0,110,111,114,109, 97,112,115,112, + 97, 99,101, 0,119,104,105, 99,104, 95,111,117,116,112,117,116, 0, 98,114,117,115,104, 95,109, 97,112, 95,109,111,100,101, 0, +112, 97,100, 91, 55, 93, 0,114, 0,103, 0, 98, 0,107, 0,100,101,102, 95,118, 97,114, 0, 99,111,108,102, 97, 99, 0,118, 97, +114,102, 97, 99, 0,110,111,114,102, 97, 99, 0,100,105,115,112,102, 97, 99, 0,119, 97,114,112,102, 97, 99, 0, 99,111,108,115, +112,101, 99,102, 97, 99, 0,109,105,114,114,102, 97, 99, 0, 97,108,112,104, 97,102, 97, 99, 0,100,105,102,102,102, 97, 99, 0, +115,112,101, 99,102, 97, 99, 0,101,109,105,116,102, 97, 99, 0,104, 97,114,100,102, 97, 99, 0,114, 97,121,109,105,114,114,102, + 97, 99, 0,116,114, 97,110,115,108,102, 97, 99, 0, 97,109, 98,102, 97, 99, 0, 99,111,108,101,109,105,116,102, 97, 99, 0, 99, +111,108,114,101,102,108,102, 97, 99, 0, 99,111,108,116,114, 97,110,115,102, 97, 99, 0,100,101,110,115,102, 97, 99, 0,115, 99, + 97,116,116,101,114,102, 97, 99, 0,114,101,102,108,102, 97, 99, 0,116,105,109,101,102, 97, 99, 0,108,101,110,103,116,104,102, + 97, 99, 0, 99,108,117,109,112,102, 97, 99, 0,100, 97,109,112,102, 97, 99, 0,107,105,110,107,102, 97, 99, 0,114,111,117,103, +104,102, 97, 99, 0,112, 97,100,101,110,115,102, 97, 99, 0,103,114, 97,118,105,116,121,102, 97, 99, 0,108,105,102,101,102, 97, + 99, 0,115,105,122,101,102, 97, 99, 0,105,118,101,108,102, 97, 99, 0,102,105,101,108,100,102, 97, 99, 0,115,104, 97,100,111, +119,102, 97, 99, 0,122,101,110,117,112,102, 97, 99, 0,122,101,110,100,111,119,110,102, 97, 99, 0, 98,108,101,110,100,102, 97, + 99, 0,110, 97,109,101, 91, 49, 54, 48, 93, 0, 42,104, 97,110,100,108,101, 0, 42,112,110, 97,109,101, 0, 42,115,116,110, 97, +109,101,115, 0,115,116,121,112,101,115, 0,118, 97,114,115, 0, 42,118, 97,114,115,116,114, 0, 42,114,101,115,117,108,116, 0, + 42, 99,102,114, 97, 0,100, 97,116, 97, 91, 51, 50, 93, 0, 40, 42,100,111,105,116, 41, 40, 41, 0, 40, 42,105,110,115,116, 97, +110, 99,101, 95,105,110,105,116, 41, 40, 41, 0, 40, 42, 99, 97,108,108, 98, 97, 99,107, 41, 40, 41, 0,118,101,114,115,105,111, +110, 0, 97, 0,105,112,111,116,121,112,101, 0, 42,105,109, 97, 0, 42, 99,117, 98,101, 91, 54, 93, 0,105,109, 97,116, 91, 52, + 93, 91, 52, 93, 0,111, 98,105,109, 97,116, 91, 51, 93, 91, 51, 93, 0,115,116,121,112,101, 0,118,105,101,119,115, 99, 97,108, +101, 0,110,111,116,108, 97,121, 0, 99,117, 98,101,114,101,115, 0,100,101,112,116,104, 0,114,101, 99, 97,108, 99, 0,108, 97, +115,116,115,105,122,101, 0,102, 97,108,108,111,102,102, 95,116,121,112,101, 0,102, 97,108,108,111,102,102, 95,115,111,102,116, +110,101,115,115, 0,114, 97,100,105,117,115, 0, 99,111,108,111,114, 95,115,111,117,114, 99,101, 0,116,111,116,112,111,105,110, +116,115, 0,112,100,112, 97,100, 0,112,115,121,115, 0,112,115,121,115, 95, 99, 97, 99,104,101, 95,115,112, 97, 99,101, 0,111, + 98, 95, 99, 97, 99,104,101, 95,115,112, 97, 99,101, 0, 42,112,111,105,110,116, 95,116,114,101,101, 0, 42,112,111,105,110,116, + 95,100, 97,116, 97, 0,110,111,105,115,101, 95,115,105,122,101, 0,110,111,105,115,101, 95,100,101,112,116,104, 0,110,111,105, +115,101, 95,105,110,102,108,117,101,110, 99,101, 0,110,111,105,115,101, 95, 98, 97,115,105,115, 0,112,100,112, 97,100, 51, 91, + 51, 93, 0,110,111,105,115,101, 95,102, 97, 99, 0,115,112,101,101,100, 95,115, 99, 97,108,101, 0, 42, 99,111, 98, 97, 0,114, +101,115,111,108, 91, 51, 93, 0,105,110,116,101,114,112, 95,116,121,112,101, 0,102,105,108,101, 95,102,111,114,109, 97,116, 0, +101,120,116,101,110,100, 0,115,109,111,107,101,100, 95,116,121,112,101, 0,105,110,116, 95,109,117,108,116,105,112,108,105,101, +114, 0,115,116,105,108,108, 95,102,114, 97,109,101, 0,115,111,117,114, 99,101, 95,112, 97,116,104, 91, 50, 52, 48, 93, 0, 42, +100, 97,116, 97,115,101,116, 0, 99, 97, 99,104,101,100,102,114, 97,109,101, 0,110,111,105,115,101,115,105,122,101, 0,116,117, +114, 98,117,108, 0, 98,114,105,103,104,116, 0, 99,111,110,116,114, 97,115,116, 0,115, 97,116,117,114, 97,116,105,111,110, 0, +114,102, 97, 99, 0,103,102, 97, 99, 0, 98,102, 97, 99, 0,102,105,108,116,101,114,115,105,122,101, 0,109,103, 95, 72, 0,109, +103, 95,108, 97, 99,117,110, 97,114,105,116,121, 0,109,103, 95,111, 99,116, 97,118,101,115, 0,109,103, 95,111,102,102,115,101, +116, 0,109,103, 95,103, 97,105,110, 0,100,105,115,116, 95, 97,109,111,117,110,116, 0,110,115, 95,111,117,116,115, 99, 97,108, +101, 0,118,110, 95,119, 49, 0,118,110, 95,119, 50, 0,118,110, 95,119, 51, 0,118,110, 95,119, 52, 0,118,110, 95,109,101,120, +112, 0,118,110, 95,100,105,115,116,109, 0,118,110, 95, 99,111,108,116,121,112,101, 0,110,111,105,115,101,100,101,112,116,104, + 0,110,111,105,115,101,116,121,112,101, 0,110,111,105,115,101, 98, 97,115,105,115, 0,110,111,105,115,101, 98, 97,115,105,115, + 50, 0,105,109, 97,102,108, 97,103, 0, 99,114,111,112,120,109,105,110, 0, 99,114,111,112,121,109,105,110, 0, 99,114,111,112, +120,109, 97,120, 0, 99,114,111,112,121,109, 97,120, 0,116,101,120,102,105,108,116,101,114, 0, 97,102,109, 97,120, 0,120,114, +101,112,101, 97,116, 0,121,114,101,112,101, 97,116, 0, 99,104,101, 99,107,101,114,100,105,115,116, 0,110, 97, 98,108, 97, 0, +105,117,115,101,114, 0, 42,110,111,100,101,116,114,101,101, 0, 42,112,108,117,103,105,110, 0, 42,101,110,118, 0, 42,112,100, + 0, 42,118,100, 0,117,115,101, 95,110,111,100,101,115, 0,108,111, 99, 91, 51, 93, 0,114,111,116, 91, 51, 93, 0,109, 97,116, + 91, 52, 93, 91, 52, 93, 0,109,105,110, 91, 51, 93, 0,109, 97,120, 91, 51, 93, 0,109,111,100,101, 0,116,111,116,101,120, 0, +115,104,100,119,114, 0,115,104,100,119,103, 0,115,104,100,119, 98, 0,115,104,100,119,112, 97,100, 0,101,110,101,114,103,121, + 0,100,105,115,116, 0,115,112,111,116,115,105,122,101, 0,115,112,111,116, 98,108,101,110,100, 0,104, 97,105,110,116, 0, 97, +116,116, 49, 0, 97,116,116, 50, 0, 42, 99,117,114,102, 97,108,108,111,102,102, 0,115,104, 97,100,115,112,111,116,115,105,122, +101, 0, 98,105, 97,115, 0,115,111,102,116, 0, 99,111,109,112,114,101,115,115,116,104,114,101,115,104, 0,112, 97,100, 53, 91, + 51, 93, 0, 98,117,102,115,105,122,101, 0,115, 97,109,112, 0, 98,117,102,102,101,114,115, 0,102,105,108,116,101,114,116,121, +112,101, 0, 98,117,102,102,108, 97,103, 0, 98,117,102,116,121,112,101, 0,114, 97,121, 95,115, 97,109,112, 0,114, 97,121, 95, +115, 97,109,112,121, 0,114, 97,121, 95,115, 97,109,112,122, 0,114, 97,121, 95,115, 97,109,112, 95,116,121,112,101, 0, 97,114, +101, 97, 95,115,104, 97,112,101, 0, 97,114,101, 97, 95,115,105,122,101, 0, 97,114,101, 97, 95,115,105,122,101,121, 0, 97,114, +101, 97, 95,115,105,122,101,122, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0,114, 97,121, 95,115, 97,109,112, 95,109, +101,116,104,111,100, 0,116,101,120, 97, 99,116, 0,115,104, 97,100,104, 97,108,111,115,116,101,112, 0,115,117,110, 95,101,102, +102,101, 99,116, 95,116,121,112,101, 0,115,107,121, 98,108,101,110,100,116,121,112,101, 0,104,111,114,105,122,111,110, 95, 98, +114,105,103,104,116,110,101,115,115, 0,115,112,114,101, 97,100, 0,115,117,110, 95, 98,114,105,103,104,116,110,101,115,115, 0, +115,117,110, 95,115,105,122,101, 0, 98, 97, 99,107,115, 99, 97,116,116,101,114,101,100, 95,108,105,103,104,116, 0,115,117,110, + 95,105,110,116,101,110,115,105,116,121, 0, 97,116,109, 95,116,117,114, 98,105,100,105,116,121, 0, 97,116,109, 95,105,110,115, + 99, 97,116,116,101,114,105,110,103, 95,102, 97, 99,116,111,114, 0, 97,116,109, 95,101,120,116,105,110, 99,116,105,111,110, 95, +102, 97, 99,116,111,114, 0, 97,116,109, 95,100,105,115,116, 97,110, 99,101, 95,102, 97, 99,116,111,114, 0,115,107,121, 98,108, +101,110,100,102, 97, 99, 0,115,107,121, 95,101,120,112,111,115,117,114,101, 0,115,107,121, 95, 99,111,108,111,114,115,112, 97, + 99,101, 0,112, 97,100, 52, 91, 54, 93, 0, 42,109,116,101,120, 91, 49, 56, 93, 0,112,114, 95,116,101,120,116,117,114,101, 0, +112, 97,100, 54, 91, 52, 93, 0,100,101,110,115,105,116,121, 0,101,109,105,115,115,105,111,110, 0,115, 99, 97,116,116,101,114, +105,110,103, 0,114,101,102,108,101, 99,116,105,111,110, 0,101,109,105,115,115,105,111,110, 95, 99,111,108, 91, 51, 93, 0,116, +114, 97,110,115,109,105,115,115,105,111,110, 95, 99,111,108, 91, 51, 93, 0,114,101,102,108,101, 99,116,105,111,110, 95, 99,111, +108, 91, 51, 93, 0,100,101,110,115,105,116,121, 95,115, 99, 97,108,101, 0,100,101,112,116,104, 95, 99,117,116,111,102,102, 0, + 97,115,121,109,109,101,116,114,121, 0,115,116,101,112,115,105,122,101, 95,116,121,112,101, 0,115,104, 97,100,101,102,108, 97, +103, 0,115,104, 97,100,101, 95,116,121,112,101, 0,112,114,101, 99, 97, 99,104,101, 95,114,101,115,111,108,117,116,105,111,110, + 0,115,116,101,112,115,105,122,101, 0,109,115, 95,100,105,102,102, 0,109,115, 95,105,110,116,101,110,115,105,116,121, 0,109, +115, 95,115,112,114,101, 97,100, 0,109, 97,116,101,114,105, 97,108, 95,116,121,112,101, 0,115,112,101, 99,114, 0,115,112,101, + 99,103, 0,115,112,101, 99, 98, 0,109,105,114,114, 0,109,105,114,103, 0,109,105,114, 98, 0, 97,109, 98,114, 0, 97,109, 98, + 98, 0, 97,109, 98,103, 0, 97,109, 98, 0,101,109,105,116, 0, 97,110,103, 0,115,112,101, 99,116,114, 97, 0,114, 97,121, 95, +109,105,114,114,111,114, 0, 97,108,112,104, 97, 0,114,101,102, 0,115,112,101, 99, 0,122,111,102,102,115, 0, 97,100,100, 0, +116,114, 97,110,115,108,117, 99,101,110, 99,121, 0,118,111,108, 0,102,114,101,115,110,101,108, 95,109,105,114, 0,102,114,101, +115,110,101,108, 95,109,105,114, 95,105, 0,102,114,101,115,110,101,108, 95,116,114, 97, 0,102,114,101,115,110,101,108, 95,116, +114, 97, 95,105, 0,102,105,108,116,101,114, 0,116,120, 95,108,105,109,105,116, 0,116,120, 95,102, 97,108,108,111,102,102, 0, +114, 97,121, 95,100,101,112,116,104, 0,114, 97,121, 95,100,101,112,116,104, 95,116,114, 97, 0,104, 97,114, 0,115,101,101,100, + 49, 0,115,101,101,100, 50, 0,103,108,111,115,115, 95,109,105,114, 0,103,108,111,115,115, 95,116,114, 97, 0,115, 97,109,112, + 95,103,108,111,115,115, 95,109,105,114, 0,115, 97,109,112, 95,103,108,111,115,115, 95,116,114, 97, 0, 97,100, 97,112,116, 95, +116,104,114,101,115,104, 95,109,105,114, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 95,116,114, 97, 0, 97,110,105,115, +111, 95,103,108,111,115,115, 95,109,105,114, 0,100,105,115,116, 95,109,105,114, 0,102, 97,100,101,116,111, 95,109,105,114, 0, +115,104, 97,100,101, 95,102,108, 97,103, 0,109,111,100,101, 95,108, 0,102,108, 97,114,101, 99, 0,115,116, 97,114, 99, 0,108, +105,110,101, 99, 0,114,105,110,103, 99, 0,104, 97,115,105,122,101, 0,102,108, 97,114,101,115,105,122,101, 0,115,117, 98,115, +105,122,101, 0,102,108, 97,114,101, 98,111,111,115,116, 0,115,116,114, 97,110,100, 95,115,116, 97, 0,115,116,114, 97,110,100, + 95,101,110,100, 0,115,116,114, 97,110,100, 95,101, 97,115,101, 0,115,116,114, 97,110,100, 95,115,117,114,102,110,111,114, 0, +115,116,114, 97,110,100, 95,109,105,110, 0,115,116,114, 97,110,100, 95,119,105,100,116,104,102, 97,100,101, 0,115,116,114, 97, +110,100, 95,117,118,110, 97,109,101, 91, 51, 50, 93, 0,115, 98,105, 97,115, 0,108, 98,105, 97,115, 0,115,104, 97,100, 95, 97, +108,112,104, 97, 0,115,101,112,116,101,120, 0,114,103, 98,115,101,108, 0,112,114, 95,116,121,112,101, 0,112,114, 95, 98, 97, + 99,107, 0,112,114, 95,108, 97,109,112, 0,109,108, 95,102,108, 97,103, 0,100,105,102,102, 95,115,104, 97,100,101,114, 0,115, +112,101, 99, 95,115,104, 97,100,101,114, 0,114,111,117,103,104,110,101,115,115, 0,114,101,102,114, 97, 99, 0,112, 97,114, 97, +109, 91, 52, 93, 0,114,109,115, 0,100, 97,114,107,110,101,115,115, 0, 42,114, 97,109,112, 95, 99,111,108, 0, 42,114, 97,109, +112, 95,115,112,101, 99, 0,114, 97,109,112,105,110, 95, 99,111,108, 0,114, 97,109,112,105,110, 95,115,112,101, 99, 0,114, 97, +109,112, 98,108,101,110,100, 95, 99,111,108, 0,114, 97,109,112, 98,108,101,110,100, 95,115,112,101, 99, 0,114, 97,109,112, 95, +115,104,111,119, 0,112, 97,100, 51, 0,114, 97,109,112,102, 97, 99, 95, 99,111,108, 0,114, 97,109,112,102, 97, 99, 95,115,112, +101, 99, 0, 42,103,114,111,117,112, 0,102,114,105, 99,116,105,111,110, 0,102,104, 0,114,101,102,108,101, 99,116, 0,102,104, +100,105,115,116, 0,120,121,102,114,105, 99,116, 0,100,121,110, 97,109,111,100,101, 0,115,115,115, 95,114, 97,100,105,117,115, + 91, 51, 93, 0,115,115,115, 95, 99,111,108, 91, 51, 93, 0,115,115,115, 95,101,114,114,111,114, 0,115,115,115, 95,115, 99, 97, +108,101, 0,115,115,115, 95,105,111,114, 0,115,115,115, 95, 99,111,108,102, 97, 99, 0,115,115,115, 95,116,101,120,102, 97, 99, + 0,115,115,115, 95,102,114,111,110,116, 0,115,115,115, 95, 98, 97, 99,107, 0,115,115,115, 95,102,108, 97,103, 0,115,115,115, + 95,112,114,101,115,101,116, 0,109, 97,112,116,111, 95,116,101,120,116,117,114,101,100, 0,115,104, 97,100,111,119,111,110,108, +121, 95,102,108, 97,103, 0,103,112,117,109, 97,116,101,114,105, 97,108, 0,110, 97,109,101, 91, 50, 53, 54, 93, 0, 42, 98, 98, + 0,105, 49, 0,106, 49, 0,107, 49, 0,105, 50, 0,106, 50, 0,107, 50, 0,115,101,108, 99,111,108, 49, 0,115,101,108, 99,111, +108, 50, 0,122, 0,113,117, 97,116, 91, 52, 93, 0,101,120,112,120, 0,101,120,112,121, 0,101,120,112,122, 0,114, 97,100, 0, +114, 97,100, 50, 0,115, 0, 42,109, 97,116, 0, 42,105,109, 97,116, 0,101,108,101,109,115, 0,100,105,115,112, 0, 42,101,100, +105,116,101,108,101,109,115, 0, 42, 42,109, 97,116, 0,102,108, 97,103, 50, 0,116,111,116, 99,111,108, 0,119,105,114,101,115, +105,122,101, 0,114,101,110,100,101,114,115,105,122,101, 0,116,104,114,101,115,104, 0, 42,108, 97,115,116,101,108,101,109, 0, +118,101, 99, 91, 51, 93, 91, 51, 93, 0, 97,108,102, 97, 0,119,101,105,103,104,116, 0,104, 49, 0,104, 50, 0,102, 49, 0,102, + 50, 0,102, 51, 0,104,105,100,101, 0,118,101, 99, 91, 52, 93, 0,109, 97,116, 95,110,114, 0,112,110,116,115,117, 0,112,110, +116,115,118, 0,114,101,115,111,108,117, 0,114,101,115,111,108,118, 0,111,114,100,101,114,117, 0,111,114,100,101,114,118, 0, +102,108, 97,103,117, 0,102,108, 97,103,118, 0, 42,107,110,111,116,115,117, 0, 42,107,110,111,116,115,118, 0,116,105,108,116, + 95,105,110,116,101,114,112, 0,114, 97,100,105,117,115, 95,105,110,116,101,114,112, 0, 99,104, 97,114,105,100,120, 0,107,101, +114,110, 0,119, 0,104, 0,110,117,114, 98,115, 0, 42,107,101,121,105,110,100,101,120, 0,115,104, 97,112,101,110,114, 0,110, +117,114, 98, 0, 42,101,100,105,116,110,117,114, 98, 0, 42, 98,101,118,111, 98,106, 0, 42,116, 97,112,101,114,111, 98,106, 0, + 42,116,101,120,116,111,110, 99,117,114,118,101, 0, 42,112, 97,116,104, 0, 42,107,101,121, 0, 98,101,118, 0,100,114, 97,119, +102,108, 97,103, 0,116,119,105,115,116, 95,109,111,100,101, 0,116,119,105,115,116, 95,115,109,111,111,116,104, 0,115,109, 97, +108,108, 99, 97,112,115, 95,115, 99, 97,108,101, 0,112, 97,116,104,108,101,110, 0, 98,101,118,114,101,115,111,108, 0,119,105, +100,116,104, 0,101,120,116, 49, 0,101,120,116, 50, 0,114,101,115,111,108,117, 95,114,101,110, 0,114,101,115,111,108,118, 95, +114,101,110, 0, 97, 99,116,110,117, 0, 42,108, 97,115,116,115,101,108, 0,115,112, 97, 99,101,109,111,100,101, 0,115,112, 97, + 99,105,110,103, 0,108,105,110,101,100,105,115,116, 0,115,104,101, 97,114, 0,102,115,105,122,101, 0,119,111,114,100,115,112, + 97, 99,101, 0,117,108,112,111,115, 0,117,108,104,101,105,103,104,116, 0,120,111,102, 0,121,111,102, 0,108,105,110,101,119, +105,100,116,104, 0, 42,115,116,114, 0, 42,115,101,108, 98,111,120,101,115, 0, 42,101,100,105,116,102,111,110,116, 0,102, 97, +109,105,108,121, 91, 50, 52, 93, 0, 42,118,102,111,110,116, 0, 42,118,102,111,110,116, 98, 0, 42,118,102,111,110,116,105, 0, + 42,118,102,111,110,116, 98,105, 0,115,101,112, 99,104, 97,114, 0, 99,116,105,109,101, 0,116,111,116, 98,111,120, 0, 97, 99, +116, 98,111,120, 0, 42,116, 98, 0,115,101,108,115,116, 97,114,116, 0,115,101,108,101,110,100, 0, 42,115,116,114,105,110,102, +111, 0, 99,117,114,105,110,102,111, 0,101,102,102,101, 99,116, 0, 42,109,102, 97, 99,101, 0, 42,109,116,102, 97, 99,101, 0, + 42,116,102, 97, 99,101, 0, 42,109,118,101,114,116, 0, 42,109,101,100,103,101, 0, 42,100,118,101,114,116, 0, 42,109, 99,111, +108, 0, 42,109,115,116,105, 99,107,121, 0, 42,116,101,120, 99,111,109,101,115,104, 0, 42,109,115,101,108,101, 99,116, 0, 42, +101,100,105,116, 95,109,101,115,104, 0,118,100, 97,116, 97, 0,101,100, 97,116, 97, 0,102,100, 97,116, 97, 0,116,111,116,101, +100,103,101, 0,116,111,116,102, 97, 99,101, 0,116,111,116,115,101,108,101, 99,116, 0, 97, 99,116, 95,102, 97, 99,101, 0,101, +100,105,116,102,108, 97,103, 0, 99,117, 98,101,109, 97,112,115,105,122,101, 0,115,109,111,111,116,104,114,101,115,104, 0,115, +117, 98,100,105,118, 0,115,117, 98,100,105,118,114, 0,115,117, 98,115,117,114,102,116,121,112,101, 0, 42,109,114, 0, 42,112, +118, 0, 42,116,112, 97,103,101, 0,117,118, 91, 52, 93, 91, 50, 93, 0, 99,111,108, 91, 52, 93, 0,116,114, 97,110,115,112, 0, +116,105,108,101, 0,117,110,119,114, 97,112, 0,118, 49, 0,118, 50, 0,118, 51, 0,118, 52, 0,101,100, 99,111,100,101, 0, 99, +114,101, 97,115,101, 0, 98,119,101,105,103,104,116, 0,100,101,102, 95,110,114, 0, 42,100,119, 0,116,111,116,119,101,105,103, +104,116, 0, 99,111, 91, 51, 93, 0,110,111, 91, 51, 93, 0,117,118, 91, 50, 93, 0, 99,111, 91, 50, 93, 0,105,110,100,101,120, + 0,102, 0,105, 0,115, 91, 50, 53, 54, 93, 0,116,111,116,100,105,115,112, 0, 40, 42,100,105,115,112,115, 41, 40, 41, 0,118, + 91, 52, 93, 0,109,105,100, 0,112, 97,100, 91, 50, 93, 0,118, 91, 50, 93, 0, 42,102, 97, 99,101,115, 0, 42, 99,111,108,102, + 97, 99,101,115, 0, 42,101,100,103,101,115, 0, 42,118,101,114,116,115, 0,108,101,118,101,108,115, 0,108,101,118,101,108, 95, + 99,111,117,110,116, 0, 99,117,114,114,101,110,116, 0,110,101,119,108,118,108, 0,101,100,103,101,108,118,108, 0,112,105,110, +108,118,108, 0,114,101,110,100,101,114,108,118,108, 0,117,115,101, 95, 99,111,108, 0, 42,101,100,103,101, 95,102,108, 97,103, +115, 0, 42,101,100,103,101, 95, 99,114,101, 97,115,101,115, 0, 42,118,101,114,116, 95,109, 97,112, 0, 42,101,100,103,101, 95, +109, 97,112, 0, 42,111,108,100, 95,102, 97, 99,101,115, 0, 42,111,108,100, 95,101,100,103,101,115, 0,115,116, 97, 99,107,105, +110,100,101,120, 0, 42,101,114,114,111,114, 0,109,111,100,105,102,105,101,114, 0,115,117, 98,100,105,118, 84,121,112,101, 0, +114,101,110,100,101,114, 76,101,118,101,108,115, 0, 42,101,109, 67, 97, 99,104,101, 0, 42,109, 67, 97, 99,104,101, 0,100,101, +102, 97,120,105,115, 0,112, 97,100, 91, 54, 93, 0,108,101,110,103,116,104, 0,114, 97,110,100,111,109,105,122,101, 0,115,101, +101,100, 0, 42,111, 98, 95, 97,114,109, 0, 42,115,116, 97,114,116, 95, 99, 97,112, 0, 42,101,110,100, 95, 99, 97,112, 0, 42, + 99,117,114,118,101, 95,111, 98, 0, 42,111,102,102,115,101,116, 95,111, 98, 0,111,102,102,115,101,116, 91, 51, 93, 0,115, 99, + 97,108,101, 91, 51, 93, 0,109,101,114,103,101, 95,100,105,115,116, 0,102,105,116, 95,116,121,112,101, 0,111,102,102,115,101, +116, 95,116,121,112,101, 0, 99,111,117,110,116, 0, 97,120,105,115, 0,116,111,108,101,114, 97,110, 99,101, 0, 42,109,105,114, +114,111,114, 95,111, 98, 0,115,112,108,105,116, 95, 97,110,103,108,101, 0,118, 97,108,117,101, 0,114,101,115, 0,118, 97,108, + 95,102,108, 97,103,115, 0,108,105,109, 95,102,108, 97,103,115, 0,101, 95,102,108, 97,103,115, 0, 98,101,118,101,108, 95, 97, +110,103,108,101, 0,100,101,102,103,114,112, 95,110, 97,109,101, 91, 51, 50, 93, 0, 42,100,111,109, 97,105,110, 0, 42,102,108, +111,119, 0, 42, 99,111,108,108, 0,116,105,109,101, 0, 42,116,101,120,116,117,114,101, 0,115,116,114,101,110,103,116,104, 0, +100,105,114,101, 99,116,105,111,110, 0,109,105,100,108,101,118,101,108, 0,116,101,120,109, 97,112,112,105,110,103, 0, 42,109, + 97,112, 95,111, 98,106,101, 99,116, 0,117,118,108, 97,121,101,114, 95,110, 97,109,101, 91, 51, 50, 93, 0,117,118,108, 97,121, +101,114, 95,116,109,112, 0, 42,112,114,111,106,101, 99,116,111,114,115, 91, 49, 48, 93, 0, 42,105,109, 97,103,101, 0,110,117, +109, 95,112,114,111,106,101, 99,116,111,114,115, 0, 97,115,112,101, 99,116,120, 0, 97,115,112,101, 99,116,121, 0,115, 99, 97, +108,101,120, 0,115, 99, 97,108,101,121, 0,112,101,114, 99,101,110,116, 0,102, 97, 99,101, 67,111,117,110,116, 0,102, 97, 99, + 0,114,101,112,101, 97,116, 0, 42,111, 98,106,101, 99,116, 99,101,110,116,101,114, 0,115,116, 97,114,116,120, 0,115,116, 97, +114,116,121, 0,104,101,105,103,104,116, 0,110, 97,114,114,111,119, 0,115,112,101,101,100, 0,100, 97,109,112, 0,102, 97,108, +108,111,102,102, 0,116,105,109,101,111,102,102,115, 0,108,105,102,101,116,105,109,101, 0,100,101,102,111,114,109,102,108, 97, +103, 0,109,117,108,116,105, 0, 42,112,114,101,118, 67,111,115, 0,115,117, 98,116, 97,114,103,101,116, 91, 51, 50, 93, 0,112, + 97,114,101,110,116,105,110,118, 91, 52, 93, 91, 52, 93, 0, 99,101,110,116, 91, 51, 93, 0, 42,105,110,100,101,120, 97,114, 0, +116,111,116,105,110,100,101,120, 0,102,111,114, 99,101, 0, 42, 99,108,111,116,104, 79, 98,106,101, 99,116, 0, 42,115,105,109, + 95,112, 97,114,109,115, 0, 42, 99,111,108,108, 95,112, 97,114,109,115, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101, 0, +112,116, 99, 97, 99,104,101,115, 0, 42,120, 0, 42,120,110,101,119, 0, 42,120,111,108,100, 0, 42, 99,117,114,114,101,110,116, + 95,120,110,101,119, 0, 42, 99,117,114,114,101,110,116, 95,120, 0, 42, 99,117,114,114,101,110,116, 95,118, 0, 42,109,102, 97, + 99,101,115, 0,110,117,109,118,101,114,116,115, 0,110,117,109,102, 97, 99,101,115, 0,116,105,109,101, 95,120, 0,116,105,109, +101, 95,120,110,101,119, 0, 42, 98,118,104,116,114,101,101, 0, 42,118, 0, 42,100,109, 0, 99,102,114, 97, 0,111,112,101,114, + 97,116,105,111,110, 0,118,101,114,116,101,120, 0,116,111,116,105,110,102,108,117,101,110, 99,101, 0,103,114,105,100,115,105, +122,101, 0, 42, 98,105,110,100,105,110,102,108,117,101,110, 99,101,115, 0, 42, 98,105,110,100,111,102,102,115,101,116,115, 0, + 42, 98,105,110,100, 99, 97,103,101, 99,111,115, 0,116,111,116, 99, 97,103,101,118,101,114,116, 0, 42,100,121,110,103,114,105, +100, 0, 42,100,121,110,105,110,102,108,117,101,110, 99,101,115, 0, 42,100,121,110,118,101,114,116,115, 0, 42,112, 97,100, 50, + 0,100,121,110,103,114,105,100,115,105,122,101, 0,100,121,110, 99,101,108,108,109,105,110, 91, 51, 93, 0,100,121,110, 99,101, +108,108,119,105,100,116,104, 0, 98,105,110,100,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42, 98,105,110,100,119,101,105,103,104, +116,115, 0, 42, 98,105,110,100, 99,111,115, 0, 40, 42, 98,105,110,100,102,117,110, 99, 41, 40, 41, 0, 42,112,115,121,115, 0, +116,111,116,100,109,118,101,114,116, 0,116,111,116,100,109,101,100,103,101, 0,116,111,116,100,109,102, 97, 99,101, 0,112,111, +115,105,116,105,111,110, 0,114, 97,110,100,111,109, 95,112,111,115,105,116,105,111,110, 0, 42,102, 97, 99,101,112, 97, 0,118, +103,114,111,117,112, 0,112,114,111,116,101, 99,116, 0,108,118,108, 0,115, 99,117,108,112,116,108,118,108, 0,116,111,116,108, +118,108, 0,115,105,109,112,108,101, 0, 42,102,115,115, 0, 42,116, 97,114,103,101,116, 0, 42, 97,117,120, 84, 97,114,103,101, +116, 0,118,103,114,111,117,112, 95,110, 97,109,101, 91, 51, 50, 93, 0,107,101,101,112, 68,105,115,116, 0,115,104,114,105,110, +107, 84,121,112,101, 0,115,104,114,105,110,107, 79,112,116,115, 0,112,114,111,106, 65,120,105,115, 0,115,117, 98,115,117,114, +102, 76,101,118,101,108,115, 0, 42,111,114,105,103,105,110, 0,102, 97, 99,116,111,114, 0,108,105,109,105,116, 91, 50, 93, 0, +111,114,105,103,105,110, 79,112,116,115, 0,111,102,102,115,101,116, 95,102, 97, 99, 0, 99,114,101, 97,115,101, 95,105,110,110, +101,114, 0, 99,114,101, 97,115,101, 95,111,117,116,101,114, 0, 99,114,101, 97,115,101, 95,114,105,109, 0,109, 97,116, 95,111, +102,115, 0,109, 97,116, 95,111,102,115, 95,114,105,109, 0, 42,111, 98, 95, 97,120,105,115, 0,115,116,101,112,115, 0,114,101, +110,100,101,114, 95,115,116,101,112,115, 0,105,116,101,114, 0,115, 99,114,101,119, 95,111,102,115, 0, 97,110,103,108,101, 0, + 42,108, 97,116,116, 0,112,110,116,115,119, 0,111,112,110,116,115,117, 0,111,112,110,116,115,118, 0,111,112,110,116,115,119, + 0,116,121,112,101,117, 0,116,121,112,101,118, 0,116,121,112,101,119, 0,102,117, 0,102,118, 0,102,119, 0,100,117, 0,100, +118, 0,100,119, 0, 42,100,101,102, 0, 42,108, 97,116,116,105, 99,101,100, 97,116, 97, 0,108, 97,116,109, 97,116, 91, 52, 93, + 91, 52, 93, 0, 42,101,100,105,116,108, 97,116,116, 0,118,101, 99, 91, 56, 93, 91, 51, 93, 0, 42,115, 99,117,108,112,116, 0, +112, 97,114,116,121,112,101, 0,112, 97,114, 49, 0,112, 97,114, 50, 0,112, 97,114, 51, 0,112, 97,114,115,117, 98,115,116,114, + 91, 51, 50, 93, 0, 42,116,114, 97, 99,107, 0, 42,112,114,111,120,121, 0, 42,112,114,111,120,121, 95,103,114,111,117,112, 0, + 42,112,114,111,120,121, 95,102,114,111,109, 0, 42, 97, 99,116,105,111,110, 0, 42,112,111,115,101,108,105, 98, 0, 42,112,111, +115,101, 0, 42,103,112,100, 0, 97,118,115, 0, 42,109,112, 97,116,104, 0, 99,111,110,115,116,114, 97,105,110,116, 67,104, 97, +110,110,101,108,115, 0,100,101,102, 98, 97,115,101, 0,109,111,100,105,102,105,101,114,115, 0,114,101,115,116,111,114,101, 95, +109,111,100,101, 0, 42,109, 97,116, 98,105,116,115, 0, 97, 99,116, 99,111,108, 0,100,108,111, 99, 91, 51, 93, 0,111,114,105, +103, 91, 51, 93, 0,100,115,105,122,101, 91, 51, 93, 0,100,114,111,116, 91, 51, 93, 0,100,113,117, 97,116, 91, 52, 93, 0,114, +111,116, 65,120,105,115, 91, 51, 93, 0,100,114,111,116, 65,120,105,115, 91, 51, 93, 0,114,111,116, 65,110,103,108,101, 0,100, +114,111,116, 65,110,103,108,101, 0,111, 98,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 99,111,110,115,116,105,110,118, 91, 52, 93, + 91, 52, 93, 0,105,109, 97,116, 95,114,101,110, 91, 52, 93, 91, 52, 93, 0,108, 97,121, 0, 99,111,108, 98,105,116,115, 0,116, +114, 97,110,115,102,108, 97,103, 0,112,114,111,116,101, 99,116,102,108, 97,103, 0,116,114, 97, 99,107,102,108, 97,103, 0,117, +112,102,108, 97,103, 0,110,108, 97,102,108, 97,103, 0,105,112,111,102,108, 97,103, 0,105,112,111,119,105,110, 0,115, 99, 97, +102,108, 97,103, 0,115, 99, 97,118,105,115,102,108, 97,103, 0, 98,111,117,110,100,116,121,112,101, 0,100,117,112,111,110, 0, +100,117,112,111,102,102, 0,100,117,112,115,116, 97, 0,100,117,112,101,110,100, 0,115,102, 0,109, 97,115,115, 0,100, 97,109, +112,105,110,103, 0,105,110,101,114,116,105, 97, 0,102,111,114,109,102, 97, 99,116,111,114, 0,114,100, 97,109,112,105,110,103, + 0,109, 97,114,103,105,110, 0,109, 97,120, 95,118,101,108, 0,109,105,110, 95,118,101,108, 0,109, 95, 99,111,110,116, 97, 99, +116, 80,114,111, 99,101,115,115,105,110,103, 84,104,114,101,115,104,111,108,100, 0,114,111,116,109,111,100,101, 0,100,116, 0, +100,116,120, 0,101,109,112,116,121, 95,100,114, 97,119,116,121,112,101, 0,112, 97,100, 49, 91, 51, 93, 0,101,109,112,116,121, + 95,100,114, 97,119,115,105,122,101, 0,100,117,112,102, 97, 99,101,115, 99, 97, 0,112,114,111,112, 0,115,101,110,115,111,114, +115, 0, 99,111,110,116,114,111,108,108,101,114,115, 0, 97, 99,116,117, 97,116,111,114,115, 0, 98, 98,115,105,122,101, 91, 51, + 93, 0, 97, 99,116,100,101,102, 0,103, 97,109,101,102,108, 97,103, 0,103, 97,109,101,102,108, 97,103, 50, 0, 42, 98,115,111, +102,116, 0,115,111,102,116,102,108, 97,103, 0, 97,110,105,115,111,116,114,111,112,105, 99, 70,114,105, 99,116,105,111,110, 91, + 51, 93, 0, 99,111,110,115,116,114, 97,105,110,116,115, 0,110,108, 97,115,116,114,105,112,115, 0,104,111,111,107,115, 0,112, + 97,114,116,105, 99,108,101,115,121,115,116,101,109, 0, 42,115,111,102,116, 0, 42,100,117,112, 95,103,114,111,117,112, 0,102, +108,117,105,100,115,105,109, 70,108, 97,103, 0,114,101,115,116,114,105, 99,116,102,108, 97,103, 0,115,104, 97,112,101,102,108, + 97,103, 0,114,101, 99, 97,108, 99,111, 0, 98,111,100,121, 95,116,121,112,101, 0, 42,102,108,117,105,100,115,105,109, 83,101, +116,116,105,110,103,115, 0, 42,100,101,114,105,118,101,100, 68,101,102,111,114,109, 0, 42,100,101,114,105,118,101,100, 70,105, +110, 97,108, 0,108, 97,115,116, 68, 97,116, 97, 77, 97,115,107, 0,115,116, 97,116,101, 0,105,110,105,116, 95,115,116, 97,116, +101, 0,103,112,117,108, 97,109,112, 0,112, 99, 95,105,100,115, 0, 42,100,117,112,108,105,108,105,115,116, 0, 99,117,114,105, +110,100,101,120, 0, 97, 99,116,105,118,101, 0,111,114,105,103,108, 97,121, 0,110,111, 95,100,114, 97,119, 0, 97,110,105,109, + 97,116,101,100, 0,111,109, 97,116, 91, 52, 93, 91, 52, 93, 0,111,114, 99,111, 91, 51, 93, 0,100,101,102,108,101, 99,116, 0, +102,111,114, 99,101,102,105,101,108,100, 0,115,104, 97,112,101, 0,116,101,120, 95,109,111,100,101, 0,107,105,110,107, 0,107, +105,110,107, 95, 97,120,105,115, 0,122,100,105,114, 0,102, 95,115,116,114,101,110,103,116,104, 0,102, 95,100, 97,109,112, 0, +102, 95,102,108,111,119, 0,102, 95,115,105,122,101, 0,102, 95,112,111,119,101,114, 0,109, 97,120,100,105,115,116, 0,109,105, +110,100,105,115,116, 0,102, 95,112,111,119,101,114, 95,114, 0,109, 97,120,114, 97,100, 0,109,105,110,114, 97,100, 0,112,100, +101,102, 95,100, 97,109,112, 0,112,100,101,102, 95,114,100, 97,109,112, 0,112,100,101,102, 95,112,101,114,109, 0,112,100,101, +102, 95,102,114,105, 99,116, 0,112,100,101,102, 95,114,102,114,105, 99,116, 0,112,100,101,102, 95,115,116,105, 99,107,110,101, +115,115, 0, 97, 98,115,111,114,112,116,105,111,110, 0,112,100,101,102, 95,115, 98,100, 97,109,112, 0,112,100,101,102, 95,115, + 98,105,102,116, 0,112,100,101,102, 95,115, 98,111,102,116, 0, 99,108,117,109,112, 95,102, 97, 99, 0, 99,108,117,109,112, 95, +112,111,119, 0,107,105,110,107, 95,102,114,101,113, 0,107,105,110,107, 95,115,104, 97,112,101, 0,107,105,110,107, 95, 97,109, +112, 0,102,114,101,101, 95,101,110,100, 0,116,101,120, 95,110, 97, 98,108, 97, 0, 42,114,110,103, 0,102, 95,110,111,105,115, +101, 0,119,101,105,103,104,116, 91, 49, 51, 93, 0,103,108,111, 98, 97,108, 95,103,114, 97,118,105,116,121, 0,114,116, 91, 51, + 93, 0,116,111,116,100, 97,116, 97, 0,102,114, 97,109,101, 0,116,111,116,112,111,105,110,116, 0,100, 97,116, 97, 95,116,121, +112,101,115, 0, 42,100, 97,116, 97, 91, 56, 93, 0, 42, 99,117,114, 91, 56, 93, 0,101,120,116,114, 97,100, 97,116, 97, 0,115, +116,101,112, 0,115,105,109,102,114, 97,109,101, 0,115,116, 97,114,116,102,114, 97,109,101, 0,101,110,100,102,114, 97,109,101, + 0,101,100,105,116,102,114, 97,109,101, 0,108, 97,115,116, 95,101,120, 97, 99,116, 0, 99,111,109,112,114,101,115,115,105,111, +110, 0,110, 97,109,101, 91, 54, 52, 93, 0,112,114,101,118, 95,110, 97,109,101, 91, 54, 52, 93, 0,105,110,102,111, 91, 54, 52, + 93, 0,112, 97,116,104, 91, 50, 52, 48, 93, 0, 42, 99, 97, 99,104,101,100, 95,102,114, 97,109,101,115, 0,109,101,109, 95, 99, + 97, 99,104,101, 0, 42,101,100,105,116, 0, 40, 42,102,114,101,101, 95,101,100,105,116, 41, 40, 41, 0,108,105,110, 83,116,105, +102,102, 0, 97,110,103, 83,116,105,102,102, 0,118,111,108,117,109,101, 0,118,105,116,101,114, 97,116,105,111,110,115, 0,112, +105,116,101,114, 97,116,105,111,110,115, 0,100,105,116,101,114, 97,116,105,111,110,115, 0, 99,105,116,101,114, 97,116,105,111, +110,115, 0,107, 83, 82, 72, 82, 95, 67, 76, 0,107, 83, 75, 72, 82, 95, 67, 76, 0,107, 83, 83, 72, 82, 95, 67, 76, 0,107, 83, + 82, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 75, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 83, 95, 83, 80, 76, 84, 95, 67, + 76, 0,107, 86, 67, 70, 0,107, 68, 80, 0,107, 68, 71, 0,107, 76, 70, 0,107, 80, 82, 0,107, 86, 67, 0,107, 68, 70, 0,107, + 77, 84, 0,107, 67, 72, 82, 0,107, 75, 72, 82, 0,107, 83, 72, 82, 0,107, 65, 72, 82, 0, 99,111,108,108,105,115,105,111,110, +102,108, 97,103,115, 0,110,117,109, 99,108,117,115,116,101,114,105,116,101,114, 97,116,105,111,110,115, 0,119,101,108,100,105, +110,103, 0,116,111,116,115,112,114,105,110,103, 0, 42, 98,112,111,105,110,116, 0, 42, 98,115,112,114,105,110,103, 0,109,115, +103, 95,108,111, 99,107, 0,109,115,103, 95,118, 97,108,117,101, 0,110,111,100,101,109, 97,115,115, 0,110, 97,109,101,100, 86, + 71, 95, 77, 97,115,115, 91, 51, 50, 93, 0,103,114, 97,118, 0,109,101,100,105, 97,102,114,105, 99,116, 0,114,107,108,105,109, +105,116, 0,112,104,121,115,105, 99,115, 95,115,112,101,101,100, 0,103,111, 97,108,115,112,114,105,110,103, 0,103,111, 97,108, +102,114,105, 99,116, 0,109,105,110,103,111, 97,108, 0,109, 97,120,103,111, 97,108, 0,100,101,102,103,111, 97,108, 0,118,101, +114,116,103,114,111,117,112, 0,110, 97,109,101,100, 86, 71, 95, 83,111,102,116,103,111, 97,108, 91, 51, 50, 93, 0,102,117,122, +122,121,110,101,115,115, 0,105,110,115,112,114,105,110,103, 0,105,110,102,114,105, 99,116, 0,110, 97,109,101,100, 86, 71, 95, + 83,112,114,105,110,103, 95, 75, 91, 51, 50, 93, 0,101,102,114, 97, 0,105,110,116,101,114,118, 97,108, 0,108,111, 99, 97,108, + 0,115,111,108,118,101,114,102,108, 97,103,115, 0, 42, 42,107,101,121,115, 0,116,111,116,112,111,105,110,116,107,101,121, 0, +115,101, 99,111,110,100,115,112,114,105,110,103, 0, 99,111,108, 98, 97,108,108, 0, 98, 97,108,108,100, 97,109,112, 0, 98, 97, +108,108,115,116,105,102,102, 0,115, 98, 99, 95,109,111,100,101, 0, 97,101,114,111,101,100,103,101, 0,109,105,110,108,111,111, +112,115, 0,109, 97,120,108,111,111,112,115, 0, 99,104,111,107,101, 0,115,111,108,118,101,114, 95, 73, 68, 0,112,108, 97,115, +116,105, 99, 0,115,112,114,105,110,103,112,114,101,108,111, 97,100, 0, 42,115, 99,114, 97,116, 99,104, 0,115,104,101, 97,114, +115,116,105,102,102, 0,105,110,112,117,115,104, 0, 42,112,111,105,110,116, 99, 97, 99,104,101, 0, 42,101,102,102,101, 99,116, +111,114, 95,119,101,105,103,104,116,115, 0,108, 99,111,109, 91, 51, 93, 0,108,114,111,116, 91, 51, 93, 91, 51, 93, 0,108,115, + 99, 97,108,101, 91, 51, 93, 91, 51, 93, 0,112, 97,100, 52, 91, 52, 93, 0, 42,102,109,100, 0,115,104,111,119, 95, 97,100,118, + 97,110, 99,101,100,111,112,116,105,111,110,115, 0,114,101,115,111,108,117,116,105,111,110,120,121,122, 0,112,114,101,118,105, +101,119,114,101,115,120,121,122, 0,114,101, 97,108,115,105,122,101, 0,103,117,105, 68,105,115,112,108, 97,121, 77,111,100,101, + 0,114,101,110,100,101,114, 68,105,115,112,108, 97,121, 77,111,100,101, 0,118,105,115, 99,111,115,105,116,121, 86, 97,108,117, +101, 0,118,105,115, 99,111,115,105,116,121, 77,111,100,101, 0,118,105,115, 99,111,115,105,116,121, 69,120,112,111,110,101,110, +116, 0,103,114, 97,118,120, 0,103,114, 97,118,121, 0,103,114, 97,118,122, 0, 97,110,105,109, 83,116, 97,114,116, 0, 97,110, +105,109, 69,110,100, 0, 98, 97,107,101, 83,116, 97,114,116, 0, 98, 97,107,101, 69,110,100, 0,103,115,116, 97,114, 0,109, 97, +120, 82,101,102,105,110,101, 0,105,110,105, 86,101,108,120, 0,105,110,105, 86,101,108,121, 0,105,110,105, 86,101,108,122, 0, + 42,111,114,103, 77,101,115,104, 0, 42,109,101,115,104, 83,117,114,102, 97, 99,101, 0, 42,109,101,115,104, 66, 66, 0,115,117, +114,102,100, 97,116, 97, 80, 97,116,104, 91, 50, 52, 48, 93, 0, 98, 98, 83,116, 97,114,116, 91, 51, 93, 0, 98, 98, 83,105,122, +101, 91, 51, 93, 0,116,121,112,101, 70,108, 97,103,115, 0,100,111,109, 97,105,110, 78,111,118,101, 99,103,101,110, 0,118,111, +108,117,109,101, 73,110,105,116, 84,121,112,101, 0,112, 97,114,116, 83,108,105,112, 86, 97,108,117,101, 0,103,101,110,101,114, + 97,116,101, 84,114, 97, 99,101,114,115, 0,103,101,110,101,114, 97,116,101, 80, 97,114,116,105, 99,108,101,115, 0,115,117,114, +102, 97, 99,101, 83,109,111,111,116,104,105,110,103, 0,115,117,114,102, 97, 99,101, 83,117, 98,100,105,118,115, 0,112, 97,114, +116,105, 99,108,101, 73,110,102, 83,105,122,101, 0,112, 97,114,116,105, 99,108,101, 73,110,102, 65,108,112,104, 97, 0,102, 97, +114, 70,105,101,108,100, 83,105,122,101, 0, 42,109,101,115,104, 83,117,114,102, 78,111,114,109, 97,108,115, 0, 99,112,115, 84, +105,109,101, 83,116, 97,114,116, 0, 99,112,115, 84,105,109,101, 69,110,100, 0, 99,112,115, 81,117, 97,108,105,116,121, 0, 97, +116,116,114, 97, 99,116,102,111,114, 99,101, 83,116,114,101,110,103,116,104, 0, 97,116,116,114, 97, 99,116,102,111,114, 99,101, + 82, 97,100,105,117,115, 0,118,101,108,111, 99,105,116,121,102,111,114, 99,101, 83,116,114,101,110,103,116,104, 0,118,101,108, +111, 99,105,116,121,102,111,114, 99,101, 82, 97,100,105,117,115, 0,108, 97,115,116,103,111,111,100,102,114, 97,109,101, 0,109, +105,115,116,121,112,101, 0,104,111,114,114, 0,104,111,114,103, 0,104,111,114, 98, 0,122,101,110,114, 0,122,101,110,103, 0, +122,101,110, 98, 0,102, 97,115,116, 99,111,108, 0,101,120,112,111,115,117,114,101, 0,101,120,112, 0,114, 97,110,103,101, 0, +108,105,110,102, 97, 99, 0,108,111,103,102, 97, 99, 0,103,114, 97,118,105,116,121, 0, 97, 99,116,105,118,105,116,121, 66,111, +120, 82, 97,100,105,117,115, 0,115,107,121,116,121,112,101, 0,111, 99, 99,108,117,115,105,111,110, 82,101,115, 0,112,104,121, +115,105, 99,115, 69,110,103,105,110,101, 0,116,105, 99,114, 97,116,101, 0,109, 97,120,108,111,103,105, 99,115,116,101,112, 0, +112,104,121,115,117, 98,115,116,101,112, 0,109, 97,120,112,104,121,115,116,101,112, 0,109,105,115,105, 0,109,105,115,116,115, +116, 97, 0,109,105,115,116,100,105,115,116, 0,109,105,115,116,104,105, 0,115,116, 97,114,114, 0,115,116, 97,114,103, 0,115, +116, 97,114, 98, 0,115,116, 97,114,107, 0,115,116, 97,114,115,105,122,101, 0,115,116, 97,114,109,105,110,100,105,115,116, 0, +115,116, 97,114,100,105,115,116, 0,115,116, 97,114, 99,111,108,110,111,105,115,101, 0,100,111,102,115,116, 97, 0,100,111,102, +101,110,100, 0,100,111,102,109,105,110, 0,100,111,102,109, 97,120, 0, 97,111,100,105,115,116, 0, 97,111,100,105,115,116,102, + 97, 99, 0, 97,111,101,110,101,114,103,121, 0, 97,111, 98,105, 97,115, 0, 97,111,109,111,100,101, 0, 97,111,115, 97,109,112, + 0, 97,111,109,105,120, 0, 97,111, 99,111,108,111,114, 0, 97,111, 95, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0, 97, +111, 95, 97,100, 97,112,116, 95,115,112,101,101,100, 95,102, 97, 99, 0, 97,111, 95, 97,112,112,114,111,120, 95,101,114,114,111, +114, 0, 97,111, 95, 97,112,112,114,111,120, 95, 99,111,114,114,101, 99,116,105,111,110, 0, 97,111, 95,105,110,100,105,114,101, + 99,116, 95,101,110,101,114,103,121, 0, 97,111, 95,101,110,118, 95,101,110,101,114,103,121, 0, 97,111, 95,112, 97,100, 50, 0, + 97,111, 95,105,110,100,105,114,101, 99,116, 95, 98,111,117,110, 99,101,115, 0, 97,111, 95,112, 97,100, 0, 97,111, 95,115, 97, +109,112, 95,109,101,116,104,111,100, 0, 97,111, 95,103, 97,116,104,101,114, 95,109,101,116,104,111,100, 0, 97,111, 95, 97,112, +112,114,111,120, 95,112, 97,115,115,101,115, 0, 42, 97,111,115,112,104,101,114,101, 0, 42, 97,111,116, 97, 98,108,101,115, 0, +115,101,108, 99,111,108, 0,115,120, 0,115,121, 0, 42,108,112, 70,111,114,109, 97,116, 0, 42,108,112, 80, 97,114,109,115, 0, + 99, 98, 70,111,114,109, 97,116, 0, 99, 98, 80, 97,114,109,115, 0,102, 99, 99, 84,121,112,101, 0,102, 99, 99, 72, 97,110,100, +108,101,114, 0,100,119, 75,101,121, 70,114, 97,109,101, 69,118,101,114,121, 0,100,119, 81,117, 97,108,105,116,121, 0,100,119, + 66,121,116,101,115, 80,101,114, 83,101, 99,111,110,100, 0,100,119, 70,108, 97,103,115, 0,100,119, 73,110,116,101,114,108,101, + 97,118,101, 69,118,101,114,121, 0, 97,118,105, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42, 99,100, 80, 97, +114,109,115, 0, 42,112, 97,100, 0, 99,100, 83,105,122,101, 0,113,116, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, + 0, 99,111,100,101, 99, 84,121,112,101, 0, 99,111,100,101, 99, 83,112, 97,116,105, 97,108, 81,117, 97,108,105,116,121, 0, 99, +111,100,101, 99, 0, 99,111,100,101, 99, 70,108, 97,103,115, 0, 99,111,108,111,114, 68,101,112,116,104, 0, 99,111,100,101, 99, + 84,101,109,112,111,114, 97,108, 81,117, 97,108,105,116,121, 0,109,105,110, 83,112, 97,116,105, 97,108, 81,117, 97,108,105,116, +121, 0,109,105,110, 84,101,109,112,111,114, 97,108, 81,117, 97,108,105,116,121, 0,107,101,121, 70,114, 97,109,101, 82, 97,116, +101, 0, 98,105,116, 82, 97,116,101, 0, 97,117,100,105,111, 99,111,100,101, 99, 84,121,112,101, 0, 97,117,100,105,111, 83, 97, +109,112,108,101, 82, 97,116,101, 0, 97,117,100,105,111, 66,105,116, 68,101,112,116,104, 0, 97,117,100,105,111, 67,104, 97,110, +110,101,108,115, 0, 97,117,100,105,111, 67,111,100,101, 99, 70,108, 97,103,115, 0, 97,117,100,105,111, 66,105,116, 82, 97,116, +101, 0, 97,117,100,105,111, 95, 99,111,100,101, 99, 0,118,105,100,101,111, 95, 98,105,116,114, 97,116,101, 0, 97,117,100,105, +111, 95, 98,105,116,114, 97,116,101, 0, 97,117,100,105,111, 95,109,105,120,114, 97,116,101, 0, 97,117,100,105,111, 95,118,111, +108,117,109,101, 0,103,111,112, 95,115,105,122,101, 0,114, 99, 95,109,105,110, 95,114, 97,116,101, 0,114, 99, 95,109, 97,120, + 95,114, 97,116,101, 0,114, 99, 95, 98,117,102,102,101,114, 95,115,105,122,101, 0,109,117,120, 95,112, 97, 99,107,101,116, 95, +115,105,122,101, 0,109,117,120, 95,114, 97,116,101, 0,109,105,120,114, 97,116,101, 0,109, 97,105,110, 0,115,112,101,101,100, + 95,111,102, 95,115,111,117,110,100, 0,100,111,112,112,108,101,114, 95,102, 97, 99,116,111,114, 0,100,105,115,116, 97,110, 99, +101, 95,109,111,100,101,108, 0, 42,109, 97,116, 95,111,118,101,114,114,105,100,101, 0, 42,108,105,103,104,116, 95,111,118,101, +114,114,105,100,101, 0,108, 97,121, 95,122,109, 97,115,107, 0,108, 97,121,102,108, 97,103, 0,112, 97,115,115,102,108, 97,103, + 0,112, 97,115,115, 95,120,111,114, 0, 42, 97,118,105, 99,111,100,101, 99,100, 97,116, 97, 0, 42,113,116, 99,111,100,101, 99, +100, 97,116, 97, 0,113,116, 99,111,100,101, 99,115,101,116,116,105,110,103,115, 0,102,102, 99,111,100,101, 99,100, 97,116, 97, + 0,115,117, 98,102,114, 97,109,101, 0,112,115,102,114, 97, 0,112,101,102,114, 97, 0,105,109, 97,103,101,115, 0,102,114, 97, +109, 97,112,116,111, 0,116,104,114,101, 97,100,115, 0,102,114, 97,109,101,108,101,110, 0, 98,108,117,114,102, 97, 99, 0,101, +100,103,101, 82, 0,101,100,103,101, 71, 0,101,100,103,101, 66, 0,102,117,108,108,115, 99,114,101,101,110, 0,120,112,108, 97, +121, 0,121,112,108, 97,121, 0,102,114,101,113,112,108, 97,121, 0, 97,116,116,114,105, 98, 0,102,114, 97,109,101, 95,115,116, +101,112, 0,115,116,101,114,101,111,109,111,100,101, 0,100,105,109,101,110,115,105,111,110,115,112,114,101,115,101,116, 0,109, + 97,120,105,109,115,105,122,101, 0,120,115, 99,104, 0,121,115, 99,104, 0,120,112, 97,114,116,115, 0,121,112, 97,114,116,115, + 0,119,105,110,112,111,115, 0,112,108, 97,110,101,115, 0,105,109,116,121,112,101, 0,115,117, 98,105,109,116,121,112,101, 0, +113,117, 97,108,105,116,121, 0,100,105,115,112,108, 97,121,109,111,100,101, 0,114,112, 97,100, 49, 0,114,112, 97,100, 50, 0, +115, 99,101,109,111,100,101, 0,114, 97,121,116,114, 97, 99,101, 95,111,112,116,105,111,110,115, 0,114, 97,121,116,114, 97, 99, +101, 95,115,116,114,117, 99,116,117,114,101, 0,114,101,110,100,101,114,101,114, 0,111, 99,114,101,115, 0,112, 97,100, 52, 0, + 97,108,112,104, 97,109,111,100,101, 0,111,115, 97, 0,102,114,115, 95,115,101, 99, 0,101,100,103,101,105,110,116, 0,115, 97, +102,101,116,121, 0, 98,111,114,100,101,114, 0,100,105,115,112,114,101, 99,116, 0,108, 97,121,101,114,115, 0, 97, 99,116,108, + 97,121, 0,109, 98,108,117,114, 95,115, 97,109,112,108,101,115, 0,120, 97,115,112, 0,121, 97,115,112, 0,102,114,115, 95,115, +101, 99, 95, 98, 97,115,101, 0,103, 97,117,115,115, 0, 99,111,108,111,114, 95,109,103,116, 95,102,108, 97,103, 0,112,111,115, +116,103, 97,109,109, 97, 0,112,111,115,116,104,117,101, 0,112,111,115,116,115, 97,116, 0,100,105,116,104,101,114, 95,105,110, +116,101,110,115,105,116,121, 0, 98, 97,107,101, 95,111,115, 97, 0, 98, 97,107,101, 95,102,105,108,116,101,114, 0, 98, 97,107, +101, 95,109,111,100,101, 0, 98, 97,107,101, 95,102,108, 97,103, 0, 98, 97,107,101, 95,110,111,114,109, 97,108, 95,115,112, 97, + 99,101, 0, 98, 97,107,101, 95,113,117, 97,100, 95,115,112,108,105,116, 0, 98, 97,107,101, 95,109, 97,120,100,105,115,116, 0, + 98, 97,107,101, 95, 98,105, 97,115,100,105,115,116, 0, 98, 97,107,101, 95,112, 97,100, 0, 98, 97, 99,107, 98,117,102, 91, 49, + 54, 48, 93, 0,112,105, 99, 91, 49, 54, 48, 93, 0,115,116, 97,109,112, 0,115,116, 97,109,112, 95,102,111,110,116, 95,105,100, + 0,115,116, 97,109,112, 95,117,100, 97,116, 97, 91, 49, 54, 48, 93, 0,102,103, 95,115,116, 97,109,112, 91, 52, 93, 0, 98,103, + 95,115,116, 97,109,112, 91, 52, 93, 0,115,101,113, 95,112,114,101,118, 95,116,121,112,101, 0,115,101,113, 95,114,101,110,100, + 95,116,121,112,101, 0,115,101,113, 95,102,108, 97,103, 0,112, 97,100, 53, 91, 53, 93, 0,115,105,109,112,108,105,102,121, 95, +102,108, 97,103, 0,115,105,109,112,108,105,102,121, 95,115,117, 98,115,117,114,102, 0,115,105,109,112,108,105,102,121, 95,115, +104, 97,100,111,119,115, 97,109,112,108,101,115, 0,115,105,109,112,108,105,102,121, 95,112, 97,114,116,105, 99,108,101,115, 0, +115,105,109,112,108,105,102,121, 95, 97,111,115,115,115, 0, 99,105,110,101,111,110,119,104,105,116,101, 0, 99,105,110,101,111, +110, 98,108, 97, 99,107, 0, 99,105,110,101,111,110,103, 97,109,109, 97, 0,106,112, 50, 95,112,114,101,115,101,116, 0,106,112, + 50, 95,100,101,112,116,104, 0,114,112, 97,100, 51, 0,100,111,109,101,114,101,115, 0,100,111,109,101,109,111,100,101, 0,100, +111,109,101, 97,110,103,108,101, 0,100,111,109,101,116,105,108,116, 0,100,111,109,101,114,101,115, 98,117,102, 0, 42,100,111, +109,101,116,101,120,116, 0,101,110,103,105,110,101, 91, 51, 50, 93, 0,112, 97,114,116,105, 99,108,101, 95,112,101,114, 99, 0, +115,117, 98,115,117,114,102, 95,109, 97,120, 0,115,104, 97,100, 98,117,102,115, 97,109,112,108,101, 95,109, 97,120, 0, 97,111, + 95,101,114,114,111,114, 0,116,105,108,116, 0,114,101,115, 98,117,102, 0, 42,119, 97,114,112,116,101,120,116, 0, 99,111,108, + 91, 51, 93, 0,109, 97,116,109,111,100,101, 0,112, 97,100, 91, 51, 93, 0,102,114, 97,109,105,110,103, 0,114,116, 49, 0,114, +116, 50, 0,100,111,109,101, 0,115,116,101,114,101,111,102,108, 97,103, 0,101,121,101,115,101,112, 97,114, 97,116,105,111,110, + 0, 42, 99, 97,109,101,114, 97, 0, 42, 98,114,117,115,104, 0, 42,112, 97,105,110,116, 95, 99,117,114,115,111,114, 0,112, 97, +105,110,116, 95, 99,117,114,115,111,114, 95, 99,111,108, 91, 52, 93, 0,112, 97,105,110,116, 0,115,101, 97,109, 95, 98,108,101, +101,100, 0,110,111,114,109, 97,108, 95, 97,110,103,108,101, 0,115, 99,114,101,101,110, 95,103,114, 97, 98, 95,115,105,122,101, + 91, 50, 93, 0, 42,112, 97,105,110,116, 99,117,114,115,111,114, 0,105,110,118,101,114,116, 0,116,111,116,114,101,107,101,121, + 0,116,111,116, 97,100,100,107,101,121, 0, 98,114,117,115,104,116,121,112,101, 0, 98,114,117,115,104, 91, 55, 93, 0,101,109, +105,116,116,101,114,100,105,115,116, 0,115,101,108,101, 99,116,109,111,100,101, 0,101,100,105,116,116,121,112,101, 0,100,114, + 97,119, 95,115,116,101,112, 0,102, 97,100,101, 95,102,114, 97,109,101,115, 0,110, 97,109,101, 91, 51, 54, 93, 0,109, 97,116, + 91, 51, 93, 91, 51, 93, 0,114, 97,100,105, 97,108, 95,115,121,109,109, 91, 51, 93, 0,108, 97,115,116, 95,120, 0,108, 97,115, +116, 95,121, 0,108, 97,115,116, 95, 97,110,103,108,101, 0,100,114, 97,119, 95, 97,110, 99,104,111,114,101,100, 0, 97,110, 99, +104,111,114,101,100, 95,115,105,122,101, 0, 97,110, 99,104,111,114,101,100, 95,108,111, 99, 97,116,105,111,110, 91, 51, 93, 0, + 97,110, 99,104,111,114,101,100, 95,105,110,105,116,105, 97,108, 95,109,111,117,115,101, 91, 50, 93, 0,100,114, 97,119, 95,112, +114,101,115,115,117,114,101, 0,112,114,101,115,115,117,114,101, 95,118, 97,108,117,101, 0,115,112,101, 99,105, 97,108, 95,114, +111,116, 97,116,105,111,110, 0, 42,118,112, 97,105,110,116, 95,112,114,101,118, 0, 42,119,112, 97,105,110,116, 95,112,114,101, +118, 0, 42,118,112, 97,105,110,116, 0, 42,119,112, 97,105,110,116, 0,118,103,114,111,117,112, 95,119,101,105,103,104,116, 0, + 99,111,114,110,101,114,116,121,112,101, 0,101,100,105,116, 98,117,116,102,108, 97,103, 0,106,111,105,110,116,114,105,108,105, +109,105,116, 0,100,101,103,114, 0,116,117,114,110, 0,101,120,116,114, 95,111,102,102,115, 0,100,111,117, 98,108,105,109,105, +116, 0,110,111,114,109, 97,108,115,105,122,101, 0, 97,117,116,111,109,101,114,103,101, 0,115,101,103,109,101,110,116,115, 0, +114,105,110,103,115, 0,118,101,114,116,105, 99,101,115, 0,117,110,119,114, 97,112,112,101,114, 0,117,118, 99, 97,108, 99, 95, +114, 97,100,105,117,115, 0,117,118, 99, 97,108, 99, 95, 99,117, 98,101,115,105,122,101, 0,117,118, 99, 97,108, 99, 95,109, 97, +114,103,105,110, 0,117,118, 99, 97,108, 99, 95,109, 97,112,100,105,114, 0,117,118, 99, 97,108, 99, 95,109, 97,112, 97,108,105, +103,110, 0,117,118, 99, 97,108, 99, 95,102,108, 97,103, 0,117,118, 95,102,108, 97,103, 0,117,118, 95,115,101,108,101, 99,116, +109,111,100,101, 0,117,118, 95,112, 97,100, 0,103,112,101,110, 99,105,108, 95,102,108, 97,103,115, 0, 97,117,116,111,105,107, + 95, 99,104, 97,105,110,108,101,110, 0,105,109, 97,112, 97,105,110,116, 0,112, 97,114,116,105, 99,108,101, 0,112,114,111,112, +111,114,116,105,111,110, 97,108, 95,115,105,122,101, 0,115,101,108,101, 99,116, 95,116,104,114,101,115,104, 0, 99,108,101, 97, +110, 95,116,104,114,101,115,104, 0, 97,117,116,111,107,101,121, 95,109,111,100,101, 0, 97,117,116,111,107,101,121, 95,102,108, + 97,103, 0,114,101,116,111,112,111, 95,109,111,100,101, 0,114,101,116,111,112,111, 95,112, 97,105,110,116, 95,116,111,111,108, + 0,108,105,110,101, 95,100,105,118, 0,101,108,108,105,112,115,101, 95,100,105,118, 0,114,101,116,111,112,111, 95,104,111,116, +115,112,111,116, 0,109,117,108,116,105,114,101,115, 95,115,117, 98,100,105,118, 95,116,121,112,101, 0,115,107,103,101,110, 95, +114,101,115,111,108,117,116,105,111,110, 0,115,107,103,101,110, 95,116,104,114,101,115,104,111,108,100, 95,105,110,116,101,114, +110, 97,108, 0,115,107,103,101,110, 95,116,104,114,101,115,104,111,108,100, 95,101,120,116,101,114,110, 97,108, 0,115,107,103, +101,110, 95,108,101,110,103,116,104, 95,114, 97,116,105,111, 0,115,107,103,101,110, 95,108,101,110,103,116,104, 95,108,105,109, +105,116, 0,115,107,103,101,110, 95, 97,110,103,108,101, 95,108,105,109,105,116, 0,115,107,103,101,110, 95, 99,111,114,114,101, +108, 97,116,105,111,110, 95,108,105,109,105,116, 0,115,107,103,101,110, 95,115,121,109,109,101,116,114,121, 95,108,105,109,105, +116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95, 97,110,103,108,101, 95,119,101,105,103,104,116, 0,115,107, +103,101,110, 95,114,101,116, 97,114,103,101,116, 95,108,101,110,103,116,104, 95,119,101,105,103,104,116, 0,115,107,103,101,110, + 95,114,101,116, 97,114,103,101,116, 95,100,105,115,116, 97,110, 99,101, 95,119,101,105,103,104,116, 0,115,107,103,101,110, 95, +111,112,116,105,111,110,115, 0,115,107,103,101,110, 95,112,111,115,116,112,114,111, 0,115,107,103,101,110, 95,112,111,115,116, +112,114,111, 95,112, 97,115,115,101,115, 0,115,107,103,101,110, 95,115,117, 98,100,105,118,105,115,105,111,110,115, 91, 51, 93, + 0,115,107,103,101,110, 95,109,117,108,116,105, 95,108,101,118,101,108, 0, 42,115,107,103,101,110, 95,116,101,109,112,108, 97, +116,101, 0, 98,111,110,101, 95,115,107,101,116, 99,104,105,110,103, 0, 98,111,110,101, 95,115,107,101,116, 99,104,105,110,103, + 95, 99,111,110,118,101,114,116, 0,115,107,103,101,110, 95,115,117, 98,100,105,118,105,115,105,111,110, 95,110,117,109, 98,101, +114, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,111,112,116,105,111,110,115, 0,115,107,103,101,110, 95,114, +101,116, 97,114,103,101,116, 95,114,111,108,108, 0,115,107,103,101,110, 95,115,105,100,101, 95,115,116,114,105,110,103, 91, 56, + 93, 0,115,107,103,101,110, 95,110,117,109, 95,115,116,114,105,110,103, 91, 56, 93, 0,101,100,103,101, 95,109,111,100,101, 0, +101,100,103,101, 95,109,111,100,101, 95,108,105,118,101, 95,117,110,119,114, 97,112, 0,115,110, 97,112, 95,109,111,100,101, 0, +115,110, 97,112, 95,102,108, 97,103, 0,115,110, 97,112, 95,116, 97,114,103,101,116, 0,112,114,111,112,111,114,116,105,111,110, + 97,108, 0,112,114,111,112, 95,109,111,100,101, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 95,111, 98,106,101, 99,116, +115, 0, 97,117,116,111, 95,110,111,114,109, 97,108,105,122,101, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,115,101, +116,116,105,110,103,115, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100, 95,115,105,122,101, + 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100, 95,117,110,112,114,111,106,101, 99,116,101, +100, 95,114, 97,100,105,117,115, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100, 95, 97,108, +112,104, 97, 0,116,111,116,111, 98,106, 0,116,111,116,108, 97,109,112, 0,116,111,116,111, 98,106,115,101,108, 0,116,111,116, + 99,117,114,118,101, 0,116,111,116,109,101,115,104, 0,116,111,116, 97,114,109, 97,116,117,114,101, 0,115, 99, 97,108,101, 95, +108,101,110,103,116,104, 0,115,121,115,116,101,109, 0,115,121,115,116,101,109, 95,114,111,116, 97,116,105,111,110, 0,103,114, + 97,118,105,116,121, 91, 51, 93, 0,113,117,105, 99,107, 95, 99, 97, 99,104,101, 95,115,116,101,112, 0, 42,119,111,114,108,100, + 0, 42,115,101,116, 0, 98, 97,115,101, 0, 42, 98, 97,115, 97, 99,116, 0, 42,111, 98,101,100,105,116, 0, 99,117,114,115,111, +114, 91, 51, 93, 0,116,119, 99,101,110,116, 91, 51, 93, 0,116,119,109,105,110, 91, 51, 93, 0,116,119,109, 97,120, 91, 51, 93, + 0,108, 97,121, 97, 99,116, 0, 99,117,115,116,111,109,100, 97,116, 97, 95,109, 97,115,107, 0, 99,117,115,116,111,109,100, 97, +116, 97, 95,109, 97,115,107, 95,109,111,100, 97,108, 0, 42,101,100, 0, 42,116,111,111,108,115,101,116,116,105,110,103,115, 0, + 42,115,116, 97,116,115, 0, 97,117,100,105,111, 0,116,114, 97,110,115,102,111,114,109, 95,115,112, 97, 99,101,115, 0, 42,115, +111,117,110,100, 95,115, 99,101,110,101, 0, 42,115,111,117,110,100, 95,115, 99,101,110,101, 95,104, 97,110,100,108,101, 0, 42, +115,111,117,110,100, 95,115, 99,114,117, 98, 95,104, 97,110,100,108,101, 0, 42,102,112,115, 95,105,110,102,111, 0, 42,116,104, +101, 68, 97,103, 0,100, 97,103,105,115,118, 97,108,105,100, 0,100, 97,103,102,108, 97,103,115, 0,112, 97,100, 54, 0,112, 97, +100, 53, 0, 97, 99,116,105,118,101, 95,107,101,121,105,110,103,115,101,116, 0,107,101,121,105,110,103,115,101,116,115, 0,103, +109, 0,117,110,105,116, 0,112,104,121,115,105, 99,115, 95,115,101,116,116,105,110,103,115, 0, 98,108,101,110,100, 0,118,105, +101,119, 0,119,105,110,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105, +101,119,105,110,118, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,105,110, +118, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,109, 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109, 97,116,111, + 98, 91, 52, 93, 91, 52, 93, 0,116,119,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,113,117, 97,116, 91, 52, 93, 0, +122,102, 97, 99, 0, 99, 97,109,100,120, 0, 99, 97,109,100,121, 0,112,105,120,115,105,122,101, 0, 99, 97,109,122,111,111,109, + 0,116,119,100,114, 97,119,102,108, 97,103, 0,114,102,108, 97,103, 0,118,105,101,119,108,111, 99,107, 0,112,101,114,115,112, + 0, 99,108,105,112, 91, 54, 93, 91, 52, 93, 0, 99,108,105,112, 95,108,111, 99, 97,108, 91, 54, 93, 91, 52, 93, 0, 42, 99,108, +105,112, 98, 98, 0, 42,108,111, 99, 97,108,118,100, 0, 42,114,105, 0, 42,114,101,110,100,101,114, 95,101,110,103,105,110,101, + 0, 42,100,101,112,116,104,115, 0, 42,115,109,115, 0, 42,115,109,111,111,116,104, 95,116,105,109,101,114, 0,108,118,105,101, +119,113,117, 97,116, 91, 52, 93, 0,108,112,101,114,115,112, 0,108,118,105,101,119, 0,103,114,105,100,118,105,101,119, 0,116, +119, 97,110,103,108,101, 91, 51, 93, 0,112, 97,100,102, 0,114,101,103,105,111,110, 98, 97,115,101, 0,115,112, 97, 99,101,116, +121,112,101, 0, 98,108,111, 99,107,115, 99, 97,108,101, 0, 98,108,111, 99,107,104, 97,110,100,108,101,114, 91, 56, 93, 0,108, + 97,121, 95,117,115,101,100, 0, 42,111, 98, 95, 99,101,110,116,114,101, 0, 98,103,112,105, 99, 98, 97,115,101, 0, 42, 98,103, +112,105, 99, 0,111, 98, 95, 99,101,110,116,114,101, 95, 98,111,110,101, 91, 51, 50, 93, 0,100,114, 97,119,116,121,112,101, 0, +111, 98, 95, 99,101,110,116,114,101, 95, 99,117,114,115,111,114, 0,115, 99,101,110,101,108,111, 99,107, 0, 97,114,111,117,110, +100, 0,112,105,118,111,116, 95,108, 97,115,116, 0,103,114,105,100, 0,110,101, 97,114, 0,102, 97,114, 0,103,114,105,100,108, +105,110,101,115, 0,103,114,105,100,102,108, 97,103, 0,103,114,105,100,115,117, 98,100,105,118, 0,109,111,100,101,115,101,108, +101, 99,116, 0,107,101,121,102,108, 97,103,115, 0,116,119,116,121,112,101, 0,116,119,109,111,100,101, 0,116,119,102,108, 97, +103, 0, 97,102,116,101,114,100,114, 97,119, 95,116,114, 97,110,115,112, 0, 97,102,116,101,114,100,114, 97,119, 95,120,114, 97, +121, 0, 97,102,116,101,114,100,114, 97,119, 95,120,114, 97,121,116,114, 97,110,115,112, 0,122, 98,117,102, 0,120,114, 97,121, + 0,110,100,111,102,109,111,100,101, 0,110,100,111,102,102,105,108,116,101,114, 0, 42,112,114,111,112,101,114,116,105,101,115, + 95,115,116,111,114, 97,103,101, 0,118,101,114,116, 0,104,111,114, 0,109, 97,115,107, 0,109,105,110, 91, 50, 93, 0,109, 97, +120, 91, 50, 93, 0,109,105,110,122,111,111,109, 0,109, 97,120,122,111,111,109, 0,115, 99,114,111,108,108, 0,115, 99,114,111, +108,108, 95,117,105, 0,107,101,101,112,116,111,116, 0,107,101,101,112,122,111,111,109, 0,107,101,101,112,111,102,115, 0, 97, +108,105,103,110, 0,119,105,110,120, 0,119,105,110,121, 0,111,108,100,119,105,110,120, 0,111,108,100,119,105,110,121, 0, 42, +116, 97, 98, 95,111,102,102,115,101,116, 0,116, 97, 98, 95,110,117,109, 0,116, 97, 98, 95, 99,117,114, 0,114,112,116, 95,109, + 97,115,107, 0,118, 50,100, 0, 42, 97,100,115, 0,103,104,111,115,116, 67,117,114,118,101,115, 0, 97,117,116,111,115,110, 97, +112, 0, 99,117,114,115,111,114, 86, 97,108, 0,109, 97,105,110, 98, 0,109, 97,105,110, 98,111, 0,109, 97,105,110, 98,117,115, +101,114, 0,114,101, 95, 97,108,105,103,110, 0,112,114,101,118,105,101,119, 0,116,101,120,116,117,114,101, 95, 99,111,110,116, +101,120,116, 0,112, 97,116,104,102,108, 97,103, 0,100, 97,116, 97,105, 99,111,110, 0, 42,112,105,110,105,100, 0,114,101,110, +100,101,114, 95,115,105,122,101, 0, 99,104, 97,110,115,104,111,119,110, 0,122,101, 98,114, 97, 0,122,111,111,109, 0,116,105, +116,108,101, 91, 51, 50, 93, 0,100,105,114, 91, 50, 52, 48, 93, 0,102,105,108,101, 91, 56, 48, 93, 0,114,101,110, 97,109,101, +102,105,108,101, 91, 56, 48, 93, 0,114,101,110, 97,109,101,101,100,105,116, 91, 56, 48, 93, 0,102,105,108,116,101,114, 95,103, +108,111, 98, 91, 54, 52, 93, 0, 97, 99,116,105,118,101, 95,102,105,108,101, 0,115,101,108, 95,102,105,114,115,116, 0,115,101, +108, 95,108, 97,115,116, 0,115,111,114,116, 0,100,105,115,112,108, 97,121, 0,102, 95,102,112, 0,102,112, 95,115,116,114, 91, + 56, 93, 0,115, 99,114,111,108,108, 95,111,102,102,115,101,116, 0, 42,112, 97,114, 97,109,115, 0, 42,102,105,108,101,115, 0, + 42,102,111,108,100,101,114,115, 95,112,114,101,118, 0, 42,102,111,108,100,101,114,115, 95,110,101,120,116, 0, 42,111,112, 0, + 42,115,109,111,111,116,104,115, 99,114,111,108,108, 95,116,105,109,101,114, 0, 42,108, 97,121,111,117,116, 0,114,101, 99,101, +110,116,110,114, 0, 98,111,111,107,109, 97,114,107,110,114, 0,115,121,115,116,101,109,110,114, 0,116,114,101,101, 0, 42,116, +114,101,101,115,116,111,114,101, 0,115,101, 97,114, 99,104, 95,115,116,114,105,110,103, 91, 51, 50, 93, 0,115,101, 97,114, 99, +104, 95,116,115,101, 0,111,117,116,108,105,110,101,118,105,115, 0,115,116,111,114,101,102,108, 97,103, 0,115,101, 97,114, 99, +104, 95,102,108, 97,103,115, 0, 42, 99,117,109, 97,112, 0,115, 99,111,112,101,115, 0,115, 97,109,112,108,101, 95,108,105,110, +101, 95,104,105,115,116, 0, 99,117,114,115,111,114, 91, 50, 93, 0, 99,101,110,116,120, 0, 99,101,110,116,121, 0, 99,117,114, +116,105,108,101, 0,105,109,116,121,112,101,110,114, 0,108,111, 99,107, 0,112,105,110, 0,100,116, 95,117,118, 0,115,116,105, + 99,107,121, 0,100,116, 95,117,118,115,116,114,101,116, 99,104, 0, 42,116,101,120,116, 0,116,111,112, 0,118,105,101,119,108, +105,110,101,115, 0,109,101,110,117,110,114, 0,108,104,101,105,103,104,116, 0, 99,119,105,100,116,104, 0,108,105,110,101,110, +114,115, 95,116,111,116, 0,108,101,102,116, 0,115,104,111,119,108,105,110,101,110,114,115, 0,116, 97, 98,110,117,109, 98,101, +114, 0,115,104,111,119,115,121,110,116, 97,120, 0,108,105,110,101, 95,104,108,105,103,104,116, 0,111,118,101,114,119,114,105, +116,101, 0,108,105,118,101, 95,101,100,105,116, 0,112,105,120, 95,112,101,114, 95,108,105,110,101, 0,116,120,116,115, 99,114, +111,108,108, 0,116,120,116, 98, 97,114, 0,119,111,114,100,119,114, 97,112, 0,100,111,112,108,117,103,105,110,115, 0,102,105, +110,100,115,116,114, 91, 50, 53, 54, 93, 0,114,101,112,108, 97, 99,101,115,116,114, 91, 50, 53, 54, 93, 0,109, 97,114,103,105, +110, 95, 99,111,108,117,109,110, 0, 42,100,114, 97,119, 99, 97, 99,104,101, 0, 42,112,121, 95,100,114, 97,119, 0, 42,112,121, + 95,101,118,101,110,116, 0, 42,112,121, 95, 98,117,116,116,111,110, 0, 42,112,121, 95, 98,114,111,119,115,101,114, 99, 97,108, +108, 98, 97, 99,107, 0, 42,112,121, 95,103,108,111, 98, 97,108,100,105, 99,116, 0,108, 97,115,116,115,112, 97, 99,101, 0,115, + 99,114,105,112,116,110, 97,109,101, 91, 50, 53, 54, 93, 0,115, 99,114,105,112,116, 97,114,103, 91, 50, 53, 54, 93, 0, 42,115, + 99,114,105,112,116, 0, 42, 98,117,116, 95,114,101,102,115, 0, 42, 97,114,114, 97,121, 0, 99, 97, 99,104,101,115, 0, 99, 97, + 99,104,101, 95,100,105,115,112,108, 97,121, 0,114,101,100,114, 97,119,115, 0, 42,105,100, 0, 97,115,112,101, 99,116, 0, 42, + 99,117,114,102,111,110,116, 0,109,120, 0,109,121, 0, 42,101,100,105,116,116,114,101,101, 0,116,114,101,101,116,121,112,101, + 0,116,101,120,102,114,111,109, 0,115,104, 97,100,101,114,102,114,111,109, 0,108,105,110,107,100,114, 97,103, 0,116,105,116, +108,101, 91, 50, 52, 93, 0,109,101,110,117, 0,110,117,109,116,105,108,101,115,120, 0,110,117,109,116,105,108,101,115,121, 0, +115,101,108,115,116, 97,116,101, 0,118,105,101,119,114,101, 99,116, 0, 98,111,111,107,109, 97,114,107,114,101, 99,116, 0,115, + 99,114,111,108,108,112,111,115, 0,115, 99,114,111,108,108,104,101,105,103,104,116, 0,115, 99,114,111,108,108, 97,114,101, 97, + 0,114,101,116,118, 97,108, 0, 97, 99,116,105,118,101, 95, 98,111,111,107,109, 97,114,107, 0,112,114,118, 95,119, 0,112,114, +118, 95,104, 0, 40, 42,114,101,116,117,114,110,102,117,110, 99, 41, 40, 41, 0, 40, 42,114,101,116,117,114,110,102,117,110, 99, + 95,101,118,101,110,116, 41, 40, 41, 0, 40, 42,114,101,116,117,114,110,102,117,110, 99, 95, 97,114,103,115, 41, 40, 41, 0, 42, + 97,114,103, 49, 0, 42, 97,114,103, 50, 0, 42,109,101,110,117,112, 0, 42,112,117,112,109,101,110,117, 0, 42,105,109,103, 0, +108,101,110, 95, 97,108,108,111, 99, 0, 99,117,114,115,111,114, 0,115, 99,114,111,108,108, 98, 97, 99,107, 0,104,105,115,116, +111,114,121, 0,112,114,111,109,112,116, 91, 50, 53, 54, 93, 0,108, 97,110,103,117, 97,103,101, 91, 51, 50, 93, 0,115,101,108, + 95,115,116, 97,114,116, 0,115,101,108, 95,101,110,100, 0,102,105,108,116,101,114, 91, 54, 52, 93, 0, 42, 97,114,101, 97, 0, + 42,115,111,117,110,100, 0,115,110,100,110,114, 0,102,105,108,101,110, 97,109,101, 91, 50, 53, 54, 93, 0, 98,108,102, 95,105, +100, 0,117,105,102,111,110,116, 95,105,100, 0,114, 95,116,111, 95,108, 0,112,111,105,110,116,115, 0,107,101,114,110,105,110, +103, 0,105,116, 97,108,105, 99, 0, 98,111,108,100, 0,115,104, 97,100,111,119, 0,115,104, 97,100,120, 0,115,104, 97,100,121, + 0,115,104, 97,100,111,119, 97,108,112,104, 97, 0,115,104, 97,100,111,119, 99,111,108,111,114, 0,112, 97,110,101,108,116,105, +116,108,101, 0,103,114,111,117,112,108, 97, 98,101,108, 0,119,105,100,103,101,116,108, 97, 98,101,108, 0,119,105,100,103,101, +116, 0,112, 97,110,101,108,122,111,111,109, 0,109,105,110,108, 97, 98,101,108, 99,104, 97,114,115, 0,109,105,110,119,105,100, +103,101,116, 99,104, 97,114,115, 0, 99,111,108,117,109,110,115,112, 97, 99,101, 0,116,101,109,112,108, 97,116,101,115,112, 97, + 99,101, 0, 98,111,120,115,112, 97, 99,101, 0, 98,117,116,116,111,110,115,112, 97, 99,101,120, 0, 98,117,116,116,111,110,115, +112, 97, 99,101,121, 0,112, 97,110,101,108,115,112, 97, 99,101, 0,112, 97,110,101,108,111,117,116,101,114, 0,112, 97,100, 91, + 49, 93, 0,111,117,116,108,105,110,101, 91, 52, 93, 0,105,110,110,101,114, 91, 52, 93, 0,105,110,110,101,114, 95,115,101,108, + 91, 52, 93, 0,105,116,101,109, 91, 52, 93, 0,116,101,120,116, 91, 52, 93, 0,116,101,120,116, 95,115,101,108, 91, 52, 93, 0, +115,104, 97,100,101,100, 0,115,104, 97,100,101,116,111,112, 0,115,104, 97,100,101,100,111,119,110, 0, 97,108,112,104, 97, 95, + 99,104,101, 99,107, 0,105,110,110,101,114, 95, 97,110,105,109, 91, 52, 93, 0,105,110,110,101,114, 95, 97,110,105,109, 95,115, +101,108, 91, 52, 93, 0,105,110,110,101,114, 95,107,101,121, 91, 52, 93, 0,105,110,110,101,114, 95,107,101,121, 95,115,101,108, + 91, 52, 93, 0,105,110,110,101,114, 95,100,114,105,118,101,110, 91, 52, 93, 0,105,110,110,101,114, 95,100,114,105,118,101,110, + 95,115,101,108, 91, 52, 93, 0,119, 99,111,108, 95,114,101,103,117,108, 97,114, 0,119, 99,111,108, 95,116,111,111,108, 0,119, + 99,111,108, 95,116,101,120,116, 0,119, 99,111,108, 95,114, 97,100,105,111, 0,119, 99,111,108, 95,111,112,116,105,111,110, 0, +119, 99,111,108, 95,116,111,103,103,108,101, 0,119, 99,111,108, 95,110,117,109, 0,119, 99,111,108, 95,110,117,109,115,108,105, +100,101,114, 0,119, 99,111,108, 95,109,101,110,117, 0,119, 99,111,108, 95,112,117,108,108,100,111,119,110, 0,119, 99,111,108, + 95,109,101,110,117, 95, 98, 97, 99,107, 0,119, 99,111,108, 95,109,101,110,117, 95,105,116,101,109, 0,119, 99,111,108, 95, 98, +111,120, 0,119, 99,111,108, 95,115, 99,114,111,108,108, 0,119, 99,111,108, 95,112,114,111,103,114,101,115,115, 0,119, 99,111, +108, 95,108,105,115,116, 95,105,116,101,109, 0,119, 99,111,108, 95,115,116, 97,116,101, 0,105, 99,111,110,102,105,108,101, 91, + 56, 48, 93, 0, 98, 97, 99,107, 91, 52, 93, 0,116,105,116,108,101, 91, 52, 93, 0,116,101,120,116, 95,104,105, 91, 52, 93, 0, +104,101, 97,100,101,114, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,105,116,108,101, 91, 52, 93, 0,104,101, 97,100,101,114, + 95,116,101,120,116, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0, 98,117,116,116,111, +110, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,105,116,108,101, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,101,120,116, + 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,108,105,115,116, 91, 52, 93, 0,108,105, +115,116, 95,116,105,116,108,101, 91, 52, 93, 0,108,105,115,116, 95,116,101,120,116, 91, 52, 93, 0,108,105,115,116, 95,116,101, +120,116, 95,104,105, 91, 52, 93, 0,112, 97,110,101,108, 91, 52, 93, 0,112, 97,110,101,108, 95,116,105,116,108,101, 91, 52, 93, + 0,112, 97,110,101,108, 95,116,101,120,116, 91, 52, 93, 0,112, 97,110,101,108, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0, +115,104, 97,100,101, 49, 91, 52, 93, 0,115,104, 97,100,101, 50, 91, 52, 93, 0,104,105,108,105,116,101, 91, 52, 93, 0,103,114, +105,100, 91, 52, 93, 0,119,105,114,101, 91, 52, 93, 0,115,101,108,101, 99,116, 91, 52, 93, 0,108, 97,109,112, 91, 52, 93, 0, + 97, 99,116,105,118,101, 91, 52, 93, 0,103,114,111,117,112, 91, 52, 93, 0,103,114,111,117,112, 95, 97, 99,116,105,118,101, 91, + 52, 93, 0,116,114, 97,110,115,102,111,114,109, 91, 52, 93, 0,118,101,114,116,101,120, 91, 52, 93, 0,118,101,114,116,101,120, + 95,115,101,108,101, 99,116, 91, 52, 93, 0,101,100,103,101, 91, 52, 93, 0,101,100,103,101, 95,115,101,108,101, 99,116, 91, 52, + 93, 0,101,100,103,101, 95,115,101, 97,109, 91, 52, 93, 0,101,100,103,101, 95,115,104, 97,114,112, 91, 52, 93, 0,101,100,103, +101, 95,102, 97, 99,101,115,101,108, 91, 52, 93, 0,101,100,103,101, 95, 99,114,101, 97,115,101, 91, 52, 93, 0,102, 97, 99,101, + 91, 52, 93, 0,102, 97, 99,101, 95,115,101,108,101, 99,116, 91, 52, 93, 0,102, 97, 99,101, 95,100,111,116, 91, 52, 93, 0,101, +120,116,114, 97, 95,101,100,103,101, 95,108,101,110, 91, 52, 93, 0,101,120,116,114, 97, 95,102, 97, 99,101, 95, 97,110,103,108, +101, 91, 52, 93, 0,101,120,116,114, 97, 95,102, 97, 99,101, 95, 97,114,101, 97, 91, 52, 93, 0,112, 97,100, 51, 91, 52, 93, 0, +110,111,114,109, 97,108, 91, 52, 93, 0,118,101,114,116,101,120, 95,110,111,114,109, 97,108, 91, 52, 93, 0, 98,111,110,101, 95, +115,111,108,105,100, 91, 52, 93, 0, 98,111,110,101, 95,112,111,115,101, 91, 52, 93, 0,115,116,114,105,112, 91, 52, 93, 0,115, +116,114,105,112, 95,115,101,108,101, 99,116, 91, 52, 93, 0, 99,102,114, 97,109,101, 91, 52, 93, 0,110,117,114, 98, 95,117,108, +105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,118,108,105,110,101, 91, 52, 93, 0, 97, 99,116, 95,115,112,108,105,110,101, 91, + 52, 93, 0,110,117,114, 98, 95,115,101,108, 95,117,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,115,101,108, 95,118,108, +105,110,101, 91, 52, 93, 0,108, 97,115,116,115,101,108, 95,112,111,105,110,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,102, +114,101,101, 91, 52, 93, 0,104, 97,110,100,108,101, 95, 97,117,116,111, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101, 99, +116, 91, 52, 93, 0,104, 97,110,100,108,101, 95, 97,108,105,103,110, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, +102,114,101,101, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, 97,117,116,111, 91, 52, 93, 0,104, 97,110,100,108, +101, 95,115,101,108, 95,118,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, 97,108,105,103,110, 91, 52, + 93, 0,100,115, 95, 99,104, 97,110,110,101,108, 91, 52, 93, 0,100,115, 95,115,117, 98, 99,104, 97,110,110,101,108, 91, 52, 93, + 0, 99,111,110,115,111,108,101, 95,111,117,116,112,117,116, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,105,110,112,117,116, + 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,105,110,102,111, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,101,114,114,111, +114, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95, 99,117,114,115,111,114, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,105, +122,101, 0,111,117,116,108,105,110,101, 95,119,105,100,116,104, 0,102, 97, 99,101,100,111,116, 95,115,105,122,101, 0, 98,112, + 97,100, 0,115,121,110,116, 97,120,108, 91, 52, 93, 0,115,121,110,116, 97,120,110, 91, 52, 93, 0,115,121,110,116, 97,120, 98, + 91, 52, 93, 0,115,121,110,116, 97,120,118, 91, 52, 93, 0,115,121,110,116, 97,120, 99, 91, 52, 93, 0,109,111,118,105,101, 91, + 52, 93, 0,105,109, 97,103,101, 91, 52, 93, 0,115, 99,101,110,101, 91, 52, 93, 0, 97,117,100,105,111, 91, 52, 93, 0,101,102, +102,101, 99,116, 91, 52, 93, 0,112,108,117,103,105,110, 91, 52, 93, 0,116,114, 97,110,115,105,116,105,111,110, 91, 52, 93, 0, +109,101,116, 97, 91, 52, 93, 0,101,100,105,116,109,101,115,104, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,104, 97,110,100,108, +101, 95,118,101,114,116,101,120, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 95,115,101,108,101, 99,116, + 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 95,115,105,122,101, 0,104,112, 97,100, 91, 55, 93, 0,112, +114,101,118,105,101,119, 95, 98, 97, 99,107, 91, 52, 93, 0,115,111,108,105,100, 91, 52, 93, 0,116,117,105, 0,116, 98,117,116, +115, 0,116,118, 51,100, 0,116,102,105,108,101, 0,116,105,112,111, 0,116,105,110,102,111, 0,116,115,110,100, 0,116, 97, 99, +116, 0,116,110,108, 97, 0,116,115,101,113, 0,116,105,109, 97, 0,116,105,109, 97,115,101,108, 0,116,101,120,116, 0,116,111, +111,112,115, 0,116,116,105,109,101, 0,116,110,111,100,101, 0,116,108,111,103,105, 99, 0,116,117,115,101,114,112,114,101,102, + 0,116, 99,111,110,115,111,108,101, 0,116, 97,114,109, 91, 50, 48, 93, 0, 97, 99,116,105,118,101, 95,116,104,101,109,101, 95, + 97,114,101, 97, 0,109,111,100,117,108,101, 91, 54, 52, 93, 0,115,112,101, 99, 91, 52, 93, 0,100,117,112,102,108, 97,103, 0, +115, 97,118,101,116,105,109,101, 0,116,101,109,112,100,105,114, 91, 49, 54, 48, 93, 0,102,111,110,116,100,105,114, 91, 49, 54, + 48, 93, 0,114,101,110,100,101,114,100,105,114, 91, 49, 54, 48, 93, 0,116,101,120,116,117,100,105,114, 91, 49, 54, 48, 93, 0, +112,108,117,103,116,101,120,100,105,114, 91, 49, 54, 48, 93, 0,112,108,117,103,115,101,113,100,105,114, 91, 49, 54, 48, 93, 0, +112,121,116,104,111,110,100,105,114, 91, 49, 54, 48, 93, 0,115,111,117,110,100,100,105,114, 91, 49, 54, 48, 93, 0,105,109, 97, +103,101, 95,101,100,105,116,111,114, 91, 50, 52, 48, 93, 0, 97,110,105,109, 95,112,108, 97,121,101,114, 91, 50, 52, 48, 93, 0, + 97,110,105,109, 95,112,108, 97,121,101,114, 95,112,114,101,115,101,116, 0,118, 50,100, 95,109,105,110, 95,103,114,105,100,115, +105,122,101, 0,116,105,109,101, 99,111,100,101, 95,115,116,121,108,101, 0,118,101,114,115,105,111,110,115, 0,100, 98,108, 95, + 99,108,105, 99,107, 95,116,105,109,101, 0,103, 97,109,101,102,108, 97,103,115, 0,119,104,101,101,108,108,105,110,101,115, 99, +114,111,108,108, 0,117,105,102,108, 97,103, 0,108, 97,110,103,117, 97,103,101, 0,117,115,101,114,112,114,101,102, 0,118,105, +101,119,122,111,111,109, 0,109,105,120, 98,117,102,115,105,122,101, 0, 97,117,100,105,111,100,101,118,105, 99,101, 0, 97,117, +100,105,111,114, 97,116,101, 0, 97,117,100,105,111,102,111,114,109, 97,116, 0, 97,117,100,105,111, 99,104, 97,110,110,101,108, +115, 0,100,112,105, 0,101,110, 99,111,100,105,110,103, 0,116,114, 97,110,115,111,112,116,115, 0,109,101,110,117,116,104,114, +101,115,104,111,108,100, 49, 0,109,101,110,117,116,104,114,101,115,104,111,108,100, 50, 0,116,104,101,109,101,115, 0,117,105, +102,111,110,116,115, 0,117,105,115,116,121,108,101,115, 0,107,101,121,109, 97,112,115, 0, 97,100,100,111,110,115, 0,107,101, +121, 99,111,110,102,105,103,115,116,114, 91, 54, 52, 93, 0,117,110,100,111,115,116,101,112,115, 0,117,110,100,111,109,101,109, +111,114,121, 0,103,112, 95,109, 97,110,104, 97,116,116,101,110,100,105,115,116, 0,103,112, 95,101,117, 99,108,105,100,101, 97, +110,100,105,115,116, 0,103,112, 95,101,114, 97,115,101,114, 0,103,112, 95,115,101,116,116,105,110,103,115, 0,116, 98, 95,108, +101,102,116,109,111,117,115,101, 0,116, 98, 95,114,105,103,104,116,109,111,117,115,101, 0,108,105,103,104,116, 91, 51, 93, 0, +116,119, 95,104,111,116,115,112,111,116, 0,116,119, 95,102,108, 97,103, 0,116,119, 95,104, 97,110,100,108,101,115,105,122,101, + 0,116,119, 95,115,105,122,101, 0,116,101,120,116,105,109,101,111,117,116, 0,116,101,120, 99,111,108,108,101, 99,116,114, 97, +116,101, 0,119,109,100,114, 97,119,109,101,116,104,111,100, 0,100,114, 97,103,116,104,114,101,115,104,111,108,100, 0,109,101, +109, 99, 97, 99,104,101,108,105,109,105,116, 0,112,114,101,102,101,116, 99,104,102,114, 97,109,101,115, 0,102,114, 97,109,101, +115,101,114,118,101,114,112,111,114,116, 0,112, 97,100, 95,114,111,116, 95, 97,110,103,108,101, 0,111, 98, 99,101,110,116,101, +114, 95,100,105, 97, 0,114,118,105,115,105,122,101, 0,114,118,105, 98,114,105,103,104,116, 0,114,101, 99,101,110,116, 95,102, +105,108,101,115, 0,115,109,111,111,116,104, 95,118,105,101,119,116,120, 0,103,108,114,101,115,108,105,109,105,116, 0,110,100, +111,102, 95,112, 97,110, 0,110,100,111,102, 95,114,111,116, 97,116,101, 0, 99,117,114,115,115,105,122,101, 0, 99,111,108,111, +114, 95,112,105, 99,107,101,114, 95,116,121,112,101, 0,105,112,111, 95,110,101,119, 0,107,101,121,104, 97,110,100,108,101,115, + 95,110,101,119, 0,115, 99,114, 99, 97,115,116,102,112,115, 0,115, 99,114, 99, 97,115,116,119, 97,105,116, 0,112, 97,100, 56, + 0,118,101,114,115,101,109, 97,115,116,101,114, 91, 49, 54, 48, 93, 0,118,101,114,115,101,117,115,101,114, 91, 49, 54, 48, 93, + 0,103,108, 97,108,112,104, 97, 99,108,105,112, 0,116,101,120,116, 95,114,101,110,100,101,114, 0,112, 97,100, 57, 0,112, 97, +100, 49, 48, 0, 99,111, 98, 97, 95,119,101,105,103,104,116, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,111,118,101, +114,108, 97,121, 95, 99,111,108, 91, 51, 93, 0, 97,117,116,104,111,114, 91, 56, 48, 93, 0,118,101,114,116, 98, 97,115,101, 0, +101,100,103,101, 98, 97,115,101, 0, 97,114,101, 97, 98, 97,115,101, 0, 42,110,101,119,115, 99,101,110,101, 0,114,101,100,114, + 97,119,115, 95,102,108, 97,103, 0,102,117,108,108, 0,116,101,109,112, 0,119,105,110,105,100, 0,100,111, 95,100,114, 97,119, + 0,100,111, 95,114,101,102,114,101,115,104, 0,100,111, 95,100,114, 97,119, 95,103,101,115,116,117,114,101, 0,100,111, 95,100, +114, 97,119, 95,112, 97,105,110,116, 99,117,114,115,111,114, 0,100,111, 95,100,114, 97,119, 95,100,114, 97,103, 0,115,119, 97, +112, 0,109, 97,105,110,119,105,110, 0,115,117, 98,119,105,110, 97, 99,116,105,118,101, 0, 42, 97,110,105,109,116,105,109,101, +114, 0, 42, 99,111,110,116,101,120,116, 0,104, 97,110,100,108,101,114, 91, 56, 93, 0, 42,110,101,119,118, 0,118,101, 99, 0, + 42,118, 49, 0, 42,118, 50, 0, 42,116,121,112,101, 0,112, 97,110,101,108,110, 97,109,101, 91, 54, 52, 93, 0,116, 97, 98,110, + 97,109,101, 91, 54, 52, 93, 0,100,114, 97,119,110, 97,109,101, 91, 54, 52, 93, 0,111,102,115,120, 0,111,102,115,121, 0,115, +105,122,101,120, 0,115,105,122,101,121, 0,108, 97, 98,101,108,111,102,115, 0,114,117,110,116,105,109,101, 95,102,108, 97,103, + 0, 99,111,110,116,114,111,108, 0,115,110, 97,112, 0,115,111,114,116,111,114,100,101,114, 0, 42,112, 97,110,101,108,116, 97, + 98, 0, 42, 97, 99,116,105,118,101,100, 97,116, 97, 0,108,105,115,116, 95,115, 99,114,111,108,108, 0,108,105,115,116, 95,115, +105,122,101, 0,108,105,115,116, 95,108, 97,115,116, 95,108,101,110, 0,108,105,115,116, 95,103,114,105,112, 95,115,105,122,101, + 0,108,105,115,116, 95,115,101, 97,114, 99,104, 91, 54, 52, 93, 0, 42,118, 51, 0, 42,118, 52, 0, 42,102,117,108,108, 0, 98, +117,116,115,112, 97, 99,101,116,121,112,101, 0,104,101, 97,100,101,114,116,121,112,101, 0,115,112, 97, 99,101,100, 97,116, 97, + 0,104, 97,110,100,108,101,114,115, 0, 97, 99,116,105,111,110,122,111,110,101,115, 0,119,105,110,114, 99,116, 0,100,114, 97, +119,114, 99,116, 0,115,119,105,110,105,100, 0,114,101,103,105,111,110,116,121,112,101, 0, 97,108,105,103,110,109,101,110,116, + 0,100,111, 95,100,114, 97,119, 95,111,118,101,114,108, 97,121, 0,117,105, 98,108,111, 99,107,115, 0,112, 97,110,101,108,115, + 0, 42,104,101, 97,100,101,114,115,116,114, 0, 42,114,101,103,105,111,110,100, 97,116, 97, 0,115,117, 98,118,115,116,114, 91, + 52, 93, 0,115,117, 98,118,101,114,115,105,111,110, 0,112, 97,100,115, 0,109,105,110,118,101,114,115,105,111,110, 0,109,105, +110,115,117, 98,118,101,114,115,105,111,110, 0, 42, 99,117,114,115, 99,114,101,101,110, 0, 42, 99,117,114,115, 99,101,110,101, + 0,102,105,108,101,102,108, 97,103,115, 0,103,108,111, 98, 97,108,102, 0,114,101,118,105,115,105,111,110, 0,102,105,108,101, +110, 97,109,101, 91, 50, 52, 48, 93, 0,110, 97,109,101, 91, 56, 48, 93, 0,111,114,105,103, 95,119,105,100,116,104, 0,111,114, +105,103, 95,104,101,105,103,104,116, 0, 98,111,116,116,111,109, 0,114,105,103,104,116, 0,120,111,102,115, 0,121,111,102,115, + 0,108,105,102,116, 91, 51, 93, 0,103, 97,109,109, 97, 91, 51, 93, 0,103, 97,105,110, 91, 51, 93, 0,100,105,114, 91, 49, 54, + 48, 93, 0,100,111,110,101, 0,115,116, 97,114,116,115,116,105,108,108, 0,101,110,100,115,116,105,108,108, 0, 42,115,116,114, +105,112,100, 97,116, 97, 0, 42, 99,114,111,112, 0, 42,116,114, 97,110,115,102,111,114,109, 0, 42, 99,111,108,111,114, 95, 98, + 97,108, 97,110, 99,101, 0, 42,105,110,115,116, 97,110, 99,101, 95,112,114,105,118, 97,116,101, 95,100, 97,116, 97, 0, 42, 42, + 99,117,114,114,101,110,116, 95,112,114,105,118, 97,116,101, 95,100, 97,116, 97, 0, 42,116,109,112, 0,115,116, 97,114,116,111, +102,115, 0,101,110,100,111,102,115, 0,109, 97, 99,104,105,110,101, 0,115,116, 97,114,116,100,105,115,112, 0,101,110,100,100, +105,115,112, 0,115, 97,116, 0,109,117,108, 0,104, 97,110,100,115,105,122,101, 0, 97,110,105,109, 95,112,114,101,115,101,101, +107, 0, 42,115,116,114,105,112, 0, 42,115, 99,101,110,101, 95, 99, 97,109,101,114, 97, 0,101,102,102,101, 99,116, 95,102, 97, +100,101,114, 0,115,112,101,101,100, 95,102, 97,100,101,114, 0, 42,115,101,113, 49, 0, 42,115,101,113, 50, 0, 42,115,101,113, + 51, 0,115,101,113, 98, 97,115,101, 0, 42,115, 99,101,110,101, 95,115,111,117,110,100, 0,108,101,118,101,108, 0,112, 97,110, + 0,115, 99,101,110,101,110,114, 0,109,117,108,116,105, 99, 97,109, 95,115,111,117,114, 99,101, 0,115,116,114,111, 98,101, 0, + 42,101,102,102,101, 99,116,100, 97,116, 97, 0, 97,110,105,109, 95,115,116, 97,114,116,111,102,115, 0, 97,110,105,109, 95,101, +110,100,111,102,115, 0, 98,108,101,110,100, 95,109,111,100,101, 0, 98,108,101,110,100, 95,111,112, 97, 99,105,116,121, 0, 42, +111,108,100, 98, 97,115,101,112, 0, 42,112, 97,114,115,101,113, 0, 42,115,101,113, 98, 97,115,101,112, 0,109,101,116, 97,115, +116, 97, 99,107, 0, 42, 97, 99,116, 95,115,101,113, 0, 97, 99,116, 95,105,109, 97,103,101,100,105,114, 91, 50, 53, 54, 93, 0, + 97, 99,116, 95,115,111,117,110,100,100,105,114, 91, 50, 53, 54, 93, 0,111,118,101,114, 95,111,102,115, 0,111,118,101,114, 95, + 99,102,114, 97, 0,111,118,101,114, 95,102,108, 97,103, 0,111,118,101,114, 95, 98,111,114,100,101,114, 0,101,100,103,101, 87, +105,100,116,104, 0,102,111,114,119, 97,114,100, 0,119,105,112,101,116,121,112,101, 0,102, 77,105,110,105, 0,102, 67,108, 97, +109,112, 0,102, 66,111,111,115,116, 0,100, 68,105,115,116, 0,100, 81,117, 97,108,105,116,121, 0, 98, 78,111, 67,111,109,112, + 0, 83, 99, 97,108,101,120, 73,110,105, 0, 83, 99, 97,108,101,121, 73,110,105, 0, 83, 99, 97,108,101,120, 70,105,110, 0, 83, + 99, 97,108,101,121, 70,105,110, 0,120, 73,110,105, 0,120, 70,105,110, 0,121, 73,110,105, 0,121, 70,105,110, 0,114,111,116, + 73,110,105, 0,114,111,116, 70,105,110, 0,105,110,116,101,114,112,111,108, 97,116,105,111,110, 0,117,110,105,102,111,114,109, + 95,115, 99, 97,108,101, 0, 42,102,114, 97,109,101, 77, 97,112, 0,103,108,111, 98, 97,108, 83,112,101,101,100, 0,108, 97,115, +116, 86, 97,108,105,100, 70,114, 97,109,101, 0, 98,117,116,116,121,112,101, 0,117,115,101,114,106,105,116, 0,115,116, 97, 0, +116,111,116,112, 97,114,116, 0,110,111,114,109,102, 97, 99, 0,111, 98,102, 97, 99, 0,114, 97,110,100,102, 97, 99, 0,116,101, +120,102, 97, 99, 0,114, 97,110,100,108,105,102,101, 0,102,111,114, 99,101, 91, 51, 93, 0,118,101, 99,116,115,105,122,101, 0, +109, 97,120,108,101,110, 0,100,101,102,118,101, 99, 91, 51, 93, 0,109,117,108,116, 91, 52, 93, 0,108,105,102,101, 91, 52, 93, + 0, 99,104,105,108,100, 91, 52, 93, 0,109, 97,116, 91, 52, 93, 0,116,101,120,109, 97,112, 0, 99,117,114,109,117,108,116, 0, +115,116, 97,116,105, 99,115,116,101,112, 0,111,109, 97,116, 0,116,105,109,101,116,101,120, 0,115,112,101,101,100,116,101,120, + 0,102,108, 97,103, 50,110,101,103, 0,118,101,114,116,103,114,111,117,112, 95,118, 0,118,103,114,111,117,112,110, 97,109,101, + 91, 51, 50, 93, 0,118,103,114,111,117,112,110, 97,109,101, 95,118, 91, 51, 50, 93, 0, 42,107,101,121,115, 0,109,105,110,102, + 97, 99, 0,110,114, 0,117,115,101,100, 0,117,115,101,100,101,108,101,109, 0, 42,112,111,105,110, 0,114,101,115,101,116,100, +105,115,116, 0,108, 97,115,116,118, 97,108, 0, 42,109, 97, 0,107,101,121, 0,113,117, 97,108, 0,113,117, 97,108, 50, 0,116, + 97,114,103,101,116, 78, 97,109,101, 91, 51, 50, 93, 0,116,111,103,103,108,101, 78, 97,109,101, 91, 51, 50, 93, 0,118, 97,108, +117,101, 91, 51, 50, 93, 0,109, 97,120,118, 97,108,117,101, 91, 51, 50, 93, 0,100,101,108, 97,121, 0,100,117,114, 97,116,105, +111,110, 0,109, 97,116,101,114,105, 97,108, 78, 97,109,101, 91, 51, 50, 93, 0,100, 97,109,112,116,105,109,101,114, 0,112,114, +111,112,110, 97,109,101, 91, 51, 50, 93, 0,109, 97,116,110, 97,109,101, 91, 51, 50, 93, 0, 97,120,105,115,102,108, 97,103, 0, +112,111,115,101, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0, 99,111,110,115,116,114, 97,105,110,116, 91, 51, 50, 93, 0, 42, +102,114,111,109, 79, 98,106,101, 99,116, 0,115,117, 98,106,101, 99,116, 91, 51, 50, 93, 0, 98,111,100,121, 91, 51, 50, 93, 0, +111,116,121,112,101, 0,112,117,108,115,101, 0,102,114,101,113, 0,116,111,116,108,105,110,107,115, 0, 42, 42,108,105,110,107, +115, 0,116, 97,112, 0,106,111,121,105,110,100,101,120, 0, 97,120,105,115, 95,115,105,110,103,108,101, 0, 97,120,105,115,102, + 0, 98,117,116,116,111,110, 0,104, 97,116, 0,104, 97,116,102, 0,112,114,101, 99,105,115,105,111,110, 0,115,116,114, 91, 49, + 50, 56, 93, 0, 42,109,121,110,101,119, 0,105,110,112,117,116,115, 0,116,111,116,115,108,105,110,107,115, 0, 42, 42,115,108, +105,110,107,115, 0,118, 97,108,111, 0,115,116, 97,116,101, 95,109, 97,115,107, 0, 42, 97, 99,116, 0,102,114, 97,109,101, 80, +114,111,112, 91, 51, 50, 93, 0, 98,108,101,110,100,105,110, 0,112,114,105,111,114,105,116,121, 0,101,110,100, 95,114,101,115, +101,116, 0,115,116,114,105,100,101, 97,120,105,115, 0,115,116,114,105,100,101,108,101,110,103,116,104, 0,109,105,110, 95,103, + 97,105,110, 0,109, 97,120, 95,103, 97,105,110, 0,114,101,102,101,114,101,110, 99,101, 95,100,105,115,116, 97,110, 99,101, 0, +109, 97,120, 95,100,105,115,116, 97,110, 99,101, 0,114,111,108,108,111,102,102, 95,102, 97, 99,116,111,114, 0, 99,111,110,101, + 95,105,110,110,101,114, 95, 97,110,103,108,101, 0, 99,111,110,101, 95,111,117,116,101,114, 95, 97,110,103,108,101, 0, 99,111, +110,101, 95,111,117,116,101,114, 95,103, 97,105,110, 0,112, 97,100, 51, 91, 50, 93, 0,112,105,116, 99,104, 0,115,111,117,110, +100, 51, 68, 0,112, 97,100, 54, 91, 49, 93, 0, 42,109,101, 0,108,105,110, 86,101,108,111, 99,105,116,121, 91, 51, 93, 0, 97, +110,103, 86,101,108,111, 99,105,116,121, 91, 51, 93, 0,108,111, 99, 97,108,102,108, 97,103, 0,100,121,110, 95,111,112,101,114, + 97,116,105,111,110, 0,102,111,114, 99,101,108,111, 99, 91, 51, 93, 0,102,111,114, 99,101,114,111,116, 91, 51, 93, 0,108,105, +110,101, 97,114,118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 97,110,103,117,108, 97,114,118,101,108,111, 99,105,116,121, 91, + 51, 93, 0, 42,114,101,102,101,114,101,110, 99,101, 0,109,105,110, 0,109, 97,120, 0,114,111,116,100, 97,109,112, 0,109,105, +110,108,111, 99, 91, 51, 93, 0,109, 97,120,108,111, 99, 91, 51, 93, 0,109,105,110,114,111,116, 91, 51, 93, 0,109, 97,120,114, +111,116, 91, 51, 93, 0,109, 97,116,112,114,111,112, 91, 51, 50, 93, 0, 98,117,116,115,116, 97, 0, 98,117,116,101,110,100, 0, +100,105,115,116,114,105, 98,117,116,105,111,110, 0,105,110,116, 95, 97,114,103, 95, 49, 0,105,110,116, 95, 97,114,103, 95, 50, + 0,102,108,111, 97,116, 95, 97,114,103, 95, 49, 0,102,108,111, 97,116, 95, 97,114,103, 95, 50, 0,116,111, 80,114,111,112, 78, + 97,109,101, 91, 51, 50, 93, 0, 42,116,111, 79, 98,106,101, 99,116, 0, 98,111,100,121, 84,121,112,101, 0,102,105,108,101,110, + 97,109,101, 91, 54, 52, 93, 0,108,111, 97,100, 97,110,105,110, 97,109,101, 91, 54, 52, 93, 0,105,110,116, 95, 97,114,103, 0, +102,108,111, 97,116, 95, 97,114,103, 0, 42,115,117, 98,116, 97,114,103,101,116, 0,103,111, 0, 42,110,101,119,112, 97, 99,107, +101,100,102,105,108,101, 0, 97,116,116,101,110,117, 97,116,105,111,110, 0,100,105,115,116, 97,110, 99,101, 0, 42, 99, 97, 99, +104,101, 0, 42,112,108, 97,121, 98, 97, 99,107, 95,104, 97,110,100,108,101, 0, 42,108, 97,109,112,114,101,110, 0,103,111, 98, +106,101, 99,116, 0,100,117,112,108,105, 95,111,102,115, 91, 51, 93, 0, 42,112,114,111,112, 0, 99,104,105,108,100, 98, 97,115, +101, 0,114,111,108,108, 0,104,101, 97,100, 91, 51, 93, 0,116, 97,105,108, 91, 51, 93, 0, 98,111,110,101, 95,109, 97,116, 91, + 51, 93, 91, 51, 93, 0, 97,114,109, 95,104,101, 97,100, 91, 51, 93, 0, 97,114,109, 95,116, 97,105,108, 91, 51, 93, 0, 97,114, +109, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 97,114,109, 95,114,111,108,108, 0,120,119,105,100,116,104, 0,122,119,105,100, +116,104, 0,101, 97,115,101, 49, 0,101, 97,115,101, 50, 0,114, 97,100, 95,104,101, 97,100, 0,114, 97,100, 95,116, 97,105,108, + 0, 98,111,110,101, 98, 97,115,101, 0, 99,104, 97,105,110, 98, 97,115,101, 0, 42,101,100, 98,111, 0, 42, 97, 99,116, 95, 98, +111,110,101, 0, 42, 97, 99,116, 95,101,100, 98,111,110,101, 0, 42,115,107,101,116, 99,104, 0,108, 97,121,101,114, 95,117,115, +101,100, 0,108, 97,121,101,114, 95,112,114,111,116,101, 99,116,101,100, 0,103,104,111,115,116,101,112, 0,103,104,111,115,116, +115,105,122,101, 0,103,104,111,115,116,116,121,112,101, 0,112, 97,116,104,115,105,122,101, 0,103,104,111,115,116,115,102, 0, +103,104,111,115,116,101,102, 0,112, 97,116,104,115,102, 0,112, 97,116,104,101,102, 0,112, 97,116,104, 98, 99, 0,112, 97,116, +104, 97, 99, 0, 42,112,111,105,110,116,115, 0,115,116, 97,114,116, 95,102,114, 97,109,101, 0,101,110,100, 95,102,114, 97,109, +101, 0,103,104,111,115,116, 95,115,102, 0,103,104,111,115,116, 95,101,102, 0,103,104,111,115,116, 95, 98, 99, 0,103,104,111, +115,116, 95, 97, 99, 0,103,104,111,115,116, 95,116,121,112,101, 0,103,104,111,115,116, 95,115,116,101,112, 0,103,104,111,115, +116, 95,102,108, 97,103, 0,112, 97,116,104, 95,116,121,112,101, 0,112, 97,116,104, 95,115,116,101,112, 0,112, 97,116,104, 95, +118,105,101,119,102,108, 97,103, 0,112, 97,116,104, 95, 98, 97,107,101,102,108, 97,103, 0,112, 97,116,104, 95,115,102, 0,112, + 97,116,104, 95,101,102, 0,112, 97,116,104, 95, 98, 99, 0,112, 97,116,104, 95, 97, 99, 0, 99,111,110,115,116,102,108, 97,103, + 0,105,107,102,108, 97,103, 0,115,101,108,101, 99,116,102,108, 97,103, 0, 97,103,114,112, 95,105,110,100,101,120, 0, 42, 98, +111,110,101, 0, 42, 99,104,105,108,100, 0,105,107,116,114,101,101, 0, 42, 99,117,115,116,111,109, 0, 42, 99,117,115,116,111, +109, 95,116,120, 0,101,117,108, 91, 51, 93, 0, 99,104, 97,110, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95, +109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95,104,101, 97,100, 91, 51, 93, 0,112,111,115,101, 95,116, 97,105,108, + 91, 51, 93, 0,108,105,109,105,116,109,105,110, 91, 51, 93, 0,108,105,109,105,116,109, 97,120, 91, 51, 93, 0,115,116,105,102, +102,110,101,115,115, 91, 51, 93, 0,105,107,115,116,114,101,116, 99,104, 0,105,107,114,111,116,119,101,105,103,104,116, 0,105, +107,108,105,110,119,101,105,103,104,116, 0, 99,104, 97,110, 98, 97,115,101, 0, 42, 99,104, 97,110,104, 97,115,104, 0,112,114, +111,120,121, 95,108, 97,121,101,114, 0,115,116,114,105,100,101, 95,111,102,102,115,101,116, 91, 51, 93, 0, 99,121, 99,108,105, + 99, 95,111,102,102,115,101,116, 91, 51, 93, 0, 97,103,114,111,117,112,115, 0, 97, 99,116,105,118,101, 95,103,114,111,117,112, + 0,105,107,115,111,108,118,101,114, 0, 42,105,107,100, 97,116, 97, 0, 42,105,107,112, 97,114, 97,109, 0,112,114,111,120,121, + 95, 97, 99,116, 95, 98,111,110,101, 91, 51, 50, 93, 0,110,117,109,105,116,101,114, 0,110,117,109,115,116,101,112, 0,109,105, +110,115,116,101,112, 0,109, 97,120,115,116,101,112, 0,115,111,108,118,101,114, 0,102,101,101,100, 98, 97, 99,107, 0,109, 97, +120,118,101,108, 0,100, 97,109,112,109, 97,120, 0,100, 97,109,112,101,112,115, 0, 99,104, 97,110,110,101,108,115, 0, 99,117, +115,116,111,109, 67,111,108, 0, 99,115, 0, 99,117,114,118,101,115, 0,103,114,111,117,112,115, 0, 97, 99,116,105,118,101, 95, +109, 97,114,107,101,114, 0, 42,115,111,117,114, 99,101, 0, 42,102,105,108,116,101,114, 95,103,114,112, 0,102,105,108,116,101, +114,102,108, 97,103, 0, 97,100,115, 0,116,105,109,101,115,108,105,100,101, 0, 42,103,114,112, 0,110, 97,109,101, 91, 51, 48, + 93, 0,111,119,110,115,112, 97, 99,101, 0,116, 97,114,115,112, 97, 99,101, 0,101,110,102,111,114, 99,101, 0,104,101, 97,100, +116, 97,105,108, 0,108,105,110, 95,101,114,114,111,114, 0,114,111,116, 95,101,114,114,111,114, 0, 42,116, 97,114, 0,109, 97, +116,114,105,120, 91, 52, 93, 91, 52, 93, 0,115,112, 97, 99,101, 0,114,111,116, 79,114,100,101,114, 0,116, 97,114,110,117,109, + 0,116, 97,114,103,101,116,115, 0,105,116,101,114, 97,116,105,111,110,115, 0,114,111,111,116, 98,111,110,101, 0,109, 97,120, + 95,114,111,111,116, 98,111,110,101, 0, 42,112,111,108,101,116, 97,114, 0,112,111,108,101,115,117, 98,116, 97,114,103,101,116, + 91, 51, 50, 93, 0,112,111,108,101, 97,110,103,108,101, 0,111,114,105,101,110,116,119,101,105,103,104,116, 0,103,114, 97, 98, +116, 97,114,103,101,116, 91, 51, 93, 0,110,117,109,112,111,105,110,116,115, 0, 99,104, 97,105,110,108,101,110, 0,120,122, 83, + 99, 97,108,101, 77,111,100,101, 0,114,101,115,101,114,118,101,100, 49, 0,114,101,115,101,114,118,101,100, 50, 0,109,105,110, +109, 97,120,102,108, 97,103, 0,115,116,117, 99,107, 0, 99, 97, 99,104,101, 91, 51, 93, 0,108,111, 99,107,102,108, 97,103, 0, +102,111,108,108,111,119,102,108, 97,103, 0,118,111,108,109,111,100,101, 0,112,108, 97,110,101, 0,111,114,103,108,101,110,103, +116,104, 0, 98,117,108,103,101, 0,112,105,118, 88, 0,112,105,118, 89, 0,112,105,118, 90, 0, 97,120, 88, 0, 97,120, 89, 0, + 97,120, 90, 0,109,105,110, 76,105,109,105,116, 91, 54, 93, 0,109, 97,120, 76,105,109,105,116, 91, 54, 93, 0,101,120,116,114, + 97, 70,122, 0,105,110,118,109, 97,116, 91, 52, 93, 91, 52, 93, 0,102,114,111,109, 0,116,111, 0,109, 97,112, 91, 51, 93, 0, +101,120,112,111, 0,102,114,111,109, 95,109,105,110, 91, 51, 93, 0,102,114,111,109, 95,109, 97,120, 91, 51, 93, 0,116,111, 95, +109,105,110, 91, 51, 93, 0,116,111, 95,109, 97,120, 91, 51, 93, 0,114,111,116, 65,120,105,115, 0,122,109,105,110, 0,122,109, + 97,120, 0,112, 97,100, 91, 57, 93, 0, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0,110,111, 95,114,111,116, 95, 97,120,105, +115, 0,115,116,114,105,100,101, 95, 97,120,105,115, 0, 99,117,114,109,111,100, 0, 97, 99,116,115,116, 97,114,116, 0, 97, 99, +116,101,110,100, 0, 97, 99,116,111,102,102,115, 0,115,116,114,105,100,101,108,101,110, 0,115, 99, 97,108,101, 0, 98,108,101, +110,100,111,117,116, 0,115,116,114,105,100,101, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0,111,102,102,115, 95, 98,111,110, +101, 91, 51, 50, 93, 0,104, 97,115,105,110,112,117,116, 0,104, 97,115,111,117,116,112,117,116, 0,100, 97,116, 97,116,121,112, +101, 0,115,111, 99,107,101,116,116,121,112,101, 0, 42,110,101,119, 95,115,111, 99,107, 0,110,115, 0,108,105,109,105,116, 0, +115,116, 97, 99,107, 95,116,121,112,101, 0, 42,115,116, 97, 99,107, 95,112,116,114, 0,115,116, 97, 99,107, 95,105,110,100,101, +120, 0,108,111, 99,120, 0,108,111, 99,121, 0,111,119,110, 95,105,110,100,101,120, 0, 42,103,114,111,117,112,115,111, 99,107, + 0,116,111, 95,105,110,100,101,120, 0, 42,108,105,110,107, 0, 42,114,101, 99,116, 0,120,115,105,122,101, 0,121,115,105,122, +101, 0, 42,110,101,119, 95,110,111,100,101, 0,108, 97,115,116,121, 0,111,117,116,112,117,116,115, 0, 42,115,116,111,114, 97, +103,101, 0,109,105,110,105,119,105,100,116,104, 0,108, 97, 98,101,108, 91, 51, 50, 93, 0, 99,117,115,116,111,109, 49, 0, 99, +117,115,116,111,109, 50, 0, 99,117,115,116,111,109, 51, 0, 99,117,115,116,111,109, 52, 0,110,101,101,100, 95,101,120,101, 99, + 0,101,120,101, 99, 0, 42,116,104,114,101, 97,100,100, 97,116, 97, 0,116,111,116,114, 0, 98,117,116,114, 0,112,114,118,114, + 0, 42, 98,108,111, 99,107, 0, 42,116,121,112,101,105,110,102,111, 0, 42,102,114,111,109,110,111,100,101, 0, 42,116,111,110, +111,100,101, 0, 42,102,114,111,109,115,111, 99,107, 0, 42,116,111,115,111, 99,107, 0,110,111,100,101,115, 0,108,105,110,107, +115, 0, 42,115,116, 97, 99,107, 0, 42,116,104,114,101, 97,100,115,116, 97, 99,107, 0,105,110,105,116, 0,115,116, 97, 99,107, +115,105,122,101, 0, 99,117,114, 95,105,110,100,101,120, 0, 97,108,108,116,121,112,101,115, 0,112, 97,100, 50, 91, 50, 93, 0, + 40, 42,112,114,111,103,114,101,115,115, 41, 40, 41, 0, 40, 42,115,116, 97,116,115, 95,100,114, 97,119, 41, 40, 41, 0, 40, 42, +116,101,115,116, 95, 98,114,101, 97,107, 41, 40, 41, 0, 42,116, 98,104, 0, 42,112,114,104, 0, 42,115,100,104, 0, 99,121, 99, +108,105, 99, 0,109,111,118,105,101, 0,115, 97,109,112,108,101,115, 0,109, 97,120,115,112,101,101,100, 0,109,105,110,115,112, +101,101,100, 0, 99,117,114,118,101,100, 0,112,101,114, 99,101,110,116,120, 0,112,101,114, 99,101,110,116,121, 0, 98,111,107, +101,104, 0,103, 97,109,109, 97, 0,105,109, 97,103,101, 95,105,110, 95,119,105,100,116,104, 0,105,109, 97,103,101, 95,105,110, + 95,104,101,105,103,104,116, 0, 99,101,110,116,101,114, 95,120, 0, 99,101,110,116,101,114, 95,121, 0,115,112,105,110, 0,119, +114, 97,112, 0,115,105,103,109, 97, 95, 99,111,108,111,114, 0,115,105,103,109, 97, 95,115,112, 97, 99,101, 0,104,117,101, 0, +116, 49, 0,116, 50, 0,116, 51, 0,102,115,116,114,101,110,103,116,104, 0,102, 97,108,112,104, 97, 0,107,101,121, 91, 52, 93, + 0, 97,108,103,111,114,105,116,104,109, 0, 99,104, 97,110,110,101,108, 0,120, 49, 0,120, 50, 0,121, 49, 0,121, 50, 0,102, + 97, 99, 95,120, 49, 0,102, 97, 99, 95,120, 50, 0,102, 97, 99, 95,121, 49, 0,102, 97, 99, 95,121, 50, 0, 99,111,108,110, 97, +109,101, 91, 51, 50, 93, 0, 98,107,116,121,112,101, 0,114,111,116, 97,116,105,111,110, 0,103, 97,109, 99,111, 0,110,111, 95, +122, 98,117,102, 0,102,115,116,111,112, 0,109, 97,120, 98,108,117,114, 0, 98,116,104,114,101,115,104, 0, 42,100,105, 99,116, + 0, 42,110,111,100,101, 0, 97,110,103,108,101, 95,111,102,115, 0, 99,111,108,109,111,100, 0,109,105,120, 0,116,104,114,101, +115,104,111,108,100, 0,102, 97,100,101, 0,109, 0, 99, 0,106,105,116, 0,112,114,111,106, 0,102,105,116, 0,115,108,111,112, +101, 91, 51, 93, 0,112,111,119,101,114, 91, 51, 93, 0,108,105,102,116, 95,108,103,103, 91, 51, 93, 0,103, 97,109,109, 97, 95, +105,110,118, 91, 51, 93, 0,108,105,109, 99,104, 97,110, 0,117,110,115,112,105,108,108, 0,108,105,109,115, 99, 97,108,101, 0, +117,115,112,105,108,108,114, 0,117,115,112,105,108,108,103, 0,117,115,112,105,108,108, 98, 0,115,117,110, 95,100,105,114,101, + 99,116,105,111,110, 91, 51, 93, 0,116,117,114, 98,105,100,105,116,121, 0,112,114,111,103,114,101,115,115,105,111,110, 0,104, + 97,114,100, 0, 98, 97,115,105,115, 0,100,105,115,116, 97,110, 99,101, 95,109,101,116,114,105, 99, 0, 99,111,108,111,114,105, +110,103, 0,119, 97,118,101, 0,100,105,115,116,111,114,116,105,111,110, 95, 98, 97,115,105,115, 0,115,104,111,114,116,121, 0, +109,105,110,116, 97, 98,108,101, 0,109, 97,120,116, 97, 98,108,101, 0,101,120,116, 95,105,110, 91, 50, 93, 0,101,120,116, 95, +111,117,116, 91, 50, 93, 0, 42, 99,117,114,118,101, 0, 42,116, 97, 98,108,101, 0, 42,112,114,101,109,117,108,116, 97, 98,108, +101, 0,112,114,101,115,101,116, 0, 99,104, 97,110,103,101,100, 95,116,105,109,101,115,116, 97,109,112, 0, 99,117,114,114, 0, + 99,108,105,112,114, 0, 99,109, 91, 52, 93, 0, 98,108, 97, 99,107, 91, 51, 93, 0,119,104,105,116,101, 91, 51, 93, 0, 98,119, +109,117,108, 91, 51, 93, 0,115, 97,109,112,108,101, 91, 51, 93, 0,120, 95,114,101,115,111,108,117,116,105,111,110, 0,100, 97, +116, 97, 95,114, 91, 50, 53, 54, 93, 0,100, 97,116, 97, 95,103, 91, 50, 53, 54, 93, 0,100, 97,116, 97, 95, 98, 91, 50, 53, 54, + 93, 0,100, 97,116, 97, 95,108,117,109, 97, 91, 50, 53, 54, 93, 0,115, 97,109,112,108,101, 95,102,117,108,108, 0,115, 97,109, +112,108,101, 95,108,105,110,101,115, 0, 97, 99, 99,117,114, 97, 99,121, 0,119, 97,118,101,102,114,109, 95,109,111,100,101, 0, +119, 97,118,101,102,114,109, 95, 97,108,112,104, 97, 0,119, 97,118,101,102,114,109, 95,121,102, 97, 99, 0,119, 97,118,101,102, +114,109, 95,104,101,105,103,104,116, 0,118,101, 99,115, 99,111,112,101, 95, 97,108,112,104, 97, 0,118,101, 99,115, 99,111,112, +101, 95,104,101,105,103,104,116, 0,109,105,110,109, 97,120, 91, 51, 93, 91, 50, 93, 0,104,105,115,116, 0, 42,119, 97,118,101, +102,111,114,109, 95, 49, 0, 42,119, 97,118,101,102,111,114,109, 95, 50, 0, 42,119, 97,118,101,102,111,114,109, 95, 51, 0, 42, +118,101, 99,115, 99,111,112,101, 0,119, 97,118,101,102,111,114,109, 95,116,111,116, 0,111,102,102,115,101,116, 91, 50, 93, 0, + 99,108,111,110,101, 0,109,116,101,120, 0, 42,105, 99,111,110, 95,105,109, 98,117,102, 0,105, 99,111,110, 95,102,105,108,101, +112, 97,116,104, 91, 50, 52, 48, 93, 0,110,111,114,109, 97,108, 95,119,101,105,103,104,116, 0,111, 98, 95,109,111,100,101, 0, +106,105,116,116,101,114, 0,115,109,111,111,116,104, 95,115,116,114,111,107,101, 95,114, 97,100,105,117,115, 0,115,109,111,111, +116,104, 95,115,116,114,111,107,101, 95,102, 97, 99,116,111,114, 0,114, 97,116,101, 0,114,103, 98, 91, 51, 93, 0,115, 99,117, +108,112,116, 95,112,108, 97,110,101, 0,112,108, 97,110,101, 95,111,102,102,115,101,116, 0,115, 99,117,108,112,116, 95,116,111, +111,108, 0,118,101,114,116,101,120,112, 97,105,110,116, 95,116,111,111,108, 0,105,109, 97,103,101,112, 97,105,110,116, 95,116, +111,111,108, 0,112, 97,100, 51, 91, 53, 93, 0, 97,117,116,111,115,109,111,111,116,104, 95,102, 97, 99,116,111,114, 0, 99,114, +101, 97,115,101, 95,112,105,110, 99,104, 95,102, 97, 99,116,111,114, 0,112,108, 97,110,101, 95,116,114,105,109, 0,116,101,120, +116,117,114,101, 95,115, 97,109,112,108,101, 95, 98,105, 97,115, 0,116,101,120,116,117,114,101, 95,111,118,101,114,108, 97,121, + 95, 97,108,112,104, 97, 0,117,110,112,114,111,106,101, 99,116,101,100, 95,114, 97,100,105,117,115, 0, 97,100,100, 95, 99,111, +108, 91, 51, 93, 0,115,117, 98, 95, 99,111,108, 91, 51, 93, 0, 97, 99,116,105,118,101, 95,114,110,100, 0, 97, 99,116,105,118, +101, 95, 99,108,111,110,101, 0, 97, 99,116,105,118,101, 95,109, 97,115,107, 0, 42,108, 97,121,101,114,115, 0,116,111,116,108, + 97,121,101,114, 0,109, 97,120,108, 97,121,101,114, 0,116,111,116,115,105,122,101, 0, 42,112,111,111,108, 0, 42,101,120,116, +101,114,110, 97,108, 0,118,101,108, 91, 51, 93, 0,114,111,116, 91, 52, 93, 0, 97,118,101, 91, 51, 93, 0, 42,103,114,111,117, +110,100, 0,119, 97,110,100,101,114, 91, 51, 93, 0,114,101,115,116, 95,108,101,110,103,116,104, 0,112, 97,114,116,105, 99,108, +101, 95,105,110,100,101,120, 91, 50, 93, 0,100,101,108,101,116,101, 95,102,108, 97,103, 0,110,117,109, 0,112, 97,114,101,110, +116, 0,112, 97, 91, 52, 93, 0,119, 91, 52, 93, 0,102,117,118, 91, 52, 93, 0,102,111,102,102,115,101,116, 0,114,116, 91, 50, + 93, 0,112,114,101,118, 95,115,116, 97,116,101, 0, 42,104, 97,105,114, 0, 42, 98,111,105,100, 0,100,105,101,116,105,109,101, + 0,110,117,109, 95,100,109, 99, 97, 99,104,101, 0,104, 97,105,114, 95,105,110,100,101,120, 0, 97,108,105,118,101, 0,115,112, +114,105,110,103, 95,107, 0,112,108, 97,115,116,105, 99,105,116,121, 95, 99,111,110,115,116, 97,110,116, 0,121,105,101,108,100, + 95,114, 97,116,105,111, 0,112,108, 97,115,116,105, 99,105,116,121, 95, 98, 97,108, 97,110, 99,101, 0,121,105,101,108,100, 95, + 98, 97,108, 97,110, 99,101, 0,118,105,115, 99,111,115,105,116,121, 95,111,109,101,103, 97, 0,118,105,115, 99,111,115,105,116, +121, 95, 98,101,116, 97, 0,115,116,105,102,102,110,101,115,115, 95,107, 0,115,116,105,102,102,110,101,115,115, 95,107,110,101, + 97,114, 0,114,101,115,116, 95,100,101,110,115,105,116,121, 0, 98,117,111,121, 97,110, 99,121, 0,115,112,114,105,110,103, 95, +102,114, 97,109,101,115, 0, 42, 98,111,105,100,115, 0, 42,102,108,117,105,100, 0,100,105,115,116,114, 0,112,104,121,115,116, +121,112,101, 0, 97,118,101,109,111,100,101, 0,114,101, 97, 99,116,101,118,101,110,116, 0,100,114, 97,119, 0,100,114, 97,119, + 95, 97,115, 0,100,114, 97,119, 95,115,105,122,101, 0, 99,104,105,108,100,116,121,112,101, 0,114,101,110, 95, 97,115, 0,115, +117, 98,102,114, 97,109,101,115, 0,100,114, 97,119, 95, 99,111,108, 0,114,101,110, 95,115,116,101,112, 0,104, 97,105,114, 95, +115,116,101,112, 0,107,101,121,115, 95,115,116,101,112, 0, 97,100, 97,112,116, 95, 97,110,103,108,101, 0, 97,100, 97,112,116, + 95,112,105,120, 0,114,111,116,102,114,111,109, 0,105,110,116,101,103,114, 97,116,111,114, 0, 98, 98, 95, 97,108,105,103,110, + 0, 98, 98, 95,117,118, 95,115,112,108,105,116, 0, 98, 98, 95, 97,110,105,109, 0, 98, 98, 95,115,112,108,105,116, 95,111,102, +102,115,101,116, 0, 98, 98, 95,116,105,108,116, 0, 98, 98, 95,114, 97,110,100, 95,116,105,108,116, 0, 98, 98, 95,111,102,102, +115,101,116, 91, 50, 93, 0, 99,111,108,111,114, 95,118,101, 99, 95,109, 97,120, 0,115,105,109,112,108,105,102,121, 95,114,101, +102,115,105,122,101, 0,115,105,109,112,108,105,102,121, 95,114, 97,116,101, 0,115,105,109,112,108,105,102,121, 95,116,114, 97, +110,115,105,116,105,111,110, 0,115,105,109,112,108,105,102,121, 95,118,105,101,119,112,111,114,116, 0,116,105,109,101,116,119, +101, 97,107, 0,106,105,116,102, 97, 99, 0,101,102,102, 95,104, 97,105,114, 0,103,114,105,100, 95,114, 97,110,100, 0,103,114, +105,100, 95,114,101,115, 0,101,102,102,101, 99,116,111,114, 95, 97,109,111,117,110,116, 0,112, 97,114,116,102, 97, 99, 0,116, + 97,110,102, 97, 99, 0,116, 97,110,112,104, 97,115,101, 0,114,101, 97, 99,116,102, 97, 99, 0,111, 98, 95,118,101,108, 91, 51, + 93, 0, 97,118,101,102, 97, 99, 0,112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,114,111,116,102, 97, 99, 0,114, 97,110, +100,112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,115,105,122,101, 0, 97, 99, 99, 91, 51, 93, 0,100,114, 97,103,102, 97, + 99, 0, 98,114,111,119,110,102, 97, 99, 0,114, 97,110,100,108,101,110,103,116,104, 0, 99,104,105,108,100, 95,110, 98,114, 0, +114,101,110, 95, 99,104,105,108,100, 95,110, 98,114, 0,112, 97,114,101,110,116,115, 0, 99,104,105,108,100,115,105,122,101, 0, + 99,104,105,108,100,114, 97,110,100,115,105,122,101, 0, 99,104,105,108,100,114, 97,100, 0, 99,104,105,108,100,102,108, 97,116, + 0, 99,108,117,109,112,112,111,119, 0,107,105,110,107, 95,102,108, 97,116, 0,107,105,110,107, 95, 97,109,112, 95, 99,108,117, +109,112, 0,114,111,117,103,104, 49, 0,114,111,117,103,104, 49, 95,115,105,122,101, 0,114,111,117,103,104, 50, 0,114,111,117, +103,104, 50, 95,115,105,122,101, 0,114,111,117,103,104, 50, 95,116,104,114,101,115, 0,114,111,117,103,104, 95,101,110,100, 0, +114,111,117,103,104, 95,101,110,100, 95,115,104, 97,112,101, 0, 99,108,101,110,103,116,104, 0, 99,108,101,110,103,116,104, 95, +116,104,114,101,115, 0,112, 97,114,116,105,110,103, 95,102, 97, 99, 0,112, 97,114,116,105,110,103, 95,109,105,110, 0,112, 97, +114,116,105,110,103, 95,109, 97,120, 0, 98,114, 97,110, 99,104, 95,116,104,114,101,115, 0,100,114, 97,119, 95,108,105,110,101, + 91, 50, 93, 0,112, 97,116,104, 95,115,116, 97,114,116, 0,112, 97,116,104, 95,101,110,100, 0,116,114, 97,105,108, 95, 99,111, +117,110,116, 0,107,101,121,101,100, 95,108,111,111,112,115, 0,100,117,112,108,105,119,101,105,103,104,116,115, 0, 42,101,102, +102, 95,103,114,111,117,112, 0, 42,100,117,112, 95,111, 98, 0, 42, 98, 98, 95,111, 98, 0, 42,112,100, 50, 0, 42,112, 97,114, +116, 0, 42,112, 97,114,116,105, 99,108,101,115, 0, 42, 42,112, 97,116,104, 99, 97, 99,104,101, 0, 42, 42, 99,104,105,108,100, + 99, 97, 99,104,101, 0,112, 97,116,104, 99, 97, 99,104,101, 98,117,102,115, 0, 99,104,105,108,100, 99, 97, 99,104,101, 98,117, +102,115, 0, 42, 99,108,109,100, 0, 42,104, 97,105,114, 95,105,110, 95,100,109, 0, 42,104, 97,105,114, 95,111,117,116, 95,100, +109, 0, 42,116, 97,114,103,101,116, 95,111, 98, 0, 42,108, 97,116,116,105, 99,101, 0,116,114,101,101, 95,102,114, 97,109,101, + 0, 98,118,104,116,114,101,101, 95,102,114, 97,109,101, 0, 99,104,105,108,100, 95,115,101,101,100, 0,116,111,116,117,110,101, +120,105,115,116, 0,116,111,116, 99,104,105,108,100, 0,116,111,116, 99, 97, 99,104,101,100, 0,116,111,116, 99,104,105,108,100, + 99, 97, 99,104,101, 0,116, 97,114,103,101,116, 95,112,115,121,115, 0,116,111,116,107,101,121,101,100, 0, 98, 97,107,101,115, +112, 97, 99,101, 0, 98, 98, 95,117,118,110, 97,109,101, 91, 51, 93, 91, 51, 50, 93, 0,118,103,114,111,117,112, 91, 49, 50, 93, + 0,118,103, 95,110,101,103, 0,114,116, 51, 0, 42,114,101,110,100,101,114,100, 97,116, 97, 0, 42,101,102,102,101, 99,116,111, +114,115, 0, 42,102,108,117,105,100, 95,115,112,114,105,110,103,115, 0,116,111,116, 95,102,108,117,105,100,115,112,114,105,110, +103,115, 0, 97,108,108,111, 99, 95,102,108,117,105,100,115,112,114,105,110,103,115, 0, 42,116,114,101,101, 0, 42,112,100,100, + 0, 42,102,114, 97,110,100, 0, 67,100,105,115, 0, 67,118,105, 0,115,116,114,117, 99,116,117,114, 97,108, 0, 98,101,110,100, +105,110,103, 0,109, 97,120, 95, 98,101,110,100, 0,109, 97,120, 95,115,116,114,117, 99,116, 0,109, 97,120, 95,115,104,101, 97, +114, 0, 97,118,103, 95,115,112,114,105,110,103, 95,108,101,110, 0,116,105,109,101,115, 99, 97,108,101, 0,101,102,102, 95,102, +111,114, 99,101, 95,115, 99, 97,108,101, 0,101,102,102, 95,119,105,110,100, 95,115, 99, 97,108,101, 0,115,105,109, 95,116,105, +109,101, 95,111,108,100, 0,118,101,108,111, 99,105,116,121, 95,115,109,111,111,116,104, 0, 99,111,108,108,105,100,101,114, 95, +102,114,105, 99,116,105,111,110, 0,115,116,101,112,115, 80,101,114, 70,114, 97,109,101, 0,112,114,101,114,111,108,108, 0,109, + 97,120,115,112,114,105,110,103,108,101,110, 0,115,111,108,118,101,114, 95,116,121,112,101, 0,118,103,114,111,117,112, 95, 98, +101,110,100, 0,118,103,114,111,117,112, 95,109, 97,115,115, 0,118,103,114,111,117,112, 95,115,116,114,117, 99,116, 0,115,104, + 97,112,101,107,101,121, 95,114,101,115,116, 0,112,114,101,115,101,116,115, 0,114,101,115,101,116, 0, 42, 99,111,108,108,105, +115,105,111,110, 95,108,105,115,116, 0,101,112,115,105,108,111,110, 0,115,101,108,102, 95,102,114,105, 99,116,105,111,110, 0, +115,101,108,102,101,112,115,105,108,111,110, 0,115,101,108,102, 95,108,111,111,112, 95, 99,111,117,110,116, 0,108,111,111,112, + 95, 99,111,117,110,116, 0,112,114,101,115,115,117,114,101, 0,116,104,105, 99,107,110,101,115,115, 0,115,116,114,111,107,101, +115, 0,102,114, 97,109,101,110,117,109, 0, 42, 97, 99,116,102,114, 97,109,101, 0,103,115,116,101,112, 0,105,110,102,111, 91, + 49, 50, 56, 93, 0,115, 98,117,102,102,101,114, 95,115,105,122,101, 0,115, 98,117,102,102,101,114, 95,115,102,108, 97,103, 0, + 42,115, 98,117,102,102,101,114, 0,108,105,115,116, 0,112,114,105,110,116,108,101,118,101,108, 0,115,116,111,114,101,108,101, +118,101,108, 0, 42,114,101,112,111,114,116,116,105,109,101,114, 0, 42,119,105,110,100,114, 97,119, 97, 98,108,101, 0, 42,119, +105,110, 97, 99,116,105,118,101, 0,119,105,110,100,111,119,115, 0,105,110,105,116,105, 97,108,105,122,101,100, 0,102,105,108, +101, 95,115, 97,118,101,100, 0,111,112, 95,117,110,100,111, 95,100,101,112,116,104, 0,111,112,101,114, 97,116,111,114,115, 0, +113,117,101,117,101, 0,114,101,112,111,114,116,115, 0,106,111, 98,115, 0,112, 97,105,110,116, 99,117,114,115,111,114,115, 0, +100,114, 97,103,115, 0,107,101,121, 99,111,110,102,105,103,115, 0, 42,100,101,102, 97,117,108,116, 99,111,110,102, 0,116,105, +109,101,114,115, 0, 42, 97,117,116,111,115, 97,118,101,116,105,109,101,114, 0, 42,103,104,111,115,116,119,105,110, 0,103,114, + 97, 98, 99,117,114,115,111,114, 0, 42,115, 99,114,101,101,110, 0, 42,110,101,119,115, 99,114,101,101,110, 0,115, 99,114,101, +101,110,110, 97,109,101, 91, 51, 50, 93, 0,112,111,115,120, 0,112,111,115,121, 0,119,105,110,100,111,119,115,116, 97,116,101, + 0,109,111,110,105,116,111,114, 0,108, 97,115,116, 99,117,114,115,111,114, 0,109,111,100, 97,108, 99,117,114,115,111,114, 0, + 97,100,100,109,111,117,115,101,109,111,118,101, 0, 42,101,118,101,110,116,115,116, 97,116,101, 0, 42, 99,117,114,115,119,105, +110, 0, 42,116,119,101, 97,107, 0,100,114, 97,119,109,101,116,104,111,100, 0,100,114, 97,119,102, 97,105,108, 0, 42,100,114, + 97,119,100, 97,116, 97, 0,109,111,100, 97,108,104, 97,110,100,108,101,114,115, 0,115,117, 98,119,105,110,100,111,119,115, 0, +103,101,115,116,117,114,101, 0,105,100,110, 97,109,101, 91, 54, 52, 93, 0,112,114,111,112,118, 97,108,117,101, 0,115,104,105, +102,116, 0, 99,116,114,108, 0, 97,108,116, 0,111,115,107,101,121, 0,107,101,121,109,111,100,105,102,105,101,114, 0,109, 97, +112,116,121,112,101, 0, 42,112,116,114, 0,105,116,101,109,115, 0,115,112, 97, 99,101,105,100, 0,114,101,103,105,111,110,105, +100, 0,107,109,105, 95,105,100, 0, 40, 42,112,111,108,108, 41, 40, 41, 0, 42,109,111,100, 97,108, 95,105,116,101,109,115, 0, + 98, 97,115,101,110, 97,109,101, 91, 54, 52, 93, 0, 97, 99,116,107,101,121,109, 97,112, 0, 42, 99,117,115,116,111,109,100, 97, +116, 97, 0, 42,112,121, 95,105,110,115,116, 97,110, 99,101, 0, 42,114,101,112,111,114,116,115, 0,109, 97, 99,114,111, 0, 42, +111,112,109, 0, 42,101,100, 97,116, 97, 0,105,110,102,108,117,101,110, 99,101, 0, 42, 99,111,101,102,102,105, 99,105,101,110, +116,115, 0, 97,114,114, 97,121,115,105,122,101, 0,112,111,108,121, 95,111,114,100,101,114, 0, 97,109,112,108,105,116,117,100, +101, 0,112,104, 97,115,101, 95,109,117,108,116,105,112,108,105,101,114, 0,112,104, 97,115,101, 95,111,102,102,115,101,116, 0, +118, 97,108,117,101, 95,111,102,102,115,101,116, 0,109,105,100,118, 97,108, 0, 98,101,102,111,114,101, 95,109,111,100,101, 0, + 97,102,116,101,114, 95,109,111,100,101, 0, 98,101,102,111,114,101, 95, 99,121, 99,108,101,115, 0, 97,102,116,101,114, 95, 99, +121, 99,108,101,115, 0,114,101, 99,116, 0,112,104, 97,115,101, 0,109,111,100,105,102,105, 99, 97,116,105,111,110, 0,115,116, +101,112, 95,115,105,122,101, 0, 42,114,110, 97, 95,112, 97,116,104, 0,112, 99,104, 97,110, 95,110, 97,109,101, 91, 51, 50, 93, + 0,116,114, 97,110,115, 67,104, 97,110, 0,105,100,116,121,112,101, 0,116, 97,114,103,101,116,115, 91, 56, 93, 0,110,117,109, + 95,116, 97,114,103,101,116,115, 0,118, 97,114,105, 97, 98,108,101,115, 0,101,120,112,114,101,115,115,105,111,110, 91, 50, 53, + 54, 93, 0, 42,101,120,112,114, 95, 99,111,109,112, 0,118,101, 99, 91, 50, 93, 0, 42,102,112,116, 0, 97,114,114, 97,121, 95, +105,110,100,101,120, 0, 99,111,108,111,114, 95,109,111,100,101, 0, 99,111,108,111,114, 91, 51, 93, 0,102,114,111,109, 91, 49, + 50, 56, 93, 0,116,111, 91, 49, 50, 56, 93, 0,109, 97,112,112,105,110,103,115, 0,115,116,114,105,112,115, 0, 42,114,101,109, + 97,112, 0,102, 99,117,114,118,101,115, 0,115,116,114,105,112, 95,116,105,109,101, 0, 98,108,101,110,100,109,111,100,101, 0, +101,120,116,101,110,100,109,111,100,101, 0,103,114,111,117,112, 91, 54, 52, 93, 0,103,114,111,117,112,109,111,100,101, 0,107, +101,121,105,110,103,102,108, 97,103, 0,112, 97,116,104,115, 0,116,121,112,101,105,110,102,111, 91, 54, 52, 93, 0, 97, 99,116, +105,118,101, 95,112, 97,116,104, 0, 42,116,109,112, 97, 99,116, 0,110,108, 97, 95,116,114, 97, 99,107,115, 0, 42, 97, 99,116, +115,116,114,105,112, 0,100,114,105,118,101,114,115, 0,111,118,101,114,114,105,100,101,115, 0, 97, 99,116, 95, 98,108,101,110, +100,109,111,100,101, 0, 97, 99,116, 95,101,120,116,101,110,100,109,111,100,101, 0, 97, 99,116, 95,105,110,102,108,117,101,110, + 99,101, 0,114,117,108,101, 0,111,112,116,105,111,110,115, 0,102,101, 97,114, 95,102, 97, 99,116,111,114, 0,115,105,103,110, + 97,108, 95,105,100, 0,108,111,111,107, 95, 97,104,101, 97,100, 0,111,108,111, 99, 91, 51, 93, 0,113,117,101,117,101, 95,115, +105,122,101, 0,119, 97,110,100,101,114, 0,102,108,101,101, 95,100,105,115,116, 97,110, 99,101, 0,104,101, 97,108,116,104, 0, +115,116, 97,116,101, 95,105,100, 0,114,117,108,101,115, 0, 99,111,110,100,105,116,105,111,110,115, 0, 97, 99,116,105,111,110, +115, 0,114,117,108,101,115,101,116, 95,116,121,112,101, 0,114,117,108,101, 95,102,117,122,122,105,110,101,115,115, 0,108, 97, +115,116, 95,115,116, 97,116,101, 95,105,100, 0,108, 97,110,100,105,110,103, 95,115,109,111,111,116,104,110,101,115,115, 0, 98, + 97,110,107,105,110,103, 0, 97,103,103,114,101,115,115,105,111,110, 0, 97,105,114, 95,109,105,110, 95,115,112,101,101,100, 0, + 97,105,114, 95,109, 97,120, 95,115,112,101,101,100, 0, 97,105,114, 95,109, 97,120, 95, 97, 99, 99, 0, 97,105,114, 95,109, 97, +120, 95, 97,118,101, 0, 97,105,114, 95,112,101,114,115,111,110, 97,108, 95,115,112, 97, 99,101, 0,108, 97,110,100, 95,106,117, +109,112, 95,115,112,101,101,100, 0,108, 97,110,100, 95,109, 97,120, 95,115,112,101,101,100, 0,108, 97,110,100, 95,109, 97,120, + 95, 97, 99, 99, 0,108, 97,110,100, 95,109, 97,120, 95, 97,118,101, 0,108, 97,110,100, 95,112,101,114,115,111,110, 97,108, 95, +115,112, 97, 99,101, 0,108, 97,110,100, 95,115,116,105, 99,107, 95,102,111,114, 99,101, 0,115,116, 97,116,101,115, 0, 42,115, +109,100, 0, 42,102,108,117,105,100, 95,103,114,111,117,112, 0, 42, 99,111,108,108, 95,103,114,111,117,112, 0, 42,119,116, 0, + 42,116,101,120, 95,119,116, 0, 42,116,101,120, 95,115,104, 97,100,111,119, 0, 42,115,104, 97,100,111,119, 0,112, 48, 91, 51, + 93, 0,112, 49, 91, 51, 93, 0,100,120, 0,111,109,101,103, 97, 0,116,101,109,112, 65,109, 98, 0, 98,101,116, 97, 0,114,101, +115, 91, 51, 93, 0, 97,109,112,108,105,102,121, 0,109, 97,120,114,101,115, 0,118,105,101,119,115,101,116,116,105,110,103,115, + 0,110,111,105,115,101, 0,100,105,115,115, 95,112,101,114, 99,101,110,116, 0,100,105,115,115, 95,115,112,101,101,100, 0,114, +101,115, 95,119,116, 91, 51, 93, 0,100,120, 95,119,116, 0,118, 51,100,110,117,109, 0, 99, 97, 99,104,101, 95, 99,111,109,112, + 0, 99, 97, 99,104,101, 95,104,105,103,104, 95, 99,111,109,112, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101, 91, 50, 93, + 0,112,116, 99, 97, 99,104,101,115, 91, 50, 93, 0, 98,111,114,100,101,114, 95, 99,111,108,108,105,115,105,111,110,115, 0,116, +105,109,101, 95,115, 99, 97,108,101, 0,118,111,114,116,105, 99,105,116,121, 0,118,101,108,111, 99,105,116,121, 91, 50, 93, 0, +118,101,108, 95,109,117,108,116,105, 0,118,103,114,112, 95,104,101, 97,116, 95,115, 99, 97,108,101, 91, 50, 93, 0,118,103,114, +111,117,112, 95,102,108,111,119, 0,118,103,114,111,117,112, 95,100,101,110,115,105,116,121, 0,118,103,114,111,117,112, 95,104, +101, 97,116, 0, 42,112,111,105,110,116,115, 95,111,108,100, 0, 42,118,101,108, 0,109, 97,116, 95,111,108,100, 91, 52, 93, 91, + 52, 93, 0, 0, 84, 89, 80, 69,215, 1, 0, 0, 99,104, 97,114, 0,117, 99,104, 97,114, 0,115,104,111,114,116, 0,117,115,104, +111,114,116, 0,105,110,116, 0,108,111,110,103, 0,117,108,111,110,103, 0,102,108,111, 97,116, 0,100,111,117, 98,108,101, 0, +118,111,105,100, 0, 76,105,110,107, 0, 76,105,110,107, 68, 97,116, 97, 0, 76,105,115,116, 66, 97,115,101, 0,118,101, 99, 50, +115, 0,118,101, 99, 50,102, 0,114, 99,116,105, 0,114, 99,116,102, 0, 73, 68, 80,114,111,112,101,114,116,121, 68, 97,116, 97, + 0, 73, 68, 80,114,111,112,101,114,116,121, 0, 73, 68, 0, 76,105, 98,114, 97,114,121, 0, 70,105,108,101, 68, 97,116, 97, 0, + 80,114,101,118,105,101,119, 73,109, 97,103,101, 0, 73,112,111, 68,114,105,118,101,114, 0, 79, 98,106,101, 99,116, 0, 73,112, +111, 67,117,114,118,101, 0, 66, 80,111,105,110,116, 0, 66,101,122, 84,114,105,112,108,101, 0, 73,112,111, 0, 75,101,121, 66, +108,111, 99,107, 0, 75,101,121, 0, 65,110,105,109, 68, 97,116, 97, 0, 84,101,120,116, 76,105,110,101, 0, 84,101,120,116, 77, + 97,114,107,101,114, 0, 84,101,120,116, 0, 80, 97, 99,107,101,100, 70,105,108,101, 0, 67, 97,109,101,114, 97, 0, 73,109, 97, +103,101, 85,115,101,114, 0, 83, 99,101,110,101, 0, 73,109, 97,103,101, 0, 71, 80, 85, 84,101,120,116,117,114,101, 0, 97,110, +105,109, 0, 82,101,110,100,101,114, 82,101,115,117,108,116, 0, 77, 84,101,120, 0, 84,101,120, 0, 80,108,117,103,105,110, 84, +101,120, 0, 67, 66, 68, 97,116, 97, 0, 67,111,108,111,114, 66, 97,110,100, 0, 69,110,118, 77, 97,112, 0, 73,109, 66,117,102, + 0, 80,111,105,110,116, 68,101,110,115,105,116,121, 0, 86,111,120,101,108, 68, 97,116, 97, 0, 98, 78,111,100,101, 84,114,101, +101, 0, 84,101,120, 77, 97,112,112,105,110,103, 0, 76, 97,109,112, 0, 67,117,114,118,101, 77, 97,112,112,105,110,103, 0, 86, +111,108,117,109,101, 83,101,116,116,105,110,103,115, 0, 77, 97,116,101,114,105, 97,108, 0, 71,114,111,117,112, 0, 86, 70,111, +110,116, 0, 86, 70,111,110,116, 68, 97,116, 97, 0, 77,101,116, 97, 69,108,101,109, 0, 66,111,117,110,100, 66,111,120, 0, 77, +101,116, 97, 66, 97,108,108, 0, 78,117,114, 98, 0, 67,104, 97,114, 73,110,102,111, 0, 84,101,120,116, 66,111,120, 0, 69,100, +105,116, 78,117,114, 98, 0, 71, 72, 97,115,104, 0, 67,117,114,118,101, 0, 80, 97,116,104, 0, 83,101,108, 66,111,120, 0, 69, +100,105,116, 70,111,110,116, 0, 77,101,115,104, 0, 77, 70, 97, 99,101, 0, 77, 84, 70, 97, 99,101, 0, 84, 70, 97, 99,101, 0, + 77, 86,101,114,116, 0, 77, 69,100,103,101, 0, 77, 68,101,102,111,114,109, 86,101,114,116, 0, 77, 67,111,108, 0, 77, 83,116, +105, 99,107,121, 0, 77, 83,101,108,101, 99,116, 0, 69,100,105,116, 77,101,115,104, 0, 67,117,115,116,111,109, 68, 97,116, 97, + 0, 77,117,108,116,105,114,101,115, 0, 80, 97,114,116,105, 97,108, 86,105,115,105, 98,105,108,105,116,121, 0, 77, 68,101,102, +111,114,109, 87,101,105,103,104,116, 0, 77, 84,101,120, 80,111,108,121, 0, 77, 76,111,111,112, 85, 86, 0, 77, 76,111,111,112, + 67,111,108, 0, 77, 70,108,111, 97,116, 80,114,111,112,101,114,116,121, 0, 77, 73,110,116, 80,114,111,112,101,114,116,121, 0, + 77, 83,116,114,105,110,103, 80,114,111,112,101,114,116,121, 0, 79,114,105,103, 83,112, 97, 99,101, 70, 97, 99,101, 0, 77, 68, +105,115,112,115, 0, 77,117,108,116,105,114,101,115, 67,111,108, 0, 77,117,108,116,105,114,101,115, 67,111,108, 70, 97, 99,101, + 0, 77,117,108,116,105,114,101,115, 70, 97, 99,101, 0, 77,117,108,116,105,114,101,115, 69,100,103,101, 0, 77,117,108,116,105, +114,101,115, 76,101,118,101,108, 0, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,117, 98,115,117,114,102, 77,111,100, +105,102,105,101,114, 68, 97,116, 97, 0, 76, 97,116,116,105, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,117, +114,118,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66,117,105,108,100, 77,111,100,105,102,105,101,114, 68, 97,116, + 97, 0, 77, 97,115,107, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 65,114,114, 97,121, 77,111,100,105,102,105,101,114, + 68, 97,116, 97, 0, 77,105,114,114,111,114, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 69,100,103,101, 83,112,108,105, +116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66,101,118,101,108, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, + 66, 77,101,115,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,107,101, 77,111,100,105,102,105,101,114, 68, + 97,116, 97, 0, 83,109,111,107,101, 68,111,109, 97,105,110, 83,101,116,116,105,110,103,115, 0, 83,109,111,107,101, 70,108,111, +119, 83,101,116,116,105,110,103,115, 0, 83,109,111,107,101, 67,111,108,108, 83,101,116,116,105,110,103,115, 0, 68,105,115,112, +108, 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 85, 86, 80,114,111,106,101, 99,116, 77,111,100,105,102,105, +101,114, 68, 97,116, 97, 0, 68,101, 99,105,109, 97,116,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,111, +116,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67, 97,115,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, + 87, 97,118,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 65,114,109, 97,116,117,114,101, 77,111,100,105,102,105,101, +114, 68, 97,116, 97, 0, 72,111,111,107, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,111,102,116, 98,111,100,121, 77, +111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,116,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,108, +111,116,104, 0, 67,108,111,116,104, 83,105,109, 83,101,116,116,105,110,103,115, 0, 67,108,111,116,104, 67,111,108,108, 83,101, +116,116,105,110,103,115, 0, 80,111,105,110,116, 67, 97, 99,104,101, 0, 67,111,108,108,105,115,105,111,110, 77,111,100,105,102, +105,101,114, 68, 97,116, 97, 0, 66, 86, 72, 84,114,101,101, 0, 83,117,114,102, 97, 99,101, 77,111,100,105,102,105,101,114, 68, + 97,116, 97, 0, 68,101,114,105,118,101,100, 77,101,115,104, 0, 66, 86, 72, 84,114,101,101, 70,114,111,109, 77,101,115,104, 0, + 66,111,111,108,101, 97,110, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 68,101,102, 73,110,102,108,117,101,110, 99, +101, 0, 77, 68,101,102, 67,101,108,108, 0, 77,101,115,104, 68,101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116, + 97, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,116,101,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114, +116,105, 99,108,101, 83,121,115,116,101,109, 0, 80, 97,114,116,105, 99,108,101, 73,110,115,116, 97,110, 99,101, 77,111,100,105, +102,105,101,114, 68, 97,116, 97, 0, 69,120,112,108,111,100,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77,117,108, +116,105,114,101,115, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 70,108,117,105,100,115,105,109, 77,111,100,105,102,105, +101,114, 68, 97,116, 97, 0, 70,108,117,105,100,115,105,109, 83,101,116,116,105,110,103,115, 0, 83,104,114,105,110,107,119,114, + 97,112, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,105,109,112,108,101, 68,101,102,111,114,109, 77,111,100,105,102, +105,101,114, 68, 97,116, 97, 0, 83,104, 97,112,101, 75,101,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,111,108, +105,100,105,102,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83, 99,114,101,119, 77,111,100,105,102,105,101,114, 68, + 97,116, 97, 0, 69,100,105,116, 76, 97,116,116, 0, 76, 97,116,116,105, 99,101, 0, 98, 68,101,102,111,114,109, 71,114,111,117, +112, 0, 83, 99,117,108,112,116, 83,101,115,115,105,111,110, 0, 98, 65, 99,116,105,111,110, 0, 98, 80,111,115,101, 0, 98, 71, + 80,100, 97,116, 97, 0, 98, 65,110,105,109, 86,105,122, 83,101,116,116,105,110,103,115, 0, 98, 77,111,116,105,111,110, 80, 97, +116,104, 0, 66,117,108,108,101,116, 83,111,102,116, 66,111,100,121, 0, 80, 97,114,116, 68,101,102,108,101, 99,116, 0, 83,111, +102,116, 66,111,100,121, 0, 79, 98, 72,111,111,107, 0, 68,117,112,108,105, 79, 98,106,101, 99,116, 0, 82, 78, 71, 0, 69,102, +102,101, 99,116,111,114, 87,101,105,103,104,116,115, 0, 80, 84, 67, 97, 99,104,101, 69,120,116,114, 97, 0, 80, 84, 67, 97, 99, +104,101, 77,101,109, 0, 80, 84, 67, 97, 99,104,101, 69,100,105,116, 0, 83, 66, 86,101,114,116,101,120, 0, 66,111,100,121, 80, +111,105,110,116, 0, 66,111,100,121, 83,112,114,105,110,103, 0, 83, 66, 83, 99,114, 97,116, 99,104, 0, 87,111,114,108,100, 0, + 66, 97,115,101, 0, 65,118,105, 67,111,100,101, 99, 68, 97,116, 97, 0, 81,117,105, 99,107,116,105,109,101, 67,111,100,101, 99, + 68, 97,116, 97, 0, 81,117,105, 99,107,116,105,109,101, 67,111,100,101, 99, 83,101,116,116,105,110,103,115, 0, 70, 70, 77,112, +101,103, 67,111,100,101, 99, 68, 97,116, 97, 0, 65,117,100,105,111, 68, 97,116, 97, 0, 83, 99,101,110,101, 82,101,110,100,101, +114, 76, 97,121,101,114, 0, 82,101,110,100,101,114, 68, 97,116, 97, 0, 82,101,110,100,101,114, 80,114,111,102,105,108,101, 0, + 71, 97,109,101, 68,111,109,101, 0, 71, 97,109,101, 70,114, 97,109,105,110,103, 0, 71, 97,109,101, 68, 97,116, 97, 0, 84,105, +109,101, 77, 97,114,107,101,114, 0, 80, 97,105,110,116, 0, 66,114,117,115,104, 0, 73,109, 97,103,101, 80, 97,105,110,116, 83, +101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 66,114,117,115,104, 68, 97,116, 97, 0, 80, 97,114,116,105, 99, +108,101, 69,100,105,116, 83,101,116,116,105,110,103,115, 0, 84,114, 97,110,115,102,111,114,109, 79,114,105,101,110,116, 97,116, +105,111,110, 0, 83, 99,117,108,112,116, 0, 86, 80, 97,105,110,116, 0, 84,111,111,108, 83,101,116,116,105,110,103,115, 0, 98, + 83,116, 97,116,115, 0, 85,110,105,116, 83,101,116,116,105,110,103,115, 0, 80,104,121,115,105, 99,115, 83,101,116,116,105,110, +103,115, 0, 69,100,105,116,105,110,103, 0, 83, 99,101,110,101, 83,116, 97,116,115, 0, 68, 97,103, 70,111,114,101,115,116, 0, + 66, 71,112,105, 99, 0, 82,101,103,105,111,110, 86,105,101,119, 51, 68, 0, 82,101,110,100,101,114, 73,110,102,111, 0, 82,101, +110,100,101,114, 69,110,103,105,110,101, 0, 86,105,101,119, 68,101,112,116,104,115, 0, 83,109,111,111,116,104, 86,105,101,119, + 83,116,111,114,101, 0,119,109, 84,105,109,101,114, 0, 86,105,101,119, 51, 68, 0, 83,112, 97, 99,101, 76,105,110,107, 0, 86, +105,101,119, 50, 68, 0, 83,112, 97, 99,101, 73,110,102,111, 0, 83,112, 97, 99,101, 73,112,111, 0, 98, 68,111,112,101, 83,104, +101,101,116, 0, 83,112, 97, 99,101, 66,117,116,115, 0, 83,112, 97, 99,101, 83,101,113, 0, 70,105,108,101, 83,101,108,101, 99, +116, 80, 97,114, 97,109,115, 0, 83,112, 97, 99,101, 70,105,108,101, 0, 70,105,108,101, 76,105,115,116, 0,119,109, 79,112,101, +114, 97,116,111,114, 0, 70,105,108,101, 76, 97,121,111,117,116, 0, 83,112, 97, 99,101, 79,111,112,115, 0, 84,114,101,101, 83, +116,111,114,101, 0, 84,114,101,101, 83,116,111,114,101, 69,108,101,109, 0, 83,112, 97, 99,101, 73,109, 97,103,101, 0, 83, 99, +111,112,101,115, 0, 72,105,115,116,111,103,114, 97,109, 0, 83,112, 97, 99,101, 78,108, 97, 0, 83,112, 97, 99,101, 84,101,120, +116, 0, 83, 99,114,105,112,116, 0, 83,112, 97, 99,101, 83, 99,114,105,112,116, 0, 83,112, 97, 99,101, 84,105,109,101, 67, 97, + 99,104,101, 0, 83,112, 97, 99,101, 84,105,109,101, 0, 83,112, 97, 99,101, 78,111,100,101, 0, 83,112, 97, 99,101, 76,111,103, +105, 99, 0, 83,112, 97, 99,101, 73,109, 97, 83,101,108, 0, 67,111,110,115,111,108,101, 76,105,110,101, 0, 83,112, 97, 99,101, + 67,111,110,115,111,108,101, 0, 83,112, 97, 99,101, 85,115,101,114, 80,114,101,102, 0, 83,112, 97, 99,101, 83,111,117,110,100, + 0, 83, 99,114, 65,114,101, 97, 0, 98, 83,111,117,110,100, 0,117,105, 70,111,110,116, 0,117,105, 70,111,110,116, 83,116,121, +108,101, 0,117,105, 83,116,121,108,101, 0,117,105, 87,105,100,103,101,116, 67,111,108,111,114,115, 0,117,105, 87,105,100,103, +101,116, 83,116, 97,116,101, 67,111,108,111,114,115, 0, 84,104,101,109,101, 85, 73, 0, 84,104,101,109,101, 83,112, 97, 99,101, + 0, 84,104,101,109,101, 87,105,114,101, 67,111,108,111,114, 0, 98, 84,104,101,109,101, 0, 98, 65,100,100,111,110, 0, 83,111, +108,105,100, 76,105,103,104,116, 0, 85,115,101,114, 68,101,102, 0, 98, 83, 99,114,101,101,110, 0, 83, 99,114, 86,101,114,116, + 0, 83, 99,114, 69,100,103,101, 0, 80, 97,110,101,108, 0, 80, 97,110,101,108, 84,121,112,101, 0,117,105, 76, 97,121,111,117, +116, 0, 83,112, 97, 99,101, 84,121,112,101, 0, 65, 82,101,103,105,111,110, 0, 65, 82,101,103,105,111,110, 84,121,112,101, 0, + 70,105,108,101, 71,108,111, 98, 97,108, 0, 83,116,114,105,112, 69,108,101,109, 0, 83,116,114,105,112, 67,114,111,112, 0, 83, +116,114,105,112, 84,114, 97,110,115,102,111,114,109, 0, 83,116,114,105,112, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, + 83,116,114,105,112, 80,114,111,120,121, 0, 83,116,114,105,112, 0, 80,108,117,103,105,110, 83,101,113, 0, 83,101,113,117,101, +110, 99,101, 0, 77,101,116, 97, 83,116, 97, 99,107, 0, 87,105,112,101, 86, 97,114,115, 0, 71,108,111,119, 86, 97,114,115, 0, + 84,114, 97,110,115,102,111,114,109, 86, 97,114,115, 0, 83,111,108,105,100, 67,111,108,111,114, 86, 97,114,115, 0, 83,112,101, +101,100, 67,111,110,116,114,111,108, 86, 97,114,115, 0, 69,102,102,101, 99,116, 0, 66,117,105,108,100, 69,102,102, 0, 80, 97, +114,116, 69,102,102, 0, 80, 97,114,116,105, 99,108,101, 0, 87, 97,118,101, 69,102,102, 0, 98, 80,114,111,112,101,114,116,121, + 0, 98, 78,101, 97,114, 83,101,110,115,111,114, 0, 98, 77,111,117,115,101, 83,101,110,115,111,114, 0, 98, 84,111,117, 99,104, + 83,101,110,115,111,114, 0, 98, 75,101,121, 98,111, 97,114,100, 83,101,110,115,111,114, 0, 98, 80,114,111,112,101,114,116,121, + 83,101,110,115,111,114, 0, 98, 65, 99,116,117, 97,116,111,114, 83,101,110,115,111,114, 0, 98, 68,101,108, 97,121, 83,101,110, +115,111,114, 0, 98, 67,111,108,108,105,115,105,111,110, 83,101,110,115,111,114, 0, 98, 82, 97,100, 97,114, 83,101,110,115,111, +114, 0, 98, 82, 97,110,100,111,109, 83,101,110,115,111,114, 0, 98, 82, 97,121, 83,101,110,115,111,114, 0, 98, 65,114,109, 97, +116,117,114,101, 83,101,110,115,111,114, 0, 98, 77,101,115,115, 97,103,101, 83,101,110,115,111,114, 0, 98, 83,101,110,115,111, +114, 0, 98, 67,111,110,116,114,111,108,108,101,114, 0, 98, 74,111,121,115,116,105, 99,107, 83,101,110,115,111,114, 0, 98, 69, +120,112,114,101,115,115,105,111,110, 67,111,110,116, 0, 98, 80,121,116,104,111,110, 67,111,110,116, 0, 98, 65, 99,116,117, 97, +116,111,114, 0, 98, 65,100,100, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 65, 99,116,105,111,110, 65, 99, +116,117, 97,116,111,114, 0, 83,111,117,110,100, 51, 68, 0, 98, 83,111,117,110,100, 65, 99,116,117, 97,116,111,114, 0, 98, 69, +100,105,116, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 83, 99,101,110,101, 65, 99,116,117, 97,116,111,114, + 0, 98, 80,114,111,112,101,114,116,121, 65, 99,116,117, 97,116,111,114, 0, 98, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116, +111,114, 0, 98, 73,112,111, 65, 99,116,117, 97,116,111,114, 0, 98, 67, 97,109,101,114, 97, 65, 99,116,117, 97,116,111,114, 0, + 98, 67,111,110,115,116,114, 97,105,110,116, 65, 99,116,117, 97,116,111,114, 0, 98, 71,114,111,117,112, 65, 99,116,117, 97,116, +111,114, 0, 98, 82, 97,110,100,111,109, 65, 99,116,117, 97,116,111,114, 0, 98, 77,101,115,115, 97,103,101, 65, 99,116,117, 97, +116,111,114, 0, 98, 71, 97,109,101, 65, 99,116,117, 97,116,111,114, 0, 98, 86,105,115,105, 98,105,108,105,116,121, 65, 99,116, +117, 97,116,111,114, 0, 98, 84,119,111, 68, 70,105,108,116,101,114, 65, 99,116,117, 97,116,111,114, 0, 98, 80, 97,114,101,110, +116, 65, 99,116,117, 97,116,111,114, 0, 98, 83,116, 97,116,101, 65, 99,116,117, 97,116,111,114, 0, 98, 65,114,109, 97,116,117, +114,101, 65, 99,116,117, 97,116,111,114, 0, 71,114,111,117,112, 79, 98,106,101, 99,116, 0, 66,111,110,101, 0, 98, 65,114,109, + 97,116,117,114,101, 0, 98, 77,111,116,105,111,110, 80, 97,116,104, 86,101,114,116, 0, 98, 80,111,115,101, 67,104, 97,110,110, +101,108, 0, 98, 73, 75, 80, 97,114, 97,109, 0, 98, 73,116, 97,115, 99, 0, 98, 65, 99,116,105,111,110, 71,114,111,117,112, 0, + 83,112, 97, 99,101, 65, 99,116,105,111,110, 0, 98, 65, 99,116,105,111,110, 67,104, 97,110,110,101,108, 0, 98, 67,111,110,115, +116,114, 97,105,110,116, 67,104, 97,110,110,101,108, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,111,110,115,116, +114, 97,105,110,116, 84, 97,114,103,101,116, 0, 98, 80,121,116,104,111,110, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 75, +105,110,101,109, 97,116,105, 99, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,112,108,105,110,101, 73, 75, 67,111,110,115, +116,114, 97,105,110,116, 0, 98, 84,114, 97, 99,107, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82,111,116, 97,116, +101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 97,116,101, 76,105,107,101, 67,111,110,115,116, +114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83, 97,109,101, 86, +111,108,117,109,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97,110,115, 76,105,107,101, 67,111,110,115,116,114, + 97,105,110,116, 0, 98, 77,105,110, 77, 97,120, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,116,105,111,110, 67,111, +110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99,107, 84,114, 97, 99,107, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 68, + 97,109,112, 84,114, 97, 99,107, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 70,111,108,108,111,119, 80, 97,116,104, 67,111, +110,115,116,114, 97,105,110,116, 0, 98, 83,116,114,101,116, 99,104, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82, +105,103,105,100, 66,111,100,121, 74,111,105,110,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,108, 97,109,112, 84,111, + 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,104,105,108,100, 79,102, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84, +114, 97,110,115,102,111,114,109, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 80,105,118,111,116, 67,111,110,115,116,114, 97, +105,110,116, 0, 98, 76,111, 99, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82,111,116, 76,105,109,105, +116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, + 0, 98, 68,105,115,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,104,114,105,110,107,119,114, 97, +112, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,116,105,111,110, 77,111,100,105,102,105,101,114, 0, 98, 65, 99,116, +105,111,110, 83,116,114,105,112, 0, 98, 78,111,100,101, 83,116, 97, 99,107, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 0, + 98, 78,111,100,101, 76,105,110,107, 0, 98, 78,111,100,101, 80,114,101,118,105,101,119, 0, 98, 78,111,100,101, 0,117,105, 66, +108,111, 99,107, 0, 98, 78,111,100,101, 84,121,112,101, 0, 78,111,100,101, 73,109, 97,103,101, 65,110,105,109, 0, 78,111,100, +101, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 68, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 66,105,108, 97, +116,101,114, 97,108, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 72,117,101, 83, 97,116, 0, 78,111,100,101, 73,109, 97, +103,101, 70,105,108,101, 0, 78,111,100,101, 67,104,114,111,109, 97, 0, 78,111,100,101, 84,119,111, 88, 89,115, 0, 78,111,100, +101, 84,119,111, 70,108,111, 97,116,115, 0, 78,111,100,101, 71,101,111,109,101,116,114,121, 0, 78,111,100,101, 86,101,114,116, +101,120, 67,111,108, 0, 78,111,100,101, 68,101,102,111, 99,117,115, 0, 78,111,100,101, 83, 99,114,105,112,116, 68,105, 99,116, + 0, 78,111,100,101, 71,108, 97,114,101, 0, 78,111,100,101, 84,111,110,101,109, 97,112, 0, 78,111,100,101, 76,101,110,115, 68, +105,115,116, 0, 78,111,100,101, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 78,111,100,101, 67,111,108,111,114,115,112, +105,108,108, 0, 78,111,100,101, 84,101,120, 83,107,121, 0, 78,111,100,101, 84,101,120, 73,109, 97,103,101, 0, 78,111,100,101, + 84,101,120, 69,110,118,105,114,111,110,109,101,110,116, 0, 78,111,100,101, 84,101,120, 66,108,101,110,100, 0, 78,111,100,101, + 84,101,120, 67,108,111,117,100,115, 0, 78,111,100,101, 84,101,120, 86,111,114,111,110,111,105, 0, 78,111,100,101, 84,101,120, + 77,117,115,103,114, 97,118,101, 0, 78,111,100,101, 84,101,120, 77, 97,114, 98,108,101, 0, 78,111,100,101, 84,101,120, 77, 97, +103,105, 99, 0, 78,111,100,101, 84,101,120, 83,116,117, 99, 99,105, 0, 78,111,100,101, 84,101,120, 68,105,115,116,111,114,116, +101,100, 78,111,105,115,101, 0, 78,111,100,101, 84,101,120, 87,111,111,100, 0, 84,101,120, 78,111,100,101, 79,117,116,112,117, +116, 0, 67,117,114,118,101, 77, 97,112, 80,111,105,110,116, 0, 67,117,114,118,101, 77, 97,112, 0, 66,114,117,115,104, 67,108, +111,110,101, 0, 67,117,115,116,111,109, 68, 97,116, 97, 76, 97,121,101,114, 0, 67,117,115,116,111,109, 68, 97,116, 97, 69,120, +116,101,114,110, 97,108, 0, 72, 97,105,114, 75,101,121, 0, 80, 97,114,116,105, 99,108,101, 75,101,121, 0, 66,111,105,100, 80, + 97,114,116,105, 99,108,101, 0, 66,111,105,100, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,112,114,105,110,103, 0, + 67,104,105,108,100, 80, 97,114,116,105, 99,108,101, 0, 80, 97,114,116,105, 99,108,101, 84, 97,114,103,101,116, 0, 80, 97,114, +116,105, 99,108,101, 68,117,112,108,105, 87,101,105,103,104,116, 0, 80, 97,114,116,105, 99,108,101, 68, 97,116, 97, 0, 83, 80, + 72, 70,108,117,105,100, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 83,101,116,116,105,110,103,115, 0, + 66,111,105,100, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 67, 97, 99,104,101, 75,101,121, 0, 75, 68, + 84,114,101,101, 0, 80, 97,114,116,105, 99,108,101, 68,114, 97,119, 68, 97,116, 97, 0, 76,105,110,107, 78,111,100,101, 0, 98, + 71, 80, 68,115,112,111,105,110,116, 0, 98, 71, 80, 68,115,116,114,111,107,101, 0, 98, 71, 80, 68,102,114, 97,109,101, 0, 98, + 71, 80, 68,108, 97,121,101,114, 0, 82,101,112,111,114,116, 76,105,115,116, 0,119,109, 87,105,110,100,111,119, 77, 97,110, 97, +103,101,114, 0,119,109, 87,105,110,100,111,119, 0,119,109, 75,101,121, 67,111,110,102,105,103, 0,119,109, 69,118,101,110,116, + 0,119,109, 83,117, 98, 87,105,110,100,111,119, 0,119,109, 71,101,115,116,117,114,101, 0,119,109, 75,101,121, 77, 97,112, 73, +116,101,109, 0, 80,111,105,110,116,101,114, 82, 78, 65, 0,119,109, 75,101,121, 77, 97,112, 0,119,109, 79,112,101,114, 97,116, +111,114, 84,121,112,101, 0, 70, 77,111,100,105,102,105,101,114, 0, 70, 77,111,100, 95, 71,101,110,101,114, 97,116,111,114, 0, + 70, 77,111,100, 95, 70,117,110, 99,116,105,111,110, 71,101,110,101,114, 97,116,111,114, 0, 70, 67, 77, 95, 69,110,118,101,108, +111,112,101, 68, 97,116, 97, 0, 70, 77,111,100, 95, 69,110,118,101,108,111,112,101, 0, 70, 77,111,100, 95, 67,121, 99,108,101, +115, 0, 70, 77,111,100, 95, 80,121,116,104,111,110, 0, 70, 77,111,100, 95, 76,105,109,105,116,115, 0, 70, 77,111,100, 95, 78, +111,105,115,101, 0, 70, 77,111,100, 95, 83,116,101,112,112,101,100, 0, 68,114,105,118,101,114, 84, 97,114,103,101,116, 0, 68, +114,105,118,101,114, 86, 97,114, 0, 67,104, 97,110,110,101,108, 68,114,105,118,101,114, 0, 70, 80,111,105,110,116, 0, 70, 67, +117,114,118,101, 0, 65,110,105,109, 77, 97,112, 80, 97,105,114, 0, 65,110,105,109, 77, 97,112,112,101,114, 0, 78,108, 97, 83, +116,114,105,112, 0, 78,108, 97, 84,114, 97, 99,107, 0, 75, 83, 95, 80, 97,116,104, 0, 75,101,121,105,110,103, 83,101,116, 0, + 65,110,105,109, 79,118,101,114,114,105,100,101, 0, 73,100, 65,100,116, 84,101,109,112,108, 97,116,101, 0, 66,111,105,100, 82, +117,108,101, 0, 66,111,105,100, 82,117,108,101, 71,111, 97,108, 65,118,111,105,100, 0, 66,111,105,100, 82,117,108,101, 65,118, +111,105,100, 67,111,108,108,105,115,105,111,110, 0, 66,111,105,100, 82,117,108,101, 70,111,108,108,111,119, 76,101, 97,100,101, +114, 0, 66,111,105,100, 82,117,108,101, 65,118,101,114, 97,103,101, 83,112,101,101,100, 0, 66,111,105,100, 82,117,108,101, 70, +105,103,104,116, 0, 66,111,105,100, 83,116, 97,116,101, 0, 70, 76, 85, 73, 68, 95, 51, 68, 0, 87, 84, 85, 82, 66, 85, 76, 69, + 78, 67, 69, 0, 84, 76, 69, 78, 1, 0, 1, 0, 2, 0, 2, 0, 4, 0, 4, 0, 4, 0, 4, 0, 8, 0, 0, 0, 16, 0, 24, 0, + 16, 0, 4, 0, 8, 0, 16, 0, 16, 0, 32, 0, 96, 0, 72, 0, 72, 2, 0, 0, 40, 0,144, 0, 16, 5,112, 0, 36, 0, 56, 0, +112, 0,128, 0,168, 0, 96, 0, 40, 0, 48, 0,176, 0, 16, 0,136, 0, 40, 0, 16, 6,240, 1, 0, 0, 0, 0, 0, 0, 24, 1, +112, 1,120, 1, 24, 0, 8, 3,200, 0, 0, 0, 88, 0, 40, 1, 8, 1,136, 0,224, 1, 64, 1, 88, 0, 32, 3,104, 0, 88, 1, + 0, 0,128, 0,104, 0,208, 0, 80, 0, 8, 0, 16, 0, 32, 0, 0, 0,216, 1, 0, 0, 0, 0, 0, 0,176, 1, 20, 0, 48, 0, + 64, 0, 20, 0, 12, 0, 16, 0, 4, 0, 8, 0, 8, 0, 0, 0, 40, 0,128, 0, 48, 0, 8, 0, 16, 0, 8, 0, 8, 0, 4, 0, + 4, 0, 0, 1, 32, 0, 16, 0, 16, 0, 64, 0, 24, 0, 12, 0, 64, 0, 80, 0,104, 0,120, 0,128, 0, 96, 0,128, 0,160, 0, + 96, 0, 88, 0,136, 0, 88, 0,112, 0, 16, 1, 56, 0,192, 0,184, 0,232, 0, 88, 0,120, 0,136, 0,224, 0,136, 0,248, 0, + 80, 0,136, 0, 0, 0,152, 0, 40, 0, 16, 2,160, 0, 0, 0,120, 0, 0, 0, 0, 0, 96, 0, 8, 0, 8, 0, 48, 1,112, 0, + 16, 2,104, 0,128, 0, 88, 0, 96, 0,200, 1,144, 0,136, 0, 80, 0,144, 0,112, 0, 16, 0, 16, 1, 48, 0, 0, 0,144, 0, +184, 0,104, 0, 48, 0, 24, 0,120, 0,152, 0,120, 1,224, 0,192, 0, 0, 0, 72, 0, 32, 0,176, 0, 0, 0, 16, 0, 0, 0, + 0, 0, 0, 0,232, 1, 40, 0,184, 0,152, 0, 64, 0, 64, 0, 24, 0, 88, 0, 0, 4, 64, 0, 24, 0, 16, 0,104, 0, 96, 0, + 24, 0,248, 2, 48, 0, 16, 0,168, 0, 88, 0, 96, 0, 56, 0,192, 1, 32, 0, 8, 0, 24, 0, 80, 2, 0, 0, 0, 0, 88, 0, +104, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 1, 56, 0,144, 0, 64, 0,240, 0, 40, 0,248, 0,240, 0, 96, 2,104, 0, + 0, 0,168, 0, 0, 0, 24, 1, 16, 0, 16, 0, 40, 33,128, 16, 24, 16,216, 0,160, 2,120, 2, 64, 0, 24, 0,216, 0, 56, 1, + 72, 0,200, 2, 40, 0,136, 1,104, 0,216, 0,160, 0,136, 1, 24, 1, 32, 0,232, 0, 32, 0, 32, 0,112, 2,120, 1, 16, 0, + 88, 30, 80, 0, 56, 0,112, 13,216, 0, 32, 0, 40, 0, 88, 1, 0, 0, 0, 0, 0, 0, 40, 1, 0, 0, 32, 1, 88, 0, 16, 0, + 8, 0, 44, 0, 0, 1,240, 0,200, 1, 32, 1, 32, 0, 12, 0, 24, 0, 52, 0, 16, 0, 24, 0, 24, 0, 32, 0, 72, 1, 0, 0, + 64, 0, 64, 0, 48, 0, 8, 0, 48, 0, 72, 0,104, 0, 40, 0, 8, 0, 72, 0, 44, 0, 40, 0,108, 0, 72, 0, 72, 0, 96, 0, +104, 0, 60, 0,128, 0, 80, 0, 80, 0, 16, 0, 96, 0, 32, 0, 72, 0, 88, 0, 24, 0, 80, 0,112, 0, 84, 0, 32, 0, 96, 0, + 56, 0, 56, 0,112, 0,140, 0, 4, 0, 24, 0, 16, 0, 8, 0, 88, 0, 40, 0, 40, 1,200, 0, 16, 0,248, 1, 4, 0, 40, 0, +120, 0, 0, 1, 88, 0, 56, 0, 88, 0,128, 0, 80, 0,120, 0, 24, 0, 56, 0, 48, 0, 48, 0, 48, 0, 8, 0, 40, 0, 72, 0, + 72, 0, 48, 0, 48, 0, 24, 0, 56, 0,104, 0, 16, 0,112, 0, 96, 0, 56, 0, 28, 0, 28, 0, 28, 0, 56, 0, 24, 0, 72, 0, +168, 0, 40, 0,152, 0, 56, 0, 16, 0, 8, 1, 0, 0, 0, 0, 16, 0, 40, 0, 28, 0, 12, 0, 12, 0, 16, 1, 44, 0, 24, 0, + 8, 0, 64, 0, 32, 0, 24, 0, 16, 0, 24, 0, 32, 0, 8, 0, 96, 0, 20, 0, 16, 0, 4, 0, 4, 0, 8, 0, 16, 0, 8, 0, + 8, 0, 24, 0, 8, 0, 16, 0, 8, 0, 16, 0, 32, 0, 12, 0, 56, 0, 24, 0, 72, 0,240, 0, 24, 0, 56, 0, 56, 0, 20, 0, + 16, 0, 64, 0, 40, 0, 32, 0,192, 0, 60, 0,192, 2,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 32, 0, 40, 0,192, 0, + 40, 0, 24, 1,224, 0,168, 0, 0, 0, 0, 0, 0, 0,120, 0, 0, 0,120, 0, 0, 0,104, 0, 24, 0, 24, 0, 16, 0, 24, 0, + 8, 0, 16, 0, 24, 0, 20, 0, 20, 0, 56, 0, 24, 2, 40, 1, 16, 0,104, 0, 0, 1, 40, 0,200, 0,104, 0,112, 0,168, 0, + 32, 0, 80, 0, 56, 0, 80, 0, 64, 0,104, 0, 72, 0, 64, 0,128, 0, 0, 0, 0, 0, 0, 0, 83, 84, 82, 67,157, 1, 0, 0, + 10, 0, 2, 0, 10, 0, 0, 0, 10, 0, 1, 0, 11, 0, 3, 0, 11, 0, 0, 0, 11, 0, 1, 0, 9, 0, 2, 0, 12, 0, 2, 0, + 9, 0, 3, 0, 9, 0, 4, 0, 13, 0, 2, 0, 2, 0, 5, 0, 2, 0, 6, 0, 14, 0, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0, + 15, 0, 4, 0, 4, 0, 7, 0, 4, 0, 8, 0, 4, 0, 9, 0, 4, 0, 10, 0, 16, 0, 4, 0, 7, 0, 7, 0, 7, 0, 8, 0, + 7, 0, 9, 0, 7, 0, 10, 0, 17, 0, 4, 0, 9, 0, 11, 0, 12, 0, 12, 0, 4, 0, 13, 0, 4, 0, 14, 0, 18, 0, 10, 0, + 18, 0, 0, 0, 18, 0, 1, 0, 0, 0, 15, 0, 0, 0, 16, 0, 2, 0, 17, 0, 0, 0, 18, 0, 4, 0, 19, 0, 17, 0, 20, 0, + 4, 0, 21, 0, 4, 0, 22, 0, 19, 0, 9, 0, 9, 0, 0, 0, 9, 0, 1, 0, 19, 0, 23, 0, 20, 0, 24, 0, 0, 0, 25, 0, + 2, 0, 26, 0, 2, 0, 17, 0, 4, 0, 27, 0, 18, 0, 28, 0, 20, 0, 8, 0, 19, 0, 29, 0, 19, 0, 30, 0, 21, 0, 31, 0, + 0, 0, 32, 0, 0, 0, 33, 0, 4, 0, 34, 0, 4, 0, 35, 0, 20, 0, 36, 0, 22, 0, 5, 0, 4, 0, 37, 0, 4, 0, 38, 0, + 2, 0, 39, 0, 2, 0, 40, 0, 4, 0, 41, 0, 23, 0, 6, 0, 24, 0, 42, 0, 2, 0, 43, 0, 2, 0, 44, 0, 2, 0, 15, 0, + 2, 0, 17, 0, 0, 0, 45, 0, 25, 0, 21, 0, 25, 0, 0, 0, 25, 0, 1, 0, 26, 0, 46, 0, 27, 0, 47, 0, 16, 0, 48, 0, + 16, 0, 49, 0, 2, 0, 43, 0, 2, 0, 44, 0, 2, 0, 50, 0, 2, 0, 51, 0, 2, 0, 52, 0, 2, 0, 53, 0, 2, 0, 17, 0, + 2, 0, 54, 0, 7, 0, 9, 0, 7, 0, 10, 0, 4, 0, 55, 0, 7, 0, 56, 0, 7, 0, 57, 0, 7, 0, 58, 0, 23, 0, 59, 0, + 28, 0, 7, 0, 19, 0, 29, 0, 12, 0, 60, 0, 16, 0, 61, 0, 2, 0, 43, 0, 2, 0, 62, 0, 2, 0, 63, 0, 2, 0, 35, 0, + 29, 0, 16, 0, 29, 0, 0, 0, 29, 0, 1, 0, 7, 0, 64, 0, 7, 0, 58, 0, 2, 0, 15, 0, 2, 0, 44, 0, 2, 0, 65, 0, + 2, 0, 17, 0, 4, 0, 66, 0, 4, 0, 67, 0, 9, 0, 2, 0, 7, 0, 68, 0, 0, 0, 18, 0, 0, 0, 69, 0, 7, 0, 70, 0, + 7, 0, 71, 0, 30, 0, 13, 0, 19, 0, 29, 0, 31, 0, 72, 0, 29, 0, 73, 0, 0, 0, 74, 0, 4, 0, 75, 0, 7, 0, 58, 0, + 12, 0, 76, 0, 28, 0, 77, 0, 19, 0, 78, 0, 2, 0, 15, 0, 2, 0, 79, 0, 2, 0, 80, 0, 2, 0, 17, 0, 32, 0, 6, 0, + 32, 0, 0, 0, 32, 0, 1, 0, 0, 0, 81, 0, 0, 0, 82, 0, 4, 0, 21, 0, 4, 0, 83, 0, 33, 0, 10, 0, 33, 0, 0, 0, + 33, 0, 1, 0, 4, 0, 84, 0, 4, 0, 85, 0, 4, 0, 86, 0, 4, 0, 87, 0, 4, 0, 12, 0, 4, 0, 88, 0, 0, 0, 89, 0, + 0, 0, 90, 0, 34, 0, 15, 0, 19, 0, 29, 0, 0, 0, 91, 0, 4, 0, 88, 0, 4, 0, 92, 0, 12, 0, 93, 0, 32, 0, 94, 0, + 32, 0, 95, 0, 4, 0, 96, 0, 4, 0, 97, 0, 12, 0, 98, 0, 0, 0, 99, 0, 4, 0,100, 0, 4, 0,101, 0, 9, 0,102, 0, + 8, 0,103, 0, 35, 0, 3, 0, 4, 0,104, 0, 4, 0,105, 0, 9, 0, 2, 0, 36, 0, 15, 0, 19, 0, 29, 0, 31, 0, 72, 0, + 2, 0, 15, 0, 2, 0, 17, 0, 7, 0,106, 0, 7, 0,107, 0, 7, 0,108, 0, 7, 0,109, 0, 7, 0,110, 0, 7, 0,111, 0, + 7, 0,112, 0, 7, 0,113, 0, 7, 0,114, 0, 28, 0, 77, 0, 24, 0,115, 0, 37, 0, 14, 0, 38, 0,116, 0, 4, 0,117, 0, + 4, 0,118, 0, 4, 0,119, 0, 4, 0,120, 0, 0, 0,121, 0, 0, 0,122, 0, 0, 0,123, 0, 0, 0, 35, 0, 2, 0,124, 0, + 2, 0,125, 0, 2, 0,126, 0, 2, 0, 17, 0, 4, 0, 67, 0, 39, 0, 32, 0, 19, 0, 29, 0, 0, 0, 32, 0, 12, 0,127, 0, + 40, 0,128, 0, 41, 0,129, 0, 42, 0,130, 0, 42, 0,131, 0, 2, 0,132, 0, 2, 0,133, 0, 2, 0,123, 0, 2, 0, 17, 0, + 2, 0,134, 0, 2, 0, 15, 0, 4, 0,135, 0, 2, 0,136, 0, 2, 0,137, 0, 2, 0,138, 0, 2, 0,139, 0, 2, 0,140, 0, + 2, 0,141, 0, 4, 0,142, 0, 4, 0,143, 0, 35, 0,144, 0, 22, 0,145, 0, 7, 0,146, 0, 4, 0,147, 0, 2, 0,148, 0, + 2, 0,149, 0, 2, 0,150, 0, 2, 0,151, 0, 7, 0,152, 0, 7, 0,153, 0, 43, 0, 65, 0, 2, 0,154, 0, 2, 0,155, 0, + 2, 0,156, 0, 2, 0,157, 0, 24, 0,158, 0, 44, 0,159, 0, 0, 0,160, 0, 0, 0,161, 0, 0, 0,162, 0, 0, 0,163, 0, + 0, 0,164, 0, 7, 0,165, 0, 7, 0,166, 0, 7, 0,167, 0, 2, 0,168, 0, 2, 0,169, 0, 2, 0,170, 0, 2, 0,171, 0, + 2, 0,172, 0, 2, 0,173, 0, 0, 0,174, 0, 0, 0,175, 0, 7, 0,176, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, + 7, 0,180, 0, 7, 0, 54, 0, 7, 0,181, 0, 7, 0,182, 0, 7, 0,183, 0, 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, + 7, 0,187, 0, 7, 0,188, 0, 7, 0,189, 0, 7, 0,190, 0, 7, 0,191, 0, 7, 0,192, 0, 7, 0,193, 0, 7, 0,194, 0, + 7, 0,195, 0, 7, 0,196, 0, 7, 0,197, 0, 7, 0,198, 0, 7, 0,199, 0, 7, 0,200, 0, 7, 0,201, 0, 7, 0,202, 0, + 7, 0,203, 0, 7, 0,204, 0, 7, 0,205, 0, 7, 0,206, 0, 7, 0,207, 0, 7, 0,208, 0, 7, 0,209, 0, 7, 0,210, 0, + 7, 0,211, 0, 7, 0,212, 0, 7, 0,213, 0, 7, 0,214, 0, 7, 0,215, 0, 7, 0,216, 0, 7, 0,217, 0, 45, 0, 15, 0, + 0, 0,218, 0, 9, 0,219, 0, 0, 0,220, 0, 0, 0,221, 0, 4, 0,222, 0, 4, 0,223, 0, 9, 0,224, 0, 7, 0,225, 0, + 7, 0,226, 0, 7, 0,227, 0, 4, 0,228, 0, 9, 0,229, 0, 9, 0,230, 0, 4, 0,231, 0, 4, 0, 35, 0, 46, 0, 6, 0, + 7, 0,176, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 0,232, 0, 7, 0, 64, 0, 4, 0, 61, 0, 47, 0, 5, 0, 2, 0, 17, 0, + 2, 0, 34, 0, 2, 0, 61, 0, 2, 0,233, 0, 46, 0,227, 0, 48, 0, 17, 0, 24, 0,158, 0, 39, 0,234, 0, 49, 0,235, 0, + 7, 0,236, 0, 7, 0,237, 0, 2, 0, 15, 0, 2, 0,238, 0, 7, 0,107, 0, 7, 0,108, 0, 7, 0,239, 0, 4, 0,240, 0, + 2, 0,241, 0, 2, 0,242, 0, 4, 0,123, 0, 4, 0,135, 0, 2, 0,243, 0, 2, 0,244, 0, 50, 0, 22, 0, 2, 0, 17, 0, + 2, 0,245, 0, 7, 0,246, 0, 7, 0,247, 0, 2, 0,134, 0, 2, 0,248, 0, 4, 0,249, 0, 4, 0,250, 0, 24, 0,158, 0, + 4, 0,251, 0, 2, 0,252, 0, 2, 0,253, 0, 9, 0,254, 0, 7, 0,255, 0, 7, 0, 0, 1, 2, 0, 1, 1, 2, 0, 2, 1, + 2, 0, 3, 1, 2, 0, 4, 1, 7, 0, 5, 1, 7, 0, 6, 1, 47, 0, 7, 1, 51, 0, 13, 0, 4, 0, 8, 1, 4, 0, 9, 1, + 2, 0, 10, 1, 2, 0, 17, 0, 2, 0, 11, 1, 2, 0, 12, 1, 24, 0,158, 0, 7, 0, 13, 1, 4, 0, 14, 1, 0, 0, 15, 1, + 7, 0, 16, 1, 4, 0, 17, 1, 4, 0,123, 0, 44, 0, 63, 0, 19, 0, 29, 0, 31, 0, 72, 0, 7, 0, 18, 1, 7, 0, 19, 1, + 7, 0, 20, 1, 7, 0, 21, 1, 7, 0, 22, 1, 7, 0, 23, 1, 7, 0, 24, 1, 7, 0, 25, 1, 7, 0, 26, 1, 7, 0, 67, 0, + 7, 0, 27, 1, 7, 0, 28, 1, 7, 0, 29, 1, 7, 0, 30, 1, 7, 0, 31, 1, 7, 0, 32, 1, 7, 0, 33, 1, 7, 0, 34, 1, + 7, 0, 35, 1, 7, 0, 36, 1, 7, 0, 37, 1, 7, 0, 38, 1, 2, 0, 39, 1, 2, 0, 40, 1, 2, 0, 41, 1, 2, 0, 42, 1, + 2, 0, 43, 1, 2, 0, 44, 1, 2, 0, 45, 1, 2, 0, 17, 0, 2, 0, 15, 0, 2, 0,238, 0, 7, 0, 46, 1, 7, 0, 47, 1, + 7, 0, 48, 1, 7, 0, 49, 1, 4, 0, 50, 1, 4, 0, 51, 1, 2, 0, 52, 1, 2, 0, 53, 1, 2, 0, 11, 1, 2, 0,121, 0, + 4, 0, 21, 0, 4, 0,118, 0, 4, 0,119, 0, 4, 0,120, 0, 7, 0, 54, 1, 7, 0, 55, 1, 7, 0, 87, 0, 37, 0, 56, 1, + 52, 0, 57, 1, 28, 0, 77, 0, 39, 0,234, 0, 45, 0, 58, 1, 47, 0, 7, 1, 48, 0, 59, 1, 22, 0,145, 0, 50, 0, 60, 1, + 51, 0, 61, 1, 0, 0, 62, 1, 0, 0,175, 0, 53, 0, 8, 0, 7, 0, 63, 1, 7, 0, 64, 1, 7, 0,166, 0, 4, 0, 17, 0, + 7, 0, 65, 1, 7, 0, 66, 1, 7, 0, 67, 1, 24, 0, 42, 0, 54, 0, 74, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0, 15, 0, + 2, 0, 17, 0, 4, 0, 68, 1, 2, 0,169, 0, 2, 0, 69, 1, 7, 0,176, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, + 7, 0, 70, 1, 7, 0, 71, 1, 7, 0, 72, 1, 7, 0, 73, 1, 7, 0, 74, 1, 7, 0, 75, 1, 7, 0, 76, 1, 7, 0, 77, 1, + 7, 0, 78, 1, 7, 0, 79, 1, 7, 0, 80, 1, 55, 0, 81, 1, 2, 0,245, 0, 2, 0, 67, 0, 7, 0,107, 0, 7, 0,108, 0, + 7, 0, 82, 1, 7, 0, 83, 1, 7, 0, 84, 1, 7, 0, 85, 1, 7, 0, 86, 1, 2, 0, 87, 1, 2, 0, 88, 1, 2, 0, 89, 1, + 2, 0, 90, 1, 0, 0, 91, 1, 0, 0, 92, 1, 2, 0, 93, 1, 2, 0, 94, 1, 2, 0, 95, 1, 2, 0, 96, 1, 2, 0, 97, 1, + 7, 0, 98, 1, 7, 0, 99, 1, 7, 0,100, 1, 7, 0,101, 1, 2, 0,102, 1, 2, 0, 87, 0, 2, 0,103, 1, 2, 0,104, 1, + 2, 0,105, 1, 2, 0,106, 1, 7, 0,107, 1, 7, 0,108, 1, 7, 0,109, 1, 7, 0,110, 1, 7, 0,111, 1, 7, 0,112, 1, + 7, 0,113, 1, 7, 0,114, 1, 7, 0,115, 1, 7, 0,116, 1, 7, 0,117, 1, 7, 0,118, 1, 2, 0,119, 1, 0, 0,120, 1, + 28, 0, 77, 0, 43, 0,121, 1, 2, 0,122, 1, 2, 0, 62, 1, 0, 0,123, 1, 22, 0,145, 0, 52, 0, 57, 1, 56, 0, 18, 0, + 7, 0,124, 1, 7, 0,125, 1, 7, 0,126, 1, 7, 0,127, 1, 7, 0,128, 1, 7, 0,129, 1, 7, 0,130, 1, 7, 0,131, 1, + 7, 0,132, 1, 7, 0,133, 1, 2, 0,134, 1, 2, 0,135, 1, 2, 0,136, 1, 2, 0,137, 1, 7, 0,138, 1, 7, 0,139, 1, + 7, 0,140, 1, 7, 0,141, 1, 57, 0,125, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0,142, 1, 2, 0, 17, 0, 7, 0,176, 0, + 7, 0,177, 0, 7, 0,178, 0, 7, 0,143, 1, 7, 0,144, 1, 7, 0,145, 1, 7, 0,146, 1, 7, 0,147, 1, 7, 0,148, 1, + 7, 0,149, 1, 7, 0,150, 1, 7, 0,151, 1, 7, 0,152, 1, 7, 0,153, 1, 7, 0,154, 1, 7, 0,155, 1, 7, 0,156, 1, + 7, 0,157, 1, 7, 0,158, 1, 7, 0,159, 1, 7, 0,160, 1, 7, 0,161, 1, 7, 0,162, 1, 56, 0,163, 1, 7, 0,164, 1, + 7, 0,165, 1, 7, 0,166, 1, 7, 0,167, 1, 7, 0,168, 1, 7, 0,169, 1, 7, 0,170, 1, 2, 0,171, 1, 2, 0,172, 1, + 2, 0,173, 1, 0, 0,174, 1, 0, 0,175, 1, 7, 0,176, 1, 7, 0,177, 1, 2, 0,178, 1, 2, 0,179, 1, 7, 0,180, 1, + 7, 0,181, 1, 7, 0,182, 1, 7, 0,183, 1, 2, 0,184, 1, 2, 0,185, 1, 4, 0, 68, 1, 4, 0,186, 1, 2, 0,187, 1, + 2, 0,188, 1, 2, 0,189, 1, 2, 0,190, 1, 7, 0,191, 1, 7, 0,192, 1, 7, 0,193, 1, 7, 0,194, 1, 7, 0,195, 1, + 7, 0,196, 1, 7, 0,197, 1, 7, 0,198, 1, 7, 0,199, 1, 7, 0,200, 1, 0, 0,201, 1, 7, 0,202, 1, 7, 0,203, 1, + 7, 0,204, 1, 4, 0,205, 1, 0, 0,206, 1, 0, 0,103, 1, 0, 0,207, 1, 0, 0, 62, 1, 2, 0,208, 1, 2, 0,209, 1, + 2, 0,122, 1, 2, 0,210, 1, 2, 0,211, 1, 2, 0,212, 1, 7, 0,213, 1, 7, 0,214, 1, 7, 0,215, 1, 7, 0,216, 1, + 7, 0,217, 1, 2, 0,154, 0, 2, 0,155, 0, 47, 0,218, 1, 47, 0,219, 1, 0, 0,220, 1, 0, 0,221, 1, 0, 0,222, 1, + 0, 0,223, 1, 2, 0,224, 1, 2, 0,225, 1, 7, 0,226, 1, 7, 0,227, 1, 43, 0,121, 1, 52, 0, 57, 1, 28, 0, 77, 0, + 58, 0,228, 1, 22, 0,145, 0, 7, 0,229, 1, 7, 0,230, 1, 7, 0,231, 1, 7, 0,232, 1, 7, 0,233, 1, 2, 0,234, 1, + 2, 0, 67, 0, 7, 0,235, 1, 7, 0,236, 1, 7, 0,237, 1, 7, 0,238, 1, 7, 0,239, 1, 7, 0,240, 1, 7, 0,241, 1, + 7, 0,242, 1, 7, 0,243, 1, 2, 0,244, 1, 2, 0,245, 1, 4, 0,246, 1, 2, 0,247, 1, 2, 0, 35, 0, 12, 0,248, 1, + 59, 0, 4, 0, 19, 0, 29, 0, 0, 0,249, 1, 60, 0, 2, 0, 35, 0,144, 0, 61, 0, 26, 0, 61, 0, 0, 0, 61, 0, 1, 0, + 62, 0,250, 1, 4, 0,251, 1, 4, 0,252, 1, 4, 0,253, 1, 4, 0,254, 1, 4, 0,255, 1, 4, 0, 0, 2, 2, 0, 15, 0, + 2, 0, 17, 0, 2, 0, 1, 2, 2, 0, 2, 2, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 3, 2, 7, 0, 4, 2, 7, 0, 5, 2, + 7, 0, 6, 2, 7, 0, 7, 2, 7, 0, 8, 2, 7, 0, 9, 2, 7, 0, 10, 2, 7, 0, 21, 0, 7, 0, 11, 2, 7, 0, 12, 2, + 63, 0, 20, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 0,250, 1, 12, 0, 13, 2, 12, 0, 14, 2, 12, 0, 15, 2, 28, 0, 77, 0, + 57, 0, 16, 2, 0, 0, 17, 0, 0, 0, 17, 2, 2, 0, 18, 2, 2, 0,168, 0, 2, 0, 35, 0, 7, 0, 63, 1, 7, 0,166, 0, + 7, 0, 64, 1, 7, 0, 19, 2, 7, 0, 20, 2, 7, 0, 21, 2, 61, 0, 22, 2, 27, 0, 11, 0, 7, 0, 23, 2, 7, 0, 24, 2, + 7, 0, 25, 2, 7, 0,247, 0, 2, 0, 52, 0, 0, 0, 26, 2, 0, 0, 27, 2, 0, 0, 28, 2, 0, 0, 29, 2, 0, 0, 30, 2, + 0, 0, 31, 2, 26, 0, 7, 0, 7, 0, 32, 2, 7, 0, 24, 2, 7, 0, 25, 2, 2, 0, 28, 2, 2, 0, 31, 2, 7, 0,247, 0, + 7, 0, 35, 0, 64, 0, 21, 0, 64, 0, 0, 0, 64, 0, 1, 0, 2, 0, 15, 0, 2, 0, 33, 2, 2, 0, 31, 2, 2, 0, 17, 0, + 2, 0, 34, 2, 2, 0, 35, 2, 2, 0, 36, 2, 2, 0, 37, 2, 2, 0, 38, 2, 2, 0, 39, 2, 2, 0, 40, 2, 2, 0, 41, 2, + 7, 0, 42, 2, 7, 0, 43, 2, 26, 0, 46, 0, 27, 0, 47, 0, 2, 0, 44, 2, 2, 0, 45, 2, 4, 0, 46, 2, 65, 0, 5, 0, + 2, 0, 47, 2, 2, 0, 33, 2, 0, 0, 17, 0, 0, 0, 35, 0, 2, 0, 67, 0, 66, 0, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, + 7, 0, 48, 2, 7, 0, 49, 2, 67, 0, 4, 0, 12, 0, 50, 2, 68, 0, 51, 2, 4, 0, 52, 2, 0, 0, 90, 0, 69, 0, 68, 0, + 19, 0, 29, 0, 31, 0, 72, 0, 62, 0,250, 1, 12, 0, 53, 2, 12, 0, 14, 2, 67, 0, 54, 2, 24, 0, 55, 2, 24, 0, 56, 2, + 24, 0, 57, 2, 28, 0, 77, 0, 70, 0, 58, 2, 30, 0, 59, 2, 57, 0, 16, 2, 12, 0, 60, 2, 7, 0, 63, 1, 7, 0,166, 0, + 7, 0, 64, 1, 2, 0,168, 0, 2, 0, 87, 0, 2, 0, 61, 2, 2, 0, 62, 2, 7, 0, 63, 2, 7, 0, 64, 2, 4, 0, 65, 2, + 2, 0, 35, 0, 2, 0, 18, 2, 2, 0, 17, 0, 2, 0, 66, 2, 7, 0, 67, 2, 7, 0, 68, 2, 7, 0, 69, 2, 2, 0, 36, 2, + 2, 0, 37, 2, 2, 0, 70, 2, 2, 0, 71, 2, 4, 0, 72, 2, 9, 0, 73, 2, 2, 0, 21, 0, 2, 0, 93, 0, 2, 0, 64, 0, + 2, 0, 74, 2, 7, 0, 75, 2, 7, 0, 76, 2, 7, 0, 77, 2, 7, 0, 78, 2, 7, 0, 79, 2, 7, 0, 80, 2, 7, 0, 81, 2, + 7, 0, 82, 2, 7, 0, 83, 2, 7, 0, 84, 2, 0, 0, 85, 2, 71, 0, 86, 2, 72, 0, 87, 2, 0, 0, 88, 2, 59, 0, 89, 2, + 59, 0, 90, 2, 59, 0, 91, 2, 59, 0, 92, 2, 4, 0, 93, 2, 7, 0, 94, 2, 4, 0, 95, 2, 4, 0, 96, 2, 66, 0, 97, 2, + 4, 0, 98, 2, 4, 0, 99, 2, 65, 0,100, 2, 65, 0,101, 2, 73, 0, 41, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 0,250, 1, + 12, 0,102, 2, 28, 0, 77, 0, 30, 0, 59, 2, 57, 0, 16, 2, 74, 0,103, 2, 75, 0,104, 2, 76, 0,105, 2, 77, 0,106, 2, + 78, 0,107, 2, 79, 0,108, 2, 80, 0,109, 2, 81, 0,110, 2, 73, 0,111, 2, 82, 0,112, 2, 83, 0,113, 2, 84, 0,114, 2, + 84, 0,115, 2, 84, 0,116, 2, 4, 0, 51, 0, 4, 0,117, 2, 4, 0,118, 2, 4, 0,119, 2, 4, 0,120, 2, 2, 0,168, 0, + 2, 0,121, 2, 7, 0, 63, 1, 7, 0,166, 0, 7, 0, 64, 1, 7, 0,122, 2, 4, 0, 61, 2, 2, 0,123, 2, 2, 0, 17, 0, + 2, 0,124, 2, 2, 0,125, 2, 2, 0, 18, 2, 2, 0,126, 2, 85, 0,127, 2, 86, 0,128, 2, 76, 0, 8, 0, 9, 0,129, 2, + 7, 0,130, 2, 4, 0,131, 2, 0, 0, 17, 0, 0, 0,132, 2, 2, 0, 68, 1, 2, 0,133, 2, 2, 0,134, 2, 74, 0, 7, 0, + 4, 0,135, 2, 4, 0,136, 2, 4, 0,137, 2, 4, 0,138, 2, 2, 0, 33, 2, 0, 0,139, 2, 0, 0, 17, 0, 78, 0, 5, 0, + 4, 0,135, 2, 4, 0,136, 2, 0, 0,140, 2, 0, 0,141, 2, 2, 0, 17, 0, 87, 0, 2, 0, 4, 0,142, 2, 7, 0, 25, 2, + 79, 0, 3, 0, 87, 0,143, 2, 4, 0,144, 2, 4, 0, 17, 0, 77, 0, 4, 0, 7, 0,145, 2, 2, 0,146, 2, 0, 0, 17, 0, + 0, 0,141, 2, 80, 0, 4, 0, 0, 0,232, 0, 0, 0,176, 0, 0, 0,177, 0, 0, 0,178, 0, 88, 0, 6, 0, 39, 0,129, 2, + 0, 0, 17, 0, 0, 0,132, 2, 2, 0, 68, 1, 2, 0,133, 2, 2, 0,134, 2, 89, 0, 1, 0, 7, 0,147, 2, 90, 0, 5, 0, + 0, 0,232, 0, 0, 0,176, 0, 0, 0,177, 0, 0, 0,178, 0, 4, 0, 35, 0, 81, 0, 1, 0, 7, 0,148, 2, 82, 0, 2, 0, + 4, 0,149, 2, 4, 0, 15, 0, 75, 0, 7, 0, 7, 0,130, 2, 39, 0,129, 2, 0, 0, 17, 0, 0, 0,132, 2, 2, 0, 68, 1, + 2, 0,133, 2, 2, 0,134, 2, 91, 0, 1, 0, 7, 0,150, 2, 92, 0, 1, 0, 4, 0,151, 2, 93, 0, 1, 0, 0, 0,152, 2, + 94, 0, 1, 0, 7, 0,130, 2, 95, 0, 3, 0, 4, 0,153, 2, 0, 0, 90, 0, 7, 0,154, 2, 96, 0, 4, 0, 7, 0,232, 0, + 7, 0,176, 0, 7, 0,177, 0, 7, 0,178, 0, 97, 0, 1, 0, 96, 0,131, 2, 98, 0, 5, 0, 4, 0,155, 2, 4, 0,156, 2, + 0, 0, 17, 0, 0, 0, 33, 2, 0, 0,157, 2, 99, 0, 2, 0, 4, 0,158, 2, 4, 0,156, 2,100, 0, 10, 0,100, 0, 0, 0, +100, 0, 1, 0, 98, 0,159, 2, 97, 0,160, 2, 99, 0,161, 2, 4, 0, 51, 0, 4, 0,118, 2, 4, 0,117, 2, 4, 0, 35, 0, + 77, 0,162, 2, 85, 0, 14, 0, 12, 0,163, 2, 77, 0,162, 2, 0, 0,164, 2, 0, 0,165, 2, 0, 0,166, 2, 0, 0,167, 2, + 0, 0,168, 2, 0, 0,169, 2, 0, 0,170, 2, 0, 0, 17, 0, 84, 0,114, 2, 84, 0,116, 2, 2, 0,171, 2, 0, 0,172, 2, + 86, 0, 8, 0, 4, 0,173, 2, 4, 0,174, 2, 74, 0,175, 2, 78, 0,176, 2, 4, 0,118, 2, 4, 0,117, 2, 4, 0, 51, 0, + 4, 0, 35, 0,101, 0, 9, 0,101, 0, 0, 0,101, 0, 1, 0, 4, 0, 15, 0, 4, 0, 68, 1, 4, 0,177, 2, 4, 0, 35, 0, + 0, 0, 18, 0, 38, 0,116, 0, 0, 0,178, 2,102, 0, 7, 0,101, 0,179, 2, 2, 0,180, 2, 2, 0,163, 2, 2, 0,181, 2, + 2, 0, 88, 0, 9, 0,182, 2, 9, 0,183, 2,103, 0, 3, 0,101, 0,179, 2, 24, 0,158, 0, 0, 0, 18, 0,104, 0, 5, 0, +101, 0,179, 2, 24, 0,158, 0, 0, 0, 18, 0, 2, 0,184, 2, 0, 0,185, 2,105, 0, 5, 0,101, 0,179, 2, 7, 0, 85, 0, + 7, 0,186, 2, 4, 0,187, 2, 4, 0,188, 2,106, 0, 5, 0,101, 0,179, 2, 24, 0,189, 2, 0, 0, 69, 0, 4, 0, 68, 1, + 4, 0, 17, 0,107, 0, 13, 0,101, 0,179, 2, 24, 0,190, 2, 24, 0,191, 2, 24, 0,192, 2, 24, 0,193, 2, 7, 0,194, 2, + 7, 0,195, 2, 7, 0,186, 2, 7, 0,196, 2, 4, 0,197, 2, 4, 0,198, 2, 4, 0, 88, 0, 4, 0,199, 2,108, 0, 5, 0, +101, 0,179, 2, 2, 0,200, 2, 2, 0, 17, 0, 7, 0,201, 2, 24, 0,202, 2,109, 0, 3, 0,101, 0,179, 2, 7, 0,203, 2, + 4, 0, 88, 0,110, 0, 10, 0,101, 0,179, 2, 7, 0,204, 2, 4, 0,205, 2, 4, 0, 35, 0, 2, 0, 88, 0, 2, 0,206, 2, + 2, 0,207, 2, 2, 0,208, 2, 7, 0,209, 2, 0, 0,210, 2,111, 0, 3, 0,101, 0,179, 2, 7, 0, 35, 0, 4, 0, 15, 0, +112, 0, 6, 0,101, 0,179, 2,113, 0,211, 2,114, 0,212, 2,115, 0,213, 2, 7, 0,214, 2, 4, 0, 15, 0,116, 0, 11, 0, +101, 0,179, 2, 44, 0,215, 2, 7, 0,216, 2, 4, 0,217, 2, 0, 0,210, 2, 7, 0,218, 2, 4, 0,219, 2, 24, 0,220, 2, + 0, 0,221, 2, 4, 0,222, 2, 4, 0, 35, 0,117, 0, 12, 0,101, 0,179, 2, 24, 0,223, 2, 39, 0,224, 2, 4, 0, 88, 0, + 4, 0,225, 2, 7, 0,226, 2, 7, 0,227, 2, 7, 0,228, 2, 7, 0,229, 2, 0, 0,221, 2, 4, 0,222, 2, 4, 0, 35, 0, +118, 0, 3, 0,101, 0,179, 2, 7, 0,230, 2, 4, 0,231, 2,119, 0, 5, 0,101, 0,179, 2, 7, 0,232, 2, 0, 0,210, 2, + 2, 0, 17, 0, 2, 0,233, 2,120, 0, 8, 0,101, 0,179, 2, 24, 0,158, 0, 7, 0,232, 2, 7, 0,247, 0, 7, 0,104, 0, + 0, 0,210, 2, 2, 0, 17, 0, 2, 0, 15, 0,121, 0, 21, 0,101, 0,179, 2, 24, 0,234, 2, 0, 0,210, 2, 44, 0,215, 2, + 24, 0,220, 2, 2, 0, 17, 0, 2, 0, 35, 0, 7, 0,235, 2, 7, 0,236, 2, 7, 0,237, 2, 7, 0, 67, 2, 7, 0,238, 2, + 7, 0,239, 2, 7, 0,240, 2, 7, 0,241, 2, 4, 0,219, 2, 4, 0,222, 2, 0, 0,221, 2, 7, 0,242, 2, 7, 0,243, 2, + 7, 0, 87, 0,122, 0, 7, 0,101, 0,179, 2, 2, 0,244, 2, 2, 0,245, 2, 4, 0, 67, 0, 24, 0,158, 0, 7, 0,246, 2, + 0, 0,210, 2,123, 0, 10, 0,101, 0,179, 2, 24, 0,158, 0, 0, 0,247, 2, 7, 0,248, 2, 7, 0,249, 2, 7, 0,241, 2, + 4, 0,250, 2, 4, 0,251, 2, 7, 0,252, 2, 0, 0, 18, 0,124, 0, 1, 0,101, 0,179, 2,125, 0, 7, 0,101, 0,179, 2, + 38, 0,116, 0,126, 0,253, 2,127, 0,254, 2,128, 0,255, 2,129, 0, 0, 3, 12, 0, 1, 3,130, 0, 13, 0,101, 0,179, 2, + 77, 0, 2, 3, 77, 0, 3, 3, 77, 0, 4, 3, 77, 0, 5, 3, 77, 0, 6, 3, 77, 0, 7, 3, 74, 0, 8, 3, 4, 0, 9, 3, + 4, 0, 10, 3, 7, 0, 11, 3, 7, 0, 12, 3,131, 0, 13, 3,132, 0, 7, 0,101, 0,179, 2, 77, 0, 2, 3, 77, 0, 14, 3, +133, 0, 15, 3,134, 0, 13, 3, 4, 0, 16, 3, 4, 0, 9, 3,135, 0, 4, 0,101, 0,179, 2, 24, 0,158, 0, 4, 0, 17, 3, + 4, 0, 35, 0,136, 0, 2, 0, 4, 0, 18, 3, 7, 0, 25, 2,137, 0, 2, 0, 4, 0,119, 0, 4, 0, 19, 3,138, 0, 24, 0, +101, 0,179, 2, 24, 0,158, 0, 0, 0,210, 2, 2, 0, 20, 3, 2, 0, 17, 0, 2, 0, 68, 1, 2, 0, 35, 0,136, 0, 21, 3, + 4, 0, 22, 3, 7, 0, 23, 3, 4, 0, 51, 0, 4, 0, 24, 3,137, 0, 25, 3,136, 0, 26, 3, 4, 0, 27, 3, 4, 0, 28, 3, + 4, 0, 29, 3, 4, 0, 19, 3, 7, 0, 30, 3, 7, 0, 31, 3, 7, 0, 32, 3, 7, 0, 33, 3, 7, 0, 34, 3, 9, 0, 35, 3, +139, 0, 8, 0,101, 0,179, 2,140, 0, 36, 3,133, 0, 15, 3, 4, 0, 37, 3, 4, 0, 38, 3, 4, 0, 39, 3, 2, 0, 17, 0, + 2, 0, 54, 0,141, 0, 8, 0,101, 0,179, 2, 24, 0, 42, 0, 2, 0,251, 0, 2, 0, 17, 0, 2, 0,200, 2, 2, 0, 54, 0, + 7, 0, 40, 3, 7, 0, 41, 3,142, 0, 6, 0,101, 0,179, 2, 4, 0, 42, 3, 2, 0, 17, 0, 2, 0, 43, 3, 7, 0, 44, 3, + 0, 0,160, 0,143, 0, 8, 0,101, 0,179, 2, 0, 0, 45, 3, 0, 0, 46, 3, 0, 0,169, 2, 0, 0, 47, 3, 0, 0, 48, 3, + 0, 0, 88, 0, 0, 0,157, 2,144, 0, 3, 0,101, 0,179, 2,145, 0, 49, 3,129, 0, 0, 3,146, 0, 10, 0,101, 0,179, 2, + 24, 0, 50, 3, 24, 0, 51, 3, 0, 0, 52, 3, 7, 0, 53, 3, 2, 0, 54, 3, 2, 0, 55, 3, 0, 0, 56, 3, 0, 0, 57, 3, + 0, 0,185, 2,147, 0, 9, 0,101, 0,179, 2, 24, 0, 58, 3, 0, 0, 52, 3, 7, 0, 59, 3, 7, 0, 60, 3, 0, 0, 68, 1, + 0, 0,200, 2, 0, 0, 61, 3, 0, 0, 35, 0,148, 0, 1, 0,101, 0,179, 2,149, 0, 11, 0,101, 0,179, 2, 0, 0,210, 2, + 7, 0,119, 0, 7, 0, 62, 3, 7, 0, 63, 3, 7, 0, 64, 3, 7, 0, 65, 3, 4, 0, 17, 0, 2, 0, 66, 3, 2, 0, 67, 3, + 4, 0, 35, 0,150, 0, 9, 0,101, 0,179, 2, 24, 0, 68, 3, 4, 0, 69, 3, 4, 0, 70, 3, 4, 0, 71, 3, 7, 0, 72, 3, + 7, 0, 73, 3, 2, 0,200, 2, 2, 0, 17, 0,151, 0, 3, 0,152, 0, 74, 3, 4, 0, 52, 2, 0, 0, 90, 0,152, 0, 29, 0, + 19, 0, 29, 0, 31, 0, 72, 0, 2, 0, 34, 2, 2, 0, 35, 2, 2, 0, 75, 3, 2, 0, 17, 0, 2, 0, 76, 3, 2, 0, 77, 3, + 2, 0, 78, 3, 2, 0, 67, 0, 0, 0, 79, 3, 0, 0, 80, 3, 0, 0, 81, 3, 0, 0,225, 1, 4, 0, 35, 0, 7, 0, 82, 3, + 7, 0, 83, 3, 7, 0, 84, 3, 7, 0, 85, 3, 7, 0, 86, 3, 7, 0, 87, 3, 26, 0, 88, 3, 28, 0, 77, 0, 30, 0, 59, 2, + 79, 0,108, 2, 0, 0, 69, 0, 7, 0, 89, 3, 7, 0, 90, 3,151, 0, 91, 3,153, 0, 3, 0,153, 0, 0, 0,153, 0, 1, 0, + 0, 0, 18, 0, 62, 0, 3, 0, 7, 0, 92, 3, 4, 0, 17, 0, 4, 0, 35, 0, 24, 0,127, 0, 19, 0, 29, 0, 31, 0, 72, 0, +154, 0, 93, 3, 2, 0, 15, 0, 2, 0, 94, 3, 4, 0, 95, 3, 4, 0, 96, 3, 4, 0, 97, 3, 0, 0, 98, 3, 24, 0, 36, 0, + 24, 0, 99, 3, 24, 0,100, 3, 24, 0,101, 3, 24, 0,102, 3, 28, 0, 77, 0, 70, 0, 58, 2, 62, 0,250, 1,155, 0,103, 3, +155, 0,104, 3,156, 0,105, 3, 9, 0, 2, 0,157, 0,106, 3,158, 0,107, 3,159, 0,108, 3, 12, 0,109, 3, 12, 0,102, 2, + 12, 0, 14, 2, 12, 0,110, 3, 12, 0,111, 3, 4, 0, 68, 1, 4, 0,112, 3, 57, 0, 16, 2, 0, 0,113, 3, 4, 0, 18, 2, + 4, 0,114, 3, 7, 0, 63, 1, 7, 0,115, 3, 7, 0,116, 3, 7, 0,166, 0, 7, 0,117, 3, 7, 0, 64, 1, 7, 0,118, 3, + 7, 0, 4, 2, 7, 0,119, 3, 7, 0,120, 3, 7, 0,121, 3, 7, 0,122, 3, 7, 0,123, 3, 7, 0,124, 3, 7, 0,248, 2, + 7, 0,125, 3, 7, 0,236, 0, 7, 0,126, 3, 4, 0,127, 3, 2, 0, 17, 0, 2, 0,128, 3, 2, 0,129, 3, 2, 0,130, 3, + 2, 0,131, 3, 2, 0,132, 3, 2, 0,133, 3, 2, 0,134, 3, 2, 0,135, 3, 2, 0,136, 3, 2, 0,137, 3, 2, 0,138, 3, + 4, 0,139, 3, 4, 0,140, 3, 4, 0,141, 3, 4, 0,142, 3, 7, 0,143, 3, 7, 0, 94, 2, 7, 0,144, 3, 7, 0,145, 3, + 7, 0,146, 3, 7, 0,147, 3, 7, 0,148, 3, 7, 0,211, 0, 7, 0,149, 3, 7, 0,150, 3, 7, 0,151, 3, 7, 0,152, 3, + 2, 0,153, 3, 0, 0,154, 3, 0, 0,155, 3, 0, 0,156, 3, 0, 0,157, 3, 7, 0,158, 3, 7, 0,159, 3, 12, 0,160, 3, + 12, 0,161, 3, 12, 0,162, 3, 12, 0,163, 3, 7, 0,164, 3, 2, 0,149, 2, 2, 0,165, 3, 7, 0,131, 2, 4, 0,166, 3, + 4, 0,167, 3,160, 0,168, 3, 2, 0,169, 3, 2, 0,243, 0, 7, 0,170, 3, 12, 0,171, 3, 12, 0,172, 3, 12, 0,173, 3, + 12, 0,174, 3,161, 0, 60, 1,162, 0,175, 3, 58, 0,176, 3, 2, 0,177, 3, 2, 0,178, 3, 2, 0, 52, 2, 2, 0,179, 3, + 7, 0,123, 2, 2, 0,180, 3, 2, 0,181, 3,145, 0,182, 3,133, 0,183, 3,133, 0,184, 3, 4, 0,185, 3, 4, 0,186, 3, + 4, 0,187, 3, 4, 0, 67, 0, 12, 0,188, 3, 12, 0,189, 3, 12, 0,190, 3,163, 0, 14, 0,163, 0, 0, 0,163, 0, 1, 0, + 24, 0, 36, 0, 7, 0,248, 2, 7, 0, 65, 1, 7, 0,249, 2, 7, 0,241, 2, 0, 0, 18, 0, 4, 0,250, 2, 4, 0,251, 2, + 4, 0,191, 3, 2, 0, 15, 0, 2, 0,192, 3, 7, 0,252, 2,164, 0, 12, 0,164, 0, 0, 0,164, 0, 1, 0, 24, 0, 42, 0, + 4, 0,193, 3, 4, 0,149, 2, 4, 0,194, 3, 4, 0, 15, 0, 4, 0,195, 3, 7, 0, 65, 1, 7, 0,196, 3, 7, 0,197, 3, + 7, 0,147, 2,161, 0, 40, 0, 4, 0, 17, 0, 2, 0,198, 3, 2, 0,199, 3, 2, 0,241, 2, 2, 0,200, 3, 2, 0,201, 3, + 2, 0,202, 3, 2, 0,203, 3, 2, 0,204, 3, 7, 0,205, 3, 7, 0,206, 3, 7, 0,207, 3, 7, 0,208, 3, 7, 0,209, 3, + 7, 0,210, 3, 7, 0,211, 3, 7, 0,212, 3, 7, 0,213, 3, 7, 0,214, 3, 7, 0,215, 3, 7, 0,216, 3, 7, 0,217, 3, + 7, 0,218, 3, 7, 0,219, 3, 7, 0,220, 3, 7, 0,221, 3, 7, 0,222, 3, 7, 0,223, 3, 7, 0,224, 3, 7, 0,225, 3, + 7, 0,226, 3, 7, 0,227, 3, 7, 0,228, 3, 7, 0,229, 3, 7, 0,230, 3, 7, 0,231, 3, 44, 0,159, 0,165, 0,232, 3, + 7, 0,233, 3, 4, 0,188, 2,166, 0, 5, 0, 58, 0,228, 1, 7, 0,234, 3, 7, 0,235, 3, 2, 0, 17, 0, 2, 0,236, 3, +167, 0, 5, 0,167, 0, 0, 0,167, 0, 1, 0, 4, 0, 15, 0, 4, 0,237, 3, 9, 0, 2, 0,168, 0, 9, 0,168, 0, 0, 0, +168, 0, 1, 0, 4, 0,238, 3, 4, 0,239, 3, 4, 0,240, 3, 4, 0, 17, 0, 9, 0,241, 3, 9, 0,242, 3, 12, 0,243, 3, +129, 0, 21, 0,129, 0, 0, 0,129, 0, 1, 0, 4, 0, 17, 0, 4, 0,244, 3, 4, 0,245, 3, 4, 0,246, 3, 4, 0,247, 3, + 4, 0,248, 3, 4, 0,249, 3, 4, 0,239, 3, 4, 0,149, 2, 2, 0,250, 3, 2, 0, 54, 0, 0, 0,251, 3, 0, 0,252, 3, + 0, 0,253, 3, 0, 0,254, 3, 0, 0,255, 3, 12, 0, 0, 4,169, 0, 1, 4, 9, 0, 2, 4,170, 0, 1, 0, 7, 0, 32, 2, +160, 0, 30, 0, 4, 0, 17, 0, 7, 0, 3, 4, 7, 0, 4, 4, 7, 0, 5, 4, 4, 0, 6, 4, 4, 0, 7, 4, 4, 0, 8, 4, + 4, 0, 9, 4, 7, 0, 10, 4, 7, 0, 11, 4, 7, 0, 12, 4, 7, 0, 13, 4, 7, 0, 14, 4, 7, 0, 15, 4, 7, 0, 16, 4, + 7, 0, 17, 4, 7, 0, 18, 4, 7, 0, 19, 4, 7, 0, 20, 4, 7, 0, 21, 4, 7, 0, 22, 4, 7, 0, 23, 4, 7, 0, 24, 4, + 7, 0, 25, 4, 7, 0, 26, 4, 7, 0, 27, 4, 4, 0, 28, 4, 4, 0, 29, 4, 7, 0, 30, 4, 7, 0,149, 3,162, 0, 54, 0, + 4, 0,239, 3, 4, 0, 31, 4,171, 0, 32, 4,172, 0, 33, 4, 0, 0, 35, 0, 0, 0, 34, 4, 2, 0, 35, 4, 7, 0, 36, 4, + 0, 0, 37, 4, 7, 0, 38, 4, 7, 0, 39, 4, 7, 0, 40, 4, 7, 0, 41, 4, 7, 0, 42, 4, 7, 0, 43, 4, 7, 0, 44, 4, + 7, 0, 45, 4, 7, 0, 46, 4, 2, 0, 47, 4, 0, 0, 48, 4, 2, 0, 49, 4, 7, 0, 50, 4, 7, 0, 51, 4, 0, 0, 52, 4, + 4, 0,120, 0, 4, 0, 53, 4, 4, 0, 54, 4, 2, 0, 55, 4, 2, 0, 56, 4,170, 0, 57, 4, 4, 0, 58, 4, 4, 0, 79, 0, + 7, 0, 59, 4, 7, 0, 60, 4, 7, 0, 61, 4, 7, 0, 62, 4, 2, 0, 63, 4, 2, 0, 64, 4, 2, 0, 65, 4, 2, 0, 66, 4, + 2, 0, 67, 4, 2, 0, 68, 4, 2, 0, 69, 4, 2, 0, 70, 4,173, 0, 71, 4, 7, 0, 72, 4, 7, 0, 73, 4,129, 0, 74, 4, + 12, 0, 1, 3,166, 0, 75, 4, 7, 0, 76, 4, 7, 0, 77, 4, 7, 0, 78, 4, 0, 0, 79, 4,145, 0, 51, 0,144, 0, 80, 4, + 2, 0, 15, 0, 2, 0, 81, 4, 2, 0, 82, 4, 2, 0, 83, 4, 7, 0, 84, 4, 2, 0, 85, 4, 2, 0, 86, 4, 7, 0, 87, 4, + 2, 0, 88, 4, 2, 0, 89, 4, 7, 0, 90, 4, 7, 0, 91, 4, 7, 0, 92, 4, 7, 0, 93, 4, 7, 0, 94, 4, 4, 0, 95, 4, + 4, 0, 96, 4, 7, 0, 97, 4, 4, 0, 98, 4, 7, 0, 99, 4, 7, 0,100, 4, 7, 0,101, 4, 73, 0,102, 4, 73, 0,103, 4, + 73, 0,104, 4, 0, 0,105, 4, 7, 0,106, 4, 7, 0,107, 4, 28, 0, 77, 0, 2, 0,108, 4, 0, 0,109, 4, 0, 0,110, 4, + 7, 0,111, 4, 4, 0,112, 4, 7, 0,113, 4, 7, 0,114, 4, 4, 0,115, 4, 4, 0, 17, 0, 7, 0,116, 4, 7, 0,117, 4, + 7, 0,118, 4, 77, 0,119, 4, 7, 0,120, 4, 7, 0,121, 4, 7, 0,122, 4, 7, 0,123, 4, 7, 0,124, 4, 7, 0,125, 4, + 7, 0,126, 4, 4, 0,127, 4,174, 0, 78, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0,169, 0, 2, 0, 69, 1, 2, 0,103, 1, + 2, 0,128, 4, 7, 0,129, 4, 7, 0,130, 4, 7, 0,131, 4, 7, 0,132, 4, 7, 0,133, 4, 7, 0,134, 4, 7, 0,149, 1, + 7, 0,151, 1, 7, 0,150, 1, 7, 0, 67, 0, 4, 0,135, 4, 7, 0,136, 4, 7, 0,137, 4, 7, 0,138, 4, 7, 0,139, 4, + 7, 0,140, 4, 7, 0,141, 4, 7, 0,142, 4, 2, 0,143, 4, 2, 0, 68, 1, 2, 0,144, 4, 2, 0,145, 4, 2, 0,146, 4, + 2, 0,147, 4, 2, 0,148, 4, 2, 0,149, 4, 7, 0,150, 4, 7, 0,151, 4, 7, 0,152, 4, 7, 0,153, 4, 7, 0,154, 4, + 7, 0,155, 4, 7, 0,156, 4, 7, 0,157, 4, 7, 0,158, 4, 7, 0,159, 4, 7, 0,160, 4, 7, 0,161, 4, 2, 0,162, 4, + 2, 0,163, 4, 2, 0,164, 4, 2, 0,165, 4, 7, 0,166, 4, 7, 0,167, 4, 7, 0,168, 4, 7, 0,169, 4, 2, 0,170, 4, + 2, 0,171, 4, 2, 0,172, 4, 2, 0,173, 4, 7, 0,174, 4, 7, 0,175, 4, 7, 0,176, 4, 7, 0,177, 4, 7, 0,178, 4, + 7, 0,179, 4, 7, 0,180, 4, 2, 0,181, 4, 2, 0,182, 4, 2, 0,183, 4, 2, 0,184, 4, 2, 0,185, 4, 2, 0, 17, 0, + 7, 0,186, 4, 7, 0,187, 4, 28, 0, 77, 0, 43, 0,121, 1, 2, 0,122, 1, 2, 0, 62, 1, 2, 0,157, 2, 22, 0,145, 0, + 52, 0, 57, 1,175, 0, 8, 0,175, 0, 0, 0,175, 0, 1, 0, 4, 0,127, 3, 4, 0,188, 4, 4, 0, 17, 0, 2, 0,189, 4, + 2, 0,190, 4, 24, 0,158, 0,176, 0, 13, 0, 9, 0,191, 4, 9, 0,192, 4, 4, 0,193, 4, 4, 0,194, 4, 4, 0,195, 4, + 4, 0,196, 4, 4, 0,197, 4, 4, 0,198, 4, 4, 0,199, 4, 4, 0,200, 4, 4, 0,201, 4, 4, 0, 35, 0, 0, 0,202, 4, +177, 0, 5, 0, 9, 0,203, 4, 9, 0,204, 4, 4, 0,205, 4, 4, 0, 67, 0, 0, 0,206, 4,178, 0, 17, 0, 4, 0,207, 4, + 4, 0,208, 4, 4, 0,209, 4, 4, 0,210, 4, 4, 0,211, 4, 4, 0,212, 4, 4, 0,213, 4, 4, 0,214, 4, 4, 0,215, 4, + 4, 0,216, 4, 4, 0,217, 4, 4, 0,218, 4, 2, 0,219, 4, 2, 0,220, 4, 4, 0,221, 4, 4, 0,222, 4, 4, 0, 87, 0, +179, 0, 15, 0, 4, 0, 15, 0, 4, 0,209, 4, 4, 0,223, 4, 4, 0,224, 4, 4, 0,225, 4, 4, 0,226, 4, 7, 0,227, 4, + 4, 0,228, 4, 4, 0, 88, 0, 4, 0,229, 4, 4, 0,230, 4, 4, 0,231, 4, 4, 0,232, 4, 4, 0,233, 4, 18, 0, 28, 0, +180, 0, 7, 0, 4, 0,234, 4, 7, 0,235, 4, 7, 0,236, 4, 7, 0,237, 4, 4, 0,238, 4, 2, 0, 17, 0, 2, 0, 35, 0, +181, 0, 11, 0,181, 0, 0, 0,181, 0, 1, 0, 0, 0, 18, 0, 57, 0,239, 4, 58, 0,240, 4, 4, 0,127, 3, 4, 0,241, 4, + 4, 0,242, 4, 4, 0, 35, 0, 4, 0,243, 4, 4, 0,244, 4,182, 0,110, 0,176, 0,245, 4,177, 0,246, 4,178, 0,247, 4, +179, 0,248, 4, 4, 0, 16, 3, 4, 0,120, 0, 4, 0, 53, 4, 7, 0,249, 4, 4, 0,250, 4, 4, 0,251, 4, 4, 0,252, 4, + 4, 0,253, 4, 2, 0, 17, 0, 2, 0,254, 4, 7, 0,255, 4, 7, 0, 0, 5, 7, 0, 1, 5, 7, 0, 2, 5, 7, 0, 3, 5, + 2, 0, 4, 5, 2, 0, 5, 5, 2, 0, 6, 5, 2, 0, 7, 5, 2, 0,242, 0, 2, 0, 8, 5, 4, 0, 9, 5, 2, 0, 10, 5, + 2, 0, 11, 5, 2, 0, 90, 1, 2, 0,104, 0, 2, 0, 12, 5, 2, 0, 13, 5, 2, 0, 14, 5, 2, 0, 15, 5, 2, 0, 16, 5, + 2, 0, 17, 5, 2, 0, 18, 5, 2, 0, 19, 5, 2, 0, 20, 5, 2, 0, 91, 1, 2, 0, 21, 5, 2, 0, 22, 5, 2, 0, 23, 5, + 2, 0, 24, 5, 4, 0, 25, 5, 4, 0, 68, 1, 4, 0, 26, 5, 2, 0, 27, 5, 2, 0, 28, 5, 2, 0, 29, 5, 2, 0, 30, 5, + 2, 0, 31, 5, 2, 0, 32, 5, 2, 0, 33, 5, 2, 0, 34, 5, 16, 0, 35, 5, 16, 0, 36, 5, 15, 0, 37, 5, 12, 0, 38, 5, + 2, 0, 39, 5, 2, 0, 40, 5, 7, 0, 41, 5, 7, 0, 42, 5, 7, 0, 43, 5, 7, 0, 44, 5, 4, 0, 45, 5, 7, 0, 46, 5, + 7, 0, 47, 5, 7, 0, 48, 5, 7, 0, 49, 5, 2, 0, 50, 5, 2, 0, 51, 5, 2, 0, 52, 5, 2, 0, 53, 5, 2, 0, 54, 5, + 2, 0, 55, 5, 7, 0, 56, 5, 7, 0, 57, 5, 7, 0, 58, 5, 0, 0, 59, 5, 0, 0, 60, 5, 4, 0, 61, 5, 2, 0, 62, 5, + 2, 0,225, 1, 0, 0, 63, 5, 7, 0, 64, 5, 7, 0, 65, 5, 0, 0, 66, 5, 0, 0, 67, 5, 0, 0, 68, 5, 0, 0, 69, 5, + 4, 0, 70, 5, 2, 0, 71, 5, 2, 0, 72, 5, 7, 0, 73, 5, 7, 0, 74, 5, 2, 0, 75, 5, 2, 0, 76, 5, 7, 0, 77, 5, + 2, 0, 78, 5, 2, 0, 79, 5, 4, 0, 80, 5, 2, 0, 81, 5, 2, 0, 82, 5, 2, 0, 83, 5, 2, 0, 84, 5, 7, 0, 85, 5, + 7, 0, 67, 0, 34, 0, 86, 5, 0, 0, 87, 5,183, 0, 9, 0,183, 0, 0, 0,183, 0, 1, 0, 0, 0, 18, 0, 2, 0, 88, 5, + 2, 0, 89, 5, 2, 0, 90, 5, 2, 0, 87, 0, 7, 0, 91, 5, 7, 0, 67, 0,184, 0, 7, 0, 2, 0,205, 2, 2, 0, 68, 1, + 2, 0, 73, 3, 2, 0, 92, 5, 7, 0, 93, 5, 7, 0, 67, 0, 34, 0, 94, 5,185, 0, 5, 0, 7, 0, 95, 5, 0, 0, 15, 0, + 0, 0, 87, 0, 0, 0, 67, 0, 0, 0,225, 1,186, 0, 28, 0, 7, 0,141, 4, 7, 0,142, 4, 2, 0, 68, 1, 2, 0, 17, 0, + 2, 0, 96, 5, 2, 0, 97, 5, 2, 0,144, 4, 2, 0,145, 4, 2, 0,146, 4, 2, 0,147, 4, 2, 0,148, 4, 2, 0,149, 4, +185, 0, 98, 5, 2, 0, 4, 5, 2, 0, 5, 5, 2, 0, 6, 5, 2, 0, 7, 5, 2, 0,242, 0, 2, 0, 8, 5, 2, 0, 99, 5, + 2, 0,100, 5,184, 0,101, 5, 2, 0,102, 5, 2, 0, 10, 5, 2, 0, 13, 5, 2, 0, 14, 5, 7, 0,103, 5, 7, 0, 87, 0, +187, 0, 6, 0,187, 0, 0, 0,187, 0, 1, 0, 4, 0,238, 3, 0, 0,251, 3, 4, 0, 17, 0, 24, 0,104, 5,188, 0, 4, 0, +189, 0,105, 5, 9, 0,106, 5, 0, 0,107, 5, 4, 0, 88, 0,190, 0, 8, 0,188, 0,108, 5, 2, 0, 17, 0, 2, 0, 35, 0, + 2, 0,109, 5, 2, 0,110, 5, 2, 0,111, 5, 4, 0, 87, 0, 9, 0,112, 5,191, 0, 6, 0, 2, 0,104, 0, 2, 0,244, 3, + 2, 0,113, 5, 2, 0,199, 2, 4, 0, 17, 0, 7, 0,216, 2,192, 0, 14, 0, 2, 0, 17, 0, 2, 0,114, 5, 2, 0,115, 5, + 2, 0,116, 5,191, 0,117, 5, 9, 0,112, 5, 7, 0,118, 5, 7, 0, 54, 0, 4, 0,119, 5, 4, 0,120, 5, 4, 0,121, 5, + 4, 0,122, 5, 38, 0,116, 0, 24, 0,158, 0,193, 0, 4, 0,193, 0, 0, 0,193, 0, 1, 0, 0, 0,123, 5, 7, 0,124, 5, +194, 0, 14, 0,188, 0,108, 5, 4, 0, 88, 0, 4, 0,125, 5, 7, 0,126, 5, 7, 0,127, 5, 7, 0,128, 5, 4, 0,129, 5, + 4, 0,130, 5, 7, 0,131, 5, 7, 0,132, 5, 4, 0,133, 5, 7, 0,134, 5, 7, 0,135, 5, 4, 0, 35, 0,195, 0, 7, 0, +188, 0,108, 5, 2, 0, 17, 0, 2, 0, 35, 0, 4, 0, 34, 0, 4, 0,136, 5, 79, 0,137, 5, 9, 0,112, 5,196, 0, 82, 0, +195, 0,138, 5,195, 0,139, 5,194, 0, 93, 3, 7, 0,140, 5, 2, 0,141, 5, 2, 0,142, 5, 7, 0,143, 5, 7, 0,144, 5, + 2, 0,244, 3, 2, 0,145, 5, 7, 0,146, 5, 7, 0,147, 5, 7, 0,148, 5, 2, 0,149, 5, 2, 0,119, 5, 2, 0,150, 5, + 2, 0,151, 5, 2, 0,152, 5, 2, 0,153, 5, 7, 0,154, 5, 7, 0,155, 5, 7, 0,156, 5, 2, 0,157, 5, 2, 0,158, 5, + 2, 0,159, 5, 2, 0,160, 5, 2, 0,161, 5, 2, 0,162, 5, 2, 0,163, 5, 2, 0,164, 5,190, 0,165, 5,192, 0,166, 5, + 7, 0,167, 5, 7, 0,168, 5, 7, 0,169, 5, 2, 0,170, 5, 2, 0,171, 5, 0, 0,172, 5, 0, 0,173, 5, 0, 0,174, 5, + 0, 0,175, 5, 0, 0,176, 5, 0, 0,177, 5, 2, 0,178, 5, 7, 0,179, 5, 7, 0,180, 5, 7, 0,181, 5, 7, 0,182, 5, + 7, 0,183, 5, 7, 0,184, 5, 7, 0,185, 5, 7, 0,186, 5, 7, 0,187, 5, 7, 0,188, 5, 2, 0,189, 5, 0, 0,190, 5, + 0, 0,191, 5, 0, 0,192, 5, 0, 0,193, 5, 24, 0,194, 5, 0, 0,195, 5, 0, 0,196, 5, 0, 0,197, 5, 0, 0,198, 5, + 0, 0,199, 5, 0, 0,200, 5, 0, 0,201, 5, 0, 0,202, 5, 0, 0,203, 5, 0, 0,204, 5, 2, 0,205, 5, 2, 0,206, 5, + 2, 0,207, 5, 2, 0,208, 5, 0, 0,209, 5, 0, 0, 97, 5, 4, 0,210, 5, 2, 0,211, 5, 2, 0, 87, 0, 4, 0,212, 5, + 7, 0,213, 5, 7, 0,214, 5,197, 0, 8, 0, 4, 0,215, 5, 4, 0,216, 5, 4, 0,217, 5, 4, 0,218, 5, 4, 0,219, 5, + 4, 0,220, 5, 4, 0, 51, 0, 4, 0,118, 2,198, 0, 4, 0, 7, 0,221, 5, 0, 0,222, 5, 0, 0,223, 5, 2, 0, 17, 0, +199, 0, 4, 0, 7, 0,224, 5, 4, 0, 17, 0, 4, 0,225, 5, 4, 0, 54, 0, 38, 0, 44, 0, 19, 0, 29, 0, 31, 0, 72, 0, + 24, 0,104, 5,174, 0,226, 5, 38, 0,227, 5, 12, 0,228, 5,175, 0,229, 5, 24, 0,230, 5, 7, 0,231, 5, 7, 0,232, 5, + 7, 0,233, 5, 7, 0,234, 5, 4, 0,127, 3, 4, 0,235, 5, 4, 0,236, 5, 4, 0,237, 5, 4, 0, 30, 5, 2, 0, 17, 0, + 2, 0, 62, 1, 52, 0, 57, 1,200, 0,238, 5,196, 0,239, 5,201, 0,240, 5,182, 0,176, 0,180, 0,241, 5, 12, 0, 98, 0, + 12, 0,242, 5, 9, 0,243, 5, 9, 0,244, 5, 9, 0,245, 5, 9, 0,246, 5,202, 0,247, 5, 2, 0,248, 5, 2, 0,249, 5, + 2, 0,243, 0, 2, 0,250, 5, 4, 0,251, 5, 4, 0,252, 5, 12, 0,253, 5,185, 0, 98, 5,186, 0,254, 5,198, 0,255, 5, +157, 0,106, 3,199, 0, 0, 6,203, 0, 11, 0,203, 0, 0, 0,203, 0, 1, 0, 39, 0,234, 0, 37, 0, 56, 1, 7, 0, 82, 2, + 7, 0, 83, 2, 7, 0,104, 0, 7, 0, 1, 6, 2, 0, 2, 6, 2, 0, 17, 0, 7, 0, 67, 0,204, 0, 38, 0, 7, 0, 3, 6, + 7, 0, 4, 6, 7, 0, 5, 6, 7, 0, 6, 6, 7, 0, 7, 6, 7, 0, 8, 6, 7, 0, 9, 6, 7, 0, 10, 6, 7, 0, 11, 6, + 7, 0, 75, 1, 7, 0, 12, 6, 7, 0, 13, 6, 7, 0, 14, 6, 7, 0, 15, 6, 7, 0,165, 0, 2, 0, 16, 6, 2, 0, 17, 6, + 4, 0, 35, 0, 2, 0, 18, 6, 2, 0, 19, 6, 2, 0, 20, 6, 2, 0, 2, 6, 7, 0, 21, 6, 7, 0, 22, 6, 62, 0, 23, 6, +157, 0,106, 3,204, 0, 24, 6,205, 0, 25, 6,206, 0, 26, 6,207, 0, 27, 6,208, 0, 28, 6,209, 0, 29, 6, 7, 0, 30, 6, + 2, 0, 31, 6, 2, 0, 32, 6, 7, 0, 33, 6, 7, 0, 34, 6, 7, 0, 35, 6,210, 0, 55, 0,211, 0, 0, 0,211, 0, 1, 0, + 12, 0, 36, 6, 4, 0, 37, 6, 7, 0, 38, 6, 2, 0, 39, 6, 7, 0, 11, 6, 7, 0, 75, 1, 7, 0, 87, 0, 4, 0, 40, 6, + 2, 0, 20, 6, 2, 0, 2, 6, 24, 0,104, 5, 24, 0, 41, 6, 12, 0, 42, 6,203, 0, 43, 6,210, 0, 24, 6, 0, 0, 44, 6, + 4, 0,127, 3, 4, 0,235, 5, 2, 0, 45, 6, 2, 0, 46, 6, 2, 0, 47, 6, 2, 0, 48, 6, 2, 0,225, 1, 2, 0, 17, 0, + 2, 0, 17, 2, 2, 0, 49, 6, 7, 0,109, 0, 7, 0, 50, 6, 7, 0, 33, 6, 7, 0, 51, 6, 7, 0, 52, 6, 7, 0,165, 0, + 7, 0,231, 5, 2, 0, 53, 6, 2, 0, 30, 5, 2, 0, 54, 6, 2, 0, 55, 6, 2, 0, 56, 6, 2, 0, 57, 6, 2, 0, 58, 6, + 2, 0, 59, 6, 2, 0, 60, 6, 2, 0, 17, 6, 12, 0, 61, 6, 12, 0, 62, 6, 12, 0, 63, 6, 2, 0, 64, 6, 2, 0,132, 2, + 2, 0, 65, 6, 0, 0, 66, 6, 0, 0, 67, 6, 9, 0, 68, 6,157, 0,106, 3,212, 0, 24, 0, 16, 0, 34, 0, 16, 0, 61, 0, + 15, 0, 69, 6, 15, 0, 70, 6, 15, 0, 71, 6, 7, 0, 72, 6, 7, 0, 73, 6, 7, 0, 74, 6, 7, 0, 75, 6, 2, 0, 76, 6, + 2, 0, 77, 6, 2, 0, 78, 6, 2, 0, 79, 6, 2, 0, 80, 6, 2, 0, 17, 0, 2, 0, 81, 6, 2, 0, 82, 6, 2, 0, 83, 6, + 2, 0, 84, 6, 2, 0, 85, 6, 2, 0, 48, 6, 7, 0, 86, 6, 4, 0, 87, 6, 4, 0, 88, 6,211, 0, 6, 0,211, 0, 0, 0, +211, 0, 1, 0, 12, 0, 36, 6, 4, 0, 37, 6, 7, 0, 38, 6, 2, 0, 39, 6,213, 0, 8, 0,211, 0, 0, 0,211, 0, 1, 0, + 12, 0, 36, 6, 4, 0, 37, 6, 7, 0, 38, 6, 2, 0, 39, 6, 0, 0, 89, 6, 0, 0,175, 0,214, 0, 14, 0,211, 0, 0, 0, +211, 0, 1, 0, 12, 0, 36, 6, 4, 0, 37, 6, 7, 0, 38, 6, 2, 0, 39, 6,212, 0, 90, 6,215, 0, 91, 6, 12, 0, 92, 6, + 2, 0, 68, 1, 2, 0, 93, 6, 4, 0, 17, 0, 7, 0, 94, 6, 4, 0, 48, 6,216, 0, 21, 0,211, 0, 0, 0,211, 0, 1, 0, + 12, 0, 36, 6, 4, 0, 37, 6, 7, 0, 38, 6, 2, 0, 39, 6,205, 0, 25, 6,212, 0, 90, 6, 2, 0, 95, 6, 2, 0, 96, 6, + 2, 0, 97, 6, 2, 0, 98, 6, 2, 0, 81, 6, 2, 0, 99, 6, 2, 0,100, 6, 0, 0, 17, 0, 0, 0, 35, 0, 9, 0, 58, 2, + 4, 0,101, 6, 4, 0,102, 6, 19, 0,103, 6,217, 0, 18, 0,211, 0, 0, 0,211, 0, 1, 0, 12, 0, 36, 6, 4, 0, 37, 6, + 7, 0, 38, 6, 2, 0, 39, 6,212, 0, 90, 6, 7, 0, 82, 2, 7, 0, 83, 2, 2, 0, 95, 6, 2, 0,104, 6, 2, 0,105, 6, + 2, 0,106, 6, 4, 0, 17, 0, 7, 0,107, 6, 4, 0, 2, 6, 4, 0, 35, 0,157, 0,106, 3,218, 0, 16, 0, 0, 0,108, 6, + 0, 0,109, 6, 0, 0,110, 6, 0, 0,111, 6, 0, 0,112, 6, 0, 0,113, 6, 4, 0,114, 6, 4, 0,115, 6, 4, 0,116, 6, + 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,117, 6, 2, 0,118, 6, 2, 0,168, 1, 2, 0,119, 6, 0, 0,120, 6,219, 0, 16, 0, +211, 0, 0, 0,211, 0, 1, 0, 12, 0, 36, 6, 4, 0, 37, 6, 4, 0,121, 6,218, 0,122, 6,220, 0,123, 6, 12, 0,124, 6, + 12, 0,125, 6,221, 0,126, 6,209, 0,127, 6,222, 0,128, 6, 2, 0,129, 6, 2, 0,130, 6, 2, 0,131, 6, 2, 0, 67, 0, +223, 0, 15, 0,211, 0, 0, 0,211, 0, 1, 0, 12, 0, 36, 6, 4, 0, 37, 6, 7, 0, 38, 6, 2, 0, 39, 6,212, 0, 90, 6, + 12, 0,132, 6,224, 0,133, 6, 0, 0,134, 6,225, 0,135, 6, 2, 0, 17, 0, 2, 0,136, 6, 2, 0,137, 6, 2, 0,138, 6, +226, 0, 25, 0,211, 0, 0, 0,211, 0, 1, 0, 12, 0, 36, 6, 4, 0, 37, 6, 4, 0, 17, 0, 39, 0,224, 2, 37, 0, 56, 1, + 55, 0,139, 6,227, 0,140, 6,228, 0,141, 6,157, 0,106, 3, 7, 0,142, 6, 7, 0, 82, 2, 7, 0, 83, 2, 7, 0,107, 6, + 7, 0,143, 6, 7, 0,144, 6, 2, 0,145, 6, 2, 0,146, 6, 2, 0,147, 6, 2, 0,148, 6, 0, 0,149, 6, 0, 0,150, 6, + 0, 0,151, 6, 0, 0, 48, 6,229, 0, 11, 0,211, 0, 0, 0,211, 0, 1, 0, 12, 0, 36, 6, 4, 0, 37, 6, 7, 0, 38, 6, + 2, 0, 39, 6, 2, 0, 93, 6, 2, 0, 17, 0, 4, 0, 35, 0,215, 0, 91, 6,212, 0, 90, 6,230, 0, 31, 0,211, 0, 0, 0, +211, 0, 1, 0, 12, 0, 36, 6, 4, 0, 37, 6, 7, 0, 38, 6, 2, 0, 39, 6, 34, 0,152, 6, 4, 0,153, 6, 4, 0,154, 6, + 2, 0, 88, 0, 2, 0,155, 6, 2, 0,156, 6, 0, 0,157, 6, 0, 0,158, 6, 4, 0,159, 6, 4, 0,160, 6, 4, 0,161, 6, + 2, 0,162, 6, 2, 0,163, 6, 2, 0,164, 6, 2, 0,165, 6, 7, 0,166, 6, 15, 0,167, 6, 15, 0,168, 6, 4, 0,169, 6, + 4, 0,170, 6, 0, 0,171, 6, 0, 0,172, 6, 2, 0,173, 6, 0, 0,185, 2, 9, 0,174, 6,231, 0, 10, 0, 19, 0, 29, 0, + 9, 0,175, 6, 9, 0,176, 6, 9, 0,177, 6, 9, 0,178, 6, 9, 0,179, 6, 4, 0, 88, 0, 4, 0,180, 6, 0, 0,181, 6, + 0, 0,182, 6,232, 0, 10, 0,211, 0, 0, 0,211, 0, 1, 0, 12, 0, 36, 6, 4, 0, 37, 6, 7, 0, 38, 6,231, 0,183, 6, + 2, 0, 88, 0, 2, 0,155, 6, 4, 0, 87, 0, 9, 0,184, 6,233, 0, 3, 0,233, 0, 0, 0,233, 0, 1, 0, 7, 0,185, 6, +234, 0, 11, 0,211, 0, 0, 0,211, 0, 1, 0, 12, 0, 36, 6, 4, 0, 37, 6, 7, 0, 38, 6,212, 0, 90, 6, 12, 0,186, 6, + 4, 0,187, 6, 4, 0, 35, 0, 4, 0, 17, 0, 4, 0,188, 6,235, 0, 28, 0,211, 0, 0, 0,211, 0, 1, 0, 12, 0, 36, 6, + 4, 0, 37, 6, 7, 0, 38, 6, 2, 0, 39, 6,212, 0, 90, 6, 19, 0,189, 6, 19, 0, 78, 0, 2, 0, 17, 0, 2, 0,155, 6, + 7, 0,190, 6, 9, 0,191, 6, 7, 0, 82, 2, 7, 0, 83, 2, 7, 0,107, 6, 7, 0, 35, 6, 7, 0,192, 6, 7, 0,193, 6, + 52, 0, 57, 1, 52, 0,194, 6, 4, 0,195, 6, 2, 0,196, 6, 2, 0,197, 6, 2, 0,243, 0, 2, 0, 97, 5, 12, 0,198, 6, +157, 0,106, 3,236, 0, 10, 0,211, 0, 0, 0,211, 0, 1, 0, 12, 0, 36, 6, 4, 0, 37, 6, 7, 0, 38, 6, 2, 0, 39, 6, + 2, 0, 17, 0, 2, 0,136, 3, 4, 0, 35, 0,157, 0,106, 3,237, 0, 42, 0,211, 0, 0, 0,211, 0, 1, 0, 12, 0, 36, 6, + 4, 0, 37, 6, 7, 0, 38, 6, 2, 0, 39, 6,212, 0, 90, 6,220, 0,123, 6, 0, 0,199, 6, 0, 0,109, 6, 0, 0,110, 6, + 2, 0, 15, 0, 2, 0,200, 6, 2, 0, 17, 0, 2, 0,117, 6, 9, 0,191, 6, 4, 0,114, 6, 4, 0,201, 6, 4, 0,202, 6, + 4, 0,203, 6, 15, 0,204, 6, 15, 0,205, 6, 7, 0,206, 6, 7, 0,207, 6, 7, 0,208, 6, 7, 0,190, 6, 2, 0,209, 6, + 2, 0,233, 0, 2, 0,168, 1, 2, 0,210, 6, 2, 0, 35, 0, 2, 0, 87, 0, 2, 0,211, 6, 2, 0,212, 6, 9, 0,213, 6, + 9, 0,214, 6, 9, 0,215, 6, 9, 0,216, 6, 9, 0,217, 6, 2, 0,218, 6, 0, 0,219, 6, 49, 0,220, 6,238, 0, 7, 0, +238, 0, 0, 0,238, 0, 1, 0, 4, 0,221, 6, 4, 0, 21, 0, 0, 0, 81, 0, 4, 0,222, 6, 4, 0, 15, 0,239, 0, 14, 0, +211, 0, 0, 0,211, 0, 1, 0, 12, 0, 36, 6, 4, 0, 37, 6, 7, 0, 38, 6, 2, 0, 39, 6, 4, 0,156, 6, 4, 0, 35, 0, + 12, 0,223, 6, 12, 0,224, 6, 0, 0,225, 6, 0, 0,226, 6, 4, 0,227, 6, 4, 0,228, 6,240, 0, 6, 0,211, 0, 0, 0, +211, 0, 1, 0, 12, 0, 36, 6, 4, 0, 37, 6, 4, 0, 35, 0, 0, 0,229, 6,241, 0, 15, 0,211, 0, 0, 0,211, 0, 1, 0, + 12, 0, 36, 6, 4, 0, 37, 6, 7, 0, 38, 6,242, 0,230, 6,212, 0, 90, 6,243, 0,231, 6, 2, 0, 68, 1, 2, 0,232, 6, + 2, 0, 82, 2, 2, 0, 83, 2, 2, 0, 17, 0, 2, 0,147, 6, 4, 0, 67, 0,244, 0, 7, 0,244, 0, 0, 0,244, 0, 1, 0, + 0, 0,233, 6, 2, 0,234, 6, 2, 0,235, 6, 2, 0,236, 6, 2, 0, 35, 0,245, 0, 12, 0, 2, 0,235, 6, 2, 0,237, 6, + 2, 0,238, 6, 0, 0,185, 2, 2, 0,239, 6, 2, 0,240, 6, 2, 0,241, 6, 2, 0,242, 6, 2, 0,243, 6, 2, 0, 81, 6, + 7, 0,244, 6, 7, 0,245, 6,246, 0, 18, 0,246, 0, 0, 0,246, 0, 1, 0, 0, 0,251, 3,245, 0,246, 6,245, 0,247, 6, +245, 0,248, 6,245, 0,249, 6, 7, 0,250, 6, 2, 0,251, 6, 2, 0,252, 6, 2, 0,253, 6, 2, 0,254, 6, 2, 0,255, 6, + 2, 0, 0, 7, 2, 0, 1, 7, 2, 0, 2, 7, 2, 0, 3, 7, 2, 0, 4, 7,247, 0, 10, 0, 0, 0, 5, 7, 0, 0, 6, 7, + 0, 0, 7, 7, 0, 0, 8, 7, 0, 0, 9, 7, 0, 0, 10, 7, 2, 0, 11, 7, 2, 0, 12, 7, 2, 0, 13, 7, 2, 0, 14, 7, +248, 0, 8, 0, 0, 0, 15, 7, 0, 0, 16, 7, 0, 0, 17, 7, 0, 0, 18, 7, 0, 0, 19, 7, 0, 0, 20, 7, 7, 0, 1, 6, + 7, 0, 35, 0,249, 0, 18, 0,247, 0, 21, 7,247, 0, 22, 7,247, 0, 23, 7,247, 0, 24, 7,247, 0, 25, 7,247, 0, 26, 7, +247, 0, 27, 7,247, 0, 28, 7,247, 0, 29, 7,247, 0, 30, 7,247, 0, 31, 7,247, 0, 32, 7,247, 0, 33, 7,247, 0, 34, 7, +247, 0, 35, 7,247, 0, 36, 7,248, 0, 37, 7, 0, 0, 38, 7,250, 0, 97, 0, 0, 0, 39, 7, 0, 0, 40, 7, 0, 0, 9, 7, + 0, 0, 41, 7, 0, 0, 42, 7, 0, 0, 43, 7, 0, 0, 44, 7, 0, 0, 45, 7, 0, 0, 46, 7, 0, 0, 47, 7, 0, 0, 48, 7, + 0, 0, 49, 7, 0, 0, 50, 7, 0, 0, 51, 7, 0, 0, 52, 7, 0, 0, 53, 7, 0, 0, 54, 7, 0, 0, 55, 7, 0, 0, 56, 7, + 0, 0, 57, 7, 0, 0, 58, 7, 0, 0, 59, 7, 0, 0, 60, 7, 0, 0, 61, 7, 0, 0, 62, 7, 0, 0, 63, 7, 0, 0, 64, 7, + 0, 0, 65, 7, 0, 0, 66, 7, 0, 0, 67, 7, 0, 0, 68, 7, 0, 0, 69, 7, 0, 0, 70, 7, 0, 0, 71, 7, 0, 0, 72, 7, + 0, 0, 73, 7, 0, 0, 74, 7, 0, 0, 75, 7, 0, 0, 76, 7, 0, 0, 77, 7, 0, 0, 78, 7, 0, 0, 79, 7, 0, 0, 80, 7, + 0, 0, 81, 7, 0, 0, 82, 7, 0, 0, 83, 7, 0, 0, 84, 7, 0, 0, 85, 7, 0, 0, 86, 7, 0, 0, 87, 7, 0, 0, 88, 7, + 0, 0, 89, 7, 0, 0, 90, 7, 0, 0, 91, 7, 0, 0, 92, 7, 0, 0, 93, 7, 0, 0, 94, 7, 0, 0, 95, 7, 0, 0, 96, 7, + 0, 0, 97, 7, 0, 0, 98, 7, 0, 0, 99, 7, 0, 0,100, 7, 0, 0,101, 7, 0, 0,102, 7, 0, 0,103, 7, 0, 0,104, 7, + 0, 0,105, 7, 0, 0,106, 7, 0, 0,107, 7, 0, 0,108, 7, 0, 0,109, 7, 0, 0,110, 7, 0, 0,111, 7, 0, 0,112, 7, + 0, 0,113, 7, 0, 0,114, 7, 0, 0,115, 7, 0, 0,116, 7, 0, 0,117, 7, 0, 0,118, 7, 0, 0,119, 7, 0, 0,120, 7, + 0, 0,121, 7, 0, 0,122, 7, 0, 0,123, 7, 0, 0,124, 7, 0, 0,125, 7, 0, 0,126, 7, 0, 0,127, 7, 0, 0,128, 7, + 0, 0,129, 7, 0, 0,130, 7, 0, 0,131, 7, 0, 0,132, 7, 0, 0,133, 7, 0, 0,134, 7,251, 0, 5, 0, 0, 0,135, 7, + 0, 0, 63, 7, 0, 0, 65, 7, 2, 0, 17, 0, 2, 0, 35, 0,252, 0, 25, 0,252, 0, 0, 0,252, 0, 1, 0, 0, 0, 18, 0, +249, 0,136, 7,250, 0,137, 7,250, 0,138, 7,250, 0,139, 7,250, 0,140, 7,250, 0,141, 7,250, 0,142, 7,250, 0,143, 7, +250, 0,144, 7,250, 0,145, 7,250, 0,146, 7,250, 0,147, 7,250, 0,148, 7,250, 0,149, 7,250, 0,150, 7,250, 0,151, 7, +250, 0,152, 7,250, 0,153, 7,250, 0,154, 7,251, 0,155, 7, 4, 0,156, 7, 4, 0, 35, 0,253, 0, 3, 0,253, 0, 0, 0, +253, 0, 1, 0, 0, 0,157, 7,254, 0, 5, 0, 4, 0, 17, 0, 4, 0, 35, 0, 7, 0,131, 2, 7, 0,158, 7, 7, 0, 32, 2, +255, 0, 90, 0, 4, 0, 17, 0, 4, 0,159, 7, 4, 0,160, 7, 0, 0,161, 7, 0, 0,162, 7, 0, 0,163, 7, 0, 0,164, 7, + 0, 0,165, 7, 0, 0,166, 7, 0, 0,167, 7, 0, 0,168, 7, 0, 0,169, 7, 0, 0,170, 7, 4, 0,171, 7, 2, 0,172, 7, + 2, 0,173, 7, 2, 0,174, 7, 2, 0,175, 7, 4, 0,176, 7, 4, 0,177, 7, 4, 0,178, 7, 4, 0,179, 7, 2, 0,180, 7, + 2, 0,181, 7, 4, 0,182, 7, 4, 0,183, 7, 4, 0,184, 7, 4, 0,185, 7, 4, 0,186, 7, 4, 0,223, 6, 4, 0,187, 7, + 2, 0,188, 7, 2, 0,189, 7, 2, 0,190, 7, 2, 0,191, 7, 12, 0,192, 7, 12, 0,193, 7, 12, 0,194, 7, 12, 0,195, 7, + 12, 0,196, 7, 0, 0,197, 7, 2, 0,198, 7, 2, 0,199, 7, 2, 0,200, 7, 2, 0,201, 7, 2, 0,202, 7, 2, 0,203, 7, + 2, 0,204, 7, 2, 0,205, 7,254, 0,206, 7, 2, 0,207, 7, 2, 0,208, 7, 2, 0,209, 7, 2, 0,210, 7, 2, 0,211, 7, + 2, 0,212, 7, 2, 0,213, 7, 2, 0,214, 7, 4, 0,215, 7, 4, 0,216, 7, 2, 0,217, 7, 2, 0,218, 7, 2, 0,219, 7, + 2, 0,220, 7, 2, 0,221, 7, 2, 0,222, 7, 2, 0,223, 7, 2, 0,224, 7, 2, 0,225, 7, 2, 0,226, 7, 2, 0,227, 7, + 2, 0,228, 7, 2, 0,229, 7, 2, 0,230, 7, 2, 0,231, 7, 2, 0,232, 7, 2, 0,233, 7, 2, 0, 97, 5, 0, 0,234, 7, + 0, 0,235, 7, 7, 0,236, 7, 2, 0,170, 5, 2, 0,171, 5, 2, 0,237, 7, 2, 0,238, 7, 7, 0,239, 7, 47, 0,240, 7, + 7, 0,241, 7, 4, 0,225, 1, 0, 0,242, 7, 0, 1, 24, 0, 19, 0, 29, 0, 12, 0,243, 7, 12, 0,244, 7, 12, 0,245, 7, + 12, 0, 36, 6, 38, 0,116, 0, 38, 0,246, 7, 4, 0,247, 7, 4, 0, 87, 0, 2, 0,248, 7, 2, 0,249, 7, 2, 0,250, 7, + 2, 0,251, 7, 2, 0,252, 7, 2, 0,253, 7, 2, 0,254, 7, 2, 0,255, 7, 2, 0, 0, 8, 2, 0, 1, 8, 2, 0, 2, 8, + 2, 0, 35, 0,209, 0, 3, 8, 9, 0, 4, 8, 2, 0, 5, 8, 1, 1, 5, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 6, 8, + 13, 0, 7, 8, 4, 0, 17, 0, 2, 1, 7, 0, 2, 1, 0, 0, 2, 1, 1, 0, 1, 1, 8, 8, 1, 1, 9, 8, 2, 0, 36, 5, + 2, 0, 17, 0, 4, 0, 35, 0, 3, 1, 25, 0, 3, 1, 0, 0, 3, 1, 1, 0, 4, 1, 10, 8, 5, 1,128, 6, 0, 0, 11, 8, + 0, 0, 12, 8, 0, 0, 13, 8, 2, 0, 14, 8, 2, 0, 15, 8, 2, 0, 16, 8, 2, 0, 17, 8, 2, 0, 18, 8, 2, 0, 35, 0, + 2, 0, 17, 0, 2, 0, 19, 8, 2, 0, 20, 8, 2, 0, 21, 8, 4, 0, 22, 8, 3, 1, 23, 8, 9, 0, 24, 8, 4, 0, 25, 8, + 4, 0, 26, 8, 4, 0, 27, 8, 4, 0, 28, 8, 0, 0, 29, 8,242, 0, 22, 0,242, 0, 0, 0,242, 0, 1, 0, 1, 1, 8, 8, + 1, 1, 9, 8, 1, 1, 30, 8, 1, 1, 31, 8, 0, 1, 32, 8, 15, 0, 49, 0, 0, 0, 37, 6, 0, 0, 33, 8, 2, 0, 82, 6, + 2, 0, 83, 6, 2, 0, 34, 8, 2, 0, 35, 0, 2, 0,252, 7, 2, 0,222, 6, 2, 0, 17, 0, 6, 1, 10, 8, 12, 0, 35, 8, + 12, 0, 36, 6, 12, 0, 36, 8, 12, 0, 37, 8, 7, 1, 24, 0, 7, 1, 0, 0, 7, 1, 1, 0,212, 0, 90, 6, 15, 0, 38, 8, + 15, 0, 39, 8, 2, 0, 82, 6, 2, 0, 83, 6, 2, 0, 40, 8, 2, 0, 41, 8, 2, 0, 42, 8, 2, 0, 17, 0, 7, 0, 78, 2, + 2, 0, 16, 8, 2, 0, 17, 8, 2, 0,251, 7, 2, 0, 43, 8, 2, 0, 0, 8, 2, 0, 97, 5, 8, 1, 10, 8, 12, 0, 44, 8, + 12, 0, 45, 8, 12, 0, 36, 8, 0, 0, 46, 8, 9, 0, 47, 8, 9, 1, 14, 0, 0, 0, 48, 8, 2, 0, 49, 8, 2, 0, 50, 8, + 2, 0, 51, 8, 2, 0, 52, 8, 2, 0, 22, 5, 2, 0, 17, 5, 0, 1, 53, 8, 38, 0, 54, 8, 4, 0, 55, 8, 4, 0, 56, 8, + 4, 0, 57, 8, 4, 0, 35, 0, 0, 0, 58, 8, 10, 1, 3, 0, 0, 0, 59, 8, 4, 0, 60, 8, 4, 0, 61, 8, 11, 1, 4, 0, + 4, 0,153, 6, 4, 0, 62, 8, 4, 0,159, 6, 4, 0, 63, 8, 12, 1, 2, 0, 4, 0, 64, 8, 4, 0, 65, 8, 13, 1, 5, 0, + 7, 0, 66, 8, 7, 0, 67, 8, 7, 0, 68, 8, 4, 0, 17, 0, 4, 0, 35, 0, 14, 1, 6, 0, 0, 0, 69, 8, 0, 0,110, 6, + 41, 0,129, 0, 2, 0,104, 0, 2, 0, 21, 5, 4, 0, 35, 0, 15, 1, 14, 0, 15, 1, 0, 0, 15, 1, 1, 0, 4, 0, 54, 0, + 4, 0, 21, 0, 4, 0, 26, 0, 4, 0, 70, 8, 4, 0, 71, 8, 4, 0, 72, 8, 10, 1, 73, 8, 0, 0, 69, 8, 14, 1,100, 3, + 11, 1, 74, 8, 12, 1, 75, 8, 13, 1, 76, 8, 16, 1, 12, 0, 0, 0,249, 1, 9, 0,219, 0, 0, 0,220, 0, 4, 0,223, 0, + 4, 0,231, 0, 9, 0,224, 0, 7, 0,226, 0, 7, 0,227, 0, 9, 0, 77, 8, 9, 0, 78, 8, 9, 0,228, 0, 9, 0,230, 0, + 17, 1, 48, 0, 17, 1, 0, 0, 17, 1, 1, 0, 9, 0, 79, 8, 9, 0, 24, 0, 0, 0, 25, 0, 4, 0, 17, 0, 4, 0, 15, 0, + 4, 0, 21, 0, 4, 0, 85, 0, 4, 0, 80, 8, 4, 0, 81, 8, 4, 0, 71, 8, 4, 0, 72, 8, 4, 0, 82, 8, 4, 0,242, 0, + 4, 0, 83, 8, 4, 0, 84, 8, 7, 0, 85, 8, 7, 0, 35, 0, 7, 0, 86, 8, 7, 0, 87, 8, 4, 0,120, 0, 4, 0, 88, 8, + 15, 1, 89, 8, 28, 0, 77, 0, 38, 0,116, 0, 24, 0, 90, 8, 41, 0,129, 0, 7, 0, 91, 8, 7, 0, 92, 8, 16, 1, 58, 1, + 17, 1, 93, 8, 17, 1, 94, 8, 17, 1, 95, 8, 12, 0, 96, 8,243, 0,231, 6, 9, 0, 97, 8, 7, 0, 5, 4, 7, 0, 98, 8, + 7, 0, 99, 8, 4, 0,100, 8, 4, 0,101, 8, 7, 0,102, 8, 9, 0,103, 8, 4, 0,104, 8, 4, 0,105, 8, 4, 0,106, 8, + 7, 0,107, 8, 18, 1, 4, 0, 18, 1, 0, 0, 18, 1, 1, 0, 12, 0,108, 8, 17, 1,109, 8,200, 0, 11, 0, 12, 0,110, 8, + 12, 0, 96, 8, 12, 0,111, 8, 17, 1,112, 8, 0, 0,113, 8, 0, 0,114, 8, 4, 0,115, 8, 4, 0,116, 8, 4, 0,117, 8, + 4, 0, 35, 0, 16, 0,118, 8, 19, 1, 4, 0, 7, 0,119, 8, 7, 0, 73, 3, 2, 0,120, 8, 2, 0,121, 8, 20, 1, 6, 0, + 7, 0,122, 8, 7, 0,123, 8, 7, 0,124, 8, 7, 0,125, 8, 4, 0,126, 8, 4, 0,127, 8, 21, 1, 13, 0, 7, 0,128, 8, + 7, 0,129, 8, 7, 0,130, 8, 7, 0,131, 8, 7, 0,132, 8, 7, 0,133, 8, 7, 0,134, 8, 7, 0,135, 8, 7, 0,136, 8, + 7, 0,137, 8, 4, 0,230, 2, 4, 0,138, 8, 4, 0,139, 8, 22, 1, 2, 0, 7, 0, 95, 5, 7, 0, 35, 0, 23, 1, 5, 0, + 7, 0,140, 8, 7, 0,141, 8, 4, 0, 88, 0, 4, 0,186, 2, 4, 0,142, 8, 24, 1, 6, 0, 24, 1, 0, 0, 24, 1, 1, 0, + 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,143, 8, 2, 0, 54, 0, 25, 1, 8, 0, 25, 1, 0, 0, 25, 1, 1, 0, 2, 0, 15, 0, + 2, 0, 17, 0, 2, 0,143, 8, 2, 0, 54, 0, 7, 0, 21, 0, 7, 0,120, 0, 26, 1, 45, 0, 26, 1, 0, 0, 26, 1, 1, 0, + 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,143, 8, 2, 0,238, 0, 2, 0, 47, 4, 2, 0,144, 8, 7, 0,145, 8, 7, 0, 86, 0, + 7, 0,243, 2, 4, 0,146, 8, 4, 0, 79, 0, 4, 0,188, 2, 7, 0,147, 8, 7, 0,148, 8, 7, 0,149, 8, 7, 0,150, 8, + 7, 0,151, 8, 7, 0,152, 8, 7, 0,240, 2, 7, 0, 55, 1, 7, 0,153, 8, 7, 0,154, 8, 7, 0, 35, 0, 7, 0,155, 8, + 7, 0,156, 8, 7, 0,157, 8, 2, 0,158, 8, 2, 0,159, 8, 2, 0,160, 8, 2, 0,161, 8, 2, 0,162, 8, 2, 0,163, 8, + 2, 0,164, 8, 2, 0,165, 8, 2, 0, 17, 2, 2, 0,166, 8, 2, 0, 14, 2, 2, 0,167, 8, 0, 0,168, 8, 0, 0,169, 8, + 7, 0,236, 0, 27, 1,170, 8, 58, 0,228, 1, 28, 1, 16, 0, 28, 1, 0, 0, 28, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, + 2, 0,143, 8, 2, 0,238, 0, 7, 0,235, 2, 7, 0,236, 2, 7, 0,237, 2, 7, 0, 67, 2, 7, 0,238, 2, 7, 0,239, 2, + 7, 0,171, 8, 7, 0,240, 2, 7, 0,242, 2, 7, 0,243, 2,225, 0, 5, 0, 2, 0, 15, 0, 2, 0,172, 8, 2, 0, 17, 0, + 2, 0,173, 8, 19, 0,189, 6,224, 0, 3, 0, 4, 0, 66, 0, 4, 0,174, 8,225, 0, 2, 0, 29, 1, 7, 0, 29, 1, 0, 0, + 29, 1, 1, 0, 0, 0, 18, 0, 2, 0, 15, 0, 2, 0, 17, 0, 4, 0, 20, 0, 9, 0,175, 8, 30, 1, 5, 0, 0, 0, 18, 0, + 7, 0, 75, 1, 7, 0,176, 8, 4, 0,177, 8, 4, 0, 35, 0, 31, 1, 4, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 87, 0, + 2, 0, 67, 0, 32, 1, 4, 0, 0, 0, 18, 0, 57, 0,178, 8, 7, 0, 75, 1, 7, 0, 35, 0, 33, 1, 6, 0, 2, 0,179, 8, + 2, 0,180, 8, 2, 0, 15, 0, 2, 0,181, 8, 0, 0,182, 8, 0, 0,183, 8, 34, 1, 5, 0, 4, 0, 15, 0, 4, 0, 35, 0, + 0, 0, 18, 0, 0, 0,184, 8, 0, 0,185, 8, 35, 1, 3, 0, 4, 0, 15, 0, 4, 0, 35, 0, 0, 0, 18, 0, 36, 1, 4, 0, + 2, 0,186, 8, 2, 0,187, 8, 2, 0, 17, 0, 2, 0, 35, 0, 37, 1, 6, 0, 0, 0, 18, 0, 0, 0,188, 8, 2, 0,189, 8, + 2, 0,240, 2, 2, 0, 68, 1, 2, 0, 67, 0, 38, 1, 5, 0, 0, 0, 18, 0, 7, 0, 73, 3, 7, 0,138, 4, 2, 0, 17, 0, + 2, 0,200, 2, 39, 1, 3, 0, 0, 0, 18, 0, 4, 0,188, 2, 4, 0,186, 8, 40, 1, 7, 0, 0, 0, 18, 0, 7, 0,138, 4, + 0, 0,190, 8, 0, 0,191, 8, 2, 0, 68, 1, 2, 0, 87, 0, 4, 0,192, 8, 41, 1, 4, 0, 0, 0,193, 8, 0, 0,194, 8, + 4, 0, 15, 0, 7, 0,204, 2, 42, 1, 3, 0, 24, 0,195, 8, 0, 0,196, 8, 0, 0,197, 8, 43, 1, 18, 0, 43, 1, 0, 0, + 43, 1, 1, 0, 2, 0, 15, 0, 2, 0,198, 8, 2, 0, 17, 0, 2, 0,199, 8, 2, 0,200, 8, 2, 0,201, 8, 2, 0, 87, 0, + 2, 0, 67, 0, 0, 0, 18, 0, 9, 0, 2, 0, 44, 1,202, 8, 24, 0, 42, 0, 2, 0,113, 5, 2, 0, 98, 8, 2, 0,203, 8, + 2, 0, 35, 0, 45, 1, 11, 0, 0, 0, 18, 0, 0, 0, 15, 0, 0, 0,204, 8, 2, 0, 17, 0, 2, 0,200, 2, 2, 0,205, 8, + 4, 0,206, 8, 4, 0,207, 8, 4, 0,208, 8, 4, 0,209, 8, 4, 0,210, 8, 46, 1, 1, 0, 0, 0,211, 8, 47, 1, 4, 0, + 34, 0,152, 6, 0, 0,157, 7, 4, 0, 68, 1, 4, 0, 17, 0, 44, 1, 18, 0, 44, 1, 0, 0, 44, 1, 1, 0, 44, 1,212, 8, + 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,213, 8, 2, 0,201, 8, 2, 0,198, 8, 2, 0,214, 8, 2, 0, 67, 0, 2, 0,225, 1, + 0, 0, 18, 0, 9, 0, 2, 0, 48, 1,202, 8, 43, 1,215, 8, 2, 0, 13, 0, 2, 0,216, 8, 4, 0,217, 8, 49, 1, 3, 0, + 4, 0,214, 2, 4, 0, 35, 0, 24, 0, 42, 0, 50, 1, 12, 0,155, 0,218, 8, 2, 0, 15, 0, 2, 0, 17, 0, 7, 0,145, 8, + 7, 0, 86, 0, 0, 0, 18, 0, 0, 0,219, 8, 2, 0,220, 8, 2, 0,221, 8, 2, 0,222, 8, 2, 0,223, 8, 7, 0,224, 8, + 51, 1, 8, 0, 7, 0,225, 8, 7, 0,226, 8, 7, 0,227, 8, 7, 0,228, 8, 7, 0,229, 8, 7, 0,230, 8, 7, 0,231, 8, + 7, 0,232, 8, 52, 1, 13, 0, 2, 0, 17, 0, 2, 0,232, 6, 4, 0, 87, 0, 4, 0, 67, 0, 2, 0,233, 8, 7, 0, 5, 4, + 7, 0,234, 8,243, 0,231, 6, 51, 1,235, 8, 2, 0, 15, 0, 2, 0, 30, 5, 2, 0,251, 5, 2, 0,236, 8, 53, 1, 11, 0, + 4, 0,214, 2, 2, 0, 15, 0, 2, 0, 17, 0, 24, 0, 42, 0, 73, 0,237, 8, 0, 0, 18, 0, 7, 0,238, 8, 7, 0,239, 8, + 7, 0,144, 3, 2, 0,240, 8, 2, 0,241, 8, 54, 1, 5, 0, 2, 0, 15, 0, 2, 0, 87, 0, 4, 0, 35, 0, 38, 0,116, 0, + 24, 0,104, 5, 55, 1, 5, 0, 4, 0, 35, 0, 4, 0, 15, 0, 0, 0, 18, 0, 0, 0,184, 8, 24, 0, 42, 0, 56, 1, 13, 0, + 2, 0, 17, 0, 2, 0, 15, 0, 2, 0,198, 8, 2, 0,145, 3, 7, 0,242, 8, 7, 0,243, 8, 7, 0, 97, 5, 7, 0,157, 3, + 7, 0,115, 3, 7, 0,118, 3, 7, 0,244, 8, 7, 0,245, 8, 24, 0,246, 8, 57, 1, 10, 0, 2, 0, 17, 0, 2, 0, 15, 0, + 7, 0,145, 8, 7, 0, 86, 0, 0, 0, 18, 0, 0, 0,219, 8, 2, 0, 87, 0, 2, 0, 67, 0, 2, 0,225, 1, 2, 0, 30, 5, + 58, 1, 8, 0, 24, 0, 42, 0, 7, 0,237, 2, 7, 0,247, 8, 7, 0,248, 8, 7, 0, 35, 0, 2, 0, 87, 0, 2, 0,200, 2, + 7, 0, 67, 0, 59, 1, 12, 0, 2, 0, 15, 0, 2, 0, 68, 1, 2, 0, 17, 0, 2, 0,240, 2, 2, 0,214, 2, 2, 0,249, 8, + 4, 0, 35, 0, 7, 0,250, 8, 7, 0,251, 8, 7, 0,252, 8, 7, 0,253, 8, 0, 0,254, 8, 60, 1, 9, 0, 2, 0, 17, 0, + 2, 0, 15, 0, 4, 0,145, 8, 4, 0, 86, 0, 0, 0, 18, 0, 2, 0, 97, 5, 2, 0, 61, 0, 2, 0,255, 8, 2, 0, 0, 9, + 61, 1, 7, 0, 4, 0,188, 2, 4, 0, 1, 9, 4, 0, 2, 9, 4, 0, 3, 9, 7, 0, 4, 9, 7, 0, 5, 9, 0, 0,190, 8, + 62, 1, 7, 0, 0, 0, 6, 9, 24, 0, 7, 9, 0, 0,196, 8, 2, 0, 8, 9, 2, 0, 87, 0, 4, 0, 67, 0, 0, 0,197, 8, + 63, 1, 6, 0, 2, 0, 17, 0, 2, 0, 15, 0, 4, 0,145, 8, 4, 0, 86, 0, 0, 0, 9, 9, 0, 0, 10, 9, 64, 1, 1, 0, + 4, 0, 17, 0, 65, 1, 6, 0, 0, 0, 90, 0, 2, 0, 15, 0, 2, 0, 17, 0, 4, 0, 11, 9, 7, 0, 12, 9, 34, 0,152, 6, + 66, 1, 4, 0, 0, 0,157, 2, 2, 0, 17, 0, 4, 0, 15, 0, 24, 0, 42, 0, 67, 1, 2, 0, 4, 0, 15, 0, 4, 0, 71, 6, + 68, 1, 6, 0, 0, 0,193, 8, 0, 0,194, 8, 4, 0, 15, 0, 7, 0, 25, 2, 24, 0, 50, 3, 24, 0, 13, 9, 48, 1, 10, 0, + 48, 1, 0, 0, 48, 1, 1, 0, 48, 1,212, 8, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,198, 8, 2, 0, 14, 9, 0, 0, 18, 0, + 9, 0, 2, 0, 24, 0, 42, 0,243, 0, 16, 0, 19, 0, 29, 0, 0, 0, 32, 0, 35, 0,144, 0, 9, 0,219, 0, 35, 0, 15, 9, + 28, 0, 77, 0, 7, 0, 5, 4, 7, 0, 16, 9, 7, 0,234, 8, 7, 0,225, 8, 7, 0,226, 8, 7, 0, 17, 9, 4, 0, 88, 0, + 4, 0, 35, 0, 9, 0, 18, 9, 9, 0, 19, 9, 69, 1, 6, 0, 69, 1, 0, 0, 69, 1, 1, 0, 24, 0, 42, 0, 9, 0, 20, 9, + 2, 0,243, 0, 0, 0,185, 2, 58, 0, 4, 0, 19, 0, 29, 0, 12, 0, 21, 9, 4, 0,125, 0, 7, 0, 22, 9, 70, 1, 28, 0, + 70, 1, 0, 0, 70, 1, 1, 0, 18, 0, 23, 9, 70, 1, 36, 0, 12, 0, 24, 9, 0, 0, 18, 0, 7, 0, 25, 9, 7, 0, 26, 9, + 7, 0, 27, 9, 7, 0, 28, 9, 4, 0, 17, 0, 7, 0, 29, 9, 7, 0, 30, 9, 7, 0, 31, 9, 7, 0, 32, 9, 7, 0, 75, 1, + 7, 0, 25, 2, 7, 0, 33, 9, 7, 0,186, 2, 7, 0, 34, 9, 7, 0, 35, 9, 7, 0, 36, 9, 7, 0, 37, 9, 7, 0, 38, 9, + 7, 0,166, 0, 4, 0,125, 0, 2, 0,150, 5, 2, 0, 4, 7, 71, 1, 25, 0, 19, 0, 29, 0, 31, 0, 72, 0, 12, 0, 39, 9, + 12, 0, 40, 9, 12, 0, 41, 9, 70, 1, 42, 9, 9, 0, 43, 9, 9, 0, 44, 9, 4, 0, 17, 0, 4, 0, 45, 6, 2, 0,244, 2, + 2, 0,101, 6, 4, 0, 45, 9, 4, 0,125, 0, 4, 0, 46, 9, 2, 0, 47, 9, 2, 0, 48, 9, 2, 0, 49, 9, 2, 0, 50, 9, + 4, 0, 51, 9, 4, 0, 52, 9, 4, 0, 53, 9, 4, 0, 54, 9, 4, 0, 55, 9, 4, 0, 56, 9, 72, 1, 2, 0, 7, 0,145, 2, + 4, 0, 17, 0,159, 0, 5, 0, 72, 1, 57, 9, 4, 0,186, 2, 4, 0, 58, 9, 4, 0, 59, 9, 4, 0, 17, 0,158, 0, 16, 0, + 4, 0, 60, 9, 4, 0, 61, 9, 4, 0, 62, 9, 4, 0, 63, 9, 2, 0, 64, 9, 2, 0, 65, 9, 2, 0, 66, 9, 2, 0,243, 0, + 2, 0, 67, 9, 2, 0, 68, 9, 2, 0, 69, 9, 2, 0, 70, 9, 4, 0, 71, 9, 4, 0, 72, 9, 4, 0, 73, 9, 4, 0, 74, 9, + 73, 1, 41, 0, 73, 1, 0, 0, 73, 1, 1, 0, 18, 0, 23, 9, 12, 0,171, 3, 0, 0, 18, 0, 2, 0, 17, 0, 2, 0, 75, 9, + 2, 0, 76, 9, 2, 0, 77, 9, 2, 0,130, 3, 2, 0, 78, 9, 4, 0, 65, 2, 4, 0, 53, 9, 4, 0, 54, 9, 70, 1, 79, 9, + 73, 1, 36, 0, 73, 1, 80, 9, 12, 0, 81, 9,159, 0,108, 3, 24, 0, 82, 9, 73, 1, 83, 9, 7, 0, 63, 1, 7, 0,166, 0, + 7, 0, 84, 9, 7, 0, 4, 2, 7, 0,120, 3, 7, 0,122, 3, 2, 0,153, 3, 2, 0, 35, 0, 7, 0, 85, 9, 7, 0, 86, 9, + 7, 0,125, 3, 7, 0, 87, 9, 7, 0, 88, 9, 7, 0, 89, 9, 7, 0, 90, 9, 7, 0, 91, 9, 7, 0, 92, 9, 7, 0, 93, 9, + 7, 0, 94, 9, 7, 0, 58, 2,156, 0, 16, 0, 12, 0, 95, 9, 68, 0, 96, 9, 2, 0, 17, 0, 2, 0, 35, 0, 4, 0, 97, 9, + 4, 0, 87, 0, 7, 0, 94, 2, 7, 0, 98, 9, 7, 0, 99, 9, 12, 0,100, 9, 4, 0,101, 9, 4, 0,102, 9, 9, 0,103, 9, + 9, 0,104, 9,158, 0,107, 3, 0, 0,105, 9, 74, 1, 1, 0, 4, 0,102, 9, 75, 1, 12, 0, 4, 0,102, 9, 7, 0,210, 8, + 2, 0,106, 9, 2, 0,107, 9, 7, 0,108, 9, 7, 0,109, 9, 2, 0,110, 9, 2, 0, 17, 0, 7, 0,111, 9, 7, 0,112, 9, + 7, 0,113, 9, 7, 0,114, 9, 76, 1, 7, 0, 76, 1, 0, 0, 76, 1, 1, 0, 12, 0,115, 9, 4, 0, 17, 0, 4, 0,116, 9, + 0, 0,251, 3,251, 0,117, 9,155, 0, 7, 0, 19, 0, 29, 0, 12, 0,118, 9, 12, 0, 95, 9, 12, 0,119, 9, 12, 0, 98, 0, + 4, 0, 17, 0, 4, 0,120, 9,215, 0, 5, 0, 19, 0,121, 9, 12, 0, 95, 9, 58, 0,122, 9, 4, 0,123, 9, 4, 0, 17, 0, + 77, 1, 13, 0,211, 0, 0, 0,211, 0, 1, 0, 12, 0, 36, 6, 4, 0, 37, 6, 7, 0, 38, 6, 2, 0, 39, 6,212, 0, 90, 6, +155, 0,103, 3,215, 0,124, 9, 0, 0, 68, 1, 0, 0, 93, 6, 2, 0, 17, 0, 7, 0,125, 9, 78, 1, 8, 0, 78, 1, 0, 0, + 78, 1, 1, 0, 76, 1,126, 9, 28, 0, 77, 0, 12, 0,109, 3, 4, 0, 17, 0, 0, 0, 18, 0, 4, 0,249, 7, 79, 1, 5, 0, + 79, 1, 0, 0, 79, 1, 1, 0, 28, 0, 77, 0, 2, 0, 17, 0, 0, 0,127, 9, 80, 1, 14, 0, 80, 1, 0, 0, 80, 1, 1, 0, + 9, 0, 2, 0, 2, 0, 15, 0, 2, 0, 17, 0, 0, 0,128, 9, 0, 0,129, 9, 0, 0,127, 9, 7, 0,130, 9, 7, 0,131, 9, + 4, 0, 35, 0, 28, 0, 77, 0, 7, 0,132, 9, 7, 0,133, 9, 81, 1, 9, 0, 81, 1, 0, 0, 81, 1, 1, 0, 24, 0,134, 9, + 0, 0,247, 2, 7, 0,135, 9, 2, 0,136, 9, 2, 0, 17, 0, 2, 0, 15, 0, 2, 0,137, 9, 82, 1, 7, 0, 34, 0,152, 6, + 18, 0, 23, 9, 4, 0, 17, 0, 4, 0,138, 9, 12, 0,139, 9, 24, 0,134, 9, 0, 0,247, 2, 83, 1, 15, 0, 24, 0,134, 9, + 2, 0,140, 9, 2, 0, 17, 0, 2, 0,141, 9, 2, 0,142, 9, 0, 0,247, 2, 24, 0,143, 9, 0, 0,144, 9, 7, 0,145, 9, + 7, 0, 25, 2, 7, 0,146, 9, 7, 0,147, 9, 2, 0, 15, 0, 2, 0, 68, 1, 7, 0, 75, 1, 84, 1, 6, 0, 24, 0,134, 9, + 7, 0, 57, 9, 2, 0,148, 9, 2, 0,149, 9, 2, 0, 17, 0, 2, 0,150, 9, 85, 1, 6, 0, 24, 0,134, 9, 4, 0,151, 9, + 4, 0,152, 9, 4, 0, 88, 0, 4, 0, 35, 0, 0, 0,247, 2, 86, 1, 4, 0, 24, 0,134, 9, 4, 0, 17, 0, 4, 0,151, 9, + 0, 0,247, 2, 87, 1, 4, 0, 24, 0,134, 9, 4, 0, 17, 0, 4, 0,151, 9, 0, 0,247, 2, 88, 1, 4, 0, 24, 0,134, 9, + 4, 0, 17, 0, 4, 0,151, 9, 0, 0,247, 2, 89, 1, 2, 0, 4, 0, 17, 0, 7, 0, 5, 4, 90, 1, 2, 0, 24, 0,134, 9, + 0, 0,247, 2, 91, 1, 10, 0, 24, 0,134, 9, 4, 0,153, 9, 7, 0,119, 0, 4, 0, 17, 0, 2, 0,150, 6, 2, 0,154, 9, + 2, 0, 87, 0, 2, 0, 67, 0, 7, 0,155, 9, 0, 0,247, 2, 92, 1, 10, 0, 24, 0,134, 9, 2, 0, 15, 0, 2, 0, 55, 4, + 4, 0, 85, 0, 4, 0, 86, 0, 7, 0,247, 8, 7, 0,248, 8, 4, 0, 35, 0,155, 0,218, 8, 0, 0,247, 2, 93, 1, 4, 0, + 24, 0,134, 9, 4, 0,131, 3, 4, 0,156, 9, 0, 0,247, 2, 94, 1, 4, 0, 24, 0,134, 9, 4, 0,131, 3, 4, 0, 35, 0, + 0, 0,247, 2, 95, 1, 6, 0, 24, 0,134, 9, 7, 0,119, 0, 7, 0, 62, 3, 4, 0,157, 9, 2, 0,131, 3, 2, 0,132, 3, + 96, 1, 6, 0, 24, 0,134, 9, 4, 0,158, 9, 4, 0,159, 9, 7, 0,160, 9, 7, 0,161, 9, 0, 0,247, 2, 97, 1, 16, 0, + 24, 0,134, 9, 24, 0, 80, 9, 4, 0, 15, 0, 7, 0,162, 9, 7, 0,163, 9, 7, 0,164, 9, 7, 0,165, 9, 7, 0,166, 9, + 7, 0,167, 9, 7, 0,168, 9, 7, 0,169, 9, 7, 0,170, 9, 2, 0, 17, 0, 2, 0, 35, 0, 2, 0, 87, 0, 2, 0, 67, 0, + 98, 1, 3, 0, 24, 0,134, 9, 4, 0, 17, 0, 4, 0, 17, 2, 99, 1, 5, 0, 24, 0,134, 9, 4, 0, 17, 0, 4, 0, 35, 0, + 7, 0,171, 9, 0, 0,247, 2,100, 1, 10, 0, 24, 0,134, 9, 0, 0,247, 2, 2, 0,172, 9, 2, 0,173, 9, 0, 0,174, 9, + 0, 0,175, 9, 7, 0,176, 9, 7, 0,177, 9, 7, 0,178, 9, 7, 0,179, 9,101, 1, 5, 0, 24, 0,134, 9, 0, 0,247, 2, + 7, 0,194, 2, 2, 0,180, 9, 2, 0, 17, 0,102, 1, 8, 0, 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, + 7, 0,181, 9, 7, 0,182, 9, 2, 0, 17, 0, 2, 0, 17, 2,103, 1, 8, 0, 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0, + 7, 0, 10, 0, 7, 0,181, 9, 7, 0,182, 9, 2, 0, 17, 0, 2, 0, 17, 2,104, 1, 8, 0, 7, 0, 7, 0, 7, 0, 8, 0, + 7, 0, 9, 0, 7, 0, 10, 0, 7, 0,181, 9, 7, 0,182, 9, 2, 0, 17, 0, 2, 0, 17, 2,105, 1, 7, 0, 24, 0,134, 9, + 0, 0,247, 2, 7, 0, 75, 1, 7, 0, 84, 1, 2, 0, 17, 0, 2, 0, 68, 1, 4, 0, 35, 0,106, 1, 5, 0, 24, 0, 50, 3, + 7, 0, 75, 1, 2, 0, 54, 3, 0, 0, 56, 3, 0, 0,183, 9,107, 1, 10, 0,107, 1, 0, 0,107, 1, 1, 0, 2, 0, 15, 0, + 2, 0, 17, 0, 0, 0,184, 9, 7, 0, 18, 1, 7, 0, 19, 1, 2, 0,115, 9, 2, 0,185, 9, 24, 0, 42, 0,108, 1, 22, 0, +108, 1, 0, 0,108, 1, 1, 0, 2, 0, 17, 0, 2, 0, 68, 1, 2, 0,186, 9, 2, 0,187, 9, 28, 0, 77, 0,155, 0,218, 8, + 24, 0,158, 0, 7, 0, 85, 0, 7, 0, 86, 0, 7, 0,188, 9, 7, 0,189, 9, 7, 0,190, 9, 7, 0,191, 9, 7, 0,233, 2, + 7, 0,192, 9, 7, 0,220, 8, 7, 0,193, 9, 0, 0,194, 9, 0, 0,195, 9, 12, 0,111, 3,109, 1, 8, 0, 7, 0, 32, 2, + 7, 0,247, 8, 7, 0,248, 8, 9, 0, 2, 0, 2, 0,196, 9, 2, 0,197, 9, 2, 0,198, 9, 2, 0,199, 9,110, 1, 19, 0, +110, 1, 0, 0,110, 1, 1, 0,110, 1,200, 9, 0, 0, 18, 0,109, 1,201, 9, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,202, 9, + 2, 0,203, 9,109, 1,204, 9, 2, 0,205, 9, 2, 0, 87, 0, 7, 0,206, 9, 7, 0,207, 9, 4, 0,208, 9,110, 1,209, 9, + 4, 0,210, 9, 4, 0, 67, 0,111, 1,211, 9,112, 1, 4, 0, 0, 0,212, 9, 2, 0,213, 9, 2, 0,214, 9, 4, 0, 35, 0, +113, 1, 34, 0,113, 1, 0, 0,113, 1, 1, 0,113, 1,215, 9, 0, 0, 18, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 70, 8, + 2, 0, 98, 8, 2, 0,216, 9, 2, 0,155, 6, 2, 0,205, 9, 2, 0,172, 8, 12, 0,213, 8, 12, 0,217, 9, 19, 0,189, 6, + 9, 0,218, 9, 7, 0,206, 9, 7, 0,207, 9, 7, 0, 67, 2, 7, 0,219, 9, 0, 0,220, 9, 2, 0,221, 9, 2, 0,222, 9, + 7, 0,223, 9, 7, 0,224, 9, 2, 0,225, 9, 2, 0,226, 9, 9, 0,227, 9, 16, 0,228, 9, 16, 0,229, 9, 16, 0,230, 9, +112, 1,145, 0,114, 1,231, 9,115, 1,232, 9,111, 1, 8, 0,111, 1, 0, 0,111, 1, 1, 0,113, 1,233, 9,113, 1,234, 9, +110, 1,235, 9,110, 1,236, 9, 4, 0, 17, 0, 4, 0, 35, 0, 52, 0, 23, 0, 19, 0, 29, 0, 31, 0, 72, 0,157, 0,106, 3, + 12, 0,237, 9, 12, 0,238, 9,109, 1,239, 9, 12, 0,240, 9, 4, 0, 15, 0, 4, 0,241, 9, 4, 0,242, 9, 4, 0,243, 9, + 4, 0, 17, 0, 4, 0, 35, 0, 12, 0,244, 9, 12, 0,213, 8, 12, 0,217, 9, 4, 0,245, 9, 9, 0,246, 9, 9, 0,247, 9, + 4, 0,248, 9, 9, 0,249, 9, 9, 0,250, 9, 9, 0,251, 9,116, 1, 6, 0, 4, 0,118, 0, 4, 0,120, 0, 4, 0,172, 8, + 0, 0,252, 9, 0, 0,253, 9, 2, 0, 35, 0,117, 1, 16, 0, 2, 0, 16, 8, 2, 0, 17, 8, 2, 0,254, 9, 2, 0,255, 9, + 2, 0, 0, 10, 2, 0, 65, 0, 2, 0,190, 6, 2, 0, 1, 10, 7, 0,232, 2, 7, 0, 2, 10, 7, 0, 3, 10, 2, 0, 90, 1, + 0, 0, 4, 10, 0, 0, 5, 10, 4, 0, 6, 10, 4, 0, 7, 10,118, 1, 9, 0, 7, 0, 8, 10, 7, 0, 9, 10, 7, 0, 17, 9, + 7, 0, 73, 3, 7, 0, 10, 10, 7, 0,107, 6, 2, 0, 71, 3, 0, 0, 11, 10, 0, 0, 35, 0,119, 1, 4, 0, 7, 0, 12, 10, + 7, 0, 13, 10, 2, 0, 71, 3, 2, 0, 35, 0,120, 1, 3, 0, 7, 0, 14, 10, 7, 0, 85, 8, 7, 0, 13, 0,121, 1, 7, 0, + 0, 0,249, 1, 2, 0, 19, 5, 2, 0, 20, 5, 2, 0, 21, 5, 2, 0,209, 4, 4, 0,120, 0, 4, 0, 53, 4,122, 1, 9, 0, + 7, 0, 15, 10, 7, 0, 16, 10, 7, 0, 17, 10, 7, 0, 78, 2, 7, 0, 18, 10, 7, 0, 19, 10, 7, 0, 20, 10, 2, 0, 21, 10, + 2, 0, 22, 10,123, 1, 8, 0, 2, 0, 23, 10, 2, 0, 24, 10, 2, 0, 25, 10, 2, 0, 26, 10, 7, 0, 27, 10, 7, 0, 28, 10, + 7, 0, 29, 10, 7, 0, 30, 10,124, 1, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0,125, 1, 2, 0, 0, 0,160, 0, 0, 0, 31, 10, +126, 1, 1, 0, 0, 0, 18, 0,127, 1, 10, 0, 0, 0, 32, 10, 0, 0, 33, 10, 0, 0, 99, 6, 0, 0, 34, 10, 2, 0,254, 9, + 2, 0, 35, 10, 7, 0, 36, 10, 7, 0, 37, 10, 7, 0, 38, 10, 7, 0,192, 9,128, 1, 2, 0, 9, 0, 39, 10, 9, 0, 40, 10, +129, 1, 11, 0, 0, 0, 21, 5, 0, 0, 15, 0, 0, 0, 71, 3, 0, 0, 73, 3, 0, 0, 41, 10, 0, 0,104, 0, 0, 0,157, 2, + 7, 0, 42, 10, 7, 0, 43, 10, 7, 0, 44, 10, 7, 0, 45, 10,130, 1, 8, 0, 7, 0,179, 8, 7, 0,119, 0, 7, 0, 5, 10, + 7, 0,150, 2, 7, 0, 46, 10, 7, 0,232, 0, 7, 0, 47, 10, 4, 0, 15, 0,131, 1, 4, 0, 2, 0, 48, 10, 2, 0, 49, 10, + 2, 0, 50, 10, 2, 0, 35, 0,132, 1, 8, 0, 7, 0, 51, 10, 7, 0,194, 2, 7, 0, 52, 10, 7, 0, 66, 8, 7, 0, 67, 8, + 7, 0, 68, 8, 7, 0, 53, 10, 7, 0, 54, 10,133, 1, 6, 0, 2, 0, 55, 10, 2, 0, 56, 10, 7, 0, 57, 10, 7, 0, 58, 10, + 7, 0, 59, 10, 7, 0, 60, 10,134, 1, 2, 0, 7, 0, 61, 10, 7, 0, 62, 10,135, 1, 1, 0, 4, 0, 35, 0,136, 1, 1, 0, + 4, 0, 35, 0,137, 1, 2, 0, 4, 0, 63, 10, 4, 0,200, 2,138, 1, 4, 0, 4, 0, 64, 10, 4, 0,242, 0, 4, 0, 65, 10, + 4, 0, 35, 0,139, 1, 2, 0, 4, 0, 66, 10, 4, 0, 67, 10,140, 1, 2, 0, 4, 0, 15, 0, 4, 0, 65, 10,141, 1, 6, 0, + 4, 0, 15, 0, 4, 0, 68, 10, 4, 0, 65, 10, 4, 0, 64, 10, 4, 0,242, 0, 4, 0, 35, 0,142, 1, 2, 0, 4, 0,242, 0, + 4, 0, 35, 0,143, 1, 4, 0, 4, 0, 15, 0, 4, 0, 65, 10, 4, 0, 64, 10, 4, 0, 35, 0,144, 1, 2, 0, 4, 0, 65, 10, + 4, 0, 69, 10,145, 1, 4, 0, 4, 0, 15, 0, 4, 0, 68, 10, 4, 0, 65, 10, 4, 0, 64, 10,146, 1, 1, 0, 0, 0, 18, 0, +147, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 2, 0, 17, 0, 2, 0, 70, 10,148, 1, 10, 0, 2, 0,239, 3, 2, 0, 17, 0, + 7, 0,138, 4, 7, 0, 71, 10, 7, 0, 72, 10, 7, 0, 73, 10, 7, 0, 74, 10,147, 1, 75, 10,147, 1, 76, 10,147, 1, 77, 10, + 55, 0, 11, 0, 4, 0, 17, 0, 4, 0, 61, 0, 4, 0, 78, 10, 4, 0, 79, 10, 16, 0, 80, 10, 16, 0, 81, 10,148, 1, 82, 10, + 7, 0, 83, 10, 7, 0, 84, 10, 7, 0, 85, 10, 7, 0, 86, 10,228, 0, 10, 0, 4, 0,115, 9, 4, 0, 87, 10, 7, 0, 88, 10, + 7, 0, 89, 10, 7, 0, 90, 10, 7, 0, 91, 10, 7, 0, 8, 0, 7, 0, 10, 0, 4, 0, 68, 1, 4, 0,237, 2,227, 0, 18, 0, + 4, 0,123, 0, 4, 0, 92, 10, 4, 0, 93, 10, 7, 0, 94, 10, 4, 0, 95, 10, 7, 0, 96, 10, 7, 0, 97, 10, 4, 0, 98, 10, + 7, 0, 99, 10, 4, 0,100, 10, 7, 0,101, 10,228, 0,102, 10, 7, 0,103, 10, 7, 0,104, 10, 7, 0,105, 10, 7, 0,106, 10, + 4, 0,107, 10, 4, 0, 35, 0,149, 1, 4, 0, 39, 0,224, 2, 7, 0,108, 10, 7, 0,157, 1, 7, 0, 35, 0,189, 0, 34, 0, + 19, 0, 29, 0,149, 1,109, 10, 55, 0, 75, 10, 43, 0,110, 10, 49, 0,111, 10, 22, 0,145, 0, 0, 0,112, 10, 7, 0,113, 10, + 2, 0, 1, 6, 2, 0,114, 10, 4, 0,104, 0, 4, 0, 17, 0, 7, 0,115, 10, 4, 0, 75, 2, 4, 0,116, 10, 7, 0,117, 10, + 7, 0,118, 10, 7, 0,119, 10, 7, 0,157, 1, 4, 0,120, 10, 7, 0,121, 10, 0, 0,122, 10, 0, 0,123, 10, 0, 0,124, 10, + 0, 0,125, 10, 7, 0,126, 10, 7, 0,127, 10, 7, 0,128, 10, 7, 0,237, 2, 7, 0,129, 10, 4, 0,130, 10, 7, 0,131, 10, + 7, 0,132, 10, 7, 0,133, 10,150, 1, 10, 0, 4, 0, 15, 0, 4, 0,119, 0, 4, 0, 17, 0, 4, 0,192, 3, 4, 0,134, 10, + 4, 0,135, 10, 4, 0,136, 10, 0, 0, 90, 0, 0, 0, 18, 0, 9, 0, 2, 0,151, 1, 1, 0, 0, 0, 58, 8, 84, 0, 7, 0, +150, 1,137, 10, 4, 0,138, 10, 4, 0,139, 10, 4, 0,140, 10, 4, 0, 35, 0, 9, 0,141, 10,151, 1,142, 10,152, 1, 5, 0, + 7, 0,145, 2, 7, 0,214, 2, 7, 0, 25, 2, 2, 0,121, 2, 2, 0, 35, 0,153, 1, 5, 0, 7, 0,145, 2, 7, 0,143, 10, + 7, 0,144, 10, 7, 0,145, 10, 7, 0,214, 2,154, 1, 5, 0, 24, 0,146, 10,155, 1, 20, 0, 7, 0,224, 5, 7, 0,147, 10, + 7, 0, 54, 0,156, 1, 3, 0, 7, 0,148, 10, 4, 0,149, 10, 4, 0,150, 10,157, 1, 7, 0, 4, 0,151, 10, 4, 0,152, 10, + 4, 0,153, 10, 7, 0,154, 10, 7, 0,155, 10, 7, 0,156, 10, 7, 0, 54, 0,158, 1, 8, 0,158, 1, 0, 0,158, 1, 1, 0, + 24, 0, 42, 0, 4, 0,251, 0, 2, 0, 17, 0, 2, 0, 68, 1, 7, 0,214, 2, 7, 0,187, 8,159, 1, 6, 0,159, 1, 0, 0, +159, 1, 1, 0, 24, 0, 42, 0, 2, 0,199, 2, 2, 0, 17, 0, 2, 0,157, 10,160, 1, 17, 0,153, 1,186, 3,153, 1,158, 10, +152, 1,159, 10,153, 1,170, 8,154, 1,160, 10, 4, 0, 79, 0, 7, 0,214, 2, 7, 0,243, 2, 7, 0,161, 10, 4, 0,151, 10, + 4, 0,162, 10, 7, 0,155, 10, 7, 0,156, 10, 7, 0,104, 0, 4, 0,163, 10, 2, 0, 17, 0, 2, 0,164, 10,161, 1, 15, 0, + 7, 0,247, 0, 7, 0,165, 10, 7, 0,148, 10, 7, 0,166, 10, 7, 0,167, 10, 7, 0,168, 10, 7, 0,169, 10, 7, 0,170, 10, + 7, 0,171, 10, 7, 0,172, 10, 7, 0,173, 10, 7, 0,174, 10, 7, 0,175, 10, 4, 0, 17, 0, 4, 0,176, 10,162, 1,121, 0, + 19, 0, 29, 0, 31, 0, 72, 0,163, 1,177, 10,161, 1,178, 10,166, 0, 75, 4, 4, 0, 17, 0, 4, 0, 54, 0, 2, 0, 15, 0, + 2, 0,172, 9, 2, 0,179, 10, 2, 0,103, 1, 2, 0,180, 10, 2, 0,153, 3, 2, 0,181, 10, 2, 0,182, 10, 2, 0,183, 10, + 2, 0,184, 10, 2, 0,185, 10, 2, 0,186, 10, 2, 0,187, 10, 2, 0,188, 10, 2, 0,189, 10, 2, 0,121, 5, 2, 0,190, 10, + 2, 0,191, 10, 2, 0,192, 10, 2, 0,193, 10, 2, 0,194, 10, 2, 0, 14, 2, 2, 0,163, 8, 2, 0,138, 8, 2, 0,195, 10, + 2, 0,196, 10, 2, 0,202, 3, 2, 0,203, 3, 2, 0,197, 10, 2, 0,198, 10, 2, 0,199, 10, 2, 0,200, 10, 7, 0,201, 10, + 7, 0,202, 10, 7, 0,203, 10, 7, 0,204, 10, 2, 0, 70, 5, 2, 0,205, 10, 7, 0,206, 10, 7, 0,207, 10, 7, 0,208, 10, + 7, 0,145, 8, 7, 0, 86, 0, 7, 0,243, 2, 7, 0,151, 8, 7, 0,209, 10, 7, 0,210, 10, 7, 0,211, 10, 7, 0,212, 10, + 4, 0,146, 8, 4, 0,144, 8, 4, 0,213, 10, 4, 0,214, 10, 7, 0,147, 8, 7, 0,148, 8, 7, 0,149, 8, 7, 0,215, 10, + 7, 0,216, 10, 7, 0,217, 10, 7, 0,218, 10, 7, 0,219, 10, 7, 0,220, 10, 7, 0,221, 10, 7, 0,222, 10, 7, 0,223, 10, + 7, 0,144, 3, 7, 0,104, 0, 7, 0,224, 10, 7, 0,225, 10, 7, 0,226, 10, 7, 0,227, 10, 7, 0,205, 0, 7, 0,228, 10, + 4, 0,229, 10, 4, 0,230, 10, 7, 0,231, 10, 7, 0,232, 10, 7, 0,233, 10, 7, 0,234, 10, 7, 0,235, 10, 7, 0,204, 0, + 7, 0,236, 10, 7, 0,229, 3, 7, 0,227, 3, 7, 0,228, 3, 7, 0,237, 10, 7, 0,238, 10, 7, 0,239, 10, 7, 0,240, 10, + 7, 0,241, 10, 7, 0,242, 10, 7, 0,243, 10, 7, 0,244, 10, 7, 0,245, 10, 7, 0,246, 10, 7, 0,247, 10, 7, 0,248, 10, + 7, 0,249, 10, 7, 0,250, 10, 7, 0,251, 10, 7, 0,252, 10, 7, 0,253, 10, 7, 0,254, 10, 4, 0,255, 10, 4, 0, 0, 11, + 43, 0,121, 1, 58, 0,176, 3, 12, 0, 1, 11, 58, 0, 2, 11, 24, 0, 3, 11, 24, 0, 4, 11, 28, 0, 77, 0,161, 0, 60, 1, +161, 0, 5, 11,140, 0, 50, 0,140, 0, 0, 0,140, 0, 1, 0,162, 1, 6, 11,160, 1, 7, 11,157, 1, 80, 9,169, 0, 1, 4, + 9, 0, 2, 4,164, 1, 8, 11,164, 1, 9, 11, 12, 0, 10, 11, 12, 0, 11, 11,125, 0, 12, 11,133, 0, 13, 11,133, 0, 14, 11, + 24, 0, 15, 11, 24, 0, 16, 11, 24, 0, 36, 0, 12, 0,139, 9, 0, 0, 18, 0, 7, 0,236, 0, 7, 0, 16, 3, 7, 0, 17, 11, + 7, 0, 18, 11, 4, 0,188, 2, 4, 0, 19, 11, 4, 0, 17, 0, 4, 0,146, 8, 4, 0, 20, 11, 4, 0, 21, 11, 4, 0, 22, 11, + 4, 0, 23, 11, 2, 0,243, 0, 2, 0, 24, 11, 2, 0, 25, 11, 2, 0, 26, 11, 0, 0, 27, 11, 2, 0, 28, 11, 2, 0, 29, 11, + 2, 0, 30, 11, 9, 0, 31, 11,129, 0, 74, 4, 12, 0, 1, 3, 12, 0, 32, 11,156, 1, 33, 11, 4, 0, 34, 11, 4, 0, 35, 11, +165, 1, 36, 11,131, 0, 13, 3,166, 1, 37, 11, 7, 0, 38, 11,127, 0, 37, 0,167, 1, 18, 9, 7, 0, 44, 4, 7, 0, 39, 11, + 7, 0, 40, 11, 7, 0,224, 5, 7, 0,154, 3, 7, 0,144, 3, 7, 0, 41, 11, 7, 0, 77, 2, 7, 0, 42, 11, 7, 0, 43, 11, + 7, 0, 44, 11, 7, 0, 45, 11, 7, 0, 46, 11, 7, 0, 47, 11, 7, 0, 45, 4, 7, 0, 48, 11, 7, 0, 49, 11, 7, 0, 50, 11, + 7, 0, 46, 4, 7, 0, 42, 4, 7, 0, 43, 4, 7, 0, 51, 11, 7, 0, 52, 11, 4, 0, 53, 11, 4, 0, 88, 0, 4, 0, 54, 11, + 4, 0, 55, 11, 2, 0, 56, 11, 2, 0, 57, 11, 2, 0, 58, 11, 2, 0, 59, 11, 2, 0, 60, 11, 2, 0, 61, 11, 2, 0, 62, 11, + 2, 0, 97, 5,166, 0, 75, 4,128, 0, 9, 0,167, 1, 63, 11, 7, 0, 64, 11, 7, 0, 65, 11, 7, 0,229, 1, 7, 0, 66, 11, + 4, 0, 88, 0, 2, 0, 67, 11, 2, 0, 68, 11, 58, 0,228, 1,168, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 3, 2, + 7, 0, 69, 11,169, 1, 6, 0,169, 1, 0, 0,169, 1, 1, 0,168, 1, 57, 9, 4, 0,249, 0, 2, 0, 70, 11, 2, 0, 17, 0, +170, 1, 5, 0,170, 1, 0, 0,170, 1, 1, 0, 12, 0, 71, 11, 4, 0, 72, 11, 4, 0, 17, 0,171, 1, 9, 0,171, 1, 0, 0, +171, 1, 1, 0, 12, 0,118, 0,170, 1, 73, 11, 4, 0, 17, 0, 2, 0, 70, 11, 2, 0, 74, 11, 7, 0, 89, 0, 0, 0, 75, 11, +157, 0, 6, 0, 19, 0, 29, 0, 12, 0, 38, 5, 4, 0, 17, 0, 2, 0, 76, 11, 2, 0, 77, 11, 9, 0, 78, 11,172, 1, 6, 0, + 12, 0, 79, 11, 4, 0, 80, 11, 4, 0, 81, 11, 4, 0, 17, 0, 4, 0, 35, 0,209, 0, 82, 11,173, 1, 17, 0, 19, 0, 29, 0, +174, 1, 83, 11,174, 1, 84, 11, 12, 0, 85, 11, 4, 0, 86, 11, 2, 0, 87, 11, 2, 0, 88, 11, 12, 0, 89, 11, 12, 0, 90, 11, +172, 1, 91, 11, 12, 0, 92, 11, 12, 0, 93, 11, 12, 0, 94, 11, 12, 0, 95, 11,175, 1, 96, 11, 12, 0, 97, 11,209, 0, 98, 11, +174, 1, 32, 0,174, 1, 0, 0,174, 1, 1, 0, 9, 0, 99, 11, 4, 0,250, 7, 2, 0,100, 11, 2, 0, 35, 0, 0, 1,101, 11, + 0, 1,102, 11, 0, 0,103, 11, 2, 0,104, 11, 2, 0,105, 11, 2, 0, 16, 8, 2, 0, 17, 8, 2, 0,106, 11, 2, 0,107, 11, + 2, 0,192, 3, 2, 0,222, 6, 2, 0,108, 11, 2, 0,109, 11, 2, 0,110, 11, 2, 0, 67, 0,176, 1,111, 11,177, 1,112, 11, +178, 1,113, 11, 4, 0,114, 11, 4, 0,115, 11, 9, 0,116, 11, 12, 0, 90, 11, 12, 0, 36, 8, 12, 0,117, 11, 12, 0,118, 11, + 12, 0,119, 11,179, 1, 17, 0,179, 1, 0, 0,179, 1, 1, 0, 0, 0,120, 11, 18, 0, 28, 0, 2, 0,121, 11, 2, 0, 15, 0, + 2, 0, 13, 0, 2, 0,122, 11, 2, 0,123, 11, 2, 0,124, 11, 2, 0,125, 11, 2, 0,126, 11, 2, 0, 17, 0, 2, 0,127, 11, + 2, 0, 29, 0, 2, 0, 35, 0,180, 1,128, 11,181, 1, 10, 0,181, 1, 0, 0,181, 1, 1, 0, 12, 0,129, 11, 0, 0,120, 11, + 2, 0,130, 11, 2, 0,131, 11, 2, 0, 17, 0, 2, 0,132, 11, 4, 0,133, 11, 9, 0,134, 11,175, 1, 7, 0,175, 1, 0, 0, +175, 1, 1, 0, 0, 0,120, 11, 0, 0,135, 11, 12, 0,195, 7, 4, 0,136, 11, 4, 0, 17, 0,221, 0, 14, 0,221, 0, 0, 0, +221, 0, 1, 0, 0, 0,120, 11, 18, 0, 28, 0,182, 1, 10, 8, 9, 0,137, 11, 9, 0,138, 11,180, 1,128, 11,172, 1,139, 11, + 12, 0,140, 11,221, 0,141, 11, 5, 1,128, 6, 2, 0, 17, 0, 2, 0, 97, 5,183, 1, 8, 0,183, 1, 0, 0,183, 1, 1, 0, + 9, 0, 2, 0, 9, 0,142, 11, 0, 0,251, 3, 2, 0, 15, 0, 2, 0, 17, 0, 7, 0,143, 11,184, 1, 5, 0, 7, 0,144, 11, + 4, 0,145, 11, 4, 0,146, 11, 4, 0, 68, 1, 4, 0, 17, 0,185, 1, 6, 0, 7, 0,147, 11, 7, 0,148, 11, 7, 0,149, 11, + 7, 0,150, 11, 4, 0, 15, 0, 4, 0, 17, 0,186, 1, 5, 0, 7, 0,247, 8, 7, 0,248, 8, 7, 0,214, 2, 2, 0, 28, 2, + 2, 0, 29, 2,187, 1, 5, 0,186, 1, 2, 0, 4, 0, 51, 0, 7, 0,151, 11, 7, 0,247, 8, 7, 0,248, 8,188, 1, 4, 0, + 2, 0,152, 11, 2, 0,153, 11, 2, 0,154, 11, 2, 0,155, 11,189, 1, 2, 0, 34, 0,183, 6, 18, 0, 23, 9,190, 1, 3, 0, + 16, 0,156, 11, 4, 0, 17, 0, 4, 0, 35, 0,191, 1, 6, 0, 7, 0,104, 0, 7, 0,216, 2, 7, 0,157, 11, 7, 0, 35, 0, + 2, 0,242, 0, 2, 0,158, 11,192, 1, 5, 0, 7, 0,159, 11, 7, 0,119, 0, 7, 0, 58, 9, 7, 0, 59, 9, 4, 0, 17, 0, +193, 1, 6, 0, 19, 0,189, 6, 0, 0,160, 11, 0, 0,161, 11, 2, 0,162, 11, 2, 0, 17, 0, 4, 0,163, 11,194, 1, 7, 0, +194, 1, 0, 0,194, 1, 1, 0, 0, 0,251, 3,193, 1,164, 11, 2, 0,165, 11, 2, 0, 15, 0, 7, 0, 58, 0,195, 1, 7, 0, + 12, 0,166, 11, 0, 0,167, 11, 9, 0,168, 11, 7, 0, 58, 0, 7, 0,143, 11, 4, 0, 15, 0, 4, 0, 17, 0,196, 1, 3, 0, + 7, 0,169, 11, 4, 0, 17, 0, 4, 0, 35, 0,197, 1, 15, 0,197, 1, 0, 0,197, 1, 1, 0, 76, 1,126, 9,195, 1, 59, 0, + 12, 0,111, 3, 27, 0, 47, 0,196, 1,170, 11, 4, 0, 51, 0, 7, 0, 58, 0, 2, 0, 17, 0, 2, 0, 11, 1, 4, 0,171, 11, + 0, 0,160, 11, 4, 0,172, 11, 7, 0,173, 11,198, 1, 2, 0, 0, 0,174, 11, 0, 0,175, 11,199, 1, 4, 0,199, 1, 0, 0, +199, 1, 1, 0,155, 0, 50, 3, 12, 0,176, 11,200, 1, 24, 0,200, 1, 0, 0,200, 1, 1, 0, 12, 0,177, 11,155, 0,218, 8, +199, 1,178, 11, 12, 0,179, 11, 12, 0,111, 3, 0, 0,251, 3, 7, 0,143, 11, 7, 0,180, 11, 7, 0, 85, 0, 7, 0, 86, 0, + 7, 0,188, 9, 7, 0,189, 9, 7, 0,233, 2, 7, 0,192, 9, 7, 0,220, 8, 7, 0,193, 9, 2, 0,181, 11, 2, 0,182, 11, + 2, 0, 87, 0, 2, 0, 15, 0, 4, 0, 17, 0, 4, 0, 67, 0,201, 1, 6, 0,201, 1, 0, 0,201, 1, 1, 0, 12, 0,177, 11, + 4, 0, 17, 0, 4, 0,149, 2, 0, 0,251, 3,202, 1, 11, 0,202, 1, 0, 0,202, 1, 1, 0, 19, 0,189, 6, 0, 0,183, 11, + 4, 0,163, 11, 2, 0,184, 11, 2, 0, 35, 0, 0, 0,160, 11, 4, 0,171, 11, 2, 0, 17, 0, 2, 0,185, 11,203, 1, 8, 0, +203, 1, 0, 0,203, 1, 1, 0, 12, 0,186, 11, 0, 0,251, 3, 0, 0,187, 11, 2, 0, 17, 0, 2, 0,185, 11, 4, 0,188, 11, +204, 1, 5, 0,204, 1, 0, 0,204, 1, 1, 0, 0, 0,160, 11, 4, 0,171, 11, 7, 0,204, 2, 31, 0, 12, 0,155, 0,103, 3, +155, 0,189, 11,199, 1,178, 11, 12, 0,190, 11,200, 1,191, 11, 12, 0,192, 11, 12, 0,193, 11, 4, 0, 17, 0, 4, 0,243, 0, + 2, 0,194, 11, 2, 0,195, 11, 7, 0,196, 11,205, 1, 2, 0, 19, 0, 29, 0, 31, 0, 72, 0,206, 1, 5, 0,206, 1, 0, 0, +206, 1, 1, 0, 4, 0, 15, 0, 4, 0, 17, 0, 0, 0, 18, 0,207, 1, 6, 0,206, 1,197, 11, 24, 0, 42, 0, 4, 0,198, 11, + 7, 0,199, 11, 4, 0,200, 11, 4, 0,115, 9,208, 1, 3, 0,206, 1,197, 11, 4, 0,198, 11, 7, 0,201, 11,209, 1, 8, 0, +206, 1,197, 11, 24, 0, 42, 0, 7, 0, 63, 1, 7, 0,202, 11, 7, 0, 16, 3, 7, 0, 17, 9, 4, 0,198, 11, 4, 0,203, 11, +210, 1, 5, 0,206, 1,197, 11, 7, 0,204, 11, 7, 0, 98, 8, 7, 0,239, 2, 7, 0, 54, 0,211, 1, 3, 0,206, 1,197, 11, + 7, 0, 17, 9, 7, 0,205, 11,155, 1, 4, 0, 7, 0,206, 11, 7, 0,225, 10, 2, 0,207, 11, 2, 0, 68, 1,212, 1, 14, 0, +212, 1, 0, 0,212, 1, 1, 0, 12, 0,208, 11, 12, 0,209, 11, 12, 0,210, 11, 0, 0, 18, 0, 4, 0, 29, 0, 4, 0, 17, 0, + 4, 0,211, 11, 7, 0,212, 11, 4, 0,200, 11, 4, 0,115, 9, 7, 0, 5, 4, 7, 0,241, 2,163, 1, 23, 0, 4, 0,198, 11, + 4, 0,213, 11, 7, 0,214, 11, 7, 0,237, 2, 7, 0,215, 11, 7, 0,234, 8, 7, 0,206, 11, 7, 0,216, 11, 7, 0,216, 2, + 7, 0, 94, 10, 7, 0,138, 4, 7, 0,217, 11, 7, 0,218, 11, 7, 0,219, 11, 7, 0,220, 11, 7, 0,221, 11, 7, 0,222, 11, + 7, 0,223, 11, 7, 0,224, 11, 7, 0,225, 11, 7, 0,226, 11, 7, 0,227, 11, 12, 0,228, 11,113, 0, 40, 0,112, 0,229, 11, +213, 1,178, 10, 58, 0,230, 11, 58, 0, 2, 11, 58, 0,231, 11,214, 1,232, 11, 40, 0,159, 0, 40, 0,233, 11, 40, 0,234, 11, + 7, 0,235, 11, 7, 0,236, 11, 7, 0,237, 11, 7, 0,238, 11, 7, 0,239, 11, 7, 0,249, 7, 7, 0,240, 11, 7, 0,157, 1, + 7, 0,241, 11, 4, 0,242, 11, 4, 0,243, 11, 4, 0,244, 11, 4, 0, 88, 0, 4, 0, 35, 0, 4, 0,245, 11, 2, 0,246, 11, + 2, 0,247, 11, 4, 0,248, 11, 7, 0,216, 2, 4, 0,249, 11, 7, 0,250, 11, 4, 0,251, 11, 4, 0,252, 11, 4, 0,253, 11, +129, 0,254, 11, 12, 0,255, 11,166, 0, 75, 4, 4, 0, 0, 12, 7, 0, 1, 12, 7, 0, 2, 12, 4, 0, 67, 0,114, 0, 12, 0, +112, 0,229, 11,140, 0, 36, 3, 7, 0,124, 1, 7, 0,249, 7, 7, 0, 3, 12, 7, 0, 4, 12, 7, 0, 5, 12, 2, 0, 6, 12, + 2, 0, 7, 12, 2, 0, 8, 12, 2, 0, 15, 0, 4, 0, 88, 0,115, 0, 13, 0,112, 0,229, 11,131, 0, 13, 3,133, 0, 15, 3, + 7, 0, 57, 9, 7, 0, 9, 12, 7, 0, 10, 12, 7, 0, 65, 1, 7, 0, 11, 12, 4, 0,148, 9, 4, 0, 9, 3, 2, 0, 15, 0, + 2, 0, 35, 0, 4, 0, 67, 0, 69, 78, 68, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0}; + diff --git a/source/blender/editors/include/ED_node.h b/source/blender/editors/include/ED_node.h index 829ad3217a9..e2cfed1ecb2 100644 --- a/source/blender/editors/include/ED_node.h +++ b/source/blender/editors/include/ED_node.h @@ -33,12 +33,14 @@ #ifndef ED_NODE_H #define ED_NODE_H +struct ID; +struct Main; struct Material; struct Scene; struct Tex; struct bContext; struct bNode; -struct ID; +struct bNodeTree; /* drawnode.c */ void ED_init_node_butfuncs(void); @@ -48,11 +50,14 @@ void ED_node_changed_update(struct ID *id, struct bNode *node); void ED_node_generic_update(struct Main *bmain, struct bNodeTree *ntree, struct bNode *node); /* node_edit.c */ -void ED_node_shader_default(struct Material *ma); +void ED_node_shader_default(struct ID *id); void ED_node_composit_default(struct Scene *sce); void ED_node_texture_default(struct Tex *tex); -/* node ops.c */ +/* node_layout.c */ +void ED_node_tree_auto_layout(struct bNodeTree *ntree, struct bNode *root); + +/* node_ops.c */ void ED_operatormacros_node(void); #endif /* ED_NODE_H */ diff --git a/source/blender/editors/include/ED_render.h b/source/blender/editors/include/ED_render.h index 651c298ad5e..623d5dff8a4 100644 --- a/source/blender/editors/include/ED_render.h +++ b/source/blender/editors/include/ED_render.h @@ -44,6 +44,8 @@ void ED_operatortypes_render(void); /* render_shading.c */ void ED_render_id_flush_update(struct Main *bmain, struct ID *id); +void ED_render_engine_changed(struct Main *bmain); +void ED_render_engine_update_tagged(struct Main *bmain); /* render_preview.c */ diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h index e0f34410673..b8d92f44025 100644 --- a/source/blender/editors/include/UI_interface.h +++ b/source/blender/editors/include/UI_interface.h @@ -66,6 +66,9 @@ struct uiWidgetColors; struct Tex; struct MTex; struct ImBuf; +struct bNodeTree; +struct bNode; +struct bNodeSocket; typedef struct uiBut uiBut; typedef struct uiBlock uiBlock; @@ -156,6 +159,7 @@ typedef struct uiLayout uiLayout; #define UI_BUT_VEC_SIZE_LOCK (1<<30) /* used to flag if color hsv-circle should keep luminance */ #define UI_BUT_COLOR_CUBIC (1<<31) /* cubic saturation for the color wheel */ +#define UI_BUT_NODE_LINK (1<<31) /* node link drawing hint for pulldowns */ #define UI_PANEL_WIDTH 340 #define UI_COMPACT_PANEL_WIDTH 160 @@ -716,6 +720,8 @@ void uiTemplateTextureImage(uiLayout *layout, struct bContext *C, struct Tex *te void uiTemplateReportsBanner(uiLayout *layout, struct bContext *C); void uiTemplateList(uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, const char *propname, struct PointerRNA *activeptr, const char *activeprop, int rows, int maxrows, int type); +void uiTemplateNodeLink(uiLayout *layout, struct ID *id, struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *input); +void uiTemplateNodeView(uiLayout *layout, struct bContext *C, struct ID *id, struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *input); /* items */ void uiItemO(uiLayout *layout, const char *name, int icon, const char *opname); diff --git a/source/blender/editors/interface/CMakeLists.txt b/source/blender/editors/interface/CMakeLists.txt index cf0c903e0a5..264909a325b 100644 --- a/source/blender/editors/interface/CMakeLists.txt +++ b/source/blender/editors/interface/CMakeLists.txt @@ -43,6 +43,7 @@ set(SRC interface_icons.c interface_layout.c interface_ops.c + interface_node.c interface_panel.c interface_regions.c interface_style.c diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index cf11effc57b..bab8557bc08 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -300,7 +300,7 @@ static void ui_apply_but_func(bContext *C, uiBut *but) after->func_arg3= but->func_arg3; after->funcN= but->funcN; - after->func_argN= but->func_argN; + after->func_argN= MEM_dupallocN(but->func_argN); after->rename_func= but->rename_func; after->rename_arg1= but->rename_arg1; @@ -404,6 +404,8 @@ static void ui_apply_but_funcs_after(bContext *C) after.func(C, after.func_arg1, after.func_arg2); if(after.funcN) after.funcN(C, after.func_argN, after.func_arg2); + if(after.func_argN) + MEM_freeN(after.func_argN); if(after.handle_func) after.handle_func(C, after.handle_func_arg, after.retval); @@ -5528,10 +5530,6 @@ static int ui_mouse_motion_towards_check(uiBlock *block, uiPopupBlockHandle *men int closer; if(!menu->dotowards) return 0; - if((block->direction & UI_TOP) || (block->direction & UI_DOWN)) { - menu->dotowards= 0; - return menu->dotowards; - } /* verify that we are moving towards one of the edges of the * menu block, in other words, in the triangle formed by the diff --git a/source/blender/editors/interface/interface_icons.c b/source/blender/editors/interface/interface_icons.c index 9507a1a07f4..1b7bf0fcb6d 100644 --- a/source/blender/editors/interface/interface_icons.c +++ b/source/blender/editors/interface/interface_icons.c @@ -946,6 +946,7 @@ static void icon_draw_size(float x, float y, int icon_id, float aspect, float al int w, h; icon = BKE_icon_get(icon_id); + alpha *= 0.75f; if (icon==NULL) { if (G.f & G_DEBUG) diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h index 6cca689d115..27c21f39527 100644 --- a/source/blender/editors/interface/interface_intern.h +++ b/source/blender/editors/interface/interface_intern.h @@ -80,6 +80,7 @@ typedef enum { UI_WTYPE_MENU_RADIO, UI_WTYPE_MENU_ICON_RADIO, UI_WTYPE_MENU_POINTER_LINK, + UI_WTYPE_MENU_NODE_LINK, UI_WTYPE_PULLDOWN, UI_WTYPE_MENU_ITEM, diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c index 7dc27805b40..41f7997491d 100644 --- a/source/blender/editors/interface/interface_layout.c +++ b/source/blender/editors/interface/interface_layout.c @@ -418,6 +418,9 @@ static void ui_item_array(uiLayout *layout, uiBlock *block, const char *name, in but->type= NUMSLI; } } + else if(subtype == PROP_DIRECTION) { + uiDefButR(block, BUT_NORMAL, 0, name, x, y, 100, 100, ptr, RNA_property_identifier(prop), 0, 0, 0, -1, -1, NULL); + } else { if(ELEM(subtype, PROP_COLOR, PROP_COLOR_GAMMA) && !expand) uiDefAutoButR(block, ptr, prop, -1, "", ICON_NONE, 0, 0, w, UI_UNIT_Y); @@ -533,9 +536,6 @@ static uiBut *ui_item_with_label(uiLayout *layout, uiBlock *block, const char *n /* BUTTONS_OT_file_browse calls uiFileBrowseContextProperty */ but= uiDefIconButO(block, BUT, "BUTTONS_OT_file_browse", WM_OP_INVOKE_DEFAULT, ICON_FILESEL, x, y, UI_UNIT_X, h, NULL); } - else if(subtype == PROP_DIRECTION) { - uiDefButR(block, BUT_NORMAL, 0, name, x, y, 100, 100, ptr, RNA_property_identifier(prop), index, 0, 0, -1, -1, NULL); - } else if(flag & UI_ITEM_R_EVENT) { uiDefButR(block, KEYEVT, 0, name, x, y, w, h, ptr, RNA_property_identifier(prop), index, 0, 0, -1, -1, NULL); } diff --git a/source/blender/editors/interface/interface_node.c b/source/blender/editors/interface/interface_node.c new file mode 100644 index 00000000000..3d0603206ee --- /dev/null +++ b/source/blender/editors/interface/interface_node.c @@ -0,0 +1,567 @@ +/* + * $Id$ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Contributor(s): Blender Foundation 2009. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +/** \file blender/editors/interface/interface_node.c + * \ingroup edinterface + */ + +#include +#include +#include + +#include "MEM_guardedalloc.h" + +#include "DNA_node_types.h" +#include "DNA_screen_types.h" + +#include "BLI_listbase.h" +#include "BLI_string.h" +#include "BLI_utildefines.h" + +#include "BKE_context.h" +#include "BKE_depsgraph.h" +#include "BKE_library.h" +#include "BKE_main.h" +#include "BKE_node.h" + +#include "RNA_access.h" + +#include "WM_api.h" +#include "WM_types.h" + +#include "UI_interface.h" +#include "interface_intern.h" + +/************************* Node Link Menu **************************/ + +#define UI_NODE_LINK_ADD 0 +#define UI_NODE_LINK_DISCONNECT -1 +#define UI_NODE_LINK_REMOVE -2 + +typedef struct NodeLinkArg { + ID *id; + bNodeTree *ntree; + bNode *node; + bNodeSocket *sock; + + bNodeTree *ngroup; + int type; + int output; +} NodeLinkArg; + +static void ui_node_tag_recursive(bNode *node) +{ + bNodeSocket *input; + + if(node->flag & NODE_TEST) + return; /* in case of cycles */ + + node->flag |= NODE_TEST; + + for(input=node->inputs.first; input; input=input->next) + if(input->link) + ui_node_tag_recursive(input->link->fromnode); +} + +static void ui_node_clear_recursive(bNode *node) +{ + bNodeSocket *input; + + if(!(node->flag & NODE_TEST)) + return; /* in case of cycles */ + + node->flag &= ~NODE_TEST; + + for(input=node->inputs.first; input; input=input->next) + if(input->link) + ui_node_clear_recursive(input->link->fromnode); +} + +static void ntree_notify(bContext *C, ID *id, bNodeTree *ntree) +{ + if(ntree->type==NTREE_SHADER) + WM_event_add_notifier(C, NC_MATERIAL|ND_NODES, id); + else if(ntree->type==NTREE_COMPOSIT) + WM_event_add_notifier(C, NC_SCENE|ND_NODES, id); + else if(ntree->type==NTREE_TEXTURE) + WM_event_add_notifier(C, NC_TEXTURE|ND_NODES, id); + + DAG_id_tag_update(id, 0); +} + +static void ui_node_remove_linked(bNodeTree *ntree, bNode *rem_node) +{ + bNode *node, *next; + bNodeSocket *sock; + + /* tag linked nodes to be removed */ + for(node=ntree->nodes.first; node; node=node->next) + node->flag &= ~NODE_TEST; + + ui_node_tag_recursive(rem_node); + + /* clear tags on nodes that are still used by other nodes */ + for(node=ntree->nodes.first; node; node=node->next) + if(!(node->flag & NODE_TEST)) + for(sock=node->inputs.first; sock; sock=sock->next) + if(sock->link && sock->link->fromnode != rem_node) + ui_node_clear_recursive(sock->link->fromnode); + + /* remove nodes */ + for(node=ntree->nodes.first; node; node=next) { + next = node->next; + + if(node->flag & NODE_TEST) { + if(node->id) + node->id->us--; + nodeFreeNode(ntree, node); + } + } + + //node_tree_verify_groups(ntree); +} + +static void ui_node_sock_name(bNodeSocket *sock, char name[UI_MAX_NAME_STR]) +{ + if(sock->link) { + bNode *node = sock->link->fromnode; + + if(node->type == NODE_GROUP) + BLI_strncpy(name, node->id->name+2, UI_MAX_NAME_STR); + else + BLI_strncpy(name, node->typeinfo->name, UI_MAX_NAME_STR); + + if(node->inputs.first == NULL && + node->outputs.first != node->outputs.last && + !(node->typeinfo->flag & NODE_OPTIONS)) + BLI_snprintf(name, UI_MAX_NAME_STR, "%s | %s", name, sock->link->fromsock->name); + } + else if(sock->type == SOCK_CLOSURE) + BLI_strncpy(name, "None", UI_MAX_NAME_STR); + else + BLI_strncpy(name, "Default", UI_MAX_NAME_STR); +} + +static void ui_node_link(bContext *C, void *arg_p, void *event_p) +{ + NodeLinkArg *arg = (NodeLinkArg*)arg_p; + ID *id = arg->id; + bNode *node_to = arg->node; + bNodeSocket *sock_to = arg->sock; + bNodeTree *ntree = arg->ntree; + bNode *node_from; + bNodeSocket *sock_from; + int event = GET_INT_FROM_POINTER(event_p); + + if(event == UI_NODE_LINK_DISCONNECT) { + /* disconnect */ + if(sock_to->link) + nodeRemLink(ntree, sock_to->link); + } + else if(event == UI_NODE_LINK_REMOVE) { + /* remove */ + if(sock_to->link) + ui_node_remove_linked(ntree, sock_to->link->fromnode); + } + else { + bNode *node_prev = NULL; + + /* unlink existing node */ + if(sock_to->link) { + node_prev = sock_to->link->fromnode; + nodeRemLink(ntree, sock_to->link); + } + + /* find existing node that we can use */ + for(node_from=ntree->nodes.first; node_from; node_from=node_from->next) + if(node_from->type == arg->type) + break; + + if(node_from) + if(!(node_from->inputs.first == NULL && !(node_from->typeinfo->flag & NODE_OPTIONS))) + node_from = NULL; + + /* add new node */ + if(!node_from) { + if(arg->ngroup) + node_from = nodeAddNodeType(ntree, NODE_GROUP, arg->ngroup, NULL); + else + node_from = nodeAddNodeType(ntree, arg->type, NULL, NULL); + + node_from->locx = node_to->locx - (node_from->typeinfo->width + 50); + node_from->locy = node_to->locy; + + if(node_from->id) + id_us_plus(node_from->id); + } + + /* add link */ + sock_from = BLI_findlink(&node_from->outputs, arg->output); + nodeAddLink(ntree, node_from, sock_from, node_to, sock_to); + + /* copy input sockets from previous node */ + if(node_prev && node_from != node_prev) { + bNodeSocket *sock_prev, *sock_from; + + for(sock_prev=node_prev->inputs.first; sock_prev; sock_prev=sock_prev->next) { + for(sock_from=node_from->inputs.first; sock_from; sock_from=sock_from->next) { + if(strcmp(sock_prev->name, sock_from->name) == 0 && sock_prev->type == sock_from->type) { + bNodeLink *link = sock_prev->link; + + if(link) { + nodeAddLink(ntree, link->fromnode, link->fromsock, node_from, sock_from); + nodeRemLink(ntree, link); + } + + memcpy(sock_from->ns.vec, sock_prev->ns.vec, sizeof(sock_from->ns.vec)); + } + } + } + + /* remove node */ + ui_node_remove_linked(ntree, node_prev); + } + + NodeTagChanged(ntree, node_from); + } + + NodeTagChanged(ntree, node_to); + ntreeSolveOrder(ntree); + + ntree_notify(C, id, ntree); +} + +static int ui_compatible_sockets(int typeA, int typeB) +{ + if(typeA == SOCK_CLOSURE || typeB == SOCK_CLOSURE) + return (typeA == typeB); + + return (typeA == typeB); +} + +static bNodeSocketType *ui_node_input_socket_type(bNode *node, bNodeSocket *sock) +{ + if(node->type == NODE_GROUP) + return NULL; + + return &node->typeinfo->inputs[BLI_findindex(&node->inputs, sock)]; +} + +static void ui_node_menu_column(Main *bmain, NodeLinkArg *arg, uiLayout *layout, const char *cname, int nclass) +{ + bNodeTree *ntree = arg->ntree; + bNodeSocket *sock = arg->sock; + uiLayout *column = NULL; + uiBlock *block = uiLayoutGetBlock(layout); + uiBut *but; + bNodeType *ntype; + bNodeTree *ngroup; + NodeLinkArg *argN; + int first = 1; + + if(nclass == NODE_CLASS_GROUP) { + for(ngroup=bmain->nodetree.first; ngroup; ngroup=ngroup->id.next) { + bNodeSocket *gsock; + char name[UI_MAX_NAME_STR]; + int i, j, num = 0; + + if(ngroup->type != ntree->type) + continue; + + for(gsock=ngroup->inputs.first; gsock; gsock=gsock->next) + if(ui_compatible_sockets(gsock->type, sock->type)) + num++; + + for(i=0, j=0, gsock=ngroup->outputs.first; gsock; gsock=gsock->next, i++) { + if(!ui_compatible_sockets(gsock->type, sock->type)) + continue; + + if(first) { + column= uiLayoutColumn(layout, 0); + uiBlockSetCurLayout(block, column); + + uiItemL(column, cname, ICON_NONE); + but= block->buttons.last; + but->flag= UI_TEXT_LEFT; + + first = 0; + } + + if(num > 1) { + if(j == 0) { + uiItemL(column, ngroup->id.name+2, ICON_NONE); + but= block->buttons.last; + but->flag= UI_TEXT_LEFT; + } + + BLI_snprintf(name, UI_MAX_NAME_STR, " %s", gsock->name); + j++; + } + else + BLI_strncpy(name, ngroup->id.name+2, UI_MAX_NAME_STR); + + but = uiDefBut(block, BUT, 0, ngroup->id.name+2, 0, 0, UI_UNIT_X*4, UI_UNIT_Y, + NULL, 0.0, 0.0, 0.0, 0.0, "Add node to input"); + + argN = MEM_dupallocN(arg); + argN->ngroup = ngroup; + argN->output = i; + uiButSetNFunc(but, ui_node_link, argN, NULL); + } + } + } + else { + for(ntype=ntree->alltypes.first; ntype; ntype=ntype->next) { + bNodeSocketType *stype; + char name[UI_MAX_NAME_STR]; + int i, j, num = 0; + + if(ntype->nclass != nclass) + continue; + + for(i=0, stype=ntype->outputs; stype && stype->type != -1; stype++, i++) + if(ui_compatible_sockets(stype->type, sock->type)) + num++; + + for(i=0, j=0, stype=ntype->outputs; stype && stype->type != -1; stype++, i++) { + if(!ui_compatible_sockets(stype->type, sock->type)) + continue; + + if(first) { + column= uiLayoutColumn(layout, 0); + uiBlockSetCurLayout(block, column); + + uiItemL(column, cname, ICON_NONE); + but= block->buttons.last; + but->flag= UI_TEXT_LEFT; + + first = 0; + } + + if(num > 1) { + if(j == 0) { + uiItemL(column, ntype->name, ICON_NONE); + but= block->buttons.last; + but->flag= UI_TEXT_LEFT; + } + + BLI_snprintf(name, UI_MAX_NAME_STR, " %s", stype->name); + j++; + } + else + BLI_strncpy(name, ntype->name, UI_MAX_NAME_STR); + + but = uiDefBut(block, BUT, 0, name, 0, 0, UI_UNIT_X*4, UI_UNIT_Y, + NULL, 0.0, 0.0, 0.0, 0.0, "Add node to input"); + + argN = MEM_dupallocN(arg); + argN->type = ntype->type; + argN->output = i; + uiButSetNFunc(but, ui_node_link, argN, NULL); + } + } + } +} + +static void ui_template_node_link_menu(bContext *C, uiLayout *layout, void *but_p) +{ + Main *bmain= CTX_data_main(C); + uiBlock *block = uiLayoutGetBlock(layout); + uiBut *but = (uiBut*)but_p; + uiLayout *split, *column; + NodeLinkArg *arg = (NodeLinkArg*)but->func_argN; + bNodeSocket *sock = arg->sock; + + uiBlockSetCurLayout(block, layout); + split= uiLayoutSplit(layout, 0, 0); + + ui_node_menu_column(bmain, arg, split, "Input", NODE_CLASS_INPUT); + ui_node_menu_column(bmain, arg, split, "Output", NODE_CLASS_OUTPUT); + ui_node_menu_column(bmain, arg, split, "Closure", NODE_CLASS_CLOSURE); + ui_node_menu_column(bmain, arg, split, "Texture", NODE_CLASS_TEXTURE); + ui_node_menu_column(bmain, arg, split, "Color", NODE_CLASS_OP_COLOR); + ui_node_menu_column(bmain, arg, split, "Vector", NODE_CLASS_OP_VECTOR); + ui_node_menu_column(bmain, arg, split, "Convertor", NODE_CLASS_CONVERTOR); + + column= uiLayoutColumn(split, 0); + uiBlockSetCurLayout(block, column); + + if(sock->link) { + uiItemL(column, "Link", ICON_NONE); + but= block->buttons.last; + but->flag= UI_TEXT_LEFT; + + but = uiDefBut(block, BUT, 0, "Remove", 0, 0, UI_UNIT_X*4, UI_UNIT_Y, + NULL, 0.0, 0.0, 0.0, 0.0, "Remove nodes connected to the input"); + uiButSetNFunc(but, ui_node_link, MEM_dupallocN(arg), SET_INT_IN_POINTER(UI_NODE_LINK_REMOVE)); + + but = uiDefBut(block, BUT, 0, "Disconnect", 0, 0, UI_UNIT_X*4, UI_UNIT_Y, + NULL, 0.0, 0.0, 0.0, 0.0, "Disconnect nodes connected to the input"); + uiButSetNFunc(but, ui_node_link, MEM_dupallocN(arg), SET_INT_IN_POINTER(UI_NODE_LINK_DISCONNECT)); + } + + ui_node_menu_column(bmain, arg, column, "Group", NODE_CLASS_GROUP); +} + +void uiTemplateNodeLink(uiLayout *layout, ID *id, bNodeTree *ntree, bNode *node, bNodeSocket *sock) +{ + uiBlock *block = uiLayoutGetBlock(layout); + NodeLinkArg *arg; + uiBut *but; + bNodeSocketType *stype = ui_node_input_socket_type(node, sock); + + arg = MEM_callocN(sizeof(NodeLinkArg), "NodeLinkArg"); + arg->id = id; + arg->ntree = ntree; + arg->node = node; + arg->sock = sock; + arg->type = 0; + arg->output = 0; + + uiBlockSetCurLayout(block, layout); + + if(sock->link || sock->type == SOCK_CLOSURE || (stype && (stype->flag & SOCK_NO_VALUE))) { + char name[UI_MAX_NAME_STR]; + ui_node_sock_name(sock, name); + but= uiDefMenuBut(block, ui_template_node_link_menu, NULL, name, 0, 0, UI_UNIT_X*4, UI_UNIT_Y, ""); + } + else + but= uiDefIconMenuBut(block, ui_template_node_link_menu, NULL, ICON_NONE, 0, 0, UI_UNIT_X, UI_UNIT_Y, ""); + + but->type= MENU; + but->flag |= UI_TEXT_LEFT|UI_BUT_NODE_LINK; + but->poin= (char*)but; + but->func_argN = arg; +} + +/************************* Node Tree Layout **************************/ + +static void ui_node_draw_input(uiLayout *layout, bContext *C, ID *id, bNodeTree *ntree, bNode *node, bNodeSocket *input, int depth) +{ + PointerRNA inputptr; + uiBlock *block = uiLayoutGetBlock(layout); + uiBut *bt; + uiLayout *split, *row, *col; + bNode *lnode; + bNodeSocket *linput; + char label[UI_MAX_NAME_STR]; + int indent = (depth > 1)? 2*(depth - 1): 0; + + /* to avoid eternal loops on cyclic dependencies */ + node->flag |= NODE_TEST; + lnode = (input->link)? input->link->fromnode: NULL; + + /* socket RNA pointer */ + RNA_pointer_create(&ntree->id, &RNA_NodeSocket, input, &inputptr); + + /* indented label */ + memset(label, ' ', indent); + label[indent] = '\0'; + BLI_snprintf(label, UI_MAX_NAME_STR, "%s%s:", label, input->name); + + /* split in label and value */ + split = uiLayoutSplit(layout, 0.35f, 0); + + row = uiLayoutRow(split, 1); + + if(depth > 0) { + uiBlockSetEmboss(block, UI_EMBOSSN); + + if(lnode && (lnode->inputs.first || (lnode->typeinfo->uifunc && lnode->type != NODE_GROUP))) { + int icon = (input->flag & SOCK_COLLAPSED)? ICON_DISCLOSURE_TRI_RIGHT: ICON_DISCLOSURE_TRI_DOWN; + uiItemR(row, &inputptr, "show_expanded", UI_ITEM_R_ICON_ONLY, "", icon); + } + else + uiItemL(row, "", ICON_BLANK1); + + bt = block->buttons.last; + bt->x2 = UI_UNIT_X/2; + + uiBlockSetEmboss(block, UI_EMBOSS); + } + + uiItemL(row, label, ICON_NONE); + + if(lnode) { + /* input linked to a node */ + uiTemplateNodeLink(split, id, ntree, node, input); + + if(!(input->flag & SOCK_COLLAPSED)) { + if(depth == 0) + uiItemS(layout); + + if(lnode->typeinfo->uifunc) { + if(lnode->type != NODE_GROUP) { + PointerRNA lnodeptr; + + split = uiLayoutSplit(layout, 0.35f, 0); + col = uiLayoutColumn(split, 0); + col = uiLayoutColumn(split, 0); + + RNA_pointer_create(&ntree->id, &RNA_Node, lnode, &lnodeptr); + lnode->typeinfo->uifunc(col, C, &lnodeptr); + } + } + + for(linput=lnode->inputs.first; linput; linput=linput->next) + ui_node_draw_input(layout, C, id, ntree, lnode, linput, depth+1); + } + } + else { + bNodeSocketType *stype = ui_node_input_socket_type(node, input); + + /* input not linked, show value */ + if(input->type != SOCK_CLOSURE && (!stype || !(stype->flag & SOCK_NO_VALUE))) { + if(input->type == SOCK_VECTOR) { + row = uiLayoutRow(split, 0); + col = uiLayoutColumn(row, 0); + + uiItemR(col, &inputptr, "default_value", 0, "", 0); + } + else { + row = uiLayoutRow(split, 1); + uiItemR(row, &inputptr, "default_value", 0, "", 0); + } + } + else + row = uiLayoutRow(split, 0); + + uiTemplateNodeLink(row, id, ntree, node, input); + } + + /* clear */ + node->flag &= ~NODE_TEST; +} + +void uiTemplateNodeView(uiLayout *layout, bContext *C, ID *id, bNodeTree *ntree, bNode *node, bNodeSocket *input) +{ + bNode *tnode; + + /* clear for cycle check */ + for(tnode=ntree->nodes.first; tnode; tnode=tnode->next) + tnode->flag &= ~NODE_TEST; + + ui_node_draw_input(layout, C, id, ntree, node, input, 0); +} + diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c index 6677f2b1bae..1c7806a26a1 100644 --- a/source/blender/editors/interface/interface_panel.c +++ b/source/blender/editors/interface/interface_panel.c @@ -421,12 +421,12 @@ static void ui_draw_panel_dragwidget(rctf *rect) dy= 0.333f*(ymax-ymin); glEnable(GL_BLEND); - glColor4ub(255, 255, 255, 50); + glColor4ub(255, 255, 255, 20); fdrawline(xmin, ymax, xmax, ymin); fdrawline(xmin+dx, ymax, xmax, ymin+dy); fdrawline(xmin+2*dx, ymax, xmax, ymin+2*dy); - glColor4ub(0, 0, 0, 50); + glColor4ub(0, 0, 0, 20); fdrawline(xmin, ymax+1, xmax, ymin+1); fdrawline(xmin+dx, ymax+1, xmax, ymin+dy+1); fdrawline(xmin+2*dx, ymax+1, xmax, ymin+2*dy+1); @@ -493,24 +493,23 @@ void ui_draw_aligned_panel(uiStyle *style, uiBlock *block, rcti *rect) headrect.ymin= headrect.ymax; headrect.ymax= headrect.ymin + floor(PNL_HEADER/block->aspect + 0.001f); - if(!(panel->runtime_flag & PNL_FIRST)) { + { float minx= rect->xmin+5.0f/block->aspect; float maxx= rect->xmax-5.0f/block->aspect; float y= headrect.ymax; glEnable(GL_BLEND); - glColor4f(0.0f, 0.0f, 0.0f, 0.5f); - fdrawline(minx, y+1, maxx, y+1); - glColor4f(1.0f, 1.0f, 1.0f, 0.25f); - fdrawline(minx, y, maxx, y); + glColor4f(0.0f, 0.0f, 0.0f, 0.1f); + uiSetRoundBox(15); + uiDrawBox(GL_POLYGON, minx, headrect.ymin, maxx, y+1, 4); glDisable(GL_BLEND); } /* horizontal title */ if(!(panel->flag & PNL_CLOSEDX)) { ui_draw_aligned_panel_header(style, block, &headrect, 'h'); - - /* itemrect smaller */ + + /* itemrect smaller */ itemrect.xmax= headrect.xmax - 5.0f/block->aspect; itemrect.xmin= itemrect.xmax - (headrect.ymax-headrect.ymin); itemrect.ymin= headrect.ymin; @@ -535,7 +534,7 @@ void ui_draw_aligned_panel(uiStyle *style, uiBlock *block, rcti *rect) /* in some occasions, draw a border */ if(panel->flag & PNL_SELECT) { if(panel->control & UI_PNL_SOLID) uiSetRoundBox(15); - else uiSetRoundBox(3); + else uiSetRoundBox(0); UI_ThemeColorShade(TH_BACK, -120); uiRoundRect(0.5f + rect->xmin, 0.5f + rect->ymin, 0.5f + rect->xmax, 0.5f + headrect.ymax+1, 8); @@ -564,7 +563,7 @@ void ui_draw_aligned_panel(uiStyle *style, uiBlock *block, rcti *rect) itemrect.ymin= headrect.ymin; itemrect.ymax= headrect.ymax; - rectf_scale(&itemrect, 0.5f); + rectf_scale(&itemrect, 0.35f); if(panel->flag & PNL_CLOSEDY) ui_draw_tria_rect(&itemrect, 'h'); @@ -572,8 +571,6 @@ void ui_draw_aligned_panel(uiStyle *style, uiBlock *block, rcti *rect) ui_draw_tria_rect(&itemrect, 'h'); else ui_draw_tria_rect(&itemrect, 'v'); - - } /************************** panel alignment *************************/ diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c index 09e4b153d98..6c695429f57 100644 --- a/source/blender/editors/interface/interface_widgets.c +++ b/source/blender/editors/interface/interface_widgets.c @@ -196,7 +196,7 @@ static void widget_init(uiWidgetBase *wtb) wtb->inner= 1; wtb->outline= 1; - wtb->emboss= 1; + wtb->emboss= 0; wtb->shadedir= 1; } @@ -1142,6 +1142,13 @@ static void widget_draw_text_icon(uiFontStyle *fstyle, uiWidgetColors *wcol, uiB widget_draw_icon(but, ICON_DOT, dualset?1.0f:0.25f, rect); } + else if(but->type==MENU && (but->flag & UI_BUT_NODE_LINK)) { + /* node link hacking */ + int tmp = rect->xmin; + rect->xmin = rect->xmax - (rect->ymax - rect->ymin) - 1; + widget_draw_icon(but, ICON_LAYER_USED, 1.0f, rect); + rect->xmin = tmp; + } /* If there's an icon too (made with uiDefIconTextBut) then draw the icon and offset the text label to accommodate it */ @@ -2489,6 +2496,34 @@ static void widget_menuiconbut(uiWidgetColors *wcol, rcti *rect, int UNUSED(stat widgetbase_draw(&wtb, wcol); } +static void widget_menunodebut(uiWidgetColors *wcol, rcti *rect, int UNUSED(state), int roundboxalign) +{ + /* silly node link button hacks */ + uiWidgetBase wtb; + unsigned char tmp[4]; + unsigned char tmp2[4]; + + widget_init(&wtb); + + /* half rounded */ + round_box_edges(&wtb, roundboxalign, rect, 4.0f); + + memcpy(tmp, wcol->inner, sizeof(char)*4); + memcpy(tmp2, wcol->outline, sizeof(char)*4); + wcol->inner[0] += 15; + wcol->inner[1] += 15; + wcol->inner[2] += 15; + wcol->outline[0] += 15; + wcol->outline[1] += 15; + wcol->outline[2] += 15; + + /* decoration */ + widgetbase_draw(&wtb, wcol); + + memcpy(wcol->inner, tmp, sizeof(char)*4); + memcpy(wcol->outline, tmp2, sizeof(char)*4); +} + static void widget_pulldownbut(uiWidgetColors *wcol, rcti *rect, int state, int UNUSED(roundboxalign)) { if(state & UI_ACTIVE) { @@ -2762,6 +2797,11 @@ static uiWidgetType *widget_type(uiWidgetTypeEnum type) wt.wcol_theme= &btheme->tui.wcol_menu; wt.draw= widget_menubut; break; + + case UI_WTYPE_MENU_NODE_LINK: + wt.wcol_theme= &btheme->tui.wcol_menu; + wt.draw= widget_menunodebut; + break; case UI_WTYPE_PULLDOWN: wt.wcol_theme= &btheme->tui.wcol_pulldown; @@ -2964,7 +3004,9 @@ void ui_draw_but(const bContext *C, ARegion *ar, uiStyle *style, uiBut *but, rct case MENU: case BLOCK: case ICONTEXTROW: - if(!but->str[0] && but->icon) + if(but->flag & UI_BUT_NODE_LINK) + wt= widget_type(UI_WTYPE_MENU_NODE_LINK); + else if(!but->str[0] && but->icon) wt= widget_type(UI_WTYPE_MENU_ICON_RADIO); else wt= widget_type(UI_WTYPE_MENU_RADIO); diff --git a/source/blender/editors/interface/view2d.c b/source/blender/editors/interface/view2d.c index 32301dd6423..50f8d2d518f 100644 --- a/source/blender/editors/interface/view2d.c +++ b/source/blender/editors/interface/view2d.c @@ -277,9 +277,10 @@ void UI_view2d_region_reinit(View2D *v2d, short type, int winx, int winy) v2d->align= (V2D_ALIGN_NO_NEG_X|V2D_ALIGN_NO_POS_Y); v2d->keeptot= V2D_KEEPTOT_BOUNDS; - v2d->scroll |= (V2D_SCROLL_RIGHT|V2D_SCROLL_BOTTOM); + /*v2d->scroll |= (V2D_SCROLL_RIGHT|V2D_SCROLL_BOTTOM); v2d->scroll |= V2D_SCROLL_HORIZONTAL_HIDE; - v2d->scroll &= ~V2D_SCROLL_VERTICAL_HIDE; + v2d->scroll &= ~V2D_SCROLL_VERTICAL_HIDE;*/ + v2d->scroll= 0; v2d->tot.xmin= 0.0f; v2d->tot.xmax= winx; @@ -289,7 +290,7 @@ void UI_view2d_region_reinit(View2D *v2d, short type, int winx, int winy) v2d->cur.xmin= 0.0f; /* bad workaround for keeping zoom level with scrollers */ - v2d->cur.xmax= (winx - V2D_SCROLL_WIDTH)*panelzoom; + v2d->cur.xmax= (winx/* - V2D_SCROLL_WIDTH*/)*panelzoom; v2d->cur.ymax= 0.0f; v2d->cur.ymin= (-winy)*panelzoom; diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c index c425ef5a36a..4ec7696fcf5 100644 --- a/source/blender/editors/object/object_add.c +++ b/source/blender/editors/object/object_add.c @@ -85,6 +85,7 @@ #include "ED_curve.h" #include "ED_mball.h" #include "ED_mesh.h" +#include "ED_node.h" #include "ED_object.h" #include "ED_render.h" #include "ED_screen.h" @@ -686,6 +687,7 @@ static const char *get_lamp_defname(int type) static int object_lamp_add_exec(bContext *C, wmOperator *op) { Object *ob; + Lamp *la; int type= RNA_enum_get(op->ptr, "type"); int enter_editmode; unsigned int layer; @@ -696,9 +698,14 @@ static int object_lamp_add_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; ob= ED_object_add_type(C, OB_LAMP, loc, rot, FALSE, layer); - ((Lamp*)ob->data)->type= type; - rename_id((ID *)ob, get_lamp_defname(type)); - rename_id((ID *)ob->data, get_lamp_defname(type)); + la= (Lamp*)ob->data; + + la->type= type; + rename_id(&ob->id, get_lamp_defname(type)); + rename_id(&la->id, get_lamp_defname(type)); + + ED_node_shader_default(&la->id); + la->use_nodes= 1; return OPERATOR_FINISHED; } diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c index 905f88c5f90..4ab5d3c78fb 100644 --- a/source/blender/editors/render/render_preview.c +++ b/source/blender/editors/render/render_preview.c @@ -74,7 +74,9 @@ #include "BKE_main.h" #include "BKE_material.h" #include "BKE_node.h" +#include "BKE_object.h" #include "BKE_texture.h" +#include "BKE_world.h" #include "IMB_imbuf.h" #include "IMB_imbuf_types.h" @@ -158,9 +160,11 @@ typedef struct ShaderPreview { ID *parent; MTex *slot; - /* node materials/texture need full copy during preview render, glsl uses it too */ + /* datablocks with nodes need full copy during preview render, glsl uses it too */ Material *matcopy; Tex *texcopy; + Lamp *lampcopy; + World *worldcopy; float col[4]; /* active object color */ @@ -394,7 +398,7 @@ static Scene *preview_prepare_scene(Scene *scene, ID *id, int id_type, ShaderPre if(id_type==ID_MA) { Material *mat= NULL, *origmat= (Material *)id; - if(id) { + if(origmat) { /* work on a copy */ mat= localize_material(origmat); sp->matcopy= mat; @@ -524,7 +528,14 @@ static Scene *preview_prepare_scene(Scene *scene, ID *id, int id_type, ShaderPre } } else if(id_type==ID_LA) { - Lamp *la= (Lamp *)id; + Lamp *la= NULL, *origla= (Lamp *)id; + + /* work on a copy */ + if(origla) { + la= localize_lamp(origla); + sp->lampcopy= la; + BLI_addtail(&pr_main->lamp, la); + } if(la && la->type==LA_SUN && (la->sun_effect_type & LA_SUN_EFFECT_SKY)) { sce->lay= 1<object->data= la; } } + + if(la && la->nodetree && sp->pr_method==PR_NODE_RENDER) { + /* two previews, they get copied by wmJob */ + ntreeInitPreview(origla->nodetree, sp->sizex, sp->sizey); + ntreeInitPreview(la->nodetree, sp->sizex, sp->sizey); + } } else if(id_type==ID_WO) { + World *wrld= NULL, *origwrld= (World *)id; + + if(origwrld) { + wrld= localize_world(origwrld); + sp->worldcopy= wrld; + BLI_addtail(&pr_main->world, wrld); + } + sce->lay= 1<world= (World *)id; + sce->world= wrld; + + if(wrld && wrld->nodetree && sp->pr_method==PR_NODE_RENDER) { + /* two previews, they get copied by wmJob */ + ntreeInitPreview(wrld->nodetree, sp->sizex, sp->sizey); + ntreeInitPreview(origwrld->nodetree, sp->sizex, sp->sizey); + } } return sce; @@ -997,6 +1028,18 @@ static void shader_preview_updatejob(void *spv) if(sp->texcopy && tex->nodetree && sp->texcopy->nodetree) ntreeLocalSync(sp->texcopy->nodetree, tex->nodetree); } + else if( GS(sp->id->name) == ID_WO) { + World *wrld= (World *)sp->id; + + if(sp->worldcopy && wrld->nodetree && sp->worldcopy->nodetree) + ntreeLocalSync(sp->worldcopy->nodetree, wrld->nodetree); + } + else if( GS(sp->id->name) == ID_LA) { + Lamp *la= (Lamp *)sp->id; + + if(sp->lampcopy && la->nodetree && sp->lampcopy->nodetree) + ntreeLocalSync(sp->lampcopy->nodetree, la->nodetree); + } } } } @@ -1157,6 +1200,38 @@ static void shader_preview_free(void *customdata) } MEM_freeN(sp->texcopy); } + if(sp->worldcopy) { + struct IDProperty *properties; + /* node previews */ + shader_preview_updatejob(sp); + + /* get rid of copied world */ + BLI_remlink(&pr_main->world, sp->worldcopy); + free_world(sp->worldcopy); + + properties= IDP_GetProperties((ID *)sp->worldcopy, FALSE); + if (properties) { + IDP_FreeProperty(properties); + MEM_freeN(properties); + } + MEM_freeN(sp->worldcopy); + } + if(sp->lampcopy) { + struct IDProperty *properties; + /* node previews */ + shader_preview_updatejob(sp); + + /* get rid of copied lamp */ + BLI_remlink(&pr_main->lamp, sp->lampcopy); + free_lamp(sp->lampcopy); + + properties= IDP_GetProperties((ID *)sp->lampcopy, FALSE); + if (properties) { + IDP_FreeProperty(properties); + MEM_freeN(properties); + } + MEM_freeN(sp->lampcopy); + } MEM_freeN(sp); } diff --git a/source/blender/editors/render/render_shading.c b/source/blender/editors/render/render_shading.c index 306e9f977de..07783ee6ed8 100644 --- a/source/blender/editors/render/render_shading.c +++ b/source/blender/editors/render/render_shading.c @@ -78,6 +78,7 @@ #include "ED_curve.h" #include "ED_mesh.h" +#include "ED_node.h" #include "ED_render.h" #include "ED_screen.h" @@ -159,6 +160,7 @@ static void texture_changed(Main *bmain, Tex *tex) /* find lamps */ for(la=bmain->lamp.first; la; la=la->id.next) { if(mtex_use_tex(la->mtex, MAX_MTEX, tex)); + else if(la->nodetree && nodes_use_tex(la->nodetree, tex)); else continue; BKE_icon_changed(BKE_icon_getid(&la->id)); @@ -167,6 +169,7 @@ static void texture_changed(Main *bmain, Tex *tex) /* find worlds */ for(wo=bmain->world.first; wo; wo=wo->id.next) { if(mtex_use_tex(wo->mtex, MAX_MTEX, tex)); + else if(wo->nodetree && nodes_use_tex(wo->nodetree, tex)); else continue; BKE_icon_changed(BKE_icon_getid(&wo->id)); @@ -232,10 +235,72 @@ static void scene_changed(Main *bmain, Scene *UNUSED(scene)) GPU_material_free(ma); } +#include "DNA_screen_types.h" +#include "DNA_view3d_types.h" + +#include "RE_pipeline.h" + +static void update_render_engines(Main *bmain, int tagged_only) +{ + Scene *scene = bmain->scene.first; + bScreen *sc; + ScrArea *sa; + ARegion *ar; + + for(sc=bmain->screen.first; sc; sc=sc->id.next) { + for(sa=sc->areabase.first; sa; sa=sa->next) { + if(sa->spacetype == SPACE_VIEW3D) { + for(ar=sa->regionbase.first; ar; ar=ar->next) { + if(ar->regiontype == RGN_TYPE_WINDOW) { + RegionView3D *rv3d = ar->regiondata; + RenderEngine *engine = rv3d->render_engine; + + if(engine && (!tagged_only || engine->do_update)) { + engine->do_update = 0; + engine->type->update(engine, scene); + } + } + } + } + } + } +} + +void ED_render_engine_update_tagged(Main *bmain) +{ + update_render_engines(bmain, 1); +} + +void ED_render_engine_changed(Main *bmain) +{ + bScreen *sc; + ScrArea *sa; + ARegion *ar; + + for(sc=bmain->screen.first; sc; sc=sc->id.next) { + for(sa=sc->areabase.first; sa; sa=sa->next) { + if(sa->spacetype == SPACE_VIEW3D) { + for(ar=sa->regionbase.first; ar; ar=ar->next) { + if(ar->regiontype == RGN_TYPE_WINDOW) { + RegionView3D *rv3d = ar->regiondata; + + if(rv3d->render_engine) { + RE_engine_free(rv3d->render_engine); + rv3d->render_engine= NULL; + } + } + } + } + } + } +} + void ED_render_id_flush_update(Main *bmain, ID *id) { - if(!id) + if(!id) { + update_render_engines(bmain, 0); return; + } switch(GS(id->name)) { case ID_MA: @@ -542,10 +607,14 @@ static int new_material_exec(bContext *C, wmOperator *UNUSED(op)) PropertyRNA *prop; /* add or copy material */ - if(ma) + if(ma) { ma= copy_material(ma); - else + } + else { ma= add_material("Material"); + ED_node_shader_default(&ma->id); + ma->use_nodes= 1; + } /* hook into UI */ uiIDContextProperty(C, &ptr, &prop); @@ -634,10 +703,14 @@ static int new_world_exec(bContext *C, wmOperator *UNUSED(op)) PropertyRNA *prop; /* add or copy world */ - if(wo) + if(wo) { wo= copy_world(wo); - else + } + else { wo= add_world("World"); + ED_node_shader_default(&wo->id); + wo->use_nodes= 1; + } /* hook into UI */ uiIDContextProperty(C, &ptr, &prop); diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index 1882d849116..9f5e55dea00 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -152,6 +152,7 @@ void ED_area_do_refresh(bContext *C, ScrArea *sa) /* only exported for WM */ void ED_area_overdraw_flush(ScrArea *sa, ARegion *ar) { +#if 0 AZone *az; for(az= sa->actionzones.first; az; az= az->next) { @@ -165,6 +166,7 @@ void ED_area_overdraw_flush(ScrArea *sa, ARegion *ar) az->do_draw= 1; } } +#endif } static void area_draw_azone(short x1, short y1, short x2, short y2) @@ -231,6 +233,7 @@ static void region_draw_azone(AZone *az) /* only exported for WM */ void ED_area_overdraw(bContext *C) { +#if 0 wmWindow *win= CTX_wm_window(C); bScreen *screen= CTX_wm_screen(C); ScrArea *sa; @@ -256,7 +259,7 @@ void ED_area_overdraw(bContext *C) } } glDisable( GL_BLEND ); - +#endif } /* get scissor rect, checking overlapping regions */ @@ -334,6 +337,9 @@ void ED_region_do_draw(bContext *C, ARegion *ar) /* note; this sets state, so we can use wmOrtho and friends */ wmSubWindowScissorSet(win, ar->swinid, &ar->drawrct); + + ar->do_draw= 0; + memset(&ar->drawrct, 0, sizeof(ar->drawrct)); UI_SetTheme(sa?sa->spacetype:0, ar->type?ar->type->regionid:0); @@ -353,14 +359,11 @@ void ED_region_do_draw(bContext *C, ARegion *ar) uiFreeInactiveBlocks(C, &ar->uiblocks); - if(sa) - region_draw_emboss(ar, &winrct); + /*if(sa) + region_draw_emboss(ar, &winrct);*/ /* XXX test: add convention to end regions always in pixel space, for drawing of borders/gestures etc */ ED_region_pixelspace(ar); - - ar->do_draw= 0; - memset(&ar->drawrct, 0, sizeof(ar->drawrct)); } /* ********************************** @@ -1376,8 +1379,8 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, const char * /* only allow scrolling in vertical direction */ v2d->keepofs |= V2D_LOCKOFS_X|V2D_KEEPOFS_Y; v2d->keepofs &= ~(V2D_LOCKOFS_Y|V2D_KEEPOFS_X); - v2d->scroll |= V2D_SCROLL_HORIZONTAL_HIDE; - v2d->scroll &= ~V2D_SCROLL_VERTICAL_HIDE; + //v2d->scroll |= V2D_SCROLL_HORIZONTAL_HIDE; + //v2d->scroll &= ~V2D_SCROLL_VERTICAL_HIDE; // don't jump back when panels close or hide if(!newcontext) @@ -1392,8 +1395,8 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, const char * v2d->keepofs &= ~(V2D_LOCKOFS_X|V2D_LOCKOFS_Y|V2D_KEEPOFS_X|V2D_KEEPOFS_Y); //v2d->keepofs |= V2D_LOCKOFS_Y|V2D_KEEPOFS_X; //v2d->keepofs &= ~(V2D_LOCKOFS_X|V2D_KEEPOFS_Y); - v2d->scroll |= V2D_SCROLL_VERTICAL_HIDE; - v2d->scroll &= ~V2D_SCROLL_HORIZONTAL_HIDE; + //v2d->scroll |= V2D_SCROLL_VERTICAL_HIDE; + //v2d->scroll &= ~V2D_SCROLL_HORIZONTAL_HIDE; // don't jump back when panels close or hide if(!newcontext) @@ -1414,9 +1417,9 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, const char * UI_view2d_view_restore(C); /* scrollers */ - scrollers= UI_view2d_scrollers_calc(C, v2d, V2D_ARG_DUMMY, V2D_ARG_DUMMY, V2D_ARG_DUMMY, V2D_ARG_DUMMY); - UI_view2d_scrollers_draw(C, v2d, scrollers); - UI_view2d_scrollers_free(scrollers); + //scrollers= UI_view2d_scrollers_calc(C, v2d, V2D_ARG_DUMMY, V2D_ARG_DUMMY, V2D_ARG_DUMMY, V2D_ARG_DUMMY); + //UI_view2d_scrollers_draw(C, v2d, scrollers); + //UI_view2d_scrollers_free(scrollers); } void ED_region_panels_init(wmWindowManager *wm, ARegion *ar) @@ -1425,9 +1428,10 @@ void ED_region_panels_init(wmWindowManager *wm, ARegion *ar) // XXX quick hacks for files saved with 2.5 already (i.e. the builtin defaults file) // scrollbars for button regions - ar->v2d.scroll |= (V2D_SCROLL_RIGHT|V2D_SCROLL_BOTTOM); + /*ar->v2d.scroll |= (V2D_SCROLL_RIGHT|V2D_SCROLL_BOTTOM); ar->v2d.scroll |= V2D_SCROLL_HORIZONTAL_HIDE; - ar->v2d.scroll &= ~V2D_SCROLL_VERTICAL_HIDE; + ar->v2d.scroll &= ~V2D_SCROLL_VERTICAL_HIDE;*/ + ar->v2d.scroll= 0; ar->v2d.keepzoom |= V2D_KEEPZOOM; // correctly initialised User-Prefs? diff --git a/source/blender/editors/space_buttons/buttons_header.c b/source/blender/editors/space_buttons/buttons_header.c index dc588f08ff1..948bcd9a8a2 100644 --- a/source/blender/editors/space_buttons/buttons_header.c +++ b/source/blender/editors/space_buttons/buttons_header.c @@ -98,11 +98,13 @@ static void do_buttons_buttons(bContext *C, void *UNUSED(arg), int event) sbuts->mainbuser= sbuts->mainb; } +#define BUT_UNIT_X (UI_UNIT_X+2) + void buttons_header_buttons(const bContext *C, ARegion *ar) { SpaceButs *sbuts= CTX_wm_space_buts(C); uiBlock *block; - int xco, yco= 3; + int xco, yco= 2; buttons_context_compute(C, sbuts); @@ -118,32 +120,32 @@ void buttons_header_buttons(const bContext *C, ARegion *ar) // Default panels uiBlockBeginAlign(block); if(sbuts->pathflag & (1<mainb), 0.0, (float)BCONTEXT_RENDER, 0, 0, "Render"); + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_SCENE, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_RENDER, 0, 0, "Render"); if(sbuts->pathflag & (1<mainb), 0.0, (float)BCONTEXT_SCENE, 0, 0, "Scene"); + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_SCENE_DATA, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_SCENE, 0, 0, "Scene"); if(sbuts->pathflag & (1<mainb), 0.0, (float)BCONTEXT_WORLD, 0, 0, "World"); + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_WORLD, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_WORLD, 0, 0, "World"); if(sbuts->pathflag & (1<mainb), 0.0, (float)BCONTEXT_OBJECT, 0, 0, "Object"); + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_OBJECT_DATA, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_OBJECT, 0, 0, "Object"); if(sbuts->pathflag & (1<mainb), 0.0, (float)BCONTEXT_CONSTRAINT, 0, 0, "Object Constraints"); + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_CONSTRAINT, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_CONSTRAINT, 0, 0, "Object Constraints"); if(sbuts->pathflag & (1<mainb), 0.0, (float)BCONTEXT_MODIFIER, 0, 0, "Modifiers"); + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_MODIFIER, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_MODIFIER, 0, 0, "Modifiers"); if(sbuts->pathflag & (1<dataicon, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_DATA, 0, 0, "Object Data"); + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, sbuts->dataicon, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_DATA, 0, 0, "Object Data"); if(sbuts->pathflag & (1<mainb), 0.0, (float)BCONTEXT_BONE, 0, 0, "Bone"); + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_BONE_DATA, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_BONE, 0, 0, "Bone"); if(sbuts->pathflag & (1<mainb), 0.0, (float)BCONTEXT_BONE_CONSTRAINT, 0, 0, "Bone Constraints"); + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_CONSTRAINT_BONE, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_BONE_CONSTRAINT, 0, 0, "Bone Constraints"); if(sbuts->pathflag & (1<mainb), 0.0, (float)BCONTEXT_MATERIAL, 0, 0, "Material"); + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_MATERIAL, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_MATERIAL, 0, 0, "Material"); if(sbuts->pathflag & (1<mainb), 0.0, (float)BCONTEXT_TEXTURE, 0, 0, "Texture"); + uiDefIconButS(block, ROW, B_BUTSPREVIEW, ICON_TEXTURE, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_TEXTURE, 0, 0, "Texture"); if(sbuts->pathflag & (1<mainb), 0.0, (float)BCONTEXT_PARTICLE, 0, 0, "Particles"); + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_PARTICLES, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_PARTICLE, 0, 0, "Particles"); if(sbuts->pathflag & (1<mainb), 0.0, (float)BCONTEXT_PHYSICS, 0, 0, "Physics"); - xco+= BUTS_UI_UNIT; + uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_PHYSICS, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_PHYSICS, 0, 0, "Physics"); + xco+= BUT_UNIT_X; uiBlockEndAlign(block); diff --git a/source/blender/editors/space_buttons/buttons_intern.h b/source/blender/editors/space_buttons/buttons_intern.h index d92488e47ef..925223b43ea 100644 --- a/source/blender/editors/space_buttons/buttons_intern.h +++ b/source/blender/editors/space_buttons/buttons_intern.h @@ -55,9 +55,6 @@ struct ID; #define BUTS_SENS_STATE 512 #define BUTS_ACT_STATE 1024 -#define BUTS_HEADERY (HEADERY*1.2) -#define BUTS_UI_UNIT (UI_UNIT_Y*1.2) - /* internal exports only */ /* buttons_header.c */ diff --git a/source/blender/editors/space_buttons/space_buttons.c b/source/blender/editors/space_buttons/space_buttons.c index a808e9885c4..16c4df59420 100644 --- a/source/blender/editors/space_buttons/space_buttons.c +++ b/source/blender/editors/space_buttons/space_buttons.c @@ -405,7 +405,7 @@ void ED_spacetype_buttons(void) /* regions: header */ art= MEM_callocN(sizeof(ARegionType), "spacetype buttons region"); art->regionid = RGN_TYPE_HEADER; - art->prefsizey= BUTS_HEADERY; + art->prefsizey= HEADERY; art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D|ED_KEYMAP_FRAMES|ED_KEYMAP_HEADER; art->init= buttons_header_area_init; diff --git a/source/blender/editors/space_node/CMakeLists.txt b/source/blender/editors/space_node/CMakeLists.txt index 8604ba3baed..0bcd86f53cf 100644 --- a/source/blender/editors/space_node/CMakeLists.txt +++ b/source/blender/editors/space_node/CMakeLists.txt @@ -42,6 +42,7 @@ set(SRC node_draw.c node_edit.c node_header.c + node_layout.c node_ops.c node_select.c node_state.c diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c index 7d92c308f17..68c893aafe9 100644 --- a/source/blender/editors/space_node/drawnode.c +++ b/source/blender/editors/space_node/drawnode.c @@ -335,7 +335,7 @@ static void node_shader_buts_mapping(uiLayout *layout, bContext *UNUSED(C), Poin { uiLayout *row; - uiItemL(layout, "Location:", ICON_NONE); + uiItemL(layout, "Translation:", ICON_NONE); row= uiLayoutRow(layout, 1); uiItemR(row, ptr, "location", 0, "", ICON_NONE); @@ -347,6 +347,7 @@ static void node_shader_buts_mapping(uiLayout *layout, bContext *UNUSED(C), Poin row= uiLayoutRow(layout, 1); uiItemR(row, ptr, "scale", 0, "", ICON_NONE); +#if 0 row= uiLayoutRow(layout, 1); uiItemR(row, ptr, "use_min", 0, "Min", ICON_NONE); uiItemR(row, ptr, "min", 0, "", ICON_NONE); @@ -354,7 +355,7 @@ static void node_shader_buts_mapping(uiLayout *layout, bContext *UNUSED(C), Poin row= uiLayoutRow(layout, 1); uiItemR(row, ptr, "use_max", 0, "Max", ICON_NONE); uiItemR(row, ptr, "max", 0, "", ICON_NONE); - +#endif } static void node_shader_buts_vect_math(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) @@ -381,6 +382,97 @@ static void node_shader_buts_geometry(uiLayout *layout, bContext *C, PointerRNA } } +/*static void node_layout_prop(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *propname) +{ + if(C && CTX_wm_space_node(C)) { + uiItemR(layout, ptr, propname, 0, NULL, ICON_NONE); + } + else { + uiLayout *split = uiLayoutSplit(layout, 0.35f, 0); + PropertyRNA *prop = RNA_struct_find_property(ptr, propname); + + uiItemL(uiLayoutColumn(split, 0), RNA_property_ui_name(prop), ICON_NONE); + uiItemR(uiLayoutColumn(split, 0), ptr, propname, 0, "", ICON_NONE); + } +}*/ + +static void node_shader_buts_tex_image(uiLayout *layout, bContext *C, PointerRNA *ptr) +{ + //uiItemR(layout, ptr, "image", 0, "", ICON_NONE); + uiTemplateID(layout, C, ptr, "image", NULL, "IMAGE_OT_open", NULL); +} + +static void node_shader_buts_tex_sky(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) +{ + uiItemR(layout, ptr, "sun_direction", 0, "", ICON_NONE); + uiItemR(layout, ptr, "turbidity", 0, NULL, ICON_NONE); +} + +static void node_shader_buts_tex_blend(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) +{ + uiItemR(layout, ptr, "progression", 0, "", ICON_NONE); + uiItemR(layout, ptr, "axis", 0, "", ICON_NONE); +} + +static void node_shader_buts_tex_clouds(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) +{ + uiItemR(layout, ptr, "noise_basis", 0, "", ICON_NONE); + uiItemR(layout, ptr, "noise_type", 0, "", ICON_NONE); + uiItemR(layout, ptr, "turbulence_depth", 0, NULL, ICON_NONE); +} + +static void node_shader_buts_tex_distnoise(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) +{ + uiItemR(layout, ptr, "noise_basis", 0, "", ICON_NONE); + uiItemR(layout, ptr, "noise_distortion", 0, "", ICON_NONE); +} + +static void node_shader_buts_tex_magic(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) +{ + uiItemR(layout, ptr, "turbulence_depth", 0, NULL, ICON_NONE); +} + +static void node_shader_buts_tex_marble(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) +{ + uiItemR(layout, ptr, "marble_type", 0, "", ICON_NONE); + uiItemR(layout, ptr, "noise_basis", 0, "", ICON_NONE); + uiItemR(layout, ptr, "noise_type", 0, "", ICON_NONE); + uiItemR(layout, ptr, "turbulence_depth", 0, NULL, ICON_NONE); + uiItemR(layout, ptr, "wave_type", 0, "", ICON_NONE); +} + +static void node_shader_buts_tex_musgrave(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) +{ + uiItemR(layout, ptr, "musgrave_type", 0, "", ICON_NONE); + uiItemR(layout, ptr, "noise_basis", 0, "", ICON_NONE); +} + +static void node_shader_buts_tex_stucci(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) +{ + uiItemR(layout, ptr, "stucci_type", 0, "", ICON_NONE); + uiItemR(layout, ptr, "noise_basis", 0, "", ICON_NONE); + uiItemR(layout, ptr, "noise_type", 0, "", ICON_NONE); +} + +static void node_shader_buts_tex_voronoi(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) +{ + uiItemR(layout, ptr, "distance_metric", 0, "", ICON_NONE); + uiItemR(layout, ptr, "coloring", 0, "", ICON_NONE); +} + +static void node_shader_buts_tex_wood(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) +{ + uiItemR(layout, ptr, "noise_basis", 0, "", ICON_NONE); + uiItemR(layout, ptr, "noise_type", 0, "", ICON_NONE); + uiItemR(layout, ptr, "wood_type", 0, "", ICON_NONE); + uiItemR(layout, ptr, "wave_type", 0, "", ICON_NONE); +} + +static void node_shader_buts_glossy(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) +{ + uiItemR(layout, ptr, "distribution", 0, "", ICON_NONE); +} + static void node_shader_buts_dynamic(uiLayout *layout, bContext *C, PointerRNA *ptr) { Main *bmain= CTX_data_main(C); @@ -463,9 +555,49 @@ static void node_shader_set_butfunc(bNodeType *ntype) case SH_NODE_VECT_MATH: ntype->uifunc= node_shader_buts_vect_math; break; - case SH_NODE_GEOMETRY: + case SH_NODE_GEOM: ntype->uifunc= node_shader_buts_geometry; break; + case SH_NODE_TEX_SKY: + ntype->uifunc= node_shader_buts_tex_sky; + break; + case SH_NODE_TEX_IMAGE: + ntype->uifunc= node_shader_buts_tex_image; + break; + case SH_NODE_TEX_ENVIRONMENT: + ntype->uifunc= node_shader_buts_tex_image; + break; + case SH_NODE_TEX_BLEND: + ntype->uifunc= node_shader_buts_tex_blend; + break; + case SH_NODE_TEX_CLOUDS: + ntype->uifunc= node_shader_buts_tex_clouds; + break; + case SH_NODE_TEX_DISTNOISE: + ntype->uifunc= node_shader_buts_tex_distnoise; + break; + case SH_NODE_TEX_MAGIC: + ntype->uifunc= node_shader_buts_tex_magic; + break; + case SH_NODE_TEX_MARBLE: + ntype->uifunc= node_shader_buts_tex_marble; + break; + case SH_NODE_TEX_MUSGRAVE: + ntype->uifunc= node_shader_buts_tex_musgrave; + break; + case SH_NODE_TEX_STUCCI: + ntype->uifunc= node_shader_buts_tex_stucci; + break; + case SH_NODE_TEX_VORONOI: + ntype->uifunc= node_shader_buts_tex_voronoi; + break; + case SH_NODE_TEX_WOOD: + ntype->uifunc= node_shader_buts_tex_wood; + break; + case SH_NODE_BSDF_GLOSSY: + case SH_NODE_BSDF_GLASS: + ntype->uifunc= node_shader_buts_glossy; + break; case NODE_DYNAMIC: ntype->uifunc= node_shader_buts_dynamic; break; diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c index 0c9f12966ef..307c5e19384 100644 --- a/source/blender/editors/space_node/node_draw.c +++ b/source/blender/editors/space_node/node_draw.c @@ -38,11 +38,13 @@ #include "MEM_guardedalloc.h" #include "DNA_node_types.h" +#include "DNA_lamp_types.h" #include "DNA_material_types.h" #include "DNA_object_types.h" #include "DNA_scene_types.h" #include "DNA_space_types.h" #include "DNA_screen_types.h" +#include "DNA_world_types.h" #include "BLI_math.h" #include "BLI_blenlib.h" @@ -90,7 +92,13 @@ void ED_node_changed_update(ID *id, bNode *node) if(treetype==NTREE_SHADER) { DAG_id_tag_update(id, 0); - WM_main_add_notifier(NC_MATERIAL|ND_SHADING_DRAW, id); + + if(GS(id->name) == ID_MA) + WM_main_add_notifier(NC_MATERIAL|ND_SHADING_DRAW, id); + else if(GS(id->name) == ID_LA) + WM_main_add_notifier(NC_LAMP|ND_LIGHTING_DRAW, id); + else if(GS(id->name) == ID_WO) + WM_main_add_notifier(NC_WORLD|ND_WORLD_DRAW, id); } else if(treetype==NTREE_COMPOSIT) { NodeTagChanged(edittree, node); @@ -126,6 +134,8 @@ static int has_nodetree(bNodeTree *ntree, bNodeTree *lookup) void ED_node_generic_update(Main *bmain, bNodeTree *ntree, bNode *node) { Material *ma; + Lamp *la; + World *wrld; Tex *tex; Scene *sce; @@ -133,7 +143,15 @@ void ED_node_generic_update(Main *bmain, bNodeTree *ntree, bNode *node) for(ma=bmain->mat.first; ma; ma=ma->id.next) if(ma->nodetree && ma->use_nodes && has_nodetree(ma->nodetree, ntree)) ED_node_changed_update(&ma->id, node); - + + for(la=bmain->lamp.first; la; la=la->id.next) + if(la->nodetree && has_nodetree(la->nodetree, ntree)) + ED_node_changed_update(&la->id, node); + + for(wrld=bmain->world.first; wrld; wrld=wrld->id.next) + if(wrld->nodetree && has_nodetree(wrld->nodetree, ntree)) + ED_node_changed_update(&wrld->id, node); + for(tex=bmain->tex.first; tex; tex=tex->id.next) if(tex->nodetree && tex->use_nodes && has_nodetree(tex->nodetree, ntree)) ED_node_changed_update(&tex->id, node); @@ -722,6 +740,7 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN int color_id= node_get_colorid(node); char showname[128]; /* 128 used below */ View2D *v2d = &ar->v2d; + int i; /* hurmf... another candidate for callback, have to see how this works first */ if(node->id && node->block && snode->treetype==NTREE_SHADER) @@ -849,12 +868,20 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN /* socket inputs, buttons */ - for(sock= node->inputs.first; sock; sock= sock->next) { + for(i= 0, sock= node->inputs.first; sock; sock= sock->next, i++) { if(!(sock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL))) { + bNodeSocketType *stype = (node->type == NODE_GROUP)? NULL: &node->typeinfo->inputs[i]; + socket_circle_draw(sock, NODE_SOCKSIZE); if(node->block && sock->link==NULL) { - node_draw_socket_button(ntree, sock, sock->name, node->block, sock->locx+NODE_DYS, sock->locy-NODE_DYS, node->width-NODE_DY, node_sync_cb, snode, node); + if((stype && stype->flag & SOCK_NO_VALUE) || sock->type==SOCK_CLOSURE) { + uiDefBut(node->block, LABEL, 0, sock->name, (short)(sock->locx+7), (short)(sock->locy-9.0f), + (short)(node->width-NODE_DY), NODE_DY, NULL, 0, 0, 0, 0, ""); + } + else { + node_draw_socket_button(ntree, sock, sock->name, node->block, sock->locx+NODE_DYS, sock->locy-NODE_DYS, node->width-NODE_DY, node_sync_cb, snode, node); + } } else { uiDefBut(node->block, LABEL, 0, sock->name, (short)(sock->locx+7), (short)(sock->locy-9.0f), diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index 22bbd93de00..97a006ad1e3 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -40,10 +40,12 @@ #include "MEM_guardedalloc.h" -#include "DNA_object_types.h" +#include "DNA_lamp_types.h" #include "DNA_material_types.h" #include "DNA_node_types.h" +#include "DNA_object_types.h" #include "DNA_scene_types.h" +#include "DNA_world_types.h" #include "BLI_math.h" #include "BLI_blenlib.h" @@ -51,6 +53,7 @@ #include "BLI_utildefines.h" #include "BKE_context.h" +#include "BKE_depsgraph.h" #include "BKE_global.h" #include "BKE_image.h" #include "BKE_library.h" @@ -234,6 +237,11 @@ static bNode *editnode_get_active(bNodeTree *ntree) return nodeGetActive(ntree); } +void snode_dag_update(bContext *UNUSED(C), SpaceNode *snode) +{ + DAG_id_tag_update(snode->id, 0); +} + void snode_notify(bContext *C, SpaceNode *snode) { WM_event_add_notifier(C, NC_NODE|NA_EDITED, NULL); @@ -259,33 +267,49 @@ bNode *node_tree_get_editgroup(bNodeTree *nodetree) /* assumes nothing being done in ntree yet, sets the default in/out node */ /* called from shading buttons or header */ -void ED_node_shader_default(Material *ma) +void ED_node_shader_default(ID *id) { bNode *in, *out; bNodeSocket *fromsock, *tosock; + bNodeTree *ntree; + int output_type, closure_type; - /* but lets check it anyway */ - if(ma->nodetree) { - if (G.f & G_DEBUG) - printf("error in shader initialize\n"); - return; + ntree= ntreeAddTree("Shader Nodetree", NTREE_SHADER, FALSE); + + switch(GS(id->name)) { + case ID_MA: + ((Material*)id)->nodetree = ntree; + output_type = SH_NODE_OUTPUT_MATERIAL; + closure_type = SH_NODE_BSDF_DIFFUSE; + break; + case ID_WO: + ((World*)id)->nodetree = ntree; + output_type = SH_NODE_OUTPUT_WORLD; + closure_type = SH_NODE_BACKGROUND; + break; + case ID_LA: + ((Lamp*)id)->nodetree = ntree; + output_type = SH_NODE_OUTPUT_LAMP; + closure_type = SH_NODE_EMISSION; + break; + default: + printf("ED_node_shader_default called on wrong ID type.\n"); + return; } - ma->nodetree= ntreeAddTree("Shader Nodetree", NTREE_SHADER, FALSE); - - out= nodeAddNodeType(ma->nodetree, SH_NODE_OUTPUT, NULL, NULL); + out= nodeAddNodeType(ntree, output_type, NULL, NULL); out->locx= 300.0f; out->locy= 300.0f; - in= nodeAddNodeType(ma->nodetree, SH_NODE_MATERIAL, NULL, NULL); + in= nodeAddNodeType(ntree, closure_type, NULL, NULL); in->locx= 10.0f; in->locy= 300.0f; - nodeSetActive(ma->nodetree, in); + nodeSetActive(ntree, in); /* only a link from color to color */ fromsock= in->outputs.first; tosock= out->inputs.first; - nodeAddLink(ma->nodetree, in, fromsock, out, tosock); + nodeAddLink(ntree, in, fromsock, out, tosock); - ntreeSolveOrder(ma->nodetree); /* needed for pointers */ + ntreeSolveOrder(ntree); /* needed for pointers */ } /* assumes nothing being done in ntree yet, sets the default in/out node */ @@ -365,6 +389,14 @@ void node_tree_from_ID(ID *id, bNodeTree **ntree, bNodeTree **edittree, int *tre *ntree= ((Material*)id)->nodetree; if(treetype) *treetype= NTREE_SHADER; } + else if(idtype == ID_LA) { + *ntree= ((Lamp*)id)->nodetree; + if(treetype) *treetype= NTREE_SHADER; + } + else if(idtype == ID_WO) { + *ntree= ((World*)id)->nodetree; + if(treetype) *treetype= NTREE_SHADER; + } else if(idtype == ID_SCE) { *ntree= ((Scene*)id)->nodetree; if(treetype) *treetype= NTREE_COMPOSIT; @@ -403,11 +435,25 @@ void snode_set_context(SpaceNode *snode, Scene *scene) if(snode->treetype==NTREE_SHADER) { /* need active object, or we allow pinning... */ - if(ob) { - Material *ma= give_current_material(ob, ob->actcol); - if(ma) { - snode->from= &ob->id; - snode->id= &ma->id; + if(snode->shaderfrom == SNODE_SHADER_OBJECT) { + if(ob) { + if(ob->type == OB_LAMP) { + snode->from= &ob->id; + snode->id= ob->data; + } + else { + Material *ma= give_current_material(ob, ob->actcol); + if(ma) { + snode->from= &ob->id; + snode->id= &ma->id; + } + } + } + } + else { /* SNODE_SHADER_WORLD */ + if(scene->world) { + snode->from= NULL; + snode->id= &scene->world->id; } } } @@ -483,7 +529,7 @@ void node_set_active(SpaceNode *snode, bNode *node) /* tree specific activate calls */ if(snode->treetype==NTREE_SHADER) { /* when we select a material, active texture is cleared, for buttons */ - if(node->id && GS(node->id->name)==ID_MA) + if(node->id && ELEM3(GS(node->id->name), ID_MA, ID_LA, ID_WO)) nodeClearActiveID(snode->edittree, ID_TE); if(node->type==SH_NODE_OUTPUT) { @@ -912,7 +958,8 @@ static int node_group_ungroup_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; } - WM_event_add_notifier(C, NC_SCENE|ND_NODES, NULL); + snode_notify(C, snode); + snode_dag_update(C, snode); return OPERATOR_FINISHED; } @@ -2014,6 +2061,7 @@ static int node_duplicate_exec(bContext *C, wmOperator *UNUSED(op)) node_tree_verify_groups(snode->nodetree); snode_notify(C, snode); + snode_dag_update(C, snode); return OPERATOR_FINISHED; } @@ -2169,6 +2217,7 @@ static int node_link_modal(bContext *C, wmOperator *op, wmEvent *event) ntreeSolveOrder(snode->edittree); node_tree_verify_groups(snode->nodetree); snode_notify(C, snode); + snode_dag_update(C, snode); BLI_remlink(&snode->linkdrag, nldrag); MEM_freeN(nldrag); @@ -2303,6 +2352,7 @@ static int node_make_link_exec(bContext *C, wmOperator *op) node_tree_verify_groups(snode->nodetree); snode_notify(C, snode); + snode_dag_update(C, snode); return OPERATOR_FINISHED; } @@ -2377,6 +2427,7 @@ static int cut_links_exec(bContext *C, wmOperator *op) ntreeSolveOrder(snode->edittree); node_tree_verify_groups(snode->nodetree); snode_notify(C, snode); + snode_dag_update(C, snode); return OPERATOR_FINISHED; } @@ -2436,6 +2487,8 @@ static int node_read_renderlayers_exec(bContext *C, wmOperator *UNUSED(op)) } snode_notify(C, snode); + snode_dag_update(C, snode); + return OPERATOR_FINISHED; } @@ -2464,6 +2517,7 @@ static int node_read_fullsamplelayers_exec(bContext *C, wmOperator *UNUSED(op)) RE_MergeFullSample(re, bmain, curscene, snode->nodetree); snode_notify(C, snode); + snode_dag_update(C, snode); WM_cursor_wait(0); return OPERATOR_FINISHED; @@ -2572,6 +2626,7 @@ static int node_group_make_exec(bContext *C, wmOperator *op) } snode_notify(C, snode); + snode_dag_update(C, snode); return OPERATOR_FINISHED; } @@ -2758,6 +2813,7 @@ static int node_mute_exec(bContext *C, wmOperator *UNUSED(op)) } snode_notify(C, snode); + snode_dag_update(C, snode); return OPERATOR_FINISHED; } @@ -2799,6 +2855,7 @@ static int node_delete_exec(bContext *C, wmOperator *UNUSED(op)) node_tree_verify_groups(snode->nodetree); snode_notify(C, snode); + snode_dag_update(C, snode); return OPERATOR_FINISHED; } @@ -2900,6 +2957,7 @@ static int node_add_file_exec(bContext *C, wmOperator *op) node->id = (ID *)ima; snode_notify(C, snode); + snode_dag_update(C, snode); return OPERATOR_FINISHED; } @@ -2938,3 +2996,35 @@ void NODE_OT_add_file(wmOperatorType *ot) RNA_def_string(ot->srna, "name", "Image", 24, "Name", "Datablock name to assign."); } +/* ****************** Auto Layout Operator ******************* */ + +static int node_auto_layout_exec(bContext *C, wmOperator *UNUSED(op)) +{ + SpaceNode *snode= CTX_wm_space_node(C); + bNode *node; + + for(node=snode->edittree->nodes.first; node; node=node->next) + if(node->flag & SELECT) + ED_node_tree_auto_layout(snode->edittree, node); + + snode_notify(C, snode); + + return OPERATOR_FINISHED; +} + +void NODE_OT_auto_layout(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Auto Layout Nodes"; + ot->description= "Automatically layout nodes with the selected nodes as root"; + ot->idname= "NODE_OT_auto_layout"; + + /* callbacks */ + ot->exec= node_auto_layout_exec; + ot->poll= ED_operator_node_active; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} + + diff --git a/source/blender/editors/space_node/node_header.c b/source/blender/editors/space_node/node_header.c index d7084d51180..7d630de5006 100644 --- a/source/blender/editors/space_node/node_header.c +++ b/source/blender/editors/space_node/node_header.c @@ -102,6 +102,7 @@ static void do_node_add(bContext *C, void *UNUSED(arg), int event) } snode_notify(C, snode); + snode_dag_update(C, snode); } static void node_auto_add_menu(bContext *C, uiLayout *layout, void *arg_nodeclass) @@ -182,11 +183,12 @@ static void node_menu_add(const bContext *C, Menu *menu) if(snode->treetype==NTREE_SHADER) { uiItemMenuF(layout, "Input", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT)); uiItemMenuF(layout, "Output", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT)); + uiItemMenuF(layout, "Closure", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CLOSURE)); uiItemMenuF(layout, "Color", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_COLOR)); uiItemMenuF(layout, "Vector", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_VECTOR)); uiItemMenuF(layout, "Convertor", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CONVERTOR)); uiItemMenuF(layout, "Group", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_GROUP)); - uiItemMenuF(layout, "Dynamic", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_DYNAMIC)); + uiItemMenuF(layout, "Texture", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_TEXTURE)); } else if(snode->treetype==NTREE_COMPOSIT) { uiItemMenuF(layout, "Input", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT)); diff --git a/source/blender/editors/space_node/node_intern.h b/source/blender/editors/space_node/node_intern.h index fc1b579d1e1..633489a31ca 100644 --- a/source/blender/editors/space_node/node_intern.h +++ b/source/blender/editors/space_node/node_intern.h @@ -95,6 +95,7 @@ void draw_nodespace_color_info(struct ARegion *ar, int color_manage, int channel /* node_edit.c */ void node_tree_from_ID(ID *id, bNodeTree **ntree, bNodeTree **edittree, int *treetype); void snode_notify(bContext *C, SpaceNode *snode); +void snode_dag_update(bContext *C, SpaceNode *snode); bNode *next_node(bNodeTree *ntree); bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float locy); void snode_set_context(SpaceNode *snode, Scene *scene); @@ -144,6 +145,8 @@ void NODE_OT_backimage_sample(wmOperatorType *ot); void NODE_OT_add_file(struct wmOperatorType *ot); +void NODE_OT_auto_layout(struct wmOperatorType *ot); + extern const char *node_context_dir[]; // XXXXXX diff --git a/source/blender/editors/space_node/node_layout.c b/source/blender/editors/space_node/node_layout.c new file mode 100644 index 00000000000..56e4428881d --- /dev/null +++ b/source/blender/editors/space_node/node_layout.c @@ -0,0 +1,128 @@ +/* + * $Id$ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: none of this file. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +/** \file blender/editors/space_node/node_layout.c + * \ingroup spnode + */ + +#include + +#include "MEM_guardedalloc.h" + +#include "BLI_utildefines.h" + +#include "DNA_node_types.h" + +#include "ED_node.h" + +/* Inspired by the algorithm for graphviz dot, as described in the paper: + "A Technique for Drawing Directed Graphs", 1993 + + We have it much easier though, as the graph is already acyclic, and we + are given a root node. */ + +typedef struct NodeAutoLayout { + int rank; + int visited; +} NodeAutoLayout; + +static void node_layout_assign_rank(NodeAutoLayout *layout, bNode *from, int rank) +{ + bNodeSocket *sock; + + for(sock=from->inputs.first; sock; sock=sock->next) { + if(sock->link) { + bNode *node = sock->link->fromnode; + + if(layout[node->nr].visited) + continue; + + layout[node->nr].rank= rank; + layout[node->nr].visited= 1; + + node_layout_assign_rank(layout, node, rank+1); + } + } +} + +void ED_node_tree_auto_layout(bNodeTree *ntree, bNode *root) +{ + NodeAutoLayout *layout; + bNode *node; + float locx, locy, hspacing= 50.0f, vspacing= 30.0f; + int a, rank, tot= 0, maxrank= 0; + + for(node=ntree->nodes.first; node; node=node->next) + node->nr= tot++; + + layout= MEM_callocN(sizeof(NodeAutoLayout)*tot, "NodeAutoLayout"); + + layout[root->nr].rank= 0; + layout[root->nr].visited= 1; + + node_layout_assign_rank(layout, root, layout[root->nr].rank+1); + + for(a=0; alocx; + locy= root->locy - (root->totr.ymax - root->totr.ymin)*0.5f; + + for(rank=1; rank<=maxrank; rank++) { + float maxwidth= 0.0f; + float totheight= 0.0f; + float y; + + locx -= hspacing; + + for(node=ntree->nodes.first; node; node=node->next) { + if(layout[node->nr].rank == rank) { + if(totheight > 0.0f) + totheight += vspacing; + totheight += (node->totr.ymax - node->totr.ymin); + } + } + + y = locy + totheight*0.5f; + + for(node=ntree->nodes.first; node; node=node->next) { + if(layout[node->nr].rank == rank) { + maxwidth = MAX2(maxwidth, node->width); + node->locx = locx - node->width; + node->locy = y; + + y -= (node->totr.ymax - node->totr.ymin); + y -= vspacing; + } + } + + locx -= maxwidth; + } + + MEM_freeN(layout); +} + diff --git a/source/blender/editors/space_node/node_ops.c b/source/blender/editors/space_node/node_ops.c index 11e7949791d..79af9b273ff 100644 --- a/source/blender/editors/space_node/node_ops.c +++ b/source/blender/editors/space_node/node_ops.c @@ -95,6 +95,8 @@ void node_operatortypes(void) WM_operatortype_append(NODE_OT_backimage_sample); WM_operatortype_append(NODE_OT_add_file); + + WM_operatortype_append(NODE_OT_auto_layout); } void ED_operatormacros_node(void) @@ -183,6 +185,5 @@ void node_keymap(struct wmKeyConfig *keyconf) WM_keymap_add_item(keymap, "NODE_OT_read_fullsamplelayers", RKEY, KM_PRESS, KM_SHIFT, 0); WM_keymap_add_item(keymap, "NODE_OT_render_changed", ZKEY, KM_PRESS, 0, 0); - transform_keymap_for_space(keyconf, keymap, SPACE_NODE); } diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c index 1c2f604a650..3147e5d7a38 100644 --- a/source/blender/editors/space_node/space_node.c +++ b/source/blender/editors/space_node/space_node.c @@ -34,10 +34,12 @@ #include #include +#include "DNA_lamp_types.h" +#include "DNA_material_types.h" #include "DNA_node_types.h" #include "DNA_object_types.h" -#include "DNA_material_types.h" #include "DNA_scene_types.h" +#include "DNA_world_types.h" #include "MEM_guardedalloc.h" @@ -252,9 +254,21 @@ static void node_area_refresh(const struct bContext *C, struct ScrArea *sa) if(snode->nodetree) { if(snode->treetype==NTREE_SHADER) { - Material *ma= (Material *)snode->id; - if(ma->use_nodes) - ED_preview_shader_job(C, sa, snode->id, NULL, NULL, 100, 100, PR_NODE_RENDER); + if(GS(snode->id->name) == ID_MA) { + Material *ma= (Material *)snode->id; + if(ma->use_nodes) + ED_preview_shader_job(C, sa, snode->id, NULL, NULL, 100, 100, PR_NODE_RENDER); + } + else if(GS(snode->id->name) == ID_LA) { + Lamp *la= (Lamp *)snode->id; + if(la->use_nodes) + ED_preview_shader_job(C, sa, snode->id, NULL, NULL, 100, 100, PR_NODE_RENDER); + } + else if(GS(snode->id->name) == ID_WO) { + World *wo= (World *)snode->id; + if(wo->use_nodes) + ED_preview_shader_job(C, sa, snode->id, NULL, NULL, 100, 100, PR_NODE_RENDER); + } } else if(snode->treetype==NTREE_COMPOSIT) { Scene *scene= (Scene *)snode->id; diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index ed9d6f77ffa..39265f4073e 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -5765,7 +5765,9 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag) } /* maximum drawtype */ - dt= MIN2(v3d->drawtype, ob->dt); + dt= v3d->drawtype; + if(dt==OB_RENDER) dt= OB_SOLID; + dt= MIN2(dt, ob->dt); if(v3d->zbuf==0 && dt>OB_WIRE) dt= OB_WIRE; dtx= 0; diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c index a8cdc99645d..c96917333fd 100644 --- a/source/blender/editors/space_view3d/space_view3d.c +++ b/source/blender/editors/space_view3d/space_view3d.c @@ -58,6 +58,7 @@ #include "WM_api.h" #include "WM_types.h" +#include "RE_pipeline.h" #include "RNA_access.h" @@ -306,6 +307,9 @@ static SpaceLink *view3d_duplicate(SpaceLink *sl) v3do->lay= v3dn->localvd->lay; v3do->lay &= 0xFFFFFF; } + + if(v3dn->drawtype == OB_RENDER) + v3dn->drawtype = OB_SOLID; /* copy or clear inside new stuff */ @@ -507,6 +511,9 @@ static void view3d_main_area_free(ARegion *ar) if(rv3d->ri) { // XXX BIF_view3d_previewrender_free(rv3d); } + + if(rv3d->render_engine) + RE_engine_free(rv3d->render_engine); if(rv3d->depths) { if(rv3d->depths->depths) MEM_freeN(rv3d->depths->depths); @@ -531,6 +538,7 @@ static void *view3d_main_area_duplicate(void *poin) new->depths= NULL; new->ri= NULL; + new->render_engine= NULL; new->gpd= NULL; new->sms= NULL; new->smooth_timer= NULL; @@ -570,9 +578,16 @@ static void view3d_recalc_used_layers(ARegion *ar, wmNotifier *wmn, Scene *scene } } +static void view3d_main_area_render_update(RegionView3D *rv3d) +{ + if(rv3d->render_engine) + rv3d->render_engine->type->update(rv3d->render_engine, NULL); +} + static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn) { bScreen *sc; + RegionView3D *rv3d= ar->regiondata; /* context changes */ switch(wmn->category) { @@ -598,6 +613,7 @@ static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn) case ND_LAYER_CONTENT: view3d_recalc_used_layers(ar, wmn, wmn->reference); ED_region_tag_redraw(ar); + view3d_main_area_render_update(rv3d); break; case ND_FRAME: case ND_TRANSFORM: @@ -696,10 +712,9 @@ static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn) break; case NC_SPACE: if(wmn->data == ND_SPACE_VIEW3D) { - if (wmn->subtype == NS_VIEW3D_GPU) { - RegionView3D *rv3d= ar->regiondata; + if (wmn->subtype == NS_VIEW3D_GPU) rv3d->rflag |= RV3D_GPULIGHT_UPDATE; - } + ED_region_tag_redraw(ar); } break; diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index 78538a6f16d..3e2328ed010 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -2300,6 +2300,37 @@ static void draw_viewport_fps(Scene *scene, ARegion *ar) BLF_draw_default(22, ar->winy-17, 0.0f, printable, sizeof(printable)-1); } +static int view3d_main_area_draw_engine(const bContext *C, ARegion *ar) +{ + Scene *scene= CTX_data_scene(C); + View3D *v3d = CTX_wm_view3d(C); + RegionView3D *rv3d= CTX_wm_region_view3d(C); + RenderEngineType *type; + + if(!rv3d->render_engine) { + for(type=R_engines.first; type; type=type->next) + if(strcmp(type->idname, scene->r.engine) == 0) + break; + + if(!type || !type->draw) + return 0; + + rv3d->render_engine = RE_engine_create(type); + } + + view3d_main_area_setup_view(scene, v3d, ar, NULL, NULL); + + glClearColor(0.0f, 0.0f, 0.0f, 0.0f); + glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); + + ED_region_pixelspace(ar); + + type = rv3d->render_engine->type; + type->draw(rv3d->render_engine, scene); + + return 1; +} + /* warning: this function has duplicate drawing in ED_view3d_draw_offscreen() */ void view3d_main_area_draw(const bContext *C, ARegion *ar) { @@ -2312,6 +2343,10 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar) unsigned int lay_used; const char *grid_unit= NULL; + /* possible use (external) render engine instead */ + if(v3d->drawtype == OB_RENDER && view3d_main_area_draw_engine(C, ar)); + else { + /* shadow buffers, before we setup matrices */ if(draw_glsl_material(scene, NULL, v3d, v3d->drawtype)) gpu_update_lamps_shadows(scene, v3d); @@ -2488,6 +2523,8 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar) } ED_region_pixelspace(ar); + + } // retopo_paint_view_update(v3d); // retopo_draw_paint_lines(); @@ -2536,3 +2573,4 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar) v3d->flag |= V3D_INVALID_BACKBUF; } + diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h index 267283ee47a..2cec3cf7a97 100644 --- a/source/blender/makesdna/DNA_ID.h +++ b/source/blender/makesdna/DNA_ID.h @@ -224,6 +224,7 @@ typedef struct PreviewImage { #define LIB_PRE_EXISTING 2048 /* runtime */ #define LIB_ID_RECALC 4096 +#define LIB_ID_RECALC_DATA 8192 #ifdef __cplusplus } diff --git a/source/blender/makesdna/DNA_image_types.h b/source/blender/makesdna/DNA_image_types.h index 99ed2319415..9bfee52971c 100644 --- a/source/blender/makesdna/DNA_image_types.h +++ b/source/blender/makesdna/DNA_image_types.h @@ -42,7 +42,6 @@ struct ImBuf; struct RenderResult; struct GPUTexture; - /* ImageUser is in Texture, in Nodes, Background Image, Image Window, .... */ /* should be used in conjunction with an ID * to Image. */ typedef struct ImageUser { diff --git a/source/blender/makesdna/DNA_lamp_types.h b/source/blender/makesdna/DNA_lamp_types.h index 9377b5d8a09..67ca01628d8 100644 --- a/source/blender/makesdna/DNA_lamp_types.h +++ b/source/blender/makesdna/DNA_lamp_types.h @@ -39,10 +39,11 @@ #define MAX_MTEX 18 #endif -struct MTex; -struct CurveMapping; struct AnimData; +struct bNodeTree; +struct CurveMapping; struct Ipo; +struct MTex; typedef struct Lamp { ID id; @@ -100,11 +101,14 @@ typedef struct Lamp { struct Ipo *ipo; // XXX depreceated... old animation system struct MTex *mtex[18]; /* MAX_MTEX */ - short pr_texture; - char pad6[6]; + short pr_texture, use_nodes; + char pad6[4]; /* preview */ struct PreviewImage *preview; + + /* nodes */ + struct bNodeTree *nodetree; } Lamp; /* **************** LAMP ********************* */ diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index 03387c3a63a..f3540e5fcc7 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -46,6 +46,7 @@ struct bNodeGroup; struct AnimData; struct bGPdata; struct uiBlock; +struct Image; #define NODE_MAXSTR 32 @@ -99,6 +100,7 @@ typedef struct bNodeSocket { #define SOCK_VALUE 0 #define SOCK_VECTOR 1 #define SOCK_RGBA 2 +#define SOCK_CLOSURE 3 /* sock->flag, first bit is select */ /* hidden is user defined, to hide unused */ @@ -107,6 +109,8 @@ typedef struct bNodeSocket { #define SOCK_IN_USE 4 /* unavailable is for dynamic sockets */ #define SOCK_UNAVAIL 8 + /* socket collapsed in UI */ +#define SOCK_COLLAPSED 16 /* sock->stack_type */ #define SOCK_STACK_LOCAL 1 /* part of the local tree stack */ @@ -345,18 +349,157 @@ typedef struct NodeColorspill { float uspillr, uspillg, uspillb; }NodeColorspill; +typedef struct NodeTexSky { + float sun_direction[3]; + float turbidity; +} NodeTexSky; + +typedef struct NodeTexImage { + int pad; +} NodeTexImage; + +typedef struct NodeTexEnvironment { + int pad; +} NodeTexEnvironment; + +typedef struct NodeTexBlend { + int progression; + int axis; +} NodeTexBlend; + +typedef struct NodeTexClouds { + int hard; + int depth; + int basis; + int pad; +} NodeTexClouds; + +typedef struct NodeTexVoronoi { + int distance_metric; + int coloring; +} NodeTexVoronoi; + +typedef struct NodeTexMusgrave { + int type; + int basis; +} NodeTexMusgrave; + +typedef struct NodeTexMarble { + int type; + int wave; + int basis; + int hard; + int depth; + int pad; +} NodeTexMarble; + +typedef struct NodeTexMagic { + int depth; + int pad; +} NodeTexMagic; + +typedef struct NodeTexStucci { + int type; + int basis; + int hard; + int pad; +} NodeTexStucci; + +typedef struct NodeTexDistortedNoise { + int basis; + int distortion_basis; +} NodeTexDistortedNoise; + +typedef struct NodeTexWood { + int type; + int wave; + int basis; + int hard; +} NodeTexWood; + /* TEX_output */ typedef struct TexNodeOutput { char name[32]; } TexNodeOutput; - /* comp channel matte */ #define CMP_NODE_CHANNEL_MATTE_CS_RGB 1 #define CMP_NODE_CHANNEL_MATTE_CS_HSV 2 #define CMP_NODE_CHANNEL_MATTE_CS_YUV 3 #define CMP_NODE_CHANNEL_MATTE_CS_YCC 4 +/* glossy distributions */ +#define SHD_GLOSSY_BECKMANN 0 +#define SHD_GLOSSY_SHARP 1 +#define SHD_GLOSSY_GGX 2 + +/* blend texture */ +#define SHD_BLEND_LINEAR 0 +#define SHD_BLEND_QUADRATIC 1 +#define SHD_BLEND_EASING 2 +#define SHD_BLEND_DIAGONAL 3 +#define SHD_BLEND_RADIAL 4 +#define SHD_BLEND_QUADRATIC_SPHERE 5 +#define SHD_BLEND_SPHERICAL 6 + +#define SHD_BLEND_HORIZONTAL 0 +#define SHD_BLEND_VERTICAL 1 + +/* noise basis for textures */ +#define SHD_NOISE_PERLIN 0 +#define SHD_NOISE_VORONOI_F1 1 +#define SHD_NOISE_VORONOI_F2 2 +#define SHD_NOISE_VORONOI_F3 3 +#define SHD_NOISE_VORONOI_F4 4 +#define SHD_NOISE_VORONOI_F2_F1 5 +#define SHD_NOISE_VORONOI_CRACKLE 6 +#define SHD_NOISE_CELL_NOISE 7 + +#define SHD_NOISE_SOFT 0 +#define SHD_NOISE_HARD 1 + +/* voronoi texture */ +#define SHD_VORONOI_DISTANCE_SQUARED 0 +#define SHD_VORONOI_ACTUAL_DISTANCE 1 +#define SHD_VORONOI_MANHATTAN 2 +#define SHD_VORONOI_CHEBYCHEV 3 +#define SHD_VORONOI_MINKOVSKY_H 4 +#define SHD_VORONOI_MINKOVSKY_4 5 +#define SHD_VORONOI_MINKOVSKY 6 + +#define SHD_VORONOI_INTENSITY 0 +#define SHD_VORONOI_POSITION 1 +#define SHD_VORONOI_POSITION_OUTLINE 2 +#define SHD_VORONOI_POSITION_OUTLINE_INTENSITY 3 + +/* musgrave texture */ +#define SHD_MUSGRAVE_MULTIFRACTAL 0 +#define SHD_MUSGRAVE_FBM 1 +#define SHD_MUSGRAVE_HYBRID_MULTIFRACTAL 2 +#define SHD_MUSGRAVE_RIDGED_MULTIFRACTAL 3 +#define SHD_MUSGRAVE_HETERO_TERRAIN 4 + +/* marble texture */ +#define SHD_MARBLE_SOFT 0 +#define SHD_MARBLE_SHARP 1 +#define SHD_MARBLE_SHARPER 2 + +#define SHD_WAVE_SINE 0 +#define SHD_WAVE_SAW 1 +#define SHD_WAVE_TRI 2 + +/* stucci texture */ +#define SHD_STUCCI_PLASTIC 0 +#define SHD_STUCCI_WALL_IN 1 +#define SHD_STUCCI_WALL_OUT 2 + +/* wood texture */ +#define SHD_WOOD_BANDS 0 +#define SHD_WOOD_RINGS 1 +#define SHD_WOOD_BAND_NOISE 2 +#define SHD_WOOD_RING_NOISE 3 + +/* blur node */ #define CMP_NODE_BLUR_ASPECT_NONE 0 #define CMP_NODE_BLUR_ASPECT_Y 1 #define CMP_NODE_BLUR_ASPECT_X 2 diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h index c97a1d8fef5..7194905f9c3 100644 --- a/source/blender/makesdna/DNA_object_types.h +++ b/source/blender/makesdna/DNA_object_types.h @@ -378,6 +378,7 @@ extern Object workob; #define OB_SOLID 3 #define OB_SHADED 4 #define OB_TEXTURE 5 +#define OB_RENDER 6 /* dtx: flags, char! */ #define OB_AXIS 2 diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h index 7cb0c9456db..2c6cbb77bf5 100644 --- a/source/blender/makesdna/DNA_space_types.h +++ b/source/blender/makesdna/DNA_space_types.h @@ -402,7 +402,9 @@ typedef struct SpaceNode { struct bNodeTree *nodetree, *edittree; int treetype; /* treetype: as same nodetree->type */ short texfrom; /* texfrom object, world or brush */ + short shaderfrom; /* shader from object or world */ short recalc; /* currently on 0/1, for auto compo */ + short pad[3]; ListBase linkdrag; /* temporary data for modal linking operator */ struct bGPdata *gpd; /* grease-pencil data */ @@ -420,6 +422,10 @@ typedef struct SpaceNode { #define SNODE_TEX_WORLD 1 #define SNODE_TEX_BRUSH 2 +/* snode->shaderfrom */ +#define SNODE_SHADER_OBJECT 0 +#define SNODE_SHADER_WORLD 1 + typedef struct SpaceLogic { SpaceLink *next, *prev; ListBase regionbase; /* storage of regions for inactive spaces */ diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h index c9a440522d1..266121495ff 100644 --- a/source/blender/makesdna/DNA_view3d_types.h +++ b/source/blender/makesdna/DNA_view3d_types.h @@ -41,6 +41,7 @@ struct SpaceLink; struct Base; struct BoundBox; struct RenderInfo; +struct RenderEngine; struct bGPdata; struct SmoothViewStore; struct wmTimer; @@ -114,6 +115,7 @@ typedef struct RegionView3D { struct RegionView3D *localvd; /* allocated backup of its self while in localview */ struct RenderInfo *ri; + struct RenderEngine *render_engine; struct ViewDepths *depths; /* animated smooth view */ diff --git a/source/blender/makesdna/DNA_world_types.h b/source/blender/makesdna/DNA_world_types.h index 71d907f1c12..700f774c83a 100644 --- a/source/blender/makesdna/DNA_world_types.h +++ b/source/blender/makesdna/DNA_world_types.h @@ -36,6 +36,7 @@ #include "DNA_ID.h" struct AnimData; +struct bNodeTree; struct Ipo; struct MTex; @@ -122,11 +123,14 @@ typedef struct World { struct Ipo *ipo; // XXX depreceated... old animation system struct MTex *mtex[18]; /* MAX_MTEX */ - short pr_texture, pad[3]; + short pr_texture, use_nodes, pad[2]; /* previews */ struct PreviewImage *preview; + /* nodes */ + struct bNodeTree *nodetree; + } World; /* **************** WORLD ********************* */ diff --git a/source/blender/makesrna/RNA_access.h b/source/blender/makesrna/RNA_access.h index 2816a8717c1..df777db211d 100644 --- a/source/blender/makesrna/RNA_access.h +++ b/source/blender/makesrna/RNA_access.h @@ -31,7 +31,6 @@ #include -#include "DNA_listBase.h" #include "RNA_types.h" #ifdef __cplusplus @@ -40,6 +39,7 @@ extern "C" { struct bContext; struct ID; +struct ListBase; struct Main; struct ReportList; struct Scene; @@ -47,531 +47,530 @@ struct Scene; /* Types */ extern BlenderRNA BLENDER_RNA; -extern StructRNA RNA_Action; -extern StructRNA RNA_ActionConstraint; -extern StructRNA RNA_ActionGroup; -extern StructRNA RNA_Actuator; -extern StructRNA RNA_ActuatorSensor; -extern StructRNA RNA_Addon; -extern StructRNA RNA_AlwaysSensor; -extern StructRNA RNA_AndController; -extern StructRNA RNA_AnimData; -extern StructRNA RNA_AnimViz; -extern StructRNA RNA_AnimVizMotionPaths; -extern StructRNA RNA_AnimVizOnionSkinning; -extern StructRNA RNA_AnyType; -extern StructRNA RNA_Area; -extern StructRNA RNA_AreaLamp; -extern StructRNA RNA_Armature; -extern StructRNA RNA_ArmatureModifier; -extern StructRNA RNA_ArmatureSensor; -extern StructRNA RNA_ArrayModifier; -extern StructRNA RNA_BackgroundImage; -extern StructRNA RNA_BevelModifier; -extern StructRNA RNA_BezierSplinePoint; -extern StructRNA RNA_BlendData; -extern StructRNA RNA_BlendTexture; -extern StructRNA RNA_BlenderRNA; -extern StructRNA RNA_BoidRule; -extern StructRNA RNA_BoidRuleAverageSpeed; -extern StructRNA RNA_BoidRuleAvoid; -extern StructRNA RNA_BoidRuleAvoidCollision; -extern StructRNA RNA_BoidRuleFight; -extern StructRNA RNA_BoidRuleFollowLeader; -extern StructRNA RNA_BoidRuleGoal; -extern StructRNA RNA_BoidSettings; -extern StructRNA RNA_BoidState; -extern StructRNA RNA_Bone; -extern StructRNA RNA_BoneGroup; -extern StructRNA RNA_BooleanModifier; -extern StructRNA RNA_BooleanProperty; -extern StructRNA RNA_Brush; -extern StructRNA RNA_BrushTextureSlot; -extern StructRNA RNA_BuildModifier; -extern StructRNA RNA_Camera; -extern StructRNA RNA_CastModifier; -extern StructRNA RNA_ChildOfConstraint; -extern StructRNA RNA_ChildParticle; -extern StructRNA RNA_ClampToConstraint; -extern StructRNA RNA_ClothCollisionSettings; -extern StructRNA RNA_ClothModifier; -extern StructRNA RNA_ClothSettings; -extern StructRNA RNA_CloudsTexture; -extern StructRNA RNA_CollectionProperty; -extern StructRNA RNA_CollisionModifier; -extern StructRNA RNA_CollisionSensor; -extern StructRNA RNA_CollisionSettings; -extern StructRNA RNA_ColorRamp; -extern StructRNA RNA_ColorRampElement; -extern StructRNA RNA_ColorSequence; -extern StructRNA RNA_CompositorNode; -extern StructRNA RNA_CompositorNodeAlphaOver; -extern StructRNA RNA_CompositorNodeBilateralblur; -extern StructRNA RNA_CompositorNodeBlur; -extern StructRNA RNA_CompositorNodeBrightContrast; -extern StructRNA RNA_CompositorNodeChannelMatte; -extern StructRNA RNA_CompositorNodeChromaMatte; -extern StructRNA RNA_CompositorNodeColorMatte; -extern StructRNA RNA_CompositorNodeColorSpill; -extern StructRNA RNA_CompositorNodeCombHSVA; -extern StructRNA RNA_CompositorNodeCombRGBA; -extern StructRNA RNA_CompositorNodeCombYCCA; -extern StructRNA RNA_CompositorNodeCombYUVA; -extern StructRNA RNA_CompositorNodeComposite; -extern StructRNA RNA_CompositorNodeCrop; -extern StructRNA RNA_CompositorNodeCurveRGB; -extern StructRNA RNA_CompositorNodeCurveVec; -extern StructRNA RNA_CompositorNodeDBlur; -extern StructRNA RNA_CompositorNodeDefocus; -extern StructRNA RNA_CompositorNodeDiffMatte; -extern StructRNA RNA_CompositorNodeDilateErode; -extern StructRNA RNA_CompositorNodeDisplace; -extern StructRNA RNA_CompositorNodeDistanceMatte; -extern StructRNA RNA_CompositorNodeFilter; -extern StructRNA RNA_CompositorNodeFlip; -extern StructRNA RNA_CompositorNodeGamma; -extern StructRNA RNA_CompositorNodeGlare; -extern StructRNA RNA_CompositorNodeHueSat; -extern StructRNA RNA_CompositorNodeIDMask; -extern StructRNA RNA_CompositorNodeImage; -extern StructRNA RNA_CompositorNodeInvert; -extern StructRNA RNA_CompositorNodeLensdist; -extern StructRNA RNA_CompositorNodeLevels; -extern StructRNA RNA_CompositorNodeLumaMatte; -extern StructRNA RNA_CompositorNodeMapUV; -extern StructRNA RNA_CompositorNodeMapValue; -extern StructRNA RNA_CompositorNodeMath; -extern StructRNA RNA_CompositorNodeMixRGB; -extern StructRNA RNA_CompositorNodeNormal; -extern StructRNA RNA_CompositorNodeNormalize; -extern StructRNA RNA_CompositorNodeOutputFile; -extern StructRNA RNA_CompositorNodePremulKey; -extern StructRNA RNA_CompositorNodeRGB; -extern StructRNA RNA_CompositorNodeRGBToBW; -extern StructRNA RNA_CompositorNodeRLayers; -extern StructRNA RNA_CompositorNodeRotate; -extern StructRNA RNA_CompositorNodeScale; -extern StructRNA RNA_CompositorNodeSepHSVA; -extern StructRNA RNA_CompositorNodeSepRGBA; -extern StructRNA RNA_CompositorNodeSepYCCA; -extern StructRNA RNA_CompositorNodeSepYUVA; -extern StructRNA RNA_CompositorNodeSetAlpha; -extern StructRNA RNA_CompositorNodeSplitViewer; -extern StructRNA RNA_CompositorNodeTexture; -extern StructRNA RNA_CompositorNodeTime; -extern StructRNA RNA_CompositorNodeTonemap; -extern StructRNA RNA_CompositorNodeTranslate; -extern StructRNA RNA_CompositorNodeTree; -extern StructRNA RNA_CompositorNodeValToRGB; -extern StructRNA RNA_CompositorNodeValue; -extern StructRNA RNA_CompositorNodeVecBlur; -extern StructRNA RNA_CompositorNodeViewer; -extern StructRNA RNA_CompositorNodeZcombine; -extern StructRNA RNA_ConsoleLine; -extern StructRNA RNA_Constraint; -extern StructRNA RNA_ConstraintTarget; -extern StructRNA RNA_Context; -extern StructRNA RNA_ControlFluidSettings; -extern StructRNA RNA_Controller; -extern StructRNA RNA_CopyLocationConstraint; -extern StructRNA RNA_CopyRotationConstraint; -extern StructRNA RNA_CopyScaleConstraint; -extern StructRNA RNA_CopyTransformsConstraint; -extern StructRNA RNA_Curve; -extern StructRNA RNA_CurveMap; -extern StructRNA RNA_CurveMapPoint; -extern StructRNA RNA_CurveMapping; -extern StructRNA RNA_CurveModifier; -extern StructRNA RNA_CurvePoint; -extern StructRNA RNA_DampedTrackConstraint; -extern StructRNA RNA_DecimateModifier; -extern StructRNA RNA_DelaySensor; -extern StructRNA RNA_DisplaceModifier; -extern StructRNA RNA_DistortedNoiseTexture; -extern StructRNA RNA_DomainFluidSettings; -extern StructRNA RNA_Driver; -extern StructRNA RNA_DriverTarget; -extern StructRNA RNA_DriverVariable; -extern StructRNA RNA_DupliObject; -extern StructRNA RNA_EdgeSplitModifier; -extern StructRNA RNA_EditBone; -extern StructRNA RNA_EffectSequence; -extern StructRNA RNA_EffectorWeights; -extern StructRNA RNA_EnumProperty; -extern StructRNA RNA_EnumPropertyItem; -extern StructRNA RNA_EnvironmentMap; -extern StructRNA RNA_EnvironmentMapTexture; -extern StructRNA RNA_Event; -extern StructRNA RNA_ExplodeModifier; -extern StructRNA RNA_ExpressionController; -extern StructRNA RNA_FCurve; -extern StructRNA RNA_FCurveSample; -extern StructRNA RNA_FModifier; -extern StructRNA RNA_FModifierCycles; -extern StructRNA RNA_FModifierEnvelope; -extern StructRNA RNA_FModifierEnvelopeControlPoint; -extern StructRNA RNA_FModifierFunctionGenerator; -extern StructRNA RNA_FModifierGenerator; -extern StructRNA RNA_FModifierLimits; -extern StructRNA RNA_FModifierNoise; -extern StructRNA RNA_FModifierPython; -extern StructRNA RNA_FModifierStepped; -extern StructRNA RNA_FieldSettings; -extern StructRNA RNA_FileSelectParams; -extern StructRNA RNA_FloatProperty; -extern StructRNA RNA_FloorConstraint; -extern StructRNA RNA_FluidFluidSettings; -extern StructRNA RNA_FluidSettings; -extern StructRNA RNA_FluidSimulationModifier; -extern StructRNA RNA_FollowPathConstraint; -extern StructRNA RNA_Function; -extern StructRNA RNA_GPencilFrame; -extern StructRNA RNA_GPencilLayer; -extern StructRNA RNA_GPencilStroke; -extern StructRNA RNA_GPencilStrokePoint; -extern StructRNA RNA_GameBooleanProperty; -extern StructRNA RNA_GameFloatProperty; -extern StructRNA RNA_GameIntProperty; -extern StructRNA RNA_GameObjectSettings; -extern StructRNA RNA_GameProperty; -extern StructRNA RNA_GameSoftBodySettings; -extern StructRNA RNA_GameStringProperty; -extern StructRNA RNA_GameTimerProperty; -extern StructRNA RNA_GlowSequence; -extern StructRNA RNA_GreasePencil; -extern StructRNA RNA_Group; -extern StructRNA RNA_Header; -extern StructRNA RNA_HemiLamp; -extern StructRNA RNA_Histogram; -extern StructRNA RNA_HookModifier; -extern StructRNA RNA_ID; -extern StructRNA RNA_IKParam; -extern StructRNA RNA_Image; -extern StructRNA RNA_ImagePaint; -extern StructRNA RNA_ImageSequence; -extern StructRNA RNA_ImageTexture; -extern StructRNA RNA_ImageUser; -extern StructRNA RNA_InflowFluidSettings; -extern StructRNA RNA_IntProperty; -extern StructRNA RNA_Itasc; -extern StructRNA RNA_JoystickSensor; -extern StructRNA RNA_Key; -extern StructRNA RNA_KeyConfig; -extern StructRNA RNA_KeyMap; -extern StructRNA RNA_KeyMapItem; -extern StructRNA RNA_KeyboardSensor; -extern StructRNA RNA_Keyframe; -extern StructRNA RNA_KeyingSet; -extern StructRNA RNA_KeyingSetInfo; -extern StructRNA RNA_KeyingSetPath; -extern StructRNA RNA_KinematicConstraint; -extern StructRNA RNA_Lamp; -extern StructRNA RNA_LampSkySettings; -extern StructRNA RNA_LampTextureSlot; -extern StructRNA RNA_Lattice; -extern StructRNA RNA_LatticeModifier; -extern StructRNA RNA_LatticePoint; -extern StructRNA RNA_Library; -extern StructRNA RNA_LimitDistanceConstraint; -extern StructRNA RNA_LimitLocationConstraint; -extern StructRNA RNA_LimitRotationConstraint; -extern StructRNA RNA_LimitScaleConstraint; -extern StructRNA RNA_LockedTrackConstraint; -extern StructRNA RNA_Macro; -extern StructRNA RNA_MagicTexture; -extern StructRNA RNA_MarbleTexture; -extern StructRNA RNA_MaskModifier; -extern StructRNA RNA_Material; -extern StructRNA RNA_MaterialHalo; -extern StructRNA RNA_MaterialPhysics; -extern StructRNA RNA_MaterialRaytraceMirror; -extern StructRNA RNA_MaterialRaytraceTransparency; -extern StructRNA RNA_MaterialSlot; -extern StructRNA RNA_MaterialStrand; -extern StructRNA RNA_MaterialSubsurfaceScattering; -extern StructRNA RNA_MaterialTextureSlot; -extern StructRNA RNA_MaterialVolume; -extern StructRNA RNA_Menu; -extern StructRNA RNA_Mesh; -extern StructRNA RNA_MeshColor; -extern StructRNA RNA_MeshColorLayer; -extern StructRNA RNA_MeshDeformModifier; -extern StructRNA RNA_MeshEdge; -extern StructRNA RNA_MeshFace; -extern StructRNA RNA_MeshFloatProperty; -extern StructRNA RNA_MeshFloatPropertyLayer; -extern StructRNA RNA_MeshIntProperty; -extern StructRNA RNA_MeshIntPropertyLayer; -extern StructRNA RNA_MeshSticky; -extern StructRNA RNA_MeshStringProperty; -extern StructRNA RNA_MeshStringPropertyLayer; -extern StructRNA RNA_MeshTextureFace; -extern StructRNA RNA_MeshTextureFaceLayer; -extern StructRNA RNA_MeshVertex; -extern StructRNA RNA_MessageSensor; -extern StructRNA RNA_MetaBall; -extern StructRNA RNA_MetaElement; -extern StructRNA RNA_MetaSequence; -extern StructRNA RNA_MirrorModifier; -extern StructRNA RNA_Modifier; -extern StructRNA RNA_MotionPath; -extern StructRNA RNA_MotionPathVert; -extern StructRNA RNA_MouseSensor; -extern StructRNA RNA_MovieSequence; -extern StructRNA RNA_MulticamSequence; -extern StructRNA RNA_MultiresModifier; -extern StructRNA RNA_MusgraveTexture; -extern StructRNA RNA_NandController; -extern StructRNA RNA_NearSensor; -extern StructRNA RNA_NlaStrip; -extern StructRNA RNA_NlaTrack; -extern StructRNA RNA_Node; -extern StructRNA RNA_NodeGroup; -extern StructRNA RNA_NodeLink; -extern StructRNA RNA_NodeSocket; -extern StructRNA RNA_NodeTree; -extern StructRNA RNA_NoiseTexture; -extern StructRNA RNA_NorController; -extern StructRNA RNA_Object; -extern StructRNA RNA_ObjectBase; -extern StructRNA RNA_ObstacleFluidSettings; -extern StructRNA RNA_Operator; -extern StructRNA RNA_OperatorFileListElement; -extern StructRNA RNA_OperatorMousePath; -extern StructRNA RNA_OperatorProperties; -extern StructRNA RNA_OperatorStrokeElement; -extern StructRNA RNA_OperatorTypeMacro; -extern StructRNA RNA_OrController; -extern StructRNA RNA_OutflowFluidSettings; -extern StructRNA RNA_PackedFile; -extern StructRNA RNA_Paint; -extern StructRNA RNA_Panel; -extern StructRNA RNA_Particle; -extern StructRNA RNA_ParticleBrush; -extern StructRNA RNA_ParticleDupliWeight; -extern StructRNA RNA_ParticleEdit; -extern StructRNA RNA_ParticleFluidSettings; -extern StructRNA RNA_ParticleHairKey; -extern StructRNA RNA_ParticleInstanceModifier; -extern StructRNA RNA_ParticleKey; -extern StructRNA RNA_ParticleSettings; -extern StructRNA RNA_ParticleSettingsTextureSlot; -extern StructRNA RNA_ParticleSystem; -extern StructRNA RNA_ParticleSystemModifier; -extern StructRNA RNA_ParticleTarget; -extern StructRNA RNA_PivotConstraint; -extern StructRNA RNA_PluginSequence; -extern StructRNA RNA_PluginTexture; -extern StructRNA RNA_PointCache; -extern StructRNA RNA_PointDensity; -extern StructRNA RNA_PointDensityTexture; -extern StructRNA RNA_PointLamp; -extern StructRNA RNA_PointerProperty; -extern StructRNA RNA_Pose; -extern StructRNA RNA_PoseBone; -extern StructRNA RNA_Property; -extern StructRNA RNA_PropertyGroup; -extern StructRNA RNA_PropertyGroupItem; -extern StructRNA RNA_PropertySensor; -extern StructRNA RNA_PythonConstraint; -extern StructRNA RNA_PythonController; -extern StructRNA RNA_RGBANodeSocket; -extern StructRNA RNA_RadarSensor; -extern StructRNA RNA_RandomSensor; -extern StructRNA RNA_RaySensor; -extern StructRNA RNA_Region; -extern StructRNA RNA_RenderEngine; -extern StructRNA RNA_RenderLayer; -extern StructRNA RNA_RenderPass; -extern StructRNA RNA_RenderResult; -extern StructRNA RNA_RenderSettings; -extern StructRNA RNA_RigidBodyJointConstraint; -extern StructRNA RNA_SPHFluidSettings; -extern StructRNA RNA_Scene; -extern StructRNA RNA_SceneGameData; -extern StructRNA RNA_SceneRenderLayer; -extern StructRNA RNA_SceneSequence; -extern StructRNA RNA_Scopes; -extern StructRNA RNA_Screen; -extern StructRNA RNA_ScrewModifier; -extern StructRNA RNA_Sculpt; -extern StructRNA RNA_Sensor; -extern StructRNA RNA_Sequence; -extern StructRNA RNA_SequenceColorBalance; -extern StructRNA RNA_SequenceCrop; -extern StructRNA RNA_SequenceEditor; -extern StructRNA RNA_SequenceElement; -extern StructRNA RNA_SequenceProxy; -extern StructRNA RNA_SequenceTransform; -extern StructRNA RNA_ShaderNode; -extern StructRNA RNA_ShaderNodeCameraData; -extern StructRNA RNA_ShaderNodeCombineRGB; -extern StructRNA RNA_ShaderNodeExtendedMaterial; -extern StructRNA RNA_ShaderNodeGeometry; -extern StructRNA RNA_ShaderNodeHueSaturation; -extern StructRNA RNA_ShaderNodeInvert; -extern StructRNA RNA_ShaderNodeMapping; -extern StructRNA RNA_ShaderNodeMaterial; -extern StructRNA RNA_ShaderNodeMath; -extern StructRNA RNA_ShaderNodeMixRGB; -extern StructRNA RNA_ShaderNodeNormal; -extern StructRNA RNA_ShaderNodeOutput; -extern StructRNA RNA_ShaderNodeRGB; -extern StructRNA RNA_ShaderNodeRGBCurve; -extern StructRNA RNA_ShaderNodeRGBToBW; -extern StructRNA RNA_ShaderNodeSeparateRGB; -extern StructRNA RNA_ShaderNodeSqueeze; -extern StructRNA RNA_ShaderNodeTexture; -extern StructRNA RNA_ShaderNodeTree; -extern StructRNA RNA_ShaderNodeValToRGB; -extern StructRNA RNA_ShaderNodeValue; -extern StructRNA RNA_ShaderNodeVectorCurve; -extern StructRNA RNA_ShaderNodeVectorMath; -extern StructRNA RNA_ShapeKey; -extern StructRNA RNA_ShapeKeyBezierPoint; -extern StructRNA RNA_ShapeKeyCurvePoint; -extern StructRNA RNA_ShapeKeyPoint; -extern StructRNA RNA_ShrinkwrapConstraint; -extern StructRNA RNA_ShrinkwrapModifier; -extern StructRNA RNA_SimpleDeformModifier; -extern StructRNA RNA_SmokeCollSettings; -extern StructRNA RNA_SmokeDomainSettings; -extern StructRNA RNA_SmokeFlowSettings; -extern StructRNA RNA_SmokeModifier; -extern StructRNA RNA_SmoothModifier; -extern StructRNA RNA_SoftBodyModifier; -extern StructRNA RNA_SoftBodySettings; -extern StructRNA RNA_SolidifyModifier; -extern StructRNA RNA_Sound; -extern StructRNA RNA_SoundSequence; -extern StructRNA RNA_Space; -extern StructRNA RNA_SpaceConsole; -extern StructRNA RNA_SpaceDopeSheetEditor; -extern StructRNA RNA_SpaceFileBrowser; -extern StructRNA RNA_SpaceGraphEditor; -extern StructRNA RNA_SpaceImageEditor; -extern StructRNA RNA_SpaceInfo; -extern StructRNA RNA_SpaceLogicEditor; -extern StructRNA RNA_SpaceNLA; -extern StructRNA RNA_SpaceNodeEditor; -extern StructRNA RNA_SpaceOutliner; -extern StructRNA RNA_SpaceProperties; -extern StructRNA RNA_SpaceSequenceEditor; -extern StructRNA RNA_SpaceTextEditor; -extern StructRNA RNA_SpaceTimeline; -extern StructRNA RNA_SpaceUVEditor; -extern StructRNA RNA_SpaceUserPreferences; -extern StructRNA RNA_SpaceView3D; -extern StructRNA RNA_SpeedControlSequence; -extern StructRNA RNA_Spline; -extern StructRNA RNA_SplineIKConstraint; -extern StructRNA RNA_SpotLamp; -extern StructRNA RNA_StretchToConstraint; -extern StructRNA RNA_StringProperty; -extern StructRNA RNA_Struct; -extern StructRNA RNA_StucciTexture; -extern StructRNA RNA_SubsurfModifier; -extern StructRNA RNA_SunLamp; -extern StructRNA RNA_SurfaceCurve; -extern StructRNA RNA_SurfaceModifier; -extern StructRNA RNA_TexMapping; -extern StructRNA RNA_Text; -extern StructRNA RNA_TextBox; -extern StructRNA RNA_TextCharacterFormat; -extern StructRNA RNA_TextCurve; -extern StructRNA RNA_TextLine; -extern StructRNA RNA_TextMarker; -extern StructRNA RNA_Texture; -extern StructRNA RNA_TextureNode; -extern StructRNA RNA_TextureNodeBricks; -extern StructRNA RNA_TextureNodeChecker; -extern StructRNA RNA_TextureNodeCompose; -extern StructRNA RNA_TextureNodeCoordinates; -extern StructRNA RNA_TextureNodeCurveRGB; -extern StructRNA RNA_TextureNodeCurveTime; -extern StructRNA RNA_TextureNodeDecompose; -extern StructRNA RNA_TextureNodeDistance; -extern StructRNA RNA_TextureNodeHueSaturation; -extern StructRNA RNA_TextureNodeImage; -extern StructRNA RNA_TextureNodeInvert; -extern StructRNA RNA_TextureNodeMath; -extern StructRNA RNA_TextureNodeMixRGB; -extern StructRNA RNA_TextureNodeOutput; -extern StructRNA RNA_TextureNodeRGBToBW; -extern StructRNA RNA_TextureNodeRotate; -extern StructRNA RNA_TextureNodeScale; -extern StructRNA RNA_TextureNodeTexture; -extern StructRNA RNA_TextureNodeTranslate; -extern StructRNA RNA_TextureNodeTree; -extern StructRNA RNA_TextureNodeValToNor; -extern StructRNA RNA_TextureNodeValToRGB; -extern StructRNA RNA_TextureNodeViewer; -extern StructRNA RNA_TextureSlot; -extern StructRNA RNA_Theme; -extern StructRNA RNA_ThemeAudioWindow; -extern StructRNA RNA_ThemeBoneColorSet; -extern StructRNA RNA_ThemeConsole; -extern StructRNA RNA_ThemeDopeSheet; -extern StructRNA RNA_ThemeFileBrowser; -extern StructRNA RNA_ThemeFontStyle; -extern StructRNA RNA_ThemeGraphEditor; -extern StructRNA RNA_ThemeImageEditor; -extern StructRNA RNA_ThemeInfo; -extern StructRNA RNA_ThemeLogicEditor; -extern StructRNA RNA_ThemeNLAEditor; -extern StructRNA RNA_ThemeNodeEditor; -extern StructRNA RNA_ThemeOutliner; -extern StructRNA RNA_ThemeProperties; -extern StructRNA RNA_ThemeSequenceEditor; -extern StructRNA RNA_ThemeStyle; -extern StructRNA RNA_ThemeTextEditor; -extern StructRNA RNA_ThemeTimeline; -extern StructRNA RNA_ThemeUserInterface; -extern StructRNA RNA_ThemeUserPreferences; -extern StructRNA RNA_ThemeView3D; -extern StructRNA RNA_ThemeWidgetColors; -extern StructRNA RNA_ThemeWidgetStateColors; -extern StructRNA RNA_TimelineMarker; -extern StructRNA RNA_Timer; -extern StructRNA RNA_ToolSettings; -extern StructRNA RNA_TouchSensor; -extern StructRNA RNA_TrackToConstraint; -extern StructRNA RNA_TransformConstraint; -extern StructRNA RNA_TransformSequence; -extern StructRNA RNA_UILayout; -extern StructRNA RNA_UIListItem; -extern StructRNA RNA_UVProjectModifier; -extern StructRNA RNA_UVProjector; -extern StructRNA RNA_UnitSettings; -extern StructRNA RNA_UnknownType; -extern StructRNA RNA_UserPreferences; -extern StructRNA RNA_UserPreferencesEdit; -extern StructRNA RNA_UserPreferencesFilePaths; -extern StructRNA RNA_UserPreferencesSystem; -extern StructRNA RNA_UserPreferencesView; -extern StructRNA RNA_UserSolidLight; -extern StructRNA RNA_ValueNodeSocket; -extern StructRNA RNA_VectorFont; -extern StructRNA RNA_VectorNodeSocket; -extern StructRNA RNA_VertexGroup; -extern StructRNA RNA_VertexGroupElement; -extern StructRNA RNA_VertexPaint; -extern StructRNA RNA_VoronoiTexture; -extern StructRNA RNA_VoxelData; -extern StructRNA RNA_VoxelDataTexture; -extern StructRNA RNA_WaveModifier; -extern StructRNA RNA_Window; -extern StructRNA RNA_WindowManager; -extern StructRNA RNA_WipeSequence; -extern StructRNA RNA_WoodTexture; -extern StructRNA RNA_World; -extern StructRNA RNA_WorldAmbientOcclusion; -extern StructRNA RNA_WorldMistSettings; -extern StructRNA RNA_WorldStarsSettings; -extern StructRNA RNA_WorldTextureSlot; -extern StructRNA RNA_XnorController; -extern StructRNA RNA_XorController; - +extern LIBEXPORT StructRNA RNA_Action; +extern LIBEXPORT StructRNA RNA_ActionConstraint; +extern LIBEXPORT StructRNA RNA_ActionGroup; +extern LIBEXPORT StructRNA RNA_Actuator; +extern LIBEXPORT StructRNA RNA_ActuatorSensor; +extern LIBEXPORT StructRNA RNA_Addon; +extern LIBEXPORT StructRNA RNA_AlwaysSensor; +extern LIBEXPORT StructRNA RNA_AndController; +extern LIBEXPORT StructRNA RNA_AnimData; +extern LIBEXPORT StructRNA RNA_AnimViz; +extern LIBEXPORT StructRNA RNA_AnimVizMotionPaths; +extern LIBEXPORT StructRNA RNA_AnimVizOnionSkinning; +extern LIBEXPORT StructRNA RNA_AnyType; +extern LIBEXPORT StructRNA RNA_Area; +extern LIBEXPORT StructRNA RNA_AreaLamp; +extern LIBEXPORT StructRNA RNA_Armature; +extern LIBEXPORT StructRNA RNA_ArmatureModifier; +extern LIBEXPORT StructRNA RNA_ArmatureSensor; +extern LIBEXPORT StructRNA RNA_ArrayModifier; +extern LIBEXPORT StructRNA RNA_BackgroundImage; +extern LIBEXPORT StructRNA RNA_BevelModifier; +extern LIBEXPORT StructRNA RNA_BezierSplinePoint; +extern LIBEXPORT StructRNA RNA_BlendData; +extern LIBEXPORT StructRNA RNA_BlendTexture; +extern LIBEXPORT StructRNA RNA_BlenderRNA; +extern LIBEXPORT StructRNA RNA_BoidRule; +extern LIBEXPORT StructRNA RNA_BoidRuleAverageSpeed; +extern LIBEXPORT StructRNA RNA_BoidRuleAvoid; +extern LIBEXPORT StructRNA RNA_BoidRuleAvoidCollision; +extern LIBEXPORT StructRNA RNA_BoidRuleFight; +extern LIBEXPORT StructRNA RNA_BoidRuleFollowLeader; +extern LIBEXPORT StructRNA RNA_BoidRuleGoal; +extern LIBEXPORT StructRNA RNA_BoidSettings; +extern LIBEXPORT StructRNA RNA_BoidState; +extern LIBEXPORT StructRNA RNA_Bone; +extern LIBEXPORT StructRNA RNA_BoneGroup; +extern LIBEXPORT StructRNA RNA_BooleanModifier; +extern LIBEXPORT StructRNA RNA_BooleanProperty; +extern LIBEXPORT StructRNA RNA_Brush; +extern LIBEXPORT StructRNA RNA_BrushTextureSlot; +extern LIBEXPORT StructRNA RNA_BuildModifier; +extern LIBEXPORT StructRNA RNA_Camera; +extern LIBEXPORT StructRNA RNA_CastModifier; +extern LIBEXPORT StructRNA RNA_ChildOfConstraint; +extern LIBEXPORT StructRNA RNA_ChildParticle; +extern LIBEXPORT StructRNA RNA_ClampToConstraint; +extern LIBEXPORT StructRNA RNA_ClothCollisionSettings; +extern LIBEXPORT StructRNA RNA_ClothModifier; +extern LIBEXPORT StructRNA RNA_ClothSettings; +extern LIBEXPORT StructRNA RNA_CloudsTexture; +extern LIBEXPORT StructRNA RNA_CollectionProperty; +extern LIBEXPORT StructRNA RNA_CollisionModifier; +extern LIBEXPORT StructRNA RNA_CollisionSensor; +extern LIBEXPORT StructRNA RNA_CollisionSettings; +extern LIBEXPORT StructRNA RNA_ColorRamp; +extern LIBEXPORT StructRNA RNA_ColorRampElement; +extern LIBEXPORT StructRNA RNA_ColorSequence; +extern LIBEXPORT StructRNA RNA_CompositorNode; +extern LIBEXPORT StructRNA RNA_CompositorNodeAlphaOver; +extern LIBEXPORT StructRNA RNA_CompositorNodeBilateralblur; +extern LIBEXPORT StructRNA RNA_CompositorNodeBlur; +extern LIBEXPORT StructRNA RNA_CompositorNodeBrightContrast; +extern LIBEXPORT StructRNA RNA_CompositorNodeChannelMatte; +extern LIBEXPORT StructRNA RNA_CompositorNodeChromaMatte; +extern LIBEXPORT StructRNA RNA_CompositorNodeColorMatte; +extern LIBEXPORT StructRNA RNA_CompositorNodeColorSpill; +extern LIBEXPORT StructRNA RNA_CompositorNodeCombHSVA; +extern LIBEXPORT StructRNA RNA_CompositorNodeCombRGBA; +extern LIBEXPORT StructRNA RNA_CompositorNodeCombYCCA; +extern LIBEXPORT StructRNA RNA_CompositorNodeCombYUVA; +extern LIBEXPORT StructRNA RNA_CompositorNodeComposite; +extern LIBEXPORT StructRNA RNA_CompositorNodeCrop; +extern LIBEXPORT StructRNA RNA_CompositorNodeCurveRGB; +extern LIBEXPORT StructRNA RNA_CompositorNodeCurveVec; +extern LIBEXPORT StructRNA RNA_CompositorNodeDBlur; +extern LIBEXPORT StructRNA RNA_CompositorNodeDefocus; +extern LIBEXPORT StructRNA RNA_CompositorNodeDiffMatte; +extern LIBEXPORT StructRNA RNA_CompositorNodeDilateErode; +extern LIBEXPORT StructRNA RNA_CompositorNodeDisplace; +extern LIBEXPORT StructRNA RNA_CompositorNodeDistanceMatte; +extern LIBEXPORT StructRNA RNA_CompositorNodeFilter; +extern LIBEXPORT StructRNA RNA_CompositorNodeFlip; +extern LIBEXPORT StructRNA RNA_CompositorNodeGamma; +extern LIBEXPORT StructRNA RNA_CompositorNodeGlare; +extern LIBEXPORT StructRNA RNA_CompositorNodeHueSat; +extern LIBEXPORT StructRNA RNA_CompositorNodeIDMask; +extern LIBEXPORT StructRNA RNA_CompositorNodeImage; +extern LIBEXPORT StructRNA RNA_CompositorNodeInvert; +extern LIBEXPORT StructRNA RNA_CompositorNodeLensdist; +extern LIBEXPORT StructRNA RNA_CompositorNodeLevels; +extern LIBEXPORT StructRNA RNA_CompositorNodeLumaMatte; +extern LIBEXPORT StructRNA RNA_CompositorNodeMapUV; +extern LIBEXPORT StructRNA RNA_CompositorNodeMapValue; +extern LIBEXPORT StructRNA RNA_CompositorNodeMath; +extern LIBEXPORT StructRNA RNA_CompositorNodeMixRGB; +extern LIBEXPORT StructRNA RNA_CompositorNodeNormal; +extern LIBEXPORT StructRNA RNA_CompositorNodeNormalize; +extern LIBEXPORT StructRNA RNA_CompositorNodeOutputFile; +extern LIBEXPORT StructRNA RNA_CompositorNodePremulKey; +extern LIBEXPORT StructRNA RNA_CompositorNodeRGB; +extern LIBEXPORT StructRNA RNA_CompositorNodeRGBToBW; +extern LIBEXPORT StructRNA RNA_CompositorNodeRLayers; +extern LIBEXPORT StructRNA RNA_CompositorNodeRotate; +extern LIBEXPORT StructRNA RNA_CompositorNodeScale; +extern LIBEXPORT StructRNA RNA_CompositorNodeSepHSVA; +extern LIBEXPORT StructRNA RNA_CompositorNodeSepRGBA; +extern LIBEXPORT StructRNA RNA_CompositorNodeSepYCCA; +extern LIBEXPORT StructRNA RNA_CompositorNodeSepYUVA; +extern LIBEXPORT StructRNA RNA_CompositorNodeSetAlpha; +extern LIBEXPORT StructRNA RNA_CompositorNodeSplitViewer; +extern LIBEXPORT StructRNA RNA_CompositorNodeTexture; +extern LIBEXPORT StructRNA RNA_CompositorNodeTime; +extern LIBEXPORT StructRNA RNA_CompositorNodeTonemap; +extern LIBEXPORT StructRNA RNA_CompositorNodeTranslate; +extern LIBEXPORT StructRNA RNA_CompositorNodeTree; +extern LIBEXPORT StructRNA RNA_CompositorNodeValToRGB; +extern LIBEXPORT StructRNA RNA_CompositorNodeValue; +extern LIBEXPORT StructRNA RNA_CompositorNodeVecBlur; +extern LIBEXPORT StructRNA RNA_CompositorNodeViewer; +extern LIBEXPORT StructRNA RNA_CompositorNodeZcombine; +extern LIBEXPORT StructRNA RNA_ConsoleLine; +extern LIBEXPORT StructRNA RNA_Constraint; +extern LIBEXPORT StructRNA RNA_ConstraintTarget; +extern LIBEXPORT StructRNA RNA_Context; +extern LIBEXPORT StructRNA RNA_ControlFluidSettings; +extern LIBEXPORT StructRNA RNA_Controller; +extern LIBEXPORT StructRNA RNA_CopyLocationConstraint; +extern LIBEXPORT StructRNA RNA_CopyRotationConstraint; +extern LIBEXPORT StructRNA RNA_CopyScaleConstraint; +extern LIBEXPORT StructRNA RNA_CopyTransformsConstraint; +extern LIBEXPORT StructRNA RNA_Curve; +extern LIBEXPORT StructRNA RNA_CurveMap; +extern LIBEXPORT StructRNA RNA_CurveMapPoint; +extern LIBEXPORT StructRNA RNA_CurveMapping; +extern LIBEXPORT StructRNA RNA_CurveModifier; +extern LIBEXPORT StructRNA RNA_CurvePoint; +extern LIBEXPORT StructRNA RNA_DampedTrackConstraint; +extern LIBEXPORT StructRNA RNA_DecimateModifier; +extern LIBEXPORT StructRNA RNA_DelaySensor; +extern LIBEXPORT StructRNA RNA_DisplaceModifier; +extern LIBEXPORT StructRNA RNA_DistortedNoiseTexture; +extern LIBEXPORT StructRNA RNA_DomainFluidSettings; +extern LIBEXPORT StructRNA RNA_Driver; +extern LIBEXPORT StructRNA RNA_DriverTarget; +extern LIBEXPORT StructRNA RNA_DriverVariable; +extern LIBEXPORT StructRNA RNA_DupliObject; +extern LIBEXPORT StructRNA RNA_EdgeSplitModifier; +extern LIBEXPORT StructRNA RNA_EditBone; +extern LIBEXPORT StructRNA RNA_EffectSequence; +extern LIBEXPORT StructRNA RNA_EffectorWeights; +extern LIBEXPORT StructRNA RNA_EnumProperty; +extern LIBEXPORT StructRNA RNA_EnumPropertyItem; +extern LIBEXPORT StructRNA RNA_EnvironmentMap; +extern LIBEXPORT StructRNA RNA_EnvironmentMapTexture; +extern LIBEXPORT StructRNA RNA_Event; +extern LIBEXPORT StructRNA RNA_ExplodeModifier; +extern LIBEXPORT StructRNA RNA_ExpressionController; +extern LIBEXPORT StructRNA RNA_FCurve; +extern LIBEXPORT StructRNA RNA_FCurveSample; +extern LIBEXPORT StructRNA RNA_FModifier; +extern LIBEXPORT StructRNA RNA_FModifierCycles; +extern LIBEXPORT StructRNA RNA_FModifierEnvelope; +extern LIBEXPORT StructRNA RNA_FModifierEnvelopeControlPoint; +extern LIBEXPORT StructRNA RNA_FModifierFunctionGenerator; +extern LIBEXPORT StructRNA RNA_FModifierGenerator; +extern LIBEXPORT StructRNA RNA_FModifierLimits; +extern LIBEXPORT StructRNA RNA_FModifierNoise; +extern LIBEXPORT StructRNA RNA_FModifierPython; +extern LIBEXPORT StructRNA RNA_FModifierStepped; +extern LIBEXPORT StructRNA RNA_FieldSettings; +extern LIBEXPORT StructRNA RNA_FileSelectParams; +extern LIBEXPORT StructRNA RNA_FloatProperty; +extern LIBEXPORT StructRNA RNA_FloorConstraint; +extern LIBEXPORT StructRNA RNA_FluidFluidSettings; +extern LIBEXPORT StructRNA RNA_FluidSettings; +extern LIBEXPORT StructRNA RNA_FluidSimulationModifier; +extern LIBEXPORT StructRNA RNA_FollowPathConstraint; +extern LIBEXPORT StructRNA RNA_Function; +extern LIBEXPORT StructRNA RNA_GPencilFrame; +extern LIBEXPORT StructRNA RNA_GPencilLayer; +extern LIBEXPORT StructRNA RNA_GPencilStroke; +extern LIBEXPORT StructRNA RNA_GPencilStrokePoint; +extern LIBEXPORT StructRNA RNA_GameBooleanProperty; +extern LIBEXPORT StructRNA RNA_GameFloatProperty; +extern LIBEXPORT StructRNA RNA_GameIntProperty; +extern LIBEXPORT StructRNA RNA_GameObjectSettings; +extern LIBEXPORT StructRNA RNA_GameProperty; +extern LIBEXPORT StructRNA RNA_GameSoftBodySettings; +extern LIBEXPORT StructRNA RNA_GameStringProperty; +extern LIBEXPORT StructRNA RNA_GameTimerProperty; +extern LIBEXPORT StructRNA RNA_GlowSequence; +extern LIBEXPORT StructRNA RNA_GreasePencil; +extern LIBEXPORT StructRNA RNA_Group; +extern LIBEXPORT StructRNA RNA_Header; +extern LIBEXPORT StructRNA RNA_HemiLamp; +extern LIBEXPORT StructRNA RNA_Histogram; +extern LIBEXPORT StructRNA RNA_HookModifier; +extern LIBEXPORT StructRNA RNA_ID; +extern LIBEXPORT StructRNA RNA_IKParam; +extern LIBEXPORT StructRNA RNA_Image; +extern LIBEXPORT StructRNA RNA_ImagePaint; +extern LIBEXPORT StructRNA RNA_ImageSequence; +extern LIBEXPORT StructRNA RNA_ImageTexture; +extern LIBEXPORT StructRNA RNA_ImageUser; +extern LIBEXPORT StructRNA RNA_InflowFluidSettings; +extern LIBEXPORT StructRNA RNA_IntProperty; +extern LIBEXPORT StructRNA RNA_Itasc; +extern LIBEXPORT StructRNA RNA_JoystickSensor; +extern LIBEXPORT StructRNA RNA_Key; +extern LIBEXPORT StructRNA RNA_KeyConfig; +extern LIBEXPORT StructRNA RNA_KeyMap; +extern LIBEXPORT StructRNA RNA_KeyMapItem; +extern LIBEXPORT StructRNA RNA_KeyboardSensor; +extern LIBEXPORT StructRNA RNA_Keyframe; +extern LIBEXPORT StructRNA RNA_KeyingSet; +extern LIBEXPORT StructRNA RNA_KeyingSetInfo; +extern LIBEXPORT StructRNA RNA_KeyingSetPath; +extern LIBEXPORT StructRNA RNA_KinematicConstraint; +extern LIBEXPORT StructRNA RNA_Lamp; +extern LIBEXPORT StructRNA RNA_LampSkySettings; +extern LIBEXPORT StructRNA RNA_LampTextureSlot; +extern LIBEXPORT StructRNA RNA_Lattice; +extern LIBEXPORT StructRNA RNA_LatticeModifier; +extern LIBEXPORT StructRNA RNA_LatticePoint; +extern LIBEXPORT StructRNA RNA_Library; +extern LIBEXPORT StructRNA RNA_LimitDistanceConstraint; +extern LIBEXPORT StructRNA RNA_LimitLocationConstraint; +extern LIBEXPORT StructRNA RNA_LimitRotationConstraint; +extern LIBEXPORT StructRNA RNA_LimitScaleConstraint; +extern LIBEXPORT StructRNA RNA_LockedTrackConstraint; +extern LIBEXPORT StructRNA RNA_Macro; +extern LIBEXPORT StructRNA RNA_MagicTexture; +extern LIBEXPORT StructRNA RNA_MarbleTexture; +extern LIBEXPORT StructRNA RNA_MaskModifier; +extern LIBEXPORT StructRNA RNA_Material; +extern LIBEXPORT StructRNA RNA_MaterialHalo; +extern LIBEXPORT StructRNA RNA_MaterialPhysics; +extern LIBEXPORT StructRNA RNA_MaterialRaytraceMirror; +extern LIBEXPORT StructRNA RNA_MaterialRaytraceTransparency; +extern LIBEXPORT StructRNA RNA_MaterialSlot; +extern LIBEXPORT StructRNA RNA_MaterialStrand; +extern LIBEXPORT StructRNA RNA_MaterialSubsurfaceScattering; +extern LIBEXPORT StructRNA RNA_MaterialTextureSlot; +extern LIBEXPORT StructRNA RNA_MaterialVolume; +extern LIBEXPORT StructRNA RNA_Menu; +extern LIBEXPORT StructRNA RNA_Mesh; +extern LIBEXPORT StructRNA RNA_MeshColor; +extern LIBEXPORT StructRNA RNA_MeshColorLayer; +extern LIBEXPORT StructRNA RNA_MeshDeformModifier; +extern LIBEXPORT StructRNA RNA_MeshEdge; +extern LIBEXPORT StructRNA RNA_MeshFace; +extern LIBEXPORT StructRNA RNA_MeshFloatProperty; +extern LIBEXPORT StructRNA RNA_MeshFloatPropertyLayer; +extern LIBEXPORT StructRNA RNA_MeshIntProperty; +extern LIBEXPORT StructRNA RNA_MeshIntPropertyLayer; +extern LIBEXPORT StructRNA RNA_MeshSticky; +extern LIBEXPORT StructRNA RNA_MeshStringProperty; +extern LIBEXPORT StructRNA RNA_MeshStringPropertyLayer; +extern LIBEXPORT StructRNA RNA_MeshTextureFace; +extern LIBEXPORT StructRNA RNA_MeshTextureFaceLayer; +extern LIBEXPORT StructRNA RNA_MeshVertex; +extern LIBEXPORT StructRNA RNA_MessageSensor; +extern LIBEXPORT StructRNA RNA_MetaBall; +extern LIBEXPORT StructRNA RNA_MetaElement; +extern LIBEXPORT StructRNA RNA_MetaSequence; +extern LIBEXPORT StructRNA RNA_MirrorModifier; +extern LIBEXPORT StructRNA RNA_Modifier; +extern LIBEXPORT StructRNA RNA_MotionPath; +extern LIBEXPORT StructRNA RNA_MotionPathVert; +extern LIBEXPORT StructRNA RNA_MouseSensor; +extern LIBEXPORT StructRNA RNA_MovieSequence; +extern LIBEXPORT StructRNA RNA_MulticamSequence; +extern LIBEXPORT StructRNA RNA_MultiresModifier; +extern LIBEXPORT StructRNA RNA_MusgraveTexture; +extern LIBEXPORT StructRNA RNA_NandController; +extern LIBEXPORT StructRNA RNA_NearSensor; +extern LIBEXPORT StructRNA RNA_NlaStrip; +extern LIBEXPORT StructRNA RNA_NlaTrack; +extern LIBEXPORT StructRNA RNA_Node; +extern LIBEXPORT StructRNA RNA_NodeGroup; +extern LIBEXPORT StructRNA RNA_NodeLink; +extern LIBEXPORT StructRNA RNA_NodeSocket; +extern LIBEXPORT StructRNA RNA_NodeTree; +extern LIBEXPORT StructRNA RNA_NoiseTexture; +extern LIBEXPORT StructRNA RNA_NorController; +extern LIBEXPORT StructRNA RNA_Object; +extern LIBEXPORT StructRNA RNA_ObjectBase; +extern LIBEXPORT StructRNA RNA_ObstacleFluidSettings; +extern LIBEXPORT StructRNA RNA_Operator; +extern LIBEXPORT StructRNA RNA_OperatorFileListElement; +extern LIBEXPORT StructRNA RNA_OperatorMousePath; +extern LIBEXPORT StructRNA RNA_OperatorProperties; +extern LIBEXPORT StructRNA RNA_OperatorStrokeElement; +extern LIBEXPORT StructRNA RNA_OperatorTypeMacro; +extern LIBEXPORT StructRNA RNA_OrController; +extern LIBEXPORT StructRNA RNA_OutflowFluidSettings; +extern LIBEXPORT StructRNA RNA_PackedFile; +extern LIBEXPORT StructRNA RNA_Paint; +extern LIBEXPORT StructRNA RNA_Panel; +extern LIBEXPORT StructRNA RNA_Particle; +extern LIBEXPORT StructRNA RNA_ParticleBrush; +extern LIBEXPORT StructRNA RNA_ParticleDupliWeight; +extern LIBEXPORT StructRNA RNA_ParticleEdit; +extern LIBEXPORT StructRNA RNA_ParticleFluidSettings; +extern LIBEXPORT StructRNA RNA_ParticleHairKey; +extern LIBEXPORT StructRNA RNA_ParticleInstanceModifier; +extern LIBEXPORT StructRNA RNA_ParticleKey; +extern LIBEXPORT StructRNA RNA_ParticleSettings; +extern LIBEXPORT StructRNA RNA_ParticleSettingsTextureSlot; +extern LIBEXPORT StructRNA RNA_ParticleSystem; +extern LIBEXPORT StructRNA RNA_ParticleSystemModifier; +extern LIBEXPORT StructRNA RNA_ParticleTarget; +extern LIBEXPORT StructRNA RNA_PivotConstraint; +extern LIBEXPORT StructRNA RNA_PluginSequence; +extern LIBEXPORT StructRNA RNA_PluginTexture; +extern LIBEXPORT StructRNA RNA_PointCache; +extern LIBEXPORT StructRNA RNA_PointDensity; +extern LIBEXPORT StructRNA RNA_PointDensityTexture; +extern LIBEXPORT StructRNA RNA_PointLamp; +extern LIBEXPORT StructRNA RNA_PointerProperty; +extern LIBEXPORT StructRNA RNA_Pose; +extern LIBEXPORT StructRNA RNA_PoseBone; +extern LIBEXPORT StructRNA RNA_Property; +extern LIBEXPORT StructRNA RNA_PropertyGroup; +extern LIBEXPORT StructRNA RNA_PropertyGroupItem; +extern LIBEXPORT StructRNA RNA_PropertySensor; +extern LIBEXPORT StructRNA RNA_PythonConstraint; +extern LIBEXPORT StructRNA RNA_PythonController; +extern LIBEXPORT StructRNA RNA_RGBANodeSocket; +extern LIBEXPORT StructRNA RNA_RadarSensor; +extern LIBEXPORT StructRNA RNA_RandomSensor; +extern LIBEXPORT StructRNA RNA_RaySensor; +extern LIBEXPORT StructRNA RNA_Region; +extern LIBEXPORT StructRNA RNA_RenderEngine; +extern LIBEXPORT StructRNA RNA_RenderLayer; +extern LIBEXPORT StructRNA RNA_RenderPass; +extern LIBEXPORT StructRNA RNA_RenderResult; +extern LIBEXPORT StructRNA RNA_RenderSettings; +extern LIBEXPORT StructRNA RNA_RigidBodyJointConstraint; +extern LIBEXPORT StructRNA RNA_SPHFluidSettings; +extern LIBEXPORT StructRNA RNA_Scene; +extern LIBEXPORT StructRNA RNA_SceneGameData; +extern LIBEXPORT StructRNA RNA_SceneRenderLayer; +extern LIBEXPORT StructRNA RNA_SceneSequence; +extern LIBEXPORT StructRNA RNA_Scopes; +extern LIBEXPORT StructRNA RNA_Screen; +extern LIBEXPORT StructRNA RNA_ScrewModifier; +extern LIBEXPORT StructRNA RNA_Sculpt; +extern LIBEXPORT StructRNA RNA_Sensor; +extern LIBEXPORT StructRNA RNA_Sequence; +extern LIBEXPORT StructRNA RNA_SequenceColorBalance; +extern LIBEXPORT StructRNA RNA_SequenceCrop; +extern LIBEXPORT StructRNA RNA_SequenceEditor; +extern LIBEXPORT StructRNA RNA_SequenceElement; +extern LIBEXPORT StructRNA RNA_SequenceProxy; +extern LIBEXPORT StructRNA RNA_SequenceTransform; +extern LIBEXPORT StructRNA RNA_ShaderNode; +extern LIBEXPORT StructRNA RNA_ShaderNodeCameraData; +extern LIBEXPORT StructRNA RNA_ShaderNodeCombineRGB; +extern LIBEXPORT StructRNA RNA_ShaderNodeExtendedMaterial; +extern LIBEXPORT StructRNA RNA_ShaderNodeGeometry; +extern LIBEXPORT StructRNA RNA_ShaderNodeHueSaturation; +extern LIBEXPORT StructRNA RNA_ShaderNodeInvert; +extern LIBEXPORT StructRNA RNA_ShaderNodeMapping; +extern LIBEXPORT StructRNA RNA_ShaderNodeMaterial; +extern LIBEXPORT StructRNA RNA_ShaderNodeMath; +extern LIBEXPORT StructRNA RNA_ShaderNodeMixRGB; +extern LIBEXPORT StructRNA RNA_ShaderNodeNormal; +extern LIBEXPORT StructRNA RNA_ShaderNodeOutput; +extern LIBEXPORT StructRNA RNA_ShaderNodeRGB; +extern LIBEXPORT StructRNA RNA_ShaderNodeRGBCurve; +extern LIBEXPORT StructRNA RNA_ShaderNodeRGBToBW; +extern LIBEXPORT StructRNA RNA_ShaderNodeSeparateRGB; +extern LIBEXPORT StructRNA RNA_ShaderNodeSqueeze; +extern LIBEXPORT StructRNA RNA_ShaderNodeTexture; +extern LIBEXPORT StructRNA RNA_ShaderNodeTree; +extern LIBEXPORT StructRNA RNA_ShaderNodeValToRGB; +extern LIBEXPORT StructRNA RNA_ShaderNodeValue; +extern LIBEXPORT StructRNA RNA_ShaderNodeVectorCurve; +extern LIBEXPORT StructRNA RNA_ShaderNodeVectorMath; +extern LIBEXPORT StructRNA RNA_ShapeKey; +extern LIBEXPORT StructRNA RNA_ShapeKeyBezierPoint; +extern LIBEXPORT StructRNA RNA_ShapeKeyCurvePoint; +extern LIBEXPORT StructRNA RNA_ShapeKeyPoint; +extern LIBEXPORT StructRNA RNA_ShrinkwrapConstraint; +extern LIBEXPORT StructRNA RNA_ShrinkwrapModifier; +extern LIBEXPORT StructRNA RNA_SimpleDeformModifier; +extern LIBEXPORT StructRNA RNA_SmokeCollSettings; +extern LIBEXPORT StructRNA RNA_SmokeDomainSettings; +extern LIBEXPORT StructRNA RNA_SmokeFlowSettings; +extern LIBEXPORT StructRNA RNA_SmokeModifier; +extern LIBEXPORT StructRNA RNA_SmoothModifier; +extern LIBEXPORT StructRNA RNA_SoftBodyModifier; +extern LIBEXPORT StructRNA RNA_SoftBodySettings; +extern LIBEXPORT StructRNA RNA_SolidifyModifier; +extern LIBEXPORT StructRNA RNA_Sound; +extern LIBEXPORT StructRNA RNA_SoundSequence; +extern LIBEXPORT StructRNA RNA_Space; +extern LIBEXPORT StructRNA RNA_SpaceConsole; +extern LIBEXPORT StructRNA RNA_SpaceDopeSheetEditor; +extern LIBEXPORT StructRNA RNA_SpaceFileBrowser; +extern LIBEXPORT StructRNA RNA_SpaceGraphEditor; +extern LIBEXPORT StructRNA RNA_SpaceImageEditor; +extern LIBEXPORT StructRNA RNA_SpaceInfo; +extern LIBEXPORT StructRNA RNA_SpaceLogicEditor; +extern LIBEXPORT StructRNA RNA_SpaceNLA; +extern LIBEXPORT StructRNA RNA_SpaceNodeEditor; +extern LIBEXPORT StructRNA RNA_SpaceOutliner; +extern LIBEXPORT StructRNA RNA_SpaceProperties; +extern LIBEXPORT StructRNA RNA_SpaceSequenceEditor; +extern LIBEXPORT StructRNA RNA_SpaceTextEditor; +extern LIBEXPORT StructRNA RNA_SpaceTimeline; +extern LIBEXPORT StructRNA RNA_SpaceUVEditor; +extern LIBEXPORT StructRNA RNA_SpaceUserPreferences; +extern LIBEXPORT StructRNA RNA_SpaceView3D; +extern LIBEXPORT StructRNA RNA_SpeedControlSequence; +extern LIBEXPORT StructRNA RNA_Spline; +extern LIBEXPORT StructRNA RNA_SplineIKConstraint; +extern LIBEXPORT StructRNA RNA_SpotLamp; +extern LIBEXPORT StructRNA RNA_StretchToConstraint; +extern LIBEXPORT StructRNA RNA_StringProperty; +extern LIBEXPORT StructRNA RNA_Struct; +extern LIBEXPORT StructRNA RNA_StucciTexture; +extern LIBEXPORT StructRNA RNA_SubsurfModifier; +extern LIBEXPORT StructRNA RNA_SunLamp; +extern LIBEXPORT StructRNA RNA_SurfaceCurve; +extern LIBEXPORT StructRNA RNA_SurfaceModifier; +extern LIBEXPORT StructRNA RNA_TexMapping; +extern LIBEXPORT StructRNA RNA_Text; +extern LIBEXPORT StructRNA RNA_TextBox; +extern LIBEXPORT StructRNA RNA_TextCharacterFormat; +extern LIBEXPORT StructRNA RNA_TextCurve; +extern LIBEXPORT StructRNA RNA_TextLine; +extern LIBEXPORT StructRNA RNA_TextMarker; +extern LIBEXPORT StructRNA RNA_Texture; +extern LIBEXPORT StructRNA RNA_TextureNode; +extern LIBEXPORT StructRNA RNA_TextureNodeBricks; +extern LIBEXPORT StructRNA RNA_TextureNodeChecker; +extern LIBEXPORT StructRNA RNA_TextureNodeCompose; +extern LIBEXPORT StructRNA RNA_TextureNodeCoordinates; +extern LIBEXPORT StructRNA RNA_TextureNodeCurveRGB; +extern LIBEXPORT StructRNA RNA_TextureNodeCurveTime; +extern LIBEXPORT StructRNA RNA_TextureNodeDecompose; +extern LIBEXPORT StructRNA RNA_TextureNodeDistance; +extern LIBEXPORT StructRNA RNA_TextureNodeHueSaturation; +extern LIBEXPORT StructRNA RNA_TextureNodeImage; +extern LIBEXPORT StructRNA RNA_TextureNodeInvert; +extern LIBEXPORT StructRNA RNA_TextureNodeMath; +extern LIBEXPORT StructRNA RNA_TextureNodeMixRGB; +extern LIBEXPORT StructRNA RNA_TextureNodeOutput; +extern LIBEXPORT StructRNA RNA_TextureNodeRGBToBW; +extern LIBEXPORT StructRNA RNA_TextureNodeRotate; +extern LIBEXPORT StructRNA RNA_TextureNodeScale; +extern LIBEXPORT StructRNA RNA_TextureNodeTexture; +extern LIBEXPORT StructRNA RNA_TextureNodeTranslate; +extern LIBEXPORT StructRNA RNA_TextureNodeTree; +extern LIBEXPORT StructRNA RNA_TextureNodeValToNor; +extern LIBEXPORT StructRNA RNA_TextureNodeValToRGB; +extern LIBEXPORT StructRNA RNA_TextureNodeViewer; +extern LIBEXPORT StructRNA RNA_TextureSlot; +extern LIBEXPORT StructRNA RNA_Theme; +extern LIBEXPORT StructRNA RNA_ThemeAudioWindow; +extern LIBEXPORT StructRNA RNA_ThemeBoneColorSet; +extern LIBEXPORT StructRNA RNA_ThemeConsole; +extern LIBEXPORT StructRNA RNA_ThemeDopeSheet; +extern LIBEXPORT StructRNA RNA_ThemeFileBrowser; +extern LIBEXPORT StructRNA RNA_ThemeFontStyle; +extern LIBEXPORT StructRNA RNA_ThemeGraphEditor; +extern LIBEXPORT StructRNA RNA_ThemeImageEditor; +extern LIBEXPORT StructRNA RNA_ThemeInfo; +extern LIBEXPORT StructRNA RNA_ThemeLogicEditor; +extern LIBEXPORT StructRNA RNA_ThemeNLAEditor; +extern LIBEXPORT StructRNA RNA_ThemeNodeEditor; +extern LIBEXPORT StructRNA RNA_ThemeOutliner; +extern LIBEXPORT StructRNA RNA_ThemeProperties; +extern LIBEXPORT StructRNA RNA_ThemeSequenceEditor; +extern LIBEXPORT StructRNA RNA_ThemeStyle; +extern LIBEXPORT StructRNA RNA_ThemeTextEditor; +extern LIBEXPORT StructRNA RNA_ThemeTimeline; +extern LIBEXPORT StructRNA RNA_ThemeUserInterface; +extern LIBEXPORT StructRNA RNA_ThemeUserPreferences; +extern LIBEXPORT StructRNA RNA_ThemeView3D; +extern LIBEXPORT StructRNA RNA_ThemeWidgetColors; +extern LIBEXPORT StructRNA RNA_ThemeWidgetStateColors; +extern LIBEXPORT StructRNA RNA_TimelineMarker; +extern LIBEXPORT StructRNA RNA_Timer; +extern LIBEXPORT StructRNA RNA_ToolSettings; +extern LIBEXPORT StructRNA RNA_TouchSensor; +extern LIBEXPORT StructRNA RNA_TrackToConstraint; +extern LIBEXPORT StructRNA RNA_TransformConstraint; +extern LIBEXPORT StructRNA RNA_TransformSequence; +extern LIBEXPORT StructRNA RNA_UILayout; +extern LIBEXPORT StructRNA RNA_UIListItem; +extern LIBEXPORT StructRNA RNA_UVProjectModifier; +extern LIBEXPORT StructRNA RNA_UVProjector; +extern LIBEXPORT StructRNA RNA_UnitSettings; +extern LIBEXPORT StructRNA RNA_UnknownType; +extern LIBEXPORT StructRNA RNA_UserPreferences; +extern LIBEXPORT StructRNA RNA_UserPreferencesEdit; +extern LIBEXPORT StructRNA RNA_UserPreferencesFilePaths; +extern LIBEXPORT StructRNA RNA_UserPreferencesSystem; +extern LIBEXPORT StructRNA RNA_UserPreferencesView; +extern LIBEXPORT StructRNA RNA_UserSolidLight; +extern LIBEXPORT StructRNA RNA_ValueNodeSocket; +extern LIBEXPORT StructRNA RNA_VectorFont; +extern LIBEXPORT StructRNA RNA_VectorNodeSocket; +extern LIBEXPORT StructRNA RNA_VertexGroup; +extern LIBEXPORT StructRNA RNA_VertexGroupElement; +extern LIBEXPORT StructRNA RNA_VertexPaint; +extern LIBEXPORT StructRNA RNA_VoronoiTexture; +extern LIBEXPORT StructRNA RNA_VoxelData; +extern LIBEXPORT StructRNA RNA_VoxelDataTexture; +extern LIBEXPORT StructRNA RNA_WaveModifier; +extern LIBEXPORT StructRNA RNA_Window; +extern LIBEXPORT StructRNA RNA_WindowManager; +extern LIBEXPORT StructRNA RNA_WipeSequence; +extern LIBEXPORT StructRNA RNA_WoodTexture; +extern LIBEXPORT StructRNA RNA_World; +extern LIBEXPORT StructRNA RNA_WorldAmbientOcclusion; +extern LIBEXPORT StructRNA RNA_WorldMistSettings; +extern LIBEXPORT StructRNA RNA_WorldStarsSettings; +extern LIBEXPORT StructRNA RNA_WorldTextureSlot; +extern LIBEXPORT StructRNA RNA_XnorController; +extern LIBEXPORT StructRNA RNA_XorController; /* Pointer * @@ -584,54 +583,55 @@ extern StructRNA RNA_XorController; * There is also a way to get a pointer with the information about all structs. */ -void RNA_main_pointer_create(struct Main *main, PointerRNA *r_ptr); -void RNA_id_pointer_create(struct ID *id, PointerRNA *r_ptr); -void RNA_pointer_create(struct ID *id, StructRNA *type, void *data, PointerRNA *r_ptr); +LIBEXPORT void RNA_main_pointer_create(struct Main *main, PointerRNA *r_ptr); +LIBEXPORT void RNA_id_pointer_create(struct ID *id, PointerRNA *r_ptr); +LIBEXPORT void RNA_pointer_create(struct ID *id, StructRNA *type, void *data, PointerRNA *r_ptr); -void RNA_blender_rna_pointer_create(PointerRNA *r_ptr); -void RNA_pointer_recast(PointerRNA *ptr, PointerRNA *r_ptr); +LIBEXPORT void RNA_blender_rna_pointer_create(PointerRNA *r_ptr); +LIBEXPORT void RNA_pointer_recast(PointerRNA *ptr, PointerRNA *r_ptr); -extern const PointerRNA PointerRNA_NULL; +extern LIBEXPORT const PointerRNA PointerRNA_NULL; /* Structs */ -const char *RNA_struct_identifier(StructRNA *type); -const char *RNA_struct_ui_name(StructRNA *type); -const char *RNA_struct_ui_description(StructRNA *type); -int RNA_struct_ui_icon(StructRNA *type); +LIBEXPORT const char *RNA_struct_identifier(StructRNA *type); +LIBEXPORT const char *RNA_struct_ui_name(StructRNA *type); +LIBEXPORT const char *RNA_struct_ui_description(StructRNA *type); +LIBEXPORT int RNA_struct_ui_icon(StructRNA *type); -PropertyRNA *RNA_struct_name_property(StructRNA *type); -PropertyRNA *RNA_struct_iterator_property(StructRNA *type); -StructRNA *RNA_struct_base(StructRNA *type); +LIBEXPORT PropertyRNA *RNA_struct_name_property(StructRNA *type); +LIBEXPORT PropertyRNA *RNA_struct_iterator_property(StructRNA *type); +LIBEXPORT StructRNA *RNA_struct_base(StructRNA *type); -int RNA_struct_is_ID(StructRNA *type); -int RNA_struct_is_a(StructRNA *type, StructRNA *srna); +LIBEXPORT int RNA_struct_is_ID(StructRNA *type); +LIBEXPORT int RNA_struct_is_a(StructRNA *type, StructRNA *srna); -StructRegisterFunc RNA_struct_register(StructRNA *type); -StructUnregisterFunc RNA_struct_unregister(StructRNA *type); +LIBEXPORT StructRegisterFunc RNA_struct_register(StructRNA *type); +LIBEXPORT StructUnregisterFunc RNA_struct_unregister(StructRNA *type); +LIBEXPORT void **RNA_struct_instance(PointerRNA *ptr); -void *RNA_struct_py_type_get(StructRNA *srna); -void RNA_struct_py_type_set(StructRNA *srna, void *py_type); +LIBEXPORT void *RNA_struct_py_type_get(StructRNA *srna); +LIBEXPORT void RNA_struct_py_type_set(StructRNA *srna, void *py_type); -void *RNA_struct_blender_type_get(StructRNA *srna); -void RNA_struct_blender_type_set(StructRNA *srna, void *blender_type); +LIBEXPORT void *RNA_struct_blender_type_get(StructRNA *srna); +LIBEXPORT void RNA_struct_blender_type_set(StructRNA *srna, void *blender_type); -struct IDProperty *RNA_struct_idprops(PointerRNA *ptr, int create); -int RNA_struct_idprops_check(StructRNA *srna); -int RNA_struct_idprops_register_check(StructRNA *type); +LIBEXPORT struct IDProperty *RNA_struct_idprops(PointerRNA *ptr, int create); +LIBEXPORT int RNA_struct_idprops_check(StructRNA *srna); +LIBEXPORT int RNA_struct_idprops_register_check(StructRNA *type); -PropertyRNA *RNA_struct_find_property(PointerRNA *ptr, const char *identifier); -int RNA_struct_contains_property(PointerRNA *ptr, PropertyRNA *prop_test); +LIBEXPORT PropertyRNA *RNA_struct_find_property(PointerRNA *ptr, const char *identifier); +LIBEXPORT int RNA_struct_contains_property(PointerRNA *ptr, PropertyRNA *prop_test); /* lower level functions for access to type properties */ -const struct ListBase *RNA_struct_type_properties(StructRNA *srna); -PropertyRNA *RNA_struct_type_find_property(StructRNA *srna, const char *identifier); +LIBEXPORT const struct ListBase *RNA_struct_type_properties(StructRNA *srna); +LIBEXPORT PropertyRNA *RNA_struct_type_find_property(StructRNA *srna, const char *identifier); -FunctionRNA *RNA_struct_find_function(PointerRNA *ptr, const char *identifier); -const struct ListBase *RNA_struct_type_functions(StructRNA *srna); +LIBEXPORT FunctionRNA *RNA_struct_find_function(PointerRNA *ptr, const char *identifier); +LIBEXPORT const struct ListBase *RNA_struct_type_functions(StructRNA *srna); -char *RNA_struct_name_get_alloc(PointerRNA *ptr, char *fixedbuf, int fixedlen); +LIBEXPORT char *RNA_struct_name_get_alloc(PointerRNA *ptr, char *fixedbuf, int fixedlen); /* Properties * @@ -640,139 +640,139 @@ char *RNA_struct_name_get_alloc(PointerRNA *ptr, char *fixedbuf, int fixedlen); /* Property Information */ -const char *RNA_property_identifier(PropertyRNA *prop); -const char *RNA_property_description(PropertyRNA *prop); +LIBEXPORT const char *RNA_property_identifier(PropertyRNA *prop); +LIBEXPORT const char *RNA_property_description(PropertyRNA *prop); -PropertyType RNA_property_type(PropertyRNA *prop); -PropertySubType RNA_property_subtype(PropertyRNA *prop); -PropertyUnit RNA_property_unit(PropertyRNA *prop); -int RNA_property_flag(PropertyRNA *prop); +LIBEXPORT PropertyType RNA_property_type(PropertyRNA *prop); +LIBEXPORT PropertySubType RNA_property_subtype(PropertyRNA *prop); +LIBEXPORT PropertyUnit RNA_property_unit(PropertyRNA *prop); +LIBEXPORT int RNA_property_flag(PropertyRNA *prop); -int RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop); -int RNA_property_array_check(PointerRNA *ptr, PropertyRNA *prop); -int RNA_property_multi_array_length(PointerRNA *ptr, PropertyRNA *prop, int dimension); -int RNA_property_array_dimension(PointerRNA *ptr, PropertyRNA *prop, int length[]); -char RNA_property_array_item_char(PropertyRNA *prop, int index); -int RNA_property_array_item_index(PropertyRNA *prop, char name); +LIBEXPORT int RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT int RNA_property_array_check(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT int RNA_property_multi_array_length(PointerRNA *ptr, PropertyRNA *prop, int dimension); +LIBEXPORT int RNA_property_array_dimension(PointerRNA *ptr, PropertyRNA *prop, int length[]); +LIBEXPORT char RNA_property_array_item_char(PropertyRNA *prop, int index); +LIBEXPORT int RNA_property_array_item_index(PropertyRNA *prop, char name); -int RNA_property_string_maxlength(PropertyRNA *prop); +LIBEXPORT int RNA_property_string_maxlength(PropertyRNA *prop); -const char *RNA_property_ui_name(PropertyRNA *prop); -const char *RNA_property_ui_description(PropertyRNA *prop); -int RNA_property_ui_icon(PropertyRNA *prop); +LIBEXPORT const char *RNA_property_ui_name(PropertyRNA *prop); +LIBEXPORT const char *RNA_property_ui_description(PropertyRNA *prop); +LIBEXPORT int RNA_property_ui_icon(PropertyRNA *prop); /* Dynamic Property Information */ -void RNA_property_int_range(PointerRNA *ptr, PropertyRNA *prop, int *hardmin, int *hardmax); -void RNA_property_int_ui_range(PointerRNA *ptr, PropertyRNA *prop, int *softmin, int *softmax, int *step); +LIBEXPORT void RNA_property_int_range(PointerRNA *ptr, PropertyRNA *prop, int *hardmin, int *hardmax); +LIBEXPORT void RNA_property_int_ui_range(PointerRNA *ptr, PropertyRNA *prop, int *softmin, int *softmax, int *step); -void RNA_property_float_range(PointerRNA *ptr, PropertyRNA *prop, float *hardmin, float *hardmax); -void RNA_property_float_ui_range(PointerRNA *ptr, PropertyRNA *prop, float *softmin, float *softmax, float *step, float *precision); +LIBEXPORT void RNA_property_float_range(PointerRNA *ptr, PropertyRNA *prop, float *hardmin, float *hardmax); +LIBEXPORT void RNA_property_float_ui_range(PointerRNA *ptr, PropertyRNA *prop, float *softmin, float *softmax, float *step, float *precision); -int RNA_property_float_clamp(PointerRNA *ptr, PropertyRNA *prop, float *value); -int RNA_property_int_clamp(PointerRNA *ptr, PropertyRNA *prop, int *value); +LIBEXPORT int RNA_property_float_clamp(PointerRNA *ptr, PropertyRNA *prop, float *value); +LIBEXPORT int RNA_property_int_clamp(PointerRNA *ptr, PropertyRNA *prop, int *value); -int RNA_enum_identifier(EnumPropertyItem *item, const int value, const char **identifier); -int RNA_enum_bitflag_identifiers(EnumPropertyItem *item, const int value, const char **identifier); -int RNA_enum_name(EnumPropertyItem *item, const int value, const char **name); -int RNA_enum_description(EnumPropertyItem *item, const int value, const char **description); +LIBEXPORT int RNA_enum_identifier(EnumPropertyItem *item, const int value, const char **identifier); +LIBEXPORT int RNA_enum_bitflag_identifiers(EnumPropertyItem *item, const int value, const char **identifier); +LIBEXPORT int RNA_enum_name(EnumPropertyItem *item, const int value, const char **name); +LIBEXPORT int RNA_enum_description(EnumPropertyItem *item, const int value, const char **description); -void RNA_property_enum_items(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, EnumPropertyItem **item, int *totitem, int *free); -int RNA_property_enum_value(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *identifier, int *value); -int RNA_property_enum_identifier(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **identifier); -int RNA_property_enum_name(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **name); -int RNA_property_enum_bitflag_identifiers(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **identifier); +LIBEXPORT void RNA_property_enum_items(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, EnumPropertyItem **item, int *totitem, int *free); +LIBEXPORT int RNA_property_enum_value(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *identifier, int *value); +LIBEXPORT int RNA_property_enum_identifier(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **identifier); +LIBEXPORT int RNA_property_enum_name(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **name); +LIBEXPORT int RNA_property_enum_bitflag_identifiers(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **identifier); -StructRNA *RNA_property_pointer_type(PointerRNA *ptr, PropertyRNA *prop); -int RNA_property_pointer_poll(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *value); +LIBEXPORT StructRNA *RNA_property_pointer_type(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT int RNA_property_pointer_poll(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *value); -int RNA_property_editable(PointerRNA *ptr, PropertyRNA *prop); -int RNA_property_editable_index(PointerRNA *ptr, PropertyRNA *prop, int index); -int RNA_property_editable_flag(PointerRNA *ptr, PropertyRNA *prop); /* without lib check, only checks the flag */ -int RNA_property_animateable(PointerRNA *ptr, PropertyRNA *prop); -int RNA_property_animated(PointerRNA *ptr, PropertyRNA *prop); -int RNA_property_path_from_ID_check(PointerRNA *ptr, PropertyRNA *prop); /* slow, use with care */ +LIBEXPORT int RNA_property_editable(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT int RNA_property_editable_index(PointerRNA *ptr, PropertyRNA *prop, int index); +LIBEXPORT int RNA_property_editable_flag(PointerRNA *ptr, PropertyRNA *prop); /* without lib check, only checks the flag */ +LIBEXPORT int RNA_property_animateable(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT int RNA_property_animated(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT int RNA_property_path_from_ID_check(PointerRNA *ptr, PropertyRNA *prop); /* slow, use with care */ -void RNA_property_update(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop); -void RNA_property_update_main(struct Main *bmain, struct Scene *scene, PointerRNA *ptr, PropertyRNA *prop); -int RNA_property_update_check(struct PropertyRNA *prop); +LIBEXPORT void RNA_property_update(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT void RNA_property_update_main(struct Main *bmain, struct Scene *scene, PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT int RNA_property_update_check(struct PropertyRNA *prop); /* Property Data */ -int RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop); -void RNA_property_boolean_set(PointerRNA *ptr, PropertyRNA *prop, int value); -void RNA_property_boolean_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values); -int RNA_property_boolean_get_index(PointerRNA *ptr, PropertyRNA *prop, int index); -void RNA_property_boolean_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *values); -void RNA_property_boolean_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, int value); -int RNA_property_boolean_get_default(PointerRNA *ptr, PropertyRNA *prop); -void RNA_property_boolean_get_default_array(PointerRNA *ptr, PropertyRNA *prop, int *values); -int RNA_property_boolean_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index); +LIBEXPORT int RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT void RNA_property_boolean_set(PointerRNA *ptr, PropertyRNA *prop, int value); +LIBEXPORT void RNA_property_boolean_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values); +LIBEXPORT int RNA_property_boolean_get_index(PointerRNA *ptr, PropertyRNA *prop, int index); +LIBEXPORT void RNA_property_boolean_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *values); +LIBEXPORT void RNA_property_boolean_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, int value); +LIBEXPORT int RNA_property_boolean_get_default(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT void RNA_property_boolean_get_default_array(PointerRNA *ptr, PropertyRNA *prop, int *values); +LIBEXPORT int RNA_property_boolean_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index); -int RNA_property_int_get(PointerRNA *ptr, PropertyRNA *prop); -void RNA_property_int_set(PointerRNA *ptr, PropertyRNA *prop, int value); -void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values); -int RNA_property_int_get_index(PointerRNA *ptr, PropertyRNA *prop, int index); -void RNA_property_int_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *values); -void RNA_property_int_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, int value); -int RNA_property_int_get_default(PointerRNA *ptr, PropertyRNA *prop); -void RNA_property_int_get_default_array(PointerRNA *ptr, PropertyRNA *prop, int *values); -int RNA_property_int_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index); +LIBEXPORT int RNA_property_int_get(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT void RNA_property_int_set(PointerRNA *ptr, PropertyRNA *prop, int value); +LIBEXPORT void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values); +LIBEXPORT int RNA_property_int_get_index(PointerRNA *ptr, PropertyRNA *prop, int index); +LIBEXPORT void RNA_property_int_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *values); +LIBEXPORT void RNA_property_int_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, int value); +LIBEXPORT int RNA_property_int_get_default(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT void RNA_property_int_get_default_array(PointerRNA *ptr, PropertyRNA *prop, int *values); +LIBEXPORT int RNA_property_int_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index); -float RNA_property_float_get(PointerRNA *ptr, PropertyRNA *prop); -void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value); -void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *values); -float RNA_property_float_get_index(PointerRNA *ptr, PropertyRNA *prop, int index); -void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, const float *values); -void RNA_property_float_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, float value); -float RNA_property_float_get_default(PointerRNA *ptr, PropertyRNA *prop); -void RNA_property_float_get_default_array(PointerRNA *ptr, PropertyRNA *prop, float *values); -float RNA_property_float_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index); +LIBEXPORT float RNA_property_float_get(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value); +LIBEXPORT void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *values); +LIBEXPORT float RNA_property_float_get_index(PointerRNA *ptr, PropertyRNA *prop, int index); +LIBEXPORT void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, const float *values); +LIBEXPORT void RNA_property_float_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, float value); +LIBEXPORT float RNA_property_float_get_default(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT void RNA_property_float_get_default_array(PointerRNA *ptr, PropertyRNA *prop, float *values); +LIBEXPORT float RNA_property_float_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index); -void RNA_property_string_get(PointerRNA *ptr, PropertyRNA *prop, char *value); -char *RNA_property_string_get_alloc(PointerRNA *ptr, PropertyRNA *prop, char *fixedbuf, int fixedlen); -void RNA_property_string_set(PointerRNA *ptr, PropertyRNA *prop, const char *value); -int RNA_property_string_length(PointerRNA *ptr, PropertyRNA *prop); -void RNA_property_string_get_default(PointerRNA *ptr, PropertyRNA *prop, char *value); -char *RNA_property_string_get_default_alloc(PointerRNA *ptr, PropertyRNA *prop, char *fixedbuf, int fixedlen); -int RNA_property_string_default_length(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT void RNA_property_string_get(PointerRNA *ptr, PropertyRNA *prop, char *value); +LIBEXPORT char *RNA_property_string_get_alloc(PointerRNA *ptr, PropertyRNA *prop, char *fixedbuf, int fixedlen); +LIBEXPORT void RNA_property_string_set(PointerRNA *ptr, PropertyRNA *prop, const char *value); +LIBEXPORT int RNA_property_string_length(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT void RNA_property_string_get_default(PointerRNA *ptr, PropertyRNA *prop, char *value); +LIBEXPORT char *RNA_property_string_get_default_alloc(PointerRNA *ptr, PropertyRNA *prop, char *fixedbuf, int fixedlen); +LIBEXPORT int RNA_property_string_default_length(PointerRNA *ptr, PropertyRNA *prop); -int RNA_property_enum_get(PointerRNA *ptr, PropertyRNA *prop); -void RNA_property_enum_set(PointerRNA *ptr, PropertyRNA *prop, int value); -int RNA_property_enum_get_default(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT int RNA_property_enum_get(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT void RNA_property_enum_set(PointerRNA *ptr, PropertyRNA *prop, int value); +LIBEXPORT int RNA_property_enum_get_default(PointerRNA *ptr, PropertyRNA *prop); -PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop); -void RNA_property_pointer_set(PointerRNA *ptr, PropertyRNA *prop, PointerRNA ptr_value); -PointerRNA RNA_property_pointer_get_default(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT void RNA_property_pointer_set(PointerRNA *ptr, PropertyRNA *prop, PointerRNA ptr_value); +LIBEXPORT PointerRNA RNA_property_pointer_get_default(PointerRNA *ptr, PropertyRNA *prop); -void RNA_property_collection_begin(PointerRNA *ptr, PropertyRNA *prop, CollectionPropertyIterator *iter); -void RNA_property_collection_next(CollectionPropertyIterator *iter); -void RNA_property_collection_end(CollectionPropertyIterator *iter); -int RNA_property_collection_length(PointerRNA *ptr, PropertyRNA *prop); -int RNA_property_collection_lookup_index(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *t_ptr); -int RNA_property_collection_lookup_int(PointerRNA *ptr, PropertyRNA *prop, int key, PointerRNA *r_ptr); -int RNA_property_collection_lookup_string(PointerRNA *ptr, PropertyRNA *prop, const char *key, PointerRNA *r_ptr); -int RNA_property_collection_type_get(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *r_ptr); +LIBEXPORT void RNA_property_collection_begin(PointerRNA *ptr, PropertyRNA *prop, CollectionPropertyIterator *iter); +LIBEXPORT void RNA_property_collection_next(CollectionPropertyIterator *iter); +LIBEXPORT void RNA_property_collection_end(CollectionPropertyIterator *iter); +LIBEXPORT int RNA_property_collection_length(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT int RNA_property_collection_lookup_index(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *t_ptr); +LIBEXPORT int RNA_property_collection_lookup_int(PointerRNA *ptr, PropertyRNA *prop, int key, PointerRNA *r_ptr); +LIBEXPORT int RNA_property_collection_lookup_string(PointerRNA *ptr, PropertyRNA *prop, const char *key, PointerRNA *r_ptr); +LIBEXPORT int RNA_property_collection_type_get(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *r_ptr); /* efficient functions to set properties for arrays */ -int RNA_property_collection_raw_array(PointerRNA *ptr, PropertyRNA *prop, PropertyRNA *itemprop, RawArray *array); -int RNA_property_collection_raw_get(struct ReportList *reports, PointerRNA *ptr, PropertyRNA *prop, const char *propname, void *array, RawPropertyType type, int len); -int RNA_property_collection_raw_set(struct ReportList *reports, PointerRNA *ptr, PropertyRNA *prop, const char *propname, void *array, RawPropertyType type, int len); -int RNA_raw_type_sizeof(RawPropertyType type); +LIBEXPORT int RNA_property_collection_raw_array(PointerRNA *ptr, PropertyRNA *prop, PropertyRNA *itemprop, RawArray *array); +LIBEXPORT int RNA_property_collection_raw_get(struct ReportList *reports, PointerRNA *ptr, PropertyRNA *prop, const char *propname, void *array, RawPropertyType type, int len); +LIBEXPORT int RNA_property_collection_raw_set(struct ReportList *reports, PointerRNA *ptr, PropertyRNA *prop, const char *propname, void *array, RawPropertyType type, int len); +LIBEXPORT int RNA_raw_type_sizeof(RawPropertyType type); RawPropertyType RNA_property_raw_type(PropertyRNA *prop); /* to create ID property groups */ -void RNA_property_pointer_add(PointerRNA *ptr, PropertyRNA *prop); -void RNA_property_pointer_remove(PointerRNA *ptr, PropertyRNA *prop); -void RNA_property_collection_add(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *r_ptr); -int RNA_property_collection_remove(PointerRNA *ptr, PropertyRNA *prop, int key); -void RNA_property_collection_clear(PointerRNA *ptr, PropertyRNA *prop); -int RNA_property_collection_move(PointerRNA *ptr, PropertyRNA *prop, int key, int pos); +LIBEXPORT void RNA_property_pointer_add(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT void RNA_property_pointer_remove(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT void RNA_property_collection_add(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *r_ptr); +LIBEXPORT int RNA_property_collection_remove(PointerRNA *ptr, PropertyRNA *prop, int key); +LIBEXPORT void RNA_property_collection_clear(PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT int RNA_property_collection_move(PointerRNA *ptr, PropertyRNA *prop, int key, int pos); /* copy/reset */ -int RNA_property_copy(PointerRNA *ptr, PointerRNA *fromptr, PropertyRNA *prop, int index); -int RNA_property_reset(PointerRNA *ptr, PropertyRNA *prop, int index); +LIBEXPORT int RNA_property_copy(PointerRNA *ptr, PointerRNA *fromptr, PropertyRNA *prop, int index); +LIBEXPORT int RNA_property_reset(PointerRNA *ptr, PropertyRNA *prop, int index); /* Path * @@ -783,32 +783,18 @@ int RNA_property_reset(PointerRNA *ptr, PropertyRNA *prop, int index); * particular pointers, which is useful in a number of applications, like * UI code or Actions, though efficiency is a concern. */ -char *RNA_path_append(const char *path, PointerRNA *ptr, PropertyRNA *prop, +LIBEXPORT char *RNA_path_append(const char *path, PointerRNA *ptr, PropertyRNA *prop, int intkey, const char *strkey); -char *RNA_path_back(const char *path); +LIBEXPORT char *RNA_path_back(const char *path); -int RNA_path_resolve(PointerRNA *ptr, const char *path, +LIBEXPORT int RNA_path_resolve(PointerRNA *ptr, const char *path, PointerRNA *r_ptr, PropertyRNA **r_prop); -int RNA_path_resolve_full(PointerRNA *ptr, const char *path, +LIBEXPORT int RNA_path_resolve_full(PointerRNA *ptr, const char *path, PointerRNA *r_ptr, PropertyRNA **r_prop, int *index); -char *RNA_path_from_ID_to_struct(PointerRNA *ptr); -char *RNA_path_from_ID_to_property(PointerRNA *ptr, PropertyRNA *prop); - -#if 0 -/* Dependency - * - * Experimental code that will generate callbacks for each dependency - * between ID types. This may end up being useful for UI - * and evaluation code that needs to know such dependencies for correct - * redraws and re-evaluations. */ - -typedef void (*PropDependencyCallback)(void *udata, PointerRNA *from, PointerRNA *to); -void RNA_test_dependencies_cb(void *udata, PointerRNA *from, PointerRNA *to); - -void RNA_generate_dependencies(PointerRNA *mainptr, void *udata, PropDependencyCallback cb); -#endif +LIBEXPORT char *RNA_path_from_ID_to_struct(PointerRNA *ptr); +LIBEXPORT char *RNA_path_from_ID_to_property(PointerRNA *ptr, PropertyRNA *prop); /* Quick name based property access * @@ -819,48 +805,48 @@ void RNA_generate_dependencies(PointerRNA *mainptr, void *udata, PropDependencyC * There is no support for pointers and collections here yet, these can be * added when ID properties support them. */ -int RNA_boolean_get(PointerRNA *ptr, const char *name); -void RNA_boolean_set(PointerRNA *ptr, const char *name, int value); -void RNA_boolean_get_array(PointerRNA *ptr, const char *name, int *values); -void RNA_boolean_set_array(PointerRNA *ptr, const char *name, const int *values); +LIBEXPORT int RNA_boolean_get(PointerRNA *ptr, const char *name); +LIBEXPORT void RNA_boolean_set(PointerRNA *ptr, const char *name, int value); +LIBEXPORT void RNA_boolean_get_array(PointerRNA *ptr, const char *name, int *values); +LIBEXPORT void RNA_boolean_set_array(PointerRNA *ptr, const char *name, const int *values); -int RNA_int_get(PointerRNA *ptr, const char *name); -void RNA_int_set(PointerRNA *ptr, const char *name, int value); -void RNA_int_get_array(PointerRNA *ptr, const char *name, int *values); -void RNA_int_set_array(PointerRNA *ptr, const char *name, const int *values); +LIBEXPORT int RNA_int_get(PointerRNA *ptr, const char *name); +LIBEXPORT void RNA_int_set(PointerRNA *ptr, const char *name, int value); +LIBEXPORT void RNA_int_get_array(PointerRNA *ptr, const char *name, int *values); +LIBEXPORT void RNA_int_set_array(PointerRNA *ptr, const char *name, const int *values); -float RNA_float_get(PointerRNA *ptr, const char *name); -void RNA_float_set(PointerRNA *ptr, const char *name, float value); -void RNA_float_get_array(PointerRNA *ptr, const char *name, float *values); -void RNA_float_set_array(PointerRNA *ptr, const char *name, const float *values); +LIBEXPORT float RNA_float_get(PointerRNA *ptr, const char *name); +LIBEXPORT void RNA_float_set(PointerRNA *ptr, const char *name, float value); +LIBEXPORT void RNA_float_get_array(PointerRNA *ptr, const char *name, float *values); +LIBEXPORT void RNA_float_set_array(PointerRNA *ptr, const char *name, const float *values); -int RNA_enum_get(PointerRNA *ptr, const char *name); -void RNA_enum_set(PointerRNA *ptr, const char *name, int value); -void RNA_enum_set_identifier(PointerRNA *ptr, const char *name, const char *id); -int RNA_enum_is_equal(struct bContext *C, PointerRNA *ptr, const char *name, const char *enumname); +LIBEXPORT int RNA_enum_get(PointerRNA *ptr, const char *name); +LIBEXPORT void RNA_enum_set(PointerRNA *ptr, const char *name, int value); +LIBEXPORT void RNA_enum_set_identifier(PointerRNA *ptr, const char *name, const char *id); +LIBEXPORT int RNA_enum_is_equal(struct bContext *C, PointerRNA *ptr, const char *name, const char *enumname); /* lower level functions that don't use a PointerRNA */ -int RNA_enum_value_from_id(EnumPropertyItem *item, const char *identifier, int *value); -int RNA_enum_id_from_value(EnumPropertyItem *item, int value, const char **identifier); -int RNA_enum_icon_from_value(EnumPropertyItem *item, int value, int *icon); +LIBEXPORT int RNA_enum_value_from_id(EnumPropertyItem *item, const char *identifier, int *value); +LIBEXPORT int RNA_enum_id_from_value(EnumPropertyItem *item, int value, const char **identifier); +LIBEXPORT int RNA_enum_icon_from_value(EnumPropertyItem *item, int value, int *icon); -void RNA_string_get(PointerRNA *ptr, const char *name, char *value); -char *RNA_string_get_alloc(PointerRNA *ptr, const char *name, char *fixedbuf, int fixedlen); -int RNA_string_length(PointerRNA *ptr, const char *name); -void RNA_string_set(PointerRNA *ptr, const char *name, const char *value); +LIBEXPORT void RNA_string_get(PointerRNA *ptr, const char *name, char *value); +LIBEXPORT char *RNA_string_get_alloc(PointerRNA *ptr, const char *name, char *fixedbuf, int fixedlen); +LIBEXPORT int RNA_string_length(PointerRNA *ptr, const char *name); +LIBEXPORT void RNA_string_set(PointerRNA *ptr, const char *name, const char *value); /** * Retrieve the named property from PointerRNA. */ -PointerRNA RNA_pointer_get(PointerRNA *ptr, const char *name); +LIBEXPORT PointerRNA RNA_pointer_get(PointerRNA *ptr, const char *name); /* Set the property name of PointerRNA ptr to ptr_value */ -void RNA_pointer_set(PointerRNA *ptr, const char *name, PointerRNA ptr_value); -void RNA_pointer_add(PointerRNA *ptr, const char *name); +LIBEXPORT void RNA_pointer_set(PointerRNA *ptr, const char *name, PointerRNA ptr_value); +LIBEXPORT void RNA_pointer_add(PointerRNA *ptr, const char *name); -void RNA_collection_begin(PointerRNA *ptr, const char *name, CollectionPropertyIterator *iter); -int RNA_collection_length(PointerRNA *ptr, const char *name); -void RNA_collection_add(PointerRNA *ptr, const char *name, PointerRNA *r_value); -void RNA_collection_clear(PointerRNA *ptr, const char *name); +LIBEXPORT void RNA_collection_begin(PointerRNA *ptr, const char *name, CollectionPropertyIterator *iter); +LIBEXPORT int RNA_collection_length(PointerRNA *ptr, const char *name); +LIBEXPORT void RNA_collection_add(PointerRNA *ptr, const char *name, PointerRNA *r_value); +LIBEXPORT void RNA_collection_clear(PointerRNA *ptr, const char *name); #define RNA_BEGIN(sptr, itemptr, propname) \ { \ @@ -896,65 +882,65 @@ void RNA_collection_clear(PointerRNA *ptr, const char *name); } /* check if the idproperty exists, for operators */ -int RNA_property_is_set(PointerRNA *ptr, const char *name); -int RNA_property_is_idprop(PropertyRNA *prop); +LIBEXPORT int RNA_property_is_set(PointerRNA *ptr, const char *name); +LIBEXPORT int RNA_property_is_idprop(PropertyRNA *prop); /* python compatible string representation of this property, (must be freed!) */ -char *RNA_property_as_string(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop); -char *RNA_pointer_as_string(PointerRNA *ptr); +LIBEXPORT char *RNA_property_as_string(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop); +LIBEXPORT char *RNA_pointer_as_string(PointerRNA *ptr); /* Function */ -const char *RNA_function_identifier(FunctionRNA *func); -const char *RNA_function_ui_description(FunctionRNA *func); -int RNA_function_flag(FunctionRNA *func); -int RNA_function_defined(FunctionRNA *func); +LIBEXPORT const char *RNA_function_identifier(FunctionRNA *func); +LIBEXPORT const char *RNA_function_ui_description(FunctionRNA *func); +LIBEXPORT int RNA_function_flag(FunctionRNA *func); +LIBEXPORT int RNA_function_defined(FunctionRNA *func); -PropertyRNA *RNA_function_get_parameter(PointerRNA *ptr, FunctionRNA *func, int index); -PropertyRNA *RNA_function_find_parameter(PointerRNA *ptr, FunctionRNA *func, const char *identifier); -const struct ListBase *RNA_function_defined_parameters(FunctionRNA *func); +LIBEXPORT PropertyRNA *RNA_function_get_parameter(PointerRNA *ptr, FunctionRNA *func, int index); +LIBEXPORT PropertyRNA *RNA_function_find_parameter(PointerRNA *ptr, FunctionRNA *func, const char *identifier); +LIBEXPORT const struct ListBase *RNA_function_defined_parameters(FunctionRNA *func); /* Utility */ -ParameterList *RNA_parameter_list_create(ParameterList *parms, PointerRNA *ptr, FunctionRNA *func); -void RNA_parameter_list_free(ParameterList *parms); -int RNA_parameter_list_size(ParameterList *parms); -int RNA_parameter_list_arg_count(ParameterList *parms); -int RNA_parameter_list_ret_count(ParameterList *parms); +LIBEXPORT ParameterList *RNA_parameter_list_create(ParameterList *parms, PointerRNA *ptr, FunctionRNA *func); +LIBEXPORT void RNA_parameter_list_free(ParameterList *parms); +LIBEXPORT int RNA_parameter_list_size(ParameterList *parms); +LIBEXPORT int RNA_parameter_list_arg_count(ParameterList *parms); +LIBEXPORT int RNA_parameter_list_ret_count(ParameterList *parms); -void RNA_parameter_list_begin(ParameterList *parms, ParameterIterator *iter); -void RNA_parameter_list_next(ParameterIterator *iter); -void RNA_parameter_list_end(ParameterIterator *iter); +LIBEXPORT void RNA_parameter_list_begin(ParameterList *parms, ParameterIterator *iter); +LIBEXPORT void RNA_parameter_list_next(ParameterIterator *iter); +LIBEXPORT void RNA_parameter_list_end(ParameterIterator *iter); -void RNA_parameter_get(ParameterList *parms, PropertyRNA *parm, void **value); -void RNA_parameter_get_lookup(ParameterList *parms, const char *identifier, void **value); -void RNA_parameter_set(ParameterList *parms, PropertyRNA *parm, const void *value); -void RNA_parameter_set_lookup(ParameterList *parms, const char *identifier, const void *value); -int RNA_parameter_length_get(ParameterList *parms, PropertyRNA *parm); -int RNA_parameter_length_get_data(ParameterList *parms, PropertyRNA *parm, void *data); -void RNA_parameter_length_set(ParameterList *parms, PropertyRNA *parm, int length); -void RNA_parameter_length_set_data(ParameterList *parms, PropertyRNA *parm, void *data, int length); +LIBEXPORT void RNA_parameter_get(ParameterList *parms, PropertyRNA *parm, void **value); +LIBEXPORT void RNA_parameter_get_lookup(ParameterList *parms, const char *identifier, void **value); +LIBEXPORT void RNA_parameter_set(ParameterList *parms, PropertyRNA *parm, const void *value); +LIBEXPORT void RNA_parameter_set_lookup(ParameterList *parms, const char *identifier, const void *value); +LIBEXPORT int RNA_parameter_length_get(ParameterList *parms, PropertyRNA *parm); +LIBEXPORT int RNA_parameter_length_get_data(ParameterList *parms, PropertyRNA *parm, void *data); +LIBEXPORT void RNA_parameter_length_set(ParameterList *parms, PropertyRNA *parm, int length); +LIBEXPORT void RNA_parameter_length_set_data(ParameterList *parms, PropertyRNA *parm, void *data, int length); -int RNA_function_call(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, FunctionRNA *func, ParameterList *parms); -int RNA_function_call_lookup(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, const char *identifier, ParameterList *parms); +LIBEXPORT int RNA_function_call(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, FunctionRNA *func, ParameterList *parms); +LIBEXPORT int RNA_function_call_lookup(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, const char *identifier, ParameterList *parms); -int RNA_function_call_direct(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, FunctionRNA *func, const char *format, ...) +LIBEXPORT int RNA_function_call_direct(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, FunctionRNA *func, const char *format, ...) #ifdef __GNUC__ __attribute__ ((format (printf, 5, 6))) #endif ; -int RNA_function_call_direct_lookup(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, const char *identifier, const char *format, ...) +LIBEXPORT int RNA_function_call_direct_lookup(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, const char *identifier, const char *format, ...) #ifdef __GNUC__ __attribute__ ((format (printf, 5, 6))) #endif ; -int RNA_function_call_direct_va(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, FunctionRNA *func, const char *format, va_list args); -int RNA_function_call_direct_va_lookup(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, const char *identifier, const char *format, va_list args); +LIBEXPORT int RNA_function_call_direct_va(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, FunctionRNA *func, const char *format, va_list args); +LIBEXPORT int RNA_function_call_direct_va_lookup(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, const char *identifier, const char *format, va_list args); /* ID */ -short RNA_type_to_ID_code(StructRNA *type); -StructRNA *ID_code_to_RNA_type(short idcode); +LIBEXPORT short RNA_type_to_ID_code(StructRNA *type); +LIBEXPORT StructRNA *ID_code_to_RNA_type(short idcode); void RNA_warning(const char *format, ...) #ifdef __GNUC__ diff --git a/source/blender/makesrna/RNA_define.h b/source/blender/makesrna/RNA_define.h index f131f7c9ebe..f52a69182b5 100644 --- a/source/blender/makesrna/RNA_define.h +++ b/source/blender/makesrna/RNA_define.h @@ -60,7 +60,7 @@ void RNA_def_struct_flag(StructRNA *srna, int flag); void RNA_def_struct_clear_flag(StructRNA *srna, int flag); void RNA_def_struct_refine_func(StructRNA *srna, const char *refine); void RNA_def_struct_idprops_func(StructRNA *srna, const char *refine); -void RNA_def_struct_register_funcs(StructRNA *srna, const char *reg, const char *unreg); +void RNA_def_struct_register_funcs(StructRNA *srna, const char *reg, const char *unreg, const char *instance); void RNA_def_struct_path_func(StructRNA *srna, const char *path); void RNA_def_struct_identifier(StructRNA *srna, const char *identifier); void RNA_def_struct_ui_text(StructRNA *srna, const char *name, const char *description); diff --git a/source/blender/makesrna/RNA_types.h b/source/blender/makesrna/RNA_types.h index 3a15146770f..63cc0bb737c 100644 --- a/source/blender/makesrna/RNA_types.h +++ b/source/blender/makesrna/RNA_types.h @@ -36,6 +36,12 @@ extern "C" { #endif +#ifdef _WIN32 +#define LIBEXPORT __declspec(dllexport) +#else +#define LIBEXPORT +#endif + struct ParameterList; struct FunctionRNA; struct PropertyRNA; @@ -332,6 +338,7 @@ typedef void (*StructFreeFunc)(void *data); typedef struct StructRNA *(*StructRegisterFunc)(struct bContext *C, struct ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free); typedef void (*StructUnregisterFunc)(const struct bContext *C, struct StructRNA *type); +typedef void **(*StructInstanceFunc)(PointerRNA *ptr); typedef struct StructRNA StructRNA; diff --git a/source/blender/makesrna/intern/CMakeLists.txt b/source/blender/makesrna/intern/CMakeLists.txt index 9cafca3532f..473e57daf93 100644 --- a/source/blender/makesrna/intern/CMakeLists.txt +++ b/source/blender/makesrna/intern/CMakeLists.txt @@ -248,3 +248,4 @@ set(SRC ) blender_add_lib(bf_rna "${SRC}" "${INC}") + diff --git a/source/blender/makesrna/intern/makesrna.c b/source/blender/makesrna/intern/makesrna.c index 97d0f535a5b..e056c545ead 100644 --- a/source/blender/makesrna/intern/makesrna.c +++ b/source/blender/makesrna/intern/makesrna.c @@ -193,7 +193,17 @@ static int replace_if_different(char *tmpfile, const char *dep_files[]) #undef REN_IF_DIFF } +/* Helper to solve keyword problems with C/C++ */ +static const char *rna_safe_id(const char *id) +{ + if(strcmp(id, "default") == 0) + return "default_value"; + else if(strcmp(id, "operator") == 0) + return "operator_value"; + + return id; +} /* Sorting */ @@ -501,12 +511,12 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr } - func= rna_alloc_function_name(srna->identifier, prop->identifier, "get"); + func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "get"); switch(prop->type) { case PROP_STRING: { StringPropertyRNA *sprop= (StringPropertyRNA*)prop; - fprintf(f, "void %s(PointerRNA *ptr, char *value)\n", func); + fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, char *value)\n", func); fprintf(f, "{\n"); if(manualfunc) { fprintf(f, " %s(ptr, value);\n", manualfunc); @@ -522,7 +532,7 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr break; } case PROP_POINTER: { - fprintf(f, "PointerRNA %s(PointerRNA *ptr)\n", func); + fprintf(f, "LIBEXPORT PointerRNA %s(PointerRNA *ptr)\n", func); fprintf(f, "{\n"); if(manualfunc) { fprintf(f, " return %s(ptr);\n", manualfunc); @@ -557,9 +567,9 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr default: if(prop->arraydimension) { if(prop->flag & PROP_DYNAMIC) - fprintf(f, "void %s(PointerRNA *ptr, %s values[])\n", func, rna_type_type(prop)); + fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, %s values[])\n", func, rna_type_type(prop)); else - fprintf(f, "void %s(PointerRNA *ptr, %s values[%d])\n", func, rna_type_type(prop), prop->totarraylength); + fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, %s values[%d])\n", func, rna_type_type(prop), prop->totarraylength); fprintf(f, "{\n"); if(manualfunc) { @@ -569,7 +579,7 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr rna_print_data_get(f, dp); if(prop->flag & PROP_DYNAMIC) { - char *lenfunc= rna_alloc_function_name(srna->identifier, prop->identifier, "get_length"); + char *lenfunc= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "get_length"); fprintf(f, " int i, arraylen[RNA_MAX_ARRAY_DIMENSION];\n"); fprintf(f, " int len= %s(ptr, arraylen);\n\n", lenfunc); fprintf(f, " for(i=0; iidentifier, prop->identifier, "set"); + func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "set"); switch(prop->type) { case PROP_STRING: { StringPropertyRNA *sprop= (StringPropertyRNA*)prop; - fprintf(f, "void %s(PointerRNA *ptr, const char *value)\n", func); + fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, const char *value)\n", func); fprintf(f, "{\n"); if(manualfunc) { fprintf(f, " %s(ptr, value);\n", manualfunc); @@ -705,7 +715,7 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr break; } case PROP_POINTER: { - fprintf(f, "void %s(PointerRNA *ptr, PointerRNA value)\n", func); + fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, PointerRNA value)\n", func); fprintf(f, "{\n"); if(manualfunc) { fprintf(f, " %s(ptr, value);\n", manualfunc); @@ -742,9 +752,9 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr default: if(prop->arraydimension) { if(prop->flag & PROP_DYNAMIC) - fprintf(f, "void %s(PointerRNA *ptr, const %s values[])\n", func, rna_type_type(prop)); + fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, const %s values[])\n", func, rna_type_type(prop)); else - fprintf(f, "void %s(PointerRNA *ptr, const %s values[%d])\n", func, rna_type_type(prop), prop->totarraylength); + fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, const %s values[%d])\n", func, rna_type_type(prop), prop->totarraylength); fprintf(f, "{\n"); if(manualfunc) { @@ -754,7 +764,7 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr rna_print_data_get(f, dp); if(prop->flag & PROP_DYNAMIC) { - char *lenfunc= rna_alloc_function_name(srna->identifier, prop->identifier, "set_length"); + char *lenfunc= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "set_length"); fprintf(f, " int i, arraylen[RNA_MAX_ARRAY_DIMENSION];\n"); fprintf(f, " int len= %s(ptr, arraylen);\n\n", lenfunc); fprintf(f, " for(i=0; iidentifier, prop->identifier, "length"); + func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "length"); - fprintf(f, "int %s(PointerRNA *ptr)\n", func); + fprintf(f, "LIBEXPORT int %s(PointerRNA *ptr)\n", func); fprintf(f, "{\n"); if(manualfunc) { fprintf(f, " return %s(ptr);\n", manualfunc); @@ -873,9 +883,9 @@ static char *rna_def_property_length_func(FILE *f, StructRNA *srna, PropertyRNA } } - func= rna_alloc_function_name(srna->identifier, prop->identifier, "length"); + func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "length"); - fprintf(f, "int %s(PointerRNA *ptr)\n", func); + fprintf(f, "LIBEXPORT int %s(PointerRNA *ptr)\n", func); fprintf(f, "{\n"); if(manualfunc) { fprintf(f, " return %s(ptr);\n", manualfunc); @@ -908,9 +918,9 @@ static char *rna_def_property_begin_func(FILE *f, StructRNA *srna, PropertyRNA * } } - func= rna_alloc_function_name(srna->identifier, prop->identifier, "begin"); + func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "begin"); - fprintf(f, "void %s(CollectionPropertyIterator *iter, PointerRNA *ptr)\n", func); + fprintf(f, "LIBEXPORT void %s(CollectionPropertyIterator *iter, PointerRNA *ptr)\n", func); fprintf(f, "{\n"); if(!manualfunc) @@ -940,7 +950,7 @@ static char *rna_def_property_begin_func(FILE *f, StructRNA *srna, PropertyRNA * fprintf(f, "\n rna_iterator_listbase_begin(iter, data->%s, NULL);\n", dp->dnaname); } - getfunc= rna_alloc_function_name(srna->identifier, prop->identifier, "get"); + getfunc= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "get"); fprintf(f, "\n if(iter->valid)\n"); fprintf(f, " iter->ptr= %s(iter);\n", getfunc); @@ -970,9 +980,9 @@ static char *rna_def_property_lookup_int_func(FILE *f, StructRNA *srna, Property else return NULL; } - func= rna_alloc_function_name(srna->identifier, prop->identifier, "lookup_int"); + func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "lookup_int"); - fprintf(f, "int %s(PointerRNA *ptr, int index, PointerRNA *r_ptr)\n", func); + fprintf(f, "LIBEXPORT int %s(PointerRNA *ptr, int index, PointerRNA *r_ptr)\n", func); fprintf(f, "{\n"); if(manualfunc) { @@ -984,7 +994,7 @@ static char *rna_def_property_lookup_int_func(FILE *f, StructRNA *srna, Property fprintf(f, " int found= 0;\n"); fprintf(f, " CollectionPropertyIterator iter;\n\n"); - fprintf(f, " %s_%s_begin(&iter, ptr);\n\n", srna->identifier, prop->identifier); + fprintf(f, " %s_%s_begin(&iter, ptr);\n\n", srna->identifier, rna_safe_id(prop->identifier)); fprintf(f, " if(iter.valid){\n"); if(strcmp(nextfunc, "rna_iterator_array_next") == 0) { @@ -1022,9 +1032,9 @@ static char *rna_def_property_lookup_int_func(FILE *f, StructRNA *srna, Property fprintf(f, " }\n"); } - fprintf(f, " if(found) *r_ptr = %s_%s_get(&iter);\n", srna->identifier, prop->identifier); + fprintf(f, " if(found) *r_ptr = %s_%s_get(&iter);\n", srna->identifier, rna_safe_id(prop->identifier)); fprintf(f, " }\n\n"); - fprintf(f, " %s_%s_end(&iter);\n\n", srna->identifier, prop->identifier); + fprintf(f, " %s_%s_end(&iter);\n\n", srna->identifier, rna_safe_id(prop->identifier)); fprintf(f, " return found;\n"); @@ -1061,13 +1071,13 @@ static char *rna_def_property_next_func(FILE *f, StructRNA *srna, PropertyRNA *p if(!manualfunc) return NULL; - func= rna_alloc_function_name(srna->identifier, prop->identifier, "next"); + func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "next"); - fprintf(f, "void %s(CollectionPropertyIterator *iter)\n", func); + fprintf(f, "LIBEXPORT void %s(CollectionPropertyIterator *iter)\n", func); fprintf(f, "{\n"); fprintf(f, " %s(iter);\n", manualfunc); - getfunc= rna_alloc_function_name(srna->identifier, prop->identifier, "get"); + getfunc= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "get"); fprintf(f, "\n if(iter->valid)\n"); fprintf(f, " iter->ptr= %s(iter);\n", getfunc); @@ -1084,9 +1094,9 @@ static char *rna_def_property_end_func(FILE *f, StructRNA *srna, PropertyRNA *pr if(prop->flag & PROP_IDPROPERTY && manualfunc==NULL) return NULL; - func= rna_alloc_function_name(srna->identifier, prop->identifier, "end"); + func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "end"); - fprintf(f, "void %s(CollectionPropertyIterator *iter)\n", func); + fprintf(f, "LIBEXPORT void %s(CollectionPropertyIterator *iter)\n", func); fprintf(f, "{\n"); if(manualfunc) fprintf(f, " %s(iter);\n", manualfunc); @@ -1272,29 +1282,37 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR if(prop->flag & (PROP_IDPROPERTY|PROP_BUILTIN)) return; - func= rna_alloc_function_name(srna->identifier, prop->identifier, ""); + func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), ""); switch(prop->type) { case PROP_BOOLEAN: case PROP_INT: { if(!prop->arraydimension) { - fprintf(f, "int %sget(PointerRNA *ptr);\n", func); - //fprintf(f, "void %sset(PointerRNA *ptr, int value);\n", func); + fprintf(f, "LIBEXPORT int %sget(PointerRNA *ptr);\n", func); + //fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, int value);\n", func); + } + else if(prop->arraydimension && prop->totarraylength) { + fprintf(f, "LIBEXPORT void %sget(PointerRNA *ptr, int values[%d]);\n", func, prop->totarraylength); + //fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, const int values[%d]);\n", func, prop->arraylength); } else { - fprintf(f, "void %sget(PointerRNA *ptr, int values[%d]);\n", func, prop->totarraylength); - //fprintf(f, "void %sset(PointerRNA *ptr, const int values[%d]);\n", func, prop->arraylength); + fprintf(f, "LIBEXPORT void %sget(PointerRNA *ptr, int values[]);\n", func); + //fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, const int values[]);\n", func); } break; } case PROP_FLOAT: { if(!prop->arraydimension) { - fprintf(f, "float %sget(PointerRNA *ptr);\n", func); - //fprintf(f, "void %sset(PointerRNA *ptr, float value);\n", func); + fprintf(f, "LIBEXPORT float %sget(PointerRNA *ptr);\n", func); + //fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, float value);\n", func); + } + else if(prop->arraydimension && prop->totarraylength) { + fprintf(f, "LIBEXPORT void %sget(PointerRNA *ptr, float values[%d]);\n", func, prop->totarraylength); + //fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, const float values[%d]);\n", func, prop->arraylength); } else { - fprintf(f, "void %sget(PointerRNA *ptr, float values[%d]);\n", func, prop->totarraylength); - //fprintf(f, "void %sset(PointerRNA *ptr, const float values[%d]);\n", func, prop->arraylength); + fprintf(f, "LIBEXPORT void %sget(PointerRNA *ptr, float values[]);\n", func); + //fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, const float values[]);\n", func); } break; } @@ -1312,8 +1330,8 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR fprintf(f, "};\n\n"); } - fprintf(f, "int %sget(PointerRNA *ptr);\n", func); - //fprintf(f, "void %sset(PointerRNA *ptr, int value);\n", func); + fprintf(f, "LIBEXPORT int %sget(PointerRNA *ptr);\n", func); + //fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, int value);\n", func); break; } @@ -1324,24 +1342,24 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR fprintf(f, "#define %s_%s_MAX %d\n\n", srna->identifier, prop->identifier, sprop->maxlength); } - fprintf(f, "void %sget(PointerRNA *ptr, char *value);\n", func); - fprintf(f, "int %slength(PointerRNA *ptr);\n", func); - //fprintf(f, "void %sset(PointerRNA *ptr, const char *value);\n", func); + fprintf(f, "LIBEXPORT void %sget(PointerRNA *ptr, char *value);\n", func); + fprintf(f, "LIBEXPORT int %slength(PointerRNA *ptr);\n", func); + //fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, const char *value);\n", func); break; } case PROP_POINTER: { - fprintf(f, "PointerRNA %sget(PointerRNA *ptr);\n", func); + fprintf(f, "LIBEXPORT PointerRNA %sget(PointerRNA *ptr);\n", func); //fprintf(f, "void %sset(PointerRNA *ptr, PointerRNA value);\n", func); break; } case PROP_COLLECTION: { - fprintf(f, "void %sbegin(CollectionPropertyIterator *iter, PointerRNA *ptr);\n", func); - fprintf(f, "void %snext(CollectionPropertyIterator *iter);\n", func); - fprintf(f, "void %send(CollectionPropertyIterator *iter);\n", func); - //fprintf(f, "int %slength(PointerRNA *ptr);\n", func); - //fprintf(f, "void %slookup_int(PointerRNA *ptr, int key, StructRNA **type);\n", func); - //fprintf(f, "void %slookup_string(PointerRNA *ptr, const char *key, StructRNA **type);\n", func); + fprintf(f, "LIBEXPORT void %sbegin(CollectionPropertyIterator *iter, PointerRNA *ptr);\n", func); + fprintf(f, "LIBEXPORT void %snext(CollectionPropertyIterator *iter);\n", func); + fprintf(f, "LIBEXPORT void %send(CollectionPropertyIterator *iter);\n", func); + //fprintf(f, "LIBEXPORT int %slength(PointerRNA *ptr);\n", func); + //fprintf(f, "LIBEXPORT void %slookup_int(PointerRNA *ptr, int key, StructRNA **type);\n", func); + //fprintf(f, "LIBEXPORT void %slookup_string(PointerRNA *ptr, const char *key, StructRNA **type);\n", func); break; } } @@ -1368,23 +1386,23 @@ static void rna_def_property_funcs_header_cpp(FILE *f, StructRNA *srna, Property switch(prop->type) { case PROP_BOOLEAN: { if(!prop->arraydimension) - fprintf(f, "\tbool %s(void);", prop->identifier); + fprintf(f, "\tinline bool %s(void);", rna_safe_id(prop->identifier)); else - fprintf(f, "\tArray %s(void);", prop->totarraylength, prop->identifier); + fprintf(f, "\tinline Array %s(void);", prop->totarraylength, rna_safe_id(prop->identifier)); break; } case PROP_INT: { if(!prop->arraydimension) - fprintf(f, "\tint %s(void);", prop->identifier); + fprintf(f, "\tinline int %s(void);", rna_safe_id(prop->identifier)); else - fprintf(f, "\tArray %s(void);", prop->totarraylength, prop->identifier); + fprintf(f, "\tinline Array %s(void);", prop->totarraylength, rna_safe_id(prop->identifier)); break; } case PROP_FLOAT: { if(!prop->arraydimension) - fprintf(f, "\tfloat %s(void);", prop->identifier); + fprintf(f, "\tinline float %s(void);", rna_safe_id(prop->identifier)); else - fprintf(f, "\tArray %s(void);", prop->totarraylength, prop->identifier); + fprintf(f, "\tinline Array %s(void);", prop->totarraylength, rna_safe_id(prop->identifier)); break; } case PROP_ENUM: { @@ -1392,38 +1410,38 @@ static void rna_def_property_funcs_header_cpp(FILE *f, StructRNA *srna, Property int i; if(eprop->item) { - fprintf(f, "\tenum %s_enum {\n", prop->identifier); + fprintf(f, "\tenum %s_enum {\n", rna_safe_id(prop->identifier)); for(i=0; itotitem; i++) if(eprop->item[i].identifier[0]) - fprintf(f, "\t\t%s_%s = %d,\n", prop->identifier, eprop->item[i].identifier, eprop->item[i].value); + fprintf(f, "\t\t%s_%s = %d,\n", rna_safe_id(prop->identifier), eprop->item[i].identifier, eprop->item[i].value); fprintf(f, "\t};\n"); } - fprintf(f, "\t%s_enum %s(void);", prop->identifier, prop->identifier); + fprintf(f, "\tinline %s_enum %s(void);", rna_safe_id(prop->identifier), rna_safe_id(prop->identifier)); break; } case PROP_STRING: { - fprintf(f, "\tstd::string %s(void);", prop->identifier); + fprintf(f, "\tinline std::string %s(void);", rna_safe_id(prop->identifier)); break; } case PROP_POINTER: { PointerPropertyRNA *pprop= (PointerPropertyRNA*)dp->prop; if(pprop->type) - fprintf(f, "\t%s %s(void);", (char*)pprop->type, prop->identifier); + fprintf(f, "\tinline %s %s(void);", (char*)pprop->type, rna_safe_id(prop->identifier)); else - fprintf(f, "\t%s %s(void);", "UnknownType", prop->identifier); + fprintf(f, "\tinline %s %s(void);", "UnknownType", rna_safe_id(prop->identifier)); break; } case PROP_COLLECTION: { CollectionPropertyRNA *cprop= (CollectionPropertyRNA*)dp->prop; if(cprop->item_type) - fprintf(f, "\tCOLLECTION_PROPERTY(%s, %s, %s)", (char*)cprop->item_type, srna->identifier, prop->identifier); + fprintf(f, "\tCOLLECTION_PROPERTY(%s, %s, %s)", (char*)cprop->item_type, srna->identifier, rna_safe_id(prop->identifier)); else - fprintf(f, "\tCOLLECTION_PROPERTY(%s, %s, %s)", "UnknownType", srna->identifier, prop->identifier); + fprintf(f, "\tCOLLECTION_PROPERTY(%s, %s, %s)", "UnknownType", srna->identifier, rna_safe_id(prop->identifier)); break; } } @@ -1443,41 +1461,41 @@ static void rna_def_property_funcs_impl_cpp(FILE *f, StructRNA *srna, PropertyDe switch(prop->type) { case PROP_BOOLEAN: { if(!prop->arraydimension) - fprintf(f, "\tBOOLEAN_PROPERTY(%s, %s)", srna->identifier, prop->identifier); + fprintf(f, "\tBOOLEAN_PROPERTY(%s, %s)", srna->identifier, rna_safe_id(prop->identifier)); else - fprintf(f, "\tBOOLEAN_ARRAY_PROPERTY(%s, %d, %s)", srna->identifier, prop->totarraylength, prop->identifier); + fprintf(f, "\tBOOLEAN_ARRAY_PROPERTY(%s, %d, %s)", srna->identifier, prop->totarraylength, rna_safe_id(prop->identifier)); break; } case PROP_INT: { if(!prop->arraydimension) - fprintf(f, "\tINT_PROPERTY(%s, %s)", srna->identifier, prop->identifier); + fprintf(f, "\tINT_PROPERTY(%s, %s)", srna->identifier, rna_safe_id(prop->identifier)); else - fprintf(f, "\tINT_ARRAY_PROPERTY(%s, %d, %s)", srna->identifier, prop->totarraylength, prop->identifier); + fprintf(f, "\tINT_ARRAY_PROPERTY(%s, %d, %s)", srna->identifier, prop->totarraylength, rna_safe_id(prop->identifier)); break; } case PROP_FLOAT: { if(!prop->arraydimension) - fprintf(f, "\tFLOAT_PROPERTY(%s, %s)", srna->identifier, prop->identifier); + fprintf(f, "\tFLOAT_PROPERTY(%s, %s)", srna->identifier, rna_safe_id(prop->identifier)); else - fprintf(f, "\tFLOAT_ARRAY_PROPERTY(%s, %d, %s)", srna->identifier, prop->totarraylength, prop->identifier); + fprintf(f, "\tFLOAT_ARRAY_PROPERTY(%s, %d, %s)", srna->identifier, prop->totarraylength, rna_safe_id(prop->identifier)); break; } case PROP_ENUM: { - fprintf(f, "\tENUM_PROPERTY(%s_enum, %s, %s)", prop->identifier, srna->identifier, prop->identifier); + fprintf(f, "\tENUM_PROPERTY(%s_enum, %s, %s)", rna_safe_id(prop->identifier), srna->identifier, rna_safe_id(prop->identifier)); break; } case PROP_STRING: { - fprintf(f, "\tSTRING_PROPERTY(%s, %s)", srna->identifier, prop->identifier); + fprintf(f, "\tSTRING_PROPERTY(%s, %s)", srna->identifier, rna_safe_id(prop->identifier)); break; } case PROP_POINTER: { PointerPropertyRNA *pprop= (PointerPropertyRNA*)dp->prop; if(pprop->type) - fprintf(f, "\tPOINTER_PROPERTY(%s, %s, %s)", (char*)pprop->type, srna->identifier, prop->identifier); + fprintf(f, "\tPOINTER_PROPERTY(%s, %s, %s)", (char*)pprop->type, srna->identifier, rna_safe_id(prop->identifier)); else - fprintf(f, "\tPOINTER_PROPERTY(%s, %s, %s)", "UnknownType", srna->identifier, prop->identifier); + fprintf(f, "\tPOINTER_PROPERTY(%s, %s, %s)", "UnknownType", srna->identifier, rna_safe_id(prop->identifier)); break; } case PROP_COLLECTION: { @@ -1812,7 +1830,7 @@ static void rna_generate_prototypes(BlenderRNA *brna, FILE *f) StructRNA *srna; for(srna=brna->structs.first; srna; srna=srna->cont.next) - fprintf(f, "extern StructRNA RNA_%s;\n", srna->identifier); + fprintf(f, "extern LIBEXPORT StructRNA RNA_%s;\n", srna->identifier); fprintf(f, "\n"); } @@ -2286,7 +2304,7 @@ static void rna_generate_struct(BlenderRNA *brna, StructRNA *srna, FILE *f) fprintf(f, "\n"); } - fprintf(f, "StructRNA RNA_%s = {\n", srna->identifier); + fprintf(f, "LIBEXPORT StructRNA RNA_%s = {\n", srna->identifier); if(srna->cont.next) fprintf(f, "\t{(ContainerRNA *)&RNA_%s, ", ((StructRNA*)srna->cont.next)->identifier); else fprintf(f, "\t{NULL, "); @@ -2337,6 +2355,7 @@ static void rna_generate_struct(BlenderRNA *brna, StructRNA *srna, FILE *f) fprintf(f, "\t%s,\n", rna_function_string(srna->path)); fprintf(f, "\t%s,\n", rna_function_string(srna->reg)); fprintf(f, "\t%s,\n", rna_function_string(srna->unreg)); + fprintf(f, "\t%s,\n", rna_function_string(srna->instance)); fprintf(f, "\t%s,\n", rna_function_string(srna->idproperties)); if(srna->reg && !srna->refine) { @@ -2431,6 +2450,12 @@ static void rna_generate(BlenderRNA *brna, FILE *f, const char *filename, const " Do not edit manually, changes will be overwritten. */\n\n" "#define RNA_RUNTIME\n\n"); + fprintf(f, "#ifdef _WIN32\n"); + fprintf(f, "#define LIBEXPORT __declspec(dllexport)\n"); + fprintf(f, "#else\n"); + fprintf(f, "#define LIBEXPORT\n"); + fprintf(f, "#endif\n\n"); + fprintf(f, "#include \n"); fprintf(f, "#include \n"); fprintf(f, "#include \n"); @@ -2507,6 +2532,12 @@ static void rna_generate_header(BlenderRNA *brna, FILE *f) fprintf(f, "/* Automatically generated function declarations for the Data API.\n" " Do not edit manually, changes will be overwritten. */\n\n"); + fprintf(f, "#ifdef _WIN32\n"); + fprintf(f, "#define LIBEXPORT __declspec(dllimport)\n"); + fprintf(f, "#else\n"); + fprintf(f, "#define LIBEXPORT\n"); + fprintf(f, "#endif\n\n"); + fprintf(f, "#include \"RNA_types.h\"\n\n"); fprintf(f, "#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n"); @@ -2528,7 +2559,7 @@ static void rna_generate_header(BlenderRNA *brna, FILE *f) fprintf(f, "/**************** %s ****************/\n\n", srna->name); while(srna) { - fprintf(f, "extern StructRNA RNA_%s;\n", srna->identifier); + fprintf(f, "extern LIBEXPORT StructRNA RNA_%s;\n", srna->identifier); srna= srna->base; } fprintf(f, "\n"); @@ -2546,40 +2577,40 @@ static const char *cpp_classes = "" "\n" "#include \n" "\n" -"namespace RNA {\n" +"namespace BL {\n" "\n" "#define BOOLEAN_PROPERTY(sname, identifier) \\\n" -" bool sname::identifier(void) { return (bool)sname##_##identifier##_get(&ptr); }\n" +" inline bool sname::identifier(void) { return (bool)sname##_##identifier##_get(&ptr); }\n" "\n" "#define BOOLEAN_ARRAY_PROPERTY(sname, size, identifier) \\\n" -" Array sname::identifier(void) \\\n" +" inline Array sname::identifier(void) \\\n" " { Array ar; sname##_##identifier##_get(&ptr, ar.data); return ar; }\n" "\n" "#define INT_PROPERTY(sname, identifier) \\\n" -" int sname::identifier(void) { return sname##_##identifier##_get(&ptr); }\n" +" inline int sname::identifier(void) { return sname##_##identifier##_get(&ptr); }\n" "\n" "#define INT_ARRAY_PROPERTY(sname, size, identifier) \\\n" -" Array sname::identifier(void) \\\n" +" inline Array sname::identifier(void) \\\n" " { Array ar; sname##_##identifier##_get(&ptr, ar.data); return ar; }\n" "\n" "#define FLOAT_PROPERTY(sname, identifier) \\\n" -" float sname::identifier(void) { return sname##_##identifier##_get(&ptr); }\n" +" inline float sname::identifier(void) { return sname##_##identifier##_get(&ptr); }\n" "\n" "#define FLOAT_ARRAY_PROPERTY(sname, size, identifier) \\\n" -" Array sname::identifier(void) \\\n" +" inline Array sname::identifier(void) \\\n" " { Array ar; sname##_##identifier##_get(&ptr, ar.data); return ar; }\n" "\n" "#define ENUM_PROPERTY(type, sname, identifier) \\\n" -" sname::type sname::identifier(void) { return (type)sname##_##identifier##_get(&ptr); }\n" +" inline sname::type sname::identifier(void) { return (type)sname##_##identifier##_get(&ptr); }\n" "\n" "#define STRING_PROPERTY(sname, identifier) \\\n" -" std::string sname::identifier(void) { \\\n" +" inline std::string sname::identifier(void) { \\\n" " int len= sname##_##identifier##_length(&ptr); \\\n" " std::string str; str.resize(len); \\\n" " sname##_##identifier##_get(&ptr, &str[0]); return str; } \\\n" "\n" "#define POINTER_PROPERTY(type, sname, identifier) \\\n" -" type sname::identifier(void) { return type(sname##_##identifier##_get(&ptr)); }\n" +" inline type sname::identifier(void) { return type(sname##_##identifier##_get(&ptr)); }\n" "\n" "#define COLLECTION_PROPERTY(type, sname, identifier) \\\n" " typedef CollectionIterator& operator=(const CollectionIterator& copy)\n" -" { if(init) Tend(&iter); iter= copy.iter; if(iter.internal) iter.internal= MEM_dupallocN(iter.internal); t= copy.t; init= copy.init; return *this; }\n" "\n" " operator bool(void)\n" " { return iter.valid != 0; }\n" " const CollectionIterator& operator++() { Tnext(&iter); t = T(iter.ptr); return *this; }\n" +" const CollectionIterator& operator=(const CollectionIterator& copy)\n" +" { if(init) Tend(&iter); iter= copy.iter; if(iter.internal) iter.internal= MEM_dupallocN(iter.internal); t= copy.t; init= copy.init; return *this; }\n" +"\n" " T& operator*(void) { return t; }\n" " T* operator->(void) { return &t; }\n" " bool operator==(const CollectionIterator& other) { return iter.valid == other.iter.valid; }\n" @@ -2661,7 +2693,7 @@ static void rna_generate_header_cpp(BlenderRNA *brna, FILE *f) fprintf(f, "/* Automatically generated classes for the Data API.\n" " Do not edit manually, changes will be overwritten. */\n\n"); - + fprintf(f, "#include \"RNA_blender.h\"\n"); fprintf(f, "#include \"RNA_types.h\"\n"); diff --git a/source/blender/makesrna/intern/rna_ID.c b/source/blender/makesrna/intern/rna_ID.c index bde7c99c7df..fbf9ffa01d9 100644 --- a/source/blender/makesrna/intern/rna_ID.c +++ b/source/blender/makesrna/intern/rna_ID.c @@ -384,7 +384,7 @@ static void rna_def_ID_properties(BlenderRNA *brna) RNA_def_struct_sdna(srna, "IDPropertyGroup"); RNA_def_struct_ui_text(srna, "ID Property Group", "Group of ID properties"); RNA_def_struct_idprops_func(srna, "rna_PropertyGroup_idprops"); - RNA_def_struct_register_funcs(srna, "rna_PropertyGroup_register", "rna_PropertyGroup_unregister"); + RNA_def_struct_register_funcs(srna, "rna_PropertyGroup_register", "rna_PropertyGroup_unregister", NULL); RNA_def_struct_refine_func(srna, "rna_PropertyGroup_refine"); /* important so python types can have their name used in list views @@ -463,6 +463,16 @@ static void rna_def_ID(BlenderRNA *brna) RNA_def_property_flag(prop, PROP_LIB_EXCEPTION); RNA_def_property_ui_text(prop, "Tag", "Tools can use this to tag data, (initial state is undefined)"); + prop= RNA_def_property(srna, "recalc", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", LIB_ID_RECALC); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_ui_text(prop, "Recalc", "Datablock is tagged for recalculation."); + + prop= RNA_def_property(srna, "recalc_data", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", LIB_ID_RECALC_DATA); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_ui_text(prop, "Recalc Data", "Datablock data is tagged for recalculation."); + prop= RNA_def_property(srna, "library", PROP_POINTER, PROP_NONE); RNA_def_property_pointer_sdna(prop, NULL, "lib"); RNA_def_property_clear_flag(prop, PROP_EDITABLE); diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c index cd9b23da5d3..264396fd873 100644 --- a/source/blender/makesrna/intern/rna_access.c +++ b/source/blender/makesrna/intern/rna_access.c @@ -62,7 +62,7 @@ #include "rna_internal.h" -const PointerRNA PointerRNA_NULL= {{NULL}}; +LIBEXPORT const PointerRNA PointerRNA_NULL= {{NULL}}; /* Init/Exit */ @@ -663,6 +663,18 @@ StructUnregisterFunc RNA_struct_unregister(StructRNA *type) return NULL; } +void **RNA_struct_instance(PointerRNA *ptr) +{ + StructRNA *type= ptr->type; + + do { + if(type->instance) + return type->instance(ptr); + } while((type=type->base)); + + return NULL; +} + void *RNA_struct_py_type_get(StructRNA *srna) { return srna->py_type; @@ -1314,6 +1326,11 @@ static void rna_property_update(bContext *C, Main *bmain, Scene *scene, PointerR else prop->update(bmain, scene, ptr); } + else if(!(prop->flag & PROP_BUILTIN)) { + DAG_id_tag_update(ptr->id.data, OB_RECALC_ALL); + WM_main_add_notifier(NC_WINDOW, NULL); + } + if(prop->noteflag) WM_main_add_notifier(prop->noteflag, ptr->id.data); } diff --git a/source/blender/makesrna/intern/rna_animation.c b/source/blender/makesrna/intern/rna_animation.c index fb23e5ac63d..f53c61d36cc 100644 --- a/source/blender/makesrna/intern/rna_animation.c +++ b/source/blender/makesrna/intern/rna_animation.c @@ -509,7 +509,7 @@ static void rna_def_keyingset_info(BlenderRNA *brna) RNA_def_struct_sdna(srna, "KeyingSetInfo"); RNA_def_struct_ui_text(srna, "Keying Set Info", "Callback function defines for builtin Keying Sets"); RNA_def_struct_refine_func(srna, "rna_KeyingSetInfo_refine"); - RNA_def_struct_register_funcs(srna, "rna_KeyingSetInfo_register", "rna_KeyingSetInfo_unregister"); + RNA_def_struct_register_funcs(srna, "rna_KeyingSetInfo_register", "rna_KeyingSetInfo_unregister", NULL); /* Properties --------------------- */ diff --git a/source/blender/makesrna/intern/rna_define.c b/source/blender/makesrna/intern/rna_define.c index 3afec03a13f..d66f0042d88 100644 --- a/source/blender/makesrna/intern/rna_define.c +++ b/source/blender/makesrna/intern/rna_define.c @@ -813,7 +813,7 @@ void RNA_def_struct_idprops_func(StructRNA *srna, const char *idproperties) if(idproperties) srna->idproperties= (IDPropertiesFunc)idproperties; } -void RNA_def_struct_register_funcs(StructRNA *srna, const char *reg, const char *unreg) +void RNA_def_struct_register_funcs(StructRNA *srna, const char *reg, const char *unreg, const char *instance) { if(!DefRNA.preprocess) { fprintf(stderr, "RNA_def_struct_register_funcs: only during preprocessing.\n"); @@ -822,6 +822,7 @@ void RNA_def_struct_register_funcs(StructRNA *srna, const char *reg, const char if(reg) srna->reg= (StructRegisterFunc)reg; if(unreg) srna->unreg= (StructUnregisterFunc)unreg; + if(instance) srna->instance= (StructInstanceFunc)instance; } void RNA_def_struct_path_func(StructRNA *srna, const char *path) diff --git a/source/blender/makesrna/intern/rna_internal.h b/source/blender/makesrna/intern/rna_internal.h index 1d060c8a362..568a09dd4bd 100644 --- a/source/blender/makesrna/intern/rna_internal.h +++ b/source/blender/makesrna/intern/rna_internal.h @@ -30,6 +30,12 @@ #ifndef RNA_INTERNAL_H #define RNA_INTERNAL_H +#ifdef _WIN32 +#define LIBEXPORT __declspec(dllexport) +#else +#define LIBEXPORT +#endif + #include "UI_resources.h" #include "rna_internal_types.h" @@ -298,8 +304,8 @@ extern CollectionPropertyRNA rna_PropertyGroupItem_idp_array; extern FloatPropertyRNA rna_PropertyGroupItem_double; extern FloatPropertyRNA rna_PropertyGroupItem_double_array; -extern StructRNA RNA_PropertyGroupItem; -extern StructRNA RNA_PropertyGroup; +extern LIBEXPORT StructRNA RNA_PropertyGroupItem; +extern LIBEXPORT StructRNA RNA_PropertyGroup; struct IDProperty *rna_idproperty_check(struct PropertyRNA **prop, struct PointerRNA *ptr); diff --git a/source/blender/makesrna/intern/rna_internal_types.h b/source/blender/makesrna/intern/rna_internal_types.h index eb1beb90567..a59db183453 100644 --- a/source/blender/makesrna/intern/rna_internal_types.h +++ b/source/blender/makesrna/intern/rna_internal_types.h @@ -330,6 +330,7 @@ struct StructRNA { /* function to register/unregister subclasses */ StructRegisterFunc reg; StructUnregisterFunc unreg; + StructInstanceFunc instance; /* callback to get id properties */ IDPropertiesFunc idproperties; diff --git a/source/blender/makesrna/intern/rna_lamp.c b/source/blender/makesrna/intern/rna_lamp.c index d1679a19d8c..cd6ff4dad16 100644 --- a/source/blender/makesrna/intern/rna_lamp.c +++ b/source/blender/makesrna/intern/rna_lamp.c @@ -48,6 +48,7 @@ #include "BKE_main.h" #include "BKE_texture.h" +#include "ED_node.h" #include "WM_api.h" #include "WM_types.h" @@ -147,6 +148,14 @@ static void rna_Lamp_spot_size_set(PointerRNA *ptr, float value) la->spotsize= RAD2DEGF(value); } +static void rna_Lamp_use_nodes_set(PointerRNA *ptr, int value) +{ + Lamp *la= (Lamp*)ptr->data; + + la->use_nodes= value; + if(la->use_nodes && la->nodetree==NULL) + ED_node_shader_default(&la->id); +} #else @@ -368,6 +377,17 @@ static void rna_def_lamp(BlenderRNA *brna) RNA_def_property_boolean_negative_sdna(prop, NULL, "mode", LA_NO_DIFF); RNA_def_property_ui_text(prop, "Diffuse", "Lamp does diffuse shading"); RNA_def_property_update(prop, 0, "rna_Lamp_update"); + + /* nodes */ + prop= RNA_def_property(srna, "node_tree", PROP_POINTER, PROP_NONE); + RNA_def_property_pointer_sdna(prop, NULL, "nodetree"); + RNA_def_property_ui_text(prop, "Node Tree", "Node tree for node based lamps"); + + prop= RNA_def_property(srna, "use_nodes", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "use_nodes", 1); + RNA_def_property_boolean_funcs(prop, NULL, "rna_Lamp_use_nodes_set"); + RNA_def_property_ui_text(prop, "Use Nodes", "Use shader nodes to render the lamp"); + RNA_def_property_update(prop, 0, "rna_Lamp_update"); /* common */ rna_def_animdata_common(srna); diff --git a/source/blender/makesrna/intern/rna_main_api.c b/source/blender/makesrna/intern/rna_main_api.c index f5cbc6b2e87..454c456e051 100644 --- a/source/blender/makesrna/intern/rna_main_api.c +++ b/source/blender/makesrna/intern/rna_main_api.c @@ -231,7 +231,7 @@ Mesh *rna_Main_meshes_new(Main *bmain, const char *name) id_us_min(&me->id); return me; } -void rna_Main_meshes_remove(Main *bmain, ReportList *reports, Mesh *mesh) +LIBEXPORT void rna_Main_meshes_remove(Main *bmain, ReportList *reports, Mesh *mesh) { if(ID_REAL_USERS(mesh) <= 0) free_libblock(&bmain->mesh, mesh); diff --git a/source/blender/makesrna/intern/rna_material.c b/source/blender/makesrna/intern/rna_material.c index 909c824074e..81afac6caec 100644 --- a/source/blender/makesrna/intern/rna_material.c +++ b/source/blender/makesrna/intern/rna_material.c @@ -269,7 +269,7 @@ static void rna_Material_use_nodes_set(PointerRNA *ptr, int value) ma->use_nodes= value; if(ma->use_nodes && ma->nodetree==NULL) - ED_node_shader_default(ma); + ED_node_shader_default(&ma->id); } static EnumPropertyItem *rna_Material_texture_coordinates_itemf(bContext *C, PointerRNA *ptr, int *free) diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index b6d0f77c5a5..7c5c947c21d 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -99,6 +99,28 @@ EnumPropertyItem node_filter_items[] = { {6, "SHADOW", 0, "Shadow", ""}, {0, NULL, 0, NULL, NULL}}; +EnumPropertyItem prop_noise_basis_items[] = { + {SHD_NOISE_PERLIN, "PERLIN", 0, "Perlin", ""}, + {SHD_NOISE_VORONOI_F1, "VORONOI_F1", 0, "Voronoi F1", ""}, + {SHD_NOISE_VORONOI_F2, "VORONOI_F2", 0, "Voronoi F2", ""}, + {SHD_NOISE_VORONOI_F3, "VORONOI_F3", 0, "Voronoi F3", ""}, + {SHD_NOISE_VORONOI_F4, "VORONOI_F4", 0, "Voronoi F4", ""}, + {SHD_NOISE_VORONOI_F2_F1, "VORONOI_F2_F1", 0, "Voronoi F2-F1", ""}, + {SHD_NOISE_VORONOI_CRACKLE, "VORONOI_CRACKLE", 0, "Voronoi Crackle", ""}, + {SHD_NOISE_CELL_NOISE, "CELL_NOISE", 0, "Cell Noise", ""}, + {0, NULL, 0, NULL, NULL}}; + +EnumPropertyItem prop_noise_type_items[] = { + {SHD_NOISE_SOFT, "SOFT", 0, "Soft", ""}, + {SHD_NOISE_HARD, "HARD", 0, "Hard", ""}, + {0, NULL, 0, NULL, NULL}}; + +EnumPropertyItem prop_wave_items[] = { + {SHD_WAVE_SINE, "SINE", 0, "Sine", "Uses a sine wave to produce bands"}, + {SHD_WAVE_SAW, "SAW", 0, "Saw", "Uses a saw wave to produce bands"}, + {SHD_WAVE_TRI, "TRI", 0, "Tri", "Uses a triangle wave to produce bands"}, + {0, NULL, 0, NULL, NULL}}; + #ifdef RNA_RUNTIME #include "BLI_linklist.h" @@ -142,8 +164,10 @@ static StructRNA *rna_NodeSocketType_refine(struct PointerRNA *ptr) return &RNA_VectorNodeSocket; case SOCK_RGBA: return &RNA_RGBANodeSocket; + case SOCK_CLOSURE: + return &RNA_ClosureNodeSocket; default: - return &RNA_UnknownType; + return &RNA_NodeSocket; } } @@ -159,7 +183,7 @@ static StructRNA *rna_NodeTree_refine(struct PointerRNA *ptr) case NTREE_TEXTURE: return &RNA_TextureNodeTree; default: - return &RNA_UnknownType; + return &RNA_NodeTree; } } @@ -668,6 +692,12 @@ static EnumPropertyItem node_ycc_items[] = { { 2, "JFIF", 0, "Jpeg", ""}, {0, NULL, 0, NULL, NULL}}; +static EnumPropertyItem node_glossy_items[] = { +{SHD_GLOSSY_SHARP, "SHARP", 0, "Sharp", ""}, +{SHD_GLOSSY_BECKMANN, "BECKMANN", 0, "Beckmann", ""}, +{SHD_GLOSSY_GGX, "GGX", 0, "GGX", ""}, +{0, NULL, 0, NULL, NULL}}; + #define MaxNodes 1000 enum @@ -997,6 +1027,325 @@ static void def_sh_geometry(StructRNA *srna) RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); } +static void def_sh_tex_sky(StructRNA *srna) +{ + PropertyRNA *prop; + + RNA_def_struct_sdna_from(srna, "NodeTexSky", "storage"); + + prop = RNA_def_property(srna, "sun_direction", PROP_FLOAT, PROP_DIRECTION); + RNA_def_property_ui_text(prop, "Sun Direction", "Direction from where the sun is shining"); + RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); + + prop = RNA_def_property(srna, "turbidity", PROP_FLOAT, PROP_NONE); + RNA_def_property_ui_text(prop, "Turbidity", ""); + RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); +} + +static void def_sh_tex_environment(StructRNA *srna) +{ + PropertyRNA *prop; + + prop = RNA_def_property(srna, "image", PROP_POINTER, PROP_NONE); + RNA_def_property_pointer_sdna(prop, NULL, "id"); + RNA_def_property_struct_type(prop, "Image"); + RNA_def_property_flag(prop, PROP_EDITABLE); + RNA_def_property_ui_text(prop, "Image", ""); + RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); + + RNA_def_struct_sdna_from(srna, "NodeTexEnvironment", "storage"); +} + +static void def_sh_tex_image(StructRNA *srna) +{ + PropertyRNA *prop; + + prop = RNA_def_property(srna, "image", PROP_POINTER, PROP_NONE); + RNA_def_property_pointer_sdna(prop, NULL, "id"); + RNA_def_property_struct_type(prop, "Image"); + RNA_def_property_flag(prop, PROP_EDITABLE); + RNA_def_property_ui_text(prop, "Image", ""); + RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); + + RNA_def_struct_sdna_from(srna, "NodeTexImage", "storage"); +} + +static void def_sh_tex_blend(StructRNA *srna) +{ + static EnumPropertyItem prop_blend_progression[] = { + {SHD_BLEND_LINEAR, "LINEAR", 0, "Linear", "Creates a linear progression"}, + {SHD_BLEND_QUADRATIC, "QUADRATIC", 0, "Quadratic", "Creates a quadratic progression"}, + {SHD_BLEND_EASING, "EASING", 0, "Easing", "Creates a progression easing from one step to the next"}, + {SHD_BLEND_DIAGONAL, "DIAGONAL", 0, "Diagonal", "Creates a diagonal progression"}, + {SHD_BLEND_SPHERICAL, "SPHERICAL", 0, "Spherical", "Creates a spherical progression"}, + {SHD_BLEND_QUADRATIC_SPHERE, "QUADRATIC_SPHERE", 0, "Quadratic sphere", "Creates a quadratic progression in the shape of a sphere"}, + {SHD_BLEND_RADIAL, "RADIAL", 0, "Radial", "Creates a radial progression"}, + {0, NULL, 0, NULL, NULL}}; + + static const EnumPropertyItem prop_axis_items[]= { + {SHD_BLEND_HORIZONTAL, "HORIZONTAL", 0, "Horizontal", "Flips the texture's X and Y axis"}, + {SHD_BLEND_VERTICAL, "VERTICAL", 0, "Vertical", "Flips the texture's X and Y axis"}, + {0, NULL, 0, NULL, NULL}}; + + PropertyRNA *prop; + + RNA_def_struct_sdna_from(srna, "NodeTexBlend", "storage"); + + prop= RNA_def_property(srna, "progression", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "progression"); + RNA_def_property_enum_items(prop, prop_blend_progression); + RNA_def_property_ui_text(prop, "Progression", "Sets the style of the color blending"); + RNA_def_property_update(prop, 0, "rna_Node_update"); + + prop= RNA_def_property(srna, "axis", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_bitflag_sdna(prop, NULL, "axis"); + RNA_def_property_enum_items(prop, prop_axis_items); + RNA_def_property_ui_text(prop, "Axis", "Flips the texture's X and Y axis"); + RNA_def_property_update(prop, 0, "rna_Node_update"); +} + +static void def_sh_tex_clouds(StructRNA *srna) +{ + PropertyRNA *prop; + + RNA_def_struct_sdna_from(srna, "NodeTexClouds", "storage"); + + prop= RNA_def_property(srna, "noise_basis", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "basis"); + RNA_def_property_enum_items(prop, prop_noise_basis_items); + RNA_def_property_ui_text(prop, "Noise Basis", "Sets the noise basis used for turbulence"); + RNA_def_property_update(prop, 0, "rna_Node_update"); + + prop= RNA_def_property(srna, "noise_type", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "hard"); + RNA_def_property_enum_items(prop, prop_noise_type_items); + RNA_def_property_ui_text(prop, "Noise Type", ""); + RNA_def_property_update(prop, 0, "rna_Node_update"); + + prop= RNA_def_property(srna, "turbulence_depth", PROP_INT, PROP_NONE); + RNA_def_property_int_sdna(prop, NULL, "depth"); + RNA_def_property_range(prop, 0, 30); + RNA_def_property_ui_text(prop, "Depth", "Level of detail in the added turbulent noise"); + RNA_def_property_update(prop, 0, "rna_Node_update"); +} + +static void def_sh_tex_distnoise(StructRNA *srna) +{ + PropertyRNA *prop; + + RNA_def_struct_sdna_from(srna, "NodeTexDistortedNoise", "storage"); + + prop= RNA_def_property(srna, "noise_basis", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "basis"); + RNA_def_property_enum_items(prop, prop_noise_basis_items); + RNA_def_property_ui_text(prop, "Noise Basis", "Sets the noise basis used for turbulence"); + RNA_def_property_update(prop, 0, "rna_Node_update"); + + prop= RNA_def_property(srna, "noise_distortion", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "distortion_basis"); + RNA_def_property_enum_items(prop, prop_noise_basis_items); + RNA_def_property_ui_text(prop, "Noise Distortion", "Sets the noise basis used for distortion"); + RNA_def_property_update(prop, 0, "rna_Node_update"); +} + +static void def_sh_tex_magic(StructRNA *srna) +{ + PropertyRNA *prop; + + RNA_def_struct_sdna_from(srna, "NodeTexMagic", "storage"); + + prop= RNA_def_property(srna, "turbulence_depth", PROP_INT, PROP_NONE); + RNA_def_property_int_sdna(prop, NULL, "depth"); + RNA_def_property_range(prop, 0, 10); + RNA_def_property_ui_text(prop, "Depth", "Level of detail in the added turbulent noise"); + RNA_def_property_update(prop, 0, "rna_Node_update"); +} + +static void def_sh_tex_marble(StructRNA *srna) +{ + static EnumPropertyItem prop_marble_stype[] = { + {SHD_MARBLE_SOFT, "SOFT", 0, "Soft", "Uses soft marble"}, + {SHD_MARBLE_SHARP, "SHARP", 0, "Sharp", "Uses more clearly defined marble"}, + {SHD_MARBLE_SHARPER, "SHARPER", 0, "Sharper", "Uses very clearly defined marble"}, + {0, NULL, 0, NULL, NULL}}; + + PropertyRNA *prop; + + RNA_def_struct_sdna_from(srna, "NodeTexMarble", "storage"); + + prop= RNA_def_property(srna, "marble_type", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "type"); + RNA_def_property_enum_items(prop, prop_marble_stype); + RNA_def_property_ui_text(prop, "Type", ""); + RNA_def_property_update(prop, 0, "rna_Node_update"); + + prop= RNA_def_property(srna, "noise_basis", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "basis"); + RNA_def_property_enum_items(prop, prop_noise_basis_items); + RNA_def_property_ui_text(prop, "Noise Basis", "Sets the noise basis used for turbulence"); + RNA_def_property_update(prop, 0, "rna_Node_update"); + + prop= RNA_def_property(srna, "noise_type", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "hard"); + RNA_def_property_enum_items(prop, prop_noise_type_items); + RNA_def_property_ui_text(prop, "Noise Type", ""); + RNA_def_property_update(prop, 0, "rna_Node_update"); + + prop= RNA_def_property(srna, "turbulence_depth", PROP_INT, PROP_NONE); + RNA_def_property_int_sdna(prop, NULL, "depth"); + RNA_def_property_range(prop, 0, 30); + RNA_def_property_ui_text(prop, "Depth", "Level of detail in the added turbulent noise"); + RNA_def_property_update(prop, 0, "rna_Node_update"); + + prop= RNA_def_property(srna, "wave_type", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "wave"); + RNA_def_property_enum_items(prop, prop_wave_items); + RNA_def_property_ui_text(prop, "Wave Type", ""); + RNA_def_property_update(prop, 0, "rna_Node_update"); +} + +static void def_sh_tex_musgrave(StructRNA *srna) +{ + static EnumPropertyItem prop_musgrave_type[] = { + {SHD_MUSGRAVE_MULTIFRACTAL, "MULTIFRACTAL", 0, "Multifractal", ""}, + {SHD_MUSGRAVE_RIDGED_MULTIFRACTAL, "RIDGED_MULTIFRACTAL", 0, "Ridged Multifractal", ""}, + {SHD_MUSGRAVE_HYBRID_MULTIFRACTAL, "HYBRID_MULTIFRACTAL", 0, "Hybrid Multifractal", ""}, + {SHD_MUSGRAVE_FBM, "FBM", 0, "fBM", ""}, + {SHD_MUSGRAVE_HETERO_TERRAIN, "HETERO_TERRAIN", 0, "Hetero Terrain", ""}, + {0, NULL, 0, NULL, NULL}}; + + PropertyRNA *prop; + + RNA_def_struct_sdna_from(srna, "NodeTexMusgrave", "storage"); + + prop= RNA_def_property(srna, "musgrave_type", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "type"); + RNA_def_property_enum_items(prop, prop_musgrave_type); + RNA_def_property_ui_text(prop, "Type", ""); + RNA_def_property_update(prop, 0, "rna_Node_update"); + + prop= RNA_def_property(srna, "noise_basis", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "basis"); + RNA_def_property_enum_items(prop, prop_noise_basis_items); + RNA_def_property_ui_text(prop, "Noise Basis", "Sets the noise basis used for turbulence"); + RNA_def_property_update(prop, 0, "rna_Node_update"); +} + +static void def_sh_tex_stucci(StructRNA *srna) +{ + static EnumPropertyItem prop_stucci_stype[] = { + {SHD_STUCCI_PLASTIC, "PLASTIC", 0, "Plastic", "Uses standard stucci"}, + {SHD_STUCCI_WALL_IN, "WALL_IN", 0, "Wall in", "Creates Dimples"}, + {SHD_STUCCI_WALL_OUT, "WALL_OUT", 0, "Wall out", "Creates Ridges"}, + {0, NULL, 0, NULL, NULL}}; + + PropertyRNA *prop; + + RNA_def_struct_sdna_from(srna, "NodeTexStucci", "storage"); + + prop= RNA_def_property(srna, "stucci_type", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "type"); + RNA_def_property_enum_items(prop, prop_stucci_stype); + RNA_def_property_ui_text(prop, "Type", ""); + RNA_def_property_update(prop, 0, "rna_Node_update"); + + prop= RNA_def_property(srna, "noise_basis", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "basis"); + RNA_def_property_enum_items(prop, prop_noise_basis_items); + RNA_def_property_ui_text(prop, "Noise Basis", "Sets the noise basis used for turbulence"); + RNA_def_property_update(prop, 0, "rna_Node_update"); + + prop= RNA_def_property(srna, "noise_type", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "hard"); + RNA_def_property_enum_items(prop, prop_noise_type_items); + RNA_def_property_ui_text(prop, "Noise Type", ""); + RNA_def_property_update(prop, 0, "rna_Node_update"); +} + +static void def_sh_tex_voronoi(StructRNA *srna) +{ + static EnumPropertyItem prop_distance_metric_items[] = { + {SHD_VORONOI_ACTUAL_DISTANCE, "DISTANCE", 0, "Actual Distance", ""}, + {SHD_VORONOI_DISTANCE_SQUARED, "DISTANCE_SQUARED", 0, "Distance Squared", ""}, + {SHD_VORONOI_MANHATTAN, "MANHATTAN", 0, "Manhattan", ""}, + {SHD_VORONOI_CHEBYCHEV, "CHEBYCHEV", 0, "Chebychev", ""}, + {SHD_VORONOI_MINKOVSKY_H, "MINKOVSKY_HALF", 0, "Minkovsky 1/2", ""}, + {SHD_VORONOI_MINKOVSKY_4, "MINKOVSKY_FOUR", 0, "Minkovsky 4", ""}, + {SHD_VORONOI_MINKOVSKY, "MINKOVSKY", 0, "Minkovsky", ""}, + {0, NULL, 0, NULL, NULL}}; + + static EnumPropertyItem prop_coloring_items[] = { + {SHD_VORONOI_INTENSITY, "INTENSITY", 0, "Intensity", "Only calculate intensity"}, + {SHD_VORONOI_POSITION, "POSITION", 0, "Position", "Color cells by position"}, + {SHD_VORONOI_POSITION_OUTLINE, "POSITION_OUTLINE", 0, "Position and Outline", "Use position plus an outline based on F2-F.1"}, + {SHD_VORONOI_POSITION_OUTLINE_INTENSITY, "POSITION_OUTLINE_INTENSITY", 0, "Position, Outline, and Intensity", "Multiply position and outline by intensity"}, + {0, NULL, 0, NULL, NULL}}; + + PropertyRNA *prop; + + RNA_def_struct_sdna_from(srna, "NodeTexVoronoi", "storage"); + + prop= RNA_def_property(srna, "distance_metric", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "distance_metric"); + RNA_def_property_enum_items(prop, prop_distance_metric_items); + RNA_def_property_ui_text(prop, "Distance Metric", ""); + RNA_def_property_update(prop, 0, "rna_Node_update"); + + prop= RNA_def_property(srna, "coloring", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "coloring"); + RNA_def_property_enum_items(prop, prop_coloring_items); + RNA_def_property_ui_text(prop, "Coloring", ""); + RNA_def_property_update(prop, 0, "rna_Node_update"); +} + +static void def_sh_tex_wood(StructRNA *srna) +{ + static EnumPropertyItem prop_wood_type_items[] = { + {SHD_WOOD_BANDS, "BANDS", 0, "Bands", "Uses standard wood texture in bands"}, + {SHD_WOOD_RINGS, "RINGS", 0, "Rings", "Uses wood texture in rings"}, + {SHD_WOOD_BAND_NOISE, "BAND_NOISE", 0, "Band Noise", "Adds noise to standard wood"}, + {SHD_WOOD_RING_NOISE, "RING_NOISE", 0, "Ring Noise", "Adds noise to rings"}, + {0, NULL, 0, NULL, NULL}}; + + PropertyRNA *prop; + + RNA_def_struct_sdna_from(srna, "NodeTexWood", "storage"); + + prop= RNA_def_property(srna, "noise_basis", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "basis"); + RNA_def_property_enum_items(prop, prop_noise_basis_items); + RNA_def_property_ui_text(prop, "Noise Basis", "Sets the noise basis used for turbulence"); + RNA_def_property_update(prop, 0, "rna_Node_update"); + + prop= RNA_def_property(srna, "noise_type", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "hard"); + RNA_def_property_enum_items(prop, prop_noise_type_items); + RNA_def_property_ui_text(prop, "Noise Type", ""); + RNA_def_property_update(prop, 0, "rna_Node_update"); + + prop= RNA_def_property(srna, "wood_type", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "type"); + RNA_def_property_enum_items(prop, prop_wood_type_items); + RNA_def_property_ui_text(prop, "Wood Type", ""); + RNA_def_property_update(prop, 0, "rna_Node_update"); + + prop= RNA_def_property(srna, "wave_type", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "wave"); + RNA_def_property_enum_items(prop, prop_wave_items); + RNA_def_property_ui_text(prop, "Wave Type", ""); + RNA_def_property_update(prop, 0, "rna_Node_update"); +} + +static void def_glossy(StructRNA *srna) +{ + PropertyRNA *prop; + + prop = RNA_def_property(srna, "distribution", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "custom1"); + RNA_def_property_enum_items(prop, node_glossy_items); + RNA_def_property_ui_text(prop, "Distribution", ""); + RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); +} /* -- Compositor Nodes ------------------------------------------------------ */ @@ -2536,6 +2885,16 @@ static void rna_def_node_socket(BlenderRNA *brna) RNA_def_property_clear_flag(prop, PROP_EDITABLE); RNA_def_property_enum_items(prop, node_socket_type_items); RNA_def_property_ui_text(prop, "Type", "Node Socket type"); + + prop = RNA_def_property(srna, "group_socket", PROP_POINTER, PROP_NONE); + RNA_def_property_pointer_sdna(prop, NULL, "groupsock"); + RNA_def_property_struct_type(prop, "NodeSocket"); + RNA_def_property_ui_text(prop, "Group Socket", "For group nodes, the group input or output socket this corresponds to"); + + prop = RNA_def_property(srna, "show_expanded", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", SOCK_COLLAPSED); + RNA_def_property_ui_text(prop, "Expanded", "Socket links are expanded in the user interface"); + RNA_def_property_update(prop, NC_NODE|NA_EDITED, NULL); } static void rna_def_node_socket_value(BlenderRNA *brna) @@ -2595,6 +2954,17 @@ static void rna_def_node_socket_rgba(BlenderRNA *brna) RNA_def_property_float_funcs(prop, NULL, NULL, "rna_NodeSocket_defvalue_range"); } +static void rna_def_node_socket_closure(BlenderRNA *brna) +{ + StructRNA *srna; + + srna = RNA_def_struct(brna, "ClosureNodeSocket", "NodeSocket"); + RNA_def_struct_ui_text(srna, "Closure Node Socket", "Input or output socket of a node"); + RNA_def_struct_sdna(srna, "bNodeSocket"); + RNA_def_struct_ui_icon(srna, ICON_PLUG); + RNA_def_struct_path_func(srna, "rna_NodeSocket_path"); +} + static void rna_def_node(BlenderRNA *brna) { StructRNA *srna; @@ -2824,6 +3194,7 @@ void RNA_def_nodetree(BlenderRNA *brna) rna_def_node_socket_value(brna); rna_def_node_socket_vector(brna); rna_def_node_socket_rgba(brna); + rna_def_node_socket_closure(brna); rna_def_node(brna); rna_def_node_link(brna); rna_def_shader_node(brna); diff --git a/source/blender/makesrna/intern/rna_nodetree_types.h b/source/blender/makesrna/intern/rna_nodetree_types.h index d48df85697a..1170df281f2 100644 --- a/source/blender/makesrna/intern/rna_nodetree_types.h +++ b/source/blender/makesrna/intern/rna_nodetree_types.h @@ -37,7 +37,7 @@ DefNode( ShaderNode, SH_NODE_VALTORGB, def_colorramp, "VALTO DefNode( ShaderNode, SH_NODE_RGBTOBW, 0, "RGBTOBW", RGBToBW, "RGB to BW", "" ) DefNode( ShaderNode, SH_NODE_TEXTURE, def_texture, "TEXTURE", Texture, "Texture", "" ) DefNode( ShaderNode, SH_NODE_NORMAL, 0, "NORMAL", Normal, "Normal", "" ) -DefNode( ShaderNode, SH_NODE_GEOMETRY, def_sh_geometry, "GEOMETRY", Geometry, "Geometry", "" ) +DefNode( ShaderNode, SH_NODE_GEOM, def_sh_geometry, "GEOM", Geom, "Geometry", "" ) DefNode( ShaderNode, SH_NODE_MAPPING, def_sh_mapping, "MAPPING", Mapping, "Mapping", "" ) DefNode( ShaderNode, SH_NODE_CURVE_VEC, def_vector_curve, "CURVE_VEC", VectorCurve, "Vector Curve", "" ) DefNode( ShaderNode, SH_NODE_CURVE_RGB, def_rgb_curve, "CURVE_RGB", RGBCurve, "RGB Curve", "" ) @@ -50,7 +50,40 @@ DefNode( ShaderNode, SH_NODE_INVERT, 0, "INVER DefNode( ShaderNode, SH_NODE_SEPRGB, 0, "SEPRGB", SeparateRGB, "Separate RGB", "" ) DefNode( ShaderNode, SH_NODE_COMBRGB, 0, "COMBRGB", CombineRGB, "Combine RGB", "" ) DefNode( ShaderNode, SH_NODE_HUE_SAT, 0, "HUE_SAT", HueSaturation, "Hue/Saturation", "" ) - +DefNode( ShaderNode, SH_NODE_OUTPUT_MATERIAL, 0, "OUTPUT_MATERIAL",OutputMaterial, "Material Output", "" ) +DefNode( ShaderNode, SH_NODE_OUTPUT_LAMP, 0, "OUTPUT_LAMP", OutputLamp, "Lamp Output", "" ) +DefNode( ShaderNode, SH_NODE_OUTPUT_WORLD, 0, "OUTPUT_WORLD", OutputWorld, "World Output", "" ) +DefNode( ShaderNode, SH_NODE_FRESNEL, 0, "FRESNEL", Fresnel, "Fresnel", "" ) +DefNode( ShaderNode, SH_NODE_MIX_CLOSURE, 0, "MIX_CLOSURE", MixClosure, "Mix Closure", "" ) +DefNode( ShaderNode, SH_NODE_ADD_CLOSURE, 0, "ADD_CLOSURE", AddClosure, "Add Closure", "" ) + +DefNode( ShaderNode, SH_NODE_ATTRIBUTE, 0, "ATTRIBUTE", Attribute, "Attribute", "") +DefNode( ShaderNode, SH_NODE_BACKGROUND, 0, "BACKGROUND", Background, "Background", "") +DefNode( ShaderNode, SH_NODE_BSDF_ANISOTROPIC, 0, "BSDF_ANISOTROPIC", BsdfAnisotropic, "Bsdf Anisotropic", "") +DefNode( ShaderNode, SH_NODE_BSDF_DIFFUSE, 0, "BSDF_DIFFUSE", BsdfDiffuse, "Diffuse Bsdf", "") +DefNode( ShaderNode, SH_NODE_BSDF_GLOSSY, def_glossy, "BSDF_GLOSSY", BsdfGlossy, "Glossy Bsdf", "") +DefNode( ShaderNode, SH_NODE_BSDF_GLASS, def_glossy, "BSDF_GLASS", BsdfGlass, "Glass Bsdf", "") +DefNode( ShaderNode, SH_NODE_BSDF_TRANSLUCENT, 0, "BSDF_TRANSLUCENT", BsdfTranslucent, "Translucent Bsdf", "") +DefNode( ShaderNode, SH_NODE_BSDF_TRANSPARENT, 0, "BSDF_TRANSPARENT", BsdfTransparent, "Transparent Bsdf", "") +DefNode( ShaderNode, SH_NODE_BSDF_VELVET, 0, "BSDF_VELVET", BsdfVelvet, "Velvet Bsdf", "") +DefNode( ShaderNode, SH_NODE_EMISSION, 0, "EMISSION", Emission, "Emission", "") +DefNode( ShaderNode, SH_NODE_GEOMETRY, 0, "GEOMETRY", Geometry, "Geometry", "") +DefNode( ShaderNode, SH_NODE_LIGHT_PATH, 0, "LIGHT_PATH", Light_path, "Light_path", "") +DefNode( ShaderNode, SH_NODE_TEX_IMAGE, def_sh_tex_image, "TEX_IMAGE", TexImage, "Image Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_ENVIRONMENT, def_sh_tex_environment, "TEX_ENVIRONMENT", TexEnvironment, "Environment Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_NOISE, 0, "TEX_NOISE", TexNoise, "Noise Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_SKY, def_sh_tex_sky, "TEX_SKY", TexSky, "Sky Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_BLEND, def_sh_tex_blend, "TEX_BLEND", TexBlend, "Blend Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_CLOUDS, def_sh_tex_clouds, "TEX_CLOUDS", TexClouds, "Clouds Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_DISTNOISE, def_sh_tex_distnoise, "TEX_DISTORTED_NOISE", TexDistortedNoise, "Distorted Noise Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_MAGIC, def_sh_tex_magic, "TEX_MAGIC", TexMagic, "Magic Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_MARBLE, def_sh_tex_marble, "TEX_MARBLE", TexMarble, "Marble Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_MUSGRAVE, def_sh_tex_musgrave, "TEX_MUSGRAVE", TexMusgrave, "Musgrave Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_STUCCI, def_sh_tex_stucci, "TEX_STUCCI", TexStucci, "Stucci Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_VORONOI, def_sh_tex_voronoi, "TEX_VORONOI", TexVoronoi, "Voronoi Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_WOOD, def_sh_tex_wood, "TEX_WOOD", TexWood, "Wood Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_COORD, 0, "TEX_COORD", TexCoord, "Texture Coordinate", "") + DefNode( CompositorNode, CMP_NODE_VIEWER, 0, "VIEWER", Viewer, "Viewer", "" ) DefNode( CompositorNode, CMP_NODE_RGB, 0, "RGB", RGB, "RGB", "" ) DefNode( CompositorNode, CMP_NODE_VALUE, 0, "VALUE", Value, "Value", "" ) diff --git a/source/blender/makesrna/intern/rna_object_api.c b/source/blender/makesrna/intern/rna_object_api.c index d6af04f2475..e64e024c530 100644 --- a/source/blender/makesrna/intern/rna_object_api.c +++ b/source/blender/makesrna/intern/rna_object_api.c @@ -78,7 +78,7 @@ /* copied from Mesh_getFromObject and adapted to RNA interface */ /* settings: 0 - preview, 1 - render */ -static Mesh *rna_Object_to_mesh(Object *ob, ReportList *reports, Scene *sce, int apply_modifiers, int settings) +LIBEXPORT Mesh *rna_Object_to_mesh(Object *ob, ReportList *reports, Scene *sce, int apply_modifiers, int settings) { Mesh *tmpmesh; Curve *tmpcu = NULL; @@ -286,7 +286,7 @@ static void dupli_render_particle_set(Scene *scene, Object *ob, int level, int e dupli_render_particle_set(scene, go->ob, level+1, enable); } /* When no longer needed, duplilist should be freed with Object.free_duplilist */ -static void rna_Object_create_duplilist(Object *ob, ReportList *reports, Scene *sce) +LIBEXPORT void rna_Object_create_duplilist(Object *ob, ReportList *reports, Scene *sce) { if (!(ob->transflag & OB_DUPLI)) { BKE_report(reports, RPT_ERROR, "Object does not have duplis."); @@ -308,7 +308,7 @@ static void rna_Object_create_duplilist(Object *ob, ReportList *reports, Scene * /* ob->duplilist should now be freed with Object.free_duplilist */ } -static void rna_Object_free_duplilist(Object *ob) +LIBEXPORT void rna_Object_free_duplilist(Object *ob) { if (ob->duplilist) { free_object_duplilist(ob->duplilist); @@ -422,7 +422,7 @@ void rna_ObjectBase_layers_from_view(Base *base, View3D *v3d) base->lay= base->object->lay= v3d->lay; } -int rna_Object_is_modified(Object *ob, Scene *scene, int settings) +LIBEXPORT int rna_Object_is_modified(Object *ob, Scene *scene, int settings) { return object_is_modified(scene, ob) & settings; } diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c index 93754d324df..85e1ec159cd 100644 --- a/source/blender/makesrna/intern/rna_render.c +++ b/source/blender/makesrna/intern/rna_render.c @@ -51,10 +51,10 @@ /* RenderEngine */ static RenderEngineType internal_render_type = { - NULL, NULL, "BLENDER_RENDER", "Blender Render", RE_INTERNAL, NULL, {NULL, NULL, NULL, NULL}}; + NULL, NULL, "BLENDER_RENDER", "Blender Render", RE_INTERNAL, NULL, NULL, NULL, {NULL, NULL, NULL}}; #ifdef WITH_GAMEENGINE static RenderEngineType internal_game_type = { - NULL, NULL, "BLENDER_GAME", "Blender Game", RE_INTERNAL|RE_GAME, NULL, {NULL, NULL, NULL, NULL}}; + NULL, NULL, "BLENDER_GAME", "Blender Game", RE_INTERNAL|RE_GAME, NULL, NULL, NULL, {NULL, NULL, NULL}}; #endif ListBase R_engines = {NULL, NULL}; @@ -85,6 +85,16 @@ void RE_engines_exit(void) } } +LIBEXPORT void engine_tag_redraw(RenderEngine *engine) +{ + engine->do_draw = 1; +} + +LIBEXPORT void engine_tag_update(RenderEngine *engine) +{ + engine->do_update = 1; +} + static void engine_render(RenderEngine *engine, struct Scene *scene) { PointerRNA ptr; @@ -101,6 +111,38 @@ static void engine_render(RenderEngine *engine, struct Scene *scene) RNA_parameter_list_free(&list); } +static void engine_draw(RenderEngine *engine, struct Scene *scene) +{ + PointerRNA ptr; + ParameterList list; + FunctionRNA *func; + + RNA_pointer_create(NULL, engine->type->ext.srna, engine, &ptr); + func= RNA_struct_find_function(&ptr, "draw"); + + RNA_parameter_list_create(&list, &ptr, func); + RNA_parameter_set_lookup(&list, "scene", &scene); + engine->type->ext.call(NULL, &ptr, func, &list); + + RNA_parameter_list_free(&list); +} + +static void engine_update(RenderEngine *engine, struct Scene *scene) +{ + PointerRNA ptr; + ParameterList list; + FunctionRNA *func; + + RNA_pointer_create(NULL, engine->type->ext.srna, engine, &ptr); + func= RNA_struct_find_function(&ptr, "update"); + + RNA_parameter_list_create(&list, &ptr, func); + RNA_parameter_set_lookup(&list, "scene", &scene); + engine->type->ext.call(NULL, &ptr, func, &list); + + RNA_parameter_list_free(&list); +} + static void rna_RenderEngine_unregister(const bContext *C, StructRNA *type) { RenderEngineType *et= RNA_struct_blender_type_get(type); @@ -118,7 +160,7 @@ static StructRNA *rna_RenderEngine_register(bContext *C, ReportList *reports, vo RenderEngineType *et, dummyet = {NULL}; RenderEngine dummyengine= {NULL}; PointerRNA dummyptr; - int have_function[1]; + int have_function[3]; /* setup dummy engine & engine type to store static properties in */ dummyengine.type= &dummyet; @@ -153,12 +195,20 @@ static StructRNA *rna_RenderEngine_register(bContext *C, ReportList *reports, vo RNA_struct_blender_type_set(et->ext.srna, et); et->render= (have_function[0])? engine_render: NULL; + et->draw= (have_function[1])? engine_draw: NULL; + et->update= (have_function[2])? engine_update: NULL; BLI_addtail(&R_engines, et); return et->ext.srna; } +static void **rna_RenderEngine_instance(PointerRNA *ptr) +{ + RenderEngine *engine = ptr->data; + return &engine->py_instance; +} + static StructRNA* rna_RenderEngine_refine(PointerRNA *ptr) { RenderEngine *engine= (RenderEngine*)ptr->data; @@ -193,7 +243,7 @@ static void rna_RenderLayer_rect_get(PointerRNA *ptr, float *values) memcpy(values, rl->rectf, sizeof(float)*rl->rectx*rl->recty*4); } -static void rna_RenderLayer_rect_set(PointerRNA *ptr, const float *values) +LIBEXPORT void rna_RenderLayer_rect_set(PointerRNA *ptr, const float *values) { RenderLayer *rl= (RenderLayer*)ptr->data; memcpy(rl->rectf, values, sizeof(float)*rl->rectx*rl->recty*4); @@ -215,7 +265,7 @@ static void rna_RenderPass_rect_get(PointerRNA *ptr, float *values) memcpy(values, rpass->rect, sizeof(float)*rpass->rectx*rpass->recty*rpass->channels); } -static void rna_RenderPass_rect_set(PointerRNA *ptr, const float *values) +LIBEXPORT void rna_RenderPass_rect_set(PointerRNA *ptr, const float *values) { RenderPass *rpass= (RenderPass*)ptr->data; memcpy(rpass->rect, values, sizeof(float)*rpass->rectx*rpass->recty*rpass->channels); @@ -233,7 +283,7 @@ static void rna_def_render_engine(BlenderRNA *brna) RNA_def_struct_sdna(srna, "RenderEngine"); RNA_def_struct_ui_text(srna, "Render Engine", "Render engine"); RNA_def_struct_refine_func(srna, "rna_RenderEngine_refine"); - RNA_def_struct_register_funcs(srna, "rna_RenderEngine_register", "rna_RenderEngine_unregister"); + RNA_def_struct_register_funcs(srna, "rna_RenderEngine_register", "rna_RenderEngine_unregister", "rna_RenderEngine_instance"); /* render */ func= RNA_def_function(srna, "render", NULL); @@ -241,6 +291,23 @@ static void rna_def_render_engine(BlenderRNA *brna) RNA_def_function_flag(func, FUNC_REGISTER); RNA_def_pointer(func, "scene", "Scene", "", ""); + /* draw */ + func= RNA_def_function(srna, "draw", NULL); + RNA_def_function_ui_description(func, "Draw progressive render into viewport."); + RNA_def_function_flag(func, FUNC_REGISTER); + RNA_def_pointer(func, "scene", "Scene", "", ""); + + func= RNA_def_function(srna, "update", NULL); + RNA_def_function_ui_description(func, "Notify data has changed for progressive viewport render."); + RNA_def_function_flag(func, FUNC_REGISTER); + RNA_def_pointer(func, "scene", "Scene", "", ""); + + /* tag for redraw */ + RNA_def_function(srna, "tag_redraw", "engine_tag_redraw"); + + /* tag for update */ + RNA_def_function(srna, "tag_update", "engine_tag_update"); + func= RNA_def_function(srna, "begin_result", "RE_engine_begin_result"); prop= RNA_def_int(func, "x", 0, 0, INT_MAX, "X", "", 0, INT_MAX); RNA_def_property_flag(prop, PROP_REQUIRED); diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index acb0ffa3be2..294062c2ed3 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -54,6 +54,8 @@ #include #endif +#include "ED_render.h" + #include "WM_api.h" #include "WM_types.h" @@ -740,6 +742,11 @@ static int rna_RenderSettings_engine_get(PointerRNA *ptr) return 0; } +static void rna_RenderSettings_engine_update(Main *bmain, Scene *unused, PointerRNA *ptr) +{ + ED_render_engine_changed(bmain); +} + static void rna_Scene_glsl_update(Main *bmain, Scene *unused, PointerRNA *ptr) { Scene *scene= (Scene*)ptr->id.data; @@ -2927,7 +2934,7 @@ static void rna_def_scene_render_data(BlenderRNA *brna) RNA_def_property_enum_items(prop, engine_items); RNA_def_property_enum_funcs(prop, "rna_RenderSettings_engine_get", "rna_RenderSettings_engine_set", "rna_RenderSettings_engine_itemf"); RNA_def_property_ui_text(prop, "Engine", "Engine to use for rendering"); - RNA_def_property_update(prop, NC_WINDOW, NULL); + RNA_def_property_update(prop, NC_WINDOW, "rna_RenderSettings_engine_update"); prop= RNA_def_property(srna, "has_multiple_engines", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_funcs(prop, "rna_RenderSettings_multiple_engines_get", NULL); diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index 5e261fa2d18..9addb982645 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -48,6 +48,8 @@ #include "WM_api.h" #include "WM_types.h" +#include "RE_pipeline.h" + EnumPropertyItem space_type_items[] = { {SPACE_EMPTY, "EMPTY", 0, "Empty", ""}, {SPACE_VIEW3D, "VIEW_3D", 0, "3D View", ""}, @@ -103,6 +105,7 @@ EnumPropertyItem viewport_shade_items[] = { {OB_SOLID, "SOLID", ICON_SOLID, "Solid", "Display the object solid, lit with default OpenGL lights"}, //{OB_SHADED, "SHADED", ICON_SMOOTH, "Shaded", "Display the object solid, with preview shading interpolated at vertices"}, {OB_TEXTURE, "TEXTURED", ICON_POTATO, "Textured", "Display the object solid, with face-assigned textures"}, + {OB_RENDER, "RENDERED", ICON_SMOOTH, "Rendered", "Display progressive render preview"}, {0, NULL, 0, NULL, NULL}}; #ifdef RNA_RUNTIME @@ -319,6 +322,25 @@ static void rna_SpaceView3D_layer_update(Main *bmain, Scene *scene, PointerRNA * DAG_on_visible_update(bmain, FALSE); } +static void rna_SpaceView3D_viewport_shade_update(Main *bmain, Scene *scene, PointerRNA *ptr) +{ + View3D *v3d= (View3D*)(ptr->data); + ScrArea *sa= rna_area_from_space(ptr); + + if(v3d->drawtype != OB_RENDER) { + ARegion *ar; + + 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; + } + } + } +} + static PointerRNA rna_SpaceView3D_region_3d_get(PointerRNA *ptr) { View3D *v3d= (View3D*)(ptr->data); @@ -1162,7 +1184,7 @@ static void rna_def_space_view3d(BlenderRNA *brna) RNA_def_property_enum_sdna(prop, NULL, "drawtype"); RNA_def_property_enum_items(prop, viewport_shade_items); RNA_def_property_ui_text(prop, "Viewport Shading", "Method to display/shade objects in the 3D View"); - RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL); + RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, "rna_SpaceView3D_viewport_shade_update"); prop= RNA_def_property(srna, "local_view", PROP_POINTER, PROP_NONE); RNA_def_property_pointer_sdna(prop, NULL, "localvd"); @@ -1417,6 +1439,17 @@ static void rna_def_space_view3d(BlenderRNA *brna) RNA_def_property_float_sdna(prop, NULL, "dist"); RNA_def_property_ui_text(prop, "Distance", "Distance to the view location"); RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL); + + prop= RNA_def_property(srna, "view_camera_zoom", PROP_INT, PROP_UNSIGNED); + RNA_def_property_int_sdna(prop, NULL, "camzoom"); + RNA_def_property_ui_text(prop, "Camera Zoom", "Zoom factor in camera view"); + RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL); + + prop= RNA_def_property(srna, "view_camera_offset", PROP_FLOAT, PROP_NONE); + RNA_def_property_float_sdna(prop, NULL, "camdx"); + RNA_def_property_array(prop, 2); + RNA_def_property_ui_text(prop, "Camera Offset", "View shift in camera view"); + RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL); } static void rna_def_space_buttons(BlenderRNA *brna) @@ -2291,9 +2324,9 @@ static void rna_def_space_filebrowser(BlenderRNA *brna) RNA_def_property_pointer_sdna(prop, NULL, "params"); RNA_def_property_ui_text(prop, "Filebrowser Parameter", "Parameters and Settings for the Filebrowser"); - prop= RNA_def_property(srna, "operator", PROP_POINTER, PROP_NONE); + prop= RNA_def_property(srna, "active_operator", PROP_POINTER, PROP_NONE); RNA_def_property_pointer_sdna(prop, NULL, "op"); - RNA_def_property_ui_text(prop, "Operator", ""); + RNA_def_property_ui_text(prop, "Active Operator", ""); } static void rna_def_space_info(BlenderRNA *brna) @@ -2353,7 +2386,7 @@ static void rna_def_space_node(BlenderRNA *brna) PropertyRNA *prop; static EnumPropertyItem tree_type_items[] = { - {NTREE_SHADER, "MATERIAL", ICON_MATERIAL, "Material", "Material nodes"}, + {NTREE_SHADER, "SHADER", ICON_MATERIAL, "Shader", "Shader nodes"}, {NTREE_TEXTURE, "TEXTURE", ICON_TEXTURE, "Texture", "Texture nodes"}, {NTREE_COMPOSIT, "COMPOSITING", ICON_RENDERLAYERS, "Compositing", "Compositing nodes"}, {0, NULL, 0, NULL, NULL}}; @@ -2364,6 +2397,11 @@ static void rna_def_space_node(BlenderRNA *brna) {SNODE_TEX_BRUSH, "BRUSH", ICON_BRUSH_DATA, "Brush", "Edit texture nodes from Brush"}, {0, NULL, 0, NULL, NULL}}; + static EnumPropertyItem shader_type_items[] = { + {SNODE_SHADER_OBJECT, "OBJECT", ICON_OBJECT_DATA, "Object", "Edit shader nodes from Object"}, + {SNODE_SHADER_WORLD, "WORLD", ICON_WORLD_DATA, "World", "Edit shader nodes from World"}, + {0, NULL, 0, NULL, NULL}}; + static EnumPropertyItem backdrop_channels_items[] = { {0, "COLOR", ICON_IMAGE_RGB, "Color", "Draw image with RGB colors"}, {SNODE_USE_ALPHA, "COLOR_ALPHA", ICON_IMAGE_RGB_ALPHA, "Color and Alpha", "Draw image with RGB colors and alpha transparency"}, @@ -2386,6 +2424,12 @@ static void rna_def_space_node(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Texture Type", "Type of data to take texture from"); RNA_def_property_update(prop, NC_SPACE|ND_SPACE_NODE, NULL); + prop= RNA_def_property(srna, "shader_type", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "shaderfrom"); + RNA_def_property_enum_items(prop, shader_type_items); + RNA_def_property_ui_text(prop, "Shader Type", "Type of data to take shader from"); + RNA_def_property_update(prop, NC_SPACE|ND_SPACE_NODE, NULL); + prop= RNA_def_property(srna, "id", PROP_POINTER, PROP_NONE); RNA_def_property_clear_flag(prop, PROP_EDITABLE); RNA_def_property_ui_text(prop, "ID", "Datablock whose nodes are being edited"); diff --git a/source/blender/makesrna/intern/rna_ui.c b/source/blender/makesrna/intern/rna_ui.c index d48c1d35c13..d8ea8b3df48 100644 --- a/source/blender/makesrna/intern/rna_ui.c +++ b/source/blender/makesrna/intern/rna_ui.c @@ -617,7 +617,7 @@ static void rna_def_panel(BlenderRNA *brna) RNA_def_struct_ui_text(srna, "Panel", "Panel containing UI elements"); RNA_def_struct_sdna(srna, "Panel"); RNA_def_struct_refine_func(srna, "rna_Panel_refine"); - RNA_def_struct_register_funcs(srna, "rna_Panel_register", "rna_Panel_unregister"); + RNA_def_struct_register_funcs(srna, "rna_Panel_register", "rna_Panel_unregister", NULL); /* poll */ func= RNA_def_function(srna, "poll", NULL); @@ -694,7 +694,7 @@ static void rna_def_header(BlenderRNA *brna) RNA_def_struct_ui_text(srna, "Header", "Editor header containing UI elements."); RNA_def_struct_sdna(srna, "Header"); RNA_def_struct_refine_func(srna, "rna_Header_refine"); - RNA_def_struct_register_funcs(srna, "rna_Header_register", "rna_Header_unregister"); + RNA_def_struct_register_funcs(srna, "rna_Header_register", "rna_Header_unregister", NULL); /* draw */ func= RNA_def_function(srna, "draw", NULL); @@ -736,7 +736,7 @@ static void rna_def_menu(BlenderRNA *brna) RNA_def_struct_ui_text(srna, "Menu", "Editor menu containing buttons"); RNA_def_struct_sdna(srna, "Menu"); RNA_def_struct_refine_func(srna, "rna_Menu_refine"); - RNA_def_struct_register_funcs(srna, "rna_Menu_register", "rna_Menu_unregister"); + RNA_def_struct_register_funcs(srna, "rna_Menu_register", "rna_Menu_unregister", NULL); /* poll */ func= RNA_def_function(srna, "poll", NULL); diff --git a/source/blender/makesrna/intern/rna_ui_api.c b/source/blender/makesrna/intern/rna_ui_api.c index 2ee19b07d86..8d6da415be4 100644 --- a/source/blender/makesrna/intern/rna_ui_api.c +++ b/source/blender/makesrna/intern/rna_ui_api.c @@ -418,6 +418,27 @@ void RNA_api_ui_layout(StructRNA *srna) func= RNA_def_function(srna, "template_reports_banner", "uiTemplateReportsBanner"); RNA_def_function_flag(func, FUNC_USE_CONTEXT); + func= RNA_def_function(srna, "template_node_link", "uiTemplateNodeLink"); + parm= RNA_def_pointer(func, "id", "ID", "", ""); + RNA_def_property_flag(parm, PROP_REQUIRED); + parm= RNA_def_pointer(func, "ntree", "NodeTree", "", ""); + RNA_def_property_flag(parm, PROP_REQUIRED); + parm= RNA_def_pointer(func, "node", "Node", "", ""); + RNA_def_property_flag(parm, PROP_REQUIRED); + parm= RNA_def_pointer(func, "socket", "NodeSocket", "", ""); + RNA_def_property_flag(parm, PROP_REQUIRED); + + func= RNA_def_function(srna, "template_node_view", "uiTemplateNodeView"); + RNA_def_function_flag(func, FUNC_USE_CONTEXT); + parm= RNA_def_pointer(func, "id", "ID", "", ""); + RNA_def_property_flag(parm, PROP_REQUIRED); + parm= RNA_def_pointer(func, "ntree", "NodeTree", "", ""); + RNA_def_property_flag(parm, PROP_REQUIRED); + parm= RNA_def_pointer(func, "node", "Node", "", ""); + RNA_def_property_flag(parm, PROP_REQUIRED); + parm= RNA_def_pointer(func, "socket", "NodeSocket", "", ""); + RNA_def_property_flag(parm, PROP_REQUIRED); + func= RNA_def_function(srna, "introspect", "uiLayoutIntrospect"); parm= RNA_def_string(func, "string", "", 1024*1024, "Descr", "DESCR"); RNA_def_function_return(func, parm); diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c index 4c79c27e0de..346acc522a1 100644 --- a/source/blender/makesrna/intern/rna_wm.c +++ b/source/blender/makesrna/intern/rna_wm.c @@ -961,6 +961,11 @@ static StructRNA *rna_Operator_register(bContext *C, ReportList *reports, void * return dummyot.ext.srna; } +void **rna_Operator_instance(PointerRNA *ptr) +{ + wmOperator *op = ptr->data; + return &op->py_instance; +} static StructRNA *rna_MacroOperator_register(bContext *C, ReportList *reports, void *data, const char *identifier, StructValidateFunc validate, StructCallbackFunc call, StructFreeFunc free) { @@ -1161,7 +1166,7 @@ static void rna_def_operator(BlenderRNA *brna) RNA_def_struct_sdna(srna, "wmOperator"); RNA_def_struct_refine_func(srna, "rna_Operator_refine"); #ifdef WITH_PYTHON - RNA_def_struct_register_funcs(srna, "rna_Operator_register", "rna_Operator_unregister"); + RNA_def_struct_register_funcs(srna, "rna_Operator_register", "rna_Operator_unregister", "rna_Operator_instance"); #endif prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE); @@ -1230,7 +1235,7 @@ static void rna_def_macro_operator(BlenderRNA *brna) RNA_def_struct_sdna(srna, "wmOperator"); RNA_def_struct_refine_func(srna, "rna_MacroOperator_refine"); #ifdef WITH_PYTHON - RNA_def_struct_register_funcs(srna, "rna_MacroOperator_register", "rna_Operator_unregister"); + RNA_def_struct_register_funcs(srna, "rna_MacroOperator_register", "rna_Operator_unregister", "rna_Operator_instance"); #endif prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE); diff --git a/source/blender/makesrna/intern/rna_world.c b/source/blender/makesrna/intern/rna_world.c index 7166d51da5a..eb9cb5c2270 100644 --- a/source/blender/makesrna/intern/rna_world.c +++ b/source/blender/makesrna/intern/rna_world.c @@ -48,6 +48,8 @@ #include "BKE_main.h" #include "BKE_texture.h" +#include "ED_node.h" + #include "WM_api.h" static PointerRNA rna_World_lighting_get(PointerRNA *ptr) @@ -121,6 +123,14 @@ static void rna_World_stars_update(Main *bmain, Scene *scene, PointerRNA *ptr) WM_main_add_notifier(NC_WORLD|ND_WORLD_STARS, wo); } +static void rna_World_use_nodes_set(PointerRNA *ptr, int value) +{ + World *wrld= (World*)ptr->data; + + wrld->use_nodes= value; + if(wrld->use_nodes && wrld->nodetree==NULL) + ED_node_shader_default(&wrld->id); +} #else @@ -566,6 +576,17 @@ void RNA_def_world(BlenderRNA *brna) RNA_def_property_pointer_funcs(prop, "rna_World_stars_get", NULL, NULL, NULL); RNA_def_property_ui_text(prop, "Stars", "World stars settings"); + /* nodes */ + prop= RNA_def_property(srna, "node_tree", PROP_POINTER, PROP_NONE); + RNA_def_property_pointer_sdna(prop, NULL, "nodetree"); + RNA_def_property_ui_text(prop, "Node Tree", "Node tree for node based worlds"); + + prop= RNA_def_property(srna, "use_nodes", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "use_nodes", 1); + RNA_def_property_boolean_funcs(prop, NULL, "rna_World_use_nodes_set"); + RNA_def_property_ui_text(prop, "Use Nodes", "Use shader nodes to render the world"); + RNA_def_property_update(prop, 0, "rna_World_update"); + rna_def_lighting(brna); rna_def_world_mist(brna); rna_def_world_stars(brna); diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c index fc9958b08d0..e3e09f660aa 100644 --- a/source/blender/modifiers/intern/MOD_subsurf.c +++ b/source/blender/modifiers/intern/MOD_subsurf.c @@ -91,7 +91,7 @@ static int isDisabled(ModifierData *md, int useRenderParams) return get_render_subsurf_level(&md->scene->r, levels) == 0; } -static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob), +static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *derivedData, int useRenderParams, int isFinalCalc) @@ -100,7 +100,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob), DerivedMesh *result; result = subsurf_make_derived_from_derived(derivedData, smd, - useRenderParams, NULL, isFinalCalc, 0); + useRenderParams, NULL, isFinalCalc, 0, (ob->flag & OB_MODE_EDIT)); if(useRenderParams || !isFinalCalc) { DerivedMesh *cddm= CDDM_copy(result); @@ -111,7 +111,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob), return result; } -static DerivedMesh *applyModifierEM(ModifierData *md, Object *UNUSED(ob), +static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob, struct EditMesh *UNUSED(editData), DerivedMesh *derivedData) { @@ -119,7 +119,7 @@ static DerivedMesh *applyModifierEM(ModifierData *md, Object *UNUSED(ob), DerivedMesh *result; result = subsurf_make_derived_from_derived(derivedData, smd, 0, - NULL, 0, 1); + NULL, 0, 1, 1); return result; } diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt index efd5523f5b2..b5a902f9f0d 100644 --- a/source/blender/nodes/CMakeLists.txt +++ b/source/blender/nodes/CMakeLists.txt @@ -113,6 +113,38 @@ set(SRC intern/SHD_nodes/SHD_valToRgb.c intern/SHD_nodes/SHD_value.c intern/SHD_nodes/SHD_vectMath.c + intern/SHD_nodes/SHD_attribute.c + intern/SHD_nodes/SHD_background.c + intern/SHD_nodes/SHD_bsdf_anisotropic.c + intern/SHD_nodes/SHD_bsdf_diffuse.c + intern/SHD_nodes/SHD_bsdf_glossy.c + intern/SHD_nodes/SHD_bsdf_glass.c + intern/SHD_nodes/SHD_bsdf_translucent.c + intern/SHD_nodes/SHD_bsdf_transparent.c + intern/SHD_nodes/SHD_bsdf_velvet.c + intern/SHD_nodes/SHD_emission.c + intern/SHD_nodes/SHD_fresnel.c + intern/SHD_nodes/SHD_geometry.c + intern/SHD_nodes/SHD_light_path.c + intern/SHD_nodes/SHD_mix_closure.c + intern/SHD_nodes/SHD_add_closure.c + intern/SHD_nodes/SHD_output_lamp.c + intern/SHD_nodes/SHD_output_material.c + intern/SHD_nodes/SHD_output_world.c + intern/SHD_nodes/SHD_tex_blend.c + intern/SHD_nodes/SHD_tex_clouds.c + intern/SHD_nodes/SHD_tex_coord.c + intern/SHD_nodes/SHD_tex_distnoise.c + intern/SHD_nodes/SHD_tex_image.c + intern/SHD_nodes/SHD_tex_environment.c + intern/SHD_nodes/SHD_tex_magic.c + intern/SHD_nodes/SHD_tex_marble.c + intern/SHD_nodes/SHD_tex_musgrave.c + intern/SHD_nodes/SHD_tex_noise.c + intern/SHD_nodes/SHD_tex_sky.c + intern/SHD_nodes/SHD_tex_stucci.c + intern/SHD_nodes/SHD_tex_voronoi.c + intern/SHD_nodes/SHD_tex_wood.c intern/SHD_util.c intern/TEX_nodes/TEX_at.c intern/TEX_nodes/TEX_bricks.c diff --git a/source/blender/nodes/SHD_node.h b/source/blender/nodes/SHD_node.h index 80e5eec6893..7e8ed741b02 100644 --- a/source/blender/nodes/SHD_node.h +++ b/source/blender/nodes/SHD_node.h @@ -43,30 +43,49 @@ /* the type definitions array */ /* ****************** types array for all shaders ****************** */ -void register_node_type_sh_output(ListBase *lb); -void register_node_type_sh_material(ListBase *lb); -void register_node_type_sh_camera(ListBase *lb); void register_node_type_sh_value(ListBase *lb); void register_node_type_sh_rgb(ListBase *lb); -void register_node_type_sh_mix_rgb(ListBase *lb); -void register_node_type_sh_valtorgb(ListBase *lb); -void register_node_type_sh_rgbtobw(ListBase *lb); -void register_node_type_sh_texture(ListBase *lb); -void register_node_type_sh_normal(ListBase *lb); -void register_node_type_sh_geom(ListBase *lb); -void register_node_type_sh_mapping(ListBase *lb); -void register_node_type_sh_curve_vec(ListBase *lb); -void register_node_type_sh_curve_rgb(ListBase *lb); void register_node_type_sh_math(ListBase *lb); void register_node_type_sh_vect_math(ListBase *lb); -void register_node_type_sh_squeeze(ListBase *lb); -void register_node_type_sh_dynamic(ListBase *lb); -void register_node_type_sh_material_ext(ListBase *lb); -void register_node_type_sh_invert(ListBase *lb); -void register_node_type_sh_seprgb(ListBase *lb); -void register_node_type_sh_combrgb(ListBase *lb); -void register_node_type_sh_hue_sat(ListBase *lb); +void register_node_type_sh_mix_rgb(ListBase *lb); +void register_node_type_sh_rgbtobw(ListBase *lb); +void register_node_type_sh_mapping(ListBase *lb); + +void register_node_type_sh_attribute(ListBase *lb); +void register_node_type_sh_geometry(ListBase *lb); +void register_node_type_sh_light_path(ListBase *lb); +void register_node_type_sh_fresnel(ListBase *lb); +void register_node_type_sh_tex_coord(ListBase *lb); + +void register_node_type_sh_background(ListBase *lb); +void register_node_type_sh_bsdf_diffuse(ListBase *lb); +void register_node_type_sh_bsdf_glossy(ListBase *lb); +void register_node_type_sh_bsdf_glass(ListBase *lb); +void register_node_type_sh_bsdf_anisotropic(ListBase *lb); +void register_node_type_sh_bsdf_translucent(ListBase *lb); +void register_node_type_sh_bsdf_transparent(ListBase *lb); +void register_node_type_sh_bsdf_velvet(ListBase *lb); +void register_node_type_sh_emission(ListBase *lb); +void register_node_type_sh_mix_closure(ListBase *lb); +void register_node_type_sh_add_closure(ListBase *lb); + +void register_node_type_sh_output_lamp(ListBase *lb); +void register_node_type_sh_output_material(ListBase *lb); +void register_node_type_sh_output_world(ListBase *lb); + +void register_node_type_sh_tex_image(ListBase *lb); +void register_node_type_sh_tex_environment(ListBase *lb); +void register_node_type_sh_tex_sky(ListBase *lb); +void register_node_type_sh_tex_voronoi(ListBase *lb); +void register_node_type_sh_tex_blend(ListBase *lb); +void register_node_type_sh_tex_magic(ListBase *lb); +void register_node_type_sh_tex_marble(ListBase *lb); +void register_node_type_sh_tex_clouds(ListBase *lb); +void register_node_type_sh_tex_wood(ListBase *lb); +void register_node_type_sh_tex_musgrave(ListBase *lb); +void register_node_type_sh_tex_noise(ListBase *lb); +void register_node_type_sh_tex_stucci(ListBase *lb); +void register_node_type_sh_tex_distnoise(ListBase *lb); #endif - diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_add_closure.c b/source/blender/nodes/intern/SHD_nodes/SHD_add_closure.c new file mode 100644 index 00000000000..87d8a155cbf --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_add_closure.c @@ -0,0 +1,64 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_add_closure_in[]= { + { SOCK_CLOSURE, 1, "Closure1", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_CLOSURE, 1, "Closure2", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_add_closure_out[]= { + { SOCK_CLOSURE, 1, "Closure", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_add_closure(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_add_closure(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_ADD_CLOSURE, "Add Closure", NODE_CLASS_CLOSURE, 0, + sh_node_add_closure_in, sh_node_add_closure_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_add_closure); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_attribute.c b/source/blender/nodes/intern/SHD_nodes/SHD_attribute.c new file mode 100644 index 00000000000..99678e1acd8 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_attribute.c @@ -0,0 +1,59 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_attribute_out[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_attribute(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + + +/* node type definition */ +void register_node_type_sh_attribute(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_ATTRIBUTE, "Attribute", NODE_CLASS_INPUT, 0, + NULL, sh_node_attribute_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_attribute); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_background.c b/source/blender/nodes/intern/SHD_nodes/SHD_background.c new file mode 100644 index 00000000000..5156e8bde41 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_background.c @@ -0,0 +1,65 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_background_in[]= { + { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Strength", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_background_out[]= { + { SOCK_CLOSURE, 1, "Background", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_background(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + + +/* node type definition */ +void register_node_type_sh_background(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_BACKGROUND, "Background", NODE_CLASS_CLOSURE, 0, + sh_node_background_in, sh_node_background_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_background); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c new file mode 100644 index 00000000000..207ca361ff7 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c @@ -0,0 +1,65 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_bsdf_anisotropic_in[]= { + { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Roughness U", 0.2f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Roughness V", 0.2f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_bsdf_anisotropic_out[]= { + { SOCK_CLOSURE, 1, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_bsdf_anisotropic(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_bsdf_anisotropic(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_BSDF_ANISOTROPIC, "Glossy Anisotropic BSDF", NODE_CLASS_CLOSURE, 0, + sh_node_bsdf_anisotropic_in, sh_node_bsdf_anisotropic_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_bsdf_anisotropic); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c new file mode 100644 index 00000000000..0d5aaf3a4dc --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c @@ -0,0 +1,63 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_bsdf_diffuse_in[]= { + { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_bsdf_diffuse_out[]= { + { SOCK_CLOSURE, 1, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_bsdf_diffuse(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_bsdf_diffuse(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_BSDF_DIFFUSE, "Diffuse BSDF", NODE_CLASS_CLOSURE, 0, + sh_node_bsdf_diffuse_in, sh_node_bsdf_diffuse_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_bsdf_diffuse); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c new file mode 100644 index 00000000000..04a7e17078d --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c @@ -0,0 +1,83 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_bsdf_glass_in[]= { + { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Roughness", 0.2f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Fresnel", 0.3f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_bsdf_glass_out[]= { + { SOCK_CLOSURE, 1, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_bsdf_glass(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +bNodeType sh_node_bsdf_glass= { + /* *next,*prev */ NULL, NULL, + /* type code */ SH_NODE_BSDF_GLASS, + /* name */ "Glass BSDF", + /* width+range */ 150, 60, 200, + /* class+opts */ NODE_CLASS_CLOSURE, 0, + /* input sock */ sh_node_bsdf_glass_in, + /* output sock */ sh_node_bsdf_glass_out, + /* storage */ "", + /* execfunc */ node_shader_exec_bsdf_glass, + /* butfunc */ NULL, + /* initfunc */ NULL, + /* freestoragefunc */ NULL, + /* copystoragefunc */ NULL, + /* id */ NULL, NULL, NULL, + /* gpufunc */ NULL + +}; +/* node type definition */ +void register_node_type_sh_bsdf_glass(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_BSDF_GLASS, "Glass BSDF", NODE_CLASS_CLOSURE, 0, + sh_node_bsdf_glass_in, sh_node_bsdf_glass_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_bsdf_glass); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c new file mode 100644 index 00000000000..b3a00b251df --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c @@ -0,0 +1,65 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_bsdf_glossy_in[]= { + { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Roughness", 0.2f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Fresnel", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_bsdf_glossy_out[]= { + { SOCK_CLOSURE, 1, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_bsdf_glossy(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_bsdf_glossy(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_BSDF_GLOSSY, "Glossy BSDF", NODE_CLASS_CLOSURE, 0, + sh_node_bsdf_glossy_in, sh_node_bsdf_glossy_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_bsdf_glossy); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c new file mode 100644 index 00000000000..a6c8dfcda7f --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c @@ -0,0 +1,63 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_bsdf_translucent_in[]= { + { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_bsdf_translucent_out[]= { + { SOCK_CLOSURE, 1, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_bsdf_translucent(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_bsdf_translucent(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_BSDF_TRANSLUCENT, "Translucent BSDF", NODE_CLASS_CLOSURE, 0, + sh_node_bsdf_translucent_in, sh_node_bsdf_translucent_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_bsdf_translucent); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c new file mode 100644 index 00000000000..e496525e281 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c @@ -0,0 +1,63 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_bsdf_transparent_in[]= { + { SOCK_RGBA, 1, "Color", 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_bsdf_transparent_out[]= { + { SOCK_CLOSURE, 1, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_bsdf_transparent(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_bsdf_transparent(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_BSDF_TRANSPARENT, "Transparent BSDF", NODE_CLASS_CLOSURE, 0, + sh_node_bsdf_transparent_in, sh_node_bsdf_transparent_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_bsdf_transparent); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c new file mode 100644 index 00000000000..4ed78f4ad9f --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c @@ -0,0 +1,65 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_bsdf_velvet_in[]= { + { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Sigma", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Fresnel", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_bsdf_velvet_out[]= { + { SOCK_CLOSURE, 1, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_bsdf_velvet(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_bsdf_velvet(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_BSDF_VELVET, "Velvet BSDF", NODE_CLASS_CLOSURE, 0, + sh_node_bsdf_velvet_in, sh_node_bsdf_velvet_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_bsdf_velvet); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_emission.c b/source/blender/nodes/intern/SHD_nodes/SHD_emission.c new file mode 100644 index 00000000000..81f6a08d7e5 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_emission.c @@ -0,0 +1,64 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_emission_in[]= { + { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Strength", 100.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_emission_out[]= { + { SOCK_CLOSURE, 1, "Emission", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_emission(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_emission(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_EMISSION, "Emission", NODE_CLASS_CLOSURE, 0, + sh_node_emission_in, sh_node_emission_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_emission); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_fresnel.c b/source/blender/nodes/intern/SHD_nodes/SHD_fresnel.c new file mode 100644 index 00000000000..3ac2b7f3557 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_fresnel.c @@ -0,0 +1,62 @@ +/** + * $Id: SHD_fresnel.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** Fresnel ******************** */ +static bNodeSocketType sh_node_fresnel_in[]= { + { SOCK_VALUE, 1, "Fresnel", 0.3f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_fresnel_out[]= { + { SOCK_VALUE, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_fresnel(void *UNUSED(data), bNode *node, bNodeStack **UNUSED(in), bNodeStack **out) +{ +} + +/* node type definition */ +void register_node_type_sh_fresnel(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_FRESNEL, "Fresnel", NODE_CLASS_INPUT, 0, + sh_node_fresnel_in, sh_node_fresnel_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_fresnel); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_geom.c b/source/blender/nodes/intern/SHD_nodes/SHD_geom.c index 379f54bec57..0c42995305c 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_geom.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_geom.c @@ -140,7 +140,7 @@ void register_node_type_sh_geom(ListBase *lb) { static bNodeType ntype; - node_type_base(&ntype, SH_NODE_GEOMETRY, "Geometry", NODE_CLASS_INPUT, NODE_OPTIONS, + node_type_base(&ntype, SH_NODE_GEOM, "Geometry", NODE_CLASS_INPUT, NODE_OPTIONS, NULL, sh_node_geom_out); node_type_size(&ntype, 120, 80, 160); node_type_init(&ntype, node_shader_init_geometry); diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_geometry.c b/source/blender/nodes/intern/SHD_nodes/SHD_geometry.c new file mode 100644 index 00000000000..0f6226e9fff --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_geometry.c @@ -0,0 +1,64 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_geometry_out[]= { + { SOCK_VECTOR, 1, "Position", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 1, "Tangent", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 1, "True Normal", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 1, "Incoming", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 1, "UV", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Backfacing", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_geometry(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_geometry(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_GEOMETRY, "Geometry", NODE_CLASS_INPUT, 0, + NULL, sh_node_geometry_out); + node_type_size(&ntype, 120, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_geometry); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_hueSatVal.c b/source/blender/nodes/intern/SHD_nodes/SHD_hueSatVal.c index 91fd995dbbe..5cfc1f59336 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_hueSatVal.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_hueSatVal.c @@ -95,5 +95,3 @@ void register_node_type_sh_hue_sat(ListBase *lb) nodeRegisterType(lb, &ntype); } - - diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_light_path.c b/source/blender/nodes/intern/SHD_nodes/SHD_light_path.c new file mode 100644 index 00000000000..b0e2f1430ac --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_light_path.c @@ -0,0 +1,63 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_light_path_out[]= { + { SOCK_VALUE, 1, "Is Camera Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Is Shadow Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Is Diffuse Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Is Glossy Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Is Reflection Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Is Transmission Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_light_path(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_light_path(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_LIGHT_PATH, "Light Path", NODE_CLASS_INPUT, 0, + NULL, sh_node_light_path_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_light_path); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_math.c b/source/blender/nodes/intern/SHD_nodes/SHD_math.c index dd0a564dc4b..70e91fa9b8a 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_math.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_math.c @@ -37,8 +37,8 @@ /* **************** SCALAR MATH ******************** */ static bNodeSocketType sh_node_math_in[]= { - { SOCK_VALUE, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f}, - { SOCK_VALUE, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f}, + { SOCK_VALUE, 1, "Value1", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f}, + { SOCK_VALUE, 1, "Value2", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_mix_closure.c b/source/blender/nodes/intern/SHD_nodes/SHD_mix_closure.c new file mode 100644 index 00000000000..6aaa9271737 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_mix_closure.c @@ -0,0 +1,65 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_mix_closure_in[]= { + { SOCK_VALUE, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_CLOSURE, 1, "Closure1", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_CLOSURE, 1, "Closure2", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_mix_closure_out[]= { + { SOCK_CLOSURE, 1, "Closure", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_mix_closure(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_mix_closure(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_MIX_CLOSURE, "Mix Closure", NODE_CLASS_CLOSURE, 0, + sh_node_mix_closure_in, sh_node_mix_closure_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_mix_closure); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_output_lamp.c b/source/blender/nodes/intern/SHD_nodes/SHD_output_lamp.c new file mode 100644 index 00000000000..71ed8d67a98 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_output_lamp.c @@ -0,0 +1,58 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_output_lamp_in[]= { + { SOCK_CLOSURE, 1, "Surface", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_output_lamp(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_output_lamp(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_OUTPUT_LAMP, "Lamp Output", NODE_CLASS_OUTPUT, 0, + sh_node_output_lamp_in, NULL); + node_type_size(&ntype, 120, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_output_lamp); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_output_material.c b/source/blender/nodes/intern/SHD_nodes/SHD_output_material.c new file mode 100644 index 00000000000..98db624cda6 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_output_material.c @@ -0,0 +1,60 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_output_material_in[]= { + { SOCK_CLOSURE, 1, "Surface", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_CLOSURE, 1, "Volume", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Displacement", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, + { -1, 0, "" } +}; + +static void node_shader_exec_output_material(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_output_material(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_OUTPUT_MATERIAL, "Material Output", NODE_CLASS_OUTPUT, 0, + sh_node_output_material_in, NULL); + node_type_size(&ntype, 120, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_output_material); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_output_world.c b/source/blender/nodes/intern/SHD_nodes/SHD_output_world.c new file mode 100644 index 00000000000..20f7faeea7a --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_output_world.c @@ -0,0 +1,59 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_output_world_in[]= { + { SOCK_CLOSURE, 1, "Surface", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_CLOSURE, 1, "Volume", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_output_world(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_output_world(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_OUTPUT_WORLD, "World Output", NODE_CLASS_OUTPUT, 0, + sh_node_output_world_in, NULL); + node_type_size(&ntype, 120, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_output_world); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c new file mode 100644 index 00000000000..fdb73f7f814 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c @@ -0,0 +1,72 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_tex_blend_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_tex_blend_out[]= { + { SOCK_VALUE, 1, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_blend(bNode *node) +{ + NodeTexBlend *tex = MEM_callocN(sizeof(NodeTexBlend), "NodeTexBlend"); + tex->progression = SHD_BLEND_LINEAR; + tex->axis = SHD_BLEND_HORIZONTAL; + + node->storage = tex; +} + +static void node_shader_exec_tex_blend(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_tex_blend(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_BLEND, "Blend Texture", NODE_CLASS_TEXTURE, 0, + sh_node_tex_blend_in, sh_node_tex_blend_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_blend); + node_type_storage(&ntype, "NodeTexBlend", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_blend); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c new file mode 100644 index 00000000000..01b62e1e982 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c @@ -0,0 +1,75 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_tex_clouds_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, + { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_tex_clouds_out[]= { + { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_clouds(bNode *node) +{ + NodeTexClouds *tex = MEM_callocN(sizeof(NodeTexClouds), "NodeTexClouds"); + tex->basis = SHD_NOISE_PERLIN; + tex->hard = 0; + tex->depth = 2; + + node->storage = tex; +} + +static void node_shader_exec_tex_clouds(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_tex_clouds(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_CLOUDS, "Clouds Texture", NODE_CLASS_TEXTURE, 0, + sh_node_tex_clouds_in, sh_node_tex_clouds_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_clouds); + node_type_storage(&ntype, "NodeTexClouds", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_clouds); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_coord.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_coord.c new file mode 100644 index 00000000000..ffc2ad447a4 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_coord.c @@ -0,0 +1,63 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_tex_coord_out[]= { + { SOCK_VECTOR, 1, "Generated", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 1, "UV", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 1, "Object", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 1, "Camera", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 1, "Window", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 1, "Reflection", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_tex_coord(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_tex_coord(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_COORD, "Texture Coordinate", NODE_CLASS_INPUT, 0, + NULL, sh_node_tex_coord_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_tex_coord); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c new file mode 100644 index 00000000000..323b0505eac --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c @@ -0,0 +1,74 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_tex_distnoise_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, + { SOCK_VALUE, 1, "Size", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_VALUE, 1, "Distortion", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_tex_distnoise_out[]= { + { SOCK_VALUE, 1, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_distorted_noise(bNode *node) +{ + NodeTexDistortedNoise *tex = MEM_callocN(sizeof(NodeTexDistortedNoise), "NodeTexDistortedNoise"); + tex->basis = SHD_NOISE_PERLIN; + tex->distortion_basis = SHD_NOISE_PERLIN; + + node->storage = tex; +} + +static void node_shader_exec_tex_distnoise(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_tex_distnoise(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_DISTNOISE, "Distorted Noise Texture", NODE_CLASS_TEXTURE, 0, + sh_node_tex_distnoise_in, sh_node_tex_distnoise_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_distorted_noise); + node_type_storage(&ntype, "NodeTexDistortedNoise", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_distnoise); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c new file mode 100644 index 00000000000..fbd9cf96108 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c @@ -0,0 +1,70 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_tex_environment_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_tex_environment_out[]= { + { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_environment(bNode *node) +{ + NodeTexEnvironment *tex = MEM_callocN(sizeof(NodeTexEnvironment), "NodeTexEnvironment"); + + node->storage = tex; +} + +static void node_shader_exec_tex_environment(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_tex_environment(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_ENVIRONMENT, "Environment Texture", NODE_CLASS_TEXTURE, 0, + sh_node_tex_environment_in, sh_node_tex_environment_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_environment); + node_type_storage(&ntype, "NodeTexEnvironment", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_environment); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c new file mode 100644 index 00000000000..9d40d3b145c --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c @@ -0,0 +1,70 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_tex_image_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_tex_image_out[]= { + { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_image(bNode *node) +{ + NodeTexImage *tex = MEM_callocN(sizeof(NodeTexImage), "NodeTexImage"); + + node->storage = tex; +} + +static void node_shader_exec_tex_image(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_tex_image(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_IMAGE, "Image Texture", NODE_CLASS_TEXTURE, 0, + sh_node_tex_image_in, sh_node_tex_image_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_image); + node_type_storage(&ntype, "NodeTexImage", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_image); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c new file mode 100644 index 00000000000..80ff32a3be3 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c @@ -0,0 +1,72 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_tex_magic_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, + { SOCK_VALUE, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_tex_magic_out[]= { + { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_magic(bNode *node) +{ + NodeTexMagic *tex = MEM_callocN(sizeof(NodeTexMagic), "NodeTexMagic"); + tex->depth = 2; + + node->storage = tex; +} + +static void node_shader_exec_tex_magic(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_tex_magic(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_MAGIC, "Magic Texture", NODE_CLASS_TEXTURE, 0, + sh_node_tex_magic_in, sh_node_tex_magic_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_magic); + node_type_storage(&ntype, "NodeTexMagic", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_magic); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c new file mode 100644 index 00000000000..69908342aac --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c @@ -0,0 +1,77 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_tex_marble_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, + { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_VALUE, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_tex_marble_out[]= { + { SOCK_VALUE, 1, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_marble(bNode *node) +{ + NodeTexMarble *tex = MEM_callocN(sizeof(NodeTexMarble), "NodeTexMarble"); + tex->type = SHD_MARBLE_SOFT; + tex->wave = SHD_WAVE_SINE; + tex->basis = SHD_NOISE_PERLIN; + tex->hard = 0; + tex->depth = 2; + + node->storage = tex; +} + +static void node_shader_exec_tex_marble(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_tex_marble(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_MARBLE, "Marble Texture", NODE_CLASS_TEXTURE, 0, + sh_node_tex_marble_in, sh_node_tex_marble_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_marble); + node_type_storage(&ntype, "NodeTexMarble", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_marble); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c new file mode 100644 index 00000000000..2ade58571ce --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c @@ -0,0 +1,78 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_tex_musgrave_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, + { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_VALUE, 1, "Dimension", 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_VALUE, 1, "Lacunarity", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_VALUE, 1, "Octaves", 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_VALUE, 1, "Offset", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_VALUE, 1, "Gain", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_tex_musgrave_out[]= { + { SOCK_VALUE, 1, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_musgrave(bNode *node) +{ + NodeTexMusgrave *tex = MEM_callocN(sizeof(NodeTexMusgrave), "NodeTexMusgrave"); + tex->type = SHD_MUSGRAVE_FBM; + tex->basis = SHD_NOISE_PERLIN; + + node->storage = tex; +} + +static void node_shader_exec_tex_musgrave(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_tex_musgrave(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_MUSGRAVE, "Musgrave Texture", NODE_CLASS_TEXTURE, 0, + sh_node_tex_musgrave_in, sh_node_tex_musgrave_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_musgrave); + node_type_storage(&ntype, "NodeTexMusgrave", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_musgrave); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c new file mode 100644 index 00000000000..9dd1c6ca2d7 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c @@ -0,0 +1,64 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_tex_noise_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_tex_noise_out[]= { + { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_tex_noise(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_tex_noise(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_NOISE, "Noise Texture", NODE_CLASS_TEXTURE, 0, + sh_node_tex_noise_in, sh_node_tex_noise_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_tex_noise); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c new file mode 100644 index 00000000000..5deb180fd56 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c @@ -0,0 +1,74 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_tex_sky_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_tex_sky_out[]= { + { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_sky(bNode *node) +{ + NodeTexSky *tex = MEM_callocN(sizeof(NodeTexSky), "NodeTexSky"); + tex->sun_direction[0] = 0.0f; + tex->sun_direction[1] = 0.0f; + tex->sun_direction[2] = 1.0f; + tex->turbidity = 2.2f; + + node->storage = tex; +} + +static void node_shader_exec_tex_sky(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_tex_sky(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_SKY, "Sky Texture", NODE_CLASS_TEXTURE, 0, + sh_node_tex_sky_in, sh_node_tex_sky_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_sky); + node_type_storage(&ntype, "NodeTexSky", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_sky); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c new file mode 100644 index 00000000000..eec76a1538f --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c @@ -0,0 +1,75 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_tex_stucci_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, + { SOCK_VALUE, 1, "Size", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_VALUE, 1, "Turbulence", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_tex_stucci_out[]= { + { SOCK_VALUE, 1, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_stucci(bNode *node) +{ + NodeTexStucci *tex = MEM_callocN(sizeof(NodeTexStucci), "NodeTexStucci"); + tex->type = SHD_STUCCI_PLASTIC; + tex->basis = SHD_NOISE_PERLIN; + tex->hard = 0; + + node->storage = tex; +} + +static void node_shader_exec_tex_stucci(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_tex_stucci(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_STUCCI, "Stucci Texture", NODE_CLASS_TEXTURE, 0, + sh_node_tex_stucci_in, sh_node_tex_stucci_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_stucci); + node_type_storage(&ntype, "NodeTexStucci", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_stucci); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c new file mode 100644 index 00000000000..2ea85beeb89 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c @@ -0,0 +1,79 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_tex_voronoi_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, + { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_VALUE, 1, "Weight1", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f}, + { SOCK_VALUE, 1, "Weight2", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f}, + { SOCK_VALUE, 1, "Weight3", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f}, + { SOCK_VALUE, 1, "Weight4", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f}, + { SOCK_VALUE, 1, "Exponent", 2.5f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_tex_voronoi_out[]= { + { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_voronoi(bNode *node) +{ + NodeTexVoronoi *tex = MEM_callocN(sizeof(NodeTexVoronoi), "NodeTexVoronoi"); + tex->distance_metric = SHD_VORONOI_ACTUAL_DISTANCE; + tex->coloring = SHD_VORONOI_INTENSITY; + + node->storage = tex; +} + +static void node_shader_exec_tex_voronoi(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_tex_voronoi(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_VORONOI, "Voronoi Texture", NODE_CLASS_TEXTURE, 0, + sh_node_tex_voronoi_in, sh_node_tex_voronoi_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_voronoi); + node_type_storage(&ntype, "NodeTexVoronoi", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_voronoi); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c new file mode 100644 index 00000000000..ed7960fabb0 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c @@ -0,0 +1,76 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_tex_wood_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, + { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_VALUE, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_tex_wood_out[]= { + { SOCK_VALUE, 1, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_wood(bNode *node) +{ + NodeTexWood *tex = MEM_callocN(sizeof(NodeTexWood), "NodeTexWood"); + tex->type = SHD_WOOD_BANDS; + tex->wave = SHD_WAVE_SINE; + tex->basis = SHD_NOISE_PERLIN; + tex->hard = 0; + + node->storage = tex; +} + +static void node_shader_exec_tex_wood(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_tex_wood(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_WOOD, "Wood Texture", NODE_CLASS_TEXTURE, 0, + sh_node_tex_wood_in, sh_node_tex_wood_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_wood); + node_type_storage(&ntype, "NodeTexWood", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_wood); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c index 19cd9df9403..e51b03191d8 100644 --- a/source/blender/python/intern/bpy_rna.c +++ b/source/blender/python/intern/bpy_rna.c @@ -5839,17 +5839,18 @@ static int bpy_class_call(bContext *C, PointerRNA *ptr, FunctionRNA *func, Param bpy_context_set(C, &gilstate); if (!is_static) { - /* exception, operators store their PyObjects for re-use */ + /* some datatypes (operator, render engine) can store PyObjects for re-use */ if(ptr->data) { - if(RNA_struct_is_a(ptr->type, &RNA_Operator)) { - wmOperator *op= ptr->data; - if(op->py_instance) { - py_class_instance= op->py_instance; + void **instance = RNA_struct_instance(ptr); + + if(instance) { + if(*instance) { + py_class_instance= *instance; Py_INCREF(py_class_instance); } else { /* store the instance here once its created */ - py_class_instance_store= &op->py_instance; + py_class_instance_store= instance; } } } diff --git a/source/blender/render/CMakeLists.txt b/source/blender/render/CMakeLists.txt index f00e54c1796..cc69760415b 100644 --- a/source/blender/render/CMakeLists.txt +++ b/source/blender/render/CMakeLists.txt @@ -115,8 +115,13 @@ set(SRC intern/raytrace/vbvh.h ) -if(WITH_IMAGE_OPENEXR) - add_definitions(-DWITH_OPENEXR) +IF(WITH_PYTHON) + ADD_DEFINITIONS(-DWITH_PYTHON) + LIST(APPEND INC ../python ${PYTHON_INC}) +endif() + +IF(WITH_IMAGE_OPENEXR) + ADD_DEFINITIONS(-DWITH_OPENEXR) endif() if(WITH_CODEC_QUICKTIME) diff --git a/source/blender/render/SConscript b/source/blender/render/SConscript index a402139b927..e175d81b806 100644 --- a/source/blender/render/SConscript +++ b/source/blender/render/SConscript @@ -14,6 +14,13 @@ cxxflags_raytrace = env['CXXFLAGS'] defs = [] defs_raytrace = [] +if env['WITH_BF_PYTHON']: + incs += ' ../python' + incs += ' ' + env['BF_PYTHON_INC'] + defs.append('WITH_PYTHON') + if env['BF_DEBUG']: + defs.append('DEBUG') + if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'): if env['WITH_BF_RAYOPTIMIZATION']: cflags_raytrace = env['CCFLAGS'] + env['BF_RAYOPTIMIZATION_SSE_FLAGS'] diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h index 4cc3207a05e..65b03e85ca0 100644 --- a/source/blender/render/extern/include/RE_pipeline.h +++ b/source/blender/render/extern/include/RE_pipeline.h @@ -281,6 +281,8 @@ typedef struct RenderEngineType { int flag; void (*render)(struct RenderEngine *engine, struct Scene *scene); + void (*draw)(struct RenderEngine *engine, struct Scene *scene); + void (*update)(struct RenderEngine *engine, struct Scene *scene); /* RNA integration */ ExtensionRNA ext; @@ -290,17 +292,23 @@ typedef struct RenderEngine { RenderEngineType *type; struct Render *re; ListBase fullresult; + void *py_instance; + int do_draw; + int do_update; } RenderEngine; +RenderEngine *RE_engine_create(RenderEngineType *type); +void RE_engine_free(RenderEngine *engine); + void RE_layer_load_from_file(RenderLayer *layer, struct ReportList *reports, const char *filename, int x, int y); void RE_result_load_from_file(RenderResult *result, struct ReportList *reports, const char *filename); -struct RenderResult *RE_engine_begin_result(RenderEngine *engine, int x, int y, int w, int h); -void RE_engine_update_result(RenderEngine *engine, struct RenderResult *result); -void RE_engine_end_result(RenderEngine *engine, struct RenderResult *result); +LIBEXPORT struct RenderResult *RE_engine_begin_result(RenderEngine *engine, int x, int y, int w, int h); +LIBEXPORT void RE_engine_update_result(RenderEngine *engine, struct RenderResult *result); +LIBEXPORT void RE_engine_end_result(RenderEngine *engine, struct RenderResult *result); -int RE_engine_test_break(RenderEngine *engine); -void RE_engine_update_stats(RenderEngine *engine, const char *stats, const char *info); +LIBEXPORT int RE_engine_test_break(RenderEngine *engine); +LIBEXPORT void RE_engine_update_stats(RenderEngine *engine, const char *stats, const char *info); void RE_engines_init(void); void RE_engines_exit(void); diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 3e5b0b5a37b..41434d7e56d 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -70,6 +70,10 @@ #include "IMB_imbuf.h" #include "IMB_imbuf_types.h" +#ifdef WITH_PYTHON +#include "BPY_extern.h" +#endif + #include "intern/openexr/openexr_multi.h" #include "RE_pipeline.h" @@ -867,18 +871,39 @@ static void *ml_addlayer_cb(void *base, char *str) { RenderResult *rr= base; RenderLayer *rl; + + /* don't add if layer already exists */ + for(rl=rr->layers.first; rl; rl=rl->next) + if(strcmp(rl->name, str) == 0) + return rl; + /* add render layer */ rl= MEM_callocN(sizeof(RenderLayer), "new render layer"); BLI_addtail(&rr->layers, rl); BLI_strncpy(rl->name, str, EXR_LAY_MAXNAME); + rl->rectx = rr->rectx; + rl->recty = rr->recty; + return rl; } -static void ml_addpass_cb(void *UNUSED(base), void *lay, char *str, float *rect, int totchan, char *chan_id) +static void ml_addpass_cb(void *base, void *lay, char *str, float *rect, int totchan, char *chan_id) { + RenderResult *rr= base; RenderLayer *rl= lay; - RenderPass *rpass= MEM_callocN(sizeof(RenderPass), "loaded pass"); + RenderPass *rpass; int a; + + /* don't add if pass already exists */ + for(rpass=rl->passes.first; rpass; rpass=rpass->next) { + if(strcmp(rpass->name, str) == 0) { + MEM_freeN(rect); + return; + } + } + + /* add render pass */ + rpass = MEM_callocN(sizeof(RenderPass), "loaded pass"); BLI_addtail(&rl->passes, rpass); rpass->channels= totchan; @@ -892,6 +917,8 @@ static void ml_addpass_cb(void *UNUSED(base), void *lay, char *str, float *rect, for(a=0; achan_id[a]= chan_id[a]; + rpass->rectx = rr->rectx; + rpass->recty = rr->recty; rpass->rect= rect; } @@ -899,24 +926,12 @@ static void ml_addpass_cb(void *UNUSED(base), void *lay, char *str, float *rect, RenderResult *RE_MultilayerConvert(void *exrhandle, int rectx, int recty) { RenderResult *rr= MEM_callocN(sizeof(RenderResult), "loaded render result"); - RenderLayer *rl; - RenderPass *rpass; rr->rectx= rectx; rr->recty= recty; IMB_exr_multilayer_convert(exrhandle, rr, ml_addlayer_cb, ml_addpass_cb); - for(rl=rr->layers.first; rl; rl=rl->next) { - rl->rectx= rectx; - rl->recty= recty; - - for(rpass=rl->passes.first; rpass; rpass=rpass->next) { - rpass->rectx= rectx; - rpass->recty= recty; - } - } - return rr; } @@ -932,7 +947,7 @@ static void renderresult_add_names(RenderResult *rr) } /* called for reading temp files, and for external engines */ -static int read_render_result_from_file(const char *filename, RenderResult *rr) +static int read_render_result_from_file(const char *filename, RenderResult *rr, int external) { RenderLayer *rl; RenderPass *rpass; @@ -976,7 +991,7 @@ static int read_render_result_from_file(const char *filename, RenderResult *rr) IMB_exr_read_channels(exrhandle); renderresult_add_names(rr); } - + IMB_exr_close(exrhandle); return 1; @@ -995,7 +1010,7 @@ static void read_render_result(Render *re, int sample) render_unique_exr_name(re, str, sample); printf("read exr tmp file: %s\n", str); - if(!read_render_result_from_file(str, re->result)) + if(!read_render_result_from_file(str, re->result, 0)) printf("cannot read: %s\n", str); BLI_rw_mutex_unlock(&re->resultmutex); @@ -3210,6 +3225,27 @@ void RE_init_threadcount(Render *re) /************************** External Engines ***************************/ +RenderEngine *RE_engine_create(RenderEngineType *type) +{ + RenderEngine *engine = MEM_callocN(sizeof(RenderEngine), "RenderEngine"); + engine->type= type; + + return engine; +} + +void RE_engine_free(RenderEngine *engine) +{ +#ifdef WITH_PYTHON + if(engine->py_instance) { + /* do this first incase there are any __del__ functions or + * similar that use properties */ + BPY_DECREF(engine->py_instance); + } +#endif + + MEM_freeN(engine); +} + RenderResult *RE_engine_begin_result(RenderEngine *engine, int x, int y, int w, int h) { Render *re= engine->re; @@ -3233,13 +3269,8 @@ RenderResult *RE_engine_begin_result(RenderEngine *engine, int x, int y, int w, disprect.ymin= y; disprect.ymax= y+h; - if(0) { // XXX (re->r.scemode & R_FULL_SAMPLE)) { - result= new_full_sample_buffers(re, &engine->fullresult, &disprect, 0); - } - else { - result= new_render_result(re, &disprect, 0, RR_USEMEM); - BLI_addtail(&engine->fullresult, result); - } + result= new_render_result(re, &disprect, 0, RR_USEMEM); + BLI_addtail(&engine->fullresult, result); return result; } @@ -3262,14 +3293,7 @@ void RE_engine_end_result(RenderEngine *engine, RenderResult *result) return; /* merge */ - if(re->result->exrhandle) { - RenderResult *rr, *rrpart; - - // XXX crashes, exr expects very particular part sizes - for(rr= re->result, rrpart= result; rr && rrpart; rr= rr->next, rrpart= rrpart->next) - save_render_result_tile(rr, rrpart); - } - else if(render_display_draw_enabled(re)) { + if(render_display_draw_enabled(re)) { /* on break, don't merge in result for preview renders, looks nicer */ if(re->test_break(re->tbh) && (re->r.scemode & R_PREVIEWBUTS)); else merge_render_result(re->result, result); @@ -3347,16 +3371,28 @@ void RE_layer_load_from_file(RenderLayer *layer, ReportList *reports, const char void RE_result_load_from_file(RenderResult *result, ReportList *reports, const char *filename) { - if(!read_render_result_from_file(filename, result)) { + /* optionally also add layers/passes that were in the file but not setup + for rendering, useful for external render engines or network render */ + void *exrhandle= IMB_exr_get_handle(); + int rectx, recty; + + if(IMB_exr_begin_read(exrhandle, filename, &rectx, &recty)) + IMB_exr_multilayer_convert(exrhandle, result, ml_addlayer_cb, ml_addpass_cb); + + IMB_exr_close(exrhandle); + +#if 0 + if(!read_render_result_from_file(filename, result, 1)) { BKE_reportf(reports, RPT_ERROR, "RE_result_rect_from_file: failed to load '%s'\n", filename); return; } +#endif } static int external_render_3d(Render *re, int do_all) { RenderEngineType *type= BLI_findstring(&R_engines, re->r.engine, offsetof(RenderEngineType, idname)); - RenderEngine engine; + RenderEngine *engine; if(!(type && type->render)) return 0; @@ -3370,11 +3406,7 @@ static int external_render_3d(Render *re, int do_all) BLI_rw_mutex_lock(&re->resultmutex, THREAD_LOCK_WRITE); if(re->result==NULL || !(re->r.scemode & R_PREVIEWBUTS)) { RE_FreeRenderResult(re->result); - - if(0) // XXX re->r.scemode & R_FULL_SAMPLE) - re->result= new_full_sample_buffers_exr(re); - else - re->result= new_render_result(re, &re->disprect, 0, 0); // XXX re->r.scemode & (R_EXR_TILE_FILE|R_FULL_SAMPLE)); + re->result= new_render_result(re, &re->disprect, 0, 0); } BLI_rw_mutex_unlock(&re->resultmutex); @@ -3382,31 +3414,14 @@ static int external_render_3d(Render *re, int do_all) return 1; /* external */ - memset(&engine, 0, sizeof(engine)); - engine.type= type; - engine.re= re; + engine = RE_engine_create(type); + engine->re= re; - type->render(&engine, re->scene); + type->render(engine, re->scene); - free_render_result(&engine.fullresult, engine.fullresult.first); + free_render_result(&engine->fullresult, engine->fullresult.first); - BLI_rw_mutex_lock(&re->resultmutex, THREAD_LOCK_WRITE); - if(re->result->exrhandle) { - RenderResult *rr; - - save_empty_result_tiles(re); - - for(rr= re->result; rr; rr= rr->next) { - IMB_exr_close(rr->exrhandle); - rr->exrhandle= NULL; - } - - free_render_result(&re->fullresult, re->result); - re->result= NULL; - - read_render_result(re, 0); - } - BLI_rw_mutex_unlock(&re->resultmutex); + RE_engine_free(engine); return 1; } diff --git a/source/blender/windowmanager/intern/wm_draw.c b/source/blender/windowmanager/intern/wm_draw.c index c94ad74be72..70faa1d1e3c 100644 --- a/source/blender/windowmanager/intern/wm_draw.c +++ b/source/blender/windowmanager/intern/wm_draw.c @@ -57,6 +57,8 @@ #include "GPU_draw.h" #include "GPU_extensions.h" +#include "RE_pipeline.h" + #include "WM_api.h" #include "WM_types.h" #include "wm.h" @@ -115,6 +117,19 @@ static int wm_area_test_invalid_backbuf(ScrArea *sa) return 1; } +static void wm_region_test_render_do_draw(ScrArea *sa, ARegion *ar) +{ + if(sa->spacetype == SPACE_VIEW3D) { + RegionView3D *rv3d = ar->regiondata; + RenderEngine *engine = (rv3d)? rv3d->render_engine: NULL; + + if(engine && engine->do_draw) { + ar->do_draw = 1; + engine->do_draw = 0; + } + } +} + /********************** draw all **************************/ /* - reference method, draw all each time */ @@ -207,7 +222,7 @@ static void wm_method_draw_overlap_all(bContext *C, wmWindow *win, int exchange) for(sa= screen->areabase.first; sa; sa= sa->next) for(ar= sa->regionbase.first; ar; ar= ar->next) if(ar->swinid && !wm_area_test_invalid_backbuf(sa)) - ED_region_tag_redraw(ar); + ED_region_tag_redraw(ar); /* flush overlapping regions */ if(screen->regionbase.first) { @@ -664,13 +679,28 @@ static int wm_draw_update_test_window(wmWindow *win) { ScrArea *sa; ARegion *ar; + int do_draw= 0; for(ar= win->screen->regionbase.first; ar; ar= ar->next) { if(ar->do_draw_overlay) { wm_tag_redraw_overlay(win, ar); ar->do_draw_overlay= 0; } + if(ar->swinid && ar->do_draw) + do_draw= 1; } + + for(sa= win->screen->areabase.first; sa; sa= sa->next) { + for(ar=sa->regionbase.first; ar; ar= ar->next) { + wm_region_test_render_do_draw(sa, ar); + + if(ar->swinid && ar->do_draw) + do_draw = 1; + } + } + + if(do_draw) + return 1; if(win->screen->do_refresh) return 1; @@ -683,15 +713,6 @@ static int wm_draw_update_test_window(wmWindow *win) if(win->screen->do_draw_drag) return 1; - for(ar= win->screen->regionbase.first; ar; ar= ar->next) - if(ar->swinid && ar->do_draw) - return 1; - - for(sa= win->screen->areabase.first; sa; sa= sa->next) - for(ar=sa->regionbase.first; ar; ar= ar->next) - if(ar->swinid && ar->do_draw) - return 1; - return 0; } diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index feff0393b88..723df06a125 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -61,6 +61,7 @@ #include "ED_fileselect.h" #include "ED_info.h" +#include "ED_render.h" #include "ED_screen.h" #include "ED_view3d.h" #include "ED_util.h" @@ -309,6 +310,7 @@ void wm_event_do_notifiers(bContext *C) /* XXX make lock in future, or separated derivedmesh users in scene */ if(!G.rendering) { /* depsgraph & animation: update tagged datablocks */ + Main *bmain = CTX_data_main(C); /* copied to set's in scene_update_tagged_recursive() */ win->screen->scene->customdata_mask= win_combine_v3d_datamask; @@ -316,7 +318,9 @@ void wm_event_do_notifiers(bContext *C) /* XXX, hack so operators can enforce datamasks [#26482], gl render */ win->screen->scene->customdata_mask |= win->screen->scene->customdata_mask_modal; - scene_update_tagged(CTX_data_main(C), win->screen->scene); + scene_update_tagged(bmain, win->screen->scene); + + ED_render_engine_update_tagged(bmain); } } diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index 87850528648..bb6eaf3a54d 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -226,6 +226,19 @@ else() set(TARGETDIR ${EXECUTABLE_OUTPUT_PATH}) endif() +# headers +install( + FILES + ${CMAKE_SOURCE_DIR}/source/blender/makesrna/RNA_access.h + ${CMAKE_SOURCE_DIR}/source/blender/makesrna/RNA_types.h + ${CMAKE_BINARY_DIR}/source/blender/makesrna/intern/RNA_blender.h + ${CMAKE_BINARY_DIR}/source/blender/makesrna/intern/RNA_blender_cpp.h + ${CMAKE_SOURCE_DIR}/intern/guardedalloc/MEM_sys_types.h + ${CMAKE_SOURCE_DIR}/intern/guardedalloc/MEM_guardedalloc.h + ${CMAKE_SOURCE_DIR}/source/blender/blenloader/BLO_sys_types.h + ${CMAKE_SOURCE_DIR}/source/blender/makesdna/DNA_listBase.h + DESTINATION ${INCLUDE_OUTPUT_PATH}) + # install target if(UNIX AND NOT APPLE) From 7b2a13aced1abc81e27b1dcdc19581b4de64d963 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 27 Apr 2011 16:56:06 +0000 Subject: [PATCH 004/241] Temporary build fix. --- source/blender/editors/interface/interface_node.c | 3 +++ source/blender/editors/interface/interface_templates.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/source/blender/editors/interface/interface_node.c b/source/blender/editors/interface/interface_node.c index 3d0603206ee..372874c9e6f 100644 --- a/source/blender/editors/interface/interface_node.c +++ b/source/blender/editors/interface/interface_node.c @@ -558,6 +558,9 @@ void uiTemplateNodeView(uiLayout *layout, bContext *C, ID *id, bNodeTree *ntree, { bNode *tnode; + if(!ntree) + return; + /* clear for cycle check */ for(tnode=ntree->nodes.first; tnode; tnode=tnode->next) tnode->flag &= ~NODE_TEST; diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c index 94f12911d33..e2664c39756 100644 --- a/source/blender/editors/interface/interface_templates.c +++ b/source/blender/editors/interface/interface_templates.c @@ -2492,5 +2492,8 @@ void uiTemplateReportsBanner(uiLayout *layout, bContext *C) uiBlockSetEmboss(block, UI_EMBOSS); uiDefBut(block, LABEL, 0, report->message, UI_UNIT_X+10, 0, UI_UNIT_X+width, UI_UNIT_Y, NULL, 0.0f, 0.0f, 0, 0, ""); + + /* XXX linking hack */ + uiTemplateNodeView(NULL, NULL, NULL, NULL, NULL, NULL); } From 1484169c2f5b04eda9fa4a00fcdb84257718a6c1 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 27 Apr 2011 17:23:37 +0000 Subject: [PATCH 005/241] Cycles: another build fix. --- intern/cycles/util/util_math.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/intern/cycles/util/util_math.h b/intern/cycles/util/util_math.h index 349496e4a70..26d6d429b7a 100644 --- a/intern/cycles/util/util_math.h +++ b/intern/cycles/util/util_math.h @@ -62,7 +62,7 @@ __device_inline float fminf(float a, float b) #endif -#ifndef __KERNEL_OPENCL__ +#ifndef __KERNEL_GPU__ __device_inline int max(int a, int b) { From 791f6c94fbb593291b4eca46779736062ffe3927 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 28 Apr 2011 11:45:06 +0000 Subject: [PATCH 006/241] Cycles: fix for vector math node by Lukas Toenne, thanks. --- .../cycles/kernel/osl/nodes/node_vector_math.osl | 14 +++++++------- intern/cycles/render/nodes.cpp | 8 ++++---- .../blender/nodes/intern/SHD_nodes/SHD_vectMath.c | 4 ++-- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/intern/cycles/kernel/osl/nodes/node_vector_math.osl b/intern/cycles/kernel/osl/nodes/node_vector_math.osl index c6231d4350d..302351372c2 100644 --- a/intern/cycles/kernel/osl/nodes/node_vector_math.osl +++ b/intern/cycles/kernel/osl/nodes/node_vector_math.osl @@ -22,31 +22,31 @@ shader node_vector_math( string type = "Add", vector Vector1 = vector(0.0, 0.0, 0.0), vector Vector2 = vector(0.0, 0.0, 0.0), - output float Fac = 0.0, + output float Value = 0.0, output vector Vector = vector(0.0, 0.0, 0.0)) { if(type == "Add") { Vector = Vector1 + Vector2; - Fac = (abs(Vector[0]) + abs(Vector[1]) + abs(Vector[2]))/3.0; + Value = (abs(Vector[0]) + abs(Vector[1]) + abs(Vector[2]))/3.0; } if(type == "Subtract") { Vector = Vector1 + Vector2; - Fac = (abs(Vector[0]) + abs(Vector[1]) + abs(Vector[2]))/3.0; + Value = (abs(Vector[0]) + abs(Vector[1]) + abs(Vector[2]))/3.0; } if(type == "Average") { - Fac = length(Vector1 + Vector2); + Value = length(Vector1 + Vector2); Vector = normalize(Vector1 + Vector2); } if(type == "Dot Product") { - Fac = dot(Vector1, Vector2); + Value = dot(Vector1, Vector2); } if(type == "Cross Product") { vector c = cross(Vector1, Vector2); - Fac = length(c); + Value = length(c); Vector = normalize(c); } if(type == "Normalize") { - Fac = length(Vector1); + Value = length(Vector1); Vector = normalize(Vector1); } } diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index d783c3699ea..42cadb8faa7 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -1838,7 +1838,7 @@ VectorMathNode::VectorMathNode() add_input("Vector1", SHADER_SOCKET_VECTOR); add_input("Vector2", SHADER_SOCKET_VECTOR); - add_output("Fac", SHADER_SOCKET_FLOAT); + add_output("Value", SHADER_SOCKET_FLOAT); add_output("Vector", SHADER_SOCKET_VECTOR); } @@ -1862,16 +1862,16 @@ void VectorMathNode::compile(SVMCompiler& compiler) { ShaderInput *vector1_in = input("Vector1"); ShaderInput *vector2_in = input("Vector2"); - ShaderOutput *fac_out = output("Fac"); + ShaderOutput *value_out = output("Value"); ShaderOutput *vector_out = output("Vector"); compiler.stack_assign(vector1_in); compiler.stack_assign(vector2_in); - compiler.stack_assign(fac_out); + compiler.stack_assign(value_out); compiler.stack_assign(vector_out); compiler.add_node(NODE_VECTOR_MATH, type_enum[type], vector1_in->stack_offset, vector2_in->stack_offset); - compiler.add_node(NODE_VECTOR_MATH, fac_out->stack_offset, vector_out->stack_offset); + compiler.add_node(NODE_VECTOR_MATH, value_out->stack_offset, vector_out->stack_offset); } void VectorMathNode::compile(OSLCompiler& compiler) diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_vectMath.c b/source/blender/nodes/intern/SHD_nodes/SHD_vectMath.c index 9979e488a71..a454e42336a 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_vectMath.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_vectMath.c @@ -38,8 +38,8 @@ /* **************** VECTOR MATH ******************** */ static bNodeSocketType sh_node_vect_math_in[]= { - { SOCK_VECTOR, 1, "Vector", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f}, - { SOCK_VECTOR, 1, "Vector", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 1, "Vector1", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 1, "Vector2", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f}, { -1, 0, "" } }; From d263fee9521c2a53f7b673c9a8c57c072bf072c1 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 28 Apr 2011 11:53:29 +0000 Subject: [PATCH 007/241] Cycles: fix for incompatible boost filesystem version, provided by "ornitorrincos" on IRC. --- intern/cycles/util/util_path.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/intern/cycles/util/util_path.cpp b/intern/cycles/util/util_path.cpp index 4cf6cea0f69..109b842068d 100644 --- a/intern/cycles/util/util_path.cpp +++ b/intern/cycles/util/util_path.cpp @@ -23,6 +23,8 @@ #include OIIO_NAMESPACE_USING +#define BOOST_FILESYSTEM_VERSION 2 + #include CCL_NAMESPACE_BEGIN From 774584d7e84843503a5ef4477748cecfdaedeb3d Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 28 Apr 2011 13:47:27 +0000 Subject: [PATCH 008/241] Cycles: hook up the CMake build system. New build instructions for Ubuntu Linux in the wiki: http://wiki.blender.org/index.php/Dev:2.5/Source/Cycles --- CMakeLists.txt | 11 ++- intern/CMakeLists.txt | 1 + intern/cycles/CMakeLists.txt | 69 ++++++++------ intern/cycles/app/CMakeLists.txt | 46 +++++----- intern/cycles/app/cycles_test.cpp | 2 +- intern/cycles/blender/CMakeLists.txt | 30 +++---- intern/cycles/bvh/CMakeLists.txt | 2 +- intern/cycles/cmake/create_dmg.py | 14 --- intern/cycles/cmake/external_libs.cmake | 90 ++++++------------- intern/cycles/cmake/platforms.cmake | 2 +- intern/cycles/device/CMakeLists.txt | 12 ++- intern/cycles/doc/CMakeLists.txt | 8 +- intern/cycles/kernel/CMakeLists.txt | 22 +++-- intern/cycles/kernel/kernel_types.h | 3 +- intern/cycles/kernel/osl/nodes/CMakeLists.txt | 2 +- intern/cycles/render/CMakeLists.txt | 2 +- intern/cycles/subd/CMakeLists.txt | 2 +- intern/cycles/util/CMakeLists.txt | 7 +- intern/cycles/util/util_transform.cpp | 10 ++- 19 files changed, 168 insertions(+), 167 deletions(-) delete mode 100755 intern/cycles/cmake/create_dmg.py diff --git a/CMakeLists.txt b/CMakeLists.txt index e24ce2990f4..8f4981d7e36 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -173,6 +173,9 @@ 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) +# Cycles +option(WITH_CYCLES "Enable Cycles Render Engine" ON) + # Debug option(WITH_CXX_GUARDEDALLOC "Enable GuardedAlloc for C++ memory allocation tracking (only enable for development)" OFF) mark_as_advanced(WITH_CXX_GUARDEDALLOC) @@ -1177,13 +1180,19 @@ add_subdirectory(extern) # Blender Application add_subdirectory(source/creator) - #----------------------------------------------------------------------------- # Blender Player if(WITH_PLAYER) add_subdirectory(source/blenderplayer) endif() +#----------------------------------------------------------------------------- +# Cycles + +if(WITH_CYCLES) + add_subdirectory(intern/cycles) +endif() + #----------------------------------------------------------------------------- # CPack for generating packages include(build_files/cmake/packaging.cmake) diff --git a/intern/CMakeLists.txt b/intern/CMakeLists.txt index 33bf9bb476c..f731b7be46c 100644 --- a/intern/CMakeLists.txt +++ b/intern/CMakeLists.txt @@ -52,3 +52,4 @@ endif() if(WITH_IK_ITASC) add_subdirectory(itasc) endif() + diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index 406b4e6732b..164f1e95297 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -1,38 +1,57 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.8) -PROJECT(cycles) SET(CYCLES_VERSION_MAJOR 0) SET(CYCLES_VERSION_MINOR 0) SET(CYCLES_VERSION ${CYCLES_VERSION_MAJOR}.${CYCLES_VERSION_MINOR}) # Options -OPTION(WITH_OSL "Build with Open Shading Language support" OFF) -OPTION(WITH_CUDA "Build with CUDA support" OFF) -OPTION(WITH_OPENCL "Build with OpenCL support (not working)" OFF) -OPTION(WITH_BLENDER "Build Blender Python extension" OFF) -OPTION(WITH_PARTIO "Build with Partio point cloud support (unfinished)" OFF) -OPTION(WITH_NETWORK "Build with network rendering support (unfinished)" OFF) -OPTION(WITH_MULTI "Build with network rendering support (unfinished)" OFF) -OPTION(WITH_DOCS "Build html documentation" OFF) +OPTION(WITH_CYCLES_OSL "Build with Open Shading Language support" OFF) +OPTION(WITH_CYCLES_CUDA "Build with CUDA support" OFF) +OPTION(WITH_CYCLES_OPENCL "Build with OpenCL support (not working)" OFF) +OPTION(WITH_CYCLES_BLENDER "Build Blender Python extension" ON) +OPTION(WITH_CYCLES_PARTIO "Build with Partio point cloud support (unfinished)" OFF) +OPTION(WITH_CYCLES_NETWORK "Build with network rendering support (unfinished)" OFF) +OPTION(WITH_CYCLES_MULTI "Build with network rendering support (unfinished)" OFF) +OPTION(WITH_CYCLES_DOCS "Build html documentation" OFF) # Flags -SET(CUDA_ARCH sm_10 sm_11 sm_12 sm_13 sm_20 sm_21 CACHE STRING "CUDA architectures to build for") -SET(CUDA_MAXREG 24 CACHE STRING "CUDA maximum number of register to use") + +SET(CYCLES_CUDA_ARCH sm_10 sm_11 sm_12 sm_13 sm_20 sm_21 CACHE STRING "CUDA architectures to build for") +SET(CYCLES_CUDA_MAXREG 24 CACHE STRING "CUDA maximum number of register to use") # Paths -SET(OSL_PATH "" CACHE PATH "Path to OpenShadingLanguage installation") -SET(OIIO_PATH "" CACHE PATH "Path to OpenImageIO installation") -SET(BOOST_PATH "/usr" CACHE PATH "Path to Boost installation") -SET(CUDA_PATH "/usr/local/cuda" CACHE PATH "Path to CUDA installation") -SET(OPENCL_PATH "" CACHE PATH "Path to OpenCL installation") -SET(PYTHON_PATH "" CACHE PATH "Path to Python installation") -SET(BLENDER_PATH "" CACHE PATH "Path to Blender installation") -SET(PARTIO_PATH "" CACHE PATH "Path to Partio installation") -SET(GLEW_PATH "" CACHE PATH "Path to GLEW installation") -SET(GLUT_PATH "" CACHE PATH "Path to GLUT installation") -SET(INSTALL_PATH "${CMAKE_BINARY_DIR}/install" CACHE PATH "Path to install to") +SET(CYCLES_OSL "" CACHE PATH "Path to OpenShadingLanguage installation") +SET(CYCLES_OIIO "" CACHE PATH "Path to OpenImageIO installation") +SET(CYCLES_BOOST "/usr" CACHE PATH "Path to Boost installation") +SET(CYCLES_CUDA "/usr/local/cuda" CACHE PATH "Path to CUDA installation") +SET(CYCLES_OPENCL "" CACHE PATH "Path to OpenCL installation") +SET(CYCLES_PARTIO "" CACHE PATH "Path to Partio installation") +SET(CYCLES_GLEW "" CACHE PATH "Path to GLUT installation") + +# Install, todo: deduplicate install path code + +if(MSVC_IDE) + set(TARGETDIR ${EXECUTABLE_OUTPUT_PATH}/\${BUILD_TYPE}) +elseif(APPLE) + set(TARGETDIR ${EXECUTABLE_OUTPUT_PATH}/\${BUILD_TYPE}) +else() + set(TARGETDIR ${EXECUTABLE_OUTPUT_PATH}) +endif() + +if(UNIX AND NOT APPLE) + if(WITH_INSTALL_PORTABLE) + set(TARGETDIR_VER ${TARGETDIR}/${BLENDER_VERSION}) + else() + set(TARGETDIR_VER ${CMAKE_INSTALL_PREFIX}/share/blender/${BLENDER_VERSION}) + endif() +elseif(WIN32) + set(TARGETDIR_VER ${TARGETDIR}/${BLENDER_VERSION}) +elseif(APPLE) + set(TARGETDIR_VER ${TARGETDIR}/blender.app/Contents/MacOS/${BLENDER_VERSION}) +endif() + +SET(CYCLES_INSTALL_PATH "${TARGETDIR_VER}/scripts/addons") # External Libraries @@ -44,9 +63,9 @@ INCLUDE(cmake/platforms.cmake) # Subdirectories -IF(WITH_BLENDER) +IF(WITH_CYCLES_BLENDER) ADD_SUBDIRECTORY(blender) -ENDIF(WITH_BLENDER) +ENDIF(WITH_CYCLES_BLENDER) ADD_SUBDIRECTORY(app) ADD_SUBDIRECTORY(bvh) diff --git a/intern/cycles/app/CMakeLists.txt b/intern/cycles/app/CMakeLists.txt index b1f73ed74a3..d90ebf0a8b5 100644 --- a/intern/cycles/app/CMakeLists.txt +++ b/intern/cycles/app/CMakeLists.txt @@ -1,48 +1,54 @@ -INCLUDE_DIRECTORIES(. ../device ../kernel ../kernel/svm ../bvh ../util ../render ../subd) +INCLUDE_DIRECTORIES( + . + ../device + ../kernel + ../kernel/svm + ../bvh + ../util + ../render + ../subd) SET(LIBRARIES - device - kernel - render - bvh - subd - util + cycles_device + cycles_kernel + cycles_render + cycles_bvh + cycles_subd + cycles_util ${Boost_LIBRARIES} ${OPENGL_LIBRARIES} - ${GLEW_LIBRARIES} + ${GLEW_LIBRARY} ${OPENIMAGEIO_LIBRARY} ${GLUT_LIBRARIES}) -IF(WITH_OSL) - LIST(APPEND LIBRARIES kernel_osl ${OSL_LIBRARIES}) -ENDIF(WITH_OSL) +IF(WITH_CYCLES_OSL) + LIST(APPEND LIBRARIES cycles_kernel_osl ${OSL_LIBRARIES}) +ENDIF() -IF(WITH_PARTIO) +IF(WITH_CYCLES_PARTIO) LIST(APPEND LIBRARIES ${PARTIO_LIBRARIES}) -ENDIF(WITH_PARTIO) +ENDIF() -IF(WITH_OPENCL) +IF(WITH_CYCLES_OPENCL) LIST(APPEND LIBRARIES ${OPENCL_LIBRARIES}) -ENDIF(WITH_OPENCL) +ENDIF() ADD_EXECUTABLE(cycles_test cycles_test.cpp cycles_xml.cpp cycles_xml.h) TARGET_LINK_LIBRARIES(cycles_test ${LIBRARIES}) -INSTALL(TARGETS cycles_test DESTINATION ${INSTALL_PATH}/cycles) +INSTALL(TARGETS cycles_test DESTINATION ${CYCLES_INSTALL_PATH}/cycles) IF(UNIX AND NOT APPLE) SET_TARGET_PROPERTIES(cycles_test PROPERTIES INSTALL_RPATH $ORIGIN/lib) ENDIF() -IF(WITH_NETWORK) +IF(WITH_CYCLES_NETWORK) ADD_EXECUTABLE(cycles_server cycles_server.cpp) TARGET_LINK_LIBRARIES(cycles_server ${LIBRARIES}) - INSTALL(TARGETS cycles_server DESTINATION ${INSTALL_PATH}/cycles) + INSTALL(TARGETS cycles_server DESTINATION ${CYCLES_INSTALL_PATH}/cycles) IF(UNIX AND NOT APPLE) SET_TARGET_PROPERTIES(cycles_server PROPERTIES INSTALL_RPATH $ORIGIN/lib) ENDIF() ENDIF() -INSTALL(CODE "FILE(MAKE_DIRECTORY ${INSTALL_PATH}/cycles/cache)") - diff --git a/intern/cycles/app/cycles_test.cpp b/intern/cycles/app/cycles_test.cpp index 96072ac3da6..2603458f088 100644 --- a/intern/cycles/app/cycles_test.cpp +++ b/intern/cycles/app/cycles_test.cpp @@ -185,7 +185,7 @@ static void options_parse(int argc, const char **argv) { options.width= 1024; options.height= 512; - options.filepath = path_get("../../../test/models/elephants.xml"); + options.filepath = ""; options.session = NULL; options.quiet = false; diff --git a/intern/cycles/blender/CMakeLists.txt b/intern/cycles/blender/CMakeLists.txt index a75f7295e31..93a043a54a2 100644 --- a/intern/cycles/blender/CMakeLists.txt +++ b/intern/cycles/blender/CMakeLists.txt @@ -32,12 +32,12 @@ INCLUDE_DIRECTORIES( ${PYTHON_INCLUDE_DIRS}) SET(LIBRARIES - render - bvh - device - kernel - util - subd + cycles_render + cycles_bvh + cycles_device + cycles_kernel + cycles_util + cycles_subd ${Boost_LIBRARIES} ${OPENGL_LIBRARIES} ${OPENIMAGEIO_LIBRARY} @@ -46,25 +46,25 @@ SET(LIBRARIES ${GLEW_LIBRARIES} ${BLENDER_LIBRARIES}) -IF(WITH_OSL) - LIST(APPEND LIBRARIES kernel_osl ${OSL_LIBRARIES}) -ENDIF(WITH_OSL) +IF(WITH_CYCLES_OSL) + LIST(APPEND LIBRARIES cycles_kernel_osl ${OSL_LIBRARIES}) +ENDIF() -IF(WITH_PARTIO) +IF(WITH_CYCLES_PARTIO) LIST(APPEND LIBRARIES ${PARTIO_LIBRARIES}) -ENDIF(WITH_PARTIO) +ENDIF() -IF(WITH_OPENCL) +IF(WITH_CYCLES_OPENCL) LIST(APPEND LIBRARIES ${OPENCL_LIBRARIES}) -ENDIF(WITH_OPENCL) +ENDIF() SET(CMAKE_MODULE_LINKER_FLAGS ${PYTHON_MODULE_FLAGS}) ADD_LIBRARY(cycles_blender MODULE ${sources} ${headers}) TARGET_LINK_LIBRARIES(cycles_blender ${LIBRARIES}) -INSTALL(FILES ${addonfiles} DESTINATION ${INSTALL_PATH}/cycles) -INSTALL(TARGETS cycles_blender LIBRARY DESTINATION ${INSTALL_PATH}/cycles) +INSTALL(FILES ${addonfiles} DESTINATION ${CYCLES_INSTALL_PATH}/cycles) +INSTALL(TARGETS cycles_blender LIBRARY DESTINATION ${CYCLES_INSTALL_PATH}/cycles) IF(UNIX AND NOT APPLE) SET_TARGET_PROPERTIES(cycles_blender PROPERTIES INSTALL_RPATH $ORIGIN/lib) diff --git a/intern/cycles/bvh/CMakeLists.txt b/intern/cycles/bvh/CMakeLists.txt index c934cded6da..9ea3bc77461 100644 --- a/intern/cycles/bvh/CMakeLists.txt +++ b/intern/cycles/bvh/CMakeLists.txt @@ -14,5 +14,5 @@ SET(headers bvh_params.h bvh_sort.h) -ADD_LIBRARY(bvh ${sources} ${headers}) +ADD_LIBRARY(cycles_bvh ${sources} ${headers}) diff --git a/intern/cycles/cmake/create_dmg.py b/intern/cycles/cmake/create_dmg.py deleted file mode 100755 index bba7f8d3509..00000000000 --- a/intern/cycles/cmake/create_dmg.py +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/python - -import os -import string -import sys - -name = string.replace(sys.argv[1], ".zip", "") - -os.system("rm -f %s.dmg" % (name)) -os.system("mkdir -p /tmp/cycles_dmg") -os.system("rm /tmp/cycles_dmg/*") -os.system("cp %s.zip /tmp/cycles_dmg/" % (name)) -os.system("/usr/bin/hdiutil create -fs HFS+ -srcfolder /tmp/cycles_dmg -volname %s %s.dmg" % (name, name)) - diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake index 6f6f00ed6bc..da2331cfe9a 100644 --- a/intern/cycles/cmake/external_libs.cmake +++ b/intern/cycles/cmake/external_libs.cmake @@ -1,8 +1,8 @@ ########################################################################### # Boost setup -MESSAGE(STATUS "BOOST_PATH ${BOOST_PATH}") -SET(BOOST_ROOT ${BOOST_PATH}) +MESSAGE(STATUS "CYCLES_BOOST ${CYCLES_BOOST}") +SET(BOOST_ROOT ${CYCLES_BOOST}) SET(Boost_ADDITIONAL_VERSIONS "1.45" "1.44" "1.43" "1.43.0" "1.42" "1.42.0" @@ -26,22 +26,22 @@ MESSAGE(STATUS "Boost libraries ${Boost_LIBRARIES}") INCLUDE_DIRECTORIES("${Boost_INCLUDE_DIRS}") LINK_DIRECTORIES("${Boost_LIBRARY_DIRS}") -IF(WITH_NETWORK) +IF(WITH_CYCLES_NETWORK) ADD_DEFINITIONS(-DWITH_NETWORK) ENDIF() -IF(WITH_MULTI) +IF(WITH_CYCLES_MULTI) ADD_DEFINITIONS(-DWITH_MULTI) ENDIF() ########################################################################### # OpenImageIO -MESSAGE(STATUS "OIIO_PATH = ${OIIO_PATH}") +MESSAGE(STATUS "CYCLES_OIIO = ${CYCLES_OIIO}") -FIND_LIBRARY(OPENIMAGEIO_LIBRARY NAMES OpenImageIO PATHS ${OIIO_PATH}/lib) -FIND_PATH(OPENIMAGEIO_INCLUDES OpenImageIO/imageio.h ${OIIO_PATH}/include) -FIND_PROGRAM(OPENIMAGEIO_IDIFF NAMES idiff PATHS ${OIIO_PATH}/bin) +FIND_LIBRARY(OPENIMAGEIO_LIBRARY NAMES OpenImageIO PATHS ${CYCLES_OIIO}/lib) +FIND_PATH(OPENIMAGEIO_INCLUDES OpenImageIO/imageio.h ${CYCLES_OIIO}/include) +FIND_PROGRAM(OPENIMAGEIO_IDIFF NAMES idiff PATHS ${CYCLES_OIIO}/bin) IF(OPENIMAGEIO_INCLUDES AND OPENIMAGEIO_LIBRARY) SET(OPENIMAGEIO_FOUND TRUE) @@ -54,50 +54,26 @@ ENDIF() ADD_DEFINITIONS(-DWITH_OIIO) INCLUDE_DIRECTORIES(${OPENIMAGEIO_INCLUDES} ${OPENIMAGEIO_INCLUDES}/OpenImageIO) -########################################################################### -# OpenGL - -FIND_PACKAGE(OpenGL) -MESSAGE(STATUS "OPENGL_FOUND=${OPENGL_FOUND}") - -INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) - ########################################################################### # GLUT -SET(GLUT_ROOT_PATH ${GLUT_PATH}) +SET(GLUT_ROOT_PATH ${CYCLES_GLUT}) FIND_PACKAGE(GLUT) MESSAGE(STATUS "GLUT_FOUND=${GLUT_FOUND}") INCLUDE_DIRECTORIES(${GLUT_INCLUDE_DIR}) -########################################################################### -# GLEW - -SET(GLEW_VERSION 1.5.1) -FIND_LIBRARY(GLEW_LIBRARIES NAMES GLEW PATHS ${GLEW_PATH}/lib) -FIND_PATH(GLEW_INCLUDES NAMES glew.h PATH_SUFFIXES GL PATHS ${GLEW_PATH}/include) - -IF(GLEW_INCLUDES AND GLEW_LIBRARIES) - MESSAGE(STATUS "GLEW includes = ${GLEW_INCLUDES}") - MESSAGE(STATUS "GLEW library = ${GLEW_LIBRARIES}") -ELSE() - MESSAGE(STATUS "GLEW not found") -ENDIF() - -INCLUDE_DIRECTORIES("${GLEW_INCLUDES}") - ########################################################################### # OpenShadingLanguage -IF(WITH_OSL) +IF(WITH_CYCLES_OSL) - MESSAGE(STATUS "OSL_PATH = ${OSL_PATH}") + MESSAGE(STATUS "CYCLES_OSL = ${CYCLES_OSL}") - FIND_LIBRARY(OSL_LIBRARIES NAMES oslexec oslcomp oslquery PATHS ${OSL_PATH}/lib) - FIND_PATH(OSL_INCLUDES OSL/oslclosure.h ${OSL_PATH}/include) - FIND_PROGRAM(OSL_COMPILER NAMES oslc PATHS ${OSL_PATH}/bin) + FIND_LIBRARY(OSL_LIBRARIES NAMES oslexec oslcomp oslquery PATHS ${CYCLES_OSL}/lib) + FIND_PATH(OSL_INCLUDES OSL/oslclosure.h ${CYCLES_OSL}/include) + FIND_PROGRAM(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin) IF(OSL_INCLUDES AND OSL_LIBRARIES AND OSL_COMPILER) SET(OSL_FOUND TRUE) @@ -116,12 +92,12 @@ ENDIF() ########################################################################### # Partio -IF(WITH_PARTIO) +IF(WITH_CYCLES_PARTIO) - MESSAGE(STATUS "PARTIO_PATH = ${PARTIO_PATH}") + MESSAGE(STATUS "CYCLES_PARTIO = ${CYCLES_PARTIO}") - FIND_LIBRARY(PARTIO_LIBRARIES NAMES partio PATHS ${PARTIO_PATH}/lib) - FIND_PATH(PARTIO_INCLUDES Partio.h ${PARTIO_PATH}/include) + FIND_LIBRARY(PARTIO_LIBRARIES NAMES partio PATHS ${CYCLES_PARTIO}/lib) + FIND_PATH(PARTIO_INCLUDES Partio.h ${CYCLES_PARTIO}/include) FIND_PACKAGE(ZLIB) @@ -139,36 +115,24 @@ IF(WITH_PARTIO) ENDIF() -########################################################################### -# Python - -IF(WITH_BLENDER) - - FIND_PATH(PYTHON_INCLUDE_DIRS Python.h PATHS ${PYTHON_PATH} ${PYTHON_PATH}/include ${PYTHON_PATH}/include/python3.1 ${PYTHON_PATH}/include/python3.2 NO_DEFAULT_PATH) - IF(WIN32) - FIND_LIBRARY(PYTHON_LIBRARIES NAMES python31 PATHS ${PYTHON_PATH}/lib) - ENDIF() - -ENDIF() - ########################################################################### # Blender -IF(WITH_BLENDER) - FIND_PATH(BLENDER_INCLUDE_DIRS RNA_blender.h PATHS ${BLENDER_PATH}/include) +IF(WITH_CYCLES_BLENDER) + FIND_PATH(BLENDER_INCLUDE_DIRS RNA_blender.h PATHS ${CMAKE_BINARY_DIR}/include) IF(WIN32) - SET(BLENDER_LIBRARIES ${BLENDER_PATH}/bin/Release/blender.lib) + SET(BLENDER_LIBRARIES ${CMAKE_BINARY_DIR}/bin/Release/blender.lib) ENDIF() ENDIF() ########################################################################### # CUDA -IF(WITH_CUDA) +IF(WITH_CYCLES_CUDA) - FIND_LIBRARY(CUDA_LIBRARIES NAMES cuda PATHS ${CUDA_PATH}/lib ${CUDA_PATH}/lib/Win32 NO_DEFAULT_PATH) - FIND_PATH(CUDA_INCLUDES cuda.h ${CUDA_PATH}/include NO_DEFAULT_PATH) - FIND_PROGRAM(CUDA_NVCC NAMES nvcc PATHS ${CUDA_PATH}/bin NO_DEFAULT_PATH) + FIND_LIBRARY(CUDA_LIBRARIES NAMES cuda PATHS ${CYCLES_CUDA}/lib ${CYCLES_CUDA}/lib/Win32 NO_DEFAULT_PATH) + FIND_PATH(CUDA_INCLUDES cuda.h ${CYCLES_CUDA}/include NO_DEFAULT_PATH) + FIND_PROGRAM(CUDA_NVCC NAMES nvcc PATHS ${CYCLES_CUDA}/bin NO_DEFAULT_PATH) IF(CUDA_INCLUDES AND CUDA_LIBRARIES AND CUDA_NVCC) MESSAGE(STATUS "CUDA includes = ${CUDA_INCLUDES}") @@ -186,7 +150,7 @@ ENDIF() ########################################################################### # OpenCL -IF(WITH_OPENCL) +IF(WITH_CYCLES_OPENCL) IF(APPLE) SET(OPENCL_INCLUDES "/System/Library/Frameworks/OpenCL.framework/Headers") @@ -199,7 +163,7 @@ IF(WITH_OPENCL) ENDIF() IF(UNIX AND NOT APPLE) - SET(OPENCL_INCLUDES ${OPENCL_PATH}) + SET(OPENCL_INCLUDES ${CYCLES_OPENCL}) SET(OPENCL_LIRBARIES "OpenCL") ENDIF() diff --git a/intern/cycles/cmake/platforms.cmake b/intern/cycles/cmake/platforms.cmake index ebc4b01edbc..075b4761a85 100644 --- a/intern/cycles/cmake/platforms.cmake +++ b/intern/cycles/cmake/platforms.cmake @@ -1,7 +1,7 @@ # Platform specific build flags -SET(GCC_WARNING_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-long-long") # -pedantic +SET(GCC_WARNING_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-long-long") SET(GCC_OPTIM_FLAGS "-ffast-math -fPIC -msse -msse2 -msse3 -mtune=native") IF(APPLE) diff --git a/intern/cycles/device/CMakeLists.txt b/intern/cycles/device/CMakeLists.txt index ab72548fc4f..0885cd6fc20 100644 --- a/intern/cycles/device/CMakeLists.txt +++ b/intern/cycles/device/CMakeLists.txt @@ -1,5 +1,13 @@ -INCLUDE_DIRECTORIES(. ../kernel ../kernel/svm ../kernel/osl ../util ../render) +INCLUDE_DIRECTORIES( + . + ../kernel + ../kernel/svm + ../kernel/osl + ../util + ../render + ${OPENGL_INCLUDE_DIR} + ${GLEW_INCLUDE_DIR}) SET(sources device.cpp @@ -14,5 +22,5 @@ SET(headers device_intern.h device_network.h) -ADD_LIBRARY(device ${sources} ${headers}) +ADD_LIBRARY(cycles_device ${sources} ${headers}) diff --git a/intern/cycles/doc/CMakeLists.txt b/intern/cycles/doc/CMakeLists.txt index 116ca5e5b9f..d6e487663c3 100644 --- a/intern/cycles/doc/CMakeLists.txt +++ b/intern/cycles/doc/CMakeLists.txt @@ -1,5 +1,5 @@ -INSTALL(DIRECTORY license DESTINATION ${INSTALL_PATH}/cycles) +INSTALL(DIRECTORY license DESTINATION ${CYCLES_INSTALL_PATH}/cycles PATTERN ".svn" EXCLUDE) SET(doc_sources index.html @@ -76,12 +76,12 @@ SET(doc_templates templates/nodes.html templates/reference.html) -IF(WITH_DOCS) +IF(WITH_CYCLES_DOCS) MACRO(install_doc_file source_file html_file) GET_FILENAME_COMPONENT(subdir ${source_file} PATH) INSTALL( FILES ${html_file} - DESTINATION ${INSTALL_PATH}/cycles/doc/${subdir}) + DESTINATION ${CYCLES_INSTALL_PATH}/cycles/doc/${subdir}) ENDMACRO() FOREACH(_file ${doc_sources}) @@ -100,6 +100,6 @@ IF(WITH_DOCS) install_doc_file(${_file} ${_file}) ENDFOREACH() - ADD_CUSTOM_TARGET(doc ALL DEPENDS ${html_files}) + ADD_CUSTOM_TARGET(cycles_doc ALL DEPENDS ${html_files}) ENDIF() diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt index 30b618eb1ad..6c247a9a645 100644 --- a/intern/cycles/kernel/CMakeLists.txt +++ b/intern/cycles/kernel/CMakeLists.txt @@ -71,34 +71,38 @@ SET(headers # CUDA module -IF(WITH_CUDA) +IF(WITH_CYCLES_CUDA) SET(cuda_sources kernel.cu ${headers}) SET(cuda_cubins) - FOREACH(arch ${CUDA_ARCH}) + FOREACH(arch ${CYCLES_CUDA_ARCH}) SET(cuda_cubin kernel_${arch}.cubin) ADD_CUSTOM_COMMAND( OUTPUT ${cuda_cubin} - COMMAND ${CUDA_NVCC} -arch=${arch} -m64 --cubin ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cu --use_fast_math -o ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} --ptxas-options="-v" --maxrregcount=${CUDA_MAXREG} --opencc-options -OPT:Olimit=0 -I${CMAKE_CURRENT_SOURCE_DIR}/../util -I${CMAKE_CURRENT_SOURCE_DIR}/svm -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= + COMMAND ${CUDA_NVCC} -arch=${arch} -m64 --cubin ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cu --use_fast_math -o ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} --ptxas-options="-v" --maxrregcount=${CYCLES_CUDA_MAXREG} --opencc-options -OPT:Olimit=0 -I${CMAKE_CURRENT_SOURCE_DIR}/../util -I${CMAKE_CURRENT_SOURCE_DIR}/svm -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= DEPENDS ${cuda_sources}) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} DESTINATION ${INSTALL_PATH}/cycles/lib) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} DESTINATION ${CYCLES_INSTALL_PATH}/cycles/lib) LIST(APPEND cuda_cubins ${cuda_cubin}) ENDFOREACH() - ADD_CUSTOM_TARGET(kernel_cuda ALL DEPENDS ${cuda_cubins}) -ENDIF(WITH_CUDA) + ADD_CUSTOM_TARGET(cycles_kernel_cuda ALL DEPENDS ${cuda_cubins}) +ENDIF() # OSL module -IF(WITH_OSL) +IF(WITH_CYCLES_OSL) ADD_SUBDIRECTORY(osl) -ENDIF(WITH_OSL) +ENDIF() # CPU module INCLUDE_DIRECTORIES(. ../util osl svm) -ADD_LIBRARY(kernel ${sources} ${headers}) +ADD_LIBRARY(cycles_kernel ${sources} ${headers}) + +IF(WITH_CYCLES_CUDA) + add_dependencies(cycles_kernel cycles_kernel_cuda) +ENDIF() diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index 8e378d2871b..bd337eb95e1 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -217,8 +217,7 @@ typedef struct ShaderData { /* primitive id if there is one, ~0 otherwise */ int prim; /* parametric coordinates - * - barycentric weights for triangles - * - latlong coordinates for background */ + * - barycentric weights for triangles */ float u, v; /* object id if there is one, ~0 otherwise */ int object; diff --git a/intern/cycles/kernel/osl/nodes/CMakeLists.txt b/intern/cycles/kernel/osl/nodes/CMakeLists.txt index 435acc5f680..56e8ba0b5b6 100644 --- a/intern/cycles/kernel/osl/nodes/CMakeLists.txt +++ b/intern/cycles/kernel/osl/nodes/CMakeLists.txt @@ -65,5 +65,5 @@ ENDFOREACH() ADD_CUSTOM_TARGET(shader ALL DEPENDS ${oso_sources} ${osl_headers}) -INSTALL(FILES ${oso_sources} DESTINATION ${INSTALL_PATH}/cycles/shader) +INSTALL(FILES ${oso_sources} DESTINATION ${CYCLES_INSTALL_PATH}/cycles/shader) diff --git a/intern/cycles/render/CMakeLists.txt b/intern/cycles/render/CMakeLists.txt index f31e9bfbcb2..f2342c9032a 100644 --- a/intern/cycles/render/CMakeLists.txt +++ b/intern/cycles/render/CMakeLists.txt @@ -50,5 +50,5 @@ SET(headers SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${RTTI_DISABLE_FLAGS}") -ADD_LIBRARY(render ${sources} ${headers}) +ADD_LIBRARY(cycles_render ${sources} ${headers}) diff --git a/intern/cycles/subd/CMakeLists.txt b/intern/cycles/subd/CMakeLists.txt index a14bf7896d8..5357df4fab7 100644 --- a/intern/cycles/subd/CMakeLists.txt +++ b/intern/cycles/subd/CMakeLists.txt @@ -22,5 +22,5 @@ SET(headers subd_stencil.h subd_vert.h) -ADD_LIBRARY(subd ${sources} ${headers}) +ADD_LIBRARY(cycles_subd ${sources} ${headers}) diff --git a/intern/cycles/util/CMakeLists.txt b/intern/cycles/util/CMakeLists.txt index 3fea6182a97..4137c73a39a 100644 --- a/intern/cycles/util/CMakeLists.txt +++ b/intern/cycles/util/CMakeLists.txt @@ -1,5 +1,8 @@ -INCLUDE_DIRECTORIES(.) +INCLUDE_DIRECTORIES( + . + ${GLEW_INCLUDE_PATH} + ${OPENGL_INCLUDE_DIR}) SET(sources util_cache.cpp @@ -43,5 +46,5 @@ SET(headers util_vector.h util_xml.h) -ADD_LIBRARY(util ${sources} ${headers}) +ADD_LIBRARY(cycles_util ${sources} ${headers}) diff --git a/intern/cycles/util/util_transform.cpp b/intern/cycles/util/util_transform.cpp index 5c2f28af318..8c5eac2cbb9 100644 --- a/intern/cycles/util/util_transform.cpp +++ b/intern/cycles/util/util_transform.cpp @@ -129,13 +129,15 @@ static bool transform_matrix4_gj_inverse(float R[][4], float M[][4]) Transform transform_inverse(const Transform& tfm) { - Transform R = transform_identity(); - Transform M = tfm; + union { Transform T; float M[4][4]; } R, M; + + R.T = transform_identity(); + M.T = tfm; - if(!transform_matrix4_gj_inverse((float(*)[4])&R, (float(*)[4])&M)) + if(!transform_matrix4_gj_inverse(R.M, M.M)) return transform_identity(); - return R; + return R.T; } CCL_NAMESPACE_END From e5d7a38a257b543ff44e823c29a12198e3817427 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 1 May 2011 09:19:45 +0000 Subject: [PATCH 009/241] Cycles: fix build issue with Blender includes. --- intern/cycles/blender/CMakeLists.txt | 1 + intern/cycles/cmake/external_libs.cmake | 8 +++++++- intern/cycles/kernel/CMakeLists.txt | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/intern/cycles/blender/CMakeLists.txt b/intern/cycles/blender/CMakeLists.txt index 93a043a54a2..096363e5d9f 100644 --- a/intern/cycles/blender/CMakeLists.txt +++ b/intern/cycles/blender/CMakeLists.txt @@ -61,6 +61,7 @@ ENDIF() SET(CMAKE_MODULE_LINKER_FLAGS ${PYTHON_MODULE_FLAGS}) ADD_LIBRARY(cycles_blender MODULE ${sources} ${headers}) +ADD_DEPENDENCIES(cycles_blender bf_rna) TARGET_LINK_LIBRARIES(cycles_blender ${LIBRARIES}) INSTALL(FILES ${addonfiles} DESTINATION ${CYCLES_INSTALL_PATH}/cycles) diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake index da2331cfe9a..e61aee1e582 100644 --- a/intern/cycles/cmake/external_libs.cmake +++ b/intern/cycles/cmake/external_libs.cmake @@ -119,7 +119,13 @@ ENDIF() # Blender IF(WITH_CYCLES_BLENDER) - FIND_PATH(BLENDER_INCLUDE_DIRS RNA_blender.h PATHS ${CMAKE_BINARY_DIR}/include) + # FIND_PATH(BLENDER_INCLUDE_DIRS RNA_blender.h PATHS ${CMAKE_BINARY_DIR}/include) + SET(BLENDER_INCLUDE_DIRS + ${CMAKE_SOURCE_DIR}/intern/guardedalloc + ${CMAKE_SOURCE_DIR}/source/blender/makesdna + ${CMAKE_SOURCE_DIR}/source/blender/makesrna + ${CMAKE_SOURCE_DIR}/source/blender/blenloader + ${CMAKE_BINARY_DIR}/source/blender/makesrna/intern) IF(WIN32) SET(BLENDER_LIBRARIES ${CMAKE_BINARY_DIR}/bin/Release/blender.lib) ENDIF() diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt index 6c247a9a645..1f027b40108 100644 --- a/intern/cycles/kernel/CMakeLists.txt +++ b/intern/cycles/kernel/CMakeLists.txt @@ -103,6 +103,6 @@ INCLUDE_DIRECTORIES(. ../util osl svm) ADD_LIBRARY(cycles_kernel ${sources} ${headers}) IF(WITH_CYCLES_CUDA) - add_dependencies(cycles_kernel cycles_kernel_cuda) + ADD_DEPENDENCIES(cycles_kernel cycles_kernel_cuda) ENDIF() From 170f8c8c4109afb366bac0f385d9e2f59af6c8e2 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 1 May 2011 10:00:21 +0000 Subject: [PATCH 010/241] Cycles: build without GLUT test app by default. --- intern/cycles/CMakeLists.txt | 1 + intern/cycles/app/CMakeLists.txt | 19 ++++++++++++------- intern/cycles/cmake/external_libs.cmake | 13 ++++++------- intern/cycles/util/CMakeLists.txt | 7 +++++-- intern/cycles/util/util_opengl.h | 2 -- intern/cycles/util/util_view.cpp | 6 ++++++ 6 files changed, 30 insertions(+), 18 deletions(-) diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index 164f1e95297..5877b26b7f5 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -13,6 +13,7 @@ OPTION(WITH_CYCLES_PARTIO "Build with Partio point cloud support (unfinished)" O OPTION(WITH_CYCLES_NETWORK "Build with network rendering support (unfinished)" OFF) OPTION(WITH_CYCLES_MULTI "Build with network rendering support (unfinished)" OFF) OPTION(WITH_CYCLES_DOCS "Build html documentation" OFF) +OPTION(WITH_CYCLES_TEST "Build cycles test application" OFF) # Flags diff --git a/intern/cycles/app/CMakeLists.txt b/intern/cycles/app/CMakeLists.txt index d90ebf0a8b5..0934124ea25 100644 --- a/intern/cycles/app/CMakeLists.txt +++ b/intern/cycles/app/CMakeLists.txt @@ -19,8 +19,11 @@ SET(LIBRARIES ${Boost_LIBRARIES} ${OPENGL_LIBRARIES} ${GLEW_LIBRARY} - ${OPENIMAGEIO_LIBRARY} - ${GLUT_LIBRARIES}) + ${OPENIMAGEIO_LIBRARY}) + +IF(WITH_CYCLES_TEST) + LIST(APPEND LIBRARIES ${GLUT_LIBRARIES}) +ENDIF() IF(WITH_CYCLES_OSL) LIST(APPEND LIBRARIES cycles_kernel_osl ${OSL_LIBRARIES}) @@ -34,12 +37,14 @@ IF(WITH_CYCLES_OPENCL) LIST(APPEND LIBRARIES ${OPENCL_LIBRARIES}) ENDIF() -ADD_EXECUTABLE(cycles_test cycles_test.cpp cycles_xml.cpp cycles_xml.h) -TARGET_LINK_LIBRARIES(cycles_test ${LIBRARIES}) -INSTALL(TARGETS cycles_test DESTINATION ${CYCLES_INSTALL_PATH}/cycles) +IF(WITH_CYCLES_TEST) + ADD_EXECUTABLE(cycles_test cycles_test.cpp cycles_xml.cpp cycles_xml.h) + TARGET_LINK_LIBRARIES(cycles_test ${LIBRARIES}) + INSTALL(TARGETS cycles_test DESTINATION ${CYCLES_INSTALL_PATH}/cycles) -IF(UNIX AND NOT APPLE) - SET_TARGET_PROPERTIES(cycles_test PROPERTIES INSTALL_RPATH $ORIGIN/lib) + IF(UNIX AND NOT APPLE) + SET_TARGET_PROPERTIES(cycles_test PROPERTIES INSTALL_RPATH $ORIGIN/lib) + ENDIF() ENDIF() IF(WITH_CYCLES_NETWORK) diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake index e61aee1e582..5d1ed868574 100644 --- a/intern/cycles/cmake/external_libs.cmake +++ b/intern/cycles/cmake/external_libs.cmake @@ -1,7 +1,6 @@ ########################################################################### # Boost setup -MESSAGE(STATUS "CYCLES_BOOST ${CYCLES_BOOST}") SET(BOOST_ROOT ${CYCLES_BOOST}) SET(Boost_ADDITIONAL_VERSIONS "1.45" "1.44" @@ -37,8 +36,6 @@ ENDIF() ########################################################################### # OpenImageIO -MESSAGE(STATUS "CYCLES_OIIO = ${CYCLES_OIIO}") - FIND_LIBRARY(OPENIMAGEIO_LIBRARY NAMES OpenImageIO PATHS ${CYCLES_OIIO}/lib) FIND_PATH(OPENIMAGEIO_INCLUDES OpenImageIO/imageio.h ${CYCLES_OIIO}/include) FIND_PROGRAM(OPENIMAGEIO_IDIFF NAMES idiff PATHS ${CYCLES_OIIO}/bin) @@ -57,12 +54,14 @@ INCLUDE_DIRECTORIES(${OPENIMAGEIO_INCLUDES} ${OPENIMAGEIO_INCLUDES}/OpenImageIO) ########################################################################### # GLUT -SET(GLUT_ROOT_PATH ${CYCLES_GLUT}) +IF(WITH_CYCLES_TEST) + SET(GLUT_ROOT_PATH ${CYCLES_GLUT}) -FIND_PACKAGE(GLUT) -MESSAGE(STATUS "GLUT_FOUND=${GLUT_FOUND}") + FIND_PACKAGE(GLUT) + MESSAGE(STATUS "GLUT_FOUND=${GLUT_FOUND}") -INCLUDE_DIRECTORIES(${GLUT_INCLUDE_DIR}) + INCLUDE_DIRECTORIES(${GLUT_INCLUDE_DIR}) +ENDIF() ########################################################################### # OpenShadingLanguage diff --git a/intern/cycles/util/CMakeLists.txt b/intern/cycles/util/CMakeLists.txt index 4137c73a39a..380383e3146 100644 --- a/intern/cycles/util/CMakeLists.txt +++ b/intern/cycles/util/CMakeLists.txt @@ -13,8 +13,11 @@ SET(sources util_string.cpp util_system.cpp util_time.cpp - util_transform.cpp - util_view.cpp) + util_transform.cpp) + +IF(WITH_CYCLES_TEST) + LIST(APPEND sources util_view.cpp) +ENDIF() SET(headers util_algorithm.h diff --git a/intern/cycles/util/util_opengl.h b/intern/cycles/util/util_opengl.h index 5396f6f17be..352aa7b1c19 100644 --- a/intern/cycles/util/util_opengl.h +++ b/intern/cycles/util/util_opengl.h @@ -23,12 +23,10 @@ * platform differences in one central place. */ #ifdef __APPLE__ -#include #include #include #else #include -#include #endif #endif /* __UTIL_OPENGL_H__ */ diff --git a/intern/cycles/util/util_view.cpp b/intern/cycles/util/util_view.cpp index 75f0b92e705..2c6251b02ee 100644 --- a/intern/cycles/util/util_view.cpp +++ b/intern/cycles/util/util_view.cpp @@ -20,6 +20,12 @@ #include #include +#ifdef __APPLE__ +#include +#else +#include +#endif + #include "util_opengl.h" #include "util_time.h" #include "util_view.h" From 2996f08f845c4b67b0231d5832668da5ddb2d227 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 3 May 2011 18:29:11 +0000 Subject: [PATCH 011/241] Cycles: first batch of windows build fixes, not quite there yet. --- intern/cycles/blender/CMakeLists.txt | 25 +++++++++++++++++++++-- intern/cycles/blender/blender_camera.cpp | 2 +- intern/cycles/blender/blender_util.h | 4 ++-- intern/cycles/bvh/bvh.cpp | 2 +- intern/cycles/bvh/bvh.h | 2 +- intern/cycles/bvh/bvh_build.cpp | 4 ++-- intern/cycles/cmake/external_libs.cmake | 9 ++++---- intern/cycles/cmake/platforms.cmake | 2 +- intern/cycles/device/CMakeLists.txt | 2 +- intern/cycles/device/device_cuda.cpp | 23 ++++++++++++--------- intern/cycles/kernel/kernel_film.h | 6 +++--- intern/cycles/kernel/svm/svm_noise.h | 6 +++--- intern/cycles/kernel/svm/svm_texture.h | 4 ++-- intern/cycles/render/CMakeLists.txt | 10 ++++++++- intern/cycles/render/buffers.h | 2 +- intern/cycles/render/nodes.cpp | 4 ++-- intern/cycles/render/object.h | 2 +- intern/cycles/render/shader.h | 2 +- intern/cycles/render/svm.h | 2 +- intern/cycles/subd/subd_build.cpp | 18 ++++++++-------- intern/cycles/subd/subd_split.cpp | 4 ++-- intern/cycles/util/util_map.h | 2 +- intern/cycles/util/util_math.h | 3 ++- intern/cycles/util/util_set.h | 2 +- intern/cycles/util/util_types.h | 5 +++++ intern/guardedalloc/MEM_guardedalloc.h | 4 ++++ source/blender/makesrna/RNA_types.h | 6 ++++++ source/blender/makesrna/intern/makesrna.c | 12 ++++++++--- 28 files changed, 112 insertions(+), 57 deletions(-) diff --git a/intern/cycles/blender/CMakeLists.txt b/intern/cycles/blender/CMakeLists.txt index 096363e5d9f..56d08b61b65 100644 --- a/intern/cycles/blender/CMakeLists.txt +++ b/intern/cycles/blender/CMakeLists.txt @@ -29,7 +29,8 @@ INCLUDE_DIRECTORIES( ../util ../subd ${BLENDER_INCLUDE_DIRS} - ${PYTHON_INCLUDE_DIRS}) + ${PYTHON_INCLUDE_DIRS} + ${GLEW_INCLUDE_PATH}) SET(LIBRARIES cycles_render @@ -41,7 +42,6 @@ SET(LIBRARIES ${Boost_LIBRARIES} ${OPENGL_LIBRARIES} ${OPENIMAGEIO_LIBRARY} - ${PYTHON_LIBRARIES} ${GLUT_LIBRARIES} ${GLEW_LIBRARIES} ${BLENDER_LIBRARIES}) @@ -58,10 +58,21 @@ IF(WITH_CYCLES_OPENCL) LIST(APPEND LIBRARIES ${OPENCL_LIBRARIES}) ENDIF() +LINK_DIRECTORIES(${PYTHON_LIBPATH}) SET(CMAKE_MODULE_LINKER_FLAGS ${PYTHON_MODULE_FLAGS}) ADD_LIBRARY(cycles_blender MODULE ${sources} ${headers}) ADD_DEPENDENCIES(cycles_blender bf_rna) + +IF(WIN32) + TARGET_LINK_LIBRARIES(cycles_blender ${PYTHON_LINKFLAGS}) + TARGET_LINK_LIBRARIES(cycles_blender debug ${PYTHON_LIBRARY}_d) + TARGET_LINK_LIBRARIES(cycles_blender optimized ${PYTHON_LIBRARY}) + + SET_TARGET_PROPERTIES(cycles_blender PROPERTIES PREFIX "lib") + SET_TARGET_PROPERTIES(cycles_blender PROPERTIES SUFFIX ".pyd") +ENDIF() + TARGET_LINK_LIBRARIES(cycles_blender ${LIBRARIES}) INSTALL(FILES ${addonfiles} DESTINATION ${CYCLES_INSTALL_PATH}/cycles) @@ -71,3 +82,13 @@ IF(UNIX AND NOT APPLE) SET_TARGET_PROPERTIES(cycles_blender PROPERTIES INSTALL_RPATH $ORIGIN/lib) ENDIF() +# Install DLL's + +IF(WIN32) + FILE(GLOB OIIO_DLLS "${CYCLES_OIIO}/bin/*.dll") + FILE(GLOB BOOST_DLLS "${CYCLES_BOOST}/lib/*.dll") + INSTALL(FILES ${OIIO_DLLS} ${BOOST_DLLS} + DESTINATION ${CYCLES_INSTALL_PATH}/cycles) +ENDIF() + + diff --git a/intern/cycles/blender/blender_camera.cpp b/intern/cycles/blender/blender_camera.cpp index cc4cfda8793..530193247ae 100644 --- a/intern/cycles/blender/blender_camera.cpp +++ b/intern/cycles/blender/blender_camera.cpp @@ -218,7 +218,7 @@ void BlenderSync::sync_view(BL::SpaceView3D b_v3d, BL::RegionView3D b_rv3d, int blender_camera_from_object(&bcam, b_ob); /* magic zoom formula */ - bcam.zoom = b_rv3d.view_camera_zoom(); + bcam.zoom = (float)b_rv3d.view_camera_zoom(); bcam.zoom = (1.41421f + bcam.zoom/50.0f); bcam.zoom *= bcam.zoom; bcam.zoom = 2.0f/bcam.zoom; diff --git a/intern/cycles/blender/blender_util.h b/intern/cycles/blender/blender_util.h index 9da1c1dfe05..715dc7e6fb0 100644 --- a/intern/cycles/blender/blender_util.h +++ b/intern/cycles/blender/blender_util.h @@ -77,7 +77,7 @@ static inline void object_free_duplilist(BL::Object self) static inline bool object_is_modified(BL::Object self, BL::Scene scene, bool preview) { - return rna_Object_is_modified(self.ptr.data, scene.ptr.data, (preview)? (1<<0): (1<<1)); + return rna_Object_is_modified(self.ptr.data, scene.ptr.data, (preview)? (1<<0): (1<<1))? true: false; } /* Utilities */ @@ -139,7 +139,7 @@ static inline uint get_layer(BL::Array array) static inline bool get_boolean(PointerRNA& ptr, const char *name) { - return RNA_boolean_get(&ptr, name); + return RNA_boolean_get(&ptr, name)? true: false; } static inline float get_float(PointerRNA& ptr, const char *name) diff --git a/intern/cycles/bvh/bvh.cpp b/intern/cycles/bvh/bvh.cpp index ab230794774..664bdd98b1f 100644 --- a/intern/cycles/bvh/bvh.cpp +++ b/intern/cycles/bvh/bvh.cpp @@ -467,7 +467,7 @@ void RegularBVH::refit_nodes() assert(!params.top_level); BoundBox bbox; - refit_node(0, pack.is_leaf[0], bbox); + refit_node(0, (pack.is_leaf[0])? true: false, bbox); } void RegularBVH::refit_node(int idx, bool leaf, BoundBox& bbox) diff --git a/intern/cycles/bvh/bvh.h b/intern/cycles/bvh/bvh.h index acc25291da3..6b877594422 100644 --- a/intern/cycles/bvh/bvh.h +++ b/intern/cycles/bvh/bvh.h @@ -26,7 +26,7 @@ CCL_NAMESPACE_BEGIN class BVHNode; -class BVHStackEntry; +struct BVHStackEntry; class BVHParams; class BoundBox; class CacheData; diff --git a/intern/cycles/bvh/bvh_build.cpp b/intern/cycles/bvh/bvh_build.cpp index 6a9cc915f01..3e47cb75014 100644 --- a/intern/cycles/bvh/bvh_build.cpp +++ b/intern/cycles/bvh/bvh_build.cpp @@ -359,8 +359,8 @@ BVHBuild::SpatialSplit BVHBuild::find_spatial_split(const NodeSpec& spec, float const Reference& ref = references[refIdx]; float3 firstBinf = (ref.bounds.min - origin) * invBinSize; float3 lastBinf = (ref.bounds.max - origin) * invBinSize; - int3 firstBin = make_int3(firstBinf.x, firstBinf.y, firstBinf.z); - int3 lastBin = make_int3(lastBinf.x, lastBinf.y, lastBinf.z); + int3 firstBin = make_int3((int)firstBinf.x, (int)firstBinf.y, (int)firstBinf.z); + int3 lastBin = make_int3((int)lastBinf.x, (int)lastBinf.y, (int)lastBinf.z); firstBin = clamp(firstBin, 0, BVHParams::NUM_SPATIAL_BINS - 1); lastBin = clamp(lastBin, firstBin, BVHParams::NUM_SPATIAL_BINS - 1); diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake index 5d1ed868574..cfd997a6469 100644 --- a/intern/cycles/cmake/external_libs.cmake +++ b/intern/cycles/cmake/external_libs.cmake @@ -8,9 +8,6 @@ SET(Boost_ADDITIONAL_VERSIONS "1.45" "1.44" "1.41" "1.41.0" "1.40" "1.40.0" "1.39" "1.39.0" "1.38" "1.38.0" "1.37" "1.37.0" "1.34.1" "1_34_1") -IF(LINKSTATIC) - SET(Boost_USE_STATIC_LIBS ON) -ENDIF() SET(Boost_USE_MULTITHREADED ON) @@ -25,6 +22,8 @@ MESSAGE(STATUS "Boost libraries ${Boost_LIBRARIES}") INCLUDE_DIRECTORIES("${Boost_INCLUDE_DIRS}") LINK_DIRECTORIES("${Boost_LIBRARY_DIRS}") +ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) + IF(WITH_CYCLES_NETWORK) ADD_DEFINITIONS(-DWITH_NETWORK) ENDIF() @@ -126,8 +125,10 @@ IF(WITH_CYCLES_BLENDER) ${CMAKE_SOURCE_DIR}/source/blender/blenloader ${CMAKE_BINARY_DIR}/source/blender/makesrna/intern) IF(WIN32) - SET(BLENDER_LIBRARIES ${CMAKE_BINARY_DIR}/bin/Release/blender.lib) + SET(BLENDER_LIBRARIES ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/blender.lib) ENDIF() + + ADD_DEFINITIONS(-DBLENDER_PLUGIN) ENDIF() ########################################################################### diff --git a/intern/cycles/cmake/platforms.cmake b/intern/cycles/cmake/platforms.cmake index 075b4761a85..659fd5dcad3 100644 --- a/intern/cycles/cmake/platforms.cmake +++ b/intern/cycles/cmake/platforms.cmake @@ -11,7 +11,7 @@ IF(APPLE) ENDIF(APPLE) IF(WIN32) - SET(CMAKE_CXX_FLAGS "-D_CRT_SECURE_NO_WARNINGS /EHsc /fp:fast") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS /EHsc /fp:fast") SET(RTTI_DISABLE_FLAGS "/GR- -DBOOST_NO_RTTI -DBOOST_NO_TYPEID") SET(PYTHON_MODULE_FLAGS "-DLL") ENDIF(WIN32) diff --git a/intern/cycles/device/CMakeLists.txt b/intern/cycles/device/CMakeLists.txt index 0885cd6fc20..712351b9558 100644 --- a/intern/cycles/device/CMakeLists.txt +++ b/intern/cycles/device/CMakeLists.txt @@ -7,7 +7,7 @@ INCLUDE_DIRECTORIES( ../util ../render ${OPENGL_INCLUDE_DIR} - ${GLEW_INCLUDE_DIR}) + ${GLEW_INCLUDE_PATH}) SET(sources device.cpp diff --git a/intern/cycles/device/device_cuda.cpp b/intern/cycles/device/device_cuda.cpp index 76692ba8657..0537e231f44 100644 --- a/intern/cycles/device/device_cuda.cpp +++ b/intern/cycles/device/device_cuda.cpp @@ -356,7 +356,8 @@ public: cuda_assert(cuParamSetv(cuPathTrace, offset, &d_rng_state, sizeof(d_rng_state))) offset += sizeof(d_rng_state); - offset = cuda_align_up(offset, __alignof(task.pass)); + int pass = task.pass; + offset = cuda_align_up(offset, __alignof(pass)); cuda_assert(cuParamSeti(cuPathTrace, offset, task.pass)) offset += sizeof(task.pass); @@ -413,7 +414,8 @@ public: cuda_assert(cuParamSetv(cuFilmConvert, offset, &d_buffer, sizeof(d_buffer))) offset += sizeof(d_buffer); - offset = cuda_align_up(offset, __alignof(task.pass)); + int pass = task.pass; + offset = cuda_align_up(offset, __alignof(pass)); cuda_assert(cuParamSeti(cuFilmConvert, offset, task.pass)) offset += sizeof(task.pass); @@ -475,7 +477,8 @@ public: cuda_assert(cuParamSetv(cuDisplace, offset, &d_offset, sizeof(d_offset))) offset += sizeof(d_offset); - offset = cuda_align_up(offset, __alignof(task.displace_x)); + int displace_x = task.displace_x; + offset = cuda_align_up(offset, __alignof(displace_x)); cuda_assert(cuParamSeti(cuDisplace, offset, task.displace_x)) offset += sizeof(task.displace_x); @@ -621,18 +624,18 @@ public: glColor3f(1.0f, 1.0f, 1.0f); glPushMatrix(); - glTranslatef(0, y, 0.0f); + glTranslatef(0.0f, (float)y, 0.0f); glBegin(GL_QUADS); - glTexCoord2f(0, 0); - glVertex2f(0, 0); + glTexCoord2f(0.0f, 0.0f); + glVertex2f(0.0f, 0.0f); glTexCoord2f((float)w/(float)width, 0); - glVertex2f(width, 0); + glVertex2f((float)width, 0.0f); glTexCoord2f((float)w/(float)width, (float)h/(float)height); - glVertex2f(width, height); - glTexCoord2f(0, (float)h/(float)height); - glVertex2f(0, height); + glVertex2f((float)width, (float)height); + glTexCoord2f(0.0f, (float)h/(float)height); + glVertex2f(0.0f, (float)height); glEnd(); diff --git a/intern/cycles/kernel/kernel_film.h b/intern/cycles/kernel/kernel_film.h index 04ea889f4c0..0bbd6c202a1 100644 --- a/intern/cycles/kernel/kernel_film.h +++ b/intern/cycles/kernel/kernel_film.h @@ -44,9 +44,9 @@ __device uchar4 film_float_to_byte(float4 color) uchar4 result; /* simple float to byte conversion */ - result.x = clamp(color.x*255.0f, 0.0f, 255.0f); - result.y = clamp(color.y*255.0f, 0.0f, 255.0f); - result.z = clamp(color.z*255.0f, 0.0f, 255.0f); + result.x = (uchar)clamp(color.x*255.0f, 0.0f, 255.0f); + result.y = (uchar)clamp(color.y*255.0f, 0.0f, 255.0f); + result.z = (uchar)clamp(color.z*255.0f, 0.0f, 255.0f); result.w = 255; return result; diff --git a/intern/cycles/kernel/svm/svm_noise.h b/intern/cycles/kernel/svm/svm_noise.h index 745744e142c..f41caa99772 100644 --- a/intern/cycles/kernel/svm/svm_noise.h +++ b/intern/cycles/kernel/svm/svm_noise.h @@ -143,9 +143,9 @@ __device float perlin_periodic(float x, float y, float z, float3 pperiod) int3 p; - p.x = fmaxf(quick_floor(pperiod.x), 1); - p.y = fmaxf(quick_floor(pperiod.y), 1); - p.z = fmaxf(quick_floor(pperiod.z), 1); + p.x = max(quick_floor(pperiod.x), 1); + p.y = max(quick_floor(pperiod.y), 1); + p.z = max(quick_floor(pperiod.z), 1); float u = fade(fx); float v = fade(fy); diff --git a/intern/cycles/kernel/svm/svm_texture.h b/intern/cycles/kernel/svm/svm_texture.h index c5f71c0d5bd..c5ded6d975f 100644 --- a/intern/cycles/kernel/svm/svm_texture.h +++ b/intern/cycles/kernel/svm/svm_texture.h @@ -64,12 +64,12 @@ __device void voronoi(float3 p, NodeDistanceMetric distance_metric, float e, flo for(xx = xi-1; xx <= xi+1; xx++) { for(yy = yi-1; yy <= yi+1; yy++) { for(zz = zi-1; zz <= zi+1; zz++) { - float3 ip = make_float3(xx, yy, zz); + float3 ip = make_float3((float)xx, (float)yy, (float)zz); float3 vp = cellnoise_color(ip); float3 pd = p - (vp + ip); float d = voronoi_distance(distance_metric, pd, e); - vp += make_float3(xx, yy, zz); + vp += make_float3((float)xx, (float)yy, (float)zz); if(d < da[0]) { da[3] = da[2]; diff --git a/intern/cycles/render/CMakeLists.txt b/intern/cycles/render/CMakeLists.txt index f2342c9032a..9a0583c48aa 100644 --- a/intern/cycles/render/CMakeLists.txt +++ b/intern/cycles/render/CMakeLists.txt @@ -1,5 +1,13 @@ -INCLUDE_DIRECTORIES(. ../device ../kernel ../kernel/svm ../kernel/osl ../bvh ../util) +INCLUDE_DIRECTORIES( + . + ../device + ../kernel + ../kernel/svm + ../kernel/osl + ../bvh + ../util + ${GLEW_INCLUDE_PATH}) SET(sources attribute.cpp diff --git a/intern/cycles/render/buffers.h b/intern/cycles/render/buffers.h index f31ddd1e9bd..1922f875d86 100644 --- a/intern/cycles/render/buffers.h +++ b/intern/cycles/render/buffers.h @@ -28,7 +28,7 @@ CCL_NAMESPACE_BEGIN class Device; -class float4; +struct float4; /* Render Buffers */ diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index 42cadb8faa7..ea1b794b176 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -990,8 +990,8 @@ void BsdfNode::compile(SVMCompiler& compiler, ShaderInput *param1, ShaderInput * compiler.add_node(NODE_CLOSURE_BSDF, closure, - (param1)? __float_as_int(param1->value.x): 0.0f, - (param2)? __float_as_int(param2->value.x): 0.0f); + __float_as_int((param1)? param1->value.x: 0.0f), + __float_as_int((param2)? param2->value.x: 0.0f)); } void BsdfNode::compile(SVMCompiler& compiler) diff --git a/intern/cycles/render/object.h b/intern/cycles/render/object.h index ff92b381063..7a12a06853b 100644 --- a/intern/cycles/render/object.h +++ b/intern/cycles/render/object.h @@ -31,7 +31,7 @@ class DeviceScene; class Mesh; class Progress; class Scene; -class Transform; +struct Transform; /* Object */ diff --git a/intern/cycles/render/shader.h b/intern/cycles/render/shader.h index 0712100b3e7..cc8bc473a3f 100644 --- a/intern/cycles/render/shader.h +++ b/intern/cycles/render/shader.h @@ -35,7 +35,7 @@ class Mesh; class Progress; class Scene; class ShaderGraph; -class float3; +struct float3; /* Shader describing the appearance of a Mesh, Light or Background. * diff --git a/intern/cycles/render/svm.h b/intern/cycles/render/svm.h index 346d2a73801..f76649e4a6f 100644 --- a/intern/cycles/render/svm.h +++ b/intern/cycles/render/svm.h @@ -30,7 +30,7 @@ CCL_NAMESPACE_BEGIN class Device; class DeviceScene; class ImageManager; -class KernelSunSky; +struct KernelSunSky; class Scene; class ShaderGraph; class ShaderInput; diff --git a/intern/cycles/subd/subd_build.cpp b/intern/cycles/subd/subd_build.cpp index 4c2a6299014..640c30eba9d 100644 --- a/intern/cycles/subd/subd_build.cpp +++ b/intern/cycles/subd/subd_build.cpp @@ -228,7 +228,7 @@ void SubdAccBuilder::computeEdgeStencil(SubdFaceRing *ring, GregoryAccStencil *s computeBoundaryTangentStencils(ring, vert, r0, r1); int k = valence - 1; - float omega = M_PI / k; + float omega = M_PI_F / k; int eid1 = edge1Indices[primitiveOffset + v]; int eid2 = edge2Indices[primitiveOffset + v]; @@ -298,7 +298,7 @@ void SubdAccBuilder::computeEdgeStencil(SubdFaceRing *ring, GregoryAccStencil *s } } else { - float costerm = cosf(M_PI / valence); + float costerm = cosf(M_PI_F / valence); float sqrtterm = sqrtf(4.0f + costerm*costerm); /* float tangentScale = 1.0f; */ @@ -319,11 +319,11 @@ void SubdAccBuilder::computeEdgeStencil(SubdFaceRing *ring, GregoryAccStencil *s SubdEdge *edge = eit.current(); assert(vert->co == edge->from()->co); - float costerm1_a = cosf(M_PI * 2 * (j-i1) / valence); - float costerm1_b = cosf(M_PI * (2 * (j-i1)-1) / valence); /* -1 instead of +1 b/c of edge->next->to() */ + float costerm1_a = cosf(M_PI_F * 2 * (j-i1) / valence); + float costerm1_b = cosf(M_PI_F * (2 * (j-i1)-1) / valence); /* -1 instead of +1 b/c of edge->next->to() */ - float costerm2_a = cosf(M_PI * 2 * (j-i2) / valence); - float costerm2_b = cosf(M_PI * (2 * (j-i2)-1) / valence); /* -1 instead of +1 b/c of edge->next->to() */ + float costerm2_a = cosf(M_PI_F * 2 * (j-i2) / valence); + float costerm2_b = cosf(M_PI_F * (2 * (j-i2)-1) / valence); /* -1 instead of +1 b/c of edge->next->to() */ stencil->get(eid1, edge->to()) += alpha * costerm1_a; @@ -413,10 +413,10 @@ void SubdAccBuilder::computeInteriorStencil(SubdFaceRing *ring, GregoryAccStenci } else { SubdVert *e0 = edge->from(); - float costerm0 = cosf(2.0f * M_PI / pseudoValence(e0)); + float costerm0 = cosf(2.0f * M_PI_F / pseudoValence(e0)); SubdVert *f0 = edge->to(); - float costerm1 = cosf(2.0f * M_PI / pseudoValence(f0)); + float costerm1 = cosf(2.0f * M_PI_F / pseudoValence(f0)); /* p0 +------+ q0 * | | @@ -566,7 +566,7 @@ void SubdAccBuilder::computeBoundaryTangentStencils(SubdFaceRing *ring, SubdVert int valence = vert->valence(); int k = valence - 1; - float omega = M_PI / k; + float omega = M_PI_F / k; float s = sinf(omega); float c = cosf(omega); diff --git a/intern/cycles/subd/subd_split.cpp b/intern/cycles/subd/subd_split.cpp index 712bd041e64..d61a42e4dcf 100644 --- a/intern/cycles/subd/subd_split.cpp +++ b/intern/cycles/subd/subd_split.cpp @@ -82,8 +82,8 @@ int DiagSplit::T(Patch *patch, float2 Pstart, float2 Pend) Plast = P; } - int tmin = ceil(Lsum/dicing_rate); - int tmax = ceil((test_steps-1)*Lmax/dicing_rate); // XXX paper says N instead of N-1, seems wrong? + int tmin = (int)ceil(Lsum/dicing_rate); + int tmax = (int)ceil((test_steps-1)*Lmax/dicing_rate); // XXX paper says N instead of N-1, seems wrong? if(tmax - tmin > split_threshold) return DSPLIT_NON_UNIFORM; diff --git a/intern/cycles/util/util_map.h b/intern/cycles/util/util_map.h index 884f45c3b27..f0abe70f785 100644 --- a/intern/cycles/util/util_map.h +++ b/intern/cycles/util/util_map.h @@ -20,7 +20,7 @@ #define __UTIL_MAP_H__ #include -#include +#include CCL_NAMESPACE_BEGIN diff --git a/intern/cycles/util/util_math.h b/intern/cycles/util/util_math.h index 26d6d429b7a..0ab06f94701 100644 --- a/intern/cycles/util/util_math.h +++ b/intern/cycles/util/util_math.h @@ -48,7 +48,8 @@ CCL_NAMESPACE_BEGIN #ifdef _WIN32 -#define copysignf _copysign +#define copysignf(x, y) ((float)_copysign(x, y)) +#define hypotf(x, y) _hypotf(x, y) __device_inline float fmaxf(float a, float b) { diff --git a/intern/cycles/util/util_set.h b/intern/cycles/util/util_set.h index ac310e93e80..8904063dd86 100644 --- a/intern/cycles/util/util_set.h +++ b/intern/cycles/util/util_set.h @@ -20,7 +20,7 @@ #define __UTIL_SET_H__ #include -#include +#include CCL_NAMESPACE_BEGIN diff --git a/intern/cycles/util/util_types.h b/intern/cycles/util/util_types.h index a0e352128d1..bc7ba056390 100644 --- a/intern/cycles/util/util_types.h +++ b/intern/cycles/util/util_types.h @@ -34,7 +34,12 @@ #define __local #define __shared #define __constant + +#ifdef __GNUC__ #define __device_inline static inline __attribute__((always_inline)) +#else +#define __device_inline static __forceinline +#endif #endif diff --git a/intern/guardedalloc/MEM_guardedalloc.h b/intern/guardedalloc/MEM_guardedalloc.h index 1bc7f7c59dd..a4beea6d8d5 100644 --- a/intern/guardedalloc/MEM_guardedalloc.h +++ b/intern/guardedalloc/MEM_guardedalloc.h @@ -63,7 +63,11 @@ #ifndef LIBEXPORT #ifdef _WIN32 +#ifdef BLENDER_PLUGIN +#define LIBEXPORT __declspec(dllimport) +#else #define LIBEXPORT __declspec(dllexport) +#endif #else #define LIBEXPORT #endif diff --git a/source/blender/makesrna/RNA_types.h b/source/blender/makesrna/RNA_types.h index 63cc0bb737c..229d0fdb020 100644 --- a/source/blender/makesrna/RNA_types.h +++ b/source/blender/makesrna/RNA_types.h @@ -36,11 +36,17 @@ extern "C" { #endif +#ifndef LIBEXPORT #ifdef _WIN32 +#ifdef BLENDER_PLUGIN +#define LIBEXPORT __declspec(dllimport) +#else #define LIBEXPORT __declspec(dllexport) +#endif #else #define LIBEXPORT #endif +#endif struct ParameterList; struct FunctionRNA; diff --git a/source/blender/makesrna/intern/makesrna.c b/source/blender/makesrna/intern/makesrna.c index e056c545ead..49f2969f72d 100644 --- a/source/blender/makesrna/intern/makesrna.c +++ b/source/blender/makesrna/intern/makesrna.c @@ -2450,11 +2450,17 @@ static void rna_generate(BlenderRNA *brna, FILE *f, const char *filename, const " Do not edit manually, changes will be overwritten. */\n\n" "#define RNA_RUNTIME\n\n"); + fprintf(f, "#ifndef LIBEXPORT\n"); fprintf(f, "#ifdef _WIN32\n"); + fprintf(f, "#ifdef BLENDER_PLUGIN\n"); + fprintf(f, "#define LIBEXPORT __declspec(dllimport)\n"); + fprintf(f, "#else\n"); fprintf(f, "#define LIBEXPORT __declspec(dllexport)\n"); + fprintf(f, "#endif\n"); fprintf(f, "#else\n"); fprintf(f, "#define LIBEXPORT\n"); - fprintf(f, "#endif\n\n"); + fprintf(f, "#endif\n"); + fprintf(f, "#endif\n"); fprintf(f, "#include \n"); fprintf(f, "#include \n"); @@ -2580,7 +2586,7 @@ static const char *cpp_classes = "" "namespace BL {\n" "\n" "#define BOOLEAN_PROPERTY(sname, identifier) \\\n" -" inline bool sname::identifier(void) { return (bool)sname##_##identifier##_get(&ptr); }\n" +" inline bool sname::identifier(void) { return sname##_##identifier##_get(&ptr)? true: false; }\n" "\n" "#define BOOLEAN_ARRAY_PROPERTY(sname, size, identifier) \\\n" " inline Array sname::identifier(void) \\\n" @@ -2622,7 +2628,7 @@ static const char *cpp_classes = "" "public:\n" " Pointer(const PointerRNA& p) : ptr(p) { }\n" " operator const PointerRNA&() { return ptr; }\n" -" bool is_a(StructRNA *type) { return RNA_struct_is_a(ptr.type, type); }\n" +" bool is_a(StructRNA *type) { return RNA_struct_is_a(ptr.type, type)? true: false; }\n" " operator void*() { return ptr.data; }\n" " operator bool() { return ptr.data != NULL; }\n" "\n" From 0651b9fde32a7349e782522cba431af9552c23e5 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 4 May 2011 09:41:45 +0000 Subject: [PATCH 012/241] Cycles: fix scene not updating for animation render, patch by David Rodriguez Garcia. --- intern/cycles/blender/addon/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/intern/cycles/blender/addon/__init__.py b/intern/cycles/blender/addon/__init__.py index 0a2e5cee142..bb418340f55 100644 --- a/intern/cycles/blender/addon/__init__.py +++ b/intern/cycles/blender/addon/__init__.py @@ -48,6 +48,7 @@ class CyclesRender(bpy.types.RenderEngine): engine.free(self) def render(self, scene): + scene.frame_set(scene.frame_current) # should this be done already? engine.create(self, scene, True) engine.render(self, scene) From f56aa76752315a763924ade2406d1bcc436f27f1 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 4 May 2011 09:58:02 +0000 Subject: [PATCH 013/241] Cycles: some more windows build fixes, based on patch by Francisco De La Cruz. --- intern/cycles/cmake/platforms.cmake | 2 +- intern/cycles/kernel/CMakeLists.txt | 8 +++++++- intern/cycles/util/util_math.h | 4 ++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/intern/cycles/cmake/platforms.cmake b/intern/cycles/cmake/platforms.cmake index 659fd5dcad3..e4364d8fc5d 100644 --- a/intern/cycles/cmake/platforms.cmake +++ b/intern/cycles/cmake/platforms.cmake @@ -11,7 +11,7 @@ IF(APPLE) ENDIF(APPLE) IF(WIN32) - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS /EHsc /fp:fast") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Ox /Ot /arch:SSE2 -D_CRT_SECURE_NO_WARNINGS /EHsc /fp:fast") SET(RTTI_DISABLE_FLAGS "/GR- -DBOOST_NO_RTTI -DBOOST_NO_TYPEID") SET(PYTHON_MODULE_FLAGS "-DLL") ENDIF(WIN32) diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt index 1f027b40108..f1aa1db9e8c 100644 --- a/intern/cycles/kernel/CMakeLists.txt +++ b/intern/cycles/kernel/CMakeLists.txt @@ -71,6 +71,12 @@ SET(headers # CUDA module +IF("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + SET(CUDA_BITS 64) +ELSE() + SET(CUDA_BITS 32) +ENDIF() + IF(WITH_CYCLES_CUDA) SET(cuda_sources kernel.cu ${headers}) SET(cuda_cubins) @@ -80,7 +86,7 @@ IF(WITH_CYCLES_CUDA) ADD_CUSTOM_COMMAND( OUTPUT ${cuda_cubin} - COMMAND ${CUDA_NVCC} -arch=${arch} -m64 --cubin ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cu --use_fast_math -o ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} --ptxas-options="-v" --maxrregcount=${CYCLES_CUDA_MAXREG} --opencc-options -OPT:Olimit=0 -I${CMAKE_CURRENT_SOURCE_DIR}/../util -I${CMAKE_CURRENT_SOURCE_DIR}/svm -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= + COMMAND ${CUDA_NVCC} -arch=${arch} -m${CUDA_BITS} --cubin ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cu --use_fast_math -o ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} --ptxas-options="-v" --maxrregcount=${CYCLES_CUDA_MAXREG} --opencc-options -OPT:Olimit=0 -I${CMAKE_CURRENT_SOURCE_DIR}/../util -I${CMAKE_CURRENT_SOURCE_DIR}/svm -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= -DNVCC DEPENDS ${cuda_sources}) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} DESTINATION ${CYCLES_INSTALL_PATH}/cycles/lib) diff --git a/intern/cycles/util/util_math.h b/intern/cycles/util/util_math.h index 0ab06f94701..3475e309af5 100644 --- a/intern/cycles/util/util_math.h +++ b/intern/cycles/util/util_math.h @@ -48,9 +48,13 @@ CCL_NAMESPACE_BEGIN #ifdef _WIN32 +#ifndef __KERNEL_GPU__ + #define copysignf(x, y) ((float)_copysign(x, y)) #define hypotf(x, y) _hypotf(x, y) +#endif + __device_inline float fmaxf(float a, float b) { return (a > b)? a: b; From cf00171da56ce1e8d6adde9e447c4dab52f47ea9 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 4 May 2011 14:01:38 +0000 Subject: [PATCH 014/241] Cycles: fix for UV texture coordinates lookup with more than one mesh, bug in corner attribute storage. --- intern/cycles/kernel/kernel_triangle.h | 16 ++++++++-------- intern/cycles/render/mesh.cpp | 6 ++++-- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/intern/cycles/kernel/kernel_triangle.h b/intern/cycles/kernel/kernel_triangle.h index 64cbb2dcb61..ddf8b7b1caf 100644 --- a/intern/cycles/kernel/kernel_triangle.h +++ b/intern/cycles/kernel/kernel_triangle.h @@ -116,10 +116,10 @@ __device float triangle_attribute_float(KernelGlobals *kg, const ShaderData *sd, return sd->u*f0 + sd->v*f1 + (1.0f - sd->u - sd->v)*f2; } else if(elem == ATTR_ELEMENT_CORNER) { - int tri = offset + sd->prim; - float f0 = kernel_tex_fetch(__attributes_float, tri*3 + 0); - float f1 = kernel_tex_fetch(__attributes_float, tri*3 + 1); - float f2 = kernel_tex_fetch(__attributes_float, tri*3 + 2); + int tri = offset + sd->prim*3; + float f0 = kernel_tex_fetch(__attributes_float, tri + 0); + float f1 = kernel_tex_fetch(__attributes_float, tri + 1); + float f2 = kernel_tex_fetch(__attributes_float, tri + 2); #ifdef __RAY_DIFFERENTIALS__ if(dx) *dx = sd->du.dx*f0 + sd->dv.dx*f1 - (sd->du.dx + sd->dv.dx)*f2; @@ -159,10 +159,10 @@ __device float3 triangle_attribute_float3(KernelGlobals *kg, const ShaderData *s return sd->u*f0 + sd->v*f1 + (1.0f - sd->u - sd->v)*f2; } else if(elem == ATTR_ELEMENT_CORNER) { - int tri = offset + sd->prim; - float3 f0 = as_float3(kernel_tex_fetch(__attributes_float3, tri*3 + 0)); - float3 f1 = as_float3(kernel_tex_fetch(__attributes_float3, tri*3 + 1)); - float3 f2 = as_float3(kernel_tex_fetch(__attributes_float3, tri*3 + 2)); + int tri = offset + sd->prim*3; + float3 f0 = as_float3(kernel_tex_fetch(__attributes_float3, tri + 0)); + float3 f1 = as_float3(kernel_tex_fetch(__attributes_float3, tri + 1)); + float3 f2 = as_float3(kernel_tex_fetch(__attributes_float3, tri + 2)); #ifdef __RAY_DIFFERENTIALS__ if(dx) *dx = sd->du.dx*f0 + sd->dv.dx*f1 - (sd->du.dx + sd->dv.dx)*f2; diff --git a/intern/cycles/render/mesh.cpp b/intern/cycles/render/mesh.cpp index eb9fefcc0ad..aae32851131 100644 --- a/intern/cycles/render/mesh.cpp +++ b/intern/cycles/render/mesh.cpp @@ -469,11 +469,13 @@ void MeshManager::device_update_attributes(Device *device, DeviceScene *dscene, } /* mesh vertex/triangle index is global, not per object, so we sneak - a correct for that in here */ + a correction for that in here */ if(req.element == ATTR_ELEMENT_VERTEX) req.offset -= mesh->vert_offset; - else + else if(mattr->element == Attribute::FACE) req.offset -= mesh->tri_offset; + else if(mattr->element == Attribute::CORNER) + req.offset -= 3*mesh->tri_offset; if(progress.get_cancel()) return; } From 6778ea39d5ea56a3973b96c3819b20ed96fb01a6 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 4 May 2011 15:22:15 +0000 Subject: [PATCH 015/241] Cycles: rename UV geometry node output to Parametric to avoid confusion with uv texture coordinates. --- intern/cycles/kernel/osl/nodes/node_geometry.osl | 8 ++++---- intern/cycles/render/nodes.cpp | 4 ++-- source/blender/nodes/intern/SHD_nodes/SHD_geometry.c | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/intern/cycles/kernel/osl/nodes/node_geometry.osl b/intern/cycles/kernel/osl/nodes/node_geometry.osl index bf76e2e597a..9efc2a75c64 100644 --- a/intern/cycles/kernel/osl/nodes/node_geometry.osl +++ b/intern/cycles/kernel/osl/nodes/node_geometry.osl @@ -27,7 +27,7 @@ shader node_geometry( output normal Tangent = normal(0.0, 0.0, 0.0), output normal TrueNormal = normal(0.0, 0.0, 0.0), output vector Incoming = vector(0.0, 0.0, 0.0), - output point UV = point(0.0, 0.0, 0.0), + output point Parametric = point(0.0, 0.0, 0.0), output float Backfacing = 0.0) { Position = P; @@ -35,16 +35,16 @@ shader node_geometry( Tangent = normalize(dPdu); TrueNormal = Ng; Incoming = I; - UV = point(u, v, 0.0); + Parametric = point(u, v, 0.0); Backfacing = backfacing(); if(bump_offset == "dx") { Position += Dx(Position); - UV += Dx(UV); + Parametric += Dx(Parametric); } else if(bump_offset == "dy") { Position += Dy(Position); - UV += Dy(UV); + Parametric += Dy(Parametric); } } diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index ea1b794b176..d437d0dfcc1 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -1251,7 +1251,7 @@ GeometryNode::GeometryNode() add_output("Tangent", SHADER_SOCKET_NORMAL); add_output("True Normal", SHADER_SOCKET_NORMAL); add_output("Incoming", SHADER_SOCKET_VECTOR); - add_output("UV", SHADER_SOCKET_POINT); + add_output("Parametric", SHADER_SOCKET_POINT); add_output("Backfacing", SHADER_SOCKET_FLOAT); } @@ -1295,7 +1295,7 @@ void GeometryNode::compile(SVMCompiler& compiler) compiler.add_node(geom_node, NODE_GEOM_I, out->stack_offset); } - out = output("UV"); + out = output("Parametric"); if(!out->links.empty()) { compiler.stack_assign(out); compiler.add_node(geom_node, NODE_GEOM_uv, out->stack_offset); diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_geometry.c b/source/blender/nodes/intern/SHD_nodes/SHD_geometry.c index 0f6226e9fff..20fbb520ef8 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_geometry.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_geometry.c @@ -37,7 +37,7 @@ static bNodeSocketType sh_node_geometry_out[]= { { SOCK_VECTOR, 1, "Tangent", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_VECTOR, 1, "True Normal", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_VECTOR, 1, "Incoming", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VECTOR, 1, "UV", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 1, "Parametric", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_VALUE, 1, "Backfacing", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; From 61fdadbb2e67fcd3dbae08a22c2c64983cca2f5d Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 5 May 2011 09:43:45 +0000 Subject: [PATCH 016/241] Cycles refactoring: put external engine code into separate file. --- source/blender/blenloader/intern/readfile.c | 2 +- .../blender/editors/render/render_shading.c | 2 +- .../editors/space_view3d/space_view3d.c | 2 +- .../editors/space_view3d/view3d_draw.c | 1 + source/blender/makesrna/intern/rna_render.c | 1 + source/blender/makesrna/intern/rna_scene.c | 1 + source/blender/render/CMakeLists.txt | 2 + source/blender/render/SConscript | 2 +- .../blender/render/extern/include/RE_engine.h | 102 +++++++++ .../render/extern/include/RE_pipeline.h | 54 ----- .../render/intern/include/renderpipeline.h | 8 + .../blender/render/intern/pipeline/engine.c | 205 ++++++++++++++++++ .../blender/render/intern/source/pipeline.c | 158 +------------- source/blender/windowmanager/intern/wm_draw.c | 2 +- .../windowmanager/intern/wm_init_exit.c | 1 + source/creator/creator.c | 1 + 16 files changed, 333 insertions(+), 211 deletions(-) create mode 100644 source/blender/render/extern/include/RE_engine.h create mode 100644 source/blender/render/intern/pipeline/engine.c diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 82c847abebf..02c77a7e1a4 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -139,7 +139,7 @@ #include "BLO_undofile.h" #include "BLO_readblenfile.h" // streaming read pipe, for BLO_readblenfile BLO_readblenfilememory -#include "RE_pipeline.h" +#include "RE_engine.h" #include "readfile.h" diff --git a/source/blender/editors/render/render_shading.c b/source/blender/editors/render/render_shading.c index 07783ee6ed8..c30d6f3186b 100644 --- a/source/blender/editors/render/render_shading.c +++ b/source/blender/editors/render/render_shading.c @@ -238,7 +238,7 @@ static void scene_changed(Main *bmain, Scene *UNUSED(scene)) #include "DNA_screen_types.h" #include "DNA_view3d_types.h" -#include "RE_pipeline.h" +#include "RE_engine.h" static void update_render_engines(Main *bmain, int tagged_only) { diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c index c96917333fd..f85eb7d66a0 100644 --- a/source/blender/editors/space_view3d/space_view3d.c +++ b/source/blender/editors/space_view3d/space_view3d.c @@ -58,7 +58,7 @@ #include "WM_api.h" #include "WM_types.h" -#include "RE_pipeline.h" +#include "RE_engine.h" #include "RNA_access.h" diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index 3e2328ed010..5eac095e6a7 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -63,6 +63,7 @@ #include "BKE_scene.h" #include "BKE_unit.h" +#include "RE_engine.h" #include "RE_pipeline.h" // make_stars #include "IMB_imbuf_types.h" diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c index 85e1ec159cd..842a5f49998 100644 --- a/source/blender/makesrna/intern/rna_render.c +++ b/source/blender/makesrna/intern/rna_render.c @@ -35,6 +35,7 @@ #include "rna_internal.h" +#include "RE_engine.h" #include "RE_pipeline.h" #include "BKE_utildefines.h" diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index 294062c2ed3..327dd21b7c7 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -41,6 +41,7 @@ #include "DNA_userdef_types.h" /* Include for Bake Options */ +#include "RE_engine.h" #include "RE_pipeline.h" #ifdef WITH_QUICKTIME diff --git a/source/blender/render/CMakeLists.txt b/source/blender/render/CMakeLists.txt index cc69760415b..2ffe3b360e9 100644 --- a/source/blender/render/CMakeLists.txt +++ b/source/blender/render/CMakeLists.txt @@ -77,7 +77,9 @@ set(SRC intern/source/volumetric.c intern/source/voxeldata.c intern/source/zbuf.c + intern/pipeline/engine.c + extern/include/RE_engine.h extern/include/RE_pipeline.h extern/include/RE_render_ext.h extern/include/RE_shader_ext.h diff --git a/source/blender/render/SConscript b/source/blender/render/SConscript index e175d81b806..4eff9fe238d 100644 --- a/source/blender/render/SConscript +++ b/source/blender/render/SConscript @@ -1,7 +1,7 @@ #!/usr/bin/python Import ('env') -sources = env.Glob('intern/source/*.c') +sources = env.Glob('intern/source/*.c') + env.Glob('intern/pipeline/*.c') raysources = env.Glob('intern/raytrace/*.cpp') incs = 'intern/include #/intern/guardedalloc ../blenlib ../makesdna ../makesrna' diff --git a/source/blender/render/extern/include/RE_engine.h b/source/blender/render/extern/include/RE_engine.h new file mode 100644 index 00000000000..6793acb1482 --- /dev/null +++ b/source/blender/render/extern/include/RE_engine.h @@ -0,0 +1,102 @@ +/* + * $Id$ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2006 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +/** \file RE_engine.h + * \ingroup render + */ + +#ifndef RE_ENGINE_H +#define RE_ENGINE_H + +#include "DNA_listBase.h" +#include "DNA_vec_types.h" +#include "RNA_types.h" + +struct Render; +struct RenderEngine; +struct RenderEngineType; +struct RenderLayer; +struct RenderResult; +struct ReportList; +struct Scene; + +/* External Engine */ + +#define RE_INTERNAL 1 +#define RE_GAME 2 +#define RE_DO_PREVIEW 4 +#define RE_DO_ALL 8 + +extern ListBase R_engines; + +typedef struct RenderEngineType { + struct RenderEngineType *next, *prev; + + /* type info */ + char idname[64]; // best keep the same size as BKE_ST_MAXNAME + char name[64]; + int flag; + + void (*render)(struct RenderEngine *engine, struct Scene *scene); + void (*draw)(struct RenderEngine *engine, struct Scene *scene); + void (*update)(struct RenderEngine *engine, struct Scene *scene); + + /* RNA integration */ + ExtensionRNA ext; +} RenderEngineType; + +typedef struct RenderEngine { + RenderEngineType *type; + struct Render *re; + ListBase fullresult; + void *py_instance; + int do_draw; + int do_update; +} RenderEngine; + +RenderEngine *RE_engine_create(RenderEngineType *type); +void RE_engine_free(RenderEngine *engine); + +void RE_layer_load_from_file(struct RenderLayer *layer, struct ReportList *reports, const char *filename, int x, int y); +void RE_result_load_from_file(struct RenderResult *result, struct ReportList *reports, const char *filename); + +LIBEXPORT struct RenderResult *RE_engine_begin_result(RenderEngine *engine, int x, int y, int w, int h); +LIBEXPORT void RE_engine_update_result(RenderEngine *engine, struct RenderResult *result); +LIBEXPORT void RE_engine_end_result(RenderEngine *engine, struct RenderResult *result); + +LIBEXPORT int RE_engine_test_break(RenderEngine *engine); +LIBEXPORT void RE_engine_update_stats(RenderEngine *engine, const char *stats, const char *info); + +int RE_engine_render(struct Render *re, int do_all); + +void RE_engines_init(void); +void RE_engines_exit(void); + +#endif /* RE_ENGINE_H */ + diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h index 65b03e85ca0..0e9fd6cc089 100644 --- a/source/blender/render/extern/include/RE_pipeline.h +++ b/source/blender/render/extern/include/RE_pipeline.h @@ -36,7 +36,6 @@ #include "DNA_listBase.h" #include "DNA_vec_types.h" -#include "RNA_types.h" struct bNodeTree; struct Image; @@ -44,11 +43,8 @@ struct Main; struct NodeBlurData; struct Object; struct RenderData; -struct RenderEngine; -struct RenderEngineType; struct RenderResult; struct ReportList; -struct ReportList; struct Scene; struct SceneRenderLayer; @@ -263,56 +259,6 @@ void RE_DataBase_GetView(struct Render *re, float mat[][4]); void RE_GetCameraWindow(struct Render *re, struct Object *camera, int frame, float mat[][4]); struct Scene *RE_GetScene(struct Render *re); -/* External Engine */ - -#define RE_INTERNAL 1 -#define RE_GAME 2 -#define RE_DO_PREVIEW 4 -#define RE_DO_ALL 8 - -extern ListBase R_engines; - -typedef struct RenderEngineType { - struct RenderEngineType *next, *prev; - - /* type info */ - char idname[64]; // best keep the same size as BKE_ST_MAXNAME - char name[64]; - int flag; - - void (*render)(struct RenderEngine *engine, struct Scene *scene); - void (*draw)(struct RenderEngine *engine, struct Scene *scene); - void (*update)(struct RenderEngine *engine, struct Scene *scene); - - /* RNA integration */ - ExtensionRNA ext; -} RenderEngineType; - -typedef struct RenderEngine { - RenderEngineType *type; - struct Render *re; - ListBase fullresult; - void *py_instance; - int do_draw; - int do_update; -} RenderEngine; - -RenderEngine *RE_engine_create(RenderEngineType *type); -void RE_engine_free(RenderEngine *engine); - -void RE_layer_load_from_file(RenderLayer *layer, struct ReportList *reports, const char *filename, int x, int y); -void RE_result_load_from_file(RenderResult *result, struct ReportList *reports, const char *filename); - -LIBEXPORT struct RenderResult *RE_engine_begin_result(RenderEngine *engine, int x, int y, int w, int h); -LIBEXPORT void RE_engine_update_result(RenderEngine *engine, struct RenderResult *result); -LIBEXPORT void RE_engine_end_result(RenderEngine *engine, struct RenderResult *result); - -LIBEXPORT int RE_engine_test_break(RenderEngine *engine); -LIBEXPORT void RE_engine_update_stats(RenderEngine *engine, const char *stats, const char *info); - -void RE_engines_init(void); -void RE_engines_exit(void); - int RE_is_rendering_allowed(struct Scene *scene, void *erh, void (*error)(void *handle, const char *str)); #endif /* RE_PIPELINE_H */ diff --git a/source/blender/render/intern/include/renderpipeline.h b/source/blender/render/intern/include/renderpipeline.h index 7e50af97216..46e5d0994e2 100644 --- a/source/blender/render/intern/include/renderpipeline.h +++ b/source/blender/render/intern/include/renderpipeline.h @@ -35,14 +35,22 @@ #ifndef PIPELINE_H #define PIPELINE_H +struct ListBase; struct Render; struct RenderResult; struct RenderLayer; +struct rcti; struct RenderLayer *render_get_active_layer(struct Render *re, struct RenderResult *rr); float panorama_pixel_rot(struct Render *re); #define PASS_VECTOR_MAX 10000.0f +#define RR_USEMEM 0 + +struct RenderResult *new_render_result(struct Render *re, struct rcti *partrct, int crop, int savebuffers); +void merge_render_result(struct RenderResult *rr, struct RenderResult *rrpart); +void free_render_result(struct ListBase *lb, struct RenderResult *rr); + #endif /* PIPELINE_H */ diff --git a/source/blender/render/intern/pipeline/engine.c b/source/blender/render/intern/pipeline/engine.c new file mode 100644 index 00000000000..4035f5569ee --- /dev/null +++ b/source/blender/render/intern/pipeline/engine.c @@ -0,0 +1,205 @@ +/* + * $Id$ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2006 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +/** \file blender/render/intern/pipeline/engine.c + * \ingroup render + */ + +#include +#include +#include + +#include "MEM_guardedalloc.h" + +#include "BLI_listbase.h" +#include "BLI_utildefines.h" + +#include "BKE_report.h" + +#include "IMB_imbuf.h" +#include "IMB_imbuf_types.h" + +#include "intern/openexr/openexr_multi.h" + +#ifdef WITH_PYTHON +#include "BPY_extern.h" +#endif + +#include "RE_engine.h" +#include "RE_pipeline.h" + +#include "render_types.h" +#include "renderpipeline.h" + +/* Create, Free */ + +RenderEngine *RE_engine_create(RenderEngineType *type) +{ + RenderEngine *engine = MEM_callocN(sizeof(RenderEngine), "RenderEngine"); + engine->type= type; + + return engine; +} + +void RE_engine_free(RenderEngine *engine) +{ +#ifdef WITH_PYTHON + if(engine->py_instance) { + BPY_DECREF(engine->py_instance); + } +#endif + + MEM_freeN(engine); +} + +/* Render Results */ + +RenderResult *RE_engine_begin_result(RenderEngine *engine, int x, int y, int w, int h) +{ + Render *re= engine->re; + RenderResult *result; + rcti disprect; + + /* ensure the coordinates are within the right limits */ + CLAMP(x, 0, re->result->rectx); + CLAMP(y, 0, re->result->recty); + CLAMP(w, 0, re->result->rectx); + CLAMP(h, 0, re->result->recty); + + if(x + w > re->result->rectx) + w= re->result->rectx - x; + if(y + h > re->result->recty) + h= re->result->recty - y; + + /* allocate a render result */ + disprect.xmin= x; + disprect.xmax= x+w; + disprect.ymin= y; + disprect.ymax= y+h; + + result= new_render_result(re, &disprect, 0, RR_USEMEM); + BLI_addtail(&engine->fullresult, result); + + return result; +} + +void RE_engine_update_result(RenderEngine *engine, RenderResult *result) +{ + Render *re= engine->re; + + if(result) { + result->renlay= result->layers.first; // weak, draws first layer always + re->display_draw(re->ddh, result, NULL); + } +} + +void RE_engine_end_result(RenderEngine *engine, RenderResult *result) +{ + Render *re= engine->re; + + if(!result) + return; + + /* merge. on break, don't merge in result for preview renders, looks nicer */ + if(!(re->test_break(re->tbh) && (re->r.scemode & R_PREVIEWBUTS))) + merge_render_result(re->result, result); + + /* draw */ + if(!re->test_break(re->tbh)) { + result->renlay= result->layers.first; // weak, draws first layer always + re->display_draw(re->ddh, result, NULL); + } + + /* free */ + free_render_result(&engine->fullresult, result); +} + +/* Cancel */ + +int RE_engine_test_break(RenderEngine *engine) +{ + Render *re= engine->re; + + return re->test_break(re->tbh); +} + +/* Statistics */ + +void RE_engine_update_stats(RenderEngine *engine, const char *stats, const char *info) +{ + Render *re= engine->re; + + re->i.statstr= stats; + re->i.infostr= info; + re->stats_draw(re->sdh, &re->i); + re->i.infostr= NULL; + re->i.statstr= NULL; +} + +/* Render */ + +int RE_engine_render(Render *re, int do_all) +{ + RenderEngineType *type= BLI_findstring(&R_engines, re->r.engine, offsetof(RenderEngineType, idname)); + RenderEngine *engine; + + /* verify if we can render */ + if(!(type && type->render)) + return 0; + if((re->r.scemode & R_PREVIEWBUTS) && !(type->flag & RE_DO_PREVIEW)) + return 0; + if(do_all && !(type->flag & RE_DO_ALL)) + return 0; + if(!do_all && (type->flag & RE_DO_ALL)) + return 0; + + /* create render result */ + BLI_rw_mutex_lock(&re->resultmutex, THREAD_LOCK_WRITE); + if(re->result==NULL || !(re->r.scemode & R_PREVIEWBUTS)) { + RE_FreeRenderResult(re->result); + re->result= new_render_result(re, &re->disprect, 0, 0); + } + BLI_rw_mutex_unlock(&re->resultmutex); + + if(re->result==NULL) + return 1; + + /* render */ + engine = RE_engine_create(type); + engine->re= re; + + type->render(engine, re->scene); + + free_render_result(&engine->fullresult, engine->fullresult.first); + + RE_engine_free(engine); + + return 1; +} + diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 41434d7e56d..005bf95b704 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -70,12 +70,9 @@ #include "IMB_imbuf.h" #include "IMB_imbuf_types.h" -#ifdef WITH_PYTHON -#include "BPY_extern.h" -#endif - #include "intern/openexr/openexr_multi.h" +#include "RE_engine.h" #include "RE_pipeline.h" /* internal */ @@ -216,7 +213,7 @@ void RE_FreeRenderResult(RenderResult *res) } /* version that's compatible with fullsample buffers */ -static void free_render_result(ListBase *lb, RenderResult *rr) +void free_render_result(ListBase *lb, RenderResult *rr) { RenderResult *rrnext; @@ -539,12 +536,11 @@ RenderLayer *RE_GetRenderLayer(RenderResult *rr, const char *name) return NULL; } -#define RR_USEMEM 0 /* called by main render as well for parts */ /* will read info from Render *re to define layers */ /* called in threads */ /* re->winx,winy is coordinate space of entire image, partrct the part within */ -static RenderResult *new_render_result(Render *re, rcti *partrct, int crop, int savebuffers) +RenderResult *new_render_result(Render *re, rcti *partrct, int crop, int savebuffers) { RenderResult *rr; RenderLayer *rl; @@ -721,7 +717,7 @@ static void do_merge_tile(RenderResult *rr, RenderResult *rrpart, float *target, /* used when rendering to a full buffer, or when reading the exr part-layer-pass file */ /* no test happens here if it fits... we also assume layers are in sync */ /* is used within threads */ -static void merge_render_result(RenderResult *rr, RenderResult *rrpart) +void merge_render_result(RenderResult *rr, RenderResult *rrpart) { RenderLayer *rl, *rlp; RenderPass *rpass, *rpassp; @@ -1799,12 +1795,10 @@ void RE_TileProcessor(Render *re) /* ************ This part uses API, for rendering Blender scenes ********** */ -static int external_render_3d(Render *re, int do_all); - static void do_render_3d(Render *re) { /* try external */ - if(external_render_3d(re, 0)) + if(RE_engine_render(re, 0)) return; /* internal */ @@ -2632,7 +2626,7 @@ static void do_render_all_options(Render *re) /* ensure no images are in memory from previous animated sequences */ BKE_image_all_free_anim_ibufs(re->r.cfra); - if(external_render_3d(re, 1)) { + if(RE_engine_render(re, 1)) { /* in this case external render overrides all */ } else if(seq_render_active(re)) { @@ -3223,110 +3217,6 @@ void RE_init_threadcount(Render *re) } } -/************************** External Engines ***************************/ - -RenderEngine *RE_engine_create(RenderEngineType *type) -{ - RenderEngine *engine = MEM_callocN(sizeof(RenderEngine), "RenderEngine"); - engine->type= type; - - return engine; -} - -void RE_engine_free(RenderEngine *engine) -{ -#ifdef WITH_PYTHON - if(engine->py_instance) { - /* do this first incase there are any __del__ functions or - * similar that use properties */ - BPY_DECREF(engine->py_instance); - } -#endif - - MEM_freeN(engine); -} - -RenderResult *RE_engine_begin_result(RenderEngine *engine, int x, int y, int w, int h) -{ - Render *re= engine->re; - RenderResult *result; - rcti disprect; - - /* ensure the coordinates are within the right limits */ - CLAMP(x, 0, re->result->rectx); - CLAMP(y, 0, re->result->recty); - CLAMP(w, 0, re->result->rectx); - CLAMP(h, 0, re->result->recty); - - if(x + w > re->result->rectx) - w= re->result->rectx - x; - if(y + h > re->result->recty) - h= re->result->recty - y; - - /* allocate a render result */ - disprect.xmin= x; - disprect.xmax= x+w; - disprect.ymin= y; - disprect.ymax= y+h; - - result= new_render_result(re, &disprect, 0, RR_USEMEM); - BLI_addtail(&engine->fullresult, result); - - return result; -} - -void RE_engine_update_result(RenderEngine *engine, RenderResult *result) -{ - Render *re= engine->re; - - if(result && render_display_draw_enabled(re)) { - result->renlay= result->layers.first; // weak - re->display_draw(re->ddh, result, NULL); - } -} - -void RE_engine_end_result(RenderEngine *engine, RenderResult *result) -{ - Render *re= engine->re; - - if(!result) - return; - - /* merge */ - if(render_display_draw_enabled(re)) { - /* on break, don't merge in result for preview renders, looks nicer */ - if(re->test_break(re->tbh) && (re->r.scemode & R_PREVIEWBUTS)); - else merge_render_result(re->result, result); - } - - /* draw */ - if(!re->test_break(re->tbh) && render_display_draw_enabled(re)) { - result->renlay= result->layers.first; // weak - re->display_draw(re->ddh, result, NULL); - } - - /* free */ - free_render_result(&engine->fullresult, result); -} - -int RE_engine_test_break(RenderEngine *engine) -{ - Render *re= engine->re; - - return re->test_break(re->tbh); -} - -void RE_engine_update_stats(RenderEngine *engine, const char *stats, const char *info) -{ - Render *re= engine->re; - - re->i.statstr= stats; - re->i.infostr= info; - re->stats_draw(re->sdh, &re->i); - re->i.infostr= NULL; - re->i.statstr= NULL; -} - /* loads in image into a result, size must match * x/y offsets are only used on a partial copy when dimensions dont match */ void RE_layer_load_from_file(RenderLayer *layer, ReportList *reports, const char *filename, int x, int y) @@ -3389,40 +3279,4 @@ void RE_result_load_from_file(RenderResult *result, ReportList *reports, const c #endif } -static int external_render_3d(Render *re, int do_all) -{ - RenderEngineType *type= BLI_findstring(&R_engines, re->r.engine, offsetof(RenderEngineType, idname)); - RenderEngine *engine; - - if(!(type && type->render)) - return 0; - if((re->r.scemode & R_PREVIEWBUTS) && !(type->flag & RE_DO_PREVIEW)) - return 0; - if(do_all && !(type->flag & RE_DO_ALL)) - return 0; - if(!do_all && (type->flag & RE_DO_ALL)) - return 0; - - BLI_rw_mutex_lock(&re->resultmutex, THREAD_LOCK_WRITE); - if(re->result==NULL || !(re->r.scemode & R_PREVIEWBUTS)) { - RE_FreeRenderResult(re->result); - re->result= new_render_result(re, &re->disprect, 0, 0); - } - BLI_rw_mutex_unlock(&re->resultmutex); - - if(re->result==NULL) - return 1; - - /* external */ - engine = RE_engine_create(type); - engine->re= re; - - type->render(engine, re->scene); - - free_render_result(&engine->fullresult, engine->fullresult.first); - - RE_engine_free(engine); - - return 1; -} diff --git a/source/blender/windowmanager/intern/wm_draw.c b/source/blender/windowmanager/intern/wm_draw.c index 70faa1d1e3c..61b3dd1f63a 100644 --- a/source/blender/windowmanager/intern/wm_draw.c +++ b/source/blender/windowmanager/intern/wm_draw.c @@ -57,7 +57,7 @@ #include "GPU_draw.h" #include "GPU_extensions.h" -#include "RE_pipeline.h" +#include "RE_engine.h" #include "WM_api.h" #include "WM_types.h" diff --git a/source/blender/windowmanager/intern/wm_init_exit.c b/source/blender/windowmanager/intern/wm_init_exit.c index 58485b1f544..8774f71cd4a 100644 --- a/source/blender/windowmanager/intern/wm_init_exit.c +++ b/source/blender/windowmanager/intern/wm_init_exit.c @@ -65,6 +65,7 @@ #include "BLI_blenlib.h" #include "BLI_winstuff.h" +#include "RE_engine.h" #include "RE_pipeline.h" /* RE_ free stuff */ #ifdef WITH_PYTHON diff --git a/source/creator/creator.c b/source/creator/creator.c index 758989b3eb0..154f04b4693 100644 --- a/source/creator/creator.c +++ b/source/creator/creator.c @@ -90,6 +90,7 @@ #include "BPY_extern.h" #endif +#include "RE_engine.h" #include "RE_pipeline.h" //XXX #include "playanim_ext.h" From c18c6056ffb733fe670860bb6e2809f79834b9a3 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 5 May 2011 13:51:33 +0000 Subject: [PATCH 017/241] Cycles: two 32 bit fixes with help from IRC user Agiofws. --- intern/cycles/blender/blender_python.cpp | 42 ++++++++++++------------ intern/cycles/util/util_system.cpp | 11 +++++++ 2 files changed, 32 insertions(+), 21 deletions(-) diff --git a/intern/cycles/blender/blender_python.cpp b/intern/cycles/blender/blender_python.cpp index 7c5bdf0e519..2397e352114 100644 --- a/intern/cycles/blender/blender_python.cpp +++ b/intern/cycles/blender/blender_python.cpp @@ -41,34 +41,34 @@ static PyObject *init_func(PyObject *self, PyObject *args) static PyObject *create_func(PyObject *self, PyObject *args) { - Py_ssize_t pyengine, pydata, pyscene, pyregion, pyv3d, pyrv3d; + PyObject *pyengine, *pydata, *pyscene, *pyregion, *pyv3d, *pyrv3d; - if(!PyArg_ParseTuple(args, "nnnnnn", &pyengine, &pydata, &pyscene, &pyregion, &pyv3d, &pyrv3d)) + if(!PyArg_ParseTuple(args, "OOOOOO", &pyengine, &pydata, &pyscene, &pyregion, &pyv3d, &pyrv3d)) return NULL; /* RNA */ PointerRNA engineptr; - RNA_pointer_create(NULL, &RNA_RenderEngine, (void*)pyengine, &engineptr); + RNA_pointer_create(NULL, &RNA_RenderEngine, (void*)PyLong_AsVoidPtr(pyengine), &engineptr); BL::RenderEngine engine(engineptr); PointerRNA dataptr; - RNA_id_pointer_create((ID*)pydata, &dataptr); + RNA_id_pointer_create((ID*)PyLong_AsVoidPtr(pydata), &dataptr); BL::BlendData data(dataptr); PointerRNA sceneptr; - RNA_id_pointer_create((ID*)pyscene, &sceneptr); + RNA_id_pointer_create((ID*)PyLong_AsVoidPtr(pyscene), &sceneptr); BL::Scene scene(sceneptr); PointerRNA regionptr; - RNA_id_pointer_create((ID*)pyregion, ®ionptr); + RNA_id_pointer_create((ID*)PyLong_AsVoidPtr(pyregion), ®ionptr); BL::Region region(regionptr); PointerRNA v3dptr; - RNA_id_pointer_create((ID*)pyv3d, &v3dptr); + RNA_id_pointer_create((ID*)PyLong_AsVoidPtr(pyv3d), &v3dptr); BL::SpaceView3D v3d(v3dptr); PointerRNA rv3dptr; - RNA_id_pointer_create((ID*)pyrv3d, &rv3dptr); + RNA_id_pointer_create((ID*)PyLong_AsVoidPtr(pyrv3d), &rv3dptr); BL::RegionView3D rv3d(rv3dptr); /* create session */ @@ -91,12 +91,12 @@ static PyObject *create_func(PyObject *self, PyObject *args) static PyObject *free_func(PyObject *self, PyObject *args) { - Py_ssize_t pysession; + PyObject *pysession; - if(!PyArg_ParseTuple(args, "n", &pysession)) + if(!PyArg_ParseTuple(args, "O", &pysession)) return NULL; - delete (BlenderSession*)pysession; + delete (BlenderSession*)PyLong_AsVoidPtr(pysession); Py_INCREF(Py_None); return Py_None; @@ -104,14 +104,14 @@ static PyObject *free_func(PyObject *self, PyObject *args) static PyObject *render_func(PyObject *self, PyObject *args) { - Py_ssize_t pysession; + PyObject *pysession; - if(!PyArg_ParseTuple(args, "n", &pysession)) + if(!PyArg_ParseTuple(args, "O", &pysession)) return NULL; Py_BEGIN_ALLOW_THREADS - BlenderSession *session = (BlenderSession*)pysession; + BlenderSession *session = (BlenderSession*)PyLong_AsVoidPtr(pysession); session->render(); Py_END_ALLOW_THREADS @@ -122,16 +122,16 @@ static PyObject *render_func(PyObject *self, PyObject *args) static PyObject *draw_func(PyObject *self, PyObject *args) { - Py_ssize_t pysession, pyv3d, pyrv3d; + PyObject *pysession, *pyv3d, *pyrv3d; - if(!PyArg_ParseTuple(args, "nnn", &pysession, &pyv3d, &pyrv3d)) + if(!PyArg_ParseTuple(args, "OOO", &pysession, &pyv3d, &pyrv3d)) return NULL; - BlenderSession *session = (BlenderSession*)pysession; + BlenderSession *session = (BlenderSession*)PyLong_AsVoidPtr(pysession); bool draw_text = false; - if(pyrv3d) { + if(PyLong_AsVoidPtr(pyrv3d)) { /* 3d view drawing */ int viewport[4]; glGetIntegerv(GL_VIEWPORT, viewport); @@ -164,12 +164,12 @@ static PyObject *draw_func(PyObject *self, PyObject *args) static PyObject *sync_func(PyObject *self, PyObject *args) { - Py_ssize_t pysession; + PyObject *pysession; - if(!PyArg_ParseTuple(args, "n", &pysession)) + if(!PyArg_ParseTuple(args, "O", &pysession)) return NULL; - BlenderSession *session = (BlenderSession*)pysession; + BlenderSession *session = (BlenderSession*)PyLong_AsVoidPtr(pysession); session->synchronize(); Py_INCREF(Py_None); diff --git a/intern/cycles/util/util_system.cpp b/intern/cycles/util/util_system.cpp index fae575873e0..ac3089aa7ad 100644 --- a/intern/cycles/util/util_system.cpp +++ b/intern/cycles/util/util_system.cpp @@ -60,7 +60,18 @@ int system_cpu_thread_count() #ifndef _WIN32 static void __cpuid(int data[4], int selector) { +#ifdef __x86_64__ asm("cpuid" : "=a" (data[0]), "=b" (data[1]), "=c" (data[2]), "=d" (data[3]) : "a"(selector)); +#else +#ifdef __i386__ + asm("pushl %%ebx \n\t" + "cpuid \n\t" + "movl %%ebx, %1 \n\t" + "popl %%ebx \n\t" : "=a" (data[0]), "=r" (data[1]), "=c" (data[2]), "=d" (data[3]) : "a"(selector)); +#else + data[0] = data[1] = data[2] = data[3] = 0; +#endif +#endif } #endif From d5929b452e449daaa55b7bf305abcd37847c4fef Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 6 May 2011 09:19:29 +0000 Subject: [PATCH 018/241] Cycles: fix missing #include. --- source/blender/makesrna/intern/rna_space.c | 1 + 1 file changed, 1 insertion(+) diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index c6d36d206be..1dcee4bf726 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -48,6 +48,7 @@ #include "WM_api.h" #include "WM_types.h" +#include "RE_engine.h" #include "RE_pipeline.h" EnumPropertyItem space_type_items[] = { From 31f44d8142d84ad65b02f1a35a297d1e5f909cc6 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 9 May 2011 09:03:08 +0000 Subject: [PATCH 019/241] Cycles: fix color difference between render / 3d view with color management disabled. --- intern/cycles/blender/blender_session.cpp | 11 +++++++---- intern/cycles/util/util_color.h | 16 ++++++++++++++++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp index 8e8bba4e5b6..d79c671fd3b 100644 --- a/intern/cycles/blender/blender_session.cpp +++ b/intern/cycles/blender/blender_session.cpp @@ -130,14 +130,17 @@ void BlenderSession::write_render_result() vector buffer(width*height); float fac = 1.0f/255.0f; + bool color_management = b_scene.render().use_color_management(); /* normalize */ for(int i = width*height - 1; i >= 0; i--) { uchar4 f = rgba[i]; - float r = color_srgb_to_scene_linear(f.x*fac); - float g = color_srgb_to_scene_linear(f.y*fac); - float b = color_srgb_to_scene_linear(f.z*fac); - buffer[i] = make_float4(r, g, b, 1.0f); + float3 rgb = make_float3(f.x, f.y, f.z)*fac; + + if(color_management) + rgb = color_srgb_to_scene_linear(rgb); + + buffer[i] = make_float4(rgb.x, rgb.y, rgb.z, 1.0f); } struct RenderResult *rrp = RE_engine_begin_result((RenderEngine*)b_engine.ptr.data, 0, 0, width, height); diff --git a/intern/cycles/util/util_color.h b/intern/cycles/util/util_color.h index fbba0fade63..60b738bfc51 100644 --- a/intern/cycles/util/util_color.h +++ b/intern/cycles/util/util_color.h @@ -40,6 +40,22 @@ __device float color_scene_linear_to_srgb(float c) return 1.055f * pow(c, 1.0f/2.4f) - 0.055f; } +__device float3 color_srgb_to_scene_linear(float3 c) +{ + return make_float3( + color_srgb_to_scene_linear(c.x), + color_srgb_to_scene_linear(c.y), + color_srgb_to_scene_linear(c.z)); +} + +__device float3 color_scene_linear_to_srgb(float3 c) +{ + return make_float3( + color_scene_linear_to_srgb(c.x), + color_scene_linear_to_srgb(c.y), + color_scene_linear_to_srgb(c.z)); +} + CCL_NAMESPACE_END #endif /* __UTIL_COLOR_H__ */ From f0d91fec1b5de36180746c7fda86342bc4253fe7 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 9 May 2011 10:40:53 +0000 Subject: [PATCH 020/241] Cycles: fix crash when drawing properties UI while editing node links. --- source/blender/editors/interface/interface_node.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/source/blender/editors/interface/interface_node.c b/source/blender/editors/interface/interface_node.c index 372874c9e6f..b99ff03fc99 100644 --- a/source/blender/editors/interface/interface_node.c +++ b/source/blender/editors/interface/interface_node.c @@ -74,7 +74,7 @@ static void ui_node_tag_recursive(bNode *node) { bNodeSocket *input; - if(node->flag & NODE_TEST) + if(!node || (node->flag & NODE_TEST)) return; /* in case of cycles */ node->flag |= NODE_TEST; @@ -88,7 +88,7 @@ static void ui_node_clear_recursive(bNode *node) { bNodeSocket *input; - if(!(node->flag & NODE_TEST)) + if(!node || !(node->flag & NODE_TEST)) return; /* in case of cycles */ node->flag &= ~NODE_TEST; @@ -115,6 +115,9 @@ static void ui_node_remove_linked(bNodeTree *ntree, bNode *rem_node) bNode *node, *next; bNodeSocket *sock; + if(!node) + return; + /* tag linked nodes to be removed */ for(node=ntree->nodes.first; node; node=node->next) node->flag &= ~NODE_TEST; @@ -144,7 +147,7 @@ static void ui_node_remove_linked(bNodeTree *ntree, bNode *rem_node) static void ui_node_sock_name(bNodeSocket *sock, char name[UI_MAX_NAME_STR]) { - if(sock->link) { + if(sock->link && sock->link->fromnode) { bNode *node = sock->link->fromnode; if(node->type == NODE_GROUP) @@ -229,7 +232,7 @@ static void ui_node_link(bContext *C, void *arg_p, void *event_p) if(strcmp(sock_prev->name, sock_from->name) == 0 && sock_prev->type == sock_from->type) { bNodeLink *link = sock_prev->link; - if(link) { + if(link && link->fromnode) { nodeAddLink(ntree, link->fromnode, link->fromsock, node_from, sock_from); nodeRemLink(ntree, link); } From 442baef0559435d2f634fae1d11febef0e3e2389 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 9 May 2011 10:43:09 +0000 Subject: [PATCH 021/241] Cycles: different fix for animation render, in render API instead of python script. --- intern/cycles/blender/addon/__init__.py | 1 - source/blender/render/intern/pipeline/engine.c | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/intern/cycles/blender/addon/__init__.py b/intern/cycles/blender/addon/__init__.py index bb418340f55..0a2e5cee142 100644 --- a/intern/cycles/blender/addon/__init__.py +++ b/intern/cycles/blender/addon/__init__.py @@ -48,7 +48,6 @@ class CyclesRender(bpy.types.RenderEngine): engine.free(self) def render(self, scene): - scene.frame_set(scene.frame_current) # should this be done already? engine.create(self, scene, True) engine.render(self, scene) diff --git a/source/blender/render/intern/pipeline/engine.c b/source/blender/render/intern/pipeline/engine.c index 4035f5569ee..de99b6e8e7e 100644 --- a/source/blender/render/intern/pipeline/engine.c +++ b/source/blender/render/intern/pipeline/engine.c @@ -41,6 +41,7 @@ #include "BLI_utildefines.h" #include "BKE_report.h" +#include "BKE_scene.h" #include "IMB_imbuf.h" #include "IMB_imbuf_types.h" @@ -194,6 +195,9 @@ int RE_engine_render(Render *re, int do_all) engine = RE_engine_create(type); engine->re= re; + if((re->r.scemode & (R_NO_FRAME_UPDATE|R_PREVIEWBUTS))==0) + scene_update_for_newframe(re->main, re->scene, re->lay); + type->render(engine, re->scene); free_render_result(&engine->fullresult, engine->fullresult.first); From 42e2c47b3d744c5d53ccd315ffda3c26c7d60bff Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 9 May 2011 11:02:04 +0000 Subject: [PATCH 022/241] Cycles: fix node outputs not connect to more than one input. --- .../nodes/intern/SHD_nodes/SHD_add_closure.c | 2 +- .../blender/nodes/intern/SHD_nodes/SHD_attribute.c | 2 +- .../nodes/intern/SHD_nodes/SHD_background.c | 2 +- .../nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c | 2 +- .../nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c | 2 +- .../nodes/intern/SHD_nodes/SHD_bsdf_glass.c | 2 +- .../nodes/intern/SHD_nodes/SHD_bsdf_glossy.c | 2 +- .../nodes/intern/SHD_nodes/SHD_bsdf_translucent.c | 2 +- .../nodes/intern/SHD_nodes/SHD_bsdf_transparent.c | 2 +- .../nodes/intern/SHD_nodes/SHD_bsdf_velvet.c | 2 +- .../blender/nodes/intern/SHD_nodes/SHD_emission.c | 2 +- .../blender/nodes/intern/SHD_nodes/SHD_geometry.c | 14 +++++++------- .../nodes/intern/SHD_nodes/SHD_light_path.c | 12 ++++++------ .../nodes/intern/SHD_nodes/SHD_mix_closure.c | 2 +- .../blender/nodes/intern/SHD_nodes/SHD_tex_blend.c | 2 +- .../nodes/intern/SHD_nodes/SHD_tex_clouds.c | 4 ++-- .../blender/nodes/intern/SHD_nodes/SHD_tex_coord.c | 12 ++++++------ .../nodes/intern/SHD_nodes/SHD_tex_distnoise.c | 2 +- .../nodes/intern/SHD_nodes/SHD_tex_environment.c | 2 +- .../blender/nodes/intern/SHD_nodes/SHD_tex_image.c | 2 +- .../blender/nodes/intern/SHD_nodes/SHD_tex_magic.c | 2 +- .../nodes/intern/SHD_nodes/SHD_tex_marble.c | 2 +- .../nodes/intern/SHD_nodes/SHD_tex_musgrave.c | 2 +- .../blender/nodes/intern/SHD_nodes/SHD_tex_noise.c | 4 ++-- .../blender/nodes/intern/SHD_nodes/SHD_tex_sky.c | 2 +- .../nodes/intern/SHD_nodes/SHD_tex_stucci.c | 2 +- .../nodes/intern/SHD_nodes/SHD_tex_voronoi.c | 4 ++-- .../blender/nodes/intern/SHD_nodes/SHD_tex_wood.c | 2 +- 28 files changed, 47 insertions(+), 47 deletions(-) diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_add_closure.c b/source/blender/nodes/intern/SHD_nodes/SHD_add_closure.c index 87d8a155cbf..fbd4727d68b 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_add_closure.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_add_closure.c @@ -38,7 +38,7 @@ static bNodeSocketType sh_node_add_closure_in[]= { }; static bNodeSocketType sh_node_add_closure_out[]= { - { SOCK_CLOSURE, 1, "Closure", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_CLOSURE, 0, "Closure", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_attribute.c b/source/blender/nodes/intern/SHD_nodes/SHD_attribute.c index 99678e1acd8..ef9fb63e8bc 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_attribute.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_attribute.c @@ -32,7 +32,7 @@ /* **************** OUTPUT ******************** */ static bNodeSocketType sh_node_attribute_out[]= { - { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_background.c b/source/blender/nodes/intern/SHD_nodes/SHD_background.c index 5156e8bde41..b15ba89ba17 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_background.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_background.c @@ -38,7 +38,7 @@ static bNodeSocketType sh_node_background_in[]= { }; static bNodeSocketType sh_node_background_out[]= { - { SOCK_CLOSURE, 1, "Background", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_CLOSURE, 0, "Background", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c index 207ca361ff7..bb80993d8bc 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c @@ -39,7 +39,7 @@ static bNodeSocketType sh_node_bsdf_anisotropic_in[]= { }; static bNodeSocketType sh_node_bsdf_anisotropic_out[]= { - { SOCK_CLOSURE, 1, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_CLOSURE, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c index 0d5aaf3a4dc..1732d737be9 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c @@ -37,7 +37,7 @@ static bNodeSocketType sh_node_bsdf_diffuse_in[]= { }; static bNodeSocketType sh_node_bsdf_diffuse_out[]= { - { SOCK_CLOSURE, 1, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_CLOSURE, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c index 04a7e17078d..eab042ad9a6 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c @@ -39,7 +39,7 @@ static bNodeSocketType sh_node_bsdf_glass_in[]= { }; static bNodeSocketType sh_node_bsdf_glass_out[]= { - { SOCK_CLOSURE, 1, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_CLOSURE, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c index b3a00b251df..3a1ad4766de 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c @@ -39,7 +39,7 @@ static bNodeSocketType sh_node_bsdf_glossy_in[]= { }; static bNodeSocketType sh_node_bsdf_glossy_out[]= { - { SOCK_CLOSURE, 1, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_CLOSURE, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c index a6c8dfcda7f..3a09b0bf2cf 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c @@ -37,7 +37,7 @@ static bNodeSocketType sh_node_bsdf_translucent_in[]= { }; static bNodeSocketType sh_node_bsdf_translucent_out[]= { - { SOCK_CLOSURE, 1, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_CLOSURE, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c index e496525e281..8324e73fec7 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c @@ -37,7 +37,7 @@ static bNodeSocketType sh_node_bsdf_transparent_in[]= { }; static bNodeSocketType sh_node_bsdf_transparent_out[]= { - { SOCK_CLOSURE, 1, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_CLOSURE, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c index 4ed78f4ad9f..33878a65f53 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c @@ -39,7 +39,7 @@ static bNodeSocketType sh_node_bsdf_velvet_in[]= { }; static bNodeSocketType sh_node_bsdf_velvet_out[]= { - { SOCK_CLOSURE, 1, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_CLOSURE, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_emission.c b/source/blender/nodes/intern/SHD_nodes/SHD_emission.c index 81f6a08d7e5..9486388b679 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_emission.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_emission.c @@ -38,7 +38,7 @@ static bNodeSocketType sh_node_emission_in[]= { }; static bNodeSocketType sh_node_emission_out[]= { - { SOCK_CLOSURE, 1, "Emission", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_CLOSURE, 0, "Emission", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_geometry.c b/source/blender/nodes/intern/SHD_nodes/SHD_geometry.c index 20fbb520ef8..15c304c7e47 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_geometry.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_geometry.c @@ -32,13 +32,13 @@ /* **************** OUTPUT ******************** */ static bNodeSocketType sh_node_geometry_out[]= { - { SOCK_VECTOR, 1, "Position", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VECTOR, 1, "Tangent", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VECTOR, 1, "True Normal", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VECTOR, 1, "Incoming", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VECTOR, 1, "Parametric", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VALUE, 1, "Backfacing", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "Position", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "Tangent", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "True Normal", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "Incoming", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "Parametric", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "Backfacing", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_light_path.c b/source/blender/nodes/intern/SHD_nodes/SHD_light_path.c index b0e2f1430ac..9405b7b591a 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_light_path.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_light_path.c @@ -32,12 +32,12 @@ /* **************** OUTPUT ******************** */ static bNodeSocketType sh_node_light_path_out[]= { - { SOCK_VALUE, 1, "Is Camera Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VALUE, 1, "Is Shadow Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VALUE, 1, "Is Diffuse Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VALUE, 1, "Is Glossy Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VALUE, 1, "Is Reflection Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VALUE, 1, "Is Transmission Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "Is Camera Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "Is Shadow Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "Is Diffuse Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "Is Glossy Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "Is Reflection Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "Is Transmission Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_mix_closure.c b/source/blender/nodes/intern/SHD_nodes/SHD_mix_closure.c index 6aaa9271737..f126a55611c 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_mix_closure.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_mix_closure.c @@ -39,7 +39,7 @@ static bNodeSocketType sh_node_mix_closure_in[]= { }; static bNodeSocketType sh_node_mix_closure_out[]= { - { SOCK_CLOSURE, 1, "Closure", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_CLOSURE, 0, "Closure", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c index fdb73f7f814..bd656a7b015 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c @@ -37,7 +37,7 @@ static bNodeSocketType sh_node_tex_blend_in[]= { }; static bNodeSocketType sh_node_tex_blend_out[]= { - { SOCK_VALUE, 1, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c index 01b62e1e982..be2d03018fa 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c @@ -38,8 +38,8 @@ static bNodeSocketType sh_node_tex_clouds_in[]= { }; static bNodeSocketType sh_node_tex_clouds_out[]= { - { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VALUE, 1, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_coord.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_coord.c index ffc2ad447a4..3ef69dd1bce 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_coord.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_coord.c @@ -32,12 +32,12 @@ /* **************** OUTPUT ******************** */ static bNodeSocketType sh_node_tex_coord_out[]= { - { SOCK_VECTOR, 1, "Generated", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VECTOR, 1, "UV", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VECTOR, 1, "Object", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VECTOR, 1, "Camera", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VECTOR, 1, "Window", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VECTOR, 1, "Reflection", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "Generated", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "UV", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "Object", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "Camera", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "Window", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "Reflection", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c index 323b0505eac..415159074bb 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c @@ -39,7 +39,7 @@ static bNodeSocketType sh_node_tex_distnoise_in[]= { }; static bNodeSocketType sh_node_tex_distnoise_out[]= { - { SOCK_VALUE, 1, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c index fbd9cf96108..d9050ae8c43 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c @@ -37,7 +37,7 @@ static bNodeSocketType sh_node_tex_environment_in[]= { }; static bNodeSocketType sh_node_tex_environment_out[]= { - { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c index 9d40d3b145c..69f93ab1903 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c @@ -37,7 +37,7 @@ static bNodeSocketType sh_node_tex_image_in[]= { }; static bNodeSocketType sh_node_tex_image_out[]= { - { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c index 80ff32a3be3..5cd210a1804 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c @@ -38,7 +38,7 @@ static bNodeSocketType sh_node_tex_magic_in[]= { }; static bNodeSocketType sh_node_tex_magic_out[]= { - { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c index 69908342aac..b42faee69a5 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c @@ -39,7 +39,7 @@ static bNodeSocketType sh_node_tex_marble_in[]= { }; static bNodeSocketType sh_node_tex_marble_out[]= { - { SOCK_VALUE, 1, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c index 2ade58571ce..e40e7488abe 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c @@ -43,7 +43,7 @@ static bNodeSocketType sh_node_tex_musgrave_in[]= { }; static bNodeSocketType sh_node_tex_musgrave_out[]= { - { SOCK_VALUE, 1, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c index 9dd1c6ca2d7..6349fa8e27a 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c @@ -37,8 +37,8 @@ static bNodeSocketType sh_node_tex_noise_in[]= { }; static bNodeSocketType sh_node_tex_noise_out[]= { - { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VALUE, 1, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c index 5deb180fd56..5061e8c28b8 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c @@ -37,7 +37,7 @@ static bNodeSocketType sh_node_tex_sky_in[]= { }; static bNodeSocketType sh_node_tex_sky_out[]= { - { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c index eec76a1538f..c403daaa2d9 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c @@ -39,7 +39,7 @@ static bNodeSocketType sh_node_tex_stucci_in[]= { }; static bNodeSocketType sh_node_tex_stucci_out[]= { - { SOCK_VALUE, 1, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c index 2ea85beeb89..113ffed1870 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c @@ -43,8 +43,8 @@ static bNodeSocketType sh_node_tex_voronoi_in[]= { }; static bNodeSocketType sh_node_tex_voronoi_out[]= { - { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VALUE, 1, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c index ed7960fabb0..430d1bacf8c 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c @@ -39,7 +39,7 @@ static bNodeSocketType sh_node_tex_wood_in[]= { }; static bNodeSocketType sh_node_tex_wood_out[]= { - { SOCK_VALUE, 1, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; From 88b25b871d965718e693a2766a19d75efa0f0dfc Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 12 May 2011 11:34:16 +0000 Subject: [PATCH 023/241] Cycles: fix mapping node rotation not working correct for Y/Z axes, patch by Sanne. --- intern/cycles/util/util_transform.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/intern/cycles/util/util_transform.h b/intern/cycles/util/util_transform.h index 9cde410edc8..e2b022dc478 100644 --- a/intern/cycles/util/util_transform.h +++ b/intern/cycles/util/util_transform.h @@ -173,8 +173,8 @@ __device_inline Transform transform_euler(float3 euler) { return transform_rotate(euler.x, make_float3(1.0f, 0.0f, 0.0f)) * - transform_rotate(euler.y, make_float3(1.0f, 0.0f, 0.0f)) * - transform_rotate(euler.z, make_float3(1.0f, 0.0f, 0.0f)); + transform_rotate(euler.y, make_float3(0.0f, 1.0f, 0.0f)) * + transform_rotate(euler.z, make_float3(0.0f, 0.0f, 1.0f)); } __device_inline Transform transform_orthographic(float znear, float zfar) From 397f3893dd48d075c952425874a083a5aa85f701 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 13 May 2011 11:10:30 +0000 Subject: [PATCH 024/241] Cycles: remove developer docs, all moved to wiki now. --- intern/cycles/doc/CMakeLists.txt | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/intern/cycles/doc/CMakeLists.txt b/intern/cycles/doc/CMakeLists.txt index d6e487663c3..96054f2bed5 100644 --- a/intern/cycles/doc/CMakeLists.txt +++ b/intern/cycles/doc/CMakeLists.txt @@ -4,28 +4,6 @@ INSTALL(DIRECTORY license DESTINATION ${CYCLES_INSTALL_PATH}/cycles PATTERN ".sv SET(doc_sources index.html - development/build.html - development/bvh.html - development/design.html - development/device_abstraction.html - development/displacement.html - development/feature_todo.html - development/known_issues.html - development/geometric_issues.html - development/ideas.html - development/index.html - development/kernel.html - development/license.html - development/node_guidelines.html - development/optimization.html - development/osl_gpu.html - development/papers.html - development/sobol.html - development/source.html - development/subdivision.html - development/threads.html - development/units_colors.html - reference/camera.html reference/curve.html reference/devices.html @@ -60,9 +38,6 @@ SET(doc_sources reference/shader/volume_textures.html) SET(doc_extra - development/images/rng_lcg_50_pass.png - development/images/rng_sobol_50_pass.png - development/threads.svg reference/camera_ortho.svg reference/camera_persp.svg reference/material/material.svg @@ -70,7 +45,6 @@ SET(doc_extra style/style.css) SET(doc_templates - templates/development.html templates/footer.html templates/header.html templates/nodes.html From f48fbd3f68ea7751583f258a6e8e1bf1fe945fc7 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 13 May 2011 12:10:03 +0000 Subject: [PATCH 025/241] Cycles: fix node link remove from menu not working. --- source/blender/editors/interface/interface_node.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/editors/interface/interface_node.c b/source/blender/editors/interface/interface_node.c index b99ff03fc99..137320fea26 100644 --- a/source/blender/editors/interface/interface_node.c +++ b/source/blender/editors/interface/interface_node.c @@ -115,7 +115,7 @@ static void ui_node_remove_linked(bNodeTree *ntree, bNode *rem_node) bNode *node, *next; bNodeSocket *sock; - if(!node) + if(!rem_node) return; /* tag linked nodes to be removed */ From 216602fe4b90c635cd1993aa1c1a9d866b6ae2cd Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 13 May 2011 12:11:08 +0000 Subject: [PATCH 026/241] Cycles: fix BSDF closure inputs ignoring links. --- intern/cycles/kernel/svm/svm.h | 2 +- intern/cycles/kernel/svm/svm_closure.h | 9 ++++++--- intern/cycles/render/nodes.cpp | 9 ++++++++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/intern/cycles/kernel/svm/svm.h b/intern/cycles/kernel/svm/svm.h index 5bd076c9cab..51445aece6c 100644 --- a/intern/cycles/kernel/svm/svm.h +++ b/intern/cycles/kernel/svm/svm.h @@ -167,7 +167,7 @@ __device void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderType type, else return; } else if(node.x == NODE_CLOSURE_BSDF) - svm_node_closure_bsdf(sd, node.y, node.z, node.w, randb); + svm_node_closure_bsdf(sd, stack, node, randb); else if(node.x == NODE_CLOSURE_EMISSION) svm_node_closure_emission(sd); else if(node.x == NODE_CLOSURE_BACKGROUND) diff --git a/intern/cycles/kernel/svm/svm_closure.h b/intern/cycles/kernel/svm/svm_closure.h index fe9edc36e95..58a916029f4 100644 --- a/intern/cycles/kernel/svm/svm_closure.h +++ b/intern/cycles/kernel/svm/svm_closure.h @@ -20,10 +20,13 @@ CCL_NAMESPACE_BEGIN /* Closure Nodes */ -__device void svm_node_closure_bsdf(ShaderData *sd, uint type, int iparam1, int iparam2, float randb) +__device void svm_node_closure_bsdf(ShaderData *sd, float *stack, uint4 node, float randb) { - float param1 = __int_as_float(iparam1); - float param2 = __int_as_float(iparam2); + uint type, param1_offset, param2_offset; + decode_node_uchar4(node.y, &type, ¶m1_offset, ¶m2_offset, NULL); + + float param1 = (stack_valid(param1_offset))? stack_load_float(stack, param1_offset): __int_as_float(node.z); + float param2 = (stack_valid(param2_offset))? stack_load_float(stack, param2_offset): __int_as_float(node.w); switch(type) { case CLOSURE_BSDF_DIFFUSE_ID: diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index d437d0dfcc1..bcce6db6171 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -987,9 +987,16 @@ void BsdfNode::compile(SVMCompiler& compiler, ShaderInput *param1, ShaderInput * } else compiler.add_node(NODE_CLOSURE_SET_WEIGHT, color_in->value); + + if(param1) + compiler.stack_assign(param1); + if(param2) + compiler.stack_assign(param2); compiler.add_node(NODE_CLOSURE_BSDF, - closure, + compiler.encode_uchar4(closure, + (param1)? param1->stack_offset: SVM_STACK_INVALID, + (param2)? param2->stack_offset: SVM_STACK_INVALID), __float_as_int((param1)? param1->value.x: 0.0f), __float_as_int((param2)? param2->value.x: 0.0f)); } From 50d1a5b1eb3735da999cd38474a7dc859a884383 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 13 May 2011 14:29:07 +0000 Subject: [PATCH 027/241] Cycles: action zone drawing tweak. --- .../editors/interface/interface_panel.c | 2 +- source/blender/editors/screen/area.c | 64 +++---------------- 2 files changed, 11 insertions(+), 55 deletions(-) diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c index 1c7806a26a1..2e41559f9ac 100644 --- a/source/blender/editors/interface/interface_panel.c +++ b/source/blender/editors/interface/interface_panel.c @@ -509,7 +509,7 @@ void ui_draw_aligned_panel(uiStyle *style, uiBlock *block, rcti *rect) if(!(panel->flag & PNL_CLOSEDX)) { ui_draw_aligned_panel_header(style, block, &headrect, 'h'); - /* itemrect smaller */ + /* itemrect smaller */ itemrect.xmax= headrect.xmax - 5.0f/block->aspect; itemrect.xmin= itemrect.xmax - (headrect.ymax-headrect.ymin); itemrect.ymin= headrect.ymin; diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index 9f5e55dea00..75dabd8aedb 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -69,39 +69,6 @@ /* general area and region code */ -static void region_draw_emboss(ARegion *ar, rcti *scirct) -{ - rcti rect; - - /* translate scissor rect to region space */ - rect.xmin= scirct->xmin - ar->winrct.xmin; - rect.ymin= scirct->ymin - ar->winrct.ymin; - rect.xmax= scirct->xmax - ar->winrct.xmin; - rect.ymax= scirct->ymax - ar->winrct.ymin; - - /* set transp line */ - glEnable( GL_BLEND ); - glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA ); - - /* right */ - glColor4ub(0,0,0, 50); - sdrawline(rect.xmax, rect.ymin, rect.xmax, rect.ymax); - - /* bottom */ - glColor4ub(0,0,0, 80); - sdrawline(rect.xmin, rect.ymin, rect.xmax, rect.ymin); - - /* top */ - glColor4ub(255,255,255, 60); - sdrawline(rect.xmin, rect.ymax, rect.xmax, rect.ymax); - - /* left */ - glColor4ub(255,255,255, 50); - sdrawline(rect.xmin, rect.ymin, rect.xmin, rect.ymax); - - glDisable( GL_BLEND ); -} - void ED_region_pixelspace(ARegion *ar) { int width= ar->winrct.xmax-ar->winrct.xmin+1; @@ -152,7 +119,6 @@ void ED_area_do_refresh(bContext *C, ScrArea *sa) /* only exported for WM */ void ED_area_overdraw_flush(ScrArea *sa, ARegion *ar) { -#if 0 AZone *az; for(az= sa->actionzones.first; az; az= az->next) { @@ -166,29 +132,20 @@ void ED_area_overdraw_flush(ScrArea *sa, ARegion *ar) az->do_draw= 1; } } -#endif } static void area_draw_azone(short x1, short y1, short x2, short y2) { - int dx= floor(0.3f*(x2-x1)); - int dy= floor(0.3f*(y2-y1)); - - glColor4ub(255, 255, 255, 180); - fdrawline(x1, y2, x2, y1); - glColor4ub(255, 255, 255, 130); - fdrawline(x1, y2-dy, x2-dx, y1); - glColor4ub(255, 255, 255, 80); - fdrawline(x1, y2-2*dy, x2-2*dx, y1); - - glColor4ub(0, 0, 0, 210); - fdrawline(x1, y2+1, x2+1, y1); - glColor4ub(0, 0, 0, 180); - fdrawline(x1, y2-dy+1, x2-dx+1, y1); - glColor4ub(0, 0, 0, 150); - fdrawline(x1, y2-2*dy+1, x2-2*dx+1, y1); -} + int dx= floor(0.9f*(x2-x1)); + int dy= floor(0.9f*(y2-y1)); + glColor4f(0.0f, 0.0f, 0.0f, 0.25f); + glBegin(GL_TRIANGLES); + glVertex2f(x1, y1); + glVertex2f(x1+dx, y1); + glVertex2f(x1, y1+dy); + glEnd(); +} static void region_draw_azone(AZone *az) { @@ -233,7 +190,6 @@ static void region_draw_azone(AZone *az) /* only exported for WM */ void ED_area_overdraw(bContext *C) { -#if 0 wmWindow *win= CTX_wm_window(C); bScreen *screen= CTX_wm_screen(C); ScrArea *sa; @@ -259,7 +215,7 @@ void ED_area_overdraw(bContext *C) } } glDisable( GL_BLEND ); -#endif + } /* get scissor rect, checking overlapping regions */ From 922bb24865f451aabb1a3112ab8ffb592e3ff875 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 13 May 2011 14:32:08 +0000 Subject: [PATCH 028/241] Cycles: color space control for image/environment texture nodes. Ideally would be automated but need to think about how to do this, not so simply in a node system. But guideline for now is, for color textures set to sRGB, for things like bump or roughness map, set to Linear. --- intern/cycles/blender/blender_shader.cpp | 6 ++- .../osl/nodes/node_environment_texture.osl | 4 ++ .../kernel/osl/nodes/node_image_texture.osl | 4 ++ intern/cycles/kernel/svm/svm.h | 4 +- intern/cycles/kernel/svm/svm_image.h | 26 +++++++++-- intern/cycles/render/nodes.cpp | 32 ++++++++++++- intern/cycles/render/nodes.h | 6 +++ source/blender/editors/space_node/drawnode.c | 1 + source/blender/makesdna/DNA_node_types.h | 8 +++- source/blender/makesrna/intern/rna_nodetree.c | 46 +++++++++++++------ .../intern/SHD_nodes/SHD_tex_environment.c | 1 + .../nodes/intern/SHD_nodes/SHD_tex_image.c | 1 + 12 files changed, 114 insertions(+), 25 deletions(-) diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index c6dbfc630ab..c23f9a4cd95 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -282,15 +282,17 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * /* todo: handle generated/builtin images */ if(b_image) image->filename = blender_absolute_path(b_data, b_image, b_image.filepath()); + image->color_space = ImageTextureNode::color_space_enum[(int)b_image_node.color_space()]; node = image; break; } case BL::ShaderNode::type_TEX_ENVIRONMENT: { - BL::ShaderNodeTexEnvironment b_environment_node(b_node); - BL::Image b_image(b_environment_node.image()); + BL::ShaderNodeTexEnvironment b_env_node(b_node); + BL::Image b_image(b_env_node.image()); EnvironmentTextureNode *env = new EnvironmentTextureNode(); if(b_image) env->filename = blender_absolute_path(b_data, b_image, b_image.filepath()); + env->color_space = EnvironmentTextureNode::color_space_enum[(int)b_env_node.color_space()]; node = env; break; } diff --git a/intern/cycles/kernel/osl/nodes/node_environment_texture.osl b/intern/cycles/kernel/osl/nodes/node_environment_texture.osl index 569b22d53ec..ee3fc44f0f8 100644 --- a/intern/cycles/kernel/osl/nodes/node_environment_texture.osl +++ b/intern/cycles/kernel/osl/nodes/node_environment_texture.osl @@ -21,8 +21,12 @@ shader node_environment_texture( vector Vector = P, string filename = "", + string color_space = "sRGB", output color Color = color(0.0, 0.0, 0.0)) { Color = (color)environment(filename, Vector); + + if(color_space == "sRGB") + Color = color_srgb_to_scene_linear(Color); } diff --git a/intern/cycles/kernel/osl/nodes/node_image_texture.osl b/intern/cycles/kernel/osl/nodes/node_image_texture.osl index 0dbcc122deb..e1efb787655 100644 --- a/intern/cycles/kernel/osl/nodes/node_image_texture.osl +++ b/intern/cycles/kernel/osl/nodes/node_image_texture.osl @@ -21,8 +21,12 @@ shader node_image_texture( point Vector = P, string filename = "", + string color_space = "sRGB", output color Color = color(0.0, 0.0, 0.0)) { Color = (color)texture(filename, Vector[0], 1.0-Vector[1], "wrap", "periodic"); + + if(color_space == "sRGB") + Color = color_srgb_to_scene_linear(Color); } diff --git a/intern/cycles/kernel/svm/svm.h b/intern/cycles/kernel/svm/svm.h index 51445aece6c..68e54d9752e 100644 --- a/intern/cycles/kernel/svm/svm.h +++ b/intern/cycles/kernel/svm/svm.h @@ -190,9 +190,9 @@ __device void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderType type, else if(node.x == NODE_TEX_NOISE_V) svm_node_tex_noise_v(sd, stack, node.y, node.z); else if(node.x == NODE_TEX_IMAGE) - svm_node_tex_image(kg, sd, stack, node.y, node.z, node.w); + svm_node_tex_image(kg, sd, stack, node); else if(node.x == NODE_TEX_ENVIRONMENT) - svm_node_tex_environment(kg, sd, stack, node.y, node.z, node.w); + svm_node_tex_environment(kg, sd, stack, node); else if(node.x == NODE_TEX_SKY) svm_node_tex_sky(kg, sd, stack, node.y, node.z); else if(node.x == NODE_TEX_BLEND) diff --git a/intern/cycles/kernel/svm/svm_image.h b/intern/cycles/kernel/svm/svm_image.h index c2020b1f69c..88f0b582442 100644 --- a/intern/cycles/kernel/svm/svm_image.h +++ b/intern/cycles/kernel/svm/svm_image.h @@ -140,22 +140,40 @@ __device float4 svm_image_texture(KernelGlobals *kg, int id, float x, float y) return r; } -__device void svm_node_tex_image(KernelGlobals *kg, ShaderData *sd, float *stack, uint id, uint co_offset, uint out_offset) +__device void svm_node_tex_image(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node) { + uint id = node.y; + uint co_offset, out_offset, srgb; + + decode_node_uchar4(node.z, &co_offset, &out_offset, &srgb, NULL); + float3 co = stack_load_float3(stack, co_offset); float4 f = svm_image_texture(kg, id, co.x, co.y); + float3 r = make_float3(f.x, f.y, f.z); - stack_store_float3(stack, out_offset, make_float3(f.x, f.y, f.z)); + if(srgb) + r = color_srgb_to_scene_linear(r); + + stack_store_float3(stack, out_offset, r); } -__device void svm_node_tex_environment(KernelGlobals *kg, ShaderData *sd, float *stack, uint id, uint co_offset, uint out_offset) +__device void svm_node_tex_environment(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node) { + uint id = node.y; + uint co_offset, out_offset, srgb; + + decode_node_uchar4(node.z, &co_offset, &out_offset, &srgb, NULL); + float3 co = stack_load_float3(stack, co_offset); float u = (atan2f(co.y, co.x) + M_PI_F)/(2*M_PI_F); float v = atan2f(co.z, hypotf(co.x, co.y))/M_PI_F + 0.5f; float4 f = svm_image_texture(kg, id, u, v); + float3 r = make_float3(f.x, f.y, f.z); - stack_store_float3(stack, out_offset, make_float3(f.x, f.y, f.z)); + if(srgb) + r = color_srgb_to_scene_linear(r); + + stack_store_float3(stack, out_offset, r); } CCL_NAMESPACE_END diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index bcce6db6171..0e14deac98f 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -27,12 +27,25 @@ CCL_NAMESPACE_BEGIN /* Image Texture */ +static ShaderEnum color_space_init() +{ + ShaderEnum enm; + + enm.insert("Linear", 0); + enm.insert("sRGB", 1); + + return enm; +} + +ShaderEnum ImageTextureNode::color_space_enum = color_space_init(); + ImageTextureNode::ImageTextureNode() : ShaderNode("image_texture") { image_manager = NULL; slot = -1; filename = ""; + color_space = ustring("sRGB"); add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); add_output("Color", SHADER_SOCKET_COLOR); @@ -65,7 +78,12 @@ void ImageTextureNode::compile(SVMCompiler& compiler) if(slot != -1) { compiler.stack_assign(vector_in); - compiler.add_node(NODE_TEX_IMAGE, slot, vector_in->stack_offset, color_out->stack_offset); + compiler.add_node(NODE_TEX_IMAGE, + slot, + compiler.encode_uchar4( + vector_in->stack_offset, + color_out->stack_offset, + color_space_enum[color_space])); } else { /* image not found */ @@ -77,17 +95,21 @@ void ImageTextureNode::compile(SVMCompiler& compiler) void ImageTextureNode::compile(OSLCompiler& compiler) { compiler.parameter("filename", filename.c_str()); + compiler.parameter("color_space", color_space.c_str()); compiler.add(this, "node_image_texture"); } /* Environment Texture */ +ShaderEnum EnvironmentTextureNode::color_space_enum = color_space_init(); + EnvironmentTextureNode::EnvironmentTextureNode() : ShaderNode("environment_texture") { image_manager = NULL; slot = -1; filename = ""; + color_space = ustring("sRGB"); add_input("Vector", SHADER_SOCKET_VECTOR, ShaderInput::POSITION); add_output("Color", SHADER_SOCKET_COLOR); @@ -120,7 +142,12 @@ void EnvironmentTextureNode::compile(SVMCompiler& compiler) if(slot != -1) { compiler.stack_assign(vector_in); - compiler.add_node(NODE_TEX_ENVIRONMENT, slot, vector_in->stack_offset, color_out->stack_offset); + compiler.add_node(NODE_TEX_ENVIRONMENT, + slot, + compiler.encode_uchar4( + vector_in->stack_offset, + color_out->stack_offset, + color_space_enum[color_space])); } else { /* image not found */ @@ -132,6 +159,7 @@ void EnvironmentTextureNode::compile(SVMCompiler& compiler) void EnvironmentTextureNode::compile(OSLCompiler& compiler) { compiler.parameter("filename", filename.c_str()); + compiler.parameter("color_space", color_space.c_str()); compiler.add(this, "node_environment_texture"); } diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h index f59a775b658..da3b743e79b 100644 --- a/intern/cycles/render/nodes.h +++ b/intern/cycles/render/nodes.h @@ -39,6 +39,9 @@ public: ImageManager *image_manager; int slot; string filename; + ustring color_space; + + static ShaderEnum color_space_enum; }; class EnvironmentTextureNode : public ShaderNode { @@ -50,6 +53,9 @@ public: ImageManager *image_manager; int slot; string filename; + ustring color_space; + + static ShaderEnum color_space_enum; }; class SkyTextureNode : public ShaderNode { diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c index a98235722e5..11d822607d7 100644 --- a/source/blender/editors/space_node/drawnode.c +++ b/source/blender/editors/space_node/drawnode.c @@ -400,6 +400,7 @@ static void node_shader_buts_tex_image(uiLayout *layout, bContext *C, PointerRNA { //uiItemR(layout, ptr, "image", 0, "", ICON_NONE); uiTemplateID(layout, C, ptr, "image", NULL, "IMAGE_OT_open", NULL); + uiItemR(layout, ptr, "color_space", 0, "", ICON_NONE); } static void node_shader_buts_tex_sky(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index f3540e5fcc7..896f809a97e 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -355,11 +355,11 @@ typedef struct NodeTexSky { } NodeTexSky; typedef struct NodeTexImage { - int pad; + int color_space; } NodeTexImage; typedef struct NodeTexEnvironment { - int pad; + int color_space; } NodeTexEnvironment; typedef struct NodeTexBlend { @@ -499,6 +499,10 @@ typedef struct TexNodeOutput { #define SHD_WOOD_BAND_NOISE 2 #define SHD_WOOD_RING_NOISE 3 +/* image/environment texture */ +#define SHD_COLORSPACE_LINEAR 0 +#define SHD_COLORSPACE_SRGB 1 + /* blur node */ #define CMP_NODE_BLUR_ASPECT_NONE 0 #define CMP_NODE_BLUR_ASPECT_Y 1 diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index 8601a986c3f..63241c339f6 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -1044,20 +1044,11 @@ static void def_sh_tex_sky(StructRNA *srna) static void def_sh_tex_environment(StructRNA *srna) { - PropertyRNA *prop; + static const EnumPropertyItem prop_color_space_items[]= { + {SHD_COLORSPACE_SRGB, "SRGB", 0, "sRGB", "Image is in sRGB color space"}, + {SHD_COLORSPACE_LINEAR, "LINEAR", 0, "Linear", "Image is in scene linear color space"}, + {0, NULL, 0, NULL, NULL}}; - prop = RNA_def_property(srna, "image", PROP_POINTER, PROP_NONE); - RNA_def_property_pointer_sdna(prop, NULL, "id"); - RNA_def_property_struct_type(prop, "Image"); - RNA_def_property_flag(prop, PROP_EDITABLE); - RNA_def_property_ui_text(prop, "Image", ""); - RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); - - RNA_def_struct_sdna_from(srna, "NodeTexEnvironment", "storage"); -} - -static void def_sh_tex_image(StructRNA *srna) -{ PropertyRNA *prop; prop = RNA_def_property(srna, "image", PROP_POINTER, PROP_NONE); @@ -1068,6 +1059,35 @@ static void def_sh_tex_image(StructRNA *srna) RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); RNA_def_struct_sdna_from(srna, "NodeTexImage", "storage"); + + prop= RNA_def_property(srna, "color_space", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_items(prop, prop_color_space_items); + RNA_def_property_ui_text(prop, "Color Space", "Image file color space"); + RNA_def_property_update(prop, 0, "rna_Node_update"); +} + +static void def_sh_tex_image(StructRNA *srna) +{ + static const EnumPropertyItem prop_color_space_items[]= { + {SHD_COLORSPACE_LINEAR, "LINEAR", 0, "Linear", "Image is in scene linear color space"}, + {SHD_COLORSPACE_SRGB, "SRGB", 0, "sRGB", "Image is in sRGB color space"}, + {0, NULL, 0, NULL, NULL}}; + + PropertyRNA *prop; + + prop = RNA_def_property(srna, "image", PROP_POINTER, PROP_NONE); + RNA_def_property_pointer_sdna(prop, NULL, "id"); + RNA_def_property_struct_type(prop, "Image"); + RNA_def_property_flag(prop, PROP_EDITABLE); + RNA_def_property_ui_text(prop, "Image", ""); + RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); + + RNA_def_struct_sdna_from(srna, "NodeTexImage", "storage"); + + prop= RNA_def_property(srna, "color_space", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_items(prop, prop_color_space_items); + RNA_def_property_ui_text(prop, "Color Space", "Image file color space"); + RNA_def_property_update(prop, 0, "rna_Node_update"); } static void def_sh_tex_blend(StructRNA *srna) diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c index d9050ae8c43..c1b18e17d26 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c @@ -44,6 +44,7 @@ static bNodeSocketType sh_node_tex_environment_out[]= { static void node_shader_init_tex_environment(bNode *node) { NodeTexEnvironment *tex = MEM_callocN(sizeof(NodeTexEnvironment), "NodeTexEnvironment"); + tex->color_space = SHD_COLORSPACE_SRGB; node->storage = tex; } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c index 69f93ab1903..c08ba2ca86d 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c @@ -44,6 +44,7 @@ static bNodeSocketType sh_node_tex_image_out[]= { static void node_shader_init_tex_image(bNode *node) { NodeTexImage *tex = MEM_callocN(sizeof(NodeTexImage), "NodeTexImage"); + tex->color_space = SHD_COLORSPACE_SRGB; node->storage = tex; } From fd5937fd1f581d521846f2849f6b5b463d917cf6 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 14 May 2011 09:42:02 +0000 Subject: [PATCH 029/241] Cycles: OSL build fixes, based on patch from erwin94. --- intern/cycles/kernel/osl/CMakeLists.txt | 2 +- intern/cycles/kernel/osl/nodes/node_color.h | 50 +++++++++++++++++++ .../osl/nodes/node_environment_texture.osl | 1 + .../kernel/osl/nodes/node_image_texture.osl | 1 + intern/cycles/kernel/osl/osl_shader.cpp | 2 +- 5 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 intern/cycles/kernel/osl/nodes/node_color.h diff --git a/intern/cycles/kernel/osl/CMakeLists.txt b/intern/cycles/kernel/osl/CMakeLists.txt index 3ca3fa4cd6b..31a162bdd0e 100644 --- a/intern/cycles/kernel/osl/CMakeLists.txt +++ b/intern/cycles/kernel/osl/CMakeLists.txt @@ -27,7 +27,7 @@ SET(headers SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${RTTI_DISABLE_FLAGS}") -ADD_LIBRARY(kernel_osl ${sources} ${headers}) +ADD_LIBRARY(cycles_kernel_osl ${sources} ${headers}) ADD_SUBDIRECTORY(nodes) diff --git a/intern/cycles/kernel/osl/nodes/node_color.h b/intern/cycles/kernel/osl/nodes/node_color.h new file mode 100644 index 00000000000..b92973d1dfe --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_color.h @@ -0,0 +1,50 @@ +/* + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +/* Color Management */ + +float color_srgb_to_scene_linear(float c) +{ + if(c < 0.04045) + return (c < 0.0)? 0.0: c * (1.0/12.92); + else + return pow((c + 0.055)*(1.0/1.055), 2.4); +} + +float color_scene_linear_to_srgb(float c) +{ + if(c < 0.0031308) + return (c < 0.0)? 0.0: c * 12.92; + else + return 1.055 * pow(c, 1.0/2.4) - 0.055; +} + +color color_srgb_to_scene_linear(color c) +{ + return color( + color_srgb_to_scene_linear(c[0]), + color_srgb_to_scene_linear(c[1]), + color_srgb_to_scene_linear(c[2])); +} + +color color_scene_linear_to_srgb(color c) +{ + return color( + color_scene_linear_to_srgb(c[0]), + color_scene_linear_to_srgb(c[1]), + color_scene_linear_to_srgb(c[2])); +} + diff --git a/intern/cycles/kernel/osl/nodes/node_environment_texture.osl b/intern/cycles/kernel/osl/nodes/node_environment_texture.osl index ee3fc44f0f8..267db7bad2d 100644 --- a/intern/cycles/kernel/osl/nodes/node_environment_texture.osl +++ b/intern/cycles/kernel/osl/nodes/node_environment_texture.osl @@ -17,6 +17,7 @@ */ #include "stdosl.h" +#include "node_color.h" shader node_environment_texture( vector Vector = P, diff --git a/intern/cycles/kernel/osl/nodes/node_image_texture.osl b/intern/cycles/kernel/osl/nodes/node_image_texture.osl index e1efb787655..85025db7c74 100644 --- a/intern/cycles/kernel/osl/nodes/node_image_texture.osl +++ b/intern/cycles/kernel/osl/nodes/node_image_texture.osl @@ -17,6 +17,7 @@ */ #include "stdosl.h" +#include "node_color.h" shader node_image_texture( point Vector = P, diff --git a/intern/cycles/kernel/osl/osl_shader.cpp b/intern/cycles/kernel/osl/osl_shader.cpp index f4ae0248bef..a86946a680e 100644 --- a/intern/cycles/kernel/osl/osl_shader.cpp +++ b/intern/cycles/kernel/osl/osl_shader.cpp @@ -31,7 +31,7 @@ CCL_NAMESPACE_BEGIN -tls_ptr(ThreadData, OSLGlobals::thread_data); +tls_ptr(OSLGlobals::ThreadData, OSLGlobals::thread_data); /* Threads */ From 233f27a7e17c71d89efbcdf49f744639b20fc613 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 14 May 2011 13:23:15 +0000 Subject: [PATCH 030/241] Cycles: fix chained mix/add closures nodes not working. --- intern/cycles/kernel/svm/svm_closure.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/intern/cycles/kernel/svm/svm_closure.h b/intern/cycles/kernel/svm/svm_closure.h index 58a916029f4..a7462e2c358 100644 --- a/intern/cycles/kernel/svm/svm_closure.h +++ b/intern/cycles/kernel/svm/svm_closure.h @@ -183,10 +183,10 @@ __device void svm_node_mix_closure(ShaderData *sd, float *stack, offset from the current node, so we jump */ if(*randb < weight) { *offset += node_jump; - *randb = (*randb - weight)/(1.0f - weight); + *randb = *randb/weight; } else - *randb = *randb/weight; + *randb = (*randb - weight)/(1.0f - weight); } __device void svm_node_add_closure(ShaderData *sd, float *stack, uint unused, @@ -199,10 +199,10 @@ __device void svm_node_add_closure(ShaderData *sd, float *stack, uint unused, of the two closures being added */ if(*randb < weight) { *offset += node_jump; - *randb = (*randb - weight)/(1.0f - weight); + *randb = *randb/weight; } else - *randb = *randb/weight; + *randb = (*randb - weight)/(1.0f - weight); *closure_weight *= 2.0f; } From 25b25059efd774cf119ac62dfdbd39a314f07b00 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 16 May 2011 08:08:37 +0000 Subject: [PATCH 031/241] Cycles: fix vector math subtract not working correct, patch by Sanne. --- intern/cycles/kernel/osl/nodes/node_vector_math.osl | 2 +- intern/cycles/kernel/svm/svm_math.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/intern/cycles/kernel/osl/nodes/node_vector_math.osl b/intern/cycles/kernel/osl/nodes/node_vector_math.osl index 302351372c2..9e0f0b60522 100644 --- a/intern/cycles/kernel/osl/nodes/node_vector_math.osl +++ b/intern/cycles/kernel/osl/nodes/node_vector_math.osl @@ -30,7 +30,7 @@ shader node_vector_math( Value = (abs(Vector[0]) + abs(Vector[1]) + abs(Vector[2]))/3.0; } if(type == "Subtract") { - Vector = Vector1 + Vector2; + Vector = Vector1 - Vector2; Value = (abs(Vector[0]) + abs(Vector[1]) + abs(Vector[2]))/3.0; } if(type == "Average") { diff --git a/intern/cycles/kernel/svm/svm_math.h b/intern/cycles/kernel/svm/svm_math.h index 6650a10a4d9..401bd22b45a 100644 --- a/intern/cycles/kernel/svm/svm_math.h +++ b/intern/cycles/kernel/svm/svm_math.h @@ -121,7 +121,7 @@ __device void svm_vector_math(float *Fac, float3 *Vector, NodeVectorMath type, f *Fac = (fabsf(Vector->x) + fabsf(Vector->y) + fabsf(Vector->z))/3.0f; } else if(type == NODE_VECTOR_MATH_SUBTRACT) { - *Vector = Vector1 + Vector2; + *Vector = Vector1 - Vector2; *Fac = (fabsf(Vector->x) + fabsf(Vector->y) + fabsf(Vector->z))/3.0f; } else if(type == NODE_VECTOR_MATH_AVERAGE) { From 5f5e46911022be4e9a843fc259fdb24ccc303594 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 17 May 2011 14:18:02 +0000 Subject: [PATCH 032/241] Cycles: panel header drawing tweak. --- source/blender/editors/interface/interface_panel.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c index 2e41559f9ac..cd0d3c63dbd 100644 --- a/source/blender/editors/interface/interface_panel.c +++ b/source/blender/editors/interface/interface_panel.c @@ -494,13 +494,13 @@ void ui_draw_aligned_panel(uiStyle *style, uiBlock *block, rcti *rect) headrect.ymax= headrect.ymin + floor(PNL_HEADER/block->aspect + 0.001f); { - float minx= rect->xmin+5.0f/block->aspect; - float maxx= rect->xmax-5.0f/block->aspect; + float minx= rect->xmin/block->aspect; + float maxx= rect->xmax/block->aspect; float y= headrect.ymax; glEnable(GL_BLEND); glColor4f(0.0f, 0.0f, 0.0f, 0.1f); - uiSetRoundBox(15); + uiSetRoundBox(0); uiDrawBox(GL_POLYGON, minx, headrect.ymin, maxx, y+1, 4); glDisable(GL_BLEND); } From 8da594c8613ddcf4195c4429c81b48e24ae3dc94 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 17 May 2011 14:26:45 +0000 Subject: [PATCH 033/241] Render API: first step in updating RenderEngine to work according to: http://wiki.blender.org/index.php/Dev:2.5/Source/Render/RenderEngineAPI --- intern/cycles/blender/addon/__init__.py | 29 +- intern/cycles/blender/addon/engine.py | 31 +- source/blender/blenkernel/BKE_depsgraph.h | 3 +- source/blender/blenkernel/BKE_scene.h | 2 + source/blender/blenkernel/intern/depsgraph.c | 29 +- source/blender/blenkernel/intern/scene.c | 9 +- source/blender/editors/include/ED_render.h | 2 +- source/blender/editors/render/CMakeLists.txt | 1 + .../blender/editors/render/render_shading.c | 239 +----------- source/blender/editors/render/render_update.c | 339 ++++++++++++++++++ .../editors/space_view3d/space_view3d.c | 7 - .../editors/space_view3d/view3d_draw.c | 5 +- source/blender/makesrna/intern/rna_render.c | 210 ++++++----- .../blender/makesrna/intern/rna_scene_api.c | 1 + source/blender/render/CMakeLists.txt | 4 + source/blender/render/SConscript | 3 + .../blender/render/extern/include/RE_engine.h | 15 +- .../blender/render/intern/pipeline/engine.c | 55 ++- .../windowmanager/intern/wm_event_system.c | 4 +- .../bad_level_call_stubs/stubs.c | 2 + 20 files changed, 614 insertions(+), 376 deletions(-) create mode 100644 source/blender/editors/render/render_update.c diff --git a/intern/cycles/blender/addon/__init__.py b/intern/cycles/blender/addon/__init__.py index 0a2e5cee142..e66d078f8c7 100644 --- a/intern/cycles/blender/addon/__init__.py +++ b/intern/cycles/blender/addon/__init__.py @@ -47,17 +47,30 @@ class CyclesRender(bpy.types.RenderEngine): def __del__(self): engine.free(self) - def render(self, scene): - engine.create(self, scene, True) - engine.render(self, scene) + # final render + def update(self, data, scene): + engine.create(self, data, scene) + engine.update(self, data, scene) - def draw(self, scene): + def render(self): + engine.render(self) + + # preview render + # def preview_update(self, context, id): + # pass + # + # def preview_render(self): + # pass + + # viewport render + def view_update(self, context): if not self.session: - engine.create(self, scene, False) - engine.draw(self, scene) + engine.create(self, context.blend_data, context.scene, + context.region, context.space_data, context.region_data) + engine.update(self, context.blend_data, context.scene) - def update(self, scene): - engine.update(self, scene) + def view_draw(self, context): + engine.draw(self, context.region, context.space_data, context.region_data) def register(): properties.register() diff --git a/intern/cycles/blender/addon/engine.py b/intern/cycles/blender/addon/engine.py index fb98068766f..a78107735eb 100644 --- a/intern/cycles/blender/addon/engine.py +++ b/intern/cycles/blender/addon/engine.py @@ -23,19 +23,17 @@ def init(): import os.path lib.init(os.path.dirname(__file__)) -def create(engine, scene, offline): +def create(engine, data, scene, region = 0, v3d = 0, rv3d = 0): from cycles import libcycles_blender as lib - data = bpy.data.as_pointer() - scene = scene.as_pointer() - if not offline and bpy.context.area.type == 'VIEW_3D': - region = bpy.context.region.as_pointer() - v3d = bpy.context.space_data.as_pointer() - rv3d = bpy.context.region_data.as_pointer() - else: - region = 0 - v3d = 0 - rv3d = 0 + data = data.as_pointer() + scene = scene.as_pointer() + if region: + region = region.as_pointer() + if v3d: + v3d = v3d.as_pointer() + if rv3d: + rv3d = rv3d.as_pointer() engine.session = lib.create(engine.as_pointer(), data, scene, region, v3d, rv3d) @@ -46,19 +44,18 @@ def free(engine): lib.free(engine.session) del engine.session -def render(engine, scene): +def render(engine): from cycles import libcycles_blender as lib lib.render(engine.session) -def update(engine, scene): +def update(engine, data, scene): from cycles import libcycles_blender as lib lib.sync(engine.session) -def draw(engine, scene): +def draw(engine, region, v3d, rv3d): from cycles import libcycles_blender as lib - v3d = bpy.context.space_data.as_pointer() - rv3d = bpy.context.region_data.as_pointer() - region = bpy.context.region + v3d = v3d.as_pointer() + rv3d = rv3d.as_pointer() # draw render image status, substatus = lib.draw(engine.session, v3d, rv3d) diff --git a/source/blender/blenkernel/BKE_depsgraph.h b/source/blender/blenkernel/BKE_depsgraph.h index 9b2c1d117f5..37e547b6688 100644 --- a/source/blender/blenkernel/BKE_depsgraph.h +++ b/source/blender/blenkernel/BKE_depsgraph.h @@ -121,7 +121,8 @@ 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 */ + /* check and clear ID recalc flags */ +void DAG_ids_check_recalc(struct Main *bmain); 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); diff --git a/source/blender/blenkernel/BKE_scene.h b/source/blender/blenkernel/BKE_scene.h index 943712167c6..9164085e7b7 100644 --- a/source/blender/blenkernel/BKE_scene.h +++ b/source/blender/blenkernel/BKE_scene.h @@ -90,6 +90,8 @@ int scene_check_setscene(struct Main *bmain, struct Scene *sce); float BKE_curframe(struct Scene *scene); void scene_update_tagged(struct Main *bmain, struct Scene *sce); +void scene_clear_tagged(struct Main *bmain, struct Scene *sce); + void scene_update_for_newframe(struct Main *bmain, struct Scene *sce, unsigned int lay); void scene_add_render_layer(struct Scene *sce); diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c index 72df926b9a7..845f1bc13e8 100644 --- a/source/blender/blenkernel/intern/depsgraph.c +++ b/source/blender/blenkernel/intern/depsgraph.c @@ -2508,10 +2508,10 @@ void DAG_ids_flush_tagged(Main *bmain) DAG_scene_flush_update(bmain, sce, lay, 0); } -void DAG_ids_clear_recalc(Main *bmain) +void DAG_ids_check_recalc(Main *bmain) { ListBase *lbarray[MAX_LIBARRAY]; - int a, first_tag = 1; + int a; /* loop over all ID types */ a = set_listbasepointers(bmain, lbarray); @@ -2524,11 +2524,28 @@ void DAG_ids_clear_recalc(Main *bmain) 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; - } + dag_editors_update(bmain, NULL); + return; + } + } +} + +void DAG_ids_clear_recalc(Main *bmain) +{ + ListBase *lbarray[MAX_LIBARRAY]; + int a; + + /* 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]]) { for(; id; id=id->next) if(id->flag & (LIB_ID_RECALC|LIB_ID_RECALC_DATA)) id->flag &= ~(LIB_ID_RECALC|LIB_ID_RECALC_DATA); diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index d4a1eb0330c..81cffe7a182 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -989,13 +989,18 @@ 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); + + DAG_ids_check_recalc(bmain); /* in the future this should handle updates for all datablocks, not only objects and scenes. - brecht */ } +void scene_clear_tagged(Main *bmain, Scene *scene) +{ + DAG_ids_clear_recalc(bmain); +} + /* applies changes right away, does all sets too */ void scene_update_for_newframe(Main *bmain, Scene *sce, unsigned int lay) { diff --git a/source/blender/editors/include/ED_render.h b/source/blender/editors/include/ED_render.h index 623d5dff8a4..8c0fa3a89a3 100644 --- a/source/blender/editors/include/ED_render.h +++ b/source/blender/editors/include/ED_render.h @@ -45,7 +45,7 @@ void ED_operatortypes_render(void); void ED_render_id_flush_update(struct Main *bmain, struct ID *id); void ED_render_engine_changed(struct Main *bmain); -void ED_render_engine_update_tagged(struct Main *bmain); +void ED_render_engine_update_tagged(struct bContext *C, struct Main *bmain); /* render_preview.c */ diff --git a/source/blender/editors/render/CMakeLists.txt b/source/blender/editors/render/CMakeLists.txt index 16cfca8dadb..af2dc5d64a2 100644 --- a/source/blender/editors/render/CMakeLists.txt +++ b/source/blender/editors/render/CMakeLists.txt @@ -41,6 +41,7 @@ set(SRC render_ops.c render_preview.c render_shading.c + render_update.c render_intern.h ) diff --git a/source/blender/editors/render/render_shading.c b/source/blender/editors/render/render_shading.c index bc84edb3c2e..178a15354fb 100644 --- a/source/blender/editors/render/render_shading.c +++ b/source/blender/editors/render/render_shading.c @@ -88,244 +88,6 @@ #include "render_intern.h" // own include -/***************************** Updates *********************************** - * ED_render_id_flush_update gets called from DAG_id_tag_update, to do * - * editor level updates when the ID changes. when these ID blocks are in * - * the dependency graph, we can get rid of the manual dependency checks */ - -static int mtex_use_tex(MTex **mtex, int tot, Tex *tex) -{ - int a; - - if(!mtex) - return 0; - - for(a=0; atex == tex) - return 1; - - return 0; -} - -static int nodes_use_tex(bNodeTree *ntree, Tex *tex) -{ - bNode *node; - - for(node=ntree->nodes.first; node; node= node->next) { - if(node->id) { - if(node->id == (ID*)tex) { - return 1; - } - else if(node->type==NODE_GROUP) { - if(nodes_use_tex((bNodeTree *)node->id, tex)) - return 1; - } - } - } - - return 0; -} - -static void material_changed(Main *UNUSED(bmain), Material *ma) -{ - /* icons */ - BKE_icon_changed(BKE_icon_getid(&ma->id)); - - /* glsl */ - if(ma->gpumaterial.first) - GPU_material_free(ma); -} - -static void texture_changed(Main *bmain, Tex *tex) -{ - Material *ma; - Lamp *la; - World *wo; - - /* icons */ - BKE_icon_changed(BKE_icon_getid(&tex->id)); - - /* find materials */ - for(ma=bmain->mat.first; ma; ma=ma->id.next) { - if(mtex_use_tex(ma->mtex, MAX_MTEX, tex)); - else if(ma->use_nodes && ma->nodetree && nodes_use_tex(ma->nodetree, tex)); - else continue; - - BKE_icon_changed(BKE_icon_getid(&ma->id)); - - if(ma->gpumaterial.first) - GPU_material_free(ma); - } - - /* find lamps */ - for(la=bmain->lamp.first; la; la=la->id.next) { - if(mtex_use_tex(la->mtex, MAX_MTEX, tex)); - else if(la->nodetree && nodes_use_tex(la->nodetree, tex)); - else continue; - - BKE_icon_changed(BKE_icon_getid(&la->id)); - } - - /* find worlds */ - for(wo=bmain->world.first; wo; wo=wo->id.next) { - if(mtex_use_tex(wo->mtex, MAX_MTEX, tex)); - else if(wo->nodetree && nodes_use_tex(wo->nodetree, tex)); - else continue; - - BKE_icon_changed(BKE_icon_getid(&wo->id)); - } -} - -static void lamp_changed(Main *bmain, Lamp *la) -{ - Object *ob; - Material *ma; - - /* icons */ - BKE_icon_changed(BKE_icon_getid(&la->id)); - - /* glsl */ - for(ob=bmain->object.first; ob; ob=ob->id.next) - if(ob->data == la && ob->gpulamp.first) - GPU_lamp_free(ob); - - for(ma=bmain->mat.first; ma; ma=ma->id.next) - if(ma->gpumaterial.first) - GPU_material_free(ma); -} - -static void world_changed(Main *bmain, World *wo) -{ - Material *ma; - - /* icons */ - BKE_icon_changed(BKE_icon_getid(&wo->id)); - - /* glsl */ - for(ma=bmain->mat.first; ma; ma=ma->id.next) - if(ma->gpumaterial.first) - GPU_material_free(ma); -} - -static void image_changed(Main *bmain, Image *ima) -{ - Tex *tex; - - /* icons */ - BKE_icon_changed(BKE_icon_getid(&ima->id)); - - /* textures */ - for(tex=bmain->tex.first; tex; tex=tex->id.next) - if(tex->ima == ima) - texture_changed(bmain, tex); -} - -static void scene_changed(Main *bmain, Scene *UNUSED(scene)) -{ - Object *ob; - Material *ma; - - /* glsl */ - for(ob=bmain->object.first; ob; ob=ob->id.next) - if(ob->gpulamp.first) - GPU_lamp_free(ob); - - for(ma=bmain->mat.first; ma; ma=ma->id.next) - if(ma->gpumaterial.first) - GPU_material_free(ma); -} - -#include "DNA_screen_types.h" -#include "DNA_view3d_types.h" - -#include "RE_engine.h" - -static void update_render_engines(Main *bmain, int tagged_only) -{ - Scene *scene = bmain->scene.first; - bScreen *sc; - ScrArea *sa; - ARegion *ar; - - for(sc=bmain->screen.first; sc; sc=sc->id.next) { - for(sa=sc->areabase.first; sa; sa=sa->next) { - if(sa->spacetype == SPACE_VIEW3D) { - for(ar=sa->regionbase.first; ar; ar=ar->next) { - if(ar->regiontype == RGN_TYPE_WINDOW) { - RegionView3D *rv3d = ar->regiondata; - RenderEngine *engine = rv3d->render_engine; - - if(engine && (!tagged_only || engine->do_update)) { - engine->do_update = 0; - engine->type->update(engine, scene); - } - } - } - } - } - } -} - -void ED_render_engine_update_tagged(Main *bmain) -{ - update_render_engines(bmain, 1); -} - -void ED_render_engine_changed(Main *bmain) -{ - bScreen *sc; - ScrArea *sa; - ARegion *ar; - - for(sc=bmain->screen.first; sc; sc=sc->id.next) { - for(sa=sc->areabase.first; sa; sa=sa->next) { - if(sa->spacetype == SPACE_VIEW3D) { - for(ar=sa->regionbase.first; ar; ar=ar->next) { - if(ar->regiontype == RGN_TYPE_WINDOW) { - RegionView3D *rv3d = ar->regiondata; - - if(rv3d->render_engine) { - RE_engine_free(rv3d->render_engine); - rv3d->render_engine= NULL; - } - } - } - } - } - } -} - -void ED_render_id_flush_update(Main *bmain, ID *id) -{ - if(!id) { - update_render_engines(bmain, 0); - return; - } - - switch(GS(id->name)) { - case ID_MA: - material_changed(bmain, (Material*)id); - break; - case ID_TE: - texture_changed(bmain, (Tex*)id); - break; - case ID_WO: - world_changed(bmain, (World*)id); - break; - case ID_LA: - lamp_changed(bmain, (Lamp*)id); - break; - case ID_IM: - image_changed(bmain, (Image*)id); - break; - case ID_SCE: - scene_changed(bmain, (Scene*)id); - break; - default: - break; - } -} - /********************** material slot operators *********************/ static int material_slot_add_exec(bContext *C, wmOperator *UNUSED(op)) @@ -1332,3 +1094,4 @@ void TEXTURE_OT_slot_paste(wmOperatorType *ot) /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; } + diff --git a/source/blender/editors/render/render_update.c b/source/blender/editors/render/render_update.c new file mode 100644 index 00000000000..c795c35e9d4 --- /dev/null +++ b/source/blender/editors/render/render_update.c @@ -0,0 +1,339 @@ +/* + * $Id$ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2009 Blender Foundation. + * All rights reserved. + * + * Contributor(s): Blender Foundation + * + * ***** END GPL LICENSE BLOCK ***** + */ + +/** \file blender/editors/render/render_update.c + * \ingroup edrend + */ + +#include +#include + +#include "MEM_guardedalloc.h" + +#include "DNA_lamp_types.h" +#include "DNA_material_types.h" +#include "DNA_node_types.h" +#include "DNA_object_types.h" +#include "DNA_scene_types.h" +#include "DNA_screen_types.h" +#include "DNA_space_types.h" +#include "DNA_view3d_types.h" +#include "DNA_world_types.h" + +#include "BKE_context.h" +#include "BKE_depsgraph.h" +#include "BKE_icons.h" +#include "BKE_image.h" +#include "BKE_main.h" +#include "BKE_material.h" +#include "BKE_node.h" +#include "BKE_scene.h" +#include "BKE_texture.h" +#include "BKE_world.h" + +#include "GPU_material.h" + +#include "RE_engine.h" + +#include "ED_render.h" + +#include "render_intern.h" // own include + +/***************************** Render Engines ********************************/ + +void ED_render_engine_update_tagged(bContext *C, Main *bmain) +{ + /* viewport rendering update on data changes, happens after depsgraph + * updates if there was any change. context is set to the 3d view */ + bScreen *sc, *prev_sc= CTX_wm_screen(C); + ScrArea *sa, *prev_sa= CTX_wm_area(C); + ARegion *ar, *prev_ar= CTX_wm_region(C); + + for(sc=bmain->screen.first; sc; sc=sc->id.next) { + for(sa=sc->areabase.first; sa; sa=sa->next) { + if(sa->spacetype != SPACE_VIEW3D) + continue; + + for(ar=sa->regionbase.first; ar; ar=ar->next) { + RegionView3D *rv3d; + RenderEngine *engine; + + if(ar->regiontype != RGN_TYPE_WINDOW) + continue; + + rv3d= ar->regiondata; + engine= rv3d->render_engine; + + if(engine && engine->do_update) { + CTX_wm_screen_set(C, sc); + CTX_wm_area_set(C, sa); + CTX_wm_region_set(C, ar); + + engine->do_update= 0; + engine->type->view_update(engine, C); + } + } + } + } + + CTX_wm_screen_set(C, prev_sc); + CTX_wm_area_set(C, prev_sa); + CTX_wm_region_set(C, prev_ar); +} + +void ED_render_engine_changed(Main *bmain) +{ + /* on changing the render engine type, clear all running render engines */ + bScreen *sc; + ScrArea *sa; + ARegion *ar; + + for(sc=bmain->screen.first; sc; sc=sc->id.next) { + for(sa=sc->areabase.first; sa; sa=sa->next) { + if(sa->spacetype != SPACE_VIEW3D) + continue; + + for(ar=sa->regionbase.first; ar; ar=ar->next) { + RegionView3D *rv3d; + + if(ar->regiontype != RGN_TYPE_WINDOW) + continue; + + rv3d= ar->regiondata; + + if(rv3d->render_engine) { + RE_engine_free(rv3d->render_engine); + rv3d->render_engine= NULL; + } + } + } + } +} + +void tag_render_engines(Main *bmain) +{ + /* tag running render engines for update later on */ + bScreen *sc; + ScrArea *sa; + ARegion *ar; + + for(sc=bmain->screen.first; sc; sc=sc->id.next) { + for(sa=sc->areabase.first; sa; sa=sa->next) { + if(sa->spacetype != SPACE_VIEW3D) + continue; + + for(ar=sa->regionbase.first; ar; ar=ar->next) { + RegionView3D *rv3d; + + if(ar->regiontype != RGN_TYPE_WINDOW) + continue; + + rv3d= ar->regiondata; + if(rv3d->render_engine) + rv3d->render_engine->do_update= 1; + } + } + } +} + +/***************************** Updates *********************************** + * ED_render_id_flush_update gets called from DAG_id_tag_update, to do * + * editor level updates when the ID changes. when these ID blocks are in * + * the dependency graph, we can get rid of the manual dependency checks */ + +static int mtex_use_tex(MTex **mtex, int tot, Tex *tex) +{ + int a; + + if(!mtex) + return 0; + + for(a=0; atex == tex) + return 1; + + return 0; +} + +static int nodes_use_tex(bNodeTree *ntree, Tex *tex) +{ + bNode *node; + + for(node=ntree->nodes.first; node; node= node->next) { + if(node->id) { + if(node->id == (ID*)tex) { + return 1; + } + else if(node->type==NODE_GROUP) { + if(nodes_use_tex((bNodeTree *)node->id, tex)) + return 1; + } + } + } + + return 0; +} + +static void material_changed(Main *UNUSED(bmain), Material *ma) +{ + /* icons */ + BKE_icon_changed(BKE_icon_getid(&ma->id)); + + /* glsl */ + if(ma->gpumaterial.first) + GPU_material_free(ma); +} + +static void texture_changed(Main *bmain, Tex *tex) +{ + Material *ma; + Lamp *la; + World *wo; + + /* icons */ + BKE_icon_changed(BKE_icon_getid(&tex->id)); + + /* find materials */ + for(ma=bmain->mat.first; ma; ma=ma->id.next) { + if(mtex_use_tex(ma->mtex, MAX_MTEX, tex)); + else if(ma->use_nodes && ma->nodetree && nodes_use_tex(ma->nodetree, tex)); + else continue; + + BKE_icon_changed(BKE_icon_getid(&ma->id)); + + if(ma->gpumaterial.first) + GPU_material_free(ma); + } + + /* find lamps */ + for(la=bmain->lamp.first; la; la=la->id.next) { + if(mtex_use_tex(la->mtex, MAX_MTEX, tex)); + else if(la->nodetree && nodes_use_tex(la->nodetree, tex)); + else continue; + + BKE_icon_changed(BKE_icon_getid(&la->id)); + } + + /* find worlds */ + for(wo=bmain->world.first; wo; wo=wo->id.next) { + if(mtex_use_tex(wo->mtex, MAX_MTEX, tex)); + else if(wo->nodetree && nodes_use_tex(wo->nodetree, tex)); + else continue; + + BKE_icon_changed(BKE_icon_getid(&wo->id)); + } +} + +static void lamp_changed(Main *bmain, Lamp *la) +{ + Object *ob; + Material *ma; + + /* icons */ + BKE_icon_changed(BKE_icon_getid(&la->id)); + + /* glsl */ + for(ob=bmain->object.first; ob; ob=ob->id.next) + if(ob->data == la && ob->gpulamp.first) + GPU_lamp_free(ob); + + for(ma=bmain->mat.first; ma; ma=ma->id.next) + if(ma->gpumaterial.first) + GPU_material_free(ma); +} + +static void world_changed(Main *bmain, World *wo) +{ + Material *ma; + + /* icons */ + BKE_icon_changed(BKE_icon_getid(&wo->id)); + + /* glsl */ + for(ma=bmain->mat.first; ma; ma=ma->id.next) + if(ma->gpumaterial.first) + GPU_material_free(ma); +} + +static void image_changed(Main *bmain, Image *ima) +{ + Tex *tex; + + /* icons */ + BKE_icon_changed(BKE_icon_getid(&ima->id)); + + /* textures */ + for(tex=bmain->tex.first; tex; tex=tex->id.next) + if(tex->ima == ima) + texture_changed(bmain, tex); +} + +static void scene_changed(Main *bmain, Scene *UNUSED(scene)) +{ + Object *ob; + Material *ma; + + /* glsl */ + for(ob=bmain->object.first; ob; ob=ob->id.next) + if(ob->gpulamp.first) + GPU_lamp_free(ob); + + for(ma=bmain->mat.first; ma; ma=ma->id.next) + if(ma->gpumaterial.first) + GPU_material_free(ma); +} + +void ED_render_id_flush_update(Main *bmain, ID *id) +{ + if(!id) { + tag_render_engines(bmain); + return; + } + + switch(GS(id->name)) { + case ID_MA: + material_changed(bmain, (Material*)id); + break; + case ID_TE: + texture_changed(bmain, (Tex*)id); + break; + case ID_WO: + world_changed(bmain, (World*)id); + break; + case ID_LA: + lamp_changed(bmain, (Lamp*)id); + break; + case ID_IM: + image_changed(bmain, (Image*)id); + break; + case ID_SCE: + scene_changed(bmain, (Scene*)id); + break; + default: + break; + } +} + diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c index 4f8d69958e8..62f3d762e22 100644 --- a/source/blender/editors/space_view3d/space_view3d.c +++ b/source/blender/editors/space_view3d/space_view3d.c @@ -616,12 +616,6 @@ static void view3d_recalc_used_layers(ARegion *ar, wmNotifier *wmn, Scene *scene } } -static void view3d_main_area_render_update(RegionView3D *rv3d) -{ - if(rv3d->render_engine) - rv3d->render_engine->type->update(rv3d->render_engine, NULL); -} - static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn) { bScreen *sc; @@ -651,7 +645,6 @@ static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn) case ND_LAYER_CONTENT: view3d_recalc_used_layers(ar, wmn, wmn->reference); ED_region_tag_redraw(ar); - view3d_main_area_render_update(rv3d); break; case ND_FRAME: case ND_TRANSFORM: diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index c0352d30f47..02432eb2098 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -2313,10 +2313,11 @@ static int view3d_main_area_draw_engine(const bContext *C, ARegion *ar) if(strcmp(type->idname, scene->r.engine) == 0) break; - if(!type || !type->draw) + if(!type || !type->view_draw) return 0; rv3d->render_engine = RE_engine_create(type); + type->view_update(rv3d->render_engine, C); } view3d_main_area_setup_view(scene, v3d, ar, NULL, NULL); @@ -2327,7 +2328,7 @@ static int view3d_main_area_draw_engine(const bContext *C, ARegion *ar) ED_region_pixelspace(ar); type = rv3d->render_engine->type; - type->draw(rv3d->render_engine, scene); + type->view_draw(rv3d->render_engine, C); return 1; } diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c index 842a5f49998..ed7e99b9cb5 100644 --- a/source/blender/makesrna/intern/rna_render.c +++ b/source/blender/makesrna/intern/rna_render.c @@ -49,43 +49,6 @@ #include "BKE_context.h" #include "BKE_report.h" -/* RenderEngine */ - -static RenderEngineType internal_render_type = { - NULL, NULL, "BLENDER_RENDER", "Blender Render", RE_INTERNAL, NULL, NULL, NULL, {NULL, NULL, NULL}}; -#ifdef WITH_GAMEENGINE -static RenderEngineType internal_game_type = { - NULL, NULL, "BLENDER_GAME", "Blender Game", RE_INTERNAL|RE_GAME, NULL, NULL, NULL, {NULL, NULL, NULL}}; -#endif - -ListBase R_engines = {NULL, NULL}; - -void RE_engines_init(void) -{ - BLI_addtail(&R_engines, &internal_render_type); -#ifdef WITH_GAMEENGINE - BLI_addtail(&R_engines, &internal_game_type); -#endif -} - -void RE_engines_exit(void) -{ - RenderEngineType *type, *next; - - for(type=R_engines.first; type; type=next) { - next= type->next; - - BLI_remlink(&R_engines, type); - - if(!(type->flag & RE_INTERNAL)) { - if(type->ext.free) - type->ext.free(type->ext.data); - - MEM_freeN(type); - } - } -} - LIBEXPORT void engine_tag_redraw(RenderEngine *engine) { engine->do_draw = 1; @@ -96,39 +59,9 @@ LIBEXPORT void engine_tag_update(RenderEngine *engine) engine->do_update = 1; } -static void engine_render(RenderEngine *engine, struct Scene *scene) -{ - PointerRNA ptr; - ParameterList list; - FunctionRNA *func; +/* RenderEngine Callbacks */ - RNA_pointer_create(NULL, engine->type->ext.srna, engine, &ptr); - func= RNA_struct_find_function(&ptr, "render"); - - RNA_parameter_list_create(&list, &ptr, func); - RNA_parameter_set_lookup(&list, "scene", &scene); - engine->type->ext.call(NULL, &ptr, func, &list); - - RNA_parameter_list_free(&list); -} - -static void engine_draw(RenderEngine *engine, struct Scene *scene) -{ - PointerRNA ptr; - ParameterList list; - FunctionRNA *func; - - RNA_pointer_create(NULL, engine->type->ext.srna, engine, &ptr); - func= RNA_struct_find_function(&ptr, "draw"); - - RNA_parameter_list_create(&list, &ptr, func); - RNA_parameter_set_lookup(&list, "scene", &scene); - engine->type->ext.call(NULL, &ptr, func, &list); - - RNA_parameter_list_free(&list); -} - -static void engine_update(RenderEngine *engine, struct Scene *scene) +static void engine_update(RenderEngine *engine, Main *bmain, Scene *scene) { PointerRNA ptr; ParameterList list; @@ -138,13 +71,95 @@ static void engine_update(RenderEngine *engine, struct Scene *scene) func= RNA_struct_find_function(&ptr, "update"); RNA_parameter_list_create(&list, &ptr, func); + RNA_parameter_set_lookup(&list, "data", &bmain); RNA_parameter_set_lookup(&list, "scene", &scene); engine->type->ext.call(NULL, &ptr, func, &list); RNA_parameter_list_free(&list); } -static void rna_RenderEngine_unregister(const bContext *C, StructRNA *type) +static void engine_render(RenderEngine *engine) +{ + PointerRNA ptr; + ParameterList list; + FunctionRNA *func; + + RNA_pointer_create(NULL, engine->type->ext.srna, engine, &ptr); + func= RNA_struct_find_function(&ptr, "render"); + + RNA_parameter_list_create(&list, &ptr, func); + engine->type->ext.call(NULL, &ptr, func, &list); + + RNA_parameter_list_free(&list); +} + +static void engine_preview_update(RenderEngine *engine, const struct bContext *context, struct ID *id) +{ + PointerRNA ptr; + ParameterList list; + FunctionRNA *func; + + RNA_pointer_create(NULL, engine->type->ext.srna, engine, &ptr); + func= RNA_struct_find_function(&ptr, "preview_update"); + + RNA_parameter_list_create(&list, &ptr, func); + RNA_parameter_set_lookup(&list, "context", &context); + RNA_parameter_set_lookup(&list, "id", &id); + engine->type->ext.call(NULL, &ptr, func, &list); + + RNA_parameter_list_free(&list); +} + +static void engine_preview_render(RenderEngine *engine) +{ + PointerRNA ptr; + ParameterList list; + FunctionRNA *func; + + RNA_pointer_create(NULL, engine->type->ext.srna, engine, &ptr); + func= RNA_struct_find_function(&ptr, "preview_render"); + + RNA_parameter_list_create(&list, &ptr, func); + engine->type->ext.call(NULL, &ptr, func, &list); + + RNA_parameter_list_free(&list); +} + +static void engine_view_update(RenderEngine *engine, const struct bContext *context) +{ + PointerRNA ptr; + ParameterList list; + FunctionRNA *func; + + RNA_pointer_create(NULL, engine->type->ext.srna, engine, &ptr); + func= RNA_struct_find_function(&ptr, "view_update"); + + RNA_parameter_list_create(&list, &ptr, func); + RNA_parameter_set_lookup(&list, "context", &context); + engine->type->ext.call(NULL, &ptr, func, &list); + + RNA_parameter_list_free(&list); +} + +static void engine_view_draw(RenderEngine *engine, const struct bContext *context) +{ + PointerRNA ptr; + ParameterList list; + FunctionRNA *func; + + RNA_pointer_create(NULL, engine->type->ext.srna, engine, &ptr); + func= RNA_struct_find_function(&ptr, "view_draw"); + + RNA_parameter_list_create(&list, &ptr, func); + RNA_parameter_set_lookup(&list, "context", &context); + engine->type->ext.call(NULL, &ptr, func, &list); + + RNA_parameter_list_free(&list); +} + +/* RenderEngine registration */ + +static void rna_RenderEngine_unregister(const struct bContext *C, StructRNA *type) { RenderEngineType *et= RNA_struct_blender_type_get(type); @@ -161,7 +176,7 @@ static StructRNA *rna_RenderEngine_register(bContext *C, ReportList *reports, vo RenderEngineType *et, dummyet = {NULL}; RenderEngine dummyengine= {NULL}; PointerRNA dummyptr; - int have_function[3]; + int have_function[6]; /* setup dummy engine & engine type to store static properties in */ dummyengine.type= &dummyet; @@ -186,7 +201,7 @@ static StructRNA *rna_RenderEngine_register(bContext *C, ReportList *reports, vo } /* create a new engine type */ - et= MEM_callocN(sizeof(RenderEngineType), "python buttons engine"); + et= MEM_callocN(sizeof(RenderEngineType), "python render engine"); memcpy(et, &dummyet, sizeof(dummyet)); et->ext.srna= RNA_def_struct(&BLENDER_RNA, et->idname, "RenderEngine"); @@ -195,9 +210,12 @@ static StructRNA *rna_RenderEngine_register(bContext *C, ReportList *reports, vo et->ext.free= free; RNA_struct_blender_type_set(et->ext.srna, et); - et->render= (have_function[0])? engine_render: NULL; - et->draw= (have_function[1])? engine_draw: NULL; - et->update= (have_function[2])? engine_update: NULL; + et->update= (have_function[0])? engine_update: NULL; + et->render= (have_function[1])? engine_render: NULL; + et->preview_update= (have_function[2])? engine_preview_update: NULL; + et->preview_render= (have_function[3])? engine_preview_render: NULL; + et->view_update= (have_function[4])? engine_view_update: NULL; + et->view_draw= (have_function[5])? engine_view_draw: NULL; BLI_addtail(&R_engines, et); @@ -286,23 +304,39 @@ static void rna_def_render_engine(BlenderRNA *brna) RNA_def_struct_refine_func(srna, "rna_RenderEngine_refine"); RNA_def_struct_register_funcs(srna, "rna_RenderEngine_register", "rna_RenderEngine_unregister", "rna_RenderEngine_instance"); - /* render */ - func= RNA_def_function(srna, "render", NULL); - RNA_def_function_ui_description(func, "Render scene into an image."); - RNA_def_function_flag(func, FUNC_REGISTER); - RNA_def_pointer(func, "scene", "Scene", "", ""); - - /* draw */ - func= RNA_def_function(srna, "draw", NULL); - RNA_def_function_ui_description(func, "Draw progressive render into viewport."); - RNA_def_function_flag(func, FUNC_REGISTER); - RNA_def_pointer(func, "scene", "Scene", "", ""); - + /* final render callbacks */ func= RNA_def_function(srna, "update", NULL); - RNA_def_function_ui_description(func, "Notify data has changed for progressive viewport render."); + RNA_def_function_ui_description(func, "Export scene data for render"); RNA_def_function_flag(func, FUNC_REGISTER); + RNA_def_pointer(func, "data", "BlendData", "", ""); RNA_def_pointer(func, "scene", "Scene", "", ""); + func= RNA_def_function(srna, "render", NULL); + RNA_def_function_ui_description(func, "Execute render"); + RNA_def_function_flag(func, FUNC_REGISTER); + + /* preview render callbacks */ + func= RNA_def_function(srna, "preview_update", NULL); + RNA_def_function_ui_description(func, "Export scene data for preview render of the given datablock"); + RNA_def_function_flag(func, FUNC_REGISTER); + RNA_def_pointer(func, "context", "Context", "", ""); + RNA_def_pointer(func, "id", "ID", "", ""); + + func= RNA_def_function(srna, "preview_render", NULL); + RNA_def_function_ui_description(func, "Execute preview render"); + RNA_def_function_flag(func, FUNC_REGISTER); + + /* viewport render callbacks */ + func= RNA_def_function(srna, "view_update", NULL); + RNA_def_function_ui_description(func, "Update on data changes for viewport render"); + RNA_def_function_flag(func, FUNC_REGISTER); + RNA_def_pointer(func, "context", "Context", "", ""); + + func= RNA_def_function(srna, "view_draw", NULL); + RNA_def_function_ui_description(func, "Draw viewport render"); + RNA_def_function_flag(func, FUNC_REGISTER); + RNA_def_pointer(func, "context", "Context", "", ""); + /* tag for redraw */ RNA_def_function(srna, "tag_redraw", "engine_tag_redraw"); diff --git a/source/blender/makesrna/intern/rna_scene_api.c b/source/blender/makesrna/intern/rna_scene_api.c index c2194636cd3..23d34074ff4 100644 --- a/source/blender/makesrna/intern/rna_scene_api.c +++ b/source/blender/makesrna/intern/rna_scene_api.c @@ -71,6 +71,7 @@ static void rna_Scene_frame_set(Scene *scene, int frame, float subframe) static void rna_Scene_update_tagged(Scene *scene) { scene_update_tagged(G.main, scene); + scene_clear_tagged(G.main, scene); } static void rna_SceneRender_get_frame_path(RenderData *rd, int frame, char *name) diff --git a/source/blender/render/CMakeLists.txt b/source/blender/render/CMakeLists.txt index 2ffe3b360e9..f9b629791d7 100644 --- a/source/blender/render/CMakeLists.txt +++ b/source/blender/render/CMakeLists.txt @@ -131,6 +131,10 @@ if(WITH_CODEC_QUICKTIME) add_definitions(-DWITH_QUICKTIME) endif() +if(WITH_GAMEENGINE) + add_definitions(-DWITH_GAMEENGINE) +endif() + if(APPLE) if(CMAKE_OSX_ARCHITECTURES MATCHES "i386" OR CMAKE_OSX_ARCHITECTURES MATCHES "x86_64") set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -mfpmath=sse") diff --git a/source/blender/render/SConscript b/source/blender/render/SConscript index 4eff9fe238d..2bf5da19827 100644 --- a/source/blender/render/SConscript +++ b/source/blender/render/SConscript @@ -54,6 +54,9 @@ if env['WITH_BF_QUICKTIME']: if env['WITH_BF_OPENEXR']: defs.append('WITH_OPENEXR') +if env['WITH_BF_GAMEENGINE']: + defs.append('WITH_GAMEENGINE') + if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'): incs += ' ' + env['BF_PTHREADS_INC'] diff --git a/source/blender/render/extern/include/RE_engine.h b/source/blender/render/extern/include/RE_engine.h index 6793acb1482..e6680386064 100644 --- a/source/blender/render/extern/include/RE_engine.h +++ b/source/blender/render/extern/include/RE_engine.h @@ -63,9 +63,14 @@ typedef struct RenderEngineType { char name[64]; int flag; - void (*render)(struct RenderEngine *engine, struct Scene *scene); - void (*draw)(struct RenderEngine *engine, struct Scene *scene); - void (*update)(struct RenderEngine *engine, struct Scene *scene); + void (*update)(struct RenderEngine *engine, struct Main *bmain, struct Scene *scene); + void (*render)(struct RenderEngine *engine); + + void (*preview_update)(struct RenderEngine *engine, const struct bContext *context, struct ID *id); + void (*preview_render)(struct RenderEngine *engine); + + void (*view_update)(struct RenderEngine *engine, const struct bContext *context); + void (*view_draw)(struct RenderEngine *engine, const struct bContext *context); /* RNA integration */ ExtensionRNA ext; @@ -73,9 +78,11 @@ typedef struct RenderEngineType { typedef struct RenderEngine { RenderEngineType *type; + void *py_instance; + struct Render *re; ListBase fullresult; - void *py_instance; + int do_draw; int do_update; } RenderEngine; diff --git a/source/blender/render/intern/pipeline/engine.c b/source/blender/render/intern/pipeline/engine.c index de99b6e8e7e..f6c9c326240 100644 --- a/source/blender/render/intern/pipeline/engine.c +++ b/source/blender/render/intern/pipeline/engine.c @@ -58,6 +58,52 @@ #include "render_types.h" #include "renderpipeline.h" +/* Render Engine Types */ + +static RenderEngineType internal_render_type = { + NULL, NULL, + "BLENDER_RENDER", "Blender Render", RE_INTERNAL, + NULL, NULL, NULL, NULL, NULL, NULL, + {NULL, NULL, NULL}}; + +#ifdef WITH_GAMEENGINE + +static RenderEngineType internal_game_type = { + NULL, NULL, + "BLENDER_GAME", "Blender Game", RE_INTERNAL|RE_GAME, + NULL, NULL, NULL, NULL, NULL, NULL, + {NULL, NULL, NULL}}; + +#endif + +ListBase R_engines = {NULL, NULL}; + +void RE_engines_init(void) +{ + BLI_addtail(&R_engines, &internal_render_type); +#ifdef WITH_GAMEENGINE + BLI_addtail(&R_engines, &internal_game_type); +#endif +} + +void RE_engines_exit(void) +{ + RenderEngineType *type, *next; + + for(type=R_engines.first; type; type=next) { + next= type->next; + + BLI_remlink(&R_engines, type); + + if(!(type->flag & RE_INTERNAL)) { + if(type->ext.free) + type->ext.free(type->ext.data); + + MEM_freeN(type); + } + } +} + /* Create, Free */ RenderEngine *RE_engine_create(RenderEngineType *type) @@ -198,7 +244,14 @@ int RE_engine_render(Render *re, int do_all) if((re->r.scemode & (R_NO_FRAME_UPDATE|R_PREVIEWBUTS))==0) scene_update_for_newframe(re->main, re->scene, re->lay); - type->render(engine, re->scene); + if(re->r.scemode & R_PREVIEWBUTS) { + //type->preview_update(engine, scene, id); + type->preview_render(engine); + } + else { + type->update(engine, re->main, re->scene); + type->render(engine); + } free_render_result(&engine->fullresult, engine->fullresult.first); diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 723df06a125..3f9aa2bcc82 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -320,7 +320,9 @@ void wm_event_do_notifiers(bContext *C) scene_update_tagged(bmain, win->screen->scene); - ED_render_engine_update_tagged(bmain); + ED_render_engine_update_tagged(C, bmain); + + scene_clear_tagged(bmain, win->screen->scene); } } diff --git a/source/blenderplayer/bad_level_call_stubs/stubs.c b/source/blenderplayer/bad_level_call_stubs/stubs.c index 2f5d6702e3e..901ec80a654 100644 --- a/source/blenderplayer/bad_level_call_stubs/stubs.c +++ b/source/blenderplayer/bad_level_call_stubs/stubs.c @@ -375,6 +375,8 @@ void RE_AcquireResultImage(struct Render *re, struct RenderResult *rr){} void RE_ReleaseResult(struct Render *re){} void RE_ReleaseResultImage(struct Render *re){} int RE_engine_test_break(struct RenderEngine *engine){return 0;} +void RE_engines_init() {} +void RE_engines_exit() {} /* python */ struct wmOperatorType *WM_operatortype_find(const char *idname, int quiet){return (struct wmOperatorType *) NULL;} From 0a1223c87e2bc9557351630292bbae52ce38b4cf Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 17 May 2011 15:20:12 +0000 Subject: [PATCH 034/241] Render API: add self.report() function for RenderEngine, for reporting warnings and errors. --- .../blender/editors/render/render_internal.c | 12 +++++++-- source/blender/editors/render/render_update.c | 2 ++ source/blender/makesrna/intern/rna_render.c | 7 ++++++ .../blender/render/extern/include/RE_engine.h | 1 + .../render/extern/include/RE_pipeline.h | 5 +++- .../render/intern/include/render_types.h | 3 +++ .../blender/render/intern/pipeline/engine.c | 5 ++++ .../blender/render/intern/source/pipeline.c | 25 +++++++++++-------- source/creator/creator.c | 8 ++++-- 9 files changed, 53 insertions(+), 15 deletions(-) diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.c index 7f90e298504..bde1591b359 100644 --- a/source/blender/editors/render/render_internal.c +++ b/source/blender/editors/render/render_internal.c @@ -446,11 +446,15 @@ static int screen_render_exec(bContext *C, wmOperator *op) since sequence rendering can call that recursively... (peter) */ seq_stripelem_cache_cleanup(); + RE_SetReports(re, op->reports); + if(is_animation) - RE_BlenderAnim(re, mainp, scene, camera_override, lay, scene->r.sfra, scene->r.efra, scene->r.frame_step, op->reports); + RE_BlenderAnim(re, mainp, scene, camera_override, lay, scene->r.sfra, scene->r.efra, scene->r.frame_step); else RE_BlenderFrame(re, mainp, scene, NULL, camera_override, lay, scene->r.cfra, is_write_still); + RE_SetReports(re, NULL); + // no redraw needed, we leave state as we entered it ED_update_for_newframe(mainp, scene, CTX_wm_screen(C), 1); @@ -591,10 +595,14 @@ static void render_startjob(void *rjv, short *stop, short *do_update, float *pro rj->do_update= do_update; rj->progress= progress; + RE_SetReports(rj->re, rj->reports); + if(rj->anim) - RE_BlenderAnim(rj->re, rj->main, rj->scene, rj->camera_override, rj->lay, rj->scene->r.sfra, rj->scene->r.efra, rj->scene->r.frame_step, rj->reports); + RE_BlenderAnim(rj->re, rj->main, rj->scene, rj->camera_override, rj->lay, rj->scene->r.sfra, rj->scene->r.efra, rj->scene->r.frame_step); else RE_BlenderFrame(rj->re, rj->main, rj->scene, rj->srl, rj->camera_override, rj->lay, rj->scene->r.cfra, rj->write_still); + + RE_SetReports(rj->re, NULL); } static void render_endjob(void *rjv) diff --git a/source/blender/editors/render/render_update.c b/source/blender/editors/render/render_update.c index c795c35e9d4..6548bdb37a9 100644 --- a/source/blender/editors/render/render_update.c +++ b/source/blender/editors/render/render_update.c @@ -43,6 +43,8 @@ #include "DNA_view3d_types.h" #include "DNA_world_types.h" +#include "BLI_utildefines.h" + #include "BKE_context.h" #include "BKE_depsgraph.h" #include "BKE_icons.h" diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c index ed7e99b9cb5..9c7076012ce 100644 --- a/source/blender/makesrna/intern/rna_render.c +++ b/source/blender/makesrna/intern/rna_render.c @@ -32,6 +32,7 @@ #include "DNA_scene_types.h" #include "RNA_define.h" +#include "RNA_enum_types.h" #include "rna_internal.h" @@ -373,6 +374,12 @@ static void rna_def_render_engine(BlenderRNA *brna) prop= RNA_def_string(func, "info", "", 0, "Info", ""); RNA_def_property_flag(prop, PROP_REQUIRED); + func= RNA_def_function(srna, "report", "RE_engine_report"); + prop= RNA_def_enum_flag(func, "type", wm_report_items, 0, "Type", ""); + RNA_def_property_flag(prop, PROP_REQUIRED); + prop= RNA_def_string(func, "message", "", 0, "Report Message", ""); + RNA_def_property_flag(prop, PROP_REQUIRED); + /* registration */ RNA_define_verify_sdna(0); diff --git a/source/blender/render/extern/include/RE_engine.h b/source/blender/render/extern/include/RE_engine.h index e6680386064..82a421e8549 100644 --- a/source/blender/render/extern/include/RE_engine.h +++ b/source/blender/render/extern/include/RE_engine.h @@ -99,6 +99,7 @@ LIBEXPORT void RE_engine_end_result(RenderEngine *engine, struct RenderResult *r LIBEXPORT int RE_engine_test_break(RenderEngine *engine); LIBEXPORT void RE_engine_update_stats(RenderEngine *engine, const char *stats, const char *info); +LIBEXPORT void RE_engine_report(RenderEngine *engine, int type, const char *msg); int RE_engine_render(struct Render *re, int do_all); diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h index 08b083111d5..2e70d8110e2 100644 --- a/source/blender/render/extern/include/RE_pipeline.h +++ b/source/blender/render/extern/include/RE_pipeline.h @@ -214,7 +214,10 @@ void RE_TileProcessor(struct Render *re); /* only RE_NewRender() needed, main Blender render calls */ void RE_BlenderFrame(struct Render *re, struct Main *bmain, struct Scene *scene, struct SceneRenderLayer *srl, struct Object *camera_override, unsigned int lay, int frame, const short write_still); -void RE_BlenderAnim(struct Render *re, struct Main *bmain, struct Scene *scene, struct Object *camera_override, unsigned int lay, int sfra, int efra, int tfra, struct ReportList *reports); +void RE_BlenderAnim(struct Render *re, struct Main *bmain, struct Scene *scene, struct Object *camera_override, unsigned int lay, int sfra, int efra, int tfra); + +/* error reporting */ +void RE_SetReports(struct Render *re, struct ReportList *reports); /* main preview render call */ void RE_PreviewRender(struct Render *re, struct Main *bmain, struct Scene *scene); diff --git a/source/blender/render/intern/include/render_types.h b/source/blender/render/intern/include/render_types.h index cf16211b6d1..30b8930eb52 100644 --- a/source/blender/render/intern/include/render_types.h +++ b/source/blender/render/intern/include/render_types.h @@ -60,6 +60,7 @@ struct RenderBuckets; struct ObjectInstanceRen; struct RayObject; struct RayFace; +struct ReportList; struct Main; #define TABLEINITSIZE 1024 @@ -256,6 +257,8 @@ struct Render void *erh; RenderStats i; + + struct ReportList *reports; }; /* ------------------------------------------------------------------------- */ diff --git a/source/blender/render/intern/pipeline/engine.c b/source/blender/render/intern/pipeline/engine.c index f6c9c326240..91463ffb428 100644 --- a/source/blender/render/intern/pipeline/engine.c +++ b/source/blender/render/intern/pipeline/engine.c @@ -209,6 +209,11 @@ void RE_engine_update_stats(RenderEngine *engine, const char *stats, const char re->i.statstr= NULL; } +void RE_engine_report(RenderEngine *engine, int type, const char *msg) +{ + BKE_report(engine->re->reports, type, msg); +} + /* Render */ int RE_engine_render(Render *re, int do_all) diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index f73065f649b..ebc5794881f 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -128,7 +128,7 @@ Render R; /* ********* alloc and free ******** */ -static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, ReportList *reports, const char *name_override); +static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, const char *name_override); static volatile int g_break= 0; static int thread_break(void *UNUSED(arg)) @@ -2911,6 +2911,11 @@ static int render_initialize_from_main(Render *re, Main *bmain, Scene *scene, Sc return 1; } +void RE_SetReports(Render *re, ReportList *reports) +{ + re->reports= reports; +} + /* general Blender frame render call */ void RE_BlenderFrame(Render *re, Main *bmain, Scene *scene, SceneRenderLayer *srl, Object *camera_override, unsigned int lay, int frame, const short write_still) { @@ -2933,7 +2938,7 @@ void RE_BlenderFrame(Render *re, Main *bmain, Scene *scene, SceneRenderLayer *sr BKE_makepicstring(name, scene->r.pic, scene->r.cfra, scene->r.imtype, scene->r.scemode & R_EXTENSION, FALSE); /* reports only used for Movie */ - do_write_image_or_movie(re, scene, NULL, NULL, name); + do_write_image_or_movie(re, scene, NULL, name); } } } @@ -2942,7 +2947,7 @@ void RE_BlenderFrame(Render *re, Main *bmain, Scene *scene, SceneRenderLayer *sr G.rendering= 0; } -static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, ReportList *reports, const char *name_override) +static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, const char *name_override) { char name[FILE_MAX]; RenderResult rres; @@ -2960,7 +2965,7 @@ static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, R dofree = 1; } RE_ResultGet32(re, (unsigned int *)rres.rect32); - ok= mh->append_movie(&re->r, scene->r.cfra, rres.rect32, rres.rectx, rres.recty, reports); + ok= mh->append_movie(&re->r, scene->r.cfra, rres.rect32, rres.rectx, rres.recty, re->reports); if(dofree) { MEM_freeN(rres.rect32); } @@ -3033,7 +3038,7 @@ static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, R } /* saves images to disk */ -void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_override, unsigned int lay, int sfra, int efra, int tfra, ReportList *reports) +void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_override, unsigned int lay, int sfra, int efra, int tfra) { bMovieHandle *mh= BKE_get_movie_handle(scene->r.imtype); int cfrao= scene->r.cfra; @@ -3046,21 +3051,21 @@ void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_overri /* ugly global still... is to prevent renderwin events and signal subsurfs etc to make full resol */ /* is also set by caller renderwin.c */ G.rendering= 1; - + if(BKE_imtype_is_movie(scene->r.imtype)) - if(!mh->start_movie(scene, &re->r, re->rectx, re->recty, reports)) + if(!mh->start_movie(scene, &re->r, re->rectx, re->recty, re->reports)) G.afbreek= 1; if (mh->get_next_frame) { while (!(G.afbreek == 1)) { - int nf = mh->get_next_frame(&re->r, reports); + int nf = mh->get_next_frame(&re->r, re->reports); if (nf >= 0 && nf >= scene->r.sfra && nf <= scene->r.efra) { scene->r.cfra = re->r.cfra = nf; do_render_all_options(re); if(re->test_break(re->tbh) == 0) { - if(!do_write_image_or_movie(re, scene, mh, reports, NULL)) + if(!do_write_image_or_movie(re, scene, mh, NULL)) G.afbreek= 1; } } else { @@ -3115,7 +3120,7 @@ void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_overri if(re->test_break(re->tbh) == 0) { if(!G.afbreek) - if(!do_write_image_or_movie(re, scene, mh, reports, NULL)) + if(!do_write_image_or_movie(re, scene, mh, NULL)) G.afbreek= 1; } else diff --git a/source/creator/creator.c b/source/creator/creator.c index 18097f35257..1a486313c92 100644 --- a/source/creator/creator.c +++ b/source/creator/creator.c @@ -782,7 +782,9 @@ static int render_frame(int argc, const char **argv, void *data) frame = MIN2(MAXFRAME, MAX2(MINAFRAME, frame)); - RE_BlenderAnim(re, bmain, scene, NULL, scene->lay, frame, frame, scene->r.frame_step, &reports); + RE_SetReports(re, &reports); + RE_BlenderAnim(re, bmain, scene, NULL, scene->lay, frame, frame, scene->r.frame_step); + RE_SetReports(re, NULL); return 1; } else { printf("\nError: frame number must follow '-f / --render-frame'.\n"); @@ -803,7 +805,9 @@ static int render_animation(int UNUSED(argc), const char **UNUSED(argv), void *d Render *re= RE_NewRender(scene->id.name); ReportList reports; BKE_reports_init(&reports, RPT_PRINT); - RE_BlenderAnim(re, bmain, scene, NULL, scene->lay, scene->r.sfra, scene->r.efra, scene->r.frame_step, &reports); + RE_SetReports(re, &reports); + RE_BlenderAnim(re, bmain, scene, NULL, scene->lay, scene->r.sfra, scene->r.efra, scene->r.frame_step); + RE_SetReports(re, NULL); } else { printf("\nError: no blend loaded. cannot use '-a'.\n"); } From 0365e38c0620daec25865fa2b8f31a525690ddab Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 17 May 2011 15:39:40 +0000 Subject: [PATCH 035/241] Render API: RenderEngine.update_progress function to set progress percentage. --- source/blender/makesrna/intern/rna_render.c | 4 ++++ source/blender/render/extern/include/RE_engine.h | 1 + source/blender/render/intern/pipeline/engine.c | 8 ++++++++ 3 files changed, 13 insertions(+) diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c index 9c7076012ce..9c41f458de8 100644 --- a/source/blender/makesrna/intern/rna_render.c +++ b/source/blender/makesrna/intern/rna_render.c @@ -374,6 +374,10 @@ static void rna_def_render_engine(BlenderRNA *brna) prop= RNA_def_string(func, "info", "", 0, "Info", ""); RNA_def_property_flag(prop, PROP_REQUIRED); + func= RNA_def_function(srna, "update_progress", "RE_engine_update_progress"); + prop= RNA_def_float(func, "progress", 0, 0.0f, 1.0f, "", "Percentage of render that's done.", 0.0f, 1.0f); + RNA_def_property_flag(prop, PROP_REQUIRED); + func= RNA_def_function(srna, "report", "RE_engine_report"); prop= RNA_def_enum_flag(func, "type", wm_report_items, 0, "Type", ""); RNA_def_property_flag(prop, PROP_REQUIRED); diff --git a/source/blender/render/extern/include/RE_engine.h b/source/blender/render/extern/include/RE_engine.h index 82a421e8549..590752b5532 100644 --- a/source/blender/render/extern/include/RE_engine.h +++ b/source/blender/render/extern/include/RE_engine.h @@ -99,6 +99,7 @@ LIBEXPORT void RE_engine_end_result(RenderEngine *engine, struct RenderResult *r LIBEXPORT int RE_engine_test_break(RenderEngine *engine); LIBEXPORT void RE_engine_update_stats(RenderEngine *engine, const char *stats, const char *info); +LIBEXPORT void RE_engine_update_progress(RenderEngine *engine, float progress); LIBEXPORT void RE_engine_report(RenderEngine *engine, int type, const char *msg); int RE_engine_render(struct Render *re, int do_all); diff --git a/source/blender/render/intern/pipeline/engine.c b/source/blender/render/intern/pipeline/engine.c index 91463ffb428..594a88e8e29 100644 --- a/source/blender/render/intern/pipeline/engine.c +++ b/source/blender/render/intern/pipeline/engine.c @@ -209,6 +209,14 @@ void RE_engine_update_stats(RenderEngine *engine, const char *stats, const char re->i.statstr= NULL; } +void RE_engine_update_progress(RenderEngine *engine, float progress) +{ + Render *re= engine->re; + + CLAMP(progress, 0.0f, 1.0f); + re->progress(re->prh, progress); +} + void RE_engine_report(RenderEngine *engine, int type, const char *msg) { BKE_report(engine->re->reports, type, msg); From dd85722678c92adeea197431520cd6174e615d4f Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 17 May 2011 16:21:06 +0000 Subject: [PATCH 036/241] Render API: code cleanup. --- .../blender/editors/render/render_preview.c | 442 +----------------- .../editors/space_view3d/view3d_draw.c | 10 +- .../blender/render/extern/include/RE_engine.h | 4 + .../blender/render/intern/pipeline/engine.c | 15 +- 4 files changed, 22 insertions(+), 449 deletions(-) diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c index c94ce46c40e..69b31b436fb 100644 --- a/source/blender/editors/render/render_preview.c +++ b/source/blender/editors/render/render_preview.c @@ -86,6 +86,7 @@ #include "PIL_time.h" +#include "RE_engine.h" #include "RE_pipeline.h" @@ -99,15 +100,6 @@ #include "render_intern.h" -#define PR_XMIN 10 -#define PR_YMIN 5 -#define PR_XMAX 200 -#define PR_YMAX 195 - -/* XXX */ -static int qtest(void) {return 0;} -/* XXX */ - ImBuf* get_brush_icon(Brush *brush) { static const int flags = IB_rect|IB_multilayer|IB_metadata; @@ -174,123 +166,6 @@ typedef struct ShaderPreview { } ShaderPreview; - - -/* unused now */ -void draw_tex_crop(Tex *tex) -{ - rcti rct; - int ret= 0; - - if(tex==NULL) return; - - if(tex->type==TEX_IMAGE) { - if(tex->cropxmin==0.0f) ret++; - if(tex->cropymin==0.0f) ret++; - if(tex->cropxmax==1.0f) ret++; - if(tex->cropymax==1.0f) ret++; - if(ret==4) return; - - rct.xmin= PR_XMIN+2+tex->cropxmin*(PR_XMAX-PR_XMIN-4); - rct.xmax= PR_XMIN+2+tex->cropxmax*(PR_XMAX-PR_XMIN-4); - rct.ymin= PR_YMIN+2+tex->cropymin*(PR_YMAX-PR_YMIN-4); - rct.ymax= PR_YMIN+2+tex->cropymax*(PR_YMAX-PR_YMIN-4); - - glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); - - glColor3ub(0, 0, 0); - glRecti(rct.xmin+1, rct.ymin-1, rct.xmax+1, rct.ymax-1); - - glColor3ub(255, 255, 255); - glRecti(rct.xmin, rct.ymin, rct.xmax, rct.ymax); - - glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); - } - -} - -/* temporal abuse; if id_code is -1 it only does texture.... solve! */ -void BIF_preview_changed(short UNUSED(id_code)) -{ -#if 0 - ScrArea *sa; - - for(sa= G.curscreen->areabase.first; sa; sa= sa->next) { - if(sa->spacetype==SPACE_BUTS) { - SpaceButs *sbuts= sa->spacedata.first; - if(sbuts->mainb==CONTEXT_SHADING) { - int tab= sbuts->tab[CONTEXT_SHADING]; - if(tab==TAB_SHADING_MAT && (id_code==ID_MA || id_code==ID_TE)) { - if (sbuts->ri) sbuts->ri->curtile= 0; - addafterqueue(sa->win, RENDERPREVIEW, 1); - } - else if(tab==TAB_SHADING_TEX && (id_code==ID_TE || id_code==-1)) { - if (sbuts->ri) sbuts->ri->curtile= 0; - addafterqueue(sa->win, RENDERPREVIEW, 1); - } - else if(tab==TAB_SHADING_LAMP && (id_code==ID_LA || id_code==ID_TE)) { - if (sbuts->ri) sbuts->ri->curtile= 0; - addafterqueue(sa->win, RENDERPREVIEW, 1); - } - else if(tab==TAB_SHADING_WORLD && (id_code==ID_WO || id_code==ID_TE)) { - if (sbuts->ri) sbuts->ri->curtile= 0; - addafterqueue(sa->win, RENDERPREVIEW, 1); - } - } - else if (sbuts->ri) - sbuts->ri->curtile= 0; /* ensure changes always result in re-render when context is restored */ - } - else if(sa->spacetype==SPACE_NODE) { - SpaceNode *snode= sa->spacedata.first; - if(snode->treetype==NTREE_SHADER && (id_code==ID_MA || id_code==ID_TE)) { - snode_tag_dirty(snode); - } - } - else if(sa->spacetype==SPACE_VIEW3D) { - View3D *vd= sa->spacedata.first; - /* if is has a renderinfo, we consider that reason for signalling */ - if (vd->ri) { - vd->ri->curtile= 0; - addafterqueue(sa->win, RENDERPREVIEW, 1); - } - } - } - - if(ELEM4(id_code, ID_MA, ID_TE, ID_LA, ID_WO)) { - Object *ob; - Material *ma; - - if(id_code == ID_WO) { - for(ma=G.main->mat.first; ma; ma=ma->id.next) { - if(ma->gpumaterial.first) { - GPU_material_free(ma); - } - } - } - else if(id_code == ID_LA) { - for(ob=G.main->object.first; ob; ob=ob->id.next) { - if(ob->gpulamp.first) { - GPU_lamp_free(ob); - } - } - - for(ma=G.main->mat.first; ma; ma=ma->id.next) { - if(ma->gpumaterial.first) { - GPU_material_free(ma); - } - } - } else if(OBACT) { - Object *ob = OBACT; - - ma= give_current_material(ob, ob->actcol); - if(ma && ma->gpumaterial.first) { - GPU_material_free(ma); - } - } - } -#endif -} - /* *************************** Preview for buttons *********************** */ static Main *pr_main= NULL; @@ -667,321 +542,6 @@ void ED_preview_draw(const bContext *C, void *idp, void *parentp, void *slotp, r } } -/* ******************************** Icon Preview **************************** */ - -void ED_preview_icon_draw(const bContext *UNUSED(C), void *UNUSED(idp), void *UNUSED(arg1), void *UNUSED(arg2), rcti *UNUSED(rect)) -{ -} - -/* *************************** Preview for 3d window *********************** */ - -void view3d_previewrender_progress(RenderResult *rr, volatile rcti *renrect) -{ -// ScrArea *sa= NULL; // XXX -// View3D *v3d= NULL; // XXX - RenderLayer *rl; - int ofsx=0, ofsy=0; - - if(renrect) return; - - rl= rr->layers.first; - - /* this case is when we render envmaps... */ -// if(rr->rectx > v3d->ri->pr_rectx || rr->recty > v3d->ri->pr_recty) -// return; - -// ofsx= v3d->ri->disprect.xmin + rr->tilerect.xmin; -// ofsy= v3d->ri->disprect.ymin + rr->tilerect.ymin; - - glDrawBuffer(GL_FRONT); -// glaDefine2DArea(&sa->winrct); - glaDrawPixelsSafe_to32(ofsx, ofsy, rr->rectx, rr->recty, rr->rectx, rl->rectf, 0); - bglFlush(); - glDrawBuffer(GL_BACK); - -} - -void BIF_view3d_previewrender_signal(ScrArea *UNUSED(sa), short UNUSED(signal)) -{ -#if 0 - View3D *v3d= sa->spacedata.first; - - /* this can be called from other window... solve! */ - if(sa->spacetype!=SPACE_VIEW3D) - return; // XXX - - if(v3d && v3d->ri) { - RenderInfo *ri= v3d->ri; - ri->status &= ~signal; - ri->curtile= 0; - //printf("preview signal %d\n", signal); - if(ri->re && (signal & PR_DBASE)) - RE_Database_Free(ri->re); - -// addafterqueue(sa->win, RENDERPREVIEW, 1); - } -#endif -} - -void BIF_view3d_previewrender_free(View3D *UNUSED(v3d)) -{ -#if 0 - if(v3d->ri) { - RenderInfo *ri= v3d->ri; - if(ri->re) { -// printf("free render\n"); - RE_Database_Free(ri->re); - RE_FreeRender(ri->re); - ri->re= NULL; - } - if (v3d->ri->rect) MEM_freeN(v3d->ri->rect); - MEM_freeN(v3d->ri); - v3d->ri= NULL; - } -#endif -} - -/* returns 1 if OK, do not call while in panel space! */ -static int view3d_previewrender_get_rects(ScrArea *sa, rctf *viewplane, RenderInfo *ri, float *clipsta, float *clipend, int *ortho, float *pixsize) -{ - View3D *v3d= NULL; // XXX - RegionView3D *rv3d= NULL; // XXX - int rectx, recty; -// uiBlock *block; - -// block= uiFindOpenPanelBlockName(&sa->uiblocks, "Preview"); -// if(block==NULL) return 0; - - /* calculate preview rect size */ -// BLI_init_rctf(viewplane, 15.0f, (block->maxx - block->minx)-15.0f, 15.0f, (block->maxy - block->miny)-15.0f); -// uiPanelPush(block); -// ui_graphics_to_window_rct(sa->win, viewplane, &ri->disprect); -// uiPanelPop(block); - - /* correction for gla draw */ -// BLI_translate_rcti(&ri->disprect, -sa->winrct.xmin, -sa->winrct.ymin); - - *ortho= get_view3d_viewplane(v3d, rv3d, sa->winx, sa->winy, viewplane, clipsta, clipend, pixsize); - - rectx= ri->disprect.xmax - ri->disprect.xmin; - recty= ri->disprect.ymax - ri->disprect.ymin; - - if(rectx<4 || recty<4) return 0; - - if(ri->rect && (rectx!=ri->pr_rectx || recty!=ri->pr_recty)) { - MEM_freeN(ri->rect); - ri->rect= NULL; - ri->curtile= 0; - printf("changed size\n"); - } - ri->pr_rectx= rectx; - ri->pr_recty= recty; - - return 1; -} - -/* called before a panel gets moved/scaled, makes sure we can see through */ -void BIF_view3d_previewrender_clear(ScrArea *UNUSED(sa)) -{ -#if 0 - View3D *v3d= sa->spacedata.first; - - if(v3d->ri) { - RenderInfo *ri= v3d->ri; - ri->curtile= 0; - if(ri->rect) - MEM_freeN(ri->rect); - ri->rect= NULL; - } -#endif -} - -/* afterqueue call */ -void BIF_view3d_previewrender(Main *bmain, Scene *scene, ScrArea *sa) -{ - View3D *v3d= sa->spacedata.first; - RegionView3D *rv3d= NULL; // XXX - Render *re; - RenderInfo *ri=NULL; /* preview struct! */ - RenderStats *rstats; - RenderData rdata; - rctf viewplane; - float clipsta, clipend, pixsize; - int orth; - - /* first get the render info right */ -// if (!v3d->ri) { -// ri= v3d->ri= MEM_callocN(sizeof(RenderInfo), "butsrenderinfo"); -// ri->tottile= 10000; -// } -// ri= v3d->ri; - - if(0==view3d_previewrender_get_rects(sa, &viewplane, ri, &clipsta, &clipend, &orth, &pixsize)) - return; - - /* render is finished, so return */ - if(ri->tottile && ri->curtile>=ri->tottile) return; - - /* or return with a new event */ - if(qtest()) { -// addafterqueue(sa->win, RENDERPREVIEW, 1); - return; - } - //printf("Enter previewrender\n"); - /* ok, are we rendering all over? */ - if(ri->re==NULL) { - char name[32]; - - ri->status= 0; - - sprintf(name, "View3dPreview %p", (void *)sa); - re= ri->re= RE_NewRender(name); - //RE_display_draw_cb(re, view3d_previewrender_progress); - //RE_stats_draw_cb(re, view3d_previewrender_stats); - //RE_test_break_cb(re, qtest); - - /* no osa, blur, seq, layers, etc for preview render */ - rdata= scene->r; - rdata.mode &= ~(R_OSA|R_MBLUR); - rdata.scemode &= ~(R_DOSEQ|R_DOCOMP|R_FREE_IMAGE); - rdata.layers.first= rdata.layers.last= NULL; - rdata.renderer= R_INTERN; - - RE_InitState(re, NULL, &rdata, NULL, sa->winx, sa->winy, &ri->disprect); - - if(orth) - RE_SetOrtho(re, &viewplane, clipsta, clipend); - else - RE_SetWindow(re, &viewplane, clipsta, clipend); - RE_SetPixelSize(re, pixsize); - - /* until here are no escapes */ - ri->status |= PR_DISPRECT; - ri->curtile= 0; - //printf("new render\n"); - } - - re= ri->re; - - PIL_sleep_ms(100); /* wait 0.1 second if theres really no event... */ - if(qtest()==0) { - - /* check status */ - if((ri->status & PR_DISPRECT)==0) { - RE_SetDispRect(ri->re, &ri->disprect); - if(orth) - RE_SetOrtho(ri->re, &viewplane, clipsta, clipend); - else - RE_SetWindow(ri->re, &viewplane, clipsta, clipend); - RE_SetPixelSize(re, pixsize); - ri->status |= PR_DISPRECT; - ri->curtile= 0; - //printf("disprect update\n"); - } - if((ri->status & PR_DBASE)==0) { - unsigned int lay= scene->lay; - - RE_SetView(re, rv3d->viewmat); - - /* allow localview render for objects with lights in normal layers */ - if(v3d->lay & 0xFF000000) - lay |= v3d->lay; - else lay= v3d->lay; - - RE_Database_FromScene(re, bmain, scene, lay, 0); // 0= dont use camera view - - rstats= RE_GetStats(re); - if(rstats->convertdone) - ri->status |= PR_DBASE|PR_PROJECTED|PR_ROTATED; - ri->curtile= 0; - - /* database can have created render-resol data... */ - if(rstats->convertdone) - DAG_scene_flush_update(bmain, scene, scene->lay, 0); - - //printf("dbase update\n"); - } - if((ri->status & PR_PROJECTED)==0) { - if(ri->status & PR_DBASE) { - if(orth) - RE_SetOrtho(ri->re, &viewplane, clipsta, clipend); - else - RE_SetWindow(ri->re, &viewplane, clipsta, clipend); - RE_DataBase_ApplyWindow(re); - ri->status |= PR_PROJECTED; - } - ri->curtile= 0; - //printf("project update\n"); - } - - /* OK, can we enter render code? */ - if(ri->status==(PR_DISPRECT|PR_DBASE|PR_PROJECTED|PR_ROTATED)) { - //printf("curtile %d tottile %d\n", ri->curtile, ri->tottile); - RE_TileProcessor(ri->re); //, ri->curtile, 0); - - if(ri->rect==NULL) - ri->rect= MEM_mallocN(sizeof(int)*ri->pr_rectx*ri->pr_recty, "preview view3d rect"); - - RE_ResultGet32(ri->re, ri->rect); - } - - rstats= RE_GetStats(ri->re); -// if(rstats->totpart==rstats->partsdone && rstats->partsdone) -// addqueue(sa->win, REDRAW, 1); -// else -// addafterqueue(sa->win, RENDERPREVIEW, 1); - - ri->curtile= rstats->partsdone; - ri->tottile= rstats->totpart; - } - else { -// addafterqueue(sa->win, RENDERPREVIEW, 1); - } - - //printf("\n"); -} - -/* in panel space! */ -static void view3d_previewdraw_rect(ScrArea *UNUSED(sa), uiBlock *UNUSED(block), RenderInfo *ri) -{ -// rctf dispf; - - if(ri->rect==NULL) - return; - -// BLI_init_rctf(&dispf, 15.0f, (block->maxx - block->minx)-15.0f, 15.0f, (block->maxy - block->miny)-15.0f); -// ui_graphics_to_window_rct(sa->win, &dispf, &ri->disprect); - - /* correction for gla draw */ -// BLI_translate_rcti(&ri->disprect, -sa->winrct.xmin, -sa->winrct.ymin); - - /* when panel scale changed, free rect */ - if(ri->disprect.xmax-ri->disprect.xmin != ri->pr_rectx || - ri->disprect.ymax-ri->disprect.ymin != ri->pr_recty) { - MEM_freeN(ri->rect); - ri->rect= NULL; - } - else { -// glaDefine2DArea(&sa->winrct); - glaDrawPixelsSafe(ri->disprect.xmin, ri->disprect.ymin, ri->pr_rectx, ri->pr_recty, ri->pr_rectx, GL_RGBA, GL_UNSIGNED_BYTE, ri->rect); - } -} - -/* is panel callback, supposed to be called with correct panel offset matrix */ -void BIF_view3d_previewdraw(struct ScrArea *sa, struct uiBlock *block) -{ - RegionView3D *rv3d= NULL; - -// if (v3d->ri==NULL || v3d->ri->rect==NULL) -// addafterqueue(sa->win, RENDERPREVIEW, 1); -// else { - view3d_previewdraw_rect(sa, block, rv3d->ri); -// if(v3d->ri->curtile==0) -// addafterqueue(sa->win, RENDERPREVIEW, 1); -// } -} - - /* **************************** new shader preview system ****************** */ /* inside thread, called by renderer, sets job update value */ diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index 02432eb2098..9a88b4b4493 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -2309,14 +2309,12 @@ static int view3d_main_area_draw_engine(const bContext *C, ARegion *ar) RenderEngineType *type; if(!rv3d->render_engine) { - for(type=R_engines.first; type; type=type->next) - if(strcmp(type->idname, scene->r.engine) == 0) - break; + type= RE_engines_find(scene->r.engine); - if(!type || !type->view_draw) + if(!(type->view_update && type->view_draw)) return 0; - rv3d->render_engine = RE_engine_create(type); + rv3d->render_engine= RE_engine_create(type); type->view_update(rv3d->render_engine, C); } @@ -2327,7 +2325,7 @@ static int view3d_main_area_draw_engine(const bContext *C, ARegion *ar) ED_region_pixelspace(ar); - type = rv3d->render_engine->type; + type= rv3d->render_engine->type; type->view_draw(rv3d->render_engine, C); return 1; diff --git a/source/blender/render/extern/include/RE_engine.h b/source/blender/render/extern/include/RE_engine.h index 590752b5532..2b0ee81fcde 100644 --- a/source/blender/render/extern/include/RE_engine.h +++ b/source/blender/render/extern/include/RE_engine.h @@ -104,8 +104,12 @@ LIBEXPORT void RE_engine_report(RenderEngine *engine, int type, const char *msg) int RE_engine_render(struct Render *re, int do_all); +/* Engine Types */ + void RE_engines_init(void); void RE_engines_exit(void); +RenderEngineType *RE_engines_find(const char *idname); + #endif /* RE_ENGINE_H */ diff --git a/source/blender/render/intern/pipeline/engine.c b/source/blender/render/intern/pipeline/engine.c index 594a88e8e29..68d3b2697c5 100644 --- a/source/blender/render/intern/pipeline/engine.c +++ b/source/blender/render/intern/pipeline/engine.c @@ -104,6 +104,17 @@ void RE_engines_exit(void) } } +RenderEngineType *RE_engines_find(const char *idname) +{ + RenderEngineType *type; + + type= BLI_findstring(&R_engines, idname, offsetof(RenderEngineType, idname)); + if(!type) + type= &internal_render_type; + + return type; +} + /* Create, Free */ RenderEngine *RE_engine_create(RenderEngineType *type) @@ -226,11 +237,11 @@ void RE_engine_report(RenderEngine *engine, int type, const char *msg) int RE_engine_render(Render *re, int do_all) { - RenderEngineType *type= BLI_findstring(&R_engines, re->r.engine, offsetof(RenderEngineType, idname)); + RenderEngineType *type= RE_engines_find(re->r.engine); RenderEngine *engine; /* verify if we can render */ - if(!(type && type->render)) + if(!type->render) return 0; if((re->r.scemode & R_PREVIEWBUTS) && !(type->flag & RE_DO_PREVIEW)) return 0; From a0ba4a771fd2ebcfcffafbad066b6d5faafb8667 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 18 May 2011 10:01:41 +0000 Subject: [PATCH 037/241] Render API: some code refactoring related to errors and render view. --- source/blender/editors/render/CMakeLists.txt | 1 + source/blender/editors/render/render_intern.h | 11 +- .../blender/editors/render/render_internal.c | 427 ++---------------- source/blender/editors/render/render_opengl.c | 2 +- source/blender/editors/render/render_view.c | 359 +++++++++++++++ .../render/extern/include/RE_pipeline.h | 3 +- .../render/intern/include/render_types.h | 3 - .../blender/render/intern/source/pipeline.c | 33 +- 8 files changed, 423 insertions(+), 416 deletions(-) create mode 100644 source/blender/editors/render/render_view.c diff --git a/source/blender/editors/render/CMakeLists.txt b/source/blender/editors/render/CMakeLists.txt index af2dc5d64a2..1dc5612f48b 100644 --- a/source/blender/editors/render/CMakeLists.txt +++ b/source/blender/editors/render/CMakeLists.txt @@ -42,6 +42,7 @@ set(SRC render_preview.c render_shading.c render_update.c + render_view.c render_intern.h ) diff --git a/source/blender/editors/render/render_intern.h b/source/blender/editors/render/render_intern.h index e6d8c98d068..ab09acd67f4 100644 --- a/source/blender/editors/render/render_intern.h +++ b/source/blender/editors/render/render_intern.h @@ -65,13 +65,16 @@ void TEXTURE_OT_envmap_clear(struct wmOperatorType *ot); void TEXTURE_OT_envmap_clear_all(struct wmOperatorType *ot); /* render_internal.c */ -void RENDER_OT_view_show(struct wmOperatorType *ot); void RENDER_OT_render(struct wmOperatorType *ot); -void RENDER_OT_view_cancel(struct wmOperatorType *ot); -/*render_opengl.c uses these */ +/* render_opengl.c uses this */ void image_buffer_rect_update(struct Scene *scene, struct RenderResult *rr, struct ImBuf *ibuf, volatile struct rcti *renrect); -void screen_set_image_output(struct bContext *C, int mx, int my); + +/* render_view.c */ +void render_view_open(struct bContext *C, int mx, int my); + +void RENDER_OT_view_show(struct wmOperatorType *ot); +void RENDER_OT_view_cancel(struct wmOperatorType *ot); /* render_opengl.c */ void RENDER_OT_opengl(struct wmOperatorType *ot); diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.c index bde1591b359..69cb2311148 100644 --- a/source/blender/editors/render/render_internal.c +++ b/source/blender/editors/render/render_internal.c @@ -73,17 +73,14 @@ #include "render_intern.h" -static ScrArea *biggest_area(bContext *C); -static ScrArea *biggest_non_image_area(bContext *C); -static ScrArea *find_area_showing_r_result(bContext *C, wmWindow **win); -static ScrArea *find_area_image_empty(bContext *C); +/* Render Callbacks */ /* called inside thread! */ void image_buffer_rect_update(Scene *scene, RenderResult *rr, ImBuf *ibuf, volatile rcti *renrect) { float x1, y1, *rectf= NULL; int ymin, ymax, xmin, xmax; - int rymin, rxmin; + int rymin, rxmin, do_color_management; char *rectc; /* if renrect argument, we only refresh scanlines */ @@ -95,7 +92,8 @@ void image_buffer_rect_update(Scene *scene, RenderResult *rr, ImBuf *ibuf, volat /* xmin here is first subrect x coord, xmax defines subrect width */ xmin = renrect->xmin + rr->crop; xmax = renrect->xmax - xmin + rr->crop; - if (xmax<2) return; + if(xmax<2) + return; ymin= renrect->ymin + rr->crop; ymax= renrect->ymax - ymin + rr->crop; @@ -141,275 +139,56 @@ void image_buffer_rect_update(Scene *scene, RenderResult *rr, ImBuf *ibuf, volat rectf+= 4*(rr->rectx*ymin + xmin); rectc= (char *)(ibuf->rect + ibuf->x*rymin + rxmin); + + do_color_management = (scene && (scene->r.color_mgt_flag & R_COLOR_MANAGEMENT)); /* XXX make nice consistent functions for this */ - if (scene && (scene->r.color_mgt_flag & R_COLOR_MANAGEMENT)) { - for(y1= 0; y1dither / 255.0f; + for(y1= 0; y1dither / 255.0f; - /* XXX temp. because crop offset */ - if( rectc >= (char *)(ibuf->rect)) { - for(x1= 0; x1= (char *)(ibuf->rect)) { + for(x1= 0; x1rectx; - rectc += 4*ibuf->x; - } - } else { - for(y1= 0; y1dither / 255.0f; - /* XXX temp. because crop offset */ - if( rectc >= (char *)(ibuf->rect)) { - for(x1= 0; x1rectx; - rectc += 4*ibuf->x; } - } + + rectf += 4*rr->rectx; + rectc += 4*ibuf->x; + } } -/* new window uses x,y to set position */ -void screen_set_image_output(bContext *C, int mx, int my) -{ - wmWindow *win= CTX_wm_window(C); - Scene *scene= CTX_data_scene(C); - ScrArea *sa= NULL; - SpaceImage *sima; - int area_was_image=0; - - if(scene->r.displaymode==R_OUTPUT_NONE) - return; - - if(scene->r.displaymode==R_OUTPUT_WINDOW) { - rcti rect; - int sizex, sizey; - - sizex= 10 + (scene->r.xsch*scene->r.size)/100; - sizey= 40 + (scene->r.ysch*scene->r.size)/100; - - /* arbitrary... miniature image window views don't make much sense */ - if(sizex < 320) sizex= 320; - if(sizey < 256) sizey= 256; - - /* XXX some magic to calculate postition */ - rect.xmin= mx + win->posx - sizex/2; - rect.ymin= my + win->posy - sizey/2; - rect.xmax= rect.xmin + sizex; - rect.ymax= rect.ymin + sizey; - - /* changes context! */ - WM_window_open_temp(C, &rect, WM_WINDOW_RENDER); - - sa= CTX_wm_area(C); - } - else if(scene->r.displaymode==R_OUTPUT_SCREEN) { - if (CTX_wm_area(C) && CTX_wm_area(C)->spacetype == SPACE_IMAGE) - area_was_image = 1; - - /* this function returns with changed context */ - ED_screen_full_newspace(C, CTX_wm_area(C), SPACE_IMAGE); - sa= CTX_wm_area(C); - } - - if(!sa) { - sa= find_area_showing_r_result(C, &win); - if(sa==NULL) - sa= find_area_image_empty(C); - - /* if area found in other window, we make that one show in front */ - if(win && win!=CTX_wm_window(C)) - wm_window_raise(win); - - if(sa==NULL) { - /* find largest open non-image area */ - sa= biggest_non_image_area(C); - if(sa) { - ED_area_newspace(C, sa, SPACE_IMAGE); - sima= sa->spacedata.first; - - /* makes ESC go back to prev space */ - sima->flag |= SI_PREVSPACE; - } - else { - /* use any area of decent size */ - sa= biggest_area(C); - if(sa->spacetype!=SPACE_IMAGE) { - // XXX newspace(sa, SPACE_IMAGE); - sima= sa->spacedata.first; - - /* makes ESC go back to prev space */ - sima->flag |= SI_PREVSPACE; - } - } - } - } - sima= sa->spacedata.first; - - /* get the correct image, and scale it */ - sima->image= BKE_image_verify_viewer(IMA_TYPE_R_RESULT, "Render Result"); - - - /* if we're rendering to full screen, set appropriate hints on image editor - * so it can restore properly on pressing esc */ - if(sa->full) { - sima->flag |= SI_FULLWINDOW; - - /* Tell the image editor to revert to previous space in space list on close - * _only_ if it wasn't already an image editor when the render was invoked */ - if (area_was_image == 0) - sima->flag |= SI_PREVSPACE; - else { - /* Leave it alone so the image editor will just go back from - * full screen to the original tiled setup */ - ; - } - - } - -} - - /* ****************************** render invoking ***************** */ /* set callbacks, exported to sequence render too. Only call in foreground (UI) renders. */ -/* returns biggest area that is not uv/image editor. Note that it uses buttons */ -/* window as the last possible alternative. */ -static ScrArea *biggest_non_image_area(bContext *C) -{ - bScreen *sc= CTX_wm_screen(C); - ScrArea *sa, *big= NULL; - int size, maxsize= 0, bwmaxsize= 0; - short foundwin= 0; - - for(sa= sc->areabase.first; sa; sa= sa->next) { - if(sa->winx > 30 && sa->winy > 30) { - size= sa->winx*sa->winy; - if(sa->spacetype == SPACE_BUTS) { - if(foundwin == 0 && size > bwmaxsize) { - bwmaxsize= size; - big= sa; - } - } - else if(sa->spacetype != SPACE_IMAGE && size > maxsize) { - maxsize= size; - big= sa; - foundwin= 1; - } - } - } - - return big; -} - -static ScrArea *biggest_area(bContext *C) -{ - bScreen *sc= CTX_wm_screen(C); - ScrArea *sa, *big= NULL; - int size, maxsize= 0; - - for(sa= sc->areabase.first; sa; sa= sa->next) { - size= sa->winx*sa->winy; - if(size > maxsize) { - maxsize= size; - big= sa; - } - } - return big; -} - - -static ScrArea *find_area_showing_r_result(bContext *C, wmWindow **win) -{ - wmWindowManager *wm= CTX_wm_manager(C); - ScrArea *sa = NULL; - SpaceImage *sima; - - /* find an imagewindow showing render result */ - for(*win=wm->windows.first; *win; *win= (*win)->next) { - for(sa= (*win)->screen->areabase.first; sa; sa= sa->next) { - if(sa->spacetype==SPACE_IMAGE) { - sima= sa->spacedata.first; - if(sima->image && sima->image->type==IMA_TYPE_R_RESULT) - break; - } - } - if(sa) - break; - } - - return sa; -} - -static ScrArea *find_area_image_empty(bContext *C) -{ - bScreen *sc= CTX_wm_screen(C); - ScrArea *sa; - SpaceImage *sima; - - /* find an imagewindow showing render result */ - for(sa=sc->areabase.first; sa; sa= sa->next) { - if(sa->spacetype==SPACE_IMAGE) { - sima= sa->spacedata.first; - if(!sima->image) - break; - } - } - return sa; -} - -#if 0 // XXX not used -static ScrArea *find_empty_image_area(bContext *C) -{ - bScreen *sc= CTX_wm_screen(C); - ScrArea *sa; - SpaceImage *sima; - - /* find an imagewindow showing render result */ - for(sa=sc->areabase.first; sa; sa= sa->next) { - if(sa->spacetype==SPACE_IMAGE) { - sima= sa->spacedata.first; - if(!sima->image) - break; - } - } - return sa; -} -#endif // XXX not used - -static void render_error_reports(void *reports, const char *str) -{ - BKE_report(reports, RPT_ERROR, str); -} - /* executes blocking render */ static int screen_render_exec(bContext *C, wmOperator *op) { @@ -428,13 +207,8 @@ static int screen_render_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; } - if(re==NULL) { - re= RE_NewRender(scene->id.name); - } - G.afbreek= 0; RE_test_break_cb(re, NULL, (int (*)(void *)) blender_test_break); - RE_error_cb(re, op->reports, render_error_reports); ima= BKE_image_verify_viewer(IMA_TYPE_R_RESULT, "Render Result"); BKE_image_signal(ima, NULL, IMA_SIGNAL_FREE); @@ -562,7 +336,7 @@ static void render_progress_update(void *rjv, float progress) { RenderJob *rj= rjv; - if (rj->progress) + if(rj->progress) *rj->progress = progress; } @@ -695,7 +469,7 @@ static int screen_render_invoke(bContext *C, wmOperator *op, wmEvent *event) if(WM_jobs_test(CTX_wm_manager(C), scene)) return OPERATOR_CANCELLED; - if(!RE_is_rendering_allowed(scene, camera_override, op->reports, render_error_reports)) { + if(!RE_is_rendering_allowed(scene, camera_override, op->reports)) { return OPERATOR_CANCELLED; } @@ -739,7 +513,7 @@ static int screen_render_invoke(bContext *C, wmOperator *op, wmEvent *event) // store spare /* ensure at least 1 area shows result */ - screen_set_image_output(C, event->x, event->y); + render_view_open(C, event->x, event->y); jobflag= WM_JOB_EXCL_RENDER|WM_JOB_PRIORITY|WM_JOB_PROGRESS; @@ -803,8 +577,6 @@ static int screen_render_invoke(bContext *C, wmOperator *op, wmEvent *event) rj->re= re; G.afbreek= 0; - RE_error_cb(re, op->reports, render_error_reports); - WM_jobs_start(CTX_wm_manager(C), steve); WM_cursor_wait(0); @@ -821,7 +593,6 @@ static int screen_render_invoke(bContext *C, wmOperator *op, wmEvent *event) return OPERATOR_RUNNING_MODAL; } - /* contextual render, using current scene, view3d? */ void RENDER_OT_render(wmOperatorType *ot) { @@ -843,119 +614,3 @@ void RENDER_OT_render(wmOperatorType *ot) RNA_def_string(ot->srna, "scene", "", MAX_ID_NAME-2, "Scene", "Re-render single layer in this scene"); } -/* ****************************** opengl render *************************** */ - - -/* *********************** cancel render viewer *************** */ - -static int render_view_cancel_exec(bContext *C, wmOperator *UNUSED(op)) -{ - wmWindow *win= CTX_wm_window(C); - ScrArea *sa= CTX_wm_area(C); - SpaceImage *sima= sa->spacedata.first; - - /* test if we have a temp screen in front */ - if(CTX_wm_window(C)->screen->temp) { - wm_window_lower(CTX_wm_window(C)); - return OPERATOR_FINISHED; - } - /* determine if render already shows */ - else if(sima->flag & SI_PREVSPACE) { - sima->flag &= ~SI_PREVSPACE; - - if(sima->flag & SI_FULLWINDOW) { - sima->flag &= ~SI_FULLWINDOW; - ED_screen_full_prevspace(C, sa); - } - else - ED_area_prevspace(C, sa); - - return OPERATOR_FINISHED; - } - else if(sima->flag & SI_FULLWINDOW) { - sima->flag &= ~SI_FULLWINDOW; - ED_screen_full_toggle(C, win, sa); - return OPERATOR_FINISHED; - } - - return OPERATOR_PASS_THROUGH; -} - -void RENDER_OT_view_cancel(struct wmOperatorType *ot) -{ - /* identifiers */ - ot->name= "Cancel Render View"; - ot->description= "Cancel show render view"; - ot->idname= "RENDER_OT_view_cancel"; - - /* api callbacks */ - ot->exec= render_view_cancel_exec; - ot->poll= ED_operator_image_active; -} - -/* *********************** show render viewer *************** */ - -static int render_view_show_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent *event) -{ - wmWindow *wincur = CTX_wm_window(C); - - /* test if we have currently a temp screen active */ - if(wincur->screen->temp) { - wm_window_lower(wincur); - } - else { - wmWindow *win, *winshow; - ScrArea *sa= find_area_showing_r_result(C, &winshow); - - /* is there another window showing result? */ - for(win= CTX_wm_manager(C)->windows.first; win; win= win->next) { - if(win->screen->temp || (win==winshow && winshow!=wincur)) { - wm_window_raise(win); - return OPERATOR_FINISHED; - } - } - - /* determine if render already shows */ - if(sa) { - /* but don't close it when rendering */ - if(!G.rendering) { - SpaceImage *sima= sa->spacedata.first; - - if(sima->flag & SI_PREVSPACE) { - sima->flag &= ~SI_PREVSPACE; - - if(sima->flag & SI_FULLWINDOW) { - sima->flag &= ~SI_FULLWINDOW; - ED_screen_full_prevspace(C, sa); - } - else if(sima->next) { - /* workaround for case of double prevspace, render window - with a file browser on top of it (same as in ED_area_prevspace) */ - if(sima->next->spacetype == SPACE_FILE && sima->next->next) - ED_area_newspace(C, sa, sima->next->next->spacetype); - else - ED_area_newspace(C, sa, sima->next->spacetype); - ED_area_tag_redraw(sa); - } - } - } - } - else { - screen_set_image_output(C, event->x, event->y); - } - } - - return OPERATOR_FINISHED; -} - -void RENDER_OT_view_show(struct wmOperatorType *ot) -{ - /* identifiers */ - ot->name= "Show/Hide Render View"; - ot->description= "Toggle show render view"; - ot->idname= "RENDER_OT_view_show"; - - /* api callbacks */ - ot->invoke= render_view_show_invoke; - ot->poll= ED_operator_screenactive; -} diff --git a/source/blender/editors/render/render_opengl.c b/source/blender/editors/render/render_opengl.c index 626fbce1b2e..0a279e412f6 100644 --- a/source/blender/editors/render/render_opengl.c +++ b/source/blender/editors/render/render_opengl.c @@ -527,7 +527,7 @@ static int screen_opengl_render_invoke(bContext *C, wmOperator *op, wmEvent *eve } oglrender= op->customdata; - screen_set_image_output(C, event->x, event->y); + render_view_open(C, event->x, event->y); WM_event_add_modal_handler(C, op); oglrender->timer= WM_event_add_timer(CTX_wm_manager(C), CTX_wm_window(C), TIMER, 0.01f); diff --git a/source/blender/editors/render/render_view.c b/source/blender/editors/render/render_view.c new file mode 100644 index 00000000000..64a4d47cddc --- /dev/null +++ b/source/blender/editors/render/render_view.c @@ -0,0 +1,359 @@ +/* + * $Id$ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2008 Blender Foundation. + * All rights reserved. + * + * + * ***** END GPL LICENSE BLOCK ***** + */ + +/** \file blender/editors/render/render_view.c + * \ingroup edrend + */ + +#include +#include + +#include "MEM_guardedalloc.h" + +#include "BLI_blenlib.h" +#include "BLI_utildefines.h" + +#include "DNA_scene_types.h" + +#include "BKE_blender.h" +#include "BKE_context.h" +#include "BKE_image.h" +#include "BKE_global.h" +#include "BKE_main.h" +#include "BKE_node.h" +#include "BKE_report.h" +#include "BKE_screen.h" + +#include "WM_api.h" +#include "WM_types.h" + +#include "ED_screen.h" + +#include "wm_window.h" + +#include "render_intern.h" + +/*********************** utilities for finding areas *************************/ + +/* returns biggest area that is not uv/image editor. Note that it uses buttons */ +/* window as the last possible alternative. */ +static ScrArea *biggest_non_image_area(bContext *C) +{ + bScreen *sc= CTX_wm_screen(C); + ScrArea *sa, *big= NULL; + int size, maxsize= 0, bwmaxsize= 0; + short foundwin= 0; + + for(sa= sc->areabase.first; sa; sa= sa->next) { + if(sa->winx > 30 && sa->winy > 30) { + size= sa->winx*sa->winy; + if(sa->spacetype == SPACE_BUTS) { + if(foundwin == 0 && size > bwmaxsize) { + bwmaxsize= size; + big= sa; + } + } + else if(sa->spacetype != SPACE_IMAGE && size > maxsize) { + maxsize= size; + big= sa; + foundwin= 1; + } + } + } + + return big; +} + +static ScrArea *biggest_area(bContext *C) +{ + bScreen *sc= CTX_wm_screen(C); + ScrArea *sa, *big= NULL; + int size, maxsize= 0; + + for(sa= sc->areabase.first; sa; sa= sa->next) { + size= sa->winx*sa->winy; + if(size > maxsize) { + maxsize= size; + big= sa; + } + } + return big; +} + +static ScrArea *find_area_showing_r_result(bContext *C, wmWindow **win) +{ + wmWindowManager *wm= CTX_wm_manager(C); + ScrArea *sa = NULL; + SpaceImage *sima; + + /* find an imagewindow showing render result */ + for(*win=wm->windows.first; *win; *win= (*win)->next) { + for(sa= (*win)->screen->areabase.first; sa; sa= sa->next) { + if(sa->spacetype==SPACE_IMAGE) { + sima= sa->spacedata.first; + if(sima->image && sima->image->type==IMA_TYPE_R_RESULT) + break; + } + } + if(sa) + break; + } + + return sa; +} + +static ScrArea *find_area_image_empty(bContext *C) +{ + bScreen *sc= CTX_wm_screen(C); + ScrArea *sa; + SpaceImage *sima; + + /* find an imagewindow showing render result */ + for(sa=sc->areabase.first; sa; sa= sa->next) { + if(sa->spacetype==SPACE_IMAGE) { + sima= sa->spacedata.first; + if(!sima->image) + break; + } + } + + return sa; +} + +/********************** open image editor for render *************************/ + +/* new window uses x,y to set position */ +void render_view_open(bContext *C, int mx, int my) +{ + wmWindow *win= CTX_wm_window(C); + Scene *scene= CTX_data_scene(C); + ScrArea *sa= NULL; + SpaceImage *sima; + int area_was_image=0; + + if(scene->r.displaymode==R_OUTPUT_NONE) + return; + + if(scene->r.displaymode==R_OUTPUT_WINDOW) { + rcti rect; + int sizex, sizey; + + sizex= 10 + (scene->r.xsch*scene->r.size)/100; + sizey= 40 + (scene->r.ysch*scene->r.size)/100; + + /* arbitrary... miniature image window views don't make much sense */ + if(sizex < 320) sizex= 320; + if(sizey < 256) sizey= 256; + + /* XXX some magic to calculate postition */ + rect.xmin= mx + win->posx - sizex/2; + rect.ymin= my + win->posy - sizey/2; + rect.xmax= rect.xmin + sizex; + rect.ymax= rect.ymin + sizey; + + /* changes context! */ + WM_window_open_temp(C, &rect, WM_WINDOW_RENDER); + + sa= CTX_wm_area(C); + } + else if(scene->r.displaymode==R_OUTPUT_SCREEN) { + if (CTX_wm_area(C) && CTX_wm_area(C)->spacetype == SPACE_IMAGE) + area_was_image = 1; + + /* this function returns with changed context */ + ED_screen_full_newspace(C, CTX_wm_area(C), SPACE_IMAGE); + sa= CTX_wm_area(C); + } + + if(!sa) { + sa= find_area_showing_r_result(C, &win); + if(sa==NULL) + sa= find_area_image_empty(C); + + /* if area found in other window, we make that one show in front */ + if(win && win!=CTX_wm_window(C)) + wm_window_raise(win); + + if(sa==NULL) { + /* find largest open non-image area */ + sa= biggest_non_image_area(C); + if(sa) { + ED_area_newspace(C, sa, SPACE_IMAGE); + sima= sa->spacedata.first; + + /* makes ESC go back to prev space */ + sima->flag |= SI_PREVSPACE; + } + else { + /* use any area of decent size */ + sa= biggest_area(C); + if(sa->spacetype!=SPACE_IMAGE) { + // XXX newspace(sa, SPACE_IMAGE); + sima= sa->spacedata.first; + + /* makes ESC go back to prev space */ + sima->flag |= SI_PREVSPACE; + } + } + } + } + sima= sa->spacedata.first; + + /* get the correct image, and scale it */ + sima->image= BKE_image_verify_viewer(IMA_TYPE_R_RESULT, "Render Result"); + + + /* if we're rendering to full screen, set appropriate hints on image editor + * so it can restore properly on pressing esc */ + if(sa->full) { + sima->flag |= SI_FULLWINDOW; + + /* Tell the image editor to revert to previous space in space list on close + * _only_ if it wasn't already an image editor when the render was invoked */ + if (area_was_image == 0) + sima->flag |= SI_PREVSPACE; + else { + /* Leave it alone so the image editor will just go back from + * full screen to the original tiled setup */ + ; + } + } +} + +/*************************** cancel render viewer **********************/ + +static int render_view_cancel_exec(bContext *C, wmOperator *UNUSED(op)) +{ + wmWindow *win= CTX_wm_window(C); + ScrArea *sa= CTX_wm_area(C); + SpaceImage *sima= sa->spacedata.first; + + /* test if we have a temp screen in front */ + if(CTX_wm_window(C)->screen->temp) { + wm_window_lower(CTX_wm_window(C)); + return OPERATOR_FINISHED; + } + /* determine if render already shows */ + else if(sima->flag & SI_PREVSPACE) { + sima->flag &= ~SI_PREVSPACE; + + if(sima->flag & SI_FULLWINDOW) { + sima->flag &= ~SI_FULLWINDOW; + ED_screen_full_prevspace(C, sa); + } + else + ED_area_prevspace(C, sa); + + return OPERATOR_FINISHED; + } + else if(sima->flag & SI_FULLWINDOW) { + sima->flag &= ~SI_FULLWINDOW; + ED_screen_full_toggle(C, win, sa); + return OPERATOR_FINISHED; + } + + return OPERATOR_PASS_THROUGH; +} + +void RENDER_OT_view_cancel(struct wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Cancel Render View"; + ot->description= "Cancel show render view"; + ot->idname= "RENDER_OT_view_cancel"; + + /* api callbacks */ + ot->exec= render_view_cancel_exec; + ot->poll= ED_operator_image_active; +} + +/************************* show render viewer *****************/ + +static int render_view_show_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent *event) +{ + wmWindow *wincur = CTX_wm_window(C); + + /* test if we have currently a temp screen active */ + if(wincur->screen->temp) { + wm_window_lower(wincur); + } + else { + wmWindow *win, *winshow; + ScrArea *sa= find_area_showing_r_result(C, &winshow); + + /* is there another window showing result? */ + for(win= CTX_wm_manager(C)->windows.first; win; win= win->next) { + if(win->screen->temp || (win==winshow && winshow!=wincur)) { + wm_window_raise(win); + return OPERATOR_FINISHED; + } + } + + /* determine if render already shows */ + if(sa) { + /* but don't close it when rendering */ + if(!G.rendering) { + SpaceImage *sima= sa->spacedata.first; + + if(sima->flag & SI_PREVSPACE) { + sima->flag &= ~SI_PREVSPACE; + + if(sima->flag & SI_FULLWINDOW) { + sima->flag &= ~SI_FULLWINDOW; + ED_screen_full_prevspace(C, sa); + } + else if(sima->next) { + /* workaround for case of double prevspace, render window + with a file browser on top of it (same as in ED_area_prevspace) */ + if(sima->next->spacetype == SPACE_FILE && sima->next->next) + ED_area_newspace(C, sa, sima->next->next->spacetype); + else + ED_area_newspace(C, sa, sima->next->spacetype); + ED_area_tag_redraw(sa); + } + } + } + } + else { + render_view_open(C, event->x, event->y); + } + } + + return OPERATOR_FINISHED; +} + +void RENDER_OT_view_show(struct wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Show/Hide Render View"; + ot->description= "Toggle show render view"; + ot->idname= "RENDER_OT_view_show"; + + /* api callbacks */ + ot->invoke= render_view_show_invoke; + ot->poll= ED_operator_screenactive; +} + diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h index 2e70d8110e2..a1d4efbfe3c 100644 --- a/source/blender/render/extern/include/RE_pipeline.h +++ b/source/blender/render/extern/include/RE_pipeline.h @@ -241,7 +241,6 @@ void RE_stats_draw_cb (struct Render *re, void *handle, void (*f)(void *handle, void RE_progress_cb (struct Render *re, void *handle, void (*f)(void *handle, float)); void RE_draw_lock_cb (struct Render *re, void *handle, void (*f)(void *handle, int)); void RE_test_break_cb (struct Render *re, void *handle, int (*f)(void *handle)); -void RE_error_cb (struct Render *re, void *handle, void (*f)(void *handle, const char *str)); /* should move to kernel once... still unsure on how/where */ float RE_filter_value(int type, float x); @@ -263,7 +262,7 @@ void RE_DataBase_GetView(struct Render *re, float mat[][4]); void RE_GetCameraWindow(struct Render *re, struct Object *camera, int frame, float mat[][4]); struct Scene *RE_GetScene(struct Render *re); -int RE_is_rendering_allowed(struct Scene *scene, struct Object *camera_override, void *erh, void (*error)(void *handle, const char *str)); +int RE_is_rendering_allowed(struct Scene *scene, struct Object *camera_override, struct ReportList *reports); #endif /* RE_PIPELINE_H */ diff --git a/source/blender/render/intern/include/render_types.h b/source/blender/render/intern/include/render_types.h index 30b8930eb52..f48f8bab22e 100644 --- a/source/blender/render/intern/include/render_types.h +++ b/source/blender/render/intern/include/render_types.h @@ -253,9 +253,6 @@ struct Render int (*test_break)(void *handle); void *tbh; - void (*error)(void *handle, const char *str); - void *erh; - RenderStats i; struct ReportList *reports; diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index ebc5794881f..347bfd60f1c 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -141,7 +141,6 @@ static void result_nothing(void *UNUSED(arg), RenderResult *UNUSED(rr)) {} static void result_rcti_nothing(void *UNUSED(arg), RenderResult *UNUSED(rr), volatile struct rcti *UNUSED(rect)) {} static void stats_nothing(void *UNUSED(arg), RenderStats *UNUSED(rs)) {} static void float_nothing(void *UNUSED(arg), float UNUSED(val)) {} -static void print_error(void *UNUSED(arg), const char *str) {printf("ERROR: %s\n", str);} static int default_break(void *UNUSED(arg)) {return G.afbreek == 1;} static void stats_background(void *UNUSED(arg), RenderStats *rs) @@ -1200,13 +1199,12 @@ void RE_InitRenderCB(Render *re) re->display_draw= result_rcti_nothing; re->progress= float_nothing; re->test_break= default_break; - re->error= print_error; if(G.background) re->stats_draw= stats_background; else re->stats_draw= stats_nothing; /* clear callback handles */ - re->dih= re->dch= re->ddh= re->sdh= re->prh= re->tbh= re->erh= NULL; + re->dih= re->dch= re->ddh= re->sdh= re->prh= re->tbh= NULL; } /* only call this while you know it will remove the link too */ @@ -1261,7 +1259,7 @@ void RE_InitState(Render *re, Render *source, RenderData *rd, SceneRenderLayer * if(re->rectx < 2 || re->recty < 2 || (BKE_imtype_is_movie(rd->imtype) && (re->rectx < 16 || re->recty < 16) )) { - re->error(re->erh, "Image too small"); + BKE_report(re->reports, RPT_ERROR, "Image too small"); re->ok= 0; return; } @@ -1427,11 +1425,6 @@ void RE_test_break_cb(Render *re, void *handle, int (*f)(void *handle)) re->test_break= f; re->tbh= handle; } -void RE_error_cb(Render *re, void *handle, void (*f)(void *handle, const char *str)) -{ - re->error= f; - re->erh= handle; -} /* ********* add object data (later) ******** */ @@ -2715,14 +2708,14 @@ static int check_valid_camera(Scene *scene, Object *camera_override) return 1; } -int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, void (*error)(void *handle, const char *str)) +int RE_is_rendering_allowed(Scene *scene, Object *camera_override, ReportList *reports) { SceneRenderLayer *srl; if(scene->r.mode & R_BORDER) { if(scene->r.border.xmax <= scene->r.border.xmin || scene->r.border.ymax <= scene->r.border.ymin) { - error(erh, "No border area selected."); + BKE_report(reports, RPT_ERROR, "No border area selected."); return 0; } } @@ -2733,13 +2726,13 @@ int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, vo scene_unique_exr_name(scene, str, 0); if (BLI_is_writable(str)==0) { - error(erh, "Can not save render buffers, check the temp default path"); + BKE_report(reports, RPT_ERROR, "Can not save render buffers, check the temp default path"); return 0; } /* no fullsample and edge */ if((scene->r.scemode & R_FULL_SAMPLE) && (scene->r.mode & R_EDGE)) { - error(erh, "Full Sample doesn't support Edge Enhance"); + BKE_report(reports, RPT_ERROR, "Full Sample doesn't support Edge Enhance"); return 0; } @@ -2753,7 +2746,7 @@ int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, vo bNode *node; if(ntree==NULL) { - error(erh, "No Nodetree in Scene"); + BKE_report(reports, RPT_ERROR, "No Nodetree in Scene"); return 0; } @@ -2762,13 +2755,13 @@ int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, vo break; if(node==NULL) { - error(erh, "No Render Output Node in Scene"); + BKE_report(reports, RPT_ERROR, "No Render Output Node in Scene"); return 0; } if(scene->r.scemode & R_FULL_SAMPLE) { if(composite_needs_render(scene)==0) { - error(erh, "Full Sample AA not supported without 3d rendering"); + BKE_report(reports, RPT_ERROR, "Full Sample AA not supported without 3d rendering"); return 0; } } @@ -2777,7 +2770,7 @@ int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, vo /* check valid camera, without camera render is OK (compo, seq) */ if(!check_valid_camera(scene, camera_override)) { - error(erh, "No camera"); + BKE_report(reports, RPT_ERROR, "No camera"); return 0; } @@ -2787,7 +2780,7 @@ int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, vo /* forbidden combinations */ if(scene->r.mode & R_PANORAMA) { if(scene->r.mode & R_ORTHO) { - error(erh, "No Ortho render possible for Panorama"); + BKE_report(reports, RPT_ERROR, "No Ortho render possible for Panorama"); return 0; } } @@ -2803,13 +2796,13 @@ int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, vo if(!(srl->layflag & SCE_LAY_DISABLE)) break; if(srl==NULL) { - error(erh, "All RenderLayers are disabled"); + BKE_report(reports, RPT_ERROR, "All RenderLayers are disabled"); return 0; } /* renderer */ if(!ELEM(scene->r.renderer, R_INTERN, R_YAFRAY)) { - error(erh, "Unknown render engine set"); + BKE_report(reports, RPT_ERROR, "Unknown render engine set"); return 0; } From a532b9fa3e192c583611d43e45abadb85b38881e Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 18 May 2011 19:30:28 +0000 Subject: [PATCH 038/241] Cycles: 3d view tool properties entry in view menu. --- release/scripts/startup/bl_ui/space_view3d.py | 1 + .../editors/space_view3d/space_view3d.c | 19 ++++++--- .../editors/space_view3d/view3d_intern.h | 3 +- .../blender/editors/space_view3d/view3d_ops.c | 1 + .../editors/space_view3d/view3d_toolbar.c | 42 +++++++++++++++++-- 5 files changed, 57 insertions(+), 9 deletions(-) diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index e6ce1d4c179..2cba1ac1ece 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -279,6 +279,7 @@ class VIEW3D_MT_view(bpy.types.Menu): layout.operator("view3d.properties", icon='MENU_PANEL') layout.operator("view3d.toolshelf", icon='MENU_PANEL') + layout.operator("view3d.tool_properties", icon='MENU_PANEL') layout.separator() diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c index 62f3d762e22..02aed0e3a4a 100644 --- a/source/blender/editors/space_view3d/space_view3d.c +++ b/source/blender/editors/space_view3d/space_view3d.c @@ -95,7 +95,7 @@ ARegion *view3d_has_buttons_region(ScrArea *sa) return arnew; } -ARegion *view3d_has_tools_region(ScrArea *sa) +void view3d_has_tools_region(ScrArea *sa, ARegion **r_artool, ARegion **r_arprops) { ARegion *ar, *artool=NULL, *arprops=NULL, *arhead; @@ -107,7 +107,11 @@ ARegion *view3d_has_tools_region(ScrArea *sa) } /* tool region hide/unhide also hides props */ - if(arprops && artool) return artool; + if(arprops && artool) { + *r_artool= artool; + *r_arprops= arprops; + return; + } if(artool==NULL) { /* add subdiv level; after header */ @@ -116,7 +120,11 @@ ARegion *view3d_has_tools_region(ScrArea *sa) break; /* is error! */ - if(arhead==NULL) return NULL; + if(arhead==NULL) { + *r_artool= NULL; + *r_arprops= NULL; + return; + } artool= MEM_callocN(sizeof(ARegion), "tools for view3d"); @@ -134,8 +142,9 @@ ARegion *view3d_has_tools_region(ScrArea *sa) arprops->regiontype= RGN_TYPE_TOOL_PROPS; arprops->alignment= RGN_ALIGN_BOTTOM|RGN_SPLIT_PREV; } - - return artool; + + *r_artool= artool; + *r_arprops= arprops; } /* ****************************************************** */ diff --git a/source/blender/editors/space_view3d/view3d_intern.h b/source/blender/editors/space_view3d/view3d_intern.h index 717e46800b1..503d1ffd891 100644 --- a/source/blender/editors/space_view3d/view3d_intern.h +++ b/source/blender/editors/space_view3d/view3d_intern.h @@ -174,6 +174,7 @@ void view3d_buttons_register(struct ARegionType *art); /* view3d_toolbar.c */ void VIEW3D_OT_toolshelf(struct wmOperatorType *ot); +void VIEW3D_OT_tool_properties(struct wmOperatorType *ot); void view3d_toolshelf_register(struct ARegionType *art); void view3d_tool_props_register(struct ARegionType *art); @@ -189,7 +190,7 @@ void VIEW3D_OT_snap_cursor_to_active(struct wmOperatorType *ot); /* space_view3d.c */ ARegion *view3d_has_buttons_region(ScrArea *sa); -ARegion *view3d_has_tools_region(ScrArea *sa); +void view3d_has_tools_region(ScrArea *sa, ARegion **artool, ARegion **arprops); extern const char *view3d_context_dir[]; /* doc access */ diff --git a/source/blender/editors/space_view3d/view3d_ops.c b/source/blender/editors/space_view3d/view3d_ops.c index 4942030c516..94f77b18667 100644 --- a/source/blender/editors/space_view3d/view3d_ops.c +++ b/source/blender/editors/space_view3d/view3d_ops.c @@ -94,6 +94,7 @@ void view3d_operatortypes(void) WM_operatortype_append(VIEW3D_OT_properties); WM_operatortype_append(VIEW3D_OT_toolshelf); + WM_operatortype_append(VIEW3D_OT_tool_properties); WM_operatortype_append(VIEW3D_OT_snap_selected_to_grid); WM_operatortype_append(VIEW3D_OT_snap_selected_to_cursor); diff --git a/source/blender/editors/space_view3d/view3d_toolbar.c b/source/blender/editors/space_view3d/view3d_toolbar.c index 7fad19f16a6..56bfb3c2273 100644 --- a/source/blender/editors/space_view3d/view3d_toolbar.c +++ b/source/blender/editors/space_view3d/view3d_toolbar.c @@ -257,10 +257,12 @@ void view3d_tool_props_register(ARegionType *art) static int view3d_toolshelf(bContext *C, wmOperator *UNUSED(op)) { ScrArea *sa= CTX_wm_area(C); - ARegion *ar= view3d_has_tools_region(sa); + ARegion *artool, *arprops; - if(ar) - ED_region_toggle_hidden(C, ar); + view3d_has_tools_region(sa, &artool, &arprops); + + if(artool) + ED_region_toggle_hidden(C, artool); return OPERATOR_FINISHED; } @@ -277,3 +279,37 @@ void VIEW3D_OT_toolshelf(wmOperatorType *ot) /* flags */ ot->flag= 0; } + +/* ********** operator to open/close toolshelf region */ + +static int view3d_tool_properties(bContext *C, wmOperator *UNUSED(op)) +{ + ScrArea *sa= CTX_wm_area(C); + ARegion *artool, *arprops; + + view3d_has_tools_region(sa, &artool, &arprops); + + if(artool && (artool->flag & RGN_FLAG_HIDDEN)) { + ED_region_toggle_hidden(C, artool); + + if(arprops && (arprops->flag & RGN_FLAG_HIDDEN)) + ED_region_toggle_hidden(C, arprops); + } + else if(arprops) + ED_region_toggle_hidden(C, arprops); + + return OPERATOR_FINISHED; +} + +void VIEW3D_OT_tool_properties(wmOperatorType *ot) +{ + ot->name= "Tool Properties"; + ot->description= "Toggles tool properties display"; + ot->idname= "VIEW3D_OT_tool_properties"; + + ot->exec= view3d_tool_properties; + ot->poll= ED_operator_view3d_active; + + /* flags */ + ot->flag= 0; +} From 74cccd1566e0e82a0f34d3ea1cab449cecfcbfd5 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 18 May 2011 19:34:17 +0000 Subject: [PATCH 039/241] Cycles: get rid of (+) icon for region open, all regions already accesible through shortcut key or view menu. --- source/blender/editors/screen/area.c | 81 ++++------------------------ 1 file changed, 9 insertions(+), 72 deletions(-) diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index 75dabd8aedb..b97911eb6b3 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -479,84 +479,21 @@ static void region_azone_edge(AZone *az, ARegion *ar) BLI_init_rcti(&az->rect, az->x1, az->x2, az->y1, az->y2); } -static void region_azone_icon(ScrArea *sa, AZone *az, ARegion *ar) -{ - AZone *azt; - int tot=0; - - /* count how many actionzones with along same edge are available. - This allows for adding more action zones in the future without - having to worry about correct offset */ - for(azt= sa->actionzones.first; azt; azt= azt->next) { - if(azt->edge == az->edge) tot++; - } - - switch(az->edge) { - case AE_TOP_TO_BOTTOMRIGHT: - az->x1= ar->winrct.xmax - tot*2*AZONEPAD_ICON; - az->y1= ar->winrct.ymax + AZONEPAD_ICON; - az->x2= ar->winrct.xmax - tot*AZONEPAD_ICON; - az->y2= ar->winrct.ymax + 2*AZONEPAD_ICON; - break; - case AE_BOTTOM_TO_TOPLEFT: - az->x1= ar->winrct.xmin + AZONEPAD_ICON; - az->y1= ar->winrct.ymin - 2*AZONEPAD_ICON; - az->x2= ar->winrct.xmin + 2*AZONEPAD_ICON; - az->y2= ar->winrct.ymin - AZONEPAD_ICON; - break; - case AE_LEFT_TO_TOPRIGHT: - az->x1= ar->winrct.xmin - 2*AZONEPAD_ICON; - az->y1= ar->winrct.ymax - tot*2*AZONEPAD_ICON; - az->x2= ar->winrct.xmin - AZONEPAD_ICON; - az->y2= ar->winrct.ymax - tot*AZONEPAD_ICON; - break; - case AE_RIGHT_TO_TOPLEFT: - az->x1= ar->winrct.xmax + AZONEPAD_ICON; - az->y1= ar->winrct.ymax - tot*2*AZONEPAD_ICON; - az->x2= ar->winrct.xmax + 2*AZONEPAD_ICON; - az->y2= ar->winrct.ymax - tot*AZONEPAD_ICON; - break; - } - - BLI_init_rcti(&az->rect, az->x1, az->x2, az->y1, az->y2); - - /* if more azones on 1 spot, set offset */ - for(azt= sa->actionzones.first; azt; azt= azt->next) { - if(az!=azt) { - if( ABS(az->x1-azt->x1) < 2 && ABS(az->y1-azt->y1) < 2) { - if(az->edge==AE_TOP_TO_BOTTOMRIGHT || az->edge==AE_BOTTOM_TO_TOPLEFT) { - az->x1+= AZONESPOT; - az->x2+= AZONESPOT; - } - else{ - az->y1-= AZONESPOT; - az->y2-= AZONESPOT; - } - BLI_init_rcti(&az->rect, az->x1, az->x2, az->y1, az->y2); - } - } - } -} - static void region_azone_initialize(ScrArea *sa, ARegion *ar, AZEdge edge) { - AZone *az; - - az= (AZone *)MEM_callocN(sizeof(AZone), "actionzone"); - BLI_addtail(&(sa->actionzones), az); - az->type= AZONE_REGION; - az->ar= ar; - az->edge= edge; - - if (ar->flag & RGN_FLAG_HIDDEN) { - region_azone_icon(sa, az, ar); - } else { + if(!(ar->flag & RGN_FLAG_HIDDEN)) { + AZone *az; + + az= (AZone *)MEM_callocN(sizeof(AZone), "actionzone"); + BLI_addtail(&(sa->actionzones), az); + az->type= AZONE_REGION; + az->ar= ar; + az->edge= edge; + region_azone_edge(az, ar); } - } - /* *************************************************************** */ static void region_azone_add(ScrArea *sa, ARegion *ar, int alignment) From 63d4bafff57392ffd81d686a7ccdd4fbdf863c97 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 20 May 2011 12:26:01 +0000 Subject: [PATCH 040/241] Cycles: some steps to getting OpenCL backend to compile. --- intern/cycles/device/device_opencl.cpp | 54 ++++- intern/cycles/kernel/CMakeLists.txt | 23 +- intern/cycles/kernel/kernel.cl | 82 +++---- intern/cycles/kernel/kernel_compat_cuda.h | 2 +- intern/cycles/kernel/kernel_compat_opencl.h | 15 +- intern/cycles/kernel/kernel_globals.h | 212 ++++-------------- intern/cycles/kernel/kernel_light.h | 4 +- intern/cycles/kernel/kernel_textures.h | 153 +++++++++++++ intern/cycles/kernel/kernel_triangle.h | 50 ++--- intern/cycles/kernel/kernel_types.h | 21 +- .../cycles/kernel/svm/bsdf_ashikhmin_velvet.h | 4 +- intern/cycles/kernel/svm/bsdf_diffuse.h | 8 +- intern/cycles/kernel/svm/bsdf_microfacet.h | 16 +- intern/cycles/kernel/svm/bsdf_ward.h | 4 +- intern/cycles/kernel/svm/bsdf_westin.h | 8 +- intern/cycles/kernel/svm/svm_blend.h | 2 +- intern/cycles/kernel/svm/svm_displace.h | 5 +- .../cycles/kernel/svm/svm_distorted_noise.h | 5 +- intern/cycles/kernel/svm/svm_image.h | 18 +- intern/cycles/kernel/svm/svm_mix.h | 26 ++- intern/cycles/kernel/svm/svm_sky.h | 2 +- intern/cycles/kernel/svm/svm_texture.h | 2 +- intern/cycles/kernel/svm/svm_types.h | 80 +++---- intern/cycles/util/util_color.h | 4 + intern/cycles/util/util_math.h | 6 +- 25 files changed, 454 insertions(+), 352 deletions(-) create mode 100644 intern/cycles/kernel/kernel_textures.h diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp index 6b564d10e78..ef416dfb8dc 100644 --- a/intern/cycles/device/device_opencl.cpp +++ b/intern/cycles/device/device_opencl.cpp @@ -55,6 +55,7 @@ public: cl_int ciErr; map*> const_mem_map; map mem_map; + device_ptr null_mem; const char *opencl_error_string(cl_int err) { @@ -125,10 +126,10 @@ public: ciErr = clGetPlatformIDs(1, &cpPlatform, NULL); opencl_assert(ciErr); - ciErr = clGetDeviceIDs(cpPlatform, CL_DEVICE_TYPE_GPU, 1, &cdDevice, NULL); + ciErr = clGetDeviceIDs(cpPlatform, CL_DEVICE_TYPE_CPU, 1, &cdDevice, NULL); opencl_assert(ciErr); - cxGPUContext = clCreateContext(0, 1, &cdDevice, NULL /*clLogMessagesToStdoutAPPLE */, NULL, &ciErr); + cxGPUContext = clCreateContext(0, 1, &cdDevice, NULL, NULL, &ciErr); opencl_assert(ciErr); cqCommandQueue = clCreateCommandQueue(cxGPUContext, cdDevice, 0, &ciErr); @@ -137,10 +138,16 @@ public: /* compile kernel */ string source = string_printf("#include \"kernel.cl\" // %lf\n", time_dt()); size_t source_len = source.size(); - string build_options = "-I ../kernel -I ../util -Werror -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END="; //" + path_get("kernel") + " -Werror"; - //printf("path %s\n", path_get("kernel").c_str()); - //clUnloadCompiler(); + string build_options = ""; + + //string csource = "../blender/intern/cycles"; + //build_options += "-I " + csource + "/kernel -I " + csource + "/util"; + + build_options += " -I " + path_get("kernel"); /* todo: escape path */ + + build_options += " -Werror"; + build_options += " -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END="; cpProgram = clCreateProgramWithSource(cxGPUContext, 1, (const char **)&source, &source_len, &ciErr); @@ -170,10 +177,15 @@ public: opencl_assert(ciErr); ckFilmConvertKernel = clCreateKernel(cpProgram, "kernel_ocl_tonemap", &ciErr); opencl_assert(ciErr); + + null_mem = (device_ptr)clCreateBuffer(cxGPUContext, CL_MEM_READ_ONLY, 1, NULL, &ciErr); } ~OpenCLDevice() { + + clReleaseMemObject(CL_MEM_PTR(null_mem)); + map*>::iterator mt; for(mt = const_mem_map.begin(); mt != const_mem_map.end(); mt++) { mem_free(*(mt->second)); @@ -261,6 +273,7 @@ public: void tex_alloc(const char *name, device_memory& mem, bool interpolation, bool periodic) { mem_alloc(mem, MEM_READ_ONLY); + mem_copy_to(mem); mem_map[name] = &mem; } @@ -295,6 +308,11 @@ public: ciErr |= clSetKernelArg(ckPathTraceKernel, narg++, sizeof(d_data), (void*)&d_data); ciErr |= clSetKernelArg(ckPathTraceKernel, narg++, sizeof(d_buffer), (void*)&d_buffer); ciErr |= clSetKernelArg(ckPathTraceKernel, narg++, sizeof(d_rng_state), (void*)&d_rng_state); + +#define KERNEL_TEX(type, ttype, name) \ + ciErr |= set_kernel_arg_mem(ckPathTraceKernel, &narg, #name); +#include "kernel_textures.h" + ciErr |= clSetKernelArg(ckPathTraceKernel, narg++, sizeof(d_pass), (void*)&d_pass); ciErr |= clSetKernelArg(ckPathTraceKernel, narg++, sizeof(d_x), (void*)&d_x); ciErr |= clSetKernelArg(ckPathTraceKernel, narg++, sizeof(d_y), (void*)&d_y); @@ -314,10 +332,20 @@ public: cl_int set_kernel_arg_mem(cl_kernel kernel, int *narg, const char *name) { - device_memory *mem = mem_map[name]; - cl_mem ptr = CL_MEM_PTR(mem->device_pointer); - cl_int size = mem->data_width; - cl_int err = 0; + cl_mem ptr; + cl_int size, err = 0; + + if(mem_map.find(name) != mem_map.end()) { + device_memory *mem = mem_map[name]; + + ptr = CL_MEM_PTR(mem->device_pointer); + size = mem->data_width; + } + else { + /* work around NULL not working, even though the spec says otherwise */ + ptr = CL_MEM_PTR(null_mem); + size = 1; + } err |= clSetKernelArg(kernel, (*narg)++, sizeof(ptr), (void*)&ptr); opencl_assert(err); @@ -347,9 +375,11 @@ public: ciErr |= clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_data), (void*)&d_data); ciErr |= clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_rgba), (void*)&d_rgba); ciErr |= clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_buffer), (void*)&d_buffer); - ciErr |= set_kernel_arg_mem(ckFilmConvertKernel, &narg, "__response_curve_R"); - ciErr |= set_kernel_arg_mem(ckFilmConvertKernel, &narg, "__response_curve_G"); - ciErr |= set_kernel_arg_mem(ckFilmConvertKernel, &narg, "__response_curve_B"); + +#define KERNEL_TEX(type, ttype, name) \ + ciErr |= set_kernel_arg_mem(ckFilmConvertKernel, &narg, #name); +#include "kernel_textures.h" + ciErr |= clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_pass), (void*)&d_pass); ciErr |= clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_resolution), (void*)&d_resolution); ciErr |= clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_x), (void*)&d_x); diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt index f1aa1db9e8c..bc1f8bd40a5 100644 --- a/intern/cycles/kernel/CMakeLists.txt +++ b/intern/cycles/kernel/CMakeLists.txt @@ -25,8 +25,11 @@ SET(headers kernel_qbvh.h kernel_random.h kernel_shader.h + kernel_textures.h kernel_triangle.h - kernel_types.h + kernel_types.h) + +SET(svm_headers svm/bsdf.h svm/bsdf_ashikhmin_velvet.h svm/bsdf_diffuse.h @@ -78,7 +81,7 @@ ELSE() ENDIF() IF(WITH_CYCLES_CUDA) - SET(cuda_sources kernel.cu ${headers}) + SET(cuda_sources kernel.cu ${headers} ${svm_headers}) SET(cuda_cubins) FOREACH(arch ${CYCLES_CUDA_ARCH}) @@ -106,9 +109,23 @@ ENDIF() INCLUDE_DIRECTORIES(. ../util osl svm) -ADD_LIBRARY(cycles_kernel ${sources} ${headers}) +ADD_LIBRARY(cycles_kernel ${sources} ${headers} ${svm_headers}) IF(WITH_CYCLES_CUDA) ADD_DEPENDENCIES(cycles_kernel cycles_kernel_cuda) ENDIF() +# OPENCL kernel + +IF(WITH_CYCLES_OPENCL) + SET(util_headers + ../util/util_color.h + ../util/util_math.h + ../util/util_transform.h + ../util/util_types.h) + + INSTALL(FILES kernel.cl ${headers} DESTINATION ${CYCLES_INSTALL_PATH}/cycles/kernel) + INSTALL(FILES ${svm_headers} DESTINATION ${CYCLES_INSTALL_PATH}/cycles/kernel/svm) + INSTALL(FILES ${util_headers} DESTINATION ${CYCLES_INSTALL_PATH}/cycles/kernel) +ENDIF() + diff --git a/intern/cycles/kernel/kernel.cl b/intern/cycles/kernel/kernel.cl index a22db5fe040..e1a9b3a0696 100644 --- a/intern/cycles/kernel/kernel.cl +++ b/intern/cycles/kernel/kernel.cl @@ -23,71 +23,61 @@ #include "kernel_types.h" #include "kernel_globals.h" -typedef struct KernelGlobals { - __constant KernelData *data; - - __global float *__response_curve_R; - int __response_curve_R_width; - - __global float *__response_curve_G; - int __response_curve_G_width; - - __global float *__response_curve_B; - int __response_curve_B_width; -} KernelGlobals; - #include "kernel_film.h" -//#include "kernel_path.h" +#include "kernel_path.h" //#include "kernel_displace.h" -__kernel void kernel_ocl_path_trace(__constant KernelData *data, __global float4 *buffer, __global uint *rng_state, int pass, int sx, int sy, int sw, int sh) +__kernel void kernel_ocl_path_trace( + __constant KernelData *data, + __global float4 *buffer, + __global uint *rng_state, + +#define KERNEL_TEX(type, ttype, name) \ + __global type *name, \ + int name##_width, +#include "kernel_textures.h" + + int pass, + int sx, int sy, int sw, int sh) { KernelGlobals kglobals, *kg = &kglobals; + kg->data = data; - int x = get_global_id(0); - int y = get_global_id(1); +#define KERNEL_TEX(type, ttype, name) \ + kg->name = name; \ + kg->name##_width = name##_width; +#include "kernel_textures.h" + + int x = sx + get_global_id(0); + int y = sy + get_global_id(1); int w = kernel_data.cam.width; - if(x < sx + sw && y < sy + sh) { - if(pass == 0) { - buffer[x + w*y].x = 0.5f; - buffer[x + w*y].y = 0.5f; - buffer[x + w*y].z = 0.5f; - } - else { - buffer[x + w*y].x += 0.5f; - buffer[x + w*y].y += 0.5f; - buffer[x + w*y].z += 0.5f; - } - - //= make_float3(1.0f, 0.9f, 0.0f); - //kernel_path_trace(buffer, rng_state, pass, x, y); - } + if(x < sx + sw && y < sy + sh) + kernel_path_trace(kg, buffer, rng_state, pass, x, y); } __kernel void kernel_ocl_tonemap( __constant KernelData *data, __global uchar4 *rgba, __global float4 *buffer, - __global float *__response_curve_R, - int __response_curve_R_width, - __global float *__response_curve_G, - int __response_curve_G_width, - __global float *__response_curve_B, - int __response_curve_B_width, + +#define KERNEL_TEX(type, ttype, name) \ + __global type *name, \ + int name##_width, +#include "kernel_textures.h" + int pass, int resolution, int sx, int sy, int sw, int sh) { KernelGlobals kglobals, *kg = &kglobals; kg->data = data; - kg->__response_curve_R = __response_curve_R; - kg->__response_curve_R_width = __response_curve_R_width; - kg->__response_curve_G = __response_curve_G; - kg->__response_curve_G_width = __response_curve_G_width; - kg->__response_curve_B = __response_curve_B; - kg->__response_curve_B_width = __response_curve_B_width; + +#define KERNEL_TEX(type, ttype, name) \ + kg->name = name; \ + kg->name##_width = name##_width; +#include "kernel_textures.h" int x = sx + get_global_id(0); int y = sy + get_global_id(1); @@ -96,10 +86,10 @@ __kernel void kernel_ocl_tonemap( kernel_film_tonemap(kg, rgba, buffer, pass, resolution, x, y); } -__kernel void kernel_ocl_displace(__global uint4 *input, __global float3 *offset, int sx) +/*__kernel void kernel_ocl_displace(__global uint4 *input, __global float3 *offset, int sx) { int x = sx + get_global_id(0); kernel_displace(input, offset, x); -} +}*/ diff --git a/intern/cycles/kernel/kernel_compat_cuda.h b/intern/cycles/kernel/kernel_compat_cuda.h index 99c1df1fb1a..b7b29d46323 100644 --- a/intern/cycles/kernel/kernel_compat_cuda.h +++ b/intern/cycles/kernel/kernel_compat_cuda.h @@ -35,7 +35,7 @@ CCL_NAMESPACE_BEGIN #define __device_inline __device__ __inline__ #define __global #define __shared __shared__ -#define __constant __constant__ +#define __constant /* No assert supported for CUDA */ diff --git a/intern/cycles/kernel/kernel_compat_opencl.h b/intern/cycles/kernel/kernel_compat_opencl.h index 16ddca5305b..e6e54850605 100644 --- a/intern/cycles/kernel/kernel_compat_opencl.h +++ b/intern/cycles/kernel/kernel_compat_opencl.h @@ -29,6 +29,8 @@ CCL_NAMESPACE_BEGIN #define __device #define __device_inline +#define kernel_assert(cond) + __device float kernel_tex_interp_(__global float *data, int width, float x) { x = clamp(x, 0.0f, 1.0f)*width; @@ -40,9 +42,20 @@ __device float kernel_tex_interp_(__global float *data, int width, float x) return (1.0f - t)*data[index] + t*data[nindex]; } +#define make_float3(x, y, z) ((float3)(x, y, z)) /* todo 1.1 */ + +#define __uint_as_float(x) as_float(x) +#define __float_as_uint(x) as_uint(x) +#define __int_as_float(x) as_float(x) +#define __float_as_int(x) as_int(x) + #define kernel_data (*kg->data) #define kernel_tex_interp(t, x) \ - kernel_tex_interp_(kg->t, kg->t##_width, x); + kernel_tex_interp_(kg->t, kg->t##_width, x) +#define kernel_tex_fetch(t, index) \ + kg->t[index] + +#define NULL 0 CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/kernel_globals.h b/intern/cycles/kernel/kernel_globals.h index 4c4f35bb508..720a9f28fa1 100644 --- a/intern/cycles/kernel/kernel_globals.h +++ b/intern/cycles/kernel/kernel_globals.h @@ -18,190 +18,66 @@ /* Constant Globals */ -#ifdef __KERNEL_CPU__ - -#ifdef WITH_OSL -#include "osl_globals.h" -#endif - CCL_NAMESPACE_BEGIN /* On the CPU, we pass along the struct KernelGlobals to nearly everywhere in the kernel, to access constant data. These are all stored as "textures", but these are really just standard arrays. We can't use actually globals because multiple renders may be running inside the same process. */ -typedef struct KernelGlobals { - -#else - -/* On the GPU, constant memory textures must be globals, so we can't put them - into a struct. As a result we don't actually use this struct and use actual - globals and simply pass along a NULL pointer everywhere, which we hope gets - optimized out. */ -#ifdef __KERNEL_CUDA__ -typedef struct KernelGlobals {} KernelGlobals; -#endif - -#endif - -/* globals */ -__constant KernelData __data; - -#ifndef __KERNEL_OPENCL__ - -/* bvh */ -texture_float4 __bvh_nodes; -texture_float4 __tri_woop; -texture_uint __prim_index; -texture_uint __prim_object; -texture_uint __object_node; - -/* objects */ -texture_float4 __objects; - -/* triangles */ -texture_float4 __tri_normal; -texture_float4 __tri_vnormal; -texture_float4 __tri_vindex; -texture_float4 __tri_verts; - -/* attributes */ -texture_uint4 __attributes_map; -texture_float __attributes_float; -texture_float4 __attributes_float3; - -/* lights */ -texture_float4 __light_distribution; -texture_float4 __light_point; - -/* shaders */ -texture_uint4 __svm_nodes; - -/* camera/film */ -texture_float __filter_table; -texture_float __response_curve_R; -texture_float __response_curve_G; -texture_float __response_curve_B; - -/* sobol */ -texture_uint __sobol_directions; - -/* image */ -texture_image_uchar4 __tex_image_000; -texture_image_uchar4 __tex_image_001; -texture_image_uchar4 __tex_image_002; -texture_image_uchar4 __tex_image_003; -texture_image_uchar4 __tex_image_004; -texture_image_uchar4 __tex_image_005; -texture_image_uchar4 __tex_image_006; -texture_image_uchar4 __tex_image_007; -texture_image_uchar4 __tex_image_008; -texture_image_uchar4 __tex_image_009; -texture_image_uchar4 __tex_image_010; -texture_image_uchar4 __tex_image_011; -texture_image_uchar4 __tex_image_012; -texture_image_uchar4 __tex_image_013; -texture_image_uchar4 __tex_image_014; -texture_image_uchar4 __tex_image_015; -texture_image_uchar4 __tex_image_016; -texture_image_uchar4 __tex_image_017; -texture_image_uchar4 __tex_image_018; -texture_image_uchar4 __tex_image_019; -texture_image_uchar4 __tex_image_020; -texture_image_uchar4 __tex_image_021; -texture_image_uchar4 __tex_image_022; -texture_image_uchar4 __tex_image_023; -texture_image_uchar4 __tex_image_024; -texture_image_uchar4 __tex_image_025; -texture_image_uchar4 __tex_image_026; -texture_image_uchar4 __tex_image_027; -texture_image_uchar4 __tex_image_028; -texture_image_uchar4 __tex_image_029; -texture_image_uchar4 __tex_image_030; -texture_image_uchar4 __tex_image_031; -texture_image_uchar4 __tex_image_032; -texture_image_uchar4 __tex_image_033; -texture_image_uchar4 __tex_image_034; -texture_image_uchar4 __tex_image_035; -texture_image_uchar4 __tex_image_036; -texture_image_uchar4 __tex_image_037; -texture_image_uchar4 __tex_image_038; -texture_image_uchar4 __tex_image_039; -texture_image_uchar4 __tex_image_040; -texture_image_uchar4 __tex_image_041; -texture_image_uchar4 __tex_image_042; -texture_image_uchar4 __tex_image_043; -texture_image_uchar4 __tex_image_044; -texture_image_uchar4 __tex_image_045; -texture_image_uchar4 __tex_image_046; -texture_image_uchar4 __tex_image_047; -texture_image_uchar4 __tex_image_048; -texture_image_uchar4 __tex_image_049; -texture_image_uchar4 __tex_image_050; -texture_image_uchar4 __tex_image_051; -texture_image_uchar4 __tex_image_052; -texture_image_uchar4 __tex_image_053; -texture_image_uchar4 __tex_image_054; -texture_image_uchar4 __tex_image_055; -texture_image_uchar4 __tex_image_056; -texture_image_uchar4 __tex_image_057; -texture_image_uchar4 __tex_image_058; -texture_image_uchar4 __tex_image_059; -texture_image_uchar4 __tex_image_060; -texture_image_uchar4 __tex_image_061; -texture_image_uchar4 __tex_image_062; -texture_image_uchar4 __tex_image_063; -texture_image_uchar4 __tex_image_064; -texture_image_uchar4 __tex_image_065; -texture_image_uchar4 __tex_image_066; -texture_image_uchar4 __tex_image_067; -texture_image_uchar4 __tex_image_068; -texture_image_uchar4 __tex_image_069; -texture_image_uchar4 __tex_image_070; -texture_image_uchar4 __tex_image_071; -texture_image_uchar4 __tex_image_072; -texture_image_uchar4 __tex_image_073; -texture_image_uchar4 __tex_image_074; -texture_image_uchar4 __tex_image_075; -texture_image_uchar4 __tex_image_076; -texture_image_uchar4 __tex_image_077; -texture_image_uchar4 __tex_image_078; -texture_image_uchar4 __tex_image_079; -texture_image_uchar4 __tex_image_080; -texture_image_uchar4 __tex_image_081; -texture_image_uchar4 __tex_image_082; -texture_image_uchar4 __tex_image_083; -texture_image_uchar4 __tex_image_084; -texture_image_uchar4 __tex_image_085; -texture_image_uchar4 __tex_image_086; -texture_image_uchar4 __tex_image_087; -texture_image_uchar4 __tex_image_088; -texture_image_uchar4 __tex_image_089; -texture_image_uchar4 __tex_image_090; -texture_image_uchar4 __tex_image_091; -texture_image_uchar4 __tex_image_092; -texture_image_uchar4 __tex_image_093; -texture_image_uchar4 __tex_image_094; -texture_image_uchar4 __tex_image_095; -texture_image_uchar4 __tex_image_096; -texture_image_uchar4 __tex_image_097; -texture_image_uchar4 __tex_image_098; -texture_image_uchar4 __tex_image_099; - -#endif #ifdef __KERNEL_CPU__ #ifdef WITH_OSL +//#include "osl_globals.h" +#endif -/* On the CPU, we also have the OSL globals here. Most data structures are shared - with SVM, the difference is in the shaders and object/mesh attributes. */ +typedef struct KernelGlobals { -OSLGlobals osl; +#define KERNEL_TEX(type, ttype, name) ttype name; +#define KERNEL_IMAGE_TEX(type, ttype, name) ttype name; +#include "kernel_textures.h" + + KernelData __data; + +#ifdef WITH_OSL + /* On the CPU, we also have the OSL globals here. Most data structures are shared + with SVM, the difference is in the shaders and object/mesh attributes. */ + //OSLGlobals osl; +#endif + +} KernelGLobals; #endif +/* For CUDA, constant memory textures must be globals, so we can't put them + into a struct. As a result we don't actually use this struct and use actual + globals and simply pass along a NULL pointer everywhere, which we hope gets + optimized out. */ + +#ifdef __KERNEL_CUDA__ + +__constant__ KernelData __data; +typedef struct KernelGlobals {} KernelGlobals; + +#define KERNEL_TEX(type, ttype, name) ttype name; +#define KERNEL_IMAGE_TEX(type, ttype, name) ttype name; +#include "kernel_textures.h" + +#endif + +/* OpenCL */ + +#ifdef __KERNEL_OPENCL__ + +typedef struct KernelGlobals { + __constant KernelData *data; + +#define KERNEL_TEX(type, ttype, name) \ + __global type *name; \ + int name##_width; +#include "kernel_textures.h" } KernelGlobals; + #endif CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/kernel_light.h b/intern/cycles/kernel/kernel_light.h index 537f7ea00f0..5164e5deea2 100644 --- a/intern/cycles/kernel/kernel_light.h +++ b/intern/cycles/kernel/kernel_light.h @@ -18,14 +18,14 @@ CCL_NAMESPACE_BEGIN -struct LightSample { +typedef struct LightSample { float3 P; float3 Ng; int object; int prim; int shader; float weight; -}; +} LightSample; /* Point Light */ diff --git a/intern/cycles/kernel/kernel_textures.h b/intern/cycles/kernel/kernel_textures.h new file mode 100644 index 00000000000..bd44ed7eee5 --- /dev/null +++ b/intern/cycles/kernel/kernel_textures.h @@ -0,0 +1,153 @@ + +#ifndef KERNEL_TEX +#define KERNEL_TEX(type, ttype, name) +#endif + +#ifndef KERNEL_IMAGE_TEX +#define KERNEL_IMAGE_TEX(type, ttype, name) +#endif + + +/* bvh */ +KERNEL_TEX(float4, texture_float4, __bvh_nodes) +KERNEL_TEX(float4, texture_float4, __tri_woop) +KERNEL_TEX(uint, texture_uint, __prim_index) +KERNEL_TEX(uint, texture_uint, __prim_object) +KERNEL_TEX(uint, texture_uint, __object_node) + +/* objects */ +KERNEL_TEX(float4, texture_float4, __objects) + +/* triangles */ +KERNEL_TEX(float4, texture_float4, __tri_normal) +KERNEL_TEX(float4, texture_float4, __tri_vnormal) +KERNEL_TEX(float4, texture_float4, __tri_vindex) +KERNEL_TEX(float4, texture_float4, __tri_verts) + +/* attributes */ +KERNEL_TEX(uint4, texture_uint4, __attributes_map) +KERNEL_TEX(float, texture_float, __attributes_float) +KERNEL_TEX(float4, texture_float4, __attributes_float3) + +/* lights */ +KERNEL_TEX(float4, texture_float4, __light_distribution) +KERNEL_TEX(float4, texture_float4, __light_point) + +/* shaders */ +KERNEL_TEX(uint4, texture_uint4, __svm_nodes) + +/* camera/film */ +KERNEL_TEX(float, texture_float, __filter_table) +KERNEL_TEX(float, texture_float, __response_curve_R) +KERNEL_TEX(float, texture_float, __response_curve_G) +KERNEL_TEX(float, texture_float, __response_curve_B) + +/* sobol */ +KERNEL_TEX(uint, texture_uint, __sobol_directions) + +/* image */ +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_000) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_001) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_002) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_003) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_004) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_005) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_006) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_007) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_008) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_009) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_010) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_011) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_012) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_013) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_014) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_015) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_016) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_017) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_018) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_019) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_020) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_021) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_022) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_023) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_024) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_025) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_026) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_027) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_028) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_029) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_030) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_031) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_032) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_033) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_034) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_035) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_036) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_037) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_038) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_039) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_040) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_041) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_042) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_043) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_044) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_045) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_046) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_047) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_048) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_049) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_050) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_051) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_052) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_053) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_054) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_055) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_056) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_057) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_058) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_059) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_060) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_061) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_062) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_063) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_064) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_065) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_066) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_067) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_068) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_069) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_070) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_071) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_072) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_073) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_074) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_075) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_076) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_077) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_078) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_079) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_080) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_081) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_082) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_083) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_084) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_085) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_086) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_087) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_088) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_089) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_090) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_091) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_092) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_093) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_094) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_095) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_096) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_097) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_098) +KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_099) + +#undef KERNEL_TEX +#undef KERNEL_IMAGE_TEX + + diff --git a/intern/cycles/kernel/kernel_triangle.h b/intern/cycles/kernel/kernel_triangle.h index ddf8b7b1caf..7eaf54d14bf 100644 --- a/intern/cycles/kernel/kernel_triangle.h +++ b/intern/cycles/kernel/kernel_triangle.h @@ -22,11 +22,11 @@ CCL_NAMESPACE_BEGIN __device_inline float3 triangle_point_MT(KernelGlobals *kg, int tri_index, float u, float v) { /* load triangle vertices */ - float3 tri_vindex = as_float3(kernel_tex_fetch(__tri_vindex, tri_index)); + float3 tri_vindex = float4_to_float3(kernel_tex_fetch(__tri_vindex, tri_index)); - float3 v0 = as_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.x))); - float3 v1 = as_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.y))); - float3 v2 = as_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.z))); + float3 v0 = float4_to_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.x))); + float3 v1 = float4_to_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.y))); + float3 v2 = float4_to_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.z))); /* compute point */ float t = 1.0f - u - v; @@ -50,11 +50,11 @@ __device_inline float3 triangle_normal_MT(KernelGlobals *kg, int tri_index, int { #if 0 /* load triangle vertices */ - float3 tri_vindex = as_float3(kernel_tex_fetch(__tri_vindex, tri_index)); + float3 tri_vindex = float4_to_float3(kernel_tex_fetch(__tri_vindex, tri_index)); - float3 v0 = as_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.x))); - float3 v1 = as_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.y))); - float3 v2 = as_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.z))); + float3 v0 = float4_to_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.x))); + float3 v1 = float4_to_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.y))); + float3 v2 = float4_to_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.z))); /* compute normal */ return normalize(cross(v2 - v0, v1 - v0)); @@ -68,11 +68,11 @@ __device_inline float3 triangle_normal_MT(KernelGlobals *kg, int tri_index, int __device_inline float3 triangle_smooth_normal(KernelGlobals *kg, int tri_index, float u, float v) { /* load triangle vertices */ - float3 tri_vindex = as_float3(kernel_tex_fetch(__tri_vindex, tri_index)); + float3 tri_vindex = float4_to_float3(kernel_tex_fetch(__tri_vindex, tri_index)); - float3 n0 = as_float3(kernel_tex_fetch(__tri_vnormal, __float_as_int(tri_vindex.x))); - float3 n1 = as_float3(kernel_tex_fetch(__tri_vnormal, __float_as_int(tri_vindex.y))); - float3 n2 = as_float3(kernel_tex_fetch(__tri_vnormal, __float_as_int(tri_vindex.z))); + float3 n0 = float4_to_float3(kernel_tex_fetch(__tri_vnormal, __float_as_int(tri_vindex.x))); + float3 n1 = float4_to_float3(kernel_tex_fetch(__tri_vnormal, __float_as_int(tri_vindex.y))); + float3 n2 = float4_to_float3(kernel_tex_fetch(__tri_vnormal, __float_as_int(tri_vindex.z))); return normalize((1.0f - u - v)*n2 + u*n0 + v*n1); } @@ -80,11 +80,11 @@ __device_inline float3 triangle_smooth_normal(KernelGlobals *kg, int tri_index, __device_inline void triangle_dPdudv(KernelGlobals *kg, float3 *dPdu, float3 *dPdv, int tri) { /* fetch triangle vertex coordinates */ - float3 tri_vindex = as_float3(kernel_tex_fetch(__tri_vindex, tri)); + float3 tri_vindex = float4_to_float3(kernel_tex_fetch(__tri_vindex, tri)); - float3 p0 = as_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.x))); - float3 p1 = as_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.y))); - float3 p2 = as_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.z))); + float3 p0 = float4_to_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.x))); + float3 p1 = float4_to_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.y))); + float3 p2 = float4_to_float3(kernel_tex_fetch(__tri_verts, __float_as_int(tri_vindex.z))); /* compute derivatives of P w.r.t. uv */ *dPdu = (p0 - p2); @@ -102,7 +102,7 @@ __device float triangle_attribute_float(KernelGlobals *kg, const ShaderData *sd, return kernel_tex_fetch(__attributes_float, offset + sd->prim); } else if(elem == ATTR_ELEMENT_VERTEX) { - float3 tri_vindex = as_float3(kernel_tex_fetch(__tri_vindex, sd->prim)); + float3 tri_vindex = float4_to_float3(kernel_tex_fetch(__tri_vindex, sd->prim)); float f0 = kernel_tex_fetch(__attributes_float, offset + __float_as_int(tri_vindex.x)); float f1 = kernel_tex_fetch(__attributes_float, offset + __float_as_int(tri_vindex.y)); @@ -142,14 +142,14 @@ __device float3 triangle_attribute_float3(KernelGlobals *kg, const ShaderData *s if(dx) *dx = make_float3(0.0f, 0.0f, 0.0f); if(dy) *dy = make_float3(0.0f, 0.0f, 0.0f); - return as_float3(kernel_tex_fetch(__attributes_float3, offset + sd->prim)); + return float4_to_float3(kernel_tex_fetch(__attributes_float3, offset + sd->prim)); } else if(elem == ATTR_ELEMENT_VERTEX) { - float3 tri_vindex = as_float3(kernel_tex_fetch(__tri_vindex, sd->prim)); + float3 tri_vindex = float4_to_float3(kernel_tex_fetch(__tri_vindex, sd->prim)); - float3 f0 = as_float3(kernel_tex_fetch(__attributes_float3, offset + __float_as_int(tri_vindex.x))); - float3 f1 = as_float3(kernel_tex_fetch(__attributes_float3, offset + __float_as_int(tri_vindex.y))); - float3 f2 = as_float3(kernel_tex_fetch(__attributes_float3, offset + __float_as_int(tri_vindex.z))); + float3 f0 = float4_to_float3(kernel_tex_fetch(__attributes_float3, offset + __float_as_int(tri_vindex.x))); + float3 f1 = float4_to_float3(kernel_tex_fetch(__attributes_float3, offset + __float_as_int(tri_vindex.y))); + float3 f2 = float4_to_float3(kernel_tex_fetch(__attributes_float3, offset + __float_as_int(tri_vindex.z))); #ifdef __RAY_DIFFERENTIALS__ if(dx) *dx = sd->du.dx*f0 + sd->dv.dx*f1 - (sd->du.dx + sd->dv.dx)*f2; @@ -160,9 +160,9 @@ __device float3 triangle_attribute_float3(KernelGlobals *kg, const ShaderData *s } else if(elem == ATTR_ELEMENT_CORNER) { int tri = offset + sd->prim*3; - float3 f0 = as_float3(kernel_tex_fetch(__attributes_float3, tri + 0)); - float3 f1 = as_float3(kernel_tex_fetch(__attributes_float3, tri + 1)); - float3 f2 = as_float3(kernel_tex_fetch(__attributes_float3, tri + 2)); + float3 f0 = float4_to_float3(kernel_tex_fetch(__attributes_float3, tri + 0)); + float3 f1 = float4_to_float3(kernel_tex_fetch(__attributes_float3, tri + 1)); + float3 f2 = float4_to_float3(kernel_tex_fetch(__attributes_float3, tri + 2)); #ifdef __RAY_DIFFERENTIALS__ if(dx) *dx = sd->du.dx*f0 + sd->dv.dx*f1 - (sd->du.dx + sd->dv.dx)*f2; diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index bd337eb95e1..fbe827b1791 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -21,11 +21,7 @@ #include "kernel_math.h" -#ifndef __KERNEL_OPENCL__ - -#include "svm_types.h" - -#endif +#include "svm/svm_types.h" CCL_NAMESPACE_BEGIN @@ -239,9 +235,7 @@ typedef struct ShaderData { /* SVM closure data. we always sample a single closure, to get fixed * memory usage, svm_closure_data contains closure parameters. */ -#ifndef __KERNEL_OPENCL__ ClosureType svm_closure; -#endif float3 svm_closure_weight; float svm_closure_data[3]; /* CUDA gives compile error if out of bounds */ @@ -291,11 +285,15 @@ typedef struct KernelCamera { float shutterclose; /* differentials */ - float3 dx, dy; + float3 dx; + float pad1; + float3 dy; + float pad2; /* clipping */ float nearclip; float cliplength; + float pad3, pad4; /* more matrices */ Transform screentoworld; @@ -321,13 +319,14 @@ typedef struct KernelBackground { typedef struct KernelSunSky { /* sun direction in spherical and cartesian */ - float theta, phi; + float theta, phi, pad3, pad4; float3 dir; float pad; /* perez function parameters */ - float zenith_Y, zenith_x, zenith_y; + float zenith_Y, zenith_x, zenith_y, pad2; float perez_Y[5], perez_x[5], perez_y[5]; + float pad5; } KernelSunSky; typedef struct KernelIntegrator { @@ -348,7 +347,7 @@ typedef struct KernelIntegrator { float blur_caustics; /* padding */ - int pad; + int pad[2]; } KernelIntegrator; typedef struct KernelBVH { diff --git a/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h b/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h index 40bae72a6c5..04e4ccb8313 100644 --- a/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h +++ b/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h @@ -139,8 +139,8 @@ __device int bsdf_ashikhmin_velvet_sample(const ShaderData *sd, float randu, flo // TODO: find a better approximation for the retroreflective bounce *domega_in_dx = (2 * dot(m_N, sd->dI.dx)) * m_N - sd->dI.dx; *domega_in_dy = (2 * dot(m_N, sd->dI.dy)) * m_N - sd->dI.dy; - *domega_in_dx *= 125; - *domega_in_dy *= 125; + *domega_in_dx *= 125.0f; + *domega_in_dy *= 125.0f; #endif } else *pdf = 0.0f; diff --git a/intern/cycles/kernel/svm/bsdf_diffuse.h b/intern/cycles/kernel/svm/bsdf_diffuse.h index c505de036aa..00493e72203 100644 --- a/intern/cycles/kernel/svm/bsdf_diffuse.h +++ b/intern/cycles/kernel/svm/bsdf_diffuse.h @@ -88,8 +88,8 @@ __device int bsdf_diffuse_sample(const ShaderData *sd, float randu, float randv, // TODO: find a better approximation for the diffuse bounce *domega_in_dx = (2 * dot(m_N, sd->dI.dx)) * m_N - sd->dI.dx; *domega_in_dy = (2 * dot(m_N, sd->dI.dy)) * m_N - sd->dI.dy; - *domega_in_dx *= 125; - *domega_in_dy *= 125; + *domega_in_dx *= 125.0f; + *domega_in_dy *= 125.0f; #endif } else @@ -151,8 +151,8 @@ __device int bsdf_translucent_sample(const ShaderData *sd, float randu, float ra // TODO: find a better approximation for the diffuse bounce *domega_in_dx = (2 * dot(m_N, sd->dI.dx)) * m_N - sd->dI.dx; *domega_in_dy = (2 * dot(m_N, sd->dI.dy)) * m_N - sd->dI.dy; - *domega_in_dx *= -125; - *domega_in_dy *= -125; + *domega_in_dx *= -125.0f; + *domega_in_dy *= -125.0f; #endif } else *pdf = 0; diff --git a/intern/cycles/kernel/svm/bsdf_microfacet.h b/intern/cycles/kernel/svm/bsdf_microfacet.h index b6baa1e90d8..a948ba06871 100644 --- a/intern/cycles/kernel/svm/bsdf_microfacet.h +++ b/intern/cycles/kernel/svm/bsdf_microfacet.h @@ -195,8 +195,8 @@ __device int bsdf_microfacet_ggx_sample(const ShaderData *sd, float randu, float // derivatives a bit bigger. In theory this varies with the // roughness but the exact relationship is complex and // requires more ops than are practical. - *domega_in_dx *= 10; - *domega_in_dy *= 10; + *domega_in_dx *= 10.0f; + *domega_in_dy *= 10.0f; #endif } } @@ -246,8 +246,8 @@ __device int bsdf_microfacet_ggx_sample(const ShaderData *sd, float randu, float // derivatives a bit bigger. In theory this varies with the // roughness but the exact relationship is complex and // requires more ops than are practical. - *domega_in_dx *= 10; - *domega_in_dy *= 10; + *domega_in_dx *= 10.0f; + *domega_in_dy *= 10.0f; #endif } } @@ -423,8 +423,8 @@ __device int bsdf_microfacet_beckmann_sample(const ShaderData *sd, float randu, // derivatives a bit bigger. In theory this varies with the // roughness but the exact relationship is complex and // requires more ops than are practical. - *domega_in_dx *= 10; - *domega_in_dy *= 10; + *domega_in_dx *= 10.0f; + *domega_in_dy *= 10.0f; #endif } } @@ -478,8 +478,8 @@ __device int bsdf_microfacet_beckmann_sample(const ShaderData *sd, float randu, // derivatives a bit bigger. In theory this varies with the // roughness but the exact relationship is complex and // requires more ops than are practical. - *domega_in_dx *= 10; - *domega_in_dy *= 10; + *domega_in_dx *= 10.0f; + *domega_in_dy *= 10.0f; #endif } } diff --git a/intern/cycles/kernel/svm/bsdf_ward.h b/intern/cycles/kernel/svm/bsdf_ward.h index bf591acc9fa..9f857b32468 100644 --- a/intern/cycles/kernel/svm/bsdf_ward.h +++ b/intern/cycles/kernel/svm/bsdf_ward.h @@ -187,8 +187,8 @@ __device int bsdf_ward_sample(const ShaderData *sd, float randu, float randv, fl // derivatives a bit bigger. In theory this varies with the // roughness but the exact relationship is complex and // requires more ops than are practical. - *domega_in_dx *= 10; - *domega_in_dy *= 10; + *domega_in_dx *= 10.0f; + *domega_in_dy *= 10.0f; #endif } } diff --git a/intern/cycles/kernel/svm/bsdf_westin.h b/intern/cycles/kernel/svm/bsdf_westin.h index 7fe10f10dfc..6031012d0ca 100644 --- a/intern/cycles/kernel/svm/bsdf_westin.h +++ b/intern/cycles/kernel/svm/bsdf_westin.h @@ -122,8 +122,8 @@ __device int bsdf_westin_backscatter_sample(const ShaderData *sd, float randu, f // derivatives a bit bigger. In theory this varies with the // exponent but the exact relationship is complex and // requires more ops than are practical. - *domega_in_dx *= 10; - *domega_in_dy *= 10; + *domega_in_dx *= 10.0f; + *domega_in_dy *= 10.0f; #endif } } @@ -198,8 +198,8 @@ __device int bsdf_westin_sheen_sample(const ShaderData *sd, float randu, float r // TODO: find a better approximation for the diffuse bounce *domega_in_dx = (2 * dot(m_N, sd->dI.dx)) * m_N - sd->dI.dx; *domega_in_dy = (2 * dot(m_N, sd->dI.dy)) * m_N - sd->dI.dy; - *domega_in_dx *= 125; - *domega_in_dy *= 125; + *domega_in_dx *= 125.0f; + *domega_in_dy *= 125.0f; #endif } else pdf = 0; diff --git a/intern/cycles/kernel/svm/svm_blend.h b/intern/cycles/kernel/svm/svm_blend.h index b1be7b7f6bc..97fa4aff9e7 100644 --- a/intern/cycles/kernel/svm/svm_blend.h +++ b/intern/cycles/kernel/svm/svm_blend.h @@ -41,7 +41,7 @@ __device float svm_blend(float3 p, NodeBlendType type, NodeBlendAxis axis) return r*r; } else if(type == NODE_BLEND_EASING) { - float r = min(fmaxf((1.0f + x)/2.0f, 0.0f), 1.0f); + float r = fminf(fmaxf((1.0f + x)/2.0f, 0.0f), 1.0f); float t = r*r; return (3.0f*t - 2.0f*t*r); diff --git a/intern/cycles/kernel/svm/svm_displace.h b/intern/cycles/kernel/svm/svm_displace.h index db8a8a13289..b1677f67eca 100644 --- a/intern/cycles/kernel/svm/svm_displace.h +++ b/intern/cycles/kernel/svm/svm_displace.h @@ -34,8 +34,9 @@ __device void svm_node_set_bump(ShaderData *sd, float *stack, uint c_offset, uin float3 surfgrad = (h_x - h_c)*Rx + (h_y - h_c)*Ry; surfgrad *= 0.1f; /* todo: remove this factor */ - - sd->N = normalize(fabsf(det)*sd->N - signf(det)*surfgrad); + + float absdet = fabsf(det); + sd->N = normalize(absdet*sd->N - signf(det)*surfgrad); #endif } diff --git a/intern/cycles/kernel/svm/svm_distorted_noise.h b/intern/cycles/kernel/svm/svm_distorted_noise.h index 469313e377d..7518a3a9d2d 100644 --- a/intern/cycles/kernel/svm/svm_distorted_noise.h +++ b/intern/cycles/kernel/svm/svm_distorted_noise.h @@ -23,12 +23,13 @@ CCL_NAMESPACE_BEGIN __device float svm_distorted_noise(float3 p, float size, NodeNoiseBasis basis, NodeNoiseBasis distortion_basis, float distortion) { float3 r; + float3 offset = make_float3(13.5f, 13.5f, 13.5f); p /= size; - r.x = noise_basis(p + make_float3(13.5f, 13.5f, 13.5f), basis) * distortion; + r.x = noise_basis(p + offset, basis) * distortion; r.y = noise_basis(p, basis) * distortion; - r.z = noise_basis(p - make_float3(13.5f, 13.5f, 13.5f), basis) * distortion; + r.z = noise_basis(p - offset, basis) * distortion; return noise_basis(p + r, distortion_basis); /* distorted-domain noise */ } diff --git a/intern/cycles/kernel/svm/svm_image.h b/intern/cycles/kernel/svm/svm_image.h index 88f0b582442..586e35c6465 100644 --- a/intern/cycles/kernel/svm/svm_image.h +++ b/intern/cycles/kernel/svm/svm_image.h @@ -31,6 +31,9 @@ __device float4 svm_image_texture(KernelGlobals *kg, int id, float x, float y) also note that cuda has 128 textures limit, we use 100 now, since we still need some for other storage */ +#ifdef __KERNEL_OPENCL__ + r = make_float4(0.0f, 0.0f, 0.0f, 0.0f); /* todo */ +#else switch(id) { case 0: r = kernel_tex_image_interp(__tex_image_000, x, y); break; case 1: r = kernel_tex_image_interp(__tex_image_001, x, y); break; @@ -136,6 +139,7 @@ __device float4 svm_image_texture(KernelGlobals *kg, int id, float x, float y) kernel_assert(0); return make_float4(0.0f, 0.0f, 0.0f, 0.0f); } +#endif return r; } @@ -151,8 +155,11 @@ __device void svm_node_tex_image(KernelGlobals *kg, ShaderData *sd, float *stack float4 f = svm_image_texture(kg, id, co.x, co.y); float3 r = make_float3(f.x, f.y, f.z); - if(srgb) - r = color_srgb_to_scene_linear(r); + if(srgb) { + r.x = color_srgb_to_scene_linear(r.x); + r.y = color_srgb_to_scene_linear(r.y); + r.z = color_srgb_to_scene_linear(r.z); + } stack_store_float3(stack, out_offset, r); } @@ -170,8 +177,11 @@ __device void svm_node_tex_environment(KernelGlobals *kg, ShaderData *sd, float float4 f = svm_image_texture(kg, id, u, v); float3 r = make_float3(f.x, f.y, f.z); - if(srgb) - r = color_srgb_to_scene_linear(r); + if(srgb) { + r.x = color_srgb_to_scene_linear(r.x); + r.y = color_srgb_to_scene_linear(r.y); + r.z = color_srgb_to_scene_linear(r.z); + } stack_store_float3(stack, out_offset, r); } diff --git a/intern/cycles/kernel/svm/svm_mix.h b/intern/cycles/kernel/svm/svm_mix.h index 5a8ca2f76dd..c9e6cdf43b9 100644 --- a/intern/cycles/kernel/svm/svm_mix.h +++ b/intern/cycles/kernel/svm/svm_mix.h @@ -41,7 +41,8 @@ __device float3 rgb_to_hsv(float3 rgb) h = 0.0f; } else { - c = (make_float3(cmax, cmax, cmax) - rgb)/cdelta; + float3 cmax3 = make_float3(cmax, cmax, cmax); + c = (cmax3 - rgb)/cdelta; if(rgb.x == cmax) h = c.z - c.y; else if(rgb.y == cmax) h = 2.0f + c.x - c.z; @@ -91,26 +92,33 @@ __device float3 hsv_to_rgb(float3 hsv) return rgb; } +__device float3 svm_lerp(const float3 a, const float3 b, float t) +{ + return (a * (1.0f - t) + b * t); +} + __device float3 svm_mix_blend(float t, float3 col1, float3 col2) { - return lerp(col1, col2, t); + return svm_lerp(col1, col2, t); } __device float3 svm_mix_add(float t, float3 col1, float3 col2) { - return lerp(col1, col1 + col2, t); + return svm_lerp(col1, col1 + col2, t); } __device float3 svm_mix_mul(float t, float3 col1, float3 col2) { - return lerp(col1, col1 * col2, t); + return svm_lerp(col1, col1 * col2, t); } __device float3 svm_mix_screen(float t, float3 col1, float3 col2) { float tm = 1.0f - t; + float3 one = make_float3(1.0f, 1.0f, 1.0f); + float3 tm3 = make_float3(tm, tm, tm); - return make_float3(1.0f, 1.0f, 1.0f) - (make_float3(tm, tm, tm) + t*(make_float3(1.0f, 1.0f, 1.0f) - col2))*(make_float3(1.0f, 1.0f, 1.0f) - col1); + return one - (tm3 + t*(one - col2))*(one - col1); } __device float3 svm_mix_overlay(float t, float3 col1, float3 col2) @@ -139,7 +147,7 @@ __device float3 svm_mix_overlay(float t, float3 col1, float3 col2) __device float3 svm_mix_sub(float t, float3 col1, float3 col2) { - return lerp(col1, col1 - col2, t); + return svm_lerp(col1, col1 - col2, t); } __device float3 svm_mix_div(float t, float3 col1, float3 col2) @@ -157,7 +165,7 @@ __device float3 svm_mix_div(float t, float3 col1, float3 col2) __device float3 svm_mix_diff(float t, float3 col1, float3 col2) { - return lerp(col1, fabs(col1 - col2), t); + return svm_lerp(col1, fabs(col1 - col2), t); } __device float3 svm_mix_dark(float t, float3 col1, float3 col2) @@ -255,7 +263,7 @@ __device float3 svm_mix_hue(float t, float3 col1, float3 col2) hsv.x = hsv2.x; float3 tmp = hsv_to_rgb(hsv); - outcol = lerp(outcol, tmp, t); + outcol = svm_lerp(outcol, tmp, t); } return outcol; @@ -302,7 +310,7 @@ __device float3 svm_mix_color(float t, float3 col1, float3 col2) hsv.y = hsv2.y; float3 tmp = hsv_to_rgb(hsv); - outcol = lerp(outcol, tmp, t); + outcol = svm_lerp(outcol, tmp, t); } return outcol; diff --git a/intern/cycles/kernel/svm/svm_sky.h b/intern/cycles/kernel/svm/svm_sky.h index dd02cb64cd7..eaba4d18365 100644 --- a/intern/cycles/kernel/svm/svm_sky.h +++ b/intern/cycles/kernel/svm/svm_sky.h @@ -49,7 +49,7 @@ __device float sky_angle_between(float thetav, float phiv, float theta, float ph return safe_acosf(cospsi); } -__device float sky_perez_function(float lam[5], float theta, float gamma) +__device float sky_perez_function(__constant float *lam, float theta, float gamma) { float ctheta = cosf(theta); float cgamma = cosf(gamma); diff --git a/intern/cycles/kernel/svm/svm_texture.h b/intern/cycles/kernel/svm/svm_texture.h index c5ded6d975f..d4765cca384 100644 --- a/intern/cycles/kernel/svm/svm_texture.h +++ b/intern/cycles/kernel/svm/svm_texture.h @@ -69,7 +69,7 @@ __device void voronoi(float3 p, NodeDistanceMetric distance_metric, float e, flo float3 pd = p - (vp + ip); float d = voronoi_distance(distance_metric, pd, e); - vp += make_float3((float)xx, (float)yy, (float)zz); + vp += ip; if(d < da[0]) { da[3] = da[2]; diff --git a/intern/cycles/kernel/svm/svm_types.h b/intern/cycles/kernel/svm/svm_types.h index aa58aba79c9..769ccfc9bc0 100644 --- a/intern/cycles/kernel/svm/svm_types.h +++ b/intern/cycles/kernel/svm/svm_types.h @@ -35,7 +35,7 @@ CCL_NAMESPACE_BEGIN * happens i have no idea, but consecutive values are problematic, maybe it * generates an incorrect jump table. */ -enum NodeType { +typedef enum NodeType { NODE_END = 0, NODE_CLOSURE_BSDF = 100, NODE_CLOSURE_EMISSION = 200, @@ -82,23 +82,23 @@ enum NodeType { NODE_ATTR_BUMP_DX = 4400, NODE_ATTR_BUMP_DY = 4500, NODE_TEX_ENVIRONMENT = 4600 -}; +} NodeType; -enum NodeAttributeType { +typedef enum NodeAttributeType { NODE_ATTR_FLOAT = 0, NODE_ATTR_FLOAT3 -}; +} NodeAttributeType; -enum NodeGeometry { +typedef enum NodeGeometry { NODE_GEOM_P = 0, NODE_GEOM_N, NODE_GEOM_T, NODE_GEOM_I, NODE_GEOM_Ng, NODE_GEOM_uv -}; +} NodeGeometry; -enum NodeLightPath { +typedef enum NodeLightPath { NODE_LP_camera = 0, NODE_LP_shadow, NODE_LP_diffuse, @@ -106,16 +106,16 @@ enum NodeLightPath { NODE_LP_reflection, NODE_LP_transmission, NODE_LP_backfacing -}; +} NodeLightPath; -enum NodeTexCoord { +typedef enum NodeTexCoord { NODE_TEXCO_OBJECT, NODE_TEXCO_CAMERA, NODE_TEXCO_WINDOW, NODE_TEXCO_REFLECTION -}; +} NodeTexCoord; -enum NodeMix { +typedef enum NodeMix { NODE_MIX_BLEND = 0, NODE_MIX_ADD, NODE_MIX_MUL, @@ -134,9 +134,9 @@ enum NodeMix { NODE_MIX_COLOR, NODE_MIX_SOFT, NODE_MIX_LINEAR -}; +} NodeMix; -enum NodeMath { +typedef enum NodeMath { NODE_MATH_ADD, NODE_MATH_SUBTRACT, NODE_MATH_MULTIPLY, @@ -154,24 +154,24 @@ enum NodeMath { NODE_MATH_ROUND, NODE_MATH_LESS_THAN, NODE_MATH_GREATER_THAN -}; +} NodeMath; -enum NodeVectorMath { +typedef enum NodeVectorMath { NODE_VECTOR_MATH_ADD, NODE_VECTOR_MATH_SUBTRACT, NODE_VECTOR_MATH_AVERAGE, NODE_VECTOR_MATH_DOT_PRODUCT, NODE_VECTOR_MATH_CROSS_PRODUCT, NODE_VECTOR_MATH_NORMALIZE -}; +} NodeVectorMath; -enum NodeConvert { +typedef enum NodeConvert { NODE_CONVERT_FV, NODE_CONVERT_CF, NODE_CONVERT_VF -}; +} NodeConvert; -enum NodeDistanceMetric { +typedef enum NodeDistanceMetric { NODE_VORONOI_DISTANCE_SQUARED, NODE_VORONOI_ACTUAL_DISTANCE, NODE_VORONOI_MANHATTAN, @@ -179,9 +179,9 @@ enum NodeDistanceMetric { NODE_VORONOI_MINKOVSKY_H, NODE_VORONOI_MINKOVSKY_4, NODE_VORONOI_MINKOVSKY -}; +} NodeDistanceMetric; -enum NodeNoiseBasis { +typedef enum NodeNoiseBasis { NODE_NOISE_PERLIN, NODE_NOISE_VORONOI_F1, NODE_NOISE_VORONOI_F2, @@ -190,30 +190,30 @@ enum NodeNoiseBasis { NODE_NOISE_VORONOI_F2_F1, NODE_NOISE_VORONOI_CRACKLE, NODE_NOISE_CELL_NOISE -}; +} NodeNoiseBasis; -enum NodeWaveType { +typedef enum NodeWaveType { NODE_WAVE_SINE, NODE_WAVE_SAW, NODE_WAVE_TRI -}; +} NodeWaveType; -enum NodeMusgraveType { +typedef enum NodeMusgraveType { NODE_MUSGRAVE_MULTIFRACTAL, NODE_MUSGRAVE_FBM, NODE_MUSGRAVE_HYBRID_MULTIFRACTAL, NODE_MUSGRAVE_RIDGED_MULTIFRACTAL, NODE_MUSGRAVE_HETERO_TERRAIN -}; +} NodeMusgraveType; -enum NodeWoodType { +typedef enum NodeWoodType { NODE_WOOD_BANDS, NODE_WOOD_RINGS, NODE_WOOD_BAND_NOISE, NODE_WOOD_RING_NOISE -}; +} NodeWoodType; -enum NodeBlendType { +typedef enum NodeBlendType { NODE_BLEND_LINEAR, NODE_BLEND_QUADRATIC, NODE_BLEND_EASING, @@ -221,37 +221,37 @@ enum NodeBlendType { NODE_BLEND_RADIAL, NODE_BLEND_QUADRATIC_SPHERE, NODE_BLEND_SPHERICAL -}; +} NodeBlendType; -enum NodeBlendAxis { +typedef enum NodeBlendAxis { NODE_BLEND_HORIZONTAL, NODE_BLEND_VERTICAL -}; +} NodeBlendAxis; -enum NodeMarbleType { +typedef enum NodeMarbleType { NODE_MARBLE_SOFT, NODE_MARBLE_SHARP, NODE_MARBLE_SHARPER -}; +} NodeMarbleType; -enum NodeStucciType { +typedef enum NodeStucciType { NODE_STUCCI_PLASTIC, NODE_STUCCI_WALL_IN, NODE_STUCCI_WALL_OUT -}; +} NodeStucciType; -enum NodeVoronoiColoring { +typedef enum NodeVoronoiColoring { NODE_VORONOI_INTENSITY, NODE_VORONOI_POSITION, NODE_VORONOI_POSITION_OUTLINE, NODE_VORONOI_POSITION_OUTLINE_INTENSITY -}; +} NodeVoronoiColoring; -enum ShaderType { +typedef enum ShaderType { SHADER_TYPE_SURFACE, SHADER_TYPE_VOLUME, SHADER_TYPE_DISPLACEMENT -}; +} ShaderType; /* Closure */ diff --git a/intern/cycles/util/util_color.h b/intern/cycles/util/util_color.h index 60b738bfc51..a11a5c7c2a7 100644 --- a/intern/cycles/util/util_color.h +++ b/intern/cycles/util/util_color.h @@ -40,6 +40,8 @@ __device float color_scene_linear_to_srgb(float c) return 1.055f * pow(c, 1.0f/2.4f) - 0.055f; } +#ifndef __KERNEL_OPENCL__ + __device float3 color_srgb_to_scene_linear(float3 c) { return make_float3( @@ -56,6 +58,8 @@ __device float3 color_scene_linear_to_srgb(float3 c) color_scene_linear_to_srgb(c.z)); } +#endif + CCL_NAMESPACE_END #endif /* __UTIL_COLOR_H__ */ diff --git a/intern/cycles/util/util_math.h b/intern/cycles/util/util_math.h index 3475e309af5..e6dd00fd86b 100644 --- a/intern/cycles/util/util_math.h +++ b/intern/cycles/util/util_math.h @@ -506,13 +506,13 @@ __device_inline float3 fabs(float3 a) return make_float3(fabsf(a.x), fabsf(a.y), fabsf(a.z)); } -__device_inline float3 as_float3(const float4& a) +#endif + +__device_inline float3 float4_to_float3(const float4 a) { return make_float3(a.x, a.y, a.z); } -#endif - #ifndef __KERNEL_GPU__ __device_inline void print_float3(const char *label, const float3& a) From 4bb582effb23597ec819624c02f8ae516888a35e Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 27 May 2011 09:38:49 +0000 Subject: [PATCH 041/241] Cycles: some mix node blend modes not working correct: subtract, screen, divide, difference, darken, lighten, overlay patch by Sanne, thanks! --- intern/cycles/kernel/svm/svm_types.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/intern/cycles/kernel/svm/svm_types.h b/intern/cycles/kernel/svm/svm_types.h index 769ccfc9bc0..5cbd05e4400 100644 --- a/intern/cycles/kernel/svm/svm_types.h +++ b/intern/cycles/kernel/svm/svm_types.h @@ -119,13 +119,13 @@ typedef enum NodeMix { NODE_MIX_BLEND = 0, NODE_MIX_ADD, NODE_MIX_MUL, - NODE_MIX_SCREEN, - NODE_MIX_OVERLAY, NODE_MIX_SUB, + NODE_MIX_SCREEN, NODE_MIX_DIV, NODE_MIX_DIFF, NODE_MIX_DARK, NODE_MIX_LIGHT, + NODE_MIX_OVERLAY, NODE_MIX_DODGE, NODE_MIX_BURN, NODE_MIX_HUE, From 7e4ba190cb976cd7a8278a2974bae328de6f2f17 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 27 May 2011 12:13:10 +0000 Subject: [PATCH 042/241] Cycles: fix GLEW library build issue. --- intern/cycles/app/CMakeLists.txt | 2 +- intern/cycles/blender/CMakeLists.txt | 2 +- intern/cycles/cmake/external_libs.cmake | 10 ++++++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/intern/cycles/app/CMakeLists.txt b/intern/cycles/app/CMakeLists.txt index 0934124ea25..c250662aecf 100644 --- a/intern/cycles/app/CMakeLists.txt +++ b/intern/cycles/app/CMakeLists.txt @@ -18,7 +18,7 @@ SET(LIBRARIES cycles_util ${Boost_LIBRARIES} ${OPENGL_LIBRARIES} - ${GLEW_LIBRARY} + ${CYCLES_GLEW_LIBRARY} ${OPENIMAGEIO_LIBRARY}) IF(WITH_CYCLES_TEST) diff --git a/intern/cycles/blender/CMakeLists.txt b/intern/cycles/blender/CMakeLists.txt index 56d08b61b65..784f78a54d4 100644 --- a/intern/cycles/blender/CMakeLists.txt +++ b/intern/cycles/blender/CMakeLists.txt @@ -43,7 +43,7 @@ SET(LIBRARIES ${OPENGL_LIBRARIES} ${OPENIMAGEIO_LIBRARY} ${GLUT_LIBRARIES} - ${GLEW_LIBRARIES} + ${CYCLES_GLEW_LIBRARY} ${BLENDER_LIBRARIES}) IF(WITH_CYCLES_OSL) diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake index cfd997a6469..fbda3ac2e34 100644 --- a/intern/cycles/cmake/external_libs.cmake +++ b/intern/cycles/cmake/external_libs.cmake @@ -62,6 +62,12 @@ IF(WITH_CYCLES_TEST) INCLUDE_DIRECTORIES(${GLUT_INCLUDE_DIR}) ENDIF() +IF(WITH_BUILTIN_GLEW) + SET(CYCLES_GLEW_LIBRARY extern_glew) +ELSE() + SET(CYCLES_GLEW_LIBRARY ${GLEW_LIBRARY}) +ENDIF() + ########################################################################### # OpenShadingLanguage @@ -165,12 +171,12 @@ IF(WITH_CYCLES_OPENCL) IF(WIN32) SET(OPENCL_INCLUDES "") - SET(OPENCL_LIRBARIES "OpenCL") + SET(OPENCL_LIBRARIES "OpenCL") ENDIF() IF(UNIX AND NOT APPLE) SET(OPENCL_INCLUDES ${CYCLES_OPENCL}) - SET(OPENCL_LIRBARIES "OpenCL") + SET(OPENCL_LIBRARIES "OpenCL") ENDIF() ADD_DEFINITIONS(-DWITH_OPENCL) From 89983a2187863b9fbd72f5b1b45aadf2c930aba3 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 31 May 2011 09:47:19 +0000 Subject: [PATCH 043/241] Cycles: fix compile error for cycles_test. --- intern/cycles/util/util_view.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/intern/cycles/util/util_view.cpp b/intern/cycles/util/util_view.cpp index 2c6251b02ee..0b311b0331a 100644 --- a/intern/cycles/util/util_view.cpp +++ b/intern/cycles/util/util_view.cpp @@ -20,16 +20,16 @@ #include #include +#include "util_opengl.h" +#include "util_time.h" +#include "util_view.h" + #ifdef __APPLE__ #include #else #include #endif -#include "util_opengl.h" -#include "util_time.h" -#include "util_view.h" - CCL_NAMESPACE_BEGIN /* structs */ From d404c31e8d002a00229bdd91769ca30c6a0e3e4d Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 31 May 2011 10:41:01 +0000 Subject: [PATCH 044/241] Cycles: fix sync issue with group instances. --- intern/cycles/blender/blender_object.cpp | 10 +++++----- intern/cycles/blender/blender_sync.h | 4 ++-- intern/cycles/blender/blender_util.h | 9 ++++++--- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp index 51fd743956d..932cb2bad41 100644 --- a/intern/cycles/blender/blender_object.cpp +++ b/intern/cycles/blender/blender_object.cpp @@ -65,13 +65,13 @@ bool BlenderSync::object_is_light(BL::Object b_ob) /* Light */ -void BlenderSync::sync_light(BL::Object b_ob, Transform& tfm) +void BlenderSync::sync_light(BL::Object b_parent, int b_index, BL::Object b_ob, Transform& tfm) { /* test if we need to sync */ Light *light; + ObjectKey key(b_parent, b_index, b_ob); - /* todo: account for instancing */ - if(!light_map.sync(&light, b_ob)) + if(!light_map.sync(&light, b_ob, b_parent, key)) return; /* location */ @@ -98,7 +98,7 @@ void BlenderSync::sync_object(BL::Object b_parent, int b_index, BL::Object b_ob, { /* light is handled separately */ if(object_is_light(b_ob)) { - sync_light(b_ob, tfm); + sync_light(b_parent, b_index, b_ob, tfm); return; } @@ -112,7 +112,7 @@ void BlenderSync::sync_object(BL::Object b_parent, int b_index, BL::Object b_ob, bool object_updated = false; /* object sync */ - if(object_map.sync(&object, b_ob, key)) { + if(object_map.sync(&object, b_ob, b_parent, key)) { object->name = b_ob.name(); object->tfm = tfm; object->tag_update(scene); diff --git a/intern/cycles/blender/blender_sync.h b/intern/cycles/blender/blender_sync.h index f1fce37bfaf..732a1b30260 100644 --- a/intern/cycles/blender/blender_sync.h +++ b/intern/cycles/blender/blender_sync.h @@ -76,7 +76,7 @@ private: void sync_nodes(Shader *shader, BL::ShaderNodeTree b_ntree); Mesh *sync_mesh(BL::Object b_ob, bool object_updated); void sync_object(BL::Object b_parent, int b_index, BL::Object b_object, Transform& tfm); - void sync_light(BL::Object b_ob, Transform& tfm); + void sync_light(BL::Object b_parent, int b_index, BL::Object b_ob, Transform& tfm); /* util */ void find_shader(BL::ID id, vector& used_shaders); @@ -91,7 +91,7 @@ private: id_map shader_map; id_map object_map; id_map mesh_map; - id_map light_map; + id_map light_map; void *world_map; bool world_recalc; diff --git a/intern/cycles/blender/blender_util.h b/intern/cycles/blender/blender_util.h index 715dc7e6fb0..354a195758f 100644 --- a/intern/cycles/blender/blender_util.h +++ b/intern/cycles/blender/blender_util.h @@ -225,10 +225,10 @@ public: bool sync(T **r_data, BL::ID id) { - return sync(r_data, id, id.ptr.id.data); + return sync(r_data, id, id, id.ptr.id.data); } - bool sync(T **r_data, BL::ID id, const K& key) + bool sync(T **r_data, BL::ID id, BL::ID parent, const K& key) { T *data = find(key); bool recalc; @@ -240,8 +240,11 @@ public: b_map[key] = data; recalc = true; } - else + else { recalc = (b_recalc.find(id.ptr.data) != b_recalc.end()); + if(parent.ptr.data) + recalc = recalc || (b_recalc.find(parent.ptr.data) != b_recalc.end()); + } used(data); From 20746f6bb05dbcfbc3d425cbf3cd6bf163dbc76e Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 31 May 2011 10:57:43 +0000 Subject: [PATCH 045/241] Cycles: fix instanced mesh sync being a bit too slow. --- intern/cycles/blender/blender_mesh.cpp | 6 ++++++ intern/cycles/blender/blender_object.cpp | 2 ++ intern/cycles/blender/blender_sync.h | 1 + 3 files changed, 9 insertions(+) diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp index e18a67bed8f..36f87a6100a 100644 --- a/intern/cycles/blender/blender_mesh.cpp +++ b/intern/cycles/blender/blender_mesh.cpp @@ -252,6 +252,12 @@ Mesh *BlenderSync::sync_mesh(BL::Object b_ob, bool object_updated) } } + /* ensure we only sync instanced meshes once */ + if(mesh_synced.find(mesh) != mesh_synced.end()) + return mesh; + + mesh_synced.insert(mesh); + /* create derived mesh */ BL::Mesh b_mesh = object_to_mesh(b_ob, b_scene, true, !preview); /* todo: this will crash on non-mesh types! */ diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp index 932cb2bad41..241cbf07357 100644 --- a/intern/cycles/blender/blender_object.cpp +++ b/intern/cycles/blender/blender_object.cpp @@ -139,6 +139,7 @@ void BlenderSync::sync_objects(BL::SpaceView3D b_v3d) light_map.pre_sync(); mesh_map.pre_sync(); object_map.pre_sync(); + mesh_synced.clear(); /* object loop */ BL::Scene::objects_iterator b_ob; @@ -177,6 +178,7 @@ void BlenderSync::sync_objects(BL::SpaceView3D b_v3d) scene->mesh_manager->tag_update(scene); if(object_map.post_sync()) scene->object_manager->tag_update(scene); + mesh_synced.clear(); } CCL_NAMESPACE_END diff --git a/intern/cycles/blender/blender_sync.h b/intern/cycles/blender/blender_sync.h index 732a1b30260..16ce1998a24 100644 --- a/intern/cycles/blender/blender_sync.h +++ b/intern/cycles/blender/blender_sync.h @@ -92,6 +92,7 @@ private: id_map object_map; id_map mesh_map; id_map light_map; + set mesh_synced; void *world_map; bool world_recalc; From e2f2626179b4d6f81c8738a0c3cc97779a4796e1 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 31 May 2011 11:12:42 +0000 Subject: [PATCH 046/241] Cycles: fix crash syncing curve/text object with no verts/faces. --- intern/cycles/blender/blender_mesh.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp index 36f87a6100a..c69e911723e 100644 --- a/intern/cycles/blender/blender_mesh.cpp +++ b/intern/cycles/blender/blender_mesh.cpp @@ -260,7 +260,6 @@ Mesh *BlenderSync::sync_mesh(BL::Object b_ob, bool object_updated) /* create derived mesh */ BL::Mesh b_mesh = object_to_mesh(b_ob, b_scene, true, !preview); - /* todo: this will crash on non-mesh types! */ PointerRNA cmesh = RNA_pointer_get(&b_ob_data.ptr, "cycles"); vector oldtriangle = mesh->triangles; @@ -269,13 +268,15 @@ Mesh *BlenderSync::sync_mesh(BL::Object b_ob, bool object_updated) mesh->used_shaders = used_shaders; mesh->name = ustring(b_ob_data.name()); - if(cmesh.data && RNA_boolean_get(&cmesh, "use_subdivision")) - create_subd_mesh(mesh, b_mesh, &cmesh, used_shaders); - else - create_mesh(scene, mesh, b_mesh, used_shaders); + if(b_mesh) { + if(cmesh.data && RNA_boolean_get(&cmesh, "use_subdivision")) + create_subd_mesh(mesh, b_mesh, &cmesh, used_shaders); + else + create_mesh(scene, mesh, b_mesh, used_shaders); - /* free derived mesh */ - object_remove_mesh(b_data, b_mesh); + /* free derived mesh */ + object_remove_mesh(b_data, b_mesh); + } /* displacement method */ if(cmesh.data) { From eedcba7ed57e85b01b4aa5bc106502178835e6ae Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 31 May 2011 11:28:04 +0000 Subject: [PATCH 047/241] Cycles: for material/world/lamps, if use_nodes is disabled, show some default shaders instead of black. --- intern/cycles/blender/blender_shader.cpp | 38 ++++++++++++++++++++---- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index c23f9a4cd95..113cf2a91bc 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -535,15 +535,24 @@ void BlenderSync::sync_materials() if(shader_map.sync(&shader, *b_mat)) { ShaderGraph *graph = new ShaderGraph(); - /* create nodes */ - if(b_mat && b_mat->node_tree()) { - shader->name = b_mat->name(); + shader->name = b_mat->name(); + /* create nodes */ + if(b_mat->use_nodes() && b_mat->node_tree()) { PtrSockMap sock_to_node; BL::ShaderNodeTree b_ntree(b_mat->node_tree()); add_nodes(b_data, graph, b_ntree, NULL, sock_to_node); } + else { + ShaderNode *closure, *out; + + closure = graph->add(new DiffuseBsdfNode()); + closure->input("Color")->value = get_float3(b_mat->diffuse_color()); + out = graph->output(); + + graph->connect(closure->output("BSDF"), out->input("Surface")); + } shader->set_graph(graph); shader->tag_update(scene); @@ -565,12 +574,21 @@ void BlenderSync::sync_world() ShaderGraph *graph = new ShaderGraph(); /* create nodes */ - if(b_world && b_world.node_tree()) { + if(b_world && b_world.use_nodes() && b_world.node_tree()) { PtrSockMap sock_to_node; BL::ShaderNodeTree b_ntree(b_world.node_tree()); add_nodes(b_data, graph, b_ntree, NULL, sock_to_node); } + else if(b_world) { + ShaderNode *closure, *out; + + closure = graph->add(new BackgroundNode()); + closure->input("Color")->value = get_float3(b_world.horizon_color()); + out = graph->output(); + + graph->connect(closure->output("Background"), out->input("Surface")); + } shader->set_graph(graph); shader->tag_update(scene); @@ -600,7 +618,7 @@ void BlenderSync::sync_lamps() ShaderGraph *graph = new ShaderGraph(); /* create nodes */ - if(b_lamp && b_lamp->node_tree()) { + if(b_lamp->use_nodes() && b_lamp->node_tree()) { shader->name = b_lamp->name(); PtrSockMap sock_to_node; @@ -608,6 +626,16 @@ void BlenderSync::sync_lamps() add_nodes(b_data, graph, b_ntree, NULL, sock_to_node); } + else { + ShaderNode *closure, *out; + + closure = graph->add(new EmissionNode()); + closure->input("Color")->value = get_float3(b_lamp->color()); + closure->input("Strength")->value.x = b_lamp->energy()*10.0f; + out = graph->output(); + + graph->connect(closure->output("Emission"), out->input("Surface")); + } shader->set_graph(graph); shader->tag_update(scene); From 64c2d5e90e7ec80eb693c814787d8eee393c3bab Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 31 May 2011 11:31:00 +0000 Subject: [PATCH 048/241] Cycles: more opencl fixes. --- intern/cycles/kernel/kernel_compat_opencl.h | 22 ++++++++++++++++--- intern/cycles/render/attribute.cpp | 5 ++++- intern/cycles/render/shader.cpp | 1 + intern/cycles/util/util_math.h | 24 ++++++++++----------- intern/cycles/util/util_transform.h | 8 +++---- 5 files changed, 40 insertions(+), 20 deletions(-) diff --git a/intern/cycles/kernel/kernel_compat_opencl.h b/intern/cycles/kernel/kernel_compat_opencl.h index e6e54850605..c8be03d7dd0 100644 --- a/intern/cycles/kernel/kernel_compat_opencl.h +++ b/intern/cycles/kernel/kernel_compat_opencl.h @@ -22,10 +22,10 @@ #define __KERNEL_GPU__ #define __KERNEL_OPENCL__ -#include "util_types.h" - CCL_NAMESPACE_BEGIN +#pragma OPENCL EXTENSION cl_khr_byte_addressable_store: enable + #define __device #define __device_inline @@ -42,12 +42,26 @@ __device float kernel_tex_interp_(__global float *data, int width, float x) return (1.0f - t)*data[index] + t*data[nindex]; } -#define make_float3(x, y, z) ((float3)(x, y, z)) /* todo 1.1 */ +#define make_float2(x, y) ((float2)(x, y)) +#define make_float3(x, y, z) ((float3)(x, y, z, 0.0f)) +#define make_float4(x, y, z, w) ((float4)(x, y, z, w)) +#define make_int2(x, y) ((int2)(x, y)) +#define make_int3(x, y, z) ((int3)(x, y, z, 0)) +#define make_int4(x, y, z, w) ((int4)(x, y, z, w)) + +typedef float4 float3; +typedef int4 int3; #define __uint_as_float(x) as_float(x) #define __float_as_uint(x) as_uint(x) #define __int_as_float(x) as_float(x) #define __float_as_int(x) as_int(x) +#define sqrtf(x) sqrt(((float)x)) +#define cosf(x) cos(((float)x)) +#define sinf(x) sin(((float)x)) +#define powf(x, y) pow(((float)x), ((float)y)) +#define fabsf(x) fabs(((float)x)) +#define copysignf(x, y) copysign(((float)x), ((float)y)) #define kernel_data (*kg->data) #define kernel_tex_interp(t, x) \ @@ -57,6 +71,8 @@ __device float kernel_tex_interp_(__global float *data, int width, float x) #define NULL 0 +#include "util_types.h" + CCL_NAMESPACE_END #endif /* __KERNEL_COMPAT_OPENCL_H__ */ diff --git a/intern/cycles/render/attribute.cpp b/intern/cycles/render/attribute.cpp index 815478cb733..aa18ca7d7cb 100644 --- a/intern/cycles/render/attribute.cpp +++ b/intern/cycles/render/attribute.cpp @@ -46,7 +46,10 @@ void Attribute::reserve(int numverts, int numtris) size_t Attribute::data_sizeof() { - return type.size(); + if(type == TypeDesc::TypeFloat) + return sizeof(float); + else + return sizeof(float3); } size_t Attribute::element_size(int numverts, int numtris) diff --git a/intern/cycles/render/shader.cpp b/intern/cycles/render/shader.cpp index 9ea162d3ad0..548beaaecdd 100644 --- a/intern/cycles/render/shader.cpp +++ b/intern/cycles/render/shader.cpp @@ -45,6 +45,7 @@ Shader::Shader() has_displacement = false; need_update = true; + need_update_attributes = true; } Shader::~Shader() diff --git a/intern/cycles/util/util_math.h b/intern/cycles/util/util_math.h index e6dd00fd86b..1bb3f5b6097 100644 --- a/intern/cycles/util/util_math.h +++ b/intern/cycles/util/util_math.h @@ -345,56 +345,56 @@ __device_inline float average(const float3 a) __device_inline float3 operator-(const float3 a) { - float3 r = {-a.x, -a.y, -a.z}; + float3 r = make_float3(-a.x, -a.y, -a.z); return r; } __device_inline float3 operator*(const float3 a, const float3 b) { - float3 r = {a.x*b.x, a.y*b.y, a.z*b.z}; + float3 r = make_float3(a.x*b.x, a.y*b.y, a.z*b.z); return r; } __device_inline float3 operator*(const float3 a, float f) { - float3 r = {a.x*f, a.y*f, a.z*f}; + float3 r = make_float3(a.x*f, a.y*f, a.z*f); return r; } __device_inline float3 operator*(float f, const float3 a) { - float3 r = {a.x*f, a.y*f, a.z*f}; + float3 r = make_float3(a.x*f, a.y*f, a.z*f); return r; } __device_inline float3 operator/(float f, const float3 a) { - float3 r = {f/a.x, f/a.y, f/a.z}; + float3 r = make_float3(f/a.x, f/a.y, f/a.z); return r; } __device_inline float3 operator/(const float3 a, float f) { float invf = 1.0f/f; - float3 r = {a.x*invf, a.y*invf, a.z*invf}; + float3 r = make_float3(a.x*invf, a.y*invf, a.z*invf); return r; } __device_inline float3 operator/(const float3 a, const float3 b) { - float3 r = {a.x/b.x, a.y/b.y, a.z/b.z}; + float3 r = make_float3(a.x/b.x, a.y/b.y, a.z/b.z); return r; } __device_inline float3 operator+(const float3 a, const float3 b) { - float3 r = {a.x+b.x, a.y+b.y, a.z+b.z}; + float3 r = make_float3(a.x+b.x, a.y+b.y, a.z+b.z); return r; } __device_inline float3 operator-(const float3 a, const float3 b) { - float3 r = {a.x-b.x, a.y-b.y, a.z-b.z}; + float3 r = make_float3(a.x-b.x, a.y-b.y, a.z-b.z); return r; } @@ -446,7 +446,7 @@ __device_inline float dot(const float3 a, const float3 b) __device_inline float3 cross(const float3 a, const float3 b) { - float3 r = {a.y*b.z - a.z*b.y, a.z*b.x - a.x*b.z, a.x*b.y - a.y*b.x}; + float3 r = make_float3(a.y*b.z - a.z*b.y, a.z*b.x - a.x*b.z, a.x*b.y - a.y*b.x); return r; } @@ -486,13 +486,13 @@ __device_inline bool operator!=(const float3 a, const float3 b) __device_inline float3 min(float3 a, float3 b) { - float3 r = {min(a.x, b.x), min(a.y, b.y), min(a.z, b.z)}; + float3 r = make_float3(min(a.x, b.x), min(a.y, b.y), min(a.z, b.z)); return r; } __device_inline float3 max(float3 a, float3 b) { - float3 r = {max(a.x, b.x), max(a.y, b.y), max(a.z, b.z)}; + float3 r = make_float3(max(a.x, b.x), max(a.y, b.y), max(a.z, b.z)); return r; } diff --git a/intern/cycles/util/util_transform.h b/intern/cycles/util/util_transform.h index e2b022dc478..e904674a981 100644 --- a/intern/cycles/util/util_transform.h +++ b/intern/cycles/util/util_transform.h @@ -34,16 +34,16 @@ typedef struct Transform { __device_inline float3 transform(const Transform *t, const float3 a) { - float4 b = {a.x, a.y, a.z, 1.0f}; - float3 c = {dot(t->x, b), dot(t->y, b), dot(t->z, b)}; + float4 b = make_float4(a.x, a.y, a.z, 1.0f); + float3 c = make_float3(dot(t->x, b), dot(t->y, b), dot(t->z, b)); return c/dot(t->w, b); } __device_inline float3 transform_direction(const Transform *t, const float3 a) { - float4 b = {a.x, a.y, a.z, 0.0f}; - float3 c = {dot(t->x, b), dot(t->y, b), dot(t->z, b)}; + float4 b = make_float4(a.x, a.y, a.z, 0.0f); + float3 c = make_float3(dot(t->x, b), dot(t->y, b), dot(t->z, b)); return c; } From fc68daff582664bc1ccba57b9408973c5e8d83ec Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 31 May 2011 16:19:02 +0000 Subject: [PATCH 049/241] Cycles: compile warning fixes. --- intern/cycles/blender/blender_python.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/intern/cycles/blender/blender_python.cpp b/intern/cycles/blender/blender_python.cpp index 2397e352114..00d16edbf74 100644 --- a/intern/cycles/blender/blender_python.cpp +++ b/intern/cycles/blender/blender_python.cpp @@ -210,7 +210,7 @@ static PyMethodDef methods[] = { {"sync", sync_func, METH_VARARGS, ""}, {"available_devices", available_devices_func, METH_NOARGS, ""}, {"with_osl", with_osl_func, METH_NOARGS, ""}, - {NULL, NULL}, + {NULL, NULL, 0, NULL}, }; static struct PyModuleDef module = { @@ -218,7 +218,8 @@ static struct PyModuleDef module = { "libcycles_blender", "Blender RNA to render exporter", -1, - methods + methods, + NULL, NULL, NULL, NULL }; CCL_NAMESPACE_END From 966e004bbea6304840cd73f262d91a5e65464e5f Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 31 May 2011 16:21:30 +0000 Subject: [PATCH 050/241] Cycles: OSL build & image manager fixes. --- intern/cycles/CMakeLists.txt | 2 +- intern/cycles/kernel/kernel_compat_opencl.h | 26 ++++++++++++++ intern/cycles/kernel/kernel_globals.h | 14 +++++--- intern/cycles/kernel/osl/osl_services.cpp | 1 + intern/cycles/render/image.cpp | 40 +++++++++++++++++---- intern/cycles/render/image.h | 5 ++- intern/cycles/render/nodes.cpp | 8 ++--- intern/cycles/render/osl.cpp | 6 ++-- intern/cycles/util/util_types.h | 8 +++++ 9 files changed, 90 insertions(+), 20 deletions(-) diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index 5877b26b7f5..38be2f62ec4 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -28,7 +28,7 @@ SET(CYCLES_BOOST "/usr" CACHE PATH "Path to Boost installation") SET(CYCLES_CUDA "/usr/local/cuda" CACHE PATH "Path to CUDA installation") SET(CYCLES_OPENCL "" CACHE PATH "Path to OpenCL installation") SET(CYCLES_PARTIO "" CACHE PATH "Path to Partio installation") -SET(CYCLES_GLEW "" CACHE PATH "Path to GLUT installation") +SET(CYCLES_GLEW "" CACHE PATH "Path to GLEW installation") # Install, todo: deduplicate install path code diff --git a/intern/cycles/kernel/kernel_compat_opencl.h b/intern/cycles/kernel/kernel_compat_opencl.h index c8be03d7dd0..6ff9340e645 100644 --- a/intern/cycles/kernel/kernel_compat_opencl.h +++ b/intern/cycles/kernel/kernel_compat_opencl.h @@ -42,6 +42,25 @@ __device float kernel_tex_interp_(__global float *data, int width, float x) return (1.0f - t)*data[index] + t*data[nindex]; } +#ifdef make_float2 +#undef make_float2 +#endif +#ifdef make_float3 +#undef make_float3 +#endif +#ifdef make_float4 +#undef make_float4 +#endif +#ifdef make_int2 +#undef make_int2 +#endif +#ifdef make_int3 +#undef make_int3 +#endif +#ifdef make_int4 +#undef make_int4 +#endif + #define make_float2(x, y) ((float2)(x, y)) #define make_float3(x, y, z) ((float3)(x, y, z, 0.0f)) #define make_float4(x, y, z, w) ((float4)(x, y, z, w)) @@ -49,6 +68,13 @@ __device float kernel_tex_interp_(__global float *data, int width, float x) #define make_int3(x, y, z) ((int3)(x, y, z, 0)) #define make_int4(x, y, z, w) ((int4)(x, y, z, w)) +#ifdef float3 +#undef float3 +#endif +#ifdef int3 +#undef int3 +#endif + typedef float4 float3; typedef int4 int3; diff --git a/intern/cycles/kernel/kernel_globals.h b/intern/cycles/kernel/kernel_globals.h index 720a9f28fa1..f37b27cc9f4 100644 --- a/intern/cycles/kernel/kernel_globals.h +++ b/intern/cycles/kernel/kernel_globals.h @@ -18,6 +18,14 @@ /* Constant Globals */ +#ifdef __KERNEL_CPU__ + +#ifdef WITH_OSL +#include "osl_globals.h" +#endif + +#endif + CCL_NAMESPACE_BEGIN /* On the CPU, we pass along the struct KernelGlobals to nearly everywhere in @@ -27,10 +35,6 @@ CCL_NAMESPACE_BEGIN #ifdef __KERNEL_CPU__ -#ifdef WITH_OSL -//#include "osl_globals.h" -#endif - typedef struct KernelGlobals { #define KERNEL_TEX(type, ttype, name) ttype name; @@ -42,7 +46,7 @@ typedef struct KernelGlobals { #ifdef WITH_OSL /* On the CPU, we also have the OSL globals here. Most data structures are shared with SVM, the difference is in the shaders and object/mesh attributes. */ - //OSLGlobals osl; + OSLGlobals osl; #endif } KernelGLobals; diff --git a/intern/cycles/kernel/osl/osl_services.cpp b/intern/cycles/kernel/osl/osl_services.cpp index ded3a68d667..1b52a3e489b 100644 --- a/intern/cycles/kernel/osl/osl_services.cpp +++ b/intern/cycles/kernel/osl/osl_services.cpp @@ -176,6 +176,7 @@ static bool get_mesh_attribute(KernelGlobals *kg, const ShaderData *sd, (derivatives)? &fval[1]: NULL, (derivatives)? &fval[2]: NULL); } else { + /* todo: this won't work when float3 has w component */ float3 *fval = (float3*)val; fval[0] = triangle_attribute_float3(kg, sd, attr.elem, attr.offset, (derivatives)? &fval[1]: NULL, (derivatives)? &fval[2]: NULL); diff --git a/intern/cycles/render/image.cpp b/intern/cycles/render/image.cpp index 08127cf7409..5dc86837bcf 100644 --- a/intern/cycles/render/image.cpp +++ b/intern/cycles/render/image.cpp @@ -25,11 +25,16 @@ #include "util_path.h" #include "util_progress.h" +#ifdef WITH_OSL +#include +#endif + CCL_NAMESPACE_BEGIN ImageManager::ImageManager() { need_update = true; + osl_texture_system = NULL; } ImageManager::~ImageManager() @@ -39,6 +44,11 @@ ImageManager::~ImageManager() } } +void ImageManager::set_osl_texture_system(void *texture_system) +{ + osl_texture_system = texture_system; +} + int ImageManager::add_image(const string& filename) { Image *img; @@ -77,8 +87,17 @@ int ImageManager::add_image(const string& filename) return slot; } -void ImageManager::remove_image(int slot) +void ImageManager::remove_image(const string& filename) { + size_t slot; + + for(slot = 0; slot < images.size(); slot++) + if(images[slot] && images[slot]->filename == filename) + break; + + if(slot == images.size()) + return; + assert(images[slot]); /* decrement user count */ @@ -90,8 +109,6 @@ void ImageManager::remove_image(int slot) that use them, but we do not want to reload the image all the time. */ if(images[slot]->users == 0) need_update = true; - - /* todo: remove OSL image from cache */ } bool ImageManager::file_load_image(Image *img, device_vector& tex_img) @@ -156,10 +173,12 @@ bool ImageManager::file_load_image(Image *img, device_vector& tex_img) void ImageManager::device_load_image(Device *device, DeviceScene *dscene, int slot) { + if(osl_texture_system) + return; + Image *img = images[slot]; device_vector& tex_img = dscene->tex_image[slot]; - img->need_load = false; if(tex_img.device_pointer) device->tex_free(tex_img); @@ -184,8 +203,16 @@ void ImageManager::device_load_image(Device *device, DeviceScene *dscene, int sl void ImageManager::device_free_image(Device *device, DeviceScene *dscene, int slot) { if(images[slot]) { - device->tex_free(dscene->tex_image[slot]); - dscene->tex_image[slot].clear(); + if(osl_texture_system) { +#ifdef WITH_OSL + ustring filename(images[slot]->filename); + ((OSL::TextureSystem*)osl_texture_system)->invalidate(filename); +#endif + } + else { + device->tex_free(dscene->tex_image[slot]); + dscene->tex_image[slot].clear(); + } delete images[slot]; images[slot] = NULL; @@ -206,6 +233,7 @@ void ImageManager::device_update(Device *device, DeviceScene *dscene, Progress& string name = path_filename(images[slot]->filename); progress.set_status("Updating Images", "Loading " + name); device_load_image(device, dscene, slot); + images[slot]->need_load = false; } if(progress.get_cancel()) return; diff --git a/intern/cycles/render/image.h b/intern/cycles/render/image.h index a0bf29088b7..0d49a1e6b67 100644 --- a/intern/cycles/render/image.h +++ b/intern/cycles/render/image.h @@ -38,11 +38,13 @@ public: ~ImageManager(); int add_image(const string& filename); - void remove_image(int slot); + void remove_image(const string& filename); void device_update(Device *device, DeviceScene *dscene, Progress& progress); void device_free(Device *device, DeviceScene *dscene); + void set_osl_texture_system(void *texture_system); + bool need_update; private: @@ -54,6 +56,7 @@ private: }; vector images; + void *osl_texture_system; bool file_load_image(Image *img, device_vector& tex_img); diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index 0e14deac98f..546d74c5c22 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -53,8 +53,8 @@ ImageTextureNode::ImageTextureNode() ImageTextureNode::~ImageTextureNode() { - if(image_manager && slot != -1) - image_manager->remove_image(slot); + if(image_manager) + image_manager->remove_image(filename); } ShaderNode *ImageTextureNode::clone() const @@ -117,8 +117,8 @@ EnvironmentTextureNode::EnvironmentTextureNode() EnvironmentTextureNode::~EnvironmentTextureNode() { - if(image_manager && slot != -1) - image_manager->remove_image(slot); + if(image_manager) + image_manager->remove_image(filename); } ShaderNode *EnvironmentTextureNode::clone() const diff --git a/intern/cycles/render/osl.cpp b/intern/cycles/render/osl.cpp index 068ae883930..446cf72f5d6 100644 --- a/intern/cycles/render/osl.cpp +++ b/intern/cycles/render/osl.cpp @@ -44,9 +44,6 @@ CCL_NAMESPACE_BEGIN OSLShaderManager::OSLShaderManager() { - /* todo: verify if we are leaking shaders - * todo: verify if we are leaking image cache memory */ - services = new OSLRenderServices(); /* if we let OSL create it, it leaks */ @@ -112,6 +109,9 @@ void OSLShaderManager::device_update(Device *device, DeviceScene *dscene, Scene foreach(Shader *shader, scene->shaders) shader->need_update = false; + + /* set texture system */ + scene->image_manager->set_osl_texture_system((void*)ts); } void OSLShaderManager::device_free(Device *device, DeviceScene *dscene) diff --git a/intern/cycles/util/util_types.h b/intern/cycles/util/util_types.h index bc7ba056390..02ab59a261f 100644 --- a/intern/cycles/util/util_types.h +++ b/intern/cycles/util/util_types.h @@ -172,6 +172,10 @@ struct float2 { struct float3 { float x, y, z; +#ifdef WITH_OPENCL + float w; +#endif + float operator[](int i) const { return *(&x + i); } float& operator[](int i) { return *(&x + i); } }; @@ -253,7 +257,11 @@ __device float2 make_float2(float x, float y) __device float3 make_float3(float x, float y, float z) { +#ifdef WITH_OPENCL + float3 a = {x, y, z, 0.0f}; +#else float3 a = {x, y, z}; +#endif return a; } From a07d0a7fc28fcefe5829d2eb3dbc516553cae839 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 6 Jun 2011 20:07:08 +0000 Subject: [PATCH 051/241] Cycles: UI tweak some quick code to auto hide scrollbars. Not happy with this yet because it runs python draw functions twice when scrollers are showing. --- source/blender/editors/include/UI_interface.h | 1 + .../editors/interface/interface_panel.c | 5 ++ .../editors/interface/interface_style.c | 2 +- source/blender/editors/interface/view2d.c | 7 +- source/blender/editors/screen/area.c | 86 ++++++++++++------- 5 files changed, 64 insertions(+), 37 deletions(-) diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h index fddb5b6d12e..89ecc28e425 100644 --- a/source/blender/editors/include/UI_interface.h +++ b/source/blender/editors/include/UI_interface.h @@ -583,6 +583,7 @@ void autocomplete_end(AutoComplete *autocpl, char *autoname); void uiBeginPanels(const struct bContext *C, struct ARegion *ar); void uiEndPanels(const struct bContext *C, struct ARegion *ar); +void uiDrawPanels(const struct bContext *C, struct ARegion *ar); struct Panel *uiBeginPanel(struct ScrArea *sa, struct ARegion *ar, uiBlock *block, struct PanelType *pt, int *open); void uiEndPanel(uiBlock *block, int width, int height); diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c index cd0d3c63dbd..741661b0e45 100644 --- a/source/blender/editors/interface/interface_panel.c +++ b/source/blender/editors/interface/interface_panel.c @@ -846,6 +846,11 @@ void uiEndPanels(const bContext *C, ARegion *ar) if(firstpa) firstpa->runtime_flag |= PNL_FIRST; +} + +void uiDrawPanels(const bContext *C, ARegion *ar) +{ + uiBlock *block; UI_ThemeClearColor(TH_BACK); diff --git a/source/blender/editors/interface/interface_style.c b/source/blender/editors/interface/interface_style.c index 2e4106b3c04..9bb4d90e1a2 100644 --- a/source/blender/editors/interface/interface_style.c +++ b/source/blender/editors/interface/interface_style.c @@ -122,7 +122,7 @@ static uiStyle *ui_style_new(ListBase *styles, const char *name) style->buttonspacex= 8; style->buttonspacey= 2; style->panelspace= 8; - style->panelouter= 4; + style->panelouter= 3; return style; } diff --git a/source/blender/editors/interface/view2d.c b/source/blender/editors/interface/view2d.c index 79e52fd9499..eb522a1d2b8 100644 --- a/source/blender/editors/interface/view2d.c +++ b/source/blender/editors/interface/view2d.c @@ -278,10 +278,9 @@ void UI_view2d_region_reinit(View2D *v2d, short type, int winx, int winy) v2d->align= (V2D_ALIGN_NO_NEG_X|V2D_ALIGN_NO_POS_Y); v2d->keeptot= V2D_KEEPTOT_BOUNDS; - /*v2d->scroll |= (V2D_SCROLL_RIGHT|V2D_SCROLL_BOTTOM); + v2d->scroll |= (V2D_SCROLL_RIGHT|V2D_SCROLL_BOTTOM); v2d->scroll |= V2D_SCROLL_HORIZONTAL_HIDE; - v2d->scroll &= ~V2D_SCROLL_VERTICAL_HIDE;*/ - v2d->scroll= 0; + v2d->scroll &= ~V2D_SCROLL_VERTICAL_HIDE; v2d->tot.xmin= 0.0f; v2d->tot.xmax= winx; @@ -291,7 +290,7 @@ void UI_view2d_region_reinit(View2D *v2d, short type, int winx, int winy) v2d->cur.xmin= 0.0f; /* bad workaround for keeping zoom level with scrollers */ - v2d->cur.xmax= (winx/* - V2D_SCROLL_WIDTH*/)*panelzoom; + v2d->cur.xmax= (winx - V2D_SCROLL_WIDTH)*panelzoom; v2d->cur.ymax= 0.0f; v2d->cur.ymin= (-winy)*panelzoom; diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index faf747f2b91..aa6fc332dff 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -1145,28 +1145,15 @@ int ED_area_header_standardbuttons(const bContext *C, uiBlock *block, int yco) /************************ standard UI regions ************************/ -void ED_region_panels(const bContext *C, ARegion *ar, int vertical, const char *context, int contextnr) +static void region_panels_layout(const bContext *C, ARegion *ar, int vertical, const char *context, int w, int em, int *r_x, int *r_y) { ScrArea *sa= CTX_wm_area(C); - uiStyle *style= U.uistyles.first; - uiBlock *block; PanelType *pt; Panel *panel; - View2D *v2d= &ar->v2d; - View2DScrollers *scrollers; - int xco, yco, x, y, miny=0, w, em, header, triangle, open, newcontext= 0; - - if(contextnr >= 0) - newcontext= UI_view2d_tab_set(v2d, contextnr); - - if(vertical) { - w= v2d->cur.xmax - v2d->cur.xmin; - em= (ar->type->prefsizex)? 10: 20; - } - else { - w= UI_PANEL_WIDTH; - em= (ar->type->prefsizex)? 10: 20; - } + uiBlock *block; + uiStyle *style= U.uistyles.first; + int x, y, miny=0, xco, yco; + int open, header, triangle; x= 0; y= -style->panelouter; @@ -1174,9 +1161,6 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, const char * /* create panels */ uiBeginPanels(C, ar); - /* set view2d view matrix for scrolling (without scrollers) */ - UI_view2d_view_ortho(v2d); - for(pt= ar->type->paneltypes.first; pt; pt= pt->next) { /* verify context */ if(context) @@ -1261,6 +1245,40 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, const char * y= UI_PANEL_WIDTH; } + uiEndPanels(C, ar); + + *r_x = x; + *r_y = y; +} + +void ED_region_panels(const bContext *C, ARegion *ar, int vertical, const char *context, int contextnr) +{ + View2D *v2d= &ar->v2d; + View2DScrollers *scrollers; + int x, y, w, em, newcontext= 0, need_scrollers; + + if(contextnr >= 0) + newcontext= UI_view2d_tab_set(v2d, contextnr); + + if(vertical) { + w= v2d->cur.xmax - v2d->cur.xmin; + em= (ar->type->prefsizex)? 10: 20; + } + else { + w= UI_PANEL_WIDTH; + em= (ar->type->prefsizex)? 10: 20; + } + + /* try to draw without scrollbars */ + UI_view2d_view_ortho(v2d); + + region_panels_layout(C, ar, vertical, context, ar->winx, em, &x, &y); + + /* if it doesn't fit, draw again in smaller space with scrollers */ + need_scrollers = (abs(y) > ar->winy); + if(need_scrollers) + region_panels_layout(C, ar, vertical, context, ar->winx-V2D_SCROLL_WIDTH, em, &x, &y); + /* clear */ UI_ThemeClearColor((ar->type->regionid == RGN_TYPE_PREVIEW)?TH_PREVIEW_BACK:TH_BACK); glClear(GL_COLOR_BUFFER_BIT); @@ -1270,8 +1288,9 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, const char * /* only allow scrolling in vertical direction */ v2d->keepofs |= V2D_LOCKOFS_X|V2D_KEEPOFS_Y; v2d->keepofs &= ~(V2D_LOCKOFS_Y|V2D_KEEPOFS_X); - //v2d->scroll |= V2D_SCROLL_HORIZONTAL_HIDE; - //v2d->scroll &= ~V2D_SCROLL_VERTICAL_HIDE; + v2d->scroll &= ~(V2D_SCROLL_HORIZONTAL_HIDE|V2D_SCROLL_VERTICAL_HIDE); + if(!need_scrollers) + v2d->scroll |= V2D_SCROLL_HORIZONTAL_HIDE; // don't jump back when panels close or hide if(!newcontext) @@ -1286,8 +1305,9 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, const char * v2d->keepofs &= ~(V2D_LOCKOFS_X|V2D_LOCKOFS_Y|V2D_KEEPOFS_X|V2D_KEEPOFS_Y); //v2d->keepofs |= V2D_LOCKOFS_Y|V2D_KEEPOFS_X; //v2d->keepofs &= ~(V2D_LOCKOFS_X|V2D_KEEPOFS_Y); - //v2d->scroll |= V2D_SCROLL_VERTICAL_HIDE; - //v2d->scroll &= ~V2D_SCROLL_HORIZONTAL_HIDE; + v2d->scroll &= ~(V2D_SCROLL_HORIZONTAL_HIDE|V2D_SCROLL_VERTICAL_HIDE); + if(!need_scrollers) + v2d->scroll |= V2D_SCROLL_VERTICAL_HIDE; // don't jump back when panels close or hide if(!newcontext) @@ -1297,20 +1317,23 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, const char * // +V2D_SCROLL_HEIGHT is workaround to set the actual height UI_view2d_totRect_set(v2d, x+V2D_SCROLL_WIDTH, y+V2D_SCROLL_HEIGHT); + UI_view2d_totRect_set(v2d, x+V2D_SCROLL_WIDTH, y+V2D_SCROLL_HEIGHT); /* set the view */ UI_view2d_view_ortho(v2d); /* this does the actual drawing! */ - uiEndPanels(C, ar); + uiDrawPanels(C, ar); /* restore view matrix */ UI_view2d_view_restore(C); /* scrollers */ - //scrollers= UI_view2d_scrollers_calc(C, v2d, V2D_ARG_DUMMY, V2D_ARG_DUMMY, V2D_ARG_DUMMY, V2D_ARG_DUMMY); - //UI_view2d_scrollers_draw(C, v2d, scrollers); - //UI_view2d_scrollers_free(scrollers); + if(need_scrollers) { + scrollers= UI_view2d_scrollers_calc(C, v2d, V2D_ARG_DUMMY, V2D_ARG_DUMMY, V2D_ARG_DUMMY, V2D_ARG_DUMMY); + UI_view2d_scrollers_draw(C, v2d, scrollers); + UI_view2d_scrollers_free(scrollers); + } } void ED_region_panels_init(wmWindowManager *wm, ARegion *ar) @@ -1319,10 +1342,9 @@ void ED_region_panels_init(wmWindowManager *wm, ARegion *ar) // XXX quick hacks for files saved with 2.5 already (i.e. the builtin defaults file) // scrollbars for button regions - /*ar->v2d.scroll |= (V2D_SCROLL_RIGHT|V2D_SCROLL_BOTTOM); + ar->v2d.scroll |= (V2D_SCROLL_RIGHT|V2D_SCROLL_BOTTOM); ar->v2d.scroll |= V2D_SCROLL_HORIZONTAL_HIDE; - ar->v2d.scroll &= ~V2D_SCROLL_VERTICAL_HIDE;*/ - ar->v2d.scroll= 0; + ar->v2d.scroll &= ~V2D_SCROLL_VERTICAL_HIDE; ar->v2d.keepzoom |= V2D_KEEPZOOM; // correctly initialised User-Prefs? From 77c2266d7b3e6cd00abb3a81ac4c4c939b68d7a7 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 8 Jun 2011 23:36:06 +0000 Subject: [PATCH 052/241] Cycles: texture tab in properties editor now shows dropdown for selecting texture users in the context. It's only useful for modifiers and brushes at the moment, not for shading nodes as using texture datablocks there is not yet supported. --- intern/cycles/blender/addon/ui.py | 80 ++++- source/blender/blenkernel/BKE_modifier.h | 15 + source/blender/blenkernel/intern/modifier.c | 12 + source/blender/blenloader/intern/readfile.c | 1 + source/blender/editors/include/UI_interface.h | 1 + .../editors/space_buttons/CMakeLists.txt | 1 + .../editors/space_buttons/buttons_context.c | 72 +++- .../editors/space_buttons/buttons_intern.h | 42 ++- .../editors/space_buttons/buttons_texture.c | 337 ++++++++++++++++++ .../editors/space_buttons/space_buttons.c | 6 + source/blender/makesdna/DNA_space_types.h | 3 + source/blender/makesrna/intern/rna_ui_api.c | 3 + .../blender/modifiers/intern/MOD_armature.c | 1 + source/blender/modifiers/intern/MOD_array.c | 1 + source/blender/modifiers/intern/MOD_bevel.c | 1 + source/blender/modifiers/intern/MOD_boolean.c | 1 + source/blender/modifiers/intern/MOD_build.c | 3 +- source/blender/modifiers/intern/MOD_cast.c | 1 + source/blender/modifiers/intern/MOD_cloth.c | 1 + .../blender/modifiers/intern/MOD_collision.c | 1 + source/blender/modifiers/intern/MOD_curve.c | 1 + .../blender/modifiers/intern/MOD_decimate.c | 1 + .../blender/modifiers/intern/MOD_displace.c | 7 + .../blender/modifiers/intern/MOD_edgesplit.c | 1 + source/blender/modifiers/intern/MOD_explode.c | 1 + .../blender/modifiers/intern/MOD_fluidsim.c | 1 + source/blender/modifiers/intern/MOD_hook.c | 1 + source/blender/modifiers/intern/MOD_lattice.c | 1 + source/blender/modifiers/intern/MOD_mask.c | 1 + .../blender/modifiers/intern/MOD_meshdeform.c | 1 + source/blender/modifiers/intern/MOD_mirror.c | 1 + .../blender/modifiers/intern/MOD_multires.c | 1 + source/blender/modifiers/intern/MOD_none.c | 1 + .../modifiers/intern/MOD_particleinstance.c | 1 + .../modifiers/intern/MOD_particlesystem.c | 1 + source/blender/modifiers/intern/MOD_screw.c | 1 + .../blender/modifiers/intern/MOD_shapekey.c | 3 +- .../blender/modifiers/intern/MOD_shrinkwrap.c | 1 + .../modifiers/intern/MOD_simpledeform.c | 1 + source/blender/modifiers/intern/MOD_smoke.c | 1 + source/blender/modifiers/intern/MOD_smooth.c | 1 + .../blender/modifiers/intern/MOD_softbody.c | 1 + .../blender/modifiers/intern/MOD_solidify.c | 3 +- source/blender/modifiers/intern/MOD_subsurf.c | 2 + source/blender/modifiers/intern/MOD_surface.c | 1 + .../blender/modifiers/intern/MOD_uvproject.c | 1 + source/blender/modifiers/intern/MOD_warp.c | 6 + source/blender/modifiers/intern/MOD_wave.c | 7 + source/blender/nodes/SHD_node.h | 1 + 49 files changed, 602 insertions(+), 32 deletions(-) create mode 100644 source/blender/editors/space_buttons/buttons_texture.c diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 2c4f24db2c5..89de799eb65 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -97,22 +97,22 @@ class CyclesRender_PT_debug(CyclesButtonsPanel, bpy.types.Panel): col.prop(cycles, "debug_text_timeout") class Cycles_PT_post_processing(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "Post Processing" - bl_options = {'DEFAULT_CLOSED'} + bl_label = "Post Processing" + bl_options = {'DEFAULT_CLOSED'} - def draw(self, context): - layout = self.layout + def draw(self, context): + layout = self.layout - rd = context.scene.render + rd = context.scene.render - split = layout.split() + split = layout.split() - col = split.column() - col.prop(rd, "use_compositing") - col.prop(rd, "use_sequencer") + col = split.column() + col.prop(rd, "use_compositing") + col.prop(rd, "use_sequencer") - col = split.column() - col.prop(rd, "dither_intensity", text="Dither", slider=True) + col = split.column() + col.prop(rd, "dither_intensity", text="Dither", slider=True) class Cycles_PT_camera(CyclesButtonsPanel, bpy.types.Panel): bl_label = "Cycles" @@ -231,9 +231,9 @@ def panel_node_draw(layout, id, output_type, input_name): node = find_node(id, output_type) if not node: layout.label(text="No output node.") - - input = find_node_input(node, input_name) - layout.template_node_view(id, ntree, node, input); + else: + input = find_node_input(node, input_name) + layout.template_node_view(id, ntree, node, input); class CyclesLamp_PT_lamp(CyclesButtonsPanel, bpy.types.Panel): bl_label = "Surface" @@ -339,6 +339,41 @@ class CyclesMaterial_PT_settings(CyclesButtonsPanel, bpy.types.Panel): row = layout.row() row.label(text="Light Group:") row.prop(mat, "light_group", text="") + +class CyclesTexture_PT_context(CyclesButtonsPanel, bpy.types.Panel): + bl_label = "" + bl_context = "texture" + bl_options = {'HIDE_HEADER'} + COMPAT_ENGINES = {'CYCLES'} + + def draw(self, context): + layout = self.layout + + tex = context.texture + space = context.space_data + pin_id = space.pin_id + use_pin_id = space.use_pin_id; + user = context.texture_user + + if not use_pin_id or not isinstance(pin_id, bpy.types.Texture): + pin_id = None + + if not pin_id: + layout.template_texture_user() + layout.separator() + + split = layout.split(percentage=0.65) + col = split.column() + + if pin_id: + col.template_ID(space, "pin_id") + elif user: + col.template_ID(user, "texture", new="texture.new") + + if tex: + split = layout.split(percentage=0.2) + split.label(text="Type:") + split.prop(tex, "type", text="") def draw_device(self, context): scene = context.scene @@ -372,7 +407,22 @@ def get_panels(): bpy.types.DATA_PT_custom_props_camera, bpy.types.DATA_PT_context_lamp, bpy.types.DATA_PT_custom_props_lamp, - bpy.types.TEXTURE_PT_context_texture] + bpy.types.TEXTURE_PT_clouds, + bpy.types.TEXTURE_PT_wood, + bpy.types.TEXTURE_PT_marble, + bpy.types.TEXTURE_PT_magic, + bpy.types.TEXTURE_PT_blend, + bpy.types.TEXTURE_PT_stucci, + bpy.types.TEXTURE_PT_image, + bpy.types.TEXTURE_PT_image_sampling, + bpy.types.TEXTURE_PT_image_mapping, + bpy.types.TEXTURE_PT_musgrave, + bpy.types.TEXTURE_PT_voronoi, + bpy.types.TEXTURE_PT_distortednoise, + bpy.types.TEXTURE_PT_voxeldata, + bpy.types.TEXTURE_PT_pointdensity, + bpy.types.TEXTURE_PT_pointdensity_turbulence, + bpy.types.TEXTURE_PT_custom_props] def register(): bpy.types.RENDER_PT_render.append(draw_device) diff --git a/source/blender/blenkernel/BKE_modifier.h b/source/blender/blenkernel/BKE_modifier.h index 648e67cad8a..28950e4b2eb 100644 --- a/source/blender/blenkernel/BKE_modifier.h +++ b/source/blender/blenkernel/BKE_modifier.h @@ -101,6 +101,7 @@ typedef enum { typedef void (*ObjectWalkFunc)(void *userData, struct Object *ob, struct Object **obpoin); typedef void (*IDWalkFunc)(void *userData, struct Object *ob, struct ID **idpoin); +typedef void (*TexWalkFunc)(void *userData, struct Object *ob, struct ModifierData *md, const char *propname); typedef struct ModifierTypeInfo { /* The user visible name for this modifier */ @@ -284,6 +285,16 @@ typedef struct ModifierTypeInfo { */ void (*foreachIDLink)(struct ModifierData *md, struct Object *ob, IDWalkFunc walk, void *userData); + + /* Should call the given walk function for each texture that the + * modifier data stores. This is used for finding all textures in + * the context for the UI. + * + * This function is optional. If it is not present, it will be + * assumed the modifier has no textures. + */ + void (*foreachTexLink)(struct ModifierData *md, struct Object *ob, + TexWalkFunc walk, void *userData); } ModifierTypeInfo; ModifierTypeInfo *modifierType_getInfo (ModifierType type); @@ -315,6 +326,10 @@ void modifiers_foreachObjectLink(struct Object *ob, void modifiers_foreachIDLink(struct Object *ob, IDWalkFunc walk, void *userData); +void modifiers_foreachTexLink(struct Object *ob, + TexWalkFunc walk, + void *userData); + struct ModifierData *modifiers_findByType(struct Object *ob, ModifierType type); struct ModifierData *modifiers_findByName(struct Object *ob, const char *name); void modifiers_clearErrors(struct Object *ob); diff --git a/source/blender/blenkernel/intern/modifier.c b/source/blender/blenkernel/intern/modifier.c index 51f1cd61e7c..fe26c0ccd2d 100644 --- a/source/blender/blenkernel/intern/modifier.c +++ b/source/blender/blenkernel/intern/modifier.c @@ -195,6 +195,18 @@ void modifiers_foreachIDLink(Object *ob, IDWalkFunc walk, void *userData) } } +void modifiers_foreachTexLink(Object *ob, TexWalkFunc walk, void *userData) +{ + ModifierData *md = ob->modifiers.first; + + for (; md; md=md->next) { + ModifierTypeInfo *mti = modifierType_getInfo(md->type); + + if(mti->foreachTexLink) + mti->foreachTexLink(md, ob, walk, userData); + } +} + void modifier_copyData(ModifierData *md, ModifierData *target) { ModifierTypeInfo *mti = modifierType_getInfo(md->type); diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 0c859aa27aa..4c45b8b8e7a 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -5462,6 +5462,7 @@ static void direct_link_screen(FileData *fd, bScreen *sc) else if(sl->spacetype==SPACE_BUTS) { SpaceButs *sbuts= (SpaceButs *)sl; sbuts->path= NULL; + sbuts->texuser= NULL; } else if(sl->spacetype==SPACE_CONSOLE) { SpaceConsole *sconsole= (SpaceConsole *)sl; diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h index 89ecc28e425..5bc3b588875 100644 --- a/source/blender/editors/include/UI_interface.h +++ b/source/blender/editors/include/UI_interface.h @@ -728,6 +728,7 @@ void uiTemplateReportsBanner(uiLayout *layout, struct bContext *C); void uiTemplateList(uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, const char *propname, struct PointerRNA *activeptr, const char *activeprop, int rows, int maxrows, int type); void uiTemplateNodeLink(uiLayout *layout, struct ID *id, struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *input); void uiTemplateNodeView(uiLayout *layout, struct bContext *C, struct ID *id, struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *input); +void uiTemplateTextureUser(uiLayout *layout, struct bContext *C); /* items */ void uiItemO(uiLayout *layout, const char *name, int icon, const char *opname); diff --git a/source/blender/editors/space_buttons/CMakeLists.txt b/source/blender/editors/space_buttons/CMakeLists.txt index 0a4f251e46f..84ef75ffac8 100644 --- a/source/blender/editors/space_buttons/CMakeLists.txt +++ b/source/blender/editors/space_buttons/CMakeLists.txt @@ -38,6 +38,7 @@ set(SRC buttons_context.c buttons_header.c buttons_ops.c + buttons_texture.c space_buttons.c buttons_intern.h diff --git a/source/blender/editors/space_buttons/buttons_context.c b/source/blender/editors/space_buttons/buttons_context.c index f91e830d52e..85549caf7ad 100644 --- a/source/blender/editors/space_buttons/buttons_context.c +++ b/source/blender/editors/space_buttons/buttons_context.c @@ -55,7 +55,6 @@ #include "BKE_screen.h" #include "BKE_texture.h" - #include "RNA_access.h" #include "ED_armature.h" @@ -67,13 +66,6 @@ #include "buttons_intern.h" // own include -typedef struct ButsContextPath { - PointerRNA ptr[8]; - int len; - int flag; - int tex_ctx; -} ButsContextPath; - static int set_pointer_type(ButsContextPath *path, bContextDataResult *result, StructRNA *type) { PointerRNA *ptr; @@ -237,11 +229,13 @@ static int buttons_context_path_material(ButsContextPath *path) RNA_id_pointer_create(&ma->id, &path->ptr[path->len]); path->len++; +#if 0 ma= give_node_material(ma); if(ma) { RNA_id_pointer_create(&ma->id, &path->ptr[path->len]); path->len++; } +#endif return 1; } } @@ -370,8 +364,42 @@ static int buttons_context_path_brush(ButsContextPath *path) return 0; } -static int buttons_context_path_texture(ButsContextPath *path) +static int buttons_context_path_texture(ButsContextPath *path, ButsContextTexture *ct) { + PointerRNA *ptr= &path->ptr[path->len-1]; + ID *id; + + /* if we already have a (pinned) texture, we're done */ + if(RNA_struct_is_a(ptr->type, &RNA_Texture)) + return 1; + + if(!(ct && ct->user)) + return 0; + + id= ct->user->id; + + if(id) { + if(GS(id->name) == ID_BR) + buttons_context_path_brush(path); + else if(GS(id->name) == ID_MA) + buttons_context_path_material(path); + else if(GS(id->name) == ID_WO) + buttons_context_path_world(path); + else if(GS(id->name) == ID_LA) + buttons_context_path_data(path, OB_LAMP); + else if(GS(id->name) == ID_PA) + buttons_context_path_particle(path); + else if(GS(id->name) == ID_OB) + buttons_context_path_object(path); + } + + RNA_id_pointer_create(&ct->texture->id, &path->ptr[path->len]); + path->len++; + + return 1; + + +#if 0 Material *ma; Lamp *la; Brush *br; @@ -468,6 +496,7 @@ static int buttons_context_path_texture(ButsContextPath *path) return 1; } } +#endif /* no path to a texture possible */ return 0; @@ -527,7 +556,7 @@ static int buttons_context_path(const bContext *C, ButsContextPath *path, int ma found= buttons_context_path_material(path); break; case BCONTEXT_TEXTURE: - found= buttons_context_path_texture(path); + found= buttons_context_path_texture(path, sbuts->texuser); break; case BCONTEXT_BONE: found= buttons_context_path_bone(path); @@ -577,6 +606,8 @@ void buttons_context_compute(const bContext *C, SpaceButs *sbuts) PointerRNA *ptr; int a, pflag= 0, flag= 0; + buttons_texture_context_compute(C, sbuts); + if(!sbuts->path) sbuts->path= MEM_callocN(sizeof(ButsContextPath), "ButsContextPath"); @@ -646,7 +677,8 @@ void buttons_context_compute(const bContext *C, SpaceButs *sbuts) const char *buttons_context_dir[] = { "world", "object", "mesh", "armature", "lattice", "curve", "meta_ball", "lamp", "camera", "material", "material_slot", - "texture", "texture_slot", "bone", "edit_bone", "pose_bone", "particle_system", "particle_system_editable", + "texture", "texture_slot", "texture_user", "bone", "edit_bone", + "pose_bone", "particle_system", "particle_system_editable", "cloth", "soft_body", "fluid", "smoke", "collision", "brush", NULL}; int buttons_context(const bContext *C, const char *member, bContextDataResult *result) @@ -703,7 +735,11 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r return 1; } else if(CTX_data_equals(member, "texture")) { - set_pointer_type(path, result, &RNA_Texture); + ButsContextTexture *ct= sbuts->texuser; + + if(ct) + CTX_data_pointer_set(result, &ct->texture->id, &RNA_Texture, ct->texture); + return 1; } else if(CTX_data_equals(member, "material_slot")) { @@ -718,6 +754,17 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r return 1; } + else if(CTX_data_equals(member, "texture_user")) { + ButsContextTexture *ct= sbuts->texuser; + + if(ct && ct->user) { + ButsTextureUser *user= ct->user; + CTX_data_pointer_set(result, user->ptr.id.data, user->ptr.type, user->ptr.data); + } + + return 1; + } +#if 0 else if(CTX_data_equals(member, "texture_node")) { PointerRNA *ptr; @@ -781,6 +828,7 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r return 1; } +#endif else if(CTX_data_equals(member, "bone")) { set_pointer_type(path, result, &RNA_Bone); return 1; diff --git a/source/blender/editors/space_buttons/buttons_intern.h b/source/blender/editors/space_buttons/buttons_intern.h index 925223b43ea..eec292d0a65 100644 --- a/source/blender/editors/space_buttons/buttons_intern.h +++ b/source/blender/editors/space_buttons/buttons_intern.h @@ -33,14 +33,18 @@ #ifndef ED_BUTTONS_INTERN_H #define ED_BUTTONS_INTERN_H +#include "DNA_listBase.h" +#include "RNA_types.h" + struct ARegion; struct ARegionType; +struct ID; +struct SpaceButs; +struct Tex; struct bContext; struct bContextDataResult; -struct SpaceButs; struct uiLayout; struct wmOperatorType; -struct ID; /* buts->scaflag */ #define BUTS_SENS_SEL 1 @@ -55,6 +59,37 @@ struct ID; #define BUTS_SENS_STATE 512 #define BUTS_ACT_STATE 1024 +/* context data */ + +typedef struct ButsContextPath { + PointerRNA ptr[8]; + int len; + int flag; + int tex_ctx; +} ButsContextPath; + +typedef struct ButsTextureUser { + struct ButsTextureUser *next, *prev; + + struct ID *id; + PointerRNA ptr; + PropertyRNA *prop; + + const char *category; + int icon; + const char *name; + + int index; +} ButsTextureUser; + +typedef struct ButsContextTexture { + ListBase users; + + struct Tex *texture; + struct ButsTextureUser *user; + int index; +} ButsContextTexture; + /* internal exports only */ /* buttons_header.c */ @@ -69,6 +104,9 @@ struct ID *buttons_context_id_path(const struct bContext *C); extern const char *buttons_context_dir[]; /* doc access */ +/* buttons_texture.c */ +void buttons_texture_context_compute(const struct bContext *C, struct SpaceButs *sbuts); + /* buttons_ops.c */ void BUTTONS_OT_file_browse(struct wmOperatorType *ot); void BUTTONS_OT_toolbox(struct wmOperatorType *ot); diff --git a/source/blender/editors/space_buttons/buttons_texture.c b/source/blender/editors/space_buttons/buttons_texture.c new file mode 100644 index 00000000000..010969b3b71 --- /dev/null +++ b/source/blender/editors/space_buttons/buttons_texture.c @@ -0,0 +1,337 @@ +/* + * $Id$ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2009 Blender Foundation. + * All rights reserved. + * + * Contributor(s): Blender Foundation + * + * ***** END GPL LICENSE BLOCK ***** + */ + +/** \file blender/editors/space_buttons/buttons_texture.c + * \ingroup spbuttons + */ + + +#include +#include + +#include "MEM_guardedalloc.h" + +#include "BLI_listbase.h" +#include "BLI_string.h" +#include "BLI_utildefines.h" + +#include "DNA_brush_types.h" +#include "DNA_ID.h" +#include "DNA_lamp_types.h" +#include "DNA_material_types.h" +#include "DNA_node_types.h" +#include "DNA_object_types.h" +#include "DNA_particle_types.h" +#include "DNA_scene_types.h" +#include "DNA_screen_types.h" +#include "DNA_space_types.h" +#include "DNA_world_types.h" + +#include "BKE_context.h" +#include "BKE_material.h" +#include "BKE_modifier.h" +#include "BKE_node.h" +#include "BKE_paint.h" + +#include "RNA_access.h" + +#include "UI_interface.h" +#include "UI_resources.h" + +#include "../interface/interface_intern.h" + +#include "buttons_intern.h" // own include + +/************************* Texture User **************************/ + +static void buttons_texture_user_add(ListBase *users, ID *id, + PointerRNA ptr, PropertyRNA *prop, + const char *category, int icon, const char *name) +{ + ButsTextureUser *user = MEM_callocN(sizeof(ButsTextureUser), "ButsTextureUser"); + + user->id= id; + user->ptr = ptr; + user->prop = prop; + user->category = category; + user->icon = icon; + user->name = name; + user->index = BLI_countlist(users); + + BLI_addtail(users, user); +} + +static void buttons_texture_users_find_nodetree(ListBase *users, ID *id, + bNodeTree *ntree, const char *category) +{ + bNode *node; + + if(ntree) { + for(node=ntree->nodes.first; node; node=node->next) { + if(node->type == SH_NODE_TEXTURE) { + PointerRNA ptr; + PropertyRNA *prop; + + RNA_pointer_create(&ntree->id, &RNA_Node, node, &ptr); + prop = RNA_struct_find_property(&ptr, "texture"); + + buttons_texture_user_add(users, id, ptr, prop, category, ICON_NODE, node->name); + } + else if(node->type == NODE_GROUP && node->id) { + buttons_texture_users_find_nodetree(users, id, (bNodeTree*)node->id, category); + } + } + } +} + +static void buttons_texture_modifier_foreach(void *userData, Object *ob, ModifierData *md, const char *propname) +{ + PointerRNA ptr; + PropertyRNA *prop; + ListBase *users = userData; + + RNA_pointer_create(&ob->id, &RNA_Modifier, md, &ptr); + prop = RNA_struct_find_property(&ptr, propname); + + buttons_texture_user_add(users, &ob->id, ptr, prop, "Modifiers", ICON_MODIFIER, md->name); +} + +static void buttons_texture_users_from_context(ListBase *users, const bContext *C, SpaceButs *sbuts) +{ + Scene *scene= NULL; + Object *ob= NULL; + Material *ma= NULL; + Lamp *la= NULL; + World *wrld= NULL; + Brush *brush= NULL; + ID *pinid = sbuts->pinid; + + /* get data from context */ + if(pinid) { + if(GS(pinid->name) == ID_SCE) + scene= (Scene*)pinid; + else if(GS(pinid->name) == ID_OB) + ob= (Object*)pinid; + else if(GS(pinid->name) == ID_LA) + la= (Lamp*)pinid; + else if(GS(pinid->name) == ID_WO) + wrld= (World*)pinid; + else if(GS(pinid->name) == ID_MA) + ma= (Material*)pinid; + else if(GS(pinid->name) == ID_BR) + brush= (Brush*)pinid; + } + + if(!scene) + scene= CTX_data_scene(C); + + if(!(pinid || pinid == &scene->id)) { + ob= (scene->basact)? scene->basact->object: NULL; + wrld= scene->world; + brush= paint_brush(paint_get_active(scene)); + } + + if(ob && ob->type == OB_LAMP && !la) + la= ob->data; + if(ob && !ma) + ma= give_current_material(ob, ob->actcol); + + /* fill users */ + users->first = users->last = NULL; + + if(ma) + buttons_texture_users_find_nodetree(users, &ma->id, ma->nodetree, "Material"); + if(la) + buttons_texture_users_find_nodetree(users, &la->id, la->nodetree, "Lamp"); + if(wrld) + buttons_texture_users_find_nodetree(users, &wrld->id, wrld->nodetree, "World"); + + if(ob) { + ParticleSystem *psys; + MTex *mtex; + int a; + + /* modifiers */ + modifiers_foreachTexLink(ob, buttons_texture_modifier_foreach, users); + + /* particle systems */ + /* todo: these slots are not in the UI */ + for(psys=ob->particlesystem.first; psys; psys=psys->next) { + for(a=0; apart->mtex[a]; + + if(mtex) { + PointerRNA ptr; + PropertyRNA *prop; + + RNA_pointer_create(&psys->part->id, &RNA_ParticleSettingsTextureSlot, mtex, &ptr); + prop = RNA_struct_find_property(&ptr, "texture"); + + buttons_texture_user_add(users, &psys->part->id, ptr, prop, "Particles", ICON_PARTICLES, psys->name); + } + } + } + } + + /* brush */ + if(brush) { + PointerRNA ptr; + PropertyRNA *prop; + + RNA_pointer_create(&brush->id, &RNA_BrushTextureSlot, &brush->mtex, &ptr); + prop = RNA_struct_find_property(&ptr, "texture"); + + buttons_texture_user_add(users, &brush->id, ptr, prop, "Brush", ICON_BRUSH_DATA, brush->id.name+2); + } +} + +void buttons_texture_context_compute(const bContext *C, SpaceButs *sbuts) +{ + /* gatheravailable texture users in context. runs on every draw of + properties editor, before the buttons are created. */ + ButsContextTexture *ct= sbuts->texuser; + + if(!ct) { + ct= MEM_callocN(sizeof(ButsContextTexture), "ButsContextTexture"); + sbuts->texuser= ct; + } + else { + BLI_freelistN(&ct->users); + } + + buttons_texture_users_from_context(&ct->users, C, sbuts); + + /* set one user as active based on active index */ + if(ct->index >= BLI_countlist(&ct->users)) + ct->index= 0; + + ct->user = BLI_findlink(&ct->users, ct->index); + + if(ct->user) { + PointerRNA texptr; + Tex *tex; + + texptr = RNA_property_pointer_get(&ct->user->ptr, ct->user->prop); + tex = (RNA_struct_is_a(texptr.type, &RNA_Texture))? texptr.data: NULL; + + ct->texture = tex; + } +} + +static void template_texture_select(bContext *C, void *user_p, void *UNUSED(arg)) +{ + /* callback when selecting a texture user in the menu */ + SpaceButs *sbuts = CTX_wm_space_buts(C); + ButsContextTexture *ct= (sbuts)? sbuts->texuser: NULL; + ButsTextureUser *user = (ButsTextureUser*)user_p; + PointerRNA texptr; + Tex *tex; + + if(!ct) + return; + + /* set user as active */ + texptr = RNA_property_pointer_get(&user->ptr, user->prop); + tex = (RNA_struct_is_a(texptr.type, &RNA_Texture))? texptr.data: NULL; + + ct->texture = tex; + ct->user = user; + ct->index = user->index; +} + +static void template_texture_user_menu(bContext *C, uiLayout *layout, void *UNUSED(arg)) +{ + /* callback when opening texture user selection menu, to create buttons. */ + SpaceButs *sbuts = CTX_wm_space_buts(C); + ButsContextTexture *ct= (sbuts)? sbuts->texuser: NULL; + ButsTextureUser *user; + uiBlock *block = uiLayoutGetBlock(layout); + const char *last_category = NULL; + + for(user=ct->users.first; user; user=user->next) { + uiBut *but; + char name[UI_MAX_NAME_STR]; + + /* add label per category */ + if(!last_category || strcmp(last_category, user->category) != 0) { + uiItemL(layout, user->category, ICON_NONE); + but= block->buttons.last; + but->flag= UI_TEXT_LEFT; + } + + /* create button */ + BLI_snprintf(name, UI_MAX_NAME_STR, " %s", user->name); + + but = uiDefIconTextBut(block, BUT, 0, user->icon, name, 0, 0, UI_UNIT_X*4, UI_UNIT_Y, + NULL, 0.0, 0.0, 0.0, 0.0, ""); + uiButSetNFunc(but, template_texture_select, MEM_dupallocN(user), NULL); + + last_category = user->category; + } +} + +void uiTemplateTextureUser(uiLayout *layout, bContext *C) +{ + /* texture user selection dropdown menu. the available users have been + gathered before drawing in ButsContextTexture, we merely need to + display the current item. */ + SpaceButs *sbuts = CTX_wm_space_buts(C); + ButsContextTexture *ct= (sbuts)? sbuts->texuser: NULL; + uiBlock *block = uiLayoutGetBlock(layout); + uiBut *but; + ButsTextureUser *user; + char name[UI_MAX_NAME_STR]; + + if(!ct) + return; + + /* get current user */ + user= ct->user; + + if(!user) { + uiItemL(layout, "No textures in context.", ICON_NONE); + return; + } + + /* create button */ + BLI_snprintf(name, UI_MAX_NAME_STR, "%s", user->name); + + if(user->icon) { + but= uiDefIconTextMenuBut(block, template_texture_user_menu, NULL, + user->icon, name, 0, 0, UI_UNIT_X*4, UI_UNIT_Y, ""); + } + else { + but= uiDefMenuBut(block, template_texture_user_menu, NULL, + name, 0, 0, UI_UNIT_X*4, UI_UNIT_Y, ""); + } + + /* some cosmetic tweaks */ + but->type= MENU; + but->flag |= UI_TEXT_LEFT; + but->flag &= ~UI_ICON_SUBMENU; +} + diff --git a/source/blender/editors/space_buttons/space_buttons.c b/source/blender/editors/space_buttons/space_buttons.c index 16c4df59420..a9ad789c9b2 100644 --- a/source/blender/editors/space_buttons/space_buttons.c +++ b/source/blender/editors/space_buttons/space_buttons.c @@ -106,6 +106,12 @@ static void buttons_free(SpaceLink *sl) if(sbuts->path) MEM_freeN(sbuts->path); + + if(sbuts->texuser) { + ButsContextTexture *ct= sbuts->texuser; + BLI_freelistN(&ct->users); + MEM_freeN(ct); + } } /* spacetype; init callback */ diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h index debdf87f20f..375cd482867 100644 --- a/source/blender/makesdna/DNA_space_types.h +++ b/source/blender/makesdna/DNA_space_types.h @@ -64,6 +64,7 @@ struct bScreen; struct Scene; struct wmOperator; struct wmTimer; +struct Tex; /** * The base structure all the other spaces @@ -144,6 +145,8 @@ typedef struct SpaceButs { void *path; /* runtime */ int pathflag, dataicon; /* runtime */ ID *pinid; + + void *texuser; } SpaceButs; typedef struct SpaceSeq { diff --git a/source/blender/makesrna/intern/rna_ui_api.c b/source/blender/makesrna/intern/rna_ui_api.c index 765cee9e6d1..4e36c509c3b 100644 --- a/source/blender/makesrna/intern/rna_ui_api.c +++ b/source/blender/makesrna/intern/rna_ui_api.c @@ -442,6 +442,9 @@ void RNA_api_ui_layout(StructRNA *srna) parm= RNA_def_pointer(func, "socket", "NodeSocket", "", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + func= RNA_def_function(srna, "template_texture_user", "uiTemplateTextureUser"); + RNA_def_function_flag(func, FUNC_USE_CONTEXT); + func= RNA_def_function(srna, "introspect", "uiLayoutIntrospect"); parm= RNA_def_string(func, "string", "", 1024*1024, "Descr", "DESCR"); RNA_def_function_return(func, parm); diff --git a/source/blender/modifiers/intern/MOD_armature.c b/source/blender/modifiers/intern/MOD_armature.c index a0ee047e319..0b46d950950 100644 --- a/source/blender/modifiers/intern/MOD_armature.c +++ b/source/blender/modifiers/intern/MOD_armature.c @@ -213,4 +213,5 @@ ModifierTypeInfo modifierType_Armature = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index 90954fef1c7..c7fa75478f0 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -826,4 +826,5 @@ ModifierTypeInfo modifierType_Array = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_bevel.c b/source/blender/modifiers/intern/MOD_bevel.c index 323ed71dd74..277f404f64d 100644 --- a/source/blender/modifiers/intern/MOD_bevel.c +++ b/source/blender/modifiers/intern/MOD_bevel.c @@ -150,4 +150,5 @@ ModifierTypeInfo modifierType_Bevel = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ NULL, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_boolean.c b/source/blender/modifiers/intern/MOD_boolean.c index 4b4d0124aae..761f8dd0add 100644 --- a/source/blender/modifiers/intern/MOD_boolean.c +++ b/source/blender/modifiers/intern/MOD_boolean.c @@ -197,4 +197,5 @@ ModifierTypeInfo modifierType_Boolean = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_build.c b/source/blender/modifiers/intern/MOD_build.c index e293be5886d..1c56d81a798 100644 --- a/source/blender/modifiers/intern/MOD_build.c +++ b/source/blender/modifiers/intern/MOD_build.c @@ -299,5 +299,6 @@ ModifierTypeInfo modifierType_Build = { /* dependsOnTime */ dependsOnTime, /* dependsOnNormals */ NULL, /* foreachObjectLink */ NULL, - /* foreachIDLink */ NULL + /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_cast.c b/source/blender/modifiers/intern/MOD_cast.c index 5cb352ef482..d0b50eaa2e2 100644 --- a/source/blender/modifiers/intern/MOD_cast.c +++ b/source/blender/modifiers/intern/MOD_cast.c @@ -638,4 +638,5 @@ ModifierTypeInfo modifierType_Cast = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c index 30ddb3f7b9c..769b97c09c7 100644 --- a/source/blender/modifiers/intern/MOD_cloth.c +++ b/source/blender/modifiers/intern/MOD_cloth.c @@ -216,4 +216,5 @@ ModifierTypeInfo modifierType_Cloth = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ NULL, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_collision.c b/source/blender/modifiers/intern/MOD_collision.c index 83ba8a12163..f4a9ea62ead 100644 --- a/source/blender/modifiers/intern/MOD_collision.c +++ b/source/blender/modifiers/intern/MOD_collision.c @@ -267,4 +267,5 @@ ModifierTypeInfo modifierType_Collision = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ NULL, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_curve.c b/source/blender/modifiers/intern/MOD_curve.c index ecd10250c00..d928c239eac 100644 --- a/source/blender/modifiers/intern/MOD_curve.c +++ b/source/blender/modifiers/intern/MOD_curve.c @@ -162,4 +162,5 @@ ModifierTypeInfo modifierType_Curve = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_decimate.c b/source/blender/modifiers/intern/MOD_decimate.c index ba9dbfc31ad..e3c39752bd1 100644 --- a/source/blender/modifiers/intern/MOD_decimate.c +++ b/source/blender/modifiers/intern/MOD_decimate.c @@ -218,4 +218,5 @@ ModifierTypeInfo modifierType_Decimate = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ NULL, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_displace.c b/source/blender/modifiers/intern/MOD_displace.c index 02845ecaab7..17f94996a1c 100644 --- a/source/blender/modifiers/intern/MOD_displace.c +++ b/source/blender/modifiers/intern/MOD_displace.c @@ -134,6 +134,12 @@ static void foreachIDLink(ModifierData *md, Object *ob, foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData); } +static void foreachTexLink(ModifierData *md, Object *ob, + TexWalkFunc walk, void *userData) +{ + walk(userData, ob, md, "texture"); +} + static int isDisabled(ModifierData *md, int UNUSED(useRenderParams)) { DisplaceModifierData *dmd = (DisplaceModifierData*) md; @@ -292,4 +298,5 @@ ModifierTypeInfo modifierType_Displace = { /* dependsOnNormals */ dependsOnNormals, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ foreachIDLink, + /* foreachTexLink */ foreachTexLink, }; diff --git a/source/blender/modifiers/intern/MOD_edgesplit.c b/source/blender/modifiers/intern/MOD_edgesplit.c index 8d0aea41b5c..db491742265 100644 --- a/source/blender/modifiers/intern/MOD_edgesplit.c +++ b/source/blender/modifiers/intern/MOD_edgesplit.c @@ -1311,4 +1311,5 @@ ModifierTypeInfo modifierType_EdgeSplit = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ NULL, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c index f1bc0d33fd8..d8185345c03 100644 --- a/source/blender/modifiers/intern/MOD_explode.c +++ b/source/blender/modifiers/intern/MOD_explode.c @@ -1037,4 +1037,5 @@ ModifierTypeInfo modifierType_Explode = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ NULL, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_fluidsim.c b/source/blender/modifiers/intern/MOD_fluidsim.c index 354dc33ffe0..cce288b4ad5 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim.c +++ b/source/blender/modifiers/intern/MOD_fluidsim.c @@ -162,4 +162,5 @@ ModifierTypeInfo modifierType_Fluidsim = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ NULL, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c index 082c199b16f..f37ff68d4ba 100644 --- a/source/blender/modifiers/intern/MOD_hook.c +++ b/source/blender/modifiers/intern/MOD_hook.c @@ -303,4 +303,5 @@ ModifierTypeInfo modifierType_Hook = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_lattice.c b/source/blender/modifiers/intern/MOD_lattice.c index 694f8fb3e52..31c17fb7376 100644 --- a/source/blender/modifiers/intern/MOD_lattice.c +++ b/source/blender/modifiers/intern/MOD_lattice.c @@ -156,4 +156,5 @@ ModifierTypeInfo modifierType_Lattice = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_mask.c b/source/blender/modifiers/intern/MOD_mask.c index b36d6848533..a050892b87e 100644 --- a/source/blender/modifiers/intern/MOD_mask.c +++ b/source/blender/modifiers/intern/MOD_mask.c @@ -419,4 +419,5 @@ ModifierTypeInfo modifierType_Mask = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_meshdeform.c b/source/blender/modifiers/intern/MOD_meshdeform.c index ba73f3fa0d1..33a3502017b 100644 --- a/source/blender/modifiers/intern/MOD_meshdeform.c +++ b/source/blender/modifiers/intern/MOD_meshdeform.c @@ -464,4 +464,5 @@ ModifierTypeInfo modifierType_MeshDeform = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_mirror.c b/source/blender/modifiers/intern/MOD_mirror.c index b1c765e5c9b..7cde87b20d9 100644 --- a/source/blender/modifiers/intern/MOD_mirror.c +++ b/source/blender/modifiers/intern/MOD_mirror.c @@ -363,4 +363,5 @@ ModifierTypeInfo modifierType_Mirror = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_multires.c b/source/blender/modifiers/intern/MOD_multires.c index 134574ae6c4..48b1112cad2 100644 --- a/source/blender/modifiers/intern/MOD_multires.c +++ b/source/blender/modifiers/intern/MOD_multires.c @@ -131,4 +131,5 @@ ModifierTypeInfo modifierType_Multires = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ NULL, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_none.c b/source/blender/modifiers/intern/MOD_none.c index 489733c8480..304ec39ef93 100644 --- a/source/blender/modifiers/intern/MOD_none.c +++ b/source/blender/modifiers/intern/MOD_none.c @@ -77,4 +77,5 @@ ModifierTypeInfo modifierType_None = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ NULL, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_particleinstance.c b/source/blender/modifiers/intern/MOD_particleinstance.c index 46d53e0db15..b0b43e018f7 100644 --- a/source/blender/modifiers/intern/MOD_particleinstance.c +++ b/source/blender/modifiers/intern/MOD_particleinstance.c @@ -350,4 +350,5 @@ ModifierTypeInfo modifierType_ParticleInstance = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_particlesystem.c b/source/blender/modifiers/intern/MOD_particlesystem.c index 533bfd203b5..5635ba33d80 100644 --- a/source/blender/modifiers/intern/MOD_particlesystem.c +++ b/source/blender/modifiers/intern/MOD_particlesystem.c @@ -242,4 +242,5 @@ ModifierTypeInfo modifierType_ParticleSystem = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ NULL, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c index 17e350482f0..c5fdf465a0a 100644 --- a/source/blender/modifiers/intern/MOD_screw.c +++ b/source/blender/modifiers/intern/MOD_screw.c @@ -903,4 +903,5 @@ ModifierTypeInfo modifierType_Screw = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_shapekey.c b/source/blender/modifiers/intern/MOD_shapekey.c index 94d23de6573..6e55466c1e4 100644 --- a/source/blender/modifiers/intern/MOD_shapekey.c +++ b/source/blender/modifiers/intern/MOD_shapekey.c @@ -148,5 +148,6 @@ ModifierTypeInfo modifierType_ShapeKey = { /* dependsOnTime */ NULL, /* dependsOnNormals */ NULL, /* foreachObjectLink */ NULL, - /* foreachIDLink */ NULL + /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_shrinkwrap.c b/source/blender/modifiers/intern/MOD_shrinkwrap.c index e1fc4bc969f..ba25df19b3e 100644 --- a/source/blender/modifiers/intern/MOD_shrinkwrap.c +++ b/source/blender/modifiers/intern/MOD_shrinkwrap.c @@ -186,4 +186,5 @@ ModifierTypeInfo modifierType_Shrinkwrap = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_simpledeform.c b/source/blender/modifiers/intern/MOD_simpledeform.c index ea4771b679a..2f875386dc6 100644 --- a/source/blender/modifiers/intern/MOD_simpledeform.c +++ b/source/blender/modifiers/intern/MOD_simpledeform.c @@ -395,4 +395,5 @@ ModifierTypeInfo modifierType_SimpleDeform = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_smoke.c b/source/blender/modifiers/intern/MOD_smoke.c index d8e94e92bfa..c0622f975df 100644 --- a/source/blender/modifiers/intern/MOD_smoke.c +++ b/source/blender/modifiers/intern/MOD_smoke.c @@ -184,4 +184,5 @@ ModifierTypeInfo modifierType_Smoke = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ NULL, /* foreachIDLink */ foreachIDLink, + /* foreachTexLink */ NULL }; diff --git a/source/blender/modifiers/intern/MOD_smooth.c b/source/blender/modifiers/intern/MOD_smooth.c index 5f76fad14b1..300501c7459 100644 --- a/source/blender/modifiers/intern/MOD_smooth.c +++ b/source/blender/modifiers/intern/MOD_smooth.c @@ -273,4 +273,5 @@ ModifierTypeInfo modifierType_Smooth = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ NULL, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_softbody.c b/source/blender/modifiers/intern/MOD_softbody.c index 25996286735..c475328676b 100644 --- a/source/blender/modifiers/intern/MOD_softbody.c +++ b/source/blender/modifiers/intern/MOD_softbody.c @@ -87,4 +87,5 @@ ModifierTypeInfo modifierType_Softbody = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ NULL, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index 1b7b724835c..2a194b2890a 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -689,5 +689,6 @@ ModifierTypeInfo modifierType_Solidify = { /* dependsOnTime */ NULL, /* dependsOnNormals */ NULL, /* foreachObjectLink */ NULL, - /* foreachIDLink */ NULL + /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c index e3e09f660aa..be6f976495b 100644 --- a/source/blender/modifiers/intern/MOD_subsurf.c +++ b/source/blender/modifiers/intern/MOD_subsurf.c @@ -152,4 +152,6 @@ ModifierTypeInfo modifierType_Subsurf = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ NULL, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; + diff --git a/source/blender/modifiers/intern/MOD_surface.c b/source/blender/modifiers/intern/MOD_surface.c index 382358b179e..e30b7f2392d 100644 --- a/source/blender/modifiers/intern/MOD_surface.c +++ b/source/blender/modifiers/intern/MOD_surface.c @@ -192,4 +192,5 @@ ModifierTypeInfo modifierType_Surface = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ NULL, /* foreachIDLink */ NULL, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_uvproject.c b/source/blender/modifiers/intern/MOD_uvproject.c index a5d2e0b38c7..8bde2fa35dc 100644 --- a/source/blender/modifiers/intern/MOD_uvproject.c +++ b/source/blender/modifiers/intern/MOD_uvproject.c @@ -432,4 +432,5 @@ ModifierTypeInfo modifierType_UVProject = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ foreachIDLink, + /* foreachTexLink */ NULL, }; diff --git a/source/blender/modifiers/intern/MOD_warp.c b/source/blender/modifiers/intern/MOD_warp.c index b23ec642466..bdd7926904d 100644 --- a/source/blender/modifiers/intern/MOD_warp.c +++ b/source/blender/modifiers/intern/MOD_warp.c @@ -140,6 +140,11 @@ static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *u walk(userData, ob, (ID **)&wmd->map_object); } +static void foreachTexLink(ModifierData *md, Object *ob, TexWalkFunc walk, void *userData) +{ + walk(userData, ob, md, "texture"); +} + static void updateDepgraph(ModifierData *md, DagForest *forest, struct Scene *UNUSED(scene), Object *UNUSED(ob), DagNode *obNode) { @@ -362,4 +367,5 @@ ModifierTypeInfo modifierType_Warp = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ foreachIDLink, + /* foreachTexLink */ foreachTexLink, }; diff --git a/source/blender/modifiers/intern/MOD_wave.c b/source/blender/modifiers/intern/MOD_wave.c index 6dfe5314131..fe2eab2125d 100644 --- a/source/blender/modifiers/intern/MOD_wave.c +++ b/source/blender/modifiers/intern/MOD_wave.c @@ -126,6 +126,12 @@ static void foreachIDLink(ModifierData *md, Object *ob, foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData); } +static void foreachTexLink(ModifierData *md, Object *ob, + TexWalkFunc walk, void *userData) +{ + walk(userData, ob, md, "texture"); +} + static void updateDepgraph(ModifierData *md, DagForest *forest, Scene *UNUSED(scene), Object *UNUSED(ob), @@ -470,4 +476,5 @@ ModifierTypeInfo modifierType_Wave = { /* dependsOnNormals */ NULL, /* foreachObjectLink */ foreachObjectLink, /* foreachIDLink */ foreachIDLink, + /* foreachTexLink */ foreachTexLink, }; diff --git a/source/blender/nodes/SHD_node.h b/source/blender/nodes/SHD_node.h index 7e8ed741b02..0df709cf810 100644 --- a/source/blender/nodes/SHD_node.h +++ b/source/blender/nodes/SHD_node.h @@ -50,6 +50,7 @@ void register_node_type_sh_vect_math(ListBase *lb); void register_node_type_sh_mix_rgb(ListBase *lb); void register_node_type_sh_rgbtobw(ListBase *lb); void register_node_type_sh_mapping(ListBase *lb); +void register_node_type_sh_texture(ListBase *lb); void register_node_type_sh_attribute(ListBase *lb); void register_node_type_sh_geometry(ListBase *lb); From 03f9f1e4d7ba585c209349205fad26070ab6d305 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 8 Jun 2011 23:36:56 +0000 Subject: [PATCH 053/241] Cycles UI: bring default theme colors in line with startup.blend. --- .../editors/interface/interface_widgets.c | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c index fc8770ccc37..ab0cfe46419 100644 --- a/source/blender/editors/interface/interface_widgets.c +++ b/source/blender/editors/interface/interface_widgets.c @@ -1210,7 +1210,7 @@ static struct uiWidgetStateColors wcol_state_colors= { static struct uiWidgetColors wcol_num= { {25, 25, 25, 255}, - {180, 180, 180, 255}, + {160, 160, 160, 255}, {153, 153, 153, 255}, {90, 90, 90, 255}, @@ -1218,12 +1218,12 @@ static struct uiWidgetColors wcol_num= { {255, 255, 255, 255}, 1, - -20, 0 + -5, 0 }; static struct uiWidgetColors wcol_numslider= { {25, 25, 25, 255}, - {180, 180, 180, 255}, + {160, 160, 160, 255}, {153, 153, 153, 255}, {128, 128, 128, 255}, @@ -1231,7 +1231,7 @@ static struct uiWidgetColors wcol_numslider= { {255, 255, 255, 255}, 1, - -20, 0 + -5, 0 }; static struct uiWidgetColors wcol_text= { @@ -1244,20 +1244,20 @@ static struct uiWidgetColors wcol_text= { {255, 255, 255, 255}, 1, - 0, 25 + 0, 5 }; static struct uiWidgetColors wcol_option= { {0, 0, 0, 255}, - {70, 70, 70, 255}, - {70, 70, 70, 255}, + {60, 60, 60, 255}, + {60, 60, 60, 255}, {255, 255, 255, 255}, {0, 0, 0, 255}, {255, 255, 255, 255}, 1, - 15, -15 + 5, -5 }; /* button that shows popup */ @@ -1265,13 +1265,13 @@ static struct uiWidgetColors wcol_menu= { {0, 0, 0, 255}, {70, 70, 70, 255}, {70, 70, 70, 255}, - {255, 255, 255, 255}, + {45, 45, 45, 255}, {255, 255, 255, 255}, {204, 204, 204, 255}, 1, - 15, -15 + 5, -5 }; /* button that starts pulldown */ @@ -1298,7 +1298,7 @@ static struct uiWidgetColors wcol_menu_item= { {255, 255, 255, 255}, {0, 0, 0, 255}, - 1, + 0, 38, 0 }; @@ -1323,11 +1323,11 @@ static struct uiWidgetColors wcol_radio= { {86, 128, 194, 255}, {255, 255, 255, 255}, - {255, 255, 255, 255}, + {230, 230, 230, 255}, {0, 0, 0, 255}, 1, - 15, -15 + 5, -5 }; static struct uiWidgetColors wcol_regular= { @@ -1353,7 +1353,7 @@ static struct uiWidgetColors wcol_tool= { {255, 255, 255, 255}, 1, - 15, -15 + 5, -5 }; static struct uiWidgetColors wcol_box= { From d06242ac71f104abcb3ec2f58216a0a920c0ffe9 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 10 Jun 2011 12:45:11 +0000 Subject: [PATCH 054/241] Cycles: fix crash splitting/joining properties editor. --- source/blender/editors/space_buttons/space_buttons.c | 1 + 1 file changed, 1 insertion(+) diff --git a/source/blender/editors/space_buttons/space_buttons.c b/source/blender/editors/space_buttons/space_buttons.c index a9ad789c9b2..09a2eac8dcb 100644 --- a/source/blender/editors/space_buttons/space_buttons.c +++ b/source/blender/editors/space_buttons/space_buttons.c @@ -135,6 +135,7 @@ static SpaceLink *buttons_duplicate(SpaceLink *sl) /* clear or remove stuff from old */ sbutsn->ri= NULL; sbutsn->path= NULL; + sbutsn->texuser= NULL; return (SpaceLink *)sbutsn; } From b0d0ade61d3f4e930c60fd9fc21dcba50ac058e9 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 10 Jun 2011 13:22:55 +0000 Subject: [PATCH 055/241] Cycles: quick GLSL stubs for new material nodes, so they show something. BSDFs and procedural textures show mostly as diffuse and white, geometry and texture coordinates are incomplete. --- source/blender/blenkernel/intern/node.c | 2 + source/blender/gpu/intern/gpu_draw.c | 27 +- .../gpu/intern/gpu_shader_material.glsl | 310 ++ .../gpu/intern/gpu_shader_material.glsl.c | 2614 +++++++++-------- .../nodes/intern/SHD_nodes/SHD_add_closure.c | 7 +- .../intern/SHD_nodes/SHD_bsdf_anisotropic.c | 7 +- .../nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c | 7 +- .../nodes/intern/SHD_nodes/SHD_bsdf_glass.c | 25 +- .../nodes/intern/SHD_nodes/SHD_bsdf_glossy.c | 8 +- .../intern/SHD_nodes/SHD_bsdf_translucent.c | 7 +- .../intern/SHD_nodes/SHD_bsdf_transparent.c | 7 +- .../nodes/intern/SHD_nodes/SHD_bsdf_velvet.c | 7 +- .../nodes/intern/SHD_nodes/SHD_emission.c | 7 +- .../nodes/intern/SHD_nodes/SHD_fresnel.c | 8 +- .../nodes/intern/SHD_nodes/SHD_geometry.c | 9 +- .../nodes/intern/SHD_nodes/SHD_light_path.c | 7 +- .../nodes/intern/SHD_nodes/SHD_mix_closure.c | 7 +- .../intern/SHD_nodes/SHD_output_material.c | 13 +- .../nodes/intern/SHD_nodes/SHD_tex_blend.c | 7 +- .../nodes/intern/SHD_nodes/SHD_tex_clouds.c | 7 +- .../nodes/intern/SHD_nodes/SHD_tex_coord.c | 14 +- .../intern/SHD_nodes/SHD_tex_distnoise.c | 7 +- .../intern/SHD_nodes/SHD_tex_environment.c | 10 +- .../nodes/intern/SHD_nodes/SHD_tex_image.c | 10 +- .../nodes/intern/SHD_nodes/SHD_tex_magic.c | 10 +- .../nodes/intern/SHD_nodes/SHD_tex_marble.c | 7 +- .../nodes/intern/SHD_nodes/SHD_tex_musgrave.c | 7 +- .../nodes/intern/SHD_nodes/SHD_tex_noise.c | 7 +- .../nodes/intern/SHD_nodes/SHD_tex_sky.c | 7 +- .../nodes/intern/SHD_nodes/SHD_tex_stucci.c | 7 +- .../nodes/intern/SHD_nodes/SHD_tex_voronoi.c | 7 +- .../nodes/intern/SHD_nodes/SHD_tex_wood.c | 7 +- 32 files changed, 1924 insertions(+), 1269 deletions(-) diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index ee13d19e26e..d9c1bf058a5 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -3114,6 +3114,8 @@ static void gpu_from_node_stack(ListBase *sockets, bNodeStack **ns, GPUNodeStack gs[i].type= GPU_VEC3; else if (sock->type == SOCK_RGBA) gs[i].type= GPU_VEC4; + else if (sock->type == SOCK_CLOSURE) + gs[i].type= GPU_VEC4; else gs[i].type= GPU_NONE; diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c index 7dfbc52819e..390b53bd750 100644 --- a/source/blender/gpu/intern/gpu_draw.c +++ b/source/blender/gpu/intern/gpu_draw.c @@ -1189,6 +1189,7 @@ void GPU_end_object_materials(void) int GPU_default_lights(void) { + float zero[3] = {0.0f, 0.0f, 0.0f}; int a, count = 0; /* initialize */ @@ -1214,27 +1215,25 @@ int GPU_default_lights(void) glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, GL_FALSE); - glLightfv(GL_LIGHT0, GL_POSITION, U.light[0].vec); - glLightfv(GL_LIGHT0, GL_DIFFUSE, U.light[0].col); - glLightfv(GL_LIGHT0, GL_SPECULAR, U.light[0].spec); - - glLightfv(GL_LIGHT1, GL_POSITION, U.light[1].vec); - glLightfv(GL_LIGHT1, GL_DIFFUSE, U.light[1].col); - glLightfv(GL_LIGHT1, GL_SPECULAR, U.light[1].spec); - - glLightfv(GL_LIGHT2, GL_POSITION, U.light[2].vec); - glLightfv(GL_LIGHT2, GL_DIFFUSE, U.light[2].col); - glLightfv(GL_LIGHT2, GL_SPECULAR, U.light[2].spec); - for(a=0; a<8; a++) { if(a<3) { if(U.light[a].flag) { glEnable(GL_LIGHT0+a); + + glLightfv(GL_LIGHT0+a, GL_POSITION, U.light[a].vec); + glLightfv(GL_LIGHT0+a, GL_DIFFUSE, U.light[a].col); + glLightfv(GL_LIGHT0+a, GL_SPECULAR, U.light[a].spec); + count++; } - else + else { glDisable(GL_LIGHT0+a); - + + glLightfv(GL_LIGHT0+a, GL_POSITION, zero); + glLightfv(GL_LIGHT0+a, GL_DIFFUSE, zero); + glLightfv(GL_LIGHT0+a, GL_SPECULAR, zero); + } + // clear stuff from other opengl lamp usage glLightf(GL_LIGHT0+a, GL_SPOT_CUTOFF, 180.0); glLightf(GL_LIGHT0+a, GL_CONSTANT_ATTENUATION, 1.0); diff --git a/source/blender/gpu/intern/gpu_shader_material.glsl b/source/blender/gpu/intern/gpu_shader_material.glsl index feb0a84fa87..0faf550e882 100644 --- a/source/blender/gpu/intern/gpu_shader_material.glsl +++ b/source/blender/gpu/intern/gpu_shader_material.glsl @@ -108,6 +108,7 @@ void linearrgb_to_srgb(vec4 col_from, out vec4 col_to) } #define M_PI 3.14159265358979323846 +#define M_1_PI 0.31830988618379069 /*********** SHADER NODES ***************/ @@ -1786,3 +1787,312 @@ void shade_alpha_obcolor(vec4 col, vec4 obcol, out vec4 outcol) outcol = vec4(col.rgb, col.a*obcol.a); } +/*********** NEW SHADER UTILITIES **************/ + +float fresnel_dielectric(vec3 Incoming, vec3 Normal, float eta) +{ + /* compute fresnel reflectance without explicitly computing + the refracted direction */ + float c = abs(dot(Incoming, Normal)); + float g = eta * eta - 1.0 + c * c; + float result; + + if(g > 0.0) { + g = sqrt(g); + float A =(g - c)/(g + c); + float B =(c *(g + c)- 1.0)/(c *(g - c)+ 1.0); + result = 0.5 * A * A *(1.0 + B * B); + } + else + result = 1.0; /* TIR (no refracted component) */ + + return result; +} + +float hypot(float x, float y) +{ + return sqrt(x*x + y*y); +} + +/*********** NEW SHADER NODES ***************/ + +#define NUM_LIGHTS 3 + +/* bsdfs */ + +void node_bsdf_diffuse(vec4 color, vec3 N, out vec4 result) +{ + result = vec4(0.0); + + for(int i = 0; i < NUM_LIGHTS; i++) { + vec3 L = gl_LightSource[i].position.xyz; + vec4 Ldiffuse = gl_LightSource[i].diffuse; + + float bsdf = abs(dot(N, L)) * M_1_PI; + result += Ldiffuse*color*bsdf; + } +} + +void node_bsdf_glossy(vec4 color, float roughness, float fresnel, vec3 N, vec3 I, out vec4 result) +{ + result = vec4(0.0); + + for(int i = 0; i < NUM_LIGHTS; i++) { + vec3 H = gl_LightSource[i].halfVector.xyz; + vec4 Lspecular = gl_LightSource[i].specular; + + float bsdf = pow(abs(dot(N, H)), 1.0/roughness) * M_1_PI; + result += Lspecular*color*bsdf; + } +} + +void node_bsdf_anisotropic(vec4 color, float roughnessU, float roughnessV, vec3 N, vec3 I, out vec4 result) +{ + node_bsdf_diffuse(color, N, result); +} + +void node_bsdf_glass(vec4 color, float roughness, float fresnel, vec3 N, vec3 I, out vec4 result) +{ + node_bsdf_diffuse(color, N, result); +} + +void node_bsdf_translucent(vec4 color, vec3 N, out vec4 result) +{ + node_bsdf_diffuse(color, N, result); +} + +void node_bsdf_transparent(vec4 color, out vec4 result) +{ + /* this isn't right */ + result.r = color.r; + result.g = color.g; + result.b = color.b; + result.a = 0.0; +} + +void node_bsdf_velvet(vec4 color, float sigma, float fresnel, vec3 N, out vec4 result) +{ + node_bsdf_diffuse(color, N, result); +} + +/* emission */ + +void node_emission(vec4 color, float strength, vec3 N, out vec4 result) +{ + result = color*strength * M_1_PI; +} + +/* closures */ + +void node_mix_closure(float fac, vec4 closure1, vec4 closure2, out vec4 closure) +{ + closure = mix(closure1, closure2, fac); +} + +void node_add_closure(vec4 closure1, vec4 closure2, out vec4 closure) +{ + closure = closure1 + closure2; +} + +/* fresnel */ + +void node_fresnel(float f, vec3 N, vec3 I, out float result) +{ + f = max(1.0 - f, 0.00001); + result = fresnel_dielectric(I, N, 1.0/f); //backfacing()? f: 1.0/f); +} + +/* geometry */ + +void node_geometry(vec3 I, vec3 N, mat4 toworld, + out vec3 position, out vec3 normal, out vec3 tangent, + out vec3 true_normal, out vec3 incoming, out vec3 parametric, + out float backfacing) +{ + position = (toworld*vec4(I, 1.0)).xyz; + normal = N; + tangent = vec3(0.0); + true_normal = N; + incoming = I; + parametric = vec3(0.0); + backfacing = 0.0; +} + +void node_tex_coord(vec3 I, vec3 N, mat4 toworld, + vec3 attr_orco, vec3 attr_uv, + out vec3 generated, out vec3 uv, out vec3 object, + out vec3 camera, out vec3 window, out vec3 reflection) +{ + generated = attr_orco; + uv = attr_uv; + object = I; + camera = I; + window = gl_FragCoord.xyz; + reflection = reflect(N, I); + +} + +/* textures */ + +void node_tex_blend(vec3 co, out float fac) +{ + fac = 1.0; +} + +void node_tex_clouds(vec3 co, float size, out vec4 color, out float fac) +{ + color = vec4(1.0); + fac = 1.0; +} + +void node_tex_distnoise(vec3 co, float size, float distortion, out float fac) +{ + fac = 1.0; +} + +void node_tex_environment(vec3 co, sampler2D ima, out vec4 color) +{ + float u = (atan(co.y, co.x) + M_PI)/(2.0*M_PI); + float v = atan(co.z, hypot(co.x, co.y))/M_PI + 0.5; + + color = texture2D(ima, vec2(u, v)); +} + +void node_tex_image(vec3 co, sampler2D ima, out vec4 color) +{ + color = texture2D(ima, co.xy); +} + +void node_tex_magic(vec3 p, float turbulence, float n, out vec4 color) +{ + float turb = turbulence/5.0; + + float x = sin((p.x + p.y + p.z)*5.0); + float y = cos((-p.x + p.y - p.z)*5.0); + float z = -cos((-p.x - p.y + p.z)*5.0); + + if(n > 0.0) { + x *= turb; + y *= turb; + z *= turb; + y = -cos(x-y+z); + y *= turb; + + if(n > 1.0) { + x= cos(x-y-z); + x *= turb; + + if(n > 2.0) { + z= sin(-x-y-z); + z *= turb; + + if(n > 3.0) { + x= -cos(-x+y-z); + x *= turb; + + if(n > 4.0) { + y= -sin(-x+y+z); + y *= turb; + + if(n > 5.0) { + y= -cos(-x+y+z); + y *= turb; + + if(n > 6.0) { + x= cos(x+y+z); + x *= turb; + + if(n > 7.0) { + z= sin(x+y-z); + z *= turb; + + if(n > 8.0) { + x= -cos(-x-y+z); + x *= turb; + + if(n > 9.0) { + y= -sin(x-y+z); + y *= turb; + } + } + } + } + } + } + } + } + } + } + + if(turb != 0.0) { + turb *= 2.0; + x /= turb; + y /= turb; + z /= turb; + } + + color = vec4(0.5 - x, 0.5 - y, 0.5 - z, 1.0); +} + +void node_tex_marble(vec3 co, float size, float turbulence, out float fac) +{ + fac = 1.0; +} + +void node_tex_musgrave(vec3 co, float size, float dimension, float lacunarity, float octaves, float offset, float gain, out float fac) +{ + fac = 1.0; +} + +void node_tex_noise(vec3 co, out vec4 color, out float fac) +{ + color = vec4(1.0); + fac = 1.0; +} + +void node_tex_sky(vec3 co, out vec4 color) +{ + color = vec4(1.0); +} + +void node_tex_stucci(vec3 co, float size, float turbulence, out float fac) +{ + fac = 1.0; +} + +void node_tex_voronoi(vec3 co, float size, float weight1, float weight2, float weight3, float weight4, float exponent, out vec4 color, out float fac) +{ + color = vec4(1.0); + fac = 1.0; +} + +void node_tex_wood(vec3 co, float size, float turbulence, out float fac) +{ + fac = 1.0; +} + +/* light path */ + +void node_light_path( + out float is_camera_ray, + out float is_shadow_ray, + out float is_diffuse_ray, + out float is_glossy_ray, + out float is_reflection_ray, + out float is_transmission_ray) +{ + is_camera_ray = 1.0; + is_shadow_ray = 0.0; + is_diffuse_ray = 0.0; + is_glossy_ray = 0.0; + is_reflection_ray = 0.0; + is_transmission_ray = 0.0; +} + +/* output */ + +void node_output_material(vec4 surface, vec4 volume, float displacement, out vec4 result) +{ + result = surface * M_PI; +} + diff --git a/source/blender/gpu/intern/gpu_shader_material.glsl.c b/source/blender/gpu/intern/gpu_shader_material.glsl.c index b60f7f1555e..f87e346602b 100644 --- a/source/blender/gpu/intern/gpu_shader_material.glsl.c +++ b/source/blender/gpu/intern/gpu_shader_material.glsl.c @@ -1,1232 +1,1428 @@ /* DataToC output of file */ -int datatoc_gpu_shader_material_glsl_size= 39207; +int datatoc_gpu_shader_material_glsl_size= 45475; char datatoc_gpu_shader_material_glsl[]= { - 10,102,108,111, 97,116, 32, -101,120,112, 95, 98,108,101,110,100,101,114, 40,102,108,111, 97,116, 32,102, 41, 10,123, 10, 9,114,101,116,117,114,110, 32,112, -111,119, 40, 50, 46, 55, 49, 56, 50, 56, 49, 56, 50, 56, 52, 54, 44, 32,102, 41, 59, 10,125, 10, 10,118,111,105,100, 32,114,103, - 98, 95,116,111, 95,104,115,118, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99, -111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32, 99,109, 97,120, 44, 32, 99,109,105,110, 44, 32,104, 44, 32,115, 44, 32,118, - 44, 32, 99,100,101,108,116, 97, 59, 10, 9,118,101, 99, 51, 32, 99, 59, 10, 10, 9, 99,109, 97,120, 32, 61, 32,109, 97,120, 40, -114,103, 98, 91, 48, 93, 44, 32,109, 97,120, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, 41, 59, 10, 9, 99, -109,105,110, 32, 61, 32,109,105,110, 40,114,103, 98, 91, 48, 93, 44, 32,109,105,110, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, - 98, 91, 50, 93, 41, 41, 59, 10, 9, 99,100,101,108,116, 97, 32, 61, 32, 99,109, 97,120, 45, 99,109,105,110, 59, 10, 10, 9,118, - 32, 61, 32, 99,109, 97,120, 59, 10, 9,105,102, 32, 40, 99,109, 97,120, 33, 61, 48, 46, 48, 41, 10, 9, 9,115, 32, 61, 32, 99, -100,101,108,116, 97, 47, 99,109, 97,120, 59, 10, 9,101,108,115,101, 32,123, 10, 9, 9,115, 32, 61, 32, 48, 46, 48, 59, 10, 9, - 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 10, 9,105,102, 32, 40,115, 32, 61, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, - 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9, 99, 32, 61, 32, 40,118,101, 99, 51, - 40, 99,109, 97,120, 44, 32, 99,109, 97,120, 44, 32, 99,109, 97,120, 41, 32, 45, 32,114,103, 98, 46,120,121,122, 41, 47, 99,100, -101,108,116, 97, 59, 10, 10, 9, 9,105,102, 32, 40,114,103, 98, 46,120, 61, 61, 99,109, 97,120, 41, 32,104, 32, 61, 32, 99, 91, - 50, 93, 32, 45, 32, 99, 91, 49, 93, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,114,103, 98, 46,121, 61, 61, 99,109, 97, -120, 41, 32,104, 32, 61, 32, 50, 46, 48, 32, 43, 32, 99, 91, 48, 93, 32, 45, 32, 32, 99, 91, 50, 93, 59, 10, 9, 9,101,108,115, -101, 32,104, 32, 61, 32, 52, 46, 48, 32, 43, 32, 99, 91, 49, 93, 32, 45, 32, 99, 91, 48, 93, 59, 10, 10, 9, 9,104, 32, 47, 61, - 32, 54, 46, 48, 59, 10, 10, 9, 9,105,102, 32, 40,104, 60, 48, 46, 48, 41, 10, 9, 9, 9,104, 32, 43, 61, 32, 49, 46, 48, 59, - 10, 9,125, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,104, 44, 32,115, 44, 32,118, 44, 32,114,103, 98, - 46,119, 41, 59, 10,125, 10, 10,118,111,105,100, 32,104,115,118, 95,116,111, 95,114,103, 98, 40,118,101, 99, 52, 32,104,115,118, - 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,105, 44, 32,102, - 44, 32,112, 44, 32,113, 44, 32,116, 44, 32,104, 44, 32,115, 44, 32,118, 59, 10, 9,118,101, 99, 51, 32,114,103, 98, 59, 10, 10, - 9,104, 32, 61, 32,104,115,118, 91, 48, 93, 59, 10, 9,115, 32, 61, 32,104,115,118, 91, 49, 93, 59, 10, 9,118, 32, 61, 32,104, -115,118, 91, 50, 93, 59, 10, 10, 9,105,102, 40,115, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 32, 61, 32,118,101, - 99, 51, 40,118, 44, 32,118, 44, 32,118, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, 40,104, 61, 61, - 49, 46, 48, 41, 10, 9, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9, 10, 9, 9,104, 32, 42, 61, 32, 54, 46, 48, 59, 10, - 9, 9,105, 32, 61, 32,102,108,111,111,114, 40,104, 41, 59, 10, 9, 9,102, 32, 61, 32,104, 32, 45, 32,105, 59, 10, 9, 9,114, -103, 98, 32, 61, 32,118,101, 99, 51, 40,102, 44, 32,102, 44, 32,102, 41, 59, 10, 9, 9,112, 32, 61, 32,118, 42, 40, 49, 46, 48, - 45,115, 41, 59, 10, 9, 9,113, 32, 61, 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42,102, 41, 41, 59, 10, 9, 9,116, 32, 61, 32, -118, 42, 40, 49, 46, 48, 45, 40,115, 42, 40, 49, 46, 48, 45,102, 41, 41, 41, 59, 10, 9, 9, 10, 9, 9,105,102, 32, 40,105, 32, - 61, 61, 32, 48, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,116, 44, 32,112, 41, 59, 10, 9, 9,101, -108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 49, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,113, 44, 32, -118, 44, 32,112, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 50, 46, 48, 41, 32,114,103, 98, 32, - 61, 32,118,101, 99, 51, 40,112, 44, 32,118, 44, 32,116, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, - 32, 51, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,112, 44, 32,113, 44, 32,118, 41, 59, 10, 9, 9,101,108,115, -101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 52, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,116, 44, 32,112, 44, - 32,118, 41, 59, 10, 9, 9,101,108,115,101, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,112, 44, 32,113, 41, 59, - 10, 9,125, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 44, 32,104,115,118, 46,119, 41, 59, - 10,125, 10, 10,102,108,111, 97,116, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,102,108,111, 97, -116, 32, 99, 41, 10,123, 10, 9,105,102, 40, 99, 32, 60, 32, 48, 46, 48, 52, 48, 52, 53, 41, 10, 9, 9,114,101,116,117,114,110, - 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, 63, 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 40, 49, 46, 48, 47, 49, 50, 46, 57, 50, 41, - 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116,117,114,110, 32,112,111,119, 40, 40, 99, 32, 43, 32, 48, 46, 48, 53, 53, 41, - 42, 40, 49, 46, 48, 47, 49, 46, 48, 53, 53, 41, 44, 32, 50, 46, 52, 41, 59, 10,125, 10, 10,102,108,111, 97,116, 32,108,105,110, -101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40,102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9,105,102, 40, 99, 32, - 60, 32, 48, 46, 48, 48, 51, 49, 51, 48, 56, 41, 10, 9, 9,114,101,116,117,114,110, 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, 63, - 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 49, 50, 46, 57, 50, 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116,117,114,110, 32, - 49, 46, 48, 53, 53, 32, 42, 32,112,111,119, 40, 99, 44, 32, 49, 46, 48, 47, 50, 46, 52, 41, 32, 45, 32, 48, 46, 48, 53, 53, 59, - 10,125, 10, 10,118,111,105,100, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,118,101, 99, 52, 32, - 99,111,108, 95,102,114,111,109, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111, -108, 95,116,111, 46,114, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102, -114,111,109, 46,114, 41, 59, 10, 9, 99,111,108, 95,116,111, 46,103, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, - 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,115, -114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99, -111,108, 95,116,111, 46, 97, 32, 61, 32, 99,111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,108,105, -110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 95,102,114,111,109, 44, 32,111, -117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111,108, 95,116,111, 46,114, 32, 61, 32,108,105, -110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,114, 41, 59, 10, 9, 99,111, -108, 95,116,111, 46,103, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102, -114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, - 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 97, 32, 61, 32, 99, -111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10, 35,100,101,102,105,110,101, 32, 77, 95, 80, 73, 32, 51, 46, 49, 52, 49, - 53, 57, 50, 54, 53, 51, 53, 56, 57, 55, 57, 51, 50, 51, 56, 52, 54, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, - 83, 72, 65, 68, 69, 82, 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118, -111,105,100, 32,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 52, 32, 97,116,116,118, 99,111,108, 44, - 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 41, 10,123, 10, 9,118, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 97, -116,116,118, 99,111,108, 46,120, 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111,108, 46,121, 47, 50, 53, 53, 46, 48, 44, - 32, 97,116,116,118, 99,111,108, 46,122, 47, 50, 53, 53, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32, -117,118, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,111,117,116, 32,118,101, 99, - 51, 32,117,118, 41, 10,123, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118, -101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,103,101,111, -109, 40,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,109, 97,116, 52, 32,118,105,101,119,105,110, -118,109, 97,116, 44, 32,118,101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32, -118,101, 99, 52, 32, 97,116,116,118, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 44, 32,111, -117,116, 32,118,101, 99, 51, 32,108,111, 99, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117, -116, 32,118,101, 99, 51, 32,111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 44, 32,111,117,116, 32,118,101, - 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,102,114,111,110,116, 98, 97, 99,107, 41, 10,123, 10, 9,108,111, 99, 97,108, 32, 61, 32, 99,111, 59, 10, 9,118, -105,101,119, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108,111, 99, 97,108, 41, 59, 10, 9,103,108,111, 98, 97,108, 32, - 61, 32, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40,108,111, 99, 97,108, 44, 32, 49, 46, 48, 41, 41, 46, -120,121,122, 59, 10, 9,111,114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111, 59, 10, 9,117,118, 95, 97,116,116,114,105, 98, -117,116,101, 40, 97,116,116,117,118, 44, 32,117,118, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97, -108,105,122,101, 40,110,111,114, 41, 59, 9, 47, 42, 32, 98,108,101,110,100,101,114, 32,114,101,110,100,101,114, 32,110,111,114, -109, 97,108, 32,105,115, 32,110,101,103, 97,116,101,100, 32, 42, 47, 10, 9,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116, -101, 40, 97,116,116,118, 99,111,108, 44, 32,118, 99,111,108, 41, 59, 10, 9,102,114,111,110,116, 98, 97, 99,107, 32, 61, 32, 49, - 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,112,112,105,110,103, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,109, 97, -116, 52, 32,109, 97,116, 44, 32,118,101, 99, 51, 32,109,105,110,118,101, 99, 44, 32,118,101, 99, 51, 32,109, 97,120,118,101, 99, - 44, 32,102,108,111, 97,116, 32,100,111,109,105,110, 44, 32,102,108,111, 97,116, 32,100,111,109, 97,120, 44, 32,111,117,116, 32, -118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32, 40,109, 97,116, 32, 42, 32, -118,101, 99, 52, 40,118,101, 99, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,105,102, 40,100,111,109,105,110, 32, 61, - 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32,109, 97,120, 40,111,117,116,118,101, 99, 44, 32,109,105, -110,118,101, 99, 41, 59, 10, 9,105,102, 40,100,111,109, 97,120, 32, 61, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, - 99, 32, 61, 32,109,105,110, 40,111,117,116,118,101, 99, 44, 32,109, 97,120,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, - 32, 99, 97,109,101,114, 97, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,105,101, -119, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,101,112,116,104, 44, 32,111,117,116, 32,102,108,111, 97,116, - 32,111,117,116,100,105,115,116, 41, 10,123, 10, 9,111,117,116,100,101,112,116,104, 32, 61, 32, 97, 98,115, 40, 99,111, 46,122, - 41, 59, 10, 9,111,117,116,100,105,115,116, 32, 61, 32,108,101,110,103,116,104, 40, 99,111, 41, 59, 10, 9,111,117,116,118,105, -101,119, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, - 95, 97,100,100, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, - 43, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,115,117, 98,116,114, 97, 99,116, 40,102,108, -111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, -111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 45, 32,118, 97,108, 50, 59, - 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109,117,108,116,105,112,108,121, 40,102,108,111, 97,116, 32,118, 97,108, - 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, - 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 42, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105, -100, 32,109, 97,116,104, 95,100,105,118,105,100,101, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32, -118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, - 97,108, 50, 32, 61, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115, -101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 47, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105, -100, 32,109, 97,116,104, 95,115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, - 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,115,105,110, 40,118, 97,108, 41, 59, 10,125, - 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 99,111,115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117, -116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,115, 40, -118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,116, 97,110,103,101,110,116, 40,102,108,111, 97,116, - 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97, -108, 32, 61, 32,116, 97,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,115,105,110, 40, -102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9, -105,102, 32, 40,118, 97,108, 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, 46, 48, 41, 10, 9, - 9,111,117,116,118, 97,108, 32, 61, 32, 97,115,105,110, 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, -118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97, 99,111,115, 40,102,108,111, - 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, - 40,118, 97,108, 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, 46, 48, 41, 10, 9, 9,111,117, -116,118, 97,108, 32, 61, 32, 97, 99,111,115, 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, - 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,116, 97,110, 40,102,108,111, 97,116, 32, -118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, - 32, 61, 32, 97,116, 97,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,112,111,119, 40,102, -108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, - 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 49, 32, 62, 61, 32, 48, 46, 48, 41, 10, 9, 9,111, -117,116,118, 97,108, 32, 61, 32,112,111,119, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, - 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,108,111,103, 40, -102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97, -116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 62, 32, 48, 46, 48, 32, 32, 38, 38, 32,118, - 97,108, 50, 32, 62, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 61, 32,108,111,103, 50, 40,118, 97,108, 49, 41, 32, - 47, 32,108,111,103, 50, 40,118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 61, 32, 48, 46, - 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109, 97,120, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32, -102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, - 9,111,117,116,118, 97,108, 32, 61, 32,109, 97,120, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111, -105,100, 32,109, 97,116,104, 95,109,105,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97, + 10,102,108, +111, 97,116, 32,101,120,112, 95, 98,108,101,110,100,101,114, 40,102,108,111, 97,116, 32,102, 41, 10,123, 10, 9,114,101,116,117, +114,110, 32,112,111,119, 40, 50, 46, 55, 49, 56, 50, 56, 49, 56, 50, 56, 52, 54, 44, 32,102, 41, 59, 10,125, 10, 10,118,111,105, +100, 32,114,103, 98, 95,116,111, 95,104,115,118, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32, +111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32, 99,109, 97,120, 44, 32, 99,109,105,110, 44, 32,104, 44, 32, +115, 44, 32,118, 44, 32, 99,100,101,108,116, 97, 59, 10, 9,118,101, 99, 51, 32, 99, 59, 10, 10, 9, 99,109, 97,120, 32, 61, 32, +109, 97,120, 40,114,103, 98, 91, 48, 93, 44, 32,109, 97,120, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, 41, + 59, 10, 9, 99,109,105,110, 32, 61, 32,109,105,110, 40,114,103, 98, 91, 48, 93, 44, 32,109,105,110, 40,114,103, 98, 91, 49, 93, + 44, 32,114,103, 98, 91, 50, 93, 41, 41, 59, 10, 9, 99,100,101,108,116, 97, 32, 61, 32, 99,109, 97,120, 45, 99,109,105,110, 59, + 10, 10, 9,118, 32, 61, 32, 99,109, 97,120, 59, 10, 9,105,102, 32, 40, 99,109, 97,120, 33, 61, 48, 46, 48, 41, 10, 9, 9,115, + 32, 61, 32, 99,100,101,108,116, 97, 47, 99,109, 97,120, 59, 10, 9,101,108,115,101, 32,123, 10, 9, 9,115, 32, 61, 32, 48, 46, + 48, 59, 10, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 10, 9,105,102, 32, 40,115, 32, 61, 61, 32, 48, 46, 48, 41, + 32,123, 10, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9, 99, 32, 61, 32, 40, +118,101, 99, 51, 40, 99,109, 97,120, 44, 32, 99,109, 97,120, 44, 32, 99,109, 97,120, 41, 32, 45, 32,114,103, 98, 46,120,121,122, + 41, 47, 99,100,101,108,116, 97, 59, 10, 10, 9, 9,105,102, 32, 40,114,103, 98, 46,120, 61, 61, 99,109, 97,120, 41, 32,104, 32, + 61, 32, 99, 91, 50, 93, 32, 45, 32, 99, 91, 49, 93, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,114,103, 98, 46,121, 61, + 61, 99,109, 97,120, 41, 32,104, 32, 61, 32, 50, 46, 48, 32, 43, 32, 99, 91, 48, 93, 32, 45, 32, 32, 99, 91, 50, 93, 59, 10, 9, + 9,101,108,115,101, 32,104, 32, 61, 32, 52, 46, 48, 32, 43, 32, 99, 91, 49, 93, 32, 45, 32, 99, 91, 48, 93, 59, 10, 10, 9, 9, +104, 32, 47, 61, 32, 54, 46, 48, 59, 10, 10, 9, 9,105,102, 32, 40,104, 60, 48, 46, 48, 41, 10, 9, 9, 9,104, 32, 43, 61, 32, + 49, 46, 48, 59, 10, 9,125, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,104, 44, 32,115, 44, 32,118, 44, + 32,114,103, 98, 46,119, 41, 59, 10,125, 10, 10,118,111,105,100, 32,104,115,118, 95,116,111, 95,114,103, 98, 40,118,101, 99, 52, + 32,104,115,118, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32, +105, 44, 32,102, 44, 32,112, 44, 32,113, 44, 32,116, 44, 32,104, 44, 32,115, 44, 32,118, 59, 10, 9,118,101, 99, 51, 32,114,103, + 98, 59, 10, 10, 9,104, 32, 61, 32,104,115,118, 91, 48, 93, 59, 10, 9,115, 32, 61, 32,104,115,118, 91, 49, 93, 59, 10, 9,118, + 32, 61, 32,104,115,118, 91, 50, 93, 59, 10, 10, 9,105,102, 40,115, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 32, + 61, 32,118,101, 99, 51, 40,118, 44, 32,118, 44, 32,118, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, + 40,104, 61, 61, 49, 46, 48, 41, 10, 9, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9, 10, 9, 9,104, 32, 42, 61, 32, 54, + 46, 48, 59, 10, 9, 9,105, 32, 61, 32,102,108,111,111,114, 40,104, 41, 59, 10, 9, 9,102, 32, 61, 32,104, 32, 45, 32,105, 59, + 10, 9, 9,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,102, 44, 32,102, 44, 32,102, 41, 59, 10, 9, 9,112, 32, 61, 32,118, 42, + 40, 49, 46, 48, 45,115, 41, 59, 10, 9, 9,113, 32, 61, 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42,102, 41, 41, 59, 10, 9, 9, +116, 32, 61, 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42, 40, 49, 46, 48, 45,102, 41, 41, 41, 59, 10, 9, 9, 10, 9, 9,105,102, + 32, 40,105, 32, 61, 61, 32, 48, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,116, 44, 32,112, 41, 59, + 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 49, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, + 40,113, 44, 32,118, 44, 32,112, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 50, 46, 48, 41, 32, +114,103, 98, 32, 61, 32,118,101, 99, 51, 40,112, 44, 32,118, 44, 32,116, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40, +105, 32, 61, 61, 32, 51, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,112, 44, 32,113, 44, 32,118, 41, 59, 10, 9, + 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 52, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,116, + 44, 32,112, 44, 32,118, 41, 59, 10, 9, 9,101,108,115,101, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,112, 44, + 32,113, 41, 59, 10, 9,125, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 44, 32,104,115,118, + 46,119, 41, 59, 10,125, 10, 10,102,108,111, 97,116, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, +102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9,105,102, 40, 99, 32, 60, 32, 48, 46, 48, 52, 48, 52, 53, 41, 10, 9, 9,114,101, +116,117,114,110, 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, 63, 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 40, 49, 46, 48, 47, 49, 50, + 46, 57, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116,117,114,110, 32,112,111,119, 40, 40, 99, 32, 43, 32, 48, 46, + 48, 53, 53, 41, 42, 40, 49, 46, 48, 47, 49, 46, 48, 53, 53, 41, 44, 32, 50, 46, 52, 41, 59, 10,125, 10, 10,102,108,111, 97,116, + 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40,102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9,105, +102, 40, 99, 32, 60, 32, 48, 46, 48, 48, 51, 49, 51, 48, 56, 41, 10, 9, 9,114,101,116,117,114,110, 32, 40, 99, 32, 60, 32, 48, + 46, 48, 41, 63, 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 49, 50, 46, 57, 50, 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116, +117,114,110, 32, 49, 46, 48, 53, 53, 32, 42, 32,112,111,119, 40, 99, 44, 32, 49, 46, 48, 47, 50, 46, 52, 41, 32, 45, 32, 48, 46, + 48, 53, 53, 59, 10,125, 10, 10,118,111,105,100, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,118, +101, 99, 52, 32, 99,111,108, 95,102,114,111,109, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, + 10, 9, 99,111,108, 95,116,111, 46,114, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99, +111,108, 95,102,114,111,109, 46,114, 41, 59, 10, 9, 99,111,108, 95,116,111, 46,103, 32, 61, 32,115,114,103, 98, 95,116,111, 95, +108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, + 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, + 59, 10, 9, 99,111,108, 95,116,111, 46, 97, 32, 61, 32, 99,111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10,118,111,105, +100, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 95,102,114,111, +109, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111,108, 95,116,111, 46,114, 32, + 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,114, 41, 59, + 10, 9, 99,111,108, 95,116,111, 46,103, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99, +111,108, 95,102,114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,108,105,110,101, 97,114,114,103, + 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 97, + 32, 61, 32, 99,111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10, 35,100,101,102,105,110,101, 32, 77, 95, 80, 73, 32, 51, + 46, 49, 52, 49, 53, 57, 50, 54, 53, 51, 53, 56, 57, 55, 57, 51, 50, 51, 56, 52, 54, 10, 35,100,101,102,105,110,101, 32, 77, 95, + 49, 95, 80, 73, 32, 48, 46, 51, 49, 56, 51, 48, 57, 56, 56, 54, 49, 56, 51, 55, 57, 48, 54, 57, 10, 10, 47, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 32, 83, 72, 65, 68, 69, 82, 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 47, 10, 10,118,111,105,100, 32,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 52, 32, 97, +116,116,118, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 41, 10,123, 10, 9,118, 99,111,108, 32, 61, + 32,118,101, 99, 52, 40, 97,116,116,118, 99,111,108, 46,120, 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111,108, 46,121, + 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111,108, 46,122, 47, 50, 53, 53, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,117,118, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32, +111,117,116, 32,118,101, 99, 51, 32,117,118, 41, 10,123, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 42, + 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118, +111,105,100, 32,103,101,111,109, 40,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,109, 97,116, 52, + 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,118,101, 99, 50, 32, + 97,116,116,117,118, 44, 32,118,101, 99, 52, 32, 97,116,116,118, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108, +111, 98, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,108,111, 99, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, +105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 44, + 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 44, + 32,111,117,116, 32,102,108,111, 97,116, 32,102,114,111,110,116, 98, 97, 99,107, 41, 10,123, 10, 9,108,111, 99, 97,108, 32, 61, + 32, 99,111, 59, 10, 9,118,105,101,119, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108,111, 99, 97,108, 41, 59, 10, 9, +103,108,111, 98, 97,108, 32, 61, 32, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40,108,111, 99, 97,108, 44, + 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,111,114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111, 59, 10, 9,117,118, + 95, 97,116,116,114,105, 98,117,116,101, 40, 97,116,116,117,118, 44, 32,117,118, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, + 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,111,114, 41, 59, 9, 47, 42, 32, 98,108,101,110,100,101,114, 32,114,101,110, +100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32,110,101,103, 97,116,101,100, 32, 42, 47, 10, 9,118, 99,111,108, 95, 97, +116,116,114,105, 98,117,116,101, 40, 97,116,116,118, 99,111,108, 44, 32,118, 99,111,108, 41, 59, 10, 9,102,114,111,110,116, 98, + 97, 99,107, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,112,112,105,110,103, 40,118,101, 99, 51, 32, +118,101, 99, 44, 32,109, 97,116, 52, 32,109, 97,116, 44, 32,118,101, 99, 51, 32,109,105,110,118,101, 99, 44, 32,118,101, 99, 51, + 32,109, 97,120,118,101, 99, 44, 32,102,108,111, 97,116, 32,100,111,109,105,110, 44, 32,102,108,111, 97,116, 32,100,111,109, 97, +120, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32, + 40,109, 97,116, 32, 42, 32,118,101, 99, 52, 40,118,101, 99, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,105,102, 40, +100,111,109,105,110, 32, 61, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32,109, 97,120, 40,111,117,116, +118,101, 99, 44, 32,109,105,110,118,101, 99, 41, 59, 10, 9,105,102, 40,100,111,109, 97,120, 32, 61, 61, 32, 49, 46, 48, 41, 10, + 9, 9,111,117,116,118,101, 99, 32, 61, 32,109,105,110, 40,111,117,116,118,101, 99, 44, 32,109, 97,120,118,101, 99, 41, 59, 10, +125, 10, 10,118,111,105,100, 32, 99, 97,109,101,114, 97, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, + 32,111,117,116,118,105,101,119, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,101,112,116,104, 44, 32,111,117, +116, 32,102,108,111, 97,116, 32,111,117,116,100,105,115,116, 41, 10,123, 10, 9,111,117,116,100,101,112,116,104, 32, 61, 32, 97, + 98,115, 40, 99,111, 46,122, 41, 59, 10, 9,111,117,116,100,105,115,116, 32, 61, 32,108,101,110,103,116,104, 40, 99,111, 41, 59, + 10, 9,111,117,116,118,105,101,119, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 41, 59, 10,125, 10, 10,118,111, +105,100, 32,109, 97,116,104, 95, 97,100,100, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97, 108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, - 61, 32,109,105,110, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, -114,111,117,110,100, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97, -108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 61, 32,102,108,111,111,114, 40,118, 97,108, 32, 43, 32, 48, 46, 53, 41, 59, 10, -125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,108,101,115,115, 95,116,104, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, - 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, - 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 60, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 49, - 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105, -100, 32,109, 97,116,104, 95,103,114,101, 97,116,101,114, 95,116,104, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32, -102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, - 9,105,102, 40,118, 97,108, 49, 32, 62, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, - 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115, -113,117,101,101,122,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,102,108,111, 97,116, 32,119,105,100,116,104, 44, 32,102, -108,111, 97,116, 32, 99,101,110,116,101,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, - 10, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 47, 40, 49, 46, 48, 32, 43, 32,112,111,119, 40, 50, 46, 55, 49, 56, 50, - 56, 49, 56, 51, 44, 32, 45, 40, 40,118, 97,108, 45, 99,101,110,116,101,114, 41, 42,119,105,100,116,104, 41, 41, 41, 59, 10,125, - 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 97,100,100, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, - 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, - 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 43, 32,118, 50, 59, 10, 9,111, -117,116,118, 97,108, 32, 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117, -116,118,101, 99, 91, 49, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, 41, 41, 47, 51, 46, 48, 59, 10, -125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,115,117, 98, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, + 61, 32,118, 97,108, 49, 32, 43, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,115,117, 98,116, +114, 97, 99,116, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, + 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, + 45, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109,117,108,116,105,112,108,121, 40,102,108, +111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, +111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 42, 32,118, 97,108, 50, 59, + 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,100,105,118,105,100,101, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, + 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, + 10, 9,105,102, 32, 40,118, 97,108, 50, 32, 61, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, + 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 47, 32,118, 97,108, 50, 59, + 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117, +116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,115,105,110, 40, +118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 99,111,115,105,110,101, 40,102,108,111, 97,116, 32, +118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, + 32, 61, 32, 99,111,115, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,116, 97,110,103,101,110, +116, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, + 10, 9,111,117,116,118, 97,108, 32, 61, 32,116, 97,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116, +104, 95, 97,115,105,110, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, + 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, + 45, 49, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 97,115,105,110, 40,118, 97,108, 41, 59, 10, 9,101,108,115, +101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97, + 99,111,115, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, + 10,123, 10, 9,105,102, 32, 40,118, 97,108, 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, 46, + 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 97, 99,111,115, 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, 9, + 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,116, 97,110, + 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, + 9,111,117,116,118, 97,108, 32, 61, 32, 97,116, 97,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116, +104, 95,112,111,119, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117, +116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 49, 32, 62, 61, 32, 48, + 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32,112,111,119, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10, + 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97, +116,104, 95,108,111,103, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111, +117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 62, 32, 48, 46, + 48, 32, 32, 38, 38, 32,118, 97,108, 50, 32, 62, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 61, 32,108,111,103, 50, + 40,118, 97,108, 49, 41, 32, 47, 32,108,111,103, 50, 40,118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, +118, 97,108, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109, 97,120, 40,102,108,111, 97,116, + 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, +118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,109, 97,120, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, + 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109,105,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102, +108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9, +111,117,116,118, 97,108, 32, 61, 32,109,105,110, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111,105, +100, 32,109, 97,116,104, 95,114,111,117,110,100, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97, +116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 61, 32,102,108,111,111,114, 40,118, 97,108, 32, 43, + 32, 48, 46, 53, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,108,101,115,115, 95,116,104, 97,110, 40,102,108, +111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, +111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 60, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116, +118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, + 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,103,114,101, 97,116,101,114, 95,116,104, 97,110, 40,102,108,111, 97,116, + 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, +118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 62, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97,108, + 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, + 10,118,111,105,100, 32,115,113,117,101,101,122,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,102,108,111, 97,116, 32,119, +105,100,116,104, 44, 32,102,108,111, 97,116, 32, 99,101,110,116,101,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117, +116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 47, 40, 49, 46, 48, 32, 43, 32,112,111,119, + 40, 50, 46, 55, 49, 56, 50, 56, 49, 56, 51, 44, 32, 45, 40, 40,118, 97,108, 45, 99,101,110,116,101,114, 41, 42,119,105,100,116, +104, 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 97,100,100, 40,118,101, 99, 51, 32, +118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117, +116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 43, + 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, 43, + 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 49, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, 41, + 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,115,117, 98, 40,118,101, 99, 51, + 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111, +117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, + 45, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, + 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 49, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, + 41, 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 97,118,101,114, 97,103,101, + 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118, +101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, + 61, 32,118, 49, 32, 43, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,111,117,116,118, +101, 99, 41, 59, 10, 9,111,117,116,118,101, 99, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,118,101, 99, 41, + 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,100,111,116, 40,118,101, 99, 51, 32,118, 49, 44, 32, +118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 44, 32, + 48, 44, 32, 48, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,100,111,116, 40,118, 49, 44, 32,118, 50, 41, 59, 10,125, 10, + 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 99,114,111,115,115, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97, -116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 45, 32,118, 50, 59, 10, 9, -111,117,116,118, 97,108, 32, 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, 43, 32, 97, 98,115, 40,111, -117,116,118,101, 99, 91, 49, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, 41, 41, 47, 51, 46, 48, 59, - 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 97,118,101,114, 97,103,101, 40,118,101, 99, 51, 32,118, - 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 43, 32, -118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10, 9,111, -117,116,118,101, 99, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,118,101, 99, 41, 59, 10,125, 10, 10,118,111, -105,100, 32,118,101, 99, 95,109, 97,116,104, 95,100,111,116, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, +116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32, 99,114,111,115,115, 40,118, 49, 44, 32, +118, 50, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,110,111,114,109, 97,108,105,122,101, 40,118,101, 99, 51, 32,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, -118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 44, 32, 48, 44, 32, 48, 41, 59, 10, - 9,111,117,116,118, 97,108, 32, 61, 32,100,111,116, 40,118, 49, 44, 32,118, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118, -101, 99, 95,109, 97,116,104, 95, 99,114,111,115,115, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32, -111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97, -108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32, 99,114,111,115,115, 40,118, 49, 44, 32,118, 50, 41, 59, 10, 9,111, -117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32, -118,101, 99, 95,109, 97,116,104, 95,110,111,114,109, 97,108,105,122,101, 40,118,101, 99, 51, 32,118, 44, 32,111,117,116, 32,118, -101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, - 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,118, 41, 59, 10, 9,111,117,116,118,101, 99, 32, 61, 32,110, -111,114,109, 97,108,105,122,101, 40,118, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,110,101, -103, 97,116,101, 40,118,101, 99, 51, 32,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118, 41, 10,123, 10, 9,111, -117,116,118, 32, 61, 32, 45,118, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,100,105, -114, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114, 44, 32,111,117, -116, 32,102,108,111, 97,116, 32,111,117,116,100,111,116, 41, 10,123, 10, 9,111,117,116,110,111,114, 32, 61, 32,100,105,114, 59, - 10, 9,111,117,116,100,111,116, 32, 61, 32, 45,100,111,116, 40,100,105,114, 44, 32,110,111,114, 41, 59, 10,125, 10, 10,118,111, -105,100, 32, 99,117,114,118,101,115, 95,118,101, 99, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 51, 32,118,101, - 99, 44, 32,115, 97,109,112,108,101,114, 49, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 51, 32, -111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 46,120, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, - 99,117,114,118,101,109, 97,112, 44, 32, 40,118,101, 99, 46,120, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 41, 46,120, 59, 10, - 9,111,117,116,118,101, 99, 46,121, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, - 40,118,101, 99, 46,121, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 41, 46,121, 59, 10, 9,111,117,116,118,101, 99, 46,122, 32, - 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 40,118,101, 99, 46,122, 32, 43, 32, 49, - 46, 48, 41, 42, 48, 46, 53, 41, 46,122, 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32, 33, 61, 32, 49, 46, 48, 41, 10, 9, 9, -111,117,116,118,101, 99, 32, 61, 32, 40,111,117,116,118,101, 99, 42,102, 97, 99, 41, 32, 43, 32, 40,118,101, 99, 42, 40, 49, 46, - 48, 45,102, 97, 99, 41, 41, 59, 10, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,118,101,115, 95,114,103, 98, 40,102,108,111, - 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,115, 97,109,112,108,101,114, 49, 68, 32, 99,117,114,118, -101,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, - 46,114, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,116,101,120,116,117,114,101, - 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 99,111,108, 46,114, 41, 46, 97, 41, 46,114, 59, 10, 9,111,117,116, 99,111, -108, 46,103, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,116,101,120,116,117,114, -101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 99,111,108, 46,103, 41, 46, 97, 41, 46,103, 59, 10, 9,111,117,116, 99, -111,108, 46, 98, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,116,101,120,116,117, -114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 99,111,108, 46, 98, 41, 46, 97, 41, 46, 98, 59, 10, 10, 9,105,102, - 32, 40,102, 97, 99, 32, 33, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32, 40,111,117,116, 99,111,108, - 42,102, 97, 99, 41, 32, 43, 32, 40, 99,111,108, 42, 40, 49, 46, 48, 45,102, 97, 99, 41, 41, 59, 10, 10, 9,111,117,116, 99,111, -108, 46, 97, 32, 61, 32, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 40,102, -108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111, -117,116,118, 97,108, 32, 61, 32,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 40,118,101, 99, - 51, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111, -108, 32, 61, 32, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 97, 40,118,101, 99, 52, 32, 99, -111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, - 32, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 95,122,101,114,111, 40,111,117,116, - 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10, -125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 95,111,110,101, 40,111,117,116, 32,102,108,111, 97,116, 32, -111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, - 32,115,101,116, 95,114,103, 98, 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118, 97,108, 41, 10,123, - 10, 9,111,117,116,118, 97,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,101, -116, 95,114,103, 98, 97, 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, 52, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9, -111,117,116,118, 97,108, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, - 98,108,101,110,100, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, - 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, - 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, - 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, - 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 97,100,100, 40,102,108,111, 97,116, - 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32, -118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, - 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, - 99,111,108, 49, 32, 43, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99, -111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,109,117,108,116, 40,102,108,111, 97,116, 32,102, 97, - 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, - 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, - 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, - 49, 32, 42, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, - 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115, 99,114,101,101,110, 40,102,108,111, 97,116, 32,102, 97, 99, - 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, - 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, - 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, - 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 40,118,101, 99, 52, 40,102, 97, - 99,109, 41, 32, 43, 32,102, 97, 99, 42, 40,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 50, 41, 41, 42, 40,118, -101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111, -108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,111,118,101,114,108, 97,121, 40,102,108,111, 97,116, 32, -102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118, -101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, - 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, - 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, - 46,114, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, - 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, - 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99, -111,108, 50, 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59, 10, 10, 9,105,102, 40,111, -117,116, 99,111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 42, 61, 32,102, 97, 99, -109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99, -111,108, 46,103, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, - 48, 32, 45, 32, 99,111,108, 50, 46,103, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10, - 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 42, - 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9,101,108,115,101, 10, 9, - 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, - 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, - 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115,117, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118, -101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117, -116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, - 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 45, 32, - 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, -125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,105,118, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, - 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, - 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, - 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99, -111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,111, -117,116, 99,111,108, 46,114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, 32,102, 97, 99, 42,111,117, -116, 99,111,108, 46,114, 47, 99,111,108, 50, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 50, 46,103, 32, 33, 61, 32, 48, 46, 48, - 41, 32,111,117,116, 99,111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,103, 32, 43, 32,102, 97, 99, - 42,111,117,116, 99,111,108, 46,103, 47, 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 50, 46, 98, 32, 33, 61, 32, - 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46, 98, 32, 43, 32, -102, 97, 99, 42,111,117,116, 99,111,108, 46, 98, 47, 99,111,108, 50, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, - 95,100,105,102,102, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, - 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, - 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, - 32,109,105,120, 40, 99,111,108, 49, 44, 32, 97, 98,115, 40, 99,111,108, 49, 32, 45, 32, 99,111,108, 50, 41, 44, 32,102, 97, 99, - 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109, -105,120, 95,100, 97,114,107, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, - 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, - 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, - 46,114,103, 98, 32, 61, 32,109,105,110, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111,108, 50, 46,114,103, 98, 42,102, 97, - 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32, -109,105,120, 95,108,105,103,104,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32, -118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, - 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99, -111,108, 46,114,103, 98, 32, 61, 32,109, 97,120, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111,108, 50, 46,114,103, 98, 42, -102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105, -100, 32,109,105,120, 95,100,111,100,103,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, - 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, - 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117, -116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 33, 61, 32, 48, 46, - 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, - 50, 46,114, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, -114, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, - 46,114, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, - 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 9,125, 10, 9, -105,102, 40,111,117,116, 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109, -112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, - 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, - 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46,103, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, - 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, - 99,111,108, 46,103, 32, 61, 32,116,109,112, 59, 10, 9,125, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 33, 61, 32, - 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99, -111,108, 50, 46, 98, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111, -108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99, -111,108, 46, 98, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, - 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10, 9,125, - 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 98,117,114,110, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, - 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99, -111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, - 41, 59, 10, 9,102,108,111, 97,116, 32,116,109,112, 44, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, - 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, - 32,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111, -117,116, 99,111,108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, - 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, - 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116, -109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115, -101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, - 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, - 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, - 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 47,116,109,112, 41, 41, 32, 60, - 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, - 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9,101, -108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,109,112, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, - 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, - 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, - 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 47,116,109,112, 41, 41, - 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32, -105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, - 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10,125, 10, 10,118,111,105,100, 32, -109,105,120, 95,104,117,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, - 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, - 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32, -102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, - 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95,116, -111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, 33, - 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115, -118, 41, 59, 10, 9, 9,104,115,118, 46,120, 32, 61, 32,104,115,118, 50, 46,120, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114, -103, 98, 40,104,115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40,111, -117,116, 99,111,108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99, -111,108, 49, 46, 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115, 97,116, 40,102,108,111, 97,116, 32, -102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118, -101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, - 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, - 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, - 32,104,115,118, 50, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, - 10, 10, 9,105,102, 40,104,115,118, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104, -115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9, 9,104,115,118, 46,121, 32, 61, 32,102, 97, 99,109, 42, -104,115,118, 46,121, 32, 43, 32,102, 97, 99, 42,104,115,118, 50, 46,121, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, - 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,118, 97, -108, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, +118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,118, 41, 59, 10, 9,111,117,116, +118,101, 99, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95, +109, 97,116,104, 95,110,101,103, 97,116,101, 40,118,101, 99, 51, 32,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, +118, 41, 10,123, 10, 9,111,117,116,118, 32, 61, 32, 45,118, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,114,109, 97,108, 40, +118,101, 99, 51, 32,100,105,114, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, +110,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,111,116, 41, 10,123, 10, 9,111,117,116,110,111,114, + 32, 61, 32,100,105,114, 59, 10, 9,111,117,116,100,111,116, 32, 61, 32, 45,100,111,116, 40,100,105,114, 44, 32,110,111,114, 41, + 59, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,118,101,115, 95,118,101, 99, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32, +118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, 49, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,111,117, +116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 46,120, 32, 61, 32,116,101,120, +116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 40,118,101, 99, 46,120, 32, 43, 32, 49, 46, 48, 41, 42, 48, + 46, 53, 41, 46,120, 59, 10, 9,111,117,116,118,101, 99, 46,121, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114, +118,101,109, 97,112, 44, 32, 40,118,101, 99, 46,121, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 41, 46,121, 59, 10, 9,111,117, +116,118,101, 99, 46,122, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 40,118,101, + 99, 46,122, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 41, 46,122, 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32, 33, 61, 32, + 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32, 40,111,117,116,118,101, 99, 42,102, 97, 99, 41, 32, 43, 32, 40, +118,101, 99, 42, 40, 49, 46, 48, 45,102, 97, 99, 41, 41, 59, 10, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,118,101,115, 95, +114,103, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,115, 97,109,112,108,101,114, + 49, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, + 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, +116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 99,111,108, 46,114, 41, 46, 97, 41, 46,114, 59, + 10, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, + 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 99,111,108, 46,103, 41, 46, 97, 41, 46,103, + 59, 10, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, + 44, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 99,111,108, 46, 98, 41, 46, 97, 41, 46, + 98, 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32, 33, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32, + 40,111,117,116, 99,111,108, 42,102, 97, 99, 41, 32, 43, 32, 40, 99,111,108, 42, 40, 49, 46, 48, 45,102, 97, 99, 41, 41, 59, 10, + 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95, +118, 97,108,117,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97, +108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95, +114,103, 98, 40,118,101, 99, 51, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, + 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 97, + 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111, +117,116, 99,111,108, 32, 61, 32, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 95,122, +101,114,111, 40,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, + 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 95,111,110,101, 40,111,117,116, + 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10, +125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, 51, 32,111,117, +116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10,125, 10, 10, +118,111,105,100, 32,115,101,116, 95,114,103, 98, 97, 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, 52, 32,111,117,116,118, + 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111, +105,100, 32,109,105,120, 95, 98,108,101,110,100, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, + 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, + 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111, +117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111, +117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 97,100, +100, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97, -109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, - 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 59, 10, 9,114, -103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 49, 44, 32,104,115,118, 41, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115, -118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,104,115,118, 46,122, 32, 61, 32,102, 97, 99,109, 42,104,115, -118, 46,122, 32, 43, 32,102, 97, 99, 42,104,115,118, 50, 46,122, 59, 10, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115, -118, 44, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 99,111,108,111,114, 40,102,108, +109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, + 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 43, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111, +108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,109,117,108,116, 40,102, +108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32, +111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, +102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111, +108, 49, 44, 32, 99,111,108, 49, 32, 42, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, + 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115, 99,114,101,101,110, 40,102,108, 111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111, 117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, - 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32, -104,115,118, 44, 32,104,115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, - 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, - 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 9, 9,104,115,118, 46, -120, 32, 61, 32,104,115,118, 50, 46,120, 59, 10, 9, 9,104,115,118, 46,121, 32, 61, 32,104,115,118, 50, 46,121, 59, 10, 9, 9, -104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108, - 32, 61, 32,109,105,120, 40,111,117,116, 99,111,108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99, -111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115,111, -102,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111, -108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, - 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, - 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,111,110,101, 61, 32,118,101, 99, 52, 40, 49, 46, - 48, 41, 59, 10, 9,118,101, 99, 52, 32,115, 99,114, 61, 32,111,110,101, 32, 45, 32, 40,111,110,101, 32, 45, 32, 99,111,108, 50, - 41, 42, 40,111,110,101, 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,102, 97, 99,109, 42, 99, -111,108, 49, 32, 43, 32,102, 97, 99, 42, 40, 40,111,110,101, 32, 45, 32, 99,111,108, 49, 41, 42, 99,111,108, 50, 42, 99,111,108, - 49, 32, 43, 32, 99,111,108, 49, 42,115, 99,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,108,105,110,101, 97, -114, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, - 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97, -109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111, -108, 49, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46, -114, 61, 32, 99,111,108, 49, 46,114, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 32, 45, 32, 48, - 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 61, 32, 99,111,108, 49, 46,114, 32, 43, - 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, - 99,111,108, 50, 46,103, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103, - 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,103, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108, -115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, - 42, 40, 99,111,108, 50, 46,103, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46, 98, 32, 62, 32, - 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 61, 32, 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, - 46, 48, 42, 40, 99,111,108, 50, 46, 98, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99, -111,108, 46, 98, 61, 32, 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46, 98, 41, - 32, 45, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118, 97,108,116,111,114,103, 98, 40,102,108,111, 97,116, 32, -102, 97, 99, 44, 32,115, 97,109,112,108,101,114, 49, 68, 32, 99,111,108,111,114,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, - 52, 32,111,117,116, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, 97,108,112,104, 97, 41, 10,123, 10, - 9,111,117,116, 99,111,108, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,111,108,111,114,109, 97,112, 44, 32,102, 97, - 99, 41, 59, 10, 9,111,117,116, 97,108,112,104, 97, 32, 61, 32,111,117,116, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105, -100, 32,114,103, 98,116,111, 98,119, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, -111,117,116,118, 97,108, 41, 32, 32, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,108,111,114, 46,114, 42, 48, 46, - 51, 53, 32, 43, 32, 99,111,108,111,114, 46,103, 42, 48, 46, 52, 53, 32, 43, 32, 99,111,108,111,114, 46, 98, 42, 48, 46, 50, 59, - 32, 47, 42, 32,107,101,101,112, 32,116,104,101,115,101, 32,102, 97, 99,116,111,114,115, 32,105,110, 32,115,121,110, 99, 32,119, -105,116,104, 32,116,101,120,116,117,114,101, 46,104, 58, 82, 71, 66, 84, 79, 66, 87, 32, 42, 47, 10,125, 10, 10,118,111,105,100, - 32,105,110,118,101,114,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, - 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,120,121,122, 32, 61, 32,109,105, -120, 40, 99,111,108, 46,120,121,122, 44, 32,118,101, 99, 51, 40, 49, 46, 48, 44, 32, 49, 46, 48, 44, 32, 49, 46, 48, 41, 32, 45, - 32, 99,111,108, 46,120,121,122, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46,119, 32, 61, 32, 99,111,108, 46, -119, 59, 10,125, 10, 10,118,111,105,100, 32,104,117,101, 95,115, 97,116, 40,102,108,111, 97,116, 32,104,117,101, 44, 32,102,108, -111, 97,116, 32,115, 97,116, 44, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 44, - 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,118, -101, 99, 52, 32,104,115,118, 59, 10, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 44, 32,104,115,118, 41, 59, - 10, 10, 9,104,115,118, 91, 48, 93, 32, 43, 61, 32, 40,104,117,101, 32, 45, 32, 48, 46, 53, 41, 59, 10, 9,105,102, 40,104,115, -118, 91, 48, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 48, 93, 45, 61, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104, -115,118, 91, 48, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 48, 93, 43, 61, 32, 49, 46, 48, 59, 10, 9,104,115,118, 91, 49, 93, - 32, 42, 61, 32,115, 97,116, 59, 10, 9,105,102, 40,104,115,118, 91, 49, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 49, 93, 61, - 32, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 49, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 49, 93, - 61, 32, 48, 46, 48, 59, 10, 9,104,115,118, 91, 50, 93, 32, 42, 61, 32,118, 97,108,117,101, 59, 10, 9,105,102, 40,104,115,118, - 91, 50, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115, -118, 91, 50, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 48, 46, 48, 59, 10, 10, 9,104,115,118, 95,116,111, 95, -114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, - 40, 99,111,108, 44, 32,111,117,116, 99,111,108, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,112, 97, -114, 97,116,101, 95,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114, 44, 32, -111,117,116, 32,102,108,111, 97,116, 32,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 98, 41, 10,123, 10, 9,114, 32, 61, - 32, 99,111,108, 46,114, 59, 10, 9,103, 32, 61, 32, 99,111,108, 46,103, 59, 10, 9, 98, 32, 61, 32, 99,111,108, 46, 98, 59, 10, -125, 10, 10,118,111,105,100, 32, 99,111,109, 98,105,110,101, 95,114,103, 98, 40,102,108,111, 97,116, 32,114, 44, 32,102,108,111, - 97,116, 32,103, 44, 32,102,108,111, 97,116, 32, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 41, 10,123, 10, 9, - 99,111,108, 32, 61, 32,118,101, 99, 52, 40,114, 44, 32,103, 44, 32, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105, -100, 32,111,117,116,112,117,116, 95,110,111,100,101, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,102,108,111, 97,116, 32, 97,108, -112,104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,111,117,116,114,103, 98, 32, - 61, 32,118,101, 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 32, 84, 69, 88, 84, 85, 82, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 47, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,102,108,105,112, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32, -118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, - 61, 32,118,101, 99, 46,121,120,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95, 98,108,101,110,100, - 95,108,105,110, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, - 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 59, 10,125, 10, - 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95, 98,108,101,110,100, 95,113,117, 97,100, 40,118,101, 99, 51, 32,118,101, - 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, - 32,109, 97,120, 40, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10, 9,111,117,116, -118, 97,108, 32, 42, 61, 32,111,117,116,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,119, -111,111,100, 95,115,105,110, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,108,117, -101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, - 97,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32, 97, 32, 61, 32,115,113,114,116, 40,118,101, 99, 46,120, 42,118,101, 99, 46, -120, 32, 43, 32,118,101, 99, 46,121, 42,118,101, 99, 46,121, 32, 43, 32,118,101, 99, 46,122, 42,118,101, 99, 46,122, 41, 42, 50, - 48, 46, 48, 59, 10, 9,102,108,111, 97,116, 32,119,105, 32, 61, 32, 48, 46, 53, 32, 43, 32, 48, 46, 53, 42,115,105,110, 40, 97, - 41, 59, 10, 10, 9,118, 97,108,117,101, 32, 61, 32,119,105, 59, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40,119, -105, 44, 32,119,105, 44, 32,119,105, 44, 32, 49, 46, 48, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32,118,101, 99, 51, 40, - 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95, -105,109, 97,103,101, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32, -111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116, -117,114,101, 50, 68, 40,105,109, 97, 44, 32, 40,118,101, 99, 46,120,121, 32, 43, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, - 46, 48, 41, 41, 42, 48, 46, 53, 41, 59, 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10, 10, 9,110,111,114,109, 97, -108, 46,120, 32, 61, 32, 50, 46, 48, 42, 40, 99,111,108,111,114, 46,114, 32, 45, 32, 48, 46, 53, 41, 59, 10, 9,110,111,114,109, - 97,108, 46,121, 32, 61, 32, 50, 46, 48, 42, 40, 48, 46, 53, 32, 45, 32, 99,111,108,111,114, 46,103, 41, 59, 10, 9,110,111,114, -109, 97,108, 46,122, 32, 61, 32, 50, 46, 48, 42, 40, 99,111,108,111,114, 46, 98, 32, 45, 32, 48, 46, 53, 41, 59, 10,125, 10, 10, - 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 77, 84, 69, 88, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,111,114, 99,111, 40,118,101, 99, 51, 32, 97,116,116, -111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,114, 99,111, 41, 10,123, 10, 9,111,114, 99,111, 32, 61, 32, 97, -116,116,111,114, 99,111, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,117,118, 40,118,101, 99, 50, 32, 97,116, -116,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 41, 10,123, 10, 9, 47, 42, 32,100,105,115, 97, 98,108,101,100, - 32,102,111,114, 32,110,111,119, 44, 32,119,111,114,107,115, 32,116,111,103,101,116,104,101,114, 32,119,105,116,104, 32,108,101, - 97,118,105,110,103, 32,111,117,116, 32,109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 10, 9, 32, 32, 32,117,118, - 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, - 48, 41, 44, 32, 48, 46, 48, 41, 59, 32, 42, 47, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 44, 32, 48, - 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,110,111,114,109, 40,118,101, 99, 51, 32,110,111,114, -109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 42, 32, 99, -111,114,114,101,115,112,111,110,100,115, 32,116,111, 32,115,104,105, 45, 62,111,114,110, 44, 32,119,104,105, 99,104, 32,105,115, - 32,110,101,103, 97,116,101,100, 32,115,111, 32, 99, 97,110, 99,101,108,115, 10, 9, 32, 32, 32,111,117,116, 32, 98,108,101,110, -100,101,114, 32,110,111,114,109, 97,108, 32,110,101,103, 97,116,105,111,110, 32, 42, 47, 10, 9,111,117,116,110,111,114,109, 97, -108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116, -101,120, 99,111, 95,116, 97,110,103,101,110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, 44, 32,111,117,116, 32,118, -101, 99, 51, 32,111,117,116,116, 97,110,103,101,110,116, 41, 10,123, 10, 9,111,117,116,116, 97,110,103,101,110,116, 32, 61, 32, -110,111,114,109, 97,108,105,122,101, 40,116, 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32, -116,101,120, 99,111, 95,103,108,111, 98, 97,108, 40,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,118,101, - 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 41, 10,123, 10, 9,103,108,111, 98, 97, -108, 32, 61, 32, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, 49, 46, 48, 41, 41, 46,120, -121,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,111, 98,106,101, 99,116, 40,109, 97,116, 52, 32,118,105, -101,119,105,110,118,109, 97,116, 44, 32,109, 97,116, 52, 32,111, 98,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 99,111, - 44, 32,111,117,116, 32,118,101, 99, 51, 32,111, 98,106,101, 99,116, 41, 10,123, 10, 9,111, 98,106,101, 99,116, 32, 61, 32, 40, -111, 98,105,110,118,109, 97,116, 42, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, 49, 46, - 48, 41, 41, 41, 46,120,121,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,114,101,102,108, 40,118,101, 99, - 51, 32,118,110, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, 32,114,101,102, 41, 10,123, - 10, 9,114,101,102, 32, 61, 32,118,105,101,119, 32, 45, 32, 50, 46, 48, 42,100,111,116, 40,118,110, 44, 32,118,105,101,119, 41, - 42,118,110, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,110,111,114,109, 40,118,101, 99, 51, 32,110,111,114, -109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 42, 32, 98, -108,101,110,100,101,114, 32,114,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32,110,101,103, 97,116,101,100, 32, - 42, 47, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,111,114,109, 97, -108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32, -111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, - 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9, -102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99, -109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, - 99,111,108, 32, 43, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, -114,103, 98, 95,109,117,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, - 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, - 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, - 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99, -111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 41, 42,111,117,116, 99,111,108, - 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 99,114,101,101,110, 40,118,101, 99, 51, 32,111, -117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32, -102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102, -108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, - 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,118,101, 99, 51, 40, 49, 46, 48, 41, - 32, 45, 32, 40,118,101, 99, 51, 40,102, 97, 99,109, 41, 32, 43, 32,102, 97, 99,116, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, - 32, 45, 32,116,101,120, 99,111,108, 41, 41, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,111,117,116, 99,111,108, 41, - 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,111,118,101,114,108, 97,121, 40,118,101, 99, 51, 32, -111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, - 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9, -102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99, -109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 60, 32, 48, 46, - 53, 41, 10, 9, 9,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 42, 40,102, 97, 99,109, 32, 43, 32, - 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111, -108, 46,114, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, - 48, 32, 45, 32,116,101,120, 99,111,108, 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59, - 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46,103, 32, - 61, 32,111,117,116, 99,111,108, 46,103, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99, -111,108, 46,103, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, -102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46,103, 41, - 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, - 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 42, 40,102, - 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 41, 59, 10, 9,101,108,115,101, 10, - 9, 9,105,110, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, - 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99, -111,108, 46, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115,117, 98, 40,118,101, 99, 51, - 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, - 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, - 9,105,110, 99,111,108, 32, 61, 32, 45,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, - 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 97,100,100, 40,118,101, 99, 51, 32,111, -117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32, -102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,105, -110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, - 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,118, 40,118,101, 99, 51, 32,111,117,116, 99, -111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, - 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97, -116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, - 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32, -105,110, 99,111,108, 46,114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, 32,102, 97, 99,116, 42,111, -117,116, 99,111,108, 46,114, 47,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,103, 32, 33, - 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,103, 32, 43, - 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46,103, 47,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40,116,101,120, - 99,111,108, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116, - 99,111,108, 46, 98, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46, 98, 47,116,101,120, 99,111,108, 46, 98, 59, 10, -125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,102,102, 40,118,101, 99, 51, 32,111,117,116, 99,111, -108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97, -116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, - 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, - 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, - 32,102, 97, 99,116, 42, 97, 98,115, 40,116,101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118, -111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100, 97,114,107, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118, -101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, - 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99, -109, 44, 32, 99,111,108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, - 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 59, - 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, 99, -111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 59, 10, 9, 99,111, -108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, - 99,111,108, 46,103, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, - 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111, -108, 46, 98, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46, 98, 41, 32,105,110, 99,111,108, 46, 98, - 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 59, - 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,108,105,103,104,116, 40,118,101, 99, 51, 32,111,117,116, - 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108, -111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, - 97,116, 32,102, 97, 99,109, 44, 32, 99,111,108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, - 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, - 99,111,108, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111,108, - 46,114, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46, -114, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111,108, - 32, 62, 32,111,117,116, 99,111,108, 46,103, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, - 32,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, - 42,116,101,120, 99,111,108, 46, 98, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46, 98, 41, 32,105, -110, 99,111,108, 46, 98, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, - 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,104,117,101, 40,118,101, 99, 51, - 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, - 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, - 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,104,117,101, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32, -118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, - 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, - 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 97,116, 40,118,101, 99, 51, 32,111,117,116, 99, -111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, - 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, - 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,115, 97,116, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40, -111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, - 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10, -118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,118, 97,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118, -101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, - 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, - 10, 10, 9,109,105,120, 95,118, 97,108, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111, -108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, - 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32, -109,116,101,120, 95,114,103, 98, 95, 99,111,108,111,114, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, + 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 40, +118,101, 99, 52, 40,102, 97, 99,109, 41, 32, 43, 32,102, 97, 99, 42, 40,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 99,111, +108, 50, 41, 41, 42, 40,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, + 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,111,118,101,114,108, 97,121, + 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, + 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109, +112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, + 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, + 40,111,117,116, 99,111,108, 46,114, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 42, 61, 32,102, + 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117, +116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, + 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59, + 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, + 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9,101,108,115,101, + 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42, +102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46,103, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111, +108, 46,103, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, + 99,111,108, 46, 98, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, + 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, + 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32, +111,117,116, 99,111,108, 46, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115,117, 98, 40,102,108,111, 97,116, + 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32, +118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, + 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, + 99,111,108, 49, 32, 45, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99, +111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,105,118, 40,102,108,111, 97,116, 32,102, 97, 99, + 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, + 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, + 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, + 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, 33, 61, + 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46,114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, + 32,102, 97, 99, 42,111,117,116, 99,111,108, 46,114, 47, 99,111,108, 50, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 50, 46,103, + 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46, +103, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, 46,103, 47, 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40, 99,111,108, + 50, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99, +111,108, 46, 98, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, 46, 98, 47, 99,111,108, 50, 46, 98, 59, 10,125, 10, 10,118, +111,105,100, 32,109,105,120, 95,100,105,102,102, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, + 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, + 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111, +117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 97, 98,115, 40, 99,111,108, 49, 32, 45, 32, 99,111,108, + 50, 41, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, + 10,118,111,105,100, 32,109,105,120, 95,100, 97,114,107, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99, +111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, + 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, + 9,111,117,116, 99,111,108, 46,114,103, 98, 32, 61, 32,109,105,110, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111,108, 50, + 46,114,103, 98, 42,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, + 10, 10,118,111,105,100, 32,109,105,120, 95,108,105,103,104,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, + 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111, +108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, + 59, 10, 9,111,117,116, 99,111,108, 46,114,103, 98, 32, 61, 32,109, 97,120, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111, +108, 50, 46,114,103, 98, 42,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, + 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,111,100,103,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, + 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, + 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, + 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, +114, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32, +102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9, +111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, + 32,111,117,116, 99,111,108, 46,114, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, +114, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,109, +112, 59, 10, 9,125, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102, +108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9, 9,105, +102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, + 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46,103, 47,116,109,112, 41, 32, + 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, + 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,109,112, 59, 10, 9,125, 10, 9,105,102, 40,111,117,116, 99,111, +108, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, + 45, 32,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, + 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, + 32, 61, 32,111,117,116, 99,111,108, 46, 98, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111, +108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, +116,109,112, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 98,117,114,110, 40,102,108,111, 97,116, 32,102, + 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, + 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, + 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,116,109,112, 44, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, + 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,116,109,112, 32, 61, + 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, + 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40, +116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 47,116,109, +112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108, +115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, + 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 10, 9,116,109,112, + 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, + 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, + 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 47, +116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9, +101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, + 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,109,112, 59, 10, 10, 9,116, +109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9,105,102, 40,116,109,112, 32, + 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32, +105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, + 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, + 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, + 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10,125, + 10, 10,118,111,105,100, 32,109,105,120, 95,104,117,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99, +111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, + 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, + 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111, +108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 44, 32,116,109,112, 59, + 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,105,102, 40,104, +115,118, 50, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, + 99,111,108, 44, 32,104,115,118, 41, 59, 10, 9, 9,104,115,118, 46,120, 32, 61, 32,104,115,118, 50, 46,120, 59, 10, 9, 9,104, +115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108, 32, + 61, 32,109,105,120, 40,111,117,116, 99,111,108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,111, +108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115, 97,116, + 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, + 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109, +112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, + 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, + 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, + 44, 32,104,115,118, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114, +103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9, 9,104,115,118, 46,121, 32, + 61, 32,102, 97, 99,109, 42,104,115,118, 46,121, 32, 43, 32,102, 97, 99, 42,104,115,118, 50, 46,121, 59, 10, 9, 9,104,115,118, + 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, + 32,109,105,120, 95,118, 97,108, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118, +101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, + 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, + 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104, +115,118, 50, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 49, 44, 32,104,115,118, 41, 59, 10, 9,114,103, + 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,104,115,118, 46,122, 32, 61, 32, +102, 97, 99,109, 42,104,115,118, 46,122, 32, 43, 32,102, 97, 99, 42,104,115,118, 50, 46,122, 59, 10, 9,104,115,118, 95,116,111, + 95,114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 99, +111,108,111,114, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, + 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, + 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99, +109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, + 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95,116,111, 95,104, +115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, 33, 61, 32, 48, + 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, + 10, 9, 9,104,115,118, 46,120, 32, 61, 32,104,115,118, 50, 46,120, 59, 10, 9, 9,104,115,118, 46,121, 32, 61, 32,104,115,118, + 50, 46,121, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, + 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40,111,117,116, 99,111,108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, 59, + 10, 9, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, + 32,109,105,120, 95,115,111,102,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32, +118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, + 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97, +116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,111,110,101, 61, 32, +118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,118,101, 99, 52, 32,115, 99,114, 61, 32,111,110,101, 32, 45, 32, 40,111,110,101, + 32, 45, 32, 99,111,108, 50, 41, 42, 40,111,110,101, 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, + 32,102, 97, 99,109, 42, 99,111,108, 49, 32, 43, 32,102, 97, 99, 42, 40, 40,111,110,101, 32, 45, 32, 99,111,108, 49, 41, 42, 99, +111,108, 50, 42, 99,111,108, 49, 32, 43, 32, 99,111,108, 49, 42,115, 99,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105, +120, 95,108,105,110,101, 97,114, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118, +101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, + 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9,111,117,116, 99, +111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9, +111,117,116, 99,111,108, 46,114, 61, 32, 99,111,108, 49, 46,114, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, + 50, 46,114, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 61, 32, 99, +111,108, 49, 46,114, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 41, 32, 45, 32, 49, 46, 48, 41, + 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,103, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 61, + 32, 99,111,108, 49, 46,103, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,103, 32, 45, 32, 48, 46, 53, + 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103, 32, 43, 32,102, + 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,103, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, 99,111, +108, 50, 46, 98, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 61, 32, 99,111,108, 49, 46, 98, 32, 43, + 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46, 98, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, + 10, 9, 9,111,117,116, 99,111,108, 46, 98, 61, 32, 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, + 99,111,108, 50, 46, 98, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118, 97,108,116,111,114,103, 98, + 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,115, 97,109,112,108,101,114, 49, 68, 32, 99,111,108,111,114,109, 97,112, 44, 32, +111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, 97,108, +112,104, 97, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,111,108,111,114, +109, 97,112, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 97,108,112,104, 97, 32, 61, 32,111,117,116, 99,111,108, 46, 97, 59, + 10,125, 10, 10,118,111,105,100, 32,114,103, 98,116,111, 98,119, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, + 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 32, 32, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,108, +111,114, 46,114, 42, 48, 46, 51, 53, 32, 43, 32, 99,111,108,111,114, 46,103, 42, 48, 46, 52, 53, 32, 43, 32, 99,111,108,111,114, + 46, 98, 42, 48, 46, 50, 59, 32, 47, 42, 32,107,101,101,112, 32,116,104,101,115,101, 32,102, 97, 99,116,111,114,115, 32,105,110, + 32,115,121,110, 99, 32,119,105,116,104, 32,116,101,120,116,117,114,101, 46,104, 58, 82, 71, 66, 84, 79, 66, 87, 32, 42, 47, 10, +125, 10, 10,118,111,105,100, 32,105,110,118,101,114,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99, +111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,120, +121,122, 32, 61, 32,109,105,120, 40, 99,111,108, 46,120,121,122, 44, 32,118,101, 99, 51, 40, 49, 46, 48, 44, 32, 49, 46, 48, 44, + 32, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 46,120,121,122, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46,119, + 32, 61, 32, 99,111,108, 46,119, 59, 10,125, 10, 10,118,111,105,100, 32,104,117,101, 95,115, 97,116, 40,102,108,111, 97,116, 32, +104,117,101, 44, 32,102,108,111, 97,116, 32,115, 97,116, 44, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,102,108,111, + 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111, +108, 41, 10,123, 10, 9,118,101, 99, 52, 32,104,115,118, 59, 10, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, + 44, 32,104,115,118, 41, 59, 10, 10, 9,104,115,118, 91, 48, 93, 32, 43, 61, 32, 40,104,117,101, 32, 45, 32, 48, 46, 53, 41, 59, + 10, 9,105,102, 40,104,115,118, 91, 48, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 48, 93, 45, 61, 49, 46, 48, 59, 32,101,108, +115,101, 32,105,102, 40,104,115,118, 91, 48, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 48, 93, 43, 61, 32, 49, 46, 48, 59, 10, + 9,104,115,118, 91, 49, 93, 32, 42, 61, 32,115, 97,116, 59, 10, 9,105,102, 40,104,115,118, 91, 49, 93, 62, 49, 46, 48, 41, 32, +104,115,118, 91, 49, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 49, 93, 60, 48, 46, 48, 41, + 32,104,115,118, 91, 49, 93, 61, 32, 48, 46, 48, 59, 10, 9,104,115,118, 91, 50, 93, 32, 42, 61, 32,118, 97,108,117,101, 59, 10, + 9,105,102, 40,104,115,118, 91, 50, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115, +101, 32,105,102, 40,104,115,118, 91, 50, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 48, 46, 48, 59, 10, 10, 9, +104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10, 10, 9,111,117,116, 99,111, +108, 32, 61, 32,109,105,120, 40, 99,111,108, 44, 32,111,117,116, 99,111,108, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111, +105,100, 32,115,101,112, 97,114, 97,116,101, 95,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 98, 41, + 10,123, 10, 9,114, 32, 61, 32, 99,111,108, 46,114, 59, 10, 9,103, 32, 61, 32, 99,111,108, 46,103, 59, 10, 9, 98, 32, 61, 32, + 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32, 99,111,109, 98,105,110,101, 95,114,103, 98, 40,102,108,111, 97,116, + 32,114, 44, 32,102,108,111, 97,116, 32,103, 44, 32,102,108,111, 97,116, 32, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99, +111,108, 41, 10,123, 10, 9, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,114, 44, 32,103, 44, 32, 98, 44, 32, 49, 46, 48, 41, 59, + 10,125, 10, 10,118,111,105,100, 32,111,117,116,112,117,116, 95,110,111,100,101, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,102, +108,111, 97,116, 32, 97,108,112,104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9, +111,117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, 10,125, + 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 84, 69, 88, 84, 85, 82, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,102,108,105,112, 95, 98,108,101,110, +100, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9, +111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 46,121,120,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114, +101, 95, 98,108,101,110,100, 95,108,105,110, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, +111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, + 50, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95, 98,108,101,110,100, 95,113,117, 97,100, 40, +118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111, +117,116,118, 97,108, 32, 61, 32,109, 97,120, 40, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 44, 32, 48, 46, 48, + 41, 59, 10, 9,111,117,116,118, 97,108, 32, 42, 61, 32,111,117,116,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,116,101, +120,116,117,114,101, 95,119,111,111,100, 95,115,105,110, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, + 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, + 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32, 97, 32, 61, 32,115,113,114,116, 40,118,101, 99, + 46,120, 42,118,101, 99, 46,120, 32, 43, 32,118,101, 99, 46,121, 42,118,101, 99, 46,121, 32, 43, 32,118,101, 99, 46,122, 42,118, +101, 99, 46,122, 41, 42, 50, 48, 46, 48, 59, 10, 9,102,108,111, 97,116, 32,119,105, 32, 61, 32, 48, 46, 53, 32, 43, 32, 48, 46, + 53, 42,115,105,110, 40, 97, 41, 59, 10, 10, 9,118, 97,108,117,101, 32, 61, 32,119,105, 59, 10, 9, 99,111,108,111,114, 32, 61, + 32,118,101, 99, 52, 40,119,105, 44, 32,119,105, 44, 32,119,105, 44, 32, 49, 46, 48, 41, 59, 10, 9,110,111,114,109, 97,108, 32, + 61, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116, +101,120,116,117,114,101, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, + 32,105,109, 97, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, + 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9, 99,111,108,111,114, + 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 40,118,101, 99, 46,120,121, 32, 43, 32,118,101, 99, 50, + 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 41, 42, 48, 46, 53, 41, 59, 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10, + 10, 9,110,111,114,109, 97,108, 46,120, 32, 61, 32, 50, 46, 48, 42, 40, 99,111,108,111,114, 46,114, 32, 45, 32, 48, 46, 53, 41, + 59, 10, 9,110,111,114,109, 97,108, 46,121, 32, 61, 32, 50, 46, 48, 42, 40, 48, 46, 53, 32, 45, 32, 99,111,108,111,114, 46,103, + 41, 59, 10, 9,110,111,114,109, 97,108, 46,122, 32, 61, 32, 50, 46, 48, 42, 40, 99,111,108,111,114, 46, 98, 32, 45, 32, 48, 46, + 53, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 77, 84, 69, 88, 32, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,111,114, 99,111, 40,118, +101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,114, 99,111, 41, 10,123, 10, 9,111, +114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,117,118, 40, +118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 41, 10,123, 10, 9, 47, 42, 32,100, +105,115, 97, 98,108,101,100, 32,102,111,114, 32,110,111,119, 44, 32,119,111,114,107,115, 32,116,111,103,101,116,104,101,114, 32, +119,105,116,104, 32,108,101, 97,118,105,110,103, 32,111,117,116, 32,109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, + 10, 9, 32, 32, 32,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, + 49, 46, 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 32, 42, 47, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97, +116,116,117,118, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,110,111,114,109, 40,118, +101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10, +123, 10, 9, 47, 42, 32, 99,111,114,114,101,115,112,111,110,100,115, 32,116,111, 32,115,104,105, 45, 62,111,114,110, 44, 32,119, +104,105, 99,104, 32,105,115, 32,110,101,103, 97,116,101,100, 32,115,111, 32, 99, 97,110, 99,101,108,115, 10, 9, 32, 32, 32,111, +117,116, 32, 98,108,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,110,101,103, 97,116,105,111,110, 32, 42, 47, 10, 9,111, +117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, + 10,118,111,105,100, 32,116,101,120, 99,111, 95,116, 97,110,103,101,110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, + 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116, 97,110,103,101,110,116, 41, 10,123, 10, 9,111,117,116,116, 97,110, +103,101,110,116, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,116, 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,103,108,111, 98, 97,108, 40,109, 97,116, 52, 32,118,105,101,119,105,110,118, +109, 97,116, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 41, 10,123, + 10, 9,103,108,111, 98, 97,108, 32, 61, 32, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, + 49, 46, 48, 41, 41, 46,120,121,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,111, 98,106,101, 99,116, 40, +109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,109, 97,116, 52, 32,111, 98,105,110,118,109, 97,116, 44, 32, +118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111, 98,106,101, 99,116, 41, 10,123, 10, 9,111, 98,106, +101, 99,116, 32, 61, 32, 40,111, 98,105,110,118,109, 97,116, 42, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, + 40, 99,111, 44, 32, 49, 46, 48, 41, 41, 41, 46,120,121,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,114, +101,102,108, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, + 32,114,101,102, 41, 10,123, 10, 9,114,101,102, 32, 61, 32,118,105,101,119, 32, 45, 32, 50, 46, 48, 42,100,111,116, 40,118,110, + 44, 32,118,105,101,119, 41, 42,118,110, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,110,111,114,109, 40,118, +101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10, +123, 10, 9, 47, 42, 32, 98,108,101,110,100,101,114, 32,114,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32,110, +101,103, 97,116,101,100, 32, 42, 47, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122, +101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 98,108,101,110, +100, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97, +116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99, +111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99, +103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, + 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105, +100, 32,109,116,101,120, 95,114,103, 98, 95,109,117,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, - 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9, -109,105,120, 95, 99,111,108,111,114, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, - 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, - 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109, -116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,105,110,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, - 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99,109, 41, 10,123, 10, 9, -102, 97, 99,116, 32, 42, 61, 32, 97, 98,115, 40,102, 97, 99,103, 41, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, - 97, 99,116, 59, 10, 10, 9,105,102, 40,102, 97, 99,103, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32, -116,109,112, 32, 61, 32,102, 97, 99,116, 59, 10, 9, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,109, 59, 10, 9, 9,102, 97, 99, -109, 32, 61, 32,116,109,112, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 98, -108,101,110,100, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, - 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, - 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, - 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105, -110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, - 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,109,117,108, 40,102,108,111, 97,116, 32,111, -117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, - 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, - 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, - 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32, -102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99, -111,108, 41, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115, - 99,114,101,101,110, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, - 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95, -118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9, -102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, 32, 61, 32, 49, 46, 48, 32, - 45, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 41, 41, 42, 40, - 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117, -101, 95,115,117, 98, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, - 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95, -118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9, -102, 97, 99,116, 32, 61, 32, 45,102, 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99, -111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, - 97,100,100, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32, -102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97, -116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97, -108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, - 99,116, 32, 61, 32,102, 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, - 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100,105,118, - 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, - 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105, -110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, - 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,102, 40,116,101, -120, 99,111,108, 32, 33, 61, 32, 48, 46, 48, 41, 10, 9, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99, -111,108, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 47,116,101,120, 99,111,108, 59, 10, 9,101,108,115,101, 10, 9, - 9,105,110, 99,111,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, - 95,100,105,102,102, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, - 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95, -118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9, -105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42, 97, 98,115, 40,116, -101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97, -108,117,101, 95,100, 97,114,107, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, - 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116, -101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, - 10, 10, 9,102,108,111, 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 59, 10, 9,105,102, 40, - 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32, -105,110, 99,111,108, 32, 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108, -117,101, 95,108,105,103,104,116, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, - 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116, -101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, - 10, 10, 9,102,108,111, 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 59, 10, 9,105,102, 40, - 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32, -105,110, 99,111,108, 32, 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108, -117,101, 95, 99,108, 97,109,112, 95,112,111,115,105,116,105,118,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,111,117,116,102, 97, 99, 32, 61, 32,109, 97,120, 40,102, - 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 99,108, 97, -109,112, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,102, 97, 99, 41, 10, -123, 10, 9,111,117,116,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, - 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,100,105,118,105,100,101, 40,102,108,111, 97,116, 32, -104, 97,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, 9,111,117,116,104, 97,114, - 32, 61, 32,104, 97,114, 47, 49, 50, 56, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,109, -117,108,116,105,112,108,121, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,104, 97,114, 44, 32,111,117,116, 32,102,108,111, - 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, 9,104, 97,114, 32, 42, 61, 32, 49, 50, 56, 46, 48, 59, 10, 10, 9,105,102, - 40,104, 97,114, 32, 60, 32, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32, -105,102, 40,104, 97,114, 32, 62, 32, 53, 49, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 53, 49, 49, 46, 48, 59, 10, - 9,101,108,115,101, 32,111,117,116,104, 97,114, 32, 61, 32,104, 97,114, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, - 95, 97,108,112,104, 97, 95,102,114,111,109, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32, 97,108,112,104, 97, 41, 10,123, 10, 9, 97,108,112,104, 97, 32, 61, 32, 99,111,108, 46, 97, 59, 10,125, 10, 10, -118,111,105,100, 32,109,116,101,120, 95, 97,108,112,104, 97, 95,116,111, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, - 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, - 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, - 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98,116,111,105,110,116, 40,118,101, 99, 52, 32,114,103, 98, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,105,110,116,101,110,115,105, -116,121, 32, 61, 32,100,111,116, 40,118,101, 99, 51, 40, 48, 46, 51, 53, 44, 32, 48, 46, 52, 53, 44, 32, 48, 46, 50, 41, 44, 32, -114,103, 98, 46,114,103, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,105,110,118, -101,114,116, 40,102,108,111, 97,116, 32,105,110,118, 97,108,117,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, -118, 97,108,117,101, 41, 10,123, 10, 9,111,117,116,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 32, 45, 32,105,110,118, 97,108, -117,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,105,110,118,101,114,116, 40,118,101, 99, 52, - 32,105,110,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,111,117,116,114, -103, 98, 32, 61, 32,118,101, 99, 52, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,105,110,114,103, 98, 46,114,103, 98, 44, - 32,105,110,114,103, 98, 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115,116, -101,110, 99,105,108, 40,102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,102,108,111, 97,116, 32,105,110,116,101,110, -115,105,116,121, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, 32, -102,108,111, 97,116, 32,111,117,116,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99, -116, 32, 61, 32,105,110,116,101,110,115,105,116,121, 59, 10, 9,111,117,116,105,110,116,101,110,115,105,116,121, 32, 61, 32,105, -110,116,101,110,115,105,116,121, 42,115,116,101,110, 99,105,108, 59, 10, 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32, -115,116,101,110, 99,105,108, 42,102, 97, 99,116, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, -116,101,110, 99,105,108, 40,102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,118,101, 99, 52, 32,114,103, 98, 44, 32, -111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111, -117,116,114,103, 98, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,116, 32, 61, 32,114,103, 98, 46, 97, 59, 10, 9,111, -117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32,114,103, 98, 46, 97, 42,115,116,101,110, - 99,105,108, 41, 59, 10, 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32,115,116,101,110, 99,105,108, 42,102, 97, 99,116, - 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,111,102,115, 40,118,101, 99, 51, 32, -116,101,120, 99,111, 44, 32,118,101, 99, 51, 32,111,102,115, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116,101,120, - 99,111, 41, 10,123, 10, 9,111,117,116,116,101,120, 99,111, 32, 61, 32,116,101,120, 99,111, 32, 43, 32,111,102,115, 59, 10,125, - 10, 10,118,111,105,100, 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,115,105,122,101, 40,118,101, 99, 51, 32,116,101, -120, 99,111, 44, 32,118,101, 99, 51, 32,115,105,122,101, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116,101,120, 99, -111, 41, 10,123, 10, 9,111,117,116,116,101,120, 99,111, 32, 61, 32,115,105,122,101, 42,116,101,120, 99,111, 59, 10,125, 10, 10, -118,111,105,100, 32,109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111, -117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51, - 40,118,101, 99, 46,120,121, 42, 48, 46, 53, 32, 43, 32,118,101, 99, 50, 40, 48, 46, 53, 44, 32, 48, 46, 53, 41, 44, 32,118,101, - 99, 46,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32,116,101, -120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97, -108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32, -116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118, 97,108,117,101, - 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,111,114,109, 97,108, 40,118,101, 99, 51, - 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 51, 32, -110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 47, 32, 84,104,101, 32,105,110,118,101,114,116, 32,111,102, 32,116,104,101, 32, -114,101,100, 32, 99,104, 97,110,110,101,108, 32,105,115, 32,116,111, 32,109, 97,107,101, 10, 9, 47, 47, 32,116,104,101, 32,110, -111,114,109, 97,108, 32,109, 97,112, 32, 99,111,109,112,108,105, 97,110,116, 32,119,105,116,104, 32,116,104,101, 32,111,117,116, -115,105,100,101, 32,119,111,114,108,100, 46, 10, 9, 47, 47, 32, 73,116, 32,110,101,101,100,115, 32,116,111, 32, 98,101, 32,100, -111,110,101, 32, 98,101, 99, 97,117,115,101, 32,105,110, 32, 66,108,101,110,100,101,114, 10, 9, 47, 47, 32,116,104,101, 32,110, -111,114,109, 97,108, 32,117,115,101,100, 32,112,111,105,110,116,115, 32,105,110,119, 97,114,100, 46, 10, 9, 47, 47, 32, 83,104, -111,117,108,100, 32,116,104,105,115, 32,101,118,101,114, 32, 99,104, 97,110,103,101, 32,116,104,105,115, 32,110,101,103, 97,116, -101, 32,109,117,115,116, 32, 98,101, 32,114,101,109,111,118,101,100, 46, 10, 32, 32, 32, 32,118,101, 99, 52, 32, 99,111,108,111, -114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,110, -111,114,109, 97,108, 32, 61, 32, 50, 46, 48, 42, 40,118,101, 99, 51, 40, 45, 99,111,108,111,114, 46,114, 44, 32, 99,111,108,111, -114, 46,103, 44, 32, 99,111,108,111,114, 46, 98, 41, 32, 45, 32,118,101, 99, 51, 40, 45, 48, 46, 53, 44, 32, 48, 46, 53, 44, 32, - 48, 46, 53, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,110,111,114,109, 97,108,115, - 95,105,110,105,116, 40, 32,118,101, 99, 51, 32,118, 78, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78,111,114,103, 44, 32, -111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, - 97,103,110,105,116,117,100,101, 32, 41, 10,123, 10, 9,118, 78,111,114,103, 32, 61, 32,118, 78, 59, 10, 9,118, 78, 97, 99, 99, - 32, 61, 32,118, 78, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, - 10, 47, 42, 42, 32,104,101,108,112,101,114, 32,109,101,116,104,111,100, 32,116,111, 32,101,120,116,114, 97, 99,116, 32,116,104, -101, 32,117,112,112,101,114, 32,108,101,102,116, 32, 51,120, 51, 32,109, 97,116,114,105,120, 32,102,114,111,109, 32, 97, 32, 52, -120, 52, 32,109, 97,116,114,105,120, 32, 42, 47, 10,109, 97,116, 51, 32,116,111, 95,109, 97,116, 51, 40,109, 97,116, 52, 32,109, - 52, 41, 10,123, 10, 9,109, 97,116, 51, 32,109, 51, 59, 10, 9,109, 51, 91, 48, 93, 32, 61, 32,109, 52, 91, 48, 93, 46,120,121, -122, 59, 10, 9,109, 51, 91, 49, 93, 32, 61, 32,109, 52, 91, 49, 93, 46,120,121,122, 59, 10, 9,109, 51, 91, 50, 93, 32, 61, 32, -109, 52, 91, 50, 93, 46,120,121,122, 59, 10, 9,114,101,116,117,114,110, 32,109, 51, 59, 10,125, 10, 10,118,111,105,100, 32,109, -116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,111, 98,106,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114, -102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, -109, 97,116, 52, 32,109, 86,105,101,119, 44, 32,109, 97,116, 52, 32,109, 86,105,101,119, 73,110,118, 44, 32,109, 97,116, 52, 32, -109, 79, 98,106, 44, 32,109, 97,116, 52, 32,109, 79, 98,106, 73,110,118, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,102,108, -111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, - 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97, -103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, - 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, - 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,109, 97,116, 51, - 32,111, 98,106, 50,118,105,101,119, 32, 61, 32,116,111, 95,109, 97,116, 51, 40,109, 86,105,101,119, 32, 42, 32,109, 79, 98,106, - 41, 59, 10, 9,109, 97,116, 51, 32,118,105,101,119, 50,111, 98,106, 32, 61, 32,116,111, 95,109, 97,116, 51, 40,109, 79, 98,106, - 73,110,118, 32, 42, 32,109, 86,105,101,119, 73,110,118, 41, 59, 10, 9, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, - 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, 42, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, - 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, 42, 32,100, 70,100,121, 40, - 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,110,111,114,109, 97,108,105,122, -101, 40, 32,115,117,114,102, 95,110,111,114,109, 32, 42, 32,111, 98,106, 50,118,105,101,119, 32, 41, 59, 10, 10, 9,118, 82, 49, - 32, 61, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, - 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 59, 10, 9,102, 68,101,116, 32, 61, 32,100, -111,116, 32, 40, 32,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9, 47, 42, 32,112,114,101,116,114, - 97,110,115,102,111,114,109, 32,118, 78, 97, 99, 99, 32, 40,105,110, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112,108, -121, 41, 32,117,115,105,110,103, 32,116,104,101, 32,105,110,118,101,114,115,101, 32,116,114, 97,110,115,112,111,115,101,100, 32, - 42, 47, 10, 9,118, 82, 49, 32, 61, 32,118, 82, 49, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9,118, 82, 50, 32, 61, - 32,118, 82, 50, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9,118, 78, 32, 61, 32,118, 78, 32, 42, 32,118,105,101,119, - 50,111, 98,106, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40, -102, 68,101,116, 41, 32, 42, 32,108,101,110,103,116,104, 40,118, 78, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, - 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, - 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117, -116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109, -112, 95,105,110,105,116, 95,116,101,120,116,117,114,101,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112, -111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,102, -108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, - 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, - 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117, -116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32, -118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,118, -101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, - 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, - 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95,110,111,114,109, 59, 32, 47, 42, 32,110,111,114,109, 97, -108,105,122,101,100, 32,105,110,116,101,114,112,111,108, 97,116,101,100, 32,118,101,114,116,101,120, 32,110,111,114,109, 97,108, - 32, 42, 47, 10, 9, 10, 9,118, 82, 49, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32, 99,114,111,115,115, 40, 32,118, - 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32,110,111,114,109, 97,108,105,122,101, - 40, 32, 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 41, 59, 10, 9,102, 68,101,116, 32, - 61, 32,115,105,103,110, 40, 32,100,111,116, 40,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 41, 32, 41, 59, 10, 9, 10, 9, -102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 59, 10, 9,118, - 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100, -101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97, -103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105, -100, 32,109,116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,118,105,101,119,115,112, 97, 99,101, 40, 32,118,101, 99, 51, + 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, + 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, + 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 41, + 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 99,114,101,101,110, + 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, + 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111, +108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, + 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,118,101, + 99, 51, 40, 49, 46, 48, 41, 32, 45, 32, 40,118,101, 99, 51, 40,102, 97, 99,109, 41, 32, 43, 32,102, 97, 99,116, 42, 40,118,101, + 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,116,101,120, 99,111,108, 41, 41, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32, +111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,111,118,101,114,108, 97, +121, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97, +116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99, +111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99, +103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, + 46,114, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 42, 40, +102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 41, 59, 10, 9,101,108,115,101, + 10, 9, 9,105,110, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, + 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, + 99,111,108, 46,114, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105, +110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, + 99,116, 42,116,101,120, 99,111,108, 46,103, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46,103, 32, 61, 32, + 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101, +120, 99,111,108, 46,103, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40, +111,117,116, 99,111,108, 46, 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99, +111,108, 46, 98, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 41, 59, + 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, + 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46, 98, 41, 41, 42, 40, 49, 46, 48, + 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, +117, 98, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, + 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, + 99,111,108, 41, 10,123, 10, 9,105,110, 99,111,108, 32, 61, 32, 45,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111, +108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 97,100,100, + 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, + 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111, +108, 41, 10,123, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, + 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,118, 40,118,101, + 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, + 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10, +123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9, +102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,114, 32, 33, + 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, + 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46,114, 47,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40,116,101,120, + 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, + 99,111,108, 46,103, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46,103, 47,116,101,120, 99,111,108, 46,103, 59, 10, + 9,105,102, 40,116,101,120, 99,111,108, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,102, + 97, 99,109, 42,111,117,116, 99,111,108, 46, 98, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46, 98, 47,116,101,120, + 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,102,102, 40,118,101, 99, + 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99, +116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, + 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, + 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111, +117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42, 97, 98,115, 40,116,101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, + 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100, 97,114,107, 40,118,101, 99, 51, 32,111,117, +116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102, +108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108, +111, 97,116, 32,102, 97, 99,109, 44, 32, 99,111,108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9, +102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101, +120, 99,111,108, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111, +108, 46,114, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, + 46,114, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111, +108, 32, 60, 32,111,117,116, 99,111,108, 46,103, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115, +101, 32,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99, +116, 42,116,101,120, 99,111,108, 46, 98, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46, 98, 41, 32, +105,110, 99,111,108, 46, 98, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117, +116, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,108,105,103,104,116, 40,118, +101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, + 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, + 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 44, 32, 99,111,108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, + 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, + 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46,114, + 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32, +111,117,116, 99,111,108, 46,114, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, + 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46,103, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111, +108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, + 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99, +111,108, 46, 98, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, + 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,104, +117,101, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, + 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, + 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,104,117,101, 40,102, 97, 99,116, + 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116, +101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, + 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 97,116, 40,118,101, + 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, + 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10, +123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,115, 97,116, 40,102, 97, 99,116, 42,102, 97, 99,103, + 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, + 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114, +103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,118, 97,108, 40,118,101, 99, 51, 32,111,117, +116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102, +108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, + 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,118, 97,108, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, + 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, + 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, + 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 99,111,108,111,114, 40,118,101, 99, 51, 32,111,117,116, 99,111, +108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97, +116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, + 99,111,108, 59, 10, 10, 9,109,105,120, 95, 99,111,108,111,114, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, + 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, + 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, + 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,105,110,111,117,116, 32,102,108,111, 97, +116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, + 99,109, 41, 10,123, 10, 9,102, 97, 99,116, 32, 42, 61, 32, 97, 98,115, 40,102, 97, 99,103, 41, 59, 10, 9,102, 97, 99,109, 32, + 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,102, 40,102, 97, 99,103, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, + 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32,102, 97, 99,116, 59, 10, 9, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,109, + 59, 10, 9, 9,102, 97, 99,109, 32, 61, 32,116,109,112, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, +118, 97,108,117,101, 95, 98,108,101,110,100, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32, +116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32, +111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, + 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99, +109, 41, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, + 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,109,117,108, 40, +102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97, +116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, + 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95, +118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, + 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, + 99,116, 42,116,101,120, 99,111,108, 41, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, +118, 97,108,117,101, 95,115, 99,114,101,101,110, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, + 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, + 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, + 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, + 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, + 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, + 99,111,108, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116, +101,120, 95,118, 97,108,117,101, 95,115,117, 98, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, + 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, + 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, + 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, + 99,109, 41, 59, 10, 10, 9,102, 97, 99,116, 32, 61, 32, 45,102, 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, + 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, + 95,118, 97,108,117,101, 95, 97,100,100, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116, +101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111, +117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9, +109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, + 41, 59, 10, 10, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42, +116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97, +108,117,101, 95,100,105,118, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99, +111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32, +102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101, +120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, + 10, 9,105,102, 40,116,101,120, 99,111,108, 32, 33, 61, 32, 48, 46, 48, 41, 10, 9, 9,105,110, 99,111,108, 32, 61, 32,102, 97, + 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 47,116,101,120, 99,111,108, 59, 10, + 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101, +120, 95,118, 97,108,117,101, 95,100,105,102,102, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, + 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, + 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, + 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, + 99,109, 41, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99, +116, 42, 97, 98,115, 40,116,101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32, +109,116,101,120, 95,118, 97,108,117,101, 95,100, 97,114,107, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108, +111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, + 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, + 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, + 32,102, 97, 99,109, 41, 59, 10, 10, 9,102,108,111, 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111, +108, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, + 59, 32,101,108,115,101, 32,105,110, 99,111,108, 32, 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109, +116,101,120, 95,118, 97,108,117,101, 95,108,105,103,104,116, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108, +111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, + 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, + 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, + 32,102, 97, 99,109, 41, 59, 10, 10, 9,102,108,111, 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111, +108, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, + 59, 32,101,108,115,101, 32,105,110, 99,111,108, 32, 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109, +116,101,120, 95,118, 97,108,117,101, 95, 99,108, 97,109,112, 95,112,111,115,105,116,105,118,101, 40,102,108,111, 97,116, 32,102, + 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,111,117,116,102, 97, 99, 32, + 61, 32,109, 97,120, 40,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97, +108,117,101, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111, +117,116,102, 97, 99, 41, 10,123, 10, 9,111,117,116,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, + 48, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,100,105,118,105,100,101, + 40,102,108,111, 97,116, 32,104, 97,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, + 9,111,117,116,104, 97,114, 32, 61, 32,104, 97,114, 47, 49, 50, 56, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101, +120, 95,104, 97,114, 95,109,117,108,116,105,112,108,121, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,104, 97,114, 44, 32, +111,117,116, 32,102,108,111, 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, 9,104, 97,114, 32, 42, 61, 32, 49, 50, 56, 46, + 48, 59, 10, 10, 9,105,102, 40,104, 97,114, 32, 60, 32, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 49, 46, 48, 59, + 10, 9,101,108,115,101, 32,105,102, 40,104, 97,114, 32, 62, 32, 53, 49, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, + 53, 49, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,111,117,116,104, 97,114, 32, 61, 32,104, 97,114, 59, 10,125, 10, 10,118,111, +105,100, 32,109,116,101,120, 95, 97,108,112,104, 97, 95,102,114,111,109, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, + 32,111,117,116, 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 41, 10,123, 10, 9, 97,108,112,104, 97, 32, 61, 32, 99,111,108, + 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 97,108,112,104, 97, 95,116,111, 95, 99,111,108, 40,118,101, + 99, 52, 32, 99,111,108, 44, 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117, +116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, + 97,108,112,104, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98,116,111,105,110,116, 40,118,101, + 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9, +105,110,116,101,110,115,105,116,121, 32, 61, 32,100,111,116, 40,118,101, 99, 51, 40, 48, 46, 51, 53, 44, 32, 48, 46, 52, 53, 44, + 32, 48, 46, 50, 41, 44, 32,114,103, 98, 46,114,103, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97, +108,117,101, 95,105,110,118,101,114,116, 40,102,108,111, 97,116, 32,105,110,118, 97,108,117,101, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,111,117,116,118, 97,108,117,101, 41, 10,123, 10, 9,111,117,116,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 32, + 45, 32,105,110,118, 97,108,117,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,105,110,118,101, +114,116, 40,118,101, 99, 52, 32,105,110,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10, +123, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,105,110,114, +103, 98, 46,114,103, 98, 44, 32,105,110,114,103, 98, 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, + 97,108,117,101, 95,115,116,101,110, 99,105,108, 40,102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,102,108,111, 97, +116, 32,105,110,116,101,110,115,105,116,121, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105, +108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,102,108, +111, 97,116, 32,102, 97, 99,116, 32, 61, 32,105,110,116,101,110,115,105,116,121, 59, 10, 9,111,117,116,105,110,116,101,110,115, +105,116,121, 32, 61, 32,105,110,116,101,110,115,105,116,121, 42,115,116,101,110, 99,105,108, 59, 10, 9,111,117,116,115,116,101, +110, 99,105,108, 32, 61, 32,115,116,101,110, 99,105,108, 42,102, 97, 99,116, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101, +120, 95,114,103, 98, 95,115,116,101,110, 99,105,108, 40,102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,118,101, 99, + 52, 32,114,103, 98, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, + 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,116, 32, 61, 32,114,103, + 98, 46, 97, 59, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32,114,103, 98, + 46, 97, 42,115,116,101,110, 99,105,108, 41, 59, 10, 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32,115,116,101,110, 99, +105,108, 42,102, 97, 99,116, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,111,102, +115, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,118,101, 99, 51, 32,111,102,115, 44, 32,111,117,116, 32,118,101, 99, 51, + 32,111,117,116,116,101,120, 99,111, 41, 10,123, 10, 9,111,117,116,116,101,120, 99,111, 32, 61, 32,116,101,120, 99,111, 32, 43, + 32,111,102,115, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,115,105,122,101, 40, +118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,118,101, 99, 51, 32,115,105,122,101, 44, 32,111,117,116, 32,118,101, 99, 51, 32, +111,117,116,116,101,120, 99,111, 41, 10,123, 10, 9,111,117,116,116,101,120, 99,111, 32, 61, 32,115,105,122,101, 42,116,101,120, + 99,111, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 40,118,101, 99, 51, + 32,118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, + 32, 61, 32,118,101, 99, 51, 40,118,101, 99, 46,120,121, 42, 48, 46, 53, 32, 43, 32,118,101, 99, 50, 40, 48, 46, 53, 44, 32, 48, + 46, 53, 41, 44, 32,118,101, 99, 46,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,105,109, 97,103,101, 40, +118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,102, +108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99, +111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, + 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,111,114,109, + 97,108, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117, +116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 47, 32, 84,104,101, 32,105,110,118,101,114,116, 32, +111,102, 32,116,104,101, 32,114,101,100, 32, 99,104, 97,110,110,101,108, 32,105,115, 32,116,111, 32,109, 97,107,101, 10, 9, 47, + 47, 32,116,104,101, 32,110,111,114,109, 97,108, 32,109, 97,112, 32, 99,111,109,112,108,105, 97,110,116, 32,119,105,116,104, 32, +116,104,101, 32,111,117,116,115,105,100,101, 32,119,111,114,108,100, 46, 10, 9, 47, 47, 32, 73,116, 32,110,101,101,100,115, 32, +116,111, 32, 98,101, 32,100,111,110,101, 32, 98,101, 99, 97,117,115,101, 32,105,110, 32, 66,108,101,110,100,101,114, 10, 9, 47, + 47, 32,116,104,101, 32,110,111,114,109, 97,108, 32,117,115,101,100, 32,112,111,105,110,116,115, 32,105,110,119, 97,114,100, 46, + 10, 9, 47, 47, 32, 83,104,111,117,108,100, 32,116,104,105,115, 32,101,118,101,114, 32, 99,104, 97,110,103,101, 32,116,104,105, +115, 32,110,101,103, 97,116,101, 32,109,117,115,116, 32, 98,101, 32,114,101,109,111,118,101,100, 46, 10, 32, 32, 32, 32,118,101, + 99, 52, 32, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46, +120,121, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 50, 46, 48, 42, 40,118,101, 99, 51, 40, 45, 99,111,108,111,114, 46, +114, 44, 32, 99,111,108,111,114, 46,103, 44, 32, 99,111,108,111,114, 46, 98, 41, 32, 45, 32,118,101, 99, 51, 40, 45, 48, 46, 53, + 44, 32, 48, 46, 53, 44, 32, 48, 46, 53, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95, +110,111,114,109, 97,108,115, 95,105,110,105,116, 40, 32,118,101, 99, 51, 32,118, 78, 44, 32,111,117,116, 32,118,101, 99, 51, 32, +118, 78,111,114,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, + 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 41, 10,123, 10, 9,118, 78,111,114,103, 32, 61, 32,118, 78, 59, + 10, 9,118, 78, 97, 99, 99, 32, 61, 32,118, 78, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, + 49, 46, 48, 59, 10,125, 10, 10, 47, 42, 42, 32,104,101,108,112,101,114, 32,109,101,116,104,111,100, 32,116,111, 32,101,120,116, +114, 97, 99,116, 32,116,104,101, 32,117,112,112,101,114, 32,108,101,102,116, 32, 51,120, 51, 32,109, 97,116,114,105,120, 32,102, +114,111,109, 32, 97, 32, 52,120, 52, 32,109, 97,116,114,105,120, 32, 42, 47, 10,109, 97,116, 51, 32,116,111, 95,109, 97,116, 51, + 40,109, 97,116, 52, 32,109, 52, 41, 10,123, 10, 9,109, 97,116, 51, 32,109, 51, 59, 10, 9,109, 51, 91, 48, 93, 32, 61, 32,109, + 52, 91, 48, 93, 46,120,121,122, 59, 10, 9,109, 51, 91, 49, 93, 32, 61, 32,109, 52, 91, 49, 93, 46,120,121,122, 59, 10, 9,109, + 51, 91, 50, 93, 32, 61, 32,109, 52, 91, 50, 93, 46,120,121,122, 59, 10, 9,114,101,116,117,114,110, 32,109, 51, 59, 10,125, 10, + 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,111, 98,106,115,112, 97, 99,101, 40, 32,118, +101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 10, 9, 9, + 9, 9, 9, 9, 9, 32, 32,109, 97,116, 52, 32,109, 86,105,101,119, 44, 32,109, 97,116, 52, 32,109, 86,105,101,119, 73,110,118, + 44, 32,109, 97,116, 52, 32,109, 79, 98,106, 44, 32,109, 97,116, 52, 32,109, 79, 98,106, 73,110,118, 44, 32, 10, 9, 9, 9, 9, + 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, + 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32, +102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, + 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32, +111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10, +123, 10, 9,109, 97,116, 51, 32,111, 98,106, 50,118,105,101,119, 32, 61, 32,116,111, 95,109, 97,116, 51, 40,109, 86,105,101,119, + 32, 42, 32,109, 79, 98,106, 41, 59, 10, 9,109, 97,116, 51, 32,118,105,101,119, 50,111, 98,106, 32, 61, 32,116,111, 95,109, 97, +116, 51, 40,109, 79, 98,106, 73,110,118, 32, 42, 32,109, 86,105,101,119, 73,110,118, 41, 59, 10, 9, 10, 9,118,101, 99, 51, 32, +118, 83,105,103,109, 97, 83, 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, 42, 32,100, 70,100,120, 40, 32,115,117,114,102, 95, +112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, + 42, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,110, +111,114,109, 97,108,105,122,101, 40, 32,115,117,114,102, 95,110,111,114,109, 32, 42, 32,111, 98,106, 50,118,105,101,119, 32, 41, + 59, 10, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, + 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 59, 10, 9,102, + 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9, 47, + 42, 32,112,114,101,116,114, 97,110,115,102,111,114,109, 32,118, 78, 97, 99, 99, 32, 40,105,110, 32,109,116,101,120, 95, 98,117, +109,112, 95, 97,112,112,108,121, 41, 32,117,115,105,110,103, 32,116,104,101, 32,105,110,118,101,114,115,101, 32,116,114, 97,110, +115,112,111,115,101,100, 32, 42, 47, 10, 9,118, 82, 49, 32, 61, 32,118, 82, 49, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, + 10, 9,118, 82, 50, 32, 61, 32,118, 82, 50, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9,118, 78, 32, 61, 32,118, 78, + 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, + 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 32, 42, 32,108,101,110,103,116,104, 40,118, 78, 41, 59, 10, 9,118, 78, 97, 99, + 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, + 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105, +116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109, +116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,116,101,120,116,117,114,101,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, 9, - 9, 9, 9, 32, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118, -101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,102,108,111, 97, + 9, 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118, +101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97, 116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, - 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, + 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, 40, 32,115,117,114,102, 95, 112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117,114, 102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95,110,111,114,109, 59, 32, 47, 42, 32,110,111,114,109, 97,108,105,122,101,100, 32,105,110,116,101,114,112,111,108, 97,116,101,100, 32,118,101,114,116,101,120, - 32,110,111,114,109, 97,108, 32, 42, 47, 10, 9, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, - 97, 84, 44, 32,118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103, -109, 97, 83, 32, 41, 32, 59, 10, 9,102, 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105,103,109, 97, 83, 44, 32,118, - 82, 49, 32, 41, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40, -102, 68,101,116, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40, -102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, - 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100, -101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97,112, 51, 40, 32,118,101, 99, 51, 32, -116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97, -108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108, -111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, - 50, 32, 83, 84,108,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, 32, 83, 84,108,114, 32, 61, 32, -116,101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 32, 59, 10, 9,118,101, 99, - 50, 32, 83, 84,117,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120, -121, 41, 32, 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72,108,108, 44, 72,108,114, 44, 72,117,108, 59, 10, 9,114,103, 98,116, -111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,108, 41, 44, 32, 72,108,108, 32, 41, - 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,114, 41, - 44, 32, 72,108,114, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, - 44, 32, 83, 84,117,108, 41, 44, 32, 72,117,108, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,104, 83, 99, 97,108,101, 32, - 42, 32, 40, 72,108,114, 32, 45, 32, 72,108,108, 41, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, - 72,117,108, 32, 45, 32, 72,108,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97, -112, 53, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102, -108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, - 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, - 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59, - 10, 10, 9,118,101, 99, 50, 32, 83, 84, 99, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, 32, 83, 84, -108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, - 99, 50, 32, 83, 84,114, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32, - 59, 10, 9,118,101, 99, 50, 32, 83, 84,100, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84, -101,120, 68,121, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, - 53, 32, 42, 32, 84,101,120, 68,121, 32, 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72, 99, 44, 72,108, 44, 72,114, 44, 72,100, - 44, 72,117, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84, - 99, 41, 44, 32, 72, 99, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, - 97, 44, 32, 83, 84,108, 41, 44, 32, 72,108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, - 50, 68, 40,105,109, 97, 44, 32, 83, 84,114, 41, 44, 32, 72,114, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101, -120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,100, 41, 44, 32, 72,100, 32, 41, 59, 10, 9,114,103, 98,116,111, 98, -119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117, 41, 44, 32, 72,117, 32, 41, 59, 10, 9, 10, - 9,100, 66,115, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,114, 32, 45, 32, 72,108, 41, 59, 10, 9,100, 66,116, 32, - 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,117, 32, 45, 32, 72,100, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116, -101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 40, 32,102,108,111, 97,116, 32,102, 68,101,116, 44, 32,102,108,111, 97,116, - 32,100, 66,115, 44, 32,102,108,111, 97,116, 32,100, 66,116, 44, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,118,101, 99, 51, 32, -118, 82, 50, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118, -101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,112,101,114,116,117,114, 98,101, -100, 95,110,111,114,109, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,117,114,102, 71,114, 97,100, 32, 61, 32,115,105, -103,110, 40,102, 68,101,116, 41, 32, 42, 32, 40, 32,100, 66,115, 32, 42, 32,118, 82, 49, 32, 43, 32,100, 66,116, 32, 42, 32,118, - 82, 50, 32, 41, 59, 10, 9, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 45, 32, + 32,110,111,114,109, 97,108, 32, 42, 47, 10, 9, 10, 9,118, 82, 49, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32, 99, +114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32,110,111, +114,109, 97,108,105,122,101, 40, 32, 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 41, 59, + 10, 9,102, 68,101,116, 32, 61, 32,115,105,103,110, 40, 32,100,111,116, 40,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 41, + 32, 41, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68, +101,116, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, + 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9, +102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, + 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,118,105,101,119,115,112, 97, 99, +101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, + 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100, +101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111, +117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, + 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32, +118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97, +116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, + 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70, +100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95, +110,111,114,109, 59, 32, 47, 42, 32,110,111,114,109, 97,108,105,122,101,100, 32,105,110,116,101,114,112,111,108, 97,116,101,100, + 32,118,101,114,116,101,120, 32,110,111,114,109, 97,108, 32, 42, 47, 10, 9, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, + 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40, 32,118, + 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 59, 10, 9,102, 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105, +103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, + 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, + 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117, +100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, + 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97,112, 51, + 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, + 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, + 10,123, 10, 9,118,101, 99, 50, 32, 83, 84,108,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, 32, + 83, 84,108,114, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, + 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,121, 40, +116,101,120, 99,111, 46,120,121, 41, 32, 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72,108,108, 44, 72,108,114, 44, 72,117,108, + 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,108, 41, + 44, 32, 72,108,108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, + 44, 32, 83, 84,108,114, 41, 44, 32, 72,108,114, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114, +101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117,108, 41, 44, 32, 72,117,108, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32, +104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,108,114, 32, 45, 32, 72,108,108, 41, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, + 97,108,101, 32, 42, 32, 40, 72,117,108, 32, 45, 32, 72,108,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, + 98,117,109,112, 95,116, 97,112, 53, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, + 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, + 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116, +101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, + 99,111, 46,120,121, 41, 59, 10, 10, 9,118,101, 99, 50, 32, 83, 84, 99, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9, +118,101, 99, 50, 32, 83, 84,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68, +120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,114, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, + 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,100, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, + 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117, 32, 61, 32,116,101,120, 99,111, 46, +120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72, 99, 44, 72, +108, 44, 72,114, 44, 72,100, 44, 72,117, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40, +105,109, 97, 44, 32, 83, 84, 99, 41, 44, 32, 72, 99, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117, +114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108, 41, 44, 32, 72,108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32, +116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,114, 41, 44, 32, 72,114, 32, 41, 59, 10, 9,114,103, 98,116, +111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,100, 41, 44, 32, 72,100, 32, 41, 59, 10, + 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117, 41, 44, 32, 72, +117, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,114, 32, 45, 32, 72,108, 41, + 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,117, 32, 45, 32, 72,100, 41, 59, 10,125, 10, 10, +118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 40, 32,102,108,111, 97,116, 32,102, 68,101,116, + 44, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,102,108,111, 97,116, 32,100, 66,116, 44, 32,118,101, 99, 51, 32,118, 82, 49, + 44, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, + 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,112, +101,114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,117,114,102, 71,114, + 97,100, 32, 61, 32,115,105,103,110, 40,102, 68,101,116, 41, 32, 42, 32, 40, 32,100, 66,115, 32, 42, 32,118, 82, 49, 32, 43, 32, +100, 66,116, 32, 42, 32,118, 82, 50, 32, 41, 59, 10, 9, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, + 99, 95,105,110, 32, 45, 32,118, 83,117,114,102, 71,114, 97,100, 59, 10, 9,112,101,114,116,117,114, 98,101,100, 95,110,111,114, +109, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32,118, 78, 97, 99, 99, 95,111,117,116, 32, 41, 59, 10,125, 10, 10,118, +111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 95,116,101,120,115,112, 97, 99,101, 40, 32,102,108, +111, 97,116, 32,102, 68,101,116, 44, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,102,108,111, 97,116, 32,100, 66,116, 44, 32, +118,101, 99, 51, 32,118, 82, 49, 44, 32,118,101, 99, 51, 32,118, 82, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, + 44, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,120, 44, 32,102,108,111, 97,116, + 32,105,109, 97, 95,121, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, + 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,112,101, +114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32, +100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70, +100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 10, 9,118,101, 99, 51, 32,118, 83,117,114,102, 71,114, 97,100, 32, 61, + 32,115,105,103,110, 40,102, 68,101,116, 41, 32, 42, 32, 40, 32, 10, 9, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100, 66, +115, 32, 47, 32,108,101,110,103,116,104, 40, 32,118,101, 99, 50, 40,105,109, 97, 95,120, 42, 84,101,120, 68,120, 46,120, 44, 32, +105,109, 97, 95,121, 42, 84,101,120, 68,120, 46,121, 41, 32, 41, 32, 42, 32,118, 82, 49, 32, 43, 32, 10, 9, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32,100, 66,116, 32, 47, 32,108,101,110,103,116,104, 40, 32,118,101, 99, 50, 40,105,109, 97, 95,120, 42, + 84,101,120, 68,121, 46,120, 44, 32,105,109, 97, 95,121, 42, 84,101,120, 68,121, 46,121, 41, 32, 41, 32, 42, 32,118, 82, 50, 32, + 41, 59, 10, 9, 9, 9, 9, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 45, 32, 118, 83,117,114,102, 71,114, 97,100, 59, 10, 9,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 61, 32,110,111,114, 109, 97,108,105,122,101, 40, 32,118, 78, 97, 99, 99, 95,111,117,116, 32, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101, -120, 95, 98,117,109,112, 95, 97,112,112,108,121, 95,116,101,120,115,112, 97, 99,101, 40, 32,102,108,111, 97,116, 32,102, 68,101, -116, 44, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,102,108,111, 97,116, 32,100, 66,116, 44, 32,118,101, 99, 51, 32,118, 82, - 49, 44, 32,118,101, 99, 51, 32,118, 82, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,118,101, 99, 51, 32, -116,101,120, 99,111, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,120, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,121, 44, - 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,118,101, - 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,112,101,114,116,117,114, 98,101,100, - 95,110,111,114,109, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101, -120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99, -111, 46,120,121, 41, 59, 10, 10, 9,118,101, 99, 51, 32,118, 83,117,114,102, 71,114, 97,100, 32, 61, 32,115,105,103,110, 40,102, - 68,101,116, 41, 32, 42, 32, 40, 32, 10, 9, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100, 66,115, 32, 47, 32,108,101,110, -103,116,104, 40, 32,118,101, 99, 50, 40,105,109, 97, 95,120, 42, 84,101,120, 68,120, 46,120, 44, 32,105,109, 97, 95,121, 42, 84, -101,120, 68,120, 46,121, 41, 32, 41, 32, 42, 32,118, 82, 49, 32, 43, 32, 10, 9, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -100, 66,116, 32, 47, 32,108,101,110,103,116,104, 40, 32,118,101, 99, 50, 40,105,109, 97, 95,120, 42, 84,101,120, 68,121, 46,120, - 44, 32,105,109, 97, 95,121, 42, 84,101,120, 68,121, 46,121, 41, 32, 41, 32, 42, 32,118, 82, 50, 32, 41, 59, 10, 9, 9, 9, 9, - 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 45, 32,118, 83,117,114,102, 71,114, - 97,100, 59, 10, 9,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, - 32,118, 78, 97, 99, 99, 95,111,117,116, 32, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,101,103, 97,116, -101, 95,116,101,120,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, - 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,118,101, 99, 51, - 40, 45,110,111,114,109, 97,108, 46,120, 44, 32, 45,110,111,114,109, 97,108, 46,121, 44, 32,110,111,114,109, 97,108, 46,122, 41, - 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,115,112, 97, 99,101, 95,116, 97,110,103,101,110,116, 40,118,101, - 99, 52, 32,116, 97,110,103,101,110,116, 44, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,118,101, 99, 51, 32,116,101, -120,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, -118,101, 99, 51, 32, 66, 32, 61, 32,116, 97,110,103,101,110,116, 46,119, 32, 42, 32, 99,114,111,115,115, 40,110,111,114,109, 97, -108, 44, 32,116, 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,116, -101,120,110,111,114,109, 97,108, 46,120, 42,116, 97,110,103,101,110,116, 46,120,121,122, 32, 43, 32,116,101,120,110,111,114,109, - 97,108, 46,121, 42, 66, 32, 43, 32,116,101,120,110,111,114,109, 97,108, 46,122, 42,110,111,114,109, 97,108, 59, 10, 9,111,117, -116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,110,111,114,109, 97,108, 41, 59, 10, -125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,108,101,110,100, 95,110,111,114,109, 97,108, 40,102,108,111, 97,116, 32, -110,111,114,102, 97, 99, 44, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,118,101, 99, 51, 32,110,101,119,110,111,114, -109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9,111,117,116,110, -111,114,109, 97,108, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32,110,111,114,102, 97, 99, 41, 42,110,111,114,109, 97,108, 32, 43, 32, -110,111,114,102, 97, 99, 42,110,101,119,110,111,114,109, 97,108, 59, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,110, -111,114,109, 97,108,105,122,101, 40,111,117,116,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, - 32, 77, 65, 84, 69, 82, 73, 65, 76, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,108, 97,109,112, 95, -118,105,115,105, 98,105,108,105,116,121, 95,115,117,110, 95,104,101,109,105, 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, - 44, 32,111,117,116, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,108,118, 32, 61, 32,108, 97,109,112,118,101, - 99, 59, 10, 9,100,105,115,116, 32, 61, 32, 49, 46, 48, 59, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10, -125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,111,116,104,101,114, 40,118,101, - 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,108,118, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, - 97, 99, 41, 10,123, 10, 9,108,118, 32, 61, 32, 99,111, 32, 45, 32,108, 97,109,112, 99,111, 59, 10, 9,100,105,115,116, 32, 61, - 32,108,101,110,103,116,104, 40,108,118, 41, 59, 10, 9,108,118, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108,118, 41, - 59, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, - 97,108,108,111,102,102, 95,105,110,118,108,105,110,101, 97,114, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, - 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10, -123, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105,115,116, 47, 40,108, 97,109,112,100,105,115,116, 32, - 43, 32,100,105,115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95,105,110, -118,115,113,117, 97,114,101, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105, -115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,118,105,115,105,102, 97, - 99, 32, 61, 32,108, 97,109,112,100,105,115,116, 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32,100,105,115,116, 42,100,105, -115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95,115,108,105,100,101,114, -115, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,108,100, 49, 44, 32,102,108,111, - 97,116, 32,108,100, 50, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105, -115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116,107,119, 32, 61, 32,108, 97,109, -112,100,105,115,116, 42,108, 97,109,112,100,105,115,116, 59, 10, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112, -100,105,115,116, 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32,108,100, 49, 42,100,105,115,116, 41, 59, 10, 9,118,105,115, -105,102, 97, 99, 32, 42, 61, 32,108, 97,109,112,100,105,115,116,107,119, 47, 40,108, 97,109,112,100,105,115,116,107,119, 32, 43, - 32,108,100, 50, 42,100,105,115,116, 42,100,105,115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97, -108,108,111,102,102, 95, 99,117,114,118,101, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,115, 97,109,112, -108,101,114, 49, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32, -102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,116,101,120,116, -117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,100,105,115,116, 47,108, 97,109,112,100,105,115,116, 41, 46,120, - 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,112,104,101,114,101, - 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,102,108,111, - 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,105,115,105,102, 97, 99, - 41, 10,123, 10, 9,102,108,111, 97,116, 32,116, 61, 32,108, 97,109,112,100,105,115,116, 32, 45, 32,100,105,115,116, 59, 10, 10, - 9,111,117,116,118,105,115,105,102, 97, 99, 61, 32,118,105,115,105,102, 97, 99, 42,109, 97,120, 40,116, 44, 32, 48, 46, 48, 41, - 47,108, 97,109,112,100,105,115,116, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105, -116,121, 95,115,112,111,116, 95,115,113,117, 97,114,101, 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,109, 97,116, - 52, 32,108, 97,109,112,105,109, 97,116, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105, -110,112,114, 41, 10,123, 10, 9,105,102, 40,100,111,116, 40,108,118, 44, 32,108, 97,109,112,118,101, 99, 41, 32, 62, 32, 48, 46, - 48, 41, 32,123, 10, 9, 9,118,101, 99, 51, 32,108,118,114,111,116, 32, 61, 32, 40,108, 97,109,112,105,109, 97,116, 42,118,101, - 99, 52, 40,108,118, 44, 32, 48, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9, 9,102,108,111, 97,116, 32,120, 32, 61, 32,109, 97, -120, 40, 97, 98,115, 40,108,118,114,111,116, 46,120, 47,108,118,114,111,116, 46,122, 41, 44, 32, 97, 98,115, 40,108,118,114,111, -116, 46,121, 47,108,118,114,111,116, 46,122, 41, 41, 59, 10, 10, 9, 9,105,110,112,114, 32, 61, 32, 49, 46, 48, 47,115,113,114, -116, 40, 49, 46, 48, 32, 43, 32,120, 42,120, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 10, 9, 9,105,110,112,114, 32, 61, 32, - 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,112,111, -116, 95, 99,105,114, 99,108,101, 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,118,101, 99, 51, 32,108,118, 44, 32, -111,117,116, 32,102,108,111, 97,116, 32,105,110,112,114, 41, 10,123, 10, 9,105,110,112,114, 32, 61, 32,100,111,116, 40,108,118, - 44, 32,108, 97,109,112,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108, -105,116,121, 95,115,112,111,116, 40,102,108,111, 97,116, 32,115,112,111,116,115,105, 44, 32,102,108,111, 97,116, 32,115,112,111, -116, 98,108, 44, 32,102,108,111, 97,116, 32,105,110,112,114, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32, -111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,116, - 32, 61, 32,115,112,111,116,115,105, 59, 10, 10, 9,105,102, 40,105,110,112,114, 32, 60, 61, 32,116, 41, 32,123, 10, 9, 9,111, -117,116,118,105,115,105,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,116, 32, - 61, 32,105,110,112,114, 32, 45, 32,116, 59, 10, 10, 9, 9, 47, 42, 32,115,111,102,116, 32, 97,114,101, 97, 32, 42, 47, 10, 9, - 9,105,102, 40,115,112,111,116, 98,108, 32, 33, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,105,110,112,114, 32, 42, 61, 32,115,109, -111,111,116,104,115,116,101,112, 40, 48, 46, 48, 44, 32, 49, 46, 48, 44, 32,116, 47,115,112,111,116, 98,108, 41, 59, 10, 10, 9, - 9,111,117,116,118,105,115,105,102, 97, 99, 32, 61, 32,118,105,115,105,102, 97, 99, 42,105,110,112,114, 59, 10, 9,125, 10,125, - 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95, 99,108, 97,109,112, 40,102,108,111, - 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,105,115,105,102, 97, 99, - 41, 10,123, 10, 9,111,117,116,118,105,115,105,102, 97, 99, 32, 61, 32, 40,118,105,115,105,102, 97, 99, 32, 60, 32, 48, 46, 48, - 48, 49, 41, 63, 32, 48, 46, 48, 58, 32,118,105,115,105,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, - 95,118,105,101,119, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,105,101,119, 41, 10,123, 10, - 9, 47, 42, 32,104, 97,110,100,108,101, 32,112,101,114,115,112,101, 99,116,105,118,101, 47,111,114,116,104,111,103,114, 97,112, -104,105, 99, 32, 42, 47, 10, 9,118,105,101,119, 32, 61, 32, 40,103,108, 95, 80,114,111,106,101, 99,116,105,111,110, 77, 97,116, -114,105,120, 91, 51, 93, 91, 51, 93, 32, 61, 61, 32, 48, 46, 48, 41, 63, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 41, - 58, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 45, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32, -115,104, 97,100,101, 95,116, 97,110,103,101,110,116, 95,118, 40,118,101, 99, 51, 32,108,118, 44, 32,118,101, 99, 51, 32,116, 97, -110,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,101, 99, 51, 32, 99, 32, 61, 32, 99,114,111, -115,115, 40,108,118, 44, 32,116, 97,110,103, 41, 59, 10, 9,118,101, 99, 51, 32,118,110,111,114, 32, 61, 32, 99,114,111,115,115, - 40, 99, 44, 32,116, 97,110,103, 41, 59, 10, 10, 9,118,110, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,118,110,111, -114, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,110,112, 40,118,101, 99, 51, 32,118,110, 44, 32,118, -101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,112, 41, 10,123, 10, 9,105,110,112, 32, 61, 32, -100,111,116, 40,118,110, 44, 32,108,118, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,115, 95,110,111, - 95,100,105,102,102,117,115,101, 40,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, 61, 32, 48, - 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,115, 95,104,101,109,105, 40,102,108,111, 97,116, 32, -105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, 61, 32, 48, 46, 53, 42,105, -110,112, 32, 43, 32, 48, 46, 53, 59, 10,125, 10, 10,102,108,111, 97,116, 32, 97,114,101, 97, 95,108, 97,109,112, 95,101,110,101, -114,103,121, 40,109, 97,116, 52, 32, 97,114,101, 97, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,118,110, 41, - 10,123, 10, 9,118,101, 99, 51, 32,118,101, 99, 91, 52, 93, 44, 32, 99, 91, 52, 93, 59, 10, 9,102,108,111, 97,116, 32,114, 97, -100, 91, 52, 93, 44, 32,102, 97, 99, 59, 10, 9, 10, 9,118,101, 99, 91, 48, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, - 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 48, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, 49, 93, 32, 61, 32,110,111, -114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 49, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, - 50, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 50, 93, 46,120,121,122, 41, - 59, 10, 9,118,101, 99, 91, 51, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, - 51, 93, 46,120,121,122, 41, 59, 10, 10, 9, 99, 91, 48, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115, -115, 40,118,101, 99, 91, 48, 93, 44, 32,118,101, 99, 91, 49, 93, 41, 41, 59, 10, 9, 99, 91, 49, 93, 32, 61, 32,110,111,114,109, - 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 49, 93, 44, 32,118,101, 99, 91, 50, 93, 41, 41, 59, 10, 9, 99, - 91, 50, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 50, 93, 44, 32,118,101, - 99, 91, 51, 93, 41, 41, 59, 10, 9, 99, 91, 51, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40, -118,101, 99, 91, 51, 93, 44, 32,118,101, 99, 91, 48, 93, 41, 41, 59, 10, 10, 9,114, 97,100, 91, 48, 93, 32, 61, 32, 97, 99,111, -115, 40,100,111,116, 40,118,101, 99, 91, 48, 93, 44, 32,118,101, 99, 91, 49, 93, 41, 41, 59, 10, 9,114, 97,100, 91, 49, 93, 32, - 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 49, 93, 44, 32,118,101, 99, 91, 50, 93, 41, 41, 59, 10, 9,114, 97, -100, 91, 50, 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 50, 93, 44, 32,118,101, 99, 91, 51, 93, 41, 41, - 59, 10, 9,114, 97,100, 91, 51, 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 51, 93, 44, 32,118,101, 99, - 91, 48, 93, 41, 41, 59, 10, 10, 9,102, 97, 99, 61, 32, 32,114, 97,100, 91, 48, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, - 48, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, 32,114, 97,100, 91, 49, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 49, 93, 41, - 59, 10, 9,102, 97, 99, 43, 61, 32,114, 97,100, 91, 50, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 50, 93, 41, 59, 10, 9, -102, 97, 99, 43, 61, 32,114, 97,100, 91, 51, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 51, 93, 41, 59, 10, 10, 9,114,101, -116,117,114,110, 32,109, 97,120, 40,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100, -101, 95,105,110,112, 95, 97,114,101, 97, 40,118,101, 99, 51, 32,112,111,115,105,116,105,111,110, 44, 32,118,101, 99, 51, 32,108, - 97,109,112, 99,111, 44, 32,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,118,101, 99, 51, 32,118,110, 44, 32,109, 97, -116, 52, 32, 97,114,101, 97, 44, 32,102,108,111, 97,116, 32, 97,114,101, 97,115,105,122,101, 44, 32,102,108,111, 97,116, 32,107, - 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,112, 41, 10,123, 10, 9,118,101, 99, 51, 32, 99,111, 32, 61, 32,112,111, -115,105,116,105,111,110, 59, 10, 9,118,101, 99, 51, 32,118,101, 99, 32, 61, 32, 99,111, 32, 45, 32,108, 97,109,112, 99,111, 59, - 10, 10, 9,105,102, 40,100,111,116, 40,118,101, 99, 44, 32,108, 97,109,112,118,101, 99, 41, 32, 60, 32, 48, 46, 48, 41, 32,123, - 10, 9, 9,105,110,112, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, - 32,105,110,116,101,110,115, 32, 61, 32, 97,114,101, 97, 95,108, 97,109,112, 95,101,110,101,114,103,121, 40, 97,114,101, 97, 44, - 32, 99,111, 44, 32,118,110, 41, 59, 10, 10, 9, 9,105,110,112, 32, 61, 32,112,111,119, 40,105,110,116,101,110,115, 42, 97,114, -101, 97,115,105,122,101, 44, 32,107, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102, -102,117,115,101, 95,111,114,101,110, 95,110, 97,121,101,114, 40,102,108,111, 97,116, 32,110,108, 44, 32,118,101, 99, 51, 32,110, - 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105, -122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, - 44, 32,104, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40, -110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,114,101, 97,108,110,108, 32, 61, 32,100,111,116, - 40,110, 44, 32,108, 41, 59, 10, 10, 9,105,102, 40,114,101, 97,108,110,108, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105, -115, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,105,102, 40,110,108, 32, 60, 32, 48, 46, 48, 41, 32,123, - 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32, -118,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,118, 44, 32,104, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9,102,108,111, 97, -116, 32, 76,105,116, 95, 65, 32, 61, 32, 97, 99,111,115, 40,114,101, 97,108,110,108, 41, 59, 10, 9, 9,102,108,111, 97,116, 32, - 86,105,101,119, 95, 65, 32, 61, 32, 97, 99,111,115, 40,110,118, 41, 59, 10, 10, 9, 9,118,101, 99, 51, 32, 76,105,116, 95, 66, - 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, 32, 45, 32,114,101, 97,108,110,108, 42,110, 41, 59, 10, 9, 9,118,101, - 99, 51, 32, 86,105,101,119, 95, 66, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 45, 32,110,118, 42,110, 41, 59, - 10, 10, 9, 9,102,108,111, 97,116, 32,116, 32, 61, 32,109, 97,120, 40,100,111,116, 40, 76,105,116, 95, 66, 44, 32, 86,105,101, -119, 95, 66, 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 97, 44, 32, 98, 59, 10, 10, 9, 9,105,102, - 40, 76,105,116, 95, 65, 32, 62, 32, 86,105,101,119, 95, 65, 41, 32,123, 10, 9, 9, 9, 97, 32, 61, 32, 76,105,116, 95, 65, 59, - 10, 9, 9, 9, 98, 32, 61, 32, 86,105,101,119, 95, 65, 59, 10, 9, 9,125, 10, 9, 9,101,108,115,101, 32,123, 10, 9, 9, 9, - 97, 32, 61, 32, 86,105,101,119, 95, 65, 59, 10, 9, 9, 9, 98, 32, 61, 32, 76,105,116, 95, 65, 59, 10, 9, 9,125, 10, 10, 9, - 9,102,108,111, 97,116, 32, 65, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 48, 46, 53, 42, 40, 40,114,111,117,103,104, 42,114,111, -117,103,104, 41, 47, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 32, 43, 32, 48, 46, 51, 51, 41, 41, 41, 59, 10, 9, - 9,102,108,111, 97,116, 32, 66, 32, 61, 32, 48, 46, 52, 53, 42, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 47, 40, - 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 32, 43, 32, 48, 46, 48, 57, 41, 41, 59, 10, 10, 9, 9, 98, 32, 42, 61, 32, - 48, 46, 57, 53, 59, 10, 9, 9,105,115, 32, 61, 32,110,108, 42, 40, 65, 32, 43, 32, 40, 66, 32, 42, 32,116, 32, 42, 32,115,105, -110, 40, 97, 41, 32, 42, 32,116, 97,110, 40, 98, 41, 41, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100, -101, 95,100,105,102,102,117,115,101, 95,116,111,111,110, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118, -101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,115,109,111,111,116,104, - 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32, -100,111,116, 40,110, 44, 32,108, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,114,115,108, -116, 41, 59, 10, 10, 9,105,102, 40, 97,110,103, 32, 60, 32,115,105,122,101, 41, 32,105,115, 32, 61, 32, 49, 46, 48, 59, 10, 9, -101,108,115,101, 32,105,102, 40, 97,110,103, 32, 62, 32, 40,115,105,122,101, 32, 43, 32,116,115,109,111,111,116,104, 41, 32,124, -124, 32,116,115,109,111,111,116,104, 32, 61, 61, 32, 48, 46, 48, 41, 32,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115, -101, 32,105,115, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 40, 97,110,103, 32, 45, 32,115,105,122,101, 41, 47,116,115,109,111,111, -116,104, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115,101, 95,109,105,110,110, 97, -101,114,116, 40,102,108,111, 97,116, 32,110,108, 44, 32,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108, -111, 97,116, 32,100, 97,114,107,110,101,115,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105, -102, 40,110,108, 32, 60, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101, -108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, - 44, 32, 48, 46, 48, 41, 59, 10, 10, 9, 9,105,102, 40,100, 97,114,107,110,101,115,115, 32, 60, 61, 32, 49, 46, 48, 41, 10, 9, - 9, 9,105,115, 32, 61, 32,110,108, 42,112,111,119, 40,109, 97,120, 40,110,118, 42,110,108, 44, 32, 48, 46, 49, 41, 44, 32,100, - 97,114,107,110,101,115,115, 32, 45, 32, 49, 46, 48, 41, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,105,115, 32, 61, 32,110, -108, 42,112,111,119, 40, 49, 46, 48, 48, 48, 49, 32, 45, 32,110,118, 44, 32,100, 97,114,107,110,101,115,115, 32, 45, 32, 49, 46, - 48, 41, 59, 10, 9,125, 10,125, 10, 10,102,108,111, 97,116, 32,102,114,101,115,110,101,108, 95,102, 97, 99, 40,118,101, 99, 51, - 32,118,105,101,119, 44, 32,118,101, 99, 51, 32,118,110, 44, 32,102,108,111, 97,116, 32,103,114, 97,100, 44, 32,102,108,111, 97, -116, 32,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,116, 49, 44, 32,116, 50, 59, 10, 9,102,108,111, 97,116, 32,102, -102, 97, 99, 59, 10, 10, 9,105,102, 40,102, 97, 99, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,102,102, 97, 99, 32, 61, 32, 49, - 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,116, 49, 61, 32,100,111,116, 40,118,105,101,119, 44, 32,118, -110, 41, 59, 10, 9, 9,105,102, 40,116, 49, 62, 48, 46, 48, 41, 32, 32,116, 50, 61, 32, 49, 46, 48, 43,116, 49, 59, 10, 9, 9, -101,108,115,101, 32,116, 50, 61, 32, 49, 46, 48, 45,116, 49, 59, 10, 10, 9, 9,116, 50, 61, 32,103,114, 97,100, 32, 43, 32, 40, - 49, 46, 48, 45,103,114, 97,100, 41, 42,112,111,119, 40,116, 50, 44, 32,102, 97, 99, 41, 59, 10, 10, 9, 9,105,102, 40,116, 50, - 60, 48, 46, 48, 41, 32,102,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40,116, 50, 62, 49, - 46, 48, 41, 32,102,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,102,102, 97, 99, 32, 61, 32,116, 50, - 59, 10, 9,125, 10, 10, 9,114,101,116,117,114,110, 32,102,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100, -101, 95,100,105,102,102,117,115,101, 95,102,114,101,115,110,101,108, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32, -108,118, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 95,105, 44, 32,102,108,111, 97, -116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, 61, 32,102,114,101, -115,110,101,108, 95,102, 97, 99, 40,108,118, 44, 32,118,110, 44, 32,102, 97, 99, 95,105, 44, 32,102, 97, 99, 41, 59, 10,125, 10, - 10,118,111,105,100, 32,115,104, 97,100,101, 95, 99,117, 98,105, 99, 40,102,108,111, 97,116, 32,105,115, 44, 32,111,117,116, 32, -102,108,111, 97,116, 32,111,117,116,105,115, 41, 10,123, 10, 9,105,102, 40,105,115, 62, 48, 46, 48, 32, 38, 38, 32,105,115, 60, - 49, 46, 48, 41, 10, 9, 9,111,117,116,105,115, 61, 32,115,109,111,111,116,104,115,116,101,112, 40, 48, 46, 48, 44, 32, 49, 46, - 48, 44, 32,105,115, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,105,115, 61, 32,105,115, 59, 10,125, 10, 10,118,111, -105,100, 32,115,104, 97,100,101, 95,118,105,115,105,102, 97, 99, 40,102,108,111, 97,116, 32,105, 44, 32,102,108,111, 97,116, 32, -118,105,115,105,102, 97, 99, 44, 32,102,108,111, 97,116, 32,114,101,102,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111, -117,116,105, 41, 10,123, 10, 9, 47, 42,105,102, 40,105, 32, 62, 32, 48, 46, 48, 41, 42, 47, 10, 9, 9,111,117,116,105, 32, 61, - 32,109, 97,120, 40,105, 42,118,105,115,105,102, 97, 99, 42,114,101,102,108, 44, 32, 48, 46, 48, 41, 59, 10, 9, 47, 42,101,108, -115,101, 10, 9, 9,111,117,116,105, 32, 61, 32,105, 59, 42, 47, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,116, - 97,110,103,101,110,116, 95,118, 95,115,112,101, 99, 40,118,101, 99, 51, 32,116, 97,110,103, 44, 32,111,117,116, 32,118,101, 99, - 51, 32,118,110, 41, 10,123, 10, 9,118,110, 32, 61, 32,116, 97,110,103, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100, -101, 95, 97,100,100, 95,116,111, 95,100,105,102,102,117,115,101, 40,102,108,111, 97,116, 32,105, 44, 32,118,101, 99, 51, 32,108, - 97,109,112, 99,111,108, 44, 32,118,101, 99, 51, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111, -108, 41, 10,123, 10, 9,105,102, 40,105, 32, 62, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,105, 42,108, - 97,109,112, 99,111,108, 42, 99,111,108, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, - 51, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, -104,101,109,105, 95,115,112,101, 99, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,118,101, 99, 51, - 32,118,105,101,119, 44, 32,102,108,111, 97,116, 32,115,112,101, 99, 44, 32,102,108,111, 97,116, 32,104, 97,114,100, 44, 32,102, -108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,116, 41, 10,123, 10, 9,108,118, - 32, 43, 61, 32,118,105,101,119, 59, 10, 9,108,118, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108,118, 41, 59, 10, 10, - 9,116, 32, 61, 32,100,111,116, 40,118,110, 44, 32,108,118, 41, 59, 10, 9,116, 32, 61, 32, 48, 46, 53, 42,116, 32, 43, 32, 48, - 46, 53, 59, 10, 10, 9,116, 32, 61, 32,118,105,115,105,102, 97, 99, 42,115,112,101, 99, 42,112,111,119, 40,116, 44, 32,104, 97, -114,100, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,112,104,111,110,103, 95,115,112,101, 99, 40,118,101, - 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,104, 97,114,100, - 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, - 32,110,111,114,109, 97,108,105,122,101, 40,108, 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, - 32,109, 97,120, 40,100,111,116, 40,104, 44, 32,110, 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9,115,112,101, 99,102, 97, 99, 32, - 61, 32,112,111,119, 40,114,115,108,116, 44, 32,104, 97,114,100, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, - 95, 99,111,111,107,116,111,114,114, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118, -101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,104, 97,114,100, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, - 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 43, 32, -108, 41, 59, 10, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,100,111,116, 40,110, 44, 32,104, 41, 59, 10, 10, 9,105,102, 40, -110,104, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, - 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32, -118, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9,102,108,111, 97,116, 32,105, 32, 61, 32,112,111,119, 40,110,104, 44, 32,104, 97, -114,100, 41, 59, 10, 10, 9, 9,105, 32, 61, 32,105, 47, 40, 48, 46, 49, 43,110,118, 41, 59, 10, 9, 9,115,112,101, 99,102, 97, - 99, 32, 61, 32,105, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 98,108,105,110,110, 95,115,112, -101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, - 32,114,101,102,114, 97, 99, 44, 32,102,108,111, 97,116, 32,115,112,101, 99, 95,112,111,119,101,114, 44, 32,111,117,116, 32,102, -108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,105,102, 40,114,101,102,114, 97, 99, 32, 60, 32, 49, 46, 48, - 41, 32,123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,105,102, - 40,115,112,101, 99, 95,112,111,119,101,114, 32, 61, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, - 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, 40,115,112,101, 99, 95,112,111,119,101, -114, 60, 49, 48, 48, 46, 48, 41, 10, 9, 9, 9,115,112,101, 99, 95,112,111,119,101,114, 61, 32,115,113,114,116, 40, 49, 46, 48, - 47,115,112,101, 99, 95,112,111,119,101,114, 41, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,115,112,101, 99, 95,112,111,119, -101,114, 61, 32, 49, 48, 46, 48, 47,115,112,101, 99, 95,112,111,119,101,114, 59, 10, 10, 9, 9,118,101, 99, 51, 32,104, 32, 61, - 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32, -100,111,116, 40,110, 44, 32,104, 41, 59, 10, 9, 9,105,102, 40,110,104, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9, 9,115, -112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,125, 10, 9, 9,101,108,115,101, 32,123, 10, 9, 9, 9,102,108, -111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 49, 41, 59, 10, 9, - 9, 9,102,108,111, 97,116, 32,110,108, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, 9, 9, 9,105,102, 40,110,108, - 32, 60, 61, 32, 48, 46, 48, 49, 41, 32,123, 10, 9, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, - 9, 9,125, 10, 9, 9, 9,101,108,115,101, 32,123, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,118,104, 32, 61, 32,109, 97,120, - 40,100,111,116, 40,118, 44, 32,104, 41, 44, 32, 48, 46, 48, 49, 41, 59, 10, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 97, 32, - 61, 32, 49, 46, 48, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 98, 32, 61, 32, 40, 50, 46, 48, 42,110,104, 42,110,118, 41, - 47,118,104, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 99, 32, 61, 32, 40, 50, 46, 48, 42,110,104, 42,110,108, 41, 47,118, -104, 59, 10, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,103, 32, 61, 32, 48, 46, 48, 59, 10, 10, 9, 9, 9, 9,105,102, 40, 97, - 32, 60, 32, 98, 32, 38, 38, 32, 97, 32, 60, 32, 99, 41, 32,103, 32, 61, 32, 97, 59, 10, 9, 9, 9, 9,101,108,115,101, 32,105, -102, 40, 98, 32, 60, 32, 97, 32, 38, 38, 32, 98, 32, 60, 32, 99, 41, 32,103, 32, 61, 32, 98, 59, 10, 9, 9, 9, 9,101,108,115, -101, 32,105,102, 40, 99, 32, 60, 32, 97, 32, 38, 38, 32, 99, 32, 60, 32, 98, 41, 32,103, 32, 61, 32, 99, 59, 10, 10, 9, 9, 9, - 9,102,108,111, 97,116, 32,112, 32, 61, 32,115,113,114,116, 40, 40, 40,114,101,102,114, 97, 99, 32, 42, 32,114,101,102,114, 97, - 99, 41, 43, 40,118,104, 42,118,104, 41, 45, 49, 46, 48, 41, 41, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,102, 32, 61, 32, - 40, 40, 40,112, 45,118,104, 41, 42, 40,112, 45,118,104, 41, 41, 47, 40, 40,112, 43,118,104, 41, 42, 40,112, 43,118,104, 41, 41, - 41, 42, 40, 49, 46, 48, 43, 40, 40, 40, 40,118,104, 42, 40,112, 43,118,104, 41, 41, 45, 49, 46, 48, 41, 42, 40, 40,118,104, 42, - 40,112, 43,118,104, 41, 41, 45, 49, 46, 48, 41, 41, 47, 40, 40, 40,118,104, 42, 40,112, 45,118,104, 41, 41, 43, 49, 46, 48, 41, - 42, 40, 40,118,104, 42, 40,112, 45,118,104, 41, 41, 43, 49, 46, 48, 41, 41, 41, 41, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, - 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,110,104, 41, 59, 10, 10, 9, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, -109, 97,120, 40,102, 42,103, 42,101,120,112, 95, 98,108,101,110,100,101,114, 40, 40, 45, 40, 97,110,103, 42, 97,110,103, 41, 47, - 40, 50, 46, 48, 42,115,112,101, 99, 95,112,111,119,101,114, 42,115,112,101, 99, 95,112,111,119,101,114, 41, 41, 41, 44, 32, 48, - 46, 48, 41, 59, 10, 9, 9, 9,125, 10, 9, 9,125, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,119, - 97,114,100,105,115,111, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, - 32,118, 44, 32,102,108,111, 97,116, 32,114,109,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, - 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, 32, 43, 32,118, 41, 59, 10, - 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,104, 41, 44, 32, 48, 46, 48, 48, 49, - 41, 59, 10, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, - 48, 48, 49, 41, 59, 10, 9,102,108,111, 97,116, 32,110,108, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,108, 41, 44, - 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,110,103,108,101, 32, 61, 32,116, 97,110, 40, 97, 99,111,115, - 40,110,104, 41, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,108,112,104, 97, 32, 61, 32,109, 97,120, 40,114,109,115, 44, 32, 48, - 46, 48, 48, 49, 41, 59, 10, 10, 9,115,112,101, 99,102, 97, 99, 61, 32,110,108, 32, 42, 32, 40, 49, 46, 48, 47, 40, 52, 46, 48, - 42, 77, 95, 80, 73, 42, 97,108,112,104, 97, 42, 97,108,112,104, 97, 41, 41, 42, 40,101,120,112, 95, 98,108,101,110,100,101,114, - 40, 45, 40, 97,110,103,108,101, 42, 97,110,103,108,101, 41, 47, 40, 97,108,112,104, 97, 42, 97,108,112,104, 97, 41, 41, 47, 40, -115,113,114,116, 40,110,118, 42,110,108, 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,116,111,111, -110, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102, -108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,115,109,111,111,116,104, 44, 32,111,117,116, 32,102,108, +120, 95,110,101,103, 97,116,101, 95,116,101,120,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32, +111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9,111,117,116,110,111,114,109, 97,108, + 32, 61, 32,118,101, 99, 51, 40, 45,110,111,114,109, 97,108, 46,120, 44, 32, 45,110,111,114,109, 97,108, 46,121, 44, 32,110,111, +114,109, 97,108, 46,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,115,112, 97, 99,101, 95,116, 97,110, +103,101,110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, 44, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32, +118,101, 99, 51, 32,116,101,120,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, + 97,108, 41, 10,123, 10, 9,118,101, 99, 51, 32, 66, 32, 61, 32,116, 97,110,103,101,110,116, 46,119, 32, 42, 32, 99,114,111,115, +115, 40,110,111,114,109, 97,108, 44, 32,116, 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10, 10, 9,111,117,116,110,111,114, +109, 97,108, 32, 61, 32,116,101,120,110,111,114,109, 97,108, 46,120, 42,116, 97,110,103,101,110,116, 46,120,121,122, 32, 43, 32, +116,101,120,110,111,114,109, 97,108, 46,121, 42, 66, 32, 43, 32,116,101,120,110,111,114,109, 97,108, 46,122, 42,110,111,114,109, + 97,108, 59, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,110,111, +114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,108,101,110,100, 95,110,111,114,109, 97,108, + 40,102,108,111, 97,116, 32,110,111,114,102, 97, 99, 44, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,118,101, 99, 51, + 32,110,101,119,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10, +123, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32,110,111,114,102, 97, 99, 41, 42,110,111, +114,109, 97,108, 32, 43, 32,110,111,114,102, 97, 99, 42,110,101,119,110,111,114,109, 97,108, 59, 10, 9,111,117,116,110,111,114, +109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10, 47, + 42, 42, 42, 42, 42, 42, 42, 32, 77, 65, 84, 69, 82, 73, 65, 76, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105, +100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,117,110, 95,104,101,109,105, 40,118,101, 99, 51, 32, +108, 97,109,112,118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, +100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,108,118, 32, 61, + 32,108, 97,109,112,118,101, 99, 59, 10, 9,100,105,115,116, 32, 61, 32, 49, 46, 48, 59, 10, 9,118,105,115,105,102, 97, 99, 32, + 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,111, +116,104,101,114, 40,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99,111, 44, 32,111,117,116, 32,118, +101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97, +116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,108,118, 32, 61, 32, 99,111, 32, 45, 32,108, 97,109,112, 99,111, 59, 10, + 9,100,105,115,116, 32, 61, 32,108,101,110,103,116,104, 40,108,118, 41, 59, 10, 9,108,118, 32, 61, 32,110,111,114,109, 97,108, +105,122,101, 40,108,118, 41, 59, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, + 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95,105,110,118,108,105,110,101, 97,114, 40,102,108,111, 97,116, 32,108, 97, +109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105, +115,105,102, 97, 99, 41, 10,123, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105,115,116, 47, 40,108, 97, +109,112,100,105,115,116, 32, 43, 32,100,105,115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108, +108,111,102,102, 95,105,110,118,115,113,117, 97,114,101, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102, +108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, + 9,118,105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105,115,116, 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32, +100,105,115,116, 42,100,105,115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, + 95,115,108,105,100,101,114,115, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,108, +100, 49, 44, 32,102,108,111, 97,116, 32,108,100, 50, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102, +108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116,107, +119, 32, 61, 32,108, 97,109,112,100,105,115,116, 42,108, 97,109,112,100,105,115,116, 59, 10, 10, 9,118,105,115,105,102, 97, 99, + 32, 61, 32,108, 97,109,112,100,105,115,116, 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32,108,100, 49, 42,100,105,115,116, + 41, 59, 10, 9,118,105,115,105,102, 97, 99, 32, 42, 61, 32,108, 97,109,112,100,105,115,116,107,119, 47, 40,108, 97,109,112,100, +105,115,116,107,119, 32, 43, 32,108,100, 50, 42,100,105,115,116, 42,100,105,115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32, +108, 97,109,112, 95,102, 97,108,108,111,102,102, 95, 99,117,114,118,101, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115, +116, 44, 32,115, 97,109,112,108,101,114, 49, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,102,108,111, 97,116, 32,100,105,115, +116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,118,105,115,105,102, 97, 99, + 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,100,105,115,116, 47,108, 97,109,112, +100,105,115,116, 41, 46,120, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, + 95,115,112,104,101,114,101, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105, +115,116, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, +118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,116, 61, 32,108, 97,109,112,100,105,115,116, 32, 45, 32, +100,105,115,116, 59, 10, 10, 9,111,117,116,118,105,115,105,102, 97, 99, 61, 32,118,105,115,105,102, 97, 99, 42,109, 97,120, 40, +116, 44, 32, 48, 46, 48, 41, 47,108, 97,109,112,100,105,115,116, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118, +105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, 95,115,113,117, 97,114,101, 40,118,101, 99, 51, 32,108, 97,109,112,118, +101, 99, 44, 32,109, 97,116, 52, 32,108, 97,109,112,105,109, 97,116, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32, +102,108,111, 97,116, 32,105,110,112,114, 41, 10,123, 10, 9,105,102, 40,100,111,116, 40,108,118, 44, 32,108, 97,109,112,118,101, + 99, 41, 32, 62, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,118,101, 99, 51, 32,108,118,114,111,116, 32, 61, 32, 40,108, 97,109,112, +105,109, 97,116, 42,118,101, 99, 52, 40,108,118, 44, 32, 48, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9, 9,102,108,111, 97,116, + 32,120, 32, 61, 32,109, 97,120, 40, 97, 98,115, 40,108,118,114,111,116, 46,120, 47,108,118,114,111,116, 46,122, 41, 44, 32, 97, + 98,115, 40,108,118,114,111,116, 46,121, 47,108,118,114,111,116, 46,122, 41, 41, 59, 10, 10, 9, 9,105,110,112,114, 32, 61, 32, + 49, 46, 48, 47,115,113,114,116, 40, 49, 46, 48, 32, 43, 32,120, 42,120, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 10, 9, 9, +105,110,112,114, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108, +105,116,121, 95,115,112,111,116, 95, 99,105,114, 99,108,101, 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,118,101, + 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,112,114, 41, 10,123, 10, 9,105,110,112,114, 32, 61, + 32,100,111,116, 40,108,118, 44, 32,108, 97,109,112,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95, +118,105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, 40,102,108,111, 97,116, 32,115,112,111,116,115,105, 44, 32,102,108, +111, 97,116, 32,115,112,111,116, 98,108, 44, 32,102,108,111, 97,116, 32,105,110,112,114, 44, 32,102,108,111, 97,116, 32,118,105, +115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9, +102,108,111, 97,116, 32,116, 32, 61, 32,115,112,111,116,115,105, 59, 10, 10, 9,105,102, 40,105,110,112,114, 32, 60, 61, 32,116, + 41, 32,123, 10, 9, 9,111,117,116,118,105,115,105,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, + 32,123, 10, 9, 9,116, 32, 61, 32,105,110,112,114, 32, 45, 32,116, 59, 10, 10, 9, 9, 47, 42, 32,115,111,102,116, 32, 97,114, +101, 97, 32, 42, 47, 10, 9, 9,105,102, 40,115,112,111,116, 98,108, 32, 33, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,105,110,112, +114, 32, 42, 61, 32,115,109,111,111,116,104,115,116,101,112, 40, 48, 46, 48, 44, 32, 49, 46, 48, 44, 32,116, 47,115,112,111,116, + 98,108, 41, 59, 10, 10, 9, 9,111,117,116,118,105,115,105,102, 97, 99, 32, 61, 32,118,105,115,105,102, 97, 99, 42,105,110,112, +114, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95, 99,108, + 97,109,112, 40,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, +118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,111,117,116,118,105,115,105,102, 97, 99, 32, 61, 32, 40,118,105,115,105,102, 97, + 99, 32, 60, 32, 48, 46, 48, 48, 49, 41, 63, 32, 48, 46, 48, 58, 32,118,105,115,105,102, 97, 99, 59, 10,125, 10, 10,118,111,105, +100, 32,115,104, 97,100,101, 95,118,105,101,119, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, +105,101,119, 41, 10,123, 10, 9, 47, 42, 32,104, 97,110,100,108,101, 32,112,101,114,115,112,101, 99,116,105,118,101, 47,111,114, +116,104,111,103,114, 97,112,104,105, 99, 32, 42, 47, 10, 9,118,105,101,119, 32, 61, 32, 40,103,108, 95, 80,114,111,106,101, 99, +116,105,111,110, 77, 97,116,114,105,120, 91, 51, 93, 91, 51, 93, 32, 61, 61, 32, 48, 46, 48, 41, 63, 32,110,111,114,109, 97,108, +105,122,101, 40, 99,111, 41, 58, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 45, 49, 46, 48, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,116, 97,110,103,101,110,116, 95,118, 40,118,101, 99, 51, 32,108,118, 44, 32, +118,101, 99, 51, 32,116, 97,110,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,101, 99, 51, 32, + 99, 32, 61, 32, 99,114,111,115,115, 40,108,118, 44, 32,116, 97,110,103, 41, 59, 10, 9,118,101, 99, 51, 32,118,110,111,114, 32, + 61, 32, 99,114,111,115,115, 40, 99, 44, 32,116, 97,110,103, 41, 59, 10, 10, 9,118,110, 32, 61, 32, 45,110,111,114,109, 97,108, +105,122,101, 40,118,110,111,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,110,112, 40,118,101, 99, + 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,112, 41, 10,123, 10, + 9,105,110,112, 32, 61, 32,100,111,116, 40,118,110, 44, 32,108,118, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100, +101, 95,105,115, 95,110,111, 95,100,105,102,102,117,115,101, 40,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, + 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,115, 95,104,101,109,105, + 40,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, + 61, 32, 48, 46, 53, 42,105,110,112, 32, 43, 32, 48, 46, 53, 59, 10,125, 10, 10,102,108,111, 97,116, 32, 97,114,101, 97, 95,108, + 97,109,112, 95,101,110,101,114,103,121, 40,109, 97,116, 52, 32, 97,114,101, 97, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,118, +101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,101, 99, 51, 32,118,101, 99, 91, 52, 93, 44, 32, 99, 91, 52, 93, 59, 10, 9,102, +108,111, 97,116, 32,114, 97,100, 91, 52, 93, 44, 32,102, 97, 99, 59, 10, 9, 10, 9,118,101, 99, 91, 48, 93, 32, 61, 32,110,111, +114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 48, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, + 49, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 49, 93, 46,120,121,122, 41, + 59, 10, 9,118,101, 99, 91, 50, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, + 50, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, 51, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, + 45, 32, 97,114,101, 97, 91, 51, 93, 46,120,121,122, 41, 59, 10, 10, 9, 99, 91, 48, 93, 32, 61, 32,110,111,114,109, 97,108,105, +122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 48, 93, 44, 32,118,101, 99, 91, 49, 93, 41, 41, 59, 10, 9, 99, 91, 49, 93, + 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 49, 93, 44, 32,118,101, 99, 91, 50, + 93, 41, 41, 59, 10, 9, 99, 91, 50, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, + 91, 50, 93, 44, 32,118,101, 99, 91, 51, 93, 41, 41, 59, 10, 9, 99, 91, 51, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, + 40, 99,114,111,115,115, 40,118,101, 99, 91, 51, 93, 44, 32,118,101, 99, 91, 48, 93, 41, 41, 59, 10, 10, 9,114, 97,100, 91, 48, + 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 48, 93, 44, 32,118,101, 99, 91, 49, 93, 41, 41, 59, 10, 9, +114, 97,100, 91, 49, 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 49, 93, 44, 32,118,101, 99, 91, 50, 93, + 41, 41, 59, 10, 9,114, 97,100, 91, 50, 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 50, 93, 44, 32,118, +101, 99, 91, 51, 93, 41, 41, 59, 10, 9,114, 97,100, 91, 51, 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, + 51, 93, 44, 32,118,101, 99, 91, 48, 93, 41, 41, 59, 10, 10, 9,102, 97, 99, 61, 32, 32,114, 97,100, 91, 48, 93, 42,100,111,116, + 40,118,110, 44, 32, 99, 91, 48, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, 32,114, 97,100, 91, 49, 93, 42,100,111,116, 40,118,110, + 44, 32, 99, 91, 49, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, 32,114, 97,100, 91, 50, 93, 42,100,111,116, 40,118,110, 44, 32, 99, + 91, 50, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, 32,114, 97,100, 91, 51, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 51, 93, + 41, 59, 10, 10, 9,114,101,116,117,114,110, 32,109, 97,120, 40,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111, +105,100, 32,115,104, 97,100,101, 95,105,110,112, 95, 97,114,101, 97, 40,118,101, 99, 51, 32,112,111,115,105,116,105,111,110, 44, + 32,118,101, 99, 51, 32,108, 97,109,112, 99,111, 44, 32,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,118,101, 99, 51, + 32,118,110, 44, 32,109, 97,116, 52, 32, 97,114,101, 97, 44, 32,102,108,111, 97,116, 32, 97,114,101, 97,115,105,122,101, 44, 32, +102,108,111, 97,116, 32,107, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,112, 41, 10,123, 10, 9,118,101, 99, 51, 32, + 99,111, 32, 61, 32,112,111,115,105,116,105,111,110, 59, 10, 9,118,101, 99, 51, 32,118,101, 99, 32, 61, 32, 99,111, 32, 45, 32, +108, 97,109,112, 99,111, 59, 10, 10, 9,105,102, 40,100,111,116, 40,118,101, 99, 44, 32,108, 97,109,112,118,101, 99, 41, 32, 60, + 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,110,112, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, + 9, 9,102,108,111, 97,116, 32,105,110,116,101,110,115, 32, 61, 32, 97,114,101, 97, 95,108, 97,109,112, 95,101,110,101,114,103, +121, 40, 97,114,101, 97, 44, 32, 99,111, 44, 32,118,110, 41, 59, 10, 10, 9, 9,105,110,112, 32, 61, 32,112,111,119, 40,105,110, +116,101,110,115, 42, 97,114,101, 97,115,105,122,101, 44, 32,107, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, + 97,100,101, 95,100,105,102,102,117,115,101, 95,111,114,101,110, 95,110, 97,121,101,114, 40,102,108,111, 97,116, 32,110,108, 44, + 32,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,114, +111,117,103,104, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32, +110,111,114,109, 97,108,105,122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,109, 97, +120, 40,100,111,116, 40,110, 44, 32,104, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, + 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,114,101, 97,108,110, +108, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, 10, 9,105,102, 40,114,101, 97,108,110,108, 32, 60, 32, 48, 46, 48, + 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,105,102, 40,110,108, 32, 60, + 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, + 9,102,108,111, 97,116, 32,118,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,118, 44, 32,104, 41, 44, 32, 48, 46, 48, 41, 59, + 10, 9, 9,102,108,111, 97,116, 32, 76,105,116, 95, 65, 32, 61, 32, 97, 99,111,115, 40,114,101, 97,108,110,108, 41, 59, 10, 9, + 9,102,108,111, 97,116, 32, 86,105,101,119, 95, 65, 32, 61, 32, 97, 99,111,115, 40,110,118, 41, 59, 10, 10, 9, 9,118,101, 99, + 51, 32, 76,105,116, 95, 66, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, 32, 45, 32,114,101, 97,108,110,108, 42,110, + 41, 59, 10, 9, 9,118,101, 99, 51, 32, 86,105,101,119, 95, 66, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 45, + 32,110,118, 42,110, 41, 59, 10, 10, 9, 9,102,108,111, 97,116, 32,116, 32, 61, 32,109, 97,120, 40,100,111,116, 40, 76,105,116, + 95, 66, 44, 32, 86,105,101,119, 95, 66, 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 97, 44, 32, 98, + 59, 10, 10, 9, 9,105,102, 40, 76,105,116, 95, 65, 32, 62, 32, 86,105,101,119, 95, 65, 41, 32,123, 10, 9, 9, 9, 97, 32, 61, + 32, 76,105,116, 95, 65, 59, 10, 9, 9, 9, 98, 32, 61, 32, 86,105,101,119, 95, 65, 59, 10, 9, 9,125, 10, 9, 9,101,108,115, +101, 32,123, 10, 9, 9, 9, 97, 32, 61, 32, 86,105,101,119, 95, 65, 59, 10, 9, 9, 9, 98, 32, 61, 32, 76,105,116, 95, 65, 59, + 10, 9, 9,125, 10, 10, 9, 9,102,108,111, 97,116, 32, 65, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 48, 46, 53, 42, 40, 40,114, +111,117,103,104, 42,114,111,117,103,104, 41, 47, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 32, 43, 32, 48, 46, 51, + 51, 41, 41, 41, 59, 10, 9, 9,102,108,111, 97,116, 32, 66, 32, 61, 32, 48, 46, 52, 53, 42, 40, 40,114,111,117,103,104, 42,114, +111,117,103,104, 41, 47, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 32, 43, 32, 48, 46, 48, 57, 41, 41, 59, 10, 10, + 9, 9, 98, 32, 42, 61, 32, 48, 46, 57, 53, 59, 10, 9, 9,105,115, 32, 61, 32,110,108, 42, 40, 65, 32, 43, 32, 40, 66, 32, 42, + 32,116, 32, 42, 32,115,105,110, 40, 97, 41, 32, 42, 32,116, 97,110, 40, 98, 41, 41, 41, 59, 10, 9,125, 10,125, 10, 10,118,111, +105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115,101, 95,116,111,111,110, 40,118,101, 99, 51, 32,110, 44, 32,118,101, + 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32, +116,115,109,111,111,116,104, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,102,108,111, 97,116, 32, +114,115,108,116, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, + 99,111,115, 40,114,115,108,116, 41, 59, 10, 10, 9,105,102, 40, 97,110,103, 32, 60, 32,115,105,122,101, 41, 32,105,115, 32, 61, + 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 97,110,103, 32, 62, 32, 40,115,105,122,101, 32, 43, 32,116,115,109, +111,111,116,104, 41, 32,124,124, 32,116,115,109,111,111,116,104, 32, 61, 61, 32, 48, 46, 48, 41, 32,105,115, 32, 61, 32, 48, 46, + 48, 59, 10, 9,101,108,115,101, 32,105,115, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 40, 97,110,103, 32, 45, 32,115,105,122,101, + 41, 47,116,115,109,111,111,116,104, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115, +101, 95,109,105,110,110, 97,101,114,116, 40,102,108,111, 97,116, 32,110,108, 44, 32,118,101, 99, 51, 32,110, 44, 32,118,101, 99, + 51, 32,118, 44, 32,102,108,111, 97,116, 32,100, 97,114,107,110,101,115,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105, +115, 41, 10,123, 10, 9,105,102, 40,110,108, 32, 60, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, + 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111, +116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9, 9,105,102, 40,100, 97,114,107,110,101,115,115, 32, 60, 61, + 32, 49, 46, 48, 41, 10, 9, 9, 9,105,115, 32, 61, 32,110,108, 42,112,111,119, 40,109, 97,120, 40,110,118, 42,110,108, 44, 32, + 48, 46, 49, 41, 44, 32,100, 97,114,107,110,101,115,115, 32, 45, 32, 49, 46, 48, 41, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, + 9,105,115, 32, 61, 32,110,108, 42,112,111,119, 40, 49, 46, 48, 48, 48, 49, 32, 45, 32,110,118, 44, 32,100, 97,114,107,110,101, +115,115, 32, 45, 32, 49, 46, 48, 41, 59, 10, 9,125, 10,125, 10, 10,102,108,111, 97,116, 32,102,114,101,115,110,101,108, 95,102, + 97, 99, 40,118,101, 99, 51, 32,118,105,101,119, 44, 32,118,101, 99, 51, 32,118,110, 44, 32,102,108,111, 97,116, 32,103,114, 97, +100, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,116, 49, 44, 32,116, 50, 59, 10, 9, +102,108,111, 97,116, 32,102,102, 97, 99, 59, 10, 10, 9,105,102, 40,102, 97, 99, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,102, +102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,116, 49, 61, 32,100,111,116, 40, +118,105,101,119, 44, 32,118,110, 41, 59, 10, 9, 9,105,102, 40,116, 49, 62, 48, 46, 48, 41, 32, 32,116, 50, 61, 32, 49, 46, 48, + 43,116, 49, 59, 10, 9, 9,101,108,115,101, 32,116, 50, 61, 32, 49, 46, 48, 45,116, 49, 59, 10, 10, 9, 9,116, 50, 61, 32,103, +114, 97,100, 32, 43, 32, 40, 49, 46, 48, 45,103,114, 97,100, 41, 42,112,111,119, 40,116, 50, 44, 32,102, 97, 99, 41, 59, 10, 10, + 9, 9,105,102, 40,116, 50, 60, 48, 46, 48, 41, 32,102,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,101,108,115,101, 32, +105,102, 40,116, 50, 62, 49, 46, 48, 41, 32,102,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,102,102, + 97, 99, 32, 61, 32,116, 50, 59, 10, 9,125, 10, 10, 9,114,101,116,117,114,110, 32,102,102, 97, 99, 59, 10,125, 10, 10,118,111, +105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115,101, 95,102,114,101,115,110,101,108, 40,118,101, 99, 51, 32,118,110, + 44, 32,118,101, 99, 51, 32,108,118, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 95, +105, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105, +115, 32, 61, 32,102,114,101,115,110,101,108, 95,102, 97, 99, 40,108,118, 44, 32,118,110, 44, 32,102, 97, 99, 95,105, 44, 32,102, + 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 99,117, 98,105, 99, 40,102,108,111, 97,116, 32,105, +115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,105,115, 41, 10,123, 10, 9,105,102, 40,105,115, 62, 48, 46, 48, + 32, 38, 38, 32,105,115, 60, 49, 46, 48, 41, 10, 9, 9,111,117,116,105,115, 61, 32,115,109,111,111,116,104,115,116,101,112, 40, + 48, 46, 48, 44, 32, 49, 46, 48, 44, 32,105,115, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,105,115, 61, 32,105,115, + 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,118,105,115,105,102, 97, 99, 40,102,108,111, 97,116, 32,105, 44, + 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,102,108,111, 97,116, 32,114,101,102,108, 44, 32,111,117,116, 32, +102,108,111, 97,116, 32,111,117,116,105, 41, 10,123, 10, 9, 47, 42,105,102, 40,105, 32, 62, 32, 48, 46, 48, 41, 42, 47, 10, 9, + 9,111,117,116,105, 32, 61, 32,109, 97,120, 40,105, 42,118,105,115,105,102, 97, 99, 42,114,101,102,108, 44, 32, 48, 46, 48, 41, + 59, 10, 9, 47, 42,101,108,115,101, 10, 9, 9,111,117,116,105, 32, 61, 32,105, 59, 42, 47, 10,125, 10, 10,118,111,105,100, 32, +115,104, 97,100,101, 95,116, 97,110,103,101,110,116, 95,118, 95,115,112,101, 99, 40,118,101, 99, 51, 32,116, 97,110,103, 44, 32, +111,117,116, 32,118,101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,110, 32, 61, 32,116, 97,110,103, 59, 10,125, 10, 10,118,111, +105,100, 32,115,104, 97,100,101, 95, 97,100,100, 95,116,111, 95,100,105,102,102,117,115,101, 40,102,108,111, 97,116, 32,105, 44, + 32,118,101, 99, 51, 32,108, 97,109,112, 99,111,108, 44, 32,118,101, 99, 51, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, + 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,105,102, 40,105, 32, 62, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111, +108, 32, 61, 32,105, 42,108, 97,109,112, 99,111,108, 42, 99,111,108, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111, +108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, + 32,115,104, 97,100,101, 95,104,101,109,105, 95,115,112,101, 99, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108, +118, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,102,108,111, 97,116, 32,115,112,101, 99, 44, 32,102,108,111, 97,116, 32, +104, 97,114,100, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,116, + 41, 10,123, 10, 9,108,118, 32, 43, 61, 32,118,105,101,119, 59, 10, 9,108,118, 32, 61, 32,110,111,114,109, 97,108,105,122,101, + 40,108,118, 41, 59, 10, 10, 9,116, 32, 61, 32,100,111,116, 40,118,110, 44, 32,108,118, 41, 59, 10, 9,116, 32, 61, 32, 48, 46, + 53, 42,116, 32, 43, 32, 48, 46, 53, 59, 10, 10, 9,116, 32, 61, 32,118,105,115,105,102, 97, 99, 42,115,112,101, 99, 42,112,111, +119, 40,116, 44, 32,104, 97,114,100, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,112,104,111,110,103, 95, +115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, + 97,116, 32,104, 97,114,100, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118, +101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, + 32,114,115,108,116, 32, 61, 32,109, 97,120, 40,100,111,116, 40,104, 44, 32,110, 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9,115, +112,101, 99,102, 97, 99, 32, 61, 32,112,111,119, 40,114,115,108,116, 44, 32,104, 97,114,100, 41, 59, 10,125, 10, 10,118,111,105, +100, 32,115,104, 97,100,101, 95, 99,111,111,107,116,111,114,114, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, + 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,104, 97,114,100, 44, 32,111,117,116, 32,102,108, 111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105, -122,101, 40,108, 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32,100,111,116, 40,104, 44, 32, -110, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,114,115,108,116, 41, 59, 10, 10, 9,105, -102, 40, 97,110,103, 32, 60, 32,115,105,122,101, 41, 32,114,115,108,116, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32, -105,102, 40, 97,110,103, 32, 62, 61, 32, 40,115,105,122,101, 32, 43, 32,116,115,109,111,111,116,104, 41, 32,124,124, 32,116,115, -109,111,111,116,104, 32, 61, 61, 32, 48, 46, 48, 41, 32,114,115,108,116, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32, -114,115,108,116, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 40, 97,110,103, 32, 45, 32,115,105,122,101, 41, 47,116,115,109,111,111, -116,104, 41, 59, 10, 10, 9,115,112,101, 99,102, 97, 99, 32, 61, 32,114,115,108,116, 59, 10,125, 10, 10,118,111,105,100, 32,115, -104, 97,100,101, 95,115,112,101, 99, 95, 97,114,101, 97, 95,105,110,112, 40,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, - 44, 32,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,112,101, 99,102, 97, - 99, 41, 10,123, 10, 9,111,117,116,115,112,101, 99,102, 97, 99, 32, 61, 32,115,112,101, 99,102, 97, 99, 42,105,110,112, 59, 10, -125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,115,112,101, 99, 95,116, 40,102,108,111, 97,116, 32,115,104, 97,100,102, - 97, 99, 44, 32,102,108,111, 97,116, 32,115,112,101, 99, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,102, -108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,116, 41, 10,123, 10, 9,116, 32, - 61, 32,115,104, 97,100,102, 97, 99, 42,115,112,101, 99, 42,118,105,115,105,102, 97, 99, 42,115,112,101, 99,102, 97, 99, 59, 10, -125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 95,115,112,101, 99, 40,102,108,111, 97,116, 32,116, 44, 32, -118,101, 99, 51, 32,108, 97,109,112, 99,111,108, 44, 32,118,101, 99, 51, 32,115,112,101, 99, 99,111,108, 44, 32,111,117,116, 32, -118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,116, 42,108, 97,109,112, 99, -111,108, 42,115,112,101, 99, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 40,118,101, - 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, - 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 32, 43, 32, 99,111,108, 50, 59, 10,125, 10, - 10,118,111,105,100, 32,115,104, 97,100,101, 95,109, 97,100,100, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32, - 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, - 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32, 99,111,108, 49, 42, 99,111,108, 50, 59, 10,125, - 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 95, 99,108, 97,109,112,101,100, 40,118,101, 99, 52, 32, 99,111, -108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10, -123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 32, 43, 32,109, 97,120, 40, 99,111,108, 50, 44, 32,118,101, 99, - 52, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32, -115,104, 97,100,101, 95,109, 97,100,100, 95, 99,108, 97,109,112,101,100, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, - 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99, -111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32,109, 97,120, 40, 99,111,108, 49, 42, 99, -111,108, 50, 44, 32,118,101, 99, 52, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 41, 59, 10, -125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109, 97,100,100,102, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,102,108, -111, 97,116, 32,102, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111, -108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32,102, 42, 99,111,108, 49, 59, 10,125, 10, 10, -118,111,105,100, 32,115,104, 97,100,101, 95,109,117,108, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99, -111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, - 61, 32, 99,111,108, 49, 42, 99,111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109,117,108, 95,118, - 97,108,117,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, - 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 42,102, 97, 99, 59, 10, -125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,111, 98, 99,111,108,111,114, 40,118,101, 99, 52, 32, 99,111,108, 44, 32, -118,101, 99, 52, 32,111, 98, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9, -111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 42,111, 98, 99,111,108, 46,114,103, 98, 44, - 32, 99,111,108, 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,114, 97,109,112, 95,114,103, 98,116,111, 98,119, 40,118,101, - 99, 51, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111, -117,116,118, 97,108, 32, 61, 32, 99,111,108,111,114, 46,114, 42, 48, 46, 51, 32, 43, 32, 99,111,108,111,114, 46,103, 42, 48, 46, - 53, 56, 32, 43, 32, 99,111,108,111,114, 46, 98, 42, 48, 46, 49, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, - 95,111,110,108,121, 95,115,104, 97,100,111,119, 40,102,108,111, 97,116, 32,105, 44, 32,102,108,111, 97,116, 32,115,104, 97,100, -102, 97, 99, 44, 32,102,108,111, 97,116, 32,101,110,101,114,103,121, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, -115,104, 97,100,102, 97, 99, 41, 10,123, 10, 9,111,117,116,115,104, 97,100,102, 97, 99, 32, 61, 32,105, 42,101,110,101,114,103, -121, 42, 40, 49, 46, 48, 32, 45, 32,115,104, 97,100,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, - 95,111,110,108,121, 95,115,104, 97,100,111,119, 95,100,105,102,102,117,115,101, 40,102,108,111, 97,116, 32,115,104, 97,100,102, - 97, 99, 44, 32,118,101, 99, 51, 32,114,103, 98, 44, 32,118,101, 99, 52, 32,100,105,102,102, 44, 32,111,117,116, 32,118,101, 99, - 52, 32,111,117,116,100,105,102,102, 41, 10,123, 10, 9,111,117,116,100,105,102,102, 32, 61, 32,100,105,102,102, 32, 45, 32,118, -101, 99, 52, 40,114,103, 98, 42,115,104, 97,100,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115, -104, 97,100,101, 95,111,110,108,121, 95,115,104, 97,100,111,119, 95,115,112,101, 99,117,108, 97,114, 40,102,108,111, 97,116, 32, -115,104, 97,100,102, 97, 99, 44, 32,118,101, 99, 51, 32,115,112,101, 99,114,103, 98, 44, 32,118,101, 99, 52, 32,115,112,101, 99, - 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,115,112,101, 99, 41, 10,123, 10, 9,111,117,116,115,112,101, 99, 32, 61, - 32,115,112,101, 99, 32, 45, 32,118,101, 99, 52, 40,115,112,101, 99,114,103, 98, 42,115,104, 97,100,102, 97, 99, 44, 32, 48, 46, - 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,115,116, 95,115,104, 97,100,111,119, 98,117,102, 40,118,101, 99, 51, 32, -114, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 83,104, 97,100,111,119, 32,115,104, 97,100,111,119,109, 97,112, 44, 32, -109, 97,116, 52, 32,115,104, 97,100,111,119,112,101,114,115,109, 97,116, 44, 32,102,108,111, 97,116, 32,115,104, 97,100,111,119, - 98,105, 97,115, 44, 32,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114,101,115,117,108, -116, 41, 10,123, 10, 9,105,102, 40,105,110,112, 32, 60, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,101,115,117,108,116, 32, - 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,118,101, 99, 52, 32, 99,111, 32, 61, 32,115,104, - 97,100,111,119,112,101,114,115,109, 97,116, 42,118,101, 99, 52, 40,114, 99,111, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9, 9, 47, - 47,102,108,111, 97,116, 32, 98,105, 97,115, 32, 61, 32, 40, 49, 46, 53, 32, 45, 32,105,110,112, 42,105,110,112, 41, 42,115,104, - 97,100,111,119, 98,105, 97,115, 59, 10, 9, 9, 99,111, 46,122, 32, 45, 61, 32,115,104, 97,100,111,119, 98,105, 97,115, 42, 99, -111, 46,119, 59, 10, 10, 9, 9,114,101,115,117,108,116, 32, 61, 32,115,104, 97,100,111,119, 50, 68, 80,114,111,106, 40,115,104, - 97,100,111,119,109, 97,112, 44, 32, 99,111, 41, 46,120, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, - 95,101,120,112,111,115,117,114,101, 95, 99,111,114,114,101, 99,116, 40,118,101, 99, 51, 32, 99,111,108, 44, 32,102,108,111, 97, -116, 32,108,105,110,102, 97, 99, 44, 32,102,108,111, 97,116, 32,108,111,103,102, 97, 99, 44, 32,111,117,116, 32,118,101, 99, 51, - 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,108,105,110,102, 97, 99, 42, 40, 49, 46, 48, - 32, 45, 32,101,120,112, 40, 99,111,108, 42,108,111,103,102, 97, 99, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97, -100,101, 95,109,105,115,116, 95,102, 97, 99,116,111,114, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,109,105, -115,116,115,116, 97, 44, 32,102,108,111, 97,116, 32,109,105,115,116,100,105,115,116, 44, 32,102,108,111, 97,116, 32,109,105,115, -116,116,121,112,101, 44, 32,102,108,111, 97,116, 32,109,105,115,105, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, -102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99, 44, 32,122, 99,111,114, 59, 10, 10, 9,122, 99,111,114, 32, - 61, 32, 40,103,108, 95, 80,114,111,106,101, 99,116,105,111,110, 77, 97,116,114,105,120, 91, 51, 93, 91, 51, 93, 32, 61, 61, 32, - 48, 46, 48, 41, 63, 32,108,101,110,103,116,104, 40, 99,111, 41, 58, 32, 45, 99,111, 91, 50, 93, 59, 10, 9, 10, 9,102, 97, 99, - 32, 61, 32, 99,108, 97,109,112, 40, 40,122, 99,111,114, 45,109,105,115,116,115,116, 97, 41, 47,109,105,115,116,100,105,115,116, - 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,105,102, 40,109,105,115,116,116,121,112,101, 32, 61, 61, 32, 48, 46, 48, - 41, 32,102, 97, 99, 32, 42, 61, 32,102, 97, 99, 59, 10, 9,101,108,115,101, 32,105,102, 40,109,105,115,116,116,121,112,101, 32, - 61, 61, 32, 49, 46, 48, 41, 59, 10, 9,101,108,115,101, 32,102, 97, 99, 32, 61, 32,115,113,114,116, 40,102, 97, 99, 41, 59, 10, - 10, 9,111,117,116,102, 97, 99, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 45,102, 97, 99, 41, 42, 40, 49, 46, 48, 45, -109,105,115,105, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,119,111,114,108,100, 95,109,105,120, 40,118, -101, 99, 51, 32,104,111,114, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99, -111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, 99,111,108, 46, 97, 44, 32, - 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,109,105,120, 40,104,111, -114, 44, 32, 99,111,108, 46,114,103, 98, 44, 32,102, 97, 99, 41, 44, 32, 99,111,108, 46, 97, 41, 59, 10,125, 10, 10,118,111,105, -100, 32,115,104, 97,100,101, 95, 97,108,112,104, 97, 95,111,112, 97,113,117,101, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111, -117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, - 40, 99,111,108, 46,114,103, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,108, -112,104, 97, 95,111, 98, 99,111,108,111,114, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32,111, 98, 99,111,108, - 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118, -101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 99,111,108, 46, 97, 42,111, 98, 99,111,108, 46, 97, 41, 59, 10,125, 10, 10, +122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,100,111,116, 40,110, 44, 32,104, 41, + 59, 10, 10, 9,105,102, 40,110,104, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, + 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40, +100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9,102,108,111, 97,116, 32,105, 32, 61, 32,112,111,119, + 40,110,104, 44, 32,104, 97,114,100, 41, 59, 10, 10, 9, 9,105, 32, 61, 32,105, 47, 40, 48, 46, 49, 43,110,118, 41, 59, 10, 9, + 9,115,112,101, 99,102, 97, 99, 32, 61, 32,105, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 98, +108,105,110,110, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, + 44, 32,102,108,111, 97,116, 32,114,101,102,114, 97, 99, 44, 32,102,108,111, 97,116, 32,115,112,101, 99, 95,112,111,119,101,114, + 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,105,102, 40,114,101,102,114, 97, + 99, 32, 60, 32, 49, 46, 48, 41, 32,123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9, +101,108,115,101, 32,105,102, 40,115,112,101, 99, 95,112,111,119,101,114, 32, 61, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,115, +112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, 40,115,112, +101, 99, 95,112,111,119,101,114, 60, 49, 48, 48, 46, 48, 41, 10, 9, 9, 9,115,112,101, 99, 95,112,111,119,101,114, 61, 32,115, +113,114,116, 40, 49, 46, 48, 47,115,112,101, 99, 95,112,111,119,101,114, 41, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,115, +112,101, 99, 95,112,111,119,101,114, 61, 32, 49, 48, 46, 48, 47,115,112,101, 99, 95,112,111,119,101,114, 59, 10, 10, 9, 9,118, +101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9, 9,102,108,111, 97, +116, 32,110,104, 32, 61, 32,100,111,116, 40,110, 44, 32,104, 41, 59, 10, 9, 9,105,102, 40,110,104, 32, 60, 32, 48, 46, 48, 41, + 32,123, 10, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,125, 10, 9, 9,101,108,115,101, 32, +123, 10, 9, 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, + 46, 48, 49, 41, 59, 10, 9, 9, 9,102,108,111, 97,116, 32,110,108, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, 9, + 9, 9,105,102, 40,110,108, 32, 60, 61, 32, 48, 46, 48, 49, 41, 32,123, 10, 9, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, + 32, 48, 46, 48, 59, 10, 9, 9, 9,125, 10, 9, 9, 9,101,108,115,101, 32,123, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,118, +104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,118, 44, 32,104, 41, 44, 32, 48, 46, 48, 49, 41, 59, 10, 10, 9, 9, 9, 9,102, +108,111, 97,116, 32, 97, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 98, 32, 61, 32, 40, 50, 46, 48, + 42,110,104, 42,110,118, 41, 47,118,104, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 99, 32, 61, 32, 40, 50, 46, 48, 42,110, +104, 42,110,108, 41, 47,118,104, 59, 10, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,103, 32, 61, 32, 48, 46, 48, 59, 10, 10, 9, + 9, 9, 9,105,102, 40, 97, 32, 60, 32, 98, 32, 38, 38, 32, 97, 32, 60, 32, 99, 41, 32,103, 32, 61, 32, 97, 59, 10, 9, 9, 9, + 9,101,108,115,101, 32,105,102, 40, 98, 32, 60, 32, 97, 32, 38, 38, 32, 98, 32, 60, 32, 99, 41, 32,103, 32, 61, 32, 98, 59, 10, + 9, 9, 9, 9,101,108,115,101, 32,105,102, 40, 99, 32, 60, 32, 97, 32, 38, 38, 32, 99, 32, 60, 32, 98, 41, 32,103, 32, 61, 32, + 99, 59, 10, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,112, 32, 61, 32,115,113,114,116, 40, 40, 40,114,101,102,114, 97, 99, 32, + 42, 32,114,101,102,114, 97, 99, 41, 43, 40,118,104, 42,118,104, 41, 45, 49, 46, 48, 41, 41, 59, 10, 9, 9, 9, 9,102,108,111, + 97,116, 32,102, 32, 61, 32, 40, 40, 40,112, 45,118,104, 41, 42, 40,112, 45,118,104, 41, 41, 47, 40, 40,112, 43,118,104, 41, 42, + 40,112, 43,118,104, 41, 41, 41, 42, 40, 49, 46, 48, 43, 40, 40, 40, 40,118,104, 42, 40,112, 43,118,104, 41, 41, 45, 49, 46, 48, + 41, 42, 40, 40,118,104, 42, 40,112, 43,118,104, 41, 41, 45, 49, 46, 48, 41, 41, 47, 40, 40, 40,118,104, 42, 40,112, 45,118,104, + 41, 41, 43, 49, 46, 48, 41, 42, 40, 40,118,104, 42, 40,112, 45,118,104, 41, 41, 43, 49, 46, 48, 41, 41, 41, 41, 59, 10, 9, 9, + 9, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,110,104, 41, 59, 10, 10, 9, 9, 9, 9,115,112,101, + 99,102, 97, 99, 32, 61, 32,109, 97,120, 40,102, 42,103, 42,101,120,112, 95, 98,108,101,110,100,101,114, 40, 40, 45, 40, 97,110, +103, 42, 97,110,103, 41, 47, 40, 50, 46, 48, 42,115,112,101, 99, 95,112,111,119,101,114, 42,115,112,101, 99, 95,112,111,119,101, +114, 41, 41, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9, 9,125, 10, 9, 9,125, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32, +115,104, 97,100,101, 95,119, 97,114,100,105,115,111, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32, +108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,114,109,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, +115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, + 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,104, 41, + 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, + 32,118, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102,108,111, 97,116, 32,110,108, 32, 61, 32,109, 97,120, 40,100,111,116, + 40,110, 44, 32,108, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,110,103,108,101, 32, 61, 32,116, + 97,110, 40, 97, 99,111,115, 40,110,104, 41, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,108,112,104, 97, 32, 61, 32,109, 97,120, + 40,114,109,115, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 10, 9,115,112,101, 99,102, 97, 99, 61, 32,110,108, 32, 42, 32, 40, 49, + 46, 48, 47, 40, 52, 46, 48, 42, 77, 95, 80, 73, 42, 97,108,112,104, 97, 42, 97,108,112,104, 97, 41, 41, 42, 40,101,120,112, 95, + 98,108,101,110,100,101,114, 40, 45, 40, 97,110,103,108,101, 42, 97,110,103,108,101, 41, 47, 40, 97,108,112,104, 97, 42, 97,108, +112,104, 97, 41, 41, 47, 40,115,113,114,116, 40,110,118, 42,110,108, 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, + 97,100,101, 95,116,111,111,110, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, + 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,115,109,111,111,116,104, 44, + 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32, +110,111,114,109, 97,108,105,122,101, 40,108, 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32, +100,111,116, 40,104, 44, 32,110, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,114,115,108, +116, 41, 59, 10, 10, 9,105,102, 40, 97,110,103, 32, 60, 32,115,105,122,101, 41, 32,114,115,108,116, 32, 61, 32, 49, 46, 48, 59, + 10, 9,101,108,115,101, 32,105,102, 40, 97,110,103, 32, 62, 61, 32, 40,115,105,122,101, 32, 43, 32,116,115,109,111,111,116,104, + 41, 32,124,124, 32,116,115,109,111,111,116,104, 32, 61, 61, 32, 48, 46, 48, 41, 32,114,115,108,116, 32, 61, 32, 48, 46, 48, 59, + 10, 9,101,108,115,101, 32,114,115,108,116, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 40, 97,110,103, 32, 45, 32,115,105,122,101, + 41, 47,116,115,109,111,111,116,104, 41, 59, 10, 10, 9,115,112,101, 99,102, 97, 99, 32, 61, 32,114,115,108,116, 59, 10,125, 10, + 10,118,111,105,100, 32,115,104, 97,100,101, 95,115,112,101, 99, 95, 97,114,101, 97, 95,105,110,112, 40,102,108,111, 97,116, 32, +115,112,101, 99,102, 97, 99, 44, 32,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117, +116,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,111,117,116,115,112,101, 99,102, 97, 99, 32, 61, 32,115,112,101, 99,102, 97, + 99, 42,105,110,112, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,115,112,101, 99, 95,116, 40,102,108,111, 97, +116, 32,115,104, 97,100,102, 97, 99, 44, 32,102,108,111, 97,116, 32,115,112,101, 99, 44, 32,102,108,111, 97,116, 32,118,105,115, +105,102, 97, 99, 44, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,116, + 41, 10,123, 10, 9,116, 32, 61, 32,115,104, 97,100,102, 97, 99, 42,115,112,101, 99, 42,118,105,115,105,102, 97, 99, 42,115,112, +101, 99,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 95,115,112,101, 99, 40,102,108, +111, 97,116, 32,116, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99,111,108, 44, 32,118,101, 99, 51, 32,115,112,101, 99, 99,111, +108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, +116, 42,108, 97,109,112, 99,111,108, 42,115,112,101, 99, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, + 95, 97,100,100, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118, +101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 32, 43, 32, 99, +111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109, 97,100,100, 40,118,101, 99, 52, 32, 99,111,108, + 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, + 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32, 99,111,108, 49, 42, + 99,111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 95, 99,108, 97,109,112,101,100, 40, +118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111, +117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 32, 43, 32,109, 97,120, 40, 99,111, +108, 50, 44, 32,118,101, 99, 52, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109, 97,100,100, 95, 99,108, 97,109,112,101,100, 40,118,101, 99, 52, 32, 99, +111,108, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, + 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32,109, 97,120, + 40, 99,111,108, 49, 42, 99,111,108, 50, 44, 32,118,101, 99, 52, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, + 48, 46, 48, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109, 97,100,100,102, 40,118,101, 99, 52, 32, + 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,111,117,116, 32,118,101, 99, + 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32,102, 42, 99,111, +108, 49, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109,117,108, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, + 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9, +111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 42, 99,111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100, +101, 95,109,117,108, 95,118, 97,108,117,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, + 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111, +108, 42,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,111, 98, 99,111,108,111,114, 40,118,101, 99, + 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32,111, 98, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99, +111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 42,111, 98, 99, +111,108, 46,114,103, 98, 44, 32, 99,111,108, 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,114, 97,109,112, 95,114,103, 98, +116,111, 98,119, 40,118,101, 99, 51, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97, +108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,108,111,114, 46,114, 42, 48, 46, 51, 32, 43, 32, 99,111,108, +111,114, 46,103, 42, 48, 46, 53, 56, 32, 43, 32, 99,111,108,111,114, 46, 98, 42, 48, 46, 49, 50, 59, 10,125, 10, 10,118,111,105, +100, 32,115,104, 97,100,101, 95,111,110,108,121, 95,115,104, 97,100,111,119, 40,102,108,111, 97,116, 32,105, 44, 32,102,108,111, + 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,102,108,111, 97,116, 32,101,110,101,114,103,121, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,111,117,116,115,104, 97,100,102, 97, 99, 41, 10,123, 10, 9,111,117,116,115,104, 97,100,102, 97, 99, 32, 61, 32, +105, 42,101,110,101,114,103,121, 42, 40, 49, 46, 48, 32, 45, 32,115,104, 97,100,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105, +100, 32,115,104, 97,100,101, 95,111,110,108,121, 95,115,104, 97,100,111,119, 95,100,105,102,102,117,115,101, 40,102,108,111, 97, +116, 32,115,104, 97,100,102, 97, 99, 44, 32,118,101, 99, 51, 32,114,103, 98, 44, 32,118,101, 99, 52, 32,100,105,102,102, 44, 32, +111,117,116, 32,118,101, 99, 52, 32,111,117,116,100,105,102,102, 41, 10,123, 10, 9,111,117,116,100,105,102,102, 32, 61, 32,100, +105,102,102, 32, 45, 32,118,101, 99, 52, 40,114,103, 98, 42,115,104, 97,100,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, + 10,118,111,105,100, 32,115,104, 97,100,101, 95,111,110,108,121, 95,115,104, 97,100,111,119, 95,115,112,101, 99,117,108, 97,114, + 40,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,118,101, 99, 51, 32,115,112,101, 99,114,103, 98, 44, 32,118,101, + 99, 52, 32,115,112,101, 99, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,115,112,101, 99, 41, 10,123, 10, 9,111,117, +116,115,112,101, 99, 32, 61, 32,115,112,101, 99, 32, 45, 32,118,101, 99, 52, 40,115,112,101, 99,114,103, 98, 42,115,104, 97,100, +102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,115,116, 95,115,104, 97,100,111,119, 98,117, +102, 40,118,101, 99, 51, 32,114, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 83,104, 97,100,111,119, 32,115,104, 97,100, +111,119,109, 97,112, 44, 32,109, 97,116, 52, 32,115,104, 97,100,111,119,112,101,114,115,109, 97,116, 44, 32,102,108,111, 97,116, + 32,115,104, 97,100,111,119, 98,105, 97,115, 44, 32,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97, +116, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,105,102, 40,105,110,112, 32, 60, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9, +114,101,115,117,108,116, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,118,101, 99, 52, 32, + 99,111, 32, 61, 32,115,104, 97,100,111,119,112,101,114,115,109, 97,116, 42,118,101, 99, 52, 40,114, 99,111, 44, 32, 49, 46, 48, + 41, 59, 10, 10, 9, 9, 47, 47,102,108,111, 97,116, 32, 98,105, 97,115, 32, 61, 32, 40, 49, 46, 53, 32, 45, 32,105,110,112, 42, +105,110,112, 41, 42,115,104, 97,100,111,119, 98,105, 97,115, 59, 10, 9, 9, 99,111, 46,122, 32, 45, 61, 32,115,104, 97,100,111, +119, 98,105, 97,115, 42, 99,111, 46,119, 59, 10, 10, 9, 9,114,101,115,117,108,116, 32, 61, 32,115,104, 97,100,111,119, 50, 68, + 80,114,111,106, 40,115,104, 97,100,111,119,109, 97,112, 44, 32, 99,111, 41, 46,120, 59, 10, 9,125, 10,125, 10, 10,118,111,105, +100, 32,115,104, 97,100,101, 95,101,120,112,111,115,117,114,101, 95, 99,111,114,114,101, 99,116, 40,118,101, 99, 51, 32, 99,111, +108, 44, 32,102,108,111, 97,116, 32,108,105,110,102, 97, 99, 44, 32,102,108,111, 97,116, 32,108,111,103,102, 97, 99, 44, 32,111, +117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,108,105,110,102, + 97, 99, 42, 40, 49, 46, 48, 32, 45, 32,101,120,112, 40, 99,111,108, 42,108,111,103,102, 97, 99, 41, 41, 59, 10,125, 10, 10,118, +111,105,100, 32,115,104, 97,100,101, 95,109,105,115,116, 95,102, 97, 99,116,111,114, 40,118,101, 99, 51, 32, 99,111, 44, 32,102, +108,111, 97,116, 32,109,105,115,116,115,116, 97, 44, 32,102,108,111, 97,116, 32,109,105,115,116,100,105,115,116, 44, 32,102,108, +111, 97,116, 32,109,105,115,116,116,121,112,101, 44, 32,102,108,111, 97,116, 32,109,105,115,105, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99, 44, 32,122, 99,111,114, 59, 10, + 10, 9,122, 99,111,114, 32, 61, 32, 40,103,108, 95, 80,114,111,106,101, 99,116,105,111,110, 77, 97,116,114,105,120, 91, 51, 93, + 91, 51, 93, 32, 61, 61, 32, 48, 46, 48, 41, 63, 32,108,101,110,103,116,104, 40, 99,111, 41, 58, 32, 45, 99,111, 91, 50, 93, 59, + 10, 9, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, 40,122, 99,111,114, 45,109,105,115,116,115,116, 97, 41, 47,109, +105,115,116,100,105,115,116, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,105,102, 40,109,105,115,116,116,121,112,101, + 32, 61, 61, 32, 48, 46, 48, 41, 32,102, 97, 99, 32, 42, 61, 32,102, 97, 99, 59, 10, 9,101,108,115,101, 32,105,102, 40,109,105, +115,116,116,121,112,101, 32, 61, 61, 32, 49, 46, 48, 41, 59, 10, 9,101,108,115,101, 32,102, 97, 99, 32, 61, 32,115,113,114,116, + 40,102, 97, 99, 41, 59, 10, 10, 9,111,117,116,102, 97, 99, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 45,102, 97, 99, + 41, 42, 40, 49, 46, 48, 45,109,105,115,105, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,119,111,114,108, +100, 95,109,105,120, 40,118,101, 99, 51, 32,104,111,114, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, + 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, + 99,111,108, 46, 97, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, + 40,109,105,120, 40,104,111,114, 44, 32, 99,111,108, 46,114,103, 98, 44, 32,102, 97, 99, 41, 44, 32, 99,111,108, 46, 97, 41, 59, + 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,108,112,104, 97, 95,111,112, 97,113,117,101, 40,118,101, 99, 52, + 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, + 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115, +104, 97,100,101, 95, 97,108,112,104, 97, 95,111, 98, 99,111,108,111,114, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, + 52, 32,111, 98, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, + 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 99,111,108, 46, 97, 42,111, 98, 99,111,108, 46, + 97, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 78, 69, 87, 32, 83, 72, 65, 68, 69, 82, 32, 85, + 84, 73, 76, 73, 84, 73, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,102,108,111, 97,116, 32, +102,114,101,115,110,101,108, 95,100,105,101,108,101, 99,116,114,105, 99, 40,118,101, 99, 51, 32, 73,110, 99,111,109,105,110,103, + 44, 32,118,101, 99, 51, 32, 78,111,114,109, 97,108, 44, 32,102,108,111, 97,116, 32,101,116, 97, 41, 10,123, 10, 32, 32, 32, 32, + 47, 42, 32, 99,111,109,112,117,116,101, 32,102,114,101,115,110,101,108, 32,114,101,102,108,101, 99,116, 97,110, 99,101, 32,119, +105,116,104,111,117,116, 32,101,120,112,108,105, 99,105,116,108,121, 32, 99,111,109,112,117,116,105,110,103, 10, 32, 32, 32, 32, + 32, 32, 32,116,104,101, 32,114,101,102,114, 97, 99,116,101,100, 32,100,105,114,101, 99,116,105,111,110, 32, 42, 47, 10, 32, 32, + 32, 32,102,108,111, 97,116, 32, 99, 32, 61, 32, 97, 98,115, 40,100,111,116, 40, 73,110, 99,111,109,105,110,103, 44, 32, 78,111, +114,109, 97,108, 41, 41, 59, 10, 32, 32, 32, 32,102,108,111, 97,116, 32,103, 32, 61, 32,101,116, 97, 32, 42, 32,101,116, 97, 32, + 45, 32, 49, 46, 48, 32, 43, 32, 99, 32, 42, 32, 99, 59, 10, 32, 32, 32, 32,102,108,111, 97,116, 32,114,101,115,117,108,116, 59, + 10, 10, 32, 32, 32, 32,105,102, 40,103, 32, 62, 32, 48, 46, 48, 41, 32,123, 10, 32, 32, 32, 32, 32, 32, 32, 32,103, 32, 61, 32, +115,113,114,116, 40,103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,108,111, 97,116, 32, 65, 32, 61, 40,103, 32, 45, 32, 99, + 41, 47, 40,103, 32, 43, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,108,111, 97,116, 32, 66, 32, 61, 40, 99, 32, 42, + 40,103, 32, 43, 32, 99, 41, 45, 32, 49, 46, 48, 41, 47, 40, 99, 32, 42, 40,103, 32, 45, 32, 99, 41, 43, 32, 49, 46, 48, 41, 59, + 10, 32, 32, 32, 32, 32, 32, 32, 32,114,101,115,117,108,116, 32, 61, 32, 48, 46, 53, 32, 42, 32, 65, 32, 42, 32, 65, 32, 42, 40, + 49, 46, 48, 32, 43, 32, 66, 32, 42, 32, 66, 41, 59, 10, 32, 32, 32, 32,125, 10, 32, 32, 32, 32,101,108,115,101, 10, 32, 32, 32, + 32, 32, 32, 32, 32,114,101,115,117,108,116, 32, 61, 32, 49, 46, 48, 59, 32, 32, 47, 42, 32, 84, 73, 82, 32, 40,110,111, 32,114, +101,102,114, 97, 99,116,101,100, 32, 99,111,109,112,111,110,101,110,116, 41, 32, 42, 47, 10, 10, 32, 32, 32, 32,114,101,116,117, +114,110, 32,114,101,115,117,108,116, 59, 10,125, 10, 10,102,108,111, 97,116, 32,104,121,112,111,116, 40,102,108,111, 97,116, 32, +120, 44, 32,102,108,111, 97,116, 32,121, 41, 10,123, 10, 9,114,101,116,117,114,110, 32,115,113,114,116, 40,120, 42,120, 32, 43, + 32,121, 42,121, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 78, 69, 87, 32, 83, 72, 65, 68, 69, + 82, 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10, 35,100,101,102,105,110, +101, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 32, 51, 10, 10, 47, 42, 32, 98,115,100,102,115, 32, 42, 47, 10, 10,118,111,105, +100, 32,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32, +118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,114,101,115,117, +108,116, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10, 10, 9,102,111,114, 40,105,110,116, 32,105, 32, 61, 32, 48, 59, + 32,105, 32, 60, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 59, 32,105, 43, 43, 41, 32,123, 10, 9, 9,118,101, 99, 51, 32, 76, + 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,112,111,115,105,116,105,111,110, 46,120,121, +122, 59, 10, 9, 9,118,101, 99, 52, 32, 76,100,105,102,102,117,115,101, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117, +114, 99,101, 91,105, 93, 46,100,105,102,102,117,115,101, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 98,115,100,102, 32, 61, 32, + 97, 98,115, 40,100,111,116, 40, 78, 44, 32, 76, 41, 41, 32, 42, 32, 77, 95, 49, 95, 80, 73, 59, 10, 9, 9,114,101,115,117,108, +116, 32, 43, 61, 32, 76,100,105,102,102,117,115,101, 42, 99,111,108,111,114, 42, 98,115,100,102, 59, 10, 9,125, 10,125, 10, 10, +118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,103,108,111,115,115,121, 40,118,101, 99, 52, 32, 99,111,108,111,114, + 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 44, 32,102,108,111, 97,116, 32,102,114,101,115,110,101,108, + 44, 32,118,101, 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108, +116, 41, 10,123, 10, 9,114,101,115,117,108,116, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10, 10, 9,102,111,114, 40, +105,110,116, 32,105, 32, 61, 32, 48, 59, 32,105, 32, 60, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 59, 32,105, 43, 43, 41, 32, +123, 10, 9, 9,118,101, 99, 51, 32, 72, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,104, + 97,108,102, 86,101, 99,116,111,114, 46,120,121,122, 59, 10, 9, 9,118,101, 99, 52, 32, 76,115,112,101, 99,117,108, 97,114, 32, + 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,115,112,101, 99,117,108, 97,114, 59, 10, 10, 9, + 9,102,108,111, 97,116, 32, 98,115,100,102, 32, 61, 32,112,111,119, 40, 97, 98,115, 40,100,111,116, 40, 78, 44, 32, 72, 41, 41, + 44, 32, 49, 46, 48, 47,114,111,117,103,104,110,101,115,115, 41, 32, 42, 32, 77, 95, 49, 95, 80, 73, 59, 10, 9, 9,114,101,115, +117,108,116, 32, 43, 61, 32, 76,115,112,101, 99,117,108, 97,114, 42, 99,111,108,111,114, 42, 98,115,100,102, 59, 10, 9,125, 10, +125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95, 97,110,105,115,111,116,114,111,112,105, 99, 40,118,101, + 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 85, 44, 32,102,108,111, 97, +116, 32,114,111,117,103,104,110,101,115,115, 86, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117, +116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102, +117,115,101, 40, 99,111,108,111,114, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110, +111,100,101, 95, 98,115,100,102, 95,103,108, 97,115,115, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, + 32,114,111,117,103,104,110,101,115,115, 44, 32,102,108,111, 97,116, 32,102,114,101,115,110,101,108, 44, 32,118,101, 99, 51, 32, + 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110, +111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, 78, 44, 32,114,101,115,117,108, +116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,116,114, 97,110,115,108,117, 99,101,110, +116, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114, +101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111, +114, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, + 95,116,114, 97,110,115,112, 97,114,101,110,116, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, + 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9, 47, 42, 32,116,104,105,115, 32,105,115,110, 39,116, 32,114,105,103,104,116, + 32, 42, 47, 10, 9,114,101,115,117,108,116, 46,114, 32, 61, 32, 99,111,108,111,114, 46,114, 59, 10, 9,114,101,115,117,108,116, + 46,103, 32, 61, 32, 99,111,108,111,114, 46,103, 59, 10, 9,114,101,115,117,108,116, 46, 98, 32, 61, 32, 99,111,108,111,114, 46, + 98, 59, 10, 9,114,101,115,117,108,116, 46, 97, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, + 95, 98,115,100,102, 95,118,101,108,118,101,116, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,115, +105,103,109, 97, 44, 32,102,108,111, 97,116, 32,102,114,101,115,110,101,108, 44, 32,118,101, 99, 51, 32, 78, 44, 32,111,117,116, + 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117, +115,101, 40, 99,111,108,111,114, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10, 47, 42, 32,101,109,105,115, +115,105,111,110, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,101,109,105,115,115,105,111,110, 40,118,101, 99, 52, + 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,115,116,114,101,110,103,116,104, 44, 32,118,101, 99, 51, 32, 78, 44, 32, +111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,114,101,115,117,108,116, 32, 61, 32, 99,111,108, +111,114, 42,115,116,114,101,110,103,116,104, 32, 42, 32, 77, 95, 49, 95, 80, 73, 59, 10,125, 10, 10, 47, 42, 32, 99,108,111,115, +117,114,101,115, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,109,105,120, 95, 99,108,111,115,117,114,101, 40,102, +108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,108,111,115,117,114,101, 49, 44, 32,118,101, 99, 52, 32, 99,108, +111,115,117,114,101, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,108,111,115,117,114,101, 41, 10,123, 10, 9, 99,108,111, +115,117,114,101, 32, 61, 32,109,105,120, 40, 99,108,111,115,117,114,101, 49, 44, 32, 99,108,111,115,117,114,101, 50, 44, 32,102, + 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 97,100,100, 95, 99,108,111,115,117,114,101, 40,118,101, + 99, 52, 32, 99,108,111,115,117,114,101, 49, 44, 32,118,101, 99, 52, 32, 99,108,111,115,117,114,101, 50, 44, 32,111,117,116, 32, +118,101, 99, 52, 32, 99,108,111,115,117,114,101, 41, 10,123, 10, 9, 99,108,111,115,117,114,101, 32, 61, 32, 99,108,111,115,117, +114,101, 49, 32, 43, 32, 99,108,111,115,117,114,101, 50, 59, 10,125, 10, 10, 47, 42, 32,102,114,101,115,110,101,108, 32, 42, 47, + 10, 10,118,111,105,100, 32,110,111,100,101, 95,102,114,101,115,110,101,108, 40,102,108,111, 97,116, 32,102, 44, 32,118,101, 99, + 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114,101,115,117,108,116, 41, 10,123, + 10, 9,102, 32, 61, 32,109, 97,120, 40, 49, 46, 48, 32, 45, 32,102, 44, 32, 48, 46, 48, 48, 48, 48, 49, 41, 59, 10, 9,114,101, +115,117,108,116, 32, 61, 32,102,114,101,115,110,101,108, 95,100,105,101,108,101, 99,116,114,105, 99, 40, 73, 44, 32, 78, 44, 32, + 49, 46, 48, 47,102, 41, 59, 32, 47, 47, 98, 97, 99,107,102, 97, 99,105,110,103, 40, 41, 63, 32,102, 58, 32, 49, 46, 48, 47,102, + 41, 59, 10,125, 10, 10, 47, 42, 32,103,101,111,109,101,116,114,121, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95, +103,101,111,109,101,116,114,121, 40,118,101, 99, 51, 32, 73, 44, 32,118,101, 99, 51, 32, 78, 44, 32,109, 97,116, 52, 32,116,111, +119,111,114,108,100, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32,112,111,115,105,116,105,111,110, 44, 32,111,117,116, 32,118, +101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,116, 97,110,103,101,110,116, 44, 10, 9,111, +117,116, 32,118,101, 99, 51, 32,116,114,117,101, 95,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, + 99,111,109,105,110,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,112, 97,114, 97,109,101,116,114,105, 99, 44, 10, 9,111,117, +116, 32,102,108,111, 97,116, 32, 98, 97, 99,107,102, 97, 99,105,110,103, 41, 10,123, 10, 9,112,111,115,105,116,105,111,110, 32, + 61, 32, 40,116,111,119,111,114,108,100, 42,118,101, 99, 52, 40, 73, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,110, +111,114,109, 97,108, 32, 61, 32, 78, 59, 10, 9,116, 97,110,103,101,110,116, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, + 10, 9,116,114,117,101, 95,110,111,114,109, 97,108, 32, 61, 32, 78, 59, 10, 9,105,110, 99,111,109,105,110,103, 32, 61, 32, 73, + 59, 10, 9,112, 97,114, 97,109,101,116,114,105, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10, 9, 98, 97, 99,107, +102, 97, 99,105,110,103, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95, 99, +111,111,114,100, 40,118,101, 99, 51, 32, 73, 44, 32,118,101, 99, 51, 32, 78, 44, 32,109, 97,116, 52, 32,116,111,119,111,114,108, +100, 44, 10, 9,118,101, 99, 51, 32, 97,116,116,114, 95,111,114, 99,111, 44, 32,118,101, 99, 51, 32, 97,116,116,114, 95,117,118, + 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32,103,101,110,101,114, 97,116,101,100, 44, 32,111,117,116, 32,118,101, 99, 51, 32, +117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111, 98,106,101, 99,116, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32, 99, + 97,109,101,114, 97, 44, 32,111,117,116, 32,118,101, 99, 51, 32,119,105,110,100,111,119, 44, 32,111,117,116, 32,118,101, 99, 51, + 32,114,101,102,108,101, 99,116,105,111,110, 41, 10,123, 10, 9,103,101,110,101,114, 97,116,101,100, 32, 61, 32, 97,116,116,114, + 95,111,114, 99,111, 59, 10, 9,117,118, 32, 61, 32, 97,116,116,114, 95,117,118, 59, 10, 9,111, 98,106,101, 99,116, 32, 61, 32, + 73, 59, 10, 9, 99, 97,109,101,114, 97, 32, 61, 32, 73, 59, 10, 9,119,105,110,100,111,119, 32, 61, 32,103,108, 95, 70,114, 97, +103, 67,111,111,114,100, 46,120,121,122, 59, 10, 9,114,101,102,108,101, 99,116,105,111,110, 32, 61, 32,114,101,102,108,101, 99, +116, 40, 78, 44, 32, 73, 41, 59, 10, 10,125, 10, 10, 47, 42, 32,116,101,120,116,117,114,101,115, 32, 42, 47, 10, 10,118,111,105, +100, 32,110,111,100,101, 95,116,101,120, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110, +111,100,101, 95,116,101,120, 95, 99,108,111,117,100,115, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105, +122,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, + 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, + 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,100,105,115,116,110,111,105,115,101, 40, +118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,100,105,115,116,111, +114,116,105,111,110, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, + 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,101,110,118,105,114,111,110,109,101,110,116, + 40,118,101, 99, 51, 32, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, + 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9,102,108,111, 97,116, 32,117, 32, 61, 32, 40, 97,116, 97,110, 40, 99,111, 46,121, + 44, 32, 99,111, 46,120, 41, 32, 43, 32, 77, 95, 80, 73, 41, 47, 40, 50, 46, 48, 42, 77, 95, 80, 73, 41, 59, 10, 9,102,108,111, + 97,116, 32,118, 32, 61, 32, 97,116, 97,110, 40, 99,111, 46,122, 44, 32,104,121,112,111,116, 40, 99,111, 46,120, 44, 32, 99,111, + 46,121, 41, 41, 47, 77, 95, 80, 73, 32, 43, 32, 48, 46, 53, 59, 10, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117, +114,101, 50, 68, 40,105,109, 97, 44, 32,118,101, 99, 50, 40,117, 44, 32,118, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110, +111,100,101, 95,116,101,120, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, + 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, + 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 99,111, 46,120,121, 41, 59, 10,125, 10, 10,118,111,105,100, 32, +110,111,100,101, 95,116,101,120, 95,109, 97,103,105, 99, 40,118,101, 99, 51, 32,112, 44, 32,102,108,111, 97,116, 32,116,117,114, + 98,117,108,101,110, 99,101, 44, 32,102,108,111, 97,116, 32,110, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, + 41, 10,123, 10, 9,102,108,111, 97,116, 32,116,117,114, 98, 32, 61, 32,116,117,114, 98,117,108,101,110, 99,101, 47, 53, 46, 48, + 59, 10, 10, 9,102,108,111, 97,116, 32,120, 32, 61, 32,115,105,110, 40, 40,112, 46,120, 32, 43, 32,112, 46,121, 32, 43, 32,112, + 46,122, 41, 42, 53, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,121, 32, 61, 32, 99,111,115, 40, 40, 45,112, 46,120, 32, 43, + 32,112, 46,121, 32, 45, 32,112, 46,122, 41, 42, 53, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,122, 32, 61, 32, 45, 99,111, +115, 40, 40, 45,112, 46,120, 32, 45, 32,112, 46,121, 32, 43, 32,112, 46,122, 41, 42, 53, 46, 48, 41, 59, 10, 10, 9,105,102, 40, +110, 32, 62, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 9, 9,121, 32, 42, 61, 32,116, +117,114, 98, 59, 10, 9, 9,122, 32, 42, 61, 32,116,117,114, 98, 59, 10, 9, 9,121, 32, 61, 32, 45, 99,111,115, 40,120, 45,121, + 43,122, 41, 59, 10, 9, 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9,105,102, 40,110, 32, 62, 32, 49, 46, 48, 41, + 32,123, 10, 9, 9, 9,120, 61, 32, 99,111,115, 40,120, 45,121, 45,122, 41, 59, 10, 9, 9, 9,120, 32, 42, 61, 32,116,117,114, + 98, 59, 10, 10, 9, 9, 9,105,102, 40,110, 32, 62, 32, 50, 46, 48, 41, 32,123, 10, 9, 9, 9, 9,122, 61, 32,115,105,110, 40, + 45,120, 45,121, 45,122, 41, 59, 10, 9, 9, 9, 9,122, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9,105,102, 40, +110, 32, 62, 32, 51, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9,120, 61, 32, 45, 99,111,115, 40, 45,120, 43,121, 45,122, 41, 59, + 10, 9, 9, 9, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 52, 46, + 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9,121, 61, 32, 45,115,105,110, 40, 45,120, 43,121, 43,122, 41, 59, 10, 9, 9, 9, 9, + 9, 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 53, 46, 48, 41, 32, +123, 10, 9, 9, 9, 9, 9, 9, 9,121, 61, 32, 45, 99,111,115, 40, 45,120, 43,121, 43,122, 41, 59, 10, 9, 9, 9, 9, 9, 9, + 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 54, 46, 48, 41, 32, +123, 10, 9, 9, 9, 9, 9, 9, 9, 9,120, 61, 32, 99,111,115, 40,120, 43,121, 43,122, 41, 59, 10, 9, 9, 9, 9, 9, 9, 9, + 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 55, 46, 48, 41, + 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,122, 61, 32,115,105,110, 40,120, 43,121, 45,122, 41, 59, 10, 9, 9, 9, 9, 9, + 9, 9, 9, 9,122, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, + 56, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,120, 61, 32, 45, 99,111,115, 40, 45,120, 45,121, 43,122, 41, + 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9,105,102, 40,110, 32, 62, 32, 57, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,121, 61, 32, 45,115, +105,110, 40,120, 45,121, 43,122, 41, 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,121, 32, 42, 61, 32,116,117,114, 98, 59, + 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9, 9, 9, 9, +125, 10, 9, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9,125, 10, + 9, 9, 9,125, 10, 9, 9,125, 10, 9,125, 10, 10, 9,105,102, 40,116,117,114, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, + 9, 9,116,117,114, 98, 32, 42, 61, 32, 50, 46, 48, 59, 10, 9, 9,120, 32, 47, 61, 32,116,117,114, 98, 59, 10, 9, 9,121, 32, + 47, 61, 32,116,117,114, 98, 59, 10, 9, 9,122, 32, 47, 61, 32,116,117,114, 98, 59, 10, 9,125, 10, 10, 9, 99,111,108,111,114, + 32, 61, 32,118,101, 99, 52, 40, 48, 46, 53, 32, 45, 32,120, 44, 32, 48, 46, 53, 32, 45, 32,121, 44, 32, 48, 46, 53, 32, 45, 32, +122, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,109, 97,114, 98,108,101, + 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,117,114, 98, +117,108,101,110, 99,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, + 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,109,117,115,103,114, 97,118,101, 40,118, +101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,100,105,109,101,110,115, +105,111,110, 44, 32,102,108,111, 97,116, 32,108, 97, 99,117,110, 97,114,105,116,121, 44, 32,102,108,111, 97,116, 32,111, 99,116, + 97,118,101,115, 44, 32,102,108,111, 97,116, 32,111,102,102,115,101,116, 44, 32,102,108,111, 97,116, 32,103, 97,105,110, 44, 32, +111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10, +118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,110,111,105,115,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, + 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99, +111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, + 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,115,107,121, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32, +118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, + 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,115,116,117, 99, 99,105, 40,118,101, 99, 51, 32, 99, +111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,117,114, 98,117,108,101,110, 99,101, 44, + 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, + 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,118,111,114,111,110,111,105, 40,118,101, 99, 51, 32, 99,111, 44, 32, +102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,119,101,105,103,104,116, 49, 44, 32,102,108,111, 97,116, + 32,119,101,105,103,104,116, 50, 44, 32,102,108,111, 97,116, 32,119,101,105,103,104,116, 51, 44, 32,102,108,111, 97,116, 32,119, +101,105,103,104,116, 52, 44, 32,102,108,111, 97,116, 32,101,120,112,111,110,101,110,116, 44, 32,111,117,116, 32,118,101, 99, 52, + 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, + 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, + 32,110,111,100,101, 95,116,101,120, 95,119,111,111,100, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105, +122,101, 44, 32,102,108,111, 97,116, 32,116,117,114, 98,117,108,101,110, 99,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, +102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10, 47, 42, 32,108,105,103,104,116, 32,112, + 97,116,104, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,108,105,103,104,116, 95,112, 97,116,104, 40, 10, 9,111, +117,116, 32,102,108,111, 97,116, 32,105,115, 95, 99, 97,109,101,114, 97, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, + 97,116, 32,105,115, 95,115,104, 97,100,111,119, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95, +100,105,102,102,117,115,101, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,103,108,111,115,115, +121, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,114,101,102,108,101, 99,116,105,111,110, 95, +114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,116,114, 97,110,115,109,105,115,115,105,111,110, 95, +114, 97,121, 41, 10,123, 10, 9,105,115, 95, 99, 97,109,101,114, 97, 95,114, 97,121, 32, 61, 32, 49, 46, 48, 59, 10, 9,105,115, + 95,115,104, 97,100,111,119, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,100,105,102,102,117,115,101, 95,114, + 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,103,108,111,115,115,121, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, + 9,105,115, 95,114,101,102,108,101, 99,116,105,111,110, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,116,114, + 97,110,115,109,105,115,115,105,111,110, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10, 47, 42, 32,111,117,116,112, +117,116, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,111,117,116,112,117,116, 95,109, 97,116,101,114,105, 97,108, + 40,118,101, 99, 52, 32,115,117,114,102, 97, 99,101, 44, 32,118,101, 99, 52, 32,118,111,108,117,109,101, 44, 32,102,108,111, 97, +116, 32,100,105,115,112,108, 97, 99,101,109,101,110,116, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, + 10,123, 10, 9,114,101,115,117,108,116, 32, 61, 32,115,117,114,102, 97, 99,101, 32, 42, 32, 77, 95, 80, 73, 59, 10,125, 10, 10, 0}; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_add_closure.c b/source/blender/nodes/intern/SHD_nodes/SHD_add_closure.c index fbd4727d68b..2b715b9f267 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_add_closure.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_add_closure.c @@ -46,6 +46,11 @@ static void node_shader_exec_add_closure(void *data, bNode *node, bNodeStack **i { } +static int node_shader_gpu_add_closure(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_add_closure", in, out); +} + /* node type definition */ void register_node_type_sh_add_closure(ListBase *lb) { @@ -57,7 +62,7 @@ void register_node_type_sh_add_closure(ListBase *lb) node_type_init(&ntype, NULL); node_type_storage(&ntype, "", NULL, NULL); node_type_exec(&ntype, node_shader_exec_add_closure); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_add_closure); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c index bb80993d8bc..5a671c6a7d0 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c @@ -47,6 +47,11 @@ static void node_shader_exec_bsdf_anisotropic(void *data, bNode *node, bNodeStac { } +static int node_shader_gpu_bsdf_anisotropic(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_bsdf_anisotropic", in, out, GPU_builtin(GPU_VIEW_NORMAL), GPU_builtin(GPU_VIEW_POSITION)); +} + /* node type definition */ void register_node_type_sh_bsdf_anisotropic(ListBase *lb) { @@ -58,7 +63,7 @@ void register_node_type_sh_bsdf_anisotropic(ListBase *lb) node_type_init(&ntype, NULL); node_type_storage(&ntype, "", NULL, NULL); node_type_exec(&ntype, node_shader_exec_bsdf_anisotropic); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_bsdf_anisotropic); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c index 1732d737be9..ca37e8fe9a5 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c @@ -45,6 +45,11 @@ static void node_shader_exec_bsdf_diffuse(void *data, bNode *node, bNodeStack ** { } +static int node_shader_gpu_bsdf_diffuse(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_bsdf_diffuse", in, out, GPU_builtin(GPU_VIEW_NORMAL)); +} + /* node type definition */ void register_node_type_sh_bsdf_diffuse(ListBase *lb) { @@ -56,7 +61,7 @@ void register_node_type_sh_bsdf_diffuse(ListBase *lb) node_type_init(&ntype, NULL); node_type_storage(&ntype, "", NULL, NULL); node_type_exec(&ntype, node_shader_exec_bsdf_diffuse); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_bsdf_diffuse); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c index eab042ad9a6..c3773bf0e91 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c @@ -47,24 +47,11 @@ static void node_shader_exec_bsdf_glass(void *data, bNode *node, bNodeStack **in { } -bNodeType sh_node_bsdf_glass= { - /* *next,*prev */ NULL, NULL, - /* type code */ SH_NODE_BSDF_GLASS, - /* name */ "Glass BSDF", - /* width+range */ 150, 60, 200, - /* class+opts */ NODE_CLASS_CLOSURE, 0, - /* input sock */ sh_node_bsdf_glass_in, - /* output sock */ sh_node_bsdf_glass_out, - /* storage */ "", - /* execfunc */ node_shader_exec_bsdf_glass, - /* butfunc */ NULL, - /* initfunc */ NULL, - /* freestoragefunc */ NULL, - /* copystoragefunc */ NULL, - /* id */ NULL, NULL, NULL, - /* gpufunc */ NULL - -}; +static int node_shader_gpu_bsdf_glass(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_bsdf_glass", in, out, GPU_builtin(GPU_VIEW_NORMAL), GPU_builtin(GPU_VIEW_POSITION)); +} + /* node type definition */ void register_node_type_sh_bsdf_glass(ListBase *lb) { @@ -76,7 +63,7 @@ void register_node_type_sh_bsdf_glass(ListBase *lb) node_type_init(&ntype, NULL); node_type_storage(&ntype, "", NULL, NULL); node_type_exec(&ntype, node_shader_exec_bsdf_glass); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_bsdf_glass); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c index 3a1ad4766de..b3c5ab52c47 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c @@ -47,6 +47,12 @@ static void node_shader_exec_bsdf_glossy(void *data, bNode *node, bNodeStack **i { } +static int node_shader_gpu_bsdf_glossy(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + /* todo: is incoming vector normalized? */ + return GPU_stack_link(mat, "node_bsdf_glossy", in, out, GPU_builtin(GPU_VIEW_NORMAL), GPU_builtin(GPU_VIEW_POSITION)); +} + /* node type definition */ void register_node_type_sh_bsdf_glossy(ListBase *lb) { @@ -58,7 +64,7 @@ void register_node_type_sh_bsdf_glossy(ListBase *lb) node_type_init(&ntype, NULL); node_type_storage(&ntype, "", NULL, NULL); node_type_exec(&ntype, node_shader_exec_bsdf_glossy); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_bsdf_glossy); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c index 3a09b0bf2cf..79a20520dad 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c @@ -45,6 +45,11 @@ static void node_shader_exec_bsdf_translucent(void *data, bNode *node, bNodeStac { } +static int node_shader_gpu_bsdf_translucent(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_bsdf_translucent", in, out, GPU_builtin(GPU_VIEW_NORMAL)); +} + /* node type definition */ void register_node_type_sh_bsdf_translucent(ListBase *lb) { @@ -56,7 +61,7 @@ void register_node_type_sh_bsdf_translucent(ListBase *lb) node_type_init(&ntype, NULL); node_type_storage(&ntype, "", NULL, NULL); node_type_exec(&ntype, node_shader_exec_bsdf_translucent); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_bsdf_translucent); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c index 8324e73fec7..1f7609f9eca 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c @@ -45,6 +45,11 @@ static void node_shader_exec_bsdf_transparent(void *data, bNode *node, bNodeStac { } +static int node_shader_gpu_bsdf_transparent(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_bsdf_transparent", in, out); +} + /* node type definition */ void register_node_type_sh_bsdf_transparent(ListBase *lb) { @@ -56,7 +61,7 @@ void register_node_type_sh_bsdf_transparent(ListBase *lb) node_type_init(&ntype, NULL); node_type_storage(&ntype, "", NULL, NULL); node_type_exec(&ntype, node_shader_exec_bsdf_transparent); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_bsdf_transparent); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c index 33878a65f53..62146357c5d 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c @@ -47,6 +47,11 @@ static void node_shader_exec_bsdf_velvet(void *data, bNode *node, bNodeStack **i { } +static int node_shader_gpu_bsdf_velvet(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_bsdf_velvet", in, out, GPU_builtin(GPU_VIEW_NORMAL)); +} + /* node type definition */ void register_node_type_sh_bsdf_velvet(ListBase *lb) { @@ -58,7 +63,7 @@ void register_node_type_sh_bsdf_velvet(ListBase *lb) node_type_init(&ntype, NULL); node_type_storage(&ntype, "", NULL, NULL); node_type_exec(&ntype, node_shader_exec_bsdf_velvet); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_bsdf_velvet); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_emission.c b/source/blender/nodes/intern/SHD_nodes/SHD_emission.c index 9486388b679..d02fd3c0de9 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_emission.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_emission.c @@ -46,6 +46,11 @@ static void node_shader_exec_emission(void *data, bNode *node, bNodeStack **in, { } +static int node_shader_gpu_emission(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_emission", in, out, GPU_builtin(GPU_VIEW_NORMAL)); +} + /* node type definition */ void register_node_type_sh_emission(ListBase *lb) { @@ -57,7 +62,7 @@ void register_node_type_sh_emission(ListBase *lb) node_type_init(&ntype, NULL); node_type_storage(&ntype, "", NULL, NULL); node_type_exec(&ntype, node_shader_exec_emission); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_emission); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_fresnel.c b/source/blender/nodes/intern/SHD_nodes/SHD_fresnel.c index 3ac2b7f3557..96002331bf1 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_fresnel.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_fresnel.c @@ -44,6 +44,12 @@ static void node_shader_exec_fresnel(void *UNUSED(data), bNode *node, bNodeStack { } +static int node_shader_gpu_fresnel(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + /* todo: is incoming vector normalized? */ + return GPU_stack_link(mat, "node_fresnel", in, out, GPU_builtin(GPU_VIEW_NORMAL), GPU_builtin(GPU_VIEW_POSITION)); +} + /* node type definition */ void register_node_type_sh_fresnel(ListBase *lb) { @@ -55,7 +61,7 @@ void register_node_type_sh_fresnel(ListBase *lb) node_type_init(&ntype, NULL); node_type_storage(&ntype, "", NULL, NULL); node_type_exec(&ntype, node_shader_exec_fresnel); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_fresnel); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_geometry.c b/source/blender/nodes/intern/SHD_nodes/SHD_geometry.c index 15c304c7e47..62f0bfdb79b 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_geometry.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_geometry.c @@ -46,6 +46,13 @@ static void node_shader_exec_geometry(void *data, bNode *node, bNodeStack **in, { } +static int node_shader_gpu_geometry(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_geometry", in, out, + GPU_builtin(GPU_VIEW_POSITION), GPU_builtin(GPU_VIEW_NORMAL), + GPU_builtin(GPU_INVERSE_VIEW_MATRIX)); +} + /* node type definition */ void register_node_type_sh_geometry(ListBase *lb) { @@ -57,7 +64,7 @@ void register_node_type_sh_geometry(ListBase *lb) node_type_init(&ntype, NULL); node_type_storage(&ntype, "", NULL, NULL); node_type_exec(&ntype, node_shader_exec_geometry); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_geometry); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_light_path.c b/source/blender/nodes/intern/SHD_nodes/SHD_light_path.c index 9405b7b591a..b7e268f8479 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_light_path.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_light_path.c @@ -45,6 +45,11 @@ static void node_shader_exec_light_path(void *data, bNode *node, bNodeStack **in { } +static int node_shader_gpu_light_path(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_light_path", in, out); +} + /* node type definition */ void register_node_type_sh_light_path(ListBase *lb) { @@ -56,7 +61,7 @@ void register_node_type_sh_light_path(ListBase *lb) node_type_init(&ntype, NULL); node_type_storage(&ntype, "", NULL, NULL); node_type_exec(&ntype, node_shader_exec_light_path); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_light_path); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_mix_closure.c b/source/blender/nodes/intern/SHD_nodes/SHD_mix_closure.c index f126a55611c..06bd1f39030 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_mix_closure.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_mix_closure.c @@ -47,6 +47,11 @@ static void node_shader_exec_mix_closure(void *data, bNode *node, bNodeStack **i { } +static int node_shader_gpu_mix_closure(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_mix_closure", in, out); +} + /* node type definition */ void register_node_type_sh_mix_closure(ListBase *lb) { @@ -58,7 +63,7 @@ void register_node_type_sh_mix_closure(ListBase *lb) node_type_init(&ntype, NULL); node_type_storage(&ntype, "", NULL, NULL); node_type_exec(&ntype, node_shader_exec_mix_closure); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_mix_closure); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_output_material.c b/source/blender/nodes/intern/SHD_nodes/SHD_output_material.c index 98db624cda6..7df0f5e3578 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_output_material.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_output_material.c @@ -42,6 +42,17 @@ static void node_shader_exec_output_material(void *data, bNode *node, bNodeStack { } +static int node_shader_gpu_output_material(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + GPUNodeLink *outlink; + + GPU_stack_link(mat, "node_output_material", in, out, &outlink); + GPU_material_output_link(mat, outlink); + + return 1; +} + + /* node type definition */ void register_node_type_sh_output_material(ListBase *lb) { @@ -53,7 +64,7 @@ void register_node_type_sh_output_material(ListBase *lb) node_type_init(&ntype, NULL); node_type_storage(&ntype, "", NULL, NULL); node_type_exec(&ntype, node_shader_exec_output_material); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_output_material); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c index bd656a7b015..ddba878f0ae 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c @@ -54,6 +54,11 @@ static void node_shader_exec_tex_blend(void *data, bNode *node, bNodeStack **in, { } +static int node_shader_gpu_tex_blend(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_tex_blend", in, out); +} + /* node type definition */ void register_node_type_sh_tex_blend(ListBase *lb) { @@ -65,7 +70,7 @@ void register_node_type_sh_tex_blend(ListBase *lb) node_type_init(&ntype, node_shader_init_tex_blend); node_type_storage(&ntype, "NodeTexBlend", node_free_standard_storage, node_copy_standard_storage); node_type_exec(&ntype, node_shader_exec_tex_blend); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_tex_blend); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c index be2d03018fa..e66e91b4284 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c @@ -57,6 +57,11 @@ static void node_shader_exec_tex_clouds(void *data, bNode *node, bNodeStack **in { } +static int node_shader_gpu_tex_clouds(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_tex_clouds", in, out); +} + /* node type definition */ void register_node_type_sh_tex_clouds(ListBase *lb) { @@ -68,7 +73,7 @@ void register_node_type_sh_tex_clouds(ListBase *lb) node_type_init(&ntype, node_shader_init_tex_clouds); node_type_storage(&ntype, "NodeTexClouds", node_free_standard_storage, node_copy_standard_storage); node_type_exec(&ntype, node_shader_exec_tex_clouds); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_tex_clouds); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_coord.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_coord.c index 3ef69dd1bce..d94164f47ac 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_coord.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_coord.c @@ -29,6 +29,8 @@ #include "../SHD_util.h" +#include "DNA_customdata_types.h" + /* **************** OUTPUT ******************** */ static bNodeSocketType sh_node_tex_coord_out[]= { @@ -45,6 +47,16 @@ static void node_shader_exec_tex_coord(void *data, bNode *node, bNodeStack **in, { } +static int node_shader_gpu_tex_coord(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + GPUNodeLink *orco = GPU_attribute(CD_ORCO, ""); + GPUNodeLink *mtface = GPU_attribute(CD_MTFACE, ""); + + return GPU_stack_link(mat, "node_tex_coord", in, out, + GPU_builtin(GPU_VIEW_POSITION), GPU_builtin(GPU_VIEW_NORMAL), + GPU_builtin(GPU_INVERSE_VIEW_MATRIX), orco, mtface); +} + /* node type definition */ void register_node_type_sh_tex_coord(ListBase *lb) { @@ -56,7 +68,7 @@ void register_node_type_sh_tex_coord(ListBase *lb) node_type_init(&ntype, NULL); node_type_storage(&ntype, "", NULL, NULL); node_type_exec(&ntype, node_shader_exec_tex_coord); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_tex_coord); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c index 415159074bb..f27cc00e46d 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c @@ -56,6 +56,11 @@ static void node_shader_exec_tex_distnoise(void *data, bNode *node, bNodeStack * { } +static int node_shader_gpu_tex_distnoise(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_tex_distnoise", in, out); +} + /* node type definition */ void register_node_type_sh_tex_distnoise(ListBase *lb) { @@ -67,7 +72,7 @@ void register_node_type_sh_tex_distnoise(ListBase *lb) node_type_init(&ntype, node_shader_init_tex_distorted_noise); node_type_storage(&ntype, "NodeTexDistortedNoise", node_free_standard_storage, node_copy_standard_storage); node_type_exec(&ntype, node_shader_exec_tex_distnoise); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_tex_distnoise); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c index c1b18e17d26..a9579569973 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c @@ -53,6 +53,14 @@ static void node_shader_exec_tex_environment(void *data, bNode *node, bNodeStack { } +static int node_shader_gpu_tex_environment(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + Image *ima= (Image*)node->id; + ImageUser *iuser= NULL; + + return GPU_stack_link(mat, "node_tex_environment", in, out, GPU_image(ima, iuser)); +} + /* node type definition */ void register_node_type_sh_tex_environment(ListBase *lb) { @@ -64,7 +72,7 @@ void register_node_type_sh_tex_environment(ListBase *lb) node_type_init(&ntype, node_shader_init_tex_environment); node_type_storage(&ntype, "NodeTexEnvironment", node_free_standard_storage, node_copy_standard_storage); node_type_exec(&ntype, node_shader_exec_tex_environment); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_tex_environment); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c index c08ba2ca86d..f469e8dd775 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c @@ -53,6 +53,14 @@ static void node_shader_exec_tex_image(void *data, bNode *node, bNodeStack **in, { } +static int node_shader_gpu_tex_image(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + Image *ima= (Image*)node->id; + ImageUser *iuser= NULL; + + return GPU_stack_link(mat, "node_tex_image", in, out, GPU_image(ima, iuser)); +} + /* node type definition */ void register_node_type_sh_tex_image(ListBase *lb) { @@ -64,7 +72,7 @@ void register_node_type_sh_tex_image(ListBase *lb) node_type_init(&ntype, node_shader_init_tex_image); node_type_storage(&ntype, "NodeTexImage", node_free_standard_storage, node_copy_standard_storage); node_type_exec(&ntype, node_shader_exec_tex_image); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_tex_image); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c index 5cd210a1804..736af733daa 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c @@ -54,6 +54,14 @@ static void node_shader_exec_tex_magic(void *data, bNode *node, bNodeStack **in, { } +static int node_shader_gpu_tex_magic(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + NodeTexMagic *tex = (NodeTexMagic*)node->storage; + float depth = tex->depth; + + return GPU_stack_link(mat, "node_tex_magic", in, out, GPU_uniform(&depth)); +} + /* node type definition */ void register_node_type_sh_tex_magic(ListBase *lb) { @@ -65,7 +73,7 @@ void register_node_type_sh_tex_magic(ListBase *lb) node_type_init(&ntype, node_shader_init_tex_magic); node_type_storage(&ntype, "NodeTexMagic", node_free_standard_storage, node_copy_standard_storage); node_type_exec(&ntype, node_shader_exec_tex_magic); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_tex_magic); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c index b42faee69a5..d4ae6eca015 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c @@ -59,6 +59,11 @@ static void node_shader_exec_tex_marble(void *data, bNode *node, bNodeStack **in { } +static int node_shader_gpu_tex_marble(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_tex_marble", in, out); +} + /* node type definition */ void register_node_type_sh_tex_marble(ListBase *lb) { @@ -70,7 +75,7 @@ void register_node_type_sh_tex_marble(ListBase *lb) node_type_init(&ntype, node_shader_init_tex_marble); node_type_storage(&ntype, "NodeTexMarble", node_free_standard_storage, node_copy_standard_storage); node_type_exec(&ntype, node_shader_exec_tex_marble); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_tex_marble); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c index e40e7488abe..1a4d8913bc5 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c @@ -60,6 +60,11 @@ static void node_shader_exec_tex_musgrave(void *data, bNode *node, bNodeStack ** { } +static int node_shader_gpu_tex_musgrave(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_tex_musgrave", in, out); +} + /* node type definition */ void register_node_type_sh_tex_musgrave(ListBase *lb) { @@ -71,7 +76,7 @@ void register_node_type_sh_tex_musgrave(ListBase *lb) node_type_init(&ntype, node_shader_init_tex_musgrave); node_type_storage(&ntype, "NodeTexMusgrave", node_free_standard_storage, node_copy_standard_storage); node_type_exec(&ntype, node_shader_exec_tex_musgrave); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_tex_musgrave); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c index 6349fa8e27a..ae91bb5624a 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c @@ -46,6 +46,11 @@ static void node_shader_exec_tex_noise(void *data, bNode *node, bNodeStack **in, { } +static int node_shader_gpu_tex_noise(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_tex_noise", in, out); +} + /* node type definition */ void register_node_type_sh_tex_noise(ListBase *lb) { @@ -57,7 +62,7 @@ void register_node_type_sh_tex_noise(ListBase *lb) node_type_init(&ntype, NULL); node_type_storage(&ntype, "", NULL, NULL); node_type_exec(&ntype, node_shader_exec_tex_noise); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_tex_noise); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c index 5061e8c28b8..fa31ec9fead 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c @@ -56,6 +56,11 @@ static void node_shader_exec_tex_sky(void *data, bNode *node, bNodeStack **in, b { } +static int node_shader_gpu_tex_sky(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_tex_sky", in, out); +} + /* node type definition */ void register_node_type_sh_tex_sky(ListBase *lb) { @@ -67,7 +72,7 @@ void register_node_type_sh_tex_sky(ListBase *lb) node_type_init(&ntype, node_shader_init_tex_sky); node_type_storage(&ntype, "NodeTexSky", node_free_standard_storage, node_copy_standard_storage); node_type_exec(&ntype, node_shader_exec_tex_sky); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_tex_sky); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c index c403daaa2d9..fc4dff91954 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c @@ -57,6 +57,11 @@ static void node_shader_exec_tex_stucci(void *data, bNode *node, bNodeStack **in { } +static int node_shader_gpu_tex_stucci(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_tex_stucci", in, out); +} + /* node type definition */ void register_node_type_sh_tex_stucci(ListBase *lb) { @@ -68,7 +73,7 @@ void register_node_type_sh_tex_stucci(ListBase *lb) node_type_init(&ntype, node_shader_init_tex_stucci); node_type_storage(&ntype, "NodeTexStucci", node_free_standard_storage, node_copy_standard_storage); node_type_exec(&ntype, node_shader_exec_tex_stucci); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_tex_stucci); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c index 113ffed1870..87711ab2885 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c @@ -61,6 +61,11 @@ static void node_shader_exec_tex_voronoi(void *data, bNode *node, bNodeStack **i { } +static int node_shader_gpu_tex_voronoi(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_tex_voronoi", in, out); +} + /* node type definition */ void register_node_type_sh_tex_voronoi(ListBase *lb) { @@ -72,7 +77,7 @@ void register_node_type_sh_tex_voronoi(ListBase *lb) node_type_init(&ntype, node_shader_init_tex_voronoi); node_type_storage(&ntype, "NodeTexVoronoi", node_free_standard_storage, node_copy_standard_storage); node_type_exec(&ntype, node_shader_exec_tex_voronoi); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_tex_voronoi); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c index 430d1bacf8c..e9d46b96f62 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c @@ -58,6 +58,11 @@ static void node_shader_exec_tex_wood(void *data, bNode *node, bNodeStack **in, { } +static int node_shader_gpu_tex_wood(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_tex_wood", in, out); +} + /* node type definition */ void register_node_type_sh_tex_wood(ListBase *lb) { @@ -69,7 +74,7 @@ void register_node_type_sh_tex_wood(ListBase *lb) node_type_init(&ntype, node_shader_init_tex_wood); node_type_storage(&ntype, "NodeTexWood", node_free_standard_storage, node_copy_standard_storage); node_type_exec(&ntype, node_shader_exec_tex_wood); - node_type_gpu(&ntype, NULL); + node_type_gpu(&ntype, node_shader_gpu_tex_wood); nodeRegisterType(lb, &ntype); }; From dbdc0300ccf1b8e57f308e687ad7f7018468a7df Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 10 Jun 2011 16:41:31 +0000 Subject: [PATCH 056/241] Cycles: GLSL error fix for image and environment nodes with no datablock assigned. --- source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c | 3 +++ source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c index a9579569973..95b77499e3f 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c @@ -58,6 +58,9 @@ static int node_shader_gpu_tex_environment(GPUMaterial *mat, bNode *node, GPUNod Image *ima= (Image*)node->id; ImageUser *iuser= NULL; + if(!ima) + return 0; + return GPU_stack_link(mat, "node_tex_environment", in, out, GPU_image(ima, iuser)); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c index f469e8dd775..35f06bd385a 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c @@ -58,6 +58,9 @@ static int node_shader_gpu_tex_image(GPUMaterial *mat, bNode *node, GPUNodeStack Image *ima= (Image*)node->id; ImageUser *iuser= NULL; + if(!ima) + return 0; + return GPU_stack_link(mat, "node_tex_image", in, out, GPU_image(ima, iuser)); } From 9097fdc2f4568f69d72f6bfa9ec32a737a89af3c Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 10 Jun 2011 18:17:34 +0000 Subject: [PATCH 057/241] Cycles: button to switch to texture tab from e.g. modifiers and field, with the relevant texture selected, and some cosmetic tweaks to the menu. --- .../startup/bl_ui/properties_data_modifier.py | 2 +- .../startup/bl_ui/properties_physics_field.py | 5 +- source/blender/editors/include/UI_interface.h | 1 + .../editors/interface/interface_templates.c | 11 ++- .../editors/space_buttons/buttons_texture.c | 92 +++++++++++++++++-- 5 files changed, 98 insertions(+), 13 deletions(-) diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py index 75069993521..d3986bcd9c2 100644 --- a/release/scripts/startup/bl_ui/properties_data_modifier.py +++ b/release/scripts/startup/bl_ui/properties_data_modifier.py @@ -666,7 +666,7 @@ class DATA_PT_modifiers(ModifierButtonsPanel, bpy.types.Panel): split = layout.split() col = split.column() col.label(text="Texture:") - col.prop(md, "texture", text="") + col.template_ID(md, "texture", new="texture.new") col = split.column() col.label(text="Texture Coordinates:") diff --git a/release/scripts/startup/bl_ui/properties_physics_field.py b/release/scripts/startup/bl_ui/properties_physics_field.py index 9f96f0a5b9f..bd374f0a6f8 100644 --- a/release/scripts/startup/bl_ui/properties_physics_field.py +++ b/release/scripts/startup/bl_ui/properties_physics_field.py @@ -61,6 +61,10 @@ class PHYSICS_PT_field(PhysicButtonsPanel, bpy.types.Panel): split = layout.split(percentage=0.2) split.label(text="Shape:") split.prop(field, "shape", text="") + elif field.type == 'TEXTURE': + split = layout.split(percentage=0.2) + split.label(text="Texture:") + split.row().template_ID(field, "texture", new="texture.new") split = layout.split() @@ -103,7 +107,6 @@ class PHYSICS_PT_field(PhysicButtonsPanel, bpy.types.Panel): elif field.type == 'TEXTURE': col = split.column() col.prop(field, "strength") - col.prop(field, "texture", text="") col.prop(field, "texture_mode", text="") col.prop(field, "texture_nabla") diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h index e70d539ed48..ff1f475cde0 100644 --- a/source/blender/editors/include/UI_interface.h +++ b/source/blender/editors/include/UI_interface.h @@ -730,6 +730,7 @@ void uiTemplateList(uiLayout *layout, struct bContext *C, struct PointerRNA *ptr void uiTemplateNodeLink(uiLayout *layout, struct ID *id, struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *input); void uiTemplateNodeView(uiLayout *layout, struct bContext *C, struct ID *id, struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *input); void uiTemplateTextureUser(uiLayout *layout, struct bContext *C); +void uiTemplateTextureShow(uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop); /* items */ void uiItemO(uiLayout *layout, const char *name, int icon, const char *opname); diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c index 4b2c851103d..9b6603b4fca 100644 --- a/source/blender/editors/interface/interface_templates.c +++ b/source/blender/editors/interface/interface_templates.c @@ -325,7 +325,7 @@ static const char *template_id_browse_tip(StructRNA *type) return "Browse ID data to be linked"; } -static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, StructRNA *type, int flag, const char *newop, const char *openop, const char *unlinkop) +static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, StructRNA *type, short idcode, int flag, const char *newop, const char *openop, const char *unlinkop) { uiBut *but; uiBlock *block; @@ -470,6 +470,9 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str if((idfrom && idfrom->lib) || !editable) uiButSetFlag(but, UI_BUT_DISABLED); } + + if(idcode == ID_TE) + uiTemplateTextureShow(layout, C, &template->ptr, template->prop); uiBlockEndAlign(block); } @@ -479,6 +482,7 @@ static void ui_template_id(uiLayout *layout, bContext *C, PointerRNA *ptr, const TemplateID *template; PropertyRNA *prop; StructRNA *type; + short idcode; prop= RNA_struct_find_property(ptr, propname); @@ -499,14 +503,15 @@ static void ui_template_id(uiLayout *layout, bContext *C, PointerRNA *ptr, const flag |= UI_ID_OPEN; type= RNA_property_pointer_type(ptr, prop); - template->idlb= which_libbase(CTX_data_main(C), RNA_type_to_ID_code(type)); + idcode= RNA_type_to_ID_code(type); + template->idlb= which_libbase(CTX_data_main(C), idcode); /* create UI elements for this template * - template_ID makes a copy of the template data and assigns it to the relevant buttons */ if(template->idlb) { uiLayoutRow(layout, 1); - template_ID(C, layout, template, type, flag, newop, openop, unlinkop); + template_ID(C, layout, template, type, idcode, flag, newop, openop, unlinkop); } MEM_freeN(template); diff --git a/source/blender/editors/space_buttons/buttons_texture.c b/source/blender/editors/space_buttons/buttons_texture.c index 010969b3b71..162f4acb515 100644 --- a/source/blender/editors/space_buttons/buttons_texture.c +++ b/source/blender/editors/space_buttons/buttons_texture.c @@ -45,6 +45,7 @@ #include "DNA_material_types.h" #include "DNA_node_types.h" #include "DNA_object_types.h" +#include "DNA_object_force.h" #include "DNA_particle_types.h" #include "DNA_scene_types.h" #include "DNA_screen_types.h" @@ -56,12 +57,15 @@ #include "BKE_modifier.h" #include "BKE_node.h" #include "BKE_paint.h" +#include "BKE_particle.h" #include "RNA_access.h" #include "UI_interface.h" #include "UI_resources.h" +#include "ED_screen.h" + #include "../interface/interface_intern.h" #include "buttons_intern.h" // own include @@ -99,7 +103,8 @@ static void buttons_texture_users_find_nodetree(ListBase *users, ID *id, RNA_pointer_create(&ntree->id, &RNA_Node, node, &ptr); prop = RNA_struct_find_property(&ptr, "texture"); - buttons_texture_user_add(users, id, ptr, prop, category, ICON_NODE, node->name); + buttons_texture_user_add(users, id, ptr, prop, + category, RNA_struct_ui_icon(ptr.type), node->name); } else if(node->type == NODE_GROUP && node->id) { buttons_texture_users_find_nodetree(users, id, (bNodeTree*)node->id, category); @@ -117,7 +122,8 @@ static void buttons_texture_modifier_foreach(void *userData, Object *ob, Modifie RNA_pointer_create(&ob->id, &RNA_Modifier, md, &ptr); prop = RNA_struct_find_property(&ptr, propname); - buttons_texture_user_add(users, &ob->id, ptr, prop, "Modifiers", ICON_MODIFIER, md->name); + buttons_texture_user_add(users, &ob->id, ptr, prop, + "Modifiers", RNA_struct_ui_icon(ptr.type), md->name); } static void buttons_texture_users_from_context(ListBase *users, const bContext *C, SpaceButs *sbuts) @@ -171,7 +177,7 @@ static void buttons_texture_users_from_context(ListBase *users, const bContext * buttons_texture_users_find_nodetree(users, &wrld->id, wrld->nodetree, "World"); if(ob) { - ParticleSystem *psys; + ParticleSystem *psys= psys_get_current(ob); MTex *mtex; int a; @@ -179,8 +185,8 @@ static void buttons_texture_users_from_context(ListBase *users, const bContext * modifiers_foreachTexLink(ob, buttons_texture_modifier_foreach, users); /* particle systems */ - /* todo: these slots are not in the UI */ - for(psys=ob->particlesystem.first; psys; psys=psys->next) { + if(psys) { + /* todo: these slots are not in the UI */ for(a=0; apart->mtex[a]; @@ -191,10 +197,23 @@ static void buttons_texture_users_from_context(ListBase *users, const bContext * RNA_pointer_create(&psys->part->id, &RNA_ParticleSettingsTextureSlot, mtex, &ptr); prop = RNA_struct_find_property(&ptr, "texture"); - buttons_texture_user_add(users, &psys->part->id, ptr, prop, "Particles", ICON_PARTICLES, psys->name); + buttons_texture_user_add(users, &psys->part->id, ptr, prop, + "Particles", RNA_struct_ui_icon(&RNA_ParticleSettings), psys->name); } } } + + /* field */ + if(ob->pd && ob->pd->forcefield == PFIELD_TEXTURE) { + PointerRNA ptr; + PropertyRNA *prop; + + RNA_pointer_create(&ob->id, &RNA_FieldSettings, ob->pd, &ptr); + prop = RNA_struct_find_property(&ptr, "texture"); + + buttons_texture_user_add(users, &ob->id, ptr, prop, + "Fields", ICON_FORCE_TEXTURE, "Texture Field"); + } } /* brush */ @@ -203,9 +222,10 @@ static void buttons_texture_users_from_context(ListBase *users, const bContext * PropertyRNA *prop; RNA_pointer_create(&brush->id, &RNA_BrushTextureSlot, &brush->mtex, &ptr); - prop = RNA_struct_find_property(&ptr, "texture"); + prop= RNA_struct_find_property(&ptr, "texture"); - buttons_texture_user_add(users, &brush->id, ptr, prop, "Brush", ICON_BRUSH_DATA, brush->id.name+2); + buttons_texture_user_add(users, &brush->id, ptr, prop, + "Brush", ICON_BRUSH_DATA, brush->id.name+2); } } @@ -335,3 +355,59 @@ void uiTemplateTextureUser(uiLayout *layout, bContext *C) but->flag &= ~UI_ICON_SUBMENU; } +/************************* Texture Show **************************/ + +static void template_texture_show(bContext *C, void *data_p, void *prop_p) +{ + SpaceButs *sbuts = CTX_wm_space_buts(C); + ButsContextTexture *ct= (sbuts)? sbuts->texuser: NULL; + ButsTextureUser *user; + + if(!ct) + return; + + for(user=ct->users.first; user; user=user->next) + if(user->ptr.data == data_p && user->prop == prop_p) + break; + + if(user) { + /* select texture */ + template_texture_select(C, user, NULL); + + /* change context */ + sbuts->mainb= BCONTEXT_TEXTURE; + sbuts->mainbuser= sbuts->mainb; + sbuts->preview= 1; + + /* redraw editor */ + ED_area_tag_redraw(CTX_wm_area(C)); + } +} + +void uiTemplateTextureShow(uiLayout *layout, bContext *C, PointerRNA *ptr, PropertyRNA *prop) +{ + /* button to quickly show texture in texture tab */ + SpaceButs *sbuts = CTX_wm_space_buts(C); + ButsContextTexture *ct= (sbuts)? sbuts->texuser: NULL; + ButsTextureUser *user; + + /* only show button in other tabs in properties editor */ + if(!ct || sbuts->mainb == BCONTEXT_TEXTURE) + return; + + /* find corresponding texture user */ + for(user=ct->users.first; user; user=user->next) + if(user->ptr.data == ptr->data && user->prop == prop) + break; + + /* draw button */ + if(user) { + uiBlock *block = uiLayoutGetBlock(layout); + uiBut *but; + + but= uiDefIconBut(block, BUT, 0, ICON_BUTS, 0, 0, UI_UNIT_X, UI_UNIT_Y, + NULL, 0.0, 0.0, 0.0, 0.0, "Show texture in texture tab"); + uiButSetFunc(but, template_texture_show, user->ptr.data, user->prop); + } +} + From a5c6f3d53b8c25500395dd1ab1c556c4f502c214 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 14 Jun 2011 16:05:21 +0000 Subject: [PATCH 058/241] Cycles: more work on texturing UI, now texture nodes use same nodes as shading, only rough implementation for design proposal. --- intern/cycles/blender/addon/ui.py | 59 ++- .../startup/bl_ui/properties_texture.py | 2 +- source/blender/blenkernel/BKE_node.h | 1 + source/blender/blenkernel/intern/node.c | 19 +- .../editors/interface/interface_node.c | 12 +- .../blender/editors/render/render_shading.c | 8 +- source/blender/editors/space_node/node_draw.c | 2 + source/blender/editors/space_node/node_edit.c | 11 +- .../makesrna/intern/rna_nodetree_types.h | 1 + source/blender/nodes/CMakeLists.txt | 1 + source/blender/nodes/SHD_node.h | 1 + .../nodes/intern/SHD_nodes/SHD_add_closure.c | 4 +- .../nodes/intern/SHD_nodes/SHD_attribute.c | 2 +- .../nodes/intern/SHD_nodes/SHD_background.c | 2 +- .../intern/SHD_nodes/SHD_bsdf_anisotropic.c | 4 +- .../nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c | 4 +- .../nodes/intern/SHD_nodes/SHD_bsdf_glass.c | 4 +- .../nodes/intern/SHD_nodes/SHD_bsdf_glossy.c | 4 +- .../intern/SHD_nodes/SHD_bsdf_translucent.c | 4 +- .../intern/SHD_nodes/SHD_bsdf_transparent.c | 4 +- .../nodes/intern/SHD_nodes/SHD_bsdf_velvet.c | 4 +- .../nodes/intern/SHD_nodes/SHD_emission.c | 4 +- .../nodes/intern/SHD_nodes/SHD_fresnel.c | 2 +- .../nodes/intern/SHD_nodes/SHD_geometry.c | 4 +- .../nodes/intern/SHD_nodes/SHD_light_path.c | 4 +- .../nodes/intern/SHD_nodes/SHD_mix_closure.c | 4 +- .../nodes/intern/SHD_nodes/SHD_noise.h | 472 ++++++++++++++++++ .../nodes/intern/SHD_nodes/SHD_output_lamp.c | 2 +- .../intern/SHD_nodes/SHD_output_material.c | 2 +- .../intern/SHD_nodes/SHD_output_texture.c | 72 +++ .../nodes/intern/SHD_nodes/SHD_output_world.c | 2 +- .../nodes/intern/SHD_nodes/SHD_tex_blend.c | 61 ++- .../nodes/intern/SHD_nodes/SHD_tex_clouds.c | 41 +- .../nodes/intern/SHD_nodes/SHD_tex_coord.c | 4 +- .../intern/SHD_nodes/SHD_tex_distnoise.c | 37 +- .../intern/SHD_nodes/SHD_tex_environment.c | 35 +- .../nodes/intern/SHD_nodes/SHD_tex_image.c | 27 +- .../nodes/intern/SHD_nodes/SHD_tex_magic.c | 88 +++- .../nodes/intern/SHD_nodes/SHD_tex_marble.c | 44 +- .../nodes/intern/SHD_nodes/SHD_tex_musgrave.c | 208 +++++++- .../nodes/intern/SHD_nodes/SHD_tex_noise.c | 34 +- .../nodes/intern/SHD_nodes/SHD_tex_sky.c | 4 +- .../nodes/intern/SHD_nodes/SHD_tex_stucci.c | 41 +- .../nodes/intern/SHD_nodes/SHD_tex_voronoi.c | 83 ++- .../nodes/intern/SHD_nodes/SHD_tex_wood.c | 47 +- source/blender/nodes/intern/SHD_util.c | 1 + source/blender/nodes/intern/SHD_util.h | 5 + source/blender/nodes/intern/TEX_util.c | 59 ++- .../render/intern/source/render_texture.c | 4 +- 49 files changed, 1441 insertions(+), 103 deletions(-) create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_noise.h create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_output_texture.c diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 89de799eb65..88a1a1a602e 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -369,11 +369,59 @@ class CyclesTexture_PT_context(CyclesButtonsPanel, bpy.types.Panel): col.template_ID(space, "pin_id") elif user: col.template_ID(user, "texture", new="texture.new") - + if tex: - split = layout.split(percentage=0.2) - split.label(text="Type:") - split.prop(tex, "type", text="") + row = split.row() + row.prop(tex, "use_nodes", icon="NODETREE", text="") + row.label() + + if not tex.use_nodes: + split = layout.split(percentage=0.2) + split.label(text="Type:") + split.prop(tex, "type", text="") + +class CyclesTexture_PT_nodes(CyclesButtonsPanel, bpy.types.Panel): + bl_label = "Nodes" + bl_context = "texture" + + @classmethod + def poll(cls, context): + tex = context.texture + return (tex and tex.use_nodes) and CyclesButtonsPanel.poll(context) + + def draw(self, context): + layout = self.layout + + tex = context.texture + panel_node_draw(layout, tex, 'OUTPUT_TEXTURE', 'Color') + +class CyclesTexture_PT_mapping(CyclesButtonsPanel, bpy.types.Panel): + bl_label = "Mapping" + bl_context = "texture" + + @classmethod + def poll(cls, context): + tex = context.texture + return (tex and tex.use_nodes) and CyclesButtonsPanel.poll(context) + + def draw(self, context): + layout = self.layout + layout.label("Texture coordinate mapping goes here."); + layout.label("Translate, rotate, scale, projection, XYZ.") + +class CyclesTexture_PT_color(CyclesButtonsPanel, bpy.types.Panel): + bl_label = "Color" + bl_context = "texture" + + @classmethod + def poll(cls, context): + tex = context.texture + return (tex and tex.use_nodes) and CyclesButtonsPanel.poll(context) + + def draw(self, context): + layout = self.layout + layout.label("Color modification options go here."); + layout.label("Ramp, brightness, contrast, saturation.") def draw_device(self, context): scene = context.scene @@ -421,8 +469,7 @@ def get_panels(): bpy.types.TEXTURE_PT_distortednoise, bpy.types.TEXTURE_PT_voxeldata, bpy.types.TEXTURE_PT_pointdensity, - bpy.types.TEXTURE_PT_pointdensity_turbulence, - bpy.types.TEXTURE_PT_custom_props] + bpy.types.TEXTURE_PT_pointdensity_turbulence] def register(): bpy.types.RENDER_PT_render.append(draw_device) diff --git a/release/scripts/startup/bl_ui/properties_texture.py b/release/scripts/startup/bl_ui/properties_texture.py index 01890bc3c99..375e5bbd787 100644 --- a/release/scripts/startup/bl_ui/properties_texture.py +++ b/release/scripts/startup/bl_ui/properties_texture.py @@ -393,7 +393,6 @@ class TEXTURE_PT_image_sampling(TextureTypePanel, bpy.types.Panel): idblock = context_tex_datablock(context) tex = context.texture - slot = context.texture_slot split = layout.split() @@ -409,6 +408,7 @@ class TEXTURE_PT_image_sampling(TextureTypePanel, bpy.types.Panel): #Only for Material based textures, not for Lamp/World... if isinstance(idblock, bpy.types.Material): + slot = context.texture_slot col.prop(tex, "use_normal_map") row = col.row() row.active = tex.use_normal_map diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h index a2cfc037f44..bd88d1da9d7 100644 --- a/source/blender/blenkernel/BKE_node.h +++ b/source/blender/blenkernel/BKE_node.h @@ -308,6 +308,7 @@ struct ShadeResult; #define SH_NODE_TEX_COORD 155 #define SH_NODE_ADD_CLOSURE 156 #define SH_NODE_TEX_ENVIRONMENT 157 +#define SH_NODE_OUTPUT_TEXTURE 158 /* custom defines options for Material node */ #define SH_NODE_MAT_DIFF 1 diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index d9c1bf058a5..0340da0f548 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -3195,8 +3195,23 @@ void ntreeGPUMaterialNodes(bNodeTree *ntree, GPUMaterial *mat) node_get_stack(node, stack, nsin, nsout, NULL); gpu_from_node_stack(&node->inputs, nsin, gpuin); gpu_from_node_stack(&node->outputs, nsout, gpuout); - if(node->typeinfo->gpufunc(mat, node, gpuin, gpuout)) + if(node->typeinfo->gpufunc(mat, node, gpuin, gpuout)) { data_from_gpu_stack(&node->outputs, nsout, gpuout); + +#if 0 + if(node->flag & NODE_ACTIVE) { + bNodeSocket *sock; + int i; + + for(sock=node->outputs.first, i=0; sock; sock=sock->next, i++) { + if(nsout[i]->data) { + GPU_material_output_link(mat, nsout[i]->data); + break; + } + } + } +#endif + } } else if(node->type==NODE_GROUP && node->id) { node_get_stack(node, stack, nsin, nsout, NULL); @@ -3618,6 +3633,7 @@ static void registerShaderNodes(ListBase *ntypelist) register_node_type_sh_mix_rgb(ntypelist); register_node_type_sh_rgbtobw(ntypelist); register_node_type_sh_mapping(ntypelist); + //register_node_type_sh_texture(ntypelist); register_node_type_sh_attribute(ntypelist); register_node_type_sh_geometry(ntypelist); @@ -3638,6 +3654,7 @@ static void registerShaderNodes(ListBase *ntypelist) register_node_type_sh_output_lamp(ntypelist); register_node_type_sh_output_material(ntypelist); + register_node_type_sh_output_texture(ntypelist); register_node_type_sh_output_world(ntypelist); register_node_type_sh_tex_blend(ntypelist); diff --git a/source/blender/editors/interface/interface_node.c b/source/blender/editors/interface/interface_node.c index 137320fea26..720cb92bce4 100644 --- a/source/blender/editors/interface/interface_node.c +++ b/source/blender/editors/interface/interface_node.c @@ -100,8 +100,16 @@ static void ui_node_clear_recursive(bNode *node) static void ntree_notify(bContext *C, ID *id, bNodeTree *ntree) { - if(ntree->type==NTREE_SHADER) - WM_event_add_notifier(C, NC_MATERIAL|ND_NODES, id); + if(ntree->type==NTREE_SHADER) { + if(GS(id->name) == ID_MA) + WM_event_add_notifier(C, NC_MATERIAL|ND_NODES, id); + else if(GS(id->name) == ID_LA) + WM_event_add_notifier(C, NC_LAMP|ND_NODES, id); + else if(GS(id->name) == ID_WO) + WM_event_add_notifier(C, NC_WORLD|ND_NODES, id); + else if(GS(id->name) == ID_TE) + WM_event_add_notifier(C, NC_TEXTURE|ND_NODES, id); + } else if(ntree->type==NTREE_COMPOSIT) WM_event_add_notifier(C, NC_SCENE|ND_NODES, id); else if(ntree->type==NTREE_TEXTURE) diff --git a/source/blender/editors/render/render_shading.c b/source/blender/editors/render/render_shading.c index 5463eefe866..265a84b093d 100644 --- a/source/blender/editors/render/render_shading.c +++ b/source/blender/editors/render/render_shading.c @@ -418,10 +418,14 @@ static int new_texture_exec(bContext *C, wmOperator *UNUSED(op)) PropertyRNA *prop; /* add or copy texture */ - if(tex) + if(tex) { tex= copy_texture(tex); - else + } + else { tex= add_texture("Texture"); + ED_node_shader_default(&tex->id); + tex->use_nodes= 1; + } /* hook into UI */ uiIDContextProperty(C, &ptr, &prop); diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c index 307c5e19384..6d75adc50e5 100644 --- a/source/blender/editors/space_node/node_draw.c +++ b/source/blender/editors/space_node/node_draw.c @@ -99,6 +99,8 @@ void ED_node_changed_update(ID *id, bNode *node) WM_main_add_notifier(NC_LAMP|ND_LIGHTING_DRAW, id); else if(GS(id->name) == ID_WO) WM_main_add_notifier(NC_WORLD|ND_WORLD_DRAW, id); + else if(GS(id->name) == ID_TE) + WM_main_add_notifier(NC_TEXTURE|ND_NODES, id); } else if(treetype==NTREE_COMPOSIT) { NodeTagChanged(edittree, node); diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index d7d6b6a6f6f..4d4af340e87 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -292,6 +292,11 @@ void ED_node_shader_default(ID *id) output_type = SH_NODE_OUTPUT_LAMP; closure_type = SH_NODE_EMISSION; break; + case ID_TE: + ((Tex*)id)->nodetree = ntree; + output_type = SH_NODE_OUTPUT_TEXTURE; + closure_type = SH_NODE_TEX_CLOUDS; + break; default: printf("ED_node_shader_default called on wrong ID type.\n"); return; @@ -353,6 +358,9 @@ void ED_node_composit_default(Scene *sce) /* called from shading buttons or header */ void ED_node_texture_default(Tex *tx) { + ED_node_shader_default(&tx->id); + +#if 0 bNode *in, *out; bNodeSocket *fromsock, *tosock; @@ -377,6 +385,7 @@ void ED_node_texture_default(Tex *tx) nodeAddLink(tx->nodetree, in, fromsock, out, tosock); ntreeSolveOrder(tx->nodetree); /* needed for pointers */ +#endif } /* id is supposed to contain a node tree */ @@ -403,7 +412,7 @@ void node_tree_from_ID(ID *id, bNodeTree **ntree, bNodeTree **edittree, int *tre } else if(idtype == ID_TE) { *ntree= ((Tex*)id)->nodetree; - if(treetype) *treetype= NTREE_TEXTURE; + if(treetype) *treetype= (*ntree)? (*ntree)->type: NTREE_SHADER; } else { if(treetype) *treetype= 0; diff --git a/source/blender/makesrna/intern/rna_nodetree_types.h b/source/blender/makesrna/intern/rna_nodetree_types.h index 1170df281f2..41f1bf2d383 100644 --- a/source/blender/makesrna/intern/rna_nodetree_types.h +++ b/source/blender/makesrna/intern/rna_nodetree_types.h @@ -52,6 +52,7 @@ DefNode( ShaderNode, SH_NODE_COMBRGB, 0, "COMBR DefNode( ShaderNode, SH_NODE_HUE_SAT, 0, "HUE_SAT", HueSaturation, "Hue/Saturation", "" ) DefNode( ShaderNode, SH_NODE_OUTPUT_MATERIAL, 0, "OUTPUT_MATERIAL",OutputMaterial, "Material Output", "" ) DefNode( ShaderNode, SH_NODE_OUTPUT_LAMP, 0, "OUTPUT_LAMP", OutputLamp, "Lamp Output", "" ) +DefNode( ShaderNode, SH_NODE_OUTPUT_TEXTURE, 0, "OUTPUT_TEXTURE", OutputTexture, "Texture Output", "" ) DefNode( ShaderNode, SH_NODE_OUTPUT_WORLD, 0, "OUTPUT_WORLD", OutputWorld, "World Output", "" ) DefNode( ShaderNode, SH_NODE_FRESNEL, 0, "FRESNEL", Fresnel, "Fresnel", "" ) DefNode( ShaderNode, SH_NODE_MIX_CLOSURE, 0, "MIX_CLOSURE", MixClosure, "Mix Closure", "" ) diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt index a6326a36b8e..266c5d07551 100644 --- a/source/blender/nodes/CMakeLists.txt +++ b/source/blender/nodes/CMakeLists.txt @@ -133,6 +133,7 @@ set(SRC intern/SHD_nodes/SHD_add_closure.c intern/SHD_nodes/SHD_output_lamp.c intern/SHD_nodes/SHD_output_material.c + intern/SHD_nodes/SHD_output_texture.c intern/SHD_nodes/SHD_output_world.c intern/SHD_nodes/SHD_tex_blend.c intern/SHD_nodes/SHD_tex_clouds.c diff --git a/source/blender/nodes/SHD_node.h b/source/blender/nodes/SHD_node.h index 0df709cf810..7bee0dfb0bb 100644 --- a/source/blender/nodes/SHD_node.h +++ b/source/blender/nodes/SHD_node.h @@ -72,6 +72,7 @@ void register_node_type_sh_add_closure(ListBase *lb); void register_node_type_sh_output_lamp(ListBase *lb); void register_node_type_sh_output_material(ListBase *lb); +void register_node_type_sh_output_texture(ListBase *lb); void register_node_type_sh_output_world(ListBase *lb); void register_node_type_sh_tex_image(ListBase *lb); diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_add_closure.c b/source/blender/nodes/intern/SHD_nodes/SHD_add_closure.c index 2b715b9f267..8c4a7d83915 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_add_closure.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_add_closure.c @@ -42,11 +42,11 @@ static bNodeSocketType sh_node_add_closure_out[]= { { -1, 0, "" } }; -static void node_shader_exec_add_closure(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_add_closure(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } -static int node_shader_gpu_add_closure(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_add_closure(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_add_closure", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_attribute.c b/source/blender/nodes/intern/SHD_nodes/SHD_attribute.c index ef9fb63e8bc..d6d975638ab 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_attribute.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_attribute.c @@ -36,7 +36,7 @@ static bNodeSocketType sh_node_attribute_out[]= { { -1, 0, "" } }; -static void node_shader_exec_attribute(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_attribute(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_background.c b/source/blender/nodes/intern/SHD_nodes/SHD_background.c index b15ba89ba17..195f804416f 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_background.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_background.c @@ -42,7 +42,7 @@ static bNodeSocketType sh_node_background_out[]= { { -1, 0, "" } }; -static void node_shader_exec_background(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_background(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c index 5a671c6a7d0..508bf827440 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c @@ -43,11 +43,11 @@ static bNodeSocketType sh_node_bsdf_anisotropic_out[]= { { -1, 0, "" } }; -static void node_shader_exec_bsdf_anisotropic(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_bsdf_anisotropic(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } -static int node_shader_gpu_bsdf_anisotropic(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_bsdf_anisotropic(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_bsdf_anisotropic", in, out, GPU_builtin(GPU_VIEW_NORMAL), GPU_builtin(GPU_VIEW_POSITION)); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c index ca37e8fe9a5..2525174606a 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c @@ -41,11 +41,11 @@ static bNodeSocketType sh_node_bsdf_diffuse_out[]= { { -1, 0, "" } }; -static void node_shader_exec_bsdf_diffuse(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_bsdf_diffuse(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } -static int node_shader_gpu_bsdf_diffuse(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_bsdf_diffuse(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_bsdf_diffuse", in, out, GPU_builtin(GPU_VIEW_NORMAL)); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c index c3773bf0e91..262bf3ff115 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c @@ -43,11 +43,11 @@ static bNodeSocketType sh_node_bsdf_glass_out[]= { { -1, 0, "" } }; -static void node_shader_exec_bsdf_glass(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_bsdf_glass(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } -static int node_shader_gpu_bsdf_glass(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_bsdf_glass(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_bsdf_glass", in, out, GPU_builtin(GPU_VIEW_NORMAL), GPU_builtin(GPU_VIEW_POSITION)); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c index b3c5ab52c47..16dea77d492 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c @@ -43,11 +43,11 @@ static bNodeSocketType sh_node_bsdf_glossy_out[]= { { -1, 0, "" } }; -static void node_shader_exec_bsdf_glossy(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_bsdf_glossy(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } -static int node_shader_gpu_bsdf_glossy(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_bsdf_glossy(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { /* todo: is incoming vector normalized? */ return GPU_stack_link(mat, "node_bsdf_glossy", in, out, GPU_builtin(GPU_VIEW_NORMAL), GPU_builtin(GPU_VIEW_POSITION)); diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c index 79a20520dad..ceec2891aaf 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c @@ -41,11 +41,11 @@ static bNodeSocketType sh_node_bsdf_translucent_out[]= { { -1, 0, "" } }; -static void node_shader_exec_bsdf_translucent(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_bsdf_translucent(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } -static int node_shader_gpu_bsdf_translucent(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_bsdf_translucent(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_bsdf_translucent", in, out, GPU_builtin(GPU_VIEW_NORMAL)); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c index 1f7609f9eca..4f4537b339d 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c @@ -41,11 +41,11 @@ static bNodeSocketType sh_node_bsdf_transparent_out[]= { { -1, 0, "" } }; -static void node_shader_exec_bsdf_transparent(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_bsdf_transparent(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } -static int node_shader_gpu_bsdf_transparent(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_bsdf_transparent(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_bsdf_transparent", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c index 62146357c5d..5b700eb1e4e 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c @@ -43,11 +43,11 @@ static bNodeSocketType sh_node_bsdf_velvet_out[]= { { -1, 0, "" } }; -static void node_shader_exec_bsdf_velvet(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_bsdf_velvet(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } -static int node_shader_gpu_bsdf_velvet(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_bsdf_velvet(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_bsdf_velvet", in, out, GPU_builtin(GPU_VIEW_NORMAL)); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_emission.c b/source/blender/nodes/intern/SHD_nodes/SHD_emission.c index d02fd3c0de9..7a88db3380d 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_emission.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_emission.c @@ -42,11 +42,11 @@ static bNodeSocketType sh_node_emission_out[]= { { -1, 0, "" } }; -static void node_shader_exec_emission(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_emission(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } -static int node_shader_gpu_emission(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_emission(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_emission", in, out, GPU_builtin(GPU_VIEW_NORMAL)); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_fresnel.c b/source/blender/nodes/intern/SHD_nodes/SHD_fresnel.c index 96002331bf1..824876065ef 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_fresnel.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_fresnel.c @@ -44,7 +44,7 @@ static void node_shader_exec_fresnel(void *UNUSED(data), bNode *node, bNodeStack { } -static int node_shader_gpu_fresnel(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_fresnel(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { /* todo: is incoming vector normalized? */ return GPU_stack_link(mat, "node_fresnel", in, out, GPU_builtin(GPU_VIEW_NORMAL), GPU_builtin(GPU_VIEW_POSITION)); diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_geometry.c b/source/blender/nodes/intern/SHD_nodes/SHD_geometry.c index 62f0bfdb79b..6acc799cec2 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_geometry.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_geometry.c @@ -42,11 +42,11 @@ static bNodeSocketType sh_node_geometry_out[]= { { -1, 0, "" } }; -static void node_shader_exec_geometry(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_geometry(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } -static int node_shader_gpu_geometry(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_geometry(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_geometry", in, out, GPU_builtin(GPU_VIEW_POSITION), GPU_builtin(GPU_VIEW_NORMAL), diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_light_path.c b/source/blender/nodes/intern/SHD_nodes/SHD_light_path.c index b7e268f8479..3bf32f42370 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_light_path.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_light_path.c @@ -41,11 +41,11 @@ static bNodeSocketType sh_node_light_path_out[]= { { -1, 0, "" } }; -static void node_shader_exec_light_path(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_light_path(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } -static int node_shader_gpu_light_path(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_light_path(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_light_path", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_mix_closure.c b/source/blender/nodes/intern/SHD_nodes/SHD_mix_closure.c index 06bd1f39030..55838365756 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_mix_closure.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_mix_closure.c @@ -43,11 +43,11 @@ static bNodeSocketType sh_node_mix_closure_out[]= { { -1, 0, "" } }; -static void node_shader_exec_mix_closure(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_mix_closure(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } -static int node_shader_gpu_mix_closure(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_mix_closure(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_mix_closure", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_noise.h b/source/blender/nodes/intern/SHD_nodes/SHD_noise.h new file mode 100644 index 00000000000..21188ee8f91 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_noise.h @@ -0,0 +1,472 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef SHD_NOISE_H +#define SHD_NOISE_H + +MINLINE int quick_floor(float x) +{ + return (int)x - ((x < 0) ? 1 : 0); +} + +MINLINE float bits_to_01(unsigned int bits) +{ + return bits * (1.0f/(float)0xFFFFFFFF); +} + +MINLINE unsigned int hash(unsigned int kx, unsigned int ky, unsigned int kz) +{ + // define some handy macros +#define rot(x,k) (((x)<<(k)) | ((x)>>(32-(k)))) +#define final(a,b,c) \ +{ \ + c ^= b; c -= rot(b,14); \ + a ^= c; a -= rot(c,11); \ + b ^= a; b -= rot(a,25); \ + c ^= b; c -= rot(b,16); \ + a ^= c; a -= rot(c,4); \ + b ^= a; b -= rot(a,14); \ + c ^= b; c -= rot(b,24); \ +} + // now hash the data! + unsigned int a, b, c, len = 3; + a = b = c = 0xdeadbeef + (len << 2) + 13; + + c += kz; + b += ky; + a += kx; + final(a, b, c); + + return c; + // macros not needed anymore +#undef rot +#undef final +} + +MINLINE int imod(int a, int b) +{ + a %= b; + return a < 0 ? a + b : a; +} + +MINLINE unsigned int phash(int kx, int ky, int kz, int p[3]) +{ + return hash(imod(kx, p[0]), imod(ky, p[1]), imod(kz, p[2])); +} + +MINLINE float floorfrac(float x, int* i) +{ + *i = quick_floor(x); + return x - *i; +} + +MINLINE float fade(float t) +{ + return t * t * t * (t * (t * 6.0f - 15.0f) + 10.0f); +} + +MINLINE float nerp(float t, float a, float b) +{ + return (1.0f - t) * a + t * b; +} + +MINLINE float grad(int hash, float x, float y, float z) +{ + // use vectors pointing to the edges of the cube + int h = hash & 15; + float u = h<8 ? x : y; + float v = h<4 ? y : h==12||h==14 ? x : z; + return ((h&1) ? -u : u) + ((h&2) ? -v : v); +} + +MINLINE float scale3(float result) +{ + return 0.9820f * result; +} + +MINLINE float perlin(float x, float y, float z) +{ + int X; float fx = floorfrac(x, &X); + int Y; float fy = floorfrac(y, &Y); + int Z; float fz = floorfrac(z, &Z); + + float u = fade(fx); + float v = fade(fy); + float w = fade(fz); + + float result; + + result = nerp (w, nerp (v, nerp (u, grad (hash (X , Y , Z ), fx , fy , fz ), + grad (hash (X+1, Y , Z ), fx-1.0f, fy , fz )), + nerp (u, grad (hash (X , Y+1, Z ), fx , fy-1.0f, fz ), + grad (hash (X+1, Y+1, Z ), fx-1.0f, fy-1.0f, fz ))), + nerp (v, nerp (u, grad (hash (X , Y , Z+1), fx , fy , fz-1.0f ), + grad (hash (X+1, Y , Z+1), fx-1.0f, fy , fz-1.0f )), + nerp (u, grad (hash (X , Y+1, Z+1), fx , fy-1.0f, fz-1.0f ), + grad (hash (X+1, Y+1, Z+1), fx-1.0f, fy-1.0f, fz-1.0f )))); + return scale3(result); +} + +MINLINE float perlin_periodic(float x, float y, float z, float pperiod[3]) +{ + int X; float fx = floorfrac(x, &X); + int Y; float fy = floorfrac(y, &Y); + int Z; float fz = floorfrac(z, &Z); + + int p[3] = { + MAX2(quick_floor(pperiod[0]), 1), + MAX2(quick_floor(pperiod[1]), 1), + MAX2(quick_floor(pperiod[2]), 1)}; + + float u = fade(fx); + float v = fade(fy); + float w = fade(fz); + + float result; + + result = nerp (w, nerp (v, nerp (u, grad (phash (X , Y , Z , p), fx , fy , fz ), + grad (phash (X+1, Y , Z , p), fx-1.0f, fy , fz )), + nerp (u, grad (phash (X , Y+1, Z , p), fx , fy-1.0f, fz ), + grad (phash (X+1, Y+1, Z , p), fx-1.0f, fy-1.0f, fz ))), + nerp (v, nerp (u, grad (phash (X , Y , Z+1, p), fx , fy , fz-1.0f ), + grad (phash (X+1, Y , Z+1, p), fx-1.0f, fy , fz-1.0f )), + nerp (u, grad (phash (X , Y+1, Z+1, p), fx , fy-1.0f, fz-1.0f ), + grad (phash (X+1, Y+1, Z+1, p), fx-1.0f, fy-1.0f, fz-1.0f )))); + return scale3(result); +} + +/* perlin noise in range 0..1 */ +MINLINE float noise(float p[3]) +{ + float r = perlin(p[0], p[1], p[2]); + return 0.5f*r + 0.5f; +} + +/* perlin noise in range -1..1 */ +MINLINE float snoise(float p[3]) +{ + return perlin(p[0], p[1], p[2]); +} + +/* cell noise */ +MINLINE float cellnoise(float p[3]) +{ + unsigned int ix = quick_floor(p[0]); + unsigned int iy = quick_floor(p[1]); + unsigned int iz = quick_floor(p[2]); + + return bits_to_01(hash(ix, iy, iz)); +} + +MINLINE void cellnoise_color(float rgb[3], float p[3]) +{ + float pg[3] = {p[1], p[0], p[2]}; + float pb[3] = {p[1], p[2], p[0]}; + + float r = cellnoise(p); + float g = cellnoise(pg); + float b = cellnoise(pb); + + rgb[0]= r; + rgb[1]= g; + rgb[2]= b; +} + +/* periodic perlin noise in range 0..1 */ +MINLINE float pnoise(float p[3], float pperiod[3]) +{ + float r = perlin_periodic(p[0], p[1], p[2], pperiod); + return 0.5f*r + 0.5f; +} + +/* periodic perlin noise in range -1..1 */ +MINLINE float psnoise(float p[3], float pperiod[3]) +{ + return perlin_periodic(p[0], p[1], p[2], pperiod); +} + +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +/* turbulence */ +MINLINE float turbulence(float p[3], int oct, int hard) +{ + float amp = 1.0f, fscale = 1.0f, sum = 0.0f; + int i; + + for(i=0; i<=oct; i++, amp *= 0.5f, fscale *= 2.0f) { + float pscale[3] = {fscale*p[0], fscale*p[1], fscale*p[2]}; + float t = noise(pscale); + if(hard) t = fabsf(2.0f*t - 1.0f); + sum += t * amp; + } + + sum *= ((float)(1< 1.0f)? 1.0f: t; +} + +MINLINE float voronoi_F1S(float p[3]) { return 2.0f*voronoi_F1(p) - 1.0f; } +MINLINE float voronoi_F2S(float p[3]) { return 2.0f*voronoi_F2(p) - 1.0f; } +MINLINE float voronoi_F3S(float p[3]) { return 2.0f*voronoi_F3(p) - 1.0f; } +MINLINE float voronoi_F4S(float p[3]) { return 2.0f*voronoi_F4(p) - 1.0f; } +MINLINE float voronoi_F1F2S(float p[3]) { return 2.0f*voronoi_F1F2(p) - 1.0f; } +MINLINE float voronoi_CrS(float p[3]) { return 2.0f*voronoi_Cr(p) - 1.0f; } + +/* Noise Bases */ + +MINLINE float noise_basis(float p[3], int basis) +{ + if(basis == SHD_NOISE_PERLIN) + return noise(p); + if(basis == SHD_NOISE_VORONOI_F1) + return voronoi_F1S(p); + if(basis == SHD_NOISE_VORONOI_F2) + return voronoi_F2S(p); + if(basis == SHD_NOISE_VORONOI_F3) + return voronoi_F3S(p); + if(basis == SHD_NOISE_VORONOI_F4) + return voronoi_F4S(p); + if(basis == SHD_NOISE_VORONOI_F2_F1) + return voronoi_F1F2S(p); + if(basis == SHD_NOISE_VORONOI_CRACKLE) + return voronoi_CrS(p); + if(basis == SHD_NOISE_CELL_NOISE) + return cellnoise(p); + + return 0.0f; +} + +/* Soft/Hard Noise */ + +MINLINE float noise_basis_hard(float p[3], int basis, int hard) +{ + float t = noise_basis(p, basis); + return (hard)? fabsf(2.0f*t - 1.0f): t; +} + +/* Waves */ + +MINLINE float noise_wave(int wave, float a) +{ + if(wave == SHD_WAVE_SINE) { + return 0.5f + 0.5f*sin(a); + } + else if(wave == SHD_WAVE_SAW) { + float b = 2*M_PI; + int n = (int)(a / b); + a -= n*b; + if(a < 0) a += b; + + return a / b; + } + else if(wave == SHD_WAVE_TRI) { + float b = 2*M_PI; + float rmax = 1.0f; + + return rmax - 2.0f*fabsf(floorf((a*(1.0f/b))+0.5f) - (a*(1.0f/b))); + } + + return 0.0f; +} + +/* Turbulence */ + +MINLINE float noise_turbulence(float p[3], int basis, int octaves, int hard) +{ + float fscale = 1.0f; + float amp = 1.0f; + float sum = 0.0f; + int i; + + for(i = 0; i <= octaves; i++) { + float pscale[3] = {fscale*p[0], fscale*p[1], fscale*p[2]}; + float t = noise_basis(pscale, basis); + + if(hard) + t = fabsf(2.0f*t - 1.0f); + + sum += t*amp; + amp *= 0.5f; + fscale *= 2.0f; + } + + sum *= ((float)(1 << octaves)/(float)((1 << (octaves+1)) - 1)); + + return sum; +} + +#endif /* SHD_NOISE_H */ + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_output_lamp.c b/source/blender/nodes/intern/SHD_nodes/SHD_output_lamp.c index 71ed8d67a98..6665c727f48 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_output_lamp.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_output_lamp.c @@ -36,7 +36,7 @@ static bNodeSocketType sh_node_output_lamp_in[]= { { -1, 0, "" } }; -static void node_shader_exec_output_lamp(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_output_lamp(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_output_material.c b/source/blender/nodes/intern/SHD_nodes/SHD_output_material.c index 7df0f5e3578..06ab6b67dac 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_output_material.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_output_material.c @@ -38,7 +38,7 @@ static bNodeSocketType sh_node_output_material_in[]= { { -1, 0, "" } }; -static void node_shader_exec_output_material(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_output_material(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_output_texture.c b/source/blender/nodes/intern/SHD_nodes/SHD_output_texture.c new file mode 100644 index 00000000000..bd4da005a48 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_output_texture.c @@ -0,0 +1,72 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_output_texture_in[]= { + { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_output_texture(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ + if(data && (node->flag & NODE_DO_OUTPUT)) { + ShaderCallData *scd= (ShaderCallData*)data; + TexResult *texres = scd->texres; + float col[4]; + + nodestack_get_vec(col, SOCK_RGBA, in[0]); + + texres->tr= col[0]; + texres->tg= col[1]; + texres->tb= col[2]; + texres->ta= 1.0f; + + texres->tin= rgb_to_grayscale(col); + } +} + +/* node type definition */ +void register_node_type_sh_output_texture(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_OUTPUT_TEXTURE, "Texture Output", NODE_CLASS_OUTPUT, 0, + sh_node_output_texture_in, NULL); + node_type_size(&ntype, 120, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_output_texture); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_output_world.c b/source/blender/nodes/intern/SHD_nodes/SHD_output_world.c index 20f7faeea7a..d140fb2408c 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_output_world.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_output_world.c @@ -37,7 +37,7 @@ static bNodeSocketType sh_node_output_world_in[]= { { -1, 0, "" } }; -static void node_shader_exec_output_world(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_output_world(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c index ddba878f0ae..87c08ddaf9c 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c @@ -29,7 +29,51 @@ #include "../SHD_util.h" -/* **************** OUTPUT ******************** */ +static float blend(float p[3], int type, int axis) +{ + float x, y; + + if(axis == SHD_BLEND_VERTICAL) { + x= p[1]; + y= p[0]; + } + else { + x= p[0]; + y= p[1]; + } + + if(type == SHD_BLEND_LINEAR) { + return (1.0f + x)/2.0f; + } + else if(type == SHD_BLEND_QUADRATIC) { + float r = fmaxf((1.0f + x)/2.0f, 0.0f); + return r*r; + } + else if(type == SHD_BLEND_EASING) { + float r = fminf(fmaxf((1.0f + x)/2.0f, 0.0f), 1.0f); + float t = r*r; + + return (3.0f*t - 2.0f*t*r); + } + else if(type == SHD_BLEND_DIAGONAL) { + return (2.0f + x + y)/4.0f; + } + else if(type == SHD_BLEND_RADIAL) { + return atan2(y, x)/(2.0f*(float)M_PI) + 0.5f; + } + else { + float r = fmaxf(1.0f - sqrtf(x*x + y*y + p[2]*p[2]), 0.0f); + + if(type == SHD_BLEND_QUADRATIC_SPHERE) + return r*r; + else if(type == SHD_BLEND_SPHERICAL) + return r; + } + + return 0.0f; +} + +/* **************** BLEND ******************** */ static bNodeSocketType sh_node_tex_blend_in[]= { { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, @@ -50,11 +94,22 @@ static void node_shader_init_tex_blend(bNode *node) node->storage = tex; } -static void node_shader_exec_tex_blend(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_tex_blend(void *data, bNode *node, bNodeStack **in, bNodeStack **out) { + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexBlend *tex= (NodeTexBlend*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3]; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + out[0]->vec[0]= blend(vec, tex->progression, tex->axis); } -static int node_shader_gpu_tex_blend(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_blend(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_tex_blend", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c index e66e91b4284..f056a03c724 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c @@ -28,8 +28,30 @@ */ #include "../SHD_util.h" +#include "SHD_noise.h" -/* **************** OUTPUT ******************** */ +static float clouds(int basis, int hard, int depth, float size, float vec[3], float color[3]) +{ + float p[3], pg[3], pb[3]; + + mul_v3_v3fl(p, vec, 1.0f/size); + + pg[0]= p[1]; + pg[1]= p[0]; + pg[2]= p[2]; + + pb[0]= p[1]; + pb[1]= p[2]; + pb[2]= p[0]; + + color[0]= noise_turbulence(p, basis, depth, hard); + color[1]= noise_turbulence(pg, basis, depth, hard); + color[2]= noise_turbulence(pb, basis, depth, hard); + + return color[0]; +} + +/* **************** CLOUDS ******************** */ static bNodeSocketType sh_node_tex_clouds_in[]= { { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, @@ -53,11 +75,24 @@ static void node_shader_init_tex_clouds(bNode *node) node->storage = tex; } -static void node_shader_exec_tex_clouds(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_tex_clouds(void *data, bNode *node, bNodeStack **in, bNodeStack **out) { + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexClouds *tex= (NodeTexClouds*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3], size; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + nodestack_get_vec(&size, SOCK_VALUE, in[1]); + + out[1]->vec[0]= clouds(tex->basis, tex->hard, tex->depth, size, vec, out[0]->vec); } -static int node_shader_gpu_tex_clouds(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_clouds(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_tex_clouds", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_coord.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_coord.c index d94164f47ac..8b6bd8f03f1 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_coord.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_coord.c @@ -43,11 +43,11 @@ static bNodeSocketType sh_node_tex_coord_out[]= { { -1, 0, "" } }; -static void node_shader_exec_tex_coord(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_tex_coord(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } -static int node_shader_gpu_tex_coord(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_coord(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { GPUNodeLink *orco = GPU_attribute(CD_ORCO, ""); GPUNodeLink *mtface = GPU_attribute(CD_MTFACE, ""); diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c index f27cc00e46d..d465499c942 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c @@ -28,6 +28,25 @@ */ #include "../SHD_util.h" +#include "SHD_noise.h" + +static float distorted_noise(float vec[3], float size, int basis, int distortion_basis, float distortion) +{ + float p[3], r[3], p_offset[3], p_noffset[3]; + float offset[3] = {13.5f, 13.5f, 13.5f}; + + mul_v3_v3fl(p, vec, 1.0f/size); + add_v3_v3v3(p_offset, p, offset); + sub_v3_v3v3(p_noffset, p, offset); + + r[0] = noise_basis(p_offset, basis) * distortion; + r[1] = noise_basis(p, basis) * distortion; + r[2] = noise_basis(p_noffset, basis) * distortion; + + add_v3_v3(p, r); + + return noise_basis(p, distortion_basis); /* distorted-domain noise */ +} /* **************** OUTPUT ******************** */ @@ -52,11 +71,25 @@ static void node_shader_init_tex_distorted_noise(bNode *node) node->storage = tex; } -static void node_shader_exec_tex_distnoise(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_tex_distnoise(void *data, bNode *node, bNodeStack **in, bNodeStack **out) { + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexDistortedNoise *tex= (NodeTexDistortedNoise*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3], size, distortion; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + nodestack_get_vec(&size, SOCK_VALUE, in[1]); + nodestack_get_vec(&distortion, SOCK_VALUE, in[2]); + + out[0]->vec[0]= distorted_noise(vec, size, tex->basis, tex->distortion_basis, distortion); } -static int node_shader_gpu_tex_distnoise(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_distnoise(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_tex_distnoise", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c index 95b77499e3f..2a8ccf51d66 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c @@ -49,8 +49,35 @@ static void node_shader_init_tex_environment(bNode *node) node->storage = tex; } -static void node_shader_exec_tex_environment(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_tex_environment(void *data, bNode *node, bNodeStack **in, bNodeStack **out) { + Image *ima= (Image*)node->id; + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexEnvironment *tex= (NodeTexEnvironment*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3]; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + if(ima) { + ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL); + + if(ibuf) { + float u= (atan2f(vec[1], vec[0]) + (float)M_PI)/(2*M_PI); + float v= atan2f(vec[2], hypotf(vec[0], vec[1]))/M_PI + 0.5f; + float rgb[3]; + + ibuf_sample(ibuf, u, v, 0.0f, 0.0f, rgb); + + if(tex->color_space == SHD_COLORSPACE_SRGB) + srgb_to_linearrgb_v3_v3(out[0]->vec, rgb); + else + copy_v3_v3(out[0]->vec, rgb); + } + } } static int node_shader_gpu_tex_environment(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) @@ -58,10 +85,10 @@ static int node_shader_gpu_tex_environment(GPUMaterial *mat, bNode *node, GPUNod Image *ima= (Image*)node->id; ImageUser *iuser= NULL; - if(!ima) - return 0; + if(ima) + return GPU_stack_link(mat, "node_tex_environment", in, out, GPU_image(ima, iuser)); - return GPU_stack_link(mat, "node_tex_environment", in, out, GPU_image(ima, iuser)); + return 0; } /* node type definition */ diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c index 35f06bd385a..3d74054e5d3 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c @@ -49,8 +49,33 @@ static void node_shader_init_tex_image(bNode *node) node->storage = tex; } -static void node_shader_exec_tex_image(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_tex_image(void *data, bNode *node, bNodeStack **in, bNodeStack **out) { + Image *ima= (Image*)node->id; + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexImage *tex= (NodeTexImage*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3]; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + if(ima) { + ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL); + + if(ibuf) { + float rgb[3]; + + ibuf_sample(ibuf, vec[0], vec[1], 0.0f, 0.0f, rgb); + + if(tex->color_space == SHD_COLORSPACE_SRGB) + srgb_to_linearrgb_v3_v3(out[0]->vec, rgb); + else + copy_v3_v3(out[0]->vec, rgb); + } + } } static int node_shader_gpu_tex_image(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c index 736af733daa..691a73ef91d 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c @@ -29,6 +29,79 @@ #include "../SHD_util.h" +static void magic(float rgb[3], float p[3], int n, float turbulence) +{ + float turb = turbulence/5.0f; + + float x = sinf((p[0] + p[1] + p[2])*5.0f); + float y = cosf((-p[0] + p[1] - p[2])*5.0f); + float z = -cosf((-p[0] - p[1] + p[2])*5.0f); + + if(n > 0) { + x *= turb; + y *= turb; + z *= turb; + y = -cosf(x-y+z); + y *= turb; + + if(n > 1) { + x= cosf(x-y-z); + x *= turb; + + if(n > 2) { + z= sinf(-x-y-z); + z *= turb; + + if(n > 3) { + x= -cosf(-x+y-z); + x *= turb; + + if(n > 4) { + y= -sinf(-x+y+z); + y *= turb; + + if(n > 5) { + y= -cosf(-x+y+z); + y *= turb; + + if(n > 6) { + x= cosf(x+y+z); + x *= turb; + + if(n > 7) { + z= sinf(x+y-z); + z *= turb; + + if(n > 8) { + x= -cosf(-x-y+z); + x *= turb; + + if(n > 9) { + y= -sinf(x-y+z); + y *= turb; + } + } + } + } + } + } + } + } + } + } + + if(turb != 0.0f) { + turb *= 2.0f; + x /= turb; + y /= turb; + z /= turb; + } + + rgb[0]= 0.5f - x; + rgb[1]= 0.5f - y; + rgb[2]= 0.5f - z; +} + /* **************** OUTPUT ******************** */ static bNodeSocketType sh_node_tex_magic_in[]= { @@ -50,8 +123,21 @@ static void node_shader_init_tex_magic(bNode *node) node->storage = tex; } -static void node_shader_exec_tex_magic(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_tex_magic(void *data, bNode *node, bNodeStack **in, bNodeStack **out) { + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexMagic *tex= (NodeTexMagic*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3], turbulence; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + nodestack_get_vec(&turbulence, SOCK_VALUE, in[1]); + + magic(out[0]->vec, vec, tex->depth, turbulence); } static int node_shader_gpu_tex_magic(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c index d4ae6eca015..79dbdaf85e6 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c @@ -28,8 +28,32 @@ */ #include "../SHD_util.h" +#include "SHD_noise.h" -/* **************** OUTPUT ******************** */ +static float marble(float vec[3], float size, int type, int wave, int basis, int hard, float turb, int depth) +{ + float p[3]; + float x = vec[0]; + float y = vec[1]; + float z = vec[2]; + float n = 5.0f * (x + y + z); + float mi; + + mul_v3_v3fl(p, vec, 1.0f/size); + + mi = n + turb * noise_turbulence(p, basis, depth, hard); + + mi = noise_wave(wave, mi); + + if(type == SHD_MARBLE_SHARP) + mi = sqrt(mi); + else if(type == SHD_MARBLE_SHARPER) + mi = sqrt(sqrt(mi)); + + return mi; +} + +/* **************** MARBLE ******************** */ static bNodeSocketType sh_node_tex_marble_in[]= { { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, @@ -55,11 +79,25 @@ static void node_shader_init_tex_marble(bNode *node) node->storage = tex; } -static void node_shader_exec_tex_marble(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_tex_marble(void *data, bNode *node, bNodeStack **in, bNodeStack **out) { + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexMarble *tex= (NodeTexMarble*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3], size, turbulence; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + nodestack_get_vec(&size, SOCK_VALUE, in[1]); + nodestack_get_vec(&turbulence, SOCK_VALUE, in[2]); + + out[0]->vec[0]= marble(vec, size, tex->type, tex->wave, tex->basis, tex->hard, turbulence, tex->depth); } -static int node_shader_gpu_tex_marble(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_marble(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_tex_marble", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c index 1a4d8913bc5..0400ac26c91 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c @@ -28,8 +28,192 @@ */ #include "../SHD_util.h" +#include "SHD_noise.h" -/* **************** OUTPUT ******************** */ +/* Musgrave fBm + * + * H: fractal increment parameter + * lacunarity: gap between successive frequencies + * octaves: number of frequencies in the fBm + * + * from "Texturing and Modelling: A procedural approach" + */ + +static float noise_musgrave_fBm(float p[3], int basis, float H, float lacunarity, float octaves) +{ + float rmd; + float value = 0.0f; + float pwr = 1.0f; + float pwHL = pow(lacunarity, -H); + int i; + + for(i = 0; i < (int)octaves; i++) { + value += noise_basis(p, basis) * pwr; + pwr *= pwHL; + mul_v3_fl(p, lacunarity); + } + + rmd = octaves - floor(octaves); + if(rmd != 0.0f) + value += rmd * noise_basis(p, basis) * pwr; + + return value; +} + +/* Musgrave Multifractal + * + * H: highest fractal dimension + * lacunarity: gap between successive frequencies + * octaves: number of frequencies in the fBm + */ + +static float noise_musgrave_multi_fractal(float p[3], int basis, float H, float lacunarity, float octaves) +{ + float rmd; + float value = 1.0f; + float pwr = 1.0f; + float pwHL = pow(lacunarity, -H); + int i; + + for(i = 0; i < (int)octaves; i++) { + value *= (pwr * noise_basis(p, basis) + 1.0f); + pwr *= pwHL; + mul_v3_fl(p, lacunarity); + } + + rmd = octaves - floor(octaves); + if(rmd != 0.0f) + value *= (rmd * pwr * noise_basis(p, basis) + 1.0f); /* correct? */ + + return value; +} + +/* Musgrave Heterogeneous Terrain + * + * H: fractal dimension of the roughest area + * lacunarity: gap between successive frequencies + * octaves: number of frequencies in the fBm + * offset: raises the terrain from `sea level' + */ + +static float noise_musgrave_hetero_terrain(float p[3], int basis, float H, float lacunarity, float octaves, float offset) +{ + float value, increment, rmd; + float pwHL = pow(lacunarity, -H); + float pwr = pwHL; + int i; + + /* first unscaled octave of function; later octaves are scaled */ + value = offset + noise_basis(p, basis); + mul_v3_fl(p, lacunarity); + + for(i = 1; i < (int)octaves; i++) { + increment = (noise_basis(p, basis) + offset) * pwr * value; + value += increment; + pwr *= pwHL; + mul_v3_fl(p, lacunarity); + } + + rmd = octaves - floor(octaves); + if(rmd != 0.0f) { + increment = (noise_basis(p, basis) + offset) * pwr * value; + value += rmd * increment; + } + + return value; +} + +/* Hybrid Additive/Multiplicative Multifractal Terrain + * + * H: fractal dimension of the roughest area + * lacunarity: gap between successive frequencies + * octaves: number of frequencies in the fBm + * offset: raises the terrain from `sea level' + */ + +static float noise_musgrave_hybrid_multi_fractal(float p[3], int basis, float H, float lacunarity, float octaves, float offset, float gain) +{ + float result, signal, weight, rmd; + float pwHL = pow(lacunarity, -H); + float pwr = pwHL; + int i; + + result = noise_basis(p, basis) + offset; + weight = gain * result; + mul_v3_fl(p, lacunarity); + + for(i = 1; (weight > 0.001f) && (i < (int)octaves); i++) { + if(weight > 1.0f) + weight = 1.0f; + + signal = (noise_basis(p, basis) + offset) * pwr; + pwr *= pwHL; + result += weight * signal; + weight *= gain * signal; + mul_v3_fl(p, lacunarity); + } + + rmd = octaves - floor(octaves); + if(rmd != 0.0f) + result += rmd * ((noise_basis(p, basis) + offset) * pwr); + + return result; +} + +/* Ridged Multifractal Terrain + * + * H: fractal dimension of the roughest area + * lacunarity: gap between successive frequencies + * octaves: number of frequencies in the fBm + * offset: raises the terrain from `sea level' + */ + +static float noise_musgrave_ridged_multi_fractal(float p[3], int basis, float H, float lacunarity, float octaves, float offset, float gain) +{ + float result, signal, weight; + float pwHL = pow(lacunarity, -H); + float pwr = pwHL; + int i; + + signal = offset - fabsf(noise_basis(p, basis)); + signal *= signal; + result = signal; + weight = 1.0f; + + for(i = 1; i < (int)octaves; i++) { + mul_v3_fl(p, lacunarity); + weight = CLAMPIS(signal * gain, 0.0f, 1.0f); + signal = offset - fabsf(noise_basis(p, basis)); + signal *= signal; + signal *= weight; + result += signal * pwr; + pwr *= pwHL; + } + + return result; +} + +static float musgrave(int type, int basis, float dimension, float lacunarity, float octaves, float offset, float intensity, float gain, float size, float vec[3]) +{ + float p[3]; + + mul_v3_v3fl(p, vec, 1.0f/size); + + if(type == SHD_MUSGRAVE_MULTIFRACTAL) + return intensity*noise_musgrave_multi_fractal(p, basis, dimension, lacunarity, octaves); + else if(type == SHD_MUSGRAVE_FBM) + return intensity*noise_musgrave_fBm(p, basis, dimension, lacunarity, octaves); + else if(type == SHD_MUSGRAVE_HYBRID_MULTIFRACTAL) + return intensity*noise_musgrave_hybrid_multi_fractal(p, basis, dimension, lacunarity, octaves, offset, gain); + else if(type == SHD_MUSGRAVE_RIDGED_MULTIFRACTAL) + return intensity*noise_musgrave_ridged_multi_fractal(p, basis, dimension, lacunarity, octaves, offset, gain); + else if(type == SHD_MUSGRAVE_HETERO_TERRAIN) + return intensity*noise_musgrave_hetero_terrain(p, basis, dimension, lacunarity, octaves, offset); + + return 0.0f; +} + +/* **************** MUSGRAVE ******************** */ static bNodeSocketType sh_node_tex_musgrave_in[]= { { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, @@ -56,11 +240,29 @@ static void node_shader_init_tex_musgrave(bNode *node) node->storage = tex; } -static void node_shader_exec_tex_musgrave(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_tex_musgrave(void *data, bNode *node, bNodeStack **in, bNodeStack **out) { + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexMusgrave *tex= (NodeTexMusgrave*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3], size, dimension, lacunarity, octaves, offset, gain; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + nodestack_get_vec(&size, SOCK_VALUE, in[1]); + nodestack_get_vec(&dimension, SOCK_VALUE, in[2]); + nodestack_get_vec(&lacunarity, SOCK_VALUE, in[3]); + nodestack_get_vec(&octaves, SOCK_VALUE, in[4]); + nodestack_get_vec(&offset, SOCK_VALUE, in[5]); + nodestack_get_vec(&gain, SOCK_VALUE, in[6]); + + out[0]->vec[0]= musgrave(tex->type, tex->basis, dimension, lacunarity, octaves, offset, 1.0f, gain, size, vec); } -static int node_shader_gpu_tex_musgrave(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_musgrave(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_tex_musgrave", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c index ae91bb5624a..d77eb2993e2 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c @@ -28,8 +28,25 @@ */ #include "../SHD_util.h" +#include "SHD_noise.h" -/* **************** OUTPUT ******************** */ +static float noise_texture_value(float vec[3]) +{ + float p[3]; + + mul_v3_v3fl(p, vec, 1e8f); + return cellnoise(p); +} + +static void noise_texture_color(float rgb[3], float vec[3]) +{ + float p[3]; + + mul_v3_v3fl(p, vec, 1e8f); + cellnoise_color(rgb, p); +} + +/* **************** NOISE ******************** */ static bNodeSocketType sh_node_tex_noise_in[]= { { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, @@ -42,11 +59,22 @@ static bNodeSocketType sh_node_tex_noise_out[]= { { -1, 0, "" } }; -static void node_shader_exec_tex_noise(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_tex_noise(void *data, bNode *node, bNodeStack **in, bNodeStack **out) { + ShaderCallData *scd= (ShaderCallData*)data; + bNodeSocket *vecsock = node->inputs.first; + float vec[3]; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + noise_texture_color(out[0]->vec, vec); + out[1]->vec[0]= noise_texture_value(vec); } -static int node_shader_gpu_tex_noise(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_noise(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_tex_noise", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c index fa31ec9fead..e8413debb0e 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c @@ -52,11 +52,11 @@ static void node_shader_init_tex_sky(bNode *node) node->storage = tex; } -static void node_shader_exec_tex_sky(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_tex_sky(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } -static int node_shader_gpu_tex_sky(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_sky(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_tex_sky", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c index fc4dff91954..2de01a8856f 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c @@ -28,8 +28,29 @@ */ #include "../SHD_util.h" +#include "SHD_noise.h" -/* **************** OUTPUT ******************** */ +static float stucci(int type, int basis, int hard, float turbulence, float size, float vec[3]) +{ + float p[3], b2, ofs, r; + + mul_v3_v3fl(p, vec, 1.0f/size); + b2 = noise_basis_hard(p, basis, hard); + ofs = turbulence/200.0f; + + if(type != SHD_STUCCI_PLASTIC) + ofs *= b2*b2; + + p[2] += ofs; + r = noise_basis_hard(p, basis, hard); + + if(type == SHD_STUCCI_WALL_OUT) + r = 1.0f - r; + + return MAX2(r, 0.0f); +} + +/* **************** STUCCI ******************** */ static bNodeSocketType sh_node_tex_stucci_in[]= { { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, @@ -53,11 +74,25 @@ static void node_shader_init_tex_stucci(bNode *node) node->storage = tex; } -static void node_shader_exec_tex_stucci(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_tex_stucci(void *data, bNode *node, bNodeStack **in, bNodeStack **out) { + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexStucci *tex= (NodeTexStucci*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3], size, turbulence; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + nodestack_get_vec(&size, SOCK_VALUE, in[1]); + nodestack_get_vec(&turbulence, SOCK_VALUE, in[2]); + + out[0]->vec[0]= stucci(tex->type, tex->basis, tex->hard, turbulence, size, vec); } -static int node_shader_gpu_tex_stucci(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_stucci(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_tex_stucci", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c index 87711ab2885..0bee1631e49 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c @@ -28,8 +28,66 @@ */ #include "../SHD_util.h" +#include "SHD_noise.h" -/* **************** OUTPUT ******************** */ +static float voronoi_tex(int distance_metric, int coloring, + float weight1, float weight2, float weight3, float weight4, + float exponent, float intensity, float size, float vec[3], float color[3]) +{ + float aw1 = fabsf(weight1); + float aw2 = fabsf(weight2); + float aw3 = fabsf(weight3); + float aw4 = fabsf(weight4); + float sc = (aw1 + aw2 + aw3 + aw4); + float da[4]; + float pa[4][3]; + float fac; + float p[3]; + + if(sc != 0.0f) + sc = intensity/sc; + + /* compute distance and point coordinate of 4 nearest neighbours */ + mul_v3_v3fl(p, vec, 1.0f/size); + voronoi_generic(p, distance_metric, exponent, da, pa); + + /* Scalar output */ + fac = sc * fabsf(weight1*da[0] + weight2*da[1] + weight3*da[2] + weight4*da[3]); + + /* colored output */ + if(coloring == SHD_VORONOI_INTENSITY) { + color[0]= color[1]= color[2]= fac; + } + else { + float rgb1[3], rgb2[3], rgb3[3], rgb4[3]; + + cellnoise_color(rgb1, pa[0]); + cellnoise_color(rgb2, pa[1]); + cellnoise_color(rgb3, pa[2]); + cellnoise_color(rgb4, pa[3]); + + mul_v3_v3fl(color, rgb1, aw1); + madd_v3_v3fl(color, rgb2, aw2); + madd_v3_v3fl(color, rgb3, aw3); + madd_v3_v3fl(color, rgb4, aw4); + + if(coloring != SHD_VORONOI_POSITION) { + float t1 = MIN2((da[1] - da[0])*10.0f, 1.0f); + + if(coloring == SHD_VORONOI_POSITION_OUTLINE_INTENSITY) + mul_v3_fl(color, t1*fac); + else if(coloring == SHD_VORONOI_POSITION_OUTLINE) + mul_v3_fl(color, t1*sc); + } + else { + mul_v3_fl(color, sc); + } + } + + return fac; +} + +/* **************** VORONOI ******************** */ static bNodeSocketType sh_node_tex_voronoi_in[]= { { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, @@ -57,11 +115,30 @@ static void node_shader_init_tex_voronoi(bNode *node) node->storage = tex; } -static void node_shader_exec_tex_voronoi(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_tex_voronoi(void *data, bNode *node, bNodeStack **in, bNodeStack **out) { + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexVoronoi *tex= (NodeTexVoronoi*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3], size, w1, w2, w3, w4, exponent; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + nodestack_get_vec(&size, SOCK_VALUE, in[1]); + nodestack_get_vec(&w1, SOCK_VALUE, in[2]); + nodestack_get_vec(&w2, SOCK_VALUE, in[3]); + nodestack_get_vec(&w3, SOCK_VALUE, in[4]); + nodestack_get_vec(&w4, SOCK_VALUE, in[5]); + nodestack_get_vec(&exponent, SOCK_VALUE, in[6]); + + out[1]->vec[0]= voronoi_tex(tex->distance_metric, tex->coloring, w1, w2, w3, w4, + exponent, 1.0f, size, vec, out[0]->vec); } -static int node_shader_gpu_tex_voronoi(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_voronoi(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_tex_voronoi", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c index e9d46b96f62..54a47b7ffcd 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c @@ -28,8 +28,35 @@ */ #include "../SHD_util.h" +#include "SHD_noise.h" -/* **************** OUTPUT ******************** */ +static float wood(float p[3], float size, int type, int wave, int basis, unsigned int hard, float turb) +{ + float x = p[0]; + float y = p[1]; + float z = p[2]; + + if(type == SHD_WOOD_BANDS) { + return noise_wave(wave, (x + y + z)*10.0f); + } + else if(type == SHD_WOOD_RINGS) { + return noise_wave(wave, sqrt(x*x + y*y + z*z)*20.0f); + } + else if (type == SHD_WOOD_BAND_NOISE) { + float psize[3] = {p[0]/size, p[1]/size, p[2]/size}; + float wi = turb*noise_basis_hard(psize, basis, hard); + return noise_wave(wave, (x + y + z)*10.0f + wi); + } + else if (type == SHD_WOOD_RING_NOISE) { + float psize[3] = {p[0]/size, p[1]/size, p[2]/size}; + float wi = turb*noise_basis_hard(psize, basis, hard); + return noise_wave(wave, sqrt(x*x + y*y + z*z)*20.0f + wi); + } + + return 0.0f; +} + +/* **************** WOOD ******************** */ static bNodeSocketType sh_node_tex_wood_in[]= { { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, @@ -54,11 +81,25 @@ static void node_shader_init_tex_wood(bNode *node) node->storage = tex; } -static void node_shader_exec_tex_wood(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +static void node_shader_exec_tex_wood(void *data, bNode *node, bNodeStack **in, bNodeStack **out) { + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexWood *tex= (NodeTexWood*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3], size, turbulence; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + nodestack_get_vec(&size, SOCK_VALUE, in[1]); + nodestack_get_vec(&turbulence, SOCK_VALUE, in[2]); + + out[0]->vec[0]= wood(vec, size, tex->type, tex->wave, tex->basis, tex->hard, turbulence); } -static int node_shader_gpu_tex_wood(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_wood(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { return GPU_stack_link(mat, "node_tex_wood", in, out); } diff --git a/source/blender/nodes/intern/SHD_util.c b/source/blender/nodes/intern/SHD_util.c index cf7c64c9d5e..462a37809b0 100644 --- a/source/blender/nodes/intern/SHD_util.c +++ b/source/blender/nodes/intern/SHD_util.c @@ -85,6 +85,7 @@ void ntreeShaderExecTree(bNodeTree *ntree, ShadeInput *shi, ShadeResult *shr) ShaderCallData scd; /* convert caller data to struct */ + memset(&scd, 0, sizeof(scd)); scd.shi= shi; scd.shr= shr; diff --git a/source/blender/nodes/intern/SHD_util.h b/source/blender/nodes/intern/SHD_util.h index e6b1377067d..bf6f2bd20eb 100644 --- a/source/blender/nodes/intern/SHD_util.h +++ b/source/blender/nodes/intern/SHD_util.h @@ -74,6 +74,7 @@ #include "IMB_imbuf.h" #include "RE_pipeline.h" +#include "RE_render_ext.h" #include "RE_shader_ext.h" #include "GPU_material.h" @@ -83,6 +84,10 @@ typedef struct ShaderCallData { ShadeInput *shi; /* from render pipe */ ShadeResult *shr; /* from render pipe */ + + TexResult *texres; + float *co; + float *dxt, *dyt; } ShaderCallData; /* output socket defines */ diff --git a/source/blender/nodes/intern/TEX_util.c b/source/blender/nodes/intern/TEX_util.c index b5e27ca2ccb..7cee7522de7 100644 --- a/source/blender/nodes/intern/TEX_util.c +++ b/source/blender/nodes/intern/TEX_util.c @@ -49,6 +49,7 @@ #include #include "TEX_util.h" +#include "SHD_util.h" #define PREV_RES 128 /* default preview resolution */ @@ -185,30 +186,44 @@ int ntreeTexExecTree( ShadeInput *shi, MTex *mtex ){ - TexCallData data; - float *nor= texres->nor; - int retval = TEX_INT; + if(nodes->type == NTREE_SHADER) { + ShaderCallData scd; - data.co = co; - data.dxt = dxt; - data.dyt = dyt; - data.osatex = osatex; - data.target = texres; - data.do_preview = preview; - data.thread = thread; - data.which_output = which_output; - data.cfra= cfra; - data.mtex= mtex; - data.shi= shi; - - ntreeExecTree(nodes, &data, thread); + memset(&scd, 0, sizeof(scd)); + scd.texres = texres; + scd.co = co; + scd.dxt = dxt; + scd.dyt = dyt; - if(texres->nor) retval |= TEX_NOR; - retval |= TEX_RGB; - /* confusing stuff; the texture output node sets this to NULL to indicate no normal socket was set - however, the texture code checks this for other reasons (namely, a normal is required for material) */ - texres->nor= nor; + ntreeExecTree(nodes, &scd, thread); + return TEX_INT|TEX_RGB; + } + else { + TexCallData data; + float *nor= texres->nor; + int retval = TEX_INT; - return retval; + data.co = co; + data.dxt = dxt; + data.dyt = dyt; + data.osatex = osatex; + data.target = texres; + data.do_preview = preview; + data.thread = thread; + data.which_output = which_output; + data.cfra= cfra; + data.mtex= mtex; + data.shi= shi; + + ntreeExecTree(nodes, &data, thread); + + if(texres->nor) retval |= TEX_NOR; + retval |= TEX_RGB; + /* confusing stuff; the texture output node sets this to NULL to indicate no normal socket was set + however, the texture code checks this for other reasons (namely, a normal is required for material) */ + texres->nor= nor; + + return retval; + } } diff --git a/source/blender/render/intern/source/render_texture.c b/source/blender/render/intern/source/render_texture.c index 5f5dab94ba3..724d38b7d6e 100644 --- a/source/blender/render/intern/source/render_texture.c +++ b/source/blender/render/intern/source/render_texture.c @@ -1362,9 +1362,9 @@ int multitex_ext_safe(Tex *tex, float *texvec, TexResult *texres) { int use_nodes= tex->use_nodes, retval; - tex->use_nodes= 0; + // XXX tex->use_nodes= 0; retval= multitex_nodes(tex, texvec, NULL, NULL, 0, texres, 0, 0, NULL, NULL); - tex->use_nodes= use_nodes; + // XXX tex->use_nodes= use_nodes; return retval; } From c50ceae4e8f52210ea8f46b6d8cb4edbd6058da6 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 16 Jun 2011 13:24:44 +0000 Subject: [PATCH 059/241] Cycles: fix for windows compile error. --- source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c index 87c08ddaf9c..e31b59b88f4 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c @@ -46,11 +46,11 @@ static float blend(float p[3], int type, int axis) return (1.0f + x)/2.0f; } else if(type == SHD_BLEND_QUADRATIC) { - float r = fmaxf((1.0f + x)/2.0f, 0.0f); + float r = MAX2((1.0f + x)/2.0f, 0.0f); return r*r; } else if(type == SHD_BLEND_EASING) { - float r = fminf(fmaxf((1.0f + x)/2.0f, 0.0f), 1.0f); + float r = MIN2(MAX2((1.0f + x)/2.0f, 0.0f), 1.0f); float t = r*r; return (3.0f*t - 2.0f*t*r); @@ -62,7 +62,7 @@ static float blend(float p[3], int type, int axis) return atan2(y, x)/(2.0f*(float)M_PI) + 0.5f; } else { - float r = fmaxf(1.0f - sqrtf(x*x + y*y + p[2]*p[2]), 0.0f); + float r = MAX2(1.0f - sqrtf(x*x + y*y + p[2]*p[2]), 0.0f); if(type == SHD_BLEND_QUADRATIC_SPHERE) return r*r; From 7adc3b6029ab495696ab0763e438326343355438 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 17 Jun 2011 11:33:57 +0000 Subject: [PATCH 060/241] Cycles: compile error fix for ICC. --- intern/cycles/util/util_progress.h | 1 + 1 file changed, 1 insertion(+) diff --git a/intern/cycles/util/util_progress.h b/intern/cycles/util/util_progress.h index 86ab34aa7f9..c9e0a6ab713 100644 --- a/intern/cycles/util/util_progress.h +++ b/intern/cycles/util/util_progress.h @@ -25,6 +25,7 @@ * update notifications from a job running in another thread. All methods * except for the constructor/destructor are thread safe. */ +#include "util_function.h" #include "util_string.h" #include "util_thread.h" From 9d90f09d7afd3b43e0fa4553f1b984f69368ca6c Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 17 Jun 2011 13:01:29 +0000 Subject: [PATCH 061/241] Cycles: fix crash when adding textures in material nodes, WIP code here with new and old nodes mix was crashing. --- source/blender/nodes/intern/SHD_nodes/SHD_output_texture.c | 3 +++ source/blender/nodes/intern/SHD_util.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_output_texture.c b/source/blender/nodes/intern/SHD_nodes/SHD_output_texture.c index bd4da005a48..e5f04ec934d 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_output_texture.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_output_texture.c @@ -42,6 +42,9 @@ static void node_shader_exec_output_texture(void *data, bNode *node, bNodeStack ShaderCallData *scd= (ShaderCallData*)data; TexResult *texres = scd->texres; float col[4]; + + if(!texres) + return; nodestack_get_vec(col, SOCK_RGBA, in[0]); diff --git a/source/blender/nodes/intern/SHD_util.c b/source/blender/nodes/intern/SHD_util.c index 462a37809b0..31313950730 100644 --- a/source/blender/nodes/intern/SHD_util.c +++ b/source/blender/nodes/intern/SHD_util.c @@ -83,11 +83,13 @@ void nodestack_get_vec(float *in, short type_in, bNodeStack *ns) void ntreeShaderExecTree(bNodeTree *ntree, ShadeInput *shi, ShadeResult *shr) { ShaderCallData scd; + float co[3] = {0.0f, 0.0f, 0.0f}; /* convert caller data to struct */ memset(&scd, 0, sizeof(scd)); scd.shi= shi; scd.shr= shr; + scd.co= co; /* each material node has own local shaderesult, with optional copying */ memset(shr, 0, sizeof(ShadeResult)); From 0a4a36271f13bbbc5c6db2060206731033b84bf0 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 23 Jun 2011 10:33:15 +0000 Subject: [PATCH 062/241] Cycles: fix merge problem with startup.blend --- .../blender/editors/datafiles/startup.blend.c | 1336 ++--------------- 1 file changed, 110 insertions(+), 1226 deletions(-) diff --git a/source/blender/editors/datafiles/startup.blend.c b/source/blender/editors/datafiles/startup.blend.c index dd3bad8593e..1e45bc1a925 100644 --- a/source/blender/editors/datafiles/startup.blend.c +++ b/source/blender/editors/datafiles/startup.blend.c @@ -190,9 +190,7 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255, 57, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,111,255, 57, 1, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,168,138,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 72,140,158, 23, 1, 0, 0, 0, 8,137,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, @@ -204,8 +202,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 57, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254, 57, 1,203, 0, 0, 0, 0, 0, - 0, 0, 6, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72,140,158, 23, 1, 0, 0, 0, 193, 0, 0, 0, 1, 0, 0, 0,232,141,158, 23, 1, 0, 0, 0,168,138,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -217,7 +213,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255, 57, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 58,254, 57, 1, 58, 0, 20, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,232,141,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,136,143,158, 23, 1, 0, 0, 0, @@ -356,13 +351,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 6, 0, 0, 26, 0, 0, 0,131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 6,106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 88, 1, 0, 0, 24,103, 68, 2, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,184,104, 68, 2, 0, 0, 0, 0,104, 62, 68, 2, - 0, 0, 0, 0,168, 76,190, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101, -114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101, -114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 136,161,158, 23, 1, 0, 0, 0,170, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -387,7 +375,6 @@ char datatoc_startup_blend[]= { 74, 3, 0, 0, 99, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 1, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,218,253, 57, 1, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248,164,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136,163,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0,128,131, 67, 0, 0,228,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,156, 67, @@ -397,23 +384,14 @@ char datatoc_startup_blend[]= { 109, 1, 57, 1, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0, 221, 1, 0, 0, 73, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 1,109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 88, 1, 0, 0,104,117, 1, 2, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 8,119, 1, 2, 0, 0, 0, 0,184,104, 68, 2, - 0, 0, 0, 0, 88, 83,190, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, - 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, - 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,104,166,158, 23, 1, 0, 0, 0,163, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 40,253, 57, 1,130, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,134,166, 19, 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, @@ -441,8 +419,6 @@ char datatoc_startup_blend[]= { 161, 2, 0, 0, 43, 6, 0, 0,133, 0, 0, 0,158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,253, 57, 1, 0, 0, 0, 0, 0, 0, - 4, 0, 7, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,171,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 168,172,158, 23, 1, 0, 0, 0,200,169,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, 0, 0, 0, 0, @@ -453,9 +429,6 @@ char datatoc_startup_blend[]= { 161, 2, 0, 0,161, 2, 0, 0,159, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,167, 3, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,120,133, 29, 2, 0, 0, 0, 0,162, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,172,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24,174,158, 23, 1, 0, 0, 0, 56,171,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 67, 0, 0,206,194, 0, 0, 0, 0, @@ -476,29 +449,10 @@ char datatoc_startup_blend[]= { 43, 6, 0, 0, 43, 6, 0, 0,159, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, - 0, 0, 0, 0, 72,128, 81, 3, 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, -160, 0, 0, 0,184,134, 29, 2, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,168,139, 29, 2, 0, 0, 0, 0,168,129, 29, 2, - 0, 0, 0, 0, 72,105, 29, 2, 0, 0, 0, 0,168,109, 29, 2, 0, 0, 0, 0, 24,110, 29, 2, 0, 0, 0, 0,232,107, 29, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 6, 0, 0, 0, 0, 0, 0,123, 0, 0, 0, 15, 15, 52, 6, -124, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,212, 2, 2, 0, 0, 0, 0,136,138, 29, 2, 0, 0, 0, 0,136,138, 29, 2, - 0, 0, 0, 0,168,135, 29, 2, 0, 0, 0, 0, 24,137, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,120,222,176, 3, 0, 0, 0, 0, 72,166,179, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,135, 29, 2, - 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 24,137, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 32,140, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128,198, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,175,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,174,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,137, 29, 2, - 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,135, 29, 2, 0, 0, 0, 0, 0, 0, 64,192, - 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66,112,189, 17,192,246, 70,125, 67, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, - 51, 6, 0, 0, 18, 0, 0, 0, 97, 0, 0, 0, 0, 0,128, 63, 0, 0, 72, 66, 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, - 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, 8, 0, 52, 6, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 6, 0, 0, 26, 0, 0, 0,123, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 6, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,213, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -560,15 +514,6 @@ char datatoc_startup_blend[]= { 133, 0, 0, 0,158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 1, 0, 0, 8,142, 29, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,140, 29, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,156, 67, 0,128,157,195, - 0, 0, 0, 0, 57, 1, 0, 0, 74, 1, 0, 0, 18, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0, 56, 1, 0, 0, 0, 0, 0, 0, - 17, 0, 0, 0, 0, 0, 0, 0, 56, 1, 0, 0, 18, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 18, 6, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0, 74, 1, 77, 1, 57, 1, - 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 6, 0, 0,126, 7, 0, 0,185, 1, 0, 0, - 5, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 1, 77, 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,200,210, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,184,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,185,158, 23, 1, 0, 0, 0, 24,183,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 0, 0,112,193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, @@ -584,32 +529,10 @@ char datatoc_startup_blend[]= { 136,184,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 69, 62, 3, - 0, 0, 0, 0,136, 69, 62, 3, 0, 0, 0, 0,216,144, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,216,144, 29, 2, 0, 0, 0, 0,220, 0, 0, 0, - 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0, 56,145, 29, 2, 0, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0, 56,145, 29, 2, - 0, 0, 0, 0,219, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,152,219, 31, 2, 0, 0, 0, 0, 19, 0, 0, 0, - 1, 0, 1, 0,152,219, 31, 2, 0, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0,152,219, 31, 2, 0, 0, 0, 0, 21, 0, 1, 0, - 1, 0, 0, 0,152,219, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 8,240, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0,248,248, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,232, 78, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0, 56, 6, 32, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 24,172, 32, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0,232,255, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,136,235, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0,168,242, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,184,234, 31, 2, 0, 0, 0, 0, 21, 0, 0, 0, - 1, 0, 1, 0,152,219, 31, 2, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,104,146, 29, 2, 0, 0, 0, 0,197, 0, 0, 0, - 1, 0, 0, 0,184,159, 29, 2, 0, 0, 0, 0,168,139, 29, 2, 0, 0, 0, 0,136,110, 29, 2, 0, 0, 0, 0,248,110, 29, 2, - 0, 0, 0, 0, 88,108, 29, 2, 0, 0, 0, 0, 24,110, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,165, 2, 0, 0, - 51, 6, 0, 0,125, 0, 0, 0,233, 3, 0, 0, 1, 1,143, 3,109, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,215, 2, 2, - 0, 0, 0, 0, 56,158, 29, 2, 0, 0, 0, 0, 56,158, 29, 2, 0, 0, 0, 0, 88,147, 29, 2, 0, 0, 0, 0, 24,153, 29, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,120, 76, 3, 0, 0, 0, 0,104,176,176, 3, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,147, 29, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,200,148, 29, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, - 0,192, 99, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 99, 68, - 0, 0,200, 65, 0,128, 99, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, - 10, 0,143, 3, 26, 0,143, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,165, 2, 0, 0, - 51, 6, 0, 0,125, 0, 0, 0,150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143, 3, 26, 0, - 0, 0, 1, 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, 8,226, 2, 2, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 2, 0, 0,159, 2, 0, 0, +159, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, + 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104,187,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -621,30 +544,12 @@ char datatoc_startup_blend[]= { 159, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 1,237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,150, 29, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,168,151, 29, 2, - 0, 0, 0, 0,200,148, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 67, 0, 0,206,194, 0, 0, 0, 0, 0, 0, 0, 0, -231,102, 16, 67, 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, -142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, - 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,165, 2, 0, 0, - 51, 6, 0, 0,151, 0, 0, 0,151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, - 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,223, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,216,188,158, 23, 1, 0, 0, 0,158, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,151, 29, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 24,153, 29, 2, - 0, 0, 0, 0, 56,150, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0,128, 96,196, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 35, 67, 0,128, 96,196, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0,147, 3, 0, 0, 0, 0, 0, 0, -162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 0,147, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, - 6, 0,180, 0,148, 3,163, 0,130, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 6, 0, 0, - 51, 6, 0, 0,151, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, - 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,217, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,153, 29, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,168,151, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,190,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, @@ -689,35 +594,9 @@ char datatoc_startup_blend[]= { 68, 65, 84, 65, 0, 1, 0, 0,168,195,158, 23, 1, 0, 0, 0, 17, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8, 0, 0, 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,250, 67, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, - 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184,159, 29, 2, 0, 0, 0, 0,197, 0, 0, 0, - 1, 0, 0, 0, 88,168, 29, 2, 0, 0, 0, 0,104,146, 29, 2, 0, 0, 0, 0,168,109, 29, 2, 0, 0, 0, 0,104,111, 29, 2, - 0, 0, 0, 0,216,111, 29, 2, 0, 0, 0, 0,136,110, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -163, 2, 0, 0,125, 0, 0, 0,107, 1, 0, 0, 2, 2,164, 2,239, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,226, 2, 2, - 0, 0, 0, 0,104,166, 29, 2, 0, 0, 0, 0,104,166, 29, 2, 0, 0, 0, 0,168,160, 29, 2, 0, 0, 0, 0,248,164, 29, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,165,176, 3, 0, 0, 0, 0, 8,223, 78, 3, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,160, 29, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 24,162, 29, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,119, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, - 0, 0, 41, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,163, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 40, 68, - 0, 0,200, 65, 0,192, 40, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, - 10, 0,164, 2, 26, 0,164, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -163, 2, 0, 0,125, 0, 0, 0,150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164, 2, 26, 0, - 0, 0, 1, 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, 8,229, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,162, 29, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,136,163, 29, 2, - 0, 0, 0, 0,168,160, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 0, 0,112,193, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 72, 67, 0, 0, 67,195, 0, 0, 0, 0,200, 0, 0, 0,217, 0, 0, 0, 18, 0, 0, 0,212, 0, 0, 0, 0, 0, 0, 0, -199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 0,212, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 10, 6, 0, 0, 2, 0, 3, 3, 0, 0, 0, 4, - 6, 0,217, 0,213, 0,200, 0,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -216, 0, 0, 0,151, 0, 0, 0,107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0,213, 0, - 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,229, 2, 2, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,106,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, @@ -740,18 +619,10 @@ char datatoc_startup_blend[]= { 195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,197,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248,164, 29, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,136,163, 29, 2, 0, 0, 0, 0, 0, 0, 16,193, 0, 0,130, 67, 0, 0,160,192, 0, 0,160, 64, 0, 0, 0, 0, - 0, 0,122, 67, 0, 0, 16,193, 0, 0, 32, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,212, 0, 0, 0, 18, 0, 0, 0, -202, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,202, 1, 0, 0, 18, 0, 0, 0,212, 0, 0, 0,111, 18,131, 58, -111, 18,131, 58, 0,124,146, 72, 0, 80, 67, 71, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, - 0, 0,203, 1,213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0, 0, 0, -163, 2, 0, 0,151, 0, 0, 0,107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,203, 1,213, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,228, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,104,166, 29, 2, 0, 0, 0, 0,161, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0,101, 3, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 74, 1,225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,200,158, 23, 1, 0, 0, 0, 68, 65, 84, 65,104, 3, 0, 0,168,200,158, 23, 1, 0, 0, 0, @@ -771,37 +642,15 @@ char datatoc_startup_blend[]= { 180,164, 28, 63,149, 84, 28, 63,179,153,196,188, 42,119, 58, 64, 8,108,228,190, 50,247,227,190, 82, 21, 64,191,204,230,156,191, 216, 49, 49, 65,152, 9, 52, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,241, 22, 72, 63, 78,162,246,190, 44, 8, 90,190, 3, 35,171,190, 0, 0, 32, 65, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,202, 4, 51, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,168,167, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,104, 0, 0, 0,168,167, 29, 2, 0, 0, 0, 0, 19, 1, 0, 0, - 1, 0, 0, 0,152,219, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88,168, 29, 2, 0, 0, 0, 0,197, 0, 0, 0, - 1, 0, 0, 0, 40,175, 29, 2, 0, 0, 0, 0,184,159, 29, 2, 0, 0, 0, 0,104,111, 29, 2, 0, 0, 0, 0, 8,107, 29, 2, - 0, 0, 0, 0,248,110, 29, 2, 0, 0, 0, 0,216,111, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -163, 2, 0, 0,109, 1, 0, 0,233, 3, 0, 0, 12, 12,164, 2,125, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 22, 3, 2, - 0, 0, 0, 0,152,173, 29, 2, 0, 0, 0, 0,152,173, 29, 2, 0, 0, 0, 0, 72,169, 29, 2, 0, 0, 0, 0, 40,172, 29, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 86, 78, 3, 0, 0, 0, 0, 24,153, 74, 3, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,169, 29, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,184,170, 29, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,124, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, - 0, 0, 41, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,163, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 40, 68, - 0, 0,200, 65, 0,192, 40, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, - 10, 0,164, 2, 26, 0,164, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -163, 2, 0, 0,109, 1, 0, 0,134, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164, 2, 26, 0, - 0, 0, 1, 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, 72, 24, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,170, 29, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 40,172, 29, 2, - 0, 0, 0, 0, 72,169, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 67, 0, 0, 0,194, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 72, 67, 0, 64, 20,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 0, 98, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 8, 4, 0, 0, 2, 0, 3, 3, 0, 0, 2, 4, - 6, 0,200, 0, 99, 2,200, 0, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -199, 0, 0, 0,135, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 0, 99, 2, - 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 25, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 1, 0, 0, 88,204,158, 23, 1, 0, 0, 0, @@ -942,38 +791,13 @@ char datatoc_startup_blend[]= { 26, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,177, 29, 2, - 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,176, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,229,158, 23, 1, 0, 0, 0,170, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 6, 0, 0,126, 7, 0, 0, 33, 3, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 1,201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,216, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,178, 29, 2, 0, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0,248,178, 29, 2, - 0, 0, 0, 0,156, 0, 0, 0, 1, 0, 0, 0, 57,255, 13, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 29, 33,105, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 65,128,191, 0, 0,128,191, 0, 0, 0, 0, - 0, 0, 0, 0, 72, 1, 77,190, 0, 0, 0, 0,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63, -225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0, 90, 38,173,190, -254,221,192,190,152, 9, 52,193, 0, 0,128, 63,223,149, 47, 63, 55, 70, 58, 63,192, 56, 49,188, 0, 0, 0, 0, 87,126,162,190, -228,251,159, 62, 56, 53,101, 63, 0, 0, 0, 0, 7,165, 39, 63,150, 84, 28,191, 50,247,227, 62, 0, 0, 0, 0,110,101,239, 64, -151, 62,208,192, 77,255,170, 64, 0, 0,128, 63, 48,201,194, 63, 0,250,147,191,244,250, 39,191, 8,165, 39,191,191,164,206, 63, -241,176,145, 63,180,164, 28, 63,149, 84, 28, 63,224,153,196,188, 20,187, 80, 64, 8,108,228,190, 50,247,227,190,127, 21, 64,191, -255,162,175,191,216, 49, 49, 65,152, 9, 52, 65,194, 70,158, 62,240,233,167, 62, 32,206,159,187, 0, 0,168,180, 34,111,178,189, -170,173,175, 61,170,177,123, 62, 0, 0, 8, 51,211,120, 21,194,144, 5, 2, 66, 9,136,213,193,193,214,159,192,219, 38, 19, 66, -196,173,255,193,157,101,210, 65,173, 40,160, 64,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63, -225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0, 90, 38,173,190, -254,221,192,190,152, 9, 52,193, 0, 0,128, 63, 48,201,194, 63, 0,250,147,191,244,250, 39,191, 8,165, 39,191,191,164,206, 63, -241,176,145, 63,180,164, 28, 63,149, 84, 28, 63,224,153,196,188, 20,187, 80, 64, 8,108,228,190, 50,247,227,190,127, 21, 64,191, -255,162,175,191,216, 49, 49, 65,152, 9, 52, 65,126,137, 19, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -126,137, 19, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126,137, 19, 64, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,241, 22, 72, 63, 78,162,246,190, 44, 8, 90,190, 3, 35,171,190, 0, 0, 32, 65, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,162, 4, 51, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0,255,255, - 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 8,231,158, 23, 1, 0, 0, 0, 194, 0, 0, 0, 1, 0, 0, 0,136,255,158, 23, 1, 0, 0, 0, 40,226,158, 23, 1, 0, 0, 0,200,209,158, 23, 1, 0, 0, 0, @@ -1011,11 +835,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255, 76, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, 0, 0, 0,128, 63,190,133, 65, 66, -100,212, 90, 66, 31,183,118, 66, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,168,182, 29, 2, 0, 0, 0, 0,157, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,168,242, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 104,236,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 8,238,158, 23, 1, 0, 0, 0,200,234,158, 23, 1, 0, 0, 0, @@ -1028,15 +847,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 76, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248,203, 29, 2, - 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,202, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0, -129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, -111, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 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, 5, 4, 0, 0, 5, 4, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 4, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 8,238,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 168,239,158, 23, 1, 0, 0, 0,104,236,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1060,11 +870,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254, 76, 1,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 93, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,174, 67, 0, 0,200, 65, 0,128,174, 67, 0, 0,200, 65, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 94, 1, 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0,208, 3, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 2, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72,241,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 232,242,158, 23, 1, 0, 0, 0,168,239,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1088,15 +893,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254, 76, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 8,205,182, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 88, 84, 75, 3, - 0, 0, 0, 0, 88, 88, 75, 3, 0, 0, 0, 0,168, 53,190, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, - 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, - 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100, -101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, - 76, 1, 61, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136,244,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 40,246,158, 23, 1, 0, 0, 0,232,242,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1108,8 +904,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164,253, 76, 1,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 40,246,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,200,247,158, 23, 1, 0, 0, 0,136,244,158, 23, 1, 0, 0, 0, @@ -3418,7 +3212,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115, 4, 0, 0, 26, 0, 0, 0,171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116, 4,146, 1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3482,8 +3275,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 0, 0, 0, 0, 0, 0, 0, 34, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 0, 35, 3, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218,253, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, - 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 248,108, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,104,110, 70, 27, 1, 0, 0, 0,136,107, 70, 27, 1, 0, 0, 0, @@ -3535,8 +3326,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,253, - 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 7, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,107,166, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3609,44 +3398,11 @@ char datatoc_startup_blend[]= { 168,119, 70, 27, 1, 0, 0, 0,200,116, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0,152,181, 78, 3, 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,104,215, 29, 2, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,184,228, 29, 2, - 0, 0, 0, 0, 88,210, 29, 2, 0, 0, 0, 0, 24,191, 29, 2, 0, 0, 0, 0,168,190, 29, 2, 0, 0, 0, 0, 56,190, 29, 2, - 0, 0, 0, 0,136,191, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0, -139, 1, 0, 0, 1, 1, 27, 3,140, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,215, 2, 2, 0, 0, 0, 0, 56,227, 29, 2, - 0, 0, 0, 0, 56,227, 29, 2, 0, 0, 0, 0, 88,216, 29, 2, 0, 0, 0, 0, 24,222, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,137, 82, 3, 0, 0, 0, 0,152, 19,181, 3, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 1, 0, 0, 88,216, 29, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,200,217, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 70, 68, 0, 0, 0, 0, - 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 26, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 70, 68, 0, 0,200, 65, 0,128, 70, 68, - 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 27, 3, 26, 0, 27, 3, - 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0, - 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 3, 26, 0, 0, 0, 1, 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, 8,226, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 1, 0, 0,200,217, 29, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 56,219, 29, 2, 0, 0, 0, 0, 88,216, 29, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,255,127, 70,196, - 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, - 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 44, 3,143, 0, - 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 0, 0, 5, 3, 0, 0, 26, 0, 0, 0, -139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,114, 1, 0, 0, 5, 0, 3, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,222, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 1, 0, 0,168,220, 29, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 24,222, 29, 2, 0, 0, 0, 0, 56,219, 29, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0,192,108,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0, 0,184,195, - 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0,129, 1, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, - 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 0,129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0,130, 1,163, 0, -112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0, -139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,217, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,119, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24,121, 70, 27, 1, 0, 0, 0, 56,118, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3657,26 +3413,6 @@ char datatoc_startup_blend[]= { 95, 4, 0, 0, 95, 4, 0, 0, 26, 0, 0, 0, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 7, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,223, 29, 2, 0, 0, 0, 0, 68, 65, 84, 65, - 96, 3, 0, 0,136,223, 29, 2, 0, 0, 0, 0,156, 0, 0, 0, 1, 0, 0, 0, 93,101,230, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 30,133,119, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 65,128,191, - 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 72, 1, 77,190, 0, 0, 0, 0,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, - 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, - 0, 0, 0, 0, 90, 38,173,190,254,221,192,190,152, 9, 52,193, 0, 0,128, 63,223,149, 47, 63, 55, 70, 58, 63,192, 56, 49,188, - 0, 0, 0, 0, 87,126,162,190,228,251,159, 62, 56, 53,101, 63, 0, 0, 0, 0, 7,165, 39, 63,150, 84, 28,191, 50,247,227, 62, - 0, 0, 0, 0,110,101,239, 64,151, 62,208,192, 77,255,170, 64, 0, 0,128, 63, 42, 6,158, 63, 99, 28,157,191,244,250, 39,191, - 8,165, 39,191,211,164,167, 63, 55,175,154, 63,180,164, 28, 63,149, 84, 28, 63, 39,127,159,188,135,157, 93, 64, 8,108,228,190, - 50,247,227,190, 4,213, 27,191,122,122,186,191,216, 49, 49, 65,152, 9, 52, 65, 25, 25,195, 62,176,249,206, 62,128,238,196,187, - 0, 0,192,179, 55, 15,168,189,201,118,165, 61,152, 15,109, 62, 0, 0,152, 51,211,120, 21,194,144, 5, 2, 66, 6,136,213,193, -193,214,159,192,219, 38, 19, 66,196,173,255,193,154,101,210, 65,173, 40,160, 64,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, - 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, - 0, 0, 0, 0, 90, 38,173,190,254,221,192,190,152, 9, 52,193, 0, 0,128, 63, 42, 6,158, 63, 99, 28,157,191,244,250, 39,191, - 8,165, 39,191,211,164,167, 63, 55,175,154, 63,180,164, 28, 63,149, 84, 28, 63, 39,127,159,188,135,157, 93, 64, 8,108,228,190, - 50,247,227,190, 4,213, 27,191,122,122,186,191,216, 49, 49, 65,152, 9, 52, 65, 62,250,150, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 62,250,150, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,250,150, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,241, 22, 72, 63, 78,162,246,190, 44, 8, 90,190, - 3, 35,171,190,214,211,111, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0, 80, 49,183, 58, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 20, 0,255,255, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,121, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,119, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0,128, 67, @@ -3696,95 +3432,24 @@ char datatoc_startup_blend[]= { 154,153,153, 62,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190, 1, 0, 0, 0, - 0, 0,128, 63,190,133, 65, 66,100,212, 90, 66, 31,183,118, 66, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 56,227, 29, 2, - 0, 0, 0, 0,157, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, - 1, 0, 7, 0,168,242, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, - 1, 0, 3, 0, 8, 8, 0, 0, 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184,228, 29, 2, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 8,234, 29, 2, - 0, 0, 0, 0,104,215, 29, 2, 0, 0, 0, 0,200,189, 29, 2, 0, 0, 0, 0,152,187, 29, 2, 0, 0, 0, 0, 88,189, 29, 2, - 0, 0, 0, 0, 56,190, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0,141, 1, 0, 0, -233, 3, 0, 0, 16, 16, 32, 6, 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,247, 2, 2, 0, 0, 0, 0,136,232, 29, 2, - 0, 0, 0, 0,136,232, 29, 2, 0, 0, 0, 0,168,229, 29, 2, 0, 0, 0, 0, 24,231, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,128,181, 3, 0, 0, 0, 0, 40,155,179, 3, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 1, 0, 0,168,229, 29, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 24,231, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 66, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,196, 68, 0, 0, 0, 0, - 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,195, 68, 0, 0,200, 65, 0,224,195, 68, - 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 32, 6, 26, 0, 32, 6, - 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0,141, 1, 0, 0, -166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 26, 0, 0, 0, 1, 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,200,249, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 1, 0, 0, 24,231, 29, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,229, 29, 2, - 0, 0, 0, 0, 0, 0, 32,193, 0, 0, 0, 68, 0, 0, 32,193, 0, 0, 0, 68,128,195,217,195,192,225,108, 68, 96,240,187, 64, - 62, 16,253, 67, 15, 6, 0, 0, 32, 6, 0, 0, 18, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 14, 6, 0, 0, 0, 0, 0, 0, - 17, 0, 0, 0, 0, 0, 0, 0, 14, 6, 0, 0, 18, 0, 0, 0, 66, 2, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,250, 70, - 0, 0,250, 70,236, 81,184, 61, 10,215, 19, 64, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 32, 6, 67, 2, 15, 6, - 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0,167, 1, 0, 0, -233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 67, 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,216,248, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 48, 1, 0, 0,136,232, 29, 2, 0, 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 19, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,219, 31, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,206, 97, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 8,234, 29, 2, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,184,228, 29, 2, 0, 0, 0, 0,216,185, 29, 2, 0, 0, 0, 0,200,189, 29, 2, 0, 0, 0, 0,168,190, 29, 2, - 0, 0, 0, 0, 24,191, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, -139, 1, 0, 0, 6, 6, 4, 3,140, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,238, 2, 2, 0, 0, 0, 0, 72,239, 29, 2, - 0, 0, 0, 0, 72,239, 29, 2, 0, 0, 0, 0,248,234, 29, 2, 0, 0, 0, 0,216,237, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,176,178, 3, 0, 0, 0, 0,216,134,182, 3, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 1, 0, 0,248,234, 29, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,104,236, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 65, 68, 0, 0, 0, 0, - 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 64, 68, 0, 0,200, 65, 0,192, 64, 68, - 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 4, 3, 26, 0, 4, 3, - 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, - 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 26, 0, 0, 0, 1, 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,200,246, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 1, 0, 0,104,236, 29, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,216,237, 29, 2, 0, 0, 0, 0,248,234, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, -139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 3, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,240, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 1, 0, 0,216,237, 29, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,236, 29, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 67, 0, 0,129,191, 0,128, 0, 64, 0, 0,100,190, - 0,128,156, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 0, 0,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 26, 0, 0, 0, -139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3,114, 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,216,239, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 33, 0, 0, 72,239, 29, 2, 0, 0, 0, 0,167, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,152,219, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,240, 65, 0, 0, 0, 0,154,153,153, 62, 0, 0, 0, 0,100, 0, 0, 0,154,153,153, 62,100, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3915,7 +3580,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4182,18 +3846,12 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,144, 70, 27, 1, 0, 0, 0, 195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,143, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255, 41, 1, 36, 0, 0, 0, 0, 0, - 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 8,126, 74, 3, 0, 0, 0, 0,196, 0, 0, 0, - 1, 0, 0, 0,184,157, 74, 3, 0, 0, 0, 0,152,108, 74, 3, 0, 0, 0, 0,168, 53,190, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 4, 0, 0, 7, 2, 0, 0, 60, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 4, 54, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,146, 70, 27, 1, 0, 0, 0, 68, 65, 84, 65,104, 3, 0, 0, 24,146, 70, 27, 1, 0, 0, 0, 153, 0, 0, 0, 1, 0, 0, 0,207, 1, 16, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 18, 2, 64, @@ -4217,23 +3875,10 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 88, 1, 0, 0,184,157, 74, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 24,162, 74, 3, 0, 0, 0, 0, 8,126, 74, 3, - 0, 0, 0, 0,152, 56,190, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97, -121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97, -121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255, 41, 1, 0, 0, 0, 0, 0, 0, - 4, 0, 6, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 24,162, 74, 3, 0, 0, 0, 0,196, 0, 0, 0, - 1, 0, 0, 0,120, 25, 75, 3, 0, 0, 0, 0,184,157, 74, 3, 0, 0, 0, 0,200, 59,190, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,128, 63, 246, 99, 26, 66,239, 62,118, 66, 24,120,132, 66, 0, 0, 0, 0, 68, 65, 84, 65, 72, 1, 0, 0,200,149, 70, 27, 1, 0, 0, 0, @@ -4261,7 +3906,6 @@ char datatoc_startup_blend[]= { 195, 0, 0, 0, 1, 0, 0, 0, 56,154, 70, 27, 1, 0, 0, 0, 88,151, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 60, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4277,7 +3921,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 95, 4, 0, 0, 95, 4, 0, 0, 26, 0, 0, 0, 60, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 7, 0, 4, 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, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,155, 70, 27, 1, 0, 0, 0, 195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,154, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, @@ -4297,78 +3940,34 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0,100, 0, 0, 0,154,153,153, 62,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,194,253, 41, 1, 0, 0, 20, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 88, 1, 0, 0,216,101, 75, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,184,155, 75, 3, 0, 0, 0, 0,184, 90, 75, 3, - 0, 0, 0, 0,200, 85,190, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117, -116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117, -116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 16,253, 41, 1, 0, 0, 0, 0, 0, 0, 4, 0, 7, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 88, 1, 0, 0,136, 50, 1, 2, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,216,216, 75, 3, 0, 0, 0, 0,184,155, 75, 3, - 0, 0, 0, 0, 56, 96,190, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,115, 99,101, -110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,115, 99,101, -110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 99,101,110,101, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 41, 1, 61, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216,216, 75, 3, 0, 0, 0, 0,196, 0, 0, 0, - 1, 0, 0, 0,200,158, 61, 3, 0, 0, 0, 0,136, 50, 1, 2, 0, 0, 0, 0,104, 99,190, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,117,110,105,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,117,110,105,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 85,110,105,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 28,255, 41, 1, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 88, 1, 0, 0,200,158, 61, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 72,146, 74, 3, 0, 0, 0, 0,216,216, 75, 3, - 0, 0, 0, 0,216,101,190, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,107,101,121, -105,110,103, 95,115,101,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,107,101,121, -105,110,103, 95,115,101,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75,101,121,105,110,103, 32, 83,101,116,115, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191,254, 41, 1, 69, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 72,146, 74, 3, 0, 0, 0, 0,196, 0, 0, 0, - 1, 0, 0, 0,184, 18, 89, 3, 0, 0, 0, 0,200,158, 61, 3, 0, 0, 0, 0, 72,108,190, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,112,104,121,115,105, 99,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,112,104,121,115,105, 99,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 71,114, 97,118,105,116,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,131,254, 41, 1, 36, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,254, 41, 1, 80, 0, 20, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4727,7 +4326,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 97, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 168,180, 70, 27, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 40,205, 70, 27, 1, 0, 0, 0,232,176, 70, 27, 1, 0, 0, 0, @@ -5078,35 +4676,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88, 45, 30, 2, - 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,216,229, 30, 2, 0, 0, 0, 0,104, 40, 30, 2, 0, 0, 0, 0,232, 21, 30, 2, - 0, 0, 0, 0,120, 21, 30, 2, 0, 0, 0, 0,152, 20, 30, 2, 0, 0, 0, 0, 88, 22, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 69, 6, 0, 0,126, 7, 0, 0, 65, 3, 0, 0,233, 3, 0, 0, 3, 3, 58, 1,169, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 8, 0,168,209, 2, 2, 0, 0, 0, 0, 40, 49, 30, 2, 0, 0, 0, 0, 40, 49, 30, 2, 0, 0, 0, 0, 72, 46, 30, 2, - 0, 0, 0, 0,184, 47, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 69, 68, 2, - 0, 0, 0, 0,232,252, 74, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72, 46, 30, 2, 0, 0, 0, 0,198, 0, 0, 0, - 1, 0, 0, 0,184, 47, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, - 0, 0,208, 65, 0, 0, 0, 0, 0, 0,157, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 0, 0, - 25, 0, 0, 0, 0,128,156, 67, 0, 0,200, 65, 0,128,156, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 58, 1, 26, 0, 58, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 69, 6, 0, 0,126, 7, 0, 0,208, 3, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 58, 1, 26, 0, 7, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,184,211, 2, 2, 0, 0, 0, 0,200,135,182, 3, 0, 0, 0, 0,200,135,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,185,188, 3, 0, 0, 0, 0,120,118, 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184, 47, 30, 2, 0, 0, 0, 0,198, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 46, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, - 0, 0, 0, 0, 0, 0, 0, 0, 0,128,148, 67, 0, 0,250,194, 0, 0, 0, 0, 41, 1, 0, 0, 58, 1, 0, 0, 18, 0, 0, 0, -142, 0, 0, 0, 0, 0, 0, 0, 40, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 40, 1, 0, 0, 18, 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,128, 63, 0, 0,128, 63, 18, 6, 0, 0, - 2, 0, 3, 3, 0, 0, 12, 4, 6, 0, 58, 1,143, 0, 41, 1,125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 69, 6, 0, 0,126, 7, 0, 0, 65, 3, 0, 0,207, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 58, 1,143, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,200,210, 2, 2, 0, 0, 0, 0,248,131, 62, 3, 0, 0, 0, 0,248,131, 62, 3, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,107, 68, 2, 0, 0, 0, 0, 24,109, 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 40, 49, 30, 2, 0, 0, 0, 0,166, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5154,8 +4723,6 @@ char datatoc_startup_blend[]= { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,236, 30, 2, - 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,235, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,147,166, 19, 1, 0, 0, 0, @@ -5289,8 +4856,6 @@ char datatoc_startup_blend[]= { 31, 0,142, 1, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233, 5, 0, 0,118, 7, 0, 0, 13, 3, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 1, 31, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,168,242, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24, 6, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5313,19 +4878,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255,124, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88, 10, 31, 2, 0, 0, 0, 0,198, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 8, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,174, 67, 0, 0, 61,196, - 0, 0, 0, 0, 0, 0, 0, 0,255,127,166, 67,255,255,184,195, 0, 0, 0, 0, 77, 1, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0, -113, 1, 0, 0, 0, 0, 0, 0, 78, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0, -113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, - 1, 0, 7, 0, 18, 0, 0, 4, 6, 0, 94, 1,114, 1, 77, 1,114, 1, 0, 0, 24, 11, 89, 3, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 94, 1,114, 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,152, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 87, 89, 3, - 0, 0, 0, 0, 56, 8, 75, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 87, 89, 3, 0, 0, 0, 0,196, 0, 0, 0, - 1, 0, 0, 0,184,135, 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 40, 9, 71, 27, 1, 0, 0, 0, 193, 0, 0, 0, 1, 0, 0, 0,200, 10, 71, 27, 1, 0, 0, 0,136, 7, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5337,16 +4889,7 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255,124, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 88, 1, 0, 0,184,135, 68, 2, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 40,116,184, 3, 0, 0, 0, 0, 56, 87, 89, 3, - 0, 0, 0, 0,168, 53,190, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101, -110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101, -110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 76, 1, 61, 0, 0, 0, 0, 0, - 0, 0, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,200, 10, 71, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,104, 12, 71, 27, 1, 0, 0, 0, 40, 9, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, @@ -5369,8 +4912,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254,124, 1,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254, 76, 1,203, 0, 0, 0, 0, 0, - 0, 0, 6, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 8, 14, 71, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,168, 15, 71, 27, 1, 0, 0, 0, @@ -5406,7 +4947,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164,253,124, 1,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 10,254, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,232, 18, 71, 27, 1, 0, 0, 0, 193, 0, 0, 0, 1, 0, 0, 0,136, 20, 71, 27, 1, 0, 0, 0, 72, 17, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5453,7 +4993,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,252,124, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,104, 25, 71, 27, 1, 0, 0, 0, 193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 23, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5472,16 +5011,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, - 0, 0, 0, 0,248,174,178, 3, 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, -160, 0, 0, 0, 8, 13, 31, 2, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,216, 18, 31, 2, 0, 0, 0, 0,248, 7, 31, 2, - 0, 0, 0, 0,216,244, 30, 2, 0, 0, 0, 0,120,247, 30, 2, 0, 0, 0, 0,232,247, 30, 2, 0, 0, 0, 0, 88,248, 30, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 17, 17, 32, 6, -140, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 51, 3, 2, 0, 0, 0, 0, 72, 18, 31, 2, 0, 0, 0, 0, 72, 18, 31, 2, - 0, 0, 0, 0,248, 13, 31, 2, 0, 0, 0, 0,216, 16, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,136, 86, 68, 2, 0, 0, 0, 0,232,187,119, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248, 13, 31, 2, - 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,104, 15, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 74, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,196, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5500,7 +5029,6 @@ char datatoc_startup_blend[]= { 245, 2, 0, 0,231, 5, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 79, 71, 73, 67, 95, 80, 84, 95,112,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152, 30, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 29, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0,128, 60, 68, 0, 0, 0, 0, 0, 0, 48, 65, @@ -5511,7 +5039,6 @@ char datatoc_startup_blend[]= { 245, 2, 0, 0,231, 5, 0, 0, 26, 0, 0, 0,183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, 2,158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196,255,203, 0, 36, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 32, 71, 27, 1, 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 40, 97,166, 19, 1, 0, 0, 0, @@ -5543,15 +5070,6 @@ char datatoc_startup_blend[]= { 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 2, 0, 0,231, 5, 0, 0,185, 1, 0, 0, 210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,243, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 1, 0, 0, 56, 21, 31, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 19, 31, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0,128,181, 67, 0, 0, 0, 0, 0,128,218, 67, 0, 0, 0, 0,131,248, 1, 68, 0, 0, 0, 0, - 86, 26, 3, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 61, 2, 0, 0, 0, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 4, 10, 0, 62, 2, 67, 2, 62, 2, - 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 5, 0, 0,126, 7, 0, 0,167, 1, 0, 0, -233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 2, 67, 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,104, 43, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152, 36, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 8, 38, 71, 27, 1, 0, 0, 0, 40, 35, 71, 27, @@ -5562,300 +5080,6 @@ char datatoc_startup_blend[]= { 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 2, 0, 0,245, 2, 0, 0,211, 1, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,115, 2, 0, 0, 5, 0, 3, 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, - 12, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,152, 25, 31, 2, - 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,232, 38, 31, 2, 0, 0, 0, 0,216, 18, 31, 2, 0, 0, 0, 0, 24,250, 30, 2, - 0, 0, 0, 0,136,250, 30, 2, 0, 0, 0, 0,168,249, 30, 2, 0, 0, 0, 0, 56,249, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0,141, 1, 0, 0,233, 3, 0, 0, 1, 1,251, 3, 93, 2, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0,168,215, 2, 2, 0, 0, 0, 0,104, 37, 31, 2, 0, 0, 0, 0,104, 37, 31, 2, 0, 0, 0, 0,136, 26, 31, 2, - 0, 0, 0, 0, 72, 32, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 73, 1, 2, - 0, 0, 0, 0,120,141,119, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136, 26, 31, 2, 0, 0, 0, 0,198, 0, 0, 0, - 1, 0, 0, 0,248, 27, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0, - 0, 0,208, 65, 0, 0, 0, 0, 0,192,126, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 3, 0, 0, 0, 0, 0, 0, - 25, 0, 0, 0, 0,128,126, 68, 0, 0,200, 65, 0,128,126, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,251, 3, 26, 0,251, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0,141, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,251, 3, 26, 0, 0, 0, 1, 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, 8,226, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248, 27, 31, 2, 0, 0, 0, 0,198, 0, 0, 0, - 1, 0, 0, 0,104, 29, 31, 2, 0, 0, 0, 0,136, 26, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, - 43, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, - 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, - 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 69, 1, 0, 0, 69, 1, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 67, 2, 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,200,222, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104, 29, 31, 2, 0, 0, 0, 0,198, 0, 0, 0, - 1, 0, 0, 0,216, 30, 31, 2, 0, 0, 0, 0,248, 27, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 67, 0, 0,206,194, - 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67, 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, -119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, -119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, - 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0,167, 1, 0, 0,167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,184,223, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216, 30, 31, 2, 0, 0, 0, 0,198, 0, 0, 0, - 1, 0, 0, 0, 72, 32, 31, 2, 0, 0, 0, 0,104, 29, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 67, 0, 0,109,196, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0, 0,109,196, 0,128,145,195,163, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, -144, 2, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, -144, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, - 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,180, 0,145, 2,163, 0,145, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 5, 0, 0, 63, 5, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,184,217, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72, 32, 31, 2, 0, 0, 0, 0,198, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 30, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,251, 3, 67, 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,200,216, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,184, 33, 31, 2, 0, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0,184, 33, 31, 2, 0, 0, 0, 0,156, 0, 0, 0, - 1, 0, 0, 0,190, 35, 30, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 40,139, 61, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111, 18, 3,187, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0,128, 0, 0, 0,128, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63,190, 35, 30, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 40,139, 61, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111, 18, 3,187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63,149, 53,207, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,121,107, 65, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,249,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63,190, 35, 30, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 40,139, 61, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111, 18, 3,187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63,207, 3,116, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 3,116, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 3,116, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,149, 53,207, 65,214,211,111, 65, 0, 0, 0, 0, - 0, 0, 0, 0,221, 57, 80, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0,251,251, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 62, 55, 63, - 56,186,224,190,237,203,148,190, 3,236,234,190, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,180, 66, 0, 0,180, 66, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,104, 37, 31, 2, 0, 0, 0, 0,157, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,168,242, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8, 0, 0, 0, 0, 12, 66, 0, 0,128, 63, -205,204,204, 61, 0, 0,122, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,232, 38, 31, 2, - 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 25, 31, 2, 0, 0, 0, 0,120,247, 30, 2, - 0, 0, 0, 0,152,246, 30, 2, 0, 0, 0, 0,136,250, 30, 2, 0, 0, 0, 0, 24,250, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,141, 1, 0, 0,233, 3, 0, 0, 3, 3, 68, 1, 93, 2, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0,168,209, 2, 2, 0, 0, 0, 0,184, 42, 31, 2, 0, 0, 0, 0,184, 42, 31, 2, 0, 0, 0, 0,216, 39, 31, 2, - 0, 0, 0, 0, 72, 41, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,162,166, 3, - 0, 0, 0, 0,248, 39, 76, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216, 39, 31, 2, 0, 0, 0, 0,198, 0, 0, 0, - 1, 0, 0, 0, 72, 41, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, - 0, 0,208, 65, 0, 0, 0, 0, 0, 0,162, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 0, 0, - 25, 0, 0, 0, 0,128,161, 67, 0, 0,200, 65, 0,128,161, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 68, 1, 26, 0, 68, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,141, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 1, 26, 0, 0, 0, 1, 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,184,211, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72, 41, 31, 2, 0, 0, 0, 0,198, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 39, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, - 0, 0, 0, 0, 0, 0, 0, 0, 0,128,153, 67, 0, 64, 12,196, 0, 0, 0, 0, 51, 1, 0, 0, 68, 1, 0, 0, 18, 0, 0, 0, - 66, 2, 0, 0, 0, 0, 0, 0, 50, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 50, 1, 0, 0, 18, 0, 0, 0, - 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 18, 6, 0, 0, - 2, 0, 3, 3, 0, 0, 12, 4, 6, 0, 68, 1, 67, 2, 51, 1, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 1, 67, 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,200,210, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,184, 42, 31, 2, 0, 0, 0, 0,166, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,173,175, 3, 0, 0, 0, 0,136,173,175, 3, 0, 0, 0, 0, 24, 44, 31, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65, - 16, 0, 0, 0, 24, 44, 31, 2, 0, 0, 0, 0,220, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0,120, 44, 31, 2, - 0, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0,120, 44, 31, 2, 0, 0, 0, 0,219, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0,152,219, 31, 2, 0, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0,152,219, 31, 2, 0, 0, 0, 0, 20, 0, 0, 0, - 1, 0, 1, 0,152,219, 31, 2, 0, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0,152,219, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0, 8,240, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,248,248, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0,232, 78, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56, 6, 32, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0, 24,172, 32, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,232,255, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0,136,235, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,168,242, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0,184,234, 31, 2, 0, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0,152,219, 31, 2, 0, 0, 0, 0, 83, 78, 0, 0, -216, 0, 0, 0, 56, 46, 31, 2, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,184,105, 31, 2, 0, 0, 0, 0,184,243, 30, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 83, 99,114,105,112,116,105,110,103, 0, -103, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 47, 31, 2, - 0, 0, 0, 0, 8, 53, 31, 2, 0, 0, 0, 0,120, 53, 31, 2, 0, 0, 0, 0,168, 62, 31, 2, 0, 0, 0, 0, 24, 63, 31, 2, - 0, 0, 0, 0,104, 98, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,219, 31, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,216,159, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88, 47, 31, 2, 0, 0, 0, 0,194, 0, 0, 0, - 1, 0, 0, 0,200, 47, 31, 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, 68, 65, 84, 65, 32, 0, 0, 0,200, 47, 31, 2, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 56, 48, 31, 2, - 0, 0, 0, 0, 88, 47, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, - 32, 0, 0, 0, 56, 48, 31, 2, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,168, 48, 31, 2, 0, 0, 0, 0,200, 47, 31, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168, 48, 31, 2, - 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 24, 49, 31, 2, 0, 0, 0, 0, 56, 48, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24, 49, 31, 2, 0, 0, 0, 0,194, 0, 0, 0, - 1, 0, 0, 0,136, 49, 31, 2, 0, 0, 0, 0,168, 48, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 3, - 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136, 49, 31, 2, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,248, 49, 31, 2, - 0, 0, 0, 0, 24, 49, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,168, 3, 0, 0, 0, 0, 68, 65, 84, 65, - 32, 0, 0, 0,248, 49, 31, 2, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,104, 50, 31, 2, 0, 0, 0, 0,136, 49, 31, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5,168, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104, 50, 31, 2, - 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,216, 50, 31, 2, 0, 0, 0, 0,248, 49, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,240, 5, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216, 50, 31, 2, 0, 0, 0, 0,194, 0, 0, 0, - 1, 0, 0, 0, 72, 51, 31, 2, 0, 0, 0, 0,104, 50, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 1, - 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72, 51, 31, 2, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,184, 51, 31, 2, - 0, 0, 0, 0,216, 50, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5,104, 1, 1, 0, 0, 0, 68, 65, 84, 65, - 32, 0, 0, 0,184, 51, 31, 2, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 40, 52, 31, 2, 0, 0, 0, 0, 72, 51, 31, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 2,104, 1, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 40, 52, 31, 2, - 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,152, 52, 31, 2, 0, 0, 0, 0,184, 51, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,240, 5,236, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152, 52, 31, 2, 0, 0, 0, 0,194, 0, 0, 0, - 1, 0, 0, 0, 8, 53, 31, 2, 0, 0, 0, 0, 40, 52, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7,236, 2, - 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8, 53, 31, 2, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,152, 52, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 2,168, 3, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,120, 53, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,232, 53, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,200, 47, 31, 2, 0, 0, 0, 0, 56, 48, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,232, 53, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 88, 54, 31, 2, 0, 0, 0, 0,120, 53, 31, 2, - 0, 0, 0, 0,200, 47, 31, 2, 0, 0, 0, 0, 24, 49, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0, 88, 54, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,200, 54, 31, 2, 0, 0, 0, 0,232, 53, 31, 2, - 0, 0, 0, 0, 56, 48, 31, 2, 0, 0, 0, 0,136, 49, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,200, 54, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56, 55, 31, 2, 0, 0, 0, 0, 88, 54, 31, 2, - 0, 0, 0, 0, 24, 49, 31, 2, 0, 0, 0, 0,136, 49, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0, 56, 55, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,168, 55, 31, 2, 0, 0, 0, 0,200, 54, 31, 2, - 0, 0, 0, 0,136, 49, 31, 2, 0, 0, 0, 0,248, 49, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,168, 55, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24, 56, 31, 2, 0, 0, 0, 0, 56, 55, 31, 2, - 0, 0, 0, 0,168, 48, 31, 2, 0, 0, 0, 0,104, 50, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0, 24, 56, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136, 56, 31, 2, 0, 0, 0, 0,168, 55, 31, 2, - 0, 0, 0, 0, 88, 47, 31, 2, 0, 0, 0, 0,216, 50, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,136, 56, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248, 56, 31, 2, 0, 0, 0, 0, 24, 56, 31, 2, - 0, 0, 0, 0, 24, 49, 31, 2, 0, 0, 0, 0,216, 50, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,248, 56, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,104, 57, 31, 2, 0, 0, 0, 0,136, 56, 31, 2, - 0, 0, 0, 0,248, 49, 31, 2, 0, 0, 0, 0, 72, 51, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,104, 57, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,216, 57, 31, 2, 0, 0, 0, 0,248, 56, 31, 2, - 0, 0, 0, 0,104, 50, 31, 2, 0, 0, 0, 0, 72, 51, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,216, 57, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 72, 58, 31, 2, 0, 0, 0, 0,104, 57, 31, 2, - 0, 0, 0, 0,216, 50, 31, 2, 0, 0, 0, 0,184, 51, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0, 72, 58, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184, 58, 31, 2, 0, 0, 0, 0,216, 57, 31, 2, - 0, 0, 0, 0, 72, 51, 31, 2, 0, 0, 0, 0,184, 51, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,184, 58, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 40, 59, 31, 2, 0, 0, 0, 0, 72, 58, 31, 2, - 0, 0, 0, 0,104, 50, 31, 2, 0, 0, 0, 0, 40, 52, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0, 40, 59, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,152, 59, 31, 2, 0, 0, 0, 0,184, 58, 31, 2, - 0, 0, 0, 0,248, 49, 31, 2, 0, 0, 0, 0, 40, 52, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,152, 59, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 8, 60, 31, 2, 0, 0, 0, 0, 40, 59, 31, 2, - 0, 0, 0, 0,136, 49, 31, 2, 0, 0, 0, 0,152, 52, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0, 8, 60, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120, 60, 31, 2, 0, 0, 0, 0,152, 59, 31, 2, - 0, 0, 0, 0,168, 48, 31, 2, 0, 0, 0, 0,152, 52, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,120, 60, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,232, 60, 31, 2, 0, 0, 0, 0, 8, 60, 31, 2, - 0, 0, 0, 0, 40, 52, 31, 2, 0, 0, 0, 0,152, 52, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,232, 60, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 88, 61, 31, 2, 0, 0, 0, 0,120, 60, 31, 2, - 0, 0, 0, 0, 24, 49, 31, 2, 0, 0, 0, 0, 8, 53, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0, 88, 61, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,200, 61, 31, 2, 0, 0, 0, 0,232, 60, 31, 2, - 0, 0, 0, 0,248, 49, 31, 2, 0, 0, 0, 0, 8, 53, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,200, 61, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56, 62, 31, 2, 0, 0, 0, 0, 88, 61, 31, 2, - 0, 0, 0, 0,184, 51, 31, 2, 0, 0, 0, 0, 8, 53, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0, 56, 62, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,168, 62, 31, 2, 0, 0, 0, 0,200, 61, 31, 2, - 0, 0, 0, 0,216, 50, 31, 2, 0, 0, 0, 0, 72, 51, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 40, 0, 0, 0,168, 62, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 62, 31, 2, - 0, 0, 0, 0, 88, 47, 31, 2, 0, 0, 0, 0,104, 50, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, -160, 0, 0, 0, 24, 63, 31, 2, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,232, 66, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 24, 49, 31, 2, 0, 0, 0, 0,200, 47, 31, 2, 0, 0, 0, 0, 56, 48, 31, 2, 0, 0, 0, 0,136, 49, 31, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,169, 3, 0, 0, 5, 4, 0, 0, 7, 7,127, 7, - 93, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0,216, 3, 3, 2, 0, 0, 0, 0, 40,105, 31, 2, 0, 0, 0, 0, 40,105, 31, 2, - 0, 0, 0, 0, 8, 64, 31, 2, 0, 0, 0, 0,120, 65, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,248, 20,181, 3, 0, 0, 0, 0,152,190,176, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8, 64, 31, 2, - 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,120, 65, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,239, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,236, 3, 0, 0, 5, 4, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 5, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120, 65, 31, 2, - 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 64, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0,192,239, 68, 0, 0, 0, 0, 0, 0, 28, 66, 0, 0, 0, 0, 0,192,237, 68, 0, 0, 0, 0, 0, 0,134, 66,110, 7, 0, 0, -127, 7, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, -109, 7, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 2, 2, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,127, 7, 67, 0,110, 7, 67, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,169, 3, 0, 0,235, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 4, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,232, 66, 31, 2, - 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,248, 71, 31, 2, 0, 0, 0, 0, 24, 63, 31, 2, 0, 0, 0, 0,104, 50, 31, 2, - 0, 0, 0, 0, 40, 52, 31, 2, 0, 0, 0, 0,152, 52, 31, 2, 0, 0, 0, 0,168, 48, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,235, 2, 0, 0, 4, 4,142, 1,236, 2, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0,120,255, 2, 2, 0, 0, 0, 0,184, 70, 31, 2, 0, 0, 0, 0,184, 70, 31, 2, 0, 0, 0, 0,216, 67, 31, 2, - 0, 0, 0, 0, 72, 69, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 6,181, 3, - 0, 0, 0, 0,120, 55, 68, 2, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216, 67, 31, 2, 0, 0, 0, 0,198, 0, 0, 0, - 1, 0, 0, 0, 72, 69, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, - 0, 0,208, 65, 0, 0, 0, 0, 0, 0,199, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,141, 1, 0, 0, 0, 0, 0, 0, - 25, 0, 0, 0, 0,128,198, 67, 0, 0,200, 65, 0,128,198, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, - 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,142, 1, 26, 0,142, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0,210, 2, 0, 0,235, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,142, 1, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,232, 2, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72, 69, 31, 2, 0, 0, 0, 0,198, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 67, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,198, 67, 0, 0, 61,196, - 0, 0, 0, 0, 0, 0, 0, 0,254,127,190, 67,254,127, 52,196, 0, 0, 0, 0,125, 1, 0, 0,142, 1, 0, 0, 0, 0, 0, 0, -209, 2, 0, 0, 0, 0, 0, 0,126, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, -209, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, - 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,142, 1,210, 2,125, 1,210, 2, 0, 0,232, 95,177, 3, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,142, 1,210, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,152, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,113, 78, 3, - 0, 0, 0, 0, 56, 75, 62, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248,113, 78, 3, 0, 0, 0, 0,196, 0, 0, 0, - 1, 0, 0, 0,184, 24, 76, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,220,255,124, 1, 36, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8, 38, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120, 39, 71, 27, 1, 0, 0, 0,152, 36, 71, 27, @@ -5866,8 +5090,6 @@ char datatoc_startup_blend[]= { 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 2, 0, 0,231, 5, 0, 0,211, 1, 0, 0, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255,124, 1, 61, 0, 0, 0, 0, 0, - 0, 0, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120, 39, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,232, 40, 71, 27, 1, 0, 0, 0, 8, 38, 71, 27, @@ -5878,28 +5100,16 @@ char datatoc_startup_blend[]= { 104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,231, 5, 0, 0,231, 5, 0, 0,211, 1, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 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, 68, 65, 84, 65, 88, 1, 0, 0,168, 53,119, 3, 0, 0, 0, 0,196, 0, 0, 0, - 1, 0, 0, 0,120,113,119, 3, 0, 0, 0, 0,184, 24, 76, 3, 0, 0, 0, 0,152, 56,190, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232, 40, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 39, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,111,255,124, 1, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 2, 0, 0,231, 5, 0, 0,211, 1, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,243, 2,115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 88, 1, 0, 0,120,113,119, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,216,216,176, 3, 0, 0, 0, 0,168, 53,119, 3, - 0, 0, 0, 0,200, 59,190, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105, -109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105, -109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 42, 71, 27, 1, 0, 0, 0, 68, 65, 84, 65, 104, 3, 0, 0, 88, 42, 71, 27, 1, 0, 0, 0,153, 0, 0, 0, 1, 0, 0, 0, 1, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5922,15 +5132,9 @@ char datatoc_startup_blend[]= { 3,236,234,190,214,211,111, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0,143,185, 30, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216,216,176, 3, 0, 0, 0, 0,196, 0, 0, 0, - 1, 0, 0, 0,104,179,187, 3, 0, 0, 0, 0,120,113,119, 3, 0, 0, 0, 0,136, 62,190, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 58,254,124, 1, 58, 0, 20, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5985,11 +5189,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -246, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 61, 68, 0, 0,200, 65, 0,128, 61, 68, 0, 0,200, 65, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,247, 2, 26, 0,247, 2, 26, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,105, 1, 0, 0,130, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 26, 0, 0, 0, 1, 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, 8,226, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,121,116,104,111,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6008,15 +5207,6 @@ char datatoc_startup_blend[]= { 233, 5, 0, 0,118, 7, 0, 0, 45, 3, 0, 0, 70, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 1, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56, 77, 31, 2, - 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,168, 78, 31, 2, 0, 0, 0, 0,200, 75, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 35, 67, 0,128,142,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0, 0, 26,196, 0, 0, 0, 0,163, 0, 0, 0, -180, 0, 0, 0, 18, 0, 0, 0,121, 2, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, -162, 0, 0, 0, 18, 0, 0, 0,121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, - 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0,122, 2,163, 0,104, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0,239, 5, 0, 0,131, 1, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,217, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56, 56, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 54, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0,128,131, 67, 0, 0,228,194, 0, 0, 0, 0, @@ -6032,30 +5222,7 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,131, 1, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 37, 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,200,216, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 80, 31, 2, 0, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0, 24, 80, 31, 2, - 0, 0, 0, 0,156, 0, 0, 0, 1, 0, 0, 0, 0, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 74,141,193, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 1,128,191, 0, 0,128,191, 0, 0, 0, 0, - 0, 0, 0, 0,225,215,163,188, 0, 0, 0, 0, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63, -143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63, 69,239,209, 62, 70,119,105, 63,176, 84, 89,188, 0, 0, 0, 0, 53,177,205,190, -142, 74, 70, 62,166, 33,101, 63, 0, 0, 0, 0,185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62, 0, 0, 0, 0,164, 96, 68, 65, -111,121,173,192,248,209,213, 64, 0, 0,128, 63,178,157,229, 62, 30,132, 27,191,222,160, 81,191,184,158, 81,191,117, 90,127, 63, -166,235,149, 62, 9, 46,185, 62, 35, 44,185, 62,145,180,109,188,212, 60,173, 63,129, 63,228,190, 42, 61,228,190, 0, 0, 0, 0, - 0, 0, 0, 0, 96,132,111, 65,214,211,111, 65,217,236,191, 62, 54,117, 85, 63,224,246, 70,188, 0,160, 32,182,252, 5,136,190, - 43, 33, 3, 62,235,135, 23, 63, 0, 0, 96, 53,215,104, 25,196,133,132,135, 67, 37, 9,167,195,136,252, 71,194, 3, 54, 25, 68, -158, 87,135,195,205,209,166, 67,151,254, 71, 66, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63, -143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63,178,157,229, 62, 30,132, 27,191,222,160, 81,191,184,158, 81,191,117, 90,127, 63, -166,235,149, 62, 9, 46,185, 62, 35, 44,185, 62,145,180,109,188,212, 60,173, 63,129, 63,228,190, 42, 61,228,190, 0, 0, 0, 0, - 0, 0, 0, 0, 96,132,111, 65,214,211,111, 65, 46, 86, 45, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 46, 86, 45, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 86, 45, 64, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190,214,211,111, 65, -214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0,107,227, 29, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, - 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 59, 71, 27, 1, 0, 0, 0, @@ -6103,44 +5270,6 @@ char datatoc_startup_blend[]= { 231, 1, 0, 0,243, 1, 0, 0, 4, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8, 0, 0, - 0, 0, 12, 66, 0, 0,128, 63, 10,215, 35, 60, 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, -160, 0, 0, 0, 72, 85, 31, 2, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,168, 91, 31, 2, 0, 0, 0, 0,248, 71, 31, 2, - 0, 0, 0, 0, 88, 47, 31, 2, 0, 0, 0, 0,216, 50, 31, 2, 0, 0, 0, 0, 72, 51, 31, 2, 0, 0, 0, 0,104, 50, 31, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0, 0, 0, 0, 0,103, 1, 0, 0, 18, 18,240, 5, -104, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 55, 3, 2, 0, 0, 0, 0,216, 89, 31, 2, 0, 0, 0, 0,216, 89, 31, 2, - 0, 0, 0, 0, 56, 86, 31, 2, 0, 0, 0, 0,168, 87, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 88, 30,178, 3, 0, 0, 0, 0,200, 57,178, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56, 86, 31, 2, - 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,168, 87, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0,128,160, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,190, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -239, 5, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,189, 68, 0, 0,200, 65, 0,224,189, 68, 0, 0,200, 65, 0, 0,128, 63, - 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,240, 5, 26, 0,240, 5, 26, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5, 26, 0, 0, 0, 1, 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, 24, 57, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168, 87, 31, 2, - 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 86, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0,224,189, 68, 0, 0, 0, 0, 0, 0, 51, 67, 0, 0, 0, 0, 0,224,187, 68, 0, 0, 0, 0, 0, 0,167, 67,223, 5, 0, 0, -240, 5, 0, 0, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -222, 5, 0, 0, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, - 0, 0,128, 63, 2, 2, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,240, 5, 78, 1,223, 5, 78, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0, 26, 0, 0, 0,103, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5, 78, 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, 40, 56, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24, 89, 31, 2, - 0, 0, 0, 0,177, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0,136, 89, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,136, 89, 31, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,136, 1, 0, 0,216, 89, 31, 2, 0, 0, 0, 0, -178, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 14, 0, 0, 0, 0, 0, 0, 0,120,113,184, 3, 0, 0, 0, 0,168, 10, 89, 3, 0, 0, 0, 0, 24, 89, 31, 2, 0, 0, 0, 0, - 24, 89, 31, 2, 0, 0, 0, 0, 62, 62, 62, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6148,34 +5277,12 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,112,121,116,104,111,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 8, 4, 0, 0, 8, 4, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,168, 91, 31, 2, 0, 0, 0, 0, -197, 0, 0, 0, 1, 0, 0, 0,104, 98, 31, 2, 0, 0, 0, 0, 72, 85, 31, 2, 0, 0, 0, 0, 40, 52, 31, 2, 0, 0, 0, 0, -248, 49, 31, 2, 0, 0, 0, 0,136, 49, 31, 2, 0, 0, 0, 0,152, 52, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -241, 5, 0, 0,126, 7, 0, 0,237, 2, 0, 0,167, 3, 0, 0, 3, 3,142, 1,187, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -168,209, 2, 2, 0, 0, 0, 0,120, 95, 31, 2, 0, 0, 0, 0,120, 95, 31, 2, 0, 0, 0, 0,152, 92, 31, 2, 0, 0, 0, 0, - 8, 94, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,184,176, 3, 0, 0, 0, 0, - 40, 86, 89, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152, 92, 31, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, - 8, 94, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, - 0, 0, 0, 0, 0, 0,199, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,141, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, - 0,128,198, 67, 0, 0,200, 65, 0,128,198, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, - 4, 0, 12, 0, 10, 0,142, 1, 26, 0,142, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -241, 5, 0, 0,126, 7, 0, 0,237, 2, 0, 0, 6, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -142, 1, 26, 0, 0, 0, 1, 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, -184,211, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8, 94, 31, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,152, 92, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, - 0, 0, 0, 0, 0,128,190, 67, 0, 0, 15,195, 0, 0, 0, 0,125, 1, 0, 0,142, 1, 0, 0, 18, 0, 0, 0,160, 0, 0, 0, - 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 18, 0, 0, 0,160, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 18, 6, 0, 0, 2, 0, 3, 3, - 0, 0, 12, 4, 6, 0,142, 1,161, 0,125, 1,143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -241, 5, 0, 0,126, 7, 0, 0, 7, 3, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -142, 1,161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -200,210, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,120, 95, 31, 2, 0, 0, 0, 0,166, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0,152, 67, 71, 27, 1, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0, 40,104, 71, 27, 1, 0, 0, 0, 56,239, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6245,7 +5352,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 97, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,104,220,182, 3, 0, 0, 0, 0,104,220,182, 3, 0, 0, 0, 0,216, 96, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 72, 80, 71, 27, 1, 0, 0, 0, 194, 0, 0, 0, 1, 0, 0, 0, 24, 87, 71, 27, 1, 0, 0, 0,136, 76, 71, 27, 1, 0, 0, 0,184, 68, 71, 27, 1, 0, 0, 0, @@ -6262,15 +5368,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0,195, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,100, 31, 2, 0, 0, 0, 0, -198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 99, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,189, 68, - 0, 0, 0, 0, 0,192, 22, 68,248,150, 23, 68, 8, 41,100, 68, 46,224, 62, 67,233, 15,206, 67, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0, - 0, 0, 0, 0, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68, - 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 4, 10, 0,248, 2, 37, 2,248, 2, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0,131, 1, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,248, 2, 37, 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,104, 43, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152, 82, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 168, 85, 71, 27, 1, 0, 0, 0, 40, 81, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 67, 0, 96,133,196, 0, 0, 0, 0, @@ -6315,128 +5412,18 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0,184,105, 31, 2, 0, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, -136,171, 31, 2, 0, 0, 0, 0, 56, 46, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 83, 82, 85, 86, 32, 69,100,105,116,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,216,106, 31, 2, 0, 0, 0, 0,232,109, 31, 2, 0, 0, 0, 0, 88,110, 31, 2, 0, 0, 0, 0, -184,114, 31, 2, 0, 0, 0, 0, 40,115, 31, 2, 0, 0, 0, 0,168,157, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,152,219, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -232,216,159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, -216,106, 31, 2, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 72,107, 31, 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, 68, 65, 84, 65, 32, 0, 0, 0, 72,107, 31, 2, 0, 0, 0, 0, -194, 0, 0, 0, 1, 0, 0, 0,184,107, 31, 2, 0, 0, 0, 0,216,106, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,184,107, 31, 2, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, - 40,108, 31, 2, 0, 0, 0, 0, 72,107, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0, 40,108, 31, 2, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,152,108, 31, 2, 0, 0, 0, 0, -184,107, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, -152,108, 31, 2, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 8,109, 31, 2, 0, 0, 0, 0, 40,108, 31, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8,109, 31, 2, 0, 0, 0, 0, -194, 0, 0, 0, 1, 0, 0, 0,120,109, 31, 2, 0, 0, 0, 0,152,108, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -126, 7,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120,109, 31, 2, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, -232,109, 31, 2, 0, 0, 0, 0, 8,109, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 3,234, 3, 1, 0, 0, 0, - 68, 65, 84, 65, 32, 0, 0, 0,232,109, 31, 2, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -120,109, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 3, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, - 88,110, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,200,110, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 72,107, 31, 2, 0, 0, 0, 0,184,107, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -200,110, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,111, 31, 2, 0, 0, 0, 0, 88,110, 31, 2, 0, 0, 0, 0, - 72,107, 31, 2, 0, 0, 0, 0,152,108, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, - 56,111, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,168,111, 31, 2, 0, 0, 0, 0,200,110, 31, 2, 0, 0, 0, 0, -184,107, 31, 2, 0, 0, 0, 0, 8,109, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -168,111, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24,112, 31, 2, 0, 0, 0, 0, 56,111, 31, 2, 0, 0, 0, 0, -152,108, 31, 2, 0, 0, 0, 0, 8,109, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, - 24,112, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,112, 31, 2, 0, 0, 0, 0,168,111, 31, 2, 0, 0, 0, 0, -152,108, 31, 2, 0, 0, 0, 0,120,109, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -136,112, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,112, 31, 2, 0, 0, 0, 0, 24,112, 31, 2, 0, 0, 0, 0, -216,106, 31, 2, 0, 0, 0, 0,232,109, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -248,112, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,104,113, 31, 2, 0, 0, 0, 0,136,112, 31, 2, 0, 0, 0, 0, -216,106, 31, 2, 0, 0, 0, 0,152,108, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -104,113, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,216,113, 31, 2, 0, 0, 0, 0,248,112, 31, 2, 0, 0, 0, 0, -120,109, 31, 2, 0, 0, 0, 0,232,109, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -216,113, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 72,114, 31, 2, 0, 0, 0, 0,104,113, 31, 2, 0, 0, 0, 0, - 8,109, 31, 2, 0, 0, 0, 0,120,109, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, - 72,114, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184,114, 31, 2, 0, 0, 0, 0,216,113, 31, 2, 0, 0, 0, 0, - 40,108, 31, 2, 0, 0, 0, 0,232,109, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, -184,114, 31, 2, 0, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,114, 31, 2, 0, 0, 0, 0, - 40,108, 31, 2, 0, 0, 0, 0, 8,109, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, - 40,115, 31, 2, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,248,118, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -152,108, 31, 2, 0, 0, 0, 0, 72,107, 31, 2, 0, 0, 0, 0,184,107, 31, 2, 0, 0, 0, 0, 8,109, 31, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 5, 4, 0, 0, 7, 7,127, 7, 27, 0, 1, 0, - 0, 0, 0, 0, 7, 0, 0, 0,216, 3, 3, 2, 0, 0, 0, 0,248,170, 31, 2, 0, 0, 0, 0,248,170, 31, 2, 0, 0, 0, 0, - 24,116, 31, 2, 0, 0, 0, 0,136,117, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 72,171,181, 3, 0, 0, 0, 0,200, 91, 89, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,116, 31, 2, 0, 0, 0, 0, -198, 0, 0, 0, 1, 0, 0, 0,136,117, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68, - 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,239, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, - 0, 0, 0, 0, 25, 0, 0, 0, 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, - 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 26, 0, 0, 0, 1, 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,232, 5, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,117, 31, 2, 0, 0, 0, 0, -198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,116, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, - 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,129, 7, 0, 0, - 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, - 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, - 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 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, 5, 4, 0, 0, 5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,248, 4, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,248,118, 31, 2, 0, 0, 0, 0, -197, 0, 0, 0, 1, 0, 0, 0,168,157, 31, 2, 0, 0, 0, 0, 40,115, 31, 2, 0, 0, 0, 0,216,106, 31, 2, 0, 0, 0, 0, -152,108, 31, 2, 0, 0, 0, 0,120,109, 31, 2, 0, 0, 0, 0,232,109, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,199, 3, 0, 0, 0, 0, 0, 0,233, 3, 0, 0, 6, 6,200, 3,234, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -184,238, 2, 2, 0, 0, 0, 0, 56,124, 31, 2, 0, 0, 0, 0, 56,124, 31, 2, 0, 0, 0, 0,232,119, 31, 2, 0, 0, 0, 0, -200,122, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 20,184, 3, 0, 0, 0, 0, - 24, 63,183, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232,119, 31, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, - 88,121, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215, 67, 0, 0, 0, 0, 0, 0,208, 65, - 0, 0, 0, 0, 0, 0,114, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, - 0,192,113, 68, 0, 0,200, 65, 0,192,113, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, - 4, 0, 12, 0, 10, 0,200, 3, 26, 0,200, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,199, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -200, 3, 26, 0, 0, 0, 1, 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, -200,246, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,121, 31, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, -200,122, 31, 2, 0, 0, 0, 0,232,119, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 67, 0,192,115,196, 0, 0, 0, 0, - 0, 0, 0, 0,254,255, 74, 67,254,255,115,196, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0,207, 3, 0, 0, - 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0,207, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, - 18, 0, 0, 4, 6, 0,220, 0,208, 3,203, 0,208, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,219, 0, 0, 0, 26, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -220, 0,208, 3, 0, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -200,240, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 23, 79, 3, 0, 0, 0, 0, -120, 23, 79, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 23, 79, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,243, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 73, 77, 65, 71, 69, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 73, 77, 65, 71, 69, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 71,114,101, 97,115,101, 32, 80,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,152,255,202, 0, 80, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, -200,122, 31, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,121, 31, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 67, 51, 51, 43,191,154,153,213, 63, 51, 51,131,191,154,153, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,236, 2, 0, 0, 0, 0, 0, 0,208, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 0,199, 3, 0, 0, 26, 0, 0, 0,233, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,236, 2,208, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,239, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 33, 0, 0, - 56,124, 31, 2, 0, 0, 0, 0,167, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -152,219, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 65, - 0, 0, 0, 0,154,153,153, 62, 0, 0, 0, 0,100, 0, 0, 0,154,153,153, 62,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6567,7 +5554,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6758,23 +5744,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0,101, 4, 0, 0,118, 7, 0, 0, 26, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 3, 44, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8,160, 31, 2, 0, 0, 0, 0, -198, 0, 0, 0, 1, 0, 0, 0,120,161, 31, 2, 0, 0, 0, 0,152,158, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 67, - 0, 0, 86,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0, 86,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, - 0, 0, 0, 0, 87, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, - 0, 0, 0, 0, 87, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, - 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0, 88, 3,143, 0, 88, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,201, 3, 0, 0,104, 4, 0, 0,146, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,160, 0, 88, 3, 0, 0, 5, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,200,222, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 40, 78, 68, 2, 0, 0, 0, 0, 40, 78, 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 40, 78, 68, 2, 0, 0, 0, 0, -196, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 55,194, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101, 99,116,109,111, -100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101, 99,116,109,111, -100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 79, 98,106,101, 99,116, 32, 84,111,111,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 98, 71, 27, 1, 0, 0, 0, 68, 65, 84, 65,104, 3, 0, 0,104, 98, 71, 27, 1, 0, 0, 0, 153, 0, 0, 0, 1, 0, 0, 0,161, 58,190, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140, 63, @@ -6894,8 +5863,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 96, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,255,144, 0, 16, 0, - 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 248,119, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,118, 71, 27, 1, 0, 0, 0, @@ -6906,15 +5873,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 97, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232,162, 31, 2, 0, 0, 0, 0, -198, 0, 0, 0, 1, 0, 0, 0, 88,164, 31, 2, 0, 0, 0, 0,120,161, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, - 0,128,126,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67,255,191,126,196, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, - 18, 0, 0, 0, 12, 4, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, - 18, 0, 0, 0, 12, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, - 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0, 13, 4,163, 0,251, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,126, 7, 0, 0, 26, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,184,217, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 104,121, 71, 27, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 72,126, 71, 27, 1, 0, 0, 0,168,117, 71, 27, 1, 0, 0, 0, @@ -6946,26 +5904,6 @@ char datatoc_startup_blend[]= { 170, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,200,165, 31, 2, 0, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0,200,165, 31, 2, 0, 0, 0, 0, -156, 0, 0, 0, 1, 0, 0, 0, 72,246,172, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 13,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, - 74,215, 76,190, 0, 0, 0, 0, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, - 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 25, 95,192, 0, 0,128, 63, 69,239,209, 62, 70,119,105, 63,160, 84, 89,188, 0, 0, 0, 0, 52,177,205,190,142, 74, 70, 62, -166, 33,101, 63, 0, 0, 0, 0,185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62, 0, 0, 0, 0,188,173, 54, 64,136, 95,161,191, -147,231,198, 63, 0, 0,128, 63,185,214, 13, 63,208,249,224,190, 48,180, 81,191,184,158, 81,191,189,188,157, 63,140,225, 88, 62, - 26, 63,185, 62, 35, 44,185, 62,241,213,146,188,206,156,122, 63,138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, -100, 98, 82, 64, 0, 25, 95, 64,121, 92,155, 62,151,198, 44, 63,192,214, 32,188, 0, 0, 40,180,195, 15,188,190,132, 75, 53, 62, -216,125, 81, 63, 0, 0,192,179,115, 77,100,193, 17,173,201, 64,181,148,248,192,203,247,159,192,233, 74, 87, 65,247, 46,190,192, - 88,106,234, 64, 45, 8,160, 64, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, - 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 25, 95,192, 0, 0,128, 63,185,214, 13, 63,208,249,224,190, 48,180, 81,191,184,158, 81,191,189,188,157, 63,140,225, 88, 62, - 26, 63,185, 62, 35, 44,185, 62,241,213,146,188,206,156,122, 63,138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, -100, 98, 82, 64, 0, 25, 95, 64,248,201,250, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,201,250, 62, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,201,250, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190, 0, 25, 95, 64, 0, 25, 95, 64, - 0, 0, 0, 0, 0, 0, 0, 0,114,145,245, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 1, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -7005,8 +5943,6 @@ char datatoc_startup_blend[]= { 110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,171,255,203, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,168,242, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,131, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, @@ -7018,14 +5954,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0,154, 6, 0, 0, 15, 2, 0, 0, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 7, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 40, 1, 0, 0, 40,188, 31, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -184,186, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, - 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, - 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, - 2, 0,112, 7, 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, - 5, 4, 0, 0, 5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 4, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,133, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,131, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, @@ -7036,14 +5964,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0,154, 6, 0, 0,127, 0, 0, 0, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 6,145, 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, - 68, 65, 84, 65,160, 0, 0, 0,152,189, 31, 2, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,136,194, 31, 2, 0, 0, 0, 0, -200,185, 31, 2, 0, 0, 0, 0,168,172, 31, 2, 0, 0, 0, 0,184,175, 31, 2, 0, 0, 0, 0,120,177, 31, 2, 0, 0, 0, 0, -248,173, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, - 15, 15,127, 7, 92, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,212, 2, 2, 0, 0, 0, 0,104,193, 31, 2, 0, 0, 0, 0, -104,193, 31, 2, 0, 0, 0, 0,136,190, 31, 2, 0, 0, 0, 0,248,191, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,216,243, 74, 3, 0, 0, 0, 0,120,145,182, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, -136,190, 31, 2, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,248,191, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 32,140, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,239, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,136,134, 71, 27, 1, 0, 0, 0,160, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15502,9 +14422,7 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15524,7 +14442,9 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15548,21 +14468,15 @@ char datatoc_startup_blend[]= { 1, 0, 0, 0, 40,125,157, 23, 1, 0, 0, 0,136,126,157, 23, 1, 0, 0, 0,136,126,157, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 29, 72, 27, 1, 0, 0, 0,136, 29, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 35, 0, 0, 0, - 2, 0, 94, 1, 8, 0, 0, 0, 3, 0, 0, 0, 56, 52, 39, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 8, 0, 0, 2, 0, 0, 0, - 68,172, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 72, 0, 0, 0, 0, 0, 64, 0, 5, 0, 2, 0,120, 7, 34, 2, - 0, 0, 0, 0,120, 7, 34, 2, 0, 0, 0, 0, 8, 63, 19, 2, 0, 0, 0, 0, 8, 63, 19, 2, 0, 0, 0, 0, 8,185, 19, 2, - 0, 0, 0, 0, 8,185, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 91, 33, 2, - 0, 0, 0, 0,216, 41, 34, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 1, 0, 2, 0, 25, 0, 1, 0, 20, 0, 20, 0, 1, 0, 0, 0, - 0, 0, 0, 0,205,204, 76, 63,205,204, 76, 63,205,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, - 0, 0,128, 63, 30, 90,100,191,154,153,153, 62,102,102,102, 63, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 31,250,254, 62, - 9, 0, 0, 63,156,153, 25, 63, 0, 0, 0, 0,205,204, 76, 62,205,204, 76, 62,205,204, 76, 62, 0, 0,128, 63, 44,135, 22, 63, - 32,133,235, 62,184,243,125, 62, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,195, 73, 76, 63, 42,135, 86, 63, 0, 0,128, 63, - 0, 0, 0, 0, 1, 43,135, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 16, 47, 93, 62, 58,180,200,190, 24, 47, 93,190, - 0, 0, 0, 0, 14, 0, 1, 0, 25, 0, 15, 0,120, 0, 60, 0, 3, 0, 5, 0,128, 0, 0, 0, 0, 0, 0, 0,144, 31, 15, 0, - 6, 0, 25, 0, 8, 0, 10, 0,200, 0, 0, 0,100, 0,100, 0, 0, 0, 0, 0, 2, 0, 1, 0, 10, 0, 50, 0, 20, 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, 32, 0, 0, 0, + 1, 0, 2, 0, 25, 0, 1, 0, 20, 0, 20, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,205,204, 76, 63,205,204, 76, 63, + 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 30, 90,100,191,154,153,153, 62,102,102,102, 63, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 31,250,254, 62, 9, 0, 0, 63,156,153, 25, 63, 0, 0, 0, 0,205,204, 76, 62, +205,204, 76, 62,205,204, 76, 62, 0, 0,128, 63, 44,135, 22, 63, 32,133,235, 62,184,243,125, 62, 0, 0, 0, 0, 1, 0, 0, 0, + 0, 0, 0, 0,195, 73, 76, 63, 42,135, 86, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 43,135, 61, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 16, 47, 93, 62, 58,180,200,190, 24, 47, 93,190, 0, 0, 0, 0, 14, 0, 0, 0, 25, 0, 15, 0,120, 0, 60, 0, + 3, 0, 5, 0,128, 0, 0, 0, 0, 0, 0, 0,144, 31, 15, 0, 6, 0, 25, 0, 8, 0, 10, 0,200, 0, 0, 0,100, 0,100, 0, + 0, 0, 0, 0, 2, 0, 1, 0, 10, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15572,10 +14486,9 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, - 0, 0, 2, 0, 2, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 63, - 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 2, 0, 8, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, @@ -15597,29 +14510,9 @@ char datatoc_startup_blend[]= { 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, - 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 30, 0, 0,120, 7, 34, 2, - 0, 0, 0, 0,189, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,101,102, 97, -117,108,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255, -153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255, -153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, 1, 0, 15, 0,241,255, 0, 0, 25, 25, 25,255, -153,153,153,255,153,153,153,255, 90, 90, 90,255, 0, 0, 0,255,255,255,255,255, 1, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0,255, - 70, 70, 70,255, 86,128,194,255,255,255,255,255,255,255,255,255, 0, 0, 0,255, 1, 0, 15, 0,241,255, 0, 0, 0, 0, 0,255, - 70, 70, 70,255, 70, 70, 70,255,255,255,255,255, 0, 0, 0,255,255,255,255,255, 1, 0, 15, 0,241,255, 0, 0, 25, 25, 25,255, -153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255, -180,180,180,255,153,153,153,255, 90, 90, 90,255, 0, 0, 0,255,255,255,255,255, 1, 0,236,255, 0, 0, 0, 0, 25, 25, 25,255, -180,180,180,255,153,153,153,255,128,128,128,255, 0, 0, 0,255,255,255,255,255, 1, 0,236,255, 0, 0, 0, 0, 0, 0, 0,255, - 70, 70, 70,255, 70, 70, 70,255,255,255,255,255,255,255,255,255,204,204,204,255, 1, 0, 15, 0,241,255, 0, 0, 0, 0, 0,255, - 63, 63, 63,255, 86,128,194,255,255,255,255,255, 0, 0, 0,255, 0, 0, 0,255, 0, 0, 25, 0,236,255, 0, 0, 0, 0, 0,255, - 25, 25, 25,230, 45, 45, 45,230,100,100,100,255,160,160,160,255,255,255,255,255, 0, 0, 25, 0,236,255, 0, 0, 0, 0, 0,255, - 0, 0, 0, 0, 86,128,194,255,255,255,255,255,255,255,255,255, 0, 0, 0,255, 1, 0, 38, 0, 0, 0, 0, 0, 25, 25, 25,255, -128,128,128,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 50,180, - 80, 80, 80,180,100,100,100,180,128,128,128,255, 0, 0, 0,255,255,255,255,255, 1, 0, 5, 0,251,255, 0, 0, 0, 0, 0,255, -190,190,190,255,100,100,100,180, 68, 68, 68,255, 0, 0, 0,255,255,255,255,255, 0, 0, 5, 0,251,255, 0, 0, 0, 0, 0,255, - 0, 0, 0, 0, 86,128,194,255, 0, 0, 0,255, 0, 0, 0,255, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,115,190, 76,255, - 90,166, 51,255,240,235,100,255,215,211, 75,255,180, 0,255,255,153, 0,230,255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 30, 0, 0, 56,132,109, 3, 1, 0, 0, 0,186, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,101,102, 97,117,108,116, 0, 0, 0, 0, 0, @@ -15642,16 +14535,6 @@ char datatoc_startup_blend[]= { 0, 0, 0,255, 0, 0, 0,255, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,115,190, 76,255, 90,166, 51,255,240,235,100,255, 215,211, 75,255,180, 0,255,255,153, 0,230,255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,130,130,130,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100, -127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, - 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, - 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, -144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255, 255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255, @@ -15662,7 +14545,7 @@ char datatoc_startup_blend[]= { 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255, 219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, @@ -15672,7 +14555,7 @@ char datatoc_startup_blend[]= { 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,32, 255,255,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60, 255,133, 0,255, 32, 0, 0,255, 0, 32, 0,255, 0, 0,128,255, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255, -240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, +240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, @@ -15696,14 +14579,14 @@ char datatoc_startup_blend[]= { 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, 144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, + 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255,255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255, 255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,173,173,173,255,127,112,112,100, 0, 0, 0, 0, - 91, 91, 91,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, +255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, + 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255, @@ -15711,19 +14594,19 @@ char datatoc_startup_blend[]= { 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, + 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255, -241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 79,101, 73,255,135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,173,173,173,255,127,112,112,100, 0, 0, 0, 0, 91, 91, 91,255, 0, 0, 0,255, +241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60, 255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, - 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255, + 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255, 240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, - 64,192, 48,255,240,144,160,255, 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, - 0, 0, 0,255,255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255, 255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255, 255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, 0, 0, 0,255, 0, 0, 0,255, 255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, @@ -15741,9 +14624,9 @@ char datatoc_startup_blend[]= { 112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 79,101, 73,255, 135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, + 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, 96,192, 64,255, 144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, - 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, + 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255,255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0, @@ -15752,13 +14635,13 @@ char datatoc_startup_blend[]= { 255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, -255,255,255, 10,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, + 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255, 219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255,110,110,110,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 81,105,135,255,109, 88,129,255, 78,152, 62,255, 46,143,143,255,169, 84,124,255,126,126, 80,255,162, 95,111,255, +109,145,131,255,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 53,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255, @@ -15768,36 +14651,36 @@ char datatoc_startup_blend[]= { 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255, 240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,153,153,153,255, 0, 0, 0, 0, 0, 0, 0,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255,110,110,110,255, 0, 0, 0, 0, 0, 0, 0,255, 255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,143,143,143,255,198,119,119,255,255, 0, 0,255, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, -255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255, +255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,132,132,132,255, 0, 0, 0,255, 0, 0, 0,255, +255,255,255,255, 94, 94, 94,255,172,172,172,255, 17, 27, 60,100, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, +195,195,195,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255, 219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, -100, 0, 0,255, 0, 0,200,255,128, 0, 80,255, 95, 95, 0,255, 0,100, 50,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,153,153,153,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100, -127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,143,143,143,255, +198,119,119,255,255, 0, 0,255, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, 144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0,100, 0, 0,255, 0, 0,200,255, +128, 0, 80,255, 95, 95, 0,255, 0,100, 50,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255, 255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,173,173,173,255,127,112,112,100, 0, 0, 0, 0, - 91, 91, 91,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, +255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, + 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255, @@ -15805,23 +14688,23 @@ char datatoc_startup_blend[]= { 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, + 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255, + 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,173,173,173,255,127,112,112,100, 0, 0, 0, 0, 91, 91, 91,255, 0, 0, 0,255, 241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60, 255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255, 240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 4, 0,155,155,155,160,100,100,100,255,111,106,100,255,104,106,117,255,105,117,110,255, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100,100,100,255, 0, 0, 0, 0, 0, 0, 0,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, 0, 0, 0, 0, 0, 0, 0,255, 255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255, 255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255, 255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, -255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255, +255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,255,255,255, 219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, @@ -15829,7 +14712,7 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 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, 4, 0, 155,155,155,160,100,100,100,255,108,105,111,255,104,106,117,255,105,117,110,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100,100,100,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100, 127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, @@ -15849,8 +14732,8 @@ char datatoc_startup_blend[]= { 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255, 219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, - 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 96,128,255,255,255,255,255,255, - 0,170, 0,255,220, 96, 96,255,220, 96, 96,255, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, @@ -17018,7 +15901,7 @@ char datatoc_startup_blend[]= { 105,103,104,116, 0, 66,111,105,100, 83,116, 97,116,101, 0, 70, 76, 85, 73, 68, 95, 51, 68, 0, 87, 84, 85, 82, 66, 85, 76, 69, 78, 67, 69, 0, 84, 76, 69, 78, 1, 0, 1, 0, 2, 0, 2, 0, 4, 0, 4, 0, 4, 0, 4, 0, 8, 0, 0, 0, 16, 0, 24, 0, 16, 0, 4, 0, 8, 0, 16, 0, 16, 0, 32, 0, 96, 0, 72, 0, 72, 2, 0, 0, 40, 0,144, 0, 16, 5,112, 0, 36, 0, 56, 0, -112, 0,128, 0,168, 0, 96, 0, 40, 0, 48, 0,176, 0, 16, 0,136, 0, 40, 0,184, 5,240, 1, 0, 0, 0, 0, 0, 0, 24, 1, +112, 0,128, 0,168, 0, 96, 0, 40, 0, 48, 0,176, 0, 16, 0,136, 0, 40, 0, 16, 6,240, 1, 0, 0, 0, 0, 0, 0, 24, 1, 112, 1,120, 1, 24, 0, 8, 3,200, 0, 0, 0, 88, 0, 40, 1, 8, 1,136, 0,224, 1, 64, 1, 88, 0, 32, 3,104, 0, 88, 1, 0, 0,128, 0,104, 0,208, 0, 80, 0, 8, 0, 16, 0, 32, 0, 0, 0,216, 1, 0, 0, 0, 0, 0, 0,176, 1, 20, 0, 48, 0, 64, 0, 20, 0, 12, 0, 16, 0, 4, 0, 8, 0, 8, 0, 0, 0, 40, 0,128, 0, 48, 0, 8, 0, 16, 0, 8, 0, 8, 0, 4, 0, @@ -17732,3 +16615,4 @@ char datatoc_startup_blend[]= { 7, 0, 57, 9, 7, 0, 9, 12, 7, 0, 10, 12, 7, 0, 65, 1, 7, 0, 11, 12, 4, 0,148, 9, 4, 0, 9, 3, 2, 0, 15, 0, 2, 0, 35, 0, 4, 0, 67, 0, 69, 78, 68, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + From d28fc39ff50a7afbe5f456ed5558b5aea4797d15 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 24 Jun 2011 17:19:34 +0000 Subject: [PATCH 063/241] Cycles: attempt at fixing windows compile problem after merge. --- intern/cycles/blender/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/intern/cycles/blender/CMakeLists.txt b/intern/cycles/blender/CMakeLists.txt index 784f78a54d4..ef68431267c 100644 --- a/intern/cycles/blender/CMakeLists.txt +++ b/intern/cycles/blender/CMakeLists.txt @@ -66,8 +66,8 @@ ADD_DEPENDENCIES(cycles_blender bf_rna) IF(WIN32) TARGET_LINK_LIBRARIES(cycles_blender ${PYTHON_LINKFLAGS}) - TARGET_LINK_LIBRARIES(cycles_blender debug ${PYTHON_LIBRARY}_d) - TARGET_LINK_LIBRARIES(cycles_blender optimized ${PYTHON_LIBRARY}) + TARGET_LINK_LIBRARIES(cycles_blender debug ${PYTHON_LIBRARIES}_d) + TARGET_LINK_LIBRARIES(cycles_blender optimized ${PYTHON_LIBRARIES}) SET_TARGET_PROPERTIES(cycles_blender PROPERTIES PREFIX "lib") SET_TARGET_PROPERTIES(cycles_blender PROPERTIES SUFFIX ".pyd") From 1cf0af703d0a7c18e0d03e5fd4fb9f0a0597b629 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 27 Jun 2011 17:10:50 +0000 Subject: [PATCH 064/241] Cycles: working towards texture workflow design http://wiki.blender.org/index.php/Dev:2.5/Source/Render/TextureWorkflow * Added "active texture node" in shading node trees. * Texture draw mode draw active texture node now, and new Material draw mode shows GLSL material. * GLSL materials now match solid draw mode lighting better. * Texture properties can now texture nodes from material/world/lamp. --- intern/cycles/blender/addon/ui.py | 57 +- release/scripts/startup/bl_ui/space_view3d.py | 1 - source/blender/blenkernel/BKE_DerivedMesh.h | 12 +- source/blender/blenkernel/BKE_node.h | 1 + source/blender/blenkernel/BKE_scene.h | 2 + .../blender/blenkernel/intern/DerivedMesh.c | 138 + .../blender/blenkernel/intern/cdderivedmesh.c | 157 +- source/blender/blenkernel/intern/material.c | 4 + source/blender/blenkernel/intern/node.c | 73 +- source/blender/blenkernel/intern/scene.c | 8 +- .../blender/blenkernel/intern/subsurf_ccg.c | 150 + source/blender/blenloader/intern/readfile.c | 4 +- source/blender/editors/include/ED_node.h | 2 + source/blender/editors/include/UI_interface.h | 7 +- .../editors/interface/interface_node.c | 99 +- .../editors/interface/interface_templates.c | 2 +- .../editors/interface/interface_widgets.c | 4 + .../editors/space_buttons/buttons_context.c | 16 +- .../editors/space_buttons/buttons_intern.h | 7 + .../editors/space_buttons/buttons_texture.c | 74 +- .../blender/editors/space_node/CMakeLists.txt | 1 + source/blender/editors/space_node/SConscript | 2 +- source/blender/editors/space_node/node_edit.c | 71 +- .../blender/editors/space_node/node_intern.h | 1 - .../blender/editors/space_node/node_select.c | 4 +- .../blender/editors/space_view3d/drawmesh.c | 376 ++- .../blender/editors/space_view3d/drawobject.c | 16 +- .../editors/space_view3d/view3d_draw.c | 6 +- source/blender/gpu/GPU_extensions.h | 1 + source/blender/gpu/GPU_material.h | 3 +- source/blender/gpu/intern/gpu_draw.c | 19 +- source/blender/gpu/intern/gpu_material.c | 33 +- .../gpu/intern/gpu_shader_material.glsl | 29 +- .../gpu/intern/gpu_shader_material.glsl.c | 2809 +++++++++-------- source/blender/makesdna/DNA_node_types.h | 3 +- source/blender/makesdna/DNA_object_types.h | 4 +- source/blender/makesdna/DNA_view3d_types.h | 2 +- source/blender/makesrna/intern/rna_nodetree.c | 5 + source/blender/makesrna/intern/rna_space.c | 10 +- source/blender/makesrna/intern/rna_ui_api.c | 4 - .../nodes/intern/SHD_nodes/SHD_tex_blend.c | 3 + .../nodes/intern/SHD_nodes/SHD_tex_clouds.c | 3 + .../intern/SHD_nodes/SHD_tex_distnoise.c | 3 + .../intern/SHD_nodes/SHD_tex_environment.c | 12 +- .../nodes/intern/SHD_nodes/SHD_tex_image.c | 10 +- .../nodes/intern/SHD_nodes/SHD_tex_magic.c | 3 + .../nodes/intern/SHD_nodes/SHD_tex_marble.c | 3 + .../nodes/intern/SHD_nodes/SHD_tex_musgrave.c | 3 + .../nodes/intern/SHD_nodes/SHD_tex_noise.c | 3 + .../nodes/intern/SHD_nodes/SHD_tex_sky.c | 3 + .../nodes/intern/SHD_nodes/SHD_tex_stucci.c | 3 + .../nodes/intern/SHD_nodes/SHD_tex_voronoi.c | 3 + .../nodes/intern/SHD_nodes/SHD_tex_wood.c | 3 + source/blender/nodes/intern/SHD_util.h | 1 + source/gameengine/Ketsji/BL_BlenderShader.cpp | 2 +- .../RAS_OpenGLRasterizer.cpp | 2 +- 56 files changed, 2521 insertions(+), 1756 deletions(-) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 88a1a1a602e..4f171a78b99 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -233,7 +233,7 @@ def panel_node_draw(layout, id, output_type, input_name): layout.label(text="No output node.") else: input = find_node_input(node, input_name) - layout.template_node_view(id, ntree, node, input); + layout.template_node_view(ntree, node, input); class CyclesLamp_PT_lamp(CyclesButtonsPanel, bpy.types.Panel): bl_label = "Surface" @@ -354,31 +354,34 @@ class CyclesTexture_PT_context(CyclesButtonsPanel, bpy.types.Panel): pin_id = space.pin_id use_pin_id = space.use_pin_id; user = context.texture_user + node = context.texture_node if not use_pin_id or not isinstance(pin_id, bpy.types.Texture): pin_id = None if not pin_id: layout.template_texture_user() + + if user: layout.separator() - split = layout.split(percentage=0.65) - col = split.column() + split = layout.split(percentage=0.65) + col = split.column() - if pin_id: - col.template_ID(space, "pin_id") - elif user: - col.template_ID(user, "texture", new="texture.new") - - if tex: - row = split.row() - row.prop(tex, "use_nodes", icon="NODETREE", text="") - row.label() + if pin_id: + col.template_ID(space, "pin_id") + elif user: + col.template_ID(user, "texture", new="texture.new") + + if tex: + row = split.row() + row.prop(tex, "use_nodes", icon="NODETREE", text="") + row.label() - if not tex.use_nodes: - split = layout.split(percentage=0.2) - split.label(text="Type:") - split.prop(tex, "type", text="") + if not tex.use_nodes: + split = layout.split(percentage=0.2) + split.label(text="Type:") + split.prop(tex, "type", text="") class CyclesTexture_PT_nodes(CyclesButtonsPanel, bpy.types.Panel): bl_label = "Nodes" @@ -395,6 +398,22 @@ class CyclesTexture_PT_nodes(CyclesButtonsPanel, bpy.types.Panel): tex = context.texture panel_node_draw(layout, tex, 'OUTPUT_TEXTURE', 'Color') +class CyclesTexture_PT_node(CyclesButtonsPanel, bpy.types.Panel): + bl_label = "Node" + bl_context = "texture" + + @classmethod + def poll(cls, context): + node = context.texture_node + return node and CyclesButtonsPanel.poll(context) + + def draw(self, context): + layout = self.layout + + node = context.texture_node + ntree = node.id_data + layout.template_node_view(ntree, node, None) + class CyclesTexture_PT_mapping(CyclesButtonsPanel, bpy.types.Panel): bl_label = "Mapping" bl_context = "texture" @@ -402,7 +421,8 @@ class CyclesTexture_PT_mapping(CyclesButtonsPanel, bpy.types.Panel): @classmethod def poll(cls, context): tex = context.texture - return (tex and tex.use_nodes) and CyclesButtonsPanel.poll(context) + node = context.texture_node + return (node or (tex and tex.use_nodes)) and CyclesButtonsPanel.poll(context) def draw(self, context): layout = self.layout @@ -416,7 +436,8 @@ class CyclesTexture_PT_color(CyclesButtonsPanel, bpy.types.Panel): @classmethod def poll(cls, context): tex = context.texture - return (tex and tex.use_nodes) and CyclesButtonsPanel.poll(context) + node = context.texture_node + return (node or (tex and tex.use_nodes)) and CyclesButtonsPanel.poll(context) def draw(self, context): layout = self.layout diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index b7c7e2a18b6..70635cb2444 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -2127,7 +2127,6 @@ class VIEW3D_PT_view3d_display(bpy.types.Panel): col = layout.column() col.label(text="Shading:") col.prop(gs, "material_mode", text="") - col.prop(view, "show_textured_solid") layout.separator() diff --git a/source/blender/blenkernel/BKE_DerivedMesh.h b/source/blender/blenkernel/BKE_DerivedMesh.h index 55ade5fe5d9..45c4b949809 100644 --- a/source/blender/blenkernel/BKE_DerivedMesh.h +++ b/source/blender/blenkernel/BKE_DerivedMesh.h @@ -325,6 +325,14 @@ struct DerivedMesh { float t), void *userData); + /* Draw all faces with materials + * o setMaterial is called for every different material nr + * o setFace is called to verify if a face must be hidden + */ + void (*drawMappedFacesMat)(DerivedMesh *dm, + void (*setMaterial)(void *userData, int, void *attribs), + int (*setFace)(void *userData, int index), void *userData); + /* Release reference to the DerivedMesh. This function decides internally * if the DerivedMesh will be freed, or cached for later use. */ void (*release)(DerivedMesh *dm); @@ -526,7 +534,7 @@ void weight_to_rgb(float input, float *fr, float *fg, float *fb); typedef struct DMVertexAttribs { struct { struct MTFace *array; - int emOffset, glIndex; + int emOffset, glIndex, glTexco; } tface[MAX_MTFACE]; struct { @@ -541,7 +549,7 @@ typedef struct DMVertexAttribs { struct { float (*array)[3]; - int emOffset, glIndex; + int emOffset, glIndex, glTexco; } orco; int tottface, totmcol, tottang, totorco; diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h index bd88d1da9d7..be9c359a13c 100644 --- a/source/blender/blenkernel/BKE_node.h +++ b/source/blender/blenkernel/BKE_node.h @@ -201,6 +201,7 @@ struct bNode *nodeGetActive(struct bNodeTree *ntree); struct bNode *nodeGetActiveID(struct bNodeTree *ntree, short idtype); int nodeSetActiveID(struct bNodeTree *ntree, short idtype, struct ID *id); void nodeClearActiveID(struct bNodeTree *ntree, short idtype); +struct bNode *nodeGetActiveTexture(struct bNodeTree *ntree); void NodeTagChanged(struct bNodeTree *ntree, struct bNode *node); int NodeTagIDChanged(struct bNodeTree *ntree, struct ID *id); diff --git a/source/blender/blenkernel/BKE_scene.h b/source/blender/blenkernel/BKE_scene.h index 9164085e7b7..8f85f14306f 100644 --- a/source/blender/blenkernel/BKE_scene.h +++ b/source/blender/blenkernel/BKE_scene.h @@ -102,6 +102,8 @@ int get_render_child_particle_number(struct RenderData *r, int num); int get_render_shadow_samples(struct RenderData *r, int samples); float get_render_aosss_error(struct RenderData *r, float error); +int scene_use_new_shading_system(struct Scene *scene); + #ifdef __cplusplus } #endif diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index d9c98bc0200..454aaeff7e0 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -1050,6 +1050,7 @@ static void emDM_drawMappedFacesGLSL(DerivedMesh *dm, glEnd(); } } +#undef PASSATTRIB } static void emDM_drawFacesGLSL(DerivedMesh *dm, @@ -1058,6 +1059,140 @@ static void emDM_drawFacesGLSL(DerivedMesh *dm, dm->drawMappedFacesGLSL(dm, setMaterial, NULL, NULL); } +static void emDM_drawMappedFacesMat(DerivedMesh *dm, + void (*setMaterial)(void *userData, int, void *attribs), + int (*setFace)(void *userData, int index), void *userData) +{ + EditMeshDerivedMesh *emdm= (EditMeshDerivedMesh*) dm; + EditMesh *em= emdm->em; + float (*vertexCos)[3]= emdm->vertexCos; + float (*vertexNos)[3]= emdm->vertexNos; + EditVert *eve; + EditFace *efa; + DMVertexAttribs attribs= {{{0}}}; + GPUVertexAttribs gattribs; + int i, b, matnr, new_matnr; + + matnr = -1; + + /* always use smooth shading even for flat faces, else vertex colors wont interpolate */ + glShadeModel(GL_SMOOTH); + + for (i=0,eve=em->verts.first; eve; eve= eve->next) + eve->tmp.l = (intptr_t) i++; + +#define PASSATTRIB(efa, eve, vert) { \ + if(attribs.totorco) { \ + float *orco = attribs.orco.array[eve->tmp.l]; \ + if(attribs.orco.glTexco) \ + glTexCoord3fv(orco); \ + else \ + glVertexAttrib3fvARB(attribs.orco.glIndex, orco); \ + } \ + for(b = 0; b < attribs.tottface; b++) { \ + MTFace *_tf = (MTFace*)((char*)efa->data + attribs.tface[b].emOffset); \ + if(attribs.tface[b].glTexco) \ + glTexCoord2fv(_tf->uv[vert]); \ + else \ + glVertexAttrib2fvARB(attribs.tface[b].glIndex, _tf->uv[vert]); \ + } \ + for(b = 0; b < attribs.totmcol; b++) { \ + MCol *cp = (MCol*)((char*)efa->data + attribs.mcol[b].emOffset); \ + GLubyte col[4]; \ + col[0]= cp->b; col[1]= cp->g; col[2]= cp->r; col[3]= cp->a; \ + glVertexAttrib4ubvARB(attribs.mcol[b].glIndex, col); \ + } \ + if(attribs.tottang) { \ + float *tang = attribs.tang.array[i*4 + vert]; \ + glVertexAttrib4fvARB(attribs.tang.glIndex, tang); \ + } \ +} + + for (i=0,efa= em->faces.first; efa; i++,efa= efa->next) { + int drawSmooth= (efa->flag & ME_SMOOTH); + + /* face hiding */ + if(setFace && !setFace(userData, i)) + continue; + + /* material */ + new_matnr = efa->mat_nr + 1; + if(new_matnr != matnr) { + setMaterial(userData, matnr = new_matnr, &gattribs); + DM_vertex_attributes_from_gpu(dm, &gattribs, &attribs); + } + + /* face */ + glBegin(efa->v4?GL_QUADS:GL_TRIANGLES); + if (!drawSmooth) { + if(vertexCos) glNormal3fv(emdm->faceNos[i]); + else glNormal3fv(efa->n); + + PASSATTRIB(efa, efa->v1, 0); + if(vertexCos) glVertex3fv(vertexCos[(int) efa->v1->tmp.l]); + else glVertex3fv(efa->v1->co); + + PASSATTRIB(efa, efa->v2, 1); + if(vertexCos) glVertex3fv(vertexCos[(int) efa->v2->tmp.l]); + else glVertex3fv(efa->v2->co); + + PASSATTRIB(efa, efa->v3, 2); + if(vertexCos) glVertex3fv(vertexCos[(int) efa->v3->tmp.l]); + else glVertex3fv(efa->v3->co); + + if(efa->v4) { + PASSATTRIB(efa, efa->v4, 3); + if(vertexCos) glVertex3fv(vertexCos[(int) efa->v4->tmp.l]); + else glVertex3fv(efa->v4->co); + } + } else { + PASSATTRIB(efa, efa->v1, 0); + if(vertexCos) { + glNormal3fv(vertexNos[(int) efa->v1->tmp.l]); + glVertex3fv(vertexCos[(int) efa->v1->tmp.l]); + } + else { + glNormal3fv(efa->v1->no); + glVertex3fv(efa->v1->co); + } + + PASSATTRIB(efa, efa->v2, 1); + if(vertexCos) { + glNormal3fv(vertexNos[(int) efa->v2->tmp.l]); + glVertex3fv(vertexCos[(int) efa->v2->tmp.l]); + } + else { + glNormal3fv(efa->v2->no); + glVertex3fv(efa->v2->co); + } + + PASSATTRIB(efa, efa->v3, 2); + if(vertexCos) { + glNormal3fv(vertexNos[(int) efa->v3->tmp.l]); + glVertex3fv(vertexCos[(int) efa->v3->tmp.l]); + } + else { + glNormal3fv(efa->v3->no); + glVertex3fv(efa->v3->co); + } + + if(efa->v4) { + PASSATTRIB(efa, efa->v4, 3); + if(vertexCos) { + glNormal3fv(vertexNos[(int) efa->v4->tmp.l]); + glVertex3fv(vertexCos[(int) efa->v4->tmp.l]); + } + else { + glNormal3fv(efa->v4->no); + glVertex3fv(efa->v4->co); + } + } + } + glEnd(); + } +#undef PASSATTRIB +} + static void emDM_getMinMax(DerivedMesh *dm, float min_r[3], float max_r[3]) { EditMeshDerivedMesh *emdm= (EditMeshDerivedMesh*) dm; @@ -1364,6 +1499,7 @@ DerivedMesh *editmesh_get_derived(EditMesh *em, float (*vertexCos)[3]) emdm->dm.drawMappedFacesGLSL = emDM_drawMappedFacesGLSL; emdm->dm.drawFacesTex = emDM_drawFacesTex; emdm->dm.drawFacesGLSL = emDM_drawFacesGLSL; + emdm->dm.drawMappedFacesMat = emDM_drawMappedFacesMat; emdm->dm.drawUVEdges = emDM_drawUVEdges; emdm->dm.release = emDM_release; @@ -2765,6 +2901,7 @@ void DM_vertex_attributes_from_gpu(DerivedMesh *dm, GPUVertexAttribs *gattribs, attribs->tface[a].array = tfdata->layers[layer].data; attribs->tface[a].emOffset = tfdata->layers[layer].offset; attribs->tface[a].glIndex = gattribs->layer[b].glindex; + attribs->tface[a].glTexco = gattribs->layer[b].gltexco; } } else if(gattribs->layer[b].type == CD_MCOL) { @@ -2805,6 +2942,7 @@ void DM_vertex_attributes_from_gpu(DerivedMesh *dm, GPUVertexAttribs *gattribs, attribs->orco.array = vdata->layers[layer].data; attribs->orco.emOffset = vdata->layers[layer].offset; attribs->orco.glIndex = gattribs->layer[b].glindex; + attribs->orco.glTexco = gattribs->layer[b].gltexco; } } } diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c index 72ee9b55800..23e40e72356 100644 --- a/source/blender/blenkernel/intern/cdderivedmesh.c +++ b/source/blender/blenkernel/intern/cdderivedmesh.c @@ -990,6 +990,50 @@ static void cdDM_drawMappedFacesTex(DerivedMesh *dm, int (*setDrawOptions)(void cdDM_drawFacesTex_common(dm, NULL, setDrawOptions, userData); } +static void cddm_draw_attrib_vertex(DMVertexAttribs *attribs, MVert *mvert, int a, int index, int vert, int smoothnormal) +{ + int b; + + /* orco texture coordinates */ + if(attribs->totorco) { + if(attribs->orco.glTexco) + glTexCoord3fv(attribs->orco.array[index]); + else + glVertexAttrib3fvARB(attribs->orco.glIndex, attribs->orco.array[index]); + } + + /* uv texture coordinates */ + for(b = 0; b < attribs->tottface; b++) { + MTFace *tf = &attribs->tface[b].array[a]; + + if(attribs->tface[b].glTexco) + glTexCoord2fv(tf->uv[vert]); + else + glVertexAttrib2fvARB(attribs->tface[b].glIndex, tf->uv[vert]); + } + + /* vertex colors */ + for(b = 0; b < attribs->totmcol; b++) { + MCol *cp = &attribs->mcol[b].array[a*4 + vert]; + GLubyte col[4]; + col[0]= cp->b; col[1]= cp->g; col[2]= cp->r; col[3]= cp->a; + glVertexAttrib4ubvARB(attribs->mcol[b].glIndex, col); + } + + /* tangent for normal mapping */ + if(attribs->tottang) { + float *tang = attribs->tang.array[a*4 + vert]; + glVertexAttrib4fvARB(attribs->tang.glIndex, tang); + } + + /* vertex normal */ + if(smoothnormal) + glNormal3sv(mvert[index].no); + + /* vertex coordinate */ + glVertex3fv(mvert[index].co); +} + static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, void *attribs), int (*setDrawOptions)(void *userData, int index), void *userData) { CDDerivedMesh *cddm = (CDDerivedMesh*) dm; @@ -1080,37 +1124,14 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, vo } } -#define PASSVERT(index, vert) { \ - if(attribs.totorco) \ - glVertexAttrib3fvARB(attribs.orco.glIndex, attribs.orco.array[index]); \ - for(b = 0; b < attribs.tottface; b++) { \ - MTFace *tf = &attribs.tface[b].array[a]; \ - glVertexAttrib2fvARB(attribs.tface[b].glIndex, tf->uv[vert]); \ - } \ - for(b = 0; b < attribs.totmcol; b++) { \ - MCol *cp = &attribs.mcol[b].array[a*4 + vert]; \ - GLubyte col[4]; \ - col[0]= cp->b; col[1]= cp->g; col[2]= cp->r; col[3]= cp->a; \ - glVertexAttrib4ubvARB(attribs.mcol[b].glIndex, col); \ - } \ - if(attribs.tottang) { \ - float *tang = attribs.tang.array[a*4 + vert]; \ - glVertexAttrib4fvARB(attribs.tang.glIndex, tang); \ - } \ - if(smoothnormal) \ - glNormal3sv(mvert[index].no); \ - glVertex3fv(mvert[index].co); \ - } + cddm_draw_attrib_vertex(&attribs, mvert, a, mface->v1, 0, smoothnormal); + cddm_draw_attrib_vertex(&attribs, mvert, a, mface->v2, 1, smoothnormal); + cddm_draw_attrib_vertex(&attribs, mvert, a, mface->v3, 2, smoothnormal); - PASSVERT(mface->v1, 0); - PASSVERT(mface->v2, 1); - PASSVERT(mface->v3, 2); if(mface->v4) - PASSVERT(mface->v4, 3) + cddm_draw_attrib_vertex(&attribs, mvert, a, mface->v4, 3, smoothnormal); else - PASSVERT(mface->v3, 2) - -#undef PASSVERT + cddm_draw_attrib_vertex(&attribs, mvert, a, mface->v3, 2, smoothnormal); } glEnd(); } @@ -1352,6 +1373,85 @@ static void cdDM_drawFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, void *at dm->drawMappedFacesGLSL(dm, setMaterial, NULL, NULL); } +static void cdDM_drawMappedFacesMat(DerivedMesh *dm, + void (*setMaterial)(void *userData, int, void *attribs), + int (*setFace)(void *userData, int index), void *userData) +{ + CDDerivedMesh *cddm = (CDDerivedMesh*) dm; + GPUVertexAttribs gattribs; + DMVertexAttribs attribs; + MVert *mvert = cddm->mvert; + MFace *mf = cddm->mface; + float (*nors)[3] = dm->getFaceDataArray(dm, CD_NORMAL); + int a, matnr, new_matnr; + int orig, *index = dm->getFaceDataArray(dm, CD_ORIGINDEX); + + cdDM_update_normals_from_pbvh(dm); + + matnr = -1; + + glShadeModel(GL_SMOOTH); + + memset(&attribs, 0, sizeof(attribs)); + + glBegin(GL_QUADS); + + for(a = 0; a < dm->numFaceData; a++, mf++) { + const int smoothnormal = (mf->flag & ME_SMOOTH); + + /* material */ + new_matnr = mf->mat_nr + 1; + + if(new_matnr != matnr) { + glEnd(); + + setMaterial(userData, matnr = new_matnr, &gattribs); + DM_vertex_attributes_from_gpu(dm, &gattribs, &attribs); + + glBegin(GL_QUADS); + } + + /* skipping faces */ + if(setFace) { + orig = (index)? index[a]: a; + + if(orig != ORIGINDEX_NONE && !setFace(userData, orig)) + continue; + } + + /* smooth normal */ + if(!smoothnormal) { + if(nors) { + glNormal3fv(nors[a]); + } + else { + /* TODO ideally a normal layer should always be available */ + float nor[3]; + + if(mf->v4) + normal_quad_v3( nor,mvert[mf->v1].co, mvert[mf->v2].co, mvert[mf->v3].co, mvert[mf->v4].co); + else + normal_tri_v3( nor,mvert[mf->v1].co, mvert[mf->v2].co, mvert[mf->v3].co); + + glNormal3fv(nor); + } + } + + /* vertices */ + cddm_draw_attrib_vertex(&attribs, mvert, a, mf->v1, 0, smoothnormal); + cddm_draw_attrib_vertex(&attribs, mvert, a, mf->v2, 1, smoothnormal); + cddm_draw_attrib_vertex(&attribs, mvert, a, mf->v3, 2, smoothnormal); + + if(mf->v4) + cddm_draw_attrib_vertex(&attribs, mvert, a, mf->v4, 3, smoothnormal); + else + cddm_draw_attrib_vertex(&attribs, mvert, a, mf->v3, 2, smoothnormal); + } + glEnd(); + + glShadeModel(GL_FLAT); +} + static void cdDM_drawMappedEdges(DerivedMesh *dm, int (*setDrawOptions)(void *userData, int index), void *userData) { CDDerivedMesh *cddm = (CDDerivedMesh*) dm; @@ -1522,6 +1622,7 @@ static CDDerivedMesh *cdDM_create(const char *desc) dm->drawMappedFaces = cdDM_drawMappedFaces; dm->drawMappedFacesTex = cdDM_drawMappedFacesTex; dm->drawMappedFacesGLSL = cdDM_drawMappedFacesGLSL; + dm->drawMappedFacesMat = cdDM_drawMappedFacesMat; dm->foreachMappedVert = cdDM_foreachMappedVert; dm->foreachMappedEdge = cdDM_foreachMappedEdge; diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c index 334f018efc9..14c16bccd67 100644 --- a/source/blender/blenkernel/intern/material.c +++ b/source/blender/blenkernel/intern/material.c @@ -629,6 +629,10 @@ Material *give_node_material(Material *ma) return NULL; } +/*Image *give_mesh_face_image(Object *ob, int face) +{ +}*/ + /* GS reads the memory pointed at in a specific ordering. There are, * however two definitions for it. I have jotted them down here, both, * but I think the first one is actually used. The thing is that diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index 7ad69b44267..34d9b8c20dc 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -1828,11 +1828,15 @@ void nodeSetActive(bNodeTree *ntree, bNode *node) if(GS(node->id->name) == GS(tnode->id->name)) tnode->flag &= ~NODE_ACTIVE_ID; } + if(node->typeinfo->nclass == NODE_CLASS_TEXTURE) + tnode->flag &= ~NODE_ACTIVE_TEXTURE; } node->flag |= NODE_ACTIVE; if(node->id) node->flag |= NODE_ACTIVE_ID; + if(node->typeinfo->nclass == NODE_CLASS_TEXTURE) + node->flag |= NODE_ACTIVE_TEXTURE; } /* use flags are not persistant yet, groups might need different tagging, so we do it each time @@ -3179,14 +3183,64 @@ static void gpu_node_group_execute(bNodeStack *stack, GPUMaterial *mat, bNode *g } } +bNode *nodeGetActiveTexture(bNodeTree *ntree) +{ + /* this is the node we texture paint and draw in textured draw */ + bNode *node; + + if(!ntree) + return NULL; + + /* check for group edit */ + for(node= ntree->nodes.first; node; node= node->next) + if(node->flag & NODE_GROUP_EDIT) + break; + + if(node) + ntree= (bNodeTree*)node->id; + + for(node= ntree->nodes.first; node; node= node->next) + if(node->flag & NODE_ACTIVE_TEXTURE) + return node; + + return NULL; +} + +static void ntreeGPUOutputLink(GPUMaterial *mat, bNode *node, bNodeStack *nsout[MAX_SOCKET]) +{ + bNodeSocket *sock; + int i; + + /* link the first socket output as the material output, for viewing + individual textures in texture draw mode */ + for(sock=node->outputs.first, i=0; sock; sock=sock->next, i++) { + if(nsout[i]->data) { + GPUNodeLink *result= nsout[i]->data; + + /* for closures, we can output the color directly, for others we + apply diffuse shading so we don't have flat colors */ + if(sock->type != SOCK_CLOSURE) + GPU_link(mat, "node_bsdf_diffuse", result, GPU_builtin(GPU_VIEW_NORMAL), &result); + + GPU_material_output_link(mat, result); + break; + } + } +} + void ntreeGPUMaterialNodes(bNodeTree *ntree, GPUMaterial *mat) { - bNode *node; + bNode *node, *tex_node; bNodeStack *stack; bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */ bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */ GPUNodeStack gpuin[MAX_SOCKET+1], gpuout[MAX_SOCKET+1]; + if(GPU_material_drawtype(mat) == OB_TEXTURE) + tex_node= nodeGetActiveTexture(ntree); + else + tex_node= NULL; + if((ntree->init & NTREE_EXEC_INIT)==0) ntreeBeginExecTree(ntree); @@ -3197,22 +3251,13 @@ void ntreeGPUMaterialNodes(bNodeTree *ntree, GPUMaterial *mat) node_get_stack(node, stack, nsin, nsout, NULL); gpu_from_node_stack(&node->inputs, nsin, gpuin); gpu_from_node_stack(&node->outputs, nsout, gpuout); + if(node->typeinfo->gpufunc(mat, node, gpuin, gpuout)) { data_from_gpu_stack(&node->outputs, nsout, gpuout); -#if 0 - if(node->flag & NODE_ACTIVE) { - bNodeSocket *sock; - int i; - - for(sock=node->outputs.first, i=0; sock; sock=sock->next, i++) { - if(nsout[i]->data) { - GPU_material_output_link(mat, nsout[i]->data); - break; - } - } - } -#endif + /* for textured draw, output active node */ + if(node == tex_node) + ntreeGPUOutputLink(mat, node, nsout); } } else if(node->type==NODE_GROUP && node->id) { diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index 122a06a8133..5c0692113ac 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -996,7 +996,7 @@ void scene_update_tagged(Main *bmain, Scene *scene) only objects and scenes. - brecht */ } -void scene_clear_tagged(Main *bmain, Scene *scene) +void scene_clear_tagged(Main *bmain, Scene *UNUSED(scene)) { DAG_ids_clear_recalc(bmain); } @@ -1107,3 +1107,9 @@ Base *_setlooper_base_step(Scene **sce_iter, Base *base) return NULL; } + +int scene_use_new_shading_system(Scene *scene) +{ + return (strcmp(scene->r.engine, "CYCLES") == 0); +} + diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c index a66caf8879f..026b48f2b9b 100644 --- a/source/blender/blenkernel/intern/subsurf_ccg.c +++ b/source/blender/blenkernel/intern/subsurf_ccg.c @@ -1523,6 +1523,155 @@ static void ccgDM_drawFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, void *a dm->drawMappedFacesGLSL(dm, setMaterial, NULL, NULL); } + /* Only used by non-editmesh types */ +static void ccgDM_drawMappedFacesMat(DerivedMesh *dm, void (*setMaterial)(void *userData, int, void *attribs), int (*setFace)(void *userData, int index), void *userData) { + CCGDerivedMesh *ccgdm = (CCGDerivedMesh*) dm; + CCGSubSurf *ss = ccgdm->ss; + CCGFaceIterator *fi = ccgSubSurf_getFaceIterator(ss); + GPUVertexAttribs gattribs; + DMVertexAttribs attribs= {{{NULL}}}; + int gridSize = ccgSubSurf_getGridSize(ss); + int gridFaces = gridSize - 1; + int edgeSize = ccgSubSurf_getEdgeSize(ss); + char *faceFlags = ccgdm->faceFlags; + int a, b, i, numVerts, matnr, new_matnr, totface; + + ccgdm_pbvh_update(ccgdm); + + matnr = -1; + +#define PASSATTRIB(dx, dy, vert) { \ + if(attribs.totorco) { \ + index = getFaceIndex(ss, f, S, x+dx, y+dy, edgeSize, gridSize); \ + if(attribs.orco.glTexco) \ + glTexCoord3fv(attribs.orco.array[index]); \ + else \ + glVertexAttrib3fvARB(attribs.orco.glIndex, attribs.orco.array[index]); \ + } \ + for(b = 0; b < attribs.tottface; b++) { \ + MTFace *tf = &attribs.tface[b].array[a]; \ + if(attribs.tface[b].glTexco) \ + glTexCoord2fv(tf->uv[vert]); \ + else \ + glVertexAttrib2fvARB(attribs.tface[b].glIndex, tf->uv[vert]); \ + } \ + for(b = 0; b < attribs.totmcol; b++) { \ + MCol *cp = &attribs.mcol[b].array[a*4 + vert]; \ + GLubyte col[4]; \ + col[0]= cp->b; col[1]= cp->g; col[2]= cp->r; col[3]= cp->a; \ + glVertexAttrib4ubvARB(attribs.mcol[b].glIndex, col); \ + } \ + if(attribs.tottang) { \ + float *tang = attribs.tang.array[a*4 + vert]; \ + glVertexAttrib4fvARB(attribs.tang.glIndex, tang); \ + } \ +} + + totface = ccgSubSurf_getNumFaces(ss); + for(a = 0, i = 0; i < totface; i++) { + CCGFace *f = ccgdm->faceMap[i].face; + int S, x, y, drawSmooth; + int index = GET_INT_FROM_POINTER(ccgSubSurf_getFaceFaceHandle(ss, f)); + int origIndex = ccgDM_getFaceMapIndex(ss, f); + + numVerts = ccgSubSurf_getFaceNumVerts(f); + + /* get flags */ + if(faceFlags) { + drawSmooth = (faceFlags[index*2] & ME_SMOOTH); + new_matnr= faceFlags[index*2 + 1] + 1; + } + else { + drawSmooth = 1; + new_matnr= 1; + } + + /* material */ + if(new_matnr != matnr) { + setMaterial(userData, matnr = new_matnr, &gattribs); + DM_vertex_attributes_from_gpu(dm, &gattribs, &attribs); + } + + /* face hiding */ + if((setFace && (origIndex != ORIGINDEX_NONE) && !setFace(userData, origIndex))) { + a += gridFaces*gridFaces*numVerts; + continue; + } + + /* draw face*/ + glShadeModel(drawSmooth? GL_SMOOTH: GL_FLAT); + for (S=0; Sno); + glVertex3fv(vda->co); + + PASSATTRIB(0, 1, 1); + glNormal3fv(vdb->no); + glVertex3fv(vdb->co); + + if(x != gridFaces-1) + a++; + } + + vda = &faceGridData[(y+0)*gridSize + x]; + vdb = &faceGridData[(y+1)*gridSize + x]; + + PASSATTRIB(0, 0, 3); + glNormal3fv(vda->no); + glVertex3fv(vda->co); + + PASSATTRIB(0, 1, 2); + glNormal3fv(vdb->no); + glVertex3fv(vdb->co); + + glEnd(); + + a++; + } + } else { + glBegin(GL_QUADS); + for (y=0; yss; @@ -2387,6 +2536,7 @@ static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *ss, ccgdm->dm.drawMappedFaces = ccgDM_drawMappedFaces; ccgdm->dm.drawMappedFacesTex = ccgDM_drawMappedFacesTex; ccgdm->dm.drawMappedFacesGLSL = ccgDM_drawMappedFacesGLSL; + ccgdm->dm.drawMappedFacesMat = ccgDM_drawMappedFacesMat; ccgdm->dm.drawUVEdges = ccgDM_drawUVEdges; ccgdm->dm.drawMappedEdgesInterp = ccgDM_drawMappedEdgesInterp; diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 355fd49efba..b6ef339e2c9 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -10594,7 +10594,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main) Object *ob=main->object.first; while (ob) { /* shaded mode disabled for now */ - if (ob->dt == OB_SHADED) ob->dt = OB_TEXTURE; + if (ob->dt == OB_MATERIAL) ob->dt = OB_TEXTURE; ob=ob->id.next; } } @@ -10609,7 +10609,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main) for(sl= sa->spacedata.first; sl; sl= sl->next) { if(sl->spacetype==SPACE_VIEW3D) { View3D *v3d = (View3D *)sl; - if (v3d->drawtype == OB_SHADED) v3d->drawtype = OB_SOLID; + if (v3d->drawtype == OB_MATERIAL) v3d->drawtype = OB_SOLID; } } } diff --git a/source/blender/editors/include/ED_node.h b/source/blender/editors/include/ED_node.h index e2cfed1ecb2..14dea53ea86 100644 --- a/source/blender/editors/include/ED_node.h +++ b/source/blender/editors/include/ED_node.h @@ -54,6 +54,8 @@ void ED_node_shader_default(struct ID *id); void ED_node_composit_default(struct Scene *sce); void ED_node_texture_default(struct Tex *tex); +void ED_node_set_active(struct Main *bmain, struct bNodeTree *ntree, struct bNode *node); + /* node_layout.c */ void ED_node_tree_auto_layout(struct bNodeTree *ntree, struct bNode *root); diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h index 1503f70deae..2cb0073f97b 100644 --- a/source/blender/editors/include/UI_interface.h +++ b/source/blender/editors/include/UI_interface.h @@ -160,7 +160,8 @@ typedef struct uiLayout uiLayout; #define UI_BUT_VEC_SIZE_LOCK (1<<30) /* used to flag if color hsv-circle should keep luminance */ #define UI_BUT_COLOR_CUBIC (1<<31) /* cubic saturation for the color wheel */ -#define UI_BUT_NODE_LINK (1<<31) /* node link drawing hint for pulldowns */ +#define UI_BUT_NODE_LINK (1<<30) /* node link drawing hint for pulldowns */ +#define UI_BUT_NODE_ACTIVE (1<<31) /* node link drawing hint for pulldowns */ #define UI_PANEL_WIDTH 340 #define UI_COMPACT_PANEL_WIDTH 160 @@ -729,8 +730,8 @@ void uiTemplateTextureImage(uiLayout *layout, struct bContext *C, struct Tex *te void uiTemplateReportsBanner(uiLayout *layout, struct bContext *C); void uiTemplateList(uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, const char *propname, struct PointerRNA *activeptr, const char *activeprop, int rows, int maxrows, int type); -void uiTemplateNodeLink(uiLayout *layout, struct ID *id, struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *input); -void uiTemplateNodeView(uiLayout *layout, struct bContext *C, struct ID *id, struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *input); +void uiTemplateNodeLink(uiLayout *layout, struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *input); +void uiTemplateNodeView(uiLayout *layout, struct bContext *C, struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *input); void uiTemplateTextureUser(uiLayout *layout, struct bContext *C); void uiTemplateTextureShow(uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop); diff --git a/source/blender/editors/interface/interface_node.c b/source/blender/editors/interface/interface_node.c index 720cb92bce4..5a1b4c0a8b8 100644 --- a/source/blender/editors/interface/interface_node.c +++ b/source/blender/editors/interface/interface_node.c @@ -53,6 +53,8 @@ #include "UI_interface.h" #include "interface_intern.h" +#include "ED_node.h" + /************************* Node Link Menu **************************/ #define UI_NODE_LINK_ADD 0 @@ -60,7 +62,6 @@ #define UI_NODE_LINK_REMOVE -2 typedef struct NodeLinkArg { - ID *id; bNodeTree *ntree; bNode *node; bNodeSocket *sock; @@ -98,26 +99,6 @@ static void ui_node_clear_recursive(bNode *node) ui_node_clear_recursive(input->link->fromnode); } -static void ntree_notify(bContext *C, ID *id, bNodeTree *ntree) -{ - if(ntree->type==NTREE_SHADER) { - if(GS(id->name) == ID_MA) - WM_event_add_notifier(C, NC_MATERIAL|ND_NODES, id); - else if(GS(id->name) == ID_LA) - WM_event_add_notifier(C, NC_LAMP|ND_NODES, id); - else if(GS(id->name) == ID_WO) - WM_event_add_notifier(C, NC_WORLD|ND_NODES, id); - else if(GS(id->name) == ID_TE) - WM_event_add_notifier(C, NC_TEXTURE|ND_NODES, id); - } - else if(ntree->type==NTREE_COMPOSIT) - WM_event_add_notifier(C, NC_SCENE|ND_NODES, id); - else if(ntree->type==NTREE_TEXTURE) - WM_event_add_notifier(C, NC_TEXTURE|ND_NODES, id); - - DAG_id_tag_update(id, 0); -} - static void ui_node_remove_linked(bNodeTree *ntree, bNode *rem_node) { bNode *node, *next; @@ -177,7 +158,6 @@ static void ui_node_sock_name(bNodeSocket *sock, char name[UI_MAX_NAME_STR]) static void ui_node_link(bContext *C, void *arg_p, void *event_p) { NodeLinkArg *arg = (NodeLinkArg*)arg_p; - ID *id = arg->id; bNode *node_to = arg->node; bNodeSocket *sock_to = arg->sock; bNodeTree *ntree = arg->ntree; @@ -213,8 +193,13 @@ static void ui_node_link(bContext *C, void *arg_p, void *event_p) if(!(node_from->inputs.first == NULL && !(node_from->typeinfo->flag & NODE_OPTIONS))) node_from = NULL; - /* add new node */ - if(!node_from) { + if(node_prev && node_prev->type == arg->type && + (arg->type != NODE_GROUP || node_prev->id == &arg->ngroup->id)) { + /* keep the previous node if it's the same type */ + node_from = node_prev; + } + else if(!node_from) { + /* add new node */ if(arg->ngroup) node_from = nodeAddNodeType(ntree, NODE_GROUP, arg->ngroup, NULL); else @@ -227,6 +212,8 @@ static void ui_node_link(bContext *C, void *arg_p, void *event_p) id_us_plus(node_from->id); } + nodeSetActive(ntree, node_from); + /* add link */ sock_from = BLI_findlink(&node_from->outputs, arg->output); nodeAddLink(ntree, node_from, sock_from, node_to, sock_to); @@ -260,7 +247,7 @@ static void ui_node_link(bContext *C, void *arg_p, void *event_p) NodeTagChanged(ntree, node_to); ntreeSolveOrder(ntree); - ntree_notify(C, id, ntree); + ED_node_generic_update(CTX_data_main(C), ntree, node_to); } static int ui_compatible_sockets(int typeA, int typeB) @@ -435,7 +422,7 @@ static void ui_template_node_link_menu(bContext *C, uiLayout *layout, void *but_ ui_node_menu_column(bmain, arg, column, "Group", NODE_CLASS_GROUP); } -void uiTemplateNodeLink(uiLayout *layout, ID *id, bNodeTree *ntree, bNode *node, bNodeSocket *sock) +void uiTemplateNodeLink(uiLayout *layout, bNodeTree *ntree, bNode *node, bNodeSocket *sock) { uiBlock *block = uiLayoutGetBlock(layout); NodeLinkArg *arg; @@ -443,7 +430,6 @@ void uiTemplateNodeLink(uiLayout *layout, ID *id, bNodeTree *ntree, bNode *node, bNodeSocketType *stype = ui_node_input_socket_type(node, sock); arg = MEM_callocN(sizeof(NodeLinkArg), "NodeLinkArg"); - arg->id = id; arg->ntree = ntree; arg->node = node; arg->sock = sock; @@ -464,18 +450,46 @@ void uiTemplateNodeLink(uiLayout *layout, ID *id, bNodeTree *ntree, bNode *node, but->flag |= UI_TEXT_LEFT|UI_BUT_NODE_LINK; but->poin= (char*)but; but->func_argN = arg; + + if(sock->link && sock->link->fromnode) + if(sock->link->fromnode->flag & NODE_ACTIVE_TEXTURE) + but->flag |= UI_BUT_NODE_ACTIVE; } /************************* Node Tree Layout **************************/ -static void ui_node_draw_input(uiLayout *layout, bContext *C, ID *id, bNodeTree *ntree, bNode *node, bNodeSocket *input, int depth) +static void ui_node_draw_input(uiLayout *layout, bContext *C, + bNodeTree *ntree, bNode *node, bNodeSocket *input, int depth); + +static void ui_node_draw_node(uiLayout *layout, bContext *C, bNodeTree *ntree, bNode *node, int depth) +{ + bNodeSocket *input; + uiLayout *col, *split; + PointerRNA nodeptr; + + RNA_pointer_create(&ntree->id, &RNA_Node, node, &nodeptr); + + if(node->typeinfo->uifunc) { + if(node->type != NODE_GROUP) { + split = uiLayoutSplit(layout, 0.35f, 0); + col = uiLayoutColumn(split, 0); + col = uiLayoutColumn(split, 0); + + node->typeinfo->uifunc(col, C, &nodeptr); + } + } + + for(input=node->inputs.first; input; input=input->next) + ui_node_draw_input(layout, C, ntree, node, input, depth+1); +} + +static void ui_node_draw_input(uiLayout *layout, bContext *C, bNodeTree *ntree, bNode *node, bNodeSocket *input, int depth) { PointerRNA inputptr; uiBlock *block = uiLayoutGetBlock(layout); uiBut *bt; uiLayout *split, *row, *col; bNode *lnode; - bNodeSocket *linput; char label[UI_MAX_NAME_STR]; int indent = (depth > 1)? 2*(depth - 1): 0; @@ -516,27 +530,13 @@ static void ui_node_draw_input(uiLayout *layout, bContext *C, ID *id, bNodeTree if(lnode) { /* input linked to a node */ - uiTemplateNodeLink(split, id, ntree, node, input); + uiTemplateNodeLink(split, ntree, node, input); if(!(input->flag & SOCK_COLLAPSED)) { if(depth == 0) uiItemS(layout); - if(lnode->typeinfo->uifunc) { - if(lnode->type != NODE_GROUP) { - PointerRNA lnodeptr; - - split = uiLayoutSplit(layout, 0.35f, 0); - col = uiLayoutColumn(split, 0); - col = uiLayoutColumn(split, 0); - - RNA_pointer_create(&ntree->id, &RNA_Node, lnode, &lnodeptr); - lnode->typeinfo->uifunc(col, C, &lnodeptr); - } - } - - for(linput=lnode->inputs.first; linput; linput=linput->next) - ui_node_draw_input(layout, C, id, ntree, lnode, linput, depth+1); + ui_node_draw_node(layout, C, ntree, lnode, depth); } } else { @@ -558,14 +558,14 @@ static void ui_node_draw_input(uiLayout *layout, bContext *C, ID *id, bNodeTree else row = uiLayoutRow(split, 0); - uiTemplateNodeLink(row, id, ntree, node, input); + uiTemplateNodeLink(row, ntree, node, input); } /* clear */ node->flag &= ~NODE_TEST; } -void uiTemplateNodeView(uiLayout *layout, bContext *C, ID *id, bNodeTree *ntree, bNode *node, bNodeSocket *input) +void uiTemplateNodeView(uiLayout *layout, bContext *C, bNodeTree *ntree, bNode *node, bNodeSocket *input) { bNode *tnode; @@ -576,6 +576,9 @@ void uiTemplateNodeView(uiLayout *layout, bContext *C, ID *id, bNodeTree *ntree, for(tnode=ntree->nodes.first; tnode; tnode=tnode->next) tnode->flag &= ~NODE_TEST; - ui_node_draw_input(layout, C, id, ntree, node, input, 0); + if(input) + ui_node_draw_input(layout, C, ntree, node, input, 0); + else + ui_node_draw_node(layout, C, ntree, node, 0); } diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c index 292177a1ef9..6e494515418 100644 --- a/source/blender/editors/interface/interface_templates.c +++ b/source/blender/editors/interface/interface_templates.c @@ -2500,6 +2500,6 @@ void uiTemplateReportsBanner(uiLayout *layout, bContext *C) uiDefBut(block, LABEL, 0, report->message, UI_UNIT_X+10, 0, UI_UNIT_X+width, UI_UNIT_Y, NULL, 0.0f, 0.0f, 0, 0, ""); /* XXX linking hack */ - uiTemplateNodeView(NULL, NULL, NULL, NULL, NULL, NULL); + uiTemplateNodeView(NULL, NULL, NULL, NULL, NULL); } diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c index 4a97cfe074e..ea98cf3e194 100644 --- a/source/blender/editors/interface/interface_widgets.c +++ b/source/blender/editors/interface/interface_widgets.c @@ -1511,6 +1511,10 @@ static void widget_state(uiWidgetType *wt, int state) char red[4]= {255, 0, 0}; widget_state_blend(wt->wcol.inner, red, 0.4f); } + if(state & UI_BUT_NODE_ACTIVE) { + char blue[4]= {86, 128, 194}; + widget_state_blend(wt->wcol.inner, blue, 0.3f); + } } /* sliders use special hack which sets 'item' as inner when drawing filling */ diff --git a/source/blender/editors/space_buttons/buttons_context.c b/source/blender/editors/space_buttons/buttons_context.c index 85549caf7ad..02effd031a4 100644 --- a/source/blender/editors/space_buttons/buttons_context.c +++ b/source/blender/editors/space_buttons/buttons_context.c @@ -393,8 +393,10 @@ static int buttons_context_path_texture(ButsContextPath *path, ButsContextTextur buttons_context_path_object(path); } - RNA_id_pointer_create(&ct->texture->id, &path->ptr[path->len]); - path->len++; + if(ct->texture) { + RNA_id_pointer_create(&ct->texture->id, &path->ptr[path->len]); + path->len++; + } return 1; @@ -757,11 +759,19 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r else if(CTX_data_equals(member, "texture_user")) { ButsContextTexture *ct= sbuts->texuser; - if(ct && ct->user) { + if(ct && ct->user && ct->user->ptr.data) { ButsTextureUser *user= ct->user; CTX_data_pointer_set(result, user->ptr.id.data, user->ptr.type, user->ptr.data); } + return 1; + } + else if(CTX_data_equals(member, "texture_node")) { + ButsContextTexture *ct= sbuts->texuser; + + if(ct && ct->user && ct->user->node) + CTX_data_pointer_set(result, &ct->user->ntree->id, &RNA_Node, ct->user->node); + return 1; } #if 0 diff --git a/source/blender/editors/space_buttons/buttons_intern.h b/source/blender/editors/space_buttons/buttons_intern.h index e8fa100a0ca..22f070af1e9 100644 --- a/source/blender/editors/space_buttons/buttons_intern.h +++ b/source/blender/editors/space_buttons/buttons_intern.h @@ -43,6 +43,8 @@ struct SpaceButs; struct Tex; struct bContext; struct bContextDataResult; +struct bNode; +struct bNodeTree; struct uiLayout; struct wmOperatorType; @@ -72,9 +74,13 @@ typedef struct ButsTextureUser { struct ButsTextureUser *next, *prev; struct ID *id; + PointerRNA ptr; PropertyRNA *prop; + struct bNodeTree *ntree; + struct bNode *node; + const char *category; int icon; const char *name; @@ -86,6 +92,7 @@ typedef struct ButsContextTexture { ListBase users; struct Tex *texture; + struct ButsTextureUser *user; int index; } ButsContextTexture; diff --git a/source/blender/editors/space_buttons/buttons_texture.c b/source/blender/editors/space_buttons/buttons_texture.c index 162f4acb515..dc013fc952b 100644 --- a/source/blender/editors/space_buttons/buttons_texture.c +++ b/source/blender/editors/space_buttons/buttons_texture.c @@ -64,6 +64,7 @@ #include "UI_interface.h" #include "UI_resources.h" +#include "ED_node.h" #include "ED_screen.h" #include "../interface/interface_intern.h" @@ -72,7 +73,7 @@ /************************* Texture User **************************/ -static void buttons_texture_user_add(ListBase *users, ID *id, +static void buttons_texture_user_property_add(ListBase *users, ID *id, PointerRNA ptr, PropertyRNA *prop, const char *category, int icon, const char *name) { @@ -89,6 +90,23 @@ static void buttons_texture_user_add(ListBase *users, ID *id, BLI_addtail(users, user); } +static void buttons_texture_user_node_add(ListBase *users, ID *id, + bNodeTree *ntree, bNode *node, + const char *category, int icon, const char *name) +{ + ButsTextureUser *user = MEM_callocN(sizeof(ButsTextureUser), "ButsTextureUser"); + + user->id= id; + user->ntree = ntree; + user->node = node; + user->category = category; + user->icon = icon; + user->name = name; + user->index = BLI_countlist(users); + + BLI_addtail(users, user); +} + static void buttons_texture_users_find_nodetree(ListBase *users, ID *id, bNodeTree *ntree, const char *category) { @@ -96,14 +114,14 @@ static void buttons_texture_users_find_nodetree(ListBase *users, ID *id, if(ntree) { for(node=ntree->nodes.first; node; node=node->next) { - if(node->type == SH_NODE_TEXTURE) { + if(node->typeinfo->nclass == NODE_CLASS_TEXTURE) { PointerRNA ptr; PropertyRNA *prop; RNA_pointer_create(&ntree->id, &RNA_Node, node, &ptr); prop = RNA_struct_find_property(&ptr, "texture"); - buttons_texture_user_add(users, id, ptr, prop, + buttons_texture_user_node_add(users, id, ntree, node, category, RNA_struct_ui_icon(ptr.type), node->name); } else if(node->type == NODE_GROUP && node->id) { @@ -122,7 +140,7 @@ static void buttons_texture_modifier_foreach(void *userData, Object *ob, Modifie RNA_pointer_create(&ob->id, &RNA_Modifier, md, &ptr); prop = RNA_struct_find_property(&ptr, propname); - buttons_texture_user_add(users, &ob->id, ptr, prop, + buttons_texture_user_property_add(users, &ob->id, ptr, prop, "Modifiers", RNA_struct_ui_icon(ptr.type), md->name); } @@ -197,7 +215,7 @@ static void buttons_texture_users_from_context(ListBase *users, const bContext * RNA_pointer_create(&psys->part->id, &RNA_ParticleSettingsTextureSlot, mtex, &ptr); prop = RNA_struct_find_property(&ptr, "texture"); - buttons_texture_user_add(users, &psys->part->id, ptr, prop, + buttons_texture_user_property_add(users, &psys->part->id, ptr, prop, "Particles", RNA_struct_ui_icon(&RNA_ParticleSettings), psys->name); } } @@ -211,7 +229,7 @@ static void buttons_texture_users_from_context(ListBase *users, const bContext * RNA_pointer_create(&ob->id, &RNA_FieldSettings, ob->pd, &ptr); prop = RNA_struct_find_property(&ptr, "texture"); - buttons_texture_user_add(users, &ob->id, ptr, prop, + buttons_texture_user_property_add(users, &ob->id, ptr, prop, "Fields", ICON_FORCE_TEXTURE, "Texture Field"); } } @@ -224,7 +242,7 @@ static void buttons_texture_users_from_context(ListBase *users, const bContext * RNA_pointer_create(&brush->id, &RNA_BrushTextureSlot, &brush->mtex, &ptr); prop= RNA_struct_find_property(&ptr, "texture"); - buttons_texture_user_add(users, &brush->id, ptr, prop, + buttons_texture_user_property_add(users, &brush->id, ptr, prop, "Brush", ICON_BRUSH_DATA, brush->id.name+2); } } @@ -250,15 +268,34 @@ void buttons_texture_context_compute(const bContext *C, SpaceButs *sbuts) ct->index= 0; ct->user = BLI_findlink(&ct->users, ct->index); + ct->texture = NULL; if(ct->user) { - PointerRNA texptr; - Tex *tex; + if(ct->user->ptr.data) { + PointerRNA texptr; + Tex *tex; - texptr = RNA_property_pointer_get(&ct->user->ptr, ct->user->prop); - tex = (RNA_struct_is_a(texptr.type, &RNA_Texture))? texptr.data: NULL; + /* get texture datablock pointer if it's a property */ + texptr = RNA_property_pointer_get(&ct->user->ptr, ct->user->prop); + tex = (RNA_struct_is_a(texptr.type, &RNA_Texture))? texptr.data: NULL; - ct->texture = tex; + ct->texture = tex; + } + else if(ct->user->node && !(ct->user->node->flag & NODE_ACTIVE_TEXTURE)) { + ButsTextureUser *user; + + /* detect change of active texture node in same node tree, in that + case we also automatically switch to the other node */ + for(user=ct->users.first; user; user=user->next) { + if(user->ntree == ct->user->ntree && user->node != ct->user->node) { + if(user->node->flag & NODE_ACTIVE_TEXTURE) { + ct->user = user; + ct->index = BLI_findindex(&ct->users, user); + break; + } + } + } + } } } @@ -275,10 +312,17 @@ static void template_texture_select(bContext *C, void *user_p, void *UNUSED(arg) return; /* set user as active */ - texptr = RNA_property_pointer_get(&user->ptr, user->prop); - tex = (RNA_struct_is_a(texptr.type, &RNA_Texture))? texptr.data: NULL; + if(user->node) { + ED_node_set_active(CTX_data_main(C), user->ntree, user->node); + ct->texture = NULL; + } + else { + texptr = RNA_property_pointer_get(&user->ptr, user->prop); + tex = (RNA_struct_is_a(texptr.type, &RNA_Texture))? texptr.data: NULL; + + ct->texture = tex; + } - ct->texture = tex; ct->user = user; ct->index = user->index; } diff --git a/source/blender/editors/space_node/CMakeLists.txt b/source/blender/editors/space_node/CMakeLists.txt index 36667e0e00e..a3d662d53a6 100644 --- a/source/blender/editors/space_node/CMakeLists.txt +++ b/source/blender/editors/space_node/CMakeLists.txt @@ -26,6 +26,7 @@ set(INC ../../blenloader ../../blenlib ../../imbuf + ../../gpu ../../makesdna ../../makesrna ../../nodes diff --git a/source/blender/editors/space_node/SConscript b/source/blender/editors/space_node/SConscript index 634d4b777d9..5a72858058c 100644 --- a/source/blender/editors/space_node/SConscript +++ b/source/blender/editors/space_node/SConscript @@ -4,7 +4,7 @@ Import ('env') sources = env.Glob('*.c') incs = '../include ../../blenfont ../../blenlib ../../blenkernel ../../makesdna ../../makesrna ../../imbuf' -incs += ' ../../nodes ../../render/extern/include ../../blenloader' +incs += ' ../../nodes ../../render/extern/include ../../blenloader ../../gpu' incs += ' ../../windowmanager #intern/guardedalloc #extern/glew/include' defs = [] cf = [] diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index 3f52d7cd285..2d124b7bc23 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -87,6 +87,8 @@ #include "RNA_enum_types.h" +#include "GPU_material.h" + #include "node_intern.h" static EnumPropertyItem socket_in_out_items[] = { @@ -528,72 +530,99 @@ static void snode_tag_changed(SpaceNode *snode, bNode *node) NodeTagIDChanged(snode->nodetree, gnode->id); } -void node_set_active(SpaceNode *snode, bNode *node) +static int has_nodetree(bNodeTree *ntree, bNodeTree *lookup) { - nodeSetActive(snode->edittree, node); + bNode *node; + + if(ntree == lookup) + return 1; + + for(node=ntree->nodes.first; node; node=node->next) + if(node->type == NODE_GROUP && node->id) + if(has_nodetree((bNodeTree*)node->id, lookup)) + return 1; + + return 0; +} + +void ED_node_set_active(Main *bmain, bNodeTree *ntree, bNode *node) +{ + int was_active_texture = (node->flag & NODE_ACTIVE_TEXTURE); + + nodeSetActive(ntree, node); if(node->type!=NODE_GROUP) { int was_output= (node->flag & NODE_DO_OUTPUT); /* tree specific activate calls */ - if(snode->treetype==NTREE_SHADER) { + if(ntree->type==NTREE_SHADER) { /* when we select a material, active texture is cleared, for buttons */ if(node->id && ELEM3(GS(node->id->name), ID_MA, ID_LA, ID_WO)) - nodeClearActiveID(snode->edittree, ID_TE); + nodeClearActiveID(ntree, ID_TE); if(node->type==SH_NODE_OUTPUT) { bNode *tnode; - for(tnode= snode->edittree->nodes.first; tnode; tnode= tnode->next) + for(tnode= ntree->nodes.first; tnode; tnode= tnode->next) if( tnode->type==SH_NODE_OUTPUT) tnode->flag &= ~NODE_DO_OUTPUT; node->flag |= NODE_DO_OUTPUT; if(was_output==0) - ED_node_changed_update(snode->id, node); + ED_node_generic_update(bmain, ntree, node); + } + + /* if active texture changed, free glsl materials */ + if((node->flag & NODE_ACTIVE_TEXTURE) && !was_active_texture) { + Material *ma; + + for(ma=bmain->mat.first; ma; ma=ma->id.next) + if(ma->nodetree && ma->use_nodes && has_nodetree(ma->nodetree, ntree)) + GPU_material_free(ma); } WM_main_add_notifier(NC_MATERIAL|ND_NODES, node->id); } - else if(snode->treetype==NTREE_COMPOSIT) { - Scene *scene= (Scene*)snode->id; - + else if(ntree->type==NTREE_COMPOSIT) { /* make active viewer, currently only 1 supported... */ if( ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) { bNode *tnode; - for(tnode= snode->edittree->nodes.first; tnode; tnode= tnode->next) + for(tnode= ntree->nodes.first; tnode; tnode= tnode->next) if( ELEM(tnode->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) tnode->flag &= ~NODE_DO_OUTPUT; node->flag |= NODE_DO_OUTPUT; - if(was_output==0) { - snode_tag_changed(snode, node); - - ED_node_changed_update(snode->id, node); - } + if(was_output==0) + ED_node_generic_update(bmain, ntree, node); /* addnode() doesnt link this yet... */ node->id= (ID *)BKE_image_verify_viewer(IMA_TYPE_COMPOSITE, "Viewer Node"); } else if(node->type==CMP_NODE_R_LAYERS) { - if(node->id==NULL || node->id==(ID *)scene) { - scene->r.actlay= node->custom1; + Scene *scene; + + for(scene=bmain->scene.first; scene; scene=scene->id.next) { + if(scene->nodetree && scene->use_nodes && has_nodetree(scene->nodetree, ntree)) { + if(node->id==NULL || node->id==(ID *)scene) { + scene->r.actlay= node->custom1; + } + } } } else if(node->type==CMP_NODE_COMPOSITE) { bNode *tnode; - for(tnode= snode->edittree->nodes.first; tnode; tnode= tnode->next) + for(tnode= ntree->nodes.first; tnode; tnode= tnode->next) if( tnode->type==CMP_NODE_COMPOSITE) tnode->flag &= ~NODE_DO_OUTPUT; node->flag |= NODE_DO_OUTPUT; - ED_node_changed_update(snode->id, node); + ED_node_generic_update(bmain, ntree, node); } } - else if(snode->treetype==NTREE_TEXTURE) { + else if(ntree->type==NTREE_TEXTURE) { // XXX #if 0 if(node->id) @@ -2025,7 +2054,7 @@ bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float } node_tree_verify_groups(snode->nodetree); - node_set_active(snode, node); + ED_node_set_active(G.main, snode->edittree, node); if(snode->nodetree->type==NTREE_COMPOSIT) { if(ELEM4(node->type, CMP_NODE_R_LAYERS, CMP_NODE_COMPOSITE, CMP_NODE_DEFOCUS, CMP_NODE_OUTPUT_FILE)) diff --git a/source/blender/editors/space_node/node_intern.h b/source/blender/editors/space_node/node_intern.h index 6e13271d7ce..756cb66fafd 100644 --- a/source/blender/editors/space_node/node_intern.h +++ b/source/blender/editors/space_node/node_intern.h @@ -100,7 +100,6 @@ bNode *next_node(bNodeTree *ntree); bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float locy); void snode_set_context(SpaceNode *snode, Scene *scene); void snode_make_group_editable(SpaceNode *snode, bNode *gnode); -void node_set_active(SpaceNode *snode, bNode *node); void node_deselectall(SpaceNode *snode); int node_select_same_type(SpaceNode *snode); int node_select_same_type_np(SpaceNode *snode, int dir); diff --git a/source/blender/editors/space_node/node_select.c b/source/blender/editors/space_node/node_select.c index 1abcaccc939..857405aff4e 100644 --- a/source/blender/editors/space_node/node_select.c +++ b/source/blender/editors/space_node/node_select.c @@ -37,10 +37,12 @@ #include "DNA_scene_types.h" #include "BKE_context.h" +#include "BKE_global.h" #include "BLI_rect.h" #include "BLI_utildefines.h" +#include "ED_node.h" #include "ED_screen.h" #include "ED_types.h" @@ -92,7 +94,7 @@ static bNode *node_mouse_select(SpaceNode *snode, ARegion *ar, const int mval[2] else node->flag ^= SELECT; - node_set_active(snode, node); + ED_node_set_active(G.main, snode->edittree, node); } return node; diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c index f070bae4e54..17db90a3b07 100644 --- a/source/blender/editors/space_view3d/drawmesh.c +++ b/source/blender/editors/space_view3d/drawmesh.c @@ -29,7 +29,6 @@ * \ingroup spview3d */ - #include #include @@ -42,6 +41,7 @@ #include "BLI_utildefines.h" #include "DNA_material_types.h" +#include "DNA_node_types.h" #include "DNA_meshdata_types.h" #include "DNA_property_types.h" #include "DNA_scene_types.h" @@ -53,9 +53,13 @@ #include "BKE_effect.h" #include "BKE_image.h" #include "BKE_material.h" +#include "BKE_node.h" #include "BKE_paint.h" #include "BKE_property.h" +#include "BKE_scene.h" +#include "IMB_imbuf.h" +#include "IMB_imbuf_types.h" #include "BIF_gl.h" #include "BIF_glutil.h" @@ -70,24 +74,21 @@ #include "view3d_intern.h" // own include -/***/ +/**************************** Face Select Mode *******************************/ - /* Flags for marked edges */ +/* Flags for marked edges */ enum { eEdge_Visible = (1<<0), eEdge_Select = (1<<1), }; - /* Creates a hash of edges to flags indicating - * adjacent tface select/active/etc flags. - */ +/* Creates a hash of edges to flags indicating selected/visible */ static void get_marked_edge_info__orFlags(EdgeHash *eh, int v0, int v1, int flags) { int *flags_p; - if (!BLI_edgehash_haskey(eh, v0, v1)) { + if(!BLI_edgehash_haskey(eh, v0, v1)) BLI_edgehash_insert(eh, v0, v1, NULL); - } flags_p = (int*) BLI_edgehash_lookup_p(eh, v0, v1); *flags_p |= flags; @@ -96,26 +97,25 @@ static void get_marked_edge_info__orFlags(EdgeHash *eh, int v0, int v1, int flag static EdgeHash *get_tface_mesh_marked_edge_info(Mesh *me) { EdgeHash *eh = BLI_edgehash_new(); - int i; MFace *mf; + int i; - for (i=0; itotface; i++) { + for(i=0; itotface; i++) { mf = &me->mface[i]; - if (mf->v3) { - if (!(mf->flag&ME_HIDE)) { - unsigned int flags = eEdge_Visible; - if (mf->flag&ME_FACE_SEL) flags |= eEdge_Select; + if(!(mf->flag & ME_HIDE)) { + unsigned int flags = eEdge_Visible; + if(mf->flag & ME_FACE_SEL) flags |= eEdge_Select; - get_marked_edge_info__orFlags(eh, mf->v1, mf->v2, flags); - get_marked_edge_info__orFlags(eh, mf->v2, mf->v3, flags); - if (mf->v4) { - get_marked_edge_info__orFlags(eh, mf->v3, mf->v4, flags); - get_marked_edge_info__orFlags(eh, mf->v4, mf->v1, flags); - } else { - get_marked_edge_info__orFlags(eh, mf->v3, mf->v1, flags); - } + get_marked_edge_info__orFlags(eh, mf->v1, mf->v2, flags); + get_marked_edge_info__orFlags(eh, mf->v2, mf->v3, flags); + + if(mf->v4) { + get_marked_edge_info__orFlags(eh, mf->v3, mf->v4, flags); + get_marked_edge_info__orFlags(eh, mf->v4, mf->v1, flags); } + else + get_marked_edge_info__orFlags(eh, mf->v3, mf->v1, flags); } } @@ -123,45 +123,24 @@ static EdgeHash *get_tface_mesh_marked_edge_info(Mesh *me) } -static int draw_tfaces3D__setHiddenOpts(void *userData, int index) +static int draw_mesh_face_select__setHiddenOpts(void *userData, int index) { struct { Mesh *me; EdgeHash *eh; } *data = userData; Mesh *me= data->me; MEdge *med = &me->medge[index]; uintptr_t flags = (intptr_t) BLI_edgehash_lookup(data->eh, med->v1, med->v2); - if((me->drawflag & ME_DRAWSEAMS) && (med->flag&ME_SEAM)) { - return 0; - } else if(me->drawflag & ME_DRAWEDGES){ - if (me->drawflag & ME_HIDDENEDGES) { + if(me->drawflag & ME_DRAWEDGES){ + if(me->drawflag & ME_HIDDENEDGES) return 1; - } else { + else return (flags & eEdge_Visible); - } - } else { + } + else return (flags & eEdge_Select); - } } -static int draw_tfaces3D__setSeamOpts(void *userData, int index) -{ - struct { Mesh *me; EdgeHash *eh; } *data = userData; - Mesh *me= data->me; - MEdge *med = &data->me->medge[index]; - uintptr_t flags = (intptr_t) BLI_edgehash_lookup(data->eh, med->v1, med->v2); - - if (med->flag & ME_SEAM) { - if (me->drawflag & ME_HIDDENEDGES) { - return 1; - } else { - return (flags & eEdge_Visible); - } - } else { - return 0; - } -} - -static int draw_tfaces3D__setSelectOpts(void *userData, int index) +static int draw_mesh_face_select__setSelectOpts(void *userData, int index) { struct { Mesh *me; EdgeHash *eh; } *data = userData; MEdge *med = &data->me->medge[index]; @@ -170,45 +149,19 @@ static int draw_tfaces3D__setSelectOpts(void *userData, int index) return flags & eEdge_Select; } -#if 0 -static int draw_tfaces3D__setActiveOpts(void *userData, int index) -{ - struct { Mesh *me; EdgeHash *eh; } *data = userData; - MEdge *med = &data->me->medge[index]; - uintptr_t flags = (intptr_t) BLI_edgehash_lookup(data->eh, med->v1, med->v2); - - if (flags & eEdge_Select) { - return 1; - } else { - return 0; - } -} - -static int draw_tfaces3D__drawFaceOpts(void *userData, int index) -{ - Mesh *me = (Mesh*)userData; - - MFace *mface = &me->mface[index]; - if (!(mface->flag&ME_HIDE) && (mface->flag&ME_FACE_SEL)) - return 2; /* Don't set color */ - else - return 0; -} -#endif - /* draws unselected */ -static int draw_tfaces3D__drawFaceOptsInv(void *userData, int index) +static int draw_mesh_face_select__drawFaceOptsInv(void *userData, int index) { Mesh *me = (Mesh*)userData; MFace *mface = &me->mface[index]; - if (!(mface->flag&ME_HIDE) && !(mface->flag&ME_FACE_SEL)) + if(!(mface->flag&ME_HIDE) && !(mface->flag&ME_FACE_SEL)) return 2; /* Don't set color */ else return 0; } -static void draw_tfaces3D(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm, short draw_seams) +static void draw_mesh_face_select(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm) { struct { Mesh *me; EdgeHash *eh; } data; @@ -222,30 +175,16 @@ static void draw_tfaces3D(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm, short d /* Draw (Hidden) Edges */ setlinestyle(1); UI_ThemeColor(TH_EDGE_FACESEL); - dm->drawMappedEdges(dm, draw_tfaces3D__setHiddenOpts, &data); + dm->drawMappedEdges(dm, draw_mesh_face_select__setHiddenOpts, &data); setlinestyle(0); - /* Draw Seams */ - if(draw_seams && me->drawflag & ME_DRAWSEAMS) { - UI_ThemeColor(TH_EDGE_SEAM); - glLineWidth(2); - dm->drawMappedEdges(dm, draw_tfaces3D__setSeamOpts, &data); - glLineWidth(1); - } - /* Draw Selected Faces */ if(me->drawflag & ME_DRAWFACES) { glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); -#if 0 - UI_ThemeColor4(TH_FACE_SELECT); - - dm->drawMappedFacesTex(dm, draw_tfaces3D__drawFaceOpts, (void*)me); -#else /* dull unselected faces so as not to get in the way of seeing color */ glColor4ub(96, 96, 96, 64); - dm->drawMappedFacesTex(dm, draw_tfaces3D__drawFaceOptsInv, (void*)me); -#endif + dm->drawMappedFacesTex(dm, draw_mesh_face_select__drawFaceOptsInv, (void*)me); glDisable(GL_BLEND); } @@ -255,7 +194,7 @@ static void draw_tfaces3D(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm, short d /* Draw Stippled Outline for selected faces */ glColor3ub(255, 255, 255); setlinestyle(1); - dm->drawMappedEdges(dm, draw_tfaces3D__setSelectOpts, &data); + dm->drawMappedEdges(dm, draw_mesh_face_select__setSelectOpts, &data); setlinestyle(0); bglPolygonOffset(rv3d->dist, 0.0); // resets correctly now, even after calling accumulated offsets @@ -263,6 +202,8 @@ static void draw_tfaces3D(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm, short d BLI_edgehash_free(data.eh, NULL); } +/***************************** Texture Drawing ******************************/ + static Material *give_current_material_or_def(Object *ob, int matnr) { extern Material defmaterial; // render module abuse... @@ -281,7 +222,7 @@ static int set_draw_settings_cached(int clearcache, int textured, MTFace *texfac static int c_litmatnr; static int c_badtex; - if (clearcache) { + if(clearcache) { c_textured= c_lit= c_doublesided= -1; c_texface= (MTFace*) -1; c_litob= (Object*) -1; @@ -289,7 +230,7 @@ static int set_draw_settings_cached(int clearcache, int textured, MTFace *texfac c_badtex= 0; } - if (texface) { + if(texface) { lit = lit && (lit==-1 || texface->mode&TF_LIGHT); textured = textured && (texface->mode&TF_TEX); doublesided = texface->mode&TF_TWOSIDE; @@ -297,15 +238,15 @@ static int set_draw_settings_cached(int clearcache, int textured, MTFace *texfac textured = 0; } - if (doublesided!=c_doublesided) { - if (doublesided) glDisable(GL_CULL_FACE); + if(doublesided!=c_doublesided) { + if(doublesided) glDisable(GL_CULL_FACE); else glEnable(GL_CULL_FACE); c_doublesided= doublesided; } - if (textured!=c_textured || texface!=c_texface) { - if (textured ) { + if(textured!=c_textured || texface!=c_texface) { + if(textured ) { c_badtex= !GPU_set_tpage(texface, !(litob->mode & OB_MODE_TEXTURE_PAINT)); } else { GPU_set_tpage(NULL, 0); @@ -315,9 +256,9 @@ static int set_draw_settings_cached(int clearcache, int textured, MTFace *texfac c_texface= texface; } - if (c_badtex) lit= 0; - if (lit!=c_lit || litob!=c_litob || litmatnr!=c_litmatnr) { - if (lit) { + if(c_badtex) lit= 0; + if(lit!=c_lit || litob!=c_litob || litmatnr!=c_litmatnr) { + if(lit) { Material *ma= give_current_material_or_def(litob, litmatnr+1); float spec[4]; @@ -411,16 +352,16 @@ static void draw_textured_end(void) static int draw_tface__set_draw_legacy(MTFace *tface, MCol *mcol, int matnr) { - if (tface && (tface->mode&TF_INVISIBLE)) return 0; + if(tface && (tface->mode&TF_INVISIBLE)) return 0; - if (tface && set_draw_settings_cached(0, Gtexdraw.istex, tface, Gtexdraw.islit, Gtexdraw.ob, matnr, TF_TWOSIDE)) { + if(tface && set_draw_settings_cached(0, Gtexdraw.istex, tface, Gtexdraw.islit, Gtexdraw.ob, matnr, TF_TWOSIDE)) { glColor3ub(0xFF, 0x00, 0xFF); return 2; /* Don't set color */ - } else if (tface && tface->mode&TF_OBCOL) { + } else if(tface && tface->mode&TF_OBCOL) { glColor3ubv(Gtexdraw.obcol); return 2; /* Don't set color */ - } else if (!mcol) { - if (tface) glColor3f(1.0, 1.0, 1.0); + } else if(!mcol) { + if(tface) glColor3f(1.0, 1.0, 1.0); else { Material *ma= give_current_material(Gtexdraw.ob, matnr+1); if(ma) { @@ -439,13 +380,13 @@ static int draw_tface__set_draw_legacy(MTFace *tface, MCol *mcol, int matnr) } static int draw_tface__set_draw(MTFace *tface, MCol *mcol, int matnr) { - if (tface && (tface->mode&TF_INVISIBLE)) return 0; + if(tface && (tface->mode&TF_INVISIBLE)) return 0; - if (tface && set_draw_settings_cached(0, Gtexdraw.istex, tface, Gtexdraw.islit, Gtexdraw.ob, matnr, TF_TWOSIDE)) { + if(tface && set_draw_settings_cached(0, Gtexdraw.istex, tface, Gtexdraw.islit, Gtexdraw.ob, matnr, TF_TWOSIDE)) { return 2; /* Don't set color */ - } else if (tface && tface->mode&TF_OBCOL) { + } else if(tface && tface->mode&TF_OBCOL) { return 2; /* Don't set color */ - } else if (!mcol) { + } else if(!mcol) { return 1; /* Don't set color */ } else { return 1; /* Set color from mcol */ @@ -463,7 +404,7 @@ static void add_tface_color_layer(DerivedMesh *dm) finalCol = MEM_mallocN(sizeof(MCol)*4*dm->getNumFaces(dm),"add_tface_color_layer"); for(i=0;igetNumFaces(dm);i++) { - if (tface && (tface->mode&TF_INVISIBLE)) { + if(tface && (tface->mode&TF_INVISIBLE)) { if( mcol ) memcpy(&finalCol[i*4],&mcol[i*4],sizeof(MCol)*4); else @@ -473,20 +414,20 @@ static void add_tface_color_layer(DerivedMesh *dm) finalCol[i*4+j].r = 255; } } - else if (tface && mface && set_draw_settings_cached(0, Gtexdraw.istex, tface, Gtexdraw.islit, Gtexdraw.ob, mface[i].mat_nr, TF_TWOSIDE)) { + else if(tface && mface && set_draw_settings_cached(0, Gtexdraw.istex, tface, Gtexdraw.islit, Gtexdraw.ob, mface[i].mat_nr, TF_TWOSIDE)) { for(j=0;j<4;j++) { finalCol[i*4+j].b = 255; finalCol[i*4+j].g = 0; finalCol[i*4+j].r = 255; } - } else if (tface && tface->mode&TF_OBCOL) { + } else if(tface && tface->mode&TF_OBCOL) { for(j=0;j<4;j++) { finalCol[i*4+j].r = FTOCHAR(Gtexdraw.obcol[0]); finalCol[i*4+j].g = FTOCHAR(Gtexdraw.obcol[1]); finalCol[i*4+j].b = FTOCHAR(Gtexdraw.obcol[2]); } - } else if (!mcol) { - if (tface) { + } else if(!mcol) { + if(tface) { for(j=0;j<4;j++) { finalCol[i*4+j].b = 255; finalCol[i*4+j].g = 255; @@ -532,7 +473,7 @@ static int draw_tface_mapped__set_draw(void *userData, int index) MFace *mface = &me->mface[index]; MCol *mcol = (me->mcol)? &me->mcol[index]: NULL; const int matnr = mface->mat_nr; - if (mface->flag & ME_HIDE) return 0; + if(mface->flag & ME_HIDE) return 0; return draw_tface__set_draw(tface, mcol, matnr); } @@ -544,7 +485,7 @@ static int draw_em_tf_mapped__set_draw(void *userData, int index) MCol *mcol; int matnr; - if (efa->h) + if(efa->h) return 0; tface = CustomData_em_get(&em->fdata, efa->data, CD_MTFACE); @@ -558,7 +499,7 @@ static int wpaint__setSolidDrawOptions(void *userData, int index, int *drawSmoot { Mesh *me = (Mesh*)userData; - if ( (me->mface && me->mface[index].flag & ME_HIDE) || + if( (me->mface && me->mface[index].flag & ME_HIDE) || (me->mtface && (me->mtface[index].mode & TF_INVISIBLE)) ) { return 0; @@ -597,7 +538,7 @@ static void draw_mesh_text(Scene *scene, Object *ob, int glsl) int matnr= mf->mat_nr; int mf_smooth= mf->flag & ME_SMOOTH; - if (!(mf->flag&ME_HIDE) && !(mode&TF_INVISIBLE) && (mode&TF_BMFONT)) { + if(!(mf->flag&ME_HIDE) && !(mode&TF_INVISIBLE) && (mode&TF_BMFONT)) { float v1[3], v2[3], v3[3], v4[3]; char string[MAX_PROPSTRING]; int characters, i, glattrib= -1, badtex= 0; @@ -614,8 +555,8 @@ static void draw_mesh_text(Scene *scene, Object *ob, int glsl) } else { badtex = set_draw_settings_cached(0, Gtexdraw.istex, tface, Gtexdraw.islit, Gtexdraw.ob, matnr, TF_TWOSIDE); - if (badtex) { - if (mcol) mcol+=4; + if(badtex) { + if(mcol) mcol+=4; continue; } } @@ -623,7 +564,7 @@ static void draw_mesh_text(Scene *scene, Object *ob, int glsl) ddm->getVertCo(ddm, mf->v1, v1); ddm->getVertCo(ddm, mf->v2, v2); ddm->getVertCo(ddm, mf->v3, v3); - if (mf->v4) ddm->getVertCo(ddm, mf->v4, v4); + if(mf->v4) ddm->getVertCo(ddm, mf->v4, v4); // The BM_FONT handling is in the gpu module, shared with the // game engine, was duplicated previously @@ -634,7 +575,7 @@ static void draw_mesh_text(Scene *scene, Object *ob, int glsl) if(!BKE_image_get_ibuf(tface->tpage, NULL)) characters = 0; - if (!mf_smooth) { + if(!mf_smooth) { float nor[3]; normal_tri_v3( nor,v1, v2, v3); @@ -645,7 +586,7 @@ static void draw_mesh_text(Scene *scene, Object *ob, int glsl) GPU_render_text(tface, tface->mode, string, characters, (unsigned int*)mcol, v1, v2, v3, (mf->v4? v4: NULL), glattrib); } - if (mcol) { + if(mcol) { mcol+=4; } } @@ -653,7 +594,7 @@ static void draw_mesh_text(Scene *scene, Object *ob, int glsl) ddm->release(ddm); } -void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *ob, DerivedMesh *dm, int faceselect) +void draw_mesh_textured_old(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *ob, DerivedMesh *dm, int faceselect) { Mesh *me= ob->data; @@ -668,18 +609,21 @@ void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *o if(ob->mode & OB_MODE_EDIT) { dm->drawMappedFacesTex(dm, draw_em_tf_mapped__set_draw, me->edit_mesh); - } else if(faceselect) { + } + else if(faceselect) { if(ob->mode & OB_MODE_WEIGHT_PAINT) dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, me, 1, GPU_enable_material); else dm->drawMappedFacesTex(dm, me->mface ? draw_tface_mapped__set_draw : NULL, me); } else { - if( GPU_buffer_legacy(dm) ) + if(GPU_buffer_legacy(dm)) { dm->drawFacesTex(dm, draw_tface__set_draw_legacy); + } else { - if( !CustomData_has_layer(&dm->faceData,CD_TEXTURE_MCOL) ) + if(!CustomData_has_layer(&dm->faceData,CD_TEXTURE_MCOL)) add_tface_color_layer(dm); + dm->drawFacesTex(dm, draw_tface__set_draw); } } @@ -692,7 +636,7 @@ void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *o /* draw edges and selected faces over textured mesh */ if(!(ob == scene->obedit) && faceselect) - draw_tfaces3D(rv3d, me, dm, ob->mode & OB_MODE_WEIGHT_PAINT); + draw_mesh_face_select(rv3d, me, dm); /* reset from negative scale correction */ glFrontFace(GL_CCW); @@ -701,3 +645,169 @@ void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *o glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); } +/**************************** CYCLES **********************************/ + +typedef struct TexMatCallback { + Scene *scene; + Object *ob; + Mesh *me; + DerivedMesh *dm; +} TexMatCallback; + +static void tex_mat_set_material_cb(void *UNUSED(userData), int mat_nr, void *attribs) +{ + /* all we have to do here is simply enable the GLSL material, but note + that the GLSL code will give different result depending on the drawtype, + in texture draw mode it will output the active texture node, in material + draw mode it will show the full material. */ + GPU_enable_material(mat_nr, attribs); +} + +static void tex_mat_set_texture_cb(void *userData, int mat_nr, void *attribs) +{ + /* texture draw mode without GLSL */ + TexMatCallback *data= (TexMatCallback*)userData; + GPUVertexAttribs *gattribs = attribs; + Material *ma= give_current_material_or_def(data->ob, mat_nr); + bNode *node= (ma->use_nodes)? nodeGetActiveTexture(ma->nodetree): NULL; + int texture_set= 0; + + memset(gattribs, 0, sizeof(*gattribs)); + + /* draw textured */ + if(node && (node->type == SH_NODE_TEX_IMAGE)) { + /* get openl texture */ + Image *ima= (Image*)node->id; + ImageUser *iuser= NULL; + int mipmap= 1; + int bindcode= (ima)? GPU_verify_image(ima, iuser, 0, 0, mipmap): 0; + float zero[4] = {0.0f, 0.0f, 0.0f, 0.0f}; + + if(bindcode) { + /* disable existing material */ + GPU_disable_material(); + glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, zero); + glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, zero); + glMateriali(GL_FRONT_AND_BACK, GL_SHININESS, 0); + + /* bind texture */ + glEnable(GL_COLOR_MATERIAL); + glEnable(GL_TEXTURE_2D); + + glBindTexture(GL_TEXTURE_2D, ima->bindcode); + glColor3f(1.0f, 1.0f, 1.0f); + + /* use active UV texture layer */ + gattribs->layer[0].type= CD_MTFACE; + gattribs->layer[0].name[0]= '\0'; + gattribs->layer[0].gltexco= 1; + gattribs->totlayer= 1; + + texture_set= 1; + } + } + + if(!texture_set) { + /* disable texture */ + glDisable(GL_TEXTURE_2D); + glDisable(GL_COLOR_MATERIAL); + + /* draw single color */ + GPU_enable_material(mat_nr, attribs); + } +} + +static int tex_mat_set_face_mesh_cb(void *userData, int index) +{ + /* faceselect mode face hiding */ + TexMatCallback *data= (TexMatCallback*)userData; + Mesh *me = (Mesh*)data->me; + MFace *mface = &me->mface[index]; + + return !(mface->flag & ME_HIDE); +} + +static int tex_mat_set_face_editmesh_cb(void *UNUSED(userData), int index) +{ + /* editmode face hiding */ + EditFace *efa= EM_get_face_for_index(index); + + return !(efa->h); +} + +void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *ob, DerivedMesh *dm, int faceselect) +{ + if(!scene_use_new_shading_system(scene)) { + draw_mesh_textured_old(scene, v3d, rv3d, ob, dm, faceselect); + return; + } + + /* set opengl state for negative scale & color */ + if(ob->transflag & OB_NEG_SCALE) glFrontFace(GL_CW); + else glFrontFace(GL_CCW); + + glEnable(GL_LIGHTING); + + if(ob->mode & OB_MODE_WEIGHT_PAINT) { + /* weight paint mode exception */ + int useColors= 1; + + dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, + ob->data, useColors, GPU_enable_material); + } + else { + Mesh *me= ob->data; + TexMatCallback data = {scene, ob, me, dm}; + int (*set_face_cb)(void*, int); + int glsl; + + /* face hiding callback depending on mode */ + if(ob == scene->obedit) + set_face_cb= tex_mat_set_face_editmesh_cb; + else if(faceselect) + set_face_cb= tex_mat_set_face_mesh_cb; + else + set_face_cb= NULL; + + /* test if we can use glsl */ + glsl= GPU_glsl_support(); + + if(v3d->drawtype == OB_TEXTURE) + glsl= (scene->gm.matmode == GAME_MAT_GLSL); + + GPU_begin_object_materials(v3d, rv3d, scene, ob, glsl, NULL); + + if(glsl) { + /* draw glsl */ + dm->drawMappedFacesMat(dm, + tex_mat_set_material_cb, + set_face_cb, &data); + } + else { + float zero[4] = {0.0f, 0.0f, 0.0f, 0.0f}; + + /* draw textured */ + glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, zero); + glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, zero); + glMateriali(GL_FRONT_AND_BACK, GL_SHININESS, 0); + + dm->drawMappedFacesMat(dm, + tex_mat_set_texture_cb, + set_face_cb, &data); + } + + GPU_end_object_materials(); + } + + /* reset opengl state */ + glDisable(GL_COLOR_MATERIAL); + glDisable(GL_TEXTURE_2D); + glDisable(GL_LIGHTING); + glBindTexture(GL_TEXTURE_2D, 0); + glFrontFace(GL_CCW); + + /* faceselect mode drawing over textured mesh */ + if(!(ob == scene->obedit) && faceselect) + draw_mesh_face_select(rv3d, ob->data, dm); +} + diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index 1d70fb830b7..4c847ca62b3 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -73,6 +73,7 @@ #include "BKE_paint.h" #include "BKE_particle.h" #include "BKE_pointcache.h" +#include "BKE_scene.h" #include "BKE_unit.h" #include "smoke_API.h" @@ -104,8 +105,7 @@ /* this condition has been made more complex since editmode can draw textures */ #define CHECK_OB_DRAWTEXTURE(vd, dt) \ -((vd->drawtype==OB_TEXTURE && dt>OB_SOLID) || \ - (vd->drawtype==OB_SOLID && vd->flag2 & V3D_SOLID_TEX)) + ((ELEM(vd->drawtype, OB_TEXTURE, OB_MATERIAL) && dt>OB_SOLID)) static void draw_bounding_volume(Scene *scene, Object *ob); @@ -129,9 +129,6 @@ static int check_ob_drawface_dot(Scene *sce, View3D *vd, char dt) if(dt==OB_TEXTURE && vd->drawtype==OB_TEXTURE) return 0; - if(vd->drawtype>=OB_SOLID && vd->flag2 & V3D_SOLID_TEX) - return 0; - return 1; } @@ -214,6 +211,8 @@ int draw_glsl_material(Scene *scene, Object *ob, View3D *v3d, int dt) return 0; if(ob==OBACT && (ob && ob->mode & OB_MODE_WEIGHT_PAINT)) return 0; + if(scene_use_new_shading_system(scene)) + return 0; return (scene->gm.matmode == GAME_MAT_GLSL) && (dt > OB_SOLID); } @@ -2598,8 +2597,7 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D totface = dm->getNumFaces(dm); /* vertexpaint, faceselect wants this, but it doesnt work for shaded? */ - if(dt!=OB_SHADED) - glFrontFace((ob->transflag&OB_NEG_SCALE)?GL_CW:GL_CCW); + glFrontFace((ob->transflag&OB_NEG_SCALE)?GL_CW:GL_CCW); // Unwanted combination. if (is_paint_sel) draw_wire = 0; @@ -2716,7 +2714,7 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D dm->drawLooseEdges(dm); } } - else if(dt==OB_SHADED) { + else if(dt==OB_PAINT) { if(ob==OBACT) { if(ob && ob->mode & OB_MODE_WEIGHT_PAINT) { /* enforce default material settings */ @@ -5778,7 +5776,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag) dt= OB_SOLID; } else { - dt= OB_SHADED; + dt= OB_PAINT; } glEnable(GL_DEPTH_TEST); diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index b3848fac8e2..40bb4ca7969 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -2045,7 +2045,6 @@ static void gpu_update_lamps_shadows(Scene *scene, View3D *v3d) v3d->drawtype = OB_SOLID; v3d->lay &= GPU_lamp_shadow_layer(shadow->lamp); - v3d->flag2 &= ~V3D_SOLID_TEX; v3d->flag2 |= V3D_RENDER_OVERRIDE; GPU_lamp_shadow_buffer_bind(shadow->lamp, viewmat, &winsize, winmat); @@ -2075,10 +2074,11 @@ static void gpu_update_lamps_shadows(Scene *scene, View3D *v3d) CustomDataMask ED_view3d_datamask(Scene *scene, View3D *v3d) { CustomDataMask mask= 0; - if((v3d->drawtype == OB_TEXTURE) || ((v3d->drawtype == OB_SOLID) && (v3d->flag2 & V3D_SOLID_TEX))) { + + if(ELEM(v3d->drawtype, OB_TEXTURE, OB_MATERIAL)) { mask |= CD_MASK_MTFACE | CD_MASK_MCOL; - if(scene->gm.matmode == GAME_MAT_GLSL) + if(v3d->drawtype == OB_MATERIAL || scene->gm.matmode == GAME_MAT_GLSL) mask |= CD_MASK_ORCO; } diff --git a/source/blender/gpu/GPU_extensions.h b/source/blender/gpu/GPU_extensions.h index 8bf923a5679..d0c7f9d494f 100644 --- a/source/blender/gpu/GPU_extensions.h +++ b/source/blender/gpu/GPU_extensions.h @@ -178,6 +178,7 @@ typedef struct GPUVertexAttribs { struct { int type; int glindex; + int gltexco; char name[32]; } layer[GPU_MAX_ATTRIB]; diff --git a/source/blender/gpu/GPU_material.h b/source/blender/gpu/GPU_material.h index f563d8cbe92..eaee2813ac0 100644 --- a/source/blender/gpu/GPU_material.h +++ b/source/blender/gpu/GPU_material.h @@ -118,12 +118,13 @@ int GPU_link(GPUMaterial *mat, const char *name, ...); int GPU_stack_link(GPUMaterial *mat, const char *name, GPUNodeStack *in, GPUNodeStack *out, ...); void GPU_material_output_link(GPUMaterial *material, GPUNodeLink *link); +int GPU_material_drawtype(GPUMaterial *material); void GPU_material_enable_alpha(GPUMaterial *material); GPUBlendMode GPU_material_blend_mode(GPUMaterial *material, float obcol[4]); /* High level functions to create and use GPU materials */ -GPUMaterial *GPU_material_from_blender(struct Scene *scene, struct Material *ma); +GPUMaterial *GPU_material_from_blender(struct Scene *scene, struct Material *ma, int drawtype); void GPU_material_free(struct Material *ma); void GPU_materials_free(void); diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c index 98b8bed87a1..65d9b2077e0 100644 --- a/source/blender/gpu/intern/gpu_draw.c +++ b/source/blender/gpu/intern/gpu_draw.c @@ -935,6 +935,7 @@ static struct GPUMaterialState { Material *gboundmat; Object *gob; Scene *gscene; + int gdrawtype; int glay; float (*gviewmat)[4]; float (*gviewinv)[4]; @@ -1006,6 +1007,7 @@ void GPU_begin_object_materials(View3D *v3d, RegionView3D *rv3d, Scene *scene, O GMS.gob = ob; GMS.gscene = scene; + GMS.gdrawtype = v3d->drawtype; GMS.totmat= ob->totcol+1; /* materials start from 1, default material is 0 */ GMS.glay= v3d->lay; GMS.gviewmat= rv3d->viewmat; @@ -1035,7 +1037,7 @@ void GPU_begin_object_materials(View3D *v3d, RegionView3D *rv3d, Scene *scene, O if(glsl) { GMS.gmatbuf[0]= &defmaterial; - GPU_material_from_blender(GMS.gscene, &defmaterial); + GPU_material_from_blender(GMS.gscene, &defmaterial, GMS.gdrawtype); } GMS.blendmode[0]= GPU_BLEND_SOLID; @@ -1049,7 +1051,7 @@ void GPU_begin_object_materials(View3D *v3d, RegionView3D *rv3d, Scene *scene, O if(ma==NULL) ma= &defmaterial; /* create glsl material if requested */ - gpumat = (glsl)? GPU_material_from_blender(GMS.gscene, ma): NULL; + gpumat = (glsl)? GPU_material_from_blender(GMS.gscene, ma, GMS.gdrawtype): NULL; if(gpumat) { /* do glsl only if creating it succeed, else fallback */ @@ -1119,7 +1121,7 @@ int GPU_enable_material(int nr, void *attribs) /* unbind glsl material */ if(GMS.gboundmat) { if(GMS.alphapass) glDepthMask(0); - GPU_material_unbind(GPU_material_from_blender(GMS.gscene, GMS.gboundmat)); + GPU_material_unbind(GPU_material_from_blender(GMS.gscene, GMS.gboundmat, GMS.gdrawtype)); GMS.gboundmat= NULL; } @@ -1134,7 +1136,7 @@ int GPU_enable_material(int nr, void *attribs) /* bind glsl material and get attributes */ Material *mat = GMS.gmatbuf[nr]; - gpumat = GPU_material_from_blender(GMS.gscene, mat); + gpumat = GPU_material_from_blender(GMS.gscene, mat, GMS.gdrawtype); GPU_material_vertex_attributes(gpumat, gattribs); GPU_material_bind(gpumat, GMS.gob->lay, GMS.glay, 1.0, !(GMS.gob->mode & OB_MODE_TEXTURE_PAINT)); GPU_material_bind_uniforms(gpumat, GMS.gob->obmat, GMS.gviewmat, GMS.gviewinv, GMS.gob->col); @@ -1178,7 +1180,7 @@ void GPU_disable_material(void) if(GMS.gboundmat) { if(GMS.alphapass) glDepthMask(0); - GPU_material_unbind(GPU_material_from_blender(GMS.gscene, GMS.gboundmat)); + GPU_material_unbind(GPU_material_from_blender(GMS.gscene, GMS.gboundmat, GMS.gdrawtype)); GMS.gboundmat= NULL; } @@ -1212,7 +1214,7 @@ void GPU_end_object_materials(void) int GPU_default_lights(void) { - float zero[3] = {0.0f, 0.0f, 0.0f}; + float zero[4] = {0.0f, 0.0f, 0.0f, 0.0f}, position[4]; int a, count = 0; /* initialize */ @@ -1242,8 +1244,11 @@ int GPU_default_lights(void) if(a<3) { if(U.light[a].flag) { glEnable(GL_LIGHT0+a); + + normalize_v3_v3(position, U.light[a].vec); + position[3]= 0.0f; - glLightfv(GL_LIGHT0+a, GL_POSITION, U.light[a].vec); + glLightfv(GL_LIGHT0+a, GL_POSITION, position); glLightfv(GL_LIGHT0+a, GL_DIFFUSE, U.light[a].col); glLightfv(GL_LIGHT0+a, GL_SPECULAR, U.light[a].spec); diff --git a/source/blender/gpu/intern/gpu_material.c b/source/blender/gpu/intern/gpu_material.c index 3804aad6848..a6e8af51964 100644 --- a/source/blender/gpu/intern/gpu_material.c +++ b/source/blender/gpu/intern/gpu_material.c @@ -80,6 +80,7 @@ typedef enum DynMatProperty { struct GPUMaterial { Scene *scene; Material *ma; + int drawtype; /* for creating the material */ ListBase nodes; @@ -353,6 +354,11 @@ void GPU_material_output_link(GPUMaterial *material, GPUNodeLink *link) material->outlink= link; } +int GPU_material_drawtype(GPUMaterial *material) +{ + return material->drawtype; +} + void GPU_material_enable_alpha(GPUMaterial *material) { material->alpha= 1; @@ -1387,35 +1393,44 @@ static GPUNodeLink *GPU_blender_material(GPUMaterial *mat, Material *ma) return shr.combined; } -GPUMaterial *GPU_material_from_blender(Scene *scene, Material *ma) +GPUMaterial *GPU_material_from_blender(Scene *scene, Material *ma, int drawtype) { GPUMaterial *mat; GPUNodeLink *outlink; LinkData *link; - for(link=ma->gpumaterial.first; link; link=link->next) - if(((GPUMaterial*)link->data)->scene == scene) + /* find an existing glsl shader that is already compiled */ + for(link=ma->gpumaterial.first; link; link=link->next) { + mat= (GPUMaterial*)link->data; + if(mat->scene == scene && mat->drawtype == drawtype) return link->data; + } + /* in texture draw mode, we need an active texture node */ + if(drawtype == OB_TEXTURE && (!ma->use_nodes || !nodeGetActiveTexture(ma->nodetree))) + return NULL; + + /* allocate material */ mat = GPU_material_construct_begin(ma); mat->scene = scene; + mat->drawtype = drawtype; if(!(scene->gm.flag & GAME_GLSL_NO_NODES) && ma->nodetree && ma->use_nodes) { + /* create nodes */ ntreeGPUMaterialNodes(ma->nodetree, mat); } else { + /* create material */ outlink = GPU_blender_material(mat, ma); GPU_material_output_link(mat, outlink); } - /*if(!GPU_material_construct_end(mat)) { - GPU_material_free(mat); - mat= NULL; - return 0; - }*/ - GPU_material_construct_end(mat); + /* note that even if building the shader fails in some way, we still keep + it to avoid trying to compile again and again, and simple do not use + the actual shader on drawing */ + link = MEM_callocN(sizeof(LinkData), "GPUMaterialLink"); link->data = mat; BLI_addtail(&ma->gpumaterial, link); diff --git a/source/blender/gpu/intern/gpu_shader_material.glsl b/source/blender/gpu/intern/gpu_shader_material.glsl index 0faf550e882..74defdf7b76 100644 --- a/source/blender/gpu/intern/gpu_shader_material.glsl +++ b/source/blender/gpu/intern/gpu_shader_material.glsl @@ -1822,28 +1822,35 @@ float hypot(float x, float y) void node_bsdf_diffuse(vec4 color, vec3 N, out vec4 result) { - result = vec4(0.0); + /* ambient light */ + vec3 L = vec3(0.2); + /* directional lights */ for(int i = 0; i < NUM_LIGHTS; i++) { - vec3 L = gl_LightSource[i].position.xyz; - vec4 Ldiffuse = gl_LightSource[i].diffuse; + vec3 light_position = gl_LightSource[i].position.xyz; + vec3 light_diffuse = gl_LightSource[i].diffuse.rgb; - float bsdf = abs(dot(N, L)) * M_1_PI; - result += Ldiffuse*color*bsdf; + float bsdf = max(dot(N, light_position), 0.0); + L += light_diffuse*bsdf; } + + result = vec4(L*color.rgb, 1.0); } void node_bsdf_glossy(vec4 color, float roughness, float fresnel, vec3 N, vec3 I, out vec4 result) { - result = vec4(0.0); + vec3 L = vec3(0.0); + /* directional lights */ for(int i = 0; i < NUM_LIGHTS; i++) { vec3 H = gl_LightSource[i].halfVector.xyz; - vec4 Lspecular = gl_LightSource[i].specular; + vec3 light_specular = gl_LightSource[i].specular.rgb; - float bsdf = pow(abs(dot(N, H)), 1.0/roughness) * M_1_PI; - result += Lspecular*color*bsdf; + float bsdf = pow(max(dot(N, H), 0.0), 1.0/roughness); + L += light_specular*bsdf; } + + result = vec4(L*color.rgb, 1.0); } void node_bsdf_anisotropic(vec4 color, float roughnessU, float roughnessV, vec3 N, vec3 I, out vec4 result) @@ -1879,7 +1886,7 @@ void node_bsdf_velvet(vec4 color, float sigma, float fresnel, vec3 N, out vec4 r void node_emission(vec4 color, float strength, vec3 N, out vec4 result) { - result = color*strength * M_1_PI; + result = color*strength; } /* closures */ @@ -2093,6 +2100,6 @@ void node_light_path( void node_output_material(vec4 surface, vec4 volume, float displacement, out vec4 result) { - result = surface * M_PI; + result = surface; } diff --git a/source/blender/gpu/intern/gpu_shader_material.glsl.c b/source/blender/gpu/intern/gpu_shader_material.glsl.c index f87e346602b..fb92b74f1fc 100644 --- a/source/blender/gpu/intern/gpu_shader_material.glsl.c +++ b/source/blender/gpu/intern/gpu_shader_material.glsl.c @@ -1,1428 +1,1433 @@ /* DataToC output of file */ -int datatoc_gpu_shader_material_glsl_size= 45475; +int datatoc_gpu_shader_material_glsl_size= 45652; char datatoc_gpu_shader_material_glsl[]= { - 10,102,108, -111, 97,116, 32,101,120,112, 95, 98,108,101,110,100,101,114, 40,102,108,111, 97,116, 32,102, 41, 10,123, 10, 9,114,101,116,117, -114,110, 32,112,111,119, 40, 50, 46, 55, 49, 56, 50, 56, 49, 56, 50, 56, 52, 54, 44, 32,102, 41, 59, 10,125, 10, 10,118,111,105, -100, 32,114,103, 98, 95,116,111, 95,104,115,118, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32, -111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32, 99,109, 97,120, 44, 32, 99,109,105,110, 44, 32,104, 44, 32, -115, 44, 32,118, 44, 32, 99,100,101,108,116, 97, 59, 10, 9,118,101, 99, 51, 32, 99, 59, 10, 10, 9, 99,109, 97,120, 32, 61, 32, -109, 97,120, 40,114,103, 98, 91, 48, 93, 44, 32,109, 97,120, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, 41, - 59, 10, 9, 99,109,105,110, 32, 61, 32,109,105,110, 40,114,103, 98, 91, 48, 93, 44, 32,109,105,110, 40,114,103, 98, 91, 49, 93, - 44, 32,114,103, 98, 91, 50, 93, 41, 41, 59, 10, 9, 99,100,101,108,116, 97, 32, 61, 32, 99,109, 97,120, 45, 99,109,105,110, 59, - 10, 10, 9,118, 32, 61, 32, 99,109, 97,120, 59, 10, 9,105,102, 32, 40, 99,109, 97,120, 33, 61, 48, 46, 48, 41, 10, 9, 9,115, - 32, 61, 32, 99,100,101,108,116, 97, 47, 99,109, 97,120, 59, 10, 9,101,108,115,101, 32,123, 10, 9, 9,115, 32, 61, 32, 48, 46, - 48, 59, 10, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 10, 9,105,102, 32, 40,115, 32, 61, 61, 32, 48, 46, 48, 41, - 32,123, 10, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9, 99, 32, 61, 32, 40, -118,101, 99, 51, 40, 99,109, 97,120, 44, 32, 99,109, 97,120, 44, 32, 99,109, 97,120, 41, 32, 45, 32,114,103, 98, 46,120,121,122, - 41, 47, 99,100,101,108,116, 97, 59, 10, 10, 9, 9,105,102, 32, 40,114,103, 98, 46,120, 61, 61, 99,109, 97,120, 41, 32,104, 32, - 61, 32, 99, 91, 50, 93, 32, 45, 32, 99, 91, 49, 93, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,114,103, 98, 46,121, 61, - 61, 99,109, 97,120, 41, 32,104, 32, 61, 32, 50, 46, 48, 32, 43, 32, 99, 91, 48, 93, 32, 45, 32, 32, 99, 91, 50, 93, 59, 10, 9, - 9,101,108,115,101, 32,104, 32, 61, 32, 52, 46, 48, 32, 43, 32, 99, 91, 49, 93, 32, 45, 32, 99, 91, 48, 93, 59, 10, 10, 9, 9, -104, 32, 47, 61, 32, 54, 46, 48, 59, 10, 10, 9, 9,105,102, 32, 40,104, 60, 48, 46, 48, 41, 10, 9, 9, 9,104, 32, 43, 61, 32, - 49, 46, 48, 59, 10, 9,125, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,104, 44, 32,115, 44, 32,118, 44, - 32,114,103, 98, 46,119, 41, 59, 10,125, 10, 10,118,111,105,100, 32,104,115,118, 95,116,111, 95,114,103, 98, 40,118,101, 99, 52, - 32,104,115,118, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32, -105, 44, 32,102, 44, 32,112, 44, 32,113, 44, 32,116, 44, 32,104, 44, 32,115, 44, 32,118, 59, 10, 9,118,101, 99, 51, 32,114,103, - 98, 59, 10, 10, 9,104, 32, 61, 32,104,115,118, 91, 48, 93, 59, 10, 9,115, 32, 61, 32,104,115,118, 91, 49, 93, 59, 10, 9,118, - 32, 61, 32,104,115,118, 91, 50, 93, 59, 10, 10, 9,105,102, 40,115, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 32, - 61, 32,118,101, 99, 51, 40,118, 44, 32,118, 44, 32,118, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, - 40,104, 61, 61, 49, 46, 48, 41, 10, 9, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9, 10, 9, 9,104, 32, 42, 61, 32, 54, - 46, 48, 59, 10, 9, 9,105, 32, 61, 32,102,108,111,111,114, 40,104, 41, 59, 10, 9, 9,102, 32, 61, 32,104, 32, 45, 32,105, 59, - 10, 9, 9,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,102, 44, 32,102, 44, 32,102, 41, 59, 10, 9, 9,112, 32, 61, 32,118, 42, - 40, 49, 46, 48, 45,115, 41, 59, 10, 9, 9,113, 32, 61, 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42,102, 41, 41, 59, 10, 9, 9, -116, 32, 61, 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42, 40, 49, 46, 48, 45,102, 41, 41, 41, 59, 10, 9, 9, 10, 9, 9,105,102, - 32, 40,105, 32, 61, 61, 32, 48, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,116, 44, 32,112, 41, 59, - 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 49, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, - 40,113, 44, 32,118, 44, 32,112, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 50, 46, 48, 41, 32, -114,103, 98, 32, 61, 32,118,101, 99, 51, 40,112, 44, 32,118, 44, 32,116, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40, -105, 32, 61, 61, 32, 51, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,112, 44, 32,113, 44, 32,118, 41, 59, 10, 9, - 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 52, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,116, - 44, 32,112, 44, 32,118, 41, 59, 10, 9, 9,101,108,115,101, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,112, 44, - 32,113, 41, 59, 10, 9,125, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 44, 32,104,115,118, - 46,119, 41, 59, 10,125, 10, 10,102,108,111, 97,116, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, -102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9,105,102, 40, 99, 32, 60, 32, 48, 46, 48, 52, 48, 52, 53, 41, 10, 9, 9,114,101, -116,117,114,110, 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, 63, 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 40, 49, 46, 48, 47, 49, 50, - 46, 57, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116,117,114,110, 32,112,111,119, 40, 40, 99, 32, 43, 32, 48, 46, - 48, 53, 53, 41, 42, 40, 49, 46, 48, 47, 49, 46, 48, 53, 53, 41, 44, 32, 50, 46, 52, 41, 59, 10,125, 10, 10,102,108,111, 97,116, - 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40,102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9,105, -102, 40, 99, 32, 60, 32, 48, 46, 48, 48, 51, 49, 51, 48, 56, 41, 10, 9, 9,114,101,116,117,114,110, 32, 40, 99, 32, 60, 32, 48, - 46, 48, 41, 63, 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 49, 50, 46, 57, 50, 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116, -117,114,110, 32, 49, 46, 48, 53, 53, 32, 42, 32,112,111,119, 40, 99, 44, 32, 49, 46, 48, 47, 50, 46, 52, 41, 32, 45, 32, 48, 46, - 48, 53, 53, 59, 10,125, 10, 10,118,111,105,100, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,118, -101, 99, 52, 32, 99,111,108, 95,102,114,111,109, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, - 10, 9, 99,111,108, 95,116,111, 46,114, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99, -111,108, 95,102,114,111,109, 46,114, 41, 59, 10, 9, 99,111,108, 95,116,111, 46,103, 32, 61, 32,115,114,103, 98, 95,116,111, 95, -108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, - 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, - 59, 10, 9, 99,111,108, 95,116,111, 46, 97, 32, 61, 32, 99,111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10,118,111,105, -100, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 95,102,114,111, -109, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111,108, 95,116,111, 46,114, 32, - 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,114, 41, 59, - 10, 9, 99,111,108, 95,116,111, 46,103, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99, -111,108, 95,102,114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,108,105,110,101, 97,114,114,103, - 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 97, - 32, 61, 32, 99,111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10, 35,100,101,102,105,110,101, 32, 77, 95, 80, 73, 32, 51, - 46, 49, 52, 49, 53, 57, 50, 54, 53, 51, 53, 56, 57, 55, 57, 51, 50, 51, 56, 52, 54, 10, 35,100,101,102,105,110,101, 32, 77, 95, - 49, 95, 80, 73, 32, 48, 46, 51, 49, 56, 51, 48, 57, 56, 56, 54, 49, 56, 51, 55, 57, 48, 54, 57, 10, 10, 47, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 32, 83, 72, 65, 68, 69, 82, 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 47, 10, 10,118,111,105,100, 32,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 52, 32, 97, -116,116,118, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 41, 10,123, 10, 9,118, 99,111,108, 32, 61, - 32,118,101, 99, 52, 40, 97,116,116,118, 99,111,108, 46,120, 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111,108, 46,121, - 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111,108, 46,122, 47, 50, 53, 53, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10,125, - 10, 10,118,111,105,100, 32,117,118, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32, -111,117,116, 32,118,101, 99, 51, 32,117,118, 41, 10,123, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 42, - 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118, -111,105,100, 32,103,101,111,109, 40,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,109, 97,116, 52, - 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,118,101, 99, 50, 32, - 97,116,116,117,118, 44, 32,118,101, 99, 52, 32, 97,116,116,118, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108, -111, 98, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,108,111, 99, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, -105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 44, - 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32,102,114,111,110,116, 98, 97, 99,107, 41, 10,123, 10, 9,108,111, 99, 97,108, 32, 61, - 32, 99,111, 59, 10, 9,118,105,101,119, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108,111, 99, 97,108, 41, 59, 10, 9, -103,108,111, 98, 97,108, 32, 61, 32, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40,108,111, 99, 97,108, 44, - 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,111,114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111, 59, 10, 9,117,118, - 95, 97,116,116,114,105, 98,117,116,101, 40, 97,116,116,117,118, 44, 32,117,118, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, - 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,111,114, 41, 59, 9, 47, 42, 32, 98,108,101,110,100,101,114, 32,114,101,110, -100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32,110,101,103, 97,116,101,100, 32, 42, 47, 10, 9,118, 99,111,108, 95, 97, -116,116,114,105, 98,117,116,101, 40, 97,116,116,118, 99,111,108, 44, 32,118, 99,111,108, 41, 59, 10, 9,102,114,111,110,116, 98, - 97, 99,107, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,112,112,105,110,103, 40,118,101, 99, 51, 32, -118,101, 99, 44, 32,109, 97,116, 52, 32,109, 97,116, 44, 32,118,101, 99, 51, 32,109,105,110,118,101, 99, 44, 32,118,101, 99, 51, - 32,109, 97,120,118,101, 99, 44, 32,102,108,111, 97,116, 32,100,111,109,105,110, 44, 32,102,108,111, 97,116, 32,100,111,109, 97, -120, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32, - 40,109, 97,116, 32, 42, 32,118,101, 99, 52, 40,118,101, 99, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,105,102, 40, -100,111,109,105,110, 32, 61, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32,109, 97,120, 40,111,117,116, -118,101, 99, 44, 32,109,105,110,118,101, 99, 41, 59, 10, 9,105,102, 40,100,111,109, 97,120, 32, 61, 61, 32, 49, 46, 48, 41, 10, - 9, 9,111,117,116,118,101, 99, 32, 61, 32,109,105,110, 40,111,117,116,118,101, 99, 44, 32,109, 97,120,118,101, 99, 41, 59, 10, -125, 10, 10,118,111,105,100, 32, 99, 97,109,101,114, 97, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, - 32,111,117,116,118,105,101,119, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,101,112,116,104, 44, 32,111,117, -116, 32,102,108,111, 97,116, 32,111,117,116,100,105,115,116, 41, 10,123, 10, 9,111,117,116,100,101,112,116,104, 32, 61, 32, 97, - 98,115, 40, 99,111, 46,122, 41, 59, 10, 9,111,117,116,100,105,115,116, 32, 61, 32,108,101,110,103,116,104, 40, 99,111, 41, 59, - 10, 9,111,117,116,118,105,101,119, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 41, 59, 10,125, 10, 10,118,111, -105,100, 32,109, 97,116,104, 95, 97,100,100, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97, -108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, - 61, 32,118, 97,108, 49, 32, 43, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,115,117, 98,116, -114, 97, 99,116, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, - 45, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109,117,108,116,105,112,108,121, 40,102,108, -111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, -111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 42, 32,118, 97,108, 50, 59, - 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,100,105,118,105,100,101, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, + 10,102,108,111, 97,116, 32,101,120,112, 95, 98,108,101,110,100,101,114, 40,102, +108,111, 97,116, 32,102, 41, 10,123, 10, 9,114,101,116,117,114,110, 32,112,111,119, 40, 50, 46, 55, 49, 56, 50, 56, 49, 56, 50, + 56, 52, 54, 44, 32,102, 41, 59, 10,125, 10, 10,118,111,105,100, 32,114,103, 98, 95,116,111, 95,104,115,118, 40,118,101, 99, 52, + 32,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32, + 99,109, 97,120, 44, 32, 99,109,105,110, 44, 32,104, 44, 32,115, 44, 32,118, 44, 32, 99,100,101,108,116, 97, 59, 10, 9,118,101, + 99, 51, 32, 99, 59, 10, 10, 9, 99,109, 97,120, 32, 61, 32,109, 97,120, 40,114,103, 98, 91, 48, 93, 44, 32,109, 97,120, 40,114, +103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, 41, 59, 10, 9, 99,109,105,110, 32, 61, 32,109,105,110, 40,114,103, 98, + 91, 48, 93, 44, 32,109,105,110, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, 41, 59, 10, 9, 99,100,101,108, +116, 97, 32, 61, 32, 99,109, 97,120, 45, 99,109,105,110, 59, 10, 10, 9,118, 32, 61, 32, 99,109, 97,120, 59, 10, 9,105,102, 32, + 40, 99,109, 97,120, 33, 61, 48, 46, 48, 41, 10, 9, 9,115, 32, 61, 32, 99,100,101,108,116, 97, 47, 99,109, 97,120, 59, 10, 9, +101,108,115,101, 32,123, 10, 9, 9,115, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, + 10, 9,105,102, 32, 40,115, 32, 61, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, + 9,101,108,115,101, 32,123, 10, 9, 9, 99, 32, 61, 32, 40,118,101, 99, 51, 40, 99,109, 97,120, 44, 32, 99,109, 97,120, 44, 32, + 99,109, 97,120, 41, 32, 45, 32,114,103, 98, 46,120,121,122, 41, 47, 99,100,101,108,116, 97, 59, 10, 10, 9, 9,105,102, 32, 40, +114,103, 98, 46,120, 61, 61, 99,109, 97,120, 41, 32,104, 32, 61, 32, 99, 91, 50, 93, 32, 45, 32, 99, 91, 49, 93, 59, 10, 9, 9, +101,108,115,101, 32,105,102, 32, 40,114,103, 98, 46,121, 61, 61, 99,109, 97,120, 41, 32,104, 32, 61, 32, 50, 46, 48, 32, 43, 32, + 99, 91, 48, 93, 32, 45, 32, 32, 99, 91, 50, 93, 59, 10, 9, 9,101,108,115,101, 32,104, 32, 61, 32, 52, 46, 48, 32, 43, 32, 99, + 91, 49, 93, 32, 45, 32, 99, 91, 48, 93, 59, 10, 10, 9, 9,104, 32, 47, 61, 32, 54, 46, 48, 59, 10, 10, 9, 9,105,102, 32, 40, +104, 60, 48, 46, 48, 41, 10, 9, 9, 9,104, 32, 43, 61, 32, 49, 46, 48, 59, 10, 9,125, 10, 10, 9,111,117,116, 99,111,108, 32, + 61, 32,118,101, 99, 52, 40,104, 44, 32,115, 44, 32,118, 44, 32,114,103, 98, 46,119, 41, 59, 10,125, 10, 10,118,111,105,100, 32, +104,115,118, 95,116,111, 95,114,103, 98, 40,118,101, 99, 52, 32,104,115,118, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117, +116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,105, 44, 32,102, 44, 32,112, 44, 32,113, 44, 32,116, 44, 32,104, 44, + 32,115, 44, 32,118, 59, 10, 9,118,101, 99, 51, 32,114,103, 98, 59, 10, 10, 9,104, 32, 61, 32,104,115,118, 91, 48, 93, 59, 10, + 9,115, 32, 61, 32,104,115,118, 91, 49, 93, 59, 10, 9,118, 32, 61, 32,104,115,118, 91, 50, 93, 59, 10, 10, 9,105,102, 40,115, + 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,118, 44, 32,118, 41, 59, 10, + 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, 40,104, 61, 61, 49, 46, 48, 41, 10, 9, 9, 9,104, 32, 61, 32, 48, + 46, 48, 59, 10, 9, 9, 10, 9, 9,104, 32, 42, 61, 32, 54, 46, 48, 59, 10, 9, 9,105, 32, 61, 32,102,108,111,111,114, 40,104, + 41, 59, 10, 9, 9,102, 32, 61, 32,104, 32, 45, 32,105, 59, 10, 9, 9,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,102, 44, 32, +102, 44, 32,102, 41, 59, 10, 9, 9,112, 32, 61, 32,118, 42, 40, 49, 46, 48, 45,115, 41, 59, 10, 9, 9,113, 32, 61, 32,118, 42, + 40, 49, 46, 48, 45, 40,115, 42,102, 41, 41, 59, 10, 9, 9,116, 32, 61, 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42, 40, 49, 46, + 48, 45,102, 41, 41, 41, 59, 10, 9, 9, 10, 9, 9,105,102, 32, 40,105, 32, 61, 61, 32, 48, 46, 48, 41, 32,114,103, 98, 32, 61, + 32,118,101, 99, 51, 40,118, 44, 32,116, 44, 32,112, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, + 49, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,113, 44, 32,118, 44, 32,112, 41, 59, 10, 9, 9,101,108,115,101, + 32,105,102, 32, 40,105, 32, 61, 61, 32, 50, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,112, 44, 32,118, 44, 32, +116, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 51, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118, +101, 99, 51, 40,112, 44, 32,113, 44, 32,118, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 52, 46, + 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,116, 44, 32,112, 44, 32,118, 41, 59, 10, 9, 9,101,108,115,101, 32,114, +103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,112, 44, 32,113, 41, 59, 10, 9,125, 10, 10, 9,111,117,116, 99,111,108, 32, + 61, 32,118,101, 99, 52, 40,114,103, 98, 44, 32,104,115,118, 46,119, 41, 59, 10,125, 10, 10,102,108,111, 97,116, 32,115,114,103, + 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9,105,102, 40, 99, 32, + 60, 32, 48, 46, 48, 52, 48, 52, 53, 41, 10, 9, 9,114,101,116,117,114,110, 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, 63, 32, 48, + 46, 48, 58, 32, 99, 32, 42, 32, 40, 49, 46, 48, 47, 49, 50, 46, 57, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116, +117,114,110, 32,112,111,119, 40, 40, 99, 32, 43, 32, 48, 46, 48, 53, 53, 41, 42, 40, 49, 46, 48, 47, 49, 46, 48, 53, 53, 41, 44, + 32, 50, 46, 52, 41, 59, 10,125, 10, 10,102,108,111, 97,116, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, + 98, 40,102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9,105,102, 40, 99, 32, 60, 32, 48, 46, 48, 48, 51, 49, 51, 48, 56, 41, 10, + 9, 9,114,101,116,117,114,110, 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, 63, 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 49, 50, 46, + 57, 50, 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116,117,114,110, 32, 49, 46, 48, 53, 53, 32, 42, 32,112,111,119, 40, 99, + 44, 32, 49, 46, 48, 47, 50, 46, 52, 41, 32, 45, 32, 48, 46, 48, 53, 53, 59, 10,125, 10, 10,118,111,105,100, 32,115,114,103, 98, + 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 95,102,114,111,109, 44, 32,111,117,116, + 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111,108, 95,116,111, 46,114, 32, 61, 32,115,114,103, 98, + 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,114, 41, 59, 10, 9, 99,111,108, 95, +116,111, 46,103, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111, +109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114, +114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 97, 32, 61, 32, 99,111,108, + 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114, +103, 98, 40,118,101, 99, 52, 32, 99,111,108, 95,102,114,111,109, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116, +111, 41, 10,123, 10, 9, 99,111,108, 95,116,111, 46,114, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114, +103, 98, 40, 99,111,108, 95,102,114,111,109, 46,114, 41, 59, 10, 9, 99,111,108, 95,116,111, 46,103, 32, 61, 32,108,105,110,101, + 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95, +116,111, 46, 98, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111, +109, 46, 98, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 97, 32, 61, 32, 99,111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, + 10, 35,100,101,102,105,110,101, 32, 77, 95, 80, 73, 32, 51, 46, 49, 52, 49, 53, 57, 50, 54, 53, 51, 53, 56, 57, 55, 57, 51, 50, + 51, 56, 52, 54, 10, 35,100,101,102,105,110,101, 32, 77, 95, 49, 95, 80, 73, 32, 48, 46, 51, 49, 56, 51, 48, 57, 56, 56, 54, 49, + 56, 51, 55, 57, 48, 54, 57, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 83, 72, 65, 68, 69, 82, 32, 78, 79, 68, + 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,118, 99,111,108, 95, 97, +116,116,114,105, 98,117,116,101, 40,118,101, 99, 52, 32, 97,116,116,118, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32, +118, 99,111,108, 41, 10,123, 10, 9,118, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 97,116,116,118, 99,111,108, 46,120, 47, 50, + 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111,108, 46,121, 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111,108, 46,122, + 47, 50, 53, 53, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,117,118, 95, 97,116,116,114,105, 98,117, +116,101, 40,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 41, 10,123, 10, 9,117, +118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, + 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,103,101,111,109, 40,118,101, 99, 51, 32, 99,111, 44, + 32,118,101, 99, 51, 32,110,111,114, 44, 32,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, + 32, 97,116,116,111,114, 99,111, 44, 32,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,118,101, 99, 52, 32, 97,116,116,118, 99, +111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,108,111, + 99, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,114, 99, +111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, + 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102,114,111,110,116, 98, + 97, 99,107, 41, 10,123, 10, 9,108,111, 99, 97,108, 32, 61, 32, 99,111, 59, 10, 9,118,105,101,119, 32, 61, 32,110,111,114,109, + 97,108,105,122,101, 40,108,111, 99, 97,108, 41, 59, 10, 9,103,108,111, 98, 97,108, 32, 61, 32, 40,118,105,101,119,105,110,118, +109, 97,116, 42,118,101, 99, 52, 40,108,111, 99, 97,108, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,111,114, 99,111, + 32, 61, 32, 97,116,116,111,114, 99,111, 59, 10, 9,117,118, 95, 97,116,116,114,105, 98,117,116,101, 40, 97,116,116,117,118, 44, + 32,117,118, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,111,114, 41, 59, + 9, 47, 42, 32, 98,108,101,110,100,101,114, 32,114,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32,110,101,103, + 97,116,101,100, 32, 42, 47, 10, 9,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116,101, 40, 97,116,116,118, 99,111,108, 44, + 32,118, 99,111,108, 41, 59, 10, 9,102,114,111,110,116, 98, 97, 99,107, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105, +100, 32,109, 97,112,112,105,110,103, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,109, 97,116, 52, 32,109, 97,116, 44, 32,118,101, + 99, 51, 32,109,105,110,118,101, 99, 44, 32,118,101, 99, 51, 32,109, 97,120,118,101, 99, 44, 32,102,108,111, 97,116, 32,100,111, +109,105,110, 44, 32,102,108,111, 97,116, 32,100,111,109, 97,120, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, + 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32, 40,109, 97,116, 32, 42, 32,118,101, 99, 52, 40,118,101, 99, 44, 32, + 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,105,102, 40,100,111,109,105,110, 32, 61, 61, 32, 49, 46, 48, 41, 10, 9, 9,111, +117,116,118,101, 99, 32, 61, 32,109, 97,120, 40,111,117,116,118,101, 99, 44, 32,109,105,110,118,101, 99, 41, 59, 10, 9,105,102, + 40,100,111,109, 97,120, 32, 61, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32,109,105,110, 40,111,117, +116,118,101, 99, 44, 32,109, 97,120,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32, 99, 97,109,101,114, 97, 40,118,101, + 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,105,101,119, 44, 32,111,117,116, 32,102,108,111, + 97,116, 32,111,117,116,100,101,112,116,104, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,105,115,116, 41, 10, +123, 10, 9,111,117,116,100,101,112,116,104, 32, 61, 32, 97, 98,115, 40, 99,111, 46,122, 41, 59, 10, 9,111,117,116,100,105,115, +116, 32, 61, 32,108,101,110,103,116,104, 40, 99,111, 41, 59, 10, 9,111,117,116,118,105,101,119, 32, 61, 32,110,111,114,109, 97, +108,105,122,101, 40, 99,111, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,100,100, 40,102,108,111, 97,116, + 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, +118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 43, 32,118, 97,108, 50, 59, 10,125, 10, + 10,118,111,105,100, 32,109, 97,116,104, 95,115,117, 98,116,114, 97, 99,116, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32, +102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, + 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 45, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, + 97,116,104, 95,109,117,108,116,105,112,108,121, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, + 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, + 32, 61, 32,118, 97,108, 49, 32, 42, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,100,105,118, +105,100,101, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32, +102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 50, 32, 61, 61, 32, 48, 46, 48, + 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, + 32, 61, 32,118, 97,108, 49, 32, 47, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,115,105,110, +101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, + 10, 9,111,117,116,118, 97,108, 32, 61, 32,115,105,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116, +104, 95, 99,111,115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117, +116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,115, 40,118, 97,108, 41, 59, 10,125, 10, 10,118, +111,105,100, 32,109, 97,116,104, 95,116, 97,110,103,101,110,116, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32, +102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,116, 97,110, 40,118, 97, +108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,115,105,110, 40,102,108,111, 97,116, 32,118, 97,108, 44, + 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 32, 60, 61, + 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, + 97,115,105,110, 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, + 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97, 99,111,115, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117, +116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 32, 60, 61, 32, 49, 46, + 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 97, 99,111, +115, 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, + 10,118,111,105,100, 32,109, 97,116,104, 95, 97,116, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102, +108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 97,116, 97,110, 40,118, 97, +108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,112,111,119, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, - 10, 9,105,102, 32, 40,118, 97,108, 50, 32, 61, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, - 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 47, 32,118, 97,108, 50, 59, - 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117, -116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,115,105,110, 40, -118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 99,111,115,105,110,101, 40,102,108,111, 97,116, 32, -118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, - 32, 61, 32, 99,111,115, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,116, 97,110,103,101,110, -116, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, - 10, 9,111,117,116,118, 97,108, 32, 61, 32,116, 97,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116, -104, 95, 97,115,105,110, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, - 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, - 45, 49, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 97,115,105,110, 40,118, 97,108, 41, 59, 10, 9,101,108,115, -101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97, - 99,111,115, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, - 10,123, 10, 9,105,102, 32, 40,118, 97,108, 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, 46, - 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 97, 99,111,115, 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, 9, - 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,116, 97,110, - 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, - 9,111,117,116,118, 97,108, 32, 61, 32, 97,116, 97,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116, -104, 95,112,111,119, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117, -116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 49, 32, 62, 61, 32, 48, - 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32,112,111,119, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10, - 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97, -116,104, 95,108,111,103, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 62, 32, 48, 46, - 48, 32, 32, 38, 38, 32,118, 97,108, 50, 32, 62, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 61, 32,108,111,103, 50, - 40,118, 97,108, 49, 41, 32, 47, 32,108,111,103, 50, 40,118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, -118, 97,108, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109, 97,120, 40,102,108,111, 97,116, - 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, -118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,109, 97,120, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, - 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109,105,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102, -108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9, -111,117,116,118, 97,108, 32, 61, 32,109,105,110, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111,105, -100, 32,109, 97,116,104, 95,114,111,117,110,100, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97, -116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 61, 32,102,108,111,111,114, 40,118, 97,108, 32, 43, - 32, 48, 46, 53, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,108,101,115,115, 95,116,104, 97,110, 40,102,108, -111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, -111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 60, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116, -118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, - 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,103,114,101, 97,116,101,114, 95,116,104, 97,110, 40,102,108,111, 97,116, - 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, -118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 62, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97,108, - 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, - 10,118,111,105,100, 32,115,113,117,101,101,122,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,102,108,111, 97,116, 32,119, -105,100,116,104, 44, 32,102,108,111, 97,116, 32, 99,101,110,116,101,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117, -116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 47, 40, 49, 46, 48, 32, 43, 32,112,111,119, - 40, 50, 46, 55, 49, 56, 50, 56, 49, 56, 51, 44, 32, 45, 40, 40,118, 97,108, 45, 99,101,110,116,101,114, 41, 42,119,105,100,116, -104, 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 97,100,100, 40,118,101, 99, 51, 32, -118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117, -116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 43, - 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, 43, - 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 49, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, 41, - 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,115,117, 98, 40,118,101, 99, 51, - 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, - 45, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, - 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 49, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, - 41, 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 97,118,101,114, 97,103,101, - 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118, -101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, - 61, 32,118, 49, 32, 43, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,111,117,116,118, -101, 99, 41, 59, 10, 9,111,117,116,118,101, 99, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,118,101, 99, 41, - 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,100,111,116, 40,118,101, 99, 51, 32,118, 49, 44, 32, -118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 44, 32, - 48, 44, 32, 48, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,100,111,116, 40,118, 49, 44, 32,118, 50, 41, 59, 10,125, 10, - 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 99,114,111,115,115, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, - 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97, -116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32, 99,114,111,115,115, 40,118, 49, 44, 32, -118, 50, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10,125, - 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,110,111,114,109, 97,108,105,122,101, 40,118,101, 99, 51, 32,118, + 10, 9,105,102, 32, 40,118, 97,108, 49, 32, 62, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32,112,111, +119, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, + 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,108,111,103, 40,102,108,111, 97,116, 32,118, 97,108, 49, + 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10, +123, 10, 9,105,102, 40,118, 97,108, 49, 32, 62, 32, 48, 46, 48, 32, 32, 38, 38, 32,118, 97,108, 50, 32, 62, 32, 48, 46, 48, 41, + 10, 9, 9,111,117,116,118, 97,108, 61, 32,108,111,103, 50, 40,118, 97,108, 49, 41, 32, 47, 32,108,111,103, 50, 40,118, 97,108, + 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, + 32,109, 97,116,104, 95,109, 97,120, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, + 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, +109, 97,120, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109,105, +110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,109,105,110, 40,118, 97,108, 49, + 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,114,111,117,110,100, 40,102,108,111, 97, +116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, + 97,108, 61, 32,102,108,111,111,114, 40,118, 97,108, 32, 43, 32, 48, 46, 53, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97, +116,104, 95,108,101,115,115, 95,116,104, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, + 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, + 49, 32, 60, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, + 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,103,114,101, + 97,116,101,114, 95,116,104, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, + 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 62, + 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111, +117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,113,117,101,101,122,101, 40,102,108,111, + 97,116, 32,118, 97,108, 44, 32,102,108,111, 97,116, 32,119,105,100,116,104, 44, 32,102,108,111, 97,116, 32, 99,101,110,116,101, +114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, + 32, 49, 46, 48, 47, 40, 49, 46, 48, 32, 43, 32,112,111,119, 40, 50, 46, 55, 49, 56, 50, 56, 49, 56, 51, 44, 32, 45, 40, 40,118, + 97,108, 45, 99,101,110,116,101,114, 41, 42,119,105,100,116,104, 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, + 95,109, 97,116,104, 95, 97,100,100, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32, +118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, + 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 43, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 97, + 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 49, 93, 41, 32, 43, + 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, 41, 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, + 99, 95,109, 97,116,104, 95,115,117, 98, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, + 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10, +123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 45, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, + 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 49, 93, 41, 32, + 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, 41, 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,118, +101, 99, 95,109, 97,116,104, 95, 97,118,101,114, 97,103,101, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, -118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,118, 41, 59, 10, 9,111,117,116, -118,101, 99, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95, -109, 97,116,104, 95,110,101,103, 97,116,101, 40,118,101, 99, 51, 32,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, -118, 41, 10,123, 10, 9,111,117,116,118, 32, 61, 32, 45,118, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,114,109, 97,108, 40, -118,101, 99, 51, 32,100,105,114, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, -110,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,111,116, 41, 10,123, 10, 9,111,117,116,110,111,114, - 32, 61, 32,100,105,114, 59, 10, 9,111,117,116,100,111,116, 32, 61, 32, 45,100,111,116, 40,100,105,114, 44, 32,110,111,114, 41, - 59, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,118,101,115, 95,118,101, 99, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32, -118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, 49, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,111,117, -116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 46,120, 32, 61, 32,116,101,120, -116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 40,118,101, 99, 46,120, 32, 43, 32, 49, 46, 48, 41, 42, 48, - 46, 53, 41, 46,120, 59, 10, 9,111,117,116,118,101, 99, 46,121, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114, -118,101,109, 97,112, 44, 32, 40,118,101, 99, 46,121, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 41, 46,121, 59, 10, 9,111,117, -116,118,101, 99, 46,122, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 40,118,101, - 99, 46,122, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 41, 46,122, 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32, 33, 61, 32, - 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32, 40,111,117,116,118,101, 99, 42,102, 97, 99, 41, 32, 43, 32, 40, -118,101, 99, 42, 40, 49, 46, 48, 45,102, 97, 99, 41, 41, 59, 10, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,118,101,115, 95, -114,103, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,115, 97,109,112,108,101,114, - 49, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, - 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, -116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 99,111,108, 46,114, 41, 46, 97, 41, 46,114, 59, - 10, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, - 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 99,111,108, 46,103, 41, 46, 97, 41, 46,103, - 59, 10, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, - 44, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 99,111,108, 46, 98, 41, 46, 97, 41, 46, - 98, 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32, 33, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32, - 40,111,117,116, 99,111,108, 42,102, 97, 99, 41, 32, 43, 32, 40, 99,111,108, 42, 40, 49, 46, 48, 45,102, 97, 99, 41, 41, 59, 10, - 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95, -118, 97,108,117,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97, -108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95, -114,103, 98, 40,118,101, 99, 51, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, - 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 97, - 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111, -117,116, 99,111,108, 32, 61, 32, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 95,122, -101,114,111, 40,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, - 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 95,111,110,101, 40,111,117,116, - 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10, -125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, 51, 32,111,117, -116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10,125, 10, 10, -118,111,105,100, 32,115,101,116, 95,114,103, 98, 97, 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, 52, 32,111,117,116,118, - 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111, -105,100, 32,109,105,120, 95, 98,108,101,110,100, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, +118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 43, 32,118, 50, 59, 10, 9,111,117,116,118, 97, +108, 32, 61, 32,108,101,110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10, 9,111,117,116,118,101, 99, 32, 61, 32,110,111, +114,109, 97,108,105,122,101, 40,111,117,116,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116, +104, 95,100,111,116, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, + 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117, +116,118,101, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 44, 32, 48, 44, 32, 48, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32, +100,111,116, 40,118, 49, 44, 32,118, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 99,114, +111,115,115, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111, +117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, +101, 99, 32, 61, 32, 99,114,111,115,115, 40,118, 49, 44, 32,118, 50, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101, +110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,110, +111,114,109, 97,108,105,122,101, 40,118,101, 99, 51, 32,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, + 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, +108,101,110,103,116,104, 40,118, 41, 59, 10, 9,111,117,116,118,101, 99, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, + 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,110,101,103, 97,116,101, 40,118,101, 99, 51, 32, +118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118, 41, 10,123, 10, 9,111,117,116,118, 32, 61, 32, 45,118, 59, 10, +125, 10, 10,118,111,105,100, 32,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,100,105,114, 44, 32,118,101, 99, 51, 32,110,111, +114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117, +116,100,111,116, 41, 10,123, 10, 9,111,117,116,110,111,114, 32, 61, 32,100,105,114, 59, 10, 9,111,117,116,100,111,116, 32, 61, + 32, 45,100,111,116, 40,100,105,114, 44, 32,110,111,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,118,101,115, 95, +118,101, 99, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, + 49, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, + 9,111,117,116,118,101, 99, 46,120, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, + 40,118,101, 99, 46,120, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 41, 46,120, 59, 10, 9,111,117,116,118,101, 99, 46,121, 32, + 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 40,118,101, 99, 46,121, 32, 43, 32, 49, + 46, 48, 41, 42, 48, 46, 53, 41, 46,121, 59, 10, 9,111,117,116,118,101, 99, 46,122, 32, 61, 32,116,101,120,116,117,114,101, 49, + 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 40,118,101, 99, 46,122, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 41, 46,122, + 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32, 33, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32, 40, +111,117,116,118,101, 99, 42,102, 97, 99, 41, 32, 43, 32, 40,118,101, 99, 42, 40, 49, 46, 48, 45,102, 97, 99, 41, 41, 59, 10, 10, +125, 10, 10,118,111,105,100, 32, 99,117,114,118,101,115, 95,114,103, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, + 99, 52, 32, 99,111,108, 44, 32,115, 97,109,112,108,101,114, 49, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,111,117,116, 32, +118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,101,120,116,117, +114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97, +112, 44, 32, 99,111,108, 46,114, 41, 46, 97, 41, 46,114, 59, 10, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,101,120,116, +117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, + 97,112, 44, 32, 99,111,108, 46,103, 41, 46, 97, 41, 46,103, 59, 10, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,101,120, +116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101, +109, 97,112, 44, 32, 99,111,108, 46, 98, 41, 46, 97, 41, 46, 98, 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32, 33, 61, 32, 49, + 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32, 40,111,117,116, 99,111,108, 42,102, 97, 99, 41, 32, 43, 32, 40, 99, +111,108, 42, 40, 49, 46, 48, 45,102, 97, 99, 41, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 46, + 97, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32, +111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97, +108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 40,118,101, 99, 51, 32, 99,111,108, 44, 32,111,117,116, + 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 59, 10,125, + 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 97, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, + 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 59, 10,125, 10, 10,118, +111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 95,122,101,114,111, 40,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, +118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,101, +116, 95,118, 97,108,117,101, 95,111,110,101, 40,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, + 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 95,122, +101,114,111, 40,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, + 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 97, 95,122,101,114, +111, 40,111,117,116, 32,118,101, 99, 52, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, +101, 99, 52, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 98,108,101,110,100, 40,102,108,111, 97, +116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, + 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, + 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, + 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, + 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 97,100,100, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, + 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111, +108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, + 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 43, 32, 99,111,108, + 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10, +118,111,105,100, 32,109,105,120, 95,109,117,108,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111, +108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10, +123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9, +111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 42, 32, 99,111,108, 50, 44, 32, +102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105, +100, 32,109,105,120, 95,115, 99,114,101,101,110, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, - 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111, -117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111, -117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 97,100, -100, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, + 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102, +108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, + 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 40,118,101, 99, 52, 40,102, 97, 99,109, 41, 32, 43, 32,102, 97, 99, 42, + 40,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 50, 41, 41, 42, 40,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, + 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118, +111,105,100, 32,109,105,120, 95,111,118,101,114,108, 97,121, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, + 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, + 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, + 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99, +111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 60, 32, 48, 46, 53, 41, 10, + 9, 9,111,117,116, 99,111,108, 46,114, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, + 50, 46,114, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, + 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46,114, 41, 41, 42, 40, 49, + 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, 32, 60, 32, + 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, + 99, 42, 99,111,108, 50, 46,103, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, + 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46,103, + 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, + 46, 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, + 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, + 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99, +111,108, 50, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 59, 10,125, 10, 10,118,111,105, +100, 32,109,105,120, 95,115,117, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32, +118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, + 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99, +111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 45, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, + 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105, +120, 95,100,105,118, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, + 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, + 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, + 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, + 10, 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46,114, 32, 61, 32, +102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, 46,114, 47, 99,111,108, + 50, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 50, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46,103, + 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,103, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, 46,103, 47, + 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 50, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111, +108, 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46, 98, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, + 46, 98, 47, 99,111,108, 50, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,105,102,102, 40,102,108,111, 97, +116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, + 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, + 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, + 32, 97, 98,115, 40, 99,111,108, 49, 32, 45, 32, 99,111,108, 50, 41, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, + 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100, 97,114,107, 40,102,108, +111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111, +117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, + 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 46,114,103, 98, 32, 61, 32,109,105,110, + 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111,108, 50, 46,114,103, 98, 42,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111, +108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,108,105,103,104,116, 40, +102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, + 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, + 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 46,114,103, 98, 32, 61, 32,109, + 97,120, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111,108, 50, 46,114,103, 98, 42,102, 97, 99, 41, 59, 10, 9,111,117,116, + 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,111,100,103, +101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97, -109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, - 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 43, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111, -108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,109,117,108,116, 40,102, -108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32, -111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, -102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111, -108, 49, 44, 32, 99,111,108, 49, 32, 42, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, - 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115, 99,114,101,101,110, 40,102,108, +109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, + 49, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, + 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9, 9,105,102, 40, +116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9, + 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46,114, 47,116,109,112, 41, 32, 62, 32, + 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, + 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 9,125, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, +103, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32, +102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9, +111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, + 32,111,117,116, 99,111,108, 46,103, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, +103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,109, +112, 59, 10, 9,125, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102, +108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9, 9,105, +102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, + 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 47,116,109,112, 41, 32, + 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, + 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109, +105,120, 95, 98,117,114,110, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, + 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, + 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32, +116,109,112, 44, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, + 61, 32, 99,111,108, 49, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46, +114, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, + 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, + 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99, +111,108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, + 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, + 46,114, 32, 61, 32,116,109,112, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, + 50, 46,103, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, + 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, + 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117, +116, 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, + 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99, +111,108, 46,103, 32, 61, 32,116,109,112, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99, +111,108, 50, 46, 98, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, + 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, + 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9, +111,117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, + 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117, +116, 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,104,117,101, 40,102,108, 111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111, 117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, - 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 40, -118,101, 99, 52, 40,102, 97, 99,109, 41, 32, 43, 32,102, 97, 99, 42, 40,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 99,111, -108, 50, 41, 41, 42, 40,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, - 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,111,118,101,114,108, 97,121, - 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, - 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109, -112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, - 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, - 40,111,117,116, 99,111,108, 46,114, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 42, 61, 32,102, - 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117, -116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, - 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59, - 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, - 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9,101,108,115,101, - 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42, -102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46,103, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111, -108, 46,103, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, - 99,111,108, 46, 98, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, - 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, - 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32, -111,117,116, 99,111,108, 46, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115,117, 98, 40,102,108,111, 97,116, - 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32, -118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, - 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, - 99,111,108, 49, 32, 45, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99, -111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,105,118, 40,102,108,111, 97,116, 32,102, 97, 99, - 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, - 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, - 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, - 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, 33, 61, - 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46,114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, - 32,102, 97, 99, 42,111,117,116, 99,111,108, 46,114, 47, 99,111,108, 50, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 50, 46,103, - 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46, -103, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, 46,103, 47, 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40, 99,111,108, - 50, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99, -111,108, 46, 98, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, 46, 98, 47, 99,111,108, 50, 46, 98, 59, 10,125, 10, 10,118, -111,105,100, 32,109,105,120, 95,100,105,102,102, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, - 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, - 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111, -117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 97, 98,115, 40, 99,111,108, 49, 32, 45, 32, 99,111,108, - 50, 41, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, - 10,118,111,105,100, 32,109,105,120, 95,100, 97,114,107, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99, -111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, - 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, - 9,111,117,116, 99,111,108, 46,114,103, 98, 32, 61, 32,109,105,110, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111,108, 50, - 46,114,103, 98, 42,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, - 10, 10,118,111,105,100, 32,109,105,120, 95,108,105,103,104,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, - 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111, -108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, - 59, 10, 9,111,117,116, 99,111,108, 46,114,103, 98, 32, 61, 32,109, 97,120, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111, -108, 50, 46,114,103, 98, 42,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, - 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,111,100,103,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, - 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, - 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, - 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, -114, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32, -102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9, -111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, - 32,111,117,116, 99,111,108, 46,114, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, -114, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,109, -112, 59, 10, 9,125, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102, -108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9, 9,105, -102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, - 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46,103, 47,116,109,112, 41, 32, - 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, - 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,109,112, 59, 10, 9,125, 10, 9,105,102, 40,111,117,116, 99,111, -108, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, - 45, 32,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, - 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, - 32, 61, 32,111,117,116, 99,111,108, 46, 98, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111, -108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, -116,109,112, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 98,117,114,110, 40,102,108,111, 97,116, 32,102, + 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32, +104,115,118, 44, 32,104,115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, + 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, + 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 9, 9,104,115,118, 46, +120, 32, 61, 32,104,115,118, 50, 46,120, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,116,109, +112, 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40,111,117,116, 99,111,108, 44, 32,116,109,112, + 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, 9,125, 10, +125, 10, 10,118,111,105,100, 32,109,105,120, 95,115, 97,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, + 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, + 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, + 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99, +111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 59, 10, 9,114,103, + 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 46, +121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104, +115,118, 50, 41, 59, 10, 10, 9, 9,104,115,118, 46,121, 32, 61, 32,102, 97, 99,109, 42,104,115,118, 46,121, 32, 43, 32,102, 97, + 99, 42,104,115,118, 50, 46,121, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99, +111,108, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,118, 97,108, 40,102,108,111, 97,116, 32,102, 97, + 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, + 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, + 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, + 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, + 99,111,108, 49, 44, 32,104,115,118, 41, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115, +118, 50, 41, 59, 10, 10, 9,104,115,118, 46,122, 32, 61, 32,102, 97, 99,109, 42,104,115,118, 46,122, 32, 43, 32,102, 97, 99, 42, +104,115,118, 50, 46,122, 59, 10, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, + 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 99,111,108,111,114, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118, +101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117, +116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, + 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9, +111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 44, + 32,116,109,112, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, + 9,105,102, 40,104,115,118, 50, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115, +118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 9, 9,104,115,118, 46,120, 32, 61, 32,104,115,118, 50, 46,120, + 59, 10, 9, 9,104,115,118, 46,121, 32, 61, 32,104,115,118, 50, 46,121, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, + 40,104,115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40,111,117,116, + 99,111,108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, + 49, 46, 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115,111,102,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, - 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,116,109,112, 44, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, - 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,116,109,112, 32, 61, - 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, - 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40, -116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 47,116,109, -112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108, -115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, - 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 10, 9,116,109,112, - 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, - 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, - 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 47, -116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9, -101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, - 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,109,112, 59, 10, 10, 9,116, -109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9,105,102, 40,116,109,112, 32, - 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32, -105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, - 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, - 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, - 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10,125, - 10, 10,118,111,105,100, 32,109,105,120, 95,104,117,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99, -111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, - 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, - 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111, -108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 44, 32,116,109,112, 59, - 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,105,102, 40,104, -115,118, 50, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, - 99,111,108, 44, 32,104,115,118, 41, 59, 10, 9, 9,104,115,118, 46,120, 32, 61, 32,104,115,118, 50, 46,120, 59, 10, 9, 9,104, -115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108, 32, - 61, 32,109,105,120, 40,111,117,116, 99,111,108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,111, -108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115, 97,116, - 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, - 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109, -112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, - 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, - 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, - 44, 32,104,115,118, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114, -103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9, 9,104,115,118, 46,121, 32, - 61, 32,102, 97, 99,109, 42,104,115,118, 46,121, 32, 43, 32,102, 97, 99, 42,104,115,118, 50, 46,121, 59, 10, 9, 9,104,115,118, - 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, - 32,109,105,120, 95,118, 97,108, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118, -101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, - 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, - 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104, -115,118, 50, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 49, 44, 32,104,115,118, 41, 59, 10, 9,114,103, - 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,104,115,118, 46,122, 32, 61, 32, -102, 97, 99,109, 42,104,115,118, 46,122, 32, 43, 32,102, 97, 99, 42,104,115,118, 50, 46,122, 59, 10, 9,104,115,118, 95,116,111, - 95,114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 99, -111,108,111,114, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, - 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, - 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99, -109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, - 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95,116,111, 95,104, -115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, 33, 61, 32, 48, - 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, - 10, 9, 9,104,115,118, 46,120, 32, 61, 32,104,115,118, 50, 46,120, 59, 10, 9, 9,104,115,118, 46,121, 32, 61, 32,104,115,118, - 50, 46,121, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, - 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40,111,117,116, 99,111,108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, 59, - 10, 9, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, - 32,109,105,120, 95,115,111,102,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32, -118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, - 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97, -116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,111,110,101, 61, 32, -118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,118,101, 99, 52, 32,115, 99,114, 61, 32,111,110,101, 32, 45, 32, 40,111,110,101, - 32, 45, 32, 99,111,108, 50, 41, 42, 40,111,110,101, 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, - 32,102, 97, 99,109, 42, 99,111,108, 49, 32, 43, 32,102, 97, 99, 42, 40, 40,111,110,101, 32, 45, 32, 99,111,108, 49, 41, 42, 99, -111,108, 50, 42, 99,111,108, 49, 32, 43, 32, 99,111,108, 49, 42,115, 99,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105, -120, 95,108,105,110,101, 97,114, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118, -101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, - 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9,111,117,116, 99, -111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9, -111,117,116, 99,111,108, 46,114, 61, 32, 99,111,108, 49, 46,114, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, - 50, 46,114, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 61, 32, 99, -111,108, 49, 46,114, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 41, 32, 45, 32, 49, 46, 48, 41, - 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,103, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 61, - 32, 99,111,108, 49, 46,103, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,103, 32, 45, 32, 48, 46, 53, - 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103, 32, 43, 32,102, - 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,103, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, 99,111, -108, 50, 46, 98, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 61, 32, 99,111,108, 49, 46, 98, 32, 43, - 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46, 98, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, - 10, 9, 9,111,117,116, 99,111,108, 46, 98, 61, 32, 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, - 99,111,108, 50, 46, 98, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118, 97,108,116,111,114,103, 98, - 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,115, 97,109,112,108,101,114, 49, 68, 32, 99,111,108,111,114,109, 97,112, 44, 32, -111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, 97,108, -112,104, 97, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,111,108,111,114, -109, 97,112, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 97,108,112,104, 97, 32, 61, 32,111,117,116, 99,111,108, 46, 97, 59, - 10,125, 10, 10,118,111,105,100, 32,114,103, 98,116,111, 98,119, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 32, 32, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,108, -111,114, 46,114, 42, 48, 46, 51, 53, 32, 43, 32, 99,111,108,111,114, 46,103, 42, 48, 46, 52, 53, 32, 43, 32, 99,111,108,111,114, - 46, 98, 42, 48, 46, 50, 59, 32, 47, 42, 32,107,101,101,112, 32,116,104,101,115,101, 32,102, 97, 99,116,111,114,115, 32,105,110, - 32,115,121,110, 99, 32,119,105,116,104, 32,116,101,120,116,117,114,101, 46,104, 58, 82, 71, 66, 84, 79, 66, 87, 32, 42, 47, 10, -125, 10, 10,118,111,105,100, 32,105,110,118,101,114,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99, -111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,120, -121,122, 32, 61, 32,109,105,120, 40, 99,111,108, 46,120,121,122, 44, 32,118,101, 99, 51, 40, 49, 46, 48, 44, 32, 49, 46, 48, 44, - 32, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 46,120,121,122, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46,119, - 32, 61, 32, 99,111,108, 46,119, 59, 10,125, 10, 10,118,111,105,100, 32,104,117,101, 95,115, 97,116, 40,102,108,111, 97,116, 32, -104,117,101, 44, 32,102,108,111, 97,116, 32,115, 97,116, 44, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,102,108,111, - 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111, -108, 41, 10,123, 10, 9,118,101, 99, 52, 32,104,115,118, 59, 10, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, - 44, 32,104,115,118, 41, 59, 10, 10, 9,104,115,118, 91, 48, 93, 32, 43, 61, 32, 40,104,117,101, 32, 45, 32, 48, 46, 53, 41, 59, - 10, 9,105,102, 40,104,115,118, 91, 48, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 48, 93, 45, 61, 49, 46, 48, 59, 32,101,108, -115,101, 32,105,102, 40,104,115,118, 91, 48, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 48, 93, 43, 61, 32, 49, 46, 48, 59, 10, - 9,104,115,118, 91, 49, 93, 32, 42, 61, 32,115, 97,116, 59, 10, 9,105,102, 40,104,115,118, 91, 49, 93, 62, 49, 46, 48, 41, 32, -104,115,118, 91, 49, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 49, 93, 60, 48, 46, 48, 41, - 32,104,115,118, 91, 49, 93, 61, 32, 48, 46, 48, 59, 10, 9,104,115,118, 91, 50, 93, 32, 42, 61, 32,118, 97,108,117,101, 59, 10, - 9,105,102, 40,104,115,118, 91, 50, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115, -101, 32,105,102, 40,104,115,118, 91, 50, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 48, 46, 48, 59, 10, 10, 9, -104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10, 10, 9,111,117,116, 99,111, -108, 32, 61, 32,109,105,120, 40, 99,111,108, 44, 32,111,117,116, 99,111,108, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111, -105,100, 32,115,101,112, 97,114, 97,116,101, 95,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 98, 41, - 10,123, 10, 9,114, 32, 61, 32, 99,111,108, 46,114, 59, 10, 9,103, 32, 61, 32, 99,111,108, 46,103, 59, 10, 9, 98, 32, 61, 32, - 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32, 99,111,109, 98,105,110,101, 95,114,103, 98, 40,102,108,111, 97,116, - 32,114, 44, 32,102,108,111, 97,116, 32,103, 44, 32,102,108,111, 97,116, 32, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99, -111,108, 41, 10,123, 10, 9, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,114, 44, 32,103, 44, 32, 98, 44, 32, 49, 46, 48, 41, 59, - 10,125, 10, 10,118,111,105,100, 32,111,117,116,112,117,116, 95,110,111,100,101, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,102, -108,111, 97,116, 32, 97,108,112,104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9, -111,117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, 10,125, - 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 84, 69, 88, 84, 85, 82, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,102,108,105,112, 95, 98,108,101,110, -100, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9, -111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 46,121,120,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114, -101, 95, 98,108,101,110,100, 95,108,105,110, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, -111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, - 50, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95, 98,108,101,110,100, 95,113,117, 97,100, 40, -118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111, -117,116,118, 97,108, 32, 61, 32,109, 97,120, 40, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 44, 32, 48, 46, 48, - 41, 59, 10, 9,111,117,116,118, 97,108, 32, 42, 61, 32,111,117,116,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,116,101, -120,116,117,114,101, 95,119,111,111,100, 95,115,105,110, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, - 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, - 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32, 97, 32, 61, 32,115,113,114,116, 40,118,101, 99, - 46,120, 42,118,101, 99, 46,120, 32, 43, 32,118,101, 99, 46,121, 42,118,101, 99, 46,121, 32, 43, 32,118,101, 99, 46,122, 42,118, -101, 99, 46,122, 41, 42, 50, 48, 46, 48, 59, 10, 9,102,108,111, 97,116, 32,119,105, 32, 61, 32, 48, 46, 53, 32, 43, 32, 48, 46, - 53, 42,115,105,110, 40, 97, 41, 59, 10, 10, 9,118, 97,108,117,101, 32, 61, 32,119,105, 59, 10, 9, 99,111,108,111,114, 32, 61, - 32,118,101, 99, 52, 40,119,105, 44, 32,119,105, 44, 32,119,105, 44, 32, 49, 46, 48, 41, 59, 10, 9,110,111,114,109, 97,108, 32, - 61, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116, -101,120,116,117,114,101, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, - 32,105,109, 97, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, - 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9, 99,111,108,111,114, - 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 40,118,101, 99, 46,120,121, 32, 43, 32,118,101, 99, 50, - 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 41, 42, 48, 46, 53, 41, 59, 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10, - 10, 9,110,111,114,109, 97,108, 46,120, 32, 61, 32, 50, 46, 48, 42, 40, 99,111,108,111,114, 46,114, 32, 45, 32, 48, 46, 53, 41, - 59, 10, 9,110,111,114,109, 97,108, 46,121, 32, 61, 32, 50, 46, 48, 42, 40, 48, 46, 53, 32, 45, 32, 99,111,108,111,114, 46,103, - 41, 59, 10, 9,110,111,114,109, 97,108, 46,122, 32, 61, 32, 50, 46, 48, 42, 40, 99,111,108,111,114, 46, 98, 32, 45, 32, 48, 46, - 53, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 77, 84, 69, 88, 32, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,111,114, 99,111, 40,118, -101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,114, 99,111, 41, 10,123, 10, 9,111, -114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,117,118, 40, -118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 41, 10,123, 10, 9, 47, 42, 32,100, -105,115, 97, 98,108,101,100, 32,102,111,114, 32,110,111,119, 44, 32,119,111,114,107,115, 32,116,111,103,101,116,104,101,114, 32, -119,105,116,104, 32,108,101, 97,118,105,110,103, 32,111,117,116, 32,109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, - 10, 9, 32, 32, 32,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, - 49, 46, 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 32, 42, 47, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97, -116,116,117,118, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,110,111,114,109, 40,118, -101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10, -123, 10, 9, 47, 42, 32, 99,111,114,114,101,115,112,111,110,100,115, 32,116,111, 32,115,104,105, 45, 62,111,114,110, 44, 32,119, -104,105, 99,104, 32,105,115, 32,110,101,103, 97,116,101,100, 32,115,111, 32, 99, 97,110, 99,101,108,115, 10, 9, 32, 32, 32,111, -117,116, 32, 98,108,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,110,101,103, 97,116,105,111,110, 32, 42, 47, 10, 9,111, -117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, - 10,118,111,105,100, 32,116,101,120, 99,111, 95,116, 97,110,103,101,110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, - 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116, 97,110,103,101,110,116, 41, 10,123, 10, 9,111,117,116,116, 97,110, -103,101,110,116, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,116, 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10,125, - 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,103,108,111, 98, 97,108, 40,109, 97,116, 52, 32,118,105,101,119,105,110,118, -109, 97,116, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 41, 10,123, - 10, 9,103,108,111, 98, 97,108, 32, 61, 32, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, - 49, 46, 48, 41, 41, 46,120,121,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,111, 98,106,101, 99,116, 40, -109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,109, 97,116, 52, 32,111, 98,105,110,118,109, 97,116, 44, 32, -118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111, 98,106,101, 99,116, 41, 10,123, 10, 9,111, 98,106, -101, 99,116, 32, 61, 32, 40,111, 98,105,110,118,109, 97,116, 42, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, - 40, 99,111, 44, 32, 49, 46, 48, 41, 41, 41, 46,120,121,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,114, -101,102,108, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, - 32,114,101,102, 41, 10,123, 10, 9,114,101,102, 32, 61, 32,118,105,101,119, 32, 45, 32, 50, 46, 48, 42,100,111,116, 40,118,110, - 44, 32,118,105,101,119, 41, 42,118,110, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,110,111,114,109, 40,118, -101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10, -123, 10, 9, 47, 42, 32, 98,108,101,110,100,101,114, 32,114,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32,110, -101,103, 97,116,101,100, 32, 42, 47, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122, -101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 98,108,101,110, -100, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97, -116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99, -111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99, -103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, - 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105, -100, 32,109,116,101,120, 95,114,103, 98, 95,109,117,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, - 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, - 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, - 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, - 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 41, - 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 99,114,101,101,110, - 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, - 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111, -108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, - 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,118,101, - 99, 51, 40, 49, 46, 48, 41, 32, 45, 32, 40,118,101, 99, 51, 40,102, 97, 99,109, 41, 32, 43, 32,102, 97, 99,116, 42, 40,118,101, - 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,116,101,120, 99,111,108, 41, 41, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32, -111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,111,118,101,114,108, 97, -121, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97, -116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99, -111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99, -103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, - 46,114, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 42, 40, -102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 41, 59, 10, 9,101,108,115,101, - 10, 9, 9,105,110, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, - 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, - 99,111,108, 46,114, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105, -110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, - 99,116, 42,116,101,120, 99,111,108, 46,103, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46,103, 32, 61, 32, - 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101, -120, 99,111,108, 46,103, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40, -111,117,116, 99,111,108, 46, 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99, -111,108, 46, 98, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 41, 59, - 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, - 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46, 98, 41, 41, 42, 40, 49, 46, 48, - 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, -117, 98, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, - 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, - 99,111,108, 41, 10,123, 10, 9,105,110, 99,111,108, 32, 61, 32, 45,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111, -108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 97,100,100, - 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, - 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111, -108, 41, 10,123, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, - 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,118, 40,118,101, + 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, + 99, 59, 10, 10, 9,118,101, 99, 52, 32,111,110,101, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,118,101, 99, 52, 32, +115, 99,114, 61, 32,111,110,101, 32, 45, 32, 40,111,110,101, 32, 45, 32, 99,111,108, 50, 41, 42, 40,111,110,101, 32, 45, 32, 99, +111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,102, 97, 99,109, 42, 99,111,108, 49, 32, 43, 32,102, 97, 99, 42, + 40, 40,111,110,101, 32, 45, 32, 99,111,108, 49, 41, 42, 99,111,108, 50, 42, 99,111,108, 49, 32, 43, 32, 99,111,108, 49, 42,115, + 99,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,108,105,110,101, 97,114, 40,102,108,111, 97,116, 32,102, 97, + 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, + 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, + 48, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40, 99, +111,108, 50, 46,114, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 61, 32, 99,111,108, 49, 46,114, 32, + 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115, +101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 61, 32, 99,111,108, 49, 46,114, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, + 40, 99,111,108, 50, 46,114, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,103, 32, 62, 32, 48, + 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, + 48, 42, 40, 99,111,108, 50, 46,103, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111, +108, 46,103, 61, 32, 99,111,108, 49, 46,103, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,103, 41, 32, + 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46, 98, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, + 99,111,108, 46, 98, 61, 32, 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46, 98, + 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 61, 32, 99,111,108, 49, + 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46, 98, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,118, 97,108,116,111,114,103, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,115, 97,109,112,108, +101,114, 49, 68, 32, 99,111,108,111,114,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 44, 32, +111,117,116, 32,102,108,111, 97,116, 32,111,117,116, 97,108,112,104, 97, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, +116,101,120,116,117,114,101, 49, 68, 40, 99,111,108,111,114,109, 97,112, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 97,108, +112,104, 97, 32, 61, 32,111,117,116, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,114,103, 98,116,111, 98,119, 40, +118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 32, 32, 10, +123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,108,111,114, 46,114, 42, 48, 46, 51, 53, 32, 43, 32, 99,111,108,111,114, + 46,103, 42, 48, 46, 52, 53, 32, 43, 32, 99,111,108,111,114, 46, 98, 42, 48, 46, 50, 59, 32, 47, 42, 32,107,101,101,112, 32,116, +104,101,115,101, 32,102, 97, 99,116,111,114,115, 32,105,110, 32,115,121,110, 99, 32,119,105,116,104, 32,116,101,120,116,117,114, +101, 46,104, 58, 82, 71, 66, 84, 79, 66, 87, 32, 42, 47, 10,125, 10, 10,118,111,105,100, 32,105,110,118,101,114,116, 40,102,108, +111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99, +111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,120,121,122, 32, 61, 32,109,105,120, 40, 99,111,108, 46,120,121,122, 44, + 32,118,101, 99, 51, 40, 49, 46, 48, 44, 32, 49, 46, 48, 44, 32, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 46,120,121,122, 44, 32, +102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46,119, 32, 61, 32, 99,111,108, 46,119, 59, 10,125, 10, 10,118,111,105,100, + 32,104,117,101, 95,115, 97,116, 40,102,108,111, 97,116, 32,104,117,101, 44, 32,102,108,111, 97,116, 32,115, 97,116, 44, 32,102, +108,111, 97,116, 32,118, 97,108,117,101, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, + 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32,104,115,118, 59, 10, 10, + 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 10, 9,104,115,118, 91, 48, 93, 32, + 43, 61, 32, 40,104,117,101, 32, 45, 32, 48, 46, 53, 41, 59, 10, 9,105,102, 40,104,115,118, 91, 48, 93, 62, 49, 46, 48, 41, 32, +104,115,118, 91, 48, 93, 45, 61, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 48, 93, 60, 48, 46, 48, 41, + 32,104,115,118, 91, 48, 93, 43, 61, 32, 49, 46, 48, 59, 10, 9,104,115,118, 91, 49, 93, 32, 42, 61, 32,115, 97,116, 59, 10, 9, +105,102, 40,104,115,118, 91, 49, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 49, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115,101, + 32,105,102, 40,104,115,118, 91, 49, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 49, 93, 61, 32, 48, 46, 48, 59, 10, 9,104,115, +118, 91, 50, 93, 32, 42, 61, 32,118, 97,108,117,101, 59, 10, 9,105,102, 40,104,115,118, 91, 50, 93, 62, 49, 46, 48, 41, 32,104, +115,118, 91, 50, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 50, 93, 60, 48, 46, 48, 41, 32, +104,115,118, 91, 50, 93, 61, 32, 48, 46, 48, 59, 10, 10, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111, +117,116, 99,111,108, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 44, 32,111,117,116, 99, +111,108, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,112, 97,114, 97,116,101, 95,114,103, 98, 40,118, +101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, +103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 98, 41, 10,123, 10, 9,114, 32, 61, 32, 99,111,108, 46,114, 59, 10, 9,103, + 32, 61, 32, 99,111,108, 46,103, 59, 10, 9, 98, 32, 61, 32, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32, 99,111, +109, 98,105,110,101, 95,114,103, 98, 40,102,108,111, 97,116, 32,114, 44, 32,102,108,111, 97,116, 32,103, 44, 32,102,108,111, 97, +116, 32, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 41, 10,123, 10, 9, 99,111,108, 32, 61, 32,118,101, 99, 52, + 40,114, 44, 32,103, 44, 32, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,111,117,116,112,117,116, 95,110, +111,100,101, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 44, 32,111,117,116, 32,118, +101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, + 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 84, 69, + 88, 84, 85, 82, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,116,101, +120,116,117,114,101, 95,102,108,105,112, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,118, +101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 46,121,120,122, 59, + 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95, 98,108,101,110,100, 95,108,105,110, 40,118,101, 99, 51, 32, +118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, + 32, 61, 32, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116, +117,114,101, 95, 98,108,101,110,100, 95,113,117, 97,100, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, + 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,109, 97,120, 40, 40, 49, 46, 48, 43, +118,101, 99, 46,120, 41, 47, 50, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 42, 61, 32,111,117,116, +118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,119,111,111,100, 95,115,105,110, 40,118,101, + 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, + 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9,102,108,111, + 97,116, 32, 97, 32, 61, 32,115,113,114,116, 40,118,101, 99, 46,120, 42,118,101, 99, 46,120, 32, 43, 32,118,101, 99, 46,121, 42, +118,101, 99, 46,121, 32, 43, 32,118,101, 99, 46,122, 42,118,101, 99, 46,122, 41, 42, 50, 48, 46, 48, 59, 10, 9,102,108,111, 97, +116, 32,119,105, 32, 61, 32, 48, 46, 53, 32, 43, 32, 48, 46, 53, 42,115,105,110, 40, 97, 41, 59, 10, 10, 9,118, 97,108,117,101, + 32, 61, 32,119,105, 59, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40,119,105, 44, 32,119,105, 44, 32,119,105, 44, + 32, 49, 46, 48, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, + 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,105,109, 97,103,101, 40,118,101, 99, 51, + 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, + 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110, +111,114,109, 97,108, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, + 32, 40,118,101, 99, 46,120,121, 32, 43, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 41, 42, 48, 46, 53, 41, 59, + 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10, 10, 9,110,111,114,109, 97,108, 46,120, 32, 61, 32, 50, 46, 48, 42, + 40, 99,111,108,111,114, 46,114, 32, 45, 32, 48, 46, 53, 41, 59, 10, 9,110,111,114,109, 97,108, 46,121, 32, 61, 32, 50, 46, 48, + 42, 40, 48, 46, 53, 32, 45, 32, 99,111,108,111,114, 46,103, 41, 59, 10, 9,110,111,114,109, 97,108, 46,122, 32, 61, 32, 50, 46, + 48, 42, 40, 99,111,108,111,114, 46, 98, 32, 45, 32, 48, 46, 53, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 32, 77, 84, 69, 88, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111, +105,100, 32,116,101,120, 99,111, 95,111,114, 99,111, 40,118,101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,111,117,116, 32, +118,101, 99, 51, 32,111,114, 99,111, 41, 10,123, 10, 9,111,114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111, 59, 10,125, 10, + 10,118,111,105,100, 32,116,101,120, 99,111, 95,117,118, 40,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,111,117,116, 32,118, +101, 99, 51, 32,117,118, 41, 10,123, 10, 9, 47, 42, 32,100,105,115, 97, 98,108,101,100, 32,102,111,114, 32,110,111,119, 44, 32, +119,111,114,107,115, 32,116,111,103,101,116,104,101,114, 32,119,105,116,104, 32,108,101, 97,118,105,110,103, 32,111,117,116, 32, +109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 10, 9, 32, 32, 32,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116, +116,117,118, 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 32, + 42, 47, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111, +105,100, 32,116,101,120, 99,111, 95,110,111,114,109, 40,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118, +101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 42, 32, 99,111,114,114,101,115,112,111,110,100,115, + 32,116,111, 32,115,104,105, 45, 62,111,114,110, 44, 32,119,104,105, 99,104, 32,105,115, 32,110,101,103, 97,116,101,100, 32,115, +111, 32, 99, 97,110, 99,101,108,115, 10, 9, 32, 32, 32,111,117,116, 32, 98,108,101,110,100,101,114, 32,110,111,114,109, 97,108, + 32,110,101,103, 97,116,105,111,110, 32, 42, 47, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97,108, +105,122,101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,116, 97,110,103,101, +110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116, 97,110, +103,101,110,116, 41, 10,123, 10, 9,111,117,116,116, 97,110,103,101,110,116, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, +116, 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,103,108,111, 98, + 97,108, 40,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, + 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 41, 10,123, 10, 9,103,108,111, 98, 97,108, 32, 61, 32, 40,118,105,101,119,105, +110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10,125, 10, 10,118,111,105, +100, 32,116,101,120, 99,111, 95,111, 98,106,101, 99,116, 40,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32, +109, 97,116, 52, 32,111, 98,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, + 32,111, 98,106,101, 99,116, 41, 10,123, 10, 9,111, 98,106,101, 99,116, 32, 61, 32, 40,111, 98,105,110,118,109, 97,116, 42, 40, +118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, 49, 46, 48, 41, 41, 41, 46,120,121,122, 59, 10, +125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,114,101,102,108, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, + 32,118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, 32,114,101,102, 41, 10,123, 10, 9,114,101,102, 32, 61, 32,118,105, +101,119, 32, 45, 32, 50, 46, 48, 42,100,111,116, 40,118,110, 44, 32,118,105,101,119, 41, 42,118,110, 59, 10,125, 10, 10,118,111, +105,100, 32,115,104, 97,100,101, 95,110,111,114,109, 40,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118, +101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 42, 32, 98,108,101,110,100,101,114, 32,114,101,110, +100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32,110,101,103, 97,116,101,100, 32, 42, 47, 10, 9,111,117,116,110,111,114, +109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105, +100, 32,109,116,101,120, 95,114,103, 98, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, + 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99, +103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, + 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, + 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, + 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,109,117,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10, 123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9, -102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,114, 32, 33, - 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, - 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46,114, 47,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40,116,101,120, - 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, - 99,111,108, 46,103, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46,103, 47,116,101,120, 99,111,108, 46,103, 59, 10, - 9,105,102, 40,116,101,120, 99,111,108, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,102, - 97, 99,109, 42,111,117,116, 99,111,108, 46, 98, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46, 98, 47,116,101,120, - 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,102,102, 40,118,101, 99, - 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99, -116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, - 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, - 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111, -117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42, 97, 98,115, 40,116,101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, - 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100, 97,114,107, 40,118,101, 99, 51, 32,111,117, -116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102, -108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108, -111, 97,116, 32,102, 97, 99,109, 44, 32, 99,111,108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9, -102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101, -120, 99,111,108, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111, -108, 46,114, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, - 46,114, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111, -108, 32, 60, 32,111,117,116, 99,111,108, 46,103, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115, -101, 32,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99, -116, 42,116,101,120, 99,111,108, 46, 98, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46, 98, 41, 32, -105,110, 99,111,108, 46, 98, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117, -116, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,108,105,103,104,116, 40,118, -101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, - 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, - 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 44, 32, 99,111,108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, - 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, - 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46,114, - 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32, -111,117,116, 99,111,108, 46,114, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, - 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46,103, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111, -108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, - 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99, -111,108, 46, 98, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, - 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,104, -117,101, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, - 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, - 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,104,117,101, 40,102, 97, 99,116, - 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116, -101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, - 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 97,116, 40,118,101, - 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, - 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10, -123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,115, 97,116, 40,102, 97, 99,116, 42,102, 97, 99,103, - 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, - 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114, -103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,118, 97,108, 40,118,101, 99, 51, 32,111,117, -116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102, -108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, - 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,118, 97,108, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, - 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, - 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, - 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 99,111,108,111,114, 40,118,101, 99, 51, 32,111,117,116, 99,111, -108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97, -116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, - 99,111,108, 59, 10, 10, 9,109,105,120, 95, 99,111,108,111,114, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, - 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, - 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, - 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,105,110,111,117,116, 32,102,108,111, 97, -116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, - 99,109, 41, 10,123, 10, 9,102, 97, 99,116, 32, 42, 61, 32, 97, 98,115, 40,102, 97, 99,103, 41, 59, 10, 9,102, 97, 99,109, 32, - 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,102, 40,102, 97, 99,103, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, - 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32,102, 97, 99,116, 59, 10, 9, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,109, - 59, 10, 9, 9,102, 97, 99,109, 32, 61, 32,116,109,112, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, -118, 97,108,117,101, 95, 98,108,101,110,100, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32, -116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32, -111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, - 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99, -109, 41, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, - 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,109,117,108, 40, -102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97, -116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, - 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95, -118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, - 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, - 99,116, 42,116,101,120, 99,111,108, 41, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, -118, 97,108,117,101, 95,115, 99,114,101,101,110, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, - 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, - 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, - 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, - 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, - 99,111,108, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116, -101,120, 95,118, 97,108,117,101, 95,115,117, 98, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, - 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, - 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, - 99,109, 41, 59, 10, 10, 9,102, 97, 99,116, 32, 61, 32, 45,102, 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, - 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, - 95,118, 97,108,117,101, 95, 97,100,100, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116, +102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32, 40,102, 97, 99,109, + 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 41, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32, +109,116,101,120, 95,114,103, 98, 95,115, 99,114,101,101,110, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, + 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, + 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, + 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99, +103, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32, 40,118,101, 99, 51, 40,102, + 97, 99,109, 41, 32, 43, 32,102, 97, 99,116, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,116,101,120, 99,111,108, 41, + 41, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32, +109,116,101,120, 95,114,103, 98, 95,111,118,101,114,108, 97,121, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, + 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99, +103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, + 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, + 99,103, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, + 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116, +101,120, 99,111,108, 46,114, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 32, + 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, + 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99, +111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, + 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 41, 59, 10, 9,101,108, +115,101, 10, 9, 9,105,110, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, + 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46,103, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111, +117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, + 9,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42, +102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46, 98, 32, + 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32, +116,101,120, 99,111,108, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 59, 10,125, 10, 10, +118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115,117, 98, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118, +101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, + 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,105,110, 99,111,108, 32, 61, 32, 45, +102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111, +105,100, 32,109,116,101,120, 95,114,103, 98, 95, 97,100,100, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, + 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, + 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99, +116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32, +109,116,101,120, 95,114,103, 98, 95,100,105,118, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116, 101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9, -109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, - 41, 59, 10, 10, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42, -116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97, -108,117,101, 95,100,105,118, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99, -111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32, -102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101, -120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, - 10, 9,105,102, 40,116,101,120, 99,111,108, 32, 33, 61, 32, 48, 46, 48, 41, 10, 9, 9,105,110, 99,111,108, 32, 61, 32,102, 97, - 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 47,116,101,120, 99,111,108, 59, 10, - 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101, -120, 95,118, 97,108,117,101, 95,100,105,102,102, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, - 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, - 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, - 99,109, 41, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99, -116, 42, 97, 98,115, 40,116,101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32, -109,116,101,120, 95,118, 97,108,117,101, 95,100, 97,114,107, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108, -111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, - 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, - 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, - 32,102, 97, 99,109, 41, 59, 10, 10, 9,102,108,111, 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111, -108, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, - 59, 32,101,108,115,101, 32,105,110, 99,111,108, 32, 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109, -116,101,120, 95,118, 97,108,117,101, 95,108,105,103,104,116, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108, -111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, - 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, - 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, - 32,102, 97, 99,109, 41, 59, 10, 10, 9,102,108,111, 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111, -108, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, - 59, 32,101,108,115,101, 32,105,110, 99,111,108, 32, 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109, -116,101,120, 95,118, 97,108,117,101, 95, 99,108, 97,109,112, 95,112,111,115,105,116,105,118,101, 40,102,108,111, 97,116, 32,102, +117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9, +102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, + 10, 9,105,102, 40,116,101,120, 99,111,108, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, +102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46,114, 47,116,101, +120, 99,111,108, 46,114, 59, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99, +111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,103, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99, +111,108, 46,103, 47,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40,116,101,120, 99,111,108, 46, 98, 32, 33, 61, 32, 48, + 46, 48, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46, 98, 32, 43, 32,102, 97, + 99,116, 42,111,117,116, 99,111,108, 46, 98, 47,116,101,120, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116, +101,120, 95,114,103, 98, 95,100,105,102,102, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101, +120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117, +116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, + 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, + 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42, 97, 98,115, 40, +116,101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114, +103, 98, 95,100, 97,114,107, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, + 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, + 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 44, 32, 99,111,108, 59, 10, 10, 9, +102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, + 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, + 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105, +110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116, +101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46,103, 41, 32,105,110, 99, +111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111, +108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 59, 10, 9,105,102, 40, 99, +111,108, 32, 60, 32,111,117,116, 99,111,108, 46, 98, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32, 99,111,108, 59, 32,101,108, +115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109, +116,101,120, 95,114,103, 98, 95,108,105,103,104,116, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32, +116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32, +111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 44, 32, 99, +111,108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45, +102, 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, + 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, 99,111,108, 59, 32, +101,108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 59, 10, 9, 99,111,108, 32, 61, 32, +102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46, +103, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,103, 32, 61, + 32,111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 59, + 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46, 98, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32, 99, +111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 59, 10,125, 10, 10, +118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,104,117,101, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118, +101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, + 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, + 10, 10, 9,109,105,120, 95,104,117,101, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111, +108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, + 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32, +109,116,101,120, 95,114,103, 98, 95,115, 97,116, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116, +101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111, +117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105, +120, 95,115, 97,116, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, + 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, + 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, +114,103, 98, 95,118, 97,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, + 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, + 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,118, 97,108, + 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118, +101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114, +103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 99, +111,108,111,114, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102, +108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32, +105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95, 99,111,108,111,114, 40, +102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, + 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, + 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, +118, 97,114,115, 40,105,110,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99, +103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99,109, 41, 10,123, 10, 9,102, 97, 99,116, 32, 42, 61, 32, 97, 98, +115, 40,102, 97, 99,103, 41, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,102, 40, +102, 97, 99,103, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32,102, 97, 99,116, + 59, 10, 9, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,109, 59, 10, 9, 9,102, 97, 99,109, 32, 61, 32,116,109,112, 59, 10, 9, +125, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 98,108,101,110,100, 40,102,108,111, 97,116, + 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99, +116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10, +123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40, +102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99, +116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32, +109,116,101,120, 95,118, 97,108,117,101, 95,109,117,108, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, + 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99, +103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99, +109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32, +102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99, +111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 41, 42,111,117,116, 99,111,108, + 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115, 99,114,101,101,110, 40,102,108,111, 97, +116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, + 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, + 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, + 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, + 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, +102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99, +111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115,117, 98, 40,102,108,111, 97, +116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, + 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, + 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, + 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,116, 32, 61, 32, 45,102, 97, + 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111, +108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 97,100,100, 40,102,108,111, 97,116, 32, +111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, + 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, + 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, + 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,116, 59, + 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10, +125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100,105,118, 40,102,108,111, 97,116, 32,111,117,116, + 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102, +108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102, +108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, + 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,102, 40,116,101,120, 99,111,108, 32, 33, 61, 32, 48, 46, + 48, 41, 10, 9, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42, +111,117,116, 99,111,108, 47,116,101,120, 99,111,108, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 32, 61, 32, 48, + 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100,105,102,102, 40,102,108,111, 97, +116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, + 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, + 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, + 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, + 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42, 97, 98,115, 40,116,101,120, 99,111,108, 32, 45, 32,111,117, +116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100, 97,114,107, 40,102, +108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, + 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99, +111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, + 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102,108,111, 97,116, 32, 99, +111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99, +111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 32, 61, 32,111,117, +116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,108,105,103,104,116, 40,102, +108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, + 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99, +111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, + 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102,108,111, 97,116, 32, 99, +111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99, +111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 32, 61, 32,111,117, +116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 99,108, 97,109,112, 95,112, +111,115,105,116,105,118,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, +102, 97, 99, 41, 10,123, 10, 9,111,117,116,102, 97, 99, 32, 61, 32,109, 97,120, 40,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10, +125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,111,117,116,102, 97, 99, 32, - 61, 32,109, 97,120, 40,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97, -108,117,101, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111, -117,116,102, 97, 99, 41, 10,123, 10, 9,111,117,116,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, - 48, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,100,105,118,105,100,101, - 40,102,108,111, 97,116, 32,104, 97,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, - 9,111,117,116,104, 97,114, 32, 61, 32,104, 97,114, 47, 49, 50, 56, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101, -120, 95,104, 97,114, 95,109,117,108,116,105,112,108,121, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,104, 97,114, 44, 32, -111,117,116, 32,102,108,111, 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, 9,104, 97,114, 32, 42, 61, 32, 49, 50, 56, 46, - 48, 59, 10, 10, 9,105,102, 40,104, 97,114, 32, 60, 32, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 49, 46, 48, 59, - 10, 9,101,108,115,101, 32,105,102, 40,104, 97,114, 32, 62, 32, 53, 49, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, - 53, 49, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,111,117,116,104, 97,114, 32, 61, 32,104, 97,114, 59, 10,125, 10, 10,118,111, -105,100, 32,109,116,101,120, 95, 97,108,112,104, 97, 95,102,114,111,109, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 41, 10,123, 10, 9, 97,108,112,104, 97, 32, 61, 32, 99,111,108, - 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 97,108,112,104, 97, 95,116,111, 95, 99,111,108, 40,118,101, - 99, 52, 32, 99,111,108, 44, 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117, -116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, - 97,108,112,104, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98,116,111,105,110,116, 40,118,101, - 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9, -105,110,116,101,110,115,105,116,121, 32, 61, 32,100,111,116, 40,118,101, 99, 51, 40, 48, 46, 51, 53, 44, 32, 48, 46, 52, 53, 44, - 32, 48, 46, 50, 41, 44, 32,114,103, 98, 46,114,103, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97, -108,117,101, 95,105,110,118,101,114,116, 40,102,108,111, 97,116, 32,105,110,118, 97,108,117,101, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,111,117,116,118, 97,108,117,101, 41, 10,123, 10, 9,111,117,116,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 32, - 45, 32,105,110,118, 97,108,117,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,105,110,118,101, -114,116, 40,118,101, 99, 52, 32,105,110,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10, -123, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,105,110,114, -103, 98, 46,114,103, 98, 44, 32,105,110,114,103, 98, 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, - 97,108,117,101, 95,115,116,101,110, 99,105,108, 40,102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,102,108,111, 97, -116, 32,105,110,116,101,110,115,105,116,121, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105, -108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,102,108, -111, 97,116, 32,102, 97, 99,116, 32, 61, 32,105,110,116,101,110,115,105,116,121, 59, 10, 9,111,117,116,105,110,116,101,110,115, -105,116,121, 32, 61, 32,105,110,116,101,110,115,105,116,121, 42,115,116,101,110, 99,105,108, 59, 10, 9,111,117,116,115,116,101, -110, 99,105,108, 32, 61, 32,115,116,101,110, 99,105,108, 42,102, 97, 99,116, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101, -120, 95,114,103, 98, 95,115,116,101,110, 99,105,108, 40,102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,118,101, 99, - 52, 32,114,103, 98, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, - 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,116, 32, 61, 32,114,103, - 98, 46, 97, 59, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32,114,103, 98, - 46, 97, 42,115,116,101,110, 99,105,108, 41, 59, 10, 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32,115,116,101,110, 99, -105,108, 42,102, 97, 99,116, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,111,102, -115, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,118,101, 99, 51, 32,111,102,115, 44, 32,111,117,116, 32,118,101, 99, 51, - 32,111,117,116,116,101,120, 99,111, 41, 10,123, 10, 9,111,117,116,116,101,120, 99,111, 32, 61, 32,116,101,120, 99,111, 32, 43, - 32,111,102,115, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,115,105,122,101, 40, -118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,118,101, 99, 51, 32,115,105,122,101, 44, 32,111,117,116, 32,118,101, 99, 51, 32, -111,117,116,116,101,120, 99,111, 41, 10,123, 10, 9,111,117,116,116,101,120, 99,111, 32, 61, 32,115,105,122,101, 42,116,101,120, - 99,111, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 40,118,101, 99, 51, - 32,118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, - 32, 61, 32,118,101, 99, 51, 40,118,101, 99, 46,120,121, 42, 48, 46, 53, 32, 43, 32,118,101, 99, 50, 40, 48, 46, 53, 44, 32, 48, - 46, 53, 41, 44, 32,118,101, 99, 46,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,105,109, 97,103,101, 40, -118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,102, -108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99, -111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, - 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,111,114,109, - 97,108, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117, -116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 47, 32, 84,104,101, 32,105,110,118,101,114,116, 32, -111,102, 32,116,104,101, 32,114,101,100, 32, 99,104, 97,110,110,101,108, 32,105,115, 32,116,111, 32,109, 97,107,101, 10, 9, 47, - 47, 32,116,104,101, 32,110,111,114,109, 97,108, 32,109, 97,112, 32, 99,111,109,112,108,105, 97,110,116, 32,119,105,116,104, 32, -116,104,101, 32,111,117,116,115,105,100,101, 32,119,111,114,108,100, 46, 10, 9, 47, 47, 32, 73,116, 32,110,101,101,100,115, 32, -116,111, 32, 98,101, 32,100,111,110,101, 32, 98,101, 99, 97,117,115,101, 32,105,110, 32, 66,108,101,110,100,101,114, 10, 9, 47, - 47, 32,116,104,101, 32,110,111,114,109, 97,108, 32,117,115,101,100, 32,112,111,105,110,116,115, 32,105,110,119, 97,114,100, 46, - 10, 9, 47, 47, 32, 83,104,111,117,108,100, 32,116,104,105,115, 32,101,118,101,114, 32, 99,104, 97,110,103,101, 32,116,104,105, -115, 32,110,101,103, 97,116,101, 32,109,117,115,116, 32, 98,101, 32,114,101,109,111,118,101,100, 46, 10, 32, 32, 32, 32,118,101, - 99, 52, 32, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46, -120,121, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 50, 46, 48, 42, 40,118,101, 99, 51, 40, 45, 99,111,108,111,114, 46, -114, 44, 32, 99,111,108,111,114, 46,103, 44, 32, 99,111,108,111,114, 46, 98, 41, 32, 45, 32,118,101, 99, 51, 40, 45, 48, 46, 53, - 44, 32, 48, 46, 53, 44, 32, 48, 46, 53, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95, -110,111,114,109, 97,108,115, 95,105,110,105,116, 40, 32,118,101, 99, 51, 32,118, 78, 44, 32,111,117,116, 32,118,101, 99, 51, 32, -118, 78,111,114,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, - 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 41, 10,123, 10, 9,118, 78,111,114,103, 32, 61, 32,118, 78, 59, - 10, 9,118, 78, 97, 99, 99, 32, 61, 32,118, 78, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, - 49, 46, 48, 59, 10,125, 10, 10, 47, 42, 42, 32,104,101,108,112,101,114, 32,109,101,116,104,111,100, 32,116,111, 32,101,120,116, -114, 97, 99,116, 32,116,104,101, 32,117,112,112,101,114, 32,108,101,102,116, 32, 51,120, 51, 32,109, 97,116,114,105,120, 32,102, -114,111,109, 32, 97, 32, 52,120, 52, 32,109, 97,116,114,105,120, 32, 42, 47, 10,109, 97,116, 51, 32,116,111, 95,109, 97,116, 51, - 40,109, 97,116, 52, 32,109, 52, 41, 10,123, 10, 9,109, 97,116, 51, 32,109, 51, 59, 10, 9,109, 51, 91, 48, 93, 32, 61, 32,109, - 52, 91, 48, 93, 46,120,121,122, 59, 10, 9,109, 51, 91, 49, 93, 32, 61, 32,109, 52, 91, 49, 93, 46,120,121,122, 59, 10, 9,109, - 51, 91, 50, 93, 32, 61, 32,109, 52, 91, 50, 93, 46,120,121,122, 59, 10, 9,114,101,116,117,114,110, 32,109, 51, 59, 10,125, 10, - 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,111, 98,106,115,112, 97, 99,101, 40, 32,118, -101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 10, 9, 9, - 9, 9, 9, 9, 9, 32, 32,109, 97,116, 52, 32,109, 86,105,101,119, 44, 32,109, 97,116, 52, 32,109, 86,105,101,119, 73,110,118, - 44, 32,109, 97,116, 52, 32,109, 79, 98,106, 44, 32,109, 97,116, 52, 32,109, 79, 98,106, 73,110,118, 44, 32, 10, 9, 9, 9, 9, - 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, - 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32, -102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, - 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32, -111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10, -123, 10, 9,109, 97,116, 51, 32,111, 98,106, 50,118,105,101,119, 32, 61, 32,116,111, 95,109, 97,116, 51, 40,109, 86,105,101,119, - 32, 42, 32,109, 79, 98,106, 41, 59, 10, 9,109, 97,116, 51, 32,118,105,101,119, 50,111, 98,106, 32, 61, 32,116,111, 95,109, 97, -116, 51, 40,109, 79, 98,106, 73,110,118, 32, 42, 32,109, 86,105,101,119, 73,110,118, 41, 59, 10, 9, 10, 9,118,101, 99, 51, 32, -118, 83,105,103,109, 97, 83, 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, 42, 32,100, 70,100,120, 40, 32,115,117,114,102, 95, -112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, - 42, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,110, -111,114,109, 97,108,105,122,101, 40, 32,115,117,114,102, 95,110,111,114,109, 32, 42, 32,111, 98,106, 50,118,105,101,119, 32, 41, - 59, 10, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, + 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32, +109,116,101,120, 95,104, 97,114, 95,100,105,118,105,100,101, 40,102,108,111, 97,116, 32,104, 97,114, 44, 32,111,117,116, 32,102, +108,111, 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, 9,111,117,116,104, 97,114, 32, 61, 32,104, 97,114, 47, 49, 50, 56, + 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,109,117,108,116,105,112,108,121, 95, 99,108, + 97,109,112, 40,102,108,111, 97,116, 32,104, 97,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,104, 97,114, 41, + 10,123, 10, 9,104, 97,114, 32, 42, 61, 32, 49, 50, 56, 46, 48, 59, 10, 10, 9,105,102, 40,104, 97,114, 32, 60, 32, 49, 46, 48, + 41, 32,111,117,116,104, 97,114, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,104, 97,114, 32, 62, 32, 53, + 49, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 53, 49, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,111,117,116,104, + 97,114, 32, 61, 32,104, 97,114, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 97,108,112,104, 97, 95,102,114,111, +109, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 41, + 10,123, 10, 9, 97,108,112,104, 97, 32, 61, 32, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, + 97,108,112,104, 97, 95,116,111, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,102,108,111, 97,116, 32, 97,108,112, +104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, + 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, +116,101,120, 95,114,103, 98,116,111,105,110,116, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,102,108,111, 97,116, + 32,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,105,110,116,101,110,115,105,116,121, 32, 61, 32,100,111,116, 40,118, +101, 99, 51, 40, 48, 46, 51, 53, 44, 32, 48, 46, 52, 53, 44, 32, 48, 46, 50, 41, 44, 32,114,103, 98, 46,114,103, 98, 41, 59, 10, +125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,105,110,118,101,114,116, 40,102,108,111, 97,116, 32, +105,110,118, 97,108,117,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108,117,101, 41, 10,123, 10, 9, +111,117,116,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 32, 45, 32,105,110,118, 97,108,117,101, 59, 10,125, 10, 10,118,111,105, +100, 32,109,116,101,120, 95,114,103, 98, 95,105,110,118,101,114,116, 40,118,101, 99, 52, 32,105,110,114,103, 98, 44, 32,111,117, +116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40, +118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,105,110,114,103, 98, 46,114,103, 98, 44, 32,105,110,114,103, 98, 46, 97, 41, 59, + 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115,116,101,110, 99,105,108, 40,102,108,111, 97, +116, 32,115,116,101,110, 99,105,108, 44, 32,102,108,111, 97,116, 32,105,110,116,101,110,115,105,116,121, 44, 32,111,117,116, 32, +102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,105, +110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,116, 32, 61, 32,105,110,116,101,110,115, +105,116,121, 59, 10, 9,111,117,116,105,110,116,101,110,115,105,116,121, 32, 61, 32,105,110,116,101,110,115,105,116,121, 42,115, +116,101,110, 99,105,108, 59, 10, 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32,115,116,101,110, 99,105,108, 42,102, 97, + 99,116, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115,116,101,110, 99,105,108, 40,102,108,111, + 97,116, 32,115,116,101,110, 99,105,108, 44, 32,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, +111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9, +102,108,111, 97,116, 32,102, 97, 99,116, 32, 61, 32,114,103, 98, 46, 97, 59, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,101, + 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32,114,103, 98, 46, 97, 42,115,116,101,110, 99,105,108, 41, 59, 10, 9,111,117,116, +115,116,101,110, 99,105,108, 32, 61, 32,115,116,101,110, 99,105,108, 42,102, 97, 99,116, 59, 10,125, 10, 10,118,111,105,100, 32, +109,116,101,120, 95,109, 97,112,112,105,110,103, 95,111,102,115, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,118,101, 99, + 51, 32,111,102,115, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116,101,120, 99,111, 41, 10,123, 10, 9,111,117,116, +116,101,120, 99,111, 32, 61, 32,116,101,120, 99,111, 32, 43, 32,111,102,115, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101, +120, 95,109, 97,112,112,105,110,103, 95,115,105,122,101, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,118,101, 99, 51, 32, +115,105,122,101, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116,101,120, 99,111, 41, 10,123, 10, 9,111,117,116,116, +101,120, 99,111, 32, 61, 32,115,105,122,101, 42,116,101,120, 99,111, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, + 50,100, 95,109, 97,112,112,105,110,103, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117, +116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51, 40,118,101, 99, 46,120,121, 42, 48, 46, + 53, 32, 43, 32,118,101, 99, 50, 40, 48, 46, 53, 44, 32, 48, 46, 53, 41, 44, 32,118,101, 99, 46,122, 41, 59, 10,125, 10, 10,118, +111,105,100, 32,109,116,101,120, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108, +101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118, +101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, +105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, + 10,118,111,105,100, 32,109,116,101,120, 95,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97, +109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, + 9, 47, 47, 32, 84,104,101, 32,105,110,118,101,114,116, 32,111,102, 32,116,104,101, 32,114,101,100, 32, 99,104, 97,110,110,101, +108, 32,105,115, 32,116,111, 32,109, 97,107,101, 10, 9, 47, 47, 32,116,104,101, 32,110,111,114,109, 97,108, 32,109, 97,112, 32, + 99,111,109,112,108,105, 97,110,116, 32,119,105,116,104, 32,116,104,101, 32,111,117,116,115,105,100,101, 32,119,111,114,108,100, + 46, 10, 9, 47, 47, 32, 73,116, 32,110,101,101,100,115, 32,116,111, 32, 98,101, 32,100,111,110,101, 32, 98,101, 99, 97,117,115, +101, 32,105,110, 32, 66,108,101,110,100,101,114, 10, 9, 47, 47, 32,116,104,101, 32,110,111,114,109, 97,108, 32,117,115,101,100, + 32,112,111,105,110,116,115, 32,105,110,119, 97,114,100, 46, 10, 9, 47, 47, 32, 83,104,111,117,108,100, 32,116,104,105,115, 32, +101,118,101,114, 32, 99,104, 97,110,103,101, 32,116,104,105,115, 32,110,101,103, 97,116,101, 32,109,117,115,116, 32, 98,101, 32, +114,101,109,111,118,101,100, 46, 10, 32, 32, 32, 32,118,101, 99, 52, 32, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114, +101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 50, 46, + 48, 42, 40,118,101, 99, 51, 40, 45, 99,111,108,111,114, 46,114, 44, 32, 99,111,108,111,114, 46,103, 44, 32, 99,111,108,111,114, + 46, 98, 41, 32, 45, 32,118,101, 99, 51, 40, 45, 48, 46, 53, 44, 32, 48, 46, 53, 44, 32, 48, 46, 53, 41, 41, 59, 10,125, 10, 10, +118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,110,111,114,109, 97,108,115, 95,105,110,105,116, 40, 32,118,101, 99, + 51, 32,118, 78, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78,111,114,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, + 78, 97, 99, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 41, + 10,123, 10, 9,118, 78,111,114,103, 32, 61, 32,118, 78, 59, 10, 9,118, 78, 97, 99, 99, 32, 61, 32,118, 78, 59, 10, 9,102, 80, +114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10, 47, 42, 42, 32,104,101,108,112,101, +114, 32,109,101,116,104,111,100, 32,116,111, 32,101,120,116,114, 97, 99,116, 32,116,104,101, 32,117,112,112,101,114, 32,108,101, +102,116, 32, 51,120, 51, 32,109, 97,116,114,105,120, 32,102,114,111,109, 32, 97, 32, 52,120, 52, 32,109, 97,116,114,105,120, 32, + 42, 47, 10,109, 97,116, 51, 32,116,111, 95,109, 97,116, 51, 40,109, 97,116, 52, 32,109, 52, 41, 10,123, 10, 9,109, 97,116, 51, + 32,109, 51, 59, 10, 9,109, 51, 91, 48, 93, 32, 61, 32,109, 52, 91, 48, 93, 46,120,121,122, 59, 10, 9,109, 51, 91, 49, 93, 32, + 61, 32,109, 52, 91, 49, 93, 46,120,121,122, 59, 10, 9,109, 51, 91, 50, 93, 32, 61, 32,109, 52, 91, 50, 93, 46,120,121,122, 59, + 10, 9,114,101,116,117,114,110, 32,109, 51, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,105, +110,105,116, 95,111, 98,106,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, + 51, 32,115,117,114,102, 95,110,111,114,109, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,109, 97,116, 52, 32,109, 86,105,101,119, + 44, 32,109, 97,116, 52, 32,109, 86,105,101,119, 73,110,118, 44, 32,109, 97,116, 52, 32,109, 79, 98,106, 44, 32,109, 97,116, 52, + 32,109, 79, 98,106, 73,110,118, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, + 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, + 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117, +116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, + 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, + 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,109, 97,116, 51, 32,111, 98,106, 50,118,105,101,119, 32, + 61, 32,116,111, 95,109, 97,116, 51, 40,109, 86,105,101,119, 32, 42, 32,109, 79, 98,106, 41, 59, 10, 9,109, 97,116, 51, 32,118, +105,101,119, 50,111, 98,106, 32, 61, 32,116,111, 95,109, 97,116, 51, 40,109, 79, 98,106, 73,110,118, 32, 42, 32,109, 86,105,101, +119, 73,110,118, 41, 59, 10, 9, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,118,105,101,119, 50,111, 98, +106, 32, 42, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103, +109, 97, 84, 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, 42, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, + 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32,115,117,114,102, 95,110,111, +114,109, 32, 42, 32,111, 98,106, 50,118,105,101,119, 32, 41, 59, 10, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, 40, 32, +118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 78, 44, + 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 59, 10, 9,102, 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105,103,109, + 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9, 47, 42, 32,112,114,101,116,114, 97,110,115,102,111,114,109, 32,118, 78, + 97, 99, 99, 32, 40,105,110, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 41, 32,117,115,105,110,103, 32,116, +104,101, 32,105,110,118,101,114,115,101, 32,116,114, 97,110,115,112,111,115,101,100, 32, 42, 47, 10, 9,118, 82, 49, 32, 61, 32, +118, 82, 49, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9,118, 82, 50, 32, 61, 32,118, 82, 50, 32, 42, 32,118,105,101, +119, 50,111, 98,106, 59, 10, 9,118, 78, 32, 61, 32,118, 78, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9, 10, 9,102, +108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 32, 42, 32,108,101, +110,103,116,104, 40,118, 78, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, + 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105, +110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105, +116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,116,101,120, +116,117,114,101,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115, +117,114,102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, + 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, + 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95, +111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, + 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32, +111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, + 83, 32, 61, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103, +109, 97, 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, + 32, 61, 32,115,117,114,102, 95,110,111,114,109, 59, 32, 47, 42, 32,110,111,114,109, 97,108,105,122,101,100, 32,105,110,116,101, +114,112,111,108, 97,116,101,100, 32,118,101,114,116,101,120, 32,110,111,114,109, 97,108, 32, 42, 47, 10, 9, 10, 9,118, 82, 49, + 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, + 32, 41, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32, 99,114,111,115,115, 40, 32,118, + 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 41, 59, 10, 9,102, 68,101,116, 32, 61, 32,115,105,103,110, 40, 32,100,111, +116, 40,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 41, 32, 41, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103, +110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, + 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, + 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117, +116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109, +112, 95,105,110,105,116, 95,118,105,101,119,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, + 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,102,108,111, 97, +116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95, +105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103, +110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, + 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, + 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, + 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, + 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9, +118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95,110,111,114,109, 59, 32, 47, 42, 32,110,111,114,109, 97,108,105,122, +101,100, 32,105,110,116,101,114,112,111,108, 97,116,101,100, 32,118,101,114,116,101,120, 32,110,111,114,109, 97,108, 32, 42, 47, + 10, 9, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 59, 10, 9,102, - 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9, 47, - 42, 32,112,114,101,116,114, 97,110,115,102,111,114,109, 32,118, 78, 97, 99, 99, 32, 40,105,110, 32,109,116,101,120, 95, 98,117, -109,112, 95, 97,112,112,108,121, 41, 32,117,115,105,110,103, 32,116,104,101, 32,105,110,118,101,114,115,101, 32,116,114, 97,110, -115,112,111,115,101,100, 32, 42, 47, 10, 9,118, 82, 49, 32, 61, 32,118, 82, 49, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, - 10, 9,118, 82, 50, 32, 61, 32,118, 82, 50, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9,118, 78, 32, 61, 32,118, 78, - 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, - 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 32, 42, 32,108,101,110,103,116,104, 40,118, 78, 41, 59, 10, 9,118, 78, 97, 99, - 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, - 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105, -116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109, -116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,116,101,120,116,117,114,101,115,112, 97, 99,101, 40, 32,118,101, 99, 51, - 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, 9, - 9, 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118, -101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97, -116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, - 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, - 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, - 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, 40, 32,115,117,114,102, 95, -112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117,114, -102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95,110,111,114,109, 59, 32, 47, - 42, 32,110,111,114,109, 97,108,105,122,101,100, 32,105,110,116,101,114,112,111,108, 97,116,101,100, 32,118,101,114,116,101,120, - 32,110,111,114,109, 97,108, 32, 42, 47, 10, 9, 10, 9,118, 82, 49, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32, 99, -114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32,110,111, -114,109, 97,108,105,122,101, 40, 32, 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 41, 59, - 10, 9,102, 68,101,116, 32, 61, 32,115,105,103,110, 40, 32,100,111,116, 40,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 41, - 32, 41, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68, -101,116, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, - 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9, -102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, - 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,118,105,101,119,115,112, 97, 99, -101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, - 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100, -101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111, -117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, - 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32, -118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97, -116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, - 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70, -100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95, -110,111,114,109, 59, 32, 47, 42, 32,110,111,114,109, 97,108,105,122,101,100, 32,105,110,116,101,114,112,111,108, 97,116,101,100, - 32,118,101,114,116,101,120, 32,110,111,114,109, 97,108, 32, 42, 47, 10, 9, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, - 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40, 32,118, - 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 59, 10, 9,102, 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105, -103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, - 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, - 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117, -100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, - 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97,112, 51, - 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, - 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, - 10,123, 10, 9,118,101, 99, 50, 32, 83, 84,108,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, 32, - 83, 84,108,114, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, - 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,121, 40, -116,101,120, 99,111, 46,120,121, 41, 32, 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72,108,108, 44, 72,108,114, 44, 72,117,108, - 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,108, 41, - 44, 32, 72,108,108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, - 44, 32, 83, 84,108,114, 41, 44, 32, 72,108,114, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114, -101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117,108, 41, 44, 32, 72,117,108, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32, -104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,108,114, 32, 45, 32, 72,108,108, 41, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, - 97,108,101, 32, 42, 32, 40, 72,117,108, 32, 45, 32, 72,108,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, - 98,117,109,112, 95,116, 97,112, 53, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, - 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, - 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116, -101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, - 99,111, 46,120,121, 41, 59, 10, 10, 9,118,101, 99, 50, 32, 83, 84, 99, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9, -118,101, 99, 50, 32, 83, 84,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68, -120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,114, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, - 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,100, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, - 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117, 32, 61, 32,116,101,120, 99,111, 46, -120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72, 99, 44, 72, -108, 44, 72,114, 44, 72,100, 44, 72,117, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40, -105,109, 97, 44, 32, 83, 84, 99, 41, 44, 32, 72, 99, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117, -114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108, 41, 44, 32, 72,108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32, -116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,114, 41, 44, 32, 72,114, 32, 41, 59, 10, 9,114,103, 98,116, -111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,100, 41, 44, 32, 72,100, 32, 41, 59, 10, - 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117, 41, 44, 32, 72, -117, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,114, 32, 45, 32, 72,108, 41, - 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,117, 32, 45, 32, 72,100, 41, 59, 10,125, 10, 10, -118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 40, 32,102,108,111, 97,116, 32,102, 68,101,116, - 44, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,102,108,111, 97,116, 32,100, 66,116, 44, 32,118,101, 99, 51, 32,118, 82, 49, - 44, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, - 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,112, -101,114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,117,114,102, 71,114, - 97,100, 32, 61, 32,115,105,103,110, 40,102, 68,101,116, 41, 32, 42, 32, 40, 32,100, 66,115, 32, 42, 32,118, 82, 49, 32, 43, 32, -100, 66,116, 32, 42, 32,118, 82, 50, 32, 41, 59, 10, 9, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, - 99, 95,105,110, 32, 45, 32,118, 83,117,114,102, 71,114, 97,100, 59, 10, 9,112,101,114,116,117,114, 98,101,100, 95,110,111,114, -109, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32,118, 78, 97, 99, 99, 95,111,117,116, 32, 41, 59, 10,125, 10, 10,118, -111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 95,116,101,120,115,112, 97, 99,101, 40, 32,102,108, -111, 97,116, 32,102, 68,101,116, 44, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,102,108,111, 97,116, 32,100, 66,116, 44, 32, -118,101, 99, 51, 32,118, 82, 49, 44, 32,118,101, 99, 51, 32,118, 82, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, - 44, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,120, 44, 32,102,108,111, 97,116, - 32,105,109, 97, 95,121, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, - 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,112,101, -114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32, -100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70, -100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 10, 9,118,101, 99, 51, 32,118, 83,117,114,102, 71,114, 97,100, 32, 61, - 32,115,105,103,110, 40,102, 68,101,116, 41, 32, 42, 32, 40, 32, 10, 9, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100, 66, -115, 32, 47, 32,108,101,110,103,116,104, 40, 32,118,101, 99, 50, 40,105,109, 97, 95,120, 42, 84,101,120, 68,120, 46,120, 44, 32, -105,109, 97, 95,121, 42, 84,101,120, 68,120, 46,121, 41, 32, 41, 32, 42, 32,118, 82, 49, 32, 43, 32, 10, 9, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32,100, 66,116, 32, 47, 32,108,101,110,103,116,104, 40, 32,118,101, 99, 50, 40,105,109, 97, 95,120, 42, - 84,101,120, 68,121, 46,120, 44, 32,105,109, 97, 95,121, 42, 84,101,120, 68,121, 46,121, 41, 32, 41, 32, 42, 32,118, 82, 50, 32, - 41, 59, 10, 9, 9, 9, 9, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 45, 32, -118, 83,117,114,102, 71,114, 97,100, 59, 10, 9,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 61, 32,110,111,114, -109, 97,108,105,122,101, 40, 32,118, 78, 97, 99, 99, 95,111,117,116, 32, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101, -120, 95,110,101,103, 97,116,101, 95,116,101,120,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32, -111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9,111,117,116,110,111,114,109, 97,108, - 32, 61, 32,118,101, 99, 51, 40, 45,110,111,114,109, 97,108, 46,120, 44, 32, 45,110,111,114,109, 97,108, 46,121, 44, 32,110,111, -114,109, 97,108, 46,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,115,112, 97, 99,101, 95,116, 97,110, -103,101,110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, 44, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32, -118,101, 99, 51, 32,116,101,120,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, - 97,108, 41, 10,123, 10, 9,118,101, 99, 51, 32, 66, 32, 61, 32,116, 97,110,103,101,110,116, 46,119, 32, 42, 32, 99,114,111,115, -115, 40,110,111,114,109, 97,108, 44, 32,116, 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10, 10, 9,111,117,116,110,111,114, -109, 97,108, 32, 61, 32,116,101,120,110,111,114,109, 97,108, 46,120, 42,116, 97,110,103,101,110,116, 46,120,121,122, 32, 43, 32, -116,101,120,110,111,114,109, 97,108, 46,121, 42, 66, 32, 43, 32,116,101,120,110,111,114,109, 97,108, 46,122, 42,110,111,114,109, - 97,108, 59, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,110,111, -114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,108,101,110,100, 95,110,111,114,109, 97,108, - 40,102,108,111, 97,116, 32,110,111,114,102, 97, 99, 44, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,118,101, 99, 51, - 32,110,101,119,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10, -123, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32,110,111,114,102, 97, 99, 41, 42,110,111, -114,109, 97,108, 32, 43, 32,110,111,114,102, 97, 99, 42,110,101,119,110,111,114,109, 97,108, 59, 10, 9,111,117,116,110,111,114, -109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10, 47, - 42, 42, 42, 42, 42, 42, 42, 32, 77, 65, 84, 69, 82, 73, 65, 76, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105, -100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,117,110, 95,104,101,109,105, 40,118,101, 99, 51, 32, -108, 97,109,112,118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, -100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,108,118, 32, 61, - 32,108, 97,109,112,118,101, 99, 59, 10, 9,100,105,115,116, 32, 61, 32, 49, 46, 48, 59, 10, 9,118,105,115,105,102, 97, 99, 32, - 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,111, -116,104,101,114, 40,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99,111, 44, 32,111,117,116, 32,118, -101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97, -116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,108,118, 32, 61, 32, 99,111, 32, 45, 32,108, 97,109,112, 99,111, 59, 10, - 9,100,105,115,116, 32, 61, 32,108,101,110,103,116,104, 40,108,118, 41, 59, 10, 9,108,118, 32, 61, 32,110,111,114,109, 97,108, -105,122,101, 40,108,118, 41, 59, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, - 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95,105,110,118,108,105,110,101, 97,114, 40,102,108,111, 97,116, 32,108, 97, -109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105, -115,105,102, 97, 99, 41, 10,123, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105,115,116, 47, 40,108, 97, -109,112,100,105,115,116, 32, 43, 32,100,105,115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108, -108,111,102,102, 95,105,110,118,115,113,117, 97,114,101, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102, -108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, - 9,118,105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105,115,116, 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32, -100,105,115,116, 42,100,105,115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, - 95,115,108,105,100,101,114,115, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,108, -100, 49, 44, 32,102,108,111, 97,116, 32,108,100, 50, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102, -108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116,107, -119, 32, 61, 32,108, 97,109,112,100,105,115,116, 42,108, 97,109,112,100,105,115,116, 59, 10, 10, 9,118,105,115,105,102, 97, 99, - 32, 61, 32,108, 97,109,112,100,105,115,116, 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32,108,100, 49, 42,100,105,115,116, - 41, 59, 10, 9,118,105,115,105,102, 97, 99, 32, 42, 61, 32,108, 97,109,112,100,105,115,116,107,119, 47, 40,108, 97,109,112,100, -105,115,116,107,119, 32, 43, 32,108,100, 50, 42,100,105,115,116, 42,100,105,115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32, -108, 97,109,112, 95,102, 97,108,108,111,102,102, 95, 99,117,114,118,101, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115, -116, 44, 32,115, 97,109,112,108,101,114, 49, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,102,108,111, 97,116, 32,100,105,115, + 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9,102, +108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 59, 10, 9,118, 78, + 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, + 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103, +110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, + 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97,112, 51, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109, +112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111, +117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 83, 84,108,108, 32, 61, 32,116, +101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, 32, 83, 84,108,114, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, + 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117,108, 32, 61, 32,116, +101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 32, 59, 10, 9, 10, 9,102,108, +111, 97,116, 32, 72,108,108, 44, 72,108,114, 44, 72,117,108, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117, +114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,108, 41, 44, 32, 72,108,108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, + 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,114, 41, 44, 32, 72,108,114, 32, 41, 59, 10, 9, +114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117,108, 41, 44, 32, 72, +117,108, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,108,114, 32, 45, 32, 72, +108,108, 41, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,117,108, 32, 45, 32, 72,108,108, 41, + 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97,112, 53, 40, 32,118,101, 99, 51, 32,116, +101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,108, +101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,111, + 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, + 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84, +101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 10, 9,118,101, 99, 50, 32, 83, 84, + 99, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, 32, 83, 84,108, 32, 61, 32,116,101,120, 99,111, 46, +120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,114, 32, 61, 32,116, +101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84, +100, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, 59, 10, 9,118,101, + 99, 50, 32, 83, 84,117, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, + 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72, 99, 44, 72,108, 44, 72,114, 44, 72,100, 44, 72,117, 59, 10, 9,114,103, 98,116, +111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84, 99, 41, 44, 32, 72, 99, 32, 41, 59, 10, + 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108, 41, 44, 32, 72, +108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84, +114, 41, 44, 32, 72,114, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, + 97, 44, 32, 83, 84,100, 41, 44, 32, 72,100, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, + 50, 68, 40,105,109, 97, 44, 32, 83, 84,117, 41, 44, 32, 72,117, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,104, 83, 99, + 97,108,101, 32, 42, 32, 40, 72,114, 32, 45, 32, 72,108, 41, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, + 32, 40, 72,117, 32, 45, 32, 72,100, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112, +112,108,121, 40, 32,102,108,111, 97,116, 32,102, 68,101,116, 44, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,102,108,111, 97, +116, 32,100, 66,116, 44, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,118,101, 99, 51, 32, +118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95, +111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 41, 32, 10, +123, 10, 9,118,101, 99, 51, 32,118, 83,117,114,102, 71,114, 97,100, 32, 61, 32,115,105,103,110, 40,102, 68,101,116, 41, 32, 42, + 32, 40, 32,100, 66,115, 32, 42, 32,118, 82, 49, 32, 43, 32,100, 66,116, 32, 42, 32,118, 82, 50, 32, 41, 59, 10, 9, 10, 9,118, + 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 45, 32,118, 83,117,114,102, 71,114, 97,100, 59, + 10, 9,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32,118, 78, + 97, 99, 99, 95,111,117,116, 32, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112, +108,121, 95,116,101,120,115,112, 97, 99,101, 40, 32,102,108,111, 97,116, 32,102, 68,101,116, 44, 32,102,108,111, 97,116, 32,100, + 66,115, 44, 32,102,108,111, 97,116, 32,100, 66,116, 44, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,118,101, 99, 51, 32,118, 82, + 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,102,108,111, + 97,116, 32,105,109, 97, 95,120, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,121, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, + 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111, +117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 41, 32, 10,123, + 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9, +118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 10, 9,118, +101, 99, 51, 32,118, 83,117,114,102, 71,114, 97,100, 32, 61, 32,115,105,103,110, 40,102, 68,101,116, 41, 32, 42, 32, 40, 32, 10, + 9, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100, 66,115, 32, 47, 32,108,101,110,103,116,104, 40, 32,118,101, 99, 50, 40, +105,109, 97, 95,120, 42, 84,101,120, 68,120, 46,120, 44, 32,105,109, 97, 95,121, 42, 84,101,120, 68,120, 46,121, 41, 32, 41, 32, + 42, 32,118, 82, 49, 32, 43, 32, 10, 9, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100, 66,116, 32, 47, 32,108,101,110,103, +116,104, 40, 32,118,101, 99, 50, 40,105,109, 97, 95,120, 42, 84,101,120, 68,121, 46,120, 44, 32,105,109, 97, 95,121, 42, 84,101, +120, 68,121, 46,121, 41, 32, 41, 32, 42, 32,118, 82, 50, 32, 41, 59, 10, 9, 9, 9, 9, 10, 9,118, 78, 97, 99, 99, 95,111,117, +116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 45, 32,118, 83,117,114,102, 71,114, 97,100, 59, 10, 9,112,101,114,116,117, +114, 98,101,100, 95,110,111,114,109, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32,118, 78, 97, 99, 99, 95,111,117,116, + 32, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,101,103, 97,116,101, 95,116,101,120,110,111,114,109, 97, +108, 40,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97, +108, 41, 10,123, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,118,101, 99, 51, 40, 45,110,111,114,109, 97,108, 46,120, + 44, 32, 45,110,111,114,109, 97,108, 46,121, 44, 32,110,111,114,109, 97,108, 46,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32, +109,116,101,120, 95,110,115,112, 97, 99,101, 95,116, 97,110,103,101,110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, + 44, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,118,101, 99, 51, 32,116,101,120,110,111,114,109, 97,108, 44, 32,111, +117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9,118,101, 99, 51, 32, 66, 32, 61, 32,116, + 97,110,103,101,110,116, 46,119, 32, 42, 32, 99,114,111,115,115, 40,110,111,114,109, 97,108, 44, 32,116, 97,110,103,101,110,116, + 46,120,121,122, 41, 59, 10, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,116,101,120,110,111,114,109, 97,108, 46,120, + 42,116, 97,110,103,101,110,116, 46,120,121,122, 32, 43, 32,116,101,120,110,111,114,109, 97,108, 46,121, 42, 66, 32, 43, 32,116, +101,120,110,111,114,109, 97,108, 46,122, 42,110,111,114,109, 97,108, 59, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32, +110,111,114,109, 97,108,105,122,101, 40,111,117,116,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116, +101,120, 95, 98,108,101,110,100, 95,110,111,114,109, 97,108, 40,102,108,111, 97,116, 32,110,111,114,102, 97, 99, 44, 32,118,101, + 99, 51, 32,110,111,114,109, 97,108, 44, 32,118,101, 99, 51, 32,110,101,119,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118, +101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32, 40, 49, + 46, 48, 32, 45, 32,110,111,114,102, 97, 99, 41, 42,110,111,114,109, 97,108, 32, 43, 32,110,111,114,102, 97, 99, 42,110,101,119, +110,111,114,109, 97,108, 59, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,111, +117,116,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 32, 77, 65, 84, 69, 82, 73, 65, 76, 32, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, + 95,115,117,110, 95,104,101,109,105, 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, + 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, +105,115,105,102, 97, 99, 41, 10,123, 10, 9,108,118, 32, 61, 32,108, 97,109,112,118,101, 99, 59, 10, 9,100,105,115,116, 32, 61, + 32, 49, 46, 48, 59, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97, +109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,111,116,104,101,114, 40,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, + 51, 32,108, 97,109,112, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, + 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,108,118, 32, + 61, 32, 99,111, 32, 45, 32,108, 97,109,112, 99,111, 59, 10, 9,100,105,115,116, 32, 61, 32,108,101,110,103,116,104, 40,108,118, + 41, 59, 10, 9,108,118, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108,118, 41, 59, 10, 9,118,105,115,105,102, 97, 99, + 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95,105,110,118, +108,105,110,101, 97,114, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115, 116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,118,105,115,105,102, 97, 99, - 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,100,105,115,116, 47,108, 97,109,112, -100,105,115,116, 41, 46,120, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, - 95,115,112,104,101,114,101, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105, -115,116, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, -118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,116, 61, 32,108, 97,109,112,100,105,115,116, 32, 45, 32, -100,105,115,116, 59, 10, 10, 9,111,117,116,118,105,115,105,102, 97, 99, 61, 32,118,105,115,105,102, 97, 99, 42,109, 97,120, 40, -116, 44, 32, 48, 46, 48, 41, 47,108, 97,109,112,100,105,115,116, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118, -105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, 95,115,113,117, 97,114,101, 40,118,101, 99, 51, 32,108, 97,109,112,118, -101, 99, 44, 32,109, 97,116, 52, 32,108, 97,109,112,105,109, 97,116, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32, -102,108,111, 97,116, 32,105,110,112,114, 41, 10,123, 10, 9,105,102, 40,100,111,116, 40,108,118, 44, 32,108, 97,109,112,118,101, - 99, 41, 32, 62, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,118,101, 99, 51, 32,108,118,114,111,116, 32, 61, 32, 40,108, 97,109,112, -105,109, 97,116, 42,118,101, 99, 52, 40,108,118, 44, 32, 48, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9, 9,102,108,111, 97,116, - 32,120, 32, 61, 32,109, 97,120, 40, 97, 98,115, 40,108,118,114,111,116, 46,120, 47,108,118,114,111,116, 46,122, 41, 44, 32, 97, - 98,115, 40,108,118,114,111,116, 46,121, 47,108,118,114,111,116, 46,122, 41, 41, 59, 10, 10, 9, 9,105,110,112,114, 32, 61, 32, - 49, 46, 48, 47,115,113,114,116, 40, 49, 46, 48, 32, 43, 32,120, 42,120, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 10, 9, 9, -105,110,112,114, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108, -105,116,121, 95,115,112,111,116, 95, 99,105,114, 99,108,101, 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,118,101, - 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,112,114, 41, 10,123, 10, 9,105,110,112,114, 32, 61, - 32,100,111,116, 40,108,118, 44, 32,108, 97,109,112,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95, -118,105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, 40,102,108,111, 97,116, 32,115,112,111,116,115,105, 44, 32,102,108, -111, 97,116, 32,115,112,111,116, 98,108, 44, 32,102,108,111, 97,116, 32,105,110,112,114, 44, 32,102,108,111, 97,116, 32,118,105, -115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9, -102,108,111, 97,116, 32,116, 32, 61, 32,115,112,111,116,115,105, 59, 10, 10, 9,105,102, 40,105,110,112,114, 32, 60, 61, 32,116, - 41, 32,123, 10, 9, 9,111,117,116,118,105,115,105,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, - 32,123, 10, 9, 9,116, 32, 61, 32,105,110,112,114, 32, 45, 32,116, 59, 10, 10, 9, 9, 47, 42, 32,115,111,102,116, 32, 97,114, -101, 97, 32, 42, 47, 10, 9, 9,105,102, 40,115,112,111,116, 98,108, 32, 33, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,105,110,112, -114, 32, 42, 61, 32,115,109,111,111,116,104,115,116,101,112, 40, 48, 46, 48, 44, 32, 49, 46, 48, 44, 32,116, 47,115,112,111,116, - 98,108, 41, 59, 10, 10, 9, 9,111,117,116,118,105,115,105,102, 97, 99, 32, 61, 32,118,105,115,105,102, 97, 99, 42,105,110,112, -114, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95, 99,108, - 97,109,112, 40,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, -118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,111,117,116,118,105,115,105,102, 97, 99, 32, 61, 32, 40,118,105,115,105,102, 97, - 99, 32, 60, 32, 48, 46, 48, 48, 49, 41, 63, 32, 48, 46, 48, 58, 32,118,105,115,105,102, 97, 99, 59, 10,125, 10, 10,118,111,105, -100, 32,115,104, 97,100,101, 95,118,105,101,119, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, -105,101,119, 41, 10,123, 10, 9, 47, 42, 32,104, 97,110,100,108,101, 32,112,101,114,115,112,101, 99,116,105,118,101, 47,111,114, -116,104,111,103,114, 97,112,104,105, 99, 32, 42, 47, 10, 9,118,105,101,119, 32, 61, 32, 40,103,108, 95, 80,114,111,106,101, 99, -116,105,111,110, 77, 97,116,114,105,120, 91, 51, 93, 91, 51, 93, 32, 61, 61, 32, 48, 46, 48, 41, 63, 32,110,111,114,109, 97,108, -105,122,101, 40, 99,111, 41, 58, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 45, 49, 46, 48, 41, 59, 10,125, - 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,116, 97,110,103,101,110,116, 95,118, 40,118,101, 99, 51, 32,108,118, 44, 32, -118,101, 99, 51, 32,116, 97,110,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,101, 99, 51, 32, - 99, 32, 61, 32, 99,114,111,115,115, 40,108,118, 44, 32,116, 97,110,103, 41, 59, 10, 9,118,101, 99, 51, 32,118,110,111,114, 32, - 61, 32, 99,114,111,115,115, 40, 99, 44, 32,116, 97,110,103, 41, 59, 10, 10, 9,118,110, 32, 61, 32, 45,110,111,114,109, 97,108, -105,122,101, 40,118,110,111,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,110,112, 40,118,101, 99, - 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,112, 41, 10,123, 10, - 9,105,110,112, 32, 61, 32,100,111,116, 40,118,110, 44, 32,108,118, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100, -101, 95,105,115, 95,110,111, 95,100,105,102,102,117,115,101, 40,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, - 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,115, 95,104,101,109,105, - 40,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, - 61, 32, 48, 46, 53, 42,105,110,112, 32, 43, 32, 48, 46, 53, 59, 10,125, 10, 10,102,108,111, 97,116, 32, 97,114,101, 97, 95,108, - 97,109,112, 95,101,110,101,114,103,121, 40,109, 97,116, 52, 32, 97,114,101, 97, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,118, -101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,101, 99, 51, 32,118,101, 99, 91, 52, 93, 44, 32, 99, 91, 52, 93, 59, 10, 9,102, -108,111, 97,116, 32,114, 97,100, 91, 52, 93, 44, 32,102, 97, 99, 59, 10, 9, 10, 9,118,101, 99, 91, 48, 93, 32, 61, 32,110,111, -114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 48, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, - 49, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 49, 93, 46,120,121,122, 41, - 59, 10, 9,118,101, 99, 91, 50, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, - 50, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, 51, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, - 45, 32, 97,114,101, 97, 91, 51, 93, 46,120,121,122, 41, 59, 10, 10, 9, 99, 91, 48, 93, 32, 61, 32,110,111,114,109, 97,108,105, -122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 48, 93, 44, 32,118,101, 99, 91, 49, 93, 41, 41, 59, 10, 9, 99, 91, 49, 93, - 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 49, 93, 44, 32,118,101, 99, 91, 50, - 93, 41, 41, 59, 10, 9, 99, 91, 50, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, - 91, 50, 93, 44, 32,118,101, 99, 91, 51, 93, 41, 41, 59, 10, 9, 99, 91, 51, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, - 40, 99,114,111,115,115, 40,118,101, 99, 91, 51, 93, 44, 32,118,101, 99, 91, 48, 93, 41, 41, 59, 10, 10, 9,114, 97,100, 91, 48, - 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 48, 93, 44, 32,118,101, 99, 91, 49, 93, 41, 41, 59, 10, 9, -114, 97,100, 91, 49, 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 49, 93, 44, 32,118,101, 99, 91, 50, 93, - 41, 41, 59, 10, 9,114, 97,100, 91, 50, 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 50, 93, 44, 32,118, -101, 99, 91, 51, 93, 41, 41, 59, 10, 9,114, 97,100, 91, 51, 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, - 51, 93, 44, 32,118,101, 99, 91, 48, 93, 41, 41, 59, 10, 10, 9,102, 97, 99, 61, 32, 32,114, 97,100, 91, 48, 93, 42,100,111,116, - 40,118,110, 44, 32, 99, 91, 48, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, 32,114, 97,100, 91, 49, 93, 42,100,111,116, 40,118,110, - 44, 32, 99, 91, 49, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, 32,114, 97,100, 91, 50, 93, 42,100,111,116, 40,118,110, 44, 32, 99, - 91, 50, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, 32,114, 97,100, 91, 51, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 51, 93, - 41, 59, 10, 10, 9,114,101,116,117,114,110, 32,109, 97,120, 40,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111, -105,100, 32,115,104, 97,100,101, 95,105,110,112, 95, 97,114,101, 97, 40,118,101, 99, 51, 32,112,111,115,105,116,105,111,110, 44, - 32,118,101, 99, 51, 32,108, 97,109,112, 99,111, 44, 32,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,118,101, 99, 51, - 32,118,110, 44, 32,109, 97,116, 52, 32, 97,114,101, 97, 44, 32,102,108,111, 97,116, 32, 97,114,101, 97,115,105,122,101, 44, 32, -102,108,111, 97,116, 32,107, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,112, 41, 10,123, 10, 9,118,101, 99, 51, 32, - 99,111, 32, 61, 32,112,111,115,105,116,105,111,110, 59, 10, 9,118,101, 99, 51, 32,118,101, 99, 32, 61, 32, 99,111, 32, 45, 32, -108, 97,109,112, 99,111, 59, 10, 10, 9,105,102, 40,100,111,116, 40,118,101, 99, 44, 32,108, 97,109,112,118,101, 99, 41, 32, 60, - 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,110,112, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, - 9, 9,102,108,111, 97,116, 32,105,110,116,101,110,115, 32, 61, 32, 97,114,101, 97, 95,108, 97,109,112, 95,101,110,101,114,103, -121, 40, 97,114,101, 97, 44, 32, 99,111, 44, 32,118,110, 41, 59, 10, 10, 9, 9,105,110,112, 32, 61, 32,112,111,119, 40,105,110, -116,101,110,115, 42, 97,114,101, 97,115,105,122,101, 44, 32,107, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, - 97,100,101, 95,100,105,102,102,117,115,101, 95,111,114,101,110, 95,110, 97,121,101,114, 40,102,108,111, 97,116, 32,110,108, 44, - 32,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,114, -111,117,103,104, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32, -110,111,114,109, 97,108,105,122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,109, 97, -120, 40,100,111,116, 40,110, 44, 32,104, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, - 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,114,101, 97,108,110, -108, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, 10, 9,105,102, 40,114,101, 97,108,110,108, 32, 60, 32, 48, 46, 48, - 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,105,102, 40,110,108, 32, 60, - 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, - 9,102,108,111, 97,116, 32,118,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,118, 44, 32,104, 41, 44, 32, 48, 46, 48, 41, 59, - 10, 9, 9,102,108,111, 97,116, 32, 76,105,116, 95, 65, 32, 61, 32, 97, 99,111,115, 40,114,101, 97,108,110,108, 41, 59, 10, 9, - 9,102,108,111, 97,116, 32, 86,105,101,119, 95, 65, 32, 61, 32, 97, 99,111,115, 40,110,118, 41, 59, 10, 10, 9, 9,118,101, 99, - 51, 32, 76,105,116, 95, 66, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, 32, 45, 32,114,101, 97,108,110,108, 42,110, - 41, 59, 10, 9, 9,118,101, 99, 51, 32, 86,105,101,119, 95, 66, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 45, - 32,110,118, 42,110, 41, 59, 10, 10, 9, 9,102,108,111, 97,116, 32,116, 32, 61, 32,109, 97,120, 40,100,111,116, 40, 76,105,116, - 95, 66, 44, 32, 86,105,101,119, 95, 66, 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 97, 44, 32, 98, - 59, 10, 10, 9, 9,105,102, 40, 76,105,116, 95, 65, 32, 62, 32, 86,105,101,119, 95, 65, 41, 32,123, 10, 9, 9, 9, 97, 32, 61, - 32, 76,105,116, 95, 65, 59, 10, 9, 9, 9, 98, 32, 61, 32, 86,105,101,119, 95, 65, 59, 10, 9, 9,125, 10, 9, 9,101,108,115, -101, 32,123, 10, 9, 9, 9, 97, 32, 61, 32, 86,105,101,119, 95, 65, 59, 10, 9, 9, 9, 98, 32, 61, 32, 76,105,116, 95, 65, 59, - 10, 9, 9,125, 10, 10, 9, 9,102,108,111, 97,116, 32, 65, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 48, 46, 53, 42, 40, 40,114, -111,117,103,104, 42,114,111,117,103,104, 41, 47, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 32, 43, 32, 48, 46, 51, - 51, 41, 41, 41, 59, 10, 9, 9,102,108,111, 97,116, 32, 66, 32, 61, 32, 48, 46, 52, 53, 42, 40, 40,114,111,117,103,104, 42,114, -111,117,103,104, 41, 47, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 32, 43, 32, 48, 46, 48, 57, 41, 41, 59, 10, 10, - 9, 9, 98, 32, 42, 61, 32, 48, 46, 57, 53, 59, 10, 9, 9,105,115, 32, 61, 32,110,108, 42, 40, 65, 32, 43, 32, 40, 66, 32, 42, - 32,116, 32, 42, 32,115,105,110, 40, 97, 41, 32, 42, 32,116, 97,110, 40, 98, 41, 41, 41, 59, 10, 9,125, 10,125, 10, 10,118,111, -105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115,101, 95,116,111,111,110, 40,118,101, 99, 51, 32,110, 44, 32,118,101, - 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32, -116,115,109,111,111,116,104, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,102,108,111, 97,116, 32, -114,115,108,116, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, - 99,111,115, 40,114,115,108,116, 41, 59, 10, 10, 9,105,102, 40, 97,110,103, 32, 60, 32,115,105,122,101, 41, 32,105,115, 32, 61, - 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 97,110,103, 32, 62, 32, 40,115,105,122,101, 32, 43, 32,116,115,109, -111,111,116,104, 41, 32,124,124, 32,116,115,109,111,111,116,104, 32, 61, 61, 32, 48, 46, 48, 41, 32,105,115, 32, 61, 32, 48, 46, - 48, 59, 10, 9,101,108,115,101, 32,105,115, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 40, 97,110,103, 32, 45, 32,115,105,122,101, - 41, 47,116,115,109,111,111,116,104, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115, -101, 95,109,105,110,110, 97,101,114,116, 40,102,108,111, 97,116, 32,110,108, 44, 32,118,101, 99, 51, 32,110, 44, 32,118,101, 99, - 51, 32,118, 44, 32,102,108,111, 97,116, 32,100, 97,114,107,110,101,115,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105, -115, 41, 10,123, 10, 9,105,102, 40,110,108, 32, 60, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, - 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111, -116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9, 9,105,102, 40,100, 97,114,107,110,101,115,115, 32, 60, 61, - 32, 49, 46, 48, 41, 10, 9, 9, 9,105,115, 32, 61, 32,110,108, 42,112,111,119, 40,109, 97,120, 40,110,118, 42,110,108, 44, 32, - 48, 46, 49, 41, 44, 32,100, 97,114,107,110,101,115,115, 32, 45, 32, 49, 46, 48, 41, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, - 9,105,115, 32, 61, 32,110,108, 42,112,111,119, 40, 49, 46, 48, 48, 48, 49, 32, 45, 32,110,118, 44, 32,100, 97,114,107,110,101, -115,115, 32, 45, 32, 49, 46, 48, 41, 59, 10, 9,125, 10,125, 10, 10,102,108,111, 97,116, 32,102,114,101,115,110,101,108, 95,102, - 97, 99, 40,118,101, 99, 51, 32,118,105,101,119, 44, 32,118,101, 99, 51, 32,118,110, 44, 32,102,108,111, 97,116, 32,103,114, 97, -100, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,116, 49, 44, 32,116, 50, 59, 10, 9, -102,108,111, 97,116, 32,102,102, 97, 99, 59, 10, 10, 9,105,102, 40,102, 97, 99, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,102, -102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,116, 49, 61, 32,100,111,116, 40, -118,105,101,119, 44, 32,118,110, 41, 59, 10, 9, 9,105,102, 40,116, 49, 62, 48, 46, 48, 41, 32, 32,116, 50, 61, 32, 49, 46, 48, - 43,116, 49, 59, 10, 9, 9,101,108,115,101, 32,116, 50, 61, 32, 49, 46, 48, 45,116, 49, 59, 10, 10, 9, 9,116, 50, 61, 32,103, -114, 97,100, 32, 43, 32, 40, 49, 46, 48, 45,103,114, 97,100, 41, 42,112,111,119, 40,116, 50, 44, 32,102, 97, 99, 41, 59, 10, 10, - 9, 9,105,102, 40,116, 50, 60, 48, 46, 48, 41, 32,102,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,101,108,115,101, 32, -105,102, 40,116, 50, 62, 49, 46, 48, 41, 32,102,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,102,102, - 97, 99, 32, 61, 32,116, 50, 59, 10, 9,125, 10, 10, 9,114,101,116,117,114,110, 32,102,102, 97, 99, 59, 10,125, 10, 10,118,111, -105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115,101, 95,102,114,101,115,110,101,108, 40,118,101, 99, 51, 32,118,110, - 44, 32,118,101, 99, 51, 32,108,118, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 95, -105, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105, -115, 32, 61, 32,102,114,101,115,110,101,108, 95,102, 97, 99, 40,108,118, 44, 32,118,110, 44, 32,102, 97, 99, 95,105, 44, 32,102, - 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 99,117, 98,105, 99, 40,102,108,111, 97,116, 32,105, -115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,105,115, 41, 10,123, 10, 9,105,102, 40,105,115, 62, 48, 46, 48, - 32, 38, 38, 32,105,115, 60, 49, 46, 48, 41, 10, 9, 9,111,117,116,105,115, 61, 32,115,109,111,111,116,104,115,116,101,112, 40, - 48, 46, 48, 44, 32, 49, 46, 48, 44, 32,105,115, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,105,115, 61, 32,105,115, - 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,118,105,115,105,102, 97, 99, 40,102,108,111, 97,116, 32,105, 44, - 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,102,108,111, 97,116, 32,114,101,102,108, 44, 32,111,117,116, 32, -102,108,111, 97,116, 32,111,117,116,105, 41, 10,123, 10, 9, 47, 42,105,102, 40,105, 32, 62, 32, 48, 46, 48, 41, 42, 47, 10, 9, - 9,111,117,116,105, 32, 61, 32,109, 97,120, 40,105, 42,118,105,115,105,102, 97, 99, 42,114,101,102,108, 44, 32, 48, 46, 48, 41, - 59, 10, 9, 47, 42,101,108,115,101, 10, 9, 9,111,117,116,105, 32, 61, 32,105, 59, 42, 47, 10,125, 10, 10,118,111,105,100, 32, -115,104, 97,100,101, 95,116, 97,110,103,101,110,116, 95,118, 95,115,112,101, 99, 40,118,101, 99, 51, 32,116, 97,110,103, 44, 32, -111,117,116, 32,118,101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,110, 32, 61, 32,116, 97,110,103, 59, 10,125, 10, 10,118,111, -105,100, 32,115,104, 97,100,101, 95, 97,100,100, 95,116,111, 95,100,105,102,102,117,115,101, 40,102,108,111, 97,116, 32,105, 44, - 32,118,101, 99, 51, 32,108, 97,109,112, 99,111,108, 44, 32,118,101, 99, 51, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, - 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,105,102, 40,105, 32, 62, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111, -108, 32, 61, 32,105, 42,108, 97,109,112, 99,111,108, 42, 99,111,108, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111, -108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, - 32,115,104, 97,100,101, 95,104,101,109,105, 95,115,112,101, 99, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108, -118, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,102,108,111, 97,116, 32,115,112,101, 99, 44, 32,102,108,111, 97,116, 32, -104, 97,114,100, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,116, - 41, 10,123, 10, 9,108,118, 32, 43, 61, 32,118,105,101,119, 59, 10, 9,108,118, 32, 61, 32,110,111,114,109, 97,108,105,122,101, - 40,108,118, 41, 59, 10, 10, 9,116, 32, 61, 32,100,111,116, 40,118,110, 44, 32,108,118, 41, 59, 10, 9,116, 32, 61, 32, 48, 46, - 53, 42,116, 32, 43, 32, 48, 46, 53, 59, 10, 10, 9,116, 32, 61, 32,118,105,115,105,102, 97, 99, 42,115,112,101, 99, 42,112,111, -119, 40,116, 44, 32,104, 97,114,100, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,112,104,111,110,103, 95, + 32, 61, 32,108, 97,109,112,100,105,115,116, 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32,100,105,115,116, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95,105,110,118,115,113,117, 97,114,101, 40,102,108, +111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105, +115,116, 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32,100,105,115,116, 42,100,105,115,116, 41, 59, 10,125, 10, 10,118,111, +105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95,115,108,105,100,101,114,115, 40,102,108,111, 97,116, 32,108, 97, +109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,108,100, 49, 44, 32,102,108,111, 97,116, 32,108,100, 50, 44, 32,102,108, +111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9, +102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116,107,119, 32, 61, 32,108, 97,109,112,100,105,115,116, 42,108, 97,109,112, +100,105,115,116, 59, 10, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105,115,116, 47, 40,108, 97,109,112, +100,105,115,116, 32, 43, 32,108,100, 49, 42,100,105,115,116, 41, 59, 10, 9,118,105,115,105,102, 97, 99, 32, 42, 61, 32,108, 97, +109,112,100,105,115,116,107,119, 47, 40,108, 97,109,112,100,105,115,116,107,119, 32, 43, 32,108,100, 50, 42,100,105,115,116, 42, +100,105,115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95, 99,117,114,118, +101, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,115, 97,109,112,108,101,114, 49, 68, 32, 99,117,114,118, +101,109, 97,112, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105, +102, 97, 99, 41, 10,123, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118, +101,109, 97,112, 44, 32,100,105,115,116, 47,108, 97,109,112,100,105,115,116, 41, 46,120, 59, 10,125, 10, 10,118,111,105,100, 32, +108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,112,104,101,114,101, 40,102,108,111, 97,116, 32,108, 97,109, +112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, + 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, + 32,116, 61, 32,108, 97,109,112,100,105,115,116, 32, 45, 32,100,105,115,116, 59, 10, 10, 9,111,117,116,118,105,115,105,102, 97, + 99, 61, 32,118,105,115,105,102, 97, 99, 42,109, 97,120, 40,116, 44, 32, 48, 46, 48, 41, 47,108, 97,109,112,100,105,115,116, 59, + 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, 95,115,113, +117, 97,114,101, 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,109, 97,116, 52, 32,108, 97,109,112,105,109, 97,116, + 44, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,112,114, 41, 10,123, 10, 9,105,102, + 40,100,111,116, 40,108,118, 44, 32,108, 97,109,112,118,101, 99, 41, 32, 62, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,118,101, 99, + 51, 32,108,118,114,111,116, 32, 61, 32, 40,108, 97,109,112,105,109, 97,116, 42,118,101, 99, 52, 40,108,118, 44, 32, 48, 46, 48, + 41, 41, 46,120,121,122, 59, 10, 9, 9,102,108,111, 97,116, 32,120, 32, 61, 32,109, 97,120, 40, 97, 98,115, 40,108,118,114,111, +116, 46,120, 47,108,118,114,111,116, 46,122, 41, 44, 32, 97, 98,115, 40,108,118,114,111,116, 46,121, 47,108,118,114,111,116, 46, +122, 41, 41, 59, 10, 10, 9, 9,105,110,112,114, 32, 61, 32, 49, 46, 48, 47,115,113,114,116, 40, 49, 46, 48, 32, 43, 32,120, 42, +120, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 10, 9, 9,105,110,112,114, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111, +105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, 95, 99,105,114, 99,108,101, 40,118, +101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, +105,110,112,114, 41, 10,123, 10, 9,105,110,112,114, 32, 61, 32,100,111,116, 40,108,118, 44, 32,108, 97,109,112,118,101, 99, 41, + 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, 40,102, +108,111, 97,116, 32,115,112,111,116,115,105, 44, 32,102,108,111, 97,116, 32,115,112,111,116, 98,108, 44, 32,102,108,111, 97,116, + 32,105,110,112,114, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, +111,117,116,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,116, 32, 61, 32,115,112,111,116,115,105, 59, + 10, 10, 9,105,102, 40,105,110,112,114, 32, 60, 61, 32,116, 41, 32,123, 10, 9, 9,111,117,116,118,105,115,105,102, 97, 99, 32, + 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,116, 32, 61, 32,105,110,112,114, 32, 45, 32,116, + 59, 10, 10, 9, 9, 47, 42, 32,115,111,102,116, 32, 97,114,101, 97, 32, 42, 47, 10, 9, 9,105,102, 40,115,112,111,116, 98,108, + 32, 33, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,105,110,112,114, 32, 42, 61, 32,115,109,111,111,116,104,115,116,101,112, 40, 48, + 46, 48, 44, 32, 49, 46, 48, 44, 32,116, 47,115,112,111,116, 98,108, 41, 59, 10, 10, 9, 9,111,117,116,118,105,115,105,102, 97, + 99, 32, 61, 32,118,105,115,105,102, 97, 99, 42,105,110,112,114, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,108, 97,109, +112, 95,118,105,115,105, 98,105,108,105,116,121, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, + 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,111,117,116,118,105, +115,105,102, 97, 99, 32, 61, 32, 40,118,105,115,105,102, 97, 99, 32, 60, 32, 48, 46, 48, 48, 49, 41, 63, 32, 48, 46, 48, 58, 32, +118,105,115,105,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,118,105,101,119, 40,118,101, 99, 51, + 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,105,101,119, 41, 10,123, 10, 9, 47, 42, 32,104, 97,110,100,108,101, + 32,112,101,114,115,112,101, 99,116,105,118,101, 47,111,114,116,104,111,103,114, 97,112,104,105, 99, 32, 42, 47, 10, 9,118,105, +101,119, 32, 61, 32, 40,103,108, 95, 80,114,111,106,101, 99,116,105,111,110, 77, 97,116,114,105,120, 91, 51, 93, 91, 51, 93, 32, + 61, 61, 32, 48, 46, 48, 41, 63, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 41, 58, 32,118,101, 99, 51, 40, 48, 46, 48, + 44, 32, 48, 46, 48, 44, 32, 45, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,116, 97,110,103, +101,110,116, 95,118, 40,118,101, 99, 51, 32,108,118, 44, 32,118,101, 99, 51, 32,116, 97,110,103, 44, 32,111,117,116, 32,118,101, + 99, 51, 32,118,110, 41, 10,123, 10, 9,118,101, 99, 51, 32, 99, 32, 61, 32, 99,114,111,115,115, 40,108,118, 44, 32,116, 97,110, +103, 41, 59, 10, 9,118,101, 99, 51, 32,118,110,111,114, 32, 61, 32, 99,114,111,115,115, 40, 99, 44, 32,116, 97,110,103, 41, 59, + 10, 10, 9,118,110, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,118,110,111,114, 41, 59, 10,125, 10, 10,118,111,105, +100, 32,115,104, 97,100,101, 95,105,110,112, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117, +116, 32,102,108,111, 97,116, 32,105,110,112, 41, 10,123, 10, 9,105,110,112, 32, 61, 32,100,111,116, 40,118,110, 44, 32,108,118, + 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,115, 95,110,111, 95,100,105,102,102,117,115,101, 40,111, +117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105, +100, 32,115,104, 97,100,101, 95,105,115, 95,104,101,109,105, 40,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102, +108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, 61, 32, 48, 46, 53, 42,105,110,112, 32, 43, 32, 48, 46, 53, 59, 10, +125, 10, 10,102,108,111, 97,116, 32, 97,114,101, 97, 95,108, 97,109,112, 95,101,110,101,114,103,121, 40,109, 97,116, 52, 32, 97, +114,101, 97, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,101, 99, 51, 32,118, +101, 99, 91, 52, 93, 44, 32, 99, 91, 52, 93, 59, 10, 9,102,108,111, 97,116, 32,114, 97,100, 91, 52, 93, 44, 32,102, 97, 99, 59, + 10, 9, 10, 9,118,101, 99, 91, 48, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, + 91, 48, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, 49, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, + 32, 45, 32, 97,114,101, 97, 91, 49, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, 50, 93, 32, 61, 32,110,111,114,109, 97, +108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 50, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, 51, 93, 32, + 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 51, 93, 46,120,121,122, 41, 59, 10, 10, + 9, 99, 91, 48, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 48, 93, 44, 32, +118,101, 99, 91, 49, 93, 41, 41, 59, 10, 9, 99, 91, 49, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115, +115, 40,118,101, 99, 91, 49, 93, 44, 32,118,101, 99, 91, 50, 93, 41, 41, 59, 10, 9, 99, 91, 50, 93, 32, 61, 32,110,111,114,109, + 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 50, 93, 44, 32,118,101, 99, 91, 51, 93, 41, 41, 59, 10, 9, 99, + 91, 51, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 51, 93, 44, 32,118,101, + 99, 91, 48, 93, 41, 41, 59, 10, 10, 9,114, 97,100, 91, 48, 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, + 48, 93, 44, 32,118,101, 99, 91, 49, 93, 41, 41, 59, 10, 9,114, 97,100, 91, 49, 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, + 40,118,101, 99, 91, 49, 93, 44, 32,118,101, 99, 91, 50, 93, 41, 41, 59, 10, 9,114, 97,100, 91, 50, 93, 32, 61, 32, 97, 99,111, +115, 40,100,111,116, 40,118,101, 99, 91, 50, 93, 44, 32,118,101, 99, 91, 51, 93, 41, 41, 59, 10, 9,114, 97,100, 91, 51, 93, 32, + 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 51, 93, 44, 32,118,101, 99, 91, 48, 93, 41, 41, 59, 10, 10, 9,102, + 97, 99, 61, 32, 32,114, 97,100, 91, 48, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 48, 93, 41, 59, 10, 9,102, 97, 99, 43, + 61, 32,114, 97,100, 91, 49, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 49, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, 32,114, + 97,100, 91, 50, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 50, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, 32,114, 97,100, 91, + 51, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 51, 93, 41, 59, 10, 10, 9,114,101,116,117,114,110, 32,109, 97,120, 40,102, + 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,110,112, 95, 97,114,101, 97, + 40,118,101, 99, 51, 32,112,111,115,105,116,105,111,110, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99,111, 44, 32,118,101, 99, + 51, 32,108, 97,109,112,118,101, 99, 44, 32,118,101, 99, 51, 32,118,110, 44, 32,109, 97,116, 52, 32, 97,114,101, 97, 44, 32,102, +108,111, 97,116, 32, 97,114,101, 97,115,105,122,101, 44, 32,102,108,111, 97,116, 32,107, 44, 32,111,117,116, 32,102,108,111, 97, +116, 32,105,110,112, 41, 10,123, 10, 9,118,101, 99, 51, 32, 99,111, 32, 61, 32,112,111,115,105,116,105,111,110, 59, 10, 9,118, +101, 99, 51, 32,118,101, 99, 32, 61, 32, 99,111, 32, 45, 32,108, 97,109,112, 99,111, 59, 10, 10, 9,105,102, 40,100,111,116, 40, +118,101, 99, 44, 32,108, 97,109,112,118,101, 99, 41, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,110,112, 32, 61, 32, 48, + 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,105,110,116,101,110,115, 32, 61, 32, + 97,114,101, 97, 95,108, 97,109,112, 95,101,110,101,114,103,121, 40, 97,114,101, 97, 44, 32, 99,111, 44, 32,118,110, 41, 59, 10, + 10, 9, 9,105,110,112, 32, 61, 32,112,111,119, 40,105,110,116,101,110,115, 42, 97,114,101, 97,115,105,122,101, 44, 32,107, 41, + 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115,101, 95,111,114,101,110, 95, +110, 97,121,101,114, 40,102,108,111, 97,116, 32,110,108, 44, 32,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32, +118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105, +115, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 43, 32,108, 41, 59, + 10, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,104, 41, 44, 32, 48, 46, 48, 41, + 59, 10, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, + 41, 59, 10, 9,102,108,111, 97,116, 32,114,101, 97,108,110,108, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, 10, 9, +105,102, 40,114,101, 97,108,110,108, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9, +125, 10, 9,101,108,115,101, 32,105,102, 40,110,108, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, + 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,118,104, 32, 61, 32,109, 97,120, 40,100, +111,116, 40,118, 44, 32,104, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9,102,108,111, 97,116, 32, 76,105,116, 95, 65, 32, 61, 32, + 97, 99,111,115, 40,114,101, 97,108,110,108, 41, 59, 10, 9, 9,102,108,111, 97,116, 32, 86,105,101,119, 95, 65, 32, 61, 32, 97, + 99,111,115, 40,110,118, 41, 59, 10, 10, 9, 9,118,101, 99, 51, 32, 76,105,116, 95, 66, 32, 61, 32,110,111,114,109, 97,108,105, +122,101, 40,108, 32, 45, 32,114,101, 97,108,110,108, 42,110, 41, 59, 10, 9, 9,118,101, 99, 51, 32, 86,105,101,119, 95, 66, 32, + 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 45, 32,110,118, 42,110, 41, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, +116, 32, 61, 32,109, 97,120, 40,100,111,116, 40, 76,105,116, 95, 66, 44, 32, 86,105,101,119, 95, 66, 41, 44, 32, 48, 46, 48, 41, + 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 97, 44, 32, 98, 59, 10, 10, 9, 9,105,102, 40, 76,105,116, 95, 65, 32, 62, 32, 86, +105,101,119, 95, 65, 41, 32,123, 10, 9, 9, 9, 97, 32, 61, 32, 76,105,116, 95, 65, 59, 10, 9, 9, 9, 98, 32, 61, 32, 86,105, +101,119, 95, 65, 59, 10, 9, 9,125, 10, 9, 9,101,108,115,101, 32,123, 10, 9, 9, 9, 97, 32, 61, 32, 86,105,101,119, 95, 65, + 59, 10, 9, 9, 9, 98, 32, 61, 32, 76,105,116, 95, 65, 59, 10, 9, 9,125, 10, 10, 9, 9,102,108,111, 97,116, 32, 65, 32, 61, + 32, 49, 46, 48, 32, 45, 32, 40, 48, 46, 53, 42, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 47, 40, 40,114,111,117, +103,104, 42,114,111,117,103,104, 41, 32, 43, 32, 48, 46, 51, 51, 41, 41, 41, 59, 10, 9, 9,102,108,111, 97,116, 32, 66, 32, 61, + 32, 48, 46, 52, 53, 42, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 47, 40, 40,114,111,117,103,104, 42,114,111,117, +103,104, 41, 32, 43, 32, 48, 46, 48, 57, 41, 41, 59, 10, 10, 9, 9, 98, 32, 42, 61, 32, 48, 46, 57, 53, 59, 10, 9, 9,105,115, + 32, 61, 32,110,108, 42, 40, 65, 32, 43, 32, 40, 66, 32, 42, 32,116, 32, 42, 32,115,105,110, 40, 97, 41, 32, 42, 32,116, 97,110, + 40, 98, 41, 41, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115,101, 95, +116,111,111,110, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, + 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,115,109,111,111,116,104, 44, 32,111,117,116, 32,102,108,111, 97, +116, 32,105,115, 41, 10,123, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, + 10, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,114,115,108,116, 41, 59, 10, 10, 9,105,102, 40, 97, +110,103, 32, 60, 32,115,105,122,101, 41, 32,105,115, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 97,110, +103, 32, 62, 32, 40,115,105,122,101, 32, 43, 32,116,115,109,111,111,116,104, 41, 32,124,124, 32,116,115,109,111,111,116,104, 32, + 61, 61, 32, 48, 46, 48, 41, 32,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,115, 32, 61, 32, 49, 46, 48, + 32, 45, 32, 40, 40, 97,110,103, 32, 45, 32,115,105,122,101, 41, 47,116,115,109,111,111,116,104, 41, 59, 10,125, 10, 10,118,111, +105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115,101, 95,109,105,110,110, 97,101,114,116, 40,102,108,111, 97,116, 32, +110,108, 44, 32,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,100, 97,114,107,110,101, +115,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,102, 40,110,108, 32, 60, 61, 32, 48, 46, + 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108, +111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9, + 9,105,102, 40,100, 97,114,107,110,101,115,115, 32, 60, 61, 32, 49, 46, 48, 41, 10, 9, 9, 9,105,115, 32, 61, 32,110,108, 42, +112,111,119, 40,109, 97,120, 40,110,118, 42,110,108, 44, 32, 48, 46, 49, 41, 44, 32,100, 97,114,107,110,101,115,115, 32, 45, 32, + 49, 46, 48, 41, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,105,115, 32, 61, 32,110,108, 42,112,111,119, 40, 49, 46, 48, 48, + 48, 49, 32, 45, 32,110,118, 44, 32,100, 97,114,107,110,101,115,115, 32, 45, 32, 49, 46, 48, 41, 59, 10, 9,125, 10,125, 10, 10, +102,108,111, 97,116, 32,102,114,101,115,110,101,108, 95,102, 97, 99, 40,118,101, 99, 51, 32,118,105,101,119, 44, 32,118,101, 99, + 51, 32,118,110, 44, 32,102,108,111, 97,116, 32,103,114, 97,100, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, +102,108,111, 97,116, 32,116, 49, 44, 32,116, 50, 59, 10, 9,102,108,111, 97,116, 32,102,102, 97, 99, 59, 10, 10, 9,105,102, 40, +102, 97, 99, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,102,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10, 9,125, 10, 9,101,108, +115,101, 32,123, 10, 9, 9,116, 49, 61, 32,100,111,116, 40,118,105,101,119, 44, 32,118,110, 41, 59, 10, 9, 9,105,102, 40,116, + 49, 62, 48, 46, 48, 41, 32, 32,116, 50, 61, 32, 49, 46, 48, 43,116, 49, 59, 10, 9, 9,101,108,115,101, 32,116, 50, 61, 32, 49, + 46, 48, 45,116, 49, 59, 10, 10, 9, 9,116, 50, 61, 32,103,114, 97,100, 32, 43, 32, 40, 49, 46, 48, 45,103,114, 97,100, 41, 42, +112,111,119, 40,116, 50, 44, 32,102, 97, 99, 41, 59, 10, 10, 9, 9,105,102, 40,116, 50, 60, 48, 46, 48, 41, 32,102,102, 97, 99, + 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40,116, 50, 62, 49, 46, 48, 41, 32,102,102, 97, 99, 32, 61, + 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,102,102, 97, 99, 32, 61, 32,116, 50, 59, 10, 9,125, 10, 10, 9,114,101,116, +117,114,110, 32,102,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115,101, 95, +102,114,101,115,110,101,108, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,118,101, 99, 51, 32,118, +105,101,119, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 95,105, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, + 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, 61, 32,102,114,101,115,110,101,108, 95,102, 97, 99, 40,108, +118, 44, 32,118,110, 44, 32,102, 97, 99, 95,105, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100, +101, 95, 99,117, 98,105, 99, 40,102,108,111, 97,116, 32,105,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,105, +115, 41, 10,123, 10, 9,105,102, 40,105,115, 62, 48, 46, 48, 32, 38, 38, 32,105,115, 60, 49, 46, 48, 41, 10, 9, 9,111,117,116, +105,115, 61, 32,115,109,111,111,116,104,115,116,101,112, 40, 48, 46, 48, 44, 32, 49, 46, 48, 44, 32,105,115, 41, 59, 10, 9,101, +108,115,101, 10, 9, 9,111,117,116,105,115, 61, 32,105,115, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,118, +105,115,105,102, 97, 99, 40,102,108,111, 97,116, 32,105, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,102, +108,111, 97,116, 32,114,101,102,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,105, 41, 10,123, 10, 9, 47, 42, +105,102, 40,105, 32, 62, 32, 48, 46, 48, 41, 42, 47, 10, 9, 9,111,117,116,105, 32, 61, 32,109, 97,120, 40,105, 42,118,105,115, +105,102, 97, 99, 42,114,101,102,108, 44, 32, 48, 46, 48, 41, 59, 10, 9, 47, 42,101,108,115,101, 10, 9, 9,111,117,116,105, 32, + 61, 32,105, 59, 42, 47, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,116, 97,110,103,101,110,116, 95,118, 95,115, +112,101, 99, 40,118,101, 99, 51, 32,116, 97,110,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118, +110, 32, 61, 32,116, 97,110,103, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 95,116,111, 95,100, +105,102,102,117,115,101, 40,102,108,111, 97,116, 32,105, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99,111,108, 44, 32,118,101, + 99, 51, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,105,102, 40,105, + 32, 62, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,105, 42,108, 97,109,112, 99,111,108, 42, 99,111,108, + 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48, 46, 48, + 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,104,101,109,105, 95,115,112,101, 99, 40, +118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,102,108,111, + 97,116, 32,115,112,101, 99, 44, 32,102,108,111, 97,116, 32,104, 97,114,100, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, + 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,116, 41, 10,123, 10, 9,108,118, 32, 43, 61, 32,118,105,101,119, 59, 10, + 9,108,118, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108,118, 41, 59, 10, 10, 9,116, 32, 61, 32,100,111,116, 40,118, +110, 44, 32,108,118, 41, 59, 10, 9,116, 32, 61, 32, 48, 46, 53, 42,116, 32, 43, 32, 48, 46, 53, 59, 10, 10, 9,116, 32, 61, 32, +118,105,115,105,102, 97, 99, 42,115,112,101, 99, 42,112,111,119, 40,116, 44, 32,104, 97,114,100, 41, 59, 10,125, 10, 10,118,111, +105,100, 32,115,104, 97,100,101, 95,112,104,111,110,103, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, + 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,104, 97,114,100, 44, 32,111,117,116, 32,102,108,111, 97, +116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, + 40,108, 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32,109, 97,120, 40,100,111,116, 40,104, + 44, 32,110, 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9,115,112,101, 99,102, 97, 99, 32, 61, 32,112,111,119, 40,114,115,108,116, + 44, 32,104, 97,114,100, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 99,111,111,107,116,111,114,114, 95, 115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,104, 97,114,100, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118, -101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, - 32,114,115,108,116, 32, 61, 32,109, 97,120, 40,100,111,116, 40,104, 44, 32,110, 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9,115, -112,101, 99,102, 97, 99, 32, 61, 32,112,111,119, 40,114,115,108,116, 44, 32,104, 97,114,100, 41, 59, 10,125, 10, 10,118,111,105, -100, 32,115,104, 97,100,101, 95, 99,111,111,107,116,111,114,114, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, - 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,104, 97,114,100, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105, -122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,100,111,116, 40,110, 44, 32,104, 41, - 59, 10, 10, 9,105,102, 40,110,104, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, - 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40, -100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9,102,108,111, 97,116, 32,105, 32, 61, 32,112,111,119, - 40,110,104, 44, 32,104, 97,114,100, 41, 59, 10, 10, 9, 9,105, 32, 61, 32,105, 47, 40, 48, 46, 49, 43,110,118, 41, 59, 10, 9, - 9,115,112,101, 99,102, 97, 99, 32, 61, 32,105, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 98, -108,105,110,110, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, - 44, 32,102,108,111, 97,116, 32,114,101,102,114, 97, 99, 44, 32,102,108,111, 97,116, 32,115,112,101, 99, 95,112,111,119,101,114, - 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,105,102, 40,114,101,102,114, 97, - 99, 32, 60, 32, 49, 46, 48, 41, 32,123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9, -101,108,115,101, 32,105,102, 40,115,112,101, 99, 95,112,111,119,101,114, 32, 61, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,115, -112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, 40,115,112, -101, 99, 95,112,111,119,101,114, 60, 49, 48, 48, 46, 48, 41, 10, 9, 9, 9,115,112,101, 99, 95,112,111,119,101,114, 61, 32,115, -113,114,116, 40, 49, 46, 48, 47,115,112,101, 99, 95,112,111,119,101,114, 41, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,115, -112,101, 99, 95,112,111,119,101,114, 61, 32, 49, 48, 46, 48, 47,115,112,101, 99, 95,112,111,119,101,114, 59, 10, 10, 9, 9,118, -101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9, 9,102,108,111, 97, -116, 32,110,104, 32, 61, 32,100,111,116, 40,110, 44, 32,104, 41, 59, 10, 9, 9,105,102, 40,110,104, 32, 60, 32, 48, 46, 48, 41, - 32,123, 10, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,125, 10, 9, 9,101,108,115,101, 32, -123, 10, 9, 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, - 46, 48, 49, 41, 59, 10, 9, 9, 9,102,108,111, 97,116, 32,110,108, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, 9, - 9, 9,105,102, 40,110,108, 32, 60, 61, 32, 48, 46, 48, 49, 41, 32,123, 10, 9, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, - 32, 48, 46, 48, 59, 10, 9, 9, 9,125, 10, 9, 9, 9,101,108,115,101, 32,123, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,118, -104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,118, 44, 32,104, 41, 44, 32, 48, 46, 48, 49, 41, 59, 10, 10, 9, 9, 9, 9,102, -108,111, 97,116, 32, 97, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 98, 32, 61, 32, 40, 50, 46, 48, - 42,110,104, 42,110,118, 41, 47,118,104, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 99, 32, 61, 32, 40, 50, 46, 48, 42,110, -104, 42,110,108, 41, 47,118,104, 59, 10, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,103, 32, 61, 32, 48, 46, 48, 59, 10, 10, 9, - 9, 9, 9,105,102, 40, 97, 32, 60, 32, 98, 32, 38, 38, 32, 97, 32, 60, 32, 99, 41, 32,103, 32, 61, 32, 97, 59, 10, 9, 9, 9, - 9,101,108,115,101, 32,105,102, 40, 98, 32, 60, 32, 97, 32, 38, 38, 32, 98, 32, 60, 32, 99, 41, 32,103, 32, 61, 32, 98, 59, 10, - 9, 9, 9, 9,101,108,115,101, 32,105,102, 40, 99, 32, 60, 32, 97, 32, 38, 38, 32, 99, 32, 60, 32, 98, 41, 32,103, 32, 61, 32, - 99, 59, 10, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,112, 32, 61, 32,115,113,114,116, 40, 40, 40,114,101,102,114, 97, 99, 32, - 42, 32,114,101,102,114, 97, 99, 41, 43, 40,118,104, 42,118,104, 41, 45, 49, 46, 48, 41, 41, 59, 10, 9, 9, 9, 9,102,108,111, - 97,116, 32,102, 32, 61, 32, 40, 40, 40,112, 45,118,104, 41, 42, 40,112, 45,118,104, 41, 41, 47, 40, 40,112, 43,118,104, 41, 42, - 40,112, 43,118,104, 41, 41, 41, 42, 40, 49, 46, 48, 43, 40, 40, 40, 40,118,104, 42, 40,112, 43,118,104, 41, 41, 45, 49, 46, 48, - 41, 42, 40, 40,118,104, 42, 40,112, 43,118,104, 41, 41, 45, 49, 46, 48, 41, 41, 47, 40, 40, 40,118,104, 42, 40,112, 45,118,104, - 41, 41, 43, 49, 46, 48, 41, 42, 40, 40,118,104, 42, 40,112, 45,118,104, 41, 41, 43, 49, 46, 48, 41, 41, 41, 41, 59, 10, 9, 9, - 9, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,110,104, 41, 59, 10, 10, 9, 9, 9, 9,115,112,101, - 99,102, 97, 99, 32, 61, 32,109, 97,120, 40,102, 42,103, 42,101,120,112, 95, 98,108,101,110,100,101,114, 40, 40, 45, 40, 97,110, -103, 42, 97,110,103, 41, 47, 40, 50, 46, 48, 42,115,112,101, 99, 95,112,111,119,101,114, 42,115,112,101, 99, 95,112,111,119,101, -114, 41, 41, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9, 9,125, 10, 9, 9,125, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32, -115,104, 97,100,101, 95,119, 97,114,100,105,115,111, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32, -108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,114,109,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, -115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, - 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,104, 41, - 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, - 32,118, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102,108,111, 97,116, 32,110,108, 32, 61, 32,109, 97,120, 40,100,111,116, - 40,110, 44, 32,108, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,110,103,108,101, 32, 61, 32,116, - 97,110, 40, 97, 99,111,115, 40,110,104, 41, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,108,112,104, 97, 32, 61, 32,109, 97,120, - 40,114,109,115, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 10, 9,115,112,101, 99,102, 97, 99, 61, 32,110,108, 32, 42, 32, 40, 49, - 46, 48, 47, 40, 52, 46, 48, 42, 77, 95, 80, 73, 42, 97,108,112,104, 97, 42, 97,108,112,104, 97, 41, 41, 42, 40,101,120,112, 95, - 98,108,101,110,100,101,114, 40, 45, 40, 97,110,103,108,101, 42, 97,110,103,108,101, 41, 47, 40, 97,108,112,104, 97, 42, 97,108, -112,104, 97, 41, 41, 47, 40,115,113,114,116, 40,110,118, 42,110,108, 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, - 97,100,101, 95,116,111,111,110, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, - 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,115,109,111,111,116,104, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32, -110,111,114,109, 97,108,105,122,101, 40,108, 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32, -100,111,116, 40,104, 44, 32,110, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,114,115,108, -116, 41, 59, 10, 10, 9,105,102, 40, 97,110,103, 32, 60, 32,115,105,122,101, 41, 32,114,115,108,116, 32, 61, 32, 49, 46, 48, 59, - 10, 9,101,108,115,101, 32,105,102, 40, 97,110,103, 32, 62, 61, 32, 40,115,105,122,101, 32, 43, 32,116,115,109,111,111,116,104, - 41, 32,124,124, 32,116,115,109,111,111,116,104, 32, 61, 61, 32, 48, 46, 48, 41, 32,114,115,108,116, 32, 61, 32, 48, 46, 48, 59, - 10, 9,101,108,115,101, 32,114,115,108,116, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 40, 97,110,103, 32, 45, 32,115,105,122,101, - 41, 47,116,115,109,111,111,116,104, 41, 59, 10, 10, 9,115,112,101, 99,102, 97, 99, 32, 61, 32,114,115,108,116, 59, 10,125, 10, - 10,118,111,105,100, 32,115,104, 97,100,101, 95,115,112,101, 99, 95, 97,114,101, 97, 95,105,110,112, 40,102,108,111, 97,116, 32, -115,112,101, 99,102, 97, 99, 44, 32,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117, -116,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,111,117,116,115,112,101, 99,102, 97, 99, 32, 61, 32,115,112,101, 99,102, 97, - 99, 42,105,110,112, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,115,112,101, 99, 95,116, 40,102,108,111, 97, -116, 32,115,104, 97,100,102, 97, 99, 44, 32,102,108,111, 97,116, 32,115,112,101, 99, 44, 32,102,108,111, 97,116, 32,118,105,115, -105,102, 97, 99, 44, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,116, - 41, 10,123, 10, 9,116, 32, 61, 32,115,104, 97,100,102, 97, 99, 42,115,112,101, 99, 42,118,105,115,105,102, 97, 99, 42,115,112, -101, 99,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 95,115,112,101, 99, 40,102,108, -111, 97,116, 32,116, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99,111,108, 44, 32,118,101, 99, 51, 32,115,112,101, 99, 99,111, -108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, -116, 42,108, 97,109,112, 99,111,108, 42,115,112,101, 99, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, - 95, 97,100,100, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118, -101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 32, 43, 32, 99, -111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109, 97,100,100, 40,118,101, 99, 52, 32, 99,111,108, - 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, - 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32, 99,111,108, 49, 42, - 99,111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 95, 99,108, 97,109,112,101,100, 40, -118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111, -117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 32, 43, 32,109, 97,120, 40, 99,111, -108, 50, 44, 32,118,101, 99, 52, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 41, 59, 10,125, - 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109, 97,100,100, 95, 99,108, 97,109,112,101,100, 40,118,101, 99, 52, 32, 99, -111,108, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, - 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32,109, 97,120, - 40, 99,111,108, 49, 42, 99,111,108, 50, 44, 32,118,101, 99, 52, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, - 48, 46, 48, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109, 97,100,100,102, 40,118,101, 99, 52, 32, - 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,111,117,116, 32,118,101, 99, - 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32,102, 42, 99,111, -108, 49, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109,117,108, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, - 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9, -111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 42, 99,111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100, -101, 95,109,117,108, 95,118, 97,108,117,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, - 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111, -108, 42,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,111, 98, 99,111,108,111,114, 40,118,101, 99, - 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32,111, 98, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99, -111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 42,111, 98, 99, -111,108, 46,114,103, 98, 44, 32, 99,111,108, 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,114, 97,109,112, 95,114,103, 98, -116,111, 98,119, 40,118,101, 99, 51, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97, -108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,108,111,114, 46,114, 42, 48, 46, 51, 32, 43, 32, 99,111,108, -111,114, 46,103, 42, 48, 46, 53, 56, 32, 43, 32, 99,111,108,111,114, 46, 98, 42, 48, 46, 49, 50, 59, 10,125, 10, 10,118,111,105, -100, 32,115,104, 97,100,101, 95,111,110,108,121, 95,115,104, 97,100,111,119, 40,102,108,111, 97,116, 32,105, 44, 32,102,108,111, - 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,102,108,111, 97,116, 32,101,110,101,114,103,121, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,111,117,116,115,104, 97,100,102, 97, 99, 41, 10,123, 10, 9,111,117,116,115,104, 97,100,102, 97, 99, 32, 61, 32, -105, 42,101,110,101,114,103,121, 42, 40, 49, 46, 48, 32, 45, 32,115,104, 97,100,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105, -100, 32,115,104, 97,100,101, 95,111,110,108,121, 95,115,104, 97,100,111,119, 95,100,105,102,102,117,115,101, 40,102,108,111, 97, -116, 32,115,104, 97,100,102, 97, 99, 44, 32,118,101, 99, 51, 32,114,103, 98, 44, 32,118,101, 99, 52, 32,100,105,102,102, 44, 32, -111,117,116, 32,118,101, 99, 52, 32,111,117,116,100,105,102,102, 41, 10,123, 10, 9,111,117,116,100,105,102,102, 32, 61, 32,100, -105,102,102, 32, 45, 32,118,101, 99, 52, 40,114,103, 98, 42,115,104, 97,100,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, - 10,118,111,105,100, 32,115,104, 97,100,101, 95,111,110,108,121, 95,115,104, 97,100,111,119, 95,115,112,101, 99,117,108, 97,114, - 40,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,118,101, 99, 51, 32,115,112,101, 99,114,103, 98, 44, 32,118,101, - 99, 52, 32,115,112,101, 99, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,115,112,101, 99, 41, 10,123, 10, 9,111,117, -116,115,112,101, 99, 32, 61, 32,115,112,101, 99, 32, 45, 32,118,101, 99, 52, 40,115,112,101, 99,114,103, 98, 42,115,104, 97,100, -102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,115,116, 95,115,104, 97,100,111,119, 98,117, -102, 40,118,101, 99, 51, 32,114, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 83,104, 97,100,111,119, 32,115,104, 97,100, -111,119,109, 97,112, 44, 32,109, 97,116, 52, 32,115,104, 97,100,111,119,112,101,114,115,109, 97,116, 44, 32,102,108,111, 97,116, - 32,115,104, 97,100,111,119, 98,105, 97,115, 44, 32,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97, -116, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,105,102, 40,105,110,112, 32, 60, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9, -114,101,115,117,108,116, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,118,101, 99, 52, 32, - 99,111, 32, 61, 32,115,104, 97,100,111,119,112,101,114,115,109, 97,116, 42,118,101, 99, 52, 40,114, 99,111, 44, 32, 49, 46, 48, - 41, 59, 10, 10, 9, 9, 47, 47,102,108,111, 97,116, 32, 98,105, 97,115, 32, 61, 32, 40, 49, 46, 53, 32, 45, 32,105,110,112, 42, -105,110,112, 41, 42,115,104, 97,100,111,119, 98,105, 97,115, 59, 10, 9, 9, 99,111, 46,122, 32, 45, 61, 32,115,104, 97,100,111, -119, 98,105, 97,115, 42, 99,111, 46,119, 59, 10, 10, 9, 9,114,101,115,117,108,116, 32, 61, 32,115,104, 97,100,111,119, 50, 68, - 80,114,111,106, 40,115,104, 97,100,111,119,109, 97,112, 44, 32, 99,111, 41, 46,120, 59, 10, 9,125, 10,125, 10, 10,118,111,105, -100, 32,115,104, 97,100,101, 95,101,120,112,111,115,117,114,101, 95, 99,111,114,114,101, 99,116, 40,118,101, 99, 51, 32, 99,111, -108, 44, 32,102,108,111, 97,116, 32,108,105,110,102, 97, 99, 44, 32,102,108,111, 97,116, 32,108,111,103,102, 97, 99, 44, 32,111, -117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,108,105,110,102, - 97, 99, 42, 40, 49, 46, 48, 32, 45, 32,101,120,112, 40, 99,111,108, 42,108,111,103,102, 97, 99, 41, 41, 59, 10,125, 10, 10,118, -111,105,100, 32,115,104, 97,100,101, 95,109,105,115,116, 95,102, 97, 99,116,111,114, 40,118,101, 99, 51, 32, 99,111, 44, 32,102, -108,111, 97,116, 32,109,105,115,116,115,116, 97, 44, 32,102,108,111, 97,116, 32,109,105,115,116,100,105,115,116, 44, 32,102,108, -111, 97,116, 32,109,105,115,116,116,121,112,101, 44, 32,102,108,111, 97,116, 32,109,105,115,105, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99, 44, 32,122, 99,111,114, 59, 10, - 10, 9,122, 99,111,114, 32, 61, 32, 40,103,108, 95, 80,114,111,106,101, 99,116,105,111,110, 77, 97,116,114,105,120, 91, 51, 93, - 91, 51, 93, 32, 61, 61, 32, 48, 46, 48, 41, 63, 32,108,101,110,103,116,104, 40, 99,111, 41, 58, 32, 45, 99,111, 91, 50, 93, 59, - 10, 9, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, 40,122, 99,111,114, 45,109,105,115,116,115,116, 97, 41, 47,109, -105,115,116,100,105,115,116, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,105,102, 40,109,105,115,116,116,121,112,101, - 32, 61, 61, 32, 48, 46, 48, 41, 32,102, 97, 99, 32, 42, 61, 32,102, 97, 99, 59, 10, 9,101,108,115,101, 32,105,102, 40,109,105, -115,116,116,121,112,101, 32, 61, 61, 32, 49, 46, 48, 41, 59, 10, 9,101,108,115,101, 32,102, 97, 99, 32, 61, 32,115,113,114,116, - 40,102, 97, 99, 41, 59, 10, 10, 9,111,117,116,102, 97, 99, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 45,102, 97, 99, - 41, 42, 40, 49, 46, 48, 45,109,105,115,105, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,119,111,114,108, -100, 95,109,105,120, 40,118,101, 99, 51, 32,104,111,114, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, - 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, - 99,111,108, 46, 97, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, - 40,109,105,120, 40,104,111,114, 44, 32, 99,111,108, 46,114,103, 98, 44, 32,102, 97, 99, 41, 44, 32, 99,111,108, 46, 97, 41, 59, - 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,108,112,104, 97, 95,111,112, 97,113,117,101, 40,118,101, 99, 52, - 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, - 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115, -104, 97,100,101, 95, 97,108,112,104, 97, 95,111, 98, 99,111,108,111,114, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, - 52, 32,111, 98, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, - 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 99,111,108, 46, 97, 42,111, 98, 99,111,108, 46, - 97, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 78, 69, 87, 32, 83, 72, 65, 68, 69, 82, 32, 85, - 84, 73, 76, 73, 84, 73, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,102,108,111, 97,116, 32, -102,114,101,115,110,101,108, 95,100,105,101,108,101, 99,116,114,105, 99, 40,118,101, 99, 51, 32, 73,110, 99,111,109,105,110,103, - 44, 32,118,101, 99, 51, 32, 78,111,114,109, 97,108, 44, 32,102,108,111, 97,116, 32,101,116, 97, 41, 10,123, 10, 32, 32, 32, 32, - 47, 42, 32, 99,111,109,112,117,116,101, 32,102,114,101,115,110,101,108, 32,114,101,102,108,101, 99,116, 97,110, 99,101, 32,119, -105,116,104,111,117,116, 32,101,120,112,108,105, 99,105,116,108,121, 32, 99,111,109,112,117,116,105,110,103, 10, 32, 32, 32, 32, - 32, 32, 32,116,104,101, 32,114,101,102,114, 97, 99,116,101,100, 32,100,105,114,101, 99,116,105,111,110, 32, 42, 47, 10, 32, 32, - 32, 32,102,108,111, 97,116, 32, 99, 32, 61, 32, 97, 98,115, 40,100,111,116, 40, 73,110, 99,111,109,105,110,103, 44, 32, 78,111, -114,109, 97,108, 41, 41, 59, 10, 32, 32, 32, 32,102,108,111, 97,116, 32,103, 32, 61, 32,101,116, 97, 32, 42, 32,101,116, 97, 32, - 45, 32, 49, 46, 48, 32, 43, 32, 99, 32, 42, 32, 99, 59, 10, 32, 32, 32, 32,102,108,111, 97,116, 32,114,101,115,117,108,116, 59, - 10, 10, 32, 32, 32, 32,105,102, 40,103, 32, 62, 32, 48, 46, 48, 41, 32,123, 10, 32, 32, 32, 32, 32, 32, 32, 32,103, 32, 61, 32, -115,113,114,116, 40,103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,108,111, 97,116, 32, 65, 32, 61, 40,103, 32, 45, 32, 99, - 41, 47, 40,103, 32, 43, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,108,111, 97,116, 32, 66, 32, 61, 40, 99, 32, 42, - 40,103, 32, 43, 32, 99, 41, 45, 32, 49, 46, 48, 41, 47, 40, 99, 32, 42, 40,103, 32, 45, 32, 99, 41, 43, 32, 49, 46, 48, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32,114,101,115,117,108,116, 32, 61, 32, 48, 46, 53, 32, 42, 32, 65, 32, 42, 32, 65, 32, 42, 40, - 49, 46, 48, 32, 43, 32, 66, 32, 42, 32, 66, 41, 59, 10, 32, 32, 32, 32,125, 10, 32, 32, 32, 32,101,108,115,101, 10, 32, 32, 32, - 32, 32, 32, 32, 32,114,101,115,117,108,116, 32, 61, 32, 49, 46, 48, 59, 32, 32, 47, 42, 32, 84, 73, 82, 32, 40,110,111, 32,114, -101,102,114, 97, 99,116,101,100, 32, 99,111,109,112,111,110,101,110,116, 41, 32, 42, 47, 10, 10, 32, 32, 32, 32,114,101,116,117, -114,110, 32,114,101,115,117,108,116, 59, 10,125, 10, 10,102,108,111, 97,116, 32,104,121,112,111,116, 40,102,108,111, 97,116, 32, -120, 44, 32,102,108,111, 97,116, 32,121, 41, 10,123, 10, 9,114,101,116,117,114,110, 32,115,113,114,116, 40,120, 42,120, 32, 43, - 32,121, 42,121, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 78, 69, 87, 32, 83, 72, 65, 68, 69, - 82, 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10, 35,100,101,102,105,110, -101, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 32, 51, 10, 10, 47, 42, 32, 98,115,100,102,115, 32, 42, 47, 10, 10,118,111,105, -100, 32,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32, -118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,114,101,115,117, -108,116, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10, 10, 9,102,111,114, 40,105,110,116, 32,105, 32, 61, 32, 48, 59, - 32,105, 32, 60, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 59, 32,105, 43, 43, 41, 32,123, 10, 9, 9,118,101, 99, 51, 32, 76, - 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,112,111,115,105,116,105,111,110, 46,120,121, -122, 59, 10, 9, 9,118,101, 99, 52, 32, 76,100,105,102,102,117,115,101, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117, -114, 99,101, 91,105, 93, 46,100,105,102,102,117,115,101, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 98,115,100,102, 32, 61, 32, - 97, 98,115, 40,100,111,116, 40, 78, 44, 32, 76, 41, 41, 32, 42, 32, 77, 95, 49, 95, 80, 73, 59, 10, 9, 9,114,101,115,117,108, -116, 32, 43, 61, 32, 76,100,105,102,102,117,115,101, 42, 99,111,108,111,114, 42, 98,115,100,102, 59, 10, 9,125, 10,125, 10, 10, -118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,103,108,111,115,115,121, 40,118,101, 99, 52, 32, 99,111,108,111,114, - 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 44, 32,102,108,111, 97,116, 32,102,114,101,115,110,101,108, - 44, 32,118,101, 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108, -116, 41, 10,123, 10, 9,114,101,115,117,108,116, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10, 10, 9,102,111,114, 40, -105,110,116, 32,105, 32, 61, 32, 48, 59, 32,105, 32, 60, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 59, 32,105, 43, 43, 41, 32, -123, 10, 9, 9,118,101, 99, 51, 32, 72, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,104, - 97,108,102, 86,101, 99,116,111,114, 46,120,121,122, 59, 10, 9, 9,118,101, 99, 52, 32, 76,115,112,101, 99,117,108, 97,114, 32, - 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,115,112,101, 99,117,108, 97,114, 59, 10, 10, 9, - 9,102,108,111, 97,116, 32, 98,115,100,102, 32, 61, 32,112,111,119, 40, 97, 98,115, 40,100,111,116, 40, 78, 44, 32, 72, 41, 41, - 44, 32, 49, 46, 48, 47,114,111,117,103,104,110,101,115,115, 41, 32, 42, 32, 77, 95, 49, 95, 80, 73, 59, 10, 9, 9,114,101,115, -117,108,116, 32, 43, 61, 32, 76,115,112,101, 99,117,108, 97,114, 42, 99,111,108,111,114, 42, 98,115,100,102, 59, 10, 9,125, 10, -125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95, 97,110,105,115,111,116,114,111,112,105, 99, 40,118,101, - 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 85, 44, 32,102,108,111, 97, -116, 32,114,111,117,103,104,110,101,115,115, 86, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117, -116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102, -117,115,101, 40, 99,111,108,111,114, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110, -111,100,101, 95, 98,115,100,102, 95,103,108, 97,115,115, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, - 32,114,111,117,103,104,110,101,115,115, 44, 32,102,108,111, 97,116, 32,102,114,101,115,110,101,108, 44, 32,118,101, 99, 51, 32, - 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110, -111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, 78, 44, 32,114,101,115,117,108, -116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,116,114, 97,110,115,108,117, 99,101,110, -116, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114, -101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111, -114, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, - 95,116,114, 97,110,115,112, 97,114,101,110,116, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, - 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9, 47, 42, 32,116,104,105,115, 32,105,115,110, 39,116, 32,114,105,103,104,116, - 32, 42, 47, 10, 9,114,101,115,117,108,116, 46,114, 32, 61, 32, 99,111,108,111,114, 46,114, 59, 10, 9,114,101,115,117,108,116, - 46,103, 32, 61, 32, 99,111,108,111,114, 46,103, 59, 10, 9,114,101,115,117,108,116, 46, 98, 32, 61, 32, 99,111,108,111,114, 46, - 98, 59, 10, 9,114,101,115,117,108,116, 46, 97, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, - 95, 98,115,100,102, 95,118,101,108,118,101,116, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,115, -105,103,109, 97, 44, 32,102,108,111, 97,116, 32,102,114,101,115,110,101,108, 44, 32,118,101, 99, 51, 32, 78, 44, 32,111,117,116, - 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117, -115,101, 40, 99,111,108,111,114, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10, 47, 42, 32,101,109,105,115, -115,105,111,110, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,101,109,105,115,115,105,111,110, 40,118,101, 99, 52, - 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,115,116,114,101,110,103,116,104, 44, 32,118,101, 99, 51, 32, 78, 44, 32, -111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,114,101,115,117,108,116, 32, 61, 32, 99,111,108, -111,114, 42,115,116,114,101,110,103,116,104, 32, 42, 32, 77, 95, 49, 95, 80, 73, 59, 10,125, 10, 10, 47, 42, 32, 99,108,111,115, -117,114,101,115, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,109,105,120, 95, 99,108,111,115,117,114,101, 40,102, -108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,108,111,115,117,114,101, 49, 44, 32,118,101, 99, 52, 32, 99,108, -111,115,117,114,101, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,108,111,115,117,114,101, 41, 10,123, 10, 9, 99,108,111, -115,117,114,101, 32, 61, 32,109,105,120, 40, 99,108,111,115,117,114,101, 49, 44, 32, 99,108,111,115,117,114,101, 50, 44, 32,102, - 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 97,100,100, 95, 99,108,111,115,117,114,101, 40,118,101, - 99, 52, 32, 99,108,111,115,117,114,101, 49, 44, 32,118,101, 99, 52, 32, 99,108,111,115,117,114,101, 50, 44, 32,111,117,116, 32, -118,101, 99, 52, 32, 99,108,111,115,117,114,101, 41, 10,123, 10, 9, 99,108,111,115,117,114,101, 32, 61, 32, 99,108,111,115,117, -114,101, 49, 32, 43, 32, 99,108,111,115,117,114,101, 50, 59, 10,125, 10, 10, 47, 42, 32,102,114,101,115,110,101,108, 32, 42, 47, - 10, 10,118,111,105,100, 32,110,111,100,101, 95,102,114,101,115,110,101,108, 40,102,108,111, 97,116, 32,102, 44, 32,118,101, 99, - 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114,101,115,117,108,116, 41, 10,123, - 10, 9,102, 32, 61, 32,109, 97,120, 40, 49, 46, 48, 32, 45, 32,102, 44, 32, 48, 46, 48, 48, 48, 48, 49, 41, 59, 10, 9,114,101, -115,117,108,116, 32, 61, 32,102,114,101,115,110,101,108, 95,100,105,101,108,101, 99,116,114,105, 99, 40, 73, 44, 32, 78, 44, 32, - 49, 46, 48, 47,102, 41, 59, 32, 47, 47, 98, 97, 99,107,102, 97, 99,105,110,103, 40, 41, 63, 32,102, 58, 32, 49, 46, 48, 47,102, - 41, 59, 10,125, 10, 10, 47, 42, 32,103,101,111,109,101,116,114,121, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95, -103,101,111,109,101,116,114,121, 40,118,101, 99, 51, 32, 73, 44, 32,118,101, 99, 51, 32, 78, 44, 32,109, 97,116, 52, 32,116,111, -119,111,114,108,100, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32,112,111,115,105,116,105,111,110, 44, 32,111,117,116, 32,118, -101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,116, 97,110,103,101,110,116, 44, 10, 9,111, -117,116, 32,118,101, 99, 51, 32,116,114,117,101, 95,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, - 99,111,109,105,110,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,112, 97,114, 97,109,101,116,114,105, 99, 44, 10, 9,111,117, -116, 32,102,108,111, 97,116, 32, 98, 97, 99,107,102, 97, 99,105,110,103, 41, 10,123, 10, 9,112,111,115,105,116,105,111,110, 32, - 61, 32, 40,116,111,119,111,114,108,100, 42,118,101, 99, 52, 40, 73, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,110, -111,114,109, 97,108, 32, 61, 32, 78, 59, 10, 9,116, 97,110,103,101,110,116, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, - 10, 9,116,114,117,101, 95,110,111,114,109, 97,108, 32, 61, 32, 78, 59, 10, 9,105,110, 99,111,109,105,110,103, 32, 61, 32, 73, - 59, 10, 9,112, 97,114, 97,109,101,116,114,105, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10, 9, 98, 97, 99,107, -102, 97, 99,105,110,103, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95, 99, -111,111,114,100, 40,118,101, 99, 51, 32, 73, 44, 32,118,101, 99, 51, 32, 78, 44, 32,109, 97,116, 52, 32,116,111,119,111,114,108, -100, 44, 10, 9,118,101, 99, 51, 32, 97,116,116,114, 95,111,114, 99,111, 44, 32,118,101, 99, 51, 32, 97,116,116,114, 95,117,118, - 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32,103,101,110,101,114, 97,116,101,100, 44, 32,111,117,116, 32,118,101, 99, 51, 32, -117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111, 98,106,101, 99,116, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32, 99, - 97,109,101,114, 97, 44, 32,111,117,116, 32,118,101, 99, 51, 32,119,105,110,100,111,119, 44, 32,111,117,116, 32,118,101, 99, 51, - 32,114,101,102,108,101, 99,116,105,111,110, 41, 10,123, 10, 9,103,101,110,101,114, 97,116,101,100, 32, 61, 32, 97,116,116,114, - 95,111,114, 99,111, 59, 10, 9,117,118, 32, 61, 32, 97,116,116,114, 95,117,118, 59, 10, 9,111, 98,106,101, 99,116, 32, 61, 32, - 73, 59, 10, 9, 99, 97,109,101,114, 97, 32, 61, 32, 73, 59, 10, 9,119,105,110,100,111,119, 32, 61, 32,103,108, 95, 70,114, 97, -103, 67,111,111,114,100, 46,120,121,122, 59, 10, 9,114,101,102,108,101, 99,116,105,111,110, 32, 61, 32,114,101,102,108,101, 99, -116, 40, 78, 44, 32, 73, 41, 59, 10, 10,125, 10, 10, 47, 42, 32,116,101,120,116,117,114,101,115, 32, 42, 47, 10, 10,118,111,105, -100, 32,110,111,100,101, 95,116,101,120, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110, -111,100,101, 95,116,101,120, 95, 99,108,111,117,100,115, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105, -122,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, +101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9,102,108,111, 97,116, + 32,110,104, 32, 61, 32,100,111,116, 40,110, 44, 32,104, 41, 59, 10, 10, 9,105,102, 40,110,104, 32, 60, 32, 48, 46, 48, 41, 32, +123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9, +102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, 59, 10, + 9, 9,102,108,111, 97,116, 32,105, 32, 61, 32,112,111,119, 40,110,104, 44, 32,104, 97,114,100, 41, 59, 10, 10, 9, 9,105, 32, + 61, 32,105, 47, 40, 48, 46, 49, 43,110,118, 41, 59, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32,105, 59, 10, 9,125, 10, +125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 98,108,105,110,110, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, + 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,114,101,102,114, 97, 99, 44, 32,102, +108,111, 97,116, 32,115,112,101, 99, 95,112,111,119,101,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, + 97, 99, 41, 10,123, 10, 9,105,102, 40,114,101,102,114, 97, 99, 32, 60, 32, 49, 46, 48, 41, 32,123, 10, 9, 9,115,112,101, 99, +102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,105,102, 40,115,112,101, 99, 95,112,111,119,101, +114, 32, 61, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, + 9,101,108,115,101, 32,123, 10, 9, 9,105,102, 40,115,112,101, 99, 95,112,111,119,101,114, 60, 49, 48, 48, 46, 48, 41, 10, 9, + 9, 9,115,112,101, 99, 95,112,111,119,101,114, 61, 32,115,113,114,116, 40, 49, 46, 48, 47,115,112,101, 99, 95,112,111,119,101, +114, 41, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,115,112,101, 99, 95,112,111,119,101,114, 61, 32, 49, 48, 46, 48, 47,115, +112,101, 99, 95,112,111,119,101,114, 59, 10, 10, 9, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, + 40,118, 32, 43, 32,108, 41, 59, 10, 9, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,100,111,116, 40,110, 44, 32,104, 41, 59, + 10, 9, 9,105,102, 40,110,104, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, + 46, 48, 59, 10, 9, 9,125, 10, 9, 9,101,108,115,101, 32,123, 10, 9, 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, + 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 49, 41, 59, 10, 9, 9, 9,102,108,111, 97,116, 32,110,108, + 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, 9, 9, 9,105,102, 40,110,108, 32, 60, 61, 32, 48, 46, 48, 49, 41, 32, +123, 10, 9, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9, 9,125, 10, 9, 9, 9,101,108,115, +101, 32,123, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,118,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,118, 44, 32,104, 41, + 44, 32, 48, 46, 48, 49, 41, 59, 10, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 97, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9, 9, + 9,102,108,111, 97,116, 32, 98, 32, 61, 32, 40, 50, 46, 48, 42,110,104, 42,110,118, 41, 47,118,104, 59, 10, 9, 9, 9, 9,102, +108,111, 97,116, 32, 99, 32, 61, 32, 40, 50, 46, 48, 42,110,104, 42,110,108, 41, 47,118,104, 59, 10, 10, 9, 9, 9, 9,102,108, +111, 97,116, 32,103, 32, 61, 32, 48, 46, 48, 59, 10, 10, 9, 9, 9, 9,105,102, 40, 97, 32, 60, 32, 98, 32, 38, 38, 32, 97, 32, + 60, 32, 99, 41, 32,103, 32, 61, 32, 97, 59, 10, 9, 9, 9, 9,101,108,115,101, 32,105,102, 40, 98, 32, 60, 32, 97, 32, 38, 38, + 32, 98, 32, 60, 32, 99, 41, 32,103, 32, 61, 32, 98, 59, 10, 9, 9, 9, 9,101,108,115,101, 32,105,102, 40, 99, 32, 60, 32, 97, + 32, 38, 38, 32, 99, 32, 60, 32, 98, 41, 32,103, 32, 61, 32, 99, 59, 10, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,112, 32, 61, + 32,115,113,114,116, 40, 40, 40,114,101,102,114, 97, 99, 32, 42, 32,114,101,102,114, 97, 99, 41, 43, 40,118,104, 42,118,104, 41, + 45, 49, 46, 48, 41, 41, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,102, 32, 61, 32, 40, 40, 40,112, 45,118,104, 41, 42, 40, +112, 45,118,104, 41, 41, 47, 40, 40,112, 43,118,104, 41, 42, 40,112, 43,118,104, 41, 41, 41, 42, 40, 49, 46, 48, 43, 40, 40, 40, + 40,118,104, 42, 40,112, 43,118,104, 41, 41, 45, 49, 46, 48, 41, 42, 40, 40,118,104, 42, 40,112, 43,118,104, 41, 41, 45, 49, 46, + 48, 41, 41, 47, 40, 40, 40,118,104, 42, 40,112, 45,118,104, 41, 41, 43, 49, 46, 48, 41, 42, 40, 40,118,104, 42, 40,112, 45,118, +104, 41, 41, 43, 49, 46, 48, 41, 41, 41, 41, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, 99,111, +115, 40,110,104, 41, 59, 10, 10, 9, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32,109, 97,120, 40,102, 42,103, 42,101,120, +112, 95, 98,108,101,110,100,101,114, 40, 40, 45, 40, 97,110,103, 42, 97,110,103, 41, 47, 40, 50, 46, 48, 42,115,112,101, 99, 95, +112,111,119,101,114, 42,115,112,101, 99, 95,112,111,119,101,114, 41, 41, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9, 9,125, 10, + 9, 9,125, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,119, 97,114,100,105,115,111, 95,115,112,101, + 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32, +114,109,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32, +104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, 32,110,104, 32, + 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,104, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102,108,111, 97,116, 32, +110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102,108,111, + 97,116, 32,110,108, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,108, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9, +102,108,111, 97,116, 32, 97,110,103,108,101, 32, 61, 32,116, 97,110, 40, 97, 99,111,115, 40,110,104, 41, 41, 59, 10, 9,102,108, +111, 97,116, 32, 97,108,112,104, 97, 32, 61, 32,109, 97,120, 40,114,109,115, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 10, 9,115, +112,101, 99,102, 97, 99, 61, 32,110,108, 32, 42, 32, 40, 49, 46, 48, 47, 40, 52, 46, 48, 42, 77, 95, 80, 73, 42, 97,108,112,104, + 97, 42, 97,108,112,104, 97, 41, 41, 42, 40,101,120,112, 95, 98,108,101,110,100,101,114, 40, 45, 40, 97,110,103,108,101, 42, 97, +110,103,108,101, 41, 47, 40, 97,108,112,104, 97, 42, 97,108,112,104, 97, 41, 41, 47, 40,115,113,114,116, 40,110,118, 42,110,108, + 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,116,111,111,110, 95,115,112,101, 99, 40,118,101, 99, + 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, + 32,102,108,111, 97,116, 32,116,115,109,111,111,116,104, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, + 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, 32, 43, 32,118, 41, 59, + 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32,100,111,116, 40,104, 44, 32,110, 41, 59, 10, 9,102,108,111, 97,116, + 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,114,115,108,116, 41, 59, 10, 10, 9,105,102, 40, 97,110,103, 32, 60, 32,115,105, +122,101, 41, 32,114,115,108,116, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 97,110,103, 32, 62, 61, 32, + 40,115,105,122,101, 32, 43, 32,116,115,109,111,111,116,104, 41, 32,124,124, 32,116,115,109,111,111,116,104, 32, 61, 61, 32, 48, + 46, 48, 41, 32,114,115,108,116, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,114,115,108,116, 32, 61, 32, 49, 46, 48, + 32, 45, 32, 40, 40, 97,110,103, 32, 45, 32,115,105,122,101, 41, 47,116,115,109,111,111,116,104, 41, 59, 10, 10, 9,115,112,101, + 99,102, 97, 99, 32, 61, 32,114,115,108,116, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,115,112,101, 99, 95, + 97,114,101, 97, 95,105,110,112, 40,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 44, 32,102,108,111, 97,116, 32,105,110, +112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,111,117,116,115, +112,101, 99,102, 97, 99, 32, 61, 32,115,112,101, 99,102, 97, 99, 42,105,110,112, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, + 97,100,101, 95,115,112,101, 99, 95,116, 40,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,102,108,111, 97,116, 32, +115,112,101, 99, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,102,108,111, 97,116, 32,115,112,101, 99,102, + 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,116, 41, 10,123, 10, 9,116, 32, 61, 32,115,104, 97,100,102, 97, 99, 42, +115,112,101, 99, 42,118,105,115,105,102, 97, 99, 42,115,112,101, 99,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, + 97,100,101, 95, 97,100,100, 95,115,112,101, 99, 40,102,108,111, 97,116, 32,116, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99, +111,108, 44, 32,118,101, 99, 51, 32,115,112,101, 99, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111, +108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,116, 42,108, 97,109,112, 99,111,108, 42,115,112,101, 99, 99,111,108, + 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118, +101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117, +116, 99,111,108, 32, 61, 32, 99,111,108, 49, 32, 43, 32, 99,111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100, +101, 95,109, 97,100,100, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, + 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111, +108, 32, 61, 32, 99,111,108, 32, 43, 32, 99,111,108, 49, 42, 99,111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97, +100,101, 95, 97,100,100, 95, 99,108, 97,109,112,101,100, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99, +111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, + 61, 32, 99,111,108, 49, 32, 43, 32,109, 97,120, 40, 99,111,108, 50, 44, 32,118,101, 99, 52, 40, 48, 46, 48, 44, 32, 48, 46, 48, + 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109, 97,100,100, + 95, 99,108, 97,109,112,101,100, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, + 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, + 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32,109, 97,120, 40, 99,111,108, 49, 42, 99,111,108, 50, 44, 32,118,101, 99, 52, 40, + 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, + 97,100,101, 95,109, 97,100,100,102, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 44, 32,118,101, 99, + 52, 32, 99,111,108, 49, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99, +111,108, 32, 61, 32, 99,111,108, 32, 43, 32,102, 42, 99,111,108, 49, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, + 95,109,117,108, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118, +101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 42, 99,111,108, + 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109,117,108, 95,118, 97,108,117,101, 40,102,108,111, 97,116, + 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, + 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 42,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, + 97,100,101, 95,111, 98, 99,111,108,111,114, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32,111, 98, 99,111,108, + 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118, +101, 99, 52, 40, 99,111,108, 46,114,103, 98, 42,111, 98, 99,111,108, 46,114,103, 98, 44, 32, 99,111,108, 46, 97, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,114, 97,109,112, 95,114,103, 98,116,111, 98,119, 40,118,101, 99, 51, 32, 99,111,108,111,114, 44, 32, +111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111, +108,111,114, 46,114, 42, 48, 46, 51, 32, 43, 32, 99,111,108,111,114, 46,103, 42, 48, 46, 53, 56, 32, 43, 32, 99,111,108,111,114, + 46, 98, 42, 48, 46, 49, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,111,110,108,121, 95,115,104, 97,100, +111,119, 40,102,108,111, 97,116, 32,105, 44, 32,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,102,108,111, 97,116, + 32,101,110,101,114,103,121, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,104, 97,100,102, 97, 99, 41, 10,123, + 10, 9,111,117,116,115,104, 97,100,102, 97, 99, 32, 61, 32,105, 42,101,110,101,114,103,121, 42, 40, 49, 46, 48, 32, 45, 32,115, +104, 97,100,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,111,110,108,121, 95,115,104, 97,100, +111,119, 95,100,105,102,102,117,115,101, 40,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,118,101, 99, 51, 32,114, +103, 98, 44, 32,118,101, 99, 52, 32,100,105,102,102, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,100,105,102,102, 41, + 10,123, 10, 9,111,117,116,100,105,102,102, 32, 61, 32,100,105,102,102, 32, 45, 32,118,101, 99, 52, 40,114,103, 98, 42,115,104, + 97,100,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,111,110,108,121, 95, +115,104, 97,100,111,119, 95,115,112,101, 99,117,108, 97,114, 40,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,118, +101, 99, 51, 32,115,112,101, 99,114,103, 98, 44, 32,118,101, 99, 52, 32,115,112,101, 99, 44, 32,111,117,116, 32,118,101, 99, 52, + 32,111,117,116,115,112,101, 99, 41, 10,123, 10, 9,111,117,116,115,112,101, 99, 32, 61, 32,115,112,101, 99, 32, 45, 32,118,101, + 99, 52, 40,115,112,101, 99,114,103, 98, 42,115,104, 97,100,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105, +100, 32,116,101,115,116, 95,115,104, 97,100,111,119, 98,117,102, 40,118,101, 99, 51, 32,114, 99,111, 44, 32,115, 97,109,112,108, +101,114, 50, 68, 83,104, 97,100,111,119, 32,115,104, 97,100,111,119,109, 97,112, 44, 32,109, 97,116, 52, 32,115,104, 97,100,111, +119,112,101,114,115,109, 97,116, 44, 32,102,108,111, 97,116, 32,115,104, 97,100,111,119, 98,105, 97,115, 44, 32,102,108,111, 97, +116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,105,102, 40,105, +110,112, 32, 60, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,101,115,117,108,116, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, + 9,101,108,115,101, 32,123, 10, 9, 9,118,101, 99, 52, 32, 99,111, 32, 61, 32,115,104, 97,100,111,119,112,101,114,115,109, 97, +116, 42,118,101, 99, 52, 40,114, 99,111, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9, 9, 47, 47,102,108,111, 97,116, 32, 98,105, 97, +115, 32, 61, 32, 40, 49, 46, 53, 32, 45, 32,105,110,112, 42,105,110,112, 41, 42,115,104, 97,100,111,119, 98,105, 97,115, 59, 10, + 9, 9, 99,111, 46,122, 32, 45, 61, 32,115,104, 97,100,111,119, 98,105, 97,115, 42, 99,111, 46,119, 59, 10, 10, 9, 9,114,101, +115,117,108,116, 32, 61, 32,115,104, 97,100,111,119, 50, 68, 80,114,111,106, 40,115,104, 97,100,111,119,109, 97,112, 44, 32, 99, +111, 41, 46,120, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,101,120,112,111,115,117,114,101, 95, + 99,111,114,114,101, 99,116, 40,118,101, 99, 51, 32, 99,111,108, 44, 32,102,108,111, 97,116, 32,108,105,110,102, 97, 99, 44, 32, +102,108,111, 97,116, 32,108,111,103,102, 97, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, + 10, 9,111,117,116, 99,111,108, 32, 61, 32,108,105,110,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32,101,120,112, 40, 99,111,108, + 42,108,111,103,102, 97, 99, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109,105,115,116, 95,102, 97, + 99,116,111,114, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,109,105,115,116,115,116, 97, 44, 32,102,108,111, + 97,116, 32,109,105,115,116,100,105,115,116, 44, 32,102,108,111, 97,116, 32,109,105,115,116,116,121,112,101, 44, 32,102,108,111, + 97,116, 32,109,105,115,105, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,102,108, +111, 97,116, 32,102, 97, 99, 44, 32,122, 99,111,114, 59, 10, 10, 9,122, 99,111,114, 32, 61, 32, 40,103,108, 95, 80,114,111,106, +101, 99,116,105,111,110, 77, 97,116,114,105,120, 91, 51, 93, 91, 51, 93, 32, 61, 61, 32, 48, 46, 48, 41, 63, 32,108,101,110,103, +116,104, 40, 99,111, 41, 58, 32, 45, 99,111, 91, 50, 93, 59, 10, 9, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, 40, +122, 99,111,114, 45,109,105,115,116,115,116, 97, 41, 47,109,105,115,116,100,105,115,116, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, + 41, 59, 10, 9,105,102, 40,109,105,115,116,116,121,112,101, 32, 61, 61, 32, 48, 46, 48, 41, 32,102, 97, 99, 32, 42, 61, 32,102, + 97, 99, 59, 10, 9,101,108,115,101, 32,105,102, 40,109,105,115,116,116,121,112,101, 32, 61, 61, 32, 49, 46, 48, 41, 59, 10, 9, +101,108,115,101, 32,102, 97, 99, 32, 61, 32,115,113,114,116, 40,102, 97, 99, 41, 59, 10, 10, 9,111,117,116,102, 97, 99, 32, 61, + 32, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 45,102, 97, 99, 41, 42, 40, 49, 46, 48, 45,109,105,115,105, 41, 59, 10,125, 10, 10, +118,111,105,100, 32,115,104, 97,100,101, 95,119,111,114,108,100, 95,109,105,120, 40,118,101, 99, 51, 32,104,111,114, 44, 32,118, +101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, + 97,116, 32,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, 99,111,108, 46, 97, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, + 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,109,105,120, 40,104,111,114, 44, 32, 99,111,108, 46,114,103, 98, + 44, 32,102, 97, 99, 41, 44, 32, 99,111,108, 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,108, +112,104, 97, 95,111,112, 97,113,117,101, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117, +116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, + 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,108,112,104, 97, 95,111, 98, 99,111,108,111, +114, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32,111, 98, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, + 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, + 98, 44, 32, 99,111,108, 46, 97, 42,111, 98, 99,111,108, 46, 97, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 32, 78, 69, 87, 32, 83, 72, 65, 68, 69, 82, 32, 85, 84, 73, 76, 73, 84, 73, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 47, 10, 10,102,108,111, 97,116, 32,102,114,101,115,110,101,108, 95,100,105,101,108,101, 99,116,114,105, + 99, 40,118,101, 99, 51, 32, 73,110, 99,111,109,105,110,103, 44, 32,118,101, 99, 51, 32, 78,111,114,109, 97,108, 44, 32,102,108, +111, 97,116, 32,101,116, 97, 41, 10,123, 10, 32, 32, 32, 32, 47, 42, 32, 99,111,109,112,117,116,101, 32,102,114,101,115,110,101, +108, 32,114,101,102,108,101, 99,116, 97,110, 99,101, 32,119,105,116,104,111,117,116, 32,101,120,112,108,105, 99,105,116,108,121, + 32, 99,111,109,112,117,116,105,110,103, 10, 32, 32, 32, 32, 32, 32, 32,116,104,101, 32,114,101,102,114, 97, 99,116,101,100, 32, +100,105,114,101, 99,116,105,111,110, 32, 42, 47, 10, 32, 32, 32, 32,102,108,111, 97,116, 32, 99, 32, 61, 32, 97, 98,115, 40,100, +111,116, 40, 73,110, 99,111,109,105,110,103, 44, 32, 78,111,114,109, 97,108, 41, 41, 59, 10, 32, 32, 32, 32,102,108,111, 97,116, + 32,103, 32, 61, 32,101,116, 97, 32, 42, 32,101,116, 97, 32, 45, 32, 49, 46, 48, 32, 43, 32, 99, 32, 42, 32, 99, 59, 10, 32, 32, + 32, 32,102,108,111, 97,116, 32,114,101,115,117,108,116, 59, 10, 10, 32, 32, 32, 32,105,102, 40,103, 32, 62, 32, 48, 46, 48, 41, + 32,123, 10, 32, 32, 32, 32, 32, 32, 32, 32,103, 32, 61, 32,115,113,114,116, 40,103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, +102,108,111, 97,116, 32, 65, 32, 61, 40,103, 32, 45, 32, 99, 41, 47, 40,103, 32, 43, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, + 32, 32,102,108,111, 97,116, 32, 66, 32, 61, 40, 99, 32, 42, 40,103, 32, 43, 32, 99, 41, 45, 32, 49, 46, 48, 41, 47, 40, 99, 32, + 42, 40,103, 32, 45, 32, 99, 41, 43, 32, 49, 46, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32,114,101,115,117,108,116, 32, 61, + 32, 48, 46, 53, 32, 42, 32, 65, 32, 42, 32, 65, 32, 42, 40, 49, 46, 48, 32, 43, 32, 66, 32, 42, 32, 66, 41, 59, 10, 32, 32, 32, + 32,125, 10, 32, 32, 32, 32,101,108,115,101, 10, 32, 32, 32, 32, 32, 32, 32, 32,114,101,115,117,108,116, 32, 61, 32, 49, 46, 48, + 59, 32, 32, 47, 42, 32, 84, 73, 82, 32, 40,110,111, 32,114,101,102,114, 97, 99,116,101,100, 32, 99,111,109,112,111,110,101,110, +116, 41, 32, 42, 47, 10, 10, 32, 32, 32, 32,114,101,116,117,114,110, 32,114,101,115,117,108,116, 59, 10,125, 10, 10,102,108,111, + 97,116, 32,104,121,112,111,116, 40,102,108,111, 97,116, 32,120, 44, 32,102,108,111, 97,116, 32,121, 41, 10,123, 10, 9,114,101, +116,117,114,110, 32,115,113,114,116, 40,120, 42,120, 32, 43, 32,121, 42,121, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 32, 78, 69, 87, 32, 83, 72, 65, 68, 69, 82, 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 47, 10, 10, 35,100,101,102,105,110,101, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 32, 51, 10, 10, 47, + 42, 32, 98,115,100,102,115, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117, +115,101, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32, +114,101,115,117,108,116, 41, 10,123, 10, 9, 47, 42, 32, 97,109, 98,105,101,110,116, 32,108,105,103,104,116, 32, 42, 47, 10, 9, +118,101, 99, 51, 32, 76, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 50, 41, 59, 10, 10, 9, 47, 42, 32,100,105,114,101, 99,116,105, +111,110, 97,108, 32,108,105,103,104,116,115, 32, 42, 47, 10, 9,102,111,114, 40,105,110,116, 32,105, 32, 61, 32, 48, 59, 32,105, + 32, 60, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 59, 32,105, 43, 43, 41, 32,123, 10, 9, 9,118,101, 99, 51, 32,108,105,103, +104,116, 95,112,111,115,105,116,105,111,110, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46, +112,111,115,105,116,105,111,110, 46,120,121,122, 59, 10, 9, 9,118,101, 99, 51, 32,108,105,103,104,116, 95,100,105,102,102,117, +115,101, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,100,105,102,102,117,115,101, 46,114, +103, 98, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 98,115,100,102, 32, 61, 32,109, 97,120, 40,100,111,116, 40, 78, 44, 32,108, +105,103,104,116, 95,112,111,115,105,116,105,111,110, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9, 76, 32, 43, 61, 32,108,105,103, +104,116, 95,100,105,102,102,117,115,101, 42, 98,115,100,102, 59, 10, 9,125, 10, 10, 9,114,101,115,117,108,116, 32, 61, 32,118, +101, 99, 52, 40, 76, 42, 99,111,108,111,114, 46,114,103, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110, +111,100,101, 95, 98,115,100,102, 95,103,108,111,115,115,121, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97, +116, 32,114,111,117,103,104,110,101,115,115, 44, 32,102,108,111, 97,116, 32,102,114,101,115,110,101,108, 44, 32,118,101, 99, 51, + 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9, +118,101, 99, 51, 32, 76, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10, 10, 9, 47, 42, 32,100,105,114,101, 99,116,105, +111,110, 97,108, 32,108,105,103,104,116,115, 32, 42, 47, 10, 9,102,111,114, 40,105,110,116, 32,105, 32, 61, 32, 48, 59, 32,105, + 32, 60, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 59, 32,105, 43, 43, 41, 32,123, 10, 9, 9,118,101, 99, 51, 32, 72, 32, 61, + 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,104, 97,108,102, 86,101, 99,116,111,114, 46,120,121, +122, 59, 10, 9, 9,118,101, 99, 51, 32,108,105,103,104,116, 95,115,112,101, 99,117,108, 97,114, 32, 61, 32,103,108, 95, 76,105, +103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,115,112,101, 99,117,108, 97,114, 46,114,103, 98, 59, 10, 10, 9, 9,102,108, +111, 97,116, 32, 98,115,100,102, 32, 61, 32,112,111,119, 40,109, 97,120, 40,100,111,116, 40, 78, 44, 32, 72, 41, 44, 32, 48, 46, + 48, 41, 44, 32, 49, 46, 48, 47,114,111,117,103,104,110,101,115,115, 41, 59, 10, 9, 9, 76, 32, 43, 61, 32,108,105,103,104,116, + 95,115,112,101, 99,117,108, 97,114, 42, 98,115,100,102, 59, 10, 9,125, 10, 10, 9,114,101,115,117,108,116, 32, 61, 32,118,101, + 99, 52, 40, 76, 42, 99,111,108,111,114, 46,114,103, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111, +100,101, 95, 98,115,100,102, 95, 97,110,105,115,111,116,114,111,112,105, 99, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32, +102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 85, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115, +115, 86, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115, +117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111,114, 44, + 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,103, +108, 97,115,115, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, + 44, 32,102,108,111, 97,116, 32,102,114,101,115,110,101,108, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, + 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100, +105,102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10,118,111,105, +100, 32,110,111,100,101, 95, 98,115,100,102, 95,116,114, 97,110,115,108,117, 99,101,110,116, 40,118,101, 99, 52, 32, 99,111,108, +111,114, 44, 32,118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9, +110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, 78, 44, 32,114,101,115,117, +108,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,116,114, 97,110,115,112, 97,114,101, +110,116, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10, +123, 10, 9, 47, 42, 32,116,104,105,115, 32,105,115,110, 39,116, 32,114,105,103,104,116, 32, 42, 47, 10, 9,114,101,115,117,108, +116, 46,114, 32, 61, 32, 99,111,108,111,114, 46,114, 59, 10, 9,114,101,115,117,108,116, 46,103, 32, 61, 32, 99,111,108,111,114, + 46,103, 59, 10, 9,114,101,115,117,108,116, 46, 98, 32, 61, 32, 99,111,108,111,114, 46, 98, 59, 10, 9,114,101,115,117,108,116, + 46, 97, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,118,101,108,118, +101,116, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,115,105,103,109, 97, 44, 32,102,108,111, 97, +116, 32,102,114,101,115,110,101,108, 44, 32,118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117, +108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, + 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10, 47, 42, 32,101,109,105,115,115,105,111,110, 32, 42, 47, 10, 10,118, +111,105,100, 32,110,111,100,101, 95,101,109,105,115,115,105,111,110, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108, +111, 97,116, 32,115,116,114,101,110,103,116,104, 44, 32,118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114, +101,115,117,108,116, 41, 10,123, 10, 9,114,101,115,117,108,116, 32, 61, 32, 99,111,108,111,114, 42,115,116,114,101,110,103,116, +104, 32, 42, 32, 77, 95, 49, 95, 80, 73, 59, 10, 9,114,101,115,117,108,116, 32, 42, 61, 32, 77, 95, 80, 73, 59, 10,125, 10, 10, + 47, 42, 32, 99,108,111,115,117,114,101,115, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,109,105,120, 95, 99,108, +111,115,117,114,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,108,111,115,117,114,101, 49, 44, 32, +118,101, 99, 52, 32, 99,108,111,115,117,114,101, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,108,111,115,117,114,101, 41, + 10,123, 10, 9, 99,108,111,115,117,114,101, 32, 61, 32,109,105,120, 40, 99,108,111,115,117,114,101, 49, 44, 32, 99,108,111,115, +117,114,101, 50, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 97,100,100, 95, 99,108,111, +115,117,114,101, 40,118,101, 99, 52, 32, 99,108,111,115,117,114,101, 49, 44, 32,118,101, 99, 52, 32, 99,108,111,115,117,114,101, + 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,108,111,115,117,114,101, 41, 10,123, 10, 9, 99,108,111,115,117,114,101, 32, + 61, 32, 99,108,111,115,117,114,101, 49, 32, 43, 32, 99,108,111,115,117,114,101, 50, 59, 10,125, 10, 10, 47, 42, 32,102,114,101, +115,110,101,108, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,102,114,101,115,110,101,108, 40,102,108,111, 97,116, + 32,102, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114,101, +115,117,108,116, 41, 10,123, 10, 9,102, 32, 61, 32,109, 97,120, 40, 49, 46, 48, 32, 45, 32,102, 44, 32, 48, 46, 48, 48, 48, 48, + 49, 41, 59, 10, 9,114,101,115,117,108,116, 32, 61, 32,102,114,101,115,110,101,108, 95,100,105,101,108,101, 99,116,114,105, 99, + 40, 73, 44, 32, 78, 44, 32, 49, 46, 48, 47,102, 41, 59, 32, 47, 47, 98, 97, 99,107,102, 97, 99,105,110,103, 40, 41, 63, 32,102, + 58, 32, 49, 46, 48, 47,102, 41, 59, 10,125, 10, 10, 47, 42, 32,103,101,111,109,101,116,114,121, 32, 42, 47, 10, 10,118,111,105, +100, 32,110,111,100,101, 95,103,101,111,109,101,116,114,121, 40,118,101, 99, 51, 32, 73, 44, 32,118,101, 99, 51, 32, 78, 44, 32, +109, 97,116, 52, 32,116,111,119,111,114,108,100, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32,112,111,115,105,116,105,111,110, + 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,116, 97,110,103, +101,110,116, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32,116,114,117,101, 95,110,111,114,109, 97,108, 44, 32,111,117,116, 32, +118,101, 99, 51, 32,105,110, 99,111,109,105,110,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,112, 97,114, 97,109,101,116,114, +105, 99, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32, 98, 97, 99,107,102, 97, 99,105,110,103, 41, 10,123, 10, 9,112,111, +115,105,116,105,111,110, 32, 61, 32, 40,116,111,119,111,114,108,100, 42,118,101, 99, 52, 40, 73, 44, 32, 49, 46, 48, 41, 41, 46, +120,121,122, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 78, 59, 10, 9,116, 97,110,103,101,110,116, 32, 61, 32,118,101, 99, + 51, 40, 48, 46, 48, 41, 59, 10, 9,116,114,117,101, 95,110,111,114,109, 97,108, 32, 61, 32, 78, 59, 10, 9,105,110, 99,111,109, +105,110,103, 32, 61, 32, 73, 59, 10, 9,112, 97,114, 97,109,101,116,114,105, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, + 59, 10, 9, 98, 97, 99,107,102, 97, 99,105,110,103, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100, +101, 95,116,101,120, 95, 99,111,111,114,100, 40,118,101, 99, 51, 32, 73, 44, 32,118,101, 99, 51, 32, 78, 44, 32,109, 97,116, 52, + 32,116,111,119,111,114,108,100, 44, 10, 9,118,101, 99, 51, 32, 97,116,116,114, 95,111,114, 99,111, 44, 32,118,101, 99, 51, 32, + 97,116,116,114, 95,117,118, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32,103,101,110,101,114, 97,116,101,100, 44, 32,111,117, +116, 32,118,101, 99, 51, 32,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111, 98,106,101, 99,116, 44, 10, 9,111,117,116, + 32,118,101, 99, 51, 32, 99, 97,109,101,114, 97, 44, 32,111,117,116, 32,118,101, 99, 51, 32,119,105,110,100,111,119, 44, 32,111, +117,116, 32,118,101, 99, 51, 32,114,101,102,108,101, 99,116,105,111,110, 41, 10,123, 10, 9,103,101,110,101,114, 97,116,101,100, + 32, 61, 32, 97,116,116,114, 95,111,114, 99,111, 59, 10, 9,117,118, 32, 61, 32, 97,116,116,114, 95,117,118, 59, 10, 9,111, 98, +106,101, 99,116, 32, 61, 32, 73, 59, 10, 9, 99, 97,109,101,114, 97, 32, 61, 32, 73, 59, 10, 9,119,105,110,100,111,119, 32, 61, + 32,103,108, 95, 70,114, 97,103, 67,111,111,114,100, 46,120,121,122, 59, 10, 9,114,101,102,108,101, 99,116,105,111,110, 32, 61, + 32,114,101,102,108,101, 99,116, 40, 78, 44, 32, 73, 41, 59, 10, 10,125, 10, 10, 47, 42, 32,116,101,120,116,117,114,101,115, 32, + 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32, 99,111, 44, + 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, + 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95, 99,108,111,117,100,115, 40,118,101, 99, 51, 32, 99,111, 44, 32,102, +108,111, 97,116, 32,115,105,122,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102, +108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, + 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,100,105,115, +116,110,111,105,115,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97, +116, 32,100,105,115,116,111,114,116,105,111,110, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, +102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,101,110,118,105, +114,111,110,109,101,110,116, 40,118,101, 99, 51, 32, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32, +111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9,102,108,111, 97,116, 32,117, 32, 61, 32, 40, 97,116, + 97,110, 40, 99,111, 46,121, 44, 32, 99,111, 46,120, 41, 32, 43, 32, 77, 95, 80, 73, 41, 47, 40, 50, 46, 48, 42, 77, 95, 80, 73, + 41, 59, 10, 9,102,108,111, 97,116, 32,118, 32, 61, 32, 97,116, 97,110, 40, 99,111, 46,122, 44, 32,104,121,112,111,116, 40, 99, +111, 46,120, 44, 32, 99,111, 46,121, 41, 41, 47, 77, 95, 80, 73, 32, 43, 32, 48, 46, 53, 59, 10, 10, 9, 99,111,108,111,114, 32, + 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,118,101, 99, 50, 40,117, 44, 32,118, 41, 41, 59, 10,125, 10, + 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,115, 97, +109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, + 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 99,111, 46,120,121, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,109, 97,103,105, 99, 40,118,101, 99, 51, 32,112, 44, 32,102,108, +111, 97,116, 32,116,117,114, 98,117,108,101,110, 99,101, 44, 32,102,108,111, 97,116, 32,110, 44, 32,111,117,116, 32,118,101, 99, + 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9,102,108,111, 97,116, 32,116,117,114, 98, 32, 61, 32,116,117,114, 98,117,108,101, +110, 99,101, 47, 53, 46, 48, 59, 10, 10, 9,102,108,111, 97,116, 32,120, 32, 61, 32,115,105,110, 40, 40,112, 46,120, 32, 43, 32, +112, 46,121, 32, 43, 32,112, 46,122, 41, 42, 53, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,121, 32, 61, 32, 99,111,115, 40, + 40, 45,112, 46,120, 32, 43, 32,112, 46,121, 32, 45, 32,112, 46,122, 41, 42, 53, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32, +122, 32, 61, 32, 45, 99,111,115, 40, 40, 45,112, 46,120, 32, 45, 32,112, 46,121, 32, 43, 32,112, 46,122, 41, 42, 53, 46, 48, 41, + 59, 10, 10, 9,105,102, 40,110, 32, 62, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 9, + 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 9, 9,122, 32, 42, 61, 32,116,117,114, 98, 59, 10, 9, 9,121, 32, 61, 32, 45, + 99,111,115, 40,120, 45,121, 43,122, 41, 59, 10, 9, 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9,105,102, 40,110, + 32, 62, 32, 49, 46, 48, 41, 32,123, 10, 9, 9, 9,120, 61, 32, 99,111,115, 40,120, 45,121, 45,122, 41, 59, 10, 9, 9, 9,120, + 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9,105,102, 40,110, 32, 62, 32, 50, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, +122, 61, 32,115,105,110, 40, 45,120, 45,121, 45,122, 41, 59, 10, 9, 9, 9, 9,122, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, + 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 51, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9,120, 61, 32, 45, 99,111,115, 40, 45, +120, 43,121, 45,122, 41, 59, 10, 9, 9, 9, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9,105,102, + 40,110, 32, 62, 32, 52, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9,121, 61, 32, 45,115,105,110, 40, 45,120, 43,121, 43,122, + 41, 59, 10, 9, 9, 9, 9, 9, 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, + 62, 32, 53, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9,121, 61, 32, 45, 99,111,115, 40, 45,120, 43,121, 43,122, 41, 59, + 10, 9, 9, 9, 9, 9, 9, 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, + 62, 32, 54, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9,120, 61, 32, 99,111,115, 40,120, 43,121, 43,122, 41, 59, 10, + 9, 9, 9, 9, 9, 9, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, + 32, 62, 32, 55, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,122, 61, 32,115,105,110, 40,120, 43,121, 45,122, 41, + 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,122, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, +105,102, 40,110, 32, 62, 32, 56, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,120, 61, 32, 45, 99,111,115, 40, + 45,120, 45,121, 43,122, 41, 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 57, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9,121, 61, 32, 45,115,105,110, 40,120, 45,121, 43,122, 41, 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,121, 32, 42, + 61, 32,116,117,114, 98, 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,125, 10, 9, + 9, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9,125, + 10, 9, 9, 9, 9,125, 10, 9, 9, 9,125, 10, 9, 9,125, 10, 9,125, 10, 10, 9,105,102, 40,116,117,114, 98, 32, 33, 61, 32, + 48, 46, 48, 41, 32,123, 10, 9, 9,116,117,114, 98, 32, 42, 61, 32, 50, 46, 48, 59, 10, 9, 9,120, 32, 47, 61, 32,116,117,114, + 98, 59, 10, 9, 9,121, 32, 47, 61, 32,116,117,114, 98, 59, 10, 9, 9,122, 32, 47, 61, 32,116,117,114, 98, 59, 10, 9,125, 10, + 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 53, 32, 45, 32,120, 44, 32, 48, 46, 53, 32, 45, 32,121, 44, + 32, 48, 46, 53, 32, 45, 32,122, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, + 95,109, 97,114, 98,108,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, + 97,116, 32,116,117,114, 98,117,108,101,110, 99,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, + 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,109,117,115, +103,114, 97,118,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, + 32,100,105,109,101,110,115,105,111,110, 44, 32,102,108,111, 97,116, 32,108, 97, 99,117,110, 97,114,105,116,121, 44, 32,102,108, +111, 97,116, 32,111, 99,116, 97,118,101,115, 44, 32,102,108,111, 97,116, 32,111,102,102,115,101,116, 44, 32,102,108,111, 97,116, + 32,103, 97,105,110, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, + 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,110,111,105,115,101, 40,118,101, 99, 51, 32, + 99,111, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, - 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,100,105,115,116,110,111,105,115,101, 40, -118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,100,105,115,116,111, -114,116,105,111,110, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, - 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,101,110,118,105,114,111,110,109,101,110,116, - 40,118,101, 99, 51, 32, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, - 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9,102,108,111, 97,116, 32,117, 32, 61, 32, 40, 97,116, 97,110, 40, 99,111, 46,121, - 44, 32, 99,111, 46,120, 41, 32, 43, 32, 77, 95, 80, 73, 41, 47, 40, 50, 46, 48, 42, 77, 95, 80, 73, 41, 59, 10, 9,102,108,111, - 97,116, 32,118, 32, 61, 32, 97,116, 97,110, 40, 99,111, 46,122, 44, 32,104,121,112,111,116, 40, 99,111, 46,120, 44, 32, 99,111, - 46,121, 41, 41, 47, 77, 95, 80, 73, 32, 43, 32, 48, 46, 53, 59, 10, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117, -114,101, 50, 68, 40,105,109, 97, 44, 32,118,101, 99, 50, 40,117, 44, 32,118, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110, -111,100,101, 95,116,101,120, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, - 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, - 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 99,111, 46,120,121, 41, 59, 10,125, 10, 10,118,111,105,100, 32, -110,111,100,101, 95,116,101,120, 95,109, 97,103,105, 99, 40,118,101, 99, 51, 32,112, 44, 32,102,108,111, 97,116, 32,116,117,114, - 98,117,108,101,110, 99,101, 44, 32,102,108,111, 97,116, 32,110, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, - 41, 10,123, 10, 9,102,108,111, 97,116, 32,116,117,114, 98, 32, 61, 32,116,117,114, 98,117,108,101,110, 99,101, 47, 53, 46, 48, - 59, 10, 10, 9,102,108,111, 97,116, 32,120, 32, 61, 32,115,105,110, 40, 40,112, 46,120, 32, 43, 32,112, 46,121, 32, 43, 32,112, - 46,122, 41, 42, 53, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,121, 32, 61, 32, 99,111,115, 40, 40, 45,112, 46,120, 32, 43, - 32,112, 46,121, 32, 45, 32,112, 46,122, 41, 42, 53, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,122, 32, 61, 32, 45, 99,111, -115, 40, 40, 45,112, 46,120, 32, 45, 32,112, 46,121, 32, 43, 32,112, 46,122, 41, 42, 53, 46, 48, 41, 59, 10, 10, 9,105,102, 40, -110, 32, 62, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 9, 9,121, 32, 42, 61, 32,116, -117,114, 98, 59, 10, 9, 9,122, 32, 42, 61, 32,116,117,114, 98, 59, 10, 9, 9,121, 32, 61, 32, 45, 99,111,115, 40,120, 45,121, - 43,122, 41, 59, 10, 9, 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9,105,102, 40,110, 32, 62, 32, 49, 46, 48, 41, - 32,123, 10, 9, 9, 9,120, 61, 32, 99,111,115, 40,120, 45,121, 45,122, 41, 59, 10, 9, 9, 9,120, 32, 42, 61, 32,116,117,114, - 98, 59, 10, 10, 9, 9, 9,105,102, 40,110, 32, 62, 32, 50, 46, 48, 41, 32,123, 10, 9, 9, 9, 9,122, 61, 32,115,105,110, 40, - 45,120, 45,121, 45,122, 41, 59, 10, 9, 9, 9, 9,122, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9,105,102, 40, -110, 32, 62, 32, 51, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9,120, 61, 32, 45, 99,111,115, 40, 45,120, 43,121, 45,122, 41, 59, - 10, 9, 9, 9, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 52, 46, - 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9,121, 61, 32, 45,115,105,110, 40, 45,120, 43,121, 43,122, 41, 59, 10, 9, 9, 9, 9, - 9, 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 53, 46, 48, 41, 32, -123, 10, 9, 9, 9, 9, 9, 9, 9,121, 61, 32, 45, 99,111,115, 40, 45,120, 43,121, 43,122, 41, 59, 10, 9, 9, 9, 9, 9, 9, - 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 54, 46, 48, 41, 32, -123, 10, 9, 9, 9, 9, 9, 9, 9, 9,120, 61, 32, 99,111,115, 40,120, 43,121, 43,122, 41, 59, 10, 9, 9, 9, 9, 9, 9, 9, - 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 55, 46, 48, 41, - 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,122, 61, 32,115,105,110, 40,120, 43,121, 45,122, 41, 59, 10, 9, 9, 9, 9, 9, - 9, 9, 9, 9,122, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, - 56, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,120, 61, 32, 45, 99,111,115, 40, 45,120, 45,121, 43,122, 41, - 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9,105,102, 40,110, 32, 62, 32, 57, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,121, 61, 32, 45,115, -105,110, 40,120, 45,121, 43,122, 41, 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,121, 32, 42, 61, 32,116,117,114, 98, 59, - 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9, 9, 9, 9, -125, 10, 9, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9,125, 10, - 9, 9, 9,125, 10, 9, 9,125, 10, 9,125, 10, 10, 9,105,102, 40,116,117,114, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, - 9, 9,116,117,114, 98, 32, 42, 61, 32, 50, 46, 48, 59, 10, 9, 9,120, 32, 47, 61, 32,116,117,114, 98, 59, 10, 9, 9,121, 32, - 47, 61, 32,116,117,114, 98, 59, 10, 9, 9,122, 32, 47, 61, 32,116,117,114, 98, 59, 10, 9,125, 10, 10, 9, 99,111,108,111,114, - 32, 61, 32,118,101, 99, 52, 40, 48, 46, 53, 32, 45, 32,120, 44, 32, 48, 46, 53, 32, 45, 32,121, 44, 32, 48, 46, 53, 32, 45, 32, -122, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,109, 97,114, 98,108,101, + 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,115,107,121, 40,118,101, 99, 51, 32, 99, +111, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, + 99, 52, 40, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,115,116,117, 99, 99,105, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,117,114, 98, 117,108,101,110, 99,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, - 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,109,117,115,103,114, 97,118,101, 40,118, -101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,100,105,109,101,110,115, -105,111,110, 44, 32,102,108,111, 97,116, 32,108, 97, 99,117,110, 97,114,105,116,121, 44, 32,102,108,111, 97,116, 32,111, 99,116, - 97,118,101,115, 44, 32,102,108,111, 97,116, 32,111,102,102,115,101,116, 44, 32,102,108,111, 97,116, 32,103, 97,105,110, 44, 32, -111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10, -118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,110,111,105,115,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, - 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99, -111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, - 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,115,107,121, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32, -118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, - 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,115,116,117, 99, 99,105, 40,118,101, 99, 51, 32, 99, -111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,117,114, 98,117,108,101,110, 99,101, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, - 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,118,111,114,111,110,111,105, 40,118,101, 99, 51, 32, 99,111, 44, 32, -102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,119,101,105,103,104,116, 49, 44, 32,102,108,111, 97,116, - 32,119,101,105,103,104,116, 50, 44, 32,102,108,111, 97,116, 32,119,101,105,103,104,116, 51, 44, 32,102,108,111, 97,116, 32,119, -101,105,103,104,116, 52, 44, 32,102,108,111, 97,116, 32,101,120,112,111,110,101,110,116, 44, 32,111,117,116, 32,118,101, 99, 52, - 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, - 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, - 32,110,111,100,101, 95,116,101,120, 95,119,111,111,100, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105, -122,101, 44, 32,102,108,111, 97,116, 32,116,117,114, 98,117,108,101,110, 99,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, -102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10, 47, 42, 32,108,105,103,104,116, 32,112, - 97,116,104, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,108,105,103,104,116, 95,112, 97,116,104, 40, 10, 9,111, -117,116, 32,102,108,111, 97,116, 32,105,115, 95, 99, 97,109,101,114, 97, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, - 97,116, 32,105,115, 95,115,104, 97,100,111,119, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95, -100,105,102,102,117,115,101, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,103,108,111,115,115, -121, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,114,101,102,108,101, 99,116,105,111,110, 95, -114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,116,114, 97,110,115,109,105,115,115,105,111,110, 95, -114, 97,121, 41, 10,123, 10, 9,105,115, 95, 99, 97,109,101,114, 97, 95,114, 97,121, 32, 61, 32, 49, 46, 48, 59, 10, 9,105,115, - 95,115,104, 97,100,111,119, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,100,105,102,102,117,115,101, 95,114, - 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,103,108,111,115,115,121, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, - 9,105,115, 95,114,101,102,108,101, 99,116,105,111,110, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,116,114, - 97,110,115,109,105,115,115,105,111,110, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10, 47, 42, 32,111,117,116,112, -117,116, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,111,117,116,112,117,116, 95,109, 97,116,101,114,105, 97,108, - 40,118,101, 99, 52, 32,115,117,114,102, 97, 99,101, 44, 32,118,101, 99, 52, 32,118,111,108,117,109,101, 44, 32,102,108,111, 97, -116, 32,100,105,115,112,108, 97, 99,101,109,101,110,116, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, - 10,123, 10, 9,114,101,115,117,108,116, 32, 61, 32,115,117,114,102, 97, 99,101, 32, 42, 32, 77, 95, 80, 73, 59, 10,125, 10, 10, + 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,118,111,114,111,110,111,105, 40,118,101, + 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,119,101,105,103,104,116, 49, + 44, 32,102,108,111, 97,116, 32,119,101,105,103,104,116, 50, 44, 32,102,108,111, 97,116, 32,119,101,105,103,104,116, 51, 44, 32, +102,108,111, 97,116, 32,119,101,105,103,104,116, 52, 44, 32,102,108,111, 97,116, 32,101,120,112,111,110,101,110,116, 44, 32,111, +117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, + 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10, +125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,119,111,111,100, 40,118,101, 99, 51, 32, 99,111, 44, 32,102, +108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,117,114, 98,117,108,101,110, 99,101, 44, 32,111,117,116, + 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10, 47, 42, 32, +108,105,103,104,116, 32,112, 97,116,104, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,108,105,103,104,116, 95,112, + 97,116,104, 40, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95, 99, 97,109,101,114, 97, 95,114, 97,121, 44, 10, 9, +111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,115,104, 97,100,111,119, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108, +111, 97,116, 32,105,115, 95,100,105,102,102,117,115,101, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105, +115, 95,103,108,111,115,115,121, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,114,101,102,108, +101, 99,116,105,111,110, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,116,114, 97,110,115,109, +105,115,115,105,111,110, 95,114, 97,121, 41, 10,123, 10, 9,105,115, 95, 99, 97,109,101,114, 97, 95,114, 97,121, 32, 61, 32, 49, + 46, 48, 59, 10, 9,105,115, 95,115,104, 97,100,111,119, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,100,105, +102,102,117,115,101, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,103,108,111,115,115,121, 95,114, 97,121, 32, + 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,114,101,102,108,101, 99,116,105,111,110, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, + 10, 9,105,115, 95,116,114, 97,110,115,109,105,115,115,105,111,110, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10, + 47, 42, 32,111,117,116,112,117,116, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,111,117,116,112,117,116, 95,109, + 97,116,101,114,105, 97,108, 40,118,101, 99, 52, 32,115,117,114,102, 97, 99,101, 44, 32,118,101, 99, 52, 32,118,111,108,117,109, +101, 44, 32,102,108,111, 97,116, 32,100,105,115,112,108, 97, 99,101,109,101,110,116, 44, 32,111,117,116, 32,118,101, 99, 52, 32, +114,101,115,117,108,116, 41, 10,123, 10, 9,114,101,115,117,108,116, 32, 61, 32,115,117,114,102, 97, 99,101, 59, 10,125, 10, 10, 0}; diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index 896f809a97e..90ba74aba93 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -171,7 +171,8 @@ typedef struct bNode { #define NODE_TEST 256 /* composite: don't do node but pass on buffer(s) */ #define NODE_MUTED 512 -#define NODE_CUSTOM_NAME 1024 /* deprecated! */ +#define NODE_CUSTOM_NAME 1024 /* deprecated! */ +#define NODE_ACTIVE_TEXTURE 2048 typedef struct bNodeLink { struct bNodeLink *next, *prev; diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h index 7af14786f2f..28609d0973b 100644 --- a/source/blender/makesdna/DNA_object_types.h +++ b/source/blender/makesdna/DNA_object_types.h @@ -374,10 +374,12 @@ typedef struct DupliObject { #define OB_BOUNDBOX 1 #define OB_WIRE 2 #define OB_SOLID 3 -#define OB_SHADED 4 +#define OB_MATERIAL 4 #define OB_TEXTURE 5 #define OB_RENDER 6 +#define OB_PAINT 100 /* temporary used in draw code */ + /* dtx: flags, char! */ #define OB_AXIS 2 #define OB_TEXSPACE 4 diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h index 11e14e6d3ed..fe2f0c634b5 100644 --- a/source/blender/makesdna/DNA_view3d_types.h +++ b/source/blender/makesdna/DNA_view3d_types.h @@ -243,7 +243,7 @@ typedef struct View3D { /* View3d->flag2 (short) */ #define V3D_RENDER_OVERRIDE 4 -#define V3D_SOLID_TEX 8 +#define V3D_SOLID_TEX 8 /* deprecated */ #define V3D_DISPGP 16 #define V3D_LOCK_CAMERA 32 diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index 4cacf83808e..5270184dee0 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -3029,6 +3029,11 @@ static void rna_def_node(BlenderRNA *brna) RNA_def_property_string_sdna(prop, NULL, "label"); RNA_def_property_ui_text(prop, "Label", "Optional custom node label"); RNA_def_property_update(prop, NC_NODE, "rna_Node_update"); + + prop = RNA_def_property(srna, "show_texture", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", NODE_ACTIVE_TEXTURE); + RNA_def_property_ui_text(prop, "Show Texture", "Draw node in viewport textured draw mode"); + RNA_def_property_update(prop, 0, "rna_Node_update"); } static void rna_def_node_link(BlenderRNA *brna) diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index dde91bf5e04..0f64107e990 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -102,8 +102,9 @@ EnumPropertyItem viewport_shade_items[] = { {OB_WIRE, "WIREFRAME", ICON_WIRE, "Wireframe", "Display the object as wire edges"}, {OB_SOLID, "SOLID", ICON_SOLID, "Solid", "Display the object solid, lit with default OpenGL lights"}, //{OB_SHADED, "SHADED", ICON_SMOOTH, "Shaded", "Display the object solid, with preview shading interpolated at vertices"}, - {OB_TEXTURE, "TEXTURED", ICON_POTATO, "Textured", "Display the object solid, with face-assigned textures"}, - {OB_RENDER, "RENDERED", ICON_SMOOTH, "Rendered", "Display progressive render preview"}, + {OB_TEXTURE, "TEXTURE", ICON_POTATO, "Texture", "Display the object solid, with a texture"}, + {OB_MATERIAL, "MATERIAL", ICON_MATERIAL_DATA, "Material", "Display objects solid, with GLSL material"}, + {OB_RENDER, "RENDERED", ICON_SMOOTH, "Rendered", "Display render preview"}, {0, NULL, 0, NULL, NULL}}; #ifdef RNA_RUNTIME @@ -1305,11 +1306,6 @@ static void rna_def_space_view3d(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Relationship Lines", "Show dashed lines indicating parent or constraint relationships"); RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL); - prop= RNA_def_property(srna, "show_textured_solid", PROP_BOOLEAN, PROP_NONE); - RNA_def_property_boolean_sdna(prop, NULL, "flag2", V3D_SOLID_TEX); - RNA_def_property_ui_text(prop, "Textured Solid", "Display face-assigned textures in solid view"); - RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL); - prop= RNA_def_property(srna, "lock_camera", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "flag2", V3D_LOCK_CAMERA); RNA_def_property_ui_text(prop, "Lock Camera to View", "Enable view navigation within the camera view"); diff --git a/source/blender/makesrna/intern/rna_ui_api.c b/source/blender/makesrna/intern/rna_ui_api.c index 4e36c509c3b..99f4cb429e9 100644 --- a/source/blender/makesrna/intern/rna_ui_api.c +++ b/source/blender/makesrna/intern/rna_ui_api.c @@ -422,8 +422,6 @@ void RNA_api_ui_layout(StructRNA *srna) RNA_def_function_flag(func, FUNC_USE_CONTEXT); func= RNA_def_function(srna, "template_node_link", "uiTemplateNodeLink"); - parm= RNA_def_pointer(func, "id", "ID", "", ""); - RNA_def_property_flag(parm, PROP_REQUIRED); parm= RNA_def_pointer(func, "ntree", "NodeTree", "", ""); RNA_def_property_flag(parm, PROP_REQUIRED); parm= RNA_def_pointer(func, "node", "Node", "", ""); @@ -433,8 +431,6 @@ void RNA_api_ui_layout(StructRNA *srna) func= RNA_def_function(srna, "template_node_view", "uiTemplateNodeView"); RNA_def_function_flag(func, FUNC_USE_CONTEXT); - parm= RNA_def_pointer(func, "id", "ID", "", ""); - RNA_def_property_flag(parm, PROP_REQUIRED); parm= RNA_def_pointer(func, "ntree", "NodeTree", "", ""); RNA_def_property_flag(parm, PROP_REQUIRED); parm= RNA_def_pointer(func, "node", "Node", "", ""); diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c index e31b59b88f4..5b22e0eeca6 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_blend.c @@ -111,6 +111,9 @@ static void node_shader_exec_tex_blend(void *data, bNode *node, bNodeStack **in, static int node_shader_gpu_tex_blend(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + return GPU_stack_link(mat, "node_tex_blend", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c index f056a03c724..55d8f6c1ca6 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_clouds.c @@ -94,6 +94,9 @@ static void node_shader_exec_tex_clouds(void *data, bNode *node, bNodeStack **in static int node_shader_gpu_tex_clouds(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + return GPU_stack_link(mat, "node_tex_clouds", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c index d465499c942..7eaa05c3258 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_distnoise.c @@ -91,6 +91,9 @@ static void node_shader_exec_tex_distnoise(void *data, bNode *node, bNodeStack * static int node_shader_gpu_tex_distnoise(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + return GPU_stack_link(mat, "node_tex_distnoise", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c index 2a8ccf51d66..bdcc9664a02 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c @@ -85,10 +85,16 @@ static int node_shader_gpu_tex_environment(GPUMaterial *mat, bNode *node, GPUNod Image *ima= (Image*)node->id; ImageUser *iuser= NULL; - if(ima) - return GPU_stack_link(mat, "node_tex_environment", in, out, GPU_image(ima, iuser)); + if(!ima) { + float black[4] = {0.0f, 0.0f, 0.0f, 1.0f}; + GPUNodeLink *vec = GPU_uniform(black); + return GPU_stack_link(mat, "set_rgba", out, out, vec); + } - return 0; + if(!in[0].link) + in[0].link = GPU_builtin(GPU_VIEW_POSITION); + + return GPU_stack_link(mat, "node_tex_environment", in, out, GPU_image(ima, iuser)); } /* node type definition */ diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c index 3d74054e5d3..0a8fb0db109 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c @@ -83,8 +83,14 @@ static int node_shader_gpu_tex_image(GPUMaterial *mat, bNode *node, GPUNodeStack Image *ima= (Image*)node->id; ImageUser *iuser= NULL; - if(!ima) - return 0; + if(!ima) { + float black[4] = {0.0f, 0.0f, 0.0f, 1.0f}; + GPUNodeLink *vec = GPU_uniform(black); + return GPU_stack_link(mat, "set_rgba", out, out, vec); + } + + if(!in[0].link) + in[0].link = GPU_attribute(CD_MTFACE, ""); return GPU_stack_link(mat, "node_tex_image", in, out, GPU_image(ima, iuser)); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c index 691a73ef91d..7304ab0b703 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_magic.c @@ -145,6 +145,9 @@ static int node_shader_gpu_tex_magic(GPUMaterial *mat, bNode *node, GPUNodeStack NodeTexMagic *tex = (NodeTexMagic*)node->storage; float depth = tex->depth; + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + return GPU_stack_link(mat, "node_tex_magic", in, out, GPU_uniform(&depth)); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c index 79dbdaf85e6..421c9d92dc9 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_marble.c @@ -99,6 +99,9 @@ static void node_shader_exec_tex_marble(void *data, bNode *node, bNodeStack **in static int node_shader_gpu_tex_marble(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + return GPU_stack_link(mat, "node_tex_marble", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c index 0400ac26c91..8b04dc26754 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_musgrave.c @@ -264,6 +264,9 @@ static void node_shader_exec_tex_musgrave(void *data, bNode *node, bNodeStack ** static int node_shader_gpu_tex_musgrave(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + return GPU_stack_link(mat, "node_tex_musgrave", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c index d77eb2993e2..185cb02f4b0 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_noise.c @@ -76,6 +76,9 @@ static void node_shader_exec_tex_noise(void *data, bNode *node, bNodeStack **in, static int node_shader_gpu_tex_noise(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + return GPU_stack_link(mat, "node_tex_noise", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c index e8413debb0e..aeecf25a0e8 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_sky.c @@ -58,6 +58,9 @@ static void node_shader_exec_tex_sky(void *UNUSED(data), bNode *UNUSED(node), bN static int node_shader_gpu_tex_sky(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + return GPU_stack_link(mat, "node_tex_sky", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c index 2de01a8856f..5267080b5be 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_stucci.c @@ -94,6 +94,9 @@ static void node_shader_exec_tex_stucci(void *data, bNode *node, bNodeStack **in static int node_shader_gpu_tex_stucci(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + return GPU_stack_link(mat, "node_tex_stucci", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c index 0bee1631e49..98a8a4503f4 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_voronoi.c @@ -140,6 +140,9 @@ static void node_shader_exec_tex_voronoi(void *data, bNode *node, bNodeStack **i static int node_shader_gpu_tex_voronoi(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + return GPU_stack_link(mat, "node_tex_voronoi", in, out); } diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c index 54a47b7ffcd..eddb2ee5042 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_wood.c @@ -101,6 +101,9 @@ static void node_shader_exec_tex_wood(void *data, bNode *node, bNodeStack **in, static int node_shader_gpu_tex_wood(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + return GPU_stack_link(mat, "node_tex_wood", in, out); } diff --git a/source/blender/nodes/intern/SHD_util.h b/source/blender/nodes/intern/SHD_util.h index bf6f2bd20eb..961831af2fd 100644 --- a/source/blender/nodes/intern/SHD_util.h +++ b/source/blender/nodes/intern/SHD_util.h @@ -42,6 +42,7 @@ #include "MEM_guardedalloc.h" #include "DNA_color_types.h" +#include "DNA_customdata_types.h" #include "DNA_ID.h" #include "DNA_image_types.h" #include "DNA_material_types.h" diff --git a/source/gameengine/Ketsji/BL_BlenderShader.cpp b/source/gameengine/Ketsji/BL_BlenderShader.cpp index 91982a424c7..4823af874a8 100644 --- a/source/gameengine/Ketsji/BL_BlenderShader.cpp +++ b/source/gameengine/Ketsji/BL_BlenderShader.cpp @@ -40,7 +40,7 @@ BL_BlenderShader::~BL_BlenderShader() void BL_BlenderShader::ReloadMaterial() { - mGPUMat = (mMat) ? GPU_material_from_blender(mBlenderScene, mMat) : NULL; + mGPUMat = (mMat) ? GPU_material_from_blender(mBlenderScene, mMat, OB_RENDERED) : NULL; } void BL_BlenderShader::SetProg(bool enable, double time) diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp index 23e0a50ed6f..f6f3d994b37 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp @@ -840,7 +840,7 @@ void RAS_OpenGLRasterizer::IndexPrimitivesInternal(RAS_MeshSlot& ms, bool multi) Material* blmat = current_polymat->GetBlenderMaterial(); Scene* blscene = current_polymat->GetBlenderScene(); if (!wireframe && blscene && blmat) - GPU_material_vertex_attributes(GPU_material_from_blender(blscene, blmat), ¤t_gpu_attribs); + GPU_material_vertex_attributes(GPU_material_from_blender(blscene, blmat, OB_RENDERED), ¤t_gpu_attribs); else memset(¤t_gpu_attribs, 0, sizeof(current_gpu_attribs)); // DM draw can mess up blending mode, restore at the end From 919ea1c43cd7d13b52f5520654d18e791873c584 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 28 Jun 2011 12:18:17 +0000 Subject: [PATCH 065/241] Cycles: uv editor and texture paint now also use active texture node. --- source/blender/editors/include/ED_uvedit.h | 6 +- source/blender/editors/mesh/mesh_data.c | 4 +- .../editors/sculpt_paint/paint_image.c | 81 ++++++++++--- .../blender/editors/space_image/space_image.c | 40 +++++-- .../blender/editors/space_view3d/drawmesh.c | 16 ++- source/blender/editors/uvedit/uvedit_ops.c | 112 +++++++++++++----- .../editors/uvedit/uvedit_unwrap_ops.c | 4 +- 7 files changed, 191 insertions(+), 72 deletions(-) diff --git a/source/blender/editors/include/ED_uvedit.h b/source/blender/editors/include/ED_uvedit.h index f6106e62533..023a0b19eaa 100644 --- a/source/blender/editors/include/ED_uvedit.h +++ b/source/blender/editors/include/ED_uvedit.h @@ -35,6 +35,7 @@ struct ARegionType; struct EditFace; struct Image; +struct ImageUser; struct MTFace; struct Object; struct Scene; @@ -45,9 +46,12 @@ struct wmKeyConfig; void ED_operatortypes_uvedit(void); void ED_keymap_uvedit(struct wmKeyConfig *keyconf); -void ED_uvedit_assign_image(struct Scene *scene, struct Object *obedit, struct Image *ima, struct Image *previma); +void ED_uvedit_assign_image(struct Main *bmain, struct Scene *scene, struct Object *obedit, struct Image *ima, struct Image *previma); int ED_uvedit_minmax(struct Scene *scene, struct Image *ima, struct Object *obedit, float *min, float *max); +int ED_object_get_active_image(struct Object *ob, int mat_nr, struct Image **ima, struct ImageUser **iuser); +void ED_object_assign_active_image(struct Main *bmain, struct Object *ob, int mat_nr, struct Image *ima); + int ED_uvedit_test_silent(struct Object *obedit); int ED_uvedit_test(struct Object *obedit); diff --git a/source/blender/editors/mesh/mesh_data.c b/source/blender/editors/mesh/mesh_data.c index c4a302d4d18..baa997241e0 100644 --- a/source/blender/editors/mesh/mesh_data.c +++ b/source/blender/editors/mesh/mesh_data.c @@ -53,6 +53,7 @@ #include "BKE_displist.h" #include "BKE_image.h" #include "BKE_library.h" +#include "BKE_main.h" #include "BKE_material.h" #include "BKE_mesh.h" #include "BKE_report.h" @@ -336,6 +337,7 @@ void MESH_OT_uv_texture_add(wmOperatorType *ot) static int drop_named_image_invoke(bContext *C, wmOperator *op, wmEvent *event) { + Main *bmain= CTX_data_main(C); Scene *scene= CTX_data_scene(C); View3D *v3d= CTX_wm_view3d(C); Base *base= ED_view3d_give_base_under_cursor(C, event->mval); @@ -380,7 +382,7 @@ static int drop_named_image_invoke(bContext *C, wmOperator *op, wmEvent *event) if(me->edit_mesh==NULL) return OPERATOR_CANCELLED; - ED_uvedit_assign_image(scene, obedit, ima, NULL); + ED_uvedit_assign_image(bmain, scene, obedit, ima, NULL); if(exitmode) { load_editMesh(scene, obedit); diff --git a/source/blender/editors/sculpt_paint/paint_image.c b/source/blender/editors/sculpt_paint/paint_image.c index cae5c14aa97..7b951b780f0 100644 --- a/source/blender/editors/sculpt_paint/paint_image.c +++ b/source/blender/editors/sculpt_paint/paint_image.c @@ -77,6 +77,7 @@ #include "BKE_object.h" #include "BKE_paint.h" #include "BKE_report.h" +#include "BKE_scene.h" #include "BIF_gl.h" #include "BIF_glutil.h" @@ -86,6 +87,7 @@ #include "ED_image.h" #include "ED_screen.h" #include "ED_sculpt.h" +#include "ED_uvedit.h" #include "ED_view3d.h" #include "WM_api.h" @@ -456,6 +458,40 @@ static void image_undo_free(ListBase *lb) MEM_freeN(tile->rect); } +/* get active image for face depending on old/new shading system */ + +static Image *imapaint_face_image(const ImagePaintState *s, int face_index) +{ + Image *ima; + + if(scene_use_new_shading_system(s->scene)) { + MFace *mf = s->me->mface+face_index; + ED_object_get_active_image(s->ob, mf->mat_nr, &ima, NULL); + } + else { + MTFace *tf = s->me->mtface+face_index; + ima = tf->tpage; + } + + return ima; +} + +static Image *project_paint_face_image(const ProjPaintState *ps, int face_index) +{ + Image *ima; + + if(scene_use_new_shading_system(ps->scene)) { + MFace *mf = ps->dm_mface+face_index; + ED_object_get_active_image(ps->ob, mf->mat_nr, &ima, NULL); + } + else { + MTFace *tf = ps->dm_mtface+face_index; + ima = tf->tpage; + } + + return ima; +} + /* fast projection bucket array lookup, use the safe version for bound checking */ static int project_bucket_offset(const ProjPaintState *ps, const float projCoSS[2]) { @@ -628,6 +664,7 @@ static int project_paint_PickColor(const ProjPaintState *ps, float pt[2], float int side; int face_index; MTFace *tf; + Image *ima; ImBuf *ibuf; int xi, yi; @@ -645,8 +682,9 @@ static int project_paint_PickColor(const ProjPaintState *ps, float pt[2], float else { /* QUAD */ interp_v2_v2v2v2(uv, tf->uv[0], tf->uv[2], tf->uv[3], w); } - - ibuf = tf->tpage->ibufs.first; /* we must have got the imbuf before getting here */ + + ima = project_paint_face_image(ps, face_index); + ibuf = ima->ibufs.first; /* we must have got the imbuf before getting here */ if (!ibuf) return 0; if (interp) { @@ -1011,6 +1049,9 @@ static int check_seam(const ProjPaintState *ps, const int orig_face, const int o /* Only need to check if 'i2_fidx' is valid because we know i1_fidx is the same vert on both faces */ if (i2_fidx != -1) { + Image *tpage = project_paint_face_image(ps, face_index); + Image *orig_tpage = project_paint_face_image(ps, orig_face); + /* This IS an adjacent face!, now lets check if the UVs are ok */ tf = ps->dm_mtface + face_index; @@ -1019,7 +1060,7 @@ static int check_seam(const ProjPaintState *ps, const int orig_face, const int o *orig_fidx = (i1_fidx < i2_fidx) ? i1_fidx : i2_fidx; /* first test if they have the same image */ - if ( (orig_tf->tpage == tf->tpage) && + if ( (orig_tpage == tpage) && cmp_uv(orig_tf->uv[orig_i1_fidx], tf->uv[i1_fidx]) && cmp_uv(orig_tf->uv[orig_i2_fidx], tf->uv[i2_fidx]) ) { @@ -1285,9 +1326,10 @@ static float project_paint_uvpixel_mask( if (ps->do_layer_stencil) { /* another UV layers image is masking this one's */ ImBuf *ibuf_other; + Image *other_tpage = project_paint_face_image(ps, face_index); const MTFace *tf_other = ps->dm_mtface_stencil + face_index; - if (tf_other->tpage && (ibuf_other = BKE_image_get_ibuf(tf_other->tpage, NULL))) { + if (other_tpage && (ibuf_other = BKE_image_get_ibuf(other_tpage, NULL))) { /* BKE_image_get_ibuf - TODO - this may be slow */ unsigned char rgba_ub[4]; float rgba_f[4]; @@ -1441,9 +1483,10 @@ static ProjPixel *project_paint_uvpixel_init( if (ps->tool==PAINT_TOOL_CLONE) { if (ps->dm_mtface_clone) { ImBuf *ibuf_other; + Image *other_tpage = project_paint_face_image(ps, face_index); const MTFace *tf_other = ps->dm_mtface_clone + face_index; - if (tf_other->tpage && (ibuf_other = BKE_image_get_ibuf(tf_other->tpage, NULL))) { + if (other_tpage && (ibuf_other = BKE_image_get_ibuf(other_tpage, NULL))) { /* BKE_image_get_ibuf - TODO - this may be slow */ if (ibuf->rect_float) { @@ -2649,9 +2692,7 @@ static void project_bucket_init(const ProjPaintState *ps, const int thread_index LinkNode *node; int face_index, image_index=0; ImBuf *ibuf = NULL; - MTFace *tf; - - Image *tpage_last = NULL; + Image *tpage_last = NULL, *tpage; if (ps->image_tot==1) { @@ -2669,9 +2710,9 @@ static void project_bucket_init(const ProjPaintState *ps, const int thread_index face_index = GET_INT_FROM_POINTER(node->link); /* Image context switching */ - tf = ps->dm_mtface+face_index; - if (tpage_last != tf->tpage) { - tpage_last = tf->tpage; + tpage = project_paint_face_image(ps, face_index); + if (tpage_last != tpage) { + tpage_last = tpage; image_index = -1; /* sanity check */ @@ -2841,7 +2882,7 @@ static void project_paint_begin(ProjPaintState *ps) LinkNode *node; ProjPaintImage *projIma; - Image *tpage_last = NULL; + Image *tpage_last = NULL, *tpage; /* Face vars */ MFace *mf; @@ -3174,7 +3215,9 @@ static void project_paint_begin(ProjPaintState *ps) } #endif - if (tf->tpage && ((((Mesh *)ps->ob->data)->editflag & ME_EDIT_PAINT_MASK)==0 || mf->flag & ME_FACE_SEL)) { + tpage = project_paint_face_image(ps, face_index); + + if (tpage && ((((Mesh *)ps->ob->data)->editflag & ME_EDIT_PAINT_MASK)==0 || mf->flag & ME_FACE_SEL)) { float *v1coSS, *v2coSS, *v3coSS, *v4coSS=NULL; @@ -3247,17 +3290,17 @@ static void project_paint_begin(ProjPaintState *ps) } } - if (tpage_last != tf->tpage) { + if (tpage_last != tpage) { - image_index = BLI_linklist_index(image_LinkList, tf->tpage); + image_index = BLI_linklist_index(image_LinkList, tpage); - if (image_index==-1 && BKE_image_get_ibuf(tf->tpage, NULL)) { /* MemArena dosnt have an append func */ - BLI_linklist_append(&image_LinkList, tf->tpage); + if (image_index==-1 && BKE_image_get_ibuf(tpage, NULL)) { /* MemArena dosnt have an append func */ + BLI_linklist_append(&image_LinkList, tpage); image_index = ps->image_tot; ps->image_tot++; } - tpage_last = tf->tpage; + tpage_last = tpage; } if (image_index != -1) { @@ -4444,7 +4487,7 @@ static int imapaint_paint_stroke(ViewContext *vc, ImagePaintState *s, BrushPaint ) { ImBuf *ibuf; - newimage = (s->me->mtface+newfaceindex)->tpage; + newimage = imapaint_face_image(s, newfaceindex); ibuf= BKE_image_get_ibuf(newimage, s->sima? &s->sima->iuser: NULL); if(ibuf && ibuf->rect) diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c index 2e9544f5d20..79a7afde665 100644 --- a/source/blender/editors/space_image/space_image.c +++ b/source/blender/editors/space_image/space_image.c @@ -49,7 +49,10 @@ #include "BKE_colortools.h" #include "BKE_context.h" #include "BKE_image.h" +#include "BKE_global.h" +#include "BKE_main.h" #include "BKE_mesh.h" +#include "BKE_scene.h" #include "BKE_screen.h" #include "IMB_imbuf_types.h" @@ -83,7 +86,7 @@ Image *ED_space_image(SpaceImage *sima) /* called to assign images to UV faces */ void ED_space_image_set(bContext *C, SpaceImage *sima, Scene *scene, Object *obedit, Image *ima) { - ED_uvedit_assign_image(scene, obedit, ima, sima->image); + ED_uvedit_assign_image(G.main, scene, obedit, ima, sima->image); /* change the space ima after because uvedit_face_visible uses the space ima * to check if the face is displayed in UV-localview */ @@ -570,6 +573,7 @@ static void image_dropboxes(void) static void image_refresh(const bContext *C, ScrArea *UNUSED(sa)) { + Scene *scene = CTX_data_scene(C); SpaceImage *sima= CTX_wm_space_image(C); Object *obedit= CTX_data_edit_object(C); Image *ima; @@ -584,19 +588,31 @@ static void image_refresh(const bContext *C, ScrArea *UNUSED(sa)) else if(obedit && obedit->type == OB_MESH) { Mesh *me= (Mesh*)obedit->data; EditMesh *em= BKE_mesh_get_editmesh(me); - MTFace *tf; - - if(em && EM_texFaceCheck(em)) { - sima->image= NULL; + int sloppy= 1; /* partially selected face is ok */ + + if(scene_use_new_shading_system(scene)) { + /* new shading system, get image from material */ + EditFace *efa= EM_get_actFace(em, sloppy); + + if(efa) + ED_object_get_active_image(obedit, efa->mat_nr, &sima->image, NULL); + } + else { + /* old shading system, we set texface */ + MTFace *tf; - tf = EM_get_active_mtface(em, NULL, NULL, 1); /* partially selected face is ok */ - - if(tf && (tf->mode & TF_TEX)) { - /* don't need to check for pin here, see above */ - sima->image= tf->tpage; + if(em && EM_texFaceCheck(em)) { + sima->image= NULL; - if(sima->flag & SI_EDITTILE); - else sima->curtile= tf->tile; + tf = EM_get_active_mtface(em, NULL, NULL, sloppy); + + if(tf && (tf->mode & TF_TEX)) { + /* don't need to check for pin here, see above */ + sima->image= tf->tpage; + + if(sima->flag & SI_EDITTILE); + else sima->curtile= tf->tile; + } } } diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c index 17db90a3b07..b308b9de83b 100644 --- a/source/blender/editors/space_view3d/drawmesh.c +++ b/source/blender/editors/space_view3d/drawmesh.c @@ -645,7 +645,7 @@ void draw_mesh_textured_old(Scene *scene, View3D *v3d, RegionView3D *rv3d, Objec glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); } -/**************************** CYCLES **********************************/ +/************************** NEW SHADING SYSTEM ********************************/ typedef struct TexMatCallback { Scene *scene; @@ -668,17 +668,13 @@ static void tex_mat_set_texture_cb(void *userData, int mat_nr, void *attribs) /* texture draw mode without GLSL */ TexMatCallback *data= (TexMatCallback*)userData; GPUVertexAttribs *gattribs = attribs; - Material *ma= give_current_material_or_def(data->ob, mat_nr); - bNode *node= (ma->use_nodes)? nodeGetActiveTexture(ma->nodetree): NULL; + Image *ima; + ImageUser *iuser; int texture_set= 0; - memset(gattribs, 0, sizeof(*gattribs)); - - /* draw textured */ - if(node && (node->type == SH_NODE_TEX_IMAGE)) { + /* draw image texture if we find one */ + if(ED_object_get_active_image(data->ob, mat_nr, &ima, &iuser)) { /* get openl texture */ - Image *ima= (Image*)node->id; - ImageUser *iuser= NULL; int mipmap= 1; int bindcode= (ima)? GPU_verify_image(ima, iuser, 0, 0, mipmap): 0; float zero[4] = {0.0f, 0.0f, 0.0f, 0.0f}; @@ -698,6 +694,8 @@ static void tex_mat_set_texture_cb(void *userData, int mat_nr, void *attribs) glColor3f(1.0f, 1.0f, 1.0f); /* use active UV texture layer */ + memset(gattribs, 0, sizeof(*gattribs)); + gattribs->layer[0].type= CD_MTFACE; gattribs->layer[0].name[0]= '\0'; gattribs->layer[0].gltexco= 1; diff --git a/source/blender/editors/uvedit/uvedit_ops.c b/source/blender/editors/uvedit/uvedit_ops.c index c09f8cff02d..8458770acd0 100644 --- a/source/blender/editors/uvedit/uvedit_ops.c +++ b/source/blender/editors/uvedit/uvedit_ops.c @@ -39,7 +39,9 @@ #include "MEM_guardedalloc.h" #include "DNA_object_types.h" +#include "DNA_material_types.h" #include "DNA_meshdata_types.h" +#include "DNA_node_types.h" #include "DNA_scene_types.h" #include "BLI_math.h" @@ -52,11 +54,16 @@ #include "BKE_depsgraph.h" #include "BKE_image.h" #include "BKE_library.h" +#include "BKE_main.h" +#include "BKE_material.h" #include "BKE_mesh.h" +#include "BKE_node.h" #include "BKE_report.h" +#include "BKE_scene.h" #include "ED_image.h" #include "ED_mesh.h" +#include "ED_node.h" #include "ED_uvedit.h" #include "ED_object.h" #include "ED_screen.h" @@ -89,9 +96,44 @@ int ED_uvedit_test(Object *obedit) return ret; } +/**************************** object active image *****************************/ + +static int is_image_texture_node(bNode *node) +{ + return ELEM(node->type, SH_NODE_TEX_IMAGE, SH_NODE_TEX_ENVIRONMENT); +} + +int ED_object_get_active_image(Object *ob, int mat_nr, Image **ima, ImageUser **iuser) +{ + Material *ma= give_current_material(ob, mat_nr); + bNode *node= (ma && ma->use_nodes)? nodeGetActiveTexture(ma->nodetree): NULL; + + if(node && is_image_texture_node(node)) { + if(ima) *ima= (Image*)node->id; + if(iuser) *iuser= NULL; + return TRUE; + } + + if(ima) *ima= NULL; + if(iuser) *iuser= NULL; + + return FALSE; +} + +void ED_object_assign_active_image(Main *bmain, Object *ob, int mat_nr, Image *ima) +{ + Material *ma= give_current_material(ob, mat_nr); + bNode *node= (ma && ma->use_nodes)? nodeGetActiveTexture(ma->nodetree): NULL; + + if(node && is_image_texture_node(node)) { + node->id= &ima->id; + ED_node_generic_update(bmain, ma->nodetree, node); + } +} + /************************* assign image ************************/ -void ED_uvedit_assign_image(Scene *scene, Object *obedit, Image *ima, Image *previma) +void ED_uvedit_assign_image(Main *bmain, Scene *scene, Object *obedit, Image *ima, Image *previma) { EditMesh *em; EditFace *efa; @@ -111,37 +153,49 @@ void ED_uvedit_assign_image(Scene *scene, Object *obedit, Image *ima, Image *pre BKE_mesh_end_editmesh(obedit->data, em); return; } - - /* ensure we have a uv layer */ - if(!CustomData_has_layer(&em->fdata, CD_MTFACE)) { - EM_add_data_layer(em, &em->fdata, CD_MTFACE, NULL); - update= 1; + + if(scene_use_new_shading_system(scene)) { + /* new shading system, assign image in material */ + int sloppy= 1; + EditFace *efa= EM_get_actFace(em, sloppy); + + if(efa) + ED_object_assign_active_image(bmain, obedit, efa->mat_nr, ima); } - - /* now assign to all visible faces */ - for(efa= em->faces.first; efa; efa= efa->next) { - tf = CustomData_em_get(&em->fdata, efa->data, CD_MTFACE); - - if(uvedit_face_visible(scene, previma, efa, tf)) { - if(ima) { - tf->tpage= ima; - tf->mode |= TF_TEX; - - if(ima->id.us==0) id_us_plus(&ima->id); - else id_lib_extern(&ima->id); - } - else { - tf->tpage= NULL; - tf->mode &= ~TF_TEX; - } - - update = 1; + else { + /* old shading system, assign image to selected faces */ + + /* ensure we have a uv layer */ + if(!CustomData_has_layer(&em->fdata, CD_MTFACE)) { + EM_add_data_layer(em, &em->fdata, CD_MTFACE, NULL); + update= 1; } - } - /* and update depdency graph */ - if(update) - DAG_id_tag_update(obedit->data, 0); + /* now assign to all visible faces */ + for(efa= em->faces.first; efa; efa= efa->next) { + tf = CustomData_em_get(&em->fdata, efa->data, CD_MTFACE); + + if(uvedit_face_visible(scene, previma, efa, tf)) { + if(ima) { + tf->tpage= ima; + tf->mode |= TF_TEX; + + if(ima->id.us==0) id_us_plus(&ima->id); + else id_lib_extern(&ima->id); + } + else { + tf->tpage= NULL; + tf->mode &= ~TF_TEX; + } + + update = 1; + } + } + + /* and update depdency graph */ + if(update) + DAG_id_tag_update(obedit->data, 0); + } BKE_mesh_end_editmesh(obedit->data, em); } diff --git a/source/blender/editors/uvedit/uvedit_unwrap_ops.c b/source/blender/editors/uvedit/uvedit_unwrap_ops.c index ae6836446fa..e610a39d123 100644 --- a/source/blender/editors/uvedit/uvedit_unwrap_ops.c +++ b/source/blender/editors/uvedit/uvedit_unwrap_ops.c @@ -53,6 +53,7 @@ #include "BKE_customdata.h" #include "BKE_depsgraph.h" #include "BKE_image.h" +#include "BKE_main.h" #include "BKE_mesh.h" #include "PIL_time.h" @@ -75,6 +76,7 @@ static int ED_uvedit_ensure_uvs(bContext *C, Scene *scene, Object *obedit) { + Main *bmain= CTX_data_main(C); EditMesh *em= BKE_mesh_get_editmesh((Mesh*)obedit->data); EditFace *efa; MTFace *tf; @@ -120,7 +122,7 @@ static int ED_uvedit_ensure_uvs(bContext *C, Scene *scene, Object *obedit) } if(ima) - ED_uvedit_assign_image(scene, obedit, ima, NULL); + ED_uvedit_assign_image(bmain, scene, obedit, ima, NULL); /* select new UV's */ for(efa=em->faces.first; efa; efa=efa->next) { From f79dcb2af7695f95eea3b96410f5232a919a923d Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 28 Jun 2011 12:21:58 +0000 Subject: [PATCH 066/241] Cycles: fix build with game engine enabled. --- source/blender/editors/include/ED_uvedit.h | 1 + source/blender/editors/space_view3d/drawmesh.c | 1 + source/gameengine/Ketsji/BL_BlenderShader.cpp | 3 ++- .../Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp | 3 ++- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/source/blender/editors/include/ED_uvedit.h b/source/blender/editors/include/ED_uvedit.h index 023a0b19eaa..d4b98cc3697 100644 --- a/source/blender/editors/include/ED_uvedit.h +++ b/source/blender/editors/include/ED_uvedit.h @@ -39,6 +39,7 @@ struct ImageUser; struct MTFace; struct Object; struct Scene; +struct SpaceImage; struct bContext; struct wmKeyConfig; diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c index b308b9de83b..7fe6d24ceb8 100644 --- a/source/blender/editors/space_view3d/drawmesh.c +++ b/source/blender/editors/space_view3d/drawmesh.c @@ -71,6 +71,7 @@ #include "GPU_draw.h" #include "ED_mesh.h" +#include "ED_uvedit.h" #include "view3d_intern.h" // own include diff --git a/source/gameengine/Ketsji/BL_BlenderShader.cpp b/source/gameengine/Ketsji/BL_BlenderShader.cpp index 4823af874a8..83c4daf4b9b 100644 --- a/source/gameengine/Ketsji/BL_BlenderShader.cpp +++ b/source/gameengine/Ketsji/BL_BlenderShader.cpp @@ -4,6 +4,7 @@ #include "DNA_customdata_types.h" #include "DNA_material_types.h" +#include "DNA_object_types.h" #include "DNA_scene_types.h" #include "BKE_global.h" @@ -40,7 +41,7 @@ BL_BlenderShader::~BL_BlenderShader() void BL_BlenderShader::ReloadMaterial() { - mGPUMat = (mMat) ? GPU_material_from_blender(mBlenderScene, mMat, OB_RENDERED) : NULL; + mGPUMat = (mMat) ? GPU_material_from_blender(mBlenderScene, mMat, OB_RENDER) : NULL; } void BL_BlenderShader::SetProg(bool enable, double time) diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp index f6f3d994b37..ccff9559e32 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp @@ -51,6 +51,7 @@ #include "DNA_image_types.h" #include "DNA_meshdata_types.h" #include "DNA_material_types.h" +#include "DNA_object_types.h" #include "DNA_scene_types.h" #include "BKE_DerivedMesh.h" @@ -840,7 +841,7 @@ void RAS_OpenGLRasterizer::IndexPrimitivesInternal(RAS_MeshSlot& ms, bool multi) Material* blmat = current_polymat->GetBlenderMaterial(); Scene* blscene = current_polymat->GetBlenderScene(); if (!wireframe && blscene && blmat) - GPU_material_vertex_attributes(GPU_material_from_blender(blscene, blmat, OB_RENDERED), ¤t_gpu_attribs); + GPU_material_vertex_attributes(GPU_material_from_blender(blscene, blmat, OB_RENDER), ¤t_gpu_attribs); else memset(¤t_gpu_attribs, 0, sizeof(current_gpu_attribs)); // DM draw can mess up blending mode, restore at the end From 27a99869aa4220b6e8fd15defca3e14c9e96f1e4 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 28 Jun 2011 13:43:18 +0000 Subject: [PATCH 067/241] Cycles: fix alt+Z shortcut not working in 3d view. --- source/blender/makesrna/intern/rna_space.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index 0f64107e990..7188a5a7c05 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -102,7 +102,7 @@ EnumPropertyItem viewport_shade_items[] = { {OB_WIRE, "WIREFRAME", ICON_WIRE, "Wireframe", "Display the object as wire edges"}, {OB_SOLID, "SOLID", ICON_SOLID, "Solid", "Display the object solid, lit with default OpenGL lights"}, //{OB_SHADED, "SHADED", ICON_SMOOTH, "Shaded", "Display the object solid, with preview shading interpolated at vertices"}, - {OB_TEXTURE, "TEXTURE", ICON_POTATO, "Texture", "Display the object solid, with a texture"}, + {OB_TEXTURE, "TEXTURED", ICON_POTATO, "Texture", "Display the object solid, with a texture"}, {OB_MATERIAL, "MATERIAL", ICON_MATERIAL_DATA, "Material", "Display objects solid, with GLSL material"}, {OB_RENDER, "RENDERED", ICON_SMOOTH, "Rendered", "Display render preview"}, {0, NULL, 0, NULL, NULL}}; From bdb92dab74eb46e3444949d79ab9ee8ecdc65b0f Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 28 Jun 2011 13:44:47 +0000 Subject: [PATCH 068/241] Cycles: for mac and unix, copy oiio/boost dynamic libraries into cycles lib directory to avoid library path issues. --- intern/cycles/blender/CMakeLists.txt | 41 ++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/intern/cycles/blender/CMakeLists.txt b/intern/cycles/blender/CMakeLists.txt index ef68431267c..9367bb6382f 100644 --- a/intern/cycles/blender/CMakeLists.txt +++ b/intern/cycles/blender/CMakeLists.txt @@ -78,11 +78,7 @@ TARGET_LINK_LIBRARIES(cycles_blender ${LIBRARIES}) INSTALL(FILES ${addonfiles} DESTINATION ${CYCLES_INSTALL_PATH}/cycles) INSTALL(TARGETS cycles_blender LIBRARY DESTINATION ${CYCLES_INSTALL_PATH}/cycles) -IF(UNIX AND NOT APPLE) - SET_TARGET_PROPERTIES(cycles_blender PROPERTIES INSTALL_RPATH $ORIGIN/lib) -ENDIF() - -# Install DLL's +# Install Dynamic Libraries IF(WIN32) FILE(GLOB OIIO_DLLS "${CYCLES_OIIO}/bin/*.dll") @@ -91,4 +87,39 @@ IF(WIN32) DESTINATION ${CYCLES_INSTALL_PATH}/cycles) ENDIF() +IF(UNIX) + # copy libraries to cycles lib directory + SET(install_libs + ${OPENIMAGEIO_LIBRARY} + ${Boost_LIBRARIES} + ${OSL_LIBRARIES} + ${PARTIO_LIBRARIES}) + + INSTALL(FILES ${install_libs} + DESTINATION ${CYCLES_INSTALL_PATH}/cycles/lib) + + IF(NOT APPLE) + # set path to look for dynamic libs + SET_TARGET_PROPERTIES(cycles_blender PROPERTIES INSTALL_RPATH $ORIGIN/lib) + ELSE() + # modify our libs to looks for dynamic libs in cycles lib directory + SET(install_name_command "install_name_tool") + + FOREACH(lib ${install_libs}) + GET_FILENAME_COMPONENT(libname ${lib} NAME) + SET(install_name_command " ${install_name_command} -change ${lib} @loader_path/lib/${libname}") + SET(install_name_command " ${install_name_command} -change ${libname} @loader_path/lib/${libname}") + ENDFOREACH() + + INSTALL( + CODE + " + EXECUTE_PROCESS(COMMAND ${install_name_command} ${CYCLES_INSTALL_PATH}/cycles/libcycles_blender.so) + EXECUTE_PROCESS(COMMAND echo ${install_name_command} ${CYCLES_INSTALL_PATH}/cycles/libcycles_blender.so) + " + ) + ELSE() + ENDIF() +ENDIF() + From f351e3572d163f0ae01d90f72789c49d3352e28b Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 28 Jun 2011 14:25:52 +0000 Subject: [PATCH 069/241] Cycles: fix for dynamic library copying on linux. --- intern/cycles/blender/CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/intern/cycles/blender/CMakeLists.txt b/intern/cycles/blender/CMakeLists.txt index 9367bb6382f..013c671468e 100644 --- a/intern/cycles/blender/CMakeLists.txt +++ b/intern/cycles/blender/CMakeLists.txt @@ -94,6 +94,9 @@ IF(UNIX) ${Boost_LIBRARIES} ${OSL_LIBRARIES} ${PARTIO_LIBRARIES}) + + LIST(REMOVE_ITEM install_libs optimized) + LIST(REMOVE_ITEM install_libs debug) INSTALL(FILES ${install_libs} DESTINATION ${CYCLES_INSTALL_PATH}/cycles/lib) @@ -115,7 +118,6 @@ IF(UNIX) CODE " EXECUTE_PROCESS(COMMAND ${install_name_command} ${CYCLES_INSTALL_PATH}/cycles/libcycles_blender.so) - EXECUTE_PROCESS(COMMAND echo ${install_name_command} ${CYCLES_INSTALL_PATH}/cycles/libcycles_blender.so) " ) ELSE() From 6b2e35c8b7474eeae92551060b05036658cc1837 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 28 Jun 2011 14:37:08 +0000 Subject: [PATCH 070/241] Cycles: cmake tweak to make specifying OSL/OIIO path simpler. --- intern/cycles/cmake/external_libs.cmake | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake index fbda3ac2e34..c3a9e00ca10 100644 --- a/intern/cycles/cmake/external_libs.cmake +++ b/intern/cycles/cmake/external_libs.cmake @@ -35,9 +35,9 @@ ENDIF() ########################################################################### # OpenImageIO -FIND_LIBRARY(OPENIMAGEIO_LIBRARY NAMES OpenImageIO PATHS ${CYCLES_OIIO}/lib) -FIND_PATH(OPENIMAGEIO_INCLUDES OpenImageIO/imageio.h ${CYCLES_OIIO}/include) -FIND_PROGRAM(OPENIMAGEIO_IDIFF NAMES idiff PATHS ${CYCLES_OIIO}/bin) +FIND_LIBRARY(OPENIMAGEIO_LIBRARY NAMES OpenImageIO PATHS ${CYCLES_OIIO}/lib ${CYCLES_OIIO}/dist) +FIND_PATH(OPENIMAGEIO_INCLUDES OpenImageIO/imageio.h ${CYCLES_OIIO}/include ${CYCLES_OIIO}/dist) +FIND_PROGRAM(OPENIMAGEIO_IDIFF NAMES idiff PATHS ${CYCLES_OIIO}/bin ${CYCLES_OIIO}/dist) IF(OPENIMAGEIO_INCLUDES AND OPENIMAGEIO_LIBRARY) SET(OPENIMAGEIO_FOUND TRUE) @@ -75,9 +75,9 @@ IF(WITH_CYCLES_OSL) MESSAGE(STATUS "CYCLES_OSL = ${CYCLES_OSL}") - FIND_LIBRARY(OSL_LIBRARIES NAMES oslexec oslcomp oslquery PATHS ${CYCLES_OSL}/lib) - FIND_PATH(OSL_INCLUDES OSL/oslclosure.h ${CYCLES_OSL}/include) - FIND_PROGRAM(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin) + FIND_LIBRARY(OSL_LIBRARIES NAMES oslexec oslcomp oslquery PATHS ${CYCLES_OSL}/lib ${CYCLES_OSL}/dist) + FIND_PATH(OSL_INCLUDES OSL/oslclosure.h ${CYCLES_OSL}/include ${CYCLES_OSL}/dist) + FIND_PROGRAM(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin ${CYCLES_OSL}/dist) IF(OSL_INCLUDES AND OSL_LIBRARIES AND OSL_COMPILER) SET(OSL_FOUND TRUE) From 5e2c5eaa5d4d6b0e171d506c43a314bf9539400d Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 28 Jun 2011 15:09:09 +0000 Subject: [PATCH 071/241] Cycles: fix startup.blend not merge problem. --- .../blender/editors/datafiles/startup.blend.c | 1759 +---------------- 1 file changed, 105 insertions(+), 1654 deletions(-) diff --git a/source/blender/editors/datafiles/startup.blend.c b/source/blender/editors/datafiles/startup.blend.c index 8881a05906b..1e45bc1a925 100644 --- a/source/blender/editors/datafiles/startup.blend.c +++ b/source/blender/editors/datafiles/startup.blend.c @@ -169,7 +169,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0,189, 1, 0, 0,219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 1, 31, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,135,158, 23, 1, 0, 0, 0, 195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,134,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,165, 67, @@ -215,7 +214,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255, 57, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,254, 34, 1, 57, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,232,141,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,136,143,158, 23, 1, 0, 0, 0, 72,140,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, @@ -227,12 +225,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254, 57, 1,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,244,225, 80, 0, 0, 0,196, - 0, 0, 0, 1, 9,244,226,192, 9,244,223,224, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, - 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, - 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136,143,158, 23, 1, 0, 0, 0, 193, 0, 0, 0, 1, 0, 0, 0, 40,145,158, 23, 1, 0, 0, 0,232,141,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -244,7 +236,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254, 57, 1, 58, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 40,145,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,200,146,158, 23, 1, 0, 0, 0, @@ -257,15 +248,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254, 57, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, - 9,244,228, 48, 0, 0, 0,196, 0, 0, 0, 1, 9,244,229,160, 9,244,226,192, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, - 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, - 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,111,115,116, - 32, 80,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,218, - 1, 57, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,200,146,158, 23, 1, 0, 0, 0, 193, 0, 0, 0, 1, 0, 0, 0,104,148,158, 23, 1, 0, 0, 0, 40,145,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -277,8 +259,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164,253, 57, 1,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,194, 1, 57, 0, 0, 0, 20, 0, 0, 0, 4, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,104,148,158, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 8,150,158, 23, 1, 0, 0, 0, @@ -474,14 +454,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 24,174,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, - 9,244,247,160, 0, 0, 0,198, 0, 0, 0, 1, 9,244,248,192, 9,244,246,128, 0, 0, 0, 0, 67, 35, 0, 0,196, 96,128, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 67, 35, 0, 0,196, 96,128, 0, 0, 0, 0, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, - 0, 0, 3,147, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, - 0, 0, 3,147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 10, 0, 0, - 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 3,148, 0,163, 3,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 51, 0, 0, 6, 51, 0, 0, 0,151, 0, 0, 3,233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, 2, 0, 0, 43, 6, 0, 0,159, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -509,26 +481,6 @@ char datatoc_startup_blend[]= { 14, 43, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,199,250, 32, 68, 65, 84, 65, 0, 0, 3, 68, 2,199,250, 32, 0, 0, 0,156, - 0, 0, 0, 1, 63,140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,149,222,233, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191,128, 13, 28,191,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,190, 76,215, 74, - 0, 0, 0, 0, 62,209,239, 68,190,205,177, 51, 63, 81,158,184, 0, 0, 0, 0, 63,105,119, 70, 62, 70, 74,143,190,185, 44, 35, - 0, 0, 0, 0,188, 89, 84,162, 63,101, 33,166, 62,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193,111,211,214, - 63,128, 0, 0, 62,209,239, 69, 63,105,119, 70,188, 89, 84,176, 0, 0, 0, 0,190,205,177, 53, 62, 70, 74,142, 63,101, 33,166, - 0, 0, 0, 0, 63, 81,158,185,190,185, 44, 35, 62,228, 61, 43, 0, 0, 0, 0, 65, 68, 96,164,192,173,121,111, 64,213,209,248, - 63,128, 0, 0, 62,229,157,178,190,240,214,123,191, 81,180, 48,191, 81,158,184, 63,127, 90,117, 62,104, 44, 29, 62,185, 63, 26, - 62,185, 44, 35,188,109,180,145, 63,134, 36, 25,190,228, 84,138,190,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 65,108,185, 9, - 65,111,211,214, 62,191,240, 8, 63, 85,116,130,188, 70,191,112,180,224, 0, 0,190,175,172,179, 62, 41, 90,143, 63, 67,177,193, - 52, 8, 0, 0,194,117,107,207, 65,216,204, 80,194, 5,156, 41,192,159,247,136, 66,114, 62,121,193,213,253,213, 66, 3,225, 95, - 64,160, 7,236, 62,209,239, 68,190,205,177, 51, 63, 81,158,184, 0, 0, 0, 0, 63,105,119, 70, 62, 70, 74,143,190,185, 44, 35, - 0, 0, 0, 0,188, 89, 84,162, 63,101, 33,166, 62,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193,111,211,214, - 63,128, 0, 0, 62,229,157,178,190,240,214,123,191, 81,180, 48,191, 81,158,184, 63,127, 90,117, 62,104, 44, 29, 62,185, 63, 26, - 62,185, 44, 35,188,109,180,145, 63,134, 36, 25,190,228, 84,138,190,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 65,108,185, 9, - 65,111,211,214, 64, 16,106, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 16,106, 93, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 16,106, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63, 55, 62, 92,190,224,186, 56,190,148,203,237,190,234,236, 3, 65,111,211,214, 65,111,211,214, 0, 0, 0, 0, - 0, 0, 0, 0, 59, 3,139,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -561,12 +513,6 @@ char datatoc_startup_blend[]= { 26, 0,160, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 2, 0, 0, 133, 0, 0, 0,158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 9,244,251, 0, 0, 0, 0,197, 0, 0, 0, 1, - 9,245, 1,144, 9,244,243,176, 9,254, 80, 80, 9,251,242,176, 9,253,135, 0, 11, 21,219,240, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2,163, 0, 0, 0,125, 0, 0, 1,107, 2, 2, 2,164, 0,239, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 9,245, 0, 16, 9,245, 0, 16, 9,244,251,144, 9,244,254,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,248, 9,244,251,144, 0, 0, 0,198, 0, 0, 0, 1, 9,244,252,176, 0, 0, 0, 0, 0, 0, 0, 0, - 68,119, 64, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68, 41, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,184,158, 23, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,185,158, 23, 1, 0, 0, 0, @@ -602,30 +548,9 @@ char datatoc_startup_blend[]= { 68, 65, 84, 65,240, 0, 0, 0,216,188,158, 23, 1, 0, 0, 0,158, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,245, 1, 16, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 88, 9,245, 1, 16, - 0, 0, 1, 19, 0, 0, 0, 1, 2,154,244, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 96, 9,245, 1,144, 0, 0, 0,197, 0, 0, 0, 1, 9,245, 6,192, 9,244,251, 0, 9,251,242,176, - 9,253,198, 16, 11, 29,143, 96, 9,253,135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,163, 0, 0, 1,109, 0, 0, 3,233, - 12, 12, 2,164, 2,125, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,245, 5,128, 9,245, 5,128, 9,245, 2, 32, - 9,245, 4, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,245, 2, 32, - 0, 0, 0,198, 0, 0, 0, 1, 9,245, 3, 64, 0, 0, 0, 0, 0, 0, 0, 0, 68,124,192, 0, 0, 0, 0, 0, 65,208, 0, 0, - 0, 0, 0, 0, 68, 41, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,163, 0, 0, 0, 0, 0, 0, 0, 25, - 68, 40,192, 0, 65,200, 0, 0, 68, 40,192, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, - 0, 4, 0, 12, 0, 10, 2,164, 0, 26, 2,164, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2,163, 0, 0, 1,109, 0, 0, 1,134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,164, 0, 26, - 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,248, 9,245, 3, 64, 0, 0, 0,198, 0, 0, 0, 1, 9,245, 4, 96, 9,245, 2, 32, 0, 0, 0, 0, - 67, 55, 0, 0,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 72, 0, 0,196, 20, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, - 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 2, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 4, 8, 0, 0, 0, 2, 3, 3, 0, 0, 4, 2, 0, 6, 0,200, 2, 99, 0,200, 2, 81, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 1,135, 0, 0, 3,233, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 2, 99, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,190,158, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,190,158, 23, 1, 0, 0, 0, 16, 1, 0, 0, 1, 0, 0, 0, @@ -665,18 +590,6 @@ char datatoc_startup_blend[]= { 167, 1, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 1,159, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 2, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 9,245, 6,192, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 9,245, 1,144, - 11, 21,225, 32, 12, 96, 12, 32, 9,249, 51, 0, 4,211,174, 48, 0, 0, 0, 0, 0, 0, 6, 53, 0, 0, 7,126, 0, 0, 3, 33, - 0, 0, 3,233, 1, 1, 1, 74, 0,201, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,245, 9,144, 9,245, 9,144, - 9,245, 7, 80, 9,245, 8,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, - 9,245, 7, 80, 0, 0, 0,198, 0, 0, 0, 1, 9,245, 8,112, 0, 0, 0, 0, 0, 0, 0, 0, 68,102, 0, 0, 0, 0, 0, 0, - 65,208, 0, 0, 0, 0, 0, 0, 67,165, 0, 0, 64, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 73, 0, 0, 0, 0, - 0, 0, 0, 23, 67,164,128, 0, 65,200, 0, 0, 67,164,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 1, 74, 0, 24, 1, 74, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 53, 0, 0, 7,126, 0, 0, 3, 33, 0, 0, 3, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 1, 0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 1, 0, 0,168,195,158, 23, 1, 0, 0, 0, 17, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, @@ -684,8 +597,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 53, 0, 0, 7,126, 0, 0, 3, 33, 0, 0, 3,233, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 74, 0,201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,106,106, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 2, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, @@ -713,60 +624,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0,101, 3, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 1,225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,245, 11,208, - 0, 0, 0,194, 0, 0, 0, 1, 9,245, 12, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 20, 9,245, 12, 16, 0, 0, 0,194, 0, 0, 0, 1, 9,245, 12, 80, 9,245, 11,208, 0, 0, 0, 0, 0, 0, 4, 5, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,245, 12, 80, 0, 0, 0,194, 0, 0, 0, 1, 9,245, 12,144, 9,245, 12, 16, - 0, 0, 0, 0, 7,126, 4, 5, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,245, 12,144, 0, 0, 0,194, 0, 0, 0, 1, - 9,245, 12,208, 9,245, 12, 80, 0, 0, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,245, 12,208, - 0, 0, 0,194, 0, 0, 0, 1, 9,245, 13, 16, 9,245, 12,144, 0, 0, 0, 0, 0, 0, 3,234, 0, 0, 0, 1, 68, 65, 84, 65, - 0, 0, 0, 20, 9,245, 13, 16, 0, 0, 0,194, 0, 0, 0, 1, 9,245, 13, 80, 9,245, 12,208, 0, 0, 0, 0, 7,126, 3,234, - 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 9,245, 13, 80, 0, 0, 0,194, 0, 0, 0, 1, 9,245, 13,144, 9,245, 13, 16, - 0, 0, 0, 0, 6, 32, 0, 92, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,245, 13,144, 0, 0, 0,194, 0, 0, 0, 1, - 9,245, 13,208, 9,245, 13, 80, 0, 0, 0, 0, 7,126, 0, 92, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,245, 13,208, - 0, 0, 0,194, 0, 0, 0, 1, 9,245, 14, 16, 9,245, 13,144, 0, 0, 0, 0, 6, 32, 3,234, 0, 0, 0, 1, 68, 65, 84, 65, - 0, 0, 0, 20, 9,245, 14, 16, 0, 0, 0,194, 0, 0, 0, 1, 9,245, 14, 80, 9,245, 13,208, 0, 0, 0, 0, 0, 0, 1,140, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,245, 14, 80, 0, 0, 0,194, 0, 0, 0, 1, 9,245, 14,144, 9,245, 14, 16, - 0, 0, 0, 0, 6, 32, 1,140, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,245, 14,144, 0, 0, 0,194, 0, 0, 0, 1, - 9,245, 14,208, 9,245, 14, 80, 0, 0, 0, 0, 3, 4, 1,140, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,245, 14,208, - 0, 0, 0,194, 0, 0, 0, 1, 9,245, 15, 16, 9,245, 14,144, 0, 0, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 20, 9,245, 15, 16, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 9,245, 14,208, 0, 0, 0, 0, 6, 32, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 15, 80, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 15,144, 0, 0, 0, 0, - 9,245, 12, 16, 9,245, 12, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 15,144, 0, 0, 0,195, - 0, 0, 0, 1, 9,245, 15,208, 9,245, 15, 80, 9,245, 12, 16, 9,245, 12,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 9,245, 15,208, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 16, 16, 9,245, 15,144, 9,245, 12, 80, 9,245, 13, 16, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 16, 16, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 16, 80, - 9,245, 15,208, 9,245, 12,208, 9,245, 13, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 16, 80, - 0, 0, 0,195, 0, 0, 0, 1, 9,245, 16,144, 9,245, 16, 16, 9,245, 12,144, 9,245, 13,144, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 16,144, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 16,208, 9,245, 16, 80, 9,245, 13, 80, - 9,245, 13,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 16,208, 0, 0, 0,195, 0, 0, 0, 1, - 9,245, 17, 16, 9,245, 16,144, 9,245, 13, 16, 9,245, 13,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 9,245, 17, 16, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 17, 80, 9,245, 16,208, 9,245, 12,208, 9,245, 13,208, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 17, 80, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 17,144, 9,245, 17, 16, - 9,245, 13, 80, 9,245, 13,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 17,144, 0, 0, 0,195, - 0, 0, 0, 1, 9,245, 17,208, 9,245, 17, 80, 9,245, 13, 16, 9,245, 13,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 9,245, 17,208, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 18, 16, 9,245, 17,144, 9,245, 12,208, 9,245, 14, 16, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 18, 16, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 18, 80, - 9,245, 17,208, 9,245, 13,208, 9,245, 14, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 18, 80, - 0, 0, 0,195, 0, 0, 0, 1, 9,245, 18,144, 9,245, 18, 16, 9,245, 14, 16, 9,245, 14, 80, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 18,144, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 18,208, 9,245, 18, 80, 9,245, 14, 16, - 9,245, 14,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 18,208, 0, 0, 0,195, 0, 0, 0, 1, - 9,245, 19, 16, 9,245, 18,144, 9,245, 14, 80, 9,245, 14,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 9,245, 19, 16, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 19, 80, 9,245, 18,208, 9,245, 11,208, 9,245, 14,208, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 19, 80, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 19,144, 9,245, 19, 16, - 9,245, 14,208, 9,245, 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 19,144, 0, 0, 0,195, - 0, 0, 0, 1, 9,245, 19,208, 9,245, 19, 80, 9,245, 12,144, 9,245, 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 9,245, 19,208, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 20, 16, 9,245, 19,144, 9,245, 13, 80, 9,245, 15, 16, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 20, 16, 0, 0, 0,195, 0, 0, 0, 1, 9,245, 20, 80, - 9,245, 19,208, 9,245, 14,144, 9,245, 14,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 20, 80, - 0, 0, 0,195, 0, 0, 0, 1, 9,245, 20,144, 9,245, 20, 16, 9,245, 14, 80, 9,245, 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 9,245, 20,144, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 9,245, 20, 80, 9,245, 11,208, - 9,245, 14, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 9,245, 20,208, 0, 0, 0,197, 0, 0, 0, 1, - 9,245, 23,160, 0, 0, 0, 0, 9,245, 12,208, 9,245, 12, 16, 9,245, 12, 80, 9,245, 13, 16, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7,126, 0, 0, 3,235, 0, 0, 4, 5, 7, 7, 7,127, 0, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, - 9,245, 55,192, 9,245, 55,192, 9,245, 21, 96, 9,245, 22,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,248, 9,245, 21, 96, 0, 0, 0,198, 0, 0, 0, 1, 9,245, 22,128, 0, 0, 0, 0, 0, 0, 0, 0, - 68,148, 32, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,239,224, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,200,158, 23, 1, 0, 0, 0, 68, 65, 84, 65,104, 3, 0, 0,168,200,158, 23, 1, 0, 0, 0, 153, 0, 0, 0, 1, 0, 0, 0, 24,255, 13, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 66, 80, 64, @@ -789,29 +646,8 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0,202, 4, 51, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, - 9,245, 23,160, 0, 0, 0,197, 0, 0, 0, 1, 9,245, 27, 96, 9,245, 20,208, 9,245, 15, 16, 9,245, 13, 80, 9,245, 13,144, - 9,245, 12,144, 0, 0, 0, 0, 0, 0, 6, 33, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 0, 91, 15, 15, 1, 94, 0, 92, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 9,245, 26,112, 9,245, 26,112, 9,245, 24, 48, 9,245, 25, 80, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,245, 24, 48, 0, 0, 0,198, 0, 0, 0, 1, - 9,245, 25, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68,115,128, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 67,175, 0, 0, - 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 93, 0, 0, 0, 0, 0, 0, 0, 25, 67,174,128, 0, 65,200, 0, 0, - 67,174,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 1, 94, - 0, 26, 1, 94, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 33, 0, 0, 7,126, 0, 0, 0, 0, - 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 94, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, - 9,245, 25, 80, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 9,245, 24, 48,192, 64, 0, 0, 67,126, 0, 0, 0, 0, 0, 0, - 66, 72, 0, 0,193, 74, 51, 50, 67,131,209,154, 0, 0, 0, 0, 66, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 93, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 93, 0, 0, 0, 18, - 0, 0, 0, 65, 63,128, 0, 0, 66, 72, 0, 0, 72,146,124, 0, 66, 72, 0, 0, 61,204,204,205, 65, 32, 0, 0, 0, 72, 0, 0, - 0, 0, 2, 0, 0, 4, 4, 0, 0, 8, 1, 94, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 33, 0, 0, 7,126, 0, 0, 0, 26, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 94, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,188, 9,245, 26,112, 0, 0, 0,173, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -954,10 +790,7 @@ char datatoc_startup_blend[]= { 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 6, 0, 0,118, 7, 0, 0, 26, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,245, 33, 16, 0, 0, 0,196, 0, 0, 0, 1, 9,245, 34,128, - 9,245, 31,160, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,229,158, 23, 1, 0, 0, 0,170, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, @@ -1136,7 +969,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, @@ -1216,17 +1048,11 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0,162, 30,184, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 64, 9,245, 46, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 0, 9,245, 44,144, 0, 0, 0, 0, 0, 0, 0, 0, - 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0,253, 16, 1, 76, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,216, 9,245, 47,112, 0, 0, 0,162, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190, 1, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 1, 0, 0, 72, 11,159, 23, 1, 0, 0, 0, @@ -1301,15 +1127,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0,171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 55, 62, 92, -190,224,186, 56,190,148,203,237,190,234,236, 3, 0, 1, 0, 0, 63,128, 0, 0, 66, 65,133,190, 66, 90,212,100, 66,118,183, 31, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,240, 9,245, 54,160, 0, 0, 0,157, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 63, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 7, - 2,212,100, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, - 0, 3, 0, 0, 0, 1, 0, 3, 8, 8, 0, 0, 66, 12, 0, 0, 63,128, 0, 0, 61,204,204,205, 67,250, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216, 21,159, 23, 1, 0, 0, 0, 195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 20,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, @@ -1320,8 +1137,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 2, 0, 0, 26, 0, 0, 0,171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,252, 11, 29,189, 64, - 0, 0, 0,174, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 33, 0, 0, 56,218,105, 3, 1, 0, 0, 0, 164, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1332,19 +1147,12 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 29,164,240, 0, 0, 0,198, 0, 0, 0, 1, 11, 29,166, 16, 11, 29,190,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 29,166, 16, 0, 0, 0,198, - 0, 0, 0, 1, 0, 0, 0, 0, 11, 29,164,240, 0, 0, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 67,128, 0, 0,191,129, 0, 0, - 64, 0,128, 0,190,100, 0, 0, 63,156,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 1,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, - 0, 0, 0, 26, 0, 0, 1,139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 1,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1478,7 +1286,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1737,96 +1544,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255, 43, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 0,148, 11, 29,167, 48, 0, 0, 0,193, 0, 0, 0, 1, 9,253,180,224, - 9,245, 11, 16, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 68,101,102, 97,117,108,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 29,191,144, 9,242, 80,144, 9,242, 80,208, 9,242, 85, 16, - 9,242, 85, 80, 10,122, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 2,154,244, 32, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 13, 0, 0, 0, 0, 0, 0, 0, 54,192,152, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 29,191,144, 0, 0, 0,194, - 0, 0, 0, 1, 9,242, 78, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, - 9,242, 78, 16, 0, 0, 0,194, 0, 0, 0, 1, 9,242, 78, 80, 11, 29,191,144, 0, 0, 0, 0, 0, 0, 4,128, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 20, 9,242, 78, 80, 0, 0, 0,194, 0, 0, 0, 1, 9,242, 78,144, 9,242, 78, 16, 0, 0, 0, 0, - 7,128, 4,128, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,242, 78,144, 0, 0, 0,194, 0, 0, 0, 1, 9,242, 78,208, - 9,242, 78, 80, 0, 0, 0, 0, 7,128, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,242, 78,208, 0, 0, 0,194, - 0, 0, 0, 1, 9,242, 79, 16, 9,242, 78,144, 0, 0, 0, 0, 0, 0, 4,100, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, - 9,242, 79, 16, 0, 0, 0,194, 0, 0, 0, 1, 9,242, 79, 80, 9,242, 78,208, 0, 0, 0, 0, 7,128, 4,100, 0, 0, 0, 1, - 68, 65, 84, 65, 0, 0, 0, 20, 9,242, 79, 80, 0, 0, 0,194, 0, 0, 0, 1, 9,242, 79,144, 9,242, 79, 16, 0, 0, 0, 0, - 6, 72, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,242, 79,144, 0, 0, 0,194, 0, 0, 0, 1, 9,242, 79,208, - 9,242, 79, 80, 0, 0, 0, 0, 6, 72, 4,100, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 9,242, 79,208, 0, 0, 0,194, - 0, 0, 0, 1, 9,242, 80, 16, 9,242, 79,144, 0, 0, 0, 0, 6, 72, 3,164, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, - 9,242, 80, 16, 0, 0, 0,194, 0, 0, 0, 1, 9,242, 80, 80, 9,242, 79,208, 0, 0, 0, 0, 7,128, 3,164, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 20, 9,242, 80, 80, 0, 0, 0,194, 0, 0, 0, 1, 9,242, 80,144, 9,242, 80, 16, 0, 0, 0, 0, - 0, 0, 0,132, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 9,242, 80,144, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, - 9,242, 80, 80, 0, 0, 0, 0, 6, 72, 0,132, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 80,208, 0, 0, 0,195, - 0, 0, 0, 1, 9,242, 81, 16, 0, 0, 0, 0, 9,242, 78, 16, 9,242, 78, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 9,242, 81, 16, 0, 0, 0,195, 0, 0, 0, 1, 9,242, 81, 80, 9,242, 80,208, 9,242, 78, 16, 9,242, 78,208, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 81, 80, 0, 0, 0,195, 0, 0, 0, 1, 9,242, 81,144, - 9,242, 81, 16, 9,242, 78, 80, 9,242, 79, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 81,144, - 0, 0, 0,195, 0, 0, 0, 1, 9,242, 81,208, 9,242, 81, 80, 9,242, 78,208, 9,242, 79, 16, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 81,208, 0, 0, 0,195, 0, 0, 0, 1, 9,242, 82, 16, 9,242, 81,144, 9,242, 79, 80, - 11, 29,191,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 82, 16, 0, 0, 0,195, 0, 0, 0, 1, - 9,242, 82, 80, 9,242, 81,208, 9,242, 78,144, 9,242, 79, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 9,242, 82, 80, 0, 0, 0,195, 0, 0, 0, 1, 9,242, 82,144, 9,242, 82, 16, 9,242, 78,208, 9,242, 79,144, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 82,144, 0, 0, 0,195, 0, 0, 0, 1, 9,242, 82,208, 9,242, 82, 80, - 9,242, 79, 16, 9,242, 79,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 82,208, 0, 0, 0,195, - 0, 0, 0, 1, 9,242, 83, 16, 9,242, 82,144, 9,242, 79, 80, 9,242, 79,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 9,242, 83, 16, 0, 0, 0,195, 0, 0, 0, 1, 9,242, 83, 80, 9,242, 82,208, 9,242, 79,144, 9,242, 79,208, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 83, 80, 0, 0, 0,195, 0, 0, 0, 1, 9,242, 83,144, - 9,242, 83, 16, 9,242, 79, 16, 9,242, 80, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 83,144, - 0, 0, 0,195, 0, 0, 0, 1, 9,242, 83,208, 9,242, 83, 80, 9,242, 78,144, 9,242, 80, 16, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 83,208, 0, 0, 0,195, 0, 0, 0, 1, 9,242, 84, 16, 9,242, 83,144, 9,242, 79,208, - 9,242, 80, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 84, 16, 0, 0, 0,195, 0, 0, 0, 1, - 9,242, 84, 80, 9,242, 83,208, 9,242, 80, 80, 11, 29,191,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 9,242, 84, 80, 0, 0, 0,195, 0, 0, 0, 1, 9,242, 84,144, 9,242, 84, 16, 9,242, 78,208, 9,242, 80, 80, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 84,144, 0, 0, 0,195, 0, 0, 0, 1, 9,242, 84,208, 9,242, 84, 80, - 9,242, 79,144, 9,242, 80,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 9,242, 84,208, 0, 0, 0,195, - 0, 0, 0, 1, 9,242, 85, 16, 9,242, 84,144, 9,242, 79, 80, 9,242, 80,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 9,242, 85, 16, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 9,242, 84,208, 9,242, 80, 80, 9,242, 80,144, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 9,242, 85, 80, 0, 0, 0,197, 0, 0, 0, 1, 9,242, 88, 32, - 0, 0, 0, 0, 9,242, 78,208, 9,242, 78, 16, 9,242, 78, 80, 9,242, 79, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,128, - 0, 0, 4,101, 0, 0, 4,128, 7, 7, 7,129, 0, 28, 0, 1, 0, 0, 0, 0, 0, 7, 0, 8, 2, 23,166,224, 10,122, 9,112, - 10,122, 9,112, 9,242, 85,224, 9,242, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,244, 47,224, 9,244, 48, 64, 68, 65, 84, 65, - 0, 0, 0,248, 9,242, 85,224, 0, 0, 0,198, 0, 0, 0, 1, 9,242, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,134,128, 0, - 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,240, 32, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,128, - 0, 0, 0, 0, 0, 0, 0, 25, 68,240, 0, 0, 65,200, 0, 0, 68,240, 0, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 7,129, 0, 26, 7,129, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,128, 0, 0, 4,101, 0, 0, 4,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7,129, 0, 26, 0, 2, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 23,168, 48, 11, 30, 71, 96, 11, 30, 71, 96, 0, 0, 0, 0, 0, 0, 0, 0, 9,244, 48,240, 9,244, 50, 64, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,242, 87, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, - 9,242, 85,224, 0, 0, 0, 0, 69,109,240, 0,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,237,255,255, 0, 0, 0, 0, - 64, 0, 0, 0, 0, 0, 7,112, 0, 0, 7,129, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 0, - 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 2, 0, 0, 0, 1, 3, 3, 0, 2, 4, 0, 0, 10, 7,129, 0, 2, 7,112, - 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,128, 0, 0, 4,127, 0, 0, 4,128, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,129, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,167,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 9,244, 51, 0, 9,244, 51,224, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 9,242, 88, 32, - 0, 0, 0,197, 0, 0, 0, 1, 9,242,106,192, 9,242, 85, 80, 9,242, 79, 80, 9,242, 79,208, 9,242, 80, 16, 9,242, 78,144, - 0, 0, 0, 0, 0, 0, 6, 73, 0, 0, 7,128, 0, 0, 0, 0, 0, 0, 3,163, 4, 4, 1, 56, 3,164, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 8, 2, 23,163,224, 11, 29, 3,128, 11, 29, 3,128, 9,242, 88,176, 9,242, 89,208, 0, 0, 0, 0, 0, 0, 0, 0, - 9,244, 94, 64, 9,244, 53, 16, 68, 65, 84, 65, 0, 0, 0,248, 9,242, 88,176, 0, 0, 0,198, 0, 0, 0, 1, 9,242, 89,208, - 0, 0, 0, 0, 0, 0, 0, 0, 67,148, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 67,156, 0, 0, 0, 0, 0, 0, - 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 55, 0, 0, 0, 0, 0, 0, 0, 25, 67,155,128, 0, 65,200, 0, 0, 67,155,128, 0, - 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 1, 56, 0, 26, 1, 56, - 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 73, 0, 0, 7,128, 0, 0, 3,138, 0, 0, 3,163, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 56, 0, 26, 0, 4, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,166, 80, 11, 31,157,208, 11, 31,157,208, 0, 0, 0, 0, - 0, 0, 0, 0, 9,244, 53,192, 9,244, 55, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 9,242, 89,208, - 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 9,242, 88,176, 0, 0, 0, 0, 67,156, 0, 0,196, 98,128, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67,147,128, 0,196, 98,128, 0, 0, 0, 0, 0, 0, 0, 1, 39, 0, 0, 1, 56, 0, 0, 0, 0, 0, 0, 3,137, - 0, 0, 0, 0, 0, 0, 1, 74, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 38, 0, 0, 0, 0, 0, 0, 3,137, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 3, 10, 0, 0, 0, 1, 0, 7, - 0, 18, 4, 0, 0, 6, 1, 56, 3,138, 1, 39, 3,138, 0, 0, 11, 29,248, 64, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 6, 73, - 0, 0, 7,128, 0, 0, 0, 0, 0, 0, 3,137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 56, 3,138, - 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,164,160, - 9,254, 77,160, 10,117,132,112, 9,242, 90,240, 11, 29, 2, 16, 9,244, 55,208, 9,244, 57, 32, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 64, 9,242, 90,240, 0, 0, 0,196, 0, 0, 0, 1, 9,242, 92, 96, 0, 0, 0, 0, 2, 23,165, 48, - 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,152, 47,159, 23, 1, 0, 0, 0, 193, 0, 0, 0, 1, 0, 0, 0, 56, 49,159, 23, 1, 0, 0, 0,248, 45,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1838,12 +1555,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57,254, 40, 1,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,242, 92, 96, - 0, 0, 0,196, 0, 0, 0, 1, 9,242, 93,208, 9,242, 90,240, 9,152,130,240, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, - 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 49,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,216, 50,159, 23, 1, 0, 0, 0, @@ -1856,8 +1567,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254, 43, 1, 58, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 9,242, 93,208, 0, 0, 0,196, 0, 0, 0, 1, 9,242, 95, 64, - 9,242, 92, 96, 9,152,132,160, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,216, 50,159, 23, 1, 0, 0, 0, 193, 0, 0, 0, 1, 0, 0, 0,120, 52,159, 23, 1, 0, 0, 0, 56, 49,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1946,7 +1655,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66,255, 43, 1,154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1963,7 +1671,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102,254, 7, 1,171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 65,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 24, 67,159, 23, 1, 0, 0, 0, 216, 63,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, @@ -2056,30 +1763,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,161,253, 7, 1,158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, - 0, 0, 0, 0, 9,254, 87, 0, 0, 0, 21,255, 0, 0, 0,160, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 9,242,106,192, - 0, 0, 0,197, 0, 0, 0, 1, 11, 29, 7,176, 9,242, 88, 32, 11, 29,191,144, 9,242, 80, 80, 9,242, 80,144, 9,242, 79, 80, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 71, 0, 0, 0, 0, 0, 0, 0,131, 15, 15, 6, 72, 0,132, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 23,133,112, 11, 29, 6,192, 11, 29, 6,192, 11, 29, 4,128, 11, 29, 5,160, 0, 0, 0, 0, 0, 0, 0, 0, - 9,244,136,240, 9,244, 58, 80, 68, 65, 84, 65, 0, 0, 0,248, 11, 29, 4,128, 0, 0, 0,198, 0, 0, 0, 1, 11, 29, 5,160, - 0, 0, 0, 0, 0, 0, 0, 0, 68,140, 32, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,201, 0, 0, 0, 0, 0, 0, - 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 71, 0, 0, 0, 0, 0, 0, 0, 25, 68,200,224, 0, 65,200, 0, 0, 68,200,224, 0, - 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 6, 72, 0, 26, 6, 72, - 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 71, 0, 0, 0, 0, 0, 0, 0, 25, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 72, 0, 26, 0, 6, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,134,192, 9,254, 82,208, 9,254, 82,208, 0, 0, 0, 0, - 0, 0, 0, 0, 9,244, 59, 0, 9,244, 60, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 29, 5,160, - 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 29, 4,128,192, 64, 0, 0, 67,126, 0, 0, 0, 0, 0, 0, 66, 72, 0, 0, -194,103,218, 88, 67,141,147, 40, 0, 0, 0, 0, 66, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 6, 71, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 6, 71, 0, 0, 0, 18, 0, 0, 0,105, - 63,128, 0, 0, 66, 72, 0, 0, 72,146,124, 0, 66, 72, 0, 0, 61,204,204,205, 65, 32, 0, 0, 0, 72, 0, 0, 0, 0, 2, 0, - 0, 4, 4, 0, 0, 8, 6, 72, 0,106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 6, 71, 0, 0, 0, 26, 0, 0, 0,131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 72, 0,106, - 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 23,134, 48, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,244, 61, 16, 9,244, 62,208, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,188, 11, 29, 6,192, 0, 0, 0,173, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 78,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 24, 80,159, 23, 1, 0, 0, 0, 216, 76,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, @@ -2114,7 +1797,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,123,253, 7, 1,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101, 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88, 83,159, 23, 1, 0, 0, 0, 193, 0, 0, 0, 1, 0, 0, 0,248, 84,159, 23, 1, 0, 0, 0,184, 81,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2126,7 +1808,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,253, 7, 1,179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248, 84,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,152, 86,159, 23, 1, 0, 0, 0, @@ -2197,7 +1878,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,254, 7, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184, 94,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 88, 96,159, 23, 1, 0, 0, 0, 24, 93,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 88, 84, 85, 82, 69, 95, @@ -2267,7 +1947,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18,255, 43, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120,104,159, 23, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 24,106,159, 23, 1, 0, 0, 0, 216,102,159, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, @@ -3369,17 +3048,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241,252,143, 0, 9, 1, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 11, 27,154,208, 0, 0, 0,197, 0, 0, 0, 1, 11, 27,162, 32, - 11, 27,152, 0, 11, 29,251,240, 11, 29,252, 48, 11, 29,251,176, 11, 29,251,112, 0, 0, 0, 0, 0, 0, 1, 69, 0, 0, 5, 63, - 0, 0, 1,141, 0, 0, 3,233, 1, 1, 3,251, 2, 93, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 27,161, 0, - 11, 27,161, 0, 11, 27,155, 96, 11, 27,159,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0,248, 11, 27,155, 96, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,156,128, 0, 0, 0, 0, 0, 0, 0, 0, 68,113, 64, 0, - 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,126,192, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,250, - 0, 0, 0, 0, 0, 0, 0, 25, 68,126,128, 0, 65,200, 0, 0, 68,126,128, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 3,251, 0, 26, 3,251, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 69, 0, 0, 5, 63, 0, 0, 1,141, 0, 0, 1,166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3,251, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 8, 77, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,168, 78, 70, 27, 1, 0, 0, 0,104, 75, 70, 27, 1, 0, 0, 0, @@ -3392,13 +3060,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,197,253,143, 0,146, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,248, 11, 27,158,192, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,159,224, 11, 27,157,160, 0, 0, 0, 0, - 67, 52, 0, 0,196,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 35, 0, 0,196,109, 0, 0,195,145,128, 0, 0, 0, 0,163, - 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 2,144, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, - 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 2,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, - 64, 0, 0, 0, 1, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 0,180, 2,145, 0,163, 2,145, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 63, 0, 0, 5, 63, 0, 0, 1,167, 0, 0, 3,233, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 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, 68, 65, 84, 65, 88, 1, 0, 0,168, 78, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 72, 80, 70, 27, 1, 0, 0, 0, 8, 77, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3511,13 +3172,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,252,163, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,178,112, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,177, 80, - 0, 0, 0, 0, 68,239,192, 0, 0, 0, 0, 0, 66, 28, 0, 0, 0, 0, 0, 0, 68,237,192, 0, 0, 0, 0, 0, 66,134, 0, 0, - 0, 0, 7,110, 0, 0, 7,127, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 0, 0, 0, 0, 17, - 0, 0, 0, 0, 0, 0, 7,109, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 2, 2, 0, 0, 0, 1, 3, 3, 0, 2, 4, 0, 0, 10, 7,127, 0, 67, 7,110, 0, 67, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 3,169, 0, 0, 3,235, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,127, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136, 94, 70, 27, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 40, 96, 70, 27, 1, 0, 0, 0,232, 92, 70, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3589,12 +3243,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 27,188, 32, 0, 0, 0,196, 0, 0, 0, 1, - 11, 27,189,144, 11, 27,186,176, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108, -105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108, -105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,110,116,105, 45, 65,108,105, 97,115,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116,239, 79, 63,107, 67, 16,191,164, 29,183,189,148, 67,248,189, 1, 0, 0, 0, 0, 0,128, 63, 14, 80,109, 66, 1, 59, 14, 66,170,147,147, 66, 0, 0, 0, 0, 68, 65, 84, 65, 72, 1, 0, 0, @@ -3617,7 +3265,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,156, 5, 0, 0, 35, 3, 0, 0, 60, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,157, 5, 26, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 136,107, 70, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,108, 70, 27, 1, 0, 0, 0, 24,106, 70, 27, 1, 0, 0, 0, @@ -3648,8 +3295,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 0, 0, 0,156, 5, 0, 0, 0, 0, 0, 0,230, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,173, 4,231, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,242, 1,124, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,104, 0, 0, 0, 216,111, 70, 27, 1, 0, 0, 0,162, 0, 0, 0, 1, 0, 0, 0,104,115, 70, 27, 1, 0, 0, 0,136,104, 70, 27, 1, 0, 0, 0, @@ -5540,28 +5185,7 @@ char datatoc_startup_blend[]= { 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 51, 71, 27, 1, 0, 0, 0, 88, 51, 71, 27, 1, 0, 0, 0, 62, 62, 62, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2,249, 0, 0, 5,239, 0, 0, 1,131, 0, 0, 3,167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2,247, 2, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2,196,226, 32, 68, 65, 84, 65, 0, 0, 3, 68, 2,196,226, 32, 0, 0, 0,156, 0, 0, 0, 1, 63,140, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,193,141, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,191,128, 1, 80,191,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,188,163,215,225, 0, 0, 0, 0, 62,209,239, 68, -190,205,177, 51, 63, 81,158,184, 0, 0, 0, 0, 63,105,119, 70, 62, 70, 74,143,190,185, 44, 35, 0, 0, 0, 0,188, 89, 84,162, - 63,101, 33,166, 62,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193,111,211,214, 63,128, 0, 0, 62,209,239, 69, - 63,105,119, 70,188, 89, 84,176, 0, 0, 0, 0,190,205,177, 53, 62, 70, 74,142, 63,101, 33,166, 0, 0, 0, 0, 63, 81,158,185, -190,185, 44, 35, 62,228, 61, 43, 0, 0, 0, 0, 65, 68, 96,164,192,173,121,111, 64,213,209,248, 63,128, 0, 0, 62,229,157,178, -191, 27,132, 30,191, 81,160,222,191, 81,158,184, 63,127, 90,117, 62,149,235,166, 62,185, 46, 9, 62,185, 44, 35,188,109,180,145, - 63,173, 60,212,190,228, 63,129,190,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 65,111,132, 96, 65,111,211,214, 62,191,236,217, - 63, 85,117, 54,188, 70,246,224,182, 32,160, 0,190,136, 5,252, 62, 3, 33, 43, 63, 23,135,235, 53, 96, 0, 0,196, 25,104,215, - 67,135,132,133,195,167, 9, 37,194, 71,252,136, 68, 25, 54, 3,195,135, 87,158, 67,166,209,205, 66, 71,254,151, 62,209,239, 68, -190,205,177, 51, 63, 81,158,184, 0, 0, 0, 0, 63,105,119, 70, 62, 70, 74,143,190,185, 44, 35, 0, 0, 0, 0,188, 89, 84,162, - 63,101, 33,166, 62,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193,111,211,214, 63,128, 0, 0, 62,229,157,178, -191, 27,132, 30,191, 81,160,222,191, 81,158,184, 63,127, 90,117, 62,149,235,166, 62,185, 46, 9, 62,185, 44, 35,188,109,180,145, - 63,173, 60,212,190,228, 63,129,190,228, 61, 42, 0, 0, 0, 0, 0, 0, 0, 0, 65,111,132, 96, 65,111,211,214, 64, 45, 86, 46, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 45, 86, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 64, 45, 86, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63, 55, 62, 92, -190,224,186, 56,190,148,203,237,190,234,236, 3, 65,111,211,214, 65,111,211,214, 0, 0, 0, 0, 0, 0, 0, 0, 59, 29,227,107, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5598,32 +5222,8 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 11, 27,207,240, 0, 0, 0,197, 0, 0, 0, 1, 11, 27,212,160, 11, 27,200,160, - 11, 31,177, 96, 11, 27,169,192, 11, 27,170, 0, 11, 27,169,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,239, 0, 0, 0, 0, - 0, 0, 1,103, 18, 18, 5,240, 1,104, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 27,211, 16, 11, 27,211, 16, - 11, 27,208,128, 11, 27,209,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, - 11, 27,208,128, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,209,160, 0, 0, 0, 0, 0, 0, 0, 0, 67,160,128, 0, 0, 0, 0, 0, - 65,208, 0, 0, 0, 0, 0, 0, 68,190, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,239, 0, 0, 0, 0, - 0, 0, 0, 25, 68,189,224, 0, 65,200, 0, 0, 68,189,224, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 5,240, 0, 26, 5,240, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 5,239, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5,240, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,209,160, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,208,128, - 0, 0, 0, 0, 68,189,224, 0, 0, 0, 0, 0, 67, 51, 0, 0, 0, 0, 0, 0, 68,187,224, 0, 0, 0, 0, 0, 67,167, 0, 0, - 0, 0, 5,223, 0, 0, 5,240, 0, 0, 0, 0, 0, 0, 1, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 5,222, 0, 0, 0, 0, 0, 0, 1, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 2, 2, 0, 0, 0, 1, 3, 3, 0, 2, 4, 0, 0, 10, 5,240, 1, 78, 5,223, 1, 78, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,239, 0, 0, 0, 26, 0, 0, 1,103, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,240, 1, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 28, 11, 27,210,192, 0, 0, 0,177, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 9,203,102, 96, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 4, 9,203,102, 96, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1,104, - 11, 27,211, 16, 0, 0, 0,178, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 11, 27,210,192, 11, 27,210,192, 62, 62, 62, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 59, 71, 27, 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, @@ -5671,68 +5271,17 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,121,116,104,111,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 8, 0, 0, 4, 8, 68, 65, 84, 65, 0, 0, 0, 96, 11, 27,212,160, - 0, 0, 0,197, 0, 0, 0, 1, 11, 27,217,160, 11, 27,207,240, 11, 27,170,128, 11, 27,169, 64, 11, 27,169, 0, 11, 27,170,192, - 0, 0, 0, 0, 0, 0, 5,241, 0, 0, 7,126, 0, 0, 2,237, 0, 0, 3,167, 3, 3, 1,142, 0,187, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 11, 27,215,112, 11, 27,215,112, 11, 27,213, 48, 11, 27,214, 80, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,213, 48, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,214, 80, - 0, 0, 0, 0, 0, 0, 0, 0, 67,244,128, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 67,199, 0, 0, 0, 0, 0, 0, - 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,141, 0, 0, 0, 0, 0, 0, 0, 25, 67,198,128, 0, 65,200, 0, 0, 67,198,128, 0, - 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 1,142, 0, 26, 1,142, - 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,241, 0, 0, 7,126, 0, 0, 2,237, 0, 0, 3, 6, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,142, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,214, 80, - 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,213, 48, 0, 0, 0, 0, 67,141,128, 0,194,244, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 67,190,128, 0,195, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1,125, 0, 0, 1,142, 0, 0, 0, 18, 0, 0, 0,160, - 0, 0, 0, 0, 0, 0, 1,124, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1,124, 0, 0, 0, 18, 0, 0, 0,160, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 6, 18, 0, 0, 0, 2, 3, 3, - 0, 0, 4, 12, 0, 6, 1,142, 0,161, 1,125, 0,143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,241, - 0, 0, 7,126, 0, 0, 3, 7, 0, 0, 3,167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,142, 0,161, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,244, 11, 27,215,112, 0, 0, 0,166, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 27,216,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 68, 65, 84, 65, 0, 0, 0, 12, 11, 27,216,144, 0, 0, 0,220, 0, 0, 0, 1, 0, 0, 0, 14, - 0, 0, 0, 14, 11, 27,216,208, 68, 65, 84, 65, 0, 0, 0,168, 11, 27,216,208, 0, 0, 0,219, 0, 0, 0, 14, 0, 0, 0, 0, - 0, 0, 0, 1, 2,154,244, 32, 0, 19, 0, 0, 0, 1, 0, 1, 2,154,244, 32, 0, 20, 0, 0, 0, 1, 0, 1, 2,154,244, 32, - 0, 21, 0, 1, 0, 1, 0, 0, 2,154,244, 32, 0, 0, 0, 0, 0, 1, 0, 1, 11, 28, 31,176, 0, 0, 0, 0, 0, 1, 0, 1, - 2,174, 10, 32, 0, 0, 0, 0, 0, 1, 0, 1, 11, 28, 39, 32, 0, 0, 0, 0, 0, 1, 0, 1, 2,187,108, 32, 0, 0, 0, 0, - 0, 1, 0, 1, 11, 28, 37,112, 0, 0, 0, 0, 0, 1, 0, 1, 2,206,150, 32, 0, 0, 0, 0, 0, 1, 0, 1, 11, 28, 28, 64, - 0, 0, 0, 0, 0, 1, 0, 1, 2,212,100, 32, 0, 0, 0, 0, 0, 1, 0, 1, 11, 28, 27,176, 0, 21, 0, 0, 0, 1, 0, 1, - 2,154,244, 32, 68, 65, 84, 65, 0, 0, 0, 96, 11, 27,217,160, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,212,160, - 11, 27,169,192, 11, 27,168,192, 11, 27,171, 0, 11, 27,170, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,247, 0, 0, 1,105, - 0, 0, 3,167, 9, 9, 2,248, 2, 63, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,196,230, 32, 2,196,230, 32, - 11, 27,218, 48, 11, 27,219, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, - 11, 27,218, 48, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,219, 80, 0, 0, 0, 0, 0, 0, 0, 0, 67,230, 0, 0, 0, 0, 0, 0, - 65,208, 0, 0, 0, 0, 0, 0, 68, 62, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,247, 0, 0, 0, 0, - 0, 0, 0, 25, 68, 61,192, 0, 65,200, 0, 0, 68, 61,192, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 2,248, 0, 26, 2,248, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2,247, 0, 0, 1,105, 0, 0, 1,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2,248, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,219, 80, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,218, 48, - 0, 0, 0, 0, 68,189,224, 0, 0, 0, 0, 0, 68, 22,192, 0, 68, 23,150,248, 68,100, 41, 8, 67, 62,224, 46, 67,206, 15,233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2,247, 0, 0, 0, 0, 0, 0, 2, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 60, 35,215, 10, 68,122, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 4, 0, 0, 10, 2,248, 2, 37, 2,248, 2, 37, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,247, 0, 0, 1,131, 0, 0, 3,167, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,248, 2, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 2,136, 2,196,230, 32, 0, 0, 0,169, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 12, 7, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 61,204,204,205, 0, 0, 1,231, 0, 0, 1,243, - 0, 0, 1,122, 0, 0, 1,124, 0, 0, 1,231, 0, 0, 1,243, 0, 0, 0, 4, 0, 0, 1,124, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0,152, 67, 71, 27, 1, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0, @@ -5834,7 +5383,9 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 77, 65, 71, 69, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 73, 77, 65, 71, 69, 95, 80, 84, 95,103,112,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 71,114,101, 97,115,101, 32, 80,101,110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,174,255,202, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5857,101 +5408,15 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0,154,153,153, 62, 0, 0, 0, 0,100, 0, 0, 0,154,153,153, 62,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 0,148, 11, 27,220,208, 0, 0, 0,193, 0, 0, 0, 1, - 11, 27,245, 16, 11, 27,167, 64, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 85, 86, 32, 69,100,105,116,105,110,103, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 27,221,144, 11, 27,223, 80, 11, 27,223,144, - 11, 27,226, 16, 11, 27,226, 80, 11, 27,234,128, 0, 0, 0, 0, 0, 0, 0, 0, 2,154,244, 32, 0, 0, 0, 0, 0, 0, 0, 6, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,221,144, - 0, 0, 0,194, 0, 0, 0, 1, 11, 27,221,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 20, 11, 27,221,208, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,222, 16, 11, 27,221,144, 0, 0, 0, 0, 0, 0, 4, 5, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,222, 16, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,222, 80, 11, 27,221,208, - 0, 0, 0, 0, 7,126, 4, 5, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,222, 80, 0, 0, 0,194, 0, 0, 0, 1, - 11, 27,222,144, 11, 27,222, 16, 0, 0, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,222,144, - 0, 0, 0,194, 0, 0, 0, 1, 11, 27,222,208, 11, 27,222, 80, 0, 0, 0, 0, 0, 0, 3,234, 0, 0, 0, 1, 68, 65, 84, 65, - 0, 0, 0, 20, 11, 27,222,208, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,223, 16, 11, 27,222,144, 0, 0, 0, 0, 7,126, 3,234, - 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,223, 16, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,223, 80, 11, 27,222,208, - 0, 0, 0, 0, 3,200, 3,234, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,223, 80, 0, 0, 0,194, 0, 0, 0, 1, - 0, 0, 0, 0, 11, 27,223, 16, 0, 0, 0, 0, 3,200, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,223,144, - 0, 0, 0,195, 0, 0, 0, 1, 11, 27,223,208, 0, 0, 0, 0, 11, 27,221,208, 11, 27,222, 16, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,223,208, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,224, 16, 11, 27,223,144, 11, 27,221,208, - 11, 27,222,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,224, 16, 0, 0, 0,195, 0, 0, 0, 1, - 11, 27,224, 80, 11, 27,223,208, 11, 27,222, 16, 11, 27,222,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 11, 27,224, 80, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,224,144, 11, 27,224, 16, 11, 27,222,144, 11, 27,222,208, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,224,144, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,224,208, 11, 27,224, 80, - 11, 27,222,144, 11, 27,223, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,224,208, 0, 0, 0,195, - 0, 0, 0, 1, 11, 27,225, 16, 11, 27,224,144, 11, 27,221,144, 11, 27,223, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 11, 27,225, 16, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,225, 80, 11, 27,224,208, 11, 27,221,144, 11, 27,222,144, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,225, 80, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,225,144, - 11, 27,225, 16, 11, 27,223, 16, 11, 27,223, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,225,144, - 0, 0, 0,195, 0, 0, 0, 1, 11, 27,225,208, 11, 27,225, 80, 11, 27,222,208, 11, 27,223, 16, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,225,208, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,226, 16, 11, 27,225,144, 11, 27,222, 80, - 11, 27,223, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,226, 16, 0, 0, 0,195, 0, 0, 0, 1, - 0, 0, 0, 0, 11, 27,225,208, 11, 27,222, 80, 11, 27,222,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, - 11, 27,226, 80, 0, 0, 0,197, 0, 0, 0, 1, 11, 27,229, 32, 0, 0, 0, 0, 11, 27,222,144, 11, 27,221,208, 11, 27,222, 16, - 11, 27,222,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 3,235, 0, 0, 4, 5, 7, 7, 7,127, 0, 27, 0, 1, - 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 11, 27,244,176, 11, 27,244,176, 11, 27,226,224, 11, 27,228, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,226,224, 0, 0, 0,198, 0, 0, 0, 1, - 11, 27,228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,148, 32, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,239,224, 0, - 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 0, 25, 68,239,192, 0, 65,200, 0, 0, - 68,239,192, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 7,127, - 0, 26, 7,127, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 3,235, - 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,127, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, - 11, 27,228, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,226,224, 0, 0, 0, 0, 69,109,240, 0,192,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 69,109,255,255,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,112, 0, 0, 7,129, 0, 0, 0, 18, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 7,111, 0, 0, 0, 18, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 2, 0, 0, - 0, 1, 3, 3, 0, 2, 4, 0, 0, 10, 7,129, 0, 2, 7,112, 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, 4, 5, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 11, 27,229, 32, 0, 0, 0,197, 0, 0, 0, 1, 11, 27,234,128, 11, 27,226, 80, - 11, 27,221,144, 11, 27,222,144, 11, 27,223, 16, 11, 27,223, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,199, 0, 0, 0, 0, - 0, 0, 3,233, 6, 6, 3,200, 3,234, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,234,114, 32, 2,234,114, 32, - 11, 27,229,176, 11, 27,233, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, - 11, 27,229,176, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,230,208, 0, 0, 0, 0, 0, 0, 0, 0, 67,215, 0, 0, 0, 0, 0, 0, - 65,208, 0, 0, 0, 0, 0, 0, 68,114, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,199, 0, 0, 0, 0, - 0, 0, 0, 25, 68,113,192, 0, 65,200, 0, 0, 68,113,192, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 2, 3, 3, 0, 4, 0, 12, 0, 10, 3,200, 0, 26, 3,200, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3,199, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3,200, 0, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,230,208, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,233, 96, 11, 27,229,176, - 0, 0, 0, 0, 67, 91, 0, 0,196,115,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 74,255,254,196,115,255,254, 0, 0, 0, 0, - 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 3,207, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, - 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 3,207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 64, 0, 0, 0, 3, 10, 0, 0, 0, 1, 0, 7, 0, 18, 4, 0, 0, 6, 0,220, 3,208, 0,203, 3,208, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,219, 0, 0, 0, 26, 0, 0, 3,233, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 3,208, 0, 0, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 27,231,240, 11, 27,231,240, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 64, 11, 27,231,240, 0, 0, 0,196, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 77, 65, 71, 69, 95, 80, 84, 95,103,112,101, -110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 77, 65, 71, 69, 95, 80, 84, 95,103,112,101, -110, 99,105,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71,114,101, 97,115,101, 32, 80,101,110, 99,105, -108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,152, 0,202, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,233, 96, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,230,208, - 0, 0, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 67,128, 0, 0,191, 43, 51, 51, 63,213,153,154,191,131, 51, 51, 64, 1,153,154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2,236, 0, 0, 0, 0, 0, 0, 3,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 3,199, 0, 0, 0, 26, 0, 0, 3,233, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,236, 3,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 32,248, 2,234,114, 32, 0, 0, 0,167, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65,240, 0, 0, 0, 0, 0, 0, 62,153,153,154, - 0, 0, 0, 0, 0, 0, 0,100, 62,153,153,154, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6070,6 +5535,8 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6080,7 +5547,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 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,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6272,7 +5738,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248, 96, 71, 27, 1, 0, 0, 0, 195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 95, 71, 27, 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,253,233, 0,143, 1,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6302,22 +5767,10 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0,248, 11, 27,241, 80, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,242,112, 11, 27,238,192, 0, 0, 0, 0, 67, 35, 0, 0, -196,126,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 35, 0, 0,196,126,191,255, 0, 0, 0, 0, 0, 0, 0,163, 0, 0, 0,180, - 0, 0, 0, 18, 0, 0, 4, 12, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, - 0, 0, 0, 18, 0, 0, 4, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, - 0, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 4, 13, 0,163, 3,251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 7,126, 0, 0, 0, 26, 0, 0, 3,233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 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, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,242,112, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, - 11, 27,241, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,105, 0, 0, 7,126, 0, 0, 0, 26, 0, 0, 3,233, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 22, 3,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 1, 0, 0, 24,102, 71, 27, 1, 0, 0, 0, @@ -6420,60 +5873,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 97, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0, 0, 0, 1, 0, 3, 8, 8, 0, 0, 66, 12, 0, 0, 63,128, 0, 0, 61,204,204,205, - 67,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, - 0, 10, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0, 0,148, 11, 27,245, 16, 0, 0, 0,193, - 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,220,208, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 86,105,100,101,111, 32, 69,100,105,116, -105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 27,245,208, 11, 27,248,144, - 11, 27,248,208, 11, 27,253, 16, 11, 27,253, 80, 11, 28, 16,128, 0, 0, 0, 0, 0, 0, 0, 0, 2,154,244, 32, 0, 0, 0, 0, - 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, - 11, 27,245,208, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,246, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,246, 16, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,246, 80, 11, 27,245,208, 0, 0, 0, 0, - 0, 0, 4, 5, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,246, 80, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,246,144, - 11, 27,246, 16, 0, 0, 0, 0, 7,126, 4, 5, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,246,144, 0, 0, 0,194, - 0, 0, 0, 1, 11, 27,246,208, 11, 27,246, 80, 0, 0, 0, 0, 7,126, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, - 11, 27,246,208, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,247, 16, 11, 27,246,144, 0, 0, 0, 0, 0, 0, 3,234, 0, 0, 0, 1, - 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,247, 16, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,247, 80, 11, 27,246,208, 0, 0, 0, 0, - 7,126, 3,234, 0, 0, 0, 1, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,247, 80, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,247,144, - 11, 27,247, 16, 0, 0, 0, 0, 7,126, 1,232, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,247,144, 0, 0, 0,194, - 0, 0, 0, 1, 11, 27,247,208, 11, 27,247, 80, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, - 11, 27,247,208, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,248, 16, 11, 27,247,144, 0, 0, 0, 0, 3, 80, 3,234, 0, 0, 0, 1, - 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,248, 16, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,248, 80, 11, 27,247,208, 0, 0, 0, 0, - 0, 0, 1,232, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,248, 80, 0, 0, 0,194, 0, 0, 0, 1, 11, 27,248,144, - 11, 27,248, 16, 0, 0, 0, 0, 3, 80, 1,232, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 20, 11, 27,248,144, 0, 0, 0,194, - 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,248, 80, 0, 0, 0, 0, 7,126, 0, 92, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 11, 27,248,208, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,249, 16, 0, 0, 0, 0, 11, 27,246, 16, 11, 27,246, 80, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,249, 16, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,249, 80, 11, 27,248,208, - 11, 27,246, 16, 11, 27,246,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,249, 80, 0, 0, 0,195, - 0, 0, 0, 1, 11, 27,249,144, 11, 27,249, 16, 11, 27,246, 80, 11, 27,247, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 11, 27,249,144, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,249,208, 11, 27,249, 80, 11, 27,246,208, 11, 27,247, 16, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,249,208, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,250, 16, - 11, 27,249,144, 11, 27,247, 16, 11, 27,247, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,250, 16, - 0, 0, 0,195, 0, 0, 0, 1, 11, 27,250, 80, 11, 27,249,208, 11, 27,245,208, 11, 27,247,144, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,250, 80, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,250,144, 11, 27,250, 16, 11, 27,246,208, - 11, 27,247,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,250,144, 0, 0, 0,195, 0, 0, 0, 1, - 11, 27,250,208, 11, 27,250, 80, 11, 27,247,144, 11, 27,248, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 11, 27,250,208, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,251, 16, 11, 27,250,144, 11, 27,248, 16, 11, 27,248, 80, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,251, 16, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,251, 80, 11, 27,250,208, - 11, 27,247,208, 11, 27,248, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,251, 80, 0, 0, 0,195, - 0, 0, 0, 1, 11, 27,251,144, 11, 27,251, 16, 11, 27,247, 80, 11, 27,248,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 24, 11, 27,251,144, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,251,208, 11, 27,251, 80, 11, 27,246,144, 11, 27,248,144, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,251,208, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,252, 16, - 11, 27,251,144, 11, 27,247,144, 11, 27,248,144, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,252, 16, - 0, 0, 0,195, 0, 0, 0, 1, 11, 27,252, 80, 11, 27,251,208, 11, 27,245,208, 11, 27,246,144, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,252, 80, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,252,144, 11, 27,252, 16, 11, 27,247, 16, - 11, 27,247,208, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,252,144, 0, 0, 0,195, 0, 0, 0, 1, - 11, 27,252,208, 11, 27,252, 80, 11, 27,247, 80, 11, 27,248, 80, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, - 11, 27,252,208, 0, 0, 0,195, 0, 0, 0, 1, 11, 27,253, 16, 11, 27,252,144, 11, 27,246,208, 11, 27,248, 16, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 24, 11, 27,253, 16, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 11, 27,252,208, - 11, 27,247, 80, 11, 27,248, 16, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 96, 11, 27,253, 80, 0, 0, 0,197, - 0, 0, 0, 1, 11, 28, 0, 32, 0, 0, 0, 0, 11, 27,246,208, 11, 27,246, 16, 11, 27,246, 80, 11, 27,247, 16, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 3,235, 0, 0, 4, 5, 7, 7, 7,127, 0, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, - 0, 0, 0, 0, 11, 28, 22,144, 11, 28, 22,144, 11, 27,253,224, 11, 27,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 27,253,224, 0, 0, 0,198, 0, 0, 0, 1, 11, 27,255, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68,148, 32, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 68,239,224, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 104,121, 71, 27, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 72,126, 71, 27, 1, 0, 0, 0,168,117, 71, 27, 1, 0, 0, 0, @@ -6545,8 +5944,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,171,255,203, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 28, 6,176, 0, 0, 0,198, 0, 0, 0, 1, 11, 28, 7,208, 11, 28, 5,144, -196,112, 0, 0, 68,112, 0, 0,196, 7, 0, 0, 68, 7, 0, 0,196,112, 0, 0, 68,112, 0, 0,196, 7, 0, 0, 68, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,131, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24,133, 71, 27, 1, 0, 0, 0,152,128, 71, 27, 1, 0, 0, 0, 0, 0,112,196, 0, 0,112, 68, 0, 0, 7,196, 0, 0, 7, 68, @@ -6572,8 +5969,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 28, 12,192, - 0, 0, 0,198, 0, 0, 0, 1, 11, 28, 13,224, 11, 28, 11,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6608,24 +6003,7 @@ char datatoc_startup_blend[]= { 232,140, 71, 27, 1, 0, 0, 0, 8,138, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 88, 11, 28, 16, 0, 0, 0, 1, 19, - 0, 0, 0, 1, 2,154,244, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 96, 11, 28, 16,128, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 11, 28, 9,240, 11, 27,248, 80, 11, 27,247,208, - 11, 27,247, 16, 11, 27,247, 80, 0, 0, 0, 0, 0, 0, 3, 81, 0, 0, 7,126, 0, 0, 1,233, 0, 0, 3,233, 8, 8, 4, 46, - 2, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 21,144, 11, 28, 21,144, 11, 28, 17, 16, 11, 28, 20,112, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,248, 11, 28, 17, 16, 0, 0, 0,198, - 0, 0, 0, 1, 11, 28, 18, 48, 0, 0, 0, 0, 0, 0, 0, 0, 67,245, 0, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, - 68,133,192, 0, 0, 0, 0, 0, 65,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 45, 0, 0, 0, 0, 0, 0, 0, 25, 68,133,160, 0, - 65,200, 0, 0, 68,133,160, 0, 65,200, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 0, 4, 0, 12, - 0, 10, 4, 46, 0, 26, 4, 46, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 81, 0, 0, 7,126, - 0, 0, 1,233, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 46, 0, 26, 0, 0, 0, 1, - 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0,248, 11, 28, 18, 48, 0, 0, 0,198, 0, 0, 0, 1, 11, 28, 19, 80, 11, 28, 17, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 3, 0, 0, 75, 3, 0, 0, 43, 2, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6640,15 +6018,11 @@ char datatoc_startup_blend[]= { 217, 0, 0, 0, 75, 3, 0, 0, 43, 2, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 2, 27, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7,126, 0, 0, 7,126, 0, 0, 2, 3, 0, 0, 3,233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 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, 68, 65, 84, 65,240, 0, 0, 0, 88,142, 71, 27, 1, 0, 0, 0,158, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0,216, 11, 28, 21,144, 0, 0, 0,163, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6670,11 +6044,6 @@ char datatoc_startup_blend[]= { 77, 3, 0, 0,118, 7, 0, 0, 17, 2, 0, 0, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 4, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,128, 0, 0, - 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 0, 0, 5, 40, 2,154,244, 32, 0, 0, 0,154, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 83, 99,101,110,101, 0,116, 97,103,101, 0, 97,105,110, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 11, 28, 22,240, 0, 0, 0, 0, 2,212,100, 32, 11, 28, 31,176, - 0, 0, 0, 0, 11, 28, 23,112, 11, 28, 24, 16, 11, 28, 23,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,146, 71, 27, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 184,147, 71, 27, 1, 0, 0, 0,216,144, 71, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6710,44 +6079,8 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63, 76,204,205, 63, 76,204,205, 63, 76,204,205, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 16, 63,128, 0, 0, 63,128, 0, 0, 2,173, 0, 95, 63,217,153,154, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0,180, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 76, 69, 78, - 68, 69, 82, 95, 82, 69, 78, 68, 69, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,172, 68, - 63,128, 0, 0, 67,171,166,102, 63,128, 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, 11, 17, 98, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 31, 35,112, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 65, 28,204,205, 0, 0, 0, 0, 0, 32, 0, 32, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 0, 5, 0, 60, 0, 5, 0, 1, 0, 5, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,128, 1,224, 0, 60, 0, 32, 0, 0, 0, 0, 0, 0, - 0, 4, 0, 1, 0,180, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 7,128, 4, 56, 61,204,204,205, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193, 28,245,195, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 76, 11, 28, 22,240, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 28, 11, 28, 23,112, 0, 0, 0,130, 0, 0, 0, 1, 11, 28, 23,192, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 2,212, 1,226, 2,174, 10, 32, 68, 65, 84, 65, 0, 0, 0, 28, - 11, 28, 23,192, 0, 0, 0,130, 0, 0, 0, 1, 11, 28, 24, 16, 11, 28, 23,112, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 4, 0, - 3,167, 3, 37, 2,206,150, 32, 68, 65, 84, 65, 0, 0, 0, 28, 11, 28, 24, 16, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0, 0, - 11, 28, 23,192, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 4, 0, 0,160, 2, 69, 2,212,100, 32, 68, 65, 84, 65, 0, 0, 1,152, - 11, 28, 24, 96, 0, 0, 0,150, 0, 0, 0, 1, 11, 28, 26, 32, 11, 28, 26,112, 11, 28, 26,192, 63,128, 0, 0, 0, 1, 0, 1, - 63, 76,204,205, 66,180, 0, 0, 0, 9, 0, 1, 63,128, 0, 0, 58,131, 18,111, 61,204,204,205, 0, 0, 0, 1, 0, 32, 0, 32, - 0, 32, 0, 1, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 2,212, 24, 32, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 80, 2, 0, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 5, 0, 5,255,255, 0, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 66, 72, 0, 0, 0, 50, 0, 10, - 0, 0, 0, 0, 0, 0, 0, 0, 66,200, 0, 0, 0, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 66, 72, 0, 0, 0, 50, 0, 10, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 72, 0, 0, 0, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 66, 72, 0, 0, 0, 50, 0, 10, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 72, 0, 0, 0, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 66, 72, 0, 0, 0, 0, 0, 0, - 62,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 60, 35,215, 10, 61,204,204,205, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 61,204,204,205, 61,204,204,205, - 63,166,102,102, 63,192, 0, 0, 65,240, 0, 0, 63,122,225, 72, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 2, 67, 0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 35, 63,121,197,204, - 63, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 36, 11, 28, 26, 32, 0, 0, 0,149, 0, 0, 0, 1, 2,199, 36, 32, 0, 0, 0, 0, -255,255,255,128, 0, 0, 0, 1, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 36, 11, 28, 26,112, 0, 0, 0,149, 0, 0, 0, 1, 2,199, 36, 32, 0, 0, 0, 0,200,200,255,128, 0, 0, 0, 1, - 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 88, 11, 28, 26,192, - 0, 0, 0,148, 0, 0, 0, 1, 2,209, 48, 32, 0, 0, 0, 0,255,100,100,128, 0, 0, 0, 1, 0, 0, 0,128, 0, 0, 0, 1, - 0, 0, 0, 1, 0, 0, 0, 1, 65,231, 7,124, 65, 20, 74,255, 63,123, 86, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 0, 0, 16, 6, 0, 0, 56,106,106, 3, 1, 0, 0, 0, @@ -6779,42 +6112,12 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,116,109,112, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 33, 80, - 68, 65, 84, 65, 0, 0, 0, 32, 11, 28, 33, 80, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 4, 44, 2,212,100, 32, - 0, 0, 0,116, 0, 0, 0, 1, 2,174, 10, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 67, 97,109,101,114, 97, - 0, 97,109,101,114, 97, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,239,101,110, -192,208, 62,150, 64,170,255, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,141,254, 42, 60, 49, 57,192, - 63, 80,159, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 47,149,222, 63, 58, 70, 53,188, 49, 56,222, 0, 0, 0, 0, -190,162,126, 86, 62,159,251,227, 63,101, 53, 55, 0, 0, 0, 0, 63, 39,165, 7,191, 28, 84,149, 62,227,247, 51, 0, 0, 0, 0, - 64,239,101,110,192,208, 62,150, 64,170,255, 78, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 1, 51,128, 0, 1,179, 0, 0, 1, 0, 0, 0, 0, - 51, 0, 0, 0, 63,128, 0, 0, 51,128, 0, 1, 0, 0, 0, 0,179, 0, 0, 2,167, 0, 0, 2, 63,128, 0, 1, 0, 0, 0, 0, - 53, 0, 0, 1, 41, 0, 0, 1,168,128, 0, 1, 63,128, 0, 0, 63, 47,149,221,190,162,126, 86, 63, 39,165, 8, 0, 0, 0, 0, - 63, 58, 70, 51, 62,159,251,225,191, 28, 84,149, 0, 0, 0, 0,188, 49, 56,192, 63,101, 53, 55, 62,227,247, 52, 0, 0, 0, 0, -190,173, 38, 90,190,192,222, 0,193, 52, 9,152, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 5, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 1, - 0, 0, 0, 0, 79, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, -201,150,180, 56, 63,128, 0, 0, 63, 16,225,187, 63,128, 0, 0, 62,204,204,205, 63, 32, 54,237, 0, 0, 0, 0, 61,117,194,143, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 33,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 0, 0, 0,144, 11, 28, 33,160, - 0, 0, 0,119, 0, 0, 0, 1, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,205,204, 76, 63, 205,204, 76, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, @@ -6908,48 +6211,13 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 73, 77, 82,101,110,100,101,114, 32, 82,101,115,117,108,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 2, 0, 0, 0, 68, 79, 66, 0, 0, 0, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, - 0, 0, 0, 0,201,150,180, 56, 63,128, 0, 0, 60,208, 19,169, 63,128, 0, 0, 62,204,204,205, 62, 34,208,229, 0, 0, 0, 0, - 61,117,194,143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 1, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 1, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 34, 96, - 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, 10,124,118,224, - 10,120, 52, 80, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 4, - 9,255, 60,240, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 4, 9,253,121, 96, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,144, 11, 28, 34, 96, 0, 0, 0,119, 0, 0, 0, 1, 0, 0,192, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61,204,204,205, 62, 76,204,205, 60,163,215, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 28, 64, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, - 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,130,112,154, 63,128,178,183, 64,188,236,112, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 38,123,229, 61, 98, 43, 87, 63,238,229,229, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,190,148,236, 54, 63,116,134, 25,189, 98, 13,236, 0, 0, 0, 0,191, 69,102,221,190, 76,174, 57, - 63, 26,194, 34, 0, 0, 0, 0, 63, 16,255, 37, 62, 95,161,241, 63, 75,111,164, 0, 0, 0, 0, 64,130,112,154, 63,128,178,183, - 64,188,236,112, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 50,128, 0, 1,179, 0, 0, 0, 0, 0, 0, 0, 50,128, 0, 1, 63,128, 0, 1, - 51, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 39, 0, 0, 1, 52, 0, 0, 1, - 39,128, 0, 1, 63,128, 0, 0,190,148,236, 54,191, 69,102,221, 63, 16,255, 38, 0, 0, 0, 0, 63,116,134, 24,190, 76,174, 57, - 62, 95,161,239, 0, 0, 0, 0,189, 98, 13,237, 63, 26,194, 35, 63, 75,111,166, 0, 0, 0, 0, 63, 13, 19,209,190,102, 65,241, -192,231, 10, 10, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 79, 66, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0,201,150,180, 56, 63,128, 0, 0, - 60,208, 19,169, 63,128, 0, 0, 62,204,204,205, 62, 34,208,229, 0, 0, 0, 0, 61,117,194,143, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 5, 0, 1, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 5, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, @@ -6966,21 +6234,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,120,168, 71, 27, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 99,121, 99,108,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 11, 28, 37, 32, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63, 26,148,111, 63, 26,148,111, 63, 26,148,111, 61, 76,204,205, 61,204,204,205, 63,166,102,102, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 35,224, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 11, 28, 37,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 0, 32, 11, 28, 37, 32, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 32, - 0, 0, 0, 96, 0, 0, 0, 32, 0, 0, 0, 96, 0, 0, 0, 1, 0, 52, 0, 52, 2,213, 70, 32, 9,237,224, 32, 68, 65, 84, 65, - 0, 0, 16, 0, 2,213, 70, 32, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 0, 0,232, 1, 0, 0, 24,169, 71, 27, 1, 0, 0, 0,126, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 87,111, @@ -6994,14 +6247,8 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 51, 8, 8, 8,153, 11, 11, 11,204, - 13, 13, 13,255, 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, - 9, 9, 9,255, 4, 4, 4,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7,102, 19, 19, 19,204, 27, 27, 27,255, 31, 31, 31,255, 32, 32, 32,255, 33, 33, 33,255, - 33, 33, 33,255, 31, 31, 31,255, 30, 30, 30,255, 27, 27, 27,255, 25, 25, 25,255, 22, 22, 22,255, 19, 19, 19,255, 16, 16, 16,255, - 12, 12, 12,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 4, 4, 4,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,152,182, 71, 27, 1, 0, 0, 0,200,173, 71, 27, 1, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 72,171, 71, 27, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, @@ -7035,9 +6282,6 @@ char datatoc_startup_blend[]= { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0,150, 67, 0, 0, 22, 67, 0, 0, 40, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,134,134,134,255,148,148,148,255,154,154,154,255,155,155,155,255, -154,154,154,255,152,152,152,255,147,147,147,255,142,142,142,255,136,136,136,255,130,130,130,255,122,122,122,255,114,114,114,255, -104,104,104,255, 93, 93, 93,255, 81, 81, 81,255, 54, 54, 54,204, 22, 22, 22,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,241, 55, 2, 1, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0,104,176, 71, 27, 1, 0, 0, 0, 52, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, @@ -9859,19 +9103,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 84, 69, 0, 0, 1, 48, 11, 28, 37,112, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 64,160, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 64, 0, 0, 0, - 64, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 64, 32, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 1, 0, 3, 0, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 60,204,204,205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 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, 11, 28, 38,208, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 32, 11, 28, 38,208, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 32, - 0, 0, 0, 96, 0, 0, 0, 32, 0, 0, 0, 96, 0, 0, 0, 1, 0, 16, 0, 15, 2,215,150, 32, 9,238,128, 32, 68, 65, 84, 65, - 0, 0, 16, 0, 2,215,150, 32, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -9999,8 +9230,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0,144, 0, 9,238,128, 32, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11235,144 +10464,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 77, 69, 0, 0, 1, 24, 11, 28, 39, 32, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 67,117, 98,101, 0,112,104,101,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,253,172, 32, - 11, 28, 46,112, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 41,224, 11, 28, 44, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 40, 96, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 42,176, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 11, 28, 44,240, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 8, 0, 0, 0, 12, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 51,128, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 4, 63,128, 0, 4, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 67, 0, 30, 0, 6, - 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 4, 9,253,172, 32, 0, 0, 0, 0, - 0, 0, 0, 1, 2,187,108, 32, 68, 65, 84, 65, 0, 0, 1, 84, 11, 28, 40, 96, 0, 0, 1, 84, 0, 0, 0, 5, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 41,224, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,160, 11, 28, 41,224, 0, 0, 0, 52, - 0, 0, 0, 8, 63,128, 0, 0, 63,127,255,255,191,128, 0, 0, 73,230, 73,230,182, 26, 1, 0, 63,128, 0, 0,191,128, 0, 0, -191,128, 0, 0, 73,230,182, 26,182, 26, 1, 0,191,128, 0, 1,191,127,255,253,191,128, 0, 0,182, 26,182, 26,182, 26, 1, 0, -191,127,255,250, 63,128, 0, 3,191,128, 0, 0,182, 26, 73,230,182, 26, 1, 0, 63,128, 0, 4, 63,127,255,247, 63,128, 0, 0, - 73,230, 73,230, 73,230, 1, 0, 63,127,255,245,191,128, 0, 5, 63,128, 0, 0, 73,230,182, 26, 73,230, 1, 0,191,128, 0, 3, -191,127,255,250, 63,128, 0, 0,182, 26,182, 26, 73,230, 1, 0,191,127,255,255, 63,128, 0, 0, 63,128, 0, 0,182, 26, 73,230, - 73,230, 1, 0, 68, 65, 84, 65, 0, 0, 1, 84, 11, 28, 42,176, 0, 0, 1, 84, 0, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 28, 44, 48, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,144, 11, 28, 44, 48, 0, 0, 0, 49, 0, 0, 0, 12, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 4, - 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 35, 0, 0, 0, 2, - 0, 0, 0, 3, 0, 0, 0, 35, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0, 35, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 35, - 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 35, 0, 0, 0, 4, 0, 0, 0, 7, 0, 0, 0, 35, 0, 0, 0, 5, 0, 0, 0, 6, - 0, 0, 0, 35, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 35, 68, 65, 84, 65, 0, 0, 1, 84, 11, 28, 44,240, 0, 0, 1, 84, - 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 11, 28, 46,112, 0, 0, 0, 6, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0,241,113, 73, 96, 0, 0, 0, 6, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241,113, 73, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0,120, - 11, 28, 46,112, 0, 0, 0, 48, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 2, - 0, 0, 0, 4, 0, 0, 0, 7, 0, 0, 0, 6, 0, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 5, - 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, - 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 7, - 0, 0, 0, 2, 0, 0, 66, 82, 0, 0, 2,204, 2,216,154, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,216,158, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 65,100,100, 0,104, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 11, 28, 48, 80, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, - 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,216,154,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 48, 80, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, - 61,194,189, 54,191,126,215, 14, 61,194,189, 46, 11, 28, 49,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 49,144, 0, 0, 1, 77, 0, 0, 0, 4, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,216,158, 32, 0, 0, 1, 83, - 0, 0, 0, 1, 2,195, 38, 32, 2,216,154, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,108,111, 98, 0, 48, 48, 49, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 49,240, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, - 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 62,199,174, 20, - 62,199,174, 20, 62,199,174, 20, 62,199,174, 20, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,216,158,108, 0, 0, 0, 24, - 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 49,240, - 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 51, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -11385,42 +10476,53 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, - 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, - 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 16, 2,195, 38,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 51,144, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, 61,194,189, 54,191,126,215, 14, - 61,194,189, 46, 11, 28, 52,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 52,208, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,195, 42, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,153, 66, 32, - 2,195, 38, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, - 0, 0, 0, 0, 11, 28, 53, 48, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -13908,22 +13010,7 @@ char datatoc_startup_blend[]= { 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 54,112, 0, 0, 1, 77, - 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, - 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,153, 66, 32, - 0, 0, 1, 83, 0, 0, 0, 1, 2,153, 70, 32, 2,195, 42, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,108, 97,121, 0, 48, - 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 54,208, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -13951,22 +13038,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 0, 48, 11, 28, 56, 16, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, - 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 66, 82, 0, 0, 2,204, 2,153, 70, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,197,122, 32, 2,153, 66, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 66, 82, 67,108,111,110,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 56,112, - 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, @@ -13991,23 +13062,7 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 51, 51, 51, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, - 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 16, 2,153, 70,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 56,112, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, 61,194,189, 54, -191,126,215, 14, 61,194,189, 46, 11, 28, 57,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, @@ -14041,13 +13096,13 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 72, 41, 72, 27, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, - 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14055,23 +13110,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35, - 0, 4, 6, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 62,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 62,199,174, 20, 62,199,174, 20, - 62,199,174, 20, 62,199,174, 20, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,197,122,108, 0, 0, 0, 24, 0, 0, 0, 1, - 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 58, 16, 0, 0, 1, 79, - 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0,190,175, 97,228, 63,112,131, 50,191,127,243,218,188,157,183, 10, 11, 28, 59, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, @@ -14092,22 +13130,7 @@ char datatoc_startup_blend[]= { 54,189,194, 61, 14,215,126,191, 46,189,194, 61,200, 42, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 59, 80, - 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 63, 64, 0, 0, 61, 35,215, 10, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, - 2,197,126, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,199, 36, 32, 2,197,122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 68, 97, -114,107,101,110, 0, 48, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 59,176, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, @@ -14167,36 +13190,16 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,168, 51, 72, 27, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, - 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 16, 11, 28, 59,176, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, 61,194,189, 54,191,126,215, 14, 61,194,189, 46, - 11, 28, 60,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 60,240, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,199, 36, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,199, 40, 32, 2,197,126, 32, - 0, 20, 1,160, 0, 0, 0, 0, 66, 82, 68,114, 97,119, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 11, 28, 61, 80, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14220,23 +13223,7 @@ char datatoc_startup_blend[]= { 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 40, 53, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 35, 8, 0, 4, 0, 0, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, - 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 62,199,174, 20, 62,199,174, 20, 62,199,174, 20, 62,199,174, 20, - 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,199, 36,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 61, 80, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224, -186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 62,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14258,21 +13245,7 @@ char datatoc_startup_blend[]= { 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 62,144, 0, 0, 1, 77, 0, 0, 0, 4, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,199, 40, 32, 0, 0, 1, 83, - 0, 0, 0, 1, 2,211,232, 32, 2,199, 36, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,105,108,108, 47, 68,101,101,112,101, -110, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 62,240, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14300,13 +13273,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, - 11, 28, 64, 48, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, - 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, - 0, 0, 2,204, 2,211,232, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,211,236, 32, 2,199, 40, 32, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 70,108, 97,116,116,101,110, 47, 67,111,110,116,114, 97,115,116, 0, 48, 48, 49, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 64,144, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, @@ -14332,11 +13298,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, - 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, - 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62,199,174, 20, 62,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 16, 2,211,232,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 35, 0, 0, 0, 4, 6, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, @@ -14358,21 +13319,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 65,208, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,211,236, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,196,250, 32, - 2,211,232, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 71,114, 97, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, - 0, 0, 0, 0, 11, 28, 66, 48, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, @@ -14397,23 +13343,7 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 75, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 62, 76,204,205, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 62,128, 0, 0, 63,128, 0, 0, 62,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,211,236,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 66, 48, 0, 0, 1, 79, 0, 0, 0, 1, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, -191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 67,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, @@ -14434,22 +13364,7 @@ char datatoc_startup_blend[]= { 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61,184, 68, 72, 27, 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, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 67,112, 0, 0, 1, 77, - 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, - 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,196,250, 32, - 0, 0, 1, 83, 0, 0, 0, 1, 2,196,254, 32, 2,211,236, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 73,110,102,108, 97,116, -101, 47, 68,101,102,108, 97,116,101, 0, 48, 48, 49, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 67,208, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14474,22 +13389,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63, 64, 0, 0, - 63, 64, 0, 0, 63, 64, 0, 0, 62,128, 0, 0, 62,128, 0, 0, 62,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,196,250,108, - 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, - 11, 28, 67,208, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, - 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 69, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14534,23 +13433,7 @@ char datatoc_startup_blend[]= { 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, - 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 62,199,174, 20, 62,199,174, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 16, 2,196,254,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 69,112, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46, -191,127,255,224,186,255, 97,114, 11, 28, 70,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14589,13 +13472,13 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,200, 82, 72, 27, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, - 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14603,23 +13486,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 35, - 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,158, 64,108, 0, 0, 0, 24, 0, 0, 0, 1, - 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 71, 16, 0, 0, 1, 79, - 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0,191,126,215, 14, 61,194,189, 54,191,126,215, 14, 61,194,189, 46, 11, 28, 72, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, @@ -14640,22 +13506,7 @@ char datatoc_startup_blend[]= { 46, 95,255,186,224,255,127,191,114, 97,255,186, 72, 84, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 72, 80, - 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, - 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, - 2,158, 68, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,207, 10, 32, 2,158, 64, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 77,105, -120, 0,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 72,176, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, @@ -14715,36 +13566,16 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 40, 93, 72, 27, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, - 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 16, 11, 28, 72,176, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, 61,194,189, 54,191,126,215, 14, 61,194,189, 46, - 11, 28, 73,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 73,240, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,207, 10, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,207, 14, 32, 2,158, 68, 32, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 77,117,108,116,105,112,108,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 11, 28, 74, 80, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14768,23 +13599,7 @@ char datatoc_startup_blend[]= { 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,168, 94, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, - 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,207, 10,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 74, 80, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,126,215, 14, - 61,194,189, 54,191,126,215, 14, 61,194,189, 46, 11, 28, 75,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14806,21 +13621,7 @@ char datatoc_startup_blend[]= { 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 75,144, 0, 0, 1, 77, 0, 0, 0, 4, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,207, 14, 32, 0, 0, 1, 83, - 0, 0, 0, 1, 2,205,210, 32, 2,207, 10, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 78,117,100,103,101, 0, 48, 48, 49, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 75,240, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -14848,13 +13649,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, - 11, 28, 77, 48, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, - 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, - 0, 0, 2,204, 2,205,210, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,205,214, 32, 2,207, 14, 32, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 80,105,110, 99,104, 47, 77, 97,103,110,105,102,121, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 77,144, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, @@ -14880,11 +13674,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, - 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, - 62, 0, 0, 0, 63, 64, 0, 0, 63, 64, 0, 0, 63, 64, 0, 0, 62,128, 0, 0, 62,128, 0, 0, 62,128, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 16, 2,205,210,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, @@ -14906,21 +13695,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 78,208, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,205,214, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,209, 44, 32, - 2,205,210, 32,253, 21,192, 32, 0, 0, 0, 0, 66, 82, 80,111,108,105,115,104, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, - 0, 0, 0, 0, 11, 28, 79, 48, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, @@ -14945,23 +13719,7 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35, 1, 4, 4, 4, - 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62,199,174, 20, 62,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,205,214,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 79, 48, 0, 0, 1, 79, 0, 0, 0, 1, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, -191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 80,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, @@ -14982,22 +13740,7 @@ char datatoc_startup_blend[]= { 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61, 56,110, 72, 27, 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, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 80,112, 0, 0, 1, 77, - 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, - 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,209, 44, 32, - 0, 0, 1, 83, 0, 0, 0, 1, 2,209, 48, 32, 2,205,214, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83, 99,114, 97,112,101, - 47, 80,101, 97,107,115, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 80,208, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15022,22 +13765,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 62,199,174, 20, 62,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,209, 44,108, - 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, - 11, 28, 80,208, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, - 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 82, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15082,23 +13809,7 @@ char datatoc_startup_blend[]= { 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 35, 0, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, - 0, 0, 0, 33, 63, 78,119,160, 63,128, 0, 0, 62,199,174, 20, 62,199,174, 20, 62,199,174, 20, 62,199,174, 20, 63,128, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 16, 2,209, 48,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 82,112, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46, -191,127,255,224,186,255, 97,114, 11, 28, 83,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15137,13 +13848,13 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 72,124, 72, 27, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, - 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15151,23 +13862,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 35, - 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,199,162,108, 0, 0, 0, 24, 0, 0, 0, 1, - 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 84, 16, 0, 0, 1, 79, - 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0,191,126,215, 14, 61,194,189, 54,191,126,215, 14, 61,194,189, 46, 11, 28, 85, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, @@ -15188,22 +13882,7 @@ char datatoc_startup_blend[]= { 46, 95,255,186,224,255,127,191,114, 97,255,186,200,125, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 85, 80, - 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, - 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, - 2,199,166, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,198,174, 32, 2,199,162, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,109, -111,111,116,104, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 85,176, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, @@ -15263,36 +13942,16 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,168,134, 72, 27, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, - 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 16, 11, 28, 85,176, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, - 11, 28, 86,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, + 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 86,240, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,198,174, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,198,178, 32, 2,199,166, 32, - 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,110, 97,107,101, 32, 72,111,111,107, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 11, 28, 87, 80, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15316,23 +13975,7 @@ char datatoc_startup_blend[]= { 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 40,136, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, - 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 62,128, 0, 0, 63,128, 0, 0, 62,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,198,174,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 87, 80, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224, -186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 88,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15354,21 +13997,7 @@ char datatoc_startup_blend[]= { 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 88,144, 0, 0, 1, 77, 0, 0, 0, 4, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,198,178, 32, 0, 0, 1, 83, - 0, 0, 0, 1, 2,212, 20, 32, 2,198,174, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,111,102,116,101,110, 0, 48, 49, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 88,240, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15396,13 +14025,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, - 11, 28, 90, 48, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, - 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, - 0, 0, 2,204, 2,212, 20, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,212, 24, 32, 2,198,178, 32, 0, 0, 0, 0, 0, 0, 0, 0, - 66, 82, 83,117, 98,116,114, 97, 99,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 90,144, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, @@ -15428,11 +14050,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 35, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, - 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, - 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, - 0, 0, 1, 16, 2,212, 20,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, @@ -15454,21 +14071,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 91,208, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 62,128, 0, 0, 63,107,133, 31, 0, 0, 0, 0, 63, 64, 0, 0, 61,163,215, 10, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,212, 24, 32, 0, 0, 1, 83, 0, 0, 0, 1, 2,215,240, 32, - 2,212, 20, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,101,120, 68,114, 97,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, - 0, 0, 0, 0, 11, 28, 92, 48, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, @@ -15493,23 +14095,7 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 35, 8, 0, 4, 4, - 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63, 51, 51, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62,199,174, 20, - 62,199,174, 20, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,212, 24,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 92, 48, 0, 0, 1, 79, 0, 0, 0, 1, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, -191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 93,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, @@ -15530,22 +14116,7 @@ char datatoc_startup_blend[]= { 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,184,151, 72, 27, 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, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 93,112, 0, 0, 1, 77, - 0, 0, 0, 4, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, - 61,117,194,143, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0, 2,204, 2,215,240, 32, - 0, 0, 1, 83, 0, 0, 0, 1, 2,215,244, 32, 2,212, 24, 32, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,104,117,109, 98, 0, - 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 11, 28, 93,208, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15570,22 +14141,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 0, 75, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, 0, 0, 0, 33, 62, 0, 0, 0, 62,128, 0, 0, - 63,128, 0, 0, 62,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 2,215,240,108, - 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, - 11, 28, 93,208, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, - 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46,191,127,255,224,186,255, 97,114, 11, 28, 95, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15630,32 +14185,11 @@ char datatoc_startup_blend[]= { 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 75, 63,102,102,102, 61,204,204,205, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 62,204,204,205, 0, 0, 0, 0, - 0, 0, 0, 33, 62, 0, 0, 0, 62,128, 0, 0, 63,128, 0, 0, 62,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 65, 84, 65, 0, 0, 1, 16, 2,215,244,108, 0, 0, 0, 24, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 62, 76,204,205, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, - 63,128, 0, 0, 68, 65, 84, 65, 0, 0, 1, 16, 11, 28, 95,112, 0, 0, 1, 79, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 0, 4, 0, 0, 67,128, 0, 0, 0, 0, 0, 0, 63,128, 0, 0,191,127,255,224,186,255, 95, 46, -191,127,255,224,186,255, 97,114, 11, 28, 96,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 48, 11, 28, 96,176, 0, 0, 1, 77, 0, 0, 0, 4, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 62,128, 0, 0, 63,112,163,215, 0, 0, 0, 0, 63, 64, 0, 0, 61,117,194,143, 0, 0, 0, 0, - 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 83, 69, 82, 0, 0, 13,144, 1, 89, 96, 32, 0, 0, 0,192, 0, 0, 0, 1, - 1, 17, 8, 33, 0, 0, 6, 63, 0, 0, 0, 5, 47,116,109,112, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, @@ -15676,12 +14210,8 @@ char datatoc_startup_blend[]= { 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61, 24,162, 72, 27, 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, 47, 47, 0, 85,115,101,114,115, 47,116,111,110, 47, 68,101,115,107,116,111,112, - 47, 0, 45,112,111,119,101,114,112, 99, 47, 98,105,110, 47, 98,108,101,110,100,101,114, 46, 97,112,112, 47, 67,111,110,116,101, -110,116,115, 47, 82,101,115,111,117,114, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, @@ -15705,7 +14235,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15844,14 +14373,6 @@ char datatoc_startup_blend[]= { 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 1, 0, 2, 0, 25, 0, 1, 0, 20, 0, 20, 0, 0, 0, 1, 0, 0, 0, 0, - 63, 76,204,205, 63, 76,204,205, 63, 76,204,205, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, -191,100, 90, 30, 62,153,153,154, 63,102,102,102, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 62,254,250, 31, 63, 0, 0, 9, - 63, 25,153,156, 0, 0, 0, 0, 62, 76,204,205, 62, 76,204,205, 62, 76,204,205, 63,128, 0, 0, 63, 22,135, 44, 62,235,133, 32, - 62,125,243,184, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 63, 76, 73,195, 63, 86,135, 42, 63,128, 0, 0, 0, 0, 0, 0, - 61,135, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 62, 93, 47, 16,190,200,180, 58,190, 93, 47, 24, 0, 0, 0, 0, - 0, 14, 0, 1, 0, 25, 0, 15, 0,120, 0, 60, 0, 3, 0, 5, 0, 0, 0,128, 0, 0, 0, 0, 31,144, 0, 15, 0, 6, 0, 25, - 0, 8, 0, 10, 0,200, 0, 0, 0,100, 0,100, 0, 0, 0, 0, 0, 2, 0, 1, 0, 10, 0, 50, 0, 20, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -15877,77 +14398,9 @@ char datatoc_startup_blend[]= { 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,216,182, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, - 0, 2, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 63,128, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, - 63, 0, 0, 0, 63,128, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,128, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 30, 80, 2,234,148, 32, 0, 0, 0,189, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 68,101,102, 97,117,108,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255, -255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255, -255,255,255,255, 0, 1, 0, 15,255,241, 0, 0, 25, 25, 25,255,153,153,153,255,153,153,153,255, 90, 90, 90,255, 0, 0, 0,255, -255,255,255,255, 0, 1, 0, 0, 0, 25, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 86,128,194,255,255,255,255,255,255,255,255,255, - 0, 0, 0,255, 0, 1, 0, 15,255,241, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 70, 70, 70,255,255,255,255,255, 0, 0, 0,255, -255,255,255,255, 0, 1, 0, 15,255,241, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255, -255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,180,180,180,255,153,153,153,255, 90, 90, 90,255, 0, 0, 0,255, -255,255,255,255, 0, 1,255,236, 0, 0, 0, 0, 25, 25, 25,255,180,180,180,255,153,153,153,255,128,128,128,255, 0, 0, 0,255, -255,255,255,255, 0, 1,255,236, 0, 0, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 70, 70, 70,255,255,255,255,255,255,255,255,255, -204,204,204,255, 0, 1, 0, 15,255,241, 0, 0, 0, 0, 0,255, 63, 63, 63,255, 86,128,194,255,255,255,255,255, 0, 0, 0,255, - 0, 0, 0,255, 0, 0, 0, 25,255,236, 0, 0, 0, 0, 0,255, 25, 25, 25,230, 45, 45, 45,230,100,100,100,255,160,160,160,255, -255,255,255,255, 0, 0, 0, 25,255,236, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 86,128,194,255,255,255,255,255,255,255,255,255, - 0, 0, 0,255, 0, 1, 0, 38, 0, 0, 0, 0, 25, 25, 25,255,128,128,128,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255, -255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 50,180, 80, 80, 80,180,100,100,100,180,128,128,128,255, 0, 0, 0,255, -255,255,255,255, 0, 1, 0, 5,255,251, 0, 0, 0, 0, 0,255,190,190,190,255,100,100,100,180, 68, 68, 68,255, 0, 0, 0,255, -255,255,255,255, 0, 0, 0, 5,255,251, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 86,128,194,255, 0, 0, 0,255, 0, 0, 0,255, - 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,115,190, 76,255, 90,166, 51,255,240,235,100,255,215,211, 75,255,180, 0,255,255, -153, 0,230,255, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, - 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,130,130,130,255, - 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255, -241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, - 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60, -255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, - 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255, -240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, - 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, 0, 0, 0, 0, 0, 0, 0,255, -255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40, -255,170, 64,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255, -219, 37, 18,255, 32,255,255,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 32, 0, 0,255, - 0, 32, 0,255, 0, 0,128,255, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, - 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, - 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, @@ -16082,7 +14535,7 @@ char datatoc_startup_blend[]= { 0, 0, 0,255, 0, 0, 0,255, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,115,190, 76,255, 90,166, 51,255,240,235,100,255, 215,211, 75,255,180, 0,255,255,153, 0,230,255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250,250,250,255,250,250,250,255,250,250,250,255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255, 255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255, 255,255,255,255,130,130,130,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, @@ -16124,7 +14577,7 @@ char datatoc_startup_blend[]= { 112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 79,101, 73,255, 135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, 96,192, 64,255, + 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, 144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -16136,9 +14589,9 @@ char datatoc_startup_blend[]= { 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, - 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, 96,192, 64,255,144,144, 0,255,128, 48, 96,255, + 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255, 219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, - 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, @@ -16162,7 +14615,7 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128, 255,140, 0,255, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0, + 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255,255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, @@ -16179,7 +14632,7 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255,255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116,116,116,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 44, 44, 44,255, 255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255, -255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,143,143,143,255,198,119,119,255,255, 0, 0,255, +255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, @@ -16216,7 +14669,7 @@ char datatoc_startup_blend[]= { 0, 0, 0,255, 44, 44, 44,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,143,143,143,255, 198,119,119,255,255, 0, 0,255, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, - 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,255,255,255,219, 37, 18,255,255, 32, 32,255, + 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255, 144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, @@ -16256,7 +14709,7 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, - 0, 0, 0, 0, 0, 0, 0, 0, 96,128,255,255,255,255,255,255, 0,170, 0,255,220, 96, 96,255,220, 96, 96,255, 3, 0, 4, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 155,155,155,160,100,100,100,255,108,105,111,255,104,106,117,255,105,117,110,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100,100,100,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, @@ -16303,8 +14756,6 @@ char datatoc_startup_blend[]= { 0, 0, 0, 0,108,142, 34,255,127,176, 34,255,187,239, 91,255, 0, 0, 0, 0,141,141,141,255,176,176,176,255,222,222,222,255, 0, 0, 0, 0,131, 67, 38,255,139, 88, 17,255,189,106, 17,255, 0, 0, 0, 0, 8, 49, 14,255, 28, 67, 11,255, 52, 98, 43,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 0, 0, 72, 11, 28, 47,128, 0, 0, 0,190, - 0, 0, 0, 1, 11, 28, 97, 16, 11, 28, 47, 16,105,111, 95,115, 99,101,110,101, 95,102, 98,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0,136, 29, 72, 27, 1, 0, 0, 0,187, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, From ba3621566938ba71877128e0628d360565d12b15 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 28 Jun 2011 15:23:30 +0000 Subject: [PATCH 072/241] Cycles: attempt to fix OIIO include path on windows. --- intern/cycles/cmake/external_libs.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake index c3a9e00ca10..dda24961339 100644 --- a/intern/cycles/cmake/external_libs.cmake +++ b/intern/cycles/cmake/external_libs.cmake @@ -36,7 +36,7 @@ ENDIF() # OpenImageIO FIND_LIBRARY(OPENIMAGEIO_LIBRARY NAMES OpenImageIO PATHS ${CYCLES_OIIO}/lib ${CYCLES_OIIO}/dist) -FIND_PATH(OPENIMAGEIO_INCLUDES OpenImageIO/imageio.h ${CYCLES_OIIO}/include ${CYCLES_OIIO}/dist) +FIND_PATH(OPENIMAGEIO_INCLUDES OpenImageIO/imageio.h PATHS ${CYCLES_OIIO}/include ${CYCLES_OIIO}/dist) FIND_PROGRAM(OPENIMAGEIO_IDIFF NAMES idiff PATHS ${CYCLES_OIIO}/bin ${CYCLES_OIIO}/dist) IF(OPENIMAGEIO_INCLUDES AND OPENIMAGEIO_LIBRARY) @@ -76,7 +76,7 @@ IF(WITH_CYCLES_OSL) MESSAGE(STATUS "CYCLES_OSL = ${CYCLES_OSL}") FIND_LIBRARY(OSL_LIBRARIES NAMES oslexec oslcomp oslquery PATHS ${CYCLES_OSL}/lib ${CYCLES_OSL}/dist) - FIND_PATH(OSL_INCLUDES OSL/oslclosure.h ${CYCLES_OSL}/include ${CYCLES_OSL}/dist) + FIND_PATH(OSL_INCLUDES OSL/oslclosure.h PATHS ${CYCLES_OSL}/include ${CYCLES_OSL}/dist) FIND_PROGRAM(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin ${CYCLES_OSL}/dist) IF(OSL_INCLUDES AND OSL_LIBRARIES AND OSL_COMPILER) From b57c87856d6d27f9829d47f0895ab4f86b1c865f Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 29 Jun 2011 19:18:08 +0000 Subject: [PATCH 073/241] Cycles: cmake changes to make win32 use lib/windows for boost and openimageio. --- intern/cycles/cmake/external_libs.cmake | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake index dda24961339..754ea825b31 100644 --- a/intern/cycles/cmake/external_libs.cmake +++ b/intern/cycles/cmake/external_libs.cmake @@ -1,3 +1,18 @@ +########################################################################### +# Windows lib directory libraries + +IF(WIN32) + if(CMAKE_CL_64) + set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/win64) + else() + set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/windows) + endif() + + SET(CYCLES_OIIO ${LIBDIR}/openimageio) + SET(CYCLES_BOOST ${LIBDIR}/boost) + SET(Boost_USE_STATIC_LIBS ON) +ENDIF() + ########################################################################### # Boost setup @@ -11,7 +26,7 @@ SET(Boost_ADDITIONAL_VERSIONS "1.45" "1.44" SET(Boost_USE_MULTITHREADED ON) -FIND_PACKAGE(Boost 1.34 REQUIRED COMPONENTS filesystem regex system serialization thread) +FIND_PACKAGE(Boost 1.34 REQUIRED COMPONENTS filesystem regex system thread) MESSAGE(STATUS "Boost found ${Boost_FOUND}") MESSAGE(STATUS "Boost version ${Boost_VERSION}") From 4ff22bd097e979e07622793d1f44d7419fb73efd Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 30 Jun 2011 14:47:57 +0000 Subject: [PATCH 074/241] Cycles: OS X build system changes to use lib/ openimageio and boost. --- intern/cycles/CMakeLists.txt | 7 +++-- intern/cycles/blender/CMakeLists.txt | 26 ++-------------- intern/cycles/cmake/external_libs.cmake | 40 ++++++++++++++++++++----- 3 files changed, 41 insertions(+), 32 deletions(-) diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index 38be2f62ec4..8f8b431ada5 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -22,9 +22,12 @@ SET(CYCLES_CUDA_MAXREG 24 CACHE STRING "CUDA maximum number of register to use") # Paths +IF(UNIX AND NOT APPLE) + SET(CYCLES_OIIO "" CACHE PATH "Path to OpenImageIO installation") + SET(CYCLES_BOOST "/usr" CACHE PATH "Path to Boost installation") +ENDIF() + SET(CYCLES_OSL "" CACHE PATH "Path to OpenShadingLanguage installation") -SET(CYCLES_OIIO "" CACHE PATH "Path to OpenImageIO installation") -SET(CYCLES_BOOST "/usr" CACHE PATH "Path to Boost installation") SET(CYCLES_CUDA "/usr/local/cuda" CACHE PATH "Path to CUDA installation") SET(CYCLES_OPENCL "" CACHE PATH "Path to OpenCL installation") SET(CYCLES_PARTIO "" CACHE PATH "Path to Partio installation") diff --git a/intern/cycles/blender/CMakeLists.txt b/intern/cycles/blender/CMakeLists.txt index 013c671468e..50cd8502720 100644 --- a/intern/cycles/blender/CMakeLists.txt +++ b/intern/cycles/blender/CMakeLists.txt @@ -87,7 +87,7 @@ IF(WIN32) DESTINATION ${CYCLES_INSTALL_PATH}/cycles) ENDIF() -IF(UNIX) +IF(UNIX AND NOT APPLE) # copy libraries to cycles lib directory SET(install_libs ${OPENIMAGEIO_LIBRARY} @@ -101,27 +101,7 @@ IF(UNIX) INSTALL(FILES ${install_libs} DESTINATION ${CYCLES_INSTALL_PATH}/cycles/lib) - IF(NOT APPLE) - # set path to look for dynamic libs - SET_TARGET_PROPERTIES(cycles_blender PROPERTIES INSTALL_RPATH $ORIGIN/lib) - ELSE() - # modify our libs to looks for dynamic libs in cycles lib directory - SET(install_name_command "install_name_tool") - - FOREACH(lib ${install_libs}) - GET_FILENAME_COMPONENT(libname ${lib} NAME) - SET(install_name_command " ${install_name_command} -change ${lib} @loader_path/lib/${libname}") - SET(install_name_command " ${install_name_command} -change ${libname} @loader_path/lib/${libname}") - ENDFOREACH() - - INSTALL( - CODE - " - EXECUTE_PROCESS(COMMAND ${install_name_command} ${CYCLES_INSTALL_PATH}/cycles/libcycles_blender.so) - " - ) - ELSE() - ENDIF() + # set path to look for dynamic libs + SET_TARGET_PROPERTIES(cycles_blender PROPERTIES INSTALL_RPATH $ORIGIN/lib) ENDIF() - diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake index 754ea825b31..6da71c8235f 100644 --- a/intern/cycles/cmake/external_libs.cmake +++ b/intern/cycles/cmake/external_libs.cmake @@ -1,16 +1,23 @@ ########################################################################### -# Windows lib directory libraries +# Windows and Darwin lib directory libraries IF(WIN32) - if(CMAKE_CL_64) - set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/win64) - else() - set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/windows) - endif() + IF(CMAKE_CL_64) + SET(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/win64) + ELSE() + SET(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/windows) + ENDIF() +ENDIF() +IF(APPLE) + SET(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/darwin-9.x.universal) + SET(OIIO_STATIC ON) +ENDIF() + +IF(LIBDIR) SET(CYCLES_OIIO ${LIBDIR}/openimageio) SET(CYCLES_BOOST ${LIBDIR}/boost) - SET(Boost_USE_STATIC_LIBS ON) + SET(Boost_USE_STATIC_LIBS ON) ENDIF() ########################################################################### @@ -65,6 +72,25 @@ ENDIF() ADD_DEFINITIONS(-DWITH_OIIO) INCLUDE_DIRECTORIES(${OPENIMAGEIO_INCLUDES} ${OPENIMAGEIO_INCLUDES}/OpenImageIO) +IF(OIIO_STATIC) + ADD_DEFINITIONS(-DOIIO_STATIC_BUILD) + + SET(OPENIMAGEIO_LIBRARY + ${OPENIMAGEIO_LIBRARY} + ${PNG_LIBRARIES} + ${JPEG_LIBRARIES} + ${TIFF_LIBRARY} + ${OPENEXR_LIBRARIES} + ${ZLIB_LIBRARIES}) + + LINK_DIRECTORIES( + ${JPEG_LIBPATH} + ${PNG_LIBPATH} + ${TIFF_LIBPATH} + ${OPENEXR_LIBPATH} + ${ZLIB_LIBPATH}) +ENDIF() + ########################################################################### # GLUT From d2c5549f8e17cf5a2e5939ef6728d9391fca576c Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 1 Jul 2011 14:57:48 +0000 Subject: [PATCH 075/241] Cycles: fix crash with image texture nodes (on windows). --- intern/cycles/blender/CMakeLists.txt | 10 ++++++---- .../nodes/intern/SHD_nodes/SHD_tex_environment.c | 2 +- source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/intern/cycles/blender/CMakeLists.txt b/intern/cycles/blender/CMakeLists.txt index 50cd8502720..8d7f2b1504b 100644 --- a/intern/cycles/blender/CMakeLists.txt +++ b/intern/cycles/blender/CMakeLists.txt @@ -66,8 +66,11 @@ ADD_DEPENDENCIES(cycles_blender bf_rna) IF(WIN32) TARGET_LINK_LIBRARIES(cycles_blender ${PYTHON_LINKFLAGS}) - TARGET_LINK_LIBRARIES(cycles_blender debug ${PYTHON_LIBRARIES}_d) - TARGET_LINK_LIBRARIES(cycles_blender optimized ${PYTHON_LIBRARIES}) + + FILE_LIST_SUFFIX(PYTHON_LIBRARIES_DEBUG "${PYTHON_LIBRARIES}" "_d") + TARGET_LINK_LIBRARIES_DEBUG(cycles_blender "${PYTHON_LIBRARIES_DEBUG}") + TARGET_LINK_LIBRARIES_OPTIMIZED(cycles_blender "${PYTHON_LIBRARIES}") + UNSET(PYTHON_LIBRARIES_DEBUG) SET_TARGET_PROPERTIES(cycles_blender PROPERTIES PREFIX "lib") SET_TARGET_PROPERTIES(cycles_blender PROPERTIES SUFFIX ".pyd") @@ -82,8 +85,7 @@ INSTALL(TARGETS cycles_blender LIBRARY DESTINATION ${CYCLES_INSTALL_PATH}/cycles IF(WIN32) FILE(GLOB OIIO_DLLS "${CYCLES_OIIO}/bin/*.dll") - FILE(GLOB BOOST_DLLS "${CYCLES_BOOST}/lib/*.dll") - INSTALL(FILES ${OIIO_DLLS} ${BOOST_DLLS} + INSTALL(FILES ${OIIO_DLLS} DESTINATION ${CYCLES_INSTALL_PATH}/cycles) ENDIF() diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c index bdcc9664a02..d295a899e51 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_environment.c @@ -68,7 +68,7 @@ static void node_shader_exec_tex_environment(void *data, bNode *node, bNodeStack if(ibuf) { float u= (atan2f(vec[1], vec[0]) + (float)M_PI)/(2*M_PI); float v= atan2f(vec[2], hypotf(vec[0], vec[1]))/M_PI + 0.5f; - float rgb[3]; + float rgb[4]; ibuf_sample(ibuf, u, v, 0.0f, 0.0f, rgb); diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c b/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c index 0a8fb0db109..702d2b91e99 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_tex_image.c @@ -66,7 +66,7 @@ static void node_shader_exec_tex_image(void *data, bNode *node, bNodeStack **in, ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL); if(ibuf) { - float rgb[3]; + float rgb[4]; ibuf_sample(ibuf, vec[0], vec[1], 0.0f, 0.0f, rgb); From fe668b14380637216aa2c36e7ea708997f1e9e73 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 8 Jul 2011 11:03:28 +0000 Subject: [PATCH 076/241] Cycles: fix blenderplayer build. --- source/blenderplayer/bad_level_call_stubs/stubs.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/source/blenderplayer/bad_level_call_stubs/stubs.c b/source/blenderplayer/bad_level_call_stubs/stubs.c index 5629f0d9668..81270785650 100644 --- a/source/blenderplayer/bad_level_call_stubs/stubs.c +++ b/source/blenderplayer/bad_level_call_stubs/stubs.c @@ -43,6 +43,7 @@ struct ARegionType; struct Base; struct Brush; struct bNodeTree; +struct bNodeSocket; struct CSG_FaceIteratorDescriptor; struct CSG_VertexIteratorDescriptor; struct ColorBand; @@ -195,6 +196,7 @@ struct ImBuf *ED_space_image_buffer(struct SpaceImage *sima){return (struct ImBu void ED_screen_set_scene(struct bContext *C, struct Scene *scene){} void ED_area_tag_redraw_regiontype(struct ScrArea *sa, int regiontype){} +void ED_render_engine_changed(struct Main *bmain) {} struct PTCacheEdit *PE_get_current(struct Scene *scene, struct Object *ob){return (struct PTCacheEdit *) NULL;} void PE_current_changed(struct Scene *scene, struct Object *ob){} @@ -362,6 +364,10 @@ void uiTemplateHistogram(struct uiLayout *layout, struct PointerRNA *ptr, char * void uiTemplateReportsBanner(struct uiLayout *layout, struct bContext *C, struct wmOperator *op){} void uiTemplateWaveform(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, int expand){} void uiTemplateVectorscope(struct uiLayout *_self, struct PointerRNA *data, char* property, int expand){} +void uiTemplateNodeLink(struct uiLayout *layout, struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *input) {} +void uiTemplateNodeView(struct uiLayout *layout, struct bContext *C, struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *input) {} +void uiTemplateTextureUser(struct uiLayout *layout, struct bContext *C) {} +void uiTemplateTextureShow(struct uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop) {} /* rna render */ struct RenderResult *RE_engine_begin_result(struct RenderEngine *engine, int x, int y, int w, int h){return (struct RenderResult *) NULL;} @@ -369,6 +375,7 @@ struct RenderResult *RE_AcquireResultRead(struct Render *re){return (struct Rend struct RenderResult *RE_AcquireResultWrite(struct Render *re){return (struct RenderResult *) NULL;} struct RenderStats *RE_GetStats(struct Render *re){return (struct RenderStats *) NULL;} void RE_engine_update_result(struct RenderEngine *engine, struct RenderResult *result){} +void RE_engine_update_progress(struct RenderEngine *engine, float progress) {} void RE_engine_end_result(struct RenderEngine *engine, struct RenderResult *result){} void RE_engine_update_stats(struct RenderEngine *engine, char *stats, char *info){} void RE_layer_load_from_file(struct RenderLayer *layer, struct ReportList *reports, char *filename){} @@ -380,6 +387,8 @@ int RE_engine_test_break(struct RenderEngine *engine){return 0;} void RE_engines_init() {} void RE_engines_exit() {} void RE_engine_report(struct RenderEngine *engine, int type, const char *msg) {} +ListBase R_engines = {NULL, NULL}; +void RE_engine_free(struct RenderEngine *engine); /* python */ struct wmOperatorType *WM_operatortype_find(const char *idname, int quiet){return (struct wmOperatorType *) NULL;} From 87c141dabed12be9cde0a6a515217638eedfd454 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 8 Jul 2011 11:19:11 +0000 Subject: [PATCH 077/241] Cycles: another blenderplayer build fix. --- source/blenderplayer/bad_level_call_stubs/stubs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blenderplayer/bad_level_call_stubs/stubs.c b/source/blenderplayer/bad_level_call_stubs/stubs.c index 81270785650..1ef9e7a54e9 100644 --- a/source/blenderplayer/bad_level_call_stubs/stubs.c +++ b/source/blenderplayer/bad_level_call_stubs/stubs.c @@ -388,7 +388,7 @@ void RE_engines_init() {} void RE_engines_exit() {} void RE_engine_report(struct RenderEngine *engine, int type, const char *msg) {} ListBase R_engines = {NULL, NULL}; -void RE_engine_free(struct RenderEngine *engine); +void RE_engine_free(struct RenderEngine *engine) {} /* python */ struct wmOperatorType *WM_operatortype_find(const char *idname, int quiet){return (struct wmOperatorType *) NULL;} From 8318acd1299a44e0b8fd80522993e5367ef2cf07 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 7 Aug 2011 12:01:24 +0000 Subject: [PATCH 078/241] Cycles: remove docs from svn, moved to wiki. --- intern/cycles/CMakeLists.txt | 1 - intern/cycles/doc/CMakeLists.txt | 76 -------------------------------- 2 files changed, 77 deletions(-) diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index 8f8b431ada5..413952e8791 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -12,7 +12,6 @@ OPTION(WITH_CYCLES_BLENDER "Build Blender Python extension" ON) OPTION(WITH_CYCLES_PARTIO "Build with Partio point cloud support (unfinished)" OFF) OPTION(WITH_CYCLES_NETWORK "Build with network rendering support (unfinished)" OFF) OPTION(WITH_CYCLES_MULTI "Build with network rendering support (unfinished)" OFF) -OPTION(WITH_CYCLES_DOCS "Build html documentation" OFF) OPTION(WITH_CYCLES_TEST "Build cycles test application" OFF) # Flags diff --git a/intern/cycles/doc/CMakeLists.txt b/intern/cycles/doc/CMakeLists.txt index 96054f2bed5..584bcc8079c 100644 --- a/intern/cycles/doc/CMakeLists.txt +++ b/intern/cycles/doc/CMakeLists.txt @@ -1,79 +1,3 @@ INSTALL(DIRECTORY license DESTINATION ${CYCLES_INSTALL_PATH}/cycles PATTERN ".svn" EXCLUDE) -SET(doc_sources - index.html - - reference/camera.html - reference/curve.html - reference/devices.html - reference/film.html - reference/index.html - reference/integrator.html - reference/interactive.html - reference/lamp.html - reference/mesh.html - reference/motion_blur.html - reference/particle.html - reference/subdivision.html - reference/world.html - - reference/material/displacement.html - reference/material/index.html - reference/material/surface.html - reference/material/volume.html - - reference/shader/background.html - reference/shader/bsdf.html - reference/shader/color_operations.html - reference/shader/custom.html - reference/shader/emission.html - reference/shader/image_textures.html - reference/shader/index.html - reference/shader/input.html - reference/shader/output.html - reference/shader/procedural_textures.html - reference/shader/vector_operations.html - reference/shader/volume.html - reference/shader/volume_textures.html) - -SET(doc_extra - reference/camera_ortho.svg - reference/camera_persp.svg - reference/material/material.svg - reference/shader/bsdf.svg - style/style.css) - -SET(doc_templates - templates/footer.html - templates/header.html - templates/nodes.html - templates/reference.html) - -IF(WITH_CYCLES_DOCS) - MACRO(install_doc_file source_file html_file) - GET_FILENAME_COMPONENT(subdir ${source_file} PATH) - INSTALL( - FILES ${html_file} - DESTINATION ${CYCLES_INSTALL_PATH}/cycles/doc/${subdir}) - ENDMACRO() - - FOREACH(_file ${doc_sources}) - SET(source_file ${_file}) - SET(html_file ${CMAKE_CURRENT_BINARY_DIR}/${_file}) - ADD_CUSTOM_COMMAND( - OUTPUT ${html_file} - COMMAND python generate.py ${source_file} ${html_file} ${CYCLES_VERSION} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - DEPENDS ${source_file} ${doc_templates} generate.py) - LIST(APPEND html_files ${html_file}) - install_doc_file(${source_file} ${html_file}) - ENDFOREACH() - - FOREACH(_file ${doc_extra}) - install_doc_file(${_file} ${_file}) - ENDFOREACH() - - ADD_CUSTOM_TARGET(cycles_doc ALL DEPENDS ${html_files}) -ENDIF() - From 0f096883f9efdefca528105eef3fefff24666e36 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 8 Aug 2011 13:46:28 +0000 Subject: [PATCH 079/241] Cycles: fix missing update when clearing object transforms. --- source/blender/editors/object/object_transform.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/source/blender/editors/object/object_transform.c b/source/blender/editors/object/object_transform.c index f7c6ff99bde..78f3537bea9 100644 --- a/source/blender/editors/object/object_transform.c +++ b/source/blender/editors/object/object_transform.c @@ -246,7 +246,7 @@ static int object_clear_transform_generic_exec(bContext *C, wmOperator *op, } /* tag for updates */ - ob->recalc |= OB_RECALC_OB; + DAG_id_tag_update(&ob->id, OB_RECALC_OB); } } CTX_DATA_END; @@ -341,7 +341,8 @@ static int object_origin_clear_exec(bContext *C, wmOperator *UNUSED(op)) negate_v3_v3(v3, v1); mul_m3_v3(mat, v3); } - ob->recalc |= OB_RECALC_OB; + + DAG_id_tag_update(&ob->id, OB_RECALC_OB); } CTX_DATA_END; @@ -871,7 +872,7 @@ static int object_origin_set_exec(bContext *C, wmOperator *op) (ob->dup_group==ob_other->dup_group && (ob->transflag|ob_other->transflag) & OB_DUPLIGROUP) ) ) { ob_other->flag |= OB_DONE; - ob_other->recalc= OB_RECALC_OB|OB_RECALC_DATA; + DAG_id_tag_update(&ob_other->id, OB_RECALC_OB|OB_RECALC_DATA); copy_v3_v3(centn, cent); mul_mat3_m4_v3(ob_other->obmat, centn); /* ommit translation part */ @@ -890,11 +891,9 @@ static int object_origin_set_exec(bContext *C, wmOperator *op) } CTX_DATA_END; - for (tob= bmain->object.first; tob; tob= tob->id.next) { - if(tob->data && (((ID *)tob->data)->flag & LIB_DOIT)) { - tob->recalc= OB_RECALC_OB|OB_RECALC_DATA; - } - } + for (tob= bmain->object.first; tob; tob= tob->id.next) + if(tob->data && (((ID *)tob->data)->flag & LIB_DOIT)) + DAG_id_tag_update(&tob->id, OB_RECALC_OB|OB_RECALC_DATA); if (tot_change) { DAG_ids_flush_update(bmain, 0); From 40886b6965062f84a7b3d8b73b79027e2a4e3caf Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 8 Aug 2011 14:08:58 +0000 Subject: [PATCH 080/241] Cycles: fix missing texture space panels. --- intern/cycles/blender/addon/ui.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 4f171a78b99..b4aeaa8e7ab 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -465,16 +465,19 @@ def get_panels(): bpy.types.RENDER_PT_stamp, bpy.types.WORLD_PT_context_world, bpy.types.DATA_PT_context_mesh, + bpy.types.DATA_PT_context_camera, + bpy.types.DATA_PT_context_lamp, + bpy.types.DATA_PT_texture_space, + bpy.types.DATA_PT_curve_texture_space, + bpy.types.DATA_PT_mball_texture_space, bpy.types.DATA_PT_vertex_groups, bpy.types.DATA_PT_shape_keys, bpy.types.DATA_PT_uv_texture, bpy.types.DATA_PT_vertex_colors, - bpy.types.DATA_PT_custom_props_mesh, - bpy.types.DATA_PT_context_camera, bpy.types.DATA_PT_camera, bpy.types.DATA_PT_camera_display, + bpy.types.DATA_PT_custom_props_mesh, bpy.types.DATA_PT_custom_props_camera, - bpy.types.DATA_PT_context_lamp, bpy.types.DATA_PT_custom_props_lamp, bpy.types.TEXTURE_PT_clouds, bpy.types.TEXTURE_PT_wood, From abc601d10ee51aa8de83004094e2e6c73e96e2eb Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 9 Aug 2011 18:53:54 +0000 Subject: [PATCH 081/241] Cycles: opencl 1.1 compatibility tweaks. --- intern/cycles/kernel/kernel_compat_opencl.h | 41 ++++++++++++--------- intern/cycles/kernel/kernel_path.h | 2 +- intern/cycles/kernel/kernel_types.h | 10 ++++- intern/cycles/kernel/svm/svm_light_path.h | 2 +- intern/cycles/util/util_math.h | 4 ++ intern/cycles/util/util_types.h | 4 ++ 6 files changed, 42 insertions(+), 21 deletions(-) diff --git a/intern/cycles/kernel/kernel_compat_opencl.h b/intern/cycles/kernel/kernel_compat_opencl.h index 6ff9340e645..0127093d8ce 100644 --- a/intern/cycles/kernel/kernel_compat_opencl.h +++ b/intern/cycles/kernel/kernel_compat_opencl.h @@ -24,13 +24,14 @@ CCL_NAMESPACE_BEGIN -#pragma OPENCL EXTENSION cl_khr_byte_addressable_store: enable - +/* in opencl all functions are device functions, so leave this empty */ #define __device #define __device_inline +/* no assert in opencl */ #define kernel_assert(cond) +/* manual implementation of interpolated 1D lookup */ __device float kernel_tex_interp_(__global float *data, int width, float x) { x = clamp(x, 0.0f, 1.0f)*width; @@ -42,6 +43,7 @@ __device float kernel_tex_interp_(__global float *data, int width, float x) return (1.0f - t)*data[index] + t*data[nindex]; } +/* make_type definitions with opencl style element initializers */ #ifdef make_float2 #undef make_float2 #endif @@ -62,22 +64,13 @@ __device float kernel_tex_interp_(__global float *data, int width, float x) #endif #define make_float2(x, y) ((float2)(x, y)) -#define make_float3(x, y, z) ((float3)(x, y, z, 0.0f)) +#define make_float3(x, y, z) ((float3)(x, y, z)) #define make_float4(x, y, z, w) ((float4)(x, y, z, w)) #define make_int2(x, y) ((int2)(x, y)) -#define make_int3(x, y, z) ((int3)(x, y, z, 0)) +#define make_int3(x, y, z) ((int3)(x, y, z)) #define make_int4(x, y, z, w) ((int4)(x, y, z, w)) -#ifdef float3 -#undef float3 -#endif -#ifdef int3 -#undef int3 -#endif - -typedef float4 float3; -typedef int4 int3; - +/* math functions */ #define __uint_as_float(x) as_float(x) #define __float_as_uint(x) as_uint(x) #define __int_as_float(x) as_float(x) @@ -88,13 +81,25 @@ typedef int4 int3; #define powf(x, y) pow(((float)x), ((float)y)) #define fabsf(x) fabs(((float)x)) #define copysignf(x, y) copysign(((float)x), ((float)y)) +#define cosf(x) cos(((float)x)) +#define asinf(x) asin(((float)x)) +#define acosf(x) acos(((float)x)) +#define atanf(x) atan(((float)x)) +#define tanf(x) tan(((float)x)) +#define logf(x) log(((float)x)) +#define floorf(x) floor(((float)x)) +#define expf(x) exp(((float)x)) +#define hypotf(x, y) hypot(((float)x), ((float)y)) +#define atan2f(x, y) atan2(((float)x), ((float)y)) +#define fmaxf(x, y) fmax(((float)x), ((float)y)) +#define fminf(x, y) fmin(((float)x), ((float)y)) +/* data lookup defines */ #define kernel_data (*kg->data) -#define kernel_tex_interp(t, x) \ - kernel_tex_interp_(kg->t, kg->t##_width, x) -#define kernel_tex_fetch(t, index) \ - kg->t[index] +#define kernel_tex_interp(t, x) kernel_tex_interp_(kg->t, kg->t##_width, x) +#define kernel_tex_fetch(t, index) kg->t[index] +/* define NULL */ #define NULL 0 #include "util_types.h" diff --git a/intern/cycles/kernel/kernel_path.h b/intern/cycles/kernel/kernel_path.h index 15c7e67f101..47aeea4f5c5 100644 --- a/intern/cycles/kernel/kernel_path.h +++ b/intern/cycles/kernel/kernel_path.h @@ -129,7 +129,7 @@ __device float3 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray L += throughput*shader_eval_background(kg, &sd, path_flag); shader_release(kg, &sd); #else - L += throughputmake_float3(0.8f, 0.8f, 0.8f); + L += make_float3(0.8f, 0.8f, 0.8f); #endif break; } diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index fbe827b1791..992a4d95b54 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -27,6 +27,7 @@ CCL_NAMESPACE_BEGIN #define OBJECT_SIZE 16 +#define __SOBOL__ #define __INSTANCING__ #define __DPDU__ #define __UV__ @@ -34,8 +35,9 @@ CCL_NAMESPACE_BEGIN #define __EMISSION__ #define __CAUSTICS_TRICKS__ #define __SVM__ -#define __SOBOL__ +#ifndef __KERNEL_OPENCL__ #define __TEXTURES__ +#endif #define __RAY_DIFFERENTIALS__ #define __CAMERA_CLIPPING__ #define __INTERSECTION_REFINE__ @@ -286,9 +288,13 @@ typedef struct KernelCamera { /* differentials */ float3 dx; +#ifndef WITH_OPENCL float pad1; +#endif float3 dy; +#ifndef WITH_OPENCL float pad2; +#endif /* clipping */ float nearclip; @@ -321,7 +327,9 @@ typedef struct KernelSunSky { /* sun direction in spherical and cartesian */ float theta, phi, pad3, pad4; float3 dir; +#ifndef WITH_OPENCL float pad; +#endif /* perez function parameters */ float zenith_Y, zenith_x, zenith_y, pad2; diff --git a/intern/cycles/kernel/svm/svm_light_path.h b/intern/cycles/kernel/svm/svm_light_path.h index a4a461f9590..d6413d1569e 100644 --- a/intern/cycles/kernel/svm/svm_light_path.h +++ b/intern/cycles/kernel/svm/svm_light_path.h @@ -34,7 +34,7 @@ __device void svm_node_light_path(ShaderData *sd, float *stack, uint type, uint case NODE_LP_backfacing: info = (sd->flag & SD_BACKFACING)? 1.0f: 0.0f; break; } - stack_store_float(stack, out_offset, info? 1.0f: 0.0f); + stack_store_float(stack, out_offset, info); } CCL_NAMESPACE_END diff --git a/intern/cycles/util/util_math.h b/intern/cycles/util/util_math.h index 1bb3f5b6097..c435a9e17b8 100644 --- a/intern/cycles/util/util_math.h +++ b/intern/cycles/util/util_math.h @@ -38,12 +38,16 @@ CCL_NAMESPACE_BEGIN +#ifndef __KERNEL_OPENCL__ + #define M_PI_F ((float)3.14159265358979323846264338327950288) #define M_PI_2_F ((float)1.57079632679489661923132169163975144) #define M_PI_4_F ((float)0.785398163397448309615660845819875721) #define M_1_PI_F ((float)0.318309886183790671537767526745028724) #define M_2_PI_F ((float)0.636619772367581343075535053490057448) +#endif + /* Scalar */ #ifdef _WIN32 diff --git a/intern/cycles/util/util_types.h b/intern/cycles/util/util_types.h index 02ab59a261f..12ae60f1143 100644 --- a/intern/cycles/util/util_types.h +++ b/intern/cycles/util/util_types.h @@ -70,9 +70,13 @@ CCL_NAMESPACE_BEGIN /* Shorter Unsigned Names */ +#ifndef __KERNEL_OPENCL__ + typedef unsigned char uchar; typedef unsigned int uint; +#endif + #ifndef __KERNEL_GPU__ /* Fixed Bits Types */ From b98ccf699878d70b7cbfdd7863440c34326a5569 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 10 Aug 2011 14:26:51 +0000 Subject: [PATCH 082/241] Cycles: amd opencl compatibility fixes. --- intern/cycles/kernel/kernel.cl | 1 - intern/cycles/kernel/kernel_shader.h | 4 ++++ intern/cycles/kernel/svm/bsdf_ward.h | 4 +--- intern/cycles/kernel/svm/svm_math.h | 11 ++++++++--- intern/cycles/kernel/svm/svm_texture.h | 6 +++--- 5 files changed, 16 insertions(+), 10 deletions(-) diff --git a/intern/cycles/kernel/kernel.cl b/intern/cycles/kernel/kernel.cl index e1a9b3a0696..007a5f6de6a 100644 --- a/intern/cycles/kernel/kernel.cl +++ b/intern/cycles/kernel/kernel.cl @@ -51,7 +51,6 @@ __kernel void kernel_ocl_path_trace( int x = sx + get_global_id(0); int y = sy + get_global_id(1); - int w = kernel_data.cam.width; if(x < sx + sw && y < sy + sh) kernel_path_trace(kg, buffer, rng_state, pass, x, y); diff --git a/intern/cycles/kernel/kernel_shader.h b/intern/cycles/kernel/kernel_shader.h index f1abbda7ae5..c4fc65596b2 100644 --- a/intern/cycles/kernel/kernel_shader.h +++ b/intern/cycles/kernel/kernel_shader.h @@ -140,14 +140,18 @@ __device void shader_setup_from_sample(KernelGlobals *kg, ShaderData *sd, #endif /* detect instancing, for non-instanced the object index is -object-1 */ +#ifdef __INSTANCING__ bool instanced = false; if(sd->prim != ~0) { if(sd->object >= 0) instanced = true; else +#endif sd->object = -sd->object-1; +#ifdef __INSTANCING__ } +#endif /* smooth normal */ if(sd->shader < 0) { diff --git a/intern/cycles/kernel/svm/bsdf_ward.h b/intern/cycles/kernel/svm/bsdf_ward.h index 9f857b32468..c54418afa77 100644 --- a/intern/cycles/kernel/svm/bsdf_ward.h +++ b/intern/cycles/kernel/svm/bsdf_ward.h @@ -166,9 +166,7 @@ __device int bsdf_ward_sample(const ShaderData *sd, float randu, float randv, fl h = h.x * X + h.y * Y + h.z * m_N; // generate the final sample float oh = dot(h, sd->I); - omega_in->x = 2 * oh * h.x - sd->I.x; - omega_in->y = 2 * oh * h.y - sd->I.y; - omega_in->z = 2 * oh * h.z - sd->I.z; + *omega_in = 2.0f * oh * h - sd->I; if(dot(sd->Ng, *omega_in) > 0) { float cosNI = dot(m_N, *omega_in); if(cosNI > 0) { diff --git a/intern/cycles/kernel/svm/svm_math.h b/intern/cycles/kernel/svm/svm_math.h index 401bd22b45a..bc2f774097e 100644 --- a/intern/cycles/kernel/svm/svm_math.h +++ b/intern/cycles/kernel/svm/svm_math.h @@ -21,7 +21,7 @@ CCL_NAMESPACE_BEGIN __device float safe_asinf(float a) { if(a <= -1.0f) - return -M_PI_2; + return -M_PI_2_F; else if(a >= 1.0f) return M_PI_2_F; @@ -114,15 +114,20 @@ __device float svm_math(NodeMath type, float Fac1, float Fac2) return Fac; } +__device float average_fac(float3 v) +{ + return (fabsf(v.x) + fabsf(v.y) + fabsf(v.z))/3.0f; +} + __device void svm_vector_math(float *Fac, float3 *Vector, NodeVectorMath type, float3 Vector1, float3 Vector2) { if(type == NODE_VECTOR_MATH_ADD) { *Vector = Vector1 + Vector2; - *Fac = (fabsf(Vector->x) + fabsf(Vector->y) + fabsf(Vector->z))/3.0f; + *Fac = average_fac(*Vector); } else if(type == NODE_VECTOR_MATH_SUBTRACT) { *Vector = Vector1 - Vector2; - *Fac = (fabsf(Vector->x) + fabsf(Vector->y) + fabsf(Vector->z))/3.0f; + *Fac = average_fac(*Vector); } else if(type == NODE_VECTOR_MATH_AVERAGE) { *Fac = len(Vector1 + Vector2); diff --git a/intern/cycles/kernel/svm/svm_texture.h b/intern/cycles/kernel/svm/svm_texture.h index d4765cca384..0bf0cf8c2cd 100644 --- a/intern/cycles/kernel/svm/svm_texture.h +++ b/intern/cycles/kernel/svm/svm_texture.h @@ -194,15 +194,15 @@ __device float noise_wave(NodeWaveType wave, float a) return 0.5f + 0.5f*sin(a); } else if(wave == NODE_WAVE_SAW) { - float b = 2*M_PI; + float b = 2.0f*M_PI_F; int n = (int)(a / b); a -= n*b; - if(a < 0) a += b; + if(a < 0.0f) a += b; return a / b; } else if(wave == NODE_WAVE_TRI) { - float b = 2*M_PI; + float b = 2.0f*M_PI_F; float rmax = 1.0f; return rmax - 2.0f*fabsf(floorf((a*(1.0f/b))+0.5f) - (a*(1.0f/b))); From 18d709022e3ad2208382157a566095c406504d24 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 10 Aug 2011 19:45:08 +0000 Subject: [PATCH 083/241] Cycles: clang build fixes. --- intern/cycles/bvh/bvh.h | 1 + intern/cycles/bvh/bvh_node.h | 1 + intern/cycles/device/device_multi.cpp | 2 +- intern/cycles/subd/subd_patch.h | 1 + intern/cycles/util/util_vector.h | 1 + 5 files changed, 5 insertions(+), 1 deletion(-) diff --git a/intern/cycles/bvh/bvh.h b/intern/cycles/bvh/bvh.h index 6b877594422..79e46d6a13c 100644 --- a/intern/cycles/bvh/bvh.h +++ b/intern/cycles/bvh/bvh.h @@ -83,6 +83,7 @@ public: vector objects; static BVH *create(const BVHParams& params, const vector& objects); + virtual ~BVH() {} void build(Progress& progress); void refit(Progress& progress); diff --git a/intern/cycles/bvh/bvh_node.h b/intern/cycles/bvh/bvh_node.h index d83c006b93d..f8f0ffecd95 100644 --- a/intern/cycles/bvh/bvh_node.h +++ b/intern/cycles/bvh/bvh_node.h @@ -42,6 +42,7 @@ public: { } + virtual ~BVHNode() {} virtual bool is_leaf() const = 0; virtual int num_children() const = 0; virtual BVHNode *get_child(int i) const = 0; diff --git a/intern/cycles/device/device_multi.cpp b/intern/cycles/device/device_multi.cpp index 26c9717233a..e48df93737d 100644 --- a/intern/cycles/device/device_multi.cpp +++ b/intern/cycles/device/device_multi.cpp @@ -244,7 +244,7 @@ public: mem.device_pointer = tmp; } - void draw_pixels(device_memory& rgba, int x, int y, int w, int h, int width, int height) + void draw_pixels(device_memory& rgba, int y, int w, int h, int width, int height) { device_ptr tmp = rgba.device_pointer; int i = 0, sub_h = h/devices.size(); diff --git a/intern/cycles/subd/subd_patch.h b/intern/cycles/subd/subd_patch.h index 8d4b8a1c911..ac2317f4359 100644 --- a/intern/cycles/subd/subd_patch.h +++ b/intern/cycles/subd/subd_patch.h @@ -30,6 +30,7 @@ class Mesh; class Patch { public: + virtual ~Patch() {} virtual void eval(float3 *P, float3 *dPdu, float3 *dPdv, float u, float v) = 0; virtual bool is_triangle() = 0; virtual BoundBox bound() = 0; diff --git a/intern/cycles/util/util_vector.h b/intern/cycles/util/util_vector.h index fb872936e3f..931ad272612 100644 --- a/intern/cycles/util/util_vector.h +++ b/intern/cycles/util/util_vector.h @@ -21,6 +21,7 @@ /* Vector */ +#include #include CCL_NAMESPACE_BEGIN From 6686f189480c4de3e91f49a76811bf006ed9f9b2 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 11 Aug 2011 12:36:08 +0000 Subject: [PATCH 084/241] Cycles: more opencl tweaks, status is: * kernel has shading nodes / textures disabled, amd/nvidia opencl compilers choke on these, need to figure out how to avoid this * works in cycles_test, not available as option in blender yet * kernel compiles and runs with opencl 1.1 from intel/amd/nvidia --- intern/cycles/app/cycles_test.cpp | 2 +- intern/cycles/device/device_opencl.cpp | 45 ++++++++++++--------- intern/cycles/kernel/CMakeLists.txt | 18 ++++++--- intern/cycles/kernel/kernel_compat_opencl.h | 7 ++-- intern/cycles/kernel/kernel_types.h | 2 +- 5 files changed, 44 insertions(+), 30 deletions(-) diff --git a/intern/cycles/app/cycles_test.cpp b/intern/cycles/app/cycles_test.cpp index 2603458f088..698974b6277 100644 --- a/intern/cycles/app/cycles_test.cpp +++ b/intern/cycles/app/cycles_test.cpp @@ -284,7 +284,7 @@ using namespace ccl; int main(int argc, const char **argv) { - path_init(); + path_init("../blender/intern/cycles"); options_parse(argc, argv); diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp index ef416dfb8dc..34c92986f46 100644 --- a/intern/cycles/device/device_opencl.cpp +++ b/intern/cycles/device/device_opencl.cpp @@ -45,7 +45,7 @@ CCL_NAMESPACE_BEGIN class OpenCLDevice : public Device { public: - cl_context cxGPUContext; + cl_context cxContext; cl_command_queue cqCommandQueue; cl_platform_id cpPlatform; cl_device_id cdDevice; @@ -121,18 +121,27 @@ public: OpenCLDevice(bool background_) { background = background_; + vector platform_ids; + cl_uint num_platforms; /* setup device */ - ciErr = clGetPlatformIDs(1, &cpPlatform, NULL); + ciErr = clGetPlatformIDs(0, NULL, &num_platforms); + opencl_assert(ciErr); + assert(num_platforms != 0); + + platform_ids.resize(num_platforms); + ciErr = clGetPlatformIDs(num_platforms, &platform_ids[0], NULL); opencl_assert(ciErr); - ciErr = clGetDeviceIDs(cpPlatform, CL_DEVICE_TYPE_CPU, 1, &cdDevice, NULL); + cpPlatform = platform_ids[0]; /* todo: pick specified platform && device */ + + ciErr = clGetDeviceIDs(cpPlatform, CL_DEVICE_TYPE_ALL, 1, &cdDevice, NULL); opencl_assert(ciErr); - cxGPUContext = clCreateContext(0, 1, &cdDevice, NULL, NULL, &ciErr); + cxContext = clCreateContext(0, 1, &cdDevice, NULL, NULL, &ciErr); opencl_assert(ciErr); - cqCommandQueue = clCreateCommandQueue(cxGPUContext, cdDevice, 0, &ciErr); + cqCommandQueue = clCreateCommandQueue(cxContext, cdDevice, 0, &ciErr); opencl_assert(ciErr); /* compile kernel */ @@ -141,15 +150,11 @@ public: string build_options = ""; - //string csource = "../blender/intern/cycles"; - //build_options += "-I " + csource + "/kernel -I " + csource + "/util"; + string csource = "../blender/intern/cycles"; + build_options += "-I " + path_get("kernel") + " -I " + path_get("util"); /* todo: escape path */ + build_options += " -Werror -cl-fast-relaxed-math -cl-strict-aliasing"; - build_options += " -I " + path_get("kernel"); /* todo: escape path */ - - build_options += " -Werror"; - build_options += " -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END="; - - cpProgram = clCreateProgramWithSource(cxGPUContext, 1, (const char **)&source, &source_len, &ciErr); + cpProgram = clCreateProgramWithSource(cxContext, 1, (const char **)&source, &source_len, &ciErr); opencl_assert(ciErr); @@ -178,7 +183,7 @@ public: ckFilmConvertKernel = clCreateKernel(cpProgram, "kernel_ocl_tonemap", &ciErr); opencl_assert(ciErr); - null_mem = (device_ptr)clCreateBuffer(cxGPUContext, CL_MEM_READ_ONLY, 1, NULL, &ciErr); + null_mem = (device_ptr)clCreateBuffer(cxContext, CL_MEM_READ_ONLY, 1, NULL, &ciErr); } ~OpenCLDevice() @@ -196,7 +201,7 @@ public: clReleaseKernel(ckFilmConvertKernel); clReleaseProgram(cpProgram); clReleaseCommandQueue(cqCommandQueue); - clReleaseContext(cxGPUContext); + clReleaseContext(cxContext); } string description() @@ -213,11 +218,11 @@ public: size_t size = mem.memory_size(); if(type == MEM_READ_ONLY) - mem.device_pointer = (device_ptr)clCreateBuffer(cxGPUContext, CL_MEM_READ_ONLY, size, NULL, &ciErr); + mem.device_pointer = (device_ptr)clCreateBuffer(cxContext, CL_MEM_READ_ONLY, size, NULL, &ciErr); else if(type == MEM_WRITE_ONLY) - mem.device_pointer = (device_ptr)clCreateBuffer(cxGPUContext, CL_MEM_WRITE_ONLY, size, NULL, &ciErr); + mem.device_pointer = (device_ptr)clCreateBuffer(cxContext, CL_MEM_WRITE_ONLY, size, NULL, &ciErr); else - mem.device_pointer = (device_ptr)clCreateBuffer(cxGPUContext, CL_MEM_READ_WRITE, size, NULL, &ciErr); + mem.device_pointer = (device_ptr)clCreateBuffer(cxContext, CL_MEM_READ_WRITE, size, NULL, &ciErr); opencl_assert(ciErr); } @@ -321,7 +326,7 @@ public: opencl_assert(ciErr); - size_t local_size[2] = {1, 1}; + size_t local_size[2] = {8, 8}; size_t global_size[2] = {global_size_round_up(local_size[0], d_w), global_size_round_up(local_size[1], d_h)}; /* run kernel */ @@ -389,7 +394,7 @@ public: opencl_assert(ciErr); - size_t local_size[2] = {1, 1}; + size_t local_size[2] = {8, 8}; size_t global_size[2] = {global_size_round_up(local_size[0], d_w), global_size_round_up(local_size[1], d_h)}; /* run kernel */ diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt index bc1f8bd40a5..b6d758369cc 100644 --- a/intern/cycles/kernel/CMakeLists.txt +++ b/intern/cycles/kernel/CMakeLists.txt @@ -72,6 +72,12 @@ SET(svm_headers svm/volume.h ) +SET(util_headers + ../util/util_color.h + ../util/util_math.h + ../util/util_transform.h + ../util/util_types.h) + # CUDA module IF("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") @@ -118,11 +124,13 @@ ENDIF() # OPENCL kernel IF(WITH_CYCLES_OPENCL) - SET(util_headers - ../util/util_color.h - ../util/util_math.h - ../util/util_transform.h - ../util/util_types.h) + #SET(kernel_preprocessed ${CMAKE_CURRENT_BINARY_DIR}/kernel_preprocessed.cl) + #ADD_CUSTOM_COMMAND( + # OUTPUT ${kernel_preprocessed} + # COMMAND gcc -x c++ -E ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cl -I ${CMAKE_CURRENT_SOURCE_DIR}/../util/ -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= -DWITH_OPENCL -o ${kernel_preprocessed} + # DEPENDS ${kernel_sources} ${util_headers}) + #ADD_CUSTOM_TARGET(cycles_kernel_preprocess ALL DEPENDS ${kernel_preprocessed}) + #INSTALL(FILES ${kernel_preprocessed} DESTINATION ${CYCLES_INSTALL_PATH}/cycles/kernel) INSTALL(FILES kernel.cl ${headers} DESTINATION ${CYCLES_INSTALL_PATH}/cycles/kernel) INSTALL(FILES ${svm_headers} DESTINATION ${CYCLES_INSTALL_PATH}/cycles/kernel/svm) diff --git a/intern/cycles/kernel/kernel_compat_opencl.h b/intern/cycles/kernel/kernel_compat_opencl.h index 0127093d8ce..3d493c61fe4 100644 --- a/intern/cycles/kernel/kernel_compat_opencl.h +++ b/intern/cycles/kernel/kernel_compat_opencl.h @@ -22,7 +22,10 @@ #define __KERNEL_GPU__ #define __KERNEL_OPENCL__ -CCL_NAMESPACE_BEGIN +/* no namespaces in opencl */ +#define CCL_NAMESPACE_BEGIN +#define CCL_NAMESPACE_END +#define WITH_OPENCL /* in opencl all functions are device functions, so leave this empty */ #define __device @@ -104,7 +107,5 @@ __device float kernel_tex_interp_(__global float *data, int width, float x) #include "util_types.h" -CCL_NAMESPACE_END - #endif /* __KERNEL_COMPAT_OPENCL_H__ */ diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index 992a4d95b54..c0cb3fc8a09 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -34,8 +34,8 @@ CCL_NAMESPACE_BEGIN #define __BACKGROUND__ #define __EMISSION__ #define __CAUSTICS_TRICKS__ -#define __SVM__ #ifndef __KERNEL_OPENCL__ +#define __SVM__ #define __TEXTURES__ #endif #define __RAY_DIFFERENTIALS__ From b4343da77fb32c370e087ed71dd14d73178e0dba Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 11 Aug 2011 16:48:13 +0000 Subject: [PATCH 085/241] Cycles: fix missing update when removing or hiding objects. --- intern/cycles/blender/blender_sync.cpp | 4 ++++ source/blender/blenkernel/BKE_depsgraph.h | 1 + source/blender/blenkernel/intern/depsgraph.c | 7 ++++++- source/blender/editors/object/object_add.c | 1 + source/blender/editors/object/object_edit.c | 2 ++ source/blender/makesrna/intern/rna_main_api.c | 8 ++++++++ 6 files changed, 22 insertions(+), 1 deletion(-) diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index 1bf85f13fca..1897ff13a64 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -60,6 +60,9 @@ BlenderSync::~BlenderSync() bool BlenderSync::sync_recalc() { + /* sync recalc flags from blender to cycles. actual update is done separate, + so we can do it later on if doing it immediate is not suitable */ + BL::BlendData::materials_iterator b_mat; for(b_mat = b_data.materials.begin(); b_mat != b_data.materials.end(); ++b_mat) @@ -104,6 +107,7 @@ bool BlenderSync::sync_recalc() object_map.has_recalc() || light_map.has_recalc() || mesh_map.has_recalc() || + BlendDataObjects_recalc_get(&b_data.ptr) || world_recalc; return recalc; diff --git a/source/blender/blenkernel/BKE_depsgraph.h b/source/blender/blenkernel/BKE_depsgraph.h index f3a9e874152..9cbbcd8104a 100644 --- a/source/blender/blenkernel/BKE_depsgraph.h +++ b/source/blender/blenkernel/BKE_depsgraph.h @@ -126,6 +126,7 @@ void DAG_ids_flush_tagged(struct Main *bmain); void DAG_ids_check_recalc(struct Main *bmain); void DAG_ids_clear_recalc(struct Main *bmain); /* test if any of this id type is tagged for update */ +void DAG_id_type_tag(struct Main *bmain, short idtype); int DAG_id_type_tagged(struct Main *bmain, short idtype); /* (re)-create dependency graph for armature pose */ diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c index 096307f1df9..13a84e0452f 100644 --- a/source/blender/blenkernel/intern/depsgraph.c +++ b/source/blender/blenkernel/intern/depsgraph.c @@ -2366,7 +2366,7 @@ void DAG_on_visible_update(Main *bmain, const short do_time) } /* hack to get objects updating on layer changes */ - bmain->id_tag_update['O'] = 1; + DAG_id_type_tag(bmain, ID_OB); } static void dag_id_flush_update__isDependentTexture(void *userData, Object *UNUSED(ob), ID **idpoin) @@ -2614,6 +2614,11 @@ void DAG_id_tag_update(ID *id, short flag) } } +void DAG_id_type_tag(struct Main *bmain, short idtype) +{ + bmain->id_tag_update[((char*)&idtype)[0]] = 1; +} + int DAG_id_type_tagged(Main *bmain, short idtype) { return bmain->id_tag_update[((char*)&idtype)[0]]; diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c index 5f398361734..fdb1b9dc549 100644 --- a/source/blender/editors/object/object_add.c +++ b/source/blender/editors/object/object_add.c @@ -803,6 +803,7 @@ void OBJECT_OT_group_instance_add(wmOperatorType *ot) /* note: now unlinks constraints as well */ void ED_base_object_free_and_unlink(Main *bmain, Scene *scene, Base *base) { + DAG_id_type_tag(bmain, ID_OB); BLI_remlink(&scene->base, base); free_libblock_us(&bmain->object, base->object); if(scene->basact==base) scene->basact= NULL; diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c index c8d38218533..142c849eb7b 100644 --- a/source/blender/editors/object/object_edit.c +++ b/source/blender/editors/object/object_edit.c @@ -147,6 +147,7 @@ static int object_hide_view_clear_exec(bContext *C, wmOperator *UNUSED(op)) } } if (changed) { + DAG_id_type_tag(bmain, ID_OB); DAG_scene_sort(bmain, scene); WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); } @@ -199,6 +200,7 @@ static int object_hide_view_set_exec(bContext *C, wmOperator *op) CTX_DATA_END; if (changed) { + DAG_id_type_tag(bmain, ID_OB); DAG_scene_sort(bmain, scene); WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, CTX_data_scene(C)); diff --git a/source/blender/makesrna/intern/rna_main_api.c b/source/blender/makesrna/intern/rna_main_api.c index d9bb1619ca5..7d6e1dd0567 100644 --- a/source/blender/makesrna/intern/rna_main_api.c +++ b/source/blender/makesrna/intern/rna_main_api.c @@ -63,6 +63,7 @@ #include "BKE_particle.h" #include "BKE_font.h" #include "BKE_node.h" +#include "BKE_depsgraph.h" #include "DNA_armature_types.h" #include "DNA_camera_types.h" @@ -508,6 +509,8 @@ void rna_Main_actions_tag(Main *bmain, int value) { tag_main_lb(&bmain->action, void rna_Main_particles_tag(Main *bmain, int value) { tag_main_lb(&bmain->particle, value); } void rna_Main_gpencil_tag(Main *bmain, int value) { tag_main_lb(&bmain->gpencil, value); } +static int rna_Main_objects_recalc_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_OB); } + #else void RNA_api_main(StructRNA *srna) @@ -590,6 +593,7 @@ void RNA_def_main_objects(BlenderRNA *brna, PropertyRNA *cprop) StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataObjects"); srna= RNA_def_struct(brna, "BlendDataObjects", NULL); @@ -617,6 +621,10 @@ void RNA_def_main_objects(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_objects_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "recalc", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_objects_recalc_get", NULL); } void RNA_def_main_materials(BlenderRNA *brna, PropertyRNA *cprop) From 84d917dc6c9e9ff33d3490142e1e542331827b1a Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 12 Aug 2011 18:29:21 +0000 Subject: [PATCH 086/241] Cycles: clean up some unnecessary changes compared to trunk. --- intern/CMakeLists.txt | 1 - source/blender/blenkernel/intern/material.c | 4 -- source/blender/blenkernel/intern/object.c | 2 +- source/blender/blenkernel/intern/world.c | 2 +- source/blender/editors/include/ED_uvedit.h | 1 + source/blender/editors/screen/screen_edit.c | 4 +- source/blender/editors/space_node/node_ops.c | 1 + .../blender/editors/space_view3d/drawmesh.c | 66 +++++++++---------- .../editors/space_view3d/space_view3d.c | 6 +- source/blender/makesrna/intern/rna_access.c | 5 -- source/blender/modifiers/intern/MOD_subsurf.c | 2 +- .../nodes/intern/SHD_nodes/SHD_hueSatVal.c | 2 + source/blender/render/CMakeLists.txt | 10 +-- source/creator/CMakeLists.txt | 1 + 14 files changed, 51 insertions(+), 56 deletions(-) diff --git a/intern/CMakeLists.txt b/intern/CMakeLists.txt index de2c0ab9459..fe30d6cfa0c 100644 --- a/intern/CMakeLists.txt +++ b/intern/CMakeLists.txt @@ -58,4 +58,3 @@ endif() if(WITH_IK_ITASC) add_subdirectory(itasc) endif() - diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c index 1d6de41f9e8..9c455e84109 100644 --- a/source/blender/blenkernel/intern/material.c +++ b/source/blender/blenkernel/intern/material.c @@ -653,10 +653,6 @@ Material *give_node_material(Material *ma) return NULL; } -/*Image *give_mesh_face_image(Object *ob, int face) -{ -}*/ - /* GS reads the memory pointed at in a specific ordering. There are, * however two definitions for it. I have jotted them down here, both, * but I think the first one is actually used. The thing is that diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index cdee63172e5..eb6dcf8b462 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -860,7 +860,7 @@ Lamp *copy_lamp(Lamp *la) for(a=0; amtex[a]) { - lan->mtex[a]= MEM_mallocN(sizeof(MTex), "copy_lamp"); + lan->mtex[a]= MEM_mallocN(sizeof(MTex), "copylamptex"); memcpy(lan->mtex[a], la->mtex[a], sizeof(MTex)); id_us_plus((ID *)lan->mtex[a]->tex); } diff --git a/source/blender/blenkernel/intern/world.c b/source/blender/blenkernel/intern/world.c index 32b4a84c237..7e2ed426e0a 100644 --- a/source/blender/blenkernel/intern/world.c +++ b/source/blender/blenkernel/intern/world.c @@ -137,7 +137,7 @@ World *copy_world(World *wrld) if(wrld->preview) wrldn->preview = BKE_previewimg_copy(wrld->preview); - + return wrldn; } diff --git a/source/blender/editors/include/ED_uvedit.h b/source/blender/editors/include/ED_uvedit.h index d4b98cc3697..1f77dba1b03 100644 --- a/source/blender/editors/include/ED_uvedit.h +++ b/source/blender/editors/include/ED_uvedit.h @@ -35,6 +35,7 @@ struct ARegionType; struct EditFace; struct Image; +struct Main; struct ImageUser; struct MTFace; struct Object; diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c index 59a8a21ca4d..80a65d3224e 100644 --- a/source/blender/editors/screen/screen_edit.c +++ b/source/blender/editors/screen/screen_edit.c @@ -671,9 +671,9 @@ static void screen_test_scale(bScreen *sc, int winsizex, int winsizey) /* test for collapsed areas. This could happen in some blender version... */ /* ton: removed option now, it needs Context... */ - /* make each window at least HEADERY high */ + /* make each window at least ED_area_headersize() high */ for(sa= sc->areabase.first; sa; sa= sa->next) { - int headery= HEADERY+1; + int headery= ED_area_headersize()+1; if(sa->v1->vec.y+headery > sa->v2->vec.y) { /* lower edge */ diff --git a/source/blender/editors/space_node/node_ops.c b/source/blender/editors/space_node/node_ops.c index c0702a6ba71..6a49fc2898b 100644 --- a/source/blender/editors/space_node/node_ops.c +++ b/source/blender/editors/space_node/node_ops.c @@ -195,5 +195,6 @@ void node_keymap(struct wmKeyConfig *keyconf) WM_keymap_add_item(keymap, "NODE_OT_read_fullsamplelayers", RKEY, KM_PRESS, KM_SHIFT, 0); WM_keymap_add_item(keymap, "NODE_OT_render_changed", ZKEY, KM_PRESS, 0, 0); + transform_keymap_for_space(keyconf, keymap, SPACE_NODE); } diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c index 7fe6d24ceb8..f520ecfe277 100644 --- a/source/blender/editors/space_view3d/drawmesh.c +++ b/source/blender/editors/space_view3d/drawmesh.c @@ -131,7 +131,7 @@ static int draw_mesh_face_select__setHiddenOpts(void *userData, int index) MEdge *med = &me->medge[index]; uintptr_t flags = (intptr_t) BLI_edgehash_lookup(data->eh, med->v1, med->v2); - if(me->drawflag & ME_DRAWEDGES){ + if(me->drawflag & ME_DRAWEDGES) { if(me->drawflag & ME_HIDDENEDGES) return 1; else @@ -223,7 +223,7 @@ static int set_draw_settings_cached(int clearcache, int textured, MTFace *texfac static int c_litmatnr; static int c_badtex; - if(clearcache) { + if (clearcache) { c_textured= c_lit= c_doublesided= -1; c_texface= (MTFace*) -1; c_litob= (Object*) -1; @@ -231,7 +231,7 @@ static int set_draw_settings_cached(int clearcache, int textured, MTFace *texfac c_badtex= 0; } - if(texface) { + if (texface) { lit = lit && (lit==-1 || texface->mode&TF_LIGHT); textured = textured && (texface->mode&TF_TEX); doublesided = texface->mode&TF_TWOSIDE; @@ -239,15 +239,15 @@ static int set_draw_settings_cached(int clearcache, int textured, MTFace *texfac textured = 0; } - if(doublesided!=c_doublesided) { - if(doublesided) glDisable(GL_CULL_FACE); + if (doublesided!=c_doublesided) { + if (doublesided) glDisable(GL_CULL_FACE); else glEnable(GL_CULL_FACE); c_doublesided= doublesided; } - if(textured!=c_textured || texface!=c_texface) { - if(textured ) { + if (textured!=c_textured || texface!=c_texface) { + if (textured ) { c_badtex= !GPU_set_tpage(texface, !(litob->mode & OB_MODE_TEXTURE_PAINT)); } else { GPU_set_tpage(NULL, 0); @@ -257,9 +257,9 @@ static int set_draw_settings_cached(int clearcache, int textured, MTFace *texfac c_texface= texface; } - if(c_badtex) lit= 0; - if(lit!=c_lit || litob!=c_litob || litmatnr!=c_litmatnr) { - if(lit) { + if (c_badtex) lit= 0; + if (lit!=c_lit || litob!=c_litob || litmatnr!=c_litmatnr) { + if (lit) { Material *ma= give_current_material_or_def(litob, litmatnr+1); float spec[4]; @@ -353,16 +353,16 @@ static void draw_textured_end(void) static int draw_tface__set_draw_legacy(MTFace *tface, MCol *mcol, int matnr) { - if(tface && (tface->mode&TF_INVISIBLE)) return 0; + if (tface && (tface->mode&TF_INVISIBLE)) return 0; - if(tface && set_draw_settings_cached(0, Gtexdraw.istex, tface, Gtexdraw.islit, Gtexdraw.ob, matnr, TF_TWOSIDE)) { + if (tface && set_draw_settings_cached(0, Gtexdraw.istex, tface, Gtexdraw.islit, Gtexdraw.ob, matnr, TF_TWOSIDE)) { glColor3ub(0xFF, 0x00, 0xFF); return 2; /* Don't set color */ - } else if(tface && tface->mode&TF_OBCOL) { + } else if (tface && tface->mode&TF_OBCOL) { glColor3ubv(Gtexdraw.obcol); return 2; /* Don't set color */ - } else if(!mcol) { - if(tface) glColor3f(1.0, 1.0, 1.0); + } else if (!mcol) { + if (tface) glColor3f(1.0, 1.0, 1.0); else { Material *ma= give_current_material(Gtexdraw.ob, matnr+1); if(ma) { @@ -381,13 +381,13 @@ static int draw_tface__set_draw_legacy(MTFace *tface, MCol *mcol, int matnr) } static int draw_tface__set_draw(MTFace *tface, MCol *mcol, int matnr) { - if(tface && (tface->mode&TF_INVISIBLE)) return 0; + if (tface && (tface->mode&TF_INVISIBLE)) return 0; - if(tface && set_draw_settings_cached(0, Gtexdraw.istex, tface, Gtexdraw.islit, Gtexdraw.ob, matnr, TF_TWOSIDE)) { + if (tface && set_draw_settings_cached(0, Gtexdraw.istex, tface, Gtexdraw.islit, Gtexdraw.ob, matnr, TF_TWOSIDE)) { return 2; /* Don't set color */ - } else if(tface && tface->mode&TF_OBCOL) { + } else if (tface && tface->mode&TF_OBCOL) { return 2; /* Don't set color */ - } else if(!mcol) { + } else if (!mcol) { return 1; /* Don't set color */ } else { return 1; /* Set color from mcol */ @@ -405,7 +405,7 @@ static void add_tface_color_layer(DerivedMesh *dm) finalCol = MEM_mallocN(sizeof(MCol)*4*dm->getNumFaces(dm),"add_tface_color_layer"); for(i=0;igetNumFaces(dm);i++) { - if(tface && (tface->mode&TF_INVISIBLE)) { + if (tface && (tface->mode&TF_INVISIBLE)) { if( mcol ) memcpy(&finalCol[i*4],&mcol[i*4],sizeof(MCol)*4); else @@ -415,20 +415,20 @@ static void add_tface_color_layer(DerivedMesh *dm) finalCol[i*4+j].r = 255; } } - else if(tface && mface && set_draw_settings_cached(0, Gtexdraw.istex, tface, Gtexdraw.islit, Gtexdraw.ob, mface[i].mat_nr, TF_TWOSIDE)) { + else if (tface && mface && set_draw_settings_cached(0, Gtexdraw.istex, tface, Gtexdraw.islit, Gtexdraw.ob, mface[i].mat_nr, TF_TWOSIDE)) { for(j=0;j<4;j++) { finalCol[i*4+j].b = 255; finalCol[i*4+j].g = 0; finalCol[i*4+j].r = 255; } - } else if(tface && tface->mode&TF_OBCOL) { + } else if (tface && tface->mode&TF_OBCOL) { for(j=0;j<4;j++) { finalCol[i*4+j].r = FTOCHAR(Gtexdraw.obcol[0]); finalCol[i*4+j].g = FTOCHAR(Gtexdraw.obcol[1]); finalCol[i*4+j].b = FTOCHAR(Gtexdraw.obcol[2]); } - } else if(!mcol) { - if(tface) { + } else if (!mcol) { + if (tface) { for(j=0;j<4;j++) { finalCol[i*4+j].b = 255; finalCol[i*4+j].g = 255; @@ -474,7 +474,7 @@ static int draw_tface_mapped__set_draw(void *userData, int index) MFace *mface = &me->mface[index]; MCol *mcol = (me->mcol)? &me->mcol[index]: NULL; const int matnr = mface->mat_nr; - if(mface->flag & ME_HIDE) return 0; + if (mface->flag & ME_HIDE) return 0; return draw_tface__set_draw(tface, mcol, matnr); } @@ -486,7 +486,7 @@ static int draw_em_tf_mapped__set_draw(void *userData, int index) MCol *mcol; int matnr; - if(efa->h) + if (efa->h) return 0; tface = CustomData_em_get(&em->fdata, efa->data, CD_MTFACE); @@ -500,7 +500,7 @@ static int wpaint__setSolidDrawOptions(void *userData, int index, int *drawSmoot { Mesh *me = (Mesh*)userData; - if( (me->mface && me->mface[index].flag & ME_HIDE) || + if ( (me->mface && me->mface[index].flag & ME_HIDE) || (me->mtface && (me->mtface[index].mode & TF_INVISIBLE)) ) { return 0; @@ -539,7 +539,7 @@ static void draw_mesh_text(Scene *scene, Object *ob, int glsl) int matnr= mf->mat_nr; int mf_smooth= mf->flag & ME_SMOOTH; - if(!(mf->flag&ME_HIDE) && !(mode&TF_INVISIBLE) && (mode&TF_BMFONT)) { + if (!(mf->flag&ME_HIDE) && !(mode&TF_INVISIBLE) && (mode&TF_BMFONT)) { float v1[3], v2[3], v3[3], v4[3]; char string[MAX_PROPSTRING]; int characters, i, glattrib= -1, badtex= 0; @@ -556,8 +556,8 @@ static void draw_mesh_text(Scene *scene, Object *ob, int glsl) } else { badtex = set_draw_settings_cached(0, Gtexdraw.istex, tface, Gtexdraw.islit, Gtexdraw.ob, matnr, TF_TWOSIDE); - if(badtex) { - if(mcol) mcol+=4; + if (badtex) { + if (mcol) mcol+=4; continue; } } @@ -565,7 +565,7 @@ static void draw_mesh_text(Scene *scene, Object *ob, int glsl) ddm->getVertCo(ddm, mf->v1, v1); ddm->getVertCo(ddm, mf->v2, v2); ddm->getVertCo(ddm, mf->v3, v3); - if(mf->v4) ddm->getVertCo(ddm, mf->v4, v4); + if (mf->v4) ddm->getVertCo(ddm, mf->v4, v4); // The BM_FONT handling is in the gpu module, shared with the // game engine, was duplicated previously @@ -576,7 +576,7 @@ static void draw_mesh_text(Scene *scene, Object *ob, int glsl) if(!BKE_image_get_ibuf(tface->tpage, NULL)) characters = 0; - if(!mf_smooth) { + if (!mf_smooth) { float nor[3]; normal_tri_v3( nor,v1, v2, v3); @@ -587,7 +587,7 @@ static void draw_mesh_text(Scene *scene, Object *ob, int glsl) GPU_render_text(tface, tface->mode, string, characters, (unsigned int*)mcol, v1, v2, v3, (mf->v4? v4: NULL), glattrib); } - if(mcol) { + if (mcol) { mcol+=4; } } diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c index e427cf36627..56025b40648 100644 --- a/source/blender/editors/space_view3d/space_view3d.c +++ b/source/blender/editors/space_view3d/space_view3d.c @@ -630,7 +630,6 @@ static void view3d_recalc_used_layers(ARegion *ar, wmNotifier *wmn, Scene *scene static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn) { bScreen *sc; - RegionView3D *rv3d= ar->regiondata; /* context changes */ switch(wmn->category) { @@ -754,9 +753,10 @@ static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn) break; case NC_SPACE: if(wmn->data == ND_SPACE_VIEW3D) { - if (wmn->subtype == NS_VIEW3D_GPU) + if (wmn->subtype == NS_VIEW3D_GPU) { + RegionView3D *rv3d= ar->regiondata; rv3d->rflag |= RV3D_GPULIGHT_UPDATE; - + } ED_region_tag_redraw(ar); } break; diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c index e91b9d892a5..4e4bb46669b 100644 --- a/source/blender/makesrna/intern/rna_access.c +++ b/source/blender/makesrna/intern/rna_access.c @@ -1361,11 +1361,6 @@ static void rna_property_update(bContext *C, Main *bmain, Scene *scene, PointerR else prop->update(bmain, scene, ptr); } - else if(!(prop->flag & PROP_BUILTIN)) { - DAG_id_tag_update(ptr->id.data, OB_RECALC_ALL); - WM_main_add_notifier(NC_WINDOW, NULL); - } - if(prop->noteflag) WM_main_add_notifier(prop->noteflag, ptr->id.data); } diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c index be6f976495b..6c825b213b8 100644 --- a/source/blender/modifiers/intern/MOD_subsurf.c +++ b/source/blender/modifiers/intern/MOD_subsurf.c @@ -111,7 +111,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, return result; } -static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob, +static DerivedMesh *applyModifierEM(ModifierData *md, Object *UNUSED(ob), struct EditMesh *UNUSED(editData), DerivedMesh *derivedData) { diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_hueSatVal.c b/source/blender/nodes/intern/SHD_nodes/SHD_hueSatVal.c index 5cfc1f59336..91fd995dbbe 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_hueSatVal.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_hueSatVal.c @@ -95,3 +95,5 @@ void register_node_type_sh_hue_sat(ListBase *lb) nodeRegisterType(lb, &ntype); } + + diff --git a/source/blender/render/CMakeLists.txt b/source/blender/render/CMakeLists.txt index fab042d8e9e..418c1b68d28 100644 --- a/source/blender/render/CMakeLists.txt +++ b/source/blender/render/CMakeLists.txt @@ -118,13 +118,13 @@ set(SRC intern/raytrace/vbvh.h ) -IF(WITH_PYTHON) - ADD_DEFINITIONS(-DWITH_PYTHON) - LIST(APPEND INC ../python ${PYTHON_INC}) +if(WITH_PYTHON) + add_definitions(-DWITH_PYTHON) + list(APPEND INC ../python ${PYTHON_INC}) endif() -IF(WITH_IMAGE_OPENEXR) - ADD_DEFINITIONS(-DWITH_OPENEXR) +if(WITH_IMAGE_OPENEXR) + add_definitions(-DWITH_OPENEXR) endif() if(WITH_MOD_SMOKE) diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index 2bb710b9ad8..43fec85b5bf 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -231,6 +231,7 @@ else() set(TARGETDIR ${EXECUTABLE_OUTPUT_PATH}) endif() + # ----------------------------------------------------------------------------- # Install Targets From 962377f26e51d148d343a91d46bcca4112aff6ac Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 13 Aug 2011 08:25:54 +0000 Subject: [PATCH 087/241] very minor issues with cmake files corrected. --- source/blender/nodes/CMakeLists.txt | 1 + source/blender/render/CMakeLists.txt | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt index 680fc13682b..96c59992b25 100644 --- a/source/blender/nodes/CMakeLists.txt +++ b/source/blender/nodes/CMakeLists.txt @@ -182,6 +182,7 @@ set(SRC intern/SHD_util.h intern/TEX_util.h intern/node_util.h + intern/SHD_nodes/SHD_noise.h ) if(WITH_PYTHON) diff --git a/source/blender/render/CMakeLists.txt b/source/blender/render/CMakeLists.txt index 418c1b68d28..f866e83c68e 100644 --- a/source/blender/render/CMakeLists.txt +++ b/source/blender/render/CMakeLists.txt @@ -120,7 +120,13 @@ set(SRC if(WITH_PYTHON) add_definitions(-DWITH_PYTHON) - list(APPEND INC ../python ${PYTHON_INC}) + list(APPEND INC + ../python + ) + + list(APPEND INC_SYS + ${PYTHON_INCLUDE_DIRS} + ) endif() if(WITH_IMAGE_OPENEXR) From 18387f3e3fc4e3fbb9f2cd27d49d12e56975e87c Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 15 Aug 2011 19:30:24 +0000 Subject: [PATCH 088/241] Cycles: fix small memory leak in image loading. --- intern/cycles/render/image.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/intern/cycles/render/image.cpp b/intern/cycles/render/image.cpp index 5dc86837bcf..de3ab8edf48 100644 --- a/intern/cycles/render/image.cpp +++ b/intern/cycles/render/image.cpp @@ -135,6 +135,7 @@ bool ImageManager::file_load_image(Image *img, device_vector& tex_img) int components = spec.nchannels; if(!(components == 1 || components == 3 || components == 4)) { + in->close(); delete in; return false; } @@ -150,6 +151,7 @@ bool ImageManager::file_load_image(Image *img, device_vector& tex_img) AutoStride); in->close(); + delete in; if(components == 3) { for(int i = width*height-1; i >= 0; i--) { From 360fcd73fe2868ba32c65697e21ed1bbab8b649a Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 16 Aug 2011 16:15:34 +0000 Subject: [PATCH 089/241] Cycles: * add some (disabled) test code for using OpenImageIO in imbuf * link cycles, openimageio and boost into blender instead of a shared library * some cmakefile changes to simplify the code and follow conventions better * this may solve running cycles problems on windows XP, or give a different and hopefully more useful error message --- CMakeLists.txt | 103 ++++++- build_files/cmake/macros.cmake | 47 ++++ intern/cycles/CMakeLists.txt | 139 +++++----- intern/cycles/app/CMakeLists.txt | 62 ++--- intern/cycles/blender/CMakeLists.txt | 87 ++---- intern/cycles/blender/addon/engine.py | 16 +- intern/cycles/blender/blender_python.cpp | 4 +- intern/cycles/bvh/CMakeLists.txt | 8 +- intern/cycles/cmake/external_libs.cmake | 254 ++++++------------ intern/cycles/cmake/platforms.cmake | 27 -- intern/cycles/device/CMakeLists.txt | 8 +- intern/cycles/doc/CMakeLists.txt | 2 +- intern/cycles/doc/license/CMakeLists.txt | 13 + intern/cycles/kernel/CMakeLists.txt | 75 +++--- intern/cycles/kernel/osl/CMakeLists.txt | 12 +- intern/cycles/kernel/osl/nodes/CMakeLists.txt | 24 +- intern/cycles/render/CMakeLists.txt | 10 +- intern/cycles/subd/CMakeLists.txt | 8 +- intern/cycles/util/CMakeLists.txt | 14 +- source/blender/editors/screen/area.c | 3 + source/blender/imbuf/CMakeLists.txt | 8 + source/blender/imbuf/IMB_imbuf_types.h | 12 - source/blender/imbuf/intern/IMB_filetype.h | 18 ++ source/blender/imbuf/intern/filetype.c | 36 +-- source/blender/imbuf/intern/openimageio.cpp | 237 ++++++++++++++++ source/blender/imbuf/intern/readimage.c | 37 ++- source/blender/imbuf/intern/util.c | 6 +- source/blender/imbuf/intern/writeimage.c | 2 +- source/blender/python/intern/CMakeLists.txt | 4 + source/blender/python/intern/bpy_interface.c | 5 + source/creator/CMakeLists.txt | 31 +++ 31 files changed, 808 insertions(+), 504 deletions(-) delete mode 100644 intern/cycles/cmake/platforms.cmake create mode 100644 intern/cycles/doc/license/CMakeLists.txt create mode 100644 source/blender/imbuf/intern/openimageio.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 7b36b3b9fd7..bbd9598780d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -190,6 +190,14 @@ option(WITH_API_INSTALL "Copy API header files into the blender install fold # Cycles option(WITH_CYCLES "Enable Cycles Render Engine" ON) +OPTION(WITH_CYCLES_OSL "Build with Open Shading Language support" OFF) +OPTION(WITH_CYCLES_CUDA "Build with CUDA support" OFF) +OPTION(WITH_CYCLES_OPENCL "Build with OpenCL support (not working)" OFF) +OPTION(WITH_CYCLES_BLENDER "Build Blender Python extension" ON) +OPTION(WITH_CYCLES_PARTIO "Build with Partio point cloud support (unfinished)" OFF) +OPTION(WITH_CYCLES_NETWORK "Build with network rendering support (unfinished)" OFF) +OPTION(WITH_CYCLES_MULTI "Build with network rendering support (unfinished)" OFF) +OPTION(WITH_CYCLES_TEST "Build cycles test application" OFF) # disable for now, but plan to support on all platforms eventually option(WITH_MEM_JEMALLOC "Enable malloc replacement (http://www.canonware.com/jemalloc)" OFF) @@ -263,6 +271,16 @@ endif() TEST_SSE_SUPPORT() +# XXX hack +if(WITH_CYCLES) + set(WITH_OPENIMAGEIO ON) + set(WITH_BOOST ON) +endif() + +if(WITH_OPENIMAGEIO) + set(WITH_BOOST ON) +endif() + #----------------------------------------------------------------------------- # Initialize un-cached vars, avoid unused warning @@ -471,6 +489,44 @@ if(UNIX AND NOT APPLE) endif() endif() + if(WITH_BOOST) + if(CYCLES_BOOST) + set(BOOST ${CYCLES_BOOST} CACHE PATH "Boost Directory") + unset(CYCLES_BOOST CACHE) + else() + set(BOOST "/usr" CACHE PATH "Boost Directory") + endif() + + #set(Boost_ADDITIONAL_VERSIONS "1.46" "1.45" "1.44" + # "1.43" "1.43.0" "1.42" "1.42.0" + # "1.41" "1.41.0" "1.40" "1.40.0" + # "1.39" "1.39.0" "1.38" "1.38.0" + # "1.37" "1.37.0" "1.34.1" "1_34_1") + + set(BOOST_ROOT ${BOOST}) + set(Boost_USE_MULTITHREADED ON) + find_package(Boost 1.34 REQUIRED COMPONENTS filesystem regex system thread) + + set(BOOST_INCLUDE_DIR ${Boost_INCLUDE_DIRS}) + set(BOOST_LIBRARIES ${Boost_LIBRARIES}) + set(BOOST_LIBPATH ${Boost_LIBRARY_DIRS}) + set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB") + endif() + + if(WITH_OPENIMAGEIO) + if(CYCLES_OIIO) + set(OPENIMAGEIO ${CYCLES_OIIO} CACHE PATH "OpenImageIO Directory") + unset(CYCLES_OIIO CACHE) + else() + set(OPENIMAGEIO "/usr" CACHE PATH "OpenImageIO Directory") + endif() + + set(OPENIMAGEIO_INCLUDE_DIR ${OPENIMAGEIO}/include) + set(OPENIMAGEIO_LIBRARY OpenImageIO) + set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib) + set(OPENIMAGEIO_DEFINITIONS) + endif() + # OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed set(PLATFORM_LINKLIBS "-lutil -lc -lm -lpthread -lstdc++") @@ -759,6 +815,24 @@ elseif(WIN32) set(PYTHON_LIBRARIES "${PYTHON_LIBRARY}") endif() + if(WITH_BOOST) + set(BOOST ${LIBDIR}/boost) + set(BOOST_INCLUDE_DIR ${BOOST}/include) + set(BOOST_POSTFIX "vc90-mt-s-1_46_1.lib") + set(BOOST_LIBRARIES libboost_date_time-${BOOST_POSTFIX} libboost_filesystem-${BOOST_POSTFIX} + libboost_regex-${BOOST_POSTFIX} libboost_system-${BOOST_POSTFIX} libboost_thread-${BOOST_POSTFIX}) + set(BOOST_LIBPATH ${BOOST}/lib) + set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB") + endif() + + if(WITH_OPENIMAGEIO) + set(OPENIMAGEIO ${LIBDIR}/openimageio) + set(OPENIMAGEIO_INCLUDE_DIR ${OPENIMAGEIO}/include) + set(OPENIMAGEIO_LIBRARY OpenImageIO) + set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib) + set(OPENIMAGEIO_DEFINITIONS) + endif() + set(PLATFORM_LINKFLAGS "/SUBSYSTEM:CONSOLE /STACK:2097152 /INCREMENTAL:NO /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:msvcmrt.lib /NODEFAULTLIB:msvcurt.lib /NODEFAULTLIB:msvcrtd.lib") # MSVC only, Mingw doesnt need @@ -1064,6 +1138,22 @@ elseif(APPLE) # linker needs "-weak_framework 3DconnexionClient" endif() + if(WITH_BOOST) + set(BOOST ${LIBDIR}/boost) + set(BOOST_INCLUDE_DIR ${BOOST}/include) + set(BOOST_LIBRARIES boost_date_time-mt boost_filesystem-mt boost_regex-mt boost_system-mt boost_thread-mt) + set(BOOST_LIBPATH ${BOOST}/lib) + set(BOOST_DEFINITIONS) + endif() + + if(WITH_OPENIMAGEIO) + set(OPENIMAGEIO ${LIBDIR}/openimageio) + set(OPENIMAGEIO_INCLUDE_DIR ${OPENIMAGEIO}/include) + set(OPENIMAGEIO_LIBRARY OpenImageIO ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARY} ${OPENEXR_LIBRARIES} ${ZLIB_LIBRARIES}) + set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib ${JPEG_LIBPATH} ${PNG_LIBPATH} ${TIFF_LIBPATH} ${OPENEXR_LIBPATH} ${ZLIB_LIBPATH}) + set(OPENIMAGEIO_DEFINITIONS "-DOIIO_STATIC_BUILD") + endif() + set(EXETYPE MACOSX_BUNDLE) set(CMAKE_C_FLAGS_DEBUG "-fno-strict-aliasing -g") @@ -1304,6 +1394,12 @@ add_subdirectory(source) add_subdirectory(intern) add_subdirectory(extern) +#----------------------------------------------------------------------------- +# Cycles + +if(WITH_CYCLES) + add_subdirectory(intern/cycles) +endif() #----------------------------------------------------------------------------- # Blender Application @@ -1317,13 +1413,6 @@ if(WITH_PLAYER) add_subdirectory(source/blenderplayer) endif() -#----------------------------------------------------------------------------- -# Cycles - -if(WITH_CYCLES) - add_subdirectory(intern/cycles) -endif() - #----------------------------------------------------------------------------- # CPack for generating packages include(build_files/cmake/packaging.cmake) diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index ed200abd419..b991edcd5d4 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -164,6 +164,12 @@ macro(SETUP_LIBDIRS) if(WITH_IMAGE_TIFF) link_directories(${TIFF_LIBPATH}) endif() + if(WITH_BOOST) + link_directories(${BOOST_LIBPATH}) + endif() + if(WITH_OPENIMAGEIO) + link_directories(${OPENIMAGEIO_LIBPATH}) + endif() if(WITH_IMAGE_OPENJPEG AND UNIX AND NOT APPLE) link_directories(${OPENJPEG_LIBPATH}) endif() @@ -270,6 +276,12 @@ macro(setup_liblinks if(WITH_IMAGE_TIFF) target_link_libraries(${target} ${TIFF_LIBRARY}) endif() + if(WITH_BOOST) + target_link_libraries(${target} ${BOOST_LIBRARIES}) + endif() + if(WITH_OPENIMAGEIO) + target_link_libraries(${target} ${OPENIMAGEIO_LIBRARY}) + endif() if(WITH_IMAGE_OPENEXR) if(WIN32 AND NOT UNIX) file_list_suffix(OPENEXR_LIBRARIES_DEBUG "${OPENEXR_LIBRARIES}" "_d") @@ -569,3 +581,38 @@ macro(blender_project_hack_post) endif() endmacro() + +# pair of macros to allow libraries to be specify files to install, but to +# only install them at the end so the directories don't get cleared with +# the files in them. used by cycles to install addon. +macro(delayed_install + base + files + destination) + + foreach(f ${files}) + set_property(GLOBAL APPEND PROPERTY DELAYED_INSTALL_FILES ${base}/${f}) + set_property(GLOBAL APPEND PROPERTY DELAYED_INSTALL_DESTINATIONS ${destination}) + endforeach() +endmacro() + +# note this is a function instead of a macro so that ${BUILD_TYPE} in targetdir +# does not get expanded in calling but is preserved +function(delayed_do_install + targetdir) + + get_property(files GLOBAL PROPERTY DELAYED_INSTALL_FILES) + get_property(destinations GLOBAL PROPERTY DELAYED_INSTALL_DESTINATIONS) + + if(files) + list(LENGTH files n) + math(EXPR n "${n}-1") + + foreach(i RANGE ${n}) + list(GET files ${i} f) + list(GET destinations ${i} d) + install(FILES ${f} DESTINATION ${targetdir}/${d}) + endforeach() + endif() +endfunction() + diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index 413952e8791..77ae0486d16 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -1,81 +1,80 @@ -SET(CYCLES_VERSION_MAJOR 0) -SET(CYCLES_VERSION_MINOR 0) -SET(CYCLES_VERSION ${CYCLES_VERSION_MAJOR}.${CYCLES_VERSION_MINOR}) - -# Options - -OPTION(WITH_CYCLES_OSL "Build with Open Shading Language support" OFF) -OPTION(WITH_CYCLES_CUDA "Build with CUDA support" OFF) -OPTION(WITH_CYCLES_OPENCL "Build with OpenCL support (not working)" OFF) -OPTION(WITH_CYCLES_BLENDER "Build Blender Python extension" ON) -OPTION(WITH_CYCLES_PARTIO "Build with Partio point cloud support (unfinished)" OFF) -OPTION(WITH_CYCLES_NETWORK "Build with network rendering support (unfinished)" OFF) -OPTION(WITH_CYCLES_MULTI "Build with network rendering support (unfinished)" OFF) -OPTION(WITH_CYCLES_TEST "Build cycles test application" OFF) - -# Flags - -SET(CYCLES_CUDA_ARCH sm_10 sm_11 sm_12 sm_13 sm_20 sm_21 CACHE STRING "CUDA architectures to build for") -SET(CYCLES_CUDA_MAXREG 24 CACHE STRING "CUDA maximum number of register to use") - -# Paths - -IF(UNIX AND NOT APPLE) - SET(CYCLES_OIIO "" CACHE PATH "Path to OpenImageIO installation") - SET(CYCLES_BOOST "/usr" CACHE PATH "Path to Boost installation") -ENDIF() - -SET(CYCLES_OSL "" CACHE PATH "Path to OpenShadingLanguage installation") -SET(CYCLES_CUDA "/usr/local/cuda" CACHE PATH "Path to CUDA installation") -SET(CYCLES_OPENCL "" CACHE PATH "Path to OpenCL installation") -SET(CYCLES_PARTIO "" CACHE PATH "Path to Partio installation") -SET(CYCLES_GLEW "" CACHE PATH "Path to GLEW installation") - -# Install, todo: deduplicate install path code - -if(MSVC_IDE) - set(TARGETDIR ${EXECUTABLE_OUTPUT_PATH}/\${BUILD_TYPE}) -elseif(APPLE) - set(TARGETDIR ${EXECUTABLE_OUTPUT_PATH}/\${BUILD_TYPE}) -else() - set(TARGETDIR ${EXECUTABLE_OUTPUT_PATH}) -endif() - -if(UNIX AND NOT APPLE) - if(WITH_INSTALL_PORTABLE) - set(TARGETDIR_VER ${TARGETDIR}/${BLENDER_VERSION}) - else() - set(TARGETDIR_VER ${CMAKE_INSTALL_PREFIX}/share/blender/${BLENDER_VERSION}) - endif() -elseif(WIN32) - set(TARGETDIR_VER ${TARGETDIR}/${BLENDER_VERSION}) -elseif(APPLE) - set(TARGETDIR_VER ${TARGETDIR}/blender.app/Contents/MacOS/${BLENDER_VERSION}) -endif() - -SET(CYCLES_INSTALL_PATH "${TARGETDIR_VER}/scripts/addons") +set(CYCLES_INSTALL_PATH "scripts/addons/cycles") # External Libraries -INCLUDE(cmake/external_libs.cmake) +include(cmake/external_libs.cmake) -# Platforms +# Build Flags -INCLUDE(cmake/platforms.cmake) +set(GCC_WARNING_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-long-long") +set(GCC_OPTIM_FLAGS "-ffast-math -fPIC -msse -msse2 -msse3 -mtune=native") + +if(APPLE) + set(CMAKE_CXX_FLAGS "${GCC_WARNING_FLAGS} ${GCC_OPTIM_FLAGS}") + set(RTTI_DISABLE_FLAGS "-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID") +endif(APPLE) + +if(WIN32) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Ox /Ot /arch:SSE2 -D_CRT_SECURE_NO_WARNINGS /EHsc /fp:fast") + set(RTTI_DISABLE_FLAGS "/GR- -DBOOST_NO_RTTI -DBOOST_NO_TYPEID") +endif(WIN32) + +if(UNIX AND NOT APPLE) + set(CMAKE_CXX_FLAGS "${GCC_WARNING_FLAGS} ${GCC_OPTIM_FLAGS}") + set(RTTI_DISABLE_FLAGS "-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID") +endif(UNIX AND NOT APPLE) + +# Definitions and Includes + +add_definitions(${BOOST_DEFINITIONS} ${OPENIMAGEIO_DEFINITIONS}) + +add_definitions(-DCCL_NAMESPACE_BEGIN=namespace\ ccl\ {) +add_definitions(-DCCL_NAMESPACE_END=}) + +if(WITH_CYCLES_NETWORK) + add_definitions(-DWITH_NETWORK) +endif() + +if(WITH_CYCLES_MULTI) + add_definitions(-DWITH_MULTI) +endif() + +if(WITH_CYCLES_CUDA) + add_definitions(-DWITH_CUDA) +endif() + +if(WITH_CYCLES_OSL) + add_definitions(-DWITH_OSL) +endif() + +if(WITH_CYCLES_PARTIO) + add_definitions(-DWITH_PARTIO) +endif() + +if(WITH_CYCLES_OPENCL) + add_definitions(-DWITH_OPENCL) + include_directories(${OPENCL_INCLUDE_DIR}) + +endif() + +include_directories( + ${BOOST_INCLUDE_DIR} + ${OPENIMAGEIO_INCLUDE_DIR} + ${OPENIMAGEIO_INCLUDE_DIR}/OpenImageIO) # Subdirectories -IF(WITH_CYCLES_BLENDER) - ADD_SUBDIRECTORY(blender) -ENDIF(WITH_CYCLES_BLENDER) +if(WITH_CYCLES_BLENDER) + add_subdirectory(blender) +endif(WITH_CYCLES_BLENDER) -ADD_SUBDIRECTORY(app) -ADD_SUBDIRECTORY(bvh) -ADD_SUBDIRECTORY(device) -ADD_SUBDIRECTORY(doc) -ADD_SUBDIRECTORY(kernel) -ADD_SUBDIRECTORY(render) -ADD_SUBDIRECTORY(subd) -ADD_SUBDIRECTORY(util) +add_subdirectory(app) +add_subdirectory(bvh) +add_subdirectory(device) +add_subdirectory(doc) +add_subdirectory(kernel) +add_subdirectory(render) +add_subdirectory(subd) +add_subdirectory(util) diff --git a/intern/cycles/app/CMakeLists.txt b/intern/cycles/app/CMakeLists.txt index c250662aecf..1d74c32ca28 100644 --- a/intern/cycles/app/CMakeLists.txt +++ b/intern/cycles/app/CMakeLists.txt @@ -1,5 +1,5 @@ -INCLUDE_DIRECTORIES( +include_directories( . ../device ../kernel @@ -9,51 +9,51 @@ INCLUDE_DIRECTORIES( ../render ../subd) -SET(LIBRARIES +set(LIBRARIES cycles_device cycles_kernel cycles_render cycles_bvh cycles_subd cycles_util - ${Boost_LIBRARIES} + ${BOOST_LIBRARIES} ${OPENGL_LIBRARIES} ${CYCLES_GLEW_LIBRARY} ${OPENIMAGEIO_LIBRARY}) -IF(WITH_CYCLES_TEST) - LIST(APPEND LIBRARIES ${GLUT_LIBRARIES}) -ENDIF() +link_directories(${OPENIMAGEIO_LIBPATH} ${BOOST_LIBPATH}) -IF(WITH_CYCLES_OSL) - LIST(APPEND LIBRARIES cycles_kernel_osl ${OSL_LIBRARIES}) -ENDIF() +if(WITH_CYCLES_TEST) + list(APPEND LIBRARIES ${GLUT_LIBRARIES}) +endif() -IF(WITH_CYCLES_PARTIO) - LIST(APPEND LIBRARIES ${PARTIO_LIBRARIES}) -ENDIF() +if(WITH_CYCLES_OSL) + list(APPEND LIBRARIES cycles_kernel_osl ${OSL_LIBRARIES}) +endif() -IF(WITH_CYCLES_OPENCL) - LIST(APPEND LIBRARIES ${OPENCL_LIBRARIES}) -ENDIF() +if(WITH_CYCLES_PARTIO) + list(APPEND LIBRARIES ${PARTIO_LIBRARIES}) +endif() -IF(WITH_CYCLES_TEST) - ADD_EXECUTABLE(cycles_test cycles_test.cpp cycles_xml.cpp cycles_xml.h) - TARGET_LINK_LIBRARIES(cycles_test ${LIBRARIES}) - INSTALL(TARGETS cycles_test DESTINATION ${CYCLES_INSTALL_PATH}/cycles) +if(WITH_CYCLES_OPENCL) + list(APPEND LIBRARIES ${OPENCL_LIBRARIES}) +endif() - IF(UNIX AND NOT APPLE) - SET_TARGET_PROPERTIES(cycles_test PROPERTIES INSTALL_RPATH $ORIGIN/lib) - ENDIF() -ENDIF() +if(WITH_CYCLES_TEST) + add_executable(cycles_test cycles_test.cpp cycles_xml.cpp cycles_xml.h) + target_link_libraries(cycles_test ${LIBRARIES}) -IF(WITH_CYCLES_NETWORK) - ADD_EXECUTABLE(cycles_server cycles_server.cpp) - TARGET_LINK_LIBRARIES(cycles_server ${LIBRARIES}) - INSTALL(TARGETS cycles_server DESTINATION ${CYCLES_INSTALL_PATH}/cycles) + if(UNIX AND NOT APPLE) + set_target_properties(cycles_test PROPERTIES INSTALL_RPATH $ORIGIN/lib) + endif() +endif() - IF(UNIX AND NOT APPLE) - SET_TARGET_PROPERTIES(cycles_server PROPERTIES INSTALL_RPATH $ORIGIN/lib) - ENDIF() -ENDIF() +if(WITH_CYCLES_NETWORK) + add_executable(cycles_server cycles_server.cpp) + target_link_libraries(cycles_server ${LIBRARIES}) + + if(UNIX AND NOT APPLE) + set_target_properties(cycles_server PROPERTIES INSTALL_RPATH $ORIGIN/lib) + endif() +endif() diff --git a/intern/cycles/blender/CMakeLists.txt b/intern/cycles/blender/CMakeLists.txt index 8d7f2b1504b..324d35d5360 100644 --- a/intern/cycles/blender/CMakeLists.txt +++ b/intern/cycles/blender/CMakeLists.txt @@ -1,19 +1,18 @@ -SET(sources +set(sources blender_camera.cpp blender_mesh.cpp blender_object.cpp blender_python.cpp blender_session.cpp blender_shader.cpp - blender_sync.cpp) + blender_sync.cpp -SET(headers blender_sync.h blender_session.h blender_util.h) -SET(addonfiles +set(addonfiles addon/__init__.py addon/engine.py addon/enums.py @@ -21,7 +20,7 @@ SET(addonfiles addon/ui.py addon/xml.py) -INCLUDE_DIRECTORIES( +include_directories( ../render ../device ../kernel @@ -32,78 +31,30 @@ INCLUDE_DIRECTORIES( ${PYTHON_INCLUDE_DIRS} ${GLEW_INCLUDE_PATH}) -SET(LIBRARIES +set(LIBRARIES cycles_render cycles_bvh cycles_device cycles_kernel cycles_util - cycles_subd - ${Boost_LIBRARIES} - ${OPENGL_LIBRARIES} - ${OPENIMAGEIO_LIBRARY} - ${GLUT_LIBRARIES} - ${CYCLES_GLEW_LIBRARY} - ${BLENDER_LIBRARIES}) + cycles_subd) -IF(WITH_CYCLES_OSL) - LIST(APPEND LIBRARIES cycles_kernel_osl ${OSL_LIBRARIES}) -ENDIF() +if(WITH_CYCLES_OSL) + list(APPEND LIBRARIES cycles_kernel_osl ${OSL_LIBRARIES}) +endif() -IF(WITH_CYCLES_PARTIO) - LIST(APPEND LIBRARIES ${PARTIO_LIBRARIES}) -ENDIF() +if(WITH_CYCLES_PARTIO) + list(APPEND LIBRARIES ${PARTIO_LIBRARIES}) +endif() -IF(WITH_CYCLES_OPENCL) - LIST(APPEND LIBRARIES ${OPENCL_LIBRARIES}) -ENDIF() +if(WITH_CYCLES_OPENCL) + list(APPEND LIBRARIES ${OPENCL_LIBRARIES}) +endif() -LINK_DIRECTORIES(${PYTHON_LIBPATH}) -SET(CMAKE_MODULE_LINKER_FLAGS ${PYTHON_MODULE_FLAGS}) +blender_add_lib(bf_intern_cycles "${sources}" "" "") -ADD_LIBRARY(cycles_blender MODULE ${sources} ${headers}) -ADD_DEPENDENCIES(cycles_blender bf_rna) +add_dependencies(bf_intern_cycles bf_rna) +target_link_libraries(bf_intern_cycles ${LIBRARIES}) -IF(WIN32) - TARGET_LINK_LIBRARIES(cycles_blender ${PYTHON_LINKFLAGS}) - - FILE_LIST_SUFFIX(PYTHON_LIBRARIES_DEBUG "${PYTHON_LIBRARIES}" "_d") - TARGET_LINK_LIBRARIES_DEBUG(cycles_blender "${PYTHON_LIBRARIES_DEBUG}") - TARGET_LINK_LIBRARIES_OPTIMIZED(cycles_blender "${PYTHON_LIBRARIES}") - UNSET(PYTHON_LIBRARIES_DEBUG) - - SET_TARGET_PROPERTIES(cycles_blender PROPERTIES PREFIX "lib") - SET_TARGET_PROPERTIES(cycles_blender PROPERTIES SUFFIX ".pyd") -ENDIF() - -TARGET_LINK_LIBRARIES(cycles_blender ${LIBRARIES}) - -INSTALL(FILES ${addonfiles} DESTINATION ${CYCLES_INSTALL_PATH}/cycles) -INSTALL(TARGETS cycles_blender LIBRARY DESTINATION ${CYCLES_INSTALL_PATH}/cycles) - -# Install Dynamic Libraries - -IF(WIN32) - FILE(GLOB OIIO_DLLS "${CYCLES_OIIO}/bin/*.dll") - INSTALL(FILES ${OIIO_DLLS} - DESTINATION ${CYCLES_INSTALL_PATH}/cycles) -ENDIF() - -IF(UNIX AND NOT APPLE) - # copy libraries to cycles lib directory - SET(install_libs - ${OPENIMAGEIO_LIBRARY} - ${Boost_LIBRARIES} - ${OSL_LIBRARIES} - ${PARTIO_LIBRARIES}) - - LIST(REMOVE_ITEM install_libs optimized) - LIST(REMOVE_ITEM install_libs debug) - - INSTALL(FILES ${install_libs} - DESTINATION ${CYCLES_INSTALL_PATH}/cycles/lib) - - # set path to look for dynamic libs - SET_TARGET_PROPERTIES(cycles_blender PROPERTIES INSTALL_RPATH $ORIGIN/lib) -ENDIF() +delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${addonfiles}" ${CYCLES_INSTALL_PATH}) diff --git a/intern/cycles/blender/addon/engine.py b/intern/cycles/blender/addon/engine.py index a78107735eb..6879efcb24e 100644 --- a/intern/cycles/blender/addon/engine.py +++ b/intern/cycles/blender/addon/engine.py @@ -19,12 +19,12 @@ import bpy def init(): - from cycles import libcycles_blender as lib + import libcycles_blender as lib import os.path lib.init(os.path.dirname(__file__)) def create(engine, data, scene, region = 0, v3d = 0, rv3d = 0): - from cycles import libcycles_blender as lib + import libcycles_blender as lib data = data.as_pointer() scene = scene.as_pointer() @@ -40,20 +40,20 @@ def create(engine, data, scene, region = 0, v3d = 0, rv3d = 0): def free(engine): if "session" in dir(engine): if engine.session: - from cycles import libcycles_blender as lib + import libcycles_blender as lib lib.free(engine.session) del engine.session def render(engine): - from cycles import libcycles_blender as lib + import libcycles_blender as lib lib.render(engine.session) def update(engine, data, scene): - from cycles import libcycles_blender as lib + import libcycles_blender as lib lib.sync(engine.session) def draw(engine, region, v3d, rv3d): - from cycles import libcycles_blender as lib + import libcycles_blender as lib v3d = v3d.as_pointer() rv3d = rv3d.as_pointer() @@ -95,10 +95,10 @@ def draw(engine, region, v3d, rv3d): blf.draw(fontid, substatus) def available_devices(): - from cycles import libcycles_blender as lib + import libcycles_blender as lib return lib.available_devices() def with_osl(): - from cycles import libcycles_blender as lib + import libcycles_blender as lib return lib.with_osl() diff --git a/intern/cycles/blender/blender_python.cpp b/intern/cycles/blender/blender_python.cpp index 00d16edbf74..1e72e5f15f1 100644 --- a/intern/cycles/blender/blender_python.cpp +++ b/intern/cycles/blender/blender_python.cpp @@ -224,7 +224,9 @@ static struct PyModuleDef module = { CCL_NAMESPACE_END -PyMODINIT_FUNC PyInit_libcycles_blender() +extern "C" PyObject *CYCLES_initPython(); + +PyObject *CYCLES_initPython() { return PyModule_Create(&ccl::module); } diff --git a/intern/cycles/bvh/CMakeLists.txt b/intern/cycles/bvh/CMakeLists.txt index 9ea3bc77461..b35c20b7a38 100644 --- a/intern/cycles/bvh/CMakeLists.txt +++ b/intern/cycles/bvh/CMakeLists.txt @@ -1,18 +1,18 @@ -INCLUDE_DIRECTORIES(. ../kernel ../kernel/svm ../render ../util ../device) +include_directories(. ../kernel ../kernel/svm ../render ../util ../device) -SET(sources +set(sources bvh.cpp bvh_build.cpp bvh_node.cpp bvh_sort.cpp) -SET(headers +set(headers bvh.h bvh_build.h bvh_node.h bvh_params.h bvh_sort.h) -ADD_LIBRARY(cycles_bvh ${sources} ${headers}) +add_library(cycles_bvh ${sources} ${headers}) diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake index 6da71c8235f..01f3cc1af0d 100644 --- a/intern/cycles/cmake/external_libs.cmake +++ b/intern/cycles/cmake/external_libs.cmake @@ -1,227 +1,133 @@ -########################################################################### -# Windows and Darwin lib directory libraries - -IF(WIN32) - IF(CMAKE_CL_64) - SET(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/win64) - ELSE() - SET(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/windows) - ENDIF() -ENDIF() - -IF(APPLE) - SET(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/darwin-9.x.universal) - SET(OIIO_STATIC ON) -ENDIF() - -IF(LIBDIR) - SET(CYCLES_OIIO ${LIBDIR}/openimageio) - SET(CYCLES_BOOST ${LIBDIR}/boost) - SET(Boost_USE_STATIC_LIBS ON) -ENDIF() - -########################################################################### -# Boost setup - -SET(BOOST_ROOT ${CYCLES_BOOST}) - -SET(Boost_ADDITIONAL_VERSIONS "1.45" "1.44" - "1.43" "1.43.0" "1.42" "1.42.0" - "1.41" "1.41.0" "1.40" "1.40.0" - "1.39" "1.39.0" "1.38" "1.38.0" - "1.37" "1.37.0" "1.34.1" "1_34_1") - -SET(Boost_USE_MULTITHREADED ON) - -FIND_PACKAGE(Boost 1.34 REQUIRED COMPONENTS filesystem regex system thread) - -MESSAGE(STATUS "Boost found ${Boost_FOUND}") -MESSAGE(STATUS "Boost version ${Boost_VERSION}") -MESSAGE(STATUS "Boost include dirs ${Boost_INCLUDE_DIRS}") -MESSAGE(STATUS "Boost library dirs ${Boost_LIBRARY_DIRS}") -MESSAGE(STATUS "Boost libraries ${Boost_LIBRARIES}") - -INCLUDE_DIRECTORIES("${Boost_INCLUDE_DIRS}") -LINK_DIRECTORIES("${Boost_LIBRARY_DIRS}") - -ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB) - -IF(WITH_CYCLES_NETWORK) - ADD_DEFINITIONS(-DWITH_NETWORK) -ENDIF() - -IF(WITH_CYCLES_MULTI) - ADD_DEFINITIONS(-DWITH_MULTI) -ENDIF() - -########################################################################### -# OpenImageIO - -FIND_LIBRARY(OPENIMAGEIO_LIBRARY NAMES OpenImageIO PATHS ${CYCLES_OIIO}/lib ${CYCLES_OIIO}/dist) -FIND_PATH(OPENIMAGEIO_INCLUDES OpenImageIO/imageio.h PATHS ${CYCLES_OIIO}/include ${CYCLES_OIIO}/dist) -FIND_PROGRAM(OPENIMAGEIO_IDIFF NAMES idiff PATHS ${CYCLES_OIIO}/bin ${CYCLES_OIIO}/dist) - -IF(OPENIMAGEIO_INCLUDES AND OPENIMAGEIO_LIBRARY) - SET(OPENIMAGEIO_FOUND TRUE) - MESSAGE(STATUS "OpenImageIO includes = ${OPENIMAGEIO_INCLUDES}") - MESSAGE(STATUS "OpenImageIO library = ${OPENIMAGEIO_LIBRARY}") -ELSE() - MESSAGE(STATUS "OpenImageIO not found") -ENDIF() - -ADD_DEFINITIONS(-DWITH_OIIO) -INCLUDE_DIRECTORIES(${OPENIMAGEIO_INCLUDES} ${OPENIMAGEIO_INCLUDES}/OpenImageIO) - -IF(OIIO_STATIC) - ADD_DEFINITIONS(-DOIIO_STATIC_BUILD) - - SET(OPENIMAGEIO_LIBRARY - ${OPENIMAGEIO_LIBRARY} - ${PNG_LIBRARIES} - ${JPEG_LIBRARIES} - ${TIFF_LIBRARY} - ${OPENEXR_LIBRARIES} - ${ZLIB_LIBRARIES}) - - LINK_DIRECTORIES( - ${JPEG_LIBPATH} - ${PNG_LIBPATH} - ${TIFF_LIBPATH} - ${OPENEXR_LIBPATH} - ${ZLIB_LIBPATH}) -ENDIF() ########################################################################### # GLUT -IF(WITH_CYCLES_TEST) - SET(GLUT_ROOT_PATH ${CYCLES_GLUT}) +if(WITH_CYCLES_TEST) + set(GLUT_ROOT_PATH ${CYCLES_GLUT}) - FIND_PACKAGE(GLUT) - MESSAGE(STATUS "GLUT_FOUND=${GLUT_FOUND}") + find_package(GLUT) + message(STATUS "GLUT_FOUND=${GLUT_FOUND}") - INCLUDE_DIRECTORIES(${GLUT_INCLUDE_DIR}) -ENDIF() + include_directories(${GLUT_INCLUDE_DIR}) +endif() -IF(WITH_BUILTIN_GLEW) - SET(CYCLES_GLEW_LIBRARY extern_glew) -ELSE() - SET(CYCLES_GLEW_LIBRARY ${GLEW_LIBRARY}) -ENDIF() +if(WITH_BUILTIN_GLEW) + set(CYCLES_GLEW_LIBRARY extern_glew) +else() + set(CYCLES_GLEW_LIBRARY ${GLEW_LIBRARY}) +endif() ########################################################################### # OpenShadingLanguage -IF(WITH_CYCLES_OSL) +if(WITH_CYCLES_OSL) - MESSAGE(STATUS "CYCLES_OSL = ${CYCLES_OSL}") + set(CYCLES_OSL "" CACHE PATH "Path to OpenShadingLanguage installation") - FIND_LIBRARY(OSL_LIBRARIES NAMES oslexec oslcomp oslquery PATHS ${CYCLES_OSL}/lib ${CYCLES_OSL}/dist) - FIND_PATH(OSL_INCLUDES OSL/oslclosure.h PATHS ${CYCLES_OSL}/include ${CYCLES_OSL}/dist) - FIND_PROGRAM(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin ${CYCLES_OSL}/dist) + message(STATUS "CYCLES_OSL = ${CYCLES_OSL}") - IF(OSL_INCLUDES AND OSL_LIBRARIES AND OSL_COMPILER) - SET(OSL_FOUND TRUE) - MESSAGE(STATUS "OSL includes = ${OSL_INCLUDES}") - MESSAGE(STATUS "OSL library = ${OSL_LIBRARIES}") - MESSAGE(STATUS "OSL compiler = ${OSL_COMPILER}") - ELSE() - MESSAGE(STATUS "OSL not found") - ENDIF() + find_library(OSL_LIBRARIES NAMES oslexec oslcomp oslquery PATHS ${CYCLES_OSL}/lib ${CYCLES_OSL}/dist) + find_path(OSL_INCLUDES OSL/oslclosure.h PATHS ${CYCLES_OSL}/include ${CYCLES_OSL}/dist) + find_program(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin ${CYCLES_OSL}/dist) - ADD_DEFINITIONS(-DWITH_OSL) - INCLUDE_DIRECTORIES(${OSL_INCLUDES} ${OSL_INCLUDES}/OSL ${OSL_INCLUDES}/../../../src/liboslexec) + if(OSL_INCLUDES AND OSL_LIBRARIES AND OSL_COMPILER) + set(OSL_FOUND TRUE) + message(STATUS "OSL includes = ${OSL_INCLUDES}") + message(STATUS "OSL library = ${OSL_LIBRARIES}") + message(STATUS "OSL compiler = ${OSL_COMPILER}") + else() + message(STATUS "OSL not found") + endif() -ENDIF() + include_directories(${OSL_INCLUDES} ${OSL_INCLUDES}/OSL ${OSL_INCLUDES}/../../../src/liboslexec) + +endif() ########################################################################### # Partio -IF(WITH_CYCLES_PARTIO) +if(WITH_CYCLES_PARTIO) - MESSAGE(STATUS "CYCLES_PARTIO = ${CYCLES_PARTIO}") + set(CYCLES_PARTIO "" CACHE PATH "Path to Partio installation") - FIND_LIBRARY(PARTIO_LIBRARIES NAMES partio PATHS ${CYCLES_PARTIO}/lib) - FIND_PATH(PARTIO_INCLUDES Partio.h ${CYCLES_PARTIO}/include) + message(STATUS "CYCLES_PARTIO = ${CYCLES_PARTIO}") - FIND_PACKAGE(ZLIB) + find_library(PARTIO_LIBRARIES NAMES partio PATHS ${CYCLES_PARTIO}/lib) + find_path(PARTIO_INCLUDES Partio.h ${CYCLES_PARTIO}/include) - IF(PARTIO_INCLUDES AND PARTIO_LIBRARIES AND ZLIB_LIBRARIES) - LIST(APPEND PARTIO_LIBRARIES ${ZLIB_LIBRARIES}) - SET(PARTIO_FOUND TRUE) - MESSAGE(STATUS "PARTIO includes = ${PARTIO_INCLUDES}") - MESSAGE(STATUS "PARTIO library = ${PARTIO_LIBRARIES}") - ELSE() - MESSAGE(STATUS "PARTIO not found") - ENDIF() + find_package(ZLIB) - ADD_DEFINITIONS(-DWITH_PARTIO) - INCLUDE_DIRECTORIES(${PARTIO_INCLUDES}) + if(PARTIO_INCLUDES AND PARTIO_LIBRARIES AND ZLIB_LIBRARIES) + list(APPEND PARTIO_LIBRARIES ${ZLIB_LIBRARIES}) + set(PARTIO_FOUND TRUE) + message(STATUS "PARTIO includes = ${PARTIO_INCLUDES}") + message(STATUS "PARTIO library = ${PARTIO_LIBRARIES}") + else() + message(STATUS "PARTIO not found") + endif() -ENDIF() + include_directories(${PARTIO_INCLUDES}) + +endif() ########################################################################### # Blender -IF(WITH_CYCLES_BLENDER) - # FIND_PATH(BLENDER_INCLUDE_DIRS RNA_blender.h PATHS ${CMAKE_BINARY_DIR}/include) - SET(BLENDER_INCLUDE_DIRS +if(WITH_CYCLES_BLENDER) + + set(BLENDER_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/intern/guardedalloc ${CMAKE_SOURCE_DIR}/source/blender/makesdna ${CMAKE_SOURCE_DIR}/source/blender/makesrna ${CMAKE_SOURCE_DIR}/source/blender/blenloader ${CMAKE_BINARY_DIR}/source/blender/makesrna/intern) - IF(WIN32) - SET(BLENDER_LIBRARIES ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/blender.lib) - ENDIF() ADD_DEFINITIONS(-DBLENDER_PLUGIN) -ENDIF() +endif() ########################################################################### # CUDA -IF(WITH_CYCLES_CUDA) +if(WITH_CYCLES_CUDA) - FIND_LIBRARY(CUDA_LIBRARIES NAMES cuda PATHS ${CYCLES_CUDA}/lib ${CYCLES_CUDA}/lib/Win32 NO_DEFAULT_PATH) - FIND_PATH(CUDA_INCLUDES cuda.h ${CYCLES_CUDA}/include NO_DEFAULT_PATH) - FIND_PROGRAM(CUDA_NVCC NAMES nvcc PATHS ${CYCLES_CUDA}/bin NO_DEFAULT_PATH) + set(CYCLES_CUDA "/usr/local/cuda" CACHE PATH "Path to CUDA installation") + set(CYCLES_CUDA_ARCH sm_10 sm_11 sm_12 sm_13 sm_20 sm_21 CACHE STRING "CUDA architectures to build for") + set(CYCLES_CUDA_MAXREG 24 CACHE STRING "CUDA maximum number of register to use") - IF(CUDA_INCLUDES AND CUDA_LIBRARIES AND CUDA_NVCC) - MESSAGE(STATUS "CUDA includes = ${CUDA_INCLUDES}") - MESSAGE(STATUS "CUDA library = ${CUDA_LIBRARIES}") - MESSAGE(STATUS "CUDA nvcc = ${CUDA_NVCC}") - ELSE() - MESSAGE(STATUS "CUDA not found") - ENDIF() + find_library(CUDA_LIBRARIES NAMES cuda PATHS ${CYCLES_CUDA}/lib ${CYCLES_CUDA}/lib/Win32 NO_DEFAULT_PATH) + find_path(CUDA_INCLUDES cuda.h ${CYCLES_CUDA}/include NO_DEFAULT_PATH) + find_program(CUDA_NVCC NAMES nvcc PATHS ${CYCLES_CUDA}/bin NO_DEFAULT_PATH) - ADD_DEFINITIONS(-DWITH_CUDA) - INCLUDE_DIRECTORIES(${CUDA_INCLUDES}) + if(CUDA_INCLUDES AND CUDA_LIBRARIES AND CUDA_NVCC) + message(STATUS "CUDA includes = ${CUDA_INCLUDES}") + message(STATUS "CUDA library = ${CUDA_LIBRARIES}") + message(STATUS "CUDA nvcc = ${CUDA_NVCC}") + else() + message(STATUS "CUDA not found") + endif() -ENDIF() + include_directories(${CUDA_INCLUDES}) + +endif() ########################################################################### # OpenCL -IF(WITH_CYCLES_OPENCL) +if(WITH_CYCLES_OPENCL) - IF(APPLE) - SET(OPENCL_INCLUDES "/System/Library/Frameworks/OpenCL.framework/Headers") - SET(OPENCL_LIBRARIES "-framework OpenCL") - ENDIF() + if(APPLE) + set(OPENCL_INCLUDE_DIR "/System/Library/Frameworks/OpenCL.framework/Headers") + set(OPENCL_LIBRARIES "-framework OpenCL") + endif() - IF(WIN32) - SET(OPENCL_INCLUDES "") - SET(OPENCL_LIBRARIES "OpenCL") - ENDIF() + if(WIN32) + set(OPENCL_INCLUDE_DIR "") + set(OPENCL_LIBRARIES "OpenCL") + endif() - IF(UNIX AND NOT APPLE) - SET(OPENCL_INCLUDES ${CYCLES_OPENCL}) - SET(OPENCL_LIBRARIES "OpenCL") - ENDIF() - - ADD_DEFINITIONS(-DWITH_OPENCL) - INCLUDE_DIRECTORIES(${OPENCL_INCLUDES}) - -ENDIF() + if(UNIX AND NOT APPLE) + set(OPENCL_INCLUDE_DIR ${CYCLES_OPENCL}) + set(OPENCL_LIBRARIES "OpenCL") + endif() +endif() diff --git a/intern/cycles/cmake/platforms.cmake b/intern/cycles/cmake/platforms.cmake deleted file mode 100644 index e4364d8fc5d..00000000000 --- a/intern/cycles/cmake/platforms.cmake +++ /dev/null @@ -1,27 +0,0 @@ - -# Platform specific build flags - -SET(GCC_WARNING_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-long-long") -SET(GCC_OPTIM_FLAGS "-ffast-math -fPIC -msse -msse2 -msse3 -mtune=native") - -IF(APPLE) - SET(CMAKE_CXX_FLAGS "${GCC_WARNING_FLAGS} ${GCC_OPTIM_FLAGS}") - SET(RTTI_DISABLE_FLAGS "-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID") - SET(PYTHON_MODULE_FLAGS "-undefined dynamic_lookup") -ENDIF(APPLE) - -IF(WIN32) - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Ox /Ot /arch:SSE2 -D_CRT_SECURE_NO_WARNINGS /EHsc /fp:fast") - SET(RTTI_DISABLE_FLAGS "/GR- -DBOOST_NO_RTTI -DBOOST_NO_TYPEID") - SET(PYTHON_MODULE_FLAGS "-DLL") -ENDIF(WIN32) - -IF(UNIX AND NOT APPLE) - SET(CMAKE_CXX_FLAGS "${GCC_WARNING_FLAGS} ${GCC_OPTIM_FLAGS}") - SET(RTTI_DISABLE_FLAGS "-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID") - SET(PYTHON_MODULE_FLAGS "-fPIC") -ENDIF(UNIX AND NOT APPLE) - -ADD_DEFINITIONS(-DCCL_NAMESPACE_BEGIN=namespace\ ccl\ {) -ADD_DEFINITIONS(-DCCL_NAMESPACE_END=}) - diff --git a/intern/cycles/device/CMakeLists.txt b/intern/cycles/device/CMakeLists.txt index 712351b9558..55941438720 100644 --- a/intern/cycles/device/CMakeLists.txt +++ b/intern/cycles/device/CMakeLists.txt @@ -1,5 +1,5 @@ -INCLUDE_DIRECTORIES( +include_directories( . ../kernel ../kernel/svm @@ -9,7 +9,7 @@ INCLUDE_DIRECTORIES( ${OPENGL_INCLUDE_DIR} ${GLEW_INCLUDE_PATH}) -SET(sources +set(sources device.cpp device_cpu.cpp device_cuda.cpp @@ -17,10 +17,10 @@ SET(sources device_network.cpp device_opencl.cpp) -SET(headers +set(headers device.h device_intern.h device_network.h) -ADD_LIBRARY(cycles_device ${sources} ${headers}) +add_library(cycles_device ${sources} ${headers}) diff --git a/intern/cycles/doc/CMakeLists.txt b/intern/cycles/doc/CMakeLists.txt index 584bcc8079c..4ae0d12a060 100644 --- a/intern/cycles/doc/CMakeLists.txt +++ b/intern/cycles/doc/CMakeLists.txt @@ -1,3 +1,3 @@ -INSTALL(DIRECTORY license DESTINATION ${CYCLES_INSTALL_PATH}/cycles PATTERN ".svn" EXCLUDE) +add_subdirectory(license) diff --git a/intern/cycles/doc/license/CMakeLists.txt b/intern/cycles/doc/license/CMakeLists.txt new file mode 100644 index 00000000000..14049d4a88a --- /dev/null +++ b/intern/cycles/doc/license/CMakeLists.txt @@ -0,0 +1,13 @@ + +set(licenses + Apache_2.0.txt + Blender.txt + GPL.txt + ILM.txt + NVidia.txt + OSL.txt + Sobol.txt + readme.txt) + +delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${licenses}" ${CYCLES_INSTALL_PATH}/license) + diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt index b6d758369cc..7c77bf7ff82 100644 --- a/intern/cycles/kernel/CMakeLists.txt +++ b/intern/cycles/kernel/CMakeLists.txt @@ -1,10 +1,10 @@ -SET(sources +set(sources kernel.cpp kernel.cl kernel.cu) -SET(headers +set(headers kernel.h kernel_bvh.h kernel_camera.h @@ -29,7 +29,7 @@ SET(headers kernel_triangle.h kernel_types.h) -SET(svm_headers +set(svm_headers svm/bsdf.h svm/bsdf_ashikhmin_velvet.h svm/bsdf_diffuse.h @@ -72,7 +72,7 @@ SET(svm_headers svm/volume.h ) -SET(util_headers +set(util_headers ../util/util_color.h ../util/util_math.h ../util/util_transform.h @@ -80,60 +80,61 @@ SET(util_headers # CUDA module -IF("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") - SET(CUDA_BITS 64) -ELSE() - SET(CUDA_BITS 32) -ENDIF() +if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + set(CUDA_BITS 64) +else() + set(CUDA_BITS 32) +endif() -IF(WITH_CYCLES_CUDA) - SET(cuda_sources kernel.cu ${headers} ${svm_headers}) - SET(cuda_cubins) +if(WITH_CYCLES_CUDA) + set(cuda_sources kernel.cu ${headers} ${svm_headers}) + set(cuda_cubins) - FOREACH(arch ${CYCLES_CUDA_ARCH}) - SET(cuda_cubin kernel_${arch}.cubin) + foreach(arch ${CYCLES_CUDA_ARCH}) + set(cuda_cubin kernel_${arch}.cubin) - ADD_CUSTOM_COMMAND( + add_custom_command( OUTPUT ${cuda_cubin} COMMAND ${CUDA_NVCC} -arch=${arch} -m${CUDA_BITS} --cubin ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cu --use_fast_math -o ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} --ptxas-options="-v" --maxrregcount=${CYCLES_CUDA_MAXREG} --opencc-options -OPT:Olimit=0 -I${CMAKE_CURRENT_SOURCE_DIR}/../util -I${CMAKE_CURRENT_SOURCE_DIR}/svm -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= -DNVCC DEPENDS ${cuda_sources}) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} DESTINATION ${CYCLES_INSTALL_PATH}/cycles/lib) - LIST(APPEND cuda_cubins ${cuda_cubin}) - ENDFOREACH() + delayed_install("${CMAKE_CURRENT_BINARY_DIR}" "${cuda_cubin}" ${CYCLES_INSTALL_PATH}/lib) + list(APPEND cuda_cubins ${cuda_cubin}) + endforeach() - ADD_CUSTOM_TARGET(cycles_kernel_cuda ALL DEPENDS ${cuda_cubins}) -ENDIF() + add_custom_target(cycles_kernel_cuda ALL DEPENDS ${cuda_cubins}) +endif() # OSL module -IF(WITH_CYCLES_OSL) - ADD_SUBDIRECTORY(osl) -ENDIF() +if(WITH_CYCLES_OSL) + add_subdirectory(osl) +endif() # CPU module -INCLUDE_DIRECTORIES(. ../util osl svm) +include_directories(. ../util osl svm) -ADD_LIBRARY(cycles_kernel ${sources} ${headers} ${svm_headers}) +add_library(cycles_kernel ${sources} ${headers} ${svm_headers}) -IF(WITH_CYCLES_CUDA) - ADD_DEPENDENCIES(cycles_kernel cycles_kernel_cuda) -ENDIF() +if(WITH_CYCLES_CUDA) + add_dependencies(cycles_kernel cycles_kernel_cuda) +endif() # OPENCL kernel -IF(WITH_CYCLES_OPENCL) - #SET(kernel_preprocessed ${CMAKE_CURRENT_BINARY_DIR}/kernel_preprocessed.cl) - #ADD_CUSTOM_COMMAND( +if(WITH_CYCLES_OPENCL) + #set(kernel_preprocessed ${CMAKE_CURRENT_BINARY_DIR}/kernel_preprocessed.cl) + #add_custom_command( # OUTPUT ${kernel_preprocessed} # COMMAND gcc -x c++ -E ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cl -I ${CMAKE_CURRENT_SOURCE_DIR}/../util/ -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= -DWITH_OPENCL -o ${kernel_preprocessed} # DEPENDS ${kernel_sources} ${util_headers}) - #ADD_CUSTOM_TARGET(cycles_kernel_preprocess ALL DEPENDS ${kernel_preprocessed}) - #INSTALL(FILES ${kernel_preprocessed} DESTINATION ${CYCLES_INSTALL_PATH}/cycles/kernel) + #add_custom_target(cycles_kernel_preprocess ALL DEPENDS ${kernel_preprocessed}) + #delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${kernel_preprocessed}" ${CYCLES_INSTALL_PATH}/kernel) - INSTALL(FILES kernel.cl ${headers} DESTINATION ${CYCLES_INSTALL_PATH}/cycles/kernel) - INSTALL(FILES ${svm_headers} DESTINATION ${CYCLES_INSTALL_PATH}/cycles/kernel/svm) - INSTALL(FILES ${util_headers} DESTINATION ${CYCLES_INSTALL_PATH}/cycles/kernel) -ENDIF() + delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "kernel.cl" ${CYCLES_INSTALL_PATH}/kernel) + delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${headers}" ${CYCLES_INSTALL_PATH}/kernel) + delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${svm_headers}" ${CYCLES_INSTALL_PATH}/kernel/svm) + delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${util_headers}" ${CYCLES_INSTALL_PATH}/kernel) +endif() diff --git a/intern/cycles/kernel/osl/CMakeLists.txt b/intern/cycles/kernel/osl/CMakeLists.txt index 31a162bdd0e..4a3a6f6798a 100644 --- a/intern/cycles/kernel/osl/CMakeLists.txt +++ b/intern/cycles/kernel/osl/CMakeLists.txt @@ -1,7 +1,7 @@ -INCLUDE_DIRECTORIES(. ../ ../svm ../../render ../../util ../../device) +include_directories(. ../ ../svm ../../render ../../util ../../device) -SET(sources +set(sources background.cpp bsdf_ashikhmin_velvet.cpp bsdf_diffuse.cpp @@ -19,15 +19,15 @@ SET(sources osl_shader.cpp vol_subsurface.cpp) -SET(headers +set(headers osl_closures.h osl_globals.h osl_services.h osl_shader.h) -SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${RTTI_DISABLE_FLAGS}") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${RTTI_DISABLE_FLAGS}") -ADD_LIBRARY(cycles_kernel_osl ${sources} ${headers}) +add_library(cycles_kernel_osl ${sources} ${headers}) -ADD_SUBDIRECTORY(nodes) +add_subdirectory(nodes) diff --git a/intern/cycles/kernel/osl/nodes/CMakeLists.txt b/intern/cycles/kernel/osl/nodes/CMakeLists.txt index 56e8ba0b5b6..365cc42ad6b 100644 --- a/intern/cycles/kernel/osl/nodes/CMakeLists.txt +++ b/intern/cycles/kernel/osl/nodes/CMakeLists.txt @@ -1,7 +1,7 @@ # OSL node shaders -SET(osl_sources +set(osl_sources node_add_closure.osl node_attribute.osl node_background.osl @@ -46,24 +46,24 @@ SET(osl_sources node_ward_bsdf.osl node_wood_texture.osl) -SET(osl_headers +set(osl_headers node_texture.h stdosl.h) -SET(oso_sources) +set(oso_sources) -FOREACH(_file ${osl_sources}) - SET(osl_file ${CMAKE_CURRENT_SOURCE_DIR}/${_file}) - STRING(REPLACE ".osl" ".oso" oso_file ${osl_file}) - STRING(REPLACE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} oso_file ${oso_file}) - ADD_CUSTOM_COMMAND( +foreach(_file ${osl_sources}) + set(osl_file ${CMAKE_CURRENT_SOURCE_DIR}/${_file}) + string(REPLACE ".osl" ".oso" oso_file ${osl_file}) + string(REPLACE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} oso_file ${oso_file}) + add_custom_command( OUTPUT ${oso_file} COMMAND ${OSL_COMPILER} -O2 ${osl_file} DEPENDS ${osl_file} ${osl_headers}) - LIST(APPEND oso_sources ${oso_file}) -ENDFOREACH() + list(APPEND oso_sources ${oso_file}) +endforeach() -ADD_CUSTOM_TARGET(shader ALL DEPENDS ${oso_sources} ${osl_headers}) +add_custom_target(shader ALL DEPENDS ${oso_sources} ${osl_headers}) -INSTALL(FILES ${oso_sources} DESTINATION ${CYCLES_INSTALL_PATH}/cycles/shader) +delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${oso_sources}" ${CYCLES_INSTALL_PATH}/shader) diff --git a/intern/cycles/render/CMakeLists.txt b/intern/cycles/render/CMakeLists.txt index 9a0583c48aa..c3d5ae1ea05 100644 --- a/intern/cycles/render/CMakeLists.txt +++ b/intern/cycles/render/CMakeLists.txt @@ -1,5 +1,5 @@ -INCLUDE_DIRECTORIES( +include_directories( . ../device ../kernel @@ -9,7 +9,7 @@ INCLUDE_DIRECTORIES( ../util ${GLEW_INCLUDE_PATH}) -SET(sources +set(sources attribute.cpp background.cpp buffers.cpp @@ -33,7 +33,7 @@ SET(sources svm.cpp tile.cpp) -SET(headers +set(headers attribute.h background.h buffers.h @@ -56,7 +56,7 @@ SET(headers svm.h tile.h) -SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${RTTI_DISABLE_FLAGS}") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${RTTI_DISABLE_FLAGS}") -ADD_LIBRARY(cycles_render ${sources} ${headers}) +add_library(cycles_render ${sources} ${headers}) diff --git a/intern/cycles/subd/CMakeLists.txt b/intern/cycles/subd/CMakeLists.txt index 5357df4fab7..79ed73134f2 100644 --- a/intern/cycles/subd/CMakeLists.txt +++ b/intern/cycles/subd/CMakeLists.txt @@ -1,7 +1,7 @@ -INCLUDE_DIRECTORIES(. ../util ../kernel ../kernel/svm ../render) +include_directories(. ../util ../kernel ../kernel/svm ../render) -SET(sources +set(sources subd_build.cpp subd_dice.cpp subd_mesh.cpp @@ -10,7 +10,7 @@ SET(sources subd_split.cpp subd_stencil.cpp) -SET(headers +set(headers subd_build.h subd_dice.h subd_edge.h @@ -22,5 +22,5 @@ SET(headers subd_stencil.h subd_vert.h) -ADD_LIBRARY(cycles_subd ${sources} ${headers}) +add_library(cycles_subd ${sources} ${headers}) diff --git a/intern/cycles/util/CMakeLists.txt b/intern/cycles/util/CMakeLists.txt index 380383e3146..4db90adc9e6 100644 --- a/intern/cycles/util/CMakeLists.txt +++ b/intern/cycles/util/CMakeLists.txt @@ -1,10 +1,10 @@ -INCLUDE_DIRECTORIES( +include_directories( . ${GLEW_INCLUDE_PATH} ${OPENGL_INCLUDE_DIR}) -SET(sources +set(sources util_cache.cpp util_cuda.cpp util_dynlib.cpp @@ -15,11 +15,11 @@ SET(sources util_time.cpp util_transform.cpp) -IF(WITH_CYCLES_TEST) - LIST(APPEND sources util_view.cpp) -ENDIF() +if(WITH_CYCLES_TEST) + list(APPEND sources util_view.cpp) +endif() -SET(headers +set(headers util_algorithm.h util_args.h util_boundbox.h @@ -49,5 +49,5 @@ SET(headers util_vector.h util_xml.h) -ADD_LIBRARY(cycles_util ${sources} ${headers}) +add_library(cycles_util ${sources} ${headers}) diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index 1bbf6e3b0dc..577fdce0ff3 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -275,6 +275,7 @@ void ED_area_overdraw(bContext *C) if(az->type==AZONE_AREA) { area_draw_azone(az->x1, az->y1, az->x2, az->y2); } else if(az->type==AZONE_REGION) { + if(0) { if(az->ar) { /* only display tab or icons when the region is hidden */ @@ -288,6 +289,8 @@ void ED_area_overdraw(bContext *C) region_draw_azone_icon(az); } } + + } } az->do_draw= 0; diff --git a/source/blender/imbuf/CMakeLists.txt b/source/blender/imbuf/CMakeLists.txt index 18b5eff5c73..de9fb323451 100644 --- a/source/blender/imbuf/CMakeLists.txt +++ b/source/blender/imbuf/CMakeLists.txt @@ -61,6 +61,7 @@ set(SRC intern/md5.c intern/metadata.c intern/module.c + intern/openimageio.cpp intern/png.c intern/radiance_hdr.c intern/readimage.c @@ -165,4 +166,11 @@ if(WITH_IMAGE_HDR) add_definitions(-DWITH_HDR) endif() +if(WITH_OPENIMAGEIO) + list(APPEND INC_SYS + ${OPENIMAGEIO_INCLUDES} + ) + # disabled for now add_definitions(-DWITH_OPENIMAGEIO ${OPENIMAGEIO_DEFINITIONS}) +endif() + blender_add_lib(bf_imbuf "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/blender/imbuf/IMB_imbuf_types.h b/source/blender/imbuf/IMB_imbuf_types.h index f5e2bf71468..c4872f370e5 100644 --- a/source/blender/imbuf/IMB_imbuf_types.h +++ b/source/blender/imbuf/IMB_imbuf_types.h @@ -169,39 +169,27 @@ typedef struct ImBuf { #define JPG (1 << 27) #define BMP (1 << 26) -#ifdef WITH_QUICKTIME #define QUICKTIME (1 << 25) -#endif -#ifdef WITH_HDR #define RADHDR (1 << 24) -#endif -#ifdef WITH_TIFF #define TIF (1 << 23) #define TIF_16BIT (1 << 8 ) -#endif #define OPENEXR (1 << 22) #define OPENEXR_HALF (1 << 8 ) #define OPENEXR_COMPRESS (7) -#ifdef WITH_CINEON #define CINEON (1 << 21) #define DPX (1 << 20) -#endif -#ifdef WITH_DDS #define DDS (1 << 19) -#endif -#ifdef WITH_OPENJPEG #define JP2 (1 << 18) #define JP2_12BIT (1 << 17) #define JP2_16BIT (1 << 16) #define JP2_YCC (1 << 15) #define JP2_CINE (1 << 14) #define JP2_CINE_48FPS (1 << 13) -#endif #define RAWTGA (TGA | 1) diff --git a/source/blender/imbuf/intern/IMB_filetype.h b/source/blender/imbuf/intern/IMB_filetype.h index cf0d0990d33..3a7725ae706 100644 --- a/source/blender/imbuf/intern/IMB_filetype.h +++ b/source/blender/imbuf/intern/IMB_filetype.h @@ -46,6 +46,9 @@ typedef struct ImFileType { int (*save)(struct ImBuf *ibuf, const char *name, int flags); void (*load_tile)(struct ImBuf *ibuf, unsigned char *mem, size_t size, int tx, int ty, unsigned int *rect); + int (*is_a_filepath)(const char *filepath); + struct ImBuf *(*load_filepath)(const char *filepath, int flags); + int flag; int filetype; } ImFileType; @@ -121,5 +124,20 @@ void imb_loadtiletiff(struct ImBuf *ibuf, unsigned char *mem, size_t size, int imb_savetiff(struct ImBuf *ibuf, const char *name, int flags); void *libtiff_findsymbol(char *name); +/* openimageio */ +#ifdef __cplusplus +extern "C" { +#endif + +int imb_is_a_openimageio(unsigned char *buf); +int imb_is_a_filepath_openimageio(const char *filepath); +int imb_ftype_openimageio(struct ImFileType *type, struct ImBuf *ibuf); +struct ImBuf *imb_load_openimageio(const char *filepath, int flags); +int imb_save_openimageio(struct ImBuf *ibuf, const char *filepath, int flags); + +#ifdef __cplusplus +} +#endif + #endif /* IMB_FILETYPE_H */ diff --git a/source/blender/imbuf/intern/filetype.c b/source/blender/imbuf/intern/filetype.c index c5121189952..47be6f609c8 100644 --- a/source/blender/imbuf/intern/filetype.c +++ b/source/blender/imbuf/intern/filetype.c @@ -51,9 +51,6 @@ static int imb_ftype_default(ImFileType *type, ImBuf *ibuf) { return (ibuf->ftyp static int imb_ftype_cocoa(ImFileType *type, ImBuf *ibuf) { return (ibuf->ftype & TIF); } #endif static int imb_ftype_iris(ImFileType *type, ImBuf *ibuf) { (void)type; return (ibuf->ftype == IMAGIC); } -#ifdef WITH_QUICKTIME -static int imb_ftype_quicktime(ImFileType *type, ImBuf *ibuf) { return 0; } // XXX -#endif #ifdef WITH_QUICKTIME void quicktime_init(void); @@ -61,36 +58,39 @@ void quicktime_exit(void); #endif ImFileType IMB_FILE_TYPES[]= { - {NULL, NULL, imb_is_a_jpeg, imb_ftype_default, imb_load_jpeg, imb_savejpeg, NULL, 0, JPG}, - {NULL, NULL, imb_is_a_png, imb_ftype_default, imb_loadpng, imb_savepng, NULL, 0, PNG}, - {NULL, NULL, imb_is_a_bmp, imb_ftype_default, imb_bmp_decode, imb_savebmp, NULL, 0, BMP}, - {NULL, NULL, imb_is_a_targa, imb_ftype_default, imb_loadtarga, imb_savetarga, NULL, 0, TGA}, - {NULL, NULL, imb_is_a_iris, imb_ftype_iris, imb_loadiris, imb_saveiris, NULL, 0, IMAGIC}, +#ifdef WITH_OPENIMAGEIO + {NULL, NULL, imb_is_a_openimageio, imb_ftype_openimageio, NULL, imb_save_openimageio, NULL, imb_is_a_filepath_openimageio, imb_load_openimageio, 0, 0}, +#endif + {NULL, NULL, imb_is_a_jpeg, imb_ftype_default, imb_load_jpeg, imb_savejpeg, NULL, NULL, NULL, 0, JPG}, + {NULL, NULL, imb_is_a_png, imb_ftype_default, imb_loadpng, imb_savepng, NULL, NULL, NULL, 0, PNG}, + {NULL, NULL, imb_is_a_bmp, imb_ftype_default, imb_bmp_decode, imb_savebmp, NULL, NULL, NULL, 0, BMP}, + {NULL, NULL, imb_is_a_targa, imb_ftype_default, imb_loadtarga, imb_savetarga, NULL, NULL, NULL, 0, TGA}, + {NULL, NULL, imb_is_a_iris, imb_ftype_iris, imb_loadiris, imb_saveiris, NULL, NULL, NULL, 0, IMAGIC}, #ifdef WITH_CINEON - {NULL, NULL, imb_is_dpx, imb_ftype_default, imb_loaddpx, imb_save_dpx, NULL, IM_FTYPE_FLOAT, DPX}, - {NULL, NULL, imb_is_cineon, imb_ftype_default, imb_loadcineon, imb_savecineon, NULL, IM_FTYPE_FLOAT, CINEON}, + {NULL, NULL, imb_is_dpx, imb_ftype_default, imb_loaddpx, imb_save_dpx, NULL, NULL, NULL, IM_FTYPE_FLOAT, DPX}, + {NULL, NULL, imb_is_cineon, imb_ftype_default, imb_loadcineon, imb_savecineon, NULL, NULL, NULL, IM_FTYPE_FLOAT, CINEON}, #endif #ifdef WITH_TIFF - {imb_inittiff, NULL, imb_is_a_tiff, imb_ftype_default, imb_loadtiff, imb_savetiff, imb_loadtiletiff, 0, TIF}, + {imb_inittiff, NULL, imb_is_a_tiff, imb_ftype_default, imb_loadtiff, imb_savetiff, imb_loadtiletiff, NULL, NULL, 0, TIF}, #elif defined(__APPLE__) && defined(IMBUF_COCOA) - {NULL, NULL, imb_is_a_cocoa, imb_ftype_cocoa, imb_imb_cocoaLoadImage, imb_savecocoa, NULL, 0, TIF}, + {NULL, NULL, imb_is_a_cocoa, imb_ftype_cocoa, imb_imb_cocoaLoadImage, imb_savecocoa, NULL, NULL, NULL, 0, TIF}, #endif #ifdef WITH_HDR - {NULL, NULL, imb_is_a_hdr, imb_ftype_default, imb_loadhdr, imb_savehdr, NULL, IM_FTYPE_FLOAT, RADHDR}, + {NULL, NULL, imb_is_a_hdr, imb_ftype_default, imb_loadhdr, imb_savehdr, NULL, NULL, NULL, IM_FTYPE_FLOAT, RADHDR}, #endif #ifdef WITH_OPENEXR - {NULL, NULL, imb_is_a_openexr, imb_ftype_default, imb_load_openexr, imb_save_openexr, NULL, IM_FTYPE_FLOAT, OPENEXR}, + {NULL, NULL, imb_is_a_openexr, imb_ftype_default, imb_load_openexr, imb_save_openexr, NULL, NULL, NULL, IM_FTYPE_FLOAT, OPENEXR}, #endif #ifdef WITH_OPENJPEG - {NULL, NULL, imb_is_a_jp2, imb_ftype_default, imb_jp2_decode, imb_savejp2, NULL, IM_FTYPE_FLOAT, JP2}, + {NULL, NULL, imb_is_a_jp2, imb_ftype_default, imb_jp2_decode, imb_savejp2, NULL, NULL, NULL, IM_FTYPE_FLOAT, JP2}, #endif #ifdef WITH_DDS - {NULL, NULL, imb_is_a_dds, imb_ftype_default, imb_load_dds, NULL, NULL, 0, DDS}, + {NULL, NULL, imb_is_a_dds, imb_ftype_default, imb_load_dds, NULL, NULL, NULL, NULL, 0, DDS}, #endif #ifdef WITH_QUICKTIME - {quicktime_init, quicktime_exit, imb_is_a_quicktime, imb_ftype_quicktime, imb_quicktime_decode, NULL, NULL, 0, QUICKTIME}, + {quicktime_init, quicktime_exit, imb_is_a_quicktime, NULL, imb_quicktime_decode, NULL, NULL, NULL, 0, QUICKTIME}, #endif - {NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0}}; + {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0}}; void imb_filetypes_init(void) { diff --git a/source/blender/imbuf/intern/openimageio.cpp b/source/blender/imbuf/intern/openimageio.cpp new file mode 100644 index 00000000000..2e5dd5b6613 --- /dev/null +++ b/source/blender/imbuf/intern/openimageio.cpp @@ -0,0 +1,237 @@ +/* + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + * $Id: png.c 36777 2011-05-19 11:54:03Z blendix $ + */ + +/** \file blender/imbuf/intern/png.c + * \ingroup imbuf + */ + +#ifdef WITH_OPENIMAGEIO + +#include "MEM_sys_types.h" + +#include "imbuf.h" + +extern "C" { + +#include "IMB_imbuf_types.h" +#include "IMB_imbuf.h" + +#include "IMB_allocimbuf.h" +#include "IMB_metadata.h" +#include "IMB_filetype.h" + +} + +#include + +OIIO_NAMESPACE_USING + +int imb_is_a_openimageio(unsigned char *buf) +{ + return 0; +} + +int imb_is_a_filepath_openimageio(const char *filepath) +{ + ImageInput *in = ImageInput::create(filepath); + ImageSpec spec; + int recognized = in->open(filepath, spec); + in->close(); + + return recognized; +} + +template static void pack_pixels(T *pixels, int width, int height, int components, T alpha) +{ + if(components == 3) { + for(int i = width*height-1; i >= 0; i--) { + pixels[i*4+3] = alpha; + pixels[i*4+2] = pixels[i*3+2]; + pixels[i*4+1] = pixels[i*3+1]; + pixels[i*4+0] = pixels[i*3+0]; + } + } + else if(components == 1) { + for(int i = width*height-1; i >= 0; i--) { + pixels[i*4+3] = alpha; + pixels[i*4+2] = pixels[i]; + pixels[i*4+1] = pixels[i]; + pixels[i*4+0] = pixels[i]; + } + } +} + +int imb_ftype_openimageio(ImFileType *type, ImBuf *ibuf) +{ + return ibuf->ftype & (PNG|TGA|JPG|BMP|RADHDR|TIF|OPENEXR|CINEON|DPX|DDS|JP2); +} + +static int format_name_to_ftype(const char *format_name) +{ + if(strcmp(format_name, "png") == 0) + return PNG; + else if(strcmp(format_name, "targa") == 0) + return TGA; /* RAWTGA */ + else if(strcmp(format_name, "jpeg") == 0) + return JPG; + else if(strcmp(format_name, "bmp") == 0) + return BMP; + else if(strcmp(format_name, "hdr") == 0) + return RADHDR; + else if(strcmp(format_name, "tiff") == 0) + return TIF; /* TIF_16BIT */ + else if(strcmp(format_name, "openexr") == 0) + return OPENEXR; /* OPENEXR_HALF, OPENEXR_COMPRESS */ + else if(strcmp(format_name, "cineon") == 0) + return CINEON; + else if(strcmp(format_name, "dpx") == 0) + return DPX; + else if(strcmp(format_name, "dds") == 0) + return DDS; + else if(strcmp(format_name, "jpeg2000") == 0) + return JP2; /* JP2_12BIT, JP2_16BIT, JP2_YCC , JP2_CINE , JP2_CINE_48FPS */ + + /* not handled: "field3d", "fits", "ico", "iff", "pnm", "ptex", "sgi", "zfile" */ + + return 0; +} + +ImBuf *imb_load_openimageio(const char *filepath, int flags) +{ + ImageInput *in = ImageInput::create(filepath); + ImageSpec spec; + bool success; + + if(!in->open(filepath, spec)) { + delete in; + return NULL; + } + + /* we only handle certain number of components */ + int width = spec.width; + int height = spec.height; + int components = spec.nchannels; + + if(!(components == 1 || components == 3 || components == 4)) { + delete in; + return NULL; + } + + ImBuf *ibuf = IMB_allocImBuf(width, height, 32, 0); + ibuf->ftype = format_name_to_ftype(in->format_name()); + + /* TODO: handle oiio:ColorSpace, oiio:Gamma, metadata, multilayer, size_t_safe */ + + /* read RGBA pixels */ + if(spec.format == TypeDesc::UINT8 || spec.format == TypeDesc::INT8) { + //if(in->get_string_attribute("oiio:ColorSpace") == "sRGB") + ibuf->profile = IB_PROFILE_SRGB; + + imb_addrectImBuf(ibuf); + + uint8_t *pixels = (uint8_t*)ibuf->rect; + int scanlinesize = width*components; + + success = in->read_image(TypeDesc::UINT8, + pixels + (height-1)*scanlinesize, + AutoStride, + -scanlinesize*sizeof(uint8_t), + AutoStride); + + pack_pixels(pixels, width, height, components, 255); + } + else { + ibuf->profile = IB_PROFILE_LINEAR_RGB; /* XXX assumption */ + + imb_addrectfloatImBuf(ibuf); + + float *pixels = ibuf->rect_float; + int scanlinesize = width*components; + + success = in->read_image(TypeDesc::FLOAT, + pixels + (height-1)*scanlinesize, + AutoStride, + -scanlinesize*sizeof(float), + AutoStride); + + pack_pixels(pixels, width, height, components, 1.0f); + } + + if(!success) + fprintf(stderr, "OpenImageIO: error loading image: %s\n", in->geterror().c_str()); + + in->close(); + delete in; + + return ibuf; +} + +int imb_save_openimageio(struct ImBuf *ibuf, const char *filepath, int flags) +{ + ImageOutput *out = ImageOutput::create(filepath); + + if(ibuf->rect_float) { + /* XXX profile */ + + /* save as float image XXX works? */ + ImageSpec spec(ibuf->x, ibuf->y, 4, TypeDesc::FLOAT); + int scanlinesize = ibuf->x*4; + + out->open(filepath, spec); + + /* conversion for different top/bottom convention */ + out->write_image(TypeDesc::FLOAT, + ibuf->rect_float + (ibuf->y-1)*scanlinesize, + AutoStride, + -scanlinesize*sizeof(float), + AutoStride); + } + else { + /* save as 8bit image */ + ImageSpec spec(ibuf->x, ibuf->y, 4, TypeDesc::UINT8); + int scanlinesize = ibuf->x*4; + + out->open(filepath, spec); + + /* conversion for different top/bottom convention */ + out->write_image(TypeDesc::UINT8, + (uint8_t*)ibuf->rect + (ibuf->y-1)*scanlinesize, + AutoStride, + -scanlinesize*sizeof(uint8_t), + AutoStride); + } + + out->close(); + delete out; + + return 1; +} + +#endif /* WITH_OPENIMAGEIO */ + diff --git a/source/blender/imbuf/intern/readimage.c b/source/blender/imbuf/intern/readimage.c index 849b3ff0ce2..dac7e91fec6 100644 --- a/source/blender/imbuf/intern/readimage.c +++ b/source/blender/imbuf/intern/readimage.c @@ -51,6 +51,28 @@ #include "IMB_imbuf.h" #include "IMB_filetype.h" +static ImBuf *imb_ibImageFromFile(const char *filepath, int flags) +{ + ImBuf *ibuf; + ImFileType *type; + + for(type=IMB_FILE_TYPES; type->is_a; type++) { + if(type->load_filepath) { + ibuf= type->load_filepath(filepath, flags); + if(ibuf) { + if(flags & IB_premul) { + IMB_premultiply_alpha(ibuf); + ibuf->flags |= IB_premul; + } + + return ibuf; + } + } + } + + return NULL; +} + ImBuf *IMB_ibImageFromMemory(unsigned char *mem, size_t size, int flags) { ImBuf *ibuf; @@ -127,10 +149,15 @@ ImBuf *IMB_loadiffname(const char *name, int flags) imb_cache_filename(filename, name, flags); - file = open(filename, O_BINARY|O_RDONLY); - if(file < 0) return NULL; + ibuf= imb_ibImageFromFile(name, flags); - ibuf= IMB_loadifffile(file, flags); + if(!ibuf) { + file = open(filename, O_BINARY|O_RDONLY); + if(file < 0) return NULL; + + ibuf= IMB_loadifffile(file, flags); + close(file); + } if(ibuf) { BLI_strncpy(ibuf->name, name, sizeof(ibuf->name)); @@ -140,8 +167,6 @@ ImBuf *IMB_loadiffname(const char *name, int flags) if(flags & IB_fields) IMB_de_interlace(ibuf); } - close(file); - return ibuf; } @@ -184,7 +209,7 @@ static void imb_loadtilefile(ImBuf *ibuf, int file, int tx, int ty, unsigned int } for(type=IMB_FILE_TYPES; type->is_a; type++) - if(type->load_tile && type->ftype(type, ibuf)) + if(type->load_tile && type->ftype && type->ftype(type, ibuf)) type->load_tile(ibuf, mem, size, tx, ty, rect); if(munmap(mem, size)) diff --git a/source/blender/imbuf/intern/util.c b/source/blender/imbuf/intern/util.c index 6db8dcc06cf..f548d8eda92 100644 --- a/source/blender/imbuf/intern/util.c +++ b/source/blender/imbuf/intern/util.c @@ -155,6 +155,10 @@ static int IMB_ispic_name(const char *name) int fp, buf[10]; if(UTIL_DEBUG) printf("IMB_ispic_name: loading %s\n", name); + + /*for(type=IMB_FILE_TYPES; type->is_a; type++) + if(type->is_a_filepath && type->is_a_filepath(name)) + return type->filetype;*/ if(stat(name,&st) == -1) return FALSE; @@ -176,7 +180,7 @@ static int IMB_ispic_name(const char *name) return JPG; for(type=IMB_FILE_TYPES; type->is_a; type++) - if(type->is_a((uchar*)buf)) + if(type->is_a && type->is_a((uchar*)buf)) return type->filetype; return FALSE; diff --git a/source/blender/imbuf/intern/writeimage.c b/source/blender/imbuf/intern/writeimage.c index cd660e11f26..96e6df6d758 100644 --- a/source/blender/imbuf/intern/writeimage.c +++ b/source/blender/imbuf/intern/writeimage.c @@ -50,7 +50,7 @@ short IMB_saveiff(struct ImBuf *ibuf, const char *name, int flags) ibuf->flags = flags; for(type=IMB_FILE_TYPES; type->is_a; type++) { - if(type->save && type->ftype(type, ibuf)) { + if(type->save && type->ftype && type->ftype(type, ibuf)) { if(!(type->flag & IM_FTYPE_FLOAT)) { if(ibuf->rect==NULL && ibuf->rect_float) IMB_rect_from_float(ibuf); diff --git a/source/blender/python/intern/CMakeLists.txt b/source/blender/python/intern/CMakeLists.txt index 93a4b3ec269..3d509fa2827 100644 --- a/source/blender/python/intern/CMakeLists.txt +++ b/source/blender/python/intern/CMakeLists.txt @@ -91,4 +91,8 @@ if(WITH_AUDASPACE) add_definitions(-DWITH_AUDASPACE) endif() +if(WITH_CYCLES) + add_definitions(-DWITH_CYCLES) +endif() + blender_add_lib(bf_python "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/blender/python/intern/bpy_interface.c b/source/blender/python/intern/bpy_interface.c index 8bd6e6c611c..ea76c4bb377 100644 --- a/source/blender/python/intern/bpy_interface.c +++ b/source/blender/python/intern/bpy_interface.c @@ -172,6 +172,8 @@ void BPY_context_set(bContext *C) /* defined in AUD_C-API.cpp */ extern PyObject *AUD_initPython(void); +/* defined in cycles/blender */ +extern PyObject *CYCLES_initPython(void); static struct _inittab bpy_internal_modules[]= { {(char *)"noise", BPyInit_noise}, @@ -181,6 +183,9 @@ static struct _inittab bpy_internal_modules[]= { {(char *)"blf", BPyInit_blf}, #ifdef WITH_AUDASPACE {(char *)"aud", AUD_initPython}, +#endif +#ifdef WITH_CYCLES + {(char *)"libcycles_blender", CYCLES_initPython}, #endif {NULL, NULL} }; diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index 43fec85b5bf..850be368d4a 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -407,6 +407,22 @@ if(UNIX AND NOT APPLE) # install(CODE "execute_process(COMMAND find ${TARGETDIR}/${BLENDER_VERSION}/python/lib/ -name '*.so' -exec strip -s {} '\;')") endif() endif() + + # XXX this is non standard + if(WITH_OPENIMAGEIO) + set(oiio_install_libs + ${OPENIMAGEIO_LIBPATH}/lib${OPENIMAGEIO_LIBRARY}.so + ${BOOST_LIBRARIES}) + + list(REMOVE_ITEM oiio_install_libs optimized) + list(REMOVE_ITEM oiio_install_libs debug) + + install( + FILES ${oiio_install_libs} + DESTINATION ${TARGETDIR} + ) + endif() + elseif(WIN32) set(TARGETDIR_VER ${TARGETDIR}/${BLENDER_VERSION}) @@ -594,6 +610,14 @@ elseif(WIN32) ) endif() + if(WITH_OPENIMAGEIO) + install( + FILES + ${LIBDIR}/openimageio/bin/OpenImageIO.dll + DESTINATION ${TARGETDIR} + ) + endif() + elseif(APPLE) set(SOURCEDIR ${CMAKE_SOURCE_DIR}/source/darwin/blender.app) set(SOURCEINFO ${SOURCEDIR}/Contents/Info.plist) @@ -704,6 +728,9 @@ elseif(APPLE) endif() endif() +# install more files XXX pass target dir +delayed_do_install(${TARGETDIR_VER}) + unset(BLENDER_TEXT_FILES) @@ -847,6 +874,10 @@ endif() list(APPEND BLENDER_SORTED_LIBS bf_quicktime) endif() + if(WITH_CYCLES) + list(APPEND BLENDER_SORTED_LIBS bf_intern_cycles) + endif() + foreach(SORTLIB ${BLENDER_SORTED_LIBS}) set(REMLIB ${SORTLIB}) foreach(SEARCHLIB ${BLENDER_LINK_LIBS}) From c7fce6be2ea6dcc1ecdf52a8f5d1608d45117e8f Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 16 Aug 2011 18:59:45 +0000 Subject: [PATCH 090/241] Cycles: svn merge -r39132:39457 https://svn.blender.org/svnroot/bf-blender/trunk/blender --- CMakeLists.txt | 4 + GNUmakefile | 79 +- SConstruct | 19 +- build_files/buildbot/master.cfg | 2 +- build_files/buildbot/slave_compile.py | 2 +- build_files/buildbot/slave_pack.py | 2 +- .../cmake/config/blender_headless.cmake | 24 + build_files/cmake/config/blender_lite.cmake | 43 + build_files/cmake/config/bpy_module.cmake | 34 + build_files/cmake/macros.cmake | 7 + build_files/scons/config/darwin-config.py | 67 +- build_files/scons/tools/btools.py | 4 +- doc/doxygen/Doxyfile | 2 +- doc/python_api/rst/bge.logic.rst | 6 + intern/ghost/CMakeLists.txt | 20 +- intern/ghost/intern/GHOST_NDOFManager.cpp | 20 +- intern/ghost/intern/GHOST_NDOFManagerCocoa.h | 7 +- intern/ghost/intern/GHOST_NDOFManagerCocoa.mm | 32 +- intern/ghost/intern/GHOST_NDOFManagerX11.cpp | 25 +- intern/ghost/intern/GHOST_NDOFManagerX11.h | 7 +- intern/ghost/intern/GHOST_SystemCocoa.mm | 9 +- intern/ghost/intern/GHOST_SystemPathsX11.cpp | 19 +- intern/ghost/intern/GHOST_SystemSDL.cpp | 25 +- intern/ghost/intern/GHOST_SystemX11.cpp | 20 +- intern/ghost/intern/GHOST_WindowWin32.cpp | 5 +- intern/guardedalloc/MEM_guardedalloc.h | 14 +- release/datafiles/splash.png | Bin 201866 -> 204738 bytes release/scripts/modules/bpy/__init__.py | 14 +- .../scripts/modules/bpy_extras/io_utils.py | 12 +- .../scripts/modules/bpy_extras/mesh_utils.py | 4 +- release/scripts/modules/bpyml.py | 2 +- release/scripts/modules/bpyml_ui.py | 6 +- release/scripts/modules/rna_info.py | 8 +- .../startup/bl_operators/add_mesh_torus.py | 3 +- .../startup/bl_operators/animsys_update.py | 3 +- release/scripts/startup/bl_operators/image.py | 19 +- release/scripts/startup/bl_operators/mesh.py | 5 +- release/scripts/startup/bl_operators/nla.py | 3 +- .../scripts/startup/bl_operators/object.py | 19 +- .../startup/bl_operators/object_align.py | 3 +- .../bl_operators/object_quick_effects.py | 9 +- .../object_randomize_transform.py | 3 +- .../scripts/startup/bl_operators/presets.py | 23 +- .../bl_operators/screen_play_rendered_anim.py | 3 +- .../scripts/startup/bl_operators/sequencer.py | 7 +- .../bl_operators/uvcalc_follow_active.py | 3 +- .../startup/bl_operators/uvcalc_lightmap.py | 69 +- .../bl_operators/uvcalc_smart_project.py | 52 +- .../startup/bl_operators/vertexpaint_dirt.py | 3 +- release/scripts/startup/bl_operators/wm.py | 69 +- .../startup/bl_ui/properties_data_armature.py | 21 +- .../startup/bl_ui/properties_data_bone.py | 17 +- .../startup/bl_ui/properties_data_camera.py | 9 +- .../startup/bl_ui/properties_data_curve.py | 23 +- .../startup/bl_ui/properties_data_empty.py | 3 +- .../startup/bl_ui/properties_data_lamp.py | 23 +- .../startup/bl_ui/properties_data_lattice.py | 7 +- .../startup/bl_ui/properties_data_mesh.py | 25 +- .../startup/bl_ui/properties_data_metaball.py | 11 +- .../startup/bl_ui/properties_data_modifier.py | 5 +- .../scripts/startup/bl_ui/properties_game.py | 27 +- .../startup/bl_ui/properties_material.py | 53 +- .../startup/bl_ui/properties_object.py | 25 +- .../bl_ui/properties_object_constraint.py | 5 +- .../startup/bl_ui/properties_particle.py | 35 +- .../startup/bl_ui/properties_physics_cloth.py | 15 +- .../bl_ui/properties_physics_common.py | 3 +- .../startup/bl_ui/properties_physics_field.py | 5 +- .../startup/bl_ui/properties_physics_fluid.py | 9 +- .../startup/bl_ui/properties_physics_smoke.py | 11 +- .../bl_ui/properties_physics_softbody.py | 15 +- .../startup/bl_ui/properties_render.py | 37 +- .../scripts/startup/bl_ui/properties_scene.py | 17 +- .../startup/bl_ui/properties_texture.py | 51 +- .../scripts/startup/bl_ui/properties_world.py | 21 +- .../scripts/startup/bl_ui/space_console.py | 28 +- .../scripts/startup/bl_ui/space_dopesheet.py | 44 +- .../startup/bl_ui/space_filebrowser.py | 3 +- release/scripts/startup/bl_ui/space_graph.py | 34 +- release/scripts/startup/bl_ui/space_image.py | 116 +- release/scripts/startup/bl_ui/space_info.py | 41 +- release/scripts/startup/bl_ui/space_logic.py | 21 +- release/scripts/startup/bl_ui/space_nla.py | 34 +- release/scripts/startup/bl_ui/space_node.py | 35 +- .../scripts/startup/bl_ui/space_outliner.py | 38 +- .../scripts/startup/bl_ui/space_sequencer.py | 73 +- release/scripts/startup/bl_ui/space_text.py | 31 +- release/scripts/startup/bl_ui/space_time.py | 20 +- .../scripts/startup/bl_ui/space_userpref.py | 59 +- .../startup/bl_ui/space_userpref_keymap.py | 45 +- release/scripts/startup/bl_ui/space_view3d.py | 181 +- .../startup/bl_ui/space_view3d_toolbar.py | 55 +- release/scripts/templates/operator_modal.py | 4 +- .../scripts/templates/operator_modal_draw.py | 2 +- .../scripts/templates/operator_modal_timer.py | 2 +- .../templates/operator_modal_view3d.py | 2 +- release/text/readme.html | 12 +- source/blender/blenkernel/BKE_blender.h | 8 +- source/blender/blenkernel/intern/depsgraph.c | 7 +- source/blender/blenkernel/intern/displist.c | 5 + source/blender/blenkernel/intern/fcurve.c | 2 +- source/blender/blenkernel/intern/nla.c | 2 +- source/blender/blenkernel/intern/node.c | 4 +- source/blender/blenkernel/intern/particle.c | 1 + source/blender/blenkernel/intern/sequencer.c | 1 + source/blender/blenkernel/intern/texture.c | 32 +- source/blender/blenkernel/intern/unit.c | 2 +- .../blender/blenkernel/intern/writeffmpeg.c | 7 +- source/blender/blenlib/BLI_ghash.h | 141 +- source/blender/blenlib/BLI_utildefines.h | 6 + source/blender/blenlib/intern/BLI_ghash.c | 92 +- source/blender/editors/armature/poseSlide.c | 2 +- source/blender/editors/datafiles/splash.png.c | 12713 ++++++++-------- .../blender/editors/gpencil/gpencil_paint.c | 16 +- source/blender/editors/include/ED_object.h | 2 +- .../editors/interface/interface_intern.h | 5 +- .../editors/interface/interface_layout.c | 108 +- .../editors/interface/interface_regions.c | 6 +- .../editors/interface/interface_templates.c | 51 +- .../editors/interface/interface_utils.c | 2 +- source/blender/editors/interface/resources.c | 2 +- source/blender/editors/mesh/editmesh.c | 5 +- source/blender/editors/mesh/editmesh_mods.c | 2 +- source/blender/editors/mesh/editmesh_tools.c | 2 +- source/blender/editors/object/object_add.c | 2 +- source/blender/editors/object/object_edit.c | 12 +- .../blender/editors/object/object_relations.c | 14 + source/blender/editors/render/render_update.c | 13 + .../editors/space_console/console_ops.c | 7 +- source/blender/editors/space_file/file_ops.c | 9 +- source/blender/editors/space_file/filelist.c | 22 - source/blender/editors/space_nla/nla_edit.c | 2 +- source/blender/editors/space_node/node_edit.c | 15 +- .../blender/editors/space_node/node_header.c | 4 +- .../blender/editors/space_node/node_intern.h | 3 +- .../blender/editors/space_node/node_select.c | 8 +- .../editors/space_outliner/CMakeLists.txt | 6 +- .../blender/editors/space_outliner/outliner.c | 5792 ------- .../editors/space_outliner/outliner_draw.c | 1671 ++ .../editors/space_outliner/outliner_edit.c | 1398 ++ .../editors/space_outliner/outliner_intern.h | 86 +- .../editors/space_outliner/outliner_ops.c | 7 + .../editors/space_outliner/outliner_select.c | 867 ++ .../editors/space_outliner/outliner_tools.c | 1217 ++ .../editors/space_outliner/outliner_tree.c | 1585 ++ .../editors/space_outliner/space_outliner.c | 7 + .../editors/space_sequencer/sequencer_add.c | 20 +- .../editors/space_sequencer/sequencer_draw.c | 2 +- .../editors/space_sequencer/sequencer_edit.c | 507 +- .../space_sequencer/sequencer_intern.h | 7 + .../editors/space_sequencer/sequencer_ops.c | 9 + .../space_sequencer/sequencer_select.c | 2 +- .../blender/editors/space_text/text_python.c | 5 +- .../blender/editors/space_view3d/drawobject.c | 4 +- .../editors/space_view3d/view3d_toolbar.c | 11 +- .../blender/editors/transform/CMakeLists.txt | 1 - source/blender/editors/transform/transform.c | 5 - source/blender/editors/transform/transform.h | 26 - .../editors/transform/transform_generics.c | 1 - .../editors/transform/transform_ndofinput.c | 162 - .../blender/editors/transform/transform_ops.c | 7 +- source/blender/imbuf/intern/anim_movie.c | 2 +- source/blender/imbuf/intern/filter.c | 12 +- source/blender/makesdna/DNA_modifier_types.h | 4 +- source/blender/makesrna/RNA_access.h | 1467 +- source/blender/makesrna/RNA_types.h | 14 +- source/blender/makesrna/intern/makesrna.c | 104 +- source/blender/makesrna/intern/rna_access.c | 36 +- .../blender/makesrna/intern/rna_constraint.c | 2 +- source/blender/makesrna/intern/rna_curve.c | 2 +- source/blender/makesrna/intern/rna_internal.h | 10 +- source/blender/makesrna/intern/rna_main_api.c | 2 +- source/blender/makesrna/intern/rna_modifier.c | 7 + source/blender/makesrna/intern/rna_object.c | 9 +- .../blender/makesrna/intern/rna_object_api.c | 8 +- source/blender/makesrna/intern/rna_render.c | 8 +- source/blender/makesrna/intern/rna_userdef.c | 2 +- source/blender/makesrna/intern/rna_wm.c | 1 + .../blender/modifiers/intern/MOD_solidify.c | 26 +- source/blender/python/intern/bpy_operator.c | 14 +- source/blender/python/intern/bpy_rna.c | 10 +- source/blender/python/intern/bpy_rna_anim.c | 2 +- source/blender/python/intern/bpy_rna_array.c | 9 +- .../python/mathutils/mathutils_Vector.c | 121 +- .../blender/render/extern/include/RE_engine.h | 14 +- .../blender/render/intern/source/rayshade.c | 2 +- source/blender/windowmanager/CMakeLists.txt | 1 + source/blender/windowmanager/WM_api.h | 4 +- source/blender/windowmanager/WM_types.h | 12 +- source/blender/windowmanager/intern/wm.c | 54 +- .../windowmanager/intern/wm_event_system.c | 31 +- .../blender/windowmanager/intern/wm_files.c | 3 +- .../windowmanager/intern/wm_init_exit.c | 3 +- .../blender/windowmanager/intern/wm_keymap.c | 6 +- .../windowmanager/intern/wm_operators.c | 72 +- .../windowmanager/intern/wm_subwindow.c | 3 +- .../bad_level_call_stubs/stubs.c | 2 +- source/gameengine/Ketsji/KX_Light.cpp | 4 + source/tests/CMakeLists.txt | 14 +- source/tests/bl_run_operators.py | 2 +- 200 files changed, 16204 insertions(+), 14830 deletions(-) create mode 100644 build_files/cmake/config/blender_headless.cmake create mode 100644 build_files/cmake/config/blender_lite.cmake create mode 100644 build_files/cmake/config/bpy_module.cmake delete mode 100644 source/blender/editors/space_outliner/outliner.c create mode 100644 source/blender/editors/space_outliner/outliner_draw.c create mode 100644 source/blender/editors/space_outliner/outliner_edit.c create mode 100644 source/blender/editors/space_outliner/outliner_select.c create mode 100644 source/blender/editors/space_outliner/outliner_tools.c create mode 100644 source/blender/editors/space_outliner/outliner_tree.c delete mode 100644 source/blender/editors/transform/transform_ndofinput.c diff --git a/CMakeLists.txt b/CMakeLists.txt index bbd9598780d..3cc935939f4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1089,6 +1089,10 @@ elseif(APPLE) if(NOT 3D_CONNEXION_CLIENT_LIBRARY) set(WITH_INPUT_NDOF OFF) endif() + + if(WITH_INPUT_NDOF) + set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -weak_framework 3DconnexionClient") + endif() endif() else() diff --git a/GNUmakefile b/GNUmakefile index b6741d7e5f0..8446541cfae 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -35,17 +35,33 @@ OS_NCASE:=$(shell uname -s | tr '[A-Z]' '[a-z]') # Source and Build DIR's BLENDER_DIR:=$(shell pwd -P) BUILD_DIR:=$(shell dirname $(BLENDER_DIR))/build/$(OS_NCASE) +BUILD_TYPE:=Release +BUILD_CMAKE_ARGS:="" +# ----------------------------------------------------------------------------- +# additional targets for the build configuration + # support 'make debug' ifneq "$(findstring debug, $(MAKECMDGOALS))" "" BUILD_DIR:=$(BUILD_DIR)_debug BUILD_TYPE:=Debug -else - BUILD_TYPE:=Release +endif +ifneq "$(findstring lite, $(MAKECMDGOALS))" "" + BUILD_DIR:=$(BUILD_DIR)_lite + BUILD_CMAKE_ARGS:=$(BUILD_CMAKE_ARGS) -C$(BLENDER_DIR)/build_files/cmake/config/blender_lite.cmake +endif +ifneq "$(findstring headless, $(MAKECMDGOALS))" "" + BUILD_DIR:=$(BUILD_DIR)_bpy + BUILD_CMAKE_ARGS:=$(BUILD_CMAKE_ARGS) -C$(BLENDER_DIR)/build_files/cmake/config/blender_headless.cmake +endif +ifneq "$(findstring bpy, $(MAKECMDGOALS))" "" + BUILD_DIR:=$(BUILD_DIR)_bpy + BUILD_CMAKE_ARGS:=$(BUILD_CMAKE_ARGS) -C$(BLENDER_DIR)/build_files/cmake/config/bpy_module.cmake endif +# ----------------------------------------------------------------------------- # Get the number of cores for threaded build NPROCS:=1 ifeq ($(OS), Linux) @@ -61,14 +77,14 @@ ifeq ($(OS), NetBSD) NPROCS:=$(shell sysctl -a | grep "hw.ncpu " | cut -d" " -f3 ) endif - +# ----------------------------------------------------------------------------- # Build Blender all: @echo @echo Configuring Blender ... if test ! -f $(BUILD_DIR)/CMakeCache.txt ; then \ - cmake -H$(BLENDER_DIR) -B$(BUILD_DIR) -DCMAKE_BUILD_TYPE:STRING=$(BUILD_TYPE) ; \ + cmake $(BUILD_CMAKE_ARGS) -H$(BLENDER_DIR) -B$(BUILD_DIR) -DCMAKE_BUILD_TYPE:STRING=$(BUILD_TYPE); \ fi @echo @@ -80,9 +96,40 @@ all: @echo debug: all - # pass +lite: all +headless: all +bpy: all -# package types +# ----------------------------------------------------------------------------- +# Helo for build targets +help: + @echo "" + @echo "Convenience targets provided for building blender, (multiple at once can be used)" + @echo " * debug - build a debug binary" + @echo " * lite - disable non essential features for a smaller binary and faster build" + @echo " * headless - build without an interface (renderfarm or server automation)" + @echo " * bpy - build as a python module which can be loaded from python directly" + @echo "" + @echo "Project Files for IDE's" + @echo " * project_qtcreator - QtCreator Project Files" + @echo " * project_netbeans - NetBeans Project Files" + @echo " * project_eclipse - Eclipse CDT4 Project Files" + @echo "" + @echo "Package Targets" + @echo " * package_debian - build a debian package" + @echo " * package_pacman - build an arch linux pacmanpackage" + @echo " * package_archive - build an archive package" + @echo "" + @echo "Testing Targets (not assosiated with building blender)" + @echo " * test - run ctest, currently tests import/export, operator execution and that python modules load" + @echo " * test_cmake - runs our own cmake file checker which detects errors in the cmake file list definitions" + @echo " * test_pep8 - checks all python script are pep8 which are tagged to use the stricter formatting" + @echo " * test_deprecated - checks for deprecation tags in our code which may need to be removed" + @echo "" + +# ----------------------------------------------------------------------------- +# Packages +# package_debian: cd build_files/package_spec ; DEB_BUILD_OPTIONS="parallel=$(NPROCS)" sh ./build_debian.sh @@ -93,7 +140,10 @@ package_archive: make -C $(BUILD_DIR) -s package_archive @echo archive in "$(BUILD_DIR)/release" -# forward build targets + +# ----------------------------------------------------------------------------- +# Tests +# test: cd $(BUILD_DIR) ; ctest . --output-on-failure @@ -111,6 +161,21 @@ test_cmake: test_deprecated: python3 source/tests/check_deprecated.py + +# ----------------------------------------------------------------------------- +# Project Files +# + +project_qtcreator: + python3 build_files/cmake/cmake_qtcreator_project.py $(BUILD_DIR) + +project_netbeans: + python3 build_files/cmake/cmake_netbeans_project.py $(BUILD_DIR) + +project_eclipse: + cmake -G"Eclipse CDT4 - Unix Makefiles" -H$(BLENDER_DIR) -B$(BUILD_DIR) + + clean: $(MAKE) -C $(BUILD_DIR) clean diff --git a/SConstruct b/SConstruct index 4f920190276..81c12c7c318 100644 --- a/SConstruct +++ b/SConstruct @@ -253,14 +253,23 @@ if 'blenderlite' in B.targets: if k not in B.arguments: env[k] = v -# detect presence of 3D_CONNEXION_CLIENT_LIBRARY for OSX +# Extended OSX_SDK and 3D_CONNEXION_CLIENT_LIBRARY detection for OSX if env['OURPLATFORM']=='darwin': - envi = Environment() - conf = Configure(envi) - if not conf.CheckCHeader('ConnexionClientAPI.h'): # CheckCXXHeader if it is c++ ! + print B.bc.OKGREEN + "Detected Xcode version: -- " + B.bc.ENDC + env['XCODE_CUR_VER'][:9] + " --" + print "Available " + env['MACOSX_SDK_CHECK'] + if not 'Mac OS X 10.5' in env['MACOSX_SDK_CHECK']: + print B.bc.OKGREEN + "MacOSX10.5.sdk not available:" + B.bc.ENDC + " using MacOSX10.6.sdk" + else: + print B.bc.OKGREEN + "Found recommended sdk :" + B.bc.ENDC + " using MacOSX10.5.sdk" + + # for now, Mac builders must download and install the driver framework from 3Dconnexion + # necessary header file lives here when installed: + # /Library/Frameworks/3DconnexionClient.framework/Versions/Current/Headers/ConnexionClientAPI.h + if env['WITH_BF_3DMOUSE'] == 1 and not os.path.exists('/Library/Frameworks/3DconnexionClient.framework'): print "3D_CONNEXION_CLIENT_LIBRARY not found, disabling WITH_BF_3DMOUSE" # avoid build errors ! env['WITH_BF_3DMOUSE'] = 0 - envi = conf.Finish() + else: + env.Append(LINKFLAGS=['-weak_framework','3DconnexionClient']) if env['WITH_BF_OPENMP'] == 1: diff --git a/build_files/buildbot/master.cfg b/build_files/buildbot/master.cfg index 1e70ec5e13e..5aa5a43abf7 100644 --- a/build_files/buildbot/master.cfg +++ b/build_files/buildbot/master.cfg @@ -116,7 +116,7 @@ add_builder(c, 'linux_x86_64_scons', '', generic_builder) add_builder(c, 'salad_linux_x86_64_scons', '', generic_builder, 'soc-2011-salad') add_builder(c, 'win32_scons', 'windows', generic_builder) add_builder(c, 'salad_win32_scons', 'windows', generic_builder, 'soc-2011-salad') -add_builder(c, 'win64_scons', 'windows', generic_builder) +add_builder(c, 'win64_scons', 'win64', generic_builder) #add_builder(c, 'freebsd_i386_cmake', '', generic_builder) #add_builder(c, 'freebsd_x86_64_cmake', '', generic_builder) diff --git a/build_files/buildbot/slave_compile.py b/build_files/buildbot/slave_compile.py index 9dd39ccd308..b83a65f2466 100644 --- a/build_files/buildbot/slave_compile.py +++ b/build_files/buildbot/slave_compile.py @@ -134,7 +134,7 @@ else: scons_options.append('BF_FFMPEG_LIB=' + (' '.join(ffmpeg_lib))) scons_options.append('BF_FFMPEG_DLL=' + (' '.join(ffmpeg_dll))) - scons_options.append('BF_BITNESS='+bitness) + scons_options.append('BF_BITNESS=' + bitness) retcode = subprocess.call(['python', 'scons/scons.py'] + scons_options) sys.exit(retcode) diff --git a/build_files/buildbot/slave_pack.py b/build_files/buildbot/slave_pack.py index e779b10bd2a..5fdeb4a8ad5 100644 --- a/build_files/buildbot/slave_pack.py +++ b/build_files/buildbot/slave_pack.py @@ -98,7 +98,7 @@ if builder.find('scons') != -1: scons_options.append('BF_FFMPEG_LIB=' + (' '.join(ffmpeg_lib))) scons_options.append('BF_FFMPEG_DLL=' + (' '.join(ffmpeg_dll))) - scons_options.append('BF_BITNESS='+bitness) + scons_options.append('BF_BITNESS=' + bitness) retcode = subprocess.call(['python', 'scons/scons.py'] + scons_options) sys.exit(retcode) diff --git a/build_files/cmake/config/blender_headless.cmake b/build_files/cmake/config/blender_headless.cmake new file mode 100644 index 00000000000..bd69eed30dd --- /dev/null +++ b/build_files/cmake/config/blender_headless.cmake @@ -0,0 +1,24 @@ +# headless configuration, useful in for servers or renderfarms +# builds without a windowing system (X11/Windows/Cocoa). +# +# Example usage: +# cmake -C../blender/build_files/cmake/config/blender_headless.cmake ../blender +# + +set(WITH_HEADLESS ON CACHE FORCE BOOL) +set(WITH_GAMEENGINE OFF CACHE FORCE BOOL) + +# disable audio, its possible some devs may want this but for now disable +# so the python module doesnt hold the audio device and loads quickly. +set(WITH_AUDASPACE OFF CACHE FORCE BOOL) +set(WITH_SAMPLERATE OFF CACHE FORCE BOOL) +set(WITH_FFTW3 OFF CACHE FORCE BOOL) +set(WITH_JACK OFF CACHE FORCE BOOL) +set(WITH_SDL OFF CACHE FORCE BOOL) +set(WITH_OPENAL OFF CACHE FORCE BOOL) +set(WITH_CODEC_FFMPEG OFF CACHE FORCE BOOL) +set(WITH_CODEC_SNDFILE OFF CACHE FORCE BOOL) + +# other features which are not especially useful as a python module +set(WITH_X11_XINPUT OFF CACHE FORCE BOOL) +set(WITH_INPUT_NDOF OFF CACHE FORCE BOOL) diff --git a/build_files/cmake/config/blender_lite.cmake b/build_files/cmake/config/blender_lite.cmake new file mode 100644 index 00000000000..d2b791baede --- /dev/null +++ b/build_files/cmake/config/blender_lite.cmake @@ -0,0 +1,43 @@ +# turn everything OFF CACHE FORCE BOOL) except for python which defaults to ON +# and is needed for the UI +# +# Example usage: +# cmake -C../blender/build_files/cmake/config/blender_lite.cmake ../blender +# + +set(WITH_INSTALL_PORTABLE ON CACHE FORCE BOOL) + +set(WITH_BUILDINFO OFF CACHE FORCE BOOL) +set(WITH_BUILTIN_GLEW OFF CACHE FORCE BOOL) +set(WITH_BULLET OFF CACHE FORCE BOOL) +set(WITH_CODEC_FFMPEG OFF CACHE FORCE BOOL) +set(WITH_CODEC_SNDFILE OFF CACHE FORCE BOOL) +set(WITH_FFTW3 OFF CACHE FORCE BOOL) +set(WITH_GAMEENGINE OFF CACHE FORCE BOOL) +set(WITH_IK_ITASC OFF CACHE FORCE BOOL) +set(WITH_IMAGE_CINEON OFF CACHE FORCE BOOL) +set(WITH_IMAGE_DDS OFF CACHE FORCE BOOL) +set(WITH_IMAGE_FRAMESERVER OFF CACHE FORCE BOOL) +set(WITH_IMAGE_HDR OFF CACHE FORCE BOOL) +set(WITH_IMAGE_OPENEXR OFF CACHE FORCE BOOL) +set(WITH_IMAGE_OPENJPEG OFF CACHE FORCE BOOL) +set(WITH_IMAGE_REDCODE OFF CACHE FORCE BOOL) +set(WITH_IMAGE_TIFF OFF CACHE FORCE BOOL) +set(WITH_INPUT_NDOF OFF CACHE FORCE BOOL) +set(WITH_INTERNATIONAL OFF CACHE FORCE BOOL) +set(WITH_JACK OFF CACHE FORCE BOOL) +set(WITH_LZMA OFF CACHE FORCE BOOL) +set(WITH_LZO OFF CACHE FORCE BOOL) +set(WITH_MOD_BOOLEAN OFF CACHE FORCE BOOL) +set(WITH_MOD_DECIMATE OFF CACHE FORCE BOOL) +set(WITH_MOD_FLUID OFF CACHE FORCE BOOL) +set(WITH_MOD_SMOKE OFF CACHE FORCE BOOL) +set(WITH_AUDASPACE OFF CACHE FORCE BOOL) +set(WITH_OPENAL OFF CACHE FORCE BOOL) +set(WITH_OPENCOLLADA OFF CACHE FORCE BOOL) +set(WITH_OPENMP OFF CACHE FORCE BOOL) +set(WITH_PYTHON_INSTALL OFF CACHE FORCE BOOL) +set(WITH_RAYOPTIMIZATION OFF CACHE FORCE BOOL) +set(WITH_SAMPLERATE OFF CACHE FORCE BOOL) +set(WITH_SDL OFF CACHE FORCE BOOL) +set(WITH_X11_XINPUT OFF CACHE FORCE BOOL) diff --git a/build_files/cmake/config/bpy_module.cmake b/build_files/cmake/config/bpy_module.cmake new file mode 100644 index 00000000000..5392705f0dc --- /dev/null +++ b/build_files/cmake/config/bpy_module.cmake @@ -0,0 +1,34 @@ +# defaults for building blender as a python module 'bpy' +# +# Example usage: +# cmake -C../blender/build_files/cmake/config/bpy_module.cmake ../blender +# + +set(WITH_PYTHON_MODULE ON CACHE FORCE BOOL) + +# install into the systems python dir +set(WITH_INSTALL_PORTABLE OFF CACHE FORCE BOOL) + +# no point int copying python into python +set(WITH_PYTHON_INSTALL OFF CACHE FORCE BOOL) + +# dont build the game engine +set(WITH_GAMEENGINE OFF CACHE FORCE BOOL) + +# disable audio, its possible some devs may want this but for now disable +# so the python module doesnt hold the audio device and loads quickly. +set(WITH_AUDASPACE OFF CACHE FORCE BOOL) +set(WITH_SAMPLERATE OFF CACHE FORCE BOOL) +set(WITH_FFTW3 OFF CACHE FORCE BOOL) +set(WITH_JACK OFF CACHE FORCE BOOL) +set(WITH_SDL OFF CACHE FORCE BOOL) +set(WITH_OPENAL OFF CACHE FORCE BOOL) +set(WITH_CODEC_FFMPEG OFF CACHE FORCE BOOL) +set(WITH_CODEC_SNDFILE OFF CACHE FORCE BOOL) + +# other features which are not especially useful as a python module +set(WITH_X11_XINPUT OFF CACHE FORCE BOOL) +set(WITH_INPUT_NDOF OFF CACHE FORCE BOOL) +set(WITH_OPENCOLLADA OFF CACHE FORCE BOOL) +set(WITH_INTERNATIONAL OFF CACHE FORCE BOOL) +set(WITH_BULLET OFF CACHE FORCE BOOL) diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index b991edcd5d4..ffc920da473 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -62,6 +62,10 @@ macro(blender_include_dirs foreach(_INC ${ARGV}) get_filename_component(_ABS_INC ${_INC} ABSOLUTE) list(APPEND _ALL_INCS ${_ABS_INC}) + # for checking for invalid includes, disable for regular use + ##if(NOT EXISTS "${_ABS_INC}/") + ## message(FATAL_ERROR "Include not found: ${_ABS_INC}/") + ##endif() endforeach() include_directories(${_ALL_INCS}) unset(_INC) @@ -75,6 +79,9 @@ macro(blender_include_dirs_sys foreach(_INC ${ARGV}) get_filename_component(_ABS_INC ${_INC} ABSOLUTE) list(APPEND _ALL_INCS ${_ABS_INC}) + ##if(NOT EXISTS "${_ABS_INC}/") + ## message(FATAL_ERROR "Include not found: ${_ABS_INC}/") + ##endif() endforeach() include_directories(SYSTEM ${_ALL_INCS}) unset(_INC) diff --git a/build_files/scons/config/darwin-config.py b/build_files/scons/config/darwin-config.py index 97e8e90e574..ec6a3b082b8 100644 --- a/build_files/scons/config/darwin-config.py +++ b/build_files/scons/config/darwin-config.py @@ -21,17 +21,23 @@ cmd = 'uname -p' MAC_PROC=commands.getoutput(cmd) cmd = 'uname -r' cmd_res=commands.getoutput(cmd) -MAC_CUR_VER='10.5' # by default (test below fails on my 10.5 PowerPC) -if cmd_res[:2]=='7': + +if cmd_res[:1]=='7': MAC_CUR_VER='10.3' -elif cmd_res[:2]=='8': +elif cmd_res[:1]=='8': MAC_CUR_VER='10.4' -elif cmd_res[:2]=='9': +elif cmd_res[:1]=='9': MAC_CUR_VER='10.5' elif cmd_res[:2]=='10': MAC_CUR_VER='10.6' elif cmd_res[:2]=='11': MAC_CUR_VER='10.7' +cmd = 'xcodebuild -version' +cmd_xcode=commands.getoutput(cmd) +XCODE_CUR_VER=cmd_xcode +cmd = 'xcodebuild -showsdks' +cmd_sdk=commands.getoutput(cmd) +MACOSX_SDK_CHECK=cmd_sdk if MACOSX_ARCHITECTURE == 'x86_64' or MACOSX_ARCHITECTURE == 'ppc64': USE_QTKIT=True # Carbon quicktime is not available for 64bit @@ -60,21 +66,23 @@ elif MACOSX_ARCHITECTURE == 'i386' and MAC_CUR_VER == '10.4': LCGDIR = '#../lib/darwin-8.x.i386' CC = 'gcc-4.0' CXX = 'g++-4.0' -elif MAC_CUR_VER >= '10.6': - # OSX 10.6 and 10.7 developer tools do not come with sdk < 10.6 anymore ! - MAC_MIN_VERS = '10.6' - MACOSX_DEPLOYMENT_TARGET = '10.6' - MACOSX_SDK='/Developer/SDKs/MacOSX10.6.sdk' - LCGDIR = '#../lib/darwin-9.x.universal' - CC = 'llvm-gcc-4.2' - CXX = 'llvm-g++-4.2' else : - MAC_MIN_VERS = '10.5' - MACOSX_DEPLOYMENT_TARGET = '10.5' - MACOSX_SDK='/Developer/SDKs/MacOSX10.5.sdk' - LCGDIR = '#../lib/darwin-9.x.universal' - CC = 'gcc-4.2' - CXX = 'g++-4.2' + if 'Mac OS X 10.5' in MACOSX_SDK_CHECK: + # OSX 10.5/6 with Xcode 3.x + MAC_MIN_VERS = '10.5' + MACOSX_DEPLOYMENT_TARGET = '10.5' + MACOSX_SDK='/Developer/SDKs/MacOSX10.5.sdk' + LCGDIR = '#../lib/darwin-9.x.universal' + CC = 'gcc-4.2' + CXX = 'g++-4.2' + else: + # OSX 10.6/7 with Xcode 4.x + MAC_MIN_VERS = '10.6' + MACOSX_DEPLOYMENT_TARGET = '10.6' + MACOSX_SDK='/Developer/SDKs/MacOSX10.6.sdk' + LCGDIR = '#../lib/darwin-9.x.universal' + CC = 'gcc-4.2' + CXX = 'g++-4.2' LIBDIR = '${LCGDIR}' @@ -199,8 +207,8 @@ BF_GETTEXT_INC = '${BF_GETTEXT}/include' BF_GETTEXT_LIB = 'intl' BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib' -WITH_BF_GAMEENGINE=True -WITH_BF_PLAYER = False +WITH_BF_GAMEENGINE = True +WITH_BF_PLAYER = True WITH_BF_BULLET = True BF_BULLET = '#extern/bullet2/src' @@ -251,7 +259,7 @@ BF_OPENGL_LIBPATH = '/System/Library/Frameworks/OpenGL.framework/Libraries' BF_OPENGL_LINKFLAGS = ['-framework', 'OpenGL'] #OpenCollada flags -WITH_BF_COLLADA = False +WITH_BF_COLLADA = True BF_COLLADA = '#source/blender/collada' BF_COLLADA_INC = '${BF_COLLADA}' BF_COLLADA_LIB = 'bf_collada' @@ -276,8 +284,8 @@ if MACOSX_ARCHITECTURE == 'i386': elif MACOSX_ARCHITECTURE == 'x86_64': BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse','-msse2'] -# SpaceNavigator and related 3D mice -WITH_BF_3DMOUSE = False +# SpaceNavigator and related 3D mice, driver must be 3DxWare 10 Beta 4 (Mac OS X) or later ! +WITH_BF_3DMOUSE = True ############################################################################# ################### various compile settings and flags ################## @@ -296,31 +304,28 @@ CPPFLAGS = []+ARCH_FLAGS CCFLAGS = ['-pipe','-funsigned-char']+ARCH_FLAGS CXXFLAGS = ['-pipe','-funsigned-char']+ARCH_FLAGS -if WITH_GHOST_COCOA==True: +if WITH_GHOST_COCOA: PLATFORM_LINKFLAGS = ['-fexceptions','-framework','CoreServices','-framework','Foundation','-framework','IOKit','-framework','AppKit','-framework','Cocoa','-framework','Carbon','-framework','AudioUnit','-framework','AudioToolbox','-framework','CoreAudio','-framework','OpenAL']+ARCH_FLAGS else: PLATFORM_LINKFLAGS = ['-fexceptions','-framework','CoreServices','-framework','Foundation','-framework','IOKit','-framework','AppKit','-framework','Carbon','-framework','AGL','-framework','AudioUnit','-framework','AudioToolbox','-framework','CoreAudio','-framework','OpenAL']+ARCH_FLAGS -if WITH_BF_QUICKTIME == True: - if USE_QTKIT == True: +if WITH_BF_QUICKTIME: + if USE_QTKIT: PLATFORM_LINKFLAGS = PLATFORM_LINKFLAGS+['-framework','QTKit'] else: PLATFORM_LINKFLAGS = PLATFORM_LINKFLAGS+['-framework','QuickTime'] -if WITH_BF_3DMOUSE: - PLATFORM_LINKFLAGS = PLATFORM_LINKFLAGS + ['-weak_framework','3DconnexionClient'] - #note to build succesfully on 10.3.9 SDK you need to patch 10.3.9 by adding the SystemStubs.a lib from 10.4 LLIBS = ['stdc++', 'SystemStubs'] -# some flags shuffling for different Os versions +# some flags shuffling for different OS versions if MAC_MIN_VERS == '10.3': CFLAGS = ['-fuse-cxa-atexit']+CFLAGS CXXFLAGS = ['-fuse-cxa-atexit']+CXXFLAGS PLATFORM_LINKFLAGS = ['-fuse-cxa-atexit']+PLATFORM_LINKFLAGS LLIBS.append('crt3.o') -if USE_SDK==True: +if USE_SDK: SDK_FLAGS=['-isysroot', MACOSX_SDK,'-mmacosx-version-min='+MAC_MIN_VERS,'-arch',MACOSX_ARCHITECTURE] PLATFORM_LINKFLAGS = ['-mmacosx-version-min='+MAC_MIN_VERS,'-Wl','-isysroot',MACOSX_SDK,'-arch',MACOSX_ARCHITECTURE]+PLATFORM_LINKFLAGS CCFLAGS=SDK_FLAGS+CCFLAGS diff --git a/build_files/scons/tools/btools.py b/build_files/scons/tools/btools.py index 9b911b9d6f0..25e0582c536 100644 --- a/build_files/scons/tools/btools.py +++ b/build_files/scons/tools/btools.py @@ -149,7 +149,7 @@ def validate_arguments(args, bc): 'BF_PROFILE_CFLAGS', 'BF_PROFILE_CCFLAGS', 'BF_PROFILE_CXXFLAGS', 'BF_PROFILE_LINKFLAGS', 'BF_DEBUG_CFLAGS', 'BF_DEBUG_CCFLAGS', 'BF_DEBUG_CXXFLAGS', 'C_WARN', 'CC_WARN', 'CXX_WARN', - 'LLIBS', 'PLATFORM_LINKFLAGS','MACOSX_ARCHITECTURE', + 'LLIBS', 'PLATFORM_LINKFLAGS','MACOSX_ARCHITECTURE', 'MACOSX_SDK_CHECK', 'XCODE_CUR_VER', ] @@ -462,6 +462,8 @@ def read_opts(env, cfg, args): ('LLIBS', 'Platform libs', []), ('PLATFORM_LINKFLAGS', 'Platform linkflags', []), ('MACOSX_ARCHITECTURE', 'python_arch.zip select', ''), + ('MACOSX_SDK_CHECK', 'detect available OSX sdk`s', ''), + ('XCODE_CUR_VER', 'detect XCode version', ''), (BoolVariable('BF_PROFILE', 'Add profiling information if true', False)), ('BF_PROFILE_CFLAGS', 'C only profiling flags', []), diff --git a/doc/doxygen/Doxyfile b/doc/doxygen/Doxyfile index 79b3f1a4160..b4d3b14b9dd 100644 --- a/doc/doxygen/Doxyfile +++ b/doc/doxygen/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = Blender # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = "V2.58" +PROJECT_NUMBER = "V2.59" # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer diff --git a/doc/python_api/rst/bge.logic.rst b/doc/python_api/rst/bge.logic.rst index 128f87f76bd..798491b4710 100644 --- a/doc/python_api/rst/bge.logic.rst +++ b/doc/python_api/rst/bge.logic.rst @@ -217,6 +217,12 @@ General functions Loads a scene into the game engine. + .. note:: + + This function is not effective immediately, the scene is queued + and added on the next logic cycle where it will be available + from `getSceneList` + :arg name: The name of the scene :type name: string :arg overlay: Overlay or underlay (optional) diff --git a/intern/ghost/CMakeLists.txt b/intern/ghost/CMakeLists.txt index d7658c50a36..bdda0f3382e 100644 --- a/intern/ghost/CMakeLists.txt +++ b/intern/ghost/CMakeLists.txt @@ -149,6 +149,10 @@ if(WITH_HEADLESS OR WITH_GHOST_SDL) intern/GHOST_SystemPathsX11.cpp intern/GHOST_SystemPathsX11.h ) + + if(NOT WITH_INSTALL_PORTABLE) + add_definitions(-DPREFIX="${CMAKE_INSTALL_PREFIX}") + endif() elseif(WIN32) list(APPEND SRC @@ -204,10 +208,6 @@ elseif(APPLE) elseif(UNIX) - if(WITH_X11_XINPUT) - add_definitions(-DWITH_X11_XINPUT) - endif() - list(APPEND INC_SYS ${X11_X11_INCLUDE_PATH} ) @@ -224,10 +224,6 @@ elseif(UNIX) intern/GHOST_WindowX11.h ) - if(NOT WITH_INSTALL_PORTABLE) - add_definitions(-DPREFIX="${CMAKE_INSTALL_PREFIX}") - endif() - if(X11_XF86keysym_INCLUDE_PATH) add_definitions(-DWITH_XF86KEYSYM) list(APPEND INC_SYS @@ -243,6 +239,14 @@ elseif(UNIX) ) endif() + if(NOT WITH_INSTALL_PORTABLE) + add_definitions(-DPREFIX="${CMAKE_INSTALL_PREFIX}") + endif() + + if(WITH_X11_XINPUT) + add_definitions(-DWITH_X11_XINPUT) + endif() + elseif(WIN32) if(MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX") diff --git a/intern/ghost/intern/GHOST_NDOFManager.cpp b/intern/ghost/intern/GHOST_NDOFManager.cpp index 855e27b9964..a24ccc3ff6c 100644 --- a/intern/ghost/intern/GHOST_NDOFManager.cpp +++ b/intern/ghost/intern/GHOST_NDOFManager.cpp @@ -375,7 +375,7 @@ void GHOST_NDOFManager::setDeadZone(float dz) static bool atHomePosition(GHOST_TEventNDOFMotionData* ndof) { -#define HOME(foo) (ndof->foo == 0) +#define HOME(foo) (ndof->foo == 0.f) return HOME(tx) && HOME(ty) && HOME(tz) && HOME(rx) && HOME(ry) && HOME(rz); #undef HOME } @@ -386,9 +386,9 @@ static bool nearHomePosition(GHOST_TEventNDOFMotionData* ndof, float threshold) return atHomePosition(ndof); } else { -#define HOME1(foo) (fabsf(ndof->foo) < threshold) - return HOME1(tx) && HOME1(ty) && HOME1(tz) && HOME1(rx) && HOME1(ry) && HOME1(rz); -#undef HOME1 +#define HOME(foo) (fabsf(ndof->foo) < threshold) + return HOME(tx) && HOME(ty) && HOME(tz) && HOME(rx) && HOME(ry) && HOME(rz); +#undef HOME } } @@ -423,17 +423,17 @@ bool GHOST_NDOFManager::sendMotionEvent() data->dt = 0.001f * (m_motionTime - m_prevMotionTime); // in seconds - bool handMotion = !nearHomePosition(data, m_deadZone); + bool weHaveMotion = !nearHomePosition(data, m_deadZone); // determine what kind of motion event to send (Starting, InProgress, Finishing) // and where that leaves this NDOF manager (NotStarted, InProgress, Finished) switch (m_motionState) { case GHOST_kNotStarted: case GHOST_kFinished: - if (handMotion) { + if (weHaveMotion) { data->progress = GHOST_kStarting; m_motionState = GHOST_kInProgress; - // prev motion time will be ancient, so just make up something reasonable + // prev motion time will be ancient, so just make up a reasonable time delta data->dt = 0.0125f; } else { @@ -443,9 +443,9 @@ bool GHOST_NDOFManager::sendMotionEvent() } break; case GHOST_kInProgress: - if (handMotion) { + if (weHaveMotion) { data->progress = GHOST_kInProgress; - // keep InProgress state + // remain 'InProgress' } else { data->progress = GHOST_kFinishing; @@ -453,7 +453,7 @@ bool GHOST_NDOFManager::sendMotionEvent() } break; default: - break; + ; // will always be one of the above } #ifdef DEBUG_NDOF_MOTION diff --git a/intern/ghost/intern/GHOST_NDOFManagerCocoa.h b/intern/ghost/intern/GHOST_NDOFManagerCocoa.h index 27397b711b7..e9897f30104 100644 --- a/intern/ghost/intern/GHOST_NDOFManagerCocoa.h +++ b/intern/ghost/intern/GHOST_NDOFManagerCocoa.h @@ -22,10 +22,12 @@ * * ***** END GPL LICENSE BLOCK ***** */ - + #ifndef _GHOST_NDOFMANAGERCOCOA_H_ #define _GHOST_NDOFMANAGERCOCOA_H_ +#ifdef WITH_INPUT_NDOF + #include "GHOST_NDOFManager.h" // Event capture is handled within the NDOF manager on Macintosh, @@ -47,4 +49,5 @@ private: }; -#endif +#endif // WITH_INPUT_NDOF +#endif // #include guard diff --git a/intern/ghost/intern/GHOST_NDOFManagerCocoa.mm b/intern/ghost/intern/GHOST_NDOFManagerCocoa.mm index 53a991a7396..409ed953134 100644 --- a/intern/ghost/intern/GHOST_NDOFManagerCocoa.mm +++ b/intern/ghost/intern/GHOST_NDOFManagerCocoa.mm @@ -22,7 +22,9 @@ * * ***** END GPL LICENSE BLOCK ***** */ - + +#ifdef WITH_INPUT_NDOF + #include "GHOST_NDOFManagerCocoa.h" #include "GHOST_SystemCocoa.h" @@ -157,16 +159,22 @@ GHOST_NDOFManagerCocoa::GHOST_NDOFManagerCocoa(GHOST_System& sys) GHOST_NDOFManagerCocoa::~GHOST_NDOFManagerCocoa() { - UnregisterConnexionClient(m_clientID); - CleanupConnexionHandlers(); - ghost_system = NULL; - ndof_manager = NULL; + if (available()) + { + UnregisterConnexionClient(m_clientID); + CleanupConnexionHandlers(); + ghost_system = NULL; + ndof_manager = NULL; + } } - -bool GHOST_NDOFManagerCocoa::available() -{ - // extern OSErr InstallConnexionHandlers() __attribute__((weak_import)); - // ^^ not needed since the entire framework is weak-linked - return InstallConnexionHandlers != NULL; - // this means that the driver is installed and dynamically linked to blender +extern "C" { + bool GHOST_NDOFManagerCocoa::available() + { + extern OSErr InstallConnexionHandlers() __attribute__((weak_import)); + // Make the linker happy for the framework check (see link below for more info) + // http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html + return InstallConnexionHandlers != NULL; + // this means that the driver is installed and dynamically linked to blender + } } +#endif // WITH_INPUT_NDOF diff --git a/intern/ghost/intern/GHOST_NDOFManagerX11.cpp b/intern/ghost/intern/GHOST_NDOFManagerX11.cpp index 099fa15d179..4dd53319039 100644 --- a/intern/ghost/intern/GHOST_NDOFManagerX11.cpp +++ b/intern/ghost/intern/GHOST_NDOFManagerX11.cpp @@ -22,7 +22,9 @@ * * ***** END GPL LICENSE BLOCK ***** */ - + +#ifdef WITH_INPUT_NDOF + #include "GHOST_NDOFManagerX11.h" #include "GHOST_SystemX11.h" #include @@ -34,14 +36,14 @@ GHOST_NDOFManagerX11::GHOST_NDOFManagerX11(GHOST_System& sys) GHOST_NDOFManager(sys), m_available(false) { - setDeadZone(0.1f); // how to calibrate on Linux? throw away slight motion! + setDeadZone(0.1f); /* how to calibrate on Linux? throw away slight motion! */ if (spnav_open() != -1) { - // determine exactly which device (if any) is plugged in + /* determine exactly which device (if any) is plugged in */ #define MAX_LINE_LENGTH 100 - // look for USB devices with Logitech's vendor ID + /* look for USB devices with Logitech's vendor ID */ FILE* command_output = popen("lsusb -d 046d:","r"); if (command_output) { char line[MAX_LINE_LENGTH] = {0}; @@ -50,15 +52,15 @@ GHOST_NDOFManagerX11::GHOST_NDOFManagerX11(GHOST_System& sys) if (sscanf(line, "Bus %*d Device %*d: ID %hx:%hx", &vendor_id, &product_id) == 2) if (setDevice(vendor_id, product_id)) { m_available = true; - break; // stop looking once the first 3D mouse is found + break; /* stop looking once the first 3D mouse is found */ } } pclose(command_output); } } else { - printf("ndof: spacenavd not found\n"); - // This isn't a hard error, just means the user doesn't have a 3D mouse. + puts("ndof: spacenavd not found"); + /* This isn't a hard error, just means the user doesn't have a 3D mouse. */ } } @@ -73,11 +75,6 @@ bool GHOST_NDOFManagerX11::available() return m_available; } -//bool GHOST_NDOFManagerX11::identifyDevice() -//{ -// -//} - bool GHOST_NDOFManagerX11::processEvents() { GHOST_TUns64 now = m_system.getMilliSeconds(); @@ -88,7 +85,7 @@ bool GHOST_NDOFManagerX11::processEvents() switch (e.type) { case SPNAV_EVENT_MOTION: { - // convert to blender view coords + /* convert to blender view coords */ short t[3] = {e.motion.x, e.motion.y, -e.motion.z}; short r[3] = {-e.motion.rx, -e.motion.ry, e.motion.rz}; @@ -104,3 +101,5 @@ bool GHOST_NDOFManagerX11::processEvents() } return anyProcessed; } + +#endif /* WITH_INPUT_NDOF */ diff --git a/intern/ghost/intern/GHOST_NDOFManagerX11.h b/intern/ghost/intern/GHOST_NDOFManagerX11.h index 82bd256c707..0a549753756 100644 --- a/intern/ghost/intern/GHOST_NDOFManagerX11.h +++ b/intern/ghost/intern/GHOST_NDOFManagerX11.h @@ -26,6 +26,8 @@ #ifndef _GHOST_NDOFMANAGERX11_H_ #define _GHOST_NDOFMANAGERX11_H_ +#ifdef WITH_INPUT_NDOF + #include "GHOST_NDOFManager.h" /* Event capture is handled within the NDOF manager on Linux, @@ -40,10 +42,9 @@ public: bool processEvents(); private: - // bool identifyDevice(); - bool m_available; }; -#endif +#endif /* WITH_INPUT_NDOF */ +#endif /* #include guard */ diff --git a/intern/ghost/intern/GHOST_SystemCocoa.mm b/intern/ghost/intern/GHOST_SystemCocoa.mm index 17f0f2d6ecd..303c2b24497 100644 --- a/intern/ghost/intern/GHOST_SystemCocoa.mm +++ b/intern/ghost/intern/GHOST_SystemCocoa.mm @@ -21,8 +21,8 @@ * * The Original Code is: all of this file. * - * Contributor(s): Maarten Gribnau 05/2001 - * Damien Plisson 09/2009 + * Contributors: Maarten Gribnau 05/2001 + * Damien Plisson 09/2009 * * ***** END GPL LICENSE BLOCK ***** */ @@ -43,16 +43,17 @@ #include "GHOST_EventButton.h" #include "GHOST_EventCursor.h" #include "GHOST_EventWheel.h" -#include "GHOST_EventNDOF.h" #include "GHOST_EventTrackpad.h" #include "GHOST_EventDragnDrop.h" #include "GHOST_EventString.h" - #include "GHOST_TimerManager.h" #include "GHOST_TimerTask.h" #include "GHOST_WindowManager.h" #include "GHOST_WindowCocoa.h" +#ifdef WITH_INPUT_NDOF #include "GHOST_NDOFManagerCocoa.h" +#endif + #include "AssertMacros.h" #pragma mark KeyMap, mouse converters diff --git a/intern/ghost/intern/GHOST_SystemPathsX11.cpp b/intern/ghost/intern/GHOST_SystemPathsX11.cpp index dd8935732c5..135f5c42dc5 100644 --- a/intern/ghost/intern/GHOST_SystemPathsX11.cpp +++ b/intern/ghost/intern/GHOST_SystemPathsX11.cpp @@ -43,7 +43,11 @@ #include // for fprintf only #include // for exit -using namespace std; +#ifdef PREFIX +static const char *static_path= PREFIX "/share" ; +#else +static const char *static_path= NULL; +#endif GHOST_SystemPathsX11::GHOST_SystemPathsX11() { @@ -56,21 +60,12 @@ GHOST_SystemPathsX11::~GHOST_SystemPathsX11() const GHOST_TUns8* GHOST_SystemPathsX11::getSystemDir() const { /* no prefix assumes a portable build which only uses bundled scripts */ -#ifdef PREFIX - return (GHOST_TUns8*) PREFIX "/share"; -#else - return NULL; -#endif + return (const GHOST_TUns8 *)static_path; } const GHOST_TUns8* GHOST_SystemPathsX11::getUserDir() const { - const char* env = getenv("HOME"); - if(env) { - return (GHOST_TUns8*) env; - } else { - return NULL; - } + return (const GHOST_TUns8 *)getenv("HOME"); } const GHOST_TUns8* GHOST_SystemPathsX11::getBinaryDir() const diff --git a/intern/ghost/intern/GHOST_SystemSDL.cpp b/intern/ghost/intern/GHOST_SystemSDL.cpp index 69a9f936cf6..f2cc45731fa 100644 --- a/intern/ghost/intern/GHOST_SystemSDL.cpp +++ b/intern/ghost/intern/GHOST_SystemSDL.cpp @@ -146,7 +146,7 @@ convertSDLKey(SDL_Scancode key) if ((key >= SDL_SCANCODE_A) && (key <= SDL_SCANCODE_Z)) { type= GHOST_TKey( key - SDL_SCANCODE_A + int(GHOST_kKeyA)); } else if ((key >= SDL_SCANCODE_1) && (key <= SDL_SCANCODE_0)) { - type= GHOST_TKey(key - SDL_SCANCODE_1 + int(GHOST_kKey0)); + type= (key == SDL_SCANCODE_0) ? GHOST_kKey0 : GHOST_TKey(key - SDL_SCANCODE_1 + int(GHOST_kKey1)); } else if ((key >= SDL_SCANCODE_F1) && (key <= SDL_SCANCODE_F12)) { type= GHOST_TKey(key - SDL_SCANCODE_F1 + int(GHOST_kKeyF1)); } else if ((key >= SDL_SCANCODE_F13) && (key <= SDL_SCANCODE_F24)) { @@ -167,6 +167,8 @@ convertSDLKey(SDL_Scancode key) GXMAP(type,SDL_SCANCODE_APOSTROPHE, GHOST_kKeyQuote); GXMAP(type,SDL_SCANCODE_GRAVE, GHOST_kKeyAccentGrave); GXMAP(type,SDL_SCANCODE_MINUS, GHOST_kKeyMinus); + GXMAP(type,SDL_SCANCODE_EQUALS, GHOST_kKeyEqual); + GXMAP(type,SDL_SCANCODE_SLASH, GHOST_kKeySlash); GXMAP(type,SDL_SCANCODE_BACKSLASH, GHOST_kKeyBackslash); GXMAP(type,SDL_SCANCODE_KP_EQUALS, GHOST_kKeyEqual); @@ -198,6 +200,7 @@ convertSDLKey(SDL_Scancode key) GXMAP(type,SDL_SCANCODE_CAPSLOCK, GHOST_kKeyCapsLock); GXMAP(type,SDL_SCANCODE_SCROLLLOCK, GHOST_kKeyScrollLock); GXMAP(type,SDL_SCANCODE_NUMLOCKCLEAR, GHOST_kKeyNumLock); + GXMAP(type,SDL_SCANCODE_PRINTSCREEN, GHOST_kKeyPrintScreen); /* keypad events */ @@ -382,8 +385,26 @@ GHOST_SystemSDL::processEvent(SDL_Event *sdl_event) GHOST_TKey gkey= convertSDLKey(sdl_sub_evt.keysym.scancode); /* note, the sdl_sub_evt.keysym.sym is truncated, for unicode support ghost has to be modified */ + /* printf("%d\n", sym); */ if(sym > 127) { - sym= 0; + switch(sym) { + case SDLK_KP_DIVIDE: sym= '/'; break; + case SDLK_KP_MULTIPLY: sym= '*'; break; + case SDLK_KP_MINUS: sym= '-'; break; + case SDLK_KP_PLUS: sym= '+'; break; + case SDLK_KP_1: sym= '1'; break; + case SDLK_KP_2: sym= '2'; break; + case SDLK_KP_3: sym= '3'; break; + case SDLK_KP_4: sym= '4'; break; + case SDLK_KP_5: sym= '5'; break; + case SDLK_KP_6: sym= '6'; break; + case SDLK_KP_7: sym= '7'; break; + case SDLK_KP_8: sym= '8'; break; + case SDLK_KP_9: sym= '9'; break; + case SDLK_KP_0: sym= '0'; break; + case SDLK_KP_PERIOD: sym= '.'; break; + default: sym= 0; break; + } } else { if(sdl_sub_evt.keysym.mod & (KMOD_LSHIFT|KMOD_RSHIFT)) { diff --git a/intern/ghost/intern/GHOST_SystemX11.cpp b/intern/ghost/intern/GHOST_SystemX11.cpp index 105f71b514f..d5100e589f2 100644 --- a/intern/ghost/intern/GHOST_SystemX11.cpp +++ b/intern/ghost/intern/GHOST_SystemX11.cpp @@ -42,8 +42,10 @@ #include "GHOST_EventKey.h" #include "GHOST_EventButton.h" #include "GHOST_EventWheel.h" -#include "GHOST_NDOFManagerX11.h" #include "GHOST_DisplayManagerX11.h" +#ifdef WITH_INPUT_NDOF +#include "GHOST_NDOFManagerX11.h" +#endif #include "GHOST_Debug.h" @@ -815,22 +817,6 @@ GHOST_SystemX11::processEvent(XEvent *xe) } } -#if 0 // obsolete SpaceNav code - - void * -GHOST_SystemX11:: -prepareNdofInfo(volatile GHOST_TEventNDOFData *currentNdofValues) -{ - const vector& v(m_windowManager->getWindows()); - if (v.size() > 0) - sNdofInfo.window = static_cast(v[0])->getXWindow(); - sNdofInfo.display = m_display; - sNdofInfo.currValues = currentNdofValues; - return (void*)&sNdofInfo; -} - -#endif - GHOST_TSuccess GHOST_SystemX11:: getModifierKeys( diff --git a/intern/ghost/intern/GHOST_WindowWin32.cpp b/intern/ghost/intern/GHOST_WindowWin32.cpp index 1ba51376ff9..0c8c0adf041 100644 --- a/intern/ghost/intern/GHOST_WindowWin32.cpp +++ b/intern/ghost/intern/GHOST_WindowWin32.cpp @@ -612,7 +612,6 @@ GHOST_TSuccess GHOST_WindowWin32::setState(GHOST_TWindowState state) wp.showCmd = SW_SHOWMINIMIZED; break; case GHOST_kWindowStateMaximized: - ShowWindow(m_hWnd, SW_HIDE); wp.showCmd = SW_SHOWMAXIMIZED; SetWindowLongPtr(m_hWnd, GWL_STYLE, WS_OVERLAPPEDWINDOW); break; @@ -629,12 +628,12 @@ GHOST_TSuccess GHOST_WindowWin32::setState(GHOST_TWindowState state) break; case GHOST_kWindowStateNormal: default: - ShowWindow(m_hWnd, SW_HIDE); wp.showCmd = SW_SHOWNORMAL; SetWindowLongPtr(m_hWnd, GWL_STYLE, WS_OVERLAPPEDWINDOW); break; } - return ::SetWindowPlacement(m_hWnd, &wp) == TRUE ? GHOST_kSuccess : GHOST_kFailure; + SetWindowPos(m_hWnd, 0, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED); /*Clears window cache for SetWindowLongPtr */ + return ::SetWindowPlacement(m_hWnd, &wp) == TRUE ? GHOST_kSuccess : GHOST_kFailure; } diff --git a/intern/guardedalloc/MEM_guardedalloc.h b/intern/guardedalloc/MEM_guardedalloc.h index a4beea6d8d5..f96a49b9f4a 100644 --- a/intern/guardedalloc/MEM_guardedalloc.h +++ b/intern/guardedalloc/MEM_guardedalloc.h @@ -61,18 +61,6 @@ #ifndef MEM_MALLOCN_H #define MEM_MALLOCN_H -#ifndef LIBEXPORT -#ifdef _WIN32 -#ifdef BLENDER_PLUGIN -#define LIBEXPORT __declspec(dllimport) -#else -#define LIBEXPORT __declspec(dllexport) -#endif -#else -#define LIBEXPORT -#endif -#endif - #include /* needed for FILE* */ #include "MEM_sys_types.h" /* needed for uintptr_t */ @@ -107,7 +95,7 @@ extern "C" { /** * Duplicates a block of memory, and returns a pointer to the * newly allocated block. */ - LIBEXPORT void *MEM_dupallocN(void *vmemh) WARN_UNUSED; + void *MEM_dupallocN(void *vmemh) WARN_UNUSED; /** * Reallocates a block of memory, and returns pointer to the newly diff --git a/release/datafiles/splash.png b/release/datafiles/splash.png index d6ccdb5b733c56493eb27333ae73542ecae7a39b..79339095b0774b85ebf07d7758adf2dfa10c1077 100644 GIT binary patch delta 203631 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%0A!qy+&;aDP?8uuIe)+y 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%0A*xEuA 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%0AL68d{|zOc1c0sd)kM_D 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 Xqq=~iET1R800000NkvXXu0mjf7atKR diff --git a/release/scripts/modules/bpy/__init__.py b/release/scripts/modules/bpy/__init__.py index a43b42e49a1..5c371fd750a 100644 --- a/release/scripts/modules/bpy/__init__.py +++ b/release/scripts/modules/bpy/__init__.py @@ -44,14 +44,18 @@ from . import utils, path, ops ops = ops.ops_fake_module -def _main(): - import sys as _sys +def main(): + import sys # Possibly temp. addons path from os.path import join, dirname, normpath - _sys.path.append(normpath(join(dirname(__file__), + sys.path.append(normpath(join(dirname(__file__), "..", "..", "addons", "modules"))) + # fake module to allow: + # from bpy.types import Panel + sys.modules["bpy.types"] = types + # if "-d" in sys.argv: # Enable this to measure startup speed if 0: import cProfile @@ -65,6 +69,6 @@ def _main(): utils.load_scripts() -_main() +main() -del _main +del main diff --git a/release/scripts/modules/bpy_extras/io_utils.py b/release/scripts/modules/bpy_extras/io_utils.py index 45664384efa..6271c1f77b5 100644 --- a/release/scripts/modules/bpy_extras/io_utils.py +++ b/release/scripts/modules/bpy_extras/io_utils.py @@ -379,7 +379,7 @@ def path_reference(filepath, is_relative = filepath.startswith("//") filepath_abs = os.path.normpath(bpy.path.abspath(filepath, base_src)) - if mode in ('ABSOLUTE', 'RELATIVE', 'STRIP'): + if mode in {'ABSOLUTE', 'RELATIVE', 'STRIP'}: pass elif mode == 'MATCH': mode = 'RELATIVE' if is_relative else 'ABSOLUTE' @@ -439,7 +439,7 @@ def path_reference_copy(copy_set, report=print): shutil.copy(file_src, file_dst) -def unique_name(key, name, name_dict, name_max=-1, clean_func=None): +def unique_name(key, name, name_dict, name_max=-1, clean_func=None, sep="."): """ Helper function for storing unique names which may have special characters stripped and restricted to a maximum length. @@ -456,6 +456,9 @@ def unique_name(key, name, name_dict, name_max=-1, clean_func=None): :type name_dict: dict :arg clean_func: Function to call on *name* before creating a unique value. :type clean_func: function + :arg sep: Separator to use when between the name and a number when a + duplicate name is found. + :type sep: string """ name_new = name_dict.get(key) if name_new is None: @@ -466,14 +469,15 @@ def unique_name(key, name, name_dict, name_max=-1, clean_func=None): if name_max == -1: while name_new in name_dict_values: - name_new = "%s.%03d" % (name_new_orig, count) + name_new = "%s%s%03d" % (name_new_orig, sep, count) count += 1 else: name_new = name_new[:name_max] while name_new in name_dict_values: count_str = "%03d" % count - name_new = "%.*s.%s" % (name_max - (len(count_str) + 1), + name_new = "%.*s%s%s" % (name_max - (len(count_str) + 1), name_new_orig, + sep, count_str, ) count += 1 diff --git a/release/scripts/modules/bpy_extras/mesh_utils.py b/release/scripts/modules/bpy_extras/mesh_utils.py index f9400674138..c965169ff04 100644 --- a/release/scripts/modules/bpy_extras/mesh_utils.py +++ b/release/scripts/modules/bpy_extras/mesh_utils.py @@ -294,7 +294,7 @@ def ngon_tesselate(from_data, indices, fix_loops=True): ''' Normal single concave loop filling ''' - if type(from_data) in (tuple, list): + if type(from_data) in {tuple, list}: verts = [Vector(from_data[i]) for ii, i in enumerate(indices)] else: verts = [from_data.vertices[i].co for ii, i in enumerate(indices)] @@ -312,7 +312,7 @@ def ngon_tesselate(from_data, indices, fix_loops=True): used twice. This is used by lightwave LWO files a lot ''' - if type(from_data) in (tuple, list): + if type(from_data) in {tuple, list}: verts = [vert_treplet(Vector(from_data[i]), ii) for ii, i in enumerate(indices)] else: diff --git a/release/scripts/modules/bpyml.py b/release/scripts/modules/bpyml.py index fdf5172a0b3..42d2bf94fba 100644 --- a/release/scripts/modules/bpyml.py +++ b/release/scripts/modules/bpyml.py @@ -120,7 +120,7 @@ def fromxml(data): py_item = (xml_node.tagName, _fromxml_kwargs(xml_node), []) #_fromxml_iter(py_item, xml_node.childNodes) for xml_node_child in xml_node.childNodes: - if xml_node_child.nodeType not in (xml_node_child.TEXT_NODE, xml_node_child.COMMENT_NODE): + if xml_node_child.nodeType not in {xml_node_child.TEXT_NODE, xml_node_child.COMMENT_NODE}: py_item[CHILDREN].append(_fromxml(xml_node_child)) return py_item diff --git a/release/scripts/modules/bpyml_ui.py b/release/scripts/modules/bpyml_ui.py index 5df04b8bf34..f4b6de23dbb 100644 --- a/release/scripts/modules/bpyml_ui.py +++ b/release/scripts/modules/bpyml_ui.py @@ -40,13 +40,13 @@ def _parse_rna(prop, value): elif prop.type == 'INT': value = int(value) elif prop.type == 'BOOLEAN': - if value in (True, False): + if value in {True, False}: pass else: - if value not in ("True", "False"): + if value not in {"True", "False"}: raise Exception("invalid bool value: %s" % value) value = bool(value == "True") - elif prop.type in ('STRING', 'ENUM'): + elif prop.type in {'STRING', 'ENUM'}: pass elif prop.type == 'POINTER': value = eval("_bpy." + value) diff --git a/release/scripts/modules/rna_info.py b/release/scripts/modules/rna_info.py index 93a344f4b09..943f86adecb 100644 --- a/release/scripts/modules/rna_info.py +++ b/release/scripts/modules/rna_info.py @@ -148,7 +148,7 @@ class InfoStructRNA: import types functions = [] for identifier, attr in self._get_py_visible_attrs(): - if type(attr) in (types.FunctionType, types.MethodType): + if type(attr) in {types.FunctionType, types.MethodType}: functions.append((identifier, attr)) return functions @@ -156,7 +156,7 @@ class InfoStructRNA: import types functions = [] for identifier, attr in self._get_py_visible_attrs(): - if type(attr) in (types.BuiltinMethodType, types.BuiltinFunctionType): + if type(attr) in {types.BuiltinMethodType, types.BuiltinFunctionType}: functions.append((identifier, attr)) return functions @@ -260,7 +260,7 @@ class InfoPropertyRNA: if self.array_length: type_str += " array of %d items" % (self.array_length) - if self.type in ("float", "int"): + if self.type in {"float", "int"}: type_str += " in [%s, %s]" % (range_str(self.min), range_str(self.max)) elif self.type == "enum": if self.is_enum_flag: @@ -595,7 +595,7 @@ def BuildRNAInfo(): for prop in rna_info.properties: # ERROR CHECK default = prop.default - if type(default) in (float, int): + if type(default) in {float, int}: if default < prop.min or default > prop.max: print("\t %s.%s, %s not in [%s - %s]" % (rna_info.identifier, prop.identifier, default, prop.min, prop.max)) diff --git a/release/scripts/startup/bl_operators/add_mesh_torus.py b/release/scripts/startup/bl_operators/add_mesh_torus.py index 27a6d21d519..1c4518c4feb 100644 --- a/release/scripts/startup/bl_operators/add_mesh_torus.py +++ b/release/scripts/startup/bl_operators/add_mesh_torus.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Operator import mathutils @@ -81,7 +82,7 @@ from bpy.props import (FloatProperty, ) -class AddTorus(bpy.types.Operator): +class AddTorus(Operator): '''Add a torus mesh''' bl_idname = "mesh.primitive_torus_add" bl_label = "Add Torus" diff --git a/release/scripts/startup/bl_operators/animsys_update.py b/release/scripts/startup/bl_operators/animsys_update.py index 63d438a5066..3710c57ac16 100644 --- a/release/scripts/startup/bl_operators/animsys_update.py +++ b/release/scripts/startup/bl_operators/animsys_update.py @@ -686,9 +686,10 @@ data_path_update = [ import bpy +from bpy.types import Operator -class UpdateAnimData(bpy.types.Operator): +class UpdateAnimData(Operator): """Update data paths from 2.56 and previous versions, modifying data paths of drivers and fcurves""" bl_idname = "anim.update_data_paths" bl_label = "Update Animation Data" diff --git a/release/scripts/startup/bl_operators/image.py b/release/scripts/startup/bl_operators/image.py index 23bafe2eaae..9226cbed51b 100644 --- a/release/scripts/startup/bl_operators/image.py +++ b/release/scripts/startup/bl_operators/image.py @@ -19,10 +19,11 @@ # import bpy +from bpy.types import Operator from bpy.props import StringProperty -class EditExternally(bpy.types.Operator): +class EditExternally(Operator): '''Edit image in an external application''' bl_idname = "image.external_edit" bl_label = "Image Edit Externally" @@ -61,13 +62,19 @@ class EditExternally(bpy.types.Operator): def execute(self, context): import os import subprocess - filepath = os.path.normpath(bpy.path.abspath(self.filepath)) + + filepath = self.filepath + + if not filepath: + self.report({'ERROR'}, "Image path not set") + return {'CANCELLED'} + + filepath = os.path.normpath(bpy.path.abspath(filepath)) if not os.path.exists(filepath): self.report({'ERROR'}, "Image path %r not found, image may be packed or " "unsaved." % filepath) - return {'CANCELLED'} cmd = self._editor_guess(context) + [filepath] @@ -100,7 +107,7 @@ class EditExternally(bpy.types.Operator): return {'FINISHED'} -class SaveDirty(bpy.types.Operator): +class SaveDirty(Operator): """Save all modified textures""" bl_idname = "image.save_dirty" bl_label = "Save Dirty" @@ -123,7 +130,7 @@ class SaveDirty(bpy.types.Operator): return {'FINISHED'} -class ProjectEdit(bpy.types.Operator): +class ProjectEdit(Operator): """Edit a snapshot of the viewport in an external image editor""" bl_idname = "image.project_edit" bl_label = "Project Edit" @@ -190,7 +197,7 @@ class ProjectEdit(bpy.types.Operator): return {'FINISHED'} -class ProjectApply(bpy.types.Operator): +class ProjectApply(Operator): """Project edited image back onto the object""" bl_idname = "image.project_apply" bl_label = "Project Apply" diff --git a/release/scripts/startup/bl_operators/mesh.py b/release/scripts/startup/bl_operators/mesh.py index 344b238709f..4114381f3dc 100644 --- a/release/scripts/startup/bl_operators/mesh.py +++ b/release/scripts/startup/bl_operators/mesh.py @@ -19,11 +19,12 @@ # import bpy +from bpy.types import Operator from bpy.props import EnumProperty -class MeshSelectInteriorFaces(bpy.types.Operator): +class MeshSelectInteriorFaces(Operator): '''Select faces where all edges have more then 2 face users.''' bl_idname = "mesh.faces_select_interior" @@ -67,7 +68,7 @@ class MeshSelectInteriorFaces(bpy.types.Operator): return {'FINISHED'} -class MeshMirrorUV(bpy.types.Operator): +class MeshMirrorUV(Operator): '''Copy mirror UV coordinates on the X axis based on a mirrored mesh''' bl_idname = "mesh.faces_mirror_uv" bl_label = "Copy Mirrored UV coords" diff --git a/release/scripts/startup/bl_operators/nla.py b/release/scripts/startup/bl_operators/nla.py index 469e9015e62..44ed846e530 100644 --- a/release/scripts/startup/bl_operators/nla.py +++ b/release/scripts/startup/bl_operators/nla.py @@ -19,6 +19,7 @@ # import bpy +from bpy.types import Operator def pose_frame_info(obj): @@ -191,7 +192,7 @@ def bake(frame_start, from bpy.props import IntProperty, BoolProperty, EnumProperty -class BakeAction(bpy.types.Operator): +class BakeAction(Operator): '''Bake animation to an Action''' bl_idname = "nla.bake" bl_label = "Bake Action" diff --git a/release/scripts/startup/bl_operators/object.py b/release/scripts/startup/bl_operators/object.py index 627a1530fe1..79f57990f37 100644 --- a/release/scripts/startup/bl_operators/object.py +++ b/release/scripts/startup/bl_operators/object.py @@ -19,10 +19,11 @@ # import bpy +from bpy.types import Operator from bpy.props import StringProperty, BoolProperty, EnumProperty, IntProperty -class SelectPattern(bpy.types.Operator): +class SelectPattern(Operator): '''Select object matching a naming pattern''' bl_idname = "object.select_pattern" bl_label = "Select Pattern" @@ -99,7 +100,7 @@ class SelectPattern(bpy.types.Operator): row.prop(self, "extend") -class SelectCamera(bpy.types.Operator): +class SelectCamera(Operator): '''Select object matching a naming pattern''' bl_idname = "object.select_camera" bl_label = "Select Camera" @@ -120,7 +121,7 @@ class SelectCamera(bpy.types.Operator): return {'FINISHED'} -class SelectHierarchy(bpy.types.Operator): +class SelectHierarchy(Operator): '''Select object relative to the active objects position''' \ '''in the hierarchy''' bl_idname = "object.select_hierarchy" @@ -187,7 +188,7 @@ class SelectHierarchy(bpy.types.Operator): return {'CANCELLED'} -class SubdivisionSet(bpy.types.Operator): +class SubdivisionSet(Operator): '''Sets a Subdivision Surface Level (1-5)''' bl_idname = "object.subdivision_set" @@ -263,7 +264,7 @@ class SubdivisionSet(bpy.types.Operator): return {'FINISHED'} -class ShapeTransfer(bpy.types.Operator): +class ShapeTransfer(Operator): '''Copy another selected objects active shape to this one by ''' \ '''applying the relative offsets''' @@ -507,7 +508,7 @@ class ShapeTransfer(bpy.types.Operator): return self._main(ob_act, objects, self.mode, self.use_clamp) -class JoinUVs(bpy.types.Operator): +class JoinUVs(Operator): '''Copy UV Layout to objects with matching geometry''' bl_idname = "object.join_uvs" bl_label = "Join as UVs" @@ -575,7 +576,7 @@ class JoinUVs(bpy.types.Operator): return {'FINISHED'} -class MakeDupliFace(bpy.types.Operator): +class MakeDupliFace(Operator): '''Make linked objects into dupli-faces''' bl_idname = "object.make_dupli_face" bl_label = "Make Dupli-Face" @@ -649,7 +650,7 @@ class MakeDupliFace(bpy.types.Operator): return {'FINISHED'} -class IsolateTypeRender(bpy.types.Operator): +class IsolateTypeRender(Operator): '''Hide unselected render objects of same type as active ''' \ '''by setting the hide render flag''' bl_idname = "object.isolate_type_render" @@ -670,7 +671,7 @@ class IsolateTypeRender(bpy.types.Operator): return {'FINISHED'} -class ClearAllRestrictRender(bpy.types.Operator): +class ClearAllRestrictRender(Operator): '''Reveal all render objects by setting the hide render flag''' bl_idname = "object.hide_render_clear_all" bl_label = "Clear All Restrict Render" diff --git a/release/scripts/startup/bl_operators/object_align.py b/release/scripts/startup/bl_operators/object_align.py index 7fd769c40c9..d4a3d826f2f 100644 --- a/release/scripts/startup/bl_operators/object_align.py +++ b/release/scripts/startup/bl_operators/object_align.py @@ -19,6 +19,7 @@ # import bpy +from bpy.types import Operator from mathutils import Vector @@ -339,7 +340,7 @@ def align_objects(align_x, from bpy.props import EnumProperty, BoolProperty -class AlignObjects(bpy.types.Operator): +class AlignObjects(Operator): '''Align Objects''' bl_idname = "object.align" bl_label = "Align Objects" diff --git a/release/scripts/startup/bl_operators/object_quick_effects.py b/release/scripts/startup/bl_operators/object_quick_effects.py index ef10bfd737d..cd206da3a8e 100644 --- a/release/scripts/startup/bl_operators/object_quick_effects.py +++ b/release/scripts/startup/bl_operators/object_quick_effects.py @@ -20,6 +20,7 @@ from mathutils import Vector import bpy +from bpy.types import Operator from bpy.props import (BoolProperty, EnumProperty, IntProperty, @@ -45,7 +46,7 @@ def object_ensure_material(obj, mat_name): return mat -class QuickFur(bpy.types.Operator): +class QuickFur(Operator): bl_idname = "object.quick_fur" bl_label = "Quick Fur" bl_options = {'REGISTER', 'UNDO'} @@ -104,7 +105,7 @@ class QuickFur(bpy.types.Operator): return {'FINISHED'} -class QuickExplode(bpy.types.Operator): +class QuickExplode(Operator): bl_idname = "object.quick_explode" bl_label = "Quick Explode" bl_options = {'REGISTER', 'UNDO'} @@ -265,7 +266,7 @@ def obj_bb_minmax(obj, min_co, max_co): max_co[2] = max(bb_vec[2], max_co[2]) -class QuickSmoke(bpy.types.Operator): +class QuickSmoke(Operator): bl_idname = "object.quick_smoke" bl_label = "Quick Smoke" bl_options = {'REGISTER', 'UNDO'} @@ -383,7 +384,7 @@ class QuickSmoke(bpy.types.Operator): return {'FINISHED'} -class QuickFluid(bpy.types.Operator): +class QuickFluid(Operator): bl_idname = "object.quick_fluid" bl_label = "Quick Fluid" bl_options = {'REGISTER', 'UNDO'} diff --git a/release/scripts/startup/bl_operators/object_randomize_transform.py b/release/scripts/startup/bl_operators/object_randomize_transform.py index b94c4f06cd3..f65e3d27d83 100644 --- a/release/scripts/startup/bl_operators/object_randomize_transform.py +++ b/release/scripts/startup/bl_operators/object_randomize_transform.py @@ -19,6 +19,7 @@ # import bpy +from bpy.types import Operator def randomize_selected(seed, delta, loc, rot, scale, scale_even): @@ -87,7 +88,7 @@ def randomize_selected(seed, delta, loc, rot, scale, scale_even): from bpy.props import IntProperty, BoolProperty, FloatVectorProperty -class RandomizeLocRotSize(bpy.types.Operator): +class RandomizeLocRotSize(Operator): '''Randomize objects loc/rot/scale''' bl_idname = "object.randomize_transform" bl_label = "Randomize Transform" diff --git a/release/scripts/startup/bl_operators/presets.py b/release/scripts/startup/bl_operators/presets.py index fbcc327c3bd..2fd0c4a9e12 100644 --- a/release/scripts/startup/bl_operators/presets.py +++ b/release/scripts/startup/bl_operators/presets.py @@ -19,6 +19,7 @@ # import bpy +from bpy.types import Menu, Operator class AddPresetBase(): @@ -140,7 +141,7 @@ class AddPresetBase(): return self.execute(context) -class ExecutePreset(bpy.types.Operator): +class ExecutePreset(Operator): ''' Executes a preset ''' bl_idname = "script.execute_preset" bl_label = "Execute a Python Preset" @@ -168,7 +169,7 @@ class ExecutePreset(bpy.types.Operator): return {'FINISHED'} -class AddPresetRender(AddPresetBase, bpy.types.Operator): +class AddPresetRender(AddPresetBase, Operator): '''Add a Render Preset''' bl_idname = "render.preset_add" bl_label = "Add Render Preset" @@ -194,7 +195,7 @@ class AddPresetRender(AddPresetBase, bpy.types.Operator): preset_subdir = "render" -class AddPresetSSS(AddPresetBase, bpy.types.Operator): +class AddPresetSSS(AddPresetBase, Operator): '''Add a Subsurface Scattering Preset''' bl_idname = "material.sss_preset_add" bl_label = "Add SSS Preset" @@ -222,7 +223,7 @@ class AddPresetSSS(AddPresetBase, bpy.types.Operator): preset_subdir = "sss" -class AddPresetCloth(AddPresetBase, bpy.types.Operator): +class AddPresetCloth(AddPresetBase, Operator): '''Add a Cloth Preset''' bl_idname = "cloth.preset_add" bl_label = "Add Cloth Preset" @@ -244,7 +245,7 @@ class AddPresetCloth(AddPresetBase, bpy.types.Operator): preset_subdir = "cloth" -class AddPresetSunSky(AddPresetBase, bpy.types.Operator): +class AddPresetSunSky(AddPresetBase, Operator): '''Add a Sky & Atmosphere Preset''' bl_idname = "lamp.sunsky_preset_add" bl_label = "Add Sunsky Preset" @@ -273,7 +274,7 @@ class AddPresetSunSky(AddPresetBase, bpy.types.Operator): preset_subdir = "sunsky" -class AddPresetInteraction(AddPresetBase, bpy.types.Operator): +class AddPresetInteraction(AddPresetBase, Operator): '''Add an Application Interaction Preset''' bl_idname = "wm.interaction_preset_add" bl_label = "Add Interaction Preset" @@ -299,7 +300,7 @@ class AddPresetInteraction(AddPresetBase, bpy.types.Operator): preset_subdir = "interaction" -class AddPresetKeyconfig(AddPresetBase, bpy.types.Operator): +class AddPresetKeyconfig(AddPresetBase, Operator): '''Add a Keyconfig Preset''' bl_idname = "wm.keyconfig_preset_add" bl_label = "Add Keyconfig Preset" @@ -322,7 +323,7 @@ class AddPresetKeyconfig(AddPresetBase, bpy.types.Operator): keyconfigs.remove(keyconfigs.active) -class AddPresetOperator(AddPresetBase, bpy.types.Operator): +class AddPresetOperator(AddPresetBase, Operator): '''Add an Application Interaction Preset''' bl_idname = "wm.operator_preset_add" bl_label = "Operator Preset" @@ -345,7 +346,7 @@ class AddPresetOperator(AddPresetBase, bpy.types.Operator): @property def preset_values(self): - properties_blacklist = bpy.types.Operator.bl_rna.properties.keys() + properties_blacklist = Operator.bl_rna.properties.keys() prefix, suffix = self.operator.split("_OT_", 1) op = getattr(getattr(bpy.ops, prefix.lower()), suffix) @@ -367,12 +368,12 @@ class AddPresetOperator(AddPresetBase, bpy.types.Operator): return os.path.join("operator", "%s.%s" % (prefix.lower(), suffix)) -class WM_MT_operator_presets(bpy.types.Menu): +class WM_MT_operator_presets(Menu): bl_label = "Operator Presets" def draw(self, context): self.operator = context.space_data.operator.bl_idname - bpy.types.Menu.draw_preset(self, context) + Menu.draw_preset(self, context) @property def preset_subdir(self): diff --git a/release/scripts/startup/bl_operators/screen_play_rendered_anim.py b/release/scripts/startup/bl_operators/screen_play_rendered_anim.py index a38d817d738..c2a09d6a4ae 100644 --- a/release/scripts/startup/bl_operators/screen_play_rendered_anim.py +++ b/release/scripts/startup/bl_operators/screen_play_rendered_anim.py @@ -21,6 +21,7 @@ # Originally written by Matt Ebb import bpy +from bpy.types import Operator import os @@ -64,7 +65,7 @@ def guess_player_path(preset): return player_path -class PlayRenderedAnim(bpy.types.Operator): +class PlayRenderedAnim(Operator): '''Plays back rendered frames/movies using an external player.''' bl_idname = "render.play_rendered_anim" bl_label = "Play Rendered Animation" diff --git a/release/scripts/startup/bl_operators/sequencer.py b/release/scripts/startup/bl_operators/sequencer.py index 16b72406c49..d2f85c8d7c7 100644 --- a/release/scripts/startup/bl_operators/sequencer.py +++ b/release/scripts/startup/bl_operators/sequencer.py @@ -19,11 +19,12 @@ # import bpy +from bpy.types import Operator from bpy.props import IntProperty -class SequencerCrossfadeSounds(bpy.types.Operator): +class SequencerCrossfadeSounds(Operator): '''Do crossfading volume animation of two selected sound strips.''' bl_idname = "sequencer.crossfade_sounds" @@ -74,7 +75,7 @@ class SequencerCrossfadeSounds(bpy.types.Operator): return {'CANCELLED'} -class SequencerCutMulticam(bpy.types.Operator): +class SequencerCutMulticam(Operator): '''Cut multicam strip and select camera.''' bl_idname = "sequencer.cut_multicam" @@ -112,7 +113,7 @@ class SequencerCutMulticam(bpy.types.Operator): return {'FINISHED'} -class SequencerDeinterlaceSelectedMovies(bpy.types.Operator): +class SequencerDeinterlaceSelectedMovies(Operator): '''Deinterlace all selected movie sources.''' bl_idname = "sequencer.deinterlace_selected_movies" diff --git a/release/scripts/startup/bl_operators/uvcalc_follow_active.py b/release/scripts/startup/bl_operators/uvcalc_follow_active.py index 43ca9af59ba..6c258d094e8 100644 --- a/release/scripts/startup/bl_operators/uvcalc_follow_active.py +++ b/release/scripts/startup/bl_operators/uvcalc_follow_active.py @@ -22,6 +22,7 @@ # http://mediawiki.blender.org/index.php/Scripts/Manual/UV_Calculate/Follow_active_quads import bpy +from bpy.types import Operator def extend(obj, operator, EXTEND_MODE): @@ -226,7 +227,7 @@ def main(context, operator): extend(obj, operator, operator.properties.mode) -class FollowActiveQuads(bpy.types.Operator): +class FollowActiveQuads(Operator): '''Follow UVs from active quads along continuous face loops''' bl_idname = "uv.follow_active_quads" bl_label = "Follow Active Quads" diff --git a/release/scripts/startup/bl_operators/uvcalc_lightmap.py b/release/scripts/startup/bl_operators/uvcalc_lightmap.py index 9ae0cd0ddf9..6b1c6e1be98 100644 --- a/release/scripts/startup/bl_operators/uvcalc_lightmap.py +++ b/release/scripts/startup/bl_operators/uvcalc_lightmap.py @@ -19,11 +19,20 @@ # import bpy +from bpy.types import Operator import mathutils class prettyface(object): - __slots__ = "uv", "width", "height", "children", "xoff", "yoff", "has_parent", "rot" + __slots__ = ("uv", + "width", + "height", + "children", + "xoff", + "yoff", + "has_parent", + "rot", + ) def __init__(self, data): self.has_parent = False @@ -263,10 +272,9 @@ def lightmap_uvpack(meshes, del trylens def trilensdiff(t1, t2): - return\ - abs(t1[1][t1[2][0]] - t2[1][t2[2][0]]) + \ - abs(t1[1][t1[2][1]] - t2[1][t2[2][1]]) + \ - abs(t1[1][t1[2][2]] - t2[1][t2[2][2]]) + return (abs(t1[1][t1[2][0]] - t2[1][t2[2][0]]) + + abs(t1[1][t1[2][1]] - t2[1][t2[2][1]]) + + abs(t1[1][t1[2][2]] - t2[1][t2[2][2]])) while tri_lengths: tri1 = tri_lengths.pop() @@ -520,7 +528,7 @@ def unwrap(operator, context, **kwargs): if obj and obj.type == 'MESH': meshes = [obj.data] else: - meshes = {me.name: me for obj in context.selected_objects if obj.type == 'MESH' for me in (obj.data,) if not me.library if len(me.faces)}.values() + meshes = list({me for obj in context.selected_objects if obj.type == 'MESH' for me in (obj.data,) if me.faces and me.library is None}) if not meshes: operator.report({'ERROR'}, "No mesh object.") @@ -536,29 +544,58 @@ def unwrap(operator, context, **kwargs): from bpy.props import BoolProperty, FloatProperty, IntProperty -class LightMapPack(bpy.types.Operator): +class LightMapPack(Operator): '''Follow UVs from active quads along continuous face loops''' bl_idname = "uv.lightmap_pack" bl_label = "Lightmap Pack" bl_options = {'REGISTER', 'UNDO'} PREF_CONTEXT = bpy.props.EnumProperty( + name="Selection", + description="", items=(("SEL_FACES", "Selected Faces", "Space all UVs evently"), ("ALL_FACES", "All Faces", "Average space UVs edge length of each loop"), ("ALL_OBJECTS", "Selected Mesh Object", "Average space UVs edge length of each loop") ), - name="Selection", - description="") + ) # Image & UVs... - PREF_PACK_IN_ONE = BoolProperty(name="Share Tex Space", default=True, description="Objects Share texture space, map all objects into 1 uvmap") - PREF_NEW_UVLAYER = BoolProperty(name="New UV Layer", default=False, description="Create a new UV layer for every mesh packed") - PREF_APPLY_IMAGE = BoolProperty(name="New Image", default=False, description="Assign new images for every mesh (only one if shared tex space enabled)") - PREF_IMG_PX_SIZE = IntProperty(name="Image Size", min=64, max=5000, default=512, description="Width and Height for the new image") - + PREF_PACK_IN_ONE = BoolProperty( + name="Share Tex Space", + description=("Objects Share texture space, map all objects " + "into 1 uvmap"), + default=True, + ) + PREF_NEW_UVLAYER = BoolProperty( + name="New UV Layer", + description="Create a new UV layer for every mesh packed", + default=False, + ) + PREF_APPLY_IMAGE = BoolProperty( + name="New Image", + description=("Assign new images for every mesh (only one if " + "shared tex space enabled)"), + default=False, + ) + PREF_IMG_PX_SIZE = IntProperty( + name="Image Size", + description="Width and Height for the new image", + min=64, max=5000, + default=512, + ) # UV Packing... - PREF_BOX_DIV = IntProperty(name="Pack Quality", min=1, max=48, default=12, description="Pre Packing before the complex boxpack") - PREF_MARGIN_DIV = FloatProperty(name="Margin", min=0.001, max=1.0, default=0.1, description="Size of the margin as a division of the UV") + PREF_BOX_DIV = IntProperty( + name="Pack Quality", + description="Pre Packing before the complex boxpack", + min=1, max=48, + default=12, + ) + PREF_MARGIN_DIV = FloatProperty( + name="Margin", + description="Size of the margin as a division of the UV", + min=0.001, max=1.0, + default=0.1, + ) def execute(self, context): kwargs = self.as_keywords() diff --git a/release/scripts/startup/bl_operators/uvcalc_smart_project.py b/release/scripts/startup/bl_operators/uvcalc_smart_project.py index 851f33bde11..8afd6c104e0 100644 --- a/release/scripts/startup/bl_operators/uvcalc_smart_project.py +++ b/release/scripts/startup/bl_operators/uvcalc_smart_project.py @@ -20,6 +20,7 @@ from mathutils import Matrix, Vector, geometry import bpy +from bpy.types import Operator DEG_TO_RAD = 0.017453292519943295 # pi/180.0 SMALL_NUM = 0.000000001 @@ -812,39 +813,26 @@ def main(context, global RotMatStepRotation main_consts() - # TODO, all selected meshes - ''' - # objects = context.selected_editable_objects - objects = [] - - # we can will tag them later. - obList = [ob for ob in objects if ob.type == 'MESH'] - - # Face select object may not be selected. - ob = context.active_object - - if ob and (not ob.select) and ob.type == 'MESH': - # Add to the list - obList =[ob] - del objects - ''' + # Create the variables. + USER_PROJECTION_LIMIT = projection_limit + USER_ONLY_SELECTED_FACES = True + USER_SHARE_SPACE = 1 # Only for hole filling. + USER_STRETCH_ASPECT = 1 # Only for hole filling. + USER_ISLAND_MARGIN = island_margin # Only for hole filling. + USER_FILL_HOLES = 0 + USER_FILL_HOLES_QUALITY = 50 # Only for hole filling. + USER_VIEW_INIT = 0 # Only for hole filling. - # quick workaround - obList = [ob for ob in [context.active_object] if ob and ob.type == 'MESH'] + is_editmode = (context.active_object.mode == 'EDIT') + if is_editmode: + obList = [ob for ob in [context.active_object] if ob and ob.type == 'MESH'] + else: + obList = [ob for ob in context.selected_editable_objects if ob and ob.type == 'MESH'] + USER_ONLY_SELECTED_FACES = False if not obList: raise('error, no selected mesh objects') - # Create the variables. - USER_PROJECTION_LIMIT = projection_limit - USER_ONLY_SELECTED_FACES = (1) - USER_SHARE_SPACE = (1) # Only for hole filling. - USER_STRETCH_ASPECT = (1) # Only for hole filling. - USER_ISLAND_MARGIN = island_margin # Only for hole filling. - USER_FILL_HOLES = (0) - USER_FILL_HOLES_QUALITY = (50) # Only for hole filling. - USER_VIEW_INIT = (0) # Only for hole filling. - # Reuse variable if len(obList) == 1: ob = "Unwrap %i Selected Mesh" @@ -905,8 +893,8 @@ def main(context, if USER_ONLY_SELECTED_FACES: meshFaces = [thickface(f, uv_layer[i], me_verts) for i, f in enumerate(me.faces) if f.select] - #else: - # meshFaces = map(thickface, me.faces) + else: + meshFaces = [thickface(f, uv_layer[i], me_verts) for i, f in enumerate(me.faces)] if not meshFaces: continue @@ -921,7 +909,7 @@ def main(context, # meshFaces = [] # meshFaces.sort( lambda a, b: cmp(b.area , a.area) ) # Biggest first. - meshFaces.sort( key = lambda a: -a.area ) + meshFaces.sort(key=lambda a: -a.area) # remove all zero area faces while meshFaces and meshFaces[-1].area <= SMALL_NUM: @@ -1116,7 +1104,7 @@ def main(context, from bpy.props import FloatProperty -class SmartProject(bpy.types.Operator): +class SmartProject(Operator): '''This script projection unwraps the selected faces of a mesh. it operates on all selected mesh objects, and can be used unwrap selected faces, or all faces.''' bl_idname = "uv.smart_project" bl_label = "Smart UV Project" diff --git a/release/scripts/startup/bl_operators/vertexpaint_dirt.py b/release/scripts/startup/bl_operators/vertexpaint_dirt.py index 672db71e361..facde82f812 100644 --- a/release/scripts/startup/bl_operators/vertexpaint_dirt.py +++ b/release/scripts/startup/bl_operators/vertexpaint_dirt.py @@ -142,10 +142,11 @@ def applyVertexDirt(me, blur_iterations, blur_strength, clamp_dirt, clamp_clean, import bpy +from bpy.types import Operator from bpy.props import FloatProperty, IntProperty, BoolProperty -class VertexPaintDirt(bpy.types.Operator): +class VertexPaintDirt(Operator): bl_idname = "paint.vertex_color_dirt" bl_label = "Dirty Vertex Colors" bl_options = {'REGISTER', 'UNDO'} diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py index af33e45668c..fe75c54e60e 100644 --- a/release/scripts/startup/bl_operators/wm.py +++ b/release/scripts/startup/bl_operators/wm.py @@ -19,13 +19,14 @@ # import bpy +from bpy.types import Menu, Operator from bpy.props import StringProperty, BoolProperty, IntProperty, \ FloatProperty, EnumProperty from rna_prop_ui import rna_idprop_ui_prop_get, rna_idprop_ui_prop_clear -class MESH_OT_delete_edgeloop(bpy.types.Operator): +class MESH_OT_delete_edgeloop(Operator): '''Delete an edge loop by merging the faces on each side to a single face loop''' bl_idname = "mesh.delete_edgeloop" bl_label = "Delete Edge Loop" @@ -76,7 +77,7 @@ def execute_context_assign(self, context): return {'FINISHED'} -class BRUSH_OT_active_index_set(bpy.types.Operator): +class BRUSH_OT_active_index_set(Operator): '''Set active sculpt/paint brush from it's number''' bl_idname = "brush.active_index_set" bl_label = "Set Brush Number" @@ -104,7 +105,7 @@ class BRUSH_OT_active_index_set(bpy.types.Operator): return {'CANCELLED'} -class WM_OT_context_set_boolean(bpy.types.Operator): +class WM_OT_context_set_boolean(Operator): '''Set a context value.''' bl_idname = "wm.context_set_boolean" bl_label = "Context Set Boolean" @@ -117,7 +118,7 @@ class WM_OT_context_set_boolean(bpy.types.Operator): execute = execute_context_assign -class WM_OT_context_set_int(bpy.types.Operator): # same as enum +class WM_OT_context_set_int(Operator): # same as enum '''Set a context value.''' bl_idname = "wm.context_set_int" bl_label = "Context Set" @@ -130,7 +131,7 @@ class WM_OT_context_set_int(bpy.types.Operator): # same as enum execute = execute_context_assign -class WM_OT_context_scale_int(bpy.types.Operator): +class WM_OT_context_scale_int(Operator): '''Scale an int context value.''' bl_idname = "wm.context_scale_int" bl_label = "Context Set" @@ -166,7 +167,7 @@ class WM_OT_context_scale_int(bpy.types.Operator): return {'FINISHED'} -class WM_OT_context_set_float(bpy.types.Operator): # same as enum +class WM_OT_context_set_float(Operator): # same as enum '''Set a context value.''' bl_idname = "wm.context_set_float" bl_label = "Context Set Float" @@ -180,7 +181,7 @@ class WM_OT_context_set_float(bpy.types.Operator): # same as enum execute = execute_context_assign -class WM_OT_context_set_string(bpy.types.Operator): # same as enum +class WM_OT_context_set_string(Operator): # same as enum '''Set a context value.''' bl_idname = "wm.context_set_string" bl_label = "Context Set String" @@ -193,7 +194,7 @@ class WM_OT_context_set_string(bpy.types.Operator): # same as enum execute = execute_context_assign -class WM_OT_context_set_enum(bpy.types.Operator): +class WM_OT_context_set_enum(Operator): '''Set a context value.''' bl_idname = "wm.context_set_enum" bl_label = "Context Set Enum" @@ -207,7 +208,7 @@ class WM_OT_context_set_enum(bpy.types.Operator): execute = execute_context_assign -class WM_OT_context_set_value(bpy.types.Operator): +class WM_OT_context_set_value(Operator): '''Set a context value.''' bl_idname = "wm.context_set_value" bl_label = "Context Set Value" @@ -225,7 +226,7 @@ class WM_OT_context_set_value(bpy.types.Operator): return {'FINISHED'} -class WM_OT_context_toggle(bpy.types.Operator): +class WM_OT_context_toggle(Operator): '''Toggle a context value.''' bl_idname = "wm.context_toggle" bl_label = "Context Toggle" @@ -244,7 +245,7 @@ class WM_OT_context_toggle(bpy.types.Operator): return {'FINISHED'} -class WM_OT_context_toggle_enum(bpy.types.Operator): +class WM_OT_context_toggle_enum(Operator): '''Toggle a context value.''' bl_idname = "wm.context_toggle_enum" bl_label = "Context Toggle Values" @@ -270,7 +271,7 @@ class WM_OT_context_toggle_enum(bpy.types.Operator): return {'FINISHED'} -class WM_OT_context_cycle_int(bpy.types.Operator): +class WM_OT_context_cycle_int(Operator): '''Set a context value. Useful for cycling active material, ''' '''vertex keys, groups' etc.''' bl_idname = "wm.context_cycle_int" @@ -305,7 +306,7 @@ class WM_OT_context_cycle_int(bpy.types.Operator): return {'FINISHED'} -class WM_OT_context_cycle_enum(bpy.types.Operator): +class WM_OT_context_cycle_enum(Operator): '''Toggle a context value.''' bl_idname = "wm.context_cycle_enum" bl_label = "Context Enum Cycle" @@ -357,7 +358,7 @@ class WM_OT_context_cycle_enum(bpy.types.Operator): return {'FINISHED'} -class WM_OT_context_cycle_array(bpy.types.Operator): +class WM_OT_context_cycle_array(Operator): '''Set a context array value. Useful for cycling the active mesh edit mode.''' bl_idname = "wm.context_cycle_array" @@ -385,7 +386,7 @@ class WM_OT_context_cycle_array(bpy.types.Operator): return {'FINISHED'} -class WM_MT_context_menu_enum(bpy.types.Menu): +class WM_MT_context_menu_enum(Menu): bl_label = "" data_path = "" # BAD DESIGN, set from operator below. @@ -405,7 +406,7 @@ class WM_MT_context_menu_enum(bpy.types.Menu): prop.value = identifier -class WM_OT_context_menu_enum(bpy.types.Operator): +class WM_OT_context_menu_enum(Operator): bl_idname = "wm.context_menu_enum" bl_label = "Context Enum Menu" bl_options = {'UNDO', 'INTERNAL'} @@ -418,7 +419,7 @@ class WM_OT_context_menu_enum(bpy.types.Operator): return {'PASS_THROUGH'} -class WM_OT_context_set_id(bpy.types.Operator): +class WM_OT_context_set_id(Operator): '''Toggle a context value.''' bl_idname = "wm.context_set_id" bl_label = "Set Library ID" @@ -466,7 +467,7 @@ data_path_item = StringProperty( description="The data path from each iterable to the value (int or float)") -class WM_OT_context_collection_boolean_set(bpy.types.Operator): +class WM_OT_context_collection_boolean_set(Operator): '''Set boolean values for a collection of items''' bl_idname = "wm.context_collection_boolean_set" bl_label = "Context Collection Boolean Set" @@ -520,7 +521,7 @@ class WM_OT_context_collection_boolean_set(bpy.types.Operator): return {'FINISHED'} -class WM_OT_context_modal_mouse(bpy.types.Operator): +class WM_OT_context_modal_mouse(Operator): '''Adjust arbitrary values with mouse input''' bl_idname = "wm.context_modal_mouse" bl_label = "Context Modal Mouse" @@ -586,7 +587,7 @@ class WM_OT_context_modal_mouse(bpy.types.Operator): self._values_clear() return {'FINISHED'} - elif event_type in ('RIGHTMOUSE', 'ESC'): + elif event_type in {'RIGHTMOUSE', 'ESC'}: self._values_restore() return {'FINISHED'} @@ -607,7 +608,7 @@ class WM_OT_context_modal_mouse(bpy.types.Operator): return {'RUNNING_MODAL'} -class WM_OT_url_open(bpy.types.Operator): +class WM_OT_url_open(Operator): "Open a website in the Webbrowser" bl_idname = "wm.url_open" bl_label = "" @@ -621,7 +622,7 @@ class WM_OT_url_open(bpy.types.Operator): return {'FINISHED'} -class WM_OT_path_open(bpy.types.Operator): +class WM_OT_path_open(Operator): "Open a path in a file browser" bl_idname = "wm.path_open" bl_label = "" @@ -654,7 +655,7 @@ class WM_OT_path_open(bpy.types.Operator): return {'FINISHED'} -class WM_OT_doc_view(bpy.types.Operator): +class WM_OT_doc_view(Operator): '''Load online reference docs''' bl_idname = "wm.doc_view" bl_label = "View Documentation" @@ -708,7 +709,7 @@ class WM_OT_doc_view(bpy.types.Operator): return {'FINISHED'} -class WM_OT_doc_edit(bpy.types.Operator): +class WM_OT_doc_edit(Operator): '''Load online reference docs''' bl_idname = "wm.doc_edit" bl_label = "Edit Documentation" @@ -792,7 +793,7 @@ rna_min = FloatProperty(name="Min", default=0.0, precision=3) rna_max = FloatProperty(name="Max", default=1.0, precision=3) -class WM_OT_properties_edit(bpy.types.Operator): +class WM_OT_properties_edit(Operator): '''Internal use (edit a property data_path)''' bl_idname = "wm.properties_edit" bl_label = "Edit Property" @@ -839,7 +840,7 @@ class WM_OT_properties_edit(bpy.types.Operator): prop_ui = rna_idprop_ui_prop_get(item, prop) - if prop_type in (float, int): + if prop_type in {float, int}: prop_ui['soft_min'] = prop_ui['min'] = prop_type(self.min) prop_ui['soft_max'] = prop_ui['max'] = prop_type(self.max) @@ -876,7 +877,7 @@ class WM_OT_properties_edit(bpy.types.Operator): return wm.invoke_props_dialog(self) -class WM_OT_properties_add(bpy.types.Operator): +class WM_OT_properties_add(Operator): '''Internal use (edit a property data_path)''' bl_idname = "wm.properties_add" bl_label = "Add Property" @@ -902,7 +903,7 @@ class WM_OT_properties_add(bpy.types.Operator): return {'FINISHED'} -class WM_OT_properties_context_change(bpy.types.Operator): +class WM_OT_properties_context_change(Operator): "Change the context tab in a Properties Window" bl_idname = "wm.properties_context_change" bl_label = "" @@ -914,7 +915,7 @@ class WM_OT_properties_context_change(bpy.types.Operator): return {'FINISHED'} -class WM_OT_properties_remove(bpy.types.Operator): +class WM_OT_properties_remove(Operator): '''Internal use (edit a property data_path)''' bl_idname = "wm.properties_remove" bl_label = "Remove Property" @@ -928,7 +929,7 @@ class WM_OT_properties_remove(bpy.types.Operator): return {'FINISHED'} -class WM_OT_keyconfig_activate(bpy.types.Operator): +class WM_OT_keyconfig_activate(Operator): bl_idname = "wm.keyconfig_activate" bl_label = "Activate Keyconfig" @@ -939,7 +940,7 @@ class WM_OT_keyconfig_activate(bpy.types.Operator): return {'FINISHED'} -class WM_OT_appconfig_default(bpy.types.Operator): +class WM_OT_appconfig_default(Operator): bl_idname = "wm.appconfig_default" bl_label = "Default Application Configuration" @@ -956,7 +957,7 @@ class WM_OT_appconfig_default(bpy.types.Operator): return {'FINISHED'} -class WM_OT_appconfig_activate(bpy.types.Operator): +class WM_OT_appconfig_activate(Operator): bl_idname = "wm.appconfig_activate" bl_label = "Activate Application Configuration" @@ -974,7 +975,7 @@ class WM_OT_appconfig_activate(bpy.types.Operator): return {'FINISHED'} -class WM_OT_sysinfo(bpy.types.Operator): +class WM_OT_sysinfo(Operator): '''Generate System Info''' bl_idname = "wm.sysinfo" bl_label = "System Info" @@ -985,7 +986,7 @@ class WM_OT_sysinfo(bpy.types.Operator): return {'FINISHED'} -class WM_OT_copy_prev_settings(bpy.types.Operator): +class WM_OT_copy_prev_settings(Operator): '''Copy settings from previous version''' bl_idname = "wm.copy_prev_settings" bl_label = "Copy Previous Settings" diff --git a/release/scripts/startup/bl_ui/properties_data_armature.py b/release/scripts/startup/bl_ui/properties_data_armature.py index f2a3bac2373..94c40d11141 100644 --- a/release/scripts/startup/bl_ui/properties_data_armature.py +++ b/release/scripts/startup/bl_ui/properties_data_armature.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Panel from rna_prop_ui import PropertyPanel @@ -31,7 +32,7 @@ class ArmatureButtonsPanel(): return context.armature -class DATA_PT_context_arm(ArmatureButtonsPanel, bpy.types.Panel): +class DATA_PT_context_arm(ArmatureButtonsPanel, Panel): bl_label = "" bl_options = {'HIDE_HEADER'} @@ -48,7 +49,7 @@ class DATA_PT_context_arm(ArmatureButtonsPanel, bpy.types.Panel): layout.template_ID(space, "pin_id") -class DATA_PT_skeleton(ArmatureButtonsPanel, bpy.types.Panel): +class DATA_PT_skeleton(ArmatureButtonsPanel, Panel): bl_label = "Skeleton" def draw(self, context): @@ -71,7 +72,7 @@ class DATA_PT_skeleton(ArmatureButtonsPanel, bpy.types.Panel): flow.prop(arm, "use_deform_preserve_volume", text="Quaternion") -class DATA_PT_display(ArmatureButtonsPanel, bpy.types.Panel): +class DATA_PT_display(ArmatureButtonsPanel, Panel): bl_label = "Display" def draw(self, context): @@ -96,7 +97,7 @@ class DATA_PT_display(ArmatureButtonsPanel, bpy.types.Panel): col.prop(arm, "use_deform_delay", text="Delay Refresh") -class DATA_PT_bone_groups(ArmatureButtonsPanel, bpy.types.Panel): +class DATA_PT_bone_groups(ArmatureButtonsPanel, Panel): bl_label = "Bone Groups" @classmethod @@ -147,7 +148,7 @@ class DATA_PT_bone_groups(ArmatureButtonsPanel, bpy.types.Panel): sub.operator("pose.group_deselect", text="Deselect") -class DATA_PT_pose_library(ArmatureButtonsPanel, bpy.types.Panel): +class DATA_PT_pose_library(ArmatureButtonsPanel, Panel): bl_label = "Pose Library" bl_options = {'DEFAULT_CLOSED'} @@ -186,7 +187,7 @@ class DATA_PT_pose_library(ArmatureButtonsPanel, bpy.types.Panel): # TODO: this panel will soon be depreceated too -class DATA_PT_ghost(ArmatureButtonsPanel, bpy.types.Panel): +class DATA_PT_ghost(ArmatureButtonsPanel, Panel): bl_label = "Ghost" def draw(self, context): @@ -213,7 +214,7 @@ class DATA_PT_ghost(ArmatureButtonsPanel, bpy.types.Panel): col.prop(arm, "show_only_ghost_selected", text="Selected Only") -class DATA_PT_iksolver_itasc(ArmatureButtonsPanel, bpy.types.Panel): +class DATA_PT_iksolver_itasc(ArmatureButtonsPanel, Panel): bl_label = "iTaSC parameters" bl_options = {'DEFAULT_CLOSED'} @@ -266,7 +267,7 @@ from bl_ui.properties_animviz import ( ) -class DATA_PT_motion_paths(MotionPathButtonsPanel, bpy.types.Panel): +class DATA_PT_motion_paths(MotionPathButtonsPanel, Panel): #bl_label = "Bones Motion Paths" bl_context = "data" @@ -289,7 +290,7 @@ class DATA_PT_motion_paths(MotionPathButtonsPanel, bpy.types.Panel): split.operator("pose.paths_clear", text="Clear Paths") -class DATA_PT_onion_skinning(OnionSkinButtonsPanel): # , bpy.types.Panel): # inherit from panel when ready +class DATA_PT_onion_skinning(OnionSkinButtonsPanel): # , Panel): # inherit from panel when ready #bl_label = "Bones Onion Skinning" bl_context = "data" @@ -303,7 +304,7 @@ class DATA_PT_onion_skinning(OnionSkinButtonsPanel): # , bpy.types.Panel): # in self.draw_settings(context, ob.pose.animation_visualisation, bones=True) -class DATA_PT_custom_props_arm(ArmatureButtonsPanel, PropertyPanel, bpy.types.Panel): +class DATA_PT_custom_props_arm(ArmatureButtonsPanel, PropertyPanel, Panel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} _context_path = "object.data" _property_type = bpy.types.Armature diff --git a/release/scripts/startup/bl_ui/properties_data_bone.py b/release/scripts/startup/bl_ui/properties_data_bone.py index 9fc055e9343..b3eaf88d5bf 100644 --- a/release/scripts/startup/bl_ui/properties_data_bone.py +++ b/release/scripts/startup/bl_ui/properties_data_bone.py @@ -19,6 +19,7 @@ # import bpy +from bpy.types import Panel from rna_prop_ui import PropertyPanel @@ -32,7 +33,7 @@ class BoneButtonsPanel(): return (context.bone or context.edit_bone) -class BONE_PT_context_bone(BoneButtonsPanel, bpy.types.Panel): +class BONE_PT_context_bone(BoneButtonsPanel, Panel): bl_label = "" bl_options = {'HIDE_HEADER'} @@ -48,7 +49,7 @@ class BONE_PT_context_bone(BoneButtonsPanel, bpy.types.Panel): row.prop(bone, "name", text="") -class BONE_PT_transform(BoneButtonsPanel, bpy.types.Panel): +class BONE_PT_transform(BoneButtonsPanel, Panel): bl_label = "Transform" @classmethod @@ -102,7 +103,7 @@ class BONE_PT_transform(BoneButtonsPanel, bpy.types.Panel): sub.prop(bone, "lock") -class BONE_PT_transform_locks(BoneButtonsPanel, bpy.types.Panel): +class BONE_PT_transform_locks(BoneButtonsPanel, Panel): bl_label = "Transform Locks" bl_options = {'DEFAULT_CLOSED'} @@ -135,7 +136,7 @@ class BONE_PT_transform_locks(BoneButtonsPanel, bpy.types.Panel): row.column().prop(pchan, "lock_scale") -class BONE_PT_relations(BoneButtonsPanel, bpy.types.Panel): +class BONE_PT_relations(BoneButtonsPanel, Panel): bl_label = "Relations" def draw(self, context): @@ -180,7 +181,7 @@ class BONE_PT_relations(BoneButtonsPanel, bpy.types.Panel): sub.prop(bone, "use_local_location", text="Local Location") -class BONE_PT_display(BoneButtonsPanel, bpy.types.Panel): +class BONE_PT_display(BoneButtonsPanel, Panel): bl_label = "Display" @classmethod @@ -217,7 +218,7 @@ class BONE_PT_display(BoneButtonsPanel, bpy.types.Panel): col.prop_search(pchan, "custom_shape_transform", ob.pose, "bones", text="At") -class BONE_PT_inverse_kinematics(BoneButtonsPanel, bpy.types.Panel): +class BONE_PT_inverse_kinematics(BoneButtonsPanel, Panel): bl_label = "Inverse Kinematics" bl_options = {'DEFAULT_CLOSED'} @@ -308,7 +309,7 @@ class BONE_PT_inverse_kinematics(BoneButtonsPanel, bpy.types.Panel): #row.prop(pchan, "ik_linear_weight", text="Weight", slider=True) -class BONE_PT_deform(BoneButtonsPanel, bpy.types.Panel): +class BONE_PT_deform(BoneButtonsPanel, Panel): bl_label = "Deform" bl_options = {'DEFAULT_CLOSED'} @@ -357,7 +358,7 @@ class BONE_PT_deform(BoneButtonsPanel, bpy.types.Panel): col.prop(bone, "use_cyclic_offset") -class BONE_PT_custom_props(BoneButtonsPanel, PropertyPanel, bpy.types.Panel): +class BONE_PT_custom_props(BoneButtonsPanel, PropertyPanel, Panel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} _property_type = bpy.types.Bone, bpy.types.EditBone, bpy.types.PoseBone diff --git a/release/scripts/startup/bl_ui/properties_data_camera.py b/release/scripts/startup/bl_ui/properties_data_camera.py index 80cd5227fca..f484d7b59e1 100644 --- a/release/scripts/startup/bl_ui/properties_data_camera.py +++ b/release/scripts/startup/bl_ui/properties_data_camera.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Panel from rna_prop_ui import PropertyPanel @@ -32,7 +33,7 @@ class CameraButtonsPanel(): return context.camera and (engine in cls.COMPAT_ENGINES) -class DATA_PT_context_camera(CameraButtonsPanel, bpy.types.Panel): +class DATA_PT_context_camera(CameraButtonsPanel, Panel): bl_label = "" bl_options = {'HIDE_HEADER'} COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -53,7 +54,7 @@ class DATA_PT_context_camera(CameraButtonsPanel, bpy.types.Panel): split.separator() -class DATA_PT_camera(CameraButtonsPanel, bpy.types.Panel): +class DATA_PT_camera(CameraButtonsPanel, Panel): bl_label = "Lens" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -111,7 +112,7 @@ class DATA_PT_camera(CameraButtonsPanel, bpy.types.Panel): col.prop(cam, "dof_distance", text="Distance") -class DATA_PT_camera_display(CameraButtonsPanel, bpy.types.Panel): +class DATA_PT_camera_display(CameraButtonsPanel, Panel): bl_label = "Display" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -138,7 +139,7 @@ class DATA_PT_camera_display(CameraButtonsPanel, bpy.types.Panel): sub.prop(cam, "passepartout_alpha", text="Alpha", slider=True) -class DATA_PT_custom_props_camera(CameraButtonsPanel, PropertyPanel, bpy.types.Panel): +class DATA_PT_custom_props_camera(CameraButtonsPanel, PropertyPanel, Panel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} _context_path = "object.data" _property_type = bpy.types.Camera diff --git a/release/scripts/startup/bl_ui/properties_data_curve.py b/release/scripts/startup/bl_ui/properties_data_curve.py index 3c88127c724..6448b9a5229 100644 --- a/release/scripts/startup/bl_ui/properties_data_curve.py +++ b/release/scripts/startup/bl_ui/properties_data_curve.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Panel from rna_prop_ui import PropertyPanel @@ -48,7 +49,7 @@ class CurveButtonsPanelActive(CurveButtonsPanel): return (curve and type(curve) is not bpy.types.TextCurve and curve.splines.active) -class DATA_PT_context_curve(CurveButtonsPanel, bpy.types.Panel): +class DATA_PT_context_curve(CurveButtonsPanel, Panel): bl_label = "" bl_options = {'HIDE_HEADER'} @@ -65,7 +66,7 @@ class DATA_PT_context_curve(CurveButtonsPanel, bpy.types.Panel): layout.template_ID(space, "pin_id") # XXX: broken -class DATA_PT_shape_curve(CurveButtonsPanel, bpy.types.Panel): +class DATA_PT_shape_curve(CurveButtonsPanel, Panel): bl_label = "Shape" def draw(self, context): @@ -108,13 +109,13 @@ class DATA_PT_shape_curve(CurveButtonsPanel, bpy.types.Panel): if (is_curve or is_text): col.label(text="Fill:") sub = col.column() - sub.active = (curve.bevel_object is None) + sub.active = (curve.dimensions == '2D' or (curve.bevel_object is None and curve.dimensions == '3D')) sub.prop(curve, "use_fill_front") sub.prop(curve, "use_fill_back") col.prop(curve, "use_fill_deform", text="Fill Deformed") -class DATA_PT_curve_texture_space(CurveButtonsPanel, bpy.types.Panel): +class DATA_PT_curve_texture_space(CurveButtonsPanel, Panel): bl_label = "Texture Space" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -133,7 +134,7 @@ class DATA_PT_curve_texture_space(CurveButtonsPanel, bpy.types.Panel): row.column().prop(curve, "texspace_size", text="Size") -class DATA_PT_geometry_curve(CurveButtonsPanel, bpy.types.Panel): +class DATA_PT_geometry_curve(CurveButtonsPanel, Panel): bl_label = "Geometry" @classmethod @@ -166,7 +167,7 @@ class DATA_PT_geometry_curve(CurveButtonsPanel, bpy.types.Panel): col.prop(curve, "bevel_object", text="") -class DATA_PT_pathanim(CurveButtonsPanelCurve, bpy.types.Panel): +class DATA_PT_pathanim(CurveButtonsPanelCurve, Panel): bl_label = "Path Animation" def draw_header(self, context): @@ -197,7 +198,7 @@ class DATA_PT_pathanim(CurveButtonsPanelCurve, bpy.types.Panel): col.prop(curve, "use_time_offset", text="Offset Children") -class DATA_PT_active_spline(CurveButtonsPanelActive, bpy.types.Panel): +class DATA_PT_active_spline(CurveButtonsPanelActive, Panel): bl_label = "Active Spline" def draw(self, context): @@ -268,7 +269,7 @@ class DATA_PT_active_spline(CurveButtonsPanelActive, bpy.types.Panel): layout.prop(act_spline, "use_smooth") -class DATA_PT_font(CurveButtonsPanel, bpy.types.Panel): +class DATA_PT_font(CurveButtonsPanel, Panel): bl_label = "Font" @classmethod @@ -332,7 +333,7 @@ class DATA_PT_font(CurveButtonsPanel, bpy.types.Panel): row.prop(char, "use_small_caps") -class DATA_PT_paragraph(CurveButtonsPanel, bpy.types.Panel): +class DATA_PT_paragraph(CurveButtonsPanel, Panel): bl_label = "Paragraph" @classmethod @@ -361,7 +362,7 @@ class DATA_PT_paragraph(CurveButtonsPanel, bpy.types.Panel): col.prop(text, "offset_y", text="Y") -class DATA_PT_textboxes(CurveButtonsPanel, bpy.types.Panel): +class DATA_PT_text_boxes(CurveButtonsPanel, Panel): bl_label = "Text Boxes" @classmethod @@ -401,7 +402,7 @@ class DATA_PT_textboxes(CurveButtonsPanel, bpy.types.Panel): row.operator("font.textbox_remove", text='', icon='X', emboss=False).index = i -class DATA_PT_custom_props_curve(CurveButtonsPanel, PropertyPanel, bpy.types.Panel): +class DATA_PT_custom_props_curve(CurveButtonsPanel, PropertyPanel, Panel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} _context_path = "object.data" _property_type = bpy.types.Curve diff --git a/release/scripts/startup/bl_ui/properties_data_empty.py b/release/scripts/startup/bl_ui/properties_data_empty.py index 42b0af7eaf5..c781873e16c 100644 --- a/release/scripts/startup/bl_ui/properties_data_empty.py +++ b/release/scripts/startup/bl_ui/properties_data_empty.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Panel class DataButtonsPanel(): @@ -30,7 +31,7 @@ class DataButtonsPanel(): return (context.object and context.object.type == 'EMPTY') -class DATA_PT_empty(DataButtonsPanel, bpy.types.Panel): +class DATA_PT_empty(DataButtonsPanel, Panel): bl_label = "Empty" def draw(self, context): diff --git a/release/scripts/startup/bl_ui/properties_data_lamp.py b/release/scripts/startup/bl_ui/properties_data_lamp.py index 36010c8b511..4ff180f74fb 100644 --- a/release/scripts/startup/bl_ui/properties_data_lamp.py +++ b/release/scripts/startup/bl_ui/properties_data_lamp.py @@ -18,15 +18,16 @@ # import bpy +from bpy.types import Menu, Panel from rna_prop_ui import PropertyPanel -class LAMP_MT_sunsky_presets(bpy.types.Menu): +class LAMP_MT_sunsky_presets(Menu): bl_label = "Sun & Sky Presets" preset_subdir = "sunsky" preset_operator = "script.execute_preset" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} - draw = bpy.types.Menu.draw_preset + draw = Menu.draw_preset class DataButtonsPanel(): @@ -40,7 +41,7 @@ class DataButtonsPanel(): return context.lamp and (engine in cls.COMPAT_ENGINES) -class DATA_PT_context_lamp(DataButtonsPanel, bpy.types.Panel): +class DATA_PT_context_lamp(DataButtonsPanel, Panel): bl_label = "" bl_options = {'HIDE_HEADER'} COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -65,7 +66,7 @@ class DATA_PT_context_lamp(DataButtonsPanel, bpy.types.Panel): split.label(text=str(texture_count), icon='TEXTURE') -class DATA_PT_preview(DataButtonsPanel, bpy.types.Panel): +class DATA_PT_preview(DataButtonsPanel, Panel): bl_label = "Preview" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -73,7 +74,7 @@ class DATA_PT_preview(DataButtonsPanel, bpy.types.Panel): self.layout.template_preview(context.lamp) -class DATA_PT_lamp(DataButtonsPanel, bpy.types.Panel): +class DATA_PT_lamp(DataButtonsPanel, Panel): bl_label = "Lamp" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -115,7 +116,7 @@ class DATA_PT_lamp(DataButtonsPanel, bpy.types.Panel): col.prop(lamp, "use_diffuse") -class DATA_PT_sunsky(DataButtonsPanel, bpy.types.Panel): +class DATA_PT_sunsky(DataButtonsPanel, Panel): bl_label = "Sky & Atmosphere" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -187,7 +188,7 @@ class DATA_PT_sunsky(DataButtonsPanel, bpy.types.Panel): sub.prop(lamp, "atmosphere_extinction", slider=True, text="Extinction") -class DATA_PT_shadow(DataButtonsPanel, bpy.types.Panel): +class DATA_PT_shadow(DataButtonsPanel, Panel): bl_label = "Shadow" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -302,7 +303,7 @@ class DATA_PT_shadow(DataButtonsPanel, bpy.types.Panel): sub.prop(lamp, "shadow_buffer_clip_end", text=" Clip End") -class DATA_PT_area(DataButtonsPanel, bpy.types.Panel): +class DATA_PT_area(DataButtonsPanel, Panel): bl_label = "Area Shape" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -328,7 +329,7 @@ class DATA_PT_area(DataButtonsPanel, bpy.types.Panel): sub.prop(lamp, "size_y", text="Size Y") -class DATA_PT_spot(DataButtonsPanel, bpy.types.Panel): +class DATA_PT_spot(DataButtonsPanel, Panel): bl_label = "Spot Shape" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -362,7 +363,7 @@ class DATA_PT_spot(DataButtonsPanel, bpy.types.Panel): sub.prop(lamp, "halo_step", text="Step") -class DATA_PT_falloff_curve(DataButtonsPanel, bpy.types.Panel): +class DATA_PT_falloff_curve(DataButtonsPanel, Panel): bl_label = "Falloff Curve" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -380,7 +381,7 @@ class DATA_PT_falloff_curve(DataButtonsPanel, bpy.types.Panel): self.layout.template_curve_mapping(lamp, "falloff_curve") -class DATA_PT_custom_props_lamp(DataButtonsPanel, PropertyPanel, bpy.types.Panel): +class DATA_PT_custom_props_lamp(DataButtonsPanel, PropertyPanel, Panel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} _context_path = "object.data" _property_type = bpy.types.Lamp diff --git a/release/scripts/startup/bl_ui/properties_data_lattice.py b/release/scripts/startup/bl_ui/properties_data_lattice.py index cd719b6fe84..14d6ea66894 100644 --- a/release/scripts/startup/bl_ui/properties_data_lattice.py +++ b/release/scripts/startup/bl_ui/properties_data_lattice.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Panel from rna_prop_ui import PropertyPanel @@ -31,7 +32,7 @@ class DataButtonsPanel(): return context.lattice -class DATA_PT_context_lattice(DataButtonsPanel, bpy.types.Panel): +class DATA_PT_context_lattice(DataButtonsPanel, Panel): bl_label = "" bl_options = {'HIDE_HEADER'} @@ -51,7 +52,7 @@ class DATA_PT_context_lattice(DataButtonsPanel, bpy.types.Panel): split.separator() -class DATA_PT_lattice(DataButtonsPanel, bpy.types.Panel): +class DATA_PT_lattice(DataButtonsPanel, Panel): bl_label = "Lattice" def draw(self, context): @@ -76,7 +77,7 @@ class DATA_PT_lattice(DataButtonsPanel, bpy.types.Panel): row.prop_search(lat, "vertex_group", context.object, "vertex_groups", text="") -class DATA_PT_custom_props_lattice(DataButtonsPanel, PropertyPanel, bpy.types.Panel): +class DATA_PT_custom_props_lattice(DataButtonsPanel, PropertyPanel, Panel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} _context_path = "object.data" _property_type = bpy.types.Lattice diff --git a/release/scripts/startup/bl_ui/properties_data_mesh.py b/release/scripts/startup/bl_ui/properties_data_mesh.py index 618a88f0879..896b76c59f6 100644 --- a/release/scripts/startup/bl_ui/properties_data_mesh.py +++ b/release/scripts/startup/bl_ui/properties_data_mesh.py @@ -18,10 +18,11 @@ # import bpy +from bpy.types import Menu, Panel from rna_prop_ui import PropertyPanel -class MESH_MT_vertex_group_specials(bpy.types.Menu): +class MESH_MT_vertex_group_specials(Menu): bl_label = "Vertex Group Specials" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -36,7 +37,7 @@ class MESH_MT_vertex_group_specials(bpy.types.Menu): layout.operator("object.vertex_group_remove", icon='X', text="Delete All").all = True -class MESH_MT_shape_key_specials(bpy.types.Menu): +class MESH_MT_shape_key_specials(Menu): bl_label = "Shape Key Specials" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -61,7 +62,7 @@ class MeshButtonsPanel(): return context.mesh and (engine in cls.COMPAT_ENGINES) -class DATA_PT_context_mesh(MeshButtonsPanel, bpy.types.Panel): +class DATA_PT_context_mesh(MeshButtonsPanel, Panel): bl_label = "" bl_options = {'HIDE_HEADER'} COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -72,14 +73,14 @@ class DATA_PT_context_mesh(MeshButtonsPanel, bpy.types.Panel): ob = context.object mesh = context.mesh space = context.space_data - + layout.prop(context.scene.tool_settings, "mesh_select_mode", index=0, text="Vertex") if ob: layout.template_ID(ob, "data") elif mesh: layout.template_ID(space, "pin_id") -class DATA_PT_normals(MeshButtonsPanel, bpy.types.Panel): +class DATA_PT_normals(MeshButtonsPanel, Panel): bl_label = "Normals" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -99,7 +100,7 @@ class DATA_PT_normals(MeshButtonsPanel, bpy.types.Panel): split.prop(mesh, "show_double_sided") -class DATA_PT_texture_space(MeshButtonsPanel, bpy.types.Panel): +class DATA_PT_texture_space(MeshButtonsPanel, Panel): bl_label = "Texture Space" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -119,7 +120,7 @@ class DATA_PT_texture_space(MeshButtonsPanel, bpy.types.Panel): row.column().prop(mesh, "texspace_size", text="Size") -class DATA_PT_vertex_groups(MeshButtonsPanel, bpy.types.Panel): +class DATA_PT_vertex_groups(MeshButtonsPanel, Panel): bl_label = "Vertex Groups" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -168,7 +169,7 @@ class DATA_PT_vertex_groups(MeshButtonsPanel, bpy.types.Panel): layout.prop(context.tool_settings, "vertex_group_weight", text="Weight") -class DATA_PT_shape_keys(MeshButtonsPanel, bpy.types.Panel): +class DATA_PT_shape_keys(MeshButtonsPanel, Panel): bl_label = "Shape Keys" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -261,7 +262,7 @@ class DATA_PT_shape_keys(MeshButtonsPanel, bpy.types.Panel): row.prop(key, "slurph") -class DATA_PT_uv_texture(MeshButtonsPanel, bpy.types.Panel): +class DATA_PT_uv_texture(MeshButtonsPanel, Panel): bl_label = "UV Texture" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -284,7 +285,7 @@ class DATA_PT_uv_texture(MeshButtonsPanel, bpy.types.Panel): layout.prop(lay, "name") -class DATA_PT_texface(MeshButtonsPanel, bpy.types.Panel): +class DATA_PT_texface(MeshButtonsPanel, Panel): bl_label = "Texture Face" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -331,7 +332,7 @@ class DATA_PT_texface(MeshButtonsPanel, bpy.types.Panel): col.label(text="No UV Texture") -class DATA_PT_vertex_colors(MeshButtonsPanel, bpy.types.Panel): +class DATA_PT_vertex_colors(MeshButtonsPanel, Panel): bl_label = "Vertex Colors" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -354,7 +355,7 @@ class DATA_PT_vertex_colors(MeshButtonsPanel, bpy.types.Panel): layout.prop(lay, "name") -class DATA_PT_custom_props_mesh(MeshButtonsPanel, PropertyPanel, bpy.types.Panel): +class DATA_PT_custom_props_mesh(MeshButtonsPanel, PropertyPanel, Panel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} _context_path = "object.data" _property_type = bpy.types.Mesh diff --git a/release/scripts/startup/bl_ui/properties_data_metaball.py b/release/scripts/startup/bl_ui/properties_data_metaball.py index 6dda99bc37f..cd894e60dbb 100644 --- a/release/scripts/startup/bl_ui/properties_data_metaball.py +++ b/release/scripts/startup/bl_ui/properties_data_metaball.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Panel from rna_prop_ui import PropertyPanel @@ -31,7 +32,7 @@ class DataButtonsPanel(): return context.meta_ball -class DATA_PT_context_metaball(DataButtonsPanel, bpy.types.Panel): +class DATA_PT_context_metaball(DataButtonsPanel, Panel): bl_label = "" bl_options = {'HIDE_HEADER'} @@ -48,7 +49,7 @@ class DATA_PT_context_metaball(DataButtonsPanel, bpy.types.Panel): layout.template_ID(space, "pin_id") -class DATA_PT_metaball(DataButtonsPanel, bpy.types.Panel): +class DATA_PT_metaball(DataButtonsPanel, Panel): bl_label = "Metaball" def draw(self, context): @@ -72,7 +73,7 @@ class DATA_PT_metaball(DataButtonsPanel, bpy.types.Panel): layout.prop(mball, "update_method", expand=True) -class DATA_PT_mball_texture_space(DataButtonsPanel, bpy.types.Panel): +class DATA_PT_mball_texture_space(DataButtonsPanel, Panel): bl_label = "Texture Space" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -89,7 +90,7 @@ class DATA_PT_mball_texture_space(DataButtonsPanel, bpy.types.Panel): row.column().prop(mball, "texspace_size", text="Size") -class DATA_PT_metaball_element(DataButtonsPanel, bpy.types.Panel): +class DATA_PT_metaball_element(DataButtonsPanel, Panel): bl_label = "Active Element" @classmethod @@ -129,7 +130,7 @@ class DATA_PT_metaball_element(DataButtonsPanel, bpy.types.Panel): col.prop(metaelem, "size_y", text="Y") -class DATA_PT_custom_props_metaball(DataButtonsPanel, PropertyPanel, bpy.types.Panel): +class DATA_PT_custom_props_metaball(DataButtonsPanel, PropertyPanel, Panel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} _context_path = "object.data" _property_type = bpy.types.MetaBall diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py index a02e6bd6469..65827775ad1 100644 --- a/release/scripts/startup/bl_ui/properties_data_modifier.py +++ b/release/scripts/startup/bl_ui/properties_data_modifier.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Panel class ModifierButtonsPanel(): @@ -26,7 +27,7 @@ class ModifierButtonsPanel(): bl_context = "modifier" -class DATA_PT_modifiers(ModifierButtonsPanel, bpy.types.Panel): +class DATA_PT_modifiers(ModifierButtonsPanel, Panel): bl_label = "Modifiers" def draw(self, context): @@ -576,13 +577,13 @@ class DATA_PT_modifiers(ModifierButtonsPanel, bpy.types.Panel): sub = col.column() sub.active = bool(md.vertex_group) sub.prop(md, "invert_vertex_group", text="Invert") + sub.prop(md, "thickness_vertex_group", text="Factor") col.prop(md, "use_even_offset") col.prop(md, "use_quality_normals") col.prop(md, "use_rim") sub = col.column() - sub.label() row = sub.split(align=True, percentage=0.4) row.prop(md, "material_offset", text="") row = row.row() diff --git a/release/scripts/startup/bl_ui/properties_game.py b/release/scripts/startup/bl_ui/properties_game.py index 0c07451b3b2..f8be32e6c07 100644 --- a/release/scripts/startup/bl_ui/properties_game.py +++ b/release/scripts/startup/bl_ui/properties_game.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Panel class PhysicsButtonsPanel(): @@ -26,7 +27,7 @@ class PhysicsButtonsPanel(): bl_context = "physics" -class PHYSICS_PT_game_physics(PhysicsButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_game_physics(PhysicsButtonsPanel, Panel): bl_label = "Physics" COMPAT_ENGINES = {'BLENDER_GAME'} @@ -167,7 +168,7 @@ class PHYSICS_PT_game_physics(PhysicsButtonsPanel, bpy.types.Panel): layout.prop(ob, "hide_render", text="Invisible") -class PHYSICS_PT_game_collision_bounds(PhysicsButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_game_collision_bounds(PhysicsButtonsPanel, Panel): bl_label = "Collision Bounds" COMPAT_ENGINES = {'BLENDER_GAME'} @@ -206,7 +207,7 @@ class RenderButtonsPanel(): return (rd.engine in cls.COMPAT_ENGINES) -class RENDER_PT_game(RenderButtonsPanel, bpy.types.Panel): +class RENDER_PT_game(RenderButtonsPanel, Panel): bl_label = "Game" COMPAT_ENGINES = {'BLENDER_GAME'} @@ -218,7 +219,7 @@ class RENDER_PT_game(RenderButtonsPanel, bpy.types.Panel): row.label() -class RENDER_PT_game_player(RenderButtonsPanel, bpy.types.Panel): +class RENDER_PT_game_player(RenderButtonsPanel, Panel): bl_label = "Standalone Player" COMPAT_ENGINES = {'BLENDER_GAME'} @@ -251,7 +252,7 @@ class RENDER_PT_game_player(RenderButtonsPanel, bpy.types.Panel): col.prop(gs, "frame_color", text="") -class RENDER_PT_game_stereo(RenderButtonsPanel, bpy.types.Panel): +class RENDER_PT_game_stereo(RenderButtonsPanel, Panel): bl_label = "Stereo" COMPAT_ENGINES = {'BLENDER_GAME'} @@ -305,7 +306,7 @@ class RENDER_PT_game_stereo(RenderButtonsPanel, bpy.types.Panel): layout.prop(gs, "dome_text") -class RENDER_PT_game_shading(RenderButtonsPanel, bpy.types.Panel): +class RENDER_PT_game_shading(RenderButtonsPanel, Panel): bl_label = "Shading" COMPAT_ENGINES = {'BLENDER_GAME'} @@ -331,7 +332,7 @@ class RENDER_PT_game_shading(RenderButtonsPanel, bpy.types.Panel): col.prop(gs, "use_glsl_extra_textures", text="Extra Textures") -class RENDER_PT_game_performance(RenderButtonsPanel, bpy.types.Panel): +class RENDER_PT_game_performance(RenderButtonsPanel, Panel): bl_label = "Performance" COMPAT_ENGINES = {'BLENDER_GAME'} @@ -344,7 +345,7 @@ class RENDER_PT_game_performance(RenderButtonsPanel, bpy.types.Panel): row.prop(gs, "use_display_lists") -class RENDER_PT_game_display(RenderButtonsPanel, bpy.types.Panel): +class RENDER_PT_game_display(RenderButtonsPanel, Panel): bl_label = "Display" COMPAT_ENGINES = {'BLENDER_GAME'} @@ -360,7 +361,7 @@ class RENDER_PT_game_display(RenderButtonsPanel, bpy.types.Panel): flow.prop(gs, "show_mouse", text="Mouse Cursor") -class RENDER_PT_game_sound(RenderButtonsPanel, bpy.types.Panel): +class RENDER_PT_game_sound(RenderButtonsPanel, Panel): bl_label = "Sound" COMPAT_ENGINES = {'BLENDER_GAME'} @@ -381,7 +382,7 @@ class WorldButtonsPanel(): bl_context = "world" -class WORLD_PT_game_context_world(WorldButtonsPanel, bpy.types.Panel): +class WORLD_PT_game_context_world(WorldButtonsPanel, Panel): bl_label = "" bl_options = {'HIDE_HEADER'} COMPAT_ENGINES = {'BLENDER_GAME'} @@ -405,7 +406,7 @@ class WORLD_PT_game_context_world(WorldButtonsPanel, bpy.types.Panel): split.template_ID(space, "pin_id") -class WORLD_PT_game_world(WorldButtonsPanel, bpy.types.Panel): +class WORLD_PT_game_world(WorldButtonsPanel, Panel): bl_label = "World" COMPAT_ENGINES = {'BLENDER_GAME'} @@ -424,7 +425,7 @@ class WORLD_PT_game_world(WorldButtonsPanel, bpy.types.Panel): row.column().prop(world, "ambient_color") -class WORLD_PT_game_mist(WorldButtonsPanel, bpy.types.Panel): +class WORLD_PT_game_mist(WorldButtonsPanel, Panel): bl_label = "Mist" COMPAT_ENGINES = {'BLENDER_GAME'} @@ -450,7 +451,7 @@ class WORLD_PT_game_mist(WorldButtonsPanel, bpy.types.Panel): row.prop(world.mist_settings, "depth") -class WORLD_PT_game_physics(WorldButtonsPanel, bpy.types.Panel): +class WORLD_PT_game_physics(WorldButtonsPanel, Panel): bl_label = "Physics" COMPAT_ENGINES = {'BLENDER_GAME'} diff --git a/release/scripts/startup/bl_ui/properties_material.py b/release/scripts/startup/bl_ui/properties_material.py index 296c05d78f5..13ce92f084c 100644 --- a/release/scripts/startup/bl_ui/properties_material.py +++ b/release/scripts/startup/bl_ui/properties_material.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Menu, Panel from rna_prop_ui import PropertyPanel @@ -50,14 +51,14 @@ def simple_material(mat): return False -class MATERIAL_MT_sss_presets(bpy.types.Menu): +class MATERIAL_MT_sss_presets(Menu): bl_label = "SSS Presets" preset_subdir = "sss" preset_operator = "script.execute_preset" - draw = bpy.types.Menu.draw_preset + draw = Menu.draw_preset -class MATERIAL_MT_specials(bpy.types.Menu): +class MATERIAL_MT_specials(Menu): bl_label = "Material Specials" def draw(self, context): @@ -79,7 +80,7 @@ class MaterialButtonsPanel(): return context.material and (context.scene.render.engine in cls.COMPAT_ENGINES) -class MATERIAL_PT_context_material(MaterialButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_context_material(MaterialButtonsPanel, Panel): bl_label = "" bl_options = {'HIDE_HEADER'} COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -144,7 +145,7 @@ class MATERIAL_PT_context_material(MaterialButtonsPanel, bpy.types.Panel): row.label(text="No material node selected") -class MATERIAL_PT_preview(MaterialButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_preview(MaterialButtonsPanel, Panel): bl_label = "Preview" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -152,7 +153,7 @@ class MATERIAL_PT_preview(MaterialButtonsPanel, bpy.types.Panel): self.layout.template_preview(context.material) -class MATERIAL_PT_pipeline(MaterialButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_pipeline(MaterialButtonsPanel, Panel): bl_label = "Render Pipeline Options" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -203,7 +204,7 @@ class MATERIAL_PT_pipeline(MaterialButtonsPanel, bpy.types.Panel): col.prop(mat, "pass_index") -class MATERIAL_PT_diffuse(MaterialButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_diffuse(MaterialButtonsPanel, Panel): bl_label = "Diffuse" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -260,7 +261,7 @@ class MATERIAL_PT_diffuse(MaterialButtonsPanel, bpy.types.Panel): col.prop(mat, "diffuse_ramp_factor", text="Factor") -class MATERIAL_PT_specular(MaterialButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_specular(MaterialButtonsPanel, Panel): bl_label = "Specular" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -313,7 +314,7 @@ class MATERIAL_PT_specular(MaterialButtonsPanel, bpy.types.Panel): layout.prop(mat, "specular_ramp_factor", text="Factor") -class MATERIAL_PT_shading(MaterialButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_shading(MaterialButtonsPanel, Panel): bl_label = "Shading" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -347,7 +348,7 @@ class MATERIAL_PT_shading(MaterialButtonsPanel, bpy.types.Panel): sub.prop(mat, "use_cubic") -class MATERIAL_PT_transp(MaterialButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_transp(MaterialButtonsPanel, Panel): bl_label = "Transparency" # bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -413,7 +414,7 @@ class MATERIAL_PT_transp(MaterialButtonsPanel, bpy.types.Panel): sub.prop(rayt, "gloss_samples", text="Samples") -class MATERIAL_PT_mirror(MaterialButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_mirror(MaterialButtonsPanel, Panel): bl_label = "Mirror" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -471,7 +472,7 @@ class MATERIAL_PT_mirror(MaterialButtonsPanel, bpy.types.Panel): sub.prop(raym, "gloss_anisotropic", text="Anisotropic") -class MATERIAL_PT_sss(MaterialButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_sss(MaterialButtonsPanel, Panel): bl_label = "Subsurface Scattering" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -523,7 +524,7 @@ class MATERIAL_PT_sss(MaterialButtonsPanel, bpy.types.Panel): col.prop(sss, "error_threshold", text="Error") -class MATERIAL_PT_halo(MaterialButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_halo(MaterialButtonsPanel, Panel): bl_label = "Halo" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -576,7 +577,7 @@ class MATERIAL_PT_halo(MaterialButtonsPanel, bpy.types.Panel): number_but(col, "use_star", "star_tip_count", "Star tips", "") -class MATERIAL_PT_flare(MaterialButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_flare(MaterialButtonsPanel, Panel): bl_label = "Flare" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -611,7 +612,7 @@ class MATERIAL_PT_flare(MaterialButtonsPanel, bpy.types.Panel): col.prop(halo, "flare_subflare_size", text="Subsize") -class MATERIAL_PT_physics(MaterialButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_physics(MaterialButtonsPanel, Panel): bl_label = "Physics" COMPAT_ENGINES = {'BLENDER_GAME'} @@ -641,7 +642,7 @@ class MATERIAL_PT_physics(MaterialButtonsPanel, bpy.types.Panel): row.prop(phys, "use_fh_normal") -class MATERIAL_PT_strand(MaterialButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_strand(MaterialButtonsPanel, Panel): bl_label = "Strand" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -688,7 +689,7 @@ class MATERIAL_PT_strand(MaterialButtonsPanel, bpy.types.Panel): sub.prop(tan, "blend_distance", text="Distance") -class MATERIAL_PT_options(MaterialButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_options(MaterialButtonsPanel, Panel): bl_label = "Options" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -737,7 +738,7 @@ class MATERIAL_PT_options(MaterialButtonsPanel, bpy.types.Panel): col.prop(mat, "pass_index") -class MATERIAL_PT_shadow(MaterialButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_shadow(MaterialButtonsPanel, Panel): bl_label = "Shadow" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -781,7 +782,7 @@ class MATERIAL_PT_shadow(MaterialButtonsPanel, bpy.types.Panel): col.prop(mat, "use_cast_approximate") -class MATERIAL_PT_transp_game(MaterialButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_transp_game(MaterialButtonsPanel, Panel): bl_label = "Transparency" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_GAME'} @@ -824,7 +825,7 @@ class VolumeButtonsPanel(): return mat and (mat.type == 'VOLUME') and (engine in cls.COMPAT_ENGINES) -class MATERIAL_PT_volume_density(VolumeButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_volume_density(VolumeButtonsPanel, Panel): bl_label = "Density" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -838,7 +839,7 @@ class MATERIAL_PT_volume_density(VolumeButtonsPanel, bpy.types.Panel): row.prop(vol, "density_scale") -class MATERIAL_PT_volume_shading(VolumeButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_volume_shading(VolumeButtonsPanel, Panel): bl_label = "Shading" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -863,7 +864,7 @@ class MATERIAL_PT_volume_shading(VolumeButtonsPanel, bpy.types.Panel): sub.prop(vol, "reflection_color", text="") -class MATERIAL_PT_volume_lighting(VolumeButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_volume_lighting(VolumeButtonsPanel, Panel): bl_label = "Lighting" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -898,7 +899,7 @@ class MATERIAL_PT_volume_lighting(VolumeButtonsPanel, bpy.types.Panel): sub.prop(vol, "ms_intensity") -class MATERIAL_PT_volume_transp(VolumeButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_volume_transp(VolumeButtonsPanel, Panel): bl_label = "Transparency" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -916,7 +917,7 @@ class MATERIAL_PT_volume_transp(VolumeButtonsPanel, bpy.types.Panel): layout.prop(mat, "transparency_method", expand=True) -class MATERIAL_PT_volume_integration(VolumeButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_volume_integration(VolumeButtonsPanel, Panel): bl_label = "Integration" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -938,7 +939,7 @@ class MATERIAL_PT_volume_integration(VolumeButtonsPanel, bpy.types.Panel): col.prop(vol, "depth_threshold") -class MATERIAL_PT_volume_options(VolumeButtonsPanel, bpy.types.Panel): +class MATERIAL_PT_volume_options(VolumeButtonsPanel, Panel): bl_label = "Options" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} bl_options = {'DEFAULT_CLOSED'} @@ -970,7 +971,7 @@ class MATERIAL_PT_volume_options(VolumeButtonsPanel, bpy.types.Panel): row.prop(mat, "use_light_group_exclusive", text="Exclusive") -class MATERIAL_PT_custom_props(MaterialButtonsPanel, PropertyPanel, bpy.types.Panel): +class MATERIAL_PT_custom_props(MaterialButtonsPanel, PropertyPanel, Panel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} _context_path = "material" _property_type = bpy.types.Material diff --git a/release/scripts/startup/bl_ui/properties_object.py b/release/scripts/startup/bl_ui/properties_object.py index cdbcf2cf533..0779debb102 100644 --- a/release/scripts/startup/bl_ui/properties_object.py +++ b/release/scripts/startup/bl_ui/properties_object.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Panel from rna_prop_ui import PropertyPanel @@ -27,7 +28,7 @@ class ObjectButtonsPanel(): bl_context = "object" -class OBJECT_PT_context_object(ObjectButtonsPanel, bpy.types.Panel): +class OBJECT_PT_context_object(ObjectButtonsPanel, Panel): bl_label = "" bl_options = {'HIDE_HEADER'} @@ -42,7 +43,7 @@ class OBJECT_PT_context_object(ObjectButtonsPanel, bpy.types.Panel): row.template_ID(context.scene.objects, "active") -class OBJECT_PT_transform(ObjectButtonsPanel, bpy.types.Panel): +class OBJECT_PT_transform(ObjectButtonsPanel, Panel): bl_label = "Transform" def draw(self, context): @@ -68,7 +69,7 @@ class OBJECT_PT_transform(ObjectButtonsPanel, bpy.types.Panel): layout.prop(ob, "rotation_mode") -class OBJECT_PT_delta_transform(ObjectButtonsPanel, bpy.types.Panel): +class OBJECT_PT_delta_transform(ObjectButtonsPanel, Panel): bl_label = "Delta Transform" bl_options = {'DEFAULT_CLOSED'} @@ -94,7 +95,7 @@ class OBJECT_PT_delta_transform(ObjectButtonsPanel, bpy.types.Panel): row.column().prop(ob, "delta_scale") -class OBJECT_PT_transform_locks(ObjectButtonsPanel, bpy.types.Panel): +class OBJECT_PT_transform_locks(ObjectButtonsPanel, Panel): bl_label = "Transform Locks" bl_options = {'DEFAULT_CLOSED'} @@ -120,7 +121,7 @@ class OBJECT_PT_transform_locks(ObjectButtonsPanel, bpy.types.Panel): row.column().prop(ob, "lock_scale", text="Scale") -class OBJECT_PT_relations(ObjectButtonsPanel, bpy.types.Panel): +class OBJECT_PT_relations(ObjectButtonsPanel, Panel): bl_label = "Relations" def draw(self, context): @@ -147,7 +148,7 @@ class OBJECT_PT_relations(ObjectButtonsPanel, bpy.types.Panel): sub.active = (parent is not None) -class OBJECT_PT_groups(ObjectButtonsPanel, bpy.types.Panel): +class OBJECT_PT_groups(ObjectButtonsPanel, Panel): bl_label = "Groups" def draw(self, context): @@ -186,7 +187,7 @@ class OBJECT_PT_groups(ObjectButtonsPanel, bpy.types.Panel): index += 1 -class OBJECT_PT_display(ObjectButtonsPanel, bpy.types.Panel): +class OBJECT_PT_display(ObjectButtonsPanel, Panel): bl_label = "Display" def draw(self, context): @@ -220,7 +221,7 @@ class OBJECT_PT_display(ObjectButtonsPanel, bpy.types.Panel): col.prop(ob, "show_transparent", text="Transparency") -class OBJECT_PT_duplication(ObjectButtonsPanel, bpy.types.Panel): +class OBJECT_PT_duplication(ObjectButtonsPanel, Panel): bl_label = "Duplication" def draw(self, context): @@ -258,7 +259,7 @@ class OBJECT_PT_duplication(ObjectButtonsPanel, bpy.types.Panel): # XXX: the following options are all quite buggy, ancient hacks that should be dropped -class OBJECT_PT_animation(ObjectButtonsPanel, bpy.types.Panel): +class OBJECT_PT_animation(ObjectButtonsPanel, Panel): bl_label = "Animation Hacks" bl_options = {'DEFAULT_CLOSED'} @@ -293,7 +294,7 @@ from bl_ui.properties_animviz import ( ) -class OBJECT_PT_motion_paths(MotionPathButtonsPanel, bpy.types.Panel): +class OBJECT_PT_motion_paths(MotionPathButtonsPanel, Panel): #bl_label = "Object Motion Paths" bl_context = "object" @@ -315,7 +316,7 @@ class OBJECT_PT_motion_paths(MotionPathButtonsPanel, bpy.types.Panel): row.operator("object.paths_clear", text="Clear Paths") -class OBJECT_PT_onion_skinning(OnionSkinButtonsPanel): # , bpy.types.Panel): # inherit from panel when ready +class OBJECT_PT_onion_skinning(OnionSkinButtonsPanel): # , Panel): # inherit from panel when ready #bl_label = "Object Onion Skinning" bl_context = "object" @@ -329,7 +330,7 @@ class OBJECT_PT_onion_skinning(OnionSkinButtonsPanel): # , bpy.types.Panel): # self.draw_settings(context, ob.animation_visualisation) -class OBJECT_PT_custom_props(ObjectButtonsPanel, PropertyPanel, bpy.types.Panel): +class OBJECT_PT_custom_props(ObjectButtonsPanel, PropertyPanel, Panel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} _context_path = "object" _property_type = bpy.types.Object diff --git a/release/scripts/startup/bl_ui/properties_object_constraint.py b/release/scripts/startup/bl_ui/properties_object_constraint.py index 5f79dd3127a..867abe4dd5d 100644 --- a/release/scripts/startup/bl_ui/properties_object_constraint.py +++ b/release/scripts/startup/bl_ui/properties_object_constraint.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Panel class ConstraintButtonsPanel(): @@ -755,7 +756,7 @@ class ConstraintButtonsPanel(): layout.label("Blender 2.5 has no py-constraints") -class OBJECT_PT_constraints(ConstraintButtonsPanel, bpy.types.Panel): +class OBJECT_PT_constraints(ConstraintButtonsPanel, Panel): bl_label = "Object Constraints" bl_context = "constraint" @@ -779,7 +780,7 @@ class OBJECT_PT_constraints(ConstraintButtonsPanel, bpy.types.Panel): self.draw_constraint(context, con) -class BONE_PT_constraints(ConstraintButtonsPanel, bpy.types.Panel): +class BONE_PT_constraints(ConstraintButtonsPanel, Panel): bl_label = "Bone Constraints" bl_context = "bone_constraint" diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py index f23d05f4d17..6187d95d932 100644 --- a/release/scripts/startup/bl_ui/properties_particle.py +++ b/release/scripts/startup/bl_ui/properties_particle.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Panel from rna_prop_ui import PropertyPanel from bl_ui.properties_physics_common import ( @@ -72,7 +73,7 @@ class ParticleButtonsPanel(): return particle_panel_poll(cls, context) -class PARTICLE_PT_context_particles(ParticleButtonsPanel, bpy.types.Panel): +class PARTICLE_PT_context_particles(ParticleButtonsPanel, Panel): bl_label = "" bl_options = {'HIDE_HEADER'} @@ -175,7 +176,7 @@ class PARTICLE_PT_context_particles(ParticleButtonsPanel, bpy.types.Panel): split.prop(psys, "reactor_target_particle_system", text="Particle System") -class PARTICLE_PT_emission(ParticleButtonsPanel, bpy.types.Panel): +class PARTICLE_PT_emission(ParticleButtonsPanel, Panel): bl_label = "Emission" @classmethod @@ -243,7 +244,7 @@ class PARTICLE_PT_emission(ParticleButtonsPanel, bpy.types.Panel): row.prop(part, "grid_random", text="Random", slider=True) -class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel, bpy.types.Panel): +class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel, Panel): bl_label = "Hair dynamics" bl_options = {'DEFAULT_CLOSED'} @@ -298,7 +299,7 @@ class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel, bpy.types.Panel): col.prop(cloth, "quality", text="Steps", slider=True) -class PARTICLE_PT_cache(ParticleButtonsPanel, bpy.types.Panel): +class PARTICLE_PT_cache(ParticleButtonsPanel, Panel): bl_label = "Cache" bl_options = {'DEFAULT_CLOSED'} @@ -323,7 +324,7 @@ class PARTICLE_PT_cache(ParticleButtonsPanel, bpy.types.Panel): point_cache_ui(self, context, psys.point_cache, True, 'HAIR' if (psys.settings.type == 'HAIR') else 'PSYS') -class PARTICLE_PT_velocity(ParticleButtonsPanel, bpy.types.Panel): +class PARTICLE_PT_velocity(ParticleButtonsPanel, Panel): bl_label = "Velocity" @classmethod @@ -372,7 +373,7 @@ class PARTICLE_PT_velocity(ParticleButtonsPanel, bpy.types.Panel): # sub.prop(part, "reaction_shape", slider=True) -class PARTICLE_PT_rotation(ParticleButtonsPanel, bpy.types.Panel): +class PARTICLE_PT_rotation(ParticleButtonsPanel, Panel): bl_label = "Rotation" @classmethod @@ -420,7 +421,7 @@ class PARTICLE_PT_rotation(ParticleButtonsPanel, bpy.types.Panel): col.prop(part, "angular_velocity_factor", text="") -class PARTICLE_PT_physics(ParticleButtonsPanel, bpy.types.Panel): +class PARTICLE_PT_physics(ParticleButtonsPanel, Panel): bl_label = "Physics" @classmethod @@ -455,7 +456,7 @@ class PARTICLE_PT_physics(ParticleButtonsPanel, bpy.types.Panel): col.prop(part, "mass") col.prop(part, "use_multiply_size_mass", text="Multiply mass with size") - if part.physics_type in ('NEWTON', 'FLUID'): + if part.physics_type in {'NEWTON', 'FLUID'}: split = layout.split() col = split.column() @@ -634,7 +635,7 @@ class PARTICLE_PT_physics(ParticleButtonsPanel, bpy.types.Panel): sub.prop(key, "system", text="System") -class PARTICLE_PT_boidbrain(ParticleButtonsPanel, bpy.types.Panel): +class PARTICLE_PT_boidbrain(ParticleButtonsPanel, Panel): bl_label = "Boid Brain" @classmethod @@ -734,7 +735,7 @@ class PARTICLE_PT_boidbrain(ParticleButtonsPanel, bpy.types.Panel): row.prop(rule, "flee_distance") -class PARTICLE_PT_render(ParticleButtonsPanel, bpy.types.Panel): +class PARTICLE_PT_render(ParticleButtonsPanel, Panel): bl_label = "Render" @classmethod @@ -912,13 +913,13 @@ class PARTICLE_PT_render(ParticleButtonsPanel, bpy.types.Panel): col = row.column() col.label(text="") - if part.render_type in ('OBJECT', 'GROUP') and not part.use_advanced_hair: + if part.render_type in {'OBJECT', 'GROUP'} and not part.use_advanced_hair: row = layout.row(align=True) row.prop(part, "particle_size") row.prop(part, "size_random", slider=True) -class PARTICLE_PT_draw(ParticleButtonsPanel, bpy.types.Panel): +class PARTICLE_PT_draw(ParticleButtonsPanel, Panel): bl_label = "Display" bl_options = {'DEFAULT_CLOSED'} @@ -979,7 +980,7 @@ class PARTICLE_PT_draw(ParticleButtonsPanel, bpy.types.Panel): col.prop(part, "draw_step") -class PARTICLE_PT_children(ParticleButtonsPanel, bpy.types.Panel): +class PARTICLE_PT_children(ParticleButtonsPanel, Panel): bl_label = "Children" bl_options = {'DEFAULT_CLOSED'} @@ -1078,7 +1079,7 @@ class PARTICLE_PT_children(ParticleButtonsPanel, bpy.types.Panel): sub.prop(part, "kink_shape", slider=True) -class PARTICLE_PT_field_weights(ParticleButtonsPanel, bpy.types.Panel): +class PARTICLE_PT_field_weights(ParticleButtonsPanel, Panel): bl_label = "Field Weights" bl_options = {'DEFAULT_CLOSED'} @@ -1098,7 +1099,7 @@ class PARTICLE_PT_field_weights(ParticleButtonsPanel, bpy.types.Panel): row.prop(part, "effect_hair", slider=True) -class PARTICLE_PT_force_fields(ParticleButtonsPanel, bpy.types.Panel): +class PARTICLE_PT_force_fields(ParticleButtonsPanel, Panel): bl_label = "Force Field Settings" bl_options = {'DEFAULT_CLOSED'} @@ -1131,7 +1132,7 @@ class PARTICLE_PT_force_fields(ParticleButtonsPanel, bpy.types.Panel): basic_force_field_falloff_ui(self, context, part.force_field_2) -class PARTICLE_PT_vertexgroups(ParticleButtonsPanel, bpy.types.Panel): +class PARTICLE_PT_vertexgroups(ParticleButtonsPanel, Panel): bl_label = "Vertexgroups" bl_options = {'DEFAULT_CLOSED'} @@ -1201,7 +1202,7 @@ class PARTICLE_PT_vertexgroups(ParticleButtonsPanel, bpy.types.Panel): # row.prop(psys, "invert_vertex_group_field", text="") -class PARTICLE_PT_custom_props(ParticleButtonsPanel, PropertyPanel, bpy.types.Panel): +class PARTICLE_PT_custom_props(ParticleButtonsPanel, PropertyPanel, Panel): _context_path = "particle_system.settings" _property_type = bpy.types.ParticleSettings diff --git a/release/scripts/startup/bl_ui/properties_physics_cloth.py b/release/scripts/startup/bl_ui/properties_physics_cloth.py index bce6ab993a7..d5427d8bae8 100644 --- a/release/scripts/startup/bl_ui/properties_physics_cloth.py +++ b/release/scripts/startup/bl_ui/properties_physics_cloth.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Menu, Panel from bl_ui.properties_physics_common import ( @@ -30,14 +31,14 @@ def cloth_panel_enabled(md): return md.point_cache.is_baked is False -class CLOTH_MT_presets(bpy.types.Menu): +class CLOTH_MT_presets(Menu): ''' Creates the menu items by scanning scripts/templates ''' bl_label = "Cloth Presets" preset_subdir = "cloth" preset_operator = "script.execute_preset" - draw = bpy.types.Menu.draw_preset + draw = Menu.draw_preset class PhysicButtonsPanel(): @@ -52,7 +53,7 @@ class PhysicButtonsPanel(): return (ob and ob.type == 'MESH') and (not rd.use_game_engine) and (context.cloth) -class PHYSICS_PT_cloth(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_cloth(PhysicButtonsPanel, Panel): bl_label = "Cloth" def draw(self, context): @@ -117,7 +118,7 @@ class PHYSICS_PT_cloth(PhysicButtonsPanel, bpy.types.Panel): col.prop_search(cloth, "rest_shape_key", key, "key_blocks", text="") -class PHYSICS_PT_cloth_cache(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_cloth_cache(PhysicButtonsPanel, Panel): bl_label = "Cloth Cache" bl_options = {'DEFAULT_CLOSED'} @@ -130,7 +131,7 @@ class PHYSICS_PT_cloth_cache(PhysicButtonsPanel, bpy.types.Panel): point_cache_ui(self, context, md.point_cache, cloth_panel_enabled(md), 'CLOTH') -class PHYSICS_PT_cloth_collision(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_cloth_collision(PhysicButtonsPanel, Panel): bl_label = "Cloth Collision" bl_options = {'DEFAULT_CLOSED'} @@ -171,7 +172,7 @@ class PHYSICS_PT_cloth_collision(PhysicButtonsPanel, bpy.types.Panel): layout.prop(cloth, "group") -class PHYSICS_PT_cloth_stiffness(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_cloth_stiffness(PhysicButtonsPanel, Panel): bl_label = "Cloth Stiffness Scaling" bl_options = {'DEFAULT_CLOSED'} @@ -207,7 +208,7 @@ class PHYSICS_PT_cloth_stiffness(PhysicButtonsPanel, bpy.types.Panel): col.prop(cloth, "bending_stiffness_max", text="Max") -class PHYSICS_PT_cloth_field_weights(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_cloth_field_weights(PhysicButtonsPanel, Panel): bl_label = "Cloth Field Weights" bl_options = {'DEFAULT_CLOSED'} diff --git a/release/scripts/startup/bl_ui/properties_physics_common.py b/release/scripts/startup/bl_ui/properties_physics_common.py index f7cf8da1840..204e25d9f01 100644 --- a/release/scripts/startup/bl_ui/properties_physics_common.py +++ b/release/scripts/startup/bl_ui/properties_physics_common.py @@ -19,6 +19,7 @@ # import bpy +from bpy.types import Panel class PhysicButtonsPanel(): @@ -44,7 +45,7 @@ def physics_add(self, layout, md, name, type, typeicon, toggles): sub.operator("object.modifier_add", text=name, icon=typeicon).type = type -class PHYSICS_PT_add(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_add(PhysicButtonsPanel, Panel): bl_label = "" bl_options = {'HIDE_HEADER'} diff --git a/release/scripts/startup/bl_ui/properties_physics_field.py b/release/scripts/startup/bl_ui/properties_physics_field.py index bd374f0a6f8..aa0ff4c6c66 100644 --- a/release/scripts/startup/bl_ui/properties_physics_field.py +++ b/release/scripts/startup/bl_ui/properties_physics_field.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Panel from bl_ui.properties_physics_common import ( @@ -37,7 +38,7 @@ class PhysicButtonsPanel(): return (context.object) and (not rd.use_game_engine) -class PHYSICS_PT_field(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_field(PhysicButtonsPanel, Panel): bl_label = "Force Fields" @classmethod @@ -167,7 +168,7 @@ class PHYSICS_PT_field(PhysicButtonsPanel, bpy.types.Panel): sub.prop(field, "radial_max", text="Distance") -class PHYSICS_PT_collision(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_collision(PhysicButtonsPanel, Panel): bl_label = "Collision" #bl_options = {'DEFAULT_CLOSED'} diff --git a/release/scripts/startup/bl_ui/properties_physics_fluid.py b/release/scripts/startup/bl_ui/properties_physics_fluid.py index c7e3a9e7220..46893af3582 100644 --- a/release/scripts/startup/bl_ui/properties_physics_fluid.py +++ b/release/scripts/startup/bl_ui/properties_physics_fluid.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Panel class PhysicButtonsPanel(): @@ -32,7 +33,7 @@ class PhysicButtonsPanel(): return (ob and ob.type == 'MESH') and (not rd.use_game_engine) and (context.fluid) -class PHYSICS_PT_fluid(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_fluid(PhysicButtonsPanel, Panel): bl_label = "Fluid" def draw(self, context): @@ -186,7 +187,7 @@ class PHYSICS_PT_fluid(PhysicButtonsPanel, bpy.types.Panel): sub.prop(fluid, "velocity_radius", text="Radius") -class PHYSICS_PT_domain_gravity(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_domain_gravity(PhysicButtonsPanel, Panel): bl_label = "Domain World" bl_options = {'DEFAULT_CLOSED'} @@ -236,7 +237,7 @@ class PHYSICS_PT_domain_gravity(PhysicButtonsPanel, bpy.types.Panel): col.prop(fluid, "compressibility", slider=True) -class PHYSICS_PT_domain_boundary(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_domain_boundary(PhysicButtonsPanel, Panel): bl_label = "Domain Boundary" bl_options = {'DEFAULT_CLOSED'} @@ -265,7 +266,7 @@ class PHYSICS_PT_domain_boundary(PhysicButtonsPanel, bpy.types.Panel): col.prop(fluid, "surface_subdivisions", text="Subdivisions") -class PHYSICS_PT_domain_particles(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_domain_particles(PhysicButtonsPanel, Panel): bl_label = "Domain Particles" bl_options = {'DEFAULT_CLOSED'} diff --git a/release/scripts/startup/bl_ui/properties_physics_smoke.py b/release/scripts/startup/bl_ui/properties_physics_smoke.py index 61d8d2e3825..771a778380d 100644 --- a/release/scripts/startup/bl_ui/properties_physics_smoke.py +++ b/release/scripts/startup/bl_ui/properties_physics_smoke.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Panel from bl_ui.properties_physics_common import ( @@ -38,7 +39,7 @@ class PhysicButtonsPanel(): return (ob and ob.type == 'MESH') and (not rd.use_game_engine) and (context.smoke) -class PHYSICS_PT_smoke(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_smoke(PhysicButtonsPanel, Panel): bl_label = "Smoke" def draw(self, context): @@ -103,7 +104,7 @@ class PHYSICS_PT_smoke(PhysicButtonsPanel, bpy.types.Panel): sub.prop(flow, "temperature") -class PHYSICS_PT_smoke_groups(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_smoke_groups(PhysicButtonsPanel, Panel): bl_label = "Smoke Groups" bl_options = {'DEFAULT_CLOSED'} @@ -131,7 +132,7 @@ class PHYSICS_PT_smoke_groups(PhysicButtonsPanel, bpy.types.Panel): col.prop(group, "collision_group", text="") -class PHYSICS_PT_smoke_highres(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_smoke_highres(PhysicButtonsPanel, Panel): bl_label = "Smoke High Resolution" bl_options = {'DEFAULT_CLOSED'} @@ -168,7 +169,7 @@ class PHYSICS_PT_smoke_highres(PhysicButtonsPanel, bpy.types.Panel): layout.prop(md, "show_high_resolution") -class PHYSICS_PT_smoke_cache(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_smoke_cache(PhysicButtonsPanel, Panel): bl_label = "Smoke Cache" bl_options = {'DEFAULT_CLOSED'} @@ -189,7 +190,7 @@ class PHYSICS_PT_smoke_cache(PhysicButtonsPanel, bpy.types.Panel): point_cache_ui(self, context, cache, (cache.is_baked is False), 'SMOKE') -class PHYSICS_PT_smoke_field_weights(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_smoke_field_weights(PhysicButtonsPanel, Panel): bl_label = "Smoke Field Weights" bl_options = {'DEFAULT_CLOSED'} diff --git a/release/scripts/startup/bl_ui/properties_physics_softbody.py b/release/scripts/startup/bl_ui/properties_physics_softbody.py index 61115a0590e..0b55ccf9516 100644 --- a/release/scripts/startup/bl_ui/properties_physics_softbody.py +++ b/release/scripts/startup/bl_ui/properties_physics_softbody.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Panel from bl_ui.properties_physics_common import ( @@ -44,7 +45,7 @@ class PhysicButtonsPanel(): return (ob and (ob.type == 'MESH' or ob.type == 'LATTICE'or ob.type == 'CURVE')) and (not rd.use_game_engine) and (context.soft_body) -class PHYSICS_PT_softbody(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_softbody(PhysicButtonsPanel, Panel): bl_label = "Soft Body" def draw(self, context): @@ -71,7 +72,7 @@ class PHYSICS_PT_softbody(PhysicButtonsPanel, bpy.types.Panel): col.prop(softbody, "speed") -class PHYSICS_PT_softbody_cache(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_softbody_cache(PhysicButtonsPanel, Panel): bl_label = "Soft Body Cache" bl_options = {'DEFAULT_CLOSED'} @@ -84,7 +85,7 @@ class PHYSICS_PT_softbody_cache(PhysicButtonsPanel, bpy.types.Panel): point_cache_ui(self, context, md.point_cache, softbody_panel_enabled(md), 'SOFTBODY') -class PHYSICS_PT_softbody_goal(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_softbody_goal(PhysicButtonsPanel, Panel): bl_label = "Soft Body Goal" bl_options = {'DEFAULT_CLOSED'} @@ -127,7 +128,7 @@ class PHYSICS_PT_softbody_goal(PhysicButtonsPanel, bpy.types.Panel): layout.prop_search(softbody, "vertex_group_goal", ob, "vertex_groups", text="Vertex Group") -class PHYSICS_PT_softbody_edge(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_softbody_edge(PhysicButtonsPanel, Panel): bl_label = "Soft Body Edges" bl_options = {'DEFAULT_CLOSED'} @@ -180,7 +181,7 @@ class PHYSICS_PT_softbody_edge(PhysicButtonsPanel, bpy.types.Panel): col.prop(softbody, "use_face_collision", text="Face") -class PHYSICS_PT_softbody_collision(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_softbody_collision(PhysicButtonsPanel, Panel): bl_label = "Soft Body Self Collision" bl_options = {'DEFAULT_CLOSED'} @@ -212,7 +213,7 @@ class PHYSICS_PT_softbody_collision(PhysicButtonsPanel, bpy.types.Panel): col.prop(softbody, "ball_damp", text="Dampening") -class PHYSICS_PT_softbody_solver(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_softbody_solver(PhysicButtonsPanel, Panel): bl_label = "Soft Body Solver" bl_options = {'DEFAULT_CLOSED'} @@ -248,7 +249,7 @@ class PHYSICS_PT_softbody_solver(PhysicButtonsPanel, bpy.types.Panel): layout.prop(softbody, "use_estimate_matrix") -class PHYSICS_PT_softbody_field_weights(PhysicButtonsPanel, bpy.types.Panel): +class PHYSICS_PT_softbody_field_weights(PhysicButtonsPanel, Panel): bl_label = "Soft Body Field Weights" bl_options = {'DEFAULT_CLOSED'} diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py index 6d36db29a6c..fb14372ebea 100644 --- a/release/scripts/startup/bl_ui/properties_render.py +++ b/release/scripts/startup/bl_ui/properties_render.py @@ -18,27 +18,28 @@ # import bpy +from bpy.types import Menu, Panel -class RENDER_MT_presets(bpy.types.Menu): +class RENDER_MT_presets(Menu): bl_label = "Render Presets" preset_subdir = "render" preset_operator = "script.execute_preset" - draw = bpy.types.Menu.draw_preset + draw = Menu.draw_preset -class RENDER_MT_ffmpeg_presets(bpy.types.Menu): +class RENDER_MT_ffmpeg_presets(Menu): bl_label = "FFMPEG Presets" preset_subdir = "ffmpeg" preset_operator = "script.python_file_run" - draw = bpy.types.Menu.draw_preset + draw = Menu.draw_preset -class RENDER_MT_framerate_presets(bpy.types.Menu): +class RENDER_MT_framerate_presets(Menu): bl_label = "Frame Rate Presets" preset_subdir = "framerate" preset_operator = "script.execute_preset" - draw = bpy.types.Menu.draw_preset + draw = Menu.draw_preset class RenderButtonsPanel(): @@ -53,7 +54,7 @@ class RenderButtonsPanel(): return (context.scene and rd.use_game_engine is False) and (rd.engine in cls.COMPAT_ENGINES) -class RENDER_PT_render(RenderButtonsPanel, bpy.types.Panel): +class RENDER_PT_render(RenderButtonsPanel, Panel): bl_label = "Render" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -69,7 +70,7 @@ class RENDER_PT_render(RenderButtonsPanel, bpy.types.Panel): layout.prop(rd, "display_mode", text="Display") -class RENDER_PT_layers(RenderButtonsPanel, bpy.types.Panel): +class RENDER_PT_layers(RenderButtonsPanel, Panel): bl_label = "Layers" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -173,7 +174,7 @@ class RENDER_PT_layers(RenderButtonsPanel, bpy.types.Panel): row.prop(rl, "exclude_refraction", text="") -class RENDER_PT_dimensions(RenderButtonsPanel, bpy.types.Panel): +class RENDER_PT_dimensions(RenderButtonsPanel, Panel): bl_label = "Dimensions" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -240,7 +241,7 @@ class RENDER_PT_dimensions(RenderButtonsPanel, bpy.types.Panel): subrow.prop(rd, "frame_map_new", text="New") -class RENDER_PT_antialiasing(RenderButtonsPanel, bpy.types.Panel): +class RENDER_PT_antialiasing(RenderButtonsPanel, Panel): bl_label = "Anti-Aliasing" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -268,7 +269,7 @@ class RENDER_PT_antialiasing(RenderButtonsPanel, bpy.types.Panel): col.prop(rd, "filter_size", text="Size") -class RENDER_PT_motion_blur(RenderButtonsPanel, bpy.types.Panel): +class RENDER_PT_motion_blur(RenderButtonsPanel, Panel): bl_label = "Sampled Motion Blur" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -294,7 +295,7 @@ class RENDER_PT_motion_blur(RenderButtonsPanel, bpy.types.Panel): row.prop(rd, "motion_blur_shutter") -class RENDER_PT_shading(RenderButtonsPanel, bpy.types.Panel): +class RENDER_PT_shading(RenderButtonsPanel, Panel): bl_label = "Shading" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -318,7 +319,7 @@ class RENDER_PT_shading(RenderButtonsPanel, bpy.types.Panel): col.prop(rd, "alpha_mode", text="Alpha") -class RENDER_PT_performance(RenderButtonsPanel, bpy.types.Panel): +class RENDER_PT_performance(RenderButtonsPanel, Panel): bl_label = "Performance" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -361,7 +362,7 @@ class RENDER_PT_performance(RenderButtonsPanel, bpy.types.Panel): sub.prop(rd, "use_local_coords", text="Local Coordinates") -class RENDER_PT_post_processing(RenderButtonsPanel, bpy.types.Panel): +class RENDER_PT_post_processing(RenderButtonsPanel, Panel): bl_label = "Post Processing" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -398,7 +399,7 @@ class RENDER_PT_post_processing(RenderButtonsPanel, bpy.types.Panel): sub.prop(rd, "edge_color", text="") -class RENDER_PT_stamp(RenderButtonsPanel, bpy.types.Panel): +class RENDER_PT_stamp(RenderButtonsPanel, Panel): bl_label = "Stamp" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -443,7 +444,7 @@ class RENDER_PT_stamp(RenderButtonsPanel, bpy.types.Panel): sub.prop(rd, "stamp_note_text", text="") -class RENDER_PT_output(RenderButtonsPanel, bpy.types.Panel): +class RENDER_PT_output(RenderButtonsPanel, Panel): bl_label = "Output" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -543,7 +544,7 @@ class RENDER_PT_output(RenderButtonsPanel, bpy.types.Panel): col.prop(rd, "quicktime_audio_resampling_hq") -class RENDER_PT_encoding(RenderButtonsPanel, bpy.types.Panel): +class RENDER_PT_encoding(RenderButtonsPanel, Panel): bl_label = "Encoding" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -600,7 +601,7 @@ class RENDER_PT_encoding(RenderButtonsPanel, bpy.types.Panel): split.prop(rd, "ffmpeg_audio_volume", slider=True) -class RENDER_PT_bake(RenderButtonsPanel, bpy.types.Panel): +class RENDER_PT_bake(RenderButtonsPanel, Panel): bl_label = "Bake" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER'} diff --git a/release/scripts/startup/bl_ui/properties_scene.py b/release/scripts/startup/bl_ui/properties_scene.py index 7725f661693..6e96e1228e7 100644 --- a/release/scripts/startup/bl_ui/properties_scene.py +++ b/release/scripts/startup/bl_ui/properties_scene.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Operator, Panel from rna_prop_ui import PropertyPanel @@ -31,7 +32,7 @@ class SceneButtonsPanel(): return context.scene -class SCENE_PT_scene(SceneButtonsPanel, bpy.types.Panel): +class SCENE_PT_scene(SceneButtonsPanel, Panel): bl_label = "Scene" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -43,7 +44,7 @@ class SCENE_PT_scene(SceneButtonsPanel, bpy.types.Panel): layout.prop(scene, "background_set", text="Background") -class SCENE_PT_unit(SceneButtonsPanel, bpy.types.Panel): +class SCENE_PT_unit(SceneButtonsPanel, Panel): bl_label = "Units" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -61,7 +62,7 @@ class SCENE_PT_unit(SceneButtonsPanel, bpy.types.Panel): row.prop(unit, "use_separate") -class SCENE_PT_keying_sets(SceneButtonsPanel, bpy.types.Panel): +class SCENE_PT_keying_sets(SceneButtonsPanel, Panel): bl_label = "Keying Sets" def draw(self, context): @@ -94,7 +95,7 @@ class SCENE_PT_keying_sets(SceneButtonsPanel, bpy.types.Panel): col.prop(ks, "bl_options") -class SCENE_PT_keying_set_paths(SceneButtonsPanel, bpy.types.Panel): +class SCENE_PT_keying_set_paths(SceneButtonsPanel, Panel): bl_label = "Active Keying Set" @classmethod @@ -144,7 +145,7 @@ class SCENE_PT_keying_set_paths(SceneButtonsPanel, bpy.types.Panel): col.prop(ksp, "bl_options") -class SCENE_PT_physics(SceneButtonsPanel, bpy.types.Panel): +class SCENE_PT_physics(SceneButtonsPanel, Panel): bl_label = "Gravity" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -161,7 +162,7 @@ class SCENE_PT_physics(SceneButtonsPanel, bpy.types.Panel): layout.prop(scene, "gravity", text="") -class SCENE_PT_simplify(SceneButtonsPanel, bpy.types.Panel): +class SCENE_PT_simplify(SceneButtonsPanel, Panel): bl_label = "Simplify" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -190,7 +191,7 @@ class SCENE_PT_simplify(SceneButtonsPanel, bpy.types.Panel): col.prop(rd, "simplify_ao_sss", text="AO and SSS") -class SCENE_PT_custom_props(SceneButtonsPanel, PropertyPanel, bpy.types.Panel): +class SCENE_PT_custom_props(SceneButtonsPanel, PropertyPanel, Panel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} _context_path = "scene" _property_type = bpy.types.Scene @@ -198,7 +199,7 @@ class SCENE_PT_custom_props(SceneButtonsPanel, PropertyPanel, bpy.types.Panel): # XXX, move operator to op/ dir -class ANIM_OT_keying_set_export(bpy.types.Operator): +class ANIM_OT_keying_set_export(Operator): "Export Keying Set to a python script." bl_idname = "anim.keying_set_export" bl_label = "Export Keying Set..." diff --git a/release/scripts/startup/bl_ui/properties_texture.py b/release/scripts/startup/bl_ui/properties_texture.py index e216f019297..fe741b78daa 100644 --- a/release/scripts/startup/bl_ui/properties_texture.py +++ b/release/scripts/startup/bl_ui/properties_texture.py @@ -18,10 +18,11 @@ # import bpy +from bpy.types import Menu, Panel from rna_prop_ui import PropertyPanel -class TEXTURE_MT_specials(bpy.types.Menu): +class TEXTURE_MT_specials(Menu): bl_label = "Texture Specials" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -32,7 +33,7 @@ class TEXTURE_MT_specials(bpy.types.Menu): layout.operator("texture.slot_paste", icon='PASTEDOWN') -class TEXTURE_MT_envmap_specials(bpy.types.Menu): +class TEXTURE_MT_envmap_specials(Menu): bl_label = "Environment Map Specials" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -80,7 +81,7 @@ class TextureButtonsPanel(): return tex and (tex.type != 'NONE' or tex.use_nodes) and (context.scene.render.engine in cls.COMPAT_ENGINES) -class TEXTURE_PT_context_texture(TextureButtonsPanel, bpy.types.Panel): +class TEXTURE_PT_context_texture(TextureButtonsPanel, Panel): bl_label = "" bl_options = {'HIDE_HEADER'} COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -150,7 +151,7 @@ class TEXTURE_PT_context_texture(TextureButtonsPanel, bpy.types.Panel): split.prop(tex, "type", text="") -class TEXTURE_PT_preview(TextureButtonsPanel, bpy.types.Panel): +class TEXTURE_PT_preview(TextureButtonsPanel, Panel): bl_label = "Preview" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -167,7 +168,7 @@ class TEXTURE_PT_preview(TextureButtonsPanel, bpy.types.Panel): layout.template_preview(tex, slot=slot) -class TEXTURE_PT_colors(TextureButtonsPanel, bpy.types.Panel): +class TEXTURE_PT_colors(TextureButtonsPanel, Panel): bl_label = "Colors" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -223,7 +224,7 @@ class TextureTypePanel(TextureButtonsPanel): return tex and ((tex.type == cls.tex_type and not tex.use_nodes) and (engine in cls.COMPAT_ENGINES)) -class TEXTURE_PT_clouds(TextureTypePanel, bpy.types.Panel): +class TEXTURE_PT_clouds(TextureTypePanel, Panel): bl_label = "Clouds" tex_type = 'CLOUDS' COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -247,7 +248,7 @@ class TEXTURE_PT_clouds(TextureTypePanel, bpy.types.Panel): split.prop(tex, "nabla", text="Nabla") -class TEXTURE_PT_wood(TextureTypePanel, bpy.types.Panel): +class TEXTURE_PT_wood(TextureTypePanel, Panel): bl_label = "Wood" tex_type = 'WOOD' COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -276,7 +277,7 @@ class TEXTURE_PT_wood(TextureTypePanel, bpy.types.Panel): split.prop(tex, "nabla") -class TEXTURE_PT_marble(TextureTypePanel, bpy.types.Panel): +class TEXTURE_PT_marble(TextureTypePanel, Panel): bl_label = "Marble" tex_type = 'MARBLE' COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -303,7 +304,7 @@ class TEXTURE_PT_marble(TextureTypePanel, bpy.types.Panel): col.prop(tex, "nabla") -class TEXTURE_PT_magic(TextureTypePanel, bpy.types.Panel): +class TEXTURE_PT_magic(TextureTypePanel, Panel): bl_label = "Magic" tex_type = 'MAGIC' COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -318,7 +319,7 @@ class TEXTURE_PT_magic(TextureTypePanel, bpy.types.Panel): row.prop(tex, "turbulence") -class TEXTURE_PT_blend(TextureTypePanel, bpy.types.Panel): +class TEXTURE_PT_blend(TextureTypePanel, Panel): bl_label = "Blend" tex_type = 'BLEND' COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -336,7 +337,7 @@ class TEXTURE_PT_blend(TextureTypePanel, bpy.types.Panel): sub.prop(tex, "use_flip_axis", expand=True) -class TEXTURE_PT_stucci(TextureTypePanel, bpy.types.Panel): +class TEXTURE_PT_stucci(TextureTypePanel, Panel): bl_label = "Stucci" tex_type = 'STUCCI' COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -356,7 +357,7 @@ class TEXTURE_PT_stucci(TextureTypePanel, bpy.types.Panel): row.prop(tex, "turbulence") -class TEXTURE_PT_image(TextureTypePanel, bpy.types.Panel): +class TEXTURE_PT_image(TextureTypePanel, Panel): bl_label = "Image" tex_type = 'IMAGE' COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -382,7 +383,7 @@ def texture_filter_common(tex, layout): layout.prop(tex, "use_filter_size_min") -class TEXTURE_PT_image_sampling(TextureTypePanel, bpy.types.Panel): +class TEXTURE_PT_image_sampling(TextureTypePanel, Panel): bl_label = "Image Sampling" bl_options = {'DEFAULT_CLOSED'} tex_type = 'IMAGE' @@ -424,7 +425,7 @@ class TEXTURE_PT_image_sampling(TextureTypePanel, bpy.types.Panel): texture_filter_common(tex, col) -class TEXTURE_PT_image_mapping(TextureTypePanel, bpy.types.Panel): +class TEXTURE_PT_image_mapping(TextureTypePanel, Panel): bl_label = "Image Mapping" bl_options = {'DEFAULT_CLOSED'} tex_type = 'IMAGE' @@ -480,7 +481,7 @@ class TEXTURE_PT_image_mapping(TextureTypePanel, bpy.types.Panel): col.prop(tex, "crop_max_y", text="Y") -class TEXTURE_PT_envmap(TextureTypePanel, bpy.types.Panel): +class TEXTURE_PT_envmap(TextureTypePanel, Panel): bl_label = "Environment Map" tex_type = 'ENVIRONMENT_MAP' COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -518,7 +519,7 @@ class TEXTURE_PT_envmap(TextureTypePanel, bpy.types.Panel): col.prop(env, "clip_end", text="End") -class TEXTURE_PT_envmap_sampling(TextureTypePanel, bpy.types.Panel): +class TEXTURE_PT_envmap_sampling(TextureTypePanel, Panel): bl_label = "Environment Map Sampling" bl_options = {'DEFAULT_CLOSED'} tex_type = 'ENVIRONMENT_MAP' @@ -532,7 +533,7 @@ class TEXTURE_PT_envmap_sampling(TextureTypePanel, bpy.types.Panel): texture_filter_common(tex, layout) -class TEXTURE_PT_musgrave(TextureTypePanel, bpy.types.Panel): +class TEXTURE_PT_musgrave(TextureTypePanel, Panel): bl_label = "Musgrave" tex_type = 'MUSGRAVE' COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -569,7 +570,7 @@ class TEXTURE_PT_musgrave(TextureTypePanel, bpy.types.Panel): row.prop(tex, "nabla") -class TEXTURE_PT_voronoi(TextureTypePanel, bpy.types.Panel): +class TEXTURE_PT_voronoi(TextureTypePanel, Panel): bl_label = "Voronoi" tex_type = 'VORONOI' COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -605,7 +606,7 @@ class TEXTURE_PT_voronoi(TextureTypePanel, bpy.types.Panel): row.prop(tex, "nabla") -class TEXTURE_PT_distortednoise(TextureTypePanel, bpy.types.Panel): +class TEXTURE_PT_distortednoise(TextureTypePanel, Panel): bl_label = "Distorted Noise" tex_type = 'DISTORTED_NOISE' COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -627,7 +628,7 @@ class TEXTURE_PT_distortednoise(TextureTypePanel, bpy.types.Panel): split.prop(tex, "nabla") -class TEXTURE_PT_voxeldata(TextureButtonsPanel, bpy.types.Panel): +class TEXTURE_PT_voxeldata(TextureButtonsPanel, Panel): bl_label = "Voxel Data" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -667,7 +668,7 @@ class TEXTURE_PT_voxeldata(TextureButtonsPanel, bpy.types.Panel): layout.prop(vd, "intensity") -class TEXTURE_PT_pointdensity(TextureButtonsPanel, bpy.types.Panel): +class TEXTURE_PT_pointdensity(TextureButtonsPanel, Panel): bl_label = "Point Density" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -733,7 +734,7 @@ class TEXTURE_PT_pointdensity(TextureButtonsPanel, bpy.types.Panel): col.template_curve_mapping(pd, "falloff_curve", brush=False) -class TEXTURE_PT_pointdensity_turbulence(TextureButtonsPanel, bpy.types.Panel): +class TEXTURE_PT_pointdensity_turbulence(TextureButtonsPanel, Panel): bl_label = "Turbulence" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -770,7 +771,7 @@ class TEXTURE_PT_pointdensity_turbulence(TextureButtonsPanel, bpy.types.Panel): col.prop(pd, "turbulence_strength") -class TEXTURE_PT_mapping(TextureSlotPanel, bpy.types.Panel): +class TEXTURE_PT_mapping(TextureSlotPanel, Panel): bl_label = "Mapping" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -858,7 +859,7 @@ class TEXTURE_PT_mapping(TextureSlotPanel, bpy.types.Panel): row.column().prop(tex, "scale") -class TEXTURE_PT_influence(TextureSlotPanel, bpy.types.Panel): +class TEXTURE_PT_influence(TextureSlotPanel, Panel): bl_label = "Influence" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} @@ -1034,7 +1035,7 @@ class TEXTURE_PT_influence(TextureSlotPanel, bpy.types.Panel): sub.prop(tex, "bump_objectspace", text="Space") -class TEXTURE_PT_custom_props(TextureButtonsPanel, PropertyPanel, bpy.types.Panel): +class TEXTURE_PT_custom_props(TextureButtonsPanel, PropertyPanel, Panel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} _context_path = "texture" _property_type = bpy.types.Texture diff --git a/release/scripts/startup/bl_ui/properties_world.py b/release/scripts/startup/bl_ui/properties_world.py index c577af01374..71ee03296a0 100644 --- a/release/scripts/startup/bl_ui/properties_world.py +++ b/release/scripts/startup/bl_ui/properties_world.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Panel from rna_prop_ui import PropertyPanel @@ -32,7 +33,7 @@ class WorldButtonsPanel(): return (context.world and context.scene.render.engine in cls.COMPAT_ENGINES) -class WORLD_PT_context_world(WorldButtonsPanel, bpy.types.Panel): +class WORLD_PT_context_world(WorldButtonsPanel, Panel): bl_label = "" bl_options = {'HIDE_HEADER'} COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -61,7 +62,7 @@ class WORLD_PT_context_world(WorldButtonsPanel, bpy.types.Panel): split.label(text=str(texture_count), icon='TEXTURE') -class WORLD_PT_preview(WorldButtonsPanel, bpy.types.Panel): +class WORLD_PT_preview(WorldButtonsPanel, Panel): bl_label = "Preview" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -74,7 +75,7 @@ class WORLD_PT_preview(WorldButtonsPanel, bpy.types.Panel): self.layout.template_preview(context.world) -class WORLD_PT_world(WorldButtonsPanel, bpy.types.Panel): +class WORLD_PT_world(WorldButtonsPanel, Panel): bl_label = "World" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -99,7 +100,7 @@ class WORLD_PT_world(WorldButtonsPanel, bpy.types.Panel): row.prop(world, "color_range") -class WORLD_PT_ambient_occlusion(WorldButtonsPanel, bpy.types.Panel): +class WORLD_PT_ambient_occlusion(WorldButtonsPanel, Panel): bl_label = "Ambient Occlusion" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -118,7 +119,7 @@ class WORLD_PT_ambient_occlusion(WorldButtonsPanel, bpy.types.Panel): split.prop(light, "ao_blend_type", text="") -class WORLD_PT_environment_lighting(WorldButtonsPanel, bpy.types.Panel): +class WORLD_PT_environment_lighting(WorldButtonsPanel, Panel): bl_label = "Environment Lighting" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -137,7 +138,7 @@ class WORLD_PT_environment_lighting(WorldButtonsPanel, bpy.types.Panel): split.prop(light, "environment_color", text="") -class WORLD_PT_indirect_lighting(WorldButtonsPanel, bpy.types.Panel): +class WORLD_PT_indirect_lighting(WorldButtonsPanel, Panel): bl_label = "Indirect Lighting" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -159,7 +160,7 @@ class WORLD_PT_indirect_lighting(WorldButtonsPanel, bpy.types.Panel): layout.label(text="Only works with Approximate gather method") -class WORLD_PT_gather(WorldButtonsPanel, bpy.types.Panel): +class WORLD_PT_gather(WorldButtonsPanel, Panel): bl_label = "Gather" COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -207,7 +208,7 @@ class WORLD_PT_gather(WorldButtonsPanel, bpy.types.Panel): col.prop(light, "correction") -class WORLD_PT_mist(WorldButtonsPanel, bpy.types.Panel): +class WORLD_PT_mist(WorldButtonsPanel, Panel): bl_label = "Mist" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -236,7 +237,7 @@ class WORLD_PT_mist(WorldButtonsPanel, bpy.types.Panel): layout.prop(world.mist_settings, "falloff") -class WORLD_PT_stars(WorldButtonsPanel, bpy.types.Panel): +class WORLD_PT_stars(WorldButtonsPanel, Panel): bl_label = "Stars" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER'} @@ -263,7 +264,7 @@ class WORLD_PT_stars(WorldButtonsPanel, bpy.types.Panel): col.prop(world.star_settings, "average_separation", text="Separation") -class WORLD_PT_custom_props(WorldButtonsPanel, PropertyPanel, bpy.types.Panel): +class WORLD_PT_custom_props(WorldButtonsPanel, PropertyPanel, Panel): COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} _context_path = "world" _property_type = bpy.types.World diff --git a/release/scripts/startup/bl_ui/space_console.py b/release/scripts/startup/bl_ui/space_console.py index da6c102100b..d457a66def8 100644 --- a/release/scripts/startup/bl_ui/space_console.py +++ b/release/scripts/startup/bl_ui/space_console.py @@ -18,32 +18,30 @@ # import bpy +from bpy.types import Header, Menu, Operator from bpy.props import StringProperty -class CONSOLE_HT_header(bpy.types.Header): +class CONSOLE_HT_header(Header): bl_space_type = 'CONSOLE' def draw(self, context): - layout = self.layout + layout = self.layout.row(align=True) - row = layout.row(align=True) - row.template_header() + layout.template_header() if context.area.show_menus: - sub = row.row(align=True) - sub.menu("CONSOLE_MT_console") + layout.menu("CONSOLE_MT_console") - row = layout.row(align=True) - row.operator("console.autocomplete", text="Autocomplete") + layout.operator("console.autocomplete", text="Autocomplete") -class CONSOLE_MT_console(bpy.types.Menu): +class CONSOLE_MT_console(Menu): bl_label = "Console" def draw(self, context): layout = self.layout - layout.column() + layout.operator("console.clear") layout.operator("console.copy") layout.operator("console.paste") @@ -55,7 +53,7 @@ class CONSOLE_MT_console(bpy.types.Menu): layout.operator("screen.screen_full_area") -class CONSOLE_MT_language(bpy.types.Menu): +class CONSOLE_MT_language(Menu): bl_label = "Languages..." def draw(self, context): @@ -82,7 +80,7 @@ def add_scrollback(text, text_type): type=text_type) -class ConsoleExec(bpy.types.Operator): +class ConsoleExec(Operator): '''Execute the current console line as a python expression''' bl_idname = "console.execute" bl_label = "Console Execute" @@ -100,7 +98,7 @@ class ConsoleExec(bpy.types.Operator): return {'FINISHED'} -class ConsoleAutocomplete(bpy.types.Operator): +class ConsoleAutocomplete(Operator): '''Evaluate the namespace up until the cursor and give a list of options or complete the name if there is only one''' bl_idname = "console.autocomplete" bl_label = "Console Autocomplete" @@ -117,7 +115,7 @@ class ConsoleAutocomplete(bpy.types.Operator): return {'FINISHED'} -class ConsoleBanner(bpy.types.Operator): +class ConsoleBanner(Operator): '''Print a message whem the terminal initializes''' bl_idname = "console.banner" bl_label = "Console Banner" @@ -139,7 +137,7 @@ class ConsoleBanner(bpy.types.Operator): return {'FINISHED'} -class ConsoleLanguage(bpy.types.Operator): +class ConsoleLanguage(Operator): '''Set the current language for this console''' bl_idname = "console.language" bl_label = "Console Language" diff --git a/release/scripts/startup/bl_ui/space_dopesheet.py b/release/scripts/startup/bl_ui/space_dopesheet.py index 930a2029d32..dfbd7b3ae14 100644 --- a/release/scripts/startup/bl_ui/space_dopesheet.py +++ b/release/scripts/startup/bl_ui/space_dopesheet.py @@ -19,6 +19,7 @@ # import bpy +from bpy.types import Header, Menu ####################################### @@ -84,7 +85,7 @@ def dopesheet_filter(layout, context, genericFiltersOnly=False): ####################################### # DopeSheet Editor - General/Standard UI -class DOPESHEET_HT_header(bpy.types.Header): +class DOPESHEET_HT_header(Header): bl_space_type = 'DOPESHEET_EDITOR' def draw(self, context): @@ -96,21 +97,19 @@ class DOPESHEET_HT_header(bpy.types.Header): row.template_header() if context.area.show_menus: - sub = row.row(align=True) - - sub.menu("DOPESHEET_MT_view") - sub.menu("DOPESHEET_MT_select") - sub.menu("DOPESHEET_MT_marker") + row.menu("DOPESHEET_MT_view") + row.menu("DOPESHEET_MT_select") + row.menu("DOPESHEET_MT_marker") if st.mode == 'DOPESHEET' or (st.mode == 'ACTION' and st.action != None): - sub.menu("DOPESHEET_MT_channel") + row.menu("DOPESHEET_MT_channel") elif st.mode == 'GPENCIL': - sub.menu("DOPESHEET_MT_gpencil_channel") + row.menu("DOPESHEET_MT_gpencil_channel") if st.mode != 'GPENCIL': - sub.menu("DOPESHEET_MT_key") + row.menu("DOPESHEET_MT_key") else: - sub.menu("DOPESHEET_MT_gpencil_frame") + row.menu("DOPESHEET_MT_gpencil_frame") layout.prop(st, "mode", text="") layout.prop(st.dopesheet, "show_summary", text="Summary") @@ -134,7 +133,7 @@ class DOPESHEET_HT_header(bpy.types.Header): row.operator("action.paste", text="", icon='PASTEDOWN') -class DOPESHEET_MT_view(bpy.types.Menu): +class DOPESHEET_MT_view(Menu): bl_label = "View" def draw(self, context): @@ -142,8 +141,6 @@ class DOPESHEET_MT_view(bpy.types.Menu): st = context.space_data - layout.column() - layout.prop(st, "use_realtime_update") layout.prop(st, "show_frame_indicator") layout.prop(st, "show_sliders") @@ -170,13 +167,12 @@ class DOPESHEET_MT_view(bpy.types.Menu): layout.operator("screen.screen_full_area") -class DOPESHEET_MT_select(bpy.types.Menu): +class DOPESHEET_MT_select(Menu): bl_label = "Select" def draw(self, context): layout = self.layout - layout.column() # This is a bit misleading as the operator's default text is "Select All" while it actually *toggles* All/None layout.operator("action.select_all_toggle") layout.operator("action.select_all_toggle", text="Invert Selection").invert = True @@ -206,7 +202,7 @@ class DOPESHEET_MT_select(bpy.types.Menu): layout.operator("action.select_linked") -class DOPESHEET_MT_marker(bpy.types.Menu): +class DOPESHEET_MT_marker(Menu): bl_label = "Marker" def draw(self, context): @@ -216,7 +212,6 @@ class DOPESHEET_MT_marker(bpy.types.Menu): #layout.operator_context = 'EXEC_REGION_WIN' - layout.column() layout.operator("marker.add", "Add Marker") layout.operator("marker.duplicate", text="Duplicate Marker") layout.operator("marker.delete", text="Delete Marker") @@ -237,7 +232,7 @@ class DOPESHEET_MT_marker(bpy.types.Menu): ####################################### # Keyframe Editing -class DOPESHEET_MT_channel(bpy.types.Menu): +class DOPESHEET_MT_channel(Menu): bl_label = "Channel" def draw(self, context): @@ -245,7 +240,6 @@ class DOPESHEET_MT_channel(bpy.types.Menu): layout.operator_context = 'INVOKE_REGION_CHANNELS' - layout.column() layout.operator("anim.channels_delete") layout.separator() @@ -268,13 +262,12 @@ class DOPESHEET_MT_channel(bpy.types.Menu): layout.operator("anim.channels_fcurves_enable") -class DOPESHEET_MT_key(bpy.types.Menu): +class DOPESHEET_MT_key(Menu): bl_label = "Key" def draw(self, context): layout = self.layout - layout.column() layout.menu("DOPESHEET_MT_key_transform", text="Transform") layout.operator_menu_enum("action.snap", "type", text="Snap") @@ -301,13 +294,12 @@ class DOPESHEET_MT_key(bpy.types.Menu): layout.operator("action.paste") -class DOPESHEET_MT_key_transform(bpy.types.Menu): +class DOPESHEET_MT_key_transform(Menu): bl_label = "Transform" def draw(self, context): layout = self.layout - layout.column() layout.operator("transform.transform", text="Grab/Move").mode = 'TIME_TRANSLATE' layout.operator("transform.transform", text="Extend").mode = 'TIME_EXTEND' layout.operator("transform.transform", text="Slide").mode = 'TIME_SLIDE' @@ -317,7 +309,7 @@ class DOPESHEET_MT_key_transform(bpy.types.Menu): ####################################### # Grease Pencil Editing -class DOPESHEET_MT_gpencil_channel(bpy.types.Menu): +class DOPESHEET_MT_gpencil_channel(Menu): bl_label = "Channel" def draw(self, context): @@ -325,7 +317,6 @@ class DOPESHEET_MT_gpencil_channel(bpy.types.Menu): layout.operator_context = 'INVOKE_REGION_CHANNELS' - layout.column() layout.operator("anim.channels_delete") layout.separator() @@ -345,13 +336,12 @@ class DOPESHEET_MT_gpencil_channel(bpy.types.Menu): #layout.operator_menu_enum("anim.channels_move", "direction", text="Move...") -class DOPESHEET_MT_gpencil_frame(bpy.types.Menu): +class DOPESHEET_MT_gpencil_frame(Menu): bl_label = "Frame" def draw(self, context): layout = self.layout - layout.column() layout.menu("DOPESHEET_MT_key_transform", text="Transform") #layout.operator_menu_enum("action.snap", "type", text="Snap") diff --git a/release/scripts/startup/bl_ui/space_filebrowser.py b/release/scripts/startup/bl_ui/space_filebrowser.py index 73fe1a97252..cf0d10c5844 100644 --- a/release/scripts/startup/bl_ui/space_filebrowser.py +++ b/release/scripts/startup/bl_ui/space_filebrowser.py @@ -18,9 +18,10 @@ # import bpy +from bpy.types import Header -class FILEBROWSER_HT_header(bpy.types.Header): +class FILEBROWSER_HT_header(Header): bl_space_type = 'FILE_BROWSER' def draw(self, context): diff --git a/release/scripts/startup/bl_ui/space_graph.py b/release/scripts/startup/bl_ui/space_graph.py index bfc1a0e3a23..c379ea95ea2 100644 --- a/release/scripts/startup/bl_ui/space_graph.py +++ b/release/scripts/startup/bl_ui/space_graph.py @@ -19,9 +19,10 @@ # import bpy +from bpy.types import Header, Menu -class GRAPH_HT_header(bpy.types.Header): +class GRAPH_HT_header(Header): bl_space_type = 'GRAPH_EDITOR' def draw(self, context): @@ -35,13 +36,11 @@ class GRAPH_HT_header(bpy.types.Header): row.template_header() if context.area.show_menus: - sub = row.row(align=True) - - sub.menu("GRAPH_MT_view") - sub.menu("GRAPH_MT_select") - sub.menu("GRAPH_MT_marker") - sub.menu("GRAPH_MT_channel") - sub.menu("GRAPH_MT_key") + row.menu("GRAPH_MT_view") + row.menu("GRAPH_MT_select") + row.menu("GRAPH_MT_marker") + row.menu("GRAPH_MT_channel") + row.menu("GRAPH_MT_key") layout.prop(st, "mode", text="") @@ -61,7 +60,7 @@ class GRAPH_HT_header(bpy.types.Header): row.operator("graph.ghost_curves_create", text="", icon='GHOST_ENABLED') -class GRAPH_MT_view(bpy.types.Menu): +class GRAPH_MT_view(Menu): bl_label = "View" def draw(self, context): @@ -69,8 +68,6 @@ class GRAPH_MT_view(bpy.types.Menu): st = context.space_data - layout.column() - layout.operator("graph.properties", icon='MENU_PANEL') layout.separator() @@ -107,13 +104,12 @@ class GRAPH_MT_view(bpy.types.Menu): layout.operator("screen.screen_full_area") -class GRAPH_MT_select(bpy.types.Menu): +class GRAPH_MT_select(Menu): bl_label = "Select" def draw(self, context): layout = self.layout - layout.column() # This is a bit misleading as the operator's default text is "Select All" while it actually *toggles* All/None layout.operator("graph.select_all_toggle") layout.operator("graph.select_all_toggle", text="Invert Selection").invert = True @@ -142,7 +138,7 @@ class GRAPH_MT_select(bpy.types.Menu): layout.operator("graph.select_linked") -class GRAPH_MT_marker(bpy.types.Menu): +class GRAPH_MT_marker(Menu): bl_label = "Marker" def draw(self, context): @@ -150,7 +146,6 @@ class GRAPH_MT_marker(bpy.types.Menu): #layout.operator_context = 'EXEC_REGION_WIN' - layout.column() layout.operator("marker.add", "Add Marker") layout.operator("marker.duplicate", text="Duplicate Marker") layout.operator("marker.delete", text="Delete Marker") @@ -163,7 +158,7 @@ class GRAPH_MT_marker(bpy.types.Menu): # TODO: pose markers for action edit mode only? -class GRAPH_MT_channel(bpy.types.Menu): +class GRAPH_MT_channel(Menu): bl_label = "Channel" def draw(self, context): @@ -171,7 +166,6 @@ class GRAPH_MT_channel(bpy.types.Menu): layout.operator_context = 'INVOKE_REGION_CHANNELS' - layout.column() layout.operator("anim.channels_delete") layout.separator() @@ -195,13 +189,12 @@ class GRAPH_MT_channel(bpy.types.Menu): layout.operator("anim.channels_fcurves_enable") -class GRAPH_MT_key(bpy.types.Menu): +class GRAPH_MT_key(Menu): bl_label = "Key" def draw(self, context): layout = self.layout - layout.column() layout.menu("GRAPH_MT_key_transform", text="Transform") layout.operator_menu_enum("graph.snap", "type", text="Snap") @@ -234,13 +227,12 @@ class GRAPH_MT_key(bpy.types.Menu): layout.operator("graph.euler_filter", text="Discontinuity (Euler) Filter") -class GRAPH_MT_key_transform(bpy.types.Menu): +class GRAPH_MT_key_transform(Menu): bl_label = "Transform" def draw(self, context): layout = self.layout - layout.column() layout.operator("transform.translate", text="Grab/Move") layout.operator("transform.transform", text="Extend").mode = 'TIME_EXTEND' layout.operator("transform.rotate", text="Rotate") diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py index fa5579ea2e0..5d72482ce9c 100644 --- a/release/scripts/startup/bl_ui/space_image.py +++ b/release/scripts/startup/bl_ui/space_image.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Header, Menu, Panel class BrushButtonsPanel(): @@ -31,7 +32,7 @@ class BrushButtonsPanel(): return sima.show_paint and toolsettings.brush -class IMAGE_MT_view(bpy.types.Menu): +class IMAGE_MT_view(Menu): bl_label = "View" def draw(self, context): @@ -79,7 +80,7 @@ class IMAGE_MT_view(bpy.types.Menu): layout.operator("screen.screen_full_area") -class IMAGE_MT_select(bpy.types.Menu): +class IMAGE_MT_select(Menu): bl_label = "Select" def draw(self, context): @@ -100,7 +101,7 @@ class IMAGE_MT_select(bpy.types.Menu): layout.operator("uv.select_linked") -class IMAGE_MT_image(bpy.types.Menu): +class IMAGE_MT_image(Menu): bl_label = "Image" def draw(self, context): @@ -151,7 +152,7 @@ class IMAGE_MT_image(bpy.types.Menu): layout.prop(sima, "use_image_paint") -class IMAGE_MT_image_invert(bpy.types.Menu): +class IMAGE_MT_image_invert(Menu): bl_label = "Invert" def draw(self, context): @@ -177,7 +178,7 @@ class IMAGE_MT_image_invert(bpy.types.Menu): op.invert_a = True -class IMAGE_MT_uvs_showhide(bpy.types.Menu): +class IMAGE_MT_uvs_showhide(Menu): bl_label = "Show/Hide Faces" def draw(self, context): @@ -188,7 +189,7 @@ class IMAGE_MT_uvs_showhide(bpy.types.Menu): layout.operator("uv.hide", text="Hide Unselected").unselected = True -class IMAGE_MT_uvs_transform(bpy.types.Menu): +class IMAGE_MT_uvs_transform(Menu): bl_label = "Transform" def draw(self, context): @@ -203,7 +204,7 @@ class IMAGE_MT_uvs_transform(bpy.types.Menu): layout.operator("transform.shear") -class IMAGE_MT_uvs_snap(bpy.types.Menu): +class IMAGE_MT_uvs_snap(Menu): bl_label = "Snap" def draw(self, context): @@ -220,7 +221,7 @@ class IMAGE_MT_uvs_snap(bpy.types.Menu): layout.operator("uv.snap_cursor", text="Cursor to Selected").target = 'SELECTED' -class IMAGE_MT_uvs_mirror(bpy.types.Menu): +class IMAGE_MT_uvs_mirror(Menu): bl_label = "Mirror" def draw(self, context): @@ -231,7 +232,7 @@ class IMAGE_MT_uvs_mirror(bpy.types.Menu): layout.operator("transform.mirror", text="Y Axis").constraint_axis[1] = True -class IMAGE_MT_uvs_weldalign(bpy.types.Menu): +class IMAGE_MT_uvs_weldalign(Menu): bl_label = "Weld/Align" def draw(self, context): @@ -241,7 +242,7 @@ class IMAGE_MT_uvs_weldalign(bpy.types.Menu): layout.operator_enum("uv.align", "axis") # W, 2/3/4 -class IMAGE_MT_uvs(bpy.types.Menu): +class IMAGE_MT_uvs(Menu): bl_label = "UVs" def draw(self, context): @@ -286,7 +287,7 @@ class IMAGE_MT_uvs(bpy.types.Menu): layout.menu("IMAGE_MT_uvs_showhide") -class IMAGE_MT_uvs_select_mode(bpy.types.Menu): +class IMAGE_MT_uvs_select_mode(Menu): bl_label = "UV Select Mode" def draw(self, context): @@ -328,7 +329,7 @@ class IMAGE_MT_uvs_select_mode(bpy.types.Menu): prop.data_path = "tool_settings.uv_select_mode" -class IMAGE_HT_header(bpy.types.Header): +class IMAGE_HT_header(Header): bl_space_type = 'IMAGE_EDITOR' def draw(self, context): @@ -412,7 +413,7 @@ class IMAGE_HT_header(bpy.types.Header): layout.prop(sima, "use_realtime_update", text="", icon_only=True, icon='LOCKED') -class IMAGE_PT_image_properties(bpy.types.Panel): +class IMAGE_PT_image_properties(Panel): bl_space_type = 'IMAGE_EDITOR' bl_region_type = 'UI' bl_label = "Image" @@ -431,7 +432,7 @@ class IMAGE_PT_image_properties(bpy.types.Panel): layout.template_image(sima, "image", iuser) -class IMAGE_PT_game_properties(bpy.types.Panel): +class IMAGE_PT_game_properties(Panel): bl_space_type = 'IMAGE_EDITOR' bl_region_type = 'UI' bl_label = "Game Properties" @@ -451,15 +452,13 @@ class IMAGE_PT_game_properties(bpy.types.Panel): split = layout.split() col = split.column() - + + col.prop(ima, "use_animation") sub = col.column(align=True) - sub.prop(ima, "use_animation") - - subsub = sub.column() - subsub.active = ima.use_animation - subsub.prop(ima, "frame_start", text="Start") - subsub.prop(ima, "frame_end", text="End") - subsub.prop(ima, "fps", text="Speed") + sub.active = ima.use_animation + sub.prop(ima, "frame_start", text="Start") + sub.prop(ima, "frame_end", text="End") + sub.prop(ima, "fps", text="Speed") col.prop(ima, "use_tiles") sub = col.column(align=True) @@ -475,7 +474,7 @@ class IMAGE_PT_game_properties(bpy.types.Panel): col.prop(ima, "mapping", expand=True) -class IMAGE_PT_view_histogram(bpy.types.Panel): +class IMAGE_PT_view_histogram(Panel): bl_space_type = 'IMAGE_EDITOR' bl_region_type = 'PREVIEW' bl_label = "Histogram" @@ -494,7 +493,7 @@ class IMAGE_PT_view_histogram(bpy.types.Panel): layout.prop(sima.scopes.histogram, "mode", icon_only=True) -class IMAGE_PT_view_waveform(bpy.types.Panel): +class IMAGE_PT_view_waveform(Panel): bl_space_type = 'IMAGE_EDITOR' bl_region_type = 'PREVIEW' bl_label = "Waveform" @@ -508,13 +507,14 @@ class IMAGE_PT_view_waveform(bpy.types.Panel): layout = self.layout sima = context.space_data + layout.template_waveform(sima, "scopes") - sub = layout.row().split(percentage=0.75) - sub.prop(sima.scopes, "waveform_alpha") - sub.prop(sima.scopes, "waveform_mode", text="", icon_only=True) + row = layout.split(percentage=0.75) + row.prop(sima.scopes, "waveform_alpha") + row.prop(sima.scopes, "waveform_mode", text="", icon_only=True) -class IMAGE_PT_view_vectorscope(bpy.types.Panel): +class IMAGE_PT_view_vectorscope(Panel): bl_space_type = 'IMAGE_EDITOR' bl_region_type = 'PREVIEW' bl_label = "Vectorscope" @@ -532,7 +532,7 @@ class IMAGE_PT_view_vectorscope(bpy.types.Panel): layout.prop(sima.scopes, "vectorscope_alpha") -class IMAGE_PT_sample_line(bpy.types.Panel): +class IMAGE_PT_sample_line(Panel): bl_space_type = 'IMAGE_EDITOR' bl_region_type = 'PREVIEW' bl_label = "Sample Line" @@ -544,13 +544,15 @@ class IMAGE_PT_sample_line(bpy.types.Panel): def draw(self, context): layout = self.layout - layout.operator("image.sample_line") + sima = context.space_data + + layout.operator("image.sample_line") layout.template_histogram(sima, "sample_histogram") layout.prop(sima.sample_histogram, "mode") -class IMAGE_PT_scope_sample(bpy.types.Panel): +class IMAGE_PT_scope_sample(Panel): bl_space_type = 'IMAGE_EDITOR' bl_region_type = 'PREVIEW' bl_label = "Scope Samples" @@ -562,16 +564,17 @@ class IMAGE_PT_scope_sample(bpy.types.Panel): def draw(self, context): layout = self.layout + sima = context.space_data - split = layout.split() - row = split.row() + + row = layout.row() row.prop(sima.scopes, "use_full_resolution") - row = split.row() - row.active = not sima.scopes.use_full_resolution - row.prop(sima.scopes, "accuracy") + sub = row.row() + sub.active = not sima.scopes.use_full_resolution + sub.prop(sima.scopes, "accuracy") -class IMAGE_PT_view_properties(bpy.types.Panel): +class IMAGE_PT_view_properties(Panel): bl_space_type = 'IMAGE_EDITOR' bl_region_type = 'UI' bl_label = "Display" @@ -608,16 +611,16 @@ class IMAGE_PT_view_properties(bpy.types.Panel): if show_uvedit: col = layout.column() - col.label("Cursor Location") - row = col.row() - row.prop(uvedit, "cursor_location", text="") - - col = layout.column() + col.label("Cursor Location:") + col.row().prop(uvedit, "cursor_location", text="") + + col.separator() + col.label(text="UVs:") - row = col.row() - row.prop(uvedit, "edge_draw_type", expand=True) + col.row().prop(uvedit, "edge_draw_type", expand=True) split = layout.split() + col = split.column() col.prop(uvedit, "show_faces") col.prop(uvedit, "show_smooth_edges", text="Smooth") @@ -630,7 +633,7 @@ class IMAGE_PT_view_properties(bpy.types.Panel): sub.row().prop(uvedit, "draw_stretch_type", expand=True) -class IMAGE_PT_paint(bpy.types.Panel): +class IMAGE_PT_paint(Panel): bl_space_type = 'IMAGE_EDITOR' bl_region_type = 'UI' bl_label = "Paint" @@ -646,9 +649,8 @@ class IMAGE_PT_paint(bpy.types.Panel): toolsettings = context.tool_settings.image_paint brush = toolsettings.brush - col = layout.split().column() - row = col.row() - col.template_ID_preview(toolsettings, "brush", new="brush.add", rows=3, cols=8) + col = layout.column() + col.template_ID_preview(toolsettings, "brush", new="brush.add", rows=2, cols=6) if brush: col = layout.column() @@ -675,7 +677,7 @@ class IMAGE_PT_paint(bpy.types.Panel): col.prop(brush, "clone_alpha", text="Alpha") -class IMAGE_PT_tools_brush_texture(BrushButtonsPanel, bpy.types.Panel): +class IMAGE_PT_tools_brush_texture(BrushButtonsPanel, Panel): bl_label = "Texture" bl_options = {'DEFAULT_CLOSED'} @@ -690,7 +692,7 @@ class IMAGE_PT_tools_brush_texture(BrushButtonsPanel, bpy.types.Panel): col.prop(brush, "use_fixed_texture") -class IMAGE_PT_tools_brush_tool(BrushButtonsPanel, bpy.types.Panel): +class IMAGE_PT_tools_brush_tool(BrushButtonsPanel, Panel): bl_label = "Tool" bl_options = {'DEFAULT_CLOSED'} @@ -699,9 +701,7 @@ class IMAGE_PT_tools_brush_tool(BrushButtonsPanel, bpy.types.Panel): settings = context.tool_settings.image_paint brush = settings.brush - col = layout.column(align=True) - - col.prop(brush, "image_tool", expand=False, text="") + layout.prop(brush, "image_tool", text="") row = layout.row(align=True) row.prop(brush, "use_paint_sculpt", text="", icon='SCULPTMODE_HLT') @@ -710,7 +710,7 @@ class IMAGE_PT_tools_brush_tool(BrushButtonsPanel, bpy.types.Panel): row.prop(brush, "use_paint_image", text="", icon='TPAINT_HLT') -class IMAGE_PT_paint_stroke(BrushButtonsPanel, bpy.types.Panel): +class IMAGE_PT_paint_stroke(BrushButtonsPanel, Panel): bl_label = "Paint Stroke" bl_options = {'DEFAULT_CLOSED'} @@ -721,9 +721,9 @@ class IMAGE_PT_paint_stroke(BrushButtonsPanel, bpy.types.Panel): brush = toolsettings.brush layout.prop(brush, "use_airbrush") - col = layout.column() - col.active = brush.use_airbrush - col.prop(brush, "rate", slider=True) + row = layout.row() + row.active = brush.use_airbrush + row.prop(brush, "rate", slider=True) layout.prop(brush, "use_space") row = layout.row(align=True) @@ -734,7 +734,7 @@ class IMAGE_PT_paint_stroke(BrushButtonsPanel, bpy.types.Panel): layout.prop(brush, "use_wrap") -class IMAGE_PT_paint_curve(BrushButtonsPanel, bpy.types.Panel): +class IMAGE_PT_paint_curve(BrushButtonsPanel, Panel): bl_label = "Paint Curve" bl_options = {'DEFAULT_CLOSED'} diff --git a/release/scripts/startup/bl_ui/space_info.py b/release/scripts/startup/bl_ui/space_info.py index f66cee7f431..38c1e24f27e 100644 --- a/release/scripts/startup/bl_ui/space_info.py +++ b/release/scripts/startup/bl_ui/space_info.py @@ -18,9 +18,10 @@ # import bpy +from bpy.types import Header, Menu, Operator -class INFO_HT_header(bpy.types.Header): +class INFO_HT_header(Header): bl_space_type = 'INFO' def draw(self, context): @@ -86,19 +87,19 @@ class INFO_HT_header(bpy.types.Header): """ -class INFO_MT_report(bpy.types.Menu): +class INFO_MT_report(Menu): bl_label = "Report" def draw(self, context): layout = self.layout - layout.column() + layout.operator("console.select_all_toggle") layout.operator("console.select_border") layout.operator("console.report_delete") layout.operator("console.report_copy") -class INFO_MT_file(bpy.types.Menu): +class INFO_MT_file(Menu): bl_label = "File" def draw(self, context): @@ -152,7 +153,7 @@ class INFO_MT_file(bpy.types.Menu): layout.operator("wm.quit_blender", text="Quit", icon='QUIT') -class INFO_MT_file_import(bpy.types.Menu): +class INFO_MT_file_import(Menu): bl_idname = "INFO_MT_file_import" bl_label = "Import" @@ -161,7 +162,7 @@ class INFO_MT_file_import(bpy.types.Menu): self.layout.operator("wm.collada_import", text="COLLADA (.dae)") -class INFO_MT_file_export(bpy.types.Menu): +class INFO_MT_file_export(Menu): bl_idname = "INFO_MT_file_export" bl_label = "Export" @@ -170,7 +171,7 @@ class INFO_MT_file_export(bpy.types.Menu): self.layout.operator("wm.collada_export", text="COLLADA (.dae)") -class INFO_MT_file_external_data(bpy.types.Menu): +class INFO_MT_file_external_data(Menu): bl_label = "External Data" def draw(self, context): @@ -187,12 +188,13 @@ class INFO_MT_file_external_data(bpy.types.Menu): layout.operator("file.find_missing_files") -class INFO_MT_mesh_add(bpy.types.Menu): +class INFO_MT_mesh_add(Menu): bl_idname = "INFO_MT_mesh_add" bl_label = "Mesh" def draw(self, context): layout = self.layout + layout.operator_context = 'INVOKE_REGION_WIN' layout.operator("mesh.primitive_plane_add", icon='MESH_PLANE', text="Plane") layout.operator("mesh.primitive_cube_add", icon='MESH_CUBE', text="Cube") @@ -207,12 +209,13 @@ class INFO_MT_mesh_add(bpy.types.Menu): layout.operator("mesh.primitive_torus_add", text="Torus", icon='MESH_TORUS') -class INFO_MT_curve_add(bpy.types.Menu): +class INFO_MT_curve_add(Menu): bl_idname = "INFO_MT_curve_add" bl_label = "Curve" def draw(self, context): layout = self.layout + layout.operator_context = 'INVOKE_REGION_WIN' layout.operator("curve.primitive_bezier_curve_add", icon='CURVE_BEZCURVE', text="Bezier") layout.operator("curve.primitive_bezier_circle_add", icon='CURVE_BEZCIRCLE', text="Circle") @@ -221,7 +224,7 @@ class INFO_MT_curve_add(bpy.types.Menu): layout.operator("curve.primitive_nurbs_path_add", icon='CURVE_PATH', text="Path") -class INFO_MT_edit_curve_add(bpy.types.Menu): +class INFO_MT_edit_curve_add(Menu): bl_idname = "INFO_MT_edit_curve_add" bl_label = "Add" @@ -237,12 +240,13 @@ class INFO_MT_edit_curve_add(bpy.types.Menu): INFO_MT_curve_add.draw(self, context) -class INFO_MT_surface_add(bpy.types.Menu): +class INFO_MT_surface_add(Menu): bl_idname = "INFO_MT_surface_add" bl_label = "Surface" def draw(self, context): layout = self.layout + layout.operator_context = 'INVOKE_REGION_WIN' layout.operator("surface.primitive_nurbs_surface_curve_add", icon='SURFACE_NCURVE', text="NURBS Curve") layout.operator("surface.primitive_nurbs_surface_circle_add", icon='SURFACE_NCIRCLE', text="NURBS Circle") @@ -252,17 +256,18 @@ class INFO_MT_surface_add(bpy.types.Menu): layout.operator("surface.primitive_nurbs_surface_torus_add", icon='SURFACE_NTORUS', text="NURBS Torus") -class INFO_MT_armature_add(bpy.types.Menu): +class INFO_MT_armature_add(Menu): bl_idname = "INFO_MT_armature_add" bl_label = "Armature" def draw(self, context): layout = self.layout + layout.operator_context = 'INVOKE_REGION_WIN' layout.operator("object.armature_add", text="Single Bone", icon='BONE_DATA') -class INFO_MT_add(bpy.types.Menu): +class INFO_MT_add(Menu): bl_label = "Add" def draw(self, context): @@ -302,7 +307,7 @@ class INFO_MT_add(bpy.types.Menu): layout.operator_menu_enum("object.group_instance_add", "group", text="Group Instance", icon='OUTLINER_OB_EMPTY') -class INFO_MT_game(bpy.types.Menu): +class INFO_MT_game(Menu): bl_label = "Game" def draw(self, context): @@ -323,7 +328,7 @@ class INFO_MT_game(bpy.types.Menu): layout.prop(gs, "use_auto_start") -class INFO_MT_render(bpy.types.Menu): +class INFO_MT_render(Menu): bl_label = "Render" def draw(self, context): @@ -343,7 +348,7 @@ class INFO_MT_render(bpy.types.Menu): layout.operator("render.play_rendered_anim") -class INFO_MT_help(bpy.types.Menu): +class INFO_MT_help(Menu): bl_label = "Help" def draw(self, context): @@ -352,7 +357,7 @@ class INFO_MT_help(bpy.types.Menu): layout = self.layout layout.operator("wm.url_open", text="Manual", icon='HELP').url = 'http://wiki.blender.org/index.php/Doc:Manual' - layout.operator("wm.url_open", text="Release Log", icon='URL').url = 'http://www.blender.org/development/release-logs/blender-258/' + layout.operator("wm.url_open", text="Release Log", icon='URL').url = 'http://www.blender.org/development/release-logs/blender-259/' layout.separator() @@ -379,7 +384,7 @@ class INFO_MT_help(bpy.types.Menu): # Help operators -class HELP_OT_operator_cheat_sheet(bpy.types.Operator): +class HELP_OT_operator_cheat_sheet(Operator): bl_idname = "help.operator_cheat_sheet" bl_label = "Operator Cheat Sheet" diff --git a/release/scripts/startup/bl_ui/space_logic.py b/release/scripts/startup/bl_ui/space_logic.py index 7f7aba71a46..869a91124d3 100644 --- a/release/scripts/startup/bl_ui/space_logic.py +++ b/release/scripts/startup/bl_ui/space_logic.py @@ -18,9 +18,10 @@ # import bpy +from bpy.types import Header, Menu, Panel -class LOGIC_PT_properties(bpy.types.Panel): +class LOGIC_PT_properties(Panel): bl_space_type = 'LOGIC_EDITOR' bl_region_type = 'UI' bl_label = "Properties" @@ -49,7 +50,7 @@ class LOGIC_PT_properties(bpy.types.Panel): row.operator("object.game_property_remove", text="", icon='X', emboss=False).index = i -class LOGIC_MT_logicbricks_add(bpy.types.Menu): +class LOGIC_MT_logicbricks_add(Menu): bl_label = "Add" def draw(self, context): @@ -60,30 +61,24 @@ class LOGIC_MT_logicbricks_add(bpy.types.Menu): layout.operator_menu_enum("logic.actuator_add", "type", text="Actuator") -class LOGIC_HT_header(bpy.types.Header): +class LOGIC_HT_header(Header): bl_space_type = 'LOGIC_EDITOR' def draw(self, context): - layout = self.layout + layout = self.layout.row(align=True) - row = layout.row(align=True) - row.template_header() + layout.template_header() if context.area.show_menus: - sub = row.row(align=True) - sub.menu("LOGIC_MT_view") - #sub.menu("LOGIC_MT_select") - #sub.menu("LOGIC_MT_add") + layout.menu("LOGIC_MT_view") -class LOGIC_MT_view(bpy.types.Menu): +class LOGIC_MT_view(Menu): bl_label = "View" def draw(self, context): layout = self.layout - layout.column() - layout.operator("logic.properties", icon='MENU_PANEL') if __name__ == "__main__": # only for live edit. diff --git a/release/scripts/startup/bl_ui/space_nla.py b/release/scripts/startup/bl_ui/space_nla.py index 717adb3baa8..c69af2c9a60 100644 --- a/release/scripts/startup/bl_ui/space_nla.py +++ b/release/scripts/startup/bl_ui/space_nla.py @@ -19,9 +19,10 @@ # import bpy +from bpy.types import Header, Menu -class NLA_HT_header(bpy.types.Header): +class NLA_HT_header(Header): bl_space_type = 'NLA_EDITOR' def draw(self, context): @@ -35,20 +36,18 @@ class NLA_HT_header(bpy.types.Header): row.template_header() if context.area.show_menus: - sub = row.row(align=True) - - sub.menu("NLA_MT_view") - sub.menu("NLA_MT_select") - sub.menu("NLA_MT_marker") - sub.menu("NLA_MT_edit") - sub.menu("NLA_MT_add") + row.menu("NLA_MT_view") + row.menu("NLA_MT_select") + row.menu("NLA_MT_marker") + row.menu("NLA_MT_edit") + row.menu("NLA_MT_add") dopesheet_filter(layout, context) layout.prop(st, "auto_snap", text="") -class NLA_MT_view(bpy.types.Menu): +class NLA_MT_view(Menu): bl_label = "View" def draw(self, context): @@ -56,8 +55,6 @@ class NLA_MT_view(bpy.types.Menu): st = context.space_data - layout.column() - layout.operator("nla.properties", icon='MENU_PANEL') layout.separator() @@ -78,13 +75,12 @@ class NLA_MT_view(bpy.types.Menu): layout.operator("screen.screen_full_area") -class NLA_MT_select(bpy.types.Menu): +class NLA_MT_select(Menu): bl_label = "Select" def draw(self, context): layout = self.layout - layout.column() # This is a bit misleading as the operator's default text is "Select All" while it actually *toggles* All/None layout.operator("nla.select_all_toggle") layout.operator("nla.select_all_toggle", text="Invert Selection").invert = True @@ -98,7 +94,7 @@ class NLA_MT_select(bpy.types.Menu): layout.operator("nla.select_leftright", text="After Current Frame").mode = 'RIGHT' -class NLA_MT_marker(bpy.types.Menu): +class NLA_MT_marker(Menu): bl_label = "Marker" def draw(self, context): @@ -106,7 +102,6 @@ class NLA_MT_marker(bpy.types.Menu): #layout.operator_context = 'EXEC_REGION_WIN' - layout.column() layout.operator("marker.add", "Add Marker") layout.operator("marker.duplicate", text="Duplicate Marker") layout.operator("marker.delete", text="Delete Marker") @@ -117,7 +112,7 @@ class NLA_MT_marker(bpy.types.Menu): layout.operator("marker.move", text="Grab/Move Marker") -class NLA_MT_edit(bpy.types.Menu): +class NLA_MT_edit(Menu): bl_label = "Edit" def draw(self, context): @@ -125,7 +120,6 @@ class NLA_MT_edit(bpy.types.Menu): scene = context.scene - layout.column() layout.menu("NLA_MT_edit_transform", text="Transform") layout.operator_menu_enum("nla.snap", "type", text="Snap") @@ -160,13 +154,12 @@ class NLA_MT_edit(bpy.types.Menu): layout.operator("nla.tweakmode_enter", text="Start Tweaking Strip Actions") -class NLA_MT_add(bpy.types.Menu): +class NLA_MT_add(Menu): bl_label = "Add" def draw(self, context): layout = self.layout - layout.column() layout.operator("nla.actionclip_add") layout.operator("nla.transition_add") @@ -179,13 +172,12 @@ class NLA_MT_add(bpy.types.Menu): layout.operator("nla.tracks_add", text="Add Tracks Above Selected").above_selected = True -class NLA_MT_edit_transform(bpy.types.Menu): +class NLA_MT_edit_transform(Menu): bl_label = "Transform" def draw(self, context): layout = self.layout - layout.column() layout.operator("transform.translate", text="Grab/Move") layout.operator("transform.transform", text="Extend").mode = 'TIME_EXTEND' layout.operator("transform.transform", text="Scale").mode = 'TIME_SCALE' diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py index abeee984fac..96744cf1969 100644 --- a/release/scripts/startup/bl_ui/space_node.py +++ b/release/scripts/startup/bl_ui/space_node.py @@ -18,28 +18,29 @@ # import bpy +from bpy.types import Header, Menu, Panel -class NODE_HT_header(bpy.types.Header): +class NODE_HT_header(Header): bl_space_type = 'NODE_EDITOR' def draw(self, context): layout = self.layout snode = context.space_data + snode_id = snode.id + id_from = snode.id_from row = layout.row(align=True) row.template_header() if context.area.show_menus: - sub = row.row(align=True) - sub.menu("NODE_MT_view") - sub.menu("NODE_MT_select") - sub.menu("NODE_MT_add") - sub.menu("NODE_MT_node") + row.menu("NODE_MT_view") + row.menu("NODE_MT_select") + row.menu("NODE_MT_add") + row.menu("NODE_MT_node") - row = layout.row() - row.prop(snode, "tree_type", text="", expand=True) + layout.prop(snode, "tree_type", text="", expand=True) if snode.tree_type == 'SHADER': row.prop(snode, "shader_type", text="", expand=True) @@ -53,10 +54,8 @@ class NODE_HT_header(bpy.types.Header): layout.prop(snode_id, "use_nodes") elif snode.tree_type == 'TEXTURE': - row.prop(snode, "texture_type", text="", expand=True) + layout.prop(snode, "texture_type", text="", expand=True) - snode_id = snode.id - id_from = snode.id_from if id_from: if snode.texture_type == 'BRUSH': layout.template_ID(id_from, "texture", new="texture.new") @@ -66,10 +65,8 @@ class NODE_HT_header(bpy.types.Header): layout.prop(snode_id, "use_nodes") elif snode.tree_type == 'COMPOSITING': - scene = snode.id - - layout.prop(scene, "use_nodes") - layout.prop(scene.render, "use_free_unused_nodes", text="Free Unused") + layout.prop(snode_id, "use_nodes") + layout.prop(snode_id.render, "use_free_unused_nodes", text="Free Unused") layout.prop(snode, "show_backdrop") if snode.show_backdrop: row = layout.row(align=True) @@ -81,7 +78,7 @@ class NODE_HT_header(bpy.types.Header): layout.template_running_jobs() -class NODE_MT_view(bpy.types.Menu): +class NODE_MT_view(Menu): bl_label = "View" def draw(self, context): @@ -110,7 +107,7 @@ class NODE_MT_view(bpy.types.Menu): layout.operator("screen.screen_full_area") -class NODE_MT_select(bpy.types.Menu): +class NODE_MT_select(Menu): bl_label = "Select" def draw(self, context): @@ -127,7 +124,7 @@ class NODE_MT_select(bpy.types.Menu): layout.operator("node.select_same_type_prev") -class NODE_MT_node(bpy.types.Menu): +class NODE_MT_node(Menu): bl_label = "Node" def draw(self, context): @@ -168,7 +165,7 @@ class NODE_MT_node(bpy.types.Menu): # Node Backdrop options -class NODE_PT_properties(bpy.types.Panel): +class NODE_PT_properties(Panel): bl_space_type = 'NODE_EDITOR' bl_region_type = 'UI' bl_label = "Backdrop" diff --git a/release/scripts/startup/bl_ui/space_outliner.py b/release/scripts/startup/bl_ui/space_outliner.py index 1f196cbd191..b1e6eaf3245 100644 --- a/release/scripts/startup/bl_ui/space_outliner.py +++ b/release/scripts/startup/bl_ui/space_outliner.py @@ -18,9 +18,10 @@ # import bpy +from bpy.types import Header, Menu -class OUTLINER_HT_header(bpy.types.Header): +class OUTLINER_HT_header(Header): bl_space_type = 'OUTLINER' def draw(self, context): @@ -63,7 +64,7 @@ class OUTLINER_HT_header(bpy.types.Header): row.label(text="No Keying Set active") -class OUTLINER_MT_view(bpy.types.Menu): +class OUTLINER_MT_view(Menu): bl_label = "View" def draw(self, context): @@ -71,14 +72,13 @@ class OUTLINER_MT_view(bpy.types.Menu): space = context.space_data - col = layout.column() if space.display_mode not in {'DATABLOCKS', 'USER_PREFERENCES', 'KEYMAPS'}: - col.prop(space, "show_restrict_columns") - col.separator() - col.operator("outliner.show_active") + layout.prop(space, "show_restrict_columns") + layout.separator() + layout.operator("outliner.show_active") - col.operator("outliner.show_one_level") - col.operator("outliner.show_hierarchy") + layout.operator("outliner.show_one_level") + layout.operator("outliner.show_hierarchy") layout.separator() @@ -86,7 +86,7 @@ class OUTLINER_MT_view(bpy.types.Menu): layout.operator("screen.screen_full_area") -class OUTLINER_MT_search(bpy.types.Menu): +class OUTLINER_MT_search(Menu): bl_label = "Search" def draw(self, context): @@ -94,27 +94,23 @@ class OUTLINER_MT_search(bpy.types.Menu): space = context.space_data - col = layout.column() - - col.prop(space, "use_filter_case_sensitive") - col.prop(space, "use_filter_complete") + layout.prop(space, "use_filter_case_sensitive") + layout.prop(space, "use_filter_complete") -class OUTLINER_MT_edit_datablocks(bpy.types.Menu): +class OUTLINER_MT_edit_datablocks(Menu): bl_label = "Edit" def draw(self, context): layout = self.layout - col = layout.column() + layout.operator("outliner.keyingset_add_selected") + layout.operator("outliner.keyingset_remove_selected") - col.operator("outliner.keyingset_add_selected") - col.operator("outliner.keyingset_remove_selected") + layout.separator() - col.separator() - - col.operator("outliner.drivers_add_selected") - col.operator("outliner.drivers_delete_selected") + layout.operator("outliner.drivers_add_selected") + layout.operator("outliner.drivers_delete_selected") if __name__ == "__main__": # only for live edit. bpy.utils.register_module(__name__) diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py index c477a2ff62b..84cc365425e 100644 --- a/release/scripts/startup/bl_ui/space_sequencer.py +++ b/release/scripts/startup/bl_ui/space_sequencer.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Header, Menu, Panel def act_strip(context): @@ -27,7 +28,7 @@ def act_strip(context): return None -class SEQUENCER_HT_header(bpy.types.Header): +class SEQUENCER_HT_header(Header): bl_space_type = 'SEQUENCE_EDITOR' def draw(self, context): @@ -39,14 +40,13 @@ class SEQUENCER_HT_header(bpy.types.Header): row.template_header() if context.area.show_menus: - sub = row.row(align=True) - sub.menu("SEQUENCER_MT_view") + row.menu("SEQUENCER_MT_view") if st.view_type in {'SEQUENCER', 'SEQUENCER_PREVIEW'}: - sub.menu("SEQUENCER_MT_select") - sub.menu("SEQUENCER_MT_marker") - sub.menu("SEQUENCER_MT_add") - sub.menu("SEQUENCER_MT_strip") + row.menu("SEQUENCER_MT_select") + row.menu("SEQUENCER_MT_marker") + row.menu("SEQUENCER_MT_add") + row.menu("SEQUENCER_MT_strip") layout.prop(st, "view_type", expand=True, text="") @@ -76,7 +76,7 @@ class SEQUENCER_HT_header(bpy.types.Header): row.prop(ed, "overlay_lock", text="", icon='LOCKED') -class SEQUENCER_MT_view_toggle(bpy.types.Menu): +class SEQUENCER_MT_view_toggle(Menu): bl_label = "View Type" def draw(self, context): @@ -87,7 +87,7 @@ class SEQUENCER_MT_view_toggle(bpy.types.Menu): layout.operator("sequencer.view_toggle").type = 'SEQUENCER_PREVIEW' -class SEQUENCER_MT_view(bpy.types.Menu): +class SEQUENCER_MT_view(Menu): bl_label = "View" def draw(self, context): @@ -95,8 +95,6 @@ class SEQUENCER_MT_view(bpy.types.Menu): st = context.space_data - layout.column() - layout.operator("sequencer.properties", icon='MENU_PANEL') layout.separator() @@ -129,13 +127,12 @@ class SEQUENCER_MT_view(bpy.types.Menu): layout.operator("screen.screen_full_area") -class SEQUENCER_MT_select(bpy.types.Menu): +class SEQUENCER_MT_select(Menu): bl_label = "Select" def draw(self, context): layout = self.layout - layout.column() layout.operator("sequencer.select_active_side", text="Strips to the Left").side = 'LEFT' layout.operator("sequencer.select_active_side", text="Strips to the Right").side = 'RIGHT' layout.separator() @@ -148,7 +145,7 @@ class SEQUENCER_MT_select(bpy.types.Menu): layout.operator("sequencer.select_inverse") -class SEQUENCER_MT_marker(bpy.types.Menu): +class SEQUENCER_MT_marker(Menu): bl_label = "Marker" def draw(self, context): @@ -156,7 +153,6 @@ class SEQUENCER_MT_marker(bpy.types.Menu): #layout.operator_context = 'EXEC_REGION_WIN' - layout.column() layout.operator("marker.add", "Add Marker") layout.operator("marker.duplicate", text="Duplicate Marker") layout.operator("marker.delete", text="Delete Marker") @@ -169,14 +165,26 @@ class SEQUENCER_MT_marker(bpy.types.Menu): #layout.operator("sequencer.sound_strip_add", text="Transform Markers") # toggle, will be rna - (sseq->flag & SEQ_MARKER_TRANS) -class SEQUENCER_MT_add(bpy.types.Menu): +class SEQUENCER_MT_change(Menu): + bl_label = "Change" + + def draw(self, context): + layout = self.layout + + layout.operator_context = 'INVOKE_REGION_WIN' + + layout.operator_menu_enum("sequencer.change_effect_input", "swap") + layout.operator_menu_enum("sequencer.change_effect_type", "type") + layout.operator("sequencer.change_path", text="Path/Files") + + +class SEQUENCER_MT_add(Menu): bl_label = "Add" def draw(self, context): layout = self.layout layout.operator_context = 'INVOKE_REGION_WIN' - layout.column() if len(bpy.data.scenes) > 10: layout.operator_context = 'INVOKE_DEFAULT' layout.operator("sequencer.scene_strip_add", text="Scene...") @@ -190,14 +198,13 @@ class SEQUENCER_MT_add(bpy.types.Menu): layout.menu("SEQUENCER_MT_add_effect") -class SEQUENCER_MT_add_effect(bpy.types.Menu): +class SEQUENCER_MT_add_effect(Menu): bl_label = "Effect Strip..." def draw(self, context): layout = self.layout layout.operator_context = 'INVOKE_REGION_WIN' - layout.column() layout.operator("sequencer.effect_strip_add", text="Add").type = 'ADD' layout.operator("sequencer.effect_strip_add", text="Subtract").type = 'SUBTRACT' layout.operator("sequencer.effect_strip_add", text="Alpha Over").type = 'ALPHA_OVER' @@ -216,7 +223,7 @@ class SEQUENCER_MT_add_effect(bpy.types.Menu): layout.operator("sequencer.effect_strip_add", text="Adjustment Layer").type = 'ADJUSTMENT' -class SEQUENCER_MT_strip(bpy.types.Menu): +class SEQUENCER_MT_strip(Menu): bl_label = "Strip" def draw(self, context): @@ -224,7 +231,6 @@ class SEQUENCER_MT_strip(bpy.types.Menu): layout.operator_context = 'INVOKE_REGION_WIN' - layout.column() layout.operator("transform.transform", text="Grab/Move").mode = 'TRANSLATION' layout.operator("transform.transform", text="Grab/Extend from frame").mode = 'TIME_EXTEND' # uiItemO(layout, NULL, 0, "sequencer.strip_snap"); // TODO - add this operator @@ -233,6 +239,7 @@ class SEQUENCER_MT_strip(bpy.types.Menu): layout.operator("sequencer.cut", text="Cut (hard) at frame").type = 'HARD' layout.operator("sequencer.cut", text="Cut (soft) at frame").type = 'SOFT' layout.operator("sequencer.images_separate") + layout.operator("sequencer.offset_clear") layout.operator("sequencer.deinterlace_selected_movies") layout.separator() @@ -292,6 +299,7 @@ class SEQUENCER_MT_strip(bpy.types.Menu): layout.separator() layout.operator("sequencer.swap_data") + layout.menu("SEQUENCER_MT_change") class SequencerButtonsPanel(): @@ -320,7 +328,7 @@ class SequencerButtonsPanel_Output(): return cls.has_preview(context) -class SEQUENCER_PT_edit(SequencerButtonsPanel, bpy.types.Panel): +class SEQUENCER_PT_edit(SequencerButtonsPanel, Panel): bl_label = "Edit Strip" def draw(self, context): @@ -374,9 +382,11 @@ class SEQUENCER_PT_edit(SequencerButtonsPanel, bpy.types.Panel): if elem and elem.orig_width > 0 and elem.orig_height > 0: col.label(text="Orig Dim: %dx%d" % (elem.orig_width, elem.orig_height)) + else: + col.label(text="Orig Dim: None") -class SEQUENCER_PT_effect(SequencerButtonsPanel, bpy.types.Panel): +class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel): bl_label = "Effect Strip" @classmethod @@ -514,7 +524,7 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, bpy.types.Panel): col.prop(strip, "rotation_start", text="Rotation") -class SEQUENCER_PT_input(SequencerButtonsPanel, bpy.types.Panel): +class SEQUENCER_PT_input(SequencerButtonsPanel, Panel): bl_label = "Strip Input" @classmethod @@ -558,6 +568,9 @@ class SEQUENCER_PT_input(SequencerButtonsPanel, bpy.types.Panel): col = split.column() col.prop(elem, "filename", text="") # strip.elements[0] could be a fallback + # also accessible from the menu + layout.operator("sequencer.change_path") + elif seq_type == 'MOVIE': split = layout.split(percentage=0.2) col = split.column() @@ -595,7 +608,7 @@ class SEQUENCER_PT_input(SequencerButtonsPanel, bpy.types.Panel): col.prop(strip, "frame_offset_end", text="End") -class SEQUENCER_PT_sound(SequencerButtonsPanel, bpy.types.Panel): +class SEQUENCER_PT_sound(SequencerButtonsPanel, Panel): bl_label = "Sound" @classmethod @@ -636,7 +649,7 @@ class SEQUENCER_PT_sound(SequencerButtonsPanel, bpy.types.Panel): col.prop(strip, "animation_offset_end", text="End") -class SEQUENCER_PT_scene(SequencerButtonsPanel, bpy.types.Panel): +class SEQUENCER_PT_scene(SequencerButtonsPanel, Panel): bl_label = "Scene" @classmethod @@ -670,7 +683,7 @@ class SEQUENCER_PT_scene(SequencerButtonsPanel, bpy.types.Panel): layout.label(text="Original frame range: %d-%d (%d)" % (sta, end, end - sta + 1)) -class SEQUENCER_PT_filter(SequencerButtonsPanel, bpy.types.Panel): +class SEQUENCER_PT_filter(SequencerButtonsPanel, Panel): bl_label = "Filter" @classmethod @@ -732,7 +745,7 @@ class SEQUENCER_PT_filter(SequencerButtonsPanel, bpy.types.Panel): col.prop(strip.color_balance, "invert_gain", text="Inverse") -class SEQUENCER_PT_proxy(SequencerButtonsPanel, bpy.types.Panel): +class SEQUENCER_PT_proxy(SequencerButtonsPanel, Panel): bl_label = "Proxy" @classmethod @@ -766,7 +779,7 @@ class SEQUENCER_PT_proxy(SequencerButtonsPanel, bpy.types.Panel): flow.prop(strip.proxy, "filepath") -class SEQUENCER_PT_preview(SequencerButtonsPanel_Output, bpy.types.Panel): +class SEQUENCER_PT_preview(SequencerButtonsPanel_Output, Panel): bl_label = "Scene Preview/Render" bl_space_type = 'SEQUENCE_EDITOR' bl_region_type = 'UI' @@ -791,7 +804,7 @@ class SEQUENCER_PT_preview(SequencerButtonsPanel_Output, bpy.types.Panel): ''' -class SEQUENCER_PT_view(SequencerButtonsPanel_Output, bpy.types.Panel): +class SEQUENCER_PT_view(SequencerButtonsPanel_Output, Panel): bl_label = "View Settings" def draw(self, context): diff --git a/release/scripts/startup/bl_ui/space_text.py b/release/scripts/startup/bl_ui/space_text.py index b787fc5cf75..300211a26bf 100644 --- a/release/scripts/startup/bl_ui/space_text.py +++ b/release/scripts/startup/bl_ui/space_text.py @@ -18,9 +18,10 @@ # import bpy +from bpy.types import Header, Menu, Panel -class TEXT_HT_header(bpy.types.Header): +class TEXT_HT_header(Header): bl_space_type = 'TEXT_EDITOR' def draw(self, context): @@ -74,7 +75,7 @@ class TEXT_HT_header(bpy.types.Header): else "Text: Internal") -class TEXT_PT_properties(bpy.types.Panel): +class TEXT_PT_properties(Panel): bl_space_type = 'TEXT_EDITOR' bl_region_type = 'UI' bl_label = "Properties" @@ -105,7 +106,7 @@ class TEXT_PT_properties(bpy.types.Panel): col.prop(st, "margin_column") -class TEXT_PT_find(bpy.types.Panel): +class TEXT_PT_find(Panel): bl_space_type = 'TEXT_EDITOR' bl_region_type = 'UI' bl_label = "Find" @@ -139,7 +140,7 @@ class TEXT_PT_find(bpy.types.Panel): row.prop(st, "use_find_all", text="All") -class TEXT_MT_view(bpy.types.Menu): +class TEXT_MT_view(Menu): bl_label = "View" def draw(self, context): @@ -162,7 +163,7 @@ class TEXT_MT_view(bpy.types.Menu): ).type = 'FILE_BOTTOM' -class TEXT_MT_text(bpy.types.Menu): +class TEXT_MT_text(Menu): bl_label = "Text" def draw(self, context): @@ -171,7 +172,6 @@ class TEXT_MT_text(bpy.types.Menu): st = context.space_data text = st.text - layout.column() layout.operator("text.new") layout.operator("text.open") @@ -188,13 +188,8 @@ class TEXT_MT_text(bpy.types.Menu): layout.column() layout.operator("text.run_script") - #ifdef WITH_PYTHON - # XXX if(BPY_is_pyconstraint(text)) - # XXX uiMenuItemO(head, 0, "text.refresh_pyconstraints"); - #endif - -class TEXT_MT_templates(bpy.types.Menu): +class TEXT_MT_templates(Menu): bl_label = "Templates" def draw(self, context): @@ -204,7 +199,7 @@ class TEXT_MT_templates(bpy.types.Menu): ) -class TEXT_MT_edit_select(bpy.types.Menu): +class TEXT_MT_edit_select(Menu): bl_label = "Select" def draw(self, context): @@ -214,7 +209,7 @@ class TEXT_MT_edit_select(bpy.types.Menu): layout.operator("text.select_line") -class TEXT_MT_edit_markers(bpy.types.Menu): +class TEXT_MT_edit_markers(Menu): bl_label = "Markers" def draw(self, context): @@ -225,7 +220,7 @@ class TEXT_MT_edit_markers(bpy.types.Menu): layout.operator("text.previous_marker") -class TEXT_MT_format(bpy.types.Menu): +class TEXT_MT_format(Menu): bl_label = "Format" def draw(self, context): @@ -244,7 +239,7 @@ class TEXT_MT_format(bpy.types.Menu): layout.operator_menu_enum("text.convert_whitespace", "type") -class TEXT_MT_edit_to3d(bpy.types.Menu): +class TEXT_MT_edit_to3d(Menu): bl_label = "Text To 3D Object" def draw(self, context): @@ -258,7 +253,7 @@ class TEXT_MT_edit_to3d(bpy.types.Menu): ).split_lines = True -class TEXT_MT_edit(bpy.types.Menu): +class TEXT_MT_edit(Menu): bl_label = "Edit" @classmethod @@ -292,7 +287,7 @@ class TEXT_MT_edit(bpy.types.Menu): layout.menu("TEXT_MT_edit_to3d") -class TEXT_MT_toolbox(bpy.types.Menu): +class TEXT_MT_toolbox(Menu): bl_label = "" def draw(self, context): diff --git a/release/scripts/startup/bl_ui/space_time.py b/release/scripts/startup/bl_ui/space_time.py index 7e62465d1ee..db009fe43c2 100644 --- a/release/scripts/startup/bl_ui/space_time.py +++ b/release/scripts/startup/bl_ui/space_time.py @@ -18,9 +18,10 @@ # import bpy +from bpy.types import Header, Menu -class TIME_HT_header(bpy.types.Header): +class TIME_HT_header(Header): bl_space_type = 'TIMELINE' def draw(self, context): @@ -34,10 +35,9 @@ class TIME_HT_header(bpy.types.Header): row.template_header() if context.area.show_menus: - sub = row.row(align=True) - sub.menu("TIME_MT_view") - sub.menu("TIME_MT_frame") - sub.menu("TIME_MT_playback") + row.menu("TIME_MT_view") + row.menu("TIME_MT_frame") + row.menu("TIME_MT_playback") layout.prop(scene, "use_preview_range", text="", toggle=True) @@ -91,7 +91,7 @@ class TIME_HT_header(bpy.types.Header): row.operator("anim.keyframe_delete", text="", icon='KEY_DEHLT') -class TIME_MT_view(bpy.types.Menu): +class TIME_MT_view(Menu): bl_label = "View" def draw(self, context): @@ -116,7 +116,7 @@ class TIME_MT_view(bpy.types.Menu): layout.operator("marker.camera_bind") -class TIME_MT_cache(bpy.types.Menu): +class TIME_MT_cache(Menu): bl_label = "Cache" def draw(self, context): @@ -136,7 +136,7 @@ class TIME_MT_cache(bpy.types.Menu): col.prop(st, "cache_smoke") -class TIME_MT_frame(bpy.types.Menu): +class TIME_MT_frame(Menu): bl_label = "Frame" def draw(self, context): @@ -162,7 +162,7 @@ class TIME_MT_frame(bpy.types.Menu): sub.menu("TIME_MT_autokey") -class TIME_MT_playback(bpy.types.Menu): +class TIME_MT_playback(Menu): bl_label = "Playback" def draw(self, context): @@ -187,7 +187,7 @@ class TIME_MT_playback(bpy.types.Menu): layout.prop(scene, "use_audio_scrub") -class TIME_MT_autokey(bpy.types.Menu): +class TIME_MT_autokey(Menu): bl_label = "Auto-Keyframing Mode" def draw(self, context): diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py index e6fd8dcb949..148338368fe 100644 --- a/release/scripts/startup/bl_ui/space_userpref.py +++ b/release/scripts/startup/bl_ui/space_userpref.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Header, Menu, Operator, Panel import os import addon_utils @@ -75,7 +76,7 @@ def opengl_lamp_buttons(column, lamp): col.prop(lamp, "direction", text="") -class USERPREF_HT_header(bpy.types.Header): +class USERPREF_HT_header(Header): bl_space_type = 'USER_PREFERENCES' def draw(self, context): @@ -99,7 +100,7 @@ class USERPREF_HT_header(bpy.types.Header): layout.operator("ui.reset_default_theme") -class USERPREF_PT_tabs(bpy.types.Panel): +class USERPREF_PT_tabs(Panel): bl_label = "" bl_space_type = 'USER_PREFERENCES' bl_region_type = 'WINDOW' @@ -113,14 +114,14 @@ class USERPREF_PT_tabs(bpy.types.Panel): layout.prop(userpref, "active_section", expand=True) -class USERPREF_MT_interaction_presets(bpy.types.Menu): +class USERPREF_MT_interaction_presets(Menu): bl_label = "Presets" preset_subdir = "interaction" preset_operator = "script.execute_preset" - draw = bpy.types.Menu.draw_preset + draw = Menu.draw_preset -class USERPREF_MT_appconfigs(bpy.types.Menu): +class USERPREF_MT_appconfigs(Menu): bl_label = "AppPresets" preset_subdir = "keyconfig" preset_operator = "wm.appconfig_activate" @@ -129,10 +130,10 @@ class USERPREF_MT_appconfigs(bpy.types.Menu): self.layout.operator("wm.appconfig_default", text="Blender (default)") # now draw the presets - bpy.types.Menu.draw_preset(self, context) + Menu.draw_preset(self, context) -class USERPREF_MT_splash(bpy.types.Menu): +class USERPREF_MT_splash(Menu): bl_label = "Splash" def draw(self, context): @@ -149,7 +150,7 @@ class USERPREF_MT_splash(bpy.types.Menu): row.menu("USERPREF_MT_appconfigs", text="Preset") -class USERPREF_PT_interface(bpy.types.Panel): +class USERPREF_PT_interface(Panel): bl_space_type = 'USER_PREFERENCES' bl_label = "Interface" bl_region_type = 'WINDOW' @@ -246,7 +247,7 @@ class USERPREF_PT_interface(bpy.types.Panel): col.prop(view, "show_splash") -class USERPREF_PT_edit(bpy.types.Panel): +class USERPREF_PT_edit(Panel): bl_space_type = 'USER_PREFERENCES' bl_label = "Edit" bl_region_type = 'WINDOW' @@ -359,7 +360,7 @@ class USERPREF_PT_edit(bpy.types.Panel): col.prop(edit, "use_duplicate_particle", text="Particle") -class USERPREF_PT_system(bpy.types.Panel): +class USERPREF_PT_system(Panel): bl_space_type = 'USER_PREFERENCES' bl_label = "System" bl_region_type = 'WINDOW' @@ -496,7 +497,7 @@ class USERPREF_PT_system(bpy.types.Panel): sub.template_color_ramp(system, "weight_color_range", expand=True) -class USERPREF_PT_theme(bpy.types.Panel): +class USERPREF_PT_theme(Panel): bl_space_type = 'USER_PREFERENCES' bl_label = "Themes" bl_region_type = 'WINDOW' @@ -679,7 +680,7 @@ class USERPREF_PT_theme(bpy.types.Panel): self._theme_generic(split, getattr(theme, theme.theme_area.lower())) -class USERPREF_PT_file(bpy.types.Panel): +class USERPREF_PT_file(Panel): bl_space_type = 'USER_PREFERENCES' bl_label = "Files" bl_region_type = 'WINDOW' @@ -755,7 +756,7 @@ class USERPREF_PT_file(bpy.types.Panel): from bl_ui.space_userpref_keymap import InputKeyMapPanel -class USERPREF_MT_ndof_settings(bpy.types.Menu): +class USERPREF_MT_ndof_settings(Menu): # accessed from the window keybindings in C (only) bl_label = "3D Mouse Settings" @@ -780,7 +781,7 @@ class USERPREF_MT_ndof_settings(bpy.types.Menu): layout.prop(input_prefs, "ndof_lock_horizon", icon='NDOF_DOM') -class USERPREF_PT_input(bpy.types.Panel, InputKeyMapPanel): +class USERPREF_PT_input(Panel, InputKeyMapPanel): bl_space_type = 'USER_PREFERENCES' bl_label = "Input" @@ -870,7 +871,7 @@ class USERPREF_PT_input(bpy.types.Panel, InputKeyMapPanel): #print("runtime", time.time() - start) -class USERPREF_MT_addons_dev_guides(bpy.types.Menu): +class USERPREF_MT_addons_dev_guides(Menu): bl_label = "Development Guides" # menu to open webpages with addons development guides @@ -881,7 +882,7 @@ class USERPREF_MT_addons_dev_guides(bpy.types.Menu): layout.operator('wm.url_open', text='How to share your addon', icon='URL').url = 'http://wiki.blender.org/index.php/Dev:Py/Sharing' -class USERPREF_PT_addons(bpy.types.Panel): +class USERPREF_PT_addons(Panel): bl_space_type = 'USER_PREFERENCES' bl_label = "Addons" bl_region_type = 'WINDOW' @@ -1071,28 +1072,36 @@ class USERPREF_PT_addons(bpy.types.Panel): row.operator("wm.addon_disable", icon='CHECKBOX_HLT', text="", emboss=False).module = module_name -class WM_OT_addon_enable(bpy.types.Operator): +class WM_OT_addon_enable(Operator): "Enable an addon" bl_idname = "wm.addon_enable" bl_label = "Enable Add-On" - module = StringProperty(name="Module", description="Module name of the addon to enable") + module = StringProperty( + name="Module", + description="Module name of the addon to enable", + ) def execute(self, context): mod = addon_utils.enable(self.module) if mod: - # check if add-on is written for current blender version, or raise a warning info = addon_utils.module_bl_info(mod) - if info.get("blender", (0, 0, 0)) > bpy.app.version: - self.report("WARNING','This script was written for a newer version of Blender and might not function (correctly).\nThe script is enabled though.") + info_ver = info.get("blender", (0, 0, 0)) + + if info_ver > bpy.app.version: + self.report({'WARNING'}, ("This script was written Blender " + "version %d.%d.%d and might not " + "function (correctly).\n" + "The script is enabled though.") % + info_ver) return {'FINISHED'} else: return {'CANCELLED'} -class WM_OT_addon_disable(bpy.types.Operator): +class WM_OT_addon_disable(Operator): "Disable an addon" bl_idname = "wm.addon_disable" bl_label = "Disable Add-On" @@ -1104,7 +1113,7 @@ class WM_OT_addon_disable(bpy.types.Operator): return {'FINISHED'} -class WM_OT_addon_install(bpy.types.Operator): +class WM_OT_addon_install(Operator): "Install an addon" bl_idname = "wm.addon_install" bl_label = "Install Add-On..." @@ -1250,7 +1259,7 @@ class WM_OT_addon_install(bpy.types.Operator): return {'RUNNING_MODAL'} -class WM_OT_addon_remove(bpy.types.Operator): +class WM_OT_addon_remove(Operator): "Disable an addon" bl_idname = "wm.addon_remove" bl_label = "Remove Add-On" @@ -1298,7 +1307,7 @@ class WM_OT_addon_remove(bpy.types.Operator): return wm.invoke_props_dialog(self, width=600) -class WM_OT_addon_expand(bpy.types.Operator): +class WM_OT_addon_expand(Operator): "Display more information on this add-on" bl_idname = "wm.addon_expand" bl_label = "" diff --git a/release/scripts/startup/bl_ui/space_userpref_keymap.py b/release/scripts/startup/bl_ui/space_userpref_keymap.py index 5658cc96281..6a81ff5830e 100644 --- a/release/scripts/startup/bl_ui/space_userpref_keymap.py +++ b/release/scripts/startup/bl_ui/space_userpref_keymap.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Menu, Operator, OperatorProperties import os @@ -124,7 +125,7 @@ def _merge_keymaps(kc1, kc2): return merged_keymaps -class USERPREF_MT_keyconfigs(bpy.types.Menu): +class USERPREF_MT_keyconfigs(Menu): bl_label = "KeyPresets" preset_subdir = "keyconfig" preset_operator = "wm.keyconfig_activate" @@ -135,7 +136,7 @@ class USERPREF_MT_keyconfigs(bpy.types.Menu): props.value = "context.window_manager.keyconfigs.default" # now draw the presets - bpy.types.Menu.draw_preset(self, context) + Menu.draw_preset(self, context) class InputKeyMapPanel: @@ -232,7 +233,7 @@ class InputKeyMapPanel: flow = box.column_flow(columns=2) for pname, value in properties.bl_rna.properties.items(): if pname != "rna_type" and not properties.is_property_hidden(pname): - if isinstance(value, bpy.types.OperatorProperties): + if isinstance(value, OperatorProperties): InputKeyMapPanel.draw_kmi_properties(box, value, title=pname) else: flow.prop(properties, pname) @@ -410,7 +411,7 @@ def export_properties(prefix, properties, lines=None): for pname in properties.bl_rna.properties.keys(): if pname != "rna_type" and not properties.is_property_hidden(pname): value = getattr(properties, pname) - if isinstance(value, bpy.types.OperatorProperties): + if isinstance(value, OperatorProperties): export_properties(prefix + "." + pname, value, lines) elif properties.is_property_set(pname): value = _string_value(value) @@ -419,7 +420,7 @@ def export_properties(prefix, properties, lines=None): return lines -class WM_OT_keyconfig_test(bpy.types.Operator): +class WM_OT_keyconfig_test(Operator): "Test keyconfig for conflicts" bl_idname = "wm.keyconfig_test" bl_label = "Test Key Configuration for Conflicts" @@ -527,7 +528,7 @@ def _string_value(value): return result -class WM_OT_keyconfig_import(bpy.types.Operator): +class WM_OT_keyconfig_import(Operator): "Import key configuration from a python script" bl_idname = "wm.keyconfig_import" bl_label = "Import Key Configuration..." @@ -542,22 +543,24 @@ class WM_OT_keyconfig_import(bpy.types.Operator): def execute(self, context): from os.path import basename import shutil - if not self.filepath: - raise Exception("Filepath not set") - f = open(self.filepath, "r") - if not f: - raise Exception("Could not open file") + if not self.filepath: + self.report({'ERROR'}, "Filepath not set") + return {'CANCELLED'} config_name = basename(self.filepath) path = bpy.utils.user_resource('SCRIPTS', os.path.join("presets", "keyconfig"), create=True) path = os.path.join(path, config_name) - if self.keep_original: - shutil.copy(self.filepath, path) - else: - shutil.move(self.filepath, path) + try: + if self.keep_original: + shutil.copy(self.filepath, path) + else: + shutil.move(self.filepath, path) + except Exception as e: + self.report({'ERROR'}, "Installing keymap failed: %s" % e) + return {'CANCELLED'} # sneaky way to check we're actually running the code. bpy.utils.keyconfig_set(path) @@ -572,7 +575,7 @@ class WM_OT_keyconfig_import(bpy.types.Operator): # This operator is also used by interaction presets saving - AddPresetBase -class WM_OT_keyconfig_export(bpy.types.Operator): +class WM_OT_keyconfig_export(Operator): "Export key configuration to a python script" bl_idname = "wm.keyconfig_export" bl_label = "Export Key Configuration..." @@ -665,7 +668,7 @@ class WM_OT_keyconfig_export(bpy.types.Operator): return {'RUNNING_MODAL'} -class WM_OT_keymap_restore(bpy.types.Operator): +class WM_OT_keymap_restore(Operator): "Restore key map(s)" bl_idname = "wm.keymap_restore" bl_label = "Restore Key Map(s)" @@ -685,7 +688,7 @@ class WM_OT_keymap_restore(bpy.types.Operator): return {'FINISHED'} -class WM_OT_keyitem_restore(bpy.types.Operator): +class WM_OT_keyitem_restore(Operator): "Restore key map item" bl_idname = "wm.keyitem_restore" bl_label = "Restore Key Map Item" @@ -707,7 +710,7 @@ class WM_OT_keyitem_restore(bpy.types.Operator): return {'FINISHED'} -class WM_OT_keyitem_add(bpy.types.Operator): +class WM_OT_keyitem_add(Operator): "Add key map item" bl_idname = "wm.keyitem_add" bl_label = "Add Key Map Item" @@ -729,7 +732,7 @@ class WM_OT_keyitem_add(bpy.types.Operator): return {'FINISHED'} -class WM_OT_keyitem_remove(bpy.types.Operator): +class WM_OT_keyitem_remove(Operator): "Remove key map item" bl_idname = "wm.keyitem_remove" bl_label = "Remove Key Map Item" @@ -747,7 +750,7 @@ class WM_OT_keyitem_remove(bpy.types.Operator): return {'FINISHED'} -class WM_OT_keyconfig_remove(bpy.types.Operator): +class WM_OT_keyconfig_remove(Operator): "Remove key config" bl_idname = "wm.keyconfig_remove" bl_label = "Remove Key Config" diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index 17b631ae50c..3a28cd30947 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -18,9 +18,10 @@ # import bpy +from bpy.types import Header, Menu, Operator, Panel -class VIEW3D_HT_header(bpy.types.Header): +class VIEW3D_HT_header(Header): bl_space_type = 'VIEW_3D' def draw(self, context): @@ -128,7 +129,7 @@ class ShowHideMenu(): layout.operator("%s.hide" % self._operator_name, text="Hide Unselected").unselected = True -class VIEW3D_MT_transform(bpy.types.Menu): +class VIEW3D_MT_transform(Menu): bl_label = "Transform" # TODO: get rid of the custom text strings? @@ -180,7 +181,7 @@ class VIEW3D_MT_transform(bpy.types.Menu): layout.operator("object.align") -class VIEW3D_MT_mirror(bpy.types.Menu): +class VIEW3D_MT_mirror(Menu): bl_label = "Mirror" def draw(self, context): @@ -218,7 +219,7 @@ class VIEW3D_MT_mirror(bpy.types.Menu): layout.operator("object.vertex_group_mirror") -class VIEW3D_MT_snap(bpy.types.Menu): +class VIEW3D_MT_snap(Menu): bl_label = "Snap" def draw(self, context): @@ -235,7 +236,7 @@ class VIEW3D_MT_snap(bpy.types.Menu): layout.operator("view3d.snap_cursor_to_active", text="Cursor to Active") -class VIEW3D_MT_uv_map(bpy.types.Menu): +class VIEW3D_MT_uv_map(Menu): bl_label = "UV Mapping" def draw(self, context): @@ -268,7 +269,7 @@ class VIEW3D_MT_uv_map(bpy.types.Menu): # ********** View menus ********** -class VIEW3D_MT_view(bpy.types.Menu): +class VIEW3D_MT_view(Menu): bl_label = "View" def draw(self, context): @@ -327,7 +328,7 @@ class VIEW3D_MT_view(bpy.types.Menu): layout.operator("screen.screen_full_area") -class VIEW3D_MT_view_navigation(bpy.types.Menu): +class VIEW3D_MT_view_navigation(Menu): bl_label = "Navigation" def draw(self, context): @@ -350,7 +351,7 @@ class VIEW3D_MT_view_navigation(bpy.types.Menu): layout.operator("view3d.fly") -class VIEW3D_MT_view_align(bpy.types.Menu): +class VIEW3D_MT_view_align(Menu): bl_label = "Align View" def draw(self, context): @@ -366,7 +367,7 @@ class VIEW3D_MT_view_align(bpy.types.Menu): layout.operator("view3d.view_center_cursor") -class VIEW3D_MT_view_align_selected(bpy.types.Menu): +class VIEW3D_MT_view_align_selected(Menu): bl_label = "Align View to Selected" def draw(self, context): @@ -392,7 +393,7 @@ class VIEW3D_MT_view_align_selected(bpy.types.Menu): props.type = 'LEFT' -class VIEW3D_MT_view_cameras(bpy.types.Menu): +class VIEW3D_MT_view_cameras(Menu): bl_label = "Cameras" def draw(self, context): @@ -404,7 +405,7 @@ class VIEW3D_MT_view_cameras(bpy.types.Menu): # ********** Select menus, suffix from context.mode ********** -class VIEW3D_MT_select_object(bpy.types.Menu): +class VIEW3D_MT_select_object(Menu): bl_label = "Select" def draw(self, context): @@ -430,7 +431,7 @@ class VIEW3D_MT_select_object(bpy.types.Menu): layout.operator("object.select_pattern", text="Select Pattern...") -class VIEW3D_MT_select_pose(bpy.types.Menu): +class VIEW3D_MT_select_pose(Menu): bl_label = "Select" def draw(self, context): @@ -467,7 +468,7 @@ class VIEW3D_MT_select_pose(bpy.types.Menu): layout.operator("object.select_pattern", text="Select Pattern...") -class VIEW3D_MT_select_particle(bpy.types.Menu): +class VIEW3D_MT_select_particle(Menu): bl_label = "Select" def draw(self, context): @@ -492,7 +493,7 @@ class VIEW3D_MT_select_particle(bpy.types.Menu): layout.operator("particle.select_tips", text="Tips") -class VIEW3D_MT_select_edit_mesh(bpy.types.Menu): +class VIEW3D_MT_select_edit_mesh(Menu): bl_label = "Select" def draw(self, context): @@ -544,7 +545,7 @@ class VIEW3D_MT_select_edit_mesh(bpy.types.Menu): layout.operator("mesh.region_to_loop") -class VIEW3D_MT_select_edit_curve(bpy.types.Menu): +class VIEW3D_MT_select_edit_curve(Menu): bl_label = "Select" def draw(self, context): @@ -573,7 +574,7 @@ class VIEW3D_MT_select_edit_curve(bpy.types.Menu): layout.operator("curve.select_less") -class VIEW3D_MT_select_edit_surface(bpy.types.Menu): +class VIEW3D_MT_select_edit_surface(Menu): bl_label = "Select" def draw(self, context): @@ -599,7 +600,7 @@ class VIEW3D_MT_select_edit_surface(bpy.types.Menu): layout.operator("curve.select_less") -class VIEW3D_MT_select_edit_metaball(bpy.types.Menu): +class VIEW3D_MT_select_edit_metaball(Menu): bl_label = "Select" def draw(self, context): @@ -617,7 +618,7 @@ class VIEW3D_MT_select_edit_metaball(bpy.types.Menu): layout.operator("mball.select_random_metaelems") -class VIEW3D_MT_select_edit_lattice(bpy.types.Menu): +class VIEW3D_MT_select_edit_lattice(Menu): bl_label = "Select" def draw(self, context): @@ -630,7 +631,7 @@ class VIEW3D_MT_select_edit_lattice(bpy.types.Menu): layout.operator("lattice.select_all", text="Select/Deselect All") -class VIEW3D_MT_select_edit_armature(bpy.types.Menu): +class VIEW3D_MT_select_edit_armature(Menu): bl_label = "Select" def draw(self, context): @@ -661,7 +662,7 @@ class VIEW3D_MT_select_edit_armature(bpy.types.Menu): layout.operator("object.select_pattern", text="Select Pattern...") -class VIEW3D_MT_select_face(bpy.types.Menu): # XXX no matching enum +class VIEW3D_MT_select_face(Menu): # XXX no matching enum bl_label = "Select" def draw(self, context): @@ -674,7 +675,7 @@ class VIEW3D_MT_select_face(bpy.types.Menu): # XXX no matching enum # ********** Object menu ********** -class VIEW3D_MT_object(bpy.types.Menu): +class VIEW3D_MT_object(Menu): bl_context = "objectmode" bl_label = "Object" @@ -732,7 +733,7 @@ class VIEW3D_MT_object(bpy.types.Menu): layout.operator_menu_enum("object.convert", "target") -class VIEW3D_MT_object_animation(bpy.types.Menu): +class VIEW3D_MT_object_animation(Menu): bl_label = "Animation" def draw(self, context): @@ -743,7 +744,7 @@ class VIEW3D_MT_object_animation(bpy.types.Menu): layout.operator("anim.keying_set_active_set", text="Change Keying Set...") -class VIEW3D_MT_object_clear(bpy.types.Menu): +class VIEW3D_MT_object_clear(Menu): bl_label = "Clear" def draw(self, context): @@ -755,7 +756,7 @@ class VIEW3D_MT_object_clear(bpy.types.Menu): layout.operator("object.origin_clear", text="Origin") -class VIEW3D_MT_object_specials(bpy.types.Menu): +class VIEW3D_MT_object_specials(Menu): bl_label = "Specials" @classmethod @@ -850,7 +851,7 @@ class VIEW3D_MT_object_specials(bpy.types.Menu): props = layout.operator("object.hide_render_clear_all") -class VIEW3D_MT_object_apply(bpy.types.Menu): +class VIEW3D_MT_object_apply(Menu): bl_label = "Apply" def draw(self, context): @@ -869,7 +870,7 @@ class VIEW3D_MT_object_apply(bpy.types.Menu): layout.operator("object.duplicates_make_real") -class VIEW3D_MT_object_parent(bpy.types.Menu): +class VIEW3D_MT_object_parent(Menu): bl_label = "Parent" def draw(self, context): @@ -879,7 +880,7 @@ class VIEW3D_MT_object_parent(bpy.types.Menu): layout.operator("object.parent_clear", text="Clear") -class VIEW3D_MT_object_track(bpy.types.Menu): +class VIEW3D_MT_object_track(Menu): bl_label = "Track" def draw(self, context): @@ -889,7 +890,7 @@ class VIEW3D_MT_object_track(bpy.types.Menu): layout.operator("object.track_clear", text="Clear") -class VIEW3D_MT_object_group(bpy.types.Menu): +class VIEW3D_MT_object_group(Menu): bl_label = "Group" def draw(self, context): @@ -904,7 +905,7 @@ class VIEW3D_MT_object_group(bpy.types.Menu): layout.operator("group.objects_remove_active") -class VIEW3D_MT_object_constraints(bpy.types.Menu): +class VIEW3D_MT_object_constraints(Menu): bl_label = "Constraints" def draw(self, context): @@ -915,7 +916,7 @@ class VIEW3D_MT_object_constraints(bpy.types.Menu): layout.operator("object.constraints_clear") -class VIEW3D_MT_object_showhide(bpy.types.Menu): +class VIEW3D_MT_object_showhide(Menu): bl_label = "Show/Hide" def draw(self, context): @@ -926,7 +927,7 @@ class VIEW3D_MT_object_showhide(bpy.types.Menu): layout.operator("object.hide_view_set", text="Hide Unselected").unselected = True -class VIEW3D_MT_make_single_user(bpy.types.Menu): +class VIEW3D_MT_make_single_user(Menu): bl_label = "Make Single User" def draw(self, context): @@ -948,7 +949,7 @@ class VIEW3D_MT_make_single_user(bpy.types.Menu): props.animation = True -class VIEW3D_MT_make_links(bpy.types.Menu): +class VIEW3D_MT_make_links(Menu): bl_label = "Make Links" def draw(self, context): @@ -965,7 +966,7 @@ class VIEW3D_MT_make_links(bpy.types.Menu): layout.operator_enum("object.make_links_data", "type") # inline -class VIEW3D_MT_object_game(bpy.types.Menu): +class VIEW3D_MT_object_game(Menu): bl_label = "Game" def draw(self, context): @@ -987,7 +988,7 @@ class VIEW3D_MT_object_game(bpy.types.Menu): # ********** Vertex paint menu ********** -class VIEW3D_MT_paint_vertex(bpy.types.Menu): +class VIEW3D_MT_paint_vertex(Menu): bl_label = "Paint" def draw(self, context): @@ -1002,7 +1003,7 @@ class VIEW3D_MT_paint_vertex(bpy.types.Menu): layout.operator("paint.vertex_color_dirt") -class VIEW3D_MT_hook(bpy.types.Menu): +class VIEW3D_MT_hook(Menu): bl_label = "Hooks" def draw(self, context): @@ -1021,7 +1022,7 @@ class VIEW3D_MT_hook(bpy.types.Menu): layout.operator_menu_enum("object.hook_recenter", "modifier") -class VIEW3D_MT_vertex_group(bpy.types.Menu): +class VIEW3D_MT_vertex_group(Menu): bl_label = "Vertex Groups" def draw(self, context): @@ -1046,7 +1047,7 @@ class VIEW3D_MT_vertex_group(bpy.types.Menu): # ********** Weight paint menu ********** -class VIEW3D_MT_paint_weight(bpy.types.Menu): +class VIEW3D_MT_paint_weight(Menu): bl_label = "Weights" def draw(self, context): @@ -1076,7 +1077,7 @@ class VIEW3D_MT_paint_weight(bpy.types.Menu): # ********** Sculpt menu ********** -class VIEW3D_MT_sculpt(bpy.types.Menu): +class VIEW3D_MT_sculpt(Menu): bl_label = "Sculpt" def draw(self, context): @@ -1126,7 +1127,7 @@ class VIEW3D_MT_sculpt(bpy.types.Menu): # ********** Particle menu ********** -class VIEW3D_MT_particle(bpy.types.Menu): +class VIEW3D_MT_particle(Menu): bl_label = "Particle" def draw(self, context): @@ -1158,7 +1159,7 @@ class VIEW3D_MT_particle(bpy.types.Menu): layout.menu("VIEW3D_MT_particle_showhide") -class VIEW3D_MT_particle_specials(bpy.types.Menu): +class VIEW3D_MT_particle_specials(Menu): bl_label = "Specials" def draw(self, context): @@ -1176,13 +1177,13 @@ class VIEW3D_MT_particle_specials(bpy.types.Menu): layout.operator("particle.remove_doubles") -class VIEW3D_MT_particle_showhide(ShowHideMenu, bpy.types.Menu): +class VIEW3D_MT_particle_showhide(ShowHideMenu, Menu): _operator_name = "particle" # ********** Pose Menu ********** -class VIEW3D_MT_pose(bpy.types.Menu): +class VIEW3D_MT_pose(Menu): bl_label = "Pose" def draw(self, context): @@ -1251,7 +1252,7 @@ class VIEW3D_MT_pose(bpy.types.Menu): layout.menu("VIEW3D_MT_bone_options_toggle", text="Bone Settings") -class VIEW3D_MT_pose_transform(bpy.types.Menu): +class VIEW3D_MT_pose_transform(Menu): bl_label = "Clear Transform" def draw(self, context): @@ -1266,7 +1267,7 @@ class VIEW3D_MT_pose_transform(bpy.types.Menu): layout.label(text="Origin") -class VIEW3D_MT_pose_slide(bpy.types.Menu): +class VIEW3D_MT_pose_slide(Menu): bl_label = "In-Betweens" def draw(self, context): @@ -1277,7 +1278,7 @@ class VIEW3D_MT_pose_slide(bpy.types.Menu): layout.operator("pose.breakdown") -class VIEW3D_MT_pose_propagate(bpy.types.Menu): +class VIEW3D_MT_pose_propagate(Menu): bl_label = "Propagate" def draw(self, context): @@ -1295,7 +1296,7 @@ class VIEW3D_MT_pose_propagate(bpy.types.Menu): layout.operator("pose.propagate", text="On Selected Markers").mode = 'SELECTED_MARKERS' -class VIEW3D_MT_pose_library(bpy.types.Menu): +class VIEW3D_MT_pose_library(Menu): bl_label = "Pose Library" def draw(self, context): @@ -1310,7 +1311,7 @@ class VIEW3D_MT_pose_library(bpy.types.Menu): layout.operator("poselib.pose_remove", text="Remove Pose...") -class VIEW3D_MT_pose_motion(bpy.types.Menu): +class VIEW3D_MT_pose_motion(Menu): bl_label = "Motion Paths" def draw(self, context): @@ -1320,7 +1321,7 @@ class VIEW3D_MT_pose_motion(bpy.types.Menu): layout.operator("pose.paths_clear", text="Clear") -class VIEW3D_MT_pose_group(bpy.types.Menu): +class VIEW3D_MT_pose_group(Menu): bl_label = "Bone Groups" def draw(self, context): @@ -1334,7 +1335,7 @@ class VIEW3D_MT_pose_group(bpy.types.Menu): layout.operator("pose.group_unassign") -class VIEW3D_MT_pose_ik(bpy.types.Menu): +class VIEW3D_MT_pose_ik(Menu): bl_label = "Inverse Kinematics" def draw(self, context): @@ -1344,7 +1345,7 @@ class VIEW3D_MT_pose_ik(bpy.types.Menu): layout.operator("pose.ik_clear") -class VIEW3D_MT_pose_constraints(bpy.types.Menu): +class VIEW3D_MT_pose_constraints(Menu): bl_label = "Constraints" def draw(self, context): @@ -1355,11 +1356,11 @@ class VIEW3D_MT_pose_constraints(bpy.types.Menu): layout.operator("pose.constraints_clear") -class VIEW3D_MT_pose_showhide(ShowHideMenu, bpy.types.Menu): +class VIEW3D_MT_pose_showhide(ShowHideMenu, Menu): _operator_name = "pose" -class VIEW3D_MT_pose_apply(bpy.types.Menu): +class VIEW3D_MT_pose_apply(Menu): bl_label = "Apply" def draw(self, context): @@ -1398,24 +1399,24 @@ class BoneOptions: props.type = self.type -class VIEW3D_MT_bone_options_toggle(bpy.types.Menu, BoneOptions): +class VIEW3D_MT_bone_options_toggle(Menu, BoneOptions): bl_label = "Toggle Bone Options" type = 'TOGGLE' -class VIEW3D_MT_bone_options_enable(bpy.types.Menu, BoneOptions): +class VIEW3D_MT_bone_options_enable(Menu, BoneOptions): bl_label = "Enable Bone Options" type = 'ENABLE' -class VIEW3D_MT_bone_options_disable(bpy.types.Menu, BoneOptions): +class VIEW3D_MT_bone_options_disable(Menu, BoneOptions): bl_label = "Disable Bone Options" type = 'DISABLE' # ********** Edit Menus, suffix from ob.type ********** -class VIEW3D_MT_edit_mesh(bpy.types.Menu): +class VIEW3D_MT_edit_mesh(Menu): bl_label = "Mesh" def draw(self, context): @@ -1462,7 +1463,7 @@ class VIEW3D_MT_edit_mesh(bpy.types.Menu): layout.menu("VIEW3D_MT_edit_mesh_showhide") -class VIEW3D_MT_edit_mesh_specials(bpy.types.Menu): +class VIEW3D_MT_edit_mesh_specials(Menu): bl_label = "Specials" def draw(self, context): @@ -1487,7 +1488,7 @@ class VIEW3D_MT_edit_mesh_specials(bpy.types.Menu): layout.operator("mesh.select_vertex_path") -class VIEW3D_MT_edit_mesh_select_mode(bpy.types.Menu): +class VIEW3D_MT_edit_mesh_select_mode(Menu): bl_label = "Mesh Select Mode" def draw(self, context): @@ -1508,7 +1509,7 @@ class VIEW3D_MT_edit_mesh_select_mode(bpy.types.Menu): prop.data_path = "tool_settings.mesh_select_mode" -class VIEW3D_MT_edit_mesh_extrude(bpy.types.Menu): +class VIEW3D_MT_edit_mesh_extrude(Menu): bl_label = "Extrude" _extrude_funcs = { \ @@ -1542,7 +1543,7 @@ class VIEW3D_MT_edit_mesh_extrude(bpy.types.Menu): self._extrude_funcs[menu_id](layout) -class VIEW3D_OT_edit_mesh_extrude_individual_move(bpy.types.Operator): +class VIEW3D_OT_edit_mesh_extrude_individual_move(Operator): "Extrude individual elements and move" bl_label = "Extrude Individual and Move" bl_idname = "view3d.edit_mesh_extrude_individual_move" @@ -1571,7 +1572,7 @@ class VIEW3D_OT_edit_mesh_extrude_individual_move(bpy.types.Operator): return self.execute(context) -class VIEW3D_OT_edit_mesh_extrude_move(bpy.types.Operator): +class VIEW3D_OT_edit_mesh_extrude_move(Operator): "Extrude and move along normals" bl_label = "Extrude and Move on Normals" bl_idname = "view3d.edit_mesh_extrude_move_normal" @@ -1597,7 +1598,7 @@ class VIEW3D_OT_edit_mesh_extrude_move(bpy.types.Operator): return self.execute(context) -class VIEW3D_MT_edit_mesh_vertices(bpy.types.Menu): +class VIEW3D_MT_edit_mesh_vertices(Menu): bl_label = "Vertices" def draw(self, context): @@ -1629,7 +1630,7 @@ class VIEW3D_MT_edit_mesh_vertices(bpy.types.Menu): layout.menu("VIEW3D_MT_hook") -class VIEW3D_MT_edit_mesh_edges(bpy.types.Menu): +class VIEW3D_MT_edit_mesh_edges(Menu): bl_label = "Edges" def draw(self, context): @@ -1669,7 +1670,7 @@ class VIEW3D_MT_edit_mesh_edges(bpy.types.Menu): layout.operator("mesh.region_to_loop") -class VIEW3D_MT_edit_mesh_faces(bpy.types.Menu): +class VIEW3D_MT_edit_mesh_faces(Menu): bl_label = "Faces" bl_idname = "VIEW3D_MT_edit_mesh_faces" @@ -1717,7 +1718,7 @@ class VIEW3D_MT_edit_mesh_faces(bpy.types.Menu): layout.operator_menu_enum("mesh.colors_mirror", "axis") -class VIEW3D_MT_edit_mesh_normals(bpy.types.Menu): +class VIEW3D_MT_edit_mesh_normals(Menu): bl_label = "Normals" def draw(self, context): @@ -1731,7 +1732,7 @@ class VIEW3D_MT_edit_mesh_normals(bpy.types.Menu): layout.operator("mesh.flip_normals") -class VIEW3D_MT_edit_mesh_showhide(ShowHideMenu, bpy.types.Menu): +class VIEW3D_MT_edit_mesh_showhide(ShowHideMenu, Menu): _operator_name = "mesh" # Edit Curve @@ -1771,13 +1772,13 @@ def draw_curve(self, context): layout.menu("VIEW3D_MT_edit_curve_showhide") -class VIEW3D_MT_edit_curve(bpy.types.Menu): +class VIEW3D_MT_edit_curve(Menu): bl_label = "Curve" draw = draw_curve -class VIEW3D_MT_edit_curve_ctrlpoints(bpy.types.Menu): +class VIEW3D_MT_edit_curve_ctrlpoints(Menu): bl_label = "Control Points" def draw(self, context): @@ -1799,7 +1800,7 @@ class VIEW3D_MT_edit_curve_ctrlpoints(bpy.types.Menu): layout.menu("VIEW3D_MT_hook") -class VIEW3D_MT_edit_curve_segments(bpy.types.Menu): +class VIEW3D_MT_edit_curve_segments(Menu): bl_label = "Segments" def draw(self, context): @@ -1809,7 +1810,7 @@ class VIEW3D_MT_edit_curve_segments(bpy.types.Menu): layout.operator("curve.switch_direction") -class VIEW3D_MT_edit_curve_specials(bpy.types.Menu): +class VIEW3D_MT_edit_curve_specials(Menu): bl_label = "Specials" def draw(self, context): @@ -1823,17 +1824,17 @@ class VIEW3D_MT_edit_curve_specials(bpy.types.Menu): layout.operator("curve.smooth_radius") -class VIEW3D_MT_edit_curve_showhide(ShowHideMenu, bpy.types.Menu): +class VIEW3D_MT_edit_curve_showhide(ShowHideMenu, Menu): _operator_name = "curve" -class VIEW3D_MT_edit_surface(bpy.types.Menu): +class VIEW3D_MT_edit_surface(Menu): bl_label = "Surface" draw = draw_curve -class VIEW3D_MT_edit_font(bpy.types.Menu): +class VIEW3D_MT_edit_font(Menu): bl_label = "Text" def draw(self, context): @@ -1853,7 +1854,7 @@ class VIEW3D_MT_edit_font(bpy.types.Menu): layout.operator("font.style_toggle", text="Toggle Small Caps").style = 'SMALL_CAPS' -class VIEW3D_MT_edit_text_chars(bpy.types.Menu): +class VIEW3D_MT_edit_text_chars(Menu): bl_label = "Special Characters" def draw(self, context): @@ -1887,7 +1888,7 @@ class VIEW3D_MT_edit_text_chars(bpy.types.Menu): layout.operator("font.text_insert", text="Spanish Exclamation Mark|Alt !").text = b'\xC2\xA1'.decode() -class VIEW3D_MT_edit_meta(bpy.types.Menu): +class VIEW3D_MT_edit_meta(Menu): bl_label = "Metaball" def draw(self, context): @@ -1920,7 +1921,7 @@ class VIEW3D_MT_edit_meta(bpy.types.Menu): layout.menu("VIEW3D_MT_edit_meta_showhide") -class VIEW3D_MT_edit_meta_showhide(bpy.types.Menu): +class VIEW3D_MT_edit_meta_showhide(Menu): bl_label = "Show/Hide" def draw(self, context): @@ -1931,7 +1932,7 @@ class VIEW3D_MT_edit_meta_showhide(bpy.types.Menu): layout.operator("mball.hide_metaelems", text="Hide Unselected").unselected = True -class VIEW3D_MT_edit_lattice(bpy.types.Menu): +class VIEW3D_MT_edit_lattice(Menu): bl_label = "Lattice" def draw(self, context): @@ -1953,7 +1954,7 @@ class VIEW3D_MT_edit_lattice(bpy.types.Menu): layout.prop_menu_enum(settings, "proportional_edit_falloff") -class VIEW3D_MT_edit_armature(bpy.types.Menu): +class VIEW3D_MT_edit_armature(Menu): bl_label = "Armature" def draw(self, context): @@ -2008,7 +2009,7 @@ class VIEW3D_MT_edit_armature(bpy.types.Menu): layout.menu("VIEW3D_MT_bone_options_toggle", text="Bone Settings") -class VIEW3D_MT_armature_specials(bpy.types.Menu): +class VIEW3D_MT_armature_specials(Menu): bl_label = "Specials" def draw(self, context): @@ -2028,7 +2029,7 @@ class VIEW3D_MT_armature_specials(bpy.types.Menu): layout.operator("armature.flip_names", text="Flip Names") -class VIEW3D_MT_edit_armature_parent(bpy.types.Menu): +class VIEW3D_MT_edit_armature_parent(Menu): bl_label = "Parent" def draw(self, context): @@ -2038,7 +2039,7 @@ class VIEW3D_MT_edit_armature_parent(bpy.types.Menu): layout.operator("armature.parent_clear", text="Clear") -class VIEW3D_MT_edit_armature_roll(bpy.types.Menu): +class VIEW3D_MT_edit_armature_roll(Menu): bl_label = "Bone Roll" def draw(self, context): @@ -2053,7 +2054,7 @@ class VIEW3D_MT_edit_armature_roll(bpy.types.Menu): # ********** Panel ********** -class VIEW3D_PT_view3d_properties(bpy.types.Panel): +class VIEW3D_PT_view3d_properties(Panel): bl_space_type = 'VIEW_3D' bl_region_type = 'UI' bl_label = "View" @@ -2094,7 +2095,7 @@ class VIEW3D_PT_view3d_properties(bpy.types.Panel): layout.column().prop(view, "cursor_location") -class VIEW3D_PT_view3d_name(bpy.types.Panel): +class VIEW3D_PT_view3d_name(Panel): bl_space_type = 'VIEW_3D' bl_region_type = 'UI' bl_label = "Item" @@ -2119,7 +2120,7 @@ class VIEW3D_PT_view3d_name(bpy.types.Panel): row.prop(bone, "name", text="") -class VIEW3D_PT_view3d_display(bpy.types.Panel): +class VIEW3D_PT_view3d_display(Panel): bl_space_type = 'VIEW_3D' bl_region_type = 'UI' bl_label = "Display" @@ -2190,7 +2191,7 @@ class VIEW3D_PT_view3d_display(bpy.types.Panel): row.prop(region, "use_box_clip") -class VIEW3D_PT_view3d_meshdisplay(bpy.types.Panel): +class VIEW3D_PT_view3d_meshdisplay(Panel): bl_space_type = 'VIEW_3D' bl_region_type = 'UI' bl_label = "Mesh Display" @@ -2227,7 +2228,7 @@ class VIEW3D_PT_view3d_meshdisplay(bpy.types.Panel): col.prop(mesh, "show_extra_face_area") -class VIEW3D_PT_view3d_curvedisplay(bpy.types.Panel): +class VIEW3D_PT_view3d_curvedisplay(Panel): bl_space_type = 'VIEW_3D' bl_region_type = 'UI' bl_label = "Curve Display" @@ -2249,7 +2250,7 @@ class VIEW3D_PT_view3d_curvedisplay(bpy.types.Panel): col.prop(context.scene.tool_settings, "normal_size", text="Normal Size") -class VIEW3D_PT_background_image(bpy.types.Panel): +class VIEW3D_PT_background_image(Panel): bl_space_type = 'VIEW_3D' bl_region_type = 'UI' bl_label = "Background Images" @@ -2302,7 +2303,7 @@ class VIEW3D_PT_background_image(bpy.types.Panel): row.prop(bg, "offset_y", text="Y") -class VIEW3D_PT_transform_orientations(bpy.types.Panel): +class VIEW3D_PT_transform_orientations(Panel): bl_space_type = 'VIEW_3D' bl_region_type = 'UI' bl_label = "Transform Orientations" @@ -2330,7 +2331,7 @@ class VIEW3D_PT_transform_orientations(bpy.types.Panel): col.operator("transform.delete_orientation", text="Delete") -class VIEW3D_PT_etch_a_ton(bpy.types.Panel): +class VIEW3D_PT_etch_a_ton(Panel): bl_space_type = 'VIEW_3D' bl_region_type = 'UI' bl_label = "Skeleton Sketching" @@ -2375,7 +2376,7 @@ class VIEW3D_PT_etch_a_ton(bpy.types.Panel): col.operator("sketch.convert", text="Convert") -class VIEW3D_PT_context_properties(bpy.types.Panel): +class VIEW3D_PT_context_properties(Panel): bl_space_type = 'VIEW_3D' bl_region_type = 'UI' bl_label = "Properties" diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py index 85dd6f7da5e..864d59f0cdb 100644 --- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py +++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py @@ -18,6 +18,7 @@ # import bpy +from bpy.types import Menu, Panel class View3DPanel(): @@ -61,7 +62,7 @@ def draw_gpencil_tools(context, layout): # ********** default tools for objectmode **************** -class VIEW3D_PT_tools_objectmode(View3DPanel, bpy.types.Panel): +class VIEW3D_PT_tools_objectmode(View3DPanel, Panel): bl_context = "objectmode" bl_label = "Object Tools" @@ -106,7 +107,7 @@ class VIEW3D_PT_tools_objectmode(View3DPanel, bpy.types.Panel): # ********** default tools for editmode_mesh **************** -class VIEW3D_PT_tools_meshedit(View3DPanel, bpy.types.Panel): +class VIEW3D_PT_tools_meshedit(View3DPanel, Panel): bl_context = "mesh_edit" bl_label = "Mesh Tools" @@ -165,7 +166,7 @@ class VIEW3D_PT_tools_meshedit(View3DPanel, bpy.types.Panel): draw_gpencil_tools(context, layout) -class VIEW3D_PT_tools_meshedit_options(View3DPanel, bpy.types.Panel): +class VIEW3D_PT_tools_meshedit_options(View3DPanel, Panel): bl_context = "mesh_edit" bl_label = "Mesh Options" @@ -191,7 +192,7 @@ class VIEW3D_PT_tools_meshedit_options(View3DPanel, bpy.types.Panel): # ********** default tools for editmode_curve **************** -class VIEW3D_PT_tools_curveedit(View3DPanel, bpy.types.Panel): +class VIEW3D_PT_tools_curveedit(View3DPanel, Panel): bl_context = "curve_edit" bl_label = "Curve Tools" @@ -237,7 +238,7 @@ class VIEW3D_PT_tools_curveedit(View3DPanel, bpy.types.Panel): # ********** default tools for editmode_surface **************** -class VIEW3D_PT_tools_surfaceedit(View3DPanel, bpy.types.Panel): +class VIEW3D_PT_tools_surfaceedit(View3DPanel, Panel): bl_context = "surface_edit" bl_label = "Surface Tools" @@ -269,7 +270,7 @@ class VIEW3D_PT_tools_surfaceedit(View3DPanel, bpy.types.Panel): # ********** default tools for editmode_text **************** -class VIEW3D_PT_tools_textedit(View3DPanel, bpy.types.Panel): +class VIEW3D_PT_tools_textedit(View3DPanel, Panel): bl_context = "text_edit" bl_label = "Text Tools" @@ -299,7 +300,7 @@ class VIEW3D_PT_tools_textedit(View3DPanel, bpy.types.Panel): # ********** default tools for editmode_armature **************** -class VIEW3D_PT_tools_armatureedit(View3DPanel, bpy.types.Panel): +class VIEW3D_PT_tools_armatureedit(View3DPanel, Panel): bl_context = "armature_edit" bl_label = "Armature Tools" @@ -328,7 +329,7 @@ class VIEW3D_PT_tools_armatureedit(View3DPanel, bpy.types.Panel): draw_gpencil_tools(context, layout) -class VIEW3D_PT_tools_armatureedit_options(View3DPanel, bpy.types.Panel): +class VIEW3D_PT_tools_armatureedit_options(View3DPanel, Panel): bl_context = "armature_edit" bl_label = "Armature Options" @@ -340,7 +341,7 @@ class VIEW3D_PT_tools_armatureedit_options(View3DPanel, bpy.types.Panel): # ********** default tools for editmode_mball **************** -class VIEW3D_PT_tools_mballedit(View3DPanel, bpy.types.Panel): +class VIEW3D_PT_tools_mballedit(View3DPanel, Panel): bl_context = "mball_edit" bl_label = "Meta Tools" @@ -360,7 +361,7 @@ class VIEW3D_PT_tools_mballedit(View3DPanel, bpy.types.Panel): # ********** default tools for editmode_lattice **************** -class VIEW3D_PT_tools_latticeedit(View3DPanel, bpy.types.Panel): +class VIEW3D_PT_tools_latticeedit(View3DPanel, Panel): bl_context = "lattice_edit" bl_label = "Lattice Tools" @@ -384,7 +385,7 @@ class VIEW3D_PT_tools_latticeedit(View3DPanel, bpy.types.Panel): # ********** default tools for posemode **************** -class VIEW3D_PT_tools_posemode(View3DPanel, bpy.types.Panel): +class VIEW3D_PT_tools_posemode(View3DPanel, Panel): bl_context = "posemode" bl_label = "Pose Tools" @@ -425,7 +426,7 @@ class VIEW3D_PT_tools_posemode(View3DPanel, bpy.types.Panel): draw_gpencil_tools(context, layout) -class VIEW3D_PT_tools_posemode_options(View3DPanel, bpy.types.Panel): +class VIEW3D_PT_tools_posemode_options(View3DPanel, Panel): bl_context = "posemode" bl_label = "Pose Options" @@ -459,7 +460,7 @@ class PaintPanel(): return None -class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel): +class VIEW3D_PT_tools_brush(PaintPanel, Panel): bl_label = "Brush" @classmethod @@ -677,7 +678,7 @@ class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel): #row.prop(brush, "use_pressure_jitter", toggle=True, text="") -class VIEW3D_PT_tools_brush_texture(PaintPanel, bpy.types.Panel): +class VIEW3D_PT_tools_brush_texture(PaintPanel, Panel): bl_label = "Texture" bl_options = {'DEFAULT_CLOSED'} @@ -775,7 +776,7 @@ class VIEW3D_PT_tools_brush_texture(PaintPanel, bpy.types.Panel): col.active = tex_slot.map_mode in {'FIXED', 'TILED'} and brush.use_texture_overlay -class VIEW3D_PT_tools_brush_tool(PaintPanel, bpy.types.Panel): +class VIEW3D_PT_tools_brush_tool(PaintPanel, Panel): bl_label = "Tool" bl_options = {'DEFAULT_CLOSED'} @@ -809,7 +810,7 @@ class VIEW3D_PT_tools_brush_tool(PaintPanel, bpy.types.Panel): row.prop(brush, "use_paint_image", text="", icon='TPAINT_HLT') -class VIEW3D_PT_tools_brush_stroke(PaintPanel, bpy.types.Panel): +class VIEW3D_PT_tools_brush_stroke(PaintPanel, Panel): bl_label = "Stroke" bl_options = {'DEFAULT_CLOSED'} @@ -907,7 +908,7 @@ class VIEW3D_PT_tools_brush_stroke(PaintPanel, bpy.types.Panel): # row.prop(brush, "use_pressure_spacing", toggle=True, text="") -class VIEW3D_PT_tools_brush_curve(PaintPanel, bpy.types.Panel): +class VIEW3D_PT_tools_brush_curve(PaintPanel, Panel): bl_label = "Curve" bl_options = {'DEFAULT_CLOSED'} @@ -934,7 +935,7 @@ class VIEW3D_PT_tools_brush_curve(PaintPanel, bpy.types.Panel): row.operator("brush.curve_preset", icon="NOCURVE", text="").shape = 'MAX' -class VIEW3D_PT_sculpt_options(PaintPanel, bpy.types.Panel): +class VIEW3D_PT_sculpt_options(PaintPanel, Panel): bl_label = "Options" bl_options = {'DEFAULT_CLOSED'} @@ -964,7 +965,7 @@ class VIEW3D_PT_sculpt_options(PaintPanel, bpy.types.Panel): layout.prop(tool_settings, "sculpt_paint_use_unified_strength", text="Strength") -class VIEW3D_PT_sculpt_symmetry(PaintPanel, bpy.types.Panel): +class VIEW3D_PT_sculpt_symmetry(PaintPanel, Panel): bl_label = "Symmetry" bl_options = {'DEFAULT_CLOSED'} @@ -992,7 +993,7 @@ class VIEW3D_PT_sculpt_symmetry(PaintPanel, bpy.types.Panel): layout.prop(sculpt, "use_symmetry_feather", text="Feather") -class VIEW3D_PT_tools_brush_appearance(PaintPanel, bpy.types.Panel): +class VIEW3D_PT_tools_brush_appearance(PaintPanel, Panel): bl_label = "Appearance" bl_options = {'DEFAULT_CLOSED'} @@ -1038,7 +1039,7 @@ class VIEW3D_PT_tools_brush_appearance(PaintPanel, bpy.types.Panel): # ********** default tools for weightpaint **************** -class VIEW3D_PT_tools_weightpaint(View3DPanel, bpy.types.Panel): +class VIEW3D_PT_tools_weightpaint(View3DPanel, Panel): bl_context = "weightpaint" bl_label = "Weight Tools" @@ -1056,7 +1057,7 @@ class VIEW3D_PT_tools_weightpaint(View3DPanel, bpy.types.Panel): col.operator("object.vertex_group_levels", text="Levels") -class VIEW3D_PT_tools_weightpaint_options(View3DPanel, bpy.types.Panel): +class VIEW3D_PT_tools_weightpaint_options(View3DPanel, Panel): bl_context = "weightpaint" bl_label = "Options" @@ -1093,7 +1094,7 @@ class VIEW3D_PT_tools_weightpaint_options(View3DPanel, bpy.types.Panel): # ********** default tools for vertexpaint **************** -class VIEW3D_PT_tools_vertexpaint(View3DPanel, bpy.types.Panel): +class VIEW3D_PT_tools_vertexpaint(View3DPanel, Panel): bl_context = "vertexpaint" bl_label = "Options" @@ -1122,7 +1123,7 @@ class VIEW3D_PT_tools_vertexpaint(View3DPanel, bpy.types.Panel): # ********** default tools for texturepaint **************** -class VIEW3D_PT_tools_projectpaint(View3DPanel, bpy.types.Panel): +class VIEW3D_PT_tools_projectpaint(View3DPanel, Panel): bl_context = "imagepaint" bl_label = "Project Paint" @@ -1214,7 +1215,7 @@ class VIEW3D_PT_imagepaint_options(PaintPanel): col.prop(tool_settings, "sculpt_paint_use_unified_strength", text="Strength") -class VIEW3D_MT_tools_projectpaint_clone(bpy.types.Menu): +class VIEW3D_MT_tools_projectpaint_clone(Menu): bl_label = "Clone Layer" def draw(self, context): @@ -1225,7 +1226,7 @@ class VIEW3D_MT_tools_projectpaint_clone(bpy.types.Menu): prop.value = i -class VIEW3D_MT_tools_projectpaint_stencil(bpy.types.Menu): +class VIEW3D_MT_tools_projectpaint_stencil(Menu): bl_label = "Mask Layer" def draw(self, context): @@ -1236,7 +1237,7 @@ class VIEW3D_MT_tools_projectpaint_stencil(bpy.types.Menu): prop.value = i -class VIEW3D_PT_tools_particlemode(View3DPanel, bpy.types.Panel): +class VIEW3D_PT_tools_particlemode(View3DPanel, Panel): '''default tools for particle mode''' bl_context = "particlemode" bl_label = "Options" diff --git a/release/scripts/templates/operator_modal.py b/release/scripts/templates/operator_modal.py index 78dbd4c6b43..a428b097f82 100644 --- a/release/scripts/templates/operator_modal.py +++ b/release/scripts/templates/operator_modal.py @@ -18,7 +18,7 @@ class ModalOperator(bpy.types.Operator): elif event.type == 'LEFTMOUSE': return {'FINISHED'} - elif event.type in ('RIGHTMOUSE', 'ESC'): + elif event.type in {'RIGHTMOUSE', 'ESC'}: context.object.location.x = self.first_value return {'CANCELLED'} @@ -47,4 +47,4 @@ if __name__ == "__main__": register() # test call - bpy.ops.object.modal_operator() + bpy.ops.object.modal_operator('INVOKE_DEFAULT') diff --git a/release/scripts/templates/operator_modal_draw.py b/release/scripts/templates/operator_modal_draw.py index e7a1f6e4ffe..b3d525a59bf 100644 --- a/release/scripts/templates/operator_modal_draw.py +++ b/release/scripts/templates/operator_modal_draw.py @@ -45,7 +45,7 @@ class ModalDrawOperator(bpy.types.Operator): context.region.callback_remove(self._handle) return {'FINISHED'} - elif event.type in ('RIGHTMOUSE', 'ESC'): + elif event.type in {'RIGHTMOUSE', 'ESC'}: context.region.callback_remove(self._handle) return {'CANCELLED'} diff --git a/release/scripts/templates/operator_modal_timer.py b/release/scripts/templates/operator_modal_timer.py index d2267191cf5..ec47390da81 100644 --- a/release/scripts/templates/operator_modal_timer.py +++ b/release/scripts/templates/operator_modal_timer.py @@ -10,7 +10,7 @@ class ModalTimerOperator(bpy.types.Operator): def modal(self, context, event): if event.type == 'ESC': - return self.cancel() + return self.cancel(context) if event.type == 'TIMER': # change theme color, silly! diff --git a/release/scripts/templates/operator_modal_view3d.py b/release/scripts/templates/operator_modal_view3d.py index c494f121017..925449835ca 100644 --- a/release/scripts/templates/operator_modal_view3d.py +++ b/release/scripts/templates/operator_modal_view3d.py @@ -29,7 +29,7 @@ class ViewOperator(bpy.types.Operator): context.area.header_text_set() return {'FINISHED'} - elif event.type in ('RIGHTMOUSE', 'ESC'): + elif event.type in {'RIGHTMOUSE', 'ESC'}: rv3d.view_location = self._initial_location context.area.header_text_set() return {'CANCELLED'} diff --git a/release/text/readme.html b/release/text/readme.html index 2b5a4071a7f..95094b9c0cb 100644 --- a/release/text/readme.html +++ b/release/text/readme.html @@ -12,22 +12,22 @@ -

Blender 2.58

+

Blender 2.59


About

Welcome to Blender, the free, open source 3D application for modeling, animation, rendering, compositing, video editing and game creation. Blender is available for Linux, Mac OS X, Windows, Solaris and FreeBSD and has a large world-wide community.

Blender can be used freely for any purpose, including commercial use and distribution. It's free and open-source software, released under the GNU GPL licence. The entire source code is available on our website.

For more information, visit blender.org.


-

2.58

-

The Blender Foundation and online developer community is proud to present Blender 2.58. This release is the second official stable release of the Blender 2.5 series, and represents the culmination of many years of redesign and development work. More information about this release.

+

2.59

+

The Blender Foundation and online developer community is proud to present Blender 2.59. This release is the third official stable release of the Blender 2.5 series, and represents the culmination of many years of redesign and development work. More information about this release.

What to Expect:

• Big improvements - This is our most exciting version to date, already a significant improvement in many ways over 2.49

• Missing/Incomplete Features - Although most of it is there, not all functionality from pre-2.5 versions has been restored yet. Some functionality may be re-implemented a different way.

• Changes - If you're used to the old Blenders, Blender 2.5 may seem quite different at first, but it won't be long before it grows on you even more than before.


Bugs

-

Although Blender 2.58 is considered a stable release, you may encounter a bug. If you do, please help us by posting it in the bug tracker or using Help → Report a Bug from inside Blender 2.58. If it wasn’t reported yet, please log in (or register) and fill in detailed information about the error. Please post detailed instructions on how to reproduce it or post a .blend file showcasing the bug.

+

Although Blender 2.59 is considered a stable release, you may encounter a bug. If you do, please help us by posting it in the bug tracker or using Help → Report a Bug from inside Blender 2.59. If it wasn’t reported yet, please log in (or register) and fill in detailed information about the error. Please post detailed instructions on how to reproduce it or post a .blend file showcasing the bug.


Package Contents

The downloaded Blender package includes:

@@ -51,11 +51,11 @@

Links

Users:

General information www.blender.org
- Full release log www.blender.org/development/release-logs/blender-258/
+ Full release log www.blender.org/development/release-logs/blender-259/
Tutorials www.blender.org/education-help/
Manual wiki.blender.org/index.php/Doc:Manual
User Forum www.blenderartists.org
- IRC #blender on irc.freenode.net
+ IRC #blenderchat on irc.freenode.net

Developers:

Development www.blender.org/development/
diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h index 18f6ad21333..162b0de1d5a 100644 --- a/source/blender/blenkernel/BKE_blender.h +++ b/source/blender/blenkernel/BKE_blender.h @@ -43,17 +43,17 @@ extern "C" { /* these lines are grep'd, watch out for our not-so-awesome regex * and keep comment above the defines. * Use STRINGIFY() rather than defining with quotes */ -#define BLENDER_VERSION 258 -#define BLENDER_SUBVERSION 1 +#define BLENDER_VERSION 259 +#define BLENDER_SUBVERSION 0 #define BLENDER_MINVERSION 250 #define BLENDER_MINSUBVERSION 0 /* used by packaging tools */ /* can be left blank, otherwise a,b,c... etc with no quotes */ -#define BLENDER_VERSION_CHAR a +#define BLENDER_VERSION_CHAR /* alpha/beta/rc/release, docs use this */ -#define BLENDER_VERSION_CYCLE beta +#define BLENDER_VERSION_CYCLE alpha struct ListBase; struct MemFile; diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c index 13a84e0452f..97abc740c43 100644 --- a/source/blender/blenkernel/intern/depsgraph.c +++ b/source/blender/blenkernel/intern/depsgraph.c @@ -301,6 +301,7 @@ static void dag_add_driver_relation(AnimData *adt, DagForest *dag, DagNode *node for (fcu= adt->drivers.first; fcu; fcu= fcu->next) { ChannelDriver *driver= fcu->driver; DriverVar *dvar; + int isdata_fcu = isdata || (fcu->rna_path && strstr(fcu->rna_path, "modifiers[")); /* loop over variables to get the target relationships */ for (dvar= driver->variables.first; dvar; dvar= dvar->next) { @@ -320,14 +321,14 @@ static void dag_add_driver_relation(AnimData *adt, DagForest *dag, DagNode *node ( ((dtar->rna_path) && strstr(dtar->rna_path, "pose.bones[")) || ((dtar->flag & DTAR_FLAG_STRUCT_REF) && (dtar->pchan_name[0])) )) { - dag_add_relation(dag, node1, node, isdata?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Driver"); + dag_add_relation(dag, node1, node, isdata_fcu?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Driver"); } /* check if ob data */ else if (dtar->rna_path && strstr(dtar->rna_path, "data.")) - dag_add_relation(dag, node1, node, isdata?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Driver"); + dag_add_relation(dag, node1, node, isdata_fcu?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Driver"); /* normal */ else - dag_add_relation(dag, node1, node, isdata?DAG_RL_OB_DATA:DAG_RL_OB_OB, "Driver"); + dag_add_relation(dag, node1, node, isdata_fcu?DAG_RL_OB_DATA:DAG_RL_OB_OB, "Driver"); } } } diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c index 8f57490d057..c2ed6468643 100644 --- a/source/blender/blenkernel/intern/displist.c +++ b/source/blender/blenkernel/intern/displist.c @@ -1369,6 +1369,11 @@ void makeDispListCurveTypes(Scene *scene, Object *ob, int forOrco) Curve *cu= ob->data; ListBase *dispbase; + /* The same check for duplis as in do_makeDispListCurveTypes. + Happens when curve used for constraint/bevel was converted to mesh. + check there is still needed for render displist and orco displists. */ + if(!ELEM3(ob->type, OB_SURF, OB_CURVE, OB_FONT)) return; + freedisplist(&(ob->disp)); dispbase= &(ob->disp); freedisplist(dispbase); diff --git a/source/blender/blenkernel/intern/fcurve.c b/source/blender/blenkernel/intern/fcurve.c index d6a9d950015..13e13fbc3ff 100644 --- a/source/blender/blenkernel/intern/fcurve.c +++ b/source/blender/blenkernel/intern/fcurve.c @@ -1002,7 +1002,7 @@ static float dtar_get_prop_val (ChannelDriver *driver, DriverTarget *dtar) /* get property to read from, and get value as appropriate */ if (RNA_path_resolve_full(&id_ptr, dtar->rna_path, &ptr, &prop, &index)) { - if(RNA_property_array_check(&ptr, prop)) { + if(RNA_property_array_check(prop)) { /* array */ if (index < RNA_property_array_length(&ptr, prop)) { switch (RNA_property_type(prop)) { diff --git a/source/blender/blenkernel/intern/nla.c b/source/blender/blenkernel/intern/nla.c index c02b5dda9ce..bd238e72d0c 100644 --- a/source/blender/blenkernel/intern/nla.c +++ b/source/blender/blenkernel/intern/nla.c @@ -1582,7 +1582,7 @@ void BKE_nla_tweakmode_exit (AnimData *adt) /* Baking Tools ------------------------------------------- */ -static void BKE_nla_bake (Scene *scene, ID *UNUSED(id), AnimData *adt, int UNUSED(flag)) +static void UNUSED_FUNCTION(BKE_nla_bake) (Scene *scene, ID *UNUSED(id), AnimData *adt, int UNUSED(flag)) { /* verify that data is valid diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index f6b40527637..927d406eb61 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -3399,7 +3399,7 @@ static int node_animation_properties(bNodeTree *ntree, bNode *node) int driven, len=1, index; prop = (PropertyRNA *)link; - if (RNA_property_array_check(&ptr, prop)) + if (RNA_property_array_check(prop)) len = RNA_property_array_length(&ptr, prop); for (index=0; indeximat); transpose_m3(nmat); mul_m3_v3(nmat, nor); + normalize_v3(nor); /* make sure that we get a proper side vector */ if(fabs(dot_v3v3(nor,vec))>0.999999) { diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c index d6a152a5280..3aebbea789f 100644 --- a/source/blender/blenkernel/intern/sequencer.c +++ b/source/blender/blenkernel/intern/sequencer.c @@ -699,6 +699,7 @@ void reload_sequence_new_file(Scene *scene, Sequence * seq, int lock_range) seq->len = 0; } seq->strip->len = seq->len; + break; case SEQ_SOUND: #ifdef WITH_AUDASPACE if(!seq->sound) diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c index 036ba34d0c8..493baebd197 100644 --- a/source/blender/blenkernel/intern/texture.c +++ b/source/blender/blenkernel/intern/texture.c @@ -1005,7 +1005,7 @@ void autotexname(Tex *tex) Tex *give_current_object_texture(Object *ob) { - Material *ma; + Material *ma, *node_ma; Tex *tex= NULL; if(ob==NULL) return NULL; @@ -1015,6 +1015,10 @@ Tex *give_current_object_texture(Object *ob) tex= give_current_lamp_texture(ob->data); } else { ma= give_current_material(ob, ob->actcol); + + if((node_ma=give_node_material(ma))) + ma= node_ma; + tex= give_current_material_texture(ma); } @@ -1080,17 +1084,6 @@ Tex *give_current_material_texture(Material *ma) tex= (Tex *)node->id; ma= NULL; } - else { - node= nodeGetActiveID(ma->nodetree, ID_MA); - if(node) { - ma= (Material*)node->id; - if(ma) { - mtex= ma->mtex[(int)(ma->texact)]; - if(mtex) tex= mtex->tex; - } - } - } - return tex; } if(ma) { @@ -1165,11 +1158,6 @@ void set_current_material_texture(Material *ma, Tex *newtex) id_us_plus(&newtex->id); ma= NULL; } - else { - node= nodeGetActiveID(ma->nodetree, ID_MA); - if(node) - ma= (Material*)node->id; - } } if(ma) { int act= (int)ma->texact; @@ -1198,16 +1186,8 @@ int has_current_material_texture(Material *ma) if(ma && ma->use_nodes && ma->nodetree) { node= nodeGetActiveID(ma->nodetree, ID_TE); - if(node) { + if(node) return 1; - } - else { - node= nodeGetActiveID(ma->nodetree, ID_MA); - if(node) - ma= (Material*)node->id; - else - ma= NULL; - } } return (ma != NULL); diff --git a/source/blender/blenkernel/intern/unit.c b/source/blender/blenkernel/intern/unit.c index b89e576a562..a9792bc44fa 100644 --- a/source/blender/blenkernel/intern/unit.c +++ b/source/blender/blenkernel/intern/unit.c @@ -136,7 +136,7 @@ static struct bUnitDef buImperialLenDef[] = { {"yard", "yards", "yd", NULL, "Yards", UN_SC_YD, 0.0, B_UNIT_DEF_NONE}, {"foot", "feet", "'", "ft", "Feet", UN_SC_FT, 0.0, B_UNIT_DEF_NONE}, /* base unit */ {"inch", "inches", "\"", "in", "Inches", UN_SC_IN, 0.0, B_UNIT_DEF_NONE}, - {"thou", "thous", "mil", NULL, "Thous", UN_SC_MIL, 0.0, B_UNIT_DEF_NONE}, + {"thou", "thou", "thou", "mil", "Thou", UN_SC_MIL, 0.0, B_UNIT_DEF_NONE}, /* plural for thou has no 's' */ {NULL, NULL, NULL, NULL, NULL, 0.0, 0.0} }; static struct bUnitCollection buImperialLenCollecton = {buImperialLenDef, 4, 0, sizeof(buImperialLenDef)/sizeof(bUnitDef)}; diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c index 4db53999f10..fe7a7a18177 100644 --- a/source/blender/blenkernel/intern/writeffmpeg.c +++ b/source/blender/blenkernel/intern/writeffmpeg.c @@ -658,10 +658,12 @@ static int start_ffmpeg_impl(struct RenderData *rd, int rectx, int recty, Report switch(ffmpeg_type) { case FFMPEG_AVI: case FFMPEG_MOV: - case FFMPEG_OGG: case FFMPEG_MKV: fmt->video_codec = ffmpeg_codec; break; + case FFMPEG_OGG: + fmt->video_codec = CODEC_ID_THEORA; + break; case FFMPEG_DV: fmt->video_codec = CODEC_ID_DVVIDEO; break; @@ -1310,6 +1312,9 @@ void ffmpeg_verify_image_type(RenderData *rd) /* Don't set preset, disturbs render resolution. * ffmpeg_set_preset(rd, FFMPEG_PRESET_DVD); */ } + if(rd->ffcodecdata.type == FFMPEG_OGG) { + rd->ffcodecdata.type = FFMPEG_MPEG2; + } audio= 1; } diff --git a/source/blender/blenlib/BLI_ghash.h b/source/blender/blenlib/BLI_ghash.h index dcc71fa1258..e4afc6ad79b 100644 --- a/source/blender/blenlib/BLI_ghash.h +++ b/source/blender/blenlib/BLI_ghash.h @@ -53,14 +53,14 @@ typedef void (*GHashValFreeFP) (void *val); typedef struct Entry { struct Entry *next; - + void *key, *val; } Entry; typedef struct GHash { GHashHashFP hashfp; GHashCmpFP cmpfp; - + Entry **buckets; struct BLI_mempool *entrypool; int nbuckets, nentries, cursize; @@ -72,15 +72,15 @@ typedef struct GHashIterator { struct Entry *curEntry; } GHashIterator; -GHash* BLI_ghash_new (GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info); -void BLI_ghash_free (GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp); +/* *** */ -//BM_INLINE void BLI_ghash_insert (GHash *gh, void *key, void *val); -//BM_INLINE int BLI_ghash_remove (GHash *gh, void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp); -//BM_INLINE void* BLI_ghash_lookup (GHash *gh, void *key); -//BM_INLINE int BLI_ghash_haskey (GHash *gh, void *key); - -int BLI_ghash_size (GHash *gh); +GHash* BLI_ghash_new (GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info); +void BLI_ghash_free (GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp); +void BLI_ghash_insert(GHash *gh, void *key, void *val); +void * BLI_ghash_lookup(GHash *gh, const void *key); +int BLI_ghash_remove(GHash *gh, void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp); +int BLI_ghash_haskey(GHash *gh, void *key); +int BLI_ghash_size (GHash *gh); /* *** */ @@ -149,127 +149,10 @@ unsigned int BLI_ghashutil_strhash (const void *key); int BLI_ghashutil_strcmp (const void *a, const void *b); unsigned int BLI_ghashutil_inthash (const void *ptr); -int BLI_ghashutil_intcmp(const void *a, const void *b); - -/*begin of macro-inlined functions*/ -extern unsigned int hashsizes[]; - -#if 0 -#define BLI_ghash_insert(gh, _k, _v){\ - unsigned int _hash= (gh)->hashfp(_k)%gh->nbuckets;\ - Entry *_e= BLI_mempool_alloc((gh)->entrypool);\ - _e->key= _k;\ - _e->val= _v;\ - _e->next= (gh)->buckets[_hash];\ - (gh)->buckets[_hash]= _e;\ - if (++(gh)->nentries>(gh)->nbuckets*3) {\ - Entry *_e, **_old= (gh)->buckets;\ - int _i, _nold= (gh)->nbuckets;\ - (gh)->nbuckets= hashsizes[++(gh)->cursize];\ - (gh)->buckets= malloc((gh)->nbuckets*sizeof(*(gh)->buckets));\ - memset((gh)->buckets, 0, (gh)->nbuckets*sizeof(*(gh)->buckets));\ - for (_i=0; _i<_nold; _i++) {\ - for (_e= _old[_i]; _e;) {\ - Entry *_n= _e->next;\ - _hash= (gh)->hashfp(_e->key)%(gh)->nbuckets;\ - _e->next= (gh)->buckets[_hash];\ - (gh)->buckets[_hash]= _e;\ - _e= _n;\ - }\ - }\ - free(_old); } } -#endif - -/*---------inlined functions---------*/ -BM_INLINE void BLI_ghash_insert(GHash *gh, void *key, void *val) { - unsigned int hash= gh->hashfp(key)%gh->nbuckets; - Entry *e= (Entry*) BLI_mempool_alloc(gh->entrypool); - - e->key= key; - e->val= val; - e->next= gh->buckets[hash]; - gh->buckets[hash]= e; - - if (++gh->nentries>(float)gh->nbuckets/2) { - Entry **old= gh->buckets; - int i, nold= gh->nbuckets; - - gh->nbuckets= hashsizes[++gh->cursize]; - gh->buckets= (Entry**)MEM_mallocN(gh->nbuckets*sizeof(*gh->buckets), "buckets"); - memset(gh->buckets, 0, gh->nbuckets*sizeof(*gh->buckets)); - - for (i=0; inext; - - hash= gh->hashfp(e->key)%gh->nbuckets; - e->next= gh->buckets[hash]; - gh->buckets[hash]= e; - - e= n; - } - } - - MEM_freeN(old); - } -} - -BM_INLINE void* BLI_ghash_lookup(GHash *gh, const void *key) -{ - if(gh) { - unsigned int hash= gh->hashfp(key)%gh->nbuckets; - Entry *e; - - for (e= gh->buckets[hash]; e; e= e->next) - if (gh->cmpfp(key, e->key)==0) - return e->val; - } - return NULL; -} - -BM_INLINE int BLI_ghash_remove (GHash *gh, void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp) -{ - unsigned int hash= gh->hashfp(key)%gh->nbuckets; - Entry *e; - Entry *p = NULL; - - for (e= gh->buckets[hash]; e; e= e->next) { - if (gh->cmpfp(key, e->key)==0) { - Entry *n= e->next; - - if (keyfreefp) keyfreefp(e->key); - if (valfreefp) valfreefp(e->val); - BLI_mempool_free(gh->entrypool, e); - - - e= n; - if (p) - p->next = n; - else - gh->buckets[hash] = n; - - --gh->nentries; - return 1; - } - p = e; - } - - return 0; -} - -BM_INLINE int BLI_ghash_haskey(GHash *gh, void *key) { - unsigned int hash= gh->hashfp(key)%gh->nbuckets; - Entry *e; - - for (e= gh->buckets[hash]; e; e= e->next) - if (gh->cmpfp(key, e->key)==0) - return 1; - - return 0; -} +int BLI_ghashutil_intcmp (const void *a, const void *b); #ifdef __cplusplus } #endif -#endif +#endif /* BLI_GHASH_H */ diff --git a/source/blender/blenlib/BLI_utildefines.h b/source/blender/blenlib/BLI_utildefines.h index 9af55601ff7..28ebb254f2a 100644 --- a/source/blender/blenlib/BLI_utildefines.h +++ b/source/blender/blenlib/BLI_utildefines.h @@ -183,6 +183,12 @@ # define UNUSED(x) UNUSED_ ## x #endif +#ifdef __GNUC__ +# define UNUSED_FUNCTION(x) __attribute__((__unused__)) UNUSED_ ## x +#else +# define UNUSED_FUNCTION(x) UNUSED_ ## x +#endif + #ifdef __GNUC__ # define WARN_UNUSED __attribute__((warn_unused_result)) #else diff --git a/source/blender/blenlib/intern/BLI_ghash.c b/source/blender/blenlib/intern/BLI_ghash.c index ff08ef4dba9..bfee350037a 100644 --- a/source/blender/blenlib/intern/BLI_ghash.c +++ b/source/blender/blenlib/intern/BLI_ghash.c @@ -49,8 +49,6 @@ unsigned int hashsizes[]= { /***/ -/***/ - GHash *BLI_ghash_new(GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info) { GHash *gh= MEM_mallocN(sizeof(*gh), info); gh->hashfp= hashfp; @@ -67,14 +65,96 @@ GHash *BLI_ghash_new(GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info) { return gh; } -#ifdef BLI_ghash_insert -#undef BLI_ghash_insert -#endif - int BLI_ghash_size(GHash *gh) { return gh->nentries; } +void BLI_ghash_insert(GHash *gh, void *key, void *val) { + unsigned int hash= gh->hashfp(key)%gh->nbuckets; + Entry *e= (Entry*) BLI_mempool_alloc(gh->entrypool); + + e->key= key; + e->val= val; + e->next= gh->buckets[hash]; + gh->buckets[hash]= e; + + if (++gh->nentries>(float)gh->nbuckets/2) { + Entry **old= gh->buckets; + int i, nold= gh->nbuckets; + + gh->nbuckets= hashsizes[++gh->cursize]; + gh->buckets= (Entry**)MEM_mallocN(gh->nbuckets*sizeof(*gh->buckets), "buckets"); + memset(gh->buckets, 0, gh->nbuckets*sizeof(*gh->buckets)); + + for (i=0; inext; + + hash= gh->hashfp(e->key)%gh->nbuckets; + e->next= gh->buckets[hash]; + gh->buckets[hash]= e; + + e= n; + } + } + + MEM_freeN(old); + } +} + +void *BLI_ghash_lookup(GHash *gh, const void *key) { + if(gh) { + unsigned int hash= gh->hashfp(key)%gh->nbuckets; + Entry *e; + + for (e= gh->buckets[hash]; e; e= e->next) + if (gh->cmpfp(key, e->key)==0) + return e->val; + } + return NULL; +} + +int BLI_ghash_remove (GHash *gh, void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp) +{ + unsigned int hash= gh->hashfp(key)%gh->nbuckets; + Entry *e; + Entry *p = NULL; + + for (e= gh->buckets[hash]; e; e= e->next) { + if (gh->cmpfp(key, e->key)==0) { + Entry *n= e->next; + + if (keyfreefp) keyfreefp(e->key); + if (valfreefp) valfreefp(e->val); + BLI_mempool_free(gh->entrypool, e); + + /* correct but 'e' isnt used before return */ + /* e= n; */ /*UNUSED*/ + if (p) + p->next = n; + else + gh->buckets[hash] = n; + + --gh->nentries; + return 1; + } + p = e; + } + + return 0; +} + +int BLI_ghash_haskey(GHash *gh, void *key) { + unsigned int hash= gh->hashfp(key)%gh->nbuckets; + Entry *e; + + for (e= gh->buckets[hash]; e; e= e->next) + if (gh->cmpfp(key, e->key)==0) + return 1; + + return 0; +} + void BLI_ghash_free(GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp) { int i; diff --git a/source/blender/editors/armature/poseSlide.c b/source/blender/editors/armature/poseSlide.c index 3d6888d87dc..69b7fff3607 100644 --- a/source/blender/editors/armature/poseSlide.c +++ b/source/blender/editors/armature/poseSlide.c @@ -1000,7 +1000,7 @@ static short pose_propagate_get_refVal (Object *ob, FCurve *fcu, float *value) /* resolve the property... */ if (RNA_path_resolve(&id_ptr, fcu->rna_path, &ptr, &prop)) { - if (RNA_property_array_check(&ptr, prop)) { + if (RNA_property_array_check(prop)) { /* array */ if (fcu->array_index < RNA_property_array_length(&ptr, prop)) { found= TRUE; diff --git a/source/blender/editors/datafiles/splash.png.c b/source/blender/editors/datafiles/splash.png.c index aa358275335..a3343496be7 100644 --- a/source/blender/editors/datafiles/splash.png.c +++ b/source/blender/editors/datafiles/splash.png.c @@ -1,6314 +1,6405 @@ /* DataToC output of file */ -int datatoc_splash_png_size= 201866; +int datatoc_splash_png_size= 204738; char datatoc_splash_png[]= { -137, 80, 78, 71, 13, 10, 26, 10, 0, 0, - 0, 13, 73, 72, 68, 82, 0, 0, 1,245, 0, 0, 1, 26, 8, 2, 0, 0, 0,135, 56, 89, 17, 0, 0, 10, 79,105, 67, 67, 80, 80, -104,111,116,111,115,104,111,112, 32, 73, 67, 67, 32,112,114,111,102,105,108,101, 0, 0,120,218,157, 83,103, 84, 83,233, 22, 61, -247,222,244, 66, 75,136,128,148, 75,111, 82, 21, 8, 32, 82, 66,139,128, 20,145, 38, 42, 33, 9, 16, 74,136, 33,161,217, 21, 81, -193, 17, 69, 69, 4, 27,200,160,136, 3,142,142,128,140, 21, 81, 44, 12,138, 10,216, 7,228, 33,162,142,131,163,136,138,202,251, -225,123,163,107,214,188,247,230,205,254,181,215, 62,231,172,243,157,179,207, 7,192, 8, 12,150, 72, 51, 81, 53,128, 12,169, 66, - 30, 17,224,131,199,196,198,225,228, 46, 64,129, 10, 36,112, 0, 16, 8,179,100, 33,115,253, 35, 1, 0,248,126, 60, 60, 43, 34, -192, 7,190, 0, 1,120,211, 11, 8, 0,192, 77,155,192, 48, 28,135,255, 15,234, 66,153, 92, 1,128,132, 1,192,116,145, 56, 75, - 8,128, 20, 0, 64,122,142, 66,166, 0, 64, 70, 1,128,157,152, 38, 83, 0,160, 4, 0, 96,203, 99, 98,227, 0, 80, 45, 0, 96, - 39,127,230,211, 0,128,157,248,153,123, 1, 0, 91,148, 33, 21, 1,160,145, 0, 32, 19,101,136, 68, 0,104, 59, 0,172,207, 86, -138, 69, 0, 88, 48, 0, 20,102, 75,196, 57, 0,216, 45, 0, 48, 73, 87,102, 72, 0,176,183, 0,192,206, 16, 11,178, 0, 8, 12, - 0, 48, 81,136,133, 41, 0, 4,123, 0, 96,200, 35, 35,120, 0,132,153, 0, 20, 70,242, 87, 60,241, 43,174, 16,231, 42, 0, 0, -120,153,178, 60,185, 36, 57, 69,129, 91, 8, 45,113, 7, 87, 87, 46, 30, 40,206, 73, 23, 43, 20, 54, 97, 2, 97,154, 64, 46,194, -121,153, 25, 50,129, 52, 15,224,243,204, 0, 0,160,145, 21, 17,224,131,243,253,120,206, 14,174,206,206, 54,142,182, 14, 95, 45, -234,191, 6,255, 34, 98, 98,227,254,229,207,171,112, 64, 0, 0,225,116,126,209,254, 44, 47,179, 26,128, 59, 6,128,109,254,162, - 37,238, 4,104, 94, 11,160,117,247,139,102,178, 15, 64,181, 0,160,233,218, 87,243,112,248,126, 60, 60, 69,161,144,185,217,217, -229,228,228,216, 74,196, 66, 91, 97,202, 87,125,254,103,194, 95,192, 87,253,108,249,126, 60,252,247,245,224,190,226, 36,129, 50, - 93,129, 71, 4,248,224,194,204,244, 76,165, 28,207,146, 9,132, 98,220,230,143, 71,252,183, 11,255,252, 29,211, 34,196, 73, 98, -185, 88, 42, 20,227, 81, 18,113,142, 68,154,140,243, 50,165, 34,137, 66,146, 41,197, 37,210,255,100,226,223, 44,251, 3, 62,223, - 53, 0,176,106, 62, 1,123,145, 45,168, 93, 99, 3,246, 75, 39, 16, 88,116,192,226,247, 0, 0,242,187,111,193,212, 40, 8, 3, -128,104,131,225,207,119,255,239, 63,253, 71,160, 37, 0,128,102, 73,146,113, 0, 0, 94, 68, 36, 46, 84,202,179, 63,199, 8, 0, - 0, 68,160,129, 42,176, 65, 27,244,193, 24, 44,192, 6, 28,193, 5,220,193, 11,252, 96, 54,132, 66, 36,196,194, 66, 16, 66, 10, -100,128, 28,114, 96, 41,172,130, 66, 40,134,205,176, 29, 42, 96, 47,212, 64, 29, 52,192, 81,104,134,147,112, 14, 46,194, 85,184, - 14, 61,112, 15,250, 97, 8,158,193, 40,188,129, 9, 4, 65,200, 8, 19, 97, 33,218,136, 1, 98,138, 88, 35,142, 8, 23,153,133, -248, 33,193, 72, 4, 18,139, 36, 32,201,136, 20, 81, 34, 75,145, 53, 72, 49, 82,138, 84, 32, 85, 72, 29,242, 61,114, 2, 57,135, - 92, 70,186,145, 59,200, 0, 50,130,252,134,188, 71, 49,148,129,178, 81, 61,212, 12,181, 67,185,168, 55, 26,132, 70,162, 11,208, -100,116, 49,154,143, 22,160,155,208,114,180, 26, 61,140, 54,161,231,208,171,104, 15,218,143, 62, 67,199, 48,192,232, 24, 7, 51, -196,108, 48, 46,198,195, 66,177, 56, 44, 9,147, 99,203,177, 34,172, 12,171,198, 26,176, 86,172, 3,187,137,245, 99,207,177,119, - 4, 18,129, 69,192, 9, 54, 4,119, 66, 32, 97, 30, 65, 72, 88, 76, 88, 78,216, 72,168, 32, 28, 36, 52, 17,218, 9, 55, 9, 3, -132, 81,194, 39, 34,147,168, 75,180, 38,186, 17,249,196, 24, 98, 50, 49,135, 88, 72, 44, 35,214, 18,143, 19, 47, 16,123,136, 67, -196, 55, 36, 18,137, 67, 50, 39,185,144, 2, 73,177,164, 84,210, 18,210, 70,210,110, 82, 35,233, 44,169,155, 52, 72, 26, 35,147, -201,218,100,107,178, 7, 57,148, 44, 32, 43,200,133,228,157,228,195,228, 51,228, 27,228, 33,242, 91, 10,157, 98, 64,113,164,248, - 83,226, 40, 82,202,106, 74, 25,229, 16,229, 52,229, 6,101,152, 50, 65, 85,163,154, 82,221,168,161, 84, 17, 53,143, 90, 66,173, -161,182, 82,175, 81,135,168, 19, 52,117,154, 57,205,131, 22, 73, 75,165,173,162,149,211, 26,104, 23,104,247,105,175,232,116,186, - 17,221,149, 30, 78,151,208, 87,210,203,233, 71,232,151,232, 3,244,119, 12, 13,134, 21,131,199,136,103, 40, 25,155, 24, 7, 24, -103, 25,119, 24,175,152, 76,166, 25,211,139, 25,199, 84, 48, 55, 49,235,152,231,153, 15,153,111, 85, 88, 42,182, 42,124, 21,145, -202, 10,149, 74,149, 38,149, 27, 42, 47, 84,169,170,166,170,222,170, 11, 85,243, 85,203, 84,143,169, 94, 83,125,174, 70, 85, 51, - 83,227,169, 9,212,150,171, 85,170,157, 80,235, 83, 27, 83,103,169, 59,168,135,170,103,168,111, 84, 63,164,126, 89,253,137, 6, - 89,195, 76,195, 79, 67,164, 81,160,177, 95,227,188,198, 32, 11, 99, 25,179,120, 44, 33,107, 13,171,134,117,129, 53,196, 38,177, -205,217,124,118, 42,187,152,253, 29,187,139, 61,170,169,161, 57, 67, 51, 74, 51, 87,179, 82,243,148,102, 63, 7,227,152,113,248, -156,116, 78, 9,231, 40,167,151,243,126,138,222, 20,239, 41,226, 41, 27,166, 52, 76,185, 49,101, 92,107,170,150,151,150, 88,171, - 72,171, 81,171, 71,235,189, 54,174,237,167,157,166,189, 69,187, 89,251,129, 14, 65,199, 74, 39, 92, 39, 71,103,143,206, 5,157, -231, 83,217, 83,221,167, 10,167, 22, 77, 61, 58,245,174, 46,170,107,165, 27,161,187, 68,119,191,110,167,238,152,158,190, 94,128, -158, 76,111,167,222,121,189,231,250, 28,125, 47,253, 84,253,109,250,167,245, 71, 12, 88, 6,179, 12, 36, 6,219, 12,206, 24, 60, -197, 53,113,111, 60, 29, 47,199,219,241, 81, 67, 93,195, 64, 67,165, 97,149, 97,151,225,132,145,185,209, 60,163,213, 70,141, 70, - 15,140,105,198, 92,227, 36,227,109,198,109,198,163, 38, 6, 38, 33, 38, 75, 77,234, 77,238,154, 82, 77,185,166, 41,166, 59, 76, - 59, 76,199,205,204,205,162,205,214,153, 53,155, 61, 49,215, 50,231,155,231,155,215,155,223,183, 96, 90,120, 90, 44,182,168,182, -184,101, 73,178,228, 90,166, 89,238,182,188,110,133, 90, 57, 89,165, 88, 85, 90, 93,179, 70,173,157,173, 37,214,187,173,187,167, - 17,167,185, 78,147, 78,171,158,214,103,195,176,241,182,201,182,169,183, 25,176,229,216, 6,219,174,182,109,182,125, 97,103, 98, - 23,103,183,197,174,195,238,147,189,147,125,186,125,141,253, 61, 7, 13,135,217, 14,171, 29, 90, 29,126,115,180,114, 20, 58, 86, - 58,222,154,206,156,238, 63,125,197,244,150,233, 47,103, 88,207, 16,207,216, 51,227,182, 19,203, 41,196,105,157, 83,155,211, 71, -103, 23,103,185,115,131,243,136,139,137, 75,130,203, 46,151, 62, 46,155, 27,198,221,200,189,228, 74,116,245,113, 93,225,122,210, -245,157,155,179,155,194,237,168,219,175,238, 54,238,105,238,135,220,159,204, 52,159, 41,158, 89, 51,115,208,195,200, 67,224, 81, -229,209, 63, 11,159,149, 48,107,223,172,126, 79, 67, 79,129,103,181,231, 35, 47, 99, 47,145, 87,173,215,176,183,165,119,170,247, - 97,239, 23, 62,246, 62,114,159,227, 62,227, 60, 55,222, 50,222, 89, 95,204, 55,192,183,200,183,203, 79,195,111,158, 95,133,223, - 67,127, 35,255,100,255,122,255,209, 0,167,128, 37, 1,103, 3,137,129, 65,129, 91, 2,251,248,122,124, 33,191,142, 63, 58,219, -101,246,178,217,237, 65,140,160,185, 65, 21, 65,143,130,173,130,229,193,173, 33,104,200,236,144,173, 33,247,231,152,206,145,206, -105, 14,133, 80,126,232,214,208, 7, 97,230, 97,139,195,126, 12, 39,133,135,133, 87,134, 63,142,112,136, 88, 26,209, 49,151, 53, -119,209,220, 67,115,223, 68,250, 68,150, 68,222,155,103, 49, 79, 57,175, 45, 74, 53, 42, 62,170, 46,106, 60,218, 55,186, 52,186, - 63,198, 46,102, 89,204,213, 88,157, 88, 73,108, 75, 28, 57, 46, 42,174, 54,110,108,190,223,252,237,243,135,226,157,226, 11,227, -123, 23,152, 47,200, 93,112,121,161,206,194,244,133,167, 22,169, 46, 18, 44, 58,150, 64, 76,136, 78, 56,148,240, 65, 16, 42,168, - 22,140, 37,242, 19,119, 37,142, 10,121,194, 29,194,103, 34, 47,209, 54,209,136,216, 67, 92, 42, 30, 78,242, 72, 42, 77,122,146, -236,145,188, 53,121, 36,197, 51,165, 44,229,185,132, 39,169,144,188, 76, 13, 76,221,155, 58,158, 22,154,118, 32,109, 50, 61, 58, -189, 49,131,146,145,144,113, 66,170, 33, 77,147,182,103,234,103,230,102,118,203,172,101,133,178,254,197,110,139,183, 47, 30,149, - 7,201,107,179,144,172, 5, 89, 45, 10,182, 66,166,232, 84, 90, 40,215, 42, 7,178,103,101, 87,102,191,205,137,202, 57,150,171, -158, 43,205,237,204,179,202,219,144, 55,156,239,159,255,237, 18,194, 18,225,146,182,165,134, 75, 87, 45, 29, 88,230,189,172,106, - 57,178, 60,113,121,219, 10,227, 21, 5, 43,134, 86, 6,172, 60,184,138,182, 42,109,213, 79,171,237, 87,151,174,126,189, 38,122, - 77,107,129, 94,193,202,130,193,181, 1,107,235, 11, 85, 10,229,133,125,235,220,215,237, 93, 79, 88, 47, 89,223,181, 97,250,134, -157, 27, 62, 21,137,138,174, 20,219, 23,151, 21,127,216, 40,220,120,229, 27,135,111,202,191,153,220,148,180,169,171,196,185,100, -207,102,210,102,233,230,222, 45,158, 91, 14,150,170,151,230,151, 14,110, 13,217,218,180, 13,223, 86,180,237,245,246, 69,219, 47, -151,205, 40,219,187,131,182, 67,185,163,191, 60,184,188,101,167,201,206,205, 59, 63, 84,164, 84,244, 84,250, 84, 54,238,210,221, -181, 97,215,248,110,209,238, 27,123,188,246, 52,236,213,219, 91,188,247,253, 62,201,190,219, 85, 1, 85, 77,213,102,213,101,251, - 73,251,179,247, 63,174,137,170,233,248,150,251,109, 93,173, 78,109,113,237,199, 3,210, 3,253, 7, 35, 14,182,215,185,212,213, - 29,210, 61, 84, 82,143,214, 43,235, 71, 14,199, 31,190,254,157,239,119, 45, 13, 54, 13, 85,141,156,198,226, 35,112, 68,121,228, -233,247, 9,223,247, 30, 13, 58,218,118,140,123,172,225, 7,211, 31,118, 29,103, 29, 47,106, 66,154,242,154, 70,155, 83,154,251, - 91, 98, 91,186, 79,204, 62,209,214,234,222,122,252, 71,219, 31, 15,156, 52, 60, 89,121, 74,243, 84,201,105,218,233,130,211,147, -103,242,207,140,157,149,157,125,126, 46,249,220, 96,219,162,182,123,231, 99,206,223,106, 15,111,239,186, 16,116,225,210, 69,255, -139,231, 59,188, 59,206, 92,242,184,116,242,178,219,229, 19, 87,184, 87,154,175, 58, 95,109,234,116,234, 60,254,147,211, 79,199, -187,156,187,154,174,185, 92,107,185,238,122,189,181,123,102,247,233, 27,158, 55,206,221,244,189,121,241, 22,255,214,213,158, 57, - 61,221,189,243,122,111,247,197,247,245,223, 22,221,126,114, 39,253,206,203,187,217,119, 39,238,173,188, 79,188, 95,244, 64,237, - 65,217, 67,221,135,213, 63, 91,254,220,216,239,220,127,106,192,119,160,243,209,220, 71,247, 6,133,131,207,254,145,245,143, 15, - 67, 5,143,153,143,203,134, 13,134,235,158, 56, 62, 57, 57,226, 63,114,253,233,252,167, 67,207,100,207, 38,158, 23,254,162,254, -203,174, 23, 22, 47,126,248,213,235,215,206,209,152,209,161,151,242,151,147,191,109,124,165,253,234,192,235, 25,175,219,198,194, -198, 30,190,201,120, 51, 49, 94,244, 86,251,237,193,119,220,119, 29,239,163,223, 15, 79,228,124, 32,127, 40,255,104,249,177,245, - 83,208,167,251,147, 25,147,147,255, 4, 3,152,243,252, 99, 51, 45,219, 0, 0, 0, 6, 98, 75, 71, 68, 0, 0, 0, 0, 0, 0, -249, 67,187,127, 0, 0, 0, 9,112, 72, 89,115, 0, 0, 11, 19, 0, 0, 11, 19, 1, 0,154,156, 24, 0, 0, 0, 7,116, 73, 77, - 69, 7,219, 6, 21, 16, 50, 48,139, 37,211,236, 0, 0, 32, 0, 73, 68, 65, 84,120,218,236,189,105,148, 93,215,117, 30,184,135, -115,135, 55,215,171, 1, 19, 1, 2, 40, 78, 18, 73,137,166, 65, 41, 22,101,205,160, 90, 67,162, 88,138, 1,183,149,216, 89,113, - 98, 32,238,100,181,148,172,101, 3, 29,219,105,199, 75,178, 72,175,229, 33,113,187, 19,194, 67, 71,109, 39,110, 17,146, 45,219, -138,221, 22,161,182, 45,107,176, 45, 66,150,100, 81,226, 0, 20, 49,213,128, 26,222,171, 55,223,225,156,189,251,199,121, 85,134, - 1, 18, 4, 41,208, 36,237,251,253, 32, 11, 85,119, 56,247,220,123,191,253,157,111,239,123, 14, 64,129, 2, 5, 10, 20, 40, 80, -160, 64,129, 2, 5, 10, 20, 40, 80,160, 64,129, 2, 5, 10, 20, 40, 80,160, 64,129, 2, 5, 10, 20, 40, 80,160, 64,129, 2, 5, - 10, 20, 40, 80,160, 64,129, 2, 5, 10, 20, 40,240,210, 7,191, 64,199,125,239,119,236,254,207,255,226,222, 67,111,191, 45,119, -242,151,103,219, 69, 71, 23, 40, 80,160,192,223, 6,126,127,203,171,182,253,222,191,249,142,221,152,237,154,170,191,239,190, 59, -111,217, 86,253,244, 95, 92,200,172, 20,221, 93,160, 64,129, 2,127, 99,160, 23,226,160, 21,200, 96,241,204,104,241,252,240,212, - 55,135, 79, 60,249,254, 55,220,250,181, 95, 56,112,235, 13,141,162,187, 11, 20, 40, 80,224,229,173,223,159, 92, 25, 37, 0,239, -188,163,169, 86, 93,175,107,123,189,153,109, 91,255,213,119,221,253,232,185,181,111,158, 95, 47, 58,189, 64,129, 2, 5, 94,174, -252, 14, 0,159,155,235,255,249,252,232,192,183, 79,197,108,242,209,200,173,183, 32, 42,127,239, 59,239,158, 40,243, 31,253,229, -130, 19, 45,186,190, 64,129, 2, 5, 94, 80,224, 11,122,244,155,102,162,223,251, 23,183,221, 90, 11,134,195, 28,152,105,199,158, -120,215,174,175,158, 94,250,174, 15,253,254,153,139,189, 23,247,202,247,237,219,215,108, 54, 1, 96,110,110,110,110,110,238,101, -113,183, 94,142,109, 46, 80,160,192,223, 78,126, 7,128, 74, 72,191,254,125,123,223, 51,219, 72, 70, 14, 64,112,235,206,210,141, -123, 51,149,191,255,147,159,122,248,203, 23,158,247, 97,103,103,103,103,103,103,175,178, 65,187,221, 62,121,242,228, 85, 54,120, -248,225,135,247,239,223, 15, 0, 71,143, 30,125,224,129, 7, 94, 22,119,235,165,217,230,125,251,246,237,223,191,191,217,108,238, -219,183,207,255,230,228,201,147,115,115,115,199,143, 31,111,183,159,115,233,212,165,199,185, 58,158,245, 22, 23, 40,240,119, 28, -230, 57,239,192, 24, 25,186, 50, 74,168,255, 63,254, 85,196, 64, 68, 68, 0,192, 15,254,238, 82,116, 48,126,251,174,122,150, 43, -180,215,146,114, 53,152,218,250,233, 15,189,247,223,255,250,159,126,228, 99,143, 88,247,124,188,154, 3, 7, 14,220,127,255,253, -207,186,217,241,227,199, 79,156, 56,113,236,216,177,226, 78,191, 16,180,126,224,192,129, 3, 7, 14, 92, 25,104,125, 16,122,240, -193, 7,143, 29, 59,118,244,232,209,231,196,242,251,246,237,123,248,225,135,175,101,203, 19, 39, 78,220,119,223,125,197,141, 40, - 80,224, 58,240, 59, 33, 30,122,221,182, 31,125,235,141,211,213, 80,144, 0, 17,136,128, 8, 16,209,240,230,207, 64,132,204,227, -159,145,128,200, 41,166, 2, 54, 12,104, 99, 47,235,114, 25,225, 79,126,255,235,223,118,247,174, 3, 31,254,253,149,245,209, 11, -116,121, 7, 54,112,240,224,193,231,161, 37, 11, 92, 5,143, 60,242,200,179,110,115,232,208,161,253,251,247, 31, 60,120,176, 16, -218, 5, 10,188,164,249,253, 3,111,218,241,179,239,185, 57, 27,138, 10, 50, 33, 0,129, 34, 40, 2, 16, 10,130, 2, 40, 0, 33, - 8,128, 40, 48, 32, 34, 16,128, 2, 35, 6,140,170, 94,226,251, 45, 85, 16,211, 97,246,166, 59,118, 61,246, 75,223,119,223,191, -251,173, 47, 63,185,242,188,175,225,196,137, 19, 87,254,210, 75,200,205,159, 31,126,248,225,251,238,187,175,160,248, 23, 2, 39, - 79,158, 60,126,252,248,201,147, 39,253,141,104, 54,155,251,247,239,247,204, 14, 0,179,179,179, 15, 61,244,208, 61,247,220,243, - 60, 58,255,216,177, 99, 87, 73, 51, 20,119,179, 64,129,235,195,239,132,240, 67,175,219,166,131, 60, 79, 82, 16, 65,244, 70, 12, - 2, 2, 32, 0,226,216,164, 97,162,169, 45, 64, 8, 34, 72, 0, 66, 0, 2, 8,224,153,158, 4, 68,129, 8, 28, 0, 3, 32,100, -105,222,140,162,147,191,240,143,127,232, 23, 63,243,224,167,190, 62,142, 1,207, 17,207, 52, 72,247, 30,142,119, 15,246,237,219, -119,232,208,161,151,139,207,254,114,193,177, 99,199,142, 29, 59,118,153, 54,111,183,219,199,143, 31, 63,126,252,248,131, 15, 62, -120,232,208, 33, 79,241,207,175,243,189,189, 86,244,115,129, 2,207, 15,215,250,125,147, 40,252,204,103,231,145,210, 74,232, 42, - 37, 40,199, 90,142,181, 28,203,248,135, 72, 98,202,192,229, 24,149, 1, 17, 68, 64,228, 18,178,206, 64, 18,144, 17,104, 2,144, -130, 36,160, 25,136,128,168,170,228, 78,108,234,254,243, 7,222,254,208,143,191,187, 28, 5,215,241,218,142, 31, 63,126,169,102, - 63,112,224, 64,113,191,175, 35,238,187,239,190,195,135, 15, 95,197,120, 57,124,248,240,166,250, 62,114,228, 72,209, 99, 5, 10, -188,116,253,153, 7, 63,191,244,153,199,219, 55,207, 68, 8, 40, 27,220,237, 11,217, 83, 43,175,187,169,113,228, 29,183,149,131, -146,136, 0, 51, 32,128,136,102,125,100,164, 93,119,209,204,205, 88,223,134,113, 29,108, 42,131, 21,237, 45,202,202, 19, 96, 71, -128, 37, 5,231, 20,164,159,125,247, 27, 94,177,119, 71,227, 77, 31,124,104,144,228,215,235,242,124, 21,135, 87,145,215, 88,149, -113, 25, 46, 43, 11,121, 30,158,192,102,169,207,181, 23, 53, 62,143, 93,174, 99,155, 55,207,126,245,125,175, 69, 89, 31, 59,118, -204,167,193,125,147, 10, 23,190, 64,129,151, 40,191, 3,192,169,213,244,212,106,122,229,239, 95,189,171,254, 79, 94, 55, 91,229, -200,138, 2, 33, 36,137,166, 3,112, 3,190,245, 13,230,158,247,243,222,239,184,114,200,160,173, 51,246,244,103,220,217,207, 35, -135,160,170, 8,217, 48,219,119,211,246,223,251,169,247,237,255,145,227,249,245,155,172,230,249,213,137, 55,155,205, 67,135, 14, - 29, 56,112,224,178,168, 48, 55, 55,231, 77,137, 43,137,239,254,251,239,247, 27, 31, 63,126,252,216,177, 99,254, 8,135, 14, 29, -186,180,188,100,110,110,238,129, 7, 30,184, 74, 61,207,161, 67,135,142, 28, 57,114,217, 46,207,116,198,111,177,205, 87, 54,248, -200,145, 35,135, 14, 29,242, 37,246,112, 61, 10, 84, 46, 37,244,205,195, 22, 40, 80,224,101,131,195,111,222,169,191,248,118,251, -115,111, 31,254,236,219, 7, 15,188,169,255, 31, 94,211,255,241, 87,247,255,195,171,242, 47,253,119,125, 54,216,115,127,158,124, -226, 80,242,201,195,201, 39,255,117,250, 59,255,107,250,219, 31,208, 63, 60,242,161,127,118,239,179,158,244,200,145, 35,155, 7, -185,250,150,247,223,127,191,223,172,213,106, 93,250,251,135, 31,126,216,255,254, 74,235, 96,255,254,253,173, 86,235, 42,205, 62, -125,250,244,149,163,129, 75, 15,184,111,223,190, 71, 30,121,228,153,118,127,240,193, 7,159,150,157, 31,122,232,161,103,218,229, -145, 71, 30,105, 54,155,215,183,205,151, 53,248,202,221,175,177, 78,241, 42,216,191,127,255,230,209, 46,205,120, 95,223, 93, 10, - 20, 40,112, 29,244,251,101, 40,135,252, 11,223,115,235, 15,188,246,134,116, 36,206,229,144,142,192,230,128,138, 1, 68,239,253, - 8,223,249,110,191, 89,119,148,254,193, 87,206,252,193, 87,207,180,250,163,128,241,149, 59, 38,223,115,207,205,223,126,211,118, - 0,224, 93,175,193,176,150,127,238,103, 32, 52, 0, 10,132,182,159,254,232,251,239,253,175,159,254,198,169,249,235, 48, 83, 77, -179,217,220,180,221,175, 49, 83,119,224,192,129,135, 30,122,232, 82, 5,122,226,196, 9,175,124, 55,165,241,236,236,172, 47,200, -121, 90,195,193, 51,181,215,224,190,176, 4, 54,170,197, 55, 69,186, 23,242,151,197,161, 75, 51, 4,155, 59,250,147,238,219,183, -239,210, 86, 93,223, 54,251,200,225,245,245,230, 71, 67, 87,255,124,236,218,249,253,105,181,252,223,164, 63, 86,160, 64,129,231, -140, 91,182,148,158,252,241,191,167, 63,251,214,225,253,111, 25,124,248,222,193, 79,236, 27,252,196,190,193, 79,222, 51,248,247, -175,204, 62,243, 51,155, 18,236,139, 79, 44,124,231,255,254,177, 29,255,234,151,103,255,237, 71,111,251,145, 95,123,229, 15,255, -218,109,255,230, 87,239,248,192,177,163,191,246,153, 65,146,141, 85,252, 99,159, 78,126,227,123,211, 79,125, 48,253,212, 7,210, - 79,125, 80, 63,253,195,255,227,195,239,251,214,245,251,101,138,248, 50, 49,248,180, 90,120,118,118,118, 83,198,158, 62,125,250, - 74,253,120,169, 76,190,172, 0,124,243,128, 30, 15, 61,244,208,101,142,196,236,236,236,166,168,111,181, 90,151,254,245,208,161, - 67,151, 74,245,203,184,245, 74,109,126, 93,218,124, 89,131, 79,159, 62,125, 89, 10,250, 91,119, 84, 78,159, 62,253,180,125,117, -141,250,253,202, 33,197,233,211,167, 55,107,162, 10, 20, 40,240,130,232,247,119,220,222,252,228, 63,187,221,136, 25,166, 57,184, - 12,156, 5, 66, 64, 0,117, 56,189,203,188,246,251,253,102, 79, 46,181,191,255, 23,255, 96,121,100,203,149, 82,206, 28, 4, 28, - 50,178,134,232,236, 39,254,236, 20, 19,125,232,253,111, 6, 0,190,249, 45,238,241,255, 23, 92, 31, 76, 9, 16,108,150,239,191, -251,198,237, 83,149,197,181,193,181, 52,230,105,107, 51,246,239,223,127, 41,211, 29, 62,124,248, 90,244,251,131, 15, 62,184, 41, - 99,159,182,100,219, 91,210, 94,237,250,154,203,167, 53,211, 79,156, 56,113,240,224,193,203,126, 57, 55, 55,119,244,232, 81,111, -122,248, 34,241,227,199,143, 95,118, 9,115,115,115, 87,214,233,251,147, 62, 19, 69, 94,151, 54,207,205,205, 93,185,239,183, 40, -150, 47, 77, 36, 60,191, 79,136,175, 12, 48,179,179,179, 71,142, 28, 57,114,228,200,203,104, 86,137, 2, 5, 94, 54,252, 30, 48, -126,232,221,187,127,228,205, 55,164, 9,164,152,131,228,128, 10, 1, 1, 0, 32,104,158,153, 91,223,136,213,105,191,241,209,255, -246,249, 39, 47,116,160, 81,237,244, 45,160, 99,132, 50,227,116,197, 52, 75,166,209,168,126,242,207,159,124,243, 29,187,247,223, -181, 23,216,240,236, 27,237, 87, 62,138, 51,123, 64, 69, 16,195, 82,248, 15,239,189,233,191,252,238,215,174,165, 73, 87,159,168, -224,216,177, 99,215, 88, 70,237,231, 81, 25,183,252,153,191,170, 63,121,242,228,177, 99,199, 60, 35,239,223,191,255,105,153,235, -240,225,195, 79,187,239,137, 19, 39, 78,158, 60,185,105,152,108,186, 43,155, 63, 63,240,192, 3, 79,123, 94,127, 82, 95, 8,244, - 66,180,249,153,206,251,188,177,111,223,190,205,251,226,207,254, 92,143,224, 39,177,217,116,117, 54,103,185,217,188,233,179,179, -179,207,212,207, 5, 10, 20,128,231,186,190,199,206,137,240,243,255,250,142, 31,121,253,246,225,208, 57,112, 32, 57, 16, 0, 35, - 50,162, 65,100, 66,131,180,227, 78,191,241, 83, 23,215,127,255, 43,231,160, 92, 2, 63, 93, 1,179, 3,234,165,238,169,149,225, -220,242, 48, 87, 20,230,207,252,229, 89,191, 49, 78,223,172,163, 46,128, 5, 4, 64, 5, 43,175,189,109,219,117,185, 66,111, 64, - 95,139,213,176, 73,148,237,118,251,234,124,180, 25, 45,158,182,166,222, 19,211, 85,104,235,178,211, 93, 58,206,184,202,121, 55, -197,254,117,111,179, 47,176,185,142, 79,149,247,250, 55, 27,246,156, 88,184,221,110, 31, 61,122,244,166,155,110,186,231,158,123, - 14, 30, 60,248,192, 6, 14, 30, 60, 56, 57, 57,121,105, 12,243,197, 66,197, 59, 92,160,192,117,208,239,175,159,173,125,230,159, -223, 22, 8, 15, 51, 1, 86, 80, 65, 5, 20, 84, 70, 32, 4, 68, 0, 69, 19, 82,243, 70,191,253,153,149,238,104,152, 67, 61,242, - 95,184,250, 25,200,128, 8, 84,215,251,121,158,217,157, 13,211,219, 40,117,199,218, 86, 0,134,116,136,165,154,130,130,181,119, -205, 78, 19,161, 92,195, 76,241, 71,143, 30,125, 90,138,217,191,127,255,236,236,108,179,217,244,169,203,103,157,159, 96,147, 43, -159, 53, 19,120,233,104,224,202,178,238,171,143, 21,174,164,254, 77,241,126,245, 29,175, 62, 13,195,183,210,230,235, 91,150,238, -211, 30,155, 1,245,232,209,163,207,233,248, 39, 79,158,188,202,246, 15, 60,240,192,137, 19, 39, 54,173,170,251,239,191,255,105, -195, 94,129, 2, 5,174,149,223,153,240,223,190,113,235, 79,191,125,103,150, 65, 18, 8, 18,168, 83,204, 37, 12,169,109, 93, 5, - 8, 12,251,149, 66, 16, 0,212,250,189,182, 52,202, 28, 6, 78, 0, 20, 65, 21, 20, 0, 20, 20, 64, 17,152, 6,195,252,108,146, - 68,119,109, 52, 64, 29,104, 14, 54, 1,170,163,138,138,236,104,198, 1, 83, 42,238, 89,155,119, 21, 31,214,123,181,222,119,126, -248,225,135,239,185,231,158,171, 91, 10, 87,202,207,107,161,179, 43, 21,232,115,186, 7,215,206,209,155,222,206,245,109,243,117, -228,119, 95,138,179,217,170,195,135, 15, 95,247,201, 59, 79,158, 60,121,244,232, 81,111,254,204,206,206, 30, 56,112,160,160,248, - 2, 5,158, 39,191, 55, 74,252,241,127, 50,187,127,119,125,148, 9, 68, 6, 9, 52, 23,147, 75, 88,226, 31,252,228,153,217,169, -232,232, 27,182, 39, 10,232, 37,124,158,203,234, 41,218,245, 26, 0,120,229, 13, 83,127,239,150, 45, 95,248,230, 10, 24, 3,138, - 64, 10, 10,224,191, 91, 18, 4,196,164, 53,184,101,219,152,104,180,187, 0,105, 87,211,137,141,233,199, 20, 20,240, 91,158,157, -222, 83,191,231,130,171,164, 67, 47, 99,189,103,157, 92,254, 5,194,179, 6,134, 43, 55,120,209,219,124, 21,114, 63,122,244,232, - 11, 52, 51,243,230,103,177,112,157,234, 56, 11, 20,248,187,200,239,119,237, 40,255,238,247,221,180,171, 18, 14, 5,177,204, 0, -160,153,196,162, 73, 8,239,249,232, 19,127,240,205,206,135,222,121, 3,122, 34,102, 4, 4, 48,164, 23,191, 14, 99, 39, 6,127, -236,189,247,188,235, 27,159,130, 36,135, 40, 4, 69, 0, 0, 1, 16, 0, 21,232, 15,239,190,253,134,239,123,211, 29,126, 99, 89, -254,166,106,142, 46, 3, 16, 80, 37,212,197,214, 32,187, 30, 95,177, 62,240,192, 3,155, 92,112,224,192,129,107, 97,156,231, 52, - 43,192, 75,164, 34,251,165,208,230, 75,201,253,216,177, 99, 47, 92,125,139, 47,210,247,231,218,191,127,127, 81, 72, 83,160,192, -115,227,119, 4,248,129,215, 78,253,210,123,246, 88, 11, 67, 67, 24,145,138,234,200, 85, 12, 62, 62,200,255,193,175, 60,241,228, -114, 2, 0,167, 86, 83, 64,213,177,126, 7,136,203,238,204,231, 76,251, 12, 54,247, 0,192, 59,239,222,115,236,135,222,242,193, - 95,249,147,225,122, 10,113, 4, 76,160, 10, 89, 14,195,209,183,191, 98,235,199,127,248,221,149, 56, 0, 0,200, 71,238, 27,159, -192, 48, 2,116,160,162,226,128,232, 47,158, 90,145,235,180, 76,235,137, 19, 39,188, 7,114,141,223, 67,190,160,220,244, 2,225, - 69,111,243,131, 15, 62,120, 41,185,191,208,149, 45,197,135, 78, 5, 10, 60, 43,158,177,126,230,208,235,102,126,249,187,246, 36, - 22,242,178,193, 18,171, 0, 12, 93, 37,230,223, 60,213,121,237,207, 63,234,201, 29, 0, 30, 93, 30, 1, 33,248, 53,152,152,192, - 24,176,253,252,115, 63,183,121,156, 31,124,219, 29, 95,252,200,119,127,240,239,191,106,239,100, 20,107, 94, 37,119,239, 45,211, -255,199,255,242,214,207,126,248,192,222,173, 13,191,141,253,210, 47,235,250, 25, 8, 34, 69, 4, 80,176, 14, 8, 79, 62,185,252, - 55,220, 23, 87, 86,182,188,212,206,123,229, 6, 47, 86,155,175, 36,247,205,218,205,191, 1,114, 47, 80,160,192,243,215,239,229, -144,126,234, 45,219,179, 68,160, 26, 96,136,154, 41, 39, 54,170,240, 79,127,118,233,199,254,199,249,252,146, 21,245, 30, 93, 28, -157,239,100,219,170,161, 83, 29,207, 5, 95, 42,203,185,207,218,207,255,188,121,253, 7,253, 54,175,222, 61,253,115, 63,240,198, -143,124,159, 93,106, 13,194,192,236,152,172, 92,122, 46,247,141,223,182, 95,251, 53,136,203, 0,128,196,234, 4,157,228, 73,250, -169, 63, 61,115,189, 46,242, 26, 45,218, 75,135,252,205,102,243,111, 76, 33,206,205,205,249,243, 94,125,134,203,167,253,235,139, -213,230, 23,157,220,175, 61, 41, 93,160, 64,161,223,255, 26,166, 43,166, 25,177, 21, 80,167, 58,116, 97,230, 48,194,131,191,113, -234,200,239,156,203,255,250,114,169,195, 76,126,225, 79,151, 3, 3,154, 56, 0, 69, 2,100,194,114,205,125,237,255,206, 79,252, -152, 14, 87, 55,183,140, 3,179,103,107,227,175,145,123, 62,114,127,246,127,218, 63,249, 48, 70, 33, 50, 35, 2, 4, 17,228, 54, - 32,248,189, 71,206,156, 91,238, 95, 47,114,223,228,247,171,115,193,165, 21,132, 87,126, 73,244,194, 97,243,188,254,163,214,107, - 23,239, 47, 98,155, 95, 92,114,191,244, 74,159,223,252,160, 5, 10,252,221,229,247,165, 94,126, 38,177,229, 50,151,115, 87,102, -232,145,188,241,191, 60,118,252,100,235,105, 55,254,229, 47,174,116,114,103,114, 7,185,128, 95,147,143, 17, 42, 53, 57,253,251, -217, 39,190,223, 61,250, 9,237,206, 95,182,139, 14, 86,228,244,137,236,183,126,192,254,197, 47, 65, 28, 3, 27, 64, 5, 68,164, - 0,147, 28, 88,255,183,255,250,165,235,114,121,190, 22,123,243,159, 87, 47,164, 59,126,252,248,165,235, 81, 60,191,249,226,159, - 7,142, 31, 63,190,169,187,159,105, 29, 12, 63,121,239, 75,167,205, 87,146,187, 47, 91,124, 78,113,247,200, 6, 54, 67,215,181, -124,134,230, 63,104,240, 63,251,181,162,138,215,184, 64,129,231,192,239,153,213, 55, 63,248,196,127,124,100,229,227,115,221, 35, - 39,230,111,251,200, 95,254,217, 83,207,168,166,219, 67,251,131, 31, 63, 27, 68,172,125,171,185, 0, 32, 32, 2, 34,148,235, 96, - 59,249,231,126, 42,251,196,251,179,223, 57,108, 63,247,211,246, 79,255,147,253,194,207,100,191,247,129,236,227,223,155,159, 56, -170,253, 51, 80,105, 0, 17,248, 58, 72, 33, 77, 49,136,233, 35, 15,253,197, 55,207,127,171,147, 71,250, 53,225, 30,121,228,145, - 77,202,123,214, 47, 60,225,146,121, 5,124,169,223, 85,212,244, 38, 61,125,235,247,160,221,110,111,166, 70,247,239,223,127,229, -236,193,151,206,239,248, 18,105,243,149,228,254, 92,151,183,157,157,157,189,127, 3,155,247,200,127,166,112,149,175, 82,253, 6, -155, 93,113,221,167, 85, 40, 80,224,111, 19,158,177,126,230, 92, 43,253,224,111,158,189,198,163,124,252,203,107, 63,191,183,250, -193, 55,108, 27,117, 51,172,135, 16, 17, 16, 2, 40, 4, 1, 6, 1,168,232,218, 87,237,242, 73, 0, 5, 0, 36, 3, 38,132, 74, -245, 18, 61, 15,144, 57,149, 82, 28,133,127,248,181, 11, 63,241,223,191,242,156,174,225, 26, 87,109, 61,124,248,240,179,114,193, -137, 19, 39, 14, 31, 62,236, 25,214,211,229,137, 19, 39,252,164, 49,151,186, 61,251,247,239,247,148,244,156, 20,235, 85,112,236, -216,177,205,137,124,253,202,212,155,235,154,250,181,170,155,205,230,220,220, 92,187,221,190, 82,161,191, 40,109,246,173,186,244, - 55, 87,153,190,120,115,168,113, 45,197,169,126, 98,184,185,185,185, 19, 39, 78, 92, 54,255,204,165,115, 44,251,160, 82, 84, 70, - 22, 40,240,124,248,253,185, 49, 44,192,143,124,242,220,150,122,240,254,187,166,146, 78, 6,181, 0, 99, 30, 87,196, 3, 0, 18, -132, 49, 62,211,158,162,144, 58,233,102,165,237, 91, 79,158, 89,121,223, 79,253, 81,118,253, 22,111,218, 36,130,171,175, 20,122, - 25,213, 2,192,253,247,223,239, 69,226,101,243, 80,190, 64,104,183,219, 7, 15, 30,124,248,225,135,125,170,192,107,219, 43, 55, -120,166,153,212, 94,148, 54, 95, 38,171,159,117,155,231,180, 82,182, 31,126, 93,253, 54, 93,175,224, 90,160,192,223, 45,127,230, -121, 32,119,250, 79, 63,122,250,167,255,104, 49, 14, 41,232,230,210,201, 33, 17,176, 0, 10, 8,120, 57, 0, 17, 16, 28, 64, 38, -218,181,216, 78, 75,205,137,223,252,218,202, 91,126,244,211,235,131,236,122, 53,233,196,137, 19,199,142, 29, 59,120,240,224, 61, -247,220,243,156,170, 44,142, 29, 59,118,207, 61,247, 92,125, 73,188,227,199,143, 95,223,143,239,253, 12,189,207, 52,219,240,179, - 94,194,139,210,230,235, 14,111,226, 95,253, 74,253,178,233,215, 50, 26, 43, 80,224,239, 56,240,186, 31,241,173,183, 53,126,245, -253,123,119, 55, 35,155,170, 53, 8, 49,163, 33,240,115,144,109,248, 41,224, 64,173, 64,226, 56,151, 32,192,174,131,127,249, 91, -243, 31,251,252,188,168,190,212, 58,104,211,214,216,100,225,118,187,253,156,164,232,115,133,247, 82, 54,167,116,247, 54,197, 75, -188,205, 47, 80,207,251,233,225, 46,101,255, 98, 9,167, 2, 5, 94, 76,126, 7,128,122,204,223,243,154,169,127,247,214, 29,123, - 38, 66, 80, 84, 85, 65,148,141, 83,145, 2,169, 34, 2, 32,172,140,220,207,127,118,233, 87,191,184,178,212,201,138,155, 81,160, - 64,129, 2, 47,117,126,247,136, 2,186,117, 75,252,221,223, 54,249,250,217,218,246,106, 48, 17, 81,200,152, 59,232,228,238,226, -192,126,229,252,224, 55,190,188,246,232,194,168,159,186,226, 54, 20, 40, 80,160,192,203,137,223, 47,133, 97, 52,132, 76, 32, 10, -214,233,101, 31, 73, 21, 40, 80,160, 64,129, 2, 5, 10, 20, 40, 80,160, 64,129, 2, 5, 10, 20, 40, 80,160, 64,129, 2, 5, 10, - 20, 40, 80,160, 64,129, 2, 5, 10, 20, 40, 80,160, 64,129, 2, 5, 10, 20, 40, 80,160, 64,129, 2, 5, 10, 20, 40, 80,160, 64, -129, 2, 5, 10, 20, 40, 80,160, 64,129, 2, 5, 94,210,192, 95,251, 79, 63,139,136, 10, 10, 0,196, 12, 0, 42, 14,156, 34, 17, - 18, 40, 16, 51, 33,249, 73,125,129,144, 56, 96, 85, 69, 96, 4, 61, 51,247,196,142,221,183,133, 70,156, 40, 17, 2,224,120,186, - 3, 68, 36, 12, 16, 68, 65, 65, 1, 8, 9,213,137, 10, 16, 19, 33, 18, 83, 16,176,168,130,128, 56, 0, 68, 17, 5, 64, 80,161, -144, 9, 8, 17, 1,128, 8, 0, 64, 65, 85,149, 0,137,200, 47,229, 65,196,164, 0,140,170,126,238, 50, 4,192, 63,254,227, 63, - 68,228, 59,110,191,157,131, 32,207,242,213,165,149, 71, 30,253,250, 91,247,223,247,138,217,157,189,110,207,230, 73, 20,242,176, -211, 10,234,211,146,182, 79,125,227,113, 83, 42,205, 76, 54, 75,149, 74, 20,213, 76, 16, 0,177,225, 0, 16, 17, 65, 69, 20, 80, -213, 17, 32, 16, 17, 50, 17,249,150,136,106,200, 70, 17, 1, 9,145, 16,192, 57,135, 8,132,172,170,128, 10,138, 64, 8,170,227, - 93,209,128,138,170, 32, 32, 16, 1,168, 10,154,128, 1, 65, 69,129, 16, 1,197, 58,100, 32,242,157, 47,227,213,175, 20, 1,148, -153, 0, 64, 68, 1, 65, 68, 12, 27, 17,241, 55, 67, 68, 16, 20, 56, 64, 0, 16, 17, 16,102, 3,128, 72,136,196,190, 91, 69,133, -201,119, 38,178, 9,178,100,216, 91, 62,195, 1, 2, 32, 34, 35, 2, 41, 8, 0,179, 65, 4, 68, 84,113, 20, 84,103,118,223,201, -153, 77, 71,157,184, 84, 62,127,254,169,143,254,198,111,221,126,211, 45,255,232, 61,111,183, 20, 0,200,185, 39, 30,255,210, 87, -190, 30, 69, 49, 51,155,176, 92,153,217,158,165, 25, 56,235, 40, 88, 56,253,167,147,245,106,127, 48, 58,249,245,111,158, 91, 90, - 94, 94,105,125,231,189,111,189,113,215,246, 44, 3,201, 71,128, 65,181,222,116,105, 47, 27, 14, 70,253,118, 62,232, 13,250, 93, - 50, 1, 33,213,227,176, 62, 57, 83,106,110,205,179, 97,169, 62,185,117,231,238,184, 62,211,235,246,178,164,189,248,248, 35,147, - 55,220, 82,111,110,201,211, 81,142, 1, 42,113, 96,108, 50, 4, 2,198, 64,156,123,234,236, 19, 54,205,235, 19,205, 60,233,238, -188,249,149,103, 31,253,115,142,167, 9,176,212,104,100,163, 78, 92,155, 82, 7,105,178, 94,170, 76,219, 60, 27, 13, 86, 84, 41, -207,242, 56, 10, 43,213,134, 42, 36,233,168,191,190, 58,189,101,199,212,150, 27, 91,139, 79,214,167,182,128, 41,247, 59,237, 97, -119, 49, 8,171, 38,174, 72,214,103,138, 52, 44, 25,162,128,176, 92,171,138, 98, 80, 42,167,105,154,245,123,105,127,173, 62,181, - 83,144,122,107, 23, 37, 89,189,241,206,123,151,151,230,215,151, 23,226,250, 36, 37,235,253,238,122, 20,150,219, 43,103, 51, 8, - 92,150,199, 1, 89,103, 47,182,214, 74, 97, 92, 42, 87, 75,113, 84, 42, 87, 37, 29,118,251,157,229,213,229, 90,125,154, 77, 88, -171, 55, 75, 81, 9, 8, 91,171, 23, 70,195, 81,169, 82, 37, 10,211, 81,223, 58,155,166,105,173, 20,246, 7, 73,154,167,132, 80, -137,203,173, 78,123,190,213,189,101,231, 13,185,211, 48, 14, 80,236,160,183, 94,105,108,137,163,184, 18, 5, 97, 64,231, 46,156, -153,158,217,179,103,239,206,187,239,186,145, 56, 84,231,128, 0, 65, 85, 68,129, 17, 25, 85,129, 72, 84, 81, 1, 8, 21, 16, 0, -196, 9,160,127,213, 16, 20, 84,133,152, 68,198,239, 34, 48,177, 56,107,237,210,202, 74,183, 55,152,221,189,171, 86,141, 71,105, -134,200, 34, 0,168,254,229, 21, 43, 0, 66,102, 99,133, 9, 79, 49, 8,168, 42,128, 42,142, 0, 20,157, 8,182, 59,163, 97,202, -149,198, 68,100,176,219, 94, 95, 90, 90, 88, 88, 90, 88,106,181, 91,157,206,210,234, 90,175, 63,108, 54,106,111,187,119,223, 91, - 95,115, 39, 3, 38, 22, 98, 34,206,243,245,229,149,211,243, 11, 75,235,189, 97,150, 85,226,232,214, 87,220,186,180,116, 49, 8, - 77,125, 98,226,179,127,246,149,225,250,122, 16,176,128,160,106, 41, 42, 49, 83, 64,236,223, 14, 98, 66,164,241,178, 64,136,153, -205, 73, 33, 10, 66,244,196,194,100,136, 50, 85, 98, 69, 7,169,181,224, 68, 17, 17,193,138,250, 21,138,156,170, 1, 0, 32, 1, - 5, 39,192, 8,170, 0, 72,136, 78,197, 40, 90,223,153, 42,130,224, 15, 11, 10,162,162,138,136,170, 10,170,160, 42,160,106, 85, -213,119,183, 40, 17,170,170, 83,145, 60, 87, 28,243, 36, 17, 89, 85, 84, 84,155,131,225,128, 13, 33,137,191, 87, 10,162, 0, 0, -170,234, 84, 13, 32, 16, 32, 5,170,150,144, 80, 53,181,150,223,247,206,251, 0, 0,136,136, 8,128, 84,101,124, 39,252,196,237, -128, 72,196,200, 68, 68,136,136, 36,162,136, 4, 32, 65, 20,187, 44, 31,229,174, 18,135,136, 8,160, 72,228,159, 8, 66, 4,103, -253,109,222,156,241, 23, 61,243,248, 69, 86, 9,124,204, 80, 5, 80,117,170,132, 12,160, 0,168, 34,200,138,254, 81, 0, 20, 21, - 2, 64, 0, 1, 85, 81, 64, 36,100, 98, 32, 30, 31, 93, 65, 84,149,144,171,149,232,137, 39, 79, 69, 81, 28, 71,113,169, 92, 99, - 86,205,221, 99, 79,204,221, 52,123, 83, 41, 10,179, 44, 87,117,198, 4,189,246,218,214,157,123,187,157,214, 43, 95,253,218,116, -212,182, 86,226,184,132, 48,110, 63, 19,161,162,162, 2, 34, 1, 9, 40, 51, 35,145,168, 16,177,170, 0,168,147, 28, 0, 16, 61, -227, 3,109,206,105,239,251, 12, 55, 46,118,131, 88,193, 7, 13, 66, 85, 5, 68, 31, 47, 1, 17,145, 64, 55, 58,200, 47,133, 66, -128, 68, 32,160,128,160, 74,100, 68, 28,136, 2,145, 63,220,198, 74, 85,168, 10, 2, 72, 68,104,124, 44, 65, 68, 26,119, 25, 34, -168,128, 2, 33,108, 68, 68,255,156, 64, 50, 26,217,108,157,145, 13,177, 95, 97, 11, 8, 8, 9,137, 1, 84, 85, 65,121,122,247, -157, 81, 24, 38,221,245, 40, 10,207,156, 57,245,235, 31,251,237, 93, 91,183,191,247, 31,190, 27,152, 84,164,181,188,252,231,143, - 60, 66, 28, 16,170,137,171,113,117,194,162, 81,155, 16, 7,253, 94,203, 37,173, 90,173,210,234,116,206,206, 47,173,247, 6, 86, -244,238, 87,221, 19,154,192, 57,196,160,100,216,128,138, 36,253,124,212,149,100, 96,243, 52,205, 70,164, 84,138,194,184, 84,226, - 40,140,202, 77, 19, 87,131,184,188,101,251, 30, 1,114,249, 8,197,153,210, 68,154, 75,169, 54, 81,153,152,177,121, 38, 2,214, - 14, 93, 58,234,247,122, 28,132,163,193, 96,148,164, 54,235,149,171,141, 81,123, 65, 52, 76, 83,225, 48, 76,211,174,179,185, 29, -117,131,168,130, 38, 72,134,189,106,185, 62,234,175, 85, 39,111, 8,131,168,209,168,247,147, 97, 58,236,130,104,169, 20,113, 80, - 17,117,149,106,189,213, 90,234,182,214, 56,136, 20,205,168,187,170,192, 2,129, 77,147,184, 62,157, 14, 90,206, 57,201, 19, 73, - 7, 65, 92,149, 60, 5,103,173,205, 41, 44, 5, 97, 20,150, 75, 0,184,182, 54, 63, 49,181, 51, 46, 87,134,189,181, 82,101,130, -216,164,131,158, 2,169, 16, 51,165, 89,110, 76, 16,132, 37, 1,100, 14, 74,149,186, 81, 71, 28,168,138, 49, 81, 80,106, 32,134, - 6,181,223,111, 35,234,176,191,110,130,160, 55, 24, 84,170, 13,155,166,195, 97, 15,213, 41,106,218,107,213,170, 85,231, 92, 57, -142, 50, 7, 97, 16,154,192,156,185,120,177, 81, 46,151,194,176, 63, 24,176, 9, 41, 8,243, 44, 47,151, 74,185,179,204,145,178, -185,184,220, 22,167,211,205, 32, 42,197,226, 28, 0,224,198, 19, 53,214, 25,254,209, 85, 20, 0, 5, 69, 66,245,143, 19, 17,160, -248, 7,218,115, 99, 16, 24,201,178,133,149,181,165,149,149,114,165,182,103,215,142, 48, 52,137,181,168,136,104,112, 44, 19, 16, - 0,148,188,222, 67,242,175, 4, 33,232,248, 13, 65, 85, 54,104,157,116,250, 89,187,151,115,216,152,156,108,228, 73,178,180, 56, -127,230,236,217,243, 11,243,243, 43,203, 11,171,171, 23, 22,151,197,201,235,191,253, 85,239,127,231,155, 94,115,199, 77,121,238, - 64, 48, 86, 29,173,183,230,230,206, 62,121, 97,241, 66,187,147,165,233, 77,123,118,236,220,179,253,212,249,165,246,218,170,137, -227, 47,127,237, 27,118, 56,156,168,149, 9,137, 80, 17, 41, 10,130,128, 13, 51,177, 33, 38, 50, 72, 10,162, 10, 68, 8, 8,108, -152,144,152,199,175,108, 16, 4,128, 10,170,206, 58, 81,101, 64, 68,100, 36, 11,234,223,108, 43, 46,100, 6, 5, 64, 34, 34, 32, - 96, 68, 5, 4, 66, 66, 84, 65,167,162,158, 8,136, 16, 81, 0, 16, 20, 17,212, 33, 49, 58,209,192,235, 60, 31, 44, 1,157,138, -136,128,122,137, 12, 10,170,136, 42, 96,216, 43, 72, 97, 50, 72, 8, 28, 48, 97,192, 6,137, 8, 16,145,156,232, 38,185,123, 70, - 17, 4, 20, 5, 0, 70,200, 69,197, 57,126,223,187,254, 39,212,113,200, 5, 80, 68, 64,175, 64, 17,152,145,136,144,144,153, 24, -128,189,192, 84,117, 42,128,164,162,113, 20,174,175,175, 55,106, 53,245,234, 85, 21, 68, 0,199,203,240,161,103,116, 4, 68,127, - 91,217,207,102, 70, 64,204, 4,136,160,160,128,170,128, 62,100,160,162, 1, 66, 98, 34, 5, 29,255,217,247, 15, 2, 35,161,215, -209,232,167, 23, 70, 85,113,155, 15,140, 72,173,222, 28, 14,215,207,158,159,159,153,158, 12,194, 40, 12,227,128,105,121,117,105, -165,221,190,101,118,150, 77,152,102,137, 97, 21,235,150, 47,206,183,214, 86,227, 82,165, 86,175,181,150,150,194, 40, 10,163, 24, - 20,208,160,205,114, 32, 70, 68, 80, 96, 66, 36, 82, 21, 81, 69, 0,242,193, 14, 17, 0, 85,213, 57, 71, 72,134,140,234, 95, 91, -193,196,175, 92,130,138, 0, 56, 30,189,160,128,167, 99, 54, 60,238, 17, 66, 0, 98, 3,226, 16, 4, 1, 16,198,225,205,223, 5, -242,157, 35, 78,156, 83, 66,102, 6,244,239, 36,136,117,234, 28,248, 67, 40,128,128, 63,170,170,250, 72, 2,170,136, 24, 4,129, -138, 40, 0, 17, 34,168,130, 34, 81, 50,236, 99, 62, 98,230,113,115,137, 16, 9,136,252, 46,106,221,150,155,239,174, 77,111, 77, -187,157,184, 84,106, 47, 47,252,234,127,251,127,166, 39,183,124,255, 63,254,158,168, 90,177,105,154,141,250, 95,251,234, 87,251, - 35, 65, 73,140,137,195,198, 54,113, 78,236,208, 4, 33, 71,141,108,212, 69, 55, 48, 97,184,178,210, 89,110,181, 58,189, 1, 51, -237,221,121, 3, 33,170, 83,151,245, 13, 89,100,182,195,110, 54,234, 57,235, 68, 1,208, 88,200, 9,164, 82,169, 84, 38,102, 40, -142, 37, 79,103,118,236,169,212, 39, 70,163, 65,150, 12,109,110, 43,149, 74,158,229, 46,205,179, 65, 91,213,165,105, 58, 28, 12, -109,150,138,112,181,214, 92, 95, 95, 25,101,121, 41, 10, 89, 53,174,214, 21,201, 58,167,249, 96,106,235,174,184,212, 40,215,182, - 84, 27,117,176,214, 2, 77, 52,106,224,146,110,167, 29,134, 37,151,117,178, 36,113,162,245,230, 13,154,117,234,141,153,250,228, -214,114,101,178,215,237,244, 58,173, 82,181,234,210, 30,135, 37,230, 48, 46,149, 64, 44,184,212, 10,113, 16, 77,109,221,102,109, -194, 38, 6,213,220,102,121, 50,140,203,141,124,212,203,179,145,130, 10, 26,114, 25,169,205, 83, 91,111, 78,170,115,134, 96,216, -239, 68,113,196,128, 10,129, 2,132, 6,195, 48,136,162, 50, 32,244, 59,171, 89, 50, 98,142,242,108,148,140,146, 36, 79, 66, 38, - 80, 65, 19,137,203, 42,213,102,183,211, 14,131,208,230,163,208, 68,195,225, 42, 19, 87,234, 91,157, 56, 0,104, 78,204, 12, 58, -171,195, 36,153,158,168, 59,224,167,150,230, 43, 97, 80,138, 75, 66,134,208,168,230, 44,163,114, 84,142, 75, 85,112,110,152,246, -215, 91,221,126, 47,159,222, 58, 83, 45, 71,206,137, 87,216,160,168, 99,110, 34, 0,135,196,176,241,246,146, 87, 88,170,170,138, - 4, 32, 66,204,113, 20,175,119,218,143,157,122,178, 92,174,222,120,195,182,122,173,230,156, 19, 81, 38,220,144, 32, 94, 23,145, - 31,176,250, 87,193,203, 23, 79, 29, 8,192,170,204,212, 29,142,150, 91, 35, 52,213,102,115, 75, 28, 6,107,203, 75,231,206, 62, -117,238,194,133,249,149,165,133,149,181,243, 23,151, 47,182,218,187,183,111,255,193, 3,239,124,243,190, 87,150, 74,129,115, 88, -162,208,246,251,231,207,158, 63,125,126,241,252,234,234,210,122,103,215, 84,179,210,168,174,180,187,103,231, 23, 83, 7, 23,230, - 23, 58,173,142, 1,136,195,208, 4, 33, 32,196, 65, 96, 56,100, 38, 66, 12, 67, 19, 48, 41,128, 19, 21, 81, 66, 54, 68,162,202, - 64,228, 25, 80, 20,145, 25, 48,119, 78, 65, 81, 1, 9, 68, 84, 65, 17,209,137, 42, 40, 35, 6, 76,138, 72,136, 28, 50, 18,140, - 5, 58,128, 1,204,124,199,142,165, 60, 24, 67,168, 32, 72,128,104, 16, 77,200,170,200, 32, 2,154,139, 3, 81, 1,112, 42, 34, -206, 83,171, 31,241, 19, 49, 17, 25, 98, 50, 20,112, 96, 69,141, 97, 67,100,152, 13,179, 42, 16, 42, 18,139, 8,129, 0, 49, 18, - 18,146, 10,228,206, 50,141, 3,182,170, 24, 54,204,204,239,123,199,219, 97, 60, 18,131,177,226, 6, 37, 19, 4,198,248,136,198, -134,193, 9,120, 37, 10, 4, 4,226,172,181, 14, 85,136,185,223,235,155,184,204, 8, 0,130,224,159, 27, 68,246,244, 1,140, 36, -170, 0,200,228,131,186, 23,178,140, 4, 27, 93,131, 72, 34, 0, 42, 74, 62, 96, 17, 16, 26, 68,149,141, 1,161, 23, 15, 0,180, - 33, 7, 20, 17,101, 99,180,227, 7, 1, 68,192,200, 91,183,109,123,242,137,199,243,204,150, 75,113, 92, 46, 9, 96,100,130, 71, - 31,123, 98,203,246,173, 19,213,146,181,226,108, 90, 42,149, 69,225,214, 59,247, 45,159, 63, 85,159,190, 65, 37, 3, 64, 14, 2, - 31,184,136,141,120, 59, 9, 17, 80, 65,188, 26,182, 72, 6, 25,199, 44,140, 74, 68, 76, 44, 27, 61,182,209,111,227, 39,218,143, -154,254,234, 15, 0, 72,196, 76,168, 64,204,108, 80,196,249,105,241,253,184, 4,199, 99, 69,221, 60,154,202,120, 81, 89,102, 67, -190,211, 12, 35, 0, 56,177,214,137,115, 27,177, 6,137,201, 71, 56,220,240,143,144,136, 0,114,103,137,152, 3,163, 10,158,208, -137, 77,210,235,160,228,136, 6,213, 1, 18,140, 3,230,248,133,172,205,236,153,190, 97,214,165, 35, 86, 73,250,173,143,254, 95, -191,210, 25, 6,141, 90,101,239,238, 27, 3, 68,100, 60,117,250,236,252,194, 60,177, 33,142,130,202,132, 41, 85, 76, 84, 42,215, - 38,156,160,230,233,104,208, 10, 88, 16, 97,109,173,213,234,244, 46,174,181,234,181,230,237,183,239, 19,117, 78, 53, 42,149, 53, - 25,216,100,228,172,213, 52,205,179, 20, 0, 6,163, 62,169, 76,214,155, 81, 41, 14,227, 42, 25, 14, 74,181,169,237,187,243,100, -221, 41, 6, 97, 20, 70, 85,116,169, 40,167,121, 46, 46, 43,149,106,113,173, 97,147,172,183,190,140, 0,234,178,213,165,179, 38, - 44, 87,234,211, 78, 68, 57,204,211,132, 77, 24,215,167,243, 65, 59,205,210, 81, 58, 92, 57,243,141,245,181,243,113, 84,179, 18, -228, 14, 1,145,195, 88, 53, 74, 6, 23,227,114,173, 54, 57,213,235,180,173,115,181,137,105,219, 91,238,244, 90, 86,141,164,131, -204,230,165, 90, 51, 25,116,203,113,212,152,220, 34,206,230,142,103,182,110,109,135,221,156,195, 0, 0, 32, 0, 73, 68, 65, 84, - 76, 52,146, 68,114,155, 57,155,102,105,194, 65, 69, 80, 7,221, 69,226,216, 57, 27, 85, 38,243,100,148, 14,215, 43,181,201, 60, -207, 59,171, 23,114,135, 96, 71, 1, 75,107,109, 9,213,142,146,129,136, 84,106,205,100,208, 3,149, 70,163,153, 99, 48, 28,116, - 13,155, 52, 29,245,250, 45, 22,113,105,127,199,182, 93,136,148,228,163, 60,207, 51,155, 84,171,205,193,104,128, 92, 98, 14, 76, - 16, 34, 82,146,101,129,230,235,157,149, 52,179, 97,104, 34, 70,235,116,173,215,223,218,108, 24,102, 0,137,226, 74,110,109,154, - 14,146,204, 13, 71,125, 43, 46,205,157,117, 48, 24,216,230,100, 57, 14, 3,231, 28,130,215, 25, 8, 2, 72,128,202, 48,142,248, -168,254,213, 27, 51, 52, 42, 40, 41,128,218, 51,103, 46,156,191,184,242,138, 91,111,218, 50, 53,229, 60,245,143,227,129, 31, 2, -226, 37,250,157, 0,189,139, 73, 0,160,214,191,170, 64,164, 78,117,173, 51,234, 12, 97,106,122, 71,173, 90, 73,211,222,133,243, -103,231,230, 78,157, 89, 88, 88,105,183, 47, 44, 46,207,175,172,146,194,254,239,216,247,207,191,235,109,219,166,235,163,204, 6, - 28, 5, 78,151, 23,206, 61,113,234,236,133,139, 43, 43,189,126,104,176, 92,105,128,100,213,137,122,185, 57,245,232,163, 79, 12, - 59,221,106, 96,162, 32, 48, 76,204,108,115, 9, 2,102,102, 68, 98,102, 34,227, 45, 40,113, 42,224,226,208, 56, 21, 43, 98,152, - 17,192, 57, 29,123, 54, 0, 86,196,233,248,229,205,157, 24, 68, 67,228, 64, 12,177, 97, 34,196, 52,119,158,169, 68,196, 58, 33, - 68, 4,117,170, 78, 53, 52,108, 69, 64, 33, 12,195, 49,161, 50, 25, 0, 81,151, 89, 69, 68, 66,112, 0, 78, 21, 68,157,130,147, - 92,192, 33,176, 85, 33, 0,246,236, 8, 24, 48, 5, 97, 96,136, 1,212, 95,144,215,216, 12,168, 48,214,142, 62,112, 50, 27,111, - 18, 8, 64, 96,140,122,233, 41, 26,135,134,131,192, 9,240,123,223,113,223,216, 92, 22, 65,130,141,155,164,134, 25,112, 44, 94, - 9,128,252,240, 74, 21, 8, 65,145, 9,189,178, 71, 80,107, 53,142, 3, 80,245,227, 33, 64,224,192,120, 5,138,222, 46, 71,218, - 20,244,222,121,242, 79, 18, 40, 48, 50,160, 23,181, 72,136,228,159, 54,111, 22,168,122, 67,130,152, 65,197,135,181, 13, 79, 70, -253, 14,222,230, 70, 5, 64,116,206,197,229,122,189, 94,254,198, 55,191, 81, 10,130,114,165, 86,169, 85,153,120,212,239, 45,174, -180,111,153,221,131, 72, 54,203,131, 48,136,194,112,216,105, 47, 46,204, 39,163, 81,158, 39, 8, 96, 8,152, 13,155,144, 77, 64, -128, 68,232, 31,111,221,112,150, 0,209,199, 48,167, 22,145, 84, 81, 68, 54, 28,152,191,162,112,220, 92,236, 27, 55,199,165,127, -165,169, 9, 73, 65, 92, 46,168,136,164, 10, 34, 86,253,181,251,211,121, 59, 30, 54,188, 79,239,174, 40, 32, 19, 3, 8, 56, 21, - 1,113, 34, 54, 23,113,196,134,216,248,213,176,136, 88, 21, 20,156,151,235,158,184,253,176,102,220, 70, 1, 21,151, 12,123, 6, -199,207, 49, 18, 27, 10, 17,141, 42,168,216,184, 62,179,253, 21,119,129, 2,137, 14,150,231, 63,246,177,227,167, 23,123,181, 74, -240,198,183,190,109,235,238,189,221, 78,239,236,169,199,158, 58,115,142, 20, 24,208,148,106, 65, 24, 7, 81, 37, 46,199, 42,249, -176,125,209,196,213, 78,235, 66,185, 18,165,163,100,105,101,109, 97,117,173,211,237,238,216,190,103,251,182,157,233,160, 31,134, -229, 16,193, 89,135,234,210, 65, 43, 75,211,209,176,215, 77,134, 12, 84, 45,149,227, 74,149, 76,152, 91, 75,200,113,185, 86,169, -213,243,204,137,179, 42,214,138,154, 32, 30,246,186,136, 80,105,212, 7, 73, 26,129, 29,117, 86,170,245, 45,128, 98, 51,187,184, -116, 33,233,174,148,171,117, 0, 81, 69, 33,204,135,189,168, 58,193, 65, 28, 6,209,176,215,141,234, 83,229,198,142,116,216,234, -183, 46, 84,106,147,229, 40,242,189,137,170,245,230,118,231, 50, 52,113,169,210,212,100, 61,201,109, 46,106, 45, 12,134,157, 45, -219,111,118,105,191,187,190,108, 93,206,224, 64,105,148,102, 81,104,106,245, 90,150,231,221,245,238,250,197,179,206, 41, 71, 97, - 88,170, 5, 38, 18, 65, 64,206,135, 93, 50, 6, 36, 67,132,184, 54,137, 20,172,175,183,152,184, 20,135,195, 52, 31,244, 59, 78, -185, 90,107,168,104,167,223, 67,100, 54, 36, 54, 3, 98,102, 42,197,241, 96,208,171, 53,102,144,204,182,173,219, 20, 33, 79,179, -204,201,112, 56, 66,144, 70,189, 97, 76, 56, 74, 6, 32, 46, 8,130,254,112, 96, 76, 96,202,141, 82,185, 26,134, 49,161, 76, 78, - 52, 3,198, 51, 75, 75,219, 38,167, 26,149,154,147, 60,179,208,172, 79,148,194,184,189,222,177,249, 8, 68, 85,165,215,237,166, - 9, 77,111,105, 6,129, 81,245, 47, 28,123,181,228,173, 61,245,146, 30, 1,145, 84, 69, 69, 67,195, 8,186,214, 90, 95, 88, 92, -142, 74,165,219,110,190, 41,142,163, 36, 77,199, 82,125, 60,220,100, 29, 15, 92,121, 28, 22, 54,172, 73,239, 37, 2, 41, 19,170, -213,222, 48, 91,235,102, 24, 84,167,183,108, 53, 42, 75,243,103,159,124,226,241,185,179,103,207, 95, 92,153,191,184,124,225,226, -106,111, 56,250,182, 59,110,249,167,255,224, 45,111,125,205,237,136,144, 91,140, 49,200, 58,235,231,159, 58,123,234,220,252, 66, -187, 51,204,242,157, 91, 38,103,103,247, 92, 28, 12,203, 1,141, 20, 31,127,236,113,116,110,178, 86, 54,204, 94,246, 24,166, 48, - 32,102, 70,111, 60, 51,251, 87,204,191, 28,132, 36,130, 68, 68, 8, 4,128,136,134, 9, 16,157, 83, 1, 53,204, 68, 64, 48, 30, - 80, 59,167,214,251,242, 4,162,154,229, 22, 17, 66, 99,156,138,127, 87,189,233,234, 37,178,248, 33, 56, 98,238,156, 33, 34, 38, -231,156, 3, 5,192,192, 24, 39, 98,197,121, 18,244, 1,144,201,243, 40, 8,248,180, 29, 1,104,192, 28, 4, 6, 20, 55, 50,149, - 28, 4, 20, 50, 17,170, 19, 0, 16, 5,197, 77,165,143,232, 0, 8,125, 56, 5,167,160,162,129, 33, 85, 33, 5, 36,230,127,244, -174,119,168,247,103,136,200, 4,155, 41,149,141,241, 62,123, 99,192,223, 46, 5,240,222,207, 6,173, 49, 7,220,239,173, 87,170, - 13, 80,245,140, 14, 10, 99,226,247,214, 47,249, 61, 85,252,144,109, 60,244, 3, 21,128,177, 5, 70,136, 4, 42,136, 27, 25, 24, - 68,244, 97, 47, 87,111, 85,123,189, 12, 62, 59,233,221, 28, 81, 64,244,118,183,110, 12, 3,157,181,147,147,211,237,214,234,242, -234, 90,173, 82, 46, 87,170,204, 20, 24,243,216,227,143, 85, 27,147, 55,238,216,154, 57, 7, 2, 81, 92,177, 89, 62,179,107, 54, -224, 44,119,102,106,122, 50,207,109, 16,132,132, 62, 70, 10,241,216,178, 66, 4, 34, 70,246,193, 10, 64,201, 41, 24, 68, 25,143, -120,132, 48, 32, 98, 80,241,254,137,239, 52,192,205,120,201, 62,206,249,102,142,169,159,128,188, 85,165, 58,142, 89, 10,200,132, - 0,226, 28,168, 2, 1,121,107,104,156, 45, 69, 0, 32, 38,102, 68, 0, 17,113,226,136, 24, 84,153, 13, 25,218, 48, 6,145,144, -125,148,245,105, 15, 68, 32, 68,239,243, 33, 34, 18,247,219,171,225,198,168,140, 40, 64, 38, 4,117,154,113, 84,219,118,203,171, -131, 48,178,105,230,214,150, 63,241,241,143,159, 94,234,139,164,111,126,227, 27, 95,255,166, 55,148,235,213,198,244,214,139, 75, -173,115,231,207, 90,129,106,115,154,163, 82, 84,169, 85,170,117, 4,155,142, 44,133,161,181,210,107,159,175,196,241,112,152, 44, -174,172, 46,174,182, 70,163,116,215,142, 27, 38,235, 21, 70, 52,140,234,114,176, 35,181, 46, 29, 14, 20,100,100,109, 16,196, 17, -101,108, 98, 54, 97, 20,132,104, 2, 11,184,235,230, 59, 65,243,206,234, 98, 80,174, 26,194,225,160, 99, 5,109, 54, 90, 91,248, -134, 40, 75,150,166,195, 97,111,125,129, 76, 56, 88,111,165,121, 54, 74,134, 72,152, 13,215,171, 91,118,187, 44, 69, 17, 99, 2, -210, 44,239, 47,133, 81,153, 3,195,204, 0, 24, 87,234, 89,210, 35, 50,189,238, 50, 82, 4, 8,121,210, 17, 53, 4, 82, 41,149, -243,108,148, 12,211, 44,207, 93, 62, 10,163,210,196,196,180, 9,226,209,168,175, 88, 14,194,106, 50,236,165,217, 40,138, 99,230, -192,144,102,253,245, 81,103, 69, 57,230, 48,172, 53,102, 80,173,203, 50, 69,142, 74,213,128,169, 90,155,112,214,149, 43,205,133, -167,254, 98,148, 90,235,136, 56, 8, 48, 15,163,138,136, 41,197,209, 68,173, 82, 41,151,147, 65,183, 62, 49, 57, 92, 95, 67, 98, - 39,106,179, 52,183,153, 9,202,229, 82, 57,177,121, 72, 48, 53, 61,221,106,173, 24,142, 65, 93,146,165, 54,203, 84,115, 68, 10, -194, 88, 92, 30, 6, 65,150,165,113, 24, 6,198, 48,106, 24,132, 83,141,250,182,169,201,213,110,114,126,249,226,100,204, 32,106, - 85,135,131, 30,100,189,173, 83,211,232,243,120, 28,177, 9, 49,136,114, 87,174, 86, 98, 99,198,111,178,110, 26, 40,227,247,147, -198, 73, 40,226, 40, 14, 7,253,193,169,185,115, 74,188,107,215,141,147,205, 9, 17,235,114, 7,160, 27,254,224,216,132,245, 98, - 98,156,101, 28,219,194,226, 77, 25,131, 38, 8, 76,146,229, 23,219,195, 84,131,122,115,178, 26,151, 6,157,181,167,158, 58,245, -196,169,185,133,165,139,139,173,181,133,229,181,139,107,237,102,163,254, 63,191,243,245,239,121,203,190, 70,181,146, 58, 12, 32, -160,204, 46,205, 95, 56,117,230,236,185,229,181,214,160, 95,171, 84, 69, 92,185, 86, 90,233,245,207, 47,172,174, 44,175,182, 86, -214, 2,128, 74, 28, 25, 34, 64, 96, 98,226,141, 60, 31, 18, 19,179, 23,107,234,243, 3, 62,235,228, 95,152,141,215, 6, 1, 0, -172,170, 55,153,144, 8,144, 17, 8, 64,145, 24, 81,153,144,137, 5, 4, 20,162, 40, 0,192, 92, 28, 51, 33,146,119,108, 4,192, -187,231,138,184,145, 35,220, 40, 6,217,176, 41,116, 60,224,166,141, 88,224,101,234, 56,123,103,144,198,255, 37,242, 14, 7,143, -115,116,158, 31, 52,117,146,139, 50,161, 32, 26, 66,227,229, 49, 34, 0,133, 99,234, 0, 98, 10, 9,137,216,137, 6, 65,200,196, -162,150,223,251,142,183,143,125, 50, 4,220, 48,206, 65,198,170,148, 55, 92,229,177, 57,226, 51,162,155,166, 4, 42, 34, 15, 7, - 61, 54,113,104, 0, 1, 68, 20, 69,124,171, 5, 4, 54, 92, 94,208, 49, 83,163, 2, 33, 91,117,228, 19,249,164,170, 2, 4, 98, -197, 87,134, 16, 17,141,203, 80, 16, 60,243,171,194,152, 98, 69,193,249,203, 86, 4, 2, 26, 27,220,227,102,131, 19, 33,196,137, -137,198, 19,167, 79,161, 72,169, 82, 46,151,171, 76,152, 13, 71, 95,125,236,177, 87,222,118,107, 28, 71,105, 50, 10,194, 32, 10, - 3,103,211,106,163, 1,214,166,201,160,223, 27,148, 75, 21,175, 54,140, 49,162, 0,170, 76,140, 72,161, 9, 68,156, 56,241, 73, - 41, 20, 21, 34, 0,144,113, 66, 66, 1,193,223, 16,177, 66, 76,190,215, 21,198,105, 21, 34,162,192,120,175,105, 51,245,170, 0, -136,204, 76, 50, 30,201, 16,128,138,138,175,101,241,105, 47,241, 67, 92, 39, 62,241,139, 8,227, 82, 33, 34, 95,238, 98,130,192, -191, 98,226,159, 34, 34,255,110,138,147,205, 78,247,133, 73, 68,172, 0, 78, 32, 31,245,194,136, 1,124,130, 6,144,200,103,211, -182,222,116,119,185, 57, 9, 78,121,208, 61,241,251,191,249,165,111,158, 31,141,122,187,183,207,188,251, 29,239, 82, 21,113,182, -189,178,182,190,222,109,181, 90,253, 4, 71,195, 94,169, 82,155,152,154, 98,195,171,243,231,195, 74, 13,208,228,217, 48, 29,172, -150,163,184,221,107, 47,175,182,151,219,107,105, 46,175,188,245,206,201,122, 29,216, 16,128, 56,103,140,201,134, 61, 39,214, 58, - 59, 24,142,226, 32, 36, 67,128, 32, 78,234, 19,147,200, 84,159,218,182,231,182,187, 71,217, 72,213,152, 40, 90,159, 63,213,239, -172,148,203, 19, 6, 50, 75,241,212,204,158,193,250,121,144, 60,119,138, 20, 50,201, 83, 79, 61, 90, 46, 55, 57,136, 59,107,139, -245,122, 3,145,109,154, 40,134, 89,158,244, 86,207, 83,121, 26,212,181, 46,206,169,106, 24,149,227,250, 84,185, 82,203, 83,171, -224, 68,209, 57, 33,198, 52, 25,170, 27,218,204, 82, 80,234,117, 91,204,198, 89, 48, 65, 60,236, 46, 83, 80,206, 70,189,238,250, - 50, 32,131, 9,202,229,114, 58,236,215, 38,166,152,163, 81,210, 47,215,183,132, 97, 57, 10, 40, 27,118, 22,231,159,234,247, 59, -131,126,127,189,211,238, 15,186,173,245,214, 90,123,117,109,117,117,117,125,173,223,107,239,217,123, 83,167,219, 94,239,180, 29, - 25,118,233,206, 93, 55,132, 38, 72,178, 52, 10, 34, 5,169,213,103,234,181,106,183, 61,223,104,238,184,253,214, 91,115,197, 86, -167, 19,134,229,192, 48,146,233,172,175,245,187,107,166,220, 8, 56, 32,208,220, 89, 85,137,152, 12, 7,131,126,143, 66, 3,128, - 73,150,161,205,183, 76, 78,139,234, 68,173,218,234, 14, 46,172,172, 6,154, 76,212, 27, 1,135,163,209, 48,142, 99, 67, 88,174, -212,146,209, 16, 9, 37, 79,147,100,100,169, 50, 81, 11, 66, 67, 99, 5,129,227, 97,191, 31,119,170, 2, 6,204, 68, 43,203, 11, -115,103, 23,118,239,218,185,109,219, 12, 33,230,121,166,168,227,119,115,108, 70, 42,160, 79,164,162, 42,160, 23, 12, 62,121,230, -147,109, 4,136,176,188,218, 89,237,228,229,218,228, 68,125, 66,108,186,178,120,225,201,211,115,167,206,156, 91, 88, 89,185,184, -214, 90, 92, 94, 27, 37,217,189,223,126,199,191,252,158,119,220,186,119,123,150, 41, 83, 92,162, 96,125,249,226,169, 83,167,207, -158, 95, 90,234,116, 6, 73, 26, 71,225,174, 29, 51, 22, 41, 85, 60,245,212, 57,155,164, 33, 97, 41, 52,177, 9,140, 33,255,170, -177, 33, 34,244,165, 7, 94,149,203,248,165,241, 47, 29, 25, 4,241, 41, 99, 21, 99,140,170, 58,245,217, 44, 36, 34,235,116, 60, - 8,119, 34, 78, 75, 33,123, 27,202,140,223, 92, 35, 78, 0, 32, 10, 67, 4, 82, 85, 98, 6, 29,235, 95,148,241,171,109,136, 16, - 73, 85,125, 73,132,117,170,162,232, 85, 34,128,241,246,213,216,216,240,132,143,155, 25,111, 20, 12,140,241,233, 73,102, 12, 3, -178, 0, 78,148, 17,152, 88, 1,152,137, 17, 51, 25,215,196, 24,194, 92, 84, 0,141, 79, 16, 3, 34, 97, 41,142, 17,129, 24, 1, -217, 40,168, 90, 65, 70,100,159, 35, 5,175,139, 65, 21, 5,212, 39,161, 85, 84, 20,152,156,117,160, 10,134,137,216, 87, 58, 25, - 67,149, 74,185,213,238,236,216, 58, 1,226, 72, 17, 13,171,168, 83, 65,102,242,162, 21,137,152,196, 87, 23, 2,138, 82, 96,200, -115, 50, 1,138,168, 56, 81, 7,160, 0, 10,194, 10,228,189, 17, 31, 3, 29,160, 2, 56, 7,136,226,252,120, 5,212, 87,149,120, -123,126, 99,104,137,128, 42,185,205, 39,167,102,110,222,125,227, 19,167,206,148, 75,149,114,181, 82,170,148,119,239,218,181,176, -188,252,135, 95,248,226,187,246,191,137, 48, 76,147, 52,142,204,160,215,229,104,155,106, 54,191,212,218,115,227,206, 81,191,109, -194, 40,144, 88, 5, 56, 96, 36, 70, 36, 14, 2,155, 39,128,100,140,209, 13,179, 8, 73, 85, 24, 64, 0,192, 1, 24, 0, 4,114, - 86, 16,209, 90,139,160,136,198, 71, 47, 64, 16,177,224, 54, 66,248, 88,233,176,170, 3,117,146, 43, 50, 1,128,162,218,220, 49, -161, 50, 18,144,138, 32, 19,121, 89,197,168,170, 2,162,130,204,134,124,218, 85, 33, 12, 98, 0,116,206, 34,192,120,144,135, 64, -108, 84,156, 47,114, 21,245,202,138,140, 33,167,121,104,226, 36, 77,136,116,156, 47,242,226, 69, 85, 68,166,246,190,170, 54,179, -197, 37, 35, 6,250,147, 79,127,242, 51, 95,252, 26,154, 74, 37,192,119,191,237,109, 28, 16, 0,164,131, 65,123,113,105,121,117, -213, 58,105, 78,212, 3, 99,250,195, 76,151,151,227, 40, 10,194,208,165, 67, 21,151, 36, 35, 67,104, 85,134,195, 52, 77, 50,151, - 75, 64, 92,173,213,115, 52, 97, 64, 46,233,170,205,114, 17, 16,117, 89,218,233,172,229, 22, 13, 97,150, 43, 19,213, 27,229, 82, - 24,244,115,152,222,177, 55,203, 70,171, 75, 75,185,181, 21, 1, 46,213, 3, 80,102,189,112,230,137,176,188,181,179,122, 65, 52, - 80, 37, 16, 84,107,101,212,179, 78,195, 40, 38,130, 61,179,175, 76,134, 29, 53, 53,177, 57, 42,144, 9,202,205, 61,131,238, 26, -136,204,220,112,123,150, 14,196,229, 4,194, 81, 20, 85,202,104, 56, 79,179,176, 84, 14,163,210,112,216, 83, 83, 53,145,233,183, -151, 4,177, 55, 26,245,123,109, 92, 15,109,238,166, 38, 93,171,189,212, 25, 12,169,221,142,162,120,117,101, 41,119, 58,119,254, - 76, 24, 86,172,205,134,201,233, 44, 29, 5, 65, 96, 51, 43,146,198, 97,200, 36,104,130,233, 45,183,246, 86, 23,195,218, 84,185, -190,173, 74,162,136,203,107,173,133,165,101, 80,176,110, 56,236,181,206,174,174,130, 64, 16,151,179,108, 85,108, 70,176,140, 76, - 40,216, 91,190, 56,191,188,216,235,247, 20, 49, 73,211, 71, 31,255,203,137,137, 9,103, 53,168, 52, 7,131, 65, 38,169, 2, 88, -235,130, 32,156,156,106, 90,151, 3,104,128, 68, 76,150,141, 97, 28, 14,219,130,193,104, 56,184,107,239,141, 23,218,221,133,149, -139,184,178, 72,166,220,172, 87, 76, 96,122,105,146,103, 3, 38, 96,151,151,226, 70,158,167,195, 65,114,118, 65,103,119,196,165, - 82,121, 60, 50, 29,103,112,144,216,136,184,181,213,214,218, 90,171, 86,107,220,253,234, 59,136, 48,205,173,231,160,113,225, 7, - 5,170, 14,145, 4,156, 47,207,213, 13, 91, 81, 21,144, 20, 84,189, 27,217, 31,166,107,157, 52,140,107,211,219, 26,140,174,211, - 90, 58,191,112,225,220,133,133,229,181, 86,171,219, 93,110,119, 6,195,100,231,214,233,247,237,191,247,238,219,103,115,177,195, -158,148,130, 56,237,245,158, 90,152, 63,179,112,113,173, 59,112,226,166,167, 26, 55,223,188,247,244,217, 69, 96, 46, 85,226,211, -103,230,201, 74,189, 20,129, 8, 18, 41,162, 83,165,241, 40,130,137,192, 0, 16,162,211,113, 70,148,137,157, 8, 33,168, 74,174, -132,160,140,232,124, 25, 40,184,136,140, 29,151,178, 64,192,228,172, 16,162, 34, 24, 3, 35,107,197, 10, 51, 91, 39,234,237, 29, - 38, 43, 98,173,245,217, 50, 85, 37, 99,172,179,222,107, 6, 85,102, 82, 69,102, 20,241,166,133, 26,166,220,186, 60,115,202,192, -100,236,184,220, 5,153,145, 17, 28,128, 56, 69, 37, 81,107, 76, 8, 52,166, 50, 38, 64,194,212, 42,168, 16,129,183, 13, 12,162, - 83,205, 84, 2,230,205, 50, 14, 67,132,128, 42,154,137, 26, 34, 2, 80,113,140, 68,134, 93,154, 27, 80, 80, 18, 4, 22,103,125, - 38,194, 41,160,103, 88, 68,167,130,130,196,140, 76,190, 12,214, 23,184,122,141,141, 68, 34, 80,171, 77, 92, 92, 62,157,231,181, -144, 80,212,169,207, 28, 26, 38,149,113, 9, 18, 2,146, 33,103, 61,209, 9,100,224,216, 32, 43,146, 56, 21,231, 64,209,123, 8, -138, 10, 34,162,190,114,156,198,174, 3,130,170,146,250, 33, 4,137,115, 62,230,249, 66,130,113,194, 90, 69, 21, 56, 96, 64, 99, -157,222,249,234,187,207, 95,152, 95, 88, 89,154,218,178,101,122,102,102,106,203,204,205,187,119, 63,246,212,153,179,231,110,221, -185,101,107,127,212, 67,212,122,109, 98,208,105, 35, 81,181, 90,217,186,107,247, 83, 95,127, 36,207,147,220,166,213, 90, 96,130, -128,137, 1,213, 89, 11,104, 16, 65,197,137, 8, 33,138, 2, 43, 35,130,241,163, 51, 34,240, 67, 50, 28,103,160, 9,141, 31, 39, - 58, 95, 45,235, 61, 19,239, 75, 33,170,170,130, 69, 16, 64,163,164,126,112,162,226,179, 29, 64,232, 75, 89,216,103, 61,152, 65, -156,243, 9,115, 28,199, 74, 69,255, 9,130,136,130, 18,147, 79, 18,248,196, 4, 0,176, 65,151,171, 83,161,113, 32, 1,171, 57, - 3, 33,163,117, 74, 27,114, 65, 21,145,212,229,131,233,217,123,106, 51, 59, 92,158,178, 49,127,246, 7,191,253,187,127,242,117, - 19, 79, 72,214,125,239,187,222,177,109,231,174, 52,207, 2,209,214,202,202,252,217, 83, 43,171, 45,224, 82,109,106, 6,178,129, -129, 32, 29, 37,221,245,174,184, 60, 46,213,154,211, 77,237,182, 74,113,100,109, 38,206,101, 54, 77, 93, 94, 42, 85,235,229, 10, - 75, 82,170,110,145,128, 51,238,117, 58, 29, 10,227,220,229, 10,204, 1, 13,147,196,170,196,198, 89,173, 15, 70, 3,199,229, 82, -109, 34,203,134,224, 18, 84, 84,117,206, 57, 19,212,231, 47,156,201,168, 49, 53,177, 5, 70,171,106, 2, 43, 32,106, 21,113,126, -121,129, 77,108,109,154,231, 41, 84,234,195, 84, 34, 22,151,103,131,225,186,100,105,192,108, 69, 68,212,103,115,122,157, 86,226, -242,198,196,204,104, 48,232,118, 86, 21, 89, 1,196, 90, 1, 80,133,100,212, 37, 48,213,198,132,203,179, 94,175, 23,133,129,137, - 42, 75, 11,103,178,209,122,115,219, 45,229,200,220,176,125,103, 54,234,153,184,220, 27, 38,245,106, 61, 10,203,189,206, 90, 92, -170,142,186,139,149,153,189,165,128, 85, 52, 52,148,231,125, 50,113, 9,183,212,154, 91,201,132, 65, 16, 24, 54,233, 96,117,219, -204,119,116, 86, 22, 6,131,182, 76, 54,195, 82,221, 74, 14, 46, 79,135, 61, 32, 50, 65,144,167, 46, 87, 23, 33,143,178,180, 82, -174, 37,233, 96,219,150, 27, 90,181, 70,150,165, 26,106, 24, 69, 1,241, 32, 97, 67,148,185, 94,187,219, 73, 50,231,242,132,162, -184,187,218, 66, 65,231, 50, 50,193,133, 85, 37,164, 44, 79,213, 89, 19,198,140,124,186, 53,216, 53,201, 2, 21,177,105, 92, 42, - 37,253,110, 35,174,138, 75, 71,157,213,230,142,221,195, 81,175,213, 94, 67,217,246,138,155, 74,140,234,198,190, 49, 50,113,127, -208,153, 59,191, 88, 46,197, 55,207,238, 49, 97,148,187,204,229,138, 14,253,248,123,236,212,131,140,125, 6,241, 58, 75,198, 57, - 54,167,222, 67, 36, 34,107,243,139,173, 65, 38,220,152,218, 22, 71, 81,210, 95, 95, 92, 94,124,234,204,217,179, 11,139,237, 94, -175,213,233,118,122,189, 82, 92,126,231, 27, 94,251,206, 55,237,171,150,195, 81,226, 2, 53,145, 38,171,243,231,207,157, 91, 92, - 90,239, 14, 70,137, 32,108,105, 84,102, 95,121,235,133,197,229,199,207, 94, 40, 7,184,182,222,139,201, 84, 75, 33, 42,134, 65, -224,198,222, 0, 16,142, 5, 59, 40, 56,149,141,178, 58, 5, 6, 95,255, 38, 10,226, 36, 12,200, 41,138,117, 34, 68,164, 72,156, -139,168, 42, 51,123,211,213, 48, 17,177,117,121,234,124,165, 10,102,214, 5, 76, 1,147, 83, 80, 85, 38, 22,117, 42,192, 72, 10, - 10, 32,226, 52, 52,236, 68,112,108, 61,131,127,246,136,208, 1,128, 8, 51, 25, 0, 98, 84, 1, 2, 96, 36, 32, 20,159,158,246, - 66,158,129, 48, 96, 4, 69,100, 66, 1, 85, 37,113, 62, 31, 71,138,224, 69,165, 56, 65,194, 72, 89,124,157,147, 2, 51, 90, 39, - 2, 42, 0,145, 65, 5, 18, 21, 98, 54, 68,128,148,169,122, 39, 7, 80, 65,156, 2,169, 19, 1, 4, 52,140, 66,214, 90, 66,212, -208,215, 74, 17, 19,138, 8,140, 77, 9, 95,252,135,170,121, 16,150, 38, 43,165,245,110,111, 75,179,225,131,156, 34,130,128, 16, -160,108,184, 21, 46, 87, 81, 68, 84, 64, 81, 85,181, 10, 64,164, 99,205,192, 8, 2,170,138,130, 52,254,244, 64, 1, 4,137, 65, - 81,172, 35, 38,246,151, 74,164, 54, 21, 37, 7,186, 81,227,130,160,110,236,114, 32, 19,170,179,121,169, 90,187,235,219,238,250, -227, 63,249,194,242,210, 98,181, 86, 15,162,248,134,237, 59, 86, 90,107, 95,254,234,215,182,239,127, 75, 28,151,179,124, 24,215, -106,177,228, 23, 47, 14, 67, 99,150, 22, 22, 43, 19, 19,235,173,118, 24,123, 19,204,224,216,222, 64,207,192,170, 42,121, 38,200, -204, 70,196, 17, 49, 81,232, 63, 43,218,240,179, 16, 0, 12, 27,111, 21,233,216, 95,115,234, 11,131, 2,190, 36,105,140, 8,140, - 8, 34,234,247, 38,102, 36,244, 55, 15, 68,199,229,236,168, 32, 32,190,150,212,215,216,128,142, 75,109, 68,113, 92,180, 48,182, - 63, 85, 85, 69,137,213,151, 69, 48, 7,164, 98,157, 35, 38, 14, 24,133, 16, 89, 37, 71, 96, 36, 22,201,136, 66, 21, 23,213,118, -212,182,236, 68, 4,230,224,212,151,190,240, 59,159,250,255,106,181,173,157,214,185,183,190,238,222, 91,111,125, 69,150,165, 28, - 5,157,149,133,238,106,123,121,117,197, 90,104, 76,149,226,184,100, 9,195,176,108,162,164, 1,178,222,110,159, 63, 63,119,113, - 37,170, 82,178,109,186, 62, 72,135, 73,154, 39,105,110, 51, 91,159, 40,199, 1, 4,165,173,170,132,146, 35, 50,228,105,150,118, - 45, 4,169,115,226, 50, 75, 84,173,148,137, 57,181,118,152,185,153,157, 59, 42,149,242, 96,208, 67, 66, 21,181,121, 42, 38,130, - 60, 3,200,107,245,109,105,154, 14,214, 22,201,148,157, 64,192,156, 13,215, 19, 9, 87, 90, 75,235,221,238, 40,203, 51,155,169, -205, 40, 44, 27, 19,174,183, 22,163,184,142, 6,140,137,145, 41, 57,115,222, 4, 17,163, 68,198,116,187, 29,181, 26,134, 81,185, - 82,115,226,162,106, 9,200, 25, 14, 20,110,112,214,109,223,182,221,102,195, 76, 48, 27,246, 65, 29,153, 64,192, 86,170,211,131, -238,106, 92,138,182,110,217,181,182,114,126,170,222, 84, 67,206, 13,107, 19, 19, 1, 2, 75, 53,144, 60, 25, 14,162,114,205, 84, -170, 49,213, 37,235, 7, 51,187, 7,253, 85,102,142,202,187, 64, 29,112, 41,203,134, 81,173,225, 72, 13, 7, 73,175,213,168, 79, -165,214,154, 32,170, 54,102,192, 37, 75,231, 30,157,154,222,147, 59, 11,163, 65, 20,149,203, 1,198,129,169,150, 75,221,254, 80, - 65, 93,218,199,184, 81,203,157, 77,250, 65,174,219,118,108, 71, 19,217, 44, 85,113, 64, 84, 41,213,109,158, 17, 3,128,201,211, -190,179, 57, 6,165,222, 96, 80, 14,227, 85,130,149, 94,210,152,112,208, 31, 0, 64,158,230, 61, 24, 13,147,164,222,152,110,175, -181,106,147,145,203, 7,167,207,205, 15,134,201,171,110,105,198,149, 10, 10,137,216,179,243, 23,218,189,225,238, 27,119, 77, 55, - 39,178, 44,115, 89,134,136,138,168, 62, 25,132,254,193,219,168,114,240, 41,214,113,246, 94, 64, 21, 81,128, 80,156,180,186,195, -206,208,197,229,137,153, 90,197,142, 70, 75,231,206,205, 47,204,159,159,191,184,212,106,181,187,221, 86,175,151,165,246,206,155, -103,223,251,142,239,188,249,198,109,163,204,166, 73, 94, 22, 28,244, 86,207,159, 95, 56,187,176,214, 29,140,172,186,173, 83,141, -198,150,173, 23,206,158,251,236, 23, 78,150,131, 32,207,178, 52,135,233,114, 89, 84, 16, 9, 9,212,123,153, 34, 56,118, 55,208, -169, 58,231,216,144,115, 18, 18,163, 33,171,194, 42,128, 24, 18,229, 0,110, 92,157, 1,129, 33,231, 68,172, 53,134,189, 74, 52, - 72,128,224, 92,158,185,156, 96, 35, 87,139, 24,109,102,138,201,128, 42,128, 18,250, 79, 48,189, 55, 5,113, 76, 10, 34,153, 50, -128, 34,230, 78,152, 8, 72,179, 60, 67, 50,198,127, 59,164,222,178, 85, 1, 82,151, 19, 27, 5, 13,144, 19,231,194,200,168, 83, -245,197, 60,136, 2, 40,226, 24,124,217,166, 26, 36, 50,152, 89,117, 78,195,144, 69,209, 58,103,173, 35, 0, 38, 18,135, 0, 24, - 24,114, 78,243,220, 5, 1, 48,155,192,248, 50, 80,112, 98,141,138, 67, 36, 81, 71,134, 68, 4,145, 16, 72,172, 48,131, 49, 36, - 42, 2, 32,160,164,226, 54,138, 66,112,252, 25,212, 56,155,154,229, 73,109,114,106,101,101,109, 28,207,189,208,222,240,154, 17, - 81, 9,212,249, 76,186,108,116, 21,170, 47,209, 3,207, 77,130, 48,246, 42,128, 54, 62,246, 25, 39, 97,217,187,211,214, 9,179, - 81,151, 19,178, 83, 63,142,193, 49,217, 33,248, 17,205, 56, 5, 12,154, 12, 71,123,102,111, 57,125,250,244,133,197,165, 70,163, -185,101,199,142,234, 68,109,239,141,187,190,252,245,199,159, 58,191,244,138, 91,246,228,121,146,140,134,113,185,182, 99, 87, 20, - 24, 57,245,248,233, 93,123,247,152, 32, 41, 85,234, 68, 1,128, 32, 69,224,220,248, 35, 47, 68, 38, 35,148, 89,107,137, 25, 20, - 69, 69, 92,230, 83, 57,170,162,190, 40, 17,141,194, 56,167, 36,170, 68,232,172,168, 2, 35,128, 19, 96, 2, 85,223,131, 72,236, -172, 85, 81, 52, 6, 8, 21, 68,133,137, 89, 20, 20,128, 9, 85, 85, 4, 8,193, 16,142,211, 84, 32,224,227, 8,121,151, 19, 67, - 34,231, 3,207,255, 79,213,155,253, 74,214,165,103, 94,239,176,214,218, 83,236,136, 56,113,134,204, 60,249,205, 67,125,245, 85, -149,171,108,183,171, 61,202,237,169,236,114,149,237,178,171, 12,182,154, 73,160,166,251,134,255, 4, 80,171,155, 65, 72, 8, 9, -209,146,133, 68, 35,220, 72, 92,210, 32,104, 48, 32, 89,242, 88,245, 77, 57,103,158, 49, 78,204,177,199,181,222,151,139,181, 35, - 11, 50,165, 84, 94,100, 70,158, 19,185, 99, 13,207,251, 60,191, 7,148,137, 21, 85, 69,137,152, 73,189, 6, 47,113,233, 7, 20, - 84, 85,239,125,232, 58,107, 48,222,231, 84,213, 36,217,233,187, 95, 37, 4, 74,204,139, 79,255,230,159,253, 55,127,162,110,180, -188,123,241,213,143,222,255,185,159,255,217, 46,120, 96,244, 93,104,218,254,102,177,171,193, 38, 9,151,179,135, 64,224,210, 98, -183, 94, 24,195,100, 56, 79,243, 15,190,244,177,181,233,242,213, 95, 3,105,219,132,237,182,170,186, 62,248,112,118,118,127, 58, - 59,111,154,125, 0,169,235,202, 11,144,113,237,186,107,219, 29, 25,139,100,186,206,247, 94, 70, 46,181, 0,187,166,121,119,114, - 4,168,155,249, 85,223,122, 87, 76,172,115,208, 87,189, 49, 73, 90, 74,168,193,140,178,241,189,213,221,173, 73,210, 34, 47,119, - 55, 23,139,229,221,174,237,117, 95,251,118,211, 7, 63, 61,126,216,245,126, 52,153, 30, 1, 88, 3, 89, 62, 65,114,128,222,158, -165,121,146,167,105,102,152, 84,186,229,106,147, 39, 6, 80,136,178,209,228,220, 88, 84,223, 72,144,106, 95,161,111,179,188,196, -182, 41,102, 39, 8,208,213,123,147, 30, 17, 33,205,206,170,218,135,230, 57,187, 4,129,250,174, 77,138, 50,207,143,154,102, 75, - 46, 51, 46, 81, 47, 73, 90,132,182, 49,142, 66,223, 58,151,245,198, 73,232, 52,116,171,187,235, 98,122,146, 22, 71,190,107, 12, - 83, 93,175,211,209, 24, 73,178,209, 36, 47,198, 62, 8,132,108,118,254,177, 53,148, 1,251,242,120,185,184, 42,138,113, 39,125, - 49, 30,239,154, 94,136,243,108,212, 84, 43,144, 22, 56, 17,224, 81, 98,171,190, 13,125,207,214, 54, 77, 5, 96, 64,252,126,183, -152, 28,157,250,224, 67, 8,142,123,223,238,217,218,137,213,206,211, 23, 47, 94,125,244,240, 62, 42, 74, 16, 84,153,142, 71,105, - 49, 42, 39, 51,101,102, 55, 6,128,203,249, 46,207,138,119, 30,146,248,230,114,190, 24,149,147,175,125,249, 13, 67,212,212, 13, -128,196,241,215, 96,116, 68, 5,140,118,222,131, 27, 66, 5, 84, 80, 15,167, 25, 16, 36,106,218,126,185,235,132,178,211,211, 41, -128,236,215,183, 23, 47, 47,158,189,120,113,113, 59, 95,172,215,183,203,245,102, 87,189,255,198,249,183,255,222, 55,127,234,227, -119, 44,187,253,182,117, 72, 88,181, 47,175,174, 94, 93,221,222, 44,183,117,215,191,243,214,131,147,251, 39, 79,158,190, 68,210, -227,123, 39,207,254,246,209, 46,108,167,206,154,193,225, 67,162,241,164, 27, 53,211,232,234,132, 32,130,128,214,112, 28, 4,196, -207,138, 1,138,150,142,160, 26,143, 80, 68,136,214,136, 23,195, 24,212,196, 89, 89, 28, 10,247, 65, 25,137, 1,172,165,198, 7, - 11,106,136,131, 6, 80, 12, 74,128,195, 13, 56, 26,251, 68,212, 32,244,209, 75, 42,154, 25, 91,249,158, 20, 28,155, 56, 85, 82, - 50,136,104,163,193,148,200,135, 48, 88, 10,137,226,118, 34, 42, 28, 71,109,136,206, 26, 81,144, 0,200,234,144,227,103,158,152, - 64,201, 7, 69, 0,107, 89, 68, 69, 4,227,228, 79, 69, 80,153,136,129, 36, 32,168, 26,199, 10, 72,160, 34, 24, 68,218,174,117, -136,252,251,191,245,173, 97,220, 6,168,162, 72,175, 61, 27,136, 8, 76, 3, 57,128,227, 59,166,175,135,126, 8, 58,172,215,204, -128,236,154,253,154, 92,150, 36, 12,196,241, 37, 98, 70, 32,122, 57, 68, 5, 84, 3,196,212, 67,156, 66,176, 68,186,128, 34,129, - 34, 34, 25, 98, 99, 16,135,191, 70, 67,186,211, 67, 52,150, 96,180,114,197,131,132,210,143, 29,245, 49, 43,134,132,164, 97,200, -143, 74, 16, 4, 62,154,142,127,248,233, 39, 68, 48, 30,141,147, 52,203,146,108,191, 93,126,246,248,233,199, 31,127,148, 37,182, -174,107, 66, 80,239,159, 63,125,218,116, 97,113,123,169, 64,121, 90,152, 52,161, 97,240,136, 32, 74,209,199, 2,138,136,108, 76, -100, 57,224,193, 26,140, 0, 8, 6, 34,126, 0,130, 72, 0,160, 56,250,136,130, 13, 27, 27,141, 4, 68, 76,108,162,163, 37, 72, -128,104, 93, 31, 50, 92,131,135, 61,142, 92, 6,187,165,101,130,215,184,135,104, 0,245, 56,196, 78,134,205, 16, 16, 85,149, 7, -159,232, 48,174, 8,162, 28,125, 59,131,171, 85, 1,145,172,173,246,107, 75,136,132,140, 24,188,156,189,251, 19,105, 81,114,238, - 86, 47,159,253,103,255,225,127,212,248,164,217,109, 30,220, 59,254,227, 63,254, 55,157,195,222, 7, 98,187,190,189,221,238,171, -171,235,155,166,247,227,201,145,177,174, 93,223, 74,223, 5,213, 52,207,122, 31,218,221, 38,203, 83,223,110,250,250, 46,205,210, -229,114,253,242,250,122,185, 93,239,247,245,116,148, 55, 77, 91,215, 45,170,162,239, 12, 66, 85,109,171,118, 95,183,149,146,171, -118,123,237,155,162, 40, 70,197, 24, 92,126,122,255,173,119, 62,248, 56,136,174, 23, 55, 38, 25,245, 77,131, 32,171,155,167, 2, -100, 56,247,221, 62,207, 50,241,109,211, 6, 54,110,179,184,122,249,252,211, 94,112, 50, 59, 43, 82,158, 76,142,206, 78,207,207, -238,189,153,229,101, 98,168,200,115,107,243,196,210,241,100, 58, 59, 58, 97,195,134, 57, 75,115, 38, 5, 5, 52, 73, 90, 28, 21, -163,177,229,132,136, 67,183,214,160, 93,187, 67,192,166,173,119,251,182,109, 27,235,220,110,241,188,105,118,163,233, 73,223,110, - 85,130, 37, 90, 46,174,187,118,239,210,162,241, 61,179,171,183,139, 98,116,156,164,101,215, 86,171,155,207, 93, 90,102,121,222, -238, 22,251,205,210, 38, 69,239, 59, 91, 76, 8,185,173, 87,190,175, 37,244,162,228,146,196,166, 37, 32,238, 23,215,192,201,120, -114, 66,100,155,106,125,118,254, 78, 91,175,125,187, 33,162,182,105,125, 8,156, 29,133,190, 78,211, 4,137,179, 98, 90,239,215, - 65, 84,196,231,121,177, 93,223,181, 29, 0, 83, 85, 87,139,229, 93, 80,204, 51,151, 37,174,235, 91,107, 18, 96, 72, 93, 74, 54, -201,211,204,184, 36, 39,220,182,225,106,185, 58, 41, 83, 32, 83,213, 85,219,181,204, 46,201,198, 46, 73,179, 52,223,239,119,251, -237,186,174,214, 47, 47, 46, 81,251,143, 62,124,127, 58, 30,139,130,136, 68,119,111, 20, 15,134, 88,182,198,103,137,200, 25,141, -122,251, 0, 21, 65, 85,181,132,190, 15, 55,155,106,223, 80, 54, 62, 46,139, 81,232,171,235,139, 23,143, 31, 63,254,225, 23,143, -159, 94, 94,221, 44,150, 23,183, 43, 66,252,222,175,255,194,191,245,189, 95,127,251,205, 51,239, 9,123,178, 33,108, 22,183,143, - 31, 61,123,118,113,119,117,183,244,193,255,157,159,254,170, 41,211,207,158,188,184,185, 93,172,119,213,103,143,158,165,168,211, - 44,183, 4, 97,136,104, 3, 68,119, 39,161,115, 22, 0, 33,102,172,226, 16, 14,193, 48,201,193, 21,148, 16, 67,212,226, 85,226, -194, 22, 36,136,130, 49, 20,130, 26, 66, 66, 66,132, 32,234, 37,240, 65,232,140, 30, 17, 66,236, 85, 12, 57,195,212, 41,164,142, -145,204,193, 16,135,200,208,118,194, 68,214,196, 40,169, 18, 34,177, 5, 84, 64,116, 76,113,177, 69, 21, 98,210,129,109, 64,113, - 24, 29, 21, 33, 98, 2, 0,102,102, 84, 32, 66, 38,199, 4,204, 17, 82,130,241,232,168, 64, 8, 76, 16, 84,131,168, 2, 48, 98, - 84,102, 40,154,115,112,216,179, 16,145, 77,100,143, 80,221, 7, 8,125,145, 39,252, 7,223,254, 13, 61,184,119, 32,190, 63, 81, - 33,145,225,128, 44, 65,137,249,240, 82, 8,113,113, 81, 80, 13, 0, 0, 2, 2, 2,170,224,101,189,171, 71,101, 1, 26, 87,174, -168, 91, 8, 18,137,246, 64, 20, 55,177,248,178, 3,133, 33, 42,243, 68, 81,134,102,107, 6, 97, 66,226,219,165,160, 10, 1,128, - 7,235, 33, 8,224,107, 67, 97,156, 88,170, 32, 17,113,188, 24, 69,145, 90, 68, 85, 33,248,208, 79, 38,211,122,183,190,184,188, -201,210,236,248,228,216, 57, 75,170,183,183, 55,155,170,249,240,189,119,189, 15, 93, 87,165, 89, 49,158, 30,127,249, 43, 95,109, -251,246,195, 47,127,109,183,153, 27, 78,226,117,239, 96, 56, 12, 68, 28, 69, 12,137,175,141,135,159, 49, 30, 2,114,112,197, 12, - 70,196, 67,134, 0,152, 8, 48, 62, 88, 68,196,100, 24, 1, 37, 40, 17, 25, 34, 5, 85, 15,198,152, 56,241, 4, 68, 20,137,238, -182,190, 29,161, 0, 0, 32, 0, 73, 68, 65, 84,210,184, 43,134,136,154,137,142,174,225, 55, 48,108, 11,162,196,104, 0,227,163, -131, 68, 76, 8, 64, 94, 36, 98, 9,226, 89, 67, 68, 0,133,200, 16,185,122, 55, 79,153, 0, 21,130, 47,207,222, 62,122,235,125, - 16,237,170,221,127,245, 79,254,233,213,170, 75, 51,155, 37,246,223,249,247,254,225,241,236,168,218,239,200,119,187,229, 98, 87, -215, 47, 94,188,218,108,150, 73, 49,153,156,156,249,190,101,231,128, 93, 8,146, 48, 43, 48, 24, 50,201,168,222,220,181,213, 93, - 98,146,229,102,253,234,250,102,189,217, 6,193,223,248,213,223,235,219,118, 49,191,186,186,122,186,175,118,183,183,175,124, 16, -199,198,247, 34,202,125,187,207,210,180, 44, 10,195,228,202,163, 55,223,253,210,244,236, 65, 83,239,250,182,118,233, 40, 27,143, - 17,144, 92,105, 93,230,251, 30, 84,250,174,221,205, 95,112,146, 45, 87,243,128,238,250,246,210,165,227,212,130, 74,200,243,137, - 49,166,111,183, 94, 2,187,172,223, 92,229, 89,234, 18,227,146,188,235,118,109,189, 27, 77, 79, 65,186,229,226, 82,218,122, 58, - 59, 7,109, 49, 52, 77,179,113,105, 81,237, 54,189, 8,114, 90,213, 53,160, 33,194, 32, 82,237, 86,161,111,102,247,223, 47, 70, -211,253,110,213,215,173,115,217,236,244,205,147,179,243, 94,250,224, 1,217,161, 77,172,181,210, 44, 85,125, 54,154, 37,197, 81, - 91,237,140, 27,155, 52, 77,242,145,203, 70,214,230,117,187, 35,147,155, 36,103, 67, 46, 29, 85,235,185, 37, 76,210, 44, 59, 58, - 31,141,143,251,118,139,108,136,141,223,207,145,204,232,248,156, 93,201,214,248,110, 75, 73, 62, 61,122,144, 36,142,141, 73,178, -204, 37,169, 73,138, 36, 47,154,102,183, 93, 47, 44, 81,154,101,132, 66, 54, 57,157, 30,237,234,250,238,246,154,141,173,234,170, -107,235,206,123, 38,211,183,219,213,122,233, 69, 63,120,227,222,182,237,151,155, 13,133,198, 37,229, 40, 27,185,180, 92,239,107, - 34,241,245, 22, 3, 84,237,254,114,126, 53, 57,122, 99, 84,158, 78, 39,169, 97, 82, 17,124,125, 46, 64, 2, 80,160,168, 18,131, - 4, 69, 38, 9, 18,215, 82,149,128, 0, 0,194,140,219,166,191,217,244, 1,220,209,244,152, 49,236, 86,243,103,207, 31,127,242, -249,163, 31,126,254,248,226,250,230,118,185,220, 87,205,199, 31,188,253,143,254,248, 59,191,252,115,223,240, 34,190,131, 4,201, -239, 54, 47,159, 63,253,228,139,231,215,203,205,106,183,127,120, 58, 61,185,119,246,249,203, 23,159,124,250,248,141,251,103,159, - 62,126,213, 85,213, 89,153, 23,169, 83,208, 32, 26, 68, 85, 5,163,237,131, 32, 6,119,172, 97,112,164, 33, 14,117,129,136,122, - 47, 42, 18,207,209, 65,197, 43,112,244, 46, 0,244,126,208,117, 5, 1, 68,153, 49,250, 62, 16, 49, 49, 6, 9,131, 42, 15,139, - 48, 8, 2, 19, 89,195, 30, 48,179, 22, 5,188,134,120, 8, 19, 0, 5,112,214, 32, 66, 8, 66,128, 48, 28,133, 21, 8, 0, 48, - 72, 24,178, 94,138,204, 28, 79, 89, 17, 84, 67,108,144, 8, 85, 84,145, 9,117, 96,216,160, 42, 9,136,202, 96,196, 16, 37, 4, - 77,172, 17, 80, 17,140,192, 32, 2, 13,170, 28,121, 35, 0, 4,100, 12,139,130,136, 26,195,168, 74,134, 59,213,166,105, 82,103, -153,137,191,255,157,223,164,193, 3, 27,255, 43,113, 56, 82, 14,110, 62, 53,150,162,219, 58, 26,209,117, 72,240, 12, 22, 60,208, -120,188, 14,198,218,219,249,109, 94,148,206,177,198, 23, 84,193,131,129,230,199,145, 7,130,225,172, 13,128, 24,167, 13, 8, 68, -108, 57, 90,252, 76,132,176,196,113, 13,197,220,231,193,131, 79, 28, 65,104,195,227, 6, 26,185, 5,164,140,160,196,150,145, 67, - 52,226, 40,196, 51,242,249,189,251,207,158, 63,109,219,182,200,179,241,120,102,140,181,172,127,253,195, 79, 79,206, 78,238,157, - 28,119,189, 39, 32, 8,253,118,183, 33, 8,183,151,175, 86,203, 85,154,100,196,198, 88, 23, 79, 3,175,173,193,130, 2, 66,113, -226, 11, 32,136,134, 40,186,144, 56, 98, 12,134,141,148, 7,136, 2,188,118, 35, 29, 28,184, 18,130, 30,192, 2,226,163,134,136, -135,189,250,199,139,120,124,239, 48,230, 9, 68, 95,179,110,226, 9, 29, 21, 52, 62, 23,128,192,164, 50,120,187,162,186,207,131, -243, 17,135,108, 25, 2, 51,147,117, 65,197,239,214,206, 26, 13,158,147,226,244,163,159,100,102,145,246, 79,255,228, 79,126,244, -249,243,196, 25, 75,240,123,223,253,238,151,190,244,222,118,117,135,100,219,186,106, 3, 94,221,204, 23,203, 85, 47, 48, 57,154, -161, 73,250,182,202, 38, 39,125,211, 36, 9, 33,185,116, 84, 52,187,109,183, 91,246,161, 69, 95,177,179, 55,139,213,197,245,237, -114,179, 45,199,227,159,253,198,207, 1, 64, 78,112, 60,202, 13,202,114,219,174,246,213,118,191,107,218, 94,180,103,194, 34, 47, - 38,229,212,230,229,244,228,236,225, 59, 31, 5,213,186,218,239,151,175, 4, 8,149,148, 64,130,239,219,150,216,182,213, 70,196, -231,229,177, 74,111,109, 10, 34,183, 55,151,121,158,213,155, 59,103,147,114, 60,201,199,167,117,179, 67,118,121, 81,250, 32,214, -165,163, 98,214,117,149,177, 57, 24,183,189,254, 36, 27, 29,179, 49,134, 19,147,100,108, 24, 52, 32,217,188, 60, 82, 96, 64,118, -206, 25,118, 73,154,163,116,105, 49, 33, 99,219,174,149,126,135,208, 50,115,146,151, 77, 93,245,221,158,216, 58,227,210, 52,147, -208, 97,240,162,128,224,243,242,184, 24, 77,156,113,189,111,108, 58, 98, 55, 66,245, 74,228,235, 93,223,109,242,242,132, 20,122, -241,134, 25,173, 51,198,238,182, 43,182,142,140, 97, 99, 99,186,210, 24,199,217, 68, 85, 33, 52,117,189,201, 70, 39,163,209,152, - 13, 89,151, 4,223,245,189, 10, 0,160,233,155, 42,244, 45,113, 66,198,132,208, 55,117,195,132, 41, 67,211, 54,147,241, 52,201, -179,201,248,168, 24, 77, 20,176,109, 27,239, 67, 89,142,203, 34, 67,208,220,152, 77, 47,109,144,113,158, 1, 99, 85,173,242, 44, - 29, 21,121,211,237,151,187,181, 97,120,112,255,173,179,147,147,106,187, 94, 44,119,229, 40,201, 83,171,138, 42, 66, 48, 92,209, -135, 73,219, 0,152, 82, 38, 36, 80, 20,136,200,150,222,251,249,166,219,214, 56, 25,207,202, 34,107,170,213,197,243,103,159,126, -241,197, 39, 95, 60,125,252,226,226,213,205,124,179,175,207,207, 78,191,247,107,191,248, 71,223,253,123,199,179,241,110,215, 27, - 49, 86,252,245,171, 23, 95, 60,121,252,236,114,190,221, 55,247,206, 78,198,179,169, 97,117,229, 72, 20, 94, 93,222,173, 23,171, -113, 98,167,101,106,145, 68, 85, 20, 66, 76,209,255,255,115,127,113, 2, 23,231,169,140,112,192,155, 69,176, 10, 4,141,209, 36, - 36, 32, 25, 78,147, 24,189,136, 3,171, 64, 69, 69, 13,198, 56,186, 26, 68,136,142, 65, 80, 69,160, 40,204, 14,218,189, 40, 0, -227,193,251, 73,200,136,170,106,136, 37,202, 53, 3,175,140,130,132, 32, 18, 1, 39,160,135,241, 24, 0, 30, 66,142,175,131, 53, -206,146, 2, 17, 64, 12,161, 19, 2, 35, 25,102, 66, 18, 47, 49,168, 31, 68, 52, 40,198,239, 14, 81, 7, 7, 53, 5, 80,199,230, - 64,157,194,214,183,187,106, 11,234,157,117,251,170,119, 4,121,150, 2, 16,255,193,183,191,133,128, 32,175, 23,225,248,134, 28, -244, 25, 27, 67, 68,131,183,250,240,103,226,152, 69, 20, 15, 75, 60, 34,147, 37,241,141, 15,121,158, 31,210,249, 26,205,253,209, -208,205, 68,134, 34, 25, 17,226,238, 19, 95, 41,134,155,226,228, 48, 90,194,225, 0,210,138, 99,113, 24,214,188, 65,111,127,109, - 24, 29, 88, 25, 24, 81, 92, 49,195, 48,172,161, 17,209, 3, 10,105, 86,140,203,209,211,103,207,153,185, 44,203,108, 52, 10, 93, -232,251,238,217,197,213, 87,190,252, 1, 2,181, 77,197,132,109,211,148,211,217,252,246,250,205,247,190, 74,208,249,222,179, 51, -113,202, 26,255,209, 32, 66, 58,124, 85, 10,192,104, 40, 14, 22,226, 20, 34,154, 96, 20,137,137,162, 85, 95, 33, 14, 21,136,137, -140, 9,189, 87, 64, 98,139,168, 34,253, 0,212, 68,208, 32, 68, 6, 35, 82,143,136,137,226,162,124,152,208,202, 1, 25, 54,248, -236,163,111, 21, 16, 72, 68, 34,129,136, 40, 18, 14, 16,128,137,192, 48,200,240, 22, 34,162, 49, 6, 17, 25,185,105, 26,232,247, - 8, 2,156,223,251,248,103,146, 36, 1,134,127,241, 39,255,237,255,243,127,253, 37,160, 26,196,239,254,238,239,127,253,103,126, -170,243, 33,180,173, 2,118,166, 32,103, 30,127,254,105, 35,198,229,163, 52, 43,200,164,140,218, 53, 85, 62,158, 16,160,203,242, -221,106,153,100, 37,166, 73,187,124, 73,136,226,195,139,171,155,235,249,124,187,223,190,255,206,151, 63,120,231, 75,221,126,169, -205, 70,212,247,109,171,234, 45,163,134, 80,181,181, 97,195,200,153, 99,227,242,201,233, 27,179,211,183,239,189,249, 86,219,214, -187,253,222,216,210,185,164,171,215,100,178,174,173,251, 94,234,253,109,223,183,157,247, 73,146, 74,223,230,121,190, 92,221,117, - 34,227,241, 44,203,138,114, 60,214,208,231,229,209,110,179, 40,203, 19, 98,139,136, 10,237,102,187, 12,192,142, 2, 38, 83, 82, -200,203, 99,237,122,180, 22, 65,251,102,143, 12,105, 49,147,222, 19,120, 36, 98,230,182,221,131,244,251,245,157,181,217,126,121, - 1,192,105, 62,203,199,227,166,217, 27, 87,244,138,189,247,132,241, 14,174,198,166,117,215,248,110,107,216, 41,168, 75,138,196, -242,250,238,185,117, 5, 51,245,253,174,111,186,180, 24,141,167,103,204,184,185,123,101, 76, 10,218, 26, 67,136,144,184, 12,145, -130,111, 69,149,217, 26, 75, 26,194,110,241, 60, 75, 70,197,120,150,101, 83,147,142, 66,215,181,251,185,168,189,187,248,209,228, -248,173,122,123, 19,131,135,210, 86,206,114,219,238, 67,232,179,172,172,186, 32, 2,137, 69, 38, 98, 54,137, 97,245,189, 72, 79, -168,198, 24, 36,174,118, 27, 31, 72,197, 79,138,114,177,217, 85,125,119, 54, 61, 74,139,210, 80, 39, 18,182,141, 47, 71,179,113, -145, 10, 36, 1, 85,250, 74,208,237,250, 60, 75, 37,205, 48,242, 81,226,113, 74, 67,148, 21, 40,114,105, 14, 92, 41, 21,213,249, -182,190,221,116, 46, 25,151,227, 50,116,245,245,197,139,199,143,158,124,246,248,201,167, 79,158,190,186,157, 95,223, 45,147, 36, -253,189, 95,249,217, 63,250,206, 47,127,249,131,183, 3,128,118,152, 42,237,239,110,159, 60,122,252,248,229,213,197,221,218,251, -254,239,254,244,215,147,163,209,143, 30, 63, 73, 45, 93,174, 55, 79,159,190,204, 13,165,150, 51,103, 53, 0, 49, 4,145, 32,209, - 51, 29, 93,208, 50,160, 90,108,212, 3, 34,247,102, 56, 74, 17,146, 33,138,160, 52, 38,142,176, 64, 96,136,218,240,144, 39, 50, -228, 67, 32,226, 65,156, 9, 0, 40,150, 56,232,160,144, 14, 4, 42,102, 38,244, 58,172,231,132, 36,160,175, 19,234,168, 58, 88, - 51, 15, 25, 49,141,169, 46,132, 32, 64, 17, 53, 16,165, 87,133,131,122, 67,135, 83, 32,121, 81, 4, 32, 5,136, 91, 11, 35, 51, - 43, 64, 47,194, 68, 74, 36,226, 69, 21, 1,141, 97, 47, 42, 0,134,144,153,124, 0,131,104,216, 40,170,146, 1,208, 32,186,218, -239,171,170,114,198,214, 94, 0,100,154, 23,200, 54,168,231, 31,252,206,119, 15, 78,202,248, 83, 65, 35, 98, 43, 26, 66, 44,136, -210, 16, 53,178,120,176,112,128, 68,115,203,192,251,164, 0,136,100, 19,190,157,207,103,179, 99, 38, 84,145, 24,137,141,163,246, -136,110,128, 65,136,143, 17,241, 3,150, 40,206,110, 68,145, 8, 16, 53,196, 69, 76, 98,250,102, 8,215, 15, 70, 73, 6, 21, 84, -133, 40, 97,199, 61, 15, 9, 9,136, 56, 2,213, 16,144, 15,129, 13, 36, 20,239,167,211,201,124,126,189, 90,109, 18,151, 76,143, -142, 29, 19, 72,255,228,217,211,172, 40,223, 58,191,215,180,173, 34, 56,166,187,249,197,213,197,229,104, 84,186,196, 86,251,189, -115, 9, 17,147,177, 33, 4, 68, 34,130,200, 81, 34,138, 90, 25,129, 12,236,203,104,101,137,215, 87, 36, 67,196,145,191, 51, 60, - 3,162, 16, 20, 13, 33,160,104, 79, 20,103, 32,131,254,101,173,141,102,128,232, 55,141,204, 3, 56, 32, 68, 99,154, 44,166,121, -227,115, 19,159,187,110,191, 92, 47,110, 34, 16, 15, 0,120, 8, 72, 33, 24, 82, 81,239, 37,158,238,153, 34, 21, 68,144,184,107, - 27, 13,173,113,233,233,251, 63, 81, 76, 38, 64,244, 47,255,135,127,254,191,252,203,127, 69, 76, 10,221,111,255,246,239,254,210, -183,126, 45,180,141,175,107, 52,166,222, 85,197,241,241,103,159, 60,218,119, 98,179, 12,186,189, 77, 70, 54, 45,162, 11,117, 92, - 78,186,182,219,109,230, 68,214,247,221,118, 91,181,219, 87,214, 38, 77,239, 95, 92, 93, 94,223,173,171,166,254,230, 79,255,226, -249,241,113,189, 93, 62,124,112,186, 95,173,246,251,253,110,191,238,154,174,239,187, 8, 38, 78, 24,242, 98, 60,154,220, 59,190, -255,230,201,131, 55,210, 34, 91, 92,189,234,234,141,248, 94,124, 67, 54,221,205,159,145, 43,144,220,120, 58, 29,143, 38, 93,215, - 49,104, 93, 45,154,166, 93, 46, 87, 89, 94, 74, 8,155,213, 69,146,142, 58,133,237,190,113,217,116, 84,100,193,119,196,166, 28, - 31,133, 0, 65, 67,232, 27, 32,155,142, 38,228, 43,128,192,198,121,239, 67,223, 10, 0,153,188,110,246,192, 68, 40,136,214, 37, - 37, 17, 37,249,136,172,117, 46, 1,232, 93,146,102,121,193, 38,173,215, 87, 26,124, 50,154,248,221, 2,141,101,240,187,197, 75, - 55,154, 58, 91,116,237,190, 24, 31, 39, 89,225,125,107, 92,162, 32,245,102, 97,216, 58,155,113,146, 75, 8, 22,177,174,118, 77, -181,156,158,188,195, 72,249,228, 56,116,141, 34, 22,121,177, 91, 93,138,242,126, 53,223,111,230,247,222,250, 74,231,219,197,205, -197,252,197, 95,228,227,211, 16,250,190,222,165,197, 88,209,222, 92,127,114,114,255, 67, 68,234,251,122, 52, 62,107,218,189,244, -125,154, 79, 73, 68, 67, 39, 26,156,203,178,172,140, 10, 95,221,119,219,170,202, 18, 7, 10, 46, 41, 70,197,184,110,170, 52, 45, -124,232, 30,156, 28,239, 91,185, 92,220,158,159, 76,170, 30, 92,126,154,165,206, 38, 25, 91, 62, 59,190,223,117,226,123, 13,190, -201, 39, 71,187,154, 74,199,169,141,247, 74, 19,153,131, 0, 98,144, 84,226, 32, 74, 25,177,106,187,139,219,170,237,205,209,236, - 56, 53,124,119,243,242,201,163,207,159,189,184,248,236,233,179, 39, 23,151, 55,155,205,174,106,191,254,225,187,255,193,223,255, -157,111,254,228,135, 10,228,189, 22, 38,211,186,122,241,236,241,231, 79,158,191,156, 47,230,203,205,135,111,158,177,113, 47,239, -110, 47,111,110,137,146, 31,126,250,197,126, 83, 21, 76,121,154,193, 64,116,210, 32, 34,162,193, 43,209,224, 3, 70, 34,235, 44, - 34,106,136,108, 69, 80,164,160,154,185,132,128, 68,189,138, 98, 60,161,171,180, 18,226, 41,151, 6, 9, 85,136,168, 11, 2, 8, -164,168, 8,170,106, 12,145, 65,223,171, 18, 48, 34, 19, 42,104,194, 36,136, 10,104, 8, 45,178, 0, 70,238,107, 98,141, 4,101, -166, 3,181, 81, 13, 50, 96,164,249,129,168, 32,128, 37,246,170, 6,217, 89, 51,200,179, 76,206,217,200,207,138, 94,113,162,152, -121, 66, 5,177,204,170, 16, 68, 84, 53,179, 6, 17,124,219,123, 65,203, 72, 68, 94, 52, 97, 78, 12, 5, 69, 85, 49, 20,229,254, - 96, 92, 70,113, 14, 2,202,100, 0,217,171, 4,145,105, 81, 32, 83,145,184, 46, 40,127,255,219,223, 2, 16,197, 8,122,199,193, -251, 4,136,136,162,138,209,195, 30,191,142,152,114, 18, 21, 8,135, 64, 64, 92,117, 89, 73, 21,149, 66,255,127,255,217,191,210, -236,244,236,120,172,226, 97, 24, 49, 2, 29, 96,185,170,162, 63,102, 10, 40,234, 0,208, 28, 36,102, 34,140,145,212,193,127,165, -196,230, 0,207, 26,134,190, 58,140,128, 33, 78,161,163, 63, 48, 30,134,145,145,137,145,136,140, 33,100, 34, 70,212, 56,236, 46, -139,209,231,143, 30, 25,166, 81,158,143,198, 19,239,189,248,240,215, 63,250,236,157,119,222, 30,229, 89,211,212,214, 36, 26,232, -225,187, 95, 10,237, 54, 27, 31,213,251, 45,147, 77,146, 20, 32, 96,252, 95, 83, 69, 36,100, 30,238, 13,164, 26,167, 14, 56, 92, -185, 8,144,140, 17,245, 32, 26, 83, 2, 49,195,230, 67,143, 76, 8, 52,208,208, 8,136, 40, 70,222, 0, 73,195,240,216, 12,186, - 83, 60,129, 48, 73, 84, 54, 95,199,219,134,116, 49, 33, 99,232,186,235,139,199,119,151,207,218,174, 73,178,210,217, 12, 48, 50, -146,101,200,210, 14, 55, 82,142,251, 1, 16, 51,219,182,218,106,183,155,220,123,111,122,255, 33, 90,254,171, 63,251, 63,254,244, -159,255,143,104,156, 37,252,123,191,250,155,191,252,203,191,208, 54,117, 64, 98,195,190,247,110, 50, 93,220, 92, 61,254,226,133, -162,128,120,165,148, 93,102,108, 26,124,157,184, 84, 7,127,177,201,138,241,171,151,207,155,221, 58, 49,181, 33,179,219, 87,183, -183,243,155,213, 74, 21,126,233,103,126,201, 50,174, 22,183,161,175,111,110, 94,117,222,175,119,123, 37, 82,164, 36,113, 36,162, - 40, 73,154,159,158,206, 78,239,157,151,147, 89,189,185,186,187,124,145,143,143, 9, 67, 80,107,140,237,218,106,191,153, 27, 66, -106,238,234,170, 1,223,178,181,162,184,222,238,150,171,121, 60,130, 77, 78, 31, 88, 87, 36,217, 20,218,221,116, 54, 75,210,124, -179,184, 14,210,231,134,234,122, 11,118, 52,202,199,137, 81, 4,232,218, 22,109, 90, 56,204,202, 51,235,210, 36, 31,129, 6,231, - 82,210,160, 18,218,237,210, 55,171,190,217, 33, 59, 31,124,240, 93,232,154,128,148,230,165, 74,168, 58, 15, 72,210,247, 93, 87, -247,117,165,100, 67, 0,223, 54,125,183,113, 46, 1,116,222, 55,125, 83,155, 36, 73,178, 82, 68,124,191, 71, 99,188,239, 21,201, -119, 77,146, 20,219,187,151,174,152,244,205,190,237,122,178,169,130,238,215,243,188, 60, 38,195,162,234,242,178,175, 22, 93,189, - 77, 82,215,117,158, 81, 76, 94,246, 94, 3, 64,240,237,116,246,214,104, 52, 37,130,208,251,182,217, 49,161,181,121,150, 37, 0, - 97,223,182,214, 88,231,210,206,247,134,140, 87, 76,216,100,105, 54, 29,141,108, 94,250,182,182, 6, 68,217, 75, 96, 4, 6, 45, -114,215, 4,189, 92, 46,207,202,163,114, 92, 38, 89,233,251,106, 52,154, 57, 11,155,245, 60,205,179,125,221, 22,121,129,200,158, -166,134,170,204, 97, 16,193, 3,150, 52, 68, 19, 1,131, 87,189, 93,215,139,141,207,138,241,120, 60,234,234,253,229,171,103,159, -126,246,232,243, 23, 47, 31, 61,127,241,242,102,190,222, 85, 39,211,241,247,127,227, 23,255,254,239,253, 74, 57, 46,171,218, 39, -156, 38,192,235,219,171, 39,143,158, 60,121,113,189,216,237,142,198, 99, 98,154, 29, 79,196,114,211,135, 39, 79, 94,236, 55,155, -105,158,167,214,198,188, 61, 13, 55,216,136,191, 2,195,209,197,141,132,131, 64, 97,136,141,179,209, 79,193, 68,140,209, 92, 16, -124,136,248,191, 56, 83, 29, 92,240,136,236,172, 33, 38, 9,162, 10,214, 80,180,158, 51, 15,248, 17, 31, 20, 16,157,177,209, 57, -111,141,233,130,196, 79, 83,132,138, 48,161,179, 86, 68,130, 68, 52,202, 32,211,139, 66,136, 71,119,198,131,209, 77, 5,213, 34, - 89,230, 16,137, 13, 76,168, 49,191,138,162,160,170, 38, 34,127, 99, 15, 3, 89, 47, 18,211,191, 8, 24,194,128,119, 75,172, 1, - 34,141, 58, 15, 82,208, 65, 93, 17, 0, 64, 81, 69, 67,204,236, 16,213, 26, 99, 8,216, 90,239,253,200,185, 60, 31, 33,114, 36, -203,155, 56,212, 37,141,220,200, 1, 84, 31,227, 67,195,247, 54,224, 98, 52,138,188, 62,202,113,170, 72,106, 34,233, 24,226,174, - 68,174, 28,143,202,201,213,237,252,227,247,206, 4,137, 15, 76, 11,208, 88, 91, 65, 10,160, 65,129,244,128,211,101,160,104,190, -212,129, 69,192,128, 33, 82, 16,144,137, 14,238,157,168,212, 83,196,225, 34,235, 16,231, 5,136,170, 25, 32,106, 0,208,225, 12, - 28,157,152, 72,175,209,243,225,222,253, 7, 31,190,255,246, 15, 63,121, 52, 41,167,121, 49,154,157,156,213, 77,117,117,125,243, - 63,255,239,255,231,191,246, 59,223, 73, 18,223,117, 85, 81,102, 8,254,250,250, 98,223,246, 18, 90, 21, 77, 51, 71,100,144,152, -112,184,157, 14,216, 47,142, 79, 12,197,171, 76,148,236,148, 34, 9,152,128, 32,174,206,145,212, 73,132, 26, 58,101, 23,155, 58, -212, 43,218,104,245,241,104, 1, 35, 23,116,128,110,147,138,168, 0,169, 12,114, 84,212,134, 20,227, 96,121,176, 10,177,177,214, -246,189,160, 66,208, 16, 72, 73,163,230,245,227, 20,246, 96, 90,250,177,142,133,190,173, 70,147,123,179, 55,222, 65,199, 55,207, -159,253,119,127,242,223,247, 74, 70,228,239,124,243,231,126,253,183,127,115,254,226, 89, 23,120,118, 58, 21,223, 52,117,227,146, -236,233, 23, 79, 39,167,247,183,171, 57, 72,112,197,200,144,138, 8, 41,249,174,113,197, 72,118, 59, 99,211,229,252,122,187, 94, - 59,234,236,200,137, 98,213,182,157,104, 8, 82, 20,249,228,232, 72, 67,127,124,116,180, 89,205, 83,155, 8, 42,208, 90, 67,112, -206,160, 74, 64,180, 54, 77, 92, 58,158,156,144,115,206,186,205,162,222, 55,251, 41,179,154,146, 52, 52, 85,157,143, 79, 77,154, - 73,211, 85,141, 40,245, 76,210,236,215, 72,188,218,172,124, 8, 46,201, 20,109,211,244,161, 89,142,143,239,113,234,178, 98, 44, - 34,217,228, 44,207, 70, 93,189,238,218,182, 40, 78,179, 44, 89, 45,175,210, 36,243, 34, 8,102,181,190, 73,133, 52,120, 31,188, -117,133,104,221, 54, 59, 85, 32,209,170,174, 93,146, 65,144,205,102,165,193, 55,251, 59,182,187, 34, 73,198, 39,247, 76,211,106, -128,106,115,105,109, 78,105, 46,156,143, 70,211,186,218,104,232, 65,125,179,191,147,222, 54,219,165,205, 70,163,163, 7,125, 8, -193,107,183, 89,150, 39,231, 77, 93,139,111,202,241,232,244,225,251,202,134,196, 88,114,203,171, 23,137,203,146,209, 88,250, 6, -216,200,238,198,141,239, 87,117, 55, 61, 62, 13, 94,136,231,171,197,117, 46, 38, 47,198,193,183,187,221, 93,215,213,170,161,111, - 43,151,150,251,106,215,122,233, 85,141, 23, 81, 56, 62, 61,175,118,235,106,183,180,118,180,235,118,149,135,220,154,119,222,124, - 75,250,166,107, 60,178, 17, 48, 29,180,121, 94, 0,232,221,122,137,160,231,211,241,178,110, 95,222,220, 36, 73, 98, 10,217, 85, -123, 64, 99,221, 73, 50,154,230,249,168,170,119,155,249, 21,104, 47,221,186,222,151,239,156,167,133, 13,225, 80,235, 97, 25,251, - 32,235, 77,183,237,193,114, 50,153, 58,223,181,215, 47, 47, 47,174,175, 94,190,188,124,113,115, 59, 95, 46, 23,155, 93,150, 38, -191,245,139, 63,253,171, 63,251,141,243,251,199,117,235,195,190,181, 26,154,106, 63,159,223, 92, 93,221,188,186, 91, 90, 50, 95, -251,202,251, 29,234,229,223, 46, 2,210,124,189,189,185,188,201,216,230,137, 99,134,224, 21,144,130, 4, 65, 81, 1, 68, 96,141, - 46,205,184, 20,146,170, 38,198, 70, 90,183, 32, 68,220, 44, 1,134, 88, 38, 36,146, 24,246, 18,207,162,242,122,109, 2,208,166, -239, 13, 98,226,172, 15,161, 11,194,135,161, 21, 33,106,100, 50,136, 34,136, 35, 20,133,206,247,113,190, 39,170, 28, 5,107, 36, -141,211, 83, 36, 64, 69, 5, 70, 10, 64,132,161, 11, 62,214, 44, 68,209,128, 15, 78,136,232,189, 51, 54,138, 69, 66, 49, 53,138, - 42,130,138,226,200,122, 9,162,234,125,207, 76, 68,232,189,136,138, 65,131,136,204, 38,104, 24,172, 36,170,136,200,132, 1, 81, -130,178, 33, 81,102, 68, 54,108, 1, 90, 97, 47,129,217,132,182, 78,217, 76,138, 18,153, 37,120,107, 45, 33,240,247,191,251, 91, -131,154, 17, 51,235, 18, 6,175,228,208,231, 34,120, 40, 2,136,114,132,143,139, 44, 2,227, 16,112,136, 64, 33, 36,100,195,167, -247,239, 25,128,201,184,144,161,213, 36,146,203, 56,250,229, 35, 41, 1, 25, 21, 4,163,251,221, 34, 2,144, 33, 85, 60, 88,116, - 6, 78,116,172, 89,137,225, 34,138,147, 17, 38,129,248,117, 33, 33, 26, 54,200, 72, 10, 4,236, 81,136,141, 4,137, 0, 60, 0, - 69,144,129,200, 6, 16, 20, 78,143, 79,159, 63,127, 94, 55,109, 89,142,202,114,138, 12, 69, 86, 60,126,252, 36, 31, 77,206,239, -157, 53,109, 77, 76,205,110,107,146, 49, 72,223, 52,126, 58,157, 74,156,224, 12,149, 0,116,200,168, 42, 42, 18,160, 68,145, 10, - 25, 1, 21, 85,197,171, 14, 94,125, 0,245, 26,152, 45, 0, 4, 17, 16, 97,182, 3,238, 94,163,181,113, 72,246, 30, 64, 62,136, -140,234, 3,196,218,168,120, 37, 49, 17, 22,198, 3, 15, 20, 94, 79, 88,201, 36,121,154, 23,249,228, 40, 73, 11, 67,134,144,128, -135, 63, 18,135,222, 81,226,131, 24,159, 34, 70, 80,180,249, 27, 95,249, 6,167,110,125,125,243,159,255,199,255,164,106, 58,208, -240, 51, 63,243,179,191,253,189,239,112,194,127,249,231,127,205, 8, 42, 80, 85,245,248,193,249,211,199, 47,175, 95,190,236,125, -231,187, 54, 47,198,190,217, 18,198,216, 29,231,121, 89,239, 55,245,110, 71,160,155,213,178, 13,154, 80,155, 39,182, 15, 97,181, -217, 92,205, 23,243,229,234,205,135,239,125,253,203, 95,111,214,215,168,126,191,219,168,234,122,183,111, 59,239,189, 15, 33, 48, - 35,176, 45,139,241,249,249, 91,247,223,254,242,232,248, 1,168,191,189,186, 72,198,247,207, 30,220,223,173,110,196,135,208,183, -214,229,126,183,168,170,245,102,181, 4, 52,245,126,157,231,197,246,238,213, 98, 87,229,229,145,113, 73,146,230,125,219,172,119, -187,204,194,217,249,219,147,217,217,126,183, 87,233,214,183,143, 69,177,170,235,196,154,205,252,169, 45, 78,138,204,174, 86,235, - 36, 45,218,222, 35, 38,125,215, 33, 37,170,161, 15,100,140, 77,179,178,175,119, 93,192,198,119, 93,219,139,132, 32,146,142,102, -199, 39,179,113, 57, 78,179,241,110,125, 55,191,189,146,174,203,199, 83, 8,129,136, 81,122,147,228, 34,193, 89,155, 21,211,237, -234,102, 52, 59, 31,207, 30, 24,131, 77, 85,177, 49,121, 57,189,121,250, 87,192, 6,209, 34,244, 36, 66, 72, 70,165,218,204,173, - 75,251,174,174, 54,119,109,211,244,189,104,104, 79, 30,188,159,101,174, 90,223,181,117,221, 41,220,123,243,227, 44, 27,133,174, -218,174,175,210,242,212,166, 19,239, 59, 4, 76,210, 76,165, 37,206,202, 81, 14,161, 69,202, 84, 61, 39, 73,175,100, 92, 70,214, -149,229, 52,203, 11, 50,102,122,116,220, 9, 26,118,170,200, 18, 72,247,171,218,223,159,157,105,223, 4,192,241,104, 12, 46,107, -130, 76,202,177,168,238,118,187,190, 15,109,181,237,155, 53,153,180,169, 86, 46,155,238,247, 59,178,147,170, 9, 89, 74,153,139, -234, 39, 84,157,191, 94,246,157,216,188,204, 25,176,222, 46, 46, 46, 94, 62,121,250,236,211,167,207,190,120,121,113, 53,159,111, -155,230,189,183, 30,254,131, 63,252,173, 95,255,197,159,116,121,210,236, 3,121,193,174,189,126,117,241,228,209,147, 23,151, 87, -251,170,157, 78, 38, 18,250, 90,101,185,173, 46,175,239, 46, 47,174,239,110,151, 35,107,178,196, 1,170, 35, 3,128, 65,186,182, -247,157,247, 68,232,189,198, 40,126,172, 55, 34,130,212, 24, 65, 12,160,108,152,201, 16,168,168,244,193, 91,230,200,233,237, 66, - 0,136,250, 45,128,106, 98,109,156, 71, 89, 34, 64,236,189, 40,104,132,145, 5, 4, 17, 97, 30,178, 61, 68, 24, 4,122, 0, 34, - 52, 76, 18,167,138,200,142, 7, 82, 83, 56, 84,167, 89, 99, 37,118,170,161, 18, 0, 50, 6, 9,175,161, 92,131, 40, 77,104,152, - 65,193, 16, 9,196, 67,218,112,161, 48,196,145, 30,232, 69, 16,129, 99,176, 21, 80, 69, 18, 99,148, 48,168, 2,130, 33,235, 85, - 45,179,179, 44,136, 2,200, 32,214,166,113,196,103,200, 48,129,143, 35, 73,230,170,105,219,174, 61, 42,114,101, 86, 80,199,228, - 44,123, 81,254,254,111,127, 59, 26, 42, 35, 69, 13,134, 81,197,225,104, 25,211, 11, 7,158,144,234,144,221,130,104,192, 36, 68, -166, 1, 85,104, 56, 4,201,179,164,222,173, 93,146, 25, 4, 17,101, 75, 24,129, 41,113, 46,200,195, 58,132,122, 64, 69, 7, 85, -137, 66, 86,156,123, 3, 1,137, 10,179, 25, 40, 69,240, 99, 86,129, 14,225, 49, 38,100,107, 19, 98, 86, 0, 98, 14,128,134,120, -136,243, 12, 6,204,184, 95, 97, 52,178, 74, 0,231,220, 40, 49, 79, 30, 63,205,139,209,104, 50, 78,109,166,193, 51,225, 39,143, - 30,125,252,209,135, 73,146,180, 77,107, 44,229, 69, 57, 26,141,178,108,100, 77, 88, 45,215,121, 94, 48, 69, 70, 58,189, 70,236, - 17,155, 88,228,132, 20,101,171, 16,111,141, 68, 36, 32, 17, 61, 54,164,250,136, 12, 91, 34, 20, 13,241, 34, 40,209,244, 73, 7, -243,124, 76,169, 1, 74,232,112, 80,241, 6,158, 76, 36,126,138, 10, 33, 29,232,240,164,160,198, 18,155, 36, 77, 71,137, 43,140, - 75,226,192,129,104, 40,216, 27,250,114,226, 30, 25,219, 0,216,160, 82,121,116,146, 29, 77, 86, 87,151,255,229, 63,254,199,139, - 77,205,132, 31,127,244,229,239,252,254,247, 38, 39,211,213,124,253,252,209,227, 0, 84,173,215,247,206,239,215, 77,243,151,127, -254, 23,100,243,182, 94,100, 73,110,172,101,155, 1,179,182, 59, 9, 93, 47,158, 65,124,144,245,174,109,234, 21,104, 72,172,103, -132,182,111,231,203,229,205,252,110,185,221,125,240,238,151,222, 58, 61, 70,109, 22,119,119, 93,215, 46,231, 87, 85, 8, 93,219, - 56,199,198, 88, 47,154, 37,217,209,236,232,193,195,183, 93, 94, 76,102,179, 32, 18,124, 16,223,216,164, 32,223, 41,154,190,219, -183,187,141,248, 70,125,239, 70,179,196, 37,196,169, 33,252,252,179,191,242, 68,108,172, 4, 47,226,173, 77,146,108,212, 52,181, -203, 70,218, 53,251,186,210, 32,192,169,250,218, 36,197,108,118,223,119,157,179,198,154, 60, 40,156,156,157, 51,244,222,119, 8, -224,187,221,102,241,146, 77,154,103, 89,150, 56,223,121,227,146,190,173, 92,146, 42,226,201,233,217, 7, 31,126, 52, 46, 71,249, -244,100,179,184,186,190,124, 21, 0, 27,145,190,173,165, 93,230,227, 25, 27,135, 42,198,229, 73,154, 0, 25, 38, 50, 54, 11,125, -213,236, 22, 89,113, 28,143, 66,108,221,104,124,236,146,196, 34, 11,152,164, 40, 1,113,183,154,119,125,191, 91, 93, 38,229, 25, -219,180,107, 42,182,121,146, 22,251,213,109, 16,117,233, 56,205,198, 68, 74,198, 26,227, 36,244,140,180, 93,206,147,209,113, 86, - 78,189,111,217,166, 76,230,225,249,155,101, 57,170,246,213,226,234,179,233,236, 60,201,138,182,222,140,138,220, 37,233, 40, 75, - 54,155,133, 2, 38, 89,193,140, 77, 91,117,253,206,184,233,108,124,100, 25,208,141,202, 81,153,184, 20,181, 91, 44,238,246,251, -245,241,209,113, 31,124,188,155,111,118, 27,199, 38,120, 63, 61, 57,203,138, 9,106,104,122,223,132,188,200,153, 89,110, 55,221, -106, 7, 46, 47,210,212,116,251,253,237,213,171,103,207,159,127,242,197,147,207,158,190,184,184,185, 93,108, 54,211,178,252,227, -239,252,202,191,253,251,191,113,255,193,113, 93,117,216,163, 19,221, 45,239, 30, 63,126,250,252,213,213,237,106, 85, 20,133, 77, -108,126, 52, 34,203,215,203,253,221,213, 13,250,144,177,157,228,169, 49,198, 25, 27,141, 45,157,239, 4, 52,154,146,163,215,197, - 26,131,132,108,209,112,252, 97, 5,133,145, 57, 78, 53, 17, 0,209, 28,166, 86,177,235, 45,136,248, 16, 66,240, 40, 16, 9,220, -150, 73, 15,142,189,131,160, 10, 1, 0, 8, 2, 0, 27,195,135, 79,143, 99, 82,196, 0, 10, 72,142, 98,126, 40, 30,218, 80, 84, -153,169,151,161, 66, 35,222,234,163, 80, 59,100,151, 14,232, 62, 66,178,204, 4,241,165,162,241,134, 8, 73, 69, 35,206,157, 0, - 21,200, 32, 49,178,168, 68,210, 9, 17, 9, 14,229, 18,113, 65,142,238,254,200, 20, 96, 38, 98,246,222, 27, 98, 54, 44, 32,145, -219,111,200,116,160,155,253,190, 76, 56, 73, 19, 64, 52, 76,104,216, 7, 81, 5,254,254,183,127,235,117, 34,126,176,163,196, 91, - 1,145,170,128,128, 6, 69, 30,134, 29,145,252, 30,141, 46,177,158, 53,174,120, 16,121,245,160,136, 28,186,126, 91,135,163, 73, - 17, 66, 79,138,160,200, 76, 56, 36,178,116, 64,169, 35,168, 6, 84, 66, 1, 16,100, 38,213,240,218,124, 4,120,168, 55,229,248, - 79,200, 97, 64, 2, 20,109,137,196,100, 9, 41, 46,165,252,227,222, 34,136,115,200,232,248,161,193,142,142,160,210,251, 94,138, - 73, 49,191,187,219,110,119,163, 81, 57,157, 30, 35, 35, 51, 45,239,238, 22,155,237,199, 31,188,215, 52, 53, 0,116,109,157, 20, -163,245,252,226,201,179,231,211,233,140,135,238, 85,138, 41,143,195, 14,199, 26,185,193,200, 34,158,200, 28, 4,145, 1,130, 29, -111,145, 81,152, 31,198, 83, 26,119,133,161,183, 43, 14, 34,162, 5, 22, 16,196, 15,213,169, 3,194, 41, 38, 33,116,144,190, 98, -171,162, 2,104,196, 26, 0,144, 49,131,122,197, 24,235, 3, 41,150,193,224, 48,209,125,205,210,143,215, 30, 81, 45,103,199,125, -211,253,215,255,201, 63,125,118,113,235, 24,207, 31,190,249, 7,127,248,135, 71,199, 99, 64, 92,205, 87,151,207, 31,177, 77,201, - 96,213,202,231,127,243,195,166,237,166,167,247, 25,196, 36,163, 32,194,132, 32, 1, 66,171,170,228, 70,204, 82,237, 54,219,125, - 99,216,248,102,155,152,222, 32,117, 93,119,183, 88,191,186,157, 55, 93,247,181, 47,253,196,123,239,190,235,235,221,102,187,107, -235,125,211,135, 16,231, 93,132,193, 7,103, 76,146,101, 71,163, 50, 41,202,242,222, 91,249,104, 82,239, 43,155,231,236,251,174, -239,150,203, 27, 34, 35,221,158,147,146, 76,154, 36, 89,104,219,182,109,214,119,207,154,170,106,149, 4,156, 33,234,186,198,165, -105,219,236, 51,203,197,248,204, 22,227, 16,130,209,208, 86,107, 38,108, 61, 42, 39,121, 81,100,229, 12, 84, 54,155, 59,151,228, -108,120,113,253,210,186,196, 38,133, 82,234,209,245,237, 94, 65,141, 49,198, 37, 93,179,245,190, 1,147, 49,193, 59,111,189,107, -157,187,189,124,186, 91,205,235,166,111, 60, 20, 69,142,210, 7,209,188, 56,202,210,194, 88, 86,114,161,111,216,112,154,142,156, -115, 10, 94,124, 64,144,208, 55,108, 18, 54,148,184, 36,177, 73,189, 91, 73,240,125,187,109,118,187,190,109,141, 75, 93, 82,102, -163,227,174,218,140,199,229,126, 53,207, 70, 35,148,110,183,219,121, 47,170, 98,144,231,183, 79,147, 36,203,242,212, 58,103,141, - 77,179,212, 87,107,228, 76,197, 59, 75,251,213, 45, 67,107,210,108,179,186, 35,151,179, 49,251,245, 34,248, 54,205,203,113,145, - 55,109,179,107,186,217,201,121,181,219, 92, 45,174,171, 94, 68,249,104, 50, 99,242,235,237,142,220,136, 56,166,231,237,241,236, -120, 83,135,122,191,122,247,252, 60,132,190,235, 90,162,100,121,251, 34, 73,243,190,171,119,235, 69,215, 52, 77,179,107, 60,122, -117,109,239,133,139, 44, 75, 65,186,229,221,237,179,103,207, 30, 61,123,254,197,243,151,207, 47,175,175,239, 22,125,144,159,255, -198, 87,255,193,191,254, 91,223,248,248,189,182, 15,125,227, 83,206,124,211, 92,190,120,246,217,227,103, 23,183, 75,235,204,135, - 31,189, 55, 57,157, 46, 86,235,201,209,244,118,190,184,184,184,182, 1,139, 52, 97, 67,198,112, 98, 13, 51, 91,230, 78,131,247, - 66,131,191,145,152,140, 25, 58,127,200, 90,195,108, 0,145, 45,199,124, 97,144, 16, 67, 42,170,218,121,111, 14, 69, 55, 74,216, -247, 93, 83, 55,251,182,233, 66, 71, 4,137,115, 81, 43,143,152,222, 24,200, 71, 68,107, 25,200,112,244,106, 3, 34,177, 2,244, - 65, 35,183, 60,210, 24,131,168, 97, 50,200, 67,143, 52,128, 33, 36,192, 88,210,201, 24,185, 35,135,122, 77, 66,195, 38,250,185, -141, 53, 62, 28,170,223, 48,234, 60, 96,136,141, 53, 33, 40, 2, 24,138,227, 80, 31, 67, 99, 52, 24,119, 8, 0, 58,239, 73, 53, - 53, 46, 4, 25,202, 3,105,208, 84, 44,179, 33,238, 85, 64,133,137, 69, 85, 0,182, 85,141, 26, 38,197, 72, 21, 19,142,142, 73, -181,108,124, 8,252,131,239,126, 43,122,183,135,238,150,131,211,218, 24, 22,149,225,155,146,136,147, 63,180,179, 12, 61, 75,135, -209,203,193,140, 14, 72,138,152, 89,186,185, 91,158,204,166, 62,200,208,239, 7,136, 32, 72, 24, 29,131, 3,185, 22,226, 25, 21, -227,138,136,230, 32, 91, 17, 69,206, 17, 17, 50,154, 72,148, 1, 64, 34, 19, 13,164,104,220,129,146,133,170, 66,114,232, 21, 84, - 5, 12, 52,164, 63, 99, 38,106, 24,219,170, 2, 72, 48,104,210,196, 60,123,254,210, 50,149,227,163,178,156, 72, 16, 70,249,155, - 79, 62, 61, 57, 59, 59, 57, 62,174,170,173, 97, 16, 65,151, 48,162,123,255, 75, 95,154,223, 92,186, 36,141,227,202, 56, 18, 21, - 13, 16,123, 38,117, 48,105, 41,136, 14,244, 75,128,173,200,172, 0, 0, 32, 0, 73, 68, 65, 84, 28,180,120,213, 31,251, 63, 15, -173,220, 49,116, 74,177,178, 41, 58, 78, 69, 67, 8,131,123,125,152, 40, 28,176,171,104, 34,225, 32, 26,153,244, 48,133, 29, 30, - 81, 17, 5,101,231,226, 77, 10,145, 68, 34, 33, 42,130,153, 41, 86,197,198,123, 34, 0,177, 53,204,201, 63,251, 47,254,211, 47, -158,223,178,225,163,233,248, 7, 63,248,163, 7,111,157,247,222, 27,107,231,183,171,221,122,149, 56, 91,181,221,252,234, 69,215, -214,105, 94, 48,106,187, 91,128,136,201, 74,245, 29, 0,168,201, 93, 49, 2,245, 64,110, 53,191, 83, 36,107, 83,227,146, 4,118, -132,184,222,237,239, 86,203,139,249, 29, 34,253,194, 55,127,241,104,124,116,125,125,161, 72,190, 23,233,251,166,217,231,105,218, -116, 61, 16,147,250,114, 52, 62,187,247, 48, 25,207,238,191,251, 21,237,154,245,106,233,164,218,111, 46,174,158,127, 54, 62,125, - 47,205, 71,204,216,108,215,213,118,213,119,117,219,110,250, 62, 40,154,186,217,111,154, 58, 77,178, 36,203,178,242,248,120, 58, -157,157, 62, 4, 50, 0,208,110,239,170,205,171,187,139, 79,146,209,125,155, 78,250,174,102, 99, 18,195,187,249, 19,193,132, 56, -169,182,215,104, 12,152,172,111, 26, 85, 96,195,170, 18, 66,111,152, 88,133,161, 69,164, 52,177,173, 15, 93, 31,202, 34, 77, 50, -103, 92,209,212,219,174,107,239, 22,183,130,156,165, 9,155,164,200, 51,237,219,253,234, 34,203,203,174,222,112, 58, 41,203, 73, -232,251,245,234, 42, 47,207, 76, 50, 10,226, 13, 51, 41,116,205,182,107, 43,182,169, 2,180,245, 14, 17, 64,188, 49,174,107, 86, - 77,181, 1,105, 67,219,181,125,125,250,224,109, 8,161,110,234,229,106,238,146, 52, 27, 29, 37,105,102,136, 22, 87,143, 76, 82, - 16,231, 93,187,223,109, 87, 66,220, 53, 77,223,182,251,245, 37, 39,101,154,228,235,249,133, 41, 38, 68,108,172,203,138,113, 57, - 62,242, 93, 85,111, 55,249,248,164,170, 54,251,186, 59, 63,123,243,100, 58, 5,213, 52, 73,218,182,230,180, 72,242,146, 17, 2, - 72,215,123, 32, 59,202,147,197,106, 85,117, 13, 3, 32,187,166,173,109, 90,178,205, 52,248,192, 41,184,124, 84,148,179,217, 40, - 79,161, 24, 77,157,227,174,222,191,124,241,228,241,147,167,143,158,189,122,121,117,115, 49,191, 93,110, 54, 15,239,159,252,251, - 63,248,206,239,255,230,207, 37,137,171,107, 97, 37, 35,184,189,189,121,242,248,209,203,235,219, 77,221, 24, 99,222,124,120,111, - 94, 87,183,119,171,231, 23,183, 87, 23, 87, 55,151,139, 89,150,185,204, 38,214, 18,177, 37,102, 99, 25, 57, 22,245, 24,203, 10, - 64, 64,214, 26,142,166,106,107,172, 49,209, 69, 97,201, 24,182, 42, 24,164,139, 11, 86, 68,220, 34, 19,138, 42,145, 33, 14, 18, - 54,213,110,223, 52,193,139, 53,198, 90,107,136,153, 24, 16, 37, 18, 37,153,163, 47, 17,117,208, 48, 25, 14,233, 65, 0, 59,172, -116,168, 49, 79, 52, 0,147, 95,247, 43, 11, 41,134,161,106, 13, 25, 0, 12,129, 87, 98, 52, 28,215,104,140, 96,253,240,154,236, - 13,128,136,150,216, 48,245, 65, 0,148,129, 16,177,247,109, 80, 53,196,230, 96,175,140,133, 30,135, 92,100,220, 18, 6,110,139, - 10, 26, 66, 71, 40, 72,130, 17, 98, 76,162, 96, 13,175,170, 26,164, 31,231,133, 51, 28,151, 65,107,204, 64,227, 87,229, 31,252, -246,183, 15,116,245, 67,117,211,240,155,215,142, 73, 24, 92,236,116, 96,193, 15, 5, 18,131, 51, 59,118, 86, 0,113,180,191, 24, -182,205,102, 45,156,100,169,197,160, 68, 16, 59, 30, 99, 4, 55,182,199, 17,113,108,126,100,203,100, 45,242,192,153,100,138,161, -252, 67,248,159, 6,147,105,140,201,197,100, 66,252, 98, 98,116, 22, 49, 50,106, 14,205,238, 58,244, 3,195, 1, 76,125,152, 27, - 0, 16, 40, 66, 57, 30,173,238,230,235,109, 53,153, 76,202,201,212, 89,179, 93,174,214,155,237,243,203,139,175,125,244, 37, 17, -239,187, 94,213, 95, 94, 94,119, 77,103,156, 13,193, 75,232,147, 36, 27, 90, 74,134,121,165, 87, 81, 98,139,108, 84, 67,144, 30, -233,192, 13,136,206,246, 67,163,112,196,130, 97, 24,222,187,129,155, 29, 55,234, 56,251, 25,246,212,168,199, 69,139,123,236,118, - 10,177,207, 50, 34,201, 14,118,213, 3,236,126,160, 96, 28,154,203, 7, 7,155, 70,217, 62,186,143, 6, 50,245,176,209,241,255, -244,167,255,226, 47,254,230,211, 60, 75, 70,121,250,123,223,251,254,151,191,254,149, 16,250, 40,121, 61,255,226,145, 71,147, 21, - 37,113,194, 4,168, 52,158,206,216,164, 65,144,217,160,130, 49,182,105,234, 44, 79,153,141,239,234,186,147,106,187,102, 8, 93, -219,168,180, 41,119, 42,176,217, 87,215,243,197,124,181,202,210,244,167,191,242,149,245,106,225, 12,139,248,182,218,214, 85,133, -168, 77,215, 52,109, 75,160, 69,150, 61,120,240,230,248,236,188, 60,126,120,116,122,114,119,249,172,222, 87,109, 91,247,193,142, -166,167, 16,218, 34, 47,250,170,218,110, 86,193,119,213,250,154, 76, 30,175,151,139,213,220, 36, 57,187,164,217, 45,197,119,211, -227, 7,206,154,237,242,234,246,250, 81,215,134,201,244, 76, 20,243,209,108,187,120,185,190,123, 10,210,207, 30,188,239,219, 93, -223,247,228,178, 44,205, 70,163, 73, 93,109,217,164,125, 87,133,122,211,119,123,151,140,130,239, 93, 98,146, 60,183,198, 26, 54, -203,237,174,107, 43, 6,156, 78, 38,162, 90, 76,206,178, 98,162, 96, 22,203, 69, 81, 76,210, 44,203, 29, 21,105,225,202, 83, 5, - 8,193,231, 69,169,253,174,247, 62, 77,143, 52, 52,168, 33,205, 38,136, 18,124, 71, 54, 83, 9,193,183,218,119,100, 12,145,173, - 54,243,208, 53,160,216,117, 93, 94, 28, 73,240, 26, 68,186,110, 49,191, 44,202, 99, 8,181, 49,137, 97,187,223,204,141, 77,146, -114, 86,215,117,239,251,248,137,171,150, 23, 46,201,247,213, 38, 14,103,146,116,172, 38, 95, 47,110, 56,155,156,158,222, 59,187, -119, 30, 39, 79,128,176,218,172, 36,212,231,231,239,118, 77,181, 90, 92, 90,155,142,203,233,120,114, 44,190, 71,164,178,156, 90, - 16, 36, 14,161, 67,228,196, 80,213,246, 77, 91, 23,153, 45,138,114, 52,153, 9, 96,181, 93,148,227,241,108, 54, 62, 61, 26, 29, -207, 38,227,114, 34,190,189,189,122,245,248,241,147, 71,207, 94,188,184,184,121,113,125,125,125,183,200,146,228,219,191,244,205, -127,247, 7,223,122,255,189,243,125,221,169,231,132, 76,187,219, 94,189,120,241,232,201,243,203,187,149,115,238,104, 92,164,227, -209,182,218,255,232,179, 39, 4,186, 89,238, 50, 50,179,233,208,186,227,140, 49,108, 80, 20, 85,137,227,135, 26, 99,163,189,179, -198, 48, 91,107,201,242,161,197,117,104,199,208, 32,160,202, 3,193, 54,146,151,134,106,104,139,216,251,176,111,234,222,247, 65, - 68, 68, 0, 49, 75,210,212, 58,137,235,196, 1, 41, 18,139,165,227, 13,250,245,199, 21,145,216,196, 75,182,202,176,121,136, 57, -184,253, 37, 70, 75,135, 89, 32,171, 70, 81, 97, 64, 60, 50,147, 42, 88, 34,141, 13, 60, 42, 49,193,207, 10, 38, 58,217, 0, 37, - 82, 73, 20,129, 72,188, 71, 34, 27,115, 4, 67,205, 6, 32, 34,115, 76, 90, 33, 1, 24, 99,226,209,119, 56,250, 33,118,170, 7, - 22, 56, 70, 84,194,190,247,117,219, 28,101, 89,154,166,189, 8, 1, 34,129,128,168,130, 97, 19,124,224, 63,248,205,111,197,253, -235,144, 41,138,167,243, 1, 67,127,112,207, 64, 80, 96,203, 24, 65,155,168,116,200,143,198, 62,189, 40, 8,240, 64, 61, 49, 24, -186,213,174,155, 29,149,240, 58, 55, 69,209,120, 66, 0, 74,236, 64,148, 13,177,179, 56,108,145,136, 81,129, 66, 6, 82, 67,116, -104,241, 59,116, 30, 69, 12,127,172, 59, 57, 52,155,162, 53, 3,235,150,245, 80,212, 23,147,165,120,168,143,137, 19,227, 31, 55, -128, 16,242,236,168,124,252,252, 69,150,102, 73,146,168, 74,219,212, 77,219,189,188,184, 60, 61,155,221, 59, 57,174,155,206, 37, -201,244,248,254, 7, 31,190,255,234,197,147,227,211,123, 77,181,117, 46, 67, 54, 68,230, 48,144,143,237,101, 49,162, 27, 34,236, - 69, 68, 94, 95,241, 84, 4, 99,148, 73,135,224,242,161,211, 3, 99,175, 85, 12, 68, 31, 54, 76,198,131, 32, 7,138, 16,157, 76, -175,203,175,225,144,231,138, 79,221,240,131, 14,189,139, 67, 67,109, 84, 6,163,155, 50,234, 69, 58,244,185, 35, 25, 94, 47, 23, -255,235,255,246,103,136, 48,202,242,239,254,238,247,127,226,167,190,222,213,123, 52,198, 26,222,172,182,151, 87,243,190,169,216, -101,160,253,118,117,135, 54, 1, 96, 21,104,234,125, 8,222, 24, 98,194,118,191,207,202,163,182, 90,175,111, 95,125,241,217, 39, - 9, 73,226,146,182, 19,166, 58, 33, 17,212,249,106,121,121, 51,223,236,171,147,217,189,175,125,244, 53, 8,157,120,223,182,253, -174,218, 55,109, 77,210,239,154, 46, 73,146,224,187, 50,203, 78,207, 30,186,172, 72,178,220, 89,187,217,172,211, 81,201, 46,155, -157,157, 23,229, 17,219,164,169,119,190,239, 58,223, 55,251, 61,177, 5, 99,198,105,186,188,125,177,238,188,179, 9,146,113,217, - 52, 31,141, 38,227,178,239, 58, 32, 86, 76,173,177,211,241, 56, 41, 79,119,251,165, 77,199,156, 78,243,114, 98, 73,128,211,174, -221,128,138, 15,221,104, 52, 43, 71,101,215, 53,157,111,109, 82, 26,151,236,182,139, 60,225,209,248,132,236, 40,207, 74, 9,173, -244,161,105, 67,211,213,227, 44,237,170,185,136,220, 61,255,235,241,209, 73, 81, 76,172, 54, 71, 71,179,241,228,212,101, 89,187, -223,136,120,155, 78,250,122,221, 87, 27, 65, 51, 26, 79,219,122,223,181,123,151,228,161,107,128, 12,137, 6, 13,105, 50,234,124, - 31,246, 27, 66,211, 7,223, 54,123, 64,206,242,209,110,117,131,218, 36,217, 8,137,178,172,236,154,221,197,179,191,157, 29,159, -111,183, 87, 68, 54,113, 41, 19,134,190, 75,210,113, 93, 45,167,167, 15,206,223,254,240,228,228, 94, 16,221,237,235,190,239,119, -119,151,187,205,213,241,131, 15,218,106,219,118,117,158,230,117,117,247,226,213,243, 36, 27,167,121, 89,150, 51,155,142,235,253, -122,114,116, 18, 66, 15, 32,198,218,162, 28,135,190,111,170,109,189,189, 61, 61,187, 79,196,198,101, 1,244,236,248,212,186,116, -177,221, 48, 72,154,102,193, 75, 49, 41,239,157,205, 30,156,157,157,156,221, 99,134,197, 98,254,252,217,147,199,207,158, 62,189, -184,120,126,121,253,226,242,122,179,111,126,242, 43,239,253,195, 63,252,246, 47,253,204,199, 72,216,212,193,105,162,190,189,126, -249,226,249,211,103, 23,183,115, 65,252,198, 79,126,213,141,179,166,105,166,167,211,231, 87,183,203,187,149, 19, 28,101, 46,113, - 6, 17, 19,231,172, 49,206, 37,160, 42, 8,214,184,248, 28, 91, 99,162, 12, 97,136, 13,153, 88, 65, 7, 3, 10,230,245,241, 18, -172, 49,131, 96, 0, 16, 84, 29, 27, 2, 6,144,160, 33,136, 4,241,109,223,121,239,227, 85, 54,117, 46,113,238,240,233,163,193, -138,128, 56,244,218, 19, 14,253,124,128,128, 1, 4,144, 88, 84,105,104,187, 70, 80, 96,231, 52, 12,173,161,160,224, 53, 16, 50, -128,144,146, 18,198,211, 23, 32, 26, 70, 64, 22, 13,209,172, 25, 99, 74, 17,171,238, 67, 32, 0, 98,150, 32, 65,188, 7, 73,173, - 99, 4, 17, 80, 85,203,212,123, 79,196,206,186, 78, 85, 1,140, 51,145,225,104,163, 63, 18,177,245, 30, 16, 82,195, 67,118, 22, -212, 88,238, 4,150,219,237, 36, 51, 89, 54, 82,149,196,217, 8, 32, 83, 36, 13,130, 34,125,240,252,135,191,251,237,248,190, 73, - 68,222, 68,219, 59,113,236, 94, 29,176, 38,100, 81, 53, 40, 24,131,136, 2, 10,104,162,232, 28,226,155, 56,212,232,198,115, 53, -130,181,102, 62,191,153, 28, 29,131, 6, 81, 56, 52,196, 68, 11,164,193,104,110, 65, 64, 67,226,195,255,199, 75, 18, 91, 49,232, -128,121, 65, 84,137,199,216,195, 47,209, 46, 21, 45, 74,160, 18, 6, 68,134,247, 49, 25, 12, 7, 62,101,188,135, 28, 80, 49,113, - 23, 16, 16, 0,145, 81, 57,237,219,237,245,205, 93,146, 56, 85, 77,179,180,111,170,187,249,250,242,246,238,167,190,246, 85, 32, -232,218,150, 49, 60,255,226,147,203,235,219,122,183,217,108,119, 69,158,255,184, 60,133, 92, 44,126, 29, 26,248,208, 2,138, 72, -136,186,147,198,150,238,193,213, 24,221, 61,170,234,163,206, 18,131,176, 67,233,214, 1,230, 14, 12, 3,170, 95,227,225, 29,241, -128,148, 4, 80, 54, 60, 64, 49, 7, 88,177,192,224, 11, 26, 12, 53, 26,194,192, 28,230,215,205,170,138,248,186,205,137,216,240, -237,213,237,223,252,237,143,136,248, 87,126,237, 91,127,247,231,191,217,247, 13, 18,154, 36, 17,145, 39,159, 63,218, 46,111, 5, - 96,179,184,105,235,166,239, 90, 81, 34,196, 52,115,203,171, 47, 76, 82, 78,142,143,234,170, 85,105,187,253,220,229,147,166, 15, - 10,249,236,228,158, 7, 22, 47,133,217, 17, 97,215,201,221, 98,253,242,102, 94,183,205,195, 7,111,190,117,239,172,235, 58,100, - 27,124, 95,237,183,109, 83, 19, 64,143,132,170,229,168, 44,203,201,244,244, 28,109,225,194, 58, 29,159,109, 87, 55,167,247, 30, -134,206,223, 62,251,171,151, 95,252,249,189,251,111, 52,213,174, 44,103,218,215,161,235, 20,160,239,218,197,221,213,203,139,231, - 94,237,131,123, 15, 70, 69,202,218,228,229,172,173, 42,129,158,217, 54,213, 38, 31,157,236, 86,215, 77,223,113, 50,217,220, 60, -117, 89, 62, 57,126, 3, 84,140, 43, 64,177,109, 43,147,230, 68,230,254,253,115,214,253,100,246, 16,161,239,118,119,163, 98, 60, -155, 78,181,223,153, 36,239,234,141,111,171,229,102, 21,218, 93,221,245,179,163,179,227,179,119,146, 36,105,235,157,177,110, 60, - 26, 49,145,146, 77,211, 12, 0, 60,154,106,241,220,165,153, 49, 41,105,151,141, 79,247,139,151,168,106,146, 12, 85, 66,232, 21, -116,113,249,169, 15,208, 84, 75, 13,253,118,117,195,164,214,168,117,133,138,110, 55,243,163,233,244,141, 55, 63, 32, 20,103,205, -102,179, 16,118,132,218,181,155,122,187, 20, 98,239,187, 80,111,202,147,115, 0,173,119, 43,146, 78,208, 46,239, 46,119,171,235, -213,234,110,114,250, 70,223,110,130,130,181,185, 49, 69,219,238, 63,127,244, 23,219,170,125,239,173,183, 31,188,241,209,100,118, - 38,161,239, 85, 19,151, 2, 26,237,219, 44,205,215,183, 47, 39,227,113,121,124,111,183, 89,216,108,116,122,114, 58,155,157, 24, -245, 0, 48,153,204, 78,143, 38,138,188,173, 26, 7,253,217,195,123,111,191,249,230,195,135,111,102, 69,178,223, 44,175, 46, 95, - 61,126,244,248,233,171, 87, 47, 46,111, 94, 94,223, 92,223, 45, 38,163,209, 63,250,227,111,253, 27,191,243,171,229, 56,173, 91, -207,144,164,236,182,203,187,167, 95, 60,122,241,242,114,185,171, 69,225,171, 95,251,224,229,124,254, 87, 63,252,188,105,154, 79, - 30, 61,219,221,174,143,203,130,153,172, 97, 34, 74,216, 58,231, 6,179, 47, 17, 33,117,190, 87, 84,195, 73, 16, 65, 34,107, 88, - 99,245, 28, 33, 32, 3,200,161, 18, 71, 45,177,130,118,189,143, 90, 8, 17, 90,107, 53,168,130,116,226, 9,145,145,154,206, 99, - 36,164, 17,102,214, 26,155, 96,180,178, 16,115,140,215, 28,212, 21, 26, 18,148,132, 12,160, 40, 67,185,160, 6, 0, 81, 37,160, -196,216,168,142, 10, 40, 33,116, 33,136, 4, 71, 36,224, 9, 45, 18, 58, 98,195,236, 44,130, 66, 8, 18,107,146,189, 6, 6, 74, -152, 84, 99,219, 21, 56, 54, 68, 20, 65,243,134,153,145, 68,196, 11, 88, 67,196, 70, 84,152, 25,141, 9, 33, 48, 98, 98, 18,249, -127,153,122,179,103,203,142,236, 62,111, 13,153,185,167, 51,221,177, 6, 20, 80, 0, 26, 13,160, 7,116,183, 40, 54, 37, 14, 10, -201, 18, 29,164, 56,216, 17,166,104, 59,252,234,255,208,225,240,155, 34,252,100,217, 50,229,166,200, 22,155, 24, 10, 53,221,186, -243, 61,243, 30, 51,115, 45, 63,228, 62,213,122, 7,112, 7,220,147, 59,247, 90,191,223,247, 73, 76,168, 26, 29,187,164,106,152, - 83, 41,247, 64, 14, 68, 17,216,116,157, 37,200,179,140, 12,147, 65,241,170, 32, 12,160,162,117,219,108,247,219, 77,189,231,127, -247, 23,127,146,252,168,135,209, 59,192, 24, 55, 5, 68, 18, 64,147, 16, 56,156,202, 99, 74,192,200, 25, 2,141, 92,203,228, 90, - 5,148,244, 48, 74, 86, 82,231,250,122, 11, 38,207, 51, 55,174, 8, 5, 0,129, 71,156,142, 32, 34, 72, 42,108, 9, 64, 42, 25, -167,253,199,251,170,234,136, 0, 58, 16, 27, 70, 66,228,248,134, 53, 22,167, 34,170, 2,241,193,221,174,227, 18, 24, 21,198,218, - 50,235, 56,190, 80, 68,212, 8, 74,168,128,199,179,233,215,223,124, 29,130,100,206, 16,114, 94, 21, 97,240, 47, 95,191, 93,204, - 22,159, 60,127, 90,215, 53, 25,227,108,241,241,103, 95,236, 55,155, 79, 63,251,210,247, 59, 69,103, 51, 99, 48, 83, 0, 69, 25, - 21, 39, 48, 74,175, 8, 14,214, 85, 5, 80,136, 49, 34, 1, 27, 11,170, 81, 69,199, 27,252,104, 23, 79, 75,215,177,152,155,214, -172,152,160, 78,227,221, 28, 68,254, 43, 87,227, 97,179,125, 88,150, 38,194,103,138, 27,169,104,148, 40, 49,166,226,243,136, 28, - 74,255,145, 68, 17, 86,181,198,190,125,251,250,155,111, 95,253,193,239,255,139,127,245,111,254, 77, 84, 65, 99,216, 57, 67,124, -253,246,178,222,183,138,174,107,234,147,197,162,243, 49,175,230,132,232, 44,117,125, 31,169,156, 45, 78,124,187,247, 81,200, 85, -128, 90, 78, 38,131,151,186,222, 90,107, 64, 66, 89,229, 20, 55, 10, 80,119,237,122,187,191,184,185, 29, 6,255,249,167,159, 63, -127,254, 67, 91, 78,194,224, 55,235,187,213,106,237, 24,250,126,104,135,222,104,152, 77,138,147,211, 71, 92,205,170,227,167,103, -207, 62, 86,206,182,155,141,181, 60,244,245,195,237,109,164,220, 49,182,109, 80,245,155,187, 11, 5,112,214,181,219,135,227,211, -199,189, 72,136, 48,248,206, 48, 31,159, 63,183,206,246,187, 59,223, 53,189, 80,221,180, 0,144, 21, 83, 32,163,125, 93, 44,206, - 44,219,161, 94,245,237, 46, 43,202,233,108,230,242, 89,223,183,253,208,179,106, 8,126,122,244,216,119,117, 84, 42,170,133, 97, -210,216,102,249,196,247,251,205,234, 1,108, 33,161,141,209,159,159,157,151,153,217,174,110, 92, 94,246, 98,183,155,165,111,119, -200, 6, 66,223,236, 86, 68,198,229, 19,178, 5,147,176, 45,218,253, 78,165, 39,240,214,150, 93,179, 55,196,132,152,151,115, 16, - 13, 94,117,216, 77, 23,231,156, 21, 49,224,110,191, 11,190,151,232,141, 49,195,208, 0,242,208, 53,109,235, 11, 75, 69, 53,207, -178, 25,185,178,170,166,211,217,236,163,207,126, 84, 77,102,155,219,183, 93,239,183,155,123,203,220,135, 48,120,232,251,206,154, -220,229,211,217,241,179,161,221,223, 94,127,183,235,250,179,211,231,103, 71,167, 38, 63,218,181,221,102,181,172,119, 43,178,133, -115,153,205,178, 42,175, 86,219, 37,114,126,118,250,132,136,130, 42,155, 92,163,223,173, 87,235,213,125,223,249, 8, 88,230,110, - 90,230,199,199,103, 79, 63,120,242,232,209, 7,243,249,194,119,205,221,205,213,139, 87,223,191,124,245,246,237,213,237,235,235, -219,183,151, 87,253,224,159, 61,126,242,199,191,252,197, 31,254,242,231, 94,124, 8,228,208, 73, 59, 92,189,125,251,205,183,223, - 61,172,182,221,224, 63,125,254, 88,156,121,121,113,121,117,117,155,229,238,230,234, 62, 83, 56,153, 20,150,153,152,173, 97, 75, - 6,153,137,108,250, 96, 39,190, 13, 19, 19,179,106, 52,132,200, 12,154,210,144,134, 64, 37,213,212, 85, 12, 49, 32,121, 80, 66, - 50,204,227, 4, 87, 85, 37, 42, 68, 64,204,173, 81, 64, 1,165, 17, 11,128,185,201,157,179,214, 26,235, 44, 34,229,228, 84,132, - 14,194, 35, 58,228, 50, 12,145, 70, 21, 81, 68, 37, 36, 1, 32, 66, 75,156, 78,163,144,116, 69,160, 0, 96,144,152, 12, 18,138, - 82, 26, 49, 41, 34, 51,119,189,104, 66,149, 13,130,160,233,243,153, 52,211,227, 53, 53,173,204, 64,211,180, 39,205, 68,172, 49, -233, 13,132,145,162, 66,136, 65, 14,212,202, 52,231, 53,144, 30, 57, 41, 46, 1,137, 70,158,200, 35, 64,184,169,251,190,239,231, - 85, 97,152, 17, 73,125, 96,147,188,161,184,218,239, 55,251,205,122,183,111,187,134,255,135, 63,251,147, 67, 34, 18, 1, 71, 48, - 91, 66,190, 24, 74,123,206,180,166, 78, 45, 87, 68,148,244, 32, 56,164,134,104,228, 66,224, 88,209,213,177, 81, 6,251,122,168, - 38,249,248, 67, 18, 34,144, 25, 1,149, 4,227,253,245, 32,113, 4, 24,175,196,160,168, 17, 33, 77,227, 70, 52,114, 58,167, 84, -133,152,101,252,245,164, 84,119, 2,190,167, 45,132, 42,200,193,130,141, 35, 58,158, 16, 0,216, 56, 56,184,160,210,228,198,230, - 25,144,124,255,234, 77,150,101, 69, 89, 90,147,101,214,108,182,155,191,255,230,219,175,190,248,225,164,116,237, 16,172,225, 52, -237,123,120,184,123, 88,173,102,211,105,230, 10,197,212,161, 72,125, 8,129,131, 94, 35,173, 55,211,130, 27, 17,137, 12,105, 50, -252,193,225,189,227,253,100,133, 0, 1, 12,130, 38,242,196,168, 69, 75,153,200, 49,131, 68, 4,170,200,137,237,132,128, 48, 34, -146,198,249, 89,210, 2,142,163, 68, 69,192,209,214, 50, 38, 4,128, 8,146, 24, 88, 1, 80,152,248,197,247,175,143, 23,143,255, -244,207,255,148, 45, 3, 17, 51, 35, 83,223,118, 87,239, 46, 23,199, 39,119,183,247,125,187,250,193,231, 63,174,219,160,128,195, -208,171,234,208,181, 22, 21,213, 15,221, 16, 66,239,187,214,218, 60, 10,109, 55, 75, 29,246, 89, 49,171,102,139, 34,135,216,174, -217,152,221,126,183,220,108,174,238,151,170,250,139,159,254,211,199,103, 79, 7,223,214,187,205,102,121, 39, 34, 26,251,186,235, -141,181,179,201,164,112,110,186, 56,143,100, 22,231,207,142,142,142,124,223, 65, 12, 93,179,223, 45, 47,118,203,155,143,127,252, -207, 23,199,167,171,187,119, 26,134,253,234,166,143,210,246,253,102,125,179,223,111, 87,155, 77, 81, 86, 97,104, 2, 58,235,178, -197,116, 22,251,102,241,232,147, 44,203, 49,246,211,163,147, 16, 36,170, 84,197, 12, 1, 44,103,217,100,182,123,184,152,206,143, -129, 12,129,196, 40, 67,187,129, 56, 68, 25,124,215, 45,183,235,161,169, 21,197, 16,102, 89, 25, 1, 50,151, 5,112,109,219,238, -214, 55,121, 86,181,190, 47,157, 45, 38, 71,119,247, 15,117,211, 40,186,188, 58, 46,203,201,236,248,188,154,158, 9,168,247, 61, - 19,205,102,199, 97,216,185,172,232,219,218, 7, 49,108, 11, 87,245,125,167, 18,235,229, 69, 91,239,145,217,185,140,216,118,245, -206,251, 96, 13,117,221,214,152,140, 80, 44,179, 72,172,251,190,221,109, 84, 37,207,171, 68, 61, 59, 62,121, 82,175,111,145,200, -102,230, 97,185,105,218,126,126,242,172,109, 59, 78,122, 0,180, 26, 98, 91,175,186,250,110,187, 93,101, 89,254,225,135, 63,154, - 85, 89,140,254,225,246,117,211,108,157, 53, 89, 94,197,126, 31,194,112,124,114,158,151, 69,215, 13,147,217, 98, 8, 97,185,126, -120,184,125, 91,148,165,203, 51, 47, 60,132,216, 7,145, 56, 24, 67,121,145, 63,253,232,217,249,227, 39,168,113,249,112,245,250, -237,235,151, 47,223,188,185,190,121,123,125,243,250,242,234,110,249,112,122,116,242,187, 63,253,234,139,207,190,140, 17,203,172, - 60, 61,153, 59, 50,119, 23, 23, 47,191,123,241,246,221,181, 34,127,254,213, 15,215,117, 61, 95, 76, 77,158,221,220, 47, 87,203, - 13,251,120, 84,102,165,203,210,238, 46,203,220, 1, 50,136, 68,192,168, 81, 4,223,135, 33, 18, 92, 22, 49,130, 18, 96, 84, 61, -128,124,213,164,138,203,184,167, 2,140, 96,172, 51,198, 28,154,149,169,235, 65,201,192, 71,233,211, 71, 88,228, 5, 91,118,214, -102,153,115,200,201, 91,103,136,152, 44,170, 26, 75,150, 9, 0,153,204,123, 47,133,104, 28, 13,219,204, 56, 90,244,200,164,172, -164, 2,130,228,198, 33,113,194,183, 35, 49,211,104, 15, 70, 5,229,132,116, 5, 50, 22, 70,236, 45, 90, 54,140,232,131, 39, 0, - 99, 44, 38,236,235,120,147, 29,233, 52,134, 13, 16,137, 72,221,117, 93,187,207,156, 99,230,204, 90, 0,140, 81, 12, 39,234, 34, -190, 87, 83, 37, 48, 78, 27,124,221,118,103,243, 50, 47,138,180,137, 77,150,187, 40,178,239,250,205,190,222,215,251, 56, 12, 65, - 35,255,187, 63,255,211,241,218, 56,166, 9,255,171,246,227, 72, 20,131,247, 40,104, 69, 96, 72,225, 63,144, 16, 14, 25,110, 76, -160, 8, 56,172, 12, 85,208, 24, 83,215,245,100, 90,141, 10,240,196, 45, 75, 14, 57, 66, 64, 58, 12,150,113,188,203,167, 57, 22, - 49,162, 27,127,126, 6, 68, 78,194,115, 28, 99, 56,233, 64, 23, 98, 66,228, 20, 65,132, 20, 95, 81, 85, 76,111, 67,105, 76, 13, -136, 33, 6,161,180,154,228,241, 75,160, 10,136, 34,193,249,241,249,219,139,183,171,237,126, 81,149,200,100, 93,150, 59,247,230, -205,197,221,122,253,187, 63,249,188,109,107, 69, 26,252,176, 56, 57,186,189,190,121,254,131, 47, 99,223, 8, 17, 36,100, 68,194, - 92, 38, 43, 0,142,253,223, 4, 84, 96, 99, 83,117,130, 76,242, 64, 81, 28,151, 30,169, 3, 6, 73,141, 64, 7, 90,100, 74,181, -211,104,161, 73,220,152,241, 57,154,222, 65, 40, 13, 30,199, 16,234,184,203, 24,171,124, 35,131, 51, 33,135, 70,112, 77,218, 81, - 31,182,222, 8, 4, 68,166,222,117,191,243,123,191, 55, 89, 76,131, 15,204, 35, 28,170,217,181, 89, 81,174,238,239,111,111,239, -209,111,206,206, 31, 63, 60, 44,251,253,154, 9,201,228,182,156,247,205,150,108, 53,180,141, 43, 23, 38, 43,135,253,109,223,134, -188,156,160,223, 71,229,163,163, 83, 24,214, 32, 67, 20,169,235,250,254, 97,115,179,220,186,194,253,225, 31,252,183, 89,238,118, -203,155,174,105,251,208,151, 25, 55, 77, 61,248, 88,101,206,102, 89,225,220,226,217,231, 89, 81,157,127,240,241,205,155,191,191, -124,245, 93, 49, 63,190,191,126,125,242,209,143,207,159,252, 32, 52,155,245,195,178,105,246, 57,161,168, 70, 69,107, 76, 49, 61, - 82, 68, 36, 27, 3,228,213, 60,207,167,190,217,108, 86,183, 15, 87, 47,242,106, 26, 68,251,174,111,246,251,190,219, 78,170,249, -180,154,222, 93,252, 23, 0,217,238, 86,157,200,209,100, 54, 59,125,186,188,187, 88,223, 95, 14, 96,145, 96,115,127,189,107,187, - 97,240, 81,168,235,118, 40,218,181,195,106,187,235,186,246,225,246,229,116, 50, 3,155, 1,178, 70, 49, 54, 91,175,111, 55,235, -251,232, 91,131, 66,232,155,245, 77, 86, 30,229,153,105,235,173,205,171,140,194,180, 42,171,197,153, 10,100,174, 42, 38,243, 40, -178,186,255,222, 15,131,115, 19, 69, 36,104,153,108, 89, 76, 9,218,135,235,215, 67, 80, 84,241,205, 54,115,166,243,177,221,175, -212, 22,245,182,137,177,101,227,234,205, 77, 62, 89, 52,237, 54,170,134, 24,251,193,159, 61,250,168,217,173,139,201,209,253,245, -139,213,102,229,178,242,233,135,159,116,251,245,253,253,187,205,230, 22,221,241,147, 39, 31,230,229,148, 68,135,126, 91, 55,219, - 8,236,125, 91,229,213,252,209,179, 73, 53, 87,239,207,158,126, 24,129,138,172,152,205, 23,125, 0, 97,103, 93, 37,160,150,134, -188, 60,106,187,122,182, 56, 58, 57, 63,126,246,236,163,199, 31,126, 92, 77,202,122,179,126,119,241,253,247,175,222,188,185,190, -121,115,121,249,230,242,250,230,238, 33, 70,253,201,151,191,248, 23,191,247, 47, 28, 75,110,244,151, 95,125,254,195,231,143,219, -245,246,213,119, 47, 94,127,255,250,122,185,153,205,170,127,242,207,127,246,245,155,139,111,191,125,117,118, 60,249,213,111, 94, -172,110,151,199,101, 81,230, 89, 10,163, 59,147,201, 33,174,203,204,108,141, 15, 67,140, 99, 80, 46,117,188, 1, 65, 5, 36, 66, -154,144, 91,226, 24, 34, 1, 58,107, 67,140,138, 96,137,162,168, 50,218,204,129,136,128,250, 24,172, 49, 10,154,186, 69,227, 46, -139,216, 75, 44,217, 36, 82, 84,102, 50, 85, 53,136, 25,155,241,109,254,240,154,155, 4,152,152, 8,143,160, 33, 2, 18,100,196, - 10,202, 72,170,234,172, 9,193, 7, 81, 4,204,152,153,115, 81, 32, 67,233, 80, 78, 3,109, 83, 24, 0, 12, 49, 50,106, 82, 82, - 3, 74, 58,109, 19, 62, 61, 72,204,172,179, 89, 6,136, 42,145,153,135, 40,168, 33,165, 76,210,117,207, 56,142, 81,125,240, 17, - 33, 55, 92,230,153,143, 35, 99, 39,168, 58,102, 99, 40, 42, 26, 70, 85, 32, 85, 5, 92, 53,221,204,217,201,180, 12, 49,186,204, -132, 56,178, 15, 85,213, 71,108,246, 91, 31, 98,148, 8, 72,252, 87,127,254,167, 7, 68, 60,143,244,153,145, 14, 60, 6, 33, 49, -165,191,117,204,164, 96,194,249, 80,218, 48,143, 39, 84, 34, 38,164, 71,115, 34,144,145,225,126,223,230,147, 10, 15, 39,141, 25, -195,149, 64,108,136, 9,148, 49, 9,189,198,103, 58, 32, 25, 68, 98, 96,132,120,120,202, 29, 68, 80, 32,122,232,112, 18, 51,162, - 69,144, 52,196, 7, 80,128, 0, 35,246,126, 84,161, 35, 25, 72,140,211, 49,156, 41,160, 49,221,241, 1,149,152, 92,158,205, 38, -249,111,190,249, 94,149,170,162, 96, 99,138,162, 84,141,223,190,120,125,122,118,252,244,252,184,233,189, 97,242,195,176, 94,222, -159, 62,122,210, 15,251,182,238,202,178, 34, 54,170, 17,198,237,121,210,193, 88, 78,194,166,131,210,230,112,177, 38, 29,211,158, -116,128, 65,194, 40,242,195,131,107, 27,136, 8, 71, 76, 95,178,187, 38,151, 12,198,180, 75,103, 51, 18, 51,222,255, 43, 18,149, - 82,229, 10, 17, 64,131, 31, 66,223,131, 10, 25, 51, 90, 68,198,117,117,250,147, 39,145, 48,155, 29, 29,157, 28, 69,145,195,151, -100, 31,212,119, 67,223,245,109, 59,108,183,235,201,236,100,113,250,248, 97,249, 0, 50,100,249, 28,137,134,253, 10,136, 53,122, - 59,153, 91,151, 73,191,182, 89,161, 18, 92, 89,109,182,251,114, 50, 49,121,134,195, 61, 34, 72,148, 93,221,220, 60,172,238, 54, -235,170,112, 95,125,252,201,126,223,248, 24,246,219,165,116,173,250,118,185,221, 89,107,202, 44,155, 20,213,252,248,177, 43,203, -217,226,241,252,120,190,186,191,158, 28,127, 80,228,217,246,225,134,144,135,122,181,190,254, 46,198,193, 50,237, 86, 55, 18,227, -230,225,214, 58,151, 25,123,127,127,179,223,239, 98,191,173, 38, 39, 97, 24,188,175,149,221,244,232,131,174,151,253,102,211,119, -117,189, 91, 91,227, 34, 64,219,172, 78,206,158, 14, 2,235,221,254,252,236,195,190,107, 86,203,235,229,195,109, 47,248,228,252, -113,145, 79,235,118, 87, 84, 39,170,169, 88,238,163,170, 32,169,104, 93,111, 38,213,121,179,122,141,106,216, 24, 17,105,247, 91, -166,124,126,242,216,216, 10, 81,179,172, 98, 87,214,155,229,166,174,187,253,125, 89, 20, 69, 94,216,188, 2, 50,251,205,114,232, -118, 97,104,171,201,145,239, 58, 87,204, 8,177, 40,178, 97,123, 71, 38,219,238,119,147,233,162,109, 26,182,134,137,156, 43,134, -208, 51,185, 65,176, 94,221, 12,190, 63,121,244,145, 12,237,110,191,114, 89,193,202,189, 31, 92, 54, 53, 89,185, 90, 61, 72,104, -167,211, 69, 94,206, 78,206, 63,144,161,182, 89,217,183,203,109,189, 63, 61,255,228,236,236,233,126,191,181, 54, 43,171,106,104, -183,138, 86, 8,202, 98,102,179,114, 49,155,123, 95, 43, 21, 67,183,235,219,166,154,206, 65, 6, 17,241,125,235,235, 7,180,147, -106,122, 52, 57, 57, 45,139,252,228,100,250,225, 71, 31, 45,206,206, 32,134,219,171,139,239, 95,124,247,234,245,187,139,187,251, - 87, 23,151, 23,215, 55, 77, 55,156,159, 61,254,215,127,244,199,159,127,244, 60, 2, 60, 61,157,253,254, 87,159,157,205,171,183, -175, 95,125,253,155,255,114,125,125,223,133,240,201,103, 31,238,218,250, 63,255,227,247,125,221, 54,237,240,230,205, 37,133,112, - 50, 41, 28, 17,168, 88, 68,203, 14,205,225, 69,214, 82,138,160,140,204, 40, 70,133,180,183,132, 40,170, 10,198, 88, 0, 13, 49, - 13, 53, 81, 17,188,143,204,134, 9, 85,200, 48, 51, 64, 12, 33,142, 46,108,151,182,116, 74,144, 66, 30, 62, 68, 69,200,152,189, -168, 49, 92,216, 76, 53, 58, 54,200,172,196, 65, 4, 37, 57,130, 88, 1,162, 68,107,205,104,186, 84,201,140,179,198,248, 16, 17, -208, 16, 42, 81,136, 33, 72, 66, 54,242,216,225, 33, 36, 70,102,210,195,150,111,220, 19, 24,134,145,236,146, 98,142,105, 15, 7, - 2, 80,102,185,205, 93, 94, 84,128, 22, 16, 36, 70, 6,100, 99,199,135, 27,179,177, 38,105, 35,152,168,112,206,101,101, 72, 78, - 78, 54, 42,154, 91, 55,120,159,124,223, 18, 53,133,248,214, 93,144,232, 23, 85,158,248, 57,162,239,191, 25, 96,131, 81,177, 31, -122, 4,224,148,156,255,235,191,252,183, 48, 66,192, 18,138, 65, 15, 71,234,120,118,170,106,140, 81, 52,140,249, 34, 64,136, 99, - 70, 5, 14,233, 78, 60,248,130, 82, 47, 33,169,162,131, 31,216,100,206,216,180,234,102,164,131,176, 15, 65, 21, 36,226, 24, 97, - 76,255,166, 2, 33,168, 36, 64, 29, 28,190,246, 8,149, 4, 56,132,229,211, 64, 71, 65,131,168, 0,202, 1,153,158,126,171,114, -120, 41, 72,131,154,136, 2,233,112, 71, 72, 53, 49, 64,102, 85,145,224, 79,142, 78,114,166,111, 94,189,158,148,165,203, 50, 99, - 76,158,231,251,221,238,242,250,238,171, 31,253,144, 20,163,234,208, 15,179,227,243,182,217,159,156,158, 53,187,157,201,114, 38, -107, 83,183,246, 16, 20,125, 79, 25, 75, 98,190,164,141, 79,223, 4,211,248, 72, 76, 40,249,145,134,193, 60,190, 11, 37,134,251, -200,204,193,145, 91,150,126,139,214,164, 27,191,190,103,248,188, 55, 57,209, 97, 72, 3, 16,250, 62,246,173,134,160,209, 35, 25, - 54, 38,133,159, 96,188,227,143, 15,148,162, 58,178, 69,201,198,176,225,100,140,173,183, 77, 12,131,181, 38,203,236,229,235,239, -103,179,249,226,244,108,185,220, 16,103,170, 34,190, 33, 54,160,193,119,141,155,156,128, 12,125,239, 53, 34, 50,213,219, 61,162, - 56,134,161,109,202, 66,178,188,100,196,205,102,243,230,242,122,187,171,159, 60,254,240,231, 95,253,158, 40, 72, 28,186, 97,224, - 24,119,155,101,219, 5, 16,157, 85, 89,158, 87,166,152, 77,230,199,199, 79,158, 79,166,199,235,213, 3, 57,135,104,194, 16, 46, -223,126,123,114,122, 82, 76,142,234,237,122,119,119, 25,135,166, 42,103,117,219,116,125,215,238,238, 55,251,125, 86,206,250,118, - 11, 26,178,162, 90, 28,159, 75,236,235,122,231,187,218,135,110,126,116,154, 87,199, 97,232, 0,141, 69, 1,140, 26,112, 58,153, -150, 69,222, 12,190,217,109,192,100,236,166,177,190, 93,156, 60, 65, 91, 52,251,181, 69,201,108, 54,116, 77,215, 53, 16, 35,146, - 9,125,167, 42,157, 15, 89, 54, 1,245, 72, 56,153, 31, 3, 6, 84, 30,154,181,130, 26, 54,108,172,250,193, 71,248,228,211, 47, - 17,176,235, 58, 68,246, 93,227, 92,214,245,173,115, 25, 33,251, 24,172,201, 13, 82,232,183,213,244, 52, 43, 38, 15,203,107,231, -242,217,226,108,187,186,217,172,215,196,204,198,169,120, 33,203,100, 38,139, 99, 12,221,118,191,158, 78,143,137,140,205, 75,203, -108,160,167,172,106,246, 91, 37, 12, 62,174, 55,247, 97,104, 95,190,252,135,135,219,139,199, 79, 62,250,252,203,223, 25,250,166, -235,187,106, 50,233,247,235,162,156,180,205,154,171, 5, 71, 79,164, 69, 81, 20, 60, 24,138,197,226,241,126,179,100,195, 39,103, - 79, 84,251, 32, 28, 99,104,234, 77, 94,150,147,197,113,206,254,236,209,201,249,227, 15,141,165,229,213,187,183,175,191,255,238, -197,183,175, 47,175,222,222, 92,191,186,188,186,186,187, 43,179,252,151, 95,253,211, 95,252,228, 39,243,217,145,133,250,159,124, -241,244,203,143,206,187,186,249,246,235,175,191,125,241, 34, 42,126,242,197, 15,214, 77, 93, 84,101, 57,157, 92,221, 60, 60,220, -222,231,140,199, 85,153, 49, 29, 90,143, 68, 72,100,216, 36,186, 10,130, 4, 1,196,164, 10,138,160, 73,228, 60, 58,162,210, 77, - 77,100, 4,188,140, 66,202,247,231,195,216,239, 9,170, 2,106,198, 15,214,120,158,190, 23,235, 16, 17, 33, 43, 98,198,233, 4, - 23,102, 70,226,168,128,168,140,144,156, 27, 99,141, 39, 25, 38, 84,152, 77, 18, 95, 70,137,105,208,170,105,247, 58,222,149,212, -144, 49,196, 52,150,196, 33,140,142, 76, 74, 53,207,132, 27, 73,233, 13,102, 78, 37, 85, 17,136,170,150, 8,152,156, 43, 50,103, -201,152, 97,240,233,106, 28, 37,240,225,205, 28, 1,173,115,198, 24, 66, 18, 68,203, 12,196,168,104,153,104,132, 24, 35, 18,129, - 40, 32, 50, 99,237, 67,221,119,199,101,110, 76,218,100,164, 94, 46, 41, 0, 27, 84, 33, 67,168, 64, 33,120,199,108,152,249,175, -254,226, 79,199, 80,185,142,237, 71,122,143,183, 5, 56,232,132,198,124, 17, 41,176, 65,100, 30,140,205,130,156, 0, 0, 32, 0, - 73, 68, 65, 84,169, 91,122,200,202,143,128, 8, 2, 68, 54,227, 52, 95, 69,122, 31,167, 69, 38, 99,153,115, 44,201,210,129,212, -131,230,125, 1, 85, 19, 32, 14, 36, 97,126, 14, 97,168,145,233,169,233,107,165,104, 57,168,130,160,136, 79,192,156, 20, 38, 7, - 9,240,219,160,108, 50, 46, 50,140,169,126, 69, 76,240,160, 3,181, 18, 0, 81, 67, 8, 39,103,243,251,251,135,229,166,153, 79, -166,108,172,181,156,187,236,155, 23,175, 0,233, 71, 63,124,222,116,157,181,110, 58,155, 94, 93,188, 2,180,170, 61,129, 49,185, - 69,193, 0,202, 68, 34, 2, 64,196, 12,140, 32,169,113,108, 0, 85, 98, 24,105,198, 35, 26,159, 71,149,251,161,125, 52,150, 7, -198,191,108, 26,191,201,180,109, 56,120, 10, 14, 30, 1, 60, 44, 20,128,153, 15,170, 62, 52, 8, 49,138,138,104,240, 49, 6, 98, -195, 89,110,141,211,180,124, 57, 64,233,137, 16, 20,109, 86,186,204, 0, 8,168, 18,225,126,189, 75,127,227,229,164,106,235,250, -230,118,125,114,254,216, 49,222,190,123,197, 54,247,125, 27, 99, 4,204,141, 97, 53,133, 97,146,110,131,156, 1,128, 53,212, 52, -245,217,227,103, 81,201, 55, 43,199, 1, 1,135,182,189,186,127,184,190,189,223,181,245,143, 63,251,242,209,249,163,221,110,139, -174,240,125, 19,187,102,187,221,228,121,110, 29,206,139,130, 92, 57,127,250,217,217,135, 31,151, 85,209,245,245,126,179,137, 10, -177,223, 7, 69, 85,115,114,124,214,109,238,114,151,147, 14,165,203,135, 97,120, 88,221, 21,174,128,232,149,179,114,178,152, 45, - 30, 25, 91, 0, 42, 35, 34, 80, 16,218,110,239, 93, 81, 89,223, 32, 64, 49, 61, 65,130, 42,207,200, 77,216,229,161,190,119,229, - 68, 20, 30,238,223,176,155,176, 49,251,253,110,177, 56,137,210, 27,147, 5,145,174,175,125,240,174,152,135, 40,195, 16, 66,232, -156, 5,118,153,113, 69, 86, 77, 12,130, 53, 78, 40, 35, 67,108,216, 16, 26, 82,102, 14,126,200,138,178, 44, 74, 0,174,155,186, -219, 47,183,155,155,197,124,214,111,215,213,228,168,217, 45,157,171, 50,107, 1, 99,223,213, 2,209,217,172,107,118, 89,230, 10, -147, 33,241,124,126, 26, 37, 56, 54,193,119,179,217,162, 44, 43, 25,134,174,111,144,204,110,117, 99, 45, 17,179,201,139,251,235, - 55,139,179,143, 89,181,110, 6, 8, 91,138,253,197,245, 53,101,139,143,158,126, 32, 67,187,218,110,119,219,141,198, 33, 4,143, - 26, 39,211,227,160, 24, 1, 89,177,152, 28,125,252,201,199,177,175,129,109, 57, 59,217,173,239,212,247,100, 41, 47,231,168,222, -123, 63,157, 45,206,159,156,159,206,167,103,143,158,148,121,213,213,155,203, 55, 47,190,123,241,221,155,119,151,111,111,110, 94, - 95, 94, 93,222,223,119,189,255,249,151, 63,253,229, 79,126,150,229,101,108, 30,126,250,217,179, 95,254,248, 83,163,253,219,151, -223,125,253,205,247, 87, 55,247, 31, 62,127,246,147,223,253,217,139,183, 23,215,151,215,211,105,245, 31,127,245,155,102,179, 59, - 46,139,210, 90, 38, 29, 57,169,136, 6, 17, 13, 27, 54, 72,140,132, 17,128,211,145,198,137, 43,160, 18, 53,170, 26,102, 32, 4, -162, 81, 39, 65,168, 18,129,192,160, 21,209, 68,149, 73,246, 84, 80,176,134, 17, 48,168,138,136,177, 70,223, 39, 45,144,162, 10, - 17, 51, 27, 4,240, 65, 85,128,205,216, 28,100, 67,168,208,197, 48,132, 65, 20, 45, 51, 17,143, 84, 21, 74, 38, 5, 80,145,195, -141, 50, 93,108, 15,218, 59, 50,128,104, 12, 48,179,143, 34,170,198, 82,140, 0, 49, 29,184,163,142,129, 82, 74, 26, 81, 36,166, -227, 17, 5, 18,141,128,137,125, 8, 26, 2,162, 14,209,163, 34, 1, 43,130,177, 12,135,161,115, 8,130,136,206,152,168, 82,228, - 14,121,236,222, 31, 60, 70,202,204,134,168,238,195,195,174, 57,171,178,162, 40,198, 25, 63, 40,146,121, 79, 94,147,212, 54, 7, -116,198,176, 53,134,152,255,250,207,254, 36, 61,210,244, 0, 40, 72,124, 72, 28,233,236, 7, 60, 61, 34,191, 63,118,145, 85, 83, -142,227, 80,231, 25,151, 18, 9,146, 54, 62,148, 25,241,246,126,125,114, 52, 19, 72, 54,139,113,199,105,172, 19,141, 49,142,125, - 37, 77,176,178, 3,122, 31,198,159, 42,189,139, 64, 66,152, 43, 42,162, 16, 51, 2,106, 20, 4,149,148,180, 73,136,124,137, 32, -138,152,156,223,227,212, 25, 81, 65, 98,194,166, 19,190, 95, 32,143, 79,163,180, 84, 33,165,163,233,228, 63,255,227,119, 34,178, -152, 77,153, 77, 85, 85, 26,252,175,126,243,205, 15, 63,254, 96, 94,149,189,168,111,219,160,212,238,214,189,215,233,116, 74,200, -198,101,132,140,227,136,102,132, 22,179,181,108,140, 74, 84,145,177,255, 6, 35,121, 46,253, 13, 18, 39,221,205,120,120, 39, 1, - 99, 26,118,165, 63, 48, 21, 32, 34,228, 68,167,123,255, 10,115,104, 6, 51,143, 69, 2, 26, 7, 97,233, 17, 34,132,108, 44, 91, -135, 9,211,129,172,168,170,137, 33,193,100,140,196,232, 92, 78,177, 71,182, 72,236,123,175, 10, 9,182,227,202,106,245,112,119, -119,187,122,244,228,204, 50, 46,239,239, 77, 86, 25,227, 68, 48,134, 14, 84, 99,148,188,156,228,213,113,219,236,136,193,251, 33, -203, 43,137,186, 93,221,249,161,165,216, 70,223,175, 54,187,183, 87, 87,239,110, 30,186,161,255,252,139,159,158,158, 60,106,219, -182,222,220, 74,223,119,205, 30, 33, 32,219,194, 48,219,202,204,142,159,127,254,101, 81,205,124,219, 12, 93, 31, 5, 12,162,134, -182,107,187,249,116,210,239,111,247,235,229,195,242, 62, 12,173,136,236,154, 38, 51,152, 91,123,245,112, 31,145, 13,232,208,181, -237,254,206,184, 28,217,236,118,187, 24,250,114,241,168,200,203,174,217,102,185,107,155, 54, 4,111,140,105,219, 58,134, 97,113, -246,108,232,219, 48,116,153,171,200, 86, 16, 59, 54, 5, 89, 99, 9,187,253,138,109,110, 76, 62,180,219,208,109,217, 80, 89,205, -115, 99,206,207,158,196,160, 64, 48,159,205,217,228, 67,183, 85,241, 10,104,141, 35,182,251,205,141,113,229,252,236, 67,107,237, -126,117, 95,215,117,179,186,100,228,199, 79, 63,210,208, 39, 90, 0,146,233,125, 55,244, 13,178, 85, 85, 9, 3,155, 92,193,244, -131,239,187, 46,170,180,109,227,251, 14, 0,189,247, 54,207,103,211,163,229,242,214,216, 44,138, 26,162,217,217, 7, 8, 74,156, -117,237, 94, 12, 33,114,179,223,182,245,189,216,242,201,179, 47,116,127,157, 85,243, 94,248,234,221,139,160, 70, 37, 26, 12,147, -163,199, 81, 67,179, 93, 50,229, 26,186,118,183,100,107,140,181, 38, 63,126,184,122,187,222,172, 29,163, 45, 22,251,237,198,183, -235,211,211,163, 39, 31, 60, 62, 59, 59,153,206,231, 49,248,229,221,197,235,239,191,253,205, 55, 47, 94, 95,221,188,189,186,190, -184,186,121, 88,175,143,166,199,191,255,139,223,249,131,127,246, 47,231, 71,231, 39,211,242, 15,126,241,195, 79,159, 63,189,121, -247,246,191,252,253,111,222, 92,220, 24,151, 45,142, 23,219,102,255,235,111, 95,132,190,127,119,125,127,117,113,147, 35,206, 75, -151,204,215,105, 37,133, 9,160,193,108,141, 33, 34, 69, 80, 21,131,135, 63,103, 78,200,188,131,204,136, 15,155, 41, 66,209, 49, -162, 65,132,162, 98, 13, 39, 38,159, 87, 1,145, 44,203,198, 20, 10,147, 49,108,144,130, 70, 68, 98,235, 64,213, 25, 78, 87,114, - 34, 50,140,136,152, 20,107, 9, 36, 34,170, 26, 65, 8, 28,219, 4,246,114,140,170, 32, 34,170,146, 54,130,138,191,181, 15,165, - 60,136, 2, 2, 74,102,140,168,198,152, 68, 86, 16, 69,140, 97, 54, 9, 39, 5, 99,254,132, 65,229,192,184,196,196, 32, 36, 0, - 8, 26, 83,176, 48,132, 16, 37, 90,102, 34, 74,224, 66, 4, 48,236,128, 14, 0,250, 36,221,182, 28,163,104, 12,104, 76,210, 95, - 35,162, 99, 71, 8,187,118,120,216,213,167,147,108, 49,153, 4,197, 16,252,248,104,132,241, 88, 30,115,212, 10, 4,192,100,202, -188, 96, 50,233, 25,152,104,238, 99,240, 46,141,218, 15, 30, 60, 76,131, 19, 34, 4, 34,149, 36, 11, 26, 3, 55,108, 80, 66, 74, -120,164,158, 17,230,152, 16,143,138,192, 54, 51, 32,105, 65, 33, 42,112, 8,122, 67,240, 62, 73,207,211, 46, 52,129, 6,112, 44, -252,104,144, 48,134,216,129,147, 23, 73, 14,224, 69,149,152, 64,196,128, 72, 18, 84, 68, 81,210,232,159, 70, 55, 87, 74,183, 38, -178, 40, 65,210,217,137,188,159,112,164, 93,238,168,200, 38, 66,164,179,199,143,127,254,163, 79,254,211,223,127,183,152, 84,167, -143,206,163,234,243, 15, 63,186,186,189,255,223,254,253,255,245,191,254,213,159, 81,244,192,230,147,207,126,180,223, 92,122, 79, -153,163, 97,232,141,205,152,232,189, 17,117, 12, 1,197, 32,122,208,124,131, 0,140,250,174, 20, 90, 71,228, 3,230,147, 84, 66, -194,206,128,200,184,139,161, 67, 92,104,156,215, 36, 65,251,200,197, 31,223, 99, 12,114,178,245, 29,244, 99,170,168, 24, 51, 91, - 64,130,200, 51, 19, 25,133,120, 0,201,167, 82, 85, 84, 69,227,242,244, 46, 17, 36,118,109,207, 4,168,194,198,198,193, 7, 47, - 24, 7,151,101, 46, 47, 92,158,139,130, 53,232,141, 1, 45,178,162,232,214, 75,128,208,172,151,209,215,110,114,164,128,121, 89, -190,250,250,111,103,139, 39,219,118, 37, 28,163,226,174,174,239, 87,219,102,232, 20, 96,102, 20,128,188,239,131,104, 12, 26,186, - 38, 70,177, 86, 17, 89,200,124,248,241,167,179,197,105,211,250,213,187,127, 4, 59,141,209, 71,129, 56,116,251, 93,237, 50,123, -119,115,223,214, 75, 11,116, 52, 43, 1, 34,104,118,115,183, 69, 37,239,133,180,111,129,103,243, 9,241, 84, 67,183, 31,122, 87, - 30,147, 6, 63,172,187,129, 63,248,228,167,243, 42,219,213,221,190,107,187,166, 6, 68,231, 92,229, 92,232, 80, 84,123,239, 93, -225,216, 98, 93,223, 91, 58,203, 51,183,215, 91, 18,175, 42,121,181,232,155,189,115, 69,110, 76,235,227,106,243,208,246,193, 50, - 69,223, 15,126,232,155,109, 8,195,244,248,105, 94, 84, 97, 24,178,124,166, 49,114,108,189, 2,160,160,168,115,213,116, 50, 93, - 44,206,111,175, 46,242,233,153,111,235,162,154,132, 62,250, 24,187,182,182,206,213,187,123, 54,153,130,134,190,107,135,166, 92, -156, 26, 19,125,143,189, 31,202,114,222, 55,187,203,253, 62,159, 76, 75,231,238,239,239,170,106,230,200, 70, 98, 54,230,232,209, -243, 16,245,229,197,119,193,199, 15,158,126, 58,173,114,203, 84, 45,206,141,157, 10,244,121, 49, 99, 91, 41, 12,182,152, 70, 0, - 67, 46,198,104, 8, 56, 47,125,191, 79, 55,159,235,203,151, 49, 6, 87, 76, 57,183, 76,236,202,108, 49, 63, 89, 44, 38,211,217, - 84, 4,118,155,245,245,219,151,223,190,248,246,221,213,205,229,221,221,221,242, 97,181,221, 89,182,191,255, 59,191,255,211, 47, -127, 62,248,190,105, 54, 95, 60, 93, 60, 61,121, 50,248,230, 31,126,245,171,215,175,223, 70,196,103, 63,248,240,254, 97,133,185, -121,242,232,252,213,223,252,250,106,179,157,217,172,154, 26,163, 35,169,157, 80,251,144,168,176,224,140, 65, 50, 81, 67,210, 79, -130,170,143,162, 72, 76,202,196, 49, 2, 17, 43,104,140,162, 2, 76, 38,125, 74,137, 40,170,128, 38, 50,187, 1,210, 24,162, 15, -193,176, 1, 50,221, 48, 88, 99,152, 76,114,225,197,228, 48, 82, 68,145,204,177,247, 10, 42,214, 25, 85,209, 8,200,148, 27, 4, -165,160, 81, 65,211,231, 35,135, 12,144, 80,132, 0,162, 74, 58,204,144, 40,136,210, 33,135,173, 72,162, 18, 21, 24,213, 24, 2, -114, 62, 65,105, 65, 18, 14,209, 57, 78,222, 57, 80, 48, 72, 74,128,162, 49,106,202,227, 39,250,187,181, 20,135, 24, 35, 90,103, - 53,106,219, 15,134,146,105, 89, 1,209, 56,198, 17, 25, 21, 41,209, 95, 9,211, 21, 48, 70, 73,198, 25, 82, 72, 10, 64, 34, 20, - 17,239,195,126,232,115, 75,179, 34,247, 2,162,146,101,142, 13, 15, 9,105, 9,160,239,121,244, 18, 77,122,209, 79, 27,221,191, -254,183,255, 22, 70,144,239, 72,254, 74,239, 42, 4,105,162, 64,163, 5,232,160, 64, 65, 98, 96, 64,136,137, 91,175, 7,233,118, -162,236,195,251, 4, 14, 40,147, 81,223, 54,145,143,170, 66, 20, 12,189, 87,159,143,247,103,192, 36,168, 82, 34, 98,155,134, 53, -239,215,168,114,128,100,165,127,108,212, 37,225, 1,193, 9, 32, 8, 17, 4,226,248, 86, 1,163,209, 85, 64, 0, 65, 35, 32, 18, - 42,165,121, 79, 10,134, 38, 71,176,198,241, 17, 69,132, 4,162,250,228,244,244,205,155, 55,171, 93,125,114,114,194, 68, 81,244, -120, 49,251,246,219,239, 93,150,253,224,217,121,106, 12, 22,213,244,245,247,191,185, 95,174,171,106, 66,204,198, 26, 50, 22,245, -160,242, 2, 21, 77, 25,199,148,236,228,145,132, 57,190,142, 16, 2, 16, 50,160,164, 96,254, 56, 84, 18, 57, 68,188, 14,255,143, -198, 39, 96,122,133, 18,162,100,246, 30,177, 67, 18, 71,193, 35, 30,188,183, 42, 17, 20,137,152, 51, 67,236, 84,131,170, 16,165, - 2, 29, 17, 16, 16,106,192, 98, 50, 97,151, 49, 82, 8,106, 8,251,190,115,153, 35, 54,153,163,229,195,170,238,195,217,241, 25, -163,191,187, 91,123, 47,161,223, 71, 31, 20,130, 53,206,100, 57, 34,249, 40, 68,232,123,111,157,241,253, 32,194,204,102,168,151, -185, 1, 85,184, 95, 47, 47,174,110,234,174, 47, 93,254,203,159,253,226,126,187,241,253, 64, 68,210,237, 99,191,247,162,147,204, - 69,165,199, 31,125,252,193,231, 95, 69,209,216, 55, 69, 53,151,232,219,253,182,204, 74,244, 77,240, 97,191,126,216,110, 87,147, - 34,159, 58, 83,247,109,215, 14,235,186, 93,239,119, 65,194,174,109, 38, 85,229,178,172,111,247,243,227, 39, 49, 74,219, 54,140, -154,226,163,207,158, 60,211, 97, 83,150, 71, 16,187, 24,194,110,191,149,208,151,147,227,190,223,152, 98,106,108,150, 87,211,161, -221,103,249,220,100, 51, 38,106,238,223,102,211, 57, 25, 71,214, 74,240,200, 25,160,194,176,204,242,162,238, 2,145, 35, 66,100, -102, 66, 85, 36,227,156,113,190,223, 24,107, 69, 52,244,245,233,241,233,116, 50,147, 97, 48,150, 93,158,177, 49, 55,111,191, 25, -134,182,235,218,193, 15,109,189,202, 11,151,229,133,181, 22, 1, 16,172, 42,250,190,115, 89,225,125,147, 27,103, 93,161,234,243, - 98,218, 13,181, 2, 75,236, 69, 2, 8,122,239,217, 98, 91,215, 2,220,110, 46,239, 87, 15,239, 46, 95,158,158, 60,121,254,209, - 15,202,233,169,239,106, 36,147,151,149, 82,182,190,125,201, 8,179,147,167, 67,187,170,166, 83, 13,190, 93,221,230,229, 76, 68, - 33, 6,206,220,100, 50,157, 31,159,173,214,173, 42, 28,159,156,103, 89,177,152, 87,167, 39,213,108, 62,173,166,211,110, 24, 86, -119, 87, 47,191,251,205,175,127,253,235,239, 47, 47, 47,111,111, 47,174,175,183,245,254,211,231,159,253,247,127,242,151,159,124, -248,169, 31,186,227,138,127,239,139, 15, 22, 37, 93,190,125,243,221,215,223,189,189,190, 61,127,114,250,233,151,159, 44,235,253, -122,185, 41, 74,247, 31,254,230,239,135,125,125, 94, 77,203, 60, 79,106, 64,227, 18,145, 9,149,209,178,117,134,141, 49,173,239, - 15, 59, 60, 5,196, 16,211, 50, 27,147,201,250,240,218,138,137,208, 21,162,152, 36, 48,196, 4, 43, 81,213, 24,130, 34,162, 99, - 22,213, 40, 33, 81,216,211, 0, 54,104, 58,112,152, 8,148, 49,248,177,173,157, 94,225, 9,136, 13,137,128, 15, 33,196,192,137, -213,113,120, 75, 0,144,180,220,146,148, 7, 60,132,208,144, 80,144, 82, 50,129, 16,153,145,157, 53, 72,132, 24,162, 70,149,164, - 22, 73, 41, 6,195,148,240, 33,137,142,251,126,143,120,200,179, 41, 51, 91,195, 33, 6, 85,180,214, 36,195,225,168,230, 99, 82, -129, 16, 35,155, 20,185, 65, 51,142, 49,210, 96,136, 9,148,201, 70, 85, 67,148,182,193,203,182,139,189, 63,155,148, 2, 86, 33, - 18,113, 58, 18, 13,145,136,166,129, 1, 35,105,146, 65, 19, 50, 27,195,198,107, 52,154,214, 33,163, 91, 68,248,183,134, 33,100, -128,209, 32, 13, 32, 18, 15,218,232,228, 9, 98, 72,220,171, 49,227, 50,178, 30, 85, 35, 37,223,180,168, 2,158, 30,205, 94,220, -236,240,124,174, 49,142, 10,246, 3, 69, 82, 71,213,201, 88,203,140,222,115,122, 83, 24, 23, 32,244,222, 93,164,135,147, 93,100, - 68, 1,129, 14, 4,170, 64, 2,145,233,144,227,161, 20, 94,209,148,136, 84, 28,161, 5,100, 57,189,118,232,152, 13,226,131, 53, - 67, 1, 9, 84, 76,102,255,232,159,253,252,255,248, 63,255,223,119,151,151, 63,248,244, 99, 80, 87,228,103, 63,254,252,211,255, -240,159,254,243,143, 62,123, 86,100,102,215,108, 77,150,157, 61,122, 4,144, 47, 22,147,213,114,195,236, 44,233,104,153, 79,246, -117, 60, 28,207,248,219,217,153, 15,129,217, 28,236,144, 49, 17, 31, 84,129, 17,226,200, 83, 56, 60,177, 0, 18, 83,126,252,157, -140,112,130,164, 45, 76,205, 92,129,247,188, 8, 29,173,179, 56, 66, 45, 0,148, 36, 14,170, 64,204, 35,186,255,224,131, 76, 26, -112, 0,137, 33,250,174, 35, 66,114,153,177,108,243, 76, 85,155,221, 6,165,243, 58,204,170,133,134,174,223,173,179,201, 49,160, - 49, 16,251,110,227,138,169, 10, 16,104, 64,140, 40,209, 55, 93,167,121, 89, 40,178, 97, 32,199, 49,202,224,227,224,189,134,240, -244,147,207, 49,159,247,219,203,233,116,209,109,238, 66, 95, 71, 4,198, 56, 4,153,157,126,112,246,236,147,174,217, 18, 87, 26, -187,245,253,205, 16,134, 24,194,126,123,247,112,115, 81, 84,167,113,168,213, 55, 3, 14,131,232,122,189, 33, 50,203,237, 14, 24, -251,125, 93,239,182,134,205,220,229, 81, 36, 6,239,138, 73,169, 88,111, 87, 82, 20,229,244,232,104,177,104,107,192,188,148,122, -217,180, 77,140,234, 12,134,216,247, 67, 40,226,206, 32, 69,208,204,101,210,109, 61,185,216, 14, 68,198,215, 91, 71, 70,144, 67, -191, 87, 42,242,172, 44,167,147,253,110,141, 49, 8,196, 40,193, 88,174,102, 19, 21,180, 54,151,232,157, 45, 39,121,222,113,182, -139,241,254,225,190,200, 55, 77,211, 84,147,217,208,118,141, 42, 81, 86, 77,103,113,183,243,190, 39, 37, 17,106,247,219,180, 22, - 26,186,118,232, 7,231,178,190,173,153,173, 53,166,233,154, 24,176,116,184,233,219,162, 90,128, 39, 25,122, 59, 61,153,103,185, - 53,102,121,119, 57,132,110, 24, 90, 59, 61,125,156,229,179,220,173,239, 46,170, 35,216,109,239,171,217, 41, 15,144,217,118,113, -242,200, 58, 27,200,204, 22,143,250,118,155,103,133,177,206, 26, 82, 31,119,235,119,229,100, 78, 54,103, 99, 44,199,117,221, 62, - 49,225,228,248,168,154,149,101, 81, 68, 9,203,187,219,205,253,237,155,215,223,191,188,120,247,238,246,246,226,250,102, 87,215, -139,217,226, 15,127,247,143,254,201,207,127,135, 98,219,215,235,175, 62,125,244,244,180,218,173, 55, 95,127,251,221,237,253,106, -190,152,156,156,157,244, 49,254,237,175,191,206,173,123,245,246,234,226,205,117,153,217,233,209, 49,234, 8,115, 53,142,210,199, - 46, 32,103, 99,217, 26,124, 8,214,176, 68, 13, 26, 25, 57,213,240,144, 24, 84, 65,116, 8, 65,130, 26,147, 92,170,130, 68,150, - 77,170,253,228,153,233,135, 16, 35,160,162, 37, 4,196, 33, 70, 4,101, 99, 52,136,162, 48,154,116,174,165, 74,121,240,209, 90, -195, 25, 74, 28,213, 15, 6, 72, 65,130,136, 70, 33, 34,209,113,180, 78,204, 16, 5, 8,162,160,140,222, 15,140, 41, 19, 50, 14, -138, 1, 68,152, 9, 1,125, 76, 67, 4,245, 18, 19, 46,139,129,211, 60, 56,109,139, 1, 48,170, 32, 37, 15, 19, 6, 21, 28,171, -149,160,160,101,150, 9,104,244,193, 57,151,216,130,160, 74,204, 72, 42, 1, 84,212,176, 37,195, 32,193, 50,167, 15,171, 33, 4, - 67,226,189, 97, 6, 96,107, 88, 6,141, 81,216,224,190,237,135,182, 61,158,149,232, 28, 8, 36, 79, 8, 3, 42, 81,148,212, 70, -210,224, 21, 29, 89,230, 36,125, 72, 55, 68, 82,224,255,241, 47,255, 28,198,246, 15,209, 72,114, 72,135,225,248,118,112,184, 95, -114,154,213, 28,230,216,240, 94,179,148, 46,245, 35, 98, 75, 14,216, 96, 0, 0, 45,178,252,237,197,197,124,113,108, 71,119, 35, -140, 98,189, 68,187, 25,239,250,138, 68,108, 80,198, 23,134,180, 34, 68, 72,251,130,195, 47, 46, 61, 54, 71, 33,121,242, 28, 43, - 40,210, 97,210, 50, 46,145, 83, 39,120,124, 63, 24, 23,140,240, 62,248,163,128, 60,146, 20, 32,205,254, 80, 1, 98,152,206,102, -187,237,246,226,234,174,176,217,236,120, 62,244, 67,158,101,203,229,102,179,111,127,254,197,243,174,247, 18,195,221,205,125, 63, - 12,243,227,147,253,102,229, 76,230,178, 12,229,208, 56, 26,179,139,233, 27, 76, 96, 5, 0, 68, 54,227,251,208,216,196, 2, 69, - 66,145, 56,254,232,108, 21, 5, 98, 68, 38, 0, 26,141,224, 99, 6,149, 15,165, 93,132, 67, 45, 56,101,204,210, 43,146,140,104, -186,164,136, 81,149,244,227,152,113,194,150, 2, 52,156, 50, 88, 69, 81,205,144,176,109, 7, 4, 84,241, 69,206, 10,132,192,113, -104,110,175,239, 59, 15,179,105,229, 50,115,121,249, 16,252,128, 10,214,229,169, 76,128, 49,248,174,141, 68,126,191,201,138,194, -247, 33, 70, 65,191, 5, 38, 19,183, 73, 26,247,230,250,246,118,185,236,188,255,225,199, 63, 48,161,117,197, 52, 52,123,223,212, -237,230,174,245,126, 86, 76,148,233,195, 31,126,117,116,254,164,221,109,156,115,211,147, 15,218,166,235,183,203,122,125,101,109, - 97,140,205, 51, 75,204, 57,103, 93, 83,199, 40,189,232,126,187, 14, 8,165,205, 55,187,141,117, 89,149, 59,103,204,209, 98, 33, -170,205,126,215,117, 53,187,114,113,124,222,214, 59,136,189,203,202,205,190,185,189,121, 27, 49,223,239,215,211,249,137, 14,141, - 97, 39, 50, 0, 66,136,218,251, 16,154,135,227,179, 15,252, 48,212,155,155,124,114, 76, 68,174,156,151,147, 89,150, 57, 6,109, -247, 75, 31,116,240,123, 66, 86,136, 32, 93,140, 42,126,200,178,124,232,107, 54,121, 20,159, 57, 6,141,253,224,219,118, 48,164, - 49,120,227, 50,118, 5,136,206,103, 11, 16, 25,134,182, 40,167,189, 31, 92, 86,177,117, 49,232,234,225, 74,128, 77, 58,128,217, -130,192, 48,244,192, 72, 4,126,232,145,108, 68, 41,242, 28, 20,230,211,227,135,229,187,235,213,114,191,219,158,159, 63, 59, 57, - 58, 33,114,229,226,220, 90, 87, 78,143, 1, 89, 21, 66, 24,182,235, 27,147, 79,201,228,205,126,103, 25,243,124, 14,138,157,239, - 21,140, 53, 1,144, 57,203, 39,213,220, 21,185,244,155,103,207, 30, 61,122,244,104,113,188, 96, 99,187,118,255,112,253,238,205, -203, 23, 95,127,251,205,139,139,183,151,119,119, 23,183, 55,117,221, 60,123,242,193,159,253,235, 63,126,246,193, 15,183,171,219, -179,137,251,242,249,105,105,244,205,171,151,255,240, 15, 95, 7,137,121,145, 7, 17, 83,229,222, 15,223,125,255,182,221,181, 19, - 99,143, 38,149, 25, 95, 82, 37,141, 83, 84, 49,202, 40,181,176,198, 72, 82,175,165,216, 71, 34, 34, 26,131,138, 68,104, 82, 14, -122, 60,107,240, 32, 60, 98,132,145,237, 46, 81,130,138,170,102,142,129, 72, 36, 42,162,177,196,201, 71,151,252,113, 34,134,153, - 57, 53,158,128, 13,161, 1,245,202, 68,134,199,117,215,193, 21,145, 14,113,176,204,169, 17, 58, 4, 25, 41, 44,100, 0, 1,153, -249, 16, 40, 78,183, 68, 99, 9, 20, 99,148,116,169,125,223, 47, 97,194,168,224, 12, 89,231, 44,178,138, 40,104,110,242,132, 42, - 87, 21,139,148, 14, 54,195,134, 0, 6, 31, 8, 34,115, 90,154, 41, 34,165, 72,184,247, 66, 76, 76, 22, 9, 13, 2,145, 17, 85, - 38, 50,214,166, 11, 29,145,161,228, 3, 81, 1, 68, 99,168,247,113,189,223,207,138,188,204,179,116,202,216,145,150, 67,160, 74, - 68, 34,170, 0,134,137,153, 12, 51, 18,138,130, 15,145, 64,211,224, 46,249,197,137, 71, 34,138,144,234,225,196, 79,194,114, 80, - 64,213,247,235,208,247, 97,111, 76,250, 91, 34,162,164,170, 5, 2, 6, 84, 57,136,161, 33, 0, 31, 79,243,135,237,238,233,241, - 76, 36, 61, 53, 15,133,132, 52,120, 79,187, 79, 73, 88, 48,147, 86,185, 4, 36, 33, 40,104,210,154,166,245, 35, 17, 18, 74, 2, -175,140, 96, 25,213, 67,202, 38, 69, 19,211,166, 29, 15,227,123, 81, 33, 1, 73, 55,221,116,157, 39,192,241,176, 37, 4, 74,195, - 18, 85, 38, 85,252,157,159,126,249,221,219,235,235,187,187,106, 50, 45,171, 50,138,255,224,233,163,191,251,205,119, 95,125,249, -241,249,201,162,238,194,143,126,246,187, 18,154,237,174, 57,127,250,120,189,218,184,224,152, 24,209, 40, 0, 59,171,209,171, 74, - 12, 66, 72,232,140, 98, 36, 66, 85,209,212, 85, 96, 74, 15, 42, 9, 33,253, 94,147, 24,132,144,213,164, 55,216, 20,110, 61,108, - 17, 84, 16, 57, 1, 66,117, 92,152, 34, 18,146, 49, 26, 98,140,131,113, 46, 97,232, 53, 36, 98,157,112,234,138,164,121, 86, 20, - 53, 12, 0,209, 7,155, 51, 18,182, 93, 15, 10, 93, 83, 91,146, 96, 45,145, 74,240, 38, 43,216, 24,132, 8, 81,216, 88,155,229, -138, 71, 72,168,210,183,251,218,106, 12, 54, 23,229,216,181,192, 70,163,247, 30,173,225,108,250, 40,160,217,175, 95, 89,235,186, -190,105,154,150, 16, 13, 91, 34,107,166,143,172,205,219,193, 83, 24, 6, 31, 93, 86,177, 45,167, 71,243,249,233, 73, 93,111,189, -224,244,228, 81,232,118,190, 93, 85,199,103, 93,179,111,235,218, 57,179,219,174,135,190, 71,241, 64, 90,239,219,213,234,206,139, -150,197,116,181, 89, 55, 67,180, 20,247, 97,112, 54,107,183,155, 72,182, 29,250,188,156, 13,195, 16,154, 77,244,158,220,196,149, -139,219,235, 43, 99, 43,132,161,116,150,137, 64,216, 15, 77, 84,200,184, 10,245, 67,181, 56,245, 68,235,235,111,178,242,180,156, -159,179,177, 24, 3, 16, 33, 90,109,247,198, 96,181,120,204, 77,141, 4, 67,219, 24, 91, 33,120, 37,107, 12,239,150,151,197,244, - 88, 67, 19,177,220,174,111,227,224,201,230, 72, 56,116,129,136,173, 41,253,176,235,155,189,198, 61,178,149, 32, 49, 14,251,237, - 93,107,171,204, 56,237,215, 89, 62, 55,140,126,232, 32,202,224, 99, 28,106, 96,107,139,249,224, 7, 2,200, 51,215,180, 97, 49, - 59,219,238, 30,190,125,243,155,166, 94,255,240,195, 47, 5,141,203,136,136,251,254, 30, 86,146,231, 19,233,119,214,132,193,235, -126,243, 48, 61,127,158,229,147,118,191, 70,197, 0,188, 95,223,100, 46,115,197,116, 49, 59, 10, 67, 71,166,244, 33, 88,226,217, -164,154,125,250,233,164,170,178, 44,239,218,166,174,119,155,251,155,111,190,251,250,197,235,139,205,126,191,218,108, 55,155, 13, - 91,243, 63,255,119,255,203, 23, 95,252,164,174,235,216,110,126,254,233,209,147,211,249,237,213,205,203, 87, 47,183,155,221,179, -143, 62,172,206,166,255,223,223,254,227,179, 71,199,157, 14,191,250,135,239,102,228,206,171,210,199,168,136,108,156,196,161,105, -251, 62, 52,185,181, 69,150,231,121, 22, 99, 80, 5, 31, 67,140, 98, 83,237, 61, 13, 16,172, 9, 94,200,176, 65,235,131, 71, 5, -203, 28, 48, 38,173, 3, 1, 41, 64,225, 44,170,168,136,199, 36, 2,228,193,135,145,170,164, 98,192,120, 1, 4,148, 24,172,179, -133,115, 94, 49, 9,155,148, 48, 70,193,136,206, 25, 81, 53,160, 33,137,136, 1, 13,211,144,182,112,138, 62, 13, 69, 69,217, 80, -242,119,166, 68, 37,160, 26, 99, 67, 12, 17,129, 64, 83,132, 7, 8,208, 25,136, 10, 34, 41, 15,168, 24, 81,217,177, 97,107, 37, -134, 94,133, 9, 24, 77,140, 67, 4,116,105, 9, 11,138,136,142, 40, 34,134,168,133,203, 0, 16, 33, 42,129, 4,176, 76, 94,162, - 2, 86, 69,209, 6, 1,137,214,218,160,136,160, 6, 13,128,104,140, 41,175, 14, 18, 33,105,224, 84, 17, 68, 98,188, 94,110, 10, -198,163, 73,217, 69,113,136,145,176,139,222, 32, 27, 70, 0, 26, 68,144, 17, 99, 4, 38, 80, 13, 33, 2,128, 65,238,209, 19, 40, - 1,241,255,244,151,127, 1, 8,140,128,230,183, 17,125, 28, 35, 26,233, 65,136,227, 61, 55,161, 5, 36,140, 36,152,195, 26, 22, - 71,132,103,194, 36,143,113,245, 52, 71, 8,128, 83, 19,239,183,237, 98, 62, 17, 25,239,246,233, 68, 38, 32,125, 95,184, 79, 35, -133, 68,200, 26,139, 84, 4,128, 26, 3,154,131, 24,100,108,185,141, 5, 78, 64, 74, 13,177,177, 16,251,219,164,230, 40, 34, 77, -122,215,177,120,139, 4, 74, 32,137,131,147, 30,103,227,216, 28,145, 1, 40, 70,157, 76,114, 6,255,143, 47, 47,115,103,102, 71, -115, 98,202,141, 27,250,254, 55, 47, 47,126,254,229, 39, 65, 98,223,247,183, 87, 23,203,229, 50,200, 48,244, 67,238,242, 4,205, - 52,198,106,148, 68,101, 24, 31,129,162,105, 89, 35, 49, 34, 36,249,150, 66,122, 77, 27,215,195,172,154,222, 71, 18, 69, 72, 37, - 10, 26, 67,104,210, 28, 38, 77,114,144, 65,163,140, 58, 66,194, 84,171, 83, 20, 64, 2, 77,141, 92, 0, 76,116,103, 68,250,109, -238,120,108, 35, 43, 0, 66, 86,206, 13, 99,219,180, 89,158,245,117,107, 51,139, 54, 67, 4, 21,181,214, 61,220,222,183,245,230, -248,241,179,217,124,122,241,234,123,224, 76,162,236,151,247, 46,171,140,203, 35, 88,100, 43,161,103,195,125, 63, 40,160,205, 28, -160, 27, 86,239,218,122, 89,230,249,114,179,189,184,185,109,187,222, 11,252,226,167,255,204,162,248,118, 75,177,237,219,253,166, -237,166,211, 41,101,238,217,243, 47, 92, 81,121, 49, 89, 81,146,134,187,139,151,104,109,189,188,204,108, 85, 86,149,250,222,135, -136, 34,221,246,190,233,122, 65, 18,223,163, 49, 79, 79,159,108,235,205, 32, 65, 99,200, 51, 87, 85,147, 40,113, 24, 90,227,114, -137, 66,168, 2,216,117,155,211,179,199,190,111, 86,235,109, 93,239, 67,243,144,229, 37, 32,119,109, 45,136,117,219, 53,237,158, - 8, 28, 27,114, 57, 82, 33,200, 33,198, 97,232, 93, 53, 37, 54,245,110, 37,202,206,112, 8, 61, 72,168,155, 70,136, 65,209,162, -175, 38, 39,206,102,108,115, 36, 38, 67,136,216,118,221,118,183,149, 48,236,214,247, 0,120,180, 56,206,156,169,155,214,230,229, -126,191,239,187,225,104, 49, 45,242, 2,208,129,239, 76, 54, 9,253,110,114,116,228,152, 98,240, 89, 86, 13, 62,206,166,179,147, -163,121, 81, 76, 53,134,172,156, 16, 72,235,251,182,239,110,151,183,147,242,168, 98,146, 24, 0,105, 54, 61, 98,150,182,235,216, - 22,229,252, 12,181,179, 46,207,202,197,126,189, 42,170,105,244,221,208, 55, 89,158, 7, 17, 81,244,221,190, 40,114,212, 33,250, - 22,144,143,142, 22,143, 31, 31, 85, 85, 54,153, 76, 84,180,222,109,238,111,223,190,121,245,242, 87,127,247,119,223,188,186,184, -185,127,184,123, 88, 6,209, 31,125,241,227,255,230, 15,255,248,195,167,207,111,223,254,230,209,220,252,248,147,163,130,240,235, -175,191,249,254,197, 43, 54, 12, 76,154,217,111, 95, 93,236, 54,187,235,171,155,239, 95, 94, 30,103,238,164, 42,153,153, 13,151, -142, 51,107, 66, 4, 31, 35, 34,176,161,204,216,180,169, 28,111,170,138,214,146, 87, 85, 80, 98, 78, 98,179, 4,154, 77,168,193, -160,146, 86,121, 2, 96,136, 13,161, 68,241, 33, 36,125,141,177,172,162,137, 42, 59,214, 17, 15,221, 72, 69, 16,213,182,239,153, -137, 24, 67, 20,195,204,128,206, 26, 70, 35,163,205,103,204,135, 32,160, 53,236, 12, 43,170, 38, 1,247,232,131, 38, 64, 48,105, -190,195,156, 2,239, 57, 83,170, 74, 38,146,176,136, 16,170,113, 38,125,243, 76,236,216, 18, 37,186, 31, 57,166, 40,154, 10,235, -134, 80, 16, 64,128,137,172,229, 46, 8,129, 26,102, 77,132, 94,107, 81, 5, 1,251,100, 88,101,163, 10,134,208,218, 44,136, 26, - 34, 34, 43, 26,145,146, 65, 57,213,143, 16, 16, 12,162, 2,129,234,253,182, 1, 13,103, 39,115, 47, 96, 8,129, 25, 85,153,216, - 18,132,177,217, 3,170, 34, 49, 16, 83, 8,202, 76, 0, 24, 68, 98, 28, 12, 82,239, 7, 51,238, 69, 85, 53,200,225,136, 2,132, -209, 73,136, 35,103,102,100,236, 42, 68, 96, 30, 19, 55,144, 30,118, 73,151,138,201, 16, 61,238, 8,146,108, 21, 64, 99,200,171, - 41, 63,220,140, 35,244, 17, 84, 25,117,140,141,208,248,229,198, 41,198, 97, 57, 43, 74, 76, 18, 21, 76, 98,117,166,227, 78, 80, - 89, 17,188,136, 1, 16,140,170, 35,138, 39,117, 91,137, 8, 68,210, 77,253,125,252, 71, 9,223,123,212, 71, 73,169,140,163, 27, - 5, 21,145,168,158, 21, 17,160,239,241,231, 63,253,201,197,229,253,213,205,221,108, 54, 63, 62, 57,214, 28, 62,126,246,236, 63, -254,237,223,253,205,223,125,251,135,255,244,199, 15,251,246,228,236,217,211,140,190,251,230,155, 47,127,242,179,118,191, 19, 0, - 86, 9, 33,188, 87,187,167,196, 21, 27,163,160, 26, 21, 21, 84, 6, 69, 65, 97, 64, 64,178, 32,202,214,136, 38, 8,193,216,184, - 2, 65, 98, 77,140,124,100, 74,111,127,160,128, 17,211, 91, 41, 32,168, 72,196,177, 1,160, 2,138, 17,217,162,161,196,104,163, -145,238, 44,132,246,191,202, 4,163,248,104,115,215,247,189,117,150, 48, 22, 85,161,164,160, 1,201,162, 73,175, 5, 32, 2,245, -190,142, 39, 71,214, 21, 81,160,110,246, 38, 43, 93, 89, 49,218,102,187,236,234, 70, 36, 90, 84,116,121, 57,169, 24, 1,140,221, - 14,181,181,198, 71,241,222,119,221,224,125, 40,114, 87,152, 16,169,204,114, 30, 54,187,221,110, 55,201,243,220,186,197,241,169, -113, 69,179,219, 70,228,249,252,169,177,153,162, 33,100,107, 93,179,221, 22,229,164,239,187, 60,115,203,237, 18,216,101, 0,125, -221, 2, 59,146,184,218, 62,236,246, 27,195,121,140, 50,153,206, 50,166,182, 27, 24, 89,253, 0,156, 5, 68,195,118,126,244,148, -145,167,147,108,181,222,220,223,109, 23,179,217,116,118,220, 52,123, 69,202,172,107,234, 38,203,139, 50,207, 69,164,223,175, 57, -159, 64, 24,156, 37,180,115, 8, 67,240, 29, 16,135,190,217,118,189,201,103,108, 50,227, 38, 12,146, 57,106,155, 48, 12, 53,171, -230,213,145,250,154,162, 4,148,170,152,102, 68,125,183,153,157,127,104, 12, 3, 65,215,110,183,245,182,240,118, 82, 86,131,247, - 26, 98, 27,106,231,170,174, 94, 13,245,242,201,249,243,188, 42,218,253,174,105,106, 76,122, 10,208,135,235,139,233,201,121, 81, - 20,198,184,251,135,183,251,182,159,149,243, 39,167,143, 21, 12,229, 85,145,209, 48,248, 16,189, 35, 10,193,163, 15,251,237, 61, - 97, 4, 16,227,154,220,209,233,241,209,190,174,219,190, 27,134,218,123,207,174,130, 96,144, 50, 54, 89, 94,232,233,201,209,217, -227, 71, 69,145,199, 16,134,174,217,172, 30,174, 46,223,188,185,120,251,234,205,229,205,253,114,185, 89, 13, 62, 62, 59, 63,255, -139,191,248,235, 79,191,248,234,238,221,149,214, 87, 63,255,252,105,149,187,155,215,111, 94,190,122,195,140,130,128,142,171,197, -228,250,250,225,237,235,139,210,216,220,152, 79, 78, 79,152, 9, 84, 19,155, 54, 70,236,195, 96, 8, 38,121, 22, 66,242, 22,144, -162, 48, 18, 42, 26, 2, 33, 80, 66,142,202, 70, 1, 48, 68, 85, 9, 9, 54,146, 34,207,134, 16, 0, 13, 81,142, 16, 69,135, 32, -201,146, 74, 76,138,136,204, 40,209,135, 94, 21, 44, 83, 16, 80, 80,107,141, 70, 29, 0,147, 72, 58, 77, 68,211,255, 5, 80, 12, - 49,210, 97,127,170, 99, 72, 7,216, 80,136, 49, 68, 53, 64,128, 18, 37, 29,152,227,205, 83, 83,153, 18, 52,105, 25,132,149, 34, - 34,146,239,189, 73,224,176, 4, 62, 36,195, 72,233,196, 79,195, 99, 75, 24, 68, 36, 70, 52,204,100,188,198,140,172,113, 24, 98, - 8, 65,210,240, 24, 15, 55,214, 16,162, 15,209, 25,227, 40, 7, 20, 5,116,100,131,134, 32,225,208,177, 18,228,145,208,144, 92, - 74,140,200,134, 98, 16,208, 88,119,253, 48, 12, 39,211,202,144, 65,144, 20,112, 84,228, 16, 37,149,245, 49,197,117,130, 8,160, - 68,207,100, 19,187, 94, 84, 17,104,240, 94, 98, 48,135,173,109,226,120,141, 91,102,129, 8,148, 68, 19, 64, 72, 17, 99, 74,219, - 0, 26, 28, 87,123, 66, 56,134,251, 19,239, 13,120,148, 20, 33, 40, 19, 70, 25,199, 96,189,102, 25, 67, 8, 49,173,105, 17,137, -129,148, 0, 34,140,143,132,180,247,246, 17, 17,137,237,200,144,140, 66,140, 26, 89, 37,241, 23, 89, 85, 34, 8, 40, 48,167,226, -146,142, 4, 24, 64, 48, 4, 49, 61, 85, 18,122,102,172,236, 30,150, 61, 0,162,104, 84,149, 68,210,115, 58,121, 71, 4,144, 52, -138,142,245, 89, 17,133, 63,250,189,159,253,239,255,254,255,217,110,183,206,185,217, 98, 14,160, 95,126,246,233,255,253,171,191, -255,233,231,207,115,231,186,174,157, 46, 30, 45,102,147,183, 47,191, 21,208,179,199,207, 80,149,153, 1, 73, 1, 73,146,204, 26, - 53,134, 52, 67,151, 24,131,239,149,192, 24, 99,200,164,134,147, 28,250,200, 35, 97,152,136,141, 17,141, 41,129,139, 64,169,185, -167, 32,227,152,246,158, 56,101, 0, 0, 32, 0, 73, 68, 65, 84, 82, 99, 34, 55,164, 97,153,200,168,115, 4,212,212,106, 35, 36, -137, 50, 14,157, 36,138, 82,194, 17,165,226,117,236,134,193, 71, 87, 22, 81,196,228, 14, 52, 50,129,146,129,232,137, 17,173, 67, -155,203,208,176, 70,114,101,179,188, 39,213,106,122, 98,139,162,221,111, 80,192, 15,189, 43, 42,196,200,126, 27, 7,228, 98, 94, - 20, 19, 85, 40,139, 34, 4, 29,124,136, 33,246,195,112, 50,153, 73,140, 96, 93, 28, 86,171,229, 3, 49,101, 89, 94,148,213,209, -217,211,200, 44,128, 46,159,102,121, 17, 99,232,218,118,186,152, 19,101,132,117,219,108,234,253,186,172,166,121, 94,108,219,102, -223,180,247,155,245,233,209,233,182,222, 11,113,158, 79, 5,145, 82,141, 0,193,185,156, 12,109, 55, 43, 91, 40, 6,140,108, 50, -166, 97,127,127,191, 3,195,110, 54,153,134, 32,171,205, 6,148,189,247, 6,109,140,126, 62,127,180,200,176, 7,183,220, 46,157, - 98, 97, 29,144,179,182,240,237,182,109,154,201,226,188, 23,169,219,173,201, 52,168, 49,134,138,162, 98,136,197,100, 46,209,239, -238,222,186,172, 84,224,182,222,238,154,102,177, 56,203,140,221,214,251,249,236,172,238,189, 72,204,108, 54,159, 44,154,102,211, - 55,117, 53, 59,241, 26,218,253,234,244,113, 85, 76,230,155,135,123, 64, 10,245,186,237, 60, 16,183,205,222,119,117,113,244,184, - 31, 38,147,106, 49,196,246,155,183, 47,103,213,252,217,249,211, 24,154, 16,194,110,191, 98,151, 23,217,177,203,105, 8,131,143, -234,251,125, 86, 46,178, 44, 71, 38,137,195,116,113,110,179,105,189,185,181,121, 53,153,206,195, 48,100, 25, 13, 67,237, 37, 20, - 69,241,232,108,118,124, 52,159,206,167, 64,220,119,237,126,187, 92,222, 93,189,126,253,246,197,155, 55,151, 55,247,203,205,118, -187,219,156, 31,159,252,171,127,249,231, 63,248,232,249,201,227,103,251,187,119,231,110,119,246,232,180,221,237,190,254,245,175, -239, 31,238,159,126,248,212,205,167,239,254,238, 31, 62,121,242,201,247, 87,215,111,222, 93, 76, 93, 54,201,172, 77, 29, 28, 4, -135,152, 90, 64,138,152, 25, 6, 16, 1,114,228, 4,128, 65,153,221,248,210,153,198,198,168,206,226, 16, 19, 76, 17,172,203,250, - 16, 85,148, 56, 37, 41,161, 96,142, 18, 3, 32, 16,102,206, 48,179,166,207,132, 37,138,232,209, 19, 24,102,236,188, 7,145, 44, -119, 49,168, 40,152, 49,215, 4, 22, 8, 13, 70, 21, 63, 68, 34,214, 0,214, 82,210,236, 9, 66,110,185,243, 33, 68, 9, 65,216, - 16,104,106,246,163, 40, 48,211,225,202, 39,169, 35, 19, 84, 36, 38,111, 20,170, 42, 89, 2, 25,239,135,150, 24,144, 65, 3,165, - 85,153, 70, 47,234,197, 51,176, 51,206,199, 64, 70,138,204, 74,148,255,159,169, 55,251,182, 36,185,238,243,246, 20,145,195, 25, -239, 80, 83, 87, 87,119, 3,141,129, 0, 65, 2, 20, 8, 83,166, 37,216,178, 23, 41,137, 11,146, 37,175,101,210,255,166,159,237, - 7,123, 45,201,131, 44, 89, 52, 41, 52,128,238,174,121,186,243,116,166,204,140,216,123,251, 33,242, 92,168,159,250,161,186,250, -214,189,167, 34, 35,247,254,253,190,111,155, 84, 8, 0, 57,136, 67, 49,141, 48,238,186,132, 8,109, 93, 3,178,217,192,161,222, -237,122,117,117,117, 34, 82, 87,116, 12, 18, 2,225,144,243,200,204,114, 3, 64, 77,136, 0, 73,245,110,189, 57,156,214,109,211, -154,155, 25, 84,140, 9,129,136, 43, 34, 66,202, 56,152, 17,186, 34, 1,164,210,157,228,145, 13, 14,158,178, 49, 0,179,240,223, -252,234,175,198,129, 8,143,107,211,241, 73, 75,163, 49,200,125, 60,114, 11,145,103,180, 5, 18,179,208, 61,108,253, 30, 71, 62, -210,201,247, 36, 1,114, 32,228,220,239,178,243,180,141,227, 35,214, 12,108, 20,138,112, 1,136, 21,220,132,121, 9, 92,150,237, - 72, 1,199,140,117,158,130, 84,135,113,238, 81,134, 66,165,184, 75,145, 71, 23, 82,217,114,142,249, 28,250,207,168,186,101, 58, - 95,152,208, 5,102, 9,165,117, 1, 99, 60,221,137, 11, 51, 46, 79,166,237,176,219,190, 57,189, 92,206,231,128, 72,204, 85,172, -206, 46, 46, 62,158, 95,252,226,143,127,184, 90,175,213, 97,182, 88,188,127,255,254,248,209, 99, 75, 29,145,148, 70, 7,151,146, - 42,140,238, 36,164, 17, 43,234, 14, 34, 49,132,186,244,197,212,178,231,242, 25, 0, 55,167, 49, 19, 54,214,198, 10,118, 3,161, - 92, 71,246,195,174,253,254, 29, 16, 93, 29, 10, 89, 66,184,208,239,203, 93,102,127, 19, 25,247, 65,191, 55, 95,113, 4,174,164, -170, 64,147,123,230, 16,170,182,149,170, 18, 41, 94, 89,185, 60,187,216,108,118,243,233,116,121,116,248,254,229,243, 33, 39, 53, - 13, 49, 14,125,191,185, 59, 87,160,217,124,201,130,117, 59, 67,174,187, 33, 79,167, 51, 71,188,120,247,213,108, 54, 77,170,167, -231, 87,151, 55,183,119,155,237,179,207,190,251,249,167,159, 89,127,115,123,254,113,115,119,215,212,205,100,186,156,204,166,245, -226, 16,168,178,212,207,142,143, 23, 7,199, 39,175,254,147,170,115, 8,222,109,136, 25,212,119,187,109, 96,233,119,171,245,122, -179, 27, 6, 55,223, 13, 93, 64, 55,181,171,155, 27, 9, 60,109, 91,180,228, 96, 33, 84, 89, 45, 86, 49, 10,239,186,158, 56,162, - 14,132,222,204,143,186,221,182,105,103,110,176, 77,253,110,216, 12,131,110,118,155, 16, 99,148,186,157, 55,211,122,114,119,119, -233, 24, 4, 53,109,111, 72, 98,168, 22,245,236, 40,109, 46, 57, 84, 20,154, 80, 79,132, 48,128,198,192, 41, 41,164,126,232,214, -102, 54,108,111,171,201, 28, 45,135, 80, 7,180,212,175, 23,135,143, 55,235,171,219,213,170,169, 99, 21,154, 88,213,121, 88,171, - 34, 72,181,221,220,205,167,139,249,108,158,205, 9, 97,219,173, 47, 46,207,150,139, 69,191,221,220,109,214,211, 58, 6,196,117, -215, 95,222, 93,175, 86,219,227,249,131, 42,212,169, 91,109,182,107,146,166,169, 26, 20,238,119,119,221, 96, 10, 60, 91, 28, 11, -218,108,249,137,144, 32,232,225,227,239,172, 87,183, 78, 56,153, 47,235,102,137, 62, 4, 17, 85,152, 46, 14, 63,249,244,179,207, -158, 30, 46, 14,151,147,201, 68,213,215,119, 87, 39,239,223,188,120,254,205,215,223,188,248,245, 55,207, 95,191, 63, 57,187,190, -169,132,254,244,167,255,197, 95,252, 55,255,236,232,232, 9,195, 46,216,230, 81, 59,204, 2,124,248,240,238,235,175,126,115,187, -221, 77,103,237,244,241,195, 95,127,243,245,213,229,205,233,217,229,235,231,175,143,154,233,188,110, 0, 70,181, 24, 19,233, 24, -200, 45, 57, 66,199,189, 96,161,220, 55, 1,255, 51, 68, 42, 1, 19,101,115,176,113,165,180, 75, 3, 24,112,224,210,104,171, 98, - 84,203,230, 48, 12, 22,132,192, 33, 91, 22, 18, 14, 81,136,212,177, 56,233,152, 73, 72,130,144,102, 35,194, 42, 22, 27, 90,209, - 76, 19, 24,172,182,219,117,183, 37,192, 58, 8,133,144,213, 4,145, 9,147,186,155, 67, 9,166,151, 59,103,225, 30, 50, 8, 48, - 0, 80, 25,181, 20, 19,211,232, 95, 26,217, 88,228,165,232, 4, 33,212,204,191,151,195, 17,130,130,169, 42,238,155, 42, 65, 56, -136,100, 53, 7,171, 99, 85,110,116, 6, 94, 51, 3,162,129, 71, 17, 4,234,134, 1,193, 0, 89, 53, 21,108, 73, 33,253, 18,115, - 20, 6,243, 98,236, 19, 98, 31,183,156,224,238, 68,124,185,222, 16,224,193,180, 45,211,241, 40,161, 31, 83, 67,152, 1, 0, 76, -176,204, 29,188,232,182,145,196, 85, 67, 8, 0, 60, 12, 3, 2,198, 42,154,155,248,232,138, 40,240, 45, 47,157,221, 61,108,230, -247, 16, 19, 36,128, 61,173,189,176, 86, 52,219,232, 99,245,177,123, 95, 38, 37,134,206,229,129, 81, 66,164,224,109, 91,157,175, - 55, 15, 14, 38, 41,217,253, 96,191,160,133,205, 70,238,188, 59, 32,147,227,126,122, 54,158,217, 58, 66,126, 97,255,236,113,180, - 50,199, 40, 30, 59, 24, 53, 44, 35, 96,126,228, 3,143, 63,150, 2,166,247,194, 35,114, 47,197, 33, 7, 3, 31, 11, 69,247,196, -203, 50,233, 35,196,156,253,199, 63,252,242,249,251,211,219,213,182,174,171,170,153, 49,241, 31,126,255,251,255,251,255,245,239, -254,191,223, 61,255,241,151,159,159,223,172,172,169, 68,120,185, 56,184,248,248,206, 20,103,179, 25,144,186,211,184,137, 38,217, -135, 24,157, 41,112, 19, 9,196,193,138,176,143, 93,220, 77,213,105,172, 98, 23, 28, 68,217, 69,237, 31,109, 56, 62,159, 44, 41, - 5,161,146, 42, 3, 80,205,196,204, 69,110,149, 13,139,171,140,137, 88,184,244,192,198,206,175,239,115,242,180,217,238, 66,152, - 81, 85,158,209, 94,152, 90,229, 27,169,253, 0, 65,153,137,133, 37, 84, 16,100,200, 67, 82, 16, 14,121,216,165,148, 17, 24, 53, - 1,213,228, 20,171,104,177,137,237,128,204,110,138,158, 8,201,205,182,219, 93, 54, 75,150, 31, 63,122, 22,231, 71,183, 55,119, -105, 72, 77,211,206,102,139,208,212, 40,181,153,186, 15,154,134,182,110, 85,123,105, 14, 14,230, 77, 26,214, 90, 77,170,202,250, -110, 55,159, 31,229,180, 73,221, 78, 98,172,156, 53, 15,235,110,152,207, 15,214,187,205,186,219, 85, 85,173, 33, 41, 10, 82,232, - 82,231,170,194,178,222,220, 41, 73, 3,154, 85, 15, 15, 63,191,221,108, 78,223,254,166, 57,122,102,128,144,186, 97,183,142,213, - 4,124, 75, 88,167,148, 54,183,107,159,203,241,209,163, 52,232,106,125, 99,200, 48,244,217, 51,121,149,157,250,213, 93,108, 38, -105,183, 21, 81, 97, 4,135,118,178, 72,187,235,128, 13,113,232,183,171,110,187,219,220, 94,212,205,204, 83, 46,166, 5,150,122, - 49,173,218,186,185,188,120,221, 78,102,187, 93,159,129,176,223, 52,109,251,224,201,231,183, 23, 31,222,188,254,102, 50, 91, 86, -237, 66, 98,221, 39,171,171,186, 74,249,118,179, 62,187,185,236,213,103,117,252,236,233, 15,136,252,230,250, 52,103,109,154,153, - 90,130, 80,123,159, 1,120, 50,153, 14, 67,246,161,191,189,124, 31,155,165,230, 29,197,185, 13,217,242, 16,235, 90, 72,134,110, -213,109, 86, 93,191, 93, 28, 28, 62,253,100, 57,159,205,154, 73,131, 64,219,205,221,221,205,197,201,219,119,111, 62,190,123,247, -241,244,227,249,197,197,245, 53,113,245,163,239,253,193,159,253,236,103, 15, 30, 60,189, 62,191, 8,222, 63,126, 52,123,120, 32, - 87, 23,215,191,253,221,203, 12,217, 9, 23,143, 14, 9,236,219,175,191,185, 58,187,241,148,221,224, 59, 15, 31,142, 62, 96, 24, -145,211, 64,128,134, 99,172,217,138,194, 20,145, 64,136, 75, 36, 60,151, 52,161,237, 71,148,123,151, 90,206,134, 68,194,236,142, -168,218,176,140,206, 2, 71, 7,111,107,206,224,224, 24, 36, 32,137,230,148, 93, 71,170, 30, 16,137,168, 90,234,119, 82, 62,239, - 9,132, 73, 17, 24,113, 63,106,119, 4, 74, 89, 59,210, 54, 90, 32,114,132,172,138, 0, 81,120,112, 77,144,203,139, 57, 11, 1, -144, 67, 78, 57, 51,161,193,184,128, 45, 2,191, 98, 88,139,101,139, 0, 12, 96,204,193, 93, 75, 67, 49,114, 80,205,102,192, 36, - 28, 88, 71,243,101, 57, 45,129, 69, 70, 11,102, 12,110, 26,145, 7, 75,194,145,176, 36,226,178, 48, 13,154, 81, 51, 49,187, 89, -118, 71,196, 40, 72,196,201,180, 12,100, 92,157,200,179, 27, 2, 9, 57,146, 92,172,182,150,134, 71,203, 69,168, 42, 3, 80, 85, -117,141, 76,132,232, 72,141, 56, 18,247, 67, 38, 4,195, 2, 72, 33, 36, 66, 15,238,100,104, 85, 21, 75, 56,197,204,249,111,254, -229,175,202,145, 72, 4,196, 82,206, 6, 47, 20,247, 49,102, 13,196,100,170,128, 68, 36,227,184,219,199, 93,231,168, 49, 4, 18, -188,143,232,143,206,219,123,250, 22,120, 58,191, 90, 29, 31, 30,169,235,222,148, 10,191, 15, 45,142, 17, 23, 96,137, 14, 6, 90, -234, 72, 35,116,197,192, 16,125,236,244,236, 3,142,229,155,133, 68, 72,100,247, 94,233,194,164, 87,219,223,128,125, 12,207,143, -187,207, 18, 29,116,220, 59,237,198,219,245, 8, 98,118, 42,177, 80,135,166,109,151, 77,252, 15,191,121,254,224,112, 73, 72, 77, -221, 8, 99,234,119,255,225,171,175,255,228,199,223, 71,198, 33, 13,211,249, 81, 26,250,102, 62,221,172, 86,117, 51,221,151, 99, -121, 28, 6,185,122, 86,150,200, 34,133, 43,112,143,241, 41,107, 11, 46,187,158,242, 3,115,199,146, 21, 35,192,145,166, 32, 99, -116,125, 28,210,149,184, 62,238, 73,203,229, 55, 67,191,183,188,143,250,129,130, 96,187,191, 91, 1, 32,229,108,147,201,188,140, -124,194,164, 17, 9,253,110, 71,160, 96,196, 65, 68,232,250,106, 53,100, 93, 30, 44,234,166,126,253,252, 37, 19, 85, 85,157,211, - 96,142, 96, 20,218,152,186,109,100,137, 12, 85, 59,179, 52,116,171,221,208,119,253,234, 99, 51,155,245,195,240,250,253,135,187, -213,102, 55,116, 63,255,217,159,195,176,189,185,185, 68,237, 39,147,118,114,240,168,239,239, 98,213, 80, 8, 64, 17, 67, 56, 58, -122, 0,174,219,205, 58,109,111,250, 93,162, 16, 44,229,235,139,247,253,230,238,227,233,187,186,158,170,105, 63,116, 18,107, 7, -175, 99,188, 88,173,222,158,157, 47, 38,117, 78,189, 25, 48, 7,116, 13,194, 49,134, 65,181,170,235,109,183,173, 98,123,187,235, - 20, 8, 25,115, 82,215, 97,117,123, 17,155,165, 8, 27, 9, 18,147,227,221,205,199, 71, 15, 30,118, 57, 29, 31, 62,186,184,189, -114,146, 52,172, 17, 61,165,236,136, 0, 70,158,165,154,196,170,114, 53,116,205,218,131,105, 51, 93, 36,237, 8,185,170, 27, 77, - 25,193,251,221,230,240,248, 49, 33,198, 80, 87, 33,204,231,179, 94, 65, 40,132, 88, 55,211, 69, 74,187, 93,183, 43, 91,238, 88, - 53,177,106,204,204,134,221,144,128, 24,111, 86, 55, 87,119,119,139,197,241,180,158,128,123,238, 87,234, 86, 46, 89,117,211,176, - 68,205,137, 99,203, 85,117,120,248,160,219,237,110,110, 46, 72, 90, 53,115, 80, 14, 85, 26,118,195,208, 31, 28, 29,167,164,221, -230,118,249,224,241,179, 47, 62,255,236,217, 39,243,249, 60,212,213,208,245, 55,151, 31, 63,190,127,243,242,197,183,191,253,246, -197,215,175,222,188, 61, 57, 61,191,190,121,120,120,252, 47,255,242, 87,191,248,233,159, 16,113,238,134,167, 11,248,195,239,125, - 18, 5, 94,125,243,226,213,139,151,203,227,229,163,239,124,242,246,228,108, 57,159,172,135,252,237,171, 55,190,237, 31,207,231, -179, 73,205, 34, 44, 1,193, 43, 17, 22,206,121,244, 98,194,158,136, 93, 86,159,163,211,174,140, 53,199, 12, 53,152, 3,122,105, -116, 22,167,217, 72, 29, 8, 65,162,112, 86,232,178,153, 67,228, 34,184,164,146, 86,100,226, 50,100, 29, 52,131, 67, 45, 21, 50, -155, 42,184, 2,160,142, 23, 31, 35, 34, 7,112,117, 71, 55,119,205, 30, 66,168,130, 76,155,154,104,252, 58,239,225, 49, 50,166, -205, 93,132, 0, 80, 85,211, 48,216, 62,184, 77,132,132,100,134,194, 28,153, 74,103,101,140, 83,178,187, 25, 34,163,123, 54,237, -115, 18,100, 68, 52, 4, 98,170,235,154, 29, 13,198, 3,213, 29,133, 89, 8,165, 92, 37, 75, 15, 8,201,193, 2,139,169,237, 82, -111,170, 99, 87,223,203,178, 18,232,222,177, 13,196,136, 34,210,169,154, 41, 35, 34,241,221,174,191,219,174,143, 23,211,217,100, -106, 5, 71,187,167,113,193,200,153,129,193,172, 36,108,178,163, 32, 8, 21,166,229, 88, 96, 42, 79, 89, 68, 54, 55,254, 31,255, -229, 63,191,231, 17, 66,241,202,194,126, 58,179,215,209,142,141, 27, 24,115,123,197,204,231,200, 5,156, 70,247,247,241,177, 81, - 38,229,148, 97, 64, 53, 7,183, 16,226,110,183,173, 39, 83, 28,175,203,116,255,129,216, 11,154,198,113, 49, 17, 9,153,223, 11, -163,225,222, 32, 61, 62, 16,120,143, 90, 39, 36, 28,143,122, 46,216,155,194,156, 27,225,184,123, 41, 55,142, 29,166, 49,148,227, - 48,254,230,227,162,114,196,206,141,184,201,242, 53,169,250,209,225, 65,191,186,126,119,190,154,183, 85,168, 43,137,113, 62,157, -188,120,249,246,110,187,249,163, 31,124,150, 18, 30, 28, 30,189,127,243,226,193,163, 79,183,155, 43, 66, 97, 9, 35,196, 14,220, - 85,145,132,100, 4, 64, 34,114,249, 26, 0, 93,115, 98,100,187, 47,172,142,149,168,223, 35,126,246,174, 38,255,125,209, 23, 75, -153,120,164,238,141, 79,145,146,240, 44,183,146,178,185, 46, 55,172,251, 54, 90, 81,176, 43, 84,237,178,153, 84,229, 9,141, 44, -214,239,220,156, 89,220,149, 66, 32,131,139,139,171,205,106,211, 52,117, 21,227,217,217,101, 12,130, 40, 14,100,253,142,130, 32, - 82,136, 77, 61,153,169,131, 13, 89,251, 53,133,122,117,247,222,134,117, 83, 53,171,219,245,235,247, 31,110, 86, 43,169,234,127, -240, 71,127,186,185, 62, 1,205, 77,221,196,170,166,170, 37,208,122,126, 40,161, 33,162,249,116, 42, 18,146,194,118,117,109,195, -174,212,147, 77, 77, 83,223,119, 59, 55, 63,156,181, 68,124,118,126, 78,204,217, 52,138,188, 60, 57,121,254,241, 28, 65,231,245, -148,145,154,201,100,216,174,235,186, 18,150, 33,105, 78, 9, 1,170,170,218,165, 92,140,149,110,131, 3,197,102, 14,218,163,166, -236, 62,244, 27, 39, 18, 97,236,111,165, 89, 84,161, 90,173,110,141,130,132,102,215, 15,105,232,147, 38,211, 14,210, 48, 59,120, -232,195, 70, 98,219, 30, 60,132,220, 19, 75,218,173,186,221,198, 0,212,225,234,242,189, 16, 12,221,174,239,119,147,105,107,154, - 52,237,118,155,187, 88, 77, 54,187, 77,211,180,135,203,227,126,200, 49, 54, 13,167,110,187,155, 31, 62,220,236,118,232, 6,110, -119,219,213,237,221, 57, 81,108,171,118, 82, 5, 34, 32,142,132, 14,200,179,197, 17, 32,174,239, 46,171,186, 85,131,216, 78, 60, -111, 53,167,201,116,174,125,127,248,228, 51,169,107,161,128, 68, 67,191,110,170,202,156,243,176,251,228,179,103,159, 60,126, 48, -155,183, 85,172,114, 78,183, 87,231, 39,239, 94,189,125,243,234,219,231, 47,127,243,252,197,203,247, 31, 46,174,174,171,170,249, -135, 63,251,197, 95,252,147, 95,205, 38,147,174,219, 46,167,179, 31, 62,157, 62, 56,154,156,189,123,247,205,111,126,123,122,122, -250,240,201, 3, 90, 78,190,254,250,197,171,119,103,235,237,246,155,175, 95, 45, 57, 62, 60,152,197, 24,162,196,194,141,169, 66, - 76, 57, 37,205, 12,140, 60,246, 35, 93,221, 71, 12,212,248,126, 61,206,102, 13,172, 20, 57,193, 1, 64, 93, 17, 25,152,204,161, -144, 23, 93, 33, 25,152, 89, 21,169,156,131, 57,149,138, 59,231,236,136, 46,194,102, 88, 79, 38, 34,108,230, 89, 19, 49,115, 16, -115,205, 89, 5,145,137,173,220,112,165,220, 27, 77, 68, 68, 56, 4, 73,102,166,185, 60, 36, 76,205,202, 22, 0,188,116,145,212, -220, 17, 68,196,212, 82, 74, 69,222,141,200, 64, 20,131, 4, 33,115, 52,223,103, 63,220,134,161, 44,125,124,211,237,182,219, 45, -131, 11, 19, 48,215, 76, 68,104, 14,106, 88, 30, 90,229, 47, 48,179, 0,248,144, 19, 34, 75, 16,130,130,149, 39, 24,115,110,110, -128, 66, 24, 57,150,254,148, 1, 49, 18,141,221, 20, 49, 53, 71, 23, 34, 33, 41,164,179,171,245,234,176, 14,135, 7,203,172, 86, - 20, 64, 35, 56,160,144,208, 75,252,159,152,136,178,121, 32, 68,132, 52, 62, 86, 65, 68,204,188, 31, 50,120,138, 28,135,156,248, -175,127,245, 87, 37, 39, 15,123,239,236,120,232,220, 11, 41,168, 92, 21,217, 11,210,182,244, 51,199, 55, 48, 51, 32, 2, 96,230, - 98,156,160, 50,115, 40,187, 20, 4, 51, 71, 68,161,176,217,110, 20,112, 82, 85,251, 20,211, 94, 90, 94, 34,131, 28, 96,159,171, -188, 95,112,239,139, 10,229,201, 50,142,211,247,190, 17, 36,166,241, 21, 10,203,129,111, 99,240,166,184,250,138, 89,209, 1, 8, -164, 52,161,220,220,242,104, 41,221,155, 8, 9,144, 71, 29, 70, 25,152, 48, 49,130, 39, 68,124,250,228,193,239,158, 63,151,170, - 9,196,177,109, 69, 66, 0,251,219,223,124,251,253, 47, 62,157,182,205,197,229, 69,213, 78,206,222,191,206,202,147,182, 97, 10, -247,168, 49, 4, 36,150,113, 28, 63, 26, 38,199, 94,215,254,241, 54,198, 25,209, 74,180,115, 60,217,203, 99,207, 76,247, 82,243, - 17,145,140,123, 67, 86,225,173,150,220, 99, 81, 71,142, 92,161, 2,243, 17, 70,166,189, 2, 4,220,209, 64,171,122, 6,165, 3, -194,162, 93, 66, 38, 22, 25, 97, 53,177, 2,135,171,243,243,219,235,219,118, 58,153, 76,166, 87,103,151,206, 68,204,170,105,216, -174,171, 16, 21,105, 58, 95,134,216,110,111, 46,185,142, 8, 20,155,249,229,155,175,218,182, 22,162,179,203,171,247,103,167,183, -171,245,116,118,240,189, 47,126,208,111, 87,117, 12,117, 8, 10,192,213,108,126,252,164,158, 31, 17, 49,152,215,147, 73, 61,153, -109,215,151,105,123, 87, 62,172,238, 14,154,250,126,171, 67,207, 33, 94, 93,126, 20, 66,142, 21, 34,130,234,205,106,245,155,215, -111,175,118,187,100, 94, 19, 50, 59, 1,182, 77, 27, 98, 0,240,193,212,145, 88, 74,114, 46, 50,128,101,155, 46, 14, 31, 28, 29, - 31, 28, 28,221,221, 93, 44, 38, 51, 33,138,177, 33,130,229,124, 41,177,218,117,221,135, 15,175, 86,215, 39,230,146, 82, 46,237, - 24,150,170,174,170,197,242,120, 80,173,170,138, 67, 3, 8,211,233,162,239,214,221,144,155,182, 13,213,172, 95,221,132, 80, 77, -167,203,118,210, 58,133, 52, 12,204,236,136, 46, 85, 55,116, 76,178,221,172, 39, 77,197, 85,197, 64,117, 21, 63,188,127,254,248, -209,179,108,112,123,119,113,117,119,147, 21,150,211,217, 98,126, 88,183,179,161,219, 90, 78, 82,213,230,212,182,109,100,122,251, -230,107, 12, 77, 12,181, 84, 13,161, 6,198, 97,183, 69,230,245,234,162,235,179,230, 62, 86,147, 97,232, 99,172, 16,252,224,209, -131,103,159,125,122,116,124, 24, 98,176,156,239,110,174, 78,223,191,126,255,230,245,243,215,175,191,121,249,242,229,187,247,111, - 78, 78,192,237, 31,254,226, 31,253,213, 95,254,235, 79, 30, 63,203, 78, 85,208, 79,151,252,233,113,220,172,174,126,251,247,191, -249,240,238, 3, 8,183,199, 7, 55, 55,183,191,254,237, 11, 22,190,188,188,141, 41, 29,181,237, 98, 82, 35, 11,130,179,112, 85, - 87,228, 48,168,186,131, 8, 7, 33, 40, 31, 85, 46,214, 57, 42, 27,166,113,215, 3,152,243,120,174, 19, 98,206,138, 52,222,199, - 83,206,149,176, 48,169,121,246,204,136, 76,148,205,212,157, 1,133,169, 79, 6,238, 34,165, 75, 47,109, 59, 41,252,188,114,122, -121, 89,200,237,103,227, 68,232,227,176,150, 20, 12,192,163,112, 54, 23,100, 0,136, 33,218, 61,224,171,100, 19,192, 16, 8, 0, -133,198, 40,118, 86, 64,100, 17, 97,230,200,196, 28, 0,201, 74,142, 19,165,192,112,128, 48, 48, 57,192,166,239,182, 93,151,116, - 80,213, 16, 66, 93,213,230,168, 8,129,136, 3, 23,208, 20, 33, 16, 81, 26, 6,119,148, 32, 64, 68,142, 34, 33,229, 92,238,207, -230,134,224, 69,174, 22, 3, 35, 10, 73, 96, 70, 46, 48, 3, 3, 53, 37, 26,169,130,194,104, 0,103, 55,183,145, 96,210, 78,193, -129,137, 2,139, 19, 49,161, 48, 15,106, 89,115, 96, 20,142,197,117,138, 69,130,231,206,128, 8,144,220, 83, 30,250,156, 8,221, - 28,220, 53,105,230,191,249, 87,191,162, 50,204, 26,157,121,190,175,166, 2, 48,151,141, 51, 98, 1, 3,112,217, 1, 20,211,105, - 65,163,112,161,157, 48,162, 59,151,171, 61,221, 27,174, 75,210, 18,137,208, 83,119,181,238,142, 22, 83, 27, 39,232, 14,230,200, -196, 44,200, 12,232,180,255,255,142,226, 58,218,179,112, 9,205,246,146,163,194,194, 33, 6, 66, 27,239,236,232, 58, 0, 18,161, -184,233, 94,165, 84,110,196, 94, 70, 52, 82, 64,190,238,229, 96, 47, 98, 87,162,241,112,164,125,154,144,101, 52, 92,147,176,101, - 99,137,211, 70,158,191,254,216,212,117, 83, 55, 28,226,164,174,111,175,111,191,122,254,234,151,127,246, 99, 51,121,242,233,119, -187,237,205,241,227,167, 58,108,205, 13, 24, 17,156,165, 38,145,251, 63, 58, 34,186,170,221,227, 4,202,202,185,184, 80,136,156, - 24,247, 23,120, 26,137,237, 72, 33,236, 93, 89, 99, 22, 22, 70,162,205,216,101, 45, 57, 1, 64, 96,145, 82,109,130,209,215, 72, - 37,168, 58, 82,111, 0, 0, 40,112, 32, 98, 87,115,211, 17,234,108, 6,128, 18, 35,228, 62,196,234,250,234,246,246,250,182,137, -248,224,233,179,243,147,143,195,110, 11, 76,253,110, 35,129, 65,106, 68, 36, 75,253,208, 27, 56,185, 75,219,230,126,115,250,241, -155,195,249,220, 29,222,158,157,157, 94, 92,238,118,187,131,227,199, 63,248,206,247, 97,232, 8,147, 57, 77,150,199, 49, 74,179, - 56, 64, 3, 32,170,154,217,193,131,135,221,102,123,125,113,190, 91, 93,214,211, 35, 51, 37,194,245,245,135,213,221, 77,172,218, -163,227,121, 83, 77,135,212,119,125, 47, 18,250,148,111, 55,219, 23,151, 87, 77,140,235,174, 91,247,195,195,249,124, 54,109,231, -179,233,122,189, 97, 97, 50, 99,196,200, 97,218, 76,102,237,100,215,109,182,235,179,227,135, 79, 34, 35, 64, 2, 8,192,225,250, -242, 68, 1, 84,109, 57,155, 76,102,203,205,106,213,101, 99,176,186,153, 32, 16,152, 18, 11,104,119,112,116,204,168,169,207,196, -177,106,234,180, 93,153, 25, 18, 87,205,124,189,221,138,219,208,173,167,179,165,235,208,119,219,166,158, 24, 0,133, 38, 15,131, -171, 34, 98,140, 85,113,160,107, 78,139,249,236,209,227, 39, 93,242,205,110,123,122,249,209,220, 31, 30, 62,248,236,217,119,235, - 24, 83,191, 33, 22, 98,174,234, 86,200,242,176,155,207, 15,205,211,213,233,199,233,242, 1, 11, 9,203,100, 50, 81,240,122,182, - 68, 14,169,223, 52,211, 67,145,216, 13, 3, 90, 94, 44,167, 95,124,249,195, 39, 79, 63,105, 39, 45, 16,174,175,111,206, 79,222, -190,127,243,234,213,155, 55,223,190,121,245,226,245,155,247,167,167, 87, 55,119,159,127,250,249, 95,252,242,159,253,201,207,255, -220, 52, 93,126,248,246,233, 81,251,189, 71,211,138,236,253,235,215,175,190,121, 30, 39,205, 39,223,253,228,221,249,229, 98, 49, -173, 23,211,183,239, 79, 96,179, 91,214, 97,218, 54,117,140, 18,197,193,170, 88,199,192, 41,185,170,145,140,216,118,131, 34,255, - 36, 65, 38, 44,145,118, 36, 42,119,122, 50, 28, 63,168,128,144, 7, 3, 66, 22, 86,115, 70,170,107,113,245,148, 18, 34, 6, 97, - 0, 27,204,136,152, 1, 72, 72,213,202, 75,108, 74,153, 2,183,117,139, 76,204, 92,133, 90,205,134,161, 7, 48, 66, 82,211, 18, -193,184, 71,216, 6,230,192,130,196, 41,171, 35, 70, 33, 38, 26,114,169, 19, 58, 32, 48,146, 58, 26, 16, 19, 11,145,238,187,129, - 33, 68, 22,138,228, 34, 1, 88, 0, 81,152, 17,209, 0,179,246, 0,206, 68, 8,100,197, 97,175,182,235,187,108,218,132,170,138, -181, 19, 17, 83,164,178,210,132,210, 19,117,247,193,156, 1, 88, 68,193,155, 42, 58,128, 90, 46, 50,234, 98, 84,102, 32, 53, 71, - 43,148, 3,231,146,209,116, 55, 4, 38,102,194,170,138,229,111,187,170,157,221,172, 64,243,225,114, 25, 42,145, 32, 37,235, 29, -152, 17, 73,221, 17, 85,136, 41,132, 49,134, 87, 8,132, 56,162,150,179,186,217,136,184, 76, 57, 89, 82, 4,207,170,252,215,255, -226,175,240,126,147, 58,254,168,246,179, 10, 47, 66, 40, 35, 68,183, 34, 28,221,223, 66,177,140,154,138,224,169, 96, 23,198, 41, -119,121, 27, 64, 42,207,121, 64,112, 55,171, 99,184,188, 91, 31, 30, 44,193,108,132, 30,151,121,178, 4, 0,195,189,203,124,124, - 73, 26,175,245,123,248,121,129,247, 96, 49,132, 56, 49,141,192, 96,146, 98, 80, 50, 55, 0,115,244,145,248,179,231, 35,224,200, - 87,128,255,252,120,101, 34,102,218,203, 67, 70,217,202,152, 31,247,123, 40, 36, 32,226, 98, 49,127,251,246,221,102,151,234,166, -153,205, 22, 36, 60,109,171,111, 95,190,221,116,221, 31,124,249,244,234,118,117,248,224,225,203,223,253,221,237,237, 93, 12, 33, - 86, 77, 85, 85, 99, 99, 96, 28,109,241,254,203, 24,185,239,123,220,111, 9,174,250,189,129,182, 76, 97,246, 24, 6, 7, 40,143, - 52, 40, 67,202,189, 55,145, 0,156,144,178,233,248,164,114,119,213,113,196, 4, 5, 71, 44, 80, 54,199,128,136,228,142,205,108, -129, 4, 28, 24,172,180, 81,106, 98,166, 40,224,102,106, 84,197,179,247,167, 55, 23,167,143, 63,255,242,240,104,241,246,197, 55, -102,142, 24,136, 2, 50,166,237,157,176,116,125,202,238,147,233,212,128, 67, 85,107, 63,156,159,126,253,224,224,168, 79,195,155, -147, 15, 23,151,183,219,190,251,206,103,223,123,116,120, 4,158, 98, 61, 5,183,170,105,219,233,220, 12, 8,105,189,186,155,212, - 49,198,184,190, 91, 27, 65, 85,207,171,186,234,215,183, 64, 2,110,171,187,107,215,158, 45,137,136,230, 30, 12, 84,251, 58,214, -231, 55,183, 31,111,110, 99, 8, 67, 26, 86,187,206, 28, 22, 77, 67,232,204,236,106,102,185, 64, 89, 99,172,146, 14, 72, 50,157, - 46, 93, 7,115,234,115,182, 97, 75, 14,219,108, 57,231,110,123, 55,157, 29,116,219,187,203,147,215,199,143, 62, 25, 20,118,219, -205,144,135,221,234, 22, 67,157,182,215,211, 73, 43, 18,171,102,154,134,222,115,202, 57, 97, 8,145,171,224, 3,144,232,230,182, -235,215, 77,156, 24, 64, 21, 42,205, 3,120,202,105, 48,184, 71,168,142,233,216,190,235,143,143,142, 85,211,201,233,199,179,203, -243, 39, 15, 63,249,242,241, 35, 83, 36,130,197,242,176,236, 75,178, 38,137,177,235,187, 40,113,117,117,162,142, 28,171,186, 93, - 28, 45,143,154,201,140, 37, 84,245,132, 8,135,221,102, 58, 63,220,237,182, 49,192, 39, 79,159, 62,253,226,243,167,159,127,177, - 88, 46,136,176,239,118, 55,103,167, 31, 63,190,124,245,234,197,139, 55,111,158,191,125,251,238,227,201,233,229,101,211, 46,126, -254,199, 63,255,229, 47,255,194,186,205,118,115, 61,107,195,247,159, 46, 63, 57,170,110, 47,206, 95, 60,255,230,221,219,247,135, -143, 30,200,172,122,241,246,228,250,250,166, 75,233,255,253,143, 95,181,128,199,139,121,185, 56,147,176,136, 4, 9,238,150, 28, -152, 40,198, 88,208, 32,128,140, 68, 18, 2, 99,240,241, 98, 49,210,172,156, 72, 93,105, 60, 8,208,212, 75, 25,221,178, 85,194, - 33, 80,202,170,230, 69,135,170, 6,227,210,110, 63, 61,117, 0,205,153,144,129, 32,105, 70,192,226, 80, 27, 73,217,238,130,148, - 53, 83,201, 12, 2, 32, 64,118,207,170,129,217,202, 59, 43, 67, 8,146,239,239, 79, 8, 68, 20,152,145,136,139,183, 20, 81, 77, -109, 20, 42, 1, 19,212, 85, 85,104,145, 33, 10,222,147,174,144, 0, 48,136,236, 99,131,132, 68,234,168,154, 43, 98, 38,169, 98, - 85, 87, 53, 34, 38, 29,157, 10,149,136,150,219,228,190, 12, 90, 7, 41, 1,237, 50,240, 41, 55,223,177,186,104,102, 37, 75, 1, - 44, 68,169,196,138, 0,138,254, 21,247,133,210,219, 46,245,155,221,241,114, 30, 37, 34,115,217,101, 10, 23,170, 64, 65,251,114, - 54, 37,116, 33, 6,135,178,113, 69,148,108, 57,171,129, 41,130, 7,102, 7,247,236,217, 70,244,174, 20,172,126,153,101, 56,148, - 50, 17, 22,138, 11, 32,154,106, 73,168,143, 50,220,226, 38, 33,134,130, 24,199, 82,252, 45,214,108, 48, 4,244,209,190,173,217, - 36,148,107, 39, 56,184, 48, 5,240, 97,200, 65,112,108,245,208,152,122,220,251,181,131, 83, 46, 49, 72, 98, 34,100,240, 12,128, - 72,209, 45,151, 29, 62,252, 30, 74,227,128, 72,158,198,111,175,129,129,209,216, 85,200,128,251,248,225,200,231, 2,118, 4, 34, - 87, 32, 30,171,183, 72,227,230,220, 29, 56,160,235,200,242, 45,128,175,125,250, 7,255,228, 39, 63,248, 95,255,205,223,206,166, -147,217,124, 81, 85,213,131, 7,143,126,242,131,239,254,251,255,248,187,239,125,254,201, 98, 62,149,120,180, 60, 56,110,166, 7, - 96,125,183, 93,199, 16,144, 1, 89, 10, 31,127,100, 31,239,255, 65, 32, 71, 67,211,114,252,155, 27, 1, 56,146,103,245,189, 41, - 11, 65,129,198,225,220,248, 14, 68,163, 53,214,209, 16, 11, 78,136, 16,201, 77,157,120,124, 38,151, 14, 24, 21,111,148,140,111, - 87, 68,238,136, 28, 16,140, 81, 48,208,158,182, 3,160, 35, 28,199, 1,250,126,144,170, 70,203,150,147, 84,211,108,131, 75, 64, - 55,161,137,199,206, 0, 84,135,102, 50, 75, 67,230,186,133,156,239,110,207, 8,200,193,134,174,239,118,131,186, 1,203,241,193, -131, 24, 34,104,101,121, 72, 57, 69, 96,215, 60,236, 86,210,204,183,219, 93,253,217, 60,155,165,220,161, 3,115,180,220, 73,172, -183,235, 85,183,221, 78, 39,243,213,237, 37, 66,149, 82, 87,133, 26,155, 44, 60,185,219,110, 46,214,171, 24, 99,215,237,234, 88, - 85, 49,158,175,183,191,121,255,225, 39,242,217, 52,106, 51,169, 25,133,136,173,108, 59, 28,145, 41, 84, 19,239, 87, 9, 58, 71, - 89,111,187,192,146,179,166,126,215,111,174,211,110,215,167,158, 98,187,187, 62, 23,169,234,217,252,118,117, 59,244, 55,146,166, -152,181,219,109,155,201, 18,192, 2,161,185,138,196,233,100,142,238,105,219, 53,117,211,175,184,170,231, 28,216,147,154,169, 83, - 76, 93, 63, 12,155,102,113,228,160, 68, 21, 48,231, 60,244,119, 87, 18,226,219,147,183, 8, 72, 34,143, 14,142,107,241,215, 47, -127, 23, 15, 62,205,187,174,173, 99,223,247, 57,231,205,237,105,221,206,186,205,102,246,228,139,156, 82, 2,158, 47, 30,144,224, -102,183,157, 49,162,199,174,187, 11,213,108, 58,155,109,118,187,249,114,241,228,147, 39,135,199,143,155,105, 91,213, 85,206,233, -238,242,242,246,234,236,227,199, 15, 31,206, 78,223,159,156,158, 95, 93, 95, 92, 93, 7,145,159,254,232, 31,252,225, 15,255,240, -248,193,163, 97,232,171, 42,252,228, 59, 15,231,147,184,219,172,126,247,235,111,207, 79,207,143,143, 15,226,114,126,114,117,117, -246,187, 27,142,116,113,118,181,186,188,125, 60,153,182, 85, 44, 54,212, 32, 17,129, 96, 20,228, 65, 0, 42,121,152, 97, 72,132, - 16,152,178,187,185, 17,114,182, 68,232,112,207,219,118,173, 88,134,172,163,141,205,140,160,160,100,196, 0,250, 93, 14,145, 69, - 0, 28, 82,214,209,226,137,134,232, 76,148,212, 8,177,137, 1,152,187, 93, 26, 63,255,134,125,215, 73, 16, 50, 48,243, 97, 72, - 4, 0, 76, 14,150,179,138,112,195, 49, 83,206,232, 8, 32,196, 14,168,238,224, 94,104,169,165, 53, 57,152, 11,177, 16, 13,160, - 57, 89, 16,102, 34, 7, 8, 76, 37,252,147,213,154,186,174,154, 70,179,101, 48, 80,141, 78, 61, 0, 58, 16,129,129, 27, 1, 58, - 78,234, 32,132, 41,107, 29, 67, 12,161, 12,165,195,168,200,246, 62, 37, 34, 2,183,146, 73, 65,199,156,141, 3,147,131, 25, 18, -129,250,152,136, 83,119, 17, 26, 15, 75, 70, 43, 3, 9, 5, 4, 53,231,128,104,106, 34, 97, 51,164,245,106,125,180,156, 55, 77, - 3,192,138, 70, 96, 40, 84,232, 47, 99, 83, 19,176, 14, 17, 16, 85,205, 65, 27,174, 18,104,202,169,140,199,220, 93, 53,185,187, -154, 3, 58, 19, 6,129, 65,139,235,138, 70,115, 19,162,152, 91,137, 96, 59,104, 33, 68,152,161,151, 19,115,159,113, 47,135, 35, - 90, 49, 37, 57, 2, 1,255,254, 57,171,106, 5,126,175,230, 2,160, 37,211, 45, 82, 7,223,245, 93,144,118,212,162,250,239, 57, -136, 48,218, 48,200,192,205,148,137, 75,253,117,204,252, 23, 11, 17, 8,130,238, 69,166, 37, 23,227,132,232, 90, 86, 41,224,186, - 15,114, 34, 48,129,105,233, 50, 16, 21,177, 8,128, 7,100, 97,203, 90,176,100,238, 10,194,160, 5, 79,227, 54, 66,119, 96, 12, -174,104, 78,217, 31, 63,124,242,229,103,167,175,223,157, 78,231,203,199, 79, 62, 9, 77,252,244,233, 39,215, 55,119,255,230,255, -254,251,127,253, 79,255,209,201,235,231,103, 39, 31,230,203,254,217,151, 95,158,188,125, 61, 12,179,170,145,194,243, 28,195, 67, - 8,238, 58,230,247,115, 66, 66, 96,178, 62,151, 1,184,153,187,237,223, 43, 75,186, 31,145, 73,124,223,244, 27, 17, 57, 12,224, - 96,106,136, 78, 92, 84,175,163,111, 27,220, 29, 84, 36,142, 73,248,130,154, 4, 29,223, 97,176,144,158,193,164,252, 29, 96, 24, -193,153,232, 41,133,233,212,250,164, 41,143, 16,110,145,156, 6,205,157,107,118, 51,138,220, 13,125,182,220,180, 11, 70,204, 57, -233,221,201,224,113,183, 89,205,154,214,145, 55, 67, 63,148,196,130,250,131,137,208, 40,116,113,138,109, 51, 95, 18, 83, 69,144, -186,221,195,163,229,242,112,121,113,122,182,186,185,154,204,231,185,219,176, 52,204,113,210, 78,230,179,233,199, 87, 95, 1,241, -228,240,225,110,117,177,238,110, 69,164,101,188,217,172,110,182, 91, 38,154, 78,166,151, 55,215, 77, 93,153,250,215,239, 62, 48, -243,207,190,243,172, 69, 97, 52, 53,159, 52, 77,221, 84,144,116,151, 50, 0, 12,102,145,132, 98, 12, 18,178,165, 88, 69,178, 76, -177, 30, 82,183,222,238,152,105,219,117,135, 7, 19, 14,146,163, 66,208,139,128, 0, 0, 32, 0, 73, 68, 65, 84, 92,245,185, 78, - 59, 52, 5,131,221,234,186,158,204,251,212, 3,113, 45,188,189, 61, 3,105, 61, 27,162,186,233,124,118,148,114, 55,244,155,172, - 30, 99, 59,157,207,132,142,145,195,144,134,172, 3,246,202,129, 87,185, 91,223,222, 60,125,242,236,225,193,193,186, 31,220, 13, -176,218, 14,137, 85,251,148,114,218,101,243, 71, 79, 62,245,212,113,172,234,102, 89,199,138, 14, 31,244,219, 91,215, 33,155, 24, -122,186,190,146, 80,117,171,179,201,193, 19,239, 55,159,124,247, 7,207,190,252, 97,213, 84, 49, 86,154,211,234,246,250,230,242, -236,226,252,228,253,135, 15,111,222,125, 60,191,185,190,190,185,219,244,221,231, 79, 63,255,241, 23, 95,124,247,187, 63, 86,221, -154,237, 30, 45,103,159, 29, 31, 50,218,221,237,213, 55, 95,253,166,157, 77,143,158, 62,250,240,238,221,193,147,199,121, 5, 87, -215,215,179,170,122, 52,109,166, 77,163, 6,206, 12,128,149,136, 48,247,169, 31, 15,119,230,100, 57, 15,185,112,238,136, 56, 67, -105,206, 91,246, 44,128,238,158,203, 43, 30,146,170,171,167,242,198,108,217,132, 9,204,221,113, 80, 19,182,182,109, 82, 78, 62, - 46, 97,109,252, 43,136, 8, 64, 93,223, 75, 96,119, 87, 64,200, 57,196,178, 85,130, 97,216, 33,196,174,219,130,131,170,194, 24, -224, 35, 54,144,192, 10,158, 93, 17,209,221,132, 37,155,103,115, 70,171, 99, 76,163, 21,154,220, 60, 34,103, 75, 69, 53, 76, 97, - 44,147, 74,140,253,144,192,148,153,171, 42,150, 70,120, 61,109, 25,100,215,237,134,161, 83,179,200, 1,203,229, 8, 77,205,213, -189,169,171, 9,177,187, 5, 10, 10, 70,224,204,188, 27, 58, 33, 10, 72,125,210, 42,112, 54,119,247,209,165,138,100,228, 90, 98, -245, 76, 57,187, 42, 8,221, 95, 77, 81, 29, 3, 67,100, 73,140, 0,174, 57,169, 58, 51,239, 44, 95,173,110,231,109, 61,155, 47, - 52,247,128, 74,136,238,164,201, 42,102, 4, 80,128,128,132, 76,106,106,150, 9,137, 36,118, 57,185, 25, 33, 76, 42,222,118, 62, -120, 2, 70,102, 73, 58,140, 67, 21, 48, 85,227,191,249,171,127, 10,132, 88, 46,131, 14, 37,202, 2, 4,123, 52,185,187, 57,149, -152, 34,151,179,143,137,246, 95,114, 81, 45, 49,114, 1,203,140,171,130,145,182, 76, 4, 86, 82,234,232,196, 12,121, 88,247, 54, -107, 27,216,155,186, 73,246, 64,131,177,192,227, 69,144, 13, 99,141,184,128,182,246, 90, 21, 51, 44,221, 4,252, 61,101,126, 4, - 14,140,138,110, 40,239,239,132, 88, 94, 68,202,108,100,252,101,101,138, 65,227,107, 6, 16, 56, 20, 34,205, 61,109, 14, 17, 65, -132,238, 79,121,119, 52,240,167, 15,151,223,190,122,147,210, 48,157,206, 38,147, 69, 51,105,217,244,197,155,247,243, 89,123,124, -184,252,228, 59, 63,172, 2, 13,131,137, 64, 30,114,140,209, 53,151, 37,193,248,240,227,145,159, 51,102,120, 96,255, 36,115,221, -175,153,201, 85, 71,114, 77, 16, 55, 71, 36, 14, 97,220,133, 48, 33, 50, 20, 40, 13,141,192, 5, 4, 64,164, 82,121,229,241, 22, -127,207,141,252,125,170, 65, 51,214, 85, 4,150,210, 8,227, 58,122,182,130,191, 65, 0, 10,162,154,175, 46,111,187, 33, 79, 39, -211,131, 71, 71,239, 94,191, 35,105, 76, 21, 65, 81,234,213,245, 41,113,104,218,182,219,221, 73,140,110,166, 78,155,187,211, 73, - 35,194,116,126,121,125,122,113,121,189,190,107, 38,179,127,252, 95,254,147,213,234, 70,152,221,210,226,248, 33, 14, 29,114, 19, - 39,179,201,124, 81,214,179,183,151,103, 0, 52, 93, 30, 64,218,173,238,238,186,110,235,121, 7,110,196, 33,245, 93,197,232, 57, -197, 24,251,126,183,217,236,158,127, 56,253,230,253, 73, 54,173, 66, 21,165,206, 90, 4,132,252,225,234, 10, 28,166,109,235,234, -211, 73,219,165,132, 37, 69,132,156,211,182,110,230,234,158,114, 74,221,106,189,237,189, 84,254, 98,181,217,174,204, 93, 77,147, - 51, 35,130,246,185, 91,109, 7,173,219, 89,191,187,227,170,101,242, 40, 81,251, 13,114, 85,181, 97, 24,122, 55, 4, 75,132,184, -219,221,177,136,187,182,237, 98,125,115, 90,215,211,105, 59, 97, 68, 17, 4, 55, 85,184,184, 58, 89,173,239,212,168,110,231, 13, -179, 73,180,212, 55,205, 68,152,155,197, 3, 29, 54,150, 19, 73,152,206,150,110,249,238,246,250,193,163,167,199, 15,159, 76,102, - 83,194, 0,150,186,212, 81,168, 43,225,205,221,117, 53, 91, 54,179,229,226,224,224, 15,254,228, 23,159,126,239,251,237,108, 74, -196,219,205,221,229,213,201,201,219, 55,175, 94,189,124,249,230,245,243,183, 31,222,159,157,223,173,215,243,233,226,151,191,248, -243,191,252,239,254,251,118,118, 52, 88,255,232,225,195,207,143,234,103,199,237,230,238,250,237,203, 23,223,124,253,237,147,207, - 62,141,203,217,191,251,219,191,127,240,224,248,242,230,246, 55,191,254,246, 97,219, 28,207, 39,128, 92, 0,233, 85,164,166,170, - 9, 41,171, 39,245,146, 64, 40,141,121,205, 9,108,140, 23, 19, 1, 3,101,205,229,205, 61,153, 17,161, 48, 35,160,170, 5, 97, - 34, 30,205,206,140,165,159,195,204, 49,114,206,154,109,196,148, 11,163, 90,185,145, 1, 5,140, 65, 76, 97,124,153, 46,200, 71, - 26, 89, 52,238,168, 57,131, 89, 54, 13,136,204,236, 0, 81,162,237, 9, 35,184, 7, 88,149, 5, 85,225,240,148,200,130,136,140, - 51, 37, 0,117,199, 66, 64, 33, 22, 33, 53,199,189,140, 65,205, 99, 8,109, 59,169,155,118,159, 83, 48,116, 48,183, 40, 34,145, -213,204, 84, 99, 8, 72,100, 62, 10,252, 16, 33,169,166,108,130,132,196, 57,123, 93, 9,145,152,121,206,206,130, 76,161, 44,117, -131, 80,206, 90, 12, 36, 65, 8,144,205,140, 8, 73, 40, 74, 68, 4,102, 22,137, 52,190, 97, 27, 0,174,187, 4, 41, 47,231,179, -200, 20,235, 10,129,213, 85,208, 89,216, 44, 51,146, 16,141,204, 64, 68, 33,206,238, 57,165,148,115,133,132, 20,179,102, 24, 89, -177,168,106, 66,232, 6, 89,179, 48,187,155, 96, 97,204, 91, 17, 28, 26, 24, 1, 0, 49, 27, 26,186,187, 58, 17,154, 58,162,129, -149,187,182,123,118, 39,196,194, 9, 0,116, 7, 45,110,111, 55, 87, 47,143, 10,194,226, 59, 29, 25,186, 57,217,108, 62,127,255, -234,132, 30, 44,161,228,105,145,144,196,192, 93,129, 4,203, 44, 26,198,217,213, 56, 92, 1, 47,176, 45,190,215, 24,141,139,203, -113,119,234,196,226,234, 8,110,234, 44,156,135, 60, 50,184, 28, 12,139,113,213, 0, 16, 5,193,246,222, 65, 32,115, 43, 41,121, -188, 71,240,222, 27, 51, 20, 74,112,168,228,154, 84,181,138,213,159,254,236,123,255,219,255,249,235,249,116,214, 76, 91,161,112, -252,232,241,179, 39,151,255,199,191,255, 79,223,253,252,211,205,213,201,251, 15,239, 9,163, 68,110,219, 73, 93,215, 18, 35,161, -170, 1,163,192,168,139, 42,182,151, 66,169,115, 34,214,212, 3, 17, 20, 66,129,106,249,246,162,144,233,232,176, 85,205, 56, 86, -125,141,164,180, 75, 96,156,130,129,187,105,201,115, 1,154, 59,149,242,153,155, 35,149,183, 31, 41,105,168, 24, 3,114, 64, 38, - 10,194, 68,150,114,209,160,163,187,199, 74,147,186, 67,238,182, 67,191, 75,121, 32, 3, 2,236,250, 77,136,147,148,125,123,115, - 86,183,139,102,118, 52,116, 27, 68,214,190,231,106,106,253, 46,167, 97,114, 48,203, 41,119,253, 48,100, 27,186,244,228,241, 3, -138,109,104,102,152,186, 56, 59,172,218,101,191,237,168,170,208,108,216,108,218,217,209,250,238, 90, 83,215, 46, 22, 66,212, 35, - 94, 95,157, 46, 14, 30,109,239,174,167,243, 67, 17, 57, 56, 92,244,119, 55, 44, 65,181, 7,105,179,247, 23,171,213,217,205, 77, -219, 86,102, 62,109,218,202,227,174, 31,102, 77,219, 84,213,139,211,139, 42, 86, 63,250,236, 9, 51,207,234,233,114, 57,235,186, -225,230,230,188, 75,105, 24,122, 34, 70,174, 82,159,114, 26, 80, 98,206,195,108,190,128, 28, 52, 89, 74,125,234,214,119, 68, 71, -139,121,172, 39,104, 87,102,105,182, 56,170,163,120,182, 97,232,118,119, 23, 92, 15,136, 11, 38, 26,186, 27, 66,195,208,206,166, - 75,116, 50,244, 73, 83,221,198, 42, 15,119,170, 65, 53,139,230,110,183,187, 94,111,152,165, 14, 50,155, 63,184, 91, 93,223,110, - 86,134, 64,154,114, 26,220,109,182,120,152,211,110,121,248,232,246,246,114,189,186,238,251, 65,194,180, 27,244,228,171,255,103, - 50, 61, 88, 30, 62, 48,183,182,106,154,118,126,115,119, 61, 63, 56,254,209, 31,253,164,157, 31, 30, 30, 31, 87,149,228,156,251, -190, 91, 93, 95, 95,156,189,123,251,238,205,201,217,249,201,217,213,217,213,229,245,221,106,218, 76,126,246, 7,127,252, 71, 63, -254,163,186,153,190,124,249,119,237,244,232, 7, 79, 31, 60,125, 52, 77,221,221, 55, 95,255,250,228,253,201,209,147,199,192,124, -122,113,249,226,221,135, 60,164,175,190,250, 70,204,159, 46,103,117, 8,201, 64,152, 17,169, 10, 76, 84,240, 44, 22, 98,108,155, - 58, 13,189,170,130, 89,233,203, 88, 89,126, 66, 25, 5,148,172,130, 23,149, 0, 33,245, 41, 69, 14,200, 52,104, 14, 36, 34,140, -238,230,206,140, 76, 56, 36, 75, 29, 56, 19, 0,162, 25, 16, 21,145,230,190,236, 8,125,202,132, 24, 98, 25, 49,187, 48, 7, 9, -217,178,153,170,230,162,182, 22,100,226, 17, 90,158,221,145, 75,227, 27,205,202,219,171, 17,137,136,244,125, 18, 66, 36, 84,211, -172,101, 82,237, 5,249, 72, 35, 37, 11, 84, 29,185, 8,244,220, 92,131, 8, 33,246, 93, 55,164, 76, 72,217,243,208,247,224, 78, -232,131,102,200, 8, 8, 18, 99,105, 96,133, 24, 80, 61,129,230,148,128, 32,148,190, 9,141,105,115,119, 43,211,126, 7, 83, 27, - 0, 28, 28,147,105,249, 69,131,165, 98,237, 99, 17,112,103, 14,132, 96,206,224, 70,104, 64,228,110,140,124,215, 15,219,245,230, -209,225,124,210, 54,170, 86,254, 68,117,136, 57,103,116, 39, 14,238,174,166, 76, 65, 4, 93, 45,229,156,179, 18,123,100,114, 33, - 43, 7, 5, 22, 25,108, 16,114, 51, 45,236, 52, 34,128, 1,132, 17,180,204,100,144, 0, 24,198,212,184,141, 64,117,195,123,163, -249, 72, 13,216, 15, 50, 92,141, 36,128, 25, 75, 89, 82,131, 59, 48,161,187,141,123, 78,252,189, 24, 29, 92, 73,234, 38, 98,206, -142,224,229, 5,192,212, 10, 0,216, 11, 91,216,141,202,137,168, 99,135,130,192,243, 8, 43,222,235,213,105, 31,153,119,115, 47, -105, 66, 36, 36,169, 10,172,107, 0, 35, 3,115, 0,166,178,142, 69, 83, 79,128,110,121, 76, 3, 16,168, 59,237, 17,105,165, 64, - 33,132, 99, 96,126, 4,234, 0,122, 80, 55, 6, 28, 82,254,252,201,167,143,143,222,191,120,243,110,121,116,112,112,248,100,113, -120,244,253, 31,124,239,236,226,234,127,254, 95,254,237,191,250,111,127,254,233,103,223,173,106,185,190, 89, 63,125,246,236,250, -244,148,152,156, 8, 24,116, 84, 5,224,158, 51,195, 68, 98,101,151, 43, 1, 28,135,180, 99, 64,160, 64,129, 77, 13,205,145,193, - 82,146, 80,141, 0, 36, 68, 66, 44,100,158,251,244,234,125,231,110,116,137, 35,104,202, 40, 76, 36,251, 98, 7, 33,147, 13, 25, - 34, 99, 96,100,209,190,119,166,125,243, 2,185,146,180,235, 1,145, 67,133, 68,136, 81, 68,192,149, 72, 16,197, 53,107,182, 12, -113, 50,171,119,119,167,195, 96,177,169,192,128,153, 55,171, 43, 25,159,156,150,210,224, 4, 89,117,214,212,253,118, 35, 28,116, - 24,170,229, 19,119, 55, 52,221, 93, 3,122,159,105,105, 25,184,230, 56,113,211,221,230,206,186,141,232,182,173,167, 94, 9,153, - 26, 36,208,184, 53,239,251,126,219,247,174,118,183,190,185, 94,109,213,245,110,179, 11, 18, 66,144, 71,143, 30,217,135,147,171, -171,179,131,217, 28,145,254,238,213,171, 24,165,105, 38, 19, 35,242,165,132, 48, 40, 84,245,146, 64,123, 85, 1, 75,128,109, 51, - 49,247,108,182,233,118,100, 90,213, 45,185, 33, 2,161,119,253,110,209, 54,211,195,199,125,175,253,250,210,114, 94,206, 38, 67, - 31,182,134,112,123, 38,213,212,188, 35,169, 45,173,174,111, 94,198,246,160,169, 39,205,100, 78,228,211,201,228,230,230,170, 31, -250, 16,229,122,221,221,173, 55, 77,213, 78,154,137,166, 45,154, 91, 78,234, 74, 48,165,170,118, 87,142,209, 44,167,100,253,118, -117,125,246,254,240,248,243,229,193,113, 73, 23,214,237,228,102,181,238,178, 79,231,243,221,135,231,186,187,251,201,159,253,215, -207,190,255,227, 80, 73, 16, 1,135, 52,244,235,213,205,245,233,135,183,111, 94,189,253,240,241,227,217,249,217,229,213,213,106, -213,117,253,247,190,248,226,127,248, 23,255,211,197,199,183,125,191,147,118,249,228,193,147, 31,125,126, 52,109,240,226,252,205, -155,111, 95, 78,151, 11,105,155,179,203,179, 39, 95, 60,186,222,236, 78, 79, 47, 23,117, 56,168, 98, 29, 43, 66, 40,165,193,192, - 92, 69,201,102,217,157, 8,235,186, 42,167, 79, 95, 66,236,197,178, 73, 88,110, 18,230,198, 20,220,115,185,220,171,154, 16, 15, -154, 43, 9,201,114,133, 21, 98, 64,180,126, 72,217,124, 86, 87,253,208, 51, 99, 36,114,115, 83, 99, 71, 22,234,146, 2,227,164, -170, 77,181,207, 9, 16,145, 69,246,195,130, 58,136, 35, 15,253, 64, 76,234, 46, 76,238,230,232,117, 19, 7,117,112, 11,132, 74, - 24, 72,178, 90,118, 64,242, 72, 85,136, 65,115, 6,112,114, 20,146, 62,167,148,141, 9, 8, 37, 91, 34,112, 9, 81, 53, 17,178, - 48,198, 80, 37, 85,115, 16, 34,145,232,142, 93,223, 71,213, 16,121,219, 23, 98, 78, 86,183, 97, 72,194,194, 33,224,136, 66, 1, - 66, 32,211,205, 48, 8, 49, 35, 59, 24, 18, 50,177,101, 15,145, 25,209,144,220,220, 5,192, 72,199,188,181, 23,172, 14,131,199, - 32,136,129,220,202,236, 55, 18, 15,230,110, 9,203, 23, 73, 18, 67,236,212,110, 47,175,159, 28,206,167,147, 5,170,151, 52,167, -186,147,107,140,156,179, 41,128,153, 87,194, 56,194,241,157, 80,155, 90,118,253, 48,244, 67,219, 86, 65, 88, 51, 1, 6,243,174, - 12,217, 42,145,242, 72,203,217, 1,153,255,250, 95,252, 85,129, 18,220,199, 34,247,175,251,232, 54,140, 42, 59,192, 61,146,191, - 92,189,209,221,153,208,204, 28, 92,152,169,244, 63, 97,236,153,238,201, 94, 99, 43,108,188, 38, 51,166,221, 26,171, 54,148, 71, -122,233,113, 21, 40, 17,148,197, 67, 1, 80,142, 24, 73, 3, 5, 64,115,231, 81, 65,228,224, 99,181,149, 92,221, 21,192, 16,101, - 28,224, 23,110, 3,142,104, 93,223,227,140, 75,108, 28, 76, 29,204, 61,153,230,130,209,216,255,102, 99, 96, 6,121,156,154,141, -227, 31, 2, 70, 46,133, 37, 0, 32,161,199,199,179, 95,255,238,133, 57, 28, 30, 29,198, 80,185, 89, 19,229,239,126,243, 77, 59, -109, 14,151,211,217,241,147,155,211,247,103, 39, 31,251,110,215, 78,102,197, 39,201,132, 44,161,244,185, 75,172,197, 52,131, 91, -193,253,154,149,144,108,145, 52,101, 55, 71,102, 4,160, 66,133,116, 7, 30,191,207,197,102,139, 72,110,174, 41, 49, 33,241, 56, - 76, 47,175, 32,154, 51,184,150, 47,189,164, 32,202,103,180,110, 23,177,106, 76,149, 24,137, 3,197, 96, 89,209,204,189, 4, 73, -145, 88, 94,252,230,171,190,239,151,243,201,242,201,227,183, 47,158, 35,197,156, 54, 93, 63, 8,123,211,206,182,155, 77, 59, 93, - 16, 49, 5,209,156,114,206, 54, 92,205,167,179,237,110,119,117,115,115,122,113,121,187,217,254,193,151, 63,126,244,232, 19,212, -206,242, 0, 28,134,126, 93, 71,105,219, 86, 51, 85,243,227,136,233,252,195, 55, 92, 77,153,201,140, 82,191,233,251,237,100,126, - 96, 57, 77, 23, 75,118,212,221,238,228,252,125, 86,100, 8,169, 31,222,157,159,191,185,184,238,135,220,165, 62,144,148, 0, 66, -136,114,187,222,172, 54,235, 7, 71,135,219, 93,255,238,226,108,209, 78,134,180, 5, 0, 22, 73, 41,213, 33, 58,184,154,238,182, -119, 85, 61,233,119,235,174, 91, 35, 32, 75,165,218, 5,137, 93,218, 73,136,221,238, 78, 88,218,118,114,113,246,209,193,170,122, -210, 15,121, 24,118,109,211,184, 99, 54,182,220, 25, 88,219, 46,152,164,235, 86, 77, 53, 65, 16, 3, 35, 4, 71, 28,134, 33,231, -225,244,246,214,129, 31, 31, 62, 56, 88, 30, 1,178, 27,152,166,131,197, 82,234,246, 96,126, 80, 5,217,179,178,243,102,183,173, -218,217,164,138,147,195,135,105, 72,253,234, 60,198,106,182, 56,158,206, 14,115,191,233,251,190, 31,250,159,254, 87,191,252,242, -143,127, 94, 87, 33, 4, 65,132,205,102,115,115,121,246,246,197,215, 95,127,253,187,231,175,223,188,254,240,241,205,201,249,205, -106, 85,199,240,203,159,255,249, 47,126,242, 39,159, 60,123,134, 49,180, 77,251,229,147,233,247, 63,153,107,218,189,125,249,234, -221,203, 55,143,191,251, 25,180,245,111,127,251,245,211, 79,159,188,120,119,250,235,191,253,221,163,182, 94, 78,218, 42, 10,148, - 28, 50, 81, 45, 17, 9,134,114,191, 35,169,171,202,193, 85,147,154, 10, 11,148, 98, 28, 22,181, 36, 10, 83, 32, 41,241,143, 18, - 61,224,200,150, 13, 8, 16, 41, 16, 59,104,182,188,235,123, 4, 12, 76,217,148,144,186,172,110, 90, 96, 89,106, 54,152, 71,230, -192,216,167,156,114, 46,114,248, 40,228,136,102,214,198,160,102, 73,115,121,103, 29, 69,213,128, 85, 12, 93,159,205,146,170, 22, -239, 6, 0, 57,154, 16, 71, 97, 98, 26,114,206, 41,155,123, 19,162,186,186, 91,129, 22,128,155, 0, 5,150,236,230, 0, 33,176, - 58,170, 59, 33, 86, 66,196,156, 82, 50,183, 32,146, 52,119,125, 34,129,156,117,215,117,170,218, 54,117,206,217, 53, 49, 18, 33, - 69, 33, 53,239,213,152, 8, 16,202,216,185,220,210,132, 89,136,179, 89, 25,149, 18, 22, 95, 6, 18, 17, 17,103, 83, 55,207, 14, - 81, 36,198,160,110, 0, 42, 28,144, 73,152, 13, 72,205,170, 82, 72, 33, 62,185,185, 99,203,203,217, 12,204, 32, 8,122,209,207, - 17, 9,151,222, 30,185, 9, 35,161,184,155,130, 7, 70,145,106, 59, 12, 58,244,145, 37,151,215,122, 98,183,220,167, 4,132, 21, - 83,118, 2,176,146,222, 51, 4,254,235, 95,253,243, 2, 12,178,189,105,110,223, 23, 29,231,218, 60, 74, 55, 70, 36, 1,236, 59, - 14,247,160,177,177,177, 92,238, 39,232, 68, 92,216,149, 99,184,124,212, 60, 1, 2,122, 26,182,131, 78,154,186,168, 23, 1, 20, - 73, 70, 37,147,141, 77, 56,119, 48,176, 82,199, 42, 35, 10, 26, 73, 6,123,176,145,187,105, 26, 47,180, 35, 78,158,240,254, 37, - 99,223, 12, 66, 4, 34,161,189, 90, 22, 74, 2, 21,201, 65, 75,232,138,198, 0,252,184,122,184,207, 69,238,255,251,242, 36, 43, - 47, 20, 54,155,205,216,243,183,175, 62, 28, 44, 23, 7, 7, 7, 33, 4, 83,157,212,241, 63,254,167,175,191,243,236,193,124,182, -168, 39,211,155,171,219, 47,190,243,221,237,221, 13, 49, 9,145, 57,236,227, 46,163, 67,170,188,148,236,105, 16, 12,142,158, 77, -193,133,100, 52,194,178, 0, 24,236,135,141, 62,110,111,138, 95, 16, 0,139,113, 23,239,159,153,238,174, 57,237, 86,151, 57, 15, - 44, 21, 7, 25, 25, 79, 76, 14, 20,234, 22, 1, 89,194,168, 98, 5, 7,207, 20,196,251,158,136, 37,132,161,239,222,191,249, 96, - 92, 29, 28, 29, 29, 60, 60,252,248,230,125,223,247, 20, 91,192,200,168,183,103,111,128,235, 24, 69,164,114, 34, 4,200,125,175, -253, 77,136,213,102,187,253,112,118,254,241,252,114, 72,249, 79,255,244, 31, 47, 39,113, 72, 67,153,197, 85, 85, 92, 28, 60,224, -230, 96,117,115,190, 60,126, 84,181,245,249,233, 9, 34,166,237, 93, 74,125, 30,186,201,236,209,176, 93, 15,253,206, 53, 15,221, -250,226,228,165, 26, 70, 9,221,110, 85,183,245,203,119, 31,159,159,158,246,185,215,148,135,156,133, 57,165,161, 79,125, 19,235, -110,232, 17,160,169, 99, 82,187,184, 93, 45,167,203,229, 98,190, 91, 93,214,205,100, 72,249,238,238, 44, 48, 3,137,129,212,117, -221,111, 55, 18,171,166,158,152, 27, 19,109, 54,235,108, 46,177, 65,183,171,219,219, 12, 30,171, 26,192, 93,251, 32, 21,154,174, -239,110,154,118,174,195, 22, 60,115,168,116,216,180,211, 67,137,147, 97,216,170, 38, 0, 24, 82, 94,109,119,131,218,162, 93,212, - 34,117,211,244,187,213,250,238,170,105, 91,145,112,176, 92,244,221,110,215,245,179,233, 36, 15,195,144,146,170, 13, 41, 87,245, - 20, 72,204,114,223,247, 40,245,108, 50, 3,160,213,110,163,230, 77,172,126,240,211, 63,250,226,251, 63, 18, 22, 32,239,119,187, -221,122,115,254,241,253,183, 95,127,245,252,197,139, 87,239, 63,188,254,120,250,225,236, 28,221,127,240,236,211,127,252,243, 63, -251,252,201, 83,103,140, 85,117, 56,159,124,241,112,218,242,112,241,241,227,187, 87, 47,135,148,214,219, 93,103,250,242,219, 23, -183,119,235,215,175, 62,110, 46,111, 30, 78,154,182,169, 80, 8,172, 80, 4, 9, 9, 12, 44,171, 35, 82, 21, 42, 10, 98,154, 83, - 74, 35, 34,144,152, 89,136, 66,249,192, 23,175,145,129,187, 89,209, 28,149, 17,171, 48,152, 90, 45, 92,138,148,110,229, 87,162, -186, 49, 33,145, 48, 2,128,152,233,160,234, 0,194,224,133,223, 91,206,128,209,165,201, 81, 66, 29, 36,101, 5, 55, 52,100,102, - 3, 18, 98,199, 18,197,182, 33, 15,227,145, 10,168,102,102, 57,134, 80,254, 78,149,134,160, 48, 27,162,165,236, 96,229,212, 40, - 30, 4, 97, 50,244,113, 43,133, 52,118,220,203,225, 86, 44, 58, 68,132, 66,136,149, 4, 5,200,230,140,192, 8, 41,167,156, 19, - 0, 85, 65,152, 73, 1,209, 65, 8, 28, 89,136, 74,103, 86, 88, 16,128,137,108,140,218,219, 40, 90, 64,148, 80,194,254,131, 38, - 45,255,211, 66,199, 18, 98, 36, 49, 47,191, 18, 10,137,158, 16,131,200, 77,151,118,219,213,225,124, 30, 75, 55,106,156, 64, 35, - 34,106, 6, 98,144,192,200,236,230, 10,134, 72,194, 84,184,235,232, 94,198,107, 64, 20, 3,151,165,183, 16,133, 32, 10, 8,102, - 4,174, 89,213, 45,231, 44, 40, 1, 93, 11,189,196,247,164,147,251,209,138, 23,102, 26,209, 72,176, 28,235,152,182,143,105, 23, -242, 56,248,126,156,130, 37,238,200,228, 14,251, 32,149,237, 71, 30, 80, 55,205,197,249, 10, 15,102,100, 96, 94,232,230, 25, 28, - 44, 57,162, 33,147,141,231,214, 8,138, 3, 40, 82,139,113, 66,131,192, 37, 3,238, 18,213,148,241, 30, 92,199,128,186, 39,147, -177,147,238, 49,153, 86, 18,174,102,128,196, 44,204,136, 89,139,191,207,113,172,146, 22,143,248,253,100,198,144,144,152,205,188, -100, 43, 17, 16, 49, 12, 74, 63,250,209,247,190,121,249,225,221,187,119,135, 71, 15, 38,147,249,226,248, 72, 85,207, 46,175,255, -237,191,255,245,163,199, 79, 82, 63,236, 54,183, 92,215, 10,105,232,119,128, 88, 2,181,166, 5,118, 77,229, 13,198, 13, 76, 93, - 34,151,146, 19, 48,146,123, 78, 61,138, 16,130,165, 68, 60,254,145,202,232, 9, 17,193,117,127, 65,128,145,125,140,232,166, 36, -140, 44,110, 70, 34,224,108,123, 1,226,184, 49,134,226, 83,119,102,215, 33,113,211,186, 38, 44, 22,202,170, 2,137, 14,150,214, -119,182,187, 5,136,174, 10,166,204,194,161,252,124,135, 52,164,164,216,134,170,219,110,154, 89, 32, 7, 53,239,119,183,101,177, - 53,228,126,219,117, 67,202, 85, 8, 7,109,216, 93,190, 85,108,195,100,174,121, 23,227, 2,144, 79, 63,188,237,119,125,218,222, - 52,213,242,203, 63,248,233,199, 55, 47, 79,222,254,174,158, 30,144, 84,136,149,129, 1,122,183,186,232,182, 29,202, 84,208,130, -224,132,105,187, 94,125,184,190,209,236, 66, 65, 68,251, 60,220,174, 86,179,201,164,170, 99, 91,197,249,100,114,183, 94,179, 80, - 96,233,250,225,239, 95,191,172, 3, 30, 78,219,100,151, 18,154,166, 57,170, 68,239,174,175,166, 7,143,234,192,237,100, 34,161, -233, 82,159,250,181, 89,116, 77,187,190, 23,137, 21, 35, 80, 64,199,126,187,201, 0,149,240,174,219, 49, 97,159, 85,250, 93, 12, -177,223,173,153, 47,164,154, 66, 74,193,185,169, 39,169, 95,175, 54,155,235,235,147,200,205,225,100,145, 92,145, 67, 78, 67,172, -230,253,144,186,110, 59,157, 31, 95,223,221, 14,221,122,179, 89, 5, 38, 68,182,156,169,110, 17,112,183,189, 90, 44, 31, 13,253, -182,110,106, 52,179, 97,123,244,228,179, 93,191,107, 22,139,103,159, 61,123,240,244,177, 83,216,238,182, 58,116,155,187,245,229, -213,199, 15,239,222,191,251,240,225,205,201,233,217,197,205,106,187,249,242,217,231, 63,253,242,139,131,249,193,106,155,110,119, -221,227,163,195, 71,173, 29,206,233,246,230,226,253,219, 55,237,180, 26,192, 6,205,203,135,139,183,167, 23,175,223,124,168,131, - 28,183,173, 72, 9,124, 3, 0,178, 16, 7, 41, 9,105,102,140, 21,141,158,226,100, 14, 40,194,170, 94, 42,220, 33,132,172,150, - 29,177,180,120,204,120,116, 55,131,151,127, 71, 7,128, 24, 56,155, 21,123,176,144,171,249,254,147, 12, 96, 70, 68,217,114,202, -169,239,135,194,160,138,194,196,130,132,213,216,200,103, 97, 30,242,224,138,134, 78,192, 70,142,110,177, 10, 68, 2,217,138,107, - 45, 4, 49,179,253,122,140, 74,219,209, 0, 0,177,140, 82,211, 48,144,155,132,176,237,123,243, 92, 94,100,147,154,163, 16, 19, - 33, 37,119, 70,172, 57,168,171, 22,180, 11, 11, 3, 23,233,178,128,168,155, 32, 83, 69,105,112,207,230,144,171, 88, 73, 33,245, - 19, 69,226, 4,102,102, 21,143,125,159,192,236,238,166, 90, 34,122,196, 66,224, 54,118,104,152,152, 82,202, 80, 84, 36,224,136, - 24, 88, 40,134, 62,101,207, 10, 4,106, 42, 82,230, 60,128,228,219,148,239,238,110,230, 77,221, 54, 77,249, 73,185,131,255,255, - 84,189,215,151,101,201,117,167,183, 93,196, 57,231,186,244, 89,174, 13,218,192, 53, 0,130, 67,209,138,196, 12, 37, 74, 90,212, -112,104,158,134,212,155,254, 73, 45,189,105, 73,163, 53, 67,105,196,161, 8, 52, 97, 26,109,202, 87,102, 86,250,235,142,137,216, -123,235, 33,206, 45, 80,111, 0, 26,171, 58, 51, 43,239, 57, 17,123,255,126,223,135, 94,134, 16, 34,236,101,181,166, 89, 85, 99, - 21, 76, 65,179,150,191, 17, 69, 8,194,149,112,175, 94, 22, 36, 66,136, 8,217,156, 1, 18, 80,159,147,166,161,169,107, 85,227, -127,255, 87,255,227, 8, 98,124,103, 64, 26,143,240, 59, 54, 11,254, 38, 27, 78, 72, 68,193, 11,166,166, 20, 10,162, 32,145,219, -200,146,100, 34,192,119,143,153,113, 35, 58,178, 67,129,136,237,230,230,126,127,190, 55,238, 10,137,139,173,123,228, 16, 4,122, - 39,118, 29,255,205,238,132,100,160, 59,103, 83,193, 64,234,168, 41,228,176,171, 35,141,180,176,209,216, 7,136, 72,130, 4, 68, -130, 92, 46, 35,133, 86, 81,184,138,160,128,140, 52, 22,109, 75, 55,130,129, 10,147,236, 29,125,172, 72,164, 16, 81,144,217,221, -170,192,179, 58,254,236, 87,223, 44, 22,243,189,253,163,130,196, 58,216,159,255,211,231,191,116,247,143,222,127,239,228,209,131, -203,203,183,179,217,188,223,182,177,174,217,199,133, 5,115, 24, 51,151, 14,196,140, 92,252, 34,239,118,186,227, 70,193, 77,193, -205, 85,181,239, 28,180, 60,230,125,132,184,209, 40,131,100, 26, 99, 14, 88,102, 48,198,194, 34, 81, 36, 74,172,138,212,189, 76, -186,204,168,158,206,137,176,188, 25, 98,221, 88, 74, 40,236, 14,200, 1,180,183, 65,157,194,249,155, 55, 57,219,193,233,131,163, -211,195,179,231,175, 33,196,118,189,204,219,155, 46,217,252,240, 33,186, 74,168,203, 97, 72, 29,187,205, 77, 16,101,225,219,155, -229,249,229,237,221,102, 83,215,147,255,238,207,254, 26,136,185,154, 16,241,252,232,116,113,240,240,237,217,139,229,249,215,251, -167,143,231,123,251, 8,116,255,246,217,118,211,237, 29, 62,244, 60,104,214,249,252, 40,229, 62,183,155,183,231,175,238,239,175, -182,219,251,201,108,159, 0,108,216, 92,221,222,252,236,233, 43, 71,209,156, 8,129, 16,171, 32,109,206,168,120,189, 90,214, 85, -188, 95,111,134,156,131,240,188,153,116, 89, 47,175,111, 79,247, 22,179,201, 36,229, 60,169, 39,195,176,110,234,137, 35,247,253, - 96,154,203, 26,142, 44,153, 42, 83,189,191, 88, 16,146,147,228,212,151, 58,116,144,170,164,193,170, 42,106,182,217,116, 58,108, -239,102,123,199,170,154, 21,145, 72,132, 83,191, 94,109,215,142, 20, 83, 90, 28, 62,210,156, 40, 84, 33, 68, 4,200, 57, 15, 67, - 27,235, 41,168,130,231,216, 44,204, 76,115, 18,198, 72, 58,169,154,166,170,182,247, 23,166,221,102,121, 43,213,164,239,214,235, -187,179,197, 98, 95,154,248,254,199, 31, 77,103,179, 48,153,130,234,242,246,234,254,246,230,245,139,111,190,126,246,244,229,217, -235, 87,231,151, 23, 55,119, 93,215,254,248, 59,223,251,201,143,127,119, 90, 87,219,237, 82,170,248,241,123, 71,159,125,231,253, -200,126,246,250,229,213,229,249,225,163,211,181,229,103, 79, 95,206,166,147,167, 47,207,222,188, 56, 63,110,154,195,102, 30,133, -128,198, 81,167, 16, 69,150,194, 58, 68, 0, 3,151, 50,199,128, 34,118,116, 98, 9, 33,136, 8, 16,211, 40, 85, 3,181, 84,142, - 71,230,230, 56, 94,208, 1,144, 2,170, 21,128, 24,160, 89,233, 8,142,151, 98, 70,115, 23, 66, 69, 65,112,181,180,220,180,253, -208,149, 95,248,166, 42, 15, 77,158, 53, 53,160,108,251,174,124,250,199,130, 44,141,149,198,114,122, 29, 93,110,224,234, 16, 36, -148,153, 0, 49,243, 72, 14,192, 29,150,170,216,235,148, 16,179,101, 64,102, 68,225,242, 44,114, 53,152, 84,177, 10, 33,171, 26, - 64,148,192,200, 40,129,131, 8,115, 73,183,112,145, 25,143,228,153,210,185,161,192, 36, 33, 34, 11, 0,140,159, 38,119, 66,246, -145,219, 2,133, 79,238, 14,230,102, 89,137, 9,145, 56,200,144,210,200,188, 65, 68, 32, 17, 6, 26, 79,159,187, 73, 7,186,121, - 96,146, 32,125,182,235,213, 42,160,157, 30, 28, 73, 12, 37,177,142, 72, 54,198, 14,137, 74,211, 5,129, 2, 49,138,170,149,210, -168,186,103,117, 68,172, 88,114,105,232, 3,104, 78,234,128, 0, 33, 4,117, 72,169,213,172, 49,132, 40,146, 77,165,144, 35,188, - 40, 81,105,204, 6,154,217, 8, 13, 54,220,145, 97,202,211,200,220, 7, 40,131,110, 34, 34, 4, 3,196,162,120,197, 17, 12, 89, - 6, 19, 37, 52, 9,142,232,136,196,140, 57, 15,140, 68,168,217, 81,132, 44,239,106,170,132, 84, 66,221,185,232, 62,160,152, 90, - 13,160,248, 0,132,196,124, 76,206,184, 39, 87, 47, 67,157,157,159,111, 55,212, 41, 47, 5, 65, 82, 0, 43, 44, 72, 80,176, 98, - 28, 0,244, 18, 0, 66, 0, 10, 12, 12,144,189, 36, 81, 68,138, 38, 79,203,204,222, 77,203, 44,173,252,235,145,184,164,119,147, -193, 71,159,188,255,193,211,151,207, 94, 60, 59, 57, 57, 61, 56,121,188,183,127,224,150, 62,120,252,240,127,253,223,255,254, 7, -223,255,222,201,233,254,235,103,207,194, 71,159,180, 93, 55, 95, 64,118, 37, 4, 2,115,237, 1,101, 92, 92,141,203, 27, 40, 21, - 39, 40,233,119,205, 72,100, 89, 1,193,114,118, 53, 3,119, 3, 14,145, 36, 32,178, 91, 46, 87, 59, 31,209,171,239, 2,172, 8, -224, 34, 66, 20,202,231,174, 0, 54,205, 11, 69, 58, 8,187,102,231, 72,150,147,230, 36,177, 86,119, 6, 7, 96,174, 88,189,143, -245, 44, 91,139,232, 34, 49, 78,103, 55,175,222, 16, 59, 73,104,151,183,243,189, 35,105,166,106,217,242, 48, 12,125,234,213,117, -136,181,152,218,182,107,219,161,235,186,238,228,248, 68,132, 52,231,146,190,154,204, 22,183,183,151,125,215,214,251, 15, 31,188, -255, 73, 12,184, 93,221,172, 90, 67, 14,195,176, 77, 41,247,237,218,161, 95, 93,191,110,102, 7,205,226,232,232,228,189,156,186, -246,254, 38, 19,105,183,121,246,230,108,185,221,198, 32,204,148, 20, 67,140,132,152,214,235,229,144,212,237,250, 46, 11, 19, 33, -181, 93, 95,133, 88, 5,190,184,189,249,135,175,191,254,201,236, 95, 77,234,104,154,219,182,111, 26,234,135, 13, 58, 74,172,212, -208,135, 62,214,139,245,237,219,189,163,163,105,228,155,126,227,161,233,123,103,142, 96,195,208,183, 36, 2, 2,140,184,183,152, -119,237, 6,144,133, 25,160, 2, 34,215,116,125,183,108, 66, 51,107,166,179,197,209,166,170,153,209, 45,128, 15,166,104, 68, 41, -119,161,154, 4,137,221,208,130,153,118, 43,166, 48,157,238,117,237, 18,133,177, 84,237,129,179, 51,199, 73,234, 90, 4,142,243, -227,106, 62,121,112,242, 96, 50,155,187,230,246,254,166, 93,111, 94,189,126,126,115,119,119,117,125,123,189, 92, 93, 94,223,174, - 54,155,110,232,191,255,193,251,127,240,217,103,155,245,181,204,142, 62,252,214,183, 63,120,114,184, 63,175,110,175, 46,174,206, - 47, 58, 77, 55, 55,203,231,151, 55, 81,232,250,126,121,246,230,178, 66,120, 56,157, 78, 38, 21, 9,155, 90, 0, 84, 53,102, 2, -240, 12, 10, 64,204,145,216,146,105,118, 47,128, 57, 67,140, 49, 16,146,249,200, 42, 41, 65, 94, 83,125,215,187, 6, 36, 38, 0, - 5, 0,138,129,186,161,117, 0,176, 28,165,178,242,153,195,226,254,180,130, 4, 30, 0,132,204,213,186,109, 63,228,108, 57, 33, - 82,227,209, 50, 76, 39,140, 36,217, 12, 0, 39, 85, 61, 88, 6,119,137, 66,128,134,216, 15, 57, 8,131, 3,137,184,186,162, 6, - 32,113,103,137,102, 89,193, 8, 17, 89,212,213,221, 69, 36,103,181,241, 74, 14,228,168, 38, 64, 84,177, 24,130,102, 3,183, 40, -164,154, 85, 51, 17,135, 66, 51, 20, 42,104,240,228,142, 88,132, 84, 86,140,224,229, 40, 64,204,165,152,154,178,199,200,230,224, -134, 85,164,172,217, 1,208,156,145, 11, 35,217, 44, 27,184, 16, 2, 71,119, 3,244, 97, 72, 37, 15, 97, 68, 37, 38,231,134,192, -104,102, 8, 72, 65,176, 16,145,203, 77, 60,235,114,181,246, 60, 28,236, 47,140, 16,204,144,201,178,185, 15, 18, 3, 98,116,205, -221,208, 49,115, 64,206, 58,246, 4, 16,209, 44, 3,208,164, 14,230, 88, 94,108, 65,100,200,102, 64,194,228,136,106,158,251, 14, - 11,162, 31, 57,144, 32, 41,255,237, 95,255,229,168,205, 40,203, 77, 87,252, 13,200,203, 71,156, 97,193,200,140,227,130,145, 44, - 38, 66, 84,198,234, 80, 22,239, 94, 66, 72,196, 5, 85, 52,226, 14,169, 68, 99,202,176, 29,101,189, 90, 41,201,162,174,199, 83, -187,249, 88,195, 65, 42,184,204,194,109, 40, 44,183,119, 14,115, 34, 65,112,179,140,224, 84,142,222,196, 8,246, 14, 20,143, 99, -197, 11, 24,145, 73, 80,200, 71, 55, 97,185,115, 32, 34,186,230, 2,231, 39,100, 48,243,221,184,125,199,211, 44, 46, 13, 96, 34, - 96,218,129, 4, 12, 49,224, 14,244, 79,196,199,123,139,207,127,249,213,100, 50,221,223,219, 55,181,245,118, 89, 5,121,254,252, -213,118,219,126,240,228,209,131, 7,239, 93, 95,158, 45, 14, 14,115,202, 28, 2, 19,169,230,172,153, 57, 72, 96,179, 2, 65, 26, -139,187,204, 2,200, 96, 14, 68,160,217,205, 76,251,178, 87, 32,166,157, 73,149,223,169, 19, 0,138,237, 10,128, 72,132,199, 37, - 56, 18, 33, 23, 19, 86, 97,106, 34,130,103,197,216, 52,211,137,131, 3,185, 52,181,165,150,235,202, 29,202,124,115,220,164, 56, -222,222,172,179, 99,195,126,252,224,244,249,151, 95,231,140, 28, 4, 93, 66,136, 65,196, 65, 17, 8, 67, 52,128,225,238,141, 14, -247,211,166, 73,217,223, 94, 94,159, 95, 93, 95,221, 92,255,193,239,253,233,199, 31,124,124,127,115,150,141, 79, 30,127,216,183, -219,183,231,111, 4, 82, 93,215, 39,143,222,191,191,185,186,191,189,201, 78,218,109,167,135,167,194, 18,171,169, 33,108,215,247, -158, 83,169,158,213,117,115,119,127,103,166,243,233,222, 63,126,243,236,237,253, 61,186,153,121, 70, 67,128,148,108,211,110, 10, - 21,206, 29,204,189,138, 33,155,170, 25,128,207,154,201,186, 79,131,230, 39, 71, 39, 81,236,228,224,176,237, 90, 85,213,220,229, -108,154,218, 62, 39, 79,121,189,186,173,170, 89,197,216,245,109, 55, 12, 70,209,135,142,131, 76, 39, 51, 32, 88,212, 53,135,176, - 90,223,131, 67,144, 56,164,222, 85,239,215,183, 93,238, 15, 38,147,189,189,195,242, 73, 8, 18, 28, 28, 72,214,171,251,106, 50, - 5, 75,154,250,186,153,110,182, 43, 3, 14,174, 8, 57, 84, 77, 64,148, 16, 99, 83, 51,210,122,179, 76,234, 15, 78, 31,169,106, - 93, 55,135,199,135, 31,127,255,179,163,211,199,211,189,133,229,225,234,237,249,219,139,179,103, 47,158, 63,125,241,242,217,155, -179,151,231, 23,231,215, 55,171,182,203,105,248,236,211, 79,254,245,239,253,235,233,116,222, 76,154, 15, 31, 31,125,255,211,247, - 16,242,139,175,190,188,189,186,186,190,191,159,158, 28, 17,230,179,139,203,171,171, 27,237,134,147,102, 50,173, 42,145,130, 89, -183,146,142,149, 16,220, 45,187, 17, 50, 35, 32,129,154,155, 3, 26, 48, 18, 7,137, 65,144,104,100,100,168, 1, 86,139,141,129, - 0, 0, 32, 0, 73, 68, 65, 84,130,102, 43, 63, 85, 87, 31,143,169,227,120, 26,213,180, 27, 6, 5,175, 37, 32, 98,214,156, 71, -128,107,185,146, 82,249,133,170, 99, 52, 53, 32, 31, 52, 13,154,163,132,170, 10,117,172, 38,117,237, 4, 64, 28, 40,102,183,140, - 14,232, 33, 8, 33,179, 68, 83, 39, 22, 66, 32, 39,135, 34,105, 98, 97, 33,225, 2, 50,171,132, 99,224,148, 85,147,149,222,103, -105,214,151, 47, 64,193, 3, 75, 93,213, 90, 42, 38, 12,133, 62,130, 5, 53, 72,100,142,117, 21,203,183, 15, 0,140, 24,130,148, - 67,150,186, 23, 77,102,137,249, 23,201, 39,135, 0,142,234,198,194,133,123, 85,202, 49, 6,227, 80,186, 28,195,145, 71,205,131, -153, 34,129, 68, 65,146, 64,104,170, 36, 92, 54,137, 72,104, 69,208,198, 50, 42,166,221,251,172, 55,203,245,193,108, 82,135, 9, - 51, 57,163,102, 39, 68,137, 21, 0,164, 46,149,162, 25,146,104,233,237, 7,113, 3,117, 21, 9, 84, 76,182,142, 33, 50, 66, 24, - 33,187, 68,238, 10,132,238, 20, 2,165,148, 5, 33,134,104, 14,201,141,255,167,191,249,203, 82,187,161, 82,161, 45,163,115, 55, - 48, 32, 10,165, 41, 90,198, 44, 5,150,160, 58, 98, 91, 0,188, 76,155, 16,138, 48,218, 70, 7,105,105,155,218, 72,161,132,209, -198, 81,210,136, 76,104, 87,183,235,211,147,147,194,224, 38, 2,116, 64, 97,166, 66, 46,251, 23, 3, 34, 64, 0,167,119,246,110, - 70, 4,125,215,123, 42, 80,223, 17,152, 75,236,230,160, 80,216,198, 68,164,154, 76,211,216,218, 66, 20,198,194, 86, 52, 0,116, - 35, 65, 36,216,153, 89, 70, 80,194, 56, 47, 49, 64, 66, 22,242,146, 54, 26,153, 55, 69,162, 66,102,190,127, 56,243, 33,189, 58, -127, 59,169,235, 16,107, 85,101,146, 38,208,255,251,171, 95,255,238, 15,191,255,222, 39,159,228,180,101,137, 87,111,207,231,211, - 89,187,188, 45,149, 49,102,114,135,178, 47,114, 51,176, 50,196, 50,183,177,245,228, 14,166,185, 16,140,115,210, 80, 85, 59, 87, - 54,239,232,207,229,255,166,196, 28, 88,180, 8,249, 70, 99,206,248, 93,143,164, 26, 0, 7, 15,205,172,142,226, 6, 82, 85, 96, -234,206,163,188,187,164,238,119,192,157,179, 23,111,186,118,179,191, 63, 63,122,116,250,242,233,203,238,254, 13,112,133, 4, 20, - 26,142,141,169,113,168, 72,104,216, 44, 1,117, 72,155, 73, 61,233,250,246,252,234,230,250,246,254,230,246,250,191,249,211,191, - 8, 54,228,172,205,116, 18,154,250,246,234,173,160, 15, 67, 63, 63, 56, 61,121,242,173,151,223,124,241,250,233,151,110,196,161, - 2, 77,195,230, 46,107,191,189,123,187, 56,122,172,219,229,122,121, 59,217, 59, 98,200, 57,219,225,209,233,237,242,230, 63,252, -244,243,118,232,199,220,106,105, 84, 70,169, 99,213,245,131,169, 57, 66, 29, 99, 55,244, 8, 88,135,202,213,137,169, 9,241,226, -246,110, 82,135, 71,251,251,136,218,109, 54,183,203,123, 96, 1,203,154, 53,212,245,222,116,166, 28,250,190,173, 98,112,228,108, - 94, 9, 91,234,205,180,226,200,238,205,164, 9,145,235, 48, 35, 48, 9,161, 79,195,221,122,233,200, 39,251,167,164,202, 18, 36, -212, 89,125, 24,218,205,250,114,232,250,102,190, 87,197,144,183,247,200, 1, 92, 83, 74,211,233, 52, 52,117, 93, 79,133,165,237, - 55, 34, 34, 92, 5, 22, 66, 48,144,110,187,110,154,230,232,244,248,131, 79,191,189,216, 91,196,186,218,172, 86,175,159,125,243, -236,197,139,215, 23, 23,175,206,206,222,188,189, 60,191,186,218,182,253,193,124,254,227, 79, 63,253,254,123, 79,126,240,233,119, - 7,205,145,253, 71, 63,250,206,241,126,115,117,254,242,205,243,231,113, 62,169, 79,143,159, 63,125,113,116,184,247,236,252,252, -245,171,139,125,146,189, 73, 45, 92, 70,186,160,142, 33, 22,154, 58,189,147, 43,141,193,129,221,196,148,152, 72, 4, 11,166,131, - 9, 12, 8, 73, 53,149, 87, 62,193,120, 20, 34, 38,179, 81,167, 60,104, 54,205, 66, 28, 37, 32,104,241, 52,215,129,213,156,136, - 10, 21, 88,152,193,161,207,217, 77, 5,133, 88, 8, 48,136,236, 77,167,117, 83, 35, 18, 2, 23, 28,121,209,125, 76,170, 74, 21, -115, 46,167, 58,100, 24,235, 47, 92,248,142, 65,178,153, 32,146, 16, 19,162,131, 89,130, 29,174,150, 9,137,216,220,221,140, 40, -148,216, 95,185,241, 75, 96,112,114, 7, 33, 98,102, 32,138,165,211,102,227,104,133, 17, 29, 10,218, 23,118,243, 0, 39, 34, 4, - 74,160,194, 44, 44,229,127,103,102, 68, 23, 17, 24,187, 54, 62,226,176, 16,152, 24,144,203, 4,149,152,153,196,199, 33, 15, 56, - 64,168, 98,153,120,144,160,148,182, 36, 82,209,109, 19,120,114,127,117,121, 51,139,116,188,127,224,194,110,134,136, 49,114,140, - 85,223, 15,174, 86,236, 87,238,238,121, 64, 17, 34, 42, 24,125,166, 17, 6,142,224, 66,108, 88, 90, 92, 32, 66, 57, 27, 33, 5, - 18,164, 50, 37, 19, 18, 2,132,192,108,102,242,206,145,100,136,224, 86,182,172,227, 42, 23, 12,208,137, 75,131,171, 0, 29, 93, - 2, 58,228,145,176,172, 9, 1,136, 25, 10, 75,169, 28,230,205,128,118,114,214, 29, 76,168,252,124,221,108, 54,155,194,245,178, - 27, 58,118, 37,178, 49, 97, 20, 16, 21, 28,209, 70, 17,108,233,124, 42, 32,169,103, 64,102, 0, 55, 68, 39,112, 29,149,212,174, - 99,239,137, 81,205,118,137,124, 99, 4,181,130,193, 33, 64,116, 5,231,241,241,233, 96, 14, 84,166, 28, 8,200,176, 43,235, 22, -217,110, 57,161, 51, 2,160,230, 81,120, 4,232,136, 10, 36, 56,234,169,176,107,211,247,191,253,225,215, 47,207, 95,190,122,249, -237,201,124, 62, 91,160,227,199, 31,125,252,244,229,235,255,243,239,255,225,244,193,195,201,108,255,235, 47,126,249,224,225,123, - 93,187,201,105, 80,160,138,104, 32,140, 36, 37,111,137, 68, 57,103, 82, 55, 71, 65, 41,163, 41, 32,112,203, 57, 39,116, 4,205, -169, 39,137,149,185, 51, 58,184, 97, 16,215,194,199, 23,112,207,166, 35,108, 64, 11,156, 33, 16,243, 14,121, 63,254, 58, 86,177, - 33, 22,140,194, 34,169,237,136,201,138, 92,197,203,219,133, 88, 8, 18, 58,168,185,203,100,110, 41,213, 85,213, 78, 14, 65, 38, -105,123,131,161, 54,197,126,121,198, 85, 67,213,158, 8,211,116,186,185, 87, 85,107,219,126,211,117, 67, 26, 66, 12,211, 40,171, -213, 70,152,166,211, 73,187,221, 14,171, 43,106,102,177,170,247,142, 78, 87,183, 87,195,102, 21,154, 57, 11,111,238,206, 86, 58, -196,208,204,246,142,193,141,208,103,135, 39,213,108,127,189,110, 45,111, 48,136,153, 62,123,249, 66,129,102,205,244,226,234,109, - 93,215,133, 82, 8,230, 65,100, 49,155,174,214, 27, 68,236,135,148,213,220,180,169,227,164,153,108,186, 77, 53, 13,123,211,217, -255,245,243, 95,109,187,238,163,195,121, 37,161,132, 43,234, 42,152,170, 33, 13,253,186,174,234,204,210, 42,228,172,154, 6,144, - 88,215,245,208,110,144,156,221,186,174,229,206,129, 36,185,166, 54,145,165,105, 12,117,211, 16,100, 64, 31, 82,175, 57,101,195, - 80, 79, 28, 98,202,221, 60,196,245,245, 69,108, 38,147,122,202, 28, 99,149,200, 7,203,230,161,114,181,170,154,149, 19,202,122, -125, 55, 12,219,106,114, 88, 53,123,167,239, 61,122,248,228,201,116,182,232, 55,203,243,215,207,206, 94,189, 62,187,120,123,113, -123,119,115,119,119,121,191,218,180,237, 65,221,124,231,147, 15, 63,124,252,164,169, 99,223,175, 57,196, 79,222,127,248,248,116, -127,232,150,175, 46,206,215,155, 85,159,252,242,242,170,190,185,190,188,186, 94,109, 54,235,251,245,227,249, 60, 20, 53, 18, 56, - 58, 82, 73, 52,162,140,199, 18, 80, 36, 36, 16, 53,117,179,210, 44, 66,216,181, 49,202,227, 14, 72, 34,244,125, 42,241, 18, 48, -119, 46, 43, 55, 6,240, 16,130, 35,108,219,142,129, 40, 4,203,218,167, 65,136,137,164, 10, 96,238, 18,130,187, 51, 50,153,153, - 57, 17,162, 82, 8, 4,128,145,163, 72, 36, 84, 38,180,241,108,103,105,232, 67, 44,158, 84,206, 25, 8,169,138,204,130,230,104, -230, 12, 0,110, 28,163,103, 69,178, 24, 72,192,145,176, 31,178,106, 18,146,119, 22, 33, 70,200, 14, 34, 1,208, 60,155, 21, 27, - 27,141,231,189,209,135, 60,254, 80,208, 0,204,129, 16,152, 72,213, 92,112, 7, 5, 3, 87,183, 29,124, 28, 5, 39, 40, 41,171, -186, 10,202,136,188, 53,200, 57,155,141, 93,246,146,216,241,172, 10, 30, 2, 59, 4, 40,221, 47, 68, 68, 86, 53,100,162, 82,237, - 47, 58, 16, 7, 66, 50, 1,114, 47,169,108, 36,190,187,223,214,228,199,251, 7, 78,168, 41, 23,236, 46, 34, 12,125, 63, 82, 74, - 0,134,148,235, 40, 70,177, 60, 63, 67, 36, 51,176,156, 1,140, 16,144, 88,221, 32,121,168, 36,101,203,217,132,209,140,212, 51, - 19,163, 84,134,217,157,221, 53,229,164,166,226,230,200,229,175, 0, 0,204,138,104,142,104,167,197, 24, 21, 76,184, 19,192,113, - 32, 79, 5,249, 40,101, 71, 90,152,239,133, 66, 94,108,161, 59, 52,226,206, 39, 90,182, 19, 86, 64, 99, 49,144,182,109, 95, 71, - 86,195,192,239,152,137,187, 3,185,187,187, 18,160, 26,136,144, 1, 10, 10,128, 22, 36,188,102, 39,114,244,114, 61, 49,119,128, - 92,166, 48, 86, 16, 60,229, 95, 15, 64, 44,193, 77,157,157,202,202,156,128,128, 25,203,109,130,119, 60,130, 82,203, 6, 87, 3, - 66,216, 25,167, 10,210, 43,131, 9,160, 3,227, 59, 31,172,153,154,197,102,254,253,111,127,240, 79, 63,127,126,176,255,230,193, -163, 15, 88,170,253,195,147, 31,125,239,123,255,219,223,255, 63,255,213,143,191,254,228,187,223,117,240,131,163,147,203,203, 23, -200, 81, 66, 68,142, 72,226,106, 32,240, 46,116, 84,118, 96,238, 78,204,230,142,217, 10, 54, 71,123, 5, 55, 75, 3,132, 26,137, - 93, 13, 36,184,250,191,184,213,112,185, 52,218, 59,218, 37,226,152,110,130, 18,115, 98, 66,145, 16, 20, 48,198,144,218,222, 13, -176,137,144,179, 35,128,161,155,162, 80,185,215, 72,156, 48, 13,221,242,206,225, 81, 86, 5, 14,192,128,213,132, 1,134,190,175, -247, 78,153, 99,187,221,138, 80,187,220,178, 59,130,175,182,109,151,134, 62,231,217,116,159, 53,229,188, 57,126,239,211,237,182, -239,218, 84, 77,246,185, 94, 68,134,163, 7,143,214,247,247,106,218,174,174, 39,211, 3,205,253,222,131,247,105,176,148, 7, 87, -247,193,218,110,123,176,191,104,215,171,170,217, 75,195,230,230,230,234,233,249,219,166,110, 14,103,179,245,118, 85,133, 42,105, - 42, 94, 89,115,143, 33,212,161,218,244,219,166,169,221, 53,185,223, 45,215,245, 73,112,164,235,229,234,112, 62,157,212,213,151, -175,206,186,182,251,240, 96,111,177, 55, 13,132, 39,139,253, 77,223,175,218,237,182,221, 74, 77, 49,198,126, 0, 17,202, 2, 8, -144,114, 15, 76,224, 57,229, 33,152, 99,140,203,212, 11,242,233,124,193,204, 67, 50, 96, 34, 51,181,212,200, 92,135,101, 93,205, -204,187,249,100,214, 49, 84, 85,157,234,169,170,222,223, 93, 30,157,190, 31, 67, 29,121,114,117,121,150,219,190, 34,168,166,139, -166,138,174, 67,136,117, 96, 58,122,242,112,186, 63, 63,121,240,164,174,234,245,205,229,171,215,207,158, 61,127,121,118,121,125, -123,191,186, 95,111,174,239,239, 45,231,143, 78,246,126,239,123, 63, 48,226,161,223,112,213,124,242,201,119,190,253,233, 7, 65, -240,234,229,179,139,179,203,193, 18, 52, 53, 82,122,245,236,185, 43,106,202, 77,109,139,195, 69, 25,137, 16, 65, 54, 98, 30,225, -236,234,170,134, 33,144, 57,128,122,225,254,101,208,146, 64,246,114,195, 35,226, 64,166,208, 89, 6,203,129, 37, 33,228,156, 66, -140, 10, 6, 64,181, 4,116, 75,110, 41,229, 32,194,194,105,232, 1, 53, 48, 23,201, 6, 35, 25,122,118,175,153,213, 61, 89,145, - 78, 80, 29, 74,137, 26,171, 42,106,214,164, 94,170,120, 96,104, 0,192,128,140,234,198,142, 8,196,194,224, 48, 12, 41,136,236, -158, 27,140,238,192, 36,129,201,205, 85,135,148, 11,222,124,112,171,163,168, 66,210,162,214, 3, 33, 30,178,103,135, 81, 59,228, -227,127, 34, 17, 46, 31,100, 83,181, 2, 58, 70, 68,214,172, 68,187,211,156,131, 3,134, 74,202, 5,130,136,137,204, 13,200,204, - 29,212,149, 70, 74,250,152,104, 1, 64, 46,211,255, 12, 0,206, 2, 77, 93,245,106,166, 25,156,204, 50, 87, 12, 25, 77, 45,198, - 74,213, 4,208,128, 28, 52,185,149,166, 15, 11, 33,210,122,219, 14,185, 61,217,223, 51, 7,204,218, 76, 38,125,206,160,166,189, - 1, 32, 6,198, 76,217, 83,168, 88,213, 76, 29,133,192, 69,179, 33, 32, 69,241,236, 92,158,131,238, 28,176, 27, 20,208,234, 74, -250, 1, 34,187,121, 51,164, 62, 4,239, 21, 1, 70, 61,105, 81,193,225, 40, 76, 68, 46,127, 27,101, 71,237, 69,223,236,230, 8, - 68, 76, 12,174,110, 6,164,197,144,142,166, 32, 82,228, 77,254, 27,159,198, 59, 10,217,111,196,208, 80, 80,127, 96, 78, 76, 68, -216,212,149,153, 11, 49, 22,213,159,146, 23,128, 39, 48,162, 35, 56,162,115, 89, 41,188,187, 79, 20, 90,129,107,129,206, 19, 9, -120, 46,143,227, 17, 8,108,138,200, 8,163,145, 21,203,177,151, 16,172,172,139, 29,161,100,244, 11,203, 12, 71, 42,227, 40,144, - 53, 47,138, 83,247,130, 49, 40,192,221, 48,102,103, 11, 74,167,100,106, 12, 28,179,234, 39, 31,125,240,213,243,179,139,243,243, -189,131,227, 73, 51, 93,183,219,135, 15, 30, 62, 62, 61,252, 95,254,143,255,244, 63,159, 28, 54,147,197,155, 23,207, 31,127,240, -248,234,205,107,102, 17, 33, 55, 51, 80,203,169, 24, 73, 88,196, 0, 65,117,188,152,186, 35,139, 64,157,144, 24, 45,119, 93,209, - 52,137, 48,114,220, 73,195,116,164, 34, 23,166,252,232, 62, 25,193,206, 56, 50,131, 20,128, 11, 14,193, 77,153, 37,247,189, 15, - 29, 86,209, 53,193,160,192,108,253, 22, 37,146, 8, 0,184,102,242,140, 4, 97, 50,147,201, 76, 98, 20, 81, 3, 16,105,210,246, - 30, 24,195,244,160,219,172,128,188,109,187,126,115, 27, 98, 5,140,171,237,198,134,164, 41,205, 23,199,117, 61,225, 89,213, 13, -105,221, 39, 75, 93, 53,221,203,214, 79,247,142, 99, 8,106, 58,217, 59,124, 88,205,114, 82,174, 14,114,223,131, 41,152, 57,113, - 66, 55,199,251,251,187,147,211, 7,203,219,219,205,242,246,238,250,106,147,242,219,235,243,166,122, 60,105, 38, 67, 74, 65, 68, -205, 1, 28, 13,204,117, 58,157, 40, 89,223,103, 85, 96,196,236,126,123,191,137, 18, 3,162, 3,238, 77,231,142,240,242,230, 90, -136,226,164,222, 91,204,212,146,165, 36, 66, 33, 78,182,109, 91,155,166,182, 91,183,247,179,189, 83, 55,243, 80, 87, 8,109,223, - 17,210, 54,117,158, 83,110,183, 15, 14, 14, 55,155,123, 51,152,204, 15, 2, 7,100,153,198, 25, 34,187, 97,183, 90,198,201,124, -190, 56,246, 13,119,171,101,140,149, 35,247,166,235,237,221,222,252, 96,181,186,203, 89,171,122, 26, 5,187,190,243,212,181,155, -155,189,195,147, 71, 31,127, 58,153, 79,246,247,143, 35,194,205,197,171,103,207,159,191,120,245,250,213,219,183,183,247,203,219, -229,170, 29,210,188,150,223,255,193,143,143, 23,115, 99, 9,213,164, 2,255,157,207, 62,249,232,227,199,171,235,219, 23,175,158, - 65, 32, 58,156,222,126,243,234,120, 86,221,111,187,155,171,213,241,180, 57,158, 77, 2, 81, 45, 98, 96, 93,118,100, 12, 60, 66, -141, 0, 81,161,216,174, 75,185,194, 10,105, 73, 28, 74,222, 3,137,136, 4, 17,204,212,129, 24,144, 66, 72, 41,169, 26, 49,103, -205, 33,132,170, 18, 52, 77,110, 8, 24, 43, 41,212, 0, 4,100,150, 52,100,183, 44, 18,156,209, 82,170, 42, 65, 96, 27,134, 66, -163,170,132,218,172,129, 8, 9,135,148, 53,103,148, 82,197, 35,119,143,145,220,105, 72,137, 35, 5, 10,160,158,221,208,113,132, - 59, 10,169,142, 20,115, 68, 24,122,205, 41,177, 20, 61, 27, 50, 50, 69, 73,125, 50,115, 97, 20,230,148,181,207, 3, 49, 86,129, -209,160,207,138, 8, 21, 81, 54,199,209, 26,104,102,206, 4,204,156,212, 8, 29,120,100, 1, 23,112, 13, 19, 13,230,129, 3,128, -165,161,175, 39,181, 57,112,208,146,138,134,113, 42, 93,240, 90, 46,129,221,201,114,166,128, 18, 42, 53,216,118, 67,153,198,184, -230, 16,196,140,132, 12, 24, 16,172,140,162, 84, 53,165,140,239,198, 58,228, 76,190,110,251, 58, 72, 85, 69, 71, 38,162, 97, 24, - 8,201, 0, 49, 2,170,105,118, 2, 19,145, 33,165, 18,145,100,226,100, 10,110, 33, 70, 80, 76,150,145,168, 72,104, 53, 91, 19, - 17,101,178,109,251,200,146, 53, 39, 29, 28, 49, 37, 5, 55, 32, 32,163,170, 38,221,244,252,183,127,243, 23,136, 94, 34,231,163, -181,179,224,250,119,109,161, 2, 46, 64, 7,100,148,130,200, 4, 43,206,168,146,100,218, 89, 64, 97,236,158,142,208, 94,192,127, -129,120, 41, 27, 90, 40,113, 65,130,109, 55, 76,167,147,146,213, 7, 47,203,107, 42,153,152, 2,207, 42, 73, 33,102,193, 82,157, - 47,143,177,242,180,221, 93, 49, 9,101, 44, 92,185, 58, 24,143,108,173, 50,174, 22, 0,231,241,116, 91,250,159,176, 27, 56,161, -131, 16,218,152, 47, 26,177,198,180, 75, 43,226,200,177,183,194,246, 26, 49, 1, 14, 8, 62,120,185,240,185, 75,168, 38, 21,125, -241,205,203,138,121, 54, 95, 8, 11, 16, 76,131,252,236,139, 47, 31,156, 30,255,241, 31,255,201, 55,191,254,220, 73,134,161, 11, -165,244,140, 72, 44,136, 78, 28, 36,196, 50, 94, 14,194,136, 50, 38,151,208, 1,164,100, 67, 37, 70,169, 42,150,138, 99, 45, 81, - 70,106,194,206,190,234, 56,150,120,223,185, 38,199,151, 16,122,137, 84,130, 57,133,106,118,112, 12,224, 88, 0,205, 54,250,182, - 65,196, 52,203,100, 66,132, 96, 54,180,237,197,203,179,118,187, 57, 56,125,180,127, 56, 63,123,113, 54,116, 27,196,104, 58, 12, -237, 38, 84,117, 78, 67,191,185,219, 44, 87,174,234,233, 46, 84, 21, 17,190, 62,123,115,189,218,220,222,221,126,252,225, 39,223, -249,248, 83, 71,186,189,189, 71, 79, 58,172, 60,171,154,205,231,243, 88, 87,171,155,243,155,179,111,230,243,253, 42,152, 97,204, -125, 23, 24,182,203,155,102,118,184,190,191,137,161,210,172,169,111,207,206, 95,111,251,237,203,243,243,151, 55,247, 65,228,250, -238,118, 59, 12,219,109, 59,169, 38,165,146, 32, 32,229,196, 80,133, 0, 0,253,208, 23,197,109,223,247,106, 26, 99,197,132,219, -190,223,155, 78,131,212, 23,119,183, 19,161,121, 85, 53,177, 74, 67,151, 12, 17,161, 27,210,102,187, 33,176,166,170, 99, 12,132, - 54,105,166,197, 6,147, 0, 1,112,194, 52,141, 49,153,129,219, 98,255, 84, 24, 7, 29,136, 48, 6,206, 67, 74, 41,183,237, 38, -132, 73, 93, 85, 44, 53, 73,236,186,117,201,207, 78,154,217,124, 18, 87,155,109,172,103, 64, 50,164,109, 63, 36, 34, 90,236, 31, - 28, 63,121,252,240,225,163,217,100,106, 58, 92,189,125,243,213,211,103, 95, 62,125,246,226,236,252,252,242,230,122,117,143, 14, - 63,252,214,135,127,240,233, 39,123,139,253,205,118, 21,132,190,251,237,111,253,209, 31,253,238,222, 94,115,117,246,230,155,175, -191, 0, 9, 91,180,175,190,126,186, 93,183,183,247,203, 87,223,188, 60,156, 78, 15,167,211, 42, 10, 0,149,155,188,136,148,222, - 80,233,156,184, 2, 49,169,169,187,150,176, 29, 51,141,170, 81, 44, 24,118, 34, 41, 55, 84, 18, 17,119, 27,178,149, 5, 25, 17, -138, 68, 2, 24, 6, 29, 17, 43,204,133, 73, 48,202,209, 10, 10,195,177,100, 27,132,216, 84,135, 33, 19, 99,249, 67,221, 65,136, - 75,131,143, 9, 57, 72, 29,164,244, 31,203,116,222,202,209, 36,169,149, 76, 98, 1,237, 49, 17,162,154,151,248, 32, 18, 20,138, - 12, 49, 51,113,100,108, 38,196, 12,110, 6,110,197, 47,148,114, 86,117,145, 17,163,224,136, 34,130,196,227,133,188, 64,234,125, -100,172, 91,249,230, 72,202,216, 23,118,157,111, 34,140, 65,220,192, 13,152,197,204, 11,122,182,184, 46,204, 33,231,236,217,198, -254, 60, 35, 3,141, 30,134, 29,140,135,139,110, 72,184,244,219,205, 60,231, 84,118,168, 35, 92,171,188,119,221, 0,144,200,174, -239,219,156,250,199, 71,199, 18,171, 50,222,160, 18,157, 96, 44, 52, 97, 36, 2,194,156, 51, 17, 74, 96, 4,204,170,196, 68, 44, - 59,139, 27, 2, 98,202, 58,174,226,128,204,149, 0, 82, 78,230, 10,238, 69, 61,173,166,104, 30, 16,213,161, 75,189, 20, 46, 57, -148,124,236, 59,241, 16, 24, 2,141,204, 1,216, 1,249, 93,221, 17,202, 36,216,208, 11,134,146,120, 23, 63, 87, 32,222,205,102, -156,118,235, 85, 3, 45,175, 0, 40,151,109,182, 16, 48,111, 50,161, 91,113,184, 18, 34,216,136,138,223,233,141,202,142,220,221, - 60,165,145, 58,134, 82,158, 97, 5, 44,236,224,128, 54, 46, 13,112,252, 2,193, 13,140, 92,208, 45,227,206, 72, 58,230, 80,136, -212, 20, 28,220,148,133,124,124,165,149,128, 13, 58, 58,168, 2, 49,144,153, 35, 59, 32, 35,170,145,176,131, 33,102,247,113, 69, -235,232,136,226, 0,223,250,240,189,215,175, 46,159,189,126,189,119,116,122,124,112, 60,228,116,120,116,242,209,227,199,127,255, -159,255,233,147,247,159,204, 14, 78,187,245,122,211,182, 77,108,204,198,223, 99, 36, 25,221,229,229, 70, 88,238,143, 76,105,200, - 60,198,151,194, 24, 30, 34,118, 36, 22, 6, 51, 51, 37,100, 22,210,108, 37,226,227, 8, 76,130, 12,174, 62, 42,253,136, 2, 22, -220, 27, 1, 3,145,132, 42,166,190, 7, 55,116, 2,114, 20, 97,150,212,117, 82, 53,136,168,109, 79,130, 6, 56, 12,131, 90,206, -121, 0,112, 10, 50, 12,109, 85,113,234,219,122,182, 31,235,250,238,230,162,221,172,211,160, 16,132, 9, 37,136,153,247,125,118, - 51,115, 60,168,130, 8, 95,221,109, 73,162, 19,181,155,139, 24,115, 53, 91,196,170, 78, 93,207, 28,166,123, 7,174,221,197,211, -159,206, 30,126, 70,177,202, 67, 27,226,116,232,183, 33,134,170, 10, 60, 9, 8,118,116,242,208,146,254,211,175,190, 94,183,173, -106,142, 85,125,125,127,217,246, 29, 35, 45,246,102,160,108,168,163,155,209,113,214, 76, 82,233, 8,102,171,170,208, 15,185,237, -251,131,249,236,106,185, 92,109,214, 85,172, 76,253,243,215,111,212,108,218, 52, 68,146,186,252,224,248,192, 29,134,102, 50,227, -188,152,206,215,109, 50, 75,132,118,151, 7,205, 57,109, 54, 33, 68,101,234, 52, 75, 53, 5,224, 62,117,145,188,150, 70, 45,109, - 87,173, 84,205,116,126, 80, 87, 13,199,208,247,171,118,187,241, 48,161, 80,187, 57,176, 19,134,183, 23,103, 32,181,196,202, 28, -215,203,117, 29,235,199,239, 63, 62, 57, 57,217, 63, 60, 66,130,229,205,117,219,109,159,189,120,243,197,179,103, 87, 55,183,151, -119,119,247,171,245,195,195,131,127,253,163, 31, 46, 38, 21, 98,216,182,221,147, 39,143,254,240, 15,255, 96,182, 55,187, 57,123, -253,246,197, 43,170,164, 53,171,192,191,254,229, 87,183,171, 13,171, 47, 98,245,222,209, 17, 34, 25,162, 21, 91, 3,148,150, 56, - 56, 18,144, 23, 87,133, 19, 22,127, 61, 18, 33,163, 20, 57, 76, 49,113,176,101, 51, 36, 42,151,114, 70,212,148,152,131,144,185, - 27,139, 20, 18, 84, 57,200, 19, 82,206,137,208, 74, 63,221,205, 84,141, 4, 20, 52,132,128, 14,157,246,132,224, 74, 49,144,187, - 39, 29,132,136,145,204,119, 68, 39, 2, 17, 6, 36, 6, 36,194,156, 70,213,154, 32,230,114,229, 54, 99,137,229,168, 84,172, 32, - 37,196, 65, 14,217,115,145,183, 89, 9,116, 40,136,160, 57, 48, 9,244,222,165,196, 33, 84,130,185, 48,164,152,193,156,208, 17, - 9, 28,187,161, 39,148, 16,131, 59,100,176,194, 44, 1,112, 5, 45,167, 79, 69,140, 81, 0,217,114,202,217, 16,133, 3,152, 57, -149, 7, 17, 96,168,234,161,239,221, 44,103, 85, 65,231,152,250, 97,218,230,166, 26,241,173,101, 58, 33, 18,134, 60, 8,113,172, -106, 53, 53,119, 36, 10, 33, 20, 82, 74,113,110,131, 38,224,236,224,236,184,105,245,118,181,124,255,112,143,130, 12, 73, 53,229, - 80, 69, 14, 1,204,221, 13,171,106, 72,189, 14,137,133, 57, 4,200,166,217, 68, 48,114,116,194,220,182, 18, 5,153,115, 2, 51, -101,230,148,180,138, 76, 84,126,224, 86,248, 96,142,230, 68, 6, 10, 0,217, 92,125,168, 36, 84, 18,248,111,255,234,223, 22,188, - 4,130,145,196, 18,105,247,223, 96, 99,220, 45,151,102,177, 67,129,179, 48,150,226, 37, 33,243,152,163, 25, 5, 67,133,162,190, -227, 12,239,216,140, 59,146,243,248,230,244, 24,248,254,110, 57,159,205,137,208,137,220,157, 75,244,222,169, 48,136,177,212,247, -203, 11, 1,125,135,141, 20,119, 27,209,232,163,119,148,113,244,131,148,222, 6,150,238,217, 46, 86, 50,106,194,139, 43, 29,208, -203,124, 9, 11, 58,125,196,178,235,142,130, 9, 64, 99, 90,157,145,129,128,169,152,177,199,253, 9,128,161, 19,145, 20,202, 57, -146, 27,242,147,135,135, 95,125,253, 18, 29,231, 7,251, 37,149, 22, 9,126,249,213,211,195,197,252,247,255,248, 79, 89,252,201, -183, 62, 6, 75, 67,159, 37,196,113, 13,129, 94, 74, 6,166, 94,202,124, 86,128, 97,101, 54, 88, 38, 93,128,194, 34,177, 54, 45, - 27, 32, 41, 60,168,178, 62,197,194,147, 46,135,148, 49,236,244,206,233, 42, 68,232,142,194,113,236,223,231, 68,147,154, 56, 32, -139,182, 27, 4, 96, 97, 27, 6,138, 21, 32,181,171,246,226,237,205,208, 15,135, 71, 7,199, 15, 14, 95, 61, 59,115, 16, 64, 4, -142, 66,182,221,220, 1, 5, 27,202,245,183, 21,204,205,100,218,181,237,243,215, 23,155,174, 95,109,214,191,255,227,223,137,177, -238, 84,171,186,217,110,182,142, 74, 50,109, 22, 7, 15, 30,191,135, 0,200, 28, 66,163, 82, 85,211,125,145, 10, 88, 8, 40, 86, - 49, 15,195,116, 58, 31,134,141, 43,133, 56,177,220,159,189,126,246,205,213,165, 57,108,219,109, 63, 12, 65,120,221,118, 67,202, -154,117, 82, 53, 76,187,139, 10, 0, 19,215, 85,181,221,118, 41,167,194, 74, 83,205, 65, 24, 0, 55, 67,234,115, 58,156,207,213, -248,110,189,221,111,164, 31,146, 33, 12, 67,222,110,151, 7,243,153,231,182,213, 84,197,166,215,244,118,121, 43,192, 7,211, 57, - 7, 1,162,170,170, 73,234,162,192,117, 2,194, 88,178,166,243,197, 1,152,170, 42, 17,230,148, 2, 85,235,118, 11,224,192,113, - 58,169,137,176, 31,134,118,181, 58, 56,122,220,181,119, 65,234,201,116,250,254,183,222,127,242,228,201,241,131, 39,200,184, 94, -223,191,189, 56,127,254,252,245, 23,207,158,189,188,184,184,190,187, 27,134,244,195, 15,159,252,249,239,253, 94,141,116,183,186, -147, 88,127,255,179,239,252,228,223,252, 4, 65,159,127,241,243,182,235, 14, 63,122,239,171, 95,127,121,116,122,216,131,254,242, -139,167, 13,242,233,222, 94, 16,174, 98, 33,111,163, 3,198,200, 68,193,193,134,156,133, 68,132,163, 84,230,214,165,158, 74, 60, -128,202, 30, 30, 75,112, 86, 42,210,221, 66,140, 9, 5,195,224, 57,198,138, 0,128, 40,196, 88,254, 81,182, 44, 36, 0,160,102, -204, 92, 14,188, 99,163, 5, 16,208,103,117,227, 0,170, 25,221, 4, 2, 51,155,155,102, 37, 4, 34,204, 96,104,238, 4,117,224, -193,193, 29,155,170,118,192,156,179,155,197,170, 22,192,193,178,234,144,213, 3, 11,128,169,187, 8,163, 35, 35, 40, 64, 49, 79, - 16, 11, 83, 49, 2,138, 26, 40, 50,123, 80,132,161,119,115,107,154, 72,200,155,148,104, 7, 1,136, 65, 12,209, 13,250,156,144, -160, 14, 21,160,113,144, 29, 66,203,119,174,185,210,123, 97, 9, 65,115, 46,113,240, 40,236, 4, 68,200,140,229,248,203,228,224, -216, 37,133,189,189,227, 15, 63,118,162,233,209,254,182,239, 60, 13,149,132,242,136,231, 42,152,102,102,138,177,241, 34,133, 5, - 10,129,205,157,133, 98,168,145,137,136, 68, 2,185, 27, 88,202,249,102,189,158,197,176,183, 88, 40,129, 48, 85, 85, 99, 96,238, - 26, 67,148, 24,135, 52,184,186, 4, 97, 9,102, 90, 80, 5, 33,196,108,234, 73, 41,112, 54,232,219,174,174, 36,214,181,185, 49, - 99,224, 80,172, 80,224, 86, 70, 82, 37, 89,164, 6,105,232, 34, 83, 12, 81, 36, 12, 89,249,239,254,230,223,149,155,203,168,152, - 48, 55, 47, 46, 36, 42, 48,229,241,244, 75,165, 4, 84, 18, 47, 69, 41, 50,190, 0,138,102,200, 84,113, 7,186,255,205,240, 32, -251, 8, 57, 68,128,209, 38,141,194,114,115,119, 23,235, 70,202,216,164,136,149,199,151, 45, 20,120,157,255,102,182,236,102,134, - 40, 5,248,136,192,224, 90, 52, 78,224, 86,172,176, 99,207,110,215,204, 31,149, 91, 35,210,101, 71,151, 87, 45,119, 81, 87, 21, -166, 29, 14,186,132, 94,199,187, 23,224, 78, 38, 69, 64,130, 96, 14, 6,158,179, 23,196, 40, 16,113,112, 52,128, 92, 42, 12, 33, - 78,132,245,215,223,188,152,207,102,211,217, 66, 85, 69, 36,117,253, 23,223, 60,253,206, 71,143,154,217,222,211, 47,254,249,213, -235,179,217,164, 97, 33, 34,118, 85,150,186, 84, 67, 72, 4,119,248,156,113, 40, 8, 94,138,178, 68,236, 8,110,137,136,199,236, -100,217,250, 35,192, 24,231, 31,191, 57, 83,123,167, 83, 4, 0, 0, 67, 98, 68,169, 38,211,122, 58, 51, 55, 10, 97, 44, 34, 32, -131, 25,215,117,217, 68,129, 59, 50,101,213,155,183,183,128,188,152, 53,251,135,123, 95,127,254,179,156, 83, 30,218,178, 92,108, -183,219,118,179, 74,195,192,210, 68, 78,149,216,100, 50, 91,175, 86,231, 23,111,239,214,155,190,239, 62,251,214, 39,235, 28,154, -233,193,116,214,104,234,209,114, 61,153, 30, 61,122, 63, 72, 76, 67, 87, 46,145, 55,103,111,246, 15, 79,134,187, 55, 85, 93,117, -171,107, 98, 86,245,170,153,185,235,221,197, 11,115,208,212,255,226,203, 95,127,125,113,217, 84, 53,184, 95,223, 47,137, 1,129, - 82,202, 41,107,100,170, 98,133,227, 26,197, 1,161,212, 77,187,161,119, 3, 38,202,170,219,174,175, 66, 96,166,229,106,125,114, -112, 52,155, 86, 73,253,205,213,125, 19, 4,137,186, 52, 12, 89,217,237,126,185,204, 40,119,109,219,246,105, 94, 77,132, 5, 17, - 24,189,138,145,128, 85, 19, 19,228, 62,183,219, 21,179, 68, 65, 70,234,251,126,181, 93, 71,230,126,187, 76,106,219,110, 45,113, - 98, 72,129,104,187,190, 95,223, 95, 87,147, 61,142, 97,187, 93, 70, 9,199,167,199,239,127,248,240,209,163,247, 66, 93,117,219, -213,253,253,213,171,231,175,159,191,126,243,229,203,215,207,222,156,173, 54,237,209,108,246,147,223,250,193,191,250,244,187,219, -161,223,164,116,184,191,255,147, 63,249,253,143, 63,253,240,250,226,205,179, 95,253, 42,206,103,241, 96,246,171,159,255,242,238, -126,121,125,183,252,197,207,190,124,114,120,112,180, 55, 33, 42,149,204,157,224, 30,177,232,109,136,136,153,132, 66,193,252,154, -231,114,220,226, 29,228, 5, 9, 11,253, 36,231,172, 59, 84,118,193,248, 49,145,170,230,156,153, 48,231, 60,168, 85,204,204,108, -106, 99, 6,112,247,108,124,247, 73, 14, 33,164, 60, 56, 88,202,137, 72, 0, 32,171, 5, 41, 59, 87,178,172,194, 12, 68,197, 48, - 19, 89, 2, 99,182,162, 55, 34, 44,122,107, 51,115,235,186, 54, 48, 3,148,103, 42, 0,144,250, 56, 76, 41, 42, 77, 38, 52,181, -130, 39, 35, 70, 32,108,219,108,169,112, 99,112,200,102,238, 2,196,196, 10, 24,136, 71,214, 58, 88, 25, 40,101, 27,112, 76,206, -193,152,108, 30,143, 79, 20, 99, 44,172,180,130,180,101, 36, 3, 39, 66, 97,212,108,106,227,136,118,221,246,188,183, 56,253,240, -195,215,175,207,126,241,249, 47,117,232, 6,135,161,109, 39, 76, 37, 33, 3, 6,196,140, 72, 67, 26,136,184,142, 21, 10,231,148, - 74,241,189,132, 80, 89, 68, 85, 83, 30, 8,168, 27,172,107,219,147,189, 61,138, 1, 29,153, 48,229, 30,220,202, 3, 54, 21,174, - 53, 97, 78, 9,192,153, 69, 66, 64,112,115, 3,116, 18, 54, 51, 52, 11,149, 56, 16, 2, 72, 12,106,224,166,170, 94,222,145, 8, - 32, 18, 3, 65, 55, 40,130, 51, 19, 11,153, 58,130,105,118,254,219,191,250,139,114,235, 39, 34, 40,110, 39, 44,250,164,241, 27, -222, 9,162, 10, 72,160,244,160, 0, 28,184, 44,251,192, 10,218,144,136,220, 0,242,120,133, 25,161,137,163,103,124,204, 74,150, -147, 38, 11,231,190, 85,140, 77, 32, 96, 66, 26, 17, 6, 99,223,169,156, 84,137, 0, 73,136,118,211, 69,212, 2,189,113, 99, 70, -112,163, 93,135,179,240,139,127,211,159, 45, 30, 13, 23,220,181,148, 70,142, 36, 90,121,203,149,166,214, 72, 10,222,169,172,199, - 79,196, 88,133, 2,164,209,137, 87,102,124,192,132, 72, 94,244,214, 60,210, 48, 16,193,204,247,231,147,179,243,183,203,213,102, -177,191,215, 76,102, 6,214, 84,225,151, 95,127,211,109,183,191,253,219,191,181, 89,221, 29, 28, 61, 58, 57, 61,190,191,190,110, -166,115, 68, 50, 51, 34,161, 81, 15, 89,122,218, 12,163, 40,158,222,121,177, 97,100,254,184,103, 29,241, 14, 0,174, 90,190,141, - 29, 63,109, 12,137,151, 2, 55,114,160,114, 23,113,111,230,123,210, 52,174,234, 90,198,127,228,110,204, 2, 14,150,148, 8,213, -140, 0,134,110,184, 95,174,171,201,100, 50,173,143,222,123,120,241,242,213,182, 85,228,144, 54,215,201,121,115,249,114,200,192, - 97,226,158,154,104,211,105, 83,207,246,110, 46,175,222, 92,190, 93,110, 58,176,252,225,123,159,196, 88, 31,157, 60,212,148,182, -247, 23, 44, 18,235,186,105,154,155,139, 87, 57,219,226,240,232,246,229, 47,110,175, 47,165,158, 69,242,197,193,131,118,115,159, -213,235,201,140,114,187,217,172,235,217, 65,168,234, 77,187,250,249,151,191,126,121,121, 53,153, 76, 98, 85,119,221,118,211,118, -204,148, 82,114,176,110,200, 44, 88, 87, 77,153,166, 33,161,186,243, 56,136, 76,229,173,172, 94,134,242,142, 64,109,223,214, 49, - 62, 60, 62,185, 90,222,247,195, 80, 7,100, 32,116,157,206,230, 30,235,117, 55,228,182,159, 68, 86,237,212, 97,179,109, 1, 16, - 29,134, 60, 48, 7, 51, 95, 45, 47,103,243,253, 89,211,112, 96, 52,239,115,150, 88,245,125,127,115,115,141,104, 36,141, 84,149, -112, 68,235, 84,109,182,127, 84, 85, 53, 73,156,207, 22,143,223,123,252,224,225,241,124,190, 24,210,176,186,191,123,115,246,230, -217,179,151, 95,191,124,241,213,139,151,175,222, 94,244,195,240,221, 7,199,127,248,217, 15, 30, 30,157,172,214,183,125,238,255, -228,143,254,240,119,126,239,183,173,239,159,125,241,139,126,232,223, 92, 94,118,195,246,243,207,127,169,174,151,175,222, 6,243, -227,189, 89,211,196,210,207,200,238,129,199,250, 76, 89, 67,141, 45,118,226,146, 81, 99,161,162, 51, 67, 26, 9,168,238,227,156, - 56,171, 21,155, 88, 54, 67, 0, 70, 76,217, 68, 8, 1,133,169, 79, 57,229, 36,194, 99, 52, 15,137, 9,133,201,220, 9,108,188, - 89, 50,185, 90, 63,100, 65, 43,169,110, 71, 80,240, 74,216, 71,140,107, 25,242, 19, 17, 79,235,134,168,100, 21,160,220, 77, 75, - 90,180,124,196, 66, 8, 69, 93, 29, 99, 32, 14,128,165, 40, 68, 14, 72,142,129, 17,198,171, 54,150,165,145, 59,164,108, 34,236, -160,105,116,191,130, 0, 50, 11, 2,150,180,123,249, 34, 89,100,220,157,130,149,250,163,170,250,144,251, 33,187,153, 89,102, 47, - 39, 81,218,177, 16, 32, 48,227, 46, 45,170,102, 44,140,174,125,202,105, 50,121,244,254,251, 63,253,233,207,255,241,167,159,111, -218,237,237,122,141,142,219,161, 61,153, 76, 41,136,132,192,210, 32, 26, 22,141, 38,128,153, 26,128,169, 18, 51,193,184,137,244, - 17, 65,195, 14,112,185, 92, 78, 34, 77,103,179, 18, 25, 47,179, 70,115,207, 89,153, 41,112, 96,102, 43,207,207, 49, 42, 81, 78, -183, 96,166,132, 32, 49,142, 51,132,194, 60, 40,210,214,242,100, 34, 34,192, 32, 92,164,165, 44, 72, 28,213, 64, 45,187, 25, 34, -171, 41,255,251,191,254,183, 35,131, 19, 1, 92,203, 73,121,231,158, 53, 24, 97,133, 64, 59, 93, 86, 41,185, 50,142, 43, 73, 4, - 26, 3,167, 59,242,139,163,185, 25,145, 3,252,102,156, 15,217, 74,204, 31, 8,136,208,115,191,237,243,108, 49,113,117, 32, 67, -167,221, 49,116,172, 30, 16,130, 32,171,155,131,141, 1, 24, 36, 66,231,209, 27, 98,165,149,244, 14, 30, 89,106, 84,227, 94,165, -252, 87, 30,215, 61,229,246,224, 72,110, 99, 84,114, 7, 87,240,119,192, 25, 66, 32,122,215,168, 69,183, 49,145, 96,232, 69, 37, -136, 8,133, 19, 91, 82, 70, 37,203,233, 14, 34,113, 58,169,126,249,229,243,166,106, 22,139, 57, 35,106, 78, 85,160,255,251,167, -255,252,157, 15,158, 12, 67,191,186,191,155,237,237,245,221, 22,176,200, 61,136, 88, 28,129,144, 29,128,136, 17, 75,124,200,223, - 37,147, 67, 8,190,251,109,165, 81,217,190,219,107,104, 42, 91, 96, 98, 26,239,220,184, 83,211,240, 88,103,115,208, 73,179,143, - 8, 33, 10, 32, 2,104,145,113,199,197, 47, 76, 0, 0, 32, 0, 73, 68, 65, 84,195,248, 66, 40,160, 78, 34,166,110,219,157,191, -122,189,190, 95,205,102,179,227,211,163,103, 95, 61,237,146, 78,234,122,179,188,202,198, 64,229,202, 41, 81,112, 90,195,222,209, -233,100,186,215,110,150,111,206,207,151,171, 21, 75,252,173, 31,255,164,170,136, 73, 55,219, 13, 87,147, 88, 77,167,251, 39,251, -135, 15,150,119,183, 55,183,215,148,182,179,131, 19,237, 59, 53,219, 59, 60,105, 55,203,205,166, 77,125, 91,133,234,249, 23,255, -153,171,249, 98,113,220,109,238,239, 87,203,175,207,223,100,131,182,221,204, 39,115,100,124,123,117,221,118,189, 35, 16,146, 1, - 12,195, 16, 67,140, 18, 75,134, 23, 25,205,188,142, 49, 74,220,246,189,219, 88,196, 31, 82,142, 44, 76,156, 52,149,157,206,221, -182,237,134, 97,209, 76,246,246,231,153, 48,245, 3,154, 7,118,142, 77,219, 13,128, 24, 34,103,215, 62,229,108,144, 85, 75,110, -162,106, 26, 4, 77,253,160, 57, 3,147,165, 52,168,239,237,159, 90,110,251,118, 53, 91, 28, 48, 34, 19, 79,166,243,161,223,110, - 55,203,147,147,147,135,143,143, 22, 7, 7, 36, 52,116,253,106,181, 60,187, 56,123,245,250,213,211, 87,103, 79, 95,189,121,123, -115, 51,171, 39,127,252,217, 15,190,245,232, 9,177,220, 93,159,125,255, 7,159,253,215,127,252,147,211, 7, 7,103, 95,127,211, -110,239, 19,249,245,205,237,254,201,225,170,237,159,125,243, 2,187,116,180, 55,221,155,213, 33,160,144,164,108, 36, 20, 72,138, -212,162,216,208, 10, 94, 27,129,193, 93,221,153,216,204,204, 29,193, 8,139, 11,201, 3,133, 33,231,119,147, 83, 51, 35, 36, 34, -206, 57,215,117, 40,115,155, 97, 80, 70, 12,145, 45,229,162,244, 9,204, 62,218, 24, 80, 77,199, 90,148, 91,145, 27,147, 8,131, - 24, 96, 12, 66, 88, 74, 36,132, 36,136,164,230,204,197,116,138,217,181, 92,248,153, 48, 23,233, 23,151,135, 17,187,155,112, 25, - 50, 11, 19, 0,161, 57, 48, 35, 11, 23,252,139,169, 2, 16, 49,169,101,115, 51,164, 32,140,128,142, 76,129, 3, 34, 2, 7, 22, - 20, 6,166, 33, 27,168,198, 58, 20,149, 31, 16,151,192, 68,249,250, 33, 27, 54,149,236,239, 81,172, 86, 41,117,195, 32,133,167, -130, 5,125, 67, 14,224,166,169,172,223, 0,208,173,235,251,165,218,209,227,199,103,111, 46,190,126,254,188,109,183,136, 56,159, - 78,159, 60,120,176, 89,175, 30, 76, 26, 9, 53,135, 24,234,198, 77,205,141,193,179,101, 64,175, 66, 3, 80,208, 91,192,132,229, - 83, 35,196,128,112,115,187,178,212, 29,238,239,129,200,238,172, 6, 14,142,132,194, 50, 10,190, 67, 69,140,132, 98,106, 65, 56, -134,224,238,170, 90,226,207,150, 45,134, 64,196,234,198, 8, 33,134,241,178,174, 30,138,239, 19,220,220,152, 80, 88, 10, 79,145, -169,220,227,176, 79, 3,255,221,223,252, 37,140,205, 93, 26,145, 38, 59, 17,202, 8, 34, 52,103, 14,227, 81, 24,119, 17, 61,220, -157,140,145, 70,155, 94, 57,180, 23,150,123,161, 32, 2,185, 41, 16, 65,185,106, 1, 18,151,165,144, 85, 85,120,251,246,246,225, -195, 7,102, 61,161, 56,184,155, 34,122,129, 19, 20, 70,174,249,136,198,216,189,210, 71, 47,221,142,216,131, 72, 50,126,197,165, - 39,108, 90,152, 57, 6,133,251,232, 64, 96, 6, 89,177,200,174, 93,109, 20, 66, 1,140,175,167,157, 68,157,208,144, 5,118, 47, -138, 17, 86, 7, 56,154,196,203,189,115,188, 47, 8,241, 8,241, 45, 89,170,253, 69,115,119,123,123,117,187,156,205,231,147,201, -196, 0, 68,112,189, 92,159, 95, 94,255,183,127,246,223, 47, 22,245,249,217,249,124,239, 96,187, 90, 86, 85, 61,170, 85, 88,118, -120, 63, 65,230,130, 22, 0,211,221, 76,109, 55, 90, 42,129, 35, 47,223,206,187, 6, 22,151,125, 54,208, 8, 21, 37, 34, 98, 46, -119,175,210, 47,159,236, 29,196, 88, 59,112,121, 67, 0,179,229, 97,204, 18,140, 71, 24, 68,164,213,221,242,252,205, 25, 56,238, -237, 79, 15,142, 31,188,252,250,153,171, 74, 12, 73,217,109,200, 41, 33, 73, 53,157,138,200, 98,198,251, 71, 15,145, 56,245,253, -203,151,175,174,238,238,231,243,253,239,126,244,109, 32, 72, 67,110, 22,135,100,158,134,237,226,224,144, 72, 54,235,229,230,246, -250,230,250,162,158,204,174, 94,127,209,109, 87, 67,183, 78,155,101,156,236,121,185, 75, 54,115,244,108,214,181,119,111,127,241, -213, 87,255,241,167,159,207,167, 83, 98, 90,109, 86,125, 26,110,238,151, 5,233, 92,130, 66, 69,103, 60,169,235,192,226, 35,216, -159, 28,188,156,165,218,126,200,234, 72, 92,196, 41, 85,172, 20,124,219,181,136,120,176, 88, 76,154,201, 98,222,172,187, 36, 6, -185,221, 58, 34, 32,101,205,106, 46, 34, 85,172, 42, 17, 68,234,251,158,133,205,116,218, 52,125,187,149,170,169, 10,154,124, 72, - 64, 20, 24, 35,113,219,183,205,100, 42, 68, 34,149,153, 3, 41, 32, 60,254,240,131,247,223,123, 50, 91,204,193,181,111,187,213, -242,254,242,242,237,171,243,203, 47, 95,188,122,126,126,190,221,110,191,251,222,251,127,246,187,127, 24,172,223,118,221,180,230, - 63,252,147, 63,250,225,143,127,123,232, 54,111,190,249,245,228, 96,177, 66,248,197,175,190, 0,160,231,175,206,222, 60,125,125, -188,152,236, 47,102, 84, 76,200, 14,170, 26, 67, 96,228,178,101, 41,251,134, 24,100,132, 61, 33,148,252,137,153, 49, 11,142, 53, - 69, 39, 96, 66,206,154,136,208, 70,105, 54,140,212, 95, 9, 85, 37,217,220, 82, 6,196,186,138,102,110,250, 78,134, 67,142, 92, - 8,220,194, 40, 34, 41, 37, 36,182, 2, 88,103, 86, 85,119, 15, 68,166,166,154, 10,251,186,196, 99, 98, 93, 87, 18, 1,193, 65, -131, 68,115, 69, 34, 53, 8, 34, 33, 72, 20, 33,100,115, 8,204,229, 33, 80, 38, 11,136, 68,238,196,130,200, 64,152,179,149, 64, -114,161,165,238,208,169, 36, 18,202,169, 62, 27,136, 68, 98, 48,115, 75, 78, 34,196,156,205,136, 88, 36,128, 89,249,128, 32, 82, - 78, 42, 7,179,230,193,195,151, 23,151,157,170,212,245, 42,229,205,144,153,176, 22, 14,204, 6,102, 6,230,185,180,190, 37,178, - 14,105,173,105,241,240,244,118,217,254,227, 79,127,182, 92,111, 75,152, 45,198, 96, 14,236,237,147,131, 35, 96, 38, 68, 22,202, - 57,107,206,150,141,152, 0, 11, 21,197,133, 24, 68, 10,112,133, 28, 84,109,185,222,220,222,223,159,238,207,170,166, 81, 53,220, -217, 49, 2, 5, 70, 84, 7, 66, 39,150, 66, 81, 44, 70, 13,162, 48,228, 84, 76, 44,229,239,184,174,130,170, 17,130, 16, 19,203, -120,209, 66, 38, 2, 3, 74, 67, 22, 44, 1,254,210, 82,245, 16,248, 29, 56, 32,165,196,127,251,215,255,142,198, 7,115,113,217, -141, 18,163, 50,193, 86,203, 84,110, 33,227,131,145, 60, 59,162,150, 50, 49, 73,145,107,192,187,208, 98, 73, 53,150, 33,199, 72, - 91, 30,179,150, 35,231,177,200, 54, 2,243,197,229,245,225,201,177,148,223, 92,244,157, 57,116, 28,195,149,120,209, 59,113, 42, - 34,113,241, 8,150,211, 72, 54, 42, 43,249,113,164,225,102,201, 13,118, 35,176,221,168,103,167, 28,249, 23,226, 18, 32, 2,121, - 23,156, 28,169, 46, 72,129, 0, 25, 32,188,163,199,143,177,202, 29, 91, 14, 1, 13,138,173,155,161,160,233,137,202, 23, 73, 28, - 31, 62, 60,121,254,252, 53, 16, 77,166,179,102, 50, 25,134, 20,132,190,252,250,217,233,225,126, 30,250,171,235,183,119,119,183, - 68, 30,171,186, 60,224,202,142, 98,231, 27, 68, 64,176, 33,149, 83,120,169, 44,143,160, 55,215, 66,254, 43, 99, 36, 87, 43,186, - 75, 26, 65,209,255,191,183,222,120,255, 33, 66, 8,243,227,135,229,231, 55, 94, 67, 10,148,172,236, 78,204, 41,198,180,221, 74, - 29,215,171,237,229,249,165, 14,219,197,254,193,209,233,131,151, 79, 95,164,172,105, 72,125,219,173,111,222, 0, 79,117,243,182, -154, 29,245,235,187,246,254,245,222, 98, 65, 0, 47, 94, 60,255,217,175,191,216,172,183, 31,125,252,221, 15,222,255,176,219, 46, - 93, 83,179, 56, 78,195, 22, 89, 42,219,174,111,222,128, 52,104, 90, 87,245,245,229,197,124,255, 84,152, 86,247, 43, 71,105,215, -171,102,182, 87, 9,197,201, 52,167, 14,101,210,117,195, 47,190,250,213,197,106,243,244,197,203,189,197,220, 29,210,144,238, 86, -235,145,183,231,227,164, 42,187,166,148, 38,245, 52,136,248,110, 83,239, 0,129,163, 35,180,125,251,174, 66, 55,228, 97, 82,213, - 72,152,205,126,248,233, 71, 76,248,249, 87,207,183, 93, 55,175, 66,172,107, 51, 3,146,178,191, 6, 5, 98,110, 87,119,186, 43, -226,215, 49, 70,166,182,221,198,216, 8, 67,144,186, 14,146, 77, 65,147,123,118,207,194,129, 89, 36, 72, 96,108,166,211,111,125, -250,201,163, 71, 79, 66,140, 67, 26,218,174,189,191,187,251,242,217,179, 95, 61,253,230,155,151,175,223, 92,188, 93,212,211, 63, -248,236, 71,191,243,157, 79, 38,179,197,171,103, 95,124,250,201,183,254,135, 63,255,243,253,253,253,231,191,252,231,118,187, 92, -117,237, 23, 95,126,245,242,155,103,147, 73,243,236,215, 79,107,131,147,253,121, 93, 87,174, 70,132, 89,157,152,133, 67,136, 12, -192,229,227, 23,162, 8, 48,129,140,177,246, 50,145,196,146,192, 51, 0,160, 34,102, 24, 13, 56, 0,136,234,202, 28, 25, 17,137, -170, 88, 1,143, 79,124, 22,137, 49,142,127,172, 48, 88, 9,171, 80, 96, 78,158,139,193, 46,165,172,166,165,166,158,135,212,247, - 67, 37, 2, 8, 99,149,164, 48, 55,152,128,104, 58,105, 88,202, 53, 31, 10,184,196,198, 79, 44, 87, 49, 6,150,108,134,204,187, -157, 0,102,117, 34, 38, 38,112, 36, 17, 22, 81, 3, 22, 14,204,229, 83, 38,194, 8, 2, 88,144,225, 84,246,135, 76,196, 66,230, -154,213, 9,203,189,151,144,208,204, 75, 40, 82,221, 0,129, 3,187,186,154,206,159, 60,185,223,180, 95,127,249, 84,115, 98,150, -219,251,165, 17, 34,139, 19, 72, 9,203,144,148, 19, 15,160,229,148,135,156,113, 58, 27, 12,159, 63,127,121,187, 90,169,101, 48, -127,242,240,228,241,163,199,151,215,111, 63, 60,220,219,159,237, 67, 73, 97, 26,228, 97,240,157,156, 90, 40, 20, 73, 81,105,147, - 49,242, 48,162,228,253,250,110,133,174,139,253, 57, 51,131,123,178, 92, 30,196,163, 68,176,212, 17,188, 76, 30, 32,196,160,217, -218,190, 19,198, 24,162, 2, 86,204, 14,144, 76,105,100,107,210,238,105,198,224,218, 15, 10,150,130,112,118,207,217,145,128,145, -204, 60, 59,148, 62, 48, 34,230,172,252,119,127,253, 23,239, 48,181,229, 83,130,229, 39,189,227, 90,189, 83,102,240, 78, 83, 14, - 4, 99,148, 22, 1,139, 72,174, 80,120,202, 16,185, 44,115,124,151,185, 46, 83,136,241,143, 7, 68, 48,117,102, 89,223,223,106, -152, 44, 38,149,155, 35,128,144, 56,148, 28,149,191, 75,221,140, 70,234, 82, 62,246,119, 39,239,119,231,145,200, 99,100,189, 76, -240,129,138,241, 17, 11,212,134,184, 68,125, 74, 27, 23,129, 9,153, 73,118,128,117,112,119, 55,203,133,129, 74,229,116, 11,101, -158,232,239,156, 37,190,243,126, 56,130, 1,238,214, 5,227, 35,150, 16,220, 76,155,166, 18,242, 23, 47, 94, 47,246,246, 98, 85, - 85, 85,221,118,237,102,189,185,190,190,250,193,119, 63,253,228, 59,223,185, 58,123,241,254, 7, 31, 93, 93,188,142,161, 25, 61, - 57, 37,199, 35, 76, 64,174, 14, 52,182,195, 70, 6, 82,201,134, 90, 1,246,152,143,212, 72, 51, 24,249, 27, 5, 68, 51,178, 85, -119, 28, 30, 68,100, 38, 51, 88, 28, 28,149, 1, 44,184, 1,209,216, 35, 6,114, 3, 20,113,207,224, 32, 44,119, 87,119,119, 55, -119, 89,243,193,225,241,193,201,226,236,213, 89,215, 14,155,229,101,151, 90,164, 41, 87, 65, 98,147,123,219,172, 46,254,195,127, -250,143,255,240, 95,254,233,243,159,255,244,191,252,236,243,203,187,251,164,233, 71,223,251,221,131,163,135, 92, 53, 20, 23,195, -230, 54,181,247,113, 54,223, 59,121,184, 89,173, 40, 86,221,102,189,188,127,219, 76, 23,195,230,126,187,188, 93, 28, 62, 90,222, -189, 69,150,186,158,222, 95,190,238,218,141,166, 97,177,127,188,222,220,253,243, 55, 79, 89,228,236,250,250,110,185,100,166, 24, - 4,157,134,212,219, 8,141, 40,215, 24,202, 57,101,213,166,174,130,132,221, 55, 12,230,214,132,255,143,169, 55,251,177, 45,185, -206,252,214, 16, 17,123,159, 49,231,155,119,190, 85,117,107, 96,145, 44,138, 67, 73,108,146, 18, 7, 73,109, 11, 26, 72,169,219, -109, 73,221,104,184,209, 15,134, 97,192,126,243,191,100,216, 64,195,176, 13,195, 48,108, 9, 80,183,221,118,183, 68, 81,226, 88, -243,157,115, 30, 78,230, 25,247,222, 17,107, 45, 63, 68,156, 44,189, 93,178, 88,200,203,147,251,196, 94,177,190,239,251,125, 94, - 64,155,174,203,231,156,168, 38,179,135,251,123,119,183,183,167,203,213,217,197,117,191, 55,154,204,175, 85, 99,191,234,101,230, -129, 74,146,148,174,174, 47,178,236,148,136, 45,165,126,175,234, 87, 53, 0,132,224,205, 52, 38,109,154,102, 54,159, 48,234,173, -205,173,221,221,189,157,173, 61,118,161,141, 93,168,195,237,251, 15, 31, 60,126,253,246,157,187,200, 20,155,213,116,122,245,242, -224,229, 47, 63,252,244,233,171, 87,167,231,215,211,233,244,209,254,173,255,228,219,223,189,127,123,135,125,208,216,126,231,251, -223,125,255, 55,190, 57,187, 56,189, 60, 59, 58,191, 56, 89,116,177, 30, 15,125, 8, 47, 62,125,222,206, 86, 91,227,225,112, 80, - 97, 89,252,113, 50,115,236, 56,167, 65, 0, 50,205, 42,132, 42,243, 86,147, 9, 17, 99,142,171,130,186,181,171,192,196, 20, 36, -137, 57,199,153,194, 4,102,142,124,206, 62, 49,123, 85,209, 36,196,236, 8, 85, 85, 68, 85,129,185, 88,205,204, 20,137,193,160, - 14,190,237,162, 33,120, 42,242, 90, 76, 41,169,152, 89,238, 84,206, 28,115,114, 92, 87,158,208,213,222,173,145,168,104,144,227, -232,232,216, 1,160,115,164,146, 61,151,132,128,236,179, 11, 30,156,203,239, 6,246,161, 38,231, 16,160,170, 2, 50,171,105, 76, -234, 28,154,129,137, 9, 24, 57,151, 68,136,153, 61,145,101,209, 8, 67, 85, 1,114, 65, 56, 1,128,168,100,109,137,139, 63,159, - 20, 23,210,180,200,207,159,189,154, 76,231,147,171,235,243,203,137,130,142, 7,195,235,197,124,213, 70,116, 28, 8, 29,168,247, - 62,207,175,177,233, 58,230, 48,222,252,249, 7,159, 30,158,158,128,161,169, 18,113,221,235, 93,205, 22, 53,200, 59,247,239,147, -115, 0,172, 42, 93,138,148,133, 17, 53,239,188,161,137,149, 74, 44, 51,200,104,107,239,221,124, 21,231,243,249,173,237,141,170, -174,146, 90,236,186,224, 42, 34, 66,162, 12,129,202,198,246,162,246, 1, 74, 18, 3,169,234, 32, 6,170,209, 57,159,151, 20, 25, -197,115,131,141,101,164,164, 81, 69,156, 99,118,216,117,130,102,204, 84,101,124, 2, 0,170, 33,145, 42,152,196, 40,137,255,244, - 71,127, 88, 42,233,138,160,154,199,237,140,113,207, 14, 60,203,139,247, 53,234,203, 40,135,126,138,173, 97, 61,185,175,231,204, -188,174,206,219, 98,202, 18,120, 9, 60,173,211,173,165, 14, 80, 23,173,108,109, 12, 37, 38, 43, 43,110, 83, 48,212,210, 21, 72, -228,214,205,128,134,120, 51,178,150,217, 58,123, 94, 11, 26, 31,114,247, 8,150,165, 5, 17, 21, 95,189, 3,200, 77,193,133,131, -137,159,155, 39, 1, 13, 21, 81,212,242,130, 4, 50,244, 6,215, 65,214,245,250, 41,123, 54,160,168, 72,153, 91, 99, 55,152,245, -140,118, 22,181,221,237,205,167,207, 94, 69,177,254,112, 84, 87,125,231,168,109,154,159,126,248,105,205,221,254,254,206, 98, 54, -255,248,195, 95,157, 31,191, 10,140,190,238,177,243,236, 3,177, 67,200, 45, 34,172,146, 84, 4,137, 75,240, 67,109,109, 57, 45, -237, 58, 57, 65,199,107, 33,152,156, 47,191, 44, 94, 39, 6,212, 56, 56, 19,243,245,168,191,177,153,177,154, 26, 99,201, 70,100, -174, 89,222, 43,117, 29, 34,115,229,231,215,179,179,195,195,148,236,238,163,135,163,205,209,171,167,175,186,110,217,174,218,212, -169,167, 4, 0, 0, 1,152,122,220, 45,151,179,207, 94, 30,126,248,236,229,249,228, 26,193, 0,221, 55,190,242, 53,239, 43,212, - 68, 68,177,185, 6,145,219, 15,223,214,152,212, 85, 34,214, 76, 39,189,193,184, 10,117,179, 90,176, 27,174,218,149, 25,110,108, -236,116, 77,211,182,203,225,104,179,238,111,118,205,236,147, 79, 62,252,229,179,231,249,249,152, 92, 93,119, 49,153,218,206,198, - 24,145,150,171, 6,214,215,152,252, 91, 78, 41,169,105,175,174, 3, 59, 85,181,242,234,197, 94,221,219,232, 15,135,189,161,129, -142,251,245,107,251,123, 41,197,103, 71, 39,128,174,235,154,141,209,104,119,107,235,236,106, 42,169,171,124,157,105,209,170,138, -190,114,206,123,199, 8,224,188,223, 26,141,103,243,105,138,157,239, 15,219,216, 69, 81,116,158, 9, 71,181, 75, 93, 28,141,199, -203,118,117,189,152,111,237,237, 60,122,243,173,251,175,189,190,177,189,139,200,211,235,203,195,195,195,207,158, 63,251,232,211, -231, 7,103,167,231,151, 83,231,232,155,191,246,213,175,127,225,109, 54,152,207,231,247,238,237,127,227, 27, 95,221, 24,143,142, -159,127,150, 40,117, 8,191,248,228,179,189,205,141,195,243,139, 79,126,249,241,198,160,191, 53,234, 83,161,129,228,203, 98, 6, -157,251, 12,228,102,202,197,108,200,142,204,178, 26, 68,134,150,123,125, 45,231,119,214,119,238,164,234,152, 45,143,216,217,211, -134, 64,128,206,187, 36, 41,207, 68,140,148, 84, 76, 85, 83, 44,223, 40, 67, 41,166, 44, 66, 68, 5,160,220, 58,131, 25,231, 74, -222, 5,206,200, 11,202,205,116,196,142,136,201, 57, 70, 36,209,168,128,149,119, 42,121, 61,146,145, 37,204,132, 49,199,115, 28, - 1, 0, 51, 3,100,249,151,137,152, 43, 95,238,174,148, 61,135, 22, 37, 86,235, 43,133,138, 58, 31,216,145,103,102,239, 16, 73, -147,196,100, 89,196,205, 59, 37, 98, 86, 80, 19,201, 58,115,169, 53, 67, 50, 85, 83,153, 38, 89,118, 58,157,207,155, 85,211,165, - 14, 81, 99, 23,163, 72, 74,201,133,208,136, 38,226,202,129, 3, 67,132,174,137,139,148,252,198,232, 98,114,125,116,122,214,117, -157, 35, 66,132,183,222,120,216, 38,157, 93, 95,125,229,209,221, 97,221, 47, 36,154,210, 83,103,142,125,130,114,196, 85,161,103, - 0, 42,146, 36, 2,152, 39, 15,166,199, 23,147,205,158, 31,142,134,170,128,104,142,125, 89, 24, 48, 6,226, 76,205,117, 76,128, -220,165,148, 99, 77,204,222, 0,152, 28, 33,139,196, 44,149,147,154,102, 39, 18,145,129,117,169,147,100, 68,168,102, 10,200, 8, - 68,152,161, 5, 42,134,136,150, 50, 90, 1, 29,115,140,202,127,246,163, 63, 44, 13,117, 6,136,180, 70, 13,220,212,244, 25, 34, -115,185, 94, 97,129,245,174,119, 41, 89, 40,200,128,150,242,156,173, 37, 12, 85, 64, 46,173,132, 57, 59,191,238, 87, 53, 34, 48, - 68,239,252,233,233,209,206,173, 59,146,186,204, 3, 64,200,190, 32,204,203,250, 60,122,150,176,149,149, 12, 85,126, 67, 20,163, - 75,166,246,174,215,180,140, 4,142,110,140,246, 88,108,129,134,146,241,110,192,197, 74, 77,159,215,196, 26,163, 65, 38, 80, 32, - 50, 64, 42, 48, 28, 67, 36,203,183, 24, 64, 34,244,148, 77,186,229,103,223,124,167,104,253, 90, 37, 71,126, 52,170, 62,121,246, -114,208,239, 87,117,221,239,247,235, 58, 44,166,211, 15,159,159,190,125,123,188,119,247,222,203,167, 79,190,241,205,127,244,226, -179,143,123,253,126,127,180,157,219,169,204,178,233, 84,178, 11,146,202,235, 15, 11,180, 30,203,175,120, 45, 55,184,178,139, 89, -123,224,136,125,233,154, 93,247, 30, 32, 81,232,143,171, 94,207,180,224, 76,193, 0,156, 67,100,141,137, 72,129, 28, 57,159, 59, -160,175, 46,167,103, 39,167, 10,112,239,222,237,126, 21, 62,253,240,227, 4, 56,191, 60, 97,239,129, 61, 98,109,237, 60, 38, 29, -247,181, 23,120,115, 52,232,247,122, 73, 82, 23,211,112, 56,252,250, 23,191, 38,113, 21,170,254, 96, 99,163,237,162,247,117,175, -223,107,187,180,156, 28,167,118, 89, 15,119,134, 27, 91,166,182, 90,204,134,227,205,170, 55, 34,166,174, 89,228, 12,180,196,184, -177,185,141, 93,252,241, 47,127,230,234,129,129,121,162, 69,179, 66, 38,199,212,180,109, 94,171,173, 37, 38, 92,191,188,177,137, - 73, 84, 6, 85,133,192,154, 61,147,101,182,192,189,173,173,175,190,253,218,157,157, 29, 3,119,126,189,152, 45,150,200,214, 52, -157,247,110,119,103, 43,248,234,233,241,177,103,232,215,189,202,249, 36,186, 22,184, 32,182,173,170, 5,143,222,133,170,215, 7, -213, 94, 85, 17, 82,155, 98, 21,124,191,223, 31, 12,198, 4,208, 27,110, 62,120,231,157, 55,191,244,222,254,189,215, 67, 21,154, -249,245,193,171,103,207, 62,123,250,228,229,171,151, 71, 39, 7,103,103,231, 87,215, 95,121,252,250,251,239,190,123,255,238,107, - 81,210,214,206,206, 55,191,245,235,175, 61,186,127, 61, 57,107,154,217, 39,159,124,244,226,244,116, 62,157, 93, 78,174,143, 94, - 29, 45, 39,179,157,209,112, 88,215, 55,222, 93, 34, 10,222, 37, 77,156,193,179,200, 88, 54, 84,107,110,117,233,207,225,181, 50, -134,204,222, 51,235,122, 39, 73,228, 20,208,179, 47,137, 15, 36, 68, 82,149, 54,118,193,249,108,146, 17,137, 18, 59, 38, 16,133, -224, 3, 50, 90, 30, 95, 40,103,103, 92,105, 66,101, 2, 68,102,242, 76, 92,204, 8,204, 46,228, 94,132,138, 93, 76,194,232,128, -144,115, 43,142,170,130, 49, 51, 98,110,197, 96, 36,172,214,158, 22, 38,151,127, 83,196,236, 28, 35, 81,169,137,203,143,122, 82, - 67, 32, 32,145,132, 0, 57,205, 0,104, 92,210,161,104, 42,128,192,193,103, 19,142, 9,146, 39, 48,131,148,208,231,141,129,187, -209,226, 8, 41,153, 1, 98,135, 41,132,122,190,108, 22,171, 85, 82, 80,181,220,188,218,175,195,100,186, 0,128, 6, 81,201,192, -120,217, 9,142, 71,211,101,243,243, 15, 62,158, 47, 22, 25,173,222,239,213,222,135,243,201,213,151,239,223,221,223,220,138,170, -160, 72, 76, 42,160,166, 61, 23,216,249, 76,177,245,206, 35,115, 62, 91, 67, 85, 49, 51,170, 77,102,203,118, 53,223,218,222,240, -189, 26,217, 35,113,215,117,206, 17,135, 0, 70,106,106, 42,142,208, 8,219,166,243,140,136, 44, 26, 93, 30,251, 50, 33, 17, 13, -153, 68,196,214,125,212,162,154, 67,203,204, 78,147, 16, 97, 8,228, 66, 21, 69, 40, 59,199, 25, 21,208, 36,121,231,204, 12,243, - 46,238,207,255,228, 71, 96,160, 32,165,200, 54, 79,182, 72, 0,192,174,108,191,168,240, 24, 0,128,202,122,187,228,101, 11,228, - 29,203, 42, 60, 71,128,141,224,230,159,222, 48, 13, 21,145,137, 75,119,135, 25,212, 85,117,126,114,234,251, 27,126, 29,145, 42, -131, 26, 25,185, 27,141, 49, 71,103,179,129, 68, 11, 3, 6, 74,176,215, 44, 99, 35, 53, 7, 74, 11,238, 38,163, 91,202, 95,201, - 76, 1,137, 17, 5,184,172,186,217, 21,202, 78, 94,200, 19,123, 32,134, 66,154, 51,204,171,223,108,154, 41, 34,167, 34,152, 65, - 78,237, 2, 49, 27,144, 34, 16, 16,231, 16, 22, 33, 0, 27,232,246,206,206,242,250,250,226,122, 62, 30, 13,201,133, 58,244, 24, -245,195,207, 62, 67,115, 3, 94,190,124,241,106,255,193, 27,154, 58,141, 82, 15,135,196,206,135, 42,171,200, 25,129, 74,204, 89, - 53, 45,141,103, 25,250,147, 93,237,133,136,161,107, 36,112,185,224,100,241,245,134,172,192,236,204,180, 63,218,169,122,125,160, - 92, 69, 70,150, 18,128,165,166,201,175, 8, 83,115,217,184,214,181,147,201,252,228,213, 11,235,150,175,191,243, 14,123,247,252, -201,139,235,211, 3,209,174,238,111,197,100,177,155, 85, 85,237, 29,250, 16, 25,157,119, 46,166,238,252,106, 10,128,183,239,220, -121,247,241,187, 10,145,156, 71,224,118, 62, 55,196,224, 56, 25, 46,103, 87, 93, 27, 1,124,187,188, 88, 45,103,139,217,213, 96, -180, 41,113,185,154, 28, 57, 4, 96, 95, 85,149, 11, 30, 36, 61,249,236,131, 31,127,244,113,236,186,121,211,204,166, 83, 1, 11, -176,126, 6,208,242,155, 45,198, 8,107,135, 93, 78, 47,116,109,151,204,250,253, 62,234, 90,212, 55,243,204,119,246,198,151,211, -249,197,245,162,170,170,173,205,209,254,214, 78,219,118,215,179,105, 47,212,103,147, 11, 48,245, 92,157, 92, 93,143, 67, 80,144, -202,123, 2, 76,210,121,230,182, 93, 25, 81,191,234, 85,193, 87, 85,127,181,184,114,190,118,228,137, 45, 37,107,147,116, 41,237, - 61,120,244,230, 87,190,126,251,225, 27,195,141, 45,105,227,114,118,249,228,201,147, 23,175, 14, 15, 78, 79,159, 31, 28, 30,157, - 93,116, 93,247,107,143,223,122,124,255,158, 26, 59,166,119,223,120,248,245,175,191, 71,218, 93, 28, 61,127,249,244,137, 16, 8, -232,214,230,240, 39, 63,254,153,182,114,107, 52,220, 24, 13, 60,121,200,161,142,210,245, 75, 73,173,114, 21, 33,106,238,226,201, -206, 63,242, 57, 41,152,123,148, 68,133,153, 21, 17, 84,193, 52,105,110,246,241,106,150, 84,234, 16,136, 25,193,114,102, 71, 84, - 77,181, 87,247, 8,172,137, 89, 51, 67, 34, 74, 38,136,236, 61, 3, 96, 29, 42, 17, 81, 85,199,156, 97, 91,236, 24, 50, 38, 9, -161, 72,150,128,204,148, 52,121,199,142, 93, 20,245,142,242, 77, 57,127, 71, 99, 18, 52,242,129,131, 39, 1, 76,146, 16, 13,201, - 1,176,169, 8, 42,152, 18,187, 42,120, 66, 80,133,220,149, 9,142,186, 54, 17,147,115, 78, 36,130,129,247,174, 77,137,137,122, -117,149, 13, 67, 34,146,109,136,136, 6, 70,206,121, 35, 51, 66, 38,151, 13, 43, 76,228,216,137,170, 98,206,189, 2, 35, 16, 96, - 39,118,113,117,237, 60,189,126,239,254,178, 89,165,152, 16, 76,212,174,174,175,199,131,254,112, 56,156, 45, 27, 64, 55,139, 66, - 33,184,224,143,143, 79, 46,174,167, 34,137, 8,251,117,245,248,181, 71,199,151, 87,247, 55,134,111,221,221, 71,176,192, 30,157, - 67, 38,118,232,157, 19, 64, 83,173,122,181,227,144, 36,105, 74,228, 28, 5,103,162, 68,144,196,206, 46,175,110,109, 15, 55, 54, -119, 93,168,136,188, 74,116,228,216, 57, 51, 75, 49,153,168, 35,108, 58,149, 24,123,117, 45, 6,160, 90, 85, 61, 85,200,192,112, - 3, 35, 36, 53, 69, 85,207,220, 73, 76, 49, 49,179,247,190,105, 27, 53, 53,212, 42,184, 78,208,146,196,148,242, 36,152, 45,128, -236, 57,195,229,234, 16, 90, 21,254,179, 63,254, 67, 64, 40,115, 47,131, 74,177, 9,146, 17, 18,169,100,170,250, 26,201, 5, 86, -138,188,254,193, 94, 62, 31,165, 89,137,132,181,150, 9, 37,118,104, 72, 25, 32,130, 8, 32, 57, 64, 65,104,160,206, 7,137, 93, - 84, 28, 13,107, 64,159,255,165,220,134, 90, 56,186,133,115,150,117, 95, 51, 53,162,245,202, 4,177, 44,202,243,215, 3, 72, 52, -229,211, 63,159,205, 8,154, 55,249,159,163,211,197, 64,129,214,247,144,124, 74, 26, 57, 36, 95, 40,146,197,169,175,121, 85,165, - 57,172, 91,218,150,180,252,191,101,202, 23, 20,206,197, 38,235,183, 24,229, 69,166,218,120,212,127,121,120,236,125, 85, 85,189, - 42, 4, 23, 66, 77,250,211,143,158,108,247,253,151,190,250,222,225,171,163, 71,111,191,115,118,124, 52,222,216,113,190, 42,246, - 76, 43,142, 87, 0, 2,226,178, 13, 67, 64,226, 27, 76,155,153,170, 8,136, 42, 96,161,142,220, 4, 17,242,146,162, 92,147,192, - 68,135, 59,183,217,179,118,109,142,229, 81,229, 76, 44,187,116,164,139,161, 87,105,236, 76,162, 37,189,184,156, 45, 22, 77, 24, -108, 62,122,252,168,109, 86, 31,252,253,143,167,167,175,122, 27,183, 37,117,132, 22,234, 13, 12, 53,168, 90, 55,117,206, 37, 73, - 23,147,233,197,228,122,177, 92,125,233, 11, 95,249,194,151,223, 71,100, 49, 52,176,184,154,223,122,240,104,255,193,155,231, 7, - 79,102, 23, 47,124,168, 92,175, 47,221, 74,218,153, 52,215, 73, 36, 54, 77,175,215,159,205,174, 57,244, 24, 89, 99,179,152, 77, -254,238,131,159,190,154, 76,135,253,126,215,117,203,182,109,219, 40,160,102, 38, 73, 37,105,126, 30, 21, 44,137,220,136, 64,121, -156,104, 99,231,144,122,189,218, 76,107,239,111,109,143,198,131,193,241,233,229,217,228,170,137, 93,215,117,154,196, 57, 26,246, -122,139,166,105, 98,155,162, 36, 85,239,160, 75,118,181,152, 87,132, 62, 84,140,138,232,242, 84, 91,247, 6,102,170, 73,230,243, - 75, 48,246,222, 87, 33,204, 23, 75, 51,219,191,125,231,189,111,188,255,248,139,191, 54,218,216, 68,194,217,229,233,217,225,171, - 39,207,158,188, 56, 56,120,254,234,240,197,193,201,233,100,178, 51, 30,127,227,205, 55, 95,187,119,111, 54,155,222,187,115,251, -215,191,241,222,131,251,119,206, 79, 14,154,213, 28, 7,189,143,159, 62,175,157, 63,155, 78, 62,251,224,233,102,175,190,179,189, -105,104,249, 41,228,226, 68, 35, 98, 6, 4,239, 88,138,146,136,162,178,174,199, 89, 55,187, 16,218,231,104,223,162, 70, 17, 48, - 19, 38, 17,199,158,185,236, 42,136, 93, 76,217,150, 13,165,246,192,128,215,193, 37,102,118,236, 51,186, 60, 4, 23, 83, 2, 49, -118,107,237, 14,114, 83,118, 46,187, 84, 88,247,120, 56,196,224, 93, 38, 63, 6,239, 12,129, 28,177, 39,176,245,201,193,148,146, -170,145, 15, 85,224,192,236, 68, 68, 82, 71, 76,140,204, 46, 16,162,228, 75, 61, 2, 17, 37, 85, 85,101, 66, 68,144, 36,153,254, -139, 4,204, 14,145,147,198, 20, 37,223, 4, 68, 21, 12, 44, 26, 82,142, 62, 98, 38,164,243, 58, 33,152, 93,193,180,254, 90, 19, -185, 64,200,200,192,216,116, 93, 8,161,107, 83,240,174,233, 98,142, 8, 24, 88,219,182,117, 85, 13,135,131,179,139,203, 65,191, -126,117,114,246,226,240,168,156, 98,132, 91, 91, 27,200, 46, 46, 23, 95,125,120,183,215,235, 25,144, 88,102,205, 35,128, 3,208, -224, 42, 0, 16, 81, 85, 1,196,170,242,165,240, 19, 80, 13, 46,166, 83,135,186,187,187,171, 68, 6,230, 66,197, 33, 0, 65,238, -120, 34,114,162,169,235, 58,102,240,206,229,149, 50, 82,182,132,150,190,114, 19, 41, 59,122,114,130,192, 72, 92, 2, 48,226,200, -229,190,204, 92,183,204, 68,196, 46,171,181,165, 33, 46,103,184,136,137, 72, 69,156, 81, 6, 99,230,238,173,188,221, 32, 80,203, - 48,252, 50,200,230,187, 34,193, 77, 95,105, 25,117,129, 32,195, 52,179,133,116,109,227,206,144,159,245, 61, 32, 39,217, 44, 71, -168,114,161, 5, 51,155,217,198,120,120, 50,153, 33,142, 51,139,147,145,204, 4, 29, 65,150, 3, 51,248,203,138, 22,105, 37,220, -129,235, 6,162,252, 56, 2,161, 19,205,232,211,146,245, 65, 2,180,181,238, 4, 69,190,128,204,230,202,243,176,100,131, 60, 50, -179,164,132, 38,235, 96,238, 58,133,101,152, 35,162,134,134, 6,140,206, 32,183,218,100,217, 62, 39, 49,114,196,200,149, 14, 66, - 64, 49, 27,111,110, 62,186,183,127,120,114, 49, 24, 14,189,115,131,193,232,141,199,111, 29,156,156,253,221, 39,135, 15, 30,221, - 57,124,249,100,213,174, 16, 45,198,198, 73,133,236, 16,179,197,202, 64, 20, 28,131,105, 70, 45,151,129, 29,233, 31, 72, 2, 98, - 6,204,222,192, 84, 5,145,214,136,102, 40,216, 31, 81,231, 56, 10, 34,128,116,157, 1,147, 99, 48,213, 85, 99,230,184, 14, 42, -145,131,215,156,153, 66,118,189, 26,236,136,152,177, 91, 16,210, 98,114, 53, 61,122, 49,186,251, 24, 24,217, 56, 54, 43,147,171, -173,251,111,205, 47, 94,144, 26, 32, 55,171, 70, 68, 76,177,139,205, 59,111,189,139,224, 22, 87, 19,244, 20, 23, 83, 53, 9,152, -150,147,147,233,233,115,195, 42,166, 84, 3,104, 90, 93, 93, 28,246, 7, 27, 33, 84,189,254,230,201,179, 95, 12, 55,246, 70,155, -123,179,243, 87, 72,210, 25,158,206, 86,207, 95, 30,248,135,247, 87,171,101, 18,201,215,210,124,150,172,145,212, 56,118,189, 85, -215, 45,155,166,164,162,181,116,190,156, 76, 46,204,244,139,143, 31, 17,200,209,197,213,116, 25,209, 36,248, 42, 89, 90,181,171, -166,109,150,205, 98,216, 27,222,221,187,117,116,126,153, 52,174, 86,171, 20,171,187,251,123,109,108,143,102,139,205,141,113, 23, -213, 48,133, 48,242, 85, 13,154,144, 67, 4,168,122,155,205,106, 49, 95,173,146, 65,175,223,127,237,141,183,222,250,210, 23, 71, -219,219, 85, 93,167,102,113,117,117,121,121,118,118,118, 57,121,241,234,224,224,236,252,228,226, 10, 76,222,189,255,224,173,123, - 15, 36,117,108,242,131,223,250,214,195, 55, 94,139,203,217,197,201,243, 15,127,245, 33,143, 70, 85, 21, 22,203,197, 47,126,126, -170,177,219, 25, 15,250,245, 0, 16,217,149,234, 32,133, 0, 0,142, 17,152, 98, 18, 3,200, 1,212,148,149,152, 98,205, 54, 34, -114,142, 37, 9, 88,134, 97,229, 86,103, 68, 70, 77, 42, 6,204, 46,105,100, 98, 48, 52,208,212,166,188,216,149, 36, 4,185,132, - 11,213, 12,208,188,243,106,224,152, 50, 78, 82,196, 0,137,125,190,251,103,176, 23,198, 46, 1,162,168,121, 70, 17, 3, 54, 95, -170,239,204,123,135,153, 52,204, 25, 84,198,236,208,136,216, 44,198,232,125, 8,117, 37,162, 73, 51, 6, 7, 29,251,242,158, 54, - 35,176,220, 74, 6, 6, 64,230, 12, 98, 30,106,136, 75, 91,131, 42, 66,118,223, 3,146,115, 62,115,187,141,137, 9,173, 43,130, -170, 97,217,220, 50, 25, 42, 18, 48, 34, 1,118,154, 37,226,114,217, 35, 87, 89,188, 53, 24, 17,242,213,244, 26, 1,246,247,182, - 87,177, 75, 41,129,105,211,196,182,237,136, 56,171, 2,139,229,106,181,106, 1, 44, 56, 78,104,143,238,220,173, 6,253,143, 63, -254,244,219,111,190, 54, 26,141,162, 49, 59, 0,233, 20,146,168, 5, 87, 27, 4, 5, 19, 81,246, 76, 68,102, 16,147,229,150,104, - 83, 49, 37,233,186,173,209,176,204,150,204,132,138, 68, 92,215,150, 36,182, 77, 76, 45, 3, 24,174, 17,229, 8,170,146,245,218, -220,127, 10, 6,228,125,183, 90, 49, 3,147, 15,228,146,197, 14, 0, 12,170,224, 82,210,130, 56, 70, 11, 33, 36, 81, 4,171,124, -136,109, 68,208,188,244, 82, 49,239,193, 33, 17,123,254,179, 31,253, 17,174,239,253, 89, 7,229,245,159, 36, 11,137,246, 57,153, -232,166,196, 47,239,206,214,177,126, 88,247,129,174, 21, 90, 43,204,195,236,135, 33,102, 66,179,108,236, 45,224, 73, 51, 85, 14, -124, 53,185, 30,141,134,156, 93,182, 25, 18, 95, 60,131,121,239,128,165, 58, 96, 61,201,100, 47,124,190, 53,100, 73, 10,144,114, -207, 97,105,175, 6,202,137, 80, 88, 67,139,242, 8,204,232,179, 93, 60,159,250, 89,184,227, 18, 94,203,181,117,153, 64,147, 1, -188,186, 86, 97,105,221, 52,136, 88,214,141,185, 51, 47,255,124, 42,127, 88,239,114,204, 96, 52,168,159,191,120,165, 70,195,209, -136,209, 85,161, 2,144,103,175, 78,182, 42,247,181,247,191,222, 44,151,239,124,249,107,121,219,228, 10,127,137, 85, 20,188,195, -242,238, 85, 83, 41, 43,254,155, 79, 23,214, 54, 32, 40, 19, 90,142,170,174, 97,157,108, 57,207, 76,152, 84,199,219,251,228, 28, - 17,107,106,193, 72, 21,128,208, 87,158,156,183, 24, 77,204, 5,111, 41, 97,229, 46, 78, 46,175, 38, 23, 0,114,239,193,195,179, -231,159,156,156,157,187,225,134,181,141,117,201,168,234,143, 70,182, 60,107, 22, 87, 33,176,169, 46,151,171,179,203,203,147,171, -137,153,125,239,123,191,191,156,207,187,213, 89, 24,236, 1, 86, 91,251,247,247,238,220,157, 78,206, 63,250,201, 95,110,223,127, -123,235,214,163,174, 91, 57,215, 71,163,225,230,118,175,238,169,152,196,102, 48,218,188, 60,125, 90, 85,195,203,147,231,179,229, -114,176,177, 3, 68,159, 60,123,218,175, 7, 77,215,181,146,184,200,115,132,255, 0, 33, 84, 5, 47,162, 41, 38, 66, 2, 2, 83, -136, 42,227,186,247,181,183, 30, 45,151,205,193,249, 52, 38,225,155, 98,118, 64, 5, 19,176, 36,105,217,180, 73,100, 60, 28, 44, -155,166,141,157, 99,106,186,118,119, 99,227,114,182, 76, 41,237,110,110, 24, 64,191, 10, 76, 84,213,181,180,171, 80,245, 76, 90, - 67, 68,246,161,238,255,250,183,190,245,218, 59, 95, 24,141, 54,152, 93,183, 90, 29, 29, 30, 76,206,206, 95, 29,157,124,252,228, -233,179,227,227,139,201,164,118,244,149,219,187,119,119,119, 0, 97, 99,107,248,253,239,126,123,111,127,111,114,252,234,224,249, -211,165,234,249,244,106,107,115,243,167, 63,254,249,106,209,236, 14,123,227,222, 0,114,234,192, 50,199, 57, 75,100,234,157, 55, -192, 36,169, 10,181, 67,143,136,201, 4,115,199,178, 99, 0, 11,158, 85,243, 76,134,236, 3,227,250, 43,167,229,102, 67,136, 10, -249, 16, 68, 48,107,150,109,168,188,222, 36,179, 77, 29,114, 22, 51, 29, 81, 62,197,152,193,178, 9, 26, 9, 12, 68, 77, 82, 36, -210,174,233, 98,140,162,198, 55,122, 47, 80, 93, 87,109,148,224, 24, 50,177, 5, 81,132,206,123, 0, 0, 32, 0, 73, 68, 65, 84, - 89, 36, 47,237,153,216,221, 20, 79, 34,145, 1, 72,206,221, 19,122,199,107, 11, 47, 25, 18,136,114,112,192, 57, 33,143, 96,104, -162, 8,148, 63, 4, 4, 98,159,155, 66, 44,137, 58,231,138, 4, 5,192,128,158, 89, 1,201,113,102,183, 50, 51, 82, 89,231, 50, -231,238, 76,208,148,152,184,147,104,136, 46, 31, 19,204,129,160, 38,215,247, 78, 64, 79,175,166,219,155, 27,247,111,221,190,158, -205,213,196,212,218, 46,166,148,222,123,231,157,208,239, 29, 28, 30,167,204, 47, 81, 24,244,235,179,201,244,205,205,225, 27,247, -111,147,171, 12,133,152, 68, 84, 13, 42, 87,231,143, 52, 71,141, 56,120, 80, 52, 77,204, 62, 95,163,153,248,114, 54, 35,208,241, -104,131,170, 80,140, 64, 49, 58, 79, 38,218,197,174,107, 59,239, 93,211,118,106,169, 10, 46,199, 24, 85,210, 77,229, 6,123,111, - 96,146, 18,152, 57, 23,192, 49,168,169,169, 3, 0,162,166, 77,160,185,248, 1, 0,192,121, 44, 27, 99,211, 46,117,154, 79, 85, -179,186,118, 0,108, 40,162,202,127,254,199,127,160,240,249,190,165,220,249, 57, 51, 22,214,241, 85,179,172, 7,174, 95, 2,152, -223, 3,185,211, 99,125,137, 44,151,165,162,244,229,127,148,173,226,136,133,170,140,159,187,206,205,192,177, 91,204,231, 85,175, -239,185, 88,172, 16, 13, 52,111,246,114,105,158, 17,223, 24, 94, 74, 17, 32,226, 77, 51, 93, 70,226,100,188,251, 58,218,207,235, -188,233,250, 16,167,130,197,192, 27,133,216,138, 23, 94,172, 96, 85, 33,223,118,214, 50, 2, 23,199, 56, 56, 0,151,205,254,132, - 30,201,209,205, 70, 36,203,155, 57,151,148, 11,165, 16, 16, 48, 73, 28,109,222,246,245,248,131, 95,253,116,115,115,183,174, 66, -148,212,175,235,139,203,203,227,203,249, 55,127,227, 27,253,241,214,100,114,213, 46,151, 33, 84,206,249,242,145, 56, 42,204, 79, -205, 45,175, 14, 49,135,241,180,108,214, 51, 86, 19, 1,209,200,249,130, 91,115,174,128,131,214,111, 63, 83, 1,170, 70, 91, 91, -218,182,232, 56,159, 4,106,144, 73, 71,210,180,165, 59, 29,141, 66,109,109,119,240,244,233,124,222,244,250,189, 59, 91,131,131, -167, 79,206,167,139,204,209, 19,242,113, 53,185,117,255,241,236,250,210,108, 53,236,247,218,182,107,150,171,227,243,201,197,100, -210,171,195,155,247, 31,163,175,145, 56,137,178,227,205,141,225,120,123,235,244,248,132,123,163,237,157,123,205,234,106,181,152, -163,164,222,230,174,103,127,121,242, 34,174,230,211,217,180,109, 87, 0,140,152, 66, 53, 60,159,156,133,241,246,195,123,247, 47, - 47, 46, 63,126,246,164,242,222, 33, 50,145,128,229,165,110, 25, 81, 12, 84, 44, 56, 82,145, 70, 4, 0,234,224,239,223,218,121, -116,123,255,131,151, 7,159,188, 58,236,215,189, 42, 4,195, 28, 53,179, 27, 23,110,126,217, 70,233,186,182,243,204,171,174, 83, -180, 85,211,173, 86,203, 65,191,183,138,210, 52,205, 32,240,104, 48, 96,196, 16, 92,191,215,119,236, 98, 39,189, 65,253,224,254, -131,127,244,155,223,191,253,224, 97, 93,215,136,176,152, 93, 93,158,157, 30, 28, 31, 62,121,241,242,163,231,207, 95,157,158,199, -174,187, 61, 28,188,182, 53, 98,135,219, 91, 91,223,252,141,111,252,230,119,190, 67,100,151, 39,135,234,232,232,226, 92, 37,246, -122,189,167,207,158, 99,219, 61,216,219,206,198,176, 44,121, 22,252, 23,187, 42,244,188, 15,249,187,234,124, 64, 0, 5, 77, 18, - 1,128,128, 96,173,226,171,154,130,101,127,177,230, 66, 78, 34, 53, 17, 75,149,243,162,106,152,235,241,172, 75,106, 4, 85, 8, -102,249, 65,202,144, 55,202, 59, 22, 38, 66,178,252,252,198, 4,104,196, 62,111, 71, 8, 76, 85,187,197,178,137, 34,222, 59,230, -108, 70,177,236,152, 19, 53, 79,148, 85, 47, 19,209,164,196,121, 19,205, 64,168, 38,128,134,142,242, 46, 37,251,184,156,203,128, -132,156,124, 4, 34,204, 4,221,124,145,206, 61,186,136,232,153,162,154,119,236, 40,168,106,236, 50,180, 43, 0,162,105,121,117, - 1, 32, 58, 42,126, 13, 4,199,156, 93, 24,148, 53, 54, 2,231,179,120,139,235, 46,161,252, 21,206, 57, 45,116, 76,149, 11,163, -224,170,224,231,171, 38,106, 34,128,126,213, 91,181, 93, 8,110, 52, 28,189,241,248,209,238,173, 91, 32, 73, 13, 98,215,189,249, -218,195,227,139,235, 13,167,191,254,214, 99, 10, 61, 68, 74, 93, 4, 0, 31,152,128, 65,213, 12,136,152,157, 51, 68, 19,205,221, -155,121,177,236,217,181, 81,174, 38,215,187,155, 27,190,223,255, 60, 21,132, 16, 99,148, 78,178, 25, 64, 82, 98,151, 43, 6,139, - 22,201,204,153,114,136,196, 0, 20,187,142, 9,153,153,153, 52, 74,222,201, 73,134,223,230,106, 11,196, 98,160,146,252, 14, 7, -134,114,187, 65, 2,239, 60, 2,138, 41, 3, 68, 49, 87,130,146, 37,166,143,160,166, 0, 12,153, 65,145,111, 83, 10, 72,101,196, - 95,239, 64,193,200, 4,254,193, 18, 30, 0, 13, 5,115, 83,199, 77,205, 7,162,161, 67,144,172,117, 90, 81,192, 51, 38,201, 68, - 5,188,227,249,162,169, 93,223,146,130, 83, 52,128,164, 96, 0, 46,107,152,168, 55, 6,110, 2, 68,191, 46,227,206, 58,110, 2, - 91, 51, 80, 11, 99, 62, 15,238, 89,157, 84, 4, 82, 81,205,117,126, 6,196,133, 93,134, 55, 64,156, 53,196,191,224,149, 29,129, -228,179, 59,228, 75, 16,146,154,121, 66,188, 41,250, 40,174, 33, 3, 68,116,134,134,166,136,140,108, 38,169,235, 92, 53, 24,108, -222,126,255,254, 59,207,158,126,250,226,229,179,119,222,121,199,208, 66,221,123,251,141, 71,127,249,239,255,195,223,253,244,163, - 31,252,227,239,189,122,250, 23,183, 31, 62, 6, 77,109,183,236,245, 71, 10,198, 72,104, 42, 34,235,212, 1, 32,170, 33,152,154, -105,102,159, 74,206,155,169, 42,138,250, 16,138,125,126,253,247, 95,179,173, 41,248, 96,201,200,123, 0, 67, 70,235,196, 57,151, - 61,148,138,232, 42, 15, 8,150,242,208,199, 73, 49, 54,203,197,242, 44, 54,247, 19, 7, 32,239,136, 17, 24, 36,109,239,222, 21, - 85,114, 3,182, 5, 32,155,170,128, 78,231, 11, 81,189,179,115,119, 99,188, 53, 91, 92,139, 73,175, 55,168, 6,189,237,253, 59, -104,230,124, 24,111,223, 53,228, 80, 13, 17, 3, 72,215, 45,231,203,213, 84, 76, 12,171,205, 91,247,156,171,219,217,249,106, 57, -237,141,239,172,212,227,114,182, 92,204,239,223,189,253,252,213,203,195,139,139,173,241,120, 88, 85,216, 38,201,156, 82, 34, 21, - 51, 80, 38, 66,197,186, 10,169,105,239,223,218,221,218, 24,159, 92, 92,254,248,163, 79, 12,128,152, 46,167, 87,204,155, 85,168, -140, 45, 37, 51,176, 92, 70,155, 82,202, 93, 45,209, 18, 2,246,235,170, 21,241,140, 33,132,166,109, 30,220,190,243,234,244, 84, - 52,121,118,183,118,182,151,139,101,175,223, 55,149,189, 91, 59,239,189,255,205,123, 15, 95,175, 7, 61, 51,136,237,234,106,114, -121,125,117,241,252,197,193, 71, 79,159, 31, 95, 78,166,243, 89,223,225, 87, 30,220, 11, 68,203, 46,190,247,165, 47,126,251, 55, -191,211, 31, 14, 47, 78, 94, 94,156,157, 54,236,207, 79,143,175, 39, 87,243,101,179,156,205,119,250,189,189,205,205, 12,116, 35, - 51, 50, 48, 3, 38, 32,231,178,119,183, 75,202,235,185, 8,203,194,179, 24,182, 50,253,149,204,152, 80, 17,187, 38, 18,145,115, -206, 0, 50, 57, 0,201, 37,145,192,100, 6, 73, 68, 65,131,227, 60,203,231,163,217,146,174,115, 75, 12,140,142, 72,172,148,178, -250,192,196, 36,201,136, 17, 29, 37,233,242, 96,232,125,240,193, 33, 18,173,235,141,215,248, 40,200,186, 72,222,105,112, 33,116, - 16, 20,218,224,218,217, 12, 64,168,206, 7, 96, 36,181,104,154,215, 41, 42,186,166, 90,149, 53,102,197, 28,213, 20,160,246, 46, -138,136,118,128, 22,106, 7,138, 41, 37, 46,215,116, 64, 34, 16,141,173,248,224, 29,130, 8,100,203, 10,153,199, 76, 23, 65,202, -241,248,146,118,230,236,158, 52,114,214,243,204, 14, 82,212,164,214,135,234,158,115, 85,224, 23,103,151,227, 81,191,174, 7, 77, -108,119, 55, 55,238,220,190,235,156,251,244,227, 79,106,239, 94,127,120,111,212,175,187,164,221,114,246,222, 23,223, 8,189,126, - 66, 86, 21, 23,124,182,140,136,116,236, 93, 46,223,179, 66, 89, 54, 85,203, 86, 81, 21, 72, 34, 87,215, 83,239,160,234,215,101, -147, 68,136, 0,171,182, 69, 16, 71, 92,122,203,205,145,165, 46,111, 32,215,133, 76,184, 94,248,138, 36,102, 2, 36, 69,180, 84, - 44,112,200, 14, 0, 48, 69,206, 80, 19,200, 41, 51, 5,242, 8, 70,204, 77, 76,166,137,128, 8, 32,197, 84, 10,155,137, 1, 34, -255,233,143,126, 15, 20, 53, 87, 31,225, 90,182,187,241,128,131,130,102,215,140,102, 96,241,122, 23, 65,166,166,104,165,138,163, -132,102, 11, 26,184, 60, 20,121,179, 97,101,157, 3,184,102, 47, 32,168, 25, 35,129,153,164,110,214,116,219,195,129, 34,100, 74, - 39,130, 21, 21,116, 77,218,202,115,153,138, 33, 26,173, 27,166,178, 19,188, 8,148, 76,104, 25,226,142, 80, 66, 82,153, 94,157, -191, 53, 69, 36, 69,176,194,222,231, 98, 18, 42, 24, 59, 45,175,172, 2, 48,206,151,190, 50,249, 91,246, 78, 2, 80, 89,121,230, -235, 76,126,230,145,114,154,143, 9, 37,181, 92,111,236, 61,120,211,249, 10, 13,238,236,223,253,217,223,255,141,175,234, 81,191, -175,192, 85, 85,117,203,197, 71, 79, 95,126,225,241,235,231,103, 71,174,234,213,189,170,157,175,216,251, 44,250,131,152,169,101, - 72,228,141,229, 40,251,235,173,120, 37, 17, 84, 9, 29, 51,101,101, 41,235,186,153, 16,130,136,200, 4, 98, 68,174, 55, 28,151, -158, 15, 69, 75,137,168,112,182, 65,209, 85, 65,163, 2,152,198, 40, 93,119,248,226,229,197,241,179, 10,245,141,119,191,124,126, -181,154,175,146,165, 86,208, 13, 55,183, 6,155,219,147,147, 3,105,102,117,109,190,242,179,233,244,242,226,234,197,225,225,245, -116,242, 59,191,253,195,123,143,222,186,186, 60,100, 21, 52, 25,239,221,185,117,231,206,245,197,217,229,249,113,206, 63,155,193, -226,250,148,129, 86,177,139,106, 33, 12, 24, 52,181,141,175,122,243,197,213,173,253, 7,171,197,100,145,244,213,241,209,197,197, - 5,169,221,190,181,255,242,213,193,108,181, 68,196,162, 56, 33, 3,192,160,223,223,223,222,189,189,123,103,123,115,235,222,222, -254,155,247,111,205,218,246, 87, 79,159, 79,151, 43,206, 56, 83,196,100,210,181,113, 80,213, 12,200, 76,162, 89,158,135,130, 26, - 33, 96, 8,204, 8, 96,109,151, 6,189,122,127,123,247,106, 62,143, 41, 14,250,189, 89, 19,137,169, 95,247, 7,117,237,188,123, -243,237, 47,124,231,119,127,111,255,254,163, 80, 85,102,208,182,139,139,179,179,147,163,163,143, 62,123,250,139, 79, 63, 59,188, -184, 92, 53,139,253, 97,255, 11,251,183,201,204,147,253,254,239,253,238,183,190,251,253,249,244,242,229, 39, 31, 8,225,213,108, -118,113,126,118,120,112,220, 53,237, 70,229,247, 54, 55,123,253,192,142,196,114, 79, 16, 39, 21,239, 28, 51, 87,189,218, 84,141, -172,242,204,134,185, 65, 35,123,116,147, 8,179, 99,228,104, 49,231,206,197, 64, 85,153,200, 57, 78,162, 25,118,167,150, 55, 56, - 40,170, 98,185, 84, 47, 24, 1, 1,128, 90, 8, 1,212,186,216,121,231,138,167,146, 73,237,230, 69, 3,102, 70,236, 66,240,102, -166,162,142, 89,213, 68,165,246, 1,144, 28,241, 77,222, 28, 12,156,163, 28, 94, 34,114,206, 59,116,236, 28,151,168,170, 35,211, -148,186,200,128,196, 46, 11,253,249,219,106, 37,141,143,150, 84, 36,101, 11,140,153,101,163,181,152,185,224,188,207, 90,130, 6, -207,107,194, 45, 33, 97,210,242, 27, 52,131, 76, 76,203, 24,250,156,255,178, 44,101, 2,100, 8,176, 38, 41, 75,121, 3, 99,244, -236,216,115, 29,252,112,128,149, 19, 3, 0,204,107, 16,172,136,118, 55,250,211, 85,247,252,240,104,123, 99,227,141,215, 31,237, -221,189,189, 92, 46,159, 62,125, 62,185,154, 14, 7,253, 47,125,233,139,231,151, 23,253,186, 26,142, 55,217, 52, 16,113,168, 68, -149,188, 51, 1,231,189, 39, 76,166, 6, 80, 85, 85,166, 94,102,129, 76, 85, 65,117,217,164,249,124,186,183,185,225,235, 58,111, - 41, 36, 99,191,184,116,143,132, 80,153,154, 20,253,147,208, 32, 73,182,129,186, 60,134,122, 2,224, 92,186,157,231,104,134,130, -106, 81,203, 7,102,249,143,130, 72,206,135,252, 81,139, 8, 19, 6,114, 64, 28,147, 16, 90, 86, 55,137, 76, 12,249, 95,252,147, - 31,221, 48,186,114,108, 30,204,242, 17, 88,224,234,229,100, 46,139,153,245, 6, 39, 51,187,176,152, 17,139,240,153, 45,225,185, -119, 15, 16,208, 74,223,213,141,143,114,205, 17, 91, 63,109,196,120, 61,155,239,237,237, 88, 20,200,145, 75,164, 18,208,192, 82, -149,151,127, 48,229,166,214,178,251, 70,181,124,115, 5, 67, 68, 45,205,126,184, 94,196,148, 69, 13,150,134,244,178,195,200, 95, -164,146,191, 42,122,112,217, 5,216, 77,165,120,118,180, 56, 68,203,193,238,124,217, 55, 48, 98,198,108, 97, 44, 27, 80, 82, 75, -217,217, 32,210, 57, 55,220,125,248, 54, 35,105,106, 65,213, 48,253,245,191,255,127,212,116,184,177,225, 92, 80,176,126,229,159, - 61,125, 78, 68,239,191,255,181, 20,187,222, 96,180, 90, 78, 1, 92,240, 30, 76,129, 29,160, 49,115,214,174,215,229,176,229, 99, -203,151, 20,118, 1,153, 51,159,207,214,159, 99,158,247, 12, 12,129,204,160, 55,222,235,109,140, 76, 5,209,105,219,144,119,232, - 40, 83,130, 75, 88,192,140,208, 82, 23,197,240,201, 71,159, 76,206, 94,109,109,223,122,253, 75, 95,121,241,242,224,228,248, 8, -201,213,129,187,249, 5,170,196,110,201,222,215, 53,152, 89,187, 88, 30,157,159,191, 60, 57,107, 99,247, 91, 95,255, 13,244, 21, - 80, 29, 6, 91, 85,191, 87,245,250,227,205,205,233,213, 36,198,214, 98,219, 92,157,248,254,118, 85,241,106, 58,211,148,130,247, -109,187, 20,177,254,160, 47,178, 26,141,247,147,201,103,159,254,234,114,177,250,234,151,191,222, 31, 12, 8,181,223,171,151, 93, -115,122,113, 97,136,129,243, 70, 88,115,113,193,108,181, 92, 46, 23,155,227, 90,165,253,232,249,193,229,108,158, 36, 3,101,233, -230,138, 40, 34, 41,197, 80,213,185, 95,190,104, 63,249, 86,171,226, 61, 43,114,112, 60, 30, 15,251,117,189, 49, 28,137,196,235, -233,188,223,171, 31,222,190,125,116,121,217,182,205,189,253, 91,223,249,222,119,191,250,205,223,234,143,199,192, 36, 93, 92, 92, - 95, 92,156, 30, 31, 28, 29,253,234,227, 79, 62,124,242,252,236,106,106,113,245,214,222,222, 27,123,183,146,200, 23,190,240,230, - 15,255,228,159,238,222,218, 57,124,246, 25,247,170,147,201,164,105, 87,189,141,209, 71,159, 61,117,141,222,218, 24, 85,149, 87, - 64, 4, 18, 67,199,172,102, 68,202,142,217,185,124,212, 2, 99,134,136,230,130,209,236,212, 2, 32,239,216, 74,160,130, 24, 81, - 77, 37, 37, 68, 82,179,182, 75, 55,115,189, 11, 14, 12, 36,138, 22,151, 0,170,165,252, 7, 51, 72, 41,154, 41, 59, 78,144,193, -147,152, 73, 71,217, 66,135,144, 31, 34,146, 46,102,183,177,130, 85, 85,189, 46,201, 10,236, 41, 15,194, 76,132,185, 64, 14,144, -156,175,170,128,136,196, 76, 88,252, 28, 0,156,213, 53,188,113, 4,168,154, 40,231,176,120,161,200, 2,123, 15,107, 39,111, 18, -113,149, 99, 36,208, 12,151, 2,199, 62,139,132,107,232, 2, 81, 70,238, 0,102, 30,132,137, 38, 85,186,169,111, 91,167,251,243, - 89, 73, 84, 98,152, 24,152,129,144,192,123,116, 30, 29, 53,204,154, 12,165, 83,116,222, 28,178,227, 10,177, 66,155,182, 29,162, -171, 43,239,157,235, 98, 92, 46, 27,231,120,103,111,107, 58, 91, 93,158,159,221,187,125,123,149,116,209, 53,163, 16, 92, 38,197, - 18,186,172,130,136, 57,207,140, 20, 69, 66, 8,154, 23,168, 10, 20,156,154, 93, 94, 94,247, 2,245,135, 67,100,151, 79,137,146, -250, 7,117, 76, 6,164, 73, 96,237, 58, 37,200,115, 41, 1, 90,148,164,106,206,177, 33,153,228,141,157,178, 15,185,186,199, 12, - 12,244,134,189,149,119, 40,204, 4,134, 73, 69, 77, 42, 31,114,175, 96, 30,219, 13, 32, 37, 97, 71,193,251, 46,138, 43,162, 79, -198, 32, 40, 32,170, 1,129, 74,126,241,139, 38, 64, 52, 19, 38,159, 67,244,249,204,213,108,156, 2, 44,165, 85, 57,182, 90,154, -158,208, 0, 52, 1,115,238,154, 65, 51, 43,117, 26, 5,217,152, 97, 55, 2,128,190,234,147,158, 45, 35, 5,135, 38, 37,163, 87, -102, 88, 69,163, 66,231, 45, 37,171,150,145,121,104,217, 72,161, 37, 13,149,225,106, 57, 44,244,249,221, 14,129, 24, 98,202, 33, -175, 2, 28, 37,128,148, 52,207,238,185, 35,204, 4,136, 28,129,101, 57,193, 76, 12, 0,185, 3, 3, 99, 71,166,107,112, 61, 65, - 41,241,138, 8,140,249,218, 12,140, 76,160,209, 87,227,237,187,111, 16, 65, 59,159, 57,246,203,118,254, 63,254,247,255,195,183, -126,251, 15, 63,250,229,223, 28,159, 28, 62,188,247,186,103, 30,110,108,189,245,214,227,127,251,215,127,251,205,247,127,109,114, -113,118,122,114,210, 52,203,221, 77, 8,193, 87, 85,207, 36,145, 15,152,109, 64,170, 55, 96, 28,145, 44,183, 18, 2,178,243,102, - 70, 76,196,168, 98,150,148, 42,135,136, 38, 9,179,133, 70,193,213, 85, 94, 85,170, 68,170,188,175,130, 36, 49, 81, 3, 50,139, -146,148, 60,202,170, 67,213,110,185, 92, 94, 29, 18, 18,135, 10,136,201,132, 92, 61,218,232, 49, 50,244,234,216,172, 92, 53,114, -212,144, 11,210,197,216,165,233, 98,217,180,237,176, 63, 28,247, 7, 64,182,115,107,239,250,244,116,122,113,112,247,193,107,177, -105, 1, 25,212, 37, 97, 85,110,151,179,171,147, 39,231,167,135,183,110,191,214, 45, 47,134, 27,251,206,135,213,252, 98, 53,187, -212,129,138,129,186, 65,183,188,250,201,207,255, 54, 4,119,112,112,184, 92,206,123, 92,189,245,240,209, 98,177,200,101,144,128, - 32, 42, 6,112,127,111,183,223,247,151,147,249,241,229, 68, 36,245,171,106, 80,133,139,233,180,211, 82,199,152,159,220,121,215, -202,213,100,119,123, 19, 17, 53,139,226,201, 12,161,174, 7,142,176, 75,169, 87, 85, 49, 37,231, 61,160, 13,251,195,126,221, 63, -191,190,138,233,120,123, 99,235,119,190,251,157, 31,254,254, 31,246,134, 67, 81, 1,208,213,244,122,122,117, 62,185,184,122,121, -112,240,233,179,103, 7,167,231, 87,211,249,237, 81,255,254,214, 46,139,214,189,250,143,126,244, 7,111,188,249,230,229,241,225, -139, 87, 7,110,107,227,232,228,232,240,240,104,181,138,139,217, 98, 84,247,182,247,198,204,148, 84, 52,165, 80, 85, 73, 58, 43, -231,100, 6,170,172, 3,122, 8, 41,137, 18,105, 82,116,152, 33, 76,154, 47, 31, 0,136, 20, 37,113,169, 52,241,201, 18,130,229, - 6,100, 85, 12,193, 73,210,152,132, 88, 61, 57, 84,136,102,142, 29, 25,164,168, 49, 69,246, 44,162, 46,167, 33,203, 85, 29,137, -157,153,130, 26, 7,111, 81,164,139, 84, 48,115,232,200,153, 73,191,223,235,186, 78, 76, 8, 60,168, 49,161,152, 24,144, 67,207, -206,161, 65,210,228,156, 71, 70, 84, 51,129, 36, 74,222,192,128,137, 85, 81, 44, 91,182, 45, 91, 78, 85, 18, 18, 59,207,146, 80, -215,252, 44, 32,242, 76, 32,160,166, 34,210,171,107,201, 14,123, 3, 34,210,117,172, 50,247,197, 58, 31, 76, 33,197, 14, 0, 50, -114,129,152,129, 12,196, 24, 44,198, 84,240,184, 25, 92,152, 49,226,142,209,186, 64,209, 59,232,162, 52, 77, 52,243, 0,129,200, - 48, 25, 33, 38, 67,100,255,218,107,143, 38,147,233,249,229, 21,145, 27,142,122,111,189,249,134, 72, 34,199, 63,249,201,207,150, -171, 85, 29,194,178,237,234, 80, 53,241,242,245,157,237,126,168, 82, 50, 37,201,102, 21,149, 14,209, 85,222,199, 24,115,190,132, - 3, 74,146,182, 73,166,105, 60,218, 6,192,148, 26, 34,118,174, 82, 5, 34, 37,116, 41,117,206,177, 82,134,185, 27, 57, 70, 81, -199,104,106,121,132, 71, 87,224, 94,121,131,103, 70, 41, 38,135, 64,204, 32,178, 74, 17, 68,123, 85, 63,111,134, 29, 81, 82, 81, -211,186, 10,146,160,137,157,169,120,231, 16, 33,154, 18, 66, 29,156, 0,116, 81, 84,147,195,155,105, 49,247,106,100,211,119, 54, -156,103, 99, 36, 0, 81,126, 3, 75, 54,164,128, 89,169,146,128, 12,155, 65, 48, 33, 38,149, 28, 57, 53, 84, 99, 15,153,167,187, -238,218,131,178,204, 95,183, 89, 32,187, 60,252, 14,106,119,122, 53,127,109,175, 78,154, 76, 81, 83, 71,174,206, 26, 59, 25, 16, - 26, 96, 6, 54, 2,230,179,111,141, 30, 54,211,114, 69, 64, 99,204,216, 72, 66,206, 14, 91, 3, 53, 49, 64, 69,164,226, 27, 42, -228,132, 82, 32, 96,172,104, 8,196,229, 70,137,165, 95,132, 0, 1, 36, 33, 25,104,126, 15,100, 14, 67,105, 74, 42,252,100, 53, - 3,197, 92,112,233,135,155,183,223, 32,164,184,156,131,129, 72,250, 95,254,167,255,249, 75, 95,251,205,111,255,167,191,187,152, -158,125,252,225,207,199,131,173,205,237,109, 31,252,195,135, 15, 62,123,246,226,127,255,191,254,239, 63,254,131,223, 62, 58,124, -177,104,250,183,239,221, 61, 63, 63, 53, 52, 71,156,137, 19,107,255,169,113,240, 41, 9,128,229, 88, 4, 34,169, 8, 59,199,236, - 0, 12,201,188,167,194,248,225, 96,160, 6, 74,236, 66, 8,228,189,153,211,182, 69,246,177,109, 16, 29, 18,128, 36,141, 29, 57, - 75, 81, 76, 20, 68,150,167,199,169,107,155,118, 73,161,135, 76, 70, 21, 0,196, 78, 18, 64,111, 56,108,103, 83,212,206,247, 34, - 65, 47,106, 90,181,205,245,124, 17, 83,220,191,117,123, 25, 19,205,231,179,233,108,113,121,184,185,255, 58,251,222,201,241,209, -233,233, 17,167,213,114, 58,217,186,253,184,153,207,183,239,188,189,177,251,168,139,173,165, 97,108,174, 16,250,237,226,170,234, -141,201,249,197,108,122, 57,159, 29,157,158, 84,190, 82,137,163,209,198, 98,181,218,217, 30,134, 58, 60, 95, 45,147, 73, 82, 85, -209,141,209,240,222,222,222,178,107, 63,124,126,232, 0, 8, 77, 16,187,212,121,230,241,112, 56,153,206,242,149, 43, 63, 95, 8, -184,138,237,116, 62,223, 30,143,172, 45,170,180,129, 73,138,139,174, 13,193, 15,251,155, 87,211,121,211, 52, 75,102, 1,168, 42, -119,103,119,119,111,111,231,191,251,111,254,219,119,223,253,210,233,100, 18,219, 85, 74,113, 62,185,188,154,156, 93, 93, 93, 63, -121,241,226,227,231, 47,207, 46,174, 84,226,227,221,141,135, 59,219,201,224,225,131,187,191,255,195, 31,122, 71, 79,126,245,211, - 38,197,179,139,179,233,179,167, 81,116,190,106,108,214, 60,218,221,206,166,149, 36,102, 8,222,135,148,132,145,213,140,217, 49, -113, 82, 81,128,202,251, 85,215, 48,112,118, 19, 43, 9,129, 47,161,105, 83, 64, 8, 62, 52,171,150, 24, 21, 57, 73,155,119,146, -132, 4,144,178,111, 98,213,116,206,177,247,142, 1,197, 84,192,152, 80, 37, 9, 0, 33, 85,149, 23,177,218,185,108,126, 43,212, -116, 36, 85,113, 33, 88,138, 42,209,202,127, 99,236, 8,173, 88,144, 99,234,156,119,165,233, 23, 73,147, 1, 97, 8,193, 59,238, -146,186, 92,150,160, 10,134,228, 72,146,178, 35, 80, 96,246, 98,130, 88, 44, 2,228,243,166, 94, 28,115,206,166, 18, 49,130,137, - 42,121, 66, 64, 17, 53, 80,231,208,161,139, 93, 66,196, 4,234,202, 62,129, 68, 75,169, 5, 38,212, 46,229, 27, 52, 50,229, 6, -100, 64, 32,114,169,107,147, 73,134, 52,176,247,197,251,231,156, 74, 2, 75,192,232, 67,165,113, 41, 17,155,200,189, 94, 8,190, -110,218, 68, 72, 34,178, 84, 9,183,246, 23, 71,167, 79, 95, 29,136,200,201,217,121,175,170,222,251,226, 23,134,155,227,167,159, - 61, 91,204, 23,201,244,233,203,163,126,191,218,123,109,251,244, 98, 18,245,242,222,214,214, 70,237, 29,113,211,117,193, 59, 71, - 85, 39,218,172, 26, 98, 46,175, 61, 49, 77,178, 92, 45,234,202,187,186, 86, 77, 72, 30,129,146, 36,199, 94, 84,146,180,236,156, - 65, 41,164, 3, 64,206, 99, 57, 64,178,232,216,105,174, 3, 71, 0,209,224,170,100,162, 41, 17,160, 33,161, 42,152, 57, 37,116, -156, 36,101, 68,101,215, 53, 36,234,152, 82,236, 16, 40, 56,175,192,170, 6,146,152, 28,104, 82, 64, 73,209, 33,154,170,203,114, -142,153,228,159,173,182,166, 44, 20,249,145,214,149, 46,101, 35,175, 80, 62,112, 0, 53, 40,247, 52,195,108,176, 45, 74,167, 21, - 95,100,201,193, 18,165,181, 57,102,109,219,194,117,103,148,234,246,206,238, 39, 47, 14,117,255,109,131, 14, 9,141,216,202,168, - 93,188,178,144, 41, 8,154,255, 93, 93, 47,170, 63, 79, 58,149,158,115, 43, 55,136,172, 44,107, 17, 39, 11,238, 88,138, 38, 2, - 37,222,151,143,135,108,176, 65,180, 92,197,183,182,118,194, 58,150, 10,107, 36, 66,126,150, 81, 13,145, 13, 20,114, 16, 66, 13, -125, 53,222,189, 71,177,105,151,173,137, 86,131,141,191,252, 63,254,215,189,253,123,223,253,193,183,210,197,217,251,191,254,237, -103, 79, 62, 57, 63, 59, 25, 12,122,193,247,234,190,188,247,238, 59,255,238, 63,252,245, 55,190,246,149,199,111,190,243,225, 47, -127,118,120,248, 28, 68,125, 21, 48, 12,146, 68, 2,133,146,108,178,216,197,188,150, 50,203, 4, 52,135,148, 93,112,100,166,142, -110,100, 57, 48,135, 40, 12,160, 92, 85,206, 59,137,157, 22,215,148,100, 74,120,198,138, 17, 15,173, 93,105,155,208,179,166,164, - 6,198, 1,184, 71,161, 39, 73,144, 16, 45,197,136,131, 81,189,184, 60, 73,171, 69,127,188,133,148, 12, 48,117,113,177,106,154, - 54,154,217,195,187, 15,183,111, 61, 60, 63, 63,233, 22, 87, 91,251, 15,170,186,106,150,203,197,116, 1,203,217,244,250,120,116, -235,141,110,213, 88, 90,213,117,117,126,122,192,213,192,135,186,107,168,105, 91, 36,116,161,234,247,251,199,167, 71, 81,245,241, -107,143,145,236,229,203, 87, 42,178, 61,222, 90, 54,139,174,107, 66, 85,205,175,174,198,195,254,131,237, 77,101, 58,189,184,188, - 88,204, 29, 56,231,168, 19, 69,100,207, 8, 8,158, 97, 99,208,187, 94, 44,213,214,144,103, 3, 36,152, 46, 22,128, 48,170,250, -217,207,100, 10, 28, 56,120,223,118,105, 50,189, 10,190, 74, 98,139,182, 37,128,157,173,205,127,246,163, 31,125,255,123, 63,216, -222,221,155, 47, 86,150, 98,187,152, 95, 79, 46, 38,147,139,211,179,179, 39, 47, 94, 62,125,117, 52,157, 47, 6,193, 61,216,189, -213,167, 56, 30, 13,190,247, 59,191,243,240,225,131,229,114,222, 54,221,193,233, 9, 59, 26,236,108, 30,158, 79, 46,142,206,118, - 55, 55,246,239,237,139,152, 90,142, 31,194, 13,225, 54, 3,193,179, 77, 46, 83, 92, 10,195, 22,128, 40,219,190,185,140, 62,106, - 46,176,154,182,177, 67, 7,132, 24, 37, 17,162, 15, 46,198,232,136,131,239,181,169,139, 34, 33, 91,105,205, 4, 12, 12,130,247, - 49,198,130,255, 50, 19, 69, 48,136,146,214,248,170,210,196,228,152, 32,165, 82,152,144,157,111,197,230, 6, 42, 34,152,152, 92, - 6,117,136, 25, 0,177, 39,135, 0, 4,146,249,163, 14, 77, 37,169, 17, 2, 36, 95,102, 66,204,142,142,252,157,163,117,151, 52, -249, 92,184,157,143,108,179,114,207,117,168, 73,192, 52,248, 74, 64,116, 93,129,237,184,216,139,205,140,153,137, 81,146,230, 81, - 14,205,229, 90, 80, 66, 4, 7,150, 52,197, 8, 32,158, 89, 76,193,204,196, 50,123, 54,198,232, 16,156, 35,199,144, 36,138,176, -168,177,115, 49, 17,162, 16,162,153, 46,187,206,111,110,137,243,139,233, 76, 85,163, 74, 59, 91, 50,211,213,116,250,225, 39,159, - 57,231,216,249,118,185, 48,132,249, 98,245,233,147,231,195, 94,223,143,194,243,243,243,253,241,120,191,223,243,181, 71,128,164, -134,107, 21, 1,212,128,144, 1,163,225,170, 89,237,110,142, 17,149,156, 83, 17, 5, 33,100, 81,129,114, 78, 24,153,228,197,122, -222, 74,229, 70,188, 16,156,198,148, 9, 91,249,168, 81, 19, 34, 2,231, 77,180, 19,241, 68, 62,120, 4, 18, 75,165,252,195,180, -246, 33, 65,178,210, 90, 65, 6, 16, 37, 58,224,117, 53, 42,196,212,145, 90, 50,139,109,231, 32,111, 79, 0, 32,195,173,242,250, -165, 24,192,243, 65,206, 8,150,169,211,156,249,184, 98,235, 68,106,238,228, 54, 80, 4,250, 60,113,153,203,230,208, 48,207,149, - 88,214,223,248,121, 35,133,166,178,168, 87, 13,131, 81,144,231, 49,162,247, 65, 98,100,230,108,182, 89,159,222,154, 51,114, 55, -164,119, 90,215,209,101,118, 11,103,172,174, 17,162,154,161,169, 41, 73,238, 19, 55, 21,203, 45, 45,165,126,210, 12,201, 50,254, - 32, 99,118, 0,200,145,129, 17,128,150,247, 85,161,174,175,107, 87, 11,111,216, 0,243,164, 0, 4, 68,190,164,106, 57, 12,199, -251,218, 53,203,197,220, 15,199,163,209,230,191,251,171,191,188,184,156,254,147,255,252, 15,218,174, 73, 77,220,216,217,249,193, -239,253,254,255,246,111,254,205,230,246,245,214,150,235,247, 6,119,239,221,125,237,222,157,191,248,171,191,122,227,241,127,177, -179,187,119,244,226,197,157, 7,247,167,215, 87,117, 61, 80, 85, 3,112,206,229, 16, 47,172, 59,230, 51,158, 41,151,100,153, 26, -176,230, 88, 72, 33, 56, 32,162, 50, 0, 8,168, 67,100,132, 36, 9,185, 50, 19, 75,121, 41,134,154, 26, 14, 61, 0,177,152,144, -193, 98, 34,102, 64,139,205,170, 10,190,223,171, 13,161,109, 22,236,168,215,239,199,216,116, 49, 58, 95,161,115,249,235,159, 98, -154, 47, 87,162, 9, 8,135,195,209,124, 62, 79,177,233,245,123,104,104,106,221,114, 46,105,213,219,216, 80,109,110,221,189,127, -121,116,188, 92,206, 42,231,130,235,117,205,140,137,171,193, 86,211, 44,118,246, 31,199, 24,153,194,209,229,213,197,100, 18,188, -155,205,103,215,211,235, 46, 73, 29,194,106,181, 88, 54,171,219, 59,187,111,220,185,181,106, 87,103,147,235,235,197, 34, 37, 35, -180,136, 38, 89,169,161,242, 92,169, 98, 21,220, 14,141,207,103, 51,209, 92,194, 11, 38, 8, 96,215,179,185,137, 13,122,125, 5, - 37,196,174,139,109,106, 7,189, 30, 34, 3,194,173,221,189,147,179,211,247,223,123,239, 95,255,171,127,253,250,155,111,130,217, -116, 54,107,154,213,245,249,201,249,197,217,244,106,242,226,240,213,199, 79, 94, 94, 92,207,230,203,213,237, 81,127,183,231,201, -210,111,253,230,119,191,250,205,223, 72,109,119,240,236,227,176,181,241,234,197,171,131,163, 99, 95,251,203,143,102,155, 85,239, -173,251,247,152, 89, 21, 68, 53,195,249,147, 40,103,252, 28,179, 99,140, 73, 1, 64,146,249,158, 79, 49,197, 36,158, 60, 33, 68, -137, 72,140,197, 64, 12, 64,216, 69, 49,211,138,157,130,117, 34,158, 56,130,137, 2, 19, 39, 83,235, 58, 1,237,133, 10, 84, 20, -243,105, 72,146, 84, 44,230, 47,128, 26, 4, 87, 42,203,186,152, 15, 92, 16,211,202,121, 32,180,220,111, 74,100, 6, 4,108,168, -196, 36, 49, 33, 3, 50, 57,240,206,177, 2, 38, 3,231,200, 85, 30, 20, 84, 13, 80, 77, 5, 57,215, 49,172, 17, 82, 4,166, 74, -182,214,165,160,180,167,154, 1,147, 7, 48, 0,201,237, 12, 41, 38, 23, 24, 12, 77,172,109,163, 35, 34,246,109, 23, 25,201, 7, -175, 32,146, 52, 64, 70,230,130,115,206, 68, 76, 0, 20,140,243,183, 15,114,231,160,154, 90, 42,189, 29,153,185, 68,200, 38,201, - 52, 37, 35, 2,172,189, 87, 77, 14, 99,229,114,127,189,151, 86, 75,213, 25, 34, 17,182,203,101, 12, 97,123,247,214,207,126,246, -139,151,135,135, 49, 37, 21, 65, 4,102,254,232,201,179,233,108,246,246,107, 15,171,224,192,250,157,180, 49, 73,219,182,170, 18, -106,159,146, 76,154,166,141,237,189,212, 15, 85, 48,246,128, 14, 8, 68, 5,193, 24,156,169, 94, 76,174,107,166, 94,175, 39, 98, -206, 33, 58,151,186,148, 39, 69, 98, 84, 37,102,140,106,185,209, 84, 84, 36,198, 16, 2, 51, 24, 58, 5, 69, 2,109,219, 8, 70, - 0,222,187, 76, 70, 69, 48, 66, 20, 19, 75,138,204, 38,108, 32, 4,192, 68,132,172,166,185,130, 77, 68, 1, 21,149, 12, 65, 85, - 29, 25, 48, 27, 96,219, 44,243,161,199,127,250, 39, 63,164,210, 97, 93,204, 78, 57, 48,157,221, 54,249,151,154,243, 11, 57,180, - 74, 72, 80,198, 98, 88,247, 73, 81,254,147,228,237, 48,220, 84,106,175, 43, 85, 97,125,192,150, 66, 84, 40, 29, 89, 8,204,232, -171,126,106, 22,147,166,219, 28,244,242,123, 5,168,116,159,174,169,145,101,183, 15, 5,181,179,254,161,107,209, 22,203,146, 95, - 76, 19, 2,231,102, 16,188,177,196,151,189, 83,185,103, 80, 38,209, 16,172,157,245,144,163,195, 0,104,106,170, 37,164,188,198, - 18,195, 77,106, 22,202,118, 92,242,164,164,200, 27,183, 30,121, 77,171,217, 53,249,170, 55,222,253,201,255,251,127,254,127,127, -251,203, 63,255,151,255,106,188,179, 25,187,148, 99,166,251,143, 31,159, 61,123, 62,185,186,232,247, 7,189,170,167,104,131, 94, -245,183, 63,249,197,206,198,104, 56,168, 94, 29, 28,236,221,187,191,152, 78,217, 57,239, 3, 59,159, 49,127,228,124,126,163, 18, -175,139,210,161, 20,129,100, 3, 46,220, 20, 40, 18,103, 66, 14, 2,114,168,123, 91,187,214, 70,118, 46,251,152,192,121, 48, 65, -118, 96, 96, 77, 75, 76,169,107, 32,138,235,213, 23,231, 23,207, 63,251,164, 63, 28, 63,120,227,189,173, 17,191,120,246,172, 83, -114,140,237,170, 35, 95, 3,122, 38,117,218, 58,246,211,217,245,179,131,195,139,203, 43, 81,248,238,183,190, 95,123,143,132, 41, -105,215,197, 59,247,223,188, 60,126, 10, 85,125,242,233,207,118,239,188,102,139,163,147,163,151,224, 42, 80, 81, 75,131,205,253, -166, 89, 17,121,102,215, 53,243,213,244,188,137,241,248,242, 98,185, 90, 94, 76,206,174,174,175, 13,144, 17, 23,171, 37,162,219, - 28,140,238,239,110,158, 76,174, 62,120,250, 98,217,118,193, 85,227,225, 40,132,138, 8, 85, 12, 10,150, 35, 99, 47, 80, 13,123, -253,126,143,221,172, 89,150,141,253, 58, 90,209,106, 36, 68,231,188,169,130,105, 8, 97, 80,247,154, 20, 3, 57,145,248, 47,126, -244,195,255,250,191,252,175,118,239,221, 1,128,166,109,103, 87,215,179,139,179,179,243,227,131,131,131,143,158, 61,253,224,147, -103,151,243,165,117,221,163, 33,239,143,199,227,205,241, 63,255,103,255,244,203,223,248,250,241,243,207,140,186,167, 79, 95,254, -205,127,252,137,105, 90,182, 93,119,189,218, 29,141,182,199, 67, 98, 84,179,140,177, 69, 4, 53,169,216, 27, 64,237,157,168,117, - 73, 17,136,179,105, 93, 37,143,109, 73,147, 38,115, 57,203, 77, 64,132, 14, 72,146, 34, 50, 33,181,154, 16,160,242, 14,153, 60, - 58, 51, 97,230, 20, 35, 19, 57,162, 54, 70, 65, 97,100, 34,146,164,209, 20, 1, 99, 74,222,185, 64, 20, 85,193,160,252,101,136, - 42,239,188,247,146, 84, 5,144, 64, 82,110,228, 32,212, 12, 81,209,236, 82, 70, 2, 98, 6, 34,239,188,243,204,196,177, 19, 42, -109,204,202,159,127,188, 64,200,236, 8, 16, 25,185,208, 78,144, 76,164,116,153,113,105,236,203,171,234, 20,163, 39, 6, 68, 83, -141, 41,121,231,139,139,142,137,153,204, 18, 24, 50,162, 34, 56,239,192, 76, 98, 4, 66,199,108,152,255,158,142, 28, 49,179, 98, -126,121, 3, 0, 56,226,204,163, 66, 77, 64, 36, 41, 33, 17, 57,236, 82, 71,132,206, 99,221,247,206,145, 34,169, 16,115, 64,118, -160, 22,219,102, 42, 54,190,251,112, 54,155,191,122,246, 98,190, 88,154, 8, 34,238,239,237,142,135,163,243,211,179,199,219, 27, -177, 93,184, 80, 63,184,127,187, 93,197, 36, 34,102, 41,165,249,124, 57, 26,244,183,183,183,142, 47, 39, 11,145, 10,201,179,137, -161,169, 32, 24,168,154,232,178,137,179,249,116,107, 60, 10, 33,212,189, 30, 50,117,177, 69, 67, 67, 65,228,124, 6,170, 10,136, - 73, 23, 59,137,181,115, 64,212,197, 46, 38,113, 4,222, 85, 49,137,170, 5,207,156, 91,225, 0,200, 49, 32, 39,233, 24, 9,217, -139, 38, 66, 12,228, 82, 18, 53, 13, 62, 83, 55, 65, 74,230, 3,145, 80,162, 48, 81, 39, 98,217,139, 99, 70,200, 49, 41,255,243, - 63,249, 35, 6, 34, 96, 68, 99,162,155,162,189,140,172,203, 8, 2,184, 97,138, 1, 98,190,114, 26,222,164,159,214,227,110,158, -254, 13, 11, 21, 11, 50,115, 55,165,117,231,224,154,136,152,235, 8,214, 69, 26,132,168, 85, 8,103,103,151,155,227,177, 22, 45, -209, 16,145,179,155,135,110, 58,208,243,170,198,110,216,144,249, 2, 65, 89, 17,208, 53,142, 6,141, 74, 60,137,224,134, 76,133, - 64,144,177,120, 25, 73, 10,217, 6,105, 6, 38,249, 34, 64,165, 46, 1, 48,255, 15,145, 28, 97, 64,116, 68,133,117, 69,235, 66, -141, 28,162, 31,142,247, 29,232,252,226,216, 87,131,193,198,246,243,207, 62,250,139,127,251, 31,255,179, 63,255,151,119,239,239, -205, 98, 88,172, 0, 0, 32, 0, 73, 68, 65, 84, 47,230, 11, 68,116,193,115, 8,136,180,123,239,193, 7, 63,253,251, 94, 47,120, - 31,170,208,243,190,154, 78, 39, 31,124,246,244,215,190,244,238,253, 7, 15, 22,179,105,221,235,173,102,243,170,170,205, 4,200, - 57,174, 10, 79,223, 82,174, 33, 52,203, 25, 96, 46,182,184,117, 25,113,185,126,163, 67,100,181,212, 31,111,135,170, 87,118,106, - 76, 42,136,150, 10,241,205,121,149, 36, 93,219, 77, 39, 92,247, 8,233,252,240,240,240,232,229,230,237,135,123,183,118, 7, 27, -163,103,207, 94,173,150, 75, 75,105, 57,187,178,212, 50,249, 16,168,242,166,170,231, 23, 23,175,142, 78, 38,179,153,115,252,250, -237, 59,210, 44,218,102, 41, 18,119,246,110,135, 42,204, 23, 43,135, 54,222,217,111,163,168, 68, 35,214,118,217, 31,110,134,254, -168,157, 95,184,224,130, 15,210, 78, 23,243,107, 32,247,234,228,248,197,233,241,189,253, 59, 49, 37,252,255,169,122,179, 95,207, -178,235,190,111, 77,123,159,243, 27,238, 88, 99,207,221,236, 73,164, 72, 74,156, 36,146,226, 40,106, 36, 69, 81,164,133,200, 38, - 69, 89,177,173, 40, 72,140, 12, 22,242, 18, 36,128, 31,243, 15,228, 37, 47, 9, 2, 35,128, 96,196,116,100, 11,176,104, 72,130, -172, 64,150,100,155, 18, 7,145,236,169,170,250,214,173,186,117,231,225, 55,157,179,247, 94,107,229, 97,159, 95,181,242,208,232, -135,174,170,174,170,251,187,231,236,189,214,247,251,249, 0,143, 71, 13, 56,148,220,237,110,110, 4,225,215,246,238,159, 94,206, - 54, 70,147,174,239,163, 52, 34,204,204,141, 52,227, 81, 59,157, 76,198,237,120, 58, 30, 3, 98, 74,217,204, 74, 78, 44, 64,196, - 41,149,255, 95, 17,195, 33,229,220, 84,130, 21, 96,133,164, 92,204,230,239,126,249,165,127,252,247,127,243, 11, 95,252,146,140, -167,174,186, 90, 46,206, 79,142,142, 31,238, 61, 60,120,112,240,232,224,141,123,111,191,181,247,176,235,243, 98, 49,127, 98, 36, -207,220,190,249,147, 31,251,248, 23,127,249, 11,227,201,232,228,248,225,157, 59,111,244,185, 80, 32, 96, 60,222, 63, 26, 17,223, -220,221,158,140, 90, 4,119, 32, 29,148, 44, 64, 66, 8, 82, 69, 60,125, 42, 82,117, 63, 8, 6,104,232, 21, 87, 57,140,254,134, -173, 87,253,104, 97, 42, 86,155,164,110,186, 78, 57,122, 12,226,230,165,104, 54,103,150,170, 2,110,131, 48,114,229, 7,120, 21, - 3, 3, 54, 77,163, 69,135,254,202, 99,119,177,176,102,117,175,231,130,225,177, 42, 33, 34, 34, 48,168, 22, 48,171,225, 97,102, - 65, 36,105, 4, 17, 89, 2,173,239,224,248, 88,164, 12,107,126,149,112,197, 82, 58, 32, 19,186, 85,221,241,112,254, 42, 53,167, - 11,100,106, 44, 28, 99,163,102, 41,103, 38, 22,145, 74,243, 27, 34, 48,110,176,222,184, 14,171, 87, 0, 14,209, 7, 4, 12, 35, - 50, 5,102, 34, 85,211,148,134,166, 19, 81,177, 12,224, 76,236, 80, 17,151, 68,132,102, 0, 70, 44, 82, 77,112,195, 2,187,102, -139,205,201, 52,169,198,235, 79, 36, 45,255,254,207,254,242,236,226,162, 62,224, 70,109,123,109,123,123, 62,159,189,231,230,206, -171, 79,221,158,182,237,124, 49, 59,159, 47, 1,105,123,115,179, 79,217,172,184,251,162,235,175,174,102,219, 27, 83, 9,225, 42, - 39,206,214, 54,244,216,117,137,196,103, 87,151,145,112,107,103, 27, 99, 44,197, 76, 11,147, 32,227, 64,122, 33, 66, 66, 85,175, -110,206, 97,107,232, 64, 72,177,137,106,158, 74,207, 67, 75, 0,234,181, 76, 72,220,220, 77, 9,217,220,221, 52, 72, 0,162, 98, - 90,185,158, 53,222, 10, 6, 84, 57, 23,238,110, 32, 66, 85,100, 10,195, 78, 17, 9, 49,231, 36, 67, 78, 30, 29,153,193, 42,106, -172,106, 66,209,134,175,159,213, 77,123,125,208,195,112,182,246,129,213,230,235,217,188, 15, 3, 24,243,250, 40,174,118, 2,164, - 58,106,124, 39, 0,227, 44,193, 74, 81,115, 80, 67,128,146,250,208, 52, 12,185, 20,175, 44, 22, 31,104,148, 0, 72,192, 84, 65, -151,235,201,248, 26, 3, 90,231, 61, 53,232, 60,212,184,134,177,188,175, 27,182,245, 20, 95, 7,239,180,190,240, 13, 47, 6,119, - 43,149,200,235,158,213,164, 86, 6,201,135, 0, 88,189, 46,212,209, 24, 65,197, 92,160, 0,152, 91,113,167,209,100,139,205, 86, -231, 51, 77,101,250,212,238,219,111,124,255, 95,253,254, 31,124,238,167,127,238,153,167,174,207, 47,206,157,163, 27, 74,219,186, -154,165,124,253,137, 91,207,191,244,202,163,253,187,109,211, 86, 56,246,187,223,253,234, 31,255,233,191,255,225, 91,119, 62,246, -145, 15,222,125,227,135, 28, 37,247,169,109,218,102,186, 37,238,230, 5,134,251, 18,107,202,142, 72, 40,110,197,144,201,171,194, -144,220,134, 78,150,123,189, 82, 84,246, 95, 52, 51,102,242,146,205, 24,209, 93, 21, 20, 93,168, 20,115, 0,203,125,152,108,131, -132,146,186,110, 49,219,185,245,220,104,114, 77, 75,118, 20,203, 89, 23,103,189, 5, 8,109, 16, 22,194, 16,140,136,186,213,106, -181, 90,229,146,213,124, 50,106,167,227,201,120,251,250,226,236, 97,206,105, 60,153, 94,158, 60,236,150,243,102,247,214, 98,118, - 24,227,102,215, 41, 97,140,163,105,211,198,229, 98, 49, 26, 79,143,246, 95,227,184,105,230, 39, 7,247, 54,118,111, 95, 45,150, - 87, 23,151,151, 87,151,211,209,196, 76, 17,253,198,134,176,141, 15, 79,207,132, 67, 46,118, 49,159,223,222,221,109, 66, 72,150, -117,149, 28, 64, 43,249,121,173,254,237,251, 52, 20, 18, 0, 75,182,150,163,183,126,181, 90,112, 93, 5,173,211,145,179,213,106, -107, 83,162,200,213, 98, 65,147,209,127,245,245, 95,255,210, 47,126,254,230,237, 39, 65,184,228,126, 49,155, 29,236,221, 57,120, -248,240,244,242,252,209,233,233,209,209,233,217,229,172,235,186, 92,244,222,254,193, 7, 63,245,209, 95,251,234,215, 54,183, 55, - 46,143, 15,112, 28, 15, 78, 30, 29, 28,159,110,117,249,209,201, 89, 89,118,215,183, 54, 70, 33, 84,241, 69, 37,212, 19,177, 91, - 70,224,218, 50,175, 59,163, 48, 64,179,171, 32,200,235, 73, 22,107,199,199, 21, 17, 8, 67,241,108,238,232, 16, 68,212, 10, 2, -155, 58, 50,176, 48, 58,228,172, 69, 75, 51, 10,214, 91, 49, 3, 98, 34, 82,128,100, 26,232,113, 53,207, 9, 61,229, 84, 11,227, -238,238, 8, 66, 66, 12,230,181,111,239,194,164,102, 76, 12,232,174,170, 86,132,184,250,179,193,234,123, 9, 88, 56,198,152,251, - 92, 45,119,196,132,230,170,142,132,181,139,224,213,235,188,254,158,170, 22, 53,192, 10, 6,198,154, 95, 20, 98, 43,198, 49,178, -144,169,247, 57, 17, 64, 8,204, 72, 54, 80, 2,217,235,239,155,200,193, 57, 68,183,108, 14,174, 42, 33,212, 56,204, 0,254, 54, - 40, 41, 91,213,235,212,233, 36, 99, 46,134,136, 34, 81,179, 18, 98, 77, 14,214, 56, 95,140,193, 17,204, 33,231,202, 45, 64, 4, - 3,119,114,239, 83,214,201,180,235,251,189,189,183, 23,203,101, 37,238, 78,154,230,125,239,121,207,183,190,247,253,103,166,252, -236, 19,183, 28,121,131,195,139, 28, 30, 28, 29, 95,186, 74,144, 40, 2, 30, 83,201,110,154, 82,153,205,151, 44,125, 19,227, 57, - 98,187,234, 67,136, 33,142, 0,113,177,234,180,207, 55,111,239, 18,135,250,148,174, 71, 79, 38, 10, 44,166,102, 86,123,139, 0, - 68,224,142, 84, 25, 60,188,234,123, 93, 46, 41,196,128,100, 94,135, 97, 22,145, 20,170, 77,139,214,154,101, 30,128, 97, 3, 39, - 22, 74, 46, 18,197,181, 84,146,137,187, 19, 56, 19,230, 58, 64,119, 39, 68, 85,245, 98,192, 96,174,252,213, 47,255,242, 32,242, - 92, 87,129,134,150, 81,253,209,180, 86,122, 12, 13,248, 53,255, 7, 0, 8,137, 42, 31,134, 9,201, 6,147,198,186,183,191, 6, -101, 84, 92,212, 48, 37,169,184, 12, 53,211, 58, 94, 7,170,217, 38,128,146, 58, 67,153,140, 6,107, 73,101,243, 12, 72,151, 33, - 75,255,120,234,179, 6,231,226, 59, 36,246,199,167,238,122,156,175, 16,204,250,113,169,131, 30,170, 0,189,202,134, 52,127,135, -113,178,254,165, 7,233, 88,117, 57, 97, 28, 4,129, 48,148,102, 1,129, 80, 16,205, 20,166, 27, 55, 24, 40,245, 43, 68, 30,111, - 95,187, 60, 63,249,103,191,251,141,159,248,216, 39, 63,244, 19, 63, 89,208,205,137, 36, 80, 16, 68,164, 70,170,219,122,107,123, -247,123,127,253,173, 70, 68, 98,195, 44, 77, 24,161,235,183,190,243, 55, 47, 63,247,244, 51, 47,190,116,126,118,250,234,143,254, -216,229,249, 9,197,136, 21, 12, 28, 27, 83,173, 23, 29,175, 87, 12, 17,215, 60, 72, 73,253, 29,219, 8, 12, 99,172, 0,128,161, -153, 52,227, 22,153,205,192,213,136, 5,212,172,100,168,141, 67, 71,237, 59,108, 26,239, 22,230, 14,163, 29,195,176,152, 93,222, -126,250,153,241, 56,220,121,243,110,202,154,138,177,132,102,178,129, 96,163,198, 0, 32,245,253,241,241,241,195,147,147,249,188, -187,182,181,253,204,205,155,227,182,237, 23, 87, 40,194,100, 94,250, 2,152, 87, 23, 44, 35,102, 58,121,120,247,246,115,175,140, - 39, 91,147,233, 54, 34, 93, 94,157, 8,142,227,120,210,140,118,118,111, 60,131, 49,236, 29, 29,134, 24,172, 88, 82,189,185,189, -177,184,186,124,251,240,248, 98,213,165,156, 75,201,211,209,228,240,244,100,217,247,163,209,200,244, 49,218, 31,235, 5,189,118, -171,115, 46, 67,209, 98,232, 92,123,211, 4, 84,232, 74,166,199, 54, 71, 34,112,116,211, 85,223,125,236,253,239,251, 31,255,219, -127,252,243, 63,255,139,163,141,205,130,182,154, 47,102,231, 71,123,119, 94,191,115,231,206,131,195, 71,119,246,238,239, 31, 28, - 93,204,102,169,148,251, 15, 15,217,225,127,250,173,175,255,231,191,254,181,210, 47,115, 90,190,241,250,107,111,190,241,214,201, -233,249,124,177,186, 60,189,156,176, 92,223,220,104,130,212,130, 89,109,182,153, 1, 2, 4, 18, 36,124,220, 55,102,228,172,190, -214,207,160,130, 34, 16,177, 56, 12, 90, 95, 43,197,135, 0, 24, 3, 14, 50,221, 97,148, 72, 84,121,169,160, 30, 99,112, 32, 29, -146,109, 94,141,154, 33, 72, 53, 25, 33,129,173,105,163,132, 84,143, 61, 49, 48, 85,152,181,163, 13, 91, 92, 24,224, 7,165, 16, - 9, 49,162,224, 99,143, 37, 97, 61,249,130,106,133, 83, 57,135, 88, 89,102,245,142,136,196, 52, 64, 65,180,178, 6, 96,221,172, -103, 98, 83, 87, 45,109, 8,200, 4, 72,109, 59,114,117, 55, 75, 37,183,109, 91,211,114, 89, 51,178, 4,150, 58,175,117, 85, 67, - 12, 44,170, 69,205,153,128, 88,144, 4,153, 56,202,160,127, 94,247, 18,131, 80,101,115, 87,254,196, 32,152, 68,174,231, 61, 7, - 36,146, 32,193,215,104, 20, 22,113,135, 46,171,171, 19,113, 94,117, 11, 76,211, 91,207,189,254,218,157,187,247,246,114,201,128, - 64, 72,227,201,228,240,236,124,108,171, 15,189,252,162,180, 99,174,127,113,204, 27,177, 97,164,179,213,106, 52, 26, 95,219,222, - 90,172, 58,213, 34,194,171,156,186, 85,218,217,156,160, 68, 72,186,187,179, 89,204, 1,125,149, 74, 32,223,190,118,173,126, 53, -107,182, 67,130, 32, 81, 81,203,185,135,161, 3, 92, 25, 6, 40, 66, 78,172, 93, 7,174,132, 94, 31,146, 73, 53,178, 0,135,100, - 89, 0,161, 2,150,171,110, 69,173, 88,169, 84,126, 98,118,119,225, 10, 54,112,172, 27, 11,115,119,232,115, 65, 0, 18, 68,164, -156, 50, 11,163,160,155,119,171,196, 95,253,202, 47, 33, 16, 62,214,150, 14,159, 50, 24,198,187,184,182,246,213,235, 72, 45, 25, - 80, 61, 54,250,208,181, 92, 87, 93, 97,157, 94, 30,118,153,176,198,152,250, 80,232,175,105, 21,120, 28,107, 91,139, 89,153, 80, - 68,174,150,253,246,100,188,206,177,172,191, 81,135,152,200, 99, 3, 83,125,250, 15,163, 42, 7, 95, 19, 66,135,148,207, 80,248, - 4, 95, 19, 5,106, 54,127,160,128,213, 23, 24, 13,107, 84, 90, 59, 99,235, 11,133, 43,215, 9,152, 5,227,154,170, 94, 79,141, -132, 72,128,138, 72, 77,179,217,112,236,230,179, 82, 74, 59,158,164,126,249,255,252,222,191,126,247,143,126,240, 83,159,250,169, -226, 70, 18,173,100, 22,137,177, 1,114,116, 50, 51,205,186,177,115,109, 53,155,221,187,119,103, 60,106, 70,147, 41, 19, 78,219, -184,183,255,112,182, 88,125,248,195, 31,154, 93,156,157, 93,156,175,150, 51, 65,146, 16, 88, 26,176, 74, 61, 32,215, 82, 52,161, - 87, 93,189, 59, 2, 75, 24, 30,238,235,202,216,250,143,137,227,237,157, 16,163,229,226,169,175, 19,124, 64,228,208,212,191,106, - 96,212,148,220,212,145, 39,215,175,165, 98, 15,246,246, 23, 93,255,228,211, 79,141,167,237,254,189,189,213,114, 46,177,105, 68, -132, 72, 70, 45, 67,114,203,169,239,247,246, 31,158, 92, 92,206,151,221,173,157,173, 23,158,124,242,242,226, 76,198, 27, 55,159, -122,151,132,105,234,242,120,115,231,209,222,107, 72, 4, 86,220,140,161, 28,239,191,198, 44,139,171, 83, 4,230, 16,151,171, 21, -120, 22, 9, 7,143, 30,254,224,238,155,165, 20, 4, 13, 80,250,148,226,104,251, 98,190,188,127,240, 48,245, 73,130,148,146, 82, - 46,171,174,103, 97, 33, 30,148, 47,131,181,203,137,107, 62, 4,194, 90,168, 91,207,234,102, 94,137,181, 69,181,126,209, 25, 81, - 85,183, 54, 54,127,235,239,253,103,255,243,239,252,147,119,253,200,123, 81,130, 89, 89, 94, 93,157, 60,218,191,251,214,235,175, -189,245,230,254,193,225,157, 7, 7, 71,167,231,102,142,200,155,211,205,207,124,248, 3,191,243, 15,190,246,145, 15,127,224,244, -228,224,193,222,189,195,227,163, 56, 29, 49,241,157,215,223,222,110,155, 39,119,119, 55,198, 35, 66,174,221,162,162,102,197,144, -134, 34,210,227, 79,117,213,200, 20, 53,124,140,187, 28,216, 25, 96, 94, 28,192, 75,241,162, 54,124,251,184,185,149,172, 8, 80, -215,199, 67,191, 20, 77,205,218, 81,163, 10,128, 16, 2, 13,191,130, 57, 11,187, 13,159,109, 53,231,138,185, 70,116,116,102, 68, -166,146,213,220,107, 89,191,254,176, 24,197,205,189,216,122,141, 4,228,228,106, 72, 36, 81,234,208,211,208, 16, 73, 98, 36, 71, - 45,250,248,236, 84,231,229,176, 46,108, 51,139,185,173, 7,166, 53, 78,140, 77,219, 20, 53, 98,174, 92, 63, 55,119,130, 38,180, -166,131,150, 7,106, 50,193,193,235,157,134,165,109, 26, 53,171,158,102, 22, 1,170,106, 42,172, 66,205, 97,172, 1, 96,174,106, -234,104, 65,196,205,112, 64, 51,129, 91, 65,198, 16,132, 68, 28,173, 6,189, 99, 96, 65,236, 75,113, 43,224,228,142, 90, 52,121, -226, 27, 79,158,159,207,246,246,246, 86,203,101,165,196, 63,255,204,147, 27, 27, 91,151,103,199, 63,245,242, 11,211,205, 45, 14, -177,150, 30, 57,132, 81,219,140, 66, 12,102,171,126,217,153,183, 77, 59, 26, 79, 22,139,149,106, 61,233,226,241,249, 69, 35,176, - 61,110, 36,136,179, 92, 94,206, 54, 55,198, 18, 35, 20, 67,162, 16,155,166,109, 81, 66,125, 10,161, 1, 2, 26, 58, 86,175,156, -176,170,163, 91,125,220,155,131,169,214,244, 68, 5,196, 10,135, 84, 50, 85,189, 44,113,189, 42, 17,179,149,130,213,101,205, 53, -165, 90, 31, 89,200, 64,106, 90,187, 14, 34, 84,241,241,196,100,128,150,173,126,255, 8, 62, 70, 36,226,160,133,115,180, 53,148, -119,200, 64, 85,212, 21,241, 90,178,240, 56,220, 50, 60, 97,235,188, 75, 0,173,244,206,193,104,168,153,193,223, 66,156, 59, 16, - 16,227,128,109, 31,182,172,232,104, 4,104,234,200,220,247,157, 34, 1,168, 91, 53,144,185,187, 85, 72,239, 0,151,135, 1, 11, - 92,205, 30,104,238,110, 3, 29,119, 29, 99,127, 44, 6, 25,134,254,248, 14, 59,198, 31, 31,245,215,128,204,225,210, 83,215, 8, -132, 14,164,142,100,238,172,180,206, 27, 13,252, 30,116, 53,156, 76,174,177,150,249,217,177, 34,143,167,155,162,171,255,251, 95, -254,139,205,157,103, 63,241,241, 15, 25, 11,228,190, 44,230,212, 78, 89,154,202,170, 55, 83, 77, 6, 72,121, 57,127,255,143,125, -232,173, 31,252,205, 98, 57,107,154,182, 29,111,180,155, 91,239,127,239,123,190,243,189,239,190,241,250, 27,239,250,145,247,252, -197,159,252,209,139,175,188,251,226,244,176,235, 3,135, 72, 52,169,209, 33, 32, 18,137,136, 84, 67,238,232,224,165, 32,177,150, - 12, 81, 88,194, 99, 47, 57, 2, 74,140, 86,119,203, 33, 32, 1, 40, 89,238, 60, 0, 9,155,106, 73,102,170,200, 50,190,190, 35, -147, 54,221, 63, 76,125, 65, 83,235, 23,200,215, 44,245, 78, 77, 32,147, 32,161,153, 94, 93, 29,181, 91,193, 12, 82, 74, 93,206, -102,166, 94,158,126,226, 73,230, 24,219,166, 29, 77, 66,104, 0,209,209, 78, 31,188,182,185,117, 19,226,244,234,226,112, 50,106, - 75, 49,119, 89,245, 93, 28,109,104,233, 79,246,222, 28,221,124, 22, 11,228,146,175,186,126, 99, 50,106,144,150,253,226,232,172, - 75, 57,191,248,236,238,243, 79, 63,125,121,117,121,103,127,127,149,243,246,116,115,115, 50, 45,170, 53,237, 81, 87, 12,230, 54, -112, 14,141,221, 13, 12,140,214,103,137, 53, 63,147, 16,182,101,178, 96, 89,229,164,165, 0,208,103, 63,246, 19,191,253,245,175, -127,240,131, 31, 65, 9,203,212,151, 46, 93,158, 29, 61,216,187,123,231,238,221, 7,199,199, 7,199, 39, 23, 87,243,148, 82, 42, -170,186,250,145,231,158,253,233,159,252,240, 39, 63,250,161,110, 62,123,248,112,111,101,229,181,253,253,221,205,233,236,242,252, -248,237,195,167,110,236, 78,218,198,220,192, 0,153, 7, 35, 11, 14,201, 23, 90, 31,128,234,216, 23, 0,114, 54, 3, 21, 98, 36, - 54,247,154, 56, 84, 85, 87,205,154,187,190,147, 16, 4,153,153,193, 16,136, 66, 16,115,115,115, 66, 44,166,136, 20, 67, 83,114, - 41,197,137,145,131,228,156,235,156,180,226,198, 66, 45,175,154,173,219,206,192,224,107, 86,158,185,154, 3, 82, 32,115, 21,137, - 68,172,170,128, 64,129,144,168, 58,108,128,128,155, 48, 96, 59, 24,153,217,235, 59, 82,139, 57, 18,145,155, 59,168,132, 0,102, -102, 3,168,207, 29,173,162,216,221,161, 86, 66, 8,177,128,155,135, 16,192, 93,221, 28, 48,198,160,238,165,104,125,249,161, 3, - 26, 20,215, 97, 29, 34,108, 6,165,228,122,144, 34, 51, 47, 86,125,126,224,195,131,165, 90,103,145,169, 54, 3,204,114,201, 42, - 36,101, 16, 60,212, 11, 60, 19,137,153,170,106, 12,132, 28,138,218,154, 74,199,106, 30,152, 86,221, 10,119,110, 34,143,126,240, -253,191, 58, 62, 57, 3, 84,102,154, 78, 39,161,137,103, 23,151, 63,241,226,243,219,215,174, 23, 71, 84,139,177, 81,118, 45,125, -178,130, 66, 79,222,184, 54,105,227,193,229,153, 55, 45,182,227,146,138,154, 78, 71,205, 43,175,190,252,253, 31,188,126,125,186, - 65,196,224,124,117,185,100,128,102, 52,114,117,103, 20,145,216, 54, 44, 65,221, 66,108,220,113, 57,191, 42,171, 21, 19, 18, 83, - 81,173, 10,110, 95,195, 96, 25,221,133,170,246,150, 3,149,140,110, 26, 66,228,122,151,130, 66, 65, 92, 13, 28, 80, 4,220,145, - 9,128,153, 84,179, 57, 86, 18,135,187, 59, 11,187, 91,238, 13,184, 26,191, 17,193,155, 40,142,132,185, 72,229,237,255, 45,207, -167, 85,234,244, 0,227, 27,234,191,104,245,177,190,206,198,215,201,204,227, 12, 31, 85,170, 58,160, 16,224,176,114,169,167,120, - 48, 85, 34, 2, 38, 7,112, 37,112,165,186, 42,170, 18,141,138,166, 67,136, 65, 2,148,229,114, 53,109,216,215,209,220, 1,235, - 72,130,128,192, 6, 74,102, 90, 61,140,195, 75,162,128,105, 25, 14, 27, 53,148, 54, 12, 33,125, 96,220,212, 9, 34, 83,157, 59, - 13,181, 91,170,236,174, 53, 22,109, 80,247,209,154,100,128, 80, 91,172,195, 59,108,232,146, 54,113,131, 85, 75,214,229,242,106, -186,125,115, 58,150,111,252,139,127,121,213,243, 87,126,246,179, 24, 56,119, 29, 5, 78, 93,215, 54, 6,104, 3, 27, 36,247, 86, -136, 2, 47, 46, 23,132,242,234,203,175,124,247,245,239, 52, 77,219,142, 38, 65,154,103,159,123,246,225,195,131,255,248,173,191, -186,182,187,225, 8,142, 20,219, 81, 55, 95, 76,198, 91,104,102,132, 76,193,209, 6,210,252,112, 10,136,166, 5, 76, 73, 2, 56, -186, 42, 18, 33,203,223,106, 39,187,101,163, 24,202,106,137,178, 86, 62, 6,174,185,104,100,105, 54, 38,161,141, 80,108,118,113, -110,104,197, 74,159,115, 96,170,165, 58,142,155, 64,174,101,181,188, 58,198,173, 91,134,158,179,246,169, 79, 69,221, 96,103, 60, - 97,193, 8,160, 90, 70,211,105, 8, 97, 49, 59,115,222,104, 55, 54,132,169,191,162,166,221,228, 24, 71, 27, 29, 35,148,180,236, - 23,139, 66,180, 53,217,188,186, 56,207,169, 39,239, 91, 76,251,199,151,177,105, 75, 49, 64,126,227,222,157,107,215,182,111,221, -186,177,247,224,193,124, 62,239, 82,154,182, 77, 16,169,196,149,154,175, 37,115,100,246, 90, 34,174, 83,104, 70,115, 0,179, 1, - 43, 97,102,136,196,184, 57, 26,245, 37,111,111,111,252,215, 95,251,141, 47,125,225,243,237,214,246, 42,103,235,186,126,181, 56, - 63, 62,216,123,251,238,157,189,135,123, 7, 7, 39,151, 23,245, 15, 4,230, 59,211,201,251, 95,124,246,107, 95,254,210,198,180, -189, 56, 63,125,253, 7,223,167,209,116,222, 47, 90,145,183,126,120,119, 20,227,179,215,119, 36,200,192,123, 33, 28, 8,183, 6, -204,140,110, 21, 56,103,232, 78, 40,136, 14,144,146, 18, 58,209,160,166, 51,213, 92,114, 5, 19,116,125, 90,165, 46,245,201,205, -146, 65,211,182,109, 24, 1, 40,162, 8,178,155,117, 90,154,216, 8,139,213,137, 12, 1,128,231,146, 75, 46,196, 2,224, 65, 16, -136,188,254,231,122,238,179, 97, 69, 85, 80,173, 74,242, 98, 61, 12,214,161, 7,173,147,246,106,197, 29,156, 43,226,128,165, 86, - 7, 88,168, 86, 90, 0,161, 20,117,243,208,114,213,125,148,129,201, 12, 0,200, 40,106,134, 3, 50,209,115,206, 18,132, 88, 16, - 32,196, 80, 65, 3,197, 84,136,153,165,170,125, 40,240,122,106,204,204,140,158, 57, 70, 4, 79,125, 34,102, 7,100, 22, 22, 46, - 10,128, 90,157, 16,182,190,139, 19, 98,173,132, 1, 20, 85, 69, 18,116, 42,110, 80,177,136, 49,212,239,243,162, 5,200,219,201, -200,114,201, 37, 49, 72,165,223, 32, 0, 35, 25, 88,118, 26, 53,227,171,139, 83, 36, 52, 87, 66, 26,143,218,247,190,242,242, 27, -247,238, 63,209,198, 39,110, 92,115, 17, 2,174, 29,162,218,132, 15,177,117,114, 43,190,181,179, 35, 28,206, 46, 47, 46, 82,122, -225,185,167,154,166, 77,169,191,255,240,112, 20,228,250,246, 38, 16,171,123,183, 92,238,236, 76,131,196,106,141, 6,247,146,146, -230, 82,227,236,220,182,204,132,109,212, 92,114, 86, 52, 53, 34, 2, 71, 22, 85, 35, 66, 3,118, 47, 66,148,139,101,243, 24, 69, - 45,104, 89, 57, 50, 49,184,163,103, 37, 30, 70,221, 69,139, 21,173, 97, 45,150,208,149, 2, 96,132,140,204,170,133, 0, 72,208, - 10, 40, 0, 49, 48,144,155,131,171, 8,136, 59,161, 2, 49, 33,113, 13,255, 57, 26, 13, 40,130,225, 25,237,234,143, 81,193,117, - 28, 99, 86, 97, 38,245, 31, 0,160,186,153,169, 8, 26, 92,247,135,234,110,215,209,234,161,160, 18,199,220, 84,144,212, 7,151, -164, 87,102,173,209,116, 50,154, 45, 87,155,227, 45, 85,179, 10,217,169,112,211,186,156,177,186,155, 1, 7,119, 43, 85,252,184, - 22, 40,213,209,167, 33,210,154, 68, 63,252, 91,213, 24,217,107, 73, 99,205, 45, 25,126,159,143, 35, 12, 85, 73,101, 62,212,119, - 7, 78,142, 15, 51, 74,174, 68,189,192,106,125, 74,221,106, 37,113, 60, 25,143,255,240,155,191,191,119,124,245,107, 95,252, 37, - 48, 77,243, 21, 8, 33,141, 43,231,171, 70,210,173, 87, 55,114, 77, 38, 77,201,189,165,171, 23, 95,124,229,181,183, 94, 95, 44, - 22,227,209,188, 29, 77, 67,104, 94,122,241,249,191,254,246,183,247,247,246, 62,252,209,207,222,187,251,218,205,219, 79, 28,237, -239,229,210, 17, 5,150, 88,107, 5,128, 58,100, 96,136,204,242,122, 19,129,192, 3, 79,217, 75, 6, 64,146, 0,170, 53, 16,236, -230, 90,172, 70,143,165,105,220, 13, 74, 1,179,176,185,209, 76,198,110, 94,186, 62,151,186,100,206, 23,167,103,169,175,211,110, - 18, 9, 18, 67,238,251,148, 11, 33,131,231,249,114,145,250, 84, 74, 14, 65, 38,227, 81,202,165,148,254,230,245,167,219,201,100, -121,121, 28,227,104, 50, 41, 77,172, 9, 64,118,192,249,217, 33, 69, 42, 89,103,151, 39,170, 62,221,184,121,121,188,215,229,252, -230,221,215,190,115,231,110, 46,152, 77,111,223,124,130, 89,206,175,174,174,174, 86,243,213, 66,152,183, 54,166, 41, 23, 34,208, -162, 86,245, 13, 18,107,159,179,184, 7, 51, 5, 21, 67, 71, 44,158, 45, 33,215,199,212,128,201,171,226, 58, 71,244, 95,249,220, -103,126,253, 87,127,237,213,151,127,164, 39, 47,238,125,183, 92, 94,156, 31, 30,236,191,117,247,238,219, 15, 15, 14, 78,207,102, -243,133,154,239,108,110, 45, 87,203, 27,155,155,191,250,243,159,249,192,123,222,125, 53,187,184,119,119,239,244,226, 10,218,136, -164,111,190,126,103,179,105,111,239,110,141,154, 88,177, 89,104,128,132,224,238,197,220,181,105,218, 92, 10, 19,187, 89,214, 82, - 93,195, 61, 25, 40, 80, 32, 51,171, 99, 76, 51, 16, 33,118, 66,242,148,148,168, 9, 82,140,108,185,236,199,109, 67,128, 69, 75, -140, 17, 1, 74, 81, 7, 13, 28,132, 67, 85, 46, 68, 10,238, 85,185,142, 18, 4,215,236,123,215,181,163, 30,208,204,106,244, 69, - 75, 38, 0,103, 10, 78,142, 48, 16,154,152, 48, 16, 20,231,234, 6,169,119,106,170, 3,210, 10,220, 24,246, 59, 89, 85,152, 1, -129,132,173,216,144,199, 29,146, 98,162, 94, 74,201,245, 36, 84, 91, 69, 77, 20, 67, 34, 38, 33, 84,179, 90,144, 10,196,245, 85, -235,136, 34,140,142, 6,250,184,122,198, 60, 42, 57,195, 16,110, 39, 34, 2,119,213,194,200, 5,106,116,194, 25, 49, 48,170, 87, -168, 25,230,148,221, 92,152, 76,209,209,136, 25, 12, 2, 49, 11,171,170,154, 13, 93, 63, 45,232, 32, 32,117,100,207, 8,195,240, -203,204, 68,250,212,191,253,246,253,179,243, 43, 66,220,218,216,140, 44,123, 7, 71,161,244,175,188,235,105, 71, 6,132, 24, 56, -247,150,114,102, 17, 36, 86,119, 48, 37, 36,142, 56,217,218, 22,230,166, 91, 30,157,156, 30,155, 19,248, 72,232,165,167,159,148, -166, 69,162,217,178, 39,178,182,109,153,217,138,186,170,162, 89, 6,119, 19, 38, 15,161, 17,105,218,201,226,234,162, 20, 69,116, -172,213, 4, 39, 43,134,132, 14,206,129, 3, 54, 93,215, 5, 97,137, 65,221, 64,141, 36,186, 25, 88, 1, 96, 98, 6,128, 82,195, -142, 32,224, 0,102,110,102,102, 1,121,176, 82,184, 9,177,154, 42, 32,178, 49,114,229, 61,168, 89, 27,101,101, 36,143,135,212, -181, 0,186,238,232, 15,238, 14,175,180,102, 38,175,158, 13, 36,175, 32, 98,172, 76, 33,171,108, 57,183, 92, 91, 72,235,222,235, -218,236,204, 72, 86, 43, 81, 53,240, 49,100, 10,234, 64,200, 20,136, 28, 1,212, 29, 77, 55, 38,211,139,195,115,189,190, 93, 47, -142,132,224, 90,136,155,245,148,220,135,130,175, 19, 24, 88, 93,185, 61, 14,168,243,250, 68, 94, 57,233,132,174,117,228,226,238, - 14,130,166, 3,224,125,160, 35,172,239,212,239, 44, 16,170, 2, 13, 13,108,192,117,213,189, 21, 48, 50,142,188, 75, 5,186, 92, -178,170,239,236,236,252,224,251,223,250,206,107,251,191,250,229,191,179,115,227,102,239, 22,132, 43,147,178,153,110, 9,163, 21, -173, 70, 25,226,224,170,168, 6, 78, 33,182,237,116,227, 39, 62,246,169,127,251, 7,223,152,140,167, 77, 51, 65,166, 91,183,159, -218,221,219,255,235,239,254,240,249,119,189,212, 45,103,247,223, 90,228, 82, 70,211,109,115, 35,181,122, 0,172,223,205, 36,164, - 90,189, 53,196,200,213,210, 98, 80, 96,141, 18,116, 10,196,162, 41, 33, 59, 6, 9,227,209,128,163, 69, 79,243,165,150, 66, 18, -218,233, 8,152,202, 34,153,186,170,166,110,133, 28,195,168, 45,221,146, 7,103, 8, 9,203, 74,123,213, 66,131,221,102,153,178, -246,185,180,136,172, 37,155,229,174,219,189,121,171,109, 71,139, 11,159,157, 63, 42, 38,171,217,101, 8,194, 84, 98,228, 44, 44, -196, 77,187,145, 82, 86, 45,103, 71,251,103,203,217,198,198,246,101, 15,219,187,183,231,243,249, 38,211,219, 15,238,103,179,105, - 51,122,230,246,237,139,197,188,194, 6, 83,201, 0,174, 90,183,106,145, 70, 52, 80,234, 80,235, 37,145, 8,234,100,184,168,153, - 2,178, 5,166, 32,193, 12, 76,211,211, 79, 61,249,235, 95,254,242,103, 62,253,105,105, 70, 9, 49,231, 62, 45, 23, 87,103,167, -175,191,245,198,219,247,247,247, 15, 31,157,207,230, 41,229, 85,215,109, 76,198,109,224,207,252,248, 79,254,220,167, 63, 38,140, - 23,243, 51, 31, 53,119, 14,143,199, 49,204, 22,139,123,119,247,119,154,209,141,157,141,122,253,119,116, 66,145,224, 94, 60,187, - 34,144, 41,230,162, 72, 4,228, 94, 12,136,128,217,220, 24,217,200,213, 44, 6,113,244, 90, 66, 2, 38, 47, 86,178, 1,120, 96, -182,208,244,220,197, 54,132,166, 97,146, 16, 34, 33, 22,247,241,184, 45,165,184,131,170, 18,184, 1,192,144,185,196,162, 22,185, -114, 4,177,118, 59, 29,188,198, 0, 0,200,221,192, 75, 93, 73, 50,210, 48,117,103,242,186,124, 52, 4,174,200,108, 18, 33, 83, - 3,100, 38, 89, 55, 7,135, 51, 12, 17, 12, 47, 74,162,122, 76, 91, 39,161,201,220,106,235, 69, 85,235, 5, 49,171, 3,152, 4, - 0, 85, 53,118,132, 32, 13, 98,118, 83,112,167,200,245,202, 93, 25, 81,128, 40, 33,184,230, 82, 50, 90,101,152,155, 19,128, 43, - 6,114,131, 90,126,212,162,210,196, 74, 91,146, 24, 75,214,110,153, 99, 32, 5, 55,171, 68, 20,148, 16,171, 15,175, 91,245, 33, - 10, 33,106, 81, 98, 67, 51, 36,130, 50, 12,103,171, 29,165,206, 34,114,215,117,243,197,116,178,241,210,139,163,135,251, 15,111, -223,184,118,181, 92, 92,158, 28,127,242,149, 23, 38, 27,211, 2,228,224,185, 79,238,208,180, 49, 23,173,154, 31,226,152, 75,238, - 83, 38,102, 25,181,215, 71,241,198,238,110, 46, 70, 0, 34,204, 49, 82,136, 57,229,229,124,177,179,181, 57,106, 70,197, 29,209, - 41, 70,183, 2,168, 68, 18,218, 81,108, 71,238,174,150, 42,174, 29,134,173,197, 48,119,168, 15, 44, 51, 3,200,213,142,146, 82, - 30, 2, 33,106,136,160, 78, 60,140,218,173,166,135, 74, 42, 80, 25,223,149, 42,106,230, 54,164, 74, 8, 17,178, 49, 97, 46,238, -217, 80,234, 18,168, 82,105, 77,192,135,142, 47, 12,156,220, 1, 75, 0, 96,213,191,142, 44,107, 98,251, 80,193,122,140, 8,131, -170,144,115, 28, 94, 9, 60,168,222,235,243,178,146, 29,157,192,179, 14,210,181,117,248,163,226, 23,144, 6,204,154, 32,130, 35, -183, 65,115, 63, 91,234, 70,227,107,188, 12, 13,152, 92,112,119, 67,174,143,107,131, 42, 21, 25, 80, 25, 21, 31,236, 68,232,117, - 74,234,149, 84, 49,208,174,169,142, 91,180,122, 98,214,211,163,129,128,135, 6,198, 64,190, 70, 27, 97,101,103, 98, 0, 55,167, - 2,142,168, 33,173,150, 28,152,136,115,191,216,218,222, 57, 59,124,251,223,254,201,159,127,230, 19,159,218,222,154,172,250, 62, -142, 39,200,193, 53,187, 16,212,149, 9, 58,106,189,114, 20, 71, 40, 93,146,192, 68, 32, 49, 60,122,116,255,141,187,251, 59, 59, -187, 49, 54,219, 91,215, 41,210, 11,239,122,225, 47,254,226, 47,127,248, 55,223,255,240, 71, 63,250,214, 27, 63,184,118,227,137, -110,185, 80, 45, 28,162,153, 3,162,153, 17,128, 91,109,150, 65, 29, 63,154,170,217, 0, 87, 48, 0, 64,148, 40, 68,128,227,145, -165,158,170,162, 70, 33,110,142,242,170, 7, 18, 9,194,236,253,229,220, 1,173, 36, 38,214,188,210, 82,186,110,145,251,194, 76, -237,120,178, 90,174,192, 59, 51, 57,123,180,103,150,133,185,244,101,177,234,178,230,101,223,191,240,244, 83, 49,240,108,118, 49, -221,190, 62,158,108,204, 79,246,207, 78, 46, 78, 30,237,143,183,111,140, 39,187,196,220,140, 54, 47, 79, 14,206, 47,142,110,220, -122, 78, 74, 6,157,117,243, 69, 15,240,244,205,231, 83,191,184,154,207, 67, 43,185, 36,132, 80,138,198, 16, 12,252,116,118,150, - 82,213, 8, 96, 81, 35, 38, 20, 4,243, 26,197,245,199, 7,133, 58,216, 54, 38,180,200,132,129,135,110, 62,194,178,239,167,227, -209, 47,124,242, 83,191,249,181,175,238,222,124,202, 8,220,105,181,184,184, 58, 59,121,112,127,239,173,189,123, 15, 15,143, 79, - 47,175,150,171,110,213,175,174,102,171,171,217,229,179,239,126,245,191,248,242, 47,189,252,202,139, 71,143, 30, 28, 29, 28,148, - 24, 94,123,243,205,205,233,248,219,127,243,198, 36,198,119, 93,219, 9,177,173,255,119, 66, 46,128,236, 14, 70, 6,202, 24,212, -148,132,204,138, 96,240,226,245, 80, 95, 5,246,202, 76,129, 34,214,132, 50, 32, 98, 32, 44, 14,170, 70,136, 10,104,166,168, 58, -105,154, 62,219, 56,140, 66, 19,205,205,179, 54, 81,106, 81, 5, 73,164,254,116, 24, 8,169,224, 36, 60, 40,235,170,118,192,220, - 29,161, 17, 46,234,174,185,250, 55,106,168,140,144,235, 15, 86,176,192,129, 0, 85, 21,137, 28, 61, 52,193,212, 88, 4, 76, 7, -243,193, 26, 11,197, 36, 92,255,134, 43,222, 0,176,142,160,212, 0, 77, 69,164,128,186,185,187, 34, 72, 41, 38, 96, 90, 74,223, -107, 8, 77,108,154, 24, 91, 51, 47,150, 9, 24,137, 77,171,101, 19, 12, 32, 50, 27,225,106, 53,199,250,132,113,213, 82,180, 88, -208, 34,177,209, 82,136,184, 20, 99, 36, 17, 94, 47,242,168, 66,105, 66,164,146, 11, 11,215, 68, 10, 2,150,212,171, 3, 33, 52, -161, 5,207,234, 74, 36,165,104,234,150,174,185,109, 70,128, 92,237,206, 44, 68, 8, 90,108,204,120, 49, 63, 47, 57,111,109,110, -149,155,215, 15,207, 46,230,179,171,143, 60,125,235,218,245,107,189,186,251, 96,238, 54,208,172,136, 68, 12,160, 86, 42,116,138, -152,221, 92,154, 16, 80,122,205, 65,144,135,192, 14, 90,238,115, 65, 66,107, 70,163,164,165, 34,241, 77, 11,184,199,208, 54,211, - 45, 67, 48, 85,203, 37,119,189,230, 28, 69,250,146,200, 29, 84, 49, 8, 50,187,154,185, 50,139, 57,184, 21, 0, 84, 53,130,117, -145,146, 17,204, 85, 75, 1, 23, 98, 94, 63,106,193,141,152,205,204, 74, 17, 17, 32, 50, 51, 45, 30, 3,135, 16,178,154,121, 34, -174,127,249,117,146, 81,247,171, 36, 0, 54, 48, 94,124,189, 17, 53, 87,116, 25,160,148,108,110, 72, 80, 11,244, 76, 88, 79,240, -195,124, 99,192, 20, 59,212, 83,239,176, 66,120, 28, 60,116,168,243,211,122,172, 6,115,130,250,108,214, 97,118, 92,167, 32,224, - 96,166,176,179, 57, 58,191,188,216,186,189, 85,116, 29,107, 89, 39,140, 96, 32, 78, 84, 67, 47,194, 26, 89, 89, 27,167,195,160, - 25,225,177, 70,160, 94, 54,222, 81, 84, 87,116,101,125,235,173,163, 97, 67,198,125,200, 83, 27, 0,131, 9, 84, 69, 12, 26, 50, - 51, 76,210,197, 37, 0, 32, 54, 73,211,120, 52, 57, 61,220,255,198, 55,191,249,190,247,127,228, 61,239,121,207,226,242,180,217, -190, 25,154,198,205, 92, 26, 52,101,110, 1, 81,213,172, 47, 68, 68,160,181, 31,200,194, 64,188,154,157,252,238,239,254,243,103, -158,124,151,230,254,236,226,108, 50,221,108, 66,123,237,198,141, 23,158,127,238,175,191,251,218,143,188,239,125, 55,111, 63,249, -246,189, 59,194, 50,153,110, 17,179,132,134,234,145,132, 35, 2, 33, 9,128,154,171,103,116,112, 80, 67, 66,172, 52, 18,128,166, - 29,213,125, 75,201,198,160,128, 4,104,121,149,172,152,230, 28,218,209,106,181,204,171, 20, 71, 17, 89, 16, 57,173,114, 46,190, - 90,174,136,177,153,140, 0, 60, 52, 13,184, 90,209,131,131,187,183,111,237,154, 89,214,210,247,189, 25,104,209,141,209,248,226, -242,188,235, 86, 79, 62,251, 74, 90,205,246,238,188, 49,155,151, 16,167, 86,188,150,193, 74,234, 32,196,182,221, 52, 45,103,167, -247, 79, 79, 31,149, 82,118,175, 61, 59, 26, 79,206,174, 78,219, 81, 60, 58, 62,153,205,230,203,110,233, 5, 10,104, 16,190,156, - 45,143, 79, 79,215,117,227,250,249, 1, 53,136, 1, 8, 80,135,237,200,240,181,145, 74,140,243, 58, 82, 3, 45,202,204,207, 61, -247,212,111,254,234,223,249,228,167, 62, 53,222,220, 77, 57, 89, 94,205, 78, 79, 15, 15,238,239,221,191,191,247,224,240,224,236, -236,114, 54, 75, 93,127,185, 92, 30, 62, 58,126,226,250,206, 63,250,242, 23,127,229, 23, 63,215, 16,252,240,175,254,242,178, 91, -197,173,173,126,181, 58, 61, 60, 23,245, 27,155,147,157,141, 49,137,172,235, 15, 72,132, 97, 24,163, 27, 19,153, 91, 20, 86, 55, - 83, 50,171,165, 16, 48, 55,102,170,178, 48, 2, 52,179,202, 10,210, 4,171,164, 64, 22, 66, 16,102,239, 58,175,160,177, 16,166, -173, 24, 66, 45, 22, 13, 40, 14,128, 38,180,106,252,146,225,176, 0, 0, 32, 0, 73, 68, 65, 84,158, 53, 51, 9,145, 56, 2, 40, - 72,144,156,251, 24, 98, 81, 69, 2,211,122,223, 38, 77,181,248, 74, 14, 4, 80, 87, 47, 52,200, 75,153, 2, 35, 49,129, 67, 77, - 39, 48, 73,197,168,187, 43, 50,231,108,178, 62,172,175,217,219,104,102,170,165, 54, 68,212, 1,220,152,196,177,168, 41,168,179, -176,170,151,100, 76, 80, 84,179,153, 91,113, 8,238, 94, 82,114, 0, 97, 1, 32, 97, 54, 83, 51, 39,177,200,146, 82,114,117, 38, - 82, 45,102, 3, 21,213,221, 84,213,146,139, 69, 25,161,163, 0,184, 48, 21, 4,205, 10,110, 20,184, 30, 47, 73,170, 39,212, 9, -161,100, 5, 52, 97,113,128,226, 61, 33, 85,203, 4,147,146,251, 42,173,144,164,105, 66, 19,131,106, 49, 85, 3, 8, 68,220, 8, - 26,197, 9, 30,158, 29,165,229,234,154,208, 7, 95,126,254,198,181,157, 12, 8, 14, 66,132, 0,185, 62,225,188, 30, 58,107, 98, - 30,188,202, 59, 92,221,160, 55, 69, 30,124,114, 69,157,220, 37,134,197,213,101, 19, 37,196, 86, 93,173, 30, 34,165,234,249, 68, - 75,114,162,220,117,253,106, 5,238, 6,198,136,129, 24,152, 28,138, 3,184,102, 36, 65,231, 10,193,198,202,120, 32, 31,100,156, - 76,238, 78,132,170, 24,132, 9,184,228, 92,165,160, 64,108,234,132, 24,154, 72, 76, 41, 43, 2, 4, 6, 0,212, 10,120,224,160, - 57,195, 80, 76,243, 46,169,101, 21,213, 36, 84, 87,221,160, 3, 36, 1, 28,235,123,184,254,177,203, 48,235,112, 39,226, 26, 76, - 30,228, 97,110,235, 96,228, 80, 76,114, 53,148,193,116, 55,148,146,234,113, 6,214,104, 96,171,117, 93,128, 74, 45,199,181, 75, - 3,192,212,118,182,119, 78,239, 61, 40, 55,166, 96, 14,196,143, 57,128, 96,117,204, 95, 5,215,235,192, 78,133, 92, 86, 93, 23, - 26, 60,238,216,214,219,134,173, 11,120, 84, 61, 43,213,208,138, 96, 21,163,129, 88,179,104,100, 69, 11, 99,160,250,138,144,136, -168,230, 25, 76, 17, 55,250, 69, 82,135,166,105,204, 60, 54,237,114,126,246,141,111,254,225,243, 79,191,244,209, 15,252,104,223, -247, 78, 33,142, 90,115,181,126, 37,147,109, 36,206, 89,145,168,116, 61,198, 8,168,158, 82, 78,169,221,218,206,125,183,125,243, -230,239,253,179,111,172,122,253,205,127,248, 15, 15, 30,188,249, 23,127,246,167, 27, 27, 27, 79,220,126,122,132,147,167,158,126, -250,252,242,226,175,255,211,183, 62,253,185,159,121,244, 96,111,178,177, 67, 68,125,183, 68, 36, 39,100, 36, 34, 20, 10,106,182, -166, 92, 22, 4, 2,169, 30, 53, 4, 55, 51,224,216, 34,139, 43, 16,162,107, 1, 66,119,243,236,142,104, 10,221, 98, 89, 82,223, - 76, 71, 66,156,115, 49,230, 46,173,144, 12,164,169,137,216,209,100, 67, 51,244,185, 47,253,226,244,232,225, 51, 79,220, 80,211, -197, 98, 57, 95, 46, 87, 57, 35,248,141,221,157,130, 49,182,178,123,243, 73,105,162, 67,136,145,101,218,230, 84,192,203,229,249, -213,120,178,201,165,191,188, 58, 62,159,157,108, 77,119,111,221,126, 87, 94, 45, 38,155,187,139,213,236,193,225,193,178, 91, 25, -192,230,198, 70, 53,220, 35,194,168,105,158,185,221,252,199,254, 59,167,231, 87, 34,188, 70, 4, 1,186,241, 90, 24, 96, 14, 12, - 94, 91, 68,117,176,199, 8, 24,100,185, 88,108, 79, 55,190,242,249,159,251,249,207,124,246,217, 23, 95,146,102,146, 53, 47,103, -231,103,199, 7,247,223,222,187,255,240,209,195,227,227,147,203,203,217,124,126,113, 57, 63, 59, 61,235,115,254,248,123, 95,253, -173, 95,251,149,151, 94,122,161,239,150, 39,179,203,189,171, 75, 75,221,237,221,205, 59,247,238,111,181,205, 4,145,167, 99, 98, - 25,180, 59, 72,130,104,234,131,102,167,138,161,173, 26, 10,208, 84,139, 21, 24, 42,150,213, 62, 10,197,114,160, 80,175,141,150, -221, 12, 66, 32,119, 70, 32, 3,227,138,231,173, 7,115, 0, 68, 18, 97, 2, 84,240,202,125, 50,119, 3,168,151, 54,215,130, 34, - 18, 2, 16,180,113, 82,180, 84, 51, 25, 35,170,209,208,160,182,193, 91, 54, 44,227,104,120, 23, 18,146, 27, 20, 51, 97, 10, 44, -245, 40, 77, 6, 34,141, 90,178, 82, 80,170,144, 6, 25,209,145,106, 12, 13, 1,137, 4,220,213, 21,141, 0, 64, 53,215,118,168, - 3, 3,225,120, 60,234,187, 85,234, 87,102, 30, 69, 48, 68, 48, 44, 37, 83, 64, 67,100,103, 34, 42,166,128, 86, 5, 79,125,159, -188,100,168,220, 75, 67,131,194, 72, 53, 5, 80,204, 25,205, 76, 83,223, 55,227,104,165,122,186, 60, 4,201, 89,135, 76,155,147, - 48,187, 23,213, 97, 46, 28,164,117,215, 84, 10,242, 58, 4, 1,128, 72, 97, 52, 6, 14, 77,219, 72, 8, 86, 20, 1, 73, 24,204, -235, 16,121, 50,218, 28,163,110,143, 11,154, 87,113,130, 26, 34, 20,230, 96, 96, 96, 70, 80,163,138,238, 57, 57, 50, 18, 49, 49, - 48,154,170, 33,171,101, 70, 6,228, 65,131, 71,200,129,251, 84,250,229,106,247,137, 27,192,102,201,173,228, 56, 26, 1, 99,206, -170,203, 21,199,236,230, 69,213,107,158,167, 88, 54, 88,219,176,234, 37,129, 29,177,218,138, 16,209,234, 87,113,120, 86,129, 59, -160, 35,115, 36, 42, 37,151,222, 58, 66, 66,175,113, 88,171, 15,203, 84, 74,196,166,105,154,190,207, 37, 39, 9,204,128,196, 97, -161, 74,140, 96,158,138,129,167,173,233,164,184, 72, 28, 95,203,185, 51, 45,197,138, 0, 56, 24, 18,219,192,211, 88,215,135,200, -234,126,214, 77, 7,207,115, 93,177, 86, 43,163, 15, 68, 97, 68, 66,169,111,130,193,133,138,160, 80,121, 4, 68, 21,100,134,131, - 94, 3, 89,234,149, 65,135,131,190, 1,128, 75, 19,219,136,203,101,158,182, 1,220, 1, 10, 32, 13,209,176, 26,214,161,199, 47, - 15,115, 68, 7, 5,171,149, 55, 34,192,186,200, 53,115,171, 63,143, 4, 65,181,164, 65, 9,100,128, 10, 6, 38,117, 16, 64, 85, - 56,238,238,184,254, 18, 24,120,239,128,110, 74, 97,203,150, 93, 94,204,154,141,169,196,145,151,100,253,252, 27,255,230,155, 55, -174, 61,241,185,207,124, 26, 16, 74,223,181, 27,155, 36,193, 1,156,196,212,172,155,243,104, 3, 12,220,156,106, 39,133,164,153, -142, 81,173,109,199,243,163, 7,255,250,247,191,249,115, 63,247,165, 39, 95,121, 17, 17,130,252,135,203,179,179,157,173,221,166, -153,236,236, 92,127,226,214,147,119,238,221,127,229,254, 61, 53,155, 93, 93,222,124,242,233,229,225,129, 48,135,102, 84, 19,175, -230,201, 17,221, 12, 17,205,180,162,254,134, 41, 87,157, 70, 17,154,154,155, 97, 32, 80,183,172,142, 72,181, 1, 1, 86,114,230, -216,162,185, 49, 2, 97,183, 92,246, 41,231,212, 7, 66,226, 16,218,134, 9, 83,191,100,145,211,195, 71, 87,203, 5, 71,118,183, - 62,245, 57,231,101,215,141, 2,111,143,154, 16,195,104,251,122,136, 45,179,180,211,173,229,201,241,168,221,237,211,101, 78, 75, - 2,184, 56,127,244, 96,255,174, 1,189,250,226,171,139,217, 5,115, 92,234,197,229,197,209,229, 98,126,116,117,121,117, 53, 27, -143,166,227, 24,164,105, 22,179,171,113,211, 44,251,148,250,238,230,245,221,203,217,252,111, 3,154,161, 30, 87,124, 88,148,215, - 24,100,237, 72, 48, 67, 54, 3, 43,239,125,233,197,255,242, 55,190,254,254, 31,251,128,180, 99, 35, 92, 92,157, 95,156, 30, 62, -124,176,127,244,232,224,238,131, 71,199,231,103,103,179,217,114,209, 29, 30,159,156, 92, 92,142, 99,248,239,191,250,229,191,251, -149, 47, 45,231, 23,119, 94,255, 33, 52,163,183, 31,238,175,102,151, 15, 30, 28,189,246,198,131, 27,211,201,181,141,105,211,214, -121, 11,129, 17, 81, 64, 50, 45, 85, 82, 71,200, 12, 96, 89,135,242,189, 4, 2, 48, 54, 41,238,197, 92,234, 67,208,140,128,177, -230, 38,209,139, 25, 19, 58, 99, 94,229,182,137, 21, 23, 40, 18,114,202,213,217,214, 4, 86, 39, 7, 68, 9,128,174,217,144,177, -194,133,113,176,209, 3, 7, 33, 34,213, 66, 68, 49, 72,202, 57,247, 67, 74, 10, 0,156,157, 64,176, 94,154,125,136, 30, 0,186, -106, 38,142, 68, 20, 56, 2,177,106, 38, 55, 32, 44,165, 39, 34, 98, 97,116, 25,176,142,193, 92, 21, 44,132,152, 83, 15,238, 64, -200, 30, 12,204,221, 41, 48, 34,105, 41,129, 89, 66,200,165, 16,113,136, 35, 7,179, 82,152, 9, 3,215, 33,175,212,163,132,149, - 16, 34, 18,151, 92,250, 62, 33, 16,178, 84, 91,102, 51, 10,232,113,213,119, 53,146,207, 90, 5, 62,128, 64,166,201,129,221, 13, -193,115,234,213,140,137,130,200, 48, 46,118, 16, 17, 17, 46, 57, 23, 77, 48, 72, 1, 43,210,222, 17,204, 0,154,166,149,192,228, -168, 73, 89, 4,192, 82, 94,185, 89,108,226,186,165, 73,227,113,235, 70,185,203, 14,206, 77,112,117,115, 99,102, 67,212,236, 37, - 23,171, 97, 87,207,228,129, 56,168,154, 23, 99, 34, 39, 6, 71, 80,165, 32,161,137, 41,165,190,207,151,179,101, 8, 40, 44, 86, - 76,152, 80, 70,197, 12,212,189,226,203,187,206, 28,115, 73,204,193, 75, 33, 38,172,234, 30, 98, 5, 80, 51, 68,104, 99,232,172, - 84, 69,109,237,173,145,144,166,140,204,245,102,165,131,194, 10, 35, 5,114, 79,166, 66, 28,162,228, 94, 11,104, 20,142, 49,164, - 84,152, 8,130, 56, 64,118, 37,208, 73,211,116, 61,231,180, 16, 52,146,102,217,155, 22,147,231, 95,124,113,213, 23, 45,101, 62, -187, 88, 46,103,218,175, 28, 75, 77,164, 0, 14,152, 69, 98,210,172, 53,164,239,174,117, 32, 52, 24,180,129,235, 50, 28,234,166, -181, 78,139,214,100,210,154,229, 55,132,186, 6,241,117,115,202, 43, 50,110,120,113, 25,214,203, 36,146,230,178, 53, 25,207,150, -221,246,102,155,212, 5,240, 29,204,247, 59,248,200,193,244,242, 88,250, 87,147, 52,107,132,116, 70, 39, 17, 80, 51,211,130,224, -174, 96, 76, 60, 52,131,148, 81,134,247,137,177, 62,246, 89, 15, 24, 32, 0, 52, 34,113,152,120,151, 87,203, 5, 7, 33, 14, 69, - 51,106,255, 7,127,252, 71, 18, 70,159,252,200, 7,139, 22,112, 36,142,205,100,170,197,136, 89, 29, 65,147, 47, 23, 32,173,165, -142,194, 8, 25,192, 12, 65, 17,212,220,199, 27,163,255,243,127,251, 63, 36,110,127,254, 23,126,102,254,232,209,120, 99,227,163, -159,249,236,191,251,195,127, 51, 95,204,154,241,120, 50,153,220,188,113,253,252,252,244,245,215, 95,251,201,143,253,212,241,233, -225,114, 49,107, 39,163,156, 87,136, 64, 34,110, 86,128, 68,216,113,253,184,171,232, 19, 68,174,244, 55,225, 32,177,228, 21, 34, - 51, 7, 69, 71, 0,116, 67,211,220,247,121,181,228,102, 20,219, 64, 96,234,234,102,134, 36,161, 49, 71,244, 34, 34, 24,184,148, - 12,224,171,211, 71,119, 95,255,214,213,106, 69,196,238,184, 92,172, 22,243, 69,234,250,157,201, 6,161,164,238,234,250,228,121, - 67, 58, 57,216,239,187, 69, 78,253,229,201,241,120, 50,238,187,171,249,229,241,170,215,219, 79, 60, 55, 34,186, 60, 61,238, 87, -151, 32,141, 57, 77, 39,211,243,171,217,124,177,100, 9,155,155, 91,253,106,126,122,124, 88,138, 7, 9, 76,120,112,114, 49, 91, - 46, 0,220, 75,241,181,246,220,220, 16, 98, 85, 83,212, 47, 43, 51, 86, 67, 99,113,187,177,187,243, 11,159,248,196,151,190,248, - 75,183,158,122,166,152,169,149,203, 71,135,103,167,135, 15, 30, 60,120,116,116,114,255,209,225,225,217,105,151,210,229,108,113, -112,112, 92, 74,249,236,135,222,247,143,190,252,133, 15,127,232,199, 30, 30, 62,220,187,243, 54,143, 71,221,233,241,253,183,239, - 7,230,136,116,125,103, 60,157, 76,107,236, 10, 3, 4, 17, 0, 50,215,146,157,185, 34, 34, 0,208,181, 40, 17,136, 80,234, 11, - 58, 8,198,130,133,208, 76, 43,117, 20, 17, 25, 9,138,107, 73, 26,155,216,196,198, 74, 54,199, 56,138,245, 59,161,137,148,178, -213, 55, 0,177,160, 48, 42, 16,139,230,172, 73,171,163, 25,208, 41, 10, 34,122,113, 34, 0,181,164,153, 49, 8,122, 81, 37, 68, - 9, 92, 39,230, 53, 92, 0, 72,214,103,115, 99, 25, 82, 3, 37, 43, 75,168,234, 66, 67, 7, 55, 14,195,169, 28, 76, 1, 88, 68, - 0, 93,181, 0,120,177,158, 88, 16,216,177, 98, 60,234,164,200, 16, 32,112,163, 86,192,189,105, 71, 57,103,207,217, 21, 88, 68, - 66,112, 51, 15,200, 92,185,193,131,217, 39, 21, 99,193,156,122,213, 34, 65,152, 8,144, 93, 43,219, 50,162,170,170,162,123,148, - 80,140, 21, 10, 66, 30,162,173,185, 32, 90,229,255,173, 85,112,100,168,160, 80,201,107,213, 63, 87,147, 35, 68,192, 66,224,104, -235,212, 93, 8, 77, 81, 5, 39, 3, 71,174, 71,132,194, 68, 20,215, 53,248, 32,232,144, 74,134, 82, 98,100, 67, 40, 57, 3, 48, - 56, 58,128, 38,128, 58, 87, 82, 83, 80, 68,113,128,156,147,136,112, 27,114,210, 58, 50,138,177,181, 84, 22,125,110,154,160,200, - 57,149,205,233, 24, 9,155,216,154,121, 78,197, 84,205,141, 43,170, 55,151,161, 78,236, 70, 18, 85, 11,104, 17,150, 82,114,173, -203,171,217,106,181, 34, 10, 86,117, 21,132,134,144,251,108,224, 1, 17, 29,180, 43, 6, 86, 37,167,154,147, 2, 10, 18, 32, 20, - 85,142, 28, 81, 82,209,249,124,222,180, 17, 89,172, 55, 43, 9,212, 73, 8,205, 2, 58, 52, 13,184,153,153, 16,178,144, 72, 19, -183,218,198,212, 38,147,166,239,182,186, 85, 74, 57,165,110, 89,114, 41,165,115, 75,174,133,220, 5,135,244, 60, 24, 32,131, 15, -151, 86, 3, 83, 24,240, 50,107,104,146, 33,184,129, 8, 18,185,155, 43, 12,253,183,245,116,129, 24,157, 6, 52, 76, 24, 18,175, - 12,204, 53, 15, 55,217,218, 56,217, 63, 1,218, 37, 45,128, 53, 77, 64, 96,117,148, 67,239, 68,115, 6,208, 8, 18, 13,115, 36, -112,215,172, 78, 96, 62,204,246,177,130,108, 4, 8, 12,148,129,173, 90, 84,215, 75, 2,245,170,137,164,161, 23,177,102,163, 9, -166, 82, 74, 14,161,149, 54, 0, 24,171,254,201,159,253,191,103, 75,248,229,159,249,220,168, 13,165,239,226,168,149,166,181,156, - 33,140, 16,204,186, 57, 52, 35,106,218,210,173, 76, 83, 19, 71,174, 78, 65,160,184,166,210,110,110,220,127,243,205, 63,254,163, - 63,253,234, 87,255,193,116, 68, 71, 39,179, 91,207, 63,245,190,167, 63,241,253,239,126,251,222,222,157,205,205, 45, 30, 79,119, -110,220,120, 98, 54,123,112,240,232,248,232,145,153, 94,156,156, 96,224,205,233,118, 69,228,168, 22,145,168,238,188,198, 96,186, - 27,186, 58, 80,113, 32, 66, 9,141, 99,109,110,114, 41, 25, 7,181, 57,150,164,150, 51,139, 72,224, 10,111,214,174, 51,181, 40, -178,185, 49, 61, 98, 2, 83, 4,240,156, 33,167,213,197,193,221, 55,223, 92, 44,231,197,107,156, 86,207, 46,206, 86, 41,247, 69, - 55, 2,247,221,108,177, 90, 60, 19,199,105, 57,219,127,243, 7, 38, 60,154,236,164,229,236,244,120,111,181,154, 79, 38,187, 79, -237,108, 16,203,233,241,253, 85,159, 56,180,139,171,147,233,116, 71, 0, 95,187,243, 58,145,108,111,108,174,186,197,197,229, 69, -219,140,219,157,241,229,249,185,131, 33,162,170,165,164, 64,142, 64,149,147,103,110,132, 85,173,172,170, 30, 2, 11,242,162,239, - 38,109,251,211,159,248,216, 23,126,246,103, 95,122,233, 85,105,219, 85,223, 45,175, 46,175, 46,206,142, 31, 29,220, 63,184,127, -111,255,232,248,236,116,217,247,139,229,234,225,241,233,225,225,201,143,191,244,236,111,255,218, 87, 62,254,161, 31, 5,243,195, -211,163, 71,151, 23, 15,207, 78, 95,216,125,225,193,189,115, 74,182,189, 53,106, 55,166,102,224, 64, 66,161, 42,140, 77,161, 62, -236,214,208,105,175,216, 0,145,250,104, 80, 38,246,186, 41, 2,240,226,196, 80,180, 16, 7,114,211, 92,140, 49, 80, 0,115, 67, -165, 90,169, 8,129, 8, 74, 86,115, 19, 17, 71,130,202,119,118, 68,169, 91,115,224, 38,120,113,226, 90,191, 24,108, 58,245, 84, -195, 64,117,238,175,165, 62,239, 24,137,132,177,232,112,164,193, 72, 88,181, 79,110,142, 40, 65, 72,106,186,188, 86, 32,171, 95, -222,200,201, 65,240, 49,147, 3,201,173, 84,186, 33,186, 89, 65,225,198, 64,235, 64,213,204,213, 50,146,184,165,220, 47,144,163, - 48, 43, 58, 5,172, 79,121, 48,116, 52, 70, 52,115,102, 38,172,164, 78, 67, 2,100, 54, 53, 12,145, 16,185,137,214,169,171, 86, -229,183,136,152, 85,217,147, 50, 5, 3,119,176, 24, 91, 45, 90,212,200,128, 67, 64,102, 53,181,172,132,140, 78,246,216, 52,164, -133,100,184,185, 32,177,153, 86,237,144,106,113,171,189, 94, 71, 71,179, 60, 80,164,181,150, 90, 48,167,140,134, 44, 68,109, 40, - 89, 93,149, 41,152, 91, 46, 69, 92, 6,106, 19,185,214,240, 66, 5,221, 19,185,131,169, 35, 65,219, 54, 41,245, 57,247, 34, 18, -131, 32, 81,191, 88,129,229,241,120,203,220, 82,223,129,163,169,215, 52,166,155,193, 58,164, 7, 68,142,164,170,107, 97,144,215, - 83,185,170,213, 39, 76, 93,136, 59, 64, 49,133, 42, 13, 71,169,153,171,122,231, 70, 68, 55,112, 99,243, 2,129,132,144,153,181, -184,154,213,113, 21, 56, 90,214, 16, 24, 60, 40,148,162,202, 66, 28, 24,157,180,148,234, 10, 83,115, 57, 58, 60,104, 66,100, 17, -145,208,142,198,163,241,168, 56,104,151, 82, 46, 41,245,170, 86, 82, 90,204, 47, 87,105, 5,152, 26, 33, 17,170,132,198,234,122, - 5,199, 90, 89,242,202,130,175,171, 23,118,172,251,226, 33, 71, 91,199, 57, 25, 24,134,190,182, 15,235, 12,167,225,197, 11,107, - 66,111, 12, 49,146,207,150,182,209, 82,221,178, 14, 45,164,119,192,195, 72, 14,250, 24, 31, 86,237,209,170,136,168, 96, 4, 52, -128,244, 28, 28,120,173,247,171, 76, 62, 99, 12, 64, 8, 86,188,168, 86,188,180,240, 16, 15, 37, 4, 87, 45, 13,245,139,162,160, -128,210,180, 44, 65, 74,247,231,255,225,207, 95,191,119,248,149, 47,124,126, 99,212, 40,176, 52,129,152, 72, 2,181,141,149, 82, - 82, 41,125, 47,106,208,180,106, 30,198, 91,200,161,238, 71,156, 5, 24, 68,211,239,255,171,223,123,249,213, 31,255,236,103, 63, -121,126,126,186,117,227, 26, 69, 1,132,159,254,252,151,255,175,255,253,127, 61, 57, 61,122,170, 25,141, 70,147, 27, 55,111, 92, - 94, 93,124,231,123,223,255,196, 39, 63,113,237,214,237,131,189,189,209,116,178, 92,204, 16,128,164,218,176,196,121, 80,109,153, -131,107, 97,146, 32,172, 96, 65, 34, 99,189, 78, 58, 16,121,201,174,166,165,168, 58, 97,160, 17, 51, 5, 96,204, 93, 15, 88, 59, - 83, 24, 3,107, 94,181,163, 73, 46,170, 10, 97, 52,221,191,191, 63,191, 56,198,208,228,172,174,144, 82,186,154,207, 85,213, 92, -183, 39, 45, 96,104,198, 59,196,113,185,152,115,179,113,113,252,118,145,229,229,249,201, 52,198,182, 29,141,198,211,227,163,251, - 55,110, 60, 61,157,108, 35, 44,155, 81, 83,186,132,166, 7, 7,123,251, 39,103,198,184, 13,147,212,247, 0, 18,132, 71,145,206, - 65, 83, 42, 91,155, 91,227,241,136,153, 79,207, 47,144,168,235,140, 8, 9, 89, 68,250,146,119,183,182,136,248,248,252,188,128, -189,251, 93,207,255,221, 47,125,241, 67, 31,252, 40, 55, 49,171,117, 87, 23,171,217,213,201,241,225,193,225,209,253, 71, 15,247, -246, 15, 46,151, 43, 45,229,228,226,226,222,254,195,174,235,127,227,103, 63,253, 59,191,253,117,102,126,112,239,173,249, 42,173, -162,180,232,199,143, 78, 78,142,207,130,195,141,233,198,120,220, 56, 0, 51, 17, 11, 49, 19,147,170, 57,174, 63,217,117,112,135, -200,196,117,171, 91, 95,255,131,235,124, 13, 45, 52, 32,112, 18,226, 98,134,140, 50,160,184,156, 25,129,152, 12,137,196,173,104, - 41, 33,182, 40,168,197, 8, 48, 8, 27,152,102,151, 6,205,152,145,156,234,228, 19, 37, 68, 64, 43,217, 2,147,185, 25,162, 16, - 50, 80, 68, 94,235,197, 40,149,204, 36, 14, 38, 34,185,174,218,209, 42,218, 17,144,214,201,245, 90, 63, 52,211, 66, 28, 76,173, -106,226, 17,171,142, 57,152,123,133,216,120, 8, 86,138,107,225,128, 94,220,192, 88,164,238,222, 58,119, 65, 33, 64, 64,113,235, -209,133,132,212,106, 49,149,107,239,208, 93,115, 41,230,200, 44, 14,238,168, 33, 52, 18,131,155,229,156,170, 97, 13,145, 28,140, -136,234, 82,215,212, 20,149, 0,138, 58,244,169, 38, 52, 80, 6, 7,180,153,214,219,131,170, 10, 17, 18,153,186,176, 96, 12,154, -178,154, 7, 54, 65, 82, 80, 55, 47,166,163,166, 45, 37,151, 98,109,228,162,230, 14,129,197,201, 52,151,213,170, 52, 77,144, 24, -115,206,154,147, 27, 32,146, 14,201,120,170,233, 15, 4,176, 65, 53, 66, 4, 88, 12,114, 82,192, 18, 2,187,147,106,182,226,230, -217, 1, 5, 65,213,151,139,229,214,198, 8,156, 52, 23, 36, 22, 38, 19, 72, 93, 66, 53, 96, 34, 14, 77, 12, 57, 23, 55, 21,116, -163, 10,135, 34, 85,243, 2, 44, 40,210,168, 23, 28,170,150, 53, 5, 11,128, 76, 12,106,106, 37,115, 16,181,108,138, 81, 0,132, -201, 76,176, 97, 2, 7,236, 86,125, 19, 67,237,189, 86, 64, 60, 18,170, 13,229, 36,150,144,115, 17, 17,225, 8,192,158, 83, 96, - 92, 37,146, 31,126,239,219, 49,198, 32,113, 50,158,182,227, 73,144,216,140,219,102, 60,106,163, 52,141,152,121,214, 50,154, 78, - 76, 75,223,117,243,217, 85,151, 87, 96,137, 4, 91,102, 0, 96,170,110,143, 1,244,226, 4, 40,176,214,157,214, 8, 98,125,126, - 35, 51,174,229, 54,107, 47, 45,130, 1,176,215,234,218, 99,128, 7,110, 78, 71, 39,231,231,155, 79, 93,131, 26,240,178, 65, 52, - 82,233,100, 0, 84,205,218,149, 83,225, 86,119,168,108,182, 78, 5, 1, 1,216,227,175,223, 99,124,241,192,115,247,170, 61, 32, -100,162, 65, 12,246, 78, 81,181,235, 51, 33, 59,104,104, 34,199, 16, 17,191,243,237,255,244,237,215,247,126,230,147,159,186,113, -227,218,106,213,177, 56, 57,177, 8, 9, 91, 41,174,238,134,210,180,220,140, 45, 37, 25,141, 66,140,174, 9,152,173, 95,166, 46, -109,238,108,188,249,189,239,126,251, 59, 63,252,239,254,155,127, 82,250, 5, 82, 24,109,142, 52, 21,239,250, 27,183,175,253,248, -135, 63,250,214,223,124,123,119,247,198,198,214,214,230,238,181,103,159, 46,135,143, 30, 28,236,221,123,249,189, 31, 32,134,187, -111,188,118,235,214, 45, 99, 23,144,129,200, 89,239,173,128, 90,138, 51, 86, 86, 26,168,135, 27, 83,131, 12, 94, 0, 25, 29,204, -177,164,100,200,192, 2,218,147,145, 68, 82, 83,237,123, 15,145,208,144, 27,105, 98,211, 52,163,102,210, 45, 19,197,112,126,124, - 48, 63, 63,221,104,219,211,211, 19,243, 18, 37,244,121,149,250, 84, 76, 65,125,123, 99,147,133,174,223,124,166,109,199,103,103, - 71,253,234, 98,190,156, 95,204,142, 95,121,233, 61,253,236,196,165,237, 86, 11, 82, 59,122,120,127,251,218, 45, 75,125,167, 61, - 88, 41,165, 28,157, 30,175, 82, 10,161, 57, 62, 57,157, 76, 39,227, 81, 59, 95, 45,247, 31, 30, 86,148, 91,183, 88, 92, 45,231, - 27,163, 81,234, 83, 42,165,132,128,160,132, 34, 8,207, 60,241,228,255,242, 79,255, 41, 34,253,187, 63,253, 19, 70,250,248,199, - 63,122,253,250,173,174,104,202,185, 95,206, 47, 46,206, 78,143,143, 14,142, 79,247,246, 31, 60, 60, 62, 94,172,186, 92,202,193, -163,227,135, 71, 71, 47, 60,121,227,127,248,234,175,254,252,103, 63,126,114,126,254,240,254,126,188,177,125,244,232,173,211,139, -171,201,100,154, 83,126,122,103,139,155, 80,233, 71, 36, 50, 60,116,144, 76,235,167,210,105,248,224,162,122, 33,148,172,213,148, - 86, 73, 91, 53, 66, 60, 84, 68, 36, 68,179,162,174, 37, 37, 10, 4,206,245, 8,171,238,208, 37,105, 71,196,156,115,207,204,237, -164, 85, 29, 38, 12, 65,130,106, 6, 64, 98, 72,201,130, 72,205, 41,115,144,122, 6,172,111, 29, 67, 70, 0, 65, 42,166,129, 5, -193,144, 72, 88,138, 41,112,112,115,100, 78,185, 84, 50, 30, 7, 25, 64,174, 0,129,217,145, 24, 73,213, 76, 21,137,221,172,138, -156, 53, 39,226, 32, 44,224, 84, 67,182, 8,232, 69,209, 9, 5, 29,144, 98,136,129, 61,151,148,179,187, 71,105,220, 61,151, 84, -212,154, 24,145,196,181,212, 17, 13, 0,177, 72, 46,201,212, 34,133,210, 84, 5,180, 35, 18, 5, 46,106,194, 92, 23, 41,255, 31, - 83,111,246,107, 89,118,223,247,253,166,181,246, 62,231,220,169,110, 77, 61,177,155,221,236,230,212, 77,113,104, 42,164, 38, 90, -180, 68, 74,138,230,200,178, 76,203, 3, 20, 36,182,131, 0,142,147,135,188,229,111, 9,144,135, 0, 14,144,135, 24,182, 3, 36, -134, 96, 41, 78,160, 64, 18, 41, 90,108,146,221,236,238,170,174,233,222,170, 59,223,123,134,189,215,250, 13,121, 88,251,182,242, -218,168, 70,221,170, 58,103,239,181,126,191,239,247,243, 1,110,144,203,230,138, 1, 85,133, 86,163,157, 2,215,200, 44, 77,168, - 93,116,100,144,220,117,102, 6,136,169, 25, 58, 17,219, 42,200,171, 18,147, 8,154,218, 52,133, 15,147,128, 82, 6, 34,234,115, - 54, 51, 34,110, 57, 18, 47,213,131,102, 93, 10, 34,211, 10,224,110,200, 73,220, 13, 98, 90, 63, 68,152, 8, 1, 66,232,100,123, -176, 86, 89, 64, 0, 98,117, 4,116, 32,102,134, 36, 19,243,121, 83,212, 67, 83,218,110,148, 56,181,106,206, 16,144, 36, 59, 70, -131, 0,184, 41,130, 7,130,186,183, 40,136, 90,101,100, 78,220, 34, 39, 76,220,166,209,230,138,128, 68,217,180, 52,202, 16, 96, - 14, 85,128, 72, 93, 50,167,208, 34,146, 34, 92,155,201, 64,114,120, 32, 57, 48, 1,132,186, 67, 0, 18,115, 22, 87,173, 86, 37, - 9,139, 68,160,186, 77,230,172, 0,249,227, 63,253,211,220,165,121,215,239,110,109,205,231,139,221,157,157,197,124,103,177,181, -181,187,183,151,250,174,235,251,148,186,220, 9, 68,154,207,231,187,123,123,170,182,217,172,202,184,185, 60, 63,119, 12, 65, 20, -114,225,137, 85,131, 8,200, 48, 73,236, 38, 98,134,181,192, 74,211,241, 97,180, 96,179, 95,199, 43, 39,194, 87,155,185, 32,130, -131,239,236,110, 31,221,123, 88,117, 95,174,213,221,173,165, 52, 61,160,145,221, 26, 68,144, 32, 16, 16,205,157,193,193, 1,101, -130, 40, 0, 52, 96,219, 4, 33,160, 22, 52,105,187, 96, 64, 68,129,246,241,155,124, 38,209, 36, 18,129,136,172, 17,115,238,178, - 71, 44,250,244,225,143,126,240,167,223,255,201, 47,126,227, 27,175,127,230,245,245,249, 41, 0, 2,231,112,167,180,232, 22,219, - 58, 86, 71, 87, 51, 76, 57,144,176,239, 72, 4,220, 16, 9,193,235,102,195,196, 57,117,255,246,143,255,228,173,183,190,242,250, -235,175,156, 28,157,236,188,112,215,172,145, 6, 56, 60,190,240,213,159,190,255,222, 15, 47,206, 79, 23,243,157,249,108,113,235, -185,231,182,118,247, 46,207, 15,206,142, 15,111,221,121,161,140,101,255,185, 23,158, 61,122,216,229, 57, 18,133, 25, 32,153, 22, - 69,100,186,134,104,182,111,117,202, 96, 14, 72,225, 30, 30,230,134, 41,147, 25,160, 3, 6, 49, 89, 45,238, 1,194, 72, 9, 37, -185, 57,215, 53,212, 97, 0,183,178, 44,195,248,189,255,231,143,143, 79, 14,111,239,236,212,112,115,168, 90, 54,155, 58,150,113, -185, 30,114,226, 78,242,106,179,254,196,238,237,203,203,163,251, 31,124,127,177,189,245,133,175,252,194,211, 39,143, 60,120,172, - 64, 56, 82,240,108,247,246,233,241,195,213,234,108,185, 60, 15,128, 50,172, 16,224,224,244, 36,229,156, 68,170,151,229,114,181, - 92,175,139, 87,173,182,189,232, 54, 1, 87,171, 43,139,168,102,179,174, 87, 95,247, 41,153, 51, 39, 6,226, 87, 94,124,254,181, -215, 94, 83, 74,191,247,220, 11, 16,174, 16,165,142, 90,199,113,181, 60, 59, 62,126,116,240,248,193,227, 71, 31, 61, 62,184, 92, -173,135, 50,158,158, 95, 62,122,122,220, 17,254,179,223,254,213,127,240, 59,191,182,191,179,120,122,126,118,178,186, 58, 60, 63, -255,196,173, 29,158,207, 55, 79,142,120,208,151,111,237, 49, 83, 56, 32, 79,208,217,196, 73,221,139, 25, 95,131,241,218, 6,169, - 69,109,189, 24,113,184,180,213,253,148,160,136,198, 31, 69, 12, 8, 98, 9, 7, 68,176, 50,157,230, 26, 38,189,169,227, 20, 92, - 36, 17,139,153,181, 10, 7, 6,170,105,195,168, 66,192, 44,243,212,150, 72, 20,246, 49,129, 15,194, 33, 80, 9, 9, 69,208, 52, -194, 9,201,213,135, 24, 51,165, 64,172, 97, 80,161, 49,178,167,188,183, 7, 80, 80, 96,173,230, 94, 83, 74,132, 52,161,193, 1, -217,193,205, 37,117,209,142,232,225,200, 28, 1, 85, 71,225, 52,209, 61,152, 89, 68,171, 66, 4,183, 13,167, 27, 34,166,148,219, -190,138, 16, 26,101,132,152, 60,160,106, 5, 15, 68,114, 68,230, 52, 89,152, 34,180, 26, 33, 57, 26, 11, 91,107,182, 52,154, 43, - 68,120,157,112, 82, 0, 0,193,146, 56, 9, 19,171,170,155, 39, 78,208,228,210,140,110,225,209,210, 55, 19,208,150,168, 29, 91, -167, 15, 57, 94, 79, 38,219,179, 65,195,152, 25, 0, 85, 43, 65, 8, 35, 18,123, 27, 60, 54, 18, 46, 88, 29,170,244, 25,128, 35, -130, 33, 12, 92,125, 2, 43,182,161, 47, 39,110, 89, 76,143,136, 0,134, 96, 33, 32,177,240,246, 67, 95, 93, 45,133, 33,245,194, - 34,166,129,129, 94, 3,165,249, 95,155, 61, 46, 16,136, 25,209, 1,194,204,130,136, 72, 50, 66,104, 53,145, 22,133, 3,135,118, - 74, 99, 8, 55, 31,153,165,169,172, 32, 90,148, 9,221,130,192,155,143,187,185,151, 27,173,195, 61, 4,145,157, 7, 51,140,198, - 59,112, 68,162,156,146, 66,120,152, 26,147,247, 93, 30,134, 49,204,153, 80,190,241,181,183, 15,158, 62,123,124,112,248,240,234, -106, 40, 37,194,183, 23, 91, 59, 91, 91,251, 55,246,119,118,182,183,183, 23,187,219,251,243,237,157,196,221,108, 49, 19, 17, 38, -217,222,218,229,221,253,155, 55,159, 87,171,155,245, 48, 12,235,112, 55, 27,173,110, 34,106, 22,206, 57,220,131, 88,108, 2,233, - 77, 63, 71, 59,134,160,249,100,226,152,248,235, 24, 17, 50,225,120,193, 44,114,146,197,188, 59, 95,110,110,109,119, 45, 42,211, -152,170,222, 34, 93,161, 19,174, 2, 0,194, 0,161,253,175, 40,132, 24,230, 6, 36, 13, 82, 54, 29, 17,136,166,142,171, 87,159, -136,193,136,212,204, 29,136,215, 28,133,198,155,103,162,178, 25,231,139, 57, 3, 60,249,240,189,127,253,239,255,195, 23,223,250, -242,155,111,188, 54, 14, 35,112, 6,173,156, 50,231, 25,162,131,187,106,177,198,233, 40,163,100, 67,112,100,118,171,121, 54,179, - 97, 8,194,157,189,189, 31,127,239, 47,223,123,255,209,127,255,223,252,238,197,233,113, 90,100, 97,118, 51, 64, 64, 22, 85,191, -177,183,247,234, 27,159,125,116,239, 39, 55,246,110,108,237,190, 34,204,171,229,197, 48,214, 39, 79, 30,237,111,223, 8,139, 82, -108,107,247,198, 48, 14, 61,205,166,198,237,100,248,248, 88, 91,229,193, 34,253, 44, 26,150, 69,192,134,145,136,221,172,253,249, - 41,119,220,229,178, 41,110,181,245,137, 67, 29,220,211,124,143,242,130, 37, 13,101, 20,162,207,126,225,205,245,213,217,241,249, -217,249,122, 68, 4,173,181,150,162,238, 85,117,167,203, 44,189,137,188,255,254, 15, 86,155, 53, 11,219,184,153,205,183,250,249, -206,197,197,249, 98,239,206,197,217,193,124,103,215, 93,239,220,121,249,226,236,116,123,107,103,121,117,190, 53,223, 94,174,175, -158, 93, 45,133,133, 17, 41,245,165,140, 59,123,187, 96,245,234,106,244,136,205,102, 77,132,243, 52,171,181, 50,182,203, 40, 49, -161,123,168, 90,223,117, 15, 63,250,112,239,185,151, 56, 37, 83,211, 97, 53,174, 87, 87,103,167,199,199,199, 15, 30, 62,124,239, -163,251, 71,199,231,155, 90, 86,171,213, 71, 7,135,231,231, 87,223,248,242,155,255,245,119,126,247, 75,159,251,244,179,227,167, -239,125,248,116,137,120,121,126,118,114,118,126,244, 23, 23, 87, 71,231,183,247,182,230,243, 57, 64, 32,178,136,144,144, 89, 8, -231, 70,160, 16, 33,119, 79,204,102,142, 2,104,100, 94,195,175,129,163,238,200, 60, 5,242, 90, 75,226,154, 90,205,130, 0, 92, -171,181, 70, 49, 32, 82, 22,112,212, 98, 8,145, 58, 2, 0, 83,205, 57,213, 90, 27,247,209,204,155, 97,192, 32,138,198, 52,107, -107, 55,220,198, 83,181,246, 48, 65, 34,113,173, 17, 17, 34,161,134,130, 9,154,164, 59,232,186, 23,208,178,145,224,222,222, 10, -230,110,102, 57,165,118,105,189,158,120,212, 0,228,196,225, 22, 24, 17, 46,204, 22,142, 36, 68, 30,136,166,165,203,125, 0, 14, -195, 64, 4, 93,215, 67, 64,173, 37,144, 72,200,205,163,181,226,117, 20, 22, 70,241,176, 90, 74, 98, 65, 22,191,118,204, 16,160, -185,171, 25, 34,160, 80,173,154,115, 70, 9,100,210,162,110, 74,200, 0,102,109,169,214, 94, 9,136,110, 97, 86, 91,241,202, 3, - 32,220,220, 91,104,169, 21,214,219,219,179, 77,204, 90,116,131, 82,246, 98,225,154, 19,155,135,155, 19, 51, 35, 27,184,155,183, -208, 85,139, 68, 91, 53, 17,140, 32, 15, 39,100,103,104, 14, 5, 73,169,140, 5,145,160, 65,180, 2,129,176,235, 58, 53,213,170, - 1, 24,104, 4, 20, 14, 97,209,132, 24, 64,176, 92,143,227, 48, 60,119,123,191,253, 35, 34, 9,154, 75, 38, 8, 68,230,128, 32, - 11,243,218, 42,176,147,110, 8, 67,195, 19, 10, 2, 19,215,214,155,111,114,105, 45,181, 29,103,113, 26,211, 7, 49, 17,182,196, -145,179, 96,173,209,152,145,140,172,174,211,214, 23, 16,131,138,141, 12, 0,196, 30,198,142,210,177, 70,123,109,182,137, 55, 89, - 85, 12, 37,102,168, 32,159,250,228,107,175,191,246,170, 59,184,235,249,201,201,195,167, 79,159, 62, 59, 58, 60, 61,125,114,120, - 16,128,179, 89,191,179,181,115,251,230,205,155,251,251, 55,118,183,187,110,214,247,243, 60, 91,116,253, 98, 54, 95,244,125,151, -115,183, 29,139, 90,107, 25,107, 45,117,216,172,199, 97,117,177, 92, 51, 70,223,185, 16, 16, 7, 34,135,217,180,180,106,201,198, -235, 23,111,131, 88,127,220,166, 67, 64, 2, 7,164, 27, 59,187, 7,103,151,183,182,238, 76, 15,247,233, 97,110, 72,220, 10, 77, - 31,123,138,193, 3,184, 97, 53,166,230, 18,134, 55, 93, 77,227,227, 35, 53, 58, 54,121, 24,182,226, 56, 33, 32, 24, 52,163,192, - 20,247, 81, 0,138, 32, 2,183, 1,189,223, 44, 47, 63,120,112,255,197, 23, 63,241,245,183,191, 52, 84,107,252, 27,234,250,234, -216,177, 72,202,170, 22,181,130,123,212, 66,136,161, 69,182,246, 8, 28,153, 77,199, 50,174,186,249,108,184,186,248, 31,255,229, -255,250,181,175,190,253,220,115,183, 86, 21,246,238,220,209, 82,154,211, 5, 8, 33, 40, 40,127,250,205, 47,126,248,222, 59,155, -113, 68,132, 15,222,251,209,159,255,249,159,125,238,115,111, 94,158, 94,222,217,191,253,242,235,175,255,228,135,239,188,240,242, -171,227,229, 89,238,187, 86, 82,192,107, 5, 78,219, 51,187, 27, 73, 74,204,238,225, 90,128,176,108,198,220,231, 90, 85,152, 48, - 76,114,111, 69, 91, 58, 35,188,134, 75,115, 53, 72, 2, 17,166,212,153, 7, 32,220,185,245,252,171, 47,125, 98,184,121,227,163, -255,248, 67,136, 40, 99, 57,191, 56, 91,173,134, 97, 24, 95,190,181,143, 48, 44, 55, 60, 95,236,222,153,221,126,237,115, 63,181, - 94, 45,215,171,165, 72, 42, 87,199, 35, 0, 5, 18,145,214,225,233,211,135, 1,120,121,118, 52,155,111, 11,225,241,229, 37, 80, -234,115,214, 90,189,214,113, 24, 74, 25,102, 89,152, 98, 51, 12,101, 24, 61, 2,197,144,168,134, 7,184, 71,168,250, 98,158,255, -224, 63,253,246, 47,253,252,127, 50,142,155,171,243,227,156, 23,230, 49, 46, 47, 46, 46,206, 30,220,255,240,199, 31,222,127,122, -124,116,118,121, 53, 12,227,229,114,117,239,225,193,238,188,255, 31,254,139, 63,252,253, 95,255, 22, 99,252,232,135,239,228,221, -157,243,205,234,236,244, 98,179, 25,234,106,179,221,245, 55, 95,184,131, 68,104,237, 9, 12,205,139,134, 52,149,239,153, 80,161, - 97,202, 32,194, 19, 74,227, 16, 4, 2, 72, 96,147,127,186,123, 32, 17, 16,139,155, 19,132,134, 19, 2, 26, 96, 96,151,164,213, -154,104,194,120, 80,238,179, 71,148,106, 57,101, 36,175, 85, 53, 66,152, 28,192,195,147,100, 10, 12,110,136, 61,143, 8,100,116, - 11, 4,111,167,228,246, 6,183, 80, 22, 46,155,226, 49, 18,161, 32,183,248, 5,241,244, 97, 71, 64, 34,244, 0,183, 0,108, 69, - 89,144, 36, 13, 62,211,190, 92, 17,192,194,224,224,225, 49,201,206, 80,221, 39, 53, 12, 34, 6,164,156,195,194,180,144, 16, 33, -170,150,169, 46,200, 72, 72,196,228,228,196,220, 10,178,181, 86, 68, 17,142,143, 59,130,215, 74, 5, 0, 64, 55, 99,230,176,224, - 22,151, 0, 52,117, 12, 32,150,240,112, 11,164,212,242,120,216,122, 3, 83,216,218,107, 0, 79,188,231,105, 30,141, 33, 30, 74, -237,204, 30,224, 14, 44, 2, 96, 90, 75, 83, 71,140,163,166,204, 73,216, 2,204, 44, 8,115,154, 97,128, 90, 49,115, 66,194, 28, - 17,110,213,145,201, 27,183, 22, 57,204,212,131,169,193,103, 3, 60, 82,151,155,171, 36, 34,104,241,204,182,221, 0, 0, 32, 0, - 73, 68, 65, 84, 50,202, 74, 0, 6, 53, 87, 39,180,142,230,122, 51,246,130,146,164,140, 85, 36, 1,121,146,172,166,222,184, 49, -196, 68,232, 70,101, 28, 89, 4,145,219, 76, 79,152, 48, 0,208,167,248, 3,128, 59,154, 41,114,107, 48,112,184, 1, 97, 18, 81, - 13, 36,144, 44,181,148, 90, 42, 2, 16, 11, 0,154, 43, 76, 91,229, 8,119, 12, 3, 10, 78,169,170, 11, 34, 50,213,162,237, 95, -146,129, 29,161, 12, 42, 12, 17,228, 90, 74, 45,178,218,172, 33,188,185,235,182,119,246,126,234,230, 62,253,212, 23,163,234,217, -217,233,211,211,211,199,135,135, 79, 14, 15,239, 63,184, 79,156,111,236,237,221,222,223,219,223,219,219,221,221, 89, 44,182,182, - 22,219,253,108,187, 95, 44,250,190,207,125,223,229,156, 89,230,243,153,199,141, 90,107, 29,198,106,101, 24,149, 3, 50,103, 7, -191, 90, 93,172, 86,103,183,110,110, 45,114, 2, 39,119,143, 9, 67,214,232,208, 0,225,237,236, 82,107,204,102, 51, 59, 60, 42, - 22, 66,134, 32, 83, 76, 61, 38,127, 35, 4,120,212,169,199,132,129,147,174, 30, 24,169,145,239,169,149,189,175,219, 85,237, 95, - 18, 38, 0, 65,160, 67, 27, 11, 54, 88,205,148,173, 12, 0,242,196,226, 29, 94,158, 60, 59, 89,157,127,237, 27, 63,127,121,124, -190, 90,173,250,173,109, 27,174, 80,122, 40,235,192, 12,179,222,172, 2,184,121, 73,121,134, 44, 40, 57,172,230,174,115, 47, 4, - 62,174, 75,191,216, 22,240,127,243,111,254,213,106, 83,127,253,151,126, 97, 53,140,219,119,158,107,177, 82, 1, 12, 96,176, 64, - 68, 29,134,231, 94,122,249,147,159,250,236,225,163,251,125,206,167, 39, 71,175,190,246,250, 11, 47,188,248,253,239,126, 23, 2, - 95,255,244,107,183,246,111, 61,254,232,253,221,189,155,195,114, 53,219,222,134,107,174,231,100,129, 96, 10,183,220,207,145,194, - 55, 3, 48,219,104,121,214,139, 80, 25, 43, 1,200,108,166, 99, 9, 0, 2, 48,102,208, 26,227, 50, 80, 48,247,110,224, 58, 98, - 90, 16, 98,189,186, 40,235, 43, 52, 93, 23,221,212,130,128, 87,155,205,217,197,229,114,189,254,196,173,173,189, 25, 31, 45, 55, - 47, 60,255,234,222,206,222,209,211, 7,227,234,234,226,248,201,106,244,126,107,111,121,113, 36,253,182, 90,192,169,162,235,234, -242,196, 41,111,198,138,172, 8,113,190, 41,243,126,190, 25, 87, 73,186,182, 46, 41,101,116,243,198,111,185,113, 99,239,252,242, - 50,179, 64, 66,211, 2, 41, 47,175, 46, 95,253,196,243,255,252,143,254,209,215,190,246,181, 82,198,213,114, 57,172,151,195,106, -163, 58,158,159,157,188,255,193,253,247,238,221, 59, 62, 61, 27,138,110, 54,155,103,199,103,151,203,171,191,253,149, 47,252,139, -255,252, 15, 95,125,249,133,163,195, 67, 89,116, 31, 28, 60,125,107,127,175,223,217, 58,254,224, 1,215,122,107,123,209,212, 53, - 0,172, 48,148,177, 70, 56, 51, 7, 36,145, 68, 64, 14, 17,141, 78,218, 54, 94,129, 86,219, 22,167,169,201, 24, 17,192,241,122, -181,195, 85,107, 76,189, 15,180, 8,110,162, 68, 70,210, 9, 32, 64,128, 66,220,102, 45,185,133, 28,213, 88,146, 32, 71,184, 8, - 19,144,123, 88,120, 67,156,183, 20,159,169,122, 68, 0, 36,225,118,215,100, 98, 10,115, 85,225, 22,107, 15, 11, 71, 34, 78,226, - 30,200, 83, 58,182, 61, 18, 27, 86,144,166,181, 39,180, 90,109,251, 54, 17, 50, 0,154, 42, 8,119,185,175,117, 8,136,102,193, - 70,194, 68,201,205, 90,126, 25, 25,132, 69, 75, 37,118,206,217,195, 39, 22, 43, 0, 51,139,176,121,140,181, 50,145,187, 18,147, - 90, 48, 33, 34, 52, 68, 76,132, 33,114,171,156, 71, 56,181, 26, 57, 54,207, 66,152, 59, 18, 74,202, 77, 87,216,208,179, 44,210, -218,172, 77,120, 20, 0, 64, 70,200, 83, 67, 31,140,144, 66, 13, 9, 2, 27, 60,189, 76,238, 53, 68, 64, 16, 33,102,174, 85, 3, -144,152,186,220, 69,120, 41, 21, 66, 33, 16,168,173, 25, 0,192, 32, 60,145, 20,213, 64,119,109,127,210,169, 28,139,220,142,207, - 94,171, 33, 50,146, 55, 34,200,212,165, 20,214,162, 44,162,170,195,102,216,153,117,222,238,207,141,254,125,173,163, 64,132,148, - 68,171,185,153, 52,248, 59, 70, 51,116,154,153,185, 77,135, 50, 38, 43, 26, 4,194,164, 13,232,105,149, 17, 17, 88,189,245, 34, - 98,162,237, 2,185,155,155, 18,101, 68,134, 48,132,168, 85,153,200, 60, 56, 0, 57,132,177, 97, 87, 26,236, 63,144,180, 26, 81, - 36, 97,117, 51,213,148, 36, 89, 11,171, 2, 6,132, 69,128,147, 85, 67,221, 32,242, 98,123,231,141,253,189,183,222,124, 75, 16, -206,175, 46,238,127,240,193, 59,247,238,221,123,248,224,199,239,127,152,178,108, 47,182,110,221,216,219,219,221,219,223,219, 91, - 44, 22, 59,187,123,243,249, 34,247,115,150,148,243,108,190,216,162,157,157, 6,134,209,234,204,108, 14,227,176,119,244,172, 59, - 95, 46,215, 52,166,140, 61,113,110, 34, 87, 8,100, 66,240,150, 64,167,134, 4,148,188,183,179,181, 30,203,222, 34,181, 71, 54, - 34,181,137,121,248,245,147, 61, 0, 88,176,145, 44,209,137,200, 52, 38,136, 24, 65, 99,239, 33,183,174, 76,155, 18, 5, 0,145, - 91, 75, 72, 48, 95, 19,222, 9, 49, 16,173,129, 14,160,212,205,179,203,243, 87, 63,251, 26, 83,108,223,222,218, 44, 99,181,220, -204,102, 11, 18, 65, 76, 20,144,183,119,221, 85, 40,113,154, 5, 9,184,135, 43,138,232,184, 34,196, 97,216, 80,238, 82,146,195, -251,239,255,249, 95,189,255,135,191,255,123, 73, 88,187,158,187,174, 53,159,213, 29, 96,104, 50,132, 70, 87,250,242, 79,255,252, -255,252,131,239, 59,124,184,152,205, 36,119,247,239,189,127,181,186,250,241,251, 87,175,125,234,213,215,222,124,171,190, 99,194, -178,186,186, 76,243,121,106,189,187,192,112,100, 22,112,143,136,212,205, 81, 18,118,238, 99, 69, 34,166, 40, 99, 97, 65,192,208, -128, 8, 64,150,192, 64,107,230, 68,129,136,136, 66,210,215,113, 73,146,162,223,215,113, 24,175, 78, 49,236,108,189,118, 11,143, - 56, 59, 59,119,179, 27, 91,189,107,253,127,127,252,224,230,206,246,247,222,253, 32,103,153,117,249,253,143, 14,175,134,243,187, -119, 95, 38, 76,243,188, 72, 44, 8,176, 41,117,119,177,131,116, 98,102,139,237,155,106,163, 41, 93,172,135,138,148,146,128,133, -106,233,103,179,186,172,151,203, 37, 0,119, 73,246,119,118,181,120, 68,237,115, 62, 60, 58,234,186,254,183,126,249,231,254,232, - 59,127,255,149,215,222,216, 12,197,124, 29, 4,195,122, 88,175, 86,231,151,103, 31,220,255,232,222,253, 71,151,235, 85, 25,245, -248,226,236,236,244,252,246,141,253,127,254,157,223,253,157,223,248,213,205,102,253,215,127,245,221,221, 87, 94, 56,121,252,232, -240,228,100,118,255,193,187,239,188,255,226,205,221,173,221, 45, 55,107, 46, 60, 34, 24, 6, 93,111, 54,128, 48,235,250,156, 8, - 81, 80, 40, 98,154,194, 38,193,234,138,212, 26,111,112,109, 31,117,107,192,151,107, 89, 82,120, 16, 49,139,104,169, 16, 54, 26, -176,200, 44, 39, 3, 43, 69, 73, 48, 0,204,157, 68, 72,216, 84, 93, 3, 39, 61,186,229,190,183,170, 45,254,208,224, 33, 72, 40, - 76,238, 14,146,217,194,194,105, 50,190,131,183,133, 47,147,106,101,226,246, 8, 69,154,202, 38, 31,179,191,219,248, 8,152, 24, -201, 49, 8, 39, 94,147, 89,109,154, 73,119, 13, 13,100,132,208, 82,134, 86,250,103, 34, 4,110,169,237,191,185, 14,186,215, 90, -136,145, 19,155, 90, 4, 52, 57, 52, 49,185,251,176, 41, 44, 41,137,120, 4, 3,163,112, 47,160, 90, 39, 21, 90, 4, 17, 88,173, -125,206, 85,107, 75,240, 34, 37,104, 69, 19,226, 0,224,102,113, 14, 84,215,198, 37, 38,136, 10,128,156, 90,153,133, 24,181, 90, - 43,153,146, 16, 19, 91, 13, 35,107,121, 49, 55, 37,102, 66,210,170,146,152, 57,212,124,220, 12, 73, 36, 18, 3,248,176,222, 64, -227,163, 7, 49, 77, 90,206, 8,146, 28, 30, 80,213, 68,196,194, 68,184, 93,130,167, 67,143,169, 85,101, 17,145,220,116, 19, 17, - 32, 44, 85,171,154, 99, 4, 17, 3,194,106, 61,100,225,189,253,189,166, 44,132,152, 10, 55,140,172,104, 17, 81, 74, 37,162, 60, -235, 74,209,128, 72,196, 1,160,166,100, 33, 89,134, 90, 5, 49,108, 2,252,154, 58,128,103, 17, 55,115, 87, 2,106, 23,148, 0, - 5,228,118,188,104,151, 69, 0,114, 85, 55, 35,196, 44, 98,225, 57, 33, 73, 87,107, 69, 55,238,103,161,218, 86, 70,156,176, 95, -204, 54,101,116, 45,140, 72,125,102, 78, 56, 20,153,134,207, 77,164, 29,147, 26,140,154,135,195,108,117,121,238, 68, 89,228,173, - 47,124,241,203,111,127,101,181, 92, 30, 28, 30, 62, 60, 60, 58, 60, 60, 56,120,246,244,254,163, 71, 0,188,187,181,189,191,191, -123,247,230,222,214,206,238,206,214, 78,215,207,231, 59, 59,219,243,109,201, 57,229, 60,155,205, 49, 9, 33,206,102, 93,151,187, - 97, 24, 46, 47, 46,134,178,190, 24,171,219, 72,110, 34,209, 51, 37, 1, 73,146,120,234,145,162,199,238,206,206,209,197,250,230, -206,204,220,176,125,108, 91,179,116,242,138,180,145,186, 57, 76,182, 23,188,118,180, 54,247, 0,182,185, 26,112,184, 33, 18,160, - 18,101, 0, 2, 97,208,128, 54, 55,107,159,109,181,233,178, 11, 16,225,121,158, 94,125,227,213, 46,241,184, 41,148,120,177,213, - 93,148,203,177, 32,149,113,247,198,110,120, 3, 84,160,150,209,170, 82,219,254,154, 5, 49, 98,251, 90, 66, 55,235,125,117,245, -151,223,253,222,167, 63,253,249,183, 62,243,201,139,243,203, 59, 47,188,236, 86,218,211, 2,136,133, 59,183, 64, 68, 33,172,181, -236,222,218,255,202,215,126,246, 79,254,221,255,190,181, 88,228,156,250,126,254,226, 11, 47, 60,125,250,236,254, 7, 31,204,102, -139,155,119, 95,248,241,247,255,226,185,187, 47,143,235, 43, 33,226, 44, 13,111,108,181, 54,235,227,100,122, 84,215,170,121, 62, - 99,166, 90,215,161,225,140, 48, 86, 98, 4,114,171, 26,213,180, 42,231,140,109,195, 28, 53,165, 29, 78,253,120,254, 76, 55, 27, - 34,114,247,195,211, 51,243,152,119,233,242,234,162,140,195,211,211,139,139,229,234,108, 57, 84, 15, 64, 94, 46, 47,199,113,204, -249,131, 62,119,221, 7,143, 5, 2, 48, 4,202,214,246,222,238,214,222,140,160, 79, 98, 97, 12, 39, 93, 39, 15,151,171, 71,207, - 78,247,111,221, 14,117, 6,154, 44,230,200,225,136, 8,203,245,230,206,205,189,157,237,217,217,121, 57, 57, 63,187,123,235,230, -111,127,251, 91,191,247,155,191, 57,223,217, 91, 13,155,208, 90,198, 90, 54,195,197,213,213,225,225,147,251,143, 14, 14,143, 79, -150,155,245,114,189,121,244,248,233,114,189,252,214,215,191,250, 79,254,224,119,222,120,253,211, 79, 30,126,180, 28, 47,159,156, - 28, 63,187,186, 24, 71, 37,247,227,123, 15, 95,123,110,191,235,187,112, 96, 78, 65,145, 36, 87,171,110,134, 64,136, 18, 64, 72, - 41, 0,107, 41,237,219,154,128, 75,177,182,196, 67,196,106,198,136,128,232, 62, 65,247, 2,177,152, 39, 64, 74,108, 26, 94, 11, - 11,187, 17, 35, 8,163,154, 33, 97,238, 82, 76,149,121,105,218,131, 8, 32,166,208, 42, 50, 11, 36,173, 10,238,128,236, 97, 77, - 11,134,209, 50,231,192, 14,197, 93, 36, 5, 24, 18, 69, 91, 80,121, 4, 4, 17, 86,171, 89, 50,226,199,122,163, 96, 36, 15,107, - 73, 52, 18, 1, 36, 66,200, 68, 49,153,206,130, 37, 69,184,107,109,174,204,128,104, 49, 33, 68, 76,194, 16,164,166, 97, 78,109, - 80,133,100,234,136,200,137,220,204,140,194,189,105,155,136,200,204,144,128, 83, 2,143, 0,247,176,156,102, 13,148,220,120, 31, -161,214,254,226, 28,172, 81, 39,195,220,209,136,164, 81, 41, 1,160,203, 57, 92, 77, 43, 0,112,227,106, 4,168,161,176, 4,161, - 59, 32, 57, 70,251,217, 0, 8,219, 16, 99,226, 25,168, 82, 91, 48,154, 65,162,156, 19, 49,169, 42, 34, 72, 74,128, 16, 85, 53, -130,137, 63,214,117, 70, 0,132, 83,151,201,195, 45,188, 22, 64, 48, 0, 17, 65,156,222,172, 16,232, 86, 16, 33, 9, 3, 35,128, -154,129,228,228,181,182,222, 90,179, 84, 71,168, 41, 12,235,205,206,206, 28,136,155,246,190,129,101,205,161,186, 97, 43,102,122, - 4, 56, 1, 9,139,187,186, 59, 18,117, 93,246,170, 85, 45,170, 66, 22,143, 64, 22, 36,119,119, 78,226,106,215, 22, 38,182, 82, - 72, 18, 64,154,196,209, 0, 72,216,198,170,109,154, 10,230,230, 83,255,174,150,129,137, 81, 18, 52,129,181,131,100, 6,193,106, - 74,216,186,244,198,141,232,145, 89, 32, 90,191,184, 97, 35, 39,149, 93, 0, 16, 55, 38, 41, 50,160,123, 12,155,245, 56, 34, 51, -191,244,194,139, 47,191,252,178,149, 58,214,122,185,188,122,252,228,240,222,131,199, 31,222,255,240,157,247,116,103,107,251,206, -237,155,183,247,110,108,109,111,221,216,219,221,221,221,159, 47,182, 23, 91,187,243,237,173,190,235,171,142, 14,150,102,249,134, -220, 80,157,107, 51, 23,140,101, 28,135, 85,173,161,234,235, 26,166,130,206, 76,139,153,206,146, 92, 93, 94,192, 75, 55,187,196, -222, 90,179,166,128,224,244,255,115,103, 67,203, 89, 57, 4, 5, 70,251, 72, 53, 97,103, 88, 0,122,152,145, 72, 75,212, 0, 50, -184,181, 69,111,139,243, 52,116, 42, 10,121,131,191, 19, 6, 64,206, 25, 49,180, 86,108,188, 10,211,221, 27, 59,231,103,231,203, -139,186,127,247, 57, 34, 78, 76,225, 96,166, 77, 65, 99,170,102, 99,238, 59, 70, 30,215,155, 60,159, 11,243,241,225,193,159,191, -243,254, 63,250,131,191,123,124,248,228,246,167,222,252,216, 87,235,227,128,130, 22, 53,204, 56, 11, 10,133,177,187,126,241,171, - 95,255,193,119,255,114,117,117,177,179,179,187,189,179,219,160,158,143,158, 60,189,115,243,254,141, 23, 63,201, 36,253,246,118, - 45,235,205,122,185,197, 55, 90,125,105,106, 2, 3,165,173,173,112,133, 90,242, 44,179,112, 45,163,135, 77,145, 85, 66, 36,114, - 51,175,213,106,109,178,152,230,220,212,170, 72,168,171, 11,168,107, 2,179,205,250,236, 98,121,190,222,188,180, 63,103,240,139, -171,101, 41,117, 40,234,238,235,205,122, 44,155,253,157,253,190,239,198, 90,170, 57,150,178, 30, 70, 11, 55, 83, 70,196,179, 21, -211,179, 81, 71,114,220,217,158,119,210,213,186, 73,156, 66,100,189, 90,237,236,237,113,224,184, 30, 55,101,221,229, 57,241,170, -140,163,131,175, 86,155,139,245, 82,178,124,243,203, 95,255,245, 95,253,246,167, 94,253, 84, 32,173,214,203,178, 89,175,150,203, -243,211,147,229,106,245,224,201,163, 15, 31, 60,185,184,186, 28, 85, 79,207,206, 31, 60, 57,248,220,203, 47,255,195,223,249,199, - 63,255,245,159, 6,175,167, 87,167, 31, 61,123,184,152,245,119, 95,121,233,199, 63,120,119, 60, 95,110,207,186,221, 69,215, 82, - 98, 41,229, 73, 64, 44,109,188, 77,205,232, 38,146,212,172,225, 94, 5, 81,205, 21,221,193, 1,200, 44, 48, 65,151, 72,181, 77, - 97,128, 36,143, 99, 33,114, 97,108, 53, 91, 33,242,128, 8,231, 46,145, 69, 45,222,205, 16, 35,128, 5, 29,136, 34,220, 34, 64, -114,106,246,177,212,119,166, 58,225,199,144,152, 24, 3, 61,204,219, 99, 17,128,136,172, 5, 35, 29, 16,209,109, 66, 86, 33,120, - 85, 35, 71, 17,153,212,193, 24,102, 14,132,238,134,136, 30, 17,224,140,210,192, 80,118,189,143,108,199,160, 54,196, 3, 68, 7, -100, 22, 64, 96, 78, 17,230,230, 30, 22, 1, 36,140, 17,136, 17, 4,196, 28, 22,174,214,224, 78,204,137,137, 17, 67,205, 89, 24, - 1, 61,188, 53,182,144,219,253, 47, 8, 17, 5,205, 60,245, 73,213, 16,177,239,250, 82,149,164,253,166,212,166, 31,196,130,142, - 90, 10,113, 16, 49, 64, 48,114, 49, 3, 0, 73,140, 66, 0,200,102, 22,232, 22,204,212,242, 69,209,214, 27,173, 69, 15,228, 17, - 44,220,254,230,171, 57,121,211,218,229,112,141,136, 36, 18,234,225,222, 72,136, 44, 66,136, 22, 14, 22,225,218, 36,165, 45,150, - 29, 17, 76, 4,130, 90, 21,192,152,164,173,208,107,177, 89,159,152,195,106,109,213,178, 78,196,205,212,205, 35,170, 6, 49,205, -231, 91,129,228, 90, 3, 81,136, 85, 77,213,136,200, 32, 56,204, 29, 4, 25,168,177,145, 49, 33, 50, 75, 85,115, 15,130,144, 46, - 71, 4,185,223,253,212, 11, 44,242,240,135,239, 34,112,238, 58,173, 58,234, 72,225,148, 90,118, 66,152,167, 32,141,183,215, 72, -147,208,133, 99, 98, 17,114,211, 8,109, 92, 68, 11, 71, 69,102, 82,139, 58, 22,172,200,125, 70, 72, 24, 5, 52,144, 73, 82, 39, -162, 2, 24, 0,196,137,221,212,194, 1, 26, 77,173, 13, 58, 40, 38,216, 98, 4, 33, 96, 20,173, 4, 8,166,132,152,152,111,238, -221,184,181,191,255,246,151,127,202, 34, 78, 14, 15,254,226,175,127,244,193,131, 71,239,254,228, 39,187,219,187,119,239,220,190, -125,243,230,173,253,253,155,251,183,182,182,182,155,116,116,179, 90,113,151,152, 18, 19,139,116,121, 54,227,109, 42,195,198, 27, - 10, 24, 92,213,203,184, 41,165,174, 52,134, 0,173,254,215,239, 61,125,233,185, 61,230,152,117, 73,136, 82, 78,213, 44,212,112, -194,151, 5,160,180, 91,103, 76,246, 85, 0,128,152,100,193, 48,177,114,218,246,164,148,134, 90, 68, 73,237,118,118,109,118, 37, - 98,135, 41, 47,143,109,141,127,253, 6,112, 8, 15,192,253,219,123,103,112, 57, 44, 87, 55,238, 62, 79, 93,167,181,216,122, 21, - 1,198, 2,225, 41,247, 2, 94, 86, 35, 64,128, 43,172, 87,255,199,127,248,179, 55, 94,251,244,110, 39,105,107, 39,207,231, 54, -142, 32, 30, 1,216, 24,123,213,165,203,212,117, 94,171,107, 9,151,188,216,250,185,111,254,242,191,253,223,254,101, 68, 44,102, - 51,130, 4, 30,199,199,103,207,142,207,186,174,191,115,231,238,102,121,190,127,247,197,243,103, 79,106, 29, 83,154, 11,161, 7, - 33, 88, 4,116, 41,187, 69,235, 5,149,205,224, 30, 1,132,196,174,163,164, 4, 16,182, 41,170,149,187,121, 68,227, 55,145, 87, - 29,139, 42, 0,155,233,234,170, 92,157, 46,175,174,142, 47, 47,239,238,228,203,205,112,112, 49, 46,178, 97,132,154, 69,200,214, -108,203, 93, 75,217,172,198, 13, 98,131,154, 49,162, 33,128,180, 96, 9,162,170, 9, 97,215, 45, 82,234, 0,184, 4,123, 4, 3, - 28, 28, 31,207, 22,243,234,113,113,177, 52,119, 89,208,238,214,214,145,214,176, 56,190,188,204, 2,255,229,223,251,206, 79,191, -253,211,105, 62, 27,198,106, 58,142,195,112,121,126,126,177,188,124,118,116,244,209,227,199,143, 15,159,142, 69, 55,227,240,228, -240,217,249,229,229,175,125,253,237,255,246,191,250, 39,139,197,236,248,209, 3,185,177,251,222, 79,126,116,254,244,216,144, 30, -221,127,188, 55,239,110,238, 47,192, 9,130, 57,152, 56, 85,179,148,216, 53,170,142, 0, 48,155,247,195,166, 8,167,174, 79,227, -168,140, 2,204, 69, 45, 34, 28, 12,129,137, 33, 12,192,124,163, 38,137, 19,209, 88,172,216, 64, 76,137,147,155, 87,173, 41,139, -185, 49,145, 16,153, 6, 32,228, 76, 86,148, 37, 97, 43,103,134, 91, 53,164,112,165, 6, 38, 27,139, 50,177,224,199,210, 75, 10, -159,218,249, 85, 61, 53,159, 42,130, 16,170,151,143,101,146,197,172, 99, 70, 48,206,220,112, 20,141, 61,197, 8, 78, 1, 6,238, - 70, 36, 30,212,102,192,230,129,196, 44,201,106,153,200, 99,209, 20,217, 72,211,225,130, 81, 48,106,212,170, 57,119, 36, 92, 75, -117,117,206,210, 4, 74,142, 68, 64, 0, 42,196, 22, 54,106, 21, 78, 57,101, 11,131,118,117, 8, 8, 64,213,202,228, 0,168,224, - 8,200, 34,106,174,170, 76, 12,204,185, 75,170, 10,140,140, 12,224,161,230, 17, 30,209,207,186, 82,107,132,181,242,203,117,180, - 55,216, 80,193,155,218, 2, 34,204,195,195, 24, 73, 48,134,106,194,212,245, 93, 84, 5, 64, 48,168,161, 0,192,220, 0,159, 56, -169,158, 60,180,170, 2, 8,177, 67, 16, 51, 18, 34,178, 87,115, 31, 1, 0,157, 89,196,205, 82,226, 82,109,226, 4, 64, 8, 73, -245, 54,167,165,156,121, 24, 43,181, 59, 60, 1, 64,168,121,123, 46, 64,232, 82,199, 44,132,194, 76, 20,220,149, 82, 55,227,144, - 82,146,196, 13,126, 40,189, 80,117, 11,143,106, 57,119,125,238,116,172,131, 22, 38,206, 89, 34,124,189, 30,137, 41, 16, 30,127, -120,191, 23,161,148,193,221, 33,136, 69,196,220, 3,129,131,130,165,249, 91, 2,194,152,196, 28,204,106, 74, 12,152,195, 21,193, -221, 13,153,194,216, 74, 77,137, 83,206, 36, 51,201,166,227, 8, 68, 86,181, 73,138, 56,103, 13,199, 90,221, 84,166,171, 74,139, -163, 52,101, 7, 6, 77,171, 18, 14,155, 52,122, 13, 77, 76, 56, 5,162,130, 28,173,249,226,193,139, 51,209,243,159,120,229,239, -127,254,243,155,171,213,193,193,225, 15,222,251,201,227, 39,135, 63,250,241,113, 55,155,221,190,181,127,235,198, 94,159,123, 17, - 6, 15,206,156, 57,167,156, 89, 40,167,190,239,186, 82, 6,102,201,179,190,203,189,164,110,214,237,152, 27, 6,167,174, 95, 36, -254,254, 59, 63,122,254,149,207, 93,156, 31,217,133, 74,194, 25,215, 89, 71,204,145, 48, 56, 17, 19, 35, 11,178,128,107, 27, 74, - 67, 56,254,141,147,121,170,191, 94, 11,229,155,153, 47, 32, 28, 12,131, 63, 94, 80,125, 44, 99,253, 88,219,212,224,150,141,125, -140, 8, 70,152,246,110,237,172, 46,175,250,113,191, 7, 53,117,236,102, 62, 86, 2,200,139, 45, 64, 40,171,149,169,230, 69, 15, -227,248,195, 15, 63,248,241, 71, 79,255,187,127,250, 71, 96,155,173,219,207, 1, 0,205, 22,161,170,227, 70,114,135,129,146,152, - 51,135, 86,175, 5,212, 33,131,151,241,179, 95,252,210, 79,126,252,131,251,239,191,187,183,187,183,115,163,159,197,226,230,173, -155, 63,250,240,209,243,207,221,186,251,210, 43, 63,121,247, 7, 22, 88,199, 77, 23, 36, 93,103,193, 77,208,202,185,199,196, 81, - 43,245,185, 86,211, 90, 19, 55,147, 67,112, 74,200,232, 6,152, 58, 2, 4,175, 36, 25,194,189,140,212, 39, 36, 28,151, 39,164, - 21,213,204,244,100,181, 58,175,155, 71, 39,203,117, 81, 2, 90,143,165, 29,211,170,171,134,118, 73, 54,227,102, 24,107,223,145, - 16, 71, 3,248, 55, 94, 76, 52, 37,189, 33, 73,128, 95, 46, 47,158,191,251,252,214,238,236,234,236, 18, 2,186, 46, 31, 62,125, -186,187,189,131,204, 89, 4, 0, 5, 35,137, 96,192, 87,223,252,220,239,255,246,111,126,250,211,159,221, 84,173, 69,135,245,229, -106,181,188,184,184,188,184,188,120,250,236,248,222,227,135, 71,167,103,165,214,179,243,203,131,163,227,151,239,220,250, 23,223, -249, 59,191,250,183,127,225,106,121,249,244,209,209,209,201,209,201, 7, 63, 57, 61, 57, 73, 57,157, 61, 61,251,228,237, 61, 78, - 2,208,160,193,164, 17, 96,202,196, 67,169, 18, 0, 44, 76, 36,192,214, 49, 33, 16,230,110,214,226, 28,181, 17,193,218,103,132, -130,140,176,186,139, 16, 35, 13,165,122, 88, 34, 1,162,106, 21, 9,165, 19, 51,203, 57,187,195,104,158, 83,134,104, 49, 92, 2, - 32, 68,114,112,195, 9, 54,233, 17,204, 20,128, 41,101, 68, 80,171, 44, 66,128,230,138,212,214,134, 72, 20,141, 92, 99,127, 19, - 18,107,107, 94, 0,119, 72,148,187,220,254, 3, 70, 0,147,155, 25,128, 0, 19, 33, 80,134,128, 68,162, 81, 16,185, 37,193,234, - 56,182, 23, 68, 76,104, 39, 4,112,102,102, 18, 96,172, 99, 37, 4, 97,246,176, 80, 64, 18, 20, 53, 83,240, 32, 97, 97, 70,162, - 48,240,112, 68, 74, 66,136,164,174,205,233, 12, 0,106,218, 46,132,225, 78, 44, 45,243,230, 54, 5, 46, 25, 73, 93,175, 19, 58, - 68,192, 36,162,234,222,132, 21,102, 56,121, 91,249,122,140,132, 0, 96, 97, 13, 14,234,224,129, 1, 26,125,238, 12,221,212,115, - 6, 8,172, 85,115, 74,165, 20, 85, 37,102, 17, 17, 34, 64,172,230,140, 1,196,109,219, 44, 14, 0,209, 94, 27,181, 84, 4,243, -176,246,107, 39, 12, 58, 73,173, 26,230,212, 40, 88,129,155,162, 2,152,103, 89,205,193,157, 24,193,129, 32, 2,168,170, 49,145, - 79,216, 1,216, 44, 55, 55,118, 23,204,172,234,102, 42, 36,193,141,108, 10,204, 40,194,141,230,201,211,211,194,181,186,154,138, - 16, 39, 52,117,119, 72, 45, 48, 30,193,129, 85,141, 19,154, 6,104, 32, 43,210,199,231,105,176, 97,240, 48, 96,102, 18,117, 35, -164,217,124, 94, 84, 33,148, 16, 16, 73,186,121,181,130,228,169,239, 70, 51, 93,111, 94,253,210, 27,251,207,223,253,238,255,249, - 39,104,158, 82,146,121, 86, 3,211, 74, 22,156,137,145,197,205,154, 34,163,197,173,166,181,245, 4, 48,177,214,161,104, 99, 65, - 64, 68, 20, 36,112, 85, 50,196, 32, 2, 35, 36, 70, 52,192,113, 24,199, 77, 33,194,231,158,127,241,165, 79,188, 88,198,114,114, -122,246,228,233,211,131,195,227, 15,239,223, 91, 94,173, 3,209,212,187, 62,101,233,182, 23,179,217,172,159,117,185,207,157,122, -205,185,155,117, 93,223,245, 41,231,197, 98,171,235,103, 41,165, 78,251,217,238,238,130,134,177,172,238, 62,119,171,150,106, 14, -238, 49, 88,213,162,168, 22,232, 68,214,201,152,197, 18, 55,236,160,119, 89, 8,208,153, 1, 40, 76,161, 21, 51,176,237, 92, 38, - 67,247, 20,218,105,101, 22, 71,196, 6,135,167,201, 57,213, 76,197,209,118, 85, 19, 92,222,221, 24,169,159,243,229,197,129,205, -110,246, 89,154, 13, 12,137, 16, 65,199, 82,135, 65, 50,187,169,149,242,239,255,236, 47,127,235, 91,191,216, 17,224,214, 45,206, -226,225, 28, 97, 22,156,178, 71, 32, 17,162, 51, 83,217, 12, 0,212,204, 39,110, 6,179,217, 55,190,249, 43, 7,143, 31,157,157, -156,230,174,239,230,243,253, 91,183,206, 79, 47,222,187,247,168,159,239, 60,247,194,107,227,250, 18,115,223, 37,169,195,166,159, -111,181,197, 95,238,103, 4,224,141,139, 82, 53,207,250,178, 92,153,123,202, 61, 37, 2,199,240,226,174,141, 35, 1, 86, 0,133, -187,158,136,234,234, 98,214,239,102, 44,207, 30,189,255, 31,255,234, 47, 78,158, 29,212,193,138,122, 22, 54,243, 82,170,105,117, -247,205,102, 19,225,170,176, 90,109,152, 37,161, 8,178,130, 93, 51,223, 8, 16, 24,201, 92,203, 88, 35,135, 87,187,188, 90,222, -220,221,229, 46,103,150,243,213, 57,114, 90,173,214, 59, 91, 11, 34, 4,132,243,139,139, 79,220,189,253,171,191,248,139, 63,247, - 51, 63,179,216,219, 91, 13,213,117, 28, 87,171,211,211,243,147,211,163,163,163,163, 71,135, 79, 15,158, 29, 45,203,102,121,181, - 57,124,118, 60, 79,244,143,127,227, 91,191,253,173,111, 62,119,247,206,106,220, 60, 62,124,188, 90,173,118,110,239,159,141,171, -139,139,203,253,173,173,231,111,237,153, 55,224, 31,179,164,218,194, 15, 76,132,204, 64, 44, 20, 4,110,128, 14, 73, 4, 9,153, -209,180, 9,104,168, 61,203, 8, 41,154,166,163,217,219, 61, 70,173, 0,144, 56,199, 52,183, 67, 83,167, 36, 76,185,157,236, 82, -146, 70,142, 35,230,182,229, 84, 53, 22,102,108,230, 58,108, 19,237,118,132, 6,130, 76,217,220, 45, 76,136, 13,128,147, 68, 56, - 5, 34,195, 68, 41, 17, 66,164, 90,148, 17,176,237, 75,173, 81,158, 16, 61,220,131,124,194, 44,169, 25, 3, 52,137,143,161, 17, - 9, 37, 10,245,136, 72,179,236, 30,109,211,192, 16, 0, 65,169, 39,183,106, 21, 42, 0,227,244, 46,158, 2,141, 14, 24, 66, 12, - 12, 48,181,187,201, 16,174,191, 21,220, 82, 12,204, 84,171,182, 71,124,219,115,181, 71,252,116, 36, 34, 36, 76,230, 90, 93, 17, -152, 5, 29,137, 17,181, 22,119,134,107,211,189, 55, 43, 20, 77,197,174,230, 75, 79, 36,214, 96,133, 62,153, 70,130,162,122,243, -170, 71,132, 55, 56,173,181,249,123,226,150, 43, 47,238,204,200, 44,225, 26, 30, 72,228, 30,204, 65,204,230,129,225, 34,132, 72, - 32, 93,216, 4, 67,199,160, 8, 35,188, 14, 81, 67, 16, 96, 43,231,171,218, 4,190, 13,115, 12, 11, 68,247,182,150, 99, 70, 0, - 58,187,220, 36,162,174,235,181,106,132, 39,102,107, 2,222, 52,213, 43,193, 45, 48, 35, 55,234, 57,185, 59, 51, 19,246,238, 21, - 12, 24, 9,201,205,129, 24,219, 93, 6, 17,189, 6, 17, 71,139,224,178, 56,152,150, 98,126,157,141, 5, 12,128, 78, 56, 64,204, -125, 98, 73,133, 99,132,129, 17,146, 19,142,170, 30,150, 83,122,246,225,253,147, 71, 7,204,137, 48,132,217,204,175,129,140, 81, -138, 85,171,210,106,205, 96,147, 37, 21,131, 3,204,189, 73,174, 48,194, 90, 83, 20,185,201,117, 35, 12,208,104,226, 97, 92,179, - 80, 16, 3, 40,181,183,229,122, 40,232, 6,164,219,187,219,111,238,111,127,254, 51,111, 12,155,245,147,195,103,239,221,187,255, -224,225,225, 48,212,141,175, 62,252,232, 98, 61,214, 89,215,245,179,217, 98,150,183,183,118,102, 93,154,167,196, 73,102, 57,179, -200,172,203,125,215,109,237,236, 16,203,131,119,255, 58, 94,126, 49, 73,215,205,103,125,206, 44, 11,230,228, 78, 85,199, 90,134, -106,174, 21,116,212, 50,174,136,160, 23, 22,162,190,163,204,152, 36,229, 89,110, 86, 39,243,104,167,120,192, 73,224,228,102,225, - 64,130, 72, 50, 65,239,133,145, 57, 84,167, 5, 45, 18,181,249, 76, 64, 0, 26, 4, 49, 39,176,229,234, 36, 98,191,159,205, 16, -212,172,184,226,230,236, 24,137,136, 18,154,191,247,193, 7, 55,111,221,253,220,171, 47, 14, 14, 55,118,118,128,201,203,104,170, -224,150,182,182,235,122,128, 0, 72,172,197, 0,197,235,200, 93, 10, 85,202, 89,199,113,190,187,255, 51,223,248,246,255,245,239, -254,245,238,122, 57,159,207,103,179,249,157, 59,183, 14,158, 28, 92, 92, 94,221,217,190,177,253,226, 75,239,191,243,215, 71, 79, - 55,251, 55,246,187,217, 28,145,180, 90,238,103,237, 66, 85,215, 99, 16, 67,128, 90,149,214, 19,170, 21,101, 22, 86,180, 42, 17, - 7,102, 4,197, 40, 72, 93, 0, 2,240,162,199,135,247,238, 95, 46, 55,159,124,229,141,123,239,126,240,222,211,243,170,214,119, -226,230,227,160, 0, 10,129,163, 21,115,219, 84,115,143,174, 99, 34,116,240, 54,144,253,216,110,232,104,238, 86, 74, 73,153, 34, -193,106,179,218,219,217,186,177,179,253,209,227,199,165,150, 27,219,249,114,189, 82,173, 93, 78, 26,240,183,190,250,149, 95,255, -149, 95,185,251,226,203,152,186, 81,171,151,241,242,226,228,217,211,195,139,243,139,123, 15, 31, 63, 60, 60,184, 92,175,199,205, -120,124,113,126,122,118,246, 51,111,126,230,159,254,189,191,243,250,235,159,124,250,248,241,179,243,227,167,199, 71, 79, 15,159, - 84,139, 15, 31, 63, 30,206, 47, 94,220,219, 19,193,106, 77,248,206, 0, 68,204,110,181,170, 39,136, 32,112,140,106, 53,129, 68, -132, 54,112,138, 75,245,170,225,137,184,250,164,225,109,219,251, 8, 48,247, 54,232, 22, 70,117, 84,183, 44,211, 5,128,169, 57, -150,188,201,225, 3,192, 28, 16,155,100,110,202,103, 77, 12, 3,139, 32, 38, 33, 55, 3, 8, 73,115,196,104,143, 72, 4,170,102, -109,215, 76, 68, 78, 17,134,102,202, 60, 53, 21, 25, 9, 66,193,129,137,107,107,101, 67,106,228, 27,245, 32,188, 14, 77,185, 59, - 64,187,219, 3, 66,115,206, 51,160,153,133,134, 36, 49, 15,102, 10,247,208, 82,219,232,156,201,195,195, 20, 49, 1, 98, 68, 37, -226,148,146,106,128,187,187, 19,146,187,182,200, 60,132, 53, 37,125, 68, 12,155,145,136,152,209, 17,213,131,176,229,183,128,112, -162,152,149, 82,163,245,210,133, 60, 90, 35,131,186,249,124,216, 12,224, 70, 41,133,163,187,195,228, 93,165,192,105,117,105,208, - 42,160, 22,166, 36, 82,170, 9, 11,145,149, 98, 45,224, 4, 68,165, 20,170, 53,119, 51, 51, 43,181, 50, 33, 96,104, 13, 78,216, - 18, 1, 34, 9,204, 93,139,214, 98, 0, 34, 12,225,192,142,206,204, 98, 94, 85, 75,151,122,132,164,132,101,181, 38, 7,234, 51, - 24, 88, 53,184,174, 9,198,181, 56, 98,146,133, 97, 3,253, 7, 37, 89,111, 54,115,145,246, 65, 87, 32,119,240,240,148,147,131, -123,141,128,202,146,137,160, 86, 15, 83,226,132,129, 97, 17,160,156,196,171,171,150,148, 83,206, 84,213,109,116, 64,151,148, 32, - 72, 18, 15, 67,105,153, 34, 51, 15, 3, 17,142,166, 42,236,147,105,140,234, 18, 35,176,180,224,110,235,233,168,106, 78, 2,196, - 18,225,142, 26,161,171, 85,167, 58,159,207,198, 90,212, 13,192, 17,217, 61, 26,124, 8, 34,164,189, 1, 39,215, 40,178,123,193, - 86,160,107,166,211, 9, 86,196,205,116, 2,222,198, 53, 96, 30, 19,103,191,185, 82,153, 3, 12,145, 29,140, 9,131, 32, 28,195, - 77, 29, 2, 48,119,253, 27,111,124,234,173,207,125, 54,220, 3, 57, 76,135, 58, 46, 47,175,142,143,143,190,247,195,247, 78,175, -150, 23, 39, 71, 79,170, 5, 98, 22,206, 41,111,117,253,108,158,179,164, 62,119, 66, 56,142,155,163,147,227,121,223,205,250,249, -246,246,214, 98, 62,159, 47,102,210,207,102,253, 98,222,207, 89,208,157,220,221,108,199,221,135, 97,181, 44,195,229,102, 84,117, -198, 16,194,157,237,217,172, 75,179,140,132, 70,200,222, 18,148,238, 83,234,217, 20, 1,130, 82, 32,176, 65, 52, 35,253,132, 44, -110, 41, 57, 71,247, 0, 22, 9, 67, 68,230, 14, 99,189, 60,170,101, 49,223,218,235,250,206, 76, 65,136,220, 49, 32,172,188,123, -239,241,219, 95,120,243,114,185,185,243,202, 93,226, 20,227,136,220,185, 22, 78,104,195, 8, 30,196,136, 68,225,238,101,131,146, - 17, 9, 4, 56,165,178, 94, 91,209,207,127,233,203,239,191,251,206,213,197,233,214,246,216,205,230,139,237, 45, 73,114,112,248, -108,190,152,229,249,203,187, 55,247, 22,139,237,237,221,221,243,147,227,189,253, 91, 64,212,205,183,136,185,140, 67, 25,171,100, -168,234,169,155, 33,167,105,156,105,106, 70, 34,105, 42, 10,184, 55,145, 91,148,186, 89,158,253,248,135,127,101, 21,119, 16, 25, -203,170,216, 70, 21, 32,220,161,186, 5, 86, 51, 47,174,153,114,241,113, 84,117, 12,166, 41,157,221,216, 62, 68,204,141,182, 31, - 24, 17,163,105, 42,214,247,157, 99,156,158,159,119, 41, 45,151,203,220,117, 0,112, 99,103, 71,181,222,220,223,255,173, 95,254, -230,207,253,220, 47,240,108,238, 0, 97,186, 57, 63, 59, 57, 61,122,250,228,201,211,227,147,135, 7, 7, 7,199, 39, 67, 45, 23, - 23,151,231,231,231, 59,139,197, 63,251,221,223,248,253,223,252,118, 32, 28, 30, 60, 57, 56, 61, 26, 30,172, 14,143, 78,210, 44, - 63,248,240,225,237,237,173,231,246,246,192,221,108,250, 54, 34, 16, 35, 19,165, 46, 49, 98,193,169,160,131, 0, 82, 91,253,199, -117, 44, 35, 56,244,253, 44,115,170,230,204, 18,211,194, 61, 40,144, 17, 71, 83,102, 38,160, 0, 76, 66,194,108, 26,216, 86, 67, - 13,161,139,220, 24, 16,173, 62,223,110, 0,146,164,117,112,154, 20, 87,178, 32,224, 88,106, 27, 37,184,106, 32,182,200,180, 70, - 13, 15, 72,132, 68,225,225,225, 16,134,132,192,152, 92, 12, 12, 99,106,194, 4, 64, 22,102,148, 82, 11,114,195,156, 1,130,121, - 40, 33, 7, 53,250, 6, 6,122,155,195,153,182, 80, 21,166, 44, 14,144,132,221,181, 29,140, 91,162,188,233, 67, 72, 90, 39,222, - 26,245, 37, 0, 73, 2, 49,225, 88,218,253,195, 60, 8, 0, 89, 88,146,169,181, 82, 28, 65,195,247, 33, 51,133, 53,247, 20, 96, -128, 7,148, 65, 69, 24,144, 17,130,136, 75, 25, 0,128, 40,141, 99, 1, 7, 32, 49,117, 66, 64, 32,202,130, 13,115, 73,140, 12, -161,225, 16, 2, 76,194, 14,174,102, 89,208, 35,188, 56, 2, 36,145,170,166,101,204, 57, 35,164,198, 16,224,166,232,113, 64, 66, -119, 13, 39, 73,201, 76,213,140, 34,152,137, 48,170, 27, 19, 51, 9, 18,152, 25, 6, 18,177,185,107, 85,194,232,186,206, 74, 13, -179, 6, 49, 33,132,182,137,109,150, 56, 15, 96, 12, 32, 8, 70, 14, 68,228,203,229,154,195,183,119, 23,215, 77,120, 16,102,180, -134,197, 53, 66, 68, 76,102,166,106, 72,148, 82, 86,179, 90, 53,119,137,185,115, 83, 34,234,251, 92,171,154, 83, 0,230, 46, 69, -132,171,135,107, 13, 77, 89,180,170,106, 77,157,184,116,227,102,157,147, 80, 78,110,193,196,104, 17, 68,156, 68,171,130,143,129, - 40,148, 33,193, 20,192,207,157, 14,163,160, 2, 50, 4, 14,227, 38, 39, 49,160, 82,107, 67,236,182,119,219, 84,234,111, 76,178, - 8,244, 80, 36,142,104, 81,241,143, 81,162,237, 78, 51,205,178,221,162, 21,219, 62, 38,179, 83,187,255, 56, 6, 6,181, 41, 7, -196,199, 35,240,118, 29, 44, 99, 25,198,145,129, 26, 79, 66,132,110,220,216,221,223,223,121,235,243,159, 65,176, 50,148,171, 97, -125,120,120,242,236,244,226,252,226,242,240,232,228,248,244, 92,181, 6,130,112,218,157,247,171,177,228,148, 37,165,124, 44,125, -150,148,187, 89,151,186,148,103, 93, 63,219, 90,204,230,219,253,172,203, 93,223,119,139,174,223,245,216, 13, 51, 85, 53, 11,143, - 40,238,151, 23, 25,107,255,230, 0, 0, 32, 0, 73, 68, 65, 84,235,112,152,207,122, 17, 12, 43,137,128, 25, 82,226, 94, 88,184, - 25,198, 61,130, 28,167, 22,212,181, 70, 22,154, 6,204,189, 48,160,218,132, 7, 0,198, 52,163,113,189, 33,148,212,221,112,213, -148, 82, 0,131,218,189,143,238, 45,230,253,173,189,197,246,173, 59,105, 62, 7, 17,164,100,165, 82, 74,144,210,184, 90,167,220, - 97, 74,156,164, 14, 35,114, 70, 98,136, 32,194,178, 25,188, 70,203, 77,127,237,231,255,214,191,250, 95,254,167,229,229,130, 18, -111,237,236,221,189,243,220,193,179,131, 23, 63,241,252,234,244,164,172,203,122,189,186,121,247, 5, 61, 57, 25, 55,107, 11, 42, - 67, 89,159,157,215,106, 34,220,184,193, 4, 16, 90, 36, 37,141,208,205,134, 82, 15, 94,194, 13,133, 49,205,114,215, 93,158, 28, - 63,185,255,254,179,167,143, 23,243,125,177,234,101, 73,220, 35,120, 81, 15, 12,136,112,179,240, 64,104, 14, 69,116,135, 22, 28, -238,114, 98,100, 96, 50,171,146,154, 65, 11,168,197,177, 1, 8,112, 24, 71,102, 22,128,171,186,188, 66,156,205,230, 0,241,236, -236,236,115,159,122,237,237, 47,124,245,151,190,241, 11,159,124,237,117,163,100, 54,134,198,197,217,179,131,199, 15, 31, 61, 58, - 56, 56, 58,122,122,124,114,122,121,185, 92,175,199, 81,109, 44,223,254,218,219,223,249,173, 95,121,241,249,187,195, 88, 87,117, -248,224,131,247,247,238,222,174,225,167,239,157, 47,150,242,202,205,125,105,232, 11,194, 86,192, 17, 74, 13, 60,224, 26, 10, 78, - 36, 64,228, 96, 24, 24,220, 18,216, 82,134,181, 22, 3, 68,143, 48, 8, 17, 70, 4, 15, 16,100, 70,182, 90,129,154,103,206,221, - 61,101, 97, 68, 53, 39, 33, 12,244,107,254, 9, 51, 58,128, 32,153,155, 27, 50,147, 19,170, 71,206,185, 33, 98,137,185,105, 13, -114,146,201, 72, 5,209, 52,210,214, 72,176,109, 72, 82,221, 39, 85,142,184,153, 86, 99, 97,112, 36,226,214,137, 71, 32,140, 48, -240,233, 75,216, 16, 49, 64,197,134, 32, 98,100, 87,179, 80, 73, 66, 76,165, 42, 5, 83, 66,132, 4,224,109,230, 12, 96, 8,196, - 76,238,142,209, 54,120,237,156,142,204, 18,209, 98, 21, 20, 17,166,138,137,200,128, 16,145,153,137,204,162, 12, 35, 49, 79, 46, -157, 22,222,185,110, 94,129, 59, 16, 14,181,164,212,181,153, 27, 33, 90,173, 67, 93,155, 42, 33, 72,158, 17, 51, 37,193, 70, 0, - 48, 11, 50,175, 13, 84,147, 34, 44,156, 60,188, 75, 98, 6, 97, 78, 72, 22,211,228,146,178,160,123, 41,198,137,115, 98, 0,244, -170, 8, 78,204,208,134, 57, 56, 89,223, 48,192, 26,141,139,217,145,106, 45,204,156, 57, 33,161,153,114, 16,139, 0,128, 14, 21, - 40, 48,156, 89,212,204, 28,220,140,153,132, 57,166, 5, 0, 2,146,144, 24,155,155,182,106, 59, 16, 68,120, 41, 99, 47,210,117, - 61, 64,152, 7, 58, 88, 11,110, 16, 10,139,187,181, 31, 0,129, 48,160, 1, 22, 82, 74, 17, 24,224,196,130, 68,117,179,113, 83, - 78, 89,114, 66,226,113, 24,204,172,205, 0,173, 40, 97,112,226,118,214,236,114,215,208, 81,215,198, 62, 2,198,112, 39, 2, 15, -209, 90,131, 11, 79,241, 43,116, 15, 97, 54,173,136,129,170,156, 68,181,213,196, 82,139, 78, 85,173, 29, 65, 97, 17,130,214, 22, -139,169,218,241,177, 30,152, 40,188,101,196,195,213,154, 86,187,221,194, 38,156,192, 4, 13, 8, 98,104,191,112, 98, 53, 18, 48, - 50, 4,123, 40, 2,187, 7,128, 35, 49, 3, 64, 40, 32, 66,123,128,128,121,216, 48, 20, 66, 19,162, 89,158,189,241,234, 43,159, -249,116, 91,236, 66, 25,235,249,249,229,197,102, 56, 60,124,246,224,241,225,227,167, 71,167,151,151,106,216, 47,250,237,126,107, -123, 62,159,207,114,159, 59,102,234,152,152,168, 95,244,125,223,117,121,182,189,216,158,109,109,207,231, 91,125,223,247,179,185, - 16,115, 18,139, 40,163,166, 46, 53,102,225,122, 53,152,149,171,227,115, 45,101, 62, 75, 59,139,188,191,183,221, 37, 16, 70,141, - 9,125,128, 72, 16,166, 78, 28, 17,132, 16, 35, 42, 32, 39,104, 58, 70, 70,236, 97,121,117, 76,132, 93,151,114,191, 85,174,206, - 93,228,207,190,247,238, 55,127,246,103,182,111,220,204, 59,123, 33, 25,128,192,194,202,166,223,222, 25, 55, 3, 69,147,220,170, - 22,119,175, 24,228, 85, 49,139, 90,104, 81, 18, 36,194,178, 90,191,240,234,167,190,240,246,207,254,224, 47,254,239,249,246, 86, - 63,203,251,183,111, 62, 59,125,118,255,222,163, 47,191,181,181,152,111,237,222,188,245,244,224,209,214,238,246,242,236,100,231, -206, 75, 59, 55,111,214,161, 48, 1, 37,177,162, 0, 10,200,224,170,197, 28,136, 68,194, 43, 54,208,156,136, 16,124,244,238, 59, -199,135,135,175,125,234, 21, 27,223, 56,125,252,120, 24,150, 17,136,117,125,181,190, 42,102,215, 61,130, 9, 22,225,230, 99, 25, -138, 86, 51,219,154,207, 61, 28, 16,178, 99,107,140, 35, 11, 16, 16,178,215, 86, 24, 68,119, 28,107,205,243, 89,146,100,102, 24, - 80,212,190,240,153, 55,254,225,127,246, 59,111,126,254,243,221, 98, 39,136,107, 29,202,106,117,118,116,120,255,193,131,135, 7, - 79, 30, 29, 62,187, 88,174, 86,195,176, 90, 46, 33,240,237,207,124,250,215,126,246, 75,111,190,249,198,250,106,121,116,114,178, - 1,248,240,189,247, 46, 78, 47,142, 87,171,147, 39, 79,159,219,223,235,152, 93,109, 26,255,122, 0, 50,139, 96, 80, 68, 20,173, - 8,211,135, 19, 3,204,156, 25, 93, 1, 16,205,180,207,125,207,169,132, 11, 50, 49,183, 19, 75, 47, 93,209,106,181, 0, 17, 19, -186,169, 19,145,135, 85,167, 68, 41,139,153, 55, 17,176,135, 17, 73, 0, 36, 73,110, 86,218, 7,153, 48,209,245, 97,188,121, 7, - 33, 2,167,232,222, 20, 24, 7,132,112, 36,208, 58,108,134, 53, 32, 39, 73,125,215,183,205,143,153, 49,161, 3, 20, 45, 13,249, -141, 68, 24,206, 68,197, 10,179, 16, 32,162, 48,179,106,117, 12,225,222,221, 61, 52,218,232,223,221, 16,174,141,135, 17, 97, 22, - 78, 72, 24, 40,210, 77, 88,120, 0, 11,119, 45,192,200,148, 60, 90, 73, 10, 32,162,150, 66,140,204,226,110,204,200, 13,172, 8, -160, 94,219,142,248,250,141,213,106, 84, 65,128,238,109, 0,129, 34, 76,224, 36, 18, 13, 53,156,187,132,208,204,124, 94,134,174, -155, 55,140,160,176, 20, 51,215,104,114,146, 54,249, 71,114, 68, 28,203,200,212,161, 48,168,165,196, 8, 8, 44,101,179,105,164, - 7,143, 64, 11,119, 5,224,214,164,101, 36,157, 90, 2,109,156,239, 22,152, 88, 0,145, 8, 82,223,115, 99, 58, 22, 3, 38, 7, -135, 90, 1, 98, 54,159,215, 98, 21,198, 90, 70, 32,102, 65,102,177,234,109,129, 57, 73,158, 49, 28, 44, 44, 16,154, 19, 20,192, - 99, 61,234,122,179,190,181,187, 75,132, 30, 33, 34,166, 30, 97,225, 33,196,197,172,154,181,183, 91,120, 56, 26,139, 16,203,132, - 52,116, 7, 2, 83,165,196,146,179,169,130,105, 4,166,255,143,170, 55,255,181, 44,187,238,251,214,180,247, 57,119,120, 99, 77, - 93,213, 3, 41, 81,205,110,146,205,169, 57,180,154,106,142,110,139,164, 24,138,162, 69, 89,142,100, 39,113,130, 68, 63, 40,113, -126,136, 99, 56,131,127,200, 96,196,128,129, 0,137,101,196, 64,128, 32,137, 17, 40, 30,228,196,146,160, 72,150,100, 18,154, 76, - 89, 18, 69, 50,221,108,246, 80, 93,115,215,171,122, 85,111,126,247,222,179,247, 94,107,229,135,117, 94,219,249, 3,216,120,172, -123,239, 57,123,175,245,253,126, 62,194,166, 90, 90, 21, 32, 32, 8, 96,142, 48, 35, 33, 16,120, 81,100,130,200,158,162, 67,188, -199, 87, 6, 6,113, 5,215,112,144, 19, 64, 60,150, 60,105,107,128, 6,225,195, 66,196,120, 20,163, 39, 34, 51, 0, 48, 9,147, - 55,180,184,118,225,191,226,169, 5, 15, 14, 12,254,127, 6, 37, 15,115,208,217,219,124,236,149, 2,134,249,136, 1,162,241,131, -225, 1,137,179, 63, 33, 1, 26, 56,146,147,163,185, 2, 8,128, 3, 1, 33, 25, 0,155, 59,184,214,230, 96,170,234, 17,113,218, -216,218,184,244,200,197,247,188,243,209, 82,219,213,155,119,207,111,175,239, 29,157, 92,191,126,251,218,221,221,197, 98,121,253, -214,253,162,154, 88,166,253,164,159,116, 91,107,107,147,190, 35,132,212, 73, 79,185,235,186,181,249,188,159, 77,166,147,217,124, -190,158, 39,179,174,159, 32, 1,186,117,179,217,124,115,189, 13,101, 62,155, 13,165, 28, 29, 31,237,236, 45,239,236, 28,228,204, -147, 73,119,110,107, 99, 54,235,251,190, 19, 38,173, 48,118,161,221, 49, 22, 78,166,136, 0,144,209, 61, 9,205, 55,242,242,100, -191,235,174,180, 97, 69, 76,223,250,246,119, 46,109,109, 94,185,116, 94,102,107, 36,226,117, 5,210,183, 82,211,108,189, 86,211, -170,156,132, 69, 76,155,131, 33,101, 45,141,177, 1, 37, 91, 54,102, 38, 73, 72,238,230,110,237, 3, 31,123,254,213,151,190,125, -124,112,192, 34,169,235, 47, 63,114,229,149,239,189,114,249,210,249, 71, 46, 93, 56,220,123,184,191,187,243,240, 1,111,109,172, - 49,118, 96, 70, 96,121,214, 53, 29, 69,149, 64,236, 14, 90, 10,166, 14,221,180, 22,230,212, 79,167,135,251,123,111,126,255,165, -245,245,205,143,188,240, 35, 66,244,230,119,191,107,117,104,234, 93,194,197,241,233,235,119,239,171, 54, 51,180, 81,164,110,102, -190, 26,202,106, 85,106, 83,119, 95,174,150,165, 12,224, 16,177, 16, 10,193, 11, 35, 1, 10,162, 32, 16,132, 75,202, 76, 93, 50, -129,195,164,151,175,190,240,103,126,226, 75, 63,118,238,226, 21, 96, 2,135, 97,181, 60, 57,220,187,115,251,198,205,155,183,111, -222,189,119,127,119,239,164,172, 22,167,203,217,100, 58,221,220,254,204, 7,158,254,228,199,159,153,230,124,255,206,109,158, 77, -111,188,126,253,218, 91,119,183,182,230,187, 15,247, 54, 82,126,116,251, 28,162,183,102, 77, 1,200, 73, 17,153, 3, 51,224,228, -166,134, 70,213, 53, 51,194, 88,224, 96,112,112,215, 56,130, 50, 18,100,153,130, 83, 52, 65,221, 25, 65,173, 33, 66,234,178,187, - 87, 53,225,204, 8,213,155, 16, 1, 82,107,134, 68, 68, 20, 47, 18, 32, 4,128,161,212,216, 70,154, 89,150,164,230, 68, 28, 33, -196,240, 81, 26,152,106, 5, 7, 2, 28,161, 88, 0,109, 53,236,237,239, 29, 30, 29,112,146,205,249,166,155, 75, 74,238,200,204, - 81, 49, 9,112, 63,140,232, 93, 90, 13,203,145,133,194, 9, 76,155, 85, 36, 38, 22,213,192,103, 9, 50,153, 26, 17,158,105, 26, - 33, 64, 84,102, 74,132,113, 33, 7,112,140,105, 48, 56,146, 72, 22,109,154, 82, 98, 34, 53, 53, 87,116,118, 3, 11,126, 16, 66, -124,236,142,144, 57,153,123,109,202,177, 31, 52, 83,176, 78,146, 54, 37, 4, 68, 49, 11,213,137,251, 24,144,119,107, 26, 42,183, -148, 72, 68,128,130,201,131,230,202, 73, 24,140,145,171,170, 42, 48,177,122, 3, 71,194,108, 86,145,144,152,221,176, 14,133, 1, -251,174, 3,162,214,170,171, 34, 51,163,212,166,224,141, 57,185, 67,206, 25,208,203,170, 33, 69, 78, 9,205, 12, 16,115,151,193, -160,150, 98,110,209, 34,142, 89, 58, 98, 10,165,198, 89,118,159,227, 90, 15,166,196, 34,136,198, 60, 70, 7, 35,242,139,160,106, -230,206,137,155,214,140,216,245,189, 3,130,147,170,154, 42, 0, 40,128,131, 17, 65,135,169,212,230,222,194,147,110,106,140, 28, - 19,149,214,138, 72, 74, 41,171,186,106,213,166, 0,110,205, 67, 86,193, 72,230, 78,214,186,190, 3, 76,102, 86,107, 99, 9,130, -177,131, 57, 36,108,101,160,209,103, 74, 73, 80, 1, 93, 91, 22, 9, 46, 38,168, 50,138, 90,137, 39,116, 91, 46,101,210,135, 7, -201, 20,136, 0,192,153,153, 83, 22, 34,242,160, 29,163, 35, 51,170,198,198,213, 35, 69,237,128,168, 64, 50, 22,227,206,200, 96, - 48, 30,230,199,123,227,216,199, 27, 69, 77,241, 21, 36, 11, 22,218,232,228, 8,225, 0, 2,208,216, 42, 32, 12, 98,234, 56,236, - 30,255,231, 32, 60,110,234,205,252,244,116, 1, 20,232,127,153,206,230,231,206,111,191,251, 93,239,100,112, 55, 59, 56, 58, 60, - 58, 89,220,187,247,112,103,239,224,214,237,123,111,222,190, 89,171,185,225,108,222,111,172,205,215, 38,147,245,181, 89,223, 77, -250, 36, 34,210,245, 93, 63,233,167,179,233,180, 95,155,172,173,117,169,115, 67, 73,210,175,245,243,217,180, 22, 29, 86,171,213, -106,177, 88,158,222,184,125,191,212,150,132,214,215,103,211, 73,222, 88,155,110,206,103, 41, 11,130,213,230,102,102,230, 64,198, -136,134, 32,156,104, 29,142,142, 31,144,118, 94, 15,110,223,123,248,165,207,127, 33, 77, 59, 36, 68, 98, 36, 86,179,148, 19, 90, - 27,142, 23,148, 24,220,218,234, 20,243,148,130, 23, 39, 6, 78,173,168,153, 75, 2, 4, 67, 36,100,172,165,204,187,244,220, 11, -159,251,253,175,255,250,108,125,141, 37,159, 59,127,241,209,199, 79, 94,122,229,141,173,205,121, 34,124,230,195,207,189,117,235, -218,124,115, 3,115, 79,148,112,194,206,226,195,106,100,102,129, 89, 27,212, 93, 28,181,150,190,235,140,233,245, 87, 94, 62,218, -219,127,231,147,239,121,228,137, 71,221,218,226,225, 94, 18, 89,173, 86, 34, 80,181,253,157, 95,252,165,251,199, 5, 24, 24,209, -212, 44,236,192,128,165,148,128,219, 33, 97, 83,115, 71,139,111, 80,236, 19, 7, 11, 67,227,116, 50, 69, 8, 34, 7, 10,225,106, - 88, 54,211,231,223,255,204,159,251,210, 23, 62,252,236, 71,165,159,173, 86, 75, 47,165, 12,139,253, 7,247,110,223,185,113,253, -246,221,183,238, 61,120,112,112,176, 26,202,173,157,123,173,212, 47,191,240,195,159,255,196, 71, 30,187,114,190,154,183,201,228, -245,151, 95,185,252,196, 99,179, 11, 27,245,214,237,195,221,195,139,235,243, 89,238, 74,107, 49, 17, 74,137, 2, 22,237, 16,182, -123,119, 51, 12,244, 16,158, 25,101, 8,131, 10, 22, 0, 81, 66, 34,134, 36,100, 65,170,162, 32,164, 55,119,103,230, 56,152,114, -148, 47,145, 50, 71, 55, 44,222, 16,104, 6,103,222,106, 55,211, 40, 41, 81, 98, 34, 42,181,129, 3,139,140,218, 68,192,128, 4, -128, 99,107, 5, 36,157,253, 88,188, 53,109,173,170,106, 51, 45,221,144,211, 36,119,152,114, 23, 55, 89, 36, 64, 34, 53, 71, 4, - 34,104,106,204,201, 77,193,173, 89, 37,116,226,140,136,161,229,100, 17,143,205,109,151, 64,221,205,115,151,205,204,220,137, 37, - 26,144,102, 22, 56,171,118,134, 71,117, 87, 80, 22, 22,119,211, 22,169,161,200, 70,251, 40,111, 8,150, 60, 24,130, 0, 26, 34, -178, 48, 33, 40, 24, 9, 38, 75,181, 42,143, 16, 63,103, 10,175,111,212, 10, 13,194,139,102,102, 78, 41,139,131,131, 91,107, 45, -229,140,132, 34,226,106,173,169,176,152,183,166, 70,148,204,154, 65,115,243, 72,101, 0, 96,158,116,209,237, 10, 63, 42, 34,134, - 67,131,152,227,126, 70, 72,181,148,136, 0, 57,248, 80,171, 16, 83,234, 29,188, 14, 21,162,247, 14,216,170,177, 0,230, 4, 77, -233,172,211, 18,182, 6,109, 26,215, 35, 96, 6,128, 80,119, 4, 6, 44,242,223,102, 45, 9, 17,145,154,150,229,114, 58,235, 89, -216,205, 67,102, 2, 64,102,158, 8, 99,202,135, 0, 41,177, 54, 52,109, 68, 76, 73,136,176,172, 6,247,248, 52,205,107, 9,240, -178,170, 15,181, 50, 0,247,217, 28, 93,149,153,209, 59,109, 0,164,238, 38,140,241, 64,100, 2, 39,215, 58, 52,181, 68,202,210, - 25,170,170,215, 82, 90, 27, 8,129,132,137, 83,120, 12,137,169, 54, 32,114, 76, 98, 77, 41, 17, 34,145, 68, 7,148,132, 19,172, - 6, 1,183, 49,180,228,132, 49, 71,165,248,152, 71,131, 42, 96,192,213,129,128, 69, 80,163, 26, 23,141, 58, 2, 3,103, 24,169, -151,204, 60,190, 4,198,166,112, 32,218,163,135, 19,208, 71, 87, 83, 30, 55,214, 35, 63, 3,204,162,198, 6, 35,191,205, 70, 85, - 19, 56, 75, 8,233,124, 62,225, 59,247, 15,223,245,248,185, 85, 89,130, 49, 48,228,190,123,100,182,126,249,145,199, 19, 27, 82, - 50, 45,187, 15, 31,222,124,235,254,205, 59,119,223,184,113,247,198,254,254, 98, 40, 93,206,235,243,217,246,250,198,108,210, 79, -102,211,105,151,251,148,167,147, 73,223,247,156,178, 48,179,164,174,235,165,207, 89,186,205,173,237,173,237,109, 53,179,214, 86, -101, 53, 44,151, 15,247,135,221,189, 5,217,253, 60, 73, 91, 27,179,141,121, 63,153,246, 73, 72, 18, 7, 30,193,195,216,144,109, -117,116,240,245,223,254,103, 63,240,228,135,250,217,156, 38, 76,169, 71,132,214,162,115, 66,203,163, 19, 96, 6, 20, 74,226,173, - 17,130,214,130,238, 40,201,204,135,163, 83, 74,220,229, 9,130, 91,173,209,221,104,194, 63,244,222,103,190,251,167,127,120,114, -116, 36,210,167,190,123,199, 19,239,120,233,240,232,206,221, 7,143, 92, 60, 95,155, 78, 55,214, 94,250,147,111,127,225,167,159, -235, 38,221,176, 60,181,161, 98, 96, 78, 28,117,168, 14,204,140,128,214,207,215,134,197,241,247,254,229,183, 46, 62,242,216, 15, - 60,251,108,158,207,189, 14,203,147, 99,109,214,154,102,134,181,249,250,175,252,139,127,249,242,141, 59, 79, 60,122, 89, 91, 3, - 0,181, 8, 70, 26, 48, 13,173, 2, 1, 58,145,141,233,236, 17,160, 31,253,183, 56, 39, 32,168,105,202, 68,131, 35, 81, 45,117, - 50,153,254, 59, 95,251,234, 79,126,249,203,179,205,115,138,120,186, 60,174,167, 39,171,213,234,225,253,157,171, 55,110,236,236, - 61,188,243,214,206,201,106,208,170,222,252,177,173,237,159,122,241,147,159,253,212,115,171,197,201,193,254,225,236,202,229,235, - 55,175, 31,157,156, 76,143, 14, 95,126,233,181, 9,248,185,205,181,102, 94, 77,205,128, 24, 66, 81,231,128,103,186,220,198,146, - 1,200, 13, 83,162,177,222, 22,235, 20, 36, 68, 87, 12, 38, 52,154,123, 51,199,128, 82, 56,153,171, 3, 72, 98, 51, 96, 70,247, -132,160, 1,135, 97, 4,143,116,202,232,228,117, 68,212, 90, 57, 37, 32, 70,138,125,103,114, 80, 73, 9, 41,214,240, 99,169,154, - 4,181,170, 27,164,156,206, 26, 73, 88,213,152,243,108,186, 86, 84, 9,160,235,166,253,164, 75,194,181, 54, 38, 4, 4, 27, 61, -192,228,136,110,192,212, 1,249,217,108,215,132, 59,117, 55, 87,162,248,255,174, 72, 12,232,222, 60,136, 43,109, 85, 93, 66, 64, - 78,237,108,176,222, 52,196, 68, 8,132, 96, 40,125, 87,106, 97, 66, 48,114,180,224, 48, 39, 17,208,166,102,168, 74, 73, 96, 68, - 52,128,121,192,238, 25,208, 5,160,105, 64,146,209,212, 9,129, 25, 91, 36,135,145, 1, 34, 2,223,226, 23, 79, 28, 21, 76, 69, -196, 52,153,184,155,185,106, 81,114, 68,161,229,106,133,128, 34,108,160, 72,152,132, 1,104, 88, 45,152, 57,247,189, 54, 39, 39, -109,197, 77, 71,183, 50, 17,162,171, 91,159,250,170,165,148, 34, 57,141,239, 17,181,148,123,116, 55,173, 35, 6, 89,155, 1,144, - 99, 74,210,180, 98, 11,192, 74, 33, 78, 76,217,124, 64, 71, 39,231, 68,140,210,180,180, 86,193,137,153,132,196, 92,107, 45,137, -163, 31,131, 72,128,218,178, 12,155,155,235,134, 74, 32,238,160, 77, 17,144, 16, 76, 21,144,165, 35, 4, 82,115,111, 5,187,100, - 13,134, 85, 99, 42,204, 44, 34, 26,210,190,166,196,236, 85,173, 85,102, 36, 98, 52,239, 36,169,228, 86, 86,197, 42,131, 51,118, -136,228,234, 44, 40, 93,183, 42, 67, 27, 6, 83, 39, 70, 3,196,214, 16,201,220,203,176, 88,158,158,128,123,238,187,126, 50, 99, - 17,119, 2,132,148,196,180, 81, 44, 74, 1, 8,153,153,221, 91,109, 37,122, 75, 18,113,215,120, 88, 7, 11,142, 24,157, 8, 27, -156,165,134, 16,220,115,162,110, 58, 61, 61, 62, 30,213,214,228, 4,136,128, 76,232,128, 4, 20,135,165,209,160,231, 99, 60, 37, -242, 98, 54,154,204,221,205, 9,206, 22,179, 14, 24, 49,106,198,127,109,158, 63, 2,199,162,158,230,142,110, 70, 8,155, 91,179, -221,235, 59, 85, 55,227,246,106,224,110, 28,109,221,214, 16,176, 34,224,133, 11,231, 31,191,114,233, 83,207,125,144,136, 15,246, -247,175,222,216,185,181,115,255,214,221,157,131,163,163,123,187, 59, 32,105, 58,157,110,205, 55,182,214,214,182,182, 54,250,201, - 36, 51, 45, 23, 75,107, 85,178,116,125,215,119,211,233,116,214,245, 83, 78,156,115,154,244, 19, 66, 17,161,170, 54, 44, 23,251, - 71,195,131,131, 67,240,189,233,164,223,218,152,245,157,244, 93,234,251, 9, 19,229,137, 16,251,185,199,158, 56,127,241,146,100, -161,156, 57,119,109,185,212,102,148,104,185, 90, 58, 11,153,106, 83,150, 44, 41,155,186, 53, 39, 84, 2,209,161, 17,115, 55,153, -131, 89, 43,195,120,136, 19, 6,135,212,201,135, 63,254,252,111,252,211,127, 50,157,205, 69, 68, 68, 30,123,236,202,245,155,183, - 47,157,219, 60,217,125, 43,109,108,108, 94,122, 7,164,201,106, 88,182, 97, 9,200, 86, 6,140,189, 89, 4,135, 17, 8,224,214, -235,175, 30, 28, 60,248,193,167,158,218,218,190, 80, 85, 17, 90,169,173,156, 46, 93,161,149,161,149,225,143,190,127,247,229, 27, -111, 85,109, 26,247, 82,112, 83, 7,104,194,180, 28, 90,173,138, 12, 35,241, 97,180, 69,140,176,114,240, 51,150,133, 25, 10,161, - 99, 83, 16,241,231, 63,252,193,127,239,103,254,205, 31,126,238,249, 69,177, 6, 90, 22, 39,101,113,124,184,191,127,227,230,141, -155,119,238, 60,216, 63,120,112,176,127,116,116,122,120,124,122,229,194,249,143,124,224,125, 95,252,145,143, 93,188,112,254,254, -238,189,226,237,254,254,254,193,173, 91,230,118,116,114,186,251,205,239,172,175, 77,214,103, 83,240, 72, 99, 97,202,236,110,136, -146, 56,133, 19, 46,114,134, 77,125,116,189,128, 35, 98, 45,205,208, 0, 52,113,199, 66,224,130, 8, 54,198,120,199,237,130,161, - 7,113, 62, 60, 68, 4,232,166,156,196, 32,236,146,156, 18,155,131, 16,132,241,199,205, 41,231,127,229,249, 34, 6, 48, 66, 6, - 36, 51, 5,116, 53, 27, 83, 47,230,132,100, 50,186,137, 0,212,192, 17,129,133,166,147,105,160, 50, 88, 18,145, 52,141,169,246, - 8, 3, 38,234, 28, 60, 16, 2,148, 81,171,145, 48,152, 58,177,122, 13,163, 42, 18, 86,213,152, 25, 18, 32,101, 70,247,216, 51, -115,188,246, 70,139,165, 3,130,224,232, 63, 96, 34, 39,175,173, 34,160,153,113,156,230,163,214,175,205,205,152, 81,129, 16, 41, -244, 56,102,122,102,179,119, 85,109,174, 0,136,200, 66, 9,208,173,182,130,158, 68,192, 76,132,195,244,132, 0, 1,253, 54,135, - 86, 12, 25,213, 20,136,180, 42,128,147,176,187,235, 80, 25, 17, 44, 38,233,200, 12, 67, 93, 17, 8,177, 36, 97, 53,179, 82, 29, - 60, 64,239,168,200, 34,197,170, 8,245,221, 68,181,161, 97,234,186, 56,153,146, 36,103,141,135, 76,211,202, 46,177,144,100, 71, - 36, 72, 28,167, 74, 5,100,146,108,170, 8,149,128, 60,147,171,106,209, 56,110, 50, 82,136,144,170, 85, 66,202,153, 32,232, 5, - 72,136,176, 88,156,204,122, 94,155,225,233,210,154,133, 81,138, 16,216,188,169, 91, 78,236, 81, 33,102,204,211,110,117,122,210, -212, 37,101,194,228,126,198,126,211, 6, 72, 10, 72, 4,146,164,169,106, 45, 40,153, 58, 92, 21,117,163, 36, 41,130, 95,110, 38, -157,132,220, 10, 29, 82,223,107,105,102, 13, 17,147, 36, 53, 91, 44, 78, 79, 79,143, 48,212, 33,204,181, 22, 67, 35, 52, 18, 97, -201, 8,140,104, 35,198,192, 21,128,154,186,171, 33, 39, 66,149,145,199,131, 4, 6, 68,236, 64,174, 10,122, 70,246, 4, 32,119, - 16,234, 38,211,217,218,108,185, 56, 1,139,214,231,120,157, 3, 0,115,156, 76,251, 97,185, 10, 31,222,153, 24, 47,102,246,113, -101, 54, 24, 51, 1,163,173, 35,104, 44,128, 9, 92, 71, 86,198,248,114,128,241,209, 63,142,236, 45,234, 16,169,159,111, 77,243, -253,189,211,203, 23,230,165,104,208,150,163,137,132, 36,129, 0, 93, 13,195, 48, 0,130, 35, 17,167,238,253,239,125,250,131,239, -127,175,185,105,171, 71, 39,139,195,147,211,123,119,119,111,236,220,187,255,224,222, 75,175,191,118,124,114,178,182,177,177,181, -182,190,181, 54,235,187,110, 34,137, 19, 11, 83, 18,158,118, 29,167,110,210, 79,242,116, 50,153,204,186,233,108,109,125,190,185, -185,133, 76,230, 84,219,176, 92,174, 78,150, 85,219,130,232, 48, 9,118, 89, 54, 55,214, 62,242,161,247,156, 44, 38,146,166,221, - 36, 55,179, 90,171,132, 67, 61,117,218,138,187,179,144,123,171, 13, 71,134,172, 72, 89,174, 90,211,220,119,148, 72,135, 37,134, -235,119,236,255,145,214,250,212,211,207,252,241,239,125,227,250,141, 27, 79, 63,245, 30,230,110, 99, 99,107,247,254,189,171,111, - 94,223,219,219,127,249,234,181,233,252,252,198,229,119,191,235,201, 31,172,165, 94, 56,183, 49,212,226,214,180,106,151,179,164, -124,243,205,239,223,191,119,255,210,229, 43,207, 60,251, 28, 17,181,214, 82,159,235,114,185, 90,172, 0, 9, 81, 91, 93,221,122, -112,248,205,215,222, 64,130,205,110, 46,204,203,214, 98,223, 18,239,152,197, 80, 34, 26, 17, 79, 13, 51, 80,119, 85,165,209, 49, - 18,134, 44, 32, 22,107,122, 90,135,119, 60,114,241, 47,126,237,167,126,236,243, 95,152,174,175, 45,154,169,105, 25, 78, 78, 15, -246,110,223,186,126,237,230,157,157,221,221,135, 7,135,167,203,101,109,109,247,224,248,221,151, 47,253,236, 87,190,240,190,167, -127, 8,193, 23,104,247, 15,247,115,162,249,249,205, 55,111,221, 57, 61, 60, 93,155,229,243,143,156, 3, 6,107,163,215,136, 48, - 33, 96,236,232,154,106,228,152, 28, 40,212,121,116,198,148,245,136,159, 58, 54, 67,179, 6,212,197,227, 23, 28, 29, 61,186, 44, - 57,115,216, 67, 1,199,113, 3,128, 81,162,184,159,119, 19, 50, 7, 68, 74, 76,200, 90, 87,104,234,200, 68, 16, 40, 65, 84, 51, -198,145,209, 4,103, 64,175,178, 90,229,156, 21, 32,179, 40, 24, 33, 19,131,169, 1, 2, 81, 76,120, 29, 56, 77, 83, 98, 97, 83, -139,127,180, 51,163, 48, 34,119, 72, 44,194,140,162,174,102, 78, 66, 64,232, 21, 17,209,106, 65,192,232,181,114, 16,201, 1,153, -121, 40,133,131,188, 37, 12,224, 77, 91,202,177, 72,139, 70, 36, 0, 17, 11,130, 81,179,134, 72,156,168, 22, 5, 30,237,196,218, - 26,159,161,208, 88, 36,244,131,163, 86, 97, 20, 39, 5, 96, 62, 62,101, 2, 48, 36,228, 46, 51,104, 48, 44, 75,169,110, 74, 34, -110,202, 34,238,192,128, 78, 65, 8,193, 82, 10,115, 96,188, 44,160,222,142, 8,236, 72,172,218,172, 25,167, 28, 66,241,166,138, -102, 40,224,134,173, 57, 19, 26, 3, 49,101, 76,110,214,106, 97, 22,236, 71,200,226,200, 29, 81,211,152,188,145, 68, 93, 17,153, -200, 16,153,212,148,136,172, 89, 51,117, 51, 48,131,204,200,130,110, 13, 20, 16,128,188, 35, 6,199,218,204,205,195,104, 25, 16, - 91,102,116,160,214,154, 53,159,172,245,173,177,123, 13,114,148,171, 58, 0,139, 16,197,120,149, 49,161,150,106,214, 36,103, 54, - 80, 53, 63,219,205,226,184, 6, 13,235,179,145,116,153, 8, 92, 90,243, 90, 91, 39,236,193, 77, 99,116,112, 73, 25, 8, 3,254, -195, 57,187,181,234,192, 68, 40, 98,160, 69,109, 40,203, 82, 74, 98,234, 58,145,156, 23,203, 33,105,157,206,230, 41, 37, 0,170, -222,220,160,105, 75,196, 46,238,102,140,132, 44, 97,165, 22, 68, 1, 82, 71,244, 24, 46, 71,138, 43, 9, 33,154, 86,228, 4,140, - 8,184, 88,148, 97,177, 7, 30,171, 84, 5,181,240,226,170, 3, 19,174,134,234, 58,102,191, 40, 82,107,163,125, 53,234,193, 52, -142,235,201,193, 29,205,220,160,129, 69,161, 23, 0,132,185, 53,115, 15, 40, 82,188, 17, 66, 75,229, 8,108,106, 85,253,194,133, -139,215,239, 62,192,243, 27, 4, 58,194,186, 29,152, 71,204, 5,134,188,119, 76,172,187,169, 46, 87, 3,132, 22, 23, 96, 54,159, -205,215,230,143, 95,126,228, 57,249, 0, 0, 29,236,237, 95,189,181,243,224,225,238,119,190,119,245, 79,111,221, 44,165,178,240, -246,198,230,214,218,124,218, 79,215,167, 57, 73, 98,166,148,100, 58,153,244,253,100,109, 99,109,109,190,206, 93, 55,159,173,167, -212,245,155,219,156,216,155,173, 86,131,106, 89,213,246,242,171, 55,239,237,220,234, 39,243,227, 97,241,216, 59,223,113,110,125, -163,159,174,201,180,211, 85,117,111,117,112, 64,178,218,188, 14, 60,153, 17, 50,161,182,218,106,107,125,159, 64,213,155, 2, 80, -216,107, 80, 4, 1, 93,141,146, 32,167, 47,253,244,191,245, 11,255,221,127,125,111, 99,231,145, 43,143,106,171,231,207, 95,250, -214,159,252,201, 75,111, 92,253,192,251,159,249,185,255,248, 63,185,112,249,202,239,255,243,223,253,129,119,189, 11,193, 2, 58, - 56,155,111,221,191,250,242,157,187,119, 78,134,250,161,231, 63, 51,159,166, 86,205,234, 42,247, 25,137,202,114,112, 85,153, 76, - 97,113,122,120,120,240,141,151, 94, 62, 90,149, 73,215,169,107,107, 45,238, 85, 90,171,170,166, 68,171, 97,137, 20, 40, 84, 55, -213,224, 2, 78, 82,118, 38, 45,213,220,208, 17, 8, 74, 27, 78, 22,237,171, 47,126,238,175,252, 7, 63,119,225,242,163,142, 84, -170,170,182,197,233,254,253,219,183, 95,187,250,250,206,253, 7, 15, 15,142,246,142,142,150,139,229,222,193,201, 99, 23,207,253, -165,207,127,250,199, 62,247,105, 68,223,127,176,211,111,159,123,235,230,237, 55,174, 94,155,206,103, 59, 59,187,182, 42,235,179, -126,109,218,185,186, 91,188,200, 89, 36,129,162,186,183, 22, 56,147,176,115,140,241, 85, 28, 7, 49, 35,202,159, 25,205, 49, 33, - 49,163, 42,184,215,156,187,166,214,134, 65,152, 35,159,138,170,204, 12,230,234,144,187, 68,228,165,150,174, 75, 76,194,136,181, - 52, 64, 87,111, 58,152, 48,169,121,202, 25,204,134,170,194,112,118,142,182,196,156,114, 82,179, 97, 49, 16,115, 68, 1,155, 91, -240, 99,181, 86, 31,139, 22,134, 0,146, 18,104, 19, 22, 0, 0, 50,116,103,230,162, 3,199,190,146,196, 16,137, 18,160,187, 26, - 18, 18, 50, 57, 22,112,116, 39,230, 90, 86, 41,247,241, 98,117, 6, 68,170,173,138,196,157,197,209, 28, 29, 82,226, 81,113, 31, -234,231,174,115, 48,173, 5,137, 25,129,132,155, 90, 74, 28,100, 74, 68, 7,240, 26, 33,200,152,187,135,210, 90, 88, 56,181, 86, -188, 2, 36, 32,100, 38,116,115,112,103, 78, 22,156, 94, 68, 51, 55, 53, 22, 1, 98, 74, 2,138, 72, 56, 22, 1, 1, 91,211, 46, -165,230,102,174,196,236,166, 90,149, 4,136,201,213, 77, 27, 50, 3, 50,186, 2,139, 53, 99, 66, 55, 53,117, 74,146, 18,155,123, - 78, 73, 91, 99,161, 86, 29,221,193, 9, 28,180,173, 56,245,110,170,171, 37, 10,251,184,126,137,153, 27,155,154, 26, 96,116, 47, - 99,118, 26, 57,109, 38, 64,114, 87, 0, 39, 36,224, 88, 19, 32, 17,147, 66,133,198, 64, 34,194, 66, 60,162,215,218,233,178,168, -185,203,124, 40,238, 32, 85,141, 28, 19,179,145,180, 97, 32, 38,146,100,181, 13,117, 72,146,136,201,195, 65, 1,166,173, 57,144, -129, 50, 37, 18, 30, 86, 3, 35,246, 93,178,248,231,118, 32,198,196,164, 0,166, 99,147, 78,139, 57, 52,182, 72,126, 65,171, 74, - 96,147, 46, 87,179, 90, 86,246,118, 69, 30, 97, 24,134, 44, 66,203, 1,117,112, 22, 85,245, 86,193,128, 73, 80,220, 11, 84,109, - 80,129,187, 30, 28,117, 85, 41,172,118,191,249,139,255,171, 35,170,106,102,118,115, 39, 39, 71, 71, 64, 16, 34,118,104,128, 24, - 66, 91, 15, 64,157,123,124,150,164, 70,153, 90, 5,146, 24, 90, 33,132,148,114, 76,215,140,190,108, 98, 4,247,192,208,131,133, -107,194, 29,209,212,152, 24,172,153,219,217,151, 35, 16,123, 62, 26, 10,198,136, 78,180, 11, 65, 82,186,241,230,205,203,143, 94, -202, 57,169, 57,162,132, 22, 18, 65, 21,128,125,164,211, 1, 80, 48,210, 16,137, 48,161,152,171,199, 43, 23, 98,178,136,152, 19, -231,220,117,169, 35,161,186, 90, 92,191,121,247,234,157,183,190,243,242,107, 55,118,238,149,161,138,228,105,238,230,243,217, 36, -119,211,105, 38,196, 73,215,173, 79,167,147, 73, 55,153,205, 38,179,181,249,108,109, 58, 91,239,215,215, 36, 37,109,102,205,172, - 44,142,142, 15, 79, 22,167,181,180,220,205,114,223, 9,138, 48,206,231, 27,231,206, 95,220,220,156,243,100,221,173,229, 44,152, -178, 59,154,105,107,134, 4, 9, 49,158, 44,196,130,204,174, 10,232, 78, 89, 24, 0, 73,151,203,254,226,185,223,254,199,255,232, -219,127,242,205,167,158,124,170,159, 76, 63,241, 99, 95,157,110,204, 22,135,139,189, 7,251, 77,235, 31,252,243,223,126,226,137, -199, 63,250,225,247, 45,150, 38, 93, 71,166,191,251,245, 95,255,198,215,127,235, 43, 63,249, 51, 31,251,228,103,107, 25,180, 22, - 64,146,156, 80,171,154,105, 49,201,108,165,157,236, 92,255,235,127,227,191,248,250,119, 95, 91,159,247,171, 85,185,176,189, 61, - 95, 95,107,181, 58,192,233,201,105, 25,134,156,242,155,119,110, 85,211,241, 74, 6,160,166,147,156,215,231,211, 81,111,120,118, -244,157,246,179,191,244,181,175,124,245,199,191,234,146,145, 64,213,150,203,197,225,222,238,141,171,175,191,121,253,198,221,189, -253,227,147,195,131,163,197,241,241,241,201,201,242,241, 11,231,127,254,167,127,226,233,103,158,122,240,224,126, 63,159, 93,191, -118,237,230,181,155,156,165,169, 29,220,223,223, 92,155,117, 57,169, 41, 34,100, 74,205,106,184,208,152, 50, 33, 17, 66, 51, 85, - 48, 4,113,104, 24, 75,124,164, 62,231,210, 42, 40,168, 67,206,201, 92, 1, 33, 97, 42,173, 56, 2, 35, 97,132,237, 28,136,168, -153,117,185, 35,166, 40, 44, 73,102, 20,114, 3,166, 60,142,160,162,204,161,102,106,221, 36,183,218, 28, 12,153, 92, 99, 9, 9, - 0,214,212, 18, 39, 34,140,158,140, 48,169,105, 45, 45,165,132,128, 44,212,212, 36, 10,177,222,152,115,220, 90, 57,119,110,134, -236, 54,168, 67,132, 59, 33,102, 50, 36, 60, 18,143,220, 89,216, 92,181, 90,144,100,204,180,149,128,185, 75, 84,140, 0, 92,205, -152,200,221,136, 81,213,187, 46,155,121,211, 26, 0, 22, 87,151,204, 86,199, 61,153,186, 11,179,153,137,100, 67, 43,171, 33, 98, - 45, 34,130, 76,160,142, 72,214, 10,178, 8,161,157,153,118,106, 81, 97,228, 8,137,107, 35, 0, 3,226, 36, 86, 20,120,172, 53, -138,144, 3,122, 53,236, 16,116,124, 78,128,162,129,169, 90,213, 38,241,147, 52,148,212,153,183,248, 7,180, 86,136, 82, 68, 30, -213, 52,231,220,106,139,217,138, 1, 36, 73,109, 40,193,181, 66, 78,241, 49,213, 86,115, 18, 97, 81, 83,213, 22, 57, 14,100, 82, - 53, 68,116, 51, 71,167, 32,156, 19, 35,176,121,209,214,132, 5, 83,182,166,110, 70,204, 66,169, 89,117,111, 48,178,197,209,221, - 76,109,212,113,184, 73, 74, 93,146,102,229,193,238, 81, 78,105,190, 62, 51, 53, 87,211,214, 80,178, 1, 32,112, 4,147, 84,213, - 21, 56, 37,247, 22,139, 68,173, 42,194,165,148, 96, 53, 51,147, 33,130, 97,196, 76,136, 16,153, 25, 83,105, 37,246, 67, 41, 39, -109, 86, 90,109, 85,153, 17, 25,153, 5, 1, 68,146, 1,212,161,104, 85, 39, 99,115,103, 57, 61, 62, 57, 56,220,213,106,228,202, -146,114,151, 56,117, 93,215,207,230, 51,160,212, 90,107,173,153,214,176,212,129, 53, 78, 9, 40,161,213,227,211, 83, 9,162,101, - 98,113, 4, 96,136,156, 0, 66,112, 87,206,166,232,128, 99, 67,214, 61, 86, 85,128,238,220,242,108,195, 79, 86,136, 98,104,241, - 56, 31, 47,189,222, 0, 4, 8,204,192, 85, 67, 68, 22,183,182,248, 56, 28,140, 16,205,234,219, 34, 81, 24, 3,244, 4,110,206, - 0, 78, 35, 33, 44,226,164, 14, 77,219,214,230,252,240,116,121, 33, 39,112, 5, 68, 69, 96, 15,222,182, 65, 88, 59, 28,145,129, -129,131,157,160,222,176,161,140,243, 36, 36, 24, 95, 29,181, 89,105,203, 19, 28, 64, 85, 36, 63,241,206, 31,120,242,201,167,254, -204, 11, 47, 44,151, 39,187, 15, 30,220,218,185,127,237,246,206,193,193,225,238,238,222, 91,247, 7, 0,156, 78,251,249,116,182, - 49,155,174,207,103, 93,218,237,167,253,164,155, 76, 38,211,201,124,190,182,177, 53,153,206,211,108,118,121,253, 28,103,138, 48, -130,170,214,218,134,178, 58, 62, 60,122,120,184,159,136, 82,238,103,107,179,237,243, 23,250,217,250,250,214, 22,115,102, 49, 34, -106, 67, 73,185, 39, 17, 52, 67, 22, 48, 51, 67,233, 19,130,107, 41,216,117,122,186,124,238, 83,159,125,229,165,151,174, 95,123, -243, 51, 95,252, 10, 49,237,223,123,240,173,111,126,235,209,199, 30, 61, 93, 13,247,118,238,105, 93,125,236,249,231,147, 14, 90, -234, 31,254,193,215,255,240, 15,255,197, 39, 63,251,197, 15, 61,251,177,197,209, 33, 16, 70,116, 15, 84, 77,213, 29, 73,196, 12, -185,156,252,223,255,215, 63,248,227, 55,110,204, 38,147,253,195,147,147,211,147, 39,174, 92,209, 86,205, 29,204, 91,107,128,206, -153, 89,164,174,148, 9,213,177,169,102,225,217,100, 50,212,154,122,139,241,191, 0, 0, 32, 0, 73, 68, 65, 84, 83,239,174,165, -212, 62,167, 23, 62,250,236,207,126,237,167, 62,240,161,103, 7,117,115, 31, 86,203,131,135,187, 15,238,223,185,115,231,206,141, -219,119,119,118,119,143, 78, 22,123,199, 7,123, 15,143, 47,110,172,125,237, 43, 95,252,209, 79, 62, 55,153, 79, 87,106, 39,195, -242,224,232,144,147,116,235,179,183,174,223,157,247,249,202,133, 13,150,168,105, 48, 1, 54, 48, 74, 29,104,224,193, 71,103, 21, -144,147, 7,221, 19,153, 9,153, 16,176,214, 10, 8,196,161, 53, 5, 70, 1,211, 10,141, 3, 38, 14,224, 14,147,148, 28, 80,205, -123,201,136, 8,142, 93,159, 91,107,106, 78,234, 68,161,232, 4, 68,114,213,234,134,230,200, 88,107, 67, 64, 55, 48,247,240, 64, -185,107,104,139,221, 13,124,124, 22,150,166,222,140,153,144, 66,130,234, 8, 10, 40,170, 42,210, 57, 56, 10, 49, 8,184, 7, 7, - 76, 35, 96,204,227,148, 50,100, 64, 0, 46, 40, 10,170,205, 17,145,162,137,175, 78, 44, 41,199,240,210, 70,167, 93,120,137,220, -193,192,208,145,176,214,130, 0,174, 6, 72,204, 68,146,212, 26, 50,185, 67, 12, 43, 34,174,101,214, 76, 35,242,200, 20, 56,162, -218, 40, 74,190, 36, 97, 98, 50,136,133, 0,231,142, 1,220, 85, 41,101, 12,151,133,153,213, 6,132,241,182, 32,137,176, 22, 96, - 66, 43, 54,154, 60, 34, 75,202, 4, 97,109,115, 71,116,238,216,180,142,139, 27,115, 34,118,247,160, 50, 0,146,154, 98,228,249, - 72, 0, 76, 91,117,215,113,101, 13, 0,236, 8, 36, 30,224,176, 2, 4, 68,201,221,192, 60,224, 97,170,230, 22,116,172,145,172, - 3,129,158, 39, 22, 98, 71, 4, 17,116, 2,104,234,133, 16, 29, 82,107, 85,173, 16, 1, 5, 12, 85, 13,201,153,199, 37,170,106, - 33, 29,214,182,102, 4,160, 35,202,132, 1, 33, 81, 38,164,170,101,252,212,100,236,241, 68, 73,141,216, 75,109,173, 20,201, 93, -160,104, 69,216,208,173, 69,160, 21, 24,201,208, 68, 24,212,171,155,170, 82,232, 41, 18, 18,160,187, 11,146,129,215,214, 70,216, - 25,114,171,166,238,160, 53,231,180,182,182, 57, 12, 75,109, 67,162,113,101,201,132,197, 12,181, 32,160,176, 24,146, 89, 3,183, - 88, 42, 16,141,221, 85, 65, 70,108, 22, 3,243,209, 76, 10, 13,244,108,171, 22, 86, 97, 26, 11,157, 68, 28, 50, 63,179,234,142, -203,227, 83, 68,110,222, 24, 16,200,131, 75,224, 4,132,226,224, 96,228,214,136,200,180, 97,236, 77,105, 12,235, 98,244,173,131, - 80,133, 48,210,175,144,220, 1, 41,131,215,179,225,126,244, 15,130,255,226,221,116,118,176,187, 15, 91,219, 68, 8,152,196,213, -225, 12,255,129,233, 44,208,102, 48, 82,159,244,140,221, 64,113, 77,139,215,210,153, 81,203, 1,128, 68,204,218,201,233,242, 20, - 86,196,104, 38, 23,206, 93,186,124,233,137,231,158, 69,132,225,244,116,117,120,124,178,179,187,247,242, 43,175,124,239,234,173, -171, 55,110, 0,203,133,115,155,143,158,191, 52,155,118,243,126, 34,249,158,112,238, 3,149,214, 79,214, 55,183, 38,179,141, 60, -233,147,116,146, 83,234, 36,119,201,212,221,188,169, 45, 78,151, 39,199,215,154, 42, 17, 11,243,185,139, 23, 47, 92,188,188,126, -110,179,239, 58, 16,104,139,193, 1,234, 80, 60, 36,246,165, 98,206, 36,162,110, 93,234, 62,253,226,231,167, 91,219, 23, 46, 63, -114,188,127,112,227,218,213,255,231,215,127,121,123,125,253,116,181,120,235,173,183,160, 13,159,248,212,103,182,103,253, 31,252, -238,239,189,227, 7,223,245, 31,254,149,255,172,155, 77, 26,146, 14, 39, 44, 9, 39, 93,215, 73, 43,197,128, 16,204,134,147,181, -245,173, 95,251,213,223,248,123,255,240,159, 54,231, 46,165,213,170, 72,151,193,124,181, 42,169, 75, 85,171,106, 99, 64, 70,122, -199,229,203,175,188,121,141, 0, 28, 44, 11,111,172, 77,205,218,149,243, 23,111,220,186,181,181,189,245,254, 39,159,250,241, 63, -251,153,103,159,253,232,198,246,249,211,229,178,169,158,158,156, 60,184,119,103,111,247,254,237,187,247,110,220,185,181,127,112, -124,188, 92,221,122,235,238,131,135,123,127,241,139, 47,254,133,159,248,242,230,230,218,209,225, 94,230,245,195,197,225, 27, 87, -223,156, 77, 38,119,238,237, 14,135, 39,231,214,231,157, 8,114,118,119, 98, 98, 65, 87, 7,115, 38, 4,150, 86, 74,100,106,137, -192, 26, 10,241, 96,141,129, 34,234,225,238, 72, 28,224,163, 40, 2, 53,109,128,156, 9, 85,181,180,138,196,147, 46, 7, 32, 32, - 84, 68,136, 40,157, 52,211,230, 70, 14,230, 77, 9, 18, 39,117, 48, 71,118,144, 16, 62, 32,161, 91,173, 3,177, 16, 51, 2,186, - 89,151, 83,171, 88,181,141,152, 25, 36,179,168,141, 40, 16, 15,181,246,210,145, 36,139, 9,162,161, 27,142,110, 85, 30,105,230, - 74,128, 18, 66,154, 56,243,184,129,163,121,150, 28, 56, 93, 70,100,196,218,204,201, 89, 82, 60, 79,155, 22, 83,175,171,146,166, -125, 0, 59,205,148, 19, 3,140,214, 58,107,149,115,206, 93,174,181,130,105,100,189,135,213,138, 89, 8, 64,221, 9, 0, 17, 73, -216, 76,205, 3, 88,233,238,161,230, 0,102,106, 85, 35,199,207,156,145,208,208,208,145,186,190,149, 26, 91,229, 32,218, 56,128, -153,194,219,245,245,216,174, 26, 32, 19,178,181,210, 2,157, 6, 68, 72,212,165, 60,156,174,154, 55, 8, 47,145, 96,173,134, 26, - 60, 63, 7,183, 62,167,218, 84, 56, 57, 90,213, 33,246, 14,105, 50, 37,240, 50, 20, 24, 7,176,128, 34,214,106, 60,245,180, 86, - 18, 38,193,214, 20,153, 18,147,162, 32, 48,160,141,232,140,179,185,176,154, 74, 55, 65, 34,107,197, 20,192,226,212,103, 41, 51, - 52, 0,176,170,154,133,153,129,144, 99,202,207,146,247, 15, 86,230, 46,140,156, 97, 48,215,218,186,190,119,133,230,170,214,136, -208,145,209, 81,181, 16, 64,238,115, 43,173,148,194,130, 72,232,200,129,149, 87, 83,108,196,146, 40,187,185,129,129,153,165,156, -213,131,165,140,225, 17, 7, 8, 40,144, 34, 83,169, 21,207,230, 32, 73,242, 74, 85, 75, 33,135,196,201,184,204,102,179,196,188, - 26, 18,185, 49, 11, 39, 81, 85,172, 13, 69,130,122, 31, 17,222,218, 74, 40,121,153,141,144,145, 18,254,214, 63,250,223, 81, 3, - 37,143,142, 72, 97,233, 36, 32, 16, 68, 84,173,196,130,196, 62,194,152, 76,213, 1,128,199,118,250,216,117,197,177,240,228,110, - 30,199, 40, 7,116, 71,183,134,163, 50,209,112,212, 33, 34, 88,177,177, 86, 30, 75,218, 51,167, 40,134,183, 80, 66,140, 0, 17, - 4, 8,138, 25, 56,162,129,195,157,187,187,143, 95,185,140,228, 72, 35,182, 31,198, 83,191, 3, 56, 50,187, 2,131, 7, 7, 33, -226, 94, 28,190,196,208, 13,135, 77,155,198, 20, 4, 17,131,185, 71,238,201, 57, 78,123,132,104,224, 50, 66, 78, 65,132,226, 70, -127,227,250,237,215,174,223,122,253,234,213,215,110,236,172,134,210,117,253,198,218,250,230,124, 50,157, 79,103,169, 67,132,220, -165,217,108,125,115,243,220,124, 99, 61,119, 29, 26, 32, 72,158,244,192,136, 33,218, 32, 81,109,106,208,180,173, 78,142,202, 48, - 8,229,205,139,231,182, 46, 93,186,116,241, 98,234, 58, 45, 53, 77, 38,222, 84, 85,223, 22, 66,155, 99,191,190,166,165,252,242, - 63,248, 63,167,235,219,151, 46, 93,248,111,255,230,127,243, 96,239, 97,173, 69,107,121,238, 67,207,188,227,209,119, 60,253,228, -147,239,251,224,199, 55,183, 55, 92,146,183,149,244, 19, 91, 13, 36, 93, 63,159,212, 58,232, 80,129, 56,165, 68, 90,255,248,119, -191,241,215,255,214,223,218,217, 63, 74,204, 71, 39, 71,203, 85, 57,183,185,121, 97,107,163,168,166,156,202,106,213,180, 17,139, -160,212, 90,110,188,181,147, 50, 45,150,101, 99,109,106,102, 63,255,239,255,220, 95,253, 79,255,203,255,233, 23,126,225,246,245, -239,127,233,197, 79, 95,184,116,217, 37, 32,124,245,112,111,239,240,240,225,209,225,209, 27,215,222,188,113,251,222,201,106,113, -178, 88, 93,187,125,103,150,250,191,246,151,255,252,103, 62,241,252,225,241, 97, 3, 95,213,114,237,213, 87,239,237,237,247,125, -191,251,214,206, 52,229,249,218,148,137, 8, 57,165,148, 88, 64,216, 93,107, 53,109,205,220, 0,136, 4,201,177, 13, 13,133,221, - 77, 18,187,122,164, 9,205, 28, 49, 34, 35,132,100, 90, 21,153,209, 44,119, 73,213, 90, 85,102, 96, 22, 98, 65, 36, 73,125,179, - 6, 54,158, 39, 28, 16, 5,234,170,177, 48, 51, 69, 82, 62, 5,108, 46, 78, 0, 6,200, 4,224, 72, 96,106, 6,200, 8,165, 21, - 10,218, 96,180,100, 71,220,134,155, 1, 48,103,166,166,205,220, 25, 36,229,206, 32,138,154, 73, 0, 86,101, 32,162,156, 39, 10, -141, 16,204,193,170, 49,147, 33,196, 57,212, 44, 74,211,232,224,230, 42,148, 56,145, 27, 48, 51,168, 22,109,163,212, 9,128,156, - 33, 33, 51,214,170, 76,140,230,128,209,139,134,166, 53,165,142, 56, 46, 57, 70,200, 66, 92,181,164,148, 84, 13, 97, 28,122,187, -197,129, 14,212, 42,115, 30,203, 64,200,136, 14,174, 36,217, 17, 25, 89,181, 34, 81,213,198, 64,196,236, 26,210,133, 56, 50, 33, -145,152, 85,119,167,196,164,212, 90, 5, 48,109, 78, 76,136, 40,146, 1,176,105, 49, 68, 10,142,184, 26,198,250, 97,116, 41,123, -109, 6, 4,125,215, 33, 51,152,155,150, 88, 43, 70,126,159, 49,155,215,106, 85,136, 3, 20, 21, 19, 39, 18,102,150,161, 12, 96, - 72, 76,136, 4,110,102,166,224,224,144,187,132,196,146,179,154, 81, 56, 78,227, 73, 16,128,179, 48,172, 3,149, 58,140,148, 45, - 0,199, 81,148,201,140,203,197,240,224,193,131, 43,151,182,103,235,179,166,238,148, 90,195, 54, 12, 77,149, 40, 26, 81,132,228, -173, 24, 49, 16,208,170, 12,113, 16, 80,211, 82,180,147,132,194,109, 85, 57, 49, 16, 73, 74,230, 22, 93, 13, 12,155, 28, 82, 45, -131,153,137, 72, 98, 49,194, 86,139,154,215,170, 1,110, 19, 18, 98, 82,117,176, 2,156, 90, 43, 76, 76,136, 0,212,172, 90,169, -218,154,121, 35, 76,224,158,102, 19, 68, 9, 46,152, 19, 15,171,149,151,210,101,246, 36,194,201, 12,142,142,143, 5,226,210,139, -238, 62,246, 32, 72, 40,104, 51, 14, 72,156, 67, 92, 26, 45, 56, 64,231, 24,158,140, 73,209, 8,207,135,227, 20,198, 12,175,171, -159, 81, 92, 98,220,130, 72, 96, 28, 75, 8, 31, 95,174, 52, 86, 63,224,236,151,130,255,154,150,247,140, 91,230,103, 76,122, 8, - 22, 41,225,172, 79,123, 39,203, 75,155,107,234, 68,140,102, 21,130,142, 29,215, 13,139,253, 84,132,123, 70, 72, 69,224,115,240, -172,124, 11, 35, 53, 14,192,195,166, 23,147,121, 25,239,119,174,227, 92,151,221,213,155,123,107,182, 92, 41, 34,156,191,116,241, -241,119, 60,254,133,207,125,250,116, 88,220,187,123,239,234,181, 91, 55,222,186,127,239,222,189,187,247,238,153, 67,215, 79, 55, -231,179,205,173,197,225,241,193,185,147,205,148, 38,136,140, 72, 57,167,110, 50,235, 39,211,148, 59,201, 89,152,145,121, 50,233, - 39,147,206, 1,218, 80, 86,171,229,245,239,125,239,205,239,189,220,165,126,227,252,185,141,237,237, 78,120,190,182, 62,217, 88, - 67,119,107, 14,224,175,253,191, 47,253,218, 47,255,147, 95,254,181, 95,249, 11,127,254,103,103,125,102, 65,119, 72,146,250,156, - 24,253,254,253,187,239,126,250,153,199, 30,127,108,255,224,225, 72,141, 82,227,110, 2,224,101,185, 52, 85,100, 33,145,148,228, -205,215, 94,249, 59,127,255,239, 31, 45,135, 89,151, 22,203,213,114, 53,116,185,203,185,171,181, 57,122, 83, 87,181,120,116,161, -224,241,201, 98,213,170, 2,159,219,220,120,228,194, 57, 97,126,228,210,133,110,123,246, 31,253,181,191,250, 43,255,219,255,178, -182,190,161, 78,229,224,240,224, 96,239,193,222,195,131,195,195,163,197,201,181, 27,119,238,237,239,181,170, 59,187, 15,143,142, - 15,191,252,194, 39,254,221,159,252,242,250,250,116,247,225,253,188, 54,191,246,242, 75,107,219,155, 23,223,249,248,155,119,238, - 30,237,238, 95,218,222,144, 94,220,162, 10,203,136,136, 66, 6,232,192, 22, 40,110,197, 68,216,212,205, 28, 37,152, 30, 52,246, -175,193, 28,199,149,125, 92,203,173, 58, 68, 75,159, 88,155, 3,250,116,218,199,210, 39,172,108,234, 45,101,118,247, 50, 52,140, -163,119,179,156, 5, 9,195, 59, 71,132,106,200,228, 76, 76, 76,224,168,214,162,162, 41,210, 51, 98, 45,171, 94,164,152, 67, 76, - 23, 61,146, 18,136, 72,146,208,155, 85,173, 8,200,146, 98,221,202, 68, 0, 1,186,178,148,251,248, 37,162, 97,244, 67, 40,129, -169, 18, 37, 53, 51, 51, 80,144, 94,226,105,149,164, 35, 64, 83, 67,162,214,154,170,137,176, 7,103,214, 77, 58, 50,115,109, 22, -220, 0, 36, 34, 2, 7, 55,107, 57,231, 51, 26, 16, 18, 49,130, 27, 40, 33,181,214,224,172,175,128, 8,192, 36,145, 86,198, 56, -183, 49,113,236,207,200,157,130,149,214,188, 49,139, 1,164, 80,184, 0, 32,135,234, 18,152,132, 24,181, 22,143, 31,111, 51, 27, - 75,235, 68,108, 72,152, 82, 87, 91, 9,224, 54, 19,187,153,199, 1,255,109,193,125,160,208, 18, 49,227,104,223,140,249,155,141, - 42, 54,201,161,100,242, 4, 20, 55, 6, 34, 66, 65, 65, 86,183, 86, 75, 76,219,209, 99, 83,129, 72,152, 69, 90,109,170, 74,128, -173, 41,186,183, 90, 85, 27,117,226, 26, 99, 94,119, 36, 85, 19,242, 46,245,170,205, 65,221,156,144,141,213,155,213, 65, 79,150, - 53, 75,146,212,155, 34, 16,187,130,171, 34,209, 36,137,154, 87, 53,134, 38, 44, 68,160,106,205, 90, 98, 30,170,170, 25,177,228, -204,181, 26, 65, 3, 33,117, 19, 96, 53,139, 52,151,187, 91, 45,200,137,132,130,238, 25,208, 8,112,137,225, 3, 19,130, 27, 35, - 59,154, 59, 50, 99, 3, 38,240, 46,247,173, 53, 0, 26,139,120, 29, 34,145, 14,232,136,210,119,128,196,132, 70,104, 13, 93,107, - 74,130, 76, 90,155, 15,197,217, 88, 36, 5,130,135,136,226,141, 58,206, 97,194,255,130, 4,166,129,164, 80, 3, 24,225,233, 49, - 93, 33,143, 85, 43,208,104, 45,141, 53,202,219, 61, 56, 64,115,115,112,142, 15,193, 60, 94, 0,177,186,137,174, 99, 72,209,213, -235,219, 61, 41,124,219, 75, 69,177, 7,141,247,205, 8, 42, 3, 2,100,154,207,231,119, 31,158, 92,220,218,208, 90, 73,198, 63, -199,209, 9,221,205, 1, 10, 1, 3,158,233,156, 70,240,231, 56,150,123, 59,129, 57, 70,191,208, 1, 89, 77, 3,135,141, 68,238, - 22, 29,244, 51, 3, 20,158, 93, 29, 16, 1,106, 25, 74, 51,192, 37,170,157, 59,119,225,145, 43,143,125,174,239,202,176, 60, 61, - 89,188,241,250, 27,111,222,185,247,198,155,215,175, 94,219,239,186,254,253, 79,231,205,237,201,209,193,126, 81,155, 72,234,102, -199,194,204,148,178, 72,215, 79,152,243,100,210,167,110, 42, 29,231, 44, 93, 39,179,201, 84,209,172,217,201,201,209,225,222,195, - 58, 44,221,177,235,251,233,124,109,251,220,165,217,108,242,218, 75,223,113,228, 23, 95,252,209,247,190,247,153,215, 95,253,254, -201, 98,245, 35, 31,250,224,131,135,247,111,221,191,247,218,141, 91, 63,250,252, 39, 94,254,206, 31,125,240,233, 31,218,122,228, - 49, 19, 70, 78,192,224, 90,221, 73,235,138, 40,113,198, 46,165,211,211,147,255,241,239,253,221, 27,111,221, 21,162,218, 60,247, - 19, 60, 62, 78, 57,137,160,162,215, 82,169,217,216,196, 3,108,170, 9,248, 61,239,124,226,226,214,230,250,250, 26, 16,150,213, - 10, 12,202,241,162, 52, 61,172,181, 93,191,122,241,252,197, 7,247,119, 30, 60,124,120,119,111,255,238,253,135,187, 7,135, 67, -109,139,197,170,149,242,228,163,151,126,230, 39,254,242,179,239,123,207,238,189,157,219,183, 30,174, 63,246,232,245,155,215,110, -237,220, 91, 27, 86,175,127,239,181,173,233,108,227,194, 6,145,100, 72, 21, 65,152, 57, 37, 4,112, 16,119, 37, 36,102,170,138, - 8,174,224,102, 77, 56,155, 55, 38,142, 37, 60, 50, 50, 73, 80, 28,123,145, 56, 75,164, 46, 17, 99,107,174, 45, 96, 15, 98,238, -146,115,120,236,204, 20, 9,107,105,204,148, 19,107, 43,205, 92,128,152, 72,221,204, 32,117,130,103,180,114, 55, 3, 26,205,157, - 66,132,152, 76, 27,142,188, 16, 68, 55, 34, 34, 34, 1, 84,142,122, 43, 17,130, 10,140,167, 19, 38, 34,114, 64, 38,142, 41, 1, - 49, 19,176,155, 26, 52,226, 12,140, 86, 11, 34,114,226, 82, 42, 40, 72, 39,230,170,181, 32,114,128, 7, 36,103, 48, 0, 0,117, - 23, 30,153,125, 72, 72, 32,173, 54, 64,140,189, 8,191,109, 27,117, 96, 78,110, 54, 50, 67, 16,163,106, 27,129,180,241, 16,213, - 20,136,136, 9,137, 77, 13,140,192, 13,192,145, 29, 99,126,196, 36,196,181, 44,199,157, 23,202, 8,140, 68,134,179,177,170,187, -186,183, 58, 40, 19, 35,177, 89,137,210, 53,170,155,121, 74,172, 6, 67, 89, 17, 51,185, 1, 35,186, 6,156, 42,254, 3,194, 88, - 20, 50, 11, 0,154,214,102, 65, 56, 32, 66,114, 4,100, 71, 38,107,110,213,144, 72, 56,215,225, 20,226, 21, 70,193,131,138, 83, -188, 3,185, 27, 34, 26, 1, 75,151,192,177, 12, 43, 17,110,238,225, 96, 28, 86,131,107, 67, 66,111,109,124,225,177,152,154, 91, -197, 52, 69, 97, 66,215, 85,165, 88,107,135,113, 17,125, 88,173,214, 38, 61,112, 82,195,214, 76, 85, 83,202, 68,104,102, 96,218, - 39,169,138, 10, 4,222,136,176, 26,186, 26,161,115,159,181, 85, 48, 99, 17, 36, 0,192, 24,130, 49, 32, 82,114, 85,111, 13, 56, -210, 60,142, 64,194,236,214, 98, 47, 11, 68,232,134,128,106, 13,200, 4, 18,133, 61,180, 66,112,161, 17, 49,246, 28,174, 81,163, - 21,228, 36,137,220,206,158,219,241,208, 66,138,105,134, 70,254,197, 93, 68, 0, 7, 25,171, 69,163,150, 41,200,145,163, 35, 42, - 82, 98, 8, 60,202, 60, 1,221,226,102, 38, 86,219, 40, 58,138,212, 83, 92, 30, 99,139, 13, 64,196, 58, 62,211,149, 70, 58, 54, -142,185,218,168,135,185,219, 72,230, 20,243, 10, 56, 78, 89, 96, 20, 37, 70,252,214,222,174, 5,198,159,232,230,253,116,218,238, -222, 63, 89, 14,179, 94,220, 13, 34,179,115,246, 30, 64,148,241,171,233,196,142, 16,234,153, 72, 42, 32,142, 23,195,120, 85, 32, -193,152,130, 38,160,248, 47, 84,164, 4, 1, 24,194, 0, 39, 16,140,151, 8, 15,168,207,217, 35, 0,154,153, 46,151, 67, 41,128, -222, 77,250,103, 63,254,209,231,152,172,233,238,253,123, 47,125,255,141,189,131,213,206,157,157, 63,125,229,123,203, 82, 38, 93, -119,126,107,123, 99,125,125, 99,125,115, 62,237, 19,103,206,196, 44, 73, 40,231, 46,231,174,239,167,169,159,244,253, 84, 82,154, -116, 61,174, 37, 71, 91,158, 46, 87,203,227,221,187,183,110,190,249,170,186, 79,187,201, 39, 62,254,195, 31,250,145, 79, 28,236, -239,253,238,215,127,243,167, 62,255,217,225,244,120,177, 56, 80,131,195,163,197, 75,175,191,254,161,103,158,249,214,119,190,253, -226, 99,239,244,178,114, 4,104, 8, 77, 49, 37, 51, 96,132, 76, 12,173,254, 15,127,251,111,254,206, 31,253,233,198,218, 70, 35, -211, 86,115,215,109,111,108,181,218, 8,200, 84,193,161,105,139,177, 44, 1,182, 90, 63,252,222,167,250,190, 83, 53, 51,155, 77, -103, 31,123,254,249,207,124,230,179, 77,109, 50,157,130,211, 43,175,190, 6, 79,182, 27,183,111, 95,187,181,115,231,193,131,213, - 48, 20,243,182, 24, 38, 57,255,248,103, 95,248,202, 23, 62,173,170,119,239,220, 74,235,235,215,191,255,242,195,239,125,127, 99, - 99,122,120,120,124,176,179,119,121, 99,115, 50,205,194,162,205, 21,130, 28, 50,126, 1,205,212,192, 28, 76, 56, 81,130, 85,171, -238,142,156, 16, 49,167, 14, 33, 58,132,241, 56, 69, 74, 57,139,171, 25,186, 75, 78, 35,146,158, 32,247,221,104, 24,163, 68,200, -241, 5,213, 82, 78,151, 67,206,194, 35,154, 70, 82,192,143,220, 83, 74, 62, 42,188,226,235,193,103,103, 43, 72,146,136,197, 74, - 68,205, 8, 37,155,233, 72,123,113,116, 4, 38, 2,228,177,177, 77, 33, 81, 26,241,134,169, 79,181, 52, 0, 15, 69,158,105, 35, -102, 2, 80, 43,194, 25, 88,172,213,161, 86, 2, 28,159,252,224,136,236,232,216,140, 18,213,178, 66,226,156, 82,220,141,221, 44, -158,251,241, 61,119,119, 55,100,145,104, 3, 17, 16, 75, 48, 97, 4,193,213, 12, 34,216, 35,210,180, 98,152,233, 41,150,194,224, -110,228, 20, 41,173,152,210,140,226, 87, 96, 80,111, 90,137, 50,184,134,129, 62,236, 36, 65, 7,118, 51, 66, 84,115,145, 17,194, -133,128, 68, 29, 34,168, 58, 75, 66,211,214, 20, 0,162, 95, 0,163,201,131,153, 32, 80,248, 6, 96,136,221, 36,153,186,171,130, - 27, 3, 26,161,187, 27, 24, 2, 83,226,128, 18, 59,162,105,149,212,163,164,148,194,158, 75, 96, 45,126,199, 36, 34,147,201,112, -114, 72, 44,128,160,173, 34, 80,234, 18, 18,101,183,178, 90,106, 27,136,197, 69, 76, 21, 49, 17,153,153, 86,213,142,147, 18,154, - 57,212,202, 34,158,114,171,133,200, 72,164, 1,158,158, 12, 76, 48,153,117,165, 53, 64,100,164,212,101, 83, 31, 81,107,224,222, - 84,107, 35,169,204, 29, 34,116,137,107,169,230,208,106, 37,128, 81,237, 11,160, 69,153, 9, 0, 76, 13,160,178, 8,117, 83,211, -218,154,163, 41,165,222, 90,117, 48,171,134, 4, 73,146,161,184, 14,102,114,198,103,140, 60, 36, 26,186, 48, 18,231,214, 66,179, -213,136, 48,117, 29, 1,105,112, 72,226,123,135,224,148,180,148,152, 67,165, 44,110,222, 90,105,165,184,187,140, 97,198, 49,142, -248,175,218, 73,129,138,119,120,155, 83,112, 54,163, 7,208,218, 16,129, 41,153, 85,243, 58, 22,220, 34,170, 96,128, 0,110,141, - 32, 74,171, 24, 61, 67, 3, 37, 20, 4,114,215, 8,179,140,201,106, 56,203,157,141,117,168,241, 1,122,134, 47, 59, 59,128, 0, -132,180,151, 0,207,109,174, 63, 60, 56, 90,127,244, 66,169,198, 36,128, 42, 68,218, 52,226, 51,145,135, 69,112, 36, 68, 54,107, -209,207, 54,116,114,114,194,241,234, 48,162, 17, 4,128,200,220, 9, 35,102, 27, 16,232,120,228,171,187,142,140,228,241,236, 31, -255, 38, 20,241,128,120, 93,185,171,170, 46, 22,139, 88,225,174,111,109,253,200, 15, 63,251, 91,223,248,227,223,251,163,111,189, -118,227,230,167,158,123,126,123,107,253,254,238,222,235, 87,223, 60, 58, 57,238,251,188,177,190,121,254,252,185, 11, 91,219,211, -105, 63,157,206, 24,129, 25, 9, 40,229,110, 54,157, 38,233,186,233, 44,165, 46,229,220, 79,182,231,235,235, 90, 74, 25,202,201, -233,241, 80,135, 86,245,245,111,127,235, 93,143, 93, 42,101,200,235,155,107,243,181,217,164, 59, 58, 89,188,114,237,198,149,139, -151, 76,245,232,224,112, 99,115, 99,121,184, 39,147, 57, 79,167,186, 28,242,100,138,222, 82, 74,127,247,191,255,219,255,248,215, -127,147, 57, 61,220,223, 27, 90, 69,132,182, 82, 97,110,173,196, 20, 34,170,192,113, 57, 51,183,196, 60,233,242,233, 98,129, 72, - 79,189,235, 7,127,248, 35, 31,221, 62,183,209,245, 51, 18,249,157,127,246, 27,111,188,246,202,213,107,111, 14,195,112,253,238, - 91, 15, 15, 78,139,181,229,170,144,234, 11, 31,124,207,159,251,210,231,207,111,111, 62,184,127,127,178,185,189,191, 58, 93, 60, -188,255,206,119,255,192,206, 31,125,231,251,223,125,109,123, 99,109,243,220,102,238,114,164, 44, 42,214,113, 81,147,200,154, 69, -199, 26,212, 73, 88,171, 41,120,230,228, 96, 34,226, 26,114, 92,200, 97, 66, 7,204, 57, 1,178,187,147, 41, 50, 35,146, 89, 35, -238, 56,200,130,238,204,145,192,179,156,186,161, 22,100,154, 79, 59,179,120, 36, 9,178,171,170, 57, 8,163,131, 51,137,189, 13, -209,139,128, 61, 64,238,123, 83, 4,109, 30,140, 64,119, 98, 38, 32, 0, 30,133,238,161, 37,116, 35, 97, 7, 32,162, 40,136, 34, - 65,128, 33,213, 92,152,192, 65, 56, 53, 80, 34, 86, 45,110,209,218, 35, 68,200,146, 3, 56, 5, 30,127, 10, 2,120,234,165, 21, -165,208, 73,171,143, 50, 2, 64, 48,123, 27, 44, 67, 8, 14,134, 30,146, 63,118, 3, 51,141,241,135,129,159,145,100, 80,181,153, -130,116, 56,158,240,131, 75,235,216,154, 33,115, 52, 91, 17,188, 25, 1,145, 89,163, 51,253,171, 42,196,110,211,154, 5, 1,198, - 65, 9,216, 84, 57,146,215,142,200,140,146, 64, 27, 33, 37,162,166,213,194, 75, 5, 96, 77,213,148,137,133,146, 6, 6,153,101, - 44, 17, 57, 88,173, 65,169, 66,201, 96,142,110,220,101,107, 10,224, 90, 27, 9,121,115, 4, 71,150,216,177,155,153,170,145, 90, -164,143, 42, 53, 34, 6,215, 60,157,107,173,174,141,137,157, 40,165, 84, 22, 75, 71,101,230, 48,235,157,229, 44, 44, 88, 20,140, -160,110, 99, 86,149,178, 5, 80,137, 25, 60, 91, 45,204,172,181,102, 97, 7,226,177,125,137, 94, 13,163, 66,135,224,109, 60,251, -198, 56, 0,137,173,233, 56,244, 33,140, 0,110,107, 21, 73,146, 72,109,213, 90,147, 62,129, 59,139,184, 91,171,154, 66, 45, 87, -203,216,245,100,112,211,102,205, 96, 28,214,199,215, 47, 32, 2,156,152, 99,101, 24,145, 93, 51, 34,102, 18,107, 96,228,241, 91, - 65, 96, 7,109,102,208,138,197, 44,197, 89,209,136, 29, 60, 1, 33, 34,242,191,253,181,159, 12,202, 3,112, 60,116,199,146, 66, - 60,112,221,194,199, 21,138, 38, 0, 87, 10, 90, 19,130,155,186,213,113, 55,233,103, 22,148,113,186, 98, 99,155, 96, 28,144,194, -216, 31,119, 3, 60, 83, 3, 4,154, 17, 99,154,159,130,124,233,160, 65,173, 4, 66,114, 15,108, 11,140, 41,158,200,194,251,124, - 62,219,221,125,176,182, 54,163,120,153, 32, 56,208, 56, 96, 57,219,242,198,145, 16,157, 16, 1,213,198,162, 35, 33,134,112, 19, -199, 85, 65, 24,122,199, 63, 35,238, 10, 20,175, 42,139, 42, 4, 24,160, 5,146,231,237, 59, 8,156,129, 19, 60, 36, 49,132, 62, -242, 23,180,153, 3, 18, 19,148, 87,223,120,227, 51, 47,252,232,127,254, 55,254,171, 23, 62,249,185, 63,251,226,143,126,225,203, - 95,254,212, 71, 63,241,200,246,214,106,177,188,117,251,238,203,175,190,122,245,250,245, 59, 59,247, 79, 78, 22,195, 80, 12,125, - 24,134,227,211,211,227,227,163,227,227,189,163,163,253,211,163,189,211,197,137,213, 1,220, 89, 48, 75,126,223,199,159,187,119, -251,214,111,255,234, 47,205,166,179,115,151, 46,182,213,106,103,119,247,244,116,209,106, 61, 93, 13,139, 97,121, 97,123,163,148, -242,222,119,191,211, 83,143,146,235,233, 41, 96, 75,179,201,172,159,252,234, 47,253,195,255,249, 23,255,143,190,235,114,234, 87, -101, 89,181,182, 86, 75, 45, 67, 41,196, 24, 54,203,197,106,209,106,115, 83, 97, 34,226,156,152,192, 54, 54,230, 47,126,234,133, -143,124,240, 3,243,245,245,214,170,145,124,243,247,127,175, 44,235,239,125,243, 27,183,238,188,117,188, 92,238, 29, 31, 13,181, - 45, 78, 86, 87,182, 55,126,254,103,190,242,111,124,241, 69, 93,157, 62,184,123,239,202,211, 79,237,157, 30,190,244,167,223,157, - 76, 38,191,243, 7,127,114,124,111,239,252,230,124,146, 66, 53,133, 89,114, 48,172, 19,243, 25,132, 20,171, 58,161,199, 32,158, -153,137, 8,193, 83, 74, 76, 76, 36, 99, 43,221, 29,156, 82, 78, 49,206,205, 93,242,209,134,225,153,196, 65, 91,177, 46,167,216, -159, 3, 33, 18,215, 86,137, 8, 25,181,153, 48,139,196,176,193, 51, 11, 50,185, 65,102,113,143,239,102, 20,203, 13,153, 88, 68, -139, 34,141,171,203,176,253,197,208, 63, 10,218, 24, 95, 83,138,167, 58,138,164,216,178, 1, 70,205,149,180, 68, 61, 53, 0, 30, -227,212,146, 3, 32, 99,234,238,146, 50, 34,169,106,146, 28,233,158,148,187, 56,244,113,150, 17, 74, 12,222,245,189,182,166,214, -130, 99,192, 34, 66,168,205, 20, 65, 88, 40,177,171, 35, 64, 55,157,184,121,188, 3,152, 8, 29,204,205,221, 83, 18,119,143,227, -164,187,143,186, 55, 14,221, 21, 68,103,133,162,145,136, 56,254, 34, 88,252,140, 15,197, 20,169, 83,178, 86,199,126,187, 53, 2, -140,236, 16,184,230,174,115,247,213,106,129, 8,146,187, 56, 57,185,134,109, 3,213, 44,162, 71,196,136,194,232, 97,171, 7, 36, - 20, 73,173, 52, 14,254,101,107,227, 8,118,108,244, 90,252, 81,163,118, 2, 17, 1,180,213,113,171, 64, 68, 28,232, 39, 10, 66, -125,202, 2,238,218, 70,110,149,170, 82,252, 44,129,154, 41, 49, 50, 73, 60,114, 66,112,239,102,110, 17,218, 33,215, 70, 12, 68, - 84,106, 57, 61, 62, 93,155, 79, 82,223,161,191, 77,160, 68, 36, 50, 13,138, 35,217,255,199,212,155, 61, 89,150, 93,231,125,107, -218,231,156,123,111,206, 53,245, 80, 61,119,163,187,209, 3,128, 6,209,104, 16, 36, 8, 82, 32,130,146, 41, 75, 14,218, 82, 40, -252, 96, 61,248,143,112, 56,194,255,134,159, 28,122,176, 21,114,132, 77,209,164, 77,147, 65,145, 4,105,138, 34, 1, 18,108, 0, - 13,160,231,161,170,107,204,204,202,225,102,230,189,247,156,189,247, 90,203, 15,235,220,130,186, 30, 43, 58, 43,171,242,158,125, -214,254,214,247,253,190,224,178, 37,102, 78, 53, 23, 51, 67,162, 36,172, 21,106,205,196,152, 36,245,171, 30,220, 89, 24, 9, 93, -161,148,162,165, 50, 17,113,114,112,171, 97, 47, 68,140, 43,193,154,204, 70,140,204, 73,221, 97,237,245, 76, 44,134, 8,160,109, - 59,225, 36, 86, 45, 32,116, 36,225, 48, 3, 4, 55, 51, 64, 71,119,162, 68, 0,234,134,104, 72, 99, 45,162, 16, 85, 51,252,222, -255,249,111, 1, 49,152,253, 1,162, 9, 14,117, 44, 64,109,156,162,105,173,225, 88,180,216,196, 74,218,193,198, 8, 3, 32, 49, - 89, 29,139,225, 71,160, 12, 50, 34, 1,152,122, 37,143, 94, 4, 48, 55, 26,141,145, 35, 99,220, 29,144, 18,184,131,107, 56,103, - 12,198,181, 21, 34,135,117,114, 13, 81, 64,119,107, 82,115,247,246,173,141,237,203, 91, 27,201, 20,194, 78, 59,158,255, 33,180, - 3,152, 41, 35,226,248,185, 13,225,137,227, 61,195,200,145,126, 69,230,177,138, 21,105,141,204, 10,132,224, 56,159, 43, 16,199, - 31, 29, 3, 60,254, 98, 59,235, 22,188, 52, 32,105, 16, 43, 99,128, 93,199,118,175,205,217,204,251,197,141,251,244,194, 43,175, -212,220,183, 91,155,186, 26, 56,165,217,238, 46, 52, 9,150,171, 91,183, 62,255,240,253,247, 62,248,232,163, 79, 62,253,240,246, -237,219,224,222, 54,205,165,157,221,189, 75, 59,179,217,180,109, 82,219,180,137, 8,208,146, 52,210, 52,147,182, 61,191, 56,191, -241,201,103,167,171,213,107,207, 63, 55,228,161,154,175,150,171,119, 63,249,228,222,193,241,209,124, 14,136,223,124,227,181,182, -105,191,241,214,183, 94,124,238,249, 73, 71, 27,123,215,218,173,237,201,100,243,253, 31,253,224,127,248,159,254,199,219,135, 71, - 40, 50, 63, 61,203,185, 18, 33, 49,108,207, 54,174,238,238, 73,195,203,126,149,139,158,206,207,230, 23,231,134,222,164, 22, 29, -159,120,236,234,175,189,241,149,111,190,249,181,237,189, 75,192, 92,242,234,236,232, 32,211,198, 66,235,151,223,248,230,127,252, -139, 63,255, 95,255,221,191, 65,116,230,212, 16,125,251,107, 95,250,231,223,253,213,141,173,233,221,155,183, 73,232,116,190, 88, -106,249,249,207,223,155, 77,167,159,221,184,181, 51,155,238,206, 54,153, 49,165,134,145,187,110,210,164,142, 19,150, 82, 28,188, -154, 51,162,170, 73,147, 8,160,105, 36,168, 7,102,206,137, 8, 24, 17, 70, 14,164, 1, 18, 16, 81, 45,202, 66, 34,226, 96,110, -104,106, 44, 88,114, 14,111, 28,137,160,163,129, 51,177, 19, 32, 48,163,143,174, 47,140,254, 32, 18,110, 29, 52, 60, 35, 90, 20, - 8,220, 20, 20, 88, 88, 71, 22,180, 19, 53, 99,126, 58,145, 27,160,171, 90, 69, 96, 68, 86,173,238, 74,110, 16,118, 78,150,241, - 17, 32, 54, 45,190,102,159, 68,221, 89,240,226,221, 67,174,244,245,199, 44, 60, 17, 8, 30,228, 22, 64, 20,183,234,224,137,147, - 89,209,234,156,216,215,151,137,174,155,212, 82,188, 86, 12,162,128, 21,183, 74,148,136, 89,132,107,169,205,214, 54,186, 14,103, - 23,193,228, 41,101, 96, 17, 87,143,129,154,133,109,253,249, 37, 4, 34, 30,134, 65, 56, 1, 83,160, 40,205,130, 47, 24,101, 63, -236,235,108, 48, 17, 97,144,126, 17, 84,139,155, 18, 11, 16,228, 97,144,212,144,133,126, 43,128, 12,164, 94,235, 8,159, 51,119, -192, 96,240, 86,211,182,155,184,186,150,138, 76,230,170, 90,132,133,136,163,140,162,148,236,166, 72, 9, 64, 49, 37, 52,167,166, - 1,175,174,166,170,241,228,197, 90, 46, 28, 44,194, 82, 93, 53, 40,205, 97,188, 49,139, 26, 96, 51,183,216,214, 34,197,199, 37, - 10, 99,181,228, 32, 10,152,187,170, 49, 50, 49,105,169, 36, 76,192,195,176, 52,245,139,229,194,221,174, 94,218,171, 78, 65, 76, - 33, 70,140,251, 25, 9, 18,235,176,138,210,225,178, 42,146,152,132,221,131,137,225, 14,100, 53,107,173, 0,198,146,192, 71,114, -117,238, 7,100,148,196,238,241,186, 18,243,242, 80,230, 96, 68, 68, 12, 69, 43,162, 89,238,230,166,238, 22, 6, 1,110, 90, 98, - 25,155,223,173,130, 26, 49,170,153, 8,197, 5,119,220,118,198,220,236, 70,148,156,192, 84,213,140, 25,173,232,106,185, 18, 64, -240,232, 4, 64, 26,231,228,117, 1,147, 59, 34,136, 91, 5, 86,115, 32,160,166,237, 74, 94,169, 22, 66,102, 18,243, 10, 16, 37, -234,102, 10, 4, 49, 58,192,154, 61,109,163, 99, 50, 46, 59,230,107,124,196,248,172,122,192,155, 28, 16, 52, 80,199,235,234, 26, - 28,235,162, 2,220, 49,222, 13,192, 61, 26, 6,108,119,123,231,248,226,226,210,206,149, 65, 53,228,150,113, 98,139,107, 60, 96, -224,237,226,107,174,153,177, 20, 78, 27,163,145,104,191,134,101, 5,119,202,192, 28,200,137, 19, 0, 24, 0,163,243,195,247,184, -195,104, 46,122,200,234, 1, 15,178,166,105, 70,198,117,189, 13,128, 27,154, 93, 44, 87, 58, 12,127,240,135,127,252,223, 63,246, -228,222,181, 61, 48, 42,106,216,201,249,233,169, 86, 21,198,199,159,120,242,137,231,191,240,143, 16,250,163,131,147,243,197,221, -123,183,110,220,188,253,217, 71,239,223,189,115,251,167, 63,127,183, 47, 58,219,152,238,110,110,237,237,108,238,110,237,182,140, -203,213,162,148,114,249,210,229,179,219,183,127,242,222, 7,207, 60,254,152, 17,167,166,217,219,222,154,159, 93,172,134,238,108, -177,250,248,198,237, 55, 95,127,233,207,254,226, 79,135,161,183, 58, 72,106, 39, 27,155, 27, 93,243,123,191,255,187,251,167,103, -147,201,180,154, 49,209,227,215,174,236,108,109, 94,218,217,217,154,117,128, 80,171, 86,173,102,182,234,247, 46,150,171,139,101, -127,177,236,175, 63,114,245, 55,127,245, 87,190,244,234,203,237,100, 54,172,150,249, 98,245,224,193,225,253,251,247, 30,123,230, -165,183,190,254,173,247,223,253,249,211, 79, 61,245,242, 75,175,254,228,221,159,255,218,151,190,252,221,183, 94,125,233, 11,207, -156,156,236,159, 28,174, 38, 91,155, 63,123,247,253,199,175, 63,118,122,112,126,235,246,225,181,221,205,199,119,247,218,134, 29, - 16, 81, 8,153,133, 13,220, 80, 5,132,147,160, 91, 29, 42, 48, 10,176,171, 73,219, 0, 34, 33,171,153,169, 17,184, 75, 48,204, - 24,192, 57,174,205, 12,200, 2,174, 0,100,238,200,200, 68, 40, 44,241,241,138,110, 53,112, 38, 66, 70,244,224,227, 57, 58,186, -106, 85,109, 82, 2, 68,181, 1,145,137, 4,221,152, 73, 53, 3, 16,114,160,131, 29,132,131, 29, 31,152, 92, 55, 69, 64,173, 38, - 77, 19, 89, 39, 97,174, 22,126, 43, 90, 55,140,115,192,243, 71,230, 33, 58,128, 51,177,105,193, 17,193,228, 90, 11, 34,115, 35, -102, 6,110, 44,141,187, 18, 11, 11, 23,205, 14, 21, 28,164,105, 3,104,204, 45, 6, 2,132, 0, 89, 34, 79,148,144, 37,182,138, - 72, 84,149,153,197, 93, 75, 85, 4,239, 79,142, 48, 46,153,132, 64,158, 82, 3, 0,158, 32, 86,196, 62, 14, 76,152, 82,210, 82, -106,173, 73,196, 1, 92, 43, 34, 19,187, 23,139,112,144, 3,148, 60,116,147,137,186,187,123,209,146,226,122, 75, 17, 29, 97,112, - 87,133,182,233, 76, 77,213,136, 83,188,165,116, 40, 36,140,163,241, 20, 3, 34, 29,134, 63, 55, 80,171, 36, 20,171, 2,228,134, -136, 28, 64,173,198,218, 54,110, 12, 14,196,142, 14,102,181,152,213,117, 28, 29,152, 57, 54,203, 4,164,238,213,106,173,133,136, - 92, 29, 34,193,134,228, 53,115, 34,100, 2, 68,175,185,150,156, 36,141, 7,101,172, 3,181,154, 25, 32,172,111,134,142,140,238, - 94, 44, 35, 51,184, 14,185,110,206,218, 96,187, 3,161,170,150,193, 83, 51, 58,154, 64, 1, 89, 24, 92, 75,149, 36, 8,144, 75, -145, 17, 22,133,170, 53,210, 21, 0, 68, 68,238, 24,141, 95,156, 72,213,180, 26, 11, 2,160,179, 65, 37,112,179,234,220, 16,178, -120, 85, 18,202, 67, 17,118, 70, 82, 71, 55, 80,173, 49, 55,128,187, 89, 89,167, 70, 41, 16,208,142,152,139, 65, 92,244,251,123, - 0, 0, 32, 0, 73, 68, 65, 84, 85, 16,144,212,154, 41,130, 3,178,170,142, 53,216, 44, 14,170,181,198, 41, 43,163, 80, 49, 54, -122, 96,208, 51, 16,137,193,117,116,143, 64, 44, 98, 20, 32,175, 6, 3,224,224,106,140,110, 6, 66,148,167, 94,122,246,232,254, -254,197,201, 41,196, 90, 6,217,189,128,213,248, 93, 0, 55,119, 33,212, 81, 94, 71, 8, 87,127,116, 66, 5,191,192, 28, 24, 71, -121,124, 92,118,233,200,234, 27, 15,254, 17,140,103,174,237,164,237,143,231,232,177, 45, 3,246, 16,243, 71, 33, 31,220, 57,234, -113, 41, 44,237,182,214,144,192, 29, 25,208, 70,192,177,197,197, 5,209, 84, 61,172, 67,230, 70, 76,100, 0, 64, 15, 21,195,181, -130, 19,103,189,141,104,181, 53,157,202,171, 59, 35,241,184, 64,246, 16,160,220,223,123,255,221, 15, 62,248,248,141,141, 87, 64, - 85,152,128,192, 74,129,106,142,188, 58, 59, 39,233,221,212,129,246,118,118,247,118,247, 94,127,245, 43,192,191, 93,170, 61,184, -127,255,206,135, 63,251,135,119,222,249,233,187, 31,124,252,233,141,201,228,206, 80,244,210,238,229,221,205,141,249,114,104,219, -110,255,232,206,116,214,238,109,108, 59,209,222,246,206,131,227,211,161,148,101, 94,221, 59, 56, 58, 57, 91, 92,218,217, 94,172, - 22, 47,126,225,229,227,163, 7,139,243,147,211,253,229,179,207, 62, 55,157,110,150, 92,150,253,106,119,123,231,185,103,158,220, -156,117, 94,243,233,217,249,173, 59,119,247,143, 78,246, 54,102,109, 55, 81,211,147,243,243,154,203,203, 47, 60,247,242, 23, 94, -218,187,186, 71, 32,231,167, 39,243,249,209,225,225,131,131,163,227,251,199,135,127,244,215,223,255,151, 67,189,122,237,250,209, -209,193,191,252,111,254,219,139,255,229,127,254,205, 55, 95,252,194, 11, 79,222,186,249,233,229,107, 87,101, 99,243, 79,254,195, -247,106,191, 80,240,183,127,242,222,222,214,198,172,155, 16, 0, 97, 34, 6, 96, 34, 1,150,134, 56, 26, 54, 80,107,149, 70, 90, - 67, 35,144,196, 41, 49, 16, 49, 38,247,202,204, 30, 81,205, 0,224,226,250, 66,235,166, 3,160,152, 35,152, 43, 11, 58,128, 43, -146, 25,139,152, 42, 33, 57, 33, 17,137,136,153,229, 82,201, 92,132, 75, 45,132, 40,156,108,252, 0, 56,161, 59, 84, 66, 10,103, - 5, 26, 35, 65,214,154, 72,128, 88,205,153, 48,181,169, 86,139, 38, 16, 23, 6, 68, 32, 79,148,220,130,132,238,174,154,218, 6, - 17,115, 45, 68, 6, 64,194, 2,204, 96, 26, 48, 39,225,196, 34,160,213,213, 48, 49, 35, 3, 49,228,146,218, 86, 77, 67,110, 41, - 81,204, 4,201, 37,248,169, 42,210,150, 97, 8,247, 61, 32,113,219,160,249,120,251, 0,142, 41, 39, 97,114, 51,171,138,204, 14, - 68,173,160, 65, 56,193,199, 34,107, 48,112,151,166,209, 82, 25, 81,154,206,181, 6,214,145, 16,221, 12, 71,132, 50,154,186,176, - 16,249, 80, 7,116,145,148,170, 90,112,229, 18, 39, 45,153,155, 54,170,249, 34, 13, 32,228, 80, 3,233, 21,223,175,187, 43,183, -201, 21,107,237, 83,219, 70,164, 68,154, 73,156,224,241,164,155, 59, 19, 99, 98, 0,179, 92,194,202, 15, 0,169,109,205,212, 29, - 74,173,106, 5,137,192,141,153, 85, 13, 32, 14, 40, 77,169, 1,130, 90, 98, 17, 33, 73,216,180, 26,154,235, 90,116,137,100,111, - 84,241, 50, 11,242, 80, 74,180, 5, 55, 77,155,115, 30,245,166,234, 36, 76, 78,106, 5, 3, 26, 42,220, 52,221,241,209, 73, 25, -122,217,232,214, 86, 35, 8, 51,103, 41,165,109,219, 64,218, 49, 49,184, 73,211,230,156,173, 90,155, 18, 32, 91, 20,234, 26, 0, - 99,234, 58,173,197,170, 73, 74, 76, 28, 41, 48,138,192,141,123, 53,147,113, 76, 5,138,227, 94,195, 87,128, 77,211,128,187,153, - 17, 1, 10, 43,132, 15, 42, 94, 21,129,221, 53, 34,230,182,201, 67, 14,219, 24, 51, 69,106, 86, 49, 58,204,200, 1, 24,209,136, -205, 28,129,148, 72,208, 7,173,252,175,255,197,239, 0,211,152, 22,197, 40,239,137,252,207, 72, 20, 48,112, 2,139,104, 49, 32, - 32,104,244,123, 69,163, 49,162, 1,225,116,107, 99,117,113, 81,134, 12,235, 54, 15, 0, 36, 74, 30, 39, 30, 18, 32, 71,149, 19, -141,253, 79,164,102,142, 30,209,159, 32, 34,132, 49,115,116,203,140, 49,211,135, 70,118, 71, 4, 70,138, 49, 90, 26, 94,204,207, -157,100,218,166, 88,164, 32, 71,205, 8, 34,193,120, 73, 12, 23,206,120, 48,115,136, 94,184, 6,144, 69,253, 50,132,137,127,116, -144, 5,136,201, 70,171,205,250, 18,243,139,133, 47, 2,128,193,184, 24,142,215,144, 1, 17,137, 32, 33,150,248,184, 3, 34,138, -180,101,181,252,189, 63,250,179,141,217,244,139, 47,190,156,102, 27,205,108,106,165,172,161, 56, 44,109, 75, 76, 62, 82,250, 44, -231,222, 74, 6,103, 93,173, 58,150,167, 95,122,245,173,239,124,231,159,126,247,183,158,188,122,233,133,167,159,190, 24,234,205, - 91,159,223,188,123,239,228,244,120, 85,202,208, 15,253,170,223,158, 78,221, 29, 72, 0,109,185, 88,170,249,114, 40,243,179,249, -107, 47,190,112,116,124,242,196,245, 39, 38,211,174,233,218, 82, 43,131, 62,245,196,227, 47,190,244,236, 87, 95,127,253,165,231, -158,106, 18, 31, 29, 29, 30, 62, 56, 62, 61, 59, 35,192, 47, 62,247,220, 83,215,175,129,219,124, 62,103,162,175,126,229,181,151, -158,123,113,115,119,135,128,143,246,239,220,189,115,235,214,157,123,183,246,247,239,236,239,127,242,249,221, 91,247,247,191,254, -213, 55, 31,125,252,241,239,125,239, 79,158,186,254,244,116,186, 49,191,255,241, 35,123, 27,171,161,220,188,125,247,251,255,240, -246,139, 79, 61,250,119,111,191,123,247,238,254,181,141,217,230,172, 19,100, 2, 70, 22,230,196, 66,179,110,218,182,173, 69,176, - 12,169,147,177, 45,152,137,153, 8,204,153, 24, 99,225,204,236, 16,185,209,148,162,132, 19,130,136, 36,230,227, 47, 33, 41,197, -220, 93,136,128,208, 17,144, 88, 1,136,198,107,187,131,119, 41,185,234,144, 7, 51, 72,146, 20, 52,165, 54, 4,127,117, 75,210, -134, 14,209, 36, 42,181,230, 90, 36,138,120,172,144, 8, 16,148, 90,226, 94, 63,106,211,110, 68,108,181,144, 52,137, 17, 0, 57, - 73,184, 38, 9, 49, 49,115, 26,255, 92,112, 48,171, 44,140,200,102,165,228,210,180, 83, 2,172,246,240,204, 53, 38, 97, 2, 53, -195,145,154,142, 14, 94,189,180, 77, 87,107, 86, 48,102, 1,196, 16,184,221,109,212,166,205, 1, 42, 50,147, 48, 49, 25,232,200, -104, 10, 65,149,200, 32, 56, 53,228,224, 6,128,106,156,146,176,184, 42, 16, 49,146,175, 87, 94,163, 64,132, 35,226,219,204, 24, -121, 4,175, 3,112, 18, 68,180, 81,119, 4, 55,101, 78, 68, 80,171,154,107,132,245,144, 27, 51, 11,153,165,150,130, 8, 41, 53, - 41,117,146, 18,177,172, 22, 23, 97,202, 48,173,210,180, 81,218,227,102,174,217,199, 2,136, 58,210, 52, 71,155,156, 69, 86, 9, -129, 0,101,141, 26, 4,198,228,136,170,217,209,171, 86, 26,229,221, 17, 68, 59,154,250,133,221, 0,193, 83,147,130,101,130,225, - 7, 49, 47,121, 32, 33,102,114,119, 73, 9,145,107, 41, 57, 23,119,107,186, 14,144,181,234,233,217,121, 39, 52,153,205, 0, 80, -154,198,212, 21,128, 16, 83, 74,102,166,213,208,163, 62,139, 99, 67,205,140, 85, 85,107,173,181,198,242, 88,146,184, 1, 2,113, - 98, 32, 28,135,205,248,201,169,154, 85, 22,138,221, 28, 18, 19,178,170, 66,236, 62,152, 3,223, 54,174, 15, 1,153, 41, 53,201, - 77, 9, 49, 10,168, 83, 34, 96, 41,125,209, 90, 25, 9,137,204,107,232,207,225, 37,115, 55,102,174,213,115,206,104,198, 18,199, - 23,149, 82,248,191,251, 23,191, 3,224, 28,105,145, 96,177, 1, 19,137,123,229,135,101, 77,177,175,199, 24, 10,204,215, 35,188, -187,134, 65,241,244,240, 65,201, 89, 34, 76, 28,213, 31, 78,227, 83, 17, 53,101,128,142,196,204,227,138,213,171,240, 90,133,143, -190, 65,138,159,127, 88,105,198, 31,224,216,143, 8, 54,250, 20, 31,222,183, 1, 4,225,108,209, 95,217,221,169,106,163,253, 43, - 8,108, 48,166, 83, 31,190, 26,214,225,218,113,147, 7, 4, 20, 29, 81,163,129,107,196,136, 83,112, 8,145,214,255,215, 72, 61, -255,207, 92,240,107, 95, 79,148, 50,192,136, 99, 30,205,185, 4,235,181,130,139, 72, 93,156,255,193,159,252,229,253,253,131,215, - 95,251,202, 19, 79, 61,237, 96, 22,128,198,112,164,153,186, 86,115, 3, 45, 72, 13, 11, 73,219,105, 84,163,205,102,139, 97,249, -217,207,127,254,217,167, 31,191,240,234, 27,175,126,237,173, 95,255,173,223,254,175,126,243,187,223,254,245,111, 63,251,200, 85, -103, 17,150,123, 7,247,139,215,205,217, 12,137,102,221,100, 53, 12,125, 95, 86,195,112, 60, 63,107, 89, 54,166,221,103, 55, 63, -237, 23,103,195,197,217,238,238,246,245, 39,174,111,110,110, 47, 23,139,155, 55,111,124,248,241, 71,247,247,247,135, 85,143,136, - 77, 74,179,233,228,246,225,254,223,189,243,238,135,159,221,188,186,119,233,245, 87,190,248,196,245,235, 41,137,214,122,239,246, -173, 27,183,110,222,188,117,247,206,225,131,123, 15, 14, 62,187,187, 63,191, 88,129,251,175,188,245,214,213,107, 79,124,255, 63, -253, 85,206,171, 87,191,242,198,189,195,147,147,253,123,105,107,230,102,247,238, 31,124,250,241,231,179,212, 92,221,222,110, 83, - 23,194, 2, 9,165, 70,218,182,221,232,102, 1,144,106,154,212, 38,137,102, 48, 98, 36,226,182,109, 25,133,133,185,145,168,149, - 8,248, 84,172,187,181, 42, 51, 55,209, 53,170, 21, 9,132,133,137, 12, 92, 18,197, 14,159,144,152, 4, 69, 90, 22, 38,138,162, - 75, 68,172,165, 6, 42, 81, 82, 66,162,166, 73,128, 81, 65,229, 76,132,232, 36,204, 72,170,138,177, 41, 5, 39, 20,150, 20,184, -193,200, 72,120,141, 1,130,146, 52,102, 70, 12,113,193, 67,230,184, 85,172,171, 10, 16,204,136, 4,192,137, 88,132,133, 57, 70, -230,201,100,106, 90,221, 97, 93,230, 14, 44, 4,128,185,150, 70,154,177,244, 44,168,208,128, 57,231,240, 92,147, 8,145,132, 43, - 49,214,161, 16, 31, 51, 7, 55, 51, 85, 55, 67, 98,112, 67, 87,100, 66, 22, 87,139,180,163, 19,130, 3, 49, 17,179,175, 39,167, - 68, 88,171,141,237,114, 50, 62, 21,196, 50,150,237, 18, 18,203,168,113, 17,141,117,215,200, 68,228,170, 68,205,136,254, 39, 16, -110,214,174,188,134, 37, 89,205, 16,166,238,166,113, 5,179, 98,102,110,150, 38, 77,252, 40,153,217,193, 89, 82,108,176, 97,109, -122,102,110, 12, 44, 42,125,106,169,200, 8,107,239, 54,104,101,102, 2, 66,162,106,149,137, 72, 18, 35, 73, 18,119, 71, 71,226, -168, 80,164,120, 32, 71, 88, 97,148,196, 1,160,224,168,241, 18, 17,179,176,152, 71,174, 62,220, 56,218, 78, 59, 34, 86, 53,215, - 90,134,220, 15,195,108, 54,225,148,220,141, 4,133,132, 89, 68,162,147,207, 89,136,132, 49, 0, 67, 0, 66, 92,205,173, 42,160, - 71,212,107, 4, 50, 3,144,112,148, 20, 33, 11,160,137,196, 59, 50, 20, 93,148,166,197,241,123,240,181, 93,195, 61, 42,109, 17, -128,176,105,146, 57,130,187,230, 16,171, 67,190,114,119,116,211, 36, 76, 76,170,102,181, 68, 69,109, 8,132, 44, 98,230,165,148, - 54,113,211, 74,108, 61, 29, 44, 9, 13,165, 8, 6,163, 25,108,124,169, 99, 12,235,128,196,160, 6, 8, 76, 2,192, 14, 15, 39, -111, 26,173,132,235,109, 99, 68, 4, 99,201, 73, 68,232,236,160,134, 99,137,135,233, 56, 60, 3,120,164,176,105, 77,181,199, 0, - 90,140,139,166, 88, 20,248,248, 66, 65,128,245, 86,127,124,103,196, 15,222, 60, 10,116,102, 27,155,251,135,183,251,154,133, 81, - 3,252,141,163, 84,191,198, 12,208,232,118, 7,196, 16, 15,215,189, 34, 96,190,166, 91,142,160, 40,136,124,214,232, 60, 26, 43, -104,215, 71, 60,172,109,249,136,107,105,117,157,132, 25, 75, 78,124,188,167,140,105,103,100, 26,242, 10, 17, 87, 67,255,127,252, -238,255,254,226,211, 79,209,214, 54, 0,212, 33, 55,179, 41,152,186,186,107,193,166, 3, 43, 78, 13, 24,214,190,119,173,221,246, -222,205, 79,222,255,252,195, 15,190,240,218, 87,158,126,241, 69,116, 60, 61, 62,182, 62, 83, 35, 59,179,173, 55,127,249, 55,126, -229, 55,126, 19, 17,255,175,127,247,191,253,219,223,255,253,173,141,173,157,205, 45, 98,222,219,218,186,183,127,240,200,165,157, - 55,191,243,173, 23,158,121,122,210,180,205,116,186,123,105,215,115,222, 63, 60,120,247,230,173,227,227, 7,234, 54,235,166, 59, - 59,219,128, 50, 44,207,151,125,127,112, 60,191,123,127,191,106,221,217,218,126,233,153,167, 95,126,225,197,203, 87, 47,245,125, -127,126,124,124,120,116,124,251,238,221,123,199, 71,243,139,213,209,233,233,217, 98, 85,213,182,187, 4,147,102,123,107,107,239, -242,229,183,190,250,181, 31,255,252, 71, 87, 62,127,228,249,151,223,184,243,249,199, 31,126,120,227,213,151,159,157,144,236,237, -236,204, 38,157,130,245,171, 85, 41, 58,237, 90,146,132,192,196,108,170,146, 18, 68, 87,167, 97,173, 53, 9,143,155,109,194, 64, -134,153,234, 72,175, 83, 23, 9,254, 4, 54,147,198,170,169, 26,194,216, 86,170, 69,137, 81,132,115,174,130,192,204,213, 10, 66, - 66,117,133,113, 71,110, 6,106,230,128,210,112,205, 40,140, 64,148, 36, 85, 85, 0,173, 96,140, 66, 72, 85, 11,115,211,182,147, - 82, 11,141, 97, 33,119, 71,179,232,175, 71,245, 98, 0,157,180, 86,205,216, 56,181,163,251,203, 11,179,152,213,232,138, 67, 67, -145,164,170,241,123,196,104, 85, 75, 45, 76, 34, 44,165, 84, 36,228,160,116, 9,187,123, 24, 31,133,197,204, 29,161,105, 83,213, - 98,102,132,136,196, 14,222, 54, 83, 5,245,106,225,144,171,170,137,153, 89,204,117, 93, 58, 8, 76, 80, 53, 74,143,185,214, 98, - 1,116, 84, 71, 22, 0, 35,145,144, 7, 80,216,181,186,131,134, 58, 73, 2, 60,162, 63,136,193, 67,183,197,136,156, 84, 22, 50, -163,192, 8, 6, 70,152,137,169,237,134,146, 17,136, 57, 17, 51, 32,155, 85, 66, 48,181,120,138,161,196, 10, 84, 13,204,171, 17, - 59, 37, 65, 96,228,240,150, 97,173, 89,109, 0,160,104, 67,197,113, 8, 53,116, 52,116,115,151, 70,220,204,214, 81,116,105,187, -104, 45,119,215,200,129,131,198, 83, 27, 78,188,216, 6, 39, 71, 55,205, 68, 72,192, 81,224,178,222,196,114,117,117, 0,173,181, -105, 4, 17,133, 69,173, 56, 96,211, 38, 34,210,170,174,202,194, 78,120,126,186, 74,132,179,217,180,239, 11,153,233, 80,129, 93, -205, 71,249,138,198, 47, 28, 49,125, 0, 46,185, 7, 87,162,113,126,134,112, 19, 6,222, 38, 10,179,194,192,231, 88,173, 34, 96, - 74, 77, 84,227,104,173, 34, 34,210, 84,172,161,143, 59, 82,180,117,135,244, 87, 77, 1,157, 24, 17, 36,212, 39,213, 74,148, 72, - 8, 70,235, 45, 69,105, 98, 72, 10, 34,160,230, 53, 23, 66, 76,146,140, 73,163, 48, 18,209, 69, 74, 41,170, 22,229, 24, 1,134, - 76,235,253,166,153, 23,178, 17,219, 11, 8, 96,133, 25,145,192,107,104, 30,177,213, 15, 82,123,144, 57, 35, 96,229,228,190,246, - 56, 58, 2, 34, 51, 26,185, 87,136,162, 26, 48,114, 5, 39, 13,108,204, 47,118,167, 30,228,130,241,237, 30,112,190, 17, 98, 9, - 99,187,196,104, 57,247,200,227,164,212, 52,173,156,158,247,151,183,167, 2, 99, 27,153,227,218,239,131, 0, 96, 40,145,190,131, -240,138,174, 51,169, 15,145, 8, 16,107, 85,164, 4, 96,241, 19, 2, 8,204,102, 3, 17,106, 29,101,122, 30, 59,139,226,151,195, -104,160,140,175,129,191, 40,175,124,152,140,202,195,162,207,101,103, 99,235,251,111,255,253,123,159,124,244,229,183,190, 89, 42, - 53,210,160, 87, 7, 3, 78,216,180,132, 6,188, 1,230,117,117, 65,210,154,241,219,127,245,103,117, 24,190,246,205, 95, 17, 73, -101,121, 65,169, 67, 53, 36,196, 90,250,229,162,217,220, 41,231,231,142,242,155,255,228,191,252,147,255,248,215,247,246, 15, 4, -169,107,186,231, 94,120,238,219,223,254,149,107,143, 60, 74, 8,121, 24,212,252,236,248,248,231, 63,253,241,225,254, 97,173,182, -183,189,117,105,119,103, 99, 99,179,152,158,156,158,156, 47, 78,115,191,186,127,116,188,127,124,122,101,119,251,217, 71, 30,191, -121,112,255,177, 71,175, 60,242,200,229,163,147,147,253, 59,119, 78,151,139,207,110,223,187,127,120,152,107, 57,154, 47,122, 85, - 66,220,217,152,136,240, 70, 55,121,252,250, 83,117,181,186, 40,250,246, 79,127, 74, 77,123,253,209,195,103,158,126,225, 15,254, -246,255,251,222,247,127,148,152,209,109, 99,218, 93,217,217,218,106, 91,132,170, 73,118,184,217,156, 78,185,109, 4, 73, 68,184, -149,146, 43, 34,153, 89,173, 53,110, 63,193,185,141,135, 83,205, 69, 82,120,183,137,201,181,142,159, 31,128,212, 80,233,189, 90, - 13,196, 41,160,165,134, 45, 91,223,231,168, 91,226, 16,102,208, 9,172, 47,165,225, 20,142,238,212,140, 98,111,173, 35,230,133, - 57, 5, 14,101,194,162,224, 21,148,132,208, 88,189, 70,147, 92, 34, 46, 57, 27, 0, 75,195,113, 50, 10, 43, 80, 39,104, 70,134, -149, 41,153, 23, 38, 49, 53,103,168,150,107, 44,105, 29,137,164, 12,153, 25,153, 83, 76, 0, 44,109, 41, 61, 16,136,176, 35, 10, -167,162, 67, 0,187,172, 26, 39,214, 90, 17, 80, 72,220,172,145, 6, 16, 86,195, 50, 81,130,128,224, 56, 17,170,106, 45,181, 0, -142, 0,250,170,165,102,107,187, 41,144,106,209,212, 54, 96, 0,234, 96,174,164, 12, 72,137,205, 42, 98,138,200,126, 44,129, 97, -244, 60, 56, 17, 22,211,177,155,211,220, 67,107, 2, 43,171, 33,132, 32,115,147,212, 2,146,106,169,165,162, 41, 50, 17,115, 55, -219,204,253,146,169, 85, 83,135,202,132,230,238, 9,192,200,172, 48,146,113, 48,138,141,132, 72, 82, 89,245, 0, 54,246, 72, 69, -114, 7, 89,132,242,144, 29, 92,213,164, 33, 6, 6, 83, 13,142, 46, 32, 33,230,220,143,167, 30,162, 36,177,234, 8,128, 99,250, -193, 57, 53,106, 21,192,220,106,100,233,205, 76,173, 74,106, 29,176,150,149,128, 51,146,130, 55, 77, 34, 4, 51,173,106, 77,106, - 88,176, 20, 11, 93,187, 2,152,218, 80, 74, 45,101, 99,214,154, 65,211,165, 50, 12, 57,175,144, 18, 39, 17, 33, 38, 30,138,145, - 16, 53,108, 10, 94, 43, 0, 66, 29,101, 20,205, 67, 74, 41,218, 80, 29, 42, 19, 7,235, 66,171, 34, 25,161, 32, 73, 4,223,250, - 85, 38, 66,100, 39, 0,115, 71, 97, 83, 5,168,132,194,141,128,197,248,111, 81, 33,195,210,228,190,215, 90,153,176,145, 68,212, -104,169,200, 24, 31,110, 48, 21, 38,117,119,245,229, 34,167,196, 28,101,232,165, 38, 35, 2, 52,192,162, 86, 75, 77,232, 73,146, -180,205, 76,107,209,162,160, 0,232,230, 69,181, 0,130,161, 71,210,223,213,144,216, 29, 92, 67,162, 9,127, 97,180,106, 27, 0, - 27, 56,184, 11, 35, 84, 11,223, 77,200, 44, 10, 42, 81,105, 98, 17,195,117, 7, 69, 55, 7, 35, 88,163, 16, 70,131, 74,176,175, - 33, 98,213,244,208, 98,233, 1, 70, 24,131,173,104,225, 34, 10,189,196,247,182, 55,206,151,231,182,211,185,133,219,199, 9, 5, -240, 23,150, 27, 87, 95, 59,103,128,208, 13,100,220,210, 91,133,177,100,210,136, 25, 80, 71,211,141, 43, 97,227,107,169,101, 77, - 56,160,241, 74,176,126,111,174,191, 97, 0, 89,127,107,241,174, 26,213, 38, 71, 18,173,168, 17,210, 51,253,163, 63,254,195, 47, -190,250, 58, 8,115, 74,142, 9,149,205, 12,189, 20,179,201,116,230,224, 66,219, 55, 62,122,111,255,254,189,235,207,191,240,196, - 83, 79,215,162,165, 95,185,129, 14, 25, 72, 40, 81,189,152,179, 32, 49,152, 82,233, 87,219, 59,151,126,231,159,254, 23,255,233, -239,127,248,230, 87,223,184,254,216,227,109,215,230,161,191, 56,155,207,207,230,251,119,247,143, 79,142, 8,113, 50,153, 92,127, -244, 49, 64, 27,114,206,197,110,124,126, 59,123,153, 54,147,249,252,226,228,124,126,122,122,118,105,107, 99, 99,210,126,124,251, -198,201,249,197,207,223,253,120,181,234,239,222,219, 31,114,190,125,120,120,112,124,154,115,237,179, 86,179,170,229,202,238,222, -238,172,123,229,197, 23, 95,121,225,249,159,188,253,125,106,102, 55,111,124,112,105,107,122,120,247,243,249,252,228,189, 15,222, -223,127,240,128, 29, 86, 67, 65,180, 69,174,183,142,206, 86,195, 80,114, 5,128, 54, 53, 41, 81, 43, 50,105, 91, 68,106, 19,109, -109,205,118,167,155,179, 73, 59,105,187,166,147,205,182,107, 82,211,181,210, 54,141, 8,139, 8, 57, 0,162,164, 89, 4,163,135, -146,133,152, 69, 76, 77, 26,106, 82, 91,135,106,102,170,149,141,137,169, 75,173,169, 18, 2,160, 27,120, 85, 11, 16,149, 51, 8, - 18, 33, 41, 56,141, 67,125, 33, 70, 6,209, 40, 58, 0, 85, 15, 34, 54, 33, 71, 10, 28,165,101, 85,173,230, 24,220,149, 32,243, - 73, 18, 22, 5,115, 71,119,101, 30, 45,131,238,192,169, 29,103, 5, 51,143,166, 62,115, 17, 98, 73,181,148, 53,203, 80, 83,211, - 50,113,213,194,130, 53, 15,210, 74,173,138, 65,136, 9,241,144, 9, 33, 26,227,208,204, 26, 78,238, 24,193, 22, 7,168, 53,243, -232, 88, 70, 52, 71,166, 20,211,171, 87,113, 6, 97,213, 12,174,224, 64, 34, 36,108,213,106, 9, 28, 13, 80,113, 7, 35, 73,234, -142, 86, 0,153, 72,192,189,145,209,255,102, 90,165,107, 77, 43, 0,178,164, 24,130, 9, 73, 75, 94,183,194,146, 51, 18,145,230, -218,251,185,170, 18, 37, 78, 9,133, 76,139, 52, 93, 85, 19, 80,173,108, 86, 37, 52, 88,136,147,174,144,144, 27,104,201,129, 90, - 0, 64, 7, 27, 86, 53, 30, 50, 18,212, 98, 72,142,136, 66, 9,192,204, 93,205, 24, 17, 16,152,211,184,154,116, 37, 98, 87, 19, - 22, 7, 41,185,231, 17,233, 28, 40,158, 74, 76, 76, 77,205, 3, 34, 54, 50, 81,203,177,215, 41,125,102,102, 7,107,186, 9,142, -107,210, 56, 40,136,193,156, 64,213, 17,112, 58,155,177, 72, 46, 37,151,234,234,142, 67, 2,103, 17, 16,105,153,209,173,214,177, - 85, 6, 28,168, 33, 51, 23, 7,132,198,180,162, 1, 73, 67,216, 1, 90, 52,127,177, 16, 2, 25, 56, 81, 2, 80, 51, 77,141,132, -158,150,173,146, 27, 99,147, 36,185,179,154, 98, 44, 37, 29,204, 99,147, 64, 53,103, 34,108,155, 38, 18, 12, 6, 70, 66,148, 4, - 12, 29,171,116,162, 69,189, 42, 50, 8,138,187,155, 43, 50,183, 56, 54,183,212, 92, 0, 52, 58,138, 77, 85,158,127,233,139, 49, -128,214, 90,115, 63,148, 92,106, 41,170,165,148, 92,251, 85,169,131, 87, 51, 0, 43,213, 64,209, 13,121,196, 82,155, 27, 97,194, -113,150,135, 90, 43,140,146,134,173, 93,227, 15,115,168,241, 87, 15,101,196,127, 65,240, 12, 49,159,201,109,148,155,198, 98,176, -181,168, 2,107, 18, 24, 34, 35, 4,218, 24,209, 13,192, 85,117, 58,157, 29,205, 23, 90,214,134,122, 28,215, 79, 65, 58,136,216, - 42, 33,129, 58, 80, 88,100,195, 92, 83,215,139,211, 49,180, 69,107,193, 63,136,106,176, 86,104,104, 4, 20,143, 71, 58, 50, 6, - 16, 58, 62, 31, 64, 15,143,246,177,136,112,252, 62,205, 67, 69, 13,119,125, 59,105,126,252,179,159,124,244,254,135, 47,190,246, -138,170,134,198,136, 68,166, 5,212,164,225,249,233,201, 79,254,230,111, 55,246,118,191,244,141, 95, 78,238,171,179,211,104, 72, -112, 85,119, 69,200,165,100, 17,105, 54,102,104,104,208,148,213,241,173,179,249, 19, 79, 61,253, 95, 95,191,174, 53, 95, 92, 28, -223,189,117,118,231,222,189,179,243, 83,102,222,217,220,122,226,250,163,181,148,210,231,213, 48,148, 82,220,225,236,236,220,172, -108,110,110, 30, 60, 56, 57,189, 56, 3,180,199,175, 93,117, 45,203,229,176, 88, 13,181,232,207, 62,249,236,211,187,247,192,245, -228,108,185, 26,250,234, 6,136, 67, 46, 69,117,119,115,250,252, 19,143,254,250, 91,223, 48,215, 63,252,139,191,184,115,255, 96, -107,218,117, 93,218,156, 77,143, 78, 47,206,238, 30, 77,218,201,238,246,206,238,214, 38,137,144, 27, 34, 95, 12,139,154,181, 77, -120,239,224,193,253,163,163,249,225,121, 45,198,204,204,152,171, 51,115,236, 81,188, 22, 18,153,117,147,157,205,141,182, 21,116, -108,147, 8, 11, 19,150,154,103, 93,218,152, 78,183, 55, 54, 68,210,172,107,187,166,153,164,102, 99, 99, 42, 73,186,212, 36,102, - 0,157,205,218, 36, 9,220, 9,176, 84, 37, 34, 5,155,177, 88,227, 53, 2, 65, 66, 90,149,147,196, 11, 33,168, 2, 85, 51,136, -112, 43,230, 30,233, 18,116,140, 18, 6, 83,215, 26,133, 54,192,136, 85, 29, 67,114, 36,140, 53,146,185, 17, 71,135, 42,131, 83, - 84,210,128,121,146, 86,107,213, 92, 35, 10,231,110,181, 14, 0, 20,254, 28, 73,162,213,134, 50, 8,203,136,210, 5,110, 90,169, -121,136,207,161,130, 53,212, 72, 74, 37, 15, 62, 82,180, 13, 64,145, 24, 29,212, 44, 49,219, 24, 32,119, 36,134, 17,231,181,214, - 34,221, 8,152,154,228,163,157, 6,184, 73, 16, 88, 47, 0,108, 88, 48, 57,130, 85,167,212,152, 6, 48,155, 76, 21, 12,144,145, - 83,170,181, 82,164,100, 34,135,133, 80, 45, 71,215,105,192,206,195,153, 67, 8,110,150,186, 41, 2,154, 22, 8, 72, 21,113,215, -205, 74, 94,152,214,168, 45,140, 76,144,155, 70, 39,137, 99,212,199,178, 59,152, 42, 10,135,247, 27,192,139, 2,163, 17, 38, 78, -141,105, 5,144,128, 77,114, 98,175,106, 86,163,157,139, 92, 66,251, 86, 85, 36,105, 83, 91,204, 92,115, 69, 68, 64,110,164,230, - 2,164, 35,194,193,170, 72, 51, 86, 86,116,100,230, 4, 0,106, 49, 74,131,141, 11, 19, 74, 92, 11, 46,135, 60,153,118,196, 98, -165,138, 72, 55,221,208, 90,180, 22, 34,138,178,173,209,191, 29, 71, 10,160,131, 49, 75,106,154, 90, 84, 61,139,180, 99,120,134, - 92, 13, 8,128, 36,153, 41,154,163, 33,196, 20, 12, 72,196,238,166,213,226, 92,114, 55,230,102,180,145,140,150,190,128,192,155, -123, 37, 4, 64,113, 48,208,104,126, 15, 58,122,136,251,168, 86, 36,177, 9, 91, 13,111,186,167,196,136, 46, 13,175,114, 65,128, -166,229, 92, 0,212,184,109, 72,146,148,190, 71,196, 48, 73,182,147, 73, 59,153,136, 8,186, 19, 55,234,213, 76,221, 76,115, 46, -165,104, 85,211, 90, 74, 63,244,189,230, 82, 85,193,172,106, 14,111,127,104,169,130, 52, 22, 56, 49, 97, 20, 41,185,174,151,147, - 99,248, 8, 8,176,174,167,222,120,105, 5, 78,224, 97, 95,107,124,144,199,227, 30, 44,124,174, 15,209,146,136, 8,100, 96, 41, - 53, 66, 56, 20,237,228,161,213,249, 63,171,133, 93, 83, 35, 1, 97,148,197,226,205, 97,190, 62,203, 97,205, 31, 91,131,142,185, - 13,214,252,152,243, 34, 10, 35,255, 24,173, 10,176, 2, 18,162, 3, 18, 38,198, 17,134,231,161,239, 7, 9,219,208, 1, 35,169, - 28, 11, 51,236,151, 23, 63,248,187,191,125,237, 43, 95,174, 96, 81, 95,141,224,169,109,155,201,244,198,123,239,220,185,183,255, -204, 43,175, 62,249,228,147,203,243, 51, 19,241, 90,195, 52, 93,115,145, 36, 0,134,102,204,105,113,252, 96,217, 15, 23,231, 23, -203,229, 69,173,195,176, 92,172, 46, 46,142, 78, 79, 30, 28, 28, 56,241,164,229, 39, 30,121, 12, 25,207,207, 47,110,124,246,249, - 80, 74,155,186, 73,219, 21, 47,171,161,175,185, 18,226,157,187,251,139, 97,213,164, 6,193, 46,150,139,156,243, 80,235,197,197, - 2, 9, 29,253,238,225,225,249,114, 5,170,210,180,136, 56,228,204,196,207, 62,118,237,219,191,244, 75,175,188,250,210, 79,223, -123,247, 47,190,255,195, 73,211, 60,249,216,181, 85,191, 90, 12,185,150,178, 24, 74,147,146,179,173,114,110,134,161, 3,106,155, - 36, 41, 61,190,189,253, 91,223,254,181,203,215,246, 78,230,243,227,227,147, 59,119,110,223,184,125,251,147, 79,111,222,222,223, - 63, 60, 57, 46,181, 32, 51, 17, 80,147,200, 33,215,210, 15,153, 9, 75,181,243,101, 31, 90,225,233,252,236, 98,121, 65,196,166, - 33,125,114, 4, 56, 5,145,164,233,186, 38,178,152, 91, 27,147,173,110, 54,219,156,109,180,237,183,222,120,237,240,228,116, 53, - 12, 91,211,105, 74,178, 57,105, 38,237,164,235, 82,155, 38,169, 17, 55,155, 78, 59, 84, 67, 4, 16, 70,100,105,147,153, 34,177, -154, 25,152,232, 88,122, 97,166,220, 72, 89, 21,115, 37, 6,240,128,162,147, 72,170, 70,224, 33,248,166,152,185, 41,184, 29, 14, - 35,178,152,215,225, 14, 32, 98,176,226, 76, 8, 72,209,155,220, 74, 11,104,106, 26,254, 50,205, 25, 29, 36,226,175, 41,129,213, - 90,162, 69, 36, 62,125,238, 30, 84,175, 96, 6,176,219,202, 45,198, 90, 95,251,236, 24, 76,181, 22, 98,193, 36,196,108, 81, 50, - 36, 12,234,128,100, 99,114, 10,129,162,167,201, 3,230, 26, 91, 59,100, 66, 38,247,234, 52,186,106,192, 45,165,182,170, 89, 45, -140, 98,236,235, 66,168, 74,146,192, 76,189, 48, 8, 19,154, 42, 33,214,192, 1,161,153, 85, 55, 48, 53,105, 88,107, 24, 5, 28, -169, 25, 99,234, 68, 96,110, 90,221,141, 72, 70,150, 36, 56, 56, 8, 51, 97, 32, 13,138,199,254, 24,169,154,215, 92, 17, 32,234, - 73, 35, 1, 91, 75, 25, 87,166,142, 70, 88,203,192,194, 66, 92,139,154, 58,142,250, 59, 68, 39, 53, 50,150, 33,147, 8, 73,242, - 90,215, 16,115,116, 87,100, 65,115, 39,247, 98, 86, 10,106,157,237,204,136,208,133,165,105, 4, 1,188,211, 82,113,108,161, 35, - 18, 2, 7,171, 21, 41, 90,168, 84,139, 58, 16,197,250, 20,220, 61,254, 53, 36,165,132,145,234, 36, 50,116,102, 96,230,192,166, - 68,201,248,195, 96,188,155, 81,114,141,109, 31, 32, 2,168, 43,250,152,119,171,181, 56, 20, 73, 18,160,133,152,122,205,193, 74, - 54, 55,102, 18,105, 74,205,106,228,101,144,148, 88,194,254,103,179, 46,229,234,165, 90,178,209, 48, 72,140, 98,174, 96, 0, 70, - 22,160, 32,183,154, 87,163,165, 36,162,161,238,224,214,116, 13, 1, 34, 75,212, 27, 50, 97, 28,253,165,170,213,226, 14,166,181, -207,189,230,161,230, 65,107,181, 90,220,172,154, 58,160,154,153, 42,129, 59, 26,154, 99,133, 49,164,236,192, 97, 52, 35, 10, 36, - 12, 90, 88, 38, 97,108,225, 70, 3, 70,176, 64,163, 25,140,180,248, 0, 1,163,153,111,204, 38,171,213,176,185,179, 89,204,226, - 37, 77, 35,170, 56, 16, 13,177,109, 29, 35,240,227,218,150,113,172,238,140, 86, 88,116, 64,142, 94, 41, 8, 94, 52, 19, 1,142, -246,208,181,220, 14, 64,163,159, 34,202,124,195,203,131,232, 14,107,224, 38,172,113,199, 0,232,203, 97,136,156,177, 0, 22,245, - 31,188,253,131,127,117,250,175,186,157, 77, 7, 35,110, 26,225,195,187,159,127,246,233, 71,147,141,205, 47,127,237,173,174,235, - 22,167, 39, 86,171, 13, 3, 0, 1,168, 3, 74,211, 89, 93, 20,133,249,217,124, 56,188, 55,172,250, 82,134,213, 98,113,118, 62, -191, 56, 61,157,207, 79,139,218,164,107,175, 92,190,140, 4,170,245,116, 62,159,159, 95, 32, 35,177, 96, 41,139,213,226,162, 95, -170,217,172, 73, 2, 56, 95, 46, 87,253,144,146,212, 50, 20,171,203,126,232, 75, 95, 7,173,166,125,214, 50,148, 86,100,144,116, - 81,181, 12,131,185, 38, 78,111,190,254,242, 63,250,198, 55,180,234,191,255,127,255,248,246,189,131,221,173, 13, 55, 59, 61,157, - 23, 13,131, 44, 18, 39, 10, 63,138, 21, 53, 85,203, 6,178,181,181,241,204, 19, 79, 60,251,202,203,195,106,117,117,178,121,229, -234,181, 47,126,241, 85,116, 88,173,250,197,114,113,116,112,112,227,246,173, 27,183,239,220,190,119,247,222,225,131,227,227,227, -197,106,121,120, 90,212,183,103,147, 86, 53,154, 33,237,234,222,222,238,214,118, 13,158,150,163,187,199, 3, 96,227,143, 3,181, -150,172,182,127,122,113,223,206, 1, 96, 40,195,123, 55,110, 62,249,232,181, 62,235,193,241, 17, 1, 21, 45, 79, 60,122,141,185, -121,252,209, 43,119,246, 15, 54,187, 9, 9,147,249,149, 75,123,187,155,155,171, 60,212, 90,246, 54, 55,173,234,149,189,157, 39, -159,121,250,238,189, 59,109,162, 68,169,235, 26, 95,228,174,105, 22,171, 94,132,164, 21, 55,151, 10,106, 14,204,140,206,220,196, -124,106,224, 34, 98,213,170, 22,146,212,181,157, 22,205,117, 72,146,226,129,228, 54, 60,214,182,174,196, 86,171,198,200, 0,110, - 90,152, 5,220,212, 61, 17,155,170,131, 16, 33,141,142, 3,141, 6, 98, 85,117,196,148, 82,201,217, 12,152,192,221,117, 24, 72, -146,164,228,128, 30,244, 62,137,233,216,153, 57, 80,195, 99, 80,145, 24,220,198,162,231,104,221, 28, 7, 82,160, 64,145,128, 3, - 10,131,122,196,109,137,107,201, 99,114, 11, 9,205,220,149,144, 29,220,180, 4, 98, 13,193,181,102, 4,182, 90,193, 85,173,178, -115,209,194,136,204,108,165,186, 25, 16, 42, 0,212, 66, 97, 75, 26, 71,166,136,161,208, 67,130, 43,115,227,154,145, 4,221,106, - 29, 88, 24, 3, 36,101, 22, 36, 18, 85,103, 38, 11,114,253,218, 52, 61,244, 67, 59,105,155,166, 45,181, 90, 29, 48, 76,248, 20, - 92, 9, 52,176,126, 88, 74, 98, 78, 9, 0,192,108,236,248, 54,141, 71, 83,107,198,232, 83, 74,124,124,118,214, 8, 3, 74,248, -205,227,125,207, 44, 96,182,206,145, 49, 16,187, 43,155, 59,130,105,245,209,240, 18, 48, 34, 55, 51,135, 32,214,248,136, 41,209, - 66,196,204, 73,107, 46, 85, 17,129, 80,204,148, 0,140,208, 29,129,200,212,106, 45,140, 41,145,152,214,154, 51,162,248, 26,132, -192, 34, 97, 86,196, 64,246, 2,153,106,213,129,152,192,149, 82, 42,185,119, 0, 17, 80,104,204,173, 12,125, 74, 18, 81, 43, 33, -160,182, 27, 44,175,134,218,138,145,131,132,192, 23,193,128,177,240, 59,150,157,232,230, 26,246, 18,119, 67, 27,170,141,101,181, - 52,182, 16, 90,224, 43,145,136, 88, 18, 54,221,198, 38, 5, 69,127,189,193,116, 55,118,175,102,181,214, 50, 12,185,228, 50,172, -180, 86,211,193,114, 45, 57,107,201, 10, 54,198,180, 1,192,156,156, 35, 21, 54, 38, 82, 21,199,177,127,125, 80,131,187,199,226, -215,124, 50,153, 28, 28,157,227,165, 45,171, 46, 65, 11, 28,181,115, 27, 15, 98, 68, 24,233,170, 33,237,216,232,197, 9,194,153, -173,149, 34, 20,240, 2, 80, 1, 24,220, 29, 12, 92,109,204,127, 68,138, 35, 60, 53,145,169,227, 17,182,233, 81, 49,192, 35,152, - 15,195, 70, 3,140, 82,150,197, 29, 86,171, 30, 85,133,233,163, 79, 63,253,228,147,143, 95,255,250, 55,200, 21, 9,223,255,233, -143, 15, 30, 60,248,202,155,111, 78,164, 1,180,254,124,142,141,128,154,235, 8, 58, 94, 44, 22, 67,238, 47,206, 78,135,146,107, -206,181,174,206,206,207,206,142,143, 79, 78,230,253,144,119,182, 54, 54, 54, 55, 16, 89, 77, 79,207,206,136,168,239,135,163,249, - 92,107, 37,132,170,134, 14,155, 27,179, 54,165,101,223,247, 67, 31, 35,149,153, 45, 86,139,146,107,174, 86, 53,247,185,150,161, - 42,128, 59,110, 76,166, 0, 70,140,102,245,108,217,239,110, 78,255,217,111,124,251,235, 95,254,210, 95,254,224,239,126,240,211, -119, 39, 73,182,167,141,106, 77,156,218,214,173, 55, 38, 94,213, 60, 63, 61,109, 83, 55,157, 77,166, 77,199,200,228,240,143,127, -245,155,175,188,246,218,135,239,191,255,231,127,250,231,223,250,198,215,185,105,157,218,176, 33,119, 93,211,108,109,237, 94,123, -244,133,215,190,164, 57,151,161, 88,233, 79, 78,142,246, 31, 28,125,114,243,198,167, 55,111,206,231,103,135, 39,199,165,106, 86, - 95, 13, 43,150, 70,213,194,182, 10, 0, 9,132, 29, 29,161, 2,160, 90, 67,105,146,204, 9, 29,148,144,114,209,171,151,246,174, -238,237,221, 62,124,112,105,103,235,124,209,159,247,203,243,139,197, 75,207, 62,178,127,114,250,224,248, 84,246,232,108,185,154, - 76, 59, 96,190,119,116,122,112,124,178,179, 53,219,111,231,199, 23,231, 47, 61,251,156,109,236,189,253,225,231,215,175, 93,185, - 88, 92, 44,251,188, 49,233,174, 92,185,122,251,238,157, 47,189,242,250, 79,127,248,246,119,191,243,143,101, 58,123,251,135,127, -251,232,149,171,139,197,249,233,233,241,230,198,108,182, 49,219,221,221, 61,190,125,111,210,166,134,155, 33, 95, 8, 49,129,182, -157, 44,115,105,186, 54, 53, 45, 58,154,105,215, 54,196,141,150,129,128,141,130, 75, 88,221,136,133,132, 91, 32, 46, 90, 9,219, -152, 13, 16, 1, 18,168, 35,170, 23, 29,218, 36,102,238, 86, 5, 81, 36,133,155,218, 16,192,212,140, 73, 18, 24,132,237, 7,209, - 72,196,171, 33,130,213, 10, 52,138,215,113,109, 37, 34,228, 78,203,224,106,241,104, 89,213,160,112,122, 85, 5,236,186,182,214, - 90,243, 64,192,163,149, 69,141,136, 84,107, 25, 6, 22, 9, 41, 57, 50,165, 90,134,181,113, 46,110, 9,134,132,165, 86, 66, 71, - 73,150,123, 11, 51, 62, 2, 32,153,214, 90,140,153, 82,219,105,173,170,133, 37,133,175, 84,107, 54,112,180,140, 44,210,164, 40, - 57,138,193, 43,166,254,224, 72,233,156,219, 26, 0, 0, 32, 0, 73, 68, 65, 84,133,233,152,152, 53,103, 32, 22, 17, 80, 11,215, -149, 34,169, 41, 33, 9,139,145,187, 86, 68, 76,169,197,113, 26,180,113,235, 7, 72, 17, 60, 52, 35,247,106, 74, 12,125,159,117, - 40,219,151, 55, 37, 73, 28,205, 64, 80,173, 2, 56, 38,178, 18,184,220, 42, 72,134, 28,187,220,162,133, 89, 26, 78,202,100,181, - 34, 11,161, 89, 53, 22, 10, 68, 0,115,131, 86,221, 1, 93,163, 58,216, 0, 9,141,153,204,153,161,230,108, 8, 22,145,218,120, - 81, 40, 56,113,170,185, 2, 21, 73, 45, 50,107, 41, 94, 12, 19,163, 48, 40, 14,195,146, 17, 36, 62, 9,192,195,144,187,148,152, - 83,113, 64, 44, 8,216, 54,109, 45, 57,181, 32, 44,125, 45,224, 74,140,109,203,236, 96,232,226,213, 65,226,216,212, 16,166,208, - 53,142,170, 48,144, 68, 49,182,141, 53, 29, 10,228,166, 10,117,237,128,113, 65,116,240, 98, 0, 64,181,198,225, 88, 66,238, 70, - 7,175,196, 72, 36,194, 34,211, 13,218,164, 20,133, 35, 20,149, 42,100, 86, 85,173,214, 33,247,117, 24, 74, 30,180,150, 90,122, -143,134,222, 18,192, 97, 13, 42,119, 20, 60,185, 58,198,112, 33,208,166,164, 94,212,108, 76,178,142, 70,228,112, 51,249,136, 18, - 24, 13,240, 52,118, 8, 96,152, 38,215,172,165,209, 15, 90, 28, 8,185,129,135,238, 71,100, 32, 71, 32,183, 53, 61,222, 0,216, - 31,238, 87,221, 28,201, 0,162,154, 61, 2,183,113, 71, 32, 97,186, 24, 6, 7, 44,166,137, 1, 28, 79,231,167,111,191,243,206, -215,190,245,107,251, 55, 63,122,239,103, 63,121,244,133,151,126,237,107,223, 40,139,179,160, 83,133, 15,167, 2, 13,253,217,176, - 90,158,206,231,125,127,166,181,230,210,247, 23,203,131,195,195,179,211, 19, 53, 19,226,217,180,219,221,222, 58, 95, 44,206, 46, - 46,134,156, 81,104,185,232, 1,177,148, 92,138, 10, 97, 85,101, 39, 39,152,159,159,153, 66, 95,135,212,200,106, 81,138, 14,136, -144,171,230, 82,251,126,229,238,132,220, 53,201,209, 64, 73,205, 23, 57,151, 82, 55,167,211,173,217,198,191,254,157,223, 22,145, -127,243,187,191,183,127,116,114,101,123,163,235, 58, 48,175, 0,125, 89,185, 66, 35, 92,171,158, 45, 87,125, 85,135, 85, 62, 43, - 85,203,206,214,214,211,207, 61,251,230, 91,223,152, 47, 46, 14, 31, 28,252,251,255,240,167,119, 63,255,232, 87,191,254, 38,138, - 76,102, 51,105, 38,210, 52,148, 90, 8, 12, 54, 49, 78, 0,133,119,155,102,107,119,247, 11,207, 63, 83,243,176,184, 88, 60, 56, - 58,186, 88,245, 7, 15,142, 62,187,125,251,104,126,122, 58, 95,158,157,157,247,154,221, 76, 1,138, 3,133, 24, 70, 96,104,163, - 71,203,161,168,182,109,218,221,218,120,231,163, 79, 78,206,231,215,175, 94,158,116,205,197, 82, 16,113,209,175, 46, 79, 55,210, - 53,155,159,175, 38, 73, 38, 41, 61, 56, 58, 25,106, 73, 68,179,182,237,186,118, 27,116, 54,153,246,203,197,222,230,198,238,206, -238,189,251, 7,243,179,211,188,177, 49,153,164, 95,122,227,141,157,237,157,179,229,208,204, 54, 72,228,124,185,252,202, 19,207, -124,246,249,173, 71, 54,175,252,232,157, 31, 62,255,220,243,203, 7,139,110,114,249,246,252,248,246,254,205,169,208,116, 50, 77, -132,119, 15,238,223,188,115,239,171,175,189,122,126,190,186,125,231, 86,206, 37,161, 23,173, 93,203,151,247,246, 74, 41,146,248, -137, 71, 30,235,251,126, 54,237,134,161, 76,154, 52,155,204,134,146,187, 36,192, 16, 81, 47,225, 8,204,114,211, 36,112, 3, 39, - 17, 17, 18, 73,104,209, 55,210, 38, 70, 79,146,204,171,153, 59, 37, 66, 5, 39, 7, 51, 36,110, 91,118, 51, 36, 80, 67,102, 78, -140, 62,154,193, 36, 37,117,117,115,226,240,173, 25,119,169, 33, 41,195, 10,137,154,212,198,131,230, 86,153,217,170,130, 89, 44, -188,221, 50, 74,243,208, 7, 1, 35, 84,145, 68,200,234,160,117, 64, 68,112,170,154,213,141,129,147,164,161,244,160, 78, 4,105, -210,128,106,173, 5, 64, 1,193, 44,131,114, 56,193, 67,135,119, 85, 0,112, 83, 64, 12,248, 68, 48, 69,220,157, 24, 64, 45,108, -207, 20, 12,100,166,156,115,211,180,210,180,154,135, 38, 37,119,182,170,142, 64, 36,128,145,119, 52, 7, 67, 48, 7, 25,137, 17, -174,137, 88, 17, 28, 7, 68, 5,240, 82,234,116,163,107,155, 4,232,169,105,114, 45, 86, 43, 34,170, 58,147,112, 44, 60, 66,197, -133,192,120, 1,147, 56,162,186,161,186, 52,173, 87,231,132,133,212,189,132,234,140,166, 65, 64, 7, 51, 74,226, 72,110,198, 76, -106,174, 86,132,160,105, 91, 0,176, 97, 53, 44,151,156, 82,106, 90,228, 52,228, 21,145, 19, 75, 81, 69, 45,194, 2,146,114,173, - 80,178,176, 76,103, 83,173,170, 86, 71, 95,164, 76, 12,160,239, 87, 73, 18, 98, 42,121,193, 84, 83,219, 58, 72, 41, 78,212,149, - 90,130,100,192, 68, 66, 36,200, 15,149,104, 7, 20, 48,245,135,206,145,135,181,123,107,178,155,155,129,198,114, 39, 78, 65, 6, - 87, 64, 6, 96, 7, 5, 29,157,145,224,230, 78,227,230,209, 52,122,146, 12,160,232,216, 66, 6, 24,245,128,107,166, 41, 96,215, -117, 56,153, 18,163, 5,178,193,157, 88,162,160,178,106,177, 92, 29,205, 21,204,180,150,236, 86, 75,201, 94, 85, 8, 55,218,249, -241,121,217,219,238,106,169,228, 21,104, 52, 81,141, 32, 95,164, 72, 28, 88, 40, 52, 68, 96,250,208,235,136, 40, 49, 27, 4,177, -198,227,242, 56, 90,240, 1, 45, 10,159,214,252,122,242, 81,246, 9, 54, 1, 18, 0,143,221,130,161,195, 57, 2, 18, 40, 16,194, -209,233, 28,136,162, 16,109, 40,213,193,255,225,199, 63,252,251,191,250, 51,173,250,210,215,126,249,234,163,143,246,231,103, 44, -130,166,117,232,235, 48, 28, 31, 31,156,205,207, 75,205, 94, 75, 95,250,211,163,163,253,253,251,167,243, 51, 50, 69,132, 89, 55, -157, 78, 59,119, 80,176,229, 98,177, 92,173, 28,124,181, 26,250, 82,170,106,132, 58,152, 40,145, 52,137, 27, 73,185,234,233,249, - 42,151, 90,107,248,103, 74,159, 7, 65, 86,179,170,138,128,128,164,235,218, 29, 71, 0,194, 54,165, 36, 2, 0,139,101,249,155, - 31,189,115,235,206, 61,105,248,169, 71,174, 58, 88, 46, 85,107,117,128,134, 19, 11,157, 94, 44, 78, 47,206,231,231, 23, 96, 70, - 52,233,218, 68,140,231,231, 23,203,126,117,124,114,231,120,255,248,163, 27,159,170,219,247,126,240, 67,215,161,107,218,182,155, -110, 78,186,217,230,230,108,182,217,116,109,211, 77,164,153, 36, 34, 71,168, 69, 83, 18, 74, 73,102,219,151,247,174, 94,185,254, -108,208,123, 23,139,211,211,227, 7,103,243,249,249,114,113,124,122,126, 50, 63,189,187,127,176,127,120,112, 50, 63,159,159, 47, - 86,195, 16,102, 6, 34, 20, 66, 5,216,217,154,245,125,255,242,147, 79,252,228,147,194,196,231, 23,203, 73,215, 2,194, 59, 31, -124,212,117,237, 99,215, 46,221, 63, 62,126,225,250, 35,243,179, 51, 34,158, 78,187, 71,118, 47,165,212, 32,210,225,131,249,108, -186,127,229,145,171,169, 73, 31,125,250,105,159,135, 87, 95,124,201,192,102,147,233, 59,239,188,179,234, 87, 87, 47, 93,249,155, -191,254, 75, 98,254,226, 23,190,120,112,248,224,193,225,237,239,126,231,159,252,232,167,255,112,229,210,229,131,195,125, 16,154, -159,156,234,226,124,235,209,171, 64,124,240,224,240,244,252,236,210,246,246,209,241,131,195,163,211, 7,231,231,102,250,224,248, -184, 31,250,229,170,223,221,222,204,213,186,196, 79, 61,118,124, 60, 63, 39,180,161,212,105,219, 46,250,229,233,217, 34,137,172, -134, 92, 75, 77, 77,218,154,108, 72, 43, 58,244, 33,199,115, 20, 68,129, 73,168,233, 8,200,220, 16,110,109,206,158,189,118,245, -213,231,158,220,218,220, 89,174,150,253,144,103,211, 9, 49, 19, 19,152,165,182, 51,240,166,105,165, 17, 87, 71, 70,105, 91,243, - 18, 45,128,113, 21,230,148,180,170,185,166,110, 50, 10, 20,166,110,192, 41,130, 78, 70,208,154,107, 60, 6, 90,138, 36,126, 24, -207,113, 0,114,183, 90,130,152,170, 54,250,226,184,157,120,201, 37,103, 2, 6,114, 2, 46,185, 18,134,126,144, 70,137, 72,107, -208,204,214, 6,186,245,226,205, 33, 12, 75, 99,159, 56,146,149, 28,185,197, 40,218, 69,196, 90,115,128,119,208,176, 97, 86, 83, - 51, 85,197,166,235,162, 64, 17, 64,199, 0, 58, 10,140,252, 9, 20,150, 50, 12,106,185,107, 18, 81,215,231,162,117,216,218,222, - 72,221,164,148,218,151, 30,145,221,113,196, 31, 86,149,166, 35,193,218,231,234, 61, 73,135,140,128,104,177, 50,101, 64, 76, 33, -212,104, 52,114,137,128, 27, 40,170, 6, 97,155,137, 90,119, 99, 2, 3, 82, 53,112, 79,169, 33,130, 90,116,252,139,128,187,123, -233, 51, 9, 53,205,196, 74,113,247,134,152, 82, 91, 75, 41,117, 96, 32, 73, 98,192,170, 22,251,156, 72,194, 34, 20, 68, 22, 97, -119, 71, 52,105, 90, 85,131, 92,145,157,133,107,173, 86, 20, 29, 19, 19, 33, 22, 53, 65,166,208,155, 28, 0,172, 64,100,223,194, -230, 24, 51,240, 72, 88, 4,119,133, 95,132,145,194,102, 98, 16, 39, 56,140, 22,195,241,181, 64, 12, 81,186, 24,160,188,192, 25, -152,173, 49,193, 26, 77, 14,107,244,163, 35, 83,173, 53,102, 14, 0, 50, 83, 48, 55,202,128,136,152,132,176, 50,184,147,116,226, -128, 72,179,177,140,201,141,185,109, 38,147,159,126,112,235,213,175,126,109,113,177, 48,112,203,189, 85, 85,203,154,135,210,247, -181,100, 0, 19, 50, 64, 51, 48, 25, 17, 9, 50,178,229,162,214, 32,232, 73, 97,109, 5,113,138, 98,170,245, 43, 15,126,241, 95, -252, 59,216,200,133,125,184, 50, 30, 29,247, 35,121,214,141,192, 79, 78,206,120,180,218, 35, 56, 60,255,212, 19,167, 15,238, 93, - 44,250, 95,254,245,239,128, 64, 93,245,228,214, 95,156, 31,239,223, 93, 44, 22,181,150, 0,233,205,231,199,251,119,239,223,190, -119,167,150,178,187, 57,187,180,189,113,126,177, 2,176,243,161, 63, 93, 92,212,172,171, 92,136,189,148,186, 28,134,139,190,103, -119, 97,158,181,237,246,198, 38,130, 45,242, 80,139,173,114, 1,192, 82,173,148, 50,228,108,102, 68, 44, 68,236,148,189, 14,165, -196, 85, 76,152, 8,193, 98,195,109, 30, 65, 26, 36,102,174,119,238,239, 95,222,221,102,225, 92,242, 48,244, 41,181, 10, 62,107, - 59,102, 62,156,159,206, 23, 11,114, 80,167,101, 30,178, 90, 63, 12,211,233, 36,165,230,232,108,254,246, 15,126,112,255, 96,255, -243,123,247,107,213,227,249,217,143, 63,252,120,115, 58,107,154,102,218, 72, 74, 77,155,154,174,105, 82,215,206,186,105, 59,233, -132,165, 77, 77,215,181,123,151,174, 76,183,119,152,144, 37,169,153,161, 78,118,118,155,205,221, 43,154,173,170,230, 98,150,135, -220,231,161,228, 90, 47,206,206, 30, 28, 61,120,255,131, 15, 63,188,241,217,253,227,147,249,233,217,157,163,211,221,205,238,210, -108,242,209,237,219,194,252,224,120,206, 66,132,124, 50,191,112,119, 54, 59,155, 47, 30,187,124, 25, 0, 87, 67,157, 77,105,185, -202,183,203,193,164,149,203,123, 87, 88,154,157,141,237, 27, 55,110,189,247,209,135, 72,244,230,235, 95,122,230,233, 39,127,246, -254,251,183,238,220, 33, 76,143, 62,114,117,107,107,123,218,117, 15,142,239, 63,114,237,218, 71,159,125,122,253,177,235,255,207, - 31,253,223,199, 71,199,111,255,248,199, 79, 94,127,236,230,231,183, 62,188,241,233,230,172,187,187,191, 63,100, 61,124,112,240, -204,147, 79, 31,159,156,214, 82, 14,143,142, 0,173,147,110,181, 88, 25,104, 67, 84,114,206,185,212,204, 31,124,250,153,153, 78, -186,201,252,226,172, 20,173,102,203,190,111,165,233,186,110,107, 58, 45,181, 63,187, 56,134,149,212,146,133,165, 58, 8, 64,106, -210, 48, 12, 85,161,152,149, 60,184, 99,174,165,109,154, 31,116,205,183,238, 61,247,221, 47,127,105,190, 92,204, 54, 54,171,121, -223, 47,206, 22, 11, 98,153,180,141,154,129,195,108,182,177,204,195,180,155,110,108, 76,151,171,213,162,239, 83, 74,109, 74, 53, -247,221,198,166, 48,159,207,143,118,246, 46, 15,181,182, 93,103,225, 15,145, 68,204, 73,152, 68,192,144, 4,145, 69, 80, 37, 53, - 0,206,206,132, 92, 74, 0, 59, 71,147, 18, 90, 5, 34,168, 0, 85,221, 1, 85,145,216,204, 44,176, 53,113,140, 36,118, 83, 48, -111,155,198, 0, 70,218,224, 72, 95, 96, 7, 2,140,122, 16,113, 48, 83, 29,245,237, 72,188, 85,101,137, 54,136, 20, 15,150,214, - 66,204,170, 70, 28, 9,217, 58,184, 11, 65,173,182, 46,229, 49,116, 16, 22,112,200,185, 34, 51, 83, 91,212, 5,188,212,218, 54, - 50,157,181, 81,141, 52, 26,170, 17, 0,176,149,100, 6,154, 51, 16,161, 16, 25,130, 87, 8,202,115, 84,129,153, 99, 82,143,118, - 44, 83, 38,113,163,172, 43, 92,211, 19,209, 65,181, 39, 17, 36, 70, 52, 64,115, 64,213,161, 86, 4, 64,105,146, 15,102,101,160, -196,200,168,102, 88,122,230,166,170,170,233,176, 28, 82,211, 72,106,188,230,154,141, 18, 72,211,169,107,201,185,230, 2,104, 66, -226,174,196, 52,198,175,156,204, 93, 29,200,209,139, 1, 82,234, 90, 53,143,157, 40, 50,202, 72, 63,136,130,150,136,178,121,112, - 41,200,205,224, 33,249,125,148, 71, 0,188, 6, 80, 96,173,148,217,216,176, 61, 46, 92,141, 56,208,125, 20,229, 50, 30, 12,224, -209,231,187,206,114, 59,186,186,167,117, 64,200,204,181,184, 81,192,139,163, 96,211, 52,194,202,189, 33,168,134,234,163, 36, 2, -186,134, 62, 58,152,214,233,230, 86, 62, 63, 92,156, 47, 82,195,230, 64,105, 19,132,113,108,216, 65,116,179,234, 53,247,181,244, -166, 89,139,106, 94, 2, 40,160,133, 99, 38, 72,162, 99,154,202,196,113,205, 42, 91, 55,241,132, 85,211,205,199, 18,171,168,131, - 51,115, 30, 91, 94, 99,250, 32, 32, 95,251,249, 9,113,208,138, 4, 85,157,219,230,169,203,151,207, 22,171, 79,238,220,126,231, -231,239,125,243, 55,190,187, 58, 62, 92,244,195,241,209,225, 48, 44,137, 5,220,206, 78,143,207,206, 78, 15,238,223, 63, 58,126, -144,136,175,238,237,116, 77,179, 28,134,251, 15, 14,207, 46,250,221,141,233,241,217,185, 35,182,152, 42, 20,234,177,175, 67,191, - 90, 78, 36,237,110,110,110,206,102,203,213,242,100,121, 94,171, 37, 22,215,186, 40,185,214,156, 75, 53,211,209, 99,140,100, 54, -148, 90,150,181, 38,145, 41, 19, 18,230, 92, 99, 29,109, 10,110, 54,105,154,148, 68, 16,183,102, 19,117, 85,179,154,181, 22,109, - 38,173,229,255,159,169, 55,137,213,237,202,242,188, 86,179,247, 62,231,124,221,237, 94, 99,251,249,217, 14,135, 35, 28,153, 17, -145, 81,217, 85,166,146, 84,137, 74,101, 22,133, 10, 21,205, 0, 81, 2,169, 70, 48, 5,166, 8, 49, 65, 2, 49, 99,134, 24, 33, - 33, 49,161,144,144, 16, 32, 64, 84, 86, 67,210,100, 86,146, 77,100, 56,108,135,237,112,243,186,251,222,237,191,238,156,179,247, - 94,107, 49, 88,231,123,193,200,122,178,116,223,125, 95,179,207, 94,107,253,215,239, 87,199, 49,155,194,205,118, 83, 74,110, 56, - 10,113, 74, 33, 75, 32, 83, 81,205,185,152,216,151,207, 94,252,233,143,127,186,222,111,247,125,189, 91,175,175,111,239,170, 72, - 19, 67,151,154,182, 75, 77,140, 41,134,196, 28, 98,219,117, 49, 16,119,169,157,207,219, 16,194,114, 62, 91, 45,143,186,182,107, -218,182,155,205,219,166,233,230,203,110,121,138, 12,200, 20,219, 96, 21, 83, 55, 43,227, 40, 82, 79,142,143,223,127,255,253,223, -254,173,223,178, 90,214,155,205,245,213,245,207,159,124,243,228,233,211,199,111, 60,248,159,255,233,255,217,153,174,183,251, 33, - 23, 68, 33, 14, 15, 78,142, 98, 72,132,118,188,152,221,237,134,152,210,213,205,221,124,214, 65,156, 29, 47,143,238, 54, 27, 12, -248,226,213,139,219, 77, 47,106, 15,142, 86,179,166,249,103, 63,254,139,113, 20, 17,184, 27,238, 30,234,217,106,222,189,251,222, -123,119,155,219,255,252,191,252, 47,126,248,253,239, 55, 33, 92,188, 58,255,224,157,119,126,254,244,201,243, 23,207,206,175, 47, -126,231, 71, 63,170, 21,126,252,217,199,215,119,235,191,254,203, 63, 56,154,119, 31,125,254,105,184,134,126,236, 31,221,191,255, -249,211,167, 71,171,197,237,102, 35,160, 49,240,110, 40, 38,163, 65,147,115, 30,171,250,224,169,230, 42,165, 12, 38, 90, 11,129, -152,106, 96,231, 12, 43, 25, 50,152, 77, 40,116,191, 30, 42, 51,155, 42, 35, 52,129,106,213,255,253,199,159, 44,186,217,119,223, - 56,189,188,236, 79,207,206, 56,196,161,148, 20, 56,196,174,101,188,189,219, 84,213,196,172,185,191,120,185,173,102, 72, 20, 48, -100, 25, 54,155, 53, 3,167,121,115,254,228,155, 89, 88,152,230,220,231,126, 63, 84,173, 20,163,230, 12, 28,251, 97,115,114,124, -116,183,222,206,151, 75,142, 17,192,218,166, 75,109,203,129,137,145,145,129, 57,132, 24,155, 16, 67,170, 57, 55, 33, 26,162, 26, - 85, 67, 66,170,248,154, 56, 66,126,209, 97, 68, 1,209,138, 10, 32,128, 60,249,123,194,148, 97, 59,100, 64, 85, 20, 32,168,228, - 24,210, 56,102, 83, 77, 93,227,132,119,142,193,106, 17, 51, 66, 0,228,212,132, 90, 51,130, 72,169,177,153,153, 8,135, 32, 34, - 6, 22, 8, 67,224, 81,114,192,160,102,100, 8,192, 76, 98, 0,185, 31,218, 38, 33, 69, 19,101,102,226, 48,214, 26, 16, 13,169, - 31,122, 63,168,136, 2,199,168, 42,110,228,133, 64, 80, 17,136, 76, 65,134, 66, 41, 17, 49, 77, 84, 89,233, 66, 91,106, 22,173, -136,172, 96, 33, 68,138, 92,107, 69,226,192,109,201,131,137,196,212, 1, 99, 41, 35, 33,197,121,151,115,149, 90, 66, 72,238,222, - 66, 4, 85, 9, 72, 12, 72, 49, 41, 70,169,123, 53, 45, 37,123, 96,187,141,177, 26, 90, 45,161, 11,164, 92,173,122,175,140,152, - 13, 48,247, 67, 72,129, 24, 69, 36,143,133, 65, 67,106, 17, 17,159,252,248,255, 5, 4,145,250,186, 51,193, 68,135,114,105, 58, -220, 14,250,107,157, 78,124, 32,183,151, 78, 83, 70, 15,190, 56,134,200,124,143, 60,170, 85, 83, 1, 37, 96,240, 61, 88, 52,183, - 53,121, 19, 28,172, 42, 76,118, 41,111,197, 79,201, 71, 64, 6, 21, 81,245, 25,233, 20, 84, 57,120,157, 94,107,157,124, 40,175, -166,109, 59,251,252,175,254,132,151,111,126,251,253,199,227,232,175,133,212,195, 67,139, 67, 64,199, 87,193,148, 69, 38, 68, 83, - 44, 50,106, 30,165, 22,224,170, 69,213, 4, 68, 65, 20, 65, 84,139,167,101,124,102,207, 78, 42,163, 95,128,201, 28,160,129, 4, - 68,140, 64, 83,230,147, 96,186, 10, 24,190,121,127,241, 31,252, 71,255,201, 79,190,122,217, 68,238, 66,184,219,110,247, 99,253, -246,123,143,127,253,215,126,243, 15,126,255,111,237, 54,107, 1, 83, 41,181,212,245,221,205,197,249,139,237,110, 19, 57,182, 93, -219, 52,169, 14,227,245,221,221,237,221,109, 41,133,153, 25,177,148, 98,228, 52, 77, 54,211, 42, 26, 67,104,153, 85,235, 62, 75, -174, 69,253, 97,168, 90,138, 84,168,121,204, 70, 16, 57, 25, 88, 25,114, 46,185,138, 0, 66,147, 26, 70, 44, 85,135, 60,228,146, -193, 1,116,196,109,140,196,164,162, 37,215,106, 5,145,205,172, 84, 65,196,227,197, 98,204,181, 72, 81,173,183,155, 29, 24,196, - 16, 16,112, 20, 49,128,154,139,212,178,203,162,160, 49, 48, 81, 88,118, 13, 35,115, 12,127,254,233, 23, 57,231, 16, 2, 51, 69, -166,192, 28, 67,104, 99,228,192, 77,138, 93, 74, 77,138,109,147,150,243,249,106,177,236,218,182,109, 66, 19,155,166,109, 23,179, -249,124,214,181, 93,219,181, 93,215,118, 49,165,216,166, 24,154,152, 82,140,201, 1,207, 8, 16,154, 8,138,227,216,223,222, 94, -223, 94,221,190,188,184,126,117,249,106, 24,199,235,155,155,187,221, 78,213, 74, 45,166,154,154,244,205,243,231,111,222,127,240, -198,189,123, 23, 87, 23,159,124,249,245,201,114,241,240,193,105, 21,168,185, 12, 57,207,230, 29, 35,173,102,139,147,227,227,179, -227,251, 77, 75, 47,175,174,246,251, 76, 33,129,230, 55, 30,156,109,119,251,156, 71, 64, 40,185, 34,218,106,121, 36,165,252,236, -235,175,218,216,116, 77,162, 64,171,217,226,207, 62,253,120,214,180, 93,215,253,240, 91, 31,124,252,205, 23,215, 55,155, 89,155, -154, 16,174,119, 91, 16,101,162,175, 94, 93,140,253, 24, 2,229,177,182, 93,215,165, 84,165, 26, 24,136, 14,165,246,227,208,151, - 28,137, 25,105,181,104, 61,239, 45,217,209,193, 65,204,136, 40,134,184,222,238, 60,149,159,107, 81,179, 49,151, 54, 53, 77,228, -126, 28, 1,232,239,252,230, 47,253,242, 91,111, 45, 87, 43,102, 54, 67, 1, 40, 99, 95, 75, 37,142,199, 71,171, 89,151,158, 62, -125,202,129,153,194,217,201, 89, 54,139, 4,165, 20, 53, 48,173, 93,211,138,228,188,223, 80,106, 41, 52,104, 56, 84,201, 99,143, -156,152, 12,181,238,118,187,249,124, 65, 33, 13,251,189, 17, 72,150,166,237,230,179,118,179,185,149, 90,123,129,213,233,189,231, -183,119,183,119,107, 69,236, 82, 92, 46, 22,179, 38,174,102,243,166,137,179, 89, 23, 2,181, 33,117, 93, 19, 2,199,148, 8,205, - 77,108,230,234, 31,243, 32,135, 51, 38, 85, 69,165, 22, 51,166,200, 42,197, 42, 16,153,160, 49, 50, 18, 58,140,222, 23,160, 56, -184, 78,137, 13,216,100,156, 6,158,196,106, 6,170,128,228,141,154, 3, 78,138, 21, 12, 65, 3, 65,191,219, 14,187,205,242,236, - 40, 53,115, 17,112,251,183, 20, 41,121, 28,246, 59, 41, 85, 69,154,121, 27,155, 46,198, 6,137,129,144,136,201, 80,252, 71,171, - 79,119,201,247,146,252, 74,106,254, 80,210,106,147,157,136, 39,239,149,169,168, 56,144,199,239,173,196,129,128,138, 84, 3,101, -194,170,211,104,211,111,146, 42, 74, 76, 28, 26, 3,169,185, 74,169, 8, 66, 77, 66,160, 50,142, 4,232,152,101, 20,128,128,222, -149, 21, 5, 19, 33, 52,115,251, 10, 34, 17, 87, 85, 52,219, 15, 99,208,131, 28,195, 39,163,191, 96,246, 78,115,108,243,113,176, - 29,142, 55, 63,114,221, 46, 53, 69, 78, 29,218, 65, 7, 34,182,170,104, 65, 3,112, 44,132, 33, 3, 41,138,137, 32,161, 67, 34, - 14, 60, 70, 71, 95,146,170, 97, 32, 56,108, 28, 81, 96,203,170,224, 30, 40,223,112,160, 3,189,102, 82,251, 25,248, 31,173,148, -250,230,219,143, 63,251,250, 21,242,119, 56, 57,206,127, 32, 71,154, 1,168, 8,170,202,212, 54,249,197,158, 5, 32, 32, 99,138, - 45, 33, 90,131, 72,104, 42,166,106,200, 96,162,166,150,179,169, 8,152,149, 98, 86, 76,213,204, 87, 54,136,192, 48, 6, 2, 66, - 8, 96, 50,217,130,204,220, 22, 66, 1, 2,179, 1,118,129, 83,155, 62,124,239,189,119,223,255,206,183,223,255,224,141,135,111, - 64,140,187,221,174, 31,247,187,245,250,233,147,111, 54,235,205,106,181, 72,109,243,248,241,187,170,186, 93,111,246,251,189,148, - 98,181,174,230,139, 38, 53, 67, 30,134,126,159, 71, 11, 33, 48,198, 20,194,110,232, 5,173,140, 99, 37,170, 90, 74,149, 42, 54, -150,106, 53, 35, 97,224, 24,137, 40,181, 69,106,173, 85, 68, 0,172,109, 18, 81, 80,179, 60,230, 94,242,190, 31,204, 52, 53,169, -109,186, 38,177,169,229, 82,251,126,168,162, 82, 85,173, 26, 72,228, 16, 67,108, 83, 24,107,222, 13,253, 56, 86, 99,104,218,132, -222,186, 18,101, 2, 81,139, 49,140,185, 32,129,228,122,187,222,230, 42, 72,148, 98, 20,145,177, 84,223, 27,172, 85, 75, 49, 83, - 51, 4, 2, 8, 68,129, 83,155, 98,219,117,179, 54, 33, 95, 51,199, 54,134,174,235,230,109, 51,239,102,243,174, 59, 57, 62, 62, - 90, 45,230,221,172,105, 99,203, 77,240,174, 63, 18, 69,127, 78,164,182,137, 67,206,159,124,254,245,215,207,158, 93,222,220,214, - 42,236, 30,138,192, 4,184,152,205,209, 64, 73,180,226, 88,243,241,106, 53,107,186, 92, 43,135,248,238,155,111,133,128,175, 46, -111, 31,156,158, 40,115,106,187, 6,163, 49,189,251,248,157, 49,231, 79,190,250,188, 31,247,227, 56, 70,142,111,220,127,104, 0, - 31,253,236,103, 41,132,123, 71,167, 79,206,159, 63,126,243, 65, 10,205, 71,159,126,122,113,125,133, 0,111, 62,188,255,234,252, -186, 77,241,203,252,204,170,188,253,248,254,126,200,127,242,209, 79,246, 99,255,232,254,131, 77,191,251,252,201,179,237,208,119, - 77,179,217,238,114,173,145, 35, 97, 56, 57,106, 17, 64,181, 42, 40, 26,184, 61, 92, 77, 77, 28,171, 4,234,149,182, 90, 6,104, -204,196,173,161,177, 81,176, 34,165,141, 13, 18, 84, 15, 11, 59, 70, 19, 99, 8,220,151,250, 63,253,179,143,238,126,105,252,181, -247,223,153,207,230, 41, 70,145, 34,128,219,113,232,154, 80, 75, 30,160, 80,108,114, 30, 54,235,203,245,221,205,155,143, 30,115, -196,171,205,122,177, 60,238,135,190, 10,236,182,155,121,151,108,200, 99,217, 45,143, 78,216,228,100,185,184,188,219, 96,138, 98, -204,237, 34,231,129,114,142, 33,164,110,209,221,159,109,119,187,175, 46,174,190,120,254,234,242,110,253,252,226,242,102,215,223, -245,123, 41,210,166,134, 35, 51, 81, 21,105, 99,138,145,103, 77, 34,226,163,249,188, 73, 33, 48,166,148,218, 20, 78,102,179,179, -227,213,106,181, 92, 46, 22,139, 54,158,204,187,217,124, 49,155,181, 1,184,105, 19, 98, 36, 66, 41, 90, 44,148, 82, 20, 16,234, - 72, 12,101,204,136, 53, 52, 77,136,141, 74, 85, 85, 4, 52, 20, 34,194,152,170,129,212, 74,137, 3, 51,197, 56,142, 61,136, 80, - 19,208,184, 90,117, 43, 44,135, 88,115,222,245,101,214,166,200,141,129,113, 12,154, 51, 65, 35,104,165, 20,157,240, 53, 48,246, - 61, 42, 32,114,211, 53,140, 36,234, 93, 39, 4, 3,230,201, 70, 61,241,221,192,151,249, 73, 0,107, 53,230,137, 87,107, 90, 85, -225,144,154, 86, 48, 67, 85,142, 36, 86,197,140, 67, 80,161, 82,138,137, 97,164, 24,131,128,106,150,201,242, 40,197, 76,152, 24, -152, 85, 4,213, 98, 98,226, 54,231, 98, 42, 72, 76,137,205,208,180, 26, 96,140, 33,171, 25,104,205,153, 17,140,131,168,250,104, - 29, 16, 2,120, 2,242,112,196,155,153,137, 18, 7,183, 96, 31,130,142,168,170,147, 64, 0,100,146, 99, 76,181,137,159,252,116, - 32,114,129, 33,160, 58,116,114,218, 15, 18,143,170, 76,253,238,195,230, 18, 33, 72, 53, 3, 51,228, 16,212, 65, 69, 96, 96, 34, - 21,128, 8, 21, 60, 77,165,102,116, 80, 6,250,171,239, 71,177, 35,107,106,201,237,242, 12,202, 87,251, 92, 23,179, 69, 25, 71, - 69,114, 34, 12,210, 1, 54,140,206, 80, 3, 20, 68, 86, 83,115,159,159,138,168, 26, 48,129,188,158, 52, 24, 18, 82, 72, 24, 18, - 33,152,121, 17, 70,170,181, 12, 25,160,168,212, 50,142, 62,111, 64, 21, 0, 13, 10,102, 10,254,106,134, 0,166,255,248,143,254, -184, 91,156,254, 27,255,250, 63,255,157,239,124,120,122,124, 90, 12,114, 25,111, 54, 55,121,183,187,120,254, 98, 55,110,135,253, - 56, 91, 46,127,229,215,126, 35,160,221,222, 92,230,113, 24,246,251,125,191, 15, 20, 16,113, 62,159, 25,209,213,229, 43, 85,104, -154, 56,111,155, 62,231,245,102,191, 86, 33, 68,102, 14, 77,218,247,253, 80,107,169, 42,181,168, 89,215, 52,128,144,139,130, 34, -162,137, 72,201,153, 35,167, 24,171,202,174,223,239,246, 61, 16,118, 49,158,157,156,196, 24, 84,117,204,121,187, 27,164,138,152, - 14,227, 40, 34, 69, 44, 6, 94,116, 77,211, 68, 64,220, 13,227,190,239, 85, 45,196,192, 76,125, 63, 86, 17, 17, 5,173, 2,168, - 98, 69,100, 55,236,171,210,190, 31,115,173, 64,136,106,195,144, 1,161,139,209,239, 56,200, 76,140,193,195,213,196, 41, 52, 28, -144,136, 21, 64,204,100,180,205,254,118, 24,118, 78, 43,232, 82,106,218,118,222,181,109, 74,203,197,188,107,219,163,197, 98,181, -156,117,169,155,205, 83,219,116, 90, 36, 16, 60,127,117,241,151,159,126,126,179,222,132, 64,132, 28,136, 66, 19, 81, 49, 48,251, -114, 80,136, 49, 48,153,218, 88,242, 56,244,215,140,179,210, 18,226,163, 7, 15,139,106, 76, 93,151,162,245, 61,168, 14,162, 17, -195,118,183,123,246,242, 98, 44,195,172,235,218,208,206,186,118,209, 53, 93,219, 17,232,213,205,205, 21, 92,205,187,217,139,139, - 43, 34,186,190,187,157, 55,237,195,123,103,127,249,217,103,185,212, 95,249,224,219, 33,132, 71, 39,103,219, 50,124,115,254,188, -239,135, 89,215,221,174,239, 62,251,250,233,118,232, 17,200, 4,231,221,226,216, 65,106,132, 34,146,139,248,103,146, 13,128, 25, - 0, 65,166,201,149,195, 77, 85,197, 14,206, 73,111, 6,138,105, 27, 40, 80,136, 49,168, 26,171, 9,104, 8, 78,102,155,188,170, - 98,246, 79,126,250, 51, 41,195,175,127,240,173,213,234,120,232,119, 93, 59,159,119,203,192,225,201,211,103,169, 13,167,171,179, -118,209, 52,105, 86, 74,169, 98,219, 60,156, 28,175,252,119,217,239,247, 20,210, 88, 49,198,208,239,135, 86,165,137,225,197,229, -171, 97, 44,177,105, 9,185,101,124,248,198,187,130,225,110,232, 63,123,121,253,241,159,125,242,245,179,167,219,221,102, 63,140, -158,218,218,230,140,104,196, 20, 34,197, 20, 73, 77, 69,212,164, 31,107,206, 69, 13,246, 57, 35, 98,191,223, 21,147,126, 95, 69, - 11, 83, 56,154,207, 56, 76,152,219,147,163,238,222,106, 89, 10,222, 91,118,203,197,252,193,217,241,195,179,211,123,171,249,195, -211,147,197,114,149,154, 36, 34,109,147, 40, 54, 98,128, 8,217,216, 60,114, 3, 70,200, 82, 20, 1,186, 89,151,199,106,102,192, - 16, 66,128, 72, 53, 23, 54,224, 64, 68,193, 16,173,106, 41, 37, 15,121, 62, 91,148,106,145,162,170, 43,162, 42, 17,206,186,110, - 0,147, 90,192, 64,212, 40, 50, 7, 52,211,172, 85,171,112, 76,132,196, 33, 72,205,181, 20, 10,193,183, 95, 8,163,234,168,136, - 76, 33, 4,241,203,164,100, 87,247,161,169,146, 33, 81,162, 8,181,142,109, 66, 64, 26, 11,214, 42,181, 8, 49, 27,154, 33,228, -156,209, 32,117,141, 84, 41,121, 52,209,118, 49,203,163,136,214, 24, 35,167, 84,197, 47, 79, 77,173,217,233,101, 76, 68,161, 21, -201, 98,226,224,213, 72, 60, 61,244, 17,137,153,153, 9, 33,184,166,195,113,254, 62, 50,128,195, 10,168,167, 2, 17, 92, 44,106, - 64,134,128, 24,216, 23,181, 15,196, 92, 4, 49,227, 41, 15,238,132, 70, 67, 0, 53,213, 10,134,138,138,232, 62, 29,114,132,133, - 31,183, 86, 20,105,218,214, 5, 68,100,223, 24,155, 16,196, 94, 92,197,224, 4, 81, 71, 2, 76,165, 66,205,197,144, 25,105, 2, - 35,128, 10,226,106,181,232,183,155,229,124,102, 86,164,136,119,197,171, 78, 64, 31, 79, 33,162, 1,160,104, 57, 52,205, 61, 65, - 67, 54,173,197, 78, 43, 10, 0,106,104, 89, 21, 92,143,168,238,163, 65,226,134,136,230,136, 56, 91, 50, 6,210,170, 37,143,142, -185, 81,201, 76,102, 90, 47,206, 95,125,245,228,252,225,163,247,255,237,127,231,183,149,160, 14,229,118,179,190,189,122,117,113, -254,108,179,190,235,135,108, 64,143, 30,189,253,246,219,199, 77,211, 93, 95, 95,212,146,219,182, 1,177,174,155, 49,147,154, 13, -187,126, 40,165,105,154, 7,247, 31,222,220,222,108,182,219,253,110, 44, 34, 77,227, 90, 3,237,135,190,106, 29,179,128, 65,138, -145, 65, 13,209,140,170,149,170,181,142,238, 72,179,144,194, 56,150,205,110,159,115, 21,213,229,108,118,180, 56,138,145,138,214, -190, 31,183,251,126, 24, 71, 66, 45, 21, 20,212, 53,208, 93,136, 77,219,166, 16, 74,213,126,216, 23,169, 78, 11,237,135,236, 43, -204, 34,213,135, 49, 85,172, 40,168, 34,242,172,101,106,211,204, 91,172,232, 11,108, 0,140,145,192, 16,137,137, 76, 13,232, 80, - 25,186,163, 67,132, 0, 74, 85, 64, 77,129,123,195,245,126,215,140,195,142,131,145, 5,164,197,108,121,239,244,200, 99,145, 77, -228,174,235,102, 41,205,102,221, 98,182, 80,145,167,175, 46, 74,205,169, 73, 82,242, 62, 15,140,100,189, 79,194, 17,153, 16,128, - 57, 57, 2,187,212, 98,166, 82,139,112,232,102, 75, 14,129, 12,112,142,166,186,156, 7, 32,172, 34, 4,120,117,123,219,143,125, -155,210,209, 98,181,237,247, 87,235,219,219,245,250,225,201, 81, 81,120,121,125,221,165, 48,235,186,187,205,221,110,191,191, 94, -239,154, 16,179,214, 89, 59,187,119, 28,175, 55,235,237, 56, 50,192,151, 47, 94,236,250, 65,196,206, 47,175,119, 99, 38,228,163, -249,252,193,217, 49,152,150, 90,251, 62, 3, 76,187,230,190,172,101, 4, 2,168,158, 55, 35, 48,122,109,246, 37,133,106, 6,100, - 80, 1, 81,205, 55,242, 65,141, 14, 42,131,130,166, 85,213, 55,255,196, 99,201, 6, 1,139,232, 31,126,244,115,197,240, 55,126, - 48,187,127,118,118,121,115,119,181, 94,191,255,232,109, 76, 77, 95,237,122,125, 43, 82,219,166,171,165, 15,180, 60, 90, 30, 23, -209,243,235,107, 82, 67,205,185, 82,155,186, 87, 87, 55, 15, 79, 79, 3,112,192,116,118,114, 86, 4,198, 97,255,217, 55, 95, 95, - 14,218,127,250,252,217,213,229,102,191, 30,134, 60,140, 57,165,152,152,152,208, 24, 39,121, 27, 34,128,214, 42, 76,117,234,204, - 26,153, 89, 85, 97,196, 90,106,100, 66, 36, 84, 9, 12,134,156, 2, 51, 1,147, 1,144,136,108, 54,253, 56,214,139,155, 93,209, -162, 6, 99,206, 12,198, 28,212,180, 9,225,108,185,122,252,240,244,193,233,201,106,222,206,231,179,183,206,142, 79,143,142, 79, -142, 87,145, 29, 90,167,179,229, 10,128,202, 48, 4, 50, 34, 52,177,196,161,212, 18, 57, 96, 8, 38, 46,207, 66, 49, 88,223,238, -153,177,105,102,238, 89, 68, 0, 15,122,115,140, 96,134,156,192,140,209, 18, 49, 80, 64, 12, 20, 40, 80, 99, 9,164,102, 81, 65, -135, 28, 68, 48, 19, 4, 82, 55, 2, 81, 52, 83,177,233,100, 1, 68,100, 86,169,165,140,136, 20, 98,148,146,213,147,166, 8,132, - 98, 6, 68,156,102, 73,213, 36,143,224, 54, 15, 36, 17, 49,213, 16,162,176, 12,195,216,134, 6, 83,147,165,212, 92, 38,175, 30, - 6, 70, 82, 43,129, 26, 5, 48,169, 76,228,127, 5, 2,231,146,217, 76, 81,220,228, 71, 70, 64, 28, 38,238,181,186, 26,233,181, - 38, 85,108,114,136, 35, 34, 49,138,122, 52,134, 94,211, 1, 94, 51,207,188, 51, 6,158, 46, 58, 48, 99, 28,179,138,254,141, 71, - 4, 53,104,154, 38, 52, 97,127,187,157,198,172,140, 6,122,200,160, 24, 34, 17,144, 65,245, 22, 92, 49, 37,100, 34, 84, 69,241, - 65,235, 20,216,121, 93, 98,120,184,207,204, 76,114, 57, 58, 58, 94,223, 92,158, 28, 45,107,206, 98,202, 46,111, 69, 68, 83, 60, - 44,149,226, 36, 95,192, 3,167,221, 0,209,127,229,233,128, 87,143,128,138,151, 54, 19, 88, 24, 12,196,166, 56,191, 85, 32, 16, -173,160, 8, 8,129, 1,136, 67,104,204, 22,151,175,206, 63,249,232,227,152,102,239,126,231, 87,218, 24, 47, 46, 94,148, 82, 46, -206,159,191,122,249,188,223,245, 72,225,173,183,223,253,224,222, 61,149, 2, 86,145,105,223,175,119,155,117,149,250,234,242, 85, -191, 31, 24, 48,166,112,114,118,186, 60, 89,149,203,203,139,139,139,126,200, 57, 15, 33,198,148, 2,138, 86,173,253, 40, 99,206, - 98,230, 44,134, 89,147,156,143, 80, 69, 75,201,181,230, 90, 51, 2, 41,192,126,200, 85,197, 4,218,212, 28,175,102, 77, 96, 49, -221, 13,155,113, 83,242, 88,199, 82, 74, 45,204, 33,134, 48,150,222,192, 0, 83,215,117,206,157, 42, 82, 76,140,155,152,112, 70, -104,132,176,219, 13, 96,176,181,253,186,212, 34, 82,157, 45,129,236, 42, 43, 67,243, 44, 44, 59,185,223,133, 11, 30,175,147,154, -205,212, 42, 19,250,198, 28,152,127,198,148,145, 49,160,170,198, 16, 23,243,238,118,179, 17, 0, 2, 5,195, 44,178,235,247, 39, -101,214, 54,237, 56,150,161, 14,227,144, 47,197,196, 4,192, 82,140, 6, 22, 67, 84, 48,239,191, 22,176, 8, 68, 76, 42,162,181, -130, 97,201, 91,175, 43, 85, 21, 9,168,232,200,149,134,253,232,215, 76,160, 24,130, 33, 68, 12, 77,140, 68, 72,204,111, 52, 15, - 13,196, 41,196, 93,104, 1,244,203,231,207, 75,173, 99,201,121,236,115,201, 99,169,155, 33, 63, 60, 57, 93, 45,102,231,215, 23, -199,139,163,148,226,147,243,203,237,176,219,238,134, 64, 68, 72,217,138, 55,233, 12, 97,172,217, 12,115,169,165, 10,162, 2,210, -235, 74, 82,201,211,199, 64, 0,162,158,230,125,189,188,225, 82, 31, 99, 38,247,186, 43, 40, 35, 24,130, 50, 18,133,156, 7,169, -197,124, 40, 69, 6,132, 38, 96, 12, 96, 70, 6, 49,134,255,235,211, 47,111, 54,235,127,237,119,126,123,214, 52,251,166,219,238, -119,203,174,235,139,169,148,221,238, 70, 49,214, 82,204,140, 98, 88,223, 93, 15, 67, 47, 34,109, 12,243, 89,119,180, 88,222, 59, - 89,237,134,124,181,219,127,250,245,167, 95,159,191,120,121,187,239,115, 30,139, 84, 19, 38, 92,204,103, 4, 60,107, 19, 25,136, -169,137, 78, 10, 11, 53, 69, 52, 53,246, 97,156, 47,143,219, 68, 15,156, 0,220,170, 22,244,150, 0, 0, 32, 0, 73, 68, 65, 84, -104,134, 88, 85,165, 90,145, 10, 2, 98,101, 32,138, 16, 8, 33,139, 0,193,176,173, 8, 18, 1,136, 48,166,104, 64,106, 82,178, -222,150, 97, 55,142, 79,175,111, 14,200, 29,139,196, 72, 56,159,205,151,109,211, 54,241,116, 49,187,119,118,122,182,156, 31, 47, - 22,199,171,197,209, 98,182,152,207,222, 56, 59,109,231, 29, 1, 6, 4,140,193,185,134,125,206, 90,243,217,217, 49, 82,200, 37, -179, 9, 5,156, 86,141,106,225, 24,151,171, 48, 14,161, 12, 99, 21,137,238,147,180,232, 78,104, 68, 34, 16, 53,247,131,177,170, -163,149,221,144, 77,234, 90,113, 68,162, 32,181,212,154, 67, 68, 7,232, 35, 18,197, 38, 16,214, 58,150,226, 75, 50, 8, 0, 82, -170,107,227,192,208, 84,129, 12,204,128,217,106, 97, 12, 49, 0, 18,169, 9, 1, 26,147,169,168,136, 79,169, 1,185, 74, 5, 19, -160, 0,198, 6, 86,198,130, 44, 33, 68, 1,208,126,175,181,112,228,169,186, 5, 85, 67,114, 61, 29, 77, 81,152,131, 30, 69,241, -181, 78,122, 82,231, 49,145,122, 65,233,116, 35, 87,251, 57,251,104, 90,213,153,174,224,132, 32,134,132,120,112,126,148,113, 44, -227, 8, 96, 80,205,124,137,106,250, 12,211,148, 44,157,104,118, 82,171,146,239, 37,185,148,152,204,137,163,224, 20, 89, 95, 3, - 86,197, 9, 55,138,166,146,230,139,171,155,103, 82,134, 92,202, 4,137,124, 29,173,157, 6, 4,234, 26, 97, 38, 4,155,136,100, -126,196,155,218, 68,113, 35,115,189,217, 47,214,230,192,125,223, 64, 46, 11,192,105,209,219, 87, 38,114,149, 50,148,126,188,253, -236,147,159, 14,195,240,238,183,190,179,156,207,175,175, 94,124,115,115,121,125,117,181,223,238,114,174,247, 30, 62,252,238,247, -126, 16, 83, 35, 37,223, 94,191,122,245,242, 85, 41,117, 55, 14,155,221, 78,139, 52, 77,138, 33,164, 20, 83,211,132,200, 47,207, -207,215,235, 53, 0,198, 16, 23,243,102,143,176, 27,246,227, 48, 22, 17,239,247, 17, 97, 36, 14, 28,156, 97, 93,160,140,217, 65, - 50, 90, 69, 74, 45, 34, 86, 1,186, 16, 87, 93,203, 76,129,121,187,223,109,182,217, 12, 66,136,181,202,182,239,157,195,188,235, -247,110, 38,105,155,102, 22, 19,209, 4,189, 83, 21, 19,147, 90,119,227,222,115,179,155,221,126,172, 32, 90,247, 67, 53, 82, 54, - 50, 0,197,226, 49, 90,246,131,123,210, 54,170, 34,130, 24,240, 68,110, 32, 81,241,167,178,203, 11, 13, 8, 76, 77,249,117, 10, - 15, 21, 45,164, 24,198, 82, 1, 98, 32, 68, 0,145, 90, 74, 77,169, 34, 26, 42,186,133,109, 28,234,245,230,238,209,253,147,239, - 62,126,115,189, 27,231,179,213,237,246,246,234,246, 14, 24, 71, 49, 70, 0,196, 38, 38,100,242,111,129, 42, 1, 22,154,238,149, -117, 43,142, 24,131, 73,109, 22,136, 41, 36, 14, 76, 28, 67, 10,145,188,158,157,181, 73, 83, 10,129,143,142, 79, 68,106,174, 53, -231,113, 24,199, 82, 43, 82, 8, 8, 95, 62, 59,191,222,172, 95, 93,222,169, 42,113,152,117,109,192,144,152, 51,100, 52, 55, 78, - 0,161,144, 37, 10, 68,149, 24,107, 5,159,239,131,190, 14,126, 77, 22,176, 73,201, 62, 29,238,238, 93, 82,241,156,177, 34,152, - 41, 16, 8, 64,173, 70, 64,232,203, 53, 54,129,237,212,204,196, 38,163,197, 4,214, 69, 6,248,233,147, 87,252, 39,127,246, 91, -223,121,119,222,206, 2,242, 80, 75, 30,135, 89, 55,159, 47, 79,119,195,158, 57, 94,173,183, 5,104,213,182,219,102,119,118,239, - 29, 12,233,118,179,249,163,143, 63,253,242,252,242,197,213,205,213,102,189,222,237,252,175,155,167, 24, 83,138, 64, 41, 68, 80, - 51,156,102,161, 7, 42,147,203,233,166,175,154,255,199,243,120,132,128,132, 38,147, 73, 14,167, 64, 51, 16,146,248,193,133, 20, - 0, 64,173, 98, 45,185,104, 5,166, 48,228, 28,189,199, 81, 68,188, 48, 80, 69, 83, 64, 14, 14,135, 64, 42,126,220,170,230,156, -215,160,151,235,205, 55, 47, 94,206,158,189, 26, 74,185, 92,223,161,200,188,233,150,243,110, 53,235, 22,139,217,114, 54,123,112, -180,124,120,122,116,118,188,122,243,222,201,106,185, 76,132,243, 38, 49, 83,199, 93,149, 12,132,234,171,142, 30,190,119,115, 72, - 16,198,192, 41,185,110,211,166, 64, 33, 33, 77, 6, 54, 53,156, 8, 29, 19, 13, 17, 1, 25,129, 8, 21,145, 25,188,159, 12,160, - 74, 33,128,145,105, 29, 74, 97, 2,164, 88, 84, 77,196,164,114, 12,129,217, 12,213,109, 30,106, 8, 26, 67,210, 24,196, 84,165, -128, 42, 48, 7,130,108, 19,103,212,227, 45, 90, 43, 0,144,243, 17, 12,131,115,135, 76,193, 60,140, 10,160, 90, 10, 18, 8,161, -134,137,129, 55, 61,119,205,219,218,211,138, 19, 26, 34,123,139, 2, 93,129,230, 11, 74,132,211,197,195, 76,127, 17, 20, 63, 20, -144,134,128, 76,175,117,126, 14,155, 48, 3,157,246,130,156,169,134,108, 83,199,199, 75, 84,157, 26,250, 6, 22, 2, 79,104, 1, - 48, 6, 18, 1, 67, 3,154,182,136, 13, 77, 69,205,128, 34, 97, 32, 19, 1, 4, 6,252,248,163,143,122, 9,191,250,131, 15,215, -155,157,155, 34, 16,217,192, 76, 42, 2, 2,138,151, 36,234,202, 78,244, 44,102, 69, 37, 15, 62,250,129,132,122, 48, 18,178, 47, - 18, 79, 82, 43, 39, 12,195, 4, 71,211,221, 38, 87,145,188, 31,158, 63,253,230,217,243,167, 15, 31, 60,124,240,232,237,245,245, -203, 47,127,118,113,125,117,173,104,139,197,252,209, 59,223, 58,187,247, 48,165,180,190,189,122,249,244,201,110,191,221,108,247, - 23, 87, 55,185,228, 90,165,155,181,173,119,244,136, 16, 96, 55, 12,249,110, 8,196,243,249, 66,164,170,202,205,221,118,179,219, - 35,122,239, 12, 9,137, 67,195,140, 62,219,204, 57, 15,101, 48,131, 90, 74, 41,101,204, 85,204, 66,224,196, 24, 66, 48, 67, 81, - 25,203,168,166,251,177,144, 71,142, 76,198, 90, 76,193, 80,199,162,136, 12, 8, 77, 72,145,120, 63,142,178, 23,100, 84,213, 90, -197,212, 74,173,187,190, 18, 83,151,218, 77,159,199, 82,220,210, 11, 2,130,138, 7,143,138,223, 61, 21, 20, 1,176,170, 25, 41, - 26,249,119, 28,136, 14, 66,117, 64, 35, 3, 51, 49,243,112, 18,142,165,150, 90, 42,134,212,198, 24, 66, 3,179,253,184, 38, 44, - 12, 17, 9, 69,180,104, 45, 69, 92,175, 92, 75, 53, 48, 14, 52,107,218, 7,199,199,187, 33, 95,111,118, 33,118, 39,171,147,183, -222,124, 20, 66,216,239,134,167,231, 95,207,218,249,144,199,245,110,211,132, 56,129,249, 28, 37,228, 66, 13,112,176, 10, 42,130, -168, 88, 17,130,218, 35, 56,101,156,153,152, 2, 5,110, 67, 19,153,253,244, 15, 76, 13,209,114,121, 10, 75, 0,134,183,223,120, -115, 24,198, 7, 15, 30,142, 99,217,236,119,227, 56,140,227, 88, 85, 12,160, 88,173,181,130, 89,173, 85,212, 11,246, 73,245, 32, -106, 2,198, 52,237,115, 59, 25,210,212,136,176,138,231,205, 14,110, 3,159,255,136,248, 94, 30,129, 1, 24, 3,154,136,212, 2, -104,132,216, 4,222, 7,178, 90, 96, 34, 19,250, 13, 11,171,170, 31, 17,204, 28, 99,252,248,217,121,174,229,111,253,181, 31, 22, -145,245,110,211,166,214, 52, 31, 47, 22, 93, 10,253, 48, 70,228,156,235, 75,158,255,249,243,155,243, 31,127,113,126,117,185,217, -141,213,252,173, 23,149, 26,152, 24, 88, 93, 65,105,230, 89, 53, 17,229, 80,192, 32, 87, 97,162, 10,224, 68,201,250,154, 30, 66, - 72, 0, 33,134, 82, 10, 24,130,218, 1,244,135, 10, 96,165,154, 86,240,214,147, 2,187, 82,208,227,228,128, 85,133,201, 84,161, -138, 11, 61, 44,139, 16,162,130, 89, 5, 37, 20, 21, 3, 16, 52,241, 5, 61, 70, 83,149, 82,208,148, 16,152, 49, 20,154,135, 4, -209, 0, 97,168,117,123,115, 93, 47,174, 94,187,171, 8, 48, 16,221, 63, 89, 17,211,201,124,118,122,180, 60, 91,204,142,142,143, - 30,221, 59,125,243,236,120,121,180, 88, 45, 86,243, 14, 99, 8,216,116, 50,155,249,141,170, 10,248,250, 8, 99,144,168, 86,213, -204,141, 44, 72,156, 0, 76,164, 34, 29,206, 59, 85,166, 8, 6, 22,146,212,130,140,128, 36,106, 10, 3, 35,135, 38,162, 66,173, - 2,170, 41,178,197, 56,228,140, 38,236, 70, 23,243,125,160, 88, 68,152, 29, 40, 25,212,143, 58,196,136, 36, 77, 35,101,212, 82, -152, 57,164, 36,230,251,252,132,211,238, 10,131, 1, 51,107, 46,222,101, 33, 53, 38, 50,197, 96, 96, 40,134,126, 22, 19,146,136, - 63,152, 21, 25,205,152, 13, 12, 14, 36, 69, 31, 5, 31, 96,144, 58,245,217, 15,184,223, 67, 86, 94,213, 64,144, 8, 29, 55,111, -254,224, 81, 64, 37, 63,255,213,128,212,121,234,254, 83,112,194, 15,161,169,130, 33, 5,191, 31, 79,255,155,252,202,103,122, 64, -210,160, 34, 2, 88,215,196,253,126,215,117,243, 16,200, 84,134,237,250,127,251,195,127,242,163, 95,250,246,180, 81,237,198,166, - 73,135, 41,160, 70, 97, 2, 9,121, 89, 73,166, 8, 12, 19, 71,195, 84,170, 83,128, 1,200,192, 64,166,252, 59, 34, 18,161, 17, -104,150, 93,159,199, 97,204, 99, 38, 10, 55,183,175,158,124,245, 85,205,195,106,177,220,220, 94,127,253,197, 23, 55,219,219, 89, - 59,187,119,118,111,177,152,137, 98, 32, 94,223,188,186,185,186,190,184,190,188,185,219,238,199, 65, 68, 18,115, 10, 60,159,117, -204, 88,198,108,208,152,122,152, 23, 25,217, 84,183,219,254,160, 35,136, 71,139,249, 48, 14, 99, 46, 76,196, 20,153,160,150, 50, -214, 90,164,170,129, 26,228,113, 44,181,136, 72,147,146,145,239,153,217,110, 24,134, 97, 68, 98, 98,146, 42,197,106,195,201, 64, -115, 81, 53, 11,145,170, 98, 76, 92, 75, 54,131,221,208,111, 7,155, 86,149,145,246,251,126, 63,148, 92,165, 40, 18,105,224,184, - 31,199, 42, 2,166, 85,108,114, 93,130, 7,213, 8, 0,164, 24,178,161,122,186,217, 37,247,102,100,193, 51, 88,138,135,159,140, -190, 51,206,190,237,226,168, 69, 68, 64, 29,242, 16, 57,117, 41,201,124,182,222,237, 0, 36, 33, 3, 64, 63,142, 8,180,104, 91, -241,244,172, 41,128,198,192, 47, 46,175, 63,120,252,230,119, 31,191,121,219,151,111, 61,126, 12,132,203, 89,151, 5,111, 54,155, - 71,247, 78, 63,127,242, 13, 66, 56, 61, 58,189, 89,223,237,250, 97, 49,107,134,154, 1,145, 17, 99,140, 8,174, 43, 37,239,141, - 28,214,169,124,155,198,178, 20, 27,109,143,123, 79,192, 50,113, 10,145,153, 99,216, 51, 83,160,200,137, 3,211,106,177,162, 21, -189,129,247, 16, 88, 84, 75,205,162, 58,142,227,102,187, 45, 67,185,237,183,231, 47, 95,249,208,195,247, 60, 68,100,130,158, 34, - 32, 98,209,105, 39, 92,193,180,122, 28, 9,145,144, 12,216,215, 85, 17, 16,125, 39,127,106,245,152, 2, 56,174, 88,213, 11, 38, - 67, 62,240,183,157,172,162,244,255, 83,192, 19, 2, 6,250,236,252,114,252,147, 63,255,253, 95,249,165,183,238,159,130,192,171, -205,245,197,205,237,249,122,251,213,203, 87, 69,232,118,191,239,115,201, 37,251,166,249,178,153,165, 24, 24, 33,103, 85, 0,243, - 29,124, 68,166,102,218,209, 3, 5,110,204,132,136,167,166, 3, 64, 38, 82, 21, 54, 80, 83,168,128,137,216, 47,112, 19,226,207, -215,216, 93, 91, 12, 14,244, 16, 80, 49, 35, 0, 49, 51,172, 85, 66, 17,241, 4,182, 1,154,137, 10, 0,105, 53, 69, 83, 70, 30, -167, 39, 11, 38,112, 21,140,185,165, 34, 66, 64, 67, 17, 20,213, 41, 80, 80, 75,169, 5, 9, 3, 19,138,129, 0, 19, 70, 6, 21, - 70, 66, 3, 45,162,219,126, 24,115,125,121,117, 91,164,238,115,110, 67, 88,204,230, 93,234, 24,117,214,198,163,197,236,222,209, -209,227, 55,238,157, 30,173,190,243,248,209,131, 71,111,213,177,134,182,227, 96, 76,134,196,140,172, 68,160,122,128,153, 35,135, -224, 27, 82,136,196, 33,152,161, 22,225, 38,197,212, 14,227,222,170, 34, 35, 35, 19, 6,201,130, 12, 72, 64,136,165,138,106,230, -233,161, 99, 49,112,169,140,117, 20,171, 4, 72, 24, 69, 65, 64,240,176, 82,175,102,181, 10,115,192, 48,205,112, 3,153,255, 38, -147, 34,219,212, 12,198, 97, 48, 80, 36, 36, 74, 50, 22, 51,157,216,102, 41, 68,117,108,174, 42, 78, 83,121,244, 1,166, 29,144, - 94, 96, 54,149,101, 30, 81,199,137,113, 10,204, 33,198,169,135,126,248,204, 57,231, 8,253, 92, 62, 4, 27, 65, 77,173,162,103, - 43,189, 28,128, 67,237,112, 16,209, 34,177,211,241, 15,170, 12,157, 40, 35,254,179,166,131, 8,136,136, 3,254, 31,255,232,127, -253, 7,255,227, 63,164,216,164, 38,157, 28, 31,175, 88, 16,219, 24, 83, 81, 45,185, 56,159, 18, 76, 8,193, 81, 97,160,134,128, - 42,117,194,227, 33,169,186,254,113,226,176,138,249,121,143, 90, 11, 34,113, 76,206,115, 26,199,186,223,247,227,126, 44,181, 74, - 25,251,126,251,242,249,147, 79,191,248,249,131,179,251,128,118,121,117,211, 38,142,177,121,120,118,186,104, 23, 22, 35, 26, 45, -150,179,126,191,125,242,228,249,211, 23,231,165, 84, 4,104,154, 38,133,224, 53, 81,205, 82,217,220, 37,109,104, 34,121, 55,142, -238, 53, 79, 41,181,177,203, 99,238,247,187, 77,191, 39,230,166, 73, 34,138,104,185,228,109, 63,228, 82, 60,166,201, 33,112, 8, - 41, 70, 67, 41, 85,107, 17, 19, 5,196, 90,197, 24, 85,101,216,143,132,148, 82, 18, 17, 67, 85, 85,173, 54,100,185,221,110,230, -237, 44,165,192,158,201, 67,205, 37,239,246,121,189, 29,198, 90, 29,254, 30,208,181, 12,154,221,239,131,147, 62,195,247, 13,139, -105,240,192,135,161, 42,208,235,239, 51, 26, 26,162, 55,190, 29,244,140,206,154, 83, 68, 12, 7, 13, 0, 29, 54, 45,188,177,144, - 75, 1,196,101,215, 17,242,110,191, 29,165, 6,160, 90, 4,147,229,154, 83, 19,177, 90, 21,245, 36,234, 80,228,231, 79, 95,156, - 30, 45,255,213,127,233,239,214,177,254,241, 95,254,197,217,209,114, 55, 14,167,199,171,227,227,227,250,229,215,199,179, 21, 34, -174,119,251,239,127,240,189,199, 15, 31,156, 30, 45,215,251,253,159,254,213, 79,246,227, 78, 69, 68, 37, 48, 85, 17,166, 72,165, - 32, 34, 5, 33, 3, 12,140,196,222, 54, 49, 68, 53, 45,162,163,100, 2, 2, 68, 66, 76, 20,128, 49,112,100, 34, 36,238, 82,106, - 98,226, 16, 3,117,204,164,243,197,189,147,123, 49,144, 33,230, 92,174,174,175, 46,110,174,155, 20, 8, 97, 44,165,168,152, 23, -216,106,132, 88, 85,137, 48, 48, 87, 44, 8,192, 4, 34,126, 11,115, 20, 48, 16, 0,241,161, 39,111,128, 76, 28, 8,171,131, 66, - 32, 48, 87, 21, 21, 67,159, 50, 33, 25,184, 31, 97, 82,197, 35, 96,176,160, 0, 95,156, 95, 17,252,244,131,183,238,127,254,226, -234,197,122,125,187,217, 87,129, 20,120,222, 80,140,141, 59, 44, 49,160,169, 41, 26,169,103, 46,167,212,243,129,134, 58,149,183, - 0, 8, 90,212,144, 9,226,164, 89,166,160, 42,168,197, 12,128,140,170, 33, 84,176, 96,213, 87, 79,212, 0, 80,139, 74, 34,244, -193, 34,121,131,222, 43, 2,240,130, 89, 20,148, 0,201,231, 56, 62,208,211,137, 99, 12,254, 88,159,228,157, 6,102,204, 76, 82, - 29,224, 94,173, 86, 53, 2,100,128, 97, 24,157, 83, 41,234,144,209, 82, 85, 0, 16,148, 16, 60,219,173,168, 98,218,136, 26, 49, -144, 80, 66,103,102,170, 89, 29,213,246,235,225,229,205,221, 79,190,252,166, 9,105, 24,243,127,248,247,255,133, 95,251,157, 31, -221,222,109, 75,209, 50,150, 49,143,232, 61,182,195,135,188,153,205, 99, 51,179, 42, 76,202,156,212, 76, 74,230,192, 6, 25, 12, -138,148, 16,131,144, 18, 64, 21, 53,172,212, 54, 40,181, 84,149, 98, 33, 48, 7,158,234, 0, 10,166,142, 86,111, 69, 51,146,119, - 16,176,141, 51, 1, 45,146,107, 29, 3,199, 24,147, 65,213, 42, 85, 32, 53,141, 42,154,136,103,223,253,194, 77,129, 16,217,140, -144, 76,171,114,215,120,136, 54, 16,134, 34, 3, 81,152,122,213,236, 4, 94, 7,225, 78,254, 61, 56,200,142, 15, 14,105, 31, 59, -123,222,157,224, 53,113,221, 38,143,210,129,248,168, 48, 5, 40,125,111, 85, 39, 45,134,175,227,185,228,101,242,126, 28,160,141, -168,134, 1,188,197,133, 19, 80,223,237,127,226,239, 19, 78, 19,134, 39, 95,124,250,223,252,119,255,195,203,157,158, 46,106,190, -189, 59,127,113, 94,213,126,251,215,126,253, 31,255,225, 31,190,241,248,189,119,223,125,171,150, 50,141,179, 14,146,245,137,227, - 75,236,191,254,107, 96,217,107,248, 0, 79,219, 22, 2, 20, 84,160, 31,181,228,220,239,198,113,232,107, 25, 17,116,236,119, 47, - 47, 94,125,252,201,199,219,125,158,207,103,151,183, 55,100,120,188,154, 47,230,139,118, 62,107,218,212,197, 48, 86,123,117,121, -241,252,167,231,235,245, 54,231, 28, 82,211,166,196, 68, 49,177, 40, 4, 98, 3, 81,177, 24, 89,198,220,247,195, 68,108, 98,236, - 82, 7, 8, 67, 25,174,111,111,199,113, 68,228,174,105,192,108, 55,246,251,190,119, 38,143,136, 49, 97,138, 13,115,100, 70, 0, - 27,242, 40,213,218,216,142, 50,172,183,219, 10, 74, 16,192, 80, 84,221,150,161,112,104, 22, 82,192,132, 9,108,185,176, 54,198, -162,101,172,197,128, 25,240,118, 51,108,251, 49,151,202, 19, 77,194, 12, 44,155, 5, 64,158,112,160,238, 46, 87,247,110,177,239, -171,137, 18,163,169,235,139, 12,192, 64, 20,144, 39, 49,139, 29, 2,170,160,135, 10,143,144, 21,225, 32,210, 68, 5, 35, 52, 96, -132, 90,242, 94,164,107, 82, 10,171,109,223,151, 82,134,113, 92, 52,211,250,120, 64,170,128,165, 22, 64, 20,213,171,117,255,224, -222, 89, 25,182,159, 63,121, 9, 24, 62,120,255,219, 79,207, 95,198,148,182,235,245,188,235,152,224,226,230,230, 91,111,189,245, - 43, 31,126,235,231,207, 94, 60,126,244,240,114,189,126,247,237, 71, 47, 94,190, 66,176,243,171, 11, 10, 60,140,153,188, 87, 34, - 74,132,134, 24, 34, 7,160,144, 2, 96, 32, 48, 38,118,186,180, 6,243,225, 66,150, 34, 21,136,138,155, 6,118, 59, 12,156, 56, -114, 36, 10, 41, 70, 98,134,144, 9, 21,113,214,181,111, 60,124,120,239,228, 76,172,168,193,174,239,135,126, 95, 75, 25,203,184, -239,199, 82,107, 24,177,152,223,202, 15,223, 28, 38,158, 32,214,200, 60,161, 51,166,164,177, 63, 32, 85,152, 2, 17,171,100, 0, - 99,114,229, 24,160, 65, 64, 84, 51, 69, 50,167,234, 57, 22, 30, 13,209,218, 72, 63,127,117,251,217,249,229,118, 44,140,216, 53, -177,137,254,117,101,191,127,218,164, 86,152, 24, 36, 72, 78, 37, 65,125, 45,173,113,178,176,139,107,204,124, 21,190,170,132, 24, - 84, 39, 38,171,248,147,200,195,121, 6,136, 36, 34, 41,113, 29, 43, 48, 51, 18, 0,166, 64, 67,241, 69, 70, 35, 66, 81, 16,177, -170, 83, 46,131, 24, 69, 64,192,212,109,217,224, 56, 0,212, 9,248, 14,136,152, 85, 3, 64,203,140,211,210,185,169,184, 26, 20, -128,120, 63,150, 41,185, 98,134,211,243,233,176, 22,233, 2, 20, 64, 81, 80, 21, 15, 95,123,159,197,135, 7,185,102, 85, 83, 21, - 52,232, 98,156,117, 77, 74, 60,239, 58, 20, 11, 68,221,162,129, 85, 82, 85,145, 98,170,165,148, 90, 93, 3,179, 23,201, 28, 26, - 17,180,113, 67, 28, 24, 88,242, 32,170,168, 18, 82,139, 6,160, 98, 86,153, 25, 12, 24,188,167,129, 20,131,199,200,252, 81, 94, - 85, 3, 98, 12, 49,107, 38,136, 0,232, 47, 81, 5, 81, 21, 4, 11,222,193, 69,168, 50, 41,221,171, 20,166, 38, 48,138, 59,196, -196,164, 86, 4, 35, 52,226, 0, 0,200,177, 74, 77,104, 4, 22, 0, 80, 13, 77,196,199,189, 32,250,250,189,245, 59,184,136, 76, - 77,138, 3, 23, 0,180,122,197, 25, 56, 58, 7,206,251,245,228,117, 37,251, 76,107,106,250, 76, 50,107, 4,164, 56,189,244, 6, -135, 65,187, 7, 86, 4,129, 16, 9,216, 38,135,146, 55,218, 39,162, 1,121,208,157, 48,170,137, 63,117, 76,245,241,251,223,253, -123,255,242, 31,252,215,255,253, 63,116, 73, 66, 12,109, 54,249,217,151, 95,125,244,201, 71,127,227,247,126,255,251, 31,126,235, - 58,103, 80, 33,226, 64, 92, 65,225,176,185,229,221, 68, 5,163,105, 22,236,104, 58, 36,160,172, 2,162, 34, 92,139,149, 82,182, -155,219,190,223, 90,173,196, 36, 82,159, 62,249,230,203,111,158,172,183,251,132,180,154,117, 90, 43,165,248,222, 59,111, 29,159, -158,206,186,217,122,189,126,242,226,197,205,245,245,122,187, 99, 3,111,132,206,187, 24, 99,104,218, 6,145, 68, 10,146,186,118, -217,207,229, 90,196, 64, 3, 48, 16,182, 41,110,242,122,183,223,101,209,200,161,105, 58,211, 58,228, 97,179,221, 86,169, 96, 24, -136, 99, 10,129, 25, 13, 69,171, 65, 21,245,207,143,246,253,120, 43, 27, 85, 43, 34,128, 40, 38, 0, 16, 41, 18,123,161,140, 38, - 86,138,204,187,121,219,117, 82,235,118, 8, 23,151,151, 64,156, 98, 36, 47,196,144, 76,209, 73, 31, 38, 0, 96,242, 11,242,130, - 78,195,118, 63,174, 81,236, 96, 46,124,221,181, 3,143,114, 79, 80,185, 73, 81,110,224, 31, 36,251,133, 96, 23,196,227,183,230, -192, 31, 23,100, 29,122, 23, 6,186, 27,251,200,113, 57,155,143, 57,239,199,190, 47, 37, 40, 35, 66,228,144,179, 0,216,209, 98, -121,124,180,124,235,254,131,211,227,249, 59,143, 30,125,253,244,229,241,106,126,117,115, 99, 64,243, 38,237,153,110, 55,155,253, -176, 59, 91,172,126,240,157, 15,190,124,246,124,183, 27,186,118, 86,164,158, 95,190,236,115, 63,140,101,170,228,204,198,154, 85, -100,179,223,139, 2, 49, 53, 49, 52, 49, 49, 97, 8,132,196,129, 25,145, 66,226, 36,193, 27,122,190, 66,229, 25, 98, 1, 33,196, - 92,118,144, 1, 21,140, 56, 16,197, 20, 2,167, 38, 4,171, 89,192, 76,141, 57, 18, 26, 50,117,109, 71,243,165,106, 21, 53, 5, -171, 89, 74,201,253,216,247,195,176,222,238,110,215,119,185, 31, 70, 51, 50,100, 14,106,224, 59,223,174,238, 33, 35, 12,228, 23, -231, 64, 72, 8,204, 60,214, 2, 64,132,168,206,237, 10,225,224,134,155,164,165,222,252, 36,164,121,162,106, 36, 10,106,224, 62, -107,158,250,147, 10,230, 56,247,105,238, 45, 86,153,153,144, 1, 21, 1,130,129, 78, 52, 51,159, 15,168, 26,138, 78,192,121,240, - 25,130,169,249,202,161, 40,120,202, 7, 16, 20,170,148, 32,147,177, 27, 8,153, 25,153,235, 96,168, 94,195, 24,120, 58, 14,192, - 39,177, 42, 38,166, 65, 39, 85,146, 18,128, 0, 51,153, 30,160,234, 62, 79, 86, 45, 85,109, 42, 11,209,192,162,151,245,160, 38, - 85,112,210, 63,192, 52,192, 38,191, 96,190,254,248, 33,162, 34, 0,161,122,108, 0, 13,205,249, 42,182,207, 25,181,154, 90,211, - 36, 81,169,185,214, 34,226, 21,111, 21,164, 98,106,104,170,102, 33, 4,102, 87,195, 1,152, 32,100, 65, 52, 18, 52, 21,149, 92, - 70, 83, 20, 0,217,141,218,151,217,124,142, 20,164,142,158,220,101,118, 81, 19,136,178,138,170,168,128,166, 24, 1,200, 16,152, -130,104, 65,162, 67,116,219,199, 6,164,104,102, 24, 41, 16, 83,197,172, 62,215, 1, 69, 34, 15,215, 35, 19, 6, 12,196, 24,130, - 22, 1, 80, 38,139,161, 1, 19,172, 37,248, 16, 5, 12, 0,217, 3,141, 70, 19, 3,192,251,240, 96, 64,254, 15,242,181, 86, 64, - 35, 50,127, 5, 19,193, 33,133,110, 98,194,132,248,250, 94, 76, 62,125, 3, 87,159, 78,189,243,169,103,228,231, 2, 78, 92,245, -224,162,130,234, 48,162,195, 93,219, 76,200, 67,144,164, 40, 83,215, 29,125,252,139, 0,156,126,227,183,126,247, 39,127,245,217, - 95,126,121, 62, 22, 5,172, 98,245,249,179,175,175,119, 35,254,223,127,252,175,252,139,191, 23, 17,170, 1, 0,138, 1, 35,187, -125,220,107, 34, 39,200,212, 90, 76, 32,117, 45, 49,155,218, 80,180,100, 21,195,177,223,110, 54, 55,195,230, 70,181, 16, 52, 24, -224,213,249,213, 23, 95,124,241,234,246,246,236,228,232,209,189,123,254,140,185,127,239,228,241, 59,239,150, 90, 63,254,228,147, - 39, 47,206,183,155, 45, 50, 53,169,233, 98,116,109, 83,219,134,200, 41,196, 84,107,221,247,123,169, 38, 32,104, 48,150, 44, 62, - 22, 16,193,192, 49,165,128,184,221,237,247,117,156, 55,179, 46,145, 66,237,251,221,221,110, 39, 53, 35,133, 16, 98, 74,145, 0, -106, 21,138,228,153, 76,100,220,237,251, 82,234, 56,142, 67,205, 67, 17, 52,240, 37,108, 71, 81,215, 92, 20,168,141, 12, 8,185, - 10, 80,192,192,221,172, 67, 83,142,169, 31,199,190, 31, 1,145,137,170, 74,155, 82, 79, 67, 21,144,170, 96, 54,249, 33, 0, 0, -176,250,136,115,218, 52,112,150,160, 47,240,201,107, 78, 4,161,153, 84, 18, 52, 70,240,110,236,228,142,240,176, 7,152,107,214, - 16, 84,125, 72,134, 7,110,219,107, 23, 35, 32, 98,128,168,162,131,230,211,213,252,141,120,180,222,236,171, 8, 87,170,117, 60, - 93,173,254,218, 15,126,248,203,223,253,246,217,209,241,213,245,205,205,230,174,235,230, 63,127,242,205, 63,247,215,127,253, 39, -159,126,129, 0,127,244,167, 95, 75, 41,187, 97,124,116,239,222,143,190,247,221, 24,194, 23,223, 60,249,240,219,239,253, 47,255, -232, 15,127,254,252, 89,140,225,187,239,188,255,217,147,175, 36,151,181,202,221,250, 46,139, 34,113,147,218, 89, 55,107, 34, 65, -213,106, 58,230,177,102, 25,139, 53,109,154,165,176, 94,103, 10,161,235, 98, 12, 33,134,164,166, 76,204, 20,220, 9,163,100,100, - 17, 3,130,214,177, 74,174, 57,114,206, 28,183, 62,116, 34, 8,192,109, 19,230,179,217,241,201,106, 53, 91, 44, 22,139,197,114, -217,164,132,224,208, 43, 37,166, 97,216,247,195,112,187,221,223,222,220, 92,222,220, 92, 92, 95, 95,223,221,109,118,187,113, 24, - 21, 16,136, 34,154,130, 53,137,171, 26,249, 22, 9, 10, 81, 64, 0,102, 14,200,194, 64,170, 8,134, 85, 9, 95,231, 18, 4, 12, - 98,224, 64, 80, 11, 18,128, 0, 84, 55, 60,160,209, 65, 81,227, 89, 55, 5, 83,180, 68, 36,102, 85, 20,193,200, 64,208,204,128, -201,199,132,140,204,117, 20, 96, 68,196, 20,130, 1, 72, 17,181,233,140, 7,223,122, 12, 0, 78, 87, 55,200,165, 4,242, 46,196, -116,133,102,132, 74,147,172,195, 0,101, 66,157, 24, 57,242, 89, 9, 95, 63,239, 41, 32, 84, 10, 80,242, 97, 68,230,119, 8, 52, -213, 26, 83, 16,255, 98,147, 41,128, 2, 4,131, 38,165, 34,117,132,202, 24,188, 28,170,135, 91,188, 63,142,166, 63,168, 30,118, - 56,209,196, 52,152, 41,138,104,201, 37, 48, 35,186,123,141,188, 9,129, 64,222,156, 48,169, 70,135, 46,238,228,150,245,184, 97, - 48, 83, 4, 99, 99, 65, 8,204, 33,206,167, 35, 18, 76, 22, 77, 63,150, 50,246,165,102, 4,202,219, 29,161,174,142,143, 65, 33, - 4, 78,169, 17,199, 67,233, 33,202, 2, 96,200,117,204, 68, 16,187, 14, 20, 84,132, 56,160, 66,213,202, 42, 20, 99, 84, 54,173, -197, 4, 77,128,162,203, 41, 1, 45,181, 51,160, 70, 84, 17, 70,173, 89,148, 74, 41, 0, 86,198, 26,204, 44, 16,187, 88,212, 7, -125,147, 74,148, 24,181,138,186,192,197, 5, 52,206,226,114,189,246,212,192, 57,204, 48, 13,167, 81,172,247,225,205, 49,188, 56, -133, 61,217, 84, 16, 25,220, 71,240,186,181,232, 44, 80, 55,225,137, 77,115, 39,169,126, 11,161,224,240,107,179, 98,134,130, 8, -200, 65, 93, 4, 8, 38, 90, 67,211,158,157, 29,133,111, 94, 50,113, 95,198,191,253,183,255,206,223,255,187,191,251, 31,255,167, -255,217, 71,207,111,239,110,215,247, 79, 87, 8, 40, 90, 35,199, 73,176,164, 21,129, 28, 32,105, 0,134, 65, 8,106, 1, 85,200, -185,236,247,125, 25,247,155,187, 43,169,125, 41,194,204, 99, 63,188,186,120,250,252,229,121,191, 31, 87,199,171, 31,125,248, 97, -215, 70, 49,107,186,166,107,103,219,253,238,159,254,241,255,243,244,233, 11, 84,156, 47,218,163,213, 74, 75,165, 72,136,200,132, - 41,165,192,156,115,222,247, 89,180, 26, 88,169,101, 59,246, 42,214,196,232,143,103, 64,146, 34,125,217,138, 89, 12,180,104, 90, -209,124,181,223,229, 33,103,169, 76,212,181, 11, 87, 56,214,146,199,113, 64,132, 93,191, 51,128,174, 73, 6,160, 34,187,253,190, -207, 85, 14,210, 6, 64, 8,136,200, 44,110,206, 50,219, 13,121,172, 18, 66, 56, 89,117, 0, 8, 68,203,249,113, 72,187,162,114, -125,123,155,135, 33, 5,130,138, 33,193,201,114, 46,106, 85,178, 20,237,171,136,135, 66,193, 0, 72,138,137, 21, 15, 85,161, 17, -128,232,180,220,172, 0,236,253,129,131,142,124, 10, 68,191, 70, 38,123,119, 21, 64, 13,244,160, 51, 68, 0,100, 36,100, 50,209, -170,114,160, 80,184, 5, 27, 8,112,187,207,139,123,179,227, 85,216,238,119,106,150, 82, 60, 61, 57,249,217,151, 95, 32,193,111, -252,234,175, 62,189,120,117,117,125,243,103, 31,125,244, 7,191,247, 55,193,240,234,230,246,110,183,101,179,211,147,179,251, 32, -247, 79,206,250,220,255,244,203, 47,193,234,221,245,237,237,110,247,224,232, 56,197, 16, 80, 77,236,102,191, 55, 85,160,112,178, - 88, 44,218,200, 33, 52,137,251,177, 8,212, 89,140, 2,154, 51, 0, 85,239, 39,109,246,251,237, 48, 6,226,227,197,114, 62,107, -124,170,204, 68,196, 76, 72,145,137, 89, 72,200,145,135,196, 20, 34, 51,211,178,107, 87,179,249,209,209,124,217, 45,142, 87,203, - 7,247, 78, 23, 71,171, 38,164,110,190,108,187, 6, 57,198,208, 32, 18, 51, 41, 96,238,119, 82,133, 2, 73,201, 67, 63,230, 50, - 12,251,225,250,246,238,249,203, 23,215, 55,215,175,174,110,206,175,174,251,113, 44,181,108,182, 61,249,188, 36,155,169, 16,147, - 78,155,241,147, 28,144, 2, 50, 51, 30,114, 16, 16,152,249,144,129, 64,245,224, 26,185, 43,141,208, 0, 2,130, 0, 25, 0,249, -206,253,100, 34, 7, 84, 31,237,249, 56, 16,170,154,162, 69, 85, 67,101, 32, 19, 19, 81,102, 34,162,215,177, 31, 31,183, 76,236, - 61, 3, 37,223,106, 3, 85, 13, 49, 32, 76, 19, 26,157, 0,124, 38, 82, 99, 8,136, 19,114,209,151,187,244,128,242,155,232, 49, - 66, 58,177, 24,136,129, 92,202, 3, 8,234, 78, 47, 55,165,120,129, 15, 20, 27,166,202,125, 41,191,160,221, 30, 98,205, 94,205, - 0, 26, 1, 16,177,128,248, 5, 72,204,129,184,160,134, 6, 26,136, 83, 72,204, 44,104,106, 26,152, 60, 48,231,135,149,233,193, -241, 0, 24,188,154,240,198,254,244, 8,241, 50, 2, 85, 11, 76, 37,170, 17, 83,215,112, 23, 16,176, 19,145, 82,115, 85,232,251, -141,130,201, 86,193,128, 56, 32,114, 12,129,145, 93, 21,146, 56,104, 67,138,106, 82, 69,192,197,132, 68,200,212,148,154,163,162, - 25, 34,179,235,225,189,155, 69, 76, 41,118, 20,163, 26,128,168, 48,131, 48,162,184,160, 43,166, 24,124, 70,195,164,106,138,222, -233,113,168,130,200,148,129,132, 26,220, 91,228, 23,187,105, 44, 64,240,122,156, 58,153,103,109,122, 49,224,208, 79, 7, 50,127, -202, 50, 3, 18, 30, 72,147, 94, 19, 76, 18, 73,143, 87, 22, 53,156,150,152, 60, 41,139, 83,236,210, 59, 62,135,241, 45, 26,146, - 11,124, 3,154,197,212,157,156,156,196, 16,108, 28, 9,237,195,247, 31, 47,239,191,253,239,255,187,255,222,215, 47, 46,222,184, -127,154,165, 18, 34,249,146,147,191,201, 22, 20, 76,180, 42, 54,128, 73,209,198,220,247,187,245,110,123, 11,160,253,110, 43,181, -214,113, 24,114,190,189,187, 27,246,187,167, 47, 94,222,237,199,119,223,124,248,230,123, 15, 30,156,158,238,199,129, 98,179,217, -220, 62, 57,127,181,221,238,250,126, 47, 34, 71,243,101,140, 68,132,166, 48,155,207,129,212,239,190, 82,202, 48,228,177, 12,106, -152,203,184, 31,134, 92, 74, 76, 77, 27, 83,206,185,170, 17,152, 47,103,167,148,128, 96,236,135,245,176, 21, 81, 69,136, 28,102, - 33,229,156,183,253, 46,231,108,104, 12,160,196, 94,250,116, 77, 82,131, 82, 11,152, 6,230, 38,162,177, 9, 64, 46, 89, 68, 81, - 77, 12,198,177, 20,145,249, 98, 53, 14,163, 24,204, 83,211,196,208,180, 29, 24, 50,208,106,182, 84, 49, 4,188,190,185,164, 16, -131, 9,171,142,165, 0, 81, 96,142, 28, 79,219,118, 40, 5, 0, 57, 4,169,117, 44,165, 31,185,106, 5,133,125, 46,224,187,109, -190,109,140, 24,152, 39,241, 49,144, 19,129, 8, 80,124,124, 98,102, 0,213,243,193, 2, 72,211, 12, 29,253,147, 86,157,169,239, -233, 16, 80, 3,144,226,242, 94,149,250,205,249,171, 20, 82,100, 34,198, 93, 63,252,252,155, 39,187,156,111,215,155,245,110,207, - 28,150, 77,184,184,188,250,209,135,223,251,175,254,219,127,240,245,243,167,219,221,240,214,131,179,229,172, 93,180,205,243,203, -139, 79,191,220,236,198,225,151,223,123,175,214, 50,239,154,161, 31,158, 93, 92,252,197,231,159,143, 99, 65, 14,247,143,142, 56, -134, 89, 10,226,254, 63, 32, 55,150,149, 34,175, 23,253,162,219, 19, 8, 3,179,175,153,148, 42,102,134, 25, 8, 81, 85, 82,106, - 76,149,153,145,177, 73, 13, 17,182, 93,119,180, 92, 52, 41, 53,145, 17,177,140,117,135,253, 88,203,237,122, 29, 83, 76, 49,165, -192,177,105, 98,224,182,105, 83,211,116, 93,155, 82,215,117, 93,136, 77, 4,167,225,116, 11, 64,169,245,222,155,143,190,243,225, -135, 53,143, 67,223,239,251, 97,191,219,221,238,119, 55, 55,183,125,223, 95, 92, 93,157, 95, 92,188,188,188,185, 94,223, 14,227, - 40,166, 82,235, 80,106,100, 98,167,222, 33, 50,162,168, 17, 25,161,138, 10, 57,196, 65, 13, 16,196, 27, 47, 6, 7,199,185,137, - 11,196,167,131,210,200,231, 2, 7, 97, 41, 32, 86, 81, 35,216,245, 3, 35, 66, 12,168,130, 94, 68,136, 77, 20, 28,175,225,192, - 16,216, 13, 11, 4,102, 98, 74, 58, 61,241, 1,212,192,204,170, 86,123, 61,112,115, 71,142, 79,231,241,181,146,243,144,214, 38, -239, 26, 79,171,135,135,101,115,111,113,160, 79,250, 15, 43, 57, 83,168,207,197,182, 94, 13, 42,168, 39,158,189,123, 48,197,165, - 16, 25,253,251,105,116, 88,119, 84,223, 66, 64,242, 49, 53,161, 63,180,176, 77,105,250,165,167,203, 40,153, 26,210, 65,215,137, -232,203, 76,126, 75,179,195,125, 6,192,165, 17, 14, 83,215,201,149, 34, 25, 57, 0, 96, 19, 40,197,160,106,210, 84, 4,168,213, -212,164,152, 20, 49, 43, 40,158,245, 80, 52,211,148, 26, 34, 66, 85,110,102,192,164, 42,140,236, 26, 91,153, 54, 71,145,136,137, -128, 66, 40, 90,104,172,128,172,181,162,169, 15,234, 25,217,204, 68, 53,120,109,124, 80,160,122,168, 82,209, 96, 28,247,138, 16, - 98, 98, 12,192,234,207,241, 73,154, 1, 7,162,129, 41, 26, 34,177,119, 27, 38,199,152,185,203,132,166,115,158,144, 1,100,154, -218,226,100, 3,156,108,123, 56,125,198,216,208, 87, 38,124,250,141,138, 46, 8, 6,243,119, 85, 77,161, 40, 78, 15, 34, 64, 53, - 32,131,144,222,126,231,209,172,249,201,205,126,247,111,253,189,127,243,111,254,238,111, 93,223,174,219,229,201,247,150, 39, 99, -206, 46, 64, 83, 21, 49, 9,196, 96,152, 85,139, 24, 88,163,162,187,237,171,187,219,203, 60, 12,181,230, 54, 54,155,237,238,110, -125,179,185, 91,143, 99,217,236,182, 23, 55, 55,187,113, 24,134,252,155, 63,252,254, 59, 15,239,109,250,225,235,103,207, 95, 92, - 94,170,170, 41, 68,102, 38,106,155, 70, 65, 83,136, 77,140,181, 20,136,147,246, 88,164, 74,150, 2,178, 27,122,149, 58,150,234, - 76,184, 38,182, 77,211,212, 90, 74,201, 49,133, 20, 98, 32,206, 85,214,187,253, 48, 12,128,126,231, 49, 16,237,181, 82,128,126, - 28,107, 22, 66, 42,160,168,150, 18,165,192, 33,132,148, 18,170,133,166, 51, 21, 77, 96,125,191, 29,199, 82, 10,136,229, 92, 55, -251,190, 22, 49,131, 16,194,138, 98,106,177,239,183,137,136,153, 82, 74,132, 40,181,132, 54,205,218, 57, 32,170,202,118,191, 13, -145,135,221,110,148, 74, 24,198, 33,171, 72,215, 53, 99, 29,115,214, 54,197, 89,155,174,238, 6,145, 82, 85, 23, 41, 22, 6, 85, -200, 94,177, 1, 86, 25,198,106,136,180,104, 23,164,162,170,128,254,205,135,195, 90,244,161,168, 3, 51, 65,142,129,137,204,196, - 79, 86, 1,129,131,150, 17,255, 63,166,222,228,201,146, 43, 75,239, 59,211,189,238,254, 94, 68,228,136, 4,178,208, 72,160, 10, -133, 2, 10,133,170,234,177,154,205,238,102, 75, 38,146, 34,165,141, 54,250, 87,100,166, 21, 55,210, 74, 75,153,100,148,204,180, -144, 22,148, 22,220,203,180,144, 68,177, 57,136,109,106, 90, 79, 53, 0,141, 49,231,200,136,200,136,120, 17,239, 61,119,191,247, -156,163,197,185, 30, 40, 24, 12, 11,100,100, 90, 70, 60,247,123,207,240,125,191,143,192,201,168,137,173, 29,220,231,105,174,232, -146, 51,128, 87,117, 97,222,238, 71, 51,115,155,254,242,201, 55,111,222,125,240, 63,255,243,127,158,200, 62,249,224,253, 63,255, -155, 95,117, 41, 37,198,199,175, 94, 61,125,121,140, 68,111,222,191,115,118,121,113,126,181, 59,223,108,166,121,158,107,217,205, -179, 16,175,114, 74, 89,192,148, 72, 98,148, 69, 68,132, 22,233,151,220, 68,191,212,183,144,140,152, 46,185,153, 9, 68, 48, 54, -127,164,218,126, 0, 0, 32, 0, 73, 68, 65, 84,104,200,254, 16, 38, 51, 44,133,136,204, 9,220, 78,207, 55,167,231,175, 69, 82, - 34,236,115,151,251, 62, 9, 15, 41,231, 62,175,251,190,239,186, 33,119,195,106,232, 82,215,101, 1,132,156, 83, 78,105,213,117, - 93,238, 83, 78,125,238, 68,114,215,103,233,114,226, 14, 68,250,131,131,225,240,214, 29,128, 50, 79,101,154, 34, 98,177,150,178, -223,237,171,233,118,187,221,238,118, 47, 94,157, 60, 63,126,254,234,228,244,229,217,235,205,213,245, 84, 74,169, 85, 17,170, 59, - 34,177, 80,226,206, 92, 17, 32, 49, 59, 2, 97, 0,129, 48, 10, 52, 71,211,166, 91, 39,107, 34, 93, 50,168,177,225,173,174,213, - 42,129,171, 59, 24, 42, 32, 49, 87,176, 82,106,183, 94,185,151, 22,228, 19,193,216, 11, 84, 53, 80,105, 46,208,178, 49, 29, 8, -145, 16, 84,219,218, 5, 93,145, 40, 94, 98,173, 21,146, 52,183,161, 81,156,231,222,246, 54,104, 8,160, 14,130, 75,163, 16,190, - 11,144, 69,211,225, 0, 2,208,166,234, 30, 33, 24,128,224,218,250,138, 88, 7,196,182,207,221,169,154,133,202, 40,164,249, 14, - 28,131,108,110,147,105, 20, 68, 6,174, 45,235, 77,209, 20, 68, 22,163, 71, 88,144, 26, 13, 55, 80, 89,176,252, 23, 91,125, 27, -161,111, 96, 22,231,123,196, 62, 65,117, 5, 3, 35, 50, 83, 4, 96, 32,141,234,219,157, 24, 73,200, 99,125,138,136, 0,101,198, -113,222,199, 29,171, 87,215,132,158, 83, 39, 34, 76,243,208,119, 57, 15,224,125,245, 26, 20,150, 54,140,211,234, 54,155, 53, 86, -164,154,154,107,151, 68, 82,150,134, 62,140, 40,120,136, 80,104, 2, 80,104, 42, 87, 34, 34, 45, 21,127, 45,225, 34,246, 62, 45, -178,176,197,163,198,245,127,131,160, 97, 12,123,196, 18,140,221,248,234,237,113,112, 12, 51, 95,236,199,205,219,154,179,209,127, -169, 9,103,189,137, 54,227,154,176,224, 32, 56, 48,130,130,129,131,170,126,239,251, 31,189,255,232, 47,206,175,174,254,252, 47, -254,242,247,126,243,147,135, 15,238,107,144, 3,157,193,201, 45,196,178,190, 29, 75,169, 62,215,121,127,189,223, 94, 95,108, 47, -207,129, 60,247, 67,166,238,250,250,252,228,234,197,102,179, 57,187,216, 92,239,198,205,126,111,238, 12,246, 27,247,238,173, 87, - 7,168,246,255,253,205,175,230, 82,166, 90,250,190, 59, 90,175, 81,141,146, 76,115,233,251, 62,160,201,165,148,170,202, 0,165, - 76, 83,213,237,126, 55,149, 74,136,224, 80,138,185, 27,177,116, 41, 51,147, 91, 69,244,245, 48,152,131, 22,221, 76,187,105,158, - 40, 48,159,104,213,124,156,138,187,151, 50,155,249,106,232,136,220,221, 87,146, 73, 66, 89, 33, 34, 4,224,187,121,174,181,152, -195, 84,202,126, 63, 22,179,243,203,125, 47,121,181,202,215,251, 73,152, 0,201,106,153,167,221,193,225,209, 52,143,213,189, 58, -148, 90, 19,167,209, 77,231,210,119,121, 42,124,235,240,246, 56,141, 69,173, 78, 51, 2, 36, 78, 38, 58, 47,241, 89,230,243,118, - 95, 9,161,216,156,114, 63,237,118,213,157,137, 51, 51, 85,221,169, 18,120, 45,109, 92, 86,185,152, 71,195, 36, 14, 46, 66, 72, -174,165, 21, 96, 81, 20, 75,162, 46,101, 55,175, 78,137,221, 92,201,227,212, 16, 10,207,106,173,106,176, 36,236, 26, 17, 24,242, - 28, 87, 53, 25, 40,108,107,249,252,155, 47,127,247,147,159,220,221, 77, 47, 78, 95,253,187,159,255,229,135,239,189, 43, 44,235, -126, 24,250,225,151, 95,126,115,118,185,233, 58, 41,251,114,126,113, 61,149, 82, 74, 81, 51, 4, 76,196, 8, 4, 72,130,220,165, - 52,206,234, 14,140, 76, 34,132,128,192,166,213, 29, 52,150,144, 64, 90, 29, 51, 58, 97, 76,120,205, 93,137, 96, 54,103,100,193, -162,160,110, 45, 39,129, 80,205,136, 96,154,167,205,246,122,158,231,169,234,186,235,238,221,185,219,103, 49,119, 38,200, 93,238, -114,223,119,169, 75,121,181, 26,214,125, 78,185,235,115, 78, 44,253,208, 13, 93,223, 17,165,156, 72,120, 72,137, 24,153,164,203, -221,106,189,202,125,223,247,125,204,115, 68, 56,165, 78, 97,181, 62, 58, 68, 71,115, 53,181,143,127,232,243,180, 87,211,237,213, -110,115,117,117,189,187,186,216, 92,157,158,111, 78,206, 78, 47,175, 55,187,237,190,104, 25,167, 66,233,234,122,187,171,101, 6, - 18, 96, 36,201, 8,144, 18, 67,117, 87, 7,196,204,162,110, 70, 97, 75,105,154, 66,104,193, 8,132,110,171,190,175,102,141,101, - 2,192,205,158, 98, 6, 75, 27,191,168,171,133,196,213, 84,227,165, 70, 53, 16,136, 50,182, 80, 51, 48, 18, 69,208, 34, 2, 16, - 9,199,200, 5, 0, 12,127, 61, 78,231,102, 30, 31, 69,222, 77, 34,115, 51, 81,218,183,206,169,246, 79, 59, 81, 0,144,131,107, - 2, 74,203, 95,207, 1,144,141,154,247,161,141, 16, 4,129,144,237,198, 95,230,145, 64, 17, 99,101, 52,171, 49,173, 90,124, 5, -184,240, 80, 22,157,246,242, 95,132, 95, 27, 76,123, 4, 52,147,186, 57,134, 70, 74,172,204, 76, 24, 55,209, 98,246,141, 11, 5, - 33, 8, 95, 6, 8,173,246, 37,162, 62,177, 69,226,220, 0,213, 76,171,206,102,101,156,232, 26, 25,185,239,187,156, 6,247,210, - 15,189, 71,114, 33,160,161, 51, 83,124,215,237, 90,131,228, 54, 10, 32, 0, 90,219,106,104, 88, 14, 21, 0, 82,234, 0,129,137, - 22,253, 98, 67, 18,184, 1,210, 34,130,108,202,241,166,182,113,215,144, 83,182,212,246, 80, 97, 16,220,124, 45, 52, 35,176,131, -183,213, 5, 32,120,132, 48,154,183,150,203, 26,186,166, 54,169, 76, 5, 39, 68,148,166,140,132,198,181, 49,208, 82,215,183,239, -255,228, 71, 31, 62,125,245,250,179,191,253,244,191,249,111,255,233, 31,254,236,183,223,125,231,237,119, 31, 61, 90, 31, 12,117, - 46,213,113,158,109,119,181,221,110,175, 46, 94, 31,107,157, 9, 41, 13,131,187,237,174,199,103, 79, 95,108, 54,151,211, 92,205, -180,212,249,122,172,199,167,231,175, 55,175, 75,133,223,250,248,251,204,252,226,244,149,187,119,146,115, 74, 67,223, 73, 98, 87, -115, 4, 68, 31,134, 46,145, 76,101, 95, 38,155,234, 92,107,157,180,106, 41,145, 44, 44,200,115,173,238, 22, 90,198,148, 36, 49, - 87, 4,161, 84,173,238,119,251,237,110,111, 90,195,228, 51, 77,234,164,153, 72,193,221, 93, 85, 29, 17,192,166,185, 6,112,115, -246,146, 85, 82,230,113,218,215, 42,136, 84,106, 13,207,250,241,201,235,235,237,148, 83,222,142, 99, 62,148,144,187, 54,145, 42, -248,245,118,123,116,120,120,184, 94,237,246,211,209,129,153, 26, 11,130,185,147, 39,228, 33,103,181,218,231,161,238,182,251,113, -138, 48,248,177, 86, 34,116, 80, 15, 74, 4,243,126,158, 19,114, 39,121, 15,123,115, 23,137, 72, 73, 22,115, 71, 3,100, 0, 71, - 2,181, 90,220, 28, 32, 71,151,167, 68, 78,156,144, 16, 17,104,154, 75,117,200, 44, 0, 80,172,148, 82, 99,220,198, 76,128,216, -161, 64,196, 60, 18,155,107,148,252,193,115, 37, 36,213, 90,107,201, 41, 27,249,126,156,190,248,234,201,203, 87,167,219,253, 4, -102,230,254,171,175, 30,223,191,125,171,152,255,237,227,199,227, 56,137, 72,172,131,198,105,102, 38, 38,170, 53,188,126,102,110, - 2,236,230,115,173, 4,160,142,166,245,160,235, 23, 43,174, 19, 35, 20, 23, 0, 5,216,105, 89, 85,129,182,149, 91, 8, 23,177, - 84,139,229,131,186,187, 51, 33, 17, 67, 68,187, 0, 48,177,176,212, 64, 98,187,169,251, 56,238,189, 88,215, 77, 35,237, 47,208, -138,129, 1,100, 73,195,208,245, 57,229,156,135,161,207, 41,173,251, 44,146,186,110, 24,152,115, 18, 96, 72, 40, 34, 32,146,251, -156,187,148,134,213,106, 24,250, 46,231,148,251, 97, 53,244,253, 64,146,220, 13,145,186,213,129,214,185,239,215,111,188,249, 80, -132,145, 12,129,208,169, 90,157,203,140, 0,169, 27,246,219,237,147, 23, 79,126,245,249,151,127,253,243, 95, 62,121,254,236,242, -234,202, 61,244, 43,136, 8,137,153, 18,121,141, 96,131,155, 96, 50,112,160,162,145, 94,205,196,132,106, 75, 22, 4,128, 91, 99, -125, 99,152,135, 12,152,140, 66,203, 67,106,132,102, 4,192,132, 20,101, 25, 33, 32,171,213,208,184,187,129, 53,144, 3,178, 83, -187,211, 9,168,233,112,113, 97, 65, 1,242,194, 75, 89,150, 59,196, 88,212, 36,126,251,114, 44,135,185,107, 73,230,137, 4,160, -182,217, 69,192,128,159, 80, 60,140, 0,205,124,199, 33,216, 64, 52, 6, 32, 98,138,243, 23,180, 13,232,169, 21,229,234, 78, 4, -173,172, 13,225, 56, 51, 53, 44, 4, 1,212,240,237, 59,146,131,125,123,200,251, 50, 0,115, 87,162, 22,115,100,176,232, 9,208, -163,147, 80,112, 4,108, 43,180, 38,219, 86, 55, 66, 3, 11,179,146, 16,101, 79,128, 29,118,224, 80,205,118,243, 56,150, 73,221, -253,106,139,104, 93,146,190, 27,170, 26,186,167, 68,194,153, 72,156,132,216,187,220,201, 50,180,106,183, 36, 24, 54,212, 10,179, - 47, 22, 82,162,229, 39,223,200,235, 97,162, 96,168, 22,243,211,118, 29, 53, 13, 98, 0, 14,110,166,111, 97,192,117,247, 26,169, -153,232,248,107, 67,123, 68,140, 68, 93, 96,140, 9, 69,148,123,113, 91, 48,198, 84,108, 33,130,197,157, 23,105, 26,224, 88, 1, - 63,250,248,195,255,227,255,254,215,128,248,217,151,159,159,188, 58,249,224,189,119,254,206,239,253,236,251, 31,252,160, 22,189, -188, 60, 63,125,245, 98, 30,183,135,135, 71, 40,208,247,171,147,151, 47, 79, 63,255,114,187,219, 95,239,119,211, 52,147,208,189, -163, 91,187,113,252,213, 87, 95,159, 95,111,175,183,227, 88,230,219,135,107, 43, 58, 82, 93,245,131, 59,136,144, 48, 17, 49,154, - 86, 55, 0, 34,164, 82,202,102,188,218,239, 71,119,136,158, 11, 8, 19,231,226,166,117,158,107, 65,132, 97,232,187,148,208, 41, - 39, 6, 71,171,229,106,119,189,159,198,121,156, 83,206,136, 20, 91, 92,117,173,181,170,137,147, 23,179, 56,211,157, 41,114, 26, - 1,168, 79,210,117,169,212,146, 37, 57,200,103,143,159,100, 74,138,176,189, 30, 83, 48, 50,213, 76,107,223,165,170,134,190,240, - 50, 1, 75, 45,151,155,205,237, 59,119,182,219,113, 55,238,115,215, 59,130,106, 33,166,169, 22, 22, 73,194,134, 86,180,198, 20, -181, 84,117,115, 68, 81,131, 82, 85,132,133,152,153, 70, 40,241,227,142,135, 33, 11,141,179, 13, 34,163, 22, 5, 19, 32, 64,112, - 2, 50, 92,180, 84,160,110, 8, 4,234, 6,241,173, 88,173,213,152, 10,145, 86,109,108,103,116, 84, 80,116, 6,116,247, 10,222, - 75,190,179, 62,236,114,183, 94,245, 69,171, 19,141,187, 73,189, 74,238, 90, 35,120,168,227, 56, 79,115, 57, 90,103,102,100, 98, -114,152,231, 73,205,201,177, 27,122,173, 5,213,220, 21,208, 59,145,105, 46,213, 20, 29,138, 25, 2,133, 11, 49,179,236,166,153, -185,246, 41,133,155,217, 90,245,233,193,215,107, 52, 95,106,228, 59, 48,103, 18, 8,225, 7,162, 1,144,144,155, 41, 56, 85, 55, - 52, 2, 53,171,174,218, 34,222, 13,209,117,210,194, 46, 4,168,132,106,142,228, 65,125, 40, 85,103, 24,231,121,190,112,221,238, - 39, 36,100,230, 62,167,190,235, 87, 67,215,229,212,229, 28, 35,155,156,164, 11, 74, 79,151, 51,113,151,101, 24,134, 46,119, 89, -184, 75,121, 88,175,114,215,175,134, 97,181, 62, 76, 73,186,156, 73,160, 91,175, 57, 15,145,120,156,220,123,176, 97,117,216,175, -214,170,245,209,247, 63,250,217,239, 79,187,203,215, 79,158,124,243,249, 23,127,251,217,151, 95,125,253,244,233,241,217,249,197, -245,118, 86,239, 34,149,135, 81, 8, 33, 49, 87, 82, 55,161, 64, 38, 4,222,210,204,141,145,163,173,119, 34, 87,183,104,244,137, - 91,132, 25,114,172,206,132, 83,169,161,101, 64, 34, 65, 98,243, 54,110, 1,192,101, 9, 27, 55, 34,148,150,140,214, 42,101, 15, - 63, 38, 80, 44,233,154,187,106, 17, 6, 17,128, 90, 76, 66, 8,177, 45, 57,173,169,244,112, 17, 95, 35,199,138,216, 33,192,230, -145,215,215,118, 70,141, 75, 8,232,196,136, 68,168,174,161,193,181,216, 38, 36, 6,152, 45, 66,181, 91, 43, 25,170,109,188, 1, -164, 44, 29, 6,184,234, 2,123,246, 6,165, 93,138, 89, 2, 86, 85,243,106,145,112, 68, 28, 50, 69,247,216,139, 7,139,194, 64, -154,151,196,129,219,212, 19,220,205,128,163,113,114,159, 43,176,196, 11,232, 0, 68,148, 0,145,128, 1,148,157, 80, 12,240,106, -220,155,170,155,233,149, 1,104,151,115,150,126,213,119,251,253, 94,218, 90, 58,124,101,109,221, 12,174, 21,111,150, 13, 20, 97, - 31,161, 44,178,136, 77, 71, 66,175,182,200,219,117,177, 9,133,206,141,220,181,157,247, 68, 96, 96, 94,225,219, 44,168,112,164, - 33, 0,129,153, 55, 45, 87,204,176, 24,201,220, 52,214, 41, 20,238,133, 40, 23,220,127,109,155,235,224, 26,119, 70, 45,229,254, - 91,239,254,230, 15, 30,157, 92,141,191,255,163,143,126,240,254,247,238,223,191,143, 36, 95,127,241,171,211,147, 83,240,122,184, - 62,236,115,119,113,113,121,189,217,156,156,191,222,237,167,125,153,146,200,170,235,190,243,224,222, 60,207,167,103,103,159, 63, -123,250,234,252,138,192,133,232,135,223,125,247, 96, 61,220,187,125, 72, 8, 85, 43,146, 88, 45, 85, 43,170, 33,186, 35,129,217, -230,250,122,183,189,174, 6, 57, 0, 50,136,213, 20,204,175,166,107, 38, 18,225,219,221,161,177,103,150,248,166,247,101,190,190, -222,109,167, 49, 17,179,112, 56,102,135,126,165,251,237, 56,205, 6, 46,196,192,100, 90, 9, 64, 77, 3,113, 42, 68,140,196, 12, -213,230,231,207, 94, 49,117,255,228,191,252, 39, 95, 61,121,246,171,127,250,223,207,243,252,250,242, 82,132,215,183, 14,246,179, - 13,125, 58,191,170,166, 86, 52,152, 29,109, 73,133,136, 87,215,215,171, 97,117,116,176,186,220, 92, 31,172, 15, 74, 17, 22,164, -153, 10, 75, 38,236,251,213,225,176, 58, 63, 59,207, 34, 14,190, 26,242,213,126,207, 89, 57, 9, 16,220,191,117,251,244, 98, 51, -116, 66, 44, 70, 20, 27,113, 74, 92,171, 58,225,144, 18, 78,188, 31, 39, 71, 71, 39,111,175, 80, 51,184, 41,128, 24, 26, 24, 18, - 81,160, 42,152,219, 20,212, 91, 63, 76,128, 8, 40, 8, 73,210, 84,139,213, 90,124, 6,234, 19,107,217,111,163, 33,239, 51,164, - 52, 16, 16,137, 60,184,123,239,106,191,125,189,185,250,250,249,177, 24,118,210, 79,101, 20,102,106,175,186,163,185, 85, 83, 34, -116, 72,200,213, 76,205,192,213,177, 97, 18, 8, 25,217, 12,116, 50,205, 22,127, 21, 5, 98,171,138,136,203, 57, 0, 44, 20,173, -190,197,159, 10,110,132, 14,144,152, 23,225,167,185, 19, 25,184, 43, 3,251, 77,131,218,214,128, 14, 68,104,228,161,161,142, 52, -155,104, 33,212,112,137,182, 49, 11,183,141,143,101, 7,110, 89,228, 96,189,202,196,142,222,117, 29, 33,231, 36,196,148,133,115, -206, 41,165,204,148, 82, 26,186,174,207, 34, 57,245,169, 99,132, 68, 57, 15,114,116,120,112,251,240,246,193,193,193,122,189, 62, -188,125,255,232,206,157,225,240,136,136, 9, 28, 69,144, 0,220, 25, 81, 65,214,183,239,125,120,251,238,135, 63,252,201, 63, 28, -183,175, 95,159, 28,159,188,250,250,155,111,158, 60, 63, 62, 61,191,120,117,118,122,121,189,119,132,121,182,169, 20, 97, 1,194, -156,123,119, 23, 38,164, 20, 51, 91, 92,104, 37, 45, 51, 16,177,173,206,144, 98, 79, 14,170, 72,158, 57,133,209,205, 76,213,156, - 88,124,185, 71, 9, 80, 81, 17,161,170,118, 76,229,166,114,132,155,204,180, 38,243,105, 46, 24,144,246,203, 17, 87, 20,127,144, - 56, 17, 35,160,161,241, 2, 59,107, 34,108, 4, 36, 86,117,108,190,249,229,224,109, 53, 66,192,194, 12,200,220,145,136,200,157, -136,213, 20, 35,198,129, 66, 56, 0, 75, 62, 51,194, 82,177, 66, 76, 26, 33, 14,254,133,189,212,154, 77, 82,117, 83, 67,161,160, -249, 91, 84,252, 30,182, 9,115,211, 24,204,195,194,112, 12,218,157,149, 95,243,185, 97, 24, 76, 5,208, 48,216,173, 37,242,173, - 85, 35,186, 58,150,188,216,134,103,180,148,219,132, 68,137, 1, 73,188,153, 9,182,101,183,215,233,122,183, 21,244,101, 76, 14, - 75,252, 70, 0,228,201,209, 17, 12,144, 1,151,134,169,153,230,220, 98,242,142,238, 22,123,232, 72,218,141,185, 64,155, 97, 44, -198, 49, 95,246,183, 55,124,207, 88,130,132,228,104, 73,224, 0,140,189,136, 47,152,119, 35, 22,104,161, 33, 13,152,215,158, 1, - 4, 4, 6, 7, 98,116,173,199, 39,215, 63,252,233,111, 15,119, 31,174,250, 92,139,190, 58,121, 89, 38, 69,132,163,195,161,148, -233,233,139, 23,187,235,253, 56, 77, 87,227,246,242,250,250,104,189,126,248,198,131, 59,135, 7,251,253,254,197,233,201,203,211, -243,147,215, 23, 93,206,127,247,167,159,220, 59, 56, 82,240,195,163,213,126,156,213,180,204, 90, 74, 65, 82, 85,141,184, 2,117, -173, 85,205,157, 8,187,220,101, 36, 15, 39,155,233, 60,207, 76,120,180, 94, 11,179,169,137, 36, 98,208,170, 83, 45,211, 56, 93, -239,247,132, 88,171, 42, 56, 91, 37,130,185,204,211, 52, 3, 26,144,247, 34,232, 56,107, 85,208,134,137,212,226,140, 64, 84,117, -222, 92,143,199, 39,151, 87,219,253,126,156,255,167,127,246,191,156,156,158, 61, 63,126,241,254,219, 15,227,227,119,112, 39, 74, - 57, 25, 68,150, 39,181,101, 82,232,206, 12,129,252,229,233,233,111, 60,124,147,136, 47, 47,175,242,189,148, 83,239,104,102,138, -169, 99,128,219, 71,183,159,203,241,245,126,191,234, 58,145,212, 49, 5,247, 53, 46,250,142,217, 28,132,128,209,185, 97, 84, 85, - 29,200, 93,132, 7, 64,187, 70,110,205, 46,248,194, 41,137, 94,186,120,101,194, 0,153, 0, 3,170,169, 59, 47,143,113, 20,250, -204, 84, 76,115,146,162, 10, 72, 67,215,177, 81,173, 58,214,232,153,221, 28,246, 69,117,154,137, 57, 37, 62, 61,219,140, 58,143, -227,254,225,189,219, 66,180,159, 13,152,195, 0,172,209,248, 25,104,244,194,140,170,234,139,121,123, 73, 6, 3, 70,182,162, 90, - 53,158,200,198,127,105, 51,220, 70,196, 6,196,176,147,154,153,186, 3,130, 32,128,129, 9,153, 91,117,133,152,131, 53,220, 0, -182,199, 31, 17,129,220, 26, 90,203,188, 90, 83,112,128, 69,166,129,187, 66,251,209, 54,130, 9,185,215,152,119, 48, 16,185,186, -147,215,170,100,147,187, 79,137,173,154, 1,133,140, 72, 8,114,151,221, 60,167,212,117, 57, 19,163, 96,206,194,200, 41,167,195, -174,123,231,237,183, 15,135,213,106,245,108,189,238,239,220,186,211, 13,107, 36,202, 34,135,119,110, 57, 80,151,123, 3, 12,232, - 30, 16,211, 48,188,241,240,221,187,111, 62,252,232,163, 31,150,185, 78,243,126,183,219, 95,188, 62,127,252,252,233,167, 95,124, -241,197, 55,223, 60,123,117,122,252,250,226,122,183, 19,102,160,148, 26,176, 16,152,154,191,136,136, 69, 88, 43,168, 41,132, 50, - 31,193,204,139, 27, 58,144, 16,133, 87, 42,138, 62, 91,236,176,161,172, 65, 49, 51,130,160, 11, 44,217,198,208,170,228,152,146, -235,175,165,218, 7,197,123,249, 3,194, 66, 36, 30,194, 73, 71, 53, 88,142,241,184,197,137,192, 25,160, 66, 59, 56, 98,216,203, -240,173,186, 15,193,209,226,172, 3, 70,202, 33,226, 36, 22,166, 90, 45, 94,115,116, 52, 11,247,246,141, 35,251,219,168, 59,140, - 69,180, 47, 81, 78, 26,195,105,240, 82,145, 25, 17,136,200,156,209,212, 92,137, 56,198, 45,237,225,143,105, 53, 81,153,103,180, - 16, 53,199, 62, 3,137, 28,153, 24,216,209, 66,197, 98,109, 33,172,104,228, 64, 81,131,136, 51, 88,109, 30,134,200, 23,138,114, - 36,224, 80,142,136,216, 37, 46, 53, 11,134,174, 31,221,111, 28, 76,136, 21,130, 91, 76,192, 11, 39,164, 93,175, 28,183,119,216, - 64, 23, 28,204,205,185, 30, 50, 35, 13,208,102,171,181, 23,175,240,194, 25,110,158, 24, 64,189,249,118, 1, 91,234,222,242, 47, - 32,242,183,146, 75,183,112,163, 33,144, 33,160,105,115, 83, 51,191,124,254,226,171,207, 63, 51, 83,113, 31,199,169,214,130,238, -146, 8,220,119,187,237,230,242,122, 28,231,203,237,213,102,123,141,140,247, 14, 15,205,233,233,241,241,151, 79, 30, 79,115,185, -216,110,215,185,251,248,253,247,238, 28, 30, 34,154,186, 58,227,197,197, 70,213, 92,157,146, 0, 82,128, 97,231, 90,204, 60,177, - 8,161, 16,119, 93,214, 82,118, 58,153,170,171,179,240,122, 88,117, 93,103,165, 24, 57, 33,151, 58,142,251, 58,205, 99,228,245, - 0, 54,117, 1, 17,120,141,139, 29, 36,177, 57,205,117,222,205, 5, 52, 52,224,144,144, 89, 72, 59,158, 13,204,212,198,250,242, -197,233,197,126,234,251,204, 5,254,175,127,241, 47,175,199, 93, 74, 93,164,159,131, 90,173, 22,225,181, 34, 2, 64, 85, 39,116, -183, 82, 49, 11, 16,105,173, 36,124,181,223,191,190,236,110, 31,221,121,125,177, 89, 13, 59, 97, 97,166, 66, 69,152,114,234,186, -110,120,248,224,193,215,143,159, 48,179,169, 18, 83,169,102,170,125,223,205,115, 37,193, 62,201,110,138, 97, 74, 19,163, 97,208, - 69, 84,153, 19, 34,104, 40,207, 72,204,107,128,244, 26, 31,196, 76,114,210,170,145,170, 28,114,250, 69, 21,219, 26,222,128, 6, - 19,139,227,184, 74,121,232,147,161,105,197,162,213,145,209,189, 79, 57,110,212,170,182,219,143,171, 85,198,153, 9,184, 79,137, -144, 83,132,201,123,244,232,224,230, 70,102, 78,212, 4,121, 81, 40,121,172,242,111, 50,208,181,106, 56,122, 72, 4, 0, 66,165, -218, 98,146,205, 4,145,137, 24,201,138, 45,128,105, 96, 68, 55, 37,103, 87,195, 86,228,199,105,109, 77, 70,141, 96,238, 73, 0, - 57,182, 87, 65, 28,160,136, 43, 8,242, 54, 32,161, 87,119, 87,211,100,169, 77, 62, 23, 85,134, 55,168,113,204,113, 99,243,228, - 72, 8,136, 93,146,170,170,128, 86,109, 59,142, 90,175,182,211,180, 26,186, 44, 41, 47, 96, 99, 78,242,234,242,242,232,224,160, - 75,233,160, 31,134,161, 95,119, 29, 11,221,191,125,235,224,214,109, 34,236,146, 0, 98,151,250,156,187, 24, 3,113,202,204, 29, - 37, 74,195, 32, 93,119,120,116,255,205,135,239,124,244,163, 31,255,131,127, 80,231,221,180,219,111,159, 62,123,250,245,227, 39, - 95,126,253,245, 55, 47,142,175,182,219,215,181,186,187, 97,198,132, 26,200, 26, 34,206,168,147, 17,199,218, 18,169,197,211, 57, -179,152, 85, 67,170,106, 66,196, 28, 2, 41, 93, 94,111, 16,162,212,102, 96,112, 83,190, 81, 4,145, 46, 9,246, 1,196, 37,118, -112, 35, 34, 97,177, 80, 97, 57,123,140,188, 52,150,122,214, 97,131, 25, 68,245,233,196,228,132, 81,189, 3, 32,160, 4,186, 22, - 1, 24,133, 89,139, 1, 57,146, 19,129, 26,131, 23,102, 49, 3, 16, 38,231, 68,216,231, 38,115, 55,143,181, 66, 99,116, 52, 46, - 51, 58, 88,117,215, 32,162, 99, 91,192, 44,203,102,115, 83, 5, 52, 68, 2, 74,160,170,170, 81,164, 54,105, 80,252, 5,221,146, -112,220, 32,182,120, 70, 90,202, 51, 56,218,162,200, 97, 49, 85,138, 28, 34,179, 24, 28,198, 93,225, 24, 33, 12,128,136, 5,148, - 67, 0,187, 92, 31,193,247,149,245,221,195, 58,215,113,179, 71,196,192, 36,128, 27,183,240,140,232, 84,154,200, 13, 22,201,123, -168,153, 2, 13,131,205,142,234, 45,124, 47,106,243, 26, 60,184,176, 73, 55,134,160,171,135,139, 49, 48, 95,120,131, 79, 10,210, -100,171,191,194, 7,143,208,128,200, 55,116, 24,104,179, 26, 11, 4, 10, 32,226,126,115,125,252,252,169, 86, 69,172,106,213,205, - 16,172,206, 94, 74, 45,102,251,121,188,218,237,199,105,116,176,213,208,151, 82,207, 55,155,171,253,184, 94, 13,101,174,143,143, -143, 39,131, 63,250,228, 67, 64, 58,190, 60, 39,167,148, 19, 35,245, 57,185,233, 88,103,155,125, 42,197,219, 42,136,134,156,135, -174, 43,106,106,117,183,221,207, 86, 72,128, 80,242, 32, 57,229, 68, 56,151,169,148, 50,141,213,138, 78, 58,107, 13, 14, 6,230, -212,105,173,165,204,204,196,204,197,171,112,118, 47,227, 56, 79,117,174, 85, 17, 97,189, 90, 29, 12,195, 92,234,108,238,230,197, -204, 84, 95,159,190,238,144,179,164, 78,212,213, 16, 80, 36,117, 41, 1, 81, 51, 3, 4,235,217,125,183, 31,133,168,150, 50,215, -106,110, 40,204,200,194, 50, 53,113, 11, 60, 61, 62, 59, 90, 31, 14,171,238,252,114,219,167,180, 94,173, 85,235, 92, 40, 73, 7, -238,247,238,222,125,247,209,219,199,167,175, 21,208, 1, 59, 78, 8,128,238,177, 91,131,182,238, 64, 66, 4, 97, 48, 51,183,196, -100,230,142,150,153,139,185,129, 86,171,241,248,234, 66,139,117, 38,115, 18, 65, 53,171, 75, 15, 26,126, 63, 88,102,220, 40,136, - 37, 18, 34,220,201, 16, 41, 17, 87,179,102, 72,161, 8, 99,194,166,215,174,154,186,110,154,119,234,174, 21, 10, 20,171,166, 4, - 64,177,105, 4, 38, 18,135, 8,211,136, 84,171,230, 20, 5,196, 82,227,204, 39,166, 46, 49, 23,186,145, 68, 56, 56, 11,235,108, - 11,213, 46,102,235,224, 8, 66, 56, 2, 16, 2, 35, 26, 18, 50,105, 8,100,137,106,113,117, 75,128,205, 42, 25, 96, 62,184,129, -158,106,116, 49, 22, 11, 60, 71,141,155, 61,218,114,103, 39, 4, 96, 36, 54, 87, 0,243, 86,176,162,186, 81, 72,246, 16,208,189, - 20,165,174, 11,195, 78, 41,181,207, 93, 20,122,227,126,175,106, 57,149,174,116,137, 60,172,173,175, 95, 95, 15, 67, 98,230,131, -213,208,231,110, 53,116, 73,228,214,225,193,157,195,195, 62,165,174, 19, 71,114,247,149,164,220, 15, 93, 39,125,215, 69,130,121, - 30,134,190,235,115, 55,164, 97, 69, 64, 34, 57,247,235,225,240,214,155,111,191,247,251,191,231,227,188,127,125,118,114,113,254, -250,155,103, 47, 94,188,124,249,242,228,244,248,236,236,106,179,121,125,225,165,236,212, 98,240,228,140, 40, 44,169,203,228,100, -160,204,226,213,129, 49,165, 16, 46, 97, 76, 61,200, 73,162,130, 69,208,160, 98, 85, 15,201,184, 35, 56,163, 16, 33,222,156,148, -216, 6,141,156,152, 82,204,236,147,128, 99,228,140,138, 27,128, 5,214,165,141,224,218, 49,100, 4, 80, 45, 66, 16,113, 65,235, -183, 84, 33, 14,212, 1, 34,147, 83, 36,168, 24,180, 48,160, 37, 0, 26,137, 57,154,146,248, 36,189, 17,211,252, 91, 94,222, 50, -123, 8, 15,135, 55,232, 70, 20,168,182,172,135, 45,194, 34,220,108,201,188, 1,143, 28, 35, 8, 26,200, 50,109,111, 14, 76, 7, - 7,157,205,204, 49, 81,168,113,163, 53, 69, 4,183, 74, 30,191,247, 6, 90,110, 14, 24,254, 5,154, 43, 32, 88,153, 17,193,140, - 41, 5, 79,193,101,119,177, 13, 3, 28, 34,130,105, 36,149,196,109,131, 16,131,255, 54, 92,251, 53, 86, 79,188,199,205, 1, 17, - 39,178,171, 7,149, 0, 0,129, 3, 29,137, 13, 44, 19, 63, 8,162,120,226, 33, 92,104,128, 8, 12,168,109,207, 0,238, 90,221, - 20, 89,190,253,180,252, 6, 93, 11,241,116,226,146,124, 51,237,230,147,147, 19, 32,201, 93, 6, 69,238,169,168,215,185, 34, 22, - 36, 52,199,162,142, 68,204,220,231,110,154,103, 96,239,251,225,244,226,242,114,187,219,108,182, 36,240,198,209,173,205,245,150, - 88, 68,196,217,124,154,170,218,118, 2, 68,210,218, 2,121,145, 96, 37, 29, 18, 26,216,245,254, 26,129,170,169,169,118, 41, 35, -115,151, 59, 70, 24,231,233,114,156,212, 52,162, 15,192,192,153,147,120, 85, 37,146, 70,183,117,212, 89, 41, 67, 45,122,113,253, -122,158, 11, 3,222, 58, 60,122,247,189,223,184,119,251,118, 41,245,108,115,241,234,252,188,130,206,181, 92,156, 95,222, 58, 88, -181,213, 94,236,117,150,129,134,154, 11, 57, 49,186, 85,226, 76, 14,102,170, 85, 99,194,166,102,213,171, 56, 71,162, 18,137, 36, - 78,140,229,114,123,253,252,228,248,157,183,223,190, 44,219,221, 60, 83, 78,107,238,180,206,227,180,207, 57, 37,150,239,191,247, -221,237,126,188,184,188,156,230,145,192,110,193, 42,167,116, 53,142,153, 57,196,146, 55,246,110,119,247,170, 55,220, 40, 68,200, -132, 45,100,162, 69,240, 53, 98, 9, 5,179, 36,202,177,168, 99,131,161,136,141,221,204, 44,130,236,168, 85,205,193, 16, 82, 34, - 32,161, 14, 89,204,133, 41,115, 82, 87, 68, 87,243,106,218,101,145, 44, 10, 78, 68,196, 80, 74,132,211, 57,120, 9,197,158, 33, - 16,177, 87,195, 20,155, 93, 32, 2,245,216,232,135, 20, 27,192,193,153, 19, 75,164,136, 48, 74, 76,127,171, 27, 19,153,155,131, - 23,179,158,217,188, 70,208,139, 24,168, 42, 19,183, 27,193, 20, 56,155, 87,211, 10, 36, 49,209,173,170,109,236,184,240,175,137, -176,128,130,131,106,149, 76,139,100,141, 28,136, 17, 5,161, 88,179, 33,162,121, 27,129,162, 87,135, 68,225,243, 35, 68,119, 6, - 5, 83,111, 95, 90,213, 74,100,153, 45, 19, 75, 6,140, 19, 86,171,169,151, 90, 38, 53,187,190,222,170, 25, 19,231, 36,125,223, -173,215,253,209,106,213,117, 89, 56, 9, 17, 51,136,228,117,215,229,156, 86, 17, 47,147,250,190,203,253,144, 15,214, 7,125,223, - 15,253,106,181, 94,165,174, 79,221,192,210, 3,226,157,123,111,220,127,240,157,247, 63,252,100, 26,199,113,119,181,185,188,184, -186,218, 28,159,156,158,156,158, 60, 59, 62,254,230,249,139, 39, 47, 79, 46,174, 54,165,214,237,110,159, 57, 49,147, 66,101, 14, - 57, 14, 7,124, 5,219,110, 15,189, 49, 46, 67,127, 78,138, 26,178,200, 24,149,196,145,178,144, 12,155, 24, 5,155,150, 37,188, - 58, 9,200,201,129,156,140,221,205, 57,164, 60,208, 2,153, 17,145,208,204,129, 17,190, 69,151, 91,203, 42,114,176,144,244, 45, - 27,203, 27, 90,106,219,236, 82, 98, 38, 2,243, 72,121, 38,150, 80,140,152, 41, 56, 90, 91,177, 70, 82, 4,224, 13,181, 35, 6, - 19, 55, 82,251,208,132, 47,248, 28, 34,178, 16,129, 34,186,214,182,169,109, 31,162,182,185, 76,252, 62,111,134, 4,111, 2, 83, - 95, 94,124, 69, 98,106,224,174, 5,248, 5, 16,185,122,181, 42,130,155, 46,162,166,136,214, 0, 7,112,209,106, 20,195, 37, 92, -176, 48,180, 28, 39,222,210,164, 2, 17,140, 68,225,118,134,101, 85,218, 70, 43, 17,176, 4,213, 33, 88,130,140, 55, 7,120,211, -201,196,120,201, 99,167, 26,147, 28, 6,212,134,255,245, 8,237, 8,141,119,131,145,184, 57, 96, 29,175, 92,146, 72,231, 55, 2, -169,182,241, 37,160, 52,239,183, 73,100,125,239,222, 52,207, 90,107,153,166,157, 93,237, 71, 69, 65,159, 21,180,170,214, 32, 13, - 37,102, 7, 66,171, 67,159,235,110,122,244,246,131, 62,115,151,251, 44, 60, 77,243, 56,151,106, 51,115, 78, 57,205,251,218,247, -195,208,247, 90,138,185, 35, 19, 49,109,182,219, 37, 48, 69, 87,121,224, 46,166,124,224,174,251, 82, 29, 12, 9,202, 84, 0,176, -239, 18, 75, 42,181,154, 25, 90,100,140,213,162, 69, 40,153,218,229,118,156,230,249,246,173,195,239,127,239,253, 55,111,221,149, -148, 46,247,211,171,227,227,203,237,102,179,189, 42,197,166, 82,246, 87, 87,155,203,203,187,183, 15,135,174,171,181, 76,181,180, -232,187,229,165, 96,226, 68,130,196,179,106,164,111, 2, 6,143, 73,220,247, 92, 17, 40, 98,179, 16, 42, 40,132,159, 13, 94,190, - 58,189,119,235,206,186,239,174,174,119, 93,150, 34,210,177,204,117, 70,132, 36,169, 75,221,131,123,247,254,147,127,248,159,253, -241,223,251,251,255,213,127,253, 95,188, 62, 63,145,212,215, 90,135,156,106, 64,161,193,213, 13, 44,208, 84, 64, 12,138,206,232, -213, 61, 17,177, 51, 1, 86,116,138,222,144, 22, 51,155, 80,228,205, 57,186,106,136,102, 49, 20,238, 65, 46, 55, 51, 32, 69, 4, - 13, 34,141,147,106, 93, 13,171,237,126,118,130, 33,165, 89,177,130, 18, 97, 66,226,196, 89,114, 45,102,106,166, 33,211,141,238, - 49,170, 61,114,112,171, 26,240,103, 97,174,181,170,129,214,146,115, 71,109,127,132,224, 80,212, 56,156,136, 6,206, 65, 89,112, - 6,172, 53,198,179, 70,200, 93,162,185, 54,227,191, 11, 23,111, 29,166, 5,147,133, 16,212,133, 25,162,111,136, 0, 5, 98,104, -142,141,118,159, 81, 37,245,133,115, 27,228,164,208, 23, 51, 54,215,163,153, 35, 84, 64, 84,232,144, 50, 10,103,154, 75, 13,131, - 96, 80,172,188, 56, 13, 24, 9, 59, 49, 40,176, 54,110, 38, 0,116, 50, 50, 42,174, 45, 39, 25, 32,188, 72,101, 46, 51,149,113, -242,203,171,171,241,185,178,208,173,131,245,122,181, 10,128, 1, 49,247,194, 93,151,135, 62, 53,205, 14, 19,139, 28, 30,172,135, - 46,175,186,238,112,189, 94,173, 86, 7,171,129,115,150,212, 31,172,215,253,234, 64,186, 62,165,238,240,246,189, 97,125,120,175, -206,143,222,253,174,187,215, 50,109,206, 47,174,182, 87,155,203,205,229,245,245,243,151,199, 79, 95,157, 94,109,183,175, 55,155, -253,118,187, 25,103, 33, 20,100, 71, 20,145,106, 32,238, 8,145,161, 6, 11,223,209, 17,113, 65,149, 52,195, 14, 52,209, 28, 2, - 27, 53,137, 54, 2,139,171, 18,135,123,147, 56, 33, 2,150, 18,148,164,118, 48,248, 34,225,128,165, 64,140,227, 71, 23,225, 75, -164,241,181,172,149,144, 12, 68, 59,217, 34,206, 61,142, 40,228, 8, 47, 77, 45, 74, 58, 86,191, 65,196, 70,110,171,226, 80,151, -184, 44,147,155,106,142,136,236,145, 19, 7,132,132, 70,214,224,187,224, 76,209,255,181,235,188, 33,144,141,220, 42, 17,180, 18, - 41,102,223,209,209,185, 52,201, 22, 18,169,133, 0, 5,102, 7, 50, 66,118,208,162, 6, 6, 70, 64,128,225,210, 32, 0, 34,116, -226,224, 57, 33,204,210,102, 42,209, 3,112, 3,202, 0, 49,122,203,217, 36,108,223, 26,180,242, 25,221,212, 1,208, 90,253,222, -174, 77,102, 15,148, 67, 12,214,153,150, 14,107,233,131,161,221, 78, 49,127, 9,132, 66,195,218, 52,166, 4, 53,228,100,236,164, -106, 81,171,182, 87, 62,200,141, 95,136, 8, 10, 36, 84,139,167,188, 62,184,125,247,155, 47, 62,123,246,236,233,249,249,185,187, -139,228,213,170,235,242,192, 34,110, 70, 76, 73,132, 66,187, 35, 12, 58,129,217,237, 91,183, 58,217, 85, 55, 53,155,166,113,158, -209, 0, 18,137,112, 7,110,106,154, 36,153,217,110, 63, 1, 57, 19,215,121,218,110,183, 14,216,229,220,137, 56,186,186, 78, 69, - 17,208, 85,171,107, 38,174, 90,186,212,203,225, 26,129,153,161,206, 37,206,146, 18, 28, 49, 7, 83, 43, 84, 14,111, 29,125,252, -206,163,223,252,209,143, 31,189,243,206,241,139,151,191,248,244,211, 95,126,241,249,102,179, 27,231,113, 46,179,153,109, 54,155, -121,156, 51,147, 57,198,220,198, 84,139, 90,202, 9,205,113, 66,106, 24,174,176, 9,144,185, 86,211, 64,187, 84, 43,128, 14,106, -200,136, 72,174, 86,230,226,234,156,155,166,202,205, 94,190, 58,121,247,157,239, 76,165, 94,110,182, 4,168,238,104,190,199,253, -225,193, 97,146,244, 71,127,248, 31,253,227,255,244, 63, 63, 56, 90,221,187,119,255,213,171, 19, 17,103,192,120, 98,114, 74,212, -200,245,128, 72,161,252,142,221,187,171, 11, 83,206,201, 17,231,121, 90,128, 29,206, 8, 4,192,142,138, 55,251,164,120, 39, 8, - 92,205, 65, 40, 64,129, 52, 87, 87,173, 96,110,100, 76, 4,238,243, 92, 0,161,134, 11, 24, 80,213, 8,208, 69,146,100,166,197, - 1,143, 46,140,251,192, 93, 47,189, 75,248,230,144,192,162,136, 48, 15,171,214, 92, 52,158, 76, 66, 68, 66, 85,117, 2, 20,172, - 65,113,137,238, 3,193, 99, 15, 10, 4, 26,188, 12,174, 22, 53, 50,128,213,196,157, 85,171,165, 32,226,220, 18, 21, 20, 41,153, -107,109,146,225,118, 6,223, 56,119,149, 21, 35, 50,199, 12, 13,147,224, 52, 53,246,121, 83,211, 44, 37, 61,160, 58,139,187, 33, -179, 56, 45, 0,118,114,196,128,110, 18, 71,120,100,155, 55,187,153,171,115,130,132,172,168,141,224, 73,139,193,144,212, 28, 48, - 16,160, 12, 54,234,118, 28,175,182,123, 52, 63, 90, 13,196, 36,140, 41,103, 2,226,196, 57,229,156,169,151,156,115,151, 19,119, -146,250, 85,238, 36, 31,172,250,245,122,117,216,245, 67,223,229,174,203, 93, 62, 24,250,156,187,220, 13,171,131,117,202,125,215, - 13,136, 60,172, 15,134,213,193, 3, 2,175, 90,107, 21,226,177, 76, 4, 54,207,243,171, 87,103, 63,255,236,211,111,158,189, 56, - 62, 61, 27,119, 99,213, 98,176,159,102,245, 27,106, 55, 0, 16, 8, 18,170,107,192,199, 57, 14, 28, 84,111,117,234,205,120,208, -192,123, 38, 5, 39,226,200,133, 54, 53, 53, 71, 0,117,207,204, 69,153,200, 35,212,138, 48,166, 46,173, 83, 36,112, 14, 5,162, - 6,134,207, 9,176, 58, 80, 67,236,128,187, 99,140, 98, 56, 56,225, 97,202, 52, 55, 11, 45, 15,186,183,143,213,205, 85,137, 72, -131,150,186,212,236, 0, 26,118,132, 0, 48, 48,177, 27,186, 43, 33, 3,130, 86, 69, 71, 5,131, 8, 11,114, 55,181, 70,111,113, - 3, 48, 87,138,216, 80, 47, 14,230, 16,224, 48, 48, 68,177, 8,222, 19, 6, 51, 48,192,132,209, 70,132, 82,220,212, 41, 42, 7, - 67, 17, 2, 51,115,136,177,146, 91,113, 5,105,125,135,108,161, 0, 0, 32, 0, 73, 68, 65, 84,184, 71, 67, 96, 8, 25,255,146, - 59,218,238,171,112,241,134,176,183, 5,151,198,172, 81,218, 20,101,193,124, 59, 16,134,101,180,141,234,205, 34, 79, 36,196,141, -109,187, 26, 94, 40,186, 49, 77, 53,197,170,135, 44, 30,150,180, 63, 0, 39,202,253,161, 3,164, 44,193,169, 3, 66, 20, 4,242, -105,103,132,155,191,253,229, 95,254,242,151,159,238,166,130,177,234,169,117, 26,199, 59,247,243, 81,215, 87, 45,243,172,251,237, -110, 44,101, 63,207,166,181,168, 10,194, 52, 77,115,173,196, 56,205,138, 14,194,140,132, 68, 70,146,136, 72, 68,194,184, 73,140, -106,186,185,190, 38,162,131, 97, 93,180,146, 67, 68,242,100,118, 9,178,146,164,158, 83, 74,121,158,107, 18,156,171, 86,181, 90, -235, 92,234, 60,205,234,150, 72, 50, 34, 39,118,164,247,222,251,240, 63,248,147,255,240,141, 7,111,237,246,151, 47, 30, 63,249, -197, 47,127,241,229,227,167,103, 23,175,167,185,160,112,153,117,183,219,158, 93,108,214,125, 71,196, 28, 82, 10,119,162, 48, 27, -169, 46, 20,190, 22,113, 8,110,106,204,132, 8, 66,194, 40,128, 40, 64, 34, 50,142, 83, 78, 20,241, 87,234,234,158, 92,221,221, - 88,120, 42,243,225,106, 93,212,198, 89,207,183, 87,105,191,251,147,191,247, 31,167,126,248,238,187,239,223,190,115,239,224,240, -246, 87, 95,253,226,127,252, 31,254,187,191,252,229, 95,221, 57, 60, 50,115, 53, 51,245, 26,167, 10, 84, 12,188,172,171, 8, 16, - 65, 80, 3,147,176, 35,152, 26,145, 44, 10, 89,119,192,112, 66, 19,179,215, 86, 65, 17, 71,178,161, 46,162, 18,104, 5,105,195, - 78,169, 27,238,231,210,231,100,142, 86, 21,208, 74, 53,228, 6, 13,159,107,217,108,118,111,220, 73, 57, 9, 32, 2,145,151, 26, -233,198,194,172,106,136, 48,171,129, 25, 33, 99, 91,251,248,130, 11, 53,128, 8, 64, 64, 55, 80, 13, 7, 99,243,210, 73, 34,100, -210,217, 57,228, 4,228,197,116, 81,241,135, 42,215, 17,145, 57, 19, 41,134, 92,164,217,158, 2, 71,130,112,147,156,237,100, 26, - 28, 45, 74,146, 56,161, 85,109,229,155, 89,181, 80,230, 52,203,247, 66,206,114,100,131,136, 79, 67,215,246, 69,241,235, 13, 40, -101,213, 90, 4,168, 25, 3, 84, 51,199,136, 60, 17, 39,180,234,140, 75, 10,230,141,158, 97, 9, 68, 13, 7, 37, 19, 17, 97,176, -131,133, 41,214,197,251, 50,219, 8,136, 59, 70, 22,225, 46, 39, 4, 39,150,190, 99,230,212,119, 41, 49,229,212,173,215,253,144, -211,208, 13,183, 15, 15,186, 46,247, 57, 31,172, 6, 78,105,189, 26,134,190,207,221,208,119, 93,183, 90,231,188,146,148,136,229, -104,125, 32, 41, 59,194,155, 15, 31,253,224,163, 31, 77,227,118,115,113,113,177,217,108,206, 47,158,159,157,188, 58, 62,249,230, -213,203,205,230,234,244,252,178,204,115, 53,219,205,197,171, 1, 97, 18, 70, 71, 98, 34, 66,172,230,130,168, 26,252, 74, 4,226, -112,158, 70,222,179,147,186,167, 80,112, 51, 21,179, 80, 50,129, 17, 48,154, 59, 82,236, 91,155,236,208,150, 31,203, 92, 35,163, - 77, 0, 1,136,110,226,197,224, 6,186,139,180,200, 79, 24, 29,141, 26, 60, 44,216,149, 55,250,118, 68, 68, 23, 64,116,171,238, - 64,204,170, 10,193,250, 1, 70, 2, 80, 5, 52, 3,250, 86,216, 77,168, 85, 9,128,152,151,104, 57, 0, 55,116, 39, 76, 49,221, - 5,141, 23,131,150,207,207,220, 75, 68, 52,186, 26, 2, 1, 51,184,130, 57, 49,152, 49, 58, 80,242, 27,109, 88, 51, 20,169, 26, -152, 1, 3,144, 99,149,166,114, 33, 92,200,201,112, 3, 10, 67,230,136,165, 14,161, 17, 18, 96, 83, 70, 54, 36, 27,186, 69,104, - 71,236, 71,130,157, 9,234, 36,172,177,206,130,197,217,122,131, 31,139,196,154, 24, 93, 49,199,206, 1, 35,199,104, 65, 7, 99, - 11,188,162,200, 21, 88,210, 55,226,166, 68, 47, 58,207,229,171, 95,254,249,167,159,125, 41, 57,247, 4,243,190,140,211,140,224, -132,124,241,228,235,187,135,183,193,253,197,233,235,253,180,119,135, 98,150, 8,205,125, 54, 80, 53, 20, 40, 69,193,189,235,134, -148, 18,177, 18, 50, 1, 22,213,105,156,162, 6,170,181, 24, 88,159, 7, 97,217,207,163,186, 77,134,185,203, 89,168, 86, 29, 58, -102, 22,117, 21, 17, 53, 45,117,222,237,170,130,154, 66, 45,165, 84,251,224,251,223,253,173,223,252,145,142,219,191,249,213,151, - 83,165,223,253,221, 63,248,232,147, 31, 51,210,217,201,139,175,190,250,252,233,211,231, 79,143, 95, 94,236,182,213,161, 2,142, - 87,215, 39,167,103,171, 46, 51,161,144,180, 36, 20, 55, 93,166,222,145,244,118, 99, 3, 23, 22, 68, 48,211, 36,105,201,189, 83, - 68,209,102,221,142,209, 37,249,162, 77,165, 56,238,156, 14, 86,221, 63,254,147, 63,250,223,255,159, 63,253,236,139,167,136, 7, - 63,251,187,127,244,201,143,127,231,254, 27,111,237,174,183,251,253,246,222,131, 55, 51,119,227,180, 19, 20, 71, 84,181,170, 21, -153,176, 26, 82,152,214,113,183,223,229, 36,224,216,155,185, 97, 16,157,204,129, 19, 89,243,139, 71,119,198, 0,198, 76, 6, 77, - 89, 28,247, 19,199,112, 48, 6,163,241, 73, 39,178,201,213, 52,150, 77, 99, 41,136,126,152, 86,202,232, 32,230, 74,206,153,211, - 52,239,107,181,106,181,162, 43,128,171,163, 66, 81,141,113,106,112, 75, 56,114, 95,155, 30, 43,244,137, 22, 98,118, 98, 1, 44, -129, 26, 39, 65, 7, 99, 36,116,143,180, 76,211,170,213,180,106, 16, 2, 29,221, 9,213, 53, 11, 49,146, 98, 5,160, 33, 9,163, - 42, 32, 58, 71, 73,238, 0,228, 6,238,156,196,172, 78, 83, 64,146,111,194,174, 9, 48, 60,158,205,243,101, 65,209,247,160, 50, -196, 10,177,233,230, 85,137,164,169,201,219,214,203,129,227, 35,112,207, 18,147, 69, 99,100,101, 4, 66, 7, 19,128,182,164,115, - 44,214, 64,205,140, 60,107,137, 31, 73,164, 25,183, 9,130,155,182,156,202, 54, 29, 70,226,182,225, 11,179, 32, 34, 49, 76,165, - 78,243,108, 1,196,210,154, 88,152,121,189, 90,173,251,174, 75,210,119, 41,231,156,187,180,202,185,207,121,200,121,181, 94, 15, - 93, 90,175, 86,235,190, 95, 29,172,130,179,192,156,239,220,189, 51, 12, 7, 8, 88,181, 2,178,164,116,247,141,251,119, 31, 60, -240,234, 63, 1, 55, 43,227,126,156,231,114,121,117,185,217, 92, 94, 93,110,142, 79, 79, 95,158,156, 62,125,249,242,228,236,226, -244,114, 51, 78, 83, 20,240, 36,108,224,130,132,140,113, 63, 45, 14, 98,136, 67, 52,130, 62, 74,109, 3, 29, 89, 64,130, 8, 40, - 68, 11,205,133, 28,156,188, 21,150, 49,101,139,185, 60,161, 67,176,135, 90, 43, 1,156, 36,166,243,137,152,163,173,138,201,116, - 28,236, 81,217, 18,163,105,169, 21, 91,134, 93,140,237, 20,195, 0,141,232, 54, 33,176, 1,121,128,245, 34, 33,137,200,220,153, -197,205,154, 27, 3,205, 85, 23,239,127,187,140, 45,104,201, 49, 14, 33,114, 85,112, 39,116,115, 52, 68,175, 74,216,164,144, 49, -211,162,144, 57,180, 23,191, 66,176, 13, 73,192,149, 24, 0, 73,171, 11, 64, 68,153,219, 18,153,181,160, 17, 2,220, 29,195,155, - 27,121, 0,222,180, 36,141,245,182,208,194, 41, 24,165, 49, 70, 15,107, 91, 67, 70,218,226, 0,163,230,132,128, 38, 41, 35,104, - 25, 77, 77,129,182, 32,103, 17,144, 33, 46, 70, 97,160,152,221,182, 89, 63,133, 30, 73,203,171, 23,143,193,234, 84, 76,213, 18, - 17,139,168, 57, 18,245,156, 75,153,111,223,186,245,144, 96, 42,117, 30,139, 67,115,138,207,165, 78,230,104,214,173, 58, 68,146, -224, 30, 97, 50,179,221,180,179, 98,200,236,142, 14,186, 26,214,171,110,152,117,154,230,169, 86, 69,194,148, 82, 98,206, 73, 8, -153,208, 13,161,148, 58, 78, 83, 81,173, 85,193,112, 53,228,183,190,115,247,131, 31,124,240,238,163,183,223,251,238,251,255,239, -191,249,183, 63,255,244,235, 55,222,250,222,207,126,246,135,247, 31,188,113,121,121,241,252,217,227, 47, 31,127,249,248,201,243, -211,203,215,103,103,151, 99,153,183,227,212, 19,226, 60,169,106, 74, 44,115, 60,161, 45,163,188,148,138,102,136, 80,204, 40,210, -175,154,199,143, 0, 81,193, 58, 64, 8,124,107,153, 24, 33, 39,170,166,238, 1, 92,137,150, 19,130, 42, 8, 64, 85,235,195,251, - 15, 62,254,232, 7, 10,248,195, 79,118,127,231,247,254,152,152,190,248,252,231,156,153,145,118, 87, 23,127,254,239,254,197,201, -171, 87,239,127,239,123,231,155,139,221,238,218, 81, 28, 17, 84,179,112,180,212,146, 18,206, 37,120,174,166, 86,162,250, 64, 7, -211,117,119, 48,169,109,199, 17, 16,144,165, 25,152,156, 66, 1, 69, 76, 84, 66, 1, 30,203, 72,160,229,160, 9, 98, 9, 26, 48, - 83,226,100,224, 99,209,161,106,192, 43, 8, 0,128,230, 50, 19, 81, 18,206, 57,117,156,138, 22, 7, 53, 52, 4,138, 3,190, 46, -185, 64,136, 24, 2,251, 88,143, 48,161, 11, 79, 85, 83,219,103, 66, 53, 37, 64, 65,172,213, 65,160,122, 21, 16, 7, 68,161, 37, -129,202,173, 24, 51, 90, 49, 23,100, 2,175,128,224, 67, 78,157,164,125,169,204, 8, 70,137, 96, 87,141,192,213,173,106,101,100, - 38,208,200, 45, 13,205, 7,133,166,195,170, 57, 1,168, 42, 0,166, 76, 96, 80,205, 58, 34, 17,132, 57,170,127,178, 72, 91, 10, -251, 58,144, 32,155,171, 45,216, 63, 48,104,174, 40, 68, 82, 47, 20,122,208, 48, 72, 32, 35, 36,225,170,238,160, 10,102, 0,140, -210, 18,145,155,149,188,129,158,111,184,221,130, 28,125,125, 5,167, 8,146, 79,204,222,236,154,128,230,224,213,180,104, 53, 3, - 7,155,198,145, 0,153,145, 56,245,125,238,146,112,112,238, 68,134,156, 82, 74,235,190, 63, 88, 13, 71, 71, 7, 7, 67,183, 94, - 31,158,158,190, 28,134, 33,119, 67,196,115,117, 93, 30,134, 30,156,115,215, 17, 11, 33,229,213,176, 90, 31,222,190,115, 55, 8, -248,213, 96,222,239,231,105,183,189,222, 94, 92,111,158, 62,123,241,242,244,228,217,139,227,215, 23,231,199,175, 47, 94,157, 95, - 68,184,146, 26, 9, 53, 76, 90, 40,241, 19, 67, 88, 53,132, 81,136,171, 86, 68, 32,194, 20, 73, 44, 17, 70, 68,120,147, 40,198, -141, 84, 24,228, 32, 52, 0, 14, 57,166,155, 35,170, 25, 49,113,131,226, 96, 78,172, 45, 78,202, 23,134,113,171,226,131,209, 27, - 80,129, 40, 8,128, 0,140,161, 97, 65,154,218,165,229,222,185, 18,182,176, 45, 22,114, 37, 85,109,235, 99,226,112,155, 55, 91, - 41, 81,208, 67, 90, 31, 28,154, 5,111,149, 81,112, 47,181, 70,187,128,213,144, 17, 53,242,170,204, 72, 24,128, 10, 40, 35, 7, - 67,200,221, 65,136,147, 8, 17, 54,185, 15, 97,211,171,132, 69,106,129,237,199, 94, 9, 2,251, 15, 30,233, 86, 77,210,190, 88, -162,226,235,113,129,249, 68,193,190,132,143,104,148,159, 45,180,199,173, 85, 66,110, 72, 76,148,227, 94, 92, 76,128, 49,225,191, -185, 58, 29,106,160,165,219,122, 25, 9, 41,229,243,227,159, 63,126,254, 82, 29,227, 5, 51, 32, 22,234,178,152,122,159,147,100, - 70, 55, 53,216,237,103,119, 55,175,234,110, 34,100,184, 62, 76, 17, 72, 49, 77, 19, 0, 86,175,117,170,101,156, 13, 16,208, 19, -146, 8, 13,253,138, 16,175,199,136,235,116, 97, 73, 89, 82,202,137,176,186,162,186, 90, 81,245, 88,192,190,253,157,183,222,122, -235,173,119, 31,125,231,209,163,119,190,243,240, 97, 55, 28,254,249,159,253,235,255,237,159,253,175, 87, 91,252,221,223,255,251, - 31,124,252,145,150,242,226,249, 55,199,207,158, 60,123,254,242,155,167, 79,159,159,156, 92, 94, 95,143,115,241, 50,157,159, 95, -222,187,125, 68,132,130, 72,190,180, 41,110,193, 23, 71, 70, 4, 98, 96,194, 57,145, 32,230, 96,239, 50, 3, 1, 8,210,108,154, -148, 16,157,132,201,205, 13,168,125, 52,128,142,230,192,200,184, 80,176,199,185,188,247,232,157,238,246,123, 31,252,228,173, 15, -192, 95, 60,123,252,111,255,236, 95, 50,165, 7,111,126,103,191,191,250, 87,255,230, 79, 9,169,147,180,234,134,239,190,247,221, - 95,252,226,231, 14,128,142,234,238,106,136, 52,149, 2,238,171, 46, 3, 17,152, 2,161, 56, 77, 53, 58, 80, 35,196, 94, 36, 26, - 97, 70,106, 88, 56, 52, 64,137,237, 37, 54,194,115, 32,106, 29, 1, 57, 84, 93,216, 44, 90,236,177,175,129,170,102,110,137,210, - 52,149, 74, 34,174,213,177,204,165,203, 29, 18,205, 90,201,191,165,203,198,120, 54, 56, 71,181,121,208,140,137, 67,221, 24,226, - 20,170,106, 28,118, 84, 10,148, 49, 39, 9, 9,252, 18, 44,217, 34,126,208,111,104,124,158, 4,157, 44, 92,154, 44,108,230, 99, -153, 29,169,153,196, 69,176,204, 72, 45, 36,220, 12, 12, 45,146,234, 8, 64, 29, 98,247, 83,106,141,111,187, 86, 75,137,193,201, -172,106, 85,167, 4,109,183,231, 17, 62,201, 20, 22, 9, 50,115, 64, 35, 36,213,182, 81, 32,102, 98, 14, 51,160, 3,146, 97,157, -103,179,138,144,131,222,179,204, 83, 33,117, 92,180, 68,218,178,162, 49, 50, 24,152, 35, 52, 91,174, 7, 64, 56,230, 73, 10, 30, -159,132, 81,117,227,130,232,176, 68, 77, 88,108, 29,201,201, 24, 89, 34,207, 32,165,177,214,185, 96, 53,215,221,190, 99, 41, 86, - 50, 51, 16, 49, 75,159,211,170,239, 87, 67,119,208, 15, 7, 7,195,106,232,134,110,232, 36,113,146,190,147,156,250,174,147, 62, -119, 73, 18, 11, 15,235,149,112,150,148,136,115,206,132,144, 88,100, 37,135,235,195, 59,111, 17,127,240,193, 71,228,182, 31,199, -221,118,187,217, 94,191, 62,191,184,188,220, 60,121,241,252,244,252,226,122,187, 59,191,186,222,239,167,253, 60, 86,211,162, 96, - 6,106,234, 0, 73, 8, 64,136, 82, 80, 43, 34, 30,189,160, 34,128,196,254,201, 1, 16,133,168, 90,108, 91, 64,150, 21, 46, 17, - 9,177,153,133,228, 12, 96, 33, 96, 97,155,237, 45, 27,164, 37,181,193, 35, 0,189,113,162,218,151, 3, 97,152,219,160, 5, 76, - 89,219,232,146, 59, 68, 30,113, 51,101, 0,152, 26,130, 3, 50,160, 11, 80,117,107,163, 9,102, 86,119,110,100, 98, 36,116, 69, -175,113, 90, 54,131,149,187,215, 82, 89,210,183,243,109, 10,254,170, 75, 12,175, 20,221,193,188,136, 18,152,137,199,227,205,228, -166,128, 76,139, 50,184,109,161, 27, 70,167,193,219,190, 37,138, 53,229,145, 7, 21, 18, 29,136,184,165, 43,181,214,102, 49,158, -181,196,113, 6,114, 88,240,128,113,113, 32,177,164, 28,122,136,184,139, 99,137, 71,230, 72,201,173,132, 15,243, 70,214,138, 14, -200,172,181,170, 78,183, 14, 15, 55,215,251,253,126,156,203, 92,107, 40,112,153, 5,175,167,110,232, 82, 41, 87,175,175,174,171, - 43, 90, 16, 1, 67,125,203, 72,153, 25,139,214,170, 74, 8,251,221, 56, 77, 83,117, 0,128,196,204,201, 51,115, 85, 43,101,106, - 3,100, 48, 17,202, 89,180,214,205,126, 86, 83, 65,236,251,244,230,253,187, 63,252,240,163,159,254,206,239,124,247, 7, 31,215, -105,203,156, 16,241,223,255,217,191,250,226, 87,191,122,118,124,241,157,119,222,255, 71,127,240,199,221,176,222, 92,158, 93,158, - 29, 63,127,252,228,155,103,207,190,122,250,236,197,201,217, 56,207, 86,244,122,187, 57, 90,245, 44, 40,194,166,206, 72, 36,100, -136,146, 90,190,149, 57,148, 90,197, 57, 72,167, 41,230,110,238,166,198,129, 97, 37, 12,196,146, 8,171, 66, 2,156,230,162, 86, - 1,169,170,102,136,137,135, 26,180, 66, 16, 9,126,248,209,199, 51,201,211,103, 95, 62,127,246,245, 95,252,213, 95,215,121,255, -206,219,143,142, 14,142, 62,251,244,175, 94,190,120,241,232,209,163, 97,232,137,249,173,251,111, 92, 60,120,243,236,242, 28,118, - 38,196, 69,103,145, 62,130, 39, 17,157,212,136,136,128,170,169, 16, 4,175,168,154, 38,201, 68,228,224,213,205,209,153, 57,144, - 46,141,213, 23,214,133, 24, 14,180, 16,238, 72,214,132,234,150, 76, 25,113, 50,205, 64, 76,116, 61,142,135,136, 97,106,139, 90, -136,144, 12, 92,205, 84, 45,167, 36,200, 68,162, 62,131,130,113,188, 75, 16,100,172,170, 45, 48, 20,151, 49, 35, 34,219,188,100, -196, 46,161, 81,113, 44, 38, 78, 22, 65,141,205, 53,233, 8,136,194, 30,130,238,155,228, 64, 4, 71,163,120, 81, 9,196,209,204, - 2, 69,128,134,140,130,137,104, 12,194, 53, 27,129, 25,144, 99,151,115,169, 5,192,154, 43, 31,121,154,103, 2, 72,188,100,158, - 16, 32, 48,121,147,146, 34, 2, 9,183,238,184, 41,131, 61, 2,183, 35,215, 20, 22,231, 61, 73, 66, 47,110, 74,145,167, 8,168, - 97,146, 69, 66,224, 86,183, 42, 50,123,133,136,148,111, 59,132, 26,224, 19,112, 95, 34,250,144, 48,200,230, 16, 97,120, 26,155, -191, 22, 95, 25, 90,146,224, 45,148,128, 59, 32, 18, 65, 85, 3,212,121, 42,202, 58,142,211,229,110,116,132,163, 97,117,112,216, -175,251, 85,151, 83,159,115, 78, 28,137,116,189, 36, 97,238,115, 94, 13,253,170,239,147,112,215,247,135,221,208,117,169, 27,114, - 78, 61, 49,231,174,235,187, 78, 56,115, 78, 11,225,157,214,195,122, 88,175,222,122,240,150,153,254, 12,126,199, 74,221,238,119, -187,235,237,213,118, 60, 61,127,117,118,113,249,234,236,252,213,217,217,171,215,175,167,221, 84,204,107,169, 85, 11, 0,115, 66, - 71, 23, 97, 50, 90,118,206,128,224,196,228, 8, 34, 82,107,141, 9,179,129, 5, 75,199,192,235, 52,249,162,244,178, 22, 10, 16, -138,117,108, 34,109,167,248,131, 16,151,255,211,104,198, 24, 3,108, 3,163,156, 96,137,154,102, 55,211,106, 80,193, 35, 54,189, -213,254, 68,161,186, 66, 39, 0, 36,171,222, 76,251,132,232,160, 80, 17, 82,132, 95, 70, 76,200,141,112, 62,182,236, 78, 56, 23, -195,106,204, 36, 76,106,102,166,129,110,247, 37, 8, 29,221,201, 17,205,160, 22, 89, 52,187,186,100, 34,195,146,157, 71,110,218, - 46,177, 16, 40, 45,109,202, 13, 40, 51, 56,246, 45,154,181,101,105, 69,245,111,191, 70, 60, 0, 71,242,198, 75,107,203,230, 32, -213, 97, 48, 32,144, 34,200,165, 41, 94, 91, 55, 96,203, 28,185,233, 70,155,182, 20,220,173,158,156,158,157, 92, 92, 9,128,176, -184,131,214, 49,240,126,196, 82,180,150, 93,157,199,253,229,213,182, 17, 57,213,153,129,129,164,203,128, 56,105, 85,173,227,126, - 52,247,237, 84, 45, 2, 16,136, 14, 14,214, 67,223,153,154,154,166,148, 23,153, 40,149, 82,166,105, 74, 73,134,220,191,247,238, -219, 63,253,201, 79, 62,250,232,163,219,119,239, 29,221,190,173, 36,175,158, 63,203,196,147,109,255,236, 79,255,207,207,126,241, -183,235, 91,111,254,193,223,251, 71,239,125,247,251, 69,203,217,139,167,175, 94, 61,121,241,226,213, 23, 95,125,243,245,179,103, -231,219,171,113, 63,127,231,222,157,205,197,197,181, 57,162, 4,200,218,106,204,193, 48,120,138, 45, 3, 60,254,234, 28, 98, 80, -118, 66, 9,116, 13, 68, 66,119, 24, 27, 80, 88, 70,157,106,213, 33,119, 10,174, 22, 68, 67, 68, 98,175,102,174,110,238,142,102, -112,184, 94,191,253,230, 27, 47, 30,127,250,213,151,191,124,249,252,249,135,143, 30, 12, 57,175,110, 61,156,116,126,250,252,133, -147,151,121,222, 19,247, 93, 62, 88, 29, 60,124,240,240,245,229,165,185,107,169,147,170,176, 1, 98,177,218, 33, 21,119,114, 27, -186,172,181,201,174,212, 65, 13, 4, 97,149,211,118, 42, 13,226,132, 64, 76,141,122,234, 81,190, 16, 51,151,144, 73,182, 90, 20, -153,136, 96,113, 96,151,234, 57, 57,250,126,154, 9,168, 75, 82,180, 38,226,224, 96,187,163, 32,207,141, 27,111, 49, 20,117,188, -209, 48,196, 99,103,173, 91,185, 41,120, 16, 45, 58, 60,187, 57,232,176,133, 73, 26,170, 22, 98, 81,117,171,170,234,138,142, 0, -218,158, 68,172,173, 14, 50, 0, 76,146,144,121, 30,107,173,154,136, 28, 41, 10,179,218,118,221,165,106,141,240, 38,152, 1, 29, -212,109,174,133, 0, 29, 8, 93, 37, 69,143,225,234, 96, 0, 41,164,244,230,180, 56,223,185, 49,171,188,225, 9,137, 98,132,175, - 8, 72,216,165,180,155, 39, 85, 21, 78, 96,115, 32, 6,110,118,134,170,150, 16, 42, 49, 33, 72, 64,126,192,155,218, 30,192,105, - 17,229, 47, 57,166,204,225,113, 15, 84, 26, 91,219,109, 9,136,217, 28,153,124,236,168,205,170,105,200, 24,152, 95, 37,230, 46, -231,185,106,172,171, 75, 85, 17,100, 34, 55, 45,170,103, 85,181,214,169,175,225,204,236,187,156, 18, 35, 80, 4,164, 8, 19, 17, -102, 73, 57,165, 46,167, 85,206, 41,165,126,200,235,126,232,186, 60,116,125,159, 19, 3, 96,238,250,148, 36,194, 78,186, 60,116, - 61,178, 32, 18, 75,252, 98,215,175,214,247,136,222,211, 71,115, 41,155,171,203,113,183,175, 90,231,185, 92, 94, 95,158,190, 62, -127,117,118,113,242,250,108,187,223,239,199,105,183,223, 79,181,132, 93,153,152, 32, 32,180,192, 76,136, 34,165, 22, 71,230,196, - 68, 24,254, 79,166,182,250,158, 77,209, 13,204, 9, 2, 0,185, 56, 66,233,134, 65,115, 35,233, 84,184, 33,209,199, 4,128,170, - 27,186, 57, 97,219,163, 64,139,138,197, 16, 57,199, 64,178,241, 72,109,113,252,181,165,177, 1, 16, 16, 35,178, 91,245, 27, 22, - 11,115,187,225, 27, 17,166, 69,224, 56,128, 43,104,211,222,131, 59, 88,213, 72,102, 55,231,170, 21, 93, 1, 65, 90, 77,141, 72, -204, 30,138,131, 5, 16,130,209,140, 99,172, 82, 99,120, 67,205,166,106,182,120, 86, 9, 99,185, 76,116, 67, 87, 88, 20,149, 75, - 11, 13, 10,106, 55, 94, 3,136,206, 28, 16, 9, 35,162,215,108, 94, 92,143,203,246,191, 49,229,155,133, 21, 29, 92, 45,118, 14, - 93, 63, 28, 30, 12,125,146, 59, 71, 71,166, 90, 77, 17, 96,156, 39, 36,210,106,238, 32, 41,111, 46, 55, 87, 83,205,136,197, 12, - 25, 17,180,154,237,118,251,185, 94,101, 97, 68,154,213,118,211,232, 14,125,215,221, 59,186,221,245, 9,137,208,161, 98,181, 82, -231, 82,193,161,154, 30, 12,253,155,111,220,255,248,195, 15,126,242,227, 31,223,191,127,255,240,246,209,176, 62,208,234, 70,248, -252,233,147, 97,117,132, 96,191,250,235,191,248,197, 47, 62, 61,187,216,253,224,147,223,255,248,147,159, 14,171,213,118,119,125, -117,250,242,248,213,179, 79, 63,251,252,139,199, 79,142,207, 47,199,253,126,183,219, 94,109,118,223,127,112,239,217,184, 85,112, - 32,207,194, 12, 88, 21,162, 76, 99,164, 68, 84, 98,113, 14,102,213,156,216,220, 56,110, 57,194,161,235,218, 80, 2, 80, 67,245, - 4, 22,214,205,128,189,138, 96,153, 27, 11,136,200, 67,164,133, 0,238,250,224,238,189,219,195,208,247,233,183,126,240,193,227, - 85,247,240,193,157,127,255, 55,191,120,248,189,183,182,219,205, 79, 63,249,237,111,190,249,162,212, 57,107, 46,165,100, 73,111, - 62,124,227,228,236,228,229,217,169,122,101,164, 82,212, 77, 9,160, 70, 94,135,182, 71, 55, 28,186,166, 26, 26, 62, 97,206, 82, -139, 3, 3, 48, 32,152, 35,146, 32, 2, 82, 85,107,110,212, 5,245, 7, 13, 68,228,145, 46,239,136,234,106, 36,232,110,128, 87, -227,136,216,103, 33, 67,220,207,133,137,170, 1, 16,218, 60, 71, 43, 92,172,130, 27, 19, 53,226, 69,108,116,154,154, 26, 8, 97, -154,231,185, 86, 9, 66,177,131, 87, 51, 7, 19,101, 70,195, 54,135,172, 85, 19,179,185,106, 85, 68, 39,247,190, 75,165,170,131, - 33, 80, 60,151, 72, 80,107, 29,107, 61,224,100,224,148,144, 72,204, 45,178, 40,173,214,102,161, 5,208,170,130, 75,105,239,110, -170, 10,102,166, 20,121,238,228,166, 80, 93,209,219,110,193, 91, 39,237, 13, 99, 69, 12,209, 53, 24, 58,122, 52,189, 81,231, 16, -160,112,138,156,100, 95,252, 34, 76, 64, 68,174, 26,191,221,192,137,168,106, 1, 67, 74,124,131, 89, 9,251,212, 66,124,197,152, -139, 70, 20, 30, 44,208,143,200,161,246,150,121,225,106, 10, 33,149, 10, 6, 32, 0, 53,168, 47, 55,109,191,121, 85,141, 19,206, -220, 8,254,127,166,222, 44,230,178,236,186,239, 91,195,222,251,156,115,239, 55,213,216, 53,117,117, 23,123, 96, 15,156,154,148, -154, 52, 69,137,140, 34, 89,163,165, 64,136,148,216,112, 98, 35, 1,132, 0, 1,140, 32,121,201, 75, 94, 2, 4,240,107,134,183, - 0, 2, 12,219, 72,140, 4,118, 98, 57,138, 68, 77,148, 41, 74, 28, 76,154,166, 66,182,122,238,170,238,174,233,171,250,230,239, -222,115,246,222,107,173, 60,172,125,190, 38,186,208, 15,141, 66,117,213,173,115,247, 89,251,191,254,255,223,159, 90, 51, 6, 51, - 51,139,138,136,156, 74,166, 64, 82, 36, 70, 78, 33, 16,227,106,181, 38, 98,255,252, 23, 49,245,139, 46, 16, 5, 14,125, 23, 83, -136, 41,165,141,161, 75, 41,165,232, 51, 60, 96,224, 33,117, 41,134,141,229, 50,246,105, 72,125, 23,135,152, 56,164,238,224,232, -104,127,127,255,202, 19, 79,220,188,121, 35,134,136, 76, 68, 65, 85,107, 41,165,150,211,213,122,119,247,209,201,201,225,193,209, -241,254,209,209,222,254,193,238,254,193,254,193,193,148,115, 22, 29,167,177, 40, 84,133, 72, 76, 72,204,236, 23, 52, 78, 6,136, - 49,114,206,138, 64, 70,172,136,213, 29, 49,136, 13, 17,215, 82,245,138,198,128,136, 20,218,231, 70,205, 20,104, 34, 45,145,161, -213, 99,183, 32, 70, 1,219,110,166, 21, 84,121, 59,145, 53, 71,189,103,140,212, 16,217,204,107,144,230,142,105,108,185, 78,112, -208, 77,123,117, 3,241,172, 63,178, 49,162,138,169,136, 35,108,172,250,123,165,165,141, 12, 33,152, 91, 74,125,226,249, 49,198, -165,155,239,157,254,224,125, 89,126,212, 58, 14,109,190, 71,250,128,222, 32, 60,103,152,183,230,128,179,102,126,108, 56,130, 6, - 26,155,171,187,189, 63, 93, 4, 64,230,247,137,139, 88, 98,170,128,179, 81,167,237,150, 13, 24,137, 73,106, 85,179,235, 55,158, -140,223,253,193,253, 71,143, 13,112, 49, 12, 23,206,109, 93,186,116,145, 1, 57,112,191, 92,162,232, 95,189,246,250,198, 73,175, - 96, 84,164,130,212, 92,171, 65,223,165,205,141,101,206, 50,150,113,149,167, 46,118,139,161,223, 88, 44, 76,245,232,244, 84,106, - 69, 4, 81,116,142,202,243,183,110, 62,247,212,205,151, 63,253,201, 23, 95,250,100, 55,244,211, 52,229,113, 13, 28,149,195,131, -247,223, 89,108,158,235,151,203,187,239,191,245,214,143, 94,187,115,231,222,114,251,234, 47,252,234, 47, 63,113,245,137,213, 42, - 31, 29,238,157,236, 63,122,239,189,119,127,248,250,235,183,239,222,203, 42,227,122,212, 50, 89, 21, 3,165, 16, 58, 78,135,211, - 81,201,213, 19,244,138,218,136, 69,160, 28, 56, 23, 4,179, 24, 34, 34,176, 25,130, 23,241,176, 78,121, 17, 35, 19,250,198, 92, - 77, 1, 73,149,192, 32,132, 0,168,204,228,199, 3, 1, 17,130,104, 69, 0, 10, 20, 98, 16,179, 39,175, 92,221,220, 90, 90, 76, -112, 98, 67,215, 49,210, 43,159,250,137,184,185,253,225,221, 59,183,158,121, 97, 88,108,148, 50,149, 16, 40, 12, 68,125, 71,195, -173,167,159,190,115,255,222,241,209, 49, 4,238, 35, 50,115,215,245, 37, 79,145, 8, 8,214, 83, 97,196, 34, 74,132,145,153, 57, - 0,145, 86,141,204,164, 86, 69, 33,160,154,145,170, 16, 53,187,140,105, 11,244, 32, 84,213,128,132,161,157,245, 6, 22, 3,229, - 9, 80, 12,169,229, 76,143,198,105, 49,116, 12, 72,136,235, 41,175,199,154,171, 94,218,222, 80, 81, 85, 43,185,213,194,121,161, - 18,158, 61,108, 4,205, 91,205,129, 85,192,196, 31, 82, 53, 0,194,169,148, 92,100, 72, 48,137,153,163, 12, 68,171,152,248, 68, - 33, 90,160, 86, 85, 36, 43, 82,171, 59,156,145,209,192,148,198,162,170,218,121,149,152,153,122, 34, 15,128,144,165, 86, 36, 52, -119,180,155, 1,162, 0, 24,178,104,102,128, 64, 84, 76, 74,177, 24, 81, 43,170, 25,113,112,190, 74,160,153, 20,110,224,181,233, -218,180, 19,144,217, 62, 89,205,198, 41, 11,181, 33,160,152,170, 40, 0,130, 43, 65,136, 6, 48,169,129, 72, 21, 85, 53, 66, 5, -195, 8,168, 51, 24,196,203,122,136,192,172,154,121,192, 8, 16, 28,157,137,228, 0, 0, 48, 49, 19, 81, 39,177, 41,128,187,213, -102,209,138, 60, 2, 38,128, 10,200, 76, 85,140, 16,177,130, 85,175,109,171, 0,177,154,138, 86,223, 13,146,215, 73, 58,116, 9, -160,150,154, 75, 17, 25,171,234,233, 84, 16,161, 99,222, 90, 46,140, 99, 32,244,100,114, 66,142, 28, 98, 10,125,234, 82,224, 20, -152,163, 95,138, 56,134,208,119, 93,159,210,176,236, 4,232,248,232,248,202,197,115,227,201,226, 94, 25, 67,232,250,190, 95, 46, - 54,251,161,163,148, 22,177, 59,183,115,254,234,213,107,181, 10, 24,148,156,205,106, 45, 50,230,188, 26, 79,243, 52,126,120,239, -225, 95,191,247,238, 59,239,221, 57, 56, 60,200, 69,213, 84,154,232, 66,128,136,200,169,163, 98,101,150, 68,196,196,144, 3, 27, - 74,123, 88, 9,145, 20,102, 59, 84, 11, 98,181,154, 17,103, 21, 89, 85,207,111,121,242,209,154,235,209,115,160, 86, 85, 26,150, -151,208, 7, 8,100,179, 98,226, 3, 10, 17, 3, 25,145, 83, 31,204, 8, 64,220,150,128,102, 14, 55, 84,164, 90, 36,240,217, 37, - 21, 60,245, 6,228,125,233,134,100,236,249, 88,113, 23,103,195,222,184, 27, 93,125,113,235,101,167,103,130, 9, 0, 2, 27,233, - 28, 4, 68,244,106, 7,247, 98, 99, 91,200,182,127, 33,179, 63,185,243,127, 52, 34,244,216,246,220, 44, 77, 90, 42, 68,155, 1, -113, 49, 32, 1,161, 57,229,192, 42, 84,197, 64, 31,189, 51, 8,193, 64, 68, 13,176,150,178,117,238,226,114,115,145,213,114,145, -147,213,234,228,244,164,139,253, 98,209, 41, 64, 8, 92,171,189,183,251,240,222,238,158, 39,252, 93,233, 76, 49, 84,178,253,189, -195, 85, 25, 3,113, 23, 83,138, 73, 85, 31,237,239,231, 82,212,172,235,210,197,157,157,231,110,221,124,250,214,205,207,124,242, - 51, 55,159,190,149,250, 84,204,166,213,180,127,184,175, 85,250,229,166, 2,222,127,255,131,205,243,151,215,235,211,111,254,197, -159, 61,188,119, 47,215,240,212, 75,159,251,212,167, 63, 27, 98, 56, 57, 57, 57, 61, 57,218,189,123,231,173,183,222,122,253,221, -247,246,143,143,166,154,115,206, 7,143,119,183, 54, 22,165, 86,100, 38,164,173,173,173, 71, 71, 39,204, 20, 42, 68,138,163,101, -255,150, 82,104, 32, 38, 81, 43,181,228,154, 99, 76,171,169, 46, 7, 70, 36, 5, 68, 14,203,190, 19, 83, 3,255,139, 48, 14, 64, - 66, 2,192, 10,203,110,113,202,167,185,120, 24, 3, 9, 67,151, 12,193,138, 8,152,221,188,121, 29,152, 85,229,228,248, 52,117, -195,198,246,230,202, 22,167,185,174,215, 99, 63, 12, 59, 91, 91,251,251,187,139,110,168,165,148, 88,134,110,216, 88,110,189,240, -236,179,223,252,238,247,242,148,193,176,239,250, 82, 4,137,200,154,213,137,252,193, 51, 16, 53, 21, 5, 53, 10, 36, 89,134, 62, -173, 86, 35, 2, 38,142, 99,201,137, 73,114,169,162,136, 32, 96,243,196,104,234,200, 61, 50,173, 78,191,182, 10, 0,222,160,134, -128,136, 99,201,227,148,185,239, 87,211,116,114, 58,114,224,245, 52,238,238,203, 88, 13, 9,157,188, 8, 58,155, 67, 90,187,131, -122,173, 50,154, 97, 84, 82,175, 19,109, 88,119,247,236,159,142,171, 69,159,136,217, 20, 48,180, 10, 38,240,148,134,146, 33,121, - 29, 19, 4, 91, 79,197,251,160, 19, 33,128,121, 95,121, 45,106, 96, 72,152,136, 68, 32, 4, 32,107,212,120, 85, 45, 34, 6,202, - 16, 26, 57,157,200,192,136,130,230,214,154,233, 53, 93,129, 73,196,102,216, 82,147, 49,219,103, 9,136,170, 30,133, 53, 49, 5, - 64, 54, 99,212,170,142,209, 7,195,153,166,173, 2,144,152, 65,132,192,140,200,181, 21, 83, 32, 68,101,242, 24, 21,184,177,218, -107,164,145,154,150,224, 34, 60, 0, 34, 8,104,128,128, 0, 12,192,212,108, 21,179, 73,186, 17, 97, 61, 70, 32, 96, 80,197,131, -233,166, 82, 85, 20, 72,153,102,227, 53,154, 25, 49,171,154, 48,165, 16,106, 45,129,189, 45, 4,137,130,155,117,221, 12, 2, 0, -162, 80, 68,160,148, 85, 21, 3,228,192, 17, 48,164, 20,188,237,135,200, 43,207,250, 46,116,177, 15,140,204,236, 21, 17, 69,181, - 15,241,116,181,186,247, 96,111,177,236, 23, 93, 55,120, 8, 43,165, 97,185, 12, 33,109,108, 44,186,110,209,197, 33,116, 97,216, -232,145, 34, 18, 16, 32, 6,234,210,240,138,232, 47,214,124,124,116,116,122,122,242,240,241,238,163,221,189,123, 15,239,223,127, -244,104,247,209,254,241,233,169,152,228,226,110, 37,194,166, 15, 55,108,187,203, 22, 31,201,215, 86, 93,136, 80, 69, 17, 1,246, -208, 15,162,143,227,234, 55, 47,183,160, 16,225,220, 12,228, 84,122, 64, 69,191, 48, 33, 32,105,109, 27, 22, 51, 69, 99,161, 74, -129, 33,207,240,225, 38,142, 32, 24,144,145, 89, 5,176,216,113,235,125, 50, 35, 95,242,138, 48,176,239,219,180,121, 33,205,204, - 2,121, 99,224,204,181, 62,163,152, 57,242,161, 89,101,230,173,250, 89,187, 30,186, 92,101,106, 10,200,216,168, 82,106, 64, 72, - 30,175,105, 56, 1,105, 13,136,142,249,157,243,200,166, 2,212,140,165,132,145,187,222, 97,111, 20,135, 58,174, 64,213,130,192, - 71,114,144,183,166,159, 97,152,173,223, 60,247,236,179, 79,255,209,159,125, 39, 34,230, 90,166, 41,175,242,158,152,118, 49, 2, -218,193,209,106,204,121,204,213, 7,127,246,223, 17,193, 88,115, 21, 93,244, 61, 3,137,234,225,201,169,104, 61,183,181,249,226, -205,235,207, 61,251,220,203, 47,189,248,212,199,158,222,217, 62,199, 49, 18,197, 92,166,211,131,131, 90, 42, 35,244,203,205,227, -195,189,213,209, 81,236,187,245,233,241,234,232,240, 47,190,254,181,135,123,167, 79,221,250,248,103, 63,249,202,229,171, 87,180, -148,195,189,199, 39, 71,123,247, 63,184,243,250,155,111,189,119,255,254,106,189,158,166, 92,214,171,142, 3, 24, 16, 49, 51, 67, - 41, 85,100,174,108, 86, 3, 8,228, 93, 87,160,214,118, 97,162, 21, 25,167, 49,151, 90, 77,211, 88,242,114, 57, 48,128,136,136, -106,100, 14, 20,192,128, 3,250, 34, 62,112, 12, 64,165,148,192,204, 33,154, 76,202,164, 38, 41, 80, 12, 72, 72,104,214,247,221, -173,155, 79, 2, 19, 25,158,174, 86,139,205,205,126,177, 44, 43,235, 88,175, 94,189,190,216,220, 89,110,110,191,127,247,253, 29, -201, 54, 66,225,152, 56, 4,230, 27, 87,174, 93,189,252,193, 59,239,191,111, 49, 33, 96,150,156,136, 38, 51,118,204,128,128,131, - 33, 43,129,138,230, 60,161,104,138, 41, 16,134, 64,109, 97, 9, 64,136,130, 24,252,203,210, 70, 73, 83, 5, 83, 80, 18, 51, 46, - 42, 0,182,104,133,234,218,130,181, 8, 36,118,178,158,138,143,123,140, 0, 32,170,199,211,218,249,138,126,248, 18, 35, 43,206, -194, 94,235,133, 86, 0, 67, 72,126,211,116,239, 45, 97, 96, 80, 63, 89, 16, 68, 13,205, 98, 64, 51, 8,236,105,219, 80,173,136, - 74,138, 44,134,213,193, 15,238, 57, 65, 82, 39, 60,169,115,228,155, 28,132, 76, 56,195,117,136, 2, 81,105,119, 98, 55,127, 25, -145,161,137, 50,162,170, 22,169, 49, 4,247,222,160,130,231,212,129, 19,149,181, 52,128, 95, 59, 79, 85,221,242,172,224,183,126, - 53,171,146, 33, 19,147,123,172, 26,179,219, 20, 48,186,129,116,222, 71,180,254,132,102, 77,214, 54, 93, 82, 96, 45, 5,196,113, - 33,228, 40, 24,117, 25,118,102,255, 21, 85,102,178,143, 82, 60,174, 46,195,220, 61, 11, 16,253,134,174, 28, 8,170, 49,218,186, - 26,184,133,217,183,228,170,110, 54,244,229,191, 19,170, 13, 64,212,237, 43, 13, 92,228, 88, 72, 1, 33,135, 72,160, 2, 82, 10, - 88,205,220,195, 87,179,151, 44,219,186, 86, 38,204, 85, 85, 37,134,144,186,212,197,216,197, 16, 83, 66,131,190,227,253,227,163, - 46,198, 52,116, 29,115,223,245,125,159, 82,136, 27,139, 97, 72,221,114,232,251,190,239, 98,183,216, 88,196,148,250,174,143,169, -139, 93,191,185,185, 81,115, 53,192, 16,195,114,251,220,230,185, 11,215,158,188,165,181,138,212,113, 28,143,142, 15,247,247,247, -247, 15, 14, 15,142,246,119,119, 31, 98,191,121,120,188, 70,176, 16,152,153, 28, 91,211, 28,101,141, 29, 22, 28,235,142, 40, 70, -174, 73, 43,216, 44,226, 32,152, 17,181,180, 65,235,101,163, 70,241,194,134, 19,243, 22, 60, 85, 66, 18, 84, 4, 67,140, 70,134, - 76,132, 84,161, 54, 3,142, 53, 60,229, 25,185,161, 57,246,253, 96, 3, 49, 48, 98,140, 20,164,170, 2, 48, 32, 18, 5, 34, 21, - 65,166,208, 98,194, 38, 54,163,115,220, 51,237,135,126,179, 43,254,120,223, 96, 91, 83, 17,124,180, 61,248,104, 42,104,177, 44, - 59,107,228,112,199,100, 64,146, 89,194, 98, 48,109, 65, 14, 64, 52,197,192,196, 4, 34, 24, 98,236, 7, 45, 89,107, 54, 32, 5, - 65,199,141,249,114,164, 58,223, 16, 9,169, 27,134, 11, 59, 23, 98,236,151,139,197,149, 33,109,116, 49, 79,101,148,188, 26,235, -123,119, 63, 16,145, 46,112,100,246, 82,217,192, 76, 33,212, 92,142,199,124,186,158, 96,140,145,124, 70,241, 9, 0, 0, 32, 0, - 73, 68, 65, 84,233,242,249,229, 75,207, 61,245,249,207,125,238,147,159,250,204,133, 11, 23,185, 11,136,193,204,114,201,164,128, -108,134,150, 87, 99, 72, 41, 12,221,193,238,131,216, 15, 93,138,239,191,247,222, 95,191,254, 67, 93,143,213,250, 87,255,198, 23, -158,125,254, 5,238,120,125,116,116,116,176,127,184,255,248,221,247,222,121,247,253, 59,251,199, 39,121, 42, 82,202, 56,174, 8, - 20, 9, 82,224,200,212, 7, 94,137,157, 73,165,162, 80,139,204,150,126, 64, 0, 98,116,195, 25, 33, 2,210, 60, 15, 58, 15, 67, -205,205,181, 0, 28, 8,157, 71,130, 4, 64,160,158,138,131, 16, 40,198,128,140, 0,204,142,117, 70, 52, 0, 5,221, 26,134, 39, -206, 95,208,170, 38,120,114,124, 60,108, 44, 98, 76,108,143,233,248,136, 48,254,201,239,253,239,180, 62, 90,244,189,170, 89,208, - 41,143,204, 33,133,180, 88, 44, 95,124,238,227,183,239,221,171,181, 34, 35, 1, 36, 14,185, 86, 21, 21,239,124, 0, 27, 82,152, - 86,133, 16, 2,113,198,194,104,129, 83,138, 82, 1,179,151,107,136, 3, 91,216, 7, 13,155,241,239,216, 38,111,119,229, 98,253, -136,147,126,230, 30,161,169, 86, 47, 73,240,149, 14, 51,129, 18, 5, 58, 89,175, 87,171,156,186, 48,191, 68,218,178,255,172, 84, -217, 76, 75, 21, 16, 83, 2,149, 51, 11, 24, 68, 78,203,110,225,219,165,172, 22,208, 16, 24, 68, 25,131, 89, 14,115, 0,157, 1, -181, 10, 6, 79,149, 66, 8,172,181, 34,179, 2,136, 25, 59, 81, 67,212,189, 38, 85,196,157,112,206,232,243,218, 11, 98,247,226, - 33,114,152, 74, 65, 0,102, 18,105,208,226,162,181, 84, 81, 45, 56,127, 67, 60,230,205, 8, 0, 22,128,156,186, 80, 84, 1, 13, -153,252, 68,175, 38,140,108,109,183,142,162,170, 89,176, 65,182, 1, 12, 74, 41, 4, 32,164,196,172,181, 17,230,231,130, 19,108, -133,232, 31, 85,228, 72,104,142,127, 72, 68, 76, 92,154,247,200,121,226, 51, 82, 4,144, 61,199,211,176, 11, 8, 45,123,196,117, -173, 72,140, 10,226,110, 40, 17, 39,185,231, 82,218,201,101,192, 12, 96, 86, 12, 52,215, 90, 4, 9,202,172,236,139,129, 9, 9, - 40, 53,110,163,187, 69, 5, 49, 17, 3,136,248,211,158,139, 20,209, 34, 58, 81, 94, 14,139, 40, 58,149,146,214, 33, 48,187, 50, - 17, 3,197, 20,186, 24, 83,136, 30,194,234, 82, 26,186,174,139,161,239,135,161, 31,250, 46,110, 44, 23,195,208,111, 46, 54, 66, -234, 66,228,161, 31, 82, 26, 66,138, 93,191, 96, 14,169,235, 54,134,197,198,185,243,151,175,220, 80,201,160, 54,214, 58,141,235, - 7,251, 43, 1, 69,212,104,171,229, 16, 83,196, 46, 68, 10, 24, 8, 84, 81,124, 53,217, 74, 95,125,250, 36,115,132,128, 79,190, - 0,170, 78,188,157,115, 76,224, 93,118,164, 34,126, 82, 34, 6,195, 98, 96, 76, 84, 69,144,140,128,180,152, 56, 80,167,122,207, -163,249,243,214,108,252, 30, 70, 53, 99,102,213,230, 58,246,153,155, 24, 77, 26,100,173,148, 66, 8, 38, 16, 0,205,164, 52, 30, -153,219,166, 4, 40,204, 85,184, 28, 64,218,209,143,179,231,221, 37, 54,215, 76,188,160,206,128, 77, 5,145,193,140,168,209,224, - 41, 18, 33,214,226, 10, 59,250, 29, 4, 65, 90,248,101, 54,227,104, 45, 0, 29, 14, 29, 99, 66,107,247, 93, 3,241,203, 17,250, - 13, 88,221,203,213, 58,166,191,243,245, 63,254, 39,255,219, 63,255, 96,239,120,209,199,190, 31,182, 55, 23,125,140,162,117,255, -240,120,181, 94,249, 37,177,133, 97, 5,114,173,117, 53, 78, 83, 57, 93,175,171, 64,223,197,223,254,207,254,246,151,191,244,133, -237,243, 23,185,235,215,167,167,211, 56,214,169, 96, 0, 98, 98, 12,128,160,117,170,181,164,229, 50,246,195,222,253,123, 91,231, - 46, 20,149,175,127,253, 79,198,211,147,211,211, 92,113,249,202, 23, 63,123,229,202, 53,131,122,116,112,124,116,240,248,195,247, -239,220,253,224,206,155,239,127, 0, 2, 67,162,213,241, 88,107, 61, 61,205, 27,125, 56, 29,215,185, 10, 24, 22, 67,138, 28, 99, -152,114,110, 17, 1, 39,216,182,173, 23,184, 0,114,182,153,142, 33,136,170,154, 33,177, 58,170,199, 4,209,136,208,225,203,196, -164, 0, 20,121,145,186,147,211,245, 56,142,193,209, 87, 6,238,181, 5, 69, 32, 20,160,107, 23, 47,158,223,217,230, 16,179,148, -113,156,128, 8, 57,112,234,227,144,167,147,227,144, 15,111, 92,222, 1,182,135, 7, 71,129, 67, 45,181,134, 41, 32, 83, 76, 87, -175, 92,254,212, 11, 47,188,249,238,187,196, 0,102, 49,242, 98, 24, 20,237,232,248,100, 42, 18, 41, 4, 74,219, 11, 50,196,170, - 26, 66, 36, 0, 53, 75, 33, 5, 67, 1, 67, 9,100,234,183, 46, 6, 40, 98,103, 81,106, 59,219,216, 56, 70, 64,181,182,193,160, -165, 36, 16, 77, 76,146, 49, 32,154, 87,189, 35,100,173,137,162,153, 26, 9, 26,131,170, 17,219,204,167, 6, 3,242, 53, 63,243, -114, 99,227,224,232,144, 17,144, 64,197,103,198,112, 86,243, 8, 8, 37,103, 69,234,135,174,102,169, 82,204,212, 20, 74,206,234, -121,116, 2, 84, 82,109,213,196,128, 64,106,171, 41, 99,128,200, 9,152,165, 72,223,241,148, 53,198, 88, 69,156,129, 32, 13, 38, -131,193, 25,168, 98,142,142,226, 64, 17, 81, 12, 85, 0, 64, 3,114, 5,173,106, 78,120, 85,171,168,209, 12, 74, 21,117,174,121, - 53, 0, 76, 72,147, 40,134, 16,124,208, 5, 86, 53, 86,169, 14,155,103, 53, 0, 32, 7,112, 10, 26,136,148,158,147, 81,176, 70, - 54, 52, 4,159, 38, 28,119,166,228,122,171,218,143,117,216,121,188,172,101,125,221,225,102,179, 81, 14, 26,174,167, 69,229, 67, - 72, 51,226, 79, 83, 12, 49,176, 95,233,189,196,195, 91, 79, 13, 64, 85, 9,168, 50,138, 65,154,239, 1, 78,143, 10, 76, 69, 20, -196,136,221, 99,225,130, 20, 40,130,170, 17,161, 26,154, 21,117,199, 54, 57, 3, 94, 17, 3, 0,138, 26,177, 17,154, 86, 85, 50, - 13, 52,173,166,169, 78,206,102, 88, 14,131, 2,214, 34, 67, 23, 98,140, 93, 74, 49,112,100,238, 83, 74, 41,246,125, 55, 12,253, -198, 98, 99,209,197,190,235,151,139, 97, 99,185, 57,244, 41,164, 52,244, 67, 23, 83,236,251,174,139, 28,250, 16, 34, 49, 15,203, - 97,177, 92,218, 5, 43,181, 74,214,211,233,244,184,200,116,184, 98,172,129,172, 75, 76,104, 41, 80, 0, 8,193, 2,161, 2,163, -136,187,104, 85, 42,152, 63,173,174,206,179,169,205,182, 25, 66, 82, 40,254,140, 59,207,178, 52,184, 37,160, 47,114,125, 91,219, -162,235,124, 86, 60,101, 20, 72,205, 64,218,246,141, 40, 52,114,157, 49,153, 99,201,218,137,215, 18,174,110,200, 7, 11,190,212, -117,137,199,107, 71,126, 44, 60,130, 42,245,172,213, 9,200, 95,249,190, 5,118, 77,161,189,146, 64, 60, 8,127,150,199, 5, 1, - 72,203,142, 82,210, 71,135, 31,197,161,156,207,143, 60,247,122,184,226, 35,150, 43, 45, 55, 67, 72, 82, 39,205,197,196,165,127, - 68, 48,213,218,186, 83,196,186,197,178,172, 79,254,213,239,254,222,159,252,249, 55,223,120,255, 94, 8,233,250,133,115, 67,207, -187,123,143,214, 83, 77, 41,113,160, 24, 34, 1,100,147, 44,181, 78, 53, 4,222, 30,250, 7, 7,107, 5, 74,221, 48,112,248,123, -255,241,111,254,230,111,254,135, 39, 99, 62,157, 38, 91,143,181,102, 4, 98,138,104, 8,130, 2, 21,212, 56,134,245,225, 94,183, -220, 62,125,120, 63,198,240,206,219,111,188,241,195, 31,140,171, 41,246, 91,151,175,223,122,230,185,231,187,110,200,227,250,244, -244,104,239,193,253, 59,183,223,189,125,247,222,238,227,199, 23, 46,236,252,242,151,191,120,184,247,240,159,253,203, 63,150, 22, -119,103,191,161, 3,129,204, 8,105, 63,238, 17,177,235,152,155,105,205, 98,160,234,121, 22,175,190, 33, 66,162, 34,210,224,213, -237, 44,244,240, 46, 48,130,170, 56,195,107, 42, 82, 72,151, 67, 7,132,165, 40, 52,246,121, 11,239, 40, 40,170, 94,127,226,210, -176, 88, 2,112,169, 39,235, 60,185,121,137, 57, 46,150, 27,235,245,234,217, 23,158,123,231,173,119,158,121,234,169,189,147,215, -196, 52, 49, 77, 37,135, 16, 82,133, 62,245,159,124,241,229,156,203,131,199,143, 17, 3, 34, 86,173, 93, 76, 23,182,183,198, 90, -199,245, 58, 75, 97, 36,119,242, 32, 98, 35, 5, 17,110,117,139,163,113,157,157,148, 81, 52, 48, 86, 5,102,211,218,158,152, 24, -147,255, 97, 34,243,164, 69,213,220, 10,233, 16, 68, 4,164, 64,226, 55,133, 51, 59,151,226, 56, 21,167,180,183, 64, 3,243, 92, - 12, 65,160,154,107,113,110,177, 84, 89,141,167, 45, 11, 46,149, 17, 77, 8, 16, 68,140, 25, 66,224,128,152, 11, 24, 88, 45,162, -106, 82,213, 11,175,252,227,102, 34,169, 16, 2,120,139,152,169,137, 89, 8,205, 1, 15,140, 86, 4, 25, 69, 32, 75,217, 14,132, - 8, 35,181,110, 73, 96,215,143,177,148, 98,104, 6,148, 2,213,138, 58,151, 32,128, 66,136,113, 90,157,142, 37,119,204, 51, 64, -219,175, 32,104, 85, 49,249, 9,172,196,104, 85,129,180, 84,224,192,102, 38, 82,115, 21, 55,211,177, 18, 2,155,170,129,154,106, - 98, 54,138,226, 62, 59,153, 41,232, 6,128, 26, 17,149,168, 74,235, 66, 6, 80,155,193,181,224,140,243, 86,155, 77, 74,134,115, - 6,199,124,231,235, 95,117,228, 64,168,222,249,192,205, 13, 29, 56,148, 90,141,176,168, 85,133, 24,217,239, 90,204,232, 94, 88, -149,106,192, 70,205,253,205, 72, 4, 20,129,178,170, 18,249, 75,148, 42,198,192, 42, 85,196,140, 80,196, 2,187,133,202, 39,128, -179,151,141, 33,128,138, 82,236, 1, 10,113, 3, 24, 6,102, 85, 53, 83,169,146, 69, 15,142,143, 3,211,162,239, 2,115,145,202, -196, 93, 8, 33,134, 24, 99,223,167,101,215,167, 46, 49,113,159, 82,223, 58, 78,226,214,114, 57, 12,253,114, 88, 14,139,190,239, -250,141,197,178,235,251,152,186, 20, 35,167, 62,198, 46, 48,239,108,108, 2,162,200, 54, 0, 86,209,146,203, 84,166,147,117, 70, - 19, 21,141,164,129, 17,161,166, 0, 12, 76,224, 55, 11,100, 12, 4, 34,160, 0,232, 73, 14, 5, 53,191,236, 1, 32, 96, 45,202, -158,160,101, 86,135,109, 32, 3,212,118, 19, 21,109,189,211, 1,139, 2,250,192, 79, 72,110,160,243, 73,170,153, 12,145, 61,199, -174,224,179,181,223, 42, 60, 31, 23,126,124,159,226,179, 82,243,235,195, 89,161,161,157,225,225,177,149,192,105,123, 28, 63,202, - 93, 0,249,123,218, 35,209, 98,132,152, 87, 25, 86, 69,177, 81,213,154,162, 32, 45,166,217,206,108, 83, 0,168, 83,134,184,158, -100,146,113,173,146,141, 0,129,193, 23,173,102, 0, 12,148, 22, 27,139, 58, 30,255,238,191,248,231,191,255,245,111,223,223,125, -244,228,149, 75, 87,207,157, 83,162,191,251,159,254, 39,122,248,224,247,254,240, 15,127,248,206,135, 53, 67, 45,202,140, 12,112, - 97,123,249,241,231,158,121,229,211,175,188,244,242,203, 95,251,131,127,245, 59,255,215,159, 46, 22,139,197,114,241,179, 95,249, -153,195,227,163,169, 40,130, 6,198,237,157, 29,173,178, 30,215, 90,107,173, 37,164,168, 98,199, 71,135,181, 76,125,205,143,247, - 31,223,187,115,103,117,114, 20, 49,225,246,185,143, 61,247,210,197,139, 23,145,104,117,122,116,184,247,232,238, 7,119,222,185, -243,222,189, 7,187, 99, 41, 95,248,220,167,127,246,167, 94,125,226,242,133,175,126,245,171,134,152,124, 86, 36,208, 42, 76,196, -110, 90, 7,231,245, 75,203,143,207,165, 98, 42,128, 64, 41, 80, 0,118,174, 3, 49, 70,226,117,173,244,145,169,180,137, 26,158, -130, 39, 98, 81, 3,130,192, 92, 74,166,212,153,128,168, 34,145,103, 36, 35,205, 17, 74,132,103,159,190,153,186,142, 67, 24,167, -105, 53,174,201,147, 21, 72, 16,121, 88, 12,100,112,237,169, 27,111,252,232,205,203, 91,155,247, 14,142,186, 5, 33, 96,174,165, -235,122,100,234,251,238,229,231, 95,122,248,237,111, 0, 97, 8,193, 12,198, 60,109, 44,150, 9, 33,103, 46, 42, 33,134, 64, 84, -196, 84, 37, 49, 3, 34, 41, 12,125,199,132,235,113,116,204,104,187,233,213,179, 10, 6, 21,169,134, 24, 76,153,153, 77,209, 95, -131, 70,232, 70, 99, 68, 2, 71,235,121, 57,152,170,138,197, 96, 42,243, 42, 10, 25, 60, 15, 98, 4, 8,106, 76,220, 69, 20, 17, -151,114, 24, 40,144, 91, 29, 0,136,141, 10, 54, 62, 27,149, 82, 67, 12,102, 86,155, 69,193, 16,160,138,197, 72, 14,253,225,200, -193,247,215,134,102, 80,197, 84, 84,201, 8, 64, 21,173, 42, 7, 42, 5,138, 84, 52, 44, 69,192, 32,113,168,156, 85, 17, 20, 24, - 13,145,156,201, 14, 6,162,202,204,173, 50, 4, 17,136,178, 72, 41, 5,206,112, 82, 51,105, 91, 93,181,182,182, 11, 3, 38, 3, - 9,196, 98,213,185,208,162,162,166, 82, 21, 0, 42, 88,136, 0,132, 80, 27, 80,176,197, 88, 68,146,251,246,154, 3,143, 16,200, - 64,208, 67,195,115,131,181, 41, 40,250,250,167,109, 0,213,144,180,253, 76,223, 82,179, 2, 2,198, 0, 62, 48, 82, 96, 6,204, - 42, 96, 38, 34,213, 0, 56,200, 56,249,197,159, 80, 3, 55,194, 41, 19, 86,169, 85,180, 75, 4, 6,206,143,137, 41,168, 1, 6, -244,152, 76,195,178, 83,131,254,180,158, 44, 70,102, 34, 51,113, 49,246, 44, 85, 67, 13,189, 76, 14,240,111,155, 29,159,135,149, -208, 87,130, 54,247,131,130, 34, 76, 99, 1,203,107, 64, 12,206,105,212,190,239,134,126,240,237,151,147,241, 67, 8, 93, 8, 41, -121,182, 54, 13, 67, 90,246,195,230,230,198, 48,116, 27,253,114,177,232, 67,136, 33, 82,138, 67,236, 98,215, 59,165, 34, 14, 67, -183, 92,110, 35, 50, 82,144, 50, 22, 17,171, 50,150,241,184,228,105, 26, 29, 19, 23, 73,186,200, 41, 2,145, 5,162, 64, 32, 82, -124,155,104, 6, 94, 4,198,132,160,100,100, 90,107, 51,197,107,171,243, 64, 67,116, 11,141, 35, 3, 20, 5,209,179, 90,214, 32, -148,142,105,129,121,187, 47,132,200, 1, 76,156, 63, 8, 38, 18, 40, 32, 67, 0, 51,138,140,181, 45, 93, 0, 20,136,144,192,155, - 43, 85,219, 11,216, 31,186,217,158,239,221,194,243,171,105, 94,188, 54,245,198,171,254,128, 65,180, 89, 34,129, 0,213, 13,181, -224, 94, 76,192,179,254, 64, 3, 83,168,117,125, 10,106,134, 98,173, 48,170,130, 54,242,188,106,237,135,205, 59,111,254,232,119, -126,231,159,124,239,245,183,158,122,242,234,111,255,194,111, 97, 89,255,213,155,183,127,229,215,126,253,197, 23, 62,206,225,147, - 31,127,229, 39,111,191,249,218,201,193,241,122, 28,179,212,237,157,115,183,158,123, 97,231,220,185,106,134, 72,191,242,171,191, -252,151,223,251,193,107,239,239,165,190,207, 57,199,116, 65,117, 84, 51,205,229, 95,252,254,255,253,236,115,207,191,244,194,173, -131,131,227,197,214, 14,167,248,240,246, 59, 59, 23,174, 96, 56,247,253,191,248,250,238,195,187,169,235, 67,218,216,216,185,126, -253,230,173,141,205, 69,158,198,253,189, 71,187,247,239,190,251,214,155, 31,220,191,187,127,188, 58,191,179,241,247,255,214,175, - 62,243,244,211, 83,206,121, 42,227, 52, 25,114, 76,168,160, 96, 54,141,217,123, 56, 75,206,129, 90, 70,128,145,152,112,156,154, -129, 34, 50,133,200, 72, 28, 18,139, 24, 34, 34, 82, 85,143, 76,183,207,160,249,144,192, 35, 47,115,150, 29,140,137,187, 20,213, - 12, 24,106,173,126,102, 4, 38, 17, 1, 11,165, 26, 1, 62,113,241, 98, 26, 6,128,224,165, 43,226, 68, 42, 4,164, 46,117,253, -201,225,254,229,243, 23,118, 47, 62,188,254,196,181,227,215,254,250,100, 61,110, 14,139,105,189, 74, 49,109,198, 24, 67,186,252, -196,249,171,151,158,120,244,120,223,196, 60,236,105,166, 33,196, 20,226,209,170,244, 1, 13,136, 35,104, 49,245, 71, 4, 96,170, - 83, 31, 82, 23, 35, 48, 69,211,140, 12, 80,207, 34,207,158,123,149,106,150,130, 35, 50,201,188,208,238,163,174,221,179, 55, 96, -155,108,137, 93, 14, 78,196,110,169, 60,235,107,112,155, 54,162, 49,160, 17, 33, 3,136,170,104, 43,253, 48, 83,169,168, 58,215, -232, 40, 0,213,246, 52, 27,128,198, 64, 38,140,156,189,111, 47,134, 96, 94,155,224, 55, 81, 49, 13,134,132,126,248, 34,129,170, - 41,180,208,122, 8,140, 8,185, 10, 16, 17,113,151,226,170, 28, 85, 64,209, 82,107,112,100, 68,235,174,119, 75,107, 81, 96,212, -154,205,128,153, 60,133,164,230,110, 71, 84, 19,255, 77, 53,154, 92, 51,174, 0,121, 81, 23, 65, 12, 92, 49, 16, 3,122,221,132, - 2,205,221, 56, 2, 72,158, 68, 71,223,145,178,153,128, 26, 50, 97,109, 20,147, 54, 43, 56,223, 48,251,118, 22, 65, 45, 6, 36, - 67, 85,209,217,191,224, 5,135, 24, 60,223,101,236, 59, 0, 53,138, 12, 80,137, 41, 79,197, 68,196, 45,170, 51,183,146,136, 9, -160,138, 68,142,168, 10,103,211, 31, 57, 77, 22, 69,107,201, 10,228, 46,192,150, 89,156, 11,189, 92,179, 64, 0,168,214,204,209, -158,128, 86, 51,171,198, 78,214, 69,240, 48, 67, 34,133, 0, 30, 3, 50, 49,140, 6, 77,239, 68, 81, 97,114,137,207,207, 25, 64, -130,170, 42, 85, 78, 78, 87, 68,148,107,206, 85, 35,113, 63,116,151,206,109, 33,176,128,197, 64,145, 99,140, 33,133,212,199, 24, -187,180,236,251,237,205,173,229, 70, 63,196,142, 3, 35, 66,228,216, 47,210,178, 95,246,139,126, 88,116, 41, 45, 23,139,205,148, -122, 94, 14, 75,221, 70,132,170, 57,231, 98, 85,199,156, 75,205, 39, 99,145, 50,197, 72, 68, 18, 48, 37,200,204,254, 7, 33, 13, -168, 89,208,154,175,169,129,230,164, 69,158, 68,149,144,188,207,171,149,224, 57, 54, 1,154,149,211,204,206, 18,166,109, 4,242, - 93, 41,182, 34, 17, 23,111, 81, 41,168, 87,125,160,255,186,194,254, 41,214,150, 29,197, 25, 91,216, 32,144,243,187,125,110,183, -108,149, 86,115, 60,206, 87,178,132,238,134, 52,108, 47, 19,152,205,252, 60,199,154,170,156,109,131, 1, 16, 60, 99,210,194,138, -132, 40, 14,200,157,123, 92, 8, 1,203,250, 56,245,241,191,254, 7,255,197,173,171,151,239,222,187,247,228,211,207,253,194,175, -157,239,134,110, 92,175,213, 86,204,233,233,151, 62, 27,157,173, 8,102,138,162,117, 53, 77, 82, 11, 17,109, 93,185,245, 15,254, -243,191,243,223,252,247,255,227,233,234,244,255,253,227, 63,253,236, 39, 95, 42,130,159,251,220,103, 36,223,251,199,255,244,159, -246, 59,151,255,167,255,225,191, 91,110,109,173, 87,167,135,239,221,223,190,244,196,219,111,191,254,163,127,251, 29,102,190,112, -254, 34,198,157,107, 79, 63,191,177,185,137, 96, 7,251,123, 7,251,143,239,222,121,239,237,247,222,185,247,112, 87, 84, 94,125, -229,147,127,243,103, 94,221,216,220, 90, 79,197,212, 44,161,168, 34, 64,136,140,128, 82,235,106, 53,213,118,238, 89, 8,196, 68, - 69, 20, 8, 57,132,144,170, 19, 5,129,177,148, 42,110, 51,197,214,199, 85,205,205, 3,142,140, 80, 5, 19, 80, 16, 52,160, 92, - 74,149,138,216, 57, 11,105, 72,105,204, 18, 56, 0,130,152, 36,138,236,145, 52,194, 44,229,252,246,206,205,235,215, 49, 68, 35, -242,121,149,137, 0, 8,144, 17, 45,164,190, 31,134,227,189,189, 39,175,221,184,127,255,193, 79,188,244,241, 63,249,246,247,106, - 21, 99, 90,175, 87,139,126, 48, 3, 19,252,204, 39, 62,241,198, 59,111, 3, 40, 65,244, 45,110, 36, 90, 19, 45,187,164, 42,235, -177, 50, 3, 83,224,192,101, 42, 28, 89,115,181, 62,244,125,183, 90, 77, 14,200,117, 82, 47,153,103,107,124,156, 0, 48, 99, 10, - 49, 4,127, 13,183, 64,135,129,154, 34, 82,138,129,145,138, 8, 32,170, 88,129, 26, 2,197, 46,194,169, 87,120,205, 17,144,185, -212, 91,125,152, 48, 36,192, 82,179, 9, 24, 65,160,160,104, 21, 49, 48, 57,102,151, 16, 34, 81, 49,245,174, 15, 19,169, 82,217, - 67, 32, 64, 98, 42, 34,179, 82,239,100,142,143,186, 99, 77, 13, 2, 4,223, 55, 68,102,230, 42,165,170,106, 85, 1, 68,173, 4, -172,162,162, 21, 12, 8, 65, 90,234, 16,173,168, 21, 53, 50, 96, 38, 14, 63, 6, 88,242, 36, 3,144, 59, 60, 17,193,196, 9, 31, -170,138,128,165,138,235,117,165,228, 90,164,148, 60,229, 9, 48, 32,182,214, 89,108,162,138,123,215, 12, 69, 20, 98, 35,135, 96, -115,196,129,153,137, 90,160,102, 90, 51,210,179,148, 13,145, 10, 84, 80, 81,117, 0,149, 57,181, 6,140,252, 31,157,213, 90, 48, -166,198,171, 51,132,192, 44, 50, 19,148, 1, 65,161,138,132, 24, 92,208, 71, 34, 7,110,183,242, 57,103, 99,182,208, 2, 55,254, - 56, 16,162,162, 42,152, 19,244, 76,171,112,138,238,181, 63,235,144,240,151, 56, 49, 19,133,162,170,106,165,136, 74,145, 86,188, -225,230, 90,109,233, 47,104, 8, 73,231, 46, 82,211, 32, 56,144,231,129, 49,197, 40,106, 1, 39, 36,132,170, 0, 84, 76,173,202, - 56,214, 72, 4,136, 83, 41,155, 41,254,250, 87, 62,151, 49,221,125,240,120,255,160, 76, 66,102,150,186, 20, 57,116, 33,118, 41, - 12, 67,223,245,221, 34,166,229,114, 99, 88, 14,142,200, 31,150,155,129, 83,215,247, 41,198,174,219,100, 14, 64, 40, 34, 42, 90, -107, 45,181, 20,201,171,156, 81, 4, 64, 8, 20, 13, 9,148,164, 32,149,198, 45,168,138, 72,100, 6, 4, 34,218,162,163,190,180, -213, 51,129,254,172,107,188, 77, 27,230,109,213, 32,179, 17, 1, 12,140,220,118,105, 18, 60,209,214,100, 76, 36,243, 48,147, 57, - 89,179,133, 85,189,182, 4,129,253,252,118,138, 72, 43, 74,161,134,158, 60, 75,132,159, 21,188, 54,195,101,107,150,247, 34, 10, - 3, 32, 19,223,156,180,222,173,185,175,182,109, 22,253, 91, 1, 30,216,111, 96, 32,155,214,171,103, 94,126,245,191,125,225,149, -191,126,237, 7,247,119,247, 95,254,244, 79,110, 44,135,170, 50,142,147,183, 18, 87, 44, 58,213, 2,100,166,200, 33,116, 61, 96, -226,224,206,127, 57, 62, 58,124,230,149, 47,253,214, 47,127,247, 31,253,238,159,255,254, 31,253,241, 31,126,245, 15,179,216,171, -159,127,245, 23,191,252,234,149, 39, 46,221,123,116,244,143,255,217,255,249, 91,191,254,139, 23,111, 60,253,232,254,251,223,253, -203, 63,189,255,225,189, 39, 46, 95,234,250,115,221,246,149, 75, 79, 92,235,250,174,150,114,240,248,193,189,123,239,223,190,253, -222,238,227,199,123,135, 39,215, 46, 95,248,229,159,251,210,179, 31,187, 89,170,230,162, 78,196, 68,179, 82,106, 10,148,115, 77, - 41, 36,194,172,245,172,101, 48, 48, 25, 88, 41,237,238,201,173, 65, 17,180,150, 24, 67, 3,255,155, 34, 82, 23, 66, 36, 86,212, - 62,244,129, 99,169, 83,104, 95, 16, 99, 4,171,194,205,160,107,102, 54,149, 82, 69,137, 33,133,120,108,107, 5, 19,149, 62, 6, - 38, 86,213,203, 23,207,159, 63,183, 35, 83, 33, 2,198, 48,229,105,115,103,203, 84, 65, 77, 16, 8,121,216,216,180, 90,203, 84, -164,212,229,230,198,243,183,110,190,115,251,195,197, 98, 89, 76, 79, 86,171, 24, 34, 18,239,108,109,253,244,171,159,255,198, 55, -255, 98,123, 43, 54,245,192, 32, 32, 64, 8,129, 40,151, 34,106, 8,213,170,155, 45, 96, 18,149,245,180,209,119, 57,231, 50, 9, -249,133,147,192, 61, 26,230,136, 20,176,113, 44, 33,250, 24, 73,128, 21, 20, 20,154,255, 29,205, 59,136,173, 93, 37,153, 0,141, -209, 57,122,168, 8, 10, 16,230,154, 75, 34,246,206, 25, 19, 80,118, 86, 95, 40, 50,169, 0, 70, 34, 79, 85,181,251, 99,123, 84, -221,196,227,140, 86,105, 59, 68, 48,192,192,172,136, 80,108,102,216,168, 8,169,153,170, 32,177,182,154,224,198,171,100,162, 92, - 85,179, 0, 66, 32, 46, 82,189,140,147, 57, 80, 64, 18, 82, 21,100, 16, 5, 37, 85,246, 29, 43, 16, 49,205,236, 67,111, 74,246, -111,107,169, 10, 34,149, 24,209,178, 42, 97, 8,204, 14, 58,103,162, 92,203,152,199, 92,171,168, 17,123, 2,201, 47,206,216,240, -147,165, 26,154, 40, 16,104, 83, 7,207,112,164, 45,173,138, 17, 24, 84,193, 85, 43, 5,211,202,177,243, 83,180, 81, 74,253, 92, -197, 89, 70, 69, 52,102,127,206, 98,100, 64, 44,165,118, 41, 65,107, 28,157,155,127, 8, 0,173,170, 52, 10, 35, 34,128,149, 70, -196, 68, 64,114, 88, 5, 51, 17, 18, 83, 69, 68, 82, 84, 95,181, 16, 11, 84, 81, 0,226, 6,253,113,190, 2, 34,136,186,127,158, -185, 25,233, 69,106, 27,100,165, 86, 17,108,165,135,164,222,129,171,166, 86,129,146, 17,241,172,107,185,132, 65, 45,253, 6, 48, - 43,165,208,168,194, 36, 85,171, 40, 24,184, 48, 82,115,205, 50,254,212,167,159,187,122,235,217,245, 52,174,199,114,122,188,126, -184,247,248,195,135,251,123,135,167,123,251, 7,187,143,243,186,136,153,197,212,117, 41,244, 93,183,217,247,195, 98, 88,246,125, -223,165, 97,177, 92,244, 93, 76,221,114,177,164,190,235,187,129, 41,246,125,223,117, 11,224, 77, 19, 99,131,177,142,106, 88, 74, -169,146,167, 34, 90, 39, 68,144, 58, 89, 89, 71, 54, 68, 75,232,208,117,243, 59, 93,179, 45,169,129, 10, 4,114, 52,142, 65,115, - 34, 25,176,104,109,101,115,158,178, 82, 80, 85, 36, 2,162,128,128, 69,132,137,153,169,170,128,130,170,178,211,149, 13,124, 89, - 67, 62, 96, 40,152,168, 57,132,221, 90,119, 54,158,189, 5, 26,150, 20, 26,239,114,174, 69,129,179,194, 66,151, 25,208,218,143, - 25, 23, 14, 14,178, 35,112,158,131,186, 6, 68,193,177,213,136,132, 70,156,210,241,241,254, 15,190,251,189,141,157,115,159,251, -201, 87, 13,235, 84,203,204,198,153,111,158, 94,206, 24, 6, 32,103,181,144,212,104,160,104,102, 90, 86, 99,249,165, 95,253,141, -239,252,240,141,187,143, 86, 28, 35,146,125,251, 91,223,250,254,191,249,158,129,113,160,127,251,253, 31,156,219,217,250,248,173, - 15,238,190,247,218,176,216,186,126,243, 41,142, 59, 91, 23,175,158,191,120,145, 0,215,167, 71, 15,238,222,126,231,157,183,111, -127,248,225,222,254, 33, 16,126,254,149, 79,252,252,151,127,114,115,115,123, 61,121,105, 17,181,148, 31, 65,158,166, 24,226,225, -201, 90, 85,226, 48,152, 41,187, 85, 0,204,251, 67,166, 60,133, 46, 34,162, 84, 11, 33, 40, 32, 83, 64,226,200, 65,181,130, 98, - 96,114, 87,104,136, 36,210,212,217,234, 14, 86,244,190, 48, 43, 85,212,140, 1, 35, 51, 50, 30, 29,158, 94, 46, 59,232,188, 67, -116, 53, 27, 66, 32, 51,187,184,115, 46,198, 80,242,180, 30, 79,246,246,119,223,191,123,119,235,194, 19, 59,151,119,238,221,185, -131,200, 64,132, 16,226,198,210,224,244,227, 47, 63,255,253,239,255,224,202,249,115,239,222,249,176,214, 26, 82, 55, 78, 99,138, - 9,204,166,105,122,230, 99, 79,223,127,240,225,238,238, 94, 86, 97, 33,226,192, 28,170, 76, 10,132,196, 82,115, 31, 98, 11,214, - 2, 35,192, 88,166,190,227,154,101,202, 25,200,133, 83,252,104,199,167,170, 38, 89,129, 25,125, 34, 97,102,255, 25,238, 65,100, - 66, 84, 50,240, 64,157, 87,240,144, 17, 73, 85, 69,136,115, 13,152, 63,128, 14,109, 2, 85, 10, 96, 98, 30,162,159,125, 71,222, - 75, 57,183, 53,207,221,237,162,115,108, 17,155, 3, 65,205,136,152, 17,115,123, 29,107, 35,234,177,247,142, 49,128, 16, 50,219, - 28,212, 2, 64,194, 68, 93,145,181,181, 22, 40,152, 59,229,209,249, 22, 64,126, 86,138,123,164, 4, 32,130,113, 83,164,244,163, -248, 31,162,106,157,239,187,138,192,206, 77, 65, 38, 70,100,166,106,170,138,235,105, 34,112,142,136, 1, 67, 8, 81,212,121,136, - 13,166, 70,212,250,212,200, 26, 49,202,212,245, 89, 52, 20,132,208,228, 44,112,203, 49,169,130,128,249, 16,222, 12,203,237, 80, -215,143,216, 53, 6,140,200,196, 34, 66,136,129, 57,134, 16, 57, 76, 86,218,155,190,217, 94, 3, 25, 76, 83, 81, 80,238,153, 12, -144, 40, 24,152, 33, 35, 4,100,116,148,184,153,127,193,209,213, 52, 80, 52,227,118,247,159, 75,239,230,238,103,159,242,108,126, -167, 58,245,147, 9,165,106, 76,177,193,149,206,196,131,234,114,131,153, 40,177, 54, 44,168,191,223,212, 0, 41,163,133,179, 44, - 60,249,219, 17,230, 93,189, 54,184, 21,232,208,119,160, 80,170, 76, 89,170, 90, 63, 12,203,141,141,235, 79, 94,121,197, 84,173, - 78,171,233,248,116, 58, 60, 57,121,180,119,252,225,195,199,199,199, 39,187,135,235,119,246, 30, 49, 16,135, 24, 99, 92,116,221, -194,219,202,151,139,148,226,144, 82,223,117,203,205,229, 98, 24,210,176, 72,161,139,169, 15, 93,159, 98,232,187, 4,184,129,128, - 34, 86,107, 45, 82,242, 84,171,140, 83,169, 71,199, 7, 90, 39, 64,136,100, 41, 98,112, 8, 49, 35, 4, 0, 52, 45, 2,166, 72, -212, 80, 4, 88,207, 42, 0,219,180,220, 4, 31, 3,128, 0,136,204, 76, 68,126,115,159, 9,115,220, 70, 35,156,231, 29,153, 93, - 59,218,218,151,124,213,238,113,190, 51,111,109,251, 63,209,252,138, 4, 35, 10,205, 86, 43, 98,118, 6, 28,155,127, 7,168, 72, -212, 26, 16, 68,103,205,198,213,212, 38,189,246,203,197,157,183,223,124,251,173,183,158,121,241, 19, 79, 62,121, 45,143, 43, 95, -214,158, 81,233,231, 87, 10, 35, 48,119, 29, 84,209, 42, 6,162,102, 4,164,136,104, 92,166,245,112,254,210,223,255,143,126,243, - 31,254,207,191,179, 22, 93,164,196,220,155,217, 84,242,141, 27, 79,126,229,179,207,125,255, 7, 63,250,179,127,253,173, 95,249, -247,254,198,206,133,235,214,111, 95,190,116, 61,245, 73, 74,126,252,104,247,253, 59,111,191,249,246,219,247,118,119,143, 78, 86, - 79, 95,187,250,115, 95,249,252,167, 95,122,174,212,114,186, 58, 37, 10,115,166,205,119,100,178, 94,143,200,188, 92, 14, 71, 39, - 71,181,202,233, 58, 15, 93,231,238,211, 20,152, 9, 77,133,160, 99,226,214, 96,228,141,110, 78, 89, 3, 82, 53, 36,244,122, 7, - 12, 4, 94,107,197, 8, 98,232, 41,149,192,222, 63,153,115, 65,194, 46, 69, 70,220, 24,122, 96,170,181,133,142, 20, 32, 48,130, - 97, 49, 91,110, 44,106,173,167,235,227, 71, 15, 31,188,245,238,237,199,135, 7, 8,244,196,141,155, 15, 62,188, 75, 76, 42, 80, -115, 9, 28,180, 11, 96,112,225,220,249, 71,187,123, 23,183, 54, 31, 31,175,153, 43, 48,143,101,138, 28, 0, 56, 97,248,244,203, -159,250,218,159,255,185,100,169, 38, 68,152,107, 33,196,113, 26,183, 55, 55,145, 81,234,156, 53, 2, 52,208, 24,120,154, 74,107, - 66, 96,140,214, 40,218, 8,173,141, 26, 12,171,213,226,216,237, 90,141,216,137, 67,220, 28, 6, 8,100,181,109, 35, 20, 16, 11, -152,214, 26, 66,192, 89,125, 64, 98, 83, 81, 51, 84, 65, 32, 81,233, 3, 23, 53, 38, 48,163, 42, 2, 86, 20,185,170,204,104, 87, -223, 58, 16, 50, 5, 98, 53, 13, 33,204,132, 16,106, 4,120, 66, 41,102,232,133,179,254,155,225,102,227, 84, 96,106, 21,172,126, -234,161,145,128,198,192,165, 0, 40,136,148, 38,103,122,115,182, 59, 14,169, 49, 19, 68, 53, 56,106,194,209, 54,102,222,227,201, -164, 76, 92,109, 38,250, 50,204,210,100,107,229, 16, 53, 98,246,202,181,128,220,113, 90, 75, 70, 3, 66,176,106,238,170, 79, 93, -170,181,186,202, 31,136, 82,164, 81,102,212, 19,179, 25, 4,162,224,172,121, 98, 36, 6, 19,103, 57,240, 76,140, 34, 0, 80, 84, -242,165, 50, 34, 24, 3,180,194, 59,166,152, 82,169,153,145,186, 46, 96,235, 33,108,118,108,114,167,188,170, 51,143, 3, 49, 26, - 98, 64, 82,183, 92,205,104,251,249, 64,245, 39, 95, 91, 89, 13,147,191, 97,173, 32, 50,130, 6,240, 96,143,182, 68,156, 19, 6, - 65,179,216,130, 76,138,136, 10, 51,199, 24,171,106, 85, 37, 52, 84,117,127, 18, 82, 19, 49, 28,179, 37,109,249, 55, 7, 42, 20, -204, 26, 86,104, 61, 77,139,190, 35,255,249,160,129,195, 36,226, 60,122, 68, 70,175,112,143,132, 2,102, 86, 74,157,114, 65,201, - 70, 68,200,155, 91, 27, 59, 59,155, 79,223,184,246,121,198, 42,186,154,244,240,248,120, 92,173, 30, 62, 58,216, 61, 56,124,184, -123,120,120,124,112,247,116, 92,151,194, 28,250,174, 95, 14,105,115,185,185, 92, 14,203, 97,232, 82, 26,186,126, 88, 44, 83, 23, -134,197,208,117,203,174, 31, 82,215, 19,112, 23, 40,198,222, 44, 33, 80,222,220,200,185,104,149, 42, 53,151,188, 42,197,106,182, - 73,188, 27, 9, 76, 99, 0,174, 26,216,156,253, 82, 77,212,239,106,106, 82, 13, 9,204,212,241,224,161,225,109,204, 92,196,161, - 48,135, 19,218,150,135,156,216,212, 40,187, 13, 97,102,115,183,121, 75, 91,180, 80,107, 35,103,122, 95, 65,107,197, 85, 85,106, - 0,119,100, 50,177,138,192,134,128, 76, 86,107, 3,190,123, 45, 57,147, 67,225,103,224, 59, 48, 49,199,244,198, 15,255,234,225, -131,135,175,254,212,207,116,137, 75,206,134, 4,218,172,198, 51,163,222,121,109, 94, 83, 9, 16, 9, 74,213, 42,166,128,236, 55, - 53, 5,179, 92,234,203,159,249,201,255,242,239, 62,252,135,255,235,255,177,151,243,206,114, 25,136, 33,132,251, 15, 31, 28, 30, - 94,255,249,159,121,245, 15,254,236, 59,255,207, 55,190,251,219,127,239,179, 55,159,186, 89,242,180, 62, 57,122,112,247,246, 91, -111,188,245,246,157,219,143, 14,247, 9,249,151,190,252,133,159,253,210, 79,132,190, 91,229, 2, 10,196, 13,209, 0, 72, 14,154, - 55,228,213,122,146, 42,121,202, 76, 52,230, 60,149,186,189,177, 65,132, 32, 16, 34, 35, 50,135,200,132, 69,106,140,158, 20,176, - 0,160,162,185, 22,239, 30, 34,140,162,121, 44,117,171, 27, 86,148, 25, 81,213,204,180,245,225, 26, 30, 28,175, 78,115,174,213, -140,180,170, 33,240,162, 15, 42, 98,104, 96, 45, 36, 76,140, 41, 5, 50,189,114,241, 2,160,173, 78, 78,239,222,223,253,224,225, -195, 90,100,125,186,218,220,222,222,220,218, 58, 58,216, 39, 38, 66, 82,163,148,250,147,253,131, 11,231,207, 1,234,133, 75,231, -190,246,157,191,202, 37, 39, 76,171,213,233, 98,177, 17, 13, 5,117,107, 99,235,250,213,171,111,220,126, 39,105, 96,228,162,182, - 96,142,172,155,195, 32, 85,214,182,134, 92, 2, 71, 23,185,167,169,174,171,228,154,137, 8,148,137, 25, 9,173,162,129, 21, 81, - 50,237, 82, 44,103, 45,155, 33, 0,179,167, 90,154,195,198,140, 0, 2,250, 35,230,101,155, 85, 13,163,202, 76, 59,106,253,212, - 4,216, 78, 46, 70,111,148,103, 38, 66, 96,130, 82,220, 52, 66,190, 51,114, 54,125, 96,170,185, 84,151, 4, 0,138, 86,107,239, - 79, 84, 21, 85, 96, 34,109, 88, 21,112,202,143,155,187,131,119,199, 49, 17,153, 20,147,128, 0, 86,165,189, 57, 12, 21,125, 49, -168,196, 13,154,128,109,131,170, 10, 4,132,104,170,226, 59,238,179,158, 3, 48, 3,106,141, 58, 0,200, 52, 3,245, 12,188,238, - 10,207,244, 42, 32, 96, 68, 4,168, 62, 14,152, 53, 24,167, 17,136,154, 25, 19,154,161,145, 67,113,153,200, 28,181,143,140, 64, -134, 14,161, 67,107,225, 82, 3,172, 32,145,189, 95,154,170,169,206,226,181, 91, 43, 9,185, 54,243,143, 74,173,104, 94, 82,224, -197, 18,138, 0, 8, 1,160,120, 12,157, 34, 17, 6, 3, 77, 49, 96, 35, 27,160,255, 10, 6,216,156, 22,136,134,216, 90, 62, 21, -152,201,204,136,141, 42,130,130, 48, 0,114,155,250,112,238, 97,199,134, 74,241,211,219,187,166,249,204, 60,237, 6, 28,192,170, - 34,136,192,192, 16, 8,218,237,133, 0, 1,188,174,143, 60,159,133,214, 66,255, 85,100, 44, 37,165,228,119, 93, 3, 80, 45,166, - 74,148, 20,129,108,182, 50, 33,129, 26, 81, 48, 80,228,132, 72, 98,130,166, 42,168,106, 80, 12, 12, 24,233,220,206, 14,157,219, -190,113,253, 18, 1, 17, 71, 83, 59, 58, 62,126,255,254,195,253,253,227,187,187,143,223,253,224,193,254,254,227, 10, 24, 57,165, - 24, 99,138,139,161, 31, 82,215,165,184, 92, 44, 22,253,176, 88, 14,169,239, 23,221,144,186, 94, 74, 9,137, 56,164,148,250,190, - 11, 68,189,225, 0,136, 62, 19,228,169,230, 60,213, 82, 4, 85, 40,173,203, 88,243, 24, 44, 7,208, 64,144, 98,240,155,165, 33, -149,170, 72,234,212, 85,212,234,163,114,245,236,164,206,205,226,205,107,131,118, 54,119,183,157,183,232, 71, 96, 27,175,121, 66, -242, 22, 56,199,251,157, 45,122,253,110,136,206,128,245,250, 52, 36,255,182, 89, 21, 0,116,220,121,195,204, 56,151,187, 29,219, - 22, 99, 87,167,252,163,255,239, 91, 99,145, 87,191,244,101,144, 92,114, 37,246, 10, 94, 7,164, 10, 48,183, 11, 41, 34, 18,113, - 8, 96,104,181,182,168,173, 3,173,213,187,132,166, 50, 78,218,117,175,124,241,103,255,171,146,255,151,127,244,187,170, 86, 16, - 82,215,125,226,169,107, 55,174, 93, 44,180,245, 83, 95,252,242,239,255,241, 87,223,124,239,157,167,110, 94,127,252,240,238,135, -119,222,251,209,235,175,127,248,240,193,106,189,190,250,196,165,223,248,165,175,124,250, 19, 47,172,214, 57,151, 2,134,134,228, - 34, 44, 48,207,105,114,116, 86,236, 48, 12,143, 15, 14, 61,107, 84,107,109,226, 77, 0, 19, 99, 34, 51,139,129, 79, 78, 87, 6, -200, 28, 74,169,216,166,249, 14, 0, 0, 32, 0, 73, 68, 65, 84, 0, 48, 78,147,136, 18,177,223,241,167,169, 78,181, 44,210,230, -209,201,236, 65,110, 62,101, 0,213,117,201, 0,166,100, 94, 86,141, 40, 7,167, 83, 21, 56,157,214,170,194, 5,121, 24, 8,105, - 53,213,141,197,242,201,107, 87, 84, 1,205, 98, 8,170, 16,152,137, 3, 32, 94,190,254,228,234,248, 88,193,136,130, 72,145, 90, - 56, 17,102,187,114,229,218,135, 31,124,120,237,252,246,237,251,123, 93,234, 8,105,202, 35,165,193, 4,250, 56, 60,251,177,103, -222,124,239,109,191,246, 91, 41,194,174,240, 88, 85, 25, 82, 55,230, 73,209,186, 20, 77,109, 28,143,195,153,255,206,107,177,154, -185,202, 26,246, 24,169, 39, 96, 14,140, 88,221, 84,219,142, 60,156, 67, 72,104, 77, 43, 55,143, 73, 80,112,182,109,243,201,105, - 59, 51,204,136,177,181, 88, 0,128, 4, 10, 85,177,212,234,187,110, 59, 11,182,146, 17, 16, 32,156, 78, 83,173,149, 40,148, 42, -162,160, 85,213,212,115, 73, 6, 90,179, 2, 96,241,230,179, 51, 72,151,106, 53, 75, 8, 0, 32,197, 28,245,104, 4,145,156, 56, - 8,129,200, 2,174, 38,149,230, 3,113, 79,112, 75,214,170, 88, 11, 95, 55, 49,209,192, 76, 92,122, 80,160,128, 8,214,165,132, -222, 44,104,138,166, 78, 71,160, 64, 10, 38,165, 26, 66,138,254,110,145,150, 65,197,136, 48,193,124,192, 25, 88, 0,102,100, 53, -160, 16,163, 89,169,238,255,116,132, 84,187, 63,185, 66,234, 83, 87,171, 53, 69, 48, 85,241,244, 92, 19,236, 17, 76, 57,250,202, - 25, 99, 74,136, 24,136, 67,160, 82, 73, 5, 20,194,153, 48,163,230, 44,115, 32, 2,164, 64,129, 61, 69,217,228, 47,194,224,134, - 74,153,243,239,238,109,132,134,229, 34,140, 38,213, 85, 51,178,118,136, 0, 96, 68, 42, 46,113, 49, 0, 2, 35,198, 20,171, 56, -218, 11,220,217,195, 78,152,117, 6,150,123,230,137,204, 76, 84,197,188,189, 22, 27,201,171, 26, 48,113, 32,132,136, 48,130,225, -184, 94, 7, 64, 41, 5, 0,106,117, 82, 10, 1,128,214, 90, 91,219,164,249,220,216,108, 38, 0, 96, 66,232,207,114,101, 10, 85, -231, 21, 40,130,138,130,175,121,167,108, 90,135,174,123,249,217,167,136,136, 3,155,192,233,106,117,255,225,222,251, 15,118,239, - 62,124,180,127,116,180, 58, 62,126, 92, 30,139, 40,133,200, 68, 49,134, 46,117, 67,223,111,110, 44,150,221,178,235,220,176,223, -245,156, 32, 82, 23, 83, 76,125,138,129, 99,136, 93, 23,227, 34, 50,149,170, 99, 30, 49, 46,214, 57,173, 78,215, 42, 50,141, 35, - 83,141,108, 93, 64, 4,101, 20,196, 8,170,193, 68, 76, 75,153, 50,167, 14, 66, 12, 68,160,234, 9, 44, 66,171,165, 58, 54,217, -119,252,168,115,105,136,175,216,231, 71,198,159, 29,155,137, 60,115, 23, 8, 50,162,168,163, 15, 0,189,165,207,188,227, 27,206, -194,132, 14, 62,155,105,242,134,104, 76, 33,245,253,189, 15,110,191,245,214, 91, 79, 92,125,242, 83,207,220,146, 90,196,129, 14, -170, 68,173,248,219, 95,203,205, 84,103,134,254,212,250, 0,230, 64, 31, 4,145,106, 90,165, 86, 51,236, 54, 54,215,171,211, 85, -169, 63,253,115,191,246,151,255,230,181,239,191,249,225,185,243,203, 47,125,230,197, 39,175,223,192,180,179,125,233,218,147, 79, -222,184,245,236,115,223,254,214, 55,191,243,205,111, 60,122,116,239,157,247,239,222,223,221, 77, 49,252,205,159,254,194, 87,190, -248,202,206,206,198,241,233,137, 9, 57, 55, 10,193,152,216, 89, 75, 51,107, 15,204, 32,231,130,102, 8, 18, 2, 29,159,172, 17, - 33, 5,114,173, 53,134,212, 26, 65, 9,203, 52, 30,156,172,159,189,114, 65,204,200,231,127, 0,118,118, 23, 82, 85, 72, 28,136, - 24, 72,207,116,198, 0, 8, 8,147, 72,171, 9,118, 78, 91,155, 78, 3, 34,104,181, 44, 85,170, 25,209, 82, 58, 2, 36,198,157, -115, 59, 0,104,104,165,214,245, 56, 10,104,169, 19, 24,108,110,109,159,191,120,241,209,131,251, 30, 37, 83, 0, 14,105, 26, 87, -177, 22,209,122,253,210,229, 49,215,199, 71,167,203,197,162,230, 98, 93, 87, 4,166, 90, 46,156,191,240,226,115, 47,253,245, 27, - 63, 52, 84,100, 38, 3,231, 65, 86, 21, 14,129,152, 83, 96, 21,157,242, 20, 83,164,166,146, 35, 18, 86, 49, 62, 51, 91, 48,197, - 64, 8,192, 68,103, 65,182,249,184,110,231, 49,205, 20,106, 36,240, 24, 53,120,220,135, 8,204,136, 49, 96,155, 70,125,211, 91, -192,203,118,168,157,100, 76, 14, 67, 7, 36, 21,209,246,242,100, 85, 37,164, 46, 6, 53,161,179,248, 44,136, 15, 46, 49, 34, 88, - 28,167,170,214,120,185,222, 17,232, 99, 10,131, 49, 48, 18,120, 86,209,237,227,103,125, 33,106, 6,140, 86, 61, 58, 2,106,202, - 4, 69, 45, 17, 89,169, 13,186, 99, 58, 0,136, 32, 35,213, 25,240,109,160,166, 22, 18,171, 97,159, 72,170, 77, 69,212, 32,250, - 90, 81,193,200, 98,136, 37,103, 49,175,254, 1,114,235,154, 9,130,183, 0, 97,196, 48, 89,241, 87,130, 33, 84,173, 0, 16,136, -196,148,137,138,202, 89, 3,179,155,233, 2, 17, 16,144,153,137,113,194, 58, 59, 74,103, 74, 9, 32,145, 26,136, 89,240,205, 37, - 81, 66,119,121, 85, 21,181, 90,205, 89,194,128,236,126,156,217, 92, 17, 40, 84, 45, 58, 85, 71,209,104,129,172, 82,212, 84, 5, -252, 4, 80,107,186, 79,187,227,152,162, 81, 96, 0, 20, 85,213, 25,170,131,138, 94, 72,171, 96,218,160,184, 72,100, 82, 35,181, - 46, 51, 19,136,145, 75, 21, 36, 12,136,168, 86,177, 38,140,110,236, 83, 80, 4, 34, 34, 0, 82,200,136, 17,220,138,225, 95, 52, -194,177,150, 15,118, 31, 46,151,155, 1, 64,212, 11,183, 81, 9,130, 97, 36,110,142, 44,152, 95, 68, 72,190,253, 50, 3,179, 36, -206,224,246,163, 76,196,237,153,173,203, 14, 99,214, 90,215,162, 0, 85,197,105,111,215,110, 92,186,113,227,178, 84, 83,173,185, -216,193,201,241,122, 53, 30,156,172,238, 62,120,252,232,224,120,255,240,228,224,240,224,246,251, 50,137,116, 33,244, 67,183, 53, - 12,155, 27,203,197,224,170, 78, 23, 99, 8, 49, 6,102, 14,188,232,135,126,177, 97,128, 76,212, 49,165,141, 1, 16, 77,151,185, -202,152,215,171, 82, 84,205,196, 8, 52,231, 26, 0,204, 36,151,105, 69, 20, 49,154, 0, 96, 96,207,163,148, 60,149, 34, 49,117, - 76,237, 64, 7,248,104, 63, 51,191,141,231,182,207,150, 92,197, 25, 85, 67, 42, 34,254, 84,139, 81, 74, 64, 51,116, 12,207,184, -144, 6,222, 60, 98,237,219,105, 10, 24,160, 27,134, 31,254,187,111, 63,184,183,251,153, 47,124,113,217, 15,165, 76, 96,103,163, -135, 11,212,216,182, 88, 8, 94, 54,227, 99,156,169,168, 6, 78,157, 81, 33, 51, 45,160, 90, 85,133, 25, 79,215,211, 56, 78,160, - 19,199,225, 79,255,244,143,150,139,254,223,127,245,147,215,111, 92,235,250,157,173,203, 31, 59,127,233, 98,223,167,163,195,195, -131,195,147, 90,243,215,190,241, 53,230,184,187,127,116,227,210,185,191,243, 27,191,120,243,230,149,170,245,100,157, 17,137, 24, -173,101, 14,128, 29,118,229,127,247, 34, 68,172,146, 93,135, 58, 30,215, 27,105, 80, 85,230,104, 64,162, 58, 78,217,192, 98, 72, - 1,153,129, 3, 7,154, 53, 6, 10,164, 34,165,100, 38, 10, 76, 10,186,158,214,196,140,136,162,232,143, 16,114,195, 52,151,156, -219,173, 8,201,180,168,168, 49, 37, 39, 22,130, 34, 32, 17,136,212,113, 66, 83,184,121,253,210,102, 63,148, 82,215, 39,171,227, -211,147,245,152,189, 7, 0,145, 21,244,226,181,235, 7, 7,251, 37,103,100,102,235,197, 86,253,162,159, 86,211,141,235, 87,111, -223,185,247,233, 23,159,255,131, 63,255,150, 72,103,160, 37,231, 16,186,117, 30,197,236, 83, 47,189,248,248,241,131, 41, 79,136, - 88,173, 34,176,136,169,104,129,106,102,145,217, 84,178, 40,163, 54,127,171, 95, 2, 29,201,224,166, 5,194,196, 92,196, 40,134, - 64, 44, 94,165,209, 50,214,200,140,115,109, 19, 8,248, 38,137, 56,132, 48, 44, 78,167,201, 27,238,213,123,190,124,186,167,217, - 97, 0,160, 34,174,126, 55, 41, 86,144, 17,144,130, 80, 83,126,128, 72, 84, 83, 74, 42, 90,165, 18, 98, 17, 53, 53,138, 92,114, - 54, 11,137, 48,144, 15,239,254, 3, 2, 59,252, 21, 77, 85,181,162,176,167,248,221,138, 43, 96,181, 86,215,137,107,153, 31, 83, -119,188,128,219, 54,212,117, 30, 60,235, 64, 37,157,131,135,136, 2, 64,168, 34,196, 84, 53,231, 76,137, 3, 98,141,142,166,116, - 29,218, 93, 83,173,198, 4, 77,149,137, 2, 4, 31,110, 24,168,168, 98,192,128, 9, 77, 92, 82,239, 98, 40, 86, 40,192,152, 91, -226,156,230,214,117,239,121,106,183,104,131, 92, 37,134, 96,106,162,106,136, 17,161,158,117,166,249,215, 85,102, 68, 55,104, 41, -234,127,156, 6,221, 57,155,230,204, 51,213,106,204,136, 74,204,158, 69, 34,100,192, 90, 74, 69,211,192, 84,154,212,210, 92,173, -170,130,236,169,224, 6,129, 48, 66,153,239,239, 98,134, 96,138, 58,167,123, 81, 77, 29,142, 26, 35, 35,133, 73,215,108,160,206, - 18,199, 96, 6,134,243,163,211,178, 83,140,128,193,160, 82, 67,219, 51, 5, 96,156,171,217, 34, 83,160, 90,167,245,233,176,181, -173,166,165, 22,241,156, 57, 0, 71,118, 51, 57, 82, 80,255, 4,125, 87,238,165, 87,218, 66,182,237, 38,137,243, 26, 66,149, 40, -168, 22, 54, 80, 3,246,175,176,137,154, 77, 83,117,170,164,243, 99,206,109, 46,207,109,111, 94, 53,125,241,249,155,166, 86,198, - 73, 21, 14, 78, 78,246, 14,143,247, 14, 79,223,252, 96,247,246, 7,119,199, 92,204, 96,209,117,219, 27,139,237,157,237,197, 98, -177,181,177, 72,169,219, 72,201, 66, 40, 89, 40,208,208, 45,150,253, 34,118,161, 11,137,200,182,151, 11,164, 64,115, 10,118,255, -232, 48, 32, 5,142,125,183, 96,138, 97,102, 63, 53, 16, 77,149, 10,103, 76,188,143, 4,148,121, 91,127, 38,208,123, 76,194, 20, -124, 17,102, 13, 18,133,102, 34,213,252,254,214, 74,100, 29,107,221,136,121, 56, 87,115,206,140, 28, 12, 93, 0,165,239,127,235, - 95, 31,174,203, 79,253,252, 47,177, 73, 41,121,246,217, 52, 20,178, 59, 56,189, 17,121,190, 36,182, 75, 48, 24,123, 66,219, 68, -181,106,169,163,138,212, 82,133,113,125,180,183,220,188,120,120,178,126,227,175,190,113,231,131, 7, 47,189,240, 50,119, 27,113, -227,252,141,167,158, 30,250,206,196, 14,246,246,238,188,251,250, 59,111,189,117,111,119,119,189,158,142,198,131, 47,253,196, 43, -127,251, 63,248,249,216,165,105,204,205,201,227,234,101,131,249, 52, 48,148, 7,186,144, 24,208, 20,132, 17, 3,194,233, 42,111, -246, 11, 51, 99, 48,102,174, 82,181, 74, 68,170, 82,198,113, 92, 46,187,144,194,208,119, 86,205, 89,176,216, 5,207,124, 84, 81, -164, 48,101,113, 67,120, 34, 12,204, 83,173,104,158,195,196,108,198,206, 92, 67,195,121,137, 7,145, 40,134,200,161,212, 98, 64, - 6, 80,205,106, 45,207, 60,117,107,216, 88,174, 78, 78,205, 96,156, 10, 18,153, 97,157, 38,151, 88,251,229,230,249,203,151,238, -221,185, 77, 72, 70,172,156,200,106,236, 4, 9, 17, 37,117,225,198,213, 75, 31, 60, 56,232, 2,155,141, 27,155,157,168,183, 63, -224, 11,207,127,252,181,215, 95,139, 68, 98, 38, 42,161,163, 72,104,170,181,212,156, 98,159, 82, 31,235,152,197,212, 85,133, 48, - 78,197, 16,196, 72,161, 32, 88,140,193,123,231,130,161,215,179, 27,217,220, 64, 11,166, 31,205,243,222, 22,108,110, 13, 33,234, - 83, 44, 34, 0, 16,217,187, 79, 3, 80, 97, 96, 53, 69, 52,247, 47, 65, 53, 0, 24, 58, 94,175, 29,100, 67,106,237,195, 52,243, - 18, 31,205,165, 50,146, 66,179, 89, 16, 97,205, 98, 10,181, 42, 16,214,102, 0, 53, 80,130, 0, 0,100,200, 77,179, 38,136, 28, - 38,169,102, 80,205, 49,123, 64, 96,196,148, 85,234,140,225, 64, 98, 85, 84, 5, 66,168, 30, 16, 65, 37,246,118, 63, 80,113,245, -160, 57, 60, 72, 9,137,220,202,222,199, 0,132, 81, 2, 40,120,236, 3,129,136,218, 77,137, 34, 69, 8, 43, 24, 21, 42, 0,145, - 53, 21, 28, 1,205,196, 29, 89,156, 8, 17,201, 24,217, 25,104,174,171, 27, 34, 51, 88, 67,187, 18,186, 94,228,146, 95,169, 10, -104,129, 88, 21, 16,244,172,202,193, 15,202,192,132, 68, 28, 88, 12,139,212,160, 54, 12,221,234,100,244,142,145,220,212,175,255, -159,170, 55,107,150, 44, 59,178,243,150,187,239,125, 34,226,198,205,155,121,115,170,156, 10, 53,163, 38, 84, 1, 40, 76,196,212, -104, 16, 96, 91, 55, 69,209, 68,170,173,141, 47, 52, 61,203,244, 38, 62,232, 63, 72,250, 29, 52,227,147, 30,245, 38,202,196, 70, - 19, 93, 93, 13,160,107,206,170,156,231,225,102,230, 29, 35,226,156,189,221, 93, 15,190, 79,100, 17,102, 48, 20,204,178,110,198, -141, 56,113,142,239,229,107,125,203, 17, 51,175, 48,156, 19,251,202, 33,153, 69, 18, 87, 77,204,139,208, 97,213,213,226,183, 98, - 18, 78,137,221, 57, 30, 73,102, 70,236, 98,158,178, 12, 85,153,201, 84, 99, 14,165,156,136, 89,221, 65,156, 19, 45,208, 59,165, -156,179,129,136, 93, 85, 89, 82, 34, 30,162,177, 72,214, 50,102,115,243,197,122, 94, 61,208,161,138, 85,163, 30,152,147, 0,243, -205, 77,181,214,176, 66,148,220, 85,184, 57, 30, 36, 73, 25, 26, 90, 7,129, 92,244, 54, 76, 58, 35,196, 81,150,216, 19, 68, 85, -153, 57,199,254,140,148, 51,145, 5,180,131,189, 1,163, 98, 24,214,224, 57, 3, 22,161, 52,115,168,147,164,196, 56,125,226,248, -185,147,219, 66,252,207, 63,128,179,220,125,178,119,231,222,131,219, 15,118,110,220,223,185,113,247,174, 87,103,145,141,141,233, -246,241,227,105, 50,233,152, 59,145,106,158, 82, 18,166,141,217,198, 36,231,141,217,100,115, 62,223,152,205, 38,147, 89, 55,155, -110,228,105, 34,114,146,220, 77, 83,179, 36,180, 41, 27, 4,116,121,234,196,156, 82, 96,180,163,127, 18, 68, 48,246,181, 65, 22, - 62, 14,245, 16,226, 81,239,244,117, 13,147, 90,205, 41,183, 14,171, 49, 19,101, 35, 3,169, 29, 5,136, 8,220,205,102,139,221, -221, 79, 62,253,211,214,201,179, 63,251,193,187,168, 67,181,214,125, 17,137, 37, 52,198, 41, 64, 9, 13,159,170,227,142,117, 60, - 35,215,106, 90,181, 68, 68, 80, 74, 45,253,176,218,220, 58, 33,179,141,175, 62,251,227,149,171, 87,230,243,205,119,222,126, 43, - 79,183,231,167, 47,158, 63,127,206,171,238, 31, 60,123,250,104,231,206,205,107,183,238,222,186,251,104,231,201,238,222, 75, 23, -206,253, 15,239,189,190, 49,223,128,164, 97, 24, 28, 78, 36, 24, 67,159,194, 29,188,140,231, 9, 30, 31, 48,213,193,101,176,162, - 74, 36, 14, 48, 83,206, 9,210, 46, 51, 38, 97,105,120, 22, 38,137, 30,175,104, 63, 51,247,148, 83,151, 82,100,207,160,230,102, -137, 64,132,148, 58,110,128,201, 96,116,234, 80, 43,195,105,140,247, 0,166,234, 41, 39, 33,105,203,166, 17,223, 5,247, 11,103, -207,104,117, 85, 61, 92, 45,158, 29, 30, 12, 90,170,150, 85,127, 4, 98, 3,216,234,169,211, 47, 60,123,252,164, 12, 71,102, 76, - 44, 44, 72,221,108,113,176,119,254,220, 11,143, 30, 63,251,206, 27,175, 93,191,253,183,132,105, 34,152, 86, 22, 81,211,156, 38, -167,183, 79, 30, 63,126,226,209,179, 93, 2, 18, 7,163, 46,248, 21,168, 85,145,189,184,119, 57, 39, 97,172,196,220,205,140, 37, - 53, 35, 91,196,134,132, 59,242,216,192, 52, 7,237,168,206, 68,233,110, 40,245,156,132,195,251, 96, 90,149,186,220,149,178,128, -251, 68, 18,179,120,172,107, 91, 21, 20,172, 42, 9,143,140, 54,129, 27, 75, 2,216, 81, 97,128, 4, 57,183,237, 0, 86, 90,226, -146,140, 28, 94, 40, 57, 81,187,193,238,165,193, 82,141, 92,140,108,132,117,113, 34,142,206,133,144, 17,132,161,230, 17,225,119, -115, 9,219,139, 69, 60,133, 93,107,243,116, 83,236, 42,139, 71, 88,219,249,185, 51,205,220,201, 0,170,102,211,148,224, 40, 67, -141, 26,135,248, 20, 19, 71, 95,139,155,170,144,120,107, 94, 72,212,218,214, 98,132,172, 49,182, 55,219, 59,143, 5,231,238,109, - 83,168, 81,231, 48,206, 82,141, 61, 76, 97,177, 45,117, 53,205,179,202,102,214, 24,159,107,168, 15, 11, 57, 59,220, 25,232,186, -108, 43,173,168, 34, 73, 93,213, 60,210, 91, 62, 26, 27, 21,222,177, 24,185, 52,230, 64, 40,187, 34,196,194,210, 91,105, 30, 22, - 52,246, 22, 83, 50,118, 2,165,196,170, 14,102,215,138,176,116,131, 0,228,204,203, 2, 87, 37, 17, 34,202,194,193, 33,111,160, -148,241, 57,148,137, 33, 32,165, 32,100,197,138,133,155, 6,177,126, 88, 89,155, 92, 71,195,118,226,148,132,167,147, 73,211,142, -198, 7, 26, 19,153, 66,136,225, 76, 41,181,208, 68,107,111,130,179,146, 91, 56, 68,188, 49, 93,157, 24, 6,141,126,191, 70,133, -129, 1, 21, 96,139,177,108,180, 26,130, 88,132, 81,188,101,140,214,116,134,118, 14,245, 10,148,170,181, 84, 16, 78,206,167,231, -190,243,198, 15,223,125,221,221, 87,125,217,121,118,240,224,201,211,199,123, 7,207,118, 15, 14, 14, 15,158, 14,195,208,247, 6, - 22, 18,136, 39,226,217,100,163,203,210, 77,186,141,217,116,115, 54,219,220,152, 59, 56,141,187,211,192,131, 71, 83, 20,218,127, - 37,246,245,110,173, 55, 30,110,193,188, 49,183,218,144, 40,129,129,104,252,188, 40,183, 39,107,118, 29,145, 4, 34,230,104, 27, -160,112, 97,173, 91, 63,220, 13,156, 4,112,184,118, 93,247,248,222,157, 47, 62,251,244,213,119,222,191,112,246,116, 93, 29, 58, -152, 36, 16,106,205,189,227,223, 64,182,160,189, 74,106, 85, 83,110, 30,152,251, 90, 93,213,180, 58,119,229,104,255,240,240,232, -248,246,201,203,159,127,252,217,167,159,178,227,149, 87, 94,218,154,111, 15,178,121,242,204,185,141,205,121,191, 90, 62,125,242, -248,209,189, 59, 15, 31,220,191,125,255,222,245,219,119, 87,253,240, 47,126,254,131, 95,255,242,135, 91, 39,142,221,186,126,227, -227, 63,126,241,193, 15,222, 42,131, 53, 90, 76,251,148,156, 99,141,220,106,137,124,108, 46,144, 58,172,170,122, 28, 46,166, 41, - 37,112, 32,108, 73, 68, 58, 73, 34,139, 97, 8,115, 65, 18, 78, 93,167,112,135, 11,183, 14,160,234, 74, 78,139, 50,144, 68,115, - 17, 70,238, 51,192,236,238,164,134,234, 30,186, 31, 27, 65, 18,103,227,160,120,154,249,248, 14, 17, 57, 44,119,249,226, 11,103, -172,106,191, 42,123, 7,135,139,197,202,106, 61, 56, 92,172,106, 69, 64, 38, 84, 39, 27, 27,167, 95, 56,127,235,250,101, 38,102, -107, 79,136,110, 54, 75, 41,159, 84,123,178,179,247,234,133, 23,110,222,223, 33, 80,191, 90,205, 55, 55,225,182, 26,150, 27,147, -217,171, 47,191,124,243,238,189,161, 95, 17,145,169,133, 63,156,152,212,145, 57,205, 39,211, 85, 63, 48,113,180,142,146,136,185, -115,123,250,143, 29,190, 20,150, 43, 86,173, 97,177, 72,180, 62, 31, 54,201,206,213,173,221,245,161,145, 16, 2, 28,232,181, 78, -168, 83, 83, 14,159,182,151,184, 2,189,154,147,153,219,114,217, 51, 39,181, 26, 55, 59, 7, 44, 88, 75, 70, 22,199,228,112,133, -135,175, 64, 13, 76,164, 16, 98,141,111,104,172,229, 3,190, 13, 30,141, 90,193, 45,176, 38,130, 51, 97,157, 26,116, 55, 11, 47, - 83,108,194, 25,236,129, 18,106,245, 61,207,149,122, 33,110,127, 47, 53, 92, 31,113,164, 9, 61, 4,237, 38,145,183,188, 97, 59, -208, 75, 78,210, 23,175, 90, 27,164,130,200, 35, 37, 5,103,225,112, 33, 55, 76,187, 97,240,106, 86,205, 61,137,176, 0,166, 6, -142, 97, 62, 35,253,183,147, 89,124, 79,133,106, 17, 35,167,102,134,135, 6,229,139,204, 2, 38,107,166,150,132,205, 34, 28,143, -234, 70,204, 26,223, 79,197, 36, 75, 39,137, 28,108, 24,180,138,208,180,235, 68,132,170,182,137,154,216,169, 17, 68,155,233,156, -131, 91, 2, 38,120,172,224,146, 4,151, 47,178,200,165, 26, 51,192,100, 80,161, 36,146, 3,213,162,238,165, 84, 17,182, 90,135, - 90, 39,153,196,186,168,129,131,147, 1,169, 81,245,137,133, 42,216,154, 1,132,114, 78,234, 70,165, 48, 75,102,153, 77, 82,150, -137,161,180,105,159,220, 65, 67,181,236,193, 45,246,117, 29,187,155, 5,172,125,172, 58,183,176, 70,121,187, 98,169,185,121,188, -117,107, 17,160,202, 36, 99,219,118,108,179, 1, 55, 37, 98,176,130, 57,162,159,209, 24, 23,184, 45, 85,196, 70, 75,178,168, 97, - 48, 95, 28, 28,181, 74, 85,248,201,173, 99, 39,143,111,182, 56,215,160,139,126, 24, 86,195,193,170, 28, 44,150,123, 71,139,103, -207, 14,158,245,253,163, 39,187, 67,237,157,132, 8,155,179,233,108, 58, 75, 80, 71, 44, 36, 90, 81,130,185,131, 56,121, 36, 9, -215,225,203,231, 12,248,248,215, 51,198,204,159,251, 55, 7,113, 49, 50,226, 64, 57,121,220,219, 91, 1, 76, 99, 40,124,131, 10, - 39, 65,165,148, 46, 79, 31,222,189,115,249,203,207,223,255,241,207,182,143,111, 14,203,165,187,147, 52,168, 60,173,253,149, 49, -253, 71, 51,141, 42,115, 6, 25, 89,112, 55, 28,174, 62, 84, 51,167,110,186, 90,173,142, 14,158,156, 62,119,238,240, 96,247,159, -254,254,111, 47, 95,191,122,102,235,212, 91,239,188, 86,117,206,243,147,103,231,155,148,120,239,217,211,197,222,222,206,206,253, -155,183,238, 92,191,117,235,206,227,135,167,142, 29,255,247,255,230,183,223,127,255,221,101,223, 31, 29, 29,157,187,120,254,225, -195, 79,191,188,114,231,237,111,191,210,175, 86, 68,225, 87,115,184,122,251,118,199,239, 69, 99, 70,197,205, 92,213,172, 22, 11, -120,136,128,136,186,196,230,106,234, 41, 65, 93, 87,125, 15,226,105,215, 5, 47, 16,166, 17,110,234, 82,231,234,149,106, 25, 52, -165, 20,143,116,115,205, 57,179,172,160, 32,167,232,175,171,106, 99,193,166,177,128,157,212, 84,128, 73,202,195,176,138,216,122, -206,221,198,100,114,226,228,246, 96, 86,108, 88,244,253,106,181,116,247,195,163,197, 48,244, 16,118,171, 76,100,240,147,103,207, -238, 60,122,176, 56,220,165, 36, 34, 89,109,200,110,253,225, 33,106, 29,250,254,187,239,124,251,112,185,122,252,244,144,133,167, -117, 34, 93, 71, 64,213,186,125,252,196,235, 47,191,252,249,151, 95,128,197, 70,108, 88,220,141,138, 41,220,212,244,112, 89, 72, -181,217, 95,198, 35, 8,183,103,116,104, 39, 68,194,174,202, 96, 87,131,140,214,234,241, 72,182,174,203, 14,221, 70, 1,114,103, -102,117, 31, 34,224,230, 22, 93, 35, 34,100, 5, 0,216, 34,196,167,146,169, 95, 90, 70, 72,131, 62, 38,126,224,160,226,102, 78, -234, 72, 85,205,181,170,138,136, 65,157, 73,139, 69, 19,155,193,205, 33,241,100,136, 9, 16,225,239, 70,137,192, 14,168,227, 4, - 70, 41,203,112,213, 43,197, 60, 26,105,108, 25,123,148, 67,211, 11,253,146,147, 72,220, 77,130,139,204,241, 92, 36, 99, 73,234, -214,187,103, 17, 50, 3,145,186, 39, 34,102,104, 4,130, 56,177, 88,116,243,176, 19, 17,117,146,122, 45,205, 97,144,147,215, 26, -241, 31, 48,151, 90,153, 60, 17, 57,161, 87, 21,146, 44, 66, 65,225, 2,216,226,221,143, 22,209,216,104,144, 19, 33, 5, 83,172, -117, 61,113,188, 5,164,148,114, 98,138,178,139, 8,160,169, 27, 44, 70, 14,143, 2,103, 18,102, 17, 2, 23,211, 97, 40,155, 27, -179,148, 68,213, 98, 81,101, 96,137,158,224, 56,114,162, 37, 39, 55,186, 92,212,122,162,106, 72,205,169,174,227, 25,148,225,128, -198,128,196, 65, 78,176,102,226, 52,133,103,150, 65, 28,165,134,103,193,171,115,107, 29, 85,162, 4, 39,119, 99, 39,103, 39,181, -212, 90, 87,184, 20, 35, 32,132, 33, 80,231,228,230,158,132,188,182,195,157, 48, 80,189,245,137,182, 38, 67,135, 86, 72,138,150, -212, 22,211, 51,119,138,169, 6, 48, 99, 38, 85, 3, 57,106,108,216, 41,156,114,241, 24,107,193, 82, 18,181, 26,184,166, 56,240, - 90,147,232, 98, 90, 11,126, 15,204, 27,220,197, 0,142, 98, 26, 2,131, 53,140, 65,145, 80,118,234, 38,211,233,198,198,166,234, -133, 49, 97, 90,107,173,125, 89,148,242,120,239,232,254,195,157, 7,187,123, 79,246, 14, 18, 90, 44,185,225,250,198, 65,163, 70, - 8,194,219,208,234,227,217,165,117, 51, 68,235, 59, 70,232,204, 88, 26,224, 30,141,151,129,255, 91, 23, 66,137, 68,241, 31,214, -124, 45,180, 19,139, 8,231, 60,185,241,213,103, 55,111,222,249,224, 39, 63,155,111, 76, 86,203, 37, 26,194,220,104,100,218,211, - 56,151,182,225,175, 77, 25,161,132, 59, 76,221,173,214, 58,217, 56, 70,101,216,127,246,116,107,251, 36, 76,111, 93,249,242,211, -207, 62, 86,245,239,191,253,206,201, 83, 47, 44, 52,231,227, 39,230,147,233, 80,250,163, 39,187, 15, 31,222,125,252,232,209,253, - 71,143,174,223,186,179,191, 60,250,209,119,222,252,183,127,249,155, 83,167, 79, 44,142, 86, 22,189,222,206, 63,248,225,247, 62, -250,240,143,215,110,164, 87, 95, 58,191, 90, 13,204, 45, 93, 23,247,153,150,176,140,254, 64, 78, 44,210,215,162,170,221,108, 66, - 12,117,101,161, 32,216,170,133, 61, 38,101, 22,144, 9, 97,112, 15,186, 24,152,156, 56,119,157, 12,131, 90,212, 68,147, 36, 17, - 65, 32,141, 96,166,129,196, 38, 88,235,210,108,121, 40, 7, 75, 74, 90, 45,229,142,133,195,136, 40, 20, 91, 14,156,222,222,222, -152,205,181,244,165, 95, 45,142,142,142, 86, 75,115,148, 90,135,213, 2, 90, 35,179, 0,213,212,229,139, 47,190,116,229,242, 17, - 97,112, 51,225,132,228, 52, 63,102,176,151, 95,123,105,239,217,238,107, 47, 93,120,182,127, 25,240,161,234, 76,162,202,206, 88, -186, 55, 94,125,237,241,206,163,123,143,118,178, 68,123,154,207,114,118,226,162,101, 53,212,131,163, 85, 22, 73, 89, 4, 88,149, -194, 96,107,250,136,183,222, 33,196,232, 54,214, 62,198,138, 74,130,138, 55,206,188,110, 14, 22, 38, 53, 23, 70, 34, 82,213, 64, -197, 48,139,185, 69, 81, 55, 19,171, 18,204,133, 72,217, 21,173,143, 62,137, 84,173, 99,225,111,220,109, 21, 70,226, 94,221, 93, -173, 84,101, 80, 78,169,170,198, 25, 76, 53,110, 95, 13,119, 74, 99,248, 62, 32, 10, 68, 49,192,106,172,187, 67, 36, 39,225, 82, -135,120, 32,169, 58,177, 50, 37,114,144,197, 18,120, 13,210,118,119, 87, 55, 6, 4, 82,195,122, 16,213, 46,224, 82,251, 36, 82, -213, 19, 73,107,188,102,192,189,148, 10,145,240, 40, 39, 22, 77, 6, 2, 75, 52, 50,133, 48,101, 76,168,253, 0,184, 68,226, 21, -136,244,150,129, 86,101,197, 96, 13, 16, 70, 2,147,184, 7,210, 43, 42,127,157, 2,180,201, 60,110, 53, 97,113,191,166,177,204, -219,201, 16, 79, 58,234, 68,224,232, 75,169, 35, 79, 57, 54,139,110,206, 78,125,173,194,100,102,102, 54,168,234,106, 53,155, 76, - 82, 72,203, 32,107,232,155,134,248,111,199, 10,245, 82,181, 20,131, 57,101,160, 18,152,146, 48, 19,151,161,119, 55, 99, 35, 48, - 19, 27, 97, 53, 12,113, 18, 72,146, 72,164, 10,160,224,196,196, 81, 83,134, 74,206,141,236, 19, 68,204,182,225, 53, 38, 6, 69, -122,182, 77,218,194, 36, 66,156,152, 27, 26,165,225, 89,162, 90,135, 24,170, 52,242,233,192,108, 30,245, 91, 12, 82,144, 4, 88, -185,193, 52, 98, 23, 89,157,226, 66,148,228,225, 17, 18,114,243, 48,132, 52, 9,203, 45, 17,177,112, 29, 44,250,198,204,205,205, -198,128, 35,185,179,250, 96,218,152, 21, 12,114, 36, 18, 37,136,185, 69, 17, 6,129, 59,150, 98,106,238, 90,148, 48, 54,205, 0, - 12,246,156, 55,114,247,234,124,243,141, 75,231,132,253,201,179,189, 20,157,168, 99,124,188,173, 73,131,205,177,230, 61,133, 35, -160,177,105,209, 56, 97,161,121,183,251,219,250,224, 29,118,199, 17,119, 57,186,107,108,221,187,205,107, 28, 20, 33, 73, 34,179, -127,250,240,239,212,233, 39,191,250,117,162, 90,106,109,211, 58,161,157, 95,125,124, 28,122, 52,139,175, 73,232,110, 94, 89,178, -153,219, 80, 28, 62,221, 60,126,184,183,211, 15,122,234,133,115, 55,190,250,236,235,203, 95, 62,219,221,191,112,254,244,171, 47, -191, 90,124,186,192,100,126,252,184, 36, 62, 58,216,219,125,182,243,240,254,221, 43,215,175,222,188,123,127,239,240,232,228,246, -177,191,254,243, 95,255,217,143,191, 71,204, 71,203,101, 91, 36,139,152, 89, 5,253,224, 7,223,253,232,163, 63,205, 38,211,115, - 47,156,234,135,158, 71, 31, 8, 92, 67,252,141, 10, 65,195, 64, 62, 29, 22,139, 82,106,158,162,203, 73, 72, 84,157, 68, 70, 28, -131, 11,177,170,169, 34,177,164,212,113,138, 28,129, 0,230,205,247, 6, 2, 51,249,217,227,199,159,196, 31,133, 17,132, 65,117, -100, 10, 70, 96,143, 65, 14,102, 84, 56,134, 50,100,233,158,115,178,195,143, 88,235,185,179,103,166,147,201, 98,113, 84,170, 22, -179,246, 68, 53, 12,171,190,133,136,220,195, 25,121,236,244,169, 99,143,182, 15,158, 62,138, 49,137, 89,104,130,220,119, 50,233, - 86,165,136,251,249, 83, 39,239, 62,221,155,104, 5, 77,213,148,132,203, 80, 54, 38, 27,239,189,243,246,163,157,191,235, 75, 73, - 36,238, 38,146,138,233,193,225,106,169,213, 96, 12, 38,184,132,232, 24,164,136,198, 87, 48, 70, 50,176,155, 11,163,196,109, 62, - 5,237,207,153, 90,247, 1, 8, 66,162,120, 94,229, 27,174, 24,237, 7,176,140, 17, 33, 50, 51,167,176,119, 53,147, 73,124, 38, - 14, 53, 51, 85,181, 64, 52,162,237,106,170,185,174,145,135, 68,106,110,230,213,145,216, 97, 13,172,235,102, 14, 13,198,141, 5, -140,123,188,238,205, 43,121,192,111,224,166, 69, 77,171,145, 51, 71,225, 28,122, 2,135,203, 79,185,121,134, 89,216,107,192,145, - 45,145,100,176,142,191, 39,145,169, 55, 48, 75,184, 66,181,233, 21,193, 16, 15,186, 55,141,211,100,107,121,106,137, 39,118,213, -232,122, 99, 45,131,228, 76, 36, 93,206,181,148,161, 12, 57, 9,185, 39, 66,216,248,172,145,255, 80,204,121, 76,166,131,160,176, -230,126, 80, 85,215, 20,100, 46, 15,115, 51,198, 81,198, 5, 82, 98,231, 64, 66,181,192, 77,152,216,159,211,221,130,199, 89,172, -116, 50,237,203,146,103, 83, 38, 74, 68, 6, 90,244,133,225, 76,168, 14,141,133, 0, 36, 46,197, 52,225,229, 96,230, 70,237,118, -166,238, 98,238, 67, 45,173, 38,142,152,137, 50,101, 99,147,200,166, 18,153,122,146, 54, 82, 85, 31,220,205,201, 56,156,184,141, -139,236, 10,152, 71,141,153,143, 87, 19,155, 25,133,150, 85, 7, 90, 91, 73, 44,192,213, 81,108, 14,102, 78, 45,196, 10,107,174, - 71, 18, 18,173,145,110, 78, 68, 84,213, 27, 0,145,156,199,126,218,246, 78,173,185, 7,102,161,103, 71, 31,123, 72,243,230,234, - 10, 14, 31,170, 61,223, 52,196, 73,218,161, 68, 9, 92, 27, 12,210, 52,128, 19, 68, 70,138, 96,246, 16,160,176,176,134,163, 90, - 29, 25,240, 50,206, 48,106,166, 17, 22, 17, 81,153,164,134,248, 12,118,188,175, 69,230, 17, 73,228,205,107,110, 8, 34,118,112, - 43,219,124,219, 10, 99,125,157, 45,105, 46,118,144,196, 32,234, 17, 57, 27,227,225,163,158,204,128,117, 93,167, 58,252,225, 15, -191,159,109,110,127,255,253,239,247,253,162,214, 16, 31, 99, 87, 18, 81,169, 56,202, 39,106,239,201,154,122, 68,112,168,169,105, - 53,195,108, 99,243,233,195,219, 7, 71,139,205,141, 73, 95,151,159,124,248, 95, 46, 95,254,154, 36,189,251,206,183,207,156,190, -176,223,115, 55,217, 60, 62,157, 86, 29,118,159, 62,125,120,251,198,245,235,183,174,220,189,249,120,231, 89,238,242, 47,126,244, -221,191,252,213,143,182, 79,110,247,189,161, 88, 11,129,132,222, 66,174, 94,193,249,237,183, 95,255,248,147,171,179,141,141,173, -121, 55, 74, 35,209,158,194,163, 77,138, 0,225,196,165, 84, 53,148,213, 80, 6, 83, 87, 87, 55, 7,167,132,161,118, 34,105, 84, - 31,132,169,237, 1,153,136, 90,101,139,170,171, 85,103,203,156,143,109, 30,219,121,250, 12,142, 90,171, 65,213, 21, 1, 59, 29, - 27,233,226, 28, 49,230,207, 40,113,138,111, 62,183,142,119,118,167,111, 93, 56,207, 44,110,182,234,251,163, 69,239,196,253,106, - 24,220, 86,203,195,248, 1,238, 10, 22, 84, 37,194,249,139, 47, 46, 15,246, 85,123,212, 10,144,112,202,211,217,226,232,232,149, - 87, 95,185,113,229,234, 59, 91, 91,119,126,247,225, 80,250,213,144,187,148,171,170, 8,145,235,241,173,147,175,189,252,210,245, -219,119, 74, 29,230,147,105,117, 95, 14,195, 80, 85,198, 61, 9, 49, 85,120,102,170,234,132,132, 38,134,135, 2,209,114,228, 13, -240, 64,220, 56,232, 60, 62,214, 73, 8,222,171,166,196, 24, 87,154, 22,193, 66, 55,109, 23,100, 12,230, 34,108,230,206,204, 2, - 6,131, 69,106, 52, 94, 82,171,131,140, 43, 84,213,186,204,110, 94, 75, 53,130,122, 13, 21, 40,160,121,181, 68,205,173,155,185, - 69,110,155,192, 0, 73, 34,211,200, 94, 0, 68,210,202,199, 84, 24,197,136,148,156, 76, 98, 8,150,181,235, 37,104,223, 22,192, -222,145, 7,194, 68,225, 6,141,144,103,141,142,107,120, 78, 50,146,249,140,192,230,198,180,214, 67,161, 14, 97,104,141,253, 59, -136, 41,139,196,205, 75, 36, 17,220,132,204, 61,115,156, 42, 60, 44,144, 1, 76, 83,212, 16,188, 77, 53,208,208, 2,169, 84, 91, -218, 16,194,240, 32,197,213,234, 4, 19,130,186, 27,140, 73, 64, 36,137, 59, 38,176,193,172,148, 26,102,167,152, 7,171,147,251, - 56,248, 67, 51, 52,242,226,156, 82, 24,158, 37,177,144,184, 85, 85,139, 35, 44, 12, 68,198,109,123, 97, 81,222, 29,226, 92, 20, - 90,196, 17,202, 34, 27, 54,202,116, 74, 38, 49,164,171, 3, 16,145, 86,119,193, 60,122,162,218, 79,140,188, 37,152,217, 80,199, -252, 85, 72,246, 76,166,174,100, 72,204, 12, 33, 98, 78, 49, 76,146,187, 83, 18, 42,198,194,173,255, 14,240,118,142,105,137, 75, - 78,100,181, 53,105, 50, 89, 76, 72,174,174,180, 22, 62, 34,140, 97, 49,143,140,124,150,177, 58,187,121,131, 25,238,141, 85,228, -186,110, 97, 85,115, 85, 99, 73,102,149, 25, 26,198, 95,132, 76,193, 22,165,243,110, 65,250,245, 54, 80, 58,152,204,226, 5, 73, -252,157, 17,132,132,187,162, 21,249, 38,127,238,119,180,150, 58,107,104,232,214,235,215, 84,102, 27, 33,146, 77,137, 39, 31, 27, - 26, 49, 62,195,137,216,201,128,248,188,226,201,164,227,105,217,215,244, 2,118,234,166,179,253,167,143,255,233,143,255,120,254, - 91,175,191,242,202, 75,171,126,209,176, 98,112, 55, 29,251,100, 70, 90,153,141,176,255,181, 32,102,102,165,212,170,211,205,173, -163,189, 39,117, 40,211, 99,219,168,245,225,189,219, 87,190,254,122,119,247,224,226,197,243, 47,191,244,178,210,124,169,211,205, -205, 41, 51, 47,143,246,158, 62,125,112,235,218,141,203,215,191,190,123,255,241,170,232,247,191,243,230,111,127,241,163, 23,207, -159, 53,194,114,217, 7, 21, 11,141, 99, 31,183, 63,115,114,213, 97,126,252,248, 91,111,190,248,233,103,159,253,240,131,247, 51, -139,194,104, 92,157,132,185, 37,144, 61, 14, 12, 67, 5,211,160, 37, 39, 97, 80,113, 99, 2,136,139,105,244,102,177, 41, 17, 39, - 73, 41, 65,146,136, 68,115,131, 84,143,181, 30,149,162,179, 99,115,134,169, 27, 9,139,123,146, 4,162, 9,139,155,246,165,228, -201, 52,164,141, 52,198, 99, 36, 73,215,229,170,181,154, 18, 92,162,217,130,232,220,185, 51, 65,134, 61, 58, 90, 30, 46,143,114, - 78, 7,187, 7, 76, 88, 46,163, 21,172, 62,175,150, 96,108,110, 29,223, 62,121,246,241,206,125,138,180,159,123,206,194, 68, 58, - 12,147,217,236,196,214,137, 55, 94,190,244,229,213,187, 93,234,166,147,169, 85,115, 82,131, 39,202,111,190,254,234,253, 71,143, -118, 15,246, 99,201, 11, 18, 98, 34,130, 40, 1,161,131,216, 56,224,180, 41,166, 93,236,238, 45,148,219,100,152, 22,136, 94,231, -153,219,246,101,141,192,104,176, 77, 12,117,152,118, 73, 40,244,153,112,243,170,153,243, 40,216,195, 33,113,125, 54, 48,158,134, -235, 82, 66, 91,168, 77,126, 38,152,154,119, 34, 86, 6,211,154, 82, 46, 90,171,195,220,149,204,149,140, 91,246,211, 84,153,136, -147,112, 78,172, 1,132, 33, 38,238,136, 43,179, 26,132, 57, 11, 86,225,165, 36, 38,167, 90,213,160,132,232,118,136,209,143, 71, -115, 71, 67,174,130, 71,119,121,124, 5, 83,142, 21, 91,169, 86,107, 73,221, 4, 68, 41,172,129, 49,225, 50,151, 90,162, 25, 53, - 8, 78, 18, 53, 45, 73, 58,164, 82,213, 17,157, 63, 60,201, 19, 35,243, 98, 70,205,235,102, 64, 23,216, 86, 97,144,193, 73,205, -132,192, 2,150, 68, 76,196,173,158, 45,108, 12,238,177, 9,142,151,202, 81,165, 91,181,192,188,122, 37,112, 78,212,151,202, 48, - 24, 3,158, 89,136, 56,167, 20, 29, 29, 32,207,194,196, 73, 77,153,196,220, 13,206,145, 79,181, 6, 33,104,212,108,120, 2, 27, - 67, 88,160,181, 17,205, 56,190, 17,163,106, 71,224,148,152,217, 66,144,200,162, 0, 0, 32, 0, 73, 68, 65, 84,220, 66,219,213, - 90,219, 46,179,221, 10, 69,214,102, 11,196,237, 3,236,144,240,249, 17,160,198, 93, 98,206, 76, 52,208,128,145, 29, 97,225, 12, - 52,203, 19, 68,213, 45, 0, 85,175,165,130,200,181, 58,165, 81, 23,126, 46, 20, 51,145,122,195,165, 53,237,162, 53, 34,182,142, -145,248,156, 99, 92,143, 49,199, 92, 91, 80,200,212, 13,141,108, 48,218,106,162,113,222,227,193, 26,141,120,136,186,143,224, 31, -143, 12,223,248,213, 26, 14,126,244,168, 51,135,113,121,189, 68, 13, 93, 74,136, 65,156,154,198, 98, 70,156,218,192,238, 80,117, -138,186,133,216,114,217,200,123, 88, 15, 21,227,242, 8, 13,188,214, 14,198, 81,113, 54,174, 72,194,218,104, 97, 41, 24, 53, 85, -155,204,102, 79, 30,220,255,167, 79, 62,126,239,251, 63, 57,181,125,124, 24, 22,214,248, 2,172,181,140,139, 84,105,223,236,113, -119, 9,111, 96,123, 51,213,170, 68,233,216,169, 19,207,158,236, 16,229, 19,103,207,220,185,246,213,221,107,215,190,186,122, 53, -117,147, 31,125,239,189,110, 99,123,229,211,233,100,115,150,187, 94,251,253,103, 59,143, 30,220,254,242,242,151,215,110,222,190, -255,116,111,123,235,248,255,244,223,255,226,187,239,190, 73,137, 87,165,114,108, 8,220,137, 18,154,111, 34,124, 28, 18,106, 97, - 25,202,246,233, 51,111,152,254,195, 71,159,254,252,167,223, 35,101,138,146, 2, 50,142,141, 84,235, 97, 96,131, 2, 88,245,131, - 8,107,144,234, 68, 82, 10,159, 8,139,112, 55,153, 76,114,166,204,172,110, 85,225,168, 69,187,220,185, 19, 49,171,250,238,193, -209,246,137, 83, 28,204, 25, 96, 50,155,166,184,114,217, 86,165,152,155,120,163, 23, 54, 15, 36, 19,152, 50,133,248, 30, 3, 12, -155,249,201,227, 91,231, 79,158, 81, 83,119, 63, 56, 58, 90,244,131, 27, 14, 86, 75, 48,245,203, 37, 12, 68,185,173,173,153, 96, -160,140,243, 47,189,180,191,187,211,219, 42,228, 0,115,158,206,231, 71,251,251,201,116,103,103,231,131,247,222,187,115,251,225, -106,181,146,148,167,211,169,170,133,235,115,235,216,246,155,175,191,254,240,233,211,190, 84, 16, 79, 18, 18, 72, 64,149,108, 13, -123, 53,179, 44, 92,204,215,163, 65,104,126,125, 89, 33,117,220, 12,118,235, 8,100,152,140, 65, 32,139,105,124,228, 79, 55,204, -161,195,129,106, 37,214,140,230, 38, 20,181,121,163,209,114,204,223,235, 24,166, 51, 64,200,195, 60,105,166,110, 97,140, 4,171, - 57, 27, 59,226,156,107, 17,160,244,120,205, 78, 77,164, 32, 73, 66,176, 44, 98, 85, 53, 12,141, 66, 76,158,133,147, 37, 97,150, - 68, 66,137,105, 96, 6, 9,231, 73,210,162,195,208, 14,183,173, 49,173,173,184,252, 57, 56,201,209,106,199, 29, 85, 33, 24, 8, - 28,173,234, 52, 62,223,168, 33,107,188,154, 54, 26,157,163, 26,152,168, 75,185,116, 98,213, 77,145, 37, 81, 99, 99, 54,107, 41, - 57,155,215,181, 61, 29,132,201,164, 19,192, 60, 6, 91,143, 67,147,185, 10,231,204,124,160, 22,132,203, 54,123, 58,152,201,212, - 57,232, 56, 6, 78, 4, 99,181, 18, 56,192,208,141,218,126, 66, 97,166, 48, 73, 99,139,116, 6,131,184,212, 2, 80,228, 75, 61, -120, 12, 54,178,245,195,237,107,174,230, 48,103, 97, 2, 21,160,107,119,232, 86,110,197,225,195,144,156,136, 1,138,247,223,160, - 93,234,180,138,214, 26,160, 31, 78, 13,112,155,226,135,127,131,229,201,205,201,200, 41,137,140,221,214,204, 68, 81, 5, 67, 92, -106,209, 90,146,204,145,152,220, 44,248, 42, 18,142,117,105, 4,195,102,116, 1, 73,220,141, 67,169,226,181,193, 70,213,192, 96, -136,121,187, 89,133,168, 72, 78,193,169,104, 95,207,102, 66, 71, 14,164, 68,251, 99, 6,114, 8,143,157,209,112,212,209,120,221, -250, 44,225,102, 22,221, 77,173,170,138,217, 93, 33, 13,224,193,230, 22,240,160,209,146, 18, 2, 44,165,216, 26, 56,137,143,172, -118,119,231,180, 86,185, 67, 80,178,245, 43,107,243,126,251,195,207, 99,172, 45, 55,248, 60,173,180,126, 0, 16,141,180,106, 6, -165,212,221,191,121,251,243, 47,191,252,224,167,191,220,158, 79, 87,253, 82, 13, 94,122, 18,166, 44, 45, 24,213,224,121,161,142, -197, 73,169,173,118,221, 76,205, 69,210, 98,209,175,250,199,171,195,195,249,214,214,199,191,255,255,174,126,125,229,233,254,193, -203,223,122,241,253,119,222, 90,233,188, 71, 55,155, 79, 97,182,191,255,100,247,233,206,221, 59,215,191,188,114,245,198,157,251, -230,254,163,239,189,249, 55,127,241,235,237,211,219,139,101,239, 69,163, 50, 13, 32, 55, 5, 85, 68,203, 15,113,140, 56,110, 97, - 48, 32, 45,229,133,115,231, 9,242,249, 23,215,223,123,255,173, 90,170,187, 58, 68, 85,193, 76, 77,187,243,190,239,235, 80, 15, - 23, 75, 22,202,194,102, 10, 34, 45,133,157, 5,156, 82, 78,194, 57, 39,113, 74, 44, 66,148, 51,167, 20,223, 89, 19,230,161, 14, -238, 56, 54,159,166, 46, 39,102,119, 63, 88, 28,205,143, 29, 15,243, 70,173,189, 89,116, 40,145, 8, 20,106,214,212,141,170,214, - 77,186, 56, 73, 5,239,246,133,211,219, 39,182,183, 8, 82,139, 29, 45, 86, 67,169, 6, 95,173,122,166,116,120,116,216,142, 68, -107,111, 44, 96,213, 38, 27,211,147,167,206, 63,120,112,139,132,181, 12, 32, 97,241,233,198,198,230,230,252,233,238,190, 91,125, -243,181, 75,159, 95,187, 51, 44, 23, 93, 11, 52,164,206, 25,134,151, 46,190,248,218,139,119,175,221,185, 39,240, 96, 77, 27,161, -130,162,208,122,146,243,192, 84,181,105, 11, 10,196,206,153, 65, 86,169,184,130,220,205, 25, 12, 4,144,160, 65,106,131,110,161, -230,235, 78, 9,139, 51, 45, 19, 83, 56,148,189,201, 27,140,214, 75,217,206,151, 86,125, 36,164, 58,188,169,147,128, 33, 73,231, -228,174,131, 11, 7,121, 81,107,105,102,201,214, 29,105,197,149, 41, 44,191,209,138,225,102,232, 70,171, 98,141,158, 12, 2,105, -184, 29, 52,119,157,153,182,226,235, 8,171, 54,128, 73,164,247,155,229,171,157,135,163, 37, 47,228,213,184,223,131,195,169, 96, -109, 82,176,168,180,139,120, 32,165, 96,201, 11,108,164, 63, 34, 46, 88,148,136, 73, 17, 6, 55,120, 13, 22, 86, 60,240, 70,108, - 27,106,173,213,109,189,114,175, 6,167,176, 45, 68,245, 29, 79, 37,171, 99,213, 87,243,234, 13,199,108,109,125,102, 46,210,170, -163, 8, 12,171,112,239, 18, 15,149,187,110, 18, 63,222,219,121, 30,236,236,160,170, 72,112,114,174,240, 68,158, 57,171,219,193, -209,162,150,154,208, 66, 6,222,150, 68,113,132, 52,134, 35, 5, 77, 22, 41,222, 32, 98,152,129, 91,181,185,183,112,172,106, 45, -213,163,136,213, 57, 65,213, 71,201,167,181, 94, 49,129,153,131,208, 0,131,248, 55,115, 90,237, 31, 26,233, 63, 58,128, 34,174, - 96,174, 90, 35,141,233, 24, 61,237,102,196, 45,109,187,142,242, 16,147,169, 66,162,242,176,185,163,199,167, 7,135,226,210,182, - 90,237, 62, 70,102,197,193,241,150,186, 19,181,155,248,168,104,147,123, 85,192, 73,164,193,114,227,173,113,113, 51,150, 56,236, -198, 53,194,113,222, 30,221,104,141,240,195, 4, 35,118, 53, 33, 82,131, 71,178,155,226,193, 12,134,166,245,106,191, 21,172,240, -216,104,187,190, 69,143,229, 43, 88,255, 60, 64,173,186, 26,113,147,227,215, 4,206,160,116,198,101,238,205,204, 24, 36, 60, 19, -226,148,228,202,231,159, 62,122,178,251,253,159,252,108,107,115,186, 90, 46,135, 97, 81,135,149,105, 24, 65,114,202,147,198, 49, -227, 96, 10, 27, 49,220,162,197,196,188, 42, 37, 89, 45,150,169,155, 88, 61, 98,153,192,235,199, 31,254,221,181,155,183,182,182, -182,126,241,147, 31,110,109,159,219, 43, 44,105,186, 49,155, 14,203,163,253,221,167,143, 30,221,185,122,253,198,181,155,183, 30, - 63,125,118,225,252, 11,127,245,203, 31,127,240,222,183, 13,124,112,180, 28,143, 39,207,211,179, 49,194,181, 80, 97,156,245, 70, -143,187,129, 74,209,179,231,206,238,238, 30,126,242,249, 87,223,125,231,205,161,244,238, 26,254,141,144, 94, 88,120,185,236, 35, -232,156,152,115, 98, 22,105,168, 16,241, 10, 77,137, 67,196, 42, 94,153,153, 37,149,210,154,127, 28,166, 90, 22, 61, 12,206, 44, -147,220, 77,186, 48,140, 81, 72, 61,213,188, 20,207, 41, 9, 51, 84,173,201,136,198, 68, 93,234, 34,112,191, 38, 55, 17,209,203, - 23, 47, 77, 38, 83,117, 43,170,135,139, 5, 59, 45,151,171, 82,134, 46,243,222,193, 2,238,100, 8,144,142, 55, 22, 39, 89,213, - 23, 94,250,214,193,222,147,197,226, 48, 26, 51, 64,153, 58,148, 50,204,230,211,251,183,238, 93, 56,123,246,201,238,225,253,103, - 7, 93,237, 39, 41, 87,213, 78,140, 56,119,221,228,221, 55,223,190,251,112,103, 40, 3, 17,169,150, 73,202,188,126,234, 7,242, - 59,132,181,150,237, 9, 93, 18,131, 14, 98, 41,103,161, 49,120, 17,192,145,214,217,218, 96, 6, 35,209,104, 36,153,167, 40,250, - 52,107, 62, 56, 49, 73, 19, 43, 53, 34, 57,110,110,110,209,105, 23, 31,159, 16, 25,195,157,106, 68,178, 9,139,126,213,113,106, -131, 45, 19, 41, 9, 9,192, 14, 13,240,111, 88, 33,201,220,216, 0, 38,115, 23, 98, 98, 17,162, 21, 72,136, 65,224, 88, 4,184, -169,173,189,110, 10,119,162, 58,170, 77,109, 14,231, 24, 11,131,198,211, 92,124,205, 45, 10,178, 17, 83, 46,237,148, 26,193,212, -160, 83,152, 23,159, 76, 51,193,132, 81,109,172, 77,107,253, 20,173, 27,137,195,121, 64,220, 44, 49, 4,107, 78, 62,140,220,106, - 90,255, 15, 63,135,139, 48, 19, 33, 17, 51,215, 82,131, 15, 43,142, 34,113, 63, 98,118, 67, 0,199, 28, 34,172,213, 23,171,126, - 99, 54, 85, 43, 13,203,109,174,104,133,160, 41,177, 17,170,214,233,116,163,243,240,250,197, 67,146,146,200,224, 0, 81,176, 4, -215,150,146,216,208,250, 24,197, 34, 14, 73,153,114, 74,165, 84, 68, 28, 56,114, 2,100, 34, 41,231, 92,181,143, 63,220,206, 65, - 26, 38,100,132,141,100, 29,104, 34, 48,216, 77, 61, 10, 4, 34,186,236,134, 4,238,189,152,107, 40,176, 33,111,231,148,221,170, -185,197, 34,186, 26,224, 22,193,197,198,129,107, 43,200, 8,236,144,187,169, 41,115, 30,207, 57, 20,246,145,144, 32,157, 91,235, - 81, 56,188, 93,163, 26,146, 91, 11, 74,228, 11,162, 50, 34, 30, 18, 18,182,137, 38, 12, 55,120, 0, 52,232,161,109, 62, 38,152, -197, 37, 76, 22,206,124,119,119, 47, 26,136,158, 49, 44,234,227,162, 59,102,121, 38,131,166,166,173, 48,193, 67,194,140,184,100, - 64, 32,215,149,127,104, 45,126,218, 96,115,117,117, 84,107, 73,147,205, 73,151,172,237,254, 90, 81, 96,123,188, 84,227, 44, 17, - 42, 37,152,136, 76,114,254,232,247,255, 85, 57,253,240,199, 63, 77,137,250,213, 82, 75, 89, 29,238,214,254,104, 50, 63,157, 82, -110, 56, 84, 97,178, 6,164,116, 50, 15, 86, 88, 45,206,105, 99,123,123,239,201, 14, 49, 29,219,222,126,112,251,201,222,157,219, - 95,124,249,213,238,209,226,251,239,191,117,246,204,185,222,183,142,106,238,102, 19, 34, 28, 60,219,121,244,240,238,237,219, 55, -174, 92,191,113,235,254, 99,131,255,197,159,253,248, 87, 63,253,224,216,230,230,170,154, 89,105, 27, 90, 56, 91,188,196,245,110, - 38,106, 4, 99,250,179,134, 30, 4, 17,188, 86, 51,247, 55,222,122,245,250,215, 87, 63,253,252,202, 91,111,190, 82,139, 82,203, -226, 69,111, 45, 86,203, 94, 85,139, 85,102,238,251,194,110,157,100,230, 68, 40,225,231, 93, 13,197,204,173,168, 51,139,184,154, -178,187,144, 48,177, 1,253,208, 3, 94, 77, 17,244,106,134, 72,134,193,137,234,160,197, 26, 18, 43,174,206, 68,164, 68,146,164, -170, 54, 49,211, 43, 81, 6, 83,150,244,250, 75,223,146,156,172, 47,165,214, 85,223, 19,211,209, 98,101,166,228, 60,212, 50, 30, -254, 4, 80, 18, 7, 73,192,188, 82,158,156,189,116,233,214,213,175,163,251, 71, 77,217, 89, 82, 18,213,243, 23, 47,238,239,237, -190,116,241,133, 39,187, 71, 71,171, 21,111,228,196, 86,172,102,201, 2,108,111, 29,127,251,213, 87, 62,250,236,179, 60,153, 4, -183,202, 28,112, 43,160, 82,135, 40,165, 26, 5,186,104,228, 33, 83,128, 88, 25, 18,136,200,231,119,189,134,155, 54,119,138,136, - 20,125,179, 73, 98,108,245, 36,146,152,229, 33,166, 40,102, 78,238, 74, 14,101, 23,129,172,134, 69, 18, 30,168, 70,192, 51,176, -167,253,208,147,250, 98, 40,202,150,115, 74, 34,238,108, 81,123, 30, 37,212,196, 97, 11,246,198,187, 32, 2,229,196,173, 10,219, -131,210, 31, 7, 12, 54,167, 90,139, 86,157,118,121,112, 8,177, 0, 66,148,153,205, 13,228,169,125,255,149, 27, 57,134, 64, 72, - 28, 25, 74,183, 86, 32, 27, 90, 17,180,221,202,220,201, 80, 73, 51, 17,188,172,250,217,100, 18,171,137,214,205,234,238, 9,228, - 72,204, 66,110,160, 44,121,237, 54,166, 22,182,143,172, 20, 26, 12,111, 12,165, 54,210,187,187,187, 7,103,185, 22,205,209, 34, -194,208,218, 12,207, 77,109, 77,217,155, 81, 89, 99, 19, 91,203,160, 93,166,148,180, 6,226,110, 84, 90,160,131,171, 24, 35,161, -235,210,225,178,159,136, 1,110,102,194, 50,159,229, 85, 79, 49,127,132,217,131, 5,132, 70, 0, 86,117,135, 53,131,160, 52,201, -159,154,109,180, 69,124,213,144, 19,131,201,204,210,136,154, 74, 68,195,248, 2, 98,173,161,238,236,110,177,202,178, 49,150,226, -205, 48, 82,205,122,213, 90,163,230,148,213, 91,133,232,100,146,217,106, 84,186, 27, 89, 45,218,121,172,116,226, 1,197, 24, 97, - 60,174,202,146, 97, 26, 27,104,138,123,121,244,144, 4,189,162,113, 20,220,163,125,214,156, 64, 34,205,224,222,148,106, 33,120, -128,109,219, 51, 54,174, 3,146,248,244,217,188,154, 21,133, 4,214, 32,136,239, 48, 43, 14, 9, 5,163, 29, 49, 48,130,247,163, -225, 2, 60,154,246, 29,206,241,227, 32,105, 77, 23,104,224, 59,247,200, 45, 52, 33,159, 28, 36,173,203, 38,150,159, 76, 80, 53, -181, 40,225,182,166,118,145,136, 88,248, 91,218, 36, 64, 62,166,154,152,115,102,250,221,127,254,207,105,115,235,199, 63,250, 97, - 63,244,106,240, 90,250,229,174,150, 5,113, 38,233,184,155, 16,181,238, 34,183, 18,155, 88, 16,187,171,105,173,213, 38, 91,243, - 7, 55,175, 87,245, 51, 47,190,248,249, 31,126,119,247,250,213,235,183, 31,156, 56,185,253,151,191,250,137,167,249,254, 48,207, -243,233, 68,216,116,216,121,116,239,225,131,123,183,110,223,190,122,243,214,227,221,253,243,231, 78,253,187,255,238, 55,223,126, -237,229,101, 95,130,193, 50,246, 60, 59,175, 67,133,177,151,118,139,194, 67,109, 78, 88, 48,179,143,128,111, 2, 65,109,232,235, -107,111,190,241,233, 39, 95,236, 29, 28, 30,155,111,184, 42, 9,197,156, 65,230,139,229, 33, 8, 86, 77,161,131,112,169,206, 73, -132,188,244, 90,173, 50, 39, 70, 9,166,152, 48, 1, 92,171,170,131, 51,187,161,148,224,146, 74,151, 82,213, 74,238,106, 8, 33, -136, 97,213, 42,220,171,217, 80,180,235, 24,112, 53, 35, 65, 78, 9, 85,179,164,222, 43, 57, 72,140,129,227,199, 54, 95,186,116, - 41,246, 42,139,195,189,197, 48,192,108,239, 96,143, 88,220,177, 88, 14,160, 14, 9, 30, 21,231, 77,243,115, 16,213,178,218, 60, -113, 98, 99, 99,243,240,112, 31, 34,108,238,156, 24, 32,170,155, 91, 91, 7, 71,135, 57,167, 87, 46,156,254,234,238, 35, 45,131, -204,166,181,104, 73, 53, 73, 55,155,230,183,223,124,235,254,206,227,219, 15, 30, 78, 38, 19,162,224,176, 81, 98, 44,139, 2, 16, - 24,211, 88,141,198, 14, 3, 51, 79,115, 14, 33,190, 37,233,121,156, 79,133,199, 73,140,157,108,252,192,226, 34,140, 72, 73, 43, - 22, 13,144, 57, 11, 85,175,177,111, 54,195, 36,139,171, 6, 73, 70,205, 90, 69, 6,195,129,126, 40, 76, 36,196,102,234,202,156, -137,128,149, 89, 8, 7,213,220,217, 85,225,130, 28,233, 6, 0,204, 10,119, 83,118, 38, 66, 39,180,126,236,131,224,196,148, 93, -114,202, 78, 43,210,177,176,184,133,189, 2, 20, 44,177, 74,117,128, 60,139,120,196,114, 49, 42, 31, 6,136,175,173,117,214,112, - 22,214,124,201, 12,146,212,154,218, 90, 76, 10, 2, 7, 83,202, 89, 74,182,170, 53, 8, 61,196, 1,236, 72, 36, 43,175, 41,165, -120, 57,163,211,141, 27,254,149,130,167,175,204,236,110,170, 4,212, 46, 77, 76,205,184, 61,185,194, 12, 97, 1,161,196,212,193, - 90,205, 65,211,233,180, 19, 49,162, 3, 56, 89,195,236, 41,131, 77, 34, 84,148, 36, 19, 19,187,229,212,181,145,143, 41,113, 71, - 52, 18, 77,198, 85, 74,108,144,100,236,172, 34,135, 16,213,102,117,109, 56, 52, 1, 87,183,184,146, 4, 20,181,115, 21, 54, 97, -210, 26,190,239,246,155, 71, 6,216,131,208, 75, 48, 55, 19, 88, 5, 3,130, 88,113,154, 87,175,181,144, 7,141,192,165,109, 85, - 76,131,132,204,201,161,153,120,160,208, 79, 34, 94,213, 30,118,204,112,109, 19,197,152,206, 51,208, 8,126,117,119, 24,145,216, -120,122,112,179,118, 98, 26,195,245, 28,125,185,163, 3, 48,100,121, 35,111, 95, 10,143,139,124,132,105,147, 80, 99, 59,199, 4, -246,156,140,235,163,250,164,186,238,201, 35,143,141, 82, 16,247,154,154,110, 66,137,208, 54, 34,214,172,118,205,222,216,188,250, - 99,118,201,218, 3, 93, 91, 92,213, 25,121,182, 33,146, 40,108, 33, 28,107,174,102, 28, 30, 53,154,150, 97,153, 76,102, 7,123, - 79, 63,249,248, 79, 91,167,206,188,255,221,239, 68,138, 50,190, 0, 41,117,150,231, 32, 73, 41,177, 16,140,215,141,128, 17, 65, -132, 69,171, 56, 87,235,119,175,125,113,236,204,139,180,255,248,147,191,251,127,190,186,114,109, 40,254,189,247,222,125,229,149, - 87, 15,250, 52,104,183,177, 53, 39,211,195,189,221, 39, 79, 30,220,190,113,227,250,173,219,215,239,221,239, 38,221,111,127,241, -163,191,250,205, 79,167,221,100,177, 28, 76, 45,178, 24,205, 73,222, 40,121,141,109,136,209,215, 17,192,221,200,201,197,182,181, - 61,254, 48,194,217,151,195,235,175,189,242,233, 23,215,222,124,243,181,173,249,180, 84,143,117,134,153, 61,219, 59, 82, 53,141, -103, 36,204,160, 48,130, 72, 74, 50,203,201,201,150,171, 62, 98,249, 69, 67,163,165, 80,159,106,173, 14,144, 55,119,163, 48, 49, -168, 14,195,203,175,191,114,225,204,153,123, 59, 59,218, 98,186,129,238,137,149,176, 20,173,165, 42,146, 44,251,158, 64,196, 18, -205,228,219,199,143,159, 58,115,178,104, 41,253,242,193,206,238,178, 31, 86, 90,150,171, 94,152,201,125,177, 92,197, 3,219, 65, -227,169, 50, 70,120,133, 91,202,147, 83,231, 46, 44,175, 31,154, 58,113, 2,123,242,204,146,150,139,195,173,227,199,151, 71, 71, - 47,190,120,254,198,131,199,253,208,119,147, 41, 11,151,126,152,204, 51,119, 50,247,249,111,126,246,203,203,215,174,223,186,123, -107,119,119,151, 36,150,114,221, 44,229,197,208,123,148, 74,199, 95,211, 84, 15, 98, 74,185,147, 78,228,112, 24, 74, 95,226,202, - 76,227, 42,222,224, 48,197,154,102, 48,170,166,223,204,187,133, 5,158,154, 4,202, 68,150, 72,106, 84,244, 41,165, 20,223,133, -209, 2,230, 94,181, 76,242,100,179, 75,197,140,199,210,236, 72, 88, 87,247,106,198,128, 49, 90,113, 1,164, 41,133, 54,214, 38, - 74, 50, 7,105,141,175, 94,116, 98, 11,137,195,138, 85,215, 34,129,109,129,151,208,238,130,178,215,168,197,238,142,170,106, 17, -141,115,111, 62, 10, 6,201,232,253, 24,253,105, 0, 58, 22, 39, 82, 81, 17,118, 71,151,186, 90,251, 90,123, 26,205,115,165, 70, - 99, 99, 56,230,162, 14,137, 72, 28, 74, 0, 43,185,185,151,120, 44,192, 51, 49, 55, 3,223,186,176,193,163,190,131,163,160,129, -153,106, 13, 58, 95, 72,202,230,148, 88, 44,114,118, 57, 13, 85, 55,231, 51, 34, 89, 14, 67,128, 72,218,137,170, 45,253,124,232, -109,146, 65,206, 4,154,118,147, 60,233, 82,107,199,139, 94,119,111,227, 56, 26,150, 0,136, 42,249, 17, 24, 9,111, 60, 20, 33, - 40, 68, 27,180,177,209, 31,216, 37, 37, 17, 73, 42, 44, 33,100,181,214,239,200, 84,232, 56, 83,214,170, 89, 18, 59, 69,248,200, -184,185,111, 99, 9, 18, 5, 45, 22, 12, 62, 13, 66, 17, 49, 5,195,193, 89, 72,146,104,105,235, 63, 15, 33,195,218, 65, 30, 0, - 76, 35,235, 75,113, 90, 4,199,221,131,149, 35,251, 31,103,127, 38,210,184,137,140,187,222,209,235,201, 90, 43, 37, 18, 38,239, -152,106,227, 42, 51,177, 91,117, 34, 80, 5, 55,163,123,187, 64, 42,153, 89,128, 88,213,220,201,131, 13,215,152, 0,193,117,136, -195,178, 89, 80,148,155, 43, 69, 0, 66,138,180,151,143,214, 64,111, 57,187,241,222,215, 14,108, 99,196, 43,150,176,146,218, 46, -140, 27,194, 35, 36, 32, 31, 1,147,163, 24, 79, 27,179,141, 39,247,238,125,246,229,229,111,191,253,206,217,179,167,135,126, 53, -170, 11, 78, 68,156,114,158,204,115,215, 9, 39, 83, 37,150,200,184, 18,147, 15, 78, 66,147,249,177,131,189, 71,171,197,242,196, -233,179,229,104,177,120,246,224, 79,127,252,232,246,157,135,223,122,241,252, 91,111,188, 42,211,227, 59,135,169,219,152,111, 77, -167,125,191,120,182,243,232,254,189,155,215,111,222,190,114,227,214,211,253,189,183, 95,127,245,223,252,197,175, 94,188,112,182, -168, 31, 44,250, 53, 67,100,141,245,161,245, 8, 22,246, 70,230, 81, 80,139, 93, 10, 99,204,212,143, 92,228,209, 9, 65,212, 73, -247,238,155,175,252,211,103, 95,190,245,206, 91, 39, 54, 55, 74,213, 64,204,173, 86,171,212,137, 65, 39, 20,220,108,140,112, 30, -103,138,140,167,167,196,129,157,227, 17, 24,157,178,168, 85, 83,203,156,231,211, 41,183, 86,113,212, 82,127,253,231,127,118,230, -244,246,239,126,255, 97, 24,253, 34,226, 19, 55, 2,201,212,155,155,150, 96,143,120, 52,234,186,178,211,185,179,103, 54,102,179, -229,114,181, 90, 44,135, 90, 96,182, 90,246,238, 6,146, 68, 28,109,102, 1, 14, 71,228,209, 24, 48,109, 43, 57,213,237, 83,103, -158, 61,122,180,183,255, 52, 73,142,167,108, 74,105,232,251,110, 34,211,141,141, 83, 39,182, 79, 31,191,242,224,201,209,114,185, -216, 58,118, 76, 75, 29,106,217,152,228,227,199,142,157, 60,113,234,197,243, 23, 62,249,106,251,255,253,219,223,117, 93,183, 24, -138, 57,152,185, 75, 57, 9,215,166,135,182,115, 34, 24,179,212,109,205,167,110,144, 36, 79,134, 50, 42,100,108,110, 50,134,233, - 27, 76,182,173, 39,209,246, 77, 30, 38,156,118,181,212, 90,218,221, 80,141, 8,194,168,197,200, 21,148,217,161, 20,128,220,248, -196,217,221,187,110,138, 90,133,152, 40,185, 13,212,126,115,169, 86, 18, 40, 17, 12, 20,230, 6, 38, 14, 67, 99,202, 2, 98,152, - 49,161, 18, 11, 71,104,186, 89,146, 97, 34,164, 41,103, 93, 44, 64,172, 32, 83, 99,225,177, 30,164,181, 82,140,214, 20, 39, 38, -213,231,221,215, 13, 84, 71, 32,162,170,202, 96,112,235,199, 20,238,178, 72,117,165, 26, 94, 69,119,184, 56,201,184,211,231,128, - 58,172, 47, 83, 13,223,157,138, 53, 39,190,195, 34, 70, 45, 76, 10,206,192, 0,111, 94, 67, 22, 34, 22, 78,102, 42, 32,109,143, - 14,143, 40, 99, 84,191,154,234, 48,148,156,164,214, 50,203, 27, 67, 41,165,104,219, 79,248, 90, 49,179, 86,245, 0,148, 82,213, -245,238,131,199, 27, 27,147,179,219,103, 54, 54,242,190, 47, 35, 79, 0,176, 43,208,138,251, 0,144, 85,195,250,177, 6, 40,144, -157,220, 24,104,121, 98, 31, 13,203,102, 49,249, 17, 11, 51, 9,185, 40, 9,115,204,163,177, 23,109, 11,196,182,118,253, 6,245, -135,129,170,149, 19, 39,226, 1, 74, 36,238, 30,186, 32, 28,174, 70,110,148, 58, 82,135, 49, 67, 19,133,173, 76,220,130, 45,216, -254, 47,130, 6, 78, 35,178,194, 50, 80,227, 61,115, 70,203,251,106,144, 36,107, 27,254,219, 32,213, 54,162,230,104, 99,136,187, - 89,165, 6, 71, 30,227, 62,173,132,197, 90, 60, 34,179,171,123, 20, 74, 89, 8, 12,161, 19, 81, 64,238,192, 8,201,207,160,100, -206, 20, 85,186, 13,240, 17, 22,228,212,104,110,230,193,251,129,141,166,173, 6, 32,138,167, 88, 20,164, 16, 51,219,248, 44,139, -161,213, 71,173,163, 89, 85,227,250, 85, 5,167,217,108,118,253,242, 23, 87,111,220,249,209,207,127,182, 57,155, 12,101, 8, 17, - 40,148,169,248,158, 74,238,184,155,186, 41,249, 56,188,152,186, 58, 72,186,249,214,131, 59, 87, 68,142,109,159,185,244,224,246, - 87, 15,238,220,252,252,139,175,213,240,139,159,254,240,212,201,211,251,125, 46,190,177,177, 61, 97,199,179,167,143, 31, 63,184, -115,245,234,213, 91,247,238,221,123,248,152, 19,253,205,191,252,205,207,126,248,221,174,203,203,190,180,214, 17, 38, 78,128, 6, - 58,175, 73,145, 78, 99,169,132,175, 67,182,190, 38,218,227, 57,123, 39, 22,205,213,145, 98, 33, 87,180, 76,231,155,239,189,245, -234, 87, 87,175,191,255,222,251,132,234,100, 14,175, 26, 5, 94,108, 98,109, 0, 24,225, 61, 78,212,229, 76,236, 93, 74,211,110, -178, 90, 44, 37,145,161, 53, 69, 86,117,115,218,152,229, 90,243,116,210,169, 25,129, 38,147,201,127,250,143,255,233,252,185,243, - 41, 73,173, 53, 62, 16,142, 1,137,200,213,132,152, 89,170,214,174, 75, 65,125, 17, 98, 23,188,124,233,188,136,184,211,209,114, -113,184,234,139,214,229,114, 89,213, 82,102,192, 87,203, 30,166, 68,236, 24,113,125, 46,142, 66, 44,113, 21,114,162,179, 23, 47, -237, 31,236, 82, 98,175, 85,114,118,162,201,108,174, 67, 15,243,253,221,253,247,191,243,214,225,223,127,220,187,174,250, 62,167, -180, 88,174,220,189, 38,238,171,246,195,106,168, 21, 12, 17, 33, 20,115,119, 66, 78, 41,137, 12,218, 55, 92, 29,140,152, 79,204, -166, 39,230,115, 35,235, 7,221,236, 38, 79,118, 3,206, 37,205, 33, 22, 18,188, 90,148,127, 9, 75,164, 57,155,189,202,161, 80, - 56,101, 91,187,208,188,147,100, 40,203,161, 82, 74,234,102, 77,139, 78, 2, 99,184,128,138,177, 36, 73,204,165, 86,115, 75,156, -108, 12,220,145, 25, 70,171,114, 35,205,196,176,199, 4,134, 83,220,232, 77, 40,133,224, 67,142, 20,157, 67, 74, 36, 36,137,135, -226, 86,149, 26, 10,201,212,171,133,231, 62,142,105, 80, 5,197,252, 78, 45,200, 99,177,224,215, 81, 42, 28, 93,103,252,141,174, -233,208,229,219, 75,227, 22, 44, 39, 15, 75, 63,188,152,101, 67,234,146, 90,137, 48, 21, 50,154, 31, 36,234,227,190,129, 10, 81, -115, 14,104, 49, 81,232, 86,173,123,149,168, 86, 15, 56, 96,171, 86,166, 88, 38,250, 8,244, 84, 87,103, 34,133,229,156, 82,169, -230,241, 60,224,208, 45,205, 61, 81,102, 1, 39,130,196,135, 56, 28, 29, 30,222, 92, 44, 95,186,120, 33, 9,197, 94,215,220,130, -134, 28, 55,237,148,147,194,188, 54, 21,119, 84,101, 72,200, 28, 28, 61,230,107,131,151,153,194, 61, 17, 42,147,169,167, 76,174, -196,196,112, 34, 78,237,222,137,152, 88, 35, 54, 7, 89,183,175, 18, 91,220,198,132, 5, 82, 85,169,148, 6, 20,115, 37, 6, 40, - 1, 86,189,186,133,113, 50,199, 30, 81,221, 34,114,229,181, 70,195,161,251, 58,206,212,214,212,113, 91, 71, 52, 69, 50,187,246, - 99, 1,153,135,251,206,131,144,174,218,124, 43,102,214,162, 91, 4, 33, 55,136,145,121, 37, 74,102,234, 22,224,231, 10, 25, 87, -178,230, 90,141,153,192,228,205,245,214,218,125, 67, 51, 81,215,240,241, 48,181,244, 95,112,186,216,141, 9,201,205, 91, 67,201, -248,130, 71, 63, 63, 71,250,118,221, 31, 20,179, 79,180,214,183, 29,113, 28, 6,252, 27,223,139,216, 34, 72,202, 57, 93,254,252, - 79,143,159, 30,252,242, 87,127,150,115, 46,117, 24,147,177, 54, 54,183,130,121,210, 42,152, 36,173,161,146, 90,202,116,126,236, -217,163,123, 7,123,251, 89, 38, 96,186,246,217, 71, 95,124,241,197,195,157,103, 47, 94, 56,247,254, 59,111, 87,222,216,215,110, -178, 57,207,147,188, 90, 30, 61,121,120,255,214,141,107, 95,223,188,118,243,238,131,195,197,234,181,151, 47,254,235,223,252,226, -141, 87, 47, 45,123, 93,245,117,236, 31,137,188,221, 55,234,118, 64,136, 86, 22,140, 77,178,113,129,141, 29, 36, 81, 72,219,146, -188,212, 38, 37,142,197, 16, 28,156,134,126,152,111,157,121,229, 91,248,195,199, 31,127,255,187,239,147,169,171,213,190, 14,195, - 0,166, 44,172,166,131,234,180,235,152,217, 13,147, 46, 37,102, 85,151,156, 33, 36,194, 58, 96, 40, 43, 68,111, 19,200, 77,103, -211,201,238,254,161,164,148,195,222,199, 84,213, 58,225,174,235, 86,171, 62,214, 1, 18, 93, 90, 64, 85, 87,171, 66, 84, 1, 33, -113,105,247,170, 68,242,173,139, 23,205,147,121, 41,181,148,126,168,234,139,229, 16,101,113, 12,233,195,135,209,142,215, 49, 5, -214,214,248, 6, 2,193, 74, 61,118,242,196,246,246,153,189,221, 29, 73, 83, 0,176, 33,167,206, 85,207,156, 57,251,248,209,195, -249,124,227,229, 75,231,110,220,123,178,234,151,137, 55,220,252, 96, 49,172, 68,150,203,229,193,225, 94, 95,170,154,175,106,137, -184, 30, 25,247, 90,200,145,136,156,216,173,178,240,201,249,198,137, 99,155, 44, 98,165,100, 73, 44,220,154, 30, 61, 60, 30,235, -114, 82, 5, 37,152,169, 87,107,157, 97, 24, 31,206,112,106, 61, 6,137,201, 13,213,234, 52,167,163,161,104,173, 0,114, 36, 72, - 83,195,164, 56,156,196, 19,135, 63, 69,200, 44,119,201,204,213, 40, 39,238,171, 6,111, 93, 93,199,147, 44,153, 85, 55, 73,173, - 21,181,165, 43, 3,137, 30,211,140, 59,204, 53, 81,210, 90,171,154,176, 68,161, 71, 49,139,239,174,153, 19, 17,200, 32, 57,140, -236,147,196,171,161,170,106, 99, 48, 1,108, 49,230,141,244, 79, 11,126,223, 8, 31, 6, 37,145, 94, 53,192,226,113,231, 66,252, -104, 51,171,106, 73, 88, 80,205,181, 90,215, 73,112,209, 2,204,107, 70,228, 69,205, 40, 49, 57,149, 96,170,132, 73,154,129,162, -144, 20,183,221,200, 10, 7,245,194, 45, 96, 11, 32,162, 68, 84, 99,124,118, 75, 41, 89,117, 8,169, 43,140,136,137,196, 81,130, -147,156,136, 17,186, 9, 28,100, 78,238, 93, 74, 85,245,202,141, 91,103,207,156,164, 86,129,235, 2,142,197, 26,224, 76, 52, 34, - 65,215, 76,241,150,173, 52,119, 29,171, 13,227,170, 20, 22,145,164, 78, 65,212,240,224, 22, 83,131,172,154, 42, 55,211,109,160, -180,198,101,114, 43,211, 50,134,132,112, 46, 34,205, 47,231,193, 47,104,232, 45, 87,116,156,140, 97,145,141, 80, 7, 88, 82, 26, -213,172,228,228,230, 37,182, 7, 26, 85, 30, 68,110,177,134,197, 90, 61, 37,106,220,230, 80, 89,208, 16,205,218,136,114,234,237, - 78,109, 78, 28,227,185, 57,220, 40,145, 7, 67,156,205, 92,149, 36,185, 26,133,160,159,192,230, 14,109,109,156,194,164, 10, 15, - 88,106,227, 59, 70,185,136, 51,130,231,225,196, 28,172, 75,110, 82,167, 60,239,170,142, 87, 20,248, 56, 29,247,208,177, 71,166, -177, 60, 18,107, 80,116, 56,236,198, 62, 91,119,228,220, 49,217,159, 62,252,112,185,194, 63,251,241,143,137,188, 31,122, 0,219, - 23, 95,222, 58,119, 49, 96,222,225,169,146, 46,158,245,220,205,230,231,223,249,129, 14, 37, 79, 55,134,126,177,251,236,217,100, -235,196,100,146,142,246,158,126,253,233, 63,254,238,247,191, 63, 90,149, 95,252,179, 31,188,255,254,247, 86,249,148,207, 78,109, -110,109,165,204,207, 30, 63,184,121,249,179, 63,254,233,163, 15,255,248,199,207,175, 92, 79, 57,253,235,223,254,252,127,249,247, -255,227,171,223,186,120,180,212, 17, 53, 62,122, 6,173,217, 97,124, 84,156,243,108,246,198, 47,254, 21,128,110, 62,127,237,231, -127,181, 86, 62,180,157, 80,168,217,214,252,121,248, 56, 44,167,235,145,190,150,229,214,137, 19, 23,206,110, 93,254,250, 43, 22, -118, 47,149, 52,120,153, 16,150,214, 12,202, 6, 83,237,137, 41,117,147,170, 6,162, 90,180,241,113,163,133, 12, 84,181, 38,145, - 46,231,161, 86, 85,203, 93, 14,139,236, 80,149,184,161,119, 61, 22, 58,210,214,141, 57, 75, 39, 41, 12,113, 69, 53,154,208,137, -112,226,216,252,252,217, 23, 74,233, 87,171,126,255, 96,121,112,120, 84, 77, 87,253, 17, 35,106, 50,160,117, 80, 83,138, 63,189, -214,123,131,129,212,146,252, 14,179, 23, 46, 93,224, 60,225, 8, 6,114,199,146, 37,231,201,108,118,238,210,165,103, 59, 79,207, -156, 58,113,233,204, 49,119,237,107,113,129,213, 97,185, 56, 26, 74,201,105,114,234,196,201,115,167, 79,195, 21,163,225,209,221, -117,244, 39, 25, 40,177, 76,114, 86, 83, 98,174, 70,204,148, 68, 56,110,210, 17,207, 24, 15,215, 76,210,112,240, 12,213,231,237, -190,109, 54,106,255,164,128,171,186,186, 2, 52, 17, 33, 10, 91, 3, 25,172, 69,100,199,181,103,180, 14,115, 56,211,137, 41,201, - 56, 30, 70, 34,209,205, 76,198, 10,210, 0,245, 70,155, 51,195, 25,164,113,160,160,150, 79,143, 31, 45,209,231,237, 80,242, 98, -208, 96, 25, 91,113, 88, 99,180, 68,121, 71,220, 20, 36, 63,135, 55,173,229, 3, 4,157,103, 68,179, 59, 66,223,228,248, 15,197, -133,201, 34, 18,124, 44, 1,155, 91,175, 74,193,158,108, 93, 74, 28,163,107, 83, 29,205,162,206, 42,224,195,144,232,160,104, 46, - 38, 97,105, 74, 1,143,102,253,128,187, 58, 0, 86,152, 1, 27,147,174,203, 29, 90, 14, 88, 56,120,190,176, 90,170,227,191, 41, - 90,226,204, 67, 85, 51,151, 0,198, 37,158, 76, 38,147,201,116,115,190,113,124,107, 30,119,176,176, 44,132, 55, 50,150, 95, 76, - 17,222, 90, 11,166, 35, 8, 58,134,211, 38,193, 81, 10,190,138,136,169,186,251, 80,170,213, 10,131,154, 85,171, 41, 26,100,153, -157, 36,178,174,209,194, 99, 17,210,140,253, 4,197, 38,165,121,117,227, 90,144,113,109, 99,218,142,107,213, 85, 32, 68,208,106, -189,150, 0,146,193,204,107, 29,185,192,173,222, 7, 6,168,187, 85,139, 1,222, 42, 53, 86,116,148, 78, 89,187,219,152,181, 52, -112,128, 87,152, 41,177,131,180,170, 85, 87, 85,115,133,170,197, 58, 59,220,164,102,134,192, 18,137,235,152,252, 10, 72, 78,177, -182,113, 10,254,119,216, 40,199,179,230,248, 40,180, 88,151, 70,223,173,194, 82,132,137,162, 37, 55, 96, 25,241, 80, 20,153,156, -123,251, 59,177, 47,173,253,106,247,222,205,126,121, 68,163, 50, 31,135,226, 88,250,183, 35,140, 86, 48,165,212,245,139,131,127, -252,199,127,216, 62,253,226,123,239,189, 61, 12,171,248, 55,230, 39, 95,112,211,253, 7,119,200, 26,217,200, 17,101, 71,168,174, -245,232,240,238,167,255, 48, 61,118,108,119,119, 71, 73, 78,157, 57,251,248,254,237,221,135,247,191,250,234,203, 27,183,239,125, -251,141, 55,222,127,247,237,130,217,138, 55,103,243,201,116,190,241,198,119,223,215, 90, 29,120,112,231,246, 71,255,231,255,126, -255,217,211,239,188,245,250,191,250,245, 63, 59,127,102,187,175, 94, 75, 1,132,156,192, 78, 26,103, 92, 91,211,135, 90,237,210, -250,139,229, 24,150,135, 87,255,235,255, 61, 78,178, 96,226,182,197, 27,181, 55, 40,136, 61, 4, 79,242,231,219, 61,119,175,170, -151, 46,188,124,248,197,103,151, 47,127,253,222, 91,175, 88, 33, 7, 55,234, 83, 91,125,128, 12, 44, 41,137,116,147,137, 48,123, -228,194,163,185,157, 37, 34,210, 79,247, 15,103,147,105, 24,187,147,200, 80,106, 75,135, 19, 51,203, 98,168,193, 70, 4, 1, 22, - 97, 30,114, 39, 53, 99,162,121, 55, 17, 73,195,208,199,126,100,251,196,137,227,199,183,134,161,212,190, 63, 60, 56, 60, 90, 45, -234, 48,148, 26,139, 44, 35, 78, 85,181,150, 2, 74, 64, 9,162,210, 55,225,185,225,192, 54,179,217,124,243,212,169, 51, 79,119, - 30,115,238, 80,171,147,138,176, 41, 15,171,225,216,252, 88,158,228, 90,202,163,167, 7,123,203, 62, 65, 82, 74, 67, 29,102, 27, -115,152, 77,114,254,246,171,175, 61,253,199,221, 40, 51, 19, 33,212,246, 21,230,240,110, 81, 12,186, 84,107,101, 33,102, 2, 99, - 42,178, 82, 75, 44,213, 61,154,172,219, 33, 52, 64,142, 99, 91,233, 55,163,217,194, 76,160,138, 32,212,234, 52,231, 90,107, 16, - 40,219, 8,174, 62,150,178, 96, 77,184, 78,204, 52,198, 67, 76,219, 91,202, 17, 48, 34,213, 8, 14, 54,105, 67, 0,147,148,136, - 25, 68, 58,218, 60, 56,220, 32,228,125,173,135,203, 37, 17,117,147,142, 24,181,212,230,103, 32,144,179, 52, 13, 52, 56, 57,149, - 64, 44,196, 36, 36, 66, 32, 69,227,124,193, 98,191, 26, 2,124, 11,202, 53, 72, 44, 81, 11, 80,176,176,183, 98,233,112,242,193, -188,214,210,165,228,174,102, 22, 78,102, 53,165,148, 90,133, 20, 49,162, 99, 58,110,249, 68,193,170, 27,145,223, 26,213,179,102, -148, 51,245,203, 18, 39, 9,206,194,165, 40, 64, 64, 81, 83, 93,177, 16,220,213,212,128, 36, 36,156,137,200, 92, 73, 46, 89, 25, - 0, 0, 32, 0, 73, 68, 65, 84, 9, 28, 55, 61,106, 59, 81, 74, 76,185,203,129, 31,142, 66, 43, 38, 62,182,185, 97, 62,222,113, -189,245, 20,178, 96,154,115, 74,172, 67,187,235, 18, 17, 24,108, 17,193,245,200, 15,248,168,174,132,106,212,150,149, 4,117,171, -170,165, 86,152,173,101,247,208,187,198, 10,186,160,181, 69,201, 7,226,215,149, 78,192,100,138,136,158, 56,147,164, 88,175,196, - 27, 38,100, 6,184,128, 11, 65,181,130,224,174,113,112, 11,125, 5,205,109,105,176,218, 52, 12, 34, 18, 66,141,218,119,179,106, -235, 40,149,187,181, 11, 45,118, 36,104, 43,246,166, 20,141,212,175, 86,244,225, 81,179, 28,233,163, 24,251, 53,248,164, 14,247, - 4,212,118,155, 6,199,134,154, 81, 42,115, 84,223,142,114, 34, 81, 43, 77, 80,149, 44, 65, 43, 79,145,133, 24, 87, 91,163, 92, -220,128, 8,126,247,243, 63,192,113,252,220,197, 19, 23, 95,122,240,213,199,104,188,219, 32, 88, 24,190,121, 94,102,234,166,179, -251,183,111, 94,189,118,253,141,183, 63,184,116,238,212,193,226,136,219, 61,209, 15, 31,223, 11,160, 86,235, 77,109, 58,141, 25, -156, 56, 77,187,252,244,201,206,242,104,209,175, 14,231,199,207, 94,249,228,195,235,215,174,223,186,123,127,107,107,235, 95,252, -246,215,219, 39,207, 23,108, 72,238,178, 80, 93, 45,119,151,135,238,254,127,252,111,255,225,202,237, 91,127,245,111,255,230,127, -254, 95,255,195,127,249,191,254,227,143, 63,120,151,153, 34,134, 71, 36,204,145,108, 72,224, 58,130, 2, 3,208, 95,141, 37, 32, - 92,107, 8,109,192, 96,209,166,152,166,222,196,191, 51, 38,159,104,180,250, 70, 33, 7, 71, 5,108,160,112,250, 82,190,253,238, -187, 87, 47,127,249,247,127,248, 88,205, 61,234,163,122,217,200,236, 14, 73, 4, 34, 53,159, 8,107, 41,238,200, 41,117,147,201, - 98, 56,138,163,155, 8,147, 80,173, 58,217,202, 65, 43, 77, 57,149,213,138, 17, 85, 94, 6,160, 31, 6, 35, 34, 39, 27,243, 7, -238, 86,181,150,170, 85,221,108,152, 77, 8, 73, 88,184, 86,123,241,194, 11,179,217,198,254,222,222,106, 88, 45,135,178,234,117, - 24,138,213, 18,112,230, 38,222,219,232, 24,138,187,209,216,232, 51,126, 58,177,202,163,211,231,206,238,238, 60,172,253, 82,164, - 35, 8,145,164, 52, 75,124,116,230,210,133,199, 15,238,207,143,205, 47,157, 57,185,188,251,104,213, 47, 39,211, 46,229, 44, 44, - 44,169,168,158, 56,113,252,194,133,139,215,110, 92, 39,233,140,184,109, 25, 92,225, 96,215, 76, 81, 20,156, 13,150,136, 18,145, - 59,205,186,174,168,217,216, 57, 24, 21,166,102,113, 14,243,128,101,184,181,175, 50,185, 11,145, 39,214, 58,110,254,225, 14,174, - 94, 34, 46, 38,196, 41, 81, 41,145,217,110,155, 58, 34,151,204,147,148,107, 45,137, 57,108, 6, 22,199,103, 33, 17,233, 52, 45, - 67,197,104, 68, 38,112, 98, 34, 79, 4, 53,229, 72,129,171, 81, 74, 99,232,197,164, 69,139, 27,252, 44,181,145,158, 73,185,205, - 76,113,110, 52, 39, 73,164, 14,114,133, 33,148,207, 86, 44, 20,180, 75, 48, 65, 18,149, 26,248, 18,133,187, 36,129, 59,179, 48, -155,215, 18,222,121, 98, 49,114,102,202, 76, 10,168, 34, 34,114,137, 33,194,137,189, 68,229, 72,131,215, 66,129, 12, 74, 14, 73, - 18, 17, 82, 9, 43, 1,155, 83, 99,162,129,134,168,234,214,234, 69,155,179,168,148, 58,203,156,115, 23, 95,167,106,154,187,137, -181,133,103,195,150,211,120,246, 75, 73,140, 48,148, 74, 84, 77,157,152,114,202,179,105,183,209, 77, 15, 86,125, 48, 48, 90, 11, - 94,155,103,189,148,152,166,215, 86, 59, 90, 27, 32, 44,208,141, 77, 28, 1, 11,229, 28,239,180, 19, 48, 12,149, 73, 76,149,153, -134, 82,145,121, 50, 50, 7,195, 89, 22, 80, 67, 34,215,231, 21, 29, 28,105,216,204, 84,141,220,218,139, 79,204,194,148, 9, 70, -112, 14, 47,146,145,129,236,249, 11,138, 35, 63,115,163,136, 70, 27, 50,185,134,163,218,107, 4,144, 42, 2,202,214,240, 10,149, - 72,108,100,139, 17,147,170,186,129,153,132,216, 41, 57, 59, 35, 46, 39,109, 68,213, 88, 56, 71, 86, 41, 9,204, 52,138,253, 76, -219,138, 48,210, 57,214,154,174, 73, 72, 32,198,132,245, 73,202, 91, 13, 37,137,169, 67, 72,200,145,218, 67,114, 68, 62,133,111, -228, 57,222,222,156,152, 23,251,123,243,147,103, 9, 41, 50, 20, 39, 46,190, 60, 61,118, 28,238,139,103, 59,207,238,223,114, 85, - 98,153, 76,167,180,185,253,238,159,191,253,206, 47,117,249,244,241,177,115, 23,143, 62,249,135, 16,124,182, 47,188, 52,219, 58, - 9,162,229,254,211,189,123, 55, 80,149,167,211,115,111,126,239,225,181,203,167, 94,124,101, 88, 46, 30, 94,187,252,230,207,127, -123,227,143, 31,174,150, 7, 15,110,126,117,230,219,223,253,193, 95,253, 59, 38, 60,123,112,231,193,173,135, 3,208,165,206,181, - 30, 62,219,219,121,116,247, 96,181,248,193,175,255,249, 71,159,126,178,232,235,131, 27, 87, 94,252,235,191,254,233, 7,111, 87, -247,211,175,127,127,235,236, 37, 16,246, 31,222,185,255,229, 31,220,120,186, 57,123,237,255,175,234, 76,158,236,186,146,243,254, -101,230, 57,247,189, 26, 80,133, 2, 10, 35, 1,162, 9, 14,104, 14,234, 73, 77,170,217,146, 90, 99,104,136,112,135, 23,178,108, - 45,188,241,159,224,173,255, 8,239,189, 81,132, 55,118,132, 35, 28,150, 29, 33,135, 34,100,205, 45, 91,146,155,100,143,106, 18, - 36, 65, 0,133,185,128, 66,141,239,189,123,207,201, 76, 47,242,220, 7,121, 73, 6, 3, 32, 10,239,221,123, 78,230,247,253,126, -223,250,245,135, 31,127,184,253,202,155,195,236,248,238, 71,127,147,186,116,233,237,111,173,158,222,174,253,124,255,254, 23,241, - 19,237,214, 79, 93,251,230,175,221,252,235,255, 65, 68, 47,127,227, 87,242,202,169,118,111, 22,222,187,115,243,217,157, 79, 34, - 33, 63,146, 61,218, 17,180,133,133, 64,238, 86,134,197, 27, 55,110,252,232,195,239, 63,222, 59,154, 76, 59, 34,206, 57, 87,171, -179, 82, 54, 90,104, 89, 19,200,128,197,208, 39, 73, 66, 82,212, 88,120,168,106,176,147,249,130,137, 69,146,185,170,182, 93, 88, - 22, 81,243,220,117, 81,154,112,130,144, 48,187,100,169,145,141,133, 17, 81,206,121,182, 88, 52, 0, 33, 67, 77, 47,159,191, 72, - 76, 64, 61, 60, 58,218,125,182, 55, 88,237,135, 94, 3, 54, 11, 39,120,233,251,161, 44, 36,117, 99,146,201,185, 25, 82,148, 60, -236, 99,113,255,179,201,202,234,217,243, 23, 31, 63,188, 7,130,107, 9,168, 95,238,214,230,243,227,110,210,237, 62,126,122,249, -210,185,131,249,226,238,163,103,168,188, 62, 89, 53,184,176, 0,164,181, 94,191,114,229,201,238,110, 95,139,120, 0, 87,193, 97, -211, 35,241, 64,222, 39,158, 45,106, 22, 94,244,101,115, 99, 45, 75, 94,153,218,124,177, 8, 27,156,155, 87,168, 54, 10, 58,150, -116,167,168,164,134,245, 52, 60,187,161, 99,117,135,214,216,210, 27,145, 40, 84,171, 19,185,105,188,195, 90, 16, 52,115, 38, 56, -177, 12,181,100,114,102,113,210, 26,115,127, 99,206,205,145,216,116, 30, 68, 80,114, 39,117, 54, 47,198, 98,106, 93, 74,177,239, -100, 16, 20,147,201,132,153,213,140, 33, 78,200, 41, 11, 17, 67,204,213,162, 32, 21,191, 24, 51,107, 85,211,208, 24,250,210, 97, - 73, 49, 61,113, 50, 82, 50,175, 70, 96,129, 23, 16,167, 78, 40, 30, 23,222,151, 69,169, 53, 0, 84, 48, 35, 22, 97,230,212,213, - 82,152,201,204,205, 93, 72,148,144, 29, 66,164,176, 65, 73, 56,194, 53, 77,230,173,134,212, 22,162, 36, 36, 18,197,164,106, 57, - 33,229, 92,106, 85,160,106, 25,211,150,164,166, 41, 5, 99, 2,213, 28,142,162,150, 71,142, 49, 64, 44, 20,188,169,230,138,101, -234,178, 52,249,140,227,212,234,218,100,154, 17,168,181,178, 20,109,182,109,157,249, 11, 15, 0,141,153,114, 16,229, 36, 67, 95, - 83,150,130,210, 96,130,106,117,168, 3, 23,114,154,247,189,169,229, 73, 50,210, 36,226,240,106,150, 9,145,159, 0,187, 27,195, - 52, 81,151, 64, 99,212,220, 45,208, 39,209, 65, 36,102, 97,104, 8, 53,187,152,141,168,171,228, 14, 90, 85,131, 43,236, 54, 22, - 20, 8, 47, 30,243,209,137, 49, 37,127,177, 93, 29, 69,129,212, 74, 77,193,214, 80, 72,203,192,153,133,244,216,181, 16, 51, 28, - 22,229, 7, 55, 29,211,235,237,149,217, 40, 65, 4,102,168, 15,234,196,130, 56,208, 9, 92,157, 65,102, 96,137,102, 68, 48,103, - 65,240, 48,228,180,151,166,197,254,138,221,192,102,230,158,104,233,230,104,253,144,216,208, 99, 57,101,118,208,234,198,102,153, -207,226,118,117,230,234,117, 51,123,240,179, 15, 25,178,125,253,198,198,249,203, 39,187,143,221,201, 86, 79,105,173,135, 59,159, - 15,195, 98,235,202,171,205,185, 13, 63,115,229, 53, 22,126,248,179,239,187,209,246,245, 27, 27,231,175, 60,191,255,133, 23, 5, -209,250,153,179, 15, 62,254,225,201,225,222,249,151, 95, 3,176,251,240,139, 59,159,127,250,149, 95,255,174,176,124,250, 55,127, - 44,147,141,107, 95,255,214, 69, 94,217,123,248,112, 62,155, 31, 62,223,125,116,255,238,205,207, 62, 59,174,229, 95, 1,156, 38, -127,240,155,191,242,221, 63,248,151,195,236,104,222, 15, 87,191,242,109,146,116,243,123,255,147,160, 47,189,243,254,133, 87,223, -121,244,217, 15,226, 48, 62,221, 56,123,235,239,254, 44,182,222,151,222,250, 5, 43,229,211,239,253, 73,202,114,249,237,247,218, -151,204, 70,150, 39,252,206, 7,127, 25,223,187,213,179,231, 47,189,249,222,241,211, 71,227,151, 48,222,232, 28, 78, 57,143,196, - 35,193, 40,126, 92, 92,170, 95,187,122,197, 76, 73, 4, 76,171, 57,247,131,101,146, 70, 91,165, 70,164,154,245, 67, 55,233,170, - 87, 33,234, 18,149,129,220,188, 22,151, 44,194,146, 88,192, 84,172, 56,121, 53, 35,131,144, 28,157, 44,212, 52, 75,226, 70,100, -166, 36, 34, 44, 89,166, 8,191,177, 91, 92, 85, 50, 39, 21,123,249,210,101,119, 41,131, 29, 31,205, 15,103, 39, 66, 88,244, 5, -230, 35,113,129,204, 81,230,243,110,115, 69, 81,157, 2, 68,101, 52,142,157,192, 78,224,214,249, 50, 59,127,229,202,241,225,254, -201,236,132, 89,152, 29,194, 83, 94, 25,234,112,250,236,217,253,253,253,211,219,103,206,236,237,157, 44,250, 39,251, 71, 73,100, - 34,157,186,129, 5,196,171,107,211,107, 87, 94,250,252,238,157,170,234, 22,214,236, 56,144, 41, 17, 27,224, 76, 57,201, 80,171, -185, 14,106, 14,155,138, 12, 41,107, 63, 4,247, 21, 12, 81,142,135, 75,202, 17, 26, 48, 51,152, 58,117,204, 28, 91, 71,130,107, -117,176,112, 85, 93,153,118,117,168, 32,102,113,152,113,180, 3,173,173, 77, 44, 37,115, 45,129,206, 3,113, 13,232,188, 59, 92, - 64, 6,133, 33,194,172, 1,217,115,117,176, 12,181,178,112,151,186, 44, 60,144, 78,166,211,161,148, 8,168,113, 78, 29, 16,186, -212,190, 46,198, 53, 13,129,148, 18,161,132, 31,137,221,140, 13, 75,127, 49,150,146,194,152, 23, 69, 50, 61,158,110,194, 53,114, -223, 70, 14, 19, 98, 48,169, 91,151,146,219,184, 79,107,124, 68, 33,119,225,152,167,162,204, 75, 78, 34,206,225, 87, 50,115,225, - 37, 91,168,197,249,164,249,166, 27,165, 48, 6,102,237,175,190,125,202,169,169, 62,218,163, 73, 15, 78,250,205,211,147, 46,103, -131, 77, 40, 11, 36, 40, 97,157,164,193,141,108,100,231,130,220,217,137, 68,152,128, 94, 32, 44, 78, 32,150, 90, 10,218,124, 57, - 44, 29, 77, 94, 10,130, 90,109,221,203,168,139, 68, 54, 16,198,121,249, 70,119,144, 91,160,155,181,102, 79,196, 4, 19,114, 74, -196, 3,185, 16, 75,203,134,138,123, 31, 23,208, 37,253, 55, 28, 29,109,106,206,173,113,108,198,173,208,234,205, 3,146, 82,178, - 98, 99, 43,205,150,168,154,113, 9, 39, 35,224,222,219, 13,146,108, 73,107,137,188,137,143,146, 57, 54, 55,134,140, 43, 21, 39, - 27,249, 60, 78, 41, 17, 56, 49, 85, 55, 35, 7, 9, 91, 44,250,140, 69, 76,221,180, 89, 3,200, 56,177, 0,228,197,226,255,167, - 29,182,199,144,123, 91,222, 54, 0, 59, 53,142, 38, 11,153, 9,155,186,179,147,185,105,248,104,252,133,218, 56,148,162,218, 32, -193,228, 32,186,252,214,215, 95,122,251,235,107,103,206,237,221,187, 77,196, 76, 60,221, 56,125,240,112, 7, 14,213,225,240,201, -189,181, 51,231,158,238, 62,250,241,143, 63,186,112,245,149,105,153,205,142,246,203,162, 63,124,124, 63,242,241, 48, 91,219, 58, -187,119,247,150, 22,211,170,251, 15,238, 78, 55,183, 2,116, 14,224,217,206,231,135,207,118,215, 54,183,119, 31,220,113,224,131, -127,248,254,195,221,189, 55,222,249, 90,121,118,127, 94,186,253,133,220,191,115,103,115,251,236,241,254,254,195, 59,159,254,248, - 71, 31,252,221,255,253,224, 7, 31,127,114, 50, 95, 48,243,127,250,163,255,254,175,255,237,191,155,156, 58,123,239,199,255, 71, - 36,111, 94,250,210,163, 79,126, 0,171,174,254,236,206,167, 27, 23, 94,102,228, 56,135, 60,189,245,177,169,186, 85,164,180,190, -125,241,201,173,127, 36, 87,237,135,189,187,159,182, 12, 26,191, 16,108,198,120,176, 91,219,184,244,229,119, 31,125,252, 97,127, -114,248,130, 84, 59,210, 48,226,220,232,177,105,247,216,156, 87, 70,173,170,211,220,177,176, 80, 60, 11, 41, 24,156, 64, 60, 80, - 98,220,111,153, 19, 32,230,148, 56, 41, 96,238,197, 44,214, 62,145,207,170,165, 16,197,141,146, 84,245,112,118,220,236,132,163, - 71, 28,106,129, 72, 92, 90, 45, 98, 7, 41, 73, 54, 55,214, 47, 94, 62,231,174, 67, 41,251,135,135, 39,199, 51, 55,235,135,222, -225,137, 8,228, 10,192,108, 49, 91,180,103,232, 72, 74, 26,139, 12, 99,235,139,209,120, 38, 66,103, 47, 94,130, 57, 17,152,133, -140,221, 49,157,174,184,250,198,198,198,243,189,253,139, 23,207, 93, 58,115,122,109, 58,237,251, 65, 81, 45,102, 74,100, 48,121, -249,210,229,205,141, 77,175, 85, 82, 64,131, 95, 44, 22,133,224, 26, 28, 67,164,148, 2,184, 10,162, 83,211,105,226, 22,224,173, - 69,227,158, 20, 95,224,232,254,249,168, 67, 12,159, 42, 19,178,164,168,161, 85,115,141, 93,171, 85,150, 20,174, 68, 10,248, 21, -144,152,146,163, 19, 14,213, 25, 51, 27,172, 86, 53, 67, 13,128,223, 11,222, 80,139,195,131,131,117, 27,136, 18, 59,153,247,137, - 89,171,166,196,153,216,220,171,234,184,133, 13, 6, 30,123,181, 81,196, 65, 13, 5, 60, 30,156, 28, 68, 2,115,173,117,112,179, -255,239, 35,135, 86, 65, 97,138,104, 14,178, 8,220, 23,253, 80, 84, 3,199,202, 66, 20,108, 3, 34, 23,164, 36, 36, 18,151, 72, -225, 88,241,210, 8, 62,104,216,113,107,110,216, 40,187, 24, 17,115,148,175,194,177, 97,206,204,146, 36, 39, 97,145, 49, 28, 68, -141, 21, 65, 16, 73,237,197,204,228,110,213,253,164, 95,112, 68,157, 2,137, 58, 70, 56,105, 92,202, 10, 39,133, 51, 81, 78, 57, -119,194,224,196,156,146, 56, 19,145, 51,216, 65, 70,196,112,102, 74, 52, 46, 61,199,177,168,171,151, 18,221, 94,211, 22,120,228, - 20,193,202,246,217,228,212, 12, 54, 73,225, 90,171, 80,106, 98, 57,225, 49, 63,206,254, 79,250,139,222,100, 9,141, 64,210,194, -217,214,162,163,211,156, 25,148, 4, 76, 78, 4,181,229, 52, 59,250,171,213, 81,199,230,163,171,153,143,167,120, 98,226,204, 32, - 50,173, 49,208, 20,230,148, 69, 82, 2, 19, 56, 80, 75, 20, 15, 88,130, 16,199,124,206,199,181,139,131, 9,228, 68, 78,209, 16, -101,176,128, 40, 17, 73,117, 99, 24,196,226, 21,160,222,126,211,230,153, 4,133, 86,208, 70,202, 0, 1,110, 21,174,213, 76,205, - 75,109,117, 86,114,164, 37,197, 61,142,219,227,101, 46,197,167,228,254, 79, 62,224, 60, 61,123,245,218,218,153,237,195,199,247, - 37,103, 0,181,244, 4,164,212,145, 17, 49,223,125,240,232,231,190,246,117, 0,243,147, 99,175, 14,129,246,125, 92,254, 72, 4, - 68,231, 94,123,139,150,156, 35, 80, 85, 8, 10,220, 9,137,200, 31,223,250,228,254,147,221, 27,239,253,218,230,153,211,111,191, -121, 3,192,238,243,133, 76,214,114,199,139,195,163,148,211,103, 55,127,242,217,173, 47,190,184,183,179,251,108,127,123,107,243, -159,253,218, 47,186,251,167,127,241, 71,165,214,240, 2, 77,214, 54,136,232,245,111,255,206, 50,173,222,160,129,238,112,175, 67, - 31,203,144, 73, 94, 1, 80, 23,179,248,111,202, 98,214,230,209,227, 2, 58, 94,243,156,243, 75,239,124,107,239,206, 39, 39,207, - 30,241,216,238, 86, 53,144, 37,138,213,230,200,192, 67, 52,173, 91,159,162, 47, 11,117,154, 76,186,201,180,227, 36, 90,171,135, - 8,170,177,140,204,220, 76,181,203,169,148,162, 86, 1, 38,112, 53,171,117,112, 55, 17,113,231, 68, 92,251,154,114,118, 51,144, -151, 90,231,125, 77,241, 33, 7,133,192,110, 17,245, 30,130,145, 27,116,154,115, 41,133,128,190,212, 47, 93,185,116,118,107,187, -106,237,251,147,195,217,201,224,170,106,195, 80, 9, 28,135, 16, 1,140,105,168, 53,218, 12, 35, 93,174, 85,147,209,254, 52, 99, - 33, 82,221, 29,155,219,219,167,158,238, 30,237, 63,231,148, 2, 10,158, 58,211,154, 87, 38, 19, 29,106,183, 50, 93,223, 56,188, - 90,206,220,188,255,104, 24,116,210,137,153,119,146, 6,171,224,233,181,203, 47,237,237,237,185,123,199, 60,184,122, 72, 48,137, - 4, 24,138, 50, 81,151,100, 81,123,118, 36,102, 0,211, 46,207,250, 92,181,186, 75, 63, 12, 75,173, 51,168, 83,107, 95, 95, 18, - 14,243, 73,230,228,110,210,117, 54,215, 1, 69, 32,174,112, 40, 67,200, 17, 99,147,120, 49,114,128, 3,201, 73, 50,218, 67,217, - 83, 78,165,212,106, 21,205, 14, 78,129, 16,169, 77, 69,225, 20, 52, 75,230, 90,171,154, 78,114, 22, 22, 7, 74,141, 49,133, 59, -160,110,211, 73,215, 15,131,176, 20, 84,180,129, 82, 0,246, 96, 24, 99, 91,161,100, 24,107,210, 54, 22, 79, 98, 94, 97, 14, 51, - 18, 97, 33,174,108, 45,109,215, 58,119,200,157,152,107,169,224,248, 86, 18,194,164,154,136, 42,145, 3,106, 22,184,158,150, 17, -106,169,204,182, 68, 26,161, 0,225,237,203, 21,128, 15,129,108,200, 12,145,156, 18, 23,109, 25, 35, 25, 25,179,225, 58,111, 24, -108, 55,134,228,196, 90, 2,114,201,177, 8,241, 6, 38,111,200,125,114, 90,233,186, 69, 25,130,186,150,145,226, 77,144,146, 68, -118,136, 96, 76,172,230, 36, 2, 72,219,108, 70, 92,128, 27,199,133,163,118,167,142, 22,168,141,179, 46,177, 72,163,181,164,248, - 71,154, 72, 42,186, 64, 83,211,166,246, 10, 24, 97, 43, 54, 34, 36,150,219,116,119,173,110,205,109, 17,161,169,234,135, 39,179, -227,197,124, 53,183,201,223, 48,148,220, 9,179,104, 53,109, 78,129, 54,131, 33, 3, 51,143, 77,165, 0,106, 58, 49, 3,185,153, -224, 3,202, 76,236, 16, 1, 85, 12, 4,114, 50,114,210, 90, 57,181, 67,162,153, 69,144,156,132,152,217, 6, 68,194,220,133, 73, -131, 51,238, 81, 17,104,155,249,144,115, 54, 83,233,242,110,217,202,164,161,142,161,198, 30,112,114, 35, 18, 33,246, 6,215,183, -212,238, 47,238,204, 65, 34,139,208,126,109,156, 15, 34,171,253,254,253,157, 11,111,188,117,252,244,145, 85, 5, 32,121,194,204, - 58,148, 91,159,223,124,235,220,197,119,127,254, 23,212,122, 0,144,228,117,161,197, 38,107,235, 0,218, 60,203,253,206, 71,255, -187, 12, 11, 56,109,110, 95, 44,253, 81,233,135,141,203, 87, 0,236,222,191,253, 96,231,206,103, 95,220,222,216, 58, 7,162,183, - 95,123,253,184, 39, 0,107, 91, 23,188, 14,243,217,145,215,197,209,225,193,223,127,248,209,163,167, 79, 79, 78,250,215, 94,185, -250,251,191,253,157, 11,151, 47, 3,168,218, 34,165, 0,106, 25,224,126,243,123,127,172,165,182,156, 0,165, 23, 9,180,248,158, -160,148,161, 7,144, 39,147, 97,177, 96, 80,234,166,109,163, 97, 99,234,223, 65,196, 47,189,243,222,236,249,238,254,189, 91,161, -119,108,188,206,182,210,139, 4,191, 69,171,209,212, 68, 8,222,114,108,101, 81,220,209,177,148,190,248, 6,136, 69, 0, 17, 82, -245,162, 53, 80, 32,206,241,208,112, 1, 15, 69,173, 86, 51, 79, 41,157, 59,189,149,136,221, 2, 6,106,178,188, 86,153,214,210, - 3,150, 40, 1, 12,102,226, 68, 52,196, 95, 42, 19, 76,221,204,170,105,246, 4,171,215,175, 92, 91, 89,157,206,231,253,209,209, -241,241,241, 12,230,243, 97, 40,165,178,192,205, 72,146, 3,166,182, 24, 6,145,132, 17,222, 63,226, 76, 51,226, 70, 16, 45, 6, - 82,206,228, 10,130,159,187,248,210,241,193,222, 40,224, 32,225,156, 58,237, 86,214,207,109,108, 60,188,187,179,125,102,211, 21, -167,159,175,238,159,156, 16, 81, 74,132,156,115, 78, 90,202,133,237,179, 47, 93,188,120,231,209, 67,201, 29,233,130, 19, 80, 16, -222, 62, 34, 54,119,181, 74,192,202,218, 52, 29,114, 45,234,132,245,201,116,239,224, 80, 58,142,136,251,164,235, 98,244, 44,173, - 11,222,108, 65,226,172,104,155,224,201, 36, 67,169,198, 55,207, 68,164, 99, 65, 29,220, 44, 40,226, 2,138, 95, 1,153,168, 48, -147, 6,142,184, 29,157,115,142,167,139, 19,143,181,120,139,195,155,103,183, 64,200,134, 26,144,133, 84,105, 49, 44,144,115,203, - 10,155, 69,238,175,241, 24, 91,149,129,156,205,161, 68, 18,139, 57, 30,207,240,214, 30,248,206,224, 26, 79, 33, 39, 38,151, 64, - 2, 19,139,112,169, 53, 9,135, 75,183,155,164, 36,105, 96, 99, 30, 60,161, 21, 23,221,171,150, 85, 73, 24, 89, 98, 24,143,168, -113, 76,163, 81,204, 19,139, 5, 10, 36, 51,211,160, 85, 3,108,239,225, 45,103, 35,171, 6,141, 13,173,136, 17, 89, 41, 32,178, -198, 76,112,152, 83,131,137,114,215,101, 98, 34,166,162, 53, 94, 93, 17,115, 84,243,145,107, 27, 63, 37, 6, 81,238,196, 65,165, -184,194, 89, 90, 21,223,153, 4,174,174,195,208, 87, 97, 48,197,214,186, 13,157, 90, 96,151, 52, 4,167, 74,110, 32,246,196,194, -160, 44, 41, 94, 15, 72, 96, 35,102, 6, 39,182, 33, 66,237, 49,187,206, 76,148, 98,249,171, 8, 84, 79, 4, 9, 35,232,231,100, -193,153, 12, 12,164,214, 97, 88, 12,253,124,163, 91,101,146, 30, 62,237, 50, 49,169,247,222,210, 55,117,244, 46, 17, 64,106, 53, -132,104,204, 75,118,104,124, 34,117, 68,121,198,101, 95, 99,244,207,146,221,138,185, 17, 59,129, 85, 67,116,211,100,163,109,108, -165, 74, 41, 53,157,173,131,136,212,148,153,221,188, 33,240,165,121, 4,227,120, 96, 53,222, 34,237,160, 16,204, 5, 31, 61,102, - 4, 97,103,173,149, 70, 27, 31,143, 15,126,127,193,245,105, 20, 63, 26,245, 82, 86,203,162,159, 29,175,159,189, 96,166,253,241, -193,233, 75, 87,119, 31, 61,248,232,163,127,120,243,221, 95,228,210,215, 97,110,165, 46,142,246, 79, 95,186, 26,139,221,141, 11, - 87, 66, 42, 93,171, 30,238, 62, 56,127,253, 70, 74,147,245,237,243,253, 48,211,180,182,185,189,125,116,240,220,129, 31,126,244, -225,143,127,246,201,217,179,219,239,191,251, 77, 0,123, 11,112,119,250, 96,111,239,218,235,215,247,159, 61,190,127,251,214,229, -215,191,252,151,255,235, 79,239, 60,124, 48,201,242,187,191,250,238,191,249, 23,191,189,177,113,106, 40,218,206,232, 45,237, 67, - 90, 22, 7,143,118, 46,190,254,181,212,117,196,158,167, 43,107, 91,219,203, 31,119, 8, 96, 88,196,181, 30, 63,125,180,253,234, -219, 68,196, 93, 58,123,237,141,104,208,140,215,104, 39,166,139, 95,254,186,171, 62,249,244, 7, 17,187, 88,158, 9, 34, 65, 63, -226,152, 91,108,156,154, 44,186,245, 9,107, 85, 73,126, 56, 63,158,116,121, 66, 32,161,201,100, 34,228,197,117,168,218, 9,215, - 65,217,201, 92, 99, 4,198, 17,155,114, 75, 41, 49,131, 19, 17, 92,132,205,106,169,218, 34, 76,194,106, 77,172, 21,252,251, 40, -146,120,176,162,140, 22, 67, 95, 77,227, 64, 55,201,221,155,175, 94, 7,177,171,206,142, 23,139, 50, 24,124, 62, 91, 88, 27, 16, -202,133,243,219,193, 84, 95,244, 3,200, 97,214,118, 58, 44, 36,105, 4,175,142, 40, 30,130,103, 10, 78,233,169, 51,167, 55,206, -156, 43, 67, 15, 87, 34,135,115,226,220,117, 43, 86,212,170,150,161,156, 62,189,250,234,165,115,234, 58, 91, 44,200, 77,107,117, -162, 73,206, 41,175,188,241,202,245,213,149,213,150, 97, 50, 48, 32,137, 43, 60, 39,201,147,172, 14, 32,245,125,141,189, 92, 25, - 10, 51, 72, 48,159, 47,218, 67, 83,152,163, 73,199, 33,123, 14,148,181,240,216,251, 87, 83, 99, 48,113, 34,166, 4,168, 41,148, - 52, 50,109,238, 78,146,220, 44,222, 90,108, 20,183,231,198,253,243,198,139,106, 97,168,120,191,178, 59, 4, 66, 16, 32, 18,118, - 41,115, 18,137, 99,128, 90,220, 26,137, 73, 82,202, 78, 16,150,145, 61, 16, 40,100,103, 33, 82, 66, 76,182, 93,226, 65,232, 35, - 95, 98,168, 53, 34, 34, 60, 22,196, 35, 88, 1,135,217, 16,211,232,182,121,115,196,201, 20,174,209,186, 33,146, 86,185, 67, 76, -114,199,112, 97,100,247,154, 16,187,197,203,189,185, 13, 90,192,200,172, 84,173, 49,123,143,164, 82, 18,201, 62,134, 90, 70,105, -160,155, 58, 32,110, 18, 71,234, 20, 15,134, 72, 67,186, 6,206, 49,142,176,194,228,109, 4, 31, 31,153,217,201, 28,106, 57, 37, - 38,170,238,170, 26,241, 44,173,234,225,105,113,103, 64, 72, 0, 4,162,163,101,184, 26, 93,141, 84, 45,206,164,210, 86, 98, 80, -184, 58, 17, 83, 98,129, 59, 11, 17,168,154, 82, 24, 13, 41, 33, 68,190, 41,182,151, 68, 16, 18, 34, 73,203, 25,122, 91, 58,153, -153, 5, 52,222, 77,117,252, 78,240,218,202,250,114,213,200, 44, 16,105,157,225,246,164,110,211, 58, 48, 0, 14, 97,114,236, 4, - 2, 80,229, 94, 27,207,135, 25, 96,183,208, 47, 42,136,204,106, 28,175,193,130, 22,196, 36, 0,166,241,111,155,110,144,224,100, -206, 65,183, 38,119,183, 90,171,169,141, 63, 25,112,102,118,137,209, 59, 75,171,116, 45, 81, 69, 17,224,112,180, 1,168,123,137, -143,178, 26, 96,158,124,105,247,110, 35, 94,110, 41, 85,140, 13,105, 18,184,159,236, 61,221,186,124,181, 63, 58,218,249,228,199, -107,219,151,223,252,246,175,191,253, 75,212, 31,238, 63,219,249,220,212,136,229,249,221,207,183,174,190,250,242,215,223,175,125, -191,255,112,167, 91, 63,101,170,238,122,239,103, 63,184,124,227,171,215,223,251,101,150,164,101,120,186,243,197, 23, 63,252,251, -167,135,199,215,191,246,254,108, 62,188,255,238, 55, 78,159, 90,159, 87, 3,176,178,113,174,155,116,159,255,240, 71,231,175, 93, -253,165,239,254,243, 90,203, 95,255,249,159,255,199, 63,252,195,175,188,241,165,223,120,255,155, 23,206,157,233,135, 82,172,202, -116,153, 99, 12,160,184, 19,232,254, 79,255,254,226,141,111,188,250,254,111,179, 72,237, 23,123, 59,159,158, 60,123,216, 38,182, -113, 33,162, 10,200,195,159,125,255,242, 91,223,124,227, 87,190, 91,251,217,222,206,231,211,141,173,198,116, 24,113,218,167, 46, - 92,113,179, 87,127,233,187,241,199,223,187,123,243,249,221,155,203, 50,113,244,139,162,147, 22,229,247, 8,177, 4,146,233,100, -190,200, 41,151, 1, 41,119, 16, 33,224,204,230, 86,215, 65, 21,196,220, 54,180,109,152,171,166,213, 56,170, 41,180, 50,233,102, - 39,135,174, 43, 21, 78, 32, 53, 23,115,176,168, 41, 49,177, 16, 12,212,113,240,179,101,220,212,115, 48,235, 61,202,138, 92,180, - 76, 39,147,203,151, 47,186,121,169,229,164,159, 47,250,222,204,231,139, 69, 12, 84, 25,126,176,127,192, 76,110, 24, 6,141, 15, -220, 72,161,104, 1,181,216, 22, 5,183,136,148,189,143,232, 57,193,236,194, 75, 87, 78,142, 15,181, 22,162,196, 73,136,121, 50, -157,214,186, 56,119,249,210,179,221,167,147, 73,222,216, 44,175, 95,190,120,243,238,227,126, 88,172,173,159, 34, 80, 39,137, 72, - 79,157,222,124,237,218,203,183,110,223,141,224, 17, 66,113, 76, 73, 29,193, 96,139,190, 99,252, 88, 34,157,184, 54,153,150, 50, -171,142, 97,168, 2,234,171,166,228, 68, 2, 11,204,122, 92,152, 68,136, 84, 0, 70,240,171, 34, 96, 80,220,146, 41,117, 73,135, - 32,163,183,229, 4,161,153,124,204,220,130, 19,239,144,148,100, 32, 8,215, 90,115, 74,110,181, 85,249,154,236, 38,181,248,104, - 12,149, 99,232,105,190, 58,233, 74, 81,117,133,138, 72, 42,181,154,153, 86, 13, 18, 1,153, 36, 22, 35, 31,223, 35, 45,114, 11, - 98, 51,235, 68, 82, 27,117, 71,189,205, 99, 31,199, 52, 66,250, 0,105,199,177,224, 62, 33,108, 67,196, 52,250,234, 9, 68, 41, - 37,117,184,154,112,200,206, 42,136, 2, 66, 91,212, 90, 57,158, 95,184, 65,199,139, 66,112,216,199, 1,131,153,176,180,211,138, -141, 54,244, 86, 49,133, 75,195, 25,117, 41,141,191, 34,185, 69, 9,147,189, 61,135,109, 73,104,138, 73,164,116,185,246,125,152, - 14,172, 33,234, 3, 20,132, 49, 79,205, 68, 96,225, 23,231,167, 38,130,107, 68,132,134, 56,105,227,166,120, 73, 26, 70, 76, 49, - 49, 9, 81,151,146,170, 18, 25, 16,164, 70,143,211, 82,116,123, 9,137, 66, 87, 31,207,189,182, 9,227,208, 37, 22, 84, 0,194, - 76,204, 33, 91,105, 75,139,160,117,186, 85,167, 48,173,199,224,220, 3,192,197, 60, 42,172,221, 28,166, 62,174,175, 91,126,166, -189, 32, 89,220,219,133, 36, 86,179, 60,126,195,136,201,213, 34,120, 4,114,115, 99, 97, 19,113, 32,212,136,161,118, 0,165,112, - 53, 5, 26,158, 60,164, 54, 77,132,222,248,148,176, 80,223, 26, 49, 92,163, 60,209, 46,227, 97,172, 80,103,118,119, 79,173,137, -211,184,219, 99,236,207,189, 14,253,189,159,124,127,196,133, 81,127,112,176, 55, 12,159,253,244,163, 59,183,111,189,243,205,239, -228,197,124, 24,230,230, 81,228,133,187,149,126,241,240,227, 31,170, 86,184,173,156, 62,163,125, 95,106, 61,125,118,251,193,206, -103,183,126,244,193,217,237,211, 71,123, 7,125,153,237, 61,126,252,143, 31,127,114, 50,171,248, 15,255,254,189,111,188, 89,157, -247,251,156,147,124,244, 87,223, 19,242,167,143,238,221,251,226,211,219,255,245,254,189, 71,143,159, 28, 28,108,174,173,254,193, -119,127,227,171,111,190,106,138,121, 25,224, 32,150, 50, 63,252,201,159,252,231,102,150,106, 18,100,114,215,135, 31,127,255,209, -205, 15,199,118,151,131,104, 56,126,254,147, 63,251, 47, 2, 33, 50,115, 6, 72,251,114,247,163,191, 29,229, 60,216,223,249,156, -128,225,248,232,230, 95,253, 81,128,252, 62,249,139,255, 6, 2,115,114, 55,152, 82, 88, 32, 90,188,110,188, 29,191, 0,121,182, -174, 81,116,109,250,126, 96, 78,211,149,116,170, 42, 85, 85,179,195,147,227,203,211, 51,193, 15,138, 43, 86,213, 42,108,139, 69, -169,181,210,164,235,251,162,196,235, 43,147,231, 7,213, 65,181, 70, 0, 32,209,120,127, 38,103,146,228, 4,129, 65, 36,116, 0, - 35, 59,200, 18,226, 68,236,211, 46, 31,157,204, 94,190,112,113,235,244, 86,169, 54, 59, 58,217,127,190,223,247, 37,178,101, 52, -186,232,135, 90, 87, 87,166, 46,172, 86,151,132,161, 38,161,110,252, 33,113, 15,174, 0,135,183, 56, 62, 16,234, 88, 89, 93, 59, -179,125,254,209,189, 59,121,146, 97, 68,156,172,106,206,147, 90,135,173,115, 91,183, 62,185,181,214,229,107,151,206, 63, 63,153, - 63, 63, 58,153, 84,235, 18, 83,146, 9, 39,131,191,254,202, 43,251,207, 15,119, 30, 60, 72, 57, 49,216, 25, 73,152,133,135,161, -182, 61,113, 85, 8,133,102,152,133,215, 86,167,197,181,239,135, 65,121,168,133,136,125, 84,101, 4,206,148, 5,194, 12, 98,152, - 6, 19,187,168, 59, 69,126, 48, 38,239,112,144,144,120, 99, 21, 54, 22, 58, 51,197, 89,146, 40, 94,104, 81,108, 33,115,165,160, -142,152, 6,241,207, 91,219, 68, 64,168,104,176, 72, 54,113, 87, 6,171,151,140,140,145,102,105,106, 6, 87,173, 76, 46,137, 60, -202,180,164,129,125,229,176,144,197,153, 58,204, 44, 3,121, 99, 27,143, 17, 46, 71,102, 25,172,142, 72, 50,128,194,170,161,220, - 56,166, 81, 71, 50,192,152, 5,134,156,185,103,247,232, 49, 49,147, 67, 93,217,157, 71,130, 91, 28, 64,150,243,133, 64,201,197, - 33,175,129,100,131, 66, 79,237, 32, 52,174,218,131, 19,140, 68, 92,200, 96,206, 32,173, 37, 75,138, 20, 35, 9,199,100, 88, 70, - 50, 24, 51,192,232,144, 72,196,107, 37,131, 51,132,152, 25,165, 22,170,141,142,101, 60, 70, 2,153,114, 74,110, 24, 34, 14, 28, - 1, 75,129,215,200,143,195,105,132, 32, 6, 72,134,217, 85,251, 90, 88,132,205, 19, 19,152, 77, 85, 56, 85, 12, 68, 20,245,197, -102,100,116,175, 26, 36,151,198, 34, 30, 19,112, 78,209,244,118, 11,204, 67,252,189, 16,145, 80,106,169,209,241,108, 93,130, 33, -175, 30, 49, 82,107,206,177, 38, 9, 51,107, 20, 29, 39,114, 48, 3,213,156, 65, 28,104, 48,150, 32,196,185, 27, 80,199,118,141, - 71,165,195,105,132,158, 8,195, 93,132,212, 28, 78, 70,177, 28,111,246,152,240,109,140, 18, 50,114,119, 23, 19,106,221,127,201, - 89,107, 13,133,160,186,152, 43,183,135,161,112,100,122, 89, 35, 92,155,162,130,218, 18,159, 34, 36,113,180,105, 89,145,230, 13, - 21, 57, 56, 56,248,236, 31,254,118,178,117,238, 87,127,231,247,178,247,243,254,164,197, 45,178, 16, 92,135, 66,221, 36, 73,210, -147, 99,202,221,217,171,175, 29,237,237,110,158,191,180,255,108,119,101,243,194,233,173, 51,143,119,110, 61,127,242,232,225,131, -251,159,221,190,119,230,204,217,239,188,255,250,116, 50,157,171, 88, 62, 61, 93, 93,101,161,195,103,143,158, 62,121,112,239,222, -189,187,247, 31,223,125,252,104,177, 40, 63,255,230,245,223,252,206, 47,156,221,218, 90, 28,247,222,206,154, 2, 88,160,142,208, - 20, 23,225,163, 98, 71, 6,212,181, 18,103,247,138, 86, 63,102,110,212,132,224,220,136,107,117, 66,124,156,199,201,165,183,108, - 90, 67,101, 7,206, 63, 10, 0,210, 46,240,141,237, 23, 71, 48,103,137,123, 55,198, 95,220,227,240,127,112,120,204, 73,146,105, - 74,105, 24, 6, 55,215, 82,224,158, 88, 82,115,248,197, 73, 44, 13,117, 14, 38,175,186,127, 56, 35,243,148, 36,115,102, 98,120, - 77,194, 91,155,167,142,143,103,214,156, 69,198,209,180,178,246,187,165,166, 42, 4, 88, 0, 75,145,240, 51,152,234,229,203, 23, - 87, 86, 86, 13, 86,181, 28,158,204, 13, 40, 67,169,110, 81, 98, 25, 67, 0,142, 90,251, 82,252,133, 75,156,150,233,156,118,138, -179,118,228,140,152,138,143,193,177, 51,103,183,159,239, 62,209, 58, 64, 38, 57,101,115,168,100,114, 76,186,233,230,214,230, 52, -167,167, 79,159,191,122,233,252, 79,251, 7,125, 63,155,166, 83, 0,166, 43,211,162, 53,165,252,229, 55,222,120,182,255,172, 31, - 10,187, 73, 27,173, 17, 51,101,206, 65,197,142,179,237,250,164, 59, 56, 89, 36,145, 51, 27, 27, 7,135,199, 60,232,104, 30,183, -209, 59, 17, 0, 36,214, 80, 15, 3, 9, 94,204,132,161,106, 32,114, 50,226, 36, 76,113, 88, 34,132,190,131, 36, 22,156,113,148, -174,198, 34, 78, 12,211,208,217, 4,164,181, 77, 27,150,214,178, 70,136, 33, 50,168,169,116, 68,201, 93,173,175, 37,166, 88,169, - 75,165,239, 23,195, 16, 10,100, 87,175, 14, 46, 90, 59, 13, 96, 31,141,177, 36, 22,104, 29, 5,196,106,129,123,137,103, 36, 76, -201,101, 50, 73, 66, 60,104,227, 14, 6,110,207,212, 74,210,118, 2,108, 58, 31, 3,132, 29, 39,139,121,150,245,204, 89,109,201, -161,164, 6,140,165,118, 60,133,153, 91, 20,244,219,143,174,253, 25,153,200,156,140, 40,145,144,164, 44, 96,141, 91, 74, 43,166, - 34,120, 62,198, 68, 41,117, 97,174, 10, 26, 98,230,128, 49, 40, 51, 13,145,183,246,134,253, 77, 83, 78,146, 74,173, 96, 23,201, -170, 10, 71,102, 57,172, 1, 67,179, 48, 2,198, 71,177, 47, 26, 78, 15, 52,213,219,178,139,132,198,117,111, 51, 39, 0, 16,145, - 36,169,203,169,168, 66,220,137,166, 41,153, 54, 44, 0,128,148, 40,107,106,140,123,119,175, 65,139,107,208,194,241,255, 81, 68, -168, 90,208,226,136,152, 29, 72, 57,149,170,213, 12,170, 64,141,207,201, 32, 60,159,205, 35, 10, 80,204, 18,231,150,217, 82, 39, -130,113,139, 75, 80,188, 66,194,221, 22,170,119,230,112, 49, 47,145, 24, 34,174,234,106, 42, 17,221,105,187,126,107,169, 74,144, -228,228,181,214,170, 13,211,219,128,100,205, 28,191, 20,242, 5, 60, 76, 3,101, 70, 74, 53, 80,239,205,221, 42,206,106, 42,204, - 62, 86,246,169,165,130,145, 26, 98, 45,238, 38,203,219,145, 53,205,101,151,167,243,197,252,167, 63,248,160, 31,252,250, 91, 95, -189,120,110,187,214,210, 43,218,202, 37,248, 12,222,238, 71, 23,222,120, 71,114,231,102,179,231,187,183,127,250,209,116,101,117, -232, 23,171, 43,107, 95,252,228, 43,248,243,154, 0, 0, 8,156, 73, 68, 65, 84,195, 71,143, 30,126,126,235,206,188,214,175,190, -125,227,242,249,237,234,124,100, 43, 41,175,117, 93,118,235,247,246,158, 62,188,127,231,222,189, 71,183,118,118,238,237, 62,189, -112,118,235,247,127,247, 59, 95,190,254,178, 57,205,102, 71, 96,176, 79, 70,170,148, 47,151,108,228, 62, 54,115, 26,157,147, 44, -156, 39, 13,187,227, 80,166, 73, 43,237,186,155, 13, 8,225, 88,179,132,155,105,184,191,157, 44, 57,233,152,160, 82, 11, 94, 68, -219, 68, 52, 74,112,220, 42,151,131,194,224, 50,196, 87, 49,250,109,243,249,176, 58, 93,113,232,238,243, 67,214,128, 16,176, 48, -159, 44,230,107,235,171,153,211,188, 95, 12,181, 6, 76, 99,194,220,247,243,121, 25,114, 74, 73,186, 73, 55, 97, 66, 53, 53,245, -149,233,202,124,182, 48, 51,211, 90, 77, 39, 35, 47, 9,238,137,216,200, 61,234,195, 14, 85, 45, 42, 29, 11, 17,117,147,201,181, -171, 87,136, 65,213,251,190, 63,156,157,152,217,188,159, 91,160, 6,199,101,133,177,131,169,246,125, 59,228, 97,201, 98, 90,110, - 43,146,179, 3,234, 49, 53,136,109, 28, 1,238,221,250,250,230,214,153,199, 15,239,117,156,107,109,176,214,201,116,117, 49, 63, -217, 62,127,238,217,147, 39,167,183, 54,119,251,221,139, 91, 27,119,118,159,205,250,197, 70,183, 66, 66, 19,238, 22,165, 92,185, -116,229,198,171,111,252,232, 31,127,234, 34, 0,245,165,108, 76, 38,166,150,196, 93, 48, 12,101,222,151,193,117,139,166, 73,104, -190,232, 39,171, 43, 27,235,171,245,240,100, 88, 12, 97, 12,119,247,190, 12,113, 10, 13, 34,183, 99,156,116,142, 56,120,143,221, -107, 41,121,210,113, 76, 26, 97,238, 45,176,204, 49,100,112,113, 40,212,147, 67, 99,130, 65,148, 57,113,252,156, 57, 6, 58, 75, - 96, 55,194,188, 56, 91,244, 96, 89,235,152, 76, 8,112, 87, 51,114,243, 82, 43,136, 84,181, 86,173, 33,231, 38,117, 64,173,146, - 1,169,201,231,196, 56, 42,114,177, 0, 0,180,233,225,188,101, 92,114, 74, 85,151,162,122, 52,225, 9, 32, 76,137, 18, 24, 49, -116,137,246,103, 52,245, 85,235, 8,140,142,216, 30, 73,130,169,215,106, 17,206,116, 2, 39,193, 64,158, 64, 64,158,228,113, 8, -221,214,127, 65,110,169,213,205,200,152,196, 25,170, 17, 0, 34,137,236, 24, 98, 12, 83, 53, 30,107, 17,174, 55, 13,224,170,107, -244, 42,221,145,136, 37,177,187,197,201,134,217, 20,110,234, 43,147, 28,238,202, 86, 89,111, 79,154,104,168, 81, 69,107, 99,142, -121,161,118,115, 49, 51,112,128,229, 65,236,166, 90,147, 8, 51,218, 97, 20,234,193,106, 79,210, 15,230,241, 66,106, 41,244,192, -229,147,139,193, 57, 46, 49,241,163, 96, 78, 34, 67,173,204,108, 49,134, 12, 6, 60,188, 22, 99, 43, 49, 69,119, 51, 55, 47,102, - 76,210,142,244,112,243, 81,126,180, 4, 85,142, 51,153,165,152,172, 25, 90,219,213,175,137,145, 53,140, 89,204,110,227,226,187, - 82,100,106, 99, 90, 91,180,152, 6,114,180,169, 83,213, 77,173,198, 60, 61,196,200,241, 98, 86, 0,213, 56, 17,131, 92,141,164, - 41, 5, 56,158, 77,202, 32,130,151,246, 27, 73,188, 45,144, 90, 74,159,154,230,111,185,195, 78, 57, 17,248,246,167, 63,187,179, -179,115,249,229, 87,190,113,227, 70,173,253,124, 49,151,148,184,155, 80, 69,117,135,215, 88, 86,104,173, 39, 79,238, 31, 63,219, -157,174, 76, 14, 14, 15, 57,229, 73,110,130,191,231,143,119, 62,254,228,230,206,131, 39,151, 46,156,251,246,235,215,114,226, 89, - 97,205,167,243,100, 53,179,159,156, 28, 28,238, 61,185,115,247,238,237,187,247,110,221,127, 52,235, 23,239,127,229,203,191,243, -171,239,173,175,175,149,197, 0,102,131, 91,165,148, 45,130,187,129,229,106,163,133, 23,214, 98, 29,189, 36, 68,174, 4, 5,139, -123, 2,200, 92,185,193,166,157, 96, 49, 91,140,178, 0, 17,113,146, 17,208,163, 24,201,181, 16,110,232, 16, 10,243,120, 3,238, -216, 40, 86, 48,179,145,136,194, 60, 30,241,224,126,178,152,119,147, 73,223, 47,200,209,137,232,164, 75, 89, 42,212,205,230,179, - 69, 62,179,237,238,205,201, 64,204,174, 7,243, 69,104,198,132,169, 47,139,117, 94, 67, 43,203, 72,206,146,153,247, 79, 74,169, - 53, 5,251,134, 9,238,149, 91, 85, 46,181,241, 51, 17,144, 37,131,124,117, 58,185,114,225,162, 86,168,149,253,131,253,217, 98, - 97,102,181,212, 49, 71,180, 12,137, 1,224,197, 48, 31, 85, 73,241, 21,214,229, 27,190,121,115,149,169,115, 36,248,162,173, 96, -227,173,120,238,165, 43,207,159, 62,113,114,102,192,157, 57,165,233,116,226,245,248, 96,191, 46, 22,167,206,157, 91, 61,181,182, -237,120,122,120,188,176, 90,181,244, 53,173, 79, 38, 43,220,169,251,141,215, 94,223,185,127,127,247,249, 62,179,176,136, 72,118, - 31, 74, 25, 68,114,202, 44, 32, 53,127, 54,155, 79,146,172, 77, 39,139,170, 29,115, 74,236, 68,149, 52,187, 56,172,147, 28,141, - 70,142, 26,104,212, 63,226,113,108,177, 38, 8, 56,159, 21, 53, 34, 98, 39, 35,114, 98,131, 10,195,137, 52, 16,154, 36,181, 86, - 16, 18,167, 34,201, 2,141, 47,156,146,212,226, 74, 22, 29,206, 16, 7,179,155,185, 50,185, 89, 45,166,102,117,101,186, 82,230, -138, 68,139,190, 23,150, 69, 25,138, 22, 39,147, 80,100,190, 96,113, 53,195, 96,116,148,212, 61, 59, 37, 22, 78,201, 23,101,132, -133,180, 13,160, 85,213, 90, 70,110,108,216, 72, 12,196, 57,119, 73,132, 8,169, 75, 14,157,247, 14, 18, 6,173,173,174, 74, 40, - 12,163,113,100, 10, 36, 15,255, 52, 25,185, 26, 68,192,161,181,139,164, 38, 49,179,147, 54,146, 92,144,223,168, 89, 97, 25, 28, -228, 91, 22, 88, 35,133,147, 90, 75, 4,130,226,165, 64, 28,128, 45,111, 71,202, 6, 34,111,124,139,192,198,153, 69,238,223,153, - 72, 58, 54,109, 22,241, 54,173,110,243, 28,206,146,152,201, 84,107, 59, 5,195,213, 41,108,222, 12,179,101,154, 52, 80,204, 34, - 1, 24, 16,113,173, 14,241,177, 4, 33, 68, 33, 64,135, 32,176,199,196,146, 88, 76,107,175,117,249,194, 28,189, 67,226,134, 76, - 73, 49,180, 4, 10, 67, 40,129, 76,173,186, 43, 83,106,197,150,120,135,150,202,156,156, 20,206,109,245, 30, 55,103,231, 24,175, -141,248,223,136,228, 51,189,192, 36,197,219, 57,218, 72,109, 19, 59,154, 54, 20, 68,170,206, 44,102,113,250, 10, 49,129, 49, 68, -181, 90,228, 92,204,226, 52,217,130,203,106, 66,176, 70,129, 52, 18, 6,132,199, 7,160,153,241, 72, 5,211, 26,146,239, 6,158, - 79,141,198, 28,140,177, 88, 42,229, 21, 66,189,127,111,231,254,206,206,116,245,212, 55,191,245,203,235,235, 43,139,249,113, 80, -154,172,154,152, 27, 12,163, 57, 79,235, 80,251, 69,154,174, 77,214,214,143,143, 14, 37, 79, 78,109,157, 57,122,246,120,152, 29, -124,241,249,167,159,223,222, 73,210,189,251,149, 27,219, 91,155,213,232,168,116, 60,221,156,164,206,189, 60,221,125,188,251,248, -225,157,251,247,111,221,189,255,232,217,254,217,211, 27,191,247, 91,191,252,213,183,174, 27,104, 24, 10, 73,203, 38, 38, 33,184, -142,113, 19, 90,174, 77, 98, 51, 76,206,227,138,216, 65, 9, 17,186,119,129,155,147,196,140,161, 33,224, 99,202, 99, 70, 75,251, - 76, 60,200,195, 91,235, 75, 70, 77,155,224, 7, 19, 19, 32,119,109, 15,244,246, 3,141,233,237,139,106, 50,204,157,188,239,139, -164,236,139,217,100,146, 89, 61,250,166, 9,196, 34,139,249,108,177,152, 29, 29,167, 50, 20,139,160,165,164,121, 95,219,153,209, - 12,134, 44, 73,137,163, 5, 24,229,133,162,197,153, 73,154,221, 32,102, 13,193, 17, 36,106,148,174,101,240,121,115, 99, 99,115, -115, 83, 50, 47,142,202,243,131,253,170, 86,172, 46,202, 64,198, 4, 93, 90,116,195, 10, 95,251, 1,169,245,236, 98, 14, 97, 80, -166, 68,144,101, 90,218,213, 97,113,244, 89,126, 67,104,186,190,113,233,234,181,123, 59,183,147,100, 14,176,179,214,174, 91,157, - 78,231, 87,190,244,165,157, 59,119, 55, 79,175, 39,248,171, 47, 93,248,201,237,251, 10, 63,181,182,234,206, 89,200,107,221,220, - 56,253,213,119,126,238, 79,255,230,175,212,172,203,185, 88, 13,225, 14,224, 66, 60,201,210,173,118,139,162,100,186,182, 58,173, -199,115,115, 90,201,147, 35,204,225,148, 83,170,170, 57, 11, 17,143, 39,161, 86, 19,143,153, 67, 69, 52,183, 74, 11, 73, 66,153, - 26, 56,222,213,152,205, 3,221, 8, 50, 80,230, 96, 6,135, 10,144,216,189,160,186,117, 66, 16,242,242,162,125, 14, 7,204,192, - 78, 93,158, 40,188, 31,234, 88,107, 68, 34,234,189, 82,244,107, 0,226, 84,225, 18,197, 83,143,112, 72,236, 9,149,219, 53,208, - 33, 44,146, 56,150,136, 22, 91,157,176, 20, 81,169, 53,190,152,141, 91,202,204, 36, 17, 30,141,109,190,155, 17, 88, 43, 66, 31, - 52,153, 76,180, 86,196, 66,216, 93, 88, 84,149, 69, 96, 36, 36, 5, 46, 30, 66,201, 23,241, 87, 4,196, 0, 2,243, 10, 11, 90, -161, 7,200,254,159, 36,199,199,250, 72,232,215,131,167, 70, 34,210, 15, 67, 29,124,210, 37, 2, 59,143,101,250,165,222, 0,122, -116, 50, 3,241, 16, 35, 56, 94,129,130,147,180,217, 56, 8, 76, 99,147,142, 34, 13, 19,201,194, 37,194,138, 67, 99, 62,246,239, -227,204, 25, 27, 12, 18, 8, 17,187, 83, 11,145, 0,230, 85, 3, 44,236, 89,196,220,234, 80, 16,120,140,120,195, 48,147,209, 56, -202,140, 99,186,186, 67, 85,227,189,200,227, 8,160,148,194,164, 90,157,137, 18,203, 96,166,214,140,126,188, 84, 65, 4, 7,137, -150,208,126,199, 11, 96,157,144,187, 70, 26, 42, 44, 35, 22,190, 60, 39,110,243, 0,110,111, 43,113, 87, 55,231, 68, 68, 84, 77, -205,156,184, 9, 4,221,169, 90,148,252,218,181,165, 97, 27,204, 1, 87, 55, 14,229,112, 59,227,194,221,139, 25,179,120, 88, 31, -218,205, 34,164, 97, 48, 67,102,114,248,255, 3,163,186,128,162, 44,159, 39,191, 0, 0, 0, 0, 73, 69, 78, 68,174, 66, 96,130, -}; +137, 80, + 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 1,245, 0, 0, 1, 26, 8, 6, 0, 0, 0, 8, 90,206, 70, 0, + 0, 10, 79,105, 67, 67, 80, 80,104,111,116,111,115,104,111,112, 32, 73, 67, 67, 32,112,114,111,102,105,108,101, 0, 0,120,218, +157, 83,103, 84, 83,233, 22, 61,247,222,244, 66, 75,136,128,148, 75,111, 82, 21, 8, 32, 82, 66,139,128, 20,145, 38, 42, 33, 9, + 16, 74,136, 33,161,217, 21, 81,193, 17, 69, 69, 4, 27,200,160,136, 3,142,142,128,140, 21, 81, 44, 12,138, 10,216, 7,228, 33, +162,142,131,163,136,138,202,251,225,123,163,107,214,188,247,230,205,254,181,215, 62,231,172,243,157,179,207, 7,192, 8, 12,150, + 72, 51, 81, 53,128, 12,169, 66, 30, 17,224,131,199,196,198,225,228, 46, 64,129, 10, 36,112, 0, 16, 8,179,100, 33,115,253, 35, + 1, 0,248,126, 60, 60, 43, 34,192, 7,190, 0, 1,120,211, 11, 8, 0,192, 77,155,192, 48, 28,135,255, 15,234, 66,153, 92, 1, +128,132, 1,192,116,145, 56, 75, 8,128, 20, 0, 64,122,142, 66,166, 0, 64, 70, 1,128,157,152, 38, 83, 0,160, 4, 0, 96,203, + 99, 98,227, 0, 80, 45, 0, 96, 39,127,230,211, 0,128,157,248,153,123, 1, 0, 91,148, 33, 21, 1,160,145, 0, 32, 19,101,136, + 68, 0,104, 59, 0,172,207, 86,138, 69, 0, 88, 48, 0, 20,102, 75,196, 57, 0,216, 45, 0, 48, 73, 87,102, 72, 0,176,183, 0, +192,206, 16, 11,178, 0, 8, 12, 0, 48, 81,136,133, 41, 0, 4,123, 0, 96,200, 35, 35,120, 0,132,153, 0, 20, 70,242, 87, 60, +241, 43,174, 16,231, 42, 0, 0,120,153,178, 60,185, 36, 57, 69,129, 91, 8, 45,113, 7, 87, 87, 46, 30, 40,206, 73, 23, 43, 20, + 54, 97, 2, 97,154, 64, 46,194,121,153, 25, 50,129, 52, 15,224,243,204, 0, 0,160,145, 21, 17,224,131,243,253,120,206, 14,174, +206,206, 54,142,182, 14, 95, 45,234,191, 6,255, 34, 98, 98,227,254,229,207,171,112, 64, 0, 0,225,116,126,209,254, 44, 47,179, + 26,128, 59, 6,128,109,254,162, 37,238, 4,104, 94, 11,160,117,247,139,102,178, 15, 64,181, 0,160,233,218, 87,243,112,248,126, + 60, 60, 69,161,144,185,217,217,229,228,228,216, 74,196, 66, 91, 97,202, 87,125,254,103,194, 95,192, 87,253,108,249,126, 60,252, +247,245,224,190,226, 36,129, 50, 93,129, 71, 4,248,224,194,204,244, 76,165, 28,207,146, 9,132, 98,220,230,143, 71,252,183, 11, +255,252, 29,211, 34,196, 73, 98,185, 88, 42, 20,227, 81, 18,113,142, 68,154,140,243, 50,165, 34,137, 66,146, 41,197, 37,210,255, +100,226,223, 44,251, 3, 62,223, 53, 0,176,106, 62, 1,123,145, 45,168, 93, 99, 3,246, 75, 39, 16, 88,116,192,226,247, 0, 0, +242,187,111,193,212, 40, 8, 3,128,104,131,225,207,119,255,239, 63,253, 71,160, 37, 0,128,102, 73,146,113, 0, 0, 94, 68, 36, + 46, 84,202,179, 63,199, 8, 0, 0, 68,160,129, 42,176, 65, 27,244,193, 24, 44,192, 6, 28,193, 5,220,193, 11,252, 96, 54,132, + 66, 36,196,194, 66, 16, 66, 10,100,128, 28,114, 96, 41,172,130, 66, 40,134,205,176, 29, 42, 96, 47,212, 64, 29, 52,192, 81,104, +134,147,112, 14, 46,194, 85,184, 14, 61,112, 15,250, 97, 8,158,193, 40,188,129, 9, 4, 65,200, 8, 19, 97, 33,218,136, 1, 98, +138, 88, 35,142, 8, 23,153,133,248, 33,193, 72, 4, 18,139, 36, 32,201,136, 20, 81, 34, 75,145, 53, 72, 49, 82,138, 84, 32, 85, + 72, 29,242, 61,114, 2, 57,135, 92, 70,186,145, 59,200, 0, 50,130,252,134,188, 71, 49,148,129,178, 81, 61,212, 12,181, 67,185, +168, 55, 26,132, 70,162, 11,208,100,116, 49,154,143, 22,160,155,208,114,180, 26, 61,140, 54,161,231,208,171,104, 15,218,143, 62, + 67,199, 48,192,232, 24, 7, 51,196,108, 48, 46,198,195, 66,177, 56, 44, 9,147, 99,203,177, 34,172, 12,171,198, 26,176, 86,172, + 3,187,137,245, 99,207,177,119, 4, 18,129, 69,192, 9, 54, 4,119, 66, 32, 97, 30, 65, 72, 88, 76, 88, 78,216, 72,168, 32, 28, + 36, 52, 17,218, 9, 55, 9, 3,132, 81,194, 39, 34,147,168, 75,180, 38,186, 17,249,196, 24, 98, 50, 49,135, 88, 72, 44, 35,214, + 18,143, 19, 47, 16,123,136, 67,196, 55, 36, 18,137, 67, 50, 39,185,144, 2, 73,177,164, 84,210, 18,210, 70,210,110, 82, 35,233, + 44,169,155, 52, 72, 26, 35,147,201,218,100,107,178, 7, 57,148, 44, 32, 43,200,133,228,157,228,195,228, 51,228, 27,228, 33,242, + 91, 10,157, 98, 64,113,164,248, 83,226, 40, 82,202,106, 74, 25,229, 16,229, 52,229, 6,101,152, 50, 65, 85,163,154, 82,221,168, +161, 84, 17, 53,143, 90, 66,173,161,182, 82,175, 81,135,168, 19, 52,117,154, 57,205,131, 22, 73, 75,165,173,162,149,211, 26,104, + 23,104,247,105,175,232,116,186, 17,221,149, 30, 78,151,208, 87,210,203,233, 71,232,151,232, 3,244,119, 12, 13,134, 21,131,199, +136,103, 40, 25,155, 24, 7, 24,103, 25,119, 24,175,152, 76,166, 25,211,139, 25,199, 84, 48, 55, 49,235,152,231,153, 15,153,111, + 85, 88, 42,182, 42,124, 21,145,202, 10,149, 74,149, 38,149, 27, 42, 47, 84,169,170,166,170,222,170, 11, 85,243, 85,203, 84,143, +169, 94, 83,125,174, 70, 85, 51, 83,227,169, 9,212,150,171, 85,170,157, 80,235, 83, 27, 83,103,169, 59,168,135,170,103,168,111, + 84, 63,164,126, 89,253,137, 6, 89,195, 76,195, 79, 67,164, 81,160,177, 95,227,188,198, 32, 11, 99, 25,179,120, 44, 33,107, 13, +171,134,117,129, 53,196, 38,177,205,217,124,118, 42,187,152,253, 29,187,139, 61,170,169,161, 57, 67, 51, 74, 51, 87,179, 82,243, +148,102, 63, 7,227,152,113,248,156,116, 78, 9,231, 40,167,151,243,126,138,222, 20,239, 41,226, 41, 27,166, 52, 76,185, 49,101, + 92,107,170,150,151,150, 88,171, 72,171, 81,171, 71,235,189, 54,174,237,167,157,166,189, 69,187, 89,251,129, 14, 65,199, 74, 39, + 92, 39, 71,103,143,206, 5,157,231, 83,217, 83,221,167, 10,167, 22, 77, 61, 58,245,174, 46,170,107,165, 27,161,187, 68,119,191, +110,167,238,152,158,190, 94,128,158, 76,111,167,222,121,189,231,250, 28,125, 47,253, 84,253,109,250,167,245, 71, 12, 88, 6,179, + 12, 36, 6,219, 12,206, 24, 60,197, 53,113,111, 60, 29, 47,199,219,241, 81, 67, 93,195, 64, 67,165, 97,149, 97,151,225,132,145, +185,209, 60,163,213, 70,141, 70, 15,140,105,198, 92,227, 36,227,109,198,109,198,163, 38, 6, 38, 33, 38, 75, 77,234, 77,238,154, + 82, 77,185,166, 41,166, 59, 76, 59, 76,199,205,204,205,162,205,214,153, 53,155, 61, 49,215, 50,231,155,231,155,215,155,223,183, + 96, 90,120, 90, 44,182,168,182,184,101, 73,178,228, 90,166, 89,238,182,188,110,133, 90, 57, 89,165, 88, 85, 90, 93,179, 70,173, +157,173, 37,214,187,173,187,167, 17,167,185, 78,147, 78,171,158,214,103,195,176,241,182,201,182,169,183, 25,176,229,216, 6,219, +174,182,109,182,125, 97,103, 98, 23,103,183,197,174,195,238,147,189,147,125,186,125,141,253, 61, 7, 13,135,217, 14,171, 29, 90, + 29,126,115,180,114, 20, 58, 86, 58,222,154,206,156,238, 63,125,197,244,150,233, 47,103, 88,207, 16,207,216, 51,227,182, 19,203, + 41,196,105,157, 83,155,211, 71,103, 23,103,185,115,131,243,136,139,137, 75,130,203, 46,151, 62, 46,155, 27,198,221,200,189,228, + 74,116,245,113, 93,225,122,210,245,157,155,179,155,194,237,168,219,175,238, 54,238,105,238,135,220,159,204, 52,159, 41,158, 89, + 51,115,208,195,200, 67,224, 81,229,209, 63, 11,159,149, 48,107,223,172,126, 79, 67, 79,129,103,181,231, 35, 47, 99, 47,145, 87, +173,215,176,183,165,119,170,247, 97,239, 23, 62,246, 62,114,159,227, 62,227, 60, 55,222, 50,222, 89, 95,204, 55,192,183,200,183, +203, 79,195,111,158, 95,133,223, 67,127, 35,255,100,255,122,255,209, 0,167,128, 37, 1,103, 3,137,129, 65,129, 91, 2,251,248, +122,124, 33,191,142, 63, 58,219,101,246,178,217,237, 65,140,160,185, 65, 21, 65,143,130,173,130,229,193,173, 33,104,200,236,144, +173, 33,247,231,152,206,145,206,105, 14,133, 80,126,232,214,208, 7, 97,230, 97,139,195,126, 12, 39,133,135,133, 87,134, 63,142, +112,136, 88, 26,209, 49,151, 53,119,209,220, 67,115,223, 68,250, 68,150, 68,222,155,103, 49, 79, 57,175, 45, 74, 53, 42, 62,170, + 46,106, 60,218, 55,186, 52,186, 63,198, 46,102, 89,204,213, 88,157, 88, 73,108, 75, 28, 57, 46, 42,174, 54,110,108,190,223,252, +237,243,135,226,157,226, 11,227,123, 23,152, 47,200, 93,112,121,161,206,194,244,133,167, 22,169, 46, 18, 44, 58,150, 64, 76,136, + 78, 56,148,240, 65, 16, 42,168, 22,140, 37,242, 19,119, 37,142, 10,121,194, 29,194,103, 34, 47,209, 54,209,136,216, 67, 92, 42, + 30, 78,242, 72, 42, 77,122,146,236,145,188, 53,121, 36,197, 51,165, 44,229,185,132, 39,169,144,188, 76, 13, 76,221,155, 58,158, + 22,154,118, 32,109, 50, 61, 58,189, 49,131,146,145,144,113, 66,170, 33, 77,147,182,103,234,103,230,102,118,203,172,101,133,178, +254,197,110,139,183, 47, 30,149, 7,201,107,179,144,172, 5, 89, 45, 10,182, 66,166,232, 84, 90, 40,215, 42, 7,178,103,101, 87, +102,191,205,137,202, 57,150,171,158, 43,205,237,204,179,202,219,144, 55,156,239,159,255,237, 18,194, 18,225,146,182,165,134, 75, + 87, 45, 29, 88,230,189,172,106, 57,178, 60,113,121,219, 10,227, 21, 5, 43,134, 86, 6,172, 60,184,138,182, 42,109,213, 79,171, +237, 87,151,174,126,189, 38,122, 77,107,129, 94,193,202,130,193,181, 1,107,235, 11, 85, 10,229,133,125,235,220,215,237, 93, 79, + 88, 47, 89,223,181, 97,250,134,157, 27, 62, 21,137,138,174, 20,219, 23,151, 21,127,216, 40,220,120,229, 27,135,111,202,191,153, +220,148,180,169,171,196,185,100,207,102,210,102,233,230,222, 45,158, 91, 14,150,170,151,230,151, 14,110, 13,217,218,180, 13,223, + 86,180,237,245,246, 69,219, 47,151,205, 40,219,187,131,182, 67,185,163,191, 60,184,188,101,167,201,206,205, 59, 63, 84,164, 84, +244, 84,250, 84, 54,238,210,221,181, 97,215,248,110,209,238, 27,123,188,246, 52,236,213,219, 91,188,247,253, 62,201,190,219, 85, + 1, 85, 77,213,102,213,101,251, 73,251,179,247, 63,174,137,170,233,248,150,251,109, 93,173, 78,109,113,237,199, 3,210, 3,253, + 7, 35, 14,182,215,185,212,213, 29,210, 61, 84, 82,143,214, 43,235, 71, 14,199, 31,190,254,157,239,119, 45, 13, 54, 13, 85,141, +156,198,226, 35,112, 68,121,228,233,247, 9,223,247, 30, 13, 58,218,118,140,123,172,225, 7,211, 31,118, 29,103, 29, 47,106, 66, +154,242,154, 70,155, 83,154,251, 91, 98, 91,186, 79,204, 62,209,214,234,222,122,252, 71,219, 31, 15,156, 52, 60, 89,121, 74,243, + 84,201,105,218,233,130,211,147,103,242,207,140,157,149,157,125,126, 46,249,220, 96,219,162,182,123,231, 99,206,223,106, 15,111, +239,186, 16,116,225,210, 69,255,139,231, 59,188, 59,206, 92,242,184,116,242,178,219,229, 19, 87,184, 87,154,175, 58, 95,109,234, +116,234, 60,254,147,211, 79,199,187,156,187,154,174,185, 92,107,185,238,122,189,181,123,102,247,233, 27,158, 55,206,221,244,189, +121,241, 22,255,214,213,158, 57, 61,221,189,243,122,111,247,197,247,245,223, 22,221,126,114, 39,253,206,203,187,217,119, 39,238, +173,188, 79,188, 95,244, 64,237, 65,217, 67,221,135,213, 63, 91,254,220,216,239,220,127,106,192,119,160,243,209,220, 71,247, 6, +133,131,207,254,145,245,143, 15, 67, 5,143,153,143,203,134, 13,134,235,158, 56, 62, 57, 57,226, 63,114,253,233,252,167, 67,207, +100,207, 38,158, 23,254,162,254,203,174, 23, 22, 47,126,248,213,235,215,206,209,152,209,161,151,242,151,147,191,109,124,165,253, +234,192,235, 25,175,219,198,194,198, 30,190,201,120, 51, 49, 94,244, 86,251,237,193,119,220,119, 29,239,163,223, 15, 79,228,124, + 32,127, 40,255,104,249,177,245, 83,208,167,251,147, 25,147,147,255, 4, 3,152,243,252, 99, 51, 45,219, 0, 0, 0, 6, 98, 75, + 71, 68, 0,255, 0,255, 0,255,160,189,167,147, 0, 0, 0, 9,112, 72, 89,115, 0, 0, 11, 19, 0, 0, 11, 19, 1, 0,154,156, + 24, 0, 0, 0, 7,116, 73, 77, 69, 7,219, 8, 10, 15, 54, 11,254,114,226, 41, 0, 0, 32, 0, 73, 68, 65, 84,120,218,236,189, +121,212,101,103, 89, 39,250,123,167, 61,156,225, 27,106, 72, 85, 66, 37, 49,149,129,132,132, 41, 21, 6, 1, 21, 72, 33,160,226, +132,137, 99, 59,155,216,186,188,182,182,146, 92,180, 23,246,242, 98, 19,187,111,115,219,123,181, 37, 42, 44,245,218, 10, 81,161, +165,175,136, 41, 71,104, 90, 66, 42, 4,130, 16, 8,169, 36, 36, 33, 73,205,223,116,134,189,223,225,254,241, 60,239,217,251,156, +250,230,250,190,202,224,254,173,117,214, 55,156,115,246,222,239,244,204, 3,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, + 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104, +208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26,156, 19,168,115,124, 63,193,175, 12,192,126, 33,176, 27, 64, 15, + 64,201,255,111,208,160, 65,131, 6, 13, 26, 60, 11, 32, 0, 72, 33,112,217,187,127,234,250, 63,121,248,247,127,226,232,163,127, +116,211,137,223,249, 55,111,250,239,137, 18, 7,106,159,105,208,160, 65,131, 6, 13, 26, 60,195, 53,117, 1, 32,121,199, 15,191, +242,157,183,126,215, 53, 63, 56, 83, 12,218, 83,211,173,252,218, 87, 92,250,252,111, 63,112,201,193,187, 62,255,208,147, 79,156, + 26,126, 9, 64,104,152,123,131, 6, 13, 26, 52,104,240,204,102,234, 18, 64,235,205,215,180,223,250,154,221,226,154,226,232, 81, +216,147, 39,224,251, 22, 23, 92,113,225,236, 13,215, 95,243,150,163,167,230,212,189, 15, 28,255, 12,128,126,195,216, 27, 52,104, +208,160, 65,131,103,182,166,158,254,237,125, 39,158,188,234,130,244, 69, 47,186,108,247, 94,148, 30,126,225, 20,252, 98, 15,157, +243,118,234,111,189,254,197,223, 48,147, 39,151,127,244,174, 35,159, 6,112,162, 97,236, 13, 26, 52,104,208,160,193, 51,147,169, + 3,128, 8,192,194,159,126,234,216,189, 78, 23, 59,191,254,170,189, 87, 24,101,224,122,139,240,167, 79, 3, 89, 27,175,122,245, + 85, 87, 29,188,106,223,107,255,254,222, 47, 63,124,122,169, 60,210, 44, 81,131, 6, 13, 26, 52,104,176,126,237,249, 92,223, 47, + 3, 48, 13, 96,223, 91,175,155,254,161,223,254, 87,215,253,248,174, 86,146, 21, 75, 67, 64, 25,136,125, 23,195,236,219,135,167, +158, 56, 49,255,243,191,241,145,255,240,223, 14,125,233,183, 0, 44,240,247,195, 51,121, 50, 67, 8, 7, 0,204,242,159, 71,132, + 16,207,105,161,228, 95,218,120, 27, 52,104,208,160, 97,234,203, 67, 2,152, 2,176,231,146, 89,245,173,255,227,103, 95,246,243, + 87, 93, 48,179,183,236,149, 0, 60,176,247, 34, 36, 23, 93, 12, 27, 60,222,249,190,255,249, 7,191,242,187,127,247,203, 0, 30, +229,231, 61,107,198, 30, 66,216, 15, 96,255, 58, 63,126, 74, 8,113,120,157,215,189, 19,192, 65,254,243, 86, 33,196,109,207,113, +166,254,156, 24, 47, 11, 39, 7, 89, 64, 57, 80,123,235, 48,128, 35, 0,238, 16, 66,156,218,130,251, 76, 94, 31, 91,189, 7, 27, + 52,104,240, 47, 27,250, 44,152,178, 7,208, 61,127,202,188,240,162, 89,179,211, 5, 41,198, 36, 5, 1, 72, 41,132,143,255, 17, +244, 37,168,209,187, 26, 64,171, 95,248,254,191,253,240, 67,127,245,127,190,245,234,111,191,114,239,212,140, 45, 3,112,234, 56, +202,118, 27,106,199,121,120,199,205,223,240,131, 47,223,127,193,243,127,240, 93,119,252,226,241,249,226,227, 91,196,216,111, 0, +240,174, 13, 16, 99, 0,184, 3,192, 33, 33,196,237,205,182,121,206, 88, 25,110,224,215, 74, 2, 94, 20, 88,222, 19, 66,184,157, + 5,151,179, 97,238, 7, 0,220,185,137,239, 29, 2,240,134,102,213, 26, 52,104,176, 29, 76, 93, 0, 16,221, 84, 30,248,175, 63, +248,146, 95,251,150, 23, 93,248,218, 86, 75, 39, 65, 40, 64, 8, 64, 10, 64,242,239, 90,209,223, 74,142,222, 19, 74,211,255,132, + 0,132, 4,164, 68, 0,130, 11,194,123,173, 33, 71,255, 23,240,174, 68,232, 11,188,249,141, 87,190,226,240,243,127,242,207,126, +242,215,255,252, 29, 31,249,228, 99,239, 3, 48,196,185, 55,197,223, 0,224,134, 16,194, 13, 0,110,220, 10,205,173,193,211,138, +187, 55,248,249,155, 0, 28, 12, 33,220,216,104,205, 13, 26, 52,120,174,105,234,187,127,239, 71,175,125,247, 13,175,218,255,117, +182,231, 0, 47, 32, 36, 23,139, 11, 18, 8,130,148,121,207,172, 55,176,134,238, 1,120, 15, 40, 5, 33, 88,117, 15, 0,132, 16, + 82, 10,133, 16, 70, 90, 61,177,236,128, 0, 1,219, 43,113,209, 69,187,118,255,233,127,252,161,255,231,127,255,173, 67,151,255, +198,159,124,242, 63, 0, 56,182, 69, 90,123,212,132,176,134,182, 86,255,251,206, 16,194, 27, 26,198,254,156,193, 97,144, 37,230, +176, 16,226, 16,107,242,179,188,214, 55,213,246,192,126, 0, 31, 8, 33, 92,183, 69,107,127, 59,200,188,191, 22,154,125,214,160, + 65,131,237,211,212, 83, 35,246,191,254,202,243, 94,134,165, 18,174, 63, 0,188, 39, 38, 29, 45,235,177, 24,108,252, 27, 1, 80, + 18, 98,215, 30,210,210,125, 0,164, 7, 60, 91,241,133,228, 75, 7, 64, 6,192, 59,210,246,157, 27,197,231,219,161, 69,203, 24, +249, 95,126,241, 91,126,238,101,151, 95,248,194, 31,127,215,159,191,109, 88,250,123,183,130,177, 11, 33, 86, 53,109,178,118,254, + 46, 84,102,218, 3, 76,236,111,107,182,208,179, 26,183, 3,184,125, 57,205,155,153,246, 29, 0,238, 8, 33,188,135,215, 59, 50, +246,173, 90,251, 59,162, 16,209,160, 65,131, 6, 91, 1,185,137,239,168, 97, 25, 78,252,197,125,143,126, 18,114,128, 52, 41,145, +182,128, 36, 15,252,242,213,239, 89,128,145, 67,192, 21, 64,214, 33,147,187, 39,166, 29,198,216,112, 9,248, 2,240, 3, 32, 12, +249,239, 1, 16, 74, 98,240, 33, 0,193,195,186, 0, 63,116,248,129,183, 94,123,240,158,247,253,235, 15,189,240,226,217,239, 4, +177,125,185,157,147, 36,132,184, 3,228,211,172,107, 76, 55, 52,219,231, 89,141, 55, 8, 33,110, 94,143, 41, 93, 8,113,243,132, + 70,125, 75, 51,125, 13, 26, 52,120,174,104,234, 0,112,226, 71,127,247,190,119,252,213,167, 31,249,206, 43, 46,158,186, 88, 0, +210,135,224,153, 4,194, 5, 10, 45,235, 15,173,188,246,194, 93, 47,184,241,235, 95,188,223,232, 84,122,239,217,223, 14, 98,236, +195, 37, 8, 45, 32,246, 93, 3,185,227, 10,160,181, 7,194,116, 1, 87, 32, 12,143, 35,244,190,138,112,226,139,128,235, 3, 50, + 7,224,224,131,130, 95, 42,240,130,171, 47,188,232,163,191,253, 99,191,247,166,159,126,175,250,236,145,147,127,134, 42,120,111, +187, 24,251,145, 16,194, 29, 53,141,237,192, 86, 92,119,153,136,232,195, 91, 20,105, 93,143,240,223, 84,186,217, 86, 92,227, 92, +140,119,226, 57,215,117,189, 77,104,200,183,163, 10,174,156, 13, 33, 28,104,124,235, 13, 26, 52,120, 46, 48,117, 7, 96, 9,192, + 23, 62,112,120,254,221, 56, 60,159, 99,249, 34, 54, 59,127,232,245, 23,253,216,155,175,187,230,252, 68, 26,233,124, 32,211,123, +127, 8, 12,151, 0, 55, 15,249,252,215, 64, 94,245,189,144,231, 93,113, 38,209,141,191, 44, 29,131,123,242,159,224, 31,255, 71, + 8,145,146,214, 46, 4,108,191,192,249,123,119, 77,127,248, 63,255,240,111,190,234, 71,127,235,228,227, 39, 7,127,139,173,243, +177,175,132, 45,201,195,102,198,118, 19,107,251, 7,150,121,255, 8, 42,211,240,169, 21,174,241,174,218,119,239, 16, 66,220, 94, +187,238, 77,152,136,232,230,107,222,182,158,232,253, 16,194, 77,172,141,238,223,232,115,109,199,120, 87, 25,235, 45,124,221,217, +218,199,183, 43, 82,124,146,129,207, 54,228,163, 65,131, 6,207, 5,166,238, 1, 12, 0, 88, 80, 81, 24,133,154, 7,157,153,234, + 11,222,247, 83,175,248,149, 31,126,237, 21,175,245, 5, 96,157, 7,202, 33, 66,127, 17,176, 3, 64, 7,152, 55,253, 18,228,254, +235,215,190, 91,123, 55,212,165,111,129,152,121, 1,252,231,223, 11, 72, 71, 74,185, 0,108,191,192, 69,151,158,191,235,189,111, +255,238, 95,127,227, 47,252,254,119, 2,248,202, 54, 51,245, 58, 33,223,148,118, 25, 66, 56, 8,224, 3,107, 48,133,253,172, 21, +222,180, 74,180,117,204,173, 6,128, 67,156,162,245,158, 85, 44, 8,251, 65,169, 89, 7,216,156,188, 18,243,125, 15, 86,118, 45, +196,231,186, 33,132,240,134,115, 56,222,229,198,122,103,195, 88, 27, 52,104,208,224,236,153,122,100,220, 37,191,234,138,181,186, +250,121,217, 91,254,224, 39, 94,115,219,181, 87,238,185,220,246, 61,188, 43, 73, 51, 47, 45, 32, 28, 68, 2,232,111,121, 23,228, +190,151,143, 46,214, 47, 44,238,122,248, 40,254,242,115, 79,226,244, 66, 31, 70, 9, 92,249,188, 25,124,243, 11, 46,192, 37,123, +102, 0, 0,114,231,165, 16, 47,250,105,184,207,254, 6, 96, 52,201, 22, 82,194, 47, 13,240,141,215, 95,245,210, 31,252,166, 23, +254,216, 31,252,229,125,239,196, 54,165,187, 49,195,187, 97, 66, 35,220,232, 53,110, 96, 6, 55,169, 1, 30,170, 9, 9,117,109, +118, 63,170, 72,251,195,107, 8, 27, 31,168,105,214,119,212, 52,203, 3, 19,207,125, 83, 8,225,200, 10,133, 98,222,181, 12, 67, +175, 95, 43, 62,219,129,101,198,113,174,198, 59, 59,193,208, 79,213,158,111,255, 54,158,149,131,107,104,238,103,179,175,182,220, +253,210,160, 65,131,127,153, 16, 91,116,141, 0, 96,250,135, 94,187,231,231,254,243,119,127,237,219,118,116,178,188, 40, 2, 5, +200, 21, 3,102,247, 0,202, 57,168,111,248, 73,168, 23,253,171,209,151,191,244,228,105,188,253, 79,239,197,103,143, 47,160,155, + 24, 36, 70, 82, 0,124, 89, 34,241, 22,223,250,138, 75,240, 51,175,191, 26,137, 38, 11,191,255,234,189,240,247,191, 15,232,236, + 70,236,210,170,147, 4, 15,124,241,241, 39,175,248,158,223,120, 19,128,207,129, 92, 4,171, 17,210, 91, 80, 43, 62, 35,132, 16, +235, 32,188,147, 26,236, 27, 38,253,178,171, 85, 88, 99,191,239,221, 53,102,116, 4,192,205,203,249,118,151,209,110, 15, 11, 33, +174, 91,229, 94,117, 6,124,243, 36, 83,224,123,127,160,198, 60, 78, 1,184,180,254, 57, 54,185,191,103,130,105,221, 56,233, 71, + 95, 69,243,222,182,241,174, 48,214, 35,124,207, 59, 38,215,106, 59,152, 98, 8,225, 65,140,251,237,175,219,164,149,230,206, 9, +107,207,114,214,134, 35,188,150,183, 55,165,119, 27, 52,104,112, 46, 52,245, 73,134,126,201,175,126,207, 21,191,122,235,155,174, +249,126,233, 53,138, 97, 73, 12,221,218,202, 56, 31, 60,176,251, 82,168,231,127,251,232,203, 79,206, 45,225, 7,126,231, 19,120, +112, 96, 49,211,202,209,215, 10,137, 81,200,149,128,201, 18, 8,103,241,254,255,117, 4, 74, 74,252,155,131,215,144,198,190,247, + 69,240,143,236, 1,220, 18,160, 51, 64, 0,190, 40,112,201,165,187,247,190,229, 53,151,188,241,195, 31,127,232, 11,168, 50,228, +215, 75,108,111, 89, 67, 67,155,100, 40, 55,111, 34,208,234, 61, 19,218,229,138,185,206, 66,136, 67,108,222,142, 26,233,129, 16, +194, 77,107,248,195, 15, 9, 33,110, 92,225,122, 71, 66, 8,183,214, 24, 74,204,193,174, 51,196, 91, 38,152,202,178,121,248,181, +103,187,251,105, 28,239,145,149,174,183, 77, 12,125, 50,190, 96,171,170, 10,174,228, 62,216,207,235,113, 75, 8,225, 57, 95,110, +184, 65,131, 6,207, 12,166, 46, 0,136, 61, 93,117,253, 31,223,244,178,255,244,186,151, 92,240, 98, 59, 0,172, 40, 1, 63,164, +126,108,137, 24,125, 50,148,125,168, 43, 94, 3,164,221,209, 5,254,253,127,255, 28, 62,245,196,105,160,219,197,201, 69, 11, 72, + 7, 41,128,174, 18,184,184,173,113, 65,174,177,107,186,131, 15,254,175, 7,241,218,203,207,195, 75, 46, 62, 15,144, 18,242,194, +215,194,127,254,247,129, 93, 23, 1,193,195, 11, 1,157,165,184,241,245, 47, 59,248,225,143, 63,244, 94, 0, 39,177, 49, 19,252, +122, 75,198,222,142, 77,228, 22,215,106,139,215,181,218, 85,153,143, 16,226, 48,151, 38,189,165, 38, 92,172,198, 76,110, 94,227, +122,135, 66, 8,135, 49,110,234,142,207, 55, 89, 42,245,182,213,158,175,246,108, 55, 61, 77,227,189,237, 92,153,168,121, 44,245, +253,113,120,139, 74, 5,199,186,242,117, 51,126,189, 6,253,104,111,134, 16,246,175, 20, 7,209,160, 65,131, 6,117,108, 38,191, + 59, 6,197,117,222,122, 96,250,231,239,249,119,175,253,211,215, 93,189,247,197, 69,207,193,195, 17, 67,151,160, 10,114, 74, 0, + 90, 80, 5, 57, 45, 33,119, 95, 51,186,200,209,185, 30,254,224,211, 95, 1,178, 22,165,185, 41, 9, 40, 5, 15,137,185,129,195, +103,143,246,112,247,209, 30,138, 32, 96,149,194,223,124,241,104,245, 0,221,139, 40,232, 14,150,159, 38, 0,214,227,202, 11,103, + 46, 5,112, 62,182,175, 81,205, 13,172, 69,110, 52, 64,171,206,224, 78,109,128, 41, 28,154,184,247,138, 12, 98,157,102,218,195, + 43, 60,211,193, 9, 6,187,158,231,187,227,105, 26,239,145,115, 85,127,159, 93, 8,147,230,242,179, 97,174,167, 0,220, 10,114, +125, 92, 39,132,184, 81, 8,113, 91,237,117,163, 16, 98, 7,127,166, 46,180,220,196,130, 87,131, 6, 13, 26,108,169,166, 30,205, +237, 23,188,237,219,246,253,202, 59,191,249,133, 63,161,188, 70, 81, 56, 64,121, 50,177, 7, 64,120,129,160, 4, 32, 37, 87,139, +243,128,206, 32,218, 23,140, 46,244,212, 66, 31,189, 65, 9,180,179, 74, 78,136,186,181,164,250,177,199, 23, 75,220, 85, 88, 92, + 61,165,177, 48,176,213, 67,100,211, 0, 20, 48,236, 65,228, 93, 4, 4,192,149,184, 96,111,231,188, 52,145,123,135,133,255,194, + 6,199,117,235, 42,239,237,103, 38,181,159, 53,168, 81,244,247, 6,180,197,131, 43, 48, 86,172, 67,187, 30,211, 26, 87, 8, 32, + 91,175,229,224,200, 42, 99,220,208,181, 38,159,237, 28,142,247,156,228,134,179,224, 54, 25, 59,112,235,217,228,166,243,119,215, + 83,236,230,182, 16,194, 33,140,187, 56,222,181,134, 32,213,160, 65,131, 6, 27, 98,234, 2, 0,166, 51,249,170,247,253,200, 85, +191,254, 29,215, 94,244,106, 59, 4,202,196,145,102,238, 2, 80, 4,232, 84,160,239,188, 55, 16, 18, 90,142, 50,216, 5, 0,132, + 42,126,109, 54, 79, 32,141,129, 15,160, 90,241, 33,140,234,189, 35, 0,240,212, 8,102,161, 95,226,222, 65, 31,111, 49,245, 84, +120, 15,132, 2,176, 67, 64, 76, 65, 8,170, 82,215,105,235,214,158,169,108,246, 43,199,123, 27,178, 64,172,199,103,201,126,213, + 91, 80,181,231,188, 19,192,122,131,165,234,209,205,251, 57,240,107, 51,152, 93, 69, 3, 60, 27,108,138, 9,243,103, 15,156,227, +241,110, 59, 83,103,134,126,231,196, 56,110, 62,151, 29,250,216, 29,113, 43, 42,211,255,254, 16,194, 13,147,129,129, 13, 26, 52, +104,176, 81,166, 30, 77,217,230,107, 47,206,190,239,143,126,236,218,219, 46,217, 51,125, 94, 49, 12, 64,166,136,161,151, 30,178, + 8,208, 45,137,119,255,221, 3,159,185,100, 42,155,249,246, 3, 23, 94, 92, 4, 80,163, 23,161,128,114, 17, 97,225, 97,136,157, +151, 2, 0,158,183,163,139,111,187,108, 15, 62,120,255, 49, 64,107,192, 10,170,251, 30, 27,192,128, 25,187, 16, 24,204, 45,225, +202, 61, 83, 21,209,237,157, 2, 6,243, 64, 49,205, 31,246, 8, 85,104,156,196, 54,152,223, 89,123, 66,141,200,174, 39,120,109, + 57,230,180,145, 94,238, 79, 7, 78,109,193,103,159, 77,227, 93, 15, 67,191,245,105,106,185, 91,175, 98,135,103,211, 60, 54,104, +208,224,153,201,212,163,185,253,188,159, 62,184,231, 23,223,249, 77, 87,255,111,211,121,154, 20, 30, 64,155, 53,231,194,195,120, +160, 76,129, 95,250,255, 62,247,225, 95,251,243,175,124,240,195, 63,253,194,183,129, 10,191,145, 95, 93, 0,208, 18,225,196,103, +129,175,185,158,153, 36,240,246,111,189, 10, 31,188,255, 9, 96, 80, 2, 73, 82,241, 98,199,119, 13, 30, 88, 90,194, 27,175,216, +135,111,126,225,190,138,240,206,127, 25, 33, 12, 33, 92, 57,210,236,133, 8, 88, 92, 28,246,143,206, 15, 22,182, 81,123,186,141, +171,155, 69,220,128,141, 71, 66, 31,193,230, 43,211, 61, 27,243,151,159,109,227,157,100,232,183, 63, 93,209,231, 66,136, 83, 19, +193,141, 7,209, 52, 17,106,208,160,193, 38,153,186, 0, 32,148,196, 21,191,243, 67, 87,252,151, 31,121,229,165,111,116, 37, 80, +104, 1,164, 10,240, 30,161,239,145,106,224,216,160, 24,252,204,127,187,231,119,223,255,201, 83,127, 4,192, 63,188, 48,124, 10, + 34, 92, 25, 2, 32, 34, 83,207,187,240,143,124, 2,234,202, 31, 0,218,187, 1, 0,215,125,205,110,124,232,230, 87,227, 7,222, +123, 23, 22,231, 7, 64,150,145, 63, 61, 4,160, 44,129,126, 15,111,186,124, 47,126,255,167, 94,141, 52,154,223, 93, 1,255,192, +159, 65,164, 25, 32,200,143, 31,188, 3,164,196, 99, 79,204, 31, 27, 20,254, 24,182, 47, 80, 14, 32,159,243,193, 26,145,221,176, +246,245, 47, 44, 69,233, 89, 51, 94,238,198, 54,201,208,159,238,168,243,166, 16, 77,131, 6, 13,214, 13,185, 6, 83, 63,239,189, + 63,242,252,223,252,145, 87, 93,250,198,162, 4, 92, 91, 3,185,161, 44,240, 37,143, 52,147,184,239,241,185,167, 94,247,174,143, +191,227,253,159, 60,245, 95, 1, 60, 12,224,241, 47, 29, 91,248, 34,164, 0, 28,247, 87, 81, 2,208,100,130,183,247,253,246,216, + 77,190,237,197,251,240,207,255,238, 13,248,213,183, 92,131, 23,205,166,200, 66,137, 41,233,240, 29,151,237,194,251,255,245,215, +225, 67,191,248, 58,156, 55,157,143, 62,239,191,252,231, 8,167, 30, 6, 76, 78,109,219, 17, 0,235, 0, 41,240,197, 71, 79, 63, + 2,234,179,238,159, 97,243,188, 82,212,249,179,253,249, 14, 62, 75,199,187, 18, 67,191,233, 25,198,208, 27, 52,104,208, 96,203, + 52,117, 92,181, 39,121,237, 91,175,126,222,245,182,239,129,174, 6, 18, 9, 20, 30,114, 96,161, 59, 18, 31,189,247,201,251,191, +247, 61,159,254,143,167,122,254, 99, 0, 78,128, 26,189,100,127,245,169, 19,119,157,126, 83,241,163,221,118,162,189,103, 59,188, + 0,208,106, 35,124,229, 31,225,103,254, 8,242,202,239, 31,221,231,162, 93, 93,252,242,183,188, 0,183,188,249, 74,156, 94, 28, + 66,107,137,217,118,122,198,243,248,199, 63, 1,247,207,127, 8,228,109,146, 58,164, 66,240, 30,194, 57,184,193, 0, 31,252,135, +123,254, 39,168, 30,253,118, 50,245,205,248, 53,199, 76,168,219, 85,245,236, 44,112,164,246,124,235,234, 62,199,249,219,207,214, +241, 62,155, 24,250,102,131, 24, 27, 52,104,208,104,234,227, 12,255, 5,251,242,203,219,169,129,247,160,232,246, 94, 9, 93, 88, + 32, 5,110,187,243, 11,135,222,244,238,195,255,246, 84,207,255, 13,128,167, 0,204, 1, 40, 0,148, 15, 28, 47,238,250,232,253, + 79,220,171, 52, 16, 56, 21, 77, 72, 50,197,139,246, 52,252, 63,255, 33,220,189,255, 23, 80,140,187,191,141,146,216, 61,157,159, +201,208, 93, 1,255,192, 29,240,119,189, 19, 34,205, 32,148, 34,127,189, 73,129,178,132,146,192, 23,191,120,244,201, 15,126,252, +145, 67,160,218,239,219,194,212, 39, 90,124,110,132,200, 78,166,137,221,244, 12,219, 7,245,231,155,229,114,166,155,213,210,159, + 13,227,125, 86, 48,116, 46,221, 59, 41,124, 53,104,208,160,193,166,152,186,250,196, 3,139, 95, 58, 81,148, 54,105, 75, 36,165, + 71,162,128,129, 10,225,103,239,184,231,143,111,253,127,143,252, 10,128,207, 0, 56,206, 26,122, 12,111, 43, 1, 60,245,159, 62, +252,224, 29,253,210, 67,149, 22, 40, 61,105,235,177, 40, 77,187,139,240,208, 71, 97,255,238,103,224, 31,251, 24,208, 95, 65,137, + 27, 46, 32, 60,117, 47,236,199,126, 1,254,190,219,129, 44, 7,148, 38, 95,186, 0, 32, 52,196,176, 4, 84,192,187,222,255,241, + 15, 2,248, 50,223,127,203,153,122, 45,111,185,142,117,165, 23,113, 26, 82,157, 32,223,178,134,166,123,174,113, 7,198,125,183, +183,172, 99, 46,110,121, 22,143,119, 37,134,126, 24,171,215, 44, 88, 83,232, 11, 33,220, 82,123, 29,156,152,179,141,238,183,122, + 80,230, 41, 52,121,234, 13, 26, 52, 88, 3,171,154,223,159,152,119,159,250,241, 63, 60,124,219,207,190,238,242, 27,102,219,102, +250,254, 19,139,143,253,214, 95, 63,244,225,127,124, 96,241, 47, 0, 60, 1,224, 52,107,231,117, 38,234, 0,244,239,126,108,240, +145,255,251,239, 31, 60,248,182, 55, 95,249, 6,183, 80, 80,241,153, 84, 85, 33,108,173,105,192,206,195,125,234,215,224,147, 14, +176,227, 10,200,153,203, 0,149, 1,161,132,159,127, 4, 56,126, 63, 48, 56, 5,152, 4,104,239,168, 81, 60, 0, 94, 1,133,128, +106, 43,124,228,175, 31,252,252, 31,254,213,151,254, 24,100,122, 47,183, 65, 59, 63,136, 51,251,139,159,194,198, 34,223,111,198, +120,237,245, 59,185,205,232,161,117,220,255, 6,102,150,219, 18,112,198, 81,214,183,213,152,200,193, 16,194,123,150,211, 88,107, + 41, 95,179,207,214,241,174,194,208,223,112,150,110,130,253, 19,140,248,214,154,213,226, 0,215, 58,184,125,173, 92,243, 90, 27, +221,250, 28,223,214,116,111,107,208,160,193,217, 48,245, 18,192,201, 15,221, 51,247,222, 15,221,115,247,157, 0,186, 32,191,249, +147, 32, 83,251, 34,127,102,178,172, 88,236,183,254,228,173,127,244,192,187, 15,156, 63,125,201,245, 47, 61,255,178, 98,110, 0, + 49,157, 1,169, 24, 85,140,131, 49, 16,198, 80, 81,154,147,247,193, 29,251,244,232,114, 66, 42,106,216,210,238, 78, 80, 60, 0, +133, 71,240, 41, 76, 98,112,228,129, 99,167,126,224,215,255,226,215, 89, 75,239, 99,141, 14,109, 43, 16,209,205,180,106,189,121, + 35, 68,150,171,165,221,140,170, 19, 90,100,116,135,152,240, 31,158, 96, 14, 81,152, 56, 80, 99, 16,219,137,219, 49,222, 6,245, + 38,214, 52,111,175, 61,219, 65,102,132,179,172,137,159,194, 10, 62,248,103,242,120,121, 92,203,185, 4, 62,176,129,173,112,199, + 38,114,215, 15,178,192,116,132,231, 96,185,218,239,147,173,114, 1, 42, 3,220,164,178, 53,104,208,224,172,152,186, 99,198,109, +153,137, 75,254,223,144, 95, 14, 43, 55, 77,177, 0, 22, 3,112,223, 13,191,117,207,255,241, 55,111,123,197, 59, 95,122,249,174, +231,149,167, 7,192, 84, 10,145,129,106,189, 71,173, 93, 40, 32,201, 87,207, 67, 11, 0,188, 7,134, 30,126,110,128,228,130,243, +240,248, 19,115,139, 55,252,242,159,221,118,114,161,252, 88, 77,200,216,110, 28,102,134,190,225,160, 37, 33,196,237,181, 2, 54, +179,117, 66,255,116,111, 4,214,214,111,100,237,122,255, 10,154,103,221, 74,113, 35,214,104,132,243, 76, 30,239, 50,216,168,123, +224,208, 89,220,107, 63,214, 31,103,112,251, 57, 16,232, 26, 52,104,240, 28,129, 92,131,141, 90,144,191,252, 20,168,243,217,105, + 0, 61,254,127, 88,227,187, 67, 0,115,167,122,254,239,191,254,215,254,233,237, 31,189,231,137,251, 77,162,161,230,134,240,167, + 45, 48,112,181,171, 8,142,144,159,120,197,154,240, 14, 64,225, 16,230, 28,112,178,143,100,199, 14,124,238,193,249, 39,223,240, +115,127,242,142,123, 30,153,255,115,126,182, 30,182, 47,234,253, 16, 19,215, 27,185, 17,199,217,212,255,190, 29, 84, 94,246,118, +172, 47, 7,249, 14,144, 41,123,219, 43,154,113, 83,152,235,214,184,215, 33, 80,219,211,195,207,246,241,158, 99, 68,127,253,122, +247,206, 29, 32,119,192,205,141,217,189, 65,131, 6,235,166,227,219,124,125, 5,160,197, 90,218,213,191,240, 29, 23,253,248,219, +223,120,213,183,206, 78, 39,218, 15, 61,156,150, 64,174, 33, 98,141,120, 89,123,156, 16, 0, 7, 4, 27,128,190,131, 44, 45,148, +145,232, 59,224, 55, 63,246,228,223,189,253,247,238,126, 79,233,195,167, 80,165,210,217,103,227, 2,176, 41,120, 82, 75, 60, 2, +234,110,118,232,105,124,174,104, 14,175,247, 68, 63,180,206,110,112,207,186,241, 62, 77,235,190, 31,103,198, 38, 28, 6,153,219, + 27, 70,222,160, 65,131,103, 28, 83,143,140, 61, 3, 48, 13, 96,239, 11,246,164,175,255,217,183,236,255,246,239, 58,112,209,203, +119,116,181, 65,144,220, 19, 93,114, 49, 25,126,176, 0,200,224, 71,202,250,226,192,251,143,124,230,241,251,126,251,208, 67, 31, +254,219, 47, 44,252, 37,128,199,216,114,208,127,182, 50,244, 6, 13, 26, 52,104,208,224,217,198,212,227,125, 18, 0,109, 0, 83, + 0,246,238,153, 82, 47,121,211,181,179, 47,127,235,139, 47,122,217,213,207,155, 58,191,157,170,118,166, 69, 34,149,146,222, 33, + 12,157, 45,122,133,239, 61,124,116,225,216, 7, 62,251,232, 61,135,238, 62,117,215, 3,199,139,195, 0, 30, 7, 48, 15,242,161, +111, 91, 78,122,131, 6, 13, 26, 52,104,208, 48,245,213,239, 37, 1,164, 32,147,124, 11, 20, 81,191, 3,192,158, 78, 42,118,182, + 19, 57,149,105,153, 20,206,219,197, 34, 44, 44, 12,252, 9, 0, 71, 65, 38,246,121,144,223,124, 9,107, 7,234, 53,104,208,160, + 65,131, 6, 13, 83, 63,135,204,221,176,246, 30, 95, 26,163,238,235, 0,107,224, 37,191, 10,102,228,182, 97,230, 13, 26, 52,104, +208,160,193, 51,135,169, 79,222, 63, 50,249,248,179,206,212, 67,237,103,195,200, 27, 52,104,208,160, 65,131,103, 48, 83, 95,237, +121, 26, 38,222,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160, + 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, + 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6,219, 4,129, 61,175,217,250, 34, 47, 90, 3, 66, 2,240, 64,105, + 55,247,253, 68, 87,127, 59, 13, 40, 11, 56, 15, 40, 9,244, 6,244,153, 86, 14, 72, 9,168, 4,176, 5,127,216, 3,189, 18, 40, + 7,213,181, 52, 95,107,185,238,241,189,193,248,125, 1,186, 71,150,210, 24,116, 2, 20, 3,160, 40,169, 64,173, 50, 84,212,214, + 6, 64, 11, 42, 96, 11,126,207, 76, 92,111, 43,231, 51,201,232,153, 92, 65,227, 21, 18,232, 47, 0,222, 80,155, 90, 33,168,170, +254,206, 29, 84,131,207,228,128, 49, 72, 18, 9, 59,244,240,197,144,230,212, 91,160, 44,129, 84, 1, 75, 3,154,171, 76, 3,131, +130,202,253,216, 1, 77,148, 0,215,241,243, 52, 7,174,160,255,235, 4,232,247,233,111,239,105,254, 61,207,173,231, 53,175,255, +190,217, 61,240, 92,129,201,128, 96,129,153,157, 64,111,137,246,108,175, 15,180,218,192,226, 28,208,153, 6,138, 30,205,107,111, + 9,176,150, 94, 43,237,131, 73,212, 63,107, 52,144,231, 64,210,162, 53,141,173,140,125, 0, 22,230,105,221,215,187, 63,205, 50, +247,146,146,206, 96, 44, 17,117,182,235,218,158,198,107,191,241,117,176,222,227,227,247,223,143,235,175,123, 57,254,230, 31, 62, + 6, 60,246,200,250,232, 2, 31, 61,132,101,230, 44,158, 25, 7, 58, 27, 40, 1,169,249, 12,243,103,138,193,242,115,189,218, 60, +107, 13, 8, 77,103,221,215,104, 74, 81,123, 6,163,199,207, 5,106,159,117,126,229,245,173,237,153,214,129,203,209, 59,252, 0, +221, 71, 27, 96,215, 14, 32,215, 64,223, 2,143, 62, 85,209,183,205,210, 85,111, 0,215,167,253, 56,183, 64,255,155,234,210,222, + 20,154,126,159, 59, 69,159, 47, 65,115, 39, 4,125,103,106, 22,152, 63, 69, 99,204,114, 96,137,247,181, 45,137, 86,187, 65,228, + 46,213, 62,153,234, 2,195, 33,128,100,252,125, 41,129, 97, 1,100, 93, 32, 12,137,174,197,249,137, 52,200,110, 19,253,168,207, + 71,233,137,214,217,115, 68,171, 76, 2, 76, 79, 3, 89, 66,180,183,215, 7,122,139,244,127, 9,162,245, 58, 3,242, 4, 8,142, +190, 51,112, 21, 95,141,223,243, 30, 24, 12, 1,163,128,114, 8,244, 6, 80,232, 92,244, 43, 91,250,176,173, 12, 72, 83, 32,111, +209,164, 41,193,197, 94, 55,208, 76, 77, 74, 98,172,163,191,249,187, 82,208,228,123, 87, 93, 79, 41,250,124,176,180, 11, 74, 15, + 12,123,213,119,149, 4,181,119,229,131,165, 38,238, 85,127, 54,239,233,149, 26, 98,222, 74, 3,174, 4,116, 74, 19, 8, 0, 90, + 86,125,225, 44, 19,139, 86, 27, 48, 18,232, 15, 55, 54,206,245,194, 51, 69,208,160, 69, 85,154,132,152,164, 69, 4, 36, 53,192, +236, 20,176,107, 6,112, 2, 83,179, 83, 48,105,138, 78,150,224,130,238, 14,120,239, 48, 53,213, 69,174, 13,160, 36, 74, 1,122, + 86, 33,105,141,250, 5,207, 93,159,152, 75,176,192, 48,208,198, 42, 74,154, 56,157,144, 64, 16, 60, 80, 6, 90,131,200, 52, 4, + 63,151,102, 6, 34, 64,189,115, 3,175,153, 16,213,154, 42,201, 4,207,111,236,240,249,103, 97, 51,190, 52, 1,138, 33, 48,187, + 19,152,159, 7,218,109, 34,198,105, 14, 44,205, 19, 67,159,155,163,255,207, 47, 2,153, 33,162,178,220, 88,151, 99, 52,241,172, +196,249, 84, 9, 49,245, 60,161,207, 7,150,215,149,166,125,235, 2, 19,214,117,158, 65, 81, 59, 35, 0, 93, 79, 73,250,185,209, + 51, 61,137,172,139, 29, 47,121, 62,190,233,107, 95,133,139,247, 93,128,151, 92,122, 25,222,255,145, 59,129,175, 60,180,194, 30, +224,113, 56,193,231, 52, 16,109,241,158,247,151, 27,239,215,232, 89,184, 84,138,207,189, 4, 96,121,174, 34, 3, 14,203,143, 65, +202,229,207, 96,100, 2, 44,171,142,209, 20,207,215, 29,209, 28, 81,123, 14, 81,171,149, 25,136,158,173, 50,117, 87,188,225,149, +216, 55,179, 19, 95,125,224, 33,192, 11,192, 50,179, 49, 9,112,252, 36, 80, 22, 27,159,251, 52,161,123, 59, 79,175, 78,155,246, + 66,105,233,119, 47,233,186, 73,198,140, 98, 30, 80, 45, 26,160,183, 68, 19, 58,109, 98,220,253, 62, 48, 51, 75,243, 59, 24, 0, + 42,163, 57, 24, 20, 52,199,176,128,110,211,251,129, 5,127,107,137,150, 8, 79,239, 39, 45,154, 19,239, 42,250, 93,148,145,176, +210,251,170, 70,147,207,246, 28, 74,162,125,240,174,198, 27, 52,205,111,164,175,194,159, 27, 58,211,202,136,191, 24, 3,148,142, +133, 23, 71,124,211,243, 79,193,130,148,117,244, 25,235,129, 86, 90,209,135, 68,211,124, 13,150,104,141, 22,151, 0,153, 1, 58, +217, 98,166,110, 52, 73,110, 83, 93, 98, 52, 89,139, 78,163, 47, 55, 38,213,155,154,150,113,198,225, 18,172, 9,242, 97,142, 31, + 19,146, 25, 78, 1, 56, 55,126, 64, 19,102,196,166, 38,221, 43,150,206,108,121,230, 61, 66,124, 6, 69,247, 25, 70,173,212, 19, + 97, 84,124,128,165, 4, 82,131,233,171, 46,198,174,189,187,177,112,114,142, 62,123, 54,139,109, 50,218, 96,126, 98,190,152, 38, +193, 75, 34,208,146,159, 79, 25, 32,213, 64, 59,199,174,169, 41,116, 59, 57,164, 48, 72,117,130,221,121, 7,222, 58, 76,229, 57, + 4, 72,152,203,146, 20, 62, 4, 20,142, 55,135, 0,109,144,193,128, 54, 84, 96,105, 80, 5,210, 10, 18, 69, 19, 82, 88, 34,144, +195, 33, 63, 27,207, 63,226, 51,241,188, 26, 65,115, 36,248, 64, 11, 65,147,157,112,207, 30, 9, 18,178,228, 58,153, 66,212,140, + 20,191,140, 28, 95,223, 85,133, 0,205, 19, 23,173, 6,231,136,145,107, 69,251, 55, 8,160,219, 2,134,125, 98,220, 11,139, 36, + 0,246, 23,128, 86,151, 24,123,183, 11,204, 47,208,153, 89, 92, 32,162, 90, 22, 43, 11,186, 82, 84, 47, 8, 98,108, 82,240, 61, + 19, 58,119, 73, 77, 8, 82,154, 9,153,160,121,119,229,218,243,183, 18, 99,139,140,125, 76,216, 92, 31,212, 75,175,193,171, 95, +246, 82,156,127,233, 37,208,207,219,137,185, 2,248,142, 87,190, 12, 51, 59,102, 49,232, 15, 48, 59,211,197, 37,187,207,195,103, + 62,243,185, 51,247,126,212,108, 60, 0, 25, 42, 33, 67,177, 42, 39, 88,178,156,124, 30, 33,232,156, 71, 11,159,103,109, 76, 50, + 51, 89, 85, 75,183,227,170,120,156, 15, 85, 19,234, 77,100,232,188,215,189,171,180,244,184,255,227,125,227, 89, 17,188, 47, 86, +153,187, 19, 65,224,171, 95,250, 74, 37, 80, 35, 16,253,156,155, 7,250,131,205, 9,196, 66,208,120,179, 22, 32, 12,208, 63, 13, +136,132,158,211, 6, 32, 55, 76,163, 53,224, 11, 58,115, 66,145,130,212,105, 3,193, 0,253, 69, 64,166, 52,238, 97, 65, 22,132, +194, 3,153, 34, 70,159,104,182,208, 1,240, 3,162, 25, 70, 19,225,113,172, 93, 2, 52,126,103,129,162, 24,127, 95, 37,204,244, + 37,189, 63, 44, 42,165,101,179, 86, 33,147, 1,157, 14, 41,153,138,133, 26, 95, 83, 18, 35,255, 48,252,203,122,206,198,217,162, +228,189,165, 21,208, 50, 52,247,115,139,180, 62,145,127,132, 0, 36,105,197,144,132, 36, 75,155, 43,217,154,225, 1, 59, 4,172, + 2,130,170, 4,131, 16,160,183,216,158, 65,147, 24, 15,134, 7, 61,116,232,210,100,174,151,225, 13, 61,153,146,213, 4, 97, 49, + 41, 49,190,222, 18, 96, 23, 43, 83,165, 94,197,100, 25,255, 63, 50,179,240, 97,140,230,150,149,190,211, 31, 2,166,164, 49, 56, + 95,227, 11, 44,185, 74, 77, 7, 63, 8,132, 16,112,108,105, 0,244,203,179,159, 63, 45,232,103,185,220, 56,226,125,217, 12,158, +101,180, 49,243, 12, 59,186, 57,118,228, 45, 12,221, 16,137,202, 32,132,130, 11, 64,102, 52,156, 4,114,149, 96,105,232, 97,132, +198,206,118, 27, 30, 14,189,185, 5, 58, 88, 96,169, 48, 97,105,189,112,244, 28, 33, 84,204, 48, 75,129,165, 97, 69,192, 38,101, +174,232, 34, 1,152,241,250, 74,147, 49, 44, 17,103,220,183, 39,240, 26,219,117, 16, 36,157,215, 23, 13, 8, 9,216,231,177,242, +119,172, 29,215,108,109,237,255,219,141,200, 7,140, 38,162,215, 27, 18,227, 94, 90,168,126,182,235,140,188, 79,103,100,105, 1, +104,231,116,112, 53,239, 45,187,140,182, 88,103,182, 33, 18, 64, 79, 68,184, 45,201,173, 18,173, 37,245,253, 47, 5,237,219, 44, + 95,223, 57,156,156,195,213,204,254,107,201, 7, 47,185, 18, 95,187,111, 47,174,250,154,125,208,198, 64, 10,133,223, 93,248, 71, +180, 90,109,244,123,125,120, 15, 44, 44, 14,177,184,184, 0,180,103,128,211, 79,158,121,145,200,152, 81,147,209,156,175,230,123, + 37, 39,162,243, 36, 16,148,182,178,210,149,126,229,207,215,199, 85,223, 75, 35,147,176,174,148,131, 58, 61,113,252,249, 96, 1, +175,171,117, 26,185,168,252,184,213, 99, 53, 28,121,164,114, 97,214,233,206, 70,247,175,214,192,142, 61,192,220,177,138, 65, 58, +144,146,165, 88,200,142, 90,184,101,197, 8, 69,181,238,129,191, 19, 21, 31, 33,129, 84, 0,133, 1,100, 73,230, 96,128,172,122, +138,207,169,244, 36, 72,150, 53, 58, 16,215,173,176,149, 18, 81,176,229,161,254,126,152,120, 63, 77,170,239,109,202, 5,204,252, +103,166,195, 22,137, 41,114, 55,198,131,101,249, 30,113, 47,157,141, 66,182, 25,198, 94, 12,137,142, 11,144,176,191,180, 64,252, + 45,142,185,100, 26, 17, 93,174,174, 32, 1,107,169, 79,251,201,150, 68, 3,134, 5,241, 93,222,151, 91,167,169,107, 77,230,129, +118,206, 27, 56, 84, 62,184,192,155, 82,201,117, 74, 92,158,181, 80, 81, 17, 74,161,201, 7,209,105,209,239,118, 88, 73, 85,107, + 73,174,241, 96, 73, 65, 23, 11,108,118, 91,237,144,120, 71,207,106, 45,253, 46, 88, 43,138, 38, 35,207,215, 45, 74, 12,143,158, +130, 59,118,146,124,116,103,101,233,144, 44,233,218,149,205,155,237, 46,155, 1, 19,250,188, 80,232,116, 50,236,105,229, 8, 65, + 32,211, 6, 65, 8, 40, 8,116,187,109, 20, 69,137, 92, 75, 88,235, 96,164, 70,225, 75, 88, 31,224,124,192,208, 89,146,136,123, + 5,141,175, 28, 18,179,141, 82,171,103,198,238, 1, 12, 29, 32,108,181,150,214,146,164,169, 36, 19, 75, 95,249, 15,203,104,170, + 21,100, 85,128,228,107, 50, 69, 43,216, 60,191,218,218,141, 76,157,178,230,152,148, 36, 56, 24,189,242, 62,138,102,210, 51,172, + 28,231,128,161,167,124, 64, 61,107,145,214, 3,121, 70, 26, 87,194,254,208, 84, 1, 69, 77,115,239,228,180,111,146,148,215,193, +144,182, 82,186, 51,173, 87, 62, 48,115,246,164,237, 40, 65,231, 43, 18, 92, 35, 73,106,183,174,102, 45, 96,247, 72,159,199, 63, +236,173, 95,235,153, 20, 34, 54,193,208,209,202,112,222,197,123,112,253,181, 47,133, 84, 18, 40, 61,172,183,184,176,211,193,253, +143, 63,134,233,172, 13,231, 28,250, 75, 61,220,253,224,151,113,242,209,199,136, 67, 78,238,139,145,182, 43,170,222,142,163, 88, + 14, 63,238,243,142, 46, 9,107,137, 70,200,168,197,176,150,166, 4, 9, 79,235,177, 86, 76,154,127,101, 77,217, 40,121, 93, 74, + 95,249, 61, 71,123,149,233,159,175, 53,152,148,172,109,173, 71,211,246,172,249, 59, 55,238,110, 92,139, 6,207,204, 18,109,112, + 14,216,247, 60, 96,182, 5, 28, 63, 77,174, 29, 37,137, 49,200, 26,141,147,129,253,177,108, 5, 17,146,155, 91, 74, 87,209,197, + 0, 0, 32, 0, 73, 68, 65, 84, 91, 64,164, 76,135, 44,157, 99, 33, 88,160,103, 97, 74,176, 98,148,105, 32,176, 63,221, 59,154, +223, 44, 39, 70, 21, 93, 36,142, 77,198,113,191,134, 64, 52,192,242,121,174,191,239,253, 72, 97, 66, 89,174,233,174, 88,214, 85, + 3, 73, 99, 73,216, 21, 21, 45, 36,139,189,113, 75,144, 96,186, 20,194,185,119,241,149, 76, 67, 3,211,222,162, 36, 6, 45, 37, +173,137, 2,209,144, 52,231,253,164,200,162, 42, 68,245,188, 49,158, 42,225, 88, 51,200, 45,212,212,173, 37, 77, 53, 41,136,185, +199,255, 73,150, 6, 53, 7,119,181,176,190, 96,157,178, 32,115,162,103,102, 23,253,231, 0,153,155,149,220,216,243, 45, 43,133, +105,140,205,192,106,196,202, 90, 18, 38, 34,145,140,140,119,181,192,166,141,162, 55, 24,215, 16,150,115, 75, 56, 75,139,108, 12, +187, 9, 36,178,212,160,231, 45, 90, 82, 35,176, 58,210,110,231, 80, 2,104,165, 6, 67,235,160,181,198,192,150,104,235, 12,115, + 69, 31, 74,177, 25, 63,106,124,182,168, 44, 23,253,146,214, 48,176,198, 62, 12,204,208,253,153,166,225,146, 41,171,172,153, 42, + 13, 31,170,210,159, 25,195, 80,128, 2, 13, 97,104, 44,171,238,129, 72, 68,121,190,181, 1,116,151,168,121,137,229,131,133, 38, + 25, 58, 91, 20,105, 78,129,181,205, 3,103, 33,212,250,154,181, 31, 0, 18, 67,218, 76,198, 65, 44,194,144,116,173, 13,249,194, + 90, 6,152,103,159,122, 57,164, 57,239,245,105,223,235, 9, 70, 53, 50, 33, 79,104,161,163,128, 70, 11, 68,119,121,167, 13, 12, +248,187,169,168,108,196,253,254,198,181,158,209, 51,212,230,114,131,152,210, 64, 49, 24,192, 7,192,200, 4,195, 65, 31, 90, 73, + 28,190,235,203, 16, 65,160,103, 45,180, 82,120,224,190, 71, 72,123,145,171,156,109,137, 51, 25,108, 60,219, 90,147,127,119, 4, + 14,132,115,254, 76,237,125, 61,150,155,229,222,183,182, 90, 7, 35,171,253, 20,233, 81,253, 94,206, 87,110, 65, 37,207,124,142, +173,222,127,251,158,135, 23, 92,121, 41,250,118,128,135, 62,241, 89,224,241,199, 89,144, 40,128,192,227,205,178,106, 14,163, 11, + 82,241, 89,106,101,180, 63, 18,205,214,194, 1,187, 18, 88,115, 22,236, 62,163,224, 30,214,204, 19,118,201,241,225, 46, 11, 64, +118, 56,182, 74, 0,105, 27, 56,122,188,178, 52, 90, 0,130,125,240,138, 15,203,136, 31, 88,114, 9,196, 56, 40, 36,213, 26, 70, +235,213,228, 17, 54,186,218, 20,161,224,247,116,165, 28, 14, 88, 27, 78, 21,157, 69,233, 55, 47,160,110,194,240, 10, 68,107, 15, +206,124,118,128,207,100, 89,173,143,201,128,225,128, 20,132, 97, 65,214, 12, 45,136, 38,179,177, 18,185, 33, 75,114, 12,236, 75, + 59, 52,239,173,108, 27, 2,229, 70,129, 41,178,242, 61, 7, 79, 27,194,241,131, 75, 54,189,174, 71,244,138, 82,148,247, 85, 48, +138,102,230, 55,100,191,143, 97, 13, 92, 49, 99, 89,175,251, 84,235, 51,163,225,253, 26, 95,150,158, 36,167,250,207,237, 56,167, + 43, 73,140, 89,194, 17,145, 45, 54,141, 11,200,156,152,119,106, 20, 0,129,194, 23,232,152, 12, 50, 0,105,150, 34, 75,114,136, + 0, 72, 41, 49,180, 14, 18, 2, 65, 6, 72,225,177, 48,191, 68,146,112,105,129,254, 82,229,187, 73, 21,109, 44, 40, 58,216, 90, +179, 84, 30, 38,226, 21,216,159, 43, 88,155,143, 18,111,124, 9,144,214,168,120, 95, 68,134, 94,128,136,247,106,218,146,143, 26, + 0, 7, 57, 6, 73, 17,182,237, 22, 73,223, 74, 2,189, 30, 61, 91,183, 11,236,222,197,153, 10,110,124, 13,235,107,236,183,241, + 0, 75, 89, 89,150, 0, 10,232, 18, 28,116, 89, 14,137,145, 7,102,232,195, 33,141, 97, 56, 4, 90, 45,142, 56,102,243, 90,150, + 80, 20,108,180, 56, 24, 38,160,137,170, 2,212,140,162,117, 80, 81, 19,172,197,130,104,205, 62,182,232, 35, 68, 21, 92, 51,236, +175, 79, 67, 93,201,173,128, 13,134, 38,180, 50, 96,215, 30, 20, 74, 96, 71, 42, 49,219,157, 70,175,223,199,112, 56,196, 35, 39, +158,192, 87,189, 2,144,225,248, 98,129,199, 22, 22, 17,220, 2,176, 56,207, 22, 9,185,178,182, 94,223, 99,117, 31,169,209, 36, +240,107, 65, 86, 38,189,134,185,123,179,154,153, 16,149,229,174,100,171,100, 12, 68, 4,107,159, 49, 6,194,251,241,159,194,173, + 62,135,209, 7,190,209,224, 80,182, 40,236,190,232,124, 60,126,122, 14,229,227,199,198,227,139,226, 53, 11,214, 4, 93,180, 90, + 70,171,130,169, 4,112, 41,232, 25,139,130,246,111, 12,246,147,130,104,133,103, 6, 26,216,109,167, 2,251,231, 29,199, 33,149, + 64,154,209, 61, 74, 14,128, 83,134,232,129,209,116,246,133, 96,166,165,232, 59,153,193, 40,235, 70, 9,122, 30, 25, 5, 83, 67, +180, 57, 97, 6, 30,199,164, 65, 1,117, 41,251,255,163, 79,124,204, 69, 5, 14,238, 27,112,180,184, 59,119, 26,185,172,187, 2, +153,183,248,101, 92,133,214,210,217,215,154, 63,227,121,252,188,215,250,253,138,255, 69,225,220, 59,162, 21,146,227,159,134, 44, + 12,155,214, 22,251,212,173, 37,127,183, 97, 34, 54, 23, 72, 75, 25, 29, 6, 11, 12, 2, 75,253,122,121,173, 73,235, 74, 18,206, + 19,250,136, 97,166,141, 2,152, 31,208,134,105,165,181,168,245, 80,105, 17,253,130, 36,154,224,151,247, 75,174, 37, 89,173,246, +121,187,194,207,115, 5, 15, 34, 30,253, 62,208,109,211,191, 74, 15,159, 1,131,210, 67, 25,137,212,104, 12,220, 0,185,153,169, +132,217, 76,163,191,216, 67, 22, 3, 47,250, 22,214, 7,154,183, 1,175, 89,180, 20,104, 13,244, 44, 75,125,156, 98,177, 82,234, + 79,157, 48, 46,231, 67,140, 38, 80, 37,233,160, 75, 77,218,100,212,250,215, 66, 97, 89,171,103,159,125, 61, 69, 40,254, 34, 52, +208,237,208,181, 91, 25,153,176,173, 29,215,210, 55,169, 97,110, 92,163,173, 91,144, 60, 73, 48,145,161, 23,236,124,237, 15,129, + 60, 37,201, 59, 79, 41, 29,168,157,147,175,207,104,122, 63, 30,246,186,102, 94,122,118,207,248,113,173,189,230,213,128, 4,125, +127,116,222, 98, 90,105, 56, 55,155,181,126,118,101,130,233,107, 46,195,193, 43,246, 99,110,176,132,196,164,120,228,241, 71, 49, + 40, 29, 74,239, 48,191, 20,240,245,151, 92,134,157, 83,211, 72,211, 20,206, 14,241,240,241,199,240,201,197, 62,249, 22, 87,242, +111,174,166, 89, 41, 89, 9,142, 81,120, 92, 78,131,158, 36,170, 27,213,190, 70,230,247,154,149,106,228, 6,169, 89,139,226,255, +198,126,174,131,200,104,156,233,203, 95, 15,230, 23,240,249, 79, 28, 30, 79,233, 93,110,204,206, 87,154,178,226,179, 37, 11,182, +126,121,178, 18, 9, 73, 90, 99,244,141,215,253,225,206, 3, 34, 39,191,186, 47, 57,162,190, 95, 99,218,158,211,109, 65,138, 92, + 89,140, 91,179,226, 62,137,231,101, 56,160,207, 37, 28,135, 98,107,251, 85, 72,122, 62, 88,142, 51,146, 53,134,206, 86, 25, 27, +170,207,198,185, 23, 53,247,137,139,238, 87, 22,114,207, 5,162,101, 65,215,246,173,214,213,218,142, 89,193,106,207, 28, 5,115, +233, 1, 47,145,188,232, 82, 92,123,241,101,248,167, 79,126, 10, 56,122,146,206,115,156,191,222,128,180,244, 98, 80,155,211,114, + 27, 82,218, 60, 75,127,253, 1,105, 42, 34, 0,150,165, 88, 23,216, 68, 51, 65,100, 12,107, 36,210, 0, 45,246,129,228, 44,133, +228,156,171,151,179, 79, 40, 99,115,132,214,100,222, 20,138,222, 51, 28,138,106, 20,249, 41,140, 33,237, 78,196,136,225,154,228, +191, 90, 0,208,102,165,184,115,145,118,165, 36, 77, 91,150,179, 79,209, 67,182, 51,132, 32,209, 74, 21,180,148, 80, 80,200, 84, + 10,201,129, 34, 89,146, 99, 80,150, 48,198, 64, 72, 1, 91,150, 72,147, 20, 71,142, 31, 39,237,188,215, 35, 51,187,117,227,254, +195,232,119, 93, 77,178,141,140,187, 30,225, 43,196,184,176,229,125,165,157,196,148,184, 98,184,126,191,226, 72,152, 9, 64,193, +154,144,240, 64,191,199,254, 39,254, 92, 98,104,147,187, 1, 89,130, 38, 92,241,180,221,182,112,125, 76, 50,158, 30, 19, 5,155, +122,154, 95, 80, 85, 10,149, 49, 52,110,149, 82, 60,136, 76,232,103, 43, 35, 77, 93,165, 36,236, 56, 87, 17,128, 24,157, 27,153, +118,212,202, 3, 11,119, 8,227, 65,113,129,231,167,180,100, 73,114,172, 37, 57, 54, 65,151,229,246,237,205, 52, 33,107,140, 96, +141,238,210,139,241,154,253,251,208,233,182, 48,219,157, 69,112, 30, 15, 28, 63,137, 79,125,238, 49,156, 14, 22,179,173, 14,118, +118,102,113,222,238,243,176,115,231, 44, 90,211, 83,104, 67,195,230, 10,199,164,165, 0,194,141, 70, 34, 7, 94,107,167,136,120, + 75,201,209,242, 28,139, 16,194,230, 77,175, 87, 93,138, 87,188,250,149,120,252,203, 95, 97,203, 17,223, 43,212,180,116,137, 42, +214, 33,132,181,125,245, 43, 9,238, 82, 87,214,192,141, 98, 88,172,108,145,138,231, 91,202,202, 37, 19, 2,113, 58,231,201, 26, + 20,221,114,222,113,160, 91, 12,126, 85,100,253,136,103,200,179,175, 95, 71, 75,105, 66,239, 69, 11,192, 40,138,155,173, 68, 25, +167,202, 37,170,218,139, 49,230,202,123, 32,105,115, 44, 9, 31, 86,193,177, 10, 66, 87,227,137,181, 1, 50, 14,248, 27, 22,108, +253,144,149, 37, 46, 94, 87,240,218, 72, 89,179, 90,249,181,231,127, 43,249,160,175,107,235, 76,136,150,219,115,245,117, 25,101, + 35, 13, 1,239,144, 95,188, 23, 74,120,156,252,194,131, 85,182, 82, 60,235, 49, 35, 75, 73, 10, 34,239,245, 0, 41,183, 73,127, +169, 75, 34,214, 2,105, 12,146, 67,165,161,197,232, 68,112,128, 79, 98,104, 80, 90,147,175, 49, 58,125,234,135,177,157,210, 6, + 44,107, 3, 75,217,228, 34, 2,144, 43,192,114,238,159, 99,194,103,153, 72,150, 49, 10,118,139, 35, 28,235, 38,148,237,198,176, +224, 40,244, 69, 0, 29,192, 8,120, 59,132, 85, 2, 11, 67, 1,151, 2,169, 73, 49,176, 5,218,121, 27,153, 49,176,174,207,177, + 85, 30, 90, 8,132, 52,193,241,185,121,168, 68,193,249, 64,115, 50, 55, 87,153,122, 67, 77,197,181, 27, 12,168,170, 23, 38,169, + 23,141,152,244,101,215, 53,144,181,180,145, 40, 92,148,236, 35, 29, 44,156,185,215,230, 23,232, 85, 87,167,108, 93, 61,183,103, +191,198,209, 55, 42,216, 71, 89, 22,227,207, 30,247,150,224, 98, 51, 66, 2, 97,192, 41,101,236, 75,207, 83, 50,147,165,172,169, +171,148, 35, 94,185,232, 71, 50, 17,185, 63,233,163,143,130,157,243,227,154,123, 56, 71, 62,194,245,104,232,140, 61,179, 93,236, +236,182, 1, 72, 12,122,125, 8,157,226,138, 93, 59,240,249, 47, 62,137,249,185, 30,220,244, 78,204, 78,119,209,233,228, 40, 16, +208, 73, 18,228, 23, 93,136, 52,203,161, 80,226,190,167, 78,110, 60, 26,217, 70,127,112, 89, 17,241,122,116,181,192,250,162,207, +151, 67,223,226,177,147,199,198, 93, 58, 30,103,186,240,228, 50, 86,129,245,222, 55, 42,241,147, 62,228,205,248,114,237,106, 26, + 36, 42,223,178,146,149,191, 28,168, 50, 42,100,140,137,225,224,221,200,220,125, 44,188,227, 41, 47,186,228,232,249,122, 16,109, +116,189,196,115, 27,153,176,170, 69,195, 39,181, 40,239, 52, 97, 87,138,102,193,150,231, 75,129, 76,240,162, 46,160,179,230, 31, +179,153,172, 37, 97, 64,162,218, 47, 49,248,110, 50,142,226, 92,159, 9, 76, 88, 92,244,132,159,125, 57, 30, 98,146, 42,198,192, +104, 44,222,125, 63, 30,168,143,181,174, 4, 71, 1,101, 88, 80,102,209,182,248,212, 87,130,115,149, 47, 38, 6,183, 36,138,136, + 91,154,176, 54,158,210,207, 78, 70, 82, 93,146, 80, 68,112,167, 77,154,122,150,144, 86,158,166, 28,136, 39, 41,114,216,129, 52, +243, 68,115,254,163, 35,255, 76, 2,146,250, 18,195, 26, 61,136,241, 27, 93, 85, 71, 91,205,180,183, 94,205,219,251, 42, 29,218, +215, 14,213,182,237, 33,174,118, 17,163, 84, 11,139,144,103,108,153, 87, 72,165, 66, 98, 12,116,106, 80, 12, 75, 20,195, 1, 68, +224,200, 79, 9, 44, 46, 45, 65, 74, 9,143,128,254,226, 2, 11, 64,156,131, 30, 56, 90, 84,200,113,115,250,122, 24,250,114,154, +201, 74, 69, 84,162,105,172,158,123,189,165,146,115,221, 1,124, 22,215,141,218,120,244,151,135, 64,204, 57,203,106,126, 83,206, +179,245,158,133, 34, 22, 34,149, 34,138,166,162,166,193,133,104,178,148,211, 37, 13,229, 3,231, 45,250, 59, 73,201,135, 89,183, +126,104, 78, 1, 84,130, 52,160, 80,211,204,117,204, 44,169,105,134,246,105,170,220, 23,235, 74, 4, 54,183, 66, 98,169, 44, 48, + 61,211,197, 84,154,194,100, 41,138,126, 15,255,124,236, 73,156, 56, 49, 15,184, 18, 75, 18,184,124,199, 94,152, 36, 67,107,170, +133,150,209, 16, 70,192, 11,131, 86,218,133,106, 39,120,234,248,137,141, 51,246, 80, 99,230,113, 79,202,122,142,120, 88,249,172, +215, 35,231, 39,247,227,233, 57, 44,124,229,171,172,157,170,106, 91, 69,159,180,168, 49,143,229, 74,108,136,117,156, 13, 95,123, +150,141,158,135,250, 24, 48, 49,134,169,221, 85, 65,174,120,109,231,200, 87, 29,159, 57, 97,230, 46,153,134,198, 26, 32,138, 9, +155, 81,100, 1,203,100, 37, 80,186, 88, 72,166, 22,189, 30,239,233, 10,218,251,157, 46,237,113, 25,200,130,162,216,106,226, 60, +199,219,200, 90, 96, 28, 75, 69, 90, 18, 51, 15,181,245, 84,236,231, 87,158,252,243, 96, 33,210, 22, 85,150,192,164, 53, 36,106, +235,126,157,180,105,171, 53,117, 41, 43,139, 75,100,220, 30,203,199,138,140,206, 18, 91,187, 12, 71,236,151, 37,205, 65, 89,146, + 59, 68, 49,115,137,149, 9,227,184,173, 37, 30,155,118,206, 17, 83,143,155, 78,178,223, 67, 73, 98,206,221,156, 24,238, 84,135, + 24,181, 49, 80, 51, 83, 8, 82, 35,105,231,208,105,138, 60, 53,208,218,160,155,182,144,167, 41,188,210,104, 39, 57, 84,150,192, +123, 9,145, 39, 8, 38,173, 22, 50,230, 54, 6, 80,192,151,102, 63, 81,158,112, 0,142, 34, 98,109,125,149, 86,101,237,120,144, +156,201,200,156,148,242,225, 88,206, 12,168,107,135, 16,190,242,219, 70, 62,178, 93,140, 61, 10, 17, 14, 52, 22,235,128,225, 0, +161,221, 6,124,128,215, 64,110, 52, 92,225,144,153, 4, 74, 25, 88, 81,194, 59,135, 65,105,225,157, 71,225, 28,158, 56,117,154, +221, 36,108, 10, 86,160,181,136,135,204,121,170, 78,182,158,192,146, 72, 40, 70,102,164, 85, 76,135,145, 97,197,234,100,145,216, + 10,241,204,170, 26,167, 57, 63, 55,237, 96, 20,188, 34, 36, 9,140,165, 37, 33,211,113,174,104, 12,228,209, 76,120, 50,195, 65, +115,108, 41, 50,138,136,143,228, 50,191, 50,173,254, 14, 37,125,182,232, 85,135, 63, 30,110,128,138,126, 4, 22,226, 66, 32,226, + 56,202,215,230,128, 48,241, 52,165,228,140, 24,150,160,241, 75, 84,197, 67,164,196, 87, 37,112,225,142, 14,230, 22,231,113,124, +241, 20, 62,251,232, 81,224,216, 34, 48, 40, 81,218, 18,143,244,150,176,167,221,198,212, 84, 23,202, 72,244, 22, 29,164, 1,118, + 77,207, 32, 19, 45, 12, 18,133,147, 39, 87, 96,236,145, 1,215,199, 60,242, 77,178,107, 34,254,172, 7,214, 45, 87,177, 47, 22, +154,138,230,231,181, 82,111, 99,208, 88,168,107,237,126,252,250,171, 69,240,175,154, 74,235, 55,185, 87,107, 26, 97,140,101,137, +140,254,188, 61,180,215, 6, 75,227, 2, 64, 20,198,227, 94, 83,181,160,227,193,144,246,117, 97, 57,232,149, 43,174, 41,158, 83, +235, 72, 16,136,174,174, 24,180, 8, 84, 1,109, 49,157, 44, 97,166,109,251,204,240, 57, 61, 51,225,243,161,146, 90,234, 28, 11, + 16, 37,187,173,130,160,152,170,146,105,170, 54,236, 94, 77, 86,175, 56,183,234, 26,216,237,175, 69, 85,103,226,245,245, 89,203, +244, 31, 3,253,226,126,205,146, 42,200, 50,102, 41,197,191, 77,139,232, 73, 43,163,201,145,150,178,126,207,154,169,155,140,152, +179, 72, 43,226,183,156, 36, 47, 88, 59,207, 18, 96,166, 77,149,182, 50,174,246,147, 25,116,186, 29,228,173, 14,114, 99,176, 51, +107, 97, 42, 75,208,209, 6,157, 36,195, 76,146, 34,209, 6,221, 36,135, 16,192,174,164,141, 60, 49,112,240,152, 78,114,104,101, + 16,180,132,206, 18, 56,161, 72,147,213,236,207,148,236,103,151,236,227, 28,153,255, 85,149, 11,238,107, 26,157,166,234,108, 84, + 25,140, 75,163, 46,119,192, 71, 49, 47,190,182,112,181,107,216,237, 76, 95, 81, 76,200, 11, 10, 18,113, 14,232,247,225,124, 64, +222,201, 81, 6,139,174, 78, 33, 37,112,122,176,132, 84,165,152, 31,246,161, 4,105,232,167,250, 75,176,206,195, 45, 46,144,134, + 88,122, 46,183, 91,115,119,104,205,230,102, 93,229,247,110, 84, 81, 94, 73,171,243,126, 60, 37, 49,154,228,156,123,230, 48,116, +128,181,236,146,230, 58,106,206, 46, 70,168, 70, 77,198,208, 70,208, 44, 61,199,207, 12,122,148,122, 40,234, 46,132, 1,205,113, +209,103,237, 62,212,222,175,229, 68,143, 42, 42,178, 85, 35,136, 42, 71, 56, 75,168,138, 84, 98,232, 25,158,183, 7,152, 91,170, +245, 62,136,230,240,132,204,158,144,103,250,254,183, 67,208,204,116,205,204, 44, 1, 55, 64,120,226, 36,190,252,197, 35,120,232, + 75,143,224,241,135,143, 1, 39,231,200, 26, 81,246,129,211,115, 40,150, 22,240,144,243,152,209, 41,132, 76, 32,181, 66,158, 25, + 12,134, 5,138,210, 98, 74,165,184,127,176, 72,197, 54,234,193, 86, 53, 98, 45,164,164,151,247, 16, 35, 66, 30,234,106,116, 37, + 68, 46,199, 52, 71, 74,128,172,162,191, 29, 87,251, 90,105, 63,142,238, 17, 42, 97, 52,230,164, 79, 6,142, 46,251,253, 45,204, +154,169, 51, 12, 37, 43,237, 91,212,202,212,206,159,174, 24,122,125, 14,116, 45, 98,220,203,170,250, 94, 96,229,199, 57, 14,238, +146, 20, 35,101,244,184,245, 35,230,154,199,223,163,198, 62,138,223,224, 10,135, 78,208, 30, 44,152, 94,106, 95, 41, 63,138,149, +147, 80,144,165,214, 59, 18, 20,180,167,136,122,237,171, 2, 63,224,115,161, 76,229,215,183, 88, 61,134, 96,108, 29,248,156,217, +115, 32,252,142,197,111, 69, 43,181, 92,159, 53,205,232, 42, 54, 32, 86, 51,141,213,248,164, 98, 43, 96,168, 2,228, 98, 28, 69, +214, 1,236, 86, 4,202,237,216, 9, 76,119, 41,221, 40, 36, 36,225,141, 24, 36,251, 64, 4, 7,190,181,217,148,222,105,115, 4, +123, 11, 59,166,167,208, 54, 45,116, 76,130, 78,146, 99, 38, 75,161, 32,161,165,161, 84, 45,157,162,163, 83,104,109, 0, 8,236, +109,205,162, 95, 14,161,164,196,116,210,130,112, 64, 46, 53,118,152, 22, 44, 60,114,147,194, 9, 1,167, 98,105, 82, 84,126,161, + 36,154,149, 5, 73,122,193,115,128, 29,170, 3, 28, 43,129, 73,206,135,177, 97,101, 63,124, 93, 35,151, 53,230,190,221,146, 96, + 12,166,138,229, 6, 93, 73, 11,172, 12,250, 58, 65,158, 26,204, 23, 3,180,148,129, 86, 26,189,114, 0, 5,137, 94, 89,160,231, + 10, 44, 21, 67,244, 23, 22,105,124, 67, 75, 25, 10, 69, 96,169, 56,169, 2,208, 16,106,105, 44,203,104, 55, 70, 19, 97,208,106, +109, 77,123,100,218, 20,227,129, 43, 81,235,113,254,220, 4,176,172, 7, 89,194, 37, 43, 89,160, 41, 89, 27, 47,125,165, 45,107, + 54,123,167, 6,163,200,220,140, 45, 64,142,211,134,162,115, 83,166,156, 26, 8,210, 76,226, 26,198, 26,225, 10,227, 65,108,130, + 53,126, 17, 53,164,218, 30, 11, 92,200,135,215,235, 5,215, 93,133, 99, 71, 30, 27, 39,108, 74,146,245, 37,112,160,216,185, 48, +203,199,234,129, 34, 84, 65, 84, 49,101, 42,112,122, 31, 64,251, 52,174,243,176,128, 91, 42,241, 72,217,199, 46,157,161,213,202, +160,180,198, 82,111, 8, 95, 6,244,122, 61, 40, 25,112,162, 4,196, 96, 8,161, 0, 17, 2,164,146, 16, 33,140,106,208, 8,128, +152,122,252, 41, 37, 4,107,233,228,117, 11, 92, 90,194, 46, 47, 32,123, 89, 85,153, 68,168, 52,214,114, 29, 1,103,129,131,126, +203, 9,139,214,106,154,226, 86, 50, 21, 89,115,149,229, 25,144,228, 36,168, 7,199,251,112, 21, 55,162, 99, 87, 66, 81,210,254, + 81,156, 50, 26,216,106, 81, 63,247,169,161, 57,137,150,167, 1, 23,255,138,166,124,239,171,207,215, 83,173, 6,158,175, 63,172, +138,214, 40, 78,145, 21,204, 27,130, 37,174,237, 74,178, 76,105, 95,179,160,138, 42, 64, 46,240,254, 23, 92,156,204, 59,122,238, +213,148,129, 49,235, 33,206, 61,125,241,126, 92, 91, 95, 47,125,143,138, 69,228, 97, 81,216,178,101,149,206, 22,106,244, 42, 6, +133, 58,191, 5, 76,189,213, 33,205, 91,176,201,182,224,218,224, 58,214,234,230, 42,115,218,144,223,124,231, 12,144,166, 72, 59, + 45,156,223,238,192, 8,137,110,146, 34, 55, 41,140,148,104,233, 12,146, 37,200,110,210,230, 30, 38, 26,137,212, 80, 8, 24,122, +135,220,228, 16,193,195, 7,143,204,164,240,206,194,134,128,142, 74, 49,116, 5,164, 18,104,155, 20, 94,122, 40,149, 0,218, 32, +128, 55, 99, 96,139,193,192, 81, 64, 94, 97,163,184, 72,230,139,210,113, 78,101, 96, 45,189, 88, 99,211, 76,254,244,235,207,147, +223,138, 13, 86, 39, 30, 37,231, 63, 39, 25, 16, 2,250,174, 68,233,135, 8,222, 99,161, 28, 32,192, 97, 97, 80, 96, 97, 56, 36, + 63,186,141, 1,140, 49,135, 54,208,239, 41, 91, 86, 60, 7,124,197,138,122,117,233,243,140,226, 63,107,152,127, 71,121,186, 98, +156,153,215,115,143,183, 58, 66,125,179,126,116, 37, 40,146, 52,145, 92,222, 54,106,238,204,128, 99, 99,161,161,163,130, 50,129, +173, 28, 14,180,151, 2,184,172,227,160,202,227,183,150, 53,255, 58,225,231,235, 21, 19,190,255,232,195,143,213,184,130, 39, 95, +162,136,101,132,121,203, 42,224,216,163, 79,156,217,224, 67,178,214, 21, 3,136,206, 69,151,188,229, 42,160,197,255,201, 9, 70, + 24,159,209,147, 0,228,150, 22,241, 21,111,209,129, 66,162, 83,244,150,122, 8,176, 56, 49,127, 18, 11,189, 1, 78, 91,143,144, +119, 32,134, 22,162, 28, 64, 72, 49,122, 73, 41,136,105,243,245, 4,107,239,145,161,143,121, 9,150,211,210,163, 63, 57,174,111, +244,191, 23,182, 86, 55,127, 45,183,211, 42, 12,215,218,202, 29,229,183,161, 97, 72,156,211, 68, 83,161,151, 86, 74,123, 68,112, +115,160,181, 50, 30,132, 32, 51,174,240, 84,239,161,197, 85,228,138,126,213, 56,100,224, 88,177, 97, 11,100,108,210, 18,215,208, +232,138,201,196, 98, 64,162, 86,237, 80,123,162,255, 49,122,219,250,170, 96, 82,180, 10, 38,130,178,164, 60,151,243, 45, 81, 53, + 3, 27,197,165,112,238,186,103,179,189,183, 85,214,206,102,172,135,171,197, 80,172,228,234, 25,197, 46, 76, 92, 51, 77,206,204, +178,218,140, 91, 37,242, 77, 37,198,104,170,186,230, 50,132,175, 30,165,251, 68,183, 72, 93, 80, 21,213,222, 61,123,166,238,184, + 48,134, 11,192,226, 0, 40,123, 76,192,121,161,179,188, 98,230,211, 93, 36, 89,134,243,167,103,177, 43,109, 33, 55, 9,180, 86, +200, 84,130, 76, 39,200,149,193, 16, 14, 45,147,195, 57, 7, 37, 37, 82,147,142, 36,146,118,154, 51,251, 8,208, 82,195, 8,129, +194,123,164, 73, 11, 1, 30, 66, 0,221,172, 5, 3, 9, 31, 60,140,144, 16, 74, 82,133, 72,163, 16, 98, 1, 4, 1,210,118,162, +143, 29,156,214,225, 37,117,123, 26, 22, 85,112,223,118,164, 1,181, 58,188,112,114,107,180,168, 72, 44, 4, 53, 74, 40, 3,241, +155, 97,240, 40,217,135,238,124,192,124, 49, 68,111,200, 18,118,212,246, 69,189, 46, 53,167,229, 32, 22,248,240, 92, 40,168, 86, +132,166,206,156, 39,137,195, 90,218,186,247, 85,249,210,200,216,227,117, 66,216,222,226, 48,235,133, 98,181, 32, 30, 28,149,208, +254, 94,236, 85,154, 89,146, 0, 94, 81,230,133,141, 37,141,107, 62,111, 88, 98,228,154,171, 98, 5,174, 2, 56, 28,156, 73,105, + 98, 77,246,186,144, 87,111, 0,130, 48,206, 36,141, 38, 51,102, 76,211, 42,202, 51,153, 69, 36,158,177,248,207,118,105, 39,102, + 29, 68,113,181,244,209,200,140,188,128,155, 63,141,135, 79, 44, 32,203,128,133,197, 37,244,251, 67, 44,245,135,152, 31, 20,104, +167, 9,140, 78,208, 23, 30,194,164, 16,101, 9, 17, 28,100,212,210,163,214, 30, 25, 59,207,199,228,207,101, 53, 34,163,137,118, +197,174,111,229, 68, 7,184,201, 0,186,141, 88,147,234, 41,153,103, 35,100,118, 90, 20,131,180,146,175, 95,114, 90, 87,154,178, + 73,157,211,135,203,114,109,250,194,130, 21,188, 7,242, 54, 51,116, 71,110,167, 97,193,193, 87, 28,180, 21, 75,125,219, 48, 94, +122, 57,106,233,178,150, 66, 44,216, 5, 36,185,225, 72, 52,179, 59, 69, 76, 94,161, 54,207,150,127,175,237,219, 24,241, 46, 80, + 5,154,122, 27,205, 50,164,148, 72,177,185,122,237, 41, 23,202, 81, 92,222, 54,210,192,216,140,201, 57,242, 83,151,182,150,165, +101, 43,154, 45, 5,119, 62,228,207,154,140,221,161,220, 88,101, 61,129,191,186,102,233,140,116, 83,131, 43,234, 49, 93,212, 28, + 55, 48, 44, 16,142,159,102, 75,160, 27, 55,201,199, 40,248, 88, 94,118, 88,108, 5, 83, 47,128,165, 30,181,126, 43, 57, 16, 66, + 37, 64, 59,161,158,222,173, 20,216, 57,133,206,244, 52,178, 44, 69, 87,167,232, 38, 41, 50,147, 67, 74,137, 41,221,130,148, 52, + 48, 41, 53, 49,226,224,145, 39, 45,100, 90,163,180, 14,173, 52,135,117,142,138, 68, 41, 67,210, 57, 4,148, 74, 32, 1, 20,174, + 64,162, 12, 32, 4,202,162, 68,146, 24,216, 96, 73, 40, 80, 10, 66, 8,100, 38, 65, 97, 29,164, 54,100, 49, 83,181,154,191, 73, +108, 52,226, 41,101,195,219,237,145,170, 35, 33, 84,172,113,197,110,101,103,227, 75,142, 27, 81, 43,178,138, 72,238,146, 6,135, +208, 31,160,148,192,176,223,135,133, 64,185,216,227,195,200,121,233,129,115,190, 77,204,139,101,109, 57,250,200, 60,119,118, 82, +182,170, 91, 61, 74, 95,242,227,126,187, 16,198, 53,176,213, 52, 3,132, 51,125,234,246,105,102,232, 38,163,136, 94, 45,184, 63, + 49,143, 51, 88,170,171, 16, 15,174, 16,156, 2,228,136,208,116,218, 68, 76, 3,155, 40, 53,215, 71, 8,174,106, 17, 42, 66,213, + 93,108, 50,176,107, 20,224, 52, 65,253,163, 0, 84, 23,152, 2,215,118, 79, 81,105,148, 43,105, 99,117,179,104,100, 14, 59,118, + 0,123,119, 3,211, 51, 85,247,193,179,217,199,134,107,243,199,186,243, 35,226,164,199,219, 39, 43,185,114,222,118,140,174,246, + 14,232,207,225,241, 99,115,120,180, 40,112,122,176,132,133,225, 0, 18, 2,109,163,209, 74, 52, 90,173, 54, 10,163,225, 77, 10, + 57,112, 16,190,224,216, 91,214,214,173, 29,211,206,151,251,253,140,192,116, 41, 42, 55, 83,204, 57, 7, 87, 72,180,181,253, 14, + 69,116, 66,201,229,251, 50, 76,106,125,235, 9,138, 90, 15,186, 45, 96,122,138,253,213, 43,180,206,141, 66,156, 20,180, 63, 28, +168, 6,194, 96,131,173,160,133, 39,173, 60, 12,170,184,130,148,179,135, 44,170,156,116,205,241, 37,134,115,180, 36, 11,191, 8, + 85, 30,186, 98,115,146, 16, 28,220,201, 46,190,148, 45,127, 49, 63,125,180, 48, 9,251,245, 61,247,122,183, 36, 96,143,178, 76, + 38,155,247,132,205, 9,172,154,221,170,130, 99, 5,134,182, 50,113, 7,206,163, 51,178,138, 43,136, 12, 86,230, 84, 71,133,106, + 29,211,239,150,235,210, 11,206,188, 50,168,170, 74,174, 69,211,235, 53, 45, 98,159, 0,165,201,194, 18,115,239, 53, 7,160,198, +114,176,147,110,208,146,255,231,220,216, 61,183, 38,250,221,215,122,156,171, 90,161,152,110, 14,116,186,152,218,177, 3, 70,105, + 76,155, 12, 59, 59,211,200, 37,249,122, 91, 38, 67,240, 30, 82, 10, 24,109, 70,231, 43, 51, 9, 9, 67,138, 11,170, 8,133,118, +222, 98, 95,187,130,150,128,226,180, 44, 13,133,196, 80,158, 99, 34, 52,188, 36, 13, 83, 11, 5,107, 29,180, 20,200,149,129, 4, + 73,133,198, 72, 4, 37,224,164,170, 77,172,224,224,140,104,246,148,219,103,178,148,177, 30, 52,155,154,214,219,223,122,197, 13, +202,196, 94, 11,210, 30, 29,232,144, 57, 54,221,244, 11, 64,120, 4, 71,145,145,228, 30,113, 24,165,189,136, 88, 20, 72,212, 90, +165,214,162, 93, 61, 63,223, 96, 56,190, 25,133, 24, 47, 56,179, 92,170,208, 74,155,185, 94,229, 43, 6,132,156, 99, 95,215, 25, +196, 93,233, 81,221,113,161, 21,132, 52, 16,165,135, 16, 6, 66, 88, 8, 17, 42,205, 65, 9, 98,232, 50, 80,217, 94,173, 72,178, +215,146, 8, 87, 89,176,182,207, 62,118, 45, 40,247, 52, 70,171,166, 73,197,112, 71,190,182,101, 74, 20,199,212,162,184,198, 38, +250, 99,125,213, 99,123,189,140, 57, 49,192,142, 89,114, 37,120, 22,224,138,226, 76, 33, 99,221,237,112,101,229,142,240,168, 10, +229, 8, 62, 63, 74,241,121,170, 69,242,174,184, 39,106,171, 81,244,129,185, 62,134,172, 57,181,181,129, 48, 10,237,180,141, 86, +150, 33, 75, 53,160, 20,138, 36,133, 76, 50,200, 2,180, 62,206, 87,126,117, 44,159, 85,182,236,218, 71,235,199,104,206, 67,173, +136, 13,199, 61,196, 20, 54, 53,177, 54,117,193, 26,162, 10,206,141,218,221, 86,100, 36,180,187, 85,160,177, 7, 91, 66, 87,177, + 10,148, 69,197,208,215, 43, 40,143, 4, 16,126,230,204,208,152, 90,121,197,240,118,119,137,201,117, 50,170, 23,162, 12,151,107, + 6,249,240, 71, 93, 48, 61, 23, 4,227,250,238, 54,140, 12,161,180, 15,202,106,205,135,190, 10,180, 19,172,169, 59, 77,110, 43, +173,216,239,206,116, 41,250,218, 71,230,123, 57, 30, 28,186,110,211, 54, 87,183,140,238,129, 81,116,185,170,210,234, 52,199, 14, + 8, 85, 21,176,241, 69, 85,242,222,130, 54,136,137,174, 1, 22,200,125,205, 93,182,214,186,203, 90, 42,239,168,149,176,226, 46, +139,241, 25, 56,118, 39,146, 7,201,252, 85,214, 82,222,150,161,157, 91,220, 79, 61,161,138,112,121, 70, 18,222,206, 25,236,216, +185, 11, 90, 40,236, 48, 57,102, 91, 93,120, 27,144, 37, 25,180, 84, 40,202, 18, 74, 10, 24,165,169, 71,188, 81,232, 36, 41, 32, + 21, 18,165,160,133,132, 54, 25, 20,183,235, 84, 82, 66, 9, 1, 37,104,118, 5, 2,130,144,144, 66, 82, 32, 88,209, 71, 38, 21, +213, 61,113, 37, 18,109,160,160,224,225,225, 3,208, 73, 18,142, 90,150, 48, 90,192, 10,201, 5,149, 56,215,210,163, 74, 41,112, +219,164,169,199, 75,186,179,180, 6, 68,194,106,106,229, 66, 19, 85,229, 54,123,238,192,230, 75,146, 34, 11, 46,208, 19,106,218, +114,172,108, 18,205,202, 81, 50, 44,216,124,220,227,224,150,122, 3,158, 88, 33, 78,170,113, 19,252,122,243,164,147,132,210,196, +178,156,152,194,176,120, 90,131,227, 4, 0,145,101,220, 62, 90, 67,176, 95, 85, 56, 91, 49,244,216,157, 79,164, 53,225, 53, 0, +221, 89,218,239,117,179,163, 97, 77,160,224, 28, 94,112, 68,112,198,205,120, 50,110,242, 2, 63,174,169, 71,194, 48,201, 88, 71, + 57,242, 76, 0,140, 24, 39,226,235,205,241, 23,172, 93,104, 78, 39, 90, 90,170, 58,134,153,132, 52, 66, 99,214, 39,208, 74,234, + 14, 56, 98,232,145,216,185, 80, 9,197, 1, 68,136,189,172,250, 88, 47,135, 50, 84, 25, 41,129,180, 47,161, 28, 80,120,148, 62, + 96, 40, 20,118,117, 58, 48, 38, 67,170, 20, 90, 38,197, 84,158,163,147,166, 8,137, 65,217,105, 65,232, 12,162, 95, 64,216, 98, + 77,134,190,252,220, 56,154,223,192,154,102,204,251,143,217, 32, 82,140, 51,244,122, 15, 4,205,117, 10,192,213, 45, 17,131,204, +216, 10,182, 81,147,253, 36, 2,107,149,206, 81,161,162,213, 26,242,212, 3,104,215,123, 63,195,245, 63,218,204,152,103,219,244, +179,149,144, 5, 74, 2,152,206,137,225,181, 51,170,179, 96,120, 78,178,132,198,110, 12, 87,242,228,159, 35, 33,137,173,125, 35, +225, 71, 80,170, 90, 44,171,235,202,154, 98, 21, 42, 77, 57, 6,247,169,104,134, 55, 20, 29, 31, 99, 89,234,110,169,141,210,203, +152,177,162,229,120,147, 29,231,120,227,136, 42, 11, 64,129, 4,223, 68,211, 92,248, 90,187,232,224, 73,171,246,178, 42,123,173, + 88,185, 90,143,160, 29,233,104, 61,214, 34,209,148,217, 98,106, 12, 61,222, 43,128,133,140,168, 20,214,232,248,196,254,218,186, +138,114,134, 35,220,211,100, 20,233,158,182, 58, 48,208,216,145,183, 96,180, 65, 97, 75,180,116,134,224, 28,188, 22,232,102,173, + 17,141,128,118, 72,148,129, 84, 10,109, 45,225, 3, 16,156,131, 82, 18,158,219,119, 90, 87, 2, 65,193,123, 7, 3, 1, 45,104, +113,134,101,129,160, 21,218,105, 11,165,181, 16, 10, 48, 72, 96,157,131,144, 2,218, 75,100,121,130, 65, 97,145,105,137, 12, 9, +150, 44,160, 82,133,190, 18, 40,130,175,124,232,177, 59, 78,146, 97,212, 33,104,171,177, 21,215,140,103,101,212,207,185,214,153, +104,136,170,102,122,220, 64,185,226, 40, 83,214,232, 5, 72, 32,136,145,184,138,183,131, 31,208,255, 23,123, 84,219,185, 92,134, + 56, 88, 84, 4,107,100,126, 95,175,101,193,144, 5, 71, 41, 0, 45,234, 0, 55, 92,220, 82, 38, 29, 0,224,242, 43,113,224,178, + 93,184,252,130,125,216,189,235, 60,180,119,207, 32, 72,133,188,149, 64, 35, 64,166, 9,140,214,200,164, 68, 57, 28, 98,105, 88, + 98,105,105,128,165,197, 62, 6, 11,139, 56,245,212, 81, 60,240,212, 19,248,220,157,159, 64,216,181, 27,232, 45, 64,216, 62,241, +159, 36, 39,193, 53,212,246,126, 12,172, 10,220, 21,170,237,169,174,190,178, 44, 96,113,191, 99, 87,144, 9,114,136,113,211,251, +114,149,166,226,128, 98,228,123,180,110,248,154, 98, 47,215,217,173,176, 44,128,197, 57,206,135, 15,244, 28,245,106,120,102,162, +187,217,154,231, 29, 85,101,199, 72, 91, 99, 55, 69,167,153,225,115,241, 29,167, 89, 11, 91,142,209,112,127, 6, 59,113, 62,180, +133, 40, 10, 20, 58,193, 92,111, 10,121,218, 70, 42, 91, 80, 90, 32,216, 2,153, 84,216, 51,179, 3, 30, 30, 51,137,196,233,222, + 9,244,237, 28,190,112,231,221, 85, 85,221,138,252,175,188, 79,226,126,134,173, 2,231, 70,194, 11,198, 43,210,141,206, 26, 11, + 66, 18, 92,223,130,199, 27,175, 56, 4,119,210, 66,173,210,218, 38, 49, 24,208,107, 43,161, 57,234, 92,129,220,163, 57, 19,139, + 52,229, 88, 16,238,236,167, 64,153, 27,113,189,235,139,223, 54,220,191,128,203,115,219, 90,159,134, 0, 96,177,168,252,196, 75, +220,192, 37,214,116,176, 19,238, 39,139,170,154,165,176, 53, 13,152,203, 27, 27, 91,149,130, 5,187,196,236, 38,186, 13,234,218, +222,140, 5, 6, 98,230, 67, 61, 3,162,240, 85, 79,119,205,189,225,203, 33,231,134,199,231, 2,209,199,184,255, 67,109,191,104, +189, 62, 58, 63,249,118,201, 65,130,182, 22, 16, 43,226,245,121, 31, 42, 93,197, 47,196,150,228, 19,117,254, 5,246,188, 38,108, +217, 38,105, 27, 74,137,104,117,144,236,154,198,121,217, 52,242, 52,129,145, 6, 10, 64,170, 18,104, 67, 62, 23,173, 12, 82,149, + 32,225, 46,107,153, 78, 32,133,131,230, 20, 51, 37, 2,172,245,112,142, 76,233,193, 59,104, 0,169,176,112, 90, 99, 56,164, 86, +161, 54, 0,131,194,162,103, 75,148, 46,192,122,135,158, 29, 2, 66, 34, 56, 7, 27, 44,140, 50, 40, 93,229,119, 28,148, 14,198, + 8,204,245,151, 0, 33,112,188, 63,128, 91, 90, 36,255,202,176,199, 11, 91, 80, 16, 82,105,207, 77,244,240,134,205,238,168, 76, + 94,145,144, 10, 49,206,204, 5,170,195,160,147,170,185,142,228,180,189,232,211, 44,107, 41,120,131, 33, 29,190,222, 18,109,210, +222, 96,107,159,123,106,150, 2,127, 98,106,202,137,211,192,112,105,211,130, 78, 93, 43, 75, 95,242, 34,124,215, 43, 95,138, 11, + 47,223,143,217,217, 22, 10, 33, 96, 2,176, 35, 85, 88,130,132, 81, 18,137, 54,232, 21, 5, 10,206,156, 8,182, 24,149,128,245, +222, 67,115, 52,110,139, 9,252,176,180,176, 46,224,171, 71, 79,227,200,103, 63,143, 15,220,125, 31,240,224, 17, 4,149, 2, 51, + 93,210, 34,132,172,122, 31,107,110,180, 48, 55, 79,135,222,121, 46, 11, 59,172, 24,133,224, 88,138,158,173,180,121,189, 12, 17, +168, 87,223, 27, 99,228, 24, 47, 81,186,158,152,132, 52, 33, 45, 75,103,212,238,181,158,166,153,178, 86, 6, 80,179,160,114,157, +185,180,117,157,192,212, 5,142,132,153, 89,204, 26,224, 50,205, 97,125,109, 47, 71,110, 86,173, 33,166,119, 66,236,189, 4,151, +159,191, 11, 59,179,105, 76,183, 58,164, 40, 74,141,139,206,111, 99,207,238, 41, 76, 79,105,124,245,196, 0, 15,125,233,126,124, +242,225, 47,224,201,143,127,102,148, 6, 29,106, 63,235,175,149,152, 61,213,176,151, 85,190,117, 61, 7, 28, 53, 38,175,184, 7, + 69,212,146,108,237,106,209,116, 26,153, 82,120, 6,196,140,212,215, 77, 74,218, 11,221,140, 54, 81, 82,211,176,235, 13,144, 44, +184,194,153,156, 8,131,208,112,174,168,180,200,250,216, 35, 45,113,142, 44, 66,139,220,205,173,223, 39,173, 93,150,228, 51, 15, +195, 51, 53,218,122,249,211,186,144, 6,216,113, 0, 0, 32, 0, 73, 68, 65, 84, 0,139,122,202,161,223, 56, 61,142,252, 41,182, +151, 45, 49, 94, 43, 32, 90, 59, 39, 91,228,198,204,160,224,171,226,105,158,153,172,225,235,153, 90,163,169,222,160,170,123,176, +217,120, 21,147,212,138, 75,213, 27,217,248,106,190, 99,138,118, 61,245,170, 54, 39, 91,163,169, 43,174,180,165,217,236, 62,213, +193,108,154,195,104,133, 76,167, 72, 36, 7,171,169, 28,131,178,143,110,214,130,132, 68,146, 72,164, 58, 65,154, 26, 40, 37,224, +172, 68,150,164, 8,193, 98, 88, 90,104, 37,161,133, 7,134, 67, 8, 37,144, 7, 18,137,212,192,162, 3,137, 69, 0, 93, 91,194, +106,129,167,132,128,242, 1, 46,145, 8, 33, 33,215,152, 4,132, 80, 8,214, 66,139,170,213,170,225, 26,197,211,121, 27,189,178, +143,118,106,176,132, 14,156, 92, 36,237,209,198,116, 38,253,204, 99,232,192,120,125,240, 51, 76,117,156, 6, 82,128, 2,170,130, + 39, 45, 44,101,223,160,228,239,229, 92, 72,162, 12,120,213, 85,251,241,137, 47, 28,225,198, 98,138, 3, 64, 98, 57,221, 45,126, +238,193, 2,153, 53, 91, 41, 9, 16, 97,194,247, 23, 53,198,104,238, 28, 88,172, 84,200, 58, 18,255, 55,127,207, 91,240,194, 87, + 30,192,174,221, 51,152,205,115,216,178, 68,175, 40,209, 27, 20, 16, 74,194, 14, 45, 78, 23, 20,229,154, 40, 9,167, 4,148, 20, + 80, 16,112, 69, 9, 64,160, 95, 18, 3, 30,246, 11,244, 11,139,233,233, 22, 90,173, 4, 45,157,160,173, 37, 94,122,197, 62,188, +241,234,139,240,198,111,250, 58, 60,122,114, 30,159,250,135,187,240, 63, 62,254,105, 98,226,129,245, 62,205, 53,178,157, 3,220, +176, 98,110,145, 81,106, 77, 81,240,182,172, 74,108,214, 25,250,100, 46,171,101,237,177,206,192, 39,127,174, 23,121, 14,236,217, + 81, 77,220,241, 99,213,189,157, 7,230,251,216, 80,173,241,210,210,158, 26,249,194,107,227, 81, 53, 33, 81,216,241,158, 15, 27, +221, 47, 39,158, 2,116, 23,253,221,187,176,100, 75,100,101,129, 52,105, 99,255,197,187,113,209,222, 54, 46,185,160,131, 68, 43, + 92,176,219,162,149,103, 80, 42,197,135, 30, 89, 4, 30,125,112,164,173,111,168,228,187,171, 89, 20,198,122, 88,212,153, 68, 70, +204, 78,233,138,254, 97,192,140, 92,144,245, 73,213,253,109,207, 0, 26, 18, 45, 65, 74, 19,173,158,153,162,137,153,206,128,190, +165,244, 94, 33, 33,181,132,105, 27, 4,142,179,233,232, 4, 82, 8,248, 16,144, 43,141,190,243,112,240, 48, 34, 67,233, 61, 20, +103, 32,149,214,193,194,195,141, 10, 45,113, 0,167,209,196,236, 68, 78,130,228,128, 11, 58, 45,183, 31,202,149,172, 26,158,232, +217,102,173,156,245,126,230,163, 66, 87,204, 20, 85,189,236,237,132,155, 52, 90, 51, 29,187, 75, 29,215,189,119,224,186, 32, 53, +225, 79,112,151, 72, 55,209, 52,108,163,207, 27,226,254,139, 41,214,190,178, 8, 25, 0, 46, 33,255,254,232,128,177,130, 80,163, + 29,103,239, 83,215, 20,184,130,118, 14,180, 53, 48,179, 3,157, 60, 71, 91,165,232, 36, 25,100, 80, 80, 2, 48, 58,133,115, 67, +180,211, 28, 74, 8, 36, 70, 33, 75, 82,164,121,134,196,208,198,161,121,160, 96, 8, 45, 61,130, 43,161,157,131, 48, 2, 29, 87, + 32,241, 14,137,247,112,174, 4, 66,137,204,121, 4,239,224,189, 69, 22,128,129,176, 84,117, 19, 64,225, 73, 62, 79,117, 2,129, + 0, 47,128, 84, 25,248, 16,160, 37,157, 56,163, 12,156, 35,159, 94,128, 64, 33, 20,249, 57,202,146,203,126,114,202,194,114,209, +174,107, 5,157,108,119,240,215,168,186, 19,251,123, 37,119, 64, 26, 6,242,201,104, 54, 3, 26,174,170,231, 56, 31, 52,213, 64, +170, 32,131,128,145, 26, 78, 6, 60,122,124, 14,111,126,245,245, 40,243, 33,230, 78,204,211, 70,178,150, 11, 88,184,179,219, 27, +245, 84,160, 24,171, 80, 14,168,226, 90,191, 87, 5,224, 69,134,222,158,166, 42,131,105,139, 59,151,197,210,147, 45,110,208, 67, + 27, 55,189,250,133,248,190,239,126, 11,190,235,166,239,193,203, 15,188, 16,211,221, 54,180, 36,166,122,186, 95, 96,169,176,208, +165,133,245, 30,169,243,120,252,196, 60,156, 23, 80, 70, 33, 88,135, 76, 27, 88,239, 49,149, 24,204,245, 10,164, 30, 72,148, 68, +123,166, 3, 47, 4,164, 13,200,179, 4,157,118,142, 32, 4, 84, 16,176,165,133,128, 64,146, 37,184,238,192, 53,248,186,175, 63, +128,125,187,166,241,240,201,163,232,159,236,209, 33, 95,232,147,191, 90,114, 81,141,216,235, 32,176,169,172,223,227, 52, 42, 81, + 69,219,151, 92, 3,115,185,148,190,216,183,187, 78,104,162, 86,161, 57,144,103, 61,105,151,173, 14,249, 77,181, 4,230, 22,104, +222,181, 28, 55, 53,111,116,191,198,212,200, 24,244, 23,235, 90,199,234,106, 58, 84, 65,180,214,158, 89, 78,120, 13,235,203, 40, +232,109,233, 36, 22,145,163, 61,211, 69, 75,165,216,217,157,193,215, 92,216,198,229, 23,239,128,145, 10,157, 86,138, 78,150, 64, + 36, 6,189,178,131,153,233, 93,120,176, 95, 34, 56,143,160, 13,194,249,251, 16, 46,216, 3,236,217, 75,193,144,171, 5,167,174, +227,249,144,232, 42, 0,176,157, 98,223, 11, 46,193,252,177, 57, 14,174,170, 9, 92,214, 82, 96,152,125, 6, 48,244,200,116,102, +218,180, 15, 90, 9, 55,200, 18, 72,186,109,164,105,130, 60, 33, 5,108,214,100,152, 54, 57,118,230,109, 36, 74, 97, 58,237,160, +107,114,104, 41, 49,155,117,208,209, 25,218,105,134, 92, 25, 76,165, 45,180,141,198,180, 54, 72,181, 70, 43, 77, 97,125, 64, 80, + 26,193,212, 44, 77,136,133, 99,120, 47,216,114,237,249, 95,238,181,153,177,123,112, 69,182,216,203,157,179,125,130,175,250, 40, +148,190, 58, 15,178, 86, 35, 34, 6, 28, 39,186,242,181,143,130,251,184, 10,166,224,130, 80, 37,151,181, 45,106, 41,103, 27, 85, + 10, 71,221,218, 98,156, 65,140, 97,137,149, 20, 45,231,252,151,213, 9, 9, 28,203,178,101,209,239,138,125,233, 83, 25, 96,218, + 72,167,167,176, 35,201,161,133,129, 81, 64,110, 50,164, 73,138,224, 45,140, 78,144,232, 12, 64,137, 86,218, 66,154,103,208, 34, + 64,170, 0, 33, 2,197,107,129, 34,181, 69, 8, 16, 92, 79,184, 35, 45,108, 0,210,224, 96,157, 67, 34, 5,242,210,162,112, 5, +116,172,168, 6,139,196,121,244, 80, 98, 80, 82, 62,163,210, 9,156, 45, 96,116,194, 38,252, 0,165, 53,164, 15, 48, 74,161,240, + 1, 90, 8, 24, 24, 20,176, 16, 82,160, 28,198, 98, 25,174,146,186,214, 27,120,162,107,121,140,114,139,234,153, 27,206,247, 84, + 19, 68, 55, 54,100,168,219,159,173,162, 96,148,152,199,108,248, 25,114, 14, 12,145, 18, 48, 10,137,210, 20,179, 0, 64, 10,129, + 32,129, 47,127,245, 97,204,205, 47, 49,243,103,109,127,104, 89, 82, 93,157,177,167, 47,191, 22,238,212,169,202,124, 86,214, 44, + 9,245,249,136,105, 67,101, 57,158,138, 17,209,153,229,142,125,117, 19,148,164, 74,132,211, 93, 96,122, 10, 47,122,249, 53,184, +241,187,223,138,239,249,174,215,227, 37, 87,237,199,190,110, 27,139, 46,160, 37, 4,130, 15, 24,148, 22, 67,235, 96,135, 22,139, + 3,139, 97,127,136,194, 5,180, 90, 57,102,167, 91,112,150, 52, 14, 93,150, 72, 76, 2, 39,128,254,176,128,148, 10,221,196, 64, + 6,129,118,158,227,210, 29,211,104, 75,133, 2, 2, 83,153, 65, 30, 4,230,188,195,233,162,192,210, 82, 15, 39, 7,125,188,237, +199,126, 9,223,247,147,223,139, 87, 92,123, 13,186,193,227,254,207,124,153, 36,250,165,211,212,108,168, 44,137,121, 42, 93, 69, +175, 71,255,123, 76,157, 26,153,233, 86,107,111, 43,170, 6, 27, 35,135,112, 45, 53, 80,202,181,247,154,229,146,154,243, 92,118, +213,139,101, 58,140,201,241,168,218,205,150, 51,117,174,202, 33,118, 27, 79, 59, 58,131,169,107, 13, 49,127, 12,243, 34, 71,123, +170,133,169, 36,199,243,206,159,198, 84, 59,193,244, 84,134, 32, 20,180, 81,200,140,134,208, 10, 58,107, 97,110,161,192,241,249, + 5,132, 52,197,215, 29,184, 12,215,126,205,126, 92,188,179, 11,209,206,112,226,244,252,217,165,243, 1, 68, 88,133, 64,114,241, + 5,216, 59, 53,139,227,115,115, 19,174, 42,206,189,198, 51,160,167,129,226,134, 89,221,156,220, 44,237,156,203,118, 27,164,105, +138,221, 89, 11,185,210,152, 77,186,152,201, 58,104, 39, 45,236,200,167, 97,164, 70, 55,233, 80, 77, 16,165,145, 40,131, 84, 39, + 80, 82, 32,145, 18, 25,167,121,182, 76,130, 34, 0,185, 73,209, 50, 25,114, 45,209, 54, 26, 66,105, 40,163, 81,218,192,101,132, +201, 50, 72, 76,239, 28,149,132,150, 53,215,137, 8,128,206, 41,138,222, 58, 78, 19,100, 41, 57,186,205,192,129,169,165,173,206, +156,228,134, 74,138,207, 17,184, 76,119, 44, 30, 21,107,119,184,130, 92, 25,145, 17, 59,191,241, 51, 20,121,200,168,153, 78,160, +116, 63, 97,185,200, 21,107,241,177, 65, 89, 96,103,126, 8, 20, 0,232,237, 89, 50,117,173, 73, 59,108,229,164, 89, 77,181, 49, +157,102,152, 78,219,208, 74, 66, 10, 32, 81, 26,214, 89,116,210, 46,188,119, 80, 10,152,106, 77, 35, 73, 21, 50, 99, 32,132,135, + 18, 20,196, 21, 64,233,109, 74, 10, 88, 91, 82,219,116, 9,104,231,144,115,161,142,196,123, 40,231, 49, 12,142,252,159,222, 66, +120, 65,193,119,222,195,133,152,173, 16,224,189, 67, 16, 26,130,163,180,165, 16, 80, 66, 64, 10, 9, 15,138, 34,148, 66,192, 33, +160,165, 19,244,157, 69, 16, 18, 46,148, 44, 40,176,100, 22, 56,204,119,173,195, 89,247, 7,249, 45,170,103,222,105, 19, 83, 83, +226,204,136,252,232, 48,140,154,156,229,102, 8, 14, 85,148,116, 44,138,144,155,209, 6,117, 66,192, 40,201, 21, 60, 5, 66, 16, + 72,210,148, 2,128, 53, 71,238,198, 90,195, 67,187, 70, 81, 24, 13,119,234, 4, 17, 57,203,117,246,235, 13, 71,226, 28,198,130, + 51, 43,205, 73, 43, 35,109, 60, 75, 43, 38,100,200, 84,184,235,162, 61,232, 25,131,239,127,195,155,241,154,131, 47,199,133, 23, +238,134,181, 1,137, 45,113,186, 95,224,177, 19,115,120,234,212, 34, 78,205,247,113,106,110, 17,110, 88,114,141,131,128,211,167, +230, 81, 14, 75,244, 22,250, 88, 90,234,195, 46,245,176, 48,116, 40, 29, 96, 18,131,197,133, 1,188,243,112, 11, 75,152, 31, 20, +152, 31, 20, 40,157, 69,191, 44,112,122, 48,196,209,165, 30, 22, 6, 67, 28,239,245,240,212,194, 18, 22,251, 67, 12, 6, 5,190, +242,200, 28,238,253,220,231,240,215, 31,254, 27,124,195, 55,126, 3, 46,191,106, 63, 46,127,254, 37,184,255,232, 49, 12,231,230, +184,108, 40,103, 33, 36,154,155,190,248, 42,168,170,180,220,184, 98, 29,146,252,168, 28,233, 4, 99,175,207,243, 90, 81,235,158, +250, 3,252,255,212,189, 89,175,165,217,121,223,247, 91,227, 59,236,225, 76, 85,213, 85,213, 35,217, 77,138,162, 72,145, 14,101, +201, 84, 36, 69, 52, 36, 68,146, 45, 89,138,146, 72,182,128, 36,178,157,139, 36,128,131, 0,185,200,167,200,125,130, 92,229, 19, +228,194,128, 1, 33,130,156,196,144, 5, 77, 16, 35,155,180, 40,138, 17,201,158,187,171,206,176,167,247, 93, 99, 46,214,122,207, +222, 85,221, 93,221, 93, 85,164,232, 13,116,215,116,234,212, 57,239, 94,107, 61,235,249, 63,255, 97,202,105,190,134,237, 30, 30, +163, 77,159, 79, 30, 48,238, 31,231,245,216,133, 76, 35,234, 41,120, 93,212,165, 44, 63,250, 53,231, 88,142,231, 75, 12, 45, 55, + 78, 58,132, 80,244,157,198, 85, 2,251,224, 64, 41,193,229,229,142,111, 94, 93,112,231,153, 57, 47,156,158,210,216,150, 59,207, +220,226,246,233, 13,210, 92,241,214, 59,231,143, 95,216,175,187,198, 76,124,231,138,243,222,146,191,243,106,189,252, 79,142,122, + 85,159, 45,197,223, 92,166,129,166, 16,126, 59, 3,167,179,170, 78,106,192, 42,230,139, 25,115,221,114,214,244,180,182,101,217, + 46,232,181,165, 55, 29,125,211,131,144,244,166,197, 40, 77,202,137,222,116, 52,198, 98,148, 70, 73,137, 20, 26, 37, 21,173,105, + 32,103,150,237,156, 86, 53, 12,209,177,108, 58,230,182,165,211, 22,131,132, 70, 50,230,234,217, 64,220,135,191,124,175, 47, 59, + 83,164, 43,236,173,158,135,109,229, 17,168,253, 62, 74,113, 79,130, 27,199,242,224,114,133,197,242, 52, 94, 43, 99,224,194, 59, + 16,123,153,166,115,251, 44,121,204, 1,115,126,178, 26,142, 31,127,109, 73,117,144,199, 46, 15,172,113, 15,228,149, 19, 74, 48, +133,233,152,138,134,196,248,132, 69, 93, 85,194, 69,223,194,124,129,109,123, 90, 85,230,227,173,214,244,182,131,148,232,154,150, +144, 35,139,182, 69, 43,141,181,170,214,161, 88,116,227,120,148,200, 8,161, 16, 49, 66,244, 88,107,209, 49, 96,115, 68, 74,133, + 26, 29, 34,102, 68, 76,200,148,138, 65, 13, 18,153, 33, 9, 65,139,192,147,174, 27,152, 84,187, 25,173, 12,141,212, 8, 33,105, +149,193, 87,196, 64, 0, 62, 39,172, 50,196, 28,112, 62,178,176, 13,187,232,113, 76, 27,113,178, 58,172,249,213, 31,118,187, 20, + 7,214,167, 79, 75, 22,215,117, 5, 9,201,234,189, 5,118,234,226,174,173, 42,171, 87,253,181,100,164,218, 51,118, 53, 4, 64, +234,122,115, 21,104,163,138, 60, 29, 48, 82,161,181,194,133, 88,173, 79,171, 6, 52,139,162, 25,125,212,248, 65,203, 34,245,154, + 24,165, 74,236, 3, 47, 14,195, 31,166,185,147,200,239,223, 85,154,106,188, 32, 4, 88,203,231,191,240, 89,126,250, 71, 94,230, +159,252,151,191,202,223,255,202,151,249,212, 39, 95,225,159,255,235,127,201, 43,207,127,146,182, 51, 92,109,183,188,123,185,229, +237,203, 45,126,181,101,179, 25,136, 49,193,206,115,113,239,138,203,149,195,111, 3,195,106,195,226,248, 6,166,233, 89,159,175, + 24, 99, 34,141, 25,219,247, 40,165,121,245,219,111,240,206, 91,247,216, 93, 94,241,238,189,251,140,227,136,219, 6,222,124,231, +156, 55,222,190,199,110, 53,178,189, 88,115,117,181,101,187,218,178,186, 92,225,199,196,255,246,191,252,239,165,198,238, 60,159, +249,194,223,162,233, 37,203,227, 57,127,235,179,159,194, 37,207,107, 95,251,102,121,175,142, 22,181,216,214,131, 76, 30,132,140, +184,240,160,245,228,135, 65,114,248,114, 72,136, 3,228,227,129,121,220,199, 41,166, 15,217,182, 10,234,184,169, 22,243, 28, 15, + 72,122,223,207, 78, 51, 61,216,169,107,189,151,169,165,136,216, 57,118, 77,203,172, 49,164,220,112,181,139, 88, 45, 81, 82,113, +111,200, 24, 37,240, 62,112,185, 9,124,245,219,175,242,236,145,226,206,242,152,110,185,224,232,120, 65,211, 24,206,102,115,222, + 22, 35, 87,111,220,127,252,142,113,114, 81,243,142,124,255, 98,127, 89, 74, 21,165,176, 7,177,185,153,167,255, 12,167,209,150, +209,251, 16,151,201, 3,220,244,245,223,111, 11,121,121, 94,213, 26,139, 14,180,164,209, 45,167, 77,203, 51,253, 49,203,238,136, +153,233, 56,153, 29, 99,164,162,181, 51,148,208,244,186, 69,203, 50, 91,159, 53,165,179, 23, 73,160,148, 70,203, 98, 0,102,165, +162,211, 13, 90,107,122,221,163,180,230,180, 61, 42,205,147,212, 8, 4,189,177,232, 36, 9, 42, 49,162,246, 55,181,244,125, 40, +236,147, 99,160, 81, 7, 17,174,213, 95, 34,196,125, 76,174, 86,133,247, 33,216,123,209, 91,189,151,185,169,170,163,215,106,159, +214,168,170, 35,169,169, 35,176, 92, 27, 41, 23,246,223,223,227,162,181, 82, 84,137,117,172, 30, 36,213,128,102,242,190,135,194, + 79, 48,146,235, 67,252, 0,245,123,178,162,110,171, 15,173,109, 97,121, 68, 99, 13,167, 93,135, 17, 10, 37, 37, 70,106,180,210, +228,156,105,180,194, 84,200,202, 72,137,212, 10, 69,164,209, 18, 5,152, 4, 70, 73,148,200,104, 4, 50, 70, 98,206, 68, 63, 34, + 83,198,198, 84,237, 33, 51, 58, 37,154, 92,228,175, 1,129, 65,224, 99, 64, 11,137, 65,178,145, 2, 41, 37, 93, 83, 24,170,141, +178, 52, 90, 97,109, 71,171, 45, 41, 7,180, 54, 24, 33,217, 69, 95,141,110,202,215,185, 9,158, 44, 4, 49, 30, 6,166, 76, 15, +244, 67,130, 90,230, 51,232,151, 37,172,198,213,226,250,164, 16,188,172,139, 39,248,247,122,124, 79, 93,220,212,145, 95,187, 98, + 29, 26, 22,136,122,131, 84,133, 1,111, 5,141,181,132,152, 17, 72, 4, 2, 41, 96, 8,161,106,217,107, 23, 57, 49,180,169,112, +241, 7,117,235,114,210, 63,203,125,242, 82, 22,251, 27,249,225,247, 33, 14,139,124,124, 47, 73, 70, 73,154, 79, 62,207,111,253, +252,127,200,207,124,229, 75,124,246, 71, 63, 69, 99, 53, 43, 23,136,110,228, 19,207,188,192,239,255,225,159,240,226,179,183,217, +109, 3,235,171, 45,171,171, 43,214, 23, 87,172,214,107,194,198,147,145,108, 86,107,118,155, 45, 18,133,146, 13,198,118, 28,205, + 23, 72,105,202,179, 8, 96,173, 37, 68,137,214, 13, 82, 25, 98, 16,196, 24,105,250, 5,218,182,220,127,251,109,182,155, 53,227, +118,195,119,222,120,157,113,179, 97,187, 90,115,113,255, 62,227,176,227,107, 95,255, 43,126,245, 63,249, 13,254,221, 87,255,140, + 63,254,163, 63,226, 19, 47, 61,207,118,181,197,246, 45,159,249,236,167,232,143,150,124,243,254, 5,108, 15, 66, 39,166, 27,248, + 4,249,153,154, 57, 16,252, 71, 43, 34,135,249, 2,211,129,117, 72,240,122, 28, 75,227, 67,251,217, 9, 98,156,230,144, 31,228, + 61,240,180,114, 11, 30, 9,191,107,132,150, 15,232,206,203,254,119,184, 97, 71,238,103, 56, 23,185, 90,101,118, 14,130, 20,215, +145, 5,231, 91,207,235,175, 95,112,255,254, 59, 12,126,199,243,103,183,184,243,236, 45, 82, 74,184,224,112,110, 96,166, 52,127, +121,255, 10,174, 86, 79,167,120, 60,188, 39,174,121, 20, 60,221,226,213,183,229,243, 47,142,203,251,117,116, 90,201,111, 51,184, +253, 12,156,157, 21,147,161,163,101, 41,226,203,234, 7,223, 22, 34,220,141,217,130, 59,139, 37,203,118,201,162, 91,208,105,203, +178, 93,160,132,196, 40, 67,111,122,180,212,100, 18, 74,234, 18,164,149, 5, 70,153,122,102, 75,140,178, 40,161, 48,186,197,167, +192,162,153,209,180, 29,173,105,139, 97,101,202,104,109,104,109, 91, 1, 37, 65,175, 44, 86,103,182, 89,145,235, 94,191, 30,195, +125,175, 94,125, 91, 57, 59, 21, 29,155, 28, 3, 83, 44,197,219,202,189,183,194,228, 27, 34,168,126, 3,149,221,174,204, 62,114, + 54, 23,120, 27, 87, 25,253,147, 68, 47,198,125,231, 31,211, 62,145,116,202,139,143,177,134,155,241,209,160,248, 73, 34, 60,241, + 54, 68,174,193,104,114,111, 46,150,170,181,177, 60,216, 32, 79, 60, 83, 55,186, 22,137,182, 46, 26,203,173,126,137,200, 18,173, + 21, 51,211,225, 98,196,106,141, 68,162,133, 64,107,115,173,249, 47,158, 5,138,150,128, 17, 5,114,215,201,163,132, 66, 40,208, +209, 49,134, 84,102,241,131, 67,121, 7,174, 16,154, 92,240,216, 84, 66, 28, 76, 40,100,185,136, 64, 86,110, 88, 6,180,182, 72, +173, 17, 82,163,165,164,237,218,194,184,111, 13, 50,107, 20, 2, 33, 50, 90,154,242,177, 64,204,137,153,177, 92,142, 59, 98,168, +115,151, 88,175,112,206,191,127,192,253,225,107,113, 82, 28,151, 76,117, 45, 10,225,201,225, 55, 31,202,194,252, 32,147,150,247, + 36, 70,213, 27,176,152,136, 41,213, 53,174, 47, 68, 51, 89, 9, 98, 5,177, 17,244,214,178,157,146,127, 66,222, 91,155, 78, 69, + 60,171,154,158,244,136,220, 98, 43, 15,228, 75,105, 47,231, 57, 36,119, 29, 90,133,190,207, 33,247,236, 79,253, 56,191,244,243, + 63,205,127,252,149, 47,115,124,251, 20,173, 52, 62, 70,222,190,191,226,106,189, 67,187,192,110, 28,121,241,238, 29, 82,148,228, + 0, 42,105,136, 18,163,151, 24,213,113,122,251, 46,253,108,142, 53, 11,158,123,225, 37,186,249, 17, 93,219,161,181,197,197,145, +101,219,210,216,150,147, 27,199,220,185,121,140,182,134,229,124,206,217,141, 19, 78,206, 78,232,102, 75,186,121,203, 75, 47,220, + 70, 53,115,220,214,177,217,238,208,210,178,243, 37, 14,116,189,219, 17,131,231,199,190,248, 89,180,142, 60,255,169, 23,249,194, + 23, 62, 13, 73,112,121,113,206,230, 98,133,178, 45,207,125,242, 5,238,206,123,254,237,159,254,121,217, 39, 20,130, 98,185, 81, + 15,229,178, 55, 62,225,108, 49, 31,204,203,159,212,189, 76, 86,167,143,107,187, 3,177,119,236,154,210, 22,167,206, 48,231,239, + 77, 7, 95,187, 79, 33,229,251,178,251,133,146,101, 31,134,145,171,203,115, 94,195, 51,134,129,232, 10,169,209,197,200,232, 18, +175,189,181, 98,189, 26, 73,110,197,189,237, 37,103,179, 25, 70, 25,150,199, 51, 46,206, 47,217, 12,107, 98, 12,252,197, 95,124, +183, 72, 55,159, 58,216,144, 14,230,156,226,201,231,247,211,179, 49, 61, 44, 79,232,111,158,225,219, 22,110, 28,151, 98,189,152, +195,141, 83, 88, 44,225,228,102, 65,247, 78, 78,145,203, 37,207,158,157,241,204, 98, 65,167, 37, 55,250, 57, 71,109, 79,163, 44, + 55,103,199, 72, 4,139,110, 9, 66, 32,208,116, 77, 15, 57,163,181, 68, 25,131,210, 10,211, 40, 76,211,144, 66, 68,106, 73,219, + 53, 4, 31,177, 74,145, 50,116,218,148,130,222,119, 36, 95, 81, 10,153, 17, 41,227,130, 43, 57, 30,169,228,114, 52,186,101, 23, + 29,163,172,233,144,168,247,111, 84,158, 22,244, 62, 21,236,107,219, 87, 81,214,181,119,101,198,191, 29,202,243,155,144,179,209, +149, 34, 46, 83, 57,191, 91,187,175,194,177,186,225,217,202, 25, 50,125, 81,127,184, 80,205,129,194,254, 74, 58, 65,226, 19,146, + 38, 68,205,136,248, 24,151,225,233, 60, 23, 7, 17,183, 83,108,173, 47, 40,247, 3, 72,221,193, 26,123,252,162,174,116,121, 48, + 71, 61,204,143, 88,206,103,197,214, 85, 40,230,141, 37,198, 72,111,139, 65,135, 86, 10, 37, 4, 90,107,140, 84, 24, 35,145, 57, +210,202,132,170, 51,111, 43, 51, 17,129, 16, 9,225, 67,209,219,239,182,164,209, 49,250, 1,181,115,164, 24, 81, 62,176,168,218, + 69, 19, 83, 33,211,145,145, 66,225,144, 8, 20,201, 88,178,148,196,156, 48,141, 69,169,210,169,182,125,139,214, 10, 35, 13, 34, +231, 50, 75,182,150,144,139,148, 66,107,195, 24, 28, 33, 69,118,185,186,126,185,106,197, 41,100,121,152,143,154, 47,247,243,125, +134,245,118, 91,160, 82, 45,159,112,198,200, 71, 95, 4,147, 79,242,244,163,168,173,243,236,164,228, 33,207,123,178,216,123,180, +199,148, 24,199,128,146,150, 60,214, 46,111,234,214,199,218, 13, 90, 9, 27, 87, 36, 28,143, 42, 46, 42,215,220,100, 81, 46, 1, +211,191,115,109,111,124, 16,105,121,120,200,125,238, 11,252, 23,191,241,203,252,204, 87,126,130,126,185,192,121,143,243, 17,231, + 60, 23,247,175,184,186,119,137,219, 5,118,187,128,209,134, 97,231,217, 92,174,105,237, 12,107, 91, 78,206, 78,185,253,204, 41, +207, 62,123,131,227,101, 79,223,181,156,157, 30,209,180,150, 89,215,114,227,198, 49,243,229, 12,221, 54, 44,143, 22,204,250,150, +166, 85,244,125,195,115,103,115, 60, 18,163, 52,125,219,112,251,198,146,101, 59,195,199,204,243,183,142,121,225,133,187,220,123, +103, 68, 36,193,201,226,148,179, 27,119,184,188,186,207, 59,235, 13,110,116, 44,151, 75, 86,171, 11,134,209, 49,155,205, 32, 11, + 86,235, 13,113, 28,145, 82,241,210,167, 63, 65,219, 89,190,249,245,111,212,141,239,247, 35,147,137, 72,248, 36,235,226,208,223, +253, 73,215,215,100,243, 58,133,154,240,144,111,252,196,149,184,134, 36,229,211, 33,130,190, 31,234,244,126,100,185,131,143, 17, + 57, 67,242,228,119,207,185, 60,191,226,117, 55,242,206,249, 37,140,150,139, 11,199,229,249, 21,227,120,133, 22,153,222, 24,214, +195,192,189,203,203, 18,111,224, 71, 82, 30,249, 63,254,252,235,228, 55,239,125,112,172,242, 19, 23,246, 10,197, 63,141, 78,180, +111,203,136,235,229,231, 65,105,210,201, 49,185, 81,208,245,229,178, 62,155, 21,255, 7, 91, 83, 49,151,199, 60,183, 56,225,133, +197, 49,187, 80, 72,201,119,251, 37,119, 23,167,144, 21, 39,179, 19, 0,206,102,167,136, 44,233,219, 25,182,111,216, 14, 27, 22, +199, 75, 80, 10,171, 45,109,107,201, 66, 33, 99,198,244,197,111, 68, 8,129,170,190, 33,182,209,116,179, 57, 57,229,154,178, 43, + 73, 41,149,166, 33, 69,180,212, 4, 18, 70, 27, 98,136,236,188,167,215,150, 44, 5,187, 84, 27,166, 41,161,240,105,159,143,241, +161,162,151, 38, 43,237, 84, 10,121,172,161, 77,219, 97, 79, 94,157,230,229,136,253,185, 29, 15, 18, 42,167,188,120, 33,246,190, + 12,178,169,112,125, 85, 24,201,131, 70, 38,214, 17,166,146,123,247,184,143,179,183,205,228,172, 55,133,143,229, 3,203,101,181, + 15,221,114, 15, 34,116,143, 87,212,117, 77,151,233, 42,137,171, 43,190,215,183,154, 25,141, 86,164, 84, 34, 79,203,108, 69, 34, +165,196, 42,131, 18,178,160,186,201, 51, 83, 2,171, 36, 86, 22, 35,215, 32, 5, 45, 16, 93, 33, 42,177, 25,112,110,100,187,219, + 18, 71,143,242,129,185,139,100, 33, 8, 46,211,139,253,244, 77, 10, 67, 20, 18, 33, 53,209, 90,132,182, 72,221,208,216,134, 36, + 20,166,181, 24, 85, 50,150,149,210, 8, 5, 50,171,218, 13, 58,164,208,248, 88,194, 32,124, 12,228, 12, 67,240,196,213,102, 47, + 33, 10, 97,127,107,123,212,124, 57,228,210, 89,239, 66,145,244, 76, 11, 74,126,143, 10,251, 52, 91, 59,156,189, 78,133, 61,213, +188,120, 97, 75,172,226,102, 87, 96,248, 41, 87,184, 46,178,236,253,126, 33, 6, 95, 55, 89,173,214, 62, 21,199,183, 71, 29,224, +211,124, 49,186,210,221, 77,112,243, 52,251, 61,244,255,158, 66, 24, 62,245, 57,126,253, 87,190,194, 47,255,226,207,240,220, 43, +119, 73, 33, 97, 26, 69, 74, 2,183, 26,217, 94,109,217, 94,108, 8, 33,145,178, 68,209,208,181,115,102,253,146,103,158,185, 69, +107, 27,148, 52,244,139,142, 69,219,209,181,134, 70, 25,206,142,103,220, 60,233,121,241,108,198,173,147,158,190, 85,204, 91,201, +173,163,150,121,219, 48,159,181,196, 44,232,117, 25, 17,205,172, 34,132,132, 16, 18,171, 20,243, 89, 67,107, 13,202,104,110, 46, + 58, 62,249,210, 29,206,135, 68, 51, 91,240, 35, 63,244, 50,219,171,128, 74,158,191,190,119,159,133, 49,204,218,142,221,176, 67, + 37,201,108, 62, 71,105, 93,247, 90, 66, 54,150, 23, 63,245, 18, 9,193,119,190,241, 87,213, 86, 50, 87,253,122, 53, 56,250, 65, +121, 29,242, 51,200,251, 98,212,204, 75, 39,104,186,253, 40, 74, 60, 20, 68,241, 52,214,245, 67,190, 11, 31,106,245, 58,113, 52, +142,230,132,113,203, 16, 70, 98, 26, 9,126,133,206,146,171,225, 62, 34,134, 2,185,103,135, 79, 9,231, 6,190,254,250,119,249, + 55,111,191,201,230, 91,247,224,242,252,233,146,210,228, 83, 30, 75, 52,182,140,182,142,142,225,249,103,160,237,120,246,238, 93, +152,117, 4,221, 34,102, 11,178, 52,165,144, 43, 1,205, 81, 57, 15,155, 5,167,182, 65,234,150,147,217, 17,183,250, 30,135,161, + 21,154,174,105,176,202, 50,107, 58,180,212,232,166, 67, 55, 10, 25, 5,203,147, 35,226,224,104,154,166, 20,110, 18, 70, 20, 8, + 62, 19, 80, 20,254,147,212,178, 4,107, 41, 10,177,217,104, 16,145,228, 35,155,113, 75, 14,129, 32, 18, 42, 75, 92,116,197,206, + 59,102,124,114,168,154,131, 30,181,192,249,186,158,198,167,200,134,159,210,207, 38, 98,170,213,251,117,173,196, 94,213,100,212, + 30,113,158,136,188,215,166, 57,105,207,121, 17,178,156,159,147,183,123,206, 5,158,143, 53, 54, 86, 86,200,126, 24,203, 30,137, +190,120,225, 7, 95, 57, 70,149, 91,165,244,199,191, 4, 79, 35,182,148,246, 36,217,107, 53, 76,222,171, 96, 30,122,118,143, 87, +212,167,194, 97,139, 55,240,252,236,132, 83, 59, 35,103,129, 84,146, 70,119, 24, 89,188,217, 5,146, 70,149, 25,186, 36,161,100, +198, 2, 70,100, 90,163,201, 34,161, 82, 66,229,140, 27, 7,164,143,228,209,179, 27, 7,196, 48, 96,119, 1,231, 10,244,174,146, + 64,103,232,180, 66, 43,131, 82,154,166,159,163,219, 30,154, 30,219,206, 80, 77,139,210, 6,217, 54, 8,107, 16,170, 28,222,212, + 57,187,136,197, 59, 62,196, 2, 9,133,156,137, 41, 33, 37, 92, 13,107,148,210,132, 16, 56, 31, 6,178,168, 93,167,243, 92,167, + 2, 61,106, 62, 22, 83,185,249,143,110, 95,208, 15, 33,104, 25,247, 48,230,211,218,252,211,141, 78,214, 64,137,201,207,123, 90, +176,153, 98,107,170, 39,248,169,118, 91,177,194, 66, 62,148, 13,144,235,101, 68,169, 26,180, 80, 25,150,155,243, 42,135, 10,143, +247,181, 77, 48,243, 4, 35, 29,189,200, 47,252,202, 79,243, 15,126,249,103,121,233, 51,159,192, 54,138,237,214,177, 27, 60,227, +214, 51,108, 71,220, 48, 18,156,199, 59,143, 18,150,229,226,132,179,179, 19,102,125, 75,223,155, 26,234,163,176,157,162,177,138, + 89,103, 88, 54,134,219, 39, 45, 39,139,158,190,105,144,170, 32, 38,157,149, 44, 91,141,150, 2, 37, 10,145, 42, 35,171,202,162, + 32, 8, 82,194,141,133,165,111, 20,189,213,228,148,139,188, 13, 73,215,104,158,187,125, 66,210,154,148, 51,139,229, 49,199,167, +183,136,235,129,111,191,243, 22, 86, 75,164, 84,188,179, 94,209, 40,193, 48, 14,228, 24,177,218,144,147, 68,104,205, 75,159,124, +129,115, 63,240,206,119, 94, 43, 93,194,118, 34,211, 72, 30,116,188,248, 1, 40,236,135, 23, 67, 83,209,184,190,169, 7,159, 46, +107, 68,240,224,200,231, 73,215,242, 7,196,179,126, 96,178,218,100,137,125,243, 6,159,249,212, 43,124,254,149, 31, 98,217, 88, +132,202, 92,172, 46, 25,253,150,139,221,134,215, 46,239,145,200, 24,101, 24, 82,224,171,175,191,205,155, 95,255, 14,187,111,125, + 7,214,171,167, 88,208,167,129, 41, 79,199,163, 98,130,218,103,115,184,123, 11,158,191, 13, 55,110,243,195, 55,158,229,164,233, + 72, 8, 62, 57, 63, 98,200,176, 52, 13, 27,219, 86, 6,182, 0, 59,227,110, 55, 99,214, 20,227, 36,163, 53, 74,104, 22, 77,139, +233,122, 22,182,135, 20,176,218, 34,164,161,237,117, 33,189,117,109, 49, 8,155,119, 53,147, 71,163,107,231, 77, 74, 72, 36, 89, + 56,132,148,165, 54,250, 34,215,146,178, 36, 18,134, 24,137, 68,164,128,221,232, 17, 66, 34, 73,228, 36, 24,115,153, 1,207,187, + 25, 91, 55,208, 54, 13, 90, 40,118, 58, 19, 69, 77,134, 20, 21, 9, 18,117,205, 61, 14,194,209,216,154, 36, 57,117,205,181,169, +240,149,196, 54, 89, 11, 78,222, 15,177,234,208,243, 4,207,219,189, 29,110,136,181,121,173, 99, 40, 37,106,167, 47,170,172,172, + 6,206,104, 85,246, 68,223, 22,102,189,209,133,100, 42,171,213,110, 62,200, 13,120,156,189,114,120,129,158,198,151,249,176, 99, +127,239,231,124, 60, 71,185,201, 54,112,110, 97, 54,199,231,140,173,118,121, 11, 91,102,233,160, 80,178,204,174, 11,153, 60,160, +149, 32,197, 68,223,154,226,176, 56, 56,176,170,100,159,123,200, 33,226,134, 1,225, 60,202,143,196,171, 13, 73,104,244, 54, 16, + 20, 12, 10, 90,161,217, 24,133, 54, 22,213,119, 68,221,210, 88,131, 64, 18,117,233,250, 11,244, 92,159,171, 12, 56, 38,213,151, + 32,235,162, 3,179,157, 98,220, 66,171, 52, 49, 6,182,206,211,155,134,149,171,198, 20,147,233, 73,160,204,100, 92,101, 41,199, +244,225,102, 18, 70, 86,143,225,201, 91,187,158,221,170,125,240, 25, 62,169,125,228,161, 22,252,240,247, 66,216,235,197, 1,220, + 37,232,227, 98, 60,147,124,149,172,181,123, 7,167,139, 77,249,179,144,247, 30,206, 91,247, 24,201, 24,239,243, 58,112,229,250, +185,255,252, 87,248,210, 79,253, 24,167,167,115, 98, 74, 92, 93,142,172,175,174, 72, 41,145, 35, 24,221, 18,182, 1,163, 91, 8, + 13,253,201, 13, 78, 79,230, 88,107,232, 27,203,124,102, 9, 33,147, 17,228, 36, 80,141,100,102, 44, 11,107, 80,100,156,139, 8, + 60, 66, 42, 92,128,139, 77, 34,101,207,172, 73,116, 86,178, 13,133, 21, 93,136,183,138,227,121, 33, 77, 22,133, 77, 66, 43,113, +157,227, 81, 87, 11,222, 39,122,107,248,210, 75, 55,216,141,129,123,219,200, 38, 30,211,205,231, 12,191,251, 59,136,148,137, 34, + 50,134,192,197,234,138, 69,191,100,244,145,198, 59,210,213, 21,110,216, 50, 63, 57,226, 23,126,254, 43, 92, 13,142, 87,255,228, +223, 61,232,155,126,237,199,249, 3,242,234,219,253,177, 48,173,143,113,138,118,116,149, 91,193,131,133, 75,235, 39, 91,199, 47, +127,178,116, 84, 95,255,198,251, 79,119,106,164,106,174, 26,222,137,127,214, 62,115,131,163,217, 18, 45, 21, 39,203, 99,186,174, + 33,249,196, 27,151,111,113,181,115,220,219,236,120,103,187, 99, 27, 61,241,254, 21,249,114, 11,227,138,252, 52, 45, 91, 63, 40, + 47,254,113, 29,197,160, 6,170,204,225,185,103,224,248, 4, 22, 55,144, 41, 51,235,231,184,221,154,231, 23, 55,184, 55,172,249, +100,211, 48, 2, 23,227,200,168,138,177, 80,223, 52,244, 70,163,133,198, 54,246, 90,154, 37,181,166,207,145,224, 29,182,233, 49, + 66, 33,165, 68, 38,137,238, 44, 70, 78,254, 4,245,172, 84, 16,115,192,200, 76, 96, 36,185,128, 18,153,156, 51, 46, 4,148, 46, +197,114, 28,124,149, 84, 41, 98, 40,157,173,173,166, 72, 67, 8,100,114,137,191,214,154, 24, 35,103,179, 35, 6, 63, 98,103, 22, + 45, 19,219,214,242,154, 53,165,136,174,135,114,238, 68, 87,214,216, 48,124,188,181, 53,186,125,231, 45,168, 49,218,181,171,138, + 53,143, 93,213,220,249,105, 29,155,154,111,161, 36, 12,235,178,254,213,129, 45,179, 79,251,153,121,116,160,230, 69, 17,116,237, + 70, 23, 10,154, 69,216, 59,202, 77,254,239,147, 10, 73,233, 58,210, 10, 31,127,191, 60,198,250,209,143,189,136,219,166, 20,170, +182,199,100,129,243,129,163,118,142,139, 17, 33,202, 77, 38,166,128, 50,134,144, 19,173,210,132,156,232, 40, 48, 88,223,116,104, + 50,209,121,164,146,248,237, 64,151, 33,248,192, 48, 12,100, 23,138,174, 63,120,140,173,174,117,141, 33, 54,179, 66, 24, 94, 30, + 99,154, 22,225, 61,169, 53, 40, 36,194,103, 98,215,209,166, 64,142,137, 36, 5, 86, 52,100, 34, 49, 70, 50, 9, 33, 53,201,101, +132, 40,209,167, 46,122, 2, 17,169, 5, 4, 69, 78, 1,143,195, 40,205,104,106, 96,193,218,239, 31,112, 76, 31,242, 6, 76,179, +210,112, 45, 93,188,246, 48,158,126, 93,174,244,213,204,224, 9, 11,166,169,129, 3,138, 7,201, 69,215,240,169, 45,115, 35, 29, +247,213,170,213,133, 32,212,232, 10, 37,197,226,209, 28, 14, 32, 97,107, 97, 92,237, 55,200, 19, 28,222,127,231,151,127,142, 47, +255,228,151,185,243,252, 41, 66, 10,134,157,103,125,181, 99,115,181, 65, 90, 89, 70,143,187, 17, 47, 18, 18,205, 51, 55,158, 69, +105, 75, 99, 53, 90, 9,140,209,204,122, 91, 46,216, 25,130,243,180, 70,176,104,203, 72, 39,230,196, 16, 51,110, 40, 12,126, 37, + 5,163,203,220,219, 4, 66,138, 88, 85, 51,134,180,198,167,196,213,170,100, 3, 68, 41, 8, 49,211,233, 4, 99, 66, 38,104,218, +226,182, 55, 84,114,103,204, 25, 25, 50,198, 20, 68,160,239, 90, 98, 18, 60,183,236, 80,252, 60,175,126,251,187, 12,155, 21, 62, +254, 53, 62, 58,180,182,164, 48,226,130, 39,196, 64, 8, 22, 55, 6,110,189,112,155,223,252,213, 95,226,127,221, 69,174,190,250, +141, 18, 82,225, 63, 42, 29,246,251,244,106,108, 53, 85,169, 95,151,169,135,223,122,245, 96,184,201,212,209,103,158,138,167,249, +115,119, 79, 57,233,230,252,249, 67, 69,189,228,123,132,253,207,107, 65,159, 32,205,219,139, 25,183,207,110,113,111,125,206, 11, +183,110, 35,141, 33, 69,143,209,207,208,154,134,119,183,107, 86,247,207,201,110,132,243,119,159,110,142,193,163, 10,250, 7,125, +172,109, 11, 55,229,131,158, 89, 99,203,236,252,198, 41, 60,247, 44,116,115,152, 29,131, 53,204,133,102,235, 29, 11,211, 50,132, +128,160,152,141,188,189, 94,177,176,109,137,170,165, 40, 57, 0,146,146, 92,121,207, 51, 77, 71,163,138,103,135,167, 40,128,112, + 35,130,140,214,138,182,107,139,202, 32,101,180,149,132,209, 87,115, 67,135, 38,144,180, 71,187,128, 19,174,120,128,120,143, 68, + 16,125,198, 79,173,111,146,196, 93,177, 97,142, 42,161,133,100, 23, 71, 90, 93, 28, 33,165, 44, 73,153, 90, 40,148, 46,210, 10, + 33, 51,164,142, 16, 2, 47,158,157,114, 62,236,216,180,150,232, 28, 92, 14,123,203,241,237,199,136,166,158, 26,153,107,187,214, +169,177, 58,144,109, 74,189,183,168,181,128, 59,184, 97,247,237, 62, 5,239,176,176,167, 74,134,155, 92, 31,175,155, 40, 11,210, + 85,219, 86,246,204,119,113,112, 78, 78,249, 28, 57,237, 77,196,198,239,237,216, 77, 63, 86, 33,105,219,186,233, 45, 56,199,209, + 98, 73,175, 53,224, 17,162,197, 84,200, 64, 73,141,243,158,214,180,196,232, 81,253,131,246, 16, 0, 0, 32, 0, 73, 68, 65, 84, +100,108, 83,158,174,115, 35, 70, 74, 84,202,152, 4, 94, 25,216,172, 8, 33, 96, 98, 68,133,132, 19, 13, 93, 83, 35, 82,173,102, +222, 22,189,228,242,228, 4, 21, 50, 62, 38,236,124, 86,130,128, 98, 66,180, 22, 81,137,108, 66,107, 76,166, 44, 38,138,214, 47, +186, 18, 50, 32,200,120,231, 16, 82,144,210, 30, 82,119, 57, 20,163,154, 12,173, 86,140, 94,237, 45, 14,145, 31,173, 83,159, 10, +187, 72,251, 91,227,245,162,227,193,159,123,249,228, 93,206,132,239, 75,185,191,113, 30,190,173, 74,150,247, 43,172, 96, 88,192, +162,169,193, 3,166,116,230,187,117,245,231, 30,203,223,247,169,166,136,141, 15, 6,133, 60,198,215,217,255,248,151,248,205,175, +252, 36,175,124,246, 69,180, 16, 12,206,227,198,192,250,114,139,119, 14,100, 41,232,243,126,129, 93,156,210,116, 45,120,137, 66, +211, 46, 12, 90, 72, 78,102, 22, 99, 20, 18, 65, 99, 52, 33, 43,206,179,192, 71,207,189,181,195, 84,147,157, 88, 67, 37,118,222, + 19, 66, 68, 68, 65,200,137, 97, 72, 12,163,103,116,145,229, 92, 23,232,190,149,184,109, 96,187, 13,132,172,104,231,134, 35,147, +203,218, 89, 11,180,146,244,141, 37,228, 98, 78,180,146, 30,163, 36,125,163, 88,180, 2,107, 53,214,104, 62,247,210, 13,142,102, + 13,247,239, 95,113,118,235, 22,171,139, 43, 94,191,255, 29, 70, 31, 72, 49, 34,149,192,168,128,237,122, 46,238,157,243,236, 75, +119,249,167,255,217, 47,241, 63,255,241,215, 14,230, 50, 63, 64,175, 36, 31, 66,146,216, 75, 27,167,174, 93, 60,253,127,246,213, +223,251, 3, 94, 61, 44,126, 7,200, 83, 70,151,194,174,245,117, 65, 23, 49,145,149,228, 91,111,190,195,173,217,155,220, 62,189, +137, 80,146, 24, 61, 57,192, 24, 2, 55,150, 71, 44,187,150,203, 55,222, 46, 33, 34,181,160,231,167,253,197,219, 26,142,180, 27, +247,197,226, 48, 20,228,250,251,234, 42,130,215, 66,120, 40,149,208,216, 2,253,206, 58, 56, 89,194,209,188,116,119,214, 22, 18, +150,131,165, 21, 32, 21, 66, 55,100,183,229,184,155,227,134, 45,207,119, 45,247,124,224,221,114,147, 39,137,140, 53,134,133,181, +116, 82,179, 11,142, 99,219, 97,155, 6, 17, 18,222,121,164, 84, 28,213,156,116,165, 37, 90,203, 98,171,225, 3, 86, 11,162,247, +228, 16,144, 58, 34, 6, 79, 34,163,165,160,217, 57, 6,145, 49, 25, 84,140, 5, 89, 22,130, 81,149,102,167,164,149, 54, 64, 98, +209,204, 8, 57,162, 77,195,224, 6, 90,101, 65, 39,134, 16, 88,116,115,188,223,146, 77, 67, 59,151, 92,185, 45,189,130, 43,173, + 88, 55,154, 75, 20,116,177,248,196,115, 5,222,194,246, 67,146, 28,141, 45,163,207, 41, 43, 33, 38, 16,110, 47, 3,155, 80,211, + 36, 30,156,233,216,218, 88,185,170, 77, 23,178,188, 23,227,186, 28,163,186,173,118,178,117,180,106,218,189, 95,188, 60,104,208, +166,189,108, 38,127, 18,185,255,185,146,123,118,253,211, 64,182, 62,228,245,241,103,234,186, 90, 94,246, 51,232, 91,154,147, 37, +189,210, 88,109,144, 66, 32, 69, 38,229, 76, 66, 84,189,122, 33, 7,168, 12,157, 76,184, 16,233,148,196, 20, 80, 8, 13, 40,165, + 80,126, 68,198,132,218,185, 50,178, 72, 96,148, 38, 26,141,233,122,218,182, 67,219,134,182,159, 97,140, 65, 90,131,182,134, 76, +174,188, 7, 77, 32,147, 83, 38, 73, 93, 33, 39, 73,200,165, 99, 79, 66,236, 51,147,153,204,190, 34, 57, 70,198,228,240, 62, 16, +115,172,235, 33,177,141, 99,241, 94,113,174,144,155,166,212,182,195, 44,229, 15,155, 77, 78, 86,131,217, 23,164, 97,210, 1,123, +246,176, 80,240,143,121, 29,211, 7, 26, 99, 5, 97, 44, 24,191, 63, 96, 67, 47,102, 69,191,106,155,114,156,185, 80, 14, 55, 31, +202,247, 18,135,242,119,198,106,103, 56, 86, 61,101, 13,122, 33,133,247, 18,241, 62,162, 70,249,215,127,251,183,248, 79,127,237, +239,114,231,185,155,184, 49,224,124, 32,250, 92,127,140,215,211, 7,133,225,120,126,196,114, 54,227,246,209,146,153,109,144,173, +194, 72,197,162, 49,204, 90, 85,227,196, 19,228,204,106,235, 24,221, 8, 34,147,125, 34, 10,193,213,182,132,183,196,152, 89,175, + 2,171,171, 29,231,235, 45,187,221,136, 15, 30, 31, 18, 82, 72,238,189,189,226,222,102, 7, 17,108,149,151,197,224, 8, 89,113, +113,233, 25,131, 99,244, 17, 55, 70, 92,242, 16, 51, 65, 8, 4,146,205,224,184,220, 56, 70,159,153, 55,146,209,121,180,146, 44, +250,134,219, 55, 23, 28,157,206,249,196, 11,183, 16,237, 2,171, 90,124,101,192,175,118, 91, 72,145, 70, 23,111,128,103,159,191, +193, 23,126,234,111,243,175,127,231,255,225, 7, 38,236,227,129,179, 73, 87,230,239,100,184, 84, 11,162, 76,188, 71,103,246, 81, + 15, 38,253, 1,247,151,135,127,127, 42,232,170,234,135,167,249,103,101, 49,139,201,135,161, 22, 77,177,139, 92,244,130,190,230, +141,183,166, 97,181,185, 66, 10, 88,239,182,252,233, 95,125, 23,222,126,245, 26,181,122,234, 5, 93,214,180,182,182,219, 95,124, +212,193, 65,158,115,189, 40, 85,207,110,161, 32, 12,251,125,212, 90, 80, 29, 28, 31,149,196,191,163,121,209,149,119,109, 41, 38, + 85, 1,137,110,176,148, 68,202,165, 44,137,131, 34,122,174,124,160,201,145,123,110,199,102,220,128,223, 33,117,135,147,154, 59, + 93,135,149,130,101, 99, 48,213, 67, 66,213,128, 43,163,138,217,212,188,183,215,130, 20, 50, 37, 60, 43, 71,114, 12, 5,132,168, +118,221,132,136, 30, 35, 65, 75,172,143,200,154,149, 33, 43,129, 75,138,124,205,229, 82, 70, 99,164, 68, 91, 67,219, 24, 18,169, +152,125, 9, 16, 66, 48,239, 91,156, 27,232,172, 45,102, 66,100,230,182, 37,166, 80, 56,181, 89,149, 99,218, 10, 98, 18,251,140, +243,198, 22,136,254,144,179,112,152, 45, 17,124,173, 77,121,111,216,162,197, 94, 58,145, 39,130,167,170,103,220,193,251, 56,212, +226, 63,233,190, 85,174,246,220,186,202,200, 84, 33,185, 54,181, 97,138,197,116,168,196, 40,155,242,107,217, 84, 50,221, 52,163, +143,229,189,119, 99,181,205, 86,149, 53,175, 31,207, 79,226,123, 90,212,219,190,232,109,251, 6,164, 70,181, 13,141,177,204,141, + 65,203,150,156, 34,141,105,176, 82, 19,146, 71,150,119,147,148, 2,141,132,133,166,116, 49, 66, 98,115, 70, 33,203, 51,244, 9, +147, 37, 42,122,162, 75, 88,109,112,198, 34,155, 14,211,207,104,141, 69, 89, 75, 59,235,137, 62,162,171,183,176, 8,177, 20,108, +169,145,100, 66, 77,132,147, 2, 54,209,163,108, 49, 70,201, 57, 18, 67, 66, 8, 65,140,169, 64, 72, 57,227, 98, 32, 36, 79, 68, +144,147,199,167,226, 74, 23, 83, 34,196,136,159,152,141, 83,210,148,143,133,240,246,145,141,187,210,158, 85,169, 38, 39,162,218, +169,167,248,152, 33, 5, 15,221,244, 98,253,122,140,173, 70, 7,213, 47,190, 95,212,244,188, 74,216,112,187,253, 92, 52,135,122, + 1,136, 48, 78, 58,244,176, 95,116,250, 33, 22,253, 20,245,247, 33, 68,160,230, 63,248, 18,255,245, 63,254,135,124,241,203,159, +195, 24,205,110, 44, 33, 7, 41,102,178,200,164,148,137, 33,145,131,164,177, 29, 55, 79,110,240,220,233, 41,203,197,140,227, 69, +139, 80,146,155,139,142,219,199, 29,157, 45,220, 8, 33, 96, 51, 68, 86,131, 99,227, 28,187,157,199,187,192,198,123,214,235, 29, +219,245,200,229,197,150,132, 33,197,196,118, 51,224,119,142,113, 23,217,173, 71,132, 78,197,215,223, 39,148, 22, 8, 13,227,110, + 96,116,158,205,122,139, 31, 28, 62, 10,182,155,145, 97, 28, 9, 33, 51, 14,129,245,214,177, 25, 60, 46, 41,114, 78, 4,239, 25, + 35,228,156,104,173, 40,121, 29, 25,122,173, 88,180,154,101,111, 89,246, 51,238, 62,123, 11, 59, 59,226,232,228,140,123,111,191, + 77, 12,145,166,177, 37, 60,207, 71, 94,120,225, 25, 62,255,147, 63,198,239,255,206,239,253,128,117,234, 53,255,122,146, 25,197, +176, 15,220, 73, 60,126,184,134,212,123,183, 51, 93,198,104,197,146, 51,188, 23, 62,133,189, 52, 72,215,131, 86,213,208, 27, 33, + 30, 44,236,126,196,125,231, 77, 94,253,206, 95,241,141,237, 21, 89, 57,122,107,113,206,241,199,175,127,135,237, 55,191, 5,126, +252,224, 98,254,137,151,249,244, 79,124,145,123,127,245,215,143,184,121,124,200,243,154, 46, 67,227,184,151, 80, 93,187,140,229, + 3,195,160, 90, 8,164, 44,207,162,105,192,206, 74,103,222,218, 18,176,210, 54, 85, 45,162,202,254, 77, 19, 81, 42, 17,108,203, + 11, 77,135,200,145,224, 7,124,138,164, 48,144,220,142,239,110, 86,228,113,139, 80,154,185, 2, 77, 65,152,132,182,180, 53, 23, +192, 72, 69,140,137,166, 51, 52, 2,102,115, 83,199,203,213,252,171,250, 83,229,148,209, 58, 33, 82,113,238, 36,102, 68, 12,228, + 24, 80, 49, 34,114,177,162,176, 2,180, 80, 64, 68, 8,137,110, 44, 70, 91, 76,107,208,141, 65, 27, 77, 22,208, 54, 77, 33, 76, + 75,129, 49,138, 24, 35, 93, 91, 96,247,242, 22, 75,188, 31, 49, 82,145,115,105,150, 78,187,142,251,195,128,106, 44, 81,203, 26, + 21, 61,141, 53,171, 23,186,182,149,116, 60, 49,217, 15, 50,237,179,219,155,183,196, 74, 98,156,194, 46,114,189,156, 38,202,179, + 14,126,239,177, 46,155, 82,208,175,199, 52,182,172,215,144, 10,154,137, 40,223,188, 16,123,189, 58,147,180,211,151,117,234,170, +211,155,169,121,244,166, 58,212, 81,211, 47,197,247, 62, 11,224,227, 21,245,190,173, 48,146, 41, 55,167, 89,143,178,134,179,174, + 47,129, 43, 74,208,155,142,148, 19,137, 92,154, 84, 33,144,100,218, 28,208, 57,128,200,180, 82, 33, 82, 36, 42, 69,147, 74, 97, +143,128, 30, 74, 81,237, 81,120,173, 80,243, 57,182,105,208,198, 18,148, 98,214,119,228, 24,209,173, 37,197, 90,144,116,177,129, +117,209,147,140, 33,121,143, 19,137, 49, 6,100,134, 40, 37,161,250,121,103, 37,137, 62, 84, 87,191,120, 93,184, 5,144,235,131, +207, 41,226, 98, 66,145,145, 66,176,217,212, 52,171,237, 88,180,222, 34,215, 91,216,227,220,236, 15,108,103,227, 19,144,228, 14, +217,237,135, 63,159,244,138,105,138, 91,181,101,145, 42, 85, 10,248,110, 40,139, 55, 84,134,168,171,172,244, 84, 11,119, 99,247, + 16,209,116,112, 79,183,225, 84,103, 85,227, 7,155, 69,156,254,228, 79,240, 63,252,246,175,242,210, 75,119, 42,241,180,204,187, +189,247,140, 33,226,118,129, 97,240,108, 46,183, 24,221,115,243,198, 45,158, 61, 61,225,232,168,165, 51,166,146, 67, 51,179, 70, + 33,165,192,197,200, 16, 51, 99,130,245,198,115,126, 57,176,221,121,134,209,179, 90, 13, 92, 93,110,217,172, 6,182,187, 1, 63, +122, 98, 78,108,199, 80,188,222, 47, 7,156, 27, 8,209, 17,125,201, 5,200, 62,161,148, 34, 69,201,102,181, 69, 74, 65, 74, 25, +183, 29, 24, 54, 35,155,203, 17,183,113,184,113, 96,231, 29, 41, 4,182,155,145,113, 44, 23, 9,171, 4,189,145,236,198,136,208, +146,152,114,229, 33, 85,243, 36, 37,105,172, 98,222, 27, 94,188,121, 68, 63,155, 33,237,156, 20, 5, 73, 4, 4,138,144, 18,219, +209,113,231,217, 51, 62,247, 19, 63,206, 31,252,159,255,247, 15, 86, 97,143,213, 1,239,253, 2,119, 30,231,101,236, 62,170, 52, + 85,130,230, 24,203, 33, 60,107,246,100, 35,173,247,178, 34,216, 39,103, 77, 45,182,172,126,245,213,212, 67, 92, 27,238,212,175, +115,181,227, 45,231,249,230,219,111,241,205,183,222,100,251,221, 55,201,227,250,209,223,195,122,197,223,254, 59,255, 17,183, 62, +253, 9,190,251,141,111, 60, 30,107, 93, 86, 5,201,244,181,235,135,252,248,167,203,178,214,165,136,207, 23,176, 60, 65, 30, 31, +145,151,179,131, 44,123, 85,138,130, 82,251,142, 51,133,210, 68, 9, 65,204,137, 24, 60, 97, 92,211,165, 76,218, 94,208, 4,199, +184,189,226,221,237, 10,198, 1,225, 7,192,243, 66, 51, 99,214, 47, 57,178, 13, 90, 74, 66,202,215, 33, 44,157, 22,116,115,195, +220, 42,218, 70,162,165,160,111, 37,186,122,150, 79,118, 4,201, 23,110, 74,218, 13,197,139,127, 8,197,162, 59, 23,200, 93, 9, +137,105, 12,198,180,216,182,197, 54, 22,213, 53, 40, 99,139, 47,137,181, 40,169,200,185,204,238,181, 42,132,232,198, 54,196,224, +209, 82,212, 16,180,132,175,239, 81, 18,197,253,115, 32,176,108, 91,132, 20, 8,163,112, 86, 22,228,176,235, 10,218, 41,227,158, +137, 46,170, 13,172, 72,117, 92,193, 94, 97, 20, 40, 5, 53,199,189, 93,175,212,165,232, 83, 73,193,147,235,219, 48, 22, 79, 14, + 95, 47, 9,186,202,214, 68,222, 7,124, 9, 91, 85, 32, 84, 51, 25, 81,244,233,169,218, 2, 79,151, 58,173,170, 11,103,189,236, +153, 74, 88,252, 62,116,233, 31,175,168,107, 93, 61,190, 21,204,106,234,143,214,204,103, 51, 52,146,185,181, 37,214, 84,148,141, + 55,201, 34,148,128,144, 3, 46, 7, 22,178, 60,160, 46,139,210, 77,231,140,164,108, 36,149,138,180,204, 38, 81,162,110,109,135, +237, 59,178,178,100, 37,209,198, 48,166, 64, 86,229, 96,148, 36,164, 54,136, 24,217,230,136, 82, 18,231,194,117,198,201,232, 61, + 89, 22,214,189,203, 9,157, 82,129,226, 67, 34,197, 2, 31,249, 80,224, 31,159, 28, 32, 8, 49, 17,115,192, 42, 69, 22,153,115, + 63, 98, 90,131, 27,171, 94,209,213,212, 41,255, 4,126,209, 79, 18, 35,120,248, 94, 72,249,224,165,224,176,184, 79, 9, 91, 50, + 23,107, 67, 31, 96,187,131,113,183, 47,212,147, 43,216,195, 29,255, 3,159, 99,234,212, 39, 56,182,182,108,215, 16,252,190,187, +249,217, 95,255, 69,126,235, 31,253,125,142,230, 61, 87,155, 29,219,245,192,110,112,108,119,158, 24, 51,195,102,100,183, 25,136, + 46,161,153,243,204,157,103,248,220, 39,110,114,231,164,165,181, 6,231, 19,177,118, 96, 62,129, 71,178,118,137, 55,223, 90,113, +117,185,101, 61, 4,134,144,216, 14,158,205,122,199,230,202,177, 91, 15,248,224, 24,183, 3,193, 7,198,113, 32,120, 71,116,129, + 24, 3, 57,149,241, 71,172, 58,252,148, 34,195,110,199,118,189, 99,216,141,172,207, 47, 16, 66,225,156, 35,249,177, 34, 53,144, +115,196,143, 14,165, 53,195,232, 10, 23, 67, 70,164, 80,180,179, 98,173,235,198, 72,211,106, 6, 95, 80, 39,170, 92,174,240,199, + 4,141, 49, 40,173,137,178,229,153,219, 55,217,110, 3,110,216,161,219,134, 97,189, 97, 12,137,231, 94,184,201,115,159,248, 36, +127,246,251,127,244, 24,216,245,191, 7,175,105, 86,220,170, 50,119,182,109,145,136,118,179,122, 24, 86,242,230, 4, 89,155,169, +176,137,125, 65,159, 58,225, 44,246,168,209,251, 25,238, 72,138,229,235,197,101,249,111, 28, 74, 33,248,160,103,167, 75, 44,232, + 55,183,107, 94,190,243, 44,127,253,245,175,239, 33,245, 71,237,205,198,150,175,185, 53,123,100, 97,114, 15,211, 15,141, 39, 38, +253,179, 86,165, 11,188,121,198,252,120,206,252,120,206,216, 88,178,177,213,209, 44,214, 17,218, 65, 54,192,100, 87,154, 98, 41, + 60,227,134,237,184, 97,117,117,159,221,246,156,215,238, 95,225, 55, 87,188,182,170, 5,189, 85, 28,205, 58,110,182, 61,199,205, +156,214,182, 40, 37, 64, 89,186,156,176, 82,211,181,146,229,204,208,181,197, 0,108,222, 42,186, 86, 33, 98,194, 54,170, 18,147, + 51,209, 7, 68, 78,196,245, 72,206,137,184,222,146, 71, 71,118, 30, 65, 46,231,182,110,139,153,152,209,116,205,140, 44, 21,221, +172, 67,100,133,181, 6, 41,101, 97,190, 91, 83,198,108, 85, 94,155, 98,192, 24, 75,162,132,112, 73, 81,124, 78, 93, 8,180,198, + 18,115, 44, 6, 98, 82, 18, 98, 36, 9, 73, 18,130,104,234, 57,118,212,150, 11,144,243,165,176,235, 41,173,208, 20,107,110,171, + 32,200,178,230,144, 85, 55,174,246, 50, 76,125,224,149,129,170,217, 21, 19,201,174, 22,236,209,213, 5, 85, 47,101, 82,148,130, +158,134, 18, 7,157, 43,220,126, 77,134, 22,251, 28, 7,228, 1,121,234,192,202,217,249, 3, 31,136, 39,100,193, 77,126, 8, 19, +195, 62, 61,110, 81,159,236, 64,219,190, 44,236,190, 41, 48,154, 82,220,232,122, 50, 25,171,219, 58,151,206, 40, 33,201, 57, 33, + 40,208,187,200, 25,159,224,140,200, 32, 51, 45, 18, 35, 4, 89, 42, 68,150,200,148, 17, 8, 68,206, 36,211,208,204,122,178,181, + 37,232, 72, 27,178,132, 70, 75, 92,138,164,156, 80,218, 20,233, 92,142, 32, 20,131,247,132, 84, 50,197,163, 47,182,177, 33, 38, +140, 16,101,159, 8,144, 46, 34,140, 4,153,241, 46,144,114, 34, 11, 73,240,158, 24, 2, 62, 7,132,144,164, 84, 82,186,102,178, + 33,228,196, 54, 87,150,231, 24,107, 30,111,252,155, 61,103, 31,238,162,141,222, 23,228,233,207, 38,184,127,136,101,118, 30,195, + 30,154, 63,204,182,126,212,231,152, 22, 96, 83,229, 46,170,250, 38, 95, 31,124,165,216,255,226,111,254, 26,191,240,107, 63, 71, +223, 88,222, 61, 95,177, 94,237, 24,135,192,118, 23,240, 99, 49, 0, 73, 49, 99,245, 12, 35, 91,142,143, 79,121,246,230, 9, 77, + 53,126,241, 46, 17, 66, 98, 12,153,213, 48, 18, 92, 34,184,200,253,203,129,119,207,215,220, 59, 95,179,190,220, 49, 12, 35,171, +243, 29,187,237,192,110,189,102,231, 6, 98,240,184,193,177,219,108, 9,163, 71, 32, 24,135, 13,227,110, 64, 25,197,176,217,162, +141, 41, 69,158, 76, 8,158, 97, 59,224,221, 64, 76, 9,231,119, 56, 55, 34, 20,228,236, 9, 99, 64,217,150, 97,187, 37,231, 76, + 38,147, 92,194,246,134,172, 45, 41, 22,109,104,132,162,121,175,227, 37,137, 68,107, 81,221,118, 51,179, 89,195,113,223,176,114, +208, 88,195,141,211, 37,235,130,221,227,189,195, 15, 35,194, 24, 94,124,249, 46,119,238, 62,199, 87,255,240, 79, 63,160,144,255, +123, 84,208, 31,190,127, 88, 83, 70,117,218, 20,173,175,148,229,240,173, 9,137,165,123,105, 74, 1,166, 66,213,147,167,245,225, + 75,240,225, 29,142,148, 31,192, 17, 72, 31,204, 90, 23,192,253,243, 82,208, 39, 8,246, 81,133, 93,235,253,197, 3, 30,204,224, +158,138,251, 84,224, 39,178,148, 22, 37, 11,226,248, 8,121, 60,227,120,214,211,118, 45, 94, 75, 22,198, 20,103, 53, 33,247,172, +107,113,192, 68,140,161, 60,155,213, 21, 92, 94,192, 59,239,146,175,118,140,111,190, 11,171, 53,187,243,251,229, 18,208,104,132, + 41, 49,167, 47, 46,207,138, 23,187,208, 72,105,145, 57,209, 91, 75,171, 4,139,185,165, 49,154,227,153,102,209,149, 46,189, 53, +146, 89,171, 17, 33,151,112,172, 92,208, 39,191, 29, 32, 38,194,197, 21, 41,248,242,252, 67,177,127, 45, 53,180, 65,182, 6,221, +244,101,162,208, 55,228,148,153, 29,117,228, 92,164,161, 77, 99,137, 41, 34,170,155,232,148,182, 23, 67,198, 71,143,182, 22,239, + 35, 81, 36,180, 82,248,148,208, 82,145, 36,140, 62,208, 24,197,152, 34, 43,239, 49, 82, 18,173,134, 93, 93, 7, 93, 91,189, 54, +100,121,206, 34,237,253, 54, 52,101,124, 17,198,130,130,140,245,207,146, 42, 90,114,101,107,224, 77, 61, 39,167,247, 74,230,234, +219, 94,211,218, 38,227, 26, 89,223,139, 41,187, 60,213,116, 52,217, 20,216,125, 50,234,210, 83, 8, 75, 40,159,127,116,123,111, +248,244,148, 92,243,100,253,223,245,122,127,239, 90,253,120,240,187,172, 29,122,215, 94,207,134,111, 44,230,164, 36,153,155,134, +144, 60,173, 52, 52,218,144, 43, 33, 45, 19,203, 27,149, 2, 22, 24,114,230,148, 18,119,106,116,131, 77, 32,132, 36, 10, 48, 33, + 35,173,161,233, 58,178,212,133,140, 97, 52, 57,197,210, 36, 42, 81, 50,235, 41, 40, 76, 36,145,133, 64,145, 25, 70,135,212,130, +113, 61, 16,157,135,152,104,164, 38,133,128,212, 18,124, 68, 24, 69,172, 51,110, 41, 51, 62,100,198,232,200, 41,225, 83, 68, 85, +253,253, 54,184, 98, 73, 26, 61,107,231, 56,110, 91, 54, 87,219,178,241,220,184,223,128,127,163, 7,168,126,176,115, 57,132,227, +167, 66, 29, 83, 9, 37,152,110,138,135, 7,214, 33,209,238, 81,159, 35,213,219,238, 68, 70, 65,215,195,178,144,127,126,241, 31, +254, 26, 63,251,247,126, 26,107, 13,171,237,192,213,197,142,171,119, 46,137, 41,163, 26, 77, 12, 17,239, 60,182,233,152, 47,122, +180,208,104, 97,144,141,194,214,113,105, 78, 5, 54,223,121,207,224, 3,195, 16,185, 28, 6,238, 95,172,216,238, 70,220,206,177, +217, 57, 86, 23, 23,236, 86, 27,114,242, 4,225,233,218, 6,211, 25,148, 82, 52,125,135,247,174, 54, 71,153,209, 5, 66,130, 76, + 70, 41,141,247, 99,185,249,167,200,224,118, 72, 36, 99,204,196, 16,112, 33, 32, 19,120, 95, 46,122,214, 26,164, 82, 12,219, 29, +237,220,226, 93, 68,106,139, 54, 18,211, 88,178, 47,198, 69,227,152,104,172, 38,102,232, 26, 67,170, 70, 70, 25,129, 86,154,163, +206, 50,107, 20,111, 94, 12,197,173,110,222,178, 25, 2,227,118,131, 27, 6,114,200, 36, 41,120,233,229,187,156,156,221,226,223, +254,233,255,123,176,115, 63,134,220,205,216, 58,135, 85,223,191,156,234, 7, 10, 93,189,244, 77, 14, 90,211,248, 71, 83,138,248, +196,241,152, 8, 75, 91, 87,153,198,149, 56,102,108,233,170,115,117, 33, 52,242,193,194,254, 97, 7,226,163,164,101,239, 87,160, +223,239, 2,192,161,173,241,251, 4, 55, 77, 36,190,195, 56,225,105, 68,160,229, 62, 76, 73, 29,252,158, 48,197,143,125, 62,135, +229,156,103,231, 61, 95, 60,157,113,199, 26,238, 52,150, 99,149,105, 51,220,167,186,130,229, 10,243,250, 88,216,244,155, 29, 92, + 92,193,197, 10,222, 57,135,221, 21,220,187, 40,138, 21, 95,231,198,203, 57,116,182, 56, 32,246, 51, 26,213,176,108,150, 88,163, +209, 90,161,132,102,222, 54,156,206, 52,243, 86,115,107, 97, 56,157, 25, 58,163, 88,106, 65,171,196,117,152,156,212, 16, 92,100, +112, 35,164,204,112, 85, 52,253,121,231,136,187, 1,157, 32,197,132,210, 22,221,119, 24,221, 96,186,242,115,178,160, 93,180, 4, +151,200, 6,172, 46,238,137, 82, 10,132,144,228, 92, 8,212,185, 74,100, 75,100,121,172, 1,118, 5,193,141, 41,225, 40,242, 59, + 41,139,171,103,202,153, 31, 62, 94,242,134, 27,137, 33,150,139,162, 82,123,155, 87, 33,106, 86,123,141, 36,213,166, 32, 41,209, + 23,162, 27, 53, 73, 45,248, 82,108,141, 41,235,210,135,242,113,162, 42, 12,130, 43,191,214,162,204,225,117,165,197,171,106, 94, +211,217,162, 22,162, 94, 24,162,171, 94, 38,234,192,190,117,202,218,144,149, 60, 39, 31,140,155,126, 82,208, 77,195,123, 4,107, + 85, 25,114,184,198, 63,122, 81,175,217,214,232,174,124,179,141,133,182, 45,100, 8, 93,216,202, 66, 10,172,178, 69, 38, 6,248, + 28, 81, 8,114,206,136, 92, 10,231, 82,137, 98, 9, 91,195,221,149,177,184,148,104,178, 36, 40, 73, 86, 6,169, 53, 65, 22,141, +114,204, 5,186,153, 76, 15,144,146, 44,192,199, 88,158,169,139,236,182, 91,116,134, 97,181,194,185, 1,157, 18,109,130, 93,112, + 36, 81,100,115,187,156, 80,185,104, 40, 99, 42, 8, 66,164, 72, 44, 38, 19,126, 23, 2, 62,122,172,182,184, 24,112, 49, 96,132, +228,254,110, 44,208,112,240, 48,248,239,157, 95,244,199, 38, 53, 29,192,228,135, 80,250,161, 51,216,225,143,215,142, 75,122,191, + 24, 14,255,254,251,125, 14, 45, 31,180,185,109,116,133, 53, 3,255,232,191,251,199,124,249,239,254, 56, 66, 10, 54,187, 66, 86, + 27,182, 3,126, 24,201, 72,114, 44,207,217,152,150,174,233, 88,118, 45,243,206, 98,149,162, 81,138,163,185, 65, 74,216,140,137, +139,157, 99,181, 25, 89,173, 70, 46, 87, 27, 46,175,182,172, 47, 55,108,174, 54,184,193,179,189,218,144,114, 68, 91, 73,215,105, +206, 78, 79,233,230, 45,177,118,118, 66, 64, 59,111, 57, 57, 91,114,116,180,164,157,245,204,231,109,153, 26, 12, 1,173, 53, 82, +105, 98, 8, 12,110,192,104, 67, 72,133,149, 47,201,104, 83,102,143, 46, 56,146,143, 8,138, 89, 70, 99, 53, 57,129,181, 13,218, + 74, 36, 26,219,107,132, 79, 56, 37,233,181, 70, 72, 65,240, 48,239, 20, 86,203,234,107, 81,160,206,222, 42,146,144,172,118,129, +227, 70,113,231,236,152,171,144,185,255,238, 91,144, 50,209, 39,146, 16,188,240,242, 93,222,220, 57,222,249,214,183,247,108,233, +143, 4,193,235,125,231, 8,223,223,162,174,171, 4, 72,176,119,239,210, 53,230,178,111,202, 33, 89, 52,172, 7,116, 99, 81,214, + 80, 78,229,224, 53, 77, 37,140, 86,222,134,154,172, 56,217, 67,159,143,114,226, 58, 52, 96,202,249,209, 28,148,235, 51, 81, 62, +136, 2,168,131, 75,132,170,249,217, 15,195,154,178,146,159,174, 61, 33,234, 97,207,164,104,169,123, 37, 86, 71, 52, 59, 43,185, + 24,198,150, 70,168,111,249,212,188, 71,137,204,204, 88, 82,246, 52, 82, 35, 85,226,237,161,100, 93, 20, 31, 12, 15,155, 17,214, + 99,201,143,184,218, 20,121,213,184,171, 69, 63,236,207,227,163, 57, 52, 6,161, 53, 89,107,110,206,102,156,205,110, 16,210,200, +113,115,132,209, 22,169, 5, 51, 93,236,143,159, 59,110, 57,158, 91,140,148, 28,155, 34,101,235,141, 66, 2,214, 8,198,173, 39, +164, 76, 10, 17,191,243,132,237,142, 52, 56,198, 97, 68,134, 88,209, 77,176,179, 35,162,177, 36,219, 32,109,131,182,229,204,110, +109,233,198, 91,107,241,201,151, 44,246,144, 48, 74, 21, 46, 19,144, 66, 32,167, 72, 8,190,102, 71, 21, 62, 66, 8, 1, 41, 36, + 46, 38,100,149, 52,134,156, 80,202,240,218,110, 75,206,133,100, 25, 99,220, 39, 82,198,253, 24, 5, 68, 33, 26,250, 58, 7, 23, +170, 92, 18,109, 83, 81,230,118,127,182,249,176, 39,186,201,138, 22, 73, 91,160,121, 79, 33,197, 37, 15,186, 50,218, 85,157,161, + 79,219, 48,109,235,252,190, 94, 68,115,101,243, 78,113,197, 70,236, 35, 90, 39, 39,184, 84, 77,104,158, 40,116,105,154,229,203, +247, 94, 80, 31,171,168,203, 26, 61,215,232,253, 28,204, 40,140, 49, 44,218, 2,187, 47, 77,143, 39,160,165,194, 5, 71,163, 44, + 46,249, 50, 43,215, 18,153, 18, 67, 10, 52, 74, 32, 16,180,218, 84, 41, 69,177, 50,148,202, 64,215,147,148,169, 4, 69, 65,174, + 10,176,156, 19, 89, 9,156,243, 36, 4,113, 44,249,217, 97,220,161,115, 34,143,174, 4,105, 92,173,200,162,232,209,149, 44, 76, +247, 40,192,202,140,143,153, 4,168, 92,179,215,115, 66, 10, 69, 8, 14, 41, 36, 57, 11, 16,146, 49, 12, 40, 33, 42, 11, 62,178, +114,190,220, 18,165,132,203, 45, 79, 53,128,224, 73,110,111,239, 55,163, 63,156,135, 79, 29,199,244,107,127,208,173, 79,139,225, + 48, 4,230, 3, 47, 10,245,192,189, 38,210, 37,126,227,191,249,175,248,209,159,248, 17, 66,202,108, 54, 35,187,173, 99,125,185, +197, 13, 1, 33, 53,255,226,143,255,128,119,223, 57,231,135, 63,253,105, 22,221,156,190,109, 49, 70, 49,111,123,158,191,187,228, +185,211, 25,173,149,196, 12, 87, 99,145,164, 93, 94, 14,236,134,145,113, 40,196,183, 68, 34,134,140,180,144,146,231,228,228,152, + 91,183, 79, 56,154,247,244,199, 29,179,101, 83, 58,145,197,140,174,181,156, 30,207,120,249,165, 27,116,179,134,101,107, 56, 58, +233, 11, 60,158, 18,253,172,229,232,104,198,209,217, 12, 55,122,198,113,192, 42, 77, 74,169, 92,242, 83,113,170, 75, 33, 21, 84, + 47,103,140,153,149,176, 10,153, 11,226, 36, 20,136,140,115,158,119,222,190,224,237, 55,222,229,106, 53,224, 83, 38,136,204,209, +172,225,116, 97,136, 49,179,113,153,182,209, 24, 45, 9,185,232,106, 82, 12,156, 44, 13, 74,181,172,119,153,205,230, 28,211, 52, +108,215, 91,186,174,229,243,159,255, 33,254,229, 63,255,221,131, 46,189, 50,119, 77,133,173,229, 65,183,152, 14,224,121,165,190, +255, 69,125,234, 92,197,193,148, 32, 79,197, 91,149,116,191,147,101, 41,242, 70,213,228,190,218,137,231,202,172,159, 58, 41, 57, + 29,176,149,215,225,253, 30,178,140,241,195,179,230,167,162,124, 8,161,127, 80, 81, 79, 15,117,234, 83,246,245,117,114, 76,189, + 68, 60, 28,190, 49,217, 49, 43,246,182,207,141, 41,228, 45,219,195,141, 19, 56, 62, 46, 68, 64, 91,207, 73,219, 66, 95,212, 39, +243,198,114,167,147, 44,148,193,103, 95,145,118,141,206,153, 83, 5,175, 93,108, 97,189, 43,251,107, 51,192,246,162, 64,239,163, +175, 73,145, 60,232,224,135, 42,235, 98,209, 35, 90, 67,163, 45,103,221, 17,173, 50,156,204, 78, 24,220, 64,163, 20,198, 52, 44, +187,150,103,142, 59,218,185,161,183,146,165, 41, 16,247, 92, 74,148, 20, 52,178,176,222,165, 20,236, 86, 14, 23, 60,195,213,134, +205,214, 49,120,199,214,121, 6,169, 25,141,197,156,156,225,108,139,154,117,228,166, 37,117, 22,165, 53,170, 83, 4,169, 42, 87, + 2, 68, 46, 36, 89,109, 4,110, 12,229,222,153, 50, 41, 70,114,202, 40,169, 74,209,206, 16,146, 32, 2,161,252, 69, 66,206,132, + 24,105, 85,203, 16, 35, 89,150,224, 18, 7,133,111, 21, 42,249, 55, 86,168, 61, 76, 5,180,114, 52, 76,253, 51,165,247, 73,103, +162,194,235,218, 20,251,221,209,237, 17,150,237,118,191,246, 38,235, 87,106, 55, 62, 93,152, 51,133,148, 39, 42,193,120, 74, 43, +204,106,210,204,213,200,214,184, 39,203, 77,232,231, 97,163,244,164,208,187,156, 28, 40,167, 53, 28,222, 3,193,127,188,153,186, +168, 80,159, 85,213,160, 62, 35, 91,203,210, 22,155,193,148, 18,141,148,236,188,163,179, 45, 57, 7, 20,162, 24, 20,196,136, 20, + 25,133,192,133,132,210, 26, 89, 18, 1,208, 82,145,149, 70,154, 14, 45, 21,194, 20,232, 93, 40, 81,185, 35, 69,170, 22, 98, 34, +231, 2,153,198,156,241,187, 21,126,181, 34, 12,142,148, 2,140, 59,178, 20, 52, 66,213,247, 81,128, 44,198, 10, 8,139, 34,151, + 46,159,140, 76, 25,169, 21, 49, 59,188, 80,197, 9, 79, 21,205, 37, 66, 16, 83, 36,231,204,214, 7,146,148,120, 41,201,209, 23, +104, 44,135,167,151, 3,156,158,194,225,122, 8, 49, 30,118,233,106, 10, 54,168,238,117, 66, 92, 91,232, 62, 80,196, 15, 97,202, +135,255, 51, 21,110, 55,250,154, 25,255,219,255,227,127,203,103,191,244, 67, 92,173, 71, 54,235,129,213,197,154,148, 5, 74, 42, + 84,107,144, 82,240,202,157, 23,249,230,171,175,146,183,129,231,238,222, 45,145,186, 73,208, 26,195,209,204,160, 43,187,125,187, +243,108,182, 35,187,109, 96,179,219,177, 93, 13,108,215, 35,227,206, 21,196, 71,102,194,224,153, 45,123,218,206,210,116, 37, 41, + 74, 27, 69,215,106,150, 71, 29, 71,203,134,227,147,142,211,101, 87,235, 76, 70, 40, 65,219,232,107,216,207,206, 12,183,110,204, +217,236, 28,141, 53,164, 24, 73, 89, 16,146, 39, 71,129, 79, 1,171,245,181,242, 65, 43, 69, 22, 1,173, 5,198, 42,114, 76,172, + 55, 87,188,251,246, 61,190,249,173,111,241,246,189,123,228,112,194, 91,239,188,197,159,126,237,235,188,253,250, 57,175,223,119, +108,178, 36,250,132,209, 2, 45, 4,179, 70,145,144,164, 44, 88,111,182, 40, 45,240, 94,208,205,122,238,223,187,143, 54, 6,101, + 20,155,213,142,211,103,142,249,161, 31,253, 2,127,244,127,253, 43,246,246,177,178, 22,109,189,191,249,139,135,138,247,148, 8, +246,253,236,210,101, 13,114,158, 12,105,186,166, 88,155,202, 50,234, 98, 57, 43,135,175,150, 48, 4,104,106,252,100,161, 32,215, +206,190,126,142, 48,148,143,203, 31,115,246, 56, 17,133,166, 3, 46,231,247,118,237,239,167, 48,121, 95,248,253, 96, 46,254, 65, +170,148,154, 33,129,109,144,207,222,166,187,115, 27,223, 26,154,231,239,194,209, 17,185,179,176, 92,148, 75, 75,219, 86, 8,190, +224,218,109,163,184, 99, 13, 89,148,144,148,153,180,196,228,232,114,102,244, 35,223,121,103, 5,235, 45,172,214, 69,165, 50,214, +174,157, 15,136, 59,158,183,112, 60, 3,173, 17, 89, 48, 95, 44, 48, 18,230,166,167, 51, 22,171, 91,250,166,101,222,180,156, 29, +181, 52,109,153,165,207, 91, 93,117,233, 25, 35, 36,173, 46,170,141, 20, 34, 97,240,116, 22,214,219,200,102, 53,176, 14,130,181, +208,140,237,130,173, 49,168,126, 78,104, 90,152,207, 8,214,208,245,229,188,110,122,139,208, 6,137, 2,161, 11, 74, 39, 36,126, +140, 68, 23,145, 58, 17,171,127,134,172,218,251, 12,136, 84, 26,174,152,203, 94,156,124, 66,114,245, 24,145, 90,178,245, 14,159, + 35, 57, 73, 86,222,145,195,193, 37,110, 74, 41,203, 83, 84,111,229,253,200,154,138, 54,249,146,200,122,145, 84, 21,154,207, 19, +131, 93,149, 61,213, 53,251,172,245,201,106, 54,184, 66,138,147,169,102,213,223, 42,163, 14, 83, 59,125, 65,105,114, 69, 40,144, +189,154, 52,241,182, 94, 48,235, 91, 55,233,231,159, 70, 19, 56,201, 74,165,126,176,210, 63,180, 94, 63,222, 76, 61,197,242, 64, +250,190,108,192,166, 72,219,140,144,180, 66, 35,117, 33, 59,204,108, 91,152,199,128, 86,250,186,227,141,117,163,105, 33,200, 34, + 35,181,166, 81,229,176,210, 82,161,108,131,208,117, 6, 83, 97,246,156, 33,107, 73, 16,133,185, 78,206, 36,191, 35, 58,135,173, + 49,151, 54,130,202, 69, 83,169,100,137,122, 53,186, 41, 35, 19, 99,105,148,197, 42, 89,200, 24, 33, 34,201, 36, 37, 25,221,128, +150,138,157, 47,238, 95, 69,108, 86, 72, 30, 84,205,186, 32,179,137,177,248,133, 79,190,240, 62,214,195, 85, 60, 26, 22,252, 94, +100, 78,127, 80,183, 62,253,155, 83,161,158, 76, 60,168,112, 97,245,103,102,116, 15,126, 93,239,215,165,191,223,204,189,126,175, +255,244,127,250,103,124,250,243,159, 96,189, 30, 73, 49,226,199,186, 17,115,198, 13,142,236, 51, 82,106,218,166,229,243,159,126, +133, 23,158,123, 14, 66,145,192, 44, 22, 45,199, 39, 61,189, 53, 37,216,200, 71, 46, 86,158,213,214,115,181, 29,217,108, 11,219, +118,216,248, 98,235, 43, 50, 74, 26,186,182, 65, 73,141,109, 53,243, 69,135,212, 69, 54, 54,235, 44,243, 70,179,104, 45,173,214, + 88,163,144,162, 16,216,250,198, 96,132,160,107, 45, 93,163,177, 82, 18, 98, 98,183,246, 88, 93,180,180, 41, 70, 82,200, 37,164, + 66, 89,150,139, 14, 55, 56,208,138, 93,220,210, 74,193, 56,236,248,235, 55,223,224, 27,175,189,137,115,130, 69,119, 74,202,146, +174,189,205,167,190,248, 57,140,232,145, 33, 51,140, 27,190,246,221,111,242,187,127,242, 85,126,255,207,254,156,215,190,253, 6, +139,155, 55,121,246,230,172,192,138, 62, 17,114, 96,240,137,243, 33,112,121,190, 41,132, 66,183, 37,230,178,158,118, 59,199,237, + 23,111, 50, 34,248,238, 95,252,101, 41,228, 90, 87,139, 74, 14, 32,121,177, 55, 47,250,155,122, 77,136, 65,174,157,205,209,178, +204, 43,115,101, 15, 55, 13,180,245, 18, 98,106, 71, 62,133, 8, 81,101, 94,162, 30,176, 57,215, 61,149,246,100,177,143,178,111, + 30, 62,224,166, 78, 61, 61,162,160, 95,255, 61,249,232,207,251,190,204,119, 3,243, 99,110,188,242, 9,126,248,246, 29,190,253, +181,191, 68,157, 29, 97,206,110,115, 98, 12, 27,219,151,238,124, 54, 47, 5,162,105,234,104, 66, 50,102,193, 12, 74,151,156, 18, +131, 27,145, 49,114,127,183,225,254,118,203,187,111, 92,130, 91,151, 46, 48,184, 71,191,183,198, 22,248,184,235,160,179, 8,171, +104,141,229, 70,183,224,164, 91,128, 16, 44,154,158,152, 50,243,217,156, 89,103, 48,189,229,120,102,174, 57,138,157, 81,104, 45, +208, 82, 48,207,165, 46,249, 16, 89,173, 3,110, 72, 92, 37, 73,150,134,119,101,135, 71, 34,186, 35,180,106, 80,182,193,152, 6, +219,245, 88,163,176,189, 98,244,133, 79, 33,148, 98, 76, 25,159, 5, 57, 39, 92,134,232,227, 53, 7, 69,146, 10, 89,174, 18, 34, +179, 20, 72, 41,138, 71, 72, 44,235, 33,231, 72,111, 90, 20, 10,153, 18, 46,197,194,127, 9,129,148, 51,126,234,188, 75,128, 67, + 69,125,234,154, 17,236,139,182,210,101, 77,181,213, 57,179,179,229,158, 28,235,154,149,170, 20,126,165, 10,107, 94,202, 2, 3, + 52, 85,195,158, 37,184,109,121,198,119,110,208,156, 29,163,250,134, 72, 53,230, 26,134,253, 40,114, 28, 10,223, 44, 85, 19,175, + 92,247,166,148,251, 11,166, 60,224,155, 60, 41,178,251,136, 46,253,227, 23,245,105,227,236,226,245, 77, 56, 91,195, 38, 68, 78, +251, 89, 97,192, 43,137,150, 26,159, 3,173,178,236,130, 43,146, 77, 33,137,169, 20, 0, 45, 96,222, 90,178,200,104,101, 48,218, +146, 84, 49,143,209,182, 33, 27,133, 20, 5, 34, 79, 90,144,124, 42,186,116, 9,195,232, 72, 34,209,110, 86,140,163,195, 8,129, +161, 28,204,198, 40,230, 82,146,234,173, 75, 26, 75,175, 13, 66,168, 66, 48,205, 25,165, 37,129,196, 38, 4, 58,165,217,166, 29, + 99, 40,183,185,109, 8,200, 20,113,201,177, 75,197,168, 38,196, 64,204,137,171,177,134, 11,140,190,220, 0,121,136, 96,118, 88, +200, 31,158,121,124,148,228,166,199,133,225, 15,217,235,135,240,250,196, 70, 57,212,211, 78, 48,210,225, 60,253,240,224,123,224, +123, 50,176,163, 0, 0, 32, 0, 73, 68, 65, 84,115,164,189,222, 83, 38,248,220, 23,249,103,255,253, 63,225,211,159,121,158,221, + 24, 73, 49,177,219, 56,164,148,104,173, 8, 46,224, 6,143,214,154,228, 19, 90, 27,218,166,132,237,100, 47, 88, 44, 91,238,156, +206, 57,154,183,180, 86,147, 82,102,179,173, 5,125, 28,217,237, 60,209, 21,166,188,146, 18,221, 72,154,214,150,204,230,222,114, +122, 54,199, 52,134,174,211,116,173, 98,217, 55,180, 70, 23,251, 86,171, 80,170,216, 65, 42, 41, 74,144,146, 16, 52, 74,161,180, +160,109,202,218, 72,128,214,138,221,232,203,104, 50,102, 98,246,164,144,241, 62,150, 28,247, 52,178,176, 13,243,126,198,253,213, +134,251,235,129,147,238, 22,183, 78,239,114, 60, 63, 99, 27, 50,175,159,191,198,215,223,254,255,184,120,253, 93,222,125,247, 91, + 52,218,224,162,103,227,182,133,212,233, 19,111, 93,173,184,247,250,134,175,191, 49,114, 30,203,220,178,213,162,192,156, 72, 98, + 18,196, 44,216, 92, 92,177,186, 56, 39,231,116,205,156,127,229, 51, 47,243,175,254,197,239,213, 53, 38,139,215,192,195,228,185, +148,254,102,139,186,148, 92, 7, 14, 40,138, 76,200,214, 20, 55,226, 30,134, 55,166,116,234,145,194, 70, 86,213,152,101,242,224, + 14,110,111,179, 58,249, 55,124, 20,168,242,208,233,112, 26, 33, 61, 60, 83,127,148, 3,226, 7, 21,246,135, 47, 2,147,243, 91, +215,193,236, 4, 94,121,158,159,121,238,121,250,254, 6,183, 94,254, 52,179,179, 51,190,112,242, 28,255, 38, 9,100, 63, 47, 35, + 60,211, 66,183, 4,219,178,180, 13,163,105,120, 70, 41,206,133,228,118,142,136,228,233, 1,233, 70, 24, 29,127,248,237,243, 82, +208,183, 97, 63, 51,127,228, 25, 44, 96, 62, 43,207, 91, 73,116,215,209, 41, 77,171, 13,141,180,204,236, 2,165, 36, 77,219, 50, +239,123,148, 81,180,141,166,239, 53, 86, 23,189,122, 57, 11, 4,115, 9,207, 14,130,185,147,156,135,192,189,181,227,124,204,140, + 89,178,217, 70, 92,130, 17,129,145, 2,221, 25,154,121,135, 54,154,153, 81, 72, 83,116,226,178,178,177, 99, 76, 24,163,113, 57, + 19, 82, 38,250,226,200, 72,206,252,255,196,189,105,143,100, 89,122,223,247, 59,219,221, 34, 34, 35,183, 90,123,157,238,153,238, +153,158,149,228,144,179,144,166,104,120,100,137,180, 32,201,162, 12,193,134, 97, 24,134, 13, 88,111,253, 9,244, 73,252,206, 48, +224, 55,130, 0, 3,150, 44,195, 16, 8,129, 34, 9,209,195,197,163, 25,206,210, 51,189, 86, 87, 85, 86, 85,102, 70,196, 93,206, +234, 23,231,220,140,172,154,154,149, 51,102, 2,133,206,174,206,234,138,136,123,239,121,158,231,255,252,151,228, 35, 9, 89, 12, +110, 60, 41, 41,164,150, 8,161, 80, 36, 98,146,196, 20,209, 82,150, 59, 39,226,136,136, 40,217, 20, 82,154, 75,146, 84,242, 24, + 50, 99,189, 92,239,144,178, 27,206,140, 28,201,217,174,178,236,186, 67, 89,205, 76,229, 62,104,171,178, 35,175,138, 29,111,217, +191, 27, 85,238, 99, 83, 28,232,138,163, 92,101, 8, 77, 69, 24,166, 76, 92,156,166,108,208,100, 10,212, 95,215,121,143,222,180, + 89,233,160, 18, 52,203,146, 98, 90,216,244,198,228, 95, 84,217,159,225,106,199,254, 51,162,107, 79,153, 64,205, 60,167, 37,167, +191,245, 25,250,119,238,253,156, 69, 61,148,142,218,134, 43,198,173,234, 26, 98,140,172,234, 38,239, 37, 83, 96, 97, 58,156,183, +153, 9, 95,170,137, 86, 57,142, 47, 23,118,141,198,160,181, 34,206,246,130,166, 34,136, 12,125,250,148,167,233,148, 98,182,116, + 77, 96,221,148,189,159, 99, 68, 90, 71,155, 66,209, 3, 43,144,217, 0, 36, 20,153, 81, 43, 21,149,169,152,164,192,200, 60,249, + 67, 98, 12, 62,243, 96,100,162,119, 3, 83, 76,196, 24,153, 98, 32,132,132,141,150, 62, 70, 76,138, 76,209, 51,134,192, 16, 2, +202, 72,236, 80,144,138, 84,178,117, 67,202,123,173,217, 60,227,122,227,243, 60,210,206,143, 43,236,241,175, 49, 49,137,178,195, +153, 95,135,247, 69,255,250,188,235, 23,159, 62,208,174, 31,124,115,131,162,203,205, 92,138,124,247, 27,191,206, 63,253,253,223, +229,213, 87,110,176,157, 44,206,102, 66,141,181, 33,155,196,184,128, 27, 61,206,122,188,139,153,232, 41, 43,110,223, 62, 98,217, +214,220, 57, 57,224, 83, 47, 31,113,247,176, 99,213, 86, 24, 35,241, 46,107,206,123,231,217,246, 19,211,224, 8, 4,170, 90,114, +124,208,113,120,188,100,213, 54,180,139,154,170,169, 88, 46, 27,218, 54,103,149, 47,154,108, 65, 89, 75, 73, 91,101, 98,150, 20, +100,199, 58,178, 44,199,199,116,245,207,148, 18, 74, 73, 92,202,122,220, 36, 4, 55,110, 46,104,186,134, 36, 53,253, 48,224,220, +136,212,146,187,119, 94,198,232, 21, 62,118,172,218, 99, 22,102,137,199,210, 79,151,188,247,248, 61,254,223,143,126,192,187,247, + 31,209, 15, 35,247,238,221,227,131,113,203, 73, 91,113,105,123, 98,176, 24, 41,176, 62,112,208,180, 28, 47,150,132,221,200,238, +177,231,157,119, 31,240,120, 28,240, 94,224, 37, 56, 23, 48, 90,242,240,163,135, 36,161,184,127,118,159,182,174,112,253, 68,187, +236, 88,159, 28,243,221,111,253,160,200,111, 74,150,121,186,122,170, 51,145,231,111,226,235, 11,159,132,143,206,246, 89,213, 93, + 57,184,116,225, 91,164,184, 55,174,145,101,234,105,230,103,164,202,174,134, 37,116,228,106, 29,180,219,100,114,211,245,103, 67, + 21, 11, 86,165,139,135,118,120, 26,141,146,215,166, 21,249, 12,249,109, 46,242,215, 73,162,215, 81,172,231,173,170, 4,249,253, +164,107, 13,133,169,242,158,188,238,224,228, 24, 78,143, 57, 61,121,129,170, 94,160,214, 71, 44,186, 53,178, 90, 50, 24,195, 74, + 26, 30, 8, 9,205,138,165,174,248,120,189,224,139,221,146, 94,213,124,177,169, 9,186,230,213, 74,209,187,145,102,154, 16,253, +200, 69, 63, 18,156,229,221,179,199,185,160,255,180,150,193, 85, 38, 41,179,168, 65,231,251,249,184,109, 57, 48, 45,135,221, 10, +173, 53,181,106,105,154, 6,105, 26,132,145, 28, 29, 54,212, 38,123, 64, 84,149,196,250, 64, 83, 41, 54, 54,176, 35,112,223, 89, + 30, 91, 71,232, 35,155, 33, 48,133,196,214,131,143,129,160, 52,149,150,212,117, 69, 85, 86, 83,149,206, 69, 84, 75,208, 85,222, + 97, 71, 37, 81, 41, 18, 18,244, 54,159,179,169,164, 60, 75, 41,179,147,238, 24,144, 74, 35, 34, 8,153,175,107, 76, 16, 9,120, + 60, 85,146,196, 96, 73, 34, 19,172, 31,185, 33,155, 28,134,148, 67,107, 36, 56,239,247, 92,142,124,216,228,243, 42,196, 61, 12, + 62, 35, 90, 41,229, 34, 77,218,123, 31,204, 16,126, 73,176,203,135, 74, 93,172, 96,155,252,123,166,202,223,155, 18, 29,237, 3, + 60,217,230,130,158,128,182,219, 19, 73,108,145,216,205, 8,147,174,243,253, 28,108, 81,166, 20,117,138, 44,197, 61,149,220,148, +168,178,244, 45,253, 53,247,237,193,210, 47,187,172,144,224,231,141, 94,245, 62,239, 22,188,133,113, 36,132, 37, 65, 64,239, 28, +139,170, 34,132,132, 19, 19, 66,234,171,152, 86, 23, 60,157,174,217, 57, 87,194, 95,242,244, 24, 72, 40, 41,137,192, 32, 2,141, + 82, 76, 50, 91,181,202, 36,136, 66, 34, 69,200, 77,127, 83,227,167,128, 84,134,169,105, 88, 41,137, 68, 96,129, 6,129, 39, 17, +241,212, 42,199, 52, 70, 60,141,212,108,253, 72, 74, 25,206,247, 5, 98,151, 82, 93,173,248, 34,137,232, 92,113,226,206,222,238, + 54,134,210, 0, 10, 90, 45,217,217, 80,172, 93, 21, 76,133,120,209,212,121, 10,121, 38,132,226, 41,232,123, 46,164,115,218,217, + 47,210,204,255,250, 62,252,122, 99,161,245, 62,160, 0,160, 57,129,221,195,189,139,157, 46,176,174, 44, 7,153,245, 79,191,174, + 57, 20,102,178,168, 47,126,145,255,241, 31,255, 46,183,110, 29,211, 91,135, 31, 61,206, 39,198,126,194,109, 39,188,145, 89, 87, +238, 28,166,174,233,218,142,174,109,185,113,178,230,112,209,112,220, 54, 28, 30,212, 84,198,224, 17,232, 4, 33,228, 6,175,173, + 53,245,168, 88, 24, 67,106, 34, 82, 24,186, 78,113,184,108, 56,232, 42,170, 42,223, 23,143,183, 83, 38,186, 10,129, 79, 9, 37, +196, 21,225, 73, 37, 24, 93,196,151, 38, 42,164,132, 15, 57,128, 66,144,208, 10, 34, 57, 37,106, 33, 12, 34,102, 78, 7, 73,178, + 88,100,120,116,220, 14,128,160, 94,156,114,121, 25,248,193,135,223,195, 37, 79,171, 12, 67,152, 24,253,196,197, 48, 50, 78,150, +139,209, 33,107,145,107,234,144, 96, 51,240,199, 37,142,164,171, 37,175, 30, 30,210,153,200,163,161,231,160,223,112, 99,169,177, +253,134, 16, 3, 15, 63,122,159,147,211,155, 44,215, 45, 71, 39, 43,142,150, 53,175,189,241, 49,254,236, 79,191,206,217,118,160, + 86,231,172,143, 15,120,116,239, 33, 47,188,246, 42, 44, 86,215,238,169, 6,252,144, 15, 16,255, 55,167,190,248,242,107,111,242, + 71,147,135,239,191, 95,228, 69,213,158,112, 38,202,247,190,248,197,171,178, 95, 79,117, 46,186,253, 46, 79,188,233,218, 1,182, +155,138,186, 34, 62, 69,144, 71,181, 80,207,200, 82,202,223,135,248,195, 58,243,164,159,150,246,120,255,252,103,172, 42,191,231, +125,222,253,247,219, 60, 81,167,107,140,104,231,243,239, 25,153,247,169, 55,215,121, 71,174,117,126,214, 23,199,124,242,228, 22, +232, 5, 13,138,164, 36, 71,109, 67,116,142,229,201, 9, 63,216,238,192, 77,156, 52, 29,199, 4, 30,122,248,213,229,154, 71,231, +231,188,209, 5,166,237, 19,190,149, 22,156,125,244, 4, 30,220,135,116, 93, 30,251, 51,156, 9,215, 87, 14,149,161,110,115,147, + 84,107,197,110, 26,169, 85,139,234,114, 51, 99, 67,160,211, 13,227, 20,193, 68, 78, 90,201,118, 8, 44, 59,205,217,214, 34, 36, +156, 91,143,177,158,225,194, 33, 82, 34,197,136,221,141,224, 5, 3,130, 86, 37,164, 49,180, 2,164, 20,200, 20,144, 8,132,203, +164, 82, 69, 64, 36,129, 10,185,216,134,148,168, 67,246,114, 8, 33,103,174, 11,153, 16, 73, 99,234,116, 69,171,240,110,142,185, + 78,153,199, 18, 21, 99, 24, 73, 72, 70, 63,224, 98, 66,167,196, 24, 2, 74, 64,171, 5, 27, 79,153,112,109,201, 97,151,215,140, +104, 10, 33, 83,139,189, 98,231,202,122, 88,194, 82, 61, 93,195, 18, 48, 21,109,250, 52, 27, 21,201,226,156, 90,238, 23, 89, 84, + 28,222,103,196,102,188, 78,208, 44, 50,205,249,114,212, 42,163, 83, 83,202,223, 55,203,226,102,167,247,168,130, 20, 16,171, 60, + 20,155,194, 9,208, 99,110, 22,254, 58,233,109,223,248,222, 95, 3,126,191,186,177, 34, 56,145, 59,117,109,168,171, 42, 59,168, +198, 72, 91, 25, 34,146, 74,202,236,170, 21, 34,181,174,112,193,210,152, 6, 37, 36,149,210, 24,153, 77,238, 43, 93,161,234,138, +170,174, 89, 29,174,243,218,195, 39, 98, 97, 54,134,152,163, 6,133,200,123, 32, 59,246, 28,232, 12,185, 10, 37,105,141, 38,200, +108, 21,216,153,154,136, 32,170,132, 84, 21, 3,145,182,105,114, 20, 38, 17, 97, 20, 46,192, 24, 29,117,221,112, 49, 58,108, 74, +136, 18,152,224,163, 39, 10,193, 24, 61, 62, 5, 42, 45, 56,159, 60,131,143, 25, 90,179,182, 72, 24, 10, 67, 86,215,249,230, 8, +101, 92, 84,197,107, 93,170, 61, 17, 67,166,253, 77, 38,197, 47,198,126,243, 58, 35,247,106,234, 41, 30,217,215, 39, 16, 31,224, +181,151,242,129,187,219,236,225,160, 84, 8,116,149,218, 19,152,230, 73,198, 21, 93,250, 39, 63,203,255,244,223,252,125,222,120, +229, 22,219,201,114,254,100,199,102, 51,144, 98, 66, 8,129,115,142,177,183,217,117,202, 71,218,166,227,244,198, 33, 55,142, 15, +184,181, 94,210, 40,157,225,240, 36, 24, 93, 98,103, 35,151,147,103,231, 60,155,237,196,102,176,236,172, 99,176,158,182, 82, 44, + 91, 67,215, 24, 26,147,239,157, 32, 4,181,145,116,181, 46,171, 89, 73,165, 36, 54,228,132,190,209, 7, 6, 31,136, 41, 49,249, +128, 43,228,153, 16, 83,118, 7,140,241, 74, 7, 79,177,165,204,134, 67,130, 85,173,185,232, 39, 36,112,180,108,232, 7,199,135, +247,222,225,223,189,243, 29,222,254,206, 7,220,127,231, 17, 31,220, 59,227,254, 59,143,120,244,131, 75,118,214,194,162,202, 16, +163,214,220, 94,118,156,222, 58, 64,174, 27,218,198,208,214, 13,151, 59,203,165,155,232, 83,226,114,178, 36, 2,147, 79, 52,166, +102,189, 62,101,177, 56, 98,185, 62,166, 58, 48,216,205,150,203,161,231,248,112,193,119,223,126,143,203,113,224,201, 56,176, 50, + 21, 70,107,218,174, 69, 25,248,224,131,179, 61,180, 28, 67,201,154,254,155,131,221,223,255,230, 95,101, 8, 82, 74,168,219, 92, + 89,175,152,227, 51,251,188,192,163,243,228,110,195,222,174,184,183, 25,134,119,236, 11, 90,138, 79,195,144, 66, 67, 91,158,157, +217,172,230, 89,119,184,121, 26,191,126, 30, 81,154, 3,127,173,248, 95, 73,151,100, 49, 39,161, 48,239,175,165,104,205,251,233, +122,149, 15,244,155,167,121,242, 58, 88,102, 79,246,118,149, 27,172,170,229,172, 90,240,198,106, 9, 70,163,144, 44, 5,168,174, +163, 50,146,203, 32,120,189,169,121,185,170,145,149,161,209,146, 49,192,205,197, 18, 45, 35, 74,213,220,172, 4,223,189,236,225, +252, 73,246,188,248, 73,123,252,231,125,117,217,205,147, 85, 11, 50,187, 23,118,218,100,166,123,179, 96,217,174, 80, 73, 97,234, + 26, 83,213,200, 90, 99,165, 36, 10,208,181, 34,144, 56, 27, 61,187,152,120,188,177, 52, 41,209,111, 39,130, 13, 92,156, 79,108, +138,137,147, 19, 49,135,170, 72, 56,212, 25,186, 87,228,218,134,183,172, 42,197,146,132,140,129,198, 36, 42,153, 57, 77,102, 12, + 44,140,192, 91,207,218, 72,140,204,126,244, 46, 38, 82,113,105, 75, 82, 96, 93, 86,184,120,103,145,210, 96,157,103, 8, 14, 65, +192, 71, 65,239, 7,124,153,166, 67, 74,140, 49,146, 82, 96,154,121, 65, 41,238, 67, 88,162,216,187, 18,218,130,166, 94, 31,172, +164,200,133, 54,201, 61, 50, 35,196, 30, 66,215,229, 92, 60, 92,228, 34,188, 94,228,169,186, 42, 1, 71, 77,125,205, 57, 80, 21, +179,174,148,163,185, 21,249,254, 81,229, 44,174,212,254, 60,158, 37,117,179,151, 68, 44, 36,202,170,202,175,111,190,150,166,161, +200,180,184, 10,181,255,105,214,182,207,221,228,206,190,180, 63,235,244,232,201,147,235,110,128,101,203,229, 56,209, 30, 24, 42, +173,242,123,149,121, 63,168, 0,173,178, 25,141, 86, 57,212, 66,154, 12,135, 68, 45, 89, 84, 13,222, 7, 24, 28, 71,235, 99, 98, + 76,180,117,205,214, 57, 68, 76,184,204,130, 64,106,133, 74, 16,123,203,186,233, 16,222, 33,149,166,149,217,112,163,142,142, 24, +115, 39, 86,215,154,201, 58, 60,176,208, 21,131,155, 64,231,189,102,239, 61, 19,160,117, 69, 31, 28,117,101,114,224,142,130,138, +132, 77, 33,195, 59, 17,140, 20,220,223, 77, 88,145, 88, 24,197,165,115,249,144,153,161,207,182,202,147,122,219,230,110,203,150, +174,173,160, 19,121,210,136, 57,179,215,164,189, 46,242, 23, 57,173,135, 31,227,152, 53,119,126,223,252, 22,212, 39,251,191, 55, + 20,226, 82,163,242,158, 73,213, 48,110,246,211, 79, 57, 52,255,251,255,252,107,124,226,213,219,124,244,232,156,243, 39, 3,227, +182,207,131,208,177,161, 63,223, 33,165,202, 82, 63, 64,169, 26,169, 53, 70, 27,214,109,131,136, 2, 76,158, 94,165,132,193,123, + 70,159, 3, 93,166, 41,224,188,203, 73,107, 62,178,106, 20,181,150, 24,149, 53,232,181,150, 4,159,211,247,124, 72, 87,207,164, +245, 1,169,100,182,246, 77, 17,231,178,193,140, 81,130, 90,102,235,225,193,103, 21,195,186, 49, 28,215,154, 39,222,161,162, 34, +164, 64,165, 20, 19, 2, 37, 35, 86, 36,162, 11,124,244,254, 19,222,122,233, 6,127,231, 87, 63,206, 7,175,221,225,243, 79,182, +108,207, 30,115,113,255, 62,255,230,222, 67,238, 95,236, 56, 62, 88,178,179, 83, 38,118, 93,244, 88,229,168, 94, 61,226,245,211, + 23, 0,201,232,122,142,154, 53,143,250,115,222,125,242, 17, 99,244,220, 89, 31,113,227,224,148, 23,143, 95,193, 52, 10,161, 36, + 93,183,128,148,208,169,195,138,158, 39, 31,124,200, 52, 90, 72,146,117,211,241,157, 71, 15,217,244, 59,186,229,130,113, 24,120, +235,205,143,243,199,127,244,151,133,195, 49, 75,169,228, 47, 75,163,246,156, 7, 92, 63,127,130,156,119,132,215,115,170,159, 82, +200,148,189,162,223,150,201,153, 12, 47, 87,250, 26, 23, 32,238, 51,218,159,125, 22, 26,253,244, 68, 42,126, 12, 74,117,253,229, + 94,127,173,243,189,174,100,137,227,140,251, 2,110,231,169,188, 20,253,102,193,167, 94, 57,229,155,125,226,173,227, 37,255, 97, +112,249, 16,215, 69,117, 80,215,249,185,111, 50,114,178,113,150,163,102,149,225,220,174,206,219,200, 36,249,204, 97, 71,140,137, +206,123,238,133,196, 75, 82,178,213,146,190,223,225,245, 1, 55, 87, 59, 52, 1,150, 7,112,120, 10, 15,166, 61, 82,240,211,126, +205, 70, 61,199,213,158,176, 15,180, 85, 77,165,178,106, 8, 33, 17,117, 13, 70,147, 42, 73, 31, 5,210, 38, 38, 13,187,173, 67, + 40,168, 98, 34,248, 64, 27, 2,143,135, 68,178, 30,119, 49, 50, 77, 14,225, 34,209, 7,164, 15,164, 41,178, 90,106, 84, 72, 24, +160, 85, 18,182, 30,161, 36, 85, 8,212, 74,113,128,160,237, 3,203,166,195, 74,129,104,243, 94, 60, 44, 20,151, 2, 6,159,152, + 72,104,163,216,141, 57,231, 67, 38,143,170, 27,252,118, 3, 66, 50,216,204,169, 48,218,144,130,163,213, 57,207,131,104,233, 84, + 94, 3,100, 87, 76,168,140,193,150,128,159, 43, 25, 89, 44,126,240,243,122,212,152,162, 8, 33,239,219,103, 7,195,186,228, 96, + 84,134, 43, 59, 87, 91,206,194,121,181, 97,212,158, 24,185,217,237, 99,136,107,179, 71,117,148,134,118,158,208,219,114,127,149, +123,202,135,125,202,219,108,136, 51, 27,210, 44,154,253,128,215,150,149,213,193, 34,251,159,136,226, 55,111,251, 34, 1,245,215, +182, 74,254,167, 6,115, 20,159,248,141,127,134,110,138,199,240,207,120,131, 93,193, 27, 2,140, 97, 20,130,163, 98, 25, 27, 82, +162,171,187, 76, 52,148, 25,182, 1,137, 81, 6,231, 45,139,170,197,152, 10,239, 29, 74,107,170,170, 66, 42,153,173, 61, 71,143, +119,129,152, 66,134,232,189,205,126, 3,198, 92, 73,213, 4,130, 78,105, 84,165,104,171,154, 88,188,182,149,202,190,193, 90, 41, +122, 60,190, 50, 56, 41,136, 82,224,203,244, 23,165,194,133, 84, 10,132,194,147, 24, 98, 68, 42, 65, 64, 49, 5, 71, 20, 96, 99, +196,123, 79, 4, 46,103, 59, 65, 55,199,244, 5, 24,124, 62,128, 76, 73, 65,211,114,207,190,212,213, 85,224, 12, 34,128,207,121, +200, 25,134,249, 5,234,220,159,149,160, 93,119,154,131,124,160,165,196,242,139,159,226,205, 79,127,146, 7,223,127,167, 4,107, + 20,214, 39,100,233, 76,244,229,192,200, 13,203, 87,255,209,239,241,197,175,124,150, 39, 23, 59,206, 30, 92, 48,141, 14, 33, 36, +139,163, 37, 82,192, 56, 58,148, 84,153,132, 40, 52,141,233, 88, 45, 23,220, 56, 92,177, 48, 6, 93, 73, 42, 45,179,172,176, 20, +228,201,122, 38,231,121,120, 57, 48, 12,150,144, 34, 93,173, 56, 57,104, 56, 89,214,116,149,166,174,179,129,139, 72, 96, 83, 68, +149,196,189, 90, 41, 92,202, 69, 62,165,132,143,145,169,172, 2,188, 15,153,171, 17, 2, 75,149, 77, 53,106, 9, 71,181, 64, 37, + 65, 91,107,140, 82, 28, 47,170,204, 50,247,217,184,232,171,119,143,185,191,245,124,251,189, 75,234,165,230,159,252,202, 43,188, +113, 99,141, 93,116,220,121,241, 5,110,117,135,252,173, 79,189,206, 73, 85,115,115,209,241,202,225, 1,111,223,127, 12,135, 13, + 55, 15, 14, 89, 54, 71,212,213,146,179,254, 12,235, 39,142, 22,167, 28,117, 71, 88, 59, 32,180,196,166,192,163,221, 37,253,180, +165, 51,154, 16, 18,170,170,105, 79,142, 88,159,172,121,244,209,123,220,127,248,144,179,237, 37,141, 82,216,232, 57,219,141, 28, +183, 53,218,212,172, 78,143, 56,239, 39, 30,199, 2,225, 45,234, 60, 57,110,182,240,242,139,121,215,187,219,254,116,132,178, 89, +226,248, 60,255,105, 93, 12, 83, 84, 93, 10,118,169, 20, 17,126,200,217,238,106,197, 83,149,123, 59, 93, 13,231, 87,171, 32, 81, +216,193,241,218, 58, 71,183, 69,195, 92, 98,140, 99, 40,207,197,143, 32,179, 25, 83,140, 61,194, 62, 6,152,244,252, 41,253, 89, + 7,184,249, 25, 48,229, 92,155, 9,125,130, 12,115,170, 98,164, 21,129,213, 33,191,243,137,187,208, 45,248,212,233, 1,163, 50, +124,108,125,204, 3, 93, 19, 40, 36, 40, 53, 59,226,105,106,165,184, 45, 13,171,186,197,106, 77, 40,159,109, 15, 8, 31,185,211, + 42, 30, 76,129, 35,165,121,140,228, 52, 70, 70,173, 57,145,130, 71,187,137,202, 40,190,179,221, 16,182, 27,112,187, 44, 95,155, +157, 27,137, 63,217, 29, 80,138,252,218,219,114,173,180,166,174, 52, 71, 85,203,141,118, 77, 83,119,232,182, 35,233,138,164,103, + 99, 26,137,175, 52, 91, 31, 25,109, 98, 40,124,150,201, 5,122, 23,176,189,195, 59,207,110,211, 51,238,118,216, 97,196, 13, 3, + 79, 54, 23,248, 48,176, 10,129, 54,122, 26,111,105,132,162,149,130, 54, 37,148, 11,168, 16, 80,253,150,195, 32,104,156,227, 80, + 36, 78,132,164, 78,176,144,146,227,153,188, 22, 18,163,205, 38,100, 81,130, 39, 27,205, 88,114, 38, 67,116, 83, 1, 99, 2,181, +132,173,179,212, 90,161, 99, 65, 85,147, 96, 91, 84, 34, 50, 37,166, 48,171, 38,202,125,161,138,124,208,198,124, 47,135, 82,228, +141,218,123,186,171, 98, 35,107,202,218,104,110, 78,187, 54,159,233,203, 54, 23, 86, 93, 96,117,235, 11,217,173,144,186, 42,185, +135,252, 83,122, 70,217, 81, 10,249,220, 44,198,107,164,198,114, 6,102,120,158,125,112,207, 12,205,147,114, 3,217, 85, 5, 61, + 48, 37,168,166,202,182,236,198,228, 65,108,158,226,141,250,177,104,175,166, 42,111,206,245,249, 65,252, 89,119,235,253,148,223, +100,183, 32,180,145, 39, 67,207,170,110, 88,181, 11,118,211, 68,103, 42, 98, 20,104,165, 8,201,227,130,167, 53, 13,162,216, 8, +106,221, 20, 94, 86, 96,219,111,113, 5, 58, 75, 50, 75, 96, 4, 30, 97, 76,238, 64, 67, 68,104, 67,136, 17, 45, 50, 44, 34,200, + 72,158,150, 58, 55, 19, 37, 3,120, 34, 81, 91,195, 16, 29,178,173,137,147, 39,146, 47,104, 26, 29,168, 72,136, 57, 64, 64,138, + 28, 3, 58,216, 17, 85, 12, 27,130, 29,242,231,111, 42,198,105,204, 55,198,124, 65,231, 32,138,142,253,174,164, 41, 83, 59,177, +200, 27,124,177, 19, 28,179,204, 69,216,125,135,104, 13,248,205, 47,103,224,242,215,118,235,222, 23,147, 5,205,246,235,127,193, + 95,118,119,246, 41,113,179,127, 65,152,181,190,236,157,242, 62,253, 43,124,249,171, 95,100,234, 29,231, 23, 59,236,224,233, 86, + 29,235,227, 5,187,157,205, 58,236,170,152, 5,249, 72,219,180, 28,173, 87, 88,155,216, 92, 58, 90, 93,161,141,206,241,182, 33, + 91, 75,246, 54, 50,249,136,240, 41,155,212,233,226, 52, 72, 34,250,136,151, 34, 39, 74,185, 12,143,139,226,167,158, 27, 68,152, + 98,134,211,189, 15, 76, 33,160,129,187, 11,195,214,121,108, 36,235,210,133,160,174, 36,166, 16, 39,183, 73, 82,213,249,129, 90, + 86,186,168, 51, 20, 42,229,176, 8, 93, 43,190,252,214, 93, 14,239, 58,132,155,248,151,223,251,144, 79,158, 30,178,104, 43,222, +126,239, 33, 7,171,142, 91,199, 45,159,251,204,139,124,233,238, 17, 95,127,255, 17, 31,127,245, 14,127,240,141,111,211, 85,138, +255,240,240,109,110,117,135,108,118,231,180,139, 53,141,214, 28,180, 43,130,219,240,253,199,247,248,246,238, 17,156,245, 48,129, +124,105,205,155,199, 7,188,122,114,151,203,199,231,220,188,123,139,110,125,155, 15,238,127,157,247, 31,111,121, 18, 2, 71,141, +225,184,209,188,254,202, 43,208, 86,188,124,231,136,255,234,239,253,109,198,205, 84,164,179, 9,239, 44,214, 58,126,243,197, 19, +222,221,142,220,187,127,198, 63,255,147, 63,229,251,127,242, 39,207,191, 31,230,201,126,158, 96,174,166, 61,251,244,228, 29,138, + 51, 87, 20,121, 79, 45, 96,191, 64,252, 81, 13,165,223, 67,153,243,200,152,138, 53,177, 42, 15,230,172,170,104,155, 61, 68, 63, +142,123, 39, 48, 51, 51,233,175,161, 87,222,231,226, 43,202, 68,227,226, 30, 77,212,250,153, 41,253, 57, 19,140, 47,137,130,161, +200,157,204,140,104, 85, 64,137,198,140, 64,183,162, 90, 47,104,215,199, 60, 30, 29,147, 94,209,170,136, 87, 45, 7,106,226,108, +102, 67,199, 0,228,102,224,165,234,152,191, 36,241,149,177,199, 87, 29, 15,189,231, 70,157, 21, 54, 46, 6,118,219, 68,155, 18, + 46, 4,150, 62,112, 33, 19, 77,128,247,135,129, 59,109,199,159, 61, 60,195,234,186,228, 41, 52,192,112,109,152,210,123, 53, 65, +224, 71, 35, 37, 77,243, 84, 35,181,214, 53,175, 44,142, 48, 90,211, 45, 14, 80,166,193, 10,137, 23,217, 37, 81,135,128,244,158, +158, 60, 45,214,129,108,186,148, 34,135, 33, 50, 4,136,214,147,236, 68,231, 61,151,155, 39,108,135,145,139, 96, 57, 89, 44, 48, + 65, 98,162, 64, 43,131,242, 19, 76,145, 74,107,100, 74,172, 72, 28,168,154, 62, 76,220,162,166, 9,128,205, 17,184, 49, 36,182, + 41,177, 6,188,148, 96, 2,187, 36,216,246, 57,138,117, 8, 16,165,198,121,176, 73,224,163,133,152,216, 38, 79, 35, 4, 67,136, + 57,249, 48, 72,182,113,226, 88, 73, 30, 90,143, 79,137,202, 40,172,191, 86,216, 92,200, 77,163, 36,103,116,212,234,202, 19, 38, +251,245, 87,153,244,166,203,120,189,185,132,195,155, 87,217, 33,121,184,241,217, 44,104, 94,139, 84,165, 33, 30, 11,241,120,156, +242,223,129,202, 30,244, 70,239,137,199,218,236, 25,237,115, 35, 60, 7, 21,213,106,111, 49, 27, 11,169,180,196,204, 94, 33, 71, +162, 88, 5,207, 16,126,167, 11, 2, 81, 66,106,132, 4,209,149, 84, 66,191,143,149,157,182,207, 41,234,214,230, 23,253,243, 70, +194, 57, 11, 99,121, 80,235,138,209, 84, 32, 39, 26,165,209,166, 33, 4, 79, 83, 53, 56,239,179,109, 32, 1, 37, 4,163,179, 44, +171,150,132,199,135,188, 43, 7,152,220,136, 49, 6, 65, 78,231, 97, 4,161, 36,202,228,110, 44,196, 68,165, 13, 82, 72,100, 74, + 40, 45,208, 90, 34,165, 36, 90, 15, 77,131,176,142,224, 70,236,178, 35, 13, 3,187,209, 83, 53, 21, 97,202, 19,172,212,154,224, + 66,118, 52,210, 26, 3,244,222, 17,230,157,135,169,193,123, 42,149,120, 56,236, 8, 66,130, 42,222,189,182,192, 47, 90,238, 77, +191, 98,249,240, 27,157,247,135, 49,236,147,116,150,139,124, 3,232, 42,103,241,206, 36,167,174,185,150,219,251, 75, 40,236,215, + 39,150,249,151,125,239,233,131, 83,235, 98,252,241, 52,148,249, 15,127,227,147, 28, 28, 46, 24,122, 71, 93, 85,196, 54,210,173, + 26,134, 41,224,125, 32,248,144,161,247, 49, 66,212,144, 36, 77, 91,209,181,154,227,101,199,201,186,161, 49, 10,173, 4,147,143, + 87, 62, 17, 25,164, 72,156,116, 21, 73,102,139,212,186,146, 44,235,236,212, 85, 43,144, 73,226, 93,222,125, 87, 38,179, 94,173, +207,170,133, 90,136,140,150, 26,133, 72,137, 86, 9,142, 27, 73, 31, 2, 62, 9,142, 69,162,145, 32,100,226, 50, 69, 84, 20, 60, +216, 57, 22,149,166, 89, 42,166, 8, 55,187,134, 70, 43,238,157,247, 84,141,226, 83, 55,150,124,226,101, 69,171, 37,223, 61,219, +240,199,223,127, 76,178,137,118,181,200,172,210,193,161,158,244,252,145, 11,156,172, 59,254,233,215,126,141,223,248,220, 39,248, +171, 15, 30,241, 23,127,254,109, 8, 19,127,241,216, 49,212,142,239, 61,252, 30,173, 54, 60,222, 92,112, 62, 76,121,157,211, 25, +208,129,248,120,195, 55, 31, 92,240,225, 75,151,124,246,228, 9, 97,218,112,252,194, 29, 62,241,218,167,249,236, 23, 86, 28, 30, + 53,156, 30, 85,124,236,100,193,113,171,217,218, 64,140, 9,119, 43,175, 9, 14,154,236, 3,177, 48,146,202, 72,158, 12,158, 99, + 27,249,170,150,252,195,127,240,219, 92,140,142, 15,207,123,254,234, 59, 31,242, 7,127,242,111,248,247,255,242, 15,114,241,126, + 22,189,126, 14,124,159,102, 78,198, 83,147, 50,224,126, 68, 81, 9, 49,167,254,173, 86, 87,220,162,252,255,141,249,126,130,167, + 7, 4,235,193,216,130, 94,197, 31,173, 6,185,190,150,250,113,164,161,167, 26,215, 31, 1, 81,207, 68,209,201,150,116,184, 17, +148,205, 16,122, 4,150, 29, 7,183,143,249,220,237, 35, 30, 76,142,182, 91,208, 72,131,174, 26,188,183,188, 46, 91,162,115, 60, + 22, 83,209, 53,231,117,195,247,118,143,249,220,193, 17, 31, 76, 19,157,245, 44,155,134,139,113, 96,170, 42, 86, 36,190,229, 19, +159, 58, 88,224, 67,100,212,138,208,247,244, 68,110, 24,205,187,110,226, 65,242,185,104,175,186, 60, 8,236,158,121, 15,234,153, +141,200,243,222,223,236, 3,128,130,186,227,184, 57, 0,109,232, 86, 39,128,200, 50, 49,165, 24,172,199, 8, 5,109,102,189,143, +206,102,146,127, 37,137, 33,114, 75, 36,250, 0,149,245, 56,159,101,118,143,206,207,168,172,227,124,216,178, 86, 18,101, 61, 85, + 91, 50,215,181, 66,248,136,209,138, 70,105, 90,165,104, 66, 64, 37,201, 43,170, 65,183, 6,233, 50, 87,105, 12,142, 74, 26,150, + 17, 92,217,109, 75,165,176, 9, 14,170,192,189,201, 33,148,100,176, 16,181, 33, 22,215, 60, 27, 71, 26,169,241,193,211,136,188, +130,105,141, 38, 18,217, 13,158,227, 74, 18,167,196,214, 63, 19,128,163, 75,246,192, 44,250,153,175,217,172,106,208, 6,213,182, + 4, 1, 75,221,210,175,142,178,185,213,220,224,166,178, 90,165,104,202,103,253,183, 47, 67,161,243, 57,223,125,178,249,140,191, + 90,125, 62,207,182, 53, 62,237,251, 62,133,189, 74,169, 42, 78,117,117,149,121, 78,211,144, 45,106,131,205,141, 71, 27, 96, 96, +111, 83, 60,199,246,174,171,140,112,205,107,178,177,217,115, 82,226,248,148, 25,154, 34, 30,253, 51,250,221, 47,198, 33, 77, 43, + 44,146,227,197, 65,102, 43,147,117,232, 62, 6,140, 52,132, 20,179,113,143,146,212, 82, 35,148, 68, 11,205,228, 28,198,232,108, + 56, 83,236, 10, 19, 18,235,178, 23,180, 49,249,165, 6, 33,209, 74,162,234,138, 78, 41, 92,136,212,198, 16,139,255,182, 48, 21, + 82, 10,122,159,205, 82,108, 49,213, 87,166,194, 21,178, 84, 10, 41,155, 36,248,108,136, 16, 98, 98, 76,146, 68,196, 9, 65, 31, + 34,194, 71,156,144, 92,122,139, 22, 2, 23,115,246, 58,163, 43, 45,180,156,147, 72,242, 1, 35, 74,182,239, 12,181,248,180,135, +229, 41, 36, 57, 81,172,183,116, 85, 76, 15,202, 69,255, 57,201, 16, 63, 53, 52,255,211,252,251, 51,191,255,247,254,219,127,130, +146, 96, 71, 79, 8,185,184,132, 72,201,176,167,216,233, 10,130,135,186,174, 89,173,150,220, 61, 93,115,178,234, 88, 45, 43,150, + 38,147,106,102,215, 80,151, 34, 33,164,156,167,160, 5,146, 68,163, 20,167,107,195,210,232, 28,211, 56,191,148,144, 81,155, 84, +248, 47,214, 7,100,138,184,152,167,250,144, 2, 33,230, 73, 40,133,200, 50, 6,100, 8, 28,196, 68, 37,160, 18,146,147,148,232, + 98,226, 72, 10,172,200, 83,129, 69, 48,110, 7, 78, 43,195,113, 83, 97, 18,124,235,108,199, 7,151, 35, 8,112, 8, 78, 15, 58, + 94, 59, 93,242, 36, 8, 92, 72,220,190,181, 4, 35,233, 55, 35,110,116, 60,222, 78,216,201, 51, 38,137, 49,134, 95,255,252,107, +188,122,186,166,221, 89,254,175,119, 63,228,163,221,150,147,174,166, 51,154, 86, 27, 86, 90,179, 37,145,106, 69,210, 18,121, 80, +241,249,211, 99, 94,190,121,194,209,141, 5,191,255,183, 94,231, 31,125,233, 99,124,233,205,219,124,254,229, 99, 62,125,123,141, + 20,130,203,193, 35, 82,126,126,124,136,236,172,103, 42,132, 64, 18,152, 74,177,168, 12,125, 16,124,112, 57,161, 82,228,229,211, + 37, 95,184,125,196, 75,119, 14,249,237, 47,126,129,127,252,251,191,199, 43, 47,189,196, 31,254,209,159, 34,144,121,109, 37, 4, + 34,101, 67,165,108, 2,146, 15, 32, 97, 52, 34,169,125,241, 87, 62, 79,217,209, 62,127,143, 61, 75, 38,173,203,208,160,119,123, +226, 82, 74, 48,244,207, 88,179, 22, 34,102,112,123,185,219,117,107,215,249,240,251,113, 30,239,215,139,254,179, 43,166, 31,154, +100,203,142, 83, 25, 56, 88,103,104,179,237,114,228,235,170,205, 59,204, 69, 67,234,106,110, 54, 13, 73,213,188,118,184, 38, 42, + 56,210, 25, 53, 56,172, 5, 15,109,228, 50,133,189,115,153,200,222, 2, 70, 72, 14, 98,162, 14,142, 46, 5,206,172,101,185,125, +140, 53, 21,223,159, 70,118, 33,114, 71, 73, 30,218,137, 35,165,232,157,167,247, 17, 29, 2,223, 24,167,124, 80,251, 30,118,187, +167, 19, 21, 37,251, 40, 80,226, 15, 15, 90,179,202,230,228, 6,172, 22,176, 94,243,194,209, 13,126,227,246,203, 28, 44, 22, 24, + 45,168,181,193,232, 26, 27, 50, 41, 46, 42, 69,240,137, 33, 6,162,148, 52, 82,208, 72,193, 97, 2, 23, 34,235,152,176,131,163, + 38,176, 59,127,130,187,124,130,157, 70,150, 9,218,182,166,105, 90, 58, 93,161,149,196,196, 72, 83, 27,140,128,133,169,232,128, +195,202,176,142, 9, 35, 5,173,148, 57, 72, 70, 10,234,226,190, 39,124,162, 49,138,160, 37, 23, 49,175, 52, 71,153,120,178, 29, +121,224, 3, 59,239,144, 36,164, 80,104, 33,104,116, 3,228,193,109,240, 1, 93,144, 58, 45, 36, 33,228,231,160, 83,154,243, 16, + 8,162, 64,234,161,228, 90, 36,153, 27, 37, 93,200,202,198,228,207,169, 93,242,202,250,152,151,186, 21, 47,214, 75, 94, 90, 30, +176,144,134,186,233,184,156,173,101,227,108,141, 88,216,240,148, 51, 91, 42, 82,140,168, 36,114, 13,152,189,231, 93,185, 47,180, +222,147,159, 37, 92,165, 13,134, 18, 24, 19,194,158, 61,175, 85, 70, 11, 40,171, 31, 63,149, 34, 31, 74,211, 88,254,124, 87, 21, +223, 6,246, 49,217,161,188,174, 57, 77,179,170,246,178, 82,165,158,178, 83,254,249,217,239,207, 22,135,144,242, 94,185,210,236, + 20,116,170,202,122,113, 93,229,240,148, 20,169, 10,116,110,148, 42,102, 5,142, 90,213, 72,149, 39,247,170, 64, 15, 33, 7, 40, +227,124,204, 97, 72, 73,225,139,105, 71,221,154, 43,179,131, 99,173, 24, 10, 6, 85,155, 42,147,169, 82,190,105,119, 62, 32,203, + 14, 61,197,204,160,244, 73, 16, 69, 42,103,135,196,249,128,149,121, 42,180, 41,225, 98, 96,112, 30, 75, 98,112, 19,125,132, 41, + 58, 70,239, 50, 51, 49,206,123, 22,181,183,192,140,215,189,126,227,158,253,152,174, 77, 70, 90,150,255,158,246,123,179,217,210, +112, 14,148,144,242,167,119,210,250, 37,126,125,236,111,255, 14, 95,254,245, 79, 51, 12,150,126,219, 19,124,196, 59, 79,211, 53, + 76,253,196, 52, 58,166,222, 18, 92, 64,146,189, 5,106, 99, 16, 66,178, 90,213,172,155,153, 37, 43, 24,124, 36,146,153,234,110, +138,217, 35, 71,230, 98,127,227,192,208, 26,141, 42,134, 44,145,108, 24,163, 77,182, 87,157, 51, 26,116, 10,248, 24,209, 50, 63, + 15,243, 80, 24, 99, 36,185,192,165,143,120,149, 27,142,205,232, 80, 17, 22, 49, 81,249,192,165, 4, 87, 25,140, 81,168,199, 59, +212,119, 30,243,238,195, 11, 76,163,185,209,182,180, 49,114,239,114,199,251,103, 61, 23, 86,178,168, 20,199,173,225,184, 51,220, + 92,104,188,183, 28,117, 29,186,210,108,206, 7,198, 41,112,255,114,228,209,229,192, 43, 39, 75,188,245,124,250,227,183,248,237, +207,189, 14, 23, 3,255,254,175, 62,100,125,208,177, 52, 11, 84,165,105,170,138, 86, 9, 94, 57, 92,242,214,221, 27,252,167, 95, +120,139,255,242,119,191,196, 87,191,240, 26,159,249,248, 29,234, 90, 35,132,160, 15,217,239,122,235, 2, 79,118, 30,239, 35,141, + 81, 28, 52,153, 65, 13,249, 51,234,173, 99,176,142, 16,242,120,172,132,100, 55, 57, 30,238,118,156,237, 34, 85,130,173,141, 56, +239,185,123,208,242, 91,159,127,157,255,225,191,254, 7, 44,239,190,193,191,251,183,255,182, 16,126,179,212, 79, 22, 85,134,136, + 69, 87, 94,210,165,196,204, 36,159,252, 15,155, 39, 92,215,125,167, 82,128, 6,151,155,214,113,147,121, 35,118,122,126,113, 14, + 97, 95,208,231,137,230,138,157,156,246,190, 14, 63,201,231,253,199,253,204,156,123,208,212,124,246,213, 91,180,135, 29, 47,156, + 46,233,186, 10, 86,203,172, 90,146,133,113,108, 12,193, 84, 44, 76,197,171,235, 5, 38, 2,133,215, 96, 68, 86,218,220,159, 70, + 46,230,134,196,185, 2,197,143,172,220, 72, 28,123,130,221,226,135,115,154,221, 57,198, 91,222,187,120,200, 71,214,113, 87, 26, +190, 49,140, 28, 33,121,111,178, 4,239,121, 24, 61,223, 26,122,108,178,121, 42,155,250,204,156, 62,223,101,244,110,126,255,243, + 25, 18,158,137, 70,174,202,100,183, 62,134,163, 31,132,194,155, 0, 0, 32, 0, 73, 68, 65, 84, 53, 28,159, 34,143,110,240,169, +197, 9, 55,186,138,155,221,146, 70, 85, 57,176, 76,230, 97,242,194,122,188,245, 68,153, 93, 50,149,128,133,128, 99,157, 67,173, + 84,200, 94, 19,135, 93,102,162, 55, 49, 51,217, 23,193, 99,140,102,165, 27,142, 23, 11,144,146,101, 33,193, 42, 41,104, 85,141, + 72, 80, 87,146, 42, 65,101, 20, 11,165,145, 90,228, 60, 5, 41, 48,117, 62,247,189, 82,140,165, 65,119, 74,176, 77,137,203,222, + 51,197, 68,111, 45, 65,228,186,161, 5, 68, 12, 40,137,170,107, 66, 18, 40,213, 48,197, 64, 37, 5,131,115, 72,165,168,149,193, + 11, 65, 91,213,212, 85,203, 40, 37,169,169,178,203,105, 93,103, 53,146, 49,176, 62,202,223,183, 75,100,187,226,173,122,193,186, + 94,209,180, 29,219,144, 56,238, 58, 90, 33, 16, 73,112, 25, 10,242, 58,175, 52, 68, 78,118, 76, 49, 92, 5, 11, 45,116,150,194, +202, 20, 73, 59,187, 63,136,230,251, 57,165,125,140, 43,169,144,250,124,174, 15, 59, 91, 92, 61,103,155,103, 81, 86, 87,133,141, +111,228,222, 91,106,230,109, 85, 38, 31,128, 46,236,229,199, 74,229,123,165,106,242,179,217, 84, 25,161,240, 49, 63,123, 34,223, + 51,191,152,162, 62,143, 88, 38, 91,243, 37, 32,181, 21, 62,164, 76,134,210, 85, 94,139, 5, 80, 74,224, 99, 68,146,168,171, 6, + 31,236, 85,252,222,228,125,254, 12,133,192,249,156,195, 27, 72,216, 16,104,170, 66, 34,136, 10,211,106, 22, 8,208, 26,149, 18, + 90,230,110, 41, 1, 21,130, 65,100, 73,205, 38,229, 41, 51, 10,153,181,232, 49,224, 93,204,156, 50, 37, 8, 62, 23,251, 33,120, + 92,202,204,236, 24, 35, 99,132, 62,120,250, 24, 72,200,204,240, 14,190, 4, 8,148, 64, 27, 93,244,145,136,124, 97,230,216,200, +196, 62,141, 71,138,167,243, 37,174, 23,247, 90,229,238,114,198,219,102, 59, 80, 37, 11, 73,162,252,172, 86,191, 56, 9,220, 79, +241,245,123,127,231,107,220,122,241, 6,155,203,158,224, 34,218, 24,172,245, 52,139, 54, 91,194,198,136,148, 26,163,107, 86,171, + 21, 74, 74,218,186, 97,189,236,184,115,210,178, 48, 38,135,163,196,196, 16, 34, 46,101,103,169,152, 50,193,173, 81,130,195,133, +230,164, 53, 40,169,136, 66, 32,149, 40, 9,158,217,182,210, 40, 65,109, 4, 38, 69,142,141, 32,200,132, 8,137, 74, 68, 84, 12, + 57,207, 33, 70,106,239,241,201,179,180,129, 42, 37, 86, 62,178,178,129,122, 10, 36, 45,216, 26,201,129, 79,172,133,196,104,193, +163,221, 64,255,193, 5,239,221, 59,103,221, 26, 94, 92,118,124,108,189,160,157, 50, 81,208, 40,137,140, 5, 1,104, 20,214, 58, + 46,118, 19, 39,109,205, 43, 71, 29,111,127,120,201,232, 2,219,205, 72,229, 28,255,201,167,238,242,189,139,158,155, 55,151,252, +222,151,223,228,226,252,146,127,253,103,239,240,192, 79, 60,217,246,120,225,120,235,206, 11,124,254,179,111,242,213, 47,125,146, + 47,127,238, 85, 78,215, 29, 66,230, 93,231,110,242, 92,236, 60,247, 46, 44,151, 59,203,131,139,137,243,222, 18, 98,160,149,176, + 16, 2,227, 97, 59,121, 54,193,211, 79, 62,251,229, 91,207,163,221,196,102,240,172, 42, 73,140,145,135,155,129,179,222, 49, 89, +135,179, 14,225, 60, 10,201,209,170,227, 51,175,223,229,229, 47,124,133,255,251,255,248,215, 57,175,161, 28, 44,210, 95,147,137, + 69,143, 8,165,224, 56,255,163,221,144,174,242, 2,124, 46,252, 70,102, 8, 81,201, 61,153,237, 39, 17,110,175,249, 84, 92, 65, +168,241,167, 40,234, 63,145,246,155,189,215,213,114,193,209, 65, 75,187,234,184,112, 9,173,107,182, 33, 97,141,202,197,113, 54, +172,215,138,187, 77,197, 82, 27, 42,165, 56, 82,134,148, 34, 75, 89,241,176, 31, 80, 82,241,161,183,249,144,181, 3,244,151,240, +248,156,203,243, 39, 12,110,100,229,123,118,195, 37, 38, 78,124,227,236, 35, 30,110,206, 73,211,192,125, 63,177, 19,130,247,188, +231,108,220,113, 47, 10, 30, 57,139,157,118,197, 83, 98,200,126,226,219,146,190,214,247,123, 9,148, 81,121,106, 83, 69, 69, 80, +155, 44,169,171, 91,184,125, 2,135, 43, 56, 92, 67,183, 34, 9,201,177, 50,124,108,181,200, 86,195, 82, 81, 25,147,215,137,214, +211,187, 28,103,172,188,167, 22,146, 78, 42,150,149, 34,166, 68, 39, 18, 49,101,237,183, 77,145,198,123, 52,130,131, 4,147,115, +172,148,230,176, 91, 16,165,164,107, 27, 84,101,168, 84, 38, 58,107,153,155,111, 33, 4,203,202,228,140,117,173,104,164, 70,182, + 21,210, 40, 82, 37,241, 90, 19, 73,104, 33,184, 0, 54, 36,198, 20,185,191,205, 6, 95, 83,185,222, 14,149, 45, 99, 5, 4,109, +202,252,148, 77,196,162,128,139, 24, 72, 66, 99,147, 66, 74, 69,212, 53,171,170,195, 55, 29, 72,141, 93, 28,146,154, 85, 38,149, +181, 11, 88,173,203,212,190, 0,221,241,114,187,228,160,238,216,121,139, 87,154,133,214, 12, 49,224,131,167, 82,146,179,164,114, + 79, 37,184, 82,103,164, 82,156, 59, 37,145,222, 49,140,142, 3, 2,227,197,112,141, 63,146,246, 5,125,230, 89,205, 77,239, 60, +237, 79, 37, 5,212,239, 19, 8,111,221, 57, 96,183, 29,185, 50,194, 87, 50, 15,139,241, 90,252,175,187,214,252, 94, 95, 51, 24, +189,207, 91,160,112, 96, 22, 93,177,204,205,218,251, 95, 92, 81,191,218,131,101, 61,168, 77,138,182,109,104,141, 97, 8,174,176, +210,179, 49,136, 80, 57,116, 37, 38,143,245, 46,203, 39, 84,254,164,146,144,196,148, 99,247,108, 76,164, 36, 72, 82, 17, 98,202, + 19,161, 84,116, 70,210, 8,129, 12, 1, 76,246,240,110,133, 32, 37,129, 18,137,209, 69,108,138, 36, 31,176,193,102,233, 84,200, + 12, 76, 31, 2,155,209, 34,101, 78,104, 27,125,222, 51,217, 16, 17,161,192, 61,209, 35, 82,214,173,167,232,114,184,203,149,193, +198,124, 65,253,222, 9,104,198,153, 99,186,182,159,190,214,149,137,107,197,125,142,168, 20,229,130,151,192,135,156,223, 91, 96, +200,182, 45, 17,128, 41, 67, 53,146, 31,195,120, 44,196, 12,253,243, 64,248, 58,235,111, 77,115,229,189,253,181,255,226, 63, 67, +104,201,246, 98,160,238, 26,148, 86, 8, 33,177,195,132,115, 33,239,193,155,134,227,163, 53, 70, 85,156, 28,175, 57, 62,104,185, +113,220,114,212, 84,104,157,229, 44, 83,204,122,241,236,230, 38, 48,228,130,189,106, 53,141,201,112,116, 16, 18, 49,127,160, 69, + 2, 74, 74,212, 2, 14, 4, 24, 18, 50, 9, 68, 8,136,224,145, 49,178,142,145,161, 36, 61,109,198,128, 72,145, 49, 6,156,207, + 28,137,218,122, 6, 34,113, 81,243,242, 54,240,250, 31, 93,112,120,182, 99,167, 34, 27,231, 9, 49,114,107,107, 57,254,104,200, + 65, 24,117, 69, 28, 29,195,251, 79,232, 14, 52, 71,171,134,203,126,100,107, 3, 90, 8, 30,109, 50, 83,255,243,183, 14,185, 85, + 73,254,224,155,223, 39, 4,203,189,203, 29, 34, 73,150, 46,241,237,203,158,117, 91,241,198,199, 95,230,226,209, 5,183,151, 43, +222,122,233, 22,191,249, 43,159,230, 63,254,205, 55,249,181, 55, 95,224,230,170,131, 36,152,166, 64, 63, 69,156, 13,140,147, 99, +180,129, 20,178, 83,225, 16, 60,126,242, 56,235, 24,156, 37,216,128,247,158, 71,195,196,229,104, 11, 63, 33,225, 98,164,119,142, + 77,111, 73, 2,148,150, 37,250,118, 71,163,225, 80, 42,154,224,233,148,194, 40,133,208,154,151,111,173,248,242,239,124,149,237, +110,199, 15,190,247, 1,194,231, 92,172,235,155,244, 31,245,253,243, 21, 23,215, 38,240,103, 85, 24, 63, 81, 57,119, 45,128,229, + 42,112, 35,253,252, 50,207,217,202,117,177,128,131, 37, 31,191,177, 36,162, 89, 87,154,182,170,232, 42, 73,139, 68,213,134,157, +115,133,160,151,145, 49,175, 21,183,140,226, 86, 85, 51,248,145, 86,106, 82, 10, 36, 60,223,239, 71,150,227,150,203,190,135,205, + 6, 30,239,224,209, 6, 46, 31,227, 54, 61,103,147,229,113,140,124,184, 27,153, 66, 36, 93,108,243, 52,223,181,123,244,161, 50, +153,103,144,138,202, 68,170,252,188,121, 91,224,221, 25,237,112,208, 28, 66,187,132,163,195,188, 46,168,107, 88,175,243,254,125, +181,200,103, 64,215,128, 94,102, 7, 77,211,240,235, 77,131, 17,137,174,170, 8, 49, 15, 66,186,100,109, 92,140, 19, 38,129, 73, + 17, 35, 4, 77,165, 88,215, 21,150, 68,240,145, 74,148,224,197,157,167,213, 2,124,192, 72,168,124,160,173, 27,124,140, 44, 22, + 11, 26,163, 80,218, 96,140,201, 4, 89, 45,105,140, 42,214,177, 53, 85,211, 32,181,193, 52, 21,178,169, 16,198,100, 8, 92,101, +165,209, 89, 12,184,144,232,173,231,113, 8,236, 92,150, 59, 63,112, 14,139, 32, 9,149,179, 61,100,102,187,123, 33,139,195,181, +160, 23,134, 90, 72, 62,112,158,195,170, 35,153,154, 74, 43,164, 89, 80,235,134,180, 56, 96, 68, 33,164, 38, 84, 93,254,108,139, +179, 31, 72,100,221,240,153,170, 34, 36, 56,104,187, 43, 41,172, 18,130,133,105, 48, 82,224,189, 99, 19, 11,193,115,174,238,222, +194,228,112,211, 68,232, 51,129,111, 58,223,228, 85,211, 60,160,165,107, 3,109,145, 86,103,114,231,108, 21,158,246,202, 13, 55, +101,116,119,242,248, 85,151,249, 72,115,162, 91, 44,240,123,242,123,191, 16,165,158, 94, 73,205, 69,221, 22,146,156, 42,197,104, +134,252,117,169, 3,222,255,130,139,250, 92,204, 38, 11, 50, 49,104,141,151, 2, 31, 66, 86, 10, 72, 67, 72,158,209,251, 60,173, +120, 95, 82,180,114, 34, 90, 18,185,152,251,152,161,216, 84,138,101,144, 32, 16,196, 20,105,180,161, 13, 25, 82,234,148,194, 59, +143, 16,130,152,242, 4,226,125, 44,196, 55,207, 48,141,140, 49,225, 93, 62, 52, 61, 48,186, 9, 37, 2,214,193, 16, 3, 82, 8, +108, 0, 79,160, 18,121,114,151,222,210, 17,209, 8,130,119,212, 9,172,205,136, 66,110, 39, 75,103,230, 66,129,212,195,190,235, +154, 97, 51,113, 45, 88,226,122, 65,159,255, 93,138,124,193,107,185, 15, 25, 80,133,229,232,109,134,142,116,185,168,243,206,164, + 49,207, 88, 10,234,171,154,158, 9, 53,146,159,201,111,182, 91,192,114,149, 15,143,148,192, 77,124,237,247,255, 46,253,206,102, + 21, 64,109,176, 83, 64, 72, 73,240,158,232,114,188,224,173, 27,167, 28, 45, 23, 32, 36,181,210, 28,175, 26,142, 22,217,163, 64, + 75,145, 45,100, 67, 42, 62, 15,146, 74,100, 55,191,202,100,243, 24, 83, 75,100, 97,156,202,236,239,154,247,197, 36, 38,151, 57, + 21,146,132, 73,137,206, 7,142,125, 98, 25, 18,139,201,115, 18, 4, 75, 23,168, 99, 96, 51, 57, 84,130,203,193,131, 11, 12, 17, +132, 79, 28,104,197, 99, 5,175,254,233, 71,164,119, 62, 32, 61,186,100,249,161,101, 57, 70,170, 23, 14,168,180,194,125,240, 17, +219,179,115,158, 92,230, 29,109,244,145,135, 15,119,232,206,224,132,224,114,152, 72, 82,113, 99,221,177,181,158, 15,183, 61,175, + 31, 29,240,205,123, 27, 30, 93, 92,162,128,239,124,248,128, 11,167,121,247,254, 5,231, 54,145,132,224,213, 87,238,240,210, 43, +183,249,213,207,190,202,167, 63,118,147,174,170,152, 92, 96, 24, 3,206,229,149,210,224, 60, 23,125,158,206,157,205, 28,129, 80, +154, 67, 81,228,142,227,232,184,247,100,203,131,221,200,163,126, 98,179,243, 76, 33,100,251,219,152,145, 54,153, 34,206, 5,162, +144,140,219,137,237,110, 96,165, 53,119, 14, 22,172,201,104,198, 52,121, 62, 60,159,184,152, 38, 94,191,181,230,247,127,251,215, +249,222,253, 7,188,253,237,119,178,154,228, 57,178,119,241,203,132,130,174,187,161,205,171,167,249,217,248,121,215, 79, 77,149, +167,178,131,108, 10,115,171,174,185,177,170,168,181,206,121,246, 69, 95, 29, 16, 60,158, 66, 41,232,249,254, 27,164,224, 99,149, +100,231, 29, 85, 76, 12, 33, 16,237,136, 14, 1,227, 7,190,123,185,195, 61,185,132,179,115,216, 60,129, 48,229, 52, 53,173,114, +243, 61, 31,172,162,192,160,155,190,132, 93, 85,249,161, 44,169, 84, 82,107,126,115,177, 98,155, 18, 95,170, 42,156,243, 8,165, +153,250, 77,110,102, 78, 78,120,241,246, 33, 39,183,142,145, 93,205, 96,170, 60,129,181, 85,254,187,148, 44,251,213, 61, 84,155, +164, 66, 41, 56,169, 52, 85,242, 57, 51,193, 77,140, 62,177,115, 3,219,209,103,211, 72,145, 72, 81,176,104,154,220,115,104,129, +141, 89, 11, 48, 12,129,147,165,102,112,145,165,214, 8, 59,161,154, 6, 63, 77, 44,154, 54,123,177, 87, 53, 93,173, 73, 82, 81, + 27,133, 80, 58,171, 91,218, 6,105, 12, 81, 74,218,166, 98,170, 12,162,210,168, 90, 19,106,149,157, 69,203, 78,124, 32, 48, 2, +143,167,137, 9,199,217,148,159, 23, 43, 53,136, 64, 37, 43,134,152,245,239,173, 4, 41, 13,145, 72,171, 20, 59,159, 56, 53,154, + 3,221,208, 72, 69, 83,119, 12, 50,175, 2,164, 54, 28, 40,197, 67, 83,151,122,124,109,178,141,129,207,180, 29, 86, 73, 86, 34, +195,236,139,148,104,234, 58,187,144,138,132, 50, 6, 67,228,195,105, 44,133,215,102, 37,152,117, 89,129,209,143, 48,218, 76, 12, + 29,124, 57,223,217, 75,129,139, 12,143, 68,254,239,178, 52,153,221,236, 47, 47,178,122, 99, 28, 96, 24,192, 91,194, 69,159, 51, + 68, 76,189,223,151,207,158, 10,243,148,159, 10,140, 47,197,222, 6,151, 18,202, 53, 79,234, 85, 65,114,103, 71, 80, 5, 8,245, + 75, 40,234,209, 23,230, 97,222, 27,219,161, 39,182, 13, 90,104,158,216,129, 86,231, 28, 93,102,242, 67,202, 89,233, 46,230,253, +121,150,209,150, 32, 0, 41, 9,178, 28,248, 34,187, 18, 69, 34, 11, 99,184, 41, 5,143, 98,164, 65, 34, 82,202,150,130,228,152, +214,157,181, 88,239,177,206,177,179, 19,194,123,122,239,136, 33, 19,191, 54,118, 32, 18, 11,105, 61, 91, 20,202, 20, 17, 30, 66, +176, 28,214,130,228, 5,135,194,209,137, 72,229, 61,235,152,144,118,202,121, 46,209,102, 70,163, 47,228,136, 57, 96, 32, 81,164, + 10, 51,177, 70,238, 33,120,173,247, 63, 35, 69,134,243,107,147,117,149,226, 26, 4, 32,114, 72, 66,254,115,133, 16, 65,164,132, +126,231, 31,187,154,216,229,190,160, 95, 5,194,252, 12,135,162,187,182,191,219,110, 88,254,230, 87,248,173, 95,253, 20,211, 84, + 26,165, 72, 78,175,139, 9,103, 3,222, 71,186,110,201,205,227, 53,151,151, 3, 50, 9, 42,165, 88,116, 21,149,222, 79, 95,214, +103,216,125, 62,183,179,199,135,162,109,178,212, 76, 23,159, 1,163,115,122, 91, 61,183, 40, 9,132, 72, 84, 36, 84,140, 28, 68, +208, 46,230,136, 99, 23,168,166, 68,114,158,122, 12,172,166,200, 98,242, 76,187, 9, 61, 56, 6,231, 25, 1, 55, 57,110, 28,117, +124,253,157, 71,188,251,253,239,243,231,246,130,182,223,241, 82, 92,113, 28, 87, 28, 76,129,111,159, 63,225,255,217,158,243,225, +176,225,242,114,195, 7, 83,228,206,122,201,147,222, 17,158,244,200, 16,185,148,176,176,158, 79, 28,173, 56,168, 53,105,242,124, +253,124, 71,136,154,203,139, 77,118, 40, 12, 30,107, 61, 47,156,158,114,118,185,161, 94, 53,124,252,238,154, 59,167, 43,214,109, +110,192,108,136, 88, 27,113, 33,146, 68,194, 58,207,118, 59,114,177,181,196, 34,217,105,107,197,232, 34,219, 97, 98, 24, 61, 46, + 70, 38, 27,184,236, 71,250,193, 50,140, 14, 27, 60, 42,102, 88, 82,136, 50, 5,250,148, 85, 28, 49,209,239, 38,166,237,200,170, +173,185,209, 85,244,143,243,251,120,114,185,227, 79,223,190,207,163,135, 27, 38, 41,120,243,238, 17, 95,248,194,103,121,231,236, + 9, 63,248,222,219,136, 57,123, 69,254,255, 80,216,159, 53,140, 17,207,176,238,127,214,194, 62, 79,232,166,206, 26,126,165,161, + 53,220,237,106,148,146, 68, 4, 83,140,217,207, 2, 65,239, 3,103,214,239,137, 76,101,189,117,146, 18,107,145,112,193,179,136, + 14, 25, 61,182,223, 16,237,196, 55, 63,186,128,199,143,114,198,249, 52,238,181,200,170,104,203,231,221,231, 48,230,130,222,111, +178,147, 85, 91,231,102,220, 84,252,206,193, 33,159,172, 58, 34,130,183,180, 66, 39,193,139,109,205,203, 6,206,124,100,168, 5, +111, 28, 29,240,202,241, 33, 90,183, 84,218,240,164,202,137,101, 68,177,255,156,230,231, 95, 23,167, 61, 45, 24, 99,228,118, 76, +172, 68,222,211, 39, 34,163, 29, 56,219, 78, 57, 2,181,236,133,181,202,136,155, 49, 21, 19,226, 42, 64,175,109, 4,155, 62,176, + 48, 18, 93,138,100,180,142,186,174, 8, 74, 32,170, 10, 37, 4, 65,107,164,201, 49,194,149, 81,200, 69,131,172, 12, 65, 27, 82, + 91,227,180,194, 40,137,109, 12, 67,202,205,250,133, 20,108,124,100, 72,145, 71, 62, 49, 88,143, 87,176, 29, 97, 23, 3,151, 66, + 18, 98, 78, 95,211, 66, 80,149,200,237, 24, 19,181, 42,225, 45, 49, 51,172,106, 99,168, 83,162,170, 13,222,122, 78,234,138, 42, +194, 11,181,225, 8,193,155, 50,113, 39, 56, 78,149,100, 45, 5,189,119, 56, 93, 17,195,196, 18, 65, 37, 52,173, 16,140, 34, 81, + 33,139,181,109, 34, 12, 3,223,158,118,244,187,203, 76, 94,180, 54,255, 26,134, 34,207,140,123,185, 89,165,242,112, 61, 7,192, +204, 82,184,201,231, 41,124,217,148, 28, 4,149, 73, 13, 90,149,123, 62,229, 51, 61,204,107,166,144,173,100, 43,246,238,135, 49, +230,154, 50,115, 77,124,220, 35,186, 54, 94, 65,247,121,184, 83,249,204, 15,215,184, 40, 74, 92,237,222,127, 9,147,122,121,129, +174, 64,241,210, 16,140, 98, 23, 45, 70,228,160, 22, 67,246,130, 31,131, 67,201, 66,164, 74, 30, 33,114,196, 94,109, 12,158, 28, +143, 55, 69,135, 20, 2,147,189,152, 56,109, 43,106, 41,217,133,136,241, 33,195,243, 49,129,119,164, 16,233,125,118, 43,147, 68, + 30,122,203,100, 7,156,207,233, 95,147,183, 4, 63,162,133, 96,176, 22,165, 42, 52, 46, 71,112,134,188,244,111,107,133,242,129, + 3,149,243,126,187,224, 57,210,138, 83, 2, 47, 74,201, 82, 6,238,187,140, 44,228, 2, 91,118, 33,178, 92,120,161, 74, 22,178, +216, 67, 52,130, 43,136,249,106, 82,159,245,238,243,142,189, 18,101, 98, 79,217, 34, 51,228,169,248,138, 84, 49,195, 49,110,182, + 69,140,251,162,222,204,122,201, 31, 1, 95, 54,101, 39,167,170,103,124,195, 99,238, 78,167, 1,136,188,240,201, 55,249,213,207, +189,145,185, 5,228,233,220,187,148,239,237,201, 19, 92,228, 96,217, 33,181, 70, 75, 69,215, 85,156, 28,118, 28, 53,154, 69, 49, + 86,240, 62, 50,134,136,247,137, 24, 18,181, 18, 28,180,134, 69,163,203,208,146, 89,234,137, 68, 42, 5, 74, 20, 34,180, 22,130, +138,196, 65, 72, 84, 33, 82,249, 68,116, 30, 19,161,241,137,106,138,132,148, 48, 54, 80, 5,193,194, 69,236,229,128,159, 44,155, +113, 66,251, 64, 60, 90, 48,164,200,159,252,225,215,249,232,222, 35,126, 48,246,124,119,154, 88,250,115, 78, 82, 98,225, 26, 22, +182,231, 27,118,203,219,195,150,209, 59, 90, 37,114,248,207,232, 57,117,137, 35, 99,184,115,216,162,106,201,106,200, 17,195,109, +109,208,222, 99,181,192,138, 6, 59, 12, 60,217,230,164,192,143,127,226, 46,175,188,122,194,205,227, 5,139,218,228, 9, 37, 68, + 38, 23,176, 62,146, 66, 64, 41, 65,112, 41, 31,178, 49,225, 93,206, 60, 88,180,154,182, 49, 89, 46, 84,154, 64,161, 4, 82, 8, +164,204,100, 78,161, 37, 74, 8,142, 14, 91,140,204, 76,246,101, 83,177,236, 12, 74, 72, 46,118,142,237,110, 32, 88,199,199,142, + 86, 52, 66, 50,158,239,104,140,224,219,247, 47,121,251,254, 3,108,121, 61, 30,137,233, 42,190,242,197,207,240,254,163, 39,188, +243,246, 59, 63, 84,208,127,121, 83,250, 51,127,145, 42,178, 80,193,207, 94,216,103,189,122,183,202,240,116, 85, 28,224,148,230, +102, 91,209, 41, 73, 37, 4,145,148, 3,157, 82,226,193,232,185,152, 27,234,170,200,222, 82, 66,198, 68,149, 28,167, 74, 96,199, +137, 46, 38, 6,231,249,223,191,123, 31,206, 31,237,245,199,179,182,127, 38, 23,150,184,103,198, 18,248, 49,108,243,255, 51,148, + 52,186,245, 33,111,173, 79,136,194,240,226,162, 70,167, 72,146,134,166,110, 89,152,196,102,130,117, 85,113, 88, 41,222, 88, 45, + 57,110, 23, 28,106,205, 73,211,112,223, 6,122,202,144, 48, 67,176, 51, 3, 58,132,220, 68, 12, 61,182,239,217,248,158,247, 54, +143, 89,226,120, 50, 90, 54, 46,177, 75, 2, 23,178,140,152, 36,145, 73, 16,164,162, 50, 26, 33, 53, 70, 81,162,172, 5,210, 64, + 35,178, 83,227, 36, 36,161,172,109,186,186, 70,154, 26,154, 26,165, 20, 65, 74,124, 93, 97,171, 12,195, 39,165,241,203, 38,219, + 17, 24,197,164, 21, 35,145, 73, 8, 54, 33, 50, 6,207, 37,137, 15,139,187,231, 35, 18,219, 9, 6, 59,241, 40, 9,100,176,140, + 54,114, 88,235, 98, 50, 37,209, 66,208,201,172, 78, 74, 49,225,129, 70, 40, 86, 82,228,248, 12, 1,134, 44,109,238,164,160, 53, +130, 90, 4,166, 0, 7, 58, 80,197,200,218, 79,220, 82,134,147,232, 89, 0, 55,147,224, 72,100, 23,184,149, 84, 52, 9, 68,242, + 28, 86, 42,167,114,110,206,121, 24, 38,164,247,164,217,131,221, 23,178,104, 40, 59,241,121,205,170,138,110,221, 21, 20,198, 22, +146,105,125, 45, 33,110,142, 37,158, 83,212,196,108, 97,107,138,148, 45,101, 36, 32,165,140,188,136,194,199,210,133,217, 78,225, + 86, 12,197,219,100, 30,228,102, 78,151,143, 25,225, 85, 5, 5, 16,242,169,200,237, 95, 78, 81,191,218,177,205,145,136,249, 67, +177, 90, 48, 17,152,130, 71, 81, 58,187, 16, 73,228,195, 58,196,108, 19,104, 67, 64, 25,195,224, 44, 70, 27, 36,138, 49,120, 42, + 45, 88,104,133,145,154, 24, 2, 90, 40, 38, 63,230, 32,151, 16,232,157,167, 34, 34, 99,226,131,221, 57, 83,244,164, 40,232,221, +142,157,243, 36, 17,168, 35,140,193, 19, 66, 36,122,139, 18,130, 42, 6, 42, 34, 73, 68, 26, 31,104,133,164,177, 19,173,144,172, +132,100,233, 39, 14,148,196, 36,184,237, 35, 15, 35,108, 66,122, 58, 87,189, 47,145,172, 46,114, 69,163,116, 37,206, 79,138,167, + 13,253,231, 29,251, 12, 21, 93,143, 5,156, 97, 60,165,242,133, 27,167,156,210, 21,203,254,125,150,188,204,100,166,166, 2,189, +200, 55,198,243,100,137,186,184,103, 41,145,161,160,107,210,135,103,191,190,242,213,175,240,137, 79,190,140,115, 30,103,195, 21, +146, 49,237, 38,236,232,105,154,138,151,111,157,102, 50,142,209,172,219,134, 27,135, 45,203,198,228,200, 85, 33, 25,125,192,167, + 68,163, 5,198, 72,106, 45,105,180,202, 69,173,120,236,199,226,207, 30, 82, 38,212,205,156, 4,145, 18,186,152,101,132, 24,145, +206,103, 93,108,140,212, 67, 36,141,158, 48, 89,170,222, 35, 54, 22, 51, 68,218,221,132, 25, 6, 46,157,229,116,217,146,110, 29, +240,231,127,241, 54, 15,254,234, 67, 54,187,145, 7, 33,178,182,129,255,115, 24,249, 87,219,135,124,142,137,151,150, 47,241,107, +171, 83,110,121, 71,140,158,101, 63, 34, 71,207,105, 76, 44,235,154, 87, 63,113,135,218,200,236, 53, 52, 6,134, 40, 16,173,161, + 94,183,156, 46, 27,110, 31, 53,188,250,210, 77,236,164, 88, 28, 29,240,242,171,167,188,112, 99,197,113,151, 49,135,221,232,152, +108, 96, 51, 76,108,139,115, 30, 62,102, 4,195, 23, 87, 44, 41, 88, 46, 42,150, 93,195,106, 81,179,236, 42,150,181,193,212, 58, +255,188, 72, 24,163,168,107, 67,221, 24, 14, 15, 90, 94, 56, 94,160,181,198,249,196, 65,171, 81, 82, 18, 4,156,157,109,153,134, +137,197,178,229,215, 94,185,137, 74,129,113,176,140,214,241,205, 7,231,108,199,158,139,237, 37,253,206, 34,162, 33,136,192,139, +183, 14,249,244, 91,111,241,191,253, 47,255, 34, 67,185, 60,237, 33,195, 53,250,200, 47,244, 76,144,215,238,249,171,221,100,250, +233, 25,238,186, 16,226, 22, 93, 38, 70, 45,234,188, 62,146, 34,203, 35, 4,156, 84,146, 70,107,180,202, 25, 2,147,119, 60,153, + 60,239, 88,155,243,176, 67,200,242, 84, 37,192, 59, 46,173,229,174,145,220,219,245, 40,231,248,112,179,229, 59,143, 47,185, 56, +219,228, 61,167, 20,185,160, 63,203, 25,240, 62, 79,116, 67,159,201,110,206,239,223, 99,183,132,163, 19, 42,165,121,171,109,144, + 85, 69, 72,134,182, 85, 76, 46,241,104,242,116, 74,208, 39,184, 89, 25,142,234, 26, 41,178,198,220,199,192,221,166,226,219,219, +205,222,247, 34,148,215,221, 15, 25,254,223,141,249,239,222,245,236,166, 29,231,214,241, 97,138, 60,118, 22,155, 4, 74, 42,148, +144, 24,165, 72, 49,161,148, 65, 10,205,132,160, 85, 50, 7,181,104,197, 20, 35,203, 90,226, 35,180,181,102,244,129,182, 50, 36, +153,243, 43,188,148, 8,173, 24,148,194,214, 6,140,194,105,201, 84, 12,166,166, 36,178,126,187,220,179, 81, 42, 70,145,232, 37, +156, 91,201, 35,151,232, 93, 96,227, 19,187,157,101, 20,137, 29, 2,239, 45, 42,122,106,153,153,226, 41, 38,100,242, 36,165, 72, + 33, 34,136, 36,231,137, 49, 81, 37, 79, 10,137,174,201,180,254,101,107, 48,209,161, 91,141, 8, 1,165, 36, 43, 63, 50,197,136, + 9, 14, 41, 43, 12, 35, 11, 17,208, 41, 33, 9, 24,169, 57, 81,137, 24, 45,210, 91,214,149,198,184,137,237,238, 17,219, 97,226, +141,174,226, 52,194,199, 14, 22, 52, 82,179, 90,180,152,186,161,151,197, 9,116,206, 68,143,177, 16,158, 51, 7, 33, 59,195,145, +207,254,144,138,107, 99,249,185,121,186,118,110, 47,225,148,101,152,107,187, 2,223,135, 18,215,170,247,205,102,136,185, 89,104, +179,185, 87,110,234,102, 20,188,172,122,221,236,198, 88, 76,118,230,181,112,226,151, 88,212,103,239, 92,101, 50,100,165, 51, 29, + 63, 33,136, 90,177, 11, 57, 33,104,231, 45,187,224,168, 11,148, 97, 99,200, 19, 11, 96,180, 33,164, 64, 18,217,110, 84, 8, 67, + 27, 1, 17,104,165,100,240, 83,142,147, 37, 96, 39, 75, 45, 37,113,154,120,108, 71,124,140, 60, 25,119,132, 24, 8, 62, 18,131, +163, 70, 50,133, 60, 41,117, 66,144,130, 43, 68, 45, 80,193, 97, 66,164,142,158, 54,122,140,144,116,222, 35,162,163, 81,138, 38, + 70, 66,138, 52, 74,241, 58, 9, 47, 2,247, 41,172, 69,235,179, 67,148,203,157,255,213,105, 40, 10,185,221, 22, 24,231, 58,185, + 2,114,199, 55,107,117,103, 24,134, 82,208, 99,129,244,187,106,239, 53, 28, 75, 19,225,228,149,124, 1, 89, 18,133, 92,137,250, +123,222, 65, 42,234,124, 19,142, 33,147, 65,126,196,215, 87,190,246,219,220,190,115, 74, 72,137,105,242, 72,173,114,156,234,228, + 73, 17, 94,188,123, 11,211,214,184, 40, 80, 82,114,235,112,193, 65,103,168,180, 70, 25, 93, 44, 99,243,155,175, 5,104,153,173, + 98,141,201, 42, 6, 31, 50,194, 33,201, 33, 43,179, 58, 34,250, 76,120,147, 33,171, 34,164, 15, 40,159,144, 62, 34, 99, 36,217, + 64,216, 58, 98, 63,145, 98, 36, 61,238, 81,151, 35,141, 75,212, 83,192,244, 61, 43,165, 56,190,125,204,187,222,243,207,255,213, + 31, 82, 77,129,197, 24, 24,183,150,205, 54,176, 14,137,175, 4,205,215,197,200,203,227, 64,167, 43,110, 45, 78,120,109,117,204, +189,221, 57,239,143, 27,150, 49, 49, 34, 88, 13, 96,146,100,177,108, 57,124,229, 20, 35,178,150,250, 34,134, 76,222,116, 17,173, + 18, 47,220, 61,228,213, 87,110,241,226,141, 37,181, 82,217, 29,213,121,206, 46, 39, 98,140, 89,122, 86, 24,150, 62,100, 59,219, + 24,178,245,237,162, 49, 28, 29, 52, 44, 23, 13,139,174, 66,203,108,247, 89,107, 81,162, 40,115, 81,151, 5,213,104, 42,195, 65, +219,228,117,145,115,220,174, 43, 86, 81,162,109,228,133, 69,195,127,244,218,109, 62,251,194, 17,211,100,209, 34,113, 57,120,254, +226,131, 71,124,251,163,119,217,108,123,222,184,241, 2,127,247,243,111,178, 17,112,118,177, 99,181,106, 57, 58,232,248,239,254, +254,239,241, 63,255,175,255,226, 74,158,155,126,217,211,250, 92,244,230,102,119,110,116,159,149,193, 61,175,168,107,160,106, 88, + 31,174,160,109, 81,181, 65,181, 53, 65, 23,143,136,178, 82, 58,139,154, 70, 75, 54, 46, 63, 95, 46,122, 38,155,232, 73, 76, 59, +187,223, 80,217,144, 97, 83, 27,248,224,114,224,254,227,129,239,159,143,188,255,228,130,139,203, 93,150,246,201, 50,141,205, 46, +117,206,255,176,253,238, 15,153,232, 40,136,134, 91,183,143,249,237,155,119, 72,186, 35,134,244,255,209,246, 38,191,150,101,215, +153,223,111, 55,167,185,237,235,227, 69,151, 17,217, 49,147, 20, 51, 37,153,106, 76,169, 40, 74,150, 68, 89,178, 74, 50, 92, 5, +215,192,240,200,255,131, 97,120,230,145,231, 5, 15, 12,123, 96, 24,112, 21,108,192, 48,224,129, 97,187, 44,168, 76, 74,114, 73, + 44, 50, 73,145,148, 72, 38,153,109,244,205,235,110,123,206,238, 61,216,251,190,251, 50,197,164, 26,144, 1, 4,162,121,209,188, +119,239, 57,103,237,181,214,247,253, 62, 82, 8, 72,213, 34,165,196, 83,226,160,221,154,221, 90,101,123,175, 20,164,224,169,132, +160, 15,150,153,117,172,186, 46,231,107,172,186,220,157,207,250,172,154, 95,173,243,239, 13,170, 92, 92, 26,133, 9,158,105,219, + 34,145,196,148, 24,212, 77, 22,170, 74,157,199,216, 34, 51, 33,188,208,120, 41, 89,198, 60, 13, 90,117,129,118,160,152,245, 30, +169, 20, 42, 70, 68, 91, 17,139, 69, 25, 9,125,147, 85,233,243, 40, 9, 40,146,172, 48, 73,226,132, 32,216,200, 10, 73, 74, 18, + 39, 83, 78,236, 52,121,245,228,188,103, 21, 96,217, 59,140,144,184, 4,206,121,180, 51,116,206, 82,135, 44, 34,139, 41,230,157, +125,112, 84, 34, 98,173, 5, 34,202, 90,100, 18, 52,210, 81, 37,145, 47, 27,160,138,137, 73, 12, 4,161,168,141,193,120, 75, 74, + 48, 20, 2,153, 28,163, 16,152,232,154, 58, 24,110, 84, 13, 35,183,162, 37, 49,244, 22, 29, 44,202,117,216,110,129, 13,142,137, +132,147,229,138,241,160,166,213, 21,173, 18, 12,181,100, 90, 73,246,154, 58,175,111,154,188, 86,184,188, 78, 55, 40,223,205,179, + 59,149,134,108, 35,100,219,120,215,131,223,194,103, 92,204,117,162,109,242,117, 39, 85,174,143,170, 52,134,178,172, 88, 55, 26, + 10,227,183,129, 93, 27,140,183, 15,219,213,238,230,112, 92, 93, 33,214,241,211, 46,234,148,253,130,208, 37,231, 86,129,177,229, + 96, 35,232,140, 5,157, 71,242,107,219,163,149,198,197,128,172, 52, 34, 9,250,224,137,228, 46,183,213,117, 22,210, 5,207, 88, + 39,150, 41,114, 32, 21,214,152,236, 97, 12,145,181, 51,152,232,209,222,176,182,150, 14,232, 76,199, 88, 8, 6, 74,177,180, 61, +149,212, 52, 66, 32,124,200, 63,166,132,243, 61, 3,149,119, 54, 10,168,131, 99, 15,137, 75, 9, 29, 28, 93,140,244, 62, 49, 70, + 82, 87, 13, 85, 8,236, 9,197,169, 12,204,131,202,111, 84, 42,124, 97,159,182, 34,135, 84,146,220,144,121, 68,158,194,214, 68, +186,185, 24,196,166,187,143, 91,121,189, 16, 91,164,103,218,228, 66,171,242,198, 54,133,153, 93,222,104,177,201,118,239, 63,185, +187,241, 54,139, 62,194,143,143,246,251,226, 31,254, 46, 85,163,233, 58, 71,138,217, 49,176,188, 88, 17, 34,236, 29,238,241,185, +215,111,163,165,198,133,132, 78,146,195,253, 1, 90, 72,132,144, 37,218, 54,223,116,141, 18, 12, 90,141, 86,130,186, 42, 59,249, +144,217,236,214,167,188,103,246,185, 91,143, 5, 42, 35, 67, 64,165,128,176, 30,225,178, 93, 74,184,128, 48,158,212, 57,150,243, + 21,189, 11,120,145, 48,179, 37,118,181, 66,122,136,222, 33,131,103, 52,153, 50,120,233,128,239,124,245,187,124,248,205,135,172, + 83,160, 78, 2, 29, 35, 79, 86,158,207, 10,197, 43, 85,197,211,149,227,105, 88,163,100, 71,131, 96,111,116,192,117, 52,149,183, +124, 79, 4,214,109,195, 9, 9,191, 50,236, 92,159, 34,142,198,132,186, 34,145, 80, 38,176, 91, 41,186,121,199,105,128,107, 7, + 99,148,206, 94,221,139,206,242,236,124,205,247, 63, 60,163,235, 28,107, 27,112, 54, 79, 37, 82,204,135,154, 16, 50, 1,177,173, + 43,166,147,134, 65,157, 15, 68, 66,200,252,241,152, 10,219, 62,146, 95, 21,145, 71,249, 46, 96, 35,216,152,184,247,112, 65,191, + 10, 60,120, 48,227,254,189,103,252,249, 95,189,205, 7,207,206,152, 45, 44, 55,119, 26,246,235,154,163,131, 9, 73, 43,126,238, +238, 17,186,217, 97,247,240, 58,255,209, 47,188,134,214,130,183,159, 93, 32,149,230,217,210,240,221,119, 31,243,243, 47, 93,231, +248,211, 63,195,159,124,249, 43, 31, 37,204,253, 52, 58,245,143,143,225, 55,202,119,119, 69,107, 18,127,140, 10, 94,106,104, 7, + 28,238,143, 24, 13, 90, 68, 91,163,180,194,164,180, 77,136,139,128,204,135,197, 59, 26,166,178,172,209,128,123,157, 35,108,160, + 33,155,233,128,119, 89,125,190, 92,100, 63,113,232,242, 56, 93, 52,185, 59, 55, 54,119, 79,222, 95,153,132,233, 43, 10,228, 43, +157,210,230,254,211, 10, 14,246,184, 51, 29,115,115,239, 0,106,201,163,222,146,170,154,161, 86, 60,178,158, 38, 88,230, 41, 50, + 86, 21, 82, 6,234,148,115, 38, 92, 12,136, 96,185, 88,175,248,206,147,115,152,149,207,107, 54,135,110,145, 5, 87, 33, 22,180, +115, 17,231, 14,244,101,241,181, 34,139, 2,155,170,201,152,101,145,175, 36,165, 42, 66,180, 36, 33, 73, 41,219, 72,173, 7, 71, +202, 49,213, 94,160, 10, 69,173, 71, 35, 43,129, 81,146, 80, 73, 86,165,128,172,125, 78,157, 11, 85, 69, 36, 97,149,190, 4, 9, + 7, 33,233,125,190,175, 29, 69, 35, 66,162, 79,130,245,218, 20,109, 84,192, 90,131,242,142,149, 51,168,232, 16,214,100, 26,104, +138,164,224,209, 41,209,245, 29, 58, 6,170,224,105,132,163, 9, 61, 83, 36, 45, 48,137,121,157, 53, 44,147,189,161,203,147,176, + 16, 28,117, 48, 84,206,101,231, 71, 74,244,174,231, 90,138, 56,187,228, 64,106, 6,206,144, 92, 79,116, 6,172, 69, 4,159, 19, +196,131, 97,119, 48,160, 15, 1, 65, 98,191, 30,208, 5,135,148, 50,195,110,180, 98,160, 21, 39,182,192, 98,184,194, 87, 80,229, +181, 23,101, 18,170, 84,185,126, 82,158,190,202, 82,120, 59,155, 15, 96,155,105,236,166, 16, 55,162, 68,181,214,219, 76, 3, 91, + 82,232, 90,189, 21,202,109,186,243, 77, 96,204,102,220,158,210, 37, 15,109,147, 64,248,211, 45,234,155,229,253,120,148,111,214, + 84,226,239, 66,184, 44,108,193,249, 60,122, 39,209,199,252, 66,166,148,195, 86, 98,138, 40, 52, 81, 36,130, 40,191,142, 17,157, + 18, 85, 8, 44, 82,162,242, 22, 99,122, 68, 74,248,224,136,165,155,122,102,215,244,222, 50,148, 42,239, 52, 67,100,162, 53,222, +247,200, 24, 25, 10, 65, 75, 62, 36, 72, 4, 49,120,170, 24,153, 58, 75,171, 27,156,181,232, 24,169,144,232,178,230, 78, 82, 17, +189,163,115,129, 97, 74,236, 42,197, 66, 9,230,126,227, 83, 44,249,209,193, 21, 53,123,121,179, 93,151, 11,111,111, 74,151,144, +242, 27,211, 86, 57,150,213,199, 45,102,179,173,202,232,165, 46, 73, 61,165,160, 19, 63,234,133,244, 41,243,228,125,252,123,198, +113,234, 79, 20,211,253,218,239,253, 22, 90, 75,124,136, 40, 41,177, 54, 98,123, 75,211,182,220,186,117,192,181,241,136,103,179, + 14, 25, 97,111, 90,177, 55,200, 33, 60, 82,100, 76,175,146,185,131,175,148, 64, 41,145,193, 41, 34,175, 85, 98,140, 5, 50,147, +139,151, 40, 86,142,252,251,249, 59, 33, 16,173, 39,244, 22,187,182,152,165,193,251, 64, 90, 91, 22,243, 62,167,231, 89,143,233, + 12, 23, 93, 15, 50, 50,235, 23,116,193, 51,216, 25, 83,239, 14,185,241,175,254,146,207,215, 53, 39,115,195,227, 51,195, 13, 39, +120,147,138,159, 19,138, 87, 15, 70,204,206,123,206, 26,112,195,134,239,164, 53,207, 87,103, 28, 70,201,167,135,183,249, 25, 53, +228,184, 64,112,118,218, 1,182,179,220,179,150,249,189, 25, 79,223,123,206,243,103,115, 46, 90,201,153, 84,188,122, 56,102,168, + 20,203,165,225,100,217,241,100,222,241,248,249, 34,251,133, 3,152,206,227, 66, 44, 70,137,172, 27, 24, 13, 42,118,199, 3,118, + 39, 45,131,186, 66, 43, 81,120, 70,145,206, 6, 58,235,233, 92, 22,240, 72,160, 77,208,219,128,183,129,197, 69,207,163,179, 37, + 23,179, 5, 15,159, 60,226,237,251,239,115,210,173,161,170,169,135, 19,244,206,136,119,151,150, 71, 1, 78,156,229,157,147, 37, + 43,227, 56,239, 60,198,122, 30, 44, 87, 60, 92, 27,144,130,231,103, 43,238,253,224,125,254,234,237,239,112,178,148,168,225,144, + 55,126,254, 13,190,246,231, 95,253,177,182, 54,241,147, 44,234,155,130, 30,210,214, 1, 10, 63,158, 42, 87,143,184,125,125, 2, +170,197, 87, 21,163,182,165, 45,221,146, 9, 27,145,104, 4, 19,105, 98,228, 88,230,195, 98, 68, 18,149, 96,105, 29,235,116,165, +131, 10, 33,119, 81,253, 42,227,159, 69, 25,159, 59,151,255,157, 13,251, 59,132,143,118,227, 90,110, 39, 3,162,236, 69, 21, 91, + 29, 77,165, 96, 56,230,100,103,135, 32, 43,188, 28, 82, 75,149,137,153, 85,205, 52, 37,116, 59,166,151, 31,150, 0, 0, 32, 0, + 73, 68, 65, 84, 68, 57,203,154,196,131,213,140,212, 45, 25, 36,203,136,132, 89,175,120,251,249, 41,103, 79,207,225,244, 28,204, + 34,143,248,157,223, 38,143,137, 43,150,192,166, 42,124, 11, 73, 40, 73,103, 85, 81,229, 87,178,202, 56,255, 16,208,170,130, 36, +112, 49,101, 16,151, 20, 68, 45, 25,106,133,208, 2, 47, 65, 10, 73,146,130, 46, 9,180, 86,244, 46, 3, 90,214, 17, 86,101, 28, +111, 99, 34,181, 13,222,231,189,242,178, 60, 51,214, 34, 15, 31,215, 49,178, 10, 89, 95,227,124, 94, 69,197,126,133, 11,249,192, +110, 92, 79,109, 13,206, 91,132,144,196,100, 81, 66,162,162,197,251,136,116, 61, 42, 6, 68,232,104,131,167, 1, 92, 48, 76, 19, + 88,179,100, 39,102, 58, 95,244, 22,101,215, 40,179, 38,121,135, 54, 29,149,115, 8,111, 17, 49, 48,241,158,224, 61,123, 82,242, +217,221,107,156, 46,207,105,189,167, 74,130,140,197,202,225,153, 83,221, 32, 82,100, 44, 53,109,193,187,106, 41,177, 49, 80, 41, +137, 11, 1, 37, 36, 59,117,195,233, 98, 85,130,137, 68, 46,210, 87, 69,151, 27,107,241,230,186, 81,133, 74,103,202,179,190,183, + 37,169,176,172, 28,219,122, 27, 10, 22, 92,238,196, 99,216, 10,165, 55,226, 99, 81,158,247,170, 68,105, 27,183, 61, 40,108,198, +239,136,172,143, 82,250,167, 88,212,181,222, 98,237, 98,202,106,208,210,117, 95, 22,187, 75,225,129, 33,149,194,110, 17,180,149, +102,237, 93, 73,118,203,129, 3, 74,128, 8, 14, 79, 22,182, 12,100, 66, 57,139, 41,222,192,133, 91,103, 36,108, 76, 92,248, 14, +235, 3,193, 27,214, 49,112,144,114,172,106, 8,129, 29,161, 72, 49,160,145,168, 80,216,190, 18,140,143,232, 8, 59, 90, 82,187, +144, 69,166, 41,191,245, 41, 4,156,204,187,238, 20, 34,227,186, 98, 46, 19, 58,229, 16,146, 71,193,103, 62,188,247,219, 44,242, + 20, 75,113,247,219,241, 9,105, 11,228, 15, 62,139, 37,172,221, 90, 24, 68, 33, 8,109, 34, 93, 55,227,149, 84, 70,237,227, 97, +126, 29,155, 58,255, 25,235,254,142,120,223,171,133, 60,254,200,194,254,230,239,255, 30,191,240,139,159,166,183,158, 80,110, 72, +211, 89,108,239,184,118,243,144,227,221, 49,141, 84, 44, 59,203,238,168,229, 96,212, 50,104,117, 86,189,139, 92, 8,107, 41,242, +186, 73, 10,116,233, 16,124,200, 5, 93,144, 49,167,174,160, 78, 19, 89, 9, 46, 55, 95, 91,200, 59,162,208, 91,170,181,195,134, + 64,176,185,192, 69,231, 73,189, 39, 25, 71,215, 25,122,219,115, 26, 29,115, 25,121,183, 91, 97,154,138,195, 79,223, 34, 62,152, +209,252,229, 35, 94, 29, 31,240,235,205,136,253,139, 53,225,169,231,200, 75,150, 83,201,122, 92,241,158,247, 40, 37,185, 23, 61, +231,227,134,119,149,224, 66,193,177, 82,140, 85,195,129, 28,178, 47, 43,118, 6, 3,166, 66,193,243, 21,247, 79,231, 92,191,189, +195,139,183,246, 56,184,177,203,145,208, 92,107,107,148, 75,216, 62,219, 35,133, 43, 89,238, 87,248, 17, 66, 10,234, 58,187, 3, +118,198, 3,246, 38, 67,246, 39, 13,131, 90,151,107, 59,255, 29, 23, 2, 49, 6, 66, 74,212, 82,146,124, 98,170, 18, 47,213, 53, + 79,103, 29, 31, 60, 56, 99, 54,155,227,188,229,112,111,196,231, 62,117,147,155,215,142,153, 14,119,217, 29, 78, 72, 69, 93,127, +231, 96,194,106,109,120,126,182,162,209,154, 51, 27, 88,199,196,193,225,152,221,189, 17,200, 12,117,154,159,204, 57,174, 27,246, + 38, 83,122,159,241,161,175,191,242, 2,191,248,239,252, 60, 95,249,202,159,125,100,191,254, 19, 47,232, 87, 21,240,155,164,171, +205, 84,235,111,163,202,141, 6,152,193,132,209,116,196,167,247, 6, 28, 14,106,118,107,205,245, 90, 49, 80,138,147,165,201, 15, + 78,103, 49, 46,146,148,230,104,216, 48, 80,130, 86,100,208,202,194,231, 96,161,188,251,235,243, 67,212,102,209, 25,190, 56, 82, +148,222, 78,202, 54,209,176, 31,103,214,111, 86, 7,170, 20,116, 41,178, 85,174,153,192,141, 99,216, 25,195,100,159,231, 85,205, +141,102, 68, 39, 4,123, 77,205,185,113, 56, 96, 71,193,137,181,248, 24,121,107,121,206,217,226,148, 39,103,231, 60,158,157,242, +214,163, 51,158, 62,124, 2,179,243,188, 46,251, 27,124,138,205, 1,191,220,198, 77,181, 77, 2, 67,208,167,128,144,130, 73, 53, +192,166, 68,163, 20,178, 76, 71, 68,138,136, 24,243, 72, 94, 66,244,130,145,202, 16, 40, 33, 37,169,146,132, 36,137, 74, 98,124, +202, 63,146,105,102, 46, 38, 58, 31, 17, 42, 23,241, 40,243, 10, 37,175,128, 99, 30,173,147, 19,212,164,247,172,124,160,235, 60, +209, 25,146,136,132,110, 13,206,144,130,205, 25,234, 66, 18,162, 45,169,184, 14, 21, 19,214, 27,218, 70, 66,176, 12,136, 4,223, + 83,153, 30,229, 3,209, 59,154, 20,113, 33,128, 55,200,224,136,166, 3,103, 17, 46, 79,236,156,235, 24, 34, 32, 56,132, 16, 57, + 47, 66,192,172, 95,229,116,199,226, 67, 15, 36,148, 80, 40, 18,158, 88, 66, 54, 5, 42,101,105, 70,231, 12, 29,177,120,230, 19, + 54, 6,150,214, 51,105,106, 22,222, 95, 97,244,139,220, 41,111, 28, 36,155,113,249,102,148,190, 17,198,165,194,160,135,237,245, +181,217,207,111,148,242, 87,121,241,226, 74, 81,247, 37, 20,198, 20,198,130,210,249,218,221, 96, 2, 67, 73, 51, 68,129,119, 63, +101,161, 92, 91,129, 87, 48, 29,230,125,238,168,217,226, 80,155,234,114, 92,128, 80,121,212,229,242,233,105,181,238,145, 85,131, +113, 6,161, 42, 70,186,194,186, 30, 17, 35, 50, 37,134, 41, 18, 17,212, 41,208, 71,199,202, 59,148, 80, 24,111, 89, 59,139,137, +145,148, 18,141,212, 76,131,197, 91,199, 80,107,134,192, 50, 6, 14, 85,141, 53,153, 24, 85,107,149,167, 5, 62,160,101, 22,105, +212,193, 51, 78, 20, 14, 61,151, 66, 5, 67,202, 76, 99, 18, 6,232, 82,204,227,254, 74,210,155,136,237,203,205, 31, 93, 17, 76, +168,252,117,171,143,189, 54,118, 51,122, 44, 63, 23,229, 77, 9, 69, 81,155,228,246,230,221, 60,232, 54,252, 71, 41,183,209,126, + 54, 67,117,127, 44,113,174, 41, 40,193,205,195, 74, 21,145, 71, 16, 31, 41,236,191,250,235, 95,224,248,250, 1, 62, 38,250,117, + 30,191, 59,147,245, 12,187, 59, 35,110,237, 78, 74,195,162,105,180,162,106, 84,222, 53, 35,112, 49,146, 82,188,124,206,233,130, +131,141, 41, 96, 93,192,197,108,187,202, 76,130, 13,140, 41, 79, 43, 68,140, 40,145,168, 82, 94, 45, 57,231,145,198,209,185,236, +231,118,214, 97,230, 61,177,239,113,171, 53,157,181,204,214,134,185,237, 89, 24,195,105,176,236,191,120,155,157,207,222,226, 43, +127,254, 13,222,250,139,251, 12,142, 21, 47,220,124,145, 23,118, 26,252,196,240,245, 39, 6, 33, 34,143, 71,112,126, 56,196, 95, +159, 50, 18, 2,150, 6, 81,107,226,193, 49, 15, 14,199,156,141, 43, 6, 71, 35, 26,169,209,109,141, 58, 24, 50,108, 27, 14,238, +236,178,127,123,143,118,210,210,122, 24,161,168,155, 10, 85, 41, 70,114,139,207,140, 49, 96, 67,164, 25, 86, 76,198, 13,215,246, +134,220,220, 27,113,109,119,196,193,116,192,100, 88, 51,110,106,180, 86,249,181, 8,145,152,242,136, 94, 10,201,180,209,236,141, +242,104,252,134,150,200,121,199,255,246,111,190, 75,112,145,122, 48, 96, 50, 30,241,194,241,148, 59,187, 35, 82, 76,188,253,195, + 71, 44,206, 47, 16, 62,112,234, 37,119, 38, 53,235,103, 75, 98, 31,217,213, 21, 55,246,134, 44, 58,207, 98,101,105, 27, 77,191, +178,200, 8,211,225,128,225,112,192,218, 71,108,200,195,162, 81, 91,241,218,171, 55,240,178,229,251,127,253,221,143, 20,242,191, + 79, 65,255,219,254,236,175,254,193,239,242,202,103, 62,203, 7,111,191,253, 9,171,162, 79, 56,164, 14, 91,216,221, 37, 76,134, +252,236,222,152, 73, 83, 19,132,100,164, 4, 74, 73,146, 8, 60,176, 41,143,203,215, 38,251,213,119,106,142,170, 28, 8,178,142, +145, 93,173, 8, 4,158, 47,138,255,184,187, 2, 19, 65,111,221, 35,162, 46,162,164, 79, 56,100, 92,213, 4,184, 50, 5, 31, 76, +144,119,239,114,243,238, 45,210,225, 17,118,178, 83,114,229,107,180,210,153, 1,159, 34,199,117,131, 35,160, 17,168, 20,121,104, +123, 78,251, 25,166,239, 88, 60, 62,229,236,222, 3,220,114, 1,203,213,143,159,190,109,178,224, 55,154,157,186,216,251, 66,118, + 4, 5, 41, 88,121,203, 78,221,162,132, 68,136, 92, 72, 66, 12,104, 85, 19, 69, 98,131,126, 10, 82, 49, 44,135,114,155, 68,110, + 10,149, 32, 59,234, 36, 65,102,124,240,218,102, 17,108, 42,207, 64, 81,236,136,202, 7,188,144,136, 50,117, 77,198,230,224,167, +222,129,239, 73,222, 18, 76,143,138,158, 24,115, 98,156, 19,130,228,123,156,207,137,107,222, 88, 76, 74,232,148, 8,201, 51, 66, +226,125,207, 40, 74,186, 16,169, 69, 34,152, 14,153, 32,218,142, 58,120,162,115,140,200,235,170, 97, 10,196, 4, 67, 85,177,246, +134, 86,230,152, 85, 73, 22,232,170,242,236, 81,100,194,168, 32,139,182,129,156,248,137,192,166,188,231,246,228, 6, 83, 8, 8, + 41, 98, 98,194,246,150, 73,211,240,104,181,162,169, 42,236,198,238, 38, 85, 41,172,113,155, 60, 88, 95, 81,158,214,114, 11,166, +145,106,155,247,177, 57, 52, 74,145,109,145,155,149,173, 40,249, 32, 27,101, 59,229,227,189,223,254, 61, 81,166,224,179, 85,110, + 28,155,186,248,229, 29,136,159,150,250,125, 88,252,122,169,202, 59,131,166,201,113,129, 27,127,173, 42,167, 27,228,149, 19,122, +218, 34, 38,171, 10,107, 28, 70, 10, 86,214, 16,188, 97, 90, 88,215, 3, 9, 42, 9, 38,194,179,136,129, 90, 72,214,193, 99,202, +232,109,217,175,243, 69,137, 64,250,142,118, 35,138, 43, 23,243, 68,192,204,244,140,235, 22, 17, 29,201,123,150,222,103, 7,124, +204, 35,185, 29,157,185,191, 31,190,242, 58,215, 46, 78, 73, 73,226,137,140,145, 88,160, 67, 32, 69,194,186,196, 66,101, 72, 78, + 40,202, 79,187, 25,167, 7,159,187,244,166,222,146,134, 40, 86, 6, 10,216,223, 23, 81,157, 43,132, 58,183, 81, 2,151, 55,126, +227,245, 18, 69,100, 81,169,237, 30,101,179,123,140, 41,119, 8, 27, 59,197,213, 7, 65, 83,127,212, 94, 1,219, 36,162,205,184, +176,124,224,183,254,201, 63,206, 56,221,144,112, 54, 95, 64,147,209, 0,129, 98,111,119,140,150, 10, 37, 21,141, 86, 72, 33, 75, + 87,158,227, 83,157,203,162,176, 90, 73,154, 90,150,162, 14, 62, 70, 58,159,149,236,133,220,139,137,145, 40,178, 47, 85,196,144, + 35,143,197,150,123,109, 66,192, 46, 76, 22, 9,245,142,213,202,176,156, 45, 56,159,175,152,245, 29, 51,103,145, 41, 18,157,101, +109,122, 92, 76,236,190,112,140, 62,222,225,255,253,163,175,113,241,112,201,247,186,142,212,172, 9, 56, 62,115,227, 22,111, 54, +137, 39,120,254,236,241, 26, 63, 55,156,159,175,169, 5, 48,110, 25,197,196, 99,179,160, 11,129,190,213,204,118, 71,156, 54,146, +147,169, 34,222, 30,179,216,169,176,149,162, 54,121,100, 41, 7, 53,205,184,166,110, 52, 35, 89, 49,172, 53,173,146,180, 62, 50, + 33, 49,110,107,166,147,150,107,135, 99,246, 39, 3,246,166, 3, 70,131, 26, 93,108,128, 90,201,178,126,141, 36,159,213,255, 82, + 8, 26,173,153, 12, 42,246,234,138,147,101,199, 35,165,248,242,215, 63, 32,133, 28,172,209,212, 53,195,129,226,217,188,103,185, +116, 12,147,228,116,102,153,205,206,120,180,154, 49, 11,137,111,254,240,251,124,240,236, 62, 39, 23, 39,188,251,240, 62,143, 31, +157, 48,191, 88, 48, 95,204, 57,123,122,206,163,135, 79, 57,125,126,206,197,197,140,231, 39, 39, 44,214, 29, 85,173, 8,174,167, +235, 12, 54, 9, 6,187,215,137,202,242,224,189,123,151, 0, 69,254,158, 69,253, 71,125,223,124,187,191,180,124,240,222, 7,208, +175,255,238, 5, 93,235,220, 1, 31,102,129,220,205,166,166,173, 50,238,116, 32, 37, 90, 87,120,231,240,222, 49, 95,153,188,230, + 27,100,178,216, 65,147,115, 35,234,148,232,125, 96,225,115,126,184, 57, 95,110, 35,135,109,233,188,170, 97,238,218, 69, 41,146, +155, 46,253,147,196,126, 82,228,191, 55,220,129, 23,142,121,243,198, 49,135,211, 67,218,193,136, 51,213,146, 68,158,208,205,234, +150,167, 40,166, 34,113, 18, 35, 67,239, 56,247, 14, 17, 19,111, 89,151, 31,204,125, 15, 23, 11,152,205,126,124, 66,221,230,245, +240, 30,212, 32,127,174, 65,102, 71, 64, 44,234,105, 37, 8,206,211, 14, 90, 66,112,104,169,177,193, 51,168,106, 20,153,236, 25, +188, 65, 11,149,215,103,185, 68, 19,108,160, 86, 50,219,172,109, 66, 40,137,136, 9, 93, 30,105, 61, 80, 33, 72,133, 0, 42, 76, +204,114,158,144, 15, 83, 90,103, 13, 11,189, 39, 57,159, 5,202,102,141,240, 14, 65,200,196, 59, 34,214, 5, 98,200, 17,170, 85, + 57,124,120, 41,192,245, 68,233,169, 19,120,231, 24,162, 89, 70,207,184, 30, 16,189, 67,235, 1,157,235, 25, 75,133,113,150,125, + 41,209,128, 70,160,133, 68,138,204, 37,168,164, 32, 68, 79, 85, 38, 9,163, 36,240, 66,228,175,131, 72, 31, 44, 72,141, 38, 17, + 81,185,112,147,138, 51, 89, 32, 98, 66,165,136,147,153,247,174, 8,244, 33,177,234, 13, 35, 93,115, 70,164, 74,121,122,145, 68, +177,153, 41,181, 85,160, 20, 23, 28,141,206, 98, 55, 41,182, 19, 42, 33, 62,122, 77,109,158,219,151, 93,186,222,142,211, 55,142, + 37, 23,114,189, 8,108,187,247, 80,108,112,107, 91,106, 72,209, 86,249,248, 83, 42,234, 74,231, 34, 30,200,114,125, 84, 62,177, +232,156,129,158,199, 21, 41,183, 8, 66,111, 21,130,177,132,164,152, 34,221, 79, 20,123, 67,222, 95, 91,107,105, 73,104,153, 71, + 64,144, 72, 41,228, 44,246,222,226,163,203, 14, 2, 2,131, 2,132,217, 67, 48,174,114,150,179, 46, 23, 56, 68,124, 25,239,235, + 20,105, 35,204,108,192,133,200, 72,128, 45,121,221,183, 79,159,179, 44,144,148, 81,132, 69,121, 23, 12,130, 25,137,133, 16, 44, +125,190, 32,214, 65,112,238,242, 41,249, 50,150, 53, 94, 21,192,197,210, 89,171,141, 68, 49, 67,248, 83, 17,187, 37,114, 52,235, +102, 36, 35,139,176, 78, 94, 17,207,249, 66,170, 43, 88, 81,124, 25,185,200, 43,116,174,116,133,207,189,177, 91,136, 43, 66, 62, +228,246,128,193,214,162,243,251,255,233, 31, 98,186, 28, 44,225, 92, 32,186,192,238,206, 36,159,193,146,164,109,107, 14,134, 45, +195, 90, 83,215,217,141, 16,203, 80,161,210, 32,146,160,105,178,133, 45,199, 80, 71, 92, 12, 24, 31, 8, 41, 71,168, 38,145,178, +133, 80,230,216,220,232,179, 18, 28, 4,222,121, 92, 8, 8, 31, 57, 95,245, 44,214, 22,103, 29,171,222,240,164,235,120,188, 94, +115, 97,123,214, 9, 92, 37, 56,235, 58,150,214, 16, 43,197,203, 47,189,192,201, 98,205,215,254,215,111, 32, 6,146,186, 18, 52, +119,246,249,186,142, 28, 72,184, 62,217,227,243,215,111,242, 89,147,247,204,223,127,106, 8, 35, 80,141, 98, 60, 25,179,127,112, +204, 75,135,199,188,116,227,144,113,165, 9, 90,114,237,230, 14,211,189, 17,207, 47, 86, 72,227, 72,215,166, 84, 71, 99, 70,147, +134,145, 84, 84, 97, 43,142, 22, 62,162, 67,162,173, 85,254,248,184,165, 29,214, 12,219,154,166, 86,217,238, 87, 28,142, 46,101, +191,120, 12,161,192,167, 4, 77,165,169,106,133, 20,138,243,147,158, 7,167, 11,118,247, 7,156,156,175, 49,103, 11,170,170,230, +151,111,236,241,198,241,148,135, 23, 29, 51, 99,120,116,190,224, 7,247, 63,224,157,179,167, 44,187, 30,223,205,232,215, 38, 15, + 98, 18,132,228,115,183, 20, 12,203,213,138,179,229,140,179,197, 57, 23,171, 57,103,139,115, 78,215, 51,158,207,207,184, 88, 94, +240,222,179, 71, 60, 57,125,198,129, 24,146, 82,228,197,151, 94,230,223,252,201,159,254, 72,251,122,250, 49,133, 94,252, 29,138, + 61,139, 89, 46,156,159, 52,221,251, 81,140,133,241, 4,142,247, 47, 73, 93,183,171, 42, 91,122,145,116, 36,250,190,207,217, 0, +120, 30,117,219, 16,142, 78, 40, 38,141,100,110, 3, 41, 69,154,148,144,214,243,238,179,115, 46, 51, 77, 47,177,155, 50,143,224, +155,122,171, 92, 86,242, 71, 79,193, 54,201, 92, 41,193,104, 10,135,187,220,190,118,147,233,104, 23,163, 52,162, 26, 48,208, 21, + 23,190,116,114,222, 17,180, 98,153,224,209,122,141,171, 26,190,231, 45, 31,244,235,124,162,247,174,196,124,174,243, 14,253,111, +211,199, 84, 58,123,158,147, 7, 74, 38,134, 93,231,102,106,227,190,145, 18, 19,242, 65, 77,132,192,176, 25,210,185, 30,169, 21, + 34, 69, 26, 85,147, 66, 94, 51, 58, 23,114,132,181, 84,185,185,241,145, 86,103,129, 43, 34,195,193,214, 33, 18,123, 75, 16,153, +246,104,215, 46, 11, 92,125, 32,134,132, 36, 18, 58,131, 95,175,243,218,109,221, 33, 66, 79,112,150, 16, 60,193, 58, 2,129,228, + 18,142,172,175, 81, 50, 93, 90, 12,125,112, 89,180,236, 28, 49, 69, 26, 50,113,174, 10, 17,157, 32, 9,141,136, 14,180,162,139, +130,166, 16, 2, 13,130, 70,105,230,209, 83, 41,133, 41, 13, 76, 16,138, 4, 52,222,177,146,154, 58, 88, 92,180, 40,153, 93, 58, + 97,147,213, 65,194,136, 76, 43, 13,100,124,109, 37,242, 33, 65,165,242,185,166, 72, 77,100,105, 29, 61, 25,128,165,180,102, 34, + 37,149,210,140,128,186,174,104,148,206,221,127, 42, 66, 56, 87,158,223,186, 52, 85,233, 10, 54,124,147, 13,162,244, 86, 32,183, +177, 76,166,184,213,157,108,224, 67,186, 8,235, 54, 72,114, 85, 72,114,118, 85,252,244,153,191,207,170,251, 9, 23,245,170,134, +122,152, 11, 77,211,108, 59,197,182,222, 6,202,167, 43,116,164, 13, 98, 79,177, 21,127,197, 77, 23, 26, 47,141,248, 89,168, 16, + 57,146, 9, 85, 41,116,244, 4, 23, 80, 49,226, 98,230,100, 43, 41, 89,118, 75,100, 74,180, 41,177,178,134,155,186,206,187,250, +224,217,211, 53, 34,194,210, 57,166,170,166,143,150,228, 2, 77, 65, 67, 6,231,240,198, 16,146,160, 46,225, 35, 73,194,158,212, +204,125,126, 19,155, 4, 39,197,114, 23,145, 88, 41,104,149,224,153, 79, 44,125,196,169,172, 88, 78,137,220,145, 75,181, 85,178, +167,210, 29, 43,182,156,235,203,184, 74, 93, 10, 58,249,231, 37, 41,232,114, 85,177,185, 24,160, 88,221, 82, 81, 12, 23,177, 81, +239, 33,169,226,111, 47,175,175, 42,212,169, 75,235, 91, 9,153, 73, 42, 95,116,155,220,223, 16,248,204,239,255, 7,124,254,115, +159,230,226,124,133,174, 43,136, 25, 12,147,130, 96,119, 60,100, 52,108,217, 27,182, 28,140, 26,154, 70,149,125,176,192,167,132, +136,100,116, 36, 89, 36,183,233,212,125,204, 16, 26, 98,188, 92,253, 9, 41,168, 68, 14,222,169, 68,217,239, 9,208, 62, 18, 67, +164,235,115, 32,137, 89, 90,170, 69, 71, 88, 25,132,181, 44, 58, 75,111, 45, 74,228,220,251,211,174,103,213,119, 57,132,103,210, +242,194,155, 47,242, 23, 95,121, 11,255,175, 79,216,105,160,185,214,210, 87,160,158,206,249,225,122,205,119,194,146,163, 73,195, +241,235,159,226, 55, 62,253, 38, 95,184, 46, 56, 28, 40,102,149,228,177, 8,132,228, 56,237,215,116, 54, 32,146,162, 70,176,190, +232, 89,156, 46,152, 55, 53,211, 59,135,140,174, 77,208,149, 66, 70, 8,179, 30,177,242,132, 62, 91,212,130, 11, 36, 34,177,146, +184, 70,163, 27,141,174,213, 37, 77, 48, 21,149,127,138, 9,235, 2,179,222,177,234,242,148, 66, 73,137, 82,146,189,241,128,247, +159,102,202,156,112, 6, 85,107,174,239,141,104, 22,145,167,203,158,135,103, 51,254,242,222, 51,158,159, 93, 96,157,167,110, 91, + 22,231,115, 30,159, 95,100,228,104, 74,204,215, 61, 54,122,198, 74,179,182,129, 85,112, 24,239, 49, 49, 11,150, 58,239, 89,245, +249, 64,112, 54, 95,241,131,231, 11,124,223, 19, 19,204, 23, 61,251, 42, 59, 19,170,113,203,151,126,251, 55,248,211, 47,255,233, +223, 40,232,252, 67, 88,241, 31, 47,238, 87, 57,241, 63,142, 25,223, 78,224,230, 33,236,142,178,216,118, 80, 65,128,164, 5, 85, +204, 29,166,113,129,150,200,147,181,229, 91,103,102, 11,136, 41,207,150,147, 36,120,169,202, 99,230,117,103,121,235,225,156,228, + 74,254,244, 38, 17,173, 42, 99,209, 16,202, 90,176, 60,131, 62, 30,125,250,241,157,250,100, 47, 7,172, 92,191,201,231,118,247, +121, 97, 58,229,246,100, 66, 91,124,226,247,205,106,203,151,112, 22,103,123, 80,138,133, 47,241,157, 17, 88,157,230, 46,219,153, +252,255,157, 45, 63, 6,136,250, 4,171,176, 32, 79, 66,243,252, 59, 23,121,155, 69,154, 84,242, 18, 84, 21,148,192,200, 72,240, +185,161, 9,209,163,117,133,148,185,203,148, 34,147,228, 66,240, 52,149, 98,237, 92, 97, 33, 68,214, 38,175,107, 86,189, 37, 57, +143,174, 43, 98,116, 68,227,179,107,207,122,100,136, 8,219, 35, 41, 2, 97,107,137, 46,107,137,172,237, 72, 27, 93,141, 16, 89, + 52,231,109,137,255,149,184,148,133,118,189,207, 59,118,235, 60, 54,250,146,171, 18, 49,174,167, 18,146, 62, 4, 26,145,136, 50, + 35, 93, 91,169,168,165,162,139,158, 29,169, 88,199, 44,108, 91, 69,135,143, 1,169,179,224,109,229, 45,161,106, 72,209, 97,144, + 68, 33,104, 82, 98, 22, 61, 41, 69, 66,140,116,209,229, 41, 79, 10,120, 66, 57,124,230,103,148, 66, 98,163, 69, 36,129,141, 1, +169, 4, 38, 36, 90, 37, 25, 11, 65, 43, 21, 83, 37, 25, 40,137, 21,137,105,147, 51, 60, 76, 42,224,154,250, 74, 33,142, 92,201, + 1,185,146,183, 46, 75,179,235,220,150, 62,154,200,236,252, 65,137, 87,173, 84, 17, 94,151,110, 93,108, 60,242, 64, 23,242,129, + 78,144,163, 92,131, 67,255, 68,133,113,170,201,167,197,205, 56,160, 85,249, 11,219, 20,163,171, 39,242, 90,111,189,217,165,225, + 68,139,162,236, 43, 76,115, 27,144, 56,134, 90,178, 19, 5,115, 11,199, 98,197,168,110, 51, 76,205, 25,164,108,216, 19,154,167, +221,146,157,170,162,179,134,144,224, 72,215,216, 16,153, 8, 24,171,154,174,236, 89, 14,116,205,210, 91,118,208,204,177,172, 67, + 68,133,136, 38, 43, 42,165,246, 44, 13,184, 74,163, 98,226,185,235,144,149,102, 29, 50,225,105, 71, 42,102,228, 83,145, 36,135, + 20, 88, 34,123,173,102,209, 59,162, 86, 89,229, 62,110, 96,105,182,147,139, 80, 96, 49,169,124,157,254,202, 14, 79,149, 31,211, + 21, 79,162, 17, 48,186,178,155,217, 16,235, 98,177, 58,216,176,213,189, 13, 11, 41,206,232,252,111,153,152, 39, 35,148, 92,236, +170,164,106, 73,189,125, 52, 71,113,249,190,189,121,231, 38, 49, 65, 59,108, 16, 90, 98, 93, 32,153,128,115,185, 91, 81,149,204, +160,147,178,247,174,149, 40, 78,164, 44, 56, 49, 62,162,138,201, 89,108,222,234, 50,136,137, 69,176,185,137,154, 23,136,156, 52, +152, 4, 82,230, 49,161,244, 33,171, 86, 59,131,155, 25, 84,111, 11,203,191,104, 79, 66,192, 6, 71,159, 18,125,111,176,206, 32, +108, 32,166,192, 94,219,242,176,115,252,233,187, 15,185,253, 70,197,200, 66, 67, 66,156,172, 56, 57, 26,113,231,229,215, 89,156, + 61,225,191,139, 29, 47,135, 57,191,110, 87, 28, 31,222,230, 75,117,203, 23,206,159,243,131,229,115,238,173, 35, 95, 94, 95,112, + 18, 3, 79, 42,201,207,238, 28, 51,158, 52,168,107, 19,246, 14,247,152, 30,140,144, 74, 98, 66,194, 45, 58,170,149,195,150,117, + 4, 54,167,186, 5, 45,112,149, 36, 21, 26,156, 14, 9,225, 35,158, 72, 40,112,165,232,193,185,196,122, 29, 80, 36, 68,157,201, + 93, 49, 74,222,190,191, 32,185, 72,171, 96, 58,108,121,218,121,236, 78,205, 63,123,105,194,119,204,138,127,241,116,129,143, 62, + 31,168, 26,197,155,159,191,203,247,191,255, 61,238, 61, 95,114,115, 84,241,107,135, 55, 96, 26,249,198,124,206,176,110,217,175, + 7,220,222,191,198,141,233,148,115,111,121,124,126,142,241,134, 85,183,228, 83, 71, 13, 7,163, 29, 46, 86, 75,158,246, 11,246, +116, 67, 45, 34,157, 2, 21, 2,194, 68,190,248, 43,175,241, 95,255, 45, 29,122,250, 17,123,247,159,152, 5,174,109,217,185,123, +141, 52, 26, 35,134, 3,122,173,241, 41, 17,130,227,161, 75,220,174, 61,206, 67,231, 28, 30, 79,146,101,229,197, 71, 57, 16, 17, +248,234,188, 76, 2, 93,159,159, 47,178,192,155,218, 9,248, 46,239,215,171,186, 60, 92, 55,172, 8,121,217,204,255, 77, 21,190, +206, 35,247,107, 59, 48,157, 66, 91,115,176, 59,101, 58, 24, 34,133,228,184,170,232,206,230,249,243, 89,207, 11,167,163,221, 10, +135,165,132,174,227,118, 93,113,214,238,178,182, 43,234,182,194, 74, 9,135, 83,120,210,125,242, 42,162,169,175,156,144,178, 32, + 12,116, 1,159,100,245, 51,115, 67, 14, 68,175, 97,217, 97,125,228, 98,144,223,161,131,225,148, 69,183,196,200,142,189,241, 1, +189, 89,210, 52, 67,132, 23,172, 18,168,186, 97, 57,207,182, 71,173, 43,250,232, 81, 73,210, 69,143,181, 61,131, 74, 99,157,165, + 81, 67,186,213, 18,165, 21,237,176,194,175, 59,162,179, 72,145,240,214, 33,149, 36,164,128, 3,188,181,101, 5,144,175,152,222, + 25,180,200, 90,136,149,235,240,222,145, 80,116,209,160, 82,142, 16,237,172, 97,208,140, 9,101, 84,190, 38,209, 6, 11, 85,139, +148,208, 91,195,245,193,148,179,110,206,158,144,172, 98, 96, 32, 20, 94,128,179, 61, 75,165,217,169, 26, 30,117,107,118,155, 66, +243, 75, 48,147, 2,233, 61, 81,105,188,136,248, 62,215, 0, 71,194,199, 72, 93,215,152,148,178,255, 30,193,146,148,209,204, 74, + 81,167,200, 16,113,169, 37,104,154,124,184, 59,239, 35, 71,117, 13, 82,226,101, 96,169,134, 4,105,179,253,176, 41, 5,217, 95, +205, 89,151, 91,139,166,247, 31, 93,169, 92,118,249, 62, 83, 70, 55,251,246,141,152,122,115,237,106,153, 39,189,227, 97,190,134, +157,253,136, 44,250, 39,243,173, 46,133, 56,216,140, 36,213,117, 25,161,139,143, 65, 25,202,233,164,119,249, 11,118,229,215, 38, + 92, 25, 71,196,178,128,245, 68,217,162,116, 69,178,145, 29,237,104,172,162,247, 29,187,186, 34,106, 65,111, 87, 64, 98, 42, 20, +143, 86,107, 14,116, 22,125,116,166,131, 42, 39, 13,137,166, 98, 32,171,242,224,137, 52, 90,208,123, 71, 29, 35, 78, 64,231,125, + 14,134,145, 18,150,134,117,163,209,192, 89,128,161,208,168, 16,168, 10,157,163,147, 10,161, 21, 9,193, 72, 87,132, 4,159,169, +106, 46, 66,224,212,184,172, 20, 29, 54,249,164, 54,172,179, 26,119,163,162,189,138,105,213, 34, 23,225, 88, 66, 0,130,206,150, +154, 77, 97,151, 41,167, 59,169,226,139,244, 97,235, 93, 44,118,176, 75, 76,108, 36,191,222,182,252,219, 67,189, 45,248,151, 1, + 26,155,255, 75,111, 11,122, 57, 83, 93,187,125,227,242,115,202, 18, 18, 81, 38, 83,249, 66,148, 81, 18,124, 22, 31,110,180, 67, + 66,228, 63,171,149,184, 76,221,173,149,200, 16, 37,178,117,205,167, 88, 2,177,242, 9, 53,164,148,247,237, 72,162,207, 73,122, +193, 6,154,148,149,238,110,237,208,197,121, 96, 0,227, 29,198, 88,214,125,199,172,235,145, 36,132,179, 4,235,145, 36,130,150, + 12,199, 3,190,255,193, 3,150, 95,153,243,149, 99,201,254,169,229,215,247, 26, 94,126, 97,200,226,241,130,123, 23,223,224, 66, +193,162,210,236, 69,248,111,215,107,126,121,239,144,234,180,227,101, 85,243,185,163,215,249,247,142,111,242, 79,102,167,124,227, +102, 67,251,230, 13,142,238,238,229,123,208, 37,116,165, 17, 62,208,135, 60,102, 84, 2,210, 40,147,181, 36, 2,233, 50, 75, 32, +200,124,125, 87,100,155, 86, 21, 34,149,143,216,232,115, 98, 96,217,217,133, 62,226,109,158, 56, 33, 37, 33,230,108,131,211,251, +107,162,244, 60,239, 61,222, 59, 30,159,207,184,251,133, 23,137, 55,119,184,247,214,135, 92,172,151, 8, 1,163,166,229,104,111, +143,221, 81,195,209,222, 17,191,249,233,138,100,214,236, 79, 15, 56,237, 46, 88,167,196,163,231,103, 44,141,231,165,211,231,188, +118,237,144,233,222, 33,203,126,193,186, 55,220,222, 61,224,213,163,235,188,124, 48,226,193,197,138, 47,255,240,175, 88, 44,102, +188,176,183,199,139,251,135,220, 58, 56,228,240,250,148,187,135, 19,254,229,255,244,207,249, 79,254,179,255, 28,212, 0, 49, 26, +195,225,136,116,112,200, 63,190,113,196, 31,175, 86,172,159, 61, 39,157,156, 34,158, 94,128, 89,126,180, 99,223, 57, 34, 29,236, +192,221, 87,152,142, 15,153, 47,158,230,103,195,226, 28,206,230,136,211, 11,146, 89,253,232,226,165, 53,140, 39,164,209,152,235, +147, 17,170, 25,162,129,185,115,124, 24, 18, 67, 25, 89, 88,203,164,146, 84,193,241,212,194,131,133,217, 10,143, 98, 42,211,171, +152,243,202, 77,202,247,150, 47, 72,207,203,123,178, 20,207,166,222,118,237, 27, 56,147,214, 63,218, 68,162, 91, 24,239,194,241, + 97,193,211, 14, 25, 55, 99, 8,142,224, 61, 86, 64,139,100, 32,122, 88, 92,228,117,195,168,133, 33, 48, 57, 6,215,241, 11, 56, +154,233,132,199,243, 57, 71, 85,102, 21, 84,214,242,221, 90, 93,106, 1, 62,241, 91, 40, 48,169,148,242, 93,162, 54, 63, 47, 33, + 80,107,155,153,226,203,242,111, 52, 26,172,193, 84,146,147,144, 88, 37,207,141,122,138,175,107,116,183,160,210, 53,201,174, 24, + 84, 99,122,215,209, 70,143, 80, 21,189, 51,180,117, 3, 66, 50, 95,175, 51, 11, 62,130, 49, 29,109,221, 98,102, 39,212,170, 66, +167,200,234,124, 65, 91, 85, 16, 61, 94,120,208,224,173,199,135,136, 23, 57, 26,123,105, 13,149,140,244, 33,101,107,170,144,120, + 99,208, 2,214, 49,139,102,149,172,177,193, 18,173,103,183, 25,211,187, 53,168,134, 54,145,117, 57,101,135, 46,128, 97, 51,228, +172, 95, 49, 84, 21, 42, 37, 66,232,216,169, 6,244,174, 39,169,154, 67, 41,121,226,179,102,228, 3,179,102, 87, 41,198,213,144, +222,245, 72,221, 16,146,197, 27, 79,163, 21, 3, 33, 24,164, 68,175, 53,203,228,233, 99, 6, 64, 61,245, 57,155,161,119, 33,247, +156, 74, 80,213,154,129, 74,232,242, 30,117, 40,174,143, 91,158,216, 28, 46,165,133,160,209,146,245,160,212,191, 88,220, 80,161, +216,208, 54,220, 17, 95, 66, 88, 16, 91,167,211,149,237,108, 22, 81, 39,104,138, 48,206, 22, 58,233,230, 97,107, 74, 30,251, 16, + 88,235,143,220, 71,250, 39,214,165,235, 42, 95,240,114,131,195, 43,224,251, 13,150, 81, 95, 17,108, 41,149,139,212,166,160,199, +114, 2,217,132,204,199, 50,158, 42,187,136, 42, 70,218, 20, 24, 7, 65,165, 36,131, 24,136, 62, 65,144, 25, 50, 32, 4, 34,244, + 84, 41, 34,131,160, 22, 42,243,199,147, 97, 52,152, 32,172,101,210, 14,153,247,107,122, 60, 45,249,180,219,165,200,210, 5,180, +150,224, 36, 38, 56,168, 36,195, 16, 89, 58,193, 72, 75, 98,202,221,110,160,198, 43, 50,208,161,124,205,193, 39,218,170,198,132, +132,142,240,218,209, 30,223,158,173, 89,251, 8, 85, 81,165,143, 70,208, 25, 96, 8, 39,167,249,141, 33,150,132,182, 43, 29,187, +240,101, 98,225,183,158, 93, 87, 70,246,233,138, 48,103,211,161, 75,181,101,206,203, 2,248, 31,214,249, 71,239,182,135,136,232, + 63, 86,220, 47,211, 92,138,186,210,211, 12, 27, 86,171, 14,129, 32,132,136,148, 18, 93, 85,236,239,141, 57,156,180, 8, 20,139, +165,101,111,218,208,200, 68, 72,130,222,101,194, 94, 45, 36, 82,201,156,208, 86,171, 2,224, 74,248,152, 5,144, 98,227,212, 75, + 9,173, 4,141,148,185,179, 21,121,196,143,150, 44, 66,192, 11,129, 41,125, 94, 21,242,158, 90,250,192,220,121, 22,222,229,235, + 64,128, 23,162,164,210, 38, 26, 33, 57, 24, 79,248, 63,191,254, 13,190,141,135,168,120, 42, 96,231, 73,207,219, 11,135,172, 4, +183,251,196,235,119,134,132, 23,135, 60,141,134, 83, 60,127,254,244, 41,175,190,112, 23,185,127,141,231,131, 49,191,220, 56,210, +221, 99, 62,247, 75,183, 25, 76, 26,164,202,236,233,229,220, 18, 66,192, 46, 45, 62, 69, 42, 93,132, 69, 77,118, 17, 68,178,207, + 55,166,148, 1, 81,229, 44, 38, 67,162,242,137,202,231,151,184,243, 1, 73,202,160, 64, 9, 52, 32, 43,129,247,145,206, 68,158, +252,245, 41, 73,192,169,243,172,141, 35,120,199, 98,214,115,255,225, 25,221,221, 3,228,189, 39, 8,225,144,149, 98,160,106,142, + 71, 53,196,196,181,227, 3, 30, 61,126,192,151,127,240,152,127,181,250, 0,166, 21,105,238,192, 68, 82, 31, 56,101,201,215,213, + 51,196, 72, 80,239, 84, 12,106,193,236, 91,239,103,152, 73,163,152,214, 10,173, 5,183,246,106,174, 13, 70, 8,235,216, 25,213, + 52,195, 10,223,123,126,254,149, 91,136,207,126, 6, 66, 5,147,154, 52,154,240,251,215, 95,228,165,155,251,252,202,179,115,254, +120,176,139, 60, 56,130,151, 61,156, 60, 37, 61,155,195,222, 8, 14,143,224,213,207,209,220,125,145,255,242,103,142,233,164,226, +191, 57, 89,177, 62, 93,192,179, 25,156, 63,207, 66,185,147,247, 51, 94,117,118, 10, 31,220,223, 10,196, 84, 11,215, 15, 17,109, +205,180, 25,114, 52,174,121,190,182,188, 60,104,152, 42, 65,237,123, 4,154,181,113,156, 57,120,104,220,182, 40,199, 84,208,170, + 62,251,207, 29,127,147,162,216,212,249,255,218,216, 65,175, 10,211, 54, 31,251,248, 97,163,169,115, 76,241,222, 46,236,142,203, +122,113, 8, 82,114, 84,122, 20,210,154,189,170,162,119, 61,181, 93,100,117,253,201, 9,248,105,102,212,175, 78,184, 59,222, 71, + 72,201,249,252,156,170,105,153,154,142,211, 4, 66, 68,126,161,213,188, 53, 30,100,219,106,138,159,220,173, 39,147,119,233,212, + 32, 29,196, 10, 82, 93,148,252, 85,214,238,200, 30,150, 5,104, 82, 87,176,232, 8,181,163, 75, 3,238,185, 51,110,178,203,194, + 44, 57, 30,237,230, 46,218, 5, 6,109,131, 15,158,196,146,182, 26,229,144, 19, 20,109,221,210,151,204,119, 85, 85,244,235, 37, + 33,121,146,242,248, 24, 24, 15, 6, 56,211,101,177,172, 86, 88,111, 73, 49,147,229, 36,176,234, 87,232,130, 76,207, 26, 40,240, +193,210,199,136, 45,224,175,144, 34, 43,211,179, 87, 55, 80, 43, 46,130,161,173,134,156, 23, 68,110,171, 5, 93,136, 92, 75, 61, + 67,165, 57,214, 48,168, 26,162, 51,172, 83,228,238, 96,135,123,221,140, 93,221,208, 0,139,224,178, 94, 39, 4,214, 66,225,132, +100,238,214, 52, 74, 65,114,204,141, 5, 33,104,125, 98, 34, 68,225,115, 4, 36,138,152, 2, 39, 33, 49,172, 20,115,227,209,165, + 41,233, 93,224,168, 85, 12,148,102, 21, 34, 73, 43,134, 72, 28,112, 60,168,232,188,192, 9,197, 17,145,199,194, 97,199, 5,243, +109, 77,110, 96,253, 21, 6,131,190, 98,125,107,175, 76,178,117,181,117,100,196,144,175,177, 88, 30,126,151,126,119, 7,163, 42, + 23,253, 72, 78, 40,116, 91, 56,210, 79,102,167, 94,215,249,147,145, 5,111, 23, 74,145,222,200,253, 55, 5,168,100,173, 99,220, + 71, 99, 68, 55,157,251,229,136,126,115,106,206, 6,192,253, 86,115, 80, 73, 6, 82,179,171, 96,164, 52, 62,198, 60,194, 41,151, +119,159,114,186,215,133, 15, 12,180,102,183, 82,132, 16, 9,206,208, 42, 77, 42, 59,197,113, 85,115, 98,214, 52, 73,177, 32, 17, + 83,226,220, 71,162,138, 12, 19,184,152,112,192, 48, 38, 42, 20, 49, 70, 98, 76, 24, 18,170, 4, 14, 36, 37, 49, 82,177,142, 9, + 47,193, 75,208, 40,214,222, 49,173, 43,102, 73,176,211,182, 24, 41,168,218,150,144, 34,114, 48,202, 67, 11,145,133, 51,200, 66, + 18, 74,155, 99,153, 36,135, 9,151,179,150,204, 69, 42,219,221, 74,184,203,134,229,185,121,120, 73,145,145,131, 66,228, 3,148, +139, 91, 27, 68, 42,188,104,121,165,160, 95,198, 18,114,169,156,127,233, 75,191,205,111,254,234, 27, 88,159, 48,198, 17, 93,194, +152,140,214, 77, 81, 48, 29, 15, 81, 82, 34, 81,140, 91,141,143, 57, 64,199,135,236,237, 20, 5,214,162,181,100, 84,201,178, 42, + 74,244, 62,251,211, 33,149, 21,126, 22,183, 84, 50,211, 4, 19,153,190,167,138,237,205, 27,207,197,210,176,234, 45,157,179,156, +116, 29,235, 62, 35,132,141,181,216, 34, 44, 75, 49, 11, 26,155, 16,184,241,210, 29,186,221, 17,255,226,255,250, 43,208,240, 51, + 63,191, 79,115,179,225,161,177,124,127,230, 89,107,248,208, 37,218,169, 98, 48, 81,180,131, 38,187, 37, 4,200, 97,197, 7,222, +242, 78,116,252, 69, 35,153,221, 28,179, 35, 4,235,185,207,228, 80, 23, 48,198,225, 59,139,232, 29, 77,163,169, 43,133,174, 43, +164, 86,164,178, 31,139, 2,108, 74,185, 3,137,153,161,160,108, 96, 16,160, 9, 57, 93, 14, 27,144, 49, 80, 9, 73, 43, 4, 35, +169,104,170,124, 48,248,224,201,140,175,127,235, 67, 22, 11,143,136,137,241,168,193,244,134,139,211, 83,158,127,248,152,250,238, + 33,107, 47,169,147, 38, 73,141,241,134,139,222, 49,190,190, 71, 88,246, 16, 61,223,254,230, 3, 88,120, 68, 35,248,204,157, 29, +222,120,241,128,134,187, 93,191, 0, 0, 32, 0, 73, 68, 65, 84,209,181, 1, 95,248,185, 59,252,230, 47,191,201,235, 71, 67,134, +201, 51,214,130,179,148,168, 43, 73,248, 97,143, 59,247,152, 29,201,201,204,241,108,181,224,162,159, 49,115,142,123,114,194, 55, + 58,199,183, 87,142,112,227, 85, 30,174,122, 24, 76, 65,183,188, 60, 30,209, 74,193,247, 47,230,156,186,132,208, 45,236, 28,194, +120,138, 56,190,142,248,165,223,134, 47,124, 1,174, 95,227,159,222,217,231,119,247,107, 34,130,175,158,172, 89, 93,172,115,129, + 57, 62,128,155, 55, 33,141,225,229,207,242,123,199,183, 16,119,238,114, 54,191, 40,137,107, 35, 24,104,118, 39, 19,142,106,205, +194, 69,142, 42,197, 60,194,142,244, 12, 8,236,198,196,158,150, 28,214,130, 51, 23,232, 72,217,218,149, 34,204,215, 96, 75, 84, +102,252, 17,251,233, 31,103, 1,253,248,199,154, 26,244, 0,142,246,225,230, 81,238,164, 7, 99,168,219,203, 17,248, 69,112, 28, +235,138,107, 42,130,235,168,157,225,251, 39,143,120,244,195, 71, 48, 63,207,247,243,176,134,166,229, 77,145,152, 11, 73, 31, 35, +199,209,115, 46, 20,187,193, 48, 77,145, 69,136,156, 44,139,255,248,147, 44,109,151, 24,209, 2,189,145, 37,135, 23, 85,244, 51, +114, 75, 41, 35, 71, 18,231, 17, 48,224, 3, 73, 38, 2,145,117,200,217,235, 43,219,163,164,166,247,166,208, 53, 45, 90, 10,172, +235, 50, 56, 9, 79,103,123, 20, 2, 19, 12, 34,230, 88, 87, 31, 13,117,221,178, 54, 75, 82,140, 24,223,229,251, 58, 37,124,176, + 56,239,113,201,209, 23,226,219,202, 57, 86,166,195, 16,233, 92,207,154,136, 66,210, 71,207,202, 90, 22, 41, 33,163, 96,229,243, + 24,125, 80, 55,116, 54, 79,122,171, 70,115, 97, 35,149,212,172,146,192,104,205, 68,130, 18, 57,175,189, 18,130,101,140, 28,170, +138, 62,197,156,110,167, 52, 30, 65, 39, 53, 22,232,149, 68,232, 26, 39, 20,125, 10, 56,173, 56, 11,145,186,174,120, 28,139,210, + 93,105,206, 80, 56,169, 17,186,162,139,137, 74,107,100,211, 48, 80, 26, 41, 21, 38,229,120,112,173, 21, 90, 85,212, 85, 69, 82, + 16,189,166,170,242,223, 75, 33,242, 60, 93, 9,241,146, 34, 95, 3,133,160,122, 41,204,220,172, 99, 55,190,245,206, 22,213,113, + 17, 51,167,114, 77, 75, 89, 18,255,202,239,233,162,181, 18, 50,231,131,164,242,140,239,186,159, 80, 81,223, 40,218,235,225,182, +216,140,155, 60, 66,175,171, 92,172,140, 47,157,119, 17,107, 85,165,176, 95, 21, 11,144, 50,174,177,239,243, 39,105,182, 97, 48, +243, 32,120,161,150,140,100, 6, 56, 16, 35,141, 84,244, 49, 20,225, 85,182,152, 61,237, 61, 85,157,199,239, 3, 89, 35,131,207, +158,202,152,199, 55, 67, 37, 88, 57,207,173,175, 62,224,244,246, 20, 68,226,129, 11,104, 33,136, 73, 82, 75, 24,132, 92,164,100, +217,177, 8, 41,177, 41, 49,212,249,112,146,164,196, 39, 65, 7, 24,157,139,157,148, 26, 27, 35, 97, 48,160, 82,217,242,229,128, + 65,173, 17, 49, 50, 26, 12, 88,123,143,108,106, 82, 83,109, 71,131,170,236,182, 85,241, 65, 92, 82, 40,227, 54, 70, 53,168, 60, +177,144,234,146, 35,158,105, 68,122, 27, 52,176, 41,212,155,172, 93, 91,156, 4, 50, 94, 9,136,217,180,255, 27, 47,125,238,102, + 94,121,227, 13,222,124,243, 21,186,222, 98,251,128,119,129,126,109, 25,142, 91,130, 73,212, 77,205,164,174,185,190, 55,160,174, +244,101, 67,180,185, 88, 99, 74,200, 4,149, 18, 52, 58, 99,119, 67, 76, 24,159, 21,199,130, 12,116, 80, 50, 83,230,148,206,244, + 57, 17, 83, 22,168,148,233,140,142,145,100, 60, 43,235,112, 46,176,114,158,182,136, 67,102,166, 99,101, 13, 85,240,212, 33,145, + 20,168, 65,205,141,215, 94,226,249,147,231,124,253,171, 15, 80, 93,226,217, 69,199,252, 81,135,185, 8,224, 18,171,161,132, 93, +201, 91,239,244,252,127,125,199,100,209,241, 90,130,131, 70,243, 43, 14, 62, 53,222,225, 83,215, 14,217,215,146, 7,167,115,190, +118,178, 96,120, 52, 36,106, 56,233, 13,231, 93, 30,169, 78, 7,117, 70,186,214, 21, 82,203,140,218, 20,224, 73, 57, 38,213,101, +145,159,179,249, 33, 90,155,136,238, 29,218,120,164,241, 25,125, 27,161, 65,210,232,138,193,160,162,109, 20,111,157, 44,121,248, +151, 15,243,219,227,160,173, 43, 6,195,138,174,179, 68,227,152, 45, 46,120,244,188, 35, 13,224,173,119,223, 99,237, 12,149,206, +235,152,195,187, 71,188,112, 48,228, 83,135, 59,220,251,171, 31,240,248, 91,115,196,163,200,231,126,238,128,189,241,132,167,231, + 75, 94,216,221,229,230,193,117, 6,205,136,215,175,221,224,223,127,225, 21, 94,220,155,242, 95,253,206, 23,185,117,171,165,211, + 75, 94,191, 62,101,181,178,156, 34,153,254,236,231,208, 59,215,185,254,153, 91,248,113, 11,173,198,116,134, 31,222,123, 8,103, +207,192,116,172,237,130,238,244, 25,223,126,250, 4,218,125,120,241, 53,196,203, 47,193,249,138,223,189,251, 10,191,189, 51, 64, + 41,201,195,247, 30,241,215,127,252,255,176,227,134,252,239,127,242, 53,222,255, 55,127, 4, 15,239,193, 7,223,133, 39, 15,225, +241, 83, 24, 78,248,252,157, 99,110, 29, 31,240, 84,142, 56, 25,142,242, 56, 81, 10, 24,143, 56, 84,154, 86,105,116,130, 69,140, +204,186, 53,187, 10,110, 10,193, 68, 72, 38, 90, 49,214, 26,131,231,241, 34, 67,103,152,247,121,199,216,123, 62,121, 41,254,119, +209, 7,105,216,221,133,221,157, 92,204, 15,246,114,119, 62,154, 22, 43,220,230,123,190,175, 30, 44,206,137,235, 5,179,229,140, +239, 63,123,194,119,190,249,126,222,167, 27,123,249,245,220, 29, 12, 49,192,216,173,184,214,182,188,103, 58, 38, 49,235, 71, 30, + 59,199,190,148,188, 62,150,116, 82,179, 58, 93,125,178, 96, 78,136,210,202,216,252, 99,148,121,194,167,171,252, 60, 73,174,164, +124,153, 92, 68, 76,200, 98,229, 77,100, 44,130, 96, 45, 29,129, 36, 96,105, 59,148,136,184, 20,177,222,210, 59,203,194,245,164, + 20, 48,206, 97,189,197, 38, 71, 76,240,193,249, 35,140,239,233, 76,199,217,242,130, 16, 3,115, 51,167,213, 89, 68, 55, 91,207, +145, 66, 49,239, 23,216, 82,208,151,102,141, 11,129,117,244,172,157,199,166,140,141, 62,247,142,189,186,225,190,143, 84, 90,243, +190,144, 28,212, 53, 78, 10,164,172,216, 27, 15, 89, 38,201,220,123,218,170,166, 71,208, 75, 77, 35, 36,170,174,217,209, 53, 21, + 16,148, 68,145, 88,136, 68,171, 43,140, 82,172, 98,164, 43,137,115, 65, 8,134,237,128,170, 4, 81, 5, 85,179,138,138,132,226, + 89, 72, 28,140, 70, 60,240, 18,161,234,236,203,175, 42,246, 70, 3,246,135, 35,166,163,150, 86, 87, 8,169,233,147, 98, 41, 5, +136,138, 97,219, 18, 85, 77, 18,146, 65,213, 96,138, 5, 41, 74,193, 34, 74,106, 37, 89,167,132,212, 13, 73,203, 44,156,214,242, +138, 56, 83,228,203, 51,165,178,103, 87,185, 94,250, 43,161, 64, 27, 16,205,230,251,165,112,165, 60,215, 71,131,124, 16, 24, 15, +243, 97,116, 58,253, 9,193,103,218, 77,151, 46,183,157,186, 13,249,228, 32,203,130,191, 45,187, 3,185, 41, 74,229, 4, 19,202, +206,221,150, 46, 61, 27, 9,183, 88,198,162,146,191,181,215,112,189, 82,236,169,138, 70, 10,132, 84, 68, 18,163, 74, 97, 98,202, +136,209, 4, 81, 9, 92, 72,200,148,176,214,100, 75, 81,132,206, 90, 70, 74,211,165,196,218, 58,254,249,241,148, 95,208,154, 83, +107,217,169,242,233,110, 82,105, 22, 73,208,200,204, 20, 94, 23,161, 22, 54,135,199, 40,221,208,199, 98, 37,168,170,156,199,142, +196,107, 77,165, 52, 15,173,167,213, 53, 74,231,155,108,169, 51,112, 66, 21, 47,207, 88, 43,218,182, 65, 43,133,241,101,191,151, +194, 21,107, 91,121,253, 54,184,216,164, 41,225,184,133,243,190, 73,228, 17, 91,202, 80, 74,249, 66,216,172, 60, 76, 1,102,184, + 50,206, 55, 87, 64, 5,206,110,109,118, 73, 92, 62, 48,126,237, 55,126,141, 91, 47, 94,231,244,100,133, 53,174, 12, 0, 36,135, +187, 59, 84, 72,170,170, 66, 42,193,241, 94,139, 86, 42,199,224, 74,177, 9,222, 3, 1,109,165,168,107,133,146, 89, 33,103, 67, + 86,150,250, 13,127, 64,230,112, 23,165,179,157, 77, 36, 72, 62, 18,173,203, 29,108,130, 36,242, 65,224, 98,237,104, 98,194,164, +192,220, 24, 22,235,158, 89,103, 50,198, 23, 88,120,143,175, 5,131,189, 29,118,111, 30,241,189, 63,253, 38, 60, 49, 92,219,211, + 60, 63,241,176,220,172, 54,128,219, 45,175,189,113,141,120,183,230,248,238,132,111,181,146,217, 78,195,123,181,230, 94,114, 44, +136,236,118, 61,215,214,142, 55,215,158, 21,137, 46, 6,206,231, 29,170,213, 84,149, 66, 41,197,100, 80,163,155, 10, 93,105,146, +146, 89,140,227, 3,193, 7,156,245,244,107,139, 95,187, 60,233,176, 17,209,123,228,202, 94, 22,117,233, 98,222,183,105, 69,213, +214, 84,163, 6, 89, 73,190,119,190,226,247,133,226, 78,210,188,123,209, 33, 85, 62, 52,121, 27,152, 45, 45,122,103,151,207,238, + 13, 8,195,150,119,238, 61, 99,103,178,195,171, 47,189,198,139,215,110, 48,104, 36, 39,193,243,205,127,253, 45,222,126,126,193, +108, 79,193, 99,207,123, 99,203,237,151,174,115,182,187,207,129, 89,242,103,127,241,109,158,199, 14,221,140,152, 12, 71,188,127, +246,156,217,233,156,221,221, 3,238,254,193,239, 48,112, 2, 87, 89,174,255,234, 63,226,181, 95,124,157, 95,249,244,173,156,108, + 54,106, 8,179, 57, 95, 60,108,248, 63,254,232,203,112,255, 1, 60, 63,103, 33, 60,143,134, 7,252,199, 95,252, 18,255,225, 23, +127,142,191,220,157, 98, 3,136,199,207,248,244,160,101, 80,105,212,108,198,219, 31,190, 3,207,239,243,245,175,124,133,103,223, +254,183,240,193,135,112,239,125,184,127, 31,222,125, 7, 30,124, 8,181,231,129,209,160, 42,254,218, 3,178,134,106, 0, 50,128, + 51,204,164, 96, 12,116,193, 97,189,199,132,192,126,138, 52,193, 51,208,154,186, 76,138,130, 49,188,179, 48,136,101,135,176,203, +156, 29, 16,255,129, 5,189,157,192,116, 7,142,142,224,112, 15,118,167, 57, 17,174,170,243,189,169,212,118,146,232,201, 35,254, +245,138,116,118,206,179, 39,167, 60,252,225, 3, 78,159, 62,207,113,198,155, 78,123, 52,229,238,141,125,166,193,177, 55, 28,240, +204, 89,172,115,104, 33, 24, 9,120,102,122,106, 33, 24, 70,199,189,222,179,114, 14, 35,225,165, 95,124,147,139,247,239,127, 66, + 72, 83, 4,217,148,117, 93, 68,196, 10,145, 28,162, 82,136,122,128,232, 3,162,213, 8, 41,179,218, 60, 8,132, 22,136, 68, 62, +100,134,128, 8, 1,239, 3, 54, 58, 58, 18, 43,223, 97,188, 35, 68,143, 18,146, 69,183,196,147, 29, 42,243,245,146,181,239, 49, +222,240,116,181, 98,110, 12, 51,219,241,112,117,206, 78,221,242,108,118, 74, 76, 1, 37, 4, 15,206, 79, 25, 85, 13, 11,211,179, + 48, 29, 11,235,152,185,158,153, 49,184, 36,120,152, 34, 70, 86,236, 53, 19,118,171, 1,175,238, 29,209,161, 57, 26, 14,249,161, +210,200,186,197, 70,152, 69, 65,211,180,120,161, 89, 8,205,209,112,196,181,166,230,238,206, 4, 89, 85,172, 82, 98,183,105, 72, +229,223, 51, 49,160,149, 98, 17, 3, 81,215,204,137, 56,169, 56, 24,142, 25,214, 53,149,168,104,155, 33,171, 24, 89,196,196,185, +174, 24, 75,201, 7,214, 51,210,154,147, 20,177,186,230,184,170, 57,108,235,204, 50,145, 85, 78,252,211,154,251, 33,224, 84,197, +169,170,168, 18, 8,149, 1, 72,125,146, 76,235, 1,231, 36, 90, 33,137, 90, 51,208, 21,161,110,242,189,228, 2, 76, 38,249, 61, +171, 84,169,119, 5, 76,227,227, 86, 72,157,210,150,105,210,151,131,217,198,158,188, 73,120,187,244,176,151,213, 74,219, 20, 65, + 83,147,107,234,112,248, 19, 40,234,149,206,212, 56, 89,216,180,155,136,186, 90,230,177,252, 64,103,146,220,160, 64, 79,122, 83, +186, 75,185,245, 91,127,100,180, 84,124,236,155,110,176,213, 4,155,184,211, 84, 52, 82,102,177,130,148, 52, 72,156,204, 78,176, + 70, 72, 66, 74,172, 66, 98,230, 3, 35, 1, 71,131, 33, 51,231, 88, 24,203, 81, 51,224,162,239,105,165,100,208,182,124, 38,101, + 11,146,214, 21, 54, 5,166,186, 97,149, 18, 90, 43,214, 33, 17, 93, 96,168, 4,201,120,124, 85, 80,130,189,161,105,106,170,166, + 37,166,128, 67, 32,154, 6, 23, 28, 23, 49,113,125,178,203,179,181,161,214, 21, 85, 57, 13,207, 75, 64,140, 75,129, 90,215, 56, +235, 72, 8,140, 42,106, 8, 31,182,150, 62, 45,182,157,123,173,182,142, 0,138,143,189, 45,147,144,226,223,207,227,151,114,112, + 74,177, 0,108,202, 9, 14, 87,224, 4, 27, 95,100, 25,213,139, 34, 79, 23,197,211, 24, 2,191,243,207,254,128,241,116,200,217, +243, 25,198,250, 34, 66,203,118,172,182,105, 24,181, 21,215, 38, 67,246,134, 21, 82, 40, 72,121,114,145, 16,217,171, 94,176,139, +147,129,190,196, 97,251,148,215, 26, 41,165,252, 22, 42, 65,173, 36, 18,121,137,171, 36, 68,116, 17, 68,198, 16, 49, 9, 86,214, +179,232, 44,117, 8,244, 93, 46,232,115,103,241,206,161, 73, 44,100,226, 73,231,105,106,201,241,222, 62,231,167,103,252,203,255, +241, 93,150, 83,120, 98, 34,141,137, 12, 10, 96,139, 62,194, 58, 48,184,213,240,250,193, 46,135, 77, 11, 66,112, 56,157, 48, 29, +143,184,243,234,235,196,227,107, 60,105, 27,222,183,134,209,254, 14,225,238, 62,119,111,239,113,112, 52,101, 48,108, 80, 82,178, + 51,106,208, 77,141,174, 20, 66,231,208, 26,159, 34,174,115,196,149, 37,174, 12,126,222,145,150, 6,107, 60, 51,239, 48,107,143, +180, 17, 21, 2,202,165, 12,179, 16,217,242, 71,163,145,173,102, 69,228,222,202,113,227,133, 9,213,237, 9,103,227,134,106, 82, +227, 67,226,230,235, 59,124,246,223,125,129, 63,252,252, 29, 94,121,237, 24,127,180,135,221,191,193,209, 11,183,248,210,231,110, +241, 75, 47,237,243, 76,104, 46,230, 11,222,249,193, 61,186,241,132,223,250,167,191,129,255,212, 46,253,222, 46,255,253, 43, 47, +240,250,193,148,231,159,122,137,119, 30,126,192, 95,255,223,143,184,111,159,177,236, 79, 89,137,200,159,127,233, 55,105, 63,117, + 11, 53,172,241,175,221,193,188,241, 6,135, 55,247,249,229, 91, 83, 94,155, 84,164,139, 37,255,203,255,240, 63, 51,121,248,136, +201,206, 17,235,135,239,240,224, 7, 79,224,198, 62,124,246,243,252,225,175,254, 10,255,197, 63,186,195,167, 38, 21,223,123,239, +140, 15,254,237, 55,225,222,183,248,225,122, 78, 67,205,215, 58,135, 9, 1, 49,154, 66, 43,243, 14,127,181,248,168,122,222, 89, +196,253,251,136,217, 41, 23,201, 49,244,129,107, 90, 82,251, 14, 84,141, 75, 57,186,249, 52, 70,186, 16,208, 49,210,117, 6,133, +103, 95,101, 65,146,117, 54,243,199,173,227,195,139, 53,110,113,145,149,236, 49,254,195,176,182, 59, 59,176, 59,229,238, 43,183, +217,191,126,157, 52, 26, 97, 54,177,152,226,138,208, 53,138, 18, 4,211,193,249, 2,158,156,192,249, 9,204,231,217,131,255,241, + 17,190,247,204,116,195,206,160,166,149, 10, 3, 88,103,216,197,243, 36, 36,174, 87,154, 41,145,115,107, 57,104, 53,149,245,156, +173, 58,226,176,198,232, 17, 92,156,255,205,102, 93, 74, 68,242, 8,106,132,220, 88, 85,213,150,113, 81,235,252,241,148,138,147, + 74, 34, 76,143,208, 10, 17, 74, 81, 71, 32,156, 71, 24, 79,212,255, 63,105,111,246,107,105,118,158,247,253,214,248, 13,123, 56, +243,169, 83, 85, 93, 93, 93,172,174,158, 56,153, 45,137, 10, 41, 51,178, 33,193,130, 36, 35,145, 97,192,210,133, 12, 36,200,159, +146,155,228, 46,119, 9,144, 32, 72,174,236, 4, 50, 34, 40,242,144, 72,182,168, 33, 20,105, 81,162, 68,145,236,185,217,213, 93, +243,169, 51,236,233,155,214,148,139,245,157, 58, 69,138,162,100,251, 0,141, 70, 55,186,107,239,179,135,245,190,235,125,159,231, +249, 9,252,186,167, 75,145,158,192,178,239, 88,199,129,197,208,240,120,185,100, 29, 7, 78,251, 53,139,211, 5, 67, 18,244,109, + 79,127,182, 33,124,252,132,199,143, 31,211,214, 5,235, 97,224,254, 98,201,188, 40,120,176, 94, 48,196,200,241,224,120,216, 14, +156,119,129,141,146,172,148, 38,152, 10,165, 43,190, 48,219,195,214, 51,122,169,216,155,206,241,170,192,235,130,199, 33, 81, 84, + 53, 66,107, 30,247, 29,167,194,176, 37,224,106, 89,241,210,116, 66,101,242, 69,170, 46, 74, 58,151,215,114, 46, 69, 74, 41, 51, +162, 59,193,134,200,160, 13,115, 99,159, 89,248,148, 49,164,148, 24,132,160, 11, 18,133,224, 81, 74, 76,164, 98,153, 18,103,202, +160, 99,224,192,150,204,170, 10, 63,154,219,210,200,182, 40,147,226,254,152, 26,249, 24,201, 92,192,169,208, 76, 77, 73,212,138, + 90, 91,162, 52,204,109,201, 32, 52, 93, 20, 76,116,137, 85, 2, 35, 21,190, 40, 17, 66,147,252,144,207,237, 62, 60,103, 87, 22, +151,235, 81, 57, 94,116,195,184,254,185, 72,103, 29, 87,121, 25, 42,147,158,241,211,233,250, 49, 42, 88,193,164,248, 17, 66,185, + 11,203, 68,248, 49, 66,141,231, 23,253, 33, 94,230,209,198,209,195,105,213,248,224, 64, 61, 25,159,116, 28,119,228,234,178, 51, + 49,227, 46,193,143, 41,107, 23,202,213, 66,231,241,124,140,208, 12,212,219, 5, 49, 4,202,162,192,142, 35,185,141,136,153,181, +173, 52, 33, 4,124,138,148, 35, 23,253,220,123,226, 38,113,213, 26,122,163,184,223, 52, 92, 43, 13, 78, 66,215, 52,217,163,143, + 68,141,120,155, 53, 1,161, 20, 93,204,106, 72, 10, 69,179,118, 56,171,168,186,142, 6,216,169,106,150, 67,207, 68,102,155,158, +181, 10, 57,120,142,173,196, 72, 75,231, 58,174,204,107,150,173,103, 9,180, 74, 82,203,188,195,201,147, 9,143, 49,138, 74,192, + 12,203, 61, 95,228,219,132, 43, 51,129,169, 24, 45, 11,197,197,222,123, 28,193, 91,147,247, 99,155, 54, 91, 4,149,189,108,128, +226, 56,126,187,236, 0,198, 46,126,180, 21,170,254,185,200,247,113,255,166,100,110, 0,100,238, 0,165, 54,212,165,193,150, 5, +206, 53, 12, 33,210,119, 13,222, 11,246,111, 79,241, 33, 17,197, 40, 16,148,163,109, 45,137,156,229, 78, 78,111,138, 49, 71,196, + 94,172,137,196, 24,177,120, 17, 56, 18,158, 77, 13,199,226, 54,138,221, 32,162,165,192, 27,149,227, 98, 35,249,182,236,125,238, +234,157,207,116, 52, 45,104,122,207,208,123,102,209, 83,171, 18,167,224,183,126,239,109,184, 62, 82,186,250, 72,159, 18,189,146, +212, 34,177,159,224,245,168, 88,252,155,167, 60,184,125, 78,115, 84,115, 62,209,220,222,154,115,104,167,108, 25,139,173, 42,142, +174,237,211, 41,193,244,234, 22,187, 19,203,238,188,162,117,158,224, 19, 58,197,188,222, 82, 57,137, 42,250,172,234,239, 58,143, +223,244,132,243, 6,183,106, 9,231, 93, 14,242, 16,153,210,244, 84,104, 90,155,113,141,170,200,116, 41,161,198, 23,164,243,180, + 70, 50, 36,201, 79,207, 74,254,197,147, 13,167,107,207,237,195, 57,183,141,224,177,145, 92,157, 27, 10,169, 57,237, 60, 79,124, +226,113, 18,232, 74, 17, 62, 94,242,218, 43, 87,216,149,154, 7,149,226, 65,167,249,142, 87, 60, 57, 59,165,251,246,135,184,193, +243,107,175,189,194,230, 51, 91, 20,127,244, 93,222,191,255,152, 95,249,213, 95,230,119,204,255, 67,247,203,255,152,111, 61, 56, + 97,251, 11,159,226, 5, 35, 48,117,102,220,171, 62,112, 48, 51,124,244,212,241,251,159,172, 49,181,160,148,112,171,168,232,154, +158,170,180,188,250,226,171,124,237,168,131,207,253, 4, 92,187,193,111,173,122,190,240,237, 7,124,252,209, 61,190,250,141, 63, + 64,188,245, 33,105,113, 6,243, 45,190,254,218, 9,236, 94,131,249, 30,136, 9,226,232, 54, 76,102,164,191, 0,158,220,191, 44, +182,133, 37,109, 29,192,222,156,157,232, 56,220,156,113, 93, 12, 28, 39,193,188,208,252,222, 96,115,115, 58, 56,218,206,115,191, +235,192, 37, 78, 54, 17, 49,145,188, 94, 22, 20, 50,127,250,223, 93,173,105, 78, 79,114, 24,199, 15,121,226,255, 86, 22,187,194, +230,209,250,209, 21,174, 95, 59, 98, 94, 84,188, 52,219, 70, 73,195, 7,205,146,191,236,154, 49, 23,194,141, 65, 89,125, 46,232, + 79, 22,176,218, 60, 83,254,255,181, 63, 41, 66,223,241,193,202, 48, 0,243,233, 20, 33, 18,203, 0,187, 42,210, 12, 29, 70, 23, +148, 69,129,118, 29,239,133, 0,147,146,229,119, 63,204,254,245,209,238, 36, 46,206, 93,123,121,108,139, 64, 22,202,217, 81, 51, +163,244, 88, 27,100, 22, 46, 63,107, 44, 58, 64, 34,214, 93,118,202,248, 46,143,110,209, 48, 47,225,120, 1,147,154,212,247,184, +145, 50,150,146,200,254,105,171, 25, 78, 61, 41,102, 49,150, 96,153, 85,247,139,243,188,167,247,158,230,207,207,104,182,247, 96, + 94,179,120,188,130,249, 4,140,203, 83,179,114,108, 54,172, 1, 85,242, 70, 57,227,139,135, 7,232, 50, 43,253,159, 58,201,147, + 20, 81,198, 64,211, 82, 87, 51, 30,187, 22,133, 34, 20, 19, 8, 3, 94,104,142, 38,134,165,207, 72, 85, 77, 36,197,108,185,117, + 73, 97,147, 35,197, 64, 45, 37, 70, 74, 66,244, 20, 72,132,200,185,246, 3, 9, 31, 3, 86, 42,246,100,129, 65,240, 81,227,216, + 37, 67,112,172,148,196,224,169,139, 2,157,160,247, 30,173, 84, 94,112, 40, 77,240, 30,161, 5, 97, 32, 51,214,129,119, 82,100, + 27, 48, 90,179,173, 20, 66, 42,100,130, 38,122,118,202, 2,161, 13, 11, 55, 80,150, 59, 48,244, 76,221, 64,168, 21, 46, 57,220, +217, 41,241, 98,172,126,177,197,121,150,221,226,243,100, 85, 91, 88,119, 80,155,108,143, 30, 5,186,153,246, 57,134,142,197,144, +111,235,253,144,255,157, 16, 63,116, 83, 47,198,253,204,133, 2, 42,134, 31,159,237, 30,227, 24,214,160,242,200, 76,219,203,226, + 93,154,252, 38, 22,118,140, 36, 29,201,100, 70, 94,198,221,121,127, 73, 29,187, 16,210,149,227, 23,172, 52,249, 3, 17, 3,141, + 84, 28,213,134,235,117,222,111, 12,249,227,137, 85, 26, 41, 4, 67,140,204,140,101, 17, 2,143,250,129,137, 50,184,193, 83, 90, +133, 1,134,224,113, 62,142, 35, 19, 16,163, 13,162, 77,144,164,200, 65, 41, 49, 82, 22, 5,231,206,161, 98, 96, 45,198,238, 47, + 74,210, 40,244, 48, 73, 32,173, 33,218, 12, 80, 88, 43,141, 87,154,101, 31, 16,202,176,244,145, 82,105, 22,163,173,192, 9, 80, + 34, 97,133, 38,198,200,148,200,126, 97,232, 99,228, 70, 33, 89,123,184, 54, 55, 44,252,184, 87, 49, 69,126,205,211, 5, 8, 96, +228, 61,219, 2, 98,159, 85,193, 50, 93,134,244,168,209,187,142, 24, 51,244,229,101,166,188,240, 16,117, 94,105,164, 52,222,210, + 71,167,129, 22,207,156, 8,255,248,159,254, 23, 12,222,179, 90,118,128, 96,107,107,130,182, 5, 90,105, 68,202,227,187,137, 45, +217,223,158, 80, 24, 3, 40,204, 40,120, 19, 36,196,184, 47, 55, 58,135, 88, 36,192,143, 52, 54, 57, 42,222,165,202,169,124, 82, +228, 36, 57,141, 64,250,128, 28,124, 30, 63,197,113,229, 50, 56, 54,103, 13,195,186,161, 89,119,104, 63, 32, 99, 34,117, 14,239, + 50,208,165,176,134,195,195,109, 78,151, 11,190,246,135, 79, 71,229,232,152,214,151, 98,230,103, 55,129, 69, 72,124, 52, 36, 62, +155, 36,111,244,146, 79,249,196,108,227,136,235, 13,199, 97,197,251,199, 79, 40,148,197,163,168,102, 5, 7, 91, 37,193, 74, 86, +157,227,100,209,177,233, 28, 69, 8,204, 71, 11, 97, 24, 60,125, 63,176, 90, 15, 52,171,142,245,241,154,254,100,195,234,201,138, +205,249,154,184, 25, 80,157, 71,251, 72,223,123,150, 74, 83, 86,134,114, 98, 81,181, 33, 21,138, 88, 72,156, 20, 44,181,226, 79, + 31,119, 60, 58, 93,227,155,129,147,143, 22, 28,157,183, 44,134,196,199,117,193, 50, 65,209, 58,110,198,192, 31, 55,158,150,200, +102, 24,248,179,251,107, 14,118,106,206,159,182,124,175, 13,116,198,112,243,133, 43,188,118,235, 26,119, 23, 3,183,203, 9,127, +119,119,194, 55, 79, 26,126,251,172,229,219, 31, 63, 96,239,214, 45,236,207,254, 44,211,237,146,159,120,229,144,151, 42,205,237, +185,161, 52, 18,221, 5,132, 15,252,230,127,255, 63,243,254,255,254,239, 40,223,124,131, 23,125,196, 8,201,222,203,183, 25, 40, + 57, 57, 94,114, 79,150,184,107, 55, 88, 40,141,120,112, 23,222,251, 14,127,242,173,111,242,239,191,241, 53,120,235, 61,232,187, + 92,112,250, 13,220,191, 15, 67,139,152,150,136,233, 54,162, 40, 97,235, 8,113,116,132, 40, 4, 98,136,136, 43,215, 16, 47,221, +130,163, 35,196,214, 54,251,229,156,219,211, 25, 34, 70, 14, 38, 5,195,232,120, 57,189,136, 80,245, 62, 31, 90,237, 0, 9, 30, +111, 6, 94,180,128,115,188,127,186,224, 27,143, 22, 99,196,178,255, 43,226,178,191,241,198,110, 44, 76,199,189,249,124,202, 11, + 59, 7,124,250,240,136,169, 45, 16, 70, 50, 23,134,123,174,103,240, 29,172,155,204, 49,127,122,158, 85,237,205, 58,143,217,255, + 54, 28,140, 32, 73, 74,115,115,103,134,240,158, 46,146,209,171, 2, 74,109, 9,222,115,104, 60,223,216, 12,132, 16, 97,213,102, + 43, 92,159,109,174,194, 94, 68, 55, 22, 16, 37,162, 48, 8,165,161, 40, 17,133, 69, 76, 42,132, 80,200,210,230,219,120,204,107, + 68,145, 98,182,130, 42,131, 8, 14,169, 12,194,245,185,225, 30,134,252, 29,238, 6,196,102,200, 24,212, 38, 34, 86, 77,190,201, +175, 55,136,193,195,166, 69,156,158,229,191, 55, 61, 98, 61,254,222,189, 3, 53,142,251,117,157,181, 82,166,132,157,233, 24, 40, +118, 33, 16,172,242,164,177,172,184, 53,219,230, 43,123,115, 76, 97,217, 41, 70,124,110, 18, 60,118,129,101, 28, 56, 13,137,117, +200,122,171,228,134,103,231,219,171, 90, 81, 68,129, 45, 50, 53, 51,166,200,150, 86, 68,159, 11,160,140,158, 73,138, 20, 74,178, +114, 61,101, 18, 88,149,107,203, 38, 6, 80, 22, 73,194, 74,131, 78, 33,143,223,125, 36, 42, 69, 76, 89, 56, 56,144,216, 33,178, + 91, 25,132, 72,104,161, 81, 66,228,210,229, 19, 90, 37, 62,232, 29, 33,196, 44, 10,148, 10, 33, 36, 47,149, 37, 9,112, 49, 18, +165,196,142,154, 42,167, 12,171, 20,113, 72,138, 20,145, 9,250,232,169,149,193,248, 1, 69, 98, 75, 68,194,168,119,146, 74,230, +193,181, 20,185, 14,111,150,227,216,113, 76,165, 51,230, 50,247,196,152, 92, 7,244,232,131, 23,227,133,109, 24,158, 43,234, 90, +143, 51,252,231,162, 37,148,248,155, 35, 11,165,204, 99,224,194, 94,142,127, 43,123,201, 12,103,140,109, 92,143,193, 15, 73,102, + 53,230,197,152,232, 34,194, 34,230,113, 27,117, 49, 62, 65,149, 71,105,227,174,254,213,210, 48,173, 42,144, 18, 35, 50, 47,216, +201,156, 57,174,148,166, 13,142, 90,105,254,112,209,210,118,142,235,181,230, 60,120,116,128, 74, 74,218,222,129,200,145,156,143, +219,129, 82,231, 78,103,209, 57,148,209,217,182, 16, 19,149, 82, 56, 4,201, 5,246, 73,156,105, 73,236,122,124,140,172, 72, 20, + 36,144, 26, 95, 85, 56,239, 40,116, 65,135,162, 75,153,108,118, 38,192,167,144,149,222, 33, 3, 51,134, 20, 40,165, 98,187, 16, +180,189,163, 82,145,160, 4,123, 82,240,184,201, 98,191,225,162, 75, 75, 33,107, 20,194, 40,124,209, 58, 31, 86, 23,175,101, 84, +185, 99,144,207, 29, 89, 23,169,115,105, 76,123, 9,227,205, 93,143,111,188, 26, 95,227,174,203, 77,216, 56, 97, 81, 63,249,101, +126,233, 75,159, 97,213,246, 44,158, 46, 73,200,188,186, 81,153,133,190,183, 51,165,180, 5,243, 89,193,188, 42,145,163,210, 84, + 34, 32,141,164, 35,149, 85,168, 86,103,113,136, 72, 41, 7,173,140,141, 68, 26,189,155, 82,200, 49,152, 38,131, 10, 98,200,196, +187, 97,240,153,130,231, 2,237,224, 56, 61,223,176,105, 58,220,224,113, 62,143, 87,205,248,103,201, 4,251,123, 83,138,157, 45, +254,240,123, 31, 51, 91,123,206, 69,204, 13, 99, 28, 87, 16,110, 20,107,142,222,240,247, 8,124,107,136,148, 7,138, 67,171,248, +194, 65,197,203,147, 25,135, 9, 68,116, 68, 31,112, 62,225, 18,172,218,129,229,170,101,209,244,136,224,217, 45, 12,211, 50,231, + 27,120,151,247,231, 67,215,211, 54, 61, 67,219,179, 92, 54, 60, 89, 55, 44,186, 30, 98,196, 36,129, 34,145, 72,180, 49,145,148, +194,100, 3, 63,201, 72, 82,169,112,243,130,149, 86,188, 88,192, 23,107,195,225,142,229,212, 42,238, 46, 7, 78, 14, 39,204, 39, +150,193, 7,134,179,142,173, 39, 75,222, 30, 9, 78,201,193,103,125,224,231,118, 43, 30,118, 29, 77, 10,236,213, 5,213,149, 57, +219,251,115,234,170,230,211, 51,195,235,237,192,187,239,221,229,119, 99,201,245,175,124,133,151,175,237,179,175, 4, 7, 90,112, + 85,195, 47, 76, 5,247,158,174,184,251,135,111,243,245,255,237,255,228,247,255,135,127,203,209, 52, 81, 87,146, 15,255,199,175, + 82,117, 31, 49,125,245, 53,206,128,191, 76, 80, 29,204,120,241,149, 67,142,136,124,251,155,127, 8,127,241, 29,120,114, 31,119, +255, 62,226,116,253, 3, 80,160,252,201,144,136,197, 89,222,111,207, 10,196,214, 17,170, 40,249, 71, 55, 95,224,239,221,121,157, +171,135,215,120,239,251,119, 17, 33,241,147, 71, 59, 28, 23, 91, 28,104,205,142, 18, 24, 99,209, 41,175,116,154,224, 56, 30, 28, +196, 1, 81, 76, 16, 59,219,121,106,178, 92, 34,218,200,251,167, 75,222,122,248,148,251,103, 27, 68,212,136, 43,123,136,214,255, + 64,244,241,143, 23,194,217, 44,130,187,114, 0, 71,251,176,181, 13, 69,137,179, 83,238,204,166, 40,173, 48, 82,161, 8,232,190, +225,254,201, 73, 46,226,143,206, 96,125, 14, 87,175,194,147,167, 63,158,140, 88,215,207,133,130, 36,152, 84, 60,238, 61,135,211, +154, 46, 69, 62, 51,181, 60,241, 16,195,192, 65, 33,121,212,229,203,195,208,182,163,104, 42, 55,240, 66,171,204,105, 40,107, 68, + 85, 32,172,201,227,244,249, 12,153, 4,162,178,200, 20, 17, 69, 46, 92, 66, 8,132,136, 72, 45,145,214, 34, 92, 14, 45, 82, 49, + 34,147,207,134,164, 4, 50, 70,228,186, 65,246,153,167, 32,124, 64,182, 77, 46,238,155, 14,209,118,185,240, 55,185,105, 19, 62, + 32,100, 1, 87,174,114,227,104,135,163,107,123, 28,237,205, 41,107,195, 82, 87,136,178, 64,236, 76, 17, 91,219,168,249,156,106, +107,155, 80, 22,164,162,120,246,154,191, 86, 88, 14, 38, 53, 82, 42,134,144,198,115, 56,129, 75,156,134,200,189,161,203,151, 62, + 55, 18,244,136,144, 2,109,130, 59,181, 65,199,156, 24, 90, 8, 40, 83,196,117, 13,237,208, 97, 99, 64,165,196,208,247,204,132, +160, 0,108,244, 84, 66, 50,144, 24,162,103,199, 88,124, 12, 56, 33,184,219, 39,206,156,199,227, 51,161, 14,232, 7,199, 3,239, +216, 79,145, 93,107, 41,165, 70,166,152, 97, 48, 4,158,180, 3,167,206,225, 66, 32, 41,137, 82,154, 47, 84, 21, 37, 89,255, 85, +168,156,216, 87, 22, 19, 42,169, 24,156, 67,217, 60,105,216,160,152, 25,141,140, 48,179, 53, 41,180, 28,136, 64,109, 21,251,165, +101,207, 74,162, 80,244, 62,145,252,152, 65,146,252,152,210, 55,214, 70,173, 70,173, 90,186,140, 10, 30, 70,132,112, 14,236,135, +162,120,174,168, 95, 40,238,210,115,217, 80, 63,142,109,252,188, 5, 68,141,183,113,165, 47, 11,186, 85,227, 19, 10,121,167, 22, +195,229,168,190, 40,176, 55,174, 19, 86,203, 17, 88,114,193, 88, 38, 63,190, 26, 21,219, 77,151,159, 71, 81,112,125,103, 70,141, + 96, 90,228, 49, 85, 31, 7, 10, 12, 46, 69,172, 22, 88, 20,143,188,195,137,192,227, 33, 98,100,226, 69, 85,176,118,158, 46, 4, +172, 16, 8,149,133, 86, 59,133, 97, 25, 2,141, 11,204,166, 85,142,241, 84,138, 66, 10, 54, 41,209,135, 64, 73,162,213, 2,235, + 3,105,200,183, 92,149, 2, 58, 10,158, 36, 79, 82, 2,165, 13, 31,244, 30, 33, 21, 15,135,158, 94, 41,206,164,204,190, 71,160, + 25,195, 86,124, 76, 28,105,141, 78, 17, 37, 34, 69, 76,148,192, 58, 69,174, 25,197, 11,219, 53,247,125, 34,117, 67, 46,196, 23, + 54,136,139,244, 33,153, 35, 31,145, 41, 23,118,105,242,107, 27,199, 27,119, 26,111,235, 23, 35,246, 36,126, 16,109, 43,121, 6, +202,201, 34,186,252, 33,124,253,211,175,241,147, 95,184,195,211, 39, 27,154, 77,135, 82,138,174,113,184,198,209,181,158,201,180, +230,214,254, 22,187,149,165, 48, 38, 55, 42, 58,119,174, 81, 36,122, 23,241, 49, 97, 20,148, 54,243,212, 99, 74, 12, 99,164,156, + 18,185, 24,199,139, 29,224, 40,242,115, 62,211,152, 92, 12, 52,206,103,158,186,143,244, 93,207,226,188,165, 25, 28, 68,207,224, + 60, 93, 55,228,141,142,200, 1, 14,251,187,219,172,207, 23,220,251,131, 39,168, 82,112,220,197, 60,141,136, 2,218,231,242,236, +159,159,187,238, 42,238, 29, 89,222, 42, 4,195, 78,201, 83, 1,167, 34, 51,220, 85,240, 20,194,160,133,162, 64, 96, 84,166, 85, + 29,108, 85,236,110,215, 20,165,205, 72,202, 68,166,170,141,152,198,204,216,137,156,183, 89,205,155, 4,168,148, 70, 68,120,110, + 98,156,148, 56,161, 8, 42,191, 15,186,208, 24, 37, 41,140, 96, 57,102,227,123,145,216, 19,137, 15,143, 55,188,110, 3,219, 49, +208, 5,136, 66,176, 16, 18,171, 4,125, 76, 92, 73,240,138, 17,184,110,224,107, 70, 49, 49,134, 55, 15, 74, 14, 38, 26, 81, 20, + 76,247,167,124,254,250, 14,179,171, 51,222,155,238,243,237,233, 54,147,189, 9,159,214,137,185, 27, 48,109, 71,179,110,120,122, +182, 70, 60, 94,112,179, 86,184,205,154,117,179,102,209, 4, 78,222, 31, 16,175, 78,248,169,191,115, 19,117,125,143, 43, 47, 31, + 32,164,224,222,247,143,249,232,253, 7,156, 63,124, 72,124,248, 33,203, 7,199,136,126,200, 99,217, 8,130,248, 67,240, 22, 63, +202, 54, 92, 46, 10,201,129,173,249,197, 59, 55,216,169, 11,254,217,160,240,135, 87, 16,187,219, 60,146, 5,164, 64, 37, 13, 83, +109,184, 58, 41, 41, 68,164, 16, 1,209, 59, 62,218,172, 16,218, 34,182,246, 96,114,128,216,158,163,106, 11, 50, 33,154, 11,128, +209,152,203,208,244,192,128,248, 17,103,150,184,208,254, 76, 39, 57,218,245,224, 16, 14,247,178, 77,109,103, 43,219,211,138, 18, +180,166, 87,150, 79, 9,137,148,121,122, 38, 82,226,244,252,152,251, 79, 78,224,238,147, 28,158,227, 60,156,158,253,248,130,190, +189,199,252,179, 47,209, 47, 54,121,202,160, 68,214,121,204, 38, 68,149, 49,167, 31,246, 3, 3,217,122, 26, 19,156,247, 61,125, + 31, 16,198, 16,156, 3, 23, 16, 86,231,255,183,158, 34,234, 18, 68, 68,212,249,134,107, 10,139,157, 90,180, 15,204, 39, 37, 59, + 66, 80, 72,197, 16, 3, 90, 10,132,144,200,110,200, 43,175, 24, 81,147, 2, 57,228,226,167, 0,213, 69, 84,148, 40, 76,182,173, +186,132,114, 9,233, 61, 50,133, 92,244,131, 64, 42,141, 40, 45, 98,178,141,216,218, 98,111, 86,240, 51,219, 21,183,108,193,157, +121, 77, 97, 44,161, 44, 56,223,223,167,158,239,176, 85, 87,236, 84, 53, 62,121,164, 52,227,170, 77,160,132,230,166,209,236, 21, + 38,163,175,147, 64,132, 72,146,146,227,182,227, 27,235, 53, 41, 14,224,218,172, 77,232, 86, 99,124,238, 64, 43, 18, 47, 6,207, +158, 86, 36,223, 81,199,132,107,214, 44,134,142,171, 41,103, 59,216,152, 87,176,132, 76,127, 44, 0,235, 7,180,202,142,149, 97, + 20, 94,159,196,200,159,175,215, 52, 82,147,146,224, 65,223, 81,168,130,227, 24,242, 20,163,239,216,150, 17,225, 29, 49, 56,226, +208,211,224,249,214,217,146,110,252,188, 79,149, 66, 1,187, 66, 81, 26,149,203,154,212, 8, 33, 33,120,130,174,208, 35,108,204, +105,139,141,142,101, 20, 76,132, 64,132,129,153, 45,136,110,160, 84,144,198,122, 87, 40, 40,149,196,106, 73,144,138, 96,116, 22, +204, 73,159,235,231,152,240,137, 24,217, 42, 93, 51, 6,190,141,122, 54,149,243, 74,126,112,252, 30, 46,114,216,185, 76,189,249, + 91, 89, 64,200, 35, 22, 57,222,192, 47, 30, 68,140,129, 41,221,152,166,211,249, 60, 82, 10,145,176, 89,229,142,204,135, 75,114, +155, 27, 50, 39,118,221,193,122,117,169, 6,175, 75,182,167, 5, 59, 69,145, 5,108, 72, 10, 85,176,137, 61, 70, 10,140, 52, 36, + 18,231,222,177, 14,142, 70, 8, 92, 23,209,210, 51, 55,146,117,140, 44,187,241,131,170, 37, 49,101,244,101,101, 77, 30,205, 11, +193, 68,105,150, 49, 32,200, 59,228, 42,101,171, 28, 33, 80,196, 64,138,153,237,221, 39,193, 32,243,248,229, 97,132, 61, 45,249, +190, 11,120, 83,114, 50,244,184,232,113, 73,162,136,180, 49,162,147,224, 64,129,213, 17,145, 2,115, 1, 83,107, 96, 24,152, 75, + 5, 8,206, 18,124,170,182,116, 74,209, 92, 88,253,144, 63, 56, 59,212,242,146,102,119, 33, 46,212, 35,201,229,194,218, 38,198, +155,186,146,185,240, 95, 8,242,146, 24,173, 46,126,132,188,100,242, 67,177,176, 0, 0, 32, 0, 73, 68, 65, 84,171,216,237, 87, + 95,229,149, 87, 94,100,189,238,243,205,184,207,169,105,222, 7,124,151,168, 39, 37,175,223,216,101, 90, 91,172,214, 4,145, 15, +138,156,155, 76, 30,177, 75, 40, 68,246, 62,167,209,206,230, 99, 32,196,244,236,105, 10,153, 15, 49, 59,178,141, 7, 23, 17, 33, + 16,198,176,149,228, 2, 67,231, 56,105, 6, 78,154,158, 85,223,115,188,110,216,120,135, 31, 60, 25,101,223,227,165,100,182,187, +205,253,183,238,145,214,142, 91, 42,115, 1,174, 32, 88,196, 68,120,158, 29,112,193, 55,190, 83,192,142,201,130, 45,163,184,215, + 37, 62,238, 2,107, 19, 88, 9, 40,167, 19,236,124, 11, 61,159,176,189, 93, 51,159,150,204,107,195,254,180,100, 54, 41,209, 70, +227,147,192,187, 72,219, 13,217,187, 30, 99, 14,149, 9,145,206, 69,186,206, 17,124,198, 90,202,152, 50, 40,104,116, 8, 12,128, + 83, 25, 91,151,164, 96,183,233,169, 63, 58, 33,189,245, 9,233,235,239, 48,251,179,143,216,187,191,224,197,162, 96,103,171,226, +228,147, 53,205,163, 5,161,113,116, 10, 82,145,227,104, 95,148,138, 69, 76,252,249,137,167,209,130,182,115,148, 90, 96,218,200, +253,214,243,193,202,241,241,144,248,176,135, 79,148, 33, 86,150, 97, 8,220,238, 59,118,154,158, 97,177,225,227,227,117,182,218, +101,172, 32, 46, 86,172,194,130,122,191,224, 75,191,252, 38,191,254,243,111,242,223,124,254, 53,182,174,110,225,172,102,249,222, + 35, 62,249,224, 33,215, 53,124,110, 82,241,133,249, 54, 47,204, 20,223, 93, 5,104, 55,136,232, 17, 38,219, 19, 47,139,122, 68, +212,183,145,111,126, 30,113,243, 14,226,250,203,136,217, 14, 87,183, 38,204, 69,226, 74, 23,120,176, 92,243,139, 7, 87,184,187, + 94, 66, 72,108,136,188,161, 53, 59, 50, 97, 83,160,242, 30, 25, 91,222, 58, 59, 71,110,214,136,178, 66,216, 2,129, 34, 13, 27, + 68,223, 32,106, 11,123, 51,132,169,248,213,215,142,184,179, 59,225,237,167, 13, 12,221, 95, 29,185, 23, 83,120,225, 42,236, 29, +192,213,189,188,239,221,154,230,208,142,162, 26,225, 40,105,252, 30,121, 30, 56,199, 81,136,152, 52,112,126,246,152,175,126,114, + 31, 30, 62,201,222,247,191,233,146,243, 12,153,236,232,165,133,179,179,124,174,198,139,232,102, 69, 83, 88, 86,206,211, 39,104, +218, 64,167, 18, 27, 31,233,135,192, 6,143, 31, 28,116, 1,107,243,249,144,180, 65, 16, 80, 42,239,165,139, 82, 19, 29, 28, 78, +205,232, 26, 82,185,200,133,200,220, 42,218,148,115, 33,235, 81,232,162,146, 66,181, 29, 42, 73,180, 11,104,105,208, 4,246,109, +193, 63, 60,156,241,230, 94,205, 11,181,229,227, 38,162, 2,168,120, 97,213, 53, 72, 99, 17,214, 32,117,133,212,185,153,248,233, +173,130, 29, 83, 80,105,205, 34, 38,116,105,169,103,115, 30, 71,129,214, 37,133,204,194,229, 76, 18, 21,244,126, 0,105, 72,113, + 96, 11,184, 94, 20, 8, 55, 80, 11, 73,232, 91, 78,219,134,223, 61, 57,165, 27,214, 57,133,175, 89,193,226, 41,180,163,173,111, +232, 32,244,152,232,217, 52, 27,186,161,165,239,214, 12, 67,199, 86,191, 70,186,128, 13,137,105,200, 23,132, 42, 9,118,132,196, + 39, 48, 33,210,251,142,132,228, 81,240,172,147,224,173,229, 26,107,167, 36,223,147,144,212,202,176,246, 29,219, 74,179,118,142, +208,110,104, 86, 13,222, 53, 4,153,120,178, 94,114,127,221,177, 28, 28,173,115, 36, 18,221,208, 51, 16,216, 54, 6, 43, 50,251, +194,146,176, 66,146,180, 33, 6,207, 41,146,227, 48, 48, 17, 32,117,137, 26, 28,115, 35,144,193, 67,215, 83, 88, 75,240, 45,117, + 2,111, 20,201, 71, 42,149, 47,212,165, 21,153,211, 82,216,231, 44,201, 2,250,238,178,102,106,149,195,134, 24, 51, 11, 98, 78, +116,253,171,234,247, 24, 47, 63,132,127, 93, 1,151,250, 7, 49,159, 66, 92, 42,241, 34,151, 66,185, 11,216,251,133, 71,218,218, +203, 28, 91,247, 67,143,225, 70, 41,127, 24,159,112,235,114,178, 82, 85, 66, 93, 82,138,200, 81, 97,152,154, 18,129,100, 21, 28, + 83, 93, 18,162,160, 79, 16, 68,192, 10, 88,184,200, 39,141,231, 90, 37, 25, 66,224, 44, 68,204, 16, 88,201,172,202,143, 46,199, +196,182, 73,228, 24,117,165,242,196, 54,146, 83,191,144, 20, 66,210,199, 72, 17, 3, 67, 18,116, 74, 33,164,196,143,201,125,149, +135,115, 45,153,134,200, 67, 15, 75,165, 88, 71, 55, 22, 85,129, 75,129, 77,136, 52,209, 35,146,103,146, 18, 83, 9, 53,185, 24, + 22,193,161,165,194,199,200,164,180,108, 27,205,169,200,138,218,149, 45,242, 37, 83,141, 10,179,231,221, 1, 41,230,155,188,139, +121, 23,200, 5,185, 45, 94,194, 99,226, 69,214,251,120,180,153, 81,189,102,244,200,219,189, 8, 67,128,159,249,202,207,176,123, +101,155, 16, 35, 67, 31,104, 22, 13,235,245, 6,107, 11, 78, 78, 87,104, 59,225,229, 27,187,148, 54, 51,212,165, 84,132,152,242, + 91, 68, 64,164,236,213, 45, 74,133, 30,195, 88,252,152,177, 28, 71,155,218, 5,232, 69, 32,198, 36,169,152, 5,112,206,209, 53, + 61,193,121,196, 16, 88,121,207,113,235, 88, 53, 29,184,192, 89,219,225,130, 99, 19, 3, 27, 96, 45,160,222,154,178, 17,137, 63, +125,235, 17,111,117,249, 80,148, 74,242,229,160,248,251,104,254,126, 97,120, 67, 73,222, 43, 4,189, 25,111, 70,175,207, 96, 90, +141, 47,166, 6,145, 8, 14,180, 85,212,133, 97,111, 58, 99, 50,155,161,203,146, 80,228,195, 72, 11,193,150,177, 84,133, 65, 42, + 69,240,137,166,117,156, 44,214,156,158,183,108,250, 17, 11,219, 57,214,155,129,245,166, 99,221,117,185, 1,145, 18, 45, 37,133, +145, 24, 96, 82,106,182,119, 10,230, 51, 75,112,142, 39,247, 31,176,127,218, 33,124,226,129,244, 57,203,190,239,153,111, 58,246, +118,118, 8, 50,241, 72,129,216,169,209, 86,209, 38,193,118,130,166, 79,220, 95, 5,214, 49, 81, 78, 44,122,183,230,212, 11, 30, +184,196,162,143, 60,237, 60,199, 3,120, 33,179,251, 66, 64,104, 3,251,131,203, 97, 56, 72,206,238, 29, 83, 27, 69,187,104, 49, + 51,139,220,169,217,189,118,157, 95,248, 71, 95,230,205,159,124,153,159,191,177,203,180,214,252,243, 63,249,128,111,125,245,235, + 60,125,255, 67,110,148,130, 89,105,153,134,132,145, 5,201, 88,222,242, 61,190,139, 99, 97, 79,185,176, 43,133,188,253, 58, 63, +247,139,191,194,111,255,183,255, 21,159,253,244, 27,252,235,165, 69, 62,249, 4,249,206,159, 35,131,197, 37,195,106,211, 96,165, +228,108, 24,104, 99,142, 66,150,209,113,147,200, 92, 38, 84, 28, 48, 41,178,105,214, 60,238,123,220,147,115,196,189,251, 89,251, +169, 20, 82, 36,132,212,224, 59,196,131, 83,254,201,157, 67,126,253,181, 79,243,217,253, 3, 22, 69,226,131,133,131,144, 16,113, +140,225,156, 78,224,230, 17, 95,186,253, 41,234,157, 93,202,233, 22, 43, 61,238,126,149,186, 12,250, 96,188,241,251,142,161, 93, +211, 54, 27, 30,156,159,240,205,239,223,135,227,211,156,124,199,143,192, 27,255,184, 9,102,211,252, 96, 90,157, 27, 71,168,205, +112, 57, 65, 27,157, 56,105,240, 52,222, 99, 70,139,174,208,130, 42, 64,111, 36,133,128,163,210, 96,129,118,228,153,239, 20,154, +198, 69,182, 74,203,174, 49,180, 68,166,214,112,210,122,230,133,204,118,232,144, 87, 99,186,203,152, 85,147, 6,140,210,152,102, +192, 24,205, 87, 74,203, 94, 97, 50, 61, 86, 74,182,181,228,113,155, 80,165, 70,111,213,168,178, 70,238,214,200, 73,141,156,150, +200, 74,241,159,239, 20,220, 41, 45, 59, 90, 19, 17, 72,171, 25,132,100, 72,112,234,179, 21, 24,153,168,164,193,225,240,193,101, + 86,215,144,119,240,141, 31, 8,125,203, 21, 41, 56, 91, 28,211, 14, 61,191,127,239, 46,199, 79,143,225,244, 4,214,107, 56, 63, +207, 1, 66, 93, 63, 38,255, 13,208,108,120,218,246,124, 60,180,124, 48, 12, 52,155, 6, 57,116,236,196,136, 9,129, 9,137, 77, + 12, 28,232,146, 74, 8,186,148,152, 11, 73,163, 36, 38,230,128,160,211, 24,248, 78,151, 88,107,131, 14, 3, 66, 23, 8, 1,165, +144, 8, 98,230,235, 36,193, 16, 60,171,117,203, 39,203,150,187,103, 13, 79, 66,196,247, 3,221,224,216,145,146,174,237,153, 24, +197,224, 3,167,125,207,129, 18, 28, 22, 26,163,178,128, 88,105,201,105,128, 37, 34, 35,192,165,196,198,136, 22, 48, 12, 29, 69, + 24, 72, 82, 48,193, 81,134,192,106,240, 76,146,200,131, 28,173,242, 25, 21, 18,149, 18, 4,161,112, 74, 93, 78, 95,149,185,140, +145, 45,108, 62,211, 47,146,233,194, 0, 46,252, 71,196,196,234, 25, 76,203,252, 66,119,237,229,135, 54, 93, 40,247,210,229,248, +253, 98,132, 44,212,179, 66,146, 71,201,207, 41,223, 47,190, 76,207,212,219,163, 80,172, 30, 57,228, 85,206, 54,182,194, 34,133, +100, 57, 12,148,214,162,144,172,253,128,212, 22,237, 7, 90, 20, 18,135,150,146, 24, 34, 15, 59,152, 72, 65,233, 29,143, 82,182, +190, 45, 7, 7,117, 73,227, 28,214, 40,146,135, 70, 36, 42,165,233, 72,104,149,139,211,202,123,106,107,136, 74,162, 9,248,212, +114, 98, 20,120,143, 73, 30, 33, 52,190,233, 9, 19, 65, 45, 28,101, 7,141, 46,178, 86, 0, 96,104,137, 49, 91,250, 22,195,192, +182, 22, 92,179, 53,141,247, 28, 26, 67,231, 4, 62, 4, 14, 39, 83, 22, 67,135, 19,130, 93, 4,167, 69,205, 52,118, 44,170, 34, +199,199,202,220,209,225, 47,112,146,163,107, 64,143,183, 1,127, 33, 56,140, 57,176, 70,170, 60,138, 30,252, 8,204, 9,227,127, + 99,243, 62, 93,155,172,220, 21,121,106,226,135,252,129,152, 78, 11,214,139, 14,165, 21,214,232,124,214,140,161, 54, 77,231,217, +155,149, 8, 41,242,197,223, 11,162, 72,200,152,211,247,130,143,120, 35,178, 48, 19,137,210, 18, 39,178, 15, 61,164,188, 2, 8, + 49, 61,235,220, 37, 9, 27, 35,161,243,136, 16,177, 72, 54,193, 51, 12,129,101,211,211,199, 49, 39, 93,102, 6,242,128,160,141, + 61, 19, 41,217,191,126,200,123, 31,220, 67, 7,216, 70,240,189,141, 3, 31,249, 30,145,162, 77,252, 92,165,184, 89,106,126,197, + 41,126,242,214,140,119,222,218,112, 60, 43, 81, 47,189,192,227,110,195,102,112,156,116, 29, 31, 30,247,108,149,138,106,156,100, + 4, 34,221,208, 35, 86,146, 97, 8,132,222,179, 95,151, 76, 71,123, 99,219, 6, 78, 78, 27, 62,186,119,198,122,211, 94,222, 76, +165, 96,232, 7, 26,215, 49,116, 29, 94, 41,114, 34,124, 22,216,108,205, 75, 14, 94,220, 98,182, 55,101,182, 59,225,189,239, 63, +230,131,166,167, 85,112,211,193, 67, 25, 25, 74,193,206,102,224, 86,227, 41,191,115,151, 87,215, 13,175,237,212,204, 94, 63,226, +254,213,146, 73,227,216, 44, 7, 30, 13,240,141,100,120, 49, 42,190, 60, 53,252,191, 14,222, 63,239,169, 35, 20, 70, 50, 31, 60, +122, 82,128, 80, 24,173,184, 35, 21, 55,182, 21,133, 51,136, 85,195,241, 91,239,114,235,198, 62, 47,224,120,242,201, 99,218, 43, + 19,234,218,160, 10, 69, 81, 22, 28,159, 44,249,151,119,159,242,207,127,251,247,120,244,241,146, 23,182, 13, 7,135, 91, 24, 93, + 82, 20, 37,178, 27, 56,239,214,156,198, 68,220,218,193,220, 82, 4, 25, 72, 79, 31, 33, 94,126, 19,110,190, 4,251, 47,114,116, +117,151,205,147, 51,126,227,255,250, 29,244,239,126, 23,241,197,151, 16, 71,215,217, 81, 2,183, 92, 96,164,226,165,162,100, 49, +116, 28, 3, 41,120,196,208, 34,101,139,223, 24,106, 91, 32,130, 99, 66,100,123,189,164, 89,158, 19,143, 79,136,253,154,116,251, + 83,196,157, 3, 82, 89,145,108, 73,178,134,223,120,239, 1, 87,240, 28,204,118,248, 94,235,179,183,252,188,132,176, 70, 40, 75, + 58,218,129,189,125, 38,102,194,223,217,219,101,145,114, 72,213,191,109,150,121,189,103, 71,226,149,243,153,118,181, 88, 66,227, +184,191,217,100,199, 73,234,199,181,225,104, 31, 13,241,111,127, 86,254, 40, 46,250, 98, 1,187,123,151,156,134,209, 6,156,198, +113,238, 48, 4, 10,157,149,236,107, 55,112, 93, 27, 6,173, 56,137,137,155, 19,141, 31, 4, 49,207, 16,185, 82, 21,108, 6,199, +138,236, 78,153, 0,117,101,232, 99, 98, 72, 41, 63,101, 31,145, 87,246,144, 82, 83, 76, 44,184,129,212,244,220, 26, 6,110,232, +204, 55, 80, 2, 54, 46,112,173,176,212,187,150,184, 55,131,189, 25, 87,170,154,164, 5,167, 67, 75,227, 29,175, 18,249,172, 81, +212, 90,114, 84,148, 60,117, 29, 79,162,199, 3, 31,116, 3,167,162,196,168, 60,133, 91,135, 13, 73, 38,214,109, 3,222, 33, 54, + 27,146, 80,172, 55, 45,223,148,145,111,202,209, 86,146, 2, 44,250, 49,179, 99,156,244, 14, 25,226, 50,238,184,242,244, 81, 11, + 88,174,159,157,177,119,165,102,119,219,210, 6,193,190,206, 4, 54,141,160,137,142, 82, 26,166, 82,112, 46, 20,197, 24,202,213, +111, 22, 24,171,217, 69,179,113, 3, 24,131, 14,142, 32, 4, 94,106, 22, 17, 90,198,137,243,176, 33, 40,152, 71, 73, 39, 5,219, + 17, 58, 33,217,158,151, 28,247,145,131,121,205,227,214, 97, 11,197, 64,164,239, 55, 44, 84, 32,161,169,116, 73,215, 12,156, 10, +197,137,157,161,147,103, 75, 90,124,236, 65, 41,170, 36,232, 98,100, 87, 6,156, 27, 48, 74,178, 85, 26, 78, 6,199,150,132,165, +119, 20,104, 38, 6, 22, 36,154, 16,144,182, 32,166, 0,194,254,224,103,105,185, 25,131,141,234, 60, 17,170, 74,112,254,185,162, +174,245, 37, 41,230,199,141,221,167,117,142, 33, 44,170, 92, 32, 46,126, 6, 46,139, 77,188,192,201,245, 99,228,233, 88,236,237, +115, 93,174,243,151,227,126,212, 37,108, 4,153,173, 90,106, 84,193, 63,103,159,219,132,200,196,234,204, 47,209, 50,231,175,248, + 33, 91,179,188,167, 65,176,171, 21, 69, 33, 89, 15, 25, 8,163,141,160,245,254, 89,202,253,178,115,168,202, 82,185,136, 55, 30, + 6,205,153,114,108,219,140, 51,108, 83,196, 40,197, 34, 95, 71,153,105, 65,131,198,182, 3,219,192, 70,107,214,193, 51, 67,243, +168,237, 8, 93, 71, 61,155,114, 26, 37,108,250,203, 72, 86, 9, 52, 27,176,138,224, 35,239,159,173,248,220, 86,126,209, 39,232, + 49, 38, 87, 50, 49, 22,173, 10, 78,104,217, 45, 19, 77, 47, 51,115, 5, 46, 51,224,155,110,220,157, 95, 28, 42,242,146,250, 22, +228,232, 58, 24, 27, 34, 41,243,239,234,135,252, 62, 68,159, 91,118,171,243,123,164,220,104,253,241,104,107, 41,173,225,228,108, +131, 27, 11,188,214, 6,151, 2,162, 44, 40, 37, 20,101,206, 6,200,251,242, 11,105, 68, 78, 82,235, 98,192, 17,145, 61, 88,173, +144, 57, 69, 6,169, 50,139,152,144,111,238,217, 46, 47, 81, 49,195, 94,116, 2,163, 36, 90,107,188, 8,184, 16,232, 55, 30,223, + 56,232, 29,125,240, 24, 33, 88,165,196, 10, 40,172,225,104, 58,101,111,127,139, 63,250,147,239,241,221, 38,239,208, 16, 49,255, +174, 83, 77,223, 58,254,213,185,203,193,241,107,207, 59,231, 3, 47,110,107,138, 39, 13,146,123,220,216,153,242,194,214, 46,250, +250, 14,223,219,121,204,100,182,197,164,174, 41,102, 83, 14,143,118, 88,117, 67,222, 16,109,122,154, 36,232,132,192, 9, 24,122, +207,217,162,225,238,253, 19, 30, 62, 56,103,240, 29, 41,100,108,167,136, 17, 31, 99,166,167,249,132, 64,179,232, 5, 82, 25,148, +130,253,189,138,122,119, 74, 49, 45,113, 41,113,214, 42,110, 79,247,248,254,233, 83, 30,184,150, 77,219, 32,140,164, 25,122,174, + 4, 69,179, 56,102,111, 19, 88,196,134,217, 39, 11, 78, 95,152, 96,103,154, 35, 83,112, 16,225,198, 85,197,181,101, 79,215, 5, +126,213, 74,254,167, 85,207, 73,227, 25, 6,216, 41, 36,147, 66,113, 22,224, 80, 11, 62, 59, 51, 28,213,138, 19, 1,111, 63, 78, +124,229,240, 21, 22,201,113, 32, 18,159,217, 46,249,227, 69,203,195,239,220, 99,231,232, 42,211,123,103, 92,145,130,111,126,247, + 33,119, 80,108,109, 91,116, 93,176, 85, 79, 49, 66,211,173,150,220,125,252,144, 83, 93,177,116, 41,239, 67,203,154,161, 56,128, + 47,127, 38, 39, 89,181, 27,196,215,254,128,223,248,238,130,127,241,134, 66, 93,217,197,124,233, 14,162,156,176, 91,207, 57, 16, +154,137, 86,163,169, 38,208, 13,158,207, 19,217,154,239, 66,154, 51,167, 37,173,206,169,162,195,132, 0,203,115, 94, 63, 95,241, +180,237,137, 6,194, 98, 65,252,222,251,196,219,142,120,253, 6, 73,193, 23, 95,186,195, 27,183,111,241,199, 31,188, 75,255,240, + 29,238, 29,247,136,170,134, 74,147,216,206,201,150,211, 41,111, 76,106,110,109,111, 97,133,228, 74, 97, 40, 69,143, 90,231,176, + 70,218,113,127,123,190,202,141,239,249, 58, 23,115,158, 43,200, 74,130, 48, 57,103,253, 63,164,168,255,117, 63,171,213,104,253, +213, 35,255, 66, 17, 92,204,199,156, 17,244, 46,177, 45, 3,229, 78,205,227,245,192,190,149,220,172, 18, 15,186, 64, 39, 20, 83, + 18,133, 53, 28,167,196, 43,133,193, 42,184,110, 53,171, 33,240,168, 25,152,151,130,166,143, 72, 31, 81,218,160,171,146, 91,243, + 41, 66,107,164, 31,136,147,158, 47, 9,207,203, 74,161, 6,199,241,178,227,233,186,231, 35,239,153, 86, 21,177, 40,198, 44,144, +128, 68,163,180, 34, 16,121, 81, 68, 38, 90, 82,250,196,169, 95,178,173, 13,157,115, 28, 7,184,231, 65,153,136,111,219,108, 68, +233, 90,210,122,141,104,123, 82,215, 67,231, 16,195, 64,146,238, 50,228,231, 7, 64, 95, 41,171, 92,203,145,148,103, 60,108, 70, + 32,141,119,224, 70, 43,244, 72, 59,139,210,241,180, 53,220,175, 19, 6,184,154,224, 64, 41,206,165, 34,166, 68, 47,179,125,248, + 52, 37, 26,160,172,166,232,216, 17, 92,139, 80, 37,131, 15,120,157, 39,199,103, 67,135, 21,154,117, 28,178, 86,201,214,176, 13, +203, 85, 67,225,123, 54, 2,156,213, 48, 68, 68,101, 57, 67,240, 74, 93,240, 46,153,123,209,171,130,223, 91,116,212, 90,243,134, + 13,188, 39, 36,235, 16, 9, 33,176, 85,206,240,205,130,189, 98,134,175, 39, 16, 3, 59, 4,154,205, 19,166, 90, 67, 12,172, 99, +100, 79, 43,156,207,154, 45,159, 28, 43, 31,241, 14, 10, 41,243,250, 66,233,209,185, 60, 54, 62,113, 12,173,113,125, 46,238, 90, + 67,219, 65,122,254,166,110,245,165,100,254,199, 21,245,161, 1,202, 92, 52,158,221,180, 61, 88, 55,250,163,199, 4, 57, 63, 90, +180,188,191, 28, 5, 95,220,200, 47, 10,248,133,218,254,226,159,155,238,242,198,127,193, 13, 30,233, 99,239,169,130, 23,165,160, +151,146, 2,216,196,152,119, 55, 82, 18, 99,196,249,129, 18,197, 82,122,212,136, 46, 91, 43,197, 68, 6, 76,161,105,157,231,110, + 19,120, 97, 2,170,247,172,140,162, 38,146, 76, 66,171,114,132,132, 64, 37, 36, 29,176,140,145,235, 90, 35,131,167,198, 32,133, +231,201,232, 10,159, 40,205, 58, 4, 10,161,120, 52, 64,116, 29,181,116,153,204, 19,251, 49,190,207, 65, 10, 40, 97,121,226,122, +190, 48,175, 88,123,199, 84, 40, 38, 90,161,180,201,163, 94, 44, 50, 5, 10, 37,168,124,226,250, 86,201,112, 62,176,190,120,103, +124,155,247,127,171, 46,127,232,149, 29,189,178, 49, 63, 25, 63,118, 84,202, 94,142, 6,227,184,147,143,163, 40,206,199, 75,149, +114, 24,217,237,162,196, 22, 10,171,243, 72,189,158, 78,114, 40,221, 38,147,209,246,171,154,157,189, 41,125, 15,165,209, 8,145, +105,108, 81,100, 43, 91,206, 97,143,196, 33,208,235, 72, 29, 21, 33,138,203,129,140,144, 99, 10, 98, 22,229,136,148,208, 82,100, +123,188,204, 35, 41, 25, 19,209,103,222,186, 86,130, 3,165, 57, 47, 10, 68, 8, 44, 82,162,142,145,101,190, 18, 83,212, 5,235, +243, 13,220, 95,147, 60, 76,181,102,221, 15,208,132,252, 90, 92, 55,240, 73, 15, 27, 15, 6,190,190, 47,248, 58, 1,156,227,102, + 1, 7,139, 21,221,217,154, 73,253,152,178, 46,217,155,111,243,229,207,221,225,240,133, 93,202,218,242,232,124,195,233,186,101, +181,233, 41,180,165,174, 74,162,148,116,131,227,120,213,240,240,116,201,134, 72, 16,146, 36, 21,169,119,248,161, 35, 70,151,127, + 55, 52,146,148,119,237, 86,211,167, 72,155, 18,109,140, 20, 18,190,249,246, 99,206,122,248,164,154,210,238, 22, 84,174,103,221, +221,167, 90, 31,227,156,227, 95,135,129,217,162,225,197,162,228, 17, 37,187, 15,158, 50,105,246, 17,100,112,140, 83,138,161,208, + 28, 79, 44,198, 5, 78,149,224,205,157,130,223,250,218,125, 30,108,224, 63,187,190,155,149,181, 17,124, 8,124,126, 90,179, 61, +181,156,165,200,245, 98,135,201,178,230,201,122,224,157,227,115, 68, 20,156,189,243, 17, 15,222,251,152, 15,138,119,121,225,215, +126, 25,172,161, 45, 75, 44,150, 29,237,248,240,163, 5,205,249,134,237,253, 41, 91,123, 91,252,254, 87,255,130,116,117,159,120, +243, 8,130,161, 22,240,202,151,222,228,245,254,152,223,252, 95,190,133,253,114,201,144, 2,123, 63,127, 3, 89, 87,236,206,175, +176, 78, 9,163, 52, 71,202,176,103,115, 26,100, 66,226,186, 53, 47,138,158,117, 12, 28, 30, 93,163,156, 84,184,190,231,236,195, +111,179,186,127,151,243,216,211,222, 95,114,173, 46, 41,129, 79,111,237,240,173,197, 25,161, 91, 17, 82,128,243, 39,188,121,245, + 5,190,116,176,203, 92, 72,124,140,252,230,251,223,231,230, 36,112,183, 79,121,154,110, 20,105,108, 34,136, 48, 87, 10,171, 5, + 58, 6,122,215,241,165,208,240, 71,235,101,158,132, 61, 61,207, 86,181,229, 34, 79, 32, 11,251, 35,188,230,233,111, 62, 27,255, +182, 63,110,200,244,182, 49,145,115, 90,104, 58, 9,125, 31,185, 82, 41,156,149,156,181,158, 93, 23,153,106,201,218, 7, 54, 30, +180,213, 57, 71,170, 46,185,182,189,207, 78, 49,229,102,109,185,163, 4,106,241, 24, 21, 28,127,201, 10,173, 36,115,223,161,181, +198,214, 53, 73, 90,166, 69,238,127,103,117,205,212, 27,110,196,158,228, 28, 19, 99,168,103, 64, 31,120,219,195,220, 40,130, 86, +108,155,130,137,177, 12, 36, 58, 41,217, 55,134, 67, 45,209, 93, 62,215,116, 72,116,222, 51, 12,145,223,121,218,227, 68, 68, 15, +103,132,229, 26,180, 37,185,129,120,129, 4,149,144,250,241,117, 13, 54,251,250, 47, 34, 80, 69, 49,174, 25,199,139, 78,231, 71, + 29, 86,186, 4,128, 93,136, 36, 92,255, 44,170, 91, 4,184,219,182,212,133, 96, 54,230,158, 8,163,145, 49, 48,232,130, 20, 61, + 43, 33,233,181,161,141,145,132,164, 81, 5,123,186, 99,225,122, 30,217,154, 57,145, 77,202, 77,213,169,239,199,245,229,152,226, + 41, 13, 76, 74,250, 30,146,177,104, 4, 11,163, 81, 9,130, 82,108,138,154,159, 80,146,149,144, 44,132,160, 78,176,107, 20,143, + 66,228,101,173,121,170, 12,119,125,203,186, 83,204,170,154, 71,171, 99,136, 29, 71, 55, 95,103,245,238,159, 81, 81, 16,125, 71, + 10,137, 90,102, 65, 93,242,207, 16,152,204,180,228,110,227, 71,200,149,186, 36,184, 21,163,142,162,200,164,200,103, 7,110, 63, + 66,139,132,122,174,168, 59,127,201,123,253,113, 63, 77,155, 51,133,229, 15,141,151, 28, 16,187, 60,154,127,158, 15, 59,118, 35, + 57, 5,135,203,177, 19, 33,171,149, 13,121,199, 36,199, 55,243, 25,169, 73,141,108,227, 13, 84, 19, 84, 72,156, 7,199,118,204, +233, 78, 90, 89, 54, 41, 82,138, 12, 5,152,218,146,251,155, 37,203, 24,185, 82, 27,190,127, 49, 82,211,112,220,122, 98, 18, 92, + 41, 21, 79, 26,232,230,137, 93, 18,139,148,173, 74, 87,101,230,232,106, 33,241, 8, 28,145,131, 42,119,115, 33, 64, 69, 46,244, + 86,107,122,151,241,138, 61,137,211, 16,152, 23,138, 7, 35,183,153, 97, 4,181,172, 54,207,252,248,161,105, 57, 50,138,183,151, + 45, 95,152,215,212, 85,129, 79,129,153,153,208,184,236, 19,245, 82, 83, 70,207,141,201,156, 7,205,134, 45, 35, 40, 5, 60, 93, +181, 80, 87, 89,160, 83,106, 8,213, 72,124, 35,135,212,244, 99,177,246, 9, 38,228, 27,184, 30, 21,240, 23,171,142,139,177,129, + 31,121,211,186,200,157,177, 41,153,212,147,156,250,230, 19,182,146,112,158, 24,134,129,162, 40, 57,188,178,203,223,253,204,117, +164,210, 36,145, 69, 26, 46,145,233,106, 82,144,124, 78,140, 43, 10, 73, 8, 41,111, 0, 18, 72, 41,179,121, 33, 64, 34,142,230, +134,244, 44, 80, 71, 2,106,220, 27,102,198,120,100, 54,218,139,125,132, 38,100, 40, 79, 14,227, 20,204, 68, 66, 8,137, 45, 43, +142,143,207,121,251,126,199,204, 10,166,133, 98,157, 70, 49,225, 69, 97,247, 23, 1, 1, 33,123,244,111,215,224, 36, 15,151,129, + 79, 98,226,221, 90,113,133,192, 21, 25,217, 44,207,168,239, 62,230,211,211,130, 23, 74,205,164, 42,176, 74, 50, 49,134,162,180, +204,234, 2,107, 52,206,141, 80, 26, 21,243,168,174,168, 32, 37,130, 50,248, 21,200, 62,161, 99,200, 62,124, 4, 49, 6, 98,231, +240,235,158,197,201,154,132,224,241,249,138,234,253,123,156, 76, 42,238, 79,246, 57,156,148,220,153, 77,249,120, 50,229,252,227, +125,228,174,163, 57,237, 88, 29, 9,222,245, 3,159, 58,152,243, 7, 83,205, 71,255,235,255,199,250,147, 99,170,249, 22,113, 62, + 33, 20, 37, 87,175,239,112,227,206, 14,157,128,247, 31, 44,120,177, 42,217,185, 49,231,188,247, 76, 66, 66,185,200, 63, 56,172, +153, 36,208, 62,113, 69,229,176,141,118,106,249,211,147,150, 38, 70, 86,171,134,214,105,218,135, 13,215,127,234, 38, 79, 11,195, + 45,109,120,233,229, 27,220, 83,146,189,190,225,218,235, 45,103,143, 30, 48, 63, 60, 66, 77, 12,182,123, 68,122,119,159, 52,109, +184,117,235, 58,169, 56,224,181,197, 61, 42,161,248,149,127,122,155,213,100,155,101, 40,152,238, 28,208, 3,171,224,121, 41, 4, + 42, 5, 91, 74, 51,179, 80,203,132, 78,142, 85,232,104,135,134, 36, 11,166,214, 82,149, 5,231, 85,201,176,253, 18, 31,156, 46, +249,252,201, 35, 90, 35,248,189,199,199,252,194,213, 61,190, 33,160, 76, 18,191, 60,193,223,127, 64,216,221,167,174, 37,197,225, + 54,161,152,210,233,146, 55, 14, 15,153,107,216,234, 29,223,110,251, 81,185,238, 73, 66,243,238,224,249,169,118,193,141, 80,211, +250, 14,227, 29,177, 95,231, 93,249,201, 34,171,172,155,238, 7,241,166, 74,254,208, 63,251,191, 18,110,243, 31,157, 43,127,241, +103, 14,249, 49,151,163, 76,233, 74, 93,242,120,227, 40, 10,197, 84,128, 76,137, 32, 4, 87, 38, 5,171,113, 63, 43,172,162,212, +150,235,179,125,246,118,182,185,105, 44,183, 66,131,177, 37,221,234,132,253, 98,139,143, 54, 11, 14,148,193,147, 24, 16, 76,234, +130, 66, 25,170, 66,161,164,229, 72, 43,174,166,130, 32, 27,172,138,244, 1,110,109, 77, 16,177,227, 65, 93,208, 88,240,218,144, +140,161,141,129,181, 79, 60,236, 58,110,148, 2, 75,228, 64, 43, 54,110,192, 13,158,213,162, 69, 63, 62,135, 20,114, 60, 47, 25, + 42, 21,184, 12,203, 73,189, 71,104, 77,234, 7,114, 12, 12,249,251, 90, 75, 8,125,222, 19, 95,212, 5, 61,234,178,180,186, 76, +208,188,200,216,186, 40, 96,195, 0, 91, 19, 24, 2, 31,172, 29, 98,170,249,194,164,226, 97,204,251,241, 34,102,230,135, 19, 10, + 27, 2,131,202,158,140, 45, 47, 88, 75,197, 92, 72,222,117,145, 37,137,164,244,136,184,214,121,109,172,199, 6, 67,251, 92,224, +171,154, 32,192, 35,176, 82, 33,148,100,219,148,120,224, 84, 91, 78,253,192, 34, 68,246,203, 9,149,144,120, 35, 57,117, 45,199, + 99,156,107, 72,142,123,235, 83,110,137,196, 98,121,130,191,251, 22,110,179, 4, 60,173, 79, 92,213,153, 8, 89, 5,129,151,130, + 33, 66,239, 2,167, 62,159, 59,249, 66,246,156, 88, 58,166,220,252, 92, 76,132,205,115,214,242,190,135,117,243, 67,150, 54,239, +255,102, 17,200, 5, 12,228, 34, 10,209,140,240, 3, 51,142,135,109,145,255,122,214, 28,164,188,203, 29,134,203,255,103, 24,227, +238, 10, 9,171, 53,204,103, 25,217, 88,141, 0,152, 16,115, 8,141, 28,129,241, 50,145, 82, 96,170, 44, 51, 45, 41,148, 70, 11, + 8, 98,132,133,164, 64,235, 2, 66, 73,206, 66,224,254,102,160, 31, 65, 49,155, 33, 50, 83,146, 62, 69, 54, 81, 16,164,160,113, +145,121,105, 80, 18,106, 99,105,147, 96,183,208,248, 81,249, 46,149,102,229, 61, 67, 8, 57, 13, 45,194, 32,115,177,121, 48, 12, + 4,153,253,216, 69, 82, 60,246,185,211,234, 47, 20,215, 23,182, 61, 55, 22,121, 33, 24,156,103,219,100, 91,220,142,177, 84,198, +114,238, 58,172, 50, 36, 33,136, 33, 96,146,100, 16, 96,165,192, 73,129,219,180, 92,153, 84,156, 54, 45, 68,216,154, 22,244,221, +144,181, 10,105, 92, 81,232,231, 4,117, 62,140, 30,244,139,214, 54, 94,134,212, 92,208,239, 82,204,227, 44,109,161,237,248,236, +155,159, 97,190, 55,231,244,248, 28, 31, 96, 50,157,178, 60, 89, 81, 79, 38, 92,217,219,226,221, 79,214,188,112,101, 62,142,202, +101,166,177,141,193, 85,125,200, 25, 1, 89,148, 47, 40,108, 78, 40,147, 34,143,233,253,168,198,245, 33,226, 67,194,187,108,105, + 84,241, 66,249, 30,192, 7, 66,235,232,154,129,174, 15,196,193,227, 82,100, 21, 28,201,199,108,135,139,145,171,251,187, 28, 28, +238,242,206,219,239,243,222, 73,195,178,117,172,134, 17, 81,219,135,188, 12, 59, 30,133,138, 25,223, 4,103, 14, 38, 18,185, 93, +225,251, 56,106, 57, 37,243, 90, 83, 25,203,164,158, 34,181, 37, 84, 22,105, 53,189, 15, 28,159,183,244,157,163, 42, 53,211, 73, +137,210, 18,239, 60,109,215,211,245,217, 98, 39,180, 34, 70, 75,194, 18,140, 70, 10,205,118, 81,115,125,190,205,225,100,206,196, +148, 76,149, 97,191, 40, 41,146, 68,205, 45,178, 46,105,107,139,208, 2,206,150, 76, 39, 19,110, 29,212, 52,202,208,238, 77, 16, +170, 96, 82, 22, 84,243, 18, 61,155,178,127, 56,229,202,225,148, 99, 49,229,251,201,210,204,106,228,225, 46,147,171,115,156, 86, + 60, 10,112,114,222, 99,181,165,124,113,155,117, 59,112,122,210, 48,108, 28,243, 29,131,248,232,148,151,246,167,136, 0, 86,231, + 56, 76,149, 18, 47, 84,130,155, 83,195, 7,143, 60, 11, 57,103,101,225, 74, 33,216,185,122,200, 78,105,104, 3,248,178, 32, 77, +166, 32, 38,108, 85, 37,219,135, 59, 60,126,186,226,159,124,230,243,252,131,255,242,167, 57,122,227, 14,213,233, 19,134,167, 31, +243,130, 45,137,102,194,244,240, 6,147,131, 79,177,127,227, 58,182,174,152, 78, 39,204, 37, 28,106,195, 22,138,173, 34,113,160, + 52,179, 24,208,190,103,238, 6, 78, 22, 43,246, 82, 71, 85,212,180,211, 41,117,239,249,104,240,220, 48, 5,119, 69,226,134,138, +188,148, 4,223, 76,138, 95,170, 45,239,161,144, 66, 35,241, 8, 23,120,176, 25,216,173, 5,247,134,129,148, 36,183,235,138, 93, + 91,177,109, 44,239, 56, 79, 24, 57,214,194,121, 98,236,249,254,114,205, 46, 61,186,239, 89,117, 11,254,229,135,143,224,254,113, + 30,133,187, 31,218,125,203, 81,159, 18, 70,190,130, 28,187, 84,255,159, 0,136,121, 54, 69,139,151,205,118, 28,207,138, 36,168, +172, 34,133,132, 23,130,237,164,120,109,111,194, 79,237,109,241,234,124,202,212, 72, 2,130, 86, 9,182,180,225,198,116,198,220, +150,236,213, 19, 94, 41, 11, 74,109,216,149,146,169,202,126,117, 45, 45,219,214, 98,149, 98, 87, 89,166,166,224,160,168,216,211, + 21,187, 41,114,104, 44, 7,186,100, 91, 21, 76, 80, 76, 76,205,188,156, 48,177,154,235, 86,179, 63,157,113,168, 37,187, 2,182, + 84, 68,118, 29,133,115, 44,215,107,142,130, 71,227,217,180, 61,199,231, 13,127,113,186,100,117,214,142, 22,219, 1, 17,179,240, +239, 50, 66,220, 95,254,174,207,191, 30,241,121, 29, 86,200, 89, 26,207, 24, 23, 98,244,105,143,103, 91,161, 47, 99,195, 73, 96, + 44,194,103, 55, 65, 72,112, 10,196,145,124,104,165,198, 11,129, 23, 57, 41,206,169,172, 53,216,140, 60, 17,139, 96, 41, 19, 8, +205,146,144,111,231,114,116, 4,153,139, 32,151,145,241, 33,115,214, 71,146,144,148, 36,152,146,137, 50,217,222,172, 52,115,169, +121, 34, 52,218, 90, 10, 91,162,144, 60, 9,158,162,172,184, 35, 5,247,146,128, 48, 48,183, 37, 65, 89,170,208, 99,250, 6,101, + 13,209,123,172, 72, 56,145,181, 71, 49, 4,150, 33, 19,244,136,137, 39,109,164, 75, 99,232,140, 80,227, 45,125, 20,204, 41,123, +185,106, 45,205, 88, 43, 85,182,185,141,103,244,127,218, 79, 61,201, 5,164, 75,204,127,226, 14,203,119,238,229, 20, 36,115,161, +146, 31, 59, 43,173, 71, 47,233,216, 93,116, 49,171, 29,235, 45,216,173,145,186, 32, 94,164,165,117, 62, 23,253,114,228,141,203, + 44,246, 58,243, 1, 71, 34,137,200,169, 15,108, 9, 65, 82,154,193, 59, 64,176,240,158, 62, 68,102, 82,178,136, 9, 41,229,248, + 98,141,117, 78, 93,140,254, 5,223,111, 19, 91, 86,176,155, 2, 83, 11, 79, 7,199,212, 90, 54, 41, 49, 9,238,242,134, 43, 5, + 40, 79, 10,154,211,152,152, 26,147,131,108,148,160,197,211, 15,130,190, 16,185,177,121,102, 51, 35,219,199,116, 22, 5,246, 33, +239,168,139,152,232, 4, 48,116,212, 69,205,248,209,205, 89, 11, 70, 83,199, 72, 7,236, 1, 15,132,160, 78, 61,159,155,105, 60, +154, 10, 79,179, 59,201,187,100, 3,119,151, 21,125,232, 47, 87, 32,210, 65,127,177, 79,231, 50,138,183,176,227,141,126,180, 46, +132,113, 74, 82, 88, 54,171, 14, 63,238,232,125,219,211,156,181,172,155,134, 33,120,166,243, 9,235,179,200,241,249, 6, 43, 4, + 82, 10,172,214,232,145,196,102, 20,156,167, 8, 93,196, 26, 49, 58, 81, 69,158, 96,165,252,181, 14, 41, 63,156,140,217, 38,231, + 70, 12,171,243,158,228, 60,214, 5,116, 4, 55, 4,206, 7, 71, 59, 12, 52,222,161, 60,164,152,144, 66, 48, 51,134, 43,202,178, +131,228,221, 71, 11, 58, 61,126,177, 87, 62, 63, 0,140,184, 89,178,109,109, 29, 97, 42, 97,237,225,173, 13,113, 94,160, 42,147, +117, 1, 41, 49, 51, 5, 91, 85, 69, 93, 20,244,193,113,114,182,121,150,213,227, 55, 3,194, 69,156, 82, 76,230,142, 9, 16,189, +199, 24, 73, 89, 25,166,157,165, 25, 34,102, 42,232, 6,139, 76,150, 98, 54,231,149,121,193,107,179,138, 74, 8, 66,231,104, 87, + 93, 78,206,219,177,120, 13,117,173,153, 76,118,152, 78, 45,190,141, 52,205,128,144,112,125,215,240, 66, 50, 28, 92, 41,120,184, +242,156,135,192,233,178,163,233, 60,199, 77,192, 27,197,193,139, 7,108, 29, 84, 76,182, 11,234,144, 16,189,167, 43, 4,147,173, + 57,202, 57,190,119,188,230,233,131, 37,171,147,150,183,255,213,191,227,149,255,238,191,230,255,248,247,111, 33,222, 62,231,103, +127,233, 85, 84, 44, 16, 86, 19, 67,194, 68,216,171, 53,191,254,197,107,124,245, 91, 15, 56,108,175, 80, 46,159, 98, 30, 46,240, +181,229,112,174, 49, 30,150,201, 80, 94, 55, 12,141,101,253,228, 41,191,246,153, 79,241,185,219,135,252,179,255,251, 27,188,247, +206,219,156,223,250, 60,101, 45, 57,223,222,102, 90,109, 35,119,182,153,204, 10,202,105,129, 34,209,172, 91,180,154, 50, 44, 55, + 40, 25,217, 18,134,210, 13, 24, 63, 32,137, 12,174,227, 85,237,249,131,183, 63,228,211,119, 63,160,252,212,171, 44,119, 95,226, +203, 74, 48,173, 44, 95,188,249, 50,230,250,117, 86,237, 57,243, 79,238,242,213,179,142,191,183, 83,241,241,149, 25, 31, 60,109, +145, 74,225,106,203,191, 57,107,152,118,138,175,236, 40,174, 85, 91, 68,173, 80,205,154, 45, 37, 57,142,153, 51,145, 98, 78, 72, + 91,106,197,111,156,159, 49, 77,176, 56, 89,193,217, 57,162,235, 72,234, 71,156,105,126,212,164, 92, 68,178,186, 17,190, 97,117, +190,160,180,253, 95,109, 4,254, 67,111,234, 23, 66,186, 8,187,159,189,195,233, 71, 79,152,138,192, 68,107,174,238, 90, 94,153, +205, 56,170,103, 36,169, 56,242, 1,193, 57, 83, 34,131, 79,108, 27,201,204, 42, 84,138, 36, 37,217, 83, 10, 29, 2,186, 40, 8, + 17,246,148, 39,186,129,151,132,200, 35,114,215, 51,137,130,210,123,102,182,196, 4, 79,169, 20, 69, 89, 99, 38,134, 48, 68,154, +245,130,217,100,135,232, 61,125,223,208,108,214,180, 93,203, 98,211,242,198,224,121,176,110,120,228, 60,167, 90,243,205,174, 99, +224,255,103,237, 77, 98, 36, 77,243,243,190,223,187,126, 91, 44,153,145, 75, 85, 86, 85,215,210, 93,221, 51, 61,156,157, 67, 14, + 57, 36, 37, 82,150,185,192, 48, 33, 27,180, 1, 95,228,131, 47, 6,124, 48, 4, 24,240, 73,128,225,139, 1,195,128,125,240,193, + 7,249, 98, 2,186,200, 2, 40,203, 20, 32,153,139, 8, 82,148, 72,145, 34,197,153, 86,207,116,207,244, 82,221, 85,213,149,149, +107,100,196,183,189,155, 15,239,151, 85, 77,114,108,211, 26,246,169,208,221,200,202,140,140,248,254,219,243,252,158,200,199, 62, + 48,196,145,170,148, 19,188,230, 83,181, 23, 72, 83,190,247,167,145, 17, 9, 16,222, 79,209,203, 58, 11,124, 39,253,128,144,110, + 0, 0, 32, 0, 73, 68, 65, 84,198, 12,169,203, 53, 35, 76, 27, 99, 83, 78, 19, 85,200, 53, 67, 76,153, 24,184,108,243, 27, 2, +148,146, 48,122,190, 73,207,144, 4, 95, 89,104,230, 82, 51, 18,104,148,161, 11,129, 30, 48, 74,115, 21, 34,131, 86, 28, 6, 8, + 41,178, 22,138,129,172,157, 17, 74, 17, 98,204,104,221,232,166,237,114,145, 79,198,170,129,137,204,183,150,138,215,141, 97, 68, +177, 86,154,195, 8, 87, 90,114,144, 4, 79,148,224,142,153,115, 25, 70,222, 46,231,220,102,195, 99, 96, 29, 34, 42,118,220,212, + 37,224,121,214,109,184,103, 11,210,152,104, 19,132, 16, 72, 65, 48, 34,145, 24,158,143, 25, 16,148,195,185, 66,174, 35, 74,102, +235, 85, 93,101,149,187, 45, 50,187,228,250,197, 45,203, 23, 37,235, 7, 11,116,169,203, 23,201, 49,111,254,212, 15, 99,181,226, +226,248, 98,162,209, 77, 44,243,248,169,172,206, 76,230,200, 19,108, 59,100,161,211,124, 6, 77,141, 44,116, 86, 92,247, 35, 92, +173,243,215,190, 78,114, 19, 47,211,192,230, 70, 49,196, 12,239,111,167, 80,148,150, 72,231, 35, 1, 88, 15,158, 83,239,115,122, +155,204,211,101, 10, 57, 95, 55,143,149, 83, 41,157,160, 30, 82,234,140, 1,148,153, 73,110,148, 96, 27, 34,123, 74, 50,151,154, +109,244,236, 72,137,146,240,201,198,211,163,208, 18,206,131, 32, 34,169,180, 98,136,226,101,247, 45, 39, 50, 73,152,168,120, 46, +163, 20,215,253,200,253,166,102,183, 40,232, 17, 84, 66,162,148,164,139,137,218, 24, 98,140, 12,193, 83,105,203,214,141,212,133, +162,241,142,135,210, 32,146,224, 10,201,171, 74,177,171, 37, 94, 8, 62, 95, 20,124, 36, 5, 97, 24,115, 55,231,166,224, 23, 89, +230,155, 57, 62,223,133,220,148,171,172,124,166, 84,185,248,194,250,246,214,219,223,230,151,126,233,231,216,180, 46,131, 85,124, + 98,216, 14, 92,182, 3,149, 45,121,248,218, 13,118,155,130,222, 7, 8, 57,101,205, 76, 64, 35, 73,162, 31, 60, 91, 23,104, 93, +194, 74,137, 53,249, 53, 12, 36, 98, 72,140, 33, 48,186, 56, 61, 88, 50, 39,158, 20,233,221, 52,149,247,158,147,118,228,162,115, +180, 62,131,102, 46,199,108, 99, 25,198,158,232, 3,115,101, 89, 52,101, 22,211,125,243, 99, 94,187, 10,236,123,193,221, 91, 5, +143,174,223, 27,149,124,153,206, 86,146,207, 58, 33,193,131, 18,154,252,250,213,141,226, 70, 83, 48, 43, 11, 14,235, 57,165, 54, + 40,107,176,214, 18,133,192,143,142, 97,219,211,110, 91,132, 53,212,149, 69, 10,232, 6,199,229,118, 96, 24, 29,163,243, 68,159, +208, 66, 82,207, 53,133,209, 84,139,146,215, 15,231, 28, 29, 52, 44, 22, 21, 85,109,176, 69,206, 92, 55,141,102,119,111,134, 20, +145, 79,158,108, 88, 46, 74,234,218, 80, 87, 6, 99, 21,139, 66,113,179, 80,236, 91,195,172,210,232,198,176,179, 44,217,158,245, +180,219,158,110,219,161, 43,205,108,183,192, 26,137,114,129,184,245, 96, 37,221,186,227,234,209, 25,103,127,248, 61,254,232,111, +255, 35,174,126,243,219,168,143, 71,222,252,143,191,204,235, 95,125,192, 31,254,218,111,240,214, 63,120,155,215,191,112,151, 54, + 70, 46, 98,160,182,130,170,176, 88,173,208, 11,195,229, 7, 29, 95,118,138, 97,188,162,171, 74,116,109,249,162, 27, 24,147, 32, +218, 2,105, 45, 97,127,151, 79,198,145, 95,253, 59,255, 59,199,127,237,231, 40, 94,249, 12,183,239, 29,177, 58,184,193,108,181, +135,106, 26,154,101,197,172,177,212, 86,103,122,160,247,232,209, 81, 14,158, 57, 30,237, 28,115,109, 56, 48, 5, 59,163,103,214, +181,236,246, 35,111,218,130,207, 55,115,142, 46, 79,249,209,122,198, 23,234, 25,111, 44, 86,188,214, 44, 89, 21, 13, 69,217,112, + 65,100,102, 5,172,118,216,111,102,220, 61,216,229,196, 40,130,206,205,126,144,154, 31,155,207,168, 4,120,239,113, 49,208, 59, +199,199,235,109, 14, 91, 57,187,130,203, 22,113,118, 65, 26, 60,195,101,159,183, 59, 50,175,156,196, 4,208,249,127, 12,171,178, + 19, 58,187, 48, 25, 82,163, 77,126,182,125, 90, 36,252,255,245,143,148, 47, 79,145,159, 38,226,148, 22, 10, 75,119,182,201,124, +245, 36, 56,216,169,120, 56,111,184,211,204,153, 43,141, 85,134, 72, 98,207,150, 92, 5,207,188,208, 52, 82, 82, 40,195,162,108, +168, 35,236, 38, 65,153, 28,209, 71,124, 20, 84,202,176, 40,106,106, 99,153,233,130,133, 20,212, 50, 79,150,141,176,148,202, 80, +151,115, 36, 54,171,250, 83,162,158,175,168,202, 57,133, 45, 41,164,160,180,150, 89, 89,178,154,213,220, 60,216,227,230,193, 46, +183,247,151, 28,220, 62,228,232,112,193,155,183,110,114,127, 94,242,198,254, 42,111,193,148,102, 43, 18,201, 65,210, 50, 39,103, +126,159,130,254,231,252,252,113, 90,183,199,148, 7,174,235,201, 61,168,140,201, 86,102,154,162,205,203,215,109,130,200,160, 12, +226,186, 41, 51,121, 53, 30,147,160, 52,138, 66, 41,198, 24,137, 19,235,100,155, 34, 66,107,198, 16, 49, 69,197,133,243, 28,218, + 2,132,164, 81,138,185,178,108,100,230,151,100,198,135,153,232,158,229, 11,160, 87,146,138,207, 21, 13, 91,169,179,218, 62, 9, +180, 86,236, 34,121, 79,192,171,218,210, 11, 65, 43, 20, 23,227,128,156,182,202, 3,144,148,101, 37, 37,167,126,228, 94, 81,225, +124,160, 52, 5, 78,106,182, 33,226,141, 70, 26, 67,151, 96,144, 18, 79, 34, 12,110,154,250, 38, 79,122, 97,242,107,164,174,183, +216,230,229, 16,169, 36, 86, 10,130,209, 63, 96, 81,151, 19,143, 56,193,201,199,207,184,248,222,211, 9,101, 39,255,244, 77, 74, +234,151,197, 93,201,172, 50,245,125, 22,169, 44, 22,160, 4,105,116,176,238, 50, 37, 39,201, 9,123, 23,114,135, 44, 21,140,158, +202, 74,132,130,185,214,180,206,103,228,235,208, 35, 83,190,131,131,228,233,118,224,108, 66,143, 18, 32,133,144,115,192,211,244, +166, 49,246,133,170, 92, 10, 73,175,114, 13,168,117, 66, 41, 77,129,100, 87,103, 2,207,214, 7,110,106,195,165,119, 92,186,200, + 43,165,224, 59,237,200, 16, 37,141,200, 69,189, 83,137,116,253,206, 82,217, 7,253,162,129,241,147,234,220,121, 80,130, 82,102, + 20,226, 43,205, 12,161, 20, 34, 6, 42,109,112, 49, 32, 17,184, 24,241,126,164, 52,154, 98, 28, 89, 37,193, 54, 38,110, 21,154, + 93, 45,105, 99, 98, 68,114, 71, 75, 78, 82, 96, 12,129,171,160,178, 40,143,240, 50, 16,199, 95,175,228,253,203, 53,141, 79,121, + 69, 86,218, 23,144,130, 95,248,247,127,129,187,175, 30,177, 94,119,180,219, 22, 55,142,140, 19,225,109,103,177, 64, 72,197,106, + 86, 49,159, 23, 64,166,227, 73, 33, 24, 66,162, 31, 61, 67,240, 88, 18,221,144, 3, 92,140,150, 36, 9, 33, 10, 66,140,196,152, +178, 47, 61, 68, 34,249,207, 17,129,144, 80,164,108,183,233,187,145,181, 11,108, 83,196, 13,142, 34,230,200,213, 49,100,238,128, + 78,153,141,220, 1,191,246,214, 35, 68, 23, 41, 37,136, 33,113, 62, 70,190,114,183,225, 39,238,204,248,185,210,240, 83,175,214, +188,118, 88,210, 61,172,216,155, 75, 78,199, 8,165, 64, 42,197,172, 52,212, 70, 50,183,150,253,197, 46, 50, 66, 81, 87,216,178, + 64, 11, 73,236,115,116,106,136,129,166,170, 88,148, 6, 23, 2, 39,235,142,227,179, 13,237,101, 71,215, 13,120,159, 83,241, 12, + 18,165, 65, 25,133,109, 10,230,149,193,216,220, 56, 6, 35, 73,149, 70,107, 56,220,105,176,133,102,177, 83, 83,149,134, 40, 21, + 74,201, 28,202,151, 18,133,139,148, 61, 36, 33, 24,172, 64, 43,201,106,127,198,114, 89,226,189, 39, 8,193,191,250,149,223,229, +189,111, 62,226,198, 98,135,245, 39,151,124,247, 15,255,132,239,254,238,159,240,123,255,203, 31,243,248,183, 62,200,233,119, 40, + 36, 1, 22,145, 31,254,233, 31,226,222,143,127,158, 94, 25,126,235,215,255, 25, 7,183,143,184,212,138,221, 90, 83,219,108, 13, +221,169, 44, 39,251, 13,247, 14,231,204,223, 63, 99, 45, 34,135,165,102, 39, 68, 46,158, 93,177, 45, 11,234, 89, 65,219,123,214, +169,192,124,229,171,148, 70,177,218,171,152,151, 6,163, 20,218,228,207,122,109,196,139, 39,182,117,158,114, 24,144,219,145,153, +246, 28, 10,201, 13, 93,240,197,162,226,168, 42,121, 80, 46,184,191,115,131, 7,119, 30,242,224,246,125,142,118,110,113,115,182, +207,222,114,159,157,131, 61,234,162,166,218,205, 81,153, 85, 80,244, 30,134,228,152, 23, 5, 55,155, 37,141, 49,236, 23,146,247, + 7, 15, 72, 66,138, 52,140, 28, 25,195,156,196,243, 97,195, 63, 60, 59, 39, 73,248,194,162,164, 22,158,139,147,233,110,238, 70, + 16, 2, 33,114, 40, 19, 58,175, 43,179,216, 52,252,121, 32,135, 41,243,218,211, 76,159,111, 61,177, 33,162,255,139, 23,245, 79, +107,139, 94,168,233,203,188, 54, 45,154, 12,194, 41,243,234,118,183, 48,220,168, 13, 71,166,100, 89, 20,204, 76,137, 4,106,165, + 8,164,156, 82,153, 50,169,177,138, 17,225, 6,172,243, 84,222, 81, 41,203, 24, 35, 85, 81, 33,133,164, 48, 10, 37, 36, 18, 65, + 74,130, 74,107,164, 0,107, 42,170,229, 14, 66, 90,116,105,145,218, 98,154, 6,101, 76,230,195,199,136, 20, 57,153, 82, 41, 77, + 89, 55,104,101, 41,139,146,217,124,151,133,169,185,189, 60, 96,175,106,216,173, 27,238,204,230,216,194,240,112,103, 65,242,129, + 79, 4,164,249, 33,209,119,153,143, 30, 35,233,251, 20,116,241,233,194,206,167,132,188,215,156, 20,117,189,158,143, 47, 99, 70, +175, 29, 60, 90,252,169,190, 64, 76, 95,188,117, 17,167, 37, 46, 38, 26,153,208, 90, 35,164,230,156,140,204,141, 49, 23, 79, 23, + 35,117, 89,210, 37,197, 40, 36, 27, 20,133,212,204,164, 96, 43,212,196, 9, 17,211, 10,126, 66,112,203,130, 59,182,224,105,130, + 91, 90, 83,107,197, 59, 18,238,170,130,103, 4,142,164,224,189, 16, 88, 41, 77,157, 18,167,198,114, 11,120,230, 51,151, 69, 24, +201,101,146,252, 84, 85,225,130,231,245, 89,195,190,150, 84, 86,243,165,217,140,189,186,225, 94, 97,121, 88,215,156,166,200, 37, +146,116,157,228, 70,200, 53, 48, 94,231,128,144,201,173,215,129, 95,218, 66,146, 36,242,249,246, 7, 43,234, 33,228, 78, 75, 76, +119,246, 52, 37,241,148, 38,119,184, 97,202, 85, 15, 33, 23,255,235,187,210, 56, 78,111,244,204,114,167, 29,178,186,187, 31,243, +135, 69, 77, 10, 63,171, 94, 78,235,165, 69, 68, 88,104, 77, 39, 97, 97, 45,235,209, 49, 51,154,110, 74, 20,218, 6,143,210,138, +139,126,186,133,167,188, 14, 15, 62, 76,112, 28,253, 18,126, 35, 68, 22,124, 69, 8, 99,164,148,217,163,222,135, 64, 35, 5,109, +140, 40,160, 19, 76,111,116,193, 71,193,115,168, 36, 39, 67, 96,144, 2, 23,179, 55, 49, 75,193, 95, 6,138, 76,161,228, 83,145, +141, 47,188,168,103,189,231, 51,203, 25,125,138, 84, 74,224,147,160, 16, 80, 75,141,115,142, 82,105,180,204,162,182,165, 82, 24, + 50,145, 46, 41,145,255, 10, 37,153,135,196, 25,130, 61,173,168,148,230, 56, 74,156,152,254,174,126,200,239,114,165,114,160,139, +148, 89,128,120,189,194,113,126,210, 61,100,229,100, 88,204,248,202, 23, 31, 50,244,158,174,115, 4,231,240, 19,250, 85,164,196, +195,215,142,152,213, 5, 59,179, 34,115,117, 2, 72, 45, 9, 33,178, 25, 29,151, 87,158,110, 12,164,152,111, 65,102,250, 62, 37, +146, 20, 18,129,196,232, 34, 99,200,104, 74,145, 34, 86, 64,149, 50, 38, 22, 31,216,142,158,245, 24, 24, 59,135,115,142, 2,120, +238, 60,235, 20, 72,222,209,199,192,108, 49,231, 81,187,229,215,255,201, 7, 60,146,129,247,206, 28, 31, 92, 57,134, 51,207,199, +207, 29, 31, 94,246, 28, 24,184,245,165, 59,252,200,195,215, 41,142, 14,184,163, 3, 63, 84, 43,126, 98, 94,177, 42, 18,181, 16, +164, 4,203,210,114,179,217,161,158,205, 40, 22, 53, 86,233,204,100,146,249,119, 22, 2, 44,230, 53,135,179, 18, 66,224,252,116, +195,241,211, 51,182,235, 43,252, 48,226,188, 35, 57,143, 74,137,224, 61,206,193, 48, 38, 98,161,137, 74,210, 43, 65, 42, 13,205, +178, 64,156,111, 40,254,245, 19,222,189, 88,227, 17, 72,151, 72,218, 80,104,157, 5,133, 36,132,139,200, 36,136,133,202, 41,130, +217, 9,136,213,138,157,155,115,102,251, 53, 95,254,201,207,241,141, 47,191,198,215,239, 46,217,185,183,199, 87,190,244, 6,255, +252, 95,109,217, 14, 11,228,113, 64,208, 79, 69, 29, 22,111,214,232,162,228,225,205, 5, 95,255,252, 17, 15,126,244,179, 60,223, +175,216, 43, 53,149, 75, 84, 74,162,173, 70, 22,146, 7,187, 37,197, 97, 69, 58,168, 89,188,187,229,234,124,160,235, 70,254,232, +120,160,154, 43,124,136,140,235, 17, 51, 4,118, 18,148,203, 18,229, 19,138, 68, 97, 36,113, 59,146,188, 71, 38,137,116, 1,209, +142,212,253, 72,108,183,104, 34,183,133,230,205,178,225, 70, 89,112,179,110, 88,205,102,212,203, 5,229,206, 28, 93, 26,172,178, + 24, 4,182, 44, 49,179, 10,213,212,232,202,162,171, 2, 85, 20, 88,107, 88,120,205,111, 15,129,207, 53, 13,101,213, 80,107,139, + 72,145, 66,120,158, 62,187, 36,125,112,204, 7,255,215,247,216,185,111, 24,199,150,199, 23, 23,188,211,122,126,246, 96,151, 47, +238, 30,242,234,206,146, 15, 82,160,221,110, 50,222,118,162, 41, 10, 49,185, 69,234, 10,154,102,138, 48,253,148, 86,136, 41, 2, +238,122, 82, 20,249, 62,154,113,157, 67,254, 44,253, 69, 7,159,235, 33, 71, 22, 57,113,171,106, 96, 94,231, 7,180,214, 44,172, + 98,169, 36,123, 11,131, 1, 30, 86, 53,145,108,169, 45,165, 32,166, 56,125,174, 96,244,217,109,161,200,216,106, 43, 4,115,105, +176, 73, 98,173, 38,133,152, 83, 19,125,100,219,181,108,251, 43, 68,116, 8, 4, 82, 40,164,136, 24, 85, 32, 85, 66, 8,131, 42, + 12, 56,151, 49,206, 82,230,144, 24,231, 16, 90,163,109,129, 68, 99,108,133,178, 21,214, 52,216,170, 65,106,141, 45, 42,138,162, + 38, 42,195, 65, 61,103, 67, 98, 89, 21,124,243,108, 64,223,219,197,159,158,229,154,108, 20,233, 26, 64, 38,167, 9, 94,235,191, + 24,126,220,232, 28,212, 99,228,196, 43,153,238,235, 98,138,245,142,113, 18,253,102, 56, 24, 70,210, 38,184, 97, 45,181, 53, 12, + 82,146, 84, 14,185, 84,202, 18,100,110, 70,163, 84,196, 32,152, 87,150,109, 18, 84, 74, 19,164,160, 81, 6, 33, 5,133,146,116, +241, 90,155, 52, 21,118,165,153, 11,197,171, 69,197, 73,204,191,155,165,178,108, 17,116, 40, 66,146,220,144,138, 36,178, 88,120, + 30, 35, 31, 2,165, 41, 9,228, 96, 46,165, 21, 59, 82,114,171, 50,220,211, 37, 91, 4, 51,105,216, 74,197, 74,149, 12, 74, 83, + 40,205,205,178,102, 16,130,211, 48,109, 42, 70,247, 82,139,161,204, 20,179, 42, 94,164,222,161, 45, 74, 25,146, 82, 4, 85,254, + 37,228,169, 95,175, 76,174,253,155, 77, 61, 21,177,235, 28,239, 79,197,203,169,201,203,221,141, 89, 24, 81,152,233,126, 49, 21, +160, 41, 44, 5,145,253,206, 47, 86, 11, 50,175,151,157, 53,204,180,230,187,155, 45,243, 66,179, 52,134, 53,153, 94,212,198, 64, + 7,116, 78,112, 17, 2, 98, 12,153,169,155, 34, 47,118, 52, 98,250, 30,194,212,125, 43, 5, 62, 32, 75,205,166, 31,153,149,138, +218, 26,146,247, 44, 11,203,214,123,218,224, 9,192, 54, 38,138,152, 56, 13,137,237, 48, 78, 65, 41,215, 30,252, 63,251, 65,158, + 86, 38, 76, 63,127,120,201,163,126, 60, 70,110, 53, 22, 71, 98, 71, 74,118, 76,193,102,220, 98,180,129, 48, 16,164,193, 6, 79, + 99,114, 51, 82, 41, 73, 36,161,149, 68, 75,197, 73, 74,236, 33,121, 26, 3, 43,109,176,181,228,233,224,167,201,156, 60,141, 79, + 62,234, 23, 98, 69,145,166,135,213, 84,153,125,142,171,187,120,118,204, 87,127,236,135,113, 99, 94,135,199, 4, 33, 36, 54, 93, +143,235, 3,139,221, 37,187,243, 38, 39, 1, 78,248,211,124, 51,207, 2,184,182,243,116,131,207, 73,142, 49,162, 84,142, 61, 84, +211, 41, 98,188,158,210, 67,164,154, 4, 40,253,132,142, 44, 82, 78,243, 75,131,231,162, 27,113,221, 64,233, 61,142,200,198, 59, +182,126,200, 27, 38, 91,112,120,231, 38,207,187,150, 63,126,247,241,116,190, 73, 83,124,108,130, 70, 48,158,120,254,205, 89,207, + 31,111,174, 8,203, 72, 89, 85,188,243,241, 83,202,229,140,163, 89,195,254,238, 62, 7,209,115, 11,248, 92,221,176, 55, 91, 98, +171, 26, 91, 26,202,194, 98, 11,149,213,185, 8,162, 15,220,152, 87, 28, 46, 75, 84, 72,156,157,181,156, 95,158,211,119, 67, 78, +132,242, 25, 23,156, 98, 32,198,252,190, 12, 41,226,198,196, 0,244, 72, 22,115,203,124,102,184, 58,121,206, 91, 31,124,196,163, + 16, 56,187,234,185,120,118,198,187,223, 62, 97,126, 50,240,222,224,217, 45, 53, 58,129, 83,137,160, 97,227, 3, 94,100, 11, 91, + 2,124, 18,140, 82, 49,147,146,135,115,195,106, 89,179,191,204,119,208,159,255,107,175,243, 31,253,228, 3,126,242,139,183, 88, +251,199, 60,126,255, 2,137,227,175,252,215, 63,199,143,191,114,192, 50,228,237, 87,153,224,187, 23, 29,231,143, 79, 57, 18,154, +198, 72, 76,109, 16, 38, 71, 69, 26,165,184,122,187, 69,188,239, 49, 79, 7,206, 79, 47,232,195, 5,118, 54, 67, 95,110,177,155, +150,230,170,231, 48, 36,106,163,120,181,150,124,205, 74, 62,155, 34,175,199,192, 43, 41,242,211,179,146,215,140,224,118, 33,185, +242, 3,201,195,129,210,220, 87,134, 90,231,237,200,162,154, 97,234, 18, 89, 24, 68, 93, 34,173, 65, 40,137, 72, 18, 33,115,244, +174,104, 42,196,162, 0,171,145, 90, 33,149, 68, 43,197,225,178,225,212, 5,222,108,106,246,139,138, 91,166,228, 63,251,247,126, +140,159, 53, 21,127,239,234,156,120, 88,243,157,147,142, 63,252,232,146,119,158,174, 73,223, 59,231, 27,111,222,229, 70, 85,211, +166,200, 31, 5,199,152, 52,244, 30, 49,246,249, 4,165, 64, 20, 5,114, 81,243,250,174,197, 91,155,197,174, 62,188, 12, 18,145, + 50,175,129,175,201,142,110,204,214, 55,247,255, 67, 48,167,116,142, 41,109,106,216,153,229,130, 94,217,188, 58, 45, 21, 43,171, + 40,132,228,103, 87, 21,135, 2, 94, 45, 11,130,148,200, 24, 41,164,198,165,152,131, 26, 73,196,224,185,232,182,180, 33,144, 82, + 30, 52,124, 10,104, 18, 82,105, 84,136,156, 15, 3, 2,193,218,245,140, 33,112, 25, 70, 92,138, 68,239,208, 74, 99,141, 37,165, +136,110, 26, 68,200, 14, 22, 97, 44, 20, 10,161, 20,201, 59,132,202, 9,139, 66, 8,164, 84,153, 68,109, 43, 32, 33,172, 70, 74, + 69, 82,154,164, 20, 90, 25,182, 8, 74, 83,208,138,200,157, 18,196,122,203,113, 31,241,101, 69,242,144, 76, 65,180, 53, 41,138, +108,115,150, 6,172, 68, 76, 91,222, 63, 79,233,211, 47,239,200,105, 42,224, 70,189,200,137,167,152, 10,237, 20, 20, 99,203,146, +160, 21, 86,106,154,210, 18,165, 66, 75, 67,105, 52, 87, 99,162, 49,134, 36,179,184, 13, 4,115,109,137,133, 69, 36,155,183, 33, + 74, 81, 73, 75, 75,160, 81,146,203,148,240,198,144,194,116,198,156,148, 79,181, 50, 84, 41,112, 46, 4,149, 54, 52, 34,242, 84, + 40,246,101, 22,167, 5, 96, 76, 2, 39, 37, 59, 82,242, 28, 8, 41, 32,148, 69, 16,105, 80,220, 22,154, 55,230, 11, 62,244, 35, + 75, 85,176,197,177,178, 11, 62,113, 61,171,114,198, 58, 65, 79, 98, 71, 75,122,105, 88, 71,159, 27,153,110,152, 26,163,105,237, + 46, 5, 66, 23, 40,109, 40,180,196,203, 44,162,147, 50,253, 37, 8,229,174,189,155,117, 57, 69,135,166, 79,201,237,139, 23,222, +194,151,164, 32,145,249,239,238,218,214, 96,115, 81, 15,254,165,216, 44, 77,121,226,253,244,239,146,135, 82,179,144,130,211,126, +224,235,111,126,142,243, 71,143,248, 36, 37,106, 43, 57,117,217, 50,225,250,200,243,216,177, 91, 20,156,140, 46, 79,174, 74,229, + 78, 79,126,106,101, 99,213,203,239,187, 80, 68, 23, 40, 76, 14,162,217,211,129,193, 90,206,219,204, 11, 54, 90,178, 29, 61,117, +130, 51, 36, 55,172,224,217,116,147,207, 96, 23,253, 41,110,190,250, 62,183,180,235,117,146,134,232, 9,253,192, 31,159,110,248, +252,193, 18,105, 52, 79,182,107,246,170, 26,215,247,152,162, 98, 24,174, 16,186,196,122, 15,182,164,247, 89,201, 95,105,141,247, + 57,208,224,116,116,220, 16,154, 45, 9,147,200, 97, 20, 35, 80, 68, 24, 38,223,250,181, 53,240,251, 61,127, 12,153,206, 4, 88, + 43, 1,205,213, 69, 32, 78, 83,202,188, 44,233, 59, 79,112,129, 16, 67, 6,172,132, 72,165, 37,227,224, 81, 50,177, 29, 60,155, +193,177,222, 58,116, 27,217, 93, 20,212, 70,226, 67,194,170,156, 84, 38,175, 51,129, 72,116, 41, 7,168, 68,160, 21,130,128,160, +209, 57, 77,105,150, 96, 45, 4, 43,165, 24,130,100, 85, 20,108,250, 54,247,129, 68,202,202,226,214, 87,217,214,135, 7, 27,225, +142,205, 10,119, 18, 44, 53, 92,193,229,123, 29,191,117,252, 1,247,127,102,203, 7, 62,112,218,119, 28, 23,138, 55, 23, 59, 12, + 85,195,221,221, 5,183,186, 17, 37, 20,167, 68, 68,128, 69,109, 49, 70,177,141,145,203,148,137,178,115, 33,144, 33,209,141, 30, + 70,135,244, 9, 27, 34, 82, 41,164, 16, 83,202, 85, 66,248, 97,202,156,246,244,222,177,137, 3,108,103, 92,218,132,208, 13,255, +242, 60, 17, 67,164, 54, 6, 33,225,160, 40,217, 21, 35, 95, 60,118,252,195, 63,254, 61,126, 39, 58,110,127,253,135,152,223,152, + 99,154,130,164, 53,203,202,210, 21, 5, 99, 74, 68,173, 9, 62,243,248, 69, 20,164,144, 25, 28,131,212,148, 18,202,251, 13,175, +222,126,149,255,230,103,255,115,206,223, 57,230,119,199,192,177, 10,108,149, 68,196,136, 1,194, 24, 56,253,149,223,231, 79,254, +231,223,231,183, 80,252,213,255,224, 62,191,248, 95,252, 13,230,159, 57,152,214,152,130,219, 63,126, 3,126,244, 16, 98,228,205, +206,227,207,122,190,245,127,188,197,193,189, 67,218,222, 79, 28, 1,137,117, 26, 61, 72, 74, 41, 40,102, 51, 68, 61, 67, 76,228, +200,250,170, 67, 94,108,185, 85,150, 60, 25, 19,115, 37,169,181,162, 68, 48,223,153,163,119,102,136,114,194, 23,199, 4,163,200, + 19, 72, 57,137, 52,108, 49,173, 58, 65, 76, 42,100, 17, 37,210, 40, 30,116,154,187,171,125, 60, 9, 71,194,141,240,247,255,241, + 31,240,175,135, 62, 7,144, 72,133, 44, 21,194, 42, 36, 37,241, 48,241,203,223,250, 46,255,195,143,126,134,181, 54,108, 66,132, +189, 5,194, 42,210, 39, 37,162,189, 36,181, 27,192, 19,235,130,103,193,114, 41, 4,204, 42, 4,146,212, 78, 32,154, 97,132,226, +122, 16,136,223,159, 16,247,255,182,118,215, 21,203,195, 57, 93,146,220,222,169,137, 72, 78, 17,108, 66, 70, 98, 43,153, 27,183, +175, 47, 53, 7,149, 97,134,193, 5,120,220,118,148,117, 69, 55,108,153,219, 18, 43, 2,155,161,231,180,109,249,216, 15,156,219, +134,187,141,100,140, 30,145, 52, 79, 66,207,118, 27, 16, 66,178, 50, 37,207,198, 30, 69, 68, 4,143, 8, 3, 39,192,205,114,134, +211,185,161,211,245, 44,247,245,171, 26,233, 2, 30,137,138,145,224, 71,164, 85, 48, 90, 82,202, 91, 9,193, 20,196,148, 34,178, +172, 72, 49, 98,154,138, 24,242, 48, 23,181, 99, 87, 72, 68, 81,177, 34,178,213,138,163,242,140, 47,204, 12,143, 29,156, 13, 35, + 66,106, 46,124, 96,140,224,194, 4,240,217, 76, 1, 60,166, 32, 13, 49,115, 78, 94, 12,138, 38, 59,163, 82,132,178,196, 54, 5, +152,130,170,202,110, 33,172,166, 2,182,218, 80,106,141,139,158, 3,157, 73, 17, 86, 91, 74,107,115, 70,133, 82,172,180, 70,107, + 3, 8, 10, 41,144, 82, 19,133,162, 34,114, 28, 18, 21,137, 82,229,230, 98, 95, 23, 92, 12, 14, 77, 68,135, 64, 48, 10,229, 50, +113,242,129,214, 60,119, 35,162, 44,152, 69,176, 9,190, 23, 35,175,105,120, 39, 38,142,164,164, 6,158,197,200,109,224, 17,208, + 76,224, 27,162, 71, 34,248, 90, 93,114,219,104,206,188,227, 78, 81,115,236, 28, 11,179,195, 24, 71,110,207, 86, 92, 12, 27,118, +140, 69,104, 67, 43,224, 78,225,185,223,236,115,188,217, 82,204, 12,111, 61,223, 18,165, 70, 12, 46, 71,217, 18, 40,129, 82, 40, + 14,136,160, 18,131,212,127, 9,147,250,167,163, 12,109,153, 63, 0,122,234,180,124,152,248,180, 83, 60,166,184, 78, 12,155, 80, +176,106,154, 28,211,100,123, 99,154, 52,167,238, 48,139,240,166,197,147, 15,168,210, 50, 83,138,211,205, 26,173, 52, 94, 73,188, + 80, 92, 37, 40,147,162,149,176,246,145,171, 97,164, 16, 34,231, 18, 95,159,203,164,192, 22,138, 48, 38, 48, 10, 37,196, 11,135, + 4, 70, 17,134,145,206, 37,118,172,164, 78, 57,181,205,167, 72,244,121,157,213, 35,152,201,200, 73,159, 88,143, 97,106, 24,228, +203,117,126,186, 78, 81,147, 47, 15, 72, 82, 76,234, 73, 61, 53, 0,185, 38,141,201, 51, 55,146, 89,105,114, 67, 33,166,147,247, +208, 83, 26, 75,240,142, 78, 8,230, 72,198, 24,209, 54,195,254, 21,146, 32, 52, 90, 66, 23, 35,143, 99, 64, 10,205, 19, 38, 11, + 70, 63,117,117,147,157,231,229, 42,241,207,110, 87, 66,214, 22,148,134, 31,255, 43, 63, 65,140,208, 94,181,116,109, 75,187,237, + 40,138,130,161, 31, 80,210,178,183,191,195,173,221,134,224, 35,150,140, 56,236, 92,164, 29, 3, 97,140, 92,181,142,209, 7, 54, +206, 83,151, 58,135,183,136, 44,164,243, 41,209,133,124, 23, 43,132, 96, 12,137, 33,229, 48, 28,231, 35, 54, 69,108,231, 24,122, + 71, 57, 56, 86, 81, 32, 37, 84, 64,116,129, 24, 50,242,240,193,141, 67,222,251,224, 17,239,157, 92,241,122, 23,121,254, 73,128, +117,128,165,130,199, 14,250,200, 44,129, 38,113,184, 48,216, 16,168, 14, 42,214,231,125,158,104, 54,103,180,209,241,165, 47,125, +137, 27,111,188,194,182, 48, 92,110, 91,170, 4,203,101,195,124, 86, 80, 89,195,210, 40,118,203,130,189,121,137,150,146,161,115, +116,151, 45,169,235, 41, 68,182,134, 25,157,225, 14,122, 90, 20,232,148,208, 50, 82,132,132, 30, 28,202, 57, 70,239,105,235,154, +205,108, 70, 82, 21,171, 24,216,155, 27, 78,188, 64, 12, 61,103,238,138,127,122,118,142, 25,215,188,251,157, 15,233,223,126, 76, +251, 27,223,228,157,247, 79,248,253,223,121,143,187, 23,145,117,109,184, 24, 29, 73, 75,180,149,248, 49,135,197, 92, 33,216, 2, + 49,102,151,136,239, 28, 91,153,120, 63, 37,250, 82, 19, 77,129,145, 26,143, 96,140,129,113, 12,188,242,230, 29,254,229,123,239, + 99, 30,141, 60,250,246, 57,255,244,127,251, 67,126,225,111,254, 8, 98,178,194,166, 33,226,175, 6, 82, 76, 25, 7, 92, 26,110, +125,227, 30,205,221, 29,246, 63,187, 98,247,181, 93,230, 71, 11,138, 69,133, 80, 18, 93,106,180, 80, 40,163, 81,133, 38, 78, 13, +243,198,121,198,152,185, 2,135, 83, 20,239,222,124, 78,185, 63, 71, 86, 57,194, 22,159, 72, 99, 36,174, 59,146,115,164,174, 39, + 57,135,176, 42,127,212, 11, 77,242,137, 56, 6, 92, 63, 18,188,199, 71,159,243,173, 75,131,170, 11,236,254,146,195,197, 46, 55, + 69,197,126,165,113, 54,242,180, 31,137,195, 72,252,206, 25,137,192,189,253,146,191,253,181, 47,243, 57,101,249,213,147, 99,174, +124,204, 83, 94, 85,228, 38,216, 84,224,122, 68,187,165,247,242,101, 64,134, 49, 8, 49,129, 61, 72, 19,123,252, 58,222,242, 83, + 39, 68,173,255,252,132,121,157,139, 81, 90,104,230,168,229,140,207,237,204,120,184,187, 96,111,209, 80, 88,205, 65, 83,240, 60, + 66,144,137, 74, 27,172, 12,252,120, 83, 49,183, 42, 67, 84,124,158,194,207,183, 3, 49, 68, 6, 55, 82,144,159, 63,111, 11,120, +171,218,227,222,124,201,221,253,219, 24,109,179, 64,109, 24, 56,139, 35, 67,244,180,192,198, 15, 92,185,142, 77,116,108, 82, 2, +107, 89, 43, 65,221, 52,216,162, 64,218,124, 42, 10, 49, 76,196,115, 8,163, 35, 77, 27,197,224,186,252,222, 16,146, 20, 28, 66, + 24,146,202,226, 87, 89,214, 89,189,164, 44,113,130,225, 68,107, 9, 68,162, 46,217, 4, 71,176, 22, 93, 85, 72, 43,121, 80, 87, +152,218,240, 96, 94,113,119, 86,112,123, 81, 49, 8,201,225, 94,205,185,158,234,133,212,249,249,101,235,151, 89,225,218,192,124, +206,237,221,138,195,186,164,153, 21,172, 26,195,194, 90,118, 11,197,110,101,217,151, 26, 37, 51, 91, 98,161, 11,230, 69, 73, 97, + 20, 51, 91, 17, 68,100, 49, 21, 72,133,100,174,114,240,151,151,154, 65, 8, 46, 93,100,174,115, 2,227,220,102,232, 76,235, 70, +106,149,127,239, 27,239,169,100,118,242, 52, 36, 28,146,221, 20, 25, 66,126,110,245, 66,240,154,214,188, 59,140,220,183, 5,199, + 33,178,163, 36,149, 82,156, 35,185, 15,124,148, 2,114, 10, 2,251,233,106, 70, 29, 97, 97, 21,115, 99,240, 66, 80,153, 76,180, +171, 76, 65, 31, 60, 11, 83,209,138, 68,166,241,123,140,214,184, 40,153,171, 68,151, 12, 43, 3,167, 67,200,246,241, 24,121,189, +106,216, 81,146, 90, 10,110, 74,201,162, 40,177, 66,253,128, 69, 93, 79,235,165,235, 44,118, 57, 81,129,196,148,223,157,166, 34, +173, 39,240,252, 11, 68,172,123,121,167, 26,211, 68, 26,242, 83,138, 88,238,170,178,170,217,230, 73, 83,128, 42,203, 44,136, 52, + 5, 59, 90, 65, 89,224,164,101,140,137, 70, 91,158,120, 71, 23, 34,193, 22,132,190,207,228,159, 77,159,191, 23, 99,144,133,196, +162, 40,172,197, 39, 71,140,137,125, 83,208,199,136, 85,138,224, 60,193, 7,118,180, 96, 16,208,133,128,137,130,109,242,148,211, + 26,204, 36, 56, 29, 60,173,144,249,254,239,252, 20, 65,153,160,170,242,207, 48, 78,105, 76, 97,122, 16, 88, 59,145,244,166,230, + 71,100,111,230,170,177, 36,159,216, 45, 10, 90, 55, 96,101, 86,226,187,233,181, 49, 86, 51,142,142,178, 52,136, 0, 73, 78,164, +163,152, 94,172, 78,157,146,252,193, 38,135, 3,188, 72,107,187, 22, 38, 94, 43, 39,191,223,237,170, 46,167,219,191,224, 75, 95, +255, 42,101, 83,208,111,123,218,245, 38, 99, 5,180, 65, 70,193,197,249,134,162,156, 51, 95,212,204, 27,141, 84,130,118, 72,244, + 62,208,247, 1, 23,161,247,142,182,119, 88,171,184,123,208, 32,200,247,248,156,214, 22,179,149, 45, 68, 90, 31,232, 67, 64, 8, +145,197,250, 46,160,131,167,234, 51,107,125, 24, 28,125, 8, 60,139,142, 62, 70, 26, 41, 25, 82, 98, 37, 21,175,220, 62,228,195, +199, 79,184,250,246, 57,247,172,228,246,107, 37,162, 86,188,118, 88,112,187, 11,252, 59,243,130,207,110,115, 51,240,229,160,216, + 93, 74, 52,176,187, 44, 16, 8,246, 2, 92, 68,199, 16,224,141, 55,239,243,218,103,110,113,220, 58,174,250, 1, 91, 21, 20,133, +166, 41, 52,133, 82,236, 46, 43,234,202, 98,164,160,219, 14,108,215, 45,105, 24, 49, 66, 80, 26,141,145, 18,155, 18, 50,100,171, +158,140, 9, 69,206,153, 55, 17, 52, 17,213, 57,180,119,136, 33, 97, 48,244,197,140,131,253, 93, 98, 57, 39,154,138, 43, 13,101, +123,201,237, 30,158,186,142,195,214,113,233, 6, 94,237, 19,207, 66,135,252,246,187, 92,125,247, 9,255,228, 55,254, 57, 79, 30, +117, 60,122,188,229,195, 62,208, 91,141,208,146, 46,130, 12,158,174,117,124,180, 30,248,206,105,199, 58, 37,164,150,124,102,101, +241, 66,147,140,230,208, 9,182, 50, 49, 68,197,236, 51,175,242,229,159,126,157,195, 7, 37,238,189, 51,254,207,255,233, 55,249, +233,191,241, 21,164, 80,184,179,129,177,115, 4, 41, 80, 66,162, 76, 78,181,147, 11,139, 40, 52,178,204,235,240, 24,179,203,196, +141,121,122, 39,228, 7,125, 18,137, 97, 12, 92, 56,135, 46, 13, 61,176, 50, 57, 4,104, 86, 91,244,117,218,152, 75,132,103, 91, +134,247,143,241, 31,126,194,248,201, 49,227,232, 16, 49, 32,166,160,161,216,142,248,193,227,186,158,182,235,184,188,220,224,198, + 1, 93, 40,164,209, 8,173,161,208,116,222,211, 38,193, 85, 10,196,148, 40, 45,168,186,228,188,214, 68, 45, 56,247,240,209,211, + 71,252,183,111,125,151,231,103, 93, 46, 30,243, 69, 86, 52, 47, 26,196,238, 46,236,237,193,124,137,120,126, 9,174,205,197, 68, + 76,226,223,186,156,232,141,226,229, 42,254,211, 27,184, 79,255,249,186,200,235, 38,175,150, 15, 14, 88,204,107,126,226,104,151, +251,243, 57, 55,155,134, 90, 27,118,148,228,196, 7, 90, 1,253, 20,203,176, 39, 36,187, 5,220, 84,185, 9, 47,133,224,184, 31, +248, 23,207,214, 84, 74,240, 30,145,161,168,248, 94,189,226,247,203, 21,174, 90,240, 87,239,222,227,160,168, 88, 53,187,196,144, +232, 72, 28,183, 3,155,152,136, 41,224, 98, 96, 27, 3,231,126,196, 9,193, 58, 38,188, 18,216,186,196, 24,203, 40, 35, 42, 9, +134, 20,137, 50, 15, 55,227, 56, 18,194, 72, 26,122, 82,136,200, 20, 73,110, 64, 40,155, 61,255, 73, 65, 85,101,207,182,148, 36, +163,242, 57, 74, 11,164, 81,180, 33,209, 7,199, 32, 37, 99, 76,180,201,179, 99, 42,148, 49,220,169, 42,180,206,246,180, 85, 61, + 99, 85, 88, 6, 45,169,235,130, 81,104,196,188, 33,212, 85,174, 37,139, 6, 22, 85, 22, 15,214, 5,119, 87, 51,144,154,210, 42, + 42, 99,137, 72,246, 75, 75,161, 13, 23, 94,176, 83, 91,108,212, 84, 69,241,162,168,121, 18,141,170,112, 49,167, 74, 90,153,165, + 95, 73,106,208, 2,147,160, 46, 10,182,227,136,143, 9,143, 32, 6,135, 16,138, 75, 63,144, 98, 96,144,137,198,185,156,149, 78, +100, 39, 5,108,206,240,100, 38, 18, 46, 36, 54, 66,112,168, 13,143,253,192,131,178,225,210, 59, 82,138, 44,129,143, 8,184,224, + 16, 62,113, 71, 27, 14,165,226,176,214,168,144,144,198,190, 8,146,140,147, 91,170, 52,150,203, 16, 88, 25,195,218,141, 84,182, +100,240, 30, 41, 18,103,163, 67, 39,176, 82,115, 44, 2,171,178,226,117,163, 9,202, 98,148,226, 64, 9,148,212, 52,133,100, 33, +220, 15,170,126,159,146,217,132,205,147,185,158,176,175,218,188, 12, 88, 86, 58,123, 62,153,140,253,253,116,131,239, 93,158,212, +245, 52,237, 42, 61, 77,187,215,201,110,217,248,159, 1, 16,144,148, 66,148,138,186,176,180,218,160,149,194, 40,205,229,116,243, +174,180,229,185,243,132,190,195,206, 23,140,235,171, 73,192,150,183, 0, 73, 43, 42, 33, 72, 41,210, 40,137, 16, 18, 99, 36,189, + 15,153,123,110, 52, 12, 35,235, 40,184, 91,105, 46, 93,160, 86,138,153, 84,156,199,196, 92, 75,206, 98,224,196,101,228, 96, 34, +195, 83,242, 14,138, 44,240,211,122, 42,188,241, 83,170,127,159,109, 35, 34,253, 41,110,244,105, 23,121, 56,171, 24, 68, 94,255, +244,221,128, 22, 9,161, 50,227,184,237,123, 10, 99, 81,225,165,176, 47,251,230, 51,135,121,144,138,167,222,113, 25, 36, 65,155, +220, 16,197,137, 12,120,205, 7, 78,225,251,223,255,164,156,110, 86,112,247,238,125,118,247,119, 25,122, 71,244, 14, 31, 34,221, + 48, 98,180, 33,196, 72,221,204,152, 47, 22, 28,173, 26,148,140,249, 53,117,105,186,149, 7,146,136, 8, 37, 9, 99,192, 88,197, +178, 54,140, 33,101,180,233,148, 19, 45,128,113,186, 1, 54,147,222,192,133,144, 93, 61, 41, 18,134,192,170, 15,120, 23,152,161, +216, 79,145, 48, 6,130,132, 74, 43, 86,203, 57,223,124,250,148,183, 30, 95,240,137,243,188,211,122, 78, 54,158,167,223,107,121, +114,191,224,116,166,249, 23, 91, 79,120,189,224, 96, 71, 50,215,154,102,167,228,167,230, 11, 22, 46, 81,140,129, 98, 49,167,243, + 45, 85,185,195, 27, 15,111, 48, 70,193,232, 19,125,202,177,177,213,100,127,156,205,107,234,202,162,148,196,199, 68,215,122, 92, +223,147, 98,156,208,182,145, 20, 34, 41,166,172,128, 23,153,160,167,132,202,182, 62,173, 40,181, 98,111,165,121, 77, 69, 22, 51, +203,237,189,134,207,220,222, 97, 86, 89, 62,142,134,214,214,236,220,184,133,187,119, 31,127,239, 53, 14,191,242, 25,110,126,254, + 13,206, 84,197, 59,103,199, 60, 59, 89,243,215,247,102,252,163,139, 13,225,233, 39, 12, 79, 62, 66,187,200, 86, 20,156, 78, 97, + 29,214, 69, 62,217,122,222,189, 26,120, 54, 58, 58, 37,249,252, 94,193,225, 60, 55, 37,167, 81,113, 94, 72,238,161, 56, 51,138, +155,135, 51,110,223, 95,113,227,243,247, 89,252,252, 23,216,251,236,138, 95,254,239,255, 1,221,255,248, 29, 94,251,165, 55, 17, +133, 66,207, 44, 74,171, 44, 65,185,214,184,196, 12, 49, 74,189,167, 61,105,249,224,116,195,105, 55, 16, 58,199,213,186, 99,187, +238,216, 58, 79, 31, 35,163,204,186, 2,124,224, 42, 37,230, 70, 97,138,108,191,137,125, 96,120,116,193,240,225,115,210, 59,223, +130,211,143, 8,237, 37,177,191, 66, 10,133, 8, 16,186, 14,223, 13,244,219,142,171, 77,203,135,151,151,124,216,109,144,193, 33, +133,204,205, 65, 97,137, 34, 49,106,197, 38, 6,206, 60,244,147,194,186, 20,145, 7,171, 25, 71,243,130, 7, 51, 67,159, 50,151, +240,164, 11,121,157,254,252, 12,179,103,219,153, 0, 0, 32, 0, 73, 68, 65, 84, 49, 43, 97,103,143,159, 63, 92,241,239,222,188, +193,157,198,242,237, 56, 64, 81,231,207, 75, 31,167,103,153,206,195,198,162,225,206,209, 62,159, 59,152,243,113,159,207, 49, 88, +253, 50, 90, 90,216, 60,180, 44,151,176, 83,103,235,221,238,140,175,222,220, 97,223, 88,142,170,134,156,105, 24,168,116,129, 13, +129,142,196,137,207, 91,139, 43,159, 83,233,110,218,140,191, 62, 27, 6,254,238,227, 45, 79,202, 25, 79,246, 15, 57,221,185,201, +191,169,119,121, 82,204, 17,186,228,111,222,187,205,151,202,154, 31,154,205, 57,136, 9,233, 19, 9,129,151, 35,155, 33,208, 19, + 8, 34, 39, 87,110, 93,224, 60, 70,174,132,160, 37,159,152,102,133,161, 52,134,181,243,200, 24,241,131,231,249,230,138, 20, 2, +109,219, 18,131,199,140, 35,113, 26, 46,210,181,232, 87,233,108,113, 20, 57,200,200,123,159,173,107,218, 48, 58,207,152, 18, 27, + 53, 97, 70, 68, 94,217,123, 41,217,181,118, 18,170,105,118,170, 25, 93,138, 20,166, 96,223, 22,244, 18,150,179, 37, 74,165,220, + 88, 47,102,217,150,166, 52,187,243,134, 59, 85,201,210, 40,202,166,162,214, 6,109, 21,179,162,100, 20, 9, 37, 53,135, 77,157, +239,225,182,194, 40, 48,214, 96,117, 73,161, 12, 99,154, 68,189, 34,163,176,209, 37, 86, 73,186, 16,209,218,112, 53,120, 74, 35, + 16, 73,146, 66,142,220,214, 36,174, 82,164, 77,145,185,243, 24,161,153,145, 61,255,187, 41, 32,146, 71, 7, 79, 18, 96,137,244, + 67,203, 24, 34, 71,218,242,214,176,229, 72, 25,106, 41,120,199,121, 98,138,144, 2, 70, 75,110,203,204, 71,185, 95, 22,116, 74, + 82, 2, 35,137,153,210,180, 74,178,212, 37,155,228, 89,105, 77, 39, 4, 43,107, 57, 31, 29, 51, 93,240,164,237, 49, 66,210,225, + 9, 74,241,229, 89,197,158, 12, 68, 81, 80,106,201, 61, 35,153, 27,131,146,145, 50, 9, 46,199,248, 3, 22,117, 37, 95,168, 15, + 51,133,199,194,188,252, 83,118,131, 23, 89,175,144,167, 71, 33,242,250, 87,132,188,110,105,202,252,223,221,148, 34, 22,166,105, +189, 42, 51,196,134, 41, 98, 78, 68, 82,105,136, 90, 35,140,101, 84,154,115,231,152, 23, 21,206, 88,158, 13, 91,234,178,202,201, + 97,125,151, 39,231,179,171, 92,120,165,162, 40, 53, 67,136, 20, 34,145,132,192, 74,232, 92, 96, 33, 37,165,146,116,237, 0, 82, + 18, 58,199,211, 49,242,234,220,208, 69,207,241,152,184, 89, 91,158,185, 17,159, 12,107, 4,209,249,252,179,251,144, 27,150, 48, +137,253,226,132,245, 75,188, 92,205, 15, 33,223, 46, 99,122,169,250, 28,243, 42,207,169,196,145, 53, 92,141, 35,149, 54,108, 6, +151, 85,241,215,255,111, 8,140,211,170,135, 16,113, 82,230,104, 83,145, 85,153, 35,137, 62, 36,182, 99,151,155, 38, 61, 61,104, +220,164, 69,232,253, 68,156, 11,127, 6,126, 33,166,252,250,200,219,223,252, 22, 63,245, 11, 63,195,246,226,138, 52, 53, 40,222, +123, 78, 54, 27, 98,128,189,249,146,229,114,198,206,220, 82,200,124, 90, 24, 93,162, 29, 3,227, 24, 25, 7,207,186, 27, 8, 46, +210,133,192,162,182, 72, 18,133,146,217,191, 42,193,165, 68,140, 89, 13,111, 98,100, 41, 35,229,148,191, 62,159,236,110,201, 69, +116, 10, 44, 98,162, 65, 48, 79,129,149, 84, 25,146, 49,171,120,247,248,140,254,108,205,158, 18,172,162, 96,150, 2,103, 49,191, +201,174, 62,232, 72, 67,100,125,225,121,123, 27, 57,173, 18,106,105, 56,186,125,132,159,215,168, 24,185,217,148,220, 48, 21,242, +236,130, 81, 23, 52, 82,177,152, 87,116, 33, 16, 66, 36,141, 14, 21,161,170, 11,202, 74,163,181,202, 33, 54, 33, 50,116, 14,239, + 60, 49, 4,162,115,140, 46,160, 98, 14, 91, 40,144,152, 36,104,180,166, 50,154, 89, 89, 80,151,134, 29, 35,184,111, 10,246, 18, +180, 38,195, 33,206, 29, 92,249,132, 85,145,164,225,162,247, 20,109, 96,121, 99,206,193, 43, 11,110,190,121,196, 63,246, 43,254, +214,195,187, 20,119,143,120,253,141,251, 44,191,250, 5, 62, 60, 89, 83,110,207,217,188,255, 33,227,157,187,204,166,165,205,249, +232,121,127, 51, 34,198,136,142,145, 89, 89,176,168, 12, 27, 4,239, 14,145, 11, 31, 89,203,196,122,240, 28, 84,138,203, 33,114, +188, 25, 25,125,228, 11, 63,241, 26,223,248,197, 31,230,141,255,228,115, 96, 18,197, 65,133,174, 52,114, 74,193, 74, 27, 71, 58, +235, 9,103, 61,227, 89,203,230,233,150,167,167, 27,190,117,185,230,100,112, 60, 31, 71,130,130, 86, 11,156, 72,244, 10,130, 18, +184,148, 19,249,132, 82, 52,149,101, 32,178, 25, 61, 93,244,172,183, 45,177,219, 32,151, 13, 65,130,223,221, 37,218, 2, 49,145, +214,198,237,150,243,110,203,201,176,229, 73,244,188,221,173, 57, 9, 35, 49, 70, 26,107,241,147,186,216, 25, 69, 23,225, 34, 37, +206, 93,224, 50,228,109,153,214,185,209,223, 49,154,185, 54,220,108, 26,238, 26,197,235,171,154,219,251, 75,158, 8,197, 92, 65, +247,228,148, 95,124,245, 85,238,214, 21,231,179,125,254,228,234, 60, 47, 23, 11, 3,149,134,170, 70,204,106,168, 10,238,172, 22, +252,200,209, 1,183,119,246,112,181,228,249, 58,193,238, 14,234,230, 33,105,190,128, 41,209,140,163, 61, 40, 43, 22,139, 57,251, +214,176, 44, 13, 7,186, 32, 76,155,132, 66, 26, 68,138, 8,165,240,209,241,193,232,179,240,110, 8, 28,247,145,141, 72,180, 90, +241, 39,209,114,182,127,139, 7, 55,110,178,191,123,131,122,182, 75, 40, 26, 70,169, 16, 69,195,207,148,150,219,101, 65,147, 4, +157,243, 44,181,102,219,181,156, 12, 61,207,186,237,148,254,156, 8, 49, 48,184,145,205,232,120, 22, 28,163,213,244, 66, 82, 89, +131, 11,142,194,106, 78,182, 27, 58, 63,114,225, 19,103,253, 21,231,109,230,209,111, 93,135, 26,187,140,144,158, 54,111, 72,147, +167, 93,161,136,211,102, 54,105, 67, 76,137, 81, 66,235, 61, 66, 26,206,156, 35, 73,193,152, 34,181, 41,178,204,204,150, 84, 82, +211, 73,129, 45, 42,146, 27, 9, 85,205,202, 88,182, 62, 81, 23, 37,187, 69, 69, 8,145,253,170,102, 86, 84,188, 54,179,148,218, +178,103, 45,179, 20,152,149, 13,115, 83, 51,151,130,170,168,168, 76,137,181,150,202, 20, 24,171,209,194,100,122,162,146, 89, 56, +175, 20, 74,192, 76, 11,172,212,140,201, 51,164,196, 66, 74,250,148,155,213,130,200,136,199, 8, 73,105, 52,253, 56, 32, 99,164, +115, 35, 11, 33,168, 98,196, 71,199, 46,145,245, 56, 80, 2,115, 1, 46, 4,116, 74,244,192,211,209,113, 66,228, 32, 69,158, 6, +143,136, 9, 29, 28, 62, 9, 84, 12,200, 16, 89,145,248,242,172,230,147,118,100,215, 26,164,146,204, 76,201, 57,129, 27,186, 98, + 67,100, 71, 91,122, 36,134,136,155,116, 59, 33,229,199,244,198, 7,182, 34,159, 23, 31,106, 73,101, 44,251, 70,112,168,178, 5, + 86,147,120,197, 20, 92, 6, 79,173,126, 16, 75,155,214,211, 52, 46,167,123, 72, 9,123, 77, 46,192, 70,102,133,187,152, 10,250, +181,229, 75, 78,124,242,232,178,207, 96, 53,135, 38, 43, 24, 25,167,152, 81,107,243,218,125,188, 70,154, 78,225,240,246, 26,219, +167, 25, 34, 12, 50,162,138,134,173,119, 12, 8,132,208,140,227,196,240, 53, 22,174,218,169,128, 14, 80,104,102, 86, 35, 82,162, + 81,138,243,214,101,229,168, 75, 44,106,201,133,203,118,188,212,141, 16, 61,169, 48,156,141, 9,165, 37,143, 93,226,204, 37,156, +212,156,250, 64, 76, 42,111, 24,194, 52,205,244,253, 75, 23,166,156,238,112, 87,221,196, 18, 30,243,125, 45, 77,247,245, 16, 95, +198,210,138,196,149, 75, 57, 71,103,202,118,175,124,164, 13,121,123, 81, 39,193,243,232,209, 66,231, 84, 43,145,104,125,190,177, +182, 41,113, 21, 35,165, 86, 12, 62,228,149, 23,233,101, 68,235,181, 29, 68, 76, 14,132, 79, 11,124,226, 53, 14,113,218,146, 4, +193, 55,254,250, 79,226, 67, 36,248,108, 79, 83, 19, 36,168, 41, 74,148, 18,136, 24, 81,218,162,181, 34, 9, 69, 41, 21, 70,100, + 64, 66, 27, 61, 93,239,217,217, 45,168, 43, 69,231, 2, 82,230, 12,245,152, 82,238,231,162, 32,133,132,139, 1,231, 67,254,123, +166,181,150,138, 80,138,108,237,155, 43, 69,233,227,139,181,148,179, 6,107, 36,118,217,224, 70,135, 62, 61,103, 30, 35, 23,196, +220, 40,204, 20,213, 66,211, 25,160,150, 72, 45,176, 43,141,147, 2,243,180,227, 96, 79,225,110, 28, 49, 47, 13, 95,190,121,151, + 84,214,168, 24, 24, 90,135, 24, 2,139, 85, 67, 16, 10, 81, 26, 6, 31,208, 62, 78, 10,127,137, 86, 18, 17,114,247, 62,250, 72, +235,242,125, 51,184,140,185,181, 8,102, 66,113, 88,228,169, 99, 71, 27,246,170,146,121, 99,153, 55, 6,157, 34,214,106,170,166, + 98,167,201,202, 97, 73,100,159,158,131,246,146,221,227, 19,194,197, 57,188,255, 62, 23,107,199,108, 53, 39,117,158,149,146, 60, +158,149,140, 71, 13,199, 7,187,220,216,155,241,240, 11, 15,249,238,222, 17,171, 31,249, 28,162,212,184, 4,110,240, 92,180,142, + 95,249, 95,255, 62,223,254,239,126,157,253,111,188,193,113,204,211, 81,135,100, 59,169,104, 43, 33,184, 81,105,164, 20, 92,133, +204, 14, 88, 85,130,177, 29, 56,233, 35,175,172, 74,132, 22,164,148,232,149,228,163,199,107, 62,250,131,199,204,149,160,125,186, +225,248,233, 37, 39,235,150,239,156, 95,241,157,171, 45,199, 93,196, 37, 69,235, 35,114,166,152, 85, 10,109,228, 68,137,142, 88, + 41, 24,149,160, 49, 58, 91,141,165,164, 23,137, 77,136,156, 8,232, 45,108,202,130,171,131, 61, 78, 87, 11,134,217,156,203,186, +228, 98, 28,121,228,122,190, 53,246,124,100, 13, 31,147,184, 20, 21,149,130,243,162, 36, 26, 67,165, 20,131, 72,140, 66,240, 36, + 4,206, 66,228,147, 24,241, 62,177, 14, 14,164,193,136,124,103,221,177, 37,183,181,197,150, 37, 66, 42, 90, 34,179, 89,193,110, + 83,112,146, 4, 15, 54,199,252,135,175, 63,228,187, 23,167,252,222, 56, 66,114,136,113, 34, 48, 54, 37, 95,219,217,225,181,121, +195, 81,179, 32,200,146,203, 36,248,163,164, 9,171,134,175,223,186,195,231,143, 14, 89,206,231, 60, 45, 74, 88,236,228, 38,190, +176,204,165,162,182,154,185,148, 44, 16, 20, 41,161, 68,222, 24,100,146, 64,226,216,143,124,188,245,136,194,194,106, 23,102, 21, +207,237,146, 39,178,225,104,117,196,103,119, 15, 89, 53, 11,172,169,176, 69, 69, 93,228, 59,244, 95, 41,243,109,122,150, 96,112, + 35, 75,169,112, 67, 79,232,122,158,182,231, 28,187, 22,136,180, 67,207,118,236,249,240,124,203, 39,253, 64,231, 60,107, 63,208, + 69, 71, 63,142,212, 34,241,193,243, 99, 46,219, 43,158, 94,156,240,237,231,199, 60,186, 90, 51, 36,199, 89,191,229,241,213, 37, +142, 68,215, 93, 97, 98,192,232,146, 36, 18, 41, 10,146,206,185,222, 81, 43,162, 18,244,193,211,143,158,160, 53,155, 24,104,133, +167,243, 30, 33, 21, 26,137, 81, 38,235,105,116,193, 76, 23,104, 37,193,150, 8, 18, 73,106, 86,117,195, 16,179, 21,214, 90,131, +149,138,157,194,224,131,228,179,117, 69,210, 10, 93, 52, 44,108,153,217,235,198,114, 80,204, 24,165, 36, 10,153,111,224, 82, 33, +141,196,232, 2, 68,194, 24,133,115, 30, 37, 21, 82, 10, 80,145, 74,104,100,130, 49,230,137,187, 36,210,197,144,197,164, 34, 17, +189,195, 72, 56, 29, 71, 68,138,196, 20, 8,126,164, 74, 1,231, 71,118,132,192, 50, 18, 93, 96,166, 61,114, 76,140,222,179, 91, + 90, 54, 93,135, 35,177, 39, 18, 42,230, 51,163,242, 45,218, 7,180, 16,236, 8,137, 75,158,251,214,228,239, 89, 40,214, 4,110, +233,146, 45, 1,153, 36,157, 0, 43, 50, 28, 42,248,136, 54,134,222, 7,222, 27, 61,129,136, 16,146, 87, 74,147,183,129, 49,127, + 93,157, 18,165,144, 28, 20, 37, 41, 38,124, 12,184, 24,255, 45,213,239, 47, 60,231,211,138,249, 26,184, 31,167,137, 92, 76,106, +115,169, 94,218,189,226,132,126,189, 46, 44,133,252, 84,148, 94,156,176,140, 83,254,186,155,252,136,106, 42, 76, 46, 76, 80,155, +172, 6, 38,116,236,175,238, 80,232,154,199, 93, 59,121,179, 37,168, 42,103,188, 67,190,237, 63,217,228,244,154,202,226,122,199, +253,165,229,116,112,204, 4, 8, 31,120,101, 97, 88,247, 14,237, 18, 51, 11,103,151,227,139,168,211,161, 44,120, 60, 42, 80,146, +214,251,169, 72, 93,223,210, 84, 86,237,183,221, 20, 65,219,101, 37,255, 48, 64,169,114, 52,173,239,115,168, 72,159,149,251,249, +136, 18, 94, 42,239,123, 15, 54,241,193,165,228, 11, 59,138,231,219,158,193,104,252,182,229,158,157,115, 76,164, 64, 48, 70,135, + 79,224,199, 72,178, 26, 23, 18, 70,101,143,106,240,158,253, 82, 81, 68,201, 91,151, 25,115,187,238,251, 28,143,187,105,243, 93, + 16, 50,233,101,216,252,249, 45,139,203, 86,194,245,243, 53,213,178, 65,105,201,217,211,211,140, 75, 4, 62, 58,123,142,210,134, +102,194,183,174, 7,199,174,206, 54, 17,143, 98, 8, 16,146,160, 82,138,113, 8, 44,102,150,109, 55, 82, 89,197,162, 22, 47, 50, +217, 67, 8,116, 41,223, 97, 23, 82, 80, 41,201,149, 11,217,169,104, 21, 38, 9,140, 24,169, 10, 3, 11, 65,232, 6,234,168,209, + 34, 81, 11,133,217,157,115,239,106,197, 27,186, 38,205, 45,191,109,182,152,194,176,135,226,131,224, 89,223, 46,233, 93,224, 94, +128,181,130, 78, 9, 86, 11,203, 65, 8, 84, 9,202,197,138,249,182, 99,121,176,143,106, 22, 60, 13, 61,197,241, 25, 39, 66, 32, + 23, 53,213,222,156, 27,119,246, 24,182, 61,227,224,184, 90,183,164,193,160,129, 66,107, 94, 89, 45, 72, 81,242, 52, 10,124,234, +176, 12,212, 81,176, 82, 37, 15, 22, 11,230,117,153, 47, 81,133, 70,206, 11,212,126,141,112,145,174, 29, 57,181,160,241,148, 46, + 71, 34,142,155, 45,233,108,195,205, 51,199,113,215,209, 17,185,241,232, 17, 23, 31, 63, 97,185,127,192, 23,159, 28,243,171,139, + 57,143,126,248,179,236,237, 6,102, 8,206, 90,199,205, 82,179,237, 60, 90, 11,158,117,158, 15, 79,182,252,246,223,250,187,164, +113, 11, 88,126,237,191,252, 59,240,230, 14,219,255,234, 63,229, 55, 69,228,222,221,125,190,182, 99,185, 41, 4,171, 2, 46,199, +196, 70, 9, 22, 90, 82,218,188,133,120,190,241,252,206, 71,151,124,182,201,123,211,143, 46,182,124,240,124,192,104,201,179,231, +103, 52, 9,168, 4,207, 93,228,121,136,180, 1,122,145, 16,120,218,157, 25,183, 10,112, 2, 10, 23, 80, 90,230, 16, 13, 23,112, + 70,241,209, 85,207, 92, 9,172,150,212, 70,179,117,129,103,131, 99,225, 19,214, 7, 80,146,153, 53, 60,171, 13,189, 89,208, 46, + 42,186, 39,167, 60, 31, 19, 85, 33,104, 77, 67, 21, 3, 79,229,140,253, 90,242,110,155,120,146, 34, 53, 18,127,177, 97, 99, 13, +109,136,120,224, 60,105,162,174, 89, 39, 71,140, 5, 59, 74,176,180, 69,118,144,196,128,183, 5,190,149, 68,231, 48, 49,112,171, +105,248,229,167,103,244,127,244, 7,252,189,243, 1,209, 84, 48, 95,146, 70, 16, 58,191,247,247,173,198,104,141, 23,146,111,246, + 61,231, 33,230, 48,214,249, 46, 95,187,123, 23, 33, 5, 71,253,192,219,103, 23,180, 67, 55, 9,131, 35, 46,140,180, 99,228, 44, + 70,118,108,102, 93,204,133, 98, 19, 34, 81, 36,174,124,207, 99, 12,172, 10,246,139,154, 93, 99, 48,170, 98, 71, 9,140, 84, 52, +186,194,106, 67, 81, 53,212, 19, 28, 81, 38,207,129, 20,124,219, 69,238,110,175,184, 37, 11, 36,146,110, 28, 72,131,227,188,221, +240,241,122, 77, 27, 7, 78,183, 1, 82,224,124,240,140,231,107,100,140,200,182, 39,236, 47, 56, 5, 46, 27,203, 91, 49, 98,156, +199,120, 48,253,136,105, 59,204,106,201,219, 82, 83, 55, 5,133, 72, 60, 42, 37,159,193,162, 22,145, 33, 4,172,182, 44,118,110, + 32, 6, 72,186, 96, 28, 28,222, 57,194,164,111,186,220,174,113, 42,159,222,144,154,146, 72, 80, 2, 41, 18, 30,195, 18,137,176, + 6, 53, 58,208,138,133, 15, 60,243, 3, 6,193, 66, 36,156, 51,204, 82, 98, 8,121,176,104, 22, 26,169, 20, 77,240, 36, 99, 48, + 34,159, 29, 27, 83, 77, 48,155,200,210,148,108,125,255, 66, 7,132, 75,104,105,240,113,164, 44, 52,206, 37,164, 76, 8, 15, 27, + 6, 42, 1, 58, 9, 28,137, 62, 58,144,150, 16, 28, 18,168,148,225,188, 27, 88,166,196,113,112,164,113, 64, 43,129, 9,129, 82, + 71, 66, 76, 52, 62,208,165,196, 14, 5,107, 61,178,227, 4,155,171, 11, 10,109,177, 41,111,121,181, 72, 84,228, 36, 55, 77, 22, + 74,175,240,236,136, 18, 81, 86, 28, 36,184,240,158,215,237,156,247, 92,207, 74,151,108, 36,236, 11,193, 59, 67, 98, 17, 61, 66, + 73,234, 4,143,198,192,158,182, 60, 1,132,239, 57,176,138, 62, 56,140,148, 92,245, 91,230, 82, 18, 99, 96,219,245, 8, 41,120, + 67,106, 30,199,241,223, 98, 82,215,250,165,239,156, 9,239, 87, 78,247,114, 59, 17,151,122,151, 39, 65,239, 94, 78,168, 76,114, + 97, 55,249, 64, 69,122,233,255,108, 39, 11, 86,156,214,198,101,145, 85,170, 90,229,253,195, 68,174,194,170, 60,133,207,114,128, +198,195,155, 15,120,124,117, 78,136, 1,188, 67, 74, 75, 66, 65,187,201, 19,115, 55,192, 48, 32,165, 98, 81, 21,216,148, 81,168, +181, 21,236,105, 56,235, 71,102, 74,130, 27,233,187,172,220, 37,133,236, 37,213, 58,223,207, 84,190, 99,167, 52,169,247,205, 36, + 22,136,211,244,173, 85, 62, 19, 88, 13,114,130,204,139, 73, 92, 99,204,116,110,152,176,185,195,116,175,187,158,214,123,143, 19, +137,199,157, 71,151,138,183, 62, 89, 83, 87,138, 15, 47, 90,180,209,104, 41, 8, 42, 11, 82, 70, 37,208, 66,224, 66, 38,185, 21, + 82,225,137,204, 80, 12,209,211, 88, 69, 67, 98, 75,206, 59,199,231,108,230,204,225, 23,147,160, 47,190,180,223,201,233,116, 18, + 4, 71,175, 28,113,112,235,144,118,155, 69, 50,193, 71,182,125,139, 17,154,131,213, 33,123, 7, 75,102, 77, 65,112,137,194,106, + 84,132,166,212,200, 49,112, 57, 6,124, 74,180, 67,192,185, 72, 83,107,148, 20,104, 57,173,223, 17,120,242,135, 53,166,148,131, +247,144, 68, 1,137,188,174,213, 58, 79,235,248,152,161, 62,133,194,214, 6, 45, 53,101,169,249,191, 89,123,179, 88,203,210,243, + 60,239,249,167, 53,238,233, 76,117,106,174,174,174,234,110,246, 64,145, 77,138,148, 40, 91,178,132,152, 6, 18,197, 73, 46, 20, + 7, 65, 4,196,185, 73,128, 32,185, 8, 2,248, 46,176,238,156, 27, 35,200,125,144, 92, 4,112,132, 12,130,108, 40,138,172, 33, +214, 16, 73,164, 73, 90, 36,155,221,173,110,178,187,171,107, 62,243,217,227, 26,254, 41, 23,255, 58, 85, 69,137, 18, 20,197,167, +177,113, 80, 5,116,157,179,246, 94,123,127,255,247,125,239,251,188,178, 54,204,109, 36, 28, 28,227,181, 96,145, 75,124,109,216, +100, 18, 95, 72, 30, 73,207,246, 40,103,119,167,100, 57,206, 24, 95,158,178,181, 61,229,114, 85,115,185,183,188, 81,111, 51, 13, +145, 93, 93, 48,186,177, 13,166, 96,220,246,100,173, 99, 45, 5,179,237,154,171,151,183, 40, 75,147, 0, 99, 77, 75, 92,246,200, +206, 83, 74, 69,169, 36, 69,132,222,167,209,158, 16,138, 76, 24,246, 71, 35, 46,239, 77,153,108,215,148,163,156, 98, 82,144,207, + 10,178,210, 80, 76, 43,138,113, 73, 17, 34,198, 58,100,239, 56, 95,172,217, 57,106, 48, 46,242,193,193, 33,242,124, 69,238, 5, +166, 52, 92, 11,240,242,227, 5,223,113,199,184,137, 96,218, 45,184,255,219,127,128,207,182, 89, 29,172,216, 44, 26,214,235,150, +223,254, 95,126,149,143,254,209,239,113,239,215,191,145, 52, 13, 72, 2, 38,233, 60,142, 27, 62,250,103,127, 72,248,167, 95,167, +236, 63,229,214,157,171,124,121,183,100, 87,107,254,120,229, 56,232, 2,158,200,165, 82,209,161, 56,149,138,199, 66,114,127, 99, +121,180,238, 89, 53, 30,109, 36, 94, 66, 44, 32,138, 72, 75,160, 35,224,100,128,152,196,139,215,239,236,145, 95,153,114,164,115, + 62, 61,119,252,225,183, 62,230,206,254,132,222, 71,158, 90, 79,171, 69, 74,226,206, 4,247,159,204,105, 93, 74, 88,180,189,101, +221, 89, 66,111, 25, 75, 65,166, 4,185,144,244,121,154,250,185,178, 32,232, 12,171, 51, 84,157, 97,235,146,179,141,101,113,190, +100,213,119,228, 85,198,131,243,158, 77, 20,172, 93,135, 15,145,163, 69,135,146,146,181,210, 56,149,225,163,100,119, 54,166,145, +130,105, 94,208, 33, 57,246, 17, 43, 5, 79,150, 45, 71,189,101,172, 20, 71, 82,241,222, 89,139,232,186,228,145,207, 52,140,170, + 4, 95, 57, 93,115,165,144,236, 85, 5, 7,155,134,119, 87,107,172,237, 17, 82,241, 70, 53,226,181,233, 4, 41, 37, 66, 73, 86, +173,229, 64, 12,217, 7, 62, 21, 84, 21,159,239,202,107, 37,105,133,224, 8,136, 66, 50, 42, 74,246,234,154,207, 86, 19,238, 78, +119,208, 67,224,138, 70, 82, 12,194,178, 92,105,156, 15, 8, 33,200,134,157,117,227, 61, 15, 87, 11, 94,145, 1,215,245,220, 8, +145,213, 98,206,124,115,198,251, 71, 79,248, 96,126,206,199, 39, 27,206,155,142,229,233, 28,123,118, 68,180, 29, 97,179, 33,246, + 45, 97,177, 76,143,249,138,112,190,196, 47,214,248,243, 57,174,239,241,222,225, 86,107,220,217, 25,253,241, 9,253, 98,197,241, +162,225, 97, 72, 57, 26, 45,129,237,188,164, 35,164,172,141,224, 17, 70,211,122, 79, 23, 28,115,239,105,133,224,164,107, 88,217, + 30, 97, 20,189, 28, 38,124,153, 65,101, 25,121,102,104,165,160, 42, 43,180,148,172,165,167, 50, 25, 27,239,208, 89,137, 84, 34, + 33, 94,181,166,202, 4,179,172,196,135,128,202,138,164, 90,143,142,186, 26, 35, 98,192, 6,207,118, 85, 99,173, 69, 68, 65,150, +231,244, 46, 29, 44, 83,109, 25, 36, 70, 18, 92,231, 80,120,140,136,180,193,211, 58, 75, 22, 61,189, 16,104,103, 19, 63,159,136, + 12,142,198, 53, 52,182, 39,118,107,108, 84,212,222,146, 73, 71, 17, 2, 51,151, 92, 90,151,132, 96,227, 44,179, 0, 10, 79,244, +129,245,186, 37, 23,129,232,146, 56,249, 10,130, 55,180,227, 21,165,248,146,209, 92,215,134, 27, 69, 70, 21, 34, 91, 38,231,178, +150,156,217,150,151,202, 17,139,104,217, 86,134,143,219,158,155,133,226, 60, 70, 74, 4,143, 86, 61,133, 84,124, 18, 28, 69,140, + 92, 54, 6, 31, 4,187, 90, 38,212,109, 12,105, 13, 32, 82,131,183, 29, 3, 62, 6,148,253,235, 20,117, 53,136,182,226, 11, 68, +223,160,158, 71, 94,118,131, 23,189, 27,186,235,206,191,128,140, 29,138, 77, 28,188, 52,222,167,248,193,139,241,240, 5,125, 77, +229, 41,147, 92, 13,130,187,186, 30, 22, 12, 42, 1, 7, 68,242, 63,126,218,181,216,126,232,204,163, 32,186,254, 57,201,237,240, + 60, 33,103,125,131, 44, 10,148,137,216,206,177,167, 21, 49,120,250, 33,138,180, 68, 17,131,163,233,124, 26,223, 55,131, 29, 76, +233,225, 80, 49, 88,195,244, 16, 29,171,196,112, 24, 25,104,121, 82, 36, 80,142,237,210, 65, 38,134,164, 13, 8,126,128,234, 12, +120, 63, 63, 8, 78, 46,216,235, 74,190, 16,254, 18, 88, 46, 82, 80,203,201,241,138,185,143, 60, 92,118,204,170, 12,231,122,148, + 84, 8, 33, 89,117,150, 74,167,209,247,210, 59, 42, 33, 89, 13,182, 47, 25,160, 11,145,157, 44, 41, 81,173,190, 56, 68,168,244, +179,109, 24,216,240,242, 57,138, 49,166,157,244,124, 60,225,237,215,239,178,217,180, 4,231,240, 49,146, 9,195, 89,179,100, 90, + 86,124,241,205, 91, 52,157,199,185,152,246,223, 50, 37,177, 17, 2,110,128,205,152, 76,226, 58, 71,219,121, 84, 62,184, 23,124, +196, 1,173, 13, 52,222, 33, 7, 38,188, 38, 82, 75, 65,227, 3, 75, 31,169,135,221,144, 18,176, 81, 96, 50,133,206, 52, 54,147, + 8,173,200, 50, 77, 63, 46,121,122,255,152,147,186, 32,142,199,156,103,138,121, 38,209,185,161, 45, 12,182, 46,240,101, 78, 99, + 20,125,136,156,183, 45,139,224,120,208, 52, 44,124,203,229,122, 11,218,134, 88, 87,228,187, 35,124,227,185,228, 35, 93,174,232, + 37,228,117, 78, 89,230,104,163,144, 33, 64,107, 81,214,161,122,143,110, 92, 58,128,173, 45,110, 72,120,141,218,144, 85, 57, 59, +147,146,108,156,161, 42,157,118,178, 90, 18, 43,133, 50, 18,165,210,107,165, 4, 72,165,168, 66, 36, 39, 18, 58,203,172,177,172, +207,206,185,172, 11, 20,145, 85,111,137,202,113, 52,171,120,237, 23,254, 22,111,254,212, 91,188,252,133, 55, 57,222,116, 60,249, +230,215, 56,248,232, 67,222,251, 23,223,166,253,253, 57, 33, 13,228,210,154, 34, 33, 65,136, 67, 60,208,197,247,213,247,142,121, +247,159,124,139, 3,113, 66,244,138,239,127,248,132,211, 63,253,148,187,183, 47, 35, 28,172,165,160,137,176,238,147, 45, 78, 75, +104, 91,203,253,195, 5, 34, 70,158,156,110,168, 8,116, 77,199,166,117, 68, 37,240, 34,114,181,214,252,189, 47,222,224,149,137, +225,105, 27,248, 80,107, 30,223,185,204,111,170,130,223, 89, 5,190,254,233,146, 91, 59, 53, 50,120,172,130,211,165,103,165, 37, + 78, 68,214,173,195,123,143, 36, 98,100,122,109,173, 20,116, 33,160,165,224,112,227, 88,123, 88, 72,201, 34, 51, 44,182,198, 28, + 8,201, 83, 12, 70, 26,158,108, 90,106, 33,217,116, 45, 58,203,217, 52, 3,225, 47, 4, 50, 34,219,165,228,218,172, 38,100, 25, +178, 40,113, 90, 97,165,102,174,224, 97, 19, 8, 66,177, 17,145,163,182,229,149,170,224,104,112,146,252,196, 36,231,118,145,115, + 67,102, 60, 52, 57,162,206,185,191,106,152,202, 2,111, 45, 55, 98,203,184,239,184,148,103,160, 52, 55,243, 28, 73,164,105, 59, +222,221,108, 88,134,128,176, 61,149, 20,104, 15, 27, 41,184,162, 20,103, 66, 17, 85,198,125, 23,168,114,195, 38, 40,138,220, 48, + 42, 38,232,188, 66, 75, 69,192,208,250, 64,102, 12, 2,129,247, 22,109, 36, 74, 39, 87,197,166,105,112,214,113,238, 26,150,221, +154,247,238,191,199, 72, 10, 30,158, 61,229,227,147,199,124,114,124,204,119, 78,206,248,224, 96, 65,152,207,137,237,130,184,216, +164, 60,243, 1,249, 28, 95, 0,177,198, 16,240, 65, 18, 36,120, 41, 9, 3,174,195, 7,247,156, 46,237, 61,174,235,105,219,200, + 19,219, 17, 8,104,145, 88, 25,203,190,193,232,156,181,235, 9, 82,208, 11,193,113,179,162, 23,145,179,222,177,192,211,116,233, +231,134,204, 36,239,184, 41,232,181,162,136, 18,165, 37, 94, 72,140,144,180, 50,129, 90,156,181,136,152,116, 79,224,201,117,142, + 17, 9,239,108,132, 78,201,153, 89, 65,173, 19, 61, 51, 55, 26,163,100, 90,193, 41,205,102,211,162,181, 26, 0,158,105, 84, 77, +244,180,109, 79,244,145,133,237, 81, 62,209, 54,181,119, 56, 33,145,125,135, 14, 1, 17, 3,181, 8,244, 93,159,250, 79,191,193, +218, 64,230, 27,172,181,108, 11,216,142, 9,249, 61,139,130, 16, 2,187, 82,224,189,103, 18,160, 20,129, 76,120, 88, 54,188, 94, + 74,222, 86,146,187, 69,198,142, 52, 92, 49,154,155, 89,197,101,147,244, 60, 19,101,200, 66, 18,240,109,103, 57,103,222, 50,145, +154, 3,219,242,242,168,230,163,174,227, 90,158,241,104,217, 16,148,228, 3,107, 25,133,192, 90, 10, 94, 45, 52, 70, 5, 86, 33, +176,133,160,150,146, 86,192, 76, 72,174,102, 5, 77, 76,248,142, 59,229,232,175, 81,212,165,252, 33,114,239,179,204, 91,173,135, +157,114, 42,248,183, 62,255, 50,243,163,249, 15, 51,224,187, 48, 20,195,129,231, 46,101,242,118,196,161, 8,184, 97,223, 91, 22, + 73, 49, 94, 94,140,224,229, 32,198, 19,168, 60, 79,172,117,161,136,182, 75, 16,123,103, 81, 66, 18, 69, 76,123,236,174, 75,249, +200,171, 21,224,137, 22, 46,103,146,177,150,180, 81, 16,188,227,192,121,118,178,140, 96, 83,190,239,225,106,243, 60,205, 76,136, + 84, 0,171,122,208, 5,196,231, 96,156, 48,116,192, 65, 12, 34, 57,255, 92, 52,199,160,182, 15, 46,173, 36, 20, 41, 11, 93, 12, +215,135,228,153, 41,253,162, 99,183, 3, 90,246, 34, 59, 55,244,176, 89, 66,231,120,108, 35, 91,101,134, 18,130, 34, 10, 70, 42, +237,169, 69,239,201,133,192,185,200, 88, 43,150,195, 13,166,149, 36,120, 40,117,196, 68,193,218, 15,188,247, 56,188, 94, 34,197, +159,166, 53, 73,120, 22, 5,185,190,255,128, 87, 63,247, 38,121,150,209,173, 26,178, 44,231,115,159,125,147, 7, 15, 30, 18, 93, +224,230,173, 27, 44, 22, 29,101,149, 2, 97,178, 76,147,105,201, 38,122,162, 75, 66, 26, 41, 35,174, 75, 59, 91, 31, 82,216, 75, + 80,113, 24,141,201, 20,150, 35, 21,106, 80, 72,119, 33, 97,111, 51, 41,216, 49, 9,113, 42,226, 16,101,172, 36, 85,166, 89,155, + 36, 12, 68, 75,186, 81,206,159,220, 63,230,211,205,130, 42, 6,214,125, 67, 71,160,141,129, 40, 37,107, 17, 89, 74,146,120, 69, + 10,142,133,103,225, 98,194, 84,146, 34, 46,139,178,194, 4, 65,233, 33, 76, 75, 70, 42,199, 40, 73, 27, 3,217,186,199,108, 85, +137,100, 38, 37, 2,208,157,199,204, 91,212,188, 37,156,174,209,157,101, 76,100, 44, 52,133,214,120,173,113, 70, 34, 50,133, 53, + 10,151,168, 52,196,182, 71,103, 10, 97, 20, 81, 74,132, 82, 72, 69, 42,244,101, 70, 81,231, 20, 69,193,254,107, 55,152, 92,219, + 98,182,232,217,139,146,251, 49, 18,191,252, 58,175,189,121, 21, 45, 20,162, 42,153, 92,153,146,141,183, 17, 93,228,225,241, 33, +155,143,151, 4, 28, 1,193,115,170,182,127,246, 16, 67,137, 7,137, 64,242,232, 27, 15,249,250, 63,253, 54,159,252,230,119,121, +252,123,223,227, 91,239,191,207,207,126,245,109, 92,227,152,175, 59,214, 79,151,228, 71, 11,126,229,127,250,101, 14,191,245, 14, +155,119,223, 39,223,157,177, 62, 95, 50, 63,111, 6,203,141,192, 9,193,153,202,169,162,229,245,189, 49, 95, 59, 89,243, 63, 31, + 54,124, 48,132, 13,233, 76,163,198, 57,241,214, 54,247, 39, 37,183,125, 96,177,232,104,242,140,243, 85,199, 92,102,136,214, 99, +178, 68,137,195, 59, 74,163,105,136, 8, 4,199, 93,143, 53,112,224, 20,231,117,205,122, 84,242, 56, 51,220, 31,229, 28,103, 5, +227, 73,206,104, 58,225, 32,192,178,237,176,243,115, 86, 46, 80, 25, 69,239, 58, 10,229,168,132,166, 54,134, 66, 27,162,150,220, +219, 4, 30, 58,135,146, 57,167, 38,103,187,172,216,213,169, 27, 26,153, 12,175, 4,119,243,146,253,178, 64,106,205, 86,145, 51, + 18,201, 42,187, 95,143,201,180,230,149,113,205, 36, 47,217, 31,215,148,218, 80,200, 12, 27,225,254,106,193, 19,107, 89,132,200, +202,123,118,242, 18, 75, 96,173, 32, 70,137,149, 10,175, 52,103, 82,115, 42, 53,175,151, 5,159,203, 51,238,148, 53, 51, 97,112, + 82, 34,148,193,105, 69, 8,145,198,167,166,192,123, 75, 8, 61,193,167, 81,190,239, 58, 86,221,146,229,234,156,147,239,191,203, +103,174, 94,226,143, 62,125,204, 59,143,142,120,239,116,201,123, 7,199, 28,159,157, 67,183, 33, 10, 71,108, 59, 34, 63,204, 91, +127, 33, 82,235,217,232, 58,132,231,143, 11,183,250,197, 93,116, 81,220,189,239, 89,197,192,131,181, 35, 55,130,214, 91,206,109, + 75,144,130,149,183, 68, 36,143, 54,115,172, 16, 60,106,214,172,162, 39, 6,112, 66, 16, 68, 98, 58, 40,147, 17, 68, 64, 75,133, +200, 52,113, 72,124, 68,107, 86, 33, 32,135, 96, 43,149,105,108,235, 24,103, 57,153, 76,204,248,220,100, 56,111, 41,139,156,145, + 49,195, 86, 54, 75,107,172, 16,200,180, 65,105,141, 50,154, 24, 61,182, 79,133, 89,196, 64,183,238, 16, 17,214,253, 6, 25, 61, + 39,157, 69,135,148,230,185, 27,147,144,176, 22, 2, 17, 29,222, 90, 84,112,132, 24, 41,125, 96, 26, 60,165, 20, 76,130,167, 6, + 74,169,152,136, 84,231,106, 18,226,122, 23, 40, 17,204,136,220,201, 50,238,102,154,109,101,216, 42, 71,236,154,154,151, 70, 83, +246,138, 41, 38,194,180, 26,145, 73,137,150,130,113,145, 81, 41, 67,239, 3, 69, 76,147,213,153,202, 56,114, 61, 91,218,176,116, +142,243, 62,242,129,237, 56,141,240, 52, 6,198, 49, 48, 27,228,104,183,170,130, 16, 5, 19,149,177,165, 12, 59,166,162, 9,158, +207, 84, 51,118,140, 70,248,191,142,250,253,153,208,234,197,162, 62,180, 47,106,176,176, 33,152, 63, 57, 75,133,171,117, 47,140, +156,197, 11,123,119, 1,190, 75,194, 20, 25,147,120,142, 0,186, 74, 49,114, 91,227, 84,248, 7,131, 62, 49,133,195,199,182,135, +178,130, 96,169,162, 99, 52,100,165, 79, 99,160,233, 91, 38, 70,209,217, 62, 9,216, 66, 72, 59,245,144,212,141, 74, 42, 66,232, + 17, 81, 50, 35,208,216,164, 82, 60,237, 44,222,250,148,225,173, 92, 74,251, 42,203,103, 96,154,164, 68, 31,186,110, 35,146,138, +127,224,185, 99,195,115, 2, 94, 28, 10,189, 24,162,240,218,102, 32,202, 57,112,195,168,222, 69, 40,205, 51,150,123, 18,171,197, +231,246, 56, 63, 48,166,189,133,188,100, 82, 42,148, 79, 52,182, 82, 41,162,183, 88, 33, 49, 33,177,212, 55,206,179,157,105,172, + 76, 41, 94, 94, 10,102, 81, 80, 69,207,147,139, 72, 82, 23,210, 59,187,247,131,203, 64,254, 57,112, 70,190, 61,227,230,237,155, +116, 93, 67,211,108, 56, 62, 60,167,183, 45,222, 11, 66,200,113,125, 96, 52, 41,201, 11, 77, 46, 37, 82,165, 53,132, 37, 34, 66, + 26, 5,249, 16,159,197,185, 71, 98, 18,217, 9,153, 68,249, 17, 42,117,161,221,139, 76, 85,154,168,184,232,137, 81,146,105,153, +242,198,133, 72, 97, 20, 46, 89,115,188, 73, 40,211, 62, 83, 28, 29,173,152, 68,205,164,168,104,148,164, 42, 38,136,170,100, 60, +154,146,107, 77,102, 12, 70,128, 42, 50, 10,169,240, 90, 64,150, 83,153,156, 75, 89,129,247,158,124, 92, 33, 71, 5,178, 80, 84, +251, 35, 74,169, 48, 33, 82,180,142, 48,201, 16, 90,161, 98,130,238, 25,231,201, 26,139, 89, 89,100,215, 36,245,171,212,140,132, + 98, 90, 24,178, 92,177,214,146, 53, 73, 28, 22, 50,133, 68,144,109, 28,213,253,115,196, 36,195,103, 26,151, 15,200,211,224, 49, +157,199, 28,204, 81, 43, 11,215,167,232, 89, 77,121,125,135,124,107,204,150,211, 92,113,145,122,209,144, 61, 90,146,159,244,248, + 15, 14, 56,179, 61,227, 75, 19,222,250,220, 43,236,255,141,215,248, 65,213,225,254,244,152, 56,252, 39, 0,161,114, 68,108,249, + 7,255,233, 23,248,227,119, 22, 8,223, 13, 61,187, 76,145,184, 72, 4, 26, 30,117,252,237,255,224, 75,108,154,150,205,241,138, + 98, 57, 71,111,230,124,229,141,187,220,249,177, 59,212,183,111,210, 89,135, 11,130,102,216,223,197, 62,105, 47,100,111,249,181, + 63,250, 38,149,174,248, 71,135,158,249,178,195, 91,139,111, 45,221,186,167, 93,117, 8,155, 50,193,139, 42,231,111,142, 4, 71, + 94,112,214,123,150,235, 22,163, 36,163, 82,226,101,196, 74,197, 82,128,244,145,141,117,156,119,142, 69, 11,199, 85,198, 81,102, +120,164, 36, 79,144, 92, 53,138,191, 49,202,184,189, 83, 51,173,115,150, 94,240, 3, 97, 56, 90,174, 97, 53,231,160,153,115, 41, +215, 20, 17,148,201,208, 70, 17, 98, 96, 29, 35,153,144,156,249,200,227,229,156,187,121,150,150, 20,166,224,238,168, 96, 17, 18, +244,100,171, 44,217,173, 10, 74, 83,208, 42, 77,235, 83,225,216, 42, 74,118,137,212, 89,134,150, 26,149,143, 82, 98,154,209, 28, +117, 14,173, 51, 22, 49, 34, 72, 22, 84, 27, 3, 27,161,137, 3, 14,121,172, 52, 39, 66,210,168,130, 45, 37,121, 43,147,108,153, +130, 66, 24,118, 76, 70, 46,147,122,255,160,237, 88,218, 14,223,247,156,247, 13, 27,219,114,214, 52,116,109,203,106,181,228,225, +201, 99,142, 78,142,120,116,240, 20, 58,199,225, 39,143,225,201, 99,226,242,156,216,109, 82, 19, 19, 2, 81,133,225,192, 30, 94, + 40,222,127,182,152,243,194,116,231,135,163, 84, 46, 30, 23, 41,168,238,226, 97, 19,186,249,163,243,142,127,117, 62, 71, 2,173, +183, 28,186, 13, 79,109,203,169,183, 44,188,229,180,111,232,189,163,245,150, 60, 43,113, 3,231,189,146,233, 64, 56, 49,134, 77, +215,165,224, 24, 2, 77,140, 72, 4, 46, 6,164, 46,112,174, 35,203,179,100, 15,149,146, 66, 43,172,143,148, 69,158, 4,134, 17, +170, 44, 27,166,141,138, 92, 25,162,212, 4, 36,173, 13, 8, 23,105,250,134,205,166,165,239, 45, 49,244,201,135,142, 39,122,143, +119,150,169,209,136, 16, 88,251,142, 82, 72, 68,240,248,190, 69,138, 64,231, 58,180, 15, 72,231,200,134, 98, 45, 66,100, 91,164, + 73,107, 37,161,148,146,145,148,204, 98,138,161,222,146,134,155,245,132,153,206,153, 20, 21, 91,227, 41, 35,149,177, 55,217, 99, + 55, 31, 49, 85, 25, 87,183, 46,145,133,136, 70, 50, 45, 42,108, 76,113,211, 82, 72, 78,241,136, 8, 31,119, 27,154, 24, 89, 17, + 88, 71,193,119, 54, 27,130,208, 60,244, 61, 45,130,147, 16, 24, 33,120,171,206,217, 56,203, 75,101, 73, 64,177,109, 10,142,250, +134, 55, 71,187,116,161,227,122,189,195,189,118,245,215, 84,191,251, 33, 17,236, 17, 13,114,221, 0, 0, 32, 0, 73, 68, 65, 84, +226, 54,113, 46, 41,219,141,121, 62,166,190, 40, 38,249, 16, 69,122,225,235,116,225, 5,181,248, 32,132,243,118,160, 3,248, 68, +122, 26, 15,100, 33, 53,208,231, 46,166, 3, 97, 56, 12, 72, 65, 78, 10, 57,176, 93,203,158,214, 28,246,237, 16, 81, 60,116,166, +171, 53,204, 87,208, 89, 38,117,218,255,120,160,145,130,104, 61, 74, 73,186, 62, 36,142,114,136,116,157, 69,170,152,210,221,130, + 29,124,170,102,136,105,189, 32,198,169,139, 25, 86, 42,136, 66, 12,227,250,161, 19,238,251,116,141,189, 75,187,236, 48, 76, 38, + 98, 76,235, 9,157, 63,139, 9,140,109,178,192,141,148,162,247, 33, 9,251,172,135,104,193,201,180, 20, 90, 45, 56, 93, 90, 84, + 93, 32, 69,226,141, 71, 9, 19, 20, 14,143,139,158, 32, 34, 42,200, 36,110, 19,130, 60,192,177,237,113, 90,113, 89,195, 97,231, +159,171,244,197,160,107,136,195, 26,228, 5,104,253,163, 15, 63,226,179, 63,249,227, 9, 9,233, 3,173,239,137, 65,144,235,140, +157,221, 61,242, 34,167, 42, 50,198,101, 78,110, 20, 34,130, 80, 2, 61,252,123, 33, 68,178, 66,167,216, 85, 23,136,131,100,162, +115, 46, 69,125,170,212, 63,154,139,179,161,136,233,252, 18, 35, 35, 45, 40, 5,100, 74, 83,168,228,245,246,131,240, 74, 12,216, + 80,149, 25, 22, 89, 70,191,182,212, 58, 97, 92,215,221, 6, 27, 60,189,107, 19,220,196,123,148,201,185,122,229, 38,211,122,198, +100, 54,227,242,246, 30,179,170,198, 8, 67,173, 13, 35, 33,153,236, 78, 40,140, 70,219,136, 44, 13,126, 0,207,100, 82,224, 51, +153,130,185, 66, 68,217,128,233, 60,210, 38, 84,107, 52, 10,101, 82, 54,187,201, 85,202, 73, 55, 10, 35,192, 32, 41,140, 66,231, + 26,187,233,153, 29,116,240,104, 5,109,143, 47, 21, 20, 26,169,147,175, 93, 54, 1,185,238, 16,147,114, 72,235, 3,129,194, 92, + 25,147,141, 12,246,116, 69, 55,239,105, 30,156,112, 37, 56, 94,201, 13,227, 66, 51,207, 53, 87,246, 39,188,245,153, 59,132,105, + 75,245,214,132,203,111,223, 68,124,110,159, 47,254,199, 63,199, 23,126,226, 10,127,255,239,254, 44, 89,222,240,237,111,126,130, + 28, 60, 6,233,221,147,182,239,146,192,233,201,199,236,190,246, 42, 58,244,200,222,167, 4, 47, 37,209, 90,178, 38, 38,176,144, +119,116, 65,112,190, 88, 34,176,248,213,138,222, 90,156,204,249,181,143, 62,193,127,242,125,194, 39, 31, 19, 30, 63, 34, 60,252, +148,112,178, 32, 60, 58,160,107, 2, 99,239,249, 79,174, 22,124,241,202,148,173,105,206,135, 75, 71,179,108,112, 66,160,165, 71, + 32, 56,247,145, 50,194,201,166, 73, 34,178, 16, 88, 91,193,169, 80,180, 90,178,118,129,214,121,254,118,173,249,185,253,146,215, +102, 25, 61,138,211, 32,120,191,113, 56,173, 57,148, 38, 9,180,150,167, 24,215,147, 69, 64,102, 88, 37, 89,245,176,238,122,116, +111,169,136, 56,219, 49, 82,129,109, 19, 41,178, 12,239, 36,186,200,145,217, 8, 35, 13,101, 85,209,184,200, 89, 20,120,147, 49, + 14,142,203,163,154, 82, 41,164, 54,152, 40, 81, 90, 35,133, 64, 72,195, 19,239,145,210,240, 88, 4,148,144,116, 41, 35, 47, 29, +200,149,166,208,249,128, 39,141,188, 82,100,188, 42, 35,123, 72,138, 44,167,150,130, 17,146, 67,219,241,131,166,229,164,223,112, +220,119,124,212, 44,121,186, 89,114,116, 62,231,241,147, 39, 60,190,255,132,179,123, 15, 89, 31, 29,192,106, 9, 7, 39,131,246, + 40, 29,158,163, 74,107, 71, 84, 24,232,152,241, 47, 12, 74,249,255, 82,224,253, 11,223,159,141,227, 93,143,235, 58,238,109, 60, +223, 94,174,105, 68,228,219,203, 13, 39, 6, 30,186,200,121,148,144,231,228, 91,151,232, 84,202, 81,232,133,194, 5,143, 82,138, +121,223,225,148,196, 59,199,121,219, 64,132, 54, 56,132,179,200,152, 68,164,209, 90, 54, 62, 48, 46,203,244, 60,155, 68,111,204, +148, 76,177,164,190,199,199, 72,136, 2, 33, 37, 82, 36,253,135,183,145,179,118,205,178,235, 89, 7,203,218,182, 52, 33,176,218, +172,232,250,158,211,102,131, 11,158,243,182,195,117, 29, 83, 13,190,239,145,206,146,135,128,237, 58, 42,161, 32,132, 20,144,131, + 64, 17,153, 74, 65,231, 29,219, 66,160,165, 96, 36, 36, 59, 58, 99, 58,154,178, 95,212, 76,243, 17, 85, 81,145,231, 35,234, 98, + 76,105, 74,242,188,102,183,170,153,228, 57,179,186, 70, 56,199,100, 60,166, 48, 57, 10, 65, 41, 82,116,120, 16,137,115,242,196, +245,212,198,176,112,145, 54, 6,126,176,110, 25, 73,201,119,108, 71,140,105,149, 32,130,227,117, 99,232,156,227,237,209,132, 15, +218,150, 61,169,177,193,242,198,100,155, 15, 55, 43, 62, 51,222,229,187,103, 7,252,248,222,149,255, 31,150,182,240,124,124,251, +108, 44,159, 13,194,176, 11,116, 42, 67, 76,222,133, 26, 62, 14,133, 94,136, 84,236,132,120, 62, 32,106,237, 96, 63, 75,169, 73, +148, 58,221,176, 82,253, 48, 74,118, 24,141,251,206, 83,233,228,121, 63,233, 82, 33,151,128,240, 73,248, 64,103, 97,221,128,111, +233, 84,218,223, 33, 20,219, 3, 12, 69,249,200, 88, 72, 22, 33,125,208,117,109, 32, 10,255,124,140,222,117,105, 5,112, 1,212, +201,139,212,133, 63,139, 50, 29,138, 54,131, 98,191,115,207,119,234,132,193,242, 22,158,157,164,211,255, 51,168,250, 93, 76,138, +120, 37,233,219, 33,231,188,237,159,219,226,164,127,190,247,206, 37,139, 54,114,212, 56,164, 12,212, 8, 54,222,145,107,133, 33, +162, 93,160, 23,129, 12,137,141,224,162,195, 40, 69,219, 57,162, 16, 52, 65,208, 55,125,250,157,220,102,152, 46,252,217,193,220, + 96, 24,216,155,113,249,242, 21,144,130,233,100, 11,219,116,140,235, 17,123,151,118,168, 70, 57, 91,147, 2,136, 24,165,159, 49, +131,252,160,103, 80, 67,208, 11, 2,156, 15, 68, 23,177,189, 35,120,200,242,148,128, 55,214, 34, 9,229, 34,100, 82,166,167,139, +148,140,214,133,200,169,117, 4, 17, 49, 33,210,251, 64, 39, 65,169,100,157, 49, 74, 97,234,156,229,167,135, 28, 46,150,172, 68, +164, 87,154, 94, 27,114,157,113,119,251, 18,183,182,246,169, 39,219, 76,102, 51,174, 94,221,229,141,187,215,249,201,183,110,145, + 77,167,212, 91, 83,246, 71, 53,178,117,100,147,146, 50,203,160,115,104,163, 17,179,196,149, 86, 90, 17, 10,153, 44,121, 17,164, +243,136, 65, 71,208, 35,240, 90,130, 78,153,241,218, 40,140,145, 20, 82, 81, 74, 40,163, 72, 0, 27, 31,121,231,196,113,184, 95, +210,198, 21,253,147, 19,186, 71,167,248,117,139, 40, 51, 68,110,144, 34, 32,164, 70,230, 26, 25, 34,162, 75,239, 5, 17, 98,250, +187, 42, 71,204,114,244,245, 49,249,172, 68, 25, 69,172, 37, 49,151, 72, 9, 7,167, 43, 58, 89, 82,141,102,136,106,196,143,239, +141,249,207,189,227, 11, 46,242,155, 31,220,231, 35, 17,120,237, 43,183,217,125,185, 96,116,189,100, 45, 3,156,244, 40,224,171, +255,240,231,249,151,255,195, 59,124,231, 87,190,206,171,127,231,243, 20,206,162, 67, 64,134, 64,101, 45, 7, 77,143,127,250, 41, + 31,254,234,183,216,236,103,216,245,146,157,245, 9,187,243, 83,182,207, 14, 16,177,227,126, 16, 92,157,108,115,125, 52,166, 48, + 25,186,219,240,213,246,140, 59,221,130,141, 50, 60, 93, 52,188, 62,202,185, 57, 46,248, 90, 11,191, 83,228,168, 33, 71,104, 99, + 10,140, 49,196, 40,240,235, 53,210, 57, 92,107, 57,183, 61, 93,159,172,138,197, 98,141, 88,110,232,187,192,219,181,230,213,105, + 65,110, 52, 39,125,228, 55, 14, 27,150, 4, 76,157,145, 85, 37, 93,208,220, 59, 58,228,252,228, 0,225, 26,136, 17, 43, 20, 62, + 6,214,109, 79,227,122, 70, 64,180, 61,133,134,138,180,139,205,140, 36,203,106,234,178,164, 55,134,141,147,136,178,164,172, 70, + 4, 23,152,106,205, 56,215, 84, 58,199, 40,147, 24, 11,121, 18,226,158,186, 64, 39, 53,231,209,115,210,247, 20,164, 3,209,102, +200,189,184,156,101,156, 73,201, 76, 41,150, 81, 48,149,145,215,178, 20,222,179, 21, 61, 75,215,179, 10,142, 7,182,227,215, 79, +207, 56,177, 27,150,139, 57,113,177, 72,141,200,201, 25,177,109, 97,125,142,144, 33,133, 96,245, 3,179, 67,166,136,105,140, 68, +244,225,133, 83,114,130,217, 64,248, 43,125,124,255,168, 34, 31,254,146,226,238,242, 12,167, 75,156, 16, 56,105,120, 98,114,206, + 46, 93,226, 81, 94,115, 54,222,101,119,186,203,108,119, 31, 47, 36, 50,175, 88,106, 73,231, 45,182,239,105,186, 22, 99, 12,193, + 57,154,152,178, 36,186,118,131,183, 22,221,119, 8,151,162,108, 51,239,144, 17, 86, 93, 71,149, 25,182,124,164, 9, 30, 33, 37, + 89,219, 13, 33, 43,142, 82,128,243, 14, 47, 37,116, 9, 39, 61,119, 61,139,232,120,218,119,184, 64, 58, 68,132, 72, 46, 2,219, + 72, 70, 2,218,174,199,250, 84,107,174,229,134,130,136,114,158,145, 78,246, 75,233,147, 48, 80, 18,153, 42,141,140,130,189,114, + 4, 17,246,171, 41,187,229,132,253,233, 30,120,207,184,218, 66,153,156,158,200,118, 61,195, 71,136,202,144,143,106,118, 77,193, +168, 30, 97, 16, 20,121, 73, 32,173, 76,147, 36, 77,162, 17,116,125, 79, 67,164, 18,146,135,182, 67, 16,121,220,116, 76,144,252, +174,179, 67, 51,155,106,233, 76, 74,238,249,192,127,180,179,205,135,253,134,175, 20, 21,167, 10,246,178,130,247,230,167,252,244, +246, 62,239,109,150,252,196,222, 85,126,235,224,225,191, 38,246,251, 51, 16,141, 25,184,237, 67,215, 13, 67,142,164,122,110,233, +202,205,115, 97,220,139, 7,128,126,192,154, 74,157,210,140, 80,169,216, 5, 63, 76, 1,178, 36,170, 67,160,180, 98, 44,147, 7, +247,172,237,168, 68, 26, 3, 27,159,130, 71,112,126, 16,135, 13, 30,242, 24,241, 81,242, 90,145,161, 73, 5,232, 40, 68,116,112, +236,104,201, 88, 72,142, 93,155,198, 87, 23, 42,241, 48,164, 50,169, 60,173, 8,172, 27,210,214, 6, 73,129, 15,233,141,166, 72, + 42,255,174, 31,236,119,109,242,224,251, 54, 21,244, 23,167, 27, 58, 79,227, 35,165,211,225, 70,203,231,192, 26, 49, 8, 1, 47, +212,243,118,216,215, 91, 7, 93, 67,140,146,243, 85,199,198,192, 52,164,147,164, 28,222,137, 54,198, 52, 60,144, 49,217,110,172, + 67,239,237,241,157,165,227, 53,229, 56,246, 49,121,240,237,176, 99,151, 60,103,209,191,240,245,224,253, 31,240, 99, 95,126, 27, +162,160, 91, 55, 52, 93, 75, 12,112,114,188, 32, 56,205,229,253, 41, 50,138,164,110,207, 82,184, 9, 49,237,246,189,136, 88,231, + 81, 33,210,181, 46,105, 1, 69,234,180,145,145,202,104,106,157,186, 25, 31, 35, 27,235,159,229,255,246, 62,157,180, 54,222, 51, +239, 35,185, 74,123,248, 16, 97,233, 28, 77,136,120,163,104,148, 98,215,148,232,233,140,107,245, 4, 47, 12, 74,101,140, 77,201, + 91,147, 45,234, 24, 57, 62, 61,161, 95, 47,144, 62,224, 54,150,178,183, 76, 16, 92,158, 86, 76, 47, 79,241,163,156,172,177,140, +148, 34,100,169,135, 21,153, 70,150, 25,162, 48,132, 33,198, 81, 93,160,252,125, 28,130, 43, 36, 82, 43,116, 72, 7, 12,161, 69, + 50, 63,132,136, 70,144, 41,137,138, 17,233, 61, 15,207, 44,246,220,226, 99, 78,254,210, 22, 71, 33,195, 44, 55,184,239, 31,208, +172, 91,226,162, 69, 54, 29,172, 59,226,162, 33, 62,221,224, 30, 29, 33, 90, 75, 92, 54, 72,169,209,181, 70, 79, 42, 86,179,130, +197, 86,193,114, 82,225, 70, 37, 22,193,193,201,138,213,233, 41, 70, 6, 68, 94,242, 31,206, 74,174,232,140, 42, 42, 38,120,238, +105, 69, 94, 20,140,119, 46, 49,189,122,137, 27,175,220,226,246, 87,238,144,125,249, 37,254,179, 66,243,210,207,222,225,105,181, +224,157,255,254,143,248,147,223,120,151,207,127,229, 22,255,227, 63,249, 29,142,190,249, 1,211,109,197,150, 44,120,245,213,125, +174,120,203, 79, 42,193, 87,203, 49,111, 86, 51,102,249,136,135, 70,179, 46, 39,124,245,165, 43,188,117,117,143,219, 87,118,184, +148,143,248,169,157,171,188, 49,221,230,229,224,248,189,222,242,255, 60, 60, 69,202,130,127,220, 75, 78, 51,197,189,113,201,189, +237, 17, 31,205,106,244,164, 98, 60, 42,208, 42,163, 95,108, 56, 63, 95,128,136, 40, 29,185,225, 54,124, 81, 9,222,232, 87, 92, + 19,158,243, 78,176, 18,146,167, 22,254,217,131, 13, 31,158,174,233,137,200,113,201,206,172,228,242,168,166, 18, 37, 11, 20, 31, +157,159,115,182,217,160, 67, 67,215,183, 40,231, 19,238,183,235,217,207, 37,165, 72,110, 11, 39,101,138, 90, 21,145,133, 11,228, + 82,160,133,164,115, 22,215, 7,140,132,105, 93, 83, 73, 67,149, 41,114,149, 72,123, 81,192,153, 13,116, 49,221,215, 22, 40,149, + 98, 41, 36, 75, 36, 47,231, 25,175, 21, 53, 39, 81, 98, 5, 92,215,138, 93, 37, 57,113,129,195, 16,249,183, 71, 99, 58,151,238, +199, 39, 1,190,190, 90,178, 21, 45,135,135, 39,233,253,127,190, 30,216, 26, 46, 9,111, 59,143,232,134,184,228,139, 28,114,169, +147, 94, 98,208,246,136, 48,172, 38, 73, 90,158, 11,144,231, 95,244,248, 75, 11,187,214,196, 34, 35,150, 37, 33, 31, 19,242,138, + 80,143, 8,245,132,176, 53,195, 95,217,199,223,186,140,187,178,143,187,126, 11, 55,221,198,141,118,233,138, 17, 55,242,146,237, + 73,133,208, 6,235, 3,167,203, 6,103, 91, 68,244, 24,231,232,135, 88,236,190,217,224,125,106,128,100,183, 38,244, 45, 83, 34, +218,182, 20, 49,160, 9, 72,215,147,133, 68,165, 28, 41, 77,215,247,168,220, 16,218,110, 88, 69,166,130,231, 87, 29, 70, 40,230, +237,134,181,237, 57,179, 13,202, 7,100,244, 20, 65,240,165, 50,227,181,170,224, 70, 89, 48, 53,130, 50, 66,215, 56,148,128,137, + 18, 76,149, 98, 44, 53,106,200,166, 24,101, 25,219,121, 77,129,160,154,108, 39, 52,116, 86,176, 83,207, 64, 42,182,234,105,154, +234,148, 19,108,244,228,229,132, 50,171, 88, 71,203,104, 60,101, 84, 86, 76,165,162, 30,143, 17,222,145,149,229, 51,108,118,136, +129, 60,203,211,164,161,239,176,222,179,118,150, 35,223,209, 6,199,161,235,153,119,158,223,107, 27,162,179,105, 10, 3,140,165, +100, 25,225, 31,236, 76,248,229,179, 37,191,184,181,197,159,180, 13, 87,165,226,126,219,240, 51,219,251,252,225,114,206,151,234, + 41,255,114,121,202,191,121,227,206,191,166,148,182, 11, 16,188,139, 41,199, 91,188,128,145, 45,179,231, 9,108, 65, 13,187,105, +249,188,219,247,110,240,153,155,231,184,216,222,131,242, 84, 49,176,233, 3, 85, 85,160,131, 39,148, 37,141,119,196,102,195, 56, +207, 57,219,180,228, 82,176,177,142, 92, 11,172,181,100, 34, 69,126,166,159,153, 65, 88,131,148,236, 23,146, 54, 66,239, 29,185, +130,235, 74,243,212, 5,178, 40,208, 56,240, 58, 21,226, 63,155, 62,183, 57, 79,227,248,233,236,249,117,108, 6,150,123,166,211, +206,126,211, 63,247,226, 67,218,203,255,168, 44, 21,111, 65,141,135,160, 23,255, 67,214, 54,138,148, 18,151,186,127, 9, 34, 7, + 29,210,239, 0, 16, 59, 32,227,248,112,133,218,139, 92,178,130,221,188,160, 42, 13, 83,224,208,123, 64, 82, 2,141, 81,168,195, + 67,126, 66, 73, 22, 62,114,213,120, 30,106,153, 18,220, 46,172,117,127,193,215, 39,247,238,115,247,206, 93,188,116, 24,163, 80, + 66,113, 54,159, 51,221,154,114,112,176,230,234,229, 9, 40,137,136,130,177, 17, 44, 8,184, 76, 17,219, 52,134,180, 49, 32,181, + 72, 1, 36, 34, 29,220,188, 77,138,239,165, 76,250, 66, 41, 32, 87, 41,172, 38,196, 52, 94, 35,132,164,234,143,158,115, 11, 15, +186,158,206, 57,114,160, 48,146,210, 24,150, 34,242,250, 94,205,149, 60, 35,168,136, 50,154,229,201,146,147,179, 99, 26, 21,217, + 22, 5, 63, 51,221,166, 46, 75,182, 46,141,209,163, 28,217, 69,108,105,136, 70,210, 58,199,165,221, 9,106,119, 76, 53,239, 89, + 57,203,121, 8,228, 49, 32,137,104,163, 80,133, 30,244, 21, 32,181, 67, 12,150, 74, 37, 4,194,250,180, 22, 25,226, 99,133, 15, +105,250,137, 74,163,238,232, 9,153,230,223,248,220,140,227, 71,107,138,203, 91,204,246, 74,158, 78, 86, 60, 62,172,177,149, 37, +211,145, 8, 92,162,227,180,105,185,254,210, 62,157,236,249,214, 31,124,135,187, 69, 75, 49,170,200,166, 19,140, 74,153,235, 31, +182, 13, 7, 25,124,235,227,251,100, 85,141, 81,146,163,245,138, 27, 59,151,144, 1,166,221, 49, 71,118,143,203, 82,161, 0, 17, + 2,215,102, 99,108,132,166,245, 44, 59, 75,159, 37,182,194,127,153,149, 76, 17,252,164,146,228, 63,253, 83,252,224,115, 43,234, +227, 67, 54, 31,126,143, 95,124, 99,151,229,106, 13,167,115, 94,223,209,236,230, 37, 86, 73,176,145,220, 36, 91,209,182,140,188, + 33, 34, 97, 58,230,234,222,140, 81,153, 19, 4,236, 8, 69, 17,210, 65,108,164, 4, 63,119,220,240,251,173,227,151, 63,124,140, + 95,156,227,110,222,132,151,247, 97, 84, 32,164,224, 88, 75,222,172, 43,222,190, 50,130, 43, 99, 62,125,103,206,131, 39,247,153, +246,107, 94, 25,101,236,196, 64, 94, 84,220,113, 29, 31,206,159,242,127,124,175,225, 35,149,232,100, 58,147,196,160,216,180, 26, +145,101,108,215, 57, 87, 94,185,206,102,123,130, 59,188,196,236,248, 35,246,215, 11,114,215,242, 56, 43,248,104, 25,153, 24,197, + 90, 20, 68,165,200,138, 60,241,190,157, 37, 68,201, 44, 51,116,222,178,233, 28, 83,173,200,202,140, 3,219,225,188, 64, 27,201, + 90,192, 72, 41, 64, 49, 95,109,208,178, 96, 37, 90, 78,176,236,100, 5, 51, 41, 89, 57,207, 29,109,240,209,113,179,204, 57,160, +229, 82,208,140,149,230,172,111,121,173,204,112, 68,126,165,177, 60,104, 58,246, 11,197,217,186,101,108, 20,244, 61,213,100,196, +230,124,158,166,120,157, 27,178, 28,210,174, 42, 14,152,103, 49,196,184, 70, 13,194, 5,162,145, 63, 84,164, 5, 36, 46,190,115, +127,174,120,191, 88,192,127, 84, 65, 39,207,146,190,167,168, 17, 87,174,240,229,235,151, 41,178, 49, 31,135,192,227,205, 26, 17, + 93,226,238, 3,152, 10, 17, 83,116,109,180,142,168, 3,149,146,136, 34,167,111, 28, 90, 70,150,237,146,245,106, 78,219,183, 76, + 67, 67, 57,217,162,105,150, 88,219,130,144, 8, 2,210,123,116,240,212, 82, 80,111,230, 20, 58,103, 25, 28,151, 90,199, 90,103, +180,202,160, 17, 44,108, 79, 37, 20,174,235, 25, 27,205,122,189,192, 75, 1, 93, 64, 11,201,252,252,156, 85,136,172,250,134,162, +119, 72,239, 16,120,246,137,220, 44, 74, 10, 37, 81, 49,176, 4,156,118, 52,163,140,104, 35, 99, 97, 24,229,154, 45, 93,226,189, +103, 42, 20, 54,146,220, 42,179, 75, 4,239,240,163, 29,172,235,144,229,104, 64,177, 26,148, 78, 77,204,246,100,139,229,102, 73, + 94, 84,132,168,201,164,129, 76, 49,174,199,216,182,101, 50,174, 17, 46,164,120, 89, 36, 89, 38,177, 93,159, 8,155,218, 48, 95, +156,178,244, 61,171,174,225, 9,145,123,155,150,247,205,208, 60,102, 25,248,228,192, 90,153,146,255,250,210, 22,255,237,193, 41, +255,221,141,171,252,227,167,135,252,253,237, 41,247,108,207,141,114,196,255,122,112,192,191,119,233, 18,255,124,121,206,191,123, +233, 26,191,127,248, 20,197,206,221, 95, 34, 31,216,225, 38, 27,196, 96,234, 57,149, 44,252, 21,198, 57, 90,167, 16,147, 11, 75, + 26, 47,140,213, 61,207,169,112, 23,208,149, 11,113,221,179, 64, 4,159, 58, 94,235, 83, 39, 92, 21,100,163,154, 24, 35,151, 71, + 37, 85, 8,200, 92,147,245, 14, 19,192, 32,152,219, 62,177,197, 67, 36, 58,139,119,201,228,227, 90,151, 14, 23, 82, 38, 21, 57, +201, 74,214, 10,197, 37,173, 89, 74,168,133,102,233, 29, 19,173,105,188,163,139,146, 77, 8,233,116,244,103, 89,233,145,244, 4, +247,107,200,202, 84,152,241,233,119,189,232,212,173, 79,187,180, 24, 6,205,192,160, 48, 15, 46, 61,135,179,173,244,221, 13, 7, + 13, 72, 99,125,212, 48, 13, 48,195,140,203, 13,227,254,152,126,143,224, 94, 88,111, 12,138,124, 21, 89, 55, 29,135, 86,241, 82, +161,120,106, 29, 82,169,148, 74, 23, 19,205,205, 13, 7,129,167,173,227,212,246, 44, 93,196,218,144,198,250,222, 15,215,240,163, +191,238,189,247, 33,175,252,216,103, 40,234,146,172,168,184,125,247, 37, 66, 23,147,208, 79, 73,102,211,154, 66, 43, 2,130, 60, + 87, 73,188, 31,160, 15,150,174, 77, 98, 63,231,211,148, 48,248,128,141,129, 73,101,104,123,143,144, 2, 45, 34, 82,165,209,123, +231, 35,185, 86,212, 90,210,184,144,124,236, 33,210,249,192, 73,219, 19, 34, 84,185, 73,147, 1,163,120,184,105,185, 34, 97,247, +251,167,156, 29,156,210,172, 55,188, 90, 21,252,120, 61,229,198,254, 22,179,237, 9,123,121,201, 40, 42,140,117,112,214, 34,231, + 27,138,121, 71,239, 35,125,231,169,124,164,152, 84,132, 92,113, 26, 29,143, 36,204, 53, 24, 45, 17, 90,162,202,156, 40, 85, 90, +209,132,180,139,198, 70, 2, 73, 39,128,124, 30, 81,160,132, 64, 41,133, 48, 73,193, 27,149, 74,196,191,253, 49,163,203, 99,230, + 81, 97, 90,199,189,243, 6,191,182, 72, 37, 41,242,140,160, 12,148, 21,217,229, 93,102,151,198,232,155, 59,236,237,238,241,222, +135,223,231,192, 40,158, 68,248,211,249,156,127,241,209, 39,252,223,191,252, 33,223,253,173,143,121,242,221,115,238,127,235, 41, + 63,248,230, 1,143,191, 51,231,189,175, 61,225,221,211, 35,238, 77, 36,127, 18, 35, 47,111,111, 17,235,146,249,143,221,162, 51, +134,217,155,183, 17,215,118,161,168, 57, 63,239,153, 20,138,151,115,195,142, 0, 35, 4, 65, 74, 44,176,223, 54,188, 28,160, 78, + 87,136, 48,146,219,163, 41, 69,158, 92, 23,214,167, 52,177, 72,160, 19,145, 21, 2,103, 50,182,171,130, 40, 18, 71,193,104,197, + 40,207, 48,133,230, 20,201,147, 40,249,194,213, 25,183, 38, 99,122, 10, 38,235, 6,113,186,100,125,180, 68,228,134,185,139,108, +103,138, 91,165,225,202,164, 96,186, 91,161,119,118, 24,159, 58,110,133,134, 92,105,100,140, 16, 5, 83, 1, 69,220,240,253,195, +167,248,205, 28, 86,235, 20, 61,217,123,106, 36,219, 66, 82,107,193,164,202,248,210,229, 9, 63, 87, 78,121,115,179, 65,207, 15, +120,180, 90,240,125, 31, 49,194, 18,237, 6, 17, 3,189,117,196, 24,113, 94, 80,122,203,117, 26,110,216,158,171,194, 83,216, 13, +125, 51,103, 79,151, 84, 50,114,110, 29,211,188, 2, 34,167,235,142,162,200,152,247,150,117, 8,188, 57,158,240,199, 77,207, 79, +140,106, 76,150,113, 24, 2,159, 41, 11, 58, 27,184,149,101, 84, 69, 77,229,122,174, 22, 21,235,232,169,179,156, 83,103,217,209, +154,153,146,132,216,177,105, 61, 75,235,120,228, 67,154, 84,246, 22, 86, 77,106, 30,130,123,158, 14, 23,211, 71,133,208,105,133, + 39,244,112, 95, 94,136, 36, 7,221,132, 4,100, 8, 63,252,231,103,154,138, 23, 10,191, 76, 66, 89, 97, 52,236, 94, 38, 78,167, +112,247, 54,188,242, 38,255,254,235, 95,228,165, 91, 55, 25,143,119, 57,245,112, 96,138,164,198, 71, 19,116, 70,140,142, 32,100, + 42,122, 74, 16,186,150,118,179,132,213, 57,151,148,199, 45, 78, 56, 61, 63,224,119, 30, 61,162,136, 61,149,150,204,155, 21, 82, + 43, 54,109, 75, 41,192,119, 27,100,215,176, 75,100,199,187,148,150, 40, 21,187,182, 39, 71,176, 45, 5,165,179,232,190, 65,199, +200,194,183,172,251,134, 85,187,193,246,142,195,243, 51, 54, 77,199,217,249, 9,125,211,176,238,214,136,174,167,196, 81,186,158, + 50, 4,222, 30, 21, 84, 74, 81, 75,137, 33, 50, 70,144, 9,207, 30,138, 59,153,228,229, 66,179, 47, 4,183,117,198,231,138, 17, +149,183,188, 85, 76,168,198, 59, 92, 67, 83,142,182, 80, 49, 80, 84, 51,164,209,104,147, 51, 46, 70, 72,149,161,243,156,206, 91, +242,170, 6,165,168,181, 65,228,134, 74, 25, 60, 80,215, 37,222, 38,237, 72,146,140, 37,139, 31, 64,223,245, 4,215,163,162,224, +160,155, 51, 15, 61,143,154, 5, 31,250, 72,211, 54, 4, 33,137, 46, 37, 38, 34,224, 23, 70, 25, 95,223, 88,254,171,253, 75,252, +195,199,143,249,111,174, 92,229, 55,207,230,188, 90,230,252,243,179, 57,255,206,238, 46,191,219,172,248, 74, 61,225,187,109,195, +207,236,239,163, 24,223,249, 37,134,228,234,103, 40, 87, 31, 82,241,177,253, 95,173,176,135, 11, 5,248,144,141,174,228,179,177, +119, 42,218,242,121,161, 18,164,221,180,148,207,147,217,132, 76,105,109, 98,144, 71,215, 37, 91,101,129,145,146,206,167,206, 38, +119, 1,105, 36, 65, 8,106,239,232,108, 79, 31, 34,113, 16,233, 41,231, 9, 46, 32,227,160, 7,158, 47,210, 1,165, 11,168, 42, +137,164,158,120,203,174,212, 52, 70,176,140,130, 22,207, 18, 48, 58,121,149,125, 55,168,216, 95,188,222, 11,218,221,197,186, 32, + 12,192,157, 16,134, 34, 62, 4,212, 68,159, 58, 96, 51,232, 0,156, 75,133,120, 50,133, 73,145,242,162,155, 52,129, 64,103, 3, +144, 39, 41,250, 25,186,236, 52, 22,143,195,212,162, 75, 7,132,100,190, 76,207, 87,140,207,179,157, 61,220, 91,119,188, 58,206, +121,208, 58,218,144,246,236,243, 62, 32,124,100,222, 59,244,176,159, 62,105,147, 24, 48,177,224, 47,226,129,254,226,215,244,149, +183, 94, 99,182,183, 77, 57, 74,251, 69,173, 76,242, 23, 11,157,212,168, 6,252,144,128,100,148,120, 54,146,111,173,195,217, 56, +128, 51, 34, 46, 68,188, 79,162,188,186,214,140,139, 11,223,182, 24, 50, 34, 4, 82, 8,250, 24,217, 88,139,141,145,214,185,103, + 33, 18,142,136, 25,124,169, 79,206, 27, 78, 91, 75, 89, 23,108, 13,177,186,181, 82,148,101, 78,221,123,132, 23,200,117, 79,214, +121,124,215,226,251, 64,167, 33, 40, 73, 62, 42,168,148,196, 52, 14, 19, 4,186,179, 20,227,138, 32, 21, 15, 6, 64,210, 44, 55, +216, 16, 17,117,145,196,107, 34, 9,245,144, 98,200,102, 18, 16, 99, 18,238,137,132,193,149,198, 36,196,170,148,200,152, 70,184, +253,172,128,227,142,145, 48,132, 43, 35,212, 89, 75,253,141, 71,212, 55, 50,194,106, 73,189,238, 9, 27,216,222, 42,216,158, 21, +148, 85,142,237, 29,110,171,224,165,215,111, 48, 63, 92,179,152,207, 57, 56, 60,226,254, 59,103,184, 24,113,235,126,176, 26, 41, + 2,142, 56, 60, 56,237,176, 77,203,222,103,239,210,188,121,155,241,237,109,102, 90,240, 55,103, 35, 94,149,138,167,125, 75, 62, +169,216,185, 49, 99,186, 63, 33,107, 60,223,118,142,243,174,167,115,158,105, 81,240,165,124,130,107, 23, 24, 37, 8, 58,226, 46, + 95, 35,247, 45, 74,192,218,182, 60, 42, 10,158,110,206,233, 92,199,166, 89, 51,239, 90,142,188,227,220, 11, 58, 36,167,173,165, +223,244, 84, 85,198,121,107, 57,207, 52,215,246, 42,182,170,140,105,109, 88, 96, 56, 12,146, 71,239,127, 3,115,126, 68,190, 17, +184,147,134,251, 66,113,117,148,115,187,204,120,121, 39, 71,100,138, 75, 59, 53, 91, 78,145,183, 93,250, 40,146, 2, 47,224, 84, +106,102, 89,205,229,190,165,223, 28, 51,251,228, 29, 86,135,247, 40,124,129,237, 28, 58,128, 80,146,215, 13,236,201,136, 89, 55, + 28, 62,125,200,159,156, 46,248,160,235, 41,130, 77,136, 99,107,105, 90,203,198, 10,246, 84,207,181,216,243,102,132,219, 72,118, +109, 2, 47, 85, 82, 37,102,119, 8, 72, 21, 57, 93,174,153, 55, 61,107,111, 17, 94,178, 83, 87,188, 61, 29, 35,165,226,199,202, +146, 81,149, 49, 69, 32,155, 13,143,150, 75,214,222, 49,210,154, 49,142,135,206,210, 44, 78, 41,148, 97,175, 40,184, 92,213, 68, + 33,120,119,189,230,188,233, 56,179, 61, 31,110,154,180,186,115, 46,233,138,194, 48,241,107,125,170,222,147,113,250,174, 50,132, + 73, 66, 64, 97,116, 18, 87, 14, 17,199, 23,133, 91, 13, 69, 93, 93, 24,145, 46,254, 14, 80, 90, 35,140, 70, 78,119, 16,251,123, +136, 59,183,224,245, 55,225,218, 13,184,250, 18,236,221,228,238,238,117, 62,191,191,197,116, 84, 80, 22,134,211,206,242,201,226, + 20,188, 37, 70, 71,236,122,194,102, 77, 88,159, 17,150, 11,226,227,199,132,213, 25,241,195,143, 56,222, 44,248,238, 71, 31,113, +255,244,128,239,190,127, 15,119, 58,231,112,221,112,180, 88,147, 27,120,112,124, 76, 17,122, 14,142, 78,152,224,216, 18,145,157, +102, 67, 38, 21,133,128,202,246, 76,165, 70, 18, 40, 92, 64,185,158, 16, 28, 85,179,102,215, 89,122,103, 25,183, 13,133,235,152, +250,150,151,155, 21,175, 7,207,155, 50,240,122,215,242,213, 76, 51,113, 45, 55,137,236,234, 68,104,219, 86,154, 26,216,213, 5, +149,115,236,133,200,109,173,184,161, 4,175,168,130,151, 76,206,181,124, 76, 25, 5, 87,202, 45, 84, 86,176, 43, 11,172,150,236, + 25, 3, 85,157,146, 25,235, 26, 83, 22, 88, 4, 58, 87, 24,173,145,131,102,204, 72,129,212, 89,170, 33, 33, 82, 21, 9,243, 26, + 69,250,188,216,180, 61, 82, 43,122,107,217, 52, 45, 17, 79,192,209,249,150,165,237, 88,118,107, 14,188,231, 7,203, 22,111, 45, + 65,184, 36,202, 13, 22,132, 66, 70,248,185,209,152,223, 89,110,248, 47,118,183,249,223, 79,231,252,244,180,228,107,231, 27,254, +222,222, 46,191,124, 50,231,239,110,111,241,141,126,195, 79,143,198,252, 95,243, 51, 20,147,151,127, 9, 61, 40,217, 7, 16, 26, +153, 74,163,104,147,253,165,138,202, 63, 87,216,229,160,198, 20, 50,117,118, 46,166,150, 77,136,231,106,241,190, 29,238,198,193, + 43,205,176, 87, 87, 67,216,184, 76, 79,230,222, 40, 25,234,199, 82,160,140,164, 9,145, 82, 73,198, 42,112,210, 36,144,128,247, + 17, 33, 35,177, 11,207,206, 35,193, 37,186,220,179, 29,126,232,152,152,140, 69, 27,217, 26,167,200,187,131,181, 99,100, 20,157, +144,228,153, 34, 72,129, 68,146, 27, 69,215,118, 63,250,122, 47,196,125, 74,167,195,142,144,207,135, 88,201, 83, 4,114, 56,180, +244,118, 64,222, 14,172,119,100, 2,225,244,205,160,210,203, 6, 40,204,144, 51,159,107, 38, 10, 58,149, 14, 63, 25, 17, 47, 84, +218,129,203,240,156, 0,199,112,224,146, 98,144,175, 40,158, 6,199, 37, 35,217, 81,146, 67,235,217,143,176, 12, 48, 65, 96,173, +103, 17,161,233, 2, 34, 4, 98,102,210,193,227,226,223,252, 11,190,158, 84, 21,159,189,243, 18, 16, 89,175, 54,116,155, 6,231, + 60,101, 93,179,119,105,130, 12,130, 44, 55,212, 70,167, 4,164, 16,201,134, 32, 16, 31, 99,234,134, 92, 68, 32,153,212, 6,103, + 61,253,224,248,203,179,164, 24,143, 34, 21, 65, 49,176,124,146, 35, 39,117,233,193, 71, 58,235,233,250,192,249,198,114,180,234, +152,175,187, 52,234, 30,229,124,239,225, 49, 79,219,142, 85,140,108,156,227,241,102,195,185, 0, 21, 60,217,118, 69,147, 27,178, +189,154,234,198, 14,242,165,109,182, 62,115,153,226,198, 14, 98,167,166,120,105,139, 77,149,161,131,164, 28, 21, 60, 94,183,148, + 70,112,100, 29,171, 16, 17,101, 78, 81,164,113,100, 16, 67,204,164, 2,171,161,147, 18,127, 1,202, 41,116,202, 8,207,146,134, + 68, 9,129, 46, 53,147, 50,103, 60,183,244,203, 13, 92,174,104,103, 21,197,237,109,202, 73,137,253,100,201,225,161, 32, 8, 69, +115,214, 48,177, 29,217, 52,167,239, 28, 75, 23, 40,182, 42,110,189,113,157,197,227, 57,255,234,183,222,199,125,216,224,214, 61, +110, 40,229, 23,126,226,100,100, 75,247,159, 56,111,152,127,237, 62,229,205,138,171,119,175,242,153,222, 51,126,247, 4,117,222, +178,127,222, 49, 89,109,184,150,193,205,121,203,229, 16,248,172, 48,188, 90,140,184, 51,154,242,242,213, 61,202,233,132,221, 98, +151,157, 87, 95,226,234,181,107, 92, 63, 92,146,119,150, 32, 10, 94,255,249, 47, 51, 89, 69,190,181,110,249,188,202,200,219,150, +223, 62, 59,229,228,248,152,135, 15, 62,225,254, 71,223,231,193,135,127,202,175,127,227,187, 92,159,237,144, 21, 25, 81, 39,192, + 74, 84,138,168, 52, 42, 74,158,116,129,167,197,152,240,107,255, 27,246,221,111, 34,154, 99,100, 95, 33,246,118,248,183,174, 20, + 92,159, 22,236, 26,144, 54,208,244,144, 91,139,142, 17,235, 28,157, 86, 72, 36, 91, 50,114,107, 50,226,243,245,132,219, 85,205, +151,138,140, 75,199,159,194,226, 9,247,142, 78, 57,235, 34, 51,235,224,120,206,251,143,239,241,235,159, 60,228,119,143,214,248, + 62,176,136,130,220, 91, 38, 50,162, 20, 92,201, 97, 11,197, 77, 34,159, 81, 25,123, 66, 82,233,156, 66,104, 38,166, 2, 33, 9, +121,198,178,143,172, 17, 92,157,141,184, 52, 25,179,157,101,236,150, 5, 74, 40,174,103, 25,123,185,193, 7,207,121,179,228,201, +124, 78, 29, 61, 27,223,211,245, 61,206,121,206,219, 53,125, 12,196, 24,152, 72, 65, 93,105, 74, 60,149,239, 8,182,227,157,174, + 29,236,178,253,224,178, 25,194,171,242, 28,246,182,224,202, 46, 76, 70, 48,173, 17, 85, 9, 89,134, 48, 5, 66,167,213,131, 80, + 73,247,241,172,144, 59,135, 26, 18,177,245, 80,208,117, 85,160,198, 91,200,235, 87,145,175,220, 69,220,190,131,184,126, 23, 49, +189,130, 24,109, 67, 61, 67,100, 5, 72,137, 81,138, 27, 82, 83,106, 65,179, 90,243,240,232,132, 7,167, 79,137, 39,135,196,131, + 35,226,209, 9, 60, 57, 32, 30,158, 19,159, 30, 19,207, 78,137,199, 39,196,213, 2, 78, 78,136,231,115,154,163,179,212,104,185, + 14,214, 61,221,124,197,227,249,134,211,206,114,127,177, 97,164, 2,211, 16, 40,154,142, 81,174, 49, 49, 48,138, 1, 33,135, 84, +200, 0, 27,215, 99,164,161,114, 29,193, 59, 74,101, 24,117, 13,133, 84,212, 62,240,182, 50,188,102,114,110,168,156, 61, 41,184, + 82,148,236, 11,195, 29,165,185, 45, 52,175,161,216, 87,154,207,232,130,155, 89,205,110,136,220,150, 57,147, 16,184,161,115,182, +132, 34, 71, 50,173,102, 24, 4,117, 62, 3, 34,121, 94, 33, 76,198,184,168, 64,107, 76, 89, 16,164,162, 71, 32,181, 68,152,180, + 34,246, 8,138,204, 96,148, 65, 9,153,112,194, 68,230,182,167,245,158, 24,211, 52,108,221,117,104,173, 89,174, 86,244,193,179, +106,215,232,224, 88,180,107, 62,217,204, 33, 90, 54,209,243,209,217, 25,143,172, 39,244,158, 16,210,106, 37, 70, 73, 84,154, 27, +198,144,101,154,183,138,140,239,181, 45, 63, 89,231,252,105,215,241,246,164,230,183,206,151,252,194,206, 22,255,231,209, 25, 63, +191,189,197,175,157, 44,248,197, 27,151,135,162, 78,120,238,109,144,131,141, 44, 27, 10,186, 16, 9, 90,242, 87, 17, 85, 6,159, +246,204,113, 40, 28, 23,124,120, 6, 49, 71,176, 63, 44,144,123, 81,129,221,167,195,132,168,198,212,211,138,141,115,236,141, 42, +188, 79,128,130,105,150,130, 68,142,150,107,114, 96,221, 56, 92,151,196, 86,105,172, 45,137, 93,155,130, 96,252, 0, 89, 89,183, + 32, 3, 93, 7,251,147,156, 32, 5,199, 93,228,165, 73, 70, 47, 83,146, 88,144,130,177, 16,108,124,100,221,165, 40,209, 31, 25, + 87,122, 49,141,232,125,154, 60,200,144,174, 71, 12, 45,126,116,233,201,179,131,143,223,133,231, 93,126,240, 73,137,127,209,113, +203,129, 31,175, 21,228,154,237, 12, 22, 46,178,149, 9,234, 76,178,236, 6,225, 92, 74, 32, 72, 1, 57,241,197, 3,196,176,202, + 80, 17,239, 60,109, 4, 17, 36, 70, 68, 14, 99, 68,133,192,177,183,228, 90,114,218,245,180, 33, 32,163, 32, 51, 17,223,251,212, +173,255,168,107,188, 96, 4, 61,120,204, 91, 95,248, 28,163,233, 24,188, 71,162,121,114,248,104,208, 58,100,108,207,106,182, 70, +121, 26, 30, 12,231, 18,165, 5,189,141,207, 94,234,222, 5,214,182, 99,213, 88,164, 6,219, 6,156,135, 34,229,148, 38,170,152, + 72,236,240,214,122, 70, 42, 57,169,227,112,141,109,111, 17,192,122,227,112, 3,113,204,122,207,238, 86,197,162,241,204,231, 75, + 30,247, 61,243, 81, 73,190, 55,193,111, 23, 92,185,182,141, 40, 13,187, 47, 95,162,188,190, 13, 59, 37,155,182,231,147,147, 57, +199, 71,115, 30,156, 47,121,178, 89,115, 30, 2,203, 0,123,179, 10,165,224, 97,223,113,214,122, 62, 58,183,156,116,112,115,167, + 76,113,178, 98, 48, 52, 8,153,222,220, 82,208,137, 20, 3, 28, 11,147,166, 44,133, 70,101, 6,145, 25,188,148,100, 59, 5, 38, + 87,104,231, 40, 15, 86,152,101,159, 14, 0,153, 34,191, 54,161, 13,208,156,247,216,190,225,254,123, 31,114,115,225,169,175,111, + 35, 8,220, 91,121, 86, 86,113,235,141, 91,180,249,152, 7,239,253,224, 89,151,158, 30,138, 4,122, 77, 15, 8, 8, 52,130, 53, +199, 95,251,148,211,218,241,234, 43, 55, 48,227,196, 65, 8,181, 98,147, 43,186,220,160, 34,140, 60, 84, 66,160,103, 53, 98,127, + 66, 48, 25,178,208,112,109, 10, 70,164,108,237,195, 5, 90,101, 68,149,163,119,119,248,212, 20, 60,169, 39,252,157,207,191,204, +246, 75, 47,243, 73, 52,220, 47,115,186,173, 45,150,213, 22,171,106,196,141, 75, 99,222, 63,123,202,175,127,247, 29,126,245,227, +202,128, 32,160, 0, 0, 32, 0, 73, 68, 65, 84, 7,124,245,165, 59, 84, 69,198,163,222,243,237,133,227,221,206,211,245, 14,166, + 21,188,243, 77,196,227, 71, 8,191,225,120,114,139,217,108,196,213, 12,214,125,224,253,121,207,102,213, 50, 81,130,176,106, 88, +180,107,122,157,225, 98,164,170, 43,114,173,153, 25,195,165,178,102, 87, 41, 94, 26,111, 33,122, 75,190, 62,166, 57,123,196,239, + 61,120,196, 31, 60,121,200,111,124,250,136,251, 77, 64,138, 36,128,148, 67, 66,217, 76, 5,110, 41,201, 37, 4, 87,116,198,171, + 89,197, 94, 62,162, 30,111,145,229, 5, 85, 94, 33,141,102, 82,214,156, 5,207, 90, 75, 38, 69,141,204, 52, 99, 83,160, 77, 10, + 28,217,205,147,207,124,229, 60, 62, 4, 86, 49,249,237,181,210, 16,225, 90,150, 83,232,140, 76, 8, 58,151,160, 39, 99, 41,216, + 82,234,255,229,236,205, 98, 52, 77,207,243,188,235, 93,190,237, 95,107,239,174,238,233,233,238, 89,201,225,112, 68,138,164, 40, + 75, 98,168,213,202,130,196, 65,156, 88,200,102, 69,112, 16, 64, 8, 16,228, 44, 1,124, 66,192,201,137,207, 28, 32, 1,146,200, +128, 3, 40,113, 2, 91, 32, 98, 71,118, 44, 75,150, 21,209,220, 68,114, 72,206, 62,189, 76,239,181, 87,253,219,183,190, 91, 14, +222,175,186,123,134,155,236, 2,126, 84,117,119,161,250,223,234,123,222,231,121,238,251,186,217, 81, 10,213,180, 12,132,229,237, +186,141,109,141, 76, 98, 78,195,112, 13,198, 83,216, 88,139, 81,174,147,205,232, 4, 26, 78,249, 11,107, 57, 47,108,140, 25, 76, + 51,142,165, 64,166, 89,188,169, 4, 53, 29,163, 54,182, 25,188,252, 60,159,120,249,101, 94,125,245,167,152, 95,189, 76,184,254, + 34,234,202, 85,244,245,231, 81, 59, 87, 80,147, 29,228,120, 3,161, 52, 34, 73, 16, 82, 61,177,231, 54, 53,101, 83,243,156,175, +169,231,199, 28, 31,239,241, 79,223,122, 19,110,125, 0,123,199, 80,206, 96, 81, 18,108, 67,112, 29,161,173,163, 96,237,169, 6, + 40, 60, 93, 7, 92,191,146,116, 29,194,116, 96, 90,124, 80, 44, 2,188, 58,204,184,156,167,100,125,150, 70,166, 83, 50,169,112, +222,146,244,209,210,214,199,119,122,174, 51,164,109,201,210,140,145, 74,184,144,102, 76,133,100, 59,201, 24, 34,152,232,148,137, +212,228, 74, 49,206,198,228, 18,182,134, 27,108,138,148, 66, 37, 12, 68,194, 16, 65,138,100,154,230, 72, 23, 24,164, 5, 69, 82, +144,168,148, 44,159,162,116,130,146,241, 57,209,249, 16,153, 42, 66,154,129,140,155,215,144, 36, 24,169, 8, 64,235,124, 44,226, +198, 68,144, 40, 2,235, 61,199,229, 10,227, 5,149, 49,164, 50,238,207,165, 15,212,101, 69,227, 45,117,221, 34,130,231,184, 62, +101, 97, 13,173,173,217,107, 74, 58,215, 49,146,146,155,203,146,198, 58,188,148,132,198, 16,180,130,208,114,162, 19,158,215, 9, + 7,174,229, 83,217,136,111, 85, 13,175,165, 25,239, 52, 13,159,155, 12,249,191,143,206,248, 43, 23,182,248,221,131, 99,254,234, +238, 54,191,123,103, 15,197,228,218,151, 30,239,181,207,241,175,169,234, 45, 20, 42,182, 87,169,254,137, 35,219, 15, 41, 54,206, +119,235,198,199, 23, 86,208,123,175,195, 19,127,251, 99, 59, 91,255,103, 5, 66,231, 80, 20,108,108,174,177, 83,196, 12,221, 52, + 31,176, 62, 24, 49, 25,229, 56,161, 9, 4, 58,227,233,172,137,204,119,223,171,200,203,182,247, 95,244,227,240,178,142,130,181, +206,130,212,148, 4,106,175,185, 58,148,212, 8,106, 4,195,158, 77,126,210, 5, 20,208, 56, 27,173,112,222,253, 24,240, 78,191, + 74,120,140,120,237,119, 94,162,159, 60, 72, 17,213,239,189,248,235,241, 27,252,233,142,191, 63,241, 33, 99, 10, 93, 93, 59,158, + 29, 74, 22,109, 96,213,122, 66,214, 7,192,208,131,105, 68, 63, 50, 87,231, 85, 38, 60, 41,242, 33,208,121,143,149,208,244,193, + 25,181,131,137,214,204,218, 14,153, 42,180, 11, 92, 72, 36, 75,239,113, 56, 48,242, 7,215, 12, 31,149, 73,108,174,241,210,199, + 95, 68, 41, 77, 49, 40, 80, 34, 33,205,115,108,227,144, 73,202,250, 90,193, 36, 79,250,194, 30, 98, 10, 27,158,166,117, 88,225, +105, 26, 67,211, 57,108, 99, 35, 87, 31,143,237, 28,203, 30,100,146, 75,193, 86, 30,139,143,146,145, 41, 46,132, 96, 51,141, 8, +200, 32, 4, 77,107,209, 90,145, 17, 69, 88,153, 80,172, 15, 50,172, 11,236,205, 74, 18,165, 9,233,144, 98,107,202,231,174, 95, +228,217, 11,235,220,153, 87,188, 89,214,140, 70,209,235, 51,239, 12, 75, 99, 48, 62, 80, 19, 56,177,129, 54, 85,124, 80,182,220, + 42, 43, 92, 34,216, 26, 23, 84,222, 83,249,192,229,245, 1,163, 60,146,175,188,232, 81,172, 33, 62, 93,149,241,156,185,192, 92, + 72,150, 82,210,106, 77,208, 10,159,164,184, 68, 81, 37,146, 71,139, 26,115,255,132, 97,145, 66,221, 33,239, 45, 73, 79, 13, 90, + 56, 76,170, 73,183, 11,144,158,211,155, 7,172,150, 71,220,124,116,151,231,221,136,201,230, 4,175, 60,195,105, 78,174, 20,207, +188,112,145,171,159,125, 14,207, 17, 15,222,217,195,145,227, 46,104,124,161,120,249,175,253, 69,126,227, 55,126,142,223,250,207, +126,137, 63,186,188,206,103,127,237,243, 60,248,211,155,156,125,235,251,252,225,226,148, 7,211,109,190,126,188, 0,223,241,135, +183, 30,241,198,195, 99,190,242,214, 13,222,153,207, 56,116, 49, 64, 35,117, 34, 34, 59,235,142,174,170,152, 61, 56,230,225,141, + 91,220, 63,188,203,172, 90, 48,115, 29,135,141,164, 29, 13,241,121,194,160,241, 36,235, 5,183, 27,207, 89,219, 69,142,148, 10, +180,217,132, 79,125,236, 5, 54,167, 59,188,111, 2,255,117, 6,227,195, 35,190, 38, 70,220, 91, 5, 94,239, 28,167,214, 16,234, + 25,225,224, 30,226,213,207,194,231,126,137,191,246,197,207,243,189,189, 25,223, 45,225, 52,207,113,149,229,230, 73,203,124,213, +178,142, 97, 77, 39,176, 40,185,107, 91, 6,217,128, 86,194, 40, 77,153,166, 26, 41, 96,152, 15,113, 82,145,228, 3,200,199, 12, +164, 96, 61,180, 28,183, 21,207,109, 79,120,105,119,157,207, 62,187,195,206,214, 58,175, 76, 7,204,140,101, 77, 9,174,167, 25, + 47, 36, 57,207, 38, 5, 23,139, 33,195,225, 4,157,230,120, 47, 16, 66,160,243, 28,129,128,222,150, 54, 24,164, 92, 28, 79, 25, +228,154,113,150, 50, 74, 53, 3, 45,153, 68, 21, 40, 37,240,168,118, 40,165, 49, 42, 33, 79,115, 6, 89,138, 78, 52,235,195,132, + 4,197,133, 60,229,229, 52,101, 67, 10, 84,103,168,131,197,250, 64,237, 3, 39, 58,139,157,121, 49,238, 25, 29, 27,144, 15, 96, +184, 14,131, 53, 80, 5,159, 31,141,121, 46, 79,153,166, 5,163, 44,225,134, 84,145,121,144, 36,168, 65,138,202, 51,210,205,117, +254,141, 11, 23,248,249,231, 94,230,194,133, 93,174, 76, 47,115, 43,159,146, 76,182,208, 58, 67, 43,133, 84, 10,233, 37, 82, 4, + 68, 83, 34,140,129,217, 30,156, 60, 64, 28,220,133,131, 7,188,243,254,123,188,113,235, 22,239,222,190, 11,135,143, 96,177,136, +141,137,233, 89, 36, 61, 49,244,252, 26, 25,254, 28,189,158,240, 62,174,173,178,140,124,115,194,120,156, 83, 46, 99,147,179, 61, + 28, 18,100, 92,153,106,161, 48,222, 19,165,110,113,216, 11, 1,167, 18, 50, 33, 41, 84,194, 24,197, 84,105, 82,149,144, 11, 73, + 34, 69,204,136, 72, 11,180,135, 60, 31,160,101,130, 78, 50,178,116,138, 82,146,172,216, 70, 39, 89, 4, 67,233,140, 68,231,232, + 36, 69, 39, 3,116, 62, 0,227, 80,121, 14, 89,134,212,154,144, 36, 40, 33,240, 34,174,126, 91, 4,171,224, 34,237,219, 71,158, + 99, 23, 34,153,239,164, 92,209, 4,208, 40, 78,218, 37, 45,209,198,108,186,142, 16,160,108, 42,172,181,212,166,229,164,158,145, + 72,205,202, 86, 28,155, 18, 37, 28,169,212,156,153,134,111,159,214,184,198,197,130,158,165, 96, 12, 97, 48,192,181, 49, 18,252, + 51,131, 17,127,127, 85,241,159,110,173,243, 59,167,167,252, 59,147, 53,190,124,114,198,191,191,190,198,223, 59,216,231,183,175, + 94,225,111,223,127,200,111, 63,127, 13,193,245, 95, 13,116, 13,232,252,113,199, 27,187,192, 52, 22,119,149,246, 34, 48, 34, 33, +237,233, 24,207, 31, 39,156,179,150, 39,218,250, 62, 4, 70,165,113, 44,253,244, 1, 32,190, 83,162,162,114,178, 1, 91,107,252, +236,218, 56,146,178,242,130,245,241, 6,153, 20, 81, 10,154, 72,230,203, 51,142, 23, 53,111,220,189, 19, 1,250,174, 15,135,233, +120,146,140, 38,125,196,196,218,250,137, 74, 61,201,216,152,228, 52,109,111, 21,200, 5,117, 31, 46,103,122,129, 86,181,172,227, +232,190,106,126,252,227, 27,228,209,190,199,135,207, 37,143,191, 62,247,129,123, 27,159, 7,251,145,174, 56, 27,197, 16, 28,157, +146, 41,137, 77, 19, 92, 99,144,153,194, 11, 17,119,223,222,163, 18, 21,179,225, 77, 27,253, 51,210, 63, 9,199, 57,159, 80, 60, + 29,178, 35, 50,178, 73, 70, 46, 20, 99,160, 72, 4, 11, 19,208,192, 18,207, 98,213, 33,117,136,194, 55,249,147, 31,231,127,245, + 55,254, 58, 91,187,235,172,230, 21,213,210, 96,203, 22, 65,194,213,107,187, 92,187,184,206,206, 70, 30,173,248, 46,208, 57, 71, +217, 57,102,179,134,206, 89, 14, 14,151, 52, 62, 16,188,167,173, 76, 68, 67,138,128,206, 36,215,118,198,108,140,115, 46,141, 19, +106,235, 9, 61, 89,202, 7, 72,130,167,181, 14, 27, 60,243,170,195, 4,200,165, 96,185,108,162, 74,117, 99,128,107, 13,124,103, +143,159,255,133,143,115, 79,122, 30,182,142,129, 55,152,163, 5, 15,171,150,195,174, 35, 47, 82, 62,249,252, 22,137,140, 32,140, +101,101,185,119,188,194, 54, 6, 43,161,154, 55,164,153, 34, 75, 83,190,240, 83,207, 32,147, 24, 42, 50,202, 82,210, 52, 33, 32, + 72,100,244,133,203,214,226,107,195, 73,217,177,183, 50,172,156,199, 17,131, 94, 38, 90,177,145,197, 0, 27, 41, 4,239,175,106, +230,239,157,145,221,127,196,171,121,202, 39, 46,172, 83, 92, 25,146,140, 51,194,131, 37, 85,145, 97,159, 29, 51,219,159,179,247, +250, 45,234,197,156, 66, 74, 62,243,234, 39,209,215, 54, 73, 47, 76, 57,182,142, 71,166,227,254, 89, 75, 82,151,236, 90,195,239, +126,253, 3, 94,122,113,135,195, 58,230,149,255,235, 87, 39, 12,115, 77, 3,252, 63, 55,207,120,176,106, 9, 85, 69,168, 43,218, +179, 35,194,235,239,240,220,231, 94, 98,224, 44, 95,251, 95,190, 79, 69,135, 66, 60,161,196, 95, 29,242,243,159,221, 33,155,142, + 96,186,206,188,172,217,120,230, 25,190,246,213,175,114,252,250,119,162,237,121, 48,226,139,175,188,198,197,151, 63,206,120,109, +139,170,156,113,227,224, 17,167,203, 51,106,229,185,127, 88, 51,188,184,205,231, 95,249, 36,172,111, 51, 48, 53,191,109,106,178, +214,241,245,197,156,255,166,216, 37, 76,135,228,120, 6, 18,190,119,120,138, 56, 61,224,123,127,245, 87,216,185,182,193,223,250, +211, 59,252, 79,239, 30,146,140,134,108,100, 9, 63, 55, 25, 32, 23, 21,175, 77, 37, 63,163, 19,210, 89,201,236,224,144,253, 44, +165, 73, 19,158, 25,228, 4,231, 16, 66, 98,165,160,171, 26,230,120,222,173, 91, 14,202, 21,123,173,225,164,109, 89, 27, 12,249, +194,230, 26, 71,213,130,177, 82, 72,107, 57, 62, 59,162,109, 74,174, 16,248,124, 62, 38, 79,114, 10,157, 50,154,110,129, 76,177, +193, 83,219,134, 90, 72,218, 52,225, 56, 4,190,221, 85,140,135, 3,108,154,179, 51, 46,240, 62, 48, 12,113,197, 52,206, 18,142, +202,150,183,155,134,195,210,176, 32,112,214,182,164,210,179, 22, 36,185, 2,235, 61,163, 4,158,243,158,103, 85,202, 56, 85,204, +234,138,239,174, 74,246,186,138, 47,175, 42, 58,231, 8, 73, 66, 72,114,130, 46,122, 32,151, 36,168,148,207,227,121,105, 90,240, +188,150,156, 86, 37,243,106,201,172, 58,101,191,238,248,238,170, 66,121,251,120,212,254,249,201, 58,159, 26,141,120,254,210,117, +198,131, 2,147,104,222, 61, 61,227,110,217,114,218, 25, 22, 77,205,161,115,184,230, 12,187, 60,195,204, 43,236,209, 25,246,240, + 33,118,178,137,179,101,236,137, 58, 27,107,182,181, 31, 86,200,255, 57,125,239, 63,170,207, 3, 16,151, 47,178,117,237, 18,215, +243,156, 11,243, 5,207,121, 79,158,167,172,165, 25,235, 58, 97,172, 19, 84,112,196,129,159,196, 57,131, 82, 17, 39,158, 73,205, + 80,104,118,101,194, 68, 39,100, 34, 68,236,180,233, 72,148, 6,227,208,249, 0,165,242, 8,109,209, 26,130, 66,166, 89,252,218, +152,199, 90, 29,172, 69,140,167,224,226, 66, 75,168, 72, 33, 68, 39, 88, 66,236,192,149,192, 33, 56, 1, 78,148,231,216, 65,173, + 35, 29,175,108, 12, 3, 33,104,172, 35,193, 19,172,163,234, 90, 12, 14,108, 84,229,111, 10,193,220, 52, 76,116, 70,103, 91, 62, + 88,158,176,165,115, 90,223, 48,146,158,214, 91, 2,129,131,106,201,239, 31,158,113,235,160,198,121,135,207, 51, 66,112,132,233, +152,224, 28,122, 99,141,207, 78,214,112, 66,241, 31, 93,121,142,255,126,111,143,191,190,187,203,223, 61, 57,226, 63,220,220,230, + 43,139, 5,127,121,235, 34,255,231,193, 62,255,197,149,203,252,239, 15, 30,245,101, 87,141, 98, 65, 20, 61, 14, 53,205, 97, 52, +130, 76,245,216,215, 65, 31, 88,210, 23, 21,107,127,252, 43,124,254,239,143,191,173,151,108, 42, 27,139,179,232,231,182,231, 5, +253,156,239, 62,204,120, 81,199,116,168,221,193, 24,161,115,214, 7, 99, 74,211,161,146,140, 86,104,182, 39, 41,139,230, 17,151, +119,119,120,120,231, 94,124, 51,153, 94,124,103, 1,209,244,224, 23,243,228,190, 8, 29,207, 4, 1,230,214, 19,180, 36,145,146, + 85,229, 24,165, 26,219, 89, 42, 47,158, 0,115,126,210,129, 5, 98, 55, 46, 68, 60, 21,132,167,222,185, 45, 17,135,123,190, 82, + 80,242,169,231,225,220,218,214, 64, 40, 64,200, 72, 92,243,113,204, 51, 32,198,204,154, 92, 65, 3,173,177, 40,149,226,154,158, +200,236,207, 45,105, 93,188, 31, 90,127,100,138, 96, 80, 78,147,104,193,161,243,172, 7,201, 64,192,178,127, 9,178, 92,210,214, +238,201,110,254,252,240,245, 35, 62,222,248,254,247,249,165,139, 95, 96,178, 54,192,217,146,249,209, 49,222,194,157,219, 2,235, + 2,163, 98,135, 52, 81, 72, 9, 34, 8,242, 62,196, 36, 24, 71, 62,201,209, 61, 53, 47,209,178,247,211,199,149,201,225, 89,141, +181, 17,212,179, 51,201, 88,116, 14,173,100,188, 96, 43,193, 64,107,132, 15, 36, 18, 58,235,232, 44,140, 70, 25, 4,207,122,150, +224,179,156,147,181,146,255,235,107,239,242,173, 7, 55, 49, 4,142,218,154,129,214,108, 14, 71,228, 50, 67,231, 41,139,163, 37, +195,201, 24, 33, 37,131, 81,130, 22,146, 70, 72, 78, 15, 78,104, 22,139,232, 58, 84, 18,153, 42,190,240,201, 43,209, 77,145, 9, +164,148, 88, 31,122, 65, 28, 88, 37,105, 83, 73, 85, 75,200, 21,174,141,235, 5,235, 5,173,115, 44,141,162, 72, 97,146, 43,252, +250, 6,249,238, 26, 73,119,133, 27,123, 43,110,188,113,200,231, 15, 13,215,118,167, 20,187,129,201,237, 57, 62,129,209, 48, 99, +247,167, 95,196, 55, 29, 77, 8,148,193, 50,108, 91,244,131, 19,100,158, 98, 69, 28, 63, 94,200, 53,137,151,252,230, 23, 95,228, +209,202, 32, 71,146, 89,166, 88,174,103, 12,148, 98,101, 45,131, 75, 19, 46, 47, 90,174,135,130, 45,189,141,224, 10, 27,191,246, + 51,188, 51, 43,105,170,138,255,224,111,190,200,124, 85,178, 44, 27,156,235, 96, 80,112,244, 15,255, 5,237,149, 43, 28,252,179, +215, 17, 87, 78, 16,163,130,157,151,174,115,248,250,119,158,160, 66,171, 21,255,228, 91, 95,197,125,235,171,216,203, 87,113,179, + 85,164,130,209,224,187, 94,211,245,240, 1, 55,206,142,248,212,171, 63,207,229,221, 11,180,235,107, 12,165,224, 89,224,139,123, +111,115,147,231,201, 70, 35,180, 13,184,151,174, 33,222,168,249,239,254,217,187,252,229, 87,118,249, 59,239, 30, 96,219, 14,225, + 44, 51,165,249,167, 39, 51, 46,102, 57,133, 83,124,236, 74,206, 51,151,214,185,168, 53,223,126,247, 77,182, 54,118,152,121,207, +133,209,128, 82,198, 14, 89, 21, 25,157,181,116,198,210,228, 19,156,168, 89, 75, 11,174,140, 52,167, 50,112, 97, 48, 65, 3,243, +176, 98,115,125,155,180, 42,184,140,194,119, 53,169,119,100,162,183,216,246, 57,243,193, 25, 72, 83, 66,103, 56, 9, 29,161,103, +115,111, 56,143,233, 44,178, 79, 62, 20, 46,176,240, 29, 77,127,206,214,120, 78, 59, 71,112,150,210, 56,146, 52,163,114, 14, 17, + 20, 99, 60,155,195, 33,211, 44,163,109, 13,149,202, 64,181,188, 97, 60,198,247, 90,156,115, 55, 80,240,100, 56,214, 70, 3,118, + 16,124, 58,207,216, 21,146,113,162, 72,139, 33,165,183, 20, 98,131,183,155, 99,132,214, 72,162, 96, 75,107,205,165,241,144,204, +121, 46,122, 24,121, 16, 85,205,101,235,185,215, 46, 16, 93,195,237,211,135, 84,135, 39,188,183,172,120,111,255, 4,149,128,169, +154,168,140, 95,156,112,174,210,249, 97,172,120,241, 19,138,118,248,136, 7, 62,252,168,127,111, 3,179,178,230,142,243,200,182, + 67, 89,195,101, 41,209,137,166, 9,130,179,166, 35, 65,160,149, 34,113,158, 84, 71,226,104,176, 30,165, 3, 66,122,132,140, 36, + 75,231, 3, 9,146, 36, 29, 18,108,131, 74, 7, 8,153, 18, 66,136,235, 5,145, 34,164, 67, 40, 5,198, 68,127,191,236, 31, 89, +154, 64, 83,130,206,145, 82,225, 93, 11, 40,130,181,136,158,143, 17, 2, 49, 92, 71, 43, 86,157,167, 9,129, 89,103,232, 84,204, +101, 95,153, 24, 36,212,118, 45,198, 70,226, 94,133,165,232,101,139,247,156, 97,164, 82,238, 87, 51,102,245,146, 84, 42, 62,168, +207,208, 66,112, 22, 28,101, 91,210, 25,203,235,103, 11,110, 63, 92,224,187,152, 65, 18, 86, 51,194,100,147,176,170,160,200,176, +167, 51,190, 97, 60, 63,187, 53,229,111, 62,186,203,127,187,115,137,191,189,255,136,223,218,186,192,223, 61, 57,226, 55, 55, 47, +240,229,195, 71,252,187, 91,155,252,157,253, 99,126,227,210, 46,138,209,115, 95,194,119,177,155,117, 54, 94,232, 7,195,152, 23, + 46, 68, 44,234,231,187,117,215,211,211,126, 82, 81,255,145, 65, 48,105, 52, 42,247,140,111, 66,140, 23,140, 49,160,154,193,176, + 96, 99,178,206, 88, 4, 58, 33,120,118,247, 42,137, 82, 20,197, 0,145, 38,140, 6, 25,203,198, 80,117, 13,206,195, 73,240,125, + 18, 27, 79,132,126,193,245, 33, 49,231,161, 37, 46,142,204, 73, 40, 3,164,131, 20,239, 2, 77, 27,177,166, 85, 99, 49,153,142, + 99,122,111,250,209,116,127,197,210, 58,250,199,165,140,143,253, 60, 4, 69,246, 48,115, 84,175, 72,127, 42,181,174,231,199,208, + 17,239,131, 15, 63, 8,122, 73,116, 20,102,232, 12,167, 85,159, 95, 46,216, 45, 4, 71,173,103, 43,133, 60, 17, 17,119,159,193, + 56, 81, 84,166,143,179,125,122,167,254,209,131, 84,162, 49, 45, 84,193,177,155,104,150, 62,208,122, 71,234, 37,171,208,197, 34, + 37, 60,104, 98,148,172,251,241, 35,248, 59,111,191,207,167,126,238,103, 25,142, 10,118, 54,214, 73,178, 12,103, 96,243,194, 26, + 73,162,201, 18,141, 18,146, 60,141, 99, 48, 2, 88, 23,250, 61,116,212,104,139, 62,197,206,135,120,225,132,128, 23,176,168, 13, +165, 13, 84, 33,208,250,152,230, 38,129,129,150, 88, 23,176,190,119, 10,218,248,124,183, 54,224,157, 64,229, 41,149,130, 47,127, +229,117,190,118,231, 38,167,109,203,237,179, 37,169,144,108,143, 70,116,206,144, 74, 5, 2,150,101, 73, 87,213, 52,166, 99, 57, + 43,169,140,101, 53, 95, 32, 16,188,246,234,115,124,246,181,231,216,125,102, 7,165, 36,182,115, 76,134, 25, 82,168, 40,133,176, +177,163,213, 90,245,246, 59, 79, 75,136,108,111, 2, 66,120, 52,129, 68,123,164,128, 65, 42, 25,166,130,253,147,150,121, 11, 42, + 83, 36, 91, 3,212,229, 9,179, 44, 99, 88, 40,242, 97,138,203, 4,170,181,100, 37,100, 13,164, 85, 75,162, 3,162, 72,104,206, + 42, 86,119, 78, 57,123,247, 30,195,195, 37,195,221, 33, 94, 9, 38,169, 98,154,105,214,165,228, 84, 9, 78,133,100,238,161,242, +129,131,206, 81,181, 14, 21, 4, 63,181, 57,100, 60,204,184, 58, 29, 48, 65, 49,237, 28,239, 46, 44,143, 42,207,137, 87,212, 94, + 81, 76,167,232,193,152,201,231, 95, 99,109, 52,225,149,159,126,137,245,221, 93,142,110,220,230,180, 58,163,104, 20, 7,181,197, +250,238, 9,255, 27,112,203, 57,214,212,184,182,194,183, 29,206, 70,107,142,111, 43,252,254, 62, 15,125,205, 67,161,121, 36, 20, +186,110,248,189,217, 25,223,156, 47,216,117, 21, 74, 15,200, 58,195, 39, 22, 11,218, 79,127,140,175,220,221,231,247,254,223, 63, +160,222,187, 11,123,119, 16,123,247,225,225, 7,136,211,135,212,203, 83,110, 39, 99,126,126,107,196,118,154,144, 2,215, 77, 66, + 53, 59,225,127,120,247,117, 94, 28,111,210,165,113,109,227, 66, 96,225, 28,251, 58, 97,101, 3,206, 71,254,193,206,184, 32, 15, + 32,180, 96,101, 44,153, 82,132,224, 81,214, 50,234,106,138,224, 80, 2,132,105, 81, 34, 65, 40,137,237, 58,140,119, 24,235, 88, +152,150,219,109,205, 94, 91, 99, 85, 66,161, 37,222,244,217, 11,198,145,166,138,202, 6,150,117,139, 50, 6,233, 91, 70,190, 33, +119, 29,151,165, 99,214,118, 40,161,120,175, 92, 33, 72,120,102, 52, 96, 71, 39,180,120,142,218,134, 63,154,205,120,189,105,159, +100, 60, 52,117,212,228,232,132,103,242, 2,225, 45,175,201,192,179, 90,144, 73, 9,198,177, 46, 37, 39,198,240,103,139,146, 67, +235, 80, 42,160,210, 20,157, 15,217,205, 11,174,101,154, 23,210, 9, 69,185, 96,179, 53, 76,150, 43,166, 77,197,165,174, 99,125, +126,196,206,170, 34,239, 58, 46, 34, 40,138,140, 71,171, 50, 94,123,123, 11,220, 15,116,213, 79,251,223,127,194, 77,126, 4,110, +243,248,179,214,136, 62,162, 22, 41, 17,222, 16, 74, 67,125, 86,179,119, 54, 99, 71, 64,235, 28, 71,193,209, 52,142, 36,141,185, +243,206,217,152,220, 71,143,208,150, 18, 47, 37, 99, 1, 67,149, 34,108, 67,174, 83, 68,240,136, 16, 80, 74,161,180,198,155, 14, +165,211,248,255, 42, 13, 66, 69, 56,143, 78, 30,175, 73, 67, 79, 50, 21, 8,130, 51, 8,165, 9, 62, 32,164,196, 57,135,119, 29, + 72,133,107, 27, 42,215,178,232, 90,142, 92, 71,165, 21, 43,211, 97,156,101, 86, 87,212,214, 48,175, 75, 90, 99, 56, 94,157,114, + 86, 47,113, 93, 76, 13,205,164,162,243,158,198, 25, 58, 91, 71, 62,153,141,211,202,224, 28,243,186, 98, 86,118, 60,168, 27,190, +117,127,134,171, 75,124,215,197,233,136,245, 4,215,198,201,185, 51, 80,164, 8, 27,120, 40, 2,191,144, 42,254,215,179, 57,255, +229,133,203,252,131,249, 41,127,105,178,206, 31,207,102,124,122, 48,224,125,239,249,226,120,200,239, 60,122,216,239,212,207,119, +232, 66,199, 87, 40, 43,162, 10, 83,233, 39,123,225, 44,235, 81,174,254, 39,238, 99,127,116, 81,239, 49,168, 42, 34, 95,133, 76, +158, 40,202,243,130, 43, 91, 35,156,235,152, 12, 70, 60, 63,216, 96,168, 82, 54, 46,108,176,190, 49, 97, 56,202,169, 92, 32,209, + 2,141,102, 81, 87,180,206,210,150,203, 88,212,211,254,196,123, 14,157,193, 61,177,111,133,168, 48, 71, 38,209,246, 41, 4,100, + 58,138, 78,179, 62,116, 70,136, 72,116,115, 54,118,194,217, 8, 46,108,194,120,210,155, 68,237, 19,113,153, 16,113,167, 46,228, + 19, 12, 46,125,222,186,232,223,222, 46, 64,222, 71,173,202,143,232, 17,156, 3,153,227, 68,212, 45,100, 82,162,164,199, 42,193, +118,166, 24,249,192, 44, 4,174,104, 1, 38,112,220, 24,130,147, 79,118,233,231,187,245,115, 84,237,121, 56, 75, 15, 87,223, 72, + 51, 14, 86,134, 81, 34, 24, 1,123,101,199, 52, 81,120,239,104, 90, 8,231, 62,254,243,215,246,199,124,172,239,110,113,245,185, +171, 28, 30,159,209,118, 22,235,162, 53,195, 7, 98,161,245,129, 60,213, 81,200,229, 3,109,239,130, 8, 38,250,194,131, 7,153, +136, 40,228,203, 20, 78, 8,188,141,135, 68, 21, 4,173,245,116,198,163, 19, 25,227,101,125,164,205,121, 41,113, 82,112,218,121, + 26, 36, 22,129, 81, 26,169, 5, 70, 4,246, 30,156, 98,219,142,141,124,192, 70,158,145,234, 24,178, 32,133, 68, 8,197,201,106, +201,170,109,232, 92, 71,211, 52, 52,109,131,176,130,203, 59, 59, 92,187,180,197,178, 54,220,188,125,192,173, 27,247,121,120,255, +128,147,147,134,139,187, 19,166,131,140,166,179, 4, 60,169,142,118,186, 32,192, 17,217,251,238, 28, 84, 67, 32,147,144, 73, 65, +145, 18,243,236, 19,201,234,246, 25,234,168, 36,109, 3,173, 13, 24,231,168, 51,197, 65, 90,176,187, 54,192, 6,129,210,144,109, +174,193, 89, 64,172, 26,228, 78, 70,216, 26,226,157,195, 46, 27,138,105,193, 96,154,197, 29,108,174, 24, 37, 41,131, 32, 72, 31, +174,152, 47,150,124,235,205, 7,248, 89,205,222,237, 19,150,143, 78, 80,171,146,176,114,236, 92, 24, 81,100,154,149, 11,116, 85, +199,119,206,106,238,204, 42,188,146, 12, 6, 57, 27,163,148, 53, 9, 83, 13,133, 51,252,133,181,130, 23, 54,166, 20,105, 66,121, +237, 89, 84, 39, 88,203, 4,207,174, 13,217,185,176,195,238, 51,151,152, 92,216,198, 14,167,204,100, 17,119,138,182,251, 16, 74, +244, 49, 63,252,240,144,166, 44,121,235,108,201, 31,180, 53,223, 52,146, 67, 33, 25, 89,199,206, 56, 97, 83, 6,198,153,226,149, +179, 51,174,143,135,108,109, 92,100,111, 56,197,222,125, 31, 30, 62,130,114, 9,143, 30, 33,142, 14,145,237, 9,121,217,241,146, + 30,145, 90,143, 50,142,113, 93,241, 41, 5, 55,170, 37, 95,105, 21, 23, 7, 9,251,198,114,199, 7,206, 42, 71,139,100, 17, 34, +187,123,144, 72, 70, 90, 35,137,191,255,169, 16,148,182,163, 51,134,196,180, 12,130, 39, 13, 17,141,235,157,197, 56,135,117,142, +218,118,236, 45, 79, 40,125,199, 94, 87,115,234, 13,123,171,154,205, 52, 69, 56, 71, 98, 12, 74,107,172,113,236,173,150,204,155, +146,196, 25,214, 77,139,176,158,173, 96, 88,115,134, 13, 33,120, 80, 46,168,108, 75, 73, 74,174,225, 97, 83, 49, 43, 87,188, 63, + 59,225,171,243, 83,154,122, 21,187,197,166,238, 29, 65, 30,145,103, 12,165, 68, 4,199,101, 60,133,130,129,183, 36, 33,240,230, +106,193, 55, 22, 53,111,119, 45,210,117, 72,157,162, 84,194,122,154,176,155,142, 25,203,132,237, 84,115, 17,201,150, 82,172, 15, + 10, 10,149,162, 59, 19, 41,154,190,141, 54,208, 76, 50, 29,143,112,227, 1, 71, 70, 34,122, 97,240,143, 42,236, 63,224,131,255, + 17, 30,120,249,209, 98,175, 53,164,186, 39,223, 41,240, 50, 14, 37,234, 54, 34,184,157,225, 65,211,114,203, 72, 86, 4,190,223, + 6, 58, 97, 88,217, 88,124,141,115,184,224, 64,169, 88, 12,165, 64, 6, 72,137,144,171, 92, 72,164, 80,104, 2, 34,196,107,153, +210, 89,244,134, 88, 19, 15, 18, 62,230,117, 8,235,162, 41, 85, 74,130,105,192,199,159, 39,164, 36,116,109, 63,232,140,164, 58, +111, 44,222, 26,218,224, 40, 77,199,158,181,236, 57, 75,109, 45,149,139,120, 91, 33, 98,166,124,213,149,156,214, 51, 78, 76,195, +254,114, 70,235, 13,141,119,145,246,169, 37,137,243,204,109, 36,148, 58, 60, 74, 40,108,215,178,242, 14, 17, 60,137,240,220,173, + 58, 90,215, 18, 76, 31,196,163, 1,157, 18,154, 14,145,100, 80, 25,196,184, 64,212, 13,183,117,202,127,188,177,206,255,120,176, +207,191, 54,200,248,227,101,201,181, 60,101,134, 39,183, 29,255,240,228,132, 79, 76,167, 40, 38,207,127,233,113,135,238,109,244, +154, 43, 31,187,201,243,142, 80,244, 5,160,237,250, 83,229,191, 98, 81,215,242, 73,241, 13, 1, 17, 92,124, 20,215, 47,241,241, + 75, 27,124,226,153, 23,184, 52,221,226,165,173, 93,158, 25,111, 34,114,205,181,237,117, 86,222,210,153,192,104, 50, 32, 40,205, +131,131, 67,214,199, 99,110,159, 29, 96, 86,125,234, 88,103,226,207, 14, 42, 30, 58,240,209,190,117,238,137, 23,196, 19,155, 82, +253,247,137,184,140, 10, 34,118,242, 90, 70, 53,250,170,141,127, 63, 30,193,120, 8, 69,191, 46, 88,244, 39,235,243, 81, 55, 50, +254,172,115,225, 95,146, 63,225,212, 43,221,191,145, 93,188, 63, 79, 67,100, 30, 63, 31, 30, 66,252,217, 90, 4, 70, 69, 84, 87, +174,245, 9, 97,151,181, 70,121,207,134,138, 2,158,121,235, 34, 97,142,240,100, 5,114, 14,146,120,124,104,178,208, 70,162,220, + 84, 11,150, 33,230,239,166,137, 96,213, 6,188, 10, 76,148,160, 13,125, 34,158, 23, 63, 20, 23,251,244,199,205,239,191,195, 23, +255,173, 95, 97, 99, 50,100, 89, 54, 49,181,169,179,116,141,137,193, 10, 66,145, 38, 9,131, 76, 71,202,174, 13,125, 94, 76, 64, +247, 2, 63,173, 98, 82,152, 84, 18,215,249,216,125, 3,193,249, 56,198, 31,166, 12,138,148,198,249,199,254,112, 47, 4,101,231, +104,250,116,218,243, 19,123,227, 29, 89,170, 8, 33,161, 59,171, 65,138, 24, 24,163, 53, 73, 63,142, 12,193, 33,148,100,160, 52, + 74,105, 6,217,128,141,181, 45, 70,147, 49,235,147,156,189,253, 51, 30, 62, 58, 0, 41, 41,242,156,166,233,176,193, 82,163,216, +221, 26,225,131, 71, 17, 80, 74,162,117, 68,224, 57,231,232,140,165, 53, 54,134,163,244,145,188, 82, 4,180, 20,104, 17, 51,230, +147, 66,177, 56,108, 24,165,146,237, 92,113, 57, 75,240, 14, 94,155, 36,108, 21,154, 3, 27,240, 62,142,234,241, 30, 70,154,230, +210, 4, 51,200, 9, 89,130, 30, 21,136,237, 9, 97,154, 35,134, 9,153,243, 80,183, 4,235, 88,168,192,187, 66,112,253,229, 29, +214,114,201,149,205,130,143,125,108,139,112, 92,177, 38, 2, 97, 99,196,126, 23,120,111,105,120,115,222, 50, 51,129,221,164, 99, +224, 29,207,155, 57,203,147, 67,158, 75,115,182,117,202,115, 4, 46, 21,145,184,101,141,225,189,178, 68, 59,199,154, 15, 12,132, + 98, 82,228, 20,137,100, 45,207,216, 42, 82, 46, 76, 6, 12, 54, 38, 28, 39, 99, 12, 22,223,118, 63,144, 4,198,226, 12,230, 51, +186,170, 36,156,158, 16,164,163,194,243,234,112,196, 90,146, 80, 32, 73, 19,141,106, 59,210, 97,194, 48, 36,220,169,142,225,228, + 36,254,238,104, 13,139, 5,161,172,185,115,188, 79,222,204,217,182,138, 20, 40,178,140,137,119,108,183, 43, 30, 46, 79,185,217, +118, 28, 90,203,101,239,216, 54, 13,223,245,130,147,182,230,154,106,153, 91,197, 51,169, 36, 85, 26,109, 3,214, 25,172,243, 28, +149, 11, 26,111,217, 49, 29,162,109, 81,222, 48, 91,205, 16, 33,112,216,173,120,103,254,136, 42, 4,238, 45, 78,121, 48, 63,226, +102,181,162,170,150, 72, 17,176,171, 37,251,213,130,179,206,241, 96,118,130, 13,158, 77,211,209,181, 45,181, 51, 76,188,193,135, +192, 26,129,196,118,100,182,161,241,112,228,106,206, 26,195,119,246,239,242,181, 71,247,249,254,236,152,114,177,128, 85, 5, 39, + 11, 88,172, 98,151,222, 58,200, 51,108,128, 81,154,241, 65,215,113,217, 55,184,186,102,102, 12, 15,218,154,127, 81,150, 72,211, + 34,130, 67, 57,131,212, 25, 87,211,140,105,158,147,250,192, 40, 75,217, 29, 20,108, 37, 3,134,131, 28,229, 37, 88,131,176, 6, +111, 59,172,181,100,105, 74,161, 21,147,193,136,106,154,115, 38,250, 61,126, 80,209, 77,209, 95,167, 62, 90,204,197,211, 94,248, +159,112, 67,107,132,146,113, 74,231, 69,236,137,212,147, 97,188, 8, 14,124, 64,184,216,136,148,139, 6, 23, 60,123,157,231, 65, +219, 17,122,108,107,227,162, 69,239,156,176, 23, 3,158, 2,107, 74, 19, 76,135, 14, 14, 37, 53, 88, 23, 83,191, 67, 76,100, 59, + 47,238, 16, 16, 82, 19,188, 69, 4,240,214, 32, 84,130,183, 13, 8,133,235,237,213, 65, 42, 92,215,225,123, 79, 73,227, 90,170, +174,228,160,173,184,225, 91,218, 52,227,172, 89,225,172,165, 54,134, 89,189,192,226,153,155,150,133,235,184,187, 92,177,244,130, +121,185,140,217,101, 34,170,107,103,222, 48,214, 26, 23, 60, 2,201,170,169,168,112, 24,239, 80, 66,114, 84, 55,200, 34,225,168, + 1,239,187,184,254,241, 50, 70, 69, 75,141,176, 6, 38, 3,196,217, 2,177, 62,229, 25,219,242,181,206,240,249, 34,231,173,206, +178, 50, 53, 55,140,163,236, 58, 30, 24,207, 84, 4,190,182, 56, 65,177,118,237, 75, 36,170, 7,195,232,152,231,157,232,120, 83, +250,195,227, 93, 99,162,255,208,152,127,181, 0,152,180,207, 92,215, 17, 82, 35,242, 49, 92,186,204,175,190,252, 9, 94,189,250, + 50,105, 54, 96,123,123,155, 75,235,155,120, 18,158,189,180, 78, 35, 36,237,170,102, 48,202,105,173, 71, 42, 73, 38,115,234,174, +197, 55, 45,167,222,198, 39,227,220,158,161,101, 31,129,218, 39,191,185,238,201,232, 95,245, 34,183,200,246,140,111,184,243,119, +176,212, 49,113, 45, 81,113, 12,223,118,209,214,103, 2, 44, 87, 96,234, 15,171,216,149, 0,145,244,157,115,255,174, 21, 60,225, +183,107,221,115,220, 93, 47,158,179, 63,228,249,136,246,182,221, 97,202,172,243, 60,167, 21, 19,165, 24, 4,137, 14, 81,220,230, +140, 99, 34, 36,163, 4, 78,218,126,243,117, 14,245,177,246,169,207, 79, 17,250, 68,191, 43, 62, 15,101, 8,176,169,160,108, 2, +109, 48,100, 58,193,153, 62,128,230, 39,116,234, 0,107,155,235,188,242,202,139, 4, 41, 72,115,205,198,120, 72,231, 2,182,243, + 12, 38, 3, 46,175,143, 81, 90,160, 84,204, 74,246,189, 67,210,248,128,150, 17,214,160, 50,137, 12, 49, 94, 85,246,246, 16, 84, +188,127,137, 76,200,242,120, 40,136, 83, 50, 65, 32,224, 2, 72, 33,226, 83, 74,160, 72, 53,227, 60, 69,202, 64, 58, 76, 57,126, +112,138, 18, 10, 37,101, 20,188, 16,185, 5, 74,106, 70,249,144,193, 96,192,179,187,151,248,245,159,249, 56,155, 27, 99,246,143, + 22, 28,157,206, 24, 78, 70,140, 39, 35,202,178,162,115, 29, 27, 59,219,236, 92,218,196, 56, 79,145, 39,140,138,148, 36,145, 24, + 27, 21,175,214,122, 66,159, 36,230, 93, 92, 25, 9, 31,176, 54,178, 18,206,175, 87, 74, 9,150,165,165,107, 2,249, 32,137, 57, +209, 90,146, 56,203,254,157, 83,228,170,229,221, 59,103,156,236,159,177,153, 41, 90, 25,184, 51,144,188,227, 36,199, 78,114, 88, + 59,110,189,115,143, 71,247,246, 56,156,149,148,214, 82,183,150,170, 53, 36,211, 1, 11, 1,223,190,241,136,236,246, 13, 62,247, +252, 37,254,198, 87,222,230,209, 59,183,105,131,103, 88,149, 36,121,198,123,179,134, 3,165, 56, 10,129,195, 32,248,181,171, 5, +191,126,109,155,183, 31, 60,228,155, 15,110,242, 79,238,222, 35,168, 0, 94,112, 57,139,194,179,251, 7,199,220, 95, 44, 24, 59, +199,192, 88,148,233,200, 2,140,181,230, 74, 62,224,103,183,175,176,150,167,180,137,198,111, 13, 56, 45,214,177,178, 32,212,154, + 96, 10,144,105, 47,191,139,204,242, 48, 59, 37,156, 30, 18,116,198,107,215, 95,100,153, 77,216, 17,142, 76, 69,173,132, 74, 20, +171,214, 82,174,206,184, 89,183,132,229, 28,202,138,160,227,117, 39,216,128, 43, 27,190,183,127, 68, 48, 51, 46,167, 5, 35, 60, +197,104,140, 91,157, 50, 59,222,227,247, 15,143,120,239,116,193,221,206,242,229,131, 7, 60, 76, 50, 78, 44,220, 53,134, 55,218, +142, 63, 41, 27,254,164,178,188, 42, 12,202, 59,230,229,138,247,203,134,133, 89,226,219,154,172,107,152,205, 23, 20, 74,242,246, +242,140,119,206, 78, 56,237, 12,247,151,103,188,123, 52,227,189,211, 19,110,221,220,227,224,116,197,189,147, 67, 6,218, 18, 92, +199, 89,181,192,154, 21, 89, 91,225, 77, 67,144,144, 4,135,145, 10,237, 29,185,247,132,174, 70, 59, 3,166,194,116, 13,111,150, +103,204,170, 25, 77, 85,225,202, 10,206,106, 68, 91,193,193,105,116,233,204, 74, 68,103,160,169, 48,153,100,133, 96, 89,151,188, + 93, 54,188, 55, 91,240, 94,181,226,187,203, 21,194,180, 8,103, 17,109,131,116, 6, 41, 3, 23,138, 2,229, 2, 90, 72, 10, 31, +120, 46, 75, 89, 83, 58,226,175,149, 66,167, 41,190,109,168, 93,139, 21, 14,225, 29,211, 98, 68,162, 37,195, 44,229, 76, 8,150, + 66, 64,145, 65, 58, 64, 36, 3, 68, 26,217,242,194,187, 15,129,109,158,190,233, 31, 2,184,121,220,173, 39,125, 81,239,127,199, + 63,180, 44, 12, 1, 17,250, 70, 40,213,143,243, 49,132,239,192,122,188,131,163,101,199, 28, 71,129,196, 27, 75,135,196, 58,199, + 80, 41,202,174,166,243,150,156,136, 69,238,156, 65, 17,245, 8, 65, 4,148, 84,216,166,126,172,213,242,166,137,235, 63,215, 70, + 1,154,179, 56,215, 98, 93, 3, 82,198, 3,159,169,113,128, 17,158,186,171, 57,107, 87, 84,206,114, 11,199,126, 87,113, 96,106, +206, 90, 75,101,106,142,154,101,100,181,183, 37,165,183,156,214, 53,149,117,172,130,195,121,137, 12,129,153, 53, 52,182,139, 61, +241,249, 52,136, 64, 16,158,178,139,142,158,101,137,101, 66,182, 0, 0, 32, 0, 73, 68, 65, 84,221, 50,144,138, 34, 4, 76,170, +153, 45,226,227, 15,244, 73,154, 26, 68, 62, 64,204,150,136,173, 41,226,224,132,114,109,194,199, 21,188,141, 70,116, 21,211, 44, +163,180, 29, 59, 50,229,253,114,198, 80, 69,131,171, 98,227,249, 47,209,217, 39, 59,117,161, 99, 1,234,122,111,186,137, 72, 70, +234, 85, 28, 19,201,126, 7,126, 14,148,249,151,234,214,243, 88, 72,133,131, 98,130,152,174,243,201,171,151,120,118,243, 25,132, + 78, 80, 42,225,226,214, 26,193,121,116, 8,204,235,142, 34, 19,104,173,168,106, 75, 72, 5,243, 85, 75, 85,119,120, 99, 25,164, +146, 91,179,167,226, 8,207, 5,120,178,127,171,157,135,151,156,219,191,242, 65,111, 13,147,125, 26, 90,159, 43,158,244,143, 57, + 75,122, 92, 99,136,187,250,197, 18,202, 50,222, 62, 10,107,145, 50,190,179,147, 36, 30,126,206,139, 56,125,145, 63,143,167, 85, +105,156, 24,164,242, 7, 11,187,148,224, 53, 11,103, 89, 79, 18, 54,165, 32, 11, 17, 62,227, 9,236, 8,193,153, 11,140, 3, 56, + 33,217,212,146, 35,215,119,253,231,157,250,227,207,189, 69,174, 47,244,174, 47,252, 57, 34,238,151, 91, 67,154, 43,180, 82, 49, +158,150,222, 3,255,231, 0, 16,188,251,221,183,248,236,175,254, 2,219,235, 19,164,146,204, 87, 45,211,233,144,147,147, 25,243, +211, 37,181, 9, 72, 21, 59,210,104, 3, 11, 49,158, 84, 42,138, 92,147,100, 18,225,162, 11,221,138,152,188,150,104,141, 22, 10, +111, 61, 74,198, 16,149,170, 54,120,231,113,206,211,117, 30,173, 37, 74, 62,185, 13,243,140, 76,235,152, 1, 36, 20,109, 29, 40, + 23,101,223, 97, 4,178, 36,165, 72, 7,140, 39, 19, 38,211,117,158,123,254, 25, 62,247,242, 46,139,147,146,111,188,127,135,116, +144, 81,140, 6,180,109,199, 98, 85, 49,152, 12,185,120,113,155,225,184,192,247,187,251,213, 50, 94,168, 7, 89, 18,197,123, 62, + 18,242,140,141, 5,221,121,143,235, 85,253,198, 58,156, 11, 72, 41, 73,180, 34, 77, 52,227, 65, 74,146, 42,208,113, 60, 88, 87, + 29,109,211,113,116,255,144, 91, 55,239,176, 56, 61,225,224,225,125,110,223,219,231,237,219, 15,248,214, 91, 31,112,156,175,177, + 51, 46,152, 37,154,183, 66,194,151,191,250, 45,190,254, 63,255, 9, 95,189,241, 46,255,232, 15, 94,231, 31,253,227,111, 35, 86, +199,188,124,249, 58, 39,251,167,252,155,175,190, 76, 33, 52,191,255,213,111,112,229,234,101, 62,251,185, 23,248,245,237, 33,127, + 38,128, 11, 67,202,165,229,229, 73,134, 82,154, 95, 30,166, 56, 31,248,238,253, 3,188, 53,124,236,234, 85,220,100,131, 67, 2, +218, 25,238, 86, 45,167,171,146,235,197,152, 32, 4, 3, 33, 49, 38,134,136,164, 82,242,233,141, 93, 46,236,236,176, 57, 28,115, +211, 90,110,184, 12, 49,154, 64,161, 48, 58,193,111, 20, 20, 91,235,236, 92,219,129,209, 58, 45, 26, 86, 22,164, 37, 4,201,228, +217,103,185, 62, 78, 25, 11, 73,103, 59, 18,173,217, 47, 87, 44,155,150,133,149,124,176,154, 69,104,211,108, 21,131, 44,130, 36, +120,219, 31,236, 4,111,207, 86, 92, 80, 13, 27, 74,211, 85, 37,143, 22,135,252,189,123, 71,188,249, 96, 70,117, 60,231,232,224, + 16,237,107, 46, 54,103, 44,110,220,160,109,103,160, 4, 66, 39, 8,219,242,237,229,140,163,166,230,165, 34,227, 15,110,189,135, +246,129,213,252,152,211,249,130,155, 85,203, 91,243, 5,239,150, 21, 95,155,151,188,126,182,228,221,121,205,131,217,146,217,106, +137,107,107,156,109,169,170,146,155,243,154,253,182, 37,152,138, 60,213,236, 74,201, 84,128,113,150,160, 20,170,107, 81,214,112, +236, 45, 27,166,161, 67, 64,215, 50,111,151,212,139,138, 85, 85, 33,124, 0,231, 16, 94,192,188,129,118, 5, 93,141,176, 29, 84, + 37,156,158, 33, 14,143,240,103, 11,192,227,203,138,122,181,164, 92, 44, 16,139, 5, 98,181,132,186, 66, 46, 22,136,174, 69, 9, +195,202,117,172,107,141,144, 9, 74,192, 69, 45,217, 17,158,161, 76,145, 90, 18,234,146, 96, 29, 70,128,212,138, 81,154, 33,128, + 66,105, 10,165,113,161,195,100,138,153,241,136, 44,129, 97, 6,163, 17, 66,166, 72,149, 34,113, 72,231, 62, 4,181,209, 79, 21, +118,253,195, 10,187,142, 35,115,126, 72,136,140,112, 46,214, 20, 41, 99,167, 46,162, 72, 48,142,203, 29,162,234,192, 5,170, 85, +203,253,202,176,232, 12, 34, 4,130, 12,204,155, 38,114,230, 3,116,109, 75,227, 12,185, 15,184,224,232,188, 65,122,168,187, 42, +166, 45, 58,135,235,106,156,233, 98, 65,247,142,174, 94, 17,132,199, 88,139, 13,142,206, 89, 90,111,113,222,177,104, 86,148,109, +195,153, 45,217, 55, 45,111,119, 75,110, 54, 43,110,149, 53,119,203,154,210,118,220,238, 58,150,173,161,242,142, 86, 73,102,171, + 18, 43,161,179, 22,101, 35,236,108,209,212,148,222,227,181,228, 65, 85,115, 49, 75, 56,181,134,182,173,177, 33,224,149, 64,219, +232,199, 55,214, 49, 85, 10, 33, 96,179, 72,217,171, 76, 20, 81,123,143, 48, 22,108, 28,193,203,249, 10,177, 54, 69, 30,204, 56, + 77, 20, 98, 49,199, 14,134,172,230,115,188,210,156, 52,115,100,154, 49, 11,158,114,121,134, 98,116,237, 75,232,243, 78,189, 79, + 87,235,179,101,177, 29,212, 77,236,222,109, 63,218, 78, 84,180,141,105,126, 44,192,228, 7, 62,178, 52,238,184, 19, 21, 79,132, +227, 33,131,233, 26,175, 93,190,198,100,109, 28, 35, 59, 61, 12, 6, 57,178, 23, 64,248,186, 69, 43,201, 96,152, 97,156,229,204, +121,170,101, 75, 23, 12, 78,192,114,181,228,160, 93, 96,170,174,183,204,201, 39,209,169,231,176, 27,211, 19,230,210, 34, 22,239, +252,188, 8,247, 59, 23,165,123,206,125,218, 43, 80,251,125,181, 51, 31,142,150,253, 97,235, 4, 21,161,251, 72,221, 23,243, 36, + 58, 6, 92,128, 81,209,231,201,247,197,190,238,126,112,212,237, 92, 31, 75,171,217, 78, 20,195, 30,206,210,187,238, 48, 6,118, + 18,193,125,239, 24,186, 64, 30, 60, 71, 82,224,186,167,118,233,231,157,250,211, 74,246,126,109, 18,124,192,132, 56,238, 86,104, +108,176,113,244, 29,252, 19,220,237,159, 51,170,113,184, 54,225,226,181, 93,138, 36,199, 56,195,254,253, 35,188, 51, 12, 6, 35, + 28, 48,155, 55,120, 4,147,113,134, 16,130,245, 34, 65, 8, 65,158,107,148, 82,100,153, 36,207, 20,193,157, 3,102, 4, 89, 46, + 73, 19, 69,150, 69, 14,130, 53,158,209, 80, 19,130, 64, 72, 17, 71,102, 65, 60, 30,225,159,199,218, 7,235,217,159,149,125, 34, +159, 96, 48, 25, 50,154, 76, 24, 77,198,140, 38, 99,146, 60, 69,167, 5,173,177,236,205, 86,204, 77, 96, 48, 28,130, 20, 72, 47, + 73,146,132,233,250,152, 52, 77,104, 27,195,236,116,193,219,239,191,203,255,246, 71, 95,231, 79,254,244, 13, 82, 20,235, 59,107, +140,139,244,241,232,207, 67,175,118,117, 44,202,142,186, 49,148,165,161,169, 45,214,248, 72,197,235,237, 55, 39,173,231, 99,157, +225,170,246,188, 25, 60,243,170,102,181,170, 89,149, 21,117,187, 36, 81, 9,243,213, 25, 15, 14,247,216,223,127,196,173,218,241, + 96, 1,126,123,196, 34, 75,176,207, 60, 75,158,150, 28,190,254,128,240, 65, 75, 56,171,184,251,157, 61, 62,243,133, 87,184,242, +252, 46, 97,125,192,157,121, 69,125,122, 76, 97,106,222,185,117,159, 7,143, 30,242,245, 59, 15, 57,122,255, 30,215,240,252,123, + 47, 61, 67, 45,224, 31,191,243,128, 71,139, 57,111,207,106,158,219,216,228, 23, 63,243,113, 54, 94,125,158,181,235,187,220,244, +130,123,247,238,240,193,131, 91,124,112,114, 76,131,103, 39, 31,240, 64,167, 44,218, 21, 50,209,188, 52, 93, 39, 77,115,106,107, +248, 78,215,241,102, 82,176,157,101, 92,209,130,157,196,144,143, 51,198,211, 9,195,124,192,246,198,144,193, 48,101,161, 83,124, +231,193, 25,102, 23,183, 25,232, 49, 74,122, 74,165,104,234,154,253,174, 99,229, 53,221,149,171, 28, 79, 47,210,118,115,120,120, + 16,131, 69, 92, 31, 22,226, 61,190,159,144,188,109, 91,218,106,201,205,182,228,255, 40, 87,124,103,105,113,243, 6,247,193, 28, +127, 56,199,220, 93, 49, 95,149, 96,170,216,217,248, 14, 49, 63, 70, 78,214,216, 30,111,241, 59, 95,248, 4,191,252,169,151, 48, +173,231, 96,126,204,219,251, 51, 62,184,247,128,123,103, 43,238,122,193,163,166,165,105, 44,214, 54,177,115,107, 27,108, 23,133, +130,206,251, 88, 32,188,165, 92,173,216,107, 2,147, 84, 50,192,209,248,142, 11, 66, 82,123,143, 22, 2,235, 12, 83,211,178, 82, + 9,109, 53,231, 65, 85,179, 10,129,174, 92,113, 58,171, 98, 55,142,138, 81,163,161,111, 8, 62,186,211, 54, 22,177, 92,192,124, + 14,179,121,108, 44, 22, 53, 98, 54, 67,156,157, 32,142, 79, 16,199,199,200,197, 2,121,186,128,197,130,185,109,153,153, 10,133, + 98,135,192,181, 52, 35,181, 22,209,182,248,206, 97, 8, 56,111, 73,149, 34, 17,138, 34, 73, 73,133, 66,121, 79,234, 3,206, 59, + 38,227,156,113,145,240,252,120,192, 11,107, 3,214,166, 5,227, 34, 97,222, 4,148,245,113, 59,233,253,227, 66,158,126,164,200, +235,167, 58,122, 33, 68, 44,210,166,239,212,205, 83,227,119, 23, 67, 78, 68,136,157,186,112,253, 4,247, 60,184, 38, 8, 68, 87, + 65, 42, 17,109, 77,217, 6,246,219,134,147,186,101,148,234,200,205,234, 26,154, 0,141, 49,204,113,164, 33,208, 56, 67, 27, 2, +166,107,113, 34,208,118, 53, 22, 79,101, 27,156,107,113,214, 96,189,197,184, 14,227, 13,101, 87, 81,217, 22,231, 58,246,218,138, +131,122,198, 7,109,201,237,106,197,183,109,205,222,114,201, 55, 79, 87, 44, 92,199, 65, 89,115, 38,224,208,121, 78,172, 67,107, + 69, 89,150,168, 52,199, 6,139,113,158, 78, 9,150,141,195, 56,207,178, 50, 28, 25,199,153,241,140,173,101, 32, 28, 86, 40, 90, +103, 81, 46,166,146, 90,239, 25,234,120, 65,203,164, 96, 36, 21, 75,239, 89, 90, 19, 15, 62, 68,160,152,148, 14,129, 66,182, 75, +212,100,140,154, 45, 81, 89,138,182, 14, 53,202,145,117,137, 74, 52,170,142, 60,125,169, 51, 20,235,207,127, 9,219,119,234,231, +230,131,208, 7,172,208,231,131, 43, 25,139,177,234,247,235, 42, 60,137, 88, 85,242, 9,159,252, 71, 89,192,164, 4,153,197, 93, +118, 58,132, 98,128, 72, 83, 6,195, 28,145,164, 76, 82, 77,146,102, 40, 25,240, 1,114,173,145, 74,144, 9,176,166,163, 89, 53, +204,106, 71,219, 25,206, 22, 37, 42,213,180,171, 6,176, 28,148,115,234,170,137,221,177, 13,177,112,203,190,115, 69, 64, 48,125, +242,141,140,209,167, 73,127,191,125,136, 35,167,208, 31, 52,252,249,232,186, 39,196,157,123,224,127,220, 58,129,126, 77,145, 21, +189, 50, 61,196,195,129,214, 79,146,215, 68,191, 14, 16,231,251,240,143,118,252,113, 70, 53,214, 30, 47, 21,218,129,246,113,188, +123,190,122, 95, 35, 78, 70, 74,239, 25, 10,207,105,119,142,138,181,125,132,107, 95,118, 30, 47,181,206, 95,147, 94, 84,231,125, +244,104,170, 62,207, 62,244,135, 55,255,231, 63,148,221,248,254, 13, 94,249,204,107,168, 76, 51, 46, 10,234,182,195, 89,199,114, + 49,103, 99,115, 74,158,198, 85,205, 48, 75, 98,200,139, 32, 10,224,132, 32, 81, 2, 27, 4,206, 6,130,140,170,101,173, 98, 24, + 74,146, 38,164, 89,138, 76, 52, 74, 9,130, 9,113, 56,212,196,200, 93, 99, 60,198,216,120,190, 10,158,217,178,163,174, 61,213, +178, 67, 41,201,104, 24,139,119,146, 37,188,120,125,155,151, 46,111, 16, 84,138, 15,129, 68, 73,164,144,172,170, 21,243,147, 5, + 82, 10,100, 34, 56,124,116,192,247,110,188,195, 31,127,247,109,254,236,246, 45,190,242,246, 45,110,126,103, 15, 62,168,225,118, +205,141,113,205,199, 47, 93, 98, 99,125, 68,170,162,187, 91,247,178,146,198, 56, 58,227,112, 30,154,198,210, 54,142,198,246,201, +193, 90,146, 41, 77, 55, 84,124,122,163, 96,120,161,224,238, 32, 97,184, 53, 98,124,101,131,236,165, 75, 36,207, 93, 33,108,173, +145,138, 1,251,167,167,188,251,206, 1,109, 17,120, 20, 18,214,150,150,236,194,148, 3, 37, 25, 60,127,157,171,215,183,121,246, + 51, 59,124,230, 87, 94,226,211,191,246,113, 78,148,229,238,193, 1,239,223,126,200,183, 30, 60, 68, 33,248,173,201, 38, 27, 94, +240,207, 27,203,157,170, 65,234,140,201,197, 75,216,205, 41,199, 90,211, 77, 11,154,139, 91, 36,151, 47,113, 89,167, 20, 71, 21, +223, 60,171,121,243,254, 41,239,221,186, 71,215, 89,178,245, 77,222, 42, 87,236, 47, 79,169,234,138,249,114,142,150,130, 85,158, + 83,213, 75,164,181,220, 48, 29,223,181, 6,165, 7,228,222,179, 46, 61, 3,215,210,106,201, 95, 26, 13,249, 43,211,117, 94, 82, + 18,167, 21, 42,151, 44,172,224,250,100,200, 56, 87, 84,197,132, 3, 18,142, 90,207,253,106, 73,105, 45,109, 91, 51, 89,219, 34, + 75, 4,114,178,201,194,204, 8, 71,199,208, 57,130,238,233,118, 66,224,165,161, 89, 54,188, 57, 95,242,237, 69,201,161, 83, 56, + 65, 20, 82,174, 41,252,105,212,231,167, 43,207, 79,229,154,191,184, 94,240,252, 98,197,205,186, 4, 28, 87,159,189,198,199, 71, + 3,214, 18,205,223,122,235, 30,183,131,136,187,202,163, 57,193,119,120, 20, 94,107,156, 15,209,137,210, 69, 30,130,243,254, 49, +201,207, 3,193, 69, 17, 21, 78,112,156,164, 92, 25, 42,118,131,199, 58,203, 24, 65,107, 58,134, 4,156,115,100,166, 97, 30, 60, +167,222, 51, 63,155,115,186,168,232,218, 22,119,178,138,214,170, 44,229,213, 11, 5,255,246,165,117, 62, 62, 29,243,198,241,234, +113,108,234,227,142,214,244,130,221,182,133,182,142, 28,143,208, 7,184,244,187,101, 89,199, 8, 95,121, 82, 34, 59, 67,233, 26, + 82, 37, 24,219,142,245,166, 66, 57,143,243,150,186, 45, 9, 50, 32,157, 39,149, 2, 45, 64, 11,141, 12, 30, 41, 37,133,146,108, + 38, 41,159, 24, 12, 25, 39, 9,211,108,192,122, 62, 96,146, 40,126,122,115,194,199,198, 3,214,181,224,200, 58,146, 0,169,247, +164,125, 97, 79,250,219,211, 29,187,240, 81,148, 38,180, 64, 24,158,100,190, 59, 31,129, 55,206, 61, 1,210, 40,137,176,145, 61, + 32, 68, 28,249,147,104,132,141, 13,143, 16, 81, 84,214,117,158, 71,171, 14,105, 59,202,206, 50, 8,130,149, 8, 88,235, 56,117, +142, 3, 1, 71,182,163,146,146,135, 85,201,137,112,172,154, 21, 51,239,104,218,150,189,174,193,155,134, 67,215, 98,141,161, 82, +138,101,219,114,191, 46,185, 85, 46,248, 32, 56,190,113,186,226,131,206,112, 99, 94,243,192, 58, 26,231, 89,213,150, 86, 6,170, +101,133, 79, 83, 26,239, 73, 8, 56, 41,169, 77, 71, 25, 4, 74, 40,142, 86, 13,235, 89,194,126,109, 40,155,134,182, 53,108,103, +146, 19,103,216,148, 26, 97, 45,155, 74,209, 66,212,191, 16, 83, 30,231,206, 16, 2,212,214,113,185, 72,120,127,209, 64,211, 69, +205, 53, 30,233, 4, 82,216,184,202, 59, 93,160,130, 64,167, 26,109, 12, 74, 43,116, 8,104, 23, 35,175,149,148,200, 85,133, 98, +218,239,212,221, 57,253, 77,197, 66,224,252,147, 0, 17,210, 94,237,221,227, 93,117, 74,246,252, 69,214,175, 94, 64, 95,216,164, + 29, 15, 97,107, 19, 6, 99,184,120, 33,126,189,181, 9,147, 53, 24,140, 98,145, 77,147,136, 60,204, 18,228, 56, 35, 77, 18,100, +112,140,117, 26,177,125,185,102, 58, 28, 49, 29, 23, 76,166, 41,174,181, 56,111, 32,120,188,132,106,181,192,244,172,220,163,211, + 25, 85, 83,114, 80,205,152,213, 21,198, 7, 66,119,190, 15,239, 85,225, 69, 10, 77,251,132,134,148,232, 88,212,181,142, 43,134, +244,169,241,187,238, 59,247, 68,199,125,134,210,177,168, 43,249,227,167, 17,185,142, 43, 5,124, 20,212,233, 60, 22,246, 44,233, + 45,117, 34,138,239,206, 73, 76,173,123, 34,182,251, 8, 51,255,149,188,160, 8,176,239, 59, 46, 41,141, 2,150,253, 47,241, 88, + 8, 18, 33, 72,165,164,240,240, 64, 75,130, 0, 90,251,228, 96, 96, 31,171, 84,122,111,190,232, 21, 27, 34, 78, 16,148, 2, 93, +244,147, 8, 27, 31,223,191, 76,172,110, 34,217,183, 29, 47,189, 16,225, 22, 87,118, 54, 57, 91, 84,156, 29, 31,225,131,138,135, +177, 60, 99, 88,100,212,181, 33,200, 88,212,109, 32, 90,209,164,192,123, 17,247,228,113,225, 69,162, 20,214,250, 30, 69, 31,199, +219,182,207,137, 15,222,211, 57,135,107, 28,131, 97, 26,247,218, 65, 16, 28,228, 89,194,104,152, 51, 26, 23, 92,216, 25,179,181, + 49,224, 51, 47,237,240, 51,215, 54, 89, 53,134,251, 71, 75, 30, 62, 60,160,106, 58,190,249,230,247,185,127,116,196,239,127,239, + 29,254,236,143,223,226,235,223,187,193, 27,119, 30,112,255,222,156,178,181,180,231,118,205, 81, 30,133,136,135, 6,127,167, 38, +127, 38,229,202,181, 93, 38,195, 2, 25,226,240,197, 19,207,141, 65,200,232,149,117,145,124,165,164, 68,101,154, 97,161, 25, 23, + 41, 27,121,194,239,189,183,207,215,111, 28, 49,187,121,196,217,173, 67, 56, 94,177, 60, 89,224,131, 35,153, 20,236, 92,219, 98, +114,253, 42,255,249, 47,190,134,218,220,101, 49,157,160,101,224,167, 82,197,219, 69, 65, 54, 72,185,250,242, 46,249, 51, 23,144, + 23,183,185, 57,235,248,211, 15, 30,240,255,157,214,124, 93,140,120,127,178,203,175,188,250, 34, 47, 92,222,228, 52, 31,242, 72, +228,108, 77,167, 60,251,201, 23,153,236,110,112, 40, 20,157,245, 12, 11,205, 32,207,120,118,152,241,153, 66,176, 88,214,124,251, +100,193,221,166, 98,103,103,141,245,103, 47, 51,188,180,205, 88,143,120,189,236,184,175,167,188,176,181,205, 21, 41, 89, 10,193, +119, 66,224,123,214,177, 39, 21, 73, 26,149,220,169, 20,180,213, 18, 99,106, 26, 23,248,205,233, 58,207, 12, 71, 92, 72, 50,238, +217,142, 3,231, 24, 42,152, 52,150,141,249,138,105, 98,145,131,117,110,216,138,169, 74,233,108,135,242,142,253,147, 3,134,211, + 77,130,113, 44,101,130, 93,206, 8, 85, 5, 62, 16,186, 38,142,225,173,193,227,241, 66,226,250, 11,179,147, 26,145, 74,134,163, +132, 38, 11,140, 22,129, 79,108,228,252,226,245,117, 62,183, 57,102,146, 37,172,117, 14,177, 90,241,126,115,198, 63, 95, 88, 78, +207, 22,124, 99,190,136, 86,167,181,141, 8,183,240, 16,186, 50, 90,243, 44,120,215, 60, 41,228, 66,196, 46,253, 41,149, 63,196, + 97,165,235, 90,198,227,156,165,113,236,138,128,116,134,169,177, 52,174, 37,224,153,183, 45,117,107,168,173,101,182,108,168,170, + 22,233, 44,141,233, 16,198, 32,138,156,255,228,202, 22,191,188,115,129, 65,170,248, 86,219,208,204,234, 15, 77,205,196, 71, 35, + 85, 85, 44,228,231, 2, 52, 33,163,128, 86, 90,139,176, 29,162, 44, 17,199, 75, 14,143, 79, 57,105,102,236,132,142,177,237,232, +154, 18,159, 38, 24,107, 8,109, 69, 22, 60,174, 51, 72,161, 48,222, 32,132,100,173, 24,179,158, 23, 12,178,130,141,124, 76,167, + 20,195,100,192,246,112,157, 11,105,193,115,195, 33,151, 7, 57,207, 72,205, 21,165, 41,148,228,106,158,179,150,165,124,122, 52, +101,223, 91, 18, 33, 80, 61,131, 94,156,119,235,177,245,142,161, 72, 46, 10,173, 63,164,144,151, 18,153,196, 68, 68,233,125,252, +218,121, 68,255,119,162,235, 34,202,214,185, 24,113,237, 61, 39, 93,199, 94,231,249, 32, 56,110,159, 54, 60,244,134,165, 20,124, +208,118,220,110, 27,110,215, 45,247,188,225, 86,215,241,102,101,120,171,108,184,163, 2,183,156,225, 77,211,114,100, 44,111,152, +142, 7,117,201, 91,182,227, 86, 91,243,118,109,120,163, 49,156, 25,203,204,122,218, 16,237,171,198, 56, 80,130,214, 70,203,173, + 49, 6,135,103,222,121,230, 62,142,241, 59,235,121,104, 12,153, 20,204,154,150,206, 90, 66, 99, 17,198,177,108, 60,151, 7,138, +220, 88,174,103, 41, 82, 4,182,149,194,123,207, 26,208,244,152, 97,107, 61,169,128,101,221,225,125, 96,225, 44,194,199, 60, 18, + 9, 40, 99, 81,157, 69, 21,154, 68, 41,116,213,162, 85,194, 21, 87,211,233,148,169,177,248,186,137,223,163, 20,250, 7, 9,113, +221, 15, 94,208,117, 15, 71,144, 50,178,141, 95,185,196,245,205,109,154,206, 51,206, 83,234, 45,199,162,118, 28,214, 11,214,147, +130, 36, 45, 40,155,134,253,178,138,251,219,164, 23,220,233, 39,251,248, 60, 21, 76,178, 20,130,195,132,142, 73,146,162,148,100, +152, 11, 76,103, 8,170,163,177,142, 84,129,112,134,164, 72, 73, 4,180, 18,238, 29, 44, 34, 67,128, 64,189,234,240,222,199, 67, +195,121,116,105, 63,198, 66,167, 79, 30,131, 1,114, 31,139, 91, 34,227,247, 75, 29,139,126,154,210,211, 81,158, 20,251, 85, 10, +117,253,100,223,254,195, 62,170, 6, 54,198,125,225,238,159, 39,213,167,174,229,253,253,176,253, 33, 33,113, 31,166,237, 61,245, +244, 18, 60, 95,175, 75, 62,145, 23, 92,215, 25,203, 16, 24, 11,193,179, 66, 62,246, 9, 19, 60,117, 15,140,185,228, 44, 15,206, + 87, 26,231,135,132,199, 63,183, 31,197,235, 2, 54, 55,226,255,189, 42,123,112, 77,143,158,173,254, 37,133,142,137,132, 32,185, +251,149,239,114,243,133,231, 41, 62,247, 26,243,213,138,143,189,244, 12,207, 93,191,196, 91,111,222,226,240,209, 35,218,178, 35, +207, 52,137,210,168, 10, 6,195, 4,103, 3,149, 51,100, 65, 70,217,130,146,228,121, 18,109,107, 62,110, 78, 91, 23,213,169,198, + 65,145, 73,140,240, 36,137, 70,117,158,144, 71,181,184,214,138,113,145, 80,202, 8,170,137, 23, 60, 65,219, 57,210, 68,243, 15, +254,240,255,103,236,189,122, 44, 75,179,244,188,231,115,219, 30, 27, 54,125,102,121,215,213,102,218, 84,147,163,129,208, 50, 35, + 18,148, 4,112, 40, 8,188,162, 0,253, 2,233, 94, 16,248, 19,116, 33, 72, 0, 37, 8,208,141, 64, 2, 26,104, 64,129, 24, 81, +131,230,104, 60,167, 77, 85, 23,171,170,203,102,101, 86,250, 12,115, 34,142,219,246, 51,186,248,118,102, 86,119, 87,207,116, 0, +129,116,129,140,115, 78,236,179,215,183,214,122,223,231,253,128, 71, 39, 71, 76, 71, 83, 30,159,156,115,111,185,224,189,187, 71, +168, 76,114,177,204,217,153,149, 44,214, 61,156, 14,207,125, 54,252,124,142, 91, 72, 21,201,190,198,238,229,248,191,163,224,110, +199, 31,255,249,207,121,225,249,231,152,190, 85,176, 63,202, 49, 34,178, 21,148,210,104,229, 98,104, 71, 22, 16, 74,160, 4,104, +163, 72,149, 68, 75,129,244,158,221,182,163,237,122, 78, 23, 39, 32, 21, 75,219, 99,235, 53,235,143, 54, 24,149,178,116,130, 43, +223,125,145,231, 94,185,200,215, 38, 91,110,221, 60,229,202,209,154,107,103,154,174, 18,156, 94,154,242,200, 42,230,235,142,223, + 53,158,159,228, 9,122,182,195,235,105,201,205,180,224,197, 36,229, 63,157,106,236,170,226,167,199,143,113,101,193,229,209, 14, +197, 60, 99,238, 45, 63,217, 70, 26,222,200,193,244,108, 77, 85,102,212, 57,180, 23, 74, 46, 79, 83,246,130,103,190, 51,230,162, +150,124,250,193, 29,146,229,130,195,124,204,120,118,129,236,194, 8, 89, 55,184,237, 26,181,233,232,131, 39,164,130, 84, 41,232, + 29,143,117, 73,147,195,105,211, 48, 49,129, 44, 73, 16, 46, 16, 68,100, 46,116, 4,230, 8,246,139,132,139, 89,134,116, 61,119, + 78, 62,101,103,239, 50,231,222,227,148, 33,145,158,170,171,121,247,147,247,105,199, 59, 96, 12,242,229, 87,241,117, 13,139,199, +120, 93,198,108,108, 41, 16, 85,141, 48,131,227,164,238,193,158, 99,117, 74,155,101, 8, 7,114,170,153,207, 19, 46,229, 41,115, +147,160, 9,220,214,154,151,172,227,181, 7,199,188,189, 94,242, 39,155,171, 96, 70, 8,147, 32,144,112,227,121,152, 78, 9,119, +238, 17, 54, 21,161, 89, 71,189,116, 15,193,200,167, 14,209, 95, 1,170,180, 29, 98,186,195, 6,152, 72,197, 18,129,219, 52,156, + 26, 25, 59, 87, 21,145,212, 77,213,227,250,142, 41,113,250,120,199,250,168,212,238, 44,178,106,121, 49, 73, 73,133, 66,234,132, +209,104,194,249,100, 77, 88,213, 67, 2,223,175,129,189, 12,112,172,224, 60, 65,201,167,118, 66, 7, 56,107,177, 52,116,231, 13, + 31,173,207,248, 95,238, 60,230,251, 38,227,198,108,204,120, 62, 34,155,142,120, 46, 27, 83,181, 53,185, 74,232,251,150, 30, 79, +146,231,160, 12,217,240, 61, 77, 90, 48,245, 30,235, 29,227,180, 32, 45, 39,216,205,217, 48,114, 15,136,113,193, 15, 66, 32, 67, + 80, 8,197,186,107,120,171,157,114,212, 52,188,183, 92,242,110,221,162,250, 14,101, 45,194,254, 82,222,251,151, 14, 72, 79, 1, +156,157,125,154, 1, 47,158,208, 63, 59,139,120,146, 11, 31, 60, 33,209,241,121,246,131, 32,174,247,172,155, 26, 13, 84,149,228, +241,195, 21,186,200,208, 50, 6, 45, 41, 41,144,168,152, 1,159, 70, 71,147, 16, 17, 61, 13,110,216,178,134, 1, 1,237,241, 77, +143,183, 30, 55,220,175, 92, 18, 35, 91,179,210,208, 5, 71,130,100, 21, 98, 79, 22,128,160, 4,222,246,172,147, 4,223, 58, 8, + 29, 75, 25, 87,216, 50,145,144,106,194,166, 67,164,138,157,214,242, 66,106,208,125,203,142,202, 16,222, 71,200,216,112,235, 47, +132, 36,211,112,180,106, 16,193,115, 57, 87,220,173, 19, 68, 84,101, 32,123,144, 74,163,140, 68,123,152,102,130,203, 74,243,237, + 82,209, 88,199,117,111,105, 83,201, 81,102,184,185,174,185,189,110, 81,140,174,253,211,191, 85,181,174, 6, 96, 74, 8,112,237, +128,231,246,102,180, 54,176, 91,150,228,166, 36, 51, 25,123,229,132, 76,104,114, 19, 57,189,163,212,144,200, 64, 97, 4,171,110, +216,121, 11, 65, 98,146,184, 71, 21,130, 34, 49,104, 9, 55,118,118, 48,105, 74,162, 2, 93,215, 83,164,146, 92, 43,166,165,198, +216, 64,179,109, 25, 25, 65,187,172, 88,111,207, 73,180,102, 81,109,185,119,118,134,237, 61,146,200,227,133, 39,161, 32, 67,241, +106,219, 33, 18,181,137,197, 45, 77, 24, 84, 80,207, 70,237,121, 22,191,134,161, 83,183,253,112,120, 81, 80, 87,241, 74,251,155, +198,240,194, 67, 57,138,190,171, 50,139, 69, 60, 77, 6,117,123, 22,197,135,102, 80,199,123, 23,213,158, 95, 86,156, 63, 25,251, + 59,207,117,173,240, 66,178, 12,129,145, 15, 84, 2, 82, 33,162, 94, 81, 64, 41, 4,159,217,150, 92, 73, 54, 82, 70, 92, 42, 3, +100,199,250, 95,180,184,205,119,153, 92, 60,164, 28,141,169,165,142, 83, 11, 61,232,225,131,143, 73,115, 90, 71,135,192, 47, 24, + 82,252,175, 30,234,228, 83, 63, 10, 31,254,236, 67, 94,255,230,155, 36, 89,202, 98, 91, 49, 46, 50,186, 16, 80,105, 66,181, 90, + 35,179,148,253,157, 49,227, 60, 65, 34,152, 36, 2,173, 37,163, 68, 81, 91,143,148,112, 48, 54,113,191, 45, 5, 10, 65,110, 52, + 58,213,200,129, 62, 55, 78,163, 32, 46,114,155, 21,125,231,168,182,150,117,211,177,222,118,212, 85,199,182,234,168,250,158,122, +211,211, 11,207,189, 59,199,252,139,191,126,155,101,181,166, 76, 13, 82, 64, 19, 98,218,215, 40, 51, 84, 46,208,235, 64, 48,192, +202, 69, 49,100, 42,163, 8,244,118, 27, 51,143, 39, 17, 88, 65, 42,224,221,138, 59,101,197,139, 87,174,112, 97,103,196, 36, 79, +227,132, 32, 49,164, 70,162, 7, 26, 34, 34,196,188,119,249,196,109,232,217, 54, 29,171,166, 37, 49, 16,188,164,107,123,200, 83, +244,197, 93, 46,124,239, 53,190,113,117,151,127,244,141, 27,220,187, 48,231,115, 41,233,203,148,139, 23,167,124,195,247,124,235, +213, 67,174, 78,225, 38, 41,123, 99,205,181, 89,193,238,106,197, 79,110, 63, 70, 20, 35, 94,191,177,195, 27, 99, 77, 18,122, 14, +131,229,110,232,184,103, 52,243,249,152,221,197,134,211,211, 37,201, 39,119,169,174, 92, 68,118,142, 63,255,171,183,249,248,143, +127,136, 93,181,220,125,120,196,173, 7,247,249,224,103,239,115,243,237,119,184,113,225, 58,203,109,207,103,143,239,243,211,155, + 55, 41,109,199,165,249, 30, 19,163,113,137,198,104, 67, 90,102,116, 94,160,205, 96,121, 37,144,116, 53,127,184,173, 57,205, 39, + 60,144, 57,191,111, 5, 63, 72, 20,183,109,203,187,109,203, 81, 93, 49,174, 59,246,132, 98, 90, 24,102,227, 9,135,105, 70, 38, + 37, 69, 89,210, 7,197, 44, 79, 57, 24, 21,232,190,227,130, 16,248, 36,103,163, 50,152,149,132,211, 37,228,134, 16, 20, 1,133, + 23,150, 32, 19,188, 84,241,179,111,162, 0,108, 91, 19,132, 96,156, 37,236,149,154,203,133,225,165, 81,206,149,157, 25,175,205, +114, 38, 46,176,168, 90, 94, 15,144,159,159,243,197,250, 28, 49,153,198,131,130, 50, 8,149,192,222, 30,228, 41,225,172,138,185, +225, 10,188,139,200,226, 32, 69,108, 24,190,252,118,207,198, 48, 74, 56, 13,138, 60,151,180,109,143, 87,154,186,106,113, 74,209, +247, 14,217,117,132,174,167,116,129,189,214, 33,109, 64, 90,199,194,134,104, 25,235, 45,251, 99,133, 73, 19,254,109,183,229,199, +173,139,158,228, 22, 4, 81,161, 46,126,185, 75,127, 34,149, 25,108,159, 66,240,180, 91,127, 10,144,241, 50,110,251,250,158,202, +121,110,182, 13,239,156,158,242,163,227, 51,206,214, 21,174,217,210,119, 61,133, 18,145,251, 32, 5, 86,104,172,209, 88,165,145, + 69, 70,151,165,104,147,146,100, 25, 34,196, 52,179, 92, 70, 63, 56,222, 51, 53,138, 84, 4,174,148, 35,198,202,112, 99,103,159, +203,163, 9,151,203,140,189, 36,101,207,104,238, 12, 9,213,191,124,223,252, 21,223,187,247, 40,239,145, 90,199,209,177,181,113, +179,107,237, 32,184,211,207,244, 7,246, 73,138,167, 4, 27,179, 38,188,235,241,189,197,225,113,193, 98,117, 66, 31,160,239, 28, +189,209,116, 70,210, 41, 73, 43, 36, 45,208, 10, 65, 27, 2,173, 20,180, 66,208, 13,177,207,164,134, 38,209, 72,161,216,155,141, +120,177, 76,121,109, 90,114,163, 24,113,161, 72,121, 62, 49, 92,202, 52,107, 2, 85,158,209, 11, 65, 72,211,232,212, 73,212, 83, +203,119, 16,146, 96,163,125, 13, 9,175, 39,130,111,102,134,239, 22, 5, 19, 2,135, 70, 49,150,177,246,109,189,139, 1,166, 33, +208,244, 49, 18, 90,133,192,219,155,154,182, 11, 8,173, 80, 34, 68, 87,145,144,131,240, 56,225,239,150, 25,111, 77, 71,188, 84, + 22, 92, 25,143,120,121, 50,198, 40,197,203,105,198,141,209,136, 61,205,111, 80,212, 97,216,207, 70, 66,154, 60,152,112, 48, 42, +216, 47, 39,140,211, 49, 62, 8,198,249, 8,163, 83,138, 36, 35, 53, 38, 78,122,197,147,221,143,167,204, 83,150, 85, 3, 74,162, +130, 68, 42, 65,161, 12, 33,120,118,202, 41,147, 84, 50,155,151, 72, 41, 40,210,140,124,148, 50, 77, 21, 35,163,112,189, 67,186, +150,126, 93,209, 53, 91,164, 20,124,177,120,200, 7,247,143,105,123, 79,158, 40, 90, 47,152, 10,141, 16,129,174,139, 30,200,129, +134, 2,205,102,200,132, 7,178, 44,238,209,211,129,150, 39,134,142, 29, 49, 16,226, 6,168,140, 28,188,238,189,143, 7,131,191, +201,246,165,242,216,253,143,179,120,241,165,102, 40,174,122,200, 86,215,131, 95,125, 80,122,118,245,175,134,227,248,200, 5,120, + 48,116,232,151,141, 97, 19, 2,115, 21, 59,245, 38,196, 92,241,147, 65,184, 83, 9, 72,125, 96, 43,158,224, 94, 19,184,254, 18, + 47,191,249, 38,167, 42,135,147, 71,112,184,199,165,217,156,217,168,164, 15,208, 46,206,226,129,198,185,103,143,231, 43, 7, 16, +191, 92,216, 7, 85,253,151, 62,126,252,103, 63,226,187, 63,248, 62,147,162, 96, 83,215, 40, 4,245,166, 97,178,183,131, 86,130, +182,245, 4, 9,227, 60, 29,242,135, 21,137, 86, 76, 75,195,180, 72, 16, 42,210,232, 38,153, 33, 47, 12,121,166, 40,141,102,148, + 27,132, 20,180,189,101, 83,117,108, 58,203,102,221,178,218,182, 8, 5,171,243, 58, 90,221,240, 52,181, 37, 77, 12, 89,153,160, +130,228,202,181, 61,250,147,115,238,172,215, 40, 4,153, 74, 81,210,179,238, 28,151, 71, 19,118,210, 52,102,237,120,112, 89,128, +179, 97,194,177,147,194,238, 48,201,209,146,189,195, 49,227, 89,193,246,106, 66,213,195,190, 73,120,225,218, 5,102, 99, 67, 38, + 20,153, 20, 3, 82, 51, 12,111,228,104,163, 43,148, 33, 81, 10, 23, 60, 54,120,210,204,176, 62,107,216,214,142,157,111,223,224, +218,215,175,177,127,105, 14, 58,190, 39,166, 77,197,159,254,228, 22,159,255,213,207,249,248, 47,223,225,248,222,154,247, 22, 21, + 63,215,130,203,227,140, 68, 38,164,101, 74, 97, 36, 63, 50, 41,226,234, 62, 85,106, 56,111,123,194, 78,193, 52, 75,152, 20, 25, + 63,157,143,153, 94,222, 99,190, 59, 69, 63,127,129,249,124,204, 97,154,226, 38, 99, 38,133,225,218,115, 87,249, 87,255,253,191, +224,163,243, 5,159, 62,122,200, 71, 15,143, 17,244,124,243,213,215,249,237,239,191,206, 15,255,232, 79,248,131, 63,250,107,142, +178,148,111, 93,188,200, 56, 53,145, 98, 38, 66, 28, 15, 6, 65, 39, 5, 93,239, 48,196,244, 67,213,215, 60,239, 27, 86,199,143, + 88, 59,139, 67,241,105, 91,243,133,150,116,206, 82,216,158, 73,223,179, 63, 74,217, 25, 79,152, 76,118, 33,201, 41,243, 9,169, +201,152,236,237,144,142,199,120,149,112,189,200,185,161,224, 34,158, 68,104, 30,202, 4, 70, 41, 88, 75,240,142, 96, 99,148,101, + 72, 4,193,197,227, 58, 58,118,212, 96, 17, 30,236, 36,103,150, 39, 28, 22,134,215,198, 5,123,123, 23,201, 76, 70, 17,122,222, +127,112, 70,102, 52,123, 2, 62, 87,146,190, 48, 72,169, 17, 89,142, 50, 41,255,236,183,222, 64, 36, 25, 31,105, 8,199, 43,130, +239, 9, 82, 16,188,136, 30, 20,239,127, 33,214, 65,168, 4, 89,230,200,222, 51, 54,146,171, 69, 22,199,241,105, 74,225, 29, 59, + 62,112, 24, 2, 7, 65,114, 73, 66,230,224,170,150,132,222, 49, 21,158,199, 54,102,181,191,183,220,242,163,170,229,125, 7, 34, +213,177,128, 21, 58,138,202,172,125, 86,216, 77, 20,147,137, 16,190, 52,118, 39,142,179,135, 80, 25,225,191, 4,120, 29,238, 43, +193,199,199,238, 1,239, 29,143,183, 91,126,118,190, 38,177,142, 69,240, 44,130,227, 24,143, 51,134, 86,198,174,182,241, 30,153, + 36, 60, 82,154,218,195, 56, 77, 24,235, 40,236, 19,125, 75, 46, 21,173,107,185,144,100,228, 38,101,119,114,136, 81, 25,249,120, +151, 66,231, 28,148, 25,187, 90,115, 37,207,240, 90,241,104, 48,109,135, 39, 22,105, 41, 17,169,137, 99,119,173, 80, 90, 33,141, + 65,105, 25,247,241, 66, 60, 45,246, 79, 70,242,226,233, 4,114,104, 58,188, 37,104, 25,101, 65, 82, 18,178, 2,143,198,151, 37, + 46, 79,112, 69,129,157,230,244,169,166,147,146, 62, 77,232,148,164, 11,146, 54, 81,116, 73, 74,151, 37,244, 66,208, 43,197,104, +148,225,132, 97,103, 92, 48,202, 50, 94,152,140,248,157,189,107, 92,204,166,236,155,130,171,197, 52,122,219,149, 98,148, 72, 54, + 94, 96,211,140,198,187,120,157, 56, 23, 11,185,134, 50, 68, 66,120,231, 61,169,119,124,179, 72,121, 77, 43,130, 12, 40, 36,107, +235, 40,140, 70, 15, 89, 23,181, 15,116,222, 13, 98, 76,207,113,219, 35,145,156,216, 88,240, 37, 10, 41, 37, 90, 40,166,163,156, +255, 48, 79,249,222,222,152, 27,163, 17,211, 34,225,181,157,125,188,209,236, 23, 99,146,180, 32, 75, 50,114,165,127,195,162,254, +164, 0,121, 79,152, 22, 60,183,183, 23, 71, 73,104, 82,173,209, 74, 99,135, 19,164,150, 42, 50,243, 7, 4,236,186,174,216,218, +142,109, 31,103, 23,233,144,187, 29,132, 32,145, 2, 47, 3,123,163, 17,121,150,147,164, 9,229, 40, 65,248,192, 72, 75,186,243, + 6,183,173,161,105, 57, 95, 46,200, 36, 52, 77,195,166, 90,113,127,211, 48, 75, 19, 42,239, 81, 1,186, 68,211,122, 71,110,210, + 56, 49,239,186,161,168, 15, 88, 91,105,134,116,180, 33,192,123, 92, 60, 91, 11, 60, 41,240,114,128,210, 40, 13, 93, 59, 92, 68, +253, 51,165,250, 87,137, 0,133,135,180,128,100, 16,225,101,201, 64,205, 35, 38,190, 37,195,247,237,186, 56,154,183,225,233,126, +232, 87,242,218,137, 72, 88, 27, 28,115,109, 56,119,158,141, 16, 20, 64, 13,172, 0, 25, 2, 33, 4,214, 18,148,144,244, 2,216, + 63,228,191,254,251, 63,224,239,255,206, 55,248,222,107,111,240,231,103, 27, 66,219,242,226,229,171, 92,158, 95,160,245, 13,139, +135, 71, 67, 92,236,128,173,125,178,143,215, 67, 13,215, 95,174,229,254, 23, 59,117, 63, 28,236,190,244,241,246,241, 25,223,120, +233, 5,202,113,198,122, 93,211,213, 45,213,102,205,106,177, 6, 33,169,155,158,170,119, 88, 11,163,210,196,236,100,163, 49,198, + 32,181,198, 72,133, 8,106,176,133,121, 26,231, 88,183,150, 77,107,169,234,158,186,141, 2,146,174,181,209, 74,102, 61, 42,149, +184, 62, 16,108, 76, 24, 83, 82, 81,164, 9,227, 34, 97,148, 27, 94,122,245, 6,219,163, 13,125,223,113,107,121,142,237, 29,199, +203, 45, 15,183, 21, 82, 10, 30, 85, 13,253,186, 97,200,187, 4, 35, 72, 15,114,174, 29, 78,152, 21,138, 67,142, 0, 0, 32, 0, + 73, 68, 65, 84, 31,150,236, 79, 11,140,132,157, 60,231,165,157, 67,190,123,237, 37, 70,249,132, 44,215, 92,156, 23, 4,225, 81, + 33, 80,119,150,213,182,167,243, 30, 45, 96,150, 27, 46, 79, 51,118,139,132, 84,203, 33, 69, 44,161, 40, 19,150, 77,199,213,231, + 15, 57, 62,223,242,240,223,221,225,214,159,191,207, 31,254,240,207,249,231,255,247, 95,241, 71,255,211, 79,121,255,147, 47,248, +232,100, 65,187, 61,162, 93, 45,248,235, 31,255,140, 31,253,228, 61,118, 95,121,147, 99,165, 88,164,154,147, 91, 71,124,240,255, +252, 25,205,186,230,209,221, 71,144,100,236, 94,156,177,127, 80,240,199,143,106, 92, 22, 35, 84,123,239, 49,206,161,246,103,232, +193, 50,179, 62,171,249, 81,117,151,160, 20,173,209,124,251,210,132,215,111,188,194,119,222,250, 58,231,219, 13,255,195, 95,188, +141,223,223, 33,228, 57, 50, 40, 46, 22, 41,120, 71,237, 2, 5,130, 7,231,167,156,110, 27, 84,232,105,186, 22, 25, 28,216,150, + 18,205,101, 9,163,234,140,251,206,242,184,119,220, 10,146, 92,198,110,233, 85, 35,249,123, 7,151, 25,151, 51, 72,115,102,211, + 25,203,196,224,141,198,148, 35,188,210,140,178, 20,227, 35,192, 72, 43,208, 72,166, 74,115,150, 20,136,114,132,175, 55,241,144, +140, 32,108,155, 56,114, 14, 1,130,138, 17,201, 62,110,192, 93,112,228,211, 17,137, 18, 92, 20,129,185, 4,223,119,124,246,197, + 99,254,223,247, 79,152, 20, 10, 45, 5,255,237,215,223,224, 13, 2, 47,159, 31,113,124,112,133,255,238,197, 75,124,239,219, 47, +241, 82, 81,242,197,217,154, 59, 71,199,248,229, 54,202, 78,132,199,247,207,220, 33, 79,174,254, 39, 52, 55,105, 61,109,237, 57, +176,142, 73,170, 56, 72, 19, 46, 5,197,190,148,209,175, 46, 5,161,243, 92, 78, 13,157,130, 44, 77, 17,157,229,139, 44, 39,232, + 12, 89, 85,216,222, 34,108,204, 24, 16,105,130, 20, 32, 50,131,108,101,180,146, 89,144, 34,196,174,245, 73,183, 62, 20,115, 49, + 88, 85,159,250,188,127,137,215, 30,158, 82,255, 52, 46,254,111, 56, 9,159, 52,150,159,214, 53,183,132,228, 76, 72,154, 68, 18, +164,160,149,154, 38, 73,249,184,169, 57,114,158, 50, 77,201, 16,104,231, 49,193,227,250,150,190,175,208, 4,198, 58,229, 96,122, +137,164,152,147, 77, 14,209,217,132, 68, 23,104, 85, 48, 74, 83,114, 25,176,137, 36, 45, 18,250,178,164, 10, 10,100,202,116,154, +209,146, 96,138, 34, 90,152,103, 83, 52,154,201,206, 4, 47, 18,246,230, 99, 58,157,163, 70,211,136,253, 72,199, 8, 51, 4,129, + 25,160,200, 65,103,132, 44, 33,148, 35,194,116, 70,152,141, 9, 23, 15,152,204, 39,136, 34, 71,229, 41,110, 84,210,102, 57, 86, +107,250,124, 68, 95,148,116, 73, 66,159, 23,244, 73, 14, 38,101, 60,158, 49,205,243,120,200, 28,141, 24,229, 83,110,236,204,121, +181,220, 99, 87,103, 28,100, 5, 19,101,200, 84,130, 0,234, 16,187,231,181, 12,220,105,162,246, 34, 12,247, 98, 37, 5,116,150, + 61,169,227, 33,223,122,174, 26,216,241,158,107,153, 38, 21,160,137,133, 93, 6,168,137, 49,212, 50, 8, 30,247,150,142,168, 41, + 90,224,185,211,247,180, 94, 34,117, 64, 50,116,233,198,240, 15,166, 25,223,223, 25,147, 37,154, 75,101,198, 52,207, 9, 2, 70, +163, 29,116, 86, 98,178, 49, 82, 39,236, 77,102,191, 97, 81, 31,144,127,136, 4,150, 21,199,169,225,185,221, 61,188, 15,164, 73, +142, 36,112,190,222,146,153, 4, 31, 60, 18,168,187,134,109,215,224, 67, 96,209,212, 32, 60,174,247,244, 77, 71, 63,228,210, 86, + 3,102,212, 9,197,245,221, 41, 69,153,162,131,163,175, 26, 66,223, 96,143, 55,172,207,207, 89, 86, 43, 74, 36,167,182, 5,219, + 80, 87, 53,181, 13,212, 66,224,172, 69, 26,131, 71,160, 6, 81, 90,245, 36,146,117,181, 29, 80,170, 79,246,250, 14, 76, 10,179, +114,200,251, 13,177,224, 38,146,194, 24,250, 16, 67, 85,250,224,227,223, 75,224,100,245, 12, 55,251,203,133,216,251, 33,212, 37, +141,144,246,100,240,185,167,195,225,225,201, 76,150, 65, 60,183,173,227,191, 7,251,213, 48, 26, 33, 56, 7, 14,181, 98,229, 29, + 86, 4, 10,169, 88, 56, 79, 39, 5, 91,215,145, 41, 67, 67,192,136,136,120,172, 58, 5, 23,198,252,147,127,240, 59,140,178,130, +113,105, 56, 59,237, 41,199, 37,191,251,189,239,243,234, 75,135,140,165,226,157, 15, 62,136, 35,120,223, 15, 62,209, 65, 45,111, +109,124,156,246, 75,190, 20, 63, 16,246,212, 19,225,160,248, 21,199,169,187,255,152,227, 80,243,252,181,171,140,198, 25,213,182, +102,189, 58,199, 89,203,226,232,152,114, 50, 99,113,180,164,235, 3,143,207, 43,156, 84,209,154, 38,163,154,188,183,241,162,109, +122, 71,213, 89,186,222, 71,208,140,136,129, 42,125, 23,255, 44, 85, 28,223, 11, 41, 81, 66, 70, 76,112, 18,133,132,206,121,172, + 8,120, 27, 56, 59,175, 25, 21,154,114, 52,230,230,157,187,124,124,255, 12, 43, 61, 87,230, 19,206,207,106, 42,233,217, 43, 12, + 86, 43,156, 13,144,107,152,100, 76,203,148,121,106,216, 73,115, 70,105, 78,153,102,104, 17, 29, 24,227,209,140, 36, 41, 88,157, + 55,236, 29,230, 20,169,166,178,142,214, 5,214,141,197, 57, 75, 38, 4,243,194, 48,203, 52,153, 86,116,214,209,244, 30,169, 37, +222, 7,150,171,138,147,187,231, 60,120,255, 38, 15, 63,253,148,197,250, 12,156,229,235,175,191,194,254,171, 25,159,157, 44,162, +135, 54, 83, 60,191, 59, 6,224,222,201,150, 63,253,232, 35,178,215,191,142, 74, 21,221,182,225,237,255,237, 15,120,240,224, 14, + 15,190,184,199,163,163,199,236, 95,185,140, 29,101,248, 47,238,242,127,252,203, 31,178, 56,110,233,122,168,148, 98,161, 5,251, + 72,234,222, 33, 47, 77,248,247,127,240, 61,254,189,255,248,183,121,235,173,111,240,131,139, 87,185,171, 39, 28,125,248,115,254, +244,131,207, 57,214,138,214, 7,130, 82,212, 68,160,206,197, 44, 33, 39,176, 94,173, 88,172, 23,116,237, 26,108,135, 20, 80,109, +150,140,178, 17,179,201, 46, 23,139, 25, 55, 38,123, 60,167, 28,157, 80,156,214, 53,243,209,132, 81, 94,240, 79,118,247,121,225, +240, 2,153, 73,176,105,129, 79, 18, 86, 89, 70, 87,148, 88, 99, 40,115, 51, 76,112, 12, 99, 35, 41,133, 36, 81,158, 44, 81, 36, +102, 12,197,136,229,100, 10,213, 34, 30,146,141,132,109, 3, 73, 70,112,245,112,232,126, 6,198, 58,239, 90,238, 8,131, 21,146, +227,147, 37, 71, 39, 43,254,232,139, 5,127,178,108,216,109, 45, 59, 66,208, 28,157, 48,109,107, 46, 4,201,155,205,130,242,120, +193,230,243, 71,252,228,189,119,121,240,248, 46,155,198,178,233, 33,116,158,176,117,132, 85,207, 19,127,169,208,209,154, 37,123, +141, 68, 32,203,146,209,225, 14,106, 54, 98,111, 58, 34,241,129,203, 4,114, 23,200,165, 34, 13,158, 84, 27,122,239, 9, 82,146, + 88, 79,146, 38,140,172,231,174,245,200,209, 8, 89, 53,113, 52,223,244,168, 68, 33,147, 4, 25, 52, 50, 85,200, 36, 71,160,227, + 40, 90, 12,120, 16,231,159, 65, 93,134,110, 93,252,210, 61,233, 87,139,186,140,137,103, 90,225,180,196, 5,112,194,115,190,108, +248,162, 15, 28, 97,217,104,184,217, 87, 28,185,142, 19,109,232,156,165,212,134,194, 58,186,182,163,111, 43,182, 93,141,243,113, + 20,126,169,152, 80,230,115,178,201, 46, 58,203, 80, 38, 31,250, 18,133, 80, 26,215,111,163,115, 33, 85,204,138,148,157,210, 48, +205, 52,179, 34,101,119,158,179,208,134, 23,230, 37,123,153,226,187,251, 51, 94,204, 50,190,115, 56,231, 98, 89,240,214,165, 61, + 94,223, 41,121, 99,127,135, 11,147,168,103, 57,151, 9, 54,207, 98,198,249,116, 68, 24,151, 48, 41, 32, 47, 9,179, 17,255,249, +225, 62, 95, 27, 79,248,209,239,255, 27, 92,170,249,135, 47,191,202,231,206, 82, 37, 25, 78, 42,172, 49,184,124,140, 72,114,118, + 76,202, 44, 43,153,167, 25,227,180,160,212, 9,121,154,147,231,134,125,157,113, 61, 45,153, 61,109, 84, 29,141,119,148, 58, 69, + 73,201, 73, 87, 83, 7, 71, 23,224,220,197, 41, 93,112, 81, 37,176, 47, 5, 91,231,226,161,211,122,174,164,146,151,181,100,162, + 53, 77,231, 80, 18,180, 16,180,222, 51, 23,113, 81,124,106,123,142,156,167, 7,206,122,135,211,134, 5,129,166,143,150, 64, 53, + 76, 51,190, 63, 75,121, 37, 79,184,150,231,100, 90, 49, 75, 51,210,164, 32,207, 71,244, 82, 67, 26, 83, 67, 71,249,136,206,100, +191, 97, 81, 79, 74,200, 39, 48, 25, 67, 94,224,140,102,213,117,148, 73,194,209,118, 27,177,126, 74,209,217, 14, 27, 58, 92,112, + 4, 33, 88,247, 91,206,170,138, 85,223,209,109,122, 88, 14,163,231,222, 15, 10, 87, 79,221,118, 60,222, 86,164,210, 97,108,199, +227, 71,143, 25,245, 91,206,110,222,226,248,225, 61,170,237,134,164,107,233, 19, 77,127,126, 66,221,247,116, 85,135, 48,138,179, +222,211, 43,205,198, 7,186, 1,212,223, 9, 73,174,117, 4,104, 56,192,110, 33,203, 99,202, 28, 33,142,170,181,138,167,190, 52, +254,176,140, 16, 52, 46, 48, 49,154, 78, 4,114, 33, 99,252,251,166,141, 29, 93, 87, 71, 77,192,175, 43,236,195, 69, 77,145, 70, + 98, 93,211, 61,227,220, 19, 24,178, 4, 97, 84,192,114, 29, 59,245,175,234,252, 7,117,206,227, 16,168,165,100, 44, 20,139, 39, +240,194, 16,152,232,132, 51,107, 73,129,199,192,152,192,170, 11,160, 53,175,223,184,194,206,180,228,147, 91, 11,126,252,225,135, +124,253,133, 55,249,238,215, 46, 51,202, 51, 28, 29,127,246,215, 31,196,239,221, 91,144,238, 89,138,222,151, 11,186,181,177,160, +155, 47, 57, 29,158, 78, 50, 6,203,158, 29, 14, 76,244, 44, 62,189,203, 66, 90, 94,126,233,121,102,187, 99, 64, 99,109, 79,221, +108,184,119,255, 30, 88,135,109, 61,203,229,150,243, 85,195,233,121,195,218,122,172,141,190, 89,231,163,195,194,135,128,145,177, + 8, 10,169,201,180,196,203,216,157, 40, 35, 16, 66, 34,165, 36,205, 53,133,137,130,196,182,237,233,157,195, 59,135,240,129, 64, + 32, 47, 82,138, 60,165,171, 60,125,191, 98, 99, 61, 7, 69,201,238, 36, 99, 55,207,152,100, 5,175,236, 31,242,218,213, 43,188, +121,237, 26,175, 93,188,204, 97, 57, 66, 4, 79,166, 19, 38,217,148,131,209, 62,179,241, 30, 69, 54,102,182, 51, 39, 73, 36,105, +154,113,176, 59, 97,111,162, 88,111, 45, 39,171,150,186,235,169, 91, 75,221, 91,172,139, 0,139,101,221,115, 92,117, 3, 9,174, +103,185,109,208, 82,112,113, 86,240,209,199,183,233,250,142, 16, 4, 35,109,184,183, 60, 33, 79, 51, 14, 14, 71, 60,114, 29,155, + 91, 43, 62,187,189,224,161,119,120, 35,232,110,159,209,126,251,155, 92, 26,101,236, 28,140, 56,249,236, 19,148,239, 57,216, 27, + 65, 87,113,231,193, 49,207,141,103,188, 46, 60,147, 44,229, 95,253,243, 31,242,243,191,124,155,183, 63,250, 16,125, 86, 99,179, + 25,166,245,140,171,134, 31,254,233, 59,236, 23,134,145,150, 20,179, 17,238,227, 79,241, 67,222, 64,109, 3,199,206,226, 69, 64, +170, 56,169, 58,175, 26, 90, 91,113,220,108, 57,107, 43,130,119,232, 32,144,193, 33,138, 49,105,146,241,234,124,143,121, 81, 34, + 19, 67, 62,158,115, 56, 46,185, 50,157,242, 87, 31,188,199,215, 14, 46, 51, 25,229, 92, 48, 57,107,161,168, 68, 32, 76,198, 52, +243, 49,173, 16, 84, 38, 35,205, 13, 65, 41, 14,159, 16, 32, 59, 75,131, 64,107,195, 74, 40,242,217,156,231,167,187,124, 97, 74, +168,150,132, 60,137,211,182,103,180,249,248, 62,214,106, 0,154, 88,108, 23,184,237, 61, 39,157,227,167, 85,199, 23,210,115, 41, + 79,184,150,104,174,171,136,236,157, 27,141, 14,150,169,131,169,183,204, 17,220,208, 57, 47,107,133, 10,150,119,122, 31,133, 84, +101, 70,152,150,188,240,252, 14,103, 58,143,108,141, 81,142, 24,101,177, 32,239,207,201,247,118,184,182,127,153,217,236,128,249, +116,159, 92,107, 70,193,146,185,192, 54, 56,140,146, 36, 73, 74, 34, 6,199,128,128,233,222,140,217,188,228, 40,205, 81, 23,247, +163,202,185,239, 81,235, 10, 57, 88, 48,149, 78, 80,169, 70,149, 41, 50,201, 72, 38, 99,176, 49, 66, 86,120,135,124, 50,138, 15, + 1,225, 37,226, 75,147,181,240, 43,133, 93,226,181,138, 68,104,173,113, 42, 90,245,172,244,184,174,230,188,246,124,190,173,169, +145,156, 40, 88,245, 14,163, 18,232, 43,166, 72, 82,235, 88, 85, 11,100,176, 84,206,145, 4,199,133,108, 74, 49,222,197, 36, 57, +114,176, 31,203,201, 24,130, 36,244, 29, 65, 6, 26,122, 58,165,176, 18,210, 36,193, 72, 73,145, 37, 36, 70,147,103,134,151,139, +140,239,141, 74, 94,204, 83,158,159, 76, 25, 39, 57,175, 76,103, 76, 76,193,149,162,228, 32,205,153, 37, 9, 23, 70, 57, 23,114, + 77,154,105,202, 82, 51,202,114,108,150,209, 25, 67, 57, 46,248,135,243, 25,223,158, 28,242,252,104,135, 71,191,243, 22,255,205, +243, 47,243, 63,102, 19,190, 31,122,110, 11, 73,167, 13, 33,201, 73,116,202, 78,146, 48,214,154, 50, 81,200, 32, 73,132, 32, 49, + 5, 82, 72,118, 76,202,142, 50,236, 73,197, 60, 43,105,251, 14,109, 18, 76,136,218,171, 46, 56,106,239,121,228, 90,142,154,158, + 42, 68, 59, 93,240,158,113, 8,180, 34,218, 16, 19, 1, 29,130, 66, 6, 14, 6,235,116, 98, 20, 59, 34,174, 24, 82, 25, 27,151, +202, 7, 62,235, 45, 39,222,179,176,150, 45,130,181,119,116, 38,234,127,100, 26,119,252,215,199,138,151,115,205,243,121,138, 20, +130, 81,154,160,164, 38, 49, 41, 38, 77,192, 36,104, 19,139,122, 35, 98,224,213,223, 94,212,181,142,214,180,217,124, 16, 97, 9, + 16,138,106,213,112,127,185,166,182,209, 7,152, 36,154,117, 91,177,109,107,182,237,154,117,191,102,177,173, 56,174, 42,186,227, + 13,156,157,199, 98, 94, 85, 81,141, 93,213,136,237, 54,170, 89,235,134,187, 15, 79,120,239,227,219,124,120,255, 17,243,163, 99, +214,143,207,201, 60,200,161,227, 95, 29, 47,208,206, 81,183, 61, 8,168, 2, 60,106, 44, 91, 17,208, 8, 66,162,249, 79,190,241, + 61,238,159, 60,196,250,128,147,192,182,130,218, 66, 91, 71, 65,156, 28, 40,115, 58, 5, 99, 40,202,148,174,235,201,211, 20, 45, +161,114,118,160,155,129,237,226,206,132,109, 29, 11,221,223, 52,134, 71,193,116, 52,236,238,135, 81,126,154, 12,150, 64, 61, 20, + 66, 11, 65, 32,148, 66, 84, 27, 68,111, 17, 95, 65, 92,122, 34,116,235,172, 98,173, 2, 90, 68, 14,242,121, 8,232, 16, 34,164, + 14, 34, 54, 83, 39,116,218,209,183, 29,231,139, 19,126,244,233, 61,254,221,237,207,185,125,255, 24,161, 36,207,221,184,206,106, +185,225,230,199, 15,120,239,131, 79,160,170, 65,182,241,249,200, 47, 89,225,244, 19, 33,202, 64,201, 99,176,121,241, 37, 74,223, +147, 36, 58, 63,168, 86, 92,124,218, 39,159,220, 65,151, 25,207,189,248, 28, 89,145, 34,101, 66, 94,142, 25,143,198, 24,173, 57, + 95,157,147,153,148,221,249, 4, 43, 3,182,237, 89,174, 42, 64,144,164, 26, 57,236,168,227,168, 73,160,181,192, 40, 73,145,106, + 18, 19,137,116,153, 49, 24, 19,109,113, 10,129, 35,142, 44,181,150, 24, 36,163,113, 74,150, 27,250,214,211,244,129,157,249,156, + 36, 24,246, 77,201, 40,201,216, 29,237,112,101,231, 50,251,179, 3, 82, 41,201,211,130,188, 40,200,211, 17,163, 98, 66,130, 97, + 50,218,225,240,224, 34, 87,175, 95,226,107,111,220,224,107, 47, 95,225,205, 23, 15,249,250, 75, 23,153,239, 77, 16,202, 48,201, + 60, 77,107, 99,247, 69,244,172, 55, 85, 79,135,199, 9, 65,229, 28,221, 32,124,169,186,136,225, 61,152, 22,188,114,121,206,195, +227, 45,119, 31, 61,102,103,186, 67, 49, 26,209,185,142,207,142,143,104,123,203, 56, 55,164,179,148,116, 47, 35,201, 36,223,184, +178,207,115,215,230,220,122,251,109,158,251,238,183, 40,115, 77, 62,158,115,247,157,247,200,140, 36,207, 82,150,103, 43,116, 83, +225,102,187, 92,254,254,107,140,115,205,135,239,223,102,188,109, 41, 55,231,188,240,234,235, 28, 26,193, 97,154,240,205,221, 61, +206, 22, 13,237,195,115,206,190,120, 72, 21, 28,202, 5,250,222, 18, 46, 93,229, 19, 39, 8,213,150,107, 73,202, 89,189, 65,119, + 53,139,106,195,162,238, 57,204, 52,243,124,196, 56, 47,240,166,160,204, 10,174,150, 35,174,152,148, 34,207, 88,151, 41, 91,239, + 41,138, 18, 35, 53, 95,191,246, 28, 82,193,121, 8,164,147, 9, 15,157,195,141, 74,150,169,230,204,104,164,150, 56,161,232,144, +236, 22, 6,225, 97, 44, 5, 53, 49,102,119,225, 61,169, 76,121,253, 96,204,127,121,117,204,126, 49,229,199,157, 64,108, 22,113, +181,149,165,241,194,211, 89,196, 52, 59, 16,122, 0, 48,185, 14,183,109, 57, 9,158,115,225,153, 11,201,141, 76,113, 45, 53, 28, + 26, 69,153,106,180, 81,140,147, 4, 58,203,193,100,196,100,186, 79,158, 23,228, 74,147, 25,205, 50,133, 59,121,130, 43, 82, 94, +187, 52, 38,207, 12,201,200,176,108, 3,210,129,148, 9, 98, 90,240,143, 47,206,248,230,206, 46, 59,211,125, 70,229,136,185, 78, + 64,101,236,248,232,165,158,100, 25,173,139, 97, 71, 94, 66,162, 20,179, 23, 94, 35,187,244, 18,187, 47,190,201,213,107, 55,184, +180,179,207,165,253, 67,100,230,216, 10,129, 92,108, 80,117,143,202, 13, 42, 77, 81,227,130, 23, 15,246,249,123, 55, 46,243,234, +193,152,135, 94, 96,183,219,193,227, 29, 6,133,248, 87, 11, 93,159, 29,125,124,100, 60, 40,249,180,160, 63,241,222, 59, 15,206, +117,184,117,199,106,189,230,180,182, 28, 47,215,156,250,154,188,173,144,109, 5, 93,133,113, 29,171,170,198,225, 24, 11,201,229, +209, 46, 70, 36, 36, 73,142, 42, 75, 40,226, 90,209, 91, 75,111, 59, 58,223, 83, 7,203, 90,120,250, 97,122, 58,206, 18,114,163, +104,133,228,235,101,201, 85,165,249,198,120,202, 72, 38, 76,147,132,189,108, 66, 80,154,195,108, 76,105, 10, 70,218,112, 49, 31, + 35,131,103, 47, 43, 41, 18,205,200, 24,178, 84, 51, 79,227, 8,250,141,188,224,149,209, 14, 55,202, 57, 66, 74,190, 99,226,234, +243, 37,223,225, 85,164,105, 30,251,152,126, 55, 1, 74,157, 70,235,157,212, 24,161,208, 42, 1, 17,200,211, 20, 27,122, 46,153, + 52,254, 28,131,167, 24,210, 73, 91,231, 72,141,102,221,183, 44,250,150, 19, 34, 6,246, 92,128,117, 14,233, 3,162,181,140,156, +163, 31, 68,205,137, 8,172, 16,236, 9,207,133, 68,115,160, 20,189,119, 44,109, 28,213,111, 61, 28,133,192,167,189,163, 3, 90, + 1, 94, 10, 86, 74,178,237, 37,157,209, 8,165,216, 77, 52,215,114,195,235,121, 74,130,192, 11,193, 78,154,129,214,148, 89, 74, +167, 12,163,108, 66, 67,192, 10, 65,171, 20, 45,242,111, 43,234, 26,242, 18,230,243, 65,232, 37, 98, 39,234,135, 96, 22,231,105, +125,207,178,179,100, 26,186,224,144, 74,177,172, 42,142,235,154,199,143,150,184,199, 3,198,117,187,133,122, 27, 59,102,219,197, + 95,251, 54, 50,144,235, 77, 76,105,170, 54,132,186,102,234, 36, 47, 29,236,176,236, 59,164,209,116, 3, 19,183,147, 18,229, 60, +107, 33,216, 75, 18,238,160, 56,173,106,132,144, 96, 61,159, 31, 61,196, 5, 31,187,246,174,141, 20, 55,250, 72,192, 99,232, 66, +251,161,163, 30,231,244,141,101, 84,150,108,218, 22, 51,248, 64,219,206, 34,108,244, 75,211,181,195,213,223,199,199,236,134,240, +151, 95, 46,236,154,232,209, 87,102,240,245, 63, 17,176, 13,100, 62, 37,163, 16,166,107,227,191,119, 62, 42,235,127, 73, 21,250, +180,168,135, 0,210, 83,106, 77, 39, 33, 23, 34, 54, 51, 65, 48,214,154, 62,120, 52,130, 99,239,216, 19,134, 76, 56, 30, 45, 55, + 60,120,184,102,217, 68, 15,250,241,221,251,124,186, 88,114,235,254, 57, 63,124,231,231,112,239,193,240,216,186, 65,252, 38,191, + 4,191,249, 50,227,241, 75, 93,250,147,130,254, 36,208,135,129, 91,224, 35, 24,230, 73, 0,243,237,143, 62, 37, 45,115, 94,126, +237, 69,164, 22, 84, 85,220,177, 23,163, 17,222,247, 52, 93, 77, 62,158, 34,125,236,198, 43,219,209,214, 61, 89, 97,168, 90,135, +181,129,118,128, 5,101, 70, 12,137,107,146,204, 68,174,123,162,163,167, 61, 75, 35, 36,168, 72, 12,137,145, 20,153, 97, 50, 74, +217,153,229,236,143,114,116,102, 72, 83,205,238,180,100, 50,157,144,148, 99,164, 77, 41,179, 73, 60,104,204, 38,104,149, 82,148, + 37,229,100,130,239, 28,163, 73,201,165, 43,151,120,225,185,171,188,244,194, 33,175, 94,155,113,125,191,228,112,148,178,172, 60, + 39,149, 37, 83,129,159,124,252, 41, 31,125,122,139, 11,135,115,186, 16,109, 74, 1,232,156,197, 89,199,170,238, 56, 91,214, 44, + 87, 53,155,117,195,114, 81,177,218, 52,224, 3, 51,173, 57, 93,183,172,214, 13,203,245, 25,206, 58,164,210,104, 17,184,119,182, +161,183,158,113,110,112,206,243,112,213,209,245, 45,207, 31, 92,224,130,134,254,249,151, 40,210,132,189, 11,115,254,206,223,125, +139,127,253, 71,127,129,198,146,164,138, 59,103, 43,108, 82, 50,187, 48,231,229,215,111,144, 9,207,189,229,130, 43,187, 5,147, +170,230,181, 23,110,160,100,244,212,103, 70,113, 84,181,244,125,141,245,129,102,179,193,246, 45,119, 31, 63,224,139,119, 63, 34, +236,205,249,189,107, 47,242,163,197, 9,250,236, 20,223, 91,174,204,199,204,243, 49,187,229, 4,159, 21,140,138,146, 81,146,112, +209, 7, 14,147,132, 10,207, 23, 65, 18,140,166,114, 1,202,156, 44, 79,163,151,118, 50, 97, 45, 5, 39,227,156, 83,239, 57,107, + 29,105,158,208, 33,216,108, 58, 92, 31,181, 19,107,101,184,231, 2, 43,157,176,242,154, 66, 27,124,219,241,143, 47,141,184,190, + 63,166,212,112,115,107,216, 14,221,210, 75,218,177, 40, 75, 84, 97, 8,153,161, 40,115,108, 63,192,150,140,140,141, 67,223, 16, +218,134,149,183, 8, 23,152, 75, 73, 39, 60, 34, 79, 40,166, 41,218, 24, 18,173, 24, 21, 69,212,120, 36, 57,141,117, 44,148,100, +101, 18,198, 38,176, 78, 52, 70, 74,178, 84,115, 94, 91, 54,181, 5, 37,249, 71, 23, 10,254,233,197, 57,191, 59,223,225,107,229, +156,153,210,156,166, 57,157, 16, 92, 8,129, 52,120,114,111, 89,119, 29,101,145,177,117,142,253,162,160, 30,205,209, 7,215,217, +185,124,133,253,113,206, 94, 86, 32,146,168, 50,223,223,217,231,242,100,204,168,148, 44, 87, 21,186,181,232, 50,198,170,254,222, +245, 23,248,173,253, 75, 76,138, 57,171,212,113,212, 6,100,211, 33, 91, 79,220,172, 63, 41,236, 79, 70,111,191,104,193,123, 86, +216, 45,222,232,167,183, 51,175, 98,172,177, 87, 34,170,253,113,132,243, 53,225,248,132,118,181,229,222,189, 5,247,206,150,152, +174, 70, 88,139,235, 58,148,247,140,145, 28,152,132, 60, 31,163,179, 18, 97, 36, 66, 39,248,182, 39,216, 46,194,110,250, 45, 15, +251, 13, 27,192, 72, 65, 47, 20,185,140,174,158, 23,178, 28, 21, 60, 95,203, 70, 84,222,179,151,143,208, 58,197,152,132, 84,103, + 72, 19, 15,241,133,206,232,125,199, 44, 25, 97, 67, 20,252,153, 36,165, 39,144,106, 69, 34, 4, 87,139, 9,215,210, 18, 7, 8, +101,112,193,161,148, 96,150,166, 44,173,101, 65,207,137,139,148,186,204, 40,100,240,104,169,209, 33,234, 94, 52, 2,149,168, 56, +169, 19, 10,239, 45,123, 58, 37,115, 49,181, 45,174, 81, 4,125,223,113,220,213, 60,234, 59,142,125,207,178,110,169,188,163,222, + 84,120,231, 72,136,233,141,115, 37, 41, 8, 44, 3, 36, 14,238,123,193,124,144,250, 87, 66, 48, 29,178, 46,238, 5,207,207, 26, +203,137,136,119,227,141,128, 70, 8, 86, 8,182, 14,102, 25, 36, 8,156,150,124,215, 40,114, 21, 72,165, 34,151, 10, 37, 97,100, + 12, 94,106, 50,157, 18,148,198, 73,195, 86, 42, 92, 16,212,206,253,109, 69,221, 67, 49,137,197, 41, 75,145,105, 74,158,153,184, +115,126,194,126,223,214,224, 61,139,147, 21,167,189,231,164,173, 88,220, 63,166, 62, 90,195,253,251, 49,106,175,105,127, 45,113, + 78,124,197, 8,122,108, 20, 78, 25,198,121,202,102,216, 73, 97, 20,161,237,177, 70, 83, 40,205,143,219, 22, 41, 29,141, 84, 52, +125, 28,127, 58, 31,227, 63,159,250,192, 87,213,160, 54, 31, 32, 51,142, 24,161,234, 93, 76, 72,155, 79,232,186, 14,169, 4, 14, +137, 36,224,196,192, 77,223,110, 99,145, 14,196, 68,165, 39,187,102,220,175, 22,117, 33,162, 32, 47, 49, 81, 5,255, 36,110,240, + 75, 4,168,104,155, 27,168,119, 74, 12,135, 26,251,171,150,143,167,248,215,104,191, 16, 66,209,136, 64, 75,160, 28,138,236,142, +138,202, 78,124,160, 35, 48, 21, 9,210, 58, 54,161, 39,172,182,209,166,101, 27, 86,189,229,168, 90,194,249, 42, 30,168,156, 69, + 72,251,139,223,199,126,169,176,243,165, 46,253, 73, 97, 87, 67, 65,127, 26, 43,203, 51, 55,192, 19,201,128,132,207,222,255,152, +253, 75, 23,185,252,220, 37,130,144,241,166, 93,109, 98,206,177,119,156, 30, 69,246,248,225,165,125,210,196, 32,165, 98,127,146, +179,173, 45,219,206, 98, 18, 29,173, 98,131,242, 88,105, 25,119,234,131, 30, 40, 51, 10, 41,100, 28, 83,132, 24, 96, 49, 42, 82, +178, 52, 33,211,138,162,212,164, 3,163,160, 72, 37, 89, 98, 40,138, 4,167, 3,206, 90,140, 82,228,217,152,209,180, 36,201, 12, + 74,105,188,179,204,103, 35, 46, 94,153,114,105,167,224,202, 44, 35, 79, 52,141,245,124,113,222,242,120,189,225,232,248, 17,111, +191,251, 14,159,223,249,152,119,111,221,230,133, 27,215,153,143, 51,188,139, 81,172, 77,211, 83, 55, 29, 77,213,179, 89, 54, 52, +155,134,237,186,162,173,163,117,241,112, 82,208,184,192, 23,199,231,204,247,247, 64, 26,206, 54, 75,214,237,134, 68, 27,146, 52, +208, 59,143, 11, 1,105, 36,153,150,172, 58,203,221,229, 25,214, 89,142, 63,187,197,139,223,120,157, 43, 70, 49,145,138,249,213, + 43,172, 62,191,137,147, 49, 69,110,181, 56,229,185,195,203,204,118, 70, 92,127,245, 6,133, 72,120,251,147,155, 76, 83,193,119, + 94,123, 61,142, 97,133,224,104,211,114,210,247,156,110, 54,252,235,144,113,195, 85, 60, 88,157,241,227,179, 83,154, 71,167,240, +224, 1,223,159,103,124,162, 10, 30, 39,154,229,135, 15,120,245,234, 30, 89, 94,146,103, 5,118,160, 96,181, 82,145, 9, 65,112, +158, 62,201,184,217,244,164,211,130,109, 27,185, 1, 73,162,152,206, 74,156, 13, 44,156,228,124,219,114,182,110,232,170,138,243, +243, 45,235, 85, 67,150, 72,232, 58, 10, 9,171,198, 67,154,210, 39, 26, 53,206, 89, 39,134,165,147,172,130,229, 18,240,251,103, +150, 59,125, 20,118,190,216,175,113,218,112, 65, 9,190, 57,155, 96,140,231,226,184,164, 44, 37,139,173, 7, 23, 16,125,253,165, +123,137,227,204,118,124,216, 86,188, 93,247,172,164, 67,105, 67,105, 34,223, 94, 5, 71,240, 61,155,174,230,147,174,226,166,132, +165,237, 81, 54,130,100,214,189,163,233,123,238,156,117, 32, 5,151, 71,134,223, 27,165,252,214,108,198, 56,203, 81,206,210,120, +203,231,213,134,190,222,162,155,138,108, 16,147,101, 66,198, 12, 4,163,217, 72, 77,153,164,152,233, 1, 7,187, 51,198, 69,206, +220, 40, 10, 41,240,214, 49, 73, 82,102,243,125,158,219,191,198,155,151, 46,243,202,254, 28,187, 62,231, 82,154,243,189,157,125, + 46,236,204,240,198,112,167, 17, 60, 76, 4, 74, 39,200, 52, 65, 56, 27,239,109,222, 35,126, 81, 20,243, 11, 35,248,167,157,123, +128,160, 36, 94, 69,175,187,215, 50, 22,125, 69,140,254,236,135,228,189,182, 3, 2, 77,215,113,123,221,177,170,107,142,234,138, + 16, 4,133, 22, 28, 74,193, 40, 27, 35,149,142, 94,116,231, 8, 93, 71,223, 84, 84,245,146,181,171, 88,248,158,115, 28, 54, 8, + 74,165,216,120,199,133, 36,103,233, 29,175,166, 37, 78,192, 78,154,227, 66,160, 76, 75,156,148, 36, 67,167, 29,144, 32, 60, 18, + 69,235, 45,141,239, 81, 82,196,164, 70,165,240, 56,180, 48, 28,100, 25, 59,186,196, 17,133,144,133,214, 52, 46,242, 12,206,187, +134, 47,250,154, 51, 27, 83, 21,147,224, 49, 62,166, 45,106, 17, 48, 2,204,144,224,102,131,167, 11,158,214,121, 18,219, 49,147, +138, 4, 73,211, 54, 88,107,121,216,108,185,217,172, 57, 13,150,133,235, 88,247,142,123,103, 43,124,219,195,166,162,109, 59,138, + 32,201,148,103, 97,195, 83,109,208, 38, 4, 30,181,158,187,210, 83,247,158,255,175,237,249,172,182, 44, 67,224,175,154,104,239, +189,221,131, 87,129,147, 14, 86, 34, 82, 64,141, 86,100, 18,180, 8,212, 34,112, 73, 73, 10, 33, 41,132, 64, 43,129, 64,146,104, +131, 73, 50,122,101, 56, 69, 80, 17,232,130,199,255, 70,234,119,229, 33,207,193, 36,140,203,156, 30, 71,110, 98,238,186,171,251, + 88,176, 23,143,225,232, 4, 78,142, 8, 15,143, 34,175,184,218,254,198,108,147, 95, 46,236,167,206,243,242,100,140,205, 20, 90, + 64, 19, 4, 88,135, 50,154,166,107, 56, 87,138, 76, 9, 30,183,158, 83, 47,162, 2, 52,132, 33, 28, 96, 80,118,111, 99,188, 94, +204, 74,183,207,226, 98,245,144, 25, 63, 60, 7,180, 38,248, 64,112, 46, 30, 8,194,128,114, 53, 67,215,237,109,204,154,175,171, +248, 90, 72,241,235, 19,215,166,243,152, 57,175, 99, 44,171,176,195,215,139, 33,226,181,233,227, 24,223,251,248,152, 93,247,213, +232,245, 39, 2, 60,192, 89, 69,103, 5, 19, 3, 99, 33, 81, 74, 81, 57,135,247,158, 14, 24, 11,112,196, 19,232,105,227,152,164, +208, 58, 23,247,248,121, 49,188,163, 29,244, 53,162,111,159,165,185, 61,117, 53,248, 97,189, 96,159,141,229,191,124, 59, 8,225, + 41,244, 98,240,202, 12,135, 27,255,139,157, 62,240,222,143,127,198,181, 23, 95,226,226,181,125,148,138,227,240,190,173, 9,193, + 19,164,167,235, 90,206, 78, 79, 89,158,173, 57, 61, 57,229,248,180,102,211, 52, 44,207, 42,130,145,212,173, 99, 85,117,228,169, +137, 36, 37, 25,187,118, 33, 32, 49,146,220, 72, 50, 99, 40, 51,131, 82,138, 44,215,228,137, 65,232,103,137,123,189, 13,120,160, +106,226,227,156,142, 50, 46, 95,156, 82, 76, 50,246,246, 51,202,169, 97,190, 83,176,183, 87, 50,219, 31,243,198,245,125, 14,167, + 25, 69,170, 56, 95, 53,188,247,197, 17,127,241,238,199,124,246,217,103, 60,184,247, 57,239,126,248, 1,239,220,185,203, 7, 71, +103,220, 91,214,204,172,231,245, 87,111,144,104,133,146,130,214, 58,234,186,139, 74,233,100, 80,231, 35, 48,153,224,187, 59, 99, +174,239, 78, 88, 54, 29,247,207,150, 28,238,205,152,204, 10,148,202, 73,188,225,209,250,148, 68, 42,186,224,176, 33, 48,207, 51, +202, 84,115, 56, 29,147,106,137, 87,130,169,239,121,225,198, 75,104, 41,105,140,164,219,159,179,253,226,140,176, 61,167,200, 34, +147,253,179,207,110,114,249,197, 23, 80,121,202,141,235,135, 76, 68,198,163,197,130, 63,249,252, 30,223,184,122, 13, 39,224, 94, +219,241,227,247,255,138,127,249,254, 71,156,187, 45,159,156, 63,230,246,241,130,243, 91,199,132,205,146,208,215,252,248,206, 61, +170,197,121,212,126, 92, 61,224,179,207,239,241,181, 43, 87,232, 16,104,147, 32,165, 70, 73, 67, 45, 37,231,193,115,146, 40,130, + 49,180, 77, 71,235, 4,181,243,148,133,142, 14,141,174,103,187, 56,161, 91,109,120,184, 94,163,172,165,173, 43, 18, 44, 73, 83, + 83, 12,139,148,121,145,144, 24, 9,121, 78, 39, 36,231,121,202,120,148,241, 96, 27,248,201, 73,205,209, 98,203, 73,103,121,113, +123,206,166,111,185,150, 25,178, 44, 99,229,122,174,103, 5,149,235,249,121, 19,248,214,229, 41, 15,151, 77,212,183, 40,255, 21, +250, 23,199,163,186,225,167,235,154, 73,237,168,154,158,181, 11,220,238, 90,254,109, 93,243,158,235,120,108, 27,250,182,165, 58, + 89,178, 17, 48, 71, 82,213, 45,137,132,177,145,228, 26,126,123,146,179, 39, 32,241,176,174,215,252,116,121,198, 95,110,215,248, +110,131,169, 43,164,237, 72, 17,204,180,194,202,152,123,208,218,158,198,164,204, 38,187,204,178,130, 50, 79, 81,157,195,244,142, +177, 73, 24, 39, 49,222,118,119, 50, 66, 39, 57,187,187,251,188,178,127,141,203, 50, 33, 23,208, 55, 29,119,234,138, 7,189,227, + 76, 72,212, 56, 71,230, 10,145,151,136, 52, 71, 8, 29, 27,135,158, 47, 37,221,127,133,120,206,251,104, 15,244,224,181,124, 6, +219, 81,224,219,246, 89,135,159, 38,241,158, 85, 78,162,226,123,119,206,114,235,216,236,206, 41, 85,180, 90,153,106, 73, 46, 20, +216, 30,231, 2,206,246,212,245,146,141,173,120,208,174,121,224,123,194,112, 24,239,173,101,100, 82, 30,246, 45, 87,179,156,218, +121,118,147, 12, 33, 4,101, 54,198,227, 24, 23, 99, 54,189,197, 38, 6,223,119, 36, 73,130,247,129, 62, 6,145,178,234, 59,156, + 20,108,156,165, 37,250,243,149, 80,132, 0, 83,157, 80, 26,141,247,144,105,195,178,169,185, 93,175,184,213,212,172,172,165,119, + 22, 33,160,243, 29,184, 30,231,122,164, 23,212,125, 77,215,182,113,109,208,117,212,237, 10,217, 55, 44,251,142,166,171, 57,233, + 27,150, 93,197,173,102,197, 99,103,121,212,110, 57,247,150,202, 5, 78,215, 91,194,106, 75,240,241, 48,153, 36,134, 32, 4,153, + 20, 20, 74,176,112, 30,235, 97, 27, 96,225, 5,183,122,207,194, 11, 30,118, 61,183, 58, 71,135,228,220, 7,122, 33,216,122, 73, + 31, 2, 4, 65, 72, 37,170,243,148, 6,218, 32, 81, 42,176, 35,227,253,246,192,104,206, 58,143,146,195, 24, 31,193, 93, 4,149, +214,108,173,195, 42,205,169,237,126,131,162, 46,135,113,241,124,142, 49, 18, 53,156, 66,170,174, 31, 84,225, 50,166,183, 53,221, + 47,118,124, 38, 25,198,209, 67,241,252, 13, 18,221,158, 22,119,163,185, 27, 20,151,138, 4,239,162,154, 93, 40,205,178,169,241, + 58, 3,231,248,211,109, 75,162, 52,219,174,123, 54,178,126, 18, 74, 51, 96, 72, 89,159, 15,227,227,225, 77, 46,205,112,189, 91, +240, 38, 78, 32, 82, 3,189, 67, 9,143, 25,242,208,131,148, 76,132,164,109, 26,216, 14, 65, 44, 97, 16,136,245, 3, 0,225, 87, +242,209,135, 56,131, 44,133, 34, 69,108,187, 24, 30,131,143,175,159, 34,230, 78, 53, 45, 34,196,132, 34,209,118,113, 63,246, 85, +175,131,247,113,220,175, 61, 16,149,171,137,144,180,222,145, 72,193, 8,141, 23,209,226,118,223, 91, 82, 33,120,209, 72,250,224, + 89, 63, 61,180, 71,127,232,244, 96,143, 23,222,120, 13,117,225, 2,219,109, 15,161,128, 55,223,226,183,127,231, 63,227,158,115, +136,211,123, 3,246, 54,137,107,132,108, 54,144,244,220,211, 20,165, 39, 12,249,120, 24,248,245,232,220,119,254,242,199,188,241, +157,111,177,115, 56,197, 24,141, 48, 17, 4,227,173,199,139, 16,223, 68,244,180,182, 37,132,192, 98,177,160, 40, 74, 50,147,210, +182, 22,147, 74,242, 68, 83,166, 6, 59, 88,251,139, 68, 33,130, 36, 77, 34, 38,209, 7,143,210, 2, 51,172, 16,210, 65, 89, 47, +164, 32,213,160,165, 36, 85,138,249, 40,225,218,126,201,238,184, 32,203, 19,202,145, 65, 75,197,254, 52, 99, 50, 74,160,235, 89, +215, 27, 30,174, 54,252,252,243, 35,126,244,206,187,124,252,241,251,252,240,131,119,249,232,209,125,126,254,248, 49, 31,221, 62, +230,252,108, 75, 95, 59, 72, 21,143,215, 75, 94,191,126,131, 75,187, 99, 18, 45,233, 7, 63,233,141,189, 17,111, 28, 76, 48,101, +138,212,146,231, 74,195,235,243, 49, 58, 4, 62,126,184,224,180,110,184,118, 48,101, 90,102, 60, 56, 62,231,202,254, 30,105, 82, + 98,148,224,218,197, 43,236,230, 35,178, 52, 33, 77, 36,243, 52, 99,150,151, 92,221,221,103, 50, 26,241,232,206,125,194,206, 5, +238,120,135,208,146, 27,223,122,137,229,199,247, 16,182,166, 76, 19,188,119,124,254,241, 45,246, 47, 94, 98,220,116,220,184,178, +199,121, 29,200,131,229,224,149,235,180,121,224,255,250,131,255,147,211,236,144,147,106,133,255,236, 1, 77,223, 81,183, 45,225, +100, 67,168,150,208,219,168,228,237, 35, 62,149,182,131, 43, 23,185,174, 52, 90, 27,180, 82,244, 2,130,183, 56, 9, 78,104,214, + 29,100,153,161,239,123, 84,179, 5, 27,120,116,182, 65,216,142,237,249, 18, 87,173,113,237, 22,221,181,156,184,158, 77, 8, 20, +125,203, 78,128,185,235, 25, 19,152,107,195,104,148,162,149, 98, 17,162, 80,236,226,200,112, 48, 47,208, 38, 69,105,201,158,131, +102,189,228,249,105,206,231,235, 45, 85, 83, 51, 78, 19, 54, 78, 18,148,224,181, 81,202,191, 93,118, 4, 45,226,248,157, 4,136, +150, 72,190,228, 51,143,133,205,242,254,166,229,253,206,178,178, 45, 15,131,231, 78,221,179,168, 58,110,159,158,243,201,249,154, + 99, 47, 73, 15,167, 28,142,115,122,231, 56,119,150, 92, 10, 50,161, 48,157,101,209, 54,252,236,228,140, 63,124,112,202, 63,123, +188,226, 81,235,223,218,122,142, 0, 0, 32, 0, 73, 68, 65, 84, 40,250,154,210, 58,250,224, 56, 52,112,142, 98, 36, 35,244,164, + 82,154,115,192,168, 17,187,147, 9,174,233,145,137,162,237, 44,157,237,153,142, 50,242, 84,147, 35,152,101, 9,210, 72,228, 40, +103, 60,223,197, 8,131,237,122,100,215,161,113,164, 66,178, 22, 10,161, 21, 34, 53,200, 81, 10,227, 2,161, 82,152,140, 96, 60, + 66,204,102, 48, 29, 62, 85, 2, 98,136, 58, 30, 92, 65,193, 71,239, 63,206,199,146,233, 6, 63,126,154, 12, 22,194, 36,162,116, + 83,141,184,122, 41, 94, 15, 55,174,210,212, 91,252,120,143,170, 93, 34,203, 9,105,187,161, 35, 32, 92,207,233,246,148,135,253, +154,155,205, 57,183,250,134, 58, 4,114,165, 56,235,123, 10,163,169, 67, 96, 71,106,110, 91,203, 11,105, 70,231, 45,123, 3, 86, + 91, 11,201,253,182, 65,100, 25,155,182, 67,165, 41,174,235,105, 67, 36,190, 45, 92, 75,175, 36, 39, 93,131, 11,130, 30, 75,227, + 44,214,119, 20, 90, 51, 18,138, 92,106,130,117,212,182,227,110,189,230,131,237,130,135,117,197,195,166, 34,177, 29,139,205, 6, +219,119,136,182, 66,186,150,163,213,130,174, 94,115, 94,109,184,249,248,152,227,205, 25,155,243, 21,141,175,121, 92,109,184,181, + 93,241,160,221,242, 97,181,226,182,183, 28,185,150,165,117,108,123, 79,223,121,172,137, 19,226, 32,227,244,163, 19,224, 19,133, +245,112,226, 35,222,213,138,161,190,200,232, 12, 32, 12, 26,181,109, 19, 67,139, 92,120,182, 10, 85, 17, 40,132,133, 30, 1, 22, +198, 38,208,183, 16, 8,236,132,168, 35, 19,193,211, 58,203, 61,239,168, 93,207,210,104, 78,125,160, 22,112,218,247, 52,184,223, +160,168, 59, 23,109, 77,121, 17,115,109,125,244, 20, 71, 16,118, 23,137,105,155,234, 23,153,230,105, 18, 85,230, 98,160,237, 60, + 21,173,254,134, 81,173,206, 17, 18,201, 35,239,201, 18, 77,145,106,238,172, 27,110, 20, 57,143,154,154,207,164, 71,120,197,137, +227, 89, 7,110,135,168, 83,231,159,112, 19,227,239,187, 38,118,221,246, 73, 94,252, 80,241,236, 96, 61,211, 42,142,124,134,238, + 2, 37, 25, 11,201,170,237, 73,122, 27,215,198, 77, 19,199,248, 16,159,167,245, 95,253, 58, 57, 96, 92,198, 40, 65, 99,158, 61, +134, 68, 33,150,213,179, 9, 65,219,198,215,198, 61, 27,193,127,101, 97,103,232,216, 77, 44, 84, 78,122,118,134, 28,225, 6,203, + 4, 73, 47, 34,125,110, 46, 37, 39,206, 81, 15, 63,124,242, 98,112, 43,104,190,121,245, 57, 94,190,112,157,111,191,246, 53, 66, + 6, 15,215,129,255,234,119,255, 35,254,139,255,224, 5,222,250,230,215,121, 72,224,248,163,219,209, 37,144, 20, 17,154, 19, 52, + 40, 59,164,222,133,103,241,181,246,215, 20,244, 98, 20, 41,117,192, 95,255,155,191,224,205,183,190,199,222,254,152, 36, 75,201, +199, 17, 29, 60,158,206, 41,166, 35,242,162,164, 44,198,164, 69,134, 78, 52,245,118,201, 98,177,224,236,108,129, 16,154,245,214, + 97,117, 20,157, 44,219, 62, 2, 54,132,136,161, 6, 66, 80,217,104,119, 19, 16,177,172, 79, 70,139, 2, 50, 25,119,241,137,138, +113,168,121, 98, 8, 90, 83, 26, 67,145,166,236, 76,114,114,105,216, 52,150, 85, 93,211,214,150,109,219,113,126,178,230,241,163, + 71,124,248,240, 17,119,238,158, 83,173, 27, 90, 27, 96,107, 33, 85, 20,251, 25, 47,237, 77,152, 22, 6,187,172,217, 59,220, 35, + 85,154,210, 36, 92,158,229,188,185, 63,229,202,238,136,157, 44,193,139,192,170,141,252,231, 63,187,121,159,159,222,250, 28,215, + 89, 46, 30,238,177,169, 90, 30,159, 46, 33, 75,217,187,176,135, 16, 9,194,121, 52, 10,135,136,202,230,196, 48,206, 11,102,211, + 29,116, 94, 98,130,103,251,197,103,220,201,118, 41, 52, 72,173,217,236,236,113,252,232, 4,217, 86,100, 74,147, 39,154,234,241, +130, 23,111, 92,198,143, 75, 70,215, 15,185, 56,155,243,220,133, 9,255,243,255,250,191,243,216,106,110, 62,188,135,127,239,179, +216, 97,244, 3, 40, 41,209, 48,140, 94,201,146,120,205,118, 33,178,240, 23, 43, 62, 29,101,252,252,236,148,185,140,176,155,182, + 9, 72, 36,219,222,227,189,163, 58, 95, 83,120,135,105, 26, 54,213,130,166,233,121,176, 92,243,117,111,249,142,250,255,185,123, +179, 88, 79,211,252,190,235,243,108,239,246,223,207, 82,167,214,174,234,165,122,186,123,118,207, 52,198,177,227, 69, 38,118, 98, + 71,193,114, 34, 43, 66, 17, 4, 9, 41, 8, 36,110,184,135, 11, 64,202, 69, 16, 8, 16, 8, 4,145,130,130,132, 4,138, 9,177, + 49,182,135,140,199,158,173,103,198, 61, 61,189,119, 85, 87, 87, 87,215,114,234,236,255,253,221,158,133,139,231, 61,117,170,151, +217,130,114, 97,254,210, 95, 71,213,234,243,255,191,231,125,158,247,249,109,223,197,176,221,172,249, 95, 95,125,135,105,162,152, +183, 53,173, 15,156,107, 23,236, 8,120, 6,216,202,114,130,137,243,113,169, 20,189,194,240, 92, 63,163,144, 48,201, 20,152,132, + 69,229, 24, 38, 57,199,171,154, 13, 45, 24, 38, 18,231, 26,188, 8,224, 21, 90, 75, 46,171,192, 93, 27, 58,133,200, 64,168, 98, +135, 41, 88,255,177,118,116,144,158,202,183,220,169, 43,110,156, 44,120,255, 96,197,157,195, 25, 15,103, 51, 78, 86, 11, 14,147, +148,187,189, 28,231, 5,223,159,215, 44,124,212, 42,210, 26, 94, 94, 52,124,103, 85,243,207,239, 30,243,206, 73, 13, 58, 26,207, + 12, 7, 25, 57,130, 84, 43,246,130,194, 39, 9, 7,193, 51,147,154, 67,169,144, 82, 83,122,199, 80, 37, 4, 99,152,151, 53,199, +182,197,118, 92,231, 84, 70,153,217, 44,209,228,157,219,159,151,130,180,200,217,233, 13,120, 34, 31,115, 25, 67, 17, 2, 9,146, +125,239, 58, 49,154, 72, 17, 37,213, 29, 86,168,207,197,115, 19,126,229,210, 57,126,245,137,203, 60,113,174,207, 29,169,105,181, + 1, 17, 25, 7, 4, 79,176, 54, 86,153,222, 71,113,152,212,196,162,103,178, 1, 27, 35,206,237,108,178,218,222,138,103,231, 96, +192, 24,139,239,111,208,184, 10,219,223,224,126, 61,227,158, 73,121,111,190,207, 93,225,184, 85,206,120,208,214,188,189, 94, 16, +108,205, 72, 41,246,109,205,213, 52,227,196, 58, 82, 33,216,199,243,108, 90,240, 70, 83,115, 53,201, 57,112, 22, 33, 4,239,218, +150,190, 73,249, 65, 85, 34,180,228,164,169,104,164,162,242, 45, 75,160, 68,112,220,148, 44,189,167,148,138,149,107,105, 90,203, +220,182,164, 66,162,130,227,214,226,132, 58,180,220, 94,207,184,177,156,242,160,109, 56,110, 43,234,170,225,100,182,162, 89,174, + 88,175, 74,102,211, 5,135,211, 25,139,195, 37, 71,251,199,204,142,166, 52,135, 7,212,251, 83, 22, 71, 83,118,247,167,220,245, +154, 70,171, 24, 36,149,102,213,182,148, 77, 32, 72, 73, 89, 91, 86,222,178,180,254,145, 57,149,232,101,120, 33,105, 90, 79,109, + 36,161,245, 56, 29,133,130, 30,157,155, 42,137,138,108, 74, 64, 17,129,154,103, 50,129,157, 69,169,232, 92,234,188,165, 9,158, + 66,195,134,130, 99,231,232, 35,152,150, 13, 43,111,249,147, 69,133,177,142, 3, 36,139,208,130,144,204,125, 4,138,214,136,159, +144,210,230, 92,156,201,230, 5, 33,216, 24, 60,155, 58,182, 60,151,107, 88, 47, 62, 28,176, 83,211, 9,183,116,182, 61,167, 22, +166, 63,133,255,122, 0,146, 34,103, 90, 55,184, 32, 73,240,124,253,112, 69, 98, 4,109,235,216,175,125, 87, 61,119,124,115,173, + 98,183, 32, 87,176,174, 35, 31,220,159,122,134,119,215,108, 84,231, 59,222,137,195,184, 22, 76,246,200, 65, 45,116, 66,179,141, +173, 9,222,227, 84,128,217,178,163,165,117, 98, 54,237,143, 80,151, 75,101,228,242,107, 29,221,136,124,180,116, 21, 77,211,113, +216, 29,212, 54,154,222,167, 18, 33, 76, 76, 58, 78,173,246,126,152,240, 79,231,143,254,172, 78, 89,227,200,145, 44,136,129, 77, + 7, 40,164,228,158,181, 92,209,154, 61,101,104,179, 33,161, 95,116, 9,129,224,194,198,132,107,151,159,140,200,209,124,192, 43, +187, 31,240,111,252,234,231,249,212,149, 9,227, 66,179,191, 47,120,253,165,239,117,237,247, 78,156,199,119,162, 61,117,123,214, +129,249,104, 64, 47,178,120,255,174, 63, 15,131, 49,108, 92,128,227, 35,192,243,237,175,252, 41,159,251, 75, 63,203,120, 84,224, +136,244,143,114,189, 98,117, 60,195,121, 71,219, 52, 81,224,195, 89,234,186,162, 63, 26,146,164, 9,179,147, 25, 7, 7,187,104, +211, 35, 0, 59,147, 30,163, 92,227, 36,156,148, 13,166,211, 87, 87, 2,124,136, 92,119, 33, 5,153,142, 85,158,150, 26, 41, 85, +244,146, 14, 2,143, 68, 40, 25, 15,203, 68, 70,189,248,202,177,110,106,172,107, 81, 26,166,139,134,245,170,230,251,183,222,224, +157,189,121,228,154, 42, 21,147,209, 76, 49,218,200,184,216, 47,216,232,103,108,247,251,212,190,197,137, 12, 47,213, 35,145,190, + 69, 21,165,108,119, 79, 86,188,124,251, 33,239,221,127,200,205, 7,123,220,216,123,128,117,142, 98, 48,100,114,126,147,219,247, +246, 89,206, 23,148,229, 42,186,212,245, 50,174, 93,187,196,249,139, 27,244,123, 3,180,202,176,173, 37,237, 15, 41,155, 53,182, +110, 16, 90,145, 21, 5,217,221, 91,204, 70, 91,140,100,224,122, 63,227,249,103,159,102,125, 82, 17,234, 57,121, 86,144, 38, 25, +199,211, 22,181,179,201, 94,213,240,236,229, 77,254,163,255,244,191,224,181,111,191,193,244,189,251,132,249, 52, 74, 89,166,130, +176,170, 9, 78, 17,146,132,225,102,143,122,101, 65,248,200,248,176,113, 92,116,249,242, 54,139, 96, 97,235, 9,126, 69, 84, 4, +149, 50,111, 26,172, 11,220, 43, 75,214,117, 77,174, 53,214,181, 80,206,168,235,154,253,197,140,145,146,252,198,120,194, 53,101, +216, 80,134,230,226,121,158,154,108,112,239,248,136, 70, 6,174,226,185, 28, 2, 67,109, 24,248, 22,147,100,184, 16,152,154,132, + 11,189,132,169,139,136,248, 74, 8,122, 50,176,118, 62,170, 34,162,104, 76,142,105, 3, 43, 27,169,167,155,169,225,104,221,146, +230, 41, 3, 41,217,119, 46,210,223,180, 36, 52, 14,178,156, 80,175, 63,196,221,126, 92, 51,221, 75,112,218,199,119, 7,100,242, +117,133,175, 3, 7,203,150, 48, 91,196,115, 57, 81, 44,140,161,173, 28,117, 89, 35,234,238,124,201, 2, 33,207, 88,104,195,168, +208,232,188, 0, 99,168,165,198,106,197, 2,193, 80, 18, 21,191, 58,252,236,222,122,201,126,219,112,100, 75,214, 30, 22,109, 75, + 79, 42,114, 21,249,236,198,131,177,142,108,144,115,113,107,200,214,120,192,168, 87, 48, 50, 25, 67,175,201,165,198, 90,203,145, + 16,177,163, 18, 58,157,116, 35,121,170, 63,224,111, 95,186,194, 95,185,116,149,141,172, 71, 45, 13, 7,161,229, 80,201,248,188, +230, 69, 84,214, 44, 6, 49,208,164, 5,194,228,209, 69,115, 99, 19,206,141, 33,203,248,204,230, 6,207,231,154,139,249,144,237, + 36,231,124,127,204,115, 9,156,235, 15,112, 85,197, 42, 29,178, 91,214,232, 65,159, 89, 83, 82, 74,201,253,122,197, 40, 53,145, + 2, 38,224,185,164,224,157,182,225, 66,154, 49,199,115,197,100,188,222,212, 60,159,245,121,205, 86,140, 84,194, 59, 33,112,222, + 24, 94,105, 74, 46, 36, 57,175,181, 13,107, 9, 55,154,146,131,110,170,182, 86,154,123,214,226,140, 33, 56,139, 82, 6,149, 36, +236,151,107,148,183,188, 52,159,241,126,189,226,219,199, 71,124,251,232,152, 91, 85,195,237,163, 41,179,217,138,102,177, 34, 44, + 86,132,178, 34, 44,231,177, 72,105, 60,193,183,113, 39,172,235, 24, 87, 37, 4,105,163, 86,100, 11,195, 73, 63, 22, 94, 33, 48, +115, 1,235, 60, 7,109, 75, 42, 37,211,224,112,182,165,105, 44, 20, 73, 28, 47,122, 98,140, 8, 34,198, 1,219,129,141,148,124, +100, 28, 38,186, 14,103, 32,196,160,190, 88,158, 41,159, 74, 16,170, 51,175, 9,145,194,188,106, 29,139,210, 97,240,220,154,213, +220, 44, 27,222, 94,214, 76,107,203,205,117,203,173,170,137,250,154, 34,142, 95, 87,193, 82,150,229, 79, 24,212, 79, 3,187,239, +244,209,203,170,227,155,183, 17,185, 94, 86, 31, 49, 0,209,143, 80,223,248, 83,190,120,243,211,153,136, 56, 71,211,180, 88, 89, +112, 56, 95,115,216, 74, 84, 2,211,101,195,244, 84,183,187,141,178,149,168,238,100,149, 34, 2,243,210, 46, 19,242, 46,210,217, + 48,157,154,154,143,227, 0, 97,227, 99,157,100,241,161, 72, 35,208, 44, 40,213,101,176, 93,101,186,174,187,207,233,192, 99,117, +243,163, 19,147,214, 66,154, 68,105,195, 83,254,109,219, 62,194,151,161, 4,233, 86,159,191,247, 11,159,229, 11, 87,118,248,204, +213, 29, 94, 93,183,112,112,244,113,214, 1,143,181,229, 93,180, 35, 60, 20,130, 73,128,105,240, 92, 82, 9, 46, 4, 86,206, 50, + 84, 26, 21, 60,203,126, 31,113,105, 27,159, 22, 52,242,148,150,230, 89, 53, 53,231,243,130,224, 28,251, 71,247,121,111,239, 24, +213, 66, 49,232,243,238,238,154,255,253,155,223,164,124,247, 78, 76,118,172,237,208,254,246, 49, 79,121,251,225, 57,122,218,135, +254, 8,174, 94,227,201,167,159,230,231,158,249, 12, 69,158,146, 37,154,217,178,130,114, 1,192,183,254,248, 79,121,254,103,191, +204,100,220, 39, 16, 40,215,117,228,165, 59,135, 76, 20, 70, 39,164,131,156, 36,205,241,221,131, 34, 59, 94,120, 86,228,156,204, +150,236,159, 44, 57, 92,181, 44, 86, 45,182,182,148,141, 35, 75, 21,206,197,249, 32, 34,138, 58, 32, 4,214, 5,210,196,144, 24, + 29,133, 48,132,140, 10,111, 50,138,110, 4, 31, 56, 94, 53, 28,206,151, 20, 41,236,238,175,184,253,193, 33,135,135, 83,254,219, +191,255, 31,227, 46, 92,227, 92, 95, 50,109,227,104,233,234, 86,193,115,231,199, 20, 90,113,105, 50, 98,107, 48,164,245,142, 69, + 89,177, 94,206,217, 24,111, 16,132,228,120,177,230,131,227, 21,183,246,230,188,125,255,144,233,225, 49, 77,213, 48,155,207, 59, +228,173, 33, 47,250,180,173,224,222,221,219, 4,239, 41,203,117, 20, 94, 42, 75,164,201,184,184, 51, 97, 60,204,121,225, 83,151, +216,220,220, 96,190, 88,211, 44, 43,150,235, 21,149, 83,172,231,199, 40, 37, 88,220,120,141,139, 91,151,201,140,166, 21,160,159, +216,193,222,185,207,108,185,100,144,247,153,156, 59,207,231,175,159,231,229,247,118,249, 63,191,251, 22,239, 52, 21,161,108,160, + 46, 9, 36, 81, 45,205,219,168,206,102, 27,152,244,249,119,159,218,226,217,243, 3, 94,185,127, 4, 78, 71,237,123,173,153,159, + 44,249,210,246,152, 23, 38, 59,252, 7, 63,247, 34,127,248,242, 55, 24, 20, 57,223,152, 30,243,160, 46,185, 55, 59,160,169,150, +188, 59, 59, 1, 15,235,122,201, 27, 15,247,248, 66,166,121,177, 63, 98,152, 20,204,109,203, 74, 90,254,195,127,243,175,178,145, +143,249,254,189,125, 46, 40,203, 57,161,216, 9,209,145,175,157, 47, 56,177,160, 18, 73,139,166,159, 39,212,225,140, 62,234, 91, +199,210,118,192,174, 34,163,241,129, 75,105, 1, 38, 37,209,134,161, 49, 84, 74,113, 80, 86, 76,101,231, 56,153,103,132,113, 63, + 58,251,109,108, 16,122, 61,130, 73, 9, 38,199,215,229,163,201,243,227,239, 83,170,151,247,158,176, 90, 18,230, 75,130,111, 32, +207, 17, 91, 99,138,126,143,214, 68,165,200, 32, 69,215, 1,108, 97,111,142,149,146,157,157, 9, 99,109, 40,117, 26,177,176, 66, +208, 55, 41,147,108,128, 70,144, 40, 73,161, 36,211,118, 69,226, 29, 85, 93,113, 82, 87,180, 90, 49,183,150, 60, 64,129, 66, 87, + 13,253, 34,101,251,194,128,254,184, 71,111, 82, 32, 19, 67,162, 13,133, 52,168,186,198, 21, 9, 53, 41,115,147, 34,104, 17,203, + 5, 56,207,207,108, 20,252,252,214, 54,227,162,143,150,134,239, 47,102,188, 84, 89, 90, 37,161, 40, 96, 56,130,241, 48,186, 88, + 22,177,117,207,176,135, 56, 55, 70,108, 12, 32,201,248,237,115, 19,180, 8,244, 85, 66, 47, 81,124,106,178,205, 88, 64,149,228, +248,182,100,115, 48,162,106, 27, 54,122, 41,179,218, 49, 40, 18,230, 66, 48, 74, 50, 22, 66, 49, 82,154,167,139,130, 91,222,241, +116,214,231, 1,158,109,147,114,211,181,124,161, 24,242,186,109,120,190, 24,114,219, 53,236,104,195, 77, 41,121,218,100,220,241, + 45, 27, 42,225, 43,171,134, 59,109, 64, 43,205,161, 72, 57,242, 45,100,195, 40, 17,157,230,216,166,230,192, 5, 46, 24, 67,233, + 90,116,213,240,157,131, 53,251,123, 83,202,227, 5,213,222, 67,194,172, 36, 44,203,184,215,215, 77,236,216, 56, 8,173, 3, 17, +249,254, 17, 48,221,126, 8,135, 16, 26, 75, 16,146,121,101, 41, 6, 25,139,224,153,173, 43,130,209,140,148, 98, 29, 2, 25,112, +210, 90,130,245,143, 5,244,199,156, 47,101,167,147, 46, 59, 90,176, 52,241, 12, 61, 29, 19, 11,209,197, 6, 23,207,202,166,138, +197,166, 13, 81,115,193,118, 64,229,198, 97,181,100,181,172,104,239, 28,224,119,134,132,170,138, 14,134,117,133, 93, 91,246,102, + 37, 33, 85,236,207, 23,204,235,146,121, 85,253, 20, 65,189, 3,155,196, 25,115, 29, 51,145,229, 52, 86,199, 31, 13,116,237,169, + 63,123,167, 47, 30,236, 79, 85,165,127,168, 13, 47, 34,194, 51, 40,112,243, 21, 78, 71,167, 40,116, 71,191,242, 93, 27,163,233, + 28,218,132,136, 45, 68, 41, 98,219,220, 73,240, 21,164,105,188, 86, 69,156,167,159,250,144,247, 11, 88, 85,177, 45,213,118,237, +230, 32,186, 68,197,199,224, 92,182,177,218,255,104,242,242,137,192,128, 40, 8,129, 84,143,104, 99,143,108, 20,123,138,223,249, +220,115,124,249,179,215,185,118,229, 18,189, 65,159,137, 49,188,121,119, 63,222,207,254, 4,182,182, 97,251,114,119, 96,116, 98, + 57,105, 52,124, 9, 65,177,173, 4,233,233,193, 35, 37, 70, 37, 84, 69,193,232,218,147, 20,151,174, 32,242, 1, 66,122, 18, 37, +177, 68, 81,150,160,160, 45,167, 52,229,138,187, 7,251, 28, 77,103,220,218, 61,226,251,119,142,185,189,123,132, 78, 3, 83,217, +121,200,231,166,115,228,235, 16, 53,217,169, 61,173,120, 36,246,241, 59,127,251,111,240,155,191,249,235,252,214, 95,126,145,207, + 92,127,138, 34, 45,104,203,150,131,114,198,108,185,140, 93,157, 14, 33,255,210, 87,254,140, 39,174, 63,205,165,203,231,208,137, +193, 5,129,107, 91,108,211,210, 84,209,187, 90, 73,133,210, 18, 39, 2,109, 93, 33,141,196,186,104, 35,136,128,217,241, 34, 58, +142,245, 83,238, 60, 56, 97, 94,182,172, 43,199,176,103, 88, 55,142,117, 29,157,151,124,128, 52, 49, 56, 33, 98,192,116, 33,250, +186,187,208,209,118, 2,193, 70, 69,191,187, 15, 23,124,251,123,111,178, 94,174, 81, 65,112,225,153,231,217, 24,110,176, 44, 79, + 48, 6,206, 13, 50,182,122, 57,105,146,160, 4,244,211, 12,165, 52,173,109, 73,181,138, 66, 55,227, 62,155,163,130,224, 3,109, +221,224,156,163, 90,173,177,190,198,214, 45, 38, 55, 12,134,131,232,159, 83,215, 28, 30,239,177,174, 74,172,143,146,201, 50, 64, + 99, 91,214,203, 5,249,160,207,221,123,135,236,223, 59,100,213, 88,202,178,138,244, 32,231,168,133,102,160, 2,101,179, 66, 6, +193, 63,127,243, 13,174, 94,185,198, 50, 81,120, 41, 96, 99, 27,125,120, 72, 80,146,171,159,190,198,238,225, 9,255,253,127,253, +143,216, 31, 13, 8, 65,112,117,123,196,201,209,156, 96,163,189,103,112,154, 32, 45, 1,201, 95,237, 23,252,141,171,151,152, 76, +206,113,151,150,189,131, 69, 92,107,219,194,186,102,119, 81,177,215,204,233,111, 95,226,205,226, 2,127,114,251, 6,203, 15,222, +167,109,214,184,195, 35, 78,238, 60, 96,189,156,243, 96,247, 33,187,199,115, 88,172,121,113,152,112,217,244,104,129, 91,205,146, + 69,211,240,153,139, 23,248,218, 94,197,157, 96,120, 38, 84, 12,133,230,138,201,240, 77,205,180, 92, 49,173, 86, 52,141,101,152, +165, 72, 35, 17, 70,162,188,160, 42, 91,142,234,200,201, 14,137,162,240,129,103,198, 3,182,123, 57, 79,142, 70,108, 21, 3, 84, +218,167,245, 18, 31, 2,203,186,100, 59, 49,156,207,115,174, 12, 70, 12, 55, 71,108,109, 78, 56,119,110,135,213, 32,167,214, 2, + 95, 12, 9,182,194,183,246, 19,131,251,153,147, 88,108, 83,227, 26, 66, 0,159,104,124,104, 34,142, 72, 40,254,206,149, 17,127, +237,137, 77,254,108, 81, 19,170, 53, 15,156, 68, 20, 61, 6, 89, 2, 58,165, 16,138,173, 52,163,113,158,139,105,193, 42, 56,150, +109, 77,102, 18,178,224,105,218,146,204, 40, 78,234, 53, 85, 8,184, 0,125, 2, 61,169, 40, 50, 67,186,221, 39,233,231, 72,173, +162,131,105, 16, 80,182,164,206,147, 56,135,207, 53, 83,217,167,202,250, 48, 62, 15, 82, 48,240, 13,147, 96, 81, 54,240,205,147, + 35,190, 58, 91,112,212,214,144,102,244,139, 1, 73,154,146, 38, 9, 77,154,128, 17,136, 44, 69,228, 25, 36, 25,191, 56, 28,242, + 75,219,155,140,211, 30,107, 33, 80, 4, 54,250, 27,188,190, 92,115, 97,115,147,188, 90, 49,200, 71, 28,172,231, 12,123, 99,180, +107,240, 73, 74, 45, 65,163, 88,184,134,158,148,172, 67, 96, 22, 60, 79,154,140, 93, 1,219, 66,242,126,176, 92, 55, 5, 63,104, +215,124,177,152,240, 70, 91,243,132, 73, 57, 20,146, 39,133,230,221,224,184,164, 12, 95,171, 45, 90,167, 44,146, 52, 42,215, 25, +137,206,114,110, 47, 42,134,195, 49,109, 93, 82,166, 57, 89,154,145,138, 20, 35, 2,137, 12,172, 68,224,120, 81, 19,234, 10,188, + 32, 40, 27,215, 47,184,104,186,162, 32,184, 78, 73,179,237, 4, 58,234,211,130,165,195, 93, 88, 23,139, 25, 35, 8, 73,193,220, +123, 86, 62,158, 79,198,195,202,121,188,245, 76,109,131,111, 61, 94,118,138,114,174,251,189, 54,196,100,207,187, 88,220,213,174, + 43,238,162, 48, 26, 82,119, 44,168, 83, 68, 98, 32, 74, 24,218, 88, 48,182, 1,154, 53, 66,201,200,220, 10,237, 35,239,145,254, +207, 61,207,175,255,194,175, 49,185,180,197,221, 31,188,129,119, 14,239, 26,124, 91,115,184, 42,217, 95, 58, 30,204, 75,118,231, +229, 79, 25,212, 93,231, 7, 94, 55, 17, 13,222,254,136, 96, 29,186,249, 51,246,147,103,208, 63, 77, 31, 94,133, 88,233,135, 78, + 60,166,237, 2,185, 15,103,148,171, 83, 32,151,144,241, 64,106, 59,212,182,179,157, 14,123,135, 80,119, 26,124, 19, 51, 85,219, +145,141,243, 36,182,153,173,139,111,245, 88, 85, 90, 69,126, 42,101,219,181,236,221,143,189, 94,225,186, 44,190,181,145, 67,239, + 99, 71,225,252,185, 17,191,246,165, 79, 51, 30,111, 32,181,102, 60, 28,160,148,231,107, 15, 14,163,144,198,198, 38,191,252,133, + 95,226,153, 43,207,176,177,189,195, 60, 87, 48,153,224, 70,227, 56,235, 46,250, 28,139,140,162,200, 88,110,142,217,186,122, 29, +189,185, 65,178,189,205,197, 11,207,176,179,245, 36,147, 98,136,210,158, 84, 9,164, 10, 24,169, 56,159,165,104, 4,139,186,229, +225,186,164, 57, 46, 17,212, 76, 46,110,243, 59,191,254, 34,127,235,231, 63,197,214,104,204,203,111,220,141,155, 92,117, 18,177, + 38,116,179,158,110, 22, 36, 5,140,174,240,203,191,240, 34,189,188,160,223, 75,105,218,192,114, 94, 81, 54, 53,175,127,112,159, +102,247,118,151, 4,157, 9,202,127,255, 27,223, 35,233,245,185,122,253, 10,195, 65, 15,235, 2, 38,141,148, 12,173, 20,202,168, +168, 42,151, 38, 36, 89, 66,154, 36, 72,109, 88,173,102,148,229,138,197,244,144,245,170,100,186, 40, 73,179, 4,148,160,117,142, + 59,247,142,185,125,231,144, 50,120,234,198,243, 96,186,164, 14,158,163, 69,116, 73,187,249, 96,193,113,217,128, 8,172,234,154, + 89, 85,241,222,238,140,155,119, 30,242,242,159,191,129,111, 45,121, 97,184,117,231, 22,139,234,132,175,255,254,239,243,220, 11, + 79, 51, 74, 13,189,196,144, 38,138,126,154,161,181,194, 57,139, 15,158,225,176,207,100, 99,194,120,115,131,119,111,220, 96,126, +176,224,137, 39, 47,178, 49,206, 17, 82,178,152,174,168,203, 10,169,162,184,133,119,129,249, 98,198,162, 90,226,188, 39, 81,154, +166, 45, 49, 90, 99,148, 65, 25,133,208,154, 64,194,241,241, 58, 2,247,238,221,225,206,238, 7, 28, 29, 31,147, 25,197,131,221, +219, 72, 13,133,201, 17, 82,144,184,138,111,191,250, 58,227,107, 79, 51,159,215, 28, 79,215, 12, 81,188,240,229,231,120,240,193, + 3,254,203,127,240, 15, 9,195,148, 48, 24,240,244,248, 28,191,120,225, 28,149,104, 56,120,176, 23,207, 18,121, 10, 30,243,188, +187,172,216,222, 26,240,170,215, 84,131, 77,238, 29, 79, 35,144, 7, 27,159,183,186,198, 46,106,190,253,224, 30,187,227,109, 66, + 2,236,237,194,195, 67,196,193, 20,148, 68, 78,143,162,234,240,122,137, 90,172,121,114,144,226,104,120,216,214, 60, 16,130,243, +166, 64, 60, 56,160, 76,115,110,212,150,220,193,139, 89,206,121,147, 48, 65, 82, 84, 75, 74, 23, 56,241, 22,231, 37, 18,133, 22, + 18, 71, 96,191,116, 76, 27,139,112,142, 92, 4,174,244, 82,174,231, 42, 42,197, 77,250,244,179, 20,157,103, 52, 33, 97,238,115, + 18,225,144, 50,112,165, 95, 80,164, 25, 74,103,236, 12, 7,132,160,184,212, 27,161,243,148,117, 97,104,130, 38,120, 73, 80, 1, +223,218, 15,181,230, 63,106,125, 26, 90, 11,179, 57,254,112, 30,193,191, 43,203,223,188, 52,226,239, 60,117,133, 79, 77, 54,184, +220, 19,124,237,193, 49, 65, 40,218,113, 76,242, 76, 98,216,214,138, 84, 37,108, 36, 25, 51,215,208,215, 41,235, 16, 53,192, 69, +176, 40, 33, 72,157,195, 72,197, 10, 88, 52, 53,206,181, 76, 80,244, 70, 41,201,184,128,160, 16, 50, 82, 8,221,178, 69, 84, 45, + 38,120,250, 66,145, 74, 56,108, 61, 85, 62, 68,141, 54,217, 26,110, 51, 73, 39,124, 80, 46,120,105,127,159,239,150, 21,123,101, +133, 73,114, 70, 4,206, 43,195, 68, 74, 90,223,178, 45, 37, 94, 26,172, 78, 65, 8,118,122, 3,254,253,171, 87,248,197,237, 29, +206,101, 57, 15,154,134,117, 62, 68, 9,193, 23,183,182,120,176,174,216, 25,142, 56,168,106,174, 15, 71,172,155, 53, 62,201, 88, + 59,139, 5, 26, 44,153,146, 44, 90,203,200, 24,148,139,238,107,153,179,204,149,230,162, 54,188,211, 86,124, 62, 27,240,157,122, +197,245, 36,229,182,141,149,249, 45, 44, 79,201,148,119,189,101,152,102,188,237, 96,101, 50, 46, 25,143,201,115,156, 15, 92,204, + 19,172,131,116, 48, 64, 91, 71, 26, 2,187,182,166,144,134,165, 15,188,125, 60,231, 92,207, 48, 21, 50, 26,255,216,216,109, 12, +105, 10,182,237,176, 21,177, 94,139,129,221, 34,130,239, 84, 52,187,192,124, 26,220, 91, 75, 8,109,231,194,150, 98,157, 71,106, + 88,181, 45,214,123,188,148, 88,231, 8,136, 51,183,207, 68, 19, 84,199,241,149, 42,250,180,166,230,209,104, 87,136, 83,254,175, + 56,227, 1, 55, 54, 22,147, 77, 21,199,181,162, 99, 69,181,109,108,213,251, 14,184,218, 90,154, 59,187,188, 83,205,185,251,250, + 77,194,122,253,161,189,234, 91, 27, 29,235,234, 10, 87,173,127,218, 74,253,167,120,121,255, 73,236,138,127,177,207,105, 79,181, +210,125,148, 88,149, 62, 86,224,170, 67, 20,186, 16, 3,206, 41, 24,175,125,140,142, 69,135, 90,119,246, 76,196, 89, 6,176, 50, + 90,234, 40,115, 6, 6, 75, 77, 92,144, 14, 48, 39,137, 45,219, 71,215,240, 73, 28,117, 62,130,248, 79, 82, 68,136,170,123,104, +137,208, 34, 82,236,180, 36, 29, 13,184, 48,218,226,250,213, 29,154,214,209, 88,199,235,239,238,243,131, 91,183, 65,107,190,244, +244,179, 92,217,188,202,160, 72, 24,229, 35,206, 15,183, 57, 63,222, 98,107,180,201,212,173,105,165,128, 84,225,243, 62, 95,120, +234,103,184,124,233, 83, 12, 70,219, 76,134, 19,118,118, 46, 99,250, 57, 70,235, 40, 52,225,106,188,111, 59,224,152,102,208,203, +169, 90,207,193,170,194,175, 23,144, 14,248,173, 95,252, 57,126,249,179,151,216,238,103, 44,170,154,175,254,249,219,221, 24,163, + 75,152,156, 7,225, 62, 60,236, 15,129,231,158,190, 70,154,231,184, 32, 56, 62, 94, 48,157,157,240,242,187,239,242,240,213,215, + 59,179,154, 56,210,160, 55,140,182,180, 73,143,155,175,190,198,205,163, 41, 79, 94,185,194,246,206,152, 52,141, 21,181, 78, 77, + 4,136, 72,133,210,209, 96,231,248,225, 62,243,163, 99,210,126,129, 64,160,140, 34,235,229,113,148,176, 90,178,119,255, 30, 94, +106,170,178,194,121,199,201,193,148,123,119,247,152, 30, 45,168, 90,207,189,221, 67,110,221,188,207,108, 58, 99,212, 79, 25,102, +134,183,223,185,195,155,175,191, 79,185, 42,217,189,247, 16, 66,137, 39,208, 54, 21,155, 91, 27,100,169,230,179, 95,124, 1, 33, + 4,214,183,164, 90,147,152,132,212, 36, 88,231,200,146,132,201,104,192,100,123,139,197,108,198,239,189,244,231,188,250,123, 95, +225, 7, 39, 71,108,167,125, 62,253,169,171, 76, 6, 57,135, 39, 37,101, 85, 19,112, 88, 91, 81,173, 75,130,112, 88,219, 18, 66, +160,106,107,218,198, 33,181, 36, 77, 83,146, 52, 37,207, 11,180,201,249, 31,254,243,191,207, 42, 83, 60,117,241, 9,132,128, 59, +251,123, 20, 90,115,251,120, 22, 27, 37, 70,144, 37, 5,105,146,146,135,192,242,214, 77,222,247, 9,243,147, 19,152,157,176,213, +235,241,250, 31,253, 1,183,111,223,137,235,176,189,197, 47, 93,188,202,100, 52,162,110, 4,239, 29, 29, 65,181,254, 16, 26, 28, +103,249,238,221, 19, 30, 76, 6,140, 19,197,238,180, 11,234, 70, 69, 77,233,102, 21,159,175,117,137,112, 51, 56,119, 25, 33, 3, +226,120, 14,179, 35, 68, 98,162,116,169,144,200,202,161,122, 57,247,102,107, 66,112,172,141, 98, 96, 82,174,165, 61,206,103,125, +174,175,150, 60,151, 40,254, 68,229,252,229, 80,179,163, 37,217,186,164,239, 32,149,129, 99, 33, 57,106, 61,203,101,197,209,178, +101,247,168, 97,225, 37, 77, 93, 99, 36, 76,180,228,185, 73,194,118,145, 48,233,165,104,169,200,178, 4,175, 12,199, 46,224, 85, +198,170,105,217, 73, 2, 7,141,165, 17, 9,219,253, 2, 23, 20,105,170, 73,242, 30, 82,229, 36,198, 96, 83,205,218, 72, 66,211, + 65,115,196,153, 35, 91,248, 33,193, 29, 31,131,123,200, 11,206,111,244,120,114, 48,160,111, 18, 94,218, 63,226,229,105, 11,174, +161,116,129,173,201,132, 45, 90,198,105,143, 43, 89,129, 11,176,242,142, 6,207, 68, 25,102,109,133, 21, 34,138,137, 0,199,245, + 18, 97, 29, 7,203, 21, 53,129,208, 54, 12, 91, 73, 49,200, 65, 10, 92,101,169, 22, 22, 97, 29,218,122, 84,136,179,247,148,128, +203, 53,165, 73,201,123, 9, 23, 6, 5, 27, 89,198,181,241,152, 75, 58,229, 25, 9, 6,199, 6,146,157, 44,193,132,134,129,146, +164, 85, 67, 38, 37,137,138, 74,124,107,161,121, 82, 75,254,202,214, 38,147,201,132,188,223, 99,225, 37, 43,161,216,234, 13,184, +217, 74,158,204, 13,135,222, 51, 50,146,135,192,192, 7, 14, 2, 72,111,169,131,194,224, 56,113,129,158,130,135,214,114, 73, 42, +156,244, 56,165, 24, 11,193, 45, 91,113, 61,201,121,185,173,249, 76,154,241,102, 83,115, 53,201,184,237, 45, 87,149,226, 29,107, +177, 42, 97,215, 9,118,209,236,136,192,118,191,135,118, 81,193,209, 41,205, 74,196,209, 93,240,240,190, 83, 60,155, 36,212,194, +179,169, 52,123,205,154,210,186, 40,190,213, 70,231, 52, 76,151,144, 17,147, 34,244, 41,144,218,253, 72,208,111,232, 66, 71,176, +167,192, 74, 69,211, 52, 56, 43,176,194,163, 36, 88, 58, 16,156, 20, 12,211,132, 70, 10, 6,137,129,196,224,106,219,137,121,117, +133,208,227, 1,221,118,223,127,170, 54,106, 58,155,111,219, 60,242,149,127,132, 63,235, 18,141, 71,201,198,193, 17,172, 63,252, +252,250,199,233,138,222,227,189,255,151, 24,212,255,101, 37, 10,208,129, 15,136, 70, 42,190,243, 66,183, 93,171,188,113, 17,224, +100,187, 96,244, 72,100,229, 84,212,197,199,223,179, 33, 46,114,211,130, 54,177, 90,135,216,162,207, 12, 10,129, 95,119,116, 57, +239, 98,144,230, 19,140, 88, 30,151,211, 85, 41,164, 10,145,165, 93,101, 27,187, 6, 66, 68, 43,203,114, 94,147,100, 61,122,253, + 62,203,202,113,111,127,197,183,222,188,193, 73,217,242,212,120, 27, 39, 44, 23, 55, 47, 61, 98,200, 25, 97, 24, 15, 55, 25,101, + 99, 92,104, 89, 87,115, 18, 45,249,244,149, 43, 60,247,220,103,185,250,244, 5, 46, 92,220, 1, 82,164,146,228,121,156,179,183, +245, 26,215, 68, 87, 45, 37, 2,163, 94,129,247,176, 40, 43,142,167, 43, 56, 62,128, 36,197,228, 9,231, 46, 92, 32,184,134, 63, +250,179, 55,185,121,231, 78,119,223,186,150,145,107, 63,158,149,249,134, 87,239, 31,242,173, 27,183,249,214, 27, 55,248,230, 59, +183,120,253,253,251, 28, 61, 60,224,111,254,230,207,242,175,255,173,223,224,185,207, 63,207,203,223,191, 1, 62,233,124,234, 13, + 56,199,124,255,128,111,253,193, 87,113, 50,176,181,115,129,243, 59, 99, 76,146,224,173,167,109, 90,218,117, 77, 83,215,209,110, + 80, 43, 66,112,172,150, 11,130,117,184,182, 97, 62,157,226,108,131, 76, 20, 77, 85,178, 90,158, 48,159,159,176, 88,156,208, 31, + 12,192, 4,214,235,146,123,119,222, 35, 79, 11,206, 95,218, 34,205, 13,111,188,123,151,178,110,184,246,204, 37,108,240,172,171, +138,197,106, 78,101, 43,130,176, 44,203, 37,141,179, 52,117, 69,235,124,244,118,150, 18, 33, 4,121,146,209,239,231,108,109, 71, + 3,163, 55,110,220,224, 15,255,155,239,176, 62,120, 43,222,143,147, 25, 63,216,219,227,206,222, 30,215,174, 61, 65,154, 25, 80, + 10, 87,133,152, 16, 18, 8, 33,154, 25, 37,137,193,249, 22, 79, 32, 87,134,254,104, 68,150,230,236,236,236,208, 75, 21, 63,243, +175,188,200,231,158,122,134,157,157, 45,116,146,163,154,166, 91, 67,143, 82, 10,111, 3, 66, 9,180, 74, 56, 55, 57,199,214,198, +132,203, 82,115,174,153,243,185,237, 45, 66,219, 66, 47,227, 7,245,154,240,240, 8, 76,194,221,188, 32,144,242,181,218,130,110, +225,193, 49,225,180,203,214,218,174,117,216, 80,175, 42,246,122,134, 80, 90, 88, 77,227,115, 83,251,216, 37,203,123, 80, 86,136, +178,134,190, 66, 12,207, 65,181, 64,212,209, 79, 65, 74,133,208, 6,217, 58,148,116,136,166,197,214,142,107, 90,114,181,223, 99, + 39,205, 25,233,148,145,206,185,188, 94,241,215,151,199,252, 39,235,138, 47, 52, 11, 70,206, 33,165, 34, 73,251, 28,201, 56,190, +154, 53, 13,213,226, 4,218,134,178,182,228, 89, 74, 42,225,252, 36,229,217, 97, 78,145, 36,160,100,172,140, 58,190,117,107, 20, +171,218,163, 80,204,219, 64, 46, 4,195, 52,195, 98, 64, 40,140,202, 16, 68, 1,163, 86, 42, 42, 28,115, 33, 9, 90,197,106, 73, +234,232,223,254, 35,186,113,225, 49,110,202,237, 34,163,202, 4,119,154,134,127, 60, 93, 99,219,238,240, 93, 55, 28, 41,193,179, +147, 17, 27, 74,163,129,149,181,108,165, 5,214, 7,214,193,161,165, 66, 11,205,210,183,100,202,144,134,192, 73,185, 68,249, 22, +223, 86,148,193,211, 11, 18, 83, 69,189,137,122,218, 80,213, 45,198,122,180,146, 36,202, 32, 90,135,106, 29, 74, 5, 22, 90,211, + 47, 82,122, 74, 48,208,146,139,253,132,177, 74, 9,214,177,157,100,104,225,193,214, 76,122, 19,114, 37, 17, 89, 74,223,104,132, +151,108,102, 3,130, 82,140,148,226,114, 63, 39,213,145,138,252, 45, 27,184,172, 19,238, 5,120, 58, 81,220,108, 3,151, 18,195, +210,123,122, 77,131,211, 10,211,214, 28, 6,131,161, 97,209, 74,250,162,101,209, 90, 54,149,228, 36, 56, 76,128, 77, 41,121, 24, + 2,215, 84,194,187, 33,240, 41,173,121,197,181, 60,111, 50,110, 56,203, 19, 58,229,166,247,140,211,130,251,174,225,102, 48,188, +208,211, 36, 58, 71, 10,203,162, 12, 20,169,161,213,134,147,101, 75,146, 72,150, 65,115, 61,145,236,121,199,180, 93,147, 4,216, + 78, 18,246,171, 53,101,128,182,170, 8,210, 61,162, 5, 7,225,227,200,164,163,239,253, 72, 22,207,135, 0,202, 93, 85,223,205, +183, 49, 50, 2,168,219,216, 78,151, 74,211, 79, 18,192,179,105, 52, 13,146,129, 84, 8,163,162, 56,152,235,132,198, 78, 65, 85, + 46,116,214,222, 34,198, 31, 73,236, 42,107, 5,165,251, 16,131, 76,252,136,198,117,248, 33, 58,255,167,239,191, 88, 65,253,113, + 78,184,150,145,122,147,152, 51, 21, 52, 31,226,251,212, 63, 61,116,173,144, 83,218,155,140,170,177, 52,117,156, 29,219, 54,242, + 90,179, 52,182, 57,172,143,193,189,113, 4, 37,232,208, 85,103,105,155,236, 16,253,159,228,175,110,116,164,149, 36,105, 68, 49, +158, 42,238, 5, 16, 34,116,238,108,142, 7,193, 50, 16,125, 30, 30, 44,216,221,223,231,246,225, 30, 95,188,242, 2,227,193, 6, +155,197, 38,139,106,129,109, 26,202,186, 68,139,132, 44, 43,176, 77, 77,107,107,198,185,102,104, 18, 46, 76,182,184,254,236, 85, + 54,198, 3,164, 12,180, 45, 84,117, 77,189,110, 88, 87, 75,108,168, 70, 44,229, 0, 0, 32, 0, 73, 68, 65, 84,211,224,124, 29, +141,226, 84,244, 97, 89,217,154,233,170,101,117, 52,139,135,246,106,201,131,217, 9, 95,123,247, 3,222,190,117,204, 55, 95,127, + 7,246,119,187,204,209, 70,240,134,111,207,118,202,227,187,108, 57,135,197, 18,151, 12,248,242,245, 39,249,194,181,107, 60,115, +241, 60,207,191,112,157, 81,209, 71,169,148,175,127,247,205,174,131,210,117, 83,100,167,244,167,224,253,183,239,243,205,255,231, +107,156,148, 21,195, 98,192,230,206,136,209,100, 64,146, 39,164,121, 78,214,239,145,247, 50, 6,163, 33,195,141, 17, 74,106,156, +183,136, 16, 98,117, 93, 53,180,174,197,152,132, 36, 51, 12, 55, 38,164, 69, 65, 83, 47, 41,215, 75,180,145, 12, 55, 71,120,233, +152, 46,102,180,117, 69,214,207, 56, 56,154,114,251,238, 17, 34, 52, 8, 44, 74,197,245, 52,105, 66,158, 39,244,123, 61,146, 68, + 97,140, 33,207, 18, 54,198, 99, 6,227, 1,105,150,241,230, 59,239,240,251,255,244,101,238,189,241, 10,164,211, 15,175,253,124, +193,131, 27,239,241,135,239,222, 34, 43,107, 46, 93,185, 72,175, 95,160,141,129, 16, 80, 42, 33, 49, 41,173,111,144,104,134,195, + 49, 59,151,174,112,241,226, 69,206,109,109,112,113,103,192,114, 85,147, 26,205,249,205, 30,147, 81,159, 81,207, 80, 53, 48, 95, +205, 40, 76,202,185,201, 22, 91,147, 29,156,141, 7,202,100,115,147,235,215,159,194, 58,203,104, 49, 37,221, 28,211, 38, 41, 15, +130,228,253,208,226,238, 61,132,121, 69, 35, 90,238, 38, 41, 33, 73,226, 66,150, 43,152,205, 62, 30,168,108, 32, 16,221,208,132, + 3,234, 16, 1,115, 73, 47, 82,112,124,196,169,136, 85, 5, 59,231, 35, 23,122,122,130,104, 90, 68, 93, 33,147, 20,233,107,100, + 43,209, 73, 74,235,107, 22,222,242,249, 34,101, 59, 45,216,208, 25,133, 50,100,214,163, 29,252,122,179, 96,190, 94, 96,189,199, +244, 71,180, 38,101, 97, 18,202, 0,181, 20,228,109, 69,175,173, 8,120, 26,153, 96,242,148, 79,111,246, 40,164,196,104,141, 86, + 18,167, 4,109, 0,169, 4,135,141,231,225,172, 98,229, 3,206, 59,180,107,112,193,163, 4,104,165,168,136,174, 87,190, 3,231, +173,189,165,150,130, 6, 31,253,219,125,244,143,136, 29,192,240, 67,169,166,167, 2, 76,161, 12,220,202, 50,222,113,129, 42,209, +145,239, 93,198, 10, 44,132, 64, 37, 96,167,151,115, 78,105,140, 78,153,186, 6, 45,162, 22,115,233, 45, 54, 56, 10,169,152,219, + 6,139,164,118, 22,237, 26,158, 85,154, 52, 4, 86,222, 49,146, 10,150, 77, 44,238, 26,139,145,138, 20,137,116, 93,178, 88, 53, +120,223, 18,250,154,202,193, 48,209, 60,181,153, 98,172, 39, 33,112,161, 63, 96,189, 42,217, 30, 12,152,203,132, 32, 36, 42,201, + 25,103, 5,235,160, 25,231,125, 86,222,177,221,159,112,185,159,113,212,120, 68,154,243,245, 69,201, 19, 70,115, 79,105,174,104, +201,237, 10,158, 72, 5, 15,188,167,215,212,180, 74,144, 32,152,121, 24, 11,207, 34, 56,156,171, 88,121, 79, 79,192,212, 89, 70, + 34,208, 4,112, 66,241,164, 50,188,227,107, 46, 33,121, 75,192,139, 73,206, 93,147,112, 81, 27,222, 15,158, 45,224,166,183,220, +106, 2, 99,165, 17, 34,197,168, 22,169, 12, 46, 40,242, 68,115, 48, 91,115,105,212,227,214,178,225,124, 10,123,117, 60,114,135, + 66,179,198,211, 84, 75,250, 58, 2,217,166,173,135,218,117,113,188, 27, 39,186,174, 98,167,253,208, 56, 88,252,200,192,222, 81, +183, 37,177,170, 86, 93, 7, 51,209, 32, 4,218, 40,180, 8, 8,161,169, 3,228, 38, 42,190, 89,239,185,152, 37,216, 16, 72,164, +166, 57,125,202,132,239,204,204, 58, 1,142,214,198,207, 13, 81, 34, 59,130,202,221, 79,116,109, 31,235, 34,125,200,137,228, 47, + 98, 80, 63,173,216, 53,177,202, 62, 69, 25, 6, 1,153, 62,203,138, 66,151, 37, 9,206,130, 54, 33,234,214,159, 86, 41, 74,198, +118,189,236,104, 76,167,115,118,219, 5,241,211,155,172, 58,142,187, 13,159, 44,190, 34, 85,220,101, 74, 67, 34, 17,182,107,142, +216, 40,136, 33,124,183, 20,147,130,205, 68, 17,218,138,182, 89, 51,204,198, 12,178, 13,198,189, 13, 82,147,179, 63, 59,226, 79, +223,121,133, 7,211,123,164,166, 3,240,219, 21,219,147, 30, 87,182,119,184,176,125, 30, 33, 2, 89,175,143,144,146,229,186, 97, +255,254, 17,171,249, 17, 77,211, 80,214, 75, 42, 91, 67, 80,100, 73, 15, 17, 2,141,107, 89,149,150,195,101, 69,187,255,160, 75, + 74, 4,172,150,132,189,125, 14,110,223,128,249, 97,108, 1, 53,117,100, 12,156,142,196, 69,231, 25,239, 31, 31, 9, 5, 24,158, +227, 75,159,251, 28,159,123,234, 51,108, 76, 70, 12, 71, 3,114,147, 80,149,150,147,147, 57,127,254,199,223,141,247,227, 20, 40, +226, 60,143,124, 44, 67, 60, 56, 31,188,123,135,239,125,227, 21,190,250,251, 95,161,244, 45,118, 81,146,100, 25,218,104, 76,146, +208,235,167,100,121, 70, 49, 72,201,250, 61,138,241, 16, 41,226,140,209,152,200,107, 46,215,107,132,247,180,109,137, 50,134,209, +214, 38,147,173, 9, 38,139,114,146,171,229,154,182, 46, 89,204,230,252, 79, 95,251, 42,111, 63,188,195,107,239,191,207,139, 47, + 60,207,104, 60, 32, 43,114,242, 34,167, 63, 28, 48,220,218,160, 55, 26, 50, 26, 14,201, 7, 3, 30, 62,120,200, 31,252,224, 13, +190,245,199,175,113,247,198, 13, 16, 77,236,100,124,146,254, 63,192,193, 49, 55, 30, 30,241,167,175,252,128,151,222,191,197, 83, +227, 17, 27, 23,207,113,241,218, 14,147,157, 13,174, 61,125,149,171, 79, 62,193,151,191,240, 44,151, 47,109,199,138,190,245, 28, + 28, 46, 81, 70,112,245,226,152, 11,219, 35,138,110, 22,183,118, 2, 91,195,120,188,193,245,207, 62,199,198,249, 77,124, 11,227, +141, 45,130, 80,124,243,187,127,198,255,245,181, 63,229,202,192, 80, 37, 61,110, 91,199,251,117,195,131,147, 99, 56, 41, 35,178, +118,177,142, 98,210, 42, 33,168, 4, 50, 96,247,232,227,123,216,119,192,161, 68,209,223,238,211, 76,151, 49, 57,221,158, 64, 47, +141,221,155,147, 21,162,138, 54,172,226,210, 21, 68,166, 16,203, 88,177, 11,219,198,194, 38, 81, 40, 91,161,147, 60, 66,112,234, +146,103, 82,195,185,172, 79,142, 32, 73, 82,180, 80,104,161, 72,109,203, 94,112,212, 89,206, 74, 42,132, 80,220, 77, 52, 67, 23, +216,193,177,227, 42,138,245,138,123,190,161,213, 3, 14,215,150, 39, 38, 57,163,212, 32,133, 32, 81, 10, 39, 4,247, 74,203,254, +210, 50,135,200,176,168, 75, 42, 91,209, 75, 4, 58,207, 8, 40,180, 50, 88,235,168,157,163, 9,158,181,247,248, 16,240,161,229, +178, 4,167, 12, 91,169, 97,126,122,216, 58,247, 49, 91,211,179,152,238, 99, 23,235,104, 69, 91, 36,209, 69,177, 13, 4,215, 85, + 96,222, 49, 79, 36,207, 22, 41,149,212, 36,161, 69,201, 8,228, 83, 34, 96, 2,148,221, 17,229,130,224,196,214, 76,189,229, 98, +154,115, 94, 37, 12,148, 38, 13,142,224,160, 39, 37,210,123, 86,214, 82,152, 4, 35, 64,218, 0,101,139,181, 21,181,183, 52, 82, + 97, 10, 77,150,105, 18, 96,160, 84,244, 95,106, 28,231, 70, 3,150,141, 71, 42, 67,158,101, 88,239,104,164,166,151,167, 88, 7, + 73, 62,164,144,154, 36, 27,112, 97,208,227, 36, 8,206, 21, 9,135, 30, 46, 42,120,109,110,121,118,100,248,160,134,205,208,224, +211, 20,215, 97,154, 6, 1, 30, 54, 37, 85, 8, 88,160, 23, 2, 11, 60, 61,107, 89, 3, 19, 20, 66, 4,142,133,231,146, 52,220, +146,130,103,149, 38,223,220,224,103,175, 92, 36,152, 20,225, 60, 47, 55, 53, 54,104, 22, 68,109, 9, 25, 4,189, 84,177,108, 53, + 89, 18, 88,148,158,113, 79,115,111,222,240,244, 64,115,119,225,216, 52,150,131, 42, 32, 69,139,243, 1,109, 12,218, 59, 14,215, + 37,165,117,113, 2,107,195, 35,230, 85, 76,216, 92, 60,159,127,196, 8,245, 99,129,212,116, 69,161, 74, 8, 65,117,198, 86,177, +104, 75,141,138,251, 16,129, 59, 5,187, 91,216,233, 71,225,172,177,209, 72, 31, 53,250,131, 20, 81,243,228, 84, 81,203,117,212, +234,166,142,231,106, 85,198,239,249,132, 78,176,248, 73,175,245, 49,238,212, 95,204, 87,219,137,200,152,238,103,167,151, 30, 45, +206,220,199, 43,251,212, 68,138, 26,254,140, 27,104,187, 22,100,234, 33,164,103,201, 66, 47,129,117,211, 45,126,135,254,246, 54, + 34,209,101,120,172,221, 46, 59, 49,154,142,163,104,146,168, 0, 87,241, 88,235,223, 67, 11, 65, 91,196,218,195,170, 33,139, 34, +244,244,211, 30,203,218, 71,197,174, 36, 97, 54,155,115,178,154,226,214, 37,203,101,205, 75,205, 91, 20,201,123,188,112,110,139, + 39, 46,126,145,241, 96,128, 80,154,221,221,154,219, 55,223, 66,233, 12,223, 10, 2,142,218,181, 84,109, 69,109, 27, 18,157, 50, +200,198,228, 38, 99,152,111,128,183,124,160,119,185,113,123, 55,106,206, 7,255,216,142,240,103, 6, 52,167, 6, 46,167,255,221, +119, 40, 81,249, 17,125,120, 37,217,122,230, 50,207, 61,113,157,162,151,162,141,232, 4, 9, 28, 89,174, 89, 61, 88,193, 56,242, +245,169,237, 25,135,191, 37, 2, 21, 79,191, 47, 77,163,164,112,145,241,205,127,242,149, 15, 45,217,214,207,127,153, 47, 95,186, +200,206,165, 11,108, 94,218,161,215, 75,163,145,195,206, 24, 24, 83,151, 13,109, 99,217, 60,191,137, 78, 53,193, 6,180, 86, 24, +163,113, 56,218, 54, 32, 26, 24,140, 11,240, 5,179,121, 11, 14,146,196,208,224,216,186,184, 77,145, 75,108,235,104, 92,180, 80, +172,214, 53, 15,239,220,229,229, 59,247, 25,228,155,188,250,202, 59,176, 60,129, 81, 15, 84, 63, 38, 61,131, 1, 84,139, 31,190, + 47,143, 14,224, 8,170, 15,238,241,143,254,252, 53,184,124, 9,113,239, 62,124,246, 57,254,237, 95,252,121,242,254,152,147,217, +144,117,217, 32,189,192,100,154,141, 73,193,197,113,143,205,126, 30,111,181, 10,100, 89,194,120, 99,128,200,158,138, 57,102,112, +188,247,250,219,220,188,123,139,239,220, 63,198,189,113,227, 81,166,254, 63, 31,205,225,115, 21,253,237, 77,150,149,139,251,124, + 18, 45, 90, 89,151,240,246,109,120, 14, 24,111,198, 53,185,176, 5, 15, 30,126,188, 5, 41, 91,168, 44, 75, 27, 80,231,183,113, +211,101, 68, 72,123, 31,147,103, 5,193, 27,196,209, 9,197,106,202,246, 96,192,223,253, 75,159,227, 63,251,230,171,132,195, 99, + 66,154,198, 25,117,154,226,109,131,175,107,222, 12, 3,158,184,251,128, 43, 89,143,190, 15,120, 17, 53, 4,164, 25, 82,104,195, +197,197, 62,223,174,215,164,185,102, 46, 20,231,164,166, 48, 30,237, 13,198,123, 60, 45, 27,135,119,121,133, 30,215,253, 14,193, + 7,166,139,146, 36, 75, 9, 9, 28, 90,199,173, 38,112, 79, 8,166, 70,179, 30, 22,132,249, 17,185, 84,152, 40,102, 64,227, 37, + 38, 13,132, 32, 49, 65,179,196,113, 65, 11, 46, 6,197, 40,233,113,210,180, 60,145,215, 44, 74,197,177,179,172, 67,244, 68, 8, +118,246,232,240,252, 88, 85,100, 45,193, 46, 16,183, 90, 56,191,217,177,124,116, 44, 42,172,195,150,150,223,187,191,207,111,157, +111,217, 28,109, 49, 17,130,147, 54,130,214,234,206,123,161, 1,234, 16, 56,180, 45,151,101,108,221,150, 50, 97, 32, 37, 35,149, +160,133, 96,214,182,232, 16, 24,231, 5, 39, 39,199,168,209, 8,103, 59, 54,135,130, 22, 73,161,163,131,161,243,158,214, 41,234, + 16,216,206, 82,150, 30, 92,221, 48, 25, 20, 20, 54,227,110,213, 48, 23, 1,211, 56, 74,171, 49,198, 80,118, 93,233,220, 68,225, +156, 76, 75,222, 95, 58,174,247, 13,239, 86,158, 79, 15, 52,239, 54,130,103,211,192, 7, 54,101, 80, 47, 8, 70,227,202, 37, 78, + 39, 20, 74, 49, 7, 66,221,114,220,180,108, 72,207,158,135, 75, 34,112,151,154,167,125, 70, 89,150,188,102, 44, 82,106,222, 49, + 9,127,189, 55, 96,175,178,232, 36, 97, 79, 73, 74, 11,135,180,188,238, 20, 47, 72, 79,161, 60, 8,195, 80,181,204, 42, 77,145, + 6,110,207, 27,158, 26, 24, 94,155,183,252,204,200,240,234,220,243,124, 22,120,173, 42,184,172, 22,212, 94,162, 4, 60, 53,200, +185,177,104, 33, 84,157, 86,129,136,133, 73,211,169,141,214,205,143,197,101,127,232, 85, 55,145,223,111,125,180,172,182, 10, 82, + 79, 63, 79, 41,157,199, 8, 73, 21, 44,163,212, 80,119,137,151,109, 3,131, 84, 81, 57,135, 38,160,235,192, 80, 72,142, 17,157, +125,136, 63,147,232,126, 4,198, 78,160,250,209, 99, 31,241,227,174,245, 47,124, 80,167,163,202, 85, 26,122,157,145,129,239, 76, + 83, 76,215,102,207,116,231,212,214, 41,250,168, 54,222,208,143, 46,108,221,196, 0, 45, 0,147,241,185, 47,127,150, 87, 31,238, +194,205,135, 93,251,221, 71, 58,130,247,144, 41,240, 89,180, 27,236,247,224,104, 5,182, 59,228,155, 42, 6,255,196,196,162,182, +249, 48, 27, 48, 72, 16,101,205,178, 90, 51,206,199, 72,157,147,138,136,164,124,112,248,128,101,185,226,198,253, 93, 88,175,226, +130, 85,115,214,153,102, 53, 54,120, 91, 1,125,172,107,113,206, 81, 55, 45,213,122, 65,221,214, 56, 31, 40,215,109,172,208, 85, +198,165,173, 1,193, 11, 60,138, 65, 49,192, 57,207,249,144,194,242, 43, 49,249,208, 81, 69, 12,253,120,251,149, 78,146,246, 49, +141,247, 46,167,161,149, 17, 80,120,122,240, 95,186,198,139, 87,158,227,220,165, 49, 74, 72,166, 39, 43,154,229, 17, 23,175,108, +210, 88,199,249, 11,219,252, 91,127,247,183,185,191,191,199, 87,126,247, 27,113,151,213, 31,161, 3, 42, 25,233, 26, 69, 63,126, +143,214, 31, 10, 50,135,223,248, 30,255,247, 71,150,251,249, 95,255, 5,206, 15,134, 92,190,112, 1,157,166,209, 44,102,144, 19, +214,241,175, 80, 38,193,152,216,154, 13, 68, 31,227,100,144,196,153,109,223,242,239,252,198,111,242, 63,254,238,255, 1,137,100, + 53,157,242, 15,254,241, 31,241,215, 62,245, 52, 47, 63,120,200,222, 91,135,224,231, 29, 87, 31, 24, 63,140,215,109, 4,156,204, + 64,218,104,247, 57,159, 71,225,142, 79,218, 71,159,240,208,137,123,247, 9, 90,195,107,111,243, 15, 95,123, 27,145, 38,241,225, +172, 27, 68, 54, 64, 84, 11, 68, 22, 19, 5, 9, 92,251,249,207,147, 11, 73,166, 5,115,235,184,249,221,183, 8, 42, 33, 96, 9, +235,234,147,219,110,243, 5,124,247,109,150, 23, 54,249,149,107,231,216, 40, 18,244, 83, 59,124, 35, 9,220,123,247, 30,172,102, + 48,155,119,163, 42, 96,115, 12, 71, 11,176,179, 15,127,206,218, 66, 1,159, 27,245,248,181,141, 33,127,248,193, 46,175, 77,203, +199, 18,229,206,180,104, 81,178,126,235, 29,254,189, 95,250, 87,249,213, 43, 87,248,222,157, 15,248,202,201,148,160, 51, 66, 57, +195,215, 41,193,181,248, 34,199,219,134,175,238, 62, 96, 35,215,252,246, 19,134, 68,106,196,112,130, 84, 26,153,123, 6,118,200, +206,234,128,239,155, 6,163, 13,185,148, 72, 31, 72,147,148, 53,240,245,241,121,158, 20,130,155,111,127,139,244,250,151,249,218, +219,142, 43,155, 99,206,111, 11,110, 79, 29,119,173,228,102,235,152, 9, 73, 83, 36, 32, 5,230,220, 5,204,238, 29,150,171, 5, + 65, 74, 6,169, 97,186,136,159,185, 12,150, 11,202,145, 72,131,146, 22,227, 51,114,235, 88,147,177, 47, 2,131, 60,103,221, 2, +227,110,141,171,197,135,166, 79,143,227,151, 5, 16,170, 10,238, 31, 64,158, 66, 54,140,103,142, 74,161,113, 44,108,224,165,116, + 65, 38, 52, 39,105,198,197, 98,192,180,142,200,229,212,228,148,182,225,184,169, 24,104, 67, 38, 4,243, 0,219, 38, 97,209, 21, +152,133, 78, 24,229, 25, 78,104,230, 74,209, 26,201,251,174, 97,220, 88, 18, 99,168,188,163, 41, 82, 90,162,100,114,161, 21,171, +214,147,107,137, 13, 34,226, 48,128,158,138, 9, 89, 91,150,108, 37, 5,119,155,146, 60, 49,148, 1,242, 16, 71,135,109, 16, 28, + 5,200, 43,203,103, 6, 41,223,157,213, 92,235,105,238,183,146, 23, 18,199,205, 82,178, 65,203,145, 74, 56,215,214,172, 76, 66, +181, 94,113, 36, 36,206,149, 52,222,146, 8,203,145,109,217, 86,130,131,170,102,146, 24, 94, 46,167,108, 38,154, 89,235,201,141, +160, 89, 46,120,115, 62,101,167, 24,208, 42,197,126,213,114, 76,224,165,202,145,104,199,107, 94,177,145,192,162,180,228, 89,142, +162, 97,182,242, 92, 30, 38,124,176,104,248,153,190,228,141,185,229,201, 68,240,176, 85, 60,171, 27, 94,159,195,115,121,194, 92, +165,220,106, 43, 66, 47,237, 76,196,154, 56, 58,170,218, 24,234,214,213, 99, 54,211, 63,197,107, 93,129,182,192, 8,180,131, 84, +179, 44,163, 5,184, 74, 52, 70, 73, 78,170,134,171,147, 28,103, 29,202, 67,229,186,159,165,143,221,251,224,200, 92, 96,237, 79, +129,112,174, 19, 71,235,108,185, 87,117, 84,240,252, 88,116, 62, 59, 23,195, 79,120,185,127,177,131,186,237,204, 90,172,232,120, +241,167, 64,183,110, 6,184,110,206,156,196,188, 61, 19,161,249, 97,175, 58,222,145, 87,191,246,221, 24,196, 79,171,124,255, 24, +131, 85,105,200, 61, 12,134,144, 36,176, 9,220, 95,156, 93, 79, 49,138,115, 75,162, 17,156, 56, 21,199,137,189,108, 66,101, 89, + 85, 48, 26,166, 36,186, 79,101, 75,102,229,130,195,213, 49, 55,238,220,135,227, 67,130,179,103,127, 15,176, 55,171,216,189,127, +135,114, 62, 71, 38,154,227,195, 99,102,213,138,101,185,102,209, 54,204,203,134, 89,105, 9, 8,158,191, 50, 68, 7, 69,150,229, + 60,249,204, 14,219,163, 62, 71,179,134,219, 47,223, 60, 83,195,179,182,227,101,126,244,126, 62, 6,250,163,235, 62,160,161,144, +103,120, 57,145,130,244, 92,184,124, 1,219, 88,218, 16,216, 59,184, 79, 18, 26, 54,199,151,209, 74, 98, 93,206,106, 85,113,113, +107, 11, 46,244,225,224, 48,118, 56,156,238,172, 95, 57, 83, 91,114,116,155, 89,254,216,135,237,173, 63,252, 58,111,253,184, 61, +145, 13, 98,226, 49,216,140, 24,135,209, 32,234, 18, 68, 21,147,136,230,247, 9,255,221,255,246,207, 64,106,254,224,149, 55, 35, +182,162, 7, 52, 58, 6,240,193,168, 67,166, 42,200, 4, 60, 60,140,166, 70,117, 27,215, 28,162, 62,182,254, 49,160, 27,173, 9, +137,142,163, 23,173, 99, 98, 87, 87, 80,100,136, 52, 33,132, 78, 40, 41,212,241,223, 74,114,251,123,111,197,251,178,174, 8,105, +210, 5,241,179,128,254, 67,179,116, 95,145,174, 87, 60,169, 36, 89,175,143,149,112,237,252, 6,247,238, 29, 16, 86, 37,236, 29, +193,176,224,133,193, 6, 23, 47,247,184,163, 20,239,190,249,206, 25,112,168,110,226, 22, 77, 13,255,218,198,144,207, 14, 55,153, +143, 23,188,246,238,126, 12, 96, 33,196,102, 12,113,189,194,114,205,195,245,140,111, 60, 52,188,221, 27, 17,178, 30,161,138,230, + 61, 62,149,184,218,224,106,143, 5, 92,240,252,222,238,140, 47,101,247,120,214, 24, 84,145,161,210,113,167,253,225,216, 94, 44, +113, 70, 99,116,194,148, 64, 38, 21,149,119,100, 73,198,103,183, 71,220, 45, 87,136,237,243,188,250,218,119,120,227,254,132, 47, + 61,241,105, 38,147, 45,230,105,202,221, 0,239,229, 25, 33, 55,204, 67,202, 36, 79, 25,140, 28, 75,127,145,254,209, 62,231,219, +146, 89, 89,145,100, 57,203,166,226, 82,174,187,238, 86, 4, 58, 89,111, 59,134,131,229, 66, 47,101,160, 28, 39,141,165,246, 41, + 34, 73,192,234,179,231,229,163, 1,189,139, 16,162,245, 4,106, 4, 93,155,183,167, 64, 37, 60,159,107,246,214, 45,239,172,151, + 60,157, 24,254,232,240, 62,207,245, 71, 28,122,199, 86, 8,212,214,178, 36,208,247,150, 82,106,158,205, 10,142,156,101,164, 52, + 74,105,166,206, 17,156, 71, 38,130, 96, 18, 10,163, 88, 24,201,155,194, 80, 87, 53,163,126,206,229, 65, 78,138,164, 10, 1,221, + 56, 92, 8,132, 54,138,103, 89,231,232,167, 9, 77,235, 49,222,115,177,215,227,157,213,138, 65,166,153, 89,143,129,200, 51,111, + 27,210,212, 80, 54,146,144, 41,246,125,224,185,161,230,161, 15, 92, 48,112,215,195,166,180,148, 66,176,221,192,162, 13, 72,219, +112,136, 32,109, 74, 30, 46,215,100, 58,174,181,108, 26,246,218,134,212,104, 30, 54, 21, 3, 20, 95, 63, 92,241,194, 48,227,235, +243, 53,151,250, 67,254,217,221, 7, 60, 61, 26,242, 96, 89, 17, 18,197,141,202, 50, 16,130,169, 85, 24, 42,110,161, 24,209,112, +137, 64,158, 27, 84, 82,208,184,134, 29,227,185, 97,115, 54,243,146,147, 50, 10, 88, 89, 18, 46, 23, 37,149,119, 44,116,202, 42, + 73,226, 94, 30,100, 81, 99, 99,255, 48, 62,255,161,254,240, 25,247, 47, 18,107,234, 5, 52,105, 92,252, 60,129, 36, 97,229, 61, +153,247, 76,180,161,170, 45,185,136, 0,105,237, 61,179,178,165,200, 21, 7,179,166, 59, 14,196,217,216,183,237, 68,205,232,152, + 89,202,158, 61,139,143,206, 96, 27,223, 31, 9,238, 63,238,245, 23,115,166,254,161,150, 97,135,130, 23,221, 35, 39,100,188, 97, +153,236,110, 26,143, 85,219, 33, 6,182, 79, 2,186,157, 26,190,200, 83,213,185, 83,222,123, 56, 67,131, 75, 25,219,215, 60, 70, +163, 91, 46,207, 42, 54,173,163, 12,163,245,103, 7,190,235, 84,130, 20,160, 21,201,213, 43,124,241,201,231,185,184,125,149,162, + 55,194,136,140, 15, 78,238,115,239,232,152,102,239,222, 25,245, 66,200, 88, 37,154,132,205, 34, 65, 72, 71, 93,149, 44,214, 11, + 86,117, 77, 93,151,236, 46, 87,220, 63, 92, 80,238, 45,163, 40,144,146,108,111, 79, 24,154, 30,253,162,207,103, 94,184, 64,145, + 37,152, 68,241,237, 55,239,114,240,230, 75, 63, 5, 29,209,159,221, 96,147,116, 42, 72,221, 61, 50,138, 81,209,163,151,245,152, + 77, 79, 56,153, 31,113,126,107,131,205,241, 4,147,104,150,101,131, 13,129,166,105,120,229, 27, 95,239,184,154,221, 40, 66,158, + 81, 65,162,140,176, 63, 83, 5,108,237,255,247,253,160, 58, 42, 9, 73, 76, 74,178, 36,182, 73, 90, 11,182,142,127,203,186,142, +120, 11,213,141, 23,144, 48, 93,194, 98, 17,245, 0,132,138, 26,226,167, 56,139, 85, 25,255,127,103,227, 79,223,173,175,215,103, + 0,202, 79, 50,249, 49, 49,145,139,162, 19, 62, 50, 91, 30,243, 28, 66,117, 10, 83,117, 67,208,170, 19, 76,234, 16, 64, 82,158, + 85,229,178, 99, 82,104, 69,112, 46,238,179, 83,199, 65,211,237, 85, 37,177, 2,158,221, 28,162,250, 61,230,222,243, 86,217,112, +178, 92,198, 68,183,106, 97,210,231,122,127, 72,145,231,204,157,229,160,108, 16,101, 21, 19,139, 52,237,186, 53,134, 89,154, 16, +180,224,119, 79, 42,214,181,131,118, 9,210,159,209,109, 68,138,168, 26,190,125, 60,227,196,192,161, 54,172,235, 18,177, 88, 32, +122, 3,100, 83,162,130, 66,202, 22,105,114,164, 3,233, 74, 70, 46,240,252,230, 24,147,230, 49,217,173,203,104,250,226,214,188, +237, 45,109,154,210, 51,105,180,120, 37,112,208, 68, 97,141,255,101,252, 4,193,199,110,133,189,191,203,157,195,247,121,107,239, + 54,183,246,239,178,191, 94, 81,175, 42,234, 32,232,121, 79,147, 37,212, 89,130, 79, 12,106, 48,132,164,207,192, 11,180,111,241, + 66,176, 21, 44,153,209,244, 67,192, 8, 65, 8, 1,139,196,116,254, 6, 83,219, 50,212,134,195,170,134,117, 27, 61, 31,252, 39, + 3,171, 68,151,233, 10,186,202, 11, 27, 37, 87,211,140,223,121,114,135,191,119,237, 58,231, 50,197, 43,213,138, 87, 79,214,120, +169,152,226,145, 74,243, 65, 83,210, 42,197, 68, 40,174, 38, 25, 67,161,162,229,179, 0,100,188,255,167, 14,146,214,100, 88, 5, +137,214,172, 2, 44, 19,197, 58, 49, 12, 51,195,112, 16, 21,246,122,169,230,216, 90, 18, 4, 1, 56, 92,173,217, 74, 52, 7,101, +205, 36, 79, 41, 91,135,181, 22, 27,160, 85,154,224, 26,218, 32,177,109,139, 48, 9,179, 54, 48,236, 41,170, 74, 32,132,197, 5, + 65, 30, 2,107, 4, 67,235, 88,120, 71,210,182,172, 93,203,134,173, 57,176,150,121, 91,242, 94,109,209,173,229,184, 92,211,148, +107, 22,174,197, 16, 56, 90,213,140, 19,195, 91,243, 21,147, 94,198,219,139, 53,151,132,228,173,249,156, 3, 91,243,157,195, 3, + 50, 35,248,206,241, 17, 79,106,193,157, 0, 33, 56,146, 32, 25, 59,139,209, 73, 52,195, 14,142, 32, 28, 19,173,121,183, 12, 92, +144, 21,199,107,207,197,141, 30,247, 79,214, 36,210,211, 87,154,227,186,164, 72,163,127,125,169, 19, 26,225,226,115,155,117, 12, + 41,107,127,226,160,248,195, 7,238,157,152,140, 54,241,140, 70,225,188,143,213,186,144,132,214,210, 75, 13,107,219,208, 4,135, +212,112, 82, 58,140, 11, 44,154, 54,186,129, 6, 65,104, 58,108, 78, 91, 66,217, 57,136,226,227,179,255, 40,174,157,130,154, 78, +103,159,246,172, 91,252,255,251,160,238, 59, 41, 49,173, 58,222,122, 23,200,219,112,134, 42,116,237, 89,228,246,174,171,214, 62, + 9, 81,223, 1,226,132,234,130,184,138,191,211,214, 93,203,186, 58,227, 28, 54, 54,122,174, 55,143, 41,234, 25, 29,171, 65,249, + 24,176, 76,158,185,155,137,172,207,139,207,127,134,103,158,188, 78,175,215, 67, 27,197,186,170,184,115,112,159,189,123,119,227, +225,123,154, 28, 36, 26,146,132,173, 81,206,118,191,160,159,245,144, 82, 82,217,134, 85, 83,115, 82,150,236,174, 74, 88, 86, 81, +251, 57, 72,212,164,224,252,104, 64, 47, 53, 12,139, 49,219, 59, 27,228,137,102,182,106,248,214,107,119, 89,188,255,131,159,184, +133,243,216, 13,238, 70, 19,157,236,109,136,148,183,247,235, 21, 7,199,187, 60, 56,216,101, 93, 55, 92,217, 58, 71,222,207, 81, +194,243,224,225, 17,255,213,239,254, 19, 94,249,202, 55,187,160,103,226,125, 82,242,236,104,124,132, 57,232, 16, 38,173,143,149, +241,143, 19,247,249, 81,175, 34, 59, 11,138,139, 89,180,225,108,218,174,187,146, 69, 31,128,208,237, 1,239, 98,144,174, 42, 88, +150,221,247,106,232,231,241,193,245, 62,226, 0,230,221, 92,218,119,202, 21,233,169,211,223,169,196, 36,143, 37, 42,143, 5,118, +173,227,126, 60, 77, 42,165, 6,235, 59,139,204,186, 75,244,116,164,133,101, 25, 66, 9,196,186,138, 18,188,213, 58, 6,112, 37, +161,170, 9,173, 37, 56, 23, 3, 58, 68, 3, 14,217,129,118, 78,177, 16,222,131,245,188,225, 53,111,103, 9,175, 84, 53, 83,231, + 97,181,132,121, 25,247,112, 19,120, 48,204,153, 33,120,191,177,113,252, 81, 85, 81,191,191, 41, 17,131, 17,120,203,129,144,188, + 44, 4,107,147,196,189,188, 92, 67, 43, 17,202,116,186, 15, 18,241,255,114,247,102, 63,150, 93,217,153,223,111, 79,103,184,231, + 14, 49,228, 72, 50, 73, 22,139,172, 42, 85, 21, 85, 82, 73,130,160, 22, 36, 75,141, 22, 44,248,193, 3,208, 86, 3,110,219, 13, + 63,250, 47, 51,252,110,192,112,195,176,209, 70,171, 37, 75,213,146,154,170, 42,138, 51, 43,147, 57, 69,198,116,167, 51,238,193, + 15,123,159,184, 55,147, 76, 50,201,178, 90,178, 3, 72, 68, 70,144, 25,113,239,153,214, 90,223,250, 6,101, 17, 91,203,131,237, + 6,117,253,128, 91,215,142, 88, 61,190, 68,216, 30, 57, 88,164,208,136,160,144,214, 34, 11,133,104, 59, 62,233, 45,127,120, 56, +167, 16, 18, 3,208,111,177,219, 11, 86,245,138, 15,186,154, 48, 61, 64, 8,205,144,101,108,134,129, 19,239,185, 16,130,143,100, + 6,147,138,160, 13, 97,146, 19,154, 13,190,174, 9,247, 31,224,127,241, 49,254,242, 49, 65, 14,180,213, 49, 93,153,211, 41, 29, + 11,102,105,248,238,209,156, 27, 55,142,177, 46,199,132,150, 73,240,116,214,161,133,194,251, 1,129, 32, 87,138, 44, 4,154, 16, + 48, 90,243,160, 27, 88, 90, 7,117, 29,143,219,115,178, 25,196,179,150,206,206, 33,144,176,168,248, 31,223,120,131,239,221,186, +205, 76,104, 62, 89, 95,242,206,147, 53, 89,174, 25, 2, 44,219,158, 89,158,227,128, 91, 42, 99, 46, 37,133, 54, 76,132, 68, 74, +131, 37,112,233, 3, 7,202,208, 20, 57, 34, 56,188,212,244, 90,115,233, 61, 5, 10,147,233,216, 95,186, 64,149, 27,150,214, 83, +132,120, 29,158,110, 27,110,205, 38, 60,222,116,204,139,140,139,186,231, 64, 11,140,212,252,221,122,205,224, 28,173,215,224, 3, + 65, 25,148, 86, 88, 31,184,223,195,161, 10,100, 33, 80,134, 64, 7,204,173,227, 52,128,104,182,212, 33, 48,107, 26, 62, 28,122, +238,110,182,124,214, 13,172, 55, 43, 30,247, 61,194,245, 92,214, 45,198, 57,206,182, 61,173, 11, 60,104,122,230, 38,227,147, 77, + 67,107, 61, 79,250, 30, 19,160,189,216, 50,207, 52,247, 30, 60, 97,154, 27,126,113,118, 73, 46, 3, 86,101,244, 93,143, 45, 10, +142,157,231,220,118,220,153, 77, 57, 80,154,191, 89,117,188,148, 5,150,131,228,102,230,121,111,235,248, 97, 41,113, 34, 62,223, +107,175,152,232,192,113, 53,227,141, 50,231,129,135, 46, 35, 89,125,187,100, 6,243, 75, 14, 14, 42, 37,143, 10, 15, 62,145,220, +164, 96,232, 61, 91,235,153,103,154,203,186,167,202, 36,221,224, 9,214,147,201,192, 89, 29, 83, 62,109,231,147,227, 93,226,189, +140,164,107,229,147, 29,249,222,179,227,115, 30,135,105,192, 26,107,203,255,175,139, 58, 36, 55, 57,157, 38,193, 36,228, 31, 69, +255, 67, 27, 59, 43,111,227, 3, 94,136,184,220, 54, 42, 49,214,213, 78,228,159, 38,164,200,118,212, 49, 69, 13, 17,255,110,251, +221,109,109, 19, 75,209, 39,120,100, 60,200,185,217,113,207,228, 51, 12,135,174,135,170,226,230,173,107, 28,207,142, 41,202,146, + 97,240,212,219,154,119,238,126, 64,119,113, 17,139,158, 78, 19,122,145,113, 84, 25,110,204, 42, 14,167,115,166,217, 4,135,167, + 29, 90,182, 93,199,233,166,163, 91,117,208,244, 8,149,145, 95,159,114,115,154,113,109, 54, 99,106, 42, 94,122,229, 21,138, 73, +206,106, 99,121,255,239, 30,242,167,239,254, 5, 60,185,255,212,195, 73,188, 48,244,148, 26, 22, 49,190,151,152, 12, 84,167,164, +180, 89,150, 83,233,130,224, 53,171,117,199,207, 62,120,143, 79,127,242,211, 4,171, 39,169,134, 81, 79, 63, 13,251,244,189,126, +116,176, 19,187, 44,251, 95,138, 60,153, 94,107,121, 24, 39,115,145,108,111, 93, 42,230,117, 3,243, 73, 50, 28, 18,177,160,139, +244,121, 68, 11,132,136,141,223,166,139,231, 98,148, 73,218,100, 35,108,187, 24,220, 99,147,132, 82,132,167, 11,187,148, 73,190, + 39, 99, 34,133, 76,215,140, 34, 5, 12, 69, 27,201,200, 41, 40,162,253,240, 96, 83, 83, 82,199,194, 61,106, 91,115, 19,139,122, +158, 69,219,100, 72,175, 47,201, 56,199,235, 87,200,200,202,239, 97, 56,152,197,107,219, 7,184,220,198,162, 44,163,214, 54, 52, + 61,219,202,196,127,155, 73, 88, 54,241,218, 94,204,162, 68,173,168,224, 98, 5,229, 20,170,114, 23,236,115,177,130,114,130,240, + 3,120, 27, 19,168, 68, 76,108,234,231, 37, 75,107, 17,141, 69,172, 26,132, 10, 96, 20, 34, 12, 49, 98,120,112,144, 73,130,115, + 28, 59,193,145,239,200,109,141,104,123,134,102,205,178,235,249,105,211,211,151, 57, 42,159,224,165, 38,120,135, 84, 18,215,183, + 60,193,208,154, 2,170, 5,193, 76, 8, 66, 68,144,164,200,162, 25,201,242, 18,127,177, 36,232, 64,152,222, 32, 8,193, 80, 42, +254,235,131,146,255,252,118,201,119, 15,115, 84, 85,240,241,137, 37,147, 29,202, 58, 38, 90, 19,136,249,215,222,123,186, 16,112, + 82,240,164,111, 89, 15,158,229,120, 29,174,187,200,246,127,166,152,239,238, 33,153, 38,246, 84,220,101, 0, 83, 82, 77, 37,133, +208,252,117, 83,243,191,156,159,211,213, 61,235,186, 69,107, 73,161, 53, 10,137, 81,129, 45, 80, 72,197, 53,101,112,233,180, 22, +218,160,164,162, 23,146,198, 57,230,101, 21,139,117,240,244, 82,114, 14,180, 1, 38,133,161,146,146,243,206,226,189,139, 91, 72, + 4, 85,174,121,180,108,184, 49,201,185, 88, 55, 40, 41, 17, 82,112,222,245,200, 32,184,112, 61,125,231,241, 90,131,214, 52, 67, + 67,231, 28,219,190,199,135, 64,150, 41,206,235,142,128,231,253,203, 45,249,176,101,233, 99,254,251,169,183,216,102,205,224,225, +100,117,193,103,174,167,217,108, 88,110,214, 88,224,100, 89,179, 50,146,117,107,169, 7,203,121,221,225, 16,201,179,193,227, 86, + 91,130, 54,180,203, 21,193, 7,218, 39, 43,130, 81,216,186, 35, 12, 29, 97,186,160,169,183,172,116,198,111,205, 42,150,155,134, +206, 75, 94,158,228, 52, 93, 75,129,133,188,224,142,239, 57,241,138,174, 95, 97,109,207, 16, 96,145, 23,228, 66,210,218,232,210, +247, 32,136,200,125,154,100,241,126, 24,161,239,111, 98, 89, 62, 42,173,178,184, 90,193, 13, 9,185,181, 87, 40,192,122, 24,168, +123,139,181, 2,111, 3,195,224,217, 52, 14, 33, 2,182, 79,161, 96, 93, 31,159,159, 46, 14, 99,144,146, 78,247, 93, 87,125, 26, + 2,174,166,244,196,102,180,254,133,204,220,254,241, 20,117, 83,196,244, 32,228,151,230,117, 63,119, 90,207,246, 32, 80,165,227, +129,242, 67,100,172,219, 62,234,110, 69, 58, 34, 33, 77,135, 90,236, 96,244,164, 41, 39, 36,104,101,132,232,165,220,155,244,211, +212,101,197, 14, 94,127, 54,181,205,167,137,223, 37, 41,152,243,145,176,225, 1, 97, 56,203, 37, 47, 47,230,244,221, 64,176,150, +187, 79, 62,229,131,123,159,236,180,144, 58, 78,131,147,210,112, 56,201, 89, 76, 43,102,249, 28, 41, 37,214, 14, 44,251,142, 77, +215,243,164,238, 99, 30,187,206,224, 96,194,157, 69,201, 97, 89, 82,230, 37,243,114,206, 91,223,123,157,235,179,146,204, 8, 62, +120,239, 99,222,251,228, 35,184, 60,249,166,112,200,158,110, 51, 69,241, 86,115,178,178,228,160,200,200,181,161, 13,129,143, 30, + 62,224, 79, 63,124,143,247,254,230,239,192,109,246,150,144, 38, 22, 43, 41,227,212,238, 82, 65,175,219, 20,247,153,154, 38,163, +190,121, 39, 93, 20,177,136, 78,167,176,217,166, 41, 57,192,164,138,231,181, 79,222,246, 82, 70,103,166,182,191,178,239,197,199, +104,225,120,142, 18, 44,159, 21,241,245, 5, 82, 1,110,227, 62, 61,249,223,211, 52,113,119,175,216,161, 67,251, 81,139, 87,225, + 13,114,215,224,133, 61,214,171,115,177, 48,236,191,223,253,191,123, 31, 39,243,100, 97,138,115,145,112, 39,211,100,158,114, 5, +174, 86, 25,125, 63,218, 95,193, 43,183, 80,229,140, 27,101,197, 54, 23,240,228, 50,233,204,211,185, 92,204, 35, 18, 20,194,206, +132,102,181,142, 73,123,155, 26,174,207, 33, 4,196,172,136,175,121,219,166,102,110, 27,139,121, 82,153, 8,231,163,157,229,249, + 26,113, 48, 71,228, 38, 30,183, 77,141, 24,250, 24, 13,170,210, 74,164,183, 64,224,167, 93,207, 27,198, 80, 17, 80,125, 75,211, + 90, 62,169, 91,126, 58, 56, 62,177,142,235,243, 25,223, 41, 42,222, 94, 28,161,134,158,181,247, 28,116,151,124,234, 76,108,172, +102, 7,145, 56,184,184,193,143,143,143,185,223,172,240,189, 35,212, 91,194,253,207, 8,153,137,124, 10, 39,248,147,155, 37,223, + 59, 46, 89,228, 26,147, 73,126,182,246,232,213, 41,165,209,116,125, 71, 78,160,151, 38,150, 99,109,120,210,109, 25,132,196, 14, +150,190,239,232,214, 49,255, 65, 52,245, 83,197, 92, 60, 85,216, 61, 2,141,192, 94, 77,235,216,142,159, 7,195,159,122,199,159, + 55, 61, 53,169, 73, 20,130,237,186,129,204, 96,113,136, 32,201,149,226,186,210, 12, 4, 94,214, 5,185,206, 89,135,128, 70, 97, +181,230,176,172,216,122,199,160, 13,235, 32,112, 82,176,246,129, 13, 49,161,113,150, 25, 42,163,232, 7,199, 48,120,172,128,102, +176, 17, 58,111, 7, 14, 50, 21,141,180,172, 67,245, 22,213,119, 8, 33, 57,181,158, 94, 72, 6, 17, 73,215,117,223,114,233, 3, + 23, 46,176,217, 54, 76, 76,198,197,166, 97,161, 28, 15, 90, 75,233, 58, 30,110,107, 28, 61,219,110,203,159, 45, 47,184,168,155, +216,144, 54, 17, 70,118,231,171,248, 60,220,180,208,247, 49,201,174, 31, 98,200, 86,211, 17, 86,171,120, 15,157, 44, 99,145, 93, + 94,198, 21,195,233, 50, 26,187, 12, 1,108, 67,168,230,116,237, 26,134,158,133, 12,156, 15, 3,133, 17, 4, 27,157, 11, 55,205, +138, 90,192,147,166,230,208, 24,206, 91, 75,158, 5,166,166,192, 5, 16, 90,179,181,150,123, 99,152,202,164,136,190, 36,215, 15, +163, 75,162, 76, 68,225,175, 83,103, 76,182,139, 20, 31,221, 73,247,239, 65,239,163,117,122,223,209, 53,142, 70, 6,154,186, 71, + 40, 69,223,244, 73,174,214,196,223,235, 54,169, 64, 63,199,117, 85,243,140,220, 40,125,253,130,205,200, 63,142,162,174, 83, 22, +176,142,214,170, 95,197, 42,126, 62,213,120,239, 97,218,165,192,150,171,253,185,221,177, 92, 66, 58,112,195, 62, 20,236,158,110, + 14,180,121,122, 90,191,154,184, 83, 66, 92,231,118, 80,238, 62,132, 47,216,193,162, 33,193,180, 99, 23,166, 4, 46, 24,234,208, + 48,241, 61,203,205, 35, 46, 54, 39,108,124,199,224,119,150,130, 89,169,185, 86, 77, 56,172, 74,166,217,132, 66, 90, 78,169,235, + 0, 0, 32, 0, 73, 68, 65, 84, 27,108, 8,108,135,150,139,237,134,179, 77,135,219,246, 48,128,152,228, 92,159, 23, 92,171, 10, +102, 69, 69,174, 50, 6, 2,175,189,122,135,249, 52,227, 98,213,177,222,212,188,243,209,123,176,190,124,174,246,246,171,235,186, +219,243, 3,144, 48, 95, 80,205, 74, 14,178,156,160, 20,171,186,229,201,102,203,242,228, 18, 46, 79, 83,243,147, 46, 88, 61,162, + 32,169,248,140,133,193, 36, 66,158,237,119,251,229, 47,156,212, 83,215, 58,194,226,232,167,239, 4,157,104,252,102, 22,245,158, + 70,198, 27, 80, 22,224,154,157, 54,116, 83, 67,189,141,231, 56, 58, 73,128,206, 83, 99,230,226,121, 51, 58, 54, 8, 46,194,226, +148, 42,122,217,207,170,116, 46,109,146, 47, 57,162, 56,117,111,133, 16,194,211,133,221,166, 66,218,251,221,154,232,107, 48,117, + 62, 71,140, 51, 58, 54,164, 99, 65,246,196,227,233, 92,226, 61, 4,152, 47,120,235, 91,175,243,107, 71,183,184,153,151, 76,253, +192,227,211,232,206,118,149,147,144,151,187,166,202,218,200, 11,209, 38, 73, 63,199,172,231,128,152,228,177, 72,103, 10, 46, 46, +163,217, 19, 62,146,230,172, 67, 12, 3, 98,176, 8, 23, 82,118,193,140,127,254,250,109, 66, 54,112,250,217,229,238,149, 91,119, +245, 30,124,215,241,231,141,197, 13,142,198, 8, 30,122,203,251, 18, 62, 81,240,104, 99,185,121, 48,225,119,111,188,196,245,188, +224, 85,105,152,175, 47,168,221,128,217, 62,230,209,166,129,182, 39, 28, 28,240, 47, 95,191,206, 31,189,121, 27,161, 22,188,223, + 46, 99, 70,188, 84,132,135,247,225,248, 26, 28, 29,241,122, 85,240,237, 69, 78, 43, 4,103, 29,220,247,240,248,211,135,152,224, + 49, 4,214, 82,130, 16, 56,161,120,104,123, 10, 33,144, 42,103,232, 7,142, 50,104,236, 64,183,105, 16, 67,159,244,198,241,116, +238,127, 22,105,167,254, 84,177, 31, 44, 98,219,211, 78, 13, 78,166, 66, 47,227,196, 37,130,163,217, 52, 52,198, 80, 72, 34, 63, + 70, 75,230, 62, 80,101, 6,235, 44, 83,105,152, 72,197,214,123,122,233, 17,186,164,182, 61, 94, 74, 30, 9,197,178, 23,172, 26, + 75, 94, 26,182,110, 64, 75,193, 76,105,188,243,180,221,128,246, 30, 63,120,242, 16,240, 8,164, 8,176,237,152,181, 29,165,179, +168,224,104,115,197, 73,239,216,184, 64,235, 28, 27, 33,232,156,231,126,183,102,144, 25,149, 86,200,190,225,222,106,195,249,208, +178,238,123, 54,182,163,235,123, 62, 91,175, 57,107, 45, 92, 46,227,245,119,177,142,241,219,193, 71,181, 81, 63,196,123,202, 54, +241, 26,243, 67, 84,141,228, 57,156,158,199,251,111,181,138,215,196,118, 27,135,159,109, 3, 34,198, 37, 35,162,251,231, 89,223, + 51, 15,240, 51,231, 89,116, 29,235, 32, 88,214, 91, 30, 4,133,182,142, 39,214,161,188,231,174,179,252,197,118,203,107, 50, 96, +101, 96, 51, 12,252,101,111,227,229,138,143,107,184, 60, 71,234,156,151,143, 15,152, 29, 77,168, 15,231, 4, 39,211,250,244, 5, +208, 65,231, 34, 73, 88,184,221,189, 2, 41, 95,100, 72,171,222, 16, 27, 24,198,148, 75,129,235,250,248, 59,172,141, 5, 93,217, +157,204,247,203,102,168,209, 9,117,159,168,247,194,180,162,127, 12, 69,221,251,180,175,216, 17,135,190,209,207, 64,198, 93,135, + 27,226,131,168, 75,218, 16,199,110, 23,225, 34, 9,126,127, 0,189,130,136, 71,237,185, 76,208,188, 16,241,117,165,155, 63, 66, +156,163, 55,124, 58,137, 98,183, 51,143, 77,129,137,147,169,244,201,160,127,120,250,196, 76,102,148,243, 9, 85,169,200, 53, 20, + 38,222,232,151,214, 19, 92,180, 14,172,202,130,235,179, 41,243,162,162,204, 39, 41,173,171,231,124,187,230,164,110,217,110, 59, +132,245, 80,104,110, 45, 10,110, 86, 21, 85, 81, 98,164, 70, 74,205,209,225,171,160, 74,250, 32,120,248,112,201,195,199, 15,249, +232,254, 61, 88,158,127, 51,232,105, 31,133,240,196,155,114,126, 72, 85,149,232,148, 91,126,210, 52,108,158, 92,194,217,131, 20, +180,147, 90, 80, 97,210,234, 34,117,184, 89, 34,132,141,176,187, 75,123,238, 97,120, 62,244,174,229,174,113, 29, 93,253, 70, 72, +106, 50,141, 95,151,243,184,227,118, 46, 74,139,236,144, 32,172, 33,157,244,104,231, 24,247,224, 1, 84,145, 76,135,210,117, 83, +153, 56, 69, 84,217,142, 91, 81,165,102,161, 72,174, 79,222,197,255,103, 36, 77,202,196,187, 24,228, 30, 9,208,196,189,155, 52, +169,121,200, 32, 31,149, 4,207, 63,246,226,170, 81,121,186, 97, 9,251,141,141, 72, 1, 70, 46, 17,170,204, 12,249,171,111, 17, +206, 47, 82, 53, 17, 80,206,184,249,202,109,102, 69, 69,166, 10,140,132, 79, 79,206, 97,187,142,175,105, 76, 78, 20,130, 76, 9, +110,107, 88, 53,251,107, 43,153,204,151, 28, 28,205,160,152,197, 9,220,135, 68, 24, 84,136, 20,205, 43,246, 27, 62, 60,255,213, +219,111,241, 47,222,252, 46,191,119,253, 38,239,172, 78, 56,191,216, 92, 53, 56, 87, 54,150,222,227,109,207, 7, 97,224,207, 6, +193,217, 52,231, 1,158,115, 47, 24,108, 64,230,134,223,153, 46,184, 38, 13,197,224, 41,183, 23, 56, 4,210, 7, 84,127,201,163, +229, 25,223, 95, 28,243,251,223,190,193,155,215,231,156,108,122,126,210, 65,200, 6,194,201, 25,225,244, 81,116,194,155,223, 98, + 57, 59,224,179, 65,240,216,193, 71,173,231,211, 85,207,185,133,220,121, 90,219, 70,110,177, 52,180, 2,132, 16, 32, 13, 50, 56, + 22,153, 33,247, 3,202,246,132, 48,208, 46, 55, 8,239,159, 2, 67,197, 51,224,168,124, 22,150,183, 61,172, 54, 8,159,208, 64, +149, 26, 49, 36, 88,135,235, 58,214, 66,144,107, 67, 55, 12, 44,140,230,178,239,120, 75,231, 4, 99,120, 40, 36, 85, 97, 48, 86, + 80, 7,207,133, 54, 60,118,158,199, 27,203,214,123, 90,226, 37,238,149, 36,243, 30, 23, 60,218, 58, 46,235,142,185,148,184,222, +178,181, 3,155,245,134,126,219, 48,107, 7,140, 31,208,222, 81,132,232, 65, 95, 86, 57,119,166, 25,111,148,134,219, 69, 70,222, +247,172, 61,156,247, 13,239, 53, 91, 62,108,107, 30, 13, 29, 39,182,231,241, 96,121,220,108,121,112,121,198,210, 9,196,201,147, +216, 36, 95, 92,198,235,146,189,208,173,164,144,136, 60, 20, 23,229,155,163,194, 98, 31,145,218,123,110, 6,239,146,135,134,132, + 34, 35, 92,108, 8,133,230,161,247,220, 14,158, 71,213,156,118,123,201,251, 58,167,116, 29, 91,107,217, 10,197,165,119, 56,215, +115, 17, 2, 15,187, 30, 53,120, 78,219,154,251,193, 63,197,139, 58,194,243,118, 49,225,119,230, 19,126,237,224,136,223, 60,152, +163,103, 57,247,114,149, 86, 98, 47,176,250, 19,196,250, 50, 42,147, 70, 95,143,113,101,107,251,184, 82, 27, 18,147,221, 15, 73, +230,236, 18,212,158, 2,195, 94,244, 25, 60, 62,155,198,191, 75,253,197,132,220,127,180,240,251,213, 68,243,180, 85, 30, 90, 39, + 6,115, 98, 11,127, 25, 81, 64,138, 52,125,141, 33, 42,201,222, 85,133, 29,204,106, 68,124,206,143, 63,195,164,234, 46, 19,236, +234,146, 99, 80,158,195, 75, 7,112, 52,133,101,189,243, 65, 23, 50, 77, 30,209, 87, 56,154,180,236, 17, 28, 38,101, 44,236, 38, + 75,221,149,125,250,245,154,146, 27,119,110,240,202,252, 16,109,178,184,214,237, 91, 78,183, 93, 42,234,146,235,147,130,107,213, +140,210, 24, 36,138,206, 15,172,251,154,243, 77,205,197,101, 13,189, 69, 40,197, 43,243,130,151,143, 38, 28, 84, 37, 70,104, 50, +157, 83, 84, 83,254,211,223,255, 1, 63,126,243, 8,169, 21,127,241,211, 19,254,242,227,191,163, 89, 95, 68,189,242, 47,179,179, + 30,177,162,234, 16,142, 14, 40,141, 70, 9,120,188,174,105, 87, 27,184,184,136,197,121,212, 91, 74,145,136,114,121,220, 29,233, +189, 34,110,212,142,245, 62,118,194,207, 67,113,236,142, 0,138,220, 63,119, 58,222, 48, 38,139, 55,154,117,145, 16, 87,111, 64, +151, 17,249, 9, 42, 90,127, 14,109, 44,106, 33, 62,188, 17,169,185,168,242,216,104, 76,146, 4, 70,171,248, 59, 42, 19, 31,198, + 70, 38,182,121,216,153, 16,217, 68,192, 20,106, 15,194,243, 81, 58, 35, 68, 68,114,148, 1,153,237, 94,255,115, 61,197,147,235, +222,216, 84,122,187,199,122,245, 79, 55, 54,227, 49, 29, 43,199,181,235,252,240,205,215, 57,249,224,227,248,125,231, 33,203, 56, + 61, 92, 80, 86, 11, 46, 3,188,223,118,116,143, 31, 68, 38,183, 17,144,149,208,110,184,118, 60,231,247,143, 42,110,101,154, 66, + 5, 78, 46,215,241,191, 13, 77,132, 24, 69, 72,146,205, 99,254,217,241,171, 28, 79, 12, 15,158,156, 70, 67, 27, 19,163, 64, 73, +211,171, 48, 26,208, 44, 22,134, 63,254,193,143,248,219, 39,103,220,117, 61, 15, 30,159,198,200,224,177, 65, 73,210,176, 49, 89, + 42,120,201,153,201,240, 72,110, 2, 63,170, 50,110, 20,130,169,148,188,220, 7,228,208, 32, 49, 52,190,229, 0, 9, 89,206,203, +194,177, 25, 28,157,207,216,132,192,191, 62,233,120,210,119, 4, 83,194,172,140,199,110,189, 37, 72,135,206,143,248, 48, 72, 46, + 7,248,100,176,172,183, 17,181,105,234, 26,134,192, 36, 19,116, 78, 32,114, 77, 70, 12,136,154,168, 12,165, 20, 42,192,205, 16, + 19,178, 30, 53, 61,170,115, 72,118,133, 93,125, 65, 65,127,182,176, 51, 88,196,182,129, 46,217,127, 75, 5,185,185, 74,236, 10, +181, 99,179,220,178, 21,176, 10,158,185, 17, 8, 93,176,178, 61,103,182,229,124,112, 88,109,120,191,239, 80, 66,240, 68, 9,206, +154,150,117,240,216, 44, 99, 93,183,100, 97,192,123,168,155, 14,183,109,168,140,138, 54,202,131,229,100,179,230,108, 91,211, 52, + 13, 19,107,163,211,156,181, 4, 15,153, 49,220,152, 78,184, 49,155,112,108, 12,151,131,199,202,128,168, 27,222,111, 55,132,161, + 33,244, 45,222, 89,232, 26, 66,189,134,243, 83,196, 96,225,228, 28,218, 22,177,169, 17,146, 8,179,135,164, 6,217, 47,232, 95, +151,113, 46, 71,211, 31, 15,133,137,207, 82,239, 88, 26,131,234,182, 60, 54, 25,175, 14, 53,181,201,185, 59,180,204,148, 96,105, +123, 78,156, 67,234,156,239,248,150, 75,239,249,168,109, 8, 30,222,146,146,133,144, 92,122,199,155, 38,227, 87, 38,134, 91, 38, +199,168,128, 17,154, 75,223,115, 87,104,156,208, 17,189, 82, 89, 42,206,246,249,104,165, 73,211,186, 50, 96,219,196, 93, 73, 12, +246,253, 24,242,167, 2, 89, 82, 16,216,215,217,231,107,253, 12, 4, 47,159, 46,246,254,255, 11, 69,221,185, 47, 46,232, 87, 15, +197, 4,139, 7,249,197,112,201,213, 30, 34, 60,221, 5,238,235,112, 71, 25,149, 25, 63,167,255,238,252,110,210,145,137, 72, 39, + 45,211, 87,111, 49, 45, 50,154, 39,235,100,237,103,119, 48,116,231,119, 18,170,241, 53, 23,147, 4,131,202, 29, 84,237,159,121, +152,231, 19,236,108,198,237,131, 35,148, 16, 56, 31,184,216,108, 56,171, 59,148, 86,148, 74,113, 52,201, 40, 77,134, 86, 10,239, + 28,219, 97,203,197,182,230,193,170, 78,177,166,176, 88, 20,188,116, 88, 50, 47, 74,140,201, 98,230, 60,130, 27, 7, 51,126,251, + 87,191,197, 98, 58, 99,106, 20,239,222,219,240,206, 47, 62,196,214,107, 56, 59,121, 46,188,251, 66, 59,165,249, 20,200,120,237, +199, 63,224,215, 95,126,157, 91,179, 5, 65, 58, 90,215,209,124,250, 16,252, 38,237,206,139, 84,204,211,241,108,235, 72, 34, 28, +139,184, 20, 17,150,203,205,206, 11,249,139, 46,246,241,220,143,146, 77,253, 12,194,226, 71,123, 95, 19,111, 68,157, 39,107,224, +144, 98, 99,137,134, 67, 38,143, 77,217,200, 7, 48, 69,108, 20,117, 98,144, 79, 77,146,170, 40,200, 21,114,146, 35,180, 66, 26, + 69, 24,207, 33, 41, 48,104,176,241,223,140,112,154, 78, 48,254, 32,163, 49, 81,110,146,244,164,139, 23,135, 78,202,129,231,133, + 1,233, 81,159,191, 87,216, 71,207,234,103, 31,120, 34, 77,235,227,199,118,205,201,199,159,238, 96,127, 66,108, 88,143,103, 60, +201, 43, 78,135, 45,157,181,208,109, 34, 84, 58,254,204,131, 67, 94, 91,104, 50,163, 9, 1, 62, 89,246,108,181,129,213, 5, 76, +230,208,213,241, 61, 8,193, 31,190,254, 38, 63,124,227, 85, 74,239,184,215,173,232, 78, 19, 92,218,237,145,199,140, 70,100,154, +251, 23, 45, 31, 46, 31,241,192, 76,184, 11, 44, 55, 13, 97,179,141, 58,111, 41, 63,159,130,102,123, 66,208, 28, 21,240,134,210, +188, 81,149,188, 49,159,210,121,203, 13, 37, 81, 46, 66,157,153,146, 76,117,134,240,150, 30,144,125,205, 79,159,156,240,111,206, + 59, 30,116, 77,132,221,117, 70, 16, 6, 42, 77, 48, 18, 46, 47,217,108, 46,121,141,130,207,182, 3,125,221,208,116, 3, 85,219, +192,118,197,145,148, 8,153, 81, 77, 12, 90, 72,188,130, 3, 64,104, 69,142, 96,130,128,161, 37,195, 33,133,224,162,173, 81,131, +101,164, 8,236,255,217, 47,242,159,219,185,251,184, 99, 23, 46,128,214,136,210,196,128, 35, 37, 16,237, 16, 55, 78,118,224,210, + 57, 30,116, 3,109, 24, 56, 13,142, 51,111, 49, 66,240, 81,223, 48, 17,130,143,189,227,209,170,166, 53, 37, 79, 54, 75,250, 16, +168,125,207,196, 69, 87, 75, 97, 29,167, 67,199,114,187,165,173, 59, 62, 93,157, 51,244, 29, 67,112,172,251, 45,166,219,112, 83, + 40,108,146,241,137, 44,103,114, 48,141, 54, 17, 82,112,152, 25, 30,174, 87, 56,215,243,176, 27,168,235,109,188,103,150,231,132, +203, 11, 56, 95, 34,150,107, 56,189, 68,132, 14,209, 70,164, 70,132, 30,132, 65, 40, 31,101,138, 62,161,114,163, 84,245,235, 32, +131,222,167,240,149, 68, 0,237,134,132,140,246,116,194,131, 13, 92,106,197,118,179,129, 32, 89, 91, 71, 23, 28,232,156, 31,251, +134, 11,149,241, 27,153, 96,134,226,183, 84,148,159, 86, 67,205, 45,161,208,120,126,101, 58, 97,145,130,210,182, 67,199, 84, 74, +126,178,105, 8,133,142,210,183, 34,135,249, 60,145, 92,247, 82, 63,159,154,214, 83,243,210,182,113, 88, 24,119,227,157, 77,255, +205,255,191, 52,228,202, 47,159,128,191,228,247,252,195,155,207, 24,189,199, 90,126,166, 83, 82, 50, 86, 94,147,168,255, 50, 61, +221,195, 23, 9,241,247,222,138,251,130,130, 62,194,223,201, 4, 4,201,206, 46,118,172,112, 87, 38, 49, 22, 6,205,230,231,119, +227, 3,121,219, 38,210, 83,218,151, 42,187, 11,132, 65,238,153,181,216,120, 97,132, 4,155,116,225,105, 67, 1,128, 97,205,198, + 89, 92, 80,180, 22,214,173,227,164, 30,144, 8,202, 76,113, 80,228, 20, 38, 50, 97, 91,107, 9, 56,214,109,199, 69,215, 19,172, + 67, 40, 13,165,138,164,184,162,136,161, 33, 16, 67, 36, 92,203,195,179, 53, 39,203,142, 42,239,120,184, 28,176,206, 38,162,158, +251, 6,114,182,221,199,244, 55,190,195,183,230, 11, 38,170, 98, 54, 59,226,120,113, 72, 46, 13,215,219, 25, 85, 46,248,243,247, + 62,130,173,141, 59, 89,246,229,107, 73,106,214, 63,109,168,195, 36, 17,209,244,151,152, 42,140,231,107, 60,189,227,215, 58,157, +171,174, 7, 61,219, 17, 42,100,202, 35, 38,201, 25,221, 22,156,137,133, 93,164,140,248, 60,201,178, 72,205, 93,110,226,142, 44, +207,200,178,216,100, 41,160,144, 26,171, 28,181, 21,228,165,166, 27, 18,146, 52,155, 68, 63,245, 73, 30, 97,245, 38,105, 75,171, + 50, 90, 6, 75, 29,201, 67,121,145,222, 67, 27,157,232,122, 3, 19,226,123,126,170, 27, 79,124, 15, 29,167,221, 88,224,247, 59, +152,189,181,144, 75, 1, 16,227,234, 98,108,112,198, 99,145,103,209,140,105,179,129,195,109,116, 54,211, 9, 45, 40,202,168,195, +159, 86,240,248,140,119, 57,230,222, 12,100,110, 88, 41, 13,155, 75,152, 30, 64,187,141,123,116,239, 97, 93,243, 89,215,113,116, +190,229, 51,159,179, 12, 42,110, 49,106,251,244,121,243, 50,230, 84,219,158, 63,255,236,130,197,225,171,172, 79,207, 98,255,145, +206,249, 83, 83,250,222,159, 80, 47, 89,103,146,249, 97,193,119, 23, 37,153,144, 56,165,249,100,123,193, 91,197, 33, 70,121, 38, +147, 25,222,246,220, 12, 14,143,196,245, 43,190,181,189,228,238,234, 18, 83,205, 8,179,107, 4,100, 52,192,201, 94, 38, 20,115, +130,235,248, 23,179,156,191,189,247, 87,188, 89, 45, 88,150,135, 20,229,140, 39,237,150,107, 66, 64, 89,198,185, 91, 43,180, 20, + 76, 27, 79,143, 99,129,192, 23, 19,194, 48,144, 87, 71, 84, 66,113,190,174,209, 38, 39,198,194,124,126, 34,223,111, 84,174,222, + 87,250, 44,198,247,190, 93, 19,130, 36,100, 10,170,138,160, 12,225, 72, 35,122, 75,216, 52,132, 77,207,210, 57,254,109,231,249, +241,177,229,194, 43, 62,212, 27,174, 77, 42, 62,114, 27,200,166,108,125,160, 8,209,204,103,211,110,232,124,192,234, 14,113,182, +230,237,197, 1,178, 31,168, 76,198, 59,219, 19,174,137,156,114,176,156, 13, 27, 46, 29,220, 15, 45,101,223,112, 92,206,177, 69, +197, 76, 11,182,155, 22, 93, 21, 56, 37,176, 93,135,148,154,135,221,192,106,216,144, 97,105,235, 21,172,215,136,101, 3,171, 21, + 65, 14,136,145, 83, 50,158,215,222, 35, 84, 15, 72, 2, 30,161, 36,193,181,105,205,240,245, 72,175, 97,188,231, 85, 3,107, 29, +137,168,125, 7, 7, 7,177,192,151, 9, 82,207,243,120, 47,200, 36,237,180, 45,179,162,228,147,182, 97, 41, 4, 71,153,226,227, + 65,114, 68,203,185, 87,188,149, 5,250,208,209,175, 47, 97, 50,101,166, 21,107,215,115,210,245,120,145, 86, 35, 34, 68, 57,107, +211,195, 75,215,225,108,147, 34, 82, 19,172,222, 15,177,144, 15, 22,244, 38,222,159, 87, 38, 97,123, 70,101, 90,255,242,122,120, +173,191, 24,250, 15,207,148, 59,251,143,117, 82, 31, 39,112,165,227,222, 81,238,125,125, 53,229,176,251,108, 71, 93,174,253, 18, +182,160,125,250,107,255,140, 92,192,237,193, 33, 87,242,163, 44,254, 78,108,100, 99,187, 36, 53,112, 9,234, 80,196, 7, 38,169, + 83,243,118, 23,252,146,233, 84,188,211,207, 22, 68, 63, 95, 98,224,253,231,100, 87,179, 3,202, 42,167,115, 61,237, 48,176,238, + 26,122,219, 51,211, 25,135,121, 78,145,101, 8, 33,105,135,142, 77,219,114,110,123,150,109, 79, 24, 2,170, 52, 28, 87, 21, 7, +147,130,194,228,104, 37,233,251,129,203,182,225, 73,189,225,238,197, 25,205, 70,242,201, 67,199,187,159, 62,225,253,187, 31, 80, +169,128, 83, 57,109,239, 9,205,234,235, 23,247, 55, 94,225,159,254,202,247,185, 61,191,198,205,195,235,204,103, 7, 44, 14, 14, + 40, 76,134,243, 61, 77,187,228,211,229, 18,206,151, 59,153,213,216, 84,133, 16,215, 20, 89, 58, 31,253, 30, 52, 47,229,231,143, +207,243,246,248,114,239,239, 30,200, 85,156,184,155, 77, 34,160, 16,247, 89, 56, 80,147, 8,187,155, 44,157,184,116, 30, 77, 74, +200,209, 58, 58, 66,205,242,120,141,149, 5,224, 9, 62,112, 84,229, 87, 15,236, 76, 38,171, 77, 31, 8, 66,197,189, 95,112,105, + 98, 78,136, 81,174, 83,140,162, 74,193, 65, 99,196,111,136,223, 23, 33,238,214,242, 34,222,149,251,124, 17,159,184, 2, 9,118, +140,215,244,190,209,254, 30,203,118, 68, 61,174,162,113,247,110,114,159, 16, 16,159,194,136, 38, 51, 56, 92, 64, 62, 69, 9, 65, + 38, 21,110, 52, 81,217,180,145,244,119,185,161, 47, 10, 58,147,208,132, 50,143,238, 91,101, 21,247,128, 58,114, 33,206, 53,188, + 43, 53,247,187, 26,164, 67, 60,124,188, 11,164, 72,240, 59, 18,196,104, 0,213, 91,218,161,142, 43, 47,173, 9, 82, 71,118,116, +146,227,125, 62,163, 92,114,205, 24,126,235,230,148, 91, 89,193,196,100, 8, 37,249,197,208,113, 32,161,202,231, 8, 33,112, 56, +132, 16,244,222,177, 28, 58,154,190, 67, 52, 27,182,167,151,216,205,217, 21,124, 19, 76, 73, 40,103,252, 15,175,220,230,247, 94, +122,137,227,233,130,127,253,228,132, 91, 65,112,186, 61,231,150,130,163,108,194, 52,211,148, 69,142, 29, 98,242, 95, 41, 4, 57, + 62,242, 96,241, 20, 89,134, 14,138,105, 81,177, 40, 51,110,230,146,187,203, 14, 29, 28,198, 75, 12,158,241,113,174,158, 3,199, + 63,245,199, 59, 16, 30, 49, 36,110, 78, 89,112,109,118,192, 31, 93, 95,240, 79, 94, 57,230,164,222,178, 94, 54, 4, 60, 15, 55, + 53, 23,214,115, 62, 88,238,213, 29, 91,165,248,108,121, 70,231, 6, 30,172,207,104,112,172,173,101,109, 91, 30,116, 53,107,231, +248,219,139,115, 38,194,242,168, 94,242,139,186,229,172,222,114,183,169,209,190,227,175, 79,206,249,216,195,208,173,208,120, 78, +240, 88, 4, 74, 72,154, 20,108,243,222,118,203,123, 23, 75, 62,232,182,224, 2,153,237,113,193, 98,211,115, 82,180, 93,124, 15, + 1,132, 13,136,144, 38,115,107, 35, 31,193,249,104,123, 19, 66, 44,252, 95,115,205, 23,158, 69,109,187, 38, 93, 88,169,154, 41, + 17, 7, 41, 49, 18,107,137,114, 81,231,248,149,178,160,238, 26,222,158,228,209,138, 2,207,143,139,156,247, 26,203,143,171,156, +141,237, 41,165,164,177, 14,221, 53, 8,107,121,210,183,252,207, 23,203,216,168, 15, 9,125, 29, 3,190,180,230, 55,111, 86,252, +209, 43,215,248,209, 75, 71,188,121,243, 58,191, 88, 28, 50, 76,170,221,250,117, 24,146, 12,186,216,153,133, 5,183, 99,194,127, +227,130,254, 69,204,119,190,160,182, 61,127, 90,255,135, 45,234,251,147,202, 24, 87,122,213, 2,139,120, 34,145,241,160,141,208, +249, 24,146,178,127,209,248, 17,174,120,246,161,200,231,119,218,159,131,119,109,124,248,155,113, 63,158, 14,170, 86, 73,146, 38, +227, 5, 52, 6,200,140,110, 98, 97,188,123,243,157, 14,123, 31, 17,240,246,249, 5,171,172,200,167, 37,210, 7,182,125, 67,215, +247, 4,235, 57,154, 22,148, 89,129,146,130,193, 90, 90,235, 56,111, 59,214, 77,135,245, 1,101,114, 38,153, 97, 90, 26, 38, 69, +142,137,157, 6, 77,215,178,234, 91,206,215, 61,171,186,230,195,123,247,120,247,222, 7,172,150,143,184, 61,187,201,245,234, 6, +139,131, 99,238, 93, 60,138, 19,217,139, 94,116,142,136,138, 28, 46,120,229,218, 33,185,202,168, 38,115,132, 18, 20, 89, 78,179, +169,145, 74,240,100,249,132,187,255,254,189,248,158, 71,214,102, 8,187,162, 62,186,188, 57,191,251,220,245, 79,147, 12,191,148, +108,177,199, 33, 83, 73,199, 63, 50,229,139,196, 95,240,233,156,185, 4,201,211,165,203, 33,196,134,173,154, 68, 41,215,124,186, + 75, 94,146, 50, 18,227,132,231,104, 82, 82, 24,141, 70,178,200, 13,141,117, 84, 82, 99, 69,140,210,116, 4,130, 8,228, 69,137, + 27,229,143, 46,105,218,125,114,155, 35, 21,115, 41, 83, 66,148,221, 93, 67, 90, 69,251, 96,189,111,176,227,119,133,221,219, 47, + 0,206,252, 30, 73,102,143,131, 48,202,227,132, 72, 65, 66,201, 85, 14, 17,191, 95,205,225,232, 26,210,100, 8,169,240, 12,132, +182,129,139,243,216, 92,108,155,136, 44,228,102,151,239, 60,164, 9,108,232,162,171,222,232,156,104,109, 90, 79, 36,243,165,166, + 67,156, 62, 77,184, 20,222,131, 23, 8,147, 26,157, 54, 53,186, 87,134, 69,146,224,159,247,160,247,172, 85,198,143, 22, 37,183, +178,140,193, 59, 86,222,113,215, 90, 30, 73,207,235, 89, 69, 97, 74, 10, 97, 48,125,131,232, 26,238,213, 43, 6,239,169, 6,207, + 4,203,242,124,139, 61,191, 32, 20,146,144, 25,190,149, 79,249,195, 87,111,241,202,193,148, 7,155,150, 63,221, 52,124,178,189, +196, 11,205,194, 24, 54,193,113,123, 94, 48, 56,136,246, 51,129, 74,128,146, 10,165, 37, 2,129, 18,138, 73, 89,226,132,228,184, +156,242,250,226, 26,223,191,177, 32, 47, 52,219,204, 68,138,136,206,209,153, 68, 7, 80, 94,162,240, 95, 80,220, 53,210, 68, 18, +176,212, 38, 18,232,108, 64, 20, 25,191,127,115,193,111,223,126,149,219,249,132,197, 68,243,215,143, 46,162, 61,240,166, 37,116, +125, 92, 87,172,150,244,231,231,132,174,167,175, 27,194,164,164,111,107,250,203, 51, 6,219, 17, 54, 43,134,182,198, 5,203,189, +237,154,251, 23, 23, 44,187,142,243,174,229,162,111,185,223, 54,184,109,139,191, 92,242,241,186,227,253,118,205,153,180,124,108, +123, 42,169,249,120,187,225,253,229,146, 63, 59,189,224,189,190, 70,121,129, 12, 22,129, 99, 18, 60, 70, 9, 26,235, 35,225, 47, + 72, 68,202, 11, 23,222,199,226,206,110,125, 38,246,214,104, 79,113, 11, 94,224, 67, 60,143,195, 51, 38,223, 73,253,116, 83,172, +178, 84, 84, 13,167,214,242,135,243, 2, 23, 2,183,243, 28,225, 29, 39,125,195,175, 84, 19,126,178,217,240, 86, 49, 97,139,196, + 13, 45,189, 27,248,183, 79,158,240,201,106,195,249,186,137, 78,139, 38,145, 24, 67, 34,246, 5,199,239, 44,166, 84,198, 80,228, + 19,130,210, 12, 62,240, 88,201, 56, 24,164,192,159,100,234, 30,239,225, 33, 26,204,124,110,136,252, 38,220,178,103,235,215,184, +190,179,126,103, 95,254, 37, 14,115,255,176, 69, 93,250, 52,245, 36,131, 15,149, 58, 51,173,226,131,114,140, 59, 53, 41, 51,221, +166,233, 56,164,206,109,255, 13, 93,217,234, 61, 51,165, 91,255,229,140,121,147,165, 40, 77, 31, 9, 84,214,239,152,235, 87,230, +251, 54, 22, 18,233,175,148, 80, 41,104, 45,165,180,132,103,136, 17, 95,177, 91, 49, 37, 93, 86,144,233,192, 96, 7,218,174, 35, +207, 36,243, 60,195,168,152, 54,212, 59,199,186,111,185,236, 59,186,244, 30,170,162,224,160,202,152, 8,137, 17, 18, 99, 4,222, + 90, 86, 67,199,227,101,205,166,237,226, 36, 60, 56,172,134, 69, 57,225,229,227, 87,233, 66,143, 14,154,207,214,231,216, 71,247, + 94,108,159,238, 72,187, 49, 1,237,128,184, 62,165, 84,134, 82, 79,208, 89,137,210,130,174,110, 56,191, 56,229,127,255,249,207, +225,241, 19,110,254,225,239,178,253,244,222, 14, 5, 81, 9, 5, 25,189,142,159, 37,139,140,136,140, 20, 41, 17,206, 63,135,156, + 39,247,214, 49,236, 38,197, 44, 33, 2,117, 29,247,230, 67,212, 21, 71, 75,222, 42, 73,189,242,248,123, 22, 21,243,151,110, 83, + 84, 37,106, 90, 49, 56,155, 36,148,130, 92,107,148, 16, 84, 58,202,127,150,189,103,150,105, 58,239, 81,233,241,212, 91, 79,105, + 20,109, 61,196,253,153,243, 41,170,215,197,233,252, 74,155,238,211,132,110,227,181, 45,243, 88,120,135, 68,216,220,183,130,220, + 47,236, 90, 62,243,246,237,211,135, 96, 60,158, 87,246,197,236,153,221,164,239, 41, 21, 77,113,164,128,195, 25, 97,178, 32,216, +150,128, 76, 49,172, 77, 92, 7,248,116, 45,219, 49,125, 45,161, 38,219,246, 10,206,164,245,177, 1,176, 46,229,170,155, 72,146, + 11, 1, 86,235,232,136,183,255, 80, 30,123,106,163, 16,117,138, 57, 86,154, 48, 47,248, 87,111,220,160,156, 21,220,123,178,138, +123,211,103, 31,232,193,161,181,166,202, 12,107, 2,247,189,231, 3,235,248,179,206,242,123, 74,176,208, 37, 6,137, 30, 6,124, +187,226,129,179, 8,235, 17,214, 81,122,193, 66, 64,237, 29,221,163, 11, 2, 45, 47,107, 56, 44, 42,150,125,207, 95,157, 46,249, +249,122, 9, 82,210,218,150, 7,117, 67,237, 45,219,214, 82, 59, 71,145,151, 84, 10,114, 4,131, 15, 84, 1,156,119,136,114,130, +159, 78,169,202, 9, 89, 57, 69, 34,184,105, 42,126,253,198,203,252,218,205, 91,188,253,250, 29,110,221, 56,228,177, 46, 17, 86, +161,133, 67, 5,143,242, 30, 53, 41,162,171, 30,196,198,202,232,232,176,151,204,154,132,237, 17, 14,138,185,225,213,201,156, 78, + 74,238, 14, 61,239, 73, 79,216,118,176, 90,198,107,121,187,133,186, 35,244, 3, 97, 91, 19,250,158,112,255, 17, 56, 75,184,220, + 64,169, 97, 91,227,237, 0,221, 64,232, 90,252,166, 33, 88,143, 95,175, 8,117,135,111, 45, 97,179,193,183, 22,191,185,100,115, +126,206,253,117,207,167,131,227,223,212,151,252,249,106,205, 79,234, 53,143,188, 77,251,253,154, 82, 4,114, 31,200,188, 37,243, + 48, 87,130,181, 20, 41,201, 90, 34, 19,138, 42,242, 9, 34,215,187, 70,115, 68,110,158, 41,214, 95,172,239,255,170,194,174, 99, +209,154,148, 41, 82, 59,139,240,119, 57,137,141,124, 55, 64,105,120, 75,106,126, 59, 23,104, 83,160,156,101,229, 44, 62,120, 14, +148, 97, 35, 5,175,105,205, 25, 48,117,150,121, 94,112,210,118,220,145, 18, 63,116,116,109,207,182,238, 96, 91,167, 97, 36, 42, + 64,254,224,120,194,203, 89,134, 86, 25, 94, 40,140,214, 40,229,121,191,115, 73, 13, 35, 99,211,170,178, 36, 97, 78,247,239, 40, +171,126,161, 97,229, 75,184,200,242,139, 8,114,114,111,112, 77,181,238, 57, 48,255, 63, 92, 81,207,179,120,178,236,176,179, 33, + 29,109, 67,179, 44, 62,176, 61, 41,251, 60, 21,216,204, 36,194,211,222, 67,244,138,109, 56, 78,241,233, 11,251, 2,164, 5,173, +119,133, 65,154,221, 46,211,167,194, 48,234,217,247,131, 96,252,254, 78, 35, 77,162,146, 29,170,240, 34,154,199, 76,225,242, 41, + 94,198,160, 12, 47, 29, 19,101,226,164, 40, 21, 62, 8,186,193,114,209, 91,182,221, 0, 8,230, 7, 83,110, 47, 14, 40,181, 65, + 9, 16, 4,164,247,116,206,178,106,122,206, 86, 13, 97,240, 8, 31,146,116, 2,124,166, 17, 42,144,235,156,179,230,146,251, 79, + 30, 65,187, 34,188,136,193,139, 76,197,214, 73,232, 44,151,171, 37,159, 14, 61,199,101, 78,158,231, 12,221,192,166,105,184,127, +241,152,135, 31,222, 5,103, 99,152,194,197,242,105, 6,232, 87,161, 52, 34,101,222,203, 47,131,173,198, 48, 29,181,135,213,165, + 9,220,217,200, 92,109, 54,241,198, 31,145, 19, 63, 58,178,233,216, 20,222, 56, 38,207, 20, 90,104,132, 0, 43, 37,193,182,160, + 21,185, 84, 84, 70,145, 41, 69, 99, 3,149, 81,180,214,225,131, 39,136,128,199,145,107, 73, 63, 4,156, 27,253, 14,210,227,201, +118,169, 1, 10,145, 57,158, 21,169, 80,219, 36, 61,235,227,235,180, 54,146, 7,191,112, 90, 29,215, 73,123,219,230, 60,139,147, +244, 62,231,100,148,124, 62,187,190,130,216,160, 24,179,147,111, 22,121,108, 34, 84,130, 5,109, 23, 97,240, 85, 27,119,135,117, + 15,198,240,218,141, 9, 63,200, 53,175,101,138,187,103,171, 68,144, 75,122,117,124,124,144, 42,147,124, 5,178,200, 23,184,184, +252, 92, 81,199, 39,111,251,193, 38, 36,109,128, 44,231,191,127,227, 22,191,119,227, 14, 70,195,255,125,214, 68,159, 0,118, 22, +171,130,104,157,251,112,208,104, 41, 89, 3, 15,156,229,190,147, 88, 39,184, 27, 90,254,137, 41, 41, 48, 40,153, 81, 44,174,241, +242,209,109,174,103,134,101,223,226, 8,100, 88, 94, 54, 26, 41, 5,121,215,241,160,109, 8,126,195,191,127,248,144,127,119,118, + 70, 24,122,130, 34,154,214,100, 6, 79,108, 2,122,239,112, 54,112,123, 82,176,181, 45, 55,140,161,243, 1,147,229, 44, 14, 22, + 20,179, 9,250, 96,134, 51, 26, 33, 13,147,114,130,247,129,239, 29,220,224, 7,183, 94,229,187,179, 27,252,250,209, 13, 38,115, +205, 61, 15, 90,101,168,190, 71,117, 22, 57,153,160, 76,134,202, 75,228,224,144,194, 34,131,138,133,125,176,208,212, 60,217, 88, +154,210,177,148,129,159,212, 3,219,224,160, 72, 43,139,117, 29,175,105,219, 39,169,151,139,150,191, 67, 71,232, 60,129, 1,214, + 13,161,110, 97,121, 25,125,197,183, 29,161,183,132,224, 99, 19, 48,244,248,139, 19,130,235,240,109,131,239, 26,188,115, 49, 22, +183,174,241, 78,224,134, 26,239, 6, 6, 63,196,201,223, 65, 62, 88,140,112, 84, 82, 82, 10, 75,174,224,192, 40, 90, 33,152, 40, +197,171, 83,205,235, 7, 83, 14, 22, 5,213,193,140,165,154,166, 20,199, 72, 6,125, 17,199,202,231, 21,120, 1, 8,167,227,176, + 52,201,160, 92,196,235,149, 16,249, 33, 77, 90, 35, 45,166, 16, 36,255,201, 52, 3,161, 88, 54, 43,166,249,148,206,123,110,231, + 37,101,128,119,235,129,137, 49, 84,174,231,157,198,115, 93, 6,180, 18, 4, 9, 55,164,228,219, 18,254,195,233, 38,230, 62,116, +117,202,132, 8,220,154,230, 28,165,235,201, 75, 73, 23, 2,119,155,129,251,222,238,236,165,125, 34,216,230,121,188,239,138, 34, +162,129,243,121,228,173, 16,146,174,157,167,172,194, 95, 88,158,253,133, 68,185,125,101, 12,255,128,240,123,158,197,130,169,244, +142,249,172, 18, 44, 55,178,205,199,169, 67,232, 61,246,249,222,127, 27,255,222,165,128,149,126, 47, 42,245, 89,221,158,231,133, +172,244,174,138,138, 79, 5,217,201,157,143,182,142, 25,232, 87,233, 56,210,238,177, 94,246,150, 64, 82, 60,141,246,191,168,100, + 33,159, 35,143, 14,210, 84, 30,223,227, 52, 87,104, 41, 81, 41,138,117, 99, 7,182, 67,207,208,122, 80,130,235,243, 57, 71,147, + 42,234,124,189, 71,138,128, 7,154, 97,224,116,219,211,215, 45, 34, 88,194,224,147, 22, 50,208,181, 29,151, 67,207,164,148,100, + 42,195,148,154,229,221, 79, 63,175, 48,144, 50, 22,143,253,239,187,212,185,202, 84, 24,234, 14,206, 46,184,151,231, 76,144,156, +111, 86,156, 44,207,249,155,191,251, 32, 26, 74,120, 7,143,159,124, 13, 13,230, 30, 95, 98, 44,238, 94,124,201,201,211,169,113, +218,219,194,121,226,106,102,244,223, 55, 69, 58,159, 33,201, 18,211,215, 62, 64, 38, 49,147, 10, 35, 21, 2, 65,125,118,114,229, +224, 87,102, 17,130,239,211,164, 17, 66, 96, 98, 4,141, 15,248,224,232,186, 1,161, 37,110,136, 69,128, 33,217, 4, 15,125,212, +186,143, 54,179, 46,233,187, 73, 49,173, 17, 82,136,222,211,202,126,193,148,254, 12,204, 14, 48,159,237,246,237,106,239, 88, 93, + 25,152, 36, 72,220, 36, 56, 82,236, 61, 66,157,138, 83,117, 31,226, 52, 83,229,200,172,136, 92, 0,153,126, 94,221,196, 66, 61, +137,196,190,183,230,113,191, 60, 23,130,109,102, 88, 95,174,118,153, 7,235,109,202,143,111, 99,166,188, 78,146,189,109,106, 16, +158,125, 40,143, 48,236,136,204,204, 42,126,116,235, 58, 47, 85, 11,222,223,174,248, 15,171,250,106,191, 62,178,252, 69, 90, 63, + 8,111, 89,107,131, 45, 52,141,214,156, 9,141, 66,176, 14,240, 61, 45,184, 61,185,134,204, 10,212,157, 59,152,197,156, 60,155, +242,224,226, 4, 31, 44, 7, 74, 51,147,130, 55,203,140,215,202,156,235,210,243,127,220, 59,229,241,227, 75,252,102, 21,237, 71, +135,142, 16,162,197,232, 92,105, 58, 33, 41,164,230,187,121,137, 15,129,133, 20,172,250,150,105, 86, 48, 5, 68, 81, 48, 63,158, +146, 77,178, 56,109,103, 57,189, 8, 92, 95,204,249,246,241,130,163,107, 11,110,220, 62,230, 80,230,220,206,230, 76, 75,197, 71, + 97, 64,161, 80, 38, 71, 57, 17, 31,117,193, 35,165, 68, 74,141, 20, 17,198,150,193, 71,131,154,190,225,209, 89,203,199,189,101, +147,167, 18, 39, 53, 84, 69,242,187, 72,247,136, 73,205,235,120,111,217,100, 56,212, 69,171,209,224, 29,180, 53,161,111, 8,205, +150,208,213,132,174, 37,108,214,209, 82,183,235, 9, 62, 58, 18,122, 51,137,141,234,182,195, 93,158,225,215, 91,124,231,240, 50, + 96,189,160,198, 98,221,192, 53, 1,194, 15, 72, 2, 19,169,240,222,242,189,210,240, 95, 30,207,249,227,107,115,126,255,240, 26, + 63,154, 77, 48,153,225,246,225, 4, 57,203, 57,247,163, 37,179,191, 50,185, 18, 95,241,231,115, 80,189, 75, 13,162, 54, 80,205, +162, 71,196,232, 19, 18,136,182,175,101,206, 91, 70,179, 48, 5, 19, 37,184,165, 37, 51,157,113, 50,116, 92, 87,145, 39,240,211, +174,231, 71, 85, 5,174,231, 49,146,183,164, 35, 87,138, 92,103,244, 67,203, 37,112,182,105,120, 83,122, 62,238,251,120, 95,116, + 45,116,150,207,250,192,237, 66,115,156,103,120, 60,181, 11,252,111,117,178,119, 29,146,124,109,180,181, 22, 10,180,230,237,227, + 25,255,217,203, 71,252,241, 75,215,121,179,202, 56, 62,158,241,137, 75,131,135, 74, 80,150,208, 9,233,245, 47,246,124, 28,239, +117, 41, 63, 47,107,123,118, 74, 55, 89,180,191,158,204,254,158,139,186,214,159, 63,125, 89,130, 25,131,143, 7, 68,236,193,174, + 89,218, 89,200,189,221,122,199,206, 61, 43, 27, 3, 44,146, 65, 71, 72,108,224,111,162,189, 30,187,161, 76,197, 2, 46,147, 3, +157, 75, 83,250, 78,147, 18, 11, 74,240,159,191, 34,189,142,210, 13,207, 87,104,145,159,165,146, 31, 17,166, 21,101,150,161, 3, + 8, 28,165, 20, 40, 37, 17, 66, 80,187,129, 85,239,217,108,146,145,129,212,148, 69,134, 81,130, 64,192, 38, 18,203, 48, 56,206, +234,142,198,245,248, 54,238,234,128,200,176,237, 99, 71,121,124,231, 14,191,250,210,247,185,182,184, 65,169,167,124,252,209,207, +147, 17, 10, 59, 86,117, 72,244,165,253, 6, 73,142,133, 98, 12,198,137, 19, 88, 88, 45,185,127,178,228,254,217, 41, 39, 15, 79, +226, 78,234,120, 17,163,104,151,203,175, 39,217, 16,123, 37, 33,124,149,109, 99,154,212, 71,231, 38, 33,119,180,171, 16,118,202, + 5,183,137,208,187, 72, 70, 64, 87,251,111, 79,111, 29,117,219, 70,205,190, 84, 32, 2, 82, 27, 36,129,206,121, 22,153,166,245, + 46, 22,125,103, 49, 66, 82,183,129, 28,208,184, 0, 0, 32, 0, 73, 68, 65, 84, 29, 74, 73,218,110,192, 14, 46,158,228,113,183, +109, 19,151, 66,166,137,125,244,130,247, 34,153, 14,117, 41,139,222, 62,205,122,127,222,199,124,198,175,254,193, 31,240,248,209, + 41,132,209,168, 35, 53, 46, 35, 41,211,167, 41,126, 84, 85, 36,203,214, 8,223,200,104, 97,156, 16,138,197,225, 34, 58, 33,203, +232,187,142,119,209,202,210,185,200,242, 45, 11,242,105, 78,166, 36, 79, 20,124,120,186,142,205,208,208,197,227, 90, 76,162, 43, + 88,235, 96, 49, 37, 91, 28,242,223,188,114, 27, 76,224,241,147,243,157,213,237,243,166, 49,103,249, 64, 74, 50, 3,255,211,249, +138, 49, 71, 65,216, 1,186, 52,217,203,241,118, 10, 12,237,128,152, 76, 64, 75,164,206,113, 82,161, 51,141, 99,224,123,213,140, +108,122,136,190,113, 13, 89,228, 32, 13,225,244,132,204, 8,230,194, 50,211,138,185, 82,232,204,176,200, 12, 11, 45,168,115,201, +106, 8,248,179, 21, 97, 85, 19,148,228,123,139, 41, 7, 69, 69,169, 20,223, 46, 42,110, 86, 26,229, 6, 30,146,241,170,214,216, + 48,176,177, 29,211,114,130,208,154,220,104,148,212,228, 70, 49, 59,156,112, 45,207,121,245,246,156,233,181, 25,249,180, 32,159, +148, 20, 65, 83, 5,205,141, 34, 99,118, 60,229,177, 5,165, 99, 46,188, 42,203,152, 84, 55,184, 56, 3,100, 2,209,119,209, 94, + 55, 51,136,205,146,176, 94, 33,172, 39,100, 9,194,117, 46,162, 78,211,105, 92,167, 76,138, 88,212,159, 34, 89,122,130,247, 87, + 54,191, 97,252, 60, 90, 11,143,196,196,125, 25, 97, 86,225, 95,190, 78,200,115,124,211,225,189, 37, 88,139,239, 54,177,184,111, + 58,176,158,182,239, 49,161,167, 18,129, 74, 42, 58,231,152, 72,201, 15, 77,206, 43,153,225,118, 94,209, 75, 65,102, 10,114, 93, +208,154,140, 60, 47, 40, 38, 25,143,145, 8,105,226, 42, 88,131, 72,215,200, 87, 21,245,171,207, 33, 93,243,215, 23, 28,127,251, + 22,119,174, 31, 80, 86, 25,235, 85, 23, 81,157,220, 32, 50, 67,233, 3,111,205, 75, 50, 37,105,132,228,193,208,242, 45,157,209, + 59,199, 52, 43,240,174, 39,179, 61, 70, 27, 50, 2, 23, 74,209, 15, 13, 77, 16, 28,232,156,123,219, 45,223,193, 82,235,140, 7, + 77,203,224,147, 4,175,107,193, 14,124,120,190,230, 47,215, 29,127,179,110,248,233,233, 58, 90, 79,143, 6, 89,146, 56, 96,250, +116,255, 25,193,239, 30, 78, 56,204,115,150,110,160,200, 50, 10, 35,121,199, 19,159, 89, 90,199,232,102,157, 37,243, 42, 29,107, +221,151, 33,166, 99,125,250,220,196,110,247,184, 95,251,232,175,129, 27,215,225,160,250,123, 46,234, 38,193, 40,201,200, 42,154, +133,164,105,123, 92, 78,203,189,135,242,104,252, 50, 78, 40, 73,242,136, 74,134, 32, 54,196, 23, 63,116,105,127,145, 10,146,210, + 47, 6,123,127,209,129, 27,108,236, 6,197,222,208,164,216, 53, 14, 36, 86,190, 22,137, 21,191,199,134,119, 99, 76,107,130, 7, + 94,212, 9,111,114,200,252,248, 24,129,101,146, 75,140,242, 56,124,100,247, 58,199,186,115,212, 93,135,107,135,196,244,150,104, + 41, 48,193,209, 15, 29,189,115,212,214,178,234, 44,235,174,195,182,195,213,235, 18,128,200,116,252,119,147,138,215, 94,122,133, +235,213, 13, 76, 86,112, 86, 95,114,247, 23, 31, 69,168,105, 60, 63,251, 27,118,241,108, 23, 57,198,165,250,167, 9,217,161,139, +234, 0, 83,240, 43, 63,250, 46,223,121,229, 14, 55,174, 29,240,240,195,143,190,102, 83,181,231,219,251, 34, 50,144, 49, 28,101, +156,236,199,159,163,203,136, 6,117,155,148, 31,224,162,243,147, 74,190,255, 58,105,228,101,154,114,198,244, 62, 29,139,157,147, + 16,188, 96,176,241,218,148, 2,250,161,103, 8, 34,230,195, 91,199,208, 38, 55, 40,153,174, 1, 45,210, 83, 75,199,130, 45,146, +125,171, 76,174,117,210,199,137, 94,236,241, 8,244, 87, 68, 39, 10,201,226,206,109,206, 46,183,145,165,126, 37,135,244, 79,147, + 46, 71,119,195,177,161,185, 98,197,143,231, 44,178,171, 77,158, 33,179, 18,233,122, 6, 68, 84, 7,116, 67, 52, 83,202, 5, 52, +150,203, 44,231, 51,161, 56,233, 92,132,240, 79,150, 41,174,210,239,216,188,125, 7,139, 5,255,237,183, 95, 99,158, 21,220, 44, + 51,254,234,222,195,167,144,135, 47, 44,238,131,101,216,214,252,188,177,145,183, 98,116,156, 40,148, 70, 12,109, 98, 76,239,184, + 64, 2, 79, 91, 91, 66, 53,165,204, 51,110,149,134,235, 70,211,216,192,129,214, 92, 47,166,228,243, 35, 4, 18,119,182,166,169, + 47, 89, 40,141,180, 45, 3, 1,171, 20, 83,165,232,165, 98,155,231,148,147, 18,189,200,241, 71,135,212, 50, 70,146,102, 58,102, + 40, 84, 69,206, 91,243, 9,139,188, 68, 21, 5, 10, 75, 45, 2, 97,176,116,195, 64,240,130,182, 29,232,188, 34, 47, 37, 7, 70, +114,144, 25,142,139,140,163, 89,137, 73,134, 88, 33, 64,191, 29,152,152,140,151,138, 25, 55,204,140,107,243,130,108, 81,176,206, +114,110, 29, 76,104,136,249,232,178, 40, 17, 14,230, 85, 73, 63, 54,255, 58,106,158, 51, 47,177,247, 79,119, 33, 83,121, 14,121, +137, 88, 76, 17,179, 18,145, 25,196,186,223, 17,211,190, 4,222,126, 86, 97,112, 85,212,111, 93, 39, 28,205,241, 66, 17,156,199, + 55,245, 21,231, 50, 12,150,208,212,132,102, 11,203,134,165,135,163, 66, 17, 6,143, 15,158,204,121,126,115, 86,114, 36, 53,181, + 15, 28, 20, 83,164, 50,212, 74,161, 85, 70, 11,148,153, 65,105,201,105,153, 33,242, 28, 81, 86, 8,165, 17, 33, 32,148, 68,154, +104,188, 35,210,179, 90,228, 25, 28, 94, 67, 28, 30,198, 93,121,176,136, 30, 56,152,160, 94,123,137, 95,125,233, 22, 71, 85,197, +181,233,148, 70, 59, 14,231, 11,230,147,130, 44,203, 89, 43,197,171,153,228,251,210, 80,227,185, 99, 42, 30, 13, 3,179,204,240, +184,221,178,200, 12, 66, 74,222, 93,111,249,118,150, 97,188, 71, 8, 77,214,111,249,133,115,188,157, 73, 54, 66,241,112,217,240, +201, 42, 33,110,193,238,106, 66,215,195,182, 38,172,183, 81, 10,218, 15,145, 41,223,182,123,208,119, 68,157, 95,171, 12,223,153, +149, 9, 84,150, 72, 41,233,172,227, 97,235,168,131,139,207,173, 34,169, 99, 50,179,147, 70,243, 21, 67,224, 72, 10, 31,229,129, +227,122,249,139,212,220,186,128,195, 41, 8,241,247, 92,212, 71, 54,251,184,223, 20, 62,194, 43, 90,164,154, 62,230, 7,167, 68, +169, 50, 89,116,138, 84,192, 77,250,247,109,138,229,244,105, 18, 26, 89,194,163,166,221,168,111, 78, 78,208,169, 0,122,145, 18, +189,236,142,132, 39,210, 62, 83,134,221, 90, 64,239, 5,198,104,113, 21,121,249,149,228,184,253,143,163,107, 48,201, 40,101, 52, + 7,109,236,144, 40, 4, 1, 31, 60,203,166,165,223,244,187, 59, 50,215, 84, 74,199, 7,146,115, 52,189,163,117,158, 85,211, 18, +154,126, 23, 28, 50, 58,182,105, 73,118,120,196, 31,253,198,111,115,231,224,101,178,194,112,114,121,198,121,179,226,241,123,239, +236, 38,226, 81, 46, 50,178,213, 3, 47,198, 70,215,121,100,240,191,114,131, 31,220,122,153, 42,203, 89,148,115,222,175,215,209, + 54,242,235, 20,246,175,115,220,198,130, 53,122,152,143,143,174,190,141,197,122,146,180,225, 58,237,180,188,125, 26, 21, 24, 9, +118, 42,217,253,250, 72, 20, 11,214, 33,100,160, 15,150, 66, 43, 86,109, 79,102, 76, 12,246,176, 22,215,251, 24, 38,161, 50, 66, +155,100,151,232,221, 42,105, 36,122,250, 17,253, 48,209,163,160,208,241, 97,161,242, 29, 34,245,101,197,221, 90,206,238, 61,129, +119,207, 97, 49, 58,239,137,207, 91, 75,238,239,214,173,221, 37, 18, 38,201, 17, 93, 3,205,128,152, 79,176, 2,110,102,138,181, +141, 54,161, 46, 36,249, 93,189,137,247, 99,158, 36, 57, 82, 70,116,103,211,166,169, 48,177,130,187, 20,106,227, 5, 47,189,114, +204,180,156,242,225,106,205,167,203, 21, 44, 87, 95,205, 98, 30,108,132,220, 77,129, 40,242,184, 22, 40,242,132,102,116, 49, 20, + 70,238, 75,191, 44, 62, 47,184, 54,157,240,250,172,224,229, 44,231,102,102,232,252,192, 29, 85, 80,133, 12,177,109,241,151,231, +208,111,232,130, 37,147,224,188,199, 7,193, 96, 50,106, 33,104, 76,198,153,214,132,108,194, 26,137,168,102, 76,102, 83,206,236, + 64, 40, 74,178,190,229, 90, 85, 33,165, 96, 27, 2,151,117,244, 75,183, 33, 71, 40,133,119, 29, 79,150, 23,116,155,158,118,109, + 41,243,140, 10,193,225,180,100, 90,154,120, 41, 57, 79,115, 57,208, 39,120, 59,211,154,227,233,148,111,205,143,249,222,244, 26, +111, 47,110,113,123,122,196,203,211, 9, 55,143, 22,212,194, 33, 39, 5,181,208,152, 98,130,247,154,144, 25,130, 80, 88,223, 69, + 47,129,179, 39,136,218, 71,134,121, 89,198, 63,197, 4, 81, 76,224,232, 0,145,149, 8, 55,230, 99, 60, 77, 76, 11, 95, 81,224, +131, 29,160, 19,132,186, 33,180, 29,193, 8,194, 96,241,251,255,214,185,180,199,135,199,219, 1, 81, 72,214,157,197,122,199,117, + 41,185,157,229, 40, 41,144, 74,210, 74,205, 35, 4,191,112, 30,167, 51,156, 27,168,138, 9,159,166,103,163, 40, 51,196,193, 12, + 49,155, 35,103, 51,132, 48, 8, 93, 32,130, 64, 28, 28,114,227,135,111,242,195,111,191,206,173,227, 35,166,243, 9,231, 33, 54, +201,226,240,136,183, 95,191,205,141,197, 97, 92, 55, 6,207,171,199,175, 48,175, 38,124,251,198,171, 28, 22, 57, 88,248,171, 65, +114,205,120,142,100, 70, 23, 44,183,164,226,103, 77,199,247,170, 41, 63, 91,109,121,105, 82,112, 83,192,133,247, 12,118, 64, 41, +197,165,115,188, 42,163, 64,227,227,245,134, 62, 56, 30,214, 93,146,181, 61,171,170,242, 59, 87,188,174,139,205,109,215,239, 86, + 72, 67, 68,139,151, 65,241,195, 42, 39,215,138, 42,203,113,222, 49, 72,201,159,159,175,119, 3,196, 56,200,142,133, 57,168,136, +114,250, 23,244,129,255,130, 77,221,231,184,196,166, 0,165,255,158,139,186, 79,187, 7, 35,159,182,181, 30, 31,200, 97, 44, 38, +137,108, 70, 72,172,217,148,132, 21,146,214, 55, 31, 37, 72,201,163, 93,238, 89, 60, 40, 25,117,192,214,127,243,215, 40, 69,146, +246,164,215,123,165,139, 78,144,188, 20,207,236,214,147,212,194, 39, 41,210,184, 95,121,145,226,100, 52, 76,231, 96, 52,131, 29, +144, 50, 32, 69,136,196,101, 96,221, 15,212,235, 4,187, 19,181,190,121,110,168,180,185, 90, 65,215,118,136,208,124,151,136, 27, + 33,196,156,238,224, 18,151, 34,227, 59,175,191,196,175,189,241, 54,147, 89, 69, 8,158,119, 31,188,199,207,238,222,133,243, 39, +187, 11,105, 95,126, 38,120,177,105,217,196, 48, 23,166, 5, 78, 6,190,123,253, 22,214, 7, 54,125,203,221,119,247, 80,128, 23, + 66, 44,138,221,190,248,235,156,175, 47, 82, 25, 76,138,104,211,234,101,132,189,117,146,149,153, 84, 68, 68,216,237,240,243,100, +114, 52,158, 51, 23, 98,212,169,131,174, 27, 48, 90,208, 44,123,156,243,132,173, 35,116, 22,134, 16,235,168,117, 32, 20, 82,137, +189,135,168,220,145,211,228, 56,177, 39,179,152,178,140,138,132, 66,197,115, 83,232, 47, 71,116, 92, 31, 77, 54,198, 68,188,193, +126,254,186,218,127,239, 35, 55,100, 76,160,179,195, 85, 30,179,235, 6,244,172, 64,227, 57,144,146,137,136,219, 44,231,146, 52, +104,179,141,231, 61,159,236,156,237,182,203,157, 60,103, 24,118, 33, 60,131,227,195,162,224, 93,239,249,192, 19,207,243,147,179, +231,247,243, 35, 87,163, 72,108,252, 46,238, 67, 69, 89,196,251,187,200,185, 94, 78,168,187, 14, 26, 27, 11,187,181,209, 99,221, +228,220, 58,170,120,115, 50,225,102,150, 51, 85, 6, 21, 2, 83,103, 57, 26, 60,102, 93, 35,215,167, 8, 27, 87, 35, 82, 27,178, + 32, 24,194, 64,131,224, 66, 73, 30, 35,233,148,166,113,130,144, 77,184, 83, 78,120,189,202,249,193,180,226,117,147, 97,114,195, + 89, 15,245, 16,168, 7, 65,161, 20, 86, 43, 50,173,169, 10,197,208,193,208,119,244,237,154,147,199, 15,232, 58,205,205,249,148, +210, 9,180, 21,168, 32,217,110, 7,150,117,207,227,229, 22,213,247, 76, 38, 57, 89,166, 41, 76,198,225,108,198,245, 98,194,171, +211, 67,238, 84,215, 56,150,134,239, 47, 14,121,105,162, 17, 69, 96, 58,201,153,148, 57, 90, 10, 90, 23,240, 77, 71,240, 3,162, +239,162, 1, 80,215, 33, 76,116,159, 19,229, 12, 81, 46,248,141,107, 55,249,151, 63,250, 33,223,126,249, 58,239, 24, 25, 73,139, + 93,247, 66,210,177,144, 26,172, 16, 2, 65,105, 66,166, 8, 8, 66,215,125,241,132,111,123,196, 80,179, 94, 15,108, 58,207,105, +235,121,181,148, 28,101,146,153,202, 49, 82,113,191,239,248,133,247, 92, 4,143, 80, 10,148,161, 38, 48, 17,130, 19, 25,101, 98, + 2,144,147, 18, 81,100,200,249, 28, 49,169, 16, 55, 14,248,225, 27,119,248,222,173, 55,184,113,237, 58,147, 44, 35, 11,129, 91, +135, 11,178,163, 57,183,110, 94, 99,154, 23,148, 58, 71, 74,193,180,156,178,220,118, 84,197,148, 50, 43,200,179,130,195,106,194, +237,208,242,208,122,190,165, 36,150, 64,111,114, 50,103, 57,245,142, 55, 51, 67,239, 44,103, 66,112, 32, 4,154,192, 67,215,115, + 40, 4,114,136,100,193, 83, 23,184,108, 90,122,225,233,221,158, 58,231,185,250,241, 84,160,125, 31, 27, 96,219, 71,243,169,174, +101, 86, 25,110,107,195,129, 81,172,186,158,255,245,209,146,173, 15, 49,248, 75,135,157, 18, 43,164,117,102,219,197, 26,242,203, +186,208,233, 68,106, 14, 33,222,207,167,103,255, 17,136,114,126, 63,123, 60, 65,134,102,124,144, 39, 28,123,100, 62,251, 68, 38, + 24,119,137,163,190,153,176,155,222, 93,122, 88, 62, 37,233, 73,147,186,148,223,236, 0, 61,245,111,178,103, 96,117, 34,236, 46, +237, 83, 43,141,171, 85,194, 8,195,191, 72, 65,212, 26, 38, 11, 40, 13, 65, 8,130,242,104, 5,153, 22, 40, 41,168,123,199,170, +235, 9,125,127,245, 59,100, 97, 80, 82, 16,132,167,183,158, 85, 55,208,212,195, 46,199,119,132,164, 67, 10,250, 80, 2, 53,159, +243,198,241, 77,174, 29,220, 34, 4,193,166,105,120,231,238, 71, 52,167,167,176,185,248,188, 25,207,215,153,150, 85, 6, 7,211, + 36,225, 16, 92,218,134,123, 23, 43, 62, 56, 61,133,135, 15, 95, 60,206, 48,207,224,141,215,162, 45,233,122,245,203,219, 43, 14, +233,196,140, 97, 61, 33, 57, 17,102, 69,146,156,249, 61,237,149,227,191,251, 47,254,132,119, 62,124,111,215,216,180,177,112, 49, +120, 92,159, 44, 7, 91, 27,121, 31, 46, 21,227,100,156,147,229,121,204, 71, 54,130, 76, 41,156, 78, 89,230, 54, 21, 89, 53,218, + 13,167, 61,146, 73,196, 51,157,254,159, 76,127,249, 62, 77,126,205,107,247, 89,181,193,248, 61,231,184,182,168,104, 5, 76, 76, +140,163, 60,206, 13, 75,107,227, 78,176,107,227,245,124,235, 40, 26,240, 76,139,120, 12, 46,151, 79,253,140,248, 51,163,139,220, +144,171,157, 2,101,185,218,189,143,162,136,205, 94, 8, 87,228, 30, 49, 41,193,170, 8, 57,146,248, 47, 89,148,120,253,201,173, +107,252,243, 59,175,160, 75,193, 71,103, 27, 68,103,175,210,206,100, 83,115,237,248,144,239, 46, 14,120,189,152,115, 88, 76, 16, + 1, 78,218, 53,223,234, 59,140,247,104, 85,161,164,192,100,101,162,127, 72,134,161,227,177,119, 60,112,150, 54, 43, 88, 9, 65, + 71, 70,149,229,188, 49,159,114,172, 50, 94, 46, 42, 50, 4, 51,101,216,120, 73, 39, 36, 65,105, 50,105,144,218,224,133, 36, 4, + 77,111,123,108,144,108,182, 91,234,118,205,102,125,194,186, 85,124,171,172, 88, 40,133,107, 45,125,235, 56,185,220,242,233,229, +138, 96, 7,242, 54, 34, 61, 70, 25,178, 50, 39, 43, 10,202,105,197, 60,203,120,249,232,136, 59,135,135,188, 94, 30, 50, 65, 71, + 23, 99,233, 34,179,190,208,228, 89,129, 20, 26, 39,100, 84,177,116, 45, 98,187, 65, 14, 30,153, 11,228,228,128,127,245,157,215, +248,193,237,235,220,185,126, 19, 47,167,124, 24,122,132, 19,132,126,136, 59,250, 23,213, 65,103, 89, 66,151, 92, 50,108,250,146, + 41,113,232,193, 91, 68,231,120,119, 59,240, 23,235,154,135,190,229,255,220,212,252,101,215,115,174, 2,165, 52,132,224, 24,146, +162,211, 73, 21, 27,170, 16, 16, 90, 33,148, 65,228, 19,254,233,173, 91,252,218,209, 33,191,115,243, 21,230,243,235, 40,147, 99, +116,142, 50, 69,140,100,208,154,219,243,155,220, 94,220,102,158, 31,227, 80,180,174,229,211, 7, 15, 80, 74, 82,149, 21, 85, 57, +193,249,129,213,114,137, 36, 80,119, 61,127,218, 90,126,171,170,240,125,203,177,214, 84, 18, 26,231, 88, 3,199,222,225,181,193, +121,207,204,246,148, 82,208, 58,199,165,181,252,187,117,203,161, 18, 60,236, 98, 99, 31, 7,198,231, 12, 25, 87,249,230,123,126, + 18,227, 80, 48, 88,238,157,108,248,201,233, 37,255,215,163, 53,127,181,220,178, 29,149, 38, 34,165, 20,250,116,188,125, 72,146, +216, 33, 30, 91, 59,252,146,156, 53,249, 52, 68,230,253,127, 68, 73,155,209, 41,236, 35,153,111, 8,157, 38,120,187,131, 18, 67, +122,248,150, 89, 44,224,154, 8, 99,106,177,131,227,123,187,219,245,137, 4,225,167,137, 22,145,164, 61,223, 4,138,151, 9,146, +181,169, 80,219, 61, 98,220,216, 44, 8,246, 72,116,126,247,189,225, 5, 79,140,153,192,225, 44,217, 9, 10,178, 66, 82, 40, 21, +221, 61,149, 98, 61,244, 49,123,119,220,215,148, 81,183, 62,146,209,155,193, 97,183, 93,156,156,218, 1,100, 96,126,227, 58, 85, + 85, 81, 78, 42,154,166, 7,161,248,157,239,255, 42, 55,103, 55, 16, 66,112,182, 60,225,238,233,103,124,116,242, 24,206,207, 99, + 68,226, 47,213,164,165, 5,104, 22,253,214,235,147, 11,186,135, 39,112,126, 18,139,196,139,126, 76,167,188,253,107,111,115,243, +250, 81, 36,220,125,217,195,229, 69, 63,198,224, 31,159,252,181, 81,177,171, 86, 50,133,148, 36,156,215, 57,222,249,249,207,226, +223,155, 4,129,181,195, 78,142,230,210, 57, 21,255, 15,117,111,250, 35, 89,118,158,249,253,206,118,151,184,177,229, 86,107,119, + 87, 55,155,139, 72,137,212, 72, 20,103,145, 53,163, 17,168, 17, 96, 12,198, 30,251,139, 96,192,128,255, 62,195,254,102,192, 48, + 96,120,145,101, 91, 50, 70,163,161, 68,114,212,100, 55,123,173, 45,179,114,137,140,237,110,103,241,135,115,110, 70, 84,117,117, +119,117,147, 90, 38,129, 98,118, 49,179,170, 34,111,220,123,222,247,125,222,103, 73, 57,239,131, 97,142,143, 7,162,243,129,188, + 84, 81,169, 64, 64, 34, 8,131, 12,205, 36, 41,142, 86, 59,181,135,227,198, 75, 61,222, 75,238,203, 35, 20,159,215,169,251,189, +142,253, 57,239, 6,137,205, 12,227, 60,167,150, 2,147, 25,106,239,169,189,135, 85, 19, 73,115, 58,135,215,111,241,159,223,123, +141,111,207,167,188,126, 80,241,193,147,179,151, 55, 29, 54, 68,231,185,144,200,135,117, 31, 61, 2, 32, 22,116, 17, 67, 87, 34, + 7, 69, 71, 54,126,150, 18,208,244,224,243, 31,184, 51, 27,241,135, 7, 71,220, 45, 39, 4, 2,127,190, 88, 35,156, 69,244,254, +166,176, 47,125,206,239,220, 57,228,173,234,144,214, 91, 50,101,248,184,219, 50,221, 44, 56,148, 6, 83, 29, 32,178, 28,101, 74, + 68,240,209, 78,217,119, 92,246, 13,103, 66,178, 82,138,214, 11,178,172, 98, 58, 82,188,150, 23,168,228, 10,168,165, 36,151, 26, +167, 97,235,193, 9,133, 87, 10, 45, 53, 90,105,106, 1, 94, 42,154, 54,186,168, 29,231,158,220,183,252,245,123,239, 32,123,201, +108,213, 83, 53,158,118,189,101,211,119, 60,219,110,120,180,188, 98,185, 92, 68, 67, 28,101, 80, 66, 33,130, 64, 26, 69, 86,104, +178,105, 78, 81, 21, 84, 85,197,109, 89,225, 59,203,162,107,176, 58, 68,208,111,100,120,179,200,120, 59, 51,188, 33, 21, 89, 80, + 92,213, 22,113,189, 68,108, 27,196, 72,240,181,233,156, 7, 7, 51, 46,130,224, 73,175,120, 71,149, 80, 8, 68,166, 96,211,165, + 52,196, 47, 48,125,113,142,144,212, 49,248,254, 51,155, 75,241,194,159, 1, 31,221, 2,107,203, 71,181,229, 73,211,112, 46, 4, +143, 58,203, 60, 83, 49,167, 34, 68,148,112,221, 89, 90, 60, 43,169, 17, 34, 48,201, 70,252,119, 39,199,252,225,241, 45, 30, 84, + 51,190, 61, 63, 98,146,151,244,121,201, 38, 56,182,157,197, 57,139, 20,154, 50, 43,169,202, 41,121,150,145,203, 2,219, 11,206, +182, 23,156, 93,175, 8,120,156,235,232,108,203,163,171, 83,158, 58,207, 47,218,142, 63, 30,197,179,123,105,123, 22, 82, 82, 32, + 24, 73, 65,219,174,209,102,196, 7,125,199, 93, 41, 49, 82,145,185,142, 71,157,101,217, 91, 78, 52, 92, 89,203,114,157,114, 71, +218,176, 67,200, 62, 85, 31,110,224, 91,158, 39, 24,201,157,217, 88,219, 69,201,230,114,117,131,162,208, 37,107,217, 54, 73, 95, +187, 62,170, 71,134, 44,138, 95,202,168, 70,126, 90, 66, 32,229,223, 97, 81,247,123,108, 93, 37,227,126,130,116,232,117,123,174, + 62, 34, 77, 2, 34,121,180, 43, 34,163, 87, 16,139,134, 25,166,113,187,139, 51, 20,122, 87,100,135, 98,255,121, 83,187,214,145, +217,219,239,193,160, 74, 39,195,155,129,204, 32,119, 6, 52,214,239, 14,207,225,226,245, 9,176, 10,175, 56,229,230, 25,156, 28, + 66,158, 49, 62,152, 80,100,209,226,181, 42, 36, 2,201,178,177,108, 59, 75,104,218,248, 58, 74,131, 84, 34,134,215,117, 30,215, +116,241,107,219,148,205,155, 73,238,223, 61,230, 7, 95,255, 22,223,121,253,215, 56, 25, 31,240,201,234, 18,114,195,247,223,248, +117, 38,147, 25, 62, 4,254,242,253,159,240,179,139,211, 24,207,185,185,248,252, 9,241, 85, 63,156,139,135,249,106, 27,243,203, +219,250,203,255,189,109,203,217,249,130,179, 15, 63,220,237,102, 7,200,118,248,245,101,110,120,157,228, 48, 74,198, 9, 89,155, +221,125,228, 19, 39,162, 31, 82,225,162,196, 45,178,197,251,136, 16,101, 41, 12, 64, 37,219,215, 60, 41, 30,100, 22,223,240,116, + 64, 75, 5,165, 81,104, 17, 15, 9,233, 61, 58,151,209, 38, 26,199, 55,239, 30,113, 84,141,152,150, 5,139,171,117, 82, 88,232, + 72,152, 51,121, 68, 84,148,142,247,244,171,170, 37, 62,239,135, 30,174,213, 96,154,180, 95,216,189,199, 33,233,139, 2,242,140, +145,148,156,117,201, 53, 41, 56, 88,110,160,204,248,157, 7,175,113, 50, 63,192, 5,131, 50, 57,239,182, 93,124, 79,110,226, 30, +253,110,106, 11, 50, 94,155,225, 89, 27,140,117,124, 34,120,109,154,100,222,148,197,180, 58,147,131,119,136, 33,186,182,183,172, +149,228, 86,161,200, 8,252, 79,231,151,156, 91,159,248, 42,137, 45,237, 61, 66,103,124,235,176,226,160,172, 88, 7,104, 9, 92, + 57,203,127,191,216,240, 70,179,226,100,122,128, 30, 31, 35,139, 34,174,158,172,199,167,230,202,183, 53, 31,116,158, 54,203, 49, + 90,241,141,106,138,240,129,220,104,132,210, 88, 23, 48, 66,210, 17,184, 10, 6, 39, 21,178, 28,225,149,194,235,156,177, 16,100, + 38, 39,235, 58,126, 99, 90,240, 71,119,238,114, 32, 51, 58,123,205,255,245, 31,126,196, 7,155, 71,228,219,154,159,126,244, 14, + 31, 62,253,128,179,235,103,116,155, 11, 22,155, 5, 15, 55, 11,100,221, 97,156, 38, 56,143,176, 30, 89,104,204, 40, 67, 25,137, +206,115,148, 84,204,124,193,233,118,197,185,107, 57, 35, 48,207, 51,178, 76,241, 96, 58,226,126, 53,226,190,209,124, 43,207, 17, +185,100,237,122,220,249,134,211,126, 69,219,195,147,181,227,223,183,158,165, 8,145, 22, 51,157, 68, 45,183,202,193, 54, 81, 7, +207,231,152,189,120,183,123,223, 94,216,197,139,207, 42,236,131, 9, 23, 62,173,161,122, 66, 99,161,235,121,132,100,166, 32, 51, + 57,155,174,197, 57, 71,211,119,180,193,225,133,230,247, 38, 5,223, 59, 56, 97,150, 77, 56,172, 42, 84,158,161, 76,198,227,198, +114,177,181, 44, 90,203,233,118,133,235, 91,116,102,208, 50,163,154,140,241,190, 71,208,211,217,154, 95, 60, 60,229,236,236, 25, + 31, 61, 61,229,131,197, 5,151,171, 53,171,229, 18,164,224,245,170,160,238,123,198, 74, 49, 15,129,109,223,114,142,224,237,108, +196,101,191,229, 45,101, 88,249, 14,233, 28,109, 8,156, 59,199,129,243, 60,241,150, 15,150,253,142,235, 37,211,202,243,101,220, + 34,207,206,171,100,127, 98,255,204, 68,183,221,253, 78,219, 69,184,125,155, 36,157,182,219, 17,223,126,169, 41,253,133, 55, 42, +229,151,252,221,154,207,228,217,142,173, 43,197,110,103,103,210,158,177,200,192, 53,113,202,178, 54, 30,132, 50,193,121,106,216, + 75, 36,150,175, 74,127, 70,101,187, 67, 71,238,177, 10, 5,159,157,252,117,251, 24,249,205,251,132,203,237,110,170,200,210, 82, + 91,234, 61, 50,130,223,251,123,194,243, 58,105,239,119, 94,245, 95,244,230,140,138,184, 71, 31,149,140,166, 57,183,198, 99, 10, +163, 56, 26, 85,180,214, 82, 91,199,214,118,216,117, 29,247, 44, 41, 61, 44,248,128,107,211,110,211,246,137,161, 9,148,134,124, + 62,226, 31,189,118,143,215,239,189,133,145,146, 50,203,145,162, 67, 88,203,237,249, 45, 76,150,113,189, 93,242,108,241,140,203, +139, 11,184,184,188, 49,254,248,149, 52,104,131, 68,234,151,185, 49,235,122,183, 95, 54,217, 78,226,168, 72, 83,246,151,137,109, + 76,255, 35,242,157, 68,207,249, 8, 43,223,164,240,165,215, 91,148, 17,110,119,110, 71,208,188, 33,178,164,245, 80,144,100,153, + 33,215, 2,231, 2,153,145, 76, 75,131,150,144, 41, 25,169, 28, 46,114, 48,148, 84,104,163, 56,153,142, 24,229, 89,218,218, 4, +174,101,148, 32,222,232,141, 85,178,132,117, 3, 89,174,255,229,154, 44,253, 66, 28,227,205,126, 95,238, 8,133, 2, 92,150,211, + 21,134,149,216, 35, 68,182, 29,172, 59,232,106, 54,243, 41, 15,230, 7,244, 66,243,176,119,156, 94, 95,198,162,126,147, 54,184, +135,124,245, 54, 50,179,197, 96, 24,149, 44,102,125,186, 71,125,159,136,148,101,210,181,167,233, 71,233, 88,216,131,135,198,243, + 55,215, 43,254,116,181,225,188,141,230, 83, 34,211,145, 4, 38, 13,194, 11,132,107,232, 71, 5,179, 92,227,133,230,202,117, 60, + 10,150,139,160,248, 81,179,229,119, 21,148,147, 99,100,102, 16, 38,139, 33,122, 33,160,144, 76, 37, 84,219, 21, 63,110,122,114, +163, 56,214,138,121, 89,161,144,212, 93,135,134,104,182,162, 12,143, 28, 8, 83, 80,100, 5, 90,103, 84, 74, 50, 46,114, 68,239, +184,115, 56,229,247, 78, 38, 28,228, 25,101,166,249, 96,113,205,105,219,115,118,126,205, 95,124,244, 33, 63,189,124,198,207,207, + 46,249,248,234,138,179,229,138,203,118,203,217,234,138,109,232,184,232, 91, 46,154,104,246, 82,216, 64, 38, 21,102, 84,196, 61, +179, 3,183,233,232,154,150, 95,176,101, 33, 12, 22,201, 73,149, 83, 32,153, 20, 5,135,227, 18, 93, 26, 78,170,146,215, 76,206, +215, 53,136,179, 75,254,253,147, 15,249,171,237,138,235,205, 21, 2, 11,121, 92, 77, 48,169, 96, 62, 65,204,198,160, 50, 68,219, + 70, 15,246,207,146,142,125, 17,199,249, 37,223, 27,246,206,189,208,118,177, 72,217, 30, 54, 61, 79,172,103,172, 37,109,239,233, +131,163,238,123, 86,125,207, 33,142, 63, 56, 60,230,181,241,148,204,148,140,198, 37, 58,203,112, 82, 32,180,228,195, 77,207,143, +218, 53, 87,118,203,117,191,229,114,187, 38, 19,208,118, 91,156,237,104,251,142, 39,139, 39, 92,219, 14,154, 14, 33,210,106,162, +239, 99,242,157,209,124,212, 90,164, 12,220,149,130,165,235,201,181,225,208,182, 44,133, 98, 34, 21,215, 62,122,250,139,224,185, +114,142, 59,222,243, 39,215, 45, 7, 26,122, 47,169,109,226,100,249,180, 86,250,172,116,185, 97, 72,183,126,247,249,239,235, 99, + 88, 27, 14, 2,162,193,217,206,249,191,227,162, 62, 24,104,244,253,206,175,122,112,146, 51, 58,118, 51,131, 77,222,126,183, 36, +136, 95,211, 42, 65,248, 41,188,162,200,246, 44, 51,253,243, 82, 1, 62,163,168,251,152,228, 21,156,140,118,140,222,199,191,167, + 31, 86,254,233,224, 17,201,128,134, 61, 4, 96,136,105,117,169,200,191,202, 46,218, 20,145, 64, 85,149,200,137,225, 86, 85, 81, + 24,195, 56,203,144, 82,243,172,107, 88,118, 45,182,238, 99,195,162,146, 65, 65, 19,237, 94,177,125,212, 9, 7, 17,247,186,121, + 70, 62, 29,241,181,163,138,113, 14, 19, 51,195,152,156,109,215,240,244,226, 49,189,107, 88,219,154,166,107,120,178, 56,229,221, +199,143,225,226, 26, 86,215,188,154, 43,207,223,195,135,201,226,197, 31, 92,252,130,216, 67, 79,120,181,215, 61,220, 55,194,239, +252,152,179, 61, 61,119,232,119,169, 78,141,221,165,244, 14,193, 65, 38,221, 75, 74,147,103,134,224, 97,148, 9,148, 86,204, 74, + 69, 33, 5,133, 18,228, 82, 96,132, 68,163, 32,147,204,180, 74, 64,128, 96,219, 59,102,163, 2, 45, 53, 14,207,249,182,222,147, + 72, 14,205,159, 76,209,173,110, 87,244,190, 74, 97,191, 33,200, 13,230, 20, 47, 64,131, 3, 67,222, 19,195, 93, 70, 21,179, 92, +115,146, 25,142,140,100,172, 36,203,166,131,166,161, 21,138,119,140,230, 61,107, 57,181,233,217,124,124,158,164,129,233,240, 24, + 60,235,125,202,146,158,150,252,240,100,204,239,223,154,114,160, 37, 31,158, 47,146, 45,175,142,200,196,180, 74,242,181,180,186, +112,209,180, 67,164,160, 24,172, 71, 92, 47,111,210, 15,133,137, 49,203, 98, 92, 32,166, 99,126,231,193, 9,183, 71, 25,139,174, +231,137,116, 44,165,226, 39,189, 64, 74,141,210,134,255,251,163,143,249, 23,147, 17,249,193, 45,164,142, 18, 42, 57,174, 40,231, + 39,204,103,119, 56,174,123,178,245, 21, 63,115,150,131,204, 48, 86, 10,107, 91, 14,242, 2,107,123,122, 2, 63,175, 29, 62,139, +241,197,149,210, 76,181,230,246,184,160, 80,146,249,108,132,237, 61,211, 92,226, 67,224, 97,221,242,151, 23, 43, 30,175,175, 9, + 77,135, 23, 14, 47, 20, 30, 23, 21, 41,189, 99,213, 56, 86,235,150, 79,186,154, 62,212,124,236,106, 46,186,134,106,219, 50,237, + 37, 70,154,184, 98, 93,118,116,117, 67,107,107, 62,234,106,158,224,185, 16,146, 34, 8,166,153, 70, 74,137,202,115, 84,102,248, +218,236,128,223, 60,152,241,253,105,206,183, 11,205,237,109,224,240,226, 2,125,254,140,139,118,133, 16, 81, 94, 41, 66,218, 93, +171, 12,113,114,136,152,143,227,127,183,105,165,241, 18, 25,220, 23, 21,249, 87,106, 2, 6, 19,166, 85,195,169,243,180, 93, 79, + 16,129,117, 31,232,149, 64, 11,201,137, 54,124,109,122,200,253,249,156, 70, 40,116,174,104, 5,252,108,181,225,199,219,134,143, +124, 75,103,107,106,215,177,236, 90, 62, 90, 94,162,108, 71,223, 53, 92,110, 22,156,119, 75,182, 77,207, 15, 15, 11,254,245,173, + 25,111,143, 11,190, 89,230,252,141, 16, 8,169,112, 82,178,232, 35,154,154, 57,203,182,239, 88, 56, 88,244, 45,207,108,207,200, +246,156,123,207, 68, 4, 14, 2,252,162,105,185, 43, 61,255,174,129,237,118,203,161,128,186,237, 56,174, 12,219,198,239,101,125, +188,112,142,251,189, 28,145, 47,115,148,234, 87,248,126,163,227, 89, 52,248, 94,188,146, 65, 77,122,222,111, 38,245, 0,216,175, + 80,212,245, 47, 89, 27, 76,138,191,188,129, 29,251, 29, 12,127,227, 54, 23, 82,241,214, 59,118,122,110,146, 78,120,200,149, 78, + 50,180,129,128,244, 98, 17,255, 60,121,150,115,209, 65,104,112,230, 18,121,148,170,237,155,202,144,246,134, 93,251, 60,153,236, +203, 16,203, 70, 5, 84, 21, 84, 57, 24,137,201, 53, 85,158, 51, 54, 25, 66, 11,214,117,203, 85,211, 97,155, 54,178, 41,195,208, +121,185, 8, 1,119,137,205,158,155, 36,195,202, 65, 73,116,166,152,100,134, 60,211, 52,205,150,197,114,193, 71,103, 79,176,174, + 67, 8,184, 88,109,248,217,147, 71,156, 63, 57,133,203, 37,244,219, 29,145,236, 31, 82, 33, 47,146, 13,170,200, 98,177,205, 20, +200, 50,193,182, 73,219,248,101, 94,247,224,131,174,138,228, 95,160,118, 17,141,131,156,100, 40,242, 38, 21,212, 97, 15, 63, 50, +241,251,149, 64, 43,193,212, 8, 42,149, 33, 9,204,198, 25, 66,122, 74, 21,139, 91,145,201,184, 30, 39,185,134, 9,129, 73,178, +178, 69,219,210, 58,203,229,166,193, 5,145,146,221, 82,113,221,151,181, 25, 21,119,218,125, 98,206,251, 47,121, 74, 12, 67,250, + 16, 8,179, 31, 60, 47,146, 63, 4, 18, 38, 5,234, 96,134,204,115,238, 20,154, 91,198, 80, 74, 73, 22, 60,183,115,193,217,114, + 19, 97,248,241, 56,105,252,137,197, 60,132,104, 75,122,243,204,236,189, 70, 17,120,112,116,192, 15,142,167,204,202, 9,179, 66, +243, 23,103, 87, 73,254,169, 96, 52,142,133,125,248,126,151,184, 24, 38,143,217,226,164,233,189,109,210,212, 21, 37, 62, 98,154, + 67, 85,240, 71,119,142,248, 23,119,238,113,187, 40,120, 88,111,249,179,101,207, 83,149, 35, 70,211,104,189,106, 50,164,239,248, + 53, 60,135, 71,183, 35,187,186,202, 81,111,156,160,102, 19,244,108, 74,222, 86, 28,109, 55,124,188,120,204, 89,176,204,148, 2, +161,216,134, 8, 13, 95,245, 13, 31,136,140, 99,147,113,104,114,110, 27,197,173,169, 97,172, 21,147,145, 36,235, 99,227,116,186, +234,184,240,150,159,159,173,184,176, 61,171,224,113,117,139, 95,172,241, 70,224, 90,139,115, 30,111, 50,156,119, 56, 99,160,233, +121,124,118, 69,239, 44, 43,191,229,188, 89,112,220, 88,166,174, 32,116, 61,206,123,174,175,174,249, 15,235, 83,126,102,151,188, +211,247,108, 69,160, 35,250,140, 87,153,162, 9,146, 81,158,241, 86, 53,231,107,211, 3,166, 38,103, 20,122,198,202, 35,145, 28, + 1,191,209,116, 60,126,244, 9,117,223, 32, 66,159, 72,105, 50,106,193,205, 8, 49,159, 34,111, 31, 32,110,159, 32,242, 2,177, +181, 81, 93,241,183, 49, 53,186, 14,177,217,208,110, 91, 86, 1,186,190,231,245,195, 3,102,229,132, 34,203,152, 8,137, 81, 5, +211, 44, 99, 35, 5, 15, 59,199, 47, 22, 91,254,207,237, 50, 78,200, 46,113,165, 68, 68, 1, 47,186, 45,143,234,107, 22,237,150, +117,211,243, 95, 77,114,254,205,241, 9, 83,173,249,222,108,134, 54,130,183, 10,205,143, 18,114,107,149,228, 72, 8, 86, 62,240, +115, 39,200, 51,248,155, 62,240,166,129,255,181,238,248,154,150, 60,222, 52,212, 34,208, 4,207,143,106,201,131,208,114, 97,161, +181, 29, 65, 72,182,109, 66,129, 91,183, 83, 63, 13, 31,135, 71, 95, 29,233, 52,137, 99,163, 85, 60,203, 67,170,131, 82,237,210, + 42, 7, 39,166, 48,196, 72,191, 66, 97,247,251,187,126,110, 24,246, 95,190,168,255,178,117, 65,136,120, 99,221, 68,170,166, 44, +219,174,223, 65,134,131, 25,205, 0,209,107, 21, 29,187,240, 48,158,196, 31, 90,165, 20, 53, 45, 94, 14,151,124, 17, 27,125,112, +230,146, 69,220,175,155, 12,138, 73, 98, 60,219,228,231,237,191,154,169,205,208,217,141, 39, 41,119, 59, 67,149, 57, 85,110,152, +103, 10, 39, 5,181,237,184,236, 61,155, 62,237,208,131, 72, 38, 61, 97, 47, 32, 36, 57, 16, 9,181, 75,169,147, 18,101, 36,117, + 90,161, 62,221,108,121,178, 88,211,134,142,141,119,180,189,227,162,174,227,106, 97,211, 0, 77,252,153,134, 80, 16,249, 15,164, +160, 35,163, 5,169,201,147,189, 97, 30,155,171, 76, 39, 50, 86, 10,180, 20, 98, 87, 8, 63,107, 98, 29, 86, 32, 67, 81, 23, 9, +105,177,195, 74, 38, 69,166,234,108, 71,200, 28,248, 17,163,226, 70,179,158, 87, 37,149, 80, 24, 33,152,101,134, 34, 23,140,141, + 70, 4, 73, 38, 21,222,123,170, 60, 26,217,152, 92, 33,131, 32,168,168, 92,240, 1,148, 81,100, 82,210, 7,232,156,199, 6, 65, +112, 97,183, 30, 24, 26, 77, 23,146, 46,214,196,123,173,183, 95,146, 67,176,231, 13, 45,249,244,158, 79,229,241,192, 40, 21, 84, + 35, 66, 89,112, 52,173,184,103, 12,218, 24, 60, 1,237, 61,222,247,156,158,111, 19, 19,215,193,209, 60,217,146,230,113,237,181, +237, 35, 95, 98,136,118, 29, 8,168,189,165, 25, 85,188,117, 52,161,247,158, 31,181, 29, 79,174,234,221,154, 72,164,103, 75,101, +187, 21,131,210,201,140, 39,174, 70, 68,155, 52,191,195,164,215,244,241, 62, 40, 11,254,229,193, 1, 95, 31, 31,161,148,226,147, +190,230, 35, 15, 98, 84, 33, 85,129, 52, 5, 82,231,104, 37,184,190,124,204,119,231,119,200,231, 7,136, 89,137,190, 51, 71,142, + 11,164, 86,132,141, 32,172,107, 22, 31,125,192,143, 62,126,138,159,103, 92,180,107, 78,219, 26, 73,224,189,117, 77,208,134, 7, +197,152,183, 75,197,241,184, 34, 83,146,185,150,204, 51, 77, 37, 2, 66, 41, 58, 33,184,218, 88,150, 77, 67,221,173, 89, 35,176, + 56,124,223,227, 67,192,245, 29,190,119,120,215,227, 16,184,186,165, 55, 10,223,122, 54,182,101, 81, 59,234,122,205,249,226,140, +187,190,227,250,252, 25,205,114,197,159, 62,121,135, 15,234,107, 62, 14, 61,143, 76,143, 76, 50, 0, 0, 32, 0, 73, 68, 65, 84, +155,134,218, 90, 26, 4,235,222, 82,251,104,146,243,160,154,241,102, 62,138,118,210, 58,167, 40,199,180,161,167,243, 30,107, 61, + 51,169,249, 78, 94,240,181,166,229,241,197, 21,205,197, 85,108, 54,181, 70, 74,133,204, 52,223, 63,126,141, 63,254,250,183,248, + 71,247, 95,227,221, 82,209,173, 27, 68,223,125,234, 94,251, 34, 72,254,149,190, 94,100,241, 44,213,130,108, 50,225,222,120, 28, + 9,113, 65,176,240,158,167, 93,207, 19, 39,121,212, 58, 30,182, 13, 63, 95,111,216,180, 53, 77,183, 33,224, 9, 46,229, 37,144, + 16, 74,162,197,237, 55,164,226, 15,230, 21,153, 80,220, 46, 74,206,173,101,154,130,160,206,123,203,185,117,144, 41,206,146, 10, +226, 66,106, 62,233, 44,111, 75,201,169,131, 55, 71,154,247, 26,207, 86, 41, 36,142,191,108, 60, 95, 83, 45, 63,179, 34, 26,130, +230,121,170, 41, 68, 18,242,128,122,237,243, 93,190, 74, 65,215, 58, 13, 13, 41,113,116,144, 65,103, 50, 62,251, 62, 37, 88, 34, +158, 71,218,204, 32,151,118,175, 86,143, 95, 24, 52,255,238, 3, 93,188,223, 73,194, 66,216, 77,234, 69,182,139,230, 28, 76,105, +186,126, 7,139,226, 33, 43,200,191,251, 13,220,227,179, 68, 98,210,187,139,255,156,243,194, 75,226, 86,243,189,110,201,185,248, +251,162,132,147, 91,112, 56,143,147,138, 52,137, 16, 84,199,107,220,181, 95,173,152,155, 34, 18, 87,164,128, 89,201,120, 82, 50, + 47,115,166, 69, 78,227, 29,181,181, 44, 26, 71,240, 30,231, 3,247, 38,115,142,171, 41, 85,145,177, 90,109, 19,180, 63, 24,155, +168,184,227,237,125,188, 30,171, 45,110, 83,211, 93, 92,113,121, 85,179,172, 61,155,214,179,234, 45,155,174, 99,179,168, 9,139, + 77,116, 87,179,118,183,251, 25,200, 98, 90,126,154, 36,248,119,249,161,117, 44,224,183, 15, 98,225, 24,101, 73, 9,145,197,188, +100,146, 85,176, 78, 69, 68,137, 88,171,246, 39,140,125, 66,221, 13,209, 81,238, 32, 26, 37, 35, 3, 94,201,231,227, 94,109, 31, +239, 23,165, 35, 68, 63, 41, 35, 41,210,196,251, 34, 87, 80, 8,193, 72, 11, 10,169, 16, 72,164, 1, 35, 4, 82, 6, 74,173,105, +123,135,201, 52,190,115,168, 36, 81,243, 82,160, 84, 76,224,242, 82,210,135,128,208, 18,239, 60, 78, 14,106,143,164,224,112,169, + 73, 29,148, 27, 54,145,249,190,140,114,128,189, 7, 89,238,187, 77,165, 48, 22,173, 82,228,105,234,250,143,102, 88,109,184, 85, + 86,108,108, 71,166, 50,218,174,197,245, 13,207,158, 94,237,200,130,243, 49, 76,102, 72,109, 56, 24, 31,224, 71, 18,247,228, 42, + 77, 79,207,203, 54, 93,231,248,169,210,252, 24,120,124,189,141, 77,196,166,143,239,211,176,179, 15, 41,123, 26, 25, 93,247, 6, +189,110,235,161,173,119,240,174,247, 17,146,239, 44, 34,207,121,163,148,100, 66,240,193,230,154,127,119, 93,179,238,124,116,198, +203, 43,100, 94, 48,214, 6,213, 91,214,222, 17, 78, 63,230,141,163,123,232,170, 66, 77, 11,132,212,208, 4,252,217,138,190,217, + 34, 89,179, 89, 44,120,239,195,143, 56,111,225,162,233,249,100,187,165,147, 25,111,143, 38,124,163,200, 56, 40, 10,102,153,225, + 65,153, 49, 85,146, 3,173, 8, 33, 48, 22, 30, 39, 52, 70, 40, 54,155,150, 92,105, 78,235, 45,214,117,120, 3,110,211, 19,121, +247, 30,103, 61,126, 84, 68, 42,199,182,193,141,115,124,221, 99,183, 13, 75, 47,120,239,252,154,255,120,125,198, 95, 60,123,204, +255,242,232, 93,254,183,203, 51,174, 22, 75,254,250,252,154, 46, 4, 92,112,244,125,139,196,177,114, 61,214, 11,110, 21, 5, 35, +165, 56, 25, 79,145, 70,179,105,182, 92,120,199, 51,223,163, 20, 76,180,164, 84, 49,221,241,205,210,128,183,156, 61,185, 70,174, +174,145,190, 71,230, 21,255,197,235,175,115, 56, 42, 25,141, 43,100,200,249, 96, 44,226,250,164,233, 62,117, 6,136, 47, 59,159, +189, 4,133, 21, 89, 9, 65,114,124, 50,227,164,154,224,124,207,117,189,197,121,207, 82,104, 86, 93, 71,237, 61,109,211,145, 11, + 71,238, 59,166,206,146,117, 13,206, 57,122,219,198, 60,247,172,140,110,185,121,201,127, 61, 53,204,165,225, 56,207,232, 8,104, + 25,115, 50,158,245, 61,189,128,119,135,245,168, 84,172,165, 97,162, 5,121,150,243,137,139,170,162,159,119,158,219, 2, 30,201, +168,205,191,165, 4,239, 53, 46,122, 59, 25, 21,125, 27,180,138, 3,147, 50,177,148, 88,251,197,210,211, 87, 65, 14,227,133,217, +173, 6,229,128, 6,171,136, 14,187,132, 54, 27,177,243, 72, 81,233, 28,251,138, 36,218,191,191,148,182, 1,106,239, 83,164,164, +139,123, 54,114,179,211,182,231,217, 46,208,165,143,135,131, 59, 77,134, 23, 82,239, 18,169,134, 3,231,166, 99,121, 9,228,175, +211,244, 34, 83,145, 68,192,252, 0,198, 99,242, 60,131, 32, 41,171,130, 94,153, 40, 73,112,221,151,152,156, 82, 71,150,207, 98, +193, 44,243,248,127, 87, 57, 89, 89,112, 56, 42, 40,140,198,135,192,178,181,180,206,211,133, 64,219, 57, 78, 70, 83,190,117,235, + 77,198,229,152,178, 24,241,116,121, 29,117,234,150,157, 67, 92,211, 69, 45,119,183,138,145,140, 77,157, 92,141,250,104, 84,177, +220,192, 98, 5,139, 13,212,203,248,117,231,184, 73,244, 81, 58, 78,109,194,192,237,187, 80, 86, 80,142, 99,196,230,175, 66, 86, +245,170, 31,163, 34,134, 52,140,203, 84,216,228,141, 47,178, 44, 13, 50,203,152,140, 39,160, 13,213,164,138, 6, 55,101,138,255, +196,237, 30, 48,249, 5,112,131, 74,130, 89,225,192, 75,254,248,191,253,111,248,233, 95,255,100, 87,228, 85, 98,164,155,161, 57, +136, 80,186,144,130,145,210,140,165,196, 2,213, 72, 35, 67,192, 40, 73, 46, 37,109,112, 20,128,179, 30,105, 20,193,122,186,212, + 76,104, 1,157, 23,216, 4,173,123, 27,112, 33,224,186, 62,113, 61,220,206,218,120,240,211,239,146, 20,198,219, 87,116,243,251, +140,189,154,220,235,216,139,193,239, 94, 70, 43, 88,109, 96, 86,226,178, 28,111, 59, 70, 89, 22,109,228,251,158, 95, 60, 93,224, + 86,235,157, 29,229,108,194,241,209, 29,126, 48,154,241,102, 89,113, 71,103,124,216,111,163,167,255,139,230, 74,125, 7,171, 13, +193,228, 73,127,158,216,239,109, 23,167, 29,155,242,159, 93,106,146,131,220, 73, 69,229,243,105, 94, 55, 76,237,182,133,205,154, +159,173, 59, 30, 55,107,254,244,244,154,205, 98,139,204, 4, 50,207,145, 66,115,171,156,113,172, 51,126,247,238,156,223, 58,156, +227,141,160, 91, 47, 57, 25, 31,147, 85, 5,210, 9, 88,182,184,103,107, 92,187, 65, 72, 40,180,229,231, 79,158, 33, 55,107,212, +122,131,106, 98, 80,201,239,142, 21,247, 70,209, 36,102,174, 21, 69,145, 49,213, 26,129,224,200, 7, 42, 41, 57,145,129,179,214, + 33,133,100,107, 45, 65, 42,150,193, 18,250, 30, 95, 42,124,231,241, 62,224,165,192,119, 93,220, 52, 8, 25,101,207, 4, 92, 89, + 96, 23,107, 92,153,243,172,117, 60,106,214,156,250,140,237,234,154,179,174,198,173,174,113, 87, 43,220,178, 38, 56, 75,179,173, +209, 66,240,168,107,120,175,109, 56, 24, 79,144,214, 83, 24,205,199,125,195,135,125,205,181,181,228, 4,250, 16, 24,105, 77,165, + 53,185,145, 28, 20, 57,127,185,234, 41,230, 37, 97,185, 66,110,214, 28,102,142, 91,163, 9, 79,219,150,255,125,181,162,245,125, + 60, 87,134,128,158,174,127,174, 89,251,114,133,125,224,163, 68,126,148, 72, 86,204, 98, 60,227,245,147,219,168, 76, 81,183,129, +214,117,252,226,236,146,186,171, 25,101,134, 82, 43,170, 82, 96,132,103, 28, 60,198, 91,180,237,113,157, 37, 3, 70, 82,242,235, +211, 59,124, 99,118,135,163,124,194,194,215,124, 87, 41, 14,146,143, 64,103,123,164,210,156, 89,203, 7,125,195,199, 54,173,218, +146,107,100,155,146,213,144,154, 45,128, 52, 92, 74,193, 88,101, 72, 15, 39, 25, 28,101,146,105, 16,212, 33,208,137, 52,236,104, + 25, 99,138,139, 60,146, 65, 67, 26,170, 36, 95, 94, 38,173, 19,183, 68, 38,164,209,166,104,111,153,226,142,109,155,134, 72, 31, + 11,122,159,140,207, 20, 73,250,249,213, 77,105,254,254,138,186,247,169, 59, 74,236, 40,155, 32,187,166,221, 65,227, 42,105,121, +187, 62,254,190, 27,152,234, 38, 14,248, 34,153,208,124,145,231,186,202,162, 43,157, 76,176,189,148, 49,174,179, 26, 51,158, 76, + 80, 66, 68, 98,187,144,244, 93, 36,210,209,109,119,100,190,207,205, 70, 47,160,156,192,228, 16, 38, 35,168,178, 24,242, 82, 40, +212,164,100,154, 23,148,153,198, 0,173,243,108,172,101,211, 58,130, 7, 45, 36,111,222,186,205, 65,121, 64, 16,158, 76,148, 20, + 35,195,249,249, 51,168,109, 12,221, 88,175,162,165,103,179,217,101,146,223,236, 42,135,156,242, 46, 53, 69,221,243,185,229,153, +132,241, 60,238,244, 71, 51,152, 78,201,167, 19,142,143,167,168,170,164, 93,182,159,110, 94,190,200,159,252,151,153,208,243, 60, +198, 18, 86,201, 85,172,139,193, 21,163,162,226,193,244,136,131, 98, 68, 97, 50,238, 29,206, 41,116, 70,166,224,168,170,152, 29, +207,184,214, 89,114, 32, 84,187,125,151,144, 59,171,219,155,128,151,189, 53,143,136, 69,239,205, 95,123,139,119,127,250,110, 44, + 76, 25,187,251,174, 40,192, 8, 84,145,131,243,100, 70, 83, 9,129,201, 36,163, 76, 98, 59, 79,153, 75,114,169,176,193,199, 6, +218, 7, 58,231,110,248,152, 58,196, 52, 55,155,130,225,250,129, 6,160, 32,184, 64, 47, 6,131,138,189,247, 76, 16,165,137,131, +223,130, 79,141,237, 87,153, 10, 60, 59, 25,219,240,222,137,236, 38, 90, 1,147, 39,121, 30,108, 36, 60,107,123, 78,157,231,252, +122,141,187, 88, 66,187,217, 53, 4,243, 3,222,158, 79, 57,153, 28, 19,164, 32, 40,197, 51,187,166,123,250, 44,193,146,124,122, +197, 37,116, 52,173, 25,220,227,116,242,194,247,105,213, 35, 18,169,212,165,226,225,236,115,235, 50,241, 34, 89,167,183,136,186, +101,177,216, 32,234,109, 36,122,213, 29,178,208,136,106,202, 27,213,152,183,198, 83,190,121,123,206, 72,102, 8, 41,121,120,241, +148,215, 68,193,116,126,136, 12, 2,225,136,102, 54,189, 5, 28, 69,158, 49,234, 26, 30, 45,151, 40, 28,186,239, 57,108, 91,126, +111, 54,166,202, 75,230, 89,206,184, 26, 83, 6, 65,102, 84,140,155,144,146,204, 57, 60, 48,149, 1,145, 41, 58, 47,185,180,142, +165,235,241, 93,139,215, 2,159,231,209, 87,100, 93,227,235, 26, 47, 13,222,123,188,137, 17,170,118, 91,227,133,192,106,133,173, + 59,156,151,216,102,131,203, 74, 44,209,130,216,105,133,183, 53,190,238,240,109, 67,179,218, 16,172,165,182, 29, 63,106, 59, 90, +229,120,191, 89,241,212, 57, 62,105, 86, 52,109,139, 12,158,194,121, 2,129,128,100, 36, 53,179, 81,198,215,143,198, 28,205, 70, +152,217,152, 67, 35,248,232,233, 37,255,199,135, 31,240,227,235, 11, 58, 2,116, 53,132,144,124, 21, 52,204,166, 80,141,119, 65, + 50, 47,201, 68,255, 92,201,137, 76,220, 23, 33,163, 11, 93, 62, 97,246,250, 61, 42,157,209,117, 22, 31,224,253,211, 75,220,217, + 37, 27,107,153,151, 57,153, 9,228, 65,160, 68,160,179, 13,153, 48, 4, 39, 48, 2,164,109,185, 87, 30,112,247,228,132, 91, 71, + 71, 84,227, 10,143,228,190,173,201,131,231,150,206,241, 34,176,177,158,143,186,134, 63,105, 58, 26,203,142,151, 53, 88, 54, 75, +147,200, 28,233,107, 42, 99, 46,224,150, 81,108,133,100, 46, 37, 70, 57, 30, 59,143, 67,236, 56, 56, 58,249,149, 20, 89, 58,175, +198,241,243,112,222,192,171, 69,122, 15, 89, 38, 74,239, 88,242,122, 40,232,253,206, 77,110, 56,182, 68,114, 86,181,110,119,142, +253, 39, 87,212, 53,187, 60,117,233, 19,204,206,206,119, 93,138, 88,172,141,222,189, 89, 67,122, 91, 63,236, 72,147, 25,205, 23, +253,240,153, 78,157,156,220, 29,248, 33,218,209,118,218,160,165,140,171, 87,136, 69,253,242,108,119,161,141,138,175,161,156,197, +155, 63,159,196, 55,218,140, 34, 9,206,148, 49,140, 32, 31,204,111, 64, 86,154, 44,207,152,100, 25,179, 34, 71, 32,105,130,103, +213,218,104,239,234, 2,153, 82, 76,243,146, 91,147, 3, 74, 93, 96, 84,116, 85,250,217,211,199,180, 23,151,208, 92, 67,179,141, +230, 5,254, 43, 66, 64, 1, 56,152,243,221,111,189,193,111,127,243, 91, 60,184,119,151,163,241,156,197,122, 65,231, 61,221,182, + 1,215, 62, 63, 37, 14,159,141,254,236, 98,175,247,138,200,103,237,130,181,222, 53, 69, 38, 93,255,188,138, 83,170, 33,101,163, + 11,212,184,226,193,236,144,147,195, 35, 10, 97,200,139,140,145, 46,153,143, 43, 74,149,227,129,163,209,156,105, 89,114,149, 27, +130,209, 96,101,124,221, 58, 49,201,213,222,231,129,212, 53, 32, 60, 78,239, 10,122,178,130,141,146,172,212,157,103,134,224, 3, + 89,110,200, 4, 28,154,248, 62, 26,169, 41,115, 77, 38,226, 4,160,124,156,174, 91, 27,144, 74,226, 3,132, 16, 15,132, 46, 4, +180, 16,120, 47,216, 88, 31,141,130,172,195, 1, 97,184, 63,247, 47,145, 75,123,116, 33, 98,177,147, 42, 58,175,233, 60, 37, 21, +166,107,215,191, 42,243,255, 5, 39,185, 60,189, 39,131,138,163,172,226,212, 62, 16,113,154, 46, 69,233, 94,220,184,228,197,247, + 44,163, 60, 60, 38,207, 53, 66, 42,158,244, 29,143,186, 6, 22,203,157,201,204,167,254,109, 27,159,221,241, 40, 30, 88,101, 14, +163, 81,252, 25,235,102,215, 96,246,126,231,233,176,127,191,140,138, 88,124,115, 29,179,198,141,134,174, 67, 24,137,176, 18, 97, +123,164,237, 17, 69,198,236,232,132,111, 87,115,238, 28, 78,184, 59,174,200,181,102, 99, 37,239, 94,110, 24,117,107,238,201, 25, +249,180,138,242, 56,173, 17, 70, 35, 45, 4,223,161, 74,205, 97,145,115,213, 58,148, 30,241,186, 86, 28, 43,205,131, 81,206,116, +116,128,113,129, 96, 52,153,137,232,140, 86,138,208, 90, 84, 8,100, 2,150,109,207, 88,195,242,242, 26, 45, 37,215,118, 75,176, +129, 96, 12,161, 80,241,179, 86,132,229, 18,143,199, 11,112,157,197,139, 46,154,219,180, 53, 14,137,203, 13,206,111,177, 50,224, +235, 30,103, 52,174,183,120,173,163,241,181,237, 9, 93, 11,155, 13, 97,209,224,183, 91,222,239, 90,222,111, 90,182, 77, 77,211, + 55, 92,217,158,171,174, 67,116,142,210,193, 72, 65, 31, 36, 69,145, 51, 27, 85,156,100, 5,255,180, 40,249,225,120,202, 31, 77, + 43,190,101, 36,127,246,209, 83,248,248,147,120,166,218, 46, 58,115, 42, 73, 80, 10,202,156, 80,230,145, 3, 84, 85,241,136,252, +162, 65,201,177,139,243,101,224,189,196,226,222,143,199, 28,142, 70,212,190, 67, 11,197,229, 98, 65,184, 62,135, 62,112,182,221, +114,221,213, 28, 87, 5, 66, 11, 90,103,209,197,148, 50,159, 80, 22, 99,186,190,166, 26,229,220, 57,188, 75, 86, 20, 84,121, 78, + 91, 55,124,240,236, 35, 10,231,184,182, 29,231,193,241,179,122,205,255,120,121,205,181,101,135,116,145,194,189,134,194, 41,101, +180,218,245,150, 99,173, 25, 57, 79,174, 4,218, 57,158,246,158,177,210, 44, 8,116, 66, 38, 84, 56,173,174, 84,250,149,153,136, + 28,139,200, 77, 33, 75, 60,145,160, 62, 63,101,109,224,159, 8, 19,139,118,174,118,158, 39,221,158, 91,105, 72,197,223,250,248, +189, 67,227, 43,253,243,222, 40,255,233, 76,234,123,135,145, 74,123,243, 65, 78, 35,213,142, 44,231, 67, 34, 0, 37,150,160,243, +113, 15,111, 63,195, 23,251,165,203, 31,153, 46, 96, 58,216, 91,191,235, 46,149, 68, 72, 77,231, 2,157,245, 49,144,196,182, 32, + 29,144, 69,189,109,150,222,208, 81,154,122,134,130,231,146,207,183,147,113, 58, 23,160, 42,205, 97, 81, 50, 45, 53,243,124,132, + 18,146,166, 79,146,151,174, 37,184,192,184, 42, 57,172, 70,220, 26, 79,177,194,209,122,207,162, 93,178,236, 58, 30,126,242, 9, + 92, 60,221, 33, 22,191, 20, 33, 77,195,124,198, 15,222,254, 38,147,241, 17,213,104,130,181,142,171,237,130,203,245,150,176, 92, +165,195,218,238, 92,201,148,222,153,250,200, 4,221,203,180, 23, 29,138,244,240,119, 15, 68,198,151, 21,253,161,192, 14,251,236, + 32,227,245, 55, 89,130,207, 5, 20, 57,111,204,143,184, 55,191,131, 49,154,178, 28, 49, 45, 43,138, 60, 71, 11,141,115,150, 82, + 27,148, 82, 20, 38,122,128, 95, 6,159, 10,187,136,235,131,225, 94,218,151,117,236,123, 33,200,100, 63, 60, 52,115, 25,137,161, +157,165,159, 19, 40, 13, 42, 8, 70,185, 34,120,152, 24, 77,174, 20, 74,199, 61,151,240, 30,151,248, 15, 89,166,232,131,139,155, + 28,163,113, 93,135,144,146, 39,109,135,144,129, 32,163, 89, 72,112, 68,231,174, 65, 51,111, 7,162,156, 75,235,162, 16,211, 6, +179, 50, 62,204, 69, 17,145,167, 44, 69, 52,218, 62,113, 41,190, 66, 67,215,219, 61,217,103,106, 56, 51, 19, 11,184, 72, 94,238, +219,228, 40,183,255,247,219,142,107, 37,249,216, 40, 62, 64,240,172,107,227,186,103,187,141,190,210,242, 37,171, 45,151,126,198, + 44,135,249,148,127,125,247, 22, 63,124,237, 62,111, 31,148,252,244,244,122,183,183,149, 47,172, 97,134,213, 71, 48, 8,215, 37, +244, 36, 53,102, 82, 34, 66, 76,179, 18, 89,156,198,133, 0,155,231,252,227, 55, 30,240,181,201,132, 89,145,163,117,206,170,246, + 60, 91,111,121,218, 94,240,166,131,113, 49, 69,149, 25, 98,108, 34, 19, 92, 41,168, 91, 68,150, 83,150, 37, 7,193,147, 59, 71, +231,224,181, 34,227, 78, 53, 6,219, 98, 76, 65, 81,142,144, 66,164,158,223,199,219,135,104,223, 92, 73, 73,189,217,160, 50,193, +220, 91, 62, 58,123, 18, 45,101,181,230,143,238,221,227, 15,223,120,157, 7, 99,201, 79,214,155,184, 81,169,107,188,118,248, 98, +130,183, 46, 26,219, 40,133,171,175,241, 50,199,203, 16,247,240,133,137, 83,191,210, 81,205, 89,119, 17, 37,169,211,206,187, 94, +195,179,115,186,171, 43,206,206, 47,121,124,213,114,209,116, 60,220,246,116,117,131,106, 45,165, 23,204,114, 67,150,107, 58,109, +120, 93,231, 60,168,102, 28,155,156,153, 41, 57, 86,146,219, 35,205, 70,122,158,157, 93, 18, 46, 46,161,237,163,247,187, 82, 4, + 29,215, 96,255,242,254, 33,255,230,237,183,248,237,251,119,185, 30,107, 46, 46, 54,159, 57, 80,132,193,111, 33, 68,200, 88, 12, +209,201, 10,130, 13, 48, 45,233, 59,207,147,237,134,240,232, 20,182, 27,130,107,160,110,169, 55, 53,239,182, 27,182,237, 6, 65, + 78, 89, 76,201,203,130,239,255,103,191, 77,119,213,177,109,215,140,139, 17,147,241,136,104,118,211,240, 63,191,255, 49, 15,151, + 11,254,135,139, 21, 23,174,231,255,185, 90,179,242, 18,234,150, 16,246, 76,194,144,241,252, 86,106, 71, 74,149, 26,227, 45, 40, + 69,238, 44, 37,224,165, 96,101, 29, 39, 90,243,108, 95,243, 61,144,181,135,198, 90, 36,165,204,192,201, 26,220, 34,209,207,171, + 89, 94, 60,119, 7, 95, 10,210, 26, 74,232,157, 91,169, 72,191,119, 93, 66,209, 84,140,103, 30,206,168, 97,178,247, 95, 77,109, +246,247, 56,169,239, 77,123, 3,220, 48,132,179,236,231,108, 15, 18, 29,216, 57,207,245, 95,114, 15,236, 93,108, 28,220, 30, 34, + 19, 18, 57,194, 69, 6,107,232,109,148,127,117,219,216, 45,149, 85,156,192,139,180, 55, 82,123,241,172,106,111,151, 84,119,113, +242, 12, 1,114,195,164, 42,152,151,134, 42,207, 80, 66,208, 58,199,182,243,172,251, 14, 31, 2,101,161, 57, 46, 42,110, 85, 51, +124,144, 52,109, 75,227,122,222,127,250,140,167,167,167,112,250,209,115,145,150,191,212,135,115,160,114, 30,188,113,151,131,217, + 1, 66,106,126,126,250,144,247, 63,252,152,112,113,149,194, 59,250, 29,113,113, 56,121,179,100,113,234, 19, 19, 83,165,184,209, +144,236,120,117, 90,139,104,181,139,111, 29,246,114,131, 93,175, 16, 59,146, 26, 41,176,167, 79,172,239, 16, 29,221,100, 49,225, +215,110, 63, 96, 54,157,227,172,167,202, 71,113,208,212, 57, 65,192,168, 24, 97,125,195,192, 53,179, 4, 38, 82,131, 49,212, 62, + 68, 46,129,144,187,172,251,253,162,126, 19,231,187,231,188,164,108, 36, 9,169, 68,162,211, 38,189,214,104,115, 25,130,224, 32, + 55,104, 33,137, 52, 57,133, 49,209, 4,182,119,158, 66, 74,214,182,103,164, 84,220,250,180,129, 32, 20,215,193, 49, 82,134,174, +119,180,206,227,156,223,109, 2, 68, 72, 80,187,143,197,251, 38, 13, 47,220, 20, 82,178, 50, 93,163, 33,162, 80,236,188,185,191, +234,174,221, 37, 61,121, 85,221, 4,204, 40, 33, 8,214,198,181, 71,215, 70, 85, 68,232,118,135,134,115,209,110,116, 54, 74,168, + 88,106,236,154, 13, 44, 18,121,244,101, 54,204,109, 7,227,138,239,222, 58,225, 55,230,199,228, 58,195,122,207, 95, 53, 93,140, +173,124,241,245, 15, 68, 58,169,226,243,110, 70, 8, 21, 27,177,184, 5, 19, 49,134, 83,104,132, 14,136,206, 34,189, 64, 22,134, +127,118,235,117,222, 62, 58, 96,108, 50, 10, 29, 21, 8, 93,219,241,254,122, 67,103,151, 76, 54, 45,147,233, 28, 89, 40,196, 40, + 35,132,128,174,166,136,117,131,197,115, 48,157, 51, 55,134, 81, 7, 77,211,144,107,184, 61, 61, 68, 21, 35,100,211, 96,133, 38, + 83,154, 97,107,226,124,192, 53, 29, 78, 10,154,224,169, 28, 52,219,107,142,139,140, 79, 46, 47,169, 70, 35,254,249,157, 59,220, +170,166, 28, 77, 14,120,239,250,156,235,197,150,224, 44, 65, 23,248,237,134,160, 52, 94, 42,124,179,197,103, 21,222,246,201,183, + 41,158, 9,222,148,132,174,142, 22, 25, 10, 66,211,237, 22, 73,114, 47,140,165,237, 8,219, 13,246,122,133,109, 26,158,181, 45, + 63,239, 45,211,206,113,175, 48,116, 82, 50, 54,154,187,197,152, 82, 42,164, 50,209,152, 74,105, 70, 82,225,133,231, 32, 83,124, + 40, 51,124, 93,195,197, 34, 54,158, 46, 66,207,191,127,231, 54, 35,149,161,180,230, 82, 6, 30, 9,133,144, 89,124,102,247,138, +251,254,107,187, 81, 8, 13,235, 20,231, 0, 75,189,117,212, 93, 77,120,252, 20, 54, 87, 73,177, 33, 8,222, 18,218, 6, 46, 87, + 44,150, 91, 86, 70,115,255,240, 46,199, 71,183,217, 44, 90,180, 84,120,235,169,155,117,220, 32,217,152, 97,174,109,205, 95,127, +252, 24,209,247,156,173,106,186, 62, 16,218, 62, 61,251, 50,166, 39,186, 16, 27, 86, 31, 24,133, 64,111,147,113,151,130,214, 11, +238,139, 64, 19, 44, 2,129, 12,158, 18,193, 59,109,159, 12,162,194,243,110,150,195, 90, 88, 38,191, 11, 73, 60, 47,164,136, 8, +177, 54,177, 81,150, 73,189,181,255,156,106,149,228,214,123,110,143, 67,178,164,222,243,144,207,179,157, 90,164,103, 55, 0,188, +152,202,166,247,200,241,255, 32,139,250, 0,203, 74,177,183, 79,127,129,228,246,156, 30,156,231, 33, 59,225,190,154,172, 78,164, +176, 15,225,119,178,157, 44,103,252,230,109,166, 7, 83,182, 62,193,132,235,117,124, 19,143,102, 59, 67, 0,111, 35,124,152, 98, + 77, 81, 42,254,121, 68,252,222,129, 41, 89, 26,230,121,134, 49, 2, 35, 21,181,179, 92,215,150,117,103,233,189,197, 40,197,113, + 49, 98, 82, 20, 24,169,113,210,209,116,142, 39,171, 21,205,229, 51, 56, 61,143,211,211, 87,105,142, 62, 11, 38,111,106,222, 15, + 61,231,215,151,252,228,147,143,121,248,240, 9, 60,252, 56, 89,187,238, 77,217, 67,243,148,169, 4,249,239, 41, 11,148,220,145, +204,110,130,116, 84,114,250,147,207, 75, 10,135, 78,119,127, 74, 31, 60,215,117, 74,217,179, 22,188,228, 27,111,189, 77, 89,142, + 80, 82,146, 43, 3, 82, 81,230, 5,214, 89,140, 48,116,206,161,165, 64, 43, 67,221,182,232, 44,163,183,150, 46,120, 54,117,187, + 51, 37, 26, 86, 0, 54,253, 27,195,191, 61, 76,234, 50, 33, 5, 89,186,223,196,160,137,151, 55,118,177, 90, 43,166,185,142,211, +184, 81,100, 82,161,148,196, 7, 71,231, 2, 90, 10,214,214,145, 35, 8, 50, 58, 81, 5,231,227,218,204, 67, 43, 60, 78,106, 90, +107,227,228, 32, 18, 44,121, 3,191, 39,247,186, 64, 44,170, 67, 81, 23,106,119, 40,220, 60,197,233, 48,233,136, 81,192, 95, 37, +168, 72,107,152,205, 34,113,174,202,121, 80, 26, 50,231,152, 27,133,241,150,186,243, 49, 97,234, 83,114, 80, 31,215, 76,213, 56, + 18, 3, 6, 23,188,245,122,167, 6,121, 89, 34, 97,219,113,124, 50,227,184, 28,209,120,203, 39,182,227,195,118, 11, 77,178,146, + 29,190, 63,207,246,158,253, 4,223,170, 16,153,239, 67, 19, 22,199, 64, 68,154,102, 4, 10, 25,122,132,202,249,238,201, 9,175, +205,142,209, 90, 35,136,100,196, 69,211,179, 88,175,120,214,110,185,114,107,170,109,207,172, 24,163,114,131, 28, 21,209,253, 55, +104,202, 44,167,154,157,112, 92,221,225, 86, 89,209,173, 90,132,232, 40, 6,151,192,124,132, 12, 14,231, 60, 82, 41,132,150,184, +186, 67,230,134,237,182,102, 98,162, 87,198,170,105,144, 1,238, 26,129,240, 13,119,231,199,228, 74,241,201,118,195, 95,108,106, +218,109,141,183, 30,143, 39,228, 26,143, 34,168,130, 80,150,248,182, 37, 8,139, 15, 22,175, 51,130,245, 4,231, 8, 89, 30, 11, + 94, 15, 65,198,245,224,128, 40, 7,249,124, 49, 13,251,124,154,109,199, 7, 82, 48,111, 29,227, 76,211, 40, 73, 41, 3,135,166, + 64, 41,141,115, 14, 47, 5, 87, 93, 77, 38, 3,199, 74,242, 70,161, 80,163,130,199,249, 40,250,144, 47, 86,132,171, 21,183, 15, +114, 78,170,138,107,107,249,243,229,134,173,245, 80,106, 68, 89, 70,121,173,141,211,248, 23,202,219,122, 11,155, 85, 36, 88,246, +237,142, 59,145,204,157, 82, 5,132,224,104,174, 27,142,239,223,230,100,114,136, 82, 2,239, 28, 46,120,234,166, 78,183, 94, 92, +123,213,219, 13, 31, 94, 46,225,217, 41,108,108,156,198,151,219,232, 3,177, 90,198,198, 99,221,196,162,238, 28,253,186,137,175, +119, 40,236,193,179, 22,112,143,136,194,104,223,243, 65,215, 19,164,192,217,100,238, 53,236,181, 85, 26, 4,212,192,249, 74, 40, +177, 78,123,123,147,167,228,199,168,200,226, 38, 47,106, 47, 4,169, 40,210,153, 58,252,204,118, 23,237, 29, 82,198,200,144,161, + 32,134, 63,159, 92, 75,103,115,168,166, 41,248,108,136,246,254, 85, 77,234, 67,135, 32,245,243,126,220, 55,146, 34,255,233, 16, +137, 87,129,132,111,166,242,192, 77, 75,252,101, 96,251,175, 74,204, 27,220,188,240,112,255, 46, 63,252,167,191,201,119,110,223, +231,219,175,189,197,119, 94,187, 77, 89, 21, 60,126,114, 17,247,131, 89,158,114,223,101,210,235,166, 2,166,247,236, 49,141,130, +108,248, 44,201,115,133, 81,130, 92, 43,106,235,184,220,246, 92, 55, 53,174,183,148, 70,243,214,193,109, 14,102, 99,198,229,148, +213,102, 77,111, 61, 87, 77,195,114,177,132,197,229, 78, 19,252,101, 14,238, 1, 57, 24,160,203,193, 80,103,144, 12,102, 26,158, + 45, 89, 61, 62,165,125,248, 49, 44, 46,118,157,245, 0,237, 12,230, 7,131, 37,168,212, 41, 76,167, 77, 8, 71, 42,242,217,192, +220,150, 9,170, 79, 82,187, 44, 77,236, 55, 55,104,130,191,135,226, 58,152,173,116, 41,251,219, 11, 56, 58, 68,140, 71,220,154, +204, 25,153, 18,169,179,148,182, 5,101, 22, 11,187,117, 29,130,192,186,171,233,122,143, 82,130,171,245, 26, 43, 28,141, 16,132, +186,143,232,205, 32,121,212,164,201, 92,197, 66, 49, 48, 74,135, 61,123, 80,187,166,108,152, 56, 35, 61, 26, 37, 34,169, 34,215, + 18,141, 32,207,210,129,232, 64,136, 16, 61,201, 69, 64, 11,104,125, 32, 75,142,178, 91,235,145, 66,210,244,158,218, 57,100, 8, + 56,145,178,201,221,222,174,219,197, 67,140,118,207,161, 80,202, 93, 65,215, 42, 30,128,114, 56,244,210,123, 34,220,103,219, 86, +126,238,147,173, 99, 86,250,180, 98,102,226,253,106, 16, 88,231,169, 8,209, 73,174,169,119,204,119,191,247,156, 20, 37,183,103, +138, 77,117, 20,137,160, 50,161, 55,167,151,105,122, 23,159,158,214,173,229,217,166,227,175,187,134,191,106, 90, 62, 92,111,227, +125, 82,232,216,108, 13,205,170, 78, 12,121,147,154,153,161, 1, 20,121,116, 71,147, 30, 33,125,156,214,133,143,111, 81, 80, 8, +223, 33,108,203,119, 94,123,157, 73, 86, 33,181,166,211,146,211,117, 67,227, 3,205,102, 75,237, 90,150,117, 79, 79,199,253,209, +140,162, 42, 80,202, 32,148, 66,141, 74,204, 65, 69, 54, 25,147,221, 57, 32,147, 99,140,237, 57,191,184,100, 50, 18,228,213,140, +208,213,160, 20, 65,104,130, 15,200, 48, 80, 32, 28,211,188,160,173, 91, 38, 42,163, 16,146, 18,195,216,100,200,174,102,181, 89, +243, 81,223,240,231, 23,151,156,247,125,212, 92,111,226,228, 77, 31, 8, 74, 18,198, 25, 65, 11, 66,221, 18,104, 9, 34,202,165, +130, 25,206,166,100,172,101,227,164,123, 83,193,213, 75, 10,250, 11, 92, 53,250,158,119,250,142,166,105,169,157,135, 76, 48,149, + 18,237, 29, 65, 72, 46,234, 53, 29,129,222,245, 76,188,231,174, 50,156,228,134, 55,170,156,139, 50,103, 57, 26, 17,156,227,189, +247, 31,241,103,159, 60,230, 71,219,134,109,215, 71,147,160,148,151, 32,140,138,170, 21, 83, 70,233,154, 16,241,172, 25, 21, 47, + 93, 17,137,207, 67, 77,135,198,191,105, 1,203, 51,147,113,171,154, 96,148, 38,120, 79,223,181,172,155, 21,214,246,104, 2,189, +107,177, 93,207,138,134,245,227, 69,148,235,182,109,138, 62,173,119, 25,231,109,157, 86, 22,117, 36, 26,135, 20,125, 58, 52, 64, + 10,180,115,172,251,158,214,193,194, 57,236, 62,170,230,247,236,198, 73,107, 58,157, 30,116, 4, 15,116,198,127,121, 56,227, 7, +147, 17,255,100, 92,162,239,188,193,195, 31,255, 24,117,231,136,208,187,157,161,163, 24,146, 13, 7,211, 52,155,172,207,195, 78, + 30,170, 72, 43,225, 52,138,251,110, 71,214, 59,152,197, 26, 36, 21,108,234,184,254,252,149, 21,117,147,237, 92,111, 6,147,217, + 97,106, 27, 12, 96,134,169,226, 85, 14, 29,157,224, 69,157,118,133, 50,153,174, 72,241,183,195,184,126,177, 67, 81, 73, 11, 40, + 42, 94,251,214,219,252,250,253, 7, 76,230,183,144, 66, 49,157,206,113,109,207,187,182,141,157, 81,145,160,217, 54,165,146, 45, +175,211,141,148, 96,123,162, 71,187, 52,130,201, 40, 39,207, 12, 19,163,146, 93,168,103,209,116,212,235,116,195,105,205,107,135, +135,220, 62, 60, 97,156, 87, 40,161,241, 74,242,241,213, 37,139,171,107,184, 88,196,124,234,208,127,185,166, 69, 13,201, 95,233, + 49,146, 2,116,153,138,219, 16, 24,146, 76,109,156,125,121, 72,129, 38,162, 13,222,239,116,225, 67, 96,141,145,169,177,209,187, +110, 84,134,248,158, 13, 29,169, 18,177,208, 15,108,115,173, 18, 33,100,128, 87,253,206, 80,136,244,125,101, 52,230, 57,152,206, +152, 85, 35, 66, 8, 20,166,192,186, 62, 34,129, 64,103, 45, 4, 75,227, 58,140,136, 48,248,229, 98,137,201, 20,117,103,233,156, +199, 53, 13,244,235, 93, 70,113,218,195,198,130,147,228, 40, 46,197,211,146, 26, 80,157,116,186, 62,236,166,198,224, 33, 51,232, + 16, 40,141,166, 11, 30,233,226,125,221, 57,143,247,158,222, 7,156,243, 52,189, 39, 55,138,186,135,206,122,180,148,172,189,197, +171,232, 5,223,220, 32, 25, 73, 95,111, 83,230,125,235,226, 52, 33,210,107, 29,194,128, 84,122, 38, 90,123,147,131,126,179, 6, +169,155,212,217,135,231,209,151,231, 96,194,207,120,246,148,137, 48, 58,146, 98,148,113,168, 5, 66,105, 26,231,216, 52, 61,165, +183,108, 54,137,183,241,162,135,117,150,179, 57, 58,130,201, 45,126,167, 28,241, 70, 86,112,168, 2,167,215,171,120,112,126, 86, +212,112, 93,195,114,157, 16,172,132,114,105, 29,247,134, 46,125,125,240,138,184,185, 39,178,148,191,240,130, 45,169, 75,133, 29, +162,223,183, 20,136, 96,248,155,205,150, 55,142, 15,177,186,224,170,115, 92, 11,199, 98,221, 82, 1,227,190,163,146,130,183,143, +142, 56,152,143, 24, 85, 5, 18,133,148, 26, 89,106,228,225, 40,106,217,115, 29, 21, 15,219,128, 25, 9, 46,234, 37,235,237, 5, +227,106,134, 84,101,220,227, 10, 8, 73,235, 47, 19,163,122, 84,150,216,166,103,146,231, 76,180, 64, 11, 67, 38, 50, 86,237, 53, + 79,150,151,188,215,116,248,174, 35, 40,133, 47, 50, 66,215,227,155,109, 34, 4, 59, 66,219, 18,250, 53,212, 77,148, 78,245, 9, + 1,244,137, 44,217,181,187,169, 69,238,120,189,175, 34, 53, 19,222,243,180,109,249, 69, 93,243,255, 45,123,206,235, 13, 65,123, +182, 56,122, 31,184,106,214,148, 62, 80,132,128, 16,130,128,192,106,201,108, 92,178,146,154,235,114, 4, 71,135,241, 31,189, 94, + 35,206, 22, 17, 61, 25,222,171,129,253, 93, 22, 49,105,242,246, 45,126,248,107, 15,248,206,237, 35,102,199, 83, 30, 47,109, 92, +213, 5, 62,117, 79,138,151, 13, 88,131,148,214, 57,220,197, 5, 98, 62, 35, 35,196, 45,149,243, 4,161, 82,124,131,165,105, 26, + 86,221,154,211,197,138, 38, 36,207,138,254,115,130, 84,156, 75,187,235,136, 40,138, 68, 9, 10, 87, 43,150,222,179,105, 45,171, +166, 35, 8, 17,239, 61,149, 66,197,156,139, 53,173,245, 59,173,248,240,115,107,205, 55, 50,195, 91, 69,206,216,228, 24,169,249, + 14,158,223,124,253, 54, 39, 38,240,243,109, 31,155, 88,153,220, 35, 7, 84,211,171, 72,148,179, 3, 26, 39,119, 12,251,225,245, + 90,187,139, 44,206,116,226,113, 37,185,247,102,155, 26,189, 95, 69, 81, 31, 10,240,224,169, 62,176,137, 7,243,150, 1, 90, 29, + 82,175, 94,201,171, 86,238,138, 0, 98, 47,241,172,255,219, 47,232, 38,193,136,210,192,131,187,124,255,173, 55, 25,149, 83,178, + 44, 35, 56,232,123, 75, 89, 22,104,183,230,210,121,130, 15, 4,159,228, 17,219, 6, 46, 23,241,115,149,244,222,165, 70,230,138, + 81,174, 49, 82, 80,101, 34, 41,151, 60,151,171, 6,183,218,194,106, 3,153, 97, 84,149,188,113,124,155,131,114, 66, 32, 50,167, +215,125,205,197,102, 77,127,185, 76, 76,247,246,203, 17, 35, 6, 46,194, 62,251, 27, 17, 59, 62, 33,119,133, 29,191, 67, 68, 94, + 36, 58, 37, 84,232,249, 29,146,216, 85,252,125,243, 22,159,248, 13, 50, 5,173,100,106, 39, 35, 19,236, 50,196,111,152,231, 42, + 21, 45,249,188,169,144, 81,241,181,143,103, 76,199, 5,203, 77,205,253,131,219,180,214,226,189, 69, 9,193,182,107,232,108, 71, +109, 91, 70,166, 68, 75, 69,227, 90,140,209,108,234, 26, 23, 98,227,228,214,203,180, 42, 72, 26, 80, 19, 98,241,216,247,255,215, + 41,191,216,136, 56,189, 15,134, 62, 69,106, 0, 74, 19, 37, 62, 14,180,214, 88, 23,179,199,251,224, 81, 1, 28,158,173,117,228, + 82,196,126, 78, 7,218, 54,254,253, 94,193,214,245,180, 2,154, 62,196,239, 19, 2,215,135,221,218,104,216,239,119,110, 87,200, +135, 93,186, 52,137,149,191,127,221,211,179, 49,144, 0,131,123,254,249,120,153, 70,255,101,207,158, 41, 34,169,103, 82,210, 42, +201, 72, 72,182,120,148,117, 80,119,172, 54, 61,110,152,158, 63,181,243, 86,112,239, 22,191,115,112,139,147,178,228, 40,203, 81, +125,199,105,187,164,191,186,126, 57,252,190, 47,115,235,218,196, 91, 72, 4,189, 44, 49,137,133, 73,133,125, 88,229,228, 96,235, +120,144,233, 9,248, 14,209,217, 68, 94,141,123, 75,209,219, 88,208, 1,225, 4,130,192,251,218, 83,168,146,101,151,130, 58,188, +229,160, 50,220, 27, 79,185, 91, 76,184, 51,153,114,116, 56,195,110, 91, 52, 18,217, 6,228, 36, 71, 30, 22,136,204, 32,140, 36, +108, 28,118,219,210,103, 10, 39, 3,173,146,180,174, 71, 5,143,200,242, 68,230,142,197, 79, 25,131,197, 99, 16,100,121, 70,223, +212,228, 38, 67,133,192,214, 7,166,166,136,236,118, 91,115,222, 89,124, 8, 4,163, 8, 70, 18,186,158,224,122,112,155, 72, 58, +108,219, 20,140,178,199, 25, 34,133,251,236,107,246, 63,103,242,253, 44,255,118,113, 3,203,119,124, 92,111,249,127,175, 26,254, +100,221, 48, 22, 22,211,246,204, 60,140,149,100,237, 29, 91, 41, 88, 3,155, 16,232,203,140,181,209,252,227,163,138,127,123,247, + 54,191,121, 50,229,247,238, 31,113,160,224,189,167,215,136,235,107, 16, 42, 42, 19,202,152, 96,121,127, 82,240, 91,243, 3, 94, + 59,186,205,225,116,198, 59, 69, 78, 63, 42,147,178,196,164,231, 81, 68,199, 78,147, 71,101,199, 40,231,232,254, 9,181, 44,118, + 12,242,180,102,186,176, 61,206, 40, 50, 37, 17,105, 53,211, 7,139,117, 13,235,245, 53,206,183, 52,173,101, 45, 37,200, 60, 34, +135, 38,173,112, 94, 66,230, 19, 9,121,227,246, 93,126,239,123,223,229,215, 31,188,197,236,112,194,147,247, 63,129,174,229, 48, + 15,212,155, 58, 66, 33,117,183, 51, 75,106,109, 10, 17, 75,207,173,142,175,241,219,153,230,159, 76, 42,114,149,225, 67, 32,147, +154,198,247, 20, 82, 34,165,225,195,166,166,150, 3,243, 93,199,231, 86,153,228,201, 48,212,158,244, 78, 9,187,131,223, 93, 26, + 29,153, 26,155, 0, 0, 32, 0, 73, 68, 65, 84,148,134,103,124, 88,207,217, 16,125, 71,134,144,153, 95,186,168,223,192,186,105, +234,217,183,110,237, 82, 55, 17,210, 1,109,221,243, 22,146, 95, 4,129, 15,211,160,150,187,144,148,191,237, 41,125,144, 62,137, +116,160,119, 14, 49,159,112, 50,154, 96,116,148, 55, 9, 41, 88,174,150, 60,188, 94,113,118,189, 66, 10, 65,232, 18,177,105, 29, + 73, 37, 40, 25,229, 66, 82,199, 41, 61, 87, 20, 90, 16, 66,212, 46,215,157, 99,217,180,112,185,137,172, 85,109,160, 44, 57,156, +148, 76,117, 65,150,151, 55,147,228,214, 53, 60, 58,189,128,103,105,143, 62, 20,243, 87,189, 20, 38,221,212, 46, 93,119,159,116, +143, 65,237, 96,112,201, 30, 26,194,110,194,222,159,212, 7,199,190,161,195, 22,201,252, 32,176,211,128, 91,151,120, 8,114,167, + 77, 30, 38,255,228,151, 30, 67, 59,210,191,181,159,119, 63, 76,238,222,167,195, 59,193,244, 58,199,101, 57, 71,101, 73,221,119, +120,111,169,178,130,166,107,145, 74,179,105,214, 8, 25,144, 66,225, 66, 96,100, 74, 16,129,105, 89,113,185,190,230,234, 98, 17, +167,194,190,141, 93,123, 72,114,181, 97, 82, 31,200,150, 50,165,233, 13,196,189, 96,210,207,145,140,142, 18,226, 2, 1, 33, 37, + 69, 46, 89,119,142, 44, 37,172,181,189,199,139,184,187,213, 54, 68, 20, 47,153,195,213, 30, 90,235,169, 93,192,134, 64, 41, 37, +117, 99,119, 5,122,144,209, 89,151,174, 91,250,255, 82,238, 53, 93,114,151, 27,190,111, 8, 50,178, 77,220,167, 11,251, 60,105, +114, 63,110,241,197,102,249,197,134, 45,151, 81,122,153, 69,148,165, 9, 32,165,228,162,238,113,189,163, 91,109,226,123,248,178, +137, 91,101,112, 48,231,222,116,198, 97, 94,208,216, 30,131,231, 23,171,107,220,179,243, 47,110,194,123, 11,181,139,242,182, 76, +241,221,201,132,127,117,231,152,223, 62,153, 80, 77,114, 62, 57,191,142,215,196,167,179,228,224, 54,223,251,254,183, 57,253,224, + 35,132,204, 35, 4, 63,236,102,149, 68,120, 3, 94, 34,219, 53,210,197,233,237,161,114,156,231, 21,149, 11, 28,224, 57,153,142, +120, 99, 52,225,173,195, 67, 14,198, 19,242,188,192,123,203,229,163, 51,114, 43,208, 85,158, 12,142, 98, 20,175, 95, 54,216, 77, +205,170,169,177,163,138,144,101,212,206,211, 43, 77, 16, 10,163, 13,189,179, 40, 41,177, 65, 48, 26,141,240,206,199,251,116, 60, +194,117, 61, 2,184, 93,141,217,118,150,177,201,176,161,103,140,227, 81,219, 17, 66,192,107, 77,200,116,100,104, 55,237,141,214, + 63, 22,224, 93,118,252,238,243,206,112,236,197,255,126, 49, 70, 85,124,206,215,110,204,187,234, 45,118,179,229, 39,171, 45, 7, + 4,250,166,193,118,150, 32, 4,139, 0,219,204,112, 17, 4, 87, 30, 10, 99,248,245,106,194,221,114,198,215, 38,199,220,159,156, +144,151, 25,118, 94,240,112,221,195,250, 42, 14, 41, 78,192, 40, 99, 84,102,124,111, 58, 67, 41, 77,231, 3,191,232, 45,219,214, + 66,101,162, 74,104, 58,130,131, 57,156, 28, 69,251,225, 91, 71,252,219,111,191,193,247,143, 79,248,221,215,239,225,230, 5,143, +201, 99, 67,115,124, 12,101,206,166,200,168,148, 38, 8,193, 73, 89, 97,189,195,120,207,114,179,102,221, 89,148, 20,148,185, 70, +151, 57, 77, 94,194,252,144,252,181, 55,112,119, 95,131, 78, 65,150, 12,140, 32,114, 0,180,225,187,223,254, 58,199, 7, 39, 16, + 60,214,100,124,114,246,148, 25,150,197,114, 27, 39,225,122,147,160,251, 62,170, 60,250,193, 71, 33,236, 46,106,240,188,153, 25, +190, 89,142,147,167,137,130,224,240,222,161,164,102,211, 55,180,194,242,164, 75, 89,225,153,137,208,250, 96,231,236, 99, 17, 23, +200, 72,161,113, 50,161, 79,105,189, 98,221,243,178,212,126, 72,192,235,190, 82,109,124,121, 81,151, 9,114,240, 41,142,210,217, + 88, 64,250,189, 3,157,193,206, 85,236, 32,132, 87, 49, 46, 25,224,145, 23,141, 84,254, 54, 63, 6, 9, 85, 16, 17, 10, 65,176, +200, 12, 85,150,113, 52, 46, 16,194,227, 29,156, 95,175,248,139,119,222, 5,209, 71,178, 19, 62,193,166, 77,116,197,154, 23, 73, +222, 16, 51,166, 67,136,249,188,189,119, 52,189,163,111,250,216, 93,173,151,177,216,141, 71,140, 39, 35,170, 66, 35,241, 72,109, +232,250,150,198,121, 30,158,157,179,125,122, 26,247, 67, 55, 59,152, 47, 67, 54, 84,177,248, 26,177,131,151, 3, 59,223,224, 97, +160,147, 67,214,252, 75, 60,212,247,247,238, 67, 83,224,210, 62, 87, 14, 76,204, 68, 38,115,118, 23, 30,162, 19,188,173, 19,243, +220, 13,161, 58, 58,194,197,168, 4,127, 37,191, 99, 37,118,118,166,129,104,252,211,247,244, 65,208,107,133, 32, 36, 55, 88,135, + 11,142,197,118,129, 68, 82,234, 17, 74,104, 50,173,144,194,160,165, 98,219, 52, 76,139, 17, 15,183, 75, 56, 59, 75, 39,153, 77, +123,252,253, 2,153,224, 46,103,119, 28, 2, 51,200, 26, 37, 84,229,243, 9,100, 68,166,115, 7, 49, 80,195,122,156, 11, 88, 5, + 5,113, 98, 19, 30,172, 8,224, 3,181,247, 4, 33,232, 83,163, 42, 9,172,187, 97, 23, 42,246,228,107, 73, 70,166, 84, 60, 68, + 92,159,252,207,137,178, 60,215,236,244,222,174,143,215,175,235,119,201,102,251,176,251,231,125,188, 8,161,143,170, 72,230, 73, + 54,187, 78, 42, 90, 27,125,216,221,166,129,235,197,103, 63,123,194,195,108,140,171,170, 36,253,213,188,187,186,228,252,242, 50, + 54,172,175, 18, 10, 50,228, 59,204, 39,252,193,157, 99,114,169,152,149, 83,156,235,121,167,238, 83, 80, 82,186,103,182,215,156, +126,242, 48, 53,160, 18, 49,196,200, 14,211,122,232, 17, 65, 34,115,137, 8, 22,105, 5,178,105, 9, 42,144, 9,193,189, 81,198, +131,106,202, 91,243, 25,147, 34,163,154, 69, 51, 21,223, 67,215, 56,214,151,231,140, 84,142, 57, 24,199,251,196, 65,216, 90, 66, +211,227, 69,160,147,158,173, 20,184, 98,132, 77,220,146,218, 91,132,140, 33, 63, 69, 53,194,217, 30,161, 20, 89,150,209,214, 45, + 50, 8,100,102,240, 65, 80,100,154, 77,239, 57,206,198,116, 90, 98,125,195,179, 46, 74,187, 66, 12, 5,136,164, 68, 27,207,148, +151, 21, 99,249, 25,159,191,204,175, 23,167,248, 0, 4, 31, 97,255,159, 45,150,124,220, 89,124,211,210,246, 14, 39, 2, 87,222, +114, 42, 37,207,132,100, 94, 26,222,210, 25,119, 70, 51,148,202,208,198, 96, 76, 73,171, 13,125, 33,185, 80, 89, 92, 25, 92,175, + 97,121,197,166,243,188, 94,106,148, 84,156,246, 29, 63, 90, 44, 19,139, 59,233, 75, 85, 90,221,142, 51, 80,138,217,100,204,247, +102,135,220,169,102,140,203,138,172,200,120, 71, 73,220,120, 12,183, 79,152,222,127,147, 81, 81,130,146, 84,192,131,201,140,147, + 81,206,196,104, 46,250,134,218, 57,148,214,228, 66,162,165, 96,148,103,252,240,183,254, 41,255,234,159,255, 62,255,236, 55,190, +199,209,252, 62,106, 62,166,155, 29,211,118, 93,146,230, 26,206,188,226, 27,135, 83, 68, 86,209,109, 87,124,252,240, 9,237,242, +154,233,184,164, 93,247,233,249,232,161,109,201,180,194,109,183,209,178,185,237, 83,141,139,199,217,177,210,188, 53,202, 24,201, +140,222,181,145, 65, 79,160,237,123,150,222,242,151,203,134,237,224, 60,103, 20,163, 42,167,207, 75,200,116, 76,203, 19,137, 43, +129,223,157, 73,128, 8, 33,254,250, 21,214,193,151,159, 20, 34, 81,248,135,201, 92,232,221,132,190,109, 34, 57, 34,193,100,251, +142, 61, 55,196,160,127,136, 31, 42, 77,216, 50,197,172, 62, 89,178, 58,217,176,221,108,153,140, 15, 33, 52, 56,219, 36, 82,194, + 62,155, 60, 29,252,147,113, 60, 36,203,148, 50,119,179, 71,108, 99, 45,238, 45,172,183, 41, 35,126, 7,127, 74, 13,193, 7, 86, + 93,207,246,234, 20,135,100, 81,119,172, 47,215,176, 90,127,177, 27,222,103,153,233,244,169,233,232,147,214,193,200,228, 91,239, +227,207,200,144, 78,150,194,105, 20,187,223,219,189,162,190,109,118, 83,184, 75,123,244,125, 97,113,219,196,212, 51, 33, 99,193, +217,191, 23, 94, 28,216, 84, 42,252, 55,221, 73, 6,165,136, 83,103,122, 73, 56,189,155, 84,251,150,101,219,146,101, 26,183,245, +132,205,154,233,120, 12,214,115,114, 56, 5,160,204, 75, 50, 99,112,125,143, 50,121,220,165,251,134,215,230, 21, 15,191,254, 38, +188,255, 65, 12, 48, 81,123,124, 4,217,199,127, 71,217,231,175,111,219,237,146,200, 26, 27, 73, 92,222,199, 48, 17, 37, 33, 3, + 45, 4, 77,231,208, 72, 86,193, 83, 32, 88, 16, 8,206,115, 32, 5, 54, 4, 46,251,158,137,138,141,192, 38, 65,209,197, 16, 64, +228,247,166,213,129,108,227, 93,130,223, 19, 15,194,166,130, 23, 92, 34,246,245,207,255,153, 23,255,251,171,248, 19,232,228,136, +149, 26, 22,186, 62,194,224,214,237,174,255,103, 54, 8, 22,206,174, 57,157, 95,112,234, 61, 44, 47,226, 52, 3, 80, 8,120, 85, +197,229,102, 5,171, 45,109,215,115, 50, 61,100,221,183, 60,209, 49,171, 30,167, 65,118, 59, 18,163,200,227,251, 54,232,117,189, +137,208,252, 80,156,148,197,123,131,207,193,119, 29,254,236, 17,206,247, 60, 10, 61, 63,152, 85,228,128, 81, 2,157,105,100, 46, +200,171, 10,151,107,176, 61,107,215,177, 92,109, 80,143,174,201,239, 76, 99, 19,234, 60,106, 86, 48, 42, 2,186,201, 41,187,146, +243,229, 53, 11,105,233, 61, 28,143, 39,204,110, 29,162,148, 36, 88,104,183, 45, 25, 1,219, 89,132,136,136,157, 17,130,186,109, +168,138,156,215,230,135,252,199,235, 83,166,121,201, 55,111,189,206,149,123,194,199,109,131, 32,139, 69,247,238, 93,184,188,138, +171,182,182,123, 57,116,254, 57, 5,250,121,146,156,190,121, 78, 69, 90,231, 8,187, 99,165,135,255,159,186,247,108,178,236, 58, +239,253,126, 43,237,112, 98,199,153, 1,102, 6,145, 0, 73, 48,136,162,168, 72,221,171,171,107,189,176,222, 58,125, 5,127, 13, +126, 26, 87,185, 92, 46,135,178,101, 91,117,203,215,165,146,117, 45,139,162,196, 32, 6,136, 4, 48, 4, 6,192,204,116, 58,113, +135,149,252, 98,173,221,231, 76, 34, 2, 85,186, 86, 87,117,117, 79, 79,247, 9,123,175,181,158,244, 15,207,248,155, 8,124,176, +217,240,254,102, 67,216,108,152,108, 74,142, 70, 35,220,116,204, 47, 85,193,151,116,137,174, 11,106,161,232, 8,180, 33, 49, 20, +218,224,168,139, 17,119, 15, 61,247,164, 72,190,237,139, 53,108,123,254,135,239,253,132,232, 44,232,241,117,155,154, 73,149, 20, + 44, 67, 62,127,214, 61, 76, 71, 40,210, 56, 78, 41,131, 20, 2, 41, 52,183,170, 49,247,104,161,158,208,121,203, 97, 61, 66,199, +200,237,233,152,219,179, 17,181, 81,172, 27,205,173,110,198, 74,104,240,150,224, 18, 30,228,197,217, 17,175,188,124,151,111,188, + 54,199,148,154,155,199, 37, 55,223, 62,164,111, 54,252,183,189,163,251,240, 62,194,247,196,237,138, 11,111, 57,242, 61,147,170, + 98, 50,159,178,110, 91,150, 87, 93,214,108,224,122,150,221,111,219,221, 57, 65,155,102,235, 19, 7,182,226, 3,161, 57, 31,111, + 24,141, 21, 71,166,102,101, 27,162, 15, 56,224,157,102,203, 89, 8, 40,169,168, 43, 69, 37,210, 40, 86, 86,145, 77, 35,210, 88, +176, 80,233,188,183,221,206,203,163,123, 90,123, 63,254, 42, 64,244, 62,117,248, 83, 87,234, 3, 8,167,200, 21,143,207, 51,219, +224,115,133,222,166, 67,113,219,238,108, 81,201,135,214, 64, 33,250,231,212, 18,127,242,141, 63, 15, 60, 36,101, 58,228,116,238, +155, 18,224,104,204,239,188,126,155,155, 39,199, 76,231, 37,149,209,156, 28, 30,240,225,229, 57,171,237, 22,101, 20, 81, 12,109, +232, 68,237,160, 46,118, 82,152, 42,139, 4,172,123,216,108,224,106,155,248,200,109,127,141, 58, 86, 35,195,200, 40, 68,148,108, +189, 99, 99, 3,103, 77, 67,127,149,231,237,155,203,207,119, 96,171,189, 46, 10,131, 82, 87,110,221, 26,147,237, 70,243, 2, 40, + 51, 21,101, 24,228,201, 61,158,113, 36,123,210,199, 4, 2, 52, 38, 5,222,174,221,177, 20,164,220,241,106, 10,185,107,185,135, +144,103,167,123,115,173, 48,120,162, 15,200,238,140, 54,247, 49,207,239, 67, 66,123,186,252,243,110, 11, 33,176,237, 44,203,190, +103,213,247,148, 74,115, 52,155, 81, 21, 21, 39,179, 99,140, 81, 72,161,209,101,129, 16,146,217,120,130,115, 61, 35, 93, 80,170, +200, 5,106,103,149,232,251,244,248, 62,163,137,221, 51, 58, 65, 74,238,168, 42, 3,208,188, 48,100, 88,123,154,102, 40,137, 37, + 94, 23,212, 32, 17, 49, 38, 45, 23, 18,117,205,121,207,101,219, 81, 85, 26,215,123,182, 54, 80,228, 45,115, 13,148, 27, 40,108, + 3, 86,193,251, 92,197, 59,210, 48, 88,236,130, 88,239, 30,167,118, 62,171,195,245, 60,205,251, 39, 55,122, 53, 74,126,230,227, + 50, 37,120,101, 6, 8,250, 60, 11, 63,187,252,100, 7, 40,111,179,177,142, 72, 93, 42,107,147,167,192,114,243,233, 19, 81,159, + 16, 74,221,164,230,131,222,241,253,182,227,103,155, 54,237,167,102, 11, 62,139,110,168, 36, 49,122,173, 43, 32, 67, 66,194, 83, +164,239,243,216, 68,208, 35,131, 70,184, 6,169, 42,148, 23,168,222, 18,101,224,181,217, 41,199,166, 96, 50, 27, 99,180, 68,150, + 26, 85,106, 34,130,162, 46, 89, 44,150,232,141, 69, 7,129, 84,105,223,248,182, 71, 40,129,170, 53, 69, 81, 50, 50, 37,149, 48, + 8,161,185,117,231, 6,245,193, 24,115, 56, 70, 24,141, 18, 26,239, 34,182,115,200,210, 16,188,199,197, 64, 81, 26, 90, 31,104, +251,150,117,132,214,148, 52,192,168, 52,188,183,110, 8, 50, 18, 11,147,206,139,201, 24, 84,129,240, 1,185,234, 17,217, 65, 55, +239, 32,212,245,167, 70, 37,136,223,222,103, 72,191,227, 65,150, 5,210, 8,164, 18, 72,145,212, 48,165,247, 79,183,225,247, 43, +246,253, 79, 47,232,172,227,114,221,176, 88,246,196,182,227, 81,140,252,198,116,204,161, 54, 76,234, 9, 0,239,180, 27, 46, 92, +199,199,125,207, 54, 6,122, 17,113, 66,195,225, 12, 38, 35,226,100, 2,179, 89,218, 71,171, 38,105, 30, 92, 44,211, 26, 57, 63, + 75,126, 20, 34,209, 21, 27,160,150,142,185,210,180,206,114,101, 59,254,106,181, 77,123,161,168,185, 51,154, 50,146,138, 50, 6, + 94,158,140,152, 40, 73, 89, 40,188,130, 94, 40, 62,180, 14, 87,150,212,166,194, 17, 25,153,146, 55,191,240, 50, 7,211, 17,109, + 31, 48, 72,182, 54, 34,162, 68, 19,249,229,250, 42, 61,119, 81,114,235,228, 16,163, 10,122, 4,239, 93, 93,225,151,103,153, 97, + 16,210,243,219,236, 36, 24,158,156,207, 39,227, 33,164,166,233,123,126,218,123, 94,174, 36, 70, 68,122, 31,232,188,231,157,126, +195, 79, 54, 61, 27,239,145,217,151, 69,163, 16,165,160,245, 36,165, 65,145,217, 35, 82,165,241,168, 16,121,236, 41,114, 49,229, +159, 15, 42, 44,139, 84, 84, 85, 38,237,199,161, 91,250, 43, 42,251,199,131,186,148, 48, 58,132, 98,154,128, 14,163, 81, 86,184, +146,201,122,174,168, 18, 34,215, 84,169,202, 40,244,110, 46, 54,104,214,126, 30, 78,237, 63, 69, 48, 31, 14, 55,249, 12,125, 94, + 85,236, 29,230,164,139,116,115,204,183, 94,189,205,168, 30,209,181,129,186, 42, 80, 50,112, 88, 76,248,104,181, 96,219,111, 81, + 50,166, 24, 88, 40,162, 86,200,202, 32,164, 76,168, 73, 31, 97,217, 38, 95,246,197, 26,150,217,159,125, 86,167,235, 54,174, 48, + 38,205,147,173,247,248, 0, 27,239,211,225,237, 61,172,206, 63,123, 53,166,115, 23, 37,184, 93, 94, 39,217,179,161, 53,105, 30, + 99, 76,230, 71,154, 28,108,217,161, 57, 7,224,154,209,121, 54,170,211, 74, 68, 67,200,153,234,224,152, 23, 99,170,160, 66, 76, +139, 63,100, 10,214, 0,138, 51, 58,183,189, 51, 35, 32,100,107, 77, 93,236,230,251, 42,238,130,103,148, 89,191, 63,183,166, 93, + 82,251,162,235, 97,181,133,208,179,145,154,227,233,148,195,106,204,108, 58,197,123, 79, 89, 22, 40, 41, 24, 79, 38, 56,107, 9, +193, 98,187,158,178, 40, 8, 42,178,106,186,244, 6, 93, 72, 45,238,190,123,254,104,199,251,188, 49, 34, 96,114, 82,147,121,236, + 25,131, 16,131, 39,202,152,198,219, 49,210,245, 14, 39, 99, 50,112,241, 17, 27, 28,141, 15, 76,180, 98,219, 88, 10,163,114, 52, +207,231, 68, 8, 59,228,255,208,245,232,236, 30, 74, 63, 38, 0,159,103, 39, 60, 33,194, 39,239,157,231, 5,245,199, 70, 42, 21, +220, 60, 74,201,247,168,230,141, 73,193,177, 54,212, 81,112,164, 21, 55,100,224, 98,185,250,228,181, 39,196,142, 2, 26, 99,154, +237,111, 59, 88, 52,159, 92,233,239,239,205,174,227,170,141, 60, 10,145,141,202,215,223,147,170, 32,187,190,166,179, 37,212,176, + 73, 65,222,107,132,235,147, 0, 77,238,128,136, 40, 17, 42, 38,122,155, 8,200,114,130,244, 61, 50, 68,214,209,115,103, 82,113, + 84,205, 24, 41,141, 86, 18,169, 20, 33, 6,212,164,196, 90, 79, 64, 96, 53,244, 23, 43,100,231, 8,173, 69,212, 6, 57, 41,137, +214, 35,141,166,156,212,140,203, 17,243,217,148,234,116,134,158, 84,168,113,133,170, 12,193, 6, 90,235, 16,133,196,134, 64, 80, +146, 32, 37,141,247, 4, 33,184, 10, 30,163, 20,235,174,163, 51, 6,173, 43,222, 58, 57,230,230,184,230,168, 54,220, 28, 25,254, +139,219,183,248,175, 95,191,203, 91,167, 35,254,106,213, 34, 93, 64, 6,119, 29,204,245,240,213,104,180, 82,104, 37, 51,222, 80, +160,188, 71,121, 80, 74,163, 42,185, 75, 4, 4, 40, 41,144, 49, 33,224,229, 94,235,254,233,106, 93,167, 22,122, 78,110, 35,145, +216,103,157,254,117,199,182,138, 8,111, 57,179, 13, 87, 81,240,113,223,114,207,182,108,172,229,178,105,137, 66, 98, 51, 59, 70, +214, 21, 98, 52, 34,102,103, 63, 70, 21, 84, 21,163,233, 4,187,216,100, 91,209,144, 40, 89,139, 45,244, 61,247, 31, 92,242,221, +143, 30,112,213, 47,249,139, 95, 62,130, 15, 62,204,235,106,205,202, 54, 84,125,143,176, 13, 69,136,204,140,194,134,192,186,109, +249,225,229,154,141,212,248, 24,145,198, 32, 84,193, 89,215,113,103,114,200,205,185,193, 89,199, 98,213,177,117,160,181,132, 62, +242, 96,253,136,237,102, 11, 77,195,225,193, 17, 33, 70,186,190,227,131, 95,188, 11,155,101, 46, 90, 51, 8, 85,239,241,204,159, +220, 87, 33,183,203,183, 14,175, 4,127,223,118,252,223,151, 43,222,110, 59,254,118,189,225,199,139,150, 77, 76,116,213, 66,194, + 76,107,186, 24,136, 66, 38,207,166, 97,236, 27, 19,173,247,200, 20,180, 18, 94, 61,152,112, 37, 76, 22,235, 82, 59, 9,229,167, +138,184, 12, 52,237,243,226, 16,207,176,133,125,110,251, 93,235,164, 62, 53, 59, 76,243,218,168,178,218, 85, 1,151,151, 80, 5, +104, 87, 80, 78,210, 28,216,100,126,162,201,237,216, 65,217,203,185,127,222, 10,125, 95,201,108, 16, 81, 25,254,237,220,222, 91, +204, 78, 56, 58,253,205,203,211, 81,166, 77, 70,170, 66, 98, 10, 77,111, 35,101,110, 87, 42, 4,165, 0,105,210,251,178, 22, 98, + 70,236,247,214,165, 96,212,183,169,165,178,204,193,112, 86,229, 89, 82,170, 88, 61, 17,105, 10, 68, 76, 7,100, 41, 3,157,144, +159, 13, 16,247, 36,128,201,183, 32,170, 76, 83, 11, 59,174, 56,164,255, 43,178,232,193, 53, 90, 61, 47, 6,159, 91,244,251, 90, +223,229, 36,161,229,251, 12, 98, 11,213,110,132, 50,140, 86,182,171,180, 97,125,174,194,237,240,213,237, 84,232,174,171,203,225, +189,245,233,185, 6,235,207,184, 55,103,133,221, 8, 71,230,182,179,203, 86,179,155,158, 48, 25, 97, 2,196, 24,233,156,163, 42, + 43,132,148,232, 34, 85, 71,169, 59, 22,249,222,131,247,248,218,233,109,198,198, 80,158,206,233,174,214, 57, 97,202,175,223,254, + 10, 43,211,216,166,128, 14, 73,176,162,202,107,196,231,235, 84, 25,176, 73, 60,100, 8,202,222,122,218, 24,169, 60,120, 25, 48, + 14,214, 46, 80,105, 65,231, 82,160,170, 76,106, 26,116, 42,111, 82,163,119,216,145, 65,203,125, 16,224, 24, 2,163, 54,169,253, +238,229, 39,143,175,246,247,214,222, 82,127,172,139, 51,159, 51,159,212,152,217,136, 27, 82, 49, 51, 5, 91, 23, 49, 37,168,224, +241,189,228,213,227, 99,222,221,222,255,228,231, 90,183, 48,233, 82,162,164,115,199,174, 72,157,201, 79,189, 55, 71, 85, 74, 96, +203, 92,150, 78,138,212,241, 58,157,165, 91,112,113,158, 76,101, 84,149, 70, 40,195, 45, 42, 52,194,107, 34, 14,130, 33, 42,155, +243, 66, 75, 12, 37,193,247,248,178,198,105,133,125,180,228,127,253,209, 15, 24, 71,193,188,252, 58, 82, 41, 60,130,114, 84, 16, +123,143,152,214, 8, 31, 88,158,175,112,210,114,255,195,123,140,100,228,120,118,202,232,116,142, 26,151, 72,153,199, 2, 35, 65, + 57, 31, 35, 39, 73, 57,113, 16, 67, 9, 66, 18,163,192, 75, 73, 52,208,228,110,148,170, 20,155,117,147,192,103,120,212,168,100, + 46, 13, 55,162,163,139,145, 98, 58,227,197,245,134, 66, 27,254,112, 62,162, 38, 80, 86, 83,126,183,151,124,247, 23, 31, 49, 61, +158,208, 54, 13,210, 6,102, 64,211, 89,164,117, 72,231, 17,131,135,183,183,215,103, 91, 52,250, 41,206,122, 28,130,180,123,188, + 34,223, 63,102, 2, 26,177,223,226,181,225,122, 1,197, 46,161,191,127,252,119, 11,126, 60,159,115,251,246, 41,107,161,185, 49, +155,242,113,150, 22,142, 49,178,237, 60,197,184,192,201,196,124,153,148, 21,109, 76,235,254,173,219, 55,121, 57,118,244, 93, 79, +123, 52,226, 7, 77,195,253,143,174,146,184,141,112,176,190,202,186, 74,129,183,239,127,176, 91, 35, 75,141,248,210,239,242,202, +228,144, 27, 85, 5, 97,195,213,102,201, 61, 21,144, 82, 17,130,231,170,233, 81,170, 96, 90,214, 9, 15,101, 45,181,144,108, 62, +190,207,189,197, 21,181, 52, 92,184,192,228,245, 87,137,165,230,206, 75,183,248,250,242, 85,254,207,243, 5,156,159,241,227,255, +231,175,119,103, 90,183,217,139, 25,123, 4,132, 95,245,209,245, 96, 2, 92, 56, 88,151, 48,174,185, 88,101,141,249,124, 78,170, + 73,141,138,129,149, 11,140, 74,205,186,203, 12,161,222,131,134, 63,157, 86,220,136,145, 57, 0, 19,188, 13,124,124, 56,227,127, +218, 58,220,162, 77,137,198,106, 5,182,223,141, 81,202, 34,157, 83,195,248,146,140,103,178,242,217,251,255,169,160, 62,170,161, + 58, 74, 30,211,202, 64,219, 38,190, 92,211,193,252, 16,232,147,137, 70,183,222,205,212, 11,189,155,185,199,161,141,246,252,172, +125,244,123,191,201,246, 47,255,230,159,190, 82,223, 63, 68,158, 2, 20,237, 81, 70,100, 62,200, 85,207,189,143, 23,124,243,238, +150, 48, 58,194,148, 6,169,161, 82, 37,127,241,179,159,112,241,241, 5, 24,216, 22,145, 73,126,188,170, 84, 88, 11, 91,151, 57, +199,235, 38, 85,231,203, 54, 7, 69,153, 40, 68, 70, 64,165,174, 27, 33,135,229, 4, 41, 21,198, 84,124,184,186,160, 27,120,202, +101,190,198,159,229,163,235, 83, 59, 38,132, 29,143,220,134,157,242, 16,213, 14,160,228,119,221,249,148,190,231,223,209, 58, 97, + 3,122,191,211,229,222,191,143,251, 12,135,144,175,239, 48,243,244,121,152,106,115, 0,241,215, 15,158,231,237,114,151, 64,120, +210,154,105,114,102, 41,121,188,109, 59, 24,124, 40,185, 75, 70, 10, 13, 10, 44, 29,202,104,182,237,134, 24,234,235, 68, 11, 2, + 90, 73, 74,173,248,202,233, 75,156,175,175,168,202,146,170, 50,116, 70, 38,228,109, 40,210,252,248, 87, 1,180, 29, 36,162,249, + 54,137, 60, 12,243,238,125,205,250,152,223,155,221,105, 11, 7, 45,104,101,100, 82, 21, 20,170, 96, 28, 60,155, 69,131, 34, 49, + 65,186,144, 94, 66, 73, 96,217,248, 29, 62, 33,207,223,177,185,171, 97, 51,142,161, 8, 89, 53, 46,139, 79, 12,207,253,105,242, + 98,247,236,237, 60,159,106,166, 85,133, 50, 21, 7,165,129, 24,152, 25, 77, 99,123,250,206,115, 96, 52,141,240,105, 15,111, 63, +197,250,243,238,154,198,132, 54, 41,153,103,245,233,246,165,219, 75,178,182, 93,186, 56,190, 72,227,142, 16,161,236,161,154,130, +111, 82,133, 46,202,204,166,113, 59,140,134, 15, 48, 4,116, 61, 38,244, 27,194,168,194,175, 86,120, 52, 78, 68,172,208,172, 31, + 93,241,243,135,239,115,123,118, 3, 93, 24,154,222, 49, 37, 75, 21,228, 60,164, 45, 4,155, 94,115,142, 35,108,183,196,139,143, +185,249,209,132, 55, 94,124,153,233,139, 39, 40,173,209,227, 26, 66, 68, 42,149, 26, 43, 14, 92,227,104,215, 45, 91,235,176, 26, +202, 66, 16, 85, 66,199,111,108,160,169, 10,150, 33,208,136, 72, 20,130, 3,231, 56,247, 18,175, 21,119,170,130,143,199, 83,140, +243,216, 58,141,227,206,163,230, 91, 95, 62,228,171, 95,145,184,109,131,116, 61, 70,194,213,242,146,166,219, 98,131,231,195,135, + 87, 64,199,197,253, 13,162,185,132, 62, 57,183, 69,155, 58,165,241, 58,168,167,196, 39,118,253, 83,193, 60, 15,161,174,191, 62, + 89,185,139,189,200,112, 61,105, 90, 44,184,191, 88, 16,181,230, 74,215, 48,170,146,217, 75, 85, 18,181,162,111, 96, 52, 29,131, + 82,108,130,165, 22, 37, 55,149,228, 75, 70, 50,215, 71,120,181,165, 24, 31,160, 23,103,220,111,129, 81,155, 40, 99,155, 54, 3, + 65,247,248,235,166,128,187, 95,229, 63,253,218,183,153,207,231,244,155, 5,203,205, 61,188, 92,114,149,215,230,214,245, 72,111, + 49, 42,233,183,107, 83,177, 14,150, 27, 66,112,203,119,204,154,128,213,134,211,114, 68, 37, 60, 23, 34,221,243,131,201,140, 98, + 60,162,211, 25,219,241,228,188,250,186,232,251,148, 31,214,237,144,241, 77,147,240, 42,166, 74,103,189, 41,241,139, 13,219, 74, + 49,171,107,154,222,161,180, 98,107, 19, 45,238,182,128,113,140,252, 70, 89,177,142,158,169,208,168,169,225,101, 4,219, 81,207, + 15, 15,231,124,112, 49, 78, 74,114, 15, 30, 36, 87, 78,178,169,206, 16, 83,226, 94,241,179,143,139,122, 6,142, 34,181,223,181, +134,233,113, 82,178,137,234, 90, 78, 83,169, 50, 89,244, 9, 1,109,200, 64, 22,153,103,234, 67,213, 88,164,202,103,208, 7,127, + 94,251,240,206,171,124,251, 43, 95,229,189, 77, 3, 87,151,255,116, 65,125, 64, 85, 15,179,244, 33,184,239, 43,166, 41,185,163, +115, 9,153,130,203,166,229, 29,122, 94,157, 78,136, 81,210,181, 29,111,255,226, 29,126,252,224, 10,187,186,202, 66,254, 10, 31, + 34,227,194, 16,137, 88, 1,190,115,176,202, 38, 23, 93,214, 27,150, 89, 29,107, 82, 66, 57, 74,149, 8,145,233,120,198,124, 50, + 69,106,147,148,196,165,100,217,181, 9, 29,127,181,253,124,238,107,215,109,238, 28,177,245,158, 71,184,207,130, 47, 3, 86, 77, +100, 69,181,125,183,175, 50,189,182, 84,121,229,175,214,165,164, 46,228,170,178, 24, 2,118, 76,156, 80,223,100, 26,154, 76,179, +247,202,236,105, 20,228,150,187, 44, 51, 71, 62,209,213,112, 54,137,233, 12,226, 43, 79,182,139, 6,101,169,129,250, 54,206,244, +150,201,152,121, 85, 34,163,192,135,128, 68, 34,181, 34,134, 64,239, 59,218, 77,139,139,142, 77,179,198,147, 90,218,222, 90, 86, +157, 77,247,216,246,201,221,238, 19, 89, 24, 46, 37, 98,131, 36,164,139,169, 21, 63, 84,237, 66,237, 54,241, 32,149,155, 53, 34, + 14,170, 26, 41, 2, 94, 40,182, 77, 79, 97, 36,133,140, 4, 23, 9, 33, 34,181, 76,222, 53,144, 42,187, 65, 18, 86,134,157,170, +222,160,255,224,247,228, 98,241, 79,211, 14, 63,203,199,193,156,131,201,132,233,225,148, 88, 26,166,166,162, 84, 6, 71,146,190, +221,246, 22,105, 91, 54,219,150,197,249,226,233, 32, 28,158, 16, 74, 24,149,112,122,196, 27, 71, 83,190,121, 56,226, 55,142,198, + 28,141, 21,239, 63, 92,127,242,218,173,138,148, 20, 93, 91, 35,103, 63,133, 81,157,128,141,245,140, 59, 35, 67, 24,149,244,103, +139,204,208,200, 30,240, 54,181,151, 68,200, 95,163, 76,237,120,225, 17, 65, 35,156, 71, 84, 10,164, 65,132,152,184, 9,126,203, +253, 71,107,142,102,154, 89, 57, 71, 8, 77, 23, 97,211, 59, 54,109,207,202, 59,182,214,241,225,114, 69,231, 45, 23,221,134,243, +126,197, 7,221,134,179,229, 57,114,213, 50, 63, 60,130, 16, 80,198, 16, 92, 36,246, 14,187,234,105,206,214,124,116,181,102, 25, + 60,157,136, 56,163,176, 34,242,208, 71,186, 74,211, 6,216, 32,208,133, 65,121,143, 49, 10, 35, 36,174, 44,145,198,160,165, 0, + 99, 88,233,130, 43,235,185, 50, 5, 97, 84, 35,141,161,200, 62,241,149,169, 40,117,193, 68, 26,222, 28,207,248,198,201, 93,190, +124,248, 2,111,222,122,129, 77, 1,237, 38, 98,138,164,136,102, 32,201, 39, 3,134,128,182, 14, 29,194,117,251, 62,181,230,143, +145, 52,215, 36, 24,129,124,110,102, 24,159, 53,207, 13, 1, 92, 79,108,182, 9,255,208,108,210,218,213, 26,155,233,204, 35, 83, + 49, 82,145,215, 71,154, 3, 31, 24,107,133,209,154,166,111, 56,174, 70, 92,132,192, 69, 36,157,139, 85,153,214,131, 23,136, 66, + 38,206,251,248,132, 63,248,189,127,203, 87,191,252, 26,135, 71, 53,101,169,105,214, 45, 62,108, 40,138, 18, 79,214,112,176, 22, +225,114, 97, 28, 4, 50, 68, 42, 97, 57,213,201,120,201,147,204,149,238, 59, 65, 35, 53,171,117,203,249,213,130,127, 60,255,152, +248,224,193,174,120,121,222,200,234,179,152,166,120,159, 37,178, 51, 53,181, 27, 24, 47,137,151,222,117, 22, 39, 36, 86, 12,179, + 56,207, 23, 75,201,151,181,196, 10,193, 76, 40, 90,173, 56,208, 53,125, 81, 82, 85, 99,222, 67, 51,153,207, 88, 72, 9, 71, 7, + 80,141,211, 94,240, 54, 83,222,114,102, 90,100,145,156,103,188, 31,241, 84, 80,175, 10, 56,190,157,104, 62, 38, 75, 21, 6,153, +230, 45, 49, 5,183,228,103, 46, 97,187,200,115, 72,151, 90,243, 93, 6,207, 13, 92,220,231,125, 44, 46,121,239, 71, 63,250,167, + 13,232,195,205,209,250,241,153,250, 48,155,188,238, 61,101, 85, 53,113,141,100,130,206,226, 47, 87,220,211,150,191,254,135, 95, +240,183,127,253, 99,126,254,227,159, 96, 31,158,239,184,244, 64, 49,210, 20, 82, 18,144,200, 8,125,219,167, 42,207,219, 4,136, +155,212, 41,200, 21, 89,216, 63, 59, 30,129,228,100,122, 68, 81, 84, 8, 4,101, 89, 96,116,193,217,253,251,112,177, 72, 1,240, +243, 28,222,194,103,119, 49,177, 83,105, 27, 90,240,106, 79,143,125, 0,194,133,152,240, 15,131,216, 79,200, 82,132,195,124,215, +186,157, 25,129,218, 75, 16,100,166,163,233,220, 46, 14,121,150, 62, 0,232,134, 64,231,243,235, 16, 62,243,230,227, 78, 72,195, +125,194,251,147,185, 26, 22, 25,239,160, 18, 0,209,150,138,227,122,130,136, 26, 79,199,166,109, 82,238, 98, 35, 77,219,178,217, +172,177,193, 33,240, 92,110, 55,188,191, 88,167, 74,176,239, 18, 72, 39,186, 79, 47,134,228,178,125,218, 40,163,197, 69, 62,230, + 6,231,167, 33, 25, 9,225,218,246, 87,213,146, 90,106,154,174, 3,231,115, 87, 57,105,110,143,181,100,166, 4, 90, 70,100, 16, +180,249,255, 99,231,114,245,151,199, 84, 33,215, 80, 42,175, 79,216, 73, 38,127,222,160, 62,158, 96,199, 37, 98, 54,162, 86, 21, + 86, 8,140, 20,120,169,216, 4, 16,209,211,187,192,207,207,182,233, 16,178,185,179, 85,229,222, 94,153,173, 34, 7, 21,201,227, + 99,222, 60, 61,226,219, 55, 78,121,101,126,204,216,148,220,170,107,102, 53,188,251,209,197, 39, 84, 54,164,174,132,202, 35,169, + 40, 83,167,108, 54, 70, 30, 28,240, 95,221, 56,230, 55, 15, 79,248,114,173,248, 94,211, 36, 34,189, 82, 89,193, 81,164, 2, 66, + 6, 68,187, 77, 24, 13,101, 32,170,164,112,150, 41,154, 34, 88,132,243,105, 47,201,154,216, 53,252,227,213,138,218,120, 26, 7, + 54,106, 58, 34,143,250,158,171,174,229,106,211,224, 4, 60, 90, 47, 88,249,158, 38, 10,164,136, 4,169, 57,239,183, 44,206, 23, +212, 86, 34, 99,164,191, 76,250,237,205,217,138,247, 63,126,200, 59,155, 5, 75, 28,189, 49, 44, 66,100, 29, 5,157,128, 94, 9, +162,146,184, 66, 83, 35, 40,181,102,235, 29,141,143,156, 26,205, 66, 42, 52, 80, 43,201,149, 11, 89, 96, 69, 35,141,162, 54,138, +224, 3,227,162, 32, 56,199, 68,192,239, 31,156,242,214,209, 13,222, 60, 58,230,246,244,128,147,209,156, 87, 79, 95,228,214,205, + 35,198, 55, 15,185,156, 76, 49, 40,116, 52,152,222,163, 99, 72,254, 34, 90,161,133, 64, 27,205, 75,191,255, 91,252,214,191,250, + 54,239,255,240,251,123,192,185,180,215,196,175,110,245, 60,255,140,181,110, 39,197,218, 88,124,219,211, 41,193, 68, 41, 14,162, +229, 11,227, 57, 70, 74,182, 93,195, 68,107,214,193,113,223, 59,206,107, 67,172,139,164, 89, 48,159,194,180, 66,212, 19,168,102, +188,245,141,223,226,213,147, 91,220,185,123,152,140,209, 10,205,118,177, 96,219, 45,209,122, 76,101, 42,180, 20,216,222,226,131, +165, 42,167, 84,101,133, 86,130,117,111,185,108, 87, 64,160, 87, 37,231,162,228,222, 38,242,254,217, 5, 15,175, 46, 88,244, 29, + 31,174,175,114,155,198,254,106, 26,230,103,217,110, 58,251, 99, 12,194, 82,248,157,163,102, 22,152, 18, 34,123, 92,100,253,144, +127,165, 34,175,104, 77,140,130, 40, 37, 94,107,130, 50,196,162, 32, 42,131,169,107,110,205, 14,121,235,240,152, 87, 38, 35,190, +122, 56, 69,142, 20,139,160,240,155, 62,117, 60, 7,224,111,255,124,234,201,112,175,119,189,106,153,196,111, 0, 66,103,243, 6, + 79, 98, 13, 97,177,222,189,129, 34,207, 9,201,213,156, 41,118,200,221,255,216, 31,215, 51,245,103,180,224,187,103,252,110, 12, +172,191,255,206,227,200,104,178, 60,108,159, 17,253, 66,210,135,128, 18,146,198,237,169,129, 13,207, 17,114,160, 51, 25,193,108, +179,222,112,173, 88,116, 45,186, 54,140,138, 10, 98,224,193,197, 85,162,189,225, 62, 63,101,201,229, 85, 88,200, 93,111, 45,228, + 27, 24,179,165,223,208,146, 31, 42,244,161,242,206,146,181,248, 61,109,233,125,253,230, 32,119,191, 59, 84,225,158, 29, 94,162, +207,143,207, 48, 47,222,123,158,235, 36, 74, 62,221,106,255, 85,239,229,218,180, 40,166, 4, 98,185,101, 89,151,124,108,206,184, + 53,191, 65,187,134, 66, 43, 30,245, 45,211,106, 66,227,182,172,109, 75,239, 90,206,183,107, 70, 90,103, 11,183,161, 99, 96,159, +125, 94,253,230, 87,249,131, 55,190,194,229,250,146,159,252,217,159,239, 81,169,100,122,238,206, 67,185,135, 11, 40,196,174,163, +240,228,230, 89, 54,220, 15, 29, 69,244,212, 82, 97, 2,212, 49,210, 92,231, 93,158,145, 16,140,138,200,184, 80,124,180,241,232, +218,208, 53, 57,217, 17,185, 67,224,179, 32, 77, 17,118,116, 63,177, 55,139,127,214,136,233, 73, 4,212,254,124, 48, 4, 38, 99, +131, 17,146, 7,222, 18, 28, 76,235,154, 70, 72, 86, 4,106,105, 80,101, 65,121,235,128,110, 93, 37,112,226,102,149,124, 14,164, + 78,235,160,205,143,183,222,130,214,188, 54,159,112, 48,158,227,128,201,104, 12, 69,203,201,244, 34,181,205, 99,183,163, 48,198, +240,196,117,119,160, 38, 9,135, 51,170,210, 11,108,151, 32,111,242, 71,163, 41, 47, 31,222,192, 16, 48,245,152,255,252,141, 13, +255,253,213, 50,177, 71,132, 72,201,114,151,169,137,179, 99,104, 22, 73,153, 76, 8, 98,244,196, 32, 8, 69,133,167, 69,248, 2, +161,122,112, 13, 81, 58,194,106,193,255,248,195, 31,243,199, 95,182,156,110,206, 56, 60,184, 73,208,154, 77,112, 8, 17,136,206, +177,240,142,166,247, 28, 25,195, 88,150,200, 24,233, 8,220,243, 27,126,242,238,247,184,251,209,156,187,245, 1, 49, 4,150, 93, +195,125,215,112,105, 20,177,186, 69, 17, 60, 99, 20, 86, 66, 85, 8,172,139,168,210,224,189, 37,170, 4,232,155,234,130, 96, 91, +238,175,215, 28, 72,201, 74,105, 46,235,146, 19, 33,216,216, 64,239, 60,194, 24, 92,140,152, 16, 57, 40, 12,213,100,196, 29, 51, +231,166,214,148,194, 80, 0,117, 41, 49, 82, 48, 81,130,155,197,203,252, 54,183,249,195, 91, 75,214,205, 10,239, 35,139,230,146, +224,123,218,118,203,119,239,159,241,198,180, 4, 34,127,247,203, 11, 52, 63,161,218, 76,177,199, 22,233, 92,166,188, 61,223,140, + 37, 60,177,172,196, 19, 95,175, 63,182,109,250,220, 20,240,240,130, 7, 55,142,240,243, 17,191,109, 74,108, 76,182,197, 91, 31, +104, 66, 96,163, 5,161, 39, 37,100,163, 2,209,247,144,145,245, 71,102,202,203,167,183,208,133,164,109, 91,148, 80,172, 87,107, + 58,219, 98,132,161,210, 26, 99, 74, 84, 47,217,148, 27,156,243,116,182,167, 46, 43,140, 48, 72, 25,120,180,241,172,195,150, 35, +113,147, 27,167,167,220,169, 74, 46,214, 91,254,254,254, 61,126,182,188, 72,227,227, 27,135,105, 45, 62, 20,136,216, 37,252,192, +147, 45,248,231,181,226,181,126,186,213,237,246,168,220,195, 57,167,117, 2, 76, 11, 11,141,134,106,192, 12,165, 98,238,102, 93, + 80,133, 12,141, 39,209,249,188, 16,148, 66, 33, 67, 90,189, 18, 0, 0, 32, 0, 73, 68, 65, 84, 76,133, 82, 5, 5,146,178,170, + 56, 86, 5, 86,151,252,142, 80,188, 57,170,249, 15,135, 35, 30, 60,218,164, 89,123,187,218,141, 8,247,164,154,227,115,103,234, +151,103,132, 91, 47, 82, 24, 67,143, 73,104, 93, 35, 9,189, 75,122,191,171, 85,170, 78,135, 57,106,116,185,117, 25, 62,191,201, +202, 63, 53, 88,238,211,102,161, 58,255, 78,208, 79,247,158,134,116,103, 82, 82,206, 43, 42, 85, 64,244,196,172, 42,182,123,140, +204,113, 28, 2,251, 32,206, 63,184,132, 69, 88,111,215, 84,198,176,217, 88,148,134, 69,179,205,129,242,215,189, 96, 46, 43,142, + 13, 1, 54, 87, 70,131, 81,192,254,195, 15,115,221, 97, 49, 63,121,173,202, 98, 15, 13, 63,152,222,228,191,177,125, 62,144,217, + 89,177,178,159, 48,236, 61,135,149, 59,128,218, 39, 9,165, 60,121,239, 68,230,148,123,145, 64,128, 77,199,163,237, 22,207,199, + 76,203, 25,203, 54, 80, 21, 53,109,215,115,222,174, 9,177,231,188,217,114,119, 58,231, 39,239,190,151,109, 11,179, 71,184,205, + 9,166,206, 55,122,160,245, 45,155, 20,208,207, 30, 60,254,220,165,220,157,106,206,166,214,112,204,116, 1,235,118,110,106, 82, +160,240,148, 74,227,109,100,162,253,181, 56,247,180,132, 62, 68, 70, 67,135, 72, 64,141,192, 17, 49, 72, 14,203,200, 85,227, 41, + 10, 65,223,199,107,145,149,235,192,222,231, 36,194, 15,236, 4,118,216,137,200,227,192, 69,246,112, 18,143, 25,170,164,100,243, +162,117, 92, 85, 61,166,168,120,179, 26,177,245,129,121,161,184, 93, 22, 80,107,126,122,214,225,166,227, 20, 56,199, 53, 52,147, +212,105, 82,185,251,118,152,125,158,111, 30, 2,240,161, 11,156,122,199,188, 30,177,142, 9, 85,254,115, 49,130,187, 55,179, 64, + 71,158,151,219, 38,113,112,135, 57,189,206, 20,216, 81,150, 9,181, 29,152, 41,244,158, 18, 69,235, 61,186, 44,185,180, 61,247, +228, 56, 29,192,219,188,222,218, 85,214, 84,128,232, 54, 8, 89, 37,198, 9,128,169, 9,177,133,190, 69,148, 18,175, 29,201,203, +203, 19,131, 33, 72,139,235, 44,127,254,131,159, 80, 77,198,124,245,246, 1, 7,163, 41,211,201, 49, 94, 73,180,237,152, 22,134, + 64, 75,140, 21, 94,168,164, 18, 38, 53,141,235, 89,232,130,127,247,241, 47,105,253, 59,220, 85,138,169, 72, 9,238,120, 60, 71, + 53, 51,162,168, 17, 46, 80, 58,207,184, 44,105,125,164, 12,142, 66, 10,164,139,212, 74, 96,163,134,178, 64,245, 13,139,222,114, + 82, 4,218,135, 87, 60, 82, 42,205,134, 77,133,236,122,122,165, 57,174, 12,115,231, 57, 42, 74,102,133,100, 60,170,208, 94, 16, + 60,232, 40, 24,213, 6, 23, 3, 39, 58,210,183,150, 23,102, 71,248,241,148,109,223,162, 14,142,216,174, 86,152, 99,205,159,190, + 96, 9,182,131, 16,249,227,155, 11,198,122,204, 95,254, 73,228, 7,139, 43,238,125,188, 66,108,214,233,108,216,174,247,230,241, + 79,207,101, 3,207,159,213, 62,133,239,161,135, 51,203,217,162,228, 63,224,120,125, 62,101, 90, 86, 52, 4, 62, 34,226,115,130, + 47,149, 36, 56,203,100, 50, 99,235, 35, 7,186,228,141,201, 41,135, 71,167,104, 96,185,106,104,150,139,196, 32,235,122, 92,238, +222,105, 81, 32, 10,197,184,168,177, 46,205,227, 93, 8, 24, 85, 50, 42, 39,156,140,239, 48, 26,157, 82,141,231, 28,206, 11,188, +240, 28, 90, 5,116,185,109, 77,106,251, 31, 29,164,222,253,213, 26,161,214,169, 3,173,158, 0,166,150, 69, 6,196, 13, 2, 90, +123, 1,127,112, 68, 30, 18,237, 46, 51,120,186, 39,227, 79, 46,150,108,159,215,114, 65,215, 58,238,107, 79, 21,224, 5, 41,177, + 58,160,133,196, 75,197, 10, 65, 39, 13,133, 41,241, 66, 82, 32, 40, 39, 19,188,210,160, 75,250,224,185,121,224,121, 16, 11, 68, +223,130, 60, 76,230, 98, 0, 23, 23,169, 8,242, 22, 97,219,103,204,212,173,131,209, 4, 68,106,213, 17, 21,170, 40, 18,191,174, +207,173,151,245, 58,101,245, 42, 62,157,195,133,248,207, 75, 99,251,181,231,240,123,222,225,215, 1, 43,238, 60,164,111, 30,242, +214,171, 55,185,115,112,192, 23, 79, 79, 56, 28,141,185,236, 27,182,157, 77,128,143,109,159, 5, 11,212,227, 8, 20,124,214, 36, +214,215,109,254,109,116,108, 93,199,102,211, 18,109, 6,140,100, 32,196,231, 31, 57,228, 3,221,100,196,110,200, 96,110, 53,112, + 30,213,238,103, 3, 53,237,121, 20, 8,145,233,105,206, 63,238,154,229,195, 78,100,199,231,121,167,217,227, 92,135, 12,126,203, +163,154,235,118,250, 32,123,250,228,122, 24,168,135,207, 90, 39, 3, 22,194,199, 68,225,216,108,177,214,177,180,158,179,237,150, +243,109,195,131,245,146,181,107,121,240,209, 25,139,179, 75,250,224, 57,251,229,199,169, 37,232, 92,162,202,181,155,235, 0,124, +109,247, 58, 0,250,154, 13,103,103,107,184,119,111,119, 45,116, 86,212, 27,212,239,204, 96,137, 40, 82,203, 46, 88, 16,146,209, + 48,197,136, 73, 30, 82, 33,169,164, 36, 34,152, 86,130,109,155, 80,240,133, 16, 76,132,160, 18,146, 82, 72, 60,176, 33, 85, 99, + 83, 69,146,161, 53,130,198,250, 93, 22, 25,124,222, 83,236, 84,255,180,120,220,229,110, 96, 16, 12,159, 3,102,226, 73,183, 52, + 37,161,168,137,227, 26,111, 12, 95, 51,154,219,147,146, 73, 97,152, 20, 37,117,140, 92,161, 40,203,154,149, 22, 68,163, 96, 92, +241,173,249,156,201,168,230,168,212, 76,235,154,182, 52,248, 34,105,183, 63, 16, 2,107,198,212,178,100,105, 3, 15,125,228, 47, +122,155, 70, 21,211, 58,181, 84,235, 42, 29,158, 78, 36, 60,133,218, 51,126, 10, 38,143, 97,178,147, 95,173,249,176,174, 56, 84, + 21,107,161,121,216, 88,254,175,197, 34, 21, 13,171, 77,154, 25,146, 57,189, 33, 37,146, 66,237,113,136, 67, 50,129, 17, 82,165, +100, 80,120,162,211,217,249, 44, 16,188, 38,120,135, 15, 2,219,247,124,240,104,193, 47, 30, 46,248,201,251, 31,227,101,203,173, +170, 96,109, 91, 42, 1, 54,122,148, 84, 68, 4, 93,102,106, 60,180, 45, 63,109, 59,250, 40,121, 20, 5, 11, 41,240, 81, 34, 70, + 35,182, 14, 54, 50, 73, 63,203, 82,179,234,193,107, 65,139,196,118, 62, 77, 25,250,192,185, 75,244,182, 90,105,214,174,165,107, + 90,138,174,165,245,142,105,215, 34,156,101, 29, 60, 68,207, 77, 34, 50, 6, 70,193,115,208, 5,198,198, 96,140, 65, 8,137, 48, +201, 22,212, 55, 29,218, 5, 74,173, 40,163,199, 40,201, 44, 66,129,224, 96, 52,166,234,123,102, 74,115,247,228, 46,135,229,132, +187, 7, 55,153,160,121,101, 60, 99, 90, 21,220, 60, 40, 57, 62,158,115,223,133,228,103, 97,178,194,227, 51,206,132,103,241,220, +159,213, 36, 18,251, 0,178,174,227,131,203, 53, 75, 21,249,229,178,225,103,109,203,125,235,120,100, 61,181, 73,254,244, 65, 42, + 74, 97,232,189,163, 42, 10, 14,202,212, 1,170,234,130,224, 60,190,183, 28, 11,149,196,124,164, 78,115,242,124, 22,117,237,150, +214,181, 52, 93,139,144,129, 82, 75,148,212,124,233,139, 95,225,173, 47,222,226,133, 91, 83,156, 11,184,182,101,187, 89,241,211, +243,143, 88,186,212,114, 23,190,231, 15,142,143,249,234,201,156,175,221, 60,226,167, 93,158,135,111, 87,215,227,190, 84, 88,100, +155,102, 23,174, 19,202,199,180, 33,158, 44,134,194,243,207,102, 49,140,214,250,164, 40,121,207, 59, 94, 19,138,211, 66, 97,133, +162,146,145,165, 52,108, 77,197,123,202, 96,131,167, 82, 5,163,202,224,156, 69, 41,201,170,107,153,148,117, 82,254, 35,208, 76, +103, 80, 23,188,122,122,147,171, 73,205, 23,111,223, 69, 31,205,217, 72, 13,162, 64, 68,123,125, 63, 51, 79, 93, 39,222,172, 46, +144,179, 41,135,147,138,173,239, 40,141,225,133,195, 9,203, 77,147, 14, 79,223,165,202, 98, 0, 81,197, 12, 78,250,255, 67,235, +253,179,130,235, 30, 75, 71,247,200, 33, 90,162,110, 28,242,133,211, 27, 28,141,166, 8,169, 41,141,161,150,134,251,143, 22,176, +220, 38, 47, 95,155, 91,167, 3, 69,141, 62, 27,151,144,218,153,209,239,108, 77, 93, 6,165, 53,109,250,217, 16,124,126,237,113, +131,218,155,205,202,157,189,168, 12,187,121, 59,159,208, 10, 31,244,248,133,222, 33, 83, 7,217,215,161,125,175,242,123,244, 46, + 3,231,220,238, 58, 10,118, 62,196, 3, 40,234, 73,127,119,153,219,250,195,235, 24,126,102,178,203, 92,161,211, 92, 74, 85,153, + 62, 37, 19, 86,227, 60, 39,145, 23, 87,208,116,116, 31,159,165, 86,236,106, 3,171,203,140,109,112, 41, 0,119, 93, 58,244,227, + 32,115,251, 68,192,235,250,116,223,246,175,133, 12, 9, 23, 50,188, 23,155,109, 78,251, 28, 60,124,234, 66, 89, 37,137, 54, 50, + 83, 17,163, 12, 70,169,132,237, 83,201, 9,111,170, 19, 8,178,212, 18,239, 2, 90, 68,180, 80,196,224, 57, 18,130, 86, 66, 25, + 21,133,132, 71,157,163,148, 18, 59,236, 33,177,135,141,136, 89,194,214,103, 45,247,225, 62, 12,238,130, 33,238, 2,250,112,178, + 74,145,240, 12,195,232, 99, 50,130,113,205,183,234,146,131,210, 80,233, 34,255,151, 32, 10,201,105, 85,112, 97, 3,189,209, 40, + 93,242, 95,158, 28,163, 11,195, 87,167, 51, 94,153,159,242,226,168,230,214,104,204, 5,130, 38,235,226,159,201,146,159, 8, 73, +135,226,163, 24,248,102,125,192,116, 52,162, 46,167, 44, 76,153, 42,241,186, 78, 96,199,241, 8, 14,143,146, 2,227,124, 14, 47, +156,192,205, 99, 56,152,229, 89,125, 2, 12,189,173, 75,254,161,115,188, 61,236,163,205, 50,119, 70,178,102,252,208,114, 50, 69, +178,162,214, 10, 38, 19, 68,111,179, 70, 70,204, 1, 29,136,150,232, 83,130, 27,133, 32, 72, 75,240, 17, 79,139,119, 61,190, 89, +225, 55, 13,143,174,122,230, 99,141, 11,142,149,247,105,164, 80,214,184, 24,233, 99,196, 70,199,207,187, 45,247,109,196,134, 72, + 48,154, 82, 87, 84, 85,137,143, 10, 39,116,214,132,143,108,162, 72,213,121,161,105,123,143,147, 2,219, 71, 2, 30, 25, 2, 50, + 6,150,192, 44, 8,108,179, 37, 10,137,246, 29,173,237,120,232,122,198,170,224,170,107,208, 8, 78,138,146,109,211,112, 56, 30, + 99,172,199,117,150,222,246,108,150, 13,205,106,139, 80, 18, 25, 60, 90,165,253,166,173, 69, 70, 40,164, 64,216,158,170, 44,153, +140, 38,200, 16, 41,116,137, 86, 9, 7, 84, 10,197,152,200,188,168,168, 75,195,237,113,197,237,155, 71,232,131, 25,231, 49,161, +182, 99, 84,136, 66, 94, 87,161,226, 57, 85,186,248,196, 66,195,179,184, 92,113,177,217,178,186,108,217,110,123,204,124, 76,107, +251,196,185, 23,176,117,142, 73, 61, 38,184, 4,110,156,152, 9,133,146,188, 60, 46,184, 83, 24,122, 23,121,233,240,128,224, 60, + 23,222, 99,148,192,123,143, 11, 61,235,229, 58,123, 68, 8,170,170,100, 92, 76,185,123,247, 5, 78,143,198,180,157,231,195, 15, + 47,120,255,253,123,188,255,224, 30,255,112,249,113, 94, 75,129,175,207, 15,249,198,108,202,171,227, 99, 94,153,158,240,218,164, +230,123,203, 62,117,142,252, 54,123, 64, 20, 41,150,177,199,126, 25,198,146,195,121,166, 63,155,197,184, 8, 33,159, 71, 1,235, + 3, 45, 34, 41,123, 35,248, 32, 70, 26,163, 88,203,130, 51, 93, 49, 47,106, 74, 4,194, 7,148,210,120, 31,168,180, 97,217,183, + 32,193, 41,205,157,162,224,119,142,143, 57,156,204,249, 55, 71, 55,184,115,114,131,215,166, 51, 78,111,221,228,157,135, 15, 96, + 60, 69,116,201, 5, 81,113,252,133,239, 48,174,160, 24,163,238,220,224,180,154,242,141,187, 47,115, 88, 87,220, 28,143, 9, 34, +208,201, 64, 95, 23, 41,131,185, 56,223,129,121, 2,255,178, 42,244,231, 5,245,129,214,165, 36, 20,134,151, 94,187,197, 23, 78, + 94, 68,171,132,188,157,212, 83,100,132, 43,183,101,251,224, 44,169,198, 57,118,252,112, 57,248,118,103,145, 27,225,179,169, 73, + 22,218,240, 54, 85,146, 49,236,132,250,127,173, 96,206, 14,196, 37,247, 42,235,152, 27,104, 49,235, 22,199,248,233, 28,240,100, +142, 20,131, 82, 30,113,231,164, 55, 84,249,170, 72,149,186,235, 51, 80,196,239,124,210, 7,245,180,103,129,188,134,128,222,239, +129,215,170, 34,211,229,246, 90, 96,186,206, 45,248,172,143, 44,115, 23,164,219,164,107,230,187, 4,136,178,118, 7, 26,177,109, + 6,251,181,105, 3, 41,185, 75, 52,158,236, 68, 8,241,244,181, 24, 50,114,138,236,247,154, 77,138, 6,160, 92,182,127, 36, 68, + 70, 70,210, 91,152,142, 36,129,192,204, 72,148, 74,192,163, 40, 4, 42, 70,148,143,140,149,202,183, 39, 82, 74,201, 50, 4, 70, + 8,150,206,225,124,224,164,212, 44, 93,192,134, 44, 19,123, 45,216,148, 49, 28,110, 24,223,200,148,104,239, 3,207, 76,110,209, +203,189,170,125,160,222,201,108,170,164, 10, 78,166, 5,191, 49, 29, 37,203, 16, 9, 82,168, 36,217, 47, 53, 49, 70,206,163,228, +202, 59,254, 85, 61, 97, 90,143, 57, 40, 19, 40, 73,232,164,175,239,164,100, 29, 4,107, 83,226,101,210,208,126,179, 26,241, 82, + 89,243, 70, 57,226,112, 82,112,219, 24,238, 78,102,220,119,158, 70,155, 20,124, 77,145,130,187, 34, 7,246, 57,212,211,164,164, + 86,142, 18,168,180, 30, 37, 64, 92, 81,165,170,222,231, 49,134,206,236,131,211, 35, 56,152,195,237, 91,240,210,203, 48, 31, 39, + 5,179, 81,137, 32,173, 53,209,219,244,183,109,159,174, 65, 93, 19,157, 79,183, 74, 65, 36, 16,100, 32,108,219,107, 58,151, 15, + 61,206, 74,222,221, 56,222,238, 44, 63, 95,116,160, 60,115, 9, 94, 68,214,221,134, 95,118, 45,127,189,233,112, 62,226,180,162, + 48, 5, 85,161, 83, 34,107, 84,178,142,168, 52,222, 90,130, 8, 20,186, 96,221,121,138, 66,225,251, 64,235, 2,227, 90, 33, 67, +228,188,235, 41,219, 22,215,111, 89,119, 29,135, 66, 18,251, 13,155,108,151,252,151,151, 11,180, 52, 88,223,177,218,180,148,165, +161, 82,154,198, 59,206,182, 91,214,235, 37,163,224, 88, 54, 43, 46, 23, 75,198, 69, 1,206, 82, 6,144, 74,161, 70,163,100, 56, + 37, 64, 27,131, 12, 1, 51, 30, 35, 11, 67,236, 44, 82, 72,124,215, 19,162, 67, 16,168, 99,228, 70, 85, 51,175, 43,230, 82,242, +165, 27,135,204, 71, 37,167, 39, 51, 62,242, 50,221, 39, 15, 20, 50, 25,233,236, 7,114, 83, 93, 43,159,137, 33, 41, 55, 89, 46, +251, 73,108,144,207, 50,196,182,199,159,111, 32,251, 35, 56, 27,136, 82, 19,157, 99,166, 21,117, 81, 35,108,195,235,199, 7,220, +172, 13,194,104,238,206, 70, 68, 41, 16,163, 49, 87,162,166, 52, 83, 80,138,182,185,226,170, 89,114,177,217, 18,133,199,132,228, +150,119,114,227,132,211,195,154, 66, 71,222,189,247, 49,255,221,223,253, 61,247,126,244, 54, 60,122,148,206,177,202,240,159,221, +188,201,216,140, 57, 24, 79,169, 71,147,164,237, 63, 86,188,127,209,164,115,121, 48,123, 26, 58,183, 66,166, 49,156,214,187,121, +249,224,255,190,223,225,251, 85,182,199, 60, 97,174, 19,225,172,135,191,223,182,172,140,230,255,232, 61, 27, 17,248,113,151,220, +222, 14,138, 2, 45, 37,198, 40, 20,146,222,247, 52,206, 18,131,165, 17,145, 62,104,222, 56, 56,228,203, 7, 71,188, 57, 59,225, +100, 50,225, 11,211, 25,186,158,224,123,199,139,119, 95,194, 23,176,157,207,241,219, 30,197,173,175,127,167,120,253, 53,126,251, +173,183,184,125,116,135, 47,156,188, 64,223, 59, 94, 56,189, 65, 64, 81, 98,120,245,228,148,113,169,120, 24,186, 68, 73,217, 54, +255,241,228, 96,127, 29, 16,221,116,156, 14,154,224, 30,159,167, 40, 9,163, 89, 82,207, 67,177, 80,130,163, 81,205,141,195, 91, + 40,101,232,251,150, 85,211,176,108, 59,150, 87,219,212,150, 85, 50, 85,121, 74,102, 26,160, 73, 65,170,168,118,104, 93,153,179, +187,144,171, 48,235, 19, 55, 58,248,207,247,250,149,206, 7,162,201,128, 46,191, 11,164, 82,114,109, 24, 48,160, 56, 62,109, 7, +101, 8,132,215, 78, 65, 50, 7, 16,151,186, 1, 34, 39, 38, 67, 75, 91,102,231, 62, 33,115, 64,205, 63,123, 86, 2,161,116,174, +162,195,238,112, 24,218,243, 67,139,182,172, 82, 21,237, 99,146, 53,141, 3,207,222,237, 56,243, 3, 72,103,176,253, 29,222,219, +190,225,201,190,205,235,245, 33, 19,158, 47, 97, 44,179,175,177,200,221,148,114,143, 22, 41,228,206,233, 45, 66,105, 20, 69, 5, + 93, 23, 81, 82, 33,133,160,146,208, 33,216,246, 9,253,174, 68,162, 25, 85, 34,153,236,180, 49, 80, 10,201,202, 5,106,145,230, +139, 23,214, 17,163,160,243,123,140,132,152,105,145,131, 85,163,202, 38, 61, 46,236,128,144,131,221,192,181,244,236, 94,151,201, +101, 33,160,152, 16,231, 91, 83,241,133, 81, 65, 97, 12, 18,129, 86, 26, 45, 21, 13,129, 82,105, 30,118, 29, 7, 90,243,202,100, +130, 64, 49, 46, 42,150, 33, 82, 86, 37,202, 20, 56,153,146,138,119, 35, 68, 93, 66, 89,242,133,162,226,165, 81,197,100, 50, 98, +102, 10,122, 37, 17, 40, 42, 93,242,158,203,199,152, 41,178,225,209, 24, 85, 77, 41,170, 9,245,193, 45, 94, 46,199, 92, 84, 99, + 40,199, 9, 40, 37,242,186, 48,227, 36,105,171, 10,168,102,233,251,131, 23,224,240, 5, 24, 31, 65, 49,129,249,141, 68,241, 57, +190, 1,163, 26, 49,171,225,248, 48, 89,179,222, 60,129,131, 3,152, 77, 18,204,231,197, 91,137, 20,114,122, 66,220,110,137,243, + 83,130, 13,196, 62, 5,247,224, 37, 65,234,252,189,103,217, 71,182,177,195,227,104,125,224,123,203,134,181,237,241, 2,188, 20, + 72,105, 48, 90, 51, 46, 74,180,144,140, 43,133, 8,129,210,104,202, 66,177,218,108, 40,100, 74,152,124, 38,216, 92,173, 59, 2, +142,166,105,241, 93,195, 68, 8,164,181,172,187, 13, 74,105,238, 89,203,125,107,217, 70,197,205,131,116, 48,247,117,205,187,235, +158, 63, 59, 95,208, 24,193,195,102,203,155,243, 49, 87,237, 6,169, 37, 63, 95,109,184, 88, 47,144,222,163,187, 6, 89, 24,108, +187, 69, 42,133, 44, 74,162,115,148,213, 24,161, 13,161,233,145, 38, 17,219,250,174,161,247, 61, 93,223, 80, 41,131, 65, 50,142, +130,163,106, 68, 41, 37,243,170,102,164, 21,175, 31, 79,169,199, 5,151, 85,141,215, 21,200, 42, 85,239, 93,198, 56,248, 44,165, +170,117,186, 71, 36,208,173,144,123,238,156, 3,216,246, 9, 74, 28,219, 22,150, 75,196,163, 21, 8,193,111,191,242, 26,175, 31, +159, 82, 11,152,106,193,173,217,140,211, 73,205,205,233,136, 94, 73, 84,169,233,181, 66,141,107, 86, 62,237,233,174,239, 88, 55, +107, 54,109, 75,244,158,217,104,194,168, 26,113,124,116,202,104,100,184, 92, 55,108, 87, 27,254,230, 7, 63, 66, 60,120, 23, 54, +107, 68,212,112, 60,231, 95, 31,157,114,115, 58,197, 34,105, 16, 84,245,136,251,206,243,174,137, 9,201,239,251,199, 99,129,179, + 59,134,207,126,251,125,120,255, 70,239, 24, 71,159, 96, 57, 46,246,207, 64,161,192, 40, 30,181, 14,154,158, 51, 7, 75, 23,104, +117, 96,170, 75,166, 82, 98,144,201,249, 45,128,247, 73, 74,183, 21,130,186, 48,188, 94, 79,208, 74, 81,141,199, 76,234,138,178, + 48, 76,198, 21, 91, 97,240,245, 4,239, 37,119,230, 7,232, 89,141,226,139,255,250, 59, 95,188,251, 34, 47, 31,189,128, 41,106, +166,147,138,211, 27,183,210, 65,160, 74, 78,143,143, 9,189,101, 82, 22,188,113,114, 19, 89, 22,156, 15, 85, 89,215,253,203, 9, +234,197, 46,227, 39,232,164, 99, 61,124,212, 73,171, 29,163,210,108,112,219, 80, 77, 43,110, 31,223, 68, 75,205,178,109, 88,181, + 45, 23,155, 13, 27, 23, 19, 79, 93,202,116,240, 22,249, 48,214, 58, 37, 5,131, 83, 79,204,183,212,250,236,207,219,165, 25, 75, +223,124,190,215,111,116, 10,118,131,115,208,224,165,190,111,217, 39, 7,112, 88,120,218,138,243,147, 40, 43, 3,189, 75,136,132, +172, 31,146, 29,231,118,146,167,125,150,160, 29,156,246,244, 30,207,251, 89, 45,254, 65,138,118,160, 77,117,109,202,238, 7,219, + 94,159,223,147,235, 82,181,172,179,231, 59, 89, 31, 89,100,209,155,144,129,153, 90,237,172,128,159, 21,160,165,120, 60,160, 15, +137,195, 53, 46, 32, 60,141, 40, 31,232,127,168, 52,203,142,153,194, 55,140,100, 50,136, 74,201,200,177, 74,122,219,189, 23,140, +181,196, 75,208, 8,188,134, 34, 36, 97,156, 81,136,108, 0, 35, 69, 22, 49, 12,212, 82,112,238, 28,189,143, 40, 37, 65, 4,156, +144,248,193,181,238,122,110,158,120,173, 41,232,229,228, 74,239,129, 31, 7,223,250,161, 13, 47,242, 97, 51,140, 49, 68,154,168, + 81, 26,142,198,134,137, 22, 4,161, 81, 49,160,149,160,140,146, 69,240,124, 28, 34,183,116, 65,109, 20,149, 80, 56,146,252,104, +140, 73,116,197,122,152,143, 70,108,187,158, 11, 83,242, 39,245,136, 27, 85,193,164,210,172,123,201,214, 58,166,245,152,117,231, +169, 10,205, 54,194, 66,170,228,163,173, 52,255,230,224,152,215,170,146,111, 30, 28,240,166, 81,188, 80, 87,124,105, 52,199,171, +130,243, 8, 20, 35, 48,163, 68,133, 53, 89,196, 67,104,168,231,188,121,122,147,163,106,204,241,244,152,249,193, 49,186,154,178, +173,166, 41,176, 76, 15,161, 62, 64, 40, 5, 55,110,165, 81,195,104, 12,167,119,136,211, 10, 78,239,192,241, 65, 18,105,185,243, + 42,193, 89,226,184, 78,129, 60, 42, 66,232,137, 69, 73,208,154, 16, 36,182,119, 60, 90,116,188,211, 90,126,126,177, 98, 11, 4, +231, 9, 74, 16,140, 33,104,195, 72, 43, 42,169, 56, 25,149, 28, 9,137, 38, 48, 17, 18,235, 60,181, 86,184,222,179, 70,208, 90, +203,213,118,131, 13,145,179,117,131,116, 45,139,190,229,253,205, 21,219,118,205,165, 11, 60,176,150,183,215, 27,154,168,249,210, +141, 99,238, 93,109,153,215, 21,203, 69,139,168, 38,220,170, 43, 30,246, 17, 99,106,230, 37, 28, 77, 39, 60,104,123,126,210, 57, + 54,120, 86,214,178, 45, 12, 86, 21, 68,173, 89,109, 27,150, 2, 58,103,209, 74, 35, 59,143,154,142, 8,157,163,109, 55, 4, 17, + 89,119, 43,130, 76,107, 78,132,128, 82,138,224, 29,138, 72,161, 12, 81, 73, 70, 82,115, 50, 26,241, 27,243, 9,119,199, 21,191, +125, 50,230, 7, 61, 41,217,234, 35, 4, 71,172, 70,185,179,146, 71, 88,213, 52, 37,250,133,222, 25, 67, 61,167, 45,143, 77,221, + 2,198, 51,254,248,183,190, 65, 93, 40,230,227, 17,139,245,150, 55,142,142, 41,140,102,153, 3,171, 55,154, 86, 10, 30, 88,205, + 58, 10, 54,125,160,117, 93,202,113,125,143, 23,142,113, 89,115, 58,191,193,203,175,190,200,201, 97, 77, 45, 37,239,190,251, 1, +223,255,127,255, 38, 89, 94, 15, 32, 95, 23, 24, 29,140,121,161, 24, 19,202, 17, 93,132,183,155, 13, 63,107, 60,231,146,164,175, +210,248,199, 99,129,220, 59,251,134,226, 97,168,202, 93, 62,131,162,218,157, 97,241, 87,119,171,133, 78,166, 66,148,114,135,153, + 81, 58,119,153, 34, 91, 45, 57,235,183, 28,102, 7, 58, 31, 44,141,107,233,189,103, 19,123, 30,181,158,111, 30, 30,225,163,224, +104, 50,167, 11, 1, 93, 26, 58,161, 18,188,100, 92,211,134,136, 42, 39, 24, 89,114, 88, 77, 81,188,249,251,223,249,189,215,191, +204,209,209, 9,179,217,132,233,108, 66,111, 29,227,113,205,100, 58,162,107,122, 14,142,142, 24, 79, 38,152, 40,185, 49,157, 50, + 25, 21,124,100, 52,209,171,164,237,203,191,128, 22,124, 33, 19, 66, 93, 10,184, 90, 39,137,215,161,202,157,206,211,194,204, 51, + 63,124,228,226,189,251, 92,200,200,197,122,137, 66,114,182, 89,208, 57,199,230,193,249,206,241,202,103, 91,197, 34, 43,110, 21, +106, 39,116, 51,208,192, 66, 62,120, 67,191, 19, 98,249, 92, 84,189, 12,112, 25, 68, 13,134, 92,112,255,241,100,230,134,235, 79, + 65, 67,213,185,253, 60,120,113, 15, 45, 92, 37,211,124, 91,102, 14,186,205, 74,103,215,214,187,195, 28, 93,236,253, 94,120, 54, + 48,110, 8,172,131,150,252, 16,144, 7,249, 88,149,147, 15,153, 65, 42,195, 11, 27,213,233,223,213, 36,139,227,100, 85, 55,181, +247,250,158,156,113, 13,216,128,253,160, 62, 84,218, 62,211,173, 76,158,227, 15,191, 51,184,221,105,177,167, 83,111,216,167, 68, +140, 84, 74,114, 52,130, 88,106, 54,109,224,184, 20,180, 34, 82, 72,197,170,207,147, 22, 37, 48, 49, 82, 75,133,138,176,138,201, + 86, 17, 34,193,129, 22, 73,203,122, 25, 61, 5,130,101,235,119,246,198, 98,111,138, 41,213, 94, 96, 79, 38, 51,215, 72,222,107, +250, 98,254,155,225,186,135,176,115, 99,243, 30,164,230, 3, 47,249,210,216, 48, 50, 5,165, 84,120, 17, 81, 18,190,223, 88,254, +177,177,212, 33,112,168, 53, 70, 21, 8, 20, 74, 9, 36, 18,165, 20,198,104,222, 89,182,220, 11,112, 74,224,229,170,224,120, 92, +225, 81, 20,218,112,102, 29, 42, 66, 85, 22,172, 28,104, 93,242,190, 77, 35,159, 47,215, 99, 94, 80,154, 23,103, 51,164,210, 24, + 35,153,214, 53, 72,197,121,103,121, 80,142,211,107, 53, 38, 85,226,101, 1, 66,113, 52,155,242, 71,163,154,175, 29,141,249,210, +141, 41,119, 70, 37, 47, 21, 48, 42, 43,222, 9,192,120,150, 70, 46,186,128,178, 66, 84, 19,168,103, 48, 57, 1, 41,121,235,198, + 75,172, 17,152,241, 33, 95,120,225, 37, 30, 58, 7, 71, 71,196, 66, 18, 15,230, 68,165,136, 62, 18, 75,157,116,185,133, 36, 10, + 79,104, 91,226,122, 73,116,145, 96,123, 66,136, 4,109, 8, 74,224, 68,100,164, 53,115, 41,185,173, 21, 19, 83,114,144,249,241, + 83,169, 8,222,226,130, 37, 90, 79,211,247, 68, 68,234,230,245, 45, 15, 58,199,229,118,197, 89,211,208, 70,193,134,142,191,189, + 90, 98,189,167, 87,146,208, 91, 94,158, 79, 88, 49,101,227, 29, 71,117, 65,148,138,141,247, 84,101,193,119,207, 22,252,163,215, +188,189, 13,244, 40,222,241,130, 86,106,182,227,130,179,224,184, 52, 5,110, 90,113,229, 97, 89, 22,116, 93, 11,227,146,208,246, +116,161,167,151,146, 15, 86,231,132,232,104,162,163, 68, 16,242,248, 69,106,131, 15, 1, 23, 61, 49, 4, 70,198,240,178, 54,188, + 88,140,120,101, 58, 99, 41, 5,183,106,195,219, 54,173,179,104,202,108,190,228,136, 62, 32,234, 41,136, 36, 45,139,172,242, 30, +206, 22,198,207,233,224,138, 32,249,218,183,191,206,235,183, 95, 65, 2,117, 53,226,195,135,247, 64,150, 72, 33, 57, 29,215, 44, +156, 99,237, 60, 31,108, 61,223,181,145,247,122,203, 86, 68,150,214,129, 48,232,140,111,154,234,146, 27,199,167,220,120,225,152, +182,179,172,215, 29,255,203, 95,253,123, 46,222,126,251,241,100,194,247,188, 43, 12, 7, 19, 69, 39, 74, 46,189,231,111, 87, 29, +255, 24,243,121, 98,178, 80,215,229,122,167,136, 58, 36,243,214,238,102,233,195,207,135,194, 33, 10, 30, 67,174,126,146, 95, 67, + 85,236,180, 2,148, 74, 8,118,145, 71,136,203, 53,157,150,172,156,165, 16,150,232, 45, 11,219,240,209,182,101,105, 29, 47,141, + 12,135,101, 69, 89,142,152,215, 37,173, 20, 68,161,233, 99,224, 96, 84, 16, 98,164,151,130,135,157, 35, 20, 53, 50, 42,212, 27, +191,251,167,223,121,237,133, 23,185, 88, 52,156, 28, 30, 98,125, 96, 54,175, 48,133, 70,169,196,179, 11, 62, 50,158, 84, 24, 85, + 18,188,160,144,134,155,227,154,135,210,167,142,107,111, 63,149, 58,218,103,245, 6,254, 92,195,102,253,156, 57, 71,204, 60,242, +190,217,153,207,107,157,170,161,186, 78,224, 54,193,206,255,122,189,102,117,209,210,207, 71, 60, 88, 44,176,209,243,232,193,121, +146,118,149, 49, 29,178, 82,236,132, 96,194,192, 63,222, 67,147,135,144,126, 63,180, 73, 3,217,121,144,159, 19, 3,144, 91,186, +215,126,221,136, 12,198, 11, 79, 35, 50, 63, 77,142, 37,247,105,103,123,224, 16,173,210,130,179, 62,221,211,129,234, 49, 8,149, + 96, 51,152, 45,111,224,231, 25,167, 12,254,229, 58,207,220,219, 46,253,219,229,205, 20,179,233,204, 53,154, 95,239,161,231, 67, + 58,188,135, 77, 51, 24, 7,145,239,161, 28,228,136,229,227,111,118,216,116, 79,221,251,184,179, 18,134,116,191, 10,181, 11,252, + 65,103, 25, 46,177, 19,229,201,215,199, 86,134, 50, 70, 28,130, 82, 70, 14, 20,120,165,153, 32,121,100, 5, 66, 36,211, 23, 31, + 4,165, 2, 31, 99,202, 93,128, 62, 70, 52,130,101, 72, 45,114,161, 5,155, 16, 88,109,193, 23,114,135, 91, 24,238,229,254,235, +189,238, 20, 12, 82,192,236, 76, 39,246,157,157,134,185,158,247, 57,137,137,169,163, 82,149, 8, 19,121, 96,123,124,176,124,216, + 58,174,154,134,239,247, 14,108, 71, 47, 52, 47, 21, 10,225, 61, 83, 93, 82, 41, 5, 8, 98, 8,116,206,241,160,143,252,204, 89, + 94, 50,134, 49, 18, 29,160, 67, 98, 16, 28,205, 42,130, 23,233,182, 73,193,251,155, 45,103, 25, 7,240, 71,243, 49,163,178, 98, + 99, 29,133,210, 20, 85, 69,219, 71,124,244,152,122,132,136,145,139,152,109,144, 99,128,170, 6,173,248,173, 73,197, 43,227,130, +162, 50, 92, 89,201,172,214,180, 81, 48, 53,146,195,162,224,189, 62,166,185,188,150, 96,234, 44, 89, 91,242,237,201,132, 63,190, +117,130,139,146,111, 30, 30,112,211, 20, 40,109,184,115,112,202, 47,157, 39,206, 78,211, 65, 90,150,112, 56,205, 9, 88,145, 80, +224, 85, 10,114,209, 67,108,151,217, 57, 14,226,166, 35, 78,107,208, 26,129,224,229, 82,112, 36, 36,135, 33, 82,196,192, 17,130, +121,132,146,136,244,150, 14,203,184,144,244, 77, 79,239, 59,162,132,202,109,209, 74,225,109,199, 13,233, 41,188,199,246,150,211, + 74, 80,198,142,159,246,146,219, 35,205,182,179,140,234, 57,103,125, 79,223,119,188, 48,159,243,209,118,203,172, 26,113,217,181, +204,171,138,217,116, 78, 81, 22, 56, 96, 77,193,249,232, 0,135,228, 92, 22, 52,101,201,251, 27, 75, 51,169,185,208,138,243,174, +229, 35,165,248,165,119,124, 40, 2, 15,164, 38,120, 79,167, 52,147,232,177, 82,208, 59,135, 21,130,222, 59,130, 86,156, 72,131, +145,134, 90,105,130,212,156,154,130, 94,107, 46, 10,195,133, 0,186, 44, 79, 43, 69,234,156,217,237, 53, 13, 86,168,228,194,118, +141,173,121, 18, 85,175,117,114,166, 83,240,240,157,247,121,237,141, 87, 9, 4, 54,171, 75,254,183, 31,255,128,159, 63, 58,231, +141,249, 33,247, 55, 91,108,148,252, 98,225,248, 65,227,248, 97,103, 89, 72,201,153,179,156, 11, 40,202,146,136, 66, 72, 73,173, + 75,142,166, 7, 28, 29, 79,136, 17,238,191,255,136, 63,255,179,127,151,198,194,123,144, 26, 97, 29,244, 29, 63,235, 28,127,223, +181,252, 48, 68, 46, 84,145, 94, 63, 49,159,105, 89,149,115,219,165,138,122,168,204,149,126, 92,245,242,218, 44, 76,164,243, 63, +202, 79,198, 44, 93,203, 78,231, 98, 76,155,212,221, 22, 58, 43,210,229,162,230,252,156,245,170,229, 61, 31,233,218,134,101, 12, +244,222,113,175,107,208, 1, 94,170, 39, 28, 84, 37,231, 65,114,179, 42, 89, 57,203, 65, 85, 98,165,100,209,121, 62, 92, 59,182, + 65,210,224,153,212, 21,106,250,149, 63,252,206,171,183,110, 51,155, 28,226, 36, 8, 41,168, 42, 67,232, 2,101,165, 81,198, 96, + 10,133,144, 2, 23, 2, 2, 73,215, 37,203,152,182,107,184,218,118,233,208, 9,225, 41, 27,185, 79, 67,147,248,164, 4,224,179, +205,156,229, 14,120,244, 36,136, 97, 64, 35,218, 39, 36,101,101, 14,228,202,236, 42,208,135,139,204, 53, 92,209, 93, 92,208,109, + 58,182,151,203,212, 62,143,195,156, 37,183, 99,188,203,146,168, 67,192, 30, 60,171, 99,202,110, 93,159, 52,226, 67,158,195,200, +207,158,167, 60,230,150,117,125, 85, 28, 59,227,150,207,249,152,207, 74, 30,226, 19,226, 45,251,247,115, 95,165,239,121,152,138, +161,130, 46,139, 93,149,236,135,106,221,239,181,245,115, 5,122, 61, 23,207,242,196,131, 48, 11, 34, 3,194,114,160,234,114,107, + 94,237,241,232,131,125,188, 98,223, 15,110, 49, 38, 33, 32,111,119, 96, 61,185, 39,203,170,196,222,224,107,112,148,203, 27, 47, +219,205, 74,157, 64, 79,117, 37,169,181,160,183,112, 80, 37, 9,220, 46,130,172, 20,109,198, 66,110, 92,164,148, 17,147,177,131, +125, 4, 65,164, 19,130, 16, 60, 65, 10,156,247,148, 82,177,201,220,247,232,194,174,175, 30,247,241,198, 97,247,189,205, 64, 76, +177, 87,165, 15,244,203, 33,240,239,191,255,144,213,234, 26,203, 89,227,121,212, 56,222, 91,182,124,180,105,249,160,181,201,109, +209, 91, 58,235,232,188,231,141,217,140,177, 80,105,154,130,196, 72,205,195,118,203,119, 55, 75, 26,111, 89,219,158,223,156, 79, + 24,149,138,211,113,141,174, 18,144,208,247, 62,187,106, 6,254,194, 38,241,159,223,171, 13,167,166,192,199,192,188, 52, 44,179, +229,175, 85, 10,147,131,203, 61,235, 89,198, 12, 92, 52, 6,188,231,246,184,230, 37,163, 24,155, 18,139,160, 50,146,141,247,232, + 50, 1, 42, 23,109,199, 90, 73,182, 62,166,100, 64, 3, 66,241,214,124,194,215, 15,198,120,161,121,121, 90,112, 22, 13, 55, 75, + 77,101, 12, 31,184,136,158, 76, 88,186,152,198, 98,179,227, 84,213, 31, 28,103, 21, 72, 65,236, 33, 78,103,208,183,196,110,147, +153, 60, 45, 49,122,196,170, 5, 35,120,177, 48,124, 81, 4, 14,149,198,216, 45, 19, 4,211,232, 41, 98,224, 32, 68, 76,112,156, +120,199,204, 57,110, 8,203, 76, 9,198, 49,224, 67,154,153, 76,243, 89,227,148,230,134, 22,156,245, 61,151,155,142,190,235,248, + 97,223,243,155,199, 39, 84,117, 65,107, 97, 86,215, 92, 54,150, 82, 74,130,150, 28, 85, 99, 30,110,183, 92, 5,135, 21,146,195, +241,132, 88,150, 76,141,226,223,175, 59,190,120, 56,225,127, 63, 91,242,230,233,156,247,130, 98,189,109,185,168, 70,156, 69,201, +185, 46,120, 20, 20,151,133,100, 93,141,208,125,203,131,162, 36,218,158, 54, 68,214,118,139,149,146, 18,152, 20, 21,181,128, 32, + 4,165, 76,202,142,149,208,132, 66,243, 75, 41,105, 11, 13, 66, 19,251,204, 32,177, 54, 87,235,201,131, 66, 20,131, 24,138,127, + 26,187, 50, 25,167, 17, 73, 89, 33,108,228, 31,222,121,135,127,216,158,243,163,159,191,131,248,249,251,216,251,247,249,222,197, + 21,127,119,254, 17,151, 54,240,151,219,134,135, 49,119,212,188,205,243,104,201,178,235,185,138, 32,116,137,142,130,153,174,232, +172,103,185, 92,241,224,236, 17, 63,251,233,219,169,197,255,100, 12,242,185,189, 46, 69, 18,135,201, 73,191,112,109,146,153,136, + 49,237,151, 24,147, 90,219,117, 16,183,233, 12, 27,176, 66,195,156,221,217, 92,120,248,103, 83,119, 31,195, 19, 13,184,156, 44, +171, 45, 50,219,198,147,228,144, 99, 62,159,180, 73, 95,183, 13, 87,214,115,222,245,156,181, 13, 29,145,143,154, 14,240,220, 54, + 37, 19,173,169,202, 18, 81, 20,136, 0,203, 16,105, 4,124,188,245, 44, 66,143, 20,146,206,123,212, 75,223,250, 79,190,115, 52, +153,208, 52, 61, 74, 74,230,227, 17,158,200,168, 42,240, 46, 34,181, 32, 34,112,155,158,174,181, 68, 21,113, 25,104, 38,133,162, +215,138,205, 53, 15,181, 74, 72, 81,165,161, 40, 16,166, 72,154,195, 85,226,133, 11, 41, 16, 82, 34, 66,248,212, 85,186,248, 44, +213,236,147, 82, 9,207,188,224,250,233,120, 22, 67, 70, 65,106,184,218, 36,173,243, 1,124, 84,150,169,106,172, 50, 16,174,205, + 64,183,206,165, 27,147, 37,187, 49,185,194,235,250, 84,149, 58,155, 4, 69,162,206,179,195, 92, 29,154, 44, 41,251, 28,158,232, + 83,173,113,246,102,221,196, 92,221,102, 31,224,207,203, 36,148,251, 10, 38,207, 32, 90,254, 58,211,148,225,154,151, 38,155,115, +200, 93,165, 94, 21, 41,211,143,121,129,203,172, 75,175,247, 56,162, 74,166,217,221,112, 47,101,222, 72, 46,238,180,211, 33,121, + 14,136,231,184, 2, 94,163,240,243,107, 41,138, 44,212,147,193,133,200, 93, 66, 1,169,107, 80, 12, 20, 49,149,174,171,146, 72, + 37,121,169, 86,244, 2,162, 84,220, 80,130, 72,164, 12, 18,167, 53,151, 93,138, 3, 70, 8, 60,145,222,197, 36, 83,160, 4, 91, + 23,104,165, 64,100, 52,123, 31, 2,107, 34,150, 72, 23, 50,200,125, 0, 80, 14,116, 64,246,131,116, 76,239, 25,247,184, 57,207, +117,101, 31,119,137,222,179, 80,184,146,116,240,108, 92, 18,134,233, 50, 42,121,209,166,206,154, 8, 44,188, 99, 42, 3,239, 44, +214,172, 99, 75, 27, 28, 15,182, 43,254,231,243, 75, 26, 2,116, 91,188, 86,124,169, 44,209, 74, 48, 19,169,122, 17,125,210,218, + 47, 74,193,127,115,113, 9, 49,112,199, 68,156,212,220, 45, 53,165,142, 44,188, 96, 36, 35, 74, 72,148,214, 4,231, 48, 85, 65, +225, 61,239,185,184,147,202,173, 12,127, 50, 41, 57, 40, 19, 55, 57, 40, 65,244,129, 32, 21,203,198, 81,149,154,131, 74,243,161, + 13, 44,132, 72,107, 1,205,237, 66,243,173,121,197,214, 71,180,150, 60,116,112,107,172, 89, 59, 24,213,134,210, 40,222,147, 37, +219, 16, 19,208,238,255, 99,238,189, 99, 61, 95,243,251,174,215, 83,190,237,215, 78,155, 51,103,214, 69, 66,164, 0, 0, 32, 0, + 73, 68, 65, 84,230, 78,185,125,247,102, 91,108, 92, 18, 82, 12,137, 73,140, 67, 81,148, 40,144,200, 18, 36,161, 8,146, 16, 16, + 2, 36, 4, 1,139, 16,100,197, 40, 10, 37, 18,130, 72, 38,160, 68, 72, 17, 9,144, 4, 41, 9,113,130,133,141,157,141,189,235, +189,190,187,183,151,185,211, 79,251,245,111,121, 26,127, 60,207,247,252,126, 51, 59,115,119,238,238,218,230, 39, 29,253,102, 78, +253,150,231,251,124,218,187,184, 16,109,165,203, 42, 94,199,193,110, 52,152, 17, 33, 34,236,173, 39, 24,147, 88, 28, 81,247, 64, +212,142,217,168,228, 5,233,153, 52, 53, 19,173, 25, 56, 71, 30, 28,165,119, 20,193,115,205,123,246,124,224,102,112,236, 8,197, +208, 7,156,119, 12,115, 69,200, 20,165,132, 34,203, 25, 2, 94,107, 42,165, 9,153,164,173, 27,156,177,188, 62, 63,227,115,131, +146,169, 5,153, 23, 12,203,140,133,135,157,224,153, 5,143,237, 28,183,219,154,145,173, 97, 52, 97, 55, 87,124,109,209,240,219, + 14, 38,252,141,227, 5,255,244,141,125,126,177, 9,236, 6,135, 27,143,120,104, 28,203, 97,197, 42,215, 44,101,206, 45, 23,199, +132,167,229, 24,233, 13,247,178, 10,231, 59, 78,100,212,104,111,133, 98,207,123, 50,149, 69, 81, 20, 17,253, 10,102, 66, 82, 75, +133,206,179, 24, 60,170, 42, 74, 28,251, 16,247, 52,145, 0,102, 93, 11,170,138,160,179,124,152, 48, 29,253,152,171, 76,108,136, +152, 8, 10,225,160, 94, 19,110, 63, 72, 82,217, 49, 14, 48, 59,135,243, 21,167,119,239, 67,102,226, 24,204, 16, 11, 45, 37, 97, +181,138,123,133,206,168,145, 28, 27, 19, 45,107,235, 6,230,167,184,249, 49,191,117, 8,203,231, 46, 49, 27, 14,241, 87, 14, 17, +105,116, 40, 18,151, 94, 44,154, 4,184, 53,113, 92, 42, 99,114, 44,188, 71,200,164, 44,105, 72,248, 30, 30, 45, 14,122, 32,113, +143,229,233, 37,178,249,132,121,122, 15, 92,237,237,177,101,210,107,200, 84,234,108,203,248,245,190, 99,216,166,228,194,116,136, +186, 23,113,138,251,230, 29, 31,120,117,144, 49,145,154,135,139, 5,123, 85,116,199,155, 33,184, 51,183, 60,112, 29,109, 16,100, +206, 69,187,143,211,231, 62,255,227,151,202,138,195,131, 67, 6,229, 8,135,199, 7,137,150, 1, 93, 42, 2,208,206, 91,172,247, +120,225,113,235, 14,141,226,206,201, 9,185,206, 41, 21,156, 88,139,171,202,120,162,163, 17, 20, 5, 66,231,209,202, 85,102,136, +106,132,144, 57,232, 18,145, 43,196,213, 27,136,253,125,100, 94, 33, 28, 48, 25, 35,140,185, 8,246, 79, 21, 58,120,156,227,220, +183,128,159,166, 96,246,164,205, 78,203,167,183, 6,234, 58, 62,208,125,160, 80, 58, 82,112,132,220,136,238,228,121, 20,159, 41, +210,220, 60, 43,162,127,186, 46, 54,180, 30,151,204, 66,170, 49, 76,118,226, 53, 25,237, 69, 32,145, 73,173,170, 62,170, 60, 62, + 99,207,116, 18,213, 16,155,143,109,192,198,246,174,253,237,210, 9, 47,226,121,143,152,223,250,189,246,187,128,143,232,187, 38, +219, 51,170,162, 55,129, 9, 27, 4,125,159,193, 56, 31,175, 77, 31,216,117, 58,255,158,178, 21, 18, 77,207,233,212, 22, 79, 51, +177,240, 12,162, 71, 89, 30, 17,245, 89,226,122,155,176, 65,146, 95, 20,197, 50, 38, 22, 58,221, 59, 29, 91,102, 1,193,168,144, + 92,150,154, 67, 4,121,174,153,120,201, 82, 75, 86,193,209, 5,104,130,136,185,137,128,206, 75,108, 8,172,141,199,164,189,175, +245, 1,129, 96, 37, 2, 93, 23,112, 34,224, 2,184,222, 25,206, 37, 26, 98, 15,150,115,102,115, 28,201,170,242, 66, 57, 80,111, +105, 62,245,244, 54, 17, 30,101, 46,108, 39, 54, 38, 13,226,235, 38,182,150, 23,203,248,251,151, 77,244, 69,151,112,107,182,230, + 94,103,248, 96, 93,243,230,116,202,187, 93,236, 80,209, 52, 96, 27, 94,203, 51,180, 23,140,139, 12, 39,192,123, 75,103, 58,132, +107,249,169, 91,183,224,107,191,196,247, 95,191,194,155, 45,252, 96,174, 40,108, 71, 71,193, 78, 14, 50, 72, 22,173, 37,195,227, +139, 40, 39,253,150,177,156,118,169,114,146, 57, 88,199,107,195, 18,109, 3,186,210, 40, 31, 88,121, 65, 41, 64,105,137, 8,158, +185,151,236,123,203,187, 93,236,128, 77,114,201,203, 90, 48,206, 51, 4, 30, 39, 21,131, 66,210,248,136,155, 80,206, 83,150, 57, + 39,141,225, 60,203, 8, 65,243,252,225, 46,115, 36,175,142,198, 92, 59, 60,228, 65,107,216,201, 10,218,178,138,215,120,111,130, + 24, 14,162,163,152,105, 17, 34,130, 91,229,210, 96, 51,193, 11,133,102,108, 61,185,183,236,134, 24, 12, 14,188,167, 12,142, 75, +193, 83,233,130, 1, 2, 33, 36,101, 94,177, 14, 22, 33, 20, 70,231, 72, 1, 51,175, 25, 20, 57,173,177,172, 58, 71,174, 37,187, +202,115,189,148, 88, 27,104, 92,203,126, 57,226,111,124,252, 1,191,233,232,128, 51, 35, 25,105,193,199,171, 5, 55,139,156,135, +235, 37,165,202, 88, 26,195, 48, 47,176,133,230,181, 76,241, 15,141,224, 55,168,192, 3, 27, 88,218, 64,145, 43,188,214,232,206, +226, 70, 21,109,107, 57,169, 6,140,188,141, 12, 4,233,185, 63,152,144,117, 29,247,117,134, 51, 29, 58,120, 14,178, 44, 2, 66, +181, 98,233, 61, 43,169, 56,115, 14,165, 52, 7,163, 49,214, 24,206,117, 18,181,170,235,216,241, 25, 14,226, 51, 94,175, 17,197, + 8,225, 26, 24,143, 35, 66, 62, 47,147,186,102, 2,118, 10, 9,181, 65,180,230,201,243, 65,215,197,103,124,186,138,254, 32, 85, + 74,238,215, 75,132, 18, 49,192, 59,135, 72,180,213,147,182,230, 11,162,225, 48, 56, 70,174,227,123,247, 15,120,173, 42, 56,204, +161, 46, 11,236, 78, 73,123,235,254,102, 12, 40, 2, 98, 54,139, 69,149, 14, 49,200, 6,127,145, 28, 11, 64,104,129,104,252,198, +180,170,237, 30, 21,159,113, 46, 97, 64,196,183, 40, 28,251,238, 90,162, 67,170, 84,196, 20,169,253,222,123,167,248, 84, 56,218, + 16,227, 73, 82,181, 20, 89, 14,243,121,188,110,214, 65,215,225,181, 69, 4, 79, 7,188, 61,157,114,110,225, 87,206, 86,124,195, + 71, 83, 93,141,167, 53,142, 44,120, 84,120,229,251,126,252,104, 88, 48,202,115, 26,211, 65, 80,228,121, 70,103, 44,166,115, 44, +151, 53,133,214, 72, 2,243,243, 5,157,111,105,234,142,209,100,200,124, 49,231,116,185,194, 9,137, 32, 80,141, 71,152, 76, 71, +138, 82, 53,224,249, 43, 99,174, 28,237,113,138, 70,148, 57,159,251,236,117, 78,171, 9,191,245,229,171,124,241,250, 62, 55,110, +220,224,133, 23,143,216, 57, 26, 80, 29,237, 51,187,123, 26,105, 18,233, 66, 61, 18,216, 7, 35,184,113,149,193,171,215,241,151, + 47, 17,130,100,255,243, 55,168,171, 10, 22,233, 2, 93,208,144,194,147, 85,128,158,198, 81,223,166, 6,109,223,164, 30, 20,145, +229,241,226,183,201,212, 64,138,184,104, 85, 6,195,138,157,231,174,240,210,245,155, 28, 30, 94,102,255,240, 50,167, 90,198,108, +108, 56,102,116, 48, 65,151, 25,197,168,160,235,173, 60, 85,111,174,146, 90,190,125,197,158,109, 43,221,109,117, 30, 68,223,122, +214, 91, 85,221, 54,114,251,219, 13,236,114, 43,194,219,239, 78, 64,239,121,232, 61,149,172,105, 55,124,250, 71,164, 78,179,152, +173, 42,155,252,217,187,216, 21,233,205,102, 92,194,105, 52, 46, 5,175, 52,127,178, 93, 82,126,115,155,204,249,147,132, 33,100, +228,171,146,244,129, 34, 32, 70, 36, 3, 28,145,114, 26, 21, 3,102,136, 78, 75,253, 61,184, 52,200,216, 19, 32,165,196, 75,129, +242, 2,145,197, 54,186,117,129, 54, 72, 10, 41,233, 66,192, 38, 49, 25,151, 38, 5, 42,128,113, 2,227, 33, 47, 36,211,149, 99, +156, 5, 58, 43,104, 3, 27,231, 54,182,170,117,159, 54,188, 94, 58, 86, 36, 4,188,176, 41,153,217,106,195,251, 20,216,123, 41, +217,167,113,102, 31,255,156, 75, 88, 9,124, 84,137,236,186, 40,247, 58,175, 99,224, 63,153, 70,113,164,147, 41,180, 6, 95,106, + 6,101, 78, 33, 20, 70,120,166,181,225,254, 98,193,195,213,138, 91, 93, 3,187, 7,220,245,128,169, 57,238, 26,180,204,184, 82, + 66,112, 14, 47, 2,123,133,198, 18,216,213,129,251,235,134,159,175,155,205,102,234, 13,131, 34, 99,224, 28, 59, 58, 10,148, 8, + 39, 40,114,197,178,131,221, 42,218, 87, 22,120,190,186,114, 76,187, 88,225,151, 18, 62, 87,198,103, 97,175,202,168, 77, 32,211, +138, 69,109, 25, 8, 88,104,141, 86,130,155,133,102, 55,211, 76,148,224,185,209,128,171, 18, 6,227,146,145,128, 23,181,230,174, +147,180,137,154, 41,202, 17,248, 22,177,183,131,144, 25, 12, 74,196,106,133,176,134,121, 11,147, 81,198, 16,176,198, 32,157,229, + 57,160,178, 29, 99,161,145, 2, 50, 93,144,101, 37,186, 31,237,229, 5,133,138, 73,104,208,146,113,166,105, 17, 60,236, 28,151, +170, 44, 90, 11,120, 27,231,190,206,112,125,178,207,207,127,244, 54,159,219, 29,178,108, 21, 95, 62,189,203,251,243, 41, 39, 54, +240,222,114,202, 81,174, 49, 42,103, 60, 26, 97,144, 8,227,120,223, 9, 94,112, 29,239, 53,150, 60,207,105, 8,228, 85,193,170, +109,249,184,241, 12, 27,131,215,130, 27, 93,203,221,172, 96,108, 45,239,101, 35,110,168,192, 89,174,160,109, 89, 42, 77, 27, 76, + 82,225,243, 44,157,163,201, 10,166,192, 90,130, 80, 25, 50,196,209,128, 2, 78, 36,136, 50,131, 32, 17, 62, 89, 6, 27, 27,139, + 27, 9,162,168, 18,189, 55, 61, 99,174,139,235,218,153, 68, 91, 53, 79,239,190, 58, 23, 43,254,118, 13,183,238, 66,115, 22,139, + 35, 43, 16, 66,129,206,162,193, 15, 22,161, 20, 63, 58,169,216, 41, 42, 94, 27, 12, 9, 69,201, 85,145, 81,238, 93,101,112,237, + 69, 14,242, 9,239,200, 22,206,102, 17,176, 26, 98, 1, 37,188, 68, 12,203, 24, 42,164,142,232,244,144, 70, 65, 26,200, 20,194, + 6, 68,219,196,125,225,162, 99, 40, 55,202,163,125,108,121,218, 51,151, 12,189,200,147, 16, 88,111,112,209,218,184, 55,214,109, +108,185, 23, 9, 25,239,100,194,114, 37, 64,114,109, 17,227, 81, 82, 30,141,157,197, 7,199,115,222,235, 12,191,180, 88,240, 86, +103,248,149,217, 57, 31,187,150,105, 91,227,148, 70, 91, 67,158,231,212,205, 10,133, 63,250,241, 59,193,115,117,103,140,119,158, + 92,122,150,211, 25,214, 7,206, 78,103,228,185,196, 5,207,124,186, 64,229,177, 53,217, 57,195,116, 57,103,109, 91,156,240,248, + 16,168, 84,204, 96,126,203,149, 29, 86, 78, 50, 40, 74,214, 94,242,112,225, 24, 12, 11,254,169, 87,174,240,206,220,243,153,195, + 35,190,231,230, 53,170,114,196,205,171,151,121,225,218, 21,118,138, 9, 26,201,135,173,138,173,156,208,123,125,235,104,209, 87, + 14, 96,239,128,207,188,122,133, 23,246,247, 56, 26,143,249,204,243, 87,152,228, 37,121,165,153,154, 0,139,122, 35,230,209,143, +156,241,207, 30,212,121, 74,181,115,225, 5,222, 70,212,162,105,226, 2, 80, 58, 6,139,221, 61, 62,115,120,133,113, 57,224,234, +254, 97, 18, 16, 8, 76,155,154,124, 56,100, 82,229, 28, 14,247,208, 82,131, 46,105, 93, 20,102,136, 51,248, 52,247,245, 91,157, +129,167,233, 57,245,173, 32,177, 69,221,122, 90,235,245, 89,231,234,189, 36,162,181, 27, 78,253,119,250,202,242, 24, 44,157,219, +104,202,247,221,134,190, 58,247, 9,123,208,251,102,251, 44,206,222,116, 17,245,200, 67,114,109, 19, 41, 9,146,230,209, 57,149, +243,113,206, 37, 68,162,202,125, 11,197, 60,159,152, 8, 33, 9,190,248,176,209,175, 87,125, 64, 76, 74,128, 9, 60,151, 75,201, +149, 44,224,149, 66,132, 64, 41, 21, 34,147,200,214,162, 69,228,188,214, 46,144, 73,193,210,165,241, 19, 73,168, 71, 6, 58, 98, +176,215, 66, 50,235, 28,251,165, 96,218,121,132, 80, 81,255,189, 7,202,185, 45,201,101,159,230,235, 93,136,227, 0,195, 38,160, +123,187, 1,220, 94, 88, 10,247, 35,249,176, 17, 61,250, 52, 52, 70,159,240, 14, 93,172,202,105,214,177, 74,154, 47, 98, 37,214, + 56,234, 97,201,238,112, 68, 45, 84, 84,250,106, 91,222, 94,157,241,141,211,227,184, 57,133, 54,254,188, 84,180, 93,203,171, 90, +113,169, 42,208,222,146,123,139,177, 29,235,166, 37,152,142, 91,203,154, 59,205, 42, 38,102, 54,118, 90, 76,240,236, 11, 23, 59, +118,157,163,212,154, 81, 6,227, 76, 80,119, 1,137,231,108,109,248,242, 42, 49, 71,130,165, 20,129, 87, 39, 57, 89, 8,212, 54, + 80,230,146,186,181, 28,142,114, 30, 58,201,158,136, 90, 2, 15, 87,134,135, 94, 48,169, 10,126,102,217,241,249,157, 10,227, 61, +107,231,185,167,114, 6, 2,166,198,199,128,164, 52, 98,180, 27, 55,226,241, 8,225, 90,184,113, 3,121,124,134,220,155,112,251, +225,130,135, 18,118,139, 28,101, 44, 89,107,184,162, 20,121,240, 20, 58, 39,136,140, 78,120,178,162,164,149,154,165,212,204,242, +140,214, 89,100,145,211, 41,197,188,131,188,208, 52,105,162,210, 9,133,203, 53, 70, 73,206,231, 39, 8, 89,240,225,236,156,111, + 44, 78,104,186,150,198, 59,186,213, 57,214, 59,238,170,140, 35, 33,216,203,115,198,147, 33, 93,145, 83, 56,203,219,171, 53, 7, +163,146,247,215, 29, 7,185, 98, 97, 44,120,193,243,149,226,171,181,227,121,215,113,191, 40,184, 92,175, 57, 41, 42, 94, 20, 53, +191, 18, 10, 46,249,142, 51,159, 71, 91, 88,165, 57,183, 13,194, 89,230, 42, 34,227,167, 8, 92, 86, 97, 69,236, 72,246, 30,111, +153,210,156,133, 4, 94, 93,214, 8,159,244,210, 69, 74, 56,139, 10, 17,210,243, 95,183, 17,152,236, 92,178, 12, 53,207, 54, 86, +117, 17,185,206,233, 41,156, 45,225,228, 46, 66,198,145, 17,193, 35,112,252,216,254, 46, 71, 90,113, 73,105, 66,150, 81, 27, 19, +105,155, 7,151,232,148,164,243,146,243,197, 49,243,227,211,248,247,186, 14,145,233,232,236, 23, 98,146, 32,178, 12,145,101,124, +166, 42,249,129,225,132,239,219, 25,113,121, 84,241, 97,211,193, 98,141,104,235, 88,100, 94, 20, 80,225, 81, 23,204, 79, 74,164, +123, 86,144,202, 19,107,200,167,234,191, 77, 32, 96,210,190,159,168, 74, 33,141,133,219, 68, 33, 54, 53,162, 72, 99, 72, 27,147, + 34,187,110,226,179,185, 88,196,235,106, 26,192,178, 12, 48,117, 14,154, 21,139,229, 20,197,240,198,143,163, 53,171,188,229,189, +211, 19,186,110,205,170, 94,178, 88,206, 25,100, 37,139,229,156,118,213,144,149, 25,117,179,166,110,107, 58,211,210,212,134, 7, +235, 57,157,141,252,220,178,200,184, 57, 26,112,175,243, 72, 33,184, 57,172,184, 84,150, 84,227, 49, 47, 14, 7,220,237, 52,207, +141,246,249,220,165, 93, 46, 29,238, 33,244,128, 60, 31,176,172,225,218,209, 37, 6,229, 46,191,225,218, 30,183,145,100, 71, 67, +218, 51, 3, 42, 82, 88, 68, 57, 97,242,202, 33, 47, 31,236,115, 48,218, 97,111, 48,228,112,119,143,241,104,204,225, 96,192, 45, +187,198, 28, 47, 99,150,247,248, 60,245,105, 23,252,241,215,211,132, 90,250,141,175, 87, 47, 19,105,243,151, 10, 10,205,100,103, +143,107, 59,251,232, 92, 68,109,230, 60, 71,105,205,195,102,201, 40,215, 28, 14,118, 81, 85, 73,145, 21,100,153, 98,106,218,168, +144,214, 75,154, 90,191, 21,212,213, 39, 13,193, 55,224,177,237,238,130,248, 54, 85,253, 60,223, 12,178,250,110, 4,244, 30, 87, +208,219,121,170, 36, 98,225, 92, 2,191, 36,227, 27,111, 35, 55, 93,248,232,179, 45, 4, 84,217,102, 68,162, 19,133,174,179,155, +108,183, 75, 52, 26, 29,185,216, 40, 25,103, 79,223, 74,194,177,111,122, 8,183,145, 93,237, 43,245, 30, 97,174, 19, 61, 80,101, + 23,151,246,160, 82, 49,121,150,154, 66, 4, 26,235,201,115,133,176, 30,163, 99,219,253,196,120,134,153,162,243, 62, 61,144, 34, +101,248,241, 60,140,243,136, 16, 88, 58,129, 34,208,132, 4, 16,236,250,121, 91,182, 25, 37,244,163, 6, 69,194, 16,244,237,119, +185, 65,228, 7,191, 9,236,166, 79,254,122,189,130,111, 35,193,235,193,133,230, 9,206,129,133,132,157, 93,142, 39, 19,238,250, +192, 7, 93,203,237,174, 97,213, 52, 48,155,194,249, 60,178, 58,164,143, 96,164,182,230,195,206, 82,154,150,113, 48,204,218,142, +179, 85,205,213, 76,242,191, 61, 56,227,157,243,135, 73,167, 33,206,235, 9, 14,218, 53, 15, 77, 96,228, 26, 14, 16,100,193,225, + 13, 52,173,103,191,128,197,178,227,221,181,231,225,114,158,128, 70,154,182, 53, 12,218,142,231,138, 28,147,148,251,118,114,201, +131,149,225,249,161,166, 70,114,123, 29, 55,249, 99,149, 49, 53,142,239, 29,228, 76, 91,143, 44,163,166,196,170,181, 84,185,230, + 76,228, 72,173,227,101, 46, 7, 48, 60, 64,116, 43,216,191, 18,167, 95,135, 59,136, 92, 35, 77,203,202,192,187,167, 11, 74,233, + 25,229, 25,151,124, 64,133, 16,193, 75, 66, 18,202, 17, 11,192, 8,201,188,200, 57, 15,129,121,145, 99, 58,143, 85,130,221, 34, +167,238, 2,115,235,201,116, 52,241,176,222,211, 5,133, 10, 2, 45, 44,185,107, 25,218,134, 35, 12,106,181,166, 11, 30,235, 44, +222,180,124,102, 56,162, 44,135,156,173,107, 58, 27,104,138,140, 97, 89, 96, 3,136, 76, 99,165,228, 82,161,201,141,225,235,181, +229, 75,149,226,174, 13, 28,212, 75, 78,138, 1, 59, 77,205,219,162,228, 53,209,114,203,105,174, 20,146,115,151, 49, 51,134, 74, + 6,238, 16, 48, 93,199, 90, 69, 96,180, 19, 30,167,114,156,240,180,222,209, 56, 79, 14,100, 69,193, 92, 9, 66,145,131,174, 16, +203, 6, 81,175, 99, 65,214,196,103, 84,244,242,225,109,253,116,134,204,179, 96,166,154, 85,148,133,158, 30, 35, 76, 7,133,100, +183, 26,113, 40, 5, 55, 39, 21,166,109,240,214, 80,230, 25,109, 8, 24,103,184,187, 94,115,239,252,132,175,188,255, 17,194, 73, + 68,231, 99,101,222, 69,193, 28,177,182,136,221, 1,162,200,249,220, 96,192,111, 59,188,204, 75,163, 33,135,229,136, 93, 41,169, +131,227, 65,211,196,174,172,138, 93,232, 56, 7, 79,178,197,189,246,198, 39,137,123,109, 7,253, 44, 75, 21,120, 29, 11, 23,111, + 19,215,189,215,154,207, 54,117,156, 78,154, 28, 69, 1,164,113,116,103,146,158,135,139, 90, 31,237, 58,106,165, 44, 22,176, 90, +131, 89,227,108,203,108,189, 98,229, 12,138,234,218,143, 51, 95,176,250,232, 1,237,170,227, 36,147,124,124,114, 31, 47, 61,211, +245, 25, 67,157,241,112,113, 70,103, 60,245,122, 77,231, 28, 15,166, 51,130, 2,211,116, 56, 23,233, 6, 90, 74,172,212,104,165, +185,185,179,131,214,146,115, 39,121,249, 96,143,198,105, 46,143,247,249,236,243, 71,140,247,118, 17, 33, 99, 60, 26, 32,100,198, +254,222,144,114,144, 51, 28, 87, 56, 49,228,114, 85, 49, 81, 57, 31, 45,150,201, 28, 69,161, 94,185,202, 43,187, 19, 46,141,247, +120,238,202, 33,121, 86,161,164, 38,211,154, 60, 83, 28, 86, 35,222,237, 44, 44,231,207,102,105,250,164,192,254,137, 65,161,111, +161,244,193, 84,199, 10,202, 43, 76, 89,178, 55,170, 24,230, 21, 32, 25,228, 21,139,122,206,173,143,239, 83,211,113,249,224,136, + 16, 60, 66, 42,230,203, 53,171, 46,192,226, 52,182, 91,218,100, 55,218, 31,179,122, 26,230,191,167, 81, 36,179,145,199, 3,185, +148,191,190,114,189,125, 80,205,212,134, 59, 31,182,132, 81, 66,106,201, 27,226,249,246,109,113,225, 99,149,222,227, 35,212, 99, +247,196,121,144, 46, 58,192,133, 46,174,250, 50, 79,201,208, 86, 39, 96,187, 99,241,120,128,239,231,251, 23,109,235,176, 81,108, +147, 91,216,130,222, 4, 38, 5,228, 74, 75,198,121,148,124, 85,193,179,212,138, 29, 68,148, 8, 16,129,153, 9,204,131, 99,148, + 43,230,157,143, 46, 98, 58,141, 51,186, 68,147,233, 81,238, 66,160,144,216,158,182,102, 98, 62,131, 74,157,136, 11,237,247,109, +128, 92,234,188,169, 45,133,187, 94,237,175,175, 20,122,122, 99, 38, 54, 73,222,119,178, 14,244,150,110, 65, 63,158,217,219,131, +201, 36,105, 12,196,141,134,102, 13, 39,103,240,224, 1, 76,167,112,182,138,115,251, 0,116, 29, 31, 55,107,190,182, 92,242,141, +197,130,119,231,231,252,163,217,138,245,244, 20,104,227,172,190, 91,166, 68,162, 77,109,217,142,165,183,140,125,195,201,186,101, +136, 67, 89, 67,179, 92,240,206,210,241, 75,211,227,120,124,245, 10, 86, 51,232, 58,202, 44,167,109, 59,158, 47, 74, 74,239,184, +189, 50, 92, 25, 40,140,241, 88, 23,131,237,137, 9,236,201,168,168, 39,149,228,221,206,177,155, 41, 68,107,184, 84, 40,154, 92, + 19, 28, 12,164,160,214, 69, 66, 59, 7,198, 7,215, 48,206, 82, 12,118,240,121,133,152,159, 34, 71, 35,228,116,129, 8,158, 59, + 65,177, 50, 45,101,221,113, 35,203,241, 90, 99,164,192,102, 26,151, 21, 60,208,138,133,146,156, 16,112, 66,178, 20, 1, 13, 44, +141, 67,100,130, 70,150,212, 66,176,176, 22, 87,140, 8,182,137,213, 62,142, 44,147, 92,151,146,231,188,231,149, 92,243,170,146, + 92,111,106, 14,149,229,103,151, 43,174,231, 3,230,109, 67, 94,150,220,152,148,152, 65, 73,176,142, 61,165,168, 67,164,151,221, +211,154, 87, 69,224,163,181,225,200,183, 76,199, 35, 70,139, 5,205, 96,192,117,183,228, 45,167,184, 26, 60, 43,161, 25,200, 22, + 67,198, 87, 90,184,164, 28,247,179, 44,178, 59,164,196, 7,129, 64,226,132,160,243, 14,165, 20,101,158,161, 5, 28,230, 67,230, + 74, 97,125, 2, 23,170, 28, 17,146, 40, 87, 16, 81,213, 77,248,167,232,114,232,111,201,187, 21, 59, 59,112,249,185,168, 33, 34, + 36,204, 27,132,143,129, 53,175, 74,110, 12, 71, 92,173,114,246, 29, 4, 17,232,218, 14,103, 12,239, 47,167, 60, 88, 28,243,149, +135,247, 88, 26, 71,176, 14, 33, 4,194, 69,148,190, 12, 1,161, 2, 66,103,136,178,228,247,222,120,142, 27,195, 9, 74,105,218, + 0, 59,249,128,145,146,124,117,118,134,104, 76,242,140,176,177, 99,156,165,194,226, 91, 5,244,237,174, 98,239,125,231, 83, 37, +222,123,115, 8,159,104,189,114, 83,181,203,180,135, 6,153,152, 59, 2,130,137, 99, 14, 82,181,223, 39,225,161, 15,240,117,236, +104,180,150,112,255, 62,254,228,180, 55,116, 73,175,186, 38,220,123, 8,147, 1,243,229,154,211,217,154, 15, 86,103,172,156,227, +206,249, 25,171,182,230,225,114,206,188,233, 56,159,173, 65, 8,202, 74,199, 44, 53, 56,174, 12,135, 8,114, 66, 48,116, 40,174, +142,247, 25, 21, 57, 71,123,251, 84,101,197,238,238,144,253, 97,137,211,154, 97,158, 83,230,138,241, 78, 69,166, 11, 70, 85,198, +100, 92,208, 90, 73,240,146,231,143, 46,241,238,201, 41, 88,205,228,242,132, 47, 61,119,149,203,123, 59, 88,231,168,134, 21, 77, +107,144, 34, 74,152,238, 78,134, 24,223,240,240,227, 89,204, 98, 62, 77,251,241, 73,122,229,223, 52, 31,241, 27, 78, 33, 50,141, + 72, 20,120, 67, 40,135,236, 15,135, 40,161,201,179,136, 40, 61,155,207, 56,153,206,161, 94,145, 15,198, 4, 41,153,175,214,152, +160,168,103, 11, 56, 59,137, 27,183, 79,148,184,237,106,249,137,213,122,216,208,237,250,121,164,148,143,190,255,122, 6,245, 94, +184, 71,176, 89,244,143,207,214,165,120, 20,113,126, 33, 10,148,197, 5,170,179,141,245, 40, 36,250, 96, 58,175, 96,146,139,220, +150, 88,139, 20, 27,141,251,109,113,156, 39,169,198,245,178,182,189, 26, 91,143,105,232, 33, 5,253, 72,227, 66,120, 38,178, 52, + 70, 42,144, 73,133,204, 51, 38, 94, 98, 18,143,123, 25, 2, 66, 9,156, 15,212, 70,210, 6,183,169,178,123,157,249,237,164, 81, +203,136,172,182,108,216, 18,189,118,127, 8, 91,247, 53, 5,117, 41,158, 78, 78,232, 63,231,229,166,130, 87, 9,112,167, 30, 51, +177,249,180, 93, 22,173, 34,171, 32, 75, 6, 31,206,193,243, 55, 97, 56,138, 1,189,231,238, 26, 3,247, 78,226, 12,222,218,141, + 89, 78, 99, 98,208, 54, 62,182, 9,235, 38,138, 83,157,157, 71, 37,178, 69, 29, 13,145, 76, 7,231,179,152,168,174,151,224, 58, + 76,187,230,227,206,114,167, 91,242,230,123,223,224,117,114,190,114,122,194,157,197,113,236,146, 53, 11,104, 82, 50, 32, 28,211, +249,130,223, 49, 41, 88,172, 27, 10,165,216,145, 14,237, 3,183,151, 29,135, 10,126,110,218,240,182,245, 20,109,203,213, 65,193, + 73,231,216,215, 18,233, 2,119, 28, 76, 6, 5,101, 16, 28, 40,207,181, 65,133,149,138,203,185,230,197, 65, 65,238, 2, 47,238, +237,114, 86,119, 88,161, 17,163, 61,196,236, 1, 98, 60, 64, 24,143, 88,175, 56, 57, 95,240,102,169,121,174, 51, 52,194,227,138, +146, 7, 4,238, 10,193, 42,207,153, 6,201, 76, 10, 86,169, 45, 29,165,129,193,203,130,198, 24,222,247,158, 60,175,112, 1,202, +172,164, 69,227, 8, 84,197,144,129,247, 76,138, 2, 35, 53,138, 64,169, 5,178,238,216,209,112,210,156,115,165,136, 30,228, 39, +179, 6, 68,142,113,158, 97,149,161,172, 99, 26, 20,215,218,154,147,160,216,105,151,156,148, 3,118,166,231, 44,202,146,172, 89, +243,150, 44,121, 77, 54, 44,100, 70, 97,150,204,173,166,202, 61,149,133, 55,169,144,139, 51, 62, 18, 57,121,183,160,201, 74, 22, +237, 10, 47, 64, 32,162,254,188,247, 76,242, 1,147, 92,145,133,128, 31,141, 88,233,132,137, 89, 27,132,176, 96,171,136, 98, 23, + 32,116, 21, 91,233,143,206,253, 54,115,230, 39, 5,247, 44,231, 71,255,153, 31,225,135,127,243,111,226,149,107,215,120, 99,177, +224,210,171, 47,242,155,190,240,253,212,206,114, 54, 63,231, 67, 37,120,185,136, 94, 5,213,122,205,121,215,210, 90,195,237,213, + 25, 63,125, 62,103,209, 26, 76,221,197,110,139, 3,145, 41,100,208, 72, 47, 16, 33,142,212, 68, 85,240,242,206,144,107,163, 93, + 74,157,225,164,192, 19,184,179, 94,242, 13, 27,229, 92,133,105, 54,147,208,158,174,247,172,207, 87, 15,210,131, 8,178,201,178, + 24,132,139, 98, 19, 79, 66,194, 21,245, 64,226,222,148, 75,217,132,210, 79,238,132,242, 49, 42,113, 15, 64,118,169, 51, 58,159, +197,103,105,181,120, 44,168,247,175,243, 69,164, 28, 52, 53,204, 87,180, 77, 71,119,231, 14,139,182, 99,181, 88,179,246, 14, 39, + 97,109, 29,133,200,200, 52, 92,159,236,166,226, 66,130, 40, 56, 28, 77, 40,117, 9, 66, 49, 40, 75,124, 16,148, 69,197,120, 82, +144, 11,141, 46, 36,185,206,169,202, 12,165, 37,133,206,185,127,182,102, 60,169,168,215,150,229,170,229,189,245,156, 16, 96,103, +111,196,141,201, 4,169, 20,229, 96, 68, 8,129,162,200,144, 82,162,242,140,224, 61,205,106,201,135,167,171,104, 15,251, 29, 85, + 43,143,173,179,190, 74,223,174,214,251, 74,201, 72,152, 47, 56, 81,158,165,105, 88, 52,115, 30,204,207,249,120,185, 34, 28, 47, + 97,113,204,162, 49, 44,100,193,170,113,172, 87,107, 56, 63,131,102,186, 1, 69, 61,158,241,169, 45,181,162,222,226, 20,243,232, + 92,125,251,166,246, 0,191, 95,207, 42,221,152, 77,224,238, 93,215, 92,162,167,245, 98, 51, 61, 21, 77,138,180,112, 19,218,189, + 23,120,208,249,134,222,209,163,194, 93, 2,143,249,190,165,159,109,180,223, 73,137, 85, 16, 27,254,188, 20,223,172, 77,208, 43, +252, 93,180,220,229,150, 96,156,222,100,202, 23, 24,133, 88,173, 58,231,233,188, 96, 55,147, 72,173, 88,135, 16,213,183,164,226, +204,153, 40, 90, 34, 21, 11,239,112,253,239, 17,114, 11,145,158, 64,124,189,251,157,148,155,234, 61, 79, 0,153, 92,197,207,245, + 0, 69,169, 54,128, 79, 31,122,140, 76, 58, 23,177,105,226,244, 20, 55,122, 42, 32, 49, 64,110,111, 60, 23, 27,100, 9,187,123, + 49, 0,127,210, 61,204,213, 70,132,135,116,188,229, 40, 50, 55, 38,147,228,183,238,162,134,117, 91,199, 17,210, 98,145,174, 41, +241,221, 38,167,188,102, 5,243, 21, 44,215,176, 92, 65, 51,131,179, 57,204,207, 96, 49,219,108, 64, 15,103, 49,121,163, 23,206, + 49,145, 51, 78, 32,204, 78, 99, 85,190,154,193, 98, 26,141,125, 22,231, 96,107, 70,193,208, 53, 75,190, 54,159,242,165,157, 93, +190,122,255, 30,129,140, 15,206,166, 28, 73,248,219,181,225,246,249, 9, 47,155, 26,231,224,174, 9, 92,223, 29,226,114,141,237, + 12, 7,147, 1,243, 69, 77,174, 53,161,200,208,198,209, 0,135,133,226,182, 11, 92, 31,104, 22,139, 53,217, 96,194,103,117,224, +238,114,138, 24,237, 34,234,101, 76, 70,198,195,152,191,158, 28,243,122,166, 41,155,142, 51, 5,247,133,165,214, 25, 15,189,101, + 46,162, 43,222, 89,235,145, 90,178,104, 37, 83,103, 80, 46,240,139, 1,106,173, 9, 50, 71, 7,143, 47,134, 72, 12,131,225, 1, +187,190,161, 26,237, 97, 28,228, 90, 35, 84,134,149, 25, 82, 11,180,119,156,215, 29,109,187,166,198,209,214, 13, 39,117,205,123, +139, 37, 95,110,226,109,184,238, 13,111, 4,201, 75,120,206,148,230,200, 52,156,150, 67,246, 2, 44, 60,188, 20,214,188,229, 75, +246,154, 5, 75, 61,100, 20, 26, 26,167, 25,102, 48,182, 43,222,206,118,185,181,156,241, 1,154,118,126, 70,109, 5,132,142, 73, + 94, 80,200,140, 66,106, 10, 25,169,121, 95, 24, 12, 57, 84,129, 87, 43,197,221,214,210,117,150,235,255,216, 23,152,220,184,196, +252,206,233, 70, 91,253,137, 1,189,151, 72, 76, 27,110,177,173, 99, 81,241, 79,254,142, 31, 34, 43, 74,170,178, 34,180, 43,126, +248,251,254,113, 94,124,233, 42,135,229,136,215,255,222,207,224,131,229, 43, 65,242,188,109,248,216,118, 52,182,227,141,249, 9, +175, 47,151,220,239, 58,108,103, 32, 4,180,130,203,153,230,181,113,198, 97, 46,120,185, 42, 24,102,146,105,215, 34, 3,188,116, +249, 18,151,171, 49, 78, 73, 36,112,102, 45, 31, 47,214,124,216,212,113, 93,158, 77,163,227,154,181,136,158,142,108, 62,197,126, + 43, 28, 23,202, 81, 38, 68,153,242,182,141,231,107,125, 26, 69,102,177, 64,241, 73, 35, 30, 19, 71,146,157,217,236,151,150,141, + 59,102,207,127,239,247,181,199, 18,249, 39, 7,245,254,101, 82, 22, 62, 95,196,247,182,141, 45,179,218,226, 0, 93, 13,241, 82, +242,252,164, 98,214,193, 32, 83,152,160,168, 84,198,164, 44, 25, 14,114, 6,101, 73,103, 61,227,113, 69, 89, 72, 84,166, 25,143, + 50,180,206,201,181, 38,203, 20,135,163,156,218,120,118, 70, 57,247, 78,107,242, 66,161,133,226, 82, 89,114, 26, 60,151,171,156, +203,147, 33,151, 15,247,201,116, 70, 83,215,100,213,128,206,117,232, 32,152,173,102,156,175,150,124,124,190,136,179, 6,241,132, + 13,254,211,112,184,183,214,218,133, 19,221,133, 2,155,221,180,107, 73,153,150,177,180,214, 48,111, 29,171, 69, 77,104, 13, 76, +143, 47,220,197,194,218, 19, 22,211, 72, 21, 58,189,183, 9, 84, 79, 3, 89,248,173, 54, 75, 31,176,122,160,198, 54, 77,172,159, +195,252,255,161, 74,239, 81,220,125, 64,223, 78, 58, 92,156,133, 94,160,188,149,220,146,133, 5,172, 74,224,186,132,109,232, 18, +152,205, 54,209, 94, 53, 81,149, 98,208, 45,184, 48,177,239,171,239,222,198,180, 79,110, 50,189,201,146, 51,189,153,157,171, 68, +147,203,179,216, 17,241, 91, 1, 83, 19,171,209,212, 17, 41,148, 64,151,154, 90,194,185,243,140, 81,120, 4,199,174,163,146,138, + 22,207, 50,120,100,208, 92,108, 91,109, 66,242,247,107,165,200,211,188, 60,209,230,122,139, 90,147,196,120,250,174,131, 74,146, +195,189,160, 69,235, 55,222, 1,189,127,122,216, 10,234, 23, 70, 48, 9, 96,163,253, 70, 88,231,113, 0,143,183,159, 28,208,203, +100, 64,228, 21,148,137,163,223, 39, 39,210,193,229,195, 40,209,154,229, 73,201,175,142, 85,217,106, 25,209,243,189,138, 88,127, + 49,251,249,188,183,113, 67,183,221,230,255,219,235,218,216,248,181, 85, 29, 19,134,222,209,176,141,237,120,206,231, 17,129,127, +239, 54,156, 78,225,248, 12, 30,158,130, 11,116,161,133, 7,103, 96,107,222,152, 79,121,216,118,188, 59,187,207, 29, 7,111,204, +206, 88,205,207,192, 26, 78,101,244, 65,120,161,138,231,119, 74, 96,183,200,200,188, 99, 80,106,186,206,179, 43, 3,115, 29,169, + 92, 15,219,142, 10, 79, 94,100, 12,132, 2,103,200,117,198,157,144, 70, 72,222,192,238, 40, 6,171,206, 18, 60, 52,237,154, 55, +230, 53,167,198, 50, 83,130,169,107,176,153, 70, 42,197,251,117,203, 88, 11,124,200, 88,219,142,129,202,248, 27,157, 97, 21, 34, +234,126,222,181, 44,138, 49, 57, 1, 89,236, 48,212,154, 73, 54, 36, 83,138,188,218, 33,132,128,149, 25, 66, 6,140,214,184,188, + 96, 25, 44, 43, 93,114,111,109,121,216,174,120,184, 94,210, 9,137,111, 87,228,182,163, 54,150,207, 75,193,173,224,185, 92,175, + 56,174,198,236,173,166,204,144, 12,240,220, 86, 5, 47,179,230,196,107, 38,210, 80, 59,197, 80, 26, 22,157,195,232, 33, 52, 83, +234,225, 46,221,106,198, 44, 43,112,237,154, 73,166, 24,120, 71,165, 50, 70, 89, 73, 41, 4, 47, 9, 65,165, 53,101,240,140,133, +224,102, 33,248,229,198, 49,127,227, 29, 22, 31,221,142,227,201, 44,123,172,224,240,124,179,134,181,140, 40,240,155, 55,227,154, +114, 14, 20,236,223, 56,228, 96,103,143,249,124,202,123, 15, 31,240,249,207,190,200,120, 88, 32,164,231, 23,126,246,231, 17,179, +115, 40, 5,191, 60,155,241, 43,171, 53, 95, 93, 76,249,160,235,152, 37, 54,135,176, 32,130,163, 0,174, 15, 37,215,130,224,122, +158,113, 45, 83,188, 88,229,124,190, 44,153,250,142,175, 52,158,225, 64,227, 69,198,185,247,124, 56, 91,240, 15,154, 46,106,149, +244,207,208,114, 5,227, 33,131,223,248, 26,166, 53, 81, 95,254,153, 1,169,125, 98, 46,210,236,220, 38,234,106,114,105,202,212, +134,174,171, 82, 66,159,103,233,185, 72, 96, 94,177,213,197,235, 85, 63,125, 82,170, 11,201,171, 99, 43,209,248,228,160,254, 36, + 48,153,115, 17,241,106,193, 9, 73, 86, 22, 24,162,104,129, 71,115,115,156,211, 57,201,112, 56,164,208,154,172,172,168, 74,201, +238, 32,167,200, 75,170, 44,103,152,107,138, 66,178, 55,208, 12,135,154,224, 5,231, 43,203,188,117, 52, 77,131, 16, 2,157, 9, +102,211, 53,227, 60, 99, 55,207, 24, 15, 71,236, 76,134, 4, 41,217,153, 12,177,198,226,172,199, 99, 57, 62, 61,227,193, 98,206, +241,157,227, 40,247, 39,210,220,226,211, 58,201,105, 54, 85,185,125,194, 92,221,250,141,168,135,210, 41,121, 72, 52,171, 58, 1, + 26,234, 22,234,105,156,119, 36, 51, 3,234, 25,212,115, 88, 46, 30, 13,102,159, 22,208,212, 11,236,108, 1,166,127, 77,170,244, + 94, 78,247, 66,130, 87, 63,186,137,123,183, 65,161,103,122, 35, 52,211,211,206, 50, 21, 1,109, 50, 75, 21,113,207, 17, 77, 82, +177,222,166,192,214,165,202, 89,108, 2,122,150, 50,212, 11, 3, 5,187, 17,180,185,152,187,139,173, 17, 68, 66,138,247,179,244, +254,251, 82,179, 35, 58,220,109,117, 69,250,177,128, 78,234, 51,169,109, 30, 4, 92, 41, 36,115, 3, 7, 69,129, 11, 30, 43,161, +144, 18,237, 92,100,202, 11,193,220,137, 56, 79,239, 1,126,190,159,161,245, 65, 90,110, 85,162,108, 42,118, 82,117,155, 37,238, +124,145,228, 96,149,218,120,169, 39, 36, 62,153,120, 52,145,203,182,100,137,101, 90, 27, 23,226, 53,225,217,129,143,187, 71, 49, +104, 95, 58,140, 78,103,123, 7,241,239,181, 93, 74,138, 21, 92,218,131,157,253,141, 16,146,202,226,189, 57,157,198,164, 85,203, +141,229,237,183,227,220, 88,232,152,196,229,122,115,252,214,193,170,139,188,122,211,197,251,179, 94,197,247,166,129,121, 18,231, +152,173,224,236, 12,230,211,120, 47,143,239, 68, 33, 19, 41, 96,126, 12, 82, 34,164,231,104,114,137,194, 26,118,139, 12,103, 61, +185,119,204,189,164, 8, 22, 33, 5,167,198,243,126, 23,165, 92, 95, 25,230,252,242,131, 5, 82, 73,158,203, 36,239, 47, 86,188, + 58,168,184, 55,159, 69,151,185,249, 49,100,154,224, 60,161,243, 4,161,241,245,130,179,149,225,227,214,243,110,103,121,177,144, +220, 53, 53, 87,164,228,107,157,103, 97, 13, 3,169,248, 74, 8,204,179, 18, 92, 71, 32, 64, 89, 97, 93, 96,169, 75,118,139, 28, +139,100, 52,222, 71, 42, 65, 53, 28,226,243, 28,161, 74, 58,149, 51,151, 48,117,138,135, 42,199, 56,193, 74, 71, 51, 22,175, 50, + 44, 6,231, 60,115,157,243, 57, 17,248,106,107,248,162,232, 88,150, 99, 14,204,140,243,209, 1,131,166,197, 22,154, 27,161,230, + 61,147,115,168,162, 46,209,176, 16, 44,150, 29,168,140,117,103, 56, 46,198,148,171, 25, 62, 43,113,235, 37,181, 86,148,235, 53, +215,171,156,177, 46, 41,165,228, 72, 43, 6, 58, 39, 88,195,174, 82, 52, 30, 20,142, 43,185,231, 77,227, 19,180, 63, 21, 87,223, +180, 38,182, 91,238,125,242, 91,240,252, 23, 94, 97,118,214, 69,161, 36,107,120,255,141,183,248,242,207,253,191,124,237,157,143, + 56,195, 51, 18,134,213, 98,202,151,223,126,157,135,175,223, 2,105, 16,211,105,252,125,117, 29,237,120,219, 22,209,118, 73, 84, +198,146, 9,120, 99, 58,215,121, 0, 0, 32, 0, 73, 68, 65, 84,161, 16,148, 33,176,175, 4,215,117,198,110,150,115, 41, 83,228, +165, 70,123,201,131,213,138,183,141,229,151,235, 37,175,215, 29, 31,154, 58,185, 95,134,205, 94,159,229, 20,175, 94,231,115, 7, +215, 57,203, 61,246,238,244,153,100,209, 31,109,195,167,185,155, 76,115,244,158,206,219, 38,141, 14,181,253,125,105,175,243,253, +222,183, 69, 95,237,157, 37,123,230, 75,150,246, 54,185,121,230, 63, 93, 80,135,232,174,132, 74,148, 34,197, 11,151, 43, 38,121, + 65,235, 21,207, 13, 53,247,106,139,119,150,221, 66, 81,150, 67,134,101,198,238,168, 64,233,140, 97,153,115,237,176, 98, 50, 16, + 12,171,168, 45, 63,204, 21,109, 23,105,113, 81,225, 85, 32,133,143,182,130, 50,202,115,102, 2,206, 27,199,254,184,160, 26,150, +232, 60,231,228,120, 74,150,103,172,151, 51,100,240,252,204,215,223,143,224,157,126, 13,169,240,236, 85,172,222,210, 97,233, 43, +227, 94,213,205,251,111, 78, 50,123,234,129,177,241,130, 6, 31,219,131,245, 50,206,253,218,246,201, 0, 17,249, 29, 6,215,139, +196, 66,126, 50, 79,242,187,253,234, 41, 95,189, 7,122, 79,197,208, 91,114,188, 38,233,196, 91,183,161,115,108, 87,231, 90,197, + 74,149, 16, 3, 87,214,243,209,147,176,143, 49,169,130,139,226, 31, 23, 0,147, 62, 65, 80, 91,109,242,109, 32, 93,255,222,187, + 69,153,110,139,186,168, 30,165,126,201,236, 17,188,227, 35, 16,220,222,254, 52,209,239, 68,166,169,125,224,160,136, 60,221,135, + 78,177,151, 65,231, 2, 70, 72,242, 0,107, 41, 89,251,237,225,119,162, 84, 6,145, 90,240,169,122, 14, 79,160, 82,246,194, 19, +219,163,131,190, 52,247, 46,137, 29,165, 99,179,189,118,116, 47, 68, 20, 30,109,199,247,172, 12, 23,158,157,234,248,217,207,176, +115,227,136, 47, 94,127,129,207, 94,190,202,193,164, 98,111, 48,100,180, 55, 97, 58, 91, 70, 20,243,100, 2, 7, 99, 24, 95,226, +168, 44,121, 41, 47,121, 41,211, 92, 17,129,187,245, 50,130,228,124, 6, 7,123,176,179, 19, 29,175, 92,247,233,214,150,115,177, + 82,207,139,141,197,110,111, 35, 44, 84, 92, 11, 33,196,153, 99,211, 38,245,199, 38,126,172, 23,241,123,150, 43,184,127, 7,150, + 45, 76,231, 49, 25, 88, 45, 1,139, 9,130,171,194,114,207, 8,246, 84,180, 73,253,192,194,190, 14,236, 89,195, 91,198,243,176, + 54, 92,241,158, 3, 5, 31,118,158,151,117,148,240,157, 11,120,206, 89, 30,172,106, 94,174, 42,238,173,231,208,173,192,121,194, +124, 69,232, 12,190,200, 9, 90,226,219, 53,222, 91,124,187,230,227,198,113,164, 60, 15, 76,195,184, 80, 44, 87, 11, 58, 33,185, +107, 28,141,179, 4, 85,164,241, 75, 14,195, 29,130, 11,188,176, 51,100,164, 75,106,211,177,183,179,131,109, 44, 94, 15,240, 66, + 98,149,164,182,130,135, 30,206,144,172,242,130, 38,171,232,202, 1, 70,101,248,124, 4, 58,227,133,172, 98, 32, 37, 63,176, 59, + 98,237, 50, 14,204, 18, 91, 76, 24,155, 25,228, 67,178,174,225, 86,200,121, 49,119,172,140,163,202,162,214,142, 2, 90, 27,184, +151,101,200,213, 28,202, 17,147, 52, 67,191, 36, 21,167, 46,112,128, 99, 95, 72, 74, 41,185, 36,115,118,114,117, 33,136, 56, 84, + 25, 65, 8,206,157,225,235, 30, 56, 57,139, 34, 51,206, 60, 1,225,238, 31,107,197, 71, 53,207,217,233, 57, 44,167,143, 22, 41, + 58,137,127, 53, 29,239,191,115,155,175,255,242, 27, 60,252,165,143, 98,101, 43,227,158, 35, 86,171, 8,160,108, 29,162, 73,232, +118, 27, 41,146, 82, 10, 14, 66,224, 69,173, 57, 16,130, 61,169, 25, 40, 69,145,105,114, 45, 25, 72,193,204,123,102,235, 46,250, +184,247,163, 57, 33, 99,210, 37,162, 2,101,240, 30,123,231, 12,183,171,153,189,254, 46, 98,189,250,244,123,168,216,162,173,170, +212,189,236,131,114,175,176, 25, 32,250, 30,167,203,180,221,230,239,247, 48, 37, 34,128, 78,108,213, 86,129, 71,170,245, 79, 23, +212,181,222, 40,229, 20,146,163,215,118,248,248,173, 51, 6, 59, 25,135, 69,206,221, 58, 16,130,229, 82,169,104,125,206,115,135, + 67, 14,118, 75, 92,200,168,180, 96,127, 39,103, 50, 20,140,170, 28,239,147,228,102, 38, 49, 38, 90, 2,158, 44, 26,170, 66,225, +124,224,225,201, 10,219,212,228, 89,172,182,134, 85,129,247, 2,149,229,120, 31,184,116, 48,230,252,116,206, 98, 49,229,175,191, +119, 11,238, 78,227, 76,207,134,141,109, 39, 60, 91,245,208,239,203, 50,157, 95,106,219,125, 51,111,253,177,247,254, 63, 79,219, + 60,251,100, 65,242,221, 49,178,251,213,160,161, 61,203, 61,183,143, 38,214, 17,101,190,149, 88,100, 58,137,192,164, 64, 45,182, + 43,249,196, 41,239,101, 99, 67,136, 93, 14, 89, 93, 56, 41, 69,109,247, 46,205,200, 83,155,218,182,137, 54,152, 61, 26,196, 67, +216,154,169,139, 13, 8,174,179,143,242,213,123, 84,124,182,165, 92, 87,136, 71,121, 52,130,141, 96,145,202, 55, 82,144, 40,130, +119, 56, 41,105,131,140,167, 40, 21,181,151, 81,132,201, 64,166, 21, 75, 19,131,252, 69,192,118,225, 81,173,227,190,163,114, 97, + 79,107, 55, 85,122, 63,203, 15, 61,152,166,167,203,184, 71, 1,112, 50,141, 6,182,147,153,190,187,224, 83, 30,209,111, 8, 97, + 11, 68,248, 73, 70, 19,229,152,157, 27,215,121,245,224,136,113, 57,100,255, 96,159, 65, 62, 32, 24, 67,174, 20,235, 76,209,206, +215,176, 63,132, 75, 87, 57, 26, 12,120,181, 26, 51,214, 26, 45, 96,224, 59,180,111, 57, 61, 94, 69,156,195,100, 24,223,203, 28, +166,179, 79, 81,165,167, 57,106, 33, 35, 29, 32,139, 84,198,223, 48, 86,252,192,164,228,249, 82,241,193, 89, 27, 91,242,193, 63, +106, 17,220,175,125,147,230,147,109, 19,255,109,218,184,233,175, 18, 24, 15,207, 92,121, 90,169,120,123, 54,165, 53,130,251, 77, + 77,133,226,118, 16,212,171,154,214, 88,198,121,198,241,186, 99,100, 28,141,214, 28, 8, 48,171, 37,199,197,128, 87,114,201,219, +243, 37,235,122, 14,198, 16,112, 23,114,253, 97,246, 16,175, 6,120,229,241,109,139, 55,150,102,177,224,195,179,134,219,243,154, + 15, 79,167,220,111, 26,110,227, 35,157, 81, 15, 98, 48, 27, 31, 16,218, 8, 42, 29, 20, 21, 69,210,188, 23,163,138,243,117, 67, + 59, 24,144,103,154, 51, 47, 17, 82,115, 39, 8,110, 89,139,202, 43,150,121, 69,208, 89,244,186,207, 39,144,143, 40, 6,251, 92, + 43, 6, 92,157,236,130,200, 57,154, 20, 52, 89, 73,190,154,113, 76, 69, 22,106,138, 98,196,161, 52,220, 94,214,236, 23, 37,141, +177, 49, 87,178,129,219, 2,154,166,166, 40, 42, 14, 4, 12,149,230,185, 42, 67, 90,203, 43,227, 10, 37, 20,218,117, 28,170,140, + 61,149,145, 37, 48,104,147,196,151,156, 16,204, 3,124,109,185,140,207,129,173, 83,146,109,191,197,102,214,143,174,186, 39,235, +132,132,100,137,108, 82,146, 95,102,136,139,194, 34,126,143, 72,227, 29,129, 71,212, 77,164,204, 39,243,149,163, 74,114, 83, 72, +118,165, 38,151,130,137, 86,236,229,154, 12, 77,174, 36,135, 74,177, 11,204,188,167,113,118, 51,102, 18,177, 3, 23,178, 52, 66, +107, 91, 86, 31,222,137, 20, 50,239,163,104,205,167,217,127,251,209,147, 76, 64, 25, 45,226,154,101,171,144, 20, 73,116, 75,176, +225,253,135,237,107,145,246,191, 97, 21,181, 91,122,205,120, 69,220,255, 62,117,165,190, 45,253, 41, 60,228, 37,171, 44, 32, 86, + 29,211,181,229,222,210, 83, 35,184,170, 29,153,148,156, 47,151,188,124,117,159,162, 26,225,140,225,104,191,228,104,183, 96, 82, +169,200,231, 86, 34,250,119, 8,129,214,240,211, 95, 91,113,176, 3,171,218,208,218, 14,151,102,122,214, 88, 92, 16, 12,134, 5, +206, 5, 70,163,156,229,162, 35,207, 21, 77,211,114,182, 88,241,238, 91,239,197, 86, 96,109, 55, 96,178, 94,151,248,211, 4, 76, +191, 37,198,242, 29, 7,195,199, 80,119,223,205,224,254,204, 85,208,119,161, 59,208, 7,112,185,141,109,145, 27,113,159,222,246, +243, 66, 19, 89, 71,208, 86,166,226, 70,237,237, 6, 5,223,219, 25,170, 34, 1, 67, 68,156, 83, 74,145,130,119, 6,126, 29, 3, + 91, 89,110, 2,217,186,217, 82,164,235, 85,212,194,163,129,110, 59,160,235,100,222,162,229,198, 1,174,175,142,123, 81, 27,177, +229, 97, 78,226,150,247,246,165,200,152,249, 42, 69,161, 36, 51, 20,153, 16,248, 16,144, 42, 32,180,224,172,182,228, 90,209,110, + 75, 70, 26,255, 40,194,191,139,173, 59,218,232,149, 64,161, 31,173, 80,251, 4,167, 15,242,253,231,100, 15,186,179,155, 7,251, +113,166, 99, 95,173, 15,163,146, 87,228,245,187, 77,119,234,147, 42,245, 27, 55,248,226,205, 27,148, 89,201,225,222, 37,138, 60, +199,217, 14,107, 28,185,202,104,108,195,204,117,176,179,195,247, 29, 94,225,181,209, 37, 14,170, 1,141,181, 81,205,178,105,104, +187, 21, 15, 86,117,172,146,178, 4, 20,156, 47,227,115,248,105,170,244, 11,202,161,134, 50,231,218,176,224, 55,142, 11, 38, 42, +162,209, 39,165,228,195,217, 42,169, 42,202, 71, 85, 4,165,140,201, 88,153,197,107,161,100,220, 52,219, 52,207,151, 1, 86, 13, + 93,211,209,154,154,208,213, 44,156,195,205,143, 57,246,154,145, 51,236, 6,207, 73,219,113,108, 58, 20,130,155,227,156,176, 94, +131,214, 40,169,216,239, 26,238,173,107, 30,212, 43,172,169, 35,192,207,180,209,202,181,235, 8, 34, 39,172, 87,132,122, 77, 24, +148,120, 99, 99,176,119, 93,252,220, 98, 78,168, 87,132,233, 50,186,194,217, 6,116, 65,176, 22,198,187, 72,161,121,101, 52, 32, + 32, 56, 21,160,180,226, 65,158,211, 8,201, 87,140,163,203, 52,175, 11,141, 13,176, 76, 28,106,164,138,207, 80, 62,140,231,156, + 15,184,190,187,199, 36,203, 24,142, 70, 20, 8,206,157,102,156, 11,140, 46, 56,104,150,172,130, 66,248,154,115,163,121,126,167, +228,108, 89, 51, 25, 42, 22,235,192, 45, 33,120, 94, 40, 12,240,188, 18,236,141, 10,156, 23,220, 24,148, 28, 85, 21,227,108,192, +218, 59,174,102, 5,210,116,236,231, 57, 57, 2, 57, 40,169, 9,120,173, 88, 35,185,237, 29,111,218, 4,152, 60, 91,125, 50,150, +227,153, 71,190, 62,142, 52, 73,160, 48, 25, 69,150, 68,191, 71,167, 61, 78,116, 14, 97, 58,132, 18, 8,239,144, 62, 32, 21,100, + 82,112,128,228,178, 20,236,228, 25,149,148,220,172, 74,174, 22, 21, 87,138,156,163, 34,231,234,160, 98, 87, 75, 62, 92,119,180, + 18,130,210,132,196, 42, 10, 33, 2,154,195,178,133,179,179, 24,204, 71,195,232, 80, 39, 36,194,218, 79,103, 60,230,183,112, 39, +125,210,211,155, 48,245,202,155,193, 63, 74,195,237, 5,208,122,204, 82, 94,114, 97, 92,214, 39, 67, 91, 73,252,179, 7,245,158, + 58,165, 36,232, 97,148, 7, 60,158,163,158,159, 16,206,107,174, 95,175, 40, 50,203,135,115,195, 81, 41,184, 58,201, 9,162, 4, +111, 57,220, 31, 34, 69, 96,119, 32,216, 25, 22, 56,231,104,141, 67, 11, 88,119, 6,239, 4, 95,255,224,140,247, 63,186,195, 32, +207, 88, 45,150,204, 23, 75,214,171,154, 60,151, 12, 70, 21,121,158, 1, 10,103, 28, 69, 1, 77,227,112,193,241,254,253,251,204, +117,160,187,117,188,213,170,120,140, 42,246,105, 91,220,223,141,224,123, 1,172,243,159,152,160,254,170, 6,116,245, 93, 41,213, + 19,200, 73,110,141, 41,236,163, 25,202,246, 38,155,171,216, 38, 29, 12,145, 95,252, 44, 97,182,136,237, 81,231,160, 24,197,170, + 44, 36,250, 91, 16, 81,205, 43,171, 54,116, 47, 37, 55, 52,144,117,162,147, 92, 56, 36, 37,224,160, 44, 54,237,233, 46, 5,204, +109,103, 62,149,199, 68, 66,170, 13, 69, 48, 16, 91,181,170,167, 8,166, 81,128, 78,130, 57,201,122,148, 66,167,141, 34, 38,135, + 6,193,160,204, 88, 27,143,150, 34, 62,143, 38,144, 73,201,188, 55,108,184,248,251,126, 19,204, 93,136,215, 34,108, 81,250,182, + 91,240, 61,184,204,111, 85,250, 33, 41,205,117,110, 3,154,235, 85, 4,251,148,189, 99, 83,193,103,105, 3,232, 91,123,186,183, +139, 20,159, 72,115, 44, 94,122,137, 16, 44,215, 15, 14,201,243,156,206,116, 40,145,108, 72, 9,180,193,113,188,106,248,210,213, + 67,138,106, 55,122, 60,228,138, 65, 86, 96, 58,131, 20,142,135,179, 19,206, 62,190, 19,219,200, 75,147, 16,241,221,166,253,222, +107,100, 63,237, 25,236,191,222, 3, 63,117,129, 28, 14,248,157,151, 42,118,178, 28, 47, 4, 74, 64,215, 26,222, 57,111,146, 35, +152,217,172,181,190, 75,148,231,112,120, 53,174,177,174,222,140,204, 50,157, 68, 59,146,141,240,116, 30,175,213,131,187,169,117, +187,100,161, 52, 67, 60,210,117, 72, 2,133, 3,107, 45,227,193,144,206,116,248,229,154,157, 66,243,229,243, 57,206,180, 9, 39, + 99, 8,166,139,125,107, 27, 8, 82, 16,218,134, 32, 3,161,105,183, 93,182, 47,138,172, 96, 34, 88, 49,220,187, 15,195, 49,140, + 71,113, 45,234,104, 39,122,170, 51,188, 16, 92, 30,230,220, 91,117, 92,175, 50, 62,108, 45,151,180,230,190,243, 88, 36, 43,169, + 8, 34,128, 46, 19, 56, 42,138,232, 48, 28,115,105, 48,228,102, 38,121,241,112,135,182,181,168, 73,197,209, 32,231, 97, 23, 56, + 20,158, 85,174,105,219, 21,222, 73, 14, 10, 56,158,173,216, 27, 23,172, 59,207,185, 23,236, 2, 75, 33,201, 93,199,225,184, 96, + 71, 74,198, 74, 48,148, 25, 58,203,217,205,115, 14, 7, 35,240, 2,169,115, 86, 93, 67,200,114,234, 32, 88, 40, 65,155,101,220, +117,158,247,140,224,142,243,177, 91,178, 92,197, 81,152,247,143,219,108,125, 27,237,201,222,157, 49,205,155,125, 44,222,132,220, +224,124, 68,138,129,194,216,244,110,144, 34, 35, 35,160, 51,201,101, 45,217,209,138, 35,157, 49,210,154,129, 46,169,116, 70,153, +229,236,102, 5,198, 91,172, 53, 76, 21,212, 4,100, 94,224, 93,228,185,203,174, 35,172, 26,112, 9, 1, 63, 44, 35, 45, 78,134, +139,142,238,183,101, 27,254, 73, 64,233,139,175,251,205, 62, 96,211,124, 93, 37, 61, 13,107,226,216, 55,124, 26,244,251, 19,129, + 90, 9, 1,110, 36,131,207, 95,197,124, 56, 67, 93, 31, 96,131,103,250,238, 12,177,110,185,127,122,202, 7,203, 53, 59,250,156, +157,170, 64,229, 35,118, 70,146,163, 73, 69,221, 52,148,133,138, 0,145,206,197,153,185, 14,236, 13, 5, 85,149,209,186,142,233, +188,229,193,241, 3,140,119,104, 41,145, 89,198,100, 84,224,141, 97,185, 92, 81, 86, 37,211,243, 25, 93,211, 81,105,197, 27,247, + 31, 16, 86, 6,154,121, 82,183,106,191, 51, 77,244, 79,251,163, 23, 93,140,132,180,238,179,172, 39,217,168,249,111, 29, 67,191, +227,164,194,109,241,161,229,227,227, 19,249,232,199,183,188, 78, 9, 76,160, 83, 48,247,114,155,103,245,205,235,195,165, 69,169, + 50,194,206, 78, 68, 48,135,164, 38,167, 66,156,193, 22, 18, 66, 30,249,154,189, 87,124, 81, 36, 10, 88,153, 90, 81,126,179,128, +123,164,123, 79,147, 99,139,214,214,250, 71,145,213, 69, 30,129, 39,190, 23,131, 73, 21,253,182,211,153, 21,155, 74,223,187,168, +242, 36,185, 48,141,136,179, 52, 46,208,243,198, 57, 42, 41, 89,121, 8, 33, 32, 2, 44, 43, 25,171,101,221, 11,238,216, 77, 64, +207,213,134,146,231, 82, 50,164,244,133,132,236,197,245, 19,233, 30, 52, 41, 49,201, 68, 60, 72,151, 42,110,145,142,143, 45,111, +117,181, 21,220,243, 30,116, 19,175,247, 69,182,255, 45,198, 51,238,124, 73,117,245,136,138,232,243,160, 16, 12,134, 21,109,189, +198,250,142,186, 93, 50,204, 4,223,115,253, 38, 85, 85,177,146,138,194, 11, 36, 6, 92,199,241,114,198,215, 78, 78,225,193, 52, + 57,229,249,216, 6,116, 38,137, 3,145,186, 50,219,224,202,199,147,222,173, 17,138,146, 32,115,190,120, 56, 96, 47, 47, 24,107, + 69, 16, 18,227, 29,223, 88,183, 28, 79,163, 90,221,133,176, 80,191,110,123,187,231,213, 44, 2, 40,133,219,162, 7,110, 9,232, +180,233,231,219, 85, 52,179, 89, 45, 99,208, 41, 37,179,102,206,209,112,151, 83,211, 82, 8,193,165, 76,179,182, 29,187,206, 49, + 42, 43,254,254,195,227,152,168,180,179,200,181,183,109, 4,188, 42, 69,176, 38, 6,242,229,121,108,215, 58,247,104, 48,127,236, + 61, 38,170,115,194,217, 12,142, 14,211, 26, 43,200,117, 84,161, 84, 68, 13,251,179,214,114,181,140,250,235, 45, 30,107,124, 20, + 43,234,129, 83,147, 73, 92,115,121, 9, 50,227,112, 92,112,115, 50, 64,103,146, 44,203,233,148,164, 13, 48,145,138,187, 86, 48, + 86,154,219, 54,160,156, 99,218,121,148,119, 44,189,164,105, 45,149, 16,220,115,134,207,142, 52, 7,131, 10,225, 61, 59, 66,112, +165, 28,178, 18,130,177, 86,200, 16, 24, 13, 7,212, 1,186,214, 50, 42, 43,150, 72,214, 69,206, 84, 42,102,206,242,160, 17,204, +165,230,212,182, 56,103, 8,138,136,185,248,118,192,147, 79,220,134,108,194,219,116,143, 24,170,136,190, 5,191, 61, 81,115, 46, + 78,161, 36,232, 92, 49,146,138, 29, 41,184,146,107, 46,149, 5, 35, 85,196,173, 42,120,164,208,180,222,160,180,102, 41, 3,211, +186,102,156,101,212,214, 99,157, 97,164, 4,245, 98, 25, 19,186,243,121,212,134,207, 51,132, 22, 9,101,111, 35,229,237, 49,136, +206,167,126,189,112,141,253, 47,124,134,250,214,189,111,102, 65, 61, 30,232,219, 46, 57,133,118, 79, 28, 19, 63,209,222,236,171, +127,239,167,248,143,127,226,127,224,111,254,221,159,123,242, 1,172, 27, 24,148,172,223, 58, 69, 20, 26,119,107,193,186,245,136, + 28,126,240,251, 95,228,203,255,240, 1,208, 32, 41,185,123,118,159, 32, 53,207, 95,126,137,119,238,157,241,202,149, 9, 47,222, + 60, 98,181,106,121,231,131, 7, 96, 61,247,167, 45,139,117,205,221,143, 79,152, 45,215,156,181, 75,150,214,208,153, 64, 86, 72, +118,179, 33,167,199, 51,254,212,191,242,187,248, 63,127,238, 77,190,113,235,132,182,107, 57, 95,213,252,181,159,248,215, 81, 74, +226,211,188, 85, 74,137,148,130,201, 43, 63, 66,103,126,149,145,225,189,184,137,216, 70,193,109,251,180,127, 27,137, 65,127,131, +244,119,128,108, 87,143,189,111, 31,235,183,215, 3, 75, 7,148,192, 45, 79, 82, 84, 26,148, 23,235, 34, 2,158, 44,188,243, 97, +100, 74,168, 50,118, 79,124, 52,202,192, 38,138, 90,158,116,225,109, 66,138, 23,163,200, 36, 80,101,178, 7, 77,188,105,183, 69, +235,235,131,123,191, 14,117, 58, 46,107, 31, 61,199,124, 11, 64, 38,100,148, 28,246, 34,126,190, 87,108,235, 91,216, 89,186, 88, +193, 61,202,149,135, 11,117,184,117,202,152, 59, 31,232,130, 68,182, 2,143, 75, 35,137,116, 45,122,197,184,158,146, 7,177, 29, +220,177, 53,219, 79, 92,244, 32, 54, 93,132,254,107, 62, 89,173,246, 84, 55,107, 55,179,247,167,101,155,222,166,132,193,166,243, +121,134,219,217, 44,120,240,230, 71,148,159,147,156, 46, 87,188,114,245, 26,166, 61,163, 44, 52,160, 56, 24, 76,248,204,209,101, +202, 65, 9, 34,227,250, 96, 72,107, 28, 31, 62, 92,240,229,213, 20,191, 92,110,116, 7,214, 22, 6, 26,202,113, 60,134,198,197, + 64,223,175, 7,251,148,181,158, 0, 73,180, 29, 20, 57,215,247, 53,151,133, 96,234, 28,131,144,225, 68,224,107,181,225, 27,203, + 84,169, 60,105,253,150, 99, 56,184, 4, 15,239,108,198, 47,253,247, 93,172,207,173,117,177,110,128, 38,206,123,231,199,241,103, +190,248,121,102,139,251, 92, 26,236,178,240, 29,111,156, 47,249,222,157, 67, 36,134,166,171,185,150, 73,110, 55, 45,194, 68,117, +177, 48,157, 69,251,214,135,167,241, 25, 95,156,130,148,113, 62,254,216, 43, 60,233,255,235, 6,116, 3, 31,188, 9, 87,159, 3, +165,105,149, 38, 8,133, 73,157, 37, 45, 5,239,173, 26,148,132,171,121,193,109,209,224,154, 36,113, 76, 25, 25, 0, 89,122,206, +148,230,210,176, 36,228,177,187, 81,228,160, 76, 60,111,155, 43, 70,165,226, 23, 30, 46,216, 45,134,252,109, 19,216,149,150, 42, + 40,174, 54, 11,116, 57,166, 2,174, 41,141,195,177, 19, 60, 50,175,200,117,198,217,106,193,181,225,152, 78, 75,206, 91, 75,179, + 92, 51,153, 76, 88, 10,135,145,209,193,236,220, 90, 76,145,115,214,105, 78,164, 99,109, 58,118,243, 1, 39,229, 16,155,207, 96, +188, 15,237,253, 95,213, 45, 56, 96, 17, 90, 19, 82, 27,252, 98, 82,101, 45,172,107,234, 14,186,231, 52,107,167,152,183,134, 98, + 0, 54,116,104, 10,144, 26,227, 13,185,210,236,120, 79, 48,150,215, 6, 3,222,237, 26, 62,151, 59,222, 93, 59, 86,222,115, 77, +192,157,135, 39, 81,119,190, 53,132,176, 6, 27, 16,198,198, 46,204, 19,238,185,120,202, 26,120,234,235,195, 59,156, 73,241,244, +174, 86,175, 32,217,175,235, 79,240,187,248,166, 39,101, 56, 40,249,252,103, 95,224,231,127,241,141, 39,236,237, 54,129,228,146, +174,119,183, 2, 87,161, 94,221,199,191,125, 15,117,243, 26,191,240,143,238, 80,221, 40,169,178,146,159,125,231,152,207,220,104, +216, 47, 75,222,124, 39,231,232, 96,135,197,110,193,206,100,192,235,111,223, 98,186,152,177,110, 29,153,232,248,250,155,247,248, + 59,111,125,200,165, 74,178,183, 51, 68,134,152,253,223, 59, 55,120,235,216, 29, 15,120,238,112,135, 95,121,231, 22,239,221,123, + 72,161,115, 38, 85,201,143,254, 59, 63,201,255,243,238,251,240,254, 3,104, 22,252,249, 63,253, 39,121,238,232,210,175, 65, 64, +231, 9, 1,253,113,148,123, 31,108,248,100,239,243,222, 82,115,187, 10, 17,252,218,188,190,213,177,109,223,251, 39,253,187,216, + 50, 84, 41,199,169, 61, 38,162, 9, 75,207,197, 44,114,232, 68, 4,119,244,232,253, 97, 9, 77, 74, 60,180,220, 80, 51, 42, 29, +177, 17,217, 78,172, 96,237, 34,122,176,171, 60, 86, 76, 93,189,209,124,239,215,225,246, 2, 87, 9,132,114,145, 54,247, 85, 93, + 10,232, 93,242, 83,238, 82,224,191, 64,143,203, 77, 64, 52, 61, 42,117, 43, 65, 11, 36,212,105,128,208,225,253, 86, 85, 45,182, + 42,116,111, 55, 26, 6,164,249,111,149, 71,160, 79,112,143,242,216,189,221,252, 91,132, 77, 66, 80,234,216,222,253,164,246, 78, + 78,236, 72,101, 41, 49,184,118, 8, 31,222,223,200,222, 58,255,201,247,182,105,248,232,131, 59,140, 46,239,177, 51,205, 24, 23, + 37,171, 58,218,196, 30,237,236,177,119, 52,161,110,162,216,206,170,109, 88,180, 13, 46, 3,191,154, 65,151,180,167,243,173,107, + 4,113,148, 33,154,248,247,215,137, 13,225,158,226,121,111,211,215, 83,192, 13, 66,208, 4,143,246,129,247,186,142,179, 14,222, +169,211,207, 21, 2,230, 91, 26, 4, 33,174,181,252, 11,175,208,221, 59,251, 22,137,235, 99, 9, 95,159,144,246,246,150,239,188, +133,253,220,107,156,213, 53,132, 21, 72,197, 47,222,125,143,188, 28, 83, 9,193,108,126, 6,210, 19,154, 8,146, 19, 85, 9,171, +134, 32, 53, 60,124,152,152, 48,221,183, 8, 60,143,189,230,167, 96, 87,145, 45, 96, 1,149,211, 1,183,229,152, 35,215,226,170, +138,214,121, 94,173, 74,238,117, 29,206, 38,136,186, 77,244,217,178,188,120,142, 46,233,200,216,176, 66, 48, 46, 53,214, 5,116, +225, 81,121, 78,221, 90, 78,219, 64, 53, 44,121,195, 74, 14,133,160,238, 26, 68,107,120, 32, 38,236,153,134, 74, 72,174,236, 14, + 41, 77,141,148, 26,135,164,234, 90,118,118,119,185, 91, 55,228, 78,113, 56, 40, 24, 82,242,208, 7, 70,187,151, 56, 63, 62, 6, + 37, 88,171,156, 46,192, 10,144, 33,176, 18, 18,135, 36,232, 44,170, 16,142,151,176, 78,201,221,175,202,203, 62, 26,194,116, 79, + 51,142,235, 63, 8, 64, 26,110,157, 46, 81,151,225,197, 82, 51,109, 59,142, 84, 73,235, 28,173,179, 84, 42,231,196,116,212,193, +178,159,231,204,172,225, 32,215,172,154,142,151, 67,203, 7,179,154,251,103, 11,164,179, 4, 27, 63,132,141,231, 19,236,163, 88, +182, 79,188,231,207,242,122,255,246, 19, 18,215, 18, 6,195, 4, 16, 77,186, 14,166,123,166,208,148,246, 67,201,199,191,244,215, +144, 82,242,225,151,255, 42, 0, 95,250, 29,127,152, 15,110,221,229, 63,248, 19, 63,198,191,249, 47,255, 94, 14, 15,118,249,153, + 95,248, 26,255,210,191,255,103, 57, 62,155,241,195, 63,244, 61,252,143, 63,241,239,242,215,127,254, 23,249, 23,126,219, 15, 34, +149,226, 79,254,248, 95,224,123,127,224, 53,254,192, 63,241,155,185,124,184,207,159,251,171,127,139, 63,247,151,255, 47,254,232, + 15,125, 63, 82, 88,180,254, 62, 94,127,243, 35, 86, 77,199, 15,126,254, 5,190,231,139, 47,243,119,190,252,151,120,248,250, 91, +252,200,191,248,187,249,183,254,232,239,225,198,229,125,190,254,241, 61,126,236, 39,127,138, 95,126,255,109,238,254,165, 63,141, + 64,240,147,255,246,239, 3,224,143,253,217,191,204,207,190,253,141,216,253,156, 25,176, 53,255,252,239,254,173,252,190,223,243, + 67,124,207, 15,255, 17,126, 93, 95, 61,184, 65, 60,107,208,220,162,242, 92,180,152,121,118,141,225,103,237, 40, 60,237,111,107, +251,108,129,253,105,199, 93,150,177, 10,239,221,212, 84, 1, 86,199,207, 55,117,148,142, 29,148,155,227,200, 52,180, 73, 26,182, +136,150,138,145,247,223,198, 25, 41,117,148, 24, 85, 62,182,233,251, 42,221,177,161, 61,125, 19, 56,110, 11, 33,239,205,166, 53, + 29, 82,171, 90,166, 28,190, 15,232, 50,196, 68, 99,144,127,115, 75, 56, 35, 30,135, 77, 32, 65,147,170, 97,209, 87,228, 91,237, +124,177,245,248, 54, 9, 73,232, 83, 96,237,103,245,117,226,223, 23,217,214, 24, 32, 5,116,231, 82,162,144,254,118,174,210,239, +217, 10,148,166,217, 32,226,183,129,114, 90,196,121,113, 86,114,233,242, 1, 39, 15,103, 48,235,210, 40, 65, 38,239,132,173, 29, +102,123, 45,133, 21,100, 7,188,118,245, 38, 90, 58, 6,163, 17,174,169, 81, 74,179,127,120,137,178,204, 81, 69, 96, 58,111,168, + 93, 71,231, 44,199,245, 60,110, 44,139,117,252,176,102,179, 86,157,221,128,254,164,127, 74, 15,240,177, 53,185,181,214,239, 28, +175,120,126, 60,228, 78,211,128, 47,121,167,115,155,243, 21,114,147, 32, 92, 36,235, 53,221,219,239, 70,250,104,219, 61,161, 66, +127,108,221, 63,254,249,190,149,219, 76,152, 31, 31,195,184,141, 5, 75,178, 36,237,128,206,172,226, 8,193, 68, 14, 52, 64, 56, +153, 70,175,245,166,217, 84,255,197,147,157, 2, 63,113, 99, 95, 55,177, 61, 61,174,226,249,237, 94, 6,123,200,131,241, 78,212, +214,215, 37,239, 44,234, 77, 23,168,255,123, 66, 70, 4,246,112, 0,157, 71,101,158,202,121,156, 18,204, 93, 96, 80,102,152,198, + 96, 8,136, 66,179,178,158,147, 96, 41,131, 98,145,105, 6,114, 68,147, 91,196,116,206,160, 24,162,186,134, 82,192,104,178,203, + 14,130,105,211,161, 6, 21, 31,206,230,188,178,183, 71, 99, 13,171,214,113,234, 12,207, 15, 7,156, 19, 56,216,223,231,214,236, +156, 66,230,156,174,187,200, 0, 17, 48, 8,158, 70,107,180,206,112, 34,131,225,128, 32, 10,112,205,147,241, 61,219,157,206, 79, + 83,132, 93, 36,105,143,221,243, 94,175,201,123, 66, 90, 87,161,179, 4, 3, 31,157,231,252, 3, 47, 40,145,236, 23,138, 12, 80, + 50,103,233, 13, 74,106,238,172,107, 78, 9,104,165,144,206,162, 75, 77,214,193,229, 61,193,195, 85,234, 2, 52,117,106,121, 63, + 58, 90,249, 38, 12, 5,143,226, 91,191,109, 76, 65,145, 67, 89,196, 2, 72, 8,112, 42,225,109,252, 39,198,133, 71,102,234, 33, + 4,156,115,156,156,205,248,254, 31,249,215,248, 47,254,235,255,153,243,217,130,159,248,143,254, 13,126,251,111,254, 18, 63,250, +135,254, 61,254,204,127,245, 63,241, 99,191,255,119,241,165, 87,159,231,111,253,253,175,242,135,254,185,223,206, 23, 94,123,137, +255,242,191,249, 43,252,137,159,250, 43, 92,175,198,252,135,127,252, 15,242,191,252,181,159,230,143,255,103,127,145,143,166,199, +252, 39,127,228, 15,240,231,254,187,255,149, 92,214,124,254,133, 27, 76, 70, 67,254,238, 79,255, 60,191,243,183,124,145,151, 95, +184,202, 31,249, 79,255, 91,254,239,127,248, 14,127,242, 15,255,179,252,254, 31,249, 65,126,255,159,248,179,252,169,159,252,139, +252,150, 47,124,134,223,254,242, 77,254,234, 95,250,223,113,251, 59,116,173,225, 95,253,207,255,123,254,194,255,241, 15, 88,173, + 86, 88,103,120,227, 87,238,192,116,202,205, 23,174,242, 55,127,234,207,240, 7,255,216,159,230,205,119, 62,250,181,169,210,241, + 27,177,148, 39, 61,210,129,103,243, 40,239,129, 61,126,203,145, 43,244,173,216,239, 70,146,225, 63,217,114,246,153,125,212, 31, + 27,248, 95, 24, 28, 84,233,148, 85, 2,193,117,144, 87, 96,151, 49,130, 21,101,188, 22, 85, 1, 85,149,134, 93, 58,130,210,134, +131, 24, 64, 93, 74, 14,156,219,200, 32,154, 5,200, 50,166,196,222,196,160,218, 3,227,202,252,209,141, 64,234, 77,128,233, 9, +180,206, 37, 48,158,216,204,209,173,216,180,188,123,106,140,220, 66,196, 43, 25, 55,218,114, 16, 31,168, 94,198,214,218, 56, 79, +105, 76, 12,166,150, 77, 80,251,255,186, 59,243,216,202,174,251,190,127,206,114,151,119,223,198,101, 54,105,180,203,178, 36,203, + 82,237,120, 81,188, 1,110,155,218, 13,218, 24,112, 19,184,168,255,180, 83, 32, 64,209, 38, 5,130, 2, 6,138,180, 64,227, 46, +105,141, 26, 40,138,182,169,155,182, 6,154,216,109,224,164,177, 93, 27, 65,108, 3, 74, 17, 91,134, 20, 69,171,173, 37,150, 53, +210,140,102,134, 67,114, 72,190,229, 46,103,233, 31,231, 92,222, 75,206,140,228, 25, 73,142,209, 7, 16, 36, 31,249,222,187,203, + 57,191,245,251,251,126,235,232,169, 91, 36, 61,190, 35,175,176,190,119,189, 84, 36,138,112,157,156,234,129,102, 96,191, 34, 70, + 4,195,212, 33,232, 57, 76,118,209,239, 73, 87, 53,139,237, 69, 16, 52,106,103,228,137, 61,121,209,151,233,117,221,122, 74, 52, +119,223,247,118, 38,195,130, 99,227,117, 82,165, 25, 20, 5,227, 65, 65, 83, 55, 12, 70, 5, 94,104, 68,170,105, 28, 56, 28, 79, +109,109,211, 8, 9, 23, 46, 4, 10, 88,211,116,199,236,162,212,166,142,228, 49, 45, 81,149, 10,162, 76, 7,122,171,253, 62,161, + 86,113, 84, 17, 94,108, 96,203, 43,182,132, 15,193,138,139, 85, 20,235,130,194, 85, 95,200, 40,209,176, 88,118,204,145,237, 61, +234,143, 26,181,243,238,142,131, 65,114, 31, 75, 82, 45,195, 49, 14,179, 72,128, 20,143,115,123, 35, 16,222, 72, 21,232,105,181, +134,205,109,152, 14,195, 26,216, 62, 23,208,221, 89,250,170,153,250,149,177, 47, 13,204,150, 97, 31, 12, 70, 1, 27, 32,117, 28, + 9,171,194, 57,167, 49,168,107,215,133, 82,221,244,135,169,104,140, 99,109, 92,176,174, 36, 74, 73,246,106,143,148,130,165, 23, +156, 89,212, 44,113,204,107,139, 84, 10, 82, 77,227, 61, 78, 73,142,166, 41,141,148,220, 49,144,140, 17, 88, 47, 25, 74, 65,145, +103, 44,107,195, 90, 81,176,181, 44,241, 90,147, 41,201, 40,205,184, 96, 26,214,117,194, 5,107,184,101, 52,225, 84, 89, 50, 72, +161,170, 45, 53,130,165,173,216, 50, 13, 66,106,106, 83,117, 99,169, 91,219, 29, 51, 98,223, 97, 37,170,107,169, 93, 45,121, 81, +111, 13,137,120,111, 69,143, 30, 66,120, 31,116,212, 33,140,186, 57, 88, 36,138,163, 90,145,105, 73, 74,104,159,205,156,101,219, + 90, 46, 56,203, 2,129, 21, 30, 33, 4,210,251, 64, 75, 46, 37, 39,134, 41, 34, 81, 44,147, 1,216, 6,233, 65, 28, 2,199, 93, + 65,134,235,218,123,236,237,254, 77,211, 14, 84, 42, 68,216, 99,175, 2, 2,191, 36,158,126,239,187,238,229, 27,127,252,208,254, +239, 55, 92,119,148,191,247,137,143,114,251,253,127,155,243, 23, 46, 2,240,187, 95,125,128,143,253,205, 15, 66,185,199, 79,255, +165,183,240,111, 63,247,191,248,230,255,125, 2,117,251, 58, 27, 91, 23,249,250,131,143,240,123,143, 61, 70,189,156,115,246,249, + 77,118,102, 11,236,162,228,219, 79,158,231, 19, 31, 91,225,143,254,236, 73, 62,242,115,239, 71,107,205,135,126,229, 55,216,220, +216,227,216,218,136, 79,253,210,223,226,190,159,251,135,188,180,189,139, 51,154,175,125,235, 65, 62,249,177,159,133, 69,201,253, + 55, 93,207,215,190,243, 8, 79,109,158, 39,145,146,199, 47,206,200,178, 32, 50,161, 71, 5,191,243,217, 79,241,239,127,251,171, + 60,240,208, 19, 63,222,186,181,239, 1,176,250,229,119,119,149, 61,113,219,150,220,123,128,179,215,181,131, 96,174, 0,161, 48, + 63,106, 4,115,233,115,222,193,112, 26, 70, 7,163,100, 41,178, 9,229,114, 83,129, 30, 71,173,110, 7, 43, 3,152, 22,161,228, + 40, 36,140,178, 64, 6,147, 8,210, 36,167,102,121, 41, 97, 79, 50, 14,239,237, 0,105,186,158,125,109,186,126,122,107,200,197, +229, 90, 32,186, 3,149, 65,112,198,109,217,221, 68,133,188, 36,143,206,216,133, 13,212,146,187, 12, 90,227,145,192,162,233, 0, +136,137, 14,165,116, 45, 2,130,185,142,199,236,234, 46, 92, 23,135, 67,244, 24,168, 45,234,174, 50, 80,153,144, 69,215,241,127, +147, 94, 9, 63,139,206,223,134, 44, 60, 4, 30, 61, 71,116,224, 28,218,177,191,121, 55, 54,217,196,118,134,237,129,104,132, 12, +148,178,237,253, 94,191,137,227,171,235,104,169,217, 89,236,145,231, 57,171,249,144, 36, 79, 73,101, 26, 49, 89,134,201,116, 0, + 18,230,203, 5,183,140, 87,241,102,198,247,198, 67,216,220,233,174,107, 59,158,211,158, 99,139,177,168, 77, 36,102, 50, 87,118, +126,109,150,221,148, 48,111,129,156, 45, 72, 49,146, 7, 73, 21,112, 22,182, 60,152,229,183,159,173, 47,131,169,208,241, 92,205, +161, 62,187,190, 76,214,119,113, 22,152,245,210, 54, 88,216, 11, 96,186,202,192,169, 51,193,145, 22,121,144, 0,157, 47, 3, 59, +228, 43,100,232, 87,149,113,170, 37,252,249, 11,225, 60, 7, 41, 52, 11,152, 28, 15,253,104,107,160,148, 93,123, 72,200,174,244, + 26,191,167, 89, 78,125,238, 34,230,196, 26,110, 94, 51, 28,166,224,100,160, 76, 80,158,166,129, 97,150,176, 83, 53, 88, 37,112, +105,152,114, 88,120,207,170, 75, 56,147,228,164,110,193,221, 89,202, 66,192,145, 68, 65, 82,224,234,134, 65,154, 4, 21,100,161, +152, 11,199, 48,205,152,153,154, 19,163, 1,103, 22, 75,142, 15, 6,108,151, 75, 26, 26,156,183, 88,149,131,153,225, 26,131,202, + 71,152, 34,202,151, 14,199, 65,147,163,127,111,156, 60,152,189, 43,249,163, 87, 38, 15, 93,247, 3, 25,113, 79,176,208, 43,185, + 63, 94,232,154,146,229, 30,124, 77, 8,172,132, 66, 44, 56,150, 5,194, 35, 43, 5,115,165, 3, 75,164,245,104, 37, 24,106,205, + 0,197, 12, 65,158, 75,134, 72,142,100, 21, 79,178, 2,179, 57,126,209,224,125, 40,199,247,209, 46,254,208,207,175,205,100,155, + 32,109,188,175,191, 30,136,122, 94,237, 26, 93, 98,177,223,243,206,123,248,244,103, 63,191,255,251,135, 62,248, 46, 30,126,244, +233,125,135, 14, 48, 29, 21,156,223, 14, 36, 19,247,191,253, 78,254,201,103,254, 43,140,114,236,243, 23,120,251, 93,111,226,155, +223,126,146,157, 23,246,152,222,182,194,123,223,255, 86,190,253,240,247,112, 82, 51,190,110,192, 93,183,223,198,251, 86, 71, 76, + 71, 5,119,254,141,127,192,238,172, 98,116, 52,227,175,254,244,125,100,169,230,161,223,251,215,241,106,120,164,144,124,241, 15, +190,137, 7,222,115,223, 29,124,250, 55,126,139,157,231,126,176, 15,184,170,226, 92,241,175,255,242,199, 49,214,241,235,255,249, +127, 7,135, 66,253,198,250,115, 67, 40, 89,183,151,207,186,131, 78,197, 93,195, 29,237, 27,165,170,254, 49, 5, 38,230,218, 3, +135, 68,134, 50,187,237, 59,116, 31,174,191,175,162, 99, 95, 66, 54, 8,255,187, 50, 10, 32,170,149, 33, 89,150, 81,237, 85, 76, + 38, 3,202,210, 99, 91, 62, 99,116,200,202,171,101, 64,176,103, 61, 16, 90,157, 4,144, 83,109, 46,189,102,109, 73,190,229, 79, + 86,189,123,144,137,110, 57, 24, 31,126,247,209,193,139, 24,152, 16,203,244,101,236,135, 15,243, 78,188,196,187, 96, 92,117, 68, + 62,150, 38,150,200,155,208,251, 78, 85, 96, 95, 59,236,204,219,223,219,185, 83, 31,157, 85,105,194,235,124,204,238,211,126,159, +188,103,229, 92,203,104,101,186, 74,132,171, 35,213,109, 47, 72, 49,254,224,186,107,151, 97,227,122,216,205, 62,136, 51, 84, 52, +110,184,237, 36,179,106, 73,158,104, 50,149,178, 87,206,209, 8, 50,173, 81, 67,168, 23, 53,211, 35, 19,118,247, 26, 22, 85,195, +238,178, 66, 99, 40, 27, 56,178, 58,229, 66,185,132,151,202,144,173,239, 7,161, 38, 4, 33,210,117,125, 84,173,187,210,249,171, +225, 53,148,233,136, 56,218,160, 49, 21, 65, 4, 3, 96,135, 80,173,241,166,123, 77,223,192,239,115,255,167, 7,251,142, 2, 72, +167,112,235, 42, 60,251,220,101, 2,217, 58,242, 18,196,160, 46,199, 28,146,165, 0, 0, 19,212, 73, 68, 65, 84, 25,132, 15,187, +176, 13,213, 94,168, 68, 93,220,137,228, 74, 85, 88,131,197,235,212, 43,174,234,240,249,207,191, 0,199,214,122, 99,195, 50,220, +243, 74,198,209, 69,194, 40,103,108, 73,164, 66, 83, 11,184,213,212, 84, 58,225,135,103, 54,184,101, 60,100,161, 37, 59,101, 67, +170, 85,192,163,106, 25,240,186, 89,144,153, 93, 36,158,129,147,148, 90,145, 13, 28, 55,214, 21,168, 49, 27,222,146,121,199,197, +218,144, 36,154, 36,207,216,174, 42,174, 19,154,185, 55,228, 42, 65,226, 16, 73,138,179,150, 53,157,176,225, 26,106,149, 48, 73, + 60,167,155, 26,105, 75, 18,157,144,160, 40, 75, 19,156, 81,158,195,145,181, 96, 11, 90,109,132,182,197,213,199,175, 92, 77, 73, +122, 52, 13,247,231, 74,118,210,183, 83, 94,174,151,183, 24,240, 37, 75,169,248,242,210,114,231,177, 33, 43,118,193,170, 77, 25, + 39,193,103, 36,105, 18,114, 52, 33,240,113,124,104,168, 37, 30, 69, 35, 5, 43, 90,177,146, 40, 30, 17,138, 74,215,120, 83,226, +154, 6, 81,155,253,185,121,119,153,204,252, 53,149,225,189,129,157,157,176,119,165,123,213,126,250, 37, 78,253,150, 27, 79,176, + 58, 29,243,232,147,207,237, 63,119,116,125,149,189,217, 65, 18,129,143,252,245, 15,240,155,191,243, 85,110,187,253, 22, 70,195, + 1,143,253,240,165, 8,204, 17,124,224,254,123,248,231,159,251, 18,222, 59, 70,197,152,123,174, 63,201, 3,143,125,159,119,188, +253, 24,223,127,161,230, 45,183,223,192,167,255,251, 55,120,247,155,143,242,233, 95,254, 56,255,225,139, 95,226,241,103,182, 89, + 95, 25,243,149, 7,254,148, 95,248,213,207,226,189,197, 55, 30, 63, 47,241,245,156,155,111, 60,206,234,116, 20,142,203,214, 80, + 0,197, 4,134, 67, 62,124,255, 61,124,242,231,127,134,183,253,194,175, 6,231, 80,164,193,184,191,209, 64,185,125,159, 30,127, +232,247, 59,175,213, 89,190,161, 60,238,209,249,213,230, 42, 62, 71, 95, 33,203,223, 79, 9, 15,238, 72,161, 58,112,156, 34,128, +211,178, 20,142,142,195,232,206, 56, 35,215, 9,206,195,112,117, 66,109, 13,121,150, 34,164, 97,111,105, 72,144, 84,152, 72, 27, + 90,195,142,233,156, 49, 38, 34,172, 27,240,101,119,124, 66,135, 32,175, 53,222,135, 37, 75,219,254,185,142, 30,119, 63,203,238, +101, 64,237,107,219,146,246,230, 44, 56,146, 36,102,132,146,192,106,166,162,227,109,226,255,238,163,220,101,216,124,109,112, 32, + 35, 65, 19, 61,208, 99, 75,132,211,127, 93,155,229,183,239,153, 69,105, 88,161,218, 3, 63, 4,170, 59, 52, 30, 86, 19,156,222, + 62,102, 32,222,146, 54,232, 58,188, 7, 90,199,171, 82, 94, 58,117,154, 27,238, 89, 3, 96, 94, 46,209,137,192, 52, 13,206, 86, + 84, 75, 79,154,231,212,141,165, 24,103,156,218,188, 72,109, 26,110,212, 57, 85,230,185,119,120,130,167,202, 37,223, 91, 84,112, +118, 43,192,173, 91, 71, 87,155, 88,133,208, 93,133,162,117,232, 87, 2,206,181,207,215, 6,146, 26, 92, 26,239,109,188, 55, 69, +168,200,169,241,144, 19,169,227,244,198, 2, 22, 59,151,178, 8,238,247,221, 15, 33,225,189,129,249, 38, 60,187,121,249,236,218, + 52,112,113, 47, 8,215,136, 36,148,194,215,215,195,243,167,231, 1, 16,220, 24, 96,212,177,128,165,250,245,221,158,229, 30, 92, +104, 34, 67, 96, 92,135,131,149, 48,151, 94,214, 17,160,172, 88,115,142,147,131,156,117, 9, 79,204,151, 28, 79, 37,190, 42, 57, + 85,150,108,160,208,123,115, 40, 6,108,249, 0,144,195, 6, 37,192, 34, 81,108, 11,139, 51,176,240,150,155, 11,205, 81, 33,168, + 42,201,186, 20, 44,154,146,163,105,202,249,237, 25,183, 14, 37,167,231, 53,215, 37, 41,187,182, 97, 37, 73,217, 49,134, 66,105, +230,166, 97,168, 18, 54, 49, 52, 22,150, 77,195, 89, 39,176, 74, 50,119, 26,101, 5,165,143,129,126, 86,192,176, 6,113, 49, 34, +245,229,190, 62,249,126,217, 61,185, 74,251,103,221,193, 53,117, 57, 28, 67, 59, 69, 36,101, 32, 1,138, 69, 54,111, 12,126, 62, +199,169,138,167,206,195,201,105, 74,230, 3, 46,101,152, 15, 40,109,131, 80, 9,185, 86, 56,227, 81, 42, 16,242, 52,214, 82,232, +140, 92, 25, 6,192,155,110,204, 57, 83, 86,252,176, 44,249,225,102,133, 45,231,216,101,117,192,225, 58, 94,135, 76,125, 63,129, +138, 36, 94, 50,237,104,101, 95,225, 90, 29,168, 89,158, 56,186,134,181,142,209,112,192,120, 24,234,143, 79, 61,243, 60,239,123, +247,125,220,113,235, 13,164,137,230,159,254,163, 79,146,101, 41,191,253,251, 15,112,255,253,111,229,225,199,159,197, 8,141, 7, +110, 58,121,140,225, 96,192,159, 61,242,125,214,223,188,202, 75,223,123,153,119,191,237,205, 60,121,246, 69, 30,124, 98,131,119, +221,121, 19,207,189,180,193,191,251,221, 47,242, 75,255,236, 63,241,145, 15,190,147, 27,142,223,130, 83,154,199,158,125,145, 15, +252,212,221,252,212, 91,110,195, 27,207,234,116,192, 39,255,206, 95,161,152, 12,123,199,149,134,227,178, 26,180,230,186,181, 41, +159,255,212, 47,242,137,127,241, 95, 56,189,177,211, 33, 4, 61, 63,158,135,137,206,219,180,142,210,116,207,253,164, 61,132,142, + 97,164,190,182,128,160,159,161, 39,192, 32, 50,192,165, 61,135,162, 34,241, 75, 22,103,179,143, 29,131,233, 24,146,132,233,120, +200,209,188, 64,139,148,161,200, 72, 68,194, 80,101,140, 83, 77, 83, 65, 46,117,104,119, 15, 90, 93,239, 72, 20, 99,108,236,217, + 39, 81, 33,172, 12,159, 1,145, 94,244,240,174,214,221,119,213,203,104,247,143, 63, 58,116, 14, 85, 87,164,234, 50,228,246,222, + 46, 99, 38,218, 82, 56,150,189,209, 53,231,187,237,235, 76,231,192,196,161,173, 37,101, 71,108, 35, 99, 12,100,122,115,246,109, +118,158, 0,149,143, 1, 67,116,136,253, 17, 23,157,244,144,242,109,102, 31, 3,158,180,181, 90, 61,194,163,198,245,130,175, 67, +173, 22, 7,236,108,243,252,246, 89,150,139, 93,140,169, 88,238,237,210,152, 57,179,217,140,186, 90, 50, 95,204, 40, 23, 37,243, +221,146, 81, 42, 56,174, 83,164, 80,172,143, 39,156,222,221,101,146, 36,220,125,114, 21,142, 76, 46, 13, 26,138, 60,156,119,107, +228,132,238,233,174,155,203,103,171,125, 30,123,111,187,118,148,136, 68, 27,171, 99,110, 91, 41, 40, 6, 67,222,113,211, 42, 12, +198,161, 36,175,117, 87, 13, 56, 76, 19,140, 57, 24,144,182, 78,191,125, 77,235,244,219, 86, 71, 99,120,203,104,141,159, 95, 63, +198,199,111,189,149,147,199,215, 33, 31,118,193, 81, 53, 59, 8,116,187, 22,144,234, 37,191,247, 3, 80, 3,231, 78,195, 75,231, + 2,136,206,212, 48,219,220,151,220,188,217,214,220, 87, 20, 76,235,154,220, 58,222, 63,200, 25, 84, 13,105, 83,114, 82, 39,236, +108,189,204,185,237,243, 44, 94, 58, 69, 1,236,149, 21, 94,123, 84,166,216, 43,155,120, 45, 5,140, 50, 22, 66, 83,100, 9,201, +164, 96, 51, 79, 25,175, 76,216,170, 12, 71,167, 35,158, 63,191,195,177,201,144,202, 25,142,142,134, 24, 9,147, 65,202, 22,142, +245, 81,206,217,170,230,136, 82,172, 13, 52,153,214, 92,172, 23,204,141,161,196,211, 72,193, 18, 80, 58, 58,117, 37,225,232, 10, + 20, 43,113,223,246,170,155,182, 93,167, 28,172,192,189,154,205,221,221,185,100, 29,249,150,152, 37, 50, 42,134,178,187, 11,112, + 28,186, 47,219, 24,172, 41,177,187,123,156,186,176,203,119,247, 22,236, 85,134,178, 92, 98,170,134,198, 89, 26, 99,241, 17,232, +156, 41, 69,161, 21,215,105,120,239,100,157, 15, 29,191,142,247,173, 30,229,195,199,142,240,209,147, 39,248,240, 13, 43,232,181, + 53,244,100,138, 42, 70, 40,173,145,135,122,237,175,169,183,174,117,176, 95, 89, 18,190, 15,178, 75, 91,141,175,228,212, 31,125, +234, 57, 30,122,244,251,188,252,216,239,243,245, 47,124, 6,128,175,252,225,159,240,223,190,248,127,120,232, 15, 63,199,217, 39, +254,128, 55,221,118, 35, 31,254,228, 63,166,177,142,251,223,122, 39,223,121,244,233,125,117,173,247,188,237,173, 60,252,248, 51, +216, 44,101,227,145,151,185,254,196, 81,214,166, 35, 30,248,214,211,184,101,197,123,223,121, 23, 15, 60,248, 24,187,231, 23,188, +124,238, 34,127,255, 95,254, 22,255,241,215,126,145,181,233,144,175,255,201, 35,252,155,207,127,153, 47,125,230, 87,152,125,247, +243, 60,244,133,127,197,219,238,186,157,197,238,156, 71,159,122,250,224,113,217, 18,105,106,254,199,175,253, 93,190,240,173,239, +242,229, 63,254,211,168,102,227,130, 97,252,139,210, 23,255, 73,116,230,253, 50,142,141,223, 95,203,163,221,132,182,165,142,245, +193,233,166,209, 0,107, 19,144,239,217, 40, 32,134,135, 9,147,241,132,198, 57,102,198,179,158,165,228, 90,146,107, 73,162, 37, +198,193,106,158, 35, 83,201, 48, 77, 81,168,224,244,234, 72,176,160,211,142,243,189,237,187,245,209,206,251, 13,180, 86,214,245, + 10,216,129,182, 39,217, 58,116,149, 6,128,148,137, 14,101, 95,153, 73,116,217, 67,155, 81,247, 65,106,139,186,235,253,183, 36, + 49,109, 79,189,253,156,195, 34, 1,206, 35,147, 32, 59,140, 80, 93, 95,221, 69, 39,238,251, 65, 71,204,202,219,210,254,254,123, +244,116,231,171, 67, 56,129,125,189, 3,115,153,221,237, 66,255,210,201, 46, 24,242,161, 60,126,238,197,179,188,176,117,129,167, +206,158,226,236,222, 22,167,182,206,227,104,176,214, 35,156, 99,107,107,155,249,206, 54,236,205, 89, 25,229,172,166,176,187, 88, +210,120,137,200, 51,134, 73, 6,131, 60,176, 2,182, 89,152,141, 6,218,197,190,186, 49, 33, 16, 75,210,142, 25,240,138,176, 93, + 25, 89,178,124, 55,151,155, 8,210,241,128,119,140, 10,142,175,142,153, 20, 3,182,208, 28,185,110, 21,198,195,200,129, 32, 59, +103, 77,175,207,223, 86,114,250,173, 45,113, 25,163, 41, 91,125,130,140,159, 57,186,202, 61,199,215,184,107,186,198, 95, 59,121, + 3,156, 88,239, 70, 39,175, 53,240,191,210,244, 73, 31,193, 77, 47, 57,152,109,194,198, 38,108,157, 9,138,143,205,146,251,176, +164,206,163,235,146,235,181,162, 4, 42, 60,198, 4, 85,202,235,211,154,147, 74,162,235,146,205,122,143,239,124,234, 55,209, 79, + 63,204,169, 63,250, 10, 27,139,154, 18,137, 17, 33,192, 44,180,226, 45, 67,197,233, 65, 70, 54,202,208, 90,147,104,205,182, 46, +176,169,102, 52,157,176,181, 51, 35,205,242, 48, 48,130, 96,230, 61,185,144, 44,170,134,235,166, 35,150,120, 42, 15,203,218, 51, + 41, 70, 32, 36, 42, 25, 96, 61,228,105, 78,237, 91,106,228, 81,152,235, 31, 12,186,164,160, 61,215, 42, 78, 32, 44,202,171,179, +217, 87,250,223,120,253,124, 19,197,182,122,253,238, 86, 38,193, 18, 92,133,109, 74,236, 98,201,197,141, 57, 15,238, 46,104,172, +195, 53, 65,246,121,183,174,169,188,223,167, 96, 31,169,132, 99,233, 8,137, 96,162, 83,214,148,226,230,116,200,219, 7, 83,238, +152, 76, 57,186, 58, 64,173, 77, 80, 71, 86,144,147, 41, 34,201,175,158, 93,238, 74, 25,122,154,244, 52, 42,232,212, 18, 95, 97, +162, 73,112,252,253, 63,122, 94,155, 69, 22,176, 22,168,211,159,245,109,203,153,105,129,152, 45, 98, 22,209, 64, 62, 70,148,123, +161,167, 37, 29, 66,167, 97,211,103,145, 48, 35, 11,125,140,208,239, 12,136, 96, 95, 19, 70, 56,204, 28,127,165,136,184,136,139, +165,165, 47,173, 77, 48,106,243,249, 95,156, 83,255,113, 62,218,153,204, 55, 92,126,245,208,226, 41,162, 33, 74, 84, 96,115,107, + 29,133,146, 7, 23,163, 34, 24,221,149, 17,211, 65,129, 18, 9,133,150, 36, 90,177, 57,171, 89,207, 83,246, 26, 67,174, 37, 3, +173, 56, 63, 47, 81, 2,182,182,247,162,179, 43, 3,181,167, 51, 97,196,199, 87, 7,241, 6, 90, 31, 98,155,139,253,244,182,183, + 14, 29,171, 94,214,203,206,145, 29,240,196,212,145,171,254,112, 70, 27,203,228,253, 30,119,159, 80,198, 31, 42,253,249, 30,218, +122,159,253,226, 50,239,215,102,230, 94,116,217, 95,170, 34,133,172,138,200,108,209, 5, 23,165, 9, 1, 78,145,198,207,183, 29, + 18,218,247,112, 2, 45,136, 79,181,206,204,117,199,148,230,112,100, 5,214, 87, 96, 99, 27,206,109,134,247,200,199, 33,203, 30, + 14,201, 82,201, 48, 73,153, 14,114,110, 63,178,206,116, 56, 70,167,197,126,188,180, 53,219,101,148,101, 8, 47,169,109,195,139, +139, 25,152,138,189,114,198,243,155,115,120,121, 35,204,174,215,132,106, 74,191,223,221, 22, 12, 90, 37,189, 43,181,127,218, 94, +188,136, 45,135,181,105, 8, 24, 86, 71,188, 99, 50,230,104,154,146, 8,193,182, 41, 57, 63,175,121,102, 54,131,139,139, 64, 73, +186,108, 66,176, 37,155, 16,116,182,220,217,253,224,175, 45,201,246,217, 65,100,143,200,232,248, 9,238,189,247, 30, 62,122,231, +189, 12, 7, 25,137,183,252,249,185,115,124,229,217, 39,120,225,225,199,187,145,178,107,217,167, 87,218,159,175,244,183,201, 58, +156,188, 14,142, 28,131, 60,225, 29,235, 55,114, 75, 62, 98, 94, 47, 17,163, 9,121,211,176,215, 52, 36, 58, 97, 77, 55,108,205, +106,188,148,252,160,170,168,140,225,133,217, 38, 63,123,253,173,212,214,240,141,147,183,195,168,128, 92,161,156,228, 47, 31,201, + 72,128, 41,138, 29,231,185, 69, 67,179, 91,113,163,114,204,247,150,176, 40, 57, 41, 60,197, 64,161,117,202,233,178, 98, 85,107, +246,202,138,139, 42, 97,108, 13, 47,214,150,220, 90,158,156, 25, 54,202, 57,155,198,162,112,108,224,104,170, 10, 43,193,150,243, +208,174,152,111, 5, 5,205,141,141,208, 54,121,195,230,214, 15, 58,210,195,131, 37,226, 10,207,147,228, 76, 39, 25,239, 93, 25, + 33,178,140,193,104, 72,146, 38, 20, 89,130, 18,112, 68,103,220, 58,200, 89, 69,145, 72, 77,226, 45,206, 90,140,243,156,181,150, +199, 23, 59,252,207,153,161, 90,150, 52,101,131,169, 74,236,238, 46,118,177,196,197,192,194, 95, 11,120, 78,235, 32,222,114,248, +177,104, 58, 59,112,185,216,248,234, 84,218, 6,161, 79, 90,164, 1,244,212, 15, 96,133,128,201, 56, 8, 30,100, 41,194,217, 32, + 56, 80,238, 5, 3,178, 92, 34, 6, 69, 48,164,105,212,252, 43,210, 0,209, 79, 21,190,137, 36,247, 90,194,124, 23,106,139,119, +230,202, 99, 14, 77, 29, 12,126, 93,131,171, 66, 86, 88,215, 63,217, 14,189,149,115,237,143, 22, 93,235,251,136,168,106,181, 63, +198,245, 70,145,202,203,203,252,110, 66,175, 46,139,136,100,221, 91, 8, 58,170,157,173, 79, 32, 77,152,140,135,236, 46,107, 78, +140,135, 56, 43,177,222,113,253,100,202,172,170,152,102, 25, 90,194, 11, 23,247, 56, 62, 44,216, 92,204, 81,105,138, 45,203, 32, +163,153,233, 96, 20,204,188, 19,132,217,111, 90,197,113,168,125, 73, 86,215,161, 84, 90, 66,148,118, 7,181, 4, 45, 42,233, 52, +233, 91,174,116,223,206,136,251,206,240, 15,146,224, 28, 90, 69, 53,111,131,243,108,199,167, 90,128,157,107, 98,134, 44, 59, 56, + 76,235,208,247, 57,217,187,221,156,102,122, 31,196, 19, 2,145, 40,247,218,248,152,193,196, 81, 10, 33,163,206,178,140,215, 32, + 10, 21, 57, 31, 71,158,204, 65,112, 92,219, 94,112,102, 31,100,138,138, 74,109,211, 41,220,124, 34, 74,125,102, 65,128,197,197, +192,107, 92,128, 20,100,121,130, 22,146, 60,209,204,234,134, 92,165,108, 47,150,248,114,201,238,114,155,221,186, 97,103,185,192, + 59, 27,166, 16,133,194, 56,199, 51,198, 96,235,184,239,170,168,142, 6,161, 84,216,202,245, 38,145,219,189,137,162,207, 74,116, + 2, 64,253,241,179, 60,138,240,248,152, 30,217, 48,141,112,239,202,144, 60, 73, 24, 36, 9,169, 20, 88,103,121,100, 89,135,114, +107,227,187, 25,118, 41, 67,139,162, 24,114,252,216,152,108,144, 49, 25, 23,204,151,117,143, 67, 63, 94,119, 41, 46,229,165, 87, +138,217,250, 17,238, 88, 91,195, 57,203,204,122,126,120,113,151, 7,119,183, 97,119,113,237,226, 36,251, 12,145,241, 92, 91,170, +102,231, 94,121,207, 86,203, 48, 29, 50,208,188,115,178, 66,102, 27,134, 69, 74,166, 11,154,122,137,118,142, 65,146,161, 88,128, + 84,228,137, 96, 36,124,160,148, 21,150,243,203, 57,207, 93,120,145,231,245, 48,236, 73, 21,136,126,238, 58, 50,224, 54, 45,169, +149, 66, 11, 72,180, 70, 90,207, 88,193,174,245, 12, 16,172, 38,138,243,165, 33,215,138,212,212,172, 14,114,158,221, 43, 17, 8, + 10, 44,231, 44,220, 48, 74, 57, 83, 89, 18, 91,115,209,131,171, 75,172,144, 84,206, 81, 74, 25, 64,106,182,129,122, 47,234, 31, +208, 85,224, 84, 47,168,205,115, 24, 14, 99,165,204,189, 97,142, 29, 94,129,190,215, 25, 42,231,249,193,174,225,246, 97, 0, 32, +214, 73,144, 85, 94,211, 25, 55, 36, 25, 39,117,193, 68, 41, 20, 30, 37, 53, 74, 40,172, 51, 20, 58,225, 34,142,133,105,216,240, +224,132,199, 91,143, 55, 65,177,212,251,215, 96,155,219, 36,161, 21,154, 82,105,184, 78,166,126,197,247,252,209,157,122,145,199, +186,126,143, 25,171, 53,226,165, 13,243,198, 85, 13, 43,211,160,212, 36, 4, 44,107,196,104, 28,102, 90,179, 12,204, 2,210, 34, + 48, 57, 13,179, 48, 34,162, 85, 88,192, 38,150, 53,119,151, 1, 24, 44,204, 62,225,195,149, 65, 19, 54,114, 2,155,215,117, 81, +188,113, 9,111, 79,145, 75, 69,141,112,119, 13,220,200, 73,218, 25,192,246, 75,218, 55, 72, 44,198, 29,252,106, 3,173, 84,134, +146,115, 58,238,148,197,124,172,182,140,134, 32, 4,147,245, 21,118,231,115,110, 94, 95,197,227, 25,232,148, 65,146,114,113, 49, +103,109, 56,194,216,154,221,202,114,124,148,179, 93, 86, 12,179, 1,187, 59,123,241, 60,124,152,187, 54, 54,124,206,229,164, 68, +219,185,242,253, 67,213, 93, 54, 46, 98,159, 91,197, 56,164,157,245,222, 47,195,139,176,230, 90, 39, 47, 85,199,183,110, 76, 48, + 7,125,153, 84,227, 58, 96,157,111,117,225,117,156,213,238,197,254, 42, 58,226, 86,113, 45,254, 45,149, 2, 97, 5, 77,210,211, + 65, 87, 50, 42,210,133, 49,164, 64, 48, 97,195, 57,232, 52,140,243,101, 42,102,159,177,175,223,148,221,235, 91,250,217, 42,114, + 34,168,168, 18,167, 68, 24, 41,116, 4,228,113,166,194,154,217,153,195,133,205,240,247,100, 16,240, 11, 66, 34,149,100,154,165, + 8, 41, 81, 30,230,165,101,105, 44,139,170, 34,145,150,185,245,140,210,130,109,107, 80, 94,112,186,169, 56,101, 12,179,114, 25, + 69, 86, 8, 76,125,109,121,164,142,247,107,237, 72,192, 84, 20, 69,200,166,155, 42, 56, 42, 23,181, 0,250,247,180,229,249,111, +133,125,108, 0, 89,222,180, 58,224,142,213, 53,206, 47, 43,156, 16,236, 52,134,211,243, 24, 72, 72,122,220,247, 81, 63, 32,211, + 92,159,107,132,240,140,132, 98, 92,164,236,236, 45,123,169, 89,116,230,206,119, 14,190,105,192, 89,154, 44,229,251, 77, 77,229, + 36,207,205, 22,124,115,111, 23,202, 89, 0,209,205,103,215,150,165,247, 57,187, 47, 55, 39,191,223, 2,184, 12, 71,254,124, 15, +138, 49,119,175,228,220, 62, 24,240,131, 89,197,117,131,132,188,200,152, 59, 24,102,161, 68, 60,175, 96, 42, 44,210,129,161,100, +111, 89,114,174,169,195, 53, 58,127, 38, 36, 86,107, 55, 66,174,201,135, 25,133,150, 20, 94,160, 19,205,208, 5, 85,205, 60,211, + 12,133, 96, 69,194,142,177,172, 42,193, 29, 69,202, 98,144,243,204,214,140, 34, 21,204,235,134,179,198,225,157,227,133,237, 6, +211, 24, 54, 81, 24,215,176, 52, 22, 47,192, 72, 69,105,130,176, 77, 24, 71,109, 66, 16,218, 52,145,175,192, 68,129, 39, 17,240, + 10, 39,142,194,209,181, 80,117,157,207,223, 16,199,206, 43, 56,246,253,255,183, 22, 33, 28,167,140, 99, 61,209, 24, 37,113, 89, +202, 20,152, 74,184,115, 56, 33,149,138, 84,166,193,138, 75, 17,228,152,113, 92,108,106, 94, 50, 53,231,230, 53, 30, 17, 50,115, +169,194,169, 84, 21,190,119, 78, 87, 45,248, 34,130, 28,113,128,135, 68,190,247, 87,146, 85,190, 42,167,222, 26,149,150,168, 67, + 39,225,103,103, 2, 73,135,245, 1,165, 58, 43, 59, 69,170, 52, 82, 58,166, 42, 46,218,144,229,137, 36,137,253,207,208, 51,244, +139, 38,100,127,101, 21,141,150, 11, 11,242,255,167,135,212,189,122,143,132,213, 81, 88,228,230, 26,130,145, 86,116,164, 37, 65, +241,213,143,183,159,223,206, 9,103, 89,212, 59,142, 37,229, 36, 13, 64, 14, 31,130,189, 10,207,104, 52, 36, 85, 10, 45, 53, 74, + 72, 36,154,181, 98, 72,109, 29,169, 76,200, 82, 21,199, 72, 36,103,103,243,208, 15,171,203, 64,202,177,220, 5, 83, 94, 89, 66, +183, 37, 29,145, 34,244,166,181, 11,142, 93, 69,176, 98, 75, 12,228,125, 68,163,139,224,136,219, 44,218, 69,118,166,118,228, 75, +244,230,210,114, 29,202,223,202,119, 78,189,149,106,109,203,246,222, 29,252,210, 73, 20, 51,105,131,135, 46,234,178, 94, 96,165, + 36,181, 2,219,174,131, 50,182,161, 92, 79, 70, 54,213,225, 90,250, 38,204,205,187, 56, 14,103, 77,112,238,194, 7, 39,174,162, +243,107,127,110, 57, 19, 68,196, 61,180,206,171,137,125,238, 11, 51,216,190, 16,202,212, 74, 69,117, 60, 9, 69,130, 18, 18,131, + 64, 10,129,147,138,185,109,216, 90,214,156,218,217,226,166, 66, 49, 78, 20,149,113,148, 30,206, 88,195, 15, 76,197,178,149, 88, +141, 28,219, 44,102, 33, 16, 49,182,203,208,215, 87,187,192,102,217,132, 64,208,154, 46, 16,235,103,203,237,189,212,145,134,209, + 25,152, 55,156,105, 28,199, 82,203, 36,149, 92, 40,151, 60, 52, 43,195, 76, 62,190,107, 61,168, 46, 80,155, 38,146, 81, 34, 24, + 9, 65,130,160,178,134,157, 89,117,176, 18, 35,123, 32,196,182,157, 99, 45, 88, 65,157, 8, 94,172,150,156, 41,103,161,159,189, +172, 96,119, 30,214,228,213,238,211,214,145,183,194, 54,237,115,135, 51,246,125,114, 35, 46, 11,252,212, 3, 69,170, 37,119, 23, + 3,102,214,145,227,200,165, 68, 9,129,104, 12,235,153, 10, 36,135, 77,195,102, 99,120,112,231, 34, 44,103,241, 61, 93, 8, 60, +117,134,212, 5,199,134, 33, 33,184,113,152,147,106,129,208,146, 65, 34, 25, 72,193, 64, 8,106,235,185,176,177,160,180, 13,207, + 45, 97,167, 41,169, 61,236, 44, 13, 59,149,167, 49,112,174, 10,231,176,144, 32,241, 36, 54,136, 62, 13,156,197,154,134, 25, 1, + 48,233, 77, 29, 70, 94,157, 13,142,168,172, 67,229,109,177, 8,235,120, 50,134, 19,235,100,227, 34, 76, 46, 45,203,215,117,156, + 87, 92,133,179, 23,128,116, 14, 89,213,108,204, 74, 46, 84,158, 90, 8, 94,150,154, 60,151,172, 24,199,245,197,132, 34, 73, 16, +206, 82,232, 20, 39, 37,167,151,115, 78,217,154,239,206, 27, 42, 37,176,198,225,165,192,213, 53,190,113,120,107,240,175,133, 68, +204, 69,208,168, 45, 59, 33,151, 87,121,252, 63,200,142,135, 98, 79, 39, 83, 45, 0, 0, 0, 0, 73, 69, 78, 68,174, 66, 96,130, + 0}; + diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c index 28a54b20277..169443d855f 100644 --- a/source/blender/editors/gpencil/gpencil_paint.c +++ b/source/blender/editors/gpencil/gpencil_paint.c @@ -1615,7 +1615,12 @@ static int gpencil_area_exists(bContext *C, ScrArea *satest) static int gpencil_draw_modal (bContext *C, wmOperator *op, wmEvent *event) { tGPsdata *p= op->customdata; - int estate = OPERATOR_PASS_THROUGH; /* default exit state - not handled, so let others have a share of the pie */ + //int estate = OPERATOR_PASS_THROUGH; /* default exit state - not handled, so let others have a share of the pie */ + /* currently, grease pencil conflicts with such operators as undo and set object mode + which makes behavior of operator totally unpredictable and crash for some cases. + the only way to solve this proper is to ger rid of pointers to data which can + chage stored in operator custom data (sergey) */ + int estate = OPERATOR_RUNNING_MODAL; // if (event->type == NDOF_MOTION) // return OPERATOR_PASS_THROUGH; @@ -1722,13 +1727,18 @@ static int gpencil_draw_modal (bContext *C, wmOperator *op, wmEvent *event) /* standard undo/redo shouldn't be allowed to execute or else it causes crashes, so catch it here */ // FIXME: this is a hardcoded hotkey that can't be changed // TODO: catch redo as well, but how? - if (event->type == ZKEY) { + if (event->type == ZKEY && event->val == KM_RELEASE) { /* oskey = cmd key on macs as they seem to use cmd-z for undo as well? */ if ((event->ctrl) || (event->oskey)) { /* just delete last stroke, which will look like undo to the end user */ //printf("caught attempted undo event... deleting last stroke \n"); gpencil_frame_delete_laststroke(p->gpl, p->gpf); - + /* undoing the last line can free p->gpf + * note, could do this in a bit more of an elegant way then a search but it at least prevents a crash */ + if(BLI_findindex(&p->gpl->frames, p->gpf) == -1) { + p->gpf= NULL; + } + /* event handled, so force refresh */ ED_region_tag_redraw(p->ar); /* just active area for now, since doing whole screen is too slow */ estate = OPERATOR_RUNNING_MODAL; diff --git a/source/blender/editors/include/ED_object.h b/source/blender/editors/include/ED_object.h index 28d0a9520b2..c646ec55506 100644 --- a/source/blender/editors/include/ED_object.h +++ b/source/blender/editors/include/ED_object.h @@ -108,7 +108,7 @@ int ED_object_add_generic_get_opts(struct bContext *C, struct wmOperator *op, fl struct Object *ED_object_add_type(struct bContext *C, int type, float *loc, float *rot, int enter_editmode, unsigned int layer); void ED_object_single_users(struct Main *bmain, struct Scene *scene, int full); - +void ED_object_single_user(struct Scene *scene, struct Object *ob); /* object motion paths */ void ED_objects_clear_paths(struct bContext *C); diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h index 9b47e103f29..c7a1d860a63 100644 --- a/source/blender/editors/interface/interface_intern.h +++ b/source/blender/editors/interface/interface_intern.h @@ -214,7 +214,7 @@ struct uiBut { BIFIconID icon; char lock; - char dt; + char dt; /* drawtype: UI_EMBOSS, UI_EMBOSSN ... etc, copied from the block */ char changed; /* could be made into a single flag */ unsigned char unit_type; /* so buttons can support unit systems which are not RNA */ short modifier_key; @@ -307,7 +307,8 @@ struct uiBlock { void *drawextra_arg2; int flag; - char direction, dt; + char direction; + char dt; /* drawtype: UI_EMBOSS, UI_EMBOSSN ... etc, copied to buttons */ short auto_open; double auto_open_last; diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c index 85cc944f03b..4810b3fdf54 100644 --- a/source/blender/editors/interface/interface_layout.c +++ b/source/blender/editors/interface/interface_layout.c @@ -367,7 +367,7 @@ static void ui_item_array(uiLayout *layout, uiBlock *block, const char *name, in unit= UI_UNIT_X*0.75; butw= unit; buth= unit; - + if(ptr->type == &RNA_Armature) { bArmature *arm= (bArmature *)ptr->data; layer_used= arm->layer_used; @@ -379,7 +379,7 @@ static void ui_item_array(uiLayout *layout, uiBlock *block, const char *name, in for(a=0; aroot->block->dt, UI_EMBOSSN, UI_EMBOSSP)) { + boolarr= MEM_callocN(sizeof(int)*len, "ui_item_array"); + RNA_property_boolean_get_array(ptr, prop, boolarr); + } for(a=0; atype==NUM) but->type= NUMSLI; if(toggle && but->type==OPTION) but->type= TOG; } + + if(boolarr) { + MEM_freeN(boolarr); + } } } @@ -951,13 +962,14 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index uiBut *but; PropertyType type; char namestr[UI_MAX_NAME_STR]; - int len, w, h, slider, toggle, expand, icon_only, no_bg; + int len, is_array, w, h, slider, toggle, expand, icon_only, no_bg; uiBlockSetCurLayout(block, layout); /* retrieve info */ type= RNA_property_type(prop); - len= RNA_property_array_length(ptr, prop); + is_array= RNA_property_array_check(prop); + len= (is_array) ? RNA_property_array_length(ptr, prop) : 0; /* set name and icon */ if(!name) @@ -967,14 +979,16 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index if(ELEM4(type, PROP_INT, PROP_FLOAT, PROP_STRING, PROP_POINTER)) name= ui_item_name_add_colon(name, namestr); - else if(type == PROP_BOOLEAN && len && index == RNA_NO_INDEX) + else if(type == PROP_BOOLEAN && is_array && index == RNA_NO_INDEX) name= ui_item_name_add_colon(name, namestr); else if(type == PROP_ENUM && index != RNA_ENUM_VALUE) name= ui_item_name_add_colon(name, namestr); if(layout->root->type == UI_LAYOUT_MENU) { - if(type == PROP_BOOLEAN) - icon= (RNA_property_boolean_get(ptr, prop))? ICON_CHECKBOX_HLT: ICON_CHECKBOX_DEHLT; + if(type == PROP_BOOLEAN && ((is_array == FALSE) || (index != RNA_NO_INDEX))) { + if(is_array) icon= (RNA_property_boolean_get_index(ptr, prop, index)) ? ICON_CHECKBOX_HLT: ICON_CHECKBOX_DEHLT; + else icon= (RNA_property_boolean_get(ptr, prop)) ? ICON_CHECKBOX_HLT: ICON_CHECKBOX_DEHLT; + } else if(type == PROP_ENUM && index == RNA_ENUM_VALUE) { int enum_value= RNA_property_enum_get(ptr, prop); if(RNA_property_flag(prop) & PROP_ENUM_FLAG) { @@ -999,7 +1013,7 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index uiBlockSetEmboss(block, UI_EMBOSSN); /* array property */ - if(index == RNA_NO_INDEX && len > 0) + if(index == RNA_NO_INDEX && is_array) ui_item_array(layout, block, name, icon, ptr, prop, len, 0, 0, w, h, expand, slider, toggle, icon_only); /* enum item */ else if(type == PROP_ENUM && index == RNA_ENUM_VALUE) { @@ -2745,6 +2759,25 @@ void uiLayoutOperatorButs(const bContext *C, uiLayout *layout, wmOperator *op,in uiItemL(layout, "* Redo Unsupported *", ICON_NONE); // XXX, could give some nicer feedback or not show redo panel at all? } + /* menu */ + if(op->type->flag & OPTYPE_PRESET) { + /* XXX, no simple way to get WM_MT_operator_presets.bl_label from python! Label remains the same always! */ + PointerRNA op_ptr; + uiLayout *row; + + row= uiLayoutRow(layout, TRUE); + uiItemM(row, (bContext *)C, "WM_MT_operator_presets", NULL, ICON_NONE); + + WM_operator_properties_create(&op_ptr, "WM_OT_operator_preset_add"); + RNA_string_set(&op_ptr, "operator", op->type->idname); + op_ptr= uiItemFullO(row, "WM_OT_operator_preset_add", "", ICON_ZOOMIN, op_ptr.data, WM_OP_INVOKE_DEFAULT, 0); + + WM_operator_properties_create(&op_ptr, "WM_OT_operator_preset_add"); + RNA_string_set(&op_ptr, "operator", op->type->idname); + RNA_boolean_set(&op_ptr, "remove_active", 1); + op_ptr= uiItemFullO(row, "WM_OT_operator_preset_add", "", ICON_ZOOMOUT, op_ptr.data, WM_OP_INVOKE_DEFAULT, 0); + } + if(op->type->ui) { op->layout= layout; op->type->ui((bContext*)C, op); @@ -2759,25 +2792,6 @@ void uiLayoutOperatorButs(const bContext *C, uiLayout *layout, wmOperator *op,in RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr); - /* menu */ - if(op->type->flag & OPTYPE_PRESET) { - /* XXX, no simple way to get WM_MT_operator_presets.bl_label from python! Label remains the same always! */ - PointerRNA op_ptr; - uiLayout *row; - - row= uiLayoutRow(layout, TRUE); - uiItemM(row, (bContext *)C, "WM_MT_operator_presets", NULL, ICON_NONE); - - WM_operator_properties_create(&op_ptr, "WM_OT_operator_preset_add"); - RNA_string_set(&op_ptr, "operator", op->type->idname); - op_ptr= uiItemFullO(row, "WM_OT_operator_preset_add", "", ICON_ZOOMIN, op_ptr.data, WM_OP_INVOKE_DEFAULT, 0); - - WM_operator_properties_create(&op_ptr, "WM_OT_operator_preset_add"); - RNA_string_set(&op_ptr, "operator", op->type->idname); - RNA_boolean_set(&op_ptr, "remove_active", 1); - op_ptr= uiItemFullO(row, "WM_OT_operator_preset_add", "", ICON_ZOOMOUT, op_ptr.data, WM_OP_INVOKE_DEFAULT, 0); - } - /* main draw call */ empty= uiDefAutoButsRNA(layout, &ptr, check_prop, label_align) == 0; diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c index f7460e77030..8bce27e366b 100644 --- a/source/blender/editors/interface/interface_regions.c +++ b/source/blender/editors/interface/interface_regions.c @@ -1188,7 +1188,7 @@ static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but, uiBut *bt; uiSafetyRct *saferct; rctf butrct; - float aspect; + /*float aspect;*/ /*UNUSED*/ int xsize, ysize, xof=0, yof=0, center; short dir1= 0, dir2=0; @@ -1223,7 +1223,7 @@ static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but, } } - aspect= (float)(block->maxx - block->minx + 4); + /*aspect= (float)(block->maxx - block->minx + 4);*/ /*UNUSED*/ ui_block_to_window_fl(butregion, but->block, &block->minx, &block->miny); ui_block_to_window_fl(butregion, but->block, &block->maxx, &block->maxy); @@ -1232,7 +1232,7 @@ static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but, xsize= block->maxx - block->minx+4; // 4 for shadow ysize= block->maxy - block->miny+4; - aspect/= (float)xsize; + /*aspect/= (float)xsize;*/ /*UNUSED*/ if(but) { int left=0, right=0, top=0, down=0; diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c index 0f5bc5479a0..690d0fe4d6b 100644 --- a/source/blender/editors/interface/interface_templates.c +++ b/source/blender/editors/interface/interface_templates.c @@ -39,6 +39,7 @@ #include "BLI_string.h" #include "BLI_utildefines.h" +#include "BLI_ghash.h" #include "BKE_animsys.h" #include "BKE_colortools.h" @@ -53,6 +54,7 @@ #include "BKE_displist.h" #include "ED_screen.h" +#include "ED_object.h" #include "ED_render.h" #include "RNA_access.h" @@ -275,18 +277,28 @@ static void template_id_cb(bContext *C, void *arg_litem, void *arg_event) break; case UI_ID_ALONE: if(id) { - /* make copy */ - if(id_copy(id, &newid, 0) && newid) { - /* copy animation actions too */ - BKE_copy_animdata_id_action(id); - /* us is 1 by convention, but RNA_property_pointer_set - will also incremement it, so set it to zero */ - newid->us= 0; + const int do_scene_obj= (GS(id->name) == ID_OB) && + (template->ptr.type == &RNA_SceneObjects); - /* assign copy */ - RNA_id_pointer_create(newid, &idptr); - RNA_property_pointer_set(&template->ptr, template->prop, idptr); - RNA_property_update(C, &template->ptr, template->prop); + /* make copy */ + if(do_scene_obj) { + Scene *scene= CTX_data_scene(C); + ED_object_single_user(scene, (struct Object *)id); + WM_event_add_notifier(C, NC_SCENE|ND_OB_ACTIVE, scene); + } + else { + if(id_copy(id, &newid, 0) && newid) { + /* copy animation actions too */ + BKE_copy_animdata_id_action(id); + /* us is 1 by convention, but RNA_property_pointer_set + will also incremement it, so set it to zero */ + newid->us= 0; + + /* assign copy */ + RNA_id_pointer_create(newid, &idptr); + RNA_property_pointer_set(&template->ptr, template->prop, idptr); + RNA_property_update(C, &template->ptr, template->prop); + } } } break; @@ -404,10 +416,7 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str sprintf(str, "%d", id->us); - if(id->us<10) - but= uiDefBut(block, BUT, 0, str, 0,0,UI_UNIT_X,UI_UNIT_Y, NULL, 0, 0, 0, 0, "Displays number of users of this data. Click to make a single-user copy."); - else - but= uiDefBut(block, BUT, 0, str, 0,0,UI_UNIT_X+10,UI_UNIT_Y, NULL, 0, 0, 0, 0, "Displays number of users of this data. Click to make a single-user copy."); + but= uiDefBut(block, BUT, 0, str, 0,0,UI_UNIT_X + ((id->us < 10) ? 0:10), UI_UNIT_Y, NULL, 0, 0, 0, 0, "Displays number of users of this data. Click to make a single-user copy."); uiButSetNFunc(but, template_id_cb, MEM_dupallocN(template), SET_INT_IN_POINTER(UI_ID_ALONE)); if(!id_copy(id, NULL, 1 /* test only */) || (idfrom && idfrom->lib) || !editable) @@ -2107,7 +2116,7 @@ static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, Pointe } else if(itemptr->type == &RNA_ShapeKey) { Object *ob= (Object*)activeptr->data; - Key *key= (Key*)itemptr->data; + Key *key= (Key*)itemptr->id.data; split= uiLayoutSplit(sub, 0.75f, 0); @@ -2319,10 +2328,11 @@ static void operator_call_cb(bContext *C, void *UNUSED(arg1), void *arg2) static void operator_search_cb(const bContext *C, void *UNUSED(arg), const char *str, uiSearchItems *items) { - wmOperatorType *ot = WM_operatortype_first(); - - for(; ot; ot= ot->next) { - + GHashIterator *iter= WM_operatortype_iter(); + + for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) { + wmOperatorType *ot= BLI_ghashIterator_getValue(iter); + if(BLI_strcasestr(ot->name, str)) { if(WM_operator_poll((bContext*)C, ot)) { char name[256]; @@ -2342,6 +2352,7 @@ static void operator_search_cb(const bContext *C, void *UNUSED(arg), const char } } } + BLI_ghashIterator_free(iter); } void uiTemplateOperatorSearch(uiLayout *layout) diff --git a/source/blender/editors/interface/interface_utils.c b/source/blender/editors/interface/interface_utils.c index f660dbb9edd..a3f56192cb5 100644 --- a/source/blender/editors/interface/interface_utils.c +++ b/source/blender/editors/interface/interface_utils.c @@ -143,7 +143,7 @@ int uiDefAutoButsRNA(uiLayout *layout, PointerRNA *ptr, int (*check_prop)(Proper if(label_align != '\0') { PropertyType type = RNA_property_type(prop); - int is_boolean = (type == PROP_BOOLEAN && !RNA_property_array_check(ptr, prop)); + int is_boolean = (type == PROP_BOOLEAN && !RNA_property_array_check(prop)); name= RNA_property_ui_name(prop); diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c index f3db6ad11ae..e71f709f89b 100644 --- a/source/blender/editors/interface/resources.c +++ b/source/blender/editors/interface/resources.c @@ -1557,7 +1557,7 @@ void init_userdef_do_versions(void) U.autokey_flag &= ~AUTOKEY_FLAG_ONLYKEYINGSET; } - if (bmain->versionfile < 258 || (bmain->versionfile == 258 && bmain->subversionfile < 1)) { + if (bmain->versionfile < 258 || (bmain->versionfile == 258 && bmain->subversionfile < 2)) { bTheme *btheme; for(btheme= U.themes.first; btheme; btheme= btheme->next) { btheme->tnode.noodle_curving = 5; diff --git a/source/blender/editors/mesh/editmesh.c b/source/blender/editors/mesh/editmesh.c index ec08bfccda3..4377fb03632 100644 --- a/source/blender/editors/mesh/editmesh.c +++ b/source/blender/editors/mesh/editmesh.c @@ -1449,9 +1449,8 @@ static int mesh_separate_material(wmOperator *op, Main *bmain, Scene *scene, Bas /* select the material */ EM_select_by_material(em, curr_mat); /* and now separate */ - if(0==mesh_separate_selected(op, bmain, scene, editbase)) { - BKE_mesh_end_editmesh(me, em); - return 0; + if(em->totfacesel > 0) { + mesh_separate_selected(op, bmain, scene, editbase); } } diff --git a/source/blender/editors/mesh/editmesh_mods.c b/source/blender/editors/mesh/editmesh_mods.c index 9497370a4fa..eb6854d2548 100644 --- a/source/blender/editors/mesh/editmesh_mods.c +++ b/source/blender/editors/mesh/editmesh_mods.c @@ -1697,7 +1697,7 @@ void EM_mesh_copy_face_layer(EditMesh *em, wmOperator *op, short type) /* ctrl+c in mesh editmode */ -static void mesh_copy_menu(EditMesh *em, wmOperator *op) +static void UNUSED_FUNCTION(mesh_copy_menu)(EditMesh *em, wmOperator *op) { EditSelection *ese; int ret; diff --git a/source/blender/editors/mesh/editmesh_tools.c b/source/blender/editors/mesh/editmesh_tools.c index bfae101d38e..9ff2923f733 100644 --- a/source/blender/editors/mesh/editmesh_tools.c +++ b/source/blender/editors/mesh/editmesh_tools.c @@ -3895,7 +3895,7 @@ void MESH_OT_edge_rotate(wmOperatorType *ot) /* XXX old bevel not ported yet */ -static void bevel_menu(EditMesh *em) +static void UNUSED_FUNCTION(bevel_menu)(EditMesh *em) { BME_Mesh *bm; BME_TransData_Head *td; diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c index fdb1b9dc549..2e44d4031c8 100644 --- a/source/blender/editors/object/object_add.c +++ b/source/blender/editors/object/object_add.c @@ -183,7 +183,7 @@ void ED_object_add_generic_props(wmOperatorType *ot, int do_editmode) } RNA_def_float_vector_xyz(ot->srna, "location", 3, NULL, -FLT_MAX, FLT_MAX, "Location", "Location for the newly added object", -FLT_MAX, FLT_MAX); - RNA_def_float_rotation(ot->srna, "rotation", 3, NULL, -FLT_MAX, FLT_MAX, "Rotation", "Rotation for the newly added object", -FLT_MAX, FLT_MAX); + RNA_def_float_rotation(ot->srna, "rotation", 3, NULL, -FLT_MAX, FLT_MAX, "Rotation", "Rotation for the newly added object", -M_PI * 2.0f, M_PI * 2.0f); prop = RNA_def_boolean_layer_member(ot->srna, "layers", 20, NULL, "Layer", ""); RNA_def_property_flag(prop, PROP_HIDDEN); diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c index 142c849eb7b..f0d1164f951 100644 --- a/source/blender/editors/object/object_edit.c +++ b/source/blender/editors/object/object_edit.c @@ -723,7 +723,7 @@ static void spot_interactive(Object *ob, int mode) } #endif -static void special_editmenu(Scene *scene, View3D *v3d) +static void UNUSED_FUNCTION(special_editmenu)(Scene *scene, View3D *v3d) { // XXX static short numcuts= 2; Object *ob= OBACT; @@ -1345,7 +1345,7 @@ static void copy_attr(Main *bmain, Scene *scene, View3D *v3d, short event) DAG_ids_flush_update(bmain, 0); } -static void copy_attr_menu(Main *bmain, Scene *scene, View3D *v3d) +static void UNUSED_FUNCTION(copy_attr_menu)(Main *bmain, Scene *scene, View3D *v3d) { Object *ob; short event; @@ -1618,7 +1618,7 @@ void OBJECT_OT_shade_smooth(wmOperatorType *ot) /* ********************** */ -static void image_aspect(Scene *scene, View3D *v3d) +static void UNUSED_FUNCTION(image_aspect)(Scene *scene, View3D *v3d) { /* all selected objects with an image map: scale in image aspect */ Base *base; @@ -1693,7 +1693,7 @@ static int vergbaseco(const void *a1, const void *a2) } -static void auto_timeoffs(Scene *scene, View3D *v3d) +static void UNUSED_FUNCTION(auto_timeoffs)(Scene *scene, View3D *v3d) { Base *base, **basesort, **bs; float start, delta; @@ -1734,7 +1734,7 @@ static void auto_timeoffs(Scene *scene, View3D *v3d) } -static void ofs_timeoffs(Scene *scene, View3D *v3d) +static void UNUSED_FUNCTION(ofs_timeoffs)(Scene *scene, View3D *v3d) { float offset=0.0f; @@ -1753,7 +1753,7 @@ static void ofs_timeoffs(Scene *scene, View3D *v3d) } -static void rand_timeoffs(Scene *scene, View3D *v3d) +static void UNUSED_FUNCTION(rand_timeoffs)(Scene *scene, View3D *v3d) { Base *base; float rand_ofs=0.0f; diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c index 0fb7cf8b640..225e6e73563 100644 --- a/source/blender/editors/object/object_relations.c +++ b/source/blender/editors/object/object_relations.c @@ -1402,6 +1402,20 @@ static void single_object_users(Scene *scene, View3D *v3d, int flag) set_sca_new_poins(); } +/* not an especially efficient function, only added so the single user + * button can be functional.*/ +void ED_object_single_user(Scene *scene, Object *ob) +{ + Base *base; + + for(base= FIRSTBASE; base; base= base->next) { + if(base->object == ob) base->flag |= OB_DONE; + else base->flag &= ~OB_DONE; + } + + single_object_users(scene, NULL, OB_DONE); +} + static void new_id_matar(Material **matar, int totcol) { ID *id; diff --git a/source/blender/editors/render/render_update.c b/source/blender/editors/render/render_update.c index 6548bdb37a9..8910f101b01 100644 --- a/source/blender/editors/render/render_update.c +++ b/source/blender/editors/render/render_update.c @@ -60,6 +60,7 @@ #include "RE_engine.h" +#include "ED_node.h" #include "ED_render.h" #include "render_intern.h" // own include @@ -214,6 +215,8 @@ static void texture_changed(Main *bmain, Tex *tex) Material *ma; Lamp *la; World *wo; + Scene *scene; + bNode *node; /* icons */ BKE_icon_changed(BKE_icon_getid(&tex->id)); @@ -247,6 +250,16 @@ static void texture_changed(Main *bmain, Tex *tex) BKE_icon_changed(BKE_icon_getid(&wo->id)); } + + /* find compositing nodes */ + for(scene=bmain->scene.first; scene; scene=scene->id.next) { + if(scene->use_nodes && scene->nodetree) { + for(node=scene->nodetree->nodes.first; node; node=node->next) { + if(node->id == &tex->id) + ED_node_changed_update(&scene->id, node); + } + } + } } static void lamp_changed(Main *bmain, Lamp *la) diff --git a/source/blender/editors/space_console/console_ops.c b/source/blender/editors/space_console/console_ops.c index 3effea296d7..4707baa279b 100644 --- a/source/blender/editors/space_console/console_ops.c +++ b/source/blender/editors/space_console/console_ops.c @@ -675,7 +675,12 @@ static int scrollback_append_exec(bContext *C, wmOperator *op) console_scrollback_limit(sc); - console_textview_update_rect(sc, ar); + /* 'ar' can be null depending on the operator that runs + * rendering with invoke default for eg causes this */ + if(ar) { + console_textview_update_rect(sc, ar); + } + ED_area_tag_redraw(CTX_wm_area(C)); return OPERATOR_FINISHED; diff --git a/source/blender/editors/space_file/file_ops.c b/source/blender/editors/space_file/file_ops.c index d4253495e97..4dd97c63d40 100644 --- a/source/blender/editors/space_file/file_ops.c +++ b/source/blender/editors/space_file/file_ops.c @@ -1159,6 +1159,13 @@ int file_filename_exec(bContext *C, wmOperator *UNUSED(unused)) return OPERATOR_FINISHED; } +/* TODO, directory operator is non-functional while a library is loaded + * until this is properly supported just disable it. */ +static int file_directory_poll(bContext *C) +{ + return ED_operator_file_active(C) && filelist_lib(CTX_wm_space_file(C)->files) == NULL; +} + void FILE_OT_directory(struct wmOperatorType *ot) { /* identifiers */ @@ -1169,7 +1176,7 @@ void FILE_OT_directory(struct wmOperatorType *ot) /* api callbacks */ ot->invoke= file_directory_invoke; ot->exec= file_directory_exec; - ot->poll= ED_operator_file_active; /* <- important, handler is on window level */ + ot->poll= file_directory_poll; /* <- important, handler is on window level */ } void FILE_OT_refresh(struct wmOperatorType *ot) diff --git a/source/blender/editors/space_file/filelist.c b/source/blender/editors/space_file/filelist.c index 6736230e84f..d8be312cf39 100644 --- a/source/blender/editors/space_file/filelist.c +++ b/source/blender/editors/space_file/filelist.c @@ -602,28 +602,6 @@ short filelist_changed(struct FileList* filelist) return filelist->changed; } -static struct ImBuf * filelist_loadimage(struct FileList* filelist, int index) -{ - ImBuf *imb = NULL; - int fidx = 0; - - if ( (index < 0) || (index >= filelist->numfiltered) ) { - return NULL; - } - fidx = filelist->fidx[index]; - imb = filelist->filelist[fidx].image; - if (!imb) - { - if ( (filelist->filelist[fidx].flags & IMAGEFILE) || (filelist->filelist[fidx].flags & MOVIEFILE) ) { - imb = IMB_thumb_read(filelist->filelist[fidx].path, THB_NORMAL); - } - if (imb) { - filelist->filelist[fidx].image = imb; - } - } - return imb; -} - struct ImBuf * filelist_getimage(struct FileList* filelist, int index) { ImBuf* ibuf = NULL; diff --git a/source/blender/editors/space_nla/nla_edit.c b/source/blender/editors/space_nla/nla_edit.c index 77c91b28a63..af99087b0b8 100644 --- a/source/blender/editors/space_nla/nla_edit.c +++ b/source/blender/editors/space_nla/nla_edit.c @@ -951,7 +951,7 @@ static int nlaedit_bake_exec (bContext *C, wmOperator *UNUSED(op)) return OPERATOR_FINISHED; } -static void NLA_OT_bake (wmOperatorType *ot) +void NLA_OT_bake (wmOperatorType *ot) { /* identifiers */ ot->name= "Bake Strips"; diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index 848b037e1cb..274983fd316 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -1703,7 +1703,7 @@ void NODE_OT_link_viewer(wmOperatorType *ot) /* return 0, nothing done */ -static int node_mouse_groupheader(SpaceNode *snode) +static int UNUSED_FUNCTION(node_mouse_groupheader)(SpaceNode *snode) { bNode *gnode; float mx=0, my=0; @@ -2018,7 +2018,7 @@ void snode_autoconnect(SpaceNode *snode, int allow_multiple, int replace) } /* can be called from menus too, but they should do own undopush and redraws */ -bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float locy) +bNode *node_add_node(SpaceNode *snode, Main *bmain, Scene *scene, int type, float locx, float locy) { bNode *node= NULL, *gnode; @@ -2033,7 +2033,7 @@ bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float return NULL; } else { - bNodeTree *ngroup= BLI_findlink(&G.main->nodetree, type-NODE_GROUP_MENU); + bNodeTree *ngroup= BLI_findlink(&bmain->nodetree, type-NODE_GROUP_MENU); if(ngroup) node= nodeAddNodeType(snode->edittree, NODE_GROUP, ngroup, NULL); } @@ -2054,7 +2054,7 @@ bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float } node_tree_verify_groups(snode->nodetree); - ED_node_set_active(G.main, snode->edittree, node); + ED_node_set_active(bmain, snode->edittree, node); if(snode->nodetree->type==NTREE_COMPOSIT) { if(ELEM4(node->type, CMP_NODE_R_LAYERS, CMP_NODE_COMPOSITE, CMP_NODE_DEFOCUS, CMP_NODE_OUTPUT_FILE)) @@ -3069,10 +3069,10 @@ static int node_mute_exec(bContext *C, wmOperator *UNUSED(op)) for(node= snode->edittree->nodes.first; node; node= node->next) { if(node->flag & SELECT) { - if(node->inputs.first && node->outputs.first) { + /* Be able to mute in-/output nodes as well. - DingTo + if(node->inputs.first && node->outputs.first) { */ node->flag ^= NODE_MUTED; snode_tag_changed(snode, node); - } } } @@ -3283,6 +3283,7 @@ void NODE_OT_show_cyclic_dependencies(wmOperatorType *ot) static int node_add_file_exec(bContext *C, wmOperator *op) { + Main *bmain= CTX_data_main(C); Scene *scene= CTX_data_scene(C); SpaceNode *snode= CTX_wm_space_node(C); bNode *node; @@ -3323,7 +3324,7 @@ static int node_add_file_exec(bContext *C, wmOperator *op) ED_preview_kill_jobs(C); - node = node_add_node(snode, scene, ntype, snode->mx, snode->my); + node = node_add_node(snode, bmain, scene, ntype, snode->mx, snode->my); if (!node) { BKE_report(op->reports, RPT_WARNING, "Could not add an image node."); diff --git a/source/blender/editors/space_node/node_header.c b/source/blender/editors/space_node/node_header.c index 15b1847ecf1..9f1029d58a0 100644 --- a/source/blender/editors/space_node/node_header.c +++ b/source/blender/editors/space_node/node_header.c @@ -64,6 +64,8 @@ static void do_node_add(bContext *C, void *UNUSED(arg), int event) { + Main *bmain= CTX_data_main(C); + Scene *scene= CTX_data_scene(C); SpaceNode *snode= CTX_wm_space_node(C); ScrArea *sa= CTX_wm_area(C); ARegion *ar; @@ -87,7 +89,7 @@ static void do_node_add(bContext *C, void *UNUSED(arg), int event) else node->flag &= ~NODE_TEST; } - node= node_add_node(snode, CTX_data_scene(C), event, snode->mx, snode->my); + node= node_add_node(snode, bmain, scene, event, snode->mx, snode->my); /* select previous selection before autoconnect */ for(node= snode->edittree->nodes.first; node; node= node->next) { diff --git a/source/blender/editors/space_node/node_intern.h b/source/blender/editors/space_node/node_intern.h index d30322d469f..2939676d051 100644 --- a/source/blender/editors/space_node/node_intern.h +++ b/source/blender/editors/space_node/node_intern.h @@ -43,6 +43,7 @@ struct wmWindowManager; struct bNode; struct bNodeSocket; struct bNodeLink; +struct Main; /* temp data to pass on to modal */ typedef struct bNodeLinkDrag @@ -97,7 +98,7 @@ void node_tree_from_ID(ID *id, bNodeTree **ntree, bNodeTree **edittree, int *tre void snode_notify(bContext *C, SpaceNode *snode); void snode_dag_update(bContext *C, SpaceNode *snode); bNode *next_node(bNodeTree *ntree); -bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float locy); +bNode *node_add_node(SpaceNode *snode, struct Main *bmain, Scene *scene, int type, float locx, float locy); void snode_set_context(SpaceNode *snode, Scene *scene); void snode_make_group_editable(SpaceNode *snode, bNode *gnode); void node_deselectall(SpaceNode *snode); diff --git a/source/blender/editors/space_node/node_select.c b/source/blender/editors/space_node/node_select.c index 857405aff4e..c76f4d1ef36 100644 --- a/source/blender/editors/space_node/node_select.c +++ b/source/blender/editors/space_node/node_select.c @@ -38,6 +38,7 @@ #include "BKE_context.h" #include "BKE_global.h" +#include "BKE_main.h" #include "BLI_rect.h" #include "BLI_utildefines.h" @@ -72,7 +73,7 @@ static bNode *node_under_mouse(bNodeTree *ntree, int mx, int my) /* ****** Click Select ****** */ -static bNode *node_mouse_select(SpaceNode *snode, ARegion *ar, const int mval[2], short extend) +static bNode *node_mouse_select(Main *bmain, SpaceNode *snode, ARegion *ar, const int mval[2], short extend) { bNode *node; float mx, my; @@ -94,7 +95,7 @@ static bNode *node_mouse_select(SpaceNode *snode, ARegion *ar, const int mval[2] else node->flag ^= SELECT; - ED_node_set_active(G.main, snode->edittree, node); + ED_node_set_active(bmain, snode->edittree, node); } return node; @@ -102,6 +103,7 @@ static bNode *node_mouse_select(SpaceNode *snode, ARegion *ar, const int mval[2] static int node_select_exec(bContext *C, wmOperator *op) { + Main *bmain= CTX_data_main(C); SpaceNode *snode= CTX_wm_space_node(C); ARegion *ar= CTX_wm_region(C); int mval[2]; @@ -115,7 +117,7 @@ static int node_select_exec(bContext *C, wmOperator *op) extend = RNA_boolean_get(op->ptr, "extend"); /* perform the select */ - node= node_mouse_select(snode, ar, mval, extend); + node= node_mouse_select(bmain, snode, ar, mval, extend); /* send notifiers */ WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL); diff --git a/source/blender/editors/space_outliner/CMakeLists.txt b/source/blender/editors/space_outliner/CMakeLists.txt index 4194d463e10..d969a80a678 100644 --- a/source/blender/editors/space_outliner/CMakeLists.txt +++ b/source/blender/editors/space_outliner/CMakeLists.txt @@ -37,8 +37,12 @@ set(INC_SYS ) set(SRC - outliner.c + outliner_draw.c + outliner_edit.c outliner_ops.c + outliner_select.c + outliner_tools.c + outliner_tree.c space_outliner.c outliner_intern.h diff --git a/source/blender/editors/space_outliner/outliner.c b/source/blender/editors/space_outliner/outliner.c deleted file mode 100644 index 93dc96cf9c0..00000000000 --- a/source/blender/editors/space_outliner/outliner.c +++ /dev/null @@ -1,5792 +0,0 @@ -/* - * $Id$ - * - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2004 Blender Foundation. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file blender/editors/space_outliner/outliner.c - * \ingroup spoutliner - */ - - -#include -#include -#include -#include - -#include "MEM_guardedalloc.h" - -#include "DNA_anim_types.h" -#include "DNA_armature_types.h" -#include "DNA_constraint_types.h" -#include "DNA_camera_types.h" -#include "DNA_group_types.h" -#include "DNA_key_types.h" -#include "DNA_lamp_types.h" -#include "DNA_material_types.h" -#include "DNA_mesh_types.h" -#include "DNA_meta_types.h" -#include "DNA_particle_types.h" -#include "DNA_scene_types.h" -#include "DNA_world_types.h" -#include "DNA_sequence_types.h" -#include "DNA_object_types.h" - -#include "BLI_blenlib.h" -#include "BLI_utildefines.h" -#include "BLI_math_base.h" - -#if defined WIN32 && !defined _LIBC -# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */ -#else -# ifndef _GNU_SOURCE -# define _GNU_SOURCE -# endif -# include -#endif - - -#include "BKE_animsys.h" -#include "BKE_context.h" -#include "BKE_deform.h" -#include "BKE_depsgraph.h" -#include "BKE_fcurve.h" -#include "BKE_global.h" -#include "BKE_group.h" -#include "BKE_library.h" -#include "BKE_main.h" -#include "BKE_modifier.h" -#include "BKE_report.h" -#include "BKE_scene.h" -#include "BKE_sequencer.h" - -#include "ED_armature.h" -#include "ED_object.h" -#include "ED_screen.h" -#include "ED_util.h" - -#include "WM_api.h" -#include "WM_types.h" - -#include "BIF_gl.h" -#include "BIF_glutil.h" - -#include "UI_interface.h" -#include "UI_interface_icons.h" -#include "UI_resources.h" -#include "UI_view2d.h" - -#include "RNA_access.h" -#include "RNA_define.h" - -#include "ED_keyframing.h" - -#include "outliner_intern.h" - - -#define OL_Y_OFFSET 2 - -#define OL_TOG_RESTRICT_VIEWX (UI_UNIT_X*3) -#define OL_TOG_RESTRICT_SELECTX (UI_UNIT_X*2) -#define OL_TOG_RESTRICT_RENDERX UI_UNIT_X - -#define OL_TOGW OL_TOG_RESTRICT_VIEWX - -#define OL_RNA_COLX (UI_UNIT_X*15) -#define OL_RNA_COL_SIZEX (UI_UNIT_X*7.5) -#define OL_RNA_COL_SPACEX (UI_UNIT_X*2.5) - -#define TS_CHUNK 128 - -#define TREESTORE(a) ((a)?soops->treestore->data+(a)->store_index:NULL) - -/* ************* XXX **************** */ - -static void error(const char *UNUSED(arg), ...) {} - -/* ********************************** */ - - -/* ******************** PROTOTYPES ***************** */ -static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int startx, int *starty); -static void outliner_do_object_operation(bContext *C, Scene *scene, SpaceOops *soops, ListBase *lb, - void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *)); - -static int group_select_flag(Group *gr); - -/* ******************** PERSISTANT DATA ***************** */ - -static void outliner_storage_cleanup(SpaceOops *soops) -{ - TreeStore *ts= soops->treestore; - - if(ts) { - TreeStoreElem *tselem; - int a, unused= 0; - - /* each element used once, for ID blocks with more users to have each a treestore */ - for(a=0, tselem= ts->data; ausedelem; a++, tselem++) tselem->used= 0; - - /* cleanup only after reading file or undo step, and always for - * RNA datablocks view in order to save memory */ - if(soops->storeflag & SO_TREESTORE_CLEANUP) { - - for(a=0, tselem= ts->data; ausedelem; a++, tselem++) { - if(tselem->id==NULL) unused++; - } - - if(unused) { - if(ts->usedelem == unused) { - MEM_freeN(ts->data); - ts->data= NULL; - ts->usedelem= ts->totelem= 0; - } - else { - TreeStoreElem *tsnewar, *tsnew; - - tsnew=tsnewar= MEM_mallocN((ts->usedelem-unused)*sizeof(TreeStoreElem), "new tselem"); - for(a=0, tselem= ts->data; ausedelem; a++, tselem++) { - if(tselem->id) { - *tsnew= *tselem; - tsnew++; - } - } - MEM_freeN(ts->data); - ts->data= tsnewar; - ts->usedelem-= unused; - ts->totelem= ts->usedelem; - } - } - } - } -} - -static void check_persistant(SpaceOops *soops, TreeElement *te, ID *id, short type, short nr) -{ - TreeStore *ts; - TreeStoreElem *tselem; - int a; - - /* case 1; no TreeStore */ - if(soops->treestore==NULL) { - soops->treestore= MEM_callocN(sizeof(TreeStore), "treestore"); - } - ts= soops->treestore; - - /* check if 'te' is in treestore */ - tselem= ts->data; - for(a=0; ausedelem; a++, tselem++) { - if(tselem->id==id && tselem->used==0) { - if((type==0 && tselem->type==0) ||(tselem->type==type && tselem->nr==nr)) { - te->store_index= a; - tselem->used= 1; - return; - } - } - } - - /* add 1 element to treestore */ - if(ts->usedelem==ts->totelem) { - TreeStoreElem *tsnew; - - tsnew= MEM_mallocN((ts->totelem+TS_CHUNK)*sizeof(TreeStoreElem), "treestore data"); - if(ts->data) { - memcpy(tsnew, ts->data, ts->totelem*sizeof(TreeStoreElem)); - MEM_freeN(ts->data); - } - ts->data= tsnew; - ts->totelem+= TS_CHUNK; - } - - tselem= ts->data+ts->usedelem; - - tselem->type= type; - if(type) tselem->nr= nr; // we're picky! :) - else tselem->nr= 0; - tselem->id= id; - tselem->used = 0; - tselem->flag= TSE_CLOSED; - te->store_index= ts->usedelem; - - ts->usedelem++; -} - -/* ******************** TREE MANAGEMENT ****************** */ - -void outliner_free_tree(ListBase *lb) -{ - - while(lb->first) { - TreeElement *te= lb->first; - - outliner_free_tree(&te->subtree); - BLI_remlink(lb, te); - - if(te->flag & TE_FREE_NAME) MEM_freeN((void *)te->name); - MEM_freeN(te); - } -} - -static void outliner_height(SpaceOops *soops, ListBase *lb, int *h) -{ - TreeElement *te= lb->first; - while(te) { - TreeStoreElem *tselem= TREESTORE(te); - if((tselem->flag & TSE_CLOSED)==0) - outliner_height(soops, &te->subtree, h); - (*h) += UI_UNIT_Y; - te= te->next; - } -} - -#if 0 // XXX this is currently disabled until te->xend is set correctly -static void outliner_width(SpaceOops *soops, ListBase *lb, int *w) -{ - TreeElement *te= lb->first; - while(te) { -// TreeStoreElem *tselem= TREESTORE(te); - - // XXX fixme... te->xend is not set yet - if(tselem->flag & TSE_CLOSED) { - if (te->xend > *w) - *w = te->xend; - } - outliner_width(soops, &te->subtree, w); - te= te->next; - } -} -#endif - -static void outliner_rna_width(SpaceOops *soops, ListBase *lb, int *w, int startx) -{ - TreeElement *te= lb->first; - while(te) { - TreeStoreElem *tselem= TREESTORE(te); - // XXX fixme... (currently, we're using a fixed length of 100)! - /*if(te->xend) { - if(te->xend > *w) - *w = te->xend; - }*/ - if(startx+100 > *w) - *w = startx+100; - - if((tselem->flag & TSE_CLOSED)==0) - outliner_rna_width(soops, &te->subtree, w, startx+UI_UNIT_X); - te= te->next; - } -} - -static TreeElement *outliner_find_tree_element(ListBase *lb, int store_index) -{ - TreeElement *te= lb->first, *tes; - while(te) { - if(te->store_index==store_index) return te; - tes= outliner_find_tree_element(&te->subtree, store_index); - if(tes) return tes; - te= te->next; - } - return NULL; -} - - - -static ID *outliner_search_back(SpaceOops *soops, TreeElement *te, short idcode) -{ - TreeStoreElem *tselem; - te= te->parent; - - while(te) { - tselem= TREESTORE(te); - if(tselem->type==0 && te->idcode==idcode) return tselem->id; - te= te->parent; - } - return NULL; -} - -struct treesort { - TreeElement *te; - ID *id; - const char *name; - short idcode; -}; - -static int treesort_alpha(const void *v1, const void *v2) -{ - const struct treesort *x1= v1, *x2= v2; - int comp; - - /* first put objects last (hierarchy) */ - comp= (x1->idcode==ID_OB); - if(x2->idcode==ID_OB) comp+=2; - - if(comp==1) return 1; - else if(comp==2) return -1; - else if(comp==3) { - comp= strcmp(x1->name, x2->name); - - if( comp>0 ) return 1; - else if( comp<0) return -1; - return 0; - } - return 0; -} - -/* this is nice option for later? doesnt look too useful... */ -#if 0 -static int treesort_obtype_alpha(const void *v1, const void *v2) -{ - const struct treesort *x1= v1, *x2= v2; - - /* first put objects last (hierarchy) */ - if(x1->idcode==ID_OB && x2->idcode!=ID_OB) return 1; - else if(x2->idcode==ID_OB && x1->idcode!=ID_OB) return -1; - else { - /* 2nd we check ob type */ - if(x1->idcode==ID_OB && x2->idcode==ID_OB) { - if( ((Object *)x1->id)->type > ((Object *)x2->id)->type) return 1; - else if( ((Object *)x1->id)->type > ((Object *)x2->id)->type) return -1; - else return 0; - } - else { - int comp= strcmp(x1->name, x2->name); - - if( comp>0 ) return 1; - else if( comp<0) return -1; - return 0; - } - } -} -#endif - -/* sort happens on each subtree individual */ -static void outliner_sort(SpaceOops *soops, ListBase *lb) -{ - TreeElement *te; - TreeStoreElem *tselem; - int totelem=0; - - te= lb->last; - if(te==NULL) return; - tselem= TREESTORE(te); - - /* sorting rules; only object lists or deformgroups */ - if( (tselem->type==TSE_DEFGROUP) || (tselem->type==0 && te->idcode==ID_OB)) { - - /* count first */ - for(te= lb->first; te; te= te->next) totelem++; - - if(totelem>1) { - struct treesort *tear= MEM_mallocN(totelem*sizeof(struct treesort), "tree sort array"); - struct treesort *tp=tear; - int skip= 0; - - for(te= lb->first; te; te= te->next, tp++) { - tselem= TREESTORE(te); - tp->te= te; - tp->name= te->name; - tp->idcode= te->idcode; - if(tselem->type && tselem->type!=TSE_DEFGROUP) tp->idcode= 0; // dont sort this - tp->id= tselem->id; - } - /* keep beginning of list */ - for(tp= tear, skip=0; skipidcode) break; - - if(skipfirst=lb->last= NULL; - tp= tear; - while(totelem--) { - BLI_addtail(lb, tp->te); - tp++; - } - MEM_freeN(tear); - } - } - - for(te= lb->first; te; te= te->next) { - outliner_sort(soops, &te->subtree); - } -} - -/* Prototype, see functions below */ -static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *idv, - TreeElement *parent, short type, short index); - -#define LOG2I(x) (int)(log(x)/M_LN2) - -static void outliner_add_passes(SpaceOops *soops, TreeElement *tenla, ID *id, SceneRenderLayer *srl) -{ - TreeStoreElem *tselem = NULL; - TreeElement *te = NULL; - - /* log stuff is to convert bitflags (powers of 2) to small integers, - * in order to not overflow short tselem->nr */ - - te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_COMBINED)); - te->name= "Combined"; - te->directdata= &srl->passflag; - - /* save cpu cycles, but we add the first to invoke an open/close triangle */ - tselem = TREESTORE(tenla); - if(tselem->flag & TSE_CLOSED) - return; - - te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_Z)); - te->name= "Z"; - te->directdata= &srl->passflag; - - te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_VECTOR)); - te->name= "Vector"; - te->directdata= &srl->passflag; - - te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_NORMAL)); - te->name= "Normal"; - te->directdata= &srl->passflag; - - te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_UV)); - te->name= "UV"; - te->directdata= &srl->passflag; - - te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_MIST)); - te->name= "Mist"; - te->directdata= &srl->passflag; - - te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDEXOB)); - te->name= "Index Object"; - te->directdata= &srl->passflag; - - te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDEXMA)); - te->name= "Index Material"; - te->directdata= &srl->passflag; - - te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_RGBA)); - te->name= "Color"; - te->directdata= &srl->passflag; - - te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_DIFFUSE)); - te->name= "Diffuse"; - te->directdata= &srl->passflag; - - te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_SPEC)); - te->name= "Specular"; - te->directdata= &srl->passflag; - - te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_SHADOW)); - te->name= "Shadow"; - te->directdata= &srl->passflag; - - te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_AO)); - te->name= "AO"; - te->directdata= &srl->passflag; - - te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_REFLECT)); - te->name= "Reflection"; - te->directdata= &srl->passflag; - - te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_REFRACT)); - te->name= "Refraction"; - te->directdata= &srl->passflag; - - te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDIRECT)); - te->name= "Indirect"; - te->directdata= &srl->passflag; - - te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_ENVIRONMENT)); - te->name= "Environment"; - te->directdata= &srl->passflag; - - te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_EMIT)); - te->name= "Emit"; - te->directdata= &srl->passflag; -} - -#undef LOG2I - -/* special handling of hierarchical non-lib data */ -static void outliner_add_bone(SpaceOops *soops, ListBase *lb, ID *id, Bone *curBone, - TreeElement *parent, int *a) -{ - TreeElement *te= outliner_add_element(soops, lb, id, parent, TSE_BONE, *a); - - (*a)++; - te->name= curBone->name; - te->directdata= curBone; - - for(curBone= curBone->childbase.first; curBone; curBone=curBone->next) { - outliner_add_bone(soops, &te->subtree, id, curBone, te, a); - } -} - -static void outliner_add_scene_contents(SpaceOops *soops, ListBase *lb, Scene *sce, TreeElement *te) -{ - SceneRenderLayer *srl; - TreeElement *tenla= outliner_add_element(soops, lb, sce, te, TSE_R_LAYER_BASE, 0); - int a; - - tenla->name= "RenderLayers"; - for(a=0, srl= sce->r.layers.first; srl; srl= srl->next, a++) { - TreeElement *tenlay= outliner_add_element(soops, &tenla->subtree, sce, te, TSE_R_LAYER, a); - tenlay->name= srl->name; - tenlay->directdata= &srl->passflag; - - if(srl->light_override) - outliner_add_element(soops, &tenlay->subtree, srl->light_override, tenlay, TSE_LINKED_LAMP, 0); - if(srl->mat_override) - outliner_add_element(soops, &tenlay->subtree, srl->mat_override, tenlay, TSE_LINKED_MAT, 0); - - outliner_add_passes(soops, tenlay, &sce->id, srl); - } - - outliner_add_element(soops, lb, sce->world, te, 0, 0); -} - -static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *idv, - TreeElement *parent, short type, short index) -{ - TreeElement *te; - TreeStoreElem *tselem; - ID *id= idv; - int a = 0; - - if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) { - id= ((PointerRNA*)idv)->id.data; - if(!id) id= ((PointerRNA*)idv)->data; - } - - if(id==NULL) return NULL; - - te= MEM_callocN(sizeof(TreeElement), "tree elem"); - /* add to the visual tree */ - BLI_addtail(lb, te); - /* add to the storage */ - check_persistant(soops, te, id, type, index); - tselem= TREESTORE(te); - - te->parent= parent; - te->index= index; // for data arays - if(ELEM3(type, TSE_SEQUENCE, TSE_SEQ_STRIP, TSE_SEQUENCE_DUP)); - else if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)); - else if(type==TSE_ANIM_DATA); - else { - te->name= id->name+2; // default, can be overridden by Library or non-ID data - te->idcode= GS(id->name); - } - - if(type==0) { - - /* tuck pointer back in object, to construct hierarchy */ - if(GS(id->name)==ID_OB) id->newid= (ID *)te; - - /* expand specific data always */ - switch(GS(id->name)) { - case ID_LI: - te->name= ((Library *)id)->name; - break; - case ID_SCE: - outliner_add_scene_contents(soops, &te->subtree, (Scene *)id, te); - break; - case ID_OB: - { - Object *ob= (Object *)id; - - outliner_add_element(soops, &te->subtree, ob->adt, te, TSE_ANIM_DATA, 0); - outliner_add_element(soops, &te->subtree, ob->poselib, te, 0, 0); // XXX FIXME.. add a special type for this - - if(ob->proxy && ob->id.lib==NULL) - outliner_add_element(soops, &te->subtree, ob->proxy, te, TSE_PROXY, 0); - - outliner_add_element(soops, &te->subtree, ob->data, te, 0, 0); - - if(ob->pose) { - bArmature *arm= ob->data; - bPoseChannel *pchan; - TreeElement *ten; - TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_POSE_BASE, 0); - - tenla->name= "Pose"; - - if(arm->edbo==NULL && (ob->mode & OB_MODE_POSE)) { // channels undefined in editmode, but we want the 'tenla' pose icon itself - int a= 0, const_index= 1000; /* ensure unique id for bone constraints */ - - for(pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next, a++) { - ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_POSE_CHANNEL, a); - ten->name= pchan->name; - ten->directdata= pchan; - pchan->prev= (bPoseChannel *)ten; - - if(pchan->constraints.first) { - //Object *target; - bConstraint *con; - TreeElement *ten1; - TreeElement *tenla1= outliner_add_element(soops, &ten->subtree, ob, ten, TSE_CONSTRAINT_BASE, 0); - //char *str; - - tenla1->name= "Constraints"; - for(con= pchan->constraints.first; con; con= con->next, const_index++) { - ten1= outliner_add_element(soops, &tenla1->subtree, ob, tenla1, TSE_CONSTRAINT, const_index); -#if 0 /* disabled as it needs to be reworked for recoded constraints system */ - target= get_constraint_target(con, &str); - if(str && str[0]) ten1->name= str; - else if(target) ten1->name= target->id.name+2; - else ten1->name= con->name; -#endif - ten1->name= con->name; - ten1->directdata= con; - /* possible add all other types links? */ - } - } - } - /* make hierarchy */ - ten= tenla->subtree.first; - while(ten) { - TreeElement *nten= ten->next, *par; - tselem= TREESTORE(ten); - if(tselem->type==TSE_POSE_CHANNEL) { - pchan= (bPoseChannel *)ten->directdata; - if(pchan->parent) { - BLI_remlink(&tenla->subtree, ten); - par= (TreeElement *)pchan->parent->prev; - BLI_addtail(&par->subtree, ten); - ten->parent= par; - } - } - ten= nten; - } - /* restore prev pointers */ - pchan= ob->pose->chanbase.first; - if(pchan) pchan->prev= NULL; - for(; pchan; pchan= pchan->next) { - if(pchan->next) pchan->next->prev= pchan; - } - } - - /* Pose Groups */ - if(ob->pose->agroups.first) { - bActionGroup *agrp; - TreeElement *ten; - TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_POSEGRP_BASE, 0); - int a= 0; - - tenla->name= "Bone Groups"; - for (agrp=ob->pose->agroups.first; agrp; agrp=agrp->next, a++) { - ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_POSEGRP, a); - ten->name= agrp->name; - ten->directdata= agrp; - } - } - } - - for(a=0; atotcol; a++) - outliner_add_element(soops, &te->subtree, ob->mat[a], te, 0, a); - - if(ob->constraints.first) { - //Object *target; - bConstraint *con; - TreeElement *ten; - TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_CONSTRAINT_BASE, 0); - int a= 0; - //char *str; - - tenla->name= "Constraints"; - for(con= ob->constraints.first; con; con= con->next, a++) { - ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_CONSTRAINT, a); -#if 0 /* disabled due to constraints system targets recode... code here needs review */ - target= get_constraint_target(con, &str); - if(str && str[0]) ten->name= str; - else if(target) ten->name= target->id.name+2; - else ten->name= con->name; -#endif - ten->name= con->name; - ten->directdata= con; - /* possible add all other types links? */ - } - } - - if(ob->modifiers.first) { - ModifierData *md; - TreeElement *temod = outliner_add_element(soops, &te->subtree, ob, te, TSE_MODIFIER_BASE, 0); - int index; - - temod->name = "Modifiers"; - for (index=0,md=ob->modifiers.first; md; index++,md=md->next) { - TreeElement *te = outliner_add_element(soops, &temod->subtree, ob, temod, TSE_MODIFIER, index); - te->name= md->name; - te->directdata = md; - - if (md->type==eModifierType_Lattice) { - outliner_add_element(soops, &te->subtree, ((LatticeModifierData*) md)->object, te, TSE_LINKED_OB, 0); - } else if (md->type==eModifierType_Curve) { - outliner_add_element(soops, &te->subtree, ((CurveModifierData*) md)->object, te, TSE_LINKED_OB, 0); - } else if (md->type==eModifierType_Armature) { - outliner_add_element(soops, &te->subtree, ((ArmatureModifierData*) md)->object, te, TSE_LINKED_OB, 0); - } else if (md->type==eModifierType_Hook) { - outliner_add_element(soops, &te->subtree, ((HookModifierData*) md)->object, te, TSE_LINKED_OB, 0); - } else if (md->type==eModifierType_ParticleSystem) { - TreeElement *ten; - ParticleSystem *psys= ((ParticleSystemModifierData*) md)->psys; - - ten = outliner_add_element(soops, &te->subtree, ob, te, TSE_LINKED_PSYS, 0); - ten->directdata = psys; - ten->name = psys->part->id.name+2; - } - } - } - if(ob->defbase.first) { - bDeformGroup *defgroup; - TreeElement *ten; - TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_DEFGROUP_BASE, 0); - int a= 0; - - tenla->name= "Vertex Groups"; - for (defgroup=ob->defbase.first; defgroup; defgroup=defgroup->next, a++) { - ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_DEFGROUP, a); - ten->name= defgroup->name; - ten->directdata= defgroup; - } - } - - if(ob->dup_group) - outliner_add_element(soops, &te->subtree, ob->dup_group, te, 0, 0); - - } - break; - case ID_ME: - { - Mesh *me= (Mesh *)id; - - //outliner_add_element(soops, &te->subtree, me->adt, te, TSE_ANIM_DATA, 0); - - outliner_add_element(soops, &te->subtree, me->key, te, 0, 0); - for(a=0; atotcol; a++) - outliner_add_element(soops, &te->subtree, me->mat[a], te, 0, a); - /* could do tfaces with image links, but the images are not grouped nicely. - would require going over all tfaces, sort images in use. etc... */ - } - break; - case ID_CU: - { - Curve *cu= (Curve *)id; - - outliner_add_element(soops, &te->subtree, cu->adt, te, TSE_ANIM_DATA, 0); - - for(a=0; atotcol; a++) - outliner_add_element(soops, &te->subtree, cu->mat[a], te, 0, a); - } - break; - case ID_MB: - { - MetaBall *mb= (MetaBall *)id; - for(a=0; atotcol; a++) - outliner_add_element(soops, &te->subtree, mb->mat[a], te, 0, a); - } - break; - case ID_MA: - { - Material *ma= (Material *)id; - - outliner_add_element(soops, &te->subtree, ma->adt, te, TSE_ANIM_DATA, 0); - - for(a=0; amtex[a]) outliner_add_element(soops, &te->subtree, ma->mtex[a]->tex, te, 0, a); - } - } - break; - case ID_TE: - { - Tex *tex= (Tex *)id; - - outliner_add_element(soops, &te->subtree, tex->adt, te, TSE_ANIM_DATA, 0); - outliner_add_element(soops, &te->subtree, tex->ima, te, 0, 0); - } - break; - case ID_CA: - { - Camera *ca= (Camera *)id; - outliner_add_element(soops, &te->subtree, ca->adt, te, TSE_ANIM_DATA, 0); - } - break; - case ID_LA: - { - Lamp *la= (Lamp *)id; - - outliner_add_element(soops, &te->subtree, la->adt, te, TSE_ANIM_DATA, 0); - - for(a=0; amtex[a]) outliner_add_element(soops, &te->subtree, la->mtex[a]->tex, te, 0, a); - } - } - break; - case ID_WO: - { - World *wrld= (World *)id; - - outliner_add_element(soops, &te->subtree, wrld->adt, te, TSE_ANIM_DATA, 0); - - for(a=0; amtex[a]) outliner_add_element(soops, &te->subtree, wrld->mtex[a]->tex, te, 0, a); - } - } - break; - case ID_KE: - { - Key *key= (Key *)id; - - outliner_add_element(soops, &te->subtree, key->adt, te, TSE_ANIM_DATA, 0); - } - break; - case ID_AC: - { - // XXX do we want to be exposing the F-Curves here? - //bAction *act= (bAction *)id; - } - break; - case ID_AR: - { - bArmature *arm= (bArmature *)id; - int a= 0; - - if(arm->edbo) { - EditBone *ebone; - TreeElement *ten; - - for (ebone = arm->edbo->first; ebone; ebone=ebone->next, a++) { - ten= outliner_add_element(soops, &te->subtree, id, te, TSE_EBONE, a); - ten->directdata= ebone; - ten->name= ebone->name; - ebone->temp= ten; - } - /* make hierarchy */ - ten= te->subtree.first; - while(ten) { - TreeElement *nten= ten->next, *par; - ebone= (EditBone *)ten->directdata; - if(ebone->parent) { - BLI_remlink(&te->subtree, ten); - par= ebone->parent->temp; - BLI_addtail(&par->subtree, ten); - ten->parent= par; - } - ten= nten; - } - } - else { - /* do not extend Armature when we have posemode */ - tselem= TREESTORE(te->parent); - if( GS(tselem->id->name)==ID_OB && ((Object *)tselem->id)->mode & OB_MODE_POSE); - else { - Bone *curBone; - for (curBone=arm->bonebase.first; curBone; curBone=curBone->next){ - outliner_add_bone(soops, &te->subtree, id, curBone, te, &a); - } - } - } - } - break; - } - } - else if(type==TSE_ANIM_DATA) { - AnimData *adt= (AnimData *)idv; - - /* this element's info */ - te->name= "Animation"; - - /* Action */ - outliner_add_element(soops, &te->subtree, adt->action, te, 0, 0); - - /* Drivers */ - if (adt->drivers.first) { - TreeElement *ted= outliner_add_element(soops, &te->subtree, adt, te, TSE_DRIVER_BASE, 0); - ID *lastadded= NULL; - FCurve *fcu; - - ted->name= "Drivers"; - - for (fcu= adt->drivers.first; fcu; fcu= fcu->next) { - if (fcu->driver && fcu->driver->variables.first) { - ChannelDriver *driver= fcu->driver; - DriverVar *dvar; - - for (dvar= driver->variables.first; dvar; dvar= dvar->next) { - /* loop over all targets used here */ - DRIVER_TARGETS_USED_LOOPER(dvar) - { - if (lastadded != dtar->id) { - // XXX this lastadded check is rather lame, and also fails quite badly... - outliner_add_element(soops, &ted->subtree, dtar->id, ted, TSE_LINKED_OB, 0); - lastadded= dtar->id; - } - } - DRIVER_TARGETS_LOOPER_END - } - } - } - } - - /* NLA Data */ - if (adt->nla_tracks.first) { - TreeElement *tenla= outliner_add_element(soops, &te->subtree, adt, te, TSE_NLA, 0); - NlaTrack *nlt; - int a= 0; - - tenla->name= "NLA Tracks"; - - for (nlt= adt->nla_tracks.first; nlt; nlt= nlt->next) { - TreeElement *tenlt= outliner_add_element(soops, &tenla->subtree, nlt, tenla, TSE_NLA_TRACK, a); - NlaStrip *strip; - TreeElement *ten; - int b= 0; - - tenlt->name= nlt->name; - - for (strip=nlt->strips.first; strip; strip=strip->next, b++) { - ten= outliner_add_element(soops, &tenlt->subtree, strip->act, tenlt, TSE_NLA_ACTION, b); - if(ten) ten->directdata= strip; - } - } - } - } - else if(type==TSE_SEQUENCE) { - Sequence *seq= (Sequence*) idv; - Sequence *p; - - /* - * The idcode is a little hack, but the outliner - * only check te->idcode if te->type is equal to zero, - * so this is "safe". - */ - te->idcode= seq->type; - te->directdata= seq; - - if(seq->type<7) { - /* - * This work like the sequence. - * If the sequence have a name (not default name) - * show it, in other case put the filename. - */ - if(strcmp(seq->name, "SQ")) - te->name= seq->name; - else { - if((seq->strip) && (seq->strip->stripdata)) - te->name= seq->strip->stripdata->name; - else - te->name= "SQ None"; - } - - if(seq->type==SEQ_META) { - te->name= "Meta Strip"; - p= seq->seqbase.first; - while(p) { - outliner_add_element(soops, &te->subtree, (void*)p, te, TSE_SEQUENCE, index); - p= p->next; - } - } - else - outliner_add_element(soops, &te->subtree, (void*)seq->strip, te, TSE_SEQ_STRIP, index); - } - else - te->name= "Effect"; - } - else if(type==TSE_SEQ_STRIP) { - Strip *strip= (Strip *)idv; - - if(strip->dir) - te->name= strip->dir; - else - te->name= "Strip None"; - te->directdata= strip; - } - else if(type==TSE_SEQUENCE_DUP) { - Sequence *seq= (Sequence*)idv; - - te->idcode= seq->type; - te->directdata= seq; - te->name= seq->strip->stripdata->name; - } - else if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) { - PointerRNA pptr, propptr, *ptr= (PointerRNA*)idv; - PropertyRNA *prop, *iterprop; - PropertyType proptype; - int a, tot; - - /* we do lazy build, for speed and to avoid infinite recusion */ - - if(ptr->data == NULL) { - te->name= "(empty)"; - } - else if(type == TSE_RNA_STRUCT) { - /* struct */ - te->name= RNA_struct_name_get_alloc(ptr, NULL, 0); - - if(te->name) - te->flag |= TE_FREE_NAME; - else - te->name= (char*)RNA_struct_ui_name(ptr->type); - - iterprop= RNA_struct_iterator_property(ptr->type); - tot= RNA_property_collection_length(ptr, iterprop); - - /* auto open these cases */ - if(!parent || (RNA_property_type(parent->directdata)) == PROP_POINTER) - if(!tselem->used) - tselem->flag &= ~TSE_CLOSED; - - if(!(tselem->flag & TSE_CLOSED)) { - for(a=0; asubtree, (void*)ptr, te, TSE_RNA_PROPERTY, a); - } - else if(tot) - te->flag |= TE_LAZY_CLOSED; - - te->rnaptr= *ptr; - } - else if(type == TSE_RNA_PROPERTY) { - /* property */ - iterprop= RNA_struct_iterator_property(ptr->type); - RNA_property_collection_lookup_int(ptr, iterprop, index, &propptr); - - prop= propptr.data; - proptype= RNA_property_type(prop); - - te->name= (char*)RNA_property_ui_name(prop); - te->directdata= prop; - te->rnaptr= *ptr; - - if(proptype == PROP_POINTER) { - pptr= RNA_property_pointer_get(ptr, prop); - - if(pptr.data) { - if(!(tselem->flag & TSE_CLOSED)) - outliner_add_element(soops, &te->subtree, (void*)&pptr, te, TSE_RNA_STRUCT, -1); - else - te->flag |= TE_LAZY_CLOSED; - } - } - else if(proptype == PROP_COLLECTION) { - tot= RNA_property_collection_length(ptr, prop); - - if(!(tselem->flag & TSE_CLOSED)) { - for(a=0; asubtree, (void*)&pptr, te, TSE_RNA_STRUCT, -1); - } - } - else if(tot) - te->flag |= TE_LAZY_CLOSED; - } - else if(ELEM3(proptype, PROP_BOOLEAN, PROP_INT, PROP_FLOAT)) { - tot= RNA_property_array_length(ptr, prop); - - if(!(tselem->flag & TSE_CLOSED)) { - for(a=0; asubtree, (void*)ptr, te, TSE_RNA_ARRAY_ELEM, a); - } - else if(tot) - te->flag |= TE_LAZY_CLOSED; - } - } - else if(type == TSE_RNA_ARRAY_ELEM) { - char c; - - prop= parent->directdata; - - te->directdata= prop; - te->rnaptr= *ptr; - te->index= index; - - c= RNA_property_array_item_char(prop, index); - - te->name= MEM_callocN(sizeof(char)*20, "OutlinerRNAArrayName"); - if(c) sprintf((char *)te->name, " %c", c); - else sprintf((char *)te->name, " %d", index+1); - te->flag |= TE_FREE_NAME; - } - } - else if(type == TSE_KEYMAP) { - wmKeyMap *km= (wmKeyMap *)idv; - wmKeyMapItem *kmi; - char opname[OP_MAX_TYPENAME]; - - te->directdata= idv; - te->name= km->idname; - - if(!(tselem->flag & TSE_CLOSED)) { - a= 0; - - for (kmi= km->items.first; kmi; kmi= kmi->next, a++) { - const char *key= WM_key_event_string(kmi->type); - - if(key[0]) { - wmOperatorType *ot= NULL; - - if(kmi->propvalue); - else ot= WM_operatortype_find(kmi->idname, 0); - - if(ot || kmi->propvalue) { - TreeElement *ten= outliner_add_element(soops, &te->subtree, kmi, te, TSE_KEYMAP_ITEM, a); - - ten->directdata= kmi; - - if(kmi->propvalue) { - ten->name= "Modal map, not yet"; - } - else { - WM_operator_py_idname(opname, ot->idname); - ten->name= BLI_strdup(opname); - ten->flag |= TE_FREE_NAME; - } - } - } - } - } - else - te->flag |= TE_LAZY_CLOSED; - } - - return te; -} - -static void outliner_make_hierarchy(SpaceOops *soops, ListBase *lb) -{ - TreeElement *te, *ten, *tep; - TreeStoreElem *tselem; - - /* build hierarchy */ - // XXX also, set extents here... - te= lb->first; - while(te) { - ten= te->next; - tselem= TREESTORE(te); - - if(tselem->type==0 && te->idcode==ID_OB) { - Object *ob= (Object *)tselem->id; - if(ob->parent && ob->parent->id.newid) { - BLI_remlink(lb, te); - tep= (TreeElement *)ob->parent->id.newid; - BLI_addtail(&tep->subtree, te); - // set correct parent pointers - for(te=tep->subtree.first; te; te= te->next) te->parent= tep; - } - } - te= ten; - } -} - -/* Helped function to put duplicate sequence in the same tree. */ -static int need_add_seq_dup(Sequence *seq) -{ - Sequence *p; - - if((!seq->strip) || (!seq->strip->stripdata) || (!seq->strip->stripdata->name)) - return(1); - - /* - * First check backward, if we found a duplicate - * sequence before this, don't need it, just return. - */ - p= seq->prev; - while(p) { - if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) { - p= p->prev; - continue; - } - - if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name)) - return(2); - p= p->prev; - } - - p= seq->next; - while(p) { - if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) { - p= p->next; - continue; - } - - if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name)) - return(0); - p= p->next; - } - return(1); -} - -static void add_seq_dup(SpaceOops *soops, Sequence *seq, TreeElement *te, short index) -{ - TreeElement *ch; - Sequence *p; - - p= seq; - while(p) { - if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) { - p= p->next; - continue; - } - - if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name)) - ch= outliner_add_element(soops, &te->subtree, (void*)p, te, TSE_SEQUENCE, index); - p= p->next; - } -} - -static int outliner_filter_has_name(TreeElement *te, const char *name, int flags) -{ -#if 0 - int found= 0; - - /* determine if match */ - if (flags & SO_FIND_CASE_SENSITIVE) { - if (flags & SO_FIND_COMPLETE) - found= strcmp(te->name, name) == 0; - else - found= strstr(te->name, name) != NULL; - } - else { - if (flags & SO_FIND_COMPLETE) - found= BLI_strcasecmp(te->name, name) == 0; - else - found= BLI_strcasestr(te->name, name) != NULL; - } -#else - - int fn_flag= 0; - int found= 0; - - if ((flags & SO_FIND_CASE_SENSITIVE) == 0) - fn_flag |= FNM_CASEFOLD; - - if (flags & SO_FIND_COMPLETE) { - found= fnmatch(name, te->name, fn_flag)==0; - } - else { - char fn_name[sizeof(((struct SpaceOops *)NULL)->search_string) + 2]; - sprintf(fn_name, "*%s*", name); - found= fnmatch(fn_name, te->name, fn_flag)==0; - } - return found; -#endif -} - -static int outliner_filter_tree(SpaceOops *soops, ListBase *lb) -{ - TreeElement *te, *ten; - TreeStoreElem *tselem; - - /* although we don't have any search string, we return TRUE - * since the entire tree is ok then... - */ - if (soops->search_string[0]==0) - return 1; - - for (te= lb->first; te; te= ten) { - ten= te->next; - - if (0==outliner_filter_has_name(te, soops->search_string, soops->search_flags)) { - /* item isn't something we're looking for, but... - * - if the subtree is expanded, check if there are any matches that can be easily found - * so that searching for "cu" in the default scene will still match the Cube - * - otherwise, we can't see within the subtree and the item doesn't match, - * so these can be safely ignored (i.e. the subtree can get freed) - */ - tselem= TREESTORE(te); - - if ((tselem->flag & TSE_CLOSED) || outliner_filter_tree(soops, &te->subtree)==0) { - outliner_free_tree(&te->subtree); - BLI_remlink(lb, te); - - if(te->flag & TE_FREE_NAME) MEM_freeN((void *)te->name); - MEM_freeN(te); - } - } - else { - /* filter subtree too */ - outliner_filter_tree(soops, &te->subtree); - } - } - - /* if there are still items in the list, that means that there were still some matches */ - return (lb->first != NULL); -} - - -static void outliner_build_tree(Main *mainvar, Scene *scene, SpaceOops *soops) -{ - Base *base; - Object *ob; - TreeElement *te=NULL, *ten; - TreeStoreElem *tselem; - int show_opened= (soops->treestore==NULL); /* on first view, we open scenes */ - - if(soops->tree.first && (soops->storeflag & SO_TREESTORE_REDRAW)) - return; - - outliner_free_tree(&soops->tree); - outliner_storage_cleanup(soops); - - /* clear ob id.new flags */ - for(ob= mainvar->object.first; ob; ob= ob->id.next) ob->id.newid= NULL; - - /* options */ - if(soops->outlinevis == SO_LIBRARIES) { - Library *lib; - - for(lib= mainvar->library.first; lib; lib= lib->id.next) { - ten= outliner_add_element(soops, &soops->tree, lib, NULL, 0, 0); - lib->id.newid= (ID *)ten; - } - /* make hierarchy */ - ten= soops->tree.first; - while(ten) { - TreeElement *nten= ten->next, *par; - tselem= TREESTORE(ten); - lib= (Library *)tselem->id; - if(lib->parent) { - BLI_remlink(&soops->tree, ten); - par= (TreeElement *)lib->parent->id.newid; - BLI_addtail(&par->subtree, ten); - ten->parent= par; - } - ten= nten; - } - /* restore newid pointers */ - for(lib= mainvar->library.first; lib; lib= lib->id.next) - lib->id.newid= NULL; - - } - else if(soops->outlinevis == SO_ALL_SCENES) { - Scene *sce; - for(sce= mainvar->scene.first; sce; sce= sce->id.next) { - te= outliner_add_element(soops, &soops->tree, sce, NULL, 0, 0); - tselem= TREESTORE(te); - if(sce==scene && show_opened) - tselem->flag &= ~TSE_CLOSED; - - for(base= sce->base.first; base; base= base->next) { - ten= outliner_add_element(soops, &te->subtree, base->object, te, 0, 0); - ten->directdata= base; - } - outliner_make_hierarchy(soops, &te->subtree); - /* clear id.newid, to prevent objects be inserted in wrong scenes (parent in other scene) */ - for(base= sce->base.first; base; base= base->next) base->object->id.newid= NULL; - } - } - else if(soops->outlinevis == SO_CUR_SCENE) { - - outliner_add_scene_contents(soops, &soops->tree, scene, NULL); - - for(base= scene->base.first; base; base= base->next) { - ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0); - ten->directdata= base; - } - outliner_make_hierarchy(soops, &soops->tree); - } - else if(soops->outlinevis == SO_VISIBLE) { - for(base= scene->base.first; base; base= base->next) { - if(base->lay & scene->lay) - outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0); - } - outliner_make_hierarchy(soops, &soops->tree); - } - else if(soops->outlinevis == SO_GROUPS) { - Group *group; - GroupObject *go; - - for(group= mainvar->group.first; group; group= group->id.next) { - if(group->gobject.first) { - te= outliner_add_element(soops, &soops->tree, group, NULL, 0, 0); - - for(go= group->gobject.first; go; go= go->next) { - ten= outliner_add_element(soops, &te->subtree, go->ob, te, 0, 0); - ten->directdata= NULL; /* eh, why? */ - } - outliner_make_hierarchy(soops, &te->subtree); - /* clear id.newid, to prevent objects be inserted in wrong scenes (parent in other scene) */ - for(go= group->gobject.first; go; go= go->next) go->ob->id.newid= NULL; - } - } - } - else if(soops->outlinevis == SO_SAME_TYPE) { - Object *ob= OBACT; - if(ob) { - for(base= scene->base.first; base; base= base->next) { - if(base->object->type==ob->type) { - ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0); - ten->directdata= base; - } - } - outliner_make_hierarchy(soops, &soops->tree); - } - } - else if(soops->outlinevis == SO_SELECTED) { - for(base= scene->base.first; base; base= base->next) { - if(base->lay & scene->lay) { - if(base==BASACT || (base->flag & SELECT)) { - ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0); - ten->directdata= base; - } - } - } - outliner_make_hierarchy(soops, &soops->tree); - } - else if(soops->outlinevis==SO_SEQUENCE) { - Sequence *seq; - Editing *ed= seq_give_editing(scene, FALSE); - int op; - - if(ed==NULL) - return; - - seq= ed->seqbasep->first; - if(!seq) - return; - - while(seq) { - op= need_add_seq_dup(seq); - if(op==1) - ten= outliner_add_element(soops, &soops->tree, (void*)seq, NULL, TSE_SEQUENCE, 0); - else if(op==0) { - ten= outliner_add_element(soops, &soops->tree, (void*)seq, NULL, TSE_SEQUENCE_DUP, 0); - add_seq_dup(soops, seq, ten, 0); - } - seq= seq->next; - } - } - else if(soops->outlinevis==SO_DATABLOCKS) { - PointerRNA mainptr; - - RNA_main_pointer_create(mainvar, &mainptr); - - ten= outliner_add_element(soops, &soops->tree, (void*)&mainptr, NULL, TSE_RNA_STRUCT, -1); - - if(show_opened) { - tselem= TREESTORE(ten); - tselem->flag &= ~TSE_CLOSED; - } - } - else if(soops->outlinevis==SO_USERDEF) { - PointerRNA userdefptr; - - RNA_pointer_create(NULL, &RNA_UserPreferences, &U, &userdefptr); - - ten= outliner_add_element(soops, &soops->tree, (void*)&userdefptr, NULL, TSE_RNA_STRUCT, -1); - - if(show_opened) { - tselem= TREESTORE(ten); - tselem->flag &= ~TSE_CLOSED; - } - } - else if(soops->outlinevis==SO_KEYMAP) { - wmWindowManager *wm= mainvar->wm.first; - wmKeyMap *km; - - for(km= wm->defaultconf->keymaps.first; km; km= km->next) { - ten= outliner_add_element(soops, &soops->tree, (void*)km, NULL, TSE_KEYMAP, 0); - } - } - else { - ten= outliner_add_element(soops, &soops->tree, OBACT, NULL, 0, 0); - if(ten) ten->directdata= BASACT; - } - - outliner_sort(soops, &soops->tree); - outliner_filter_tree(soops, &soops->tree); -} - -/* **************** INTERACTIVE ************* */ - - -static int outliner_scroll_page_exec(bContext *C, wmOperator *op) -{ - ARegion *ar= CTX_wm_region(C); - int dy= ar->v2d.mask.ymax - ar->v2d.mask.ymin; - int up= 0; - - if(RNA_boolean_get(op->ptr, "up")) - up= 1; - - if(up == 0) dy= -dy; - ar->v2d.cur.ymin+= dy; - ar->v2d.cur.ymax+= dy; - - ED_region_tag_redraw(ar); - - return OPERATOR_FINISHED; -} - - -void OUTLINER_OT_scroll_page(wmOperatorType *ot) -{ - /* identifiers */ - ot->name= "Scroll Page"; - ot->idname= "OUTLINER_OT_scroll_page"; - ot->description= "Scroll page up or down"; - - /* callbacks */ - ot->exec= outliner_scroll_page_exec; - ot->poll= ED_operator_outliner_active; - - /* properties */ - RNA_def_boolean(ot->srna, "up", 0, "Up", "Scroll up one page."); -} - - -static int outliner_count_levels(SpaceOops *soops, ListBase *lb, int curlevel) -{ - TreeElement *te; - int level=curlevel, lev; - - for(te= lb->first; te; te= te->next) { - - lev= outliner_count_levels(soops, &te->subtree, curlevel+1); - if(lev>level) level= lev; - } - return level; -} - -static int outliner_has_one_flag(SpaceOops *soops, ListBase *lb, short flag, short curlevel) -{ - TreeElement *te; - TreeStoreElem *tselem; - int level; - - for(te= lb->first; te; te= te->next) { - tselem= TREESTORE(te); - if(tselem->flag & flag) return curlevel; - - level= outliner_has_one_flag(soops, &te->subtree, flag, curlevel+1); - if(level) return level; - } - return 0; -} - -static void outliner_set_flag(SpaceOops *soops, ListBase *lb, short flag, short set) -{ - TreeElement *te; - TreeStoreElem *tselem; - - for(te= lb->first; te; te= te->next) { - tselem= TREESTORE(te); - if(set==0) tselem->flag &= ~flag; - else tselem->flag |= flag; - outliner_set_flag(soops, &te->subtree, flag, set); - } -} - -/* --- */ - -/* same check needed for both object operation and restrict column button func - * return 0 when in edit mode (cannot restrict view or select) - * otherwise return 1 */ -static int common_restrict_check(bContext *C, Object *ob) -{ - /* Don't allow hide an object in edit mode, - * check the bug #22153 and #21609, #23977 - */ - Object *obedit= CTX_data_edit_object(C); - if (obedit && obedit == ob) { - /* found object is hidden, reset */ - if (ob->restrictflag & OB_RESTRICT_VIEW) - ob->restrictflag &= ~OB_RESTRICT_VIEW; - /* found object is unselectable, reset */ - if (ob->restrictflag & OB_RESTRICT_SELECT) - ob->restrictflag &= ~OB_RESTRICT_SELECT; - return 0; - } - - return 1; -} - -static void object_toggle_visibility_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem) -{ - Base *base= (Base *)te->directdata; - Object *ob = (Object *)tselem->id; - - /* add check for edit mode */ - if(!common_restrict_check(C, ob)) return; - - if(base || (base= object_in_scene(ob, scene))) { - if((base->object->restrictflag ^= OB_RESTRICT_VIEW)) { - ED_base_object_select(base, BA_DESELECT); - } - } -} - -static int outliner_toggle_visibility_exec(bContext *C, wmOperator *UNUSED(op)) -{ - SpaceOops *soops= CTX_wm_space_outliner(C); - Scene *scene= CTX_data_scene(C); - ARegion *ar= CTX_wm_region(C); - - outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_visibility_cb); - - WM_event_add_notifier(C, NC_SCENE|ND_OB_VISIBLE, scene); - ED_region_tag_redraw(ar); - - return OPERATOR_FINISHED; -} - -void OUTLINER_OT_visibility_toggle(wmOperatorType *ot) -{ - /* identifiers */ - ot->name= "Toggle Visibility"; - ot->idname= "OUTLINER_OT_visibility_toggle"; - ot->description= "Toggle the visibility of selected items"; - - /* callbacks */ - ot->exec= outliner_toggle_visibility_exec; - ot->poll= ED_operator_outliner_active_no_editobject; - - ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; -} - -/* --- */ - -static void object_toggle_selectability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem) -{ - Base *base= (Base *)te->directdata; - - if(base==NULL) base= object_in_scene((Object *)tselem->id, scene); - if(base) { - base->object->restrictflag^=OB_RESTRICT_SELECT; - } -} - -static int outliner_toggle_selectability_exec(bContext *C, wmOperator *UNUSED(op)) -{ - SpaceOops *soops= CTX_wm_space_outliner(C); - Scene *scene= CTX_data_scene(C); - ARegion *ar= CTX_wm_region(C); - - outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_selectability_cb); - - WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); - ED_region_tag_redraw(ar); - - return OPERATOR_FINISHED; -} - -void OUTLINER_OT_selectability_toggle(wmOperatorType *ot) -{ - /* identifiers */ - ot->name= "Toggle Selectability"; - ot->idname= "OUTLINER_OT_selectability_toggle"; - ot->description= "Toggle the selectability"; - - /* callbacks */ - ot->exec= outliner_toggle_selectability_exec; - ot->poll= ED_operator_outliner_active_no_editobject; - - ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; -} - -static void object_toggle_renderability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem) -{ - Base *base= (Base *)te->directdata; - - if(base==NULL) base= object_in_scene((Object *)tselem->id, scene); - if(base) { - base->object->restrictflag^=OB_RESTRICT_RENDER; - } -} - -static int outliner_toggle_renderability_exec(bContext *C, wmOperator *UNUSED(op)) -{ - SpaceOops *soops= CTX_wm_space_outliner(C); - Scene *scene= CTX_data_scene(C); - ARegion *ar= CTX_wm_region(C); - - outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_renderability_cb); - - ED_region_tag_redraw(ar); - - return OPERATOR_FINISHED; -} - -void OUTLINER_OT_renderability_toggle(wmOperatorType *ot) -{ - /* identifiers */ - ot->name= "Toggle Renderability"; - ot->idname= "OUTLINER_OT_renderability_toggle"; - ot->description= "Toggle the renderability of selected items"; - - /* callbacks */ - ot->exec= outliner_toggle_renderability_exec; - ot->poll= ED_operator_outliner_active; - - ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; -} - -/* --- */ - -static int outliner_toggle_expanded_exec(bContext *C, wmOperator *UNUSED(op)) -{ - SpaceOops *soops= CTX_wm_space_outliner(C); - ARegion *ar= CTX_wm_region(C); - - if (outliner_has_one_flag(soops, &soops->tree, TSE_CLOSED, 1)) - outliner_set_flag(soops, &soops->tree, TSE_CLOSED, 0); - else - outliner_set_flag(soops, &soops->tree, TSE_CLOSED, 1); - - ED_region_tag_redraw(ar); - - return OPERATOR_FINISHED; -} - -void OUTLINER_OT_expanded_toggle(wmOperatorType *ot) -{ - /* identifiers */ - ot->name= "Expand/Collapse All"; - ot->idname= "OUTLINER_OT_expanded_toggle"; - ot->description= "Expand/Collapse all items"; - - /* callbacks */ - ot->exec= outliner_toggle_expanded_exec; - ot->poll= ED_operator_outliner_active; - - /* no undo or registry, UI option */ -} - -/* --- */ - -static int outliner_toggle_selected_exec(bContext *C, wmOperator *UNUSED(op)) -{ - SpaceOops *soops= CTX_wm_space_outliner(C); - ARegion *ar= CTX_wm_region(C); - Scene *scene= CTX_data_scene(C); - - if (outliner_has_one_flag(soops, &soops->tree, TSE_SELECTED, 1)) - outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0); - else - outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 1); - - soops->storeflag |= SO_TREESTORE_REDRAW; - - WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); - ED_region_tag_redraw(ar); - - return OPERATOR_FINISHED; -} - -void OUTLINER_OT_selected_toggle(wmOperatorType *ot) -{ - /* identifiers */ - ot->name= "Toggle Selected"; - ot->idname= "OUTLINER_OT_selected_toggle"; - ot->description= "Toggle the Outliner selection of items"; - - /* callbacks */ - ot->exec= outliner_toggle_selected_exec; - ot->poll= ED_operator_outliner_active; - - /* no undo or registry, UI option */ -} - -/* --- */ - -/* helper function for Show/Hide one level operator */ -static void outliner_openclose_level(SpaceOops *soops, ListBase *lb, int curlevel, int level, int open) -{ - TreeElement *te; - TreeStoreElem *tselem; - - for(te= lb->first; te; te= te->next) { - tselem= TREESTORE(te); - - if(open) { - if(curlevel<=level) tselem->flag &= ~TSE_CLOSED; - } - else { - if(curlevel>=level) tselem->flag |= TSE_CLOSED; - } - - outliner_openclose_level(soops, &te->subtree, curlevel+1, level, open); - } -} - -static int outliner_one_level_exec(bContext *C, wmOperator *op) -{ - SpaceOops *soops= CTX_wm_space_outliner(C); - ARegion *ar= CTX_wm_region(C); - int add= RNA_boolean_get(op->ptr, "open"); - int level; - - level= outliner_has_one_flag(soops, &soops->tree, TSE_CLOSED, 1); - if(add==1) { - if(level) outliner_openclose_level(soops, &soops->tree, 1, level, 1); - } - else { - if(level==0) level= outliner_count_levels(soops, &soops->tree, 0); - if(level) outliner_openclose_level(soops, &soops->tree, 1, level-1, 0); - } - - ED_region_tag_redraw(ar); - - return OPERATOR_FINISHED; -} - -void OUTLINER_OT_show_one_level(wmOperatorType *ot) -{ - /* identifiers */ - ot->name= "Show/Hide One Level"; - ot->idname= "OUTLINER_OT_show_one_level"; - ot->description= "Expand/collapse all entries by one level"; - - /* callbacks */ - ot->exec= outliner_one_level_exec; - ot->poll= ED_operator_outliner_active; - - /* no undo or registry, UI option */ - - /* properties */ - RNA_def_boolean(ot->srna, "open", 1, "Open", "Expand all entries one level deep."); -} - -/* This is not used anywhere at the moment */ -#if 0 -/* return 1 when levels were opened */ -static int outliner_open_back(SpaceOops *soops, TreeElement *te) -{ - TreeStoreElem *tselem; - int retval= 0; - - for (te= te->parent; te; te= te->parent) { - tselem= TREESTORE(te); - if (tselem->flag & TSE_CLOSED) { - tselem->flag &= ~TSE_CLOSED; - retval= 1; - } - } - return retval; -} - -static void outliner_open_reveal(SpaceOops *soops, ListBase *lb, TreeElement *teFind, int *found) -{ - TreeElement *te; - TreeStoreElem *tselem; - - for (te= lb->first; te; te= te->next) { - /* check if this tree-element was the one we're seeking */ - if (te == teFind) { - *found= 1; - return; - } - - /* try to see if sub-tree contains it then */ - outliner_open_reveal(soops, &te->subtree, teFind, found); - if (*found) { - tselem= TREESTORE(te); - if (tselem->flag & TSE_CLOSED) - tselem->flag &= ~TSE_CLOSED; - return; - } - } -} -#endif - -// XXX just use View2D ops for this? -static void outliner_page_up_down(Scene *UNUSED(scene), ARegion *ar, SpaceOops *soops, int up) -{ - int dy= ar->v2d.mask.ymax-ar->v2d.mask.ymin; - - if(up == -1) dy= -dy; - ar->v2d.cur.ymin+= dy; - ar->v2d.cur.ymax+= dy; - - soops->storeflag |= SO_TREESTORE_REDRAW; -} - -/* **** do clicks on items ******* */ - -static int tree_element_active_renderlayer(bContext *C, TreeElement *te, TreeStoreElem *tselem, int set) -{ - Scene *sce; - - /* paranoia check */ - if(te->idcode!=ID_SCE) - return 0; - sce= (Scene *)tselem->id; - - if(set) { - sce->r.actlay= tselem->nr; - WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, sce); - } - else { - return sce->r.actlay==tselem->nr; - } - return 0; -} - -static void tree_element_set_active_object(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set) -{ - TreeStoreElem *tselem= TREESTORE(te); - Scene *sce; - Base *base; - Object *ob= NULL; - - /* if id is not object, we search back */ - if(te->idcode==ID_OB) ob= (Object *)tselem->id; - else { - ob= (Object *)outliner_search_back(soops, te, ID_OB); - if(ob==OBACT) return; - } - if(ob==NULL) return; - - sce= (Scene *)outliner_search_back(soops, te, ID_SCE); - if(sce && scene != sce) { - ED_screen_set_scene(C, sce); - } - - /* find associated base in current scene */ - base= object_in_scene(ob, scene); - - if(base) { - if(set==2) { - /* swap select */ - if(base->flag & SELECT) - ED_base_object_select(base, BA_DESELECT); - else - ED_base_object_select(base, BA_SELECT); - } - else { - /* deleselect all */ - scene_deselect_all(scene); - ED_base_object_select(base, BA_SELECT); - } - if(C) { - ED_base_object_activate(C, base); /* adds notifier */ - WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); - } - } - - if(ob!=scene->obedit) - ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO); -} - -static int tree_element_active_material(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set) -{ - TreeElement *tes; - Object *ob; - - /* we search for the object parent */ - ob= (Object *)outliner_search_back(soops, te, ID_OB); - // note: ob->matbits can be NULL when a local object points to a library mesh. - if(ob==NULL || ob!=OBACT || ob->matbits==NULL) return 0; // just paranoia - - /* searching in ob mat array? */ - tes= te->parent; - if(tes->idcode==ID_OB) { - if(set) { - ob->actcol= te->index+1; - ob->matbits[te->index]= 1; // make ob material active too - ob->colbits |= (1<index); - } - else { - if(ob->actcol == te->index+1) - if(ob->matbits[te->index]) return 1; - } - } - /* or we search for obdata material */ - else { - if(set) { - ob->actcol= te->index+1; - ob->matbits[te->index]= 0; // make obdata material active too - ob->colbits &= ~(1<index); - } - else { - if(ob->actcol == te->index+1) - if(ob->matbits[te->index]==0) return 1; - } - } - if(set) { - WM_event_add_notifier(C, NC_MATERIAL|ND_SHADING, NULL); - } - return 0; -} - -static int tree_element_active_texture(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set) -{ - TreeElement *tep; - TreeStoreElem /* *tselem,*/ *tselemp; - Object *ob=OBACT; - SpaceButs *sbuts=NULL; - - if(ob==NULL) return 0; // no active object - - /*tselem= TREESTORE(te);*/ /*UNUSED*/ - - /* find buttons area (note, this is undefined really still, needs recode in blender) */ - /* XXX removed finding sbuts */ - - /* where is texture linked to? */ - tep= te->parent; - tselemp= TREESTORE(tep); - - if(tep->idcode==ID_WO) { - World *wrld= (World *)tselemp->id; - - if(set) { - if(sbuts) { - // XXX sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c - // XXX sbuts->texfrom= 1; - } -// XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture - wrld->texact= te->index; - } - else if(tselemp->id == (ID *)(scene->world)) { - if(wrld->texact==te->index) return 1; - } - } - else if(tep->idcode==ID_LA) { - Lamp *la= (Lamp *)tselemp->id; - if(set) { - if(sbuts) { - // XXX sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c - // XXX sbuts->texfrom= 2; - } -// XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture - la->texact= te->index; - } - else { - if(tselemp->id == ob->data) { - if(la->texact==te->index) return 1; - } - } - } - else if(tep->idcode==ID_MA) { - Material *ma= (Material *)tselemp->id; - if(set) { - if(sbuts) { - //sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c - // XXX sbuts->texfrom= 0; - } -// XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture - ma->texact= (char)te->index; - - /* also set active material */ - ob->actcol= tep->index+1; - } - else if(tep->flag & TE_ACTIVE) { // this is active material - if(ma->texact==te->index) return 1; - } - } - - if(set) - WM_event_add_notifier(C, NC_TEXTURE, NULL); - - return 0; -} - - -static int tree_element_active_lamp(bContext *UNUSED(C), Scene *scene, SpaceOops *soops, TreeElement *te, int set) -{ - Object *ob; - - /* we search for the object parent */ - ob= (Object *)outliner_search_back(soops, te, ID_OB); - if(ob==NULL || ob!=OBACT) return 0; // just paranoia - - if(set) { -// XXX extern_set_butspace(F5KEY, 0); - } - else return 1; - - return 0; -} - -static int tree_element_active_camera(bContext *UNUSED(C), Scene *scene, SpaceOops *soops, TreeElement *te, int set) -{ - Object *ob= (Object *)outliner_search_back(soops, te, ID_OB); - - if(set) - return 0; - - return scene->camera == ob; -} - -static int tree_element_active_world(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set) -{ - TreeElement *tep; - TreeStoreElem *tselem=NULL; - Scene *sce=NULL; - - tep= te->parent; - if(tep) { - tselem= TREESTORE(tep); - sce= (Scene *)tselem->id; - } - - if(set) { // make new scene active - if(sce && scene != sce) { - ED_screen_set_scene(C, sce); - } - } - - if(tep==NULL || tselem->id == (ID *)scene) { - if(set) { -// XXX extern_set_butspace(F8KEY, 0); - } - else { - return 1; - } - } - return 0; -} - -static int tree_element_active_defgroup(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set) -{ - Object *ob; - - /* id in tselem is object */ - ob= (Object *)tselem->id; - if(set) { - ob->actdef= te->index+1; - DAG_id_tag_update(&ob->id, OB_RECALC_DATA); - WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, ob); - } - else { - if(ob==OBACT) - if(ob->actdef== te->index+1) return 1; - } - return 0; -} - -static int tree_element_active_posegroup(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set) -{ - Object *ob= (Object *)tselem->id; - - if(set) { - if (ob->pose) { - ob->pose->active_group= te->index+1; - WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob); - } - } - else { - if(ob==OBACT && ob->pose) { - if (ob->pose->active_group== te->index+1) return 1; - } - } - return 0; -} - -static int tree_element_active_posechannel(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set) -{ - Object *ob= (Object *)tselem->id; - bArmature *arm= ob->data; - bPoseChannel *pchan= te->directdata; - - if(set) { - if(!(pchan->bone->flag & BONE_HIDDEN_P)) { - - if(set==2) ED_pose_deselectall(ob, 2); // 2 = clear active tag - else ED_pose_deselectall(ob, 0); // 0 = deselect - - if(set==2 && (pchan->bone->flag & BONE_SELECTED)) { - pchan->bone->flag &= ~BONE_SELECTED; - } else { - pchan->bone->flag |= BONE_SELECTED; - arm->act_bone= pchan->bone; - } - - WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, ob); - - } - } - else { - if(ob==OBACT && ob->pose) { - if (pchan->bone->flag & BONE_SELECTED) return 1; - } - } - return 0; -} - -static int tree_element_active_bone(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set) -{ - bArmature *arm= (bArmature *)tselem->id; - Bone *bone= te->directdata; - - if(set) { - if(!(bone->flag & BONE_HIDDEN_P)) { - if(set==2) ED_pose_deselectall(OBACT, 2); // 2 is clear active tag - else ED_pose_deselectall(OBACT, 0); - - if(set==2 && (bone->flag & BONE_SELECTED)) { - bone->flag &= ~BONE_SELECTED; - } else { - bone->flag |= BONE_SELECTED; - arm->act_bone= bone; - } - - WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, OBACT); - } - } - else { - Object *ob= OBACT; - - if(ob && ob->data==arm) { - if (bone->flag & BONE_SELECTED) return 1; - } - } - return 0; -} - - -/* ebones only draw in editmode armature */ -static void tree_element_active_ebone__sel(bContext *C, Scene *scene, bArmature *arm, EditBone *ebone, short sel) -{ - if(sel) { - ebone->flag |= BONE_SELECTED|BONE_ROOTSEL|BONE_TIPSEL; - arm->act_edbone= ebone; - // flush to parent? - if(ebone->parent && (ebone->flag & BONE_CONNECTED)) ebone->parent->flag |= BONE_TIPSEL; - } - else { - ebone->flag &= ~(BONE_SELECTED|BONE_ROOTSEL|BONE_TIPSEL); - // flush to parent? - if(ebone->parent && (ebone->flag & BONE_CONNECTED)) ebone->parent->flag &= ~BONE_TIPSEL; - } - - WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, scene->obedit); -} -static int tree_element_active_ebone(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tselem), int set) -{ - bArmature *arm= scene->obedit->data; - EditBone *ebone= te->directdata; - - if(set==1) { - if(!(ebone->flag & BONE_HIDDEN_A)) { - ED_armature_deselect_all(scene->obedit, 0); // deselect - tree_element_active_ebone__sel(C, scene, arm, ebone, TRUE); - return 1; - } - } - else if (set==2) { - if(!(ebone->flag & BONE_HIDDEN_A)) { - if(!(ebone->flag & BONE_SELECTED)) { - tree_element_active_ebone__sel(C, scene, arm, ebone, TRUE); - return 1; - } - else { - /* entirely selected, so de-select */ - tree_element_active_ebone__sel(C, scene, arm, ebone, FALSE); - return 0; - } - } - } - else if (ebone->flag & BONE_SELECTED) { - return 1; - } - return 0; -} - -static int tree_element_active_modifier(bContext *C, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set) -{ - if(set) { - Object *ob= (Object *)tselem->id; - - WM_event_add_notifier(C, NC_OBJECT|ND_MODIFIER, ob); - -// XXX extern_set_butspace(F9KEY, 0); - } - - return 0; -} - -static int tree_element_active_psys(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tselem, int set) -{ - if(set) { - Object *ob= (Object *)tselem->id; - - WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_EDITED, ob); - -// XXX extern_set_butspace(F7KEY, 0); - } - - return 0; -} - -static int tree_element_active_constraint(bContext *C, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set) -{ - if(set) { - Object *ob= (Object *)tselem->id; - - WM_event_add_notifier(C, NC_OBJECT|ND_CONSTRAINT, ob); -// XXX extern_set_butspace(F7KEY, 0); - } - - return 0; -} - -static int tree_element_active_text(bContext *UNUSED(C), Scene *UNUSED(scene), SpaceOops *UNUSED(soops), TreeElement *UNUSED(te), int UNUSED(set)) -{ - // XXX removed - return 0; -} - -/* generic call for ID data check or make/check active in UI */ -static int tree_element_active(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set) -{ - - switch(te->idcode) { - case ID_MA: - return tree_element_active_material(C, scene, soops, te, set); - case ID_WO: - return tree_element_active_world(C, scene, soops, te, set); - case ID_LA: - return tree_element_active_lamp(C, scene, soops, te, set); - case ID_TE: - return tree_element_active_texture(C, scene, soops, te, set); - case ID_TXT: - return tree_element_active_text(C, scene, soops, te, set); - case ID_CA: - return tree_element_active_camera(C, scene, soops, te, set); - } - return 0; -} - -static int tree_element_active_pose(bContext *C, Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set) -{ - Object *ob= (Object *)tselem->id; - Base *base= object_in_scene(ob, scene); - - if(set) { - if(scene->obedit) - ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO); - - if(ob->mode & OB_MODE_POSE) - ED_armature_exit_posemode(C, base); - else - ED_armature_enter_posemode(C, base); - } - else { - if(ob->mode & OB_MODE_POSE) return 1; - } - return 0; -} - -static int tree_element_active_sequence(TreeElement *te, TreeStoreElem *UNUSED(tselem), int set) -{ - Sequence *seq= (Sequence*) te->directdata; - - if(set) { -// XXX select_single_seq(seq, 1); - } - else { - if(seq->flag & SELECT) - return(1); - } - return(0); -} - -static int tree_element_active_sequence_dup(Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tselem), int set) -{ - Sequence *seq, *p; - Editing *ed= seq_give_editing(scene, FALSE); - - seq= (Sequence*)te->directdata; - if(set==0) { - if(seq->flag & SELECT) - return(1); - return(0); - } - -// XXX select_single_seq(seq, 1); - p= ed->seqbasep->first; - while(p) { - if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) { - p= p->next; - continue; - } - -// if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name)) -// XXX select_single_seq(p, 0); - p= p->next; - } - return(0); -} - -static int tree_element_active_keymap_item(bContext *UNUSED(C), TreeElement *te, TreeStoreElem *UNUSED(tselem), int set) -{ - wmKeyMapItem *kmi= te->directdata; - - if(set==0) { - if(kmi->flag & KMI_INACTIVE) return 0; - return 1; - } - else { - kmi->flag ^= KMI_INACTIVE; - } - return 0; -} - - -/* generic call for non-id data to make/check active in UI */ -/* Context can be NULL when set==0 */ -static int tree_element_type_active(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, int set) -{ - switch(tselem->type) { - case TSE_DEFGROUP: - return tree_element_active_defgroup(C, scene, te, tselem, set); - case TSE_BONE: - return tree_element_active_bone(C, scene, te, tselem, set); - case TSE_EBONE: - return tree_element_active_ebone(C, scene, te, tselem, set); - case TSE_MODIFIER: - return tree_element_active_modifier(C, te, tselem, set); - case TSE_LINKED_OB: - if(set) tree_element_set_active_object(C, scene, soops, te, set); - else if(tselem->id==(ID *)OBACT) return 1; - break; - case TSE_LINKED_PSYS: - return tree_element_active_psys(C, scene, te, tselem, set); - case TSE_POSE_BASE: - return tree_element_active_pose(C, scene, te, tselem, set); - case TSE_POSE_CHANNEL: - return tree_element_active_posechannel(C, scene, te, tselem, set); - case TSE_CONSTRAINT: - return tree_element_active_constraint(C, te, tselem, set); - case TSE_R_LAYER: - return tree_element_active_renderlayer(C, te, tselem, set); - case TSE_POSEGRP: - return tree_element_active_posegroup(C, scene, te, tselem, set); - case TSE_SEQUENCE: - return tree_element_active_sequence(te, tselem, set); - case TSE_SEQUENCE_DUP: - return tree_element_active_sequence_dup(scene, te, tselem, set); - case TSE_KEYMAP_ITEM: - return tree_element_active_keymap_item(C, te, tselem, set); - - } - return 0; -} - -static int do_outliner_item_activate(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int extend, const float mval[2]) -{ - - if(mval[1]>te->ys && mval[1]ys+UI_UNIT_Y) { - TreeStoreElem *tselem= TREESTORE(te); - int openclose= 0; - - /* open close icon */ - if((te->flag & TE_ICONROW)==0) { // hidden icon, no open/close - if( mval[0]>te->xs && mval[0]xs+UI_UNIT_X) - openclose= 1; - } - - if(openclose) { - /* all below close/open? */ - if(extend) { - tselem->flag &= ~TSE_CLOSED; - outliner_set_flag(soops, &te->subtree, TSE_CLOSED, !outliner_has_one_flag(soops, &te->subtree, TSE_CLOSED, 1)); - } - else { - if(tselem->flag & TSE_CLOSED) tselem->flag &= ~TSE_CLOSED; - else tselem->flag |= TSE_CLOSED; - - } - - return 1; - } - /* name and first icon */ - else if(mval[0]>te->xs+UI_UNIT_X && mval[0]xend) { - - /* always makes active object */ - if(tselem->type!=TSE_SEQUENCE && tselem->type!=TSE_SEQ_STRIP && tselem->type!=TSE_SEQUENCE_DUP) - tree_element_set_active_object(C, scene, soops, te, 1 + (extend!=0 && tselem->type==0)); - - if(tselem->type==0) { // the lib blocks - /* editmode? */ - if(te->idcode==ID_SCE) { - if(scene!=(Scene *)tselem->id) { - ED_screen_set_scene(C, (Scene *)tselem->id); - } - } - else if(te->idcode==ID_GR) { - Group *gr= (Group *)tselem->id; - GroupObject *gob; - - if(extend) { - int sel= BA_SELECT; - for(gob= gr->gobject.first; gob; gob= gob->next) { - if(gob->ob->flag & SELECT) { - sel= BA_DESELECT; - break; - } - } - - for(gob= gr->gobject.first; gob; gob= gob->next) { - ED_base_object_select(object_in_scene(gob->ob, scene), sel); - } - } - else { - scene_deselect_all(scene); - - for(gob= gr->gobject.first; gob; gob= gob->next) { - if((gob->ob->flag & SELECT) == 0) - ED_base_object_select(object_in_scene(gob->ob, scene), BA_SELECT); - } - } - - WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); - } - else if(ELEM5(te->idcode, ID_ME, ID_CU, ID_MB, ID_LT, ID_AR)) { - WM_operator_name_call(C, "OBJECT_OT_editmode_toggle", WM_OP_INVOKE_REGION_WIN, NULL); - } else { // rest of types - tree_element_active(C, scene, soops, te, 1); - } - - } - else tree_element_type_active(C, scene, soops, te, tselem, 1+(extend!=0)); - - return 1; - } - } - - for(te= te->subtree.first; te; te= te->next) { - if(do_outliner_item_activate(C, scene, ar, soops, te, extend, mval)) return 1; - } - return 0; -} - -/* event can enterkey, then it opens/closes */ -static int outliner_item_activate(bContext *C, wmOperator *op, wmEvent *event) -{ - Scene *scene= CTX_data_scene(C); - ARegion *ar= CTX_wm_region(C); - SpaceOops *soops= CTX_wm_space_outliner(C); - TreeElement *te; - float fmval[2]; - int extend= RNA_boolean_get(op->ptr, "extend"); - - UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1); - - if(!ELEM3(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF, SO_KEYMAP) && !(soops->flag & SO_HIDE_RESTRICTCOLS) && fmval[0] > ar->v2d.cur.xmax - OL_TOG_RESTRICT_VIEWX) - return OPERATOR_CANCELLED; - - for(te= soops->tree.first; te; te= te->next) { - if(do_outliner_item_activate(C, scene, ar, soops, te, extend, fmval)) break; - } - - if(te) { - ED_undo_push(C, "Outliner click event"); - } - else { - short selecting= -1; - int row; - - /* get row number - 100 here is just a dummy value since we don't need the column */ - UI_view2d_listview_view_to_cell(&ar->v2d, 1000, UI_UNIT_Y, 0.0f, OL_Y_OFFSET, - fmval[0], fmval[1], NULL, &row); - - /* select relevant row */ - outliner_select(soops, &soops->tree, &row, &selecting); - - soops->storeflag |= SO_TREESTORE_REDRAW; - - ED_undo_push(C, "Outliner selection event"); - } - - ED_region_tag_redraw(ar); - - return OPERATOR_FINISHED; -} - -void OUTLINER_OT_item_activate(wmOperatorType *ot) -{ - ot->name= "Activate Item"; - ot->idname= "OUTLINER_OT_item_activate"; - ot->description= "Handle mouse clicks to activate/select items"; - - ot->invoke= outliner_item_activate; - - ot->poll= ED_operator_outliner_active; - - RNA_def_boolean(ot->srna, "extend", 1, "Extend", "Extend selection for activation."); -} - -/* *********** */ - -static int do_outliner_item_openclose(bContext *C, SpaceOops *soops, TreeElement *te, int all, const float mval[2]) -{ - - if(mval[1]>te->ys && mval[1]ys+UI_UNIT_Y) { - TreeStoreElem *tselem= TREESTORE(te); - - /* all below close/open? */ - if(all) { - tselem->flag &= ~TSE_CLOSED; - outliner_set_flag(soops, &te->subtree, TSE_CLOSED, !outliner_has_one_flag(soops, &te->subtree, TSE_CLOSED, 1)); - } - else { - if(tselem->flag & TSE_CLOSED) tselem->flag &= ~TSE_CLOSED; - else tselem->flag |= TSE_CLOSED; - } - - return 1; - } - - for(te= te->subtree.first; te; te= te->next) { - if(do_outliner_item_openclose(C, soops, te, all, mval)) - return 1; - } - return 0; - -} - -/* event can enterkey, then it opens/closes */ -static int outliner_item_openclose(bContext *C, wmOperator *op, wmEvent *event) -{ - ARegion *ar= CTX_wm_region(C); - SpaceOops *soops= CTX_wm_space_outliner(C); - TreeElement *te; - float fmval[2]; - int all= RNA_boolean_get(op->ptr, "all"); - - UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1); - - for(te= soops->tree.first; te; te= te->next) { - if(do_outliner_item_openclose(C, soops, te, all, fmval)) - break; - } - - ED_region_tag_redraw(ar); - - return OPERATOR_FINISHED; -} - -void OUTLINER_OT_item_openclose(wmOperatorType *ot) -{ - ot->name= "Open/Close Item"; - ot->idname= "OUTLINER_OT_item_openclose"; - ot->description= "Toggle whether item under cursor is enabled or closed"; - - ot->invoke= outliner_item_openclose; - - ot->poll= ED_operator_outliner_active; - - RNA_def_boolean(ot->srna, "all", 1, "All", "Close or open all items."); - -} - - -/* ********************************************** */ - -static int do_outliner_item_rename(bContext *C, ARegion *ar, SpaceOops *soops, TreeElement *te, const float mval[2]) -{ - - if(mval[1]>te->ys && mval[1]ys+UI_UNIT_Y) { - TreeStoreElem *tselem= TREESTORE(te); - - /* name and first icon */ - if(mval[0]>te->xs+UI_UNIT_X && mval[0]xend) { - - /* can't rename rna datablocks entries */ - if(ELEM3(tselem->type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) - ; - else if(ELEM10(tselem->type, TSE_ANIM_DATA, TSE_NLA, TSE_DEFGROUP_BASE, TSE_CONSTRAINT_BASE, TSE_MODIFIER_BASE, TSE_SCRIPT_BASE, TSE_POSE_BASE, TSE_POSEGRP_BASE, TSE_R_LAYER_BASE, TSE_R_PASS)) - error("Cannot edit builtin name"); - else if(ELEM3(tselem->type, TSE_SEQUENCE, TSE_SEQ_STRIP, TSE_SEQUENCE_DUP)) - error("Cannot edit sequence name"); - else if(tselem->id->lib) { - // XXX error_libdata(); - } - else if(te->idcode == ID_LI && te->parent) { - error("Cannot edit the path of an indirectly linked library"); - } - else { - tselem->flag |= TSE_TEXTBUT; - ED_region_tag_redraw(ar); - } - } - return 1; - } - - for(te= te->subtree.first; te; te= te->next) { - if(do_outliner_item_rename(C, ar, soops, te, mval)) return 1; - } - return 0; -} - -static int outliner_item_rename(bContext *C, wmOperator *UNUSED(op), wmEvent *event) -{ - ARegion *ar= CTX_wm_region(C); - SpaceOops *soops= CTX_wm_space_outliner(C); - TreeElement *te; - float fmval[2]; - - UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1); - - for(te= soops->tree.first; te; te= te->next) { - if(do_outliner_item_rename(C, ar, soops, te, fmval)) break; - } - - return OPERATOR_FINISHED; -} - - -void OUTLINER_OT_item_rename(wmOperatorType *ot) -{ - ot->name= "Rename Item"; - ot->idname= "OUTLINER_OT_item_rename"; - ot->description= "Rename item under cursor"; - - ot->invoke= outliner_item_rename; - - ot->poll= ED_operator_outliner_active; -} - -static TreeElement *outliner_find_id(SpaceOops *soops, ListBase *lb, ID *id) -{ - TreeElement *te, *tes; - TreeStoreElem *tselem; - - for(te= lb->first; te; te= te->next) { - tselem= TREESTORE(te); - if(tselem->type==0) { - if(tselem->id==id) return te; - /* only deeper on scene or object */ - if( te->idcode==ID_OB || te->idcode==ID_SCE || (soops->outlinevis == SO_GROUPS && te->idcode==ID_GR)) { - tes= outliner_find_id(soops, &te->subtree, id); - if(tes) return tes; - } - } - } - return NULL; -} - -static int outliner_show_active_exec(bContext *C, wmOperator *UNUSED(op)) -{ - SpaceOops *so= CTX_wm_space_outliner(C); - Scene *scene= CTX_data_scene(C); - ARegion *ar= CTX_wm_region(C); - View2D *v2d= &ar->v2d; - - TreeElement *te; - int xdelta, ytop; - - // TODO: make this get this info from context instead... - if (OBACT == NULL) - return OPERATOR_CANCELLED; - - te= outliner_find_id(so, &so->tree, (ID *)OBACT); - if (te) { - /* make te->ys center of view */ - ytop= (int)(te->ys + (v2d->mask.ymax - v2d->mask.ymin)/2); - if (ytop>0) ytop= 0; - - v2d->cur.ymax= (float)ytop; - v2d->cur.ymin= (float)(ytop-(v2d->mask.ymax - v2d->mask.ymin)); - - /* make te->xs ==> te->xend center of view */ - xdelta = (int)(te->xs - v2d->cur.xmin); - v2d->cur.xmin += xdelta; - v2d->cur.xmax += xdelta; - - so->storeflag |= SO_TREESTORE_REDRAW; - } - - ED_region_tag_redraw(ar); - - return OPERATOR_FINISHED; -} - -void OUTLINER_OT_show_active(wmOperatorType *ot) -{ - /* identifiers */ - ot->name= "Show Active"; - ot->idname= "OUTLINER_OT_show_active"; - ot->description= "Adjust the view so that the active Object is shown centered"; - - /* callbacks */ - ot->exec= outliner_show_active_exec; - ot->poll= ED_operator_outliner_active; -} - -/* tse is not in the treestore, we use its contents to find a match */ -static TreeElement *outliner_find_tse(SpaceOops *soops, TreeStoreElem *tse) -{ - TreeStore *ts= soops->treestore; - TreeStoreElem *tselem; - int a; - - if(tse->id==NULL) return NULL; - - /* check if 'tse' is in treestore */ - tselem= ts->data; - for(a=0; ausedelem; a++, tselem++) { - if((tse->type==0 && tselem->type==0) || (tselem->type==tse->type && tselem->nr==tse->nr)) { - if(tselem->id==tse->id) { - break; - } - } - } - if(tselem) - return outliner_find_tree_element(&soops->tree, a); - - return NULL; -} - - -/* Called to find an item based on name. - */ -#if 0 - -/* recursive helper for function below */ -static void outliner_set_coordinates_element(SpaceOops *soops, TreeElement *te, int startx, int *starty) -{ - TreeStoreElem *tselem= TREESTORE(te); - - /* store coord and continue, we need coordinates for elements outside view too */ - te->xs= (float)startx; - te->ys= (float)(*starty); - *starty-= UI_UNIT_Y; - - if((tselem->flag & TSE_CLOSED)==0) { - TreeElement *ten; - for(ten= te->subtree.first; ten; ten= ten->next) { - outliner_set_coordinates_element(soops, ten, startx+UI_UNIT_X, starty); - } - } - -} - -/* to retrieve coordinates with redrawing the entire tree */ -static void outliner_set_coordinates(ARegion *ar, SpaceOops *soops) -{ - TreeElement *te; - int starty= (int)(ar->v2d.tot.ymax)-UI_UNIT_Y; - int startx= 0; - - for(te= soops->tree.first; te; te= te->next) { - outliner_set_coordinates_element(soops, te, startx, &starty); - } -} - -/* find next element that has this name */ -static TreeElement *outliner_find_named(SpaceOops *soops, ListBase *lb, char *name, int flags, TreeElement *prev, int *prevFound) -{ - TreeElement *te, *tes; - - for (te= lb->first; te; te= te->next) { - int found = outliner_filter_has_name(te, name, flags); - - if(found) { - /* name is right, but is element the previous one? */ - if (prev) { - if ((te != prev) && (*prevFound)) - return te; - if (te == prev) { - *prevFound = 1; - } - } - else - return te; - } - - tes= outliner_find_named(soops, &te->subtree, name, flags, prev, prevFound); - if(tes) return tes; - } - - /* nothing valid found */ - return NULL; -} - -static void outliner_find_panel(Scene *UNUSED(scene), ARegion *ar, SpaceOops *soops, int again, int flags) -{ - TreeElement *te= NULL; - TreeElement *last_find; - TreeStoreElem *tselem; - int ytop, xdelta, prevFound=0; - char name[32]; - - /* get last found tree-element based on stored search_tse */ - last_find= outliner_find_tse(soops, &soops->search_tse); - - /* determine which type of search to do */ - if (again && last_find) { - /* no popup panel - previous + user wanted to search for next after previous */ - BLI_strncpy(name, soops->search_string, sizeof(name)); - flags= soops->search_flags; - - /* try to find matching element */ - te= outliner_find_named(soops, &soops->tree, name, flags, last_find, &prevFound); - if (te==NULL) { - /* no more matches after previous, start from beginning again */ - prevFound= 1; - te= outliner_find_named(soops, &soops->tree, name, flags, last_find, &prevFound); - } - } - else { - /* pop up panel - no previous, or user didn't want search after previous */ - strcpy(name, ""); -// XXX if (sbutton(name, 0, sizeof(name)-1, "Find: ") && name[0]) { -// te= outliner_find_named(soops, &soops->tree, name, flags, NULL, &prevFound); -// } -// else return; /* XXX RETURN! XXX */ - } - - /* do selection and reveal */ - if (te) { - tselem= TREESTORE(te); - if (tselem) { - /* expand branches so that it will be visible, we need to get correct coordinates */ - if( outliner_open_back(soops, te)) - outliner_set_coordinates(ar, soops); - - /* deselect all visible, and select found element */ - outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0); - tselem->flag |= TSE_SELECTED; - - /* make te->ys center of view */ - ytop= (int)(te->ys + (ar->v2d.mask.ymax-ar->v2d.mask.ymin)/2); - if(ytop>0) ytop= 0; - ar->v2d.cur.ymax= (float)ytop; - ar->v2d.cur.ymin= (float)(ytop-(ar->v2d.mask.ymax-ar->v2d.mask.ymin)); - - /* make te->xs ==> te->xend center of view */ - xdelta = (int)(te->xs - ar->v2d.cur.xmin); - ar->v2d.cur.xmin += xdelta; - ar->v2d.cur.xmax += xdelta; - - /* store selection */ - soops->search_tse= *tselem; - - BLI_strncpy(soops->search_string, name, 33); - soops->search_flags= flags; - - /* redraw */ - soops->storeflag |= SO_TREESTORE_REDRAW; - } - } - else { - /* no tree-element found */ - error("Not found: %s", name); - } -} -#endif - -/* helper function for tree_element_shwo_hierarchy() - recursively checks whether subtrees have any objects*/ -static int subtree_has_objects(SpaceOops *soops, ListBase *lb) -{ - TreeElement *te; - TreeStoreElem *tselem; - - for(te= lb->first; te; te= te->next) { - tselem= TREESTORE(te); - if(tselem->type==0 && te->idcode==ID_OB) return 1; - if( subtree_has_objects(soops, &te->subtree)) return 1; - } - return 0; -} - -/* recursive helper function for Show Hierarchy operator */ -static void tree_element_show_hierarchy(Scene *scene, SpaceOops *soops, ListBase *lb) -{ - TreeElement *te; - TreeStoreElem *tselem; - - /* open all object elems, close others */ - for(te= lb->first; te; te= te->next) { - tselem= TREESTORE(te); - - if(tselem->type==0) { - if(te->idcode==ID_SCE) { - if(tselem->id!=(ID *)scene) tselem->flag |= TSE_CLOSED; - else tselem->flag &= ~TSE_CLOSED; - } - else if(te->idcode==ID_OB) { - if(subtree_has_objects(soops, &te->subtree)) tselem->flag &= ~TSE_CLOSED; - else tselem->flag |= TSE_CLOSED; - } - } - else tselem->flag |= TSE_CLOSED; - - if(tselem->flag & TSE_CLOSED); else tree_element_show_hierarchy(scene, soops, &te->subtree); - } -} - -/* show entire object level hierarchy */ -static int outliner_show_hierarchy_exec(bContext *C, wmOperator *UNUSED(op)) -{ - SpaceOops *soops= CTX_wm_space_outliner(C); - ARegion *ar= CTX_wm_region(C); - Scene *scene= CTX_data_scene(C); - - /* recursively open/close levels */ - tree_element_show_hierarchy(scene, soops, &soops->tree); - - ED_region_tag_redraw(ar); - - return OPERATOR_FINISHED; -} - -void OUTLINER_OT_show_hierarchy(wmOperatorType *ot) -{ - /* identifiers */ - ot->name= "Show Hierarchy"; - ot->idname= "OUTLINER_OT_show_hierarchy"; - ot->description= "Open all object entries and close all others"; - - /* callbacks */ - ot->exec= outliner_show_hierarchy_exec; - ot->poll= ED_operator_outliner_active; // TODO: shouldn't be allowed in RNA views... - - /* no undo or registry, UI option */ -} - -void outliner_select(SpaceOops *soops, ListBase *lb, int *index, short *selecting) -{ - TreeElement *te; - TreeStoreElem *tselem; - - for (te= lb->first; te && *index >= 0; te=te->next, (*index)--) { - tselem= TREESTORE(te); - - /* if we've encountered the right item, set its 'Outliner' selection status */ - if (*index == 0) { - /* this should be the last one, so no need to do anything with index */ - if ((te->flag & TE_ICONROW)==0) { - /* -1 value means toggle testing for now... */ - if (*selecting == -1) { - if (tselem->flag & TSE_SELECTED) - *selecting= 0; - else - *selecting= 1; - } - - /* set selection */ - if (*selecting) - tselem->flag |= TSE_SELECTED; - else - tselem->flag &= ~TSE_SELECTED; - } - } - else if ((tselem->flag & TSE_CLOSED)==0) { - /* Only try selecting sub-elements if we haven't hit the right element yet - * - * Hack warning: - * Index must be reduced before supplying it to the sub-tree to try to do - * selection, however, we need to increment it again for the next loop to - * function correctly - */ - (*index)--; - outliner_select(soops, &te->subtree, index, selecting); - (*index)++; - } - } -} - -/* ************ SELECTION OPERATIONS ********* */ - -static void set_operation_types(SpaceOops *soops, ListBase *lb, - int *scenelevel, - int *objectlevel, - int *idlevel, - int *datalevel) -{ - TreeElement *te; - TreeStoreElem *tselem; - - for(te= lb->first; te; te= te->next) { - tselem= TREESTORE(te); - if(tselem->flag & TSE_SELECTED) { - if(tselem->type) { - if(*datalevel==0) - *datalevel= tselem->type; - else if(*datalevel!=tselem->type) - *datalevel= -1; - } - else { - int idcode= GS(tselem->id->name); - switch(idcode) { - case ID_SCE: - *scenelevel= 1; - break; - case ID_OB: - *objectlevel= 1; - break; - - case ID_ME: case ID_CU: case ID_MB: case ID_LT: - case ID_LA: case ID_AR: case ID_CA: - case ID_MA: case ID_TE: case ID_IP: case ID_IM: - case ID_SO: case ID_KE: case ID_WO: case ID_AC: - case ID_NLA: case ID_TXT: case ID_GR: - if(*idlevel==0) *idlevel= idcode; - else if(*idlevel!=idcode) *idlevel= -1; - break; - } - } - } - if((tselem->flag & TSE_CLOSED)==0) { - set_operation_types(soops, &te->subtree, - scenelevel, objectlevel, idlevel, datalevel); - } - } -} - -static void unlink_material_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem)) -{ - Material **matar=NULL; - int a, totcol=0; - - if( GS(tsep->id->name)==ID_OB) { - Object *ob= (Object *)tsep->id; - totcol= ob->totcol; - matar= ob->mat; - } - else if( GS(tsep->id->name)==ID_ME) { - Mesh *me= (Mesh *)tsep->id; - totcol= me->totcol; - matar= me->mat; - } - else if( GS(tsep->id->name)==ID_CU) { - Curve *cu= (Curve *)tsep->id; - totcol= cu->totcol; - matar= cu->mat; - } - else if( GS(tsep->id->name)==ID_MB) { - MetaBall *mb= (MetaBall *)tsep->id; - totcol= mb->totcol; - matar= mb->mat; - } - - for(a=0; aindex && matar[a]) { - matar[a]->id.us--; - matar[a]= NULL; - } - } -} - -static void unlink_texture_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem)) -{ - MTex **mtex= NULL; - int a; - - if( GS(tsep->id->name)==ID_MA) { - Material *ma= (Material *)tsep->id; - mtex= ma->mtex; - } - else if( GS(tsep->id->name)==ID_LA) { - Lamp *la= (Lamp *)tsep->id; - mtex= la->mtex; - } - else if( GS(tsep->id->name)==ID_WO) { - World *wrld= (World *)tsep->id; - mtex= wrld->mtex; - } - else return; - - for(a=0; aindex && mtex[a]) { - if(mtex[a]->tex) { - mtex[a]->tex->id.us--; - mtex[a]->tex= NULL; - } - } - } -} - -static void unlink_group_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *tselem) -{ - Group *group= (Group *)tselem->id; - - if(tsep) { - if( GS(tsep->id->name)==ID_OB) { - Object *ob= (Object *)tsep->id; - ob->dup_group= NULL; - } - } - else { - unlink_group(group); - } -} - -static void outliner_do_libdata_operation(bContext *C, Scene *scene, SpaceOops *soops, ListBase *lb, - void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *)) -{ - TreeElement *te; - TreeStoreElem *tselem; - - for(te=lb->first; te; te= te->next) { - tselem= TREESTORE(te); - if(tselem->flag & TSE_SELECTED) { - if(tselem->type==0) { - TreeStoreElem *tsep= TREESTORE(te->parent); - operation_cb(C, scene, te, tsep, tselem); - } - } - if((tselem->flag & TSE_CLOSED)==0) { - outliner_do_libdata_operation(C, scene, soops, &te->subtree, operation_cb); - } - } -} - -/* */ - -static void object_select_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem) -{ - Base *base= (Base *)te->directdata; - - if(base==NULL) base= object_in_scene((Object *)tselem->id, scene); - if(base && ((base->object->restrictflag & OB_RESTRICT_VIEW)==0)) { - base->flag |= SELECT; - base->object->flag |= SELECT; - } -} - -static void object_deselect_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem) -{ - Base *base= (Base *)te->directdata; - - if(base==NULL) base= object_in_scene((Object *)tselem->id, scene); - if(base) { - base->flag &= ~SELECT; - base->object->flag &= ~SELECT; - } -} - -static void object_delete_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem) -{ - Base *base= (Base *)te->directdata; - - if(base==NULL) - base= object_in_scene((Object *)tselem->id, scene); - if(base) { - // check also library later - if(scene->obedit==base->object) - ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO); - - ED_base_object_free_and_unlink(CTX_data_main(C), scene, base); - te->directdata= NULL; - tselem->id= NULL; - } - -} - -static void id_local_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem) -{ - if(tselem->id->lib && (tselem->id->flag & LIB_EXTERN)) { - tselem->id->lib= NULL; - tselem->id->flag= LIB_LOCAL; - new_id(NULL, tselem->id, NULL); - } -} - -static void group_linkobs2scene_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem) -{ - Group *group= (Group *)tselem->id; - GroupObject *gob; - Base *base; - - for(gob=group->gobject.first; gob; gob=gob->next) { - base= object_in_scene(gob->ob, scene); - if (base) { - base->object->flag |= SELECT; - base->flag |= SELECT; - } else { - /* link to scene */ - base= MEM_callocN( sizeof(Base), "add_base"); - BLI_addhead(&scene->base, base); - base->lay= (1<<20)-1; /*v3d->lay;*/ /* would be nice to use the 3d layer but the include's not here */ - gob->ob->flag |= SELECT; - base->flag = gob->ob->flag; - base->object= gob->ob; - id_lib_extern((ID *)gob->ob); /* incase these are from a linked group */ - } - } -} - -static void outliner_do_object_operation(bContext *C, Scene *scene_act, SpaceOops *soops, ListBase *lb, - void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *)) -{ - TreeElement *te; - TreeStoreElem *tselem; - - for(te=lb->first; te; te= te->next) { - tselem= TREESTORE(te); - if(tselem->flag & TSE_SELECTED) { - if(tselem->type==0 && te->idcode==ID_OB) { - // when objects selected in other scenes... dunno if that should be allowed - Scene *scene_owner= (Scene *)outliner_search_back(soops, te, ID_SCE); - if(scene_owner && scene_act != scene_owner) { - ED_screen_set_scene(C, scene_owner); - } - /* important to use 'scene_owner' not scene_act else deleting objects can crash. - * only use 'scene_act' when 'scene_owner' is NULL, which can happen when the - * outliner isnt showing scenes: Visible Layer draw mode for eg. */ - operation_cb(C, scene_owner ? scene_owner : scene_act, te, NULL, tselem); - } - } - if((tselem->flag & TSE_CLOSED)==0) { - outliner_do_object_operation(C, scene_act, soops, &te->subtree, operation_cb); - } - } -} - -/* ******************************************** */ - -static void pchan_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem)) -{ - bPoseChannel *pchan= (bPoseChannel *)te->directdata; - - if(event==1) - pchan->bone->flag |= BONE_SELECTED; - else if(event==2) - pchan->bone->flag &= ~BONE_SELECTED; - else if(event==3) { - pchan->bone->flag |= BONE_HIDDEN_P; - pchan->bone->flag &= ~BONE_SELECTED; - } - else if(event==4) - pchan->bone->flag &= ~BONE_HIDDEN_P; -} - -static void bone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem)) -{ - Bone *bone= (Bone *)te->directdata; - - if(event==1) - bone->flag |= BONE_SELECTED; - else if(event==2) - bone->flag &= ~BONE_SELECTED; - else if(event==3) { - bone->flag |= BONE_HIDDEN_P; - bone->flag &= ~BONE_SELECTED; - } - else if(event==4) - bone->flag &= ~BONE_HIDDEN_P; -} - -static void ebone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem)) -{ - EditBone *ebone= (EditBone *)te->directdata; - - if(event==1) - ebone->flag |= BONE_SELECTED; - else if(event==2) - ebone->flag &= ~BONE_SELECTED; - else if(event==3) { - ebone->flag |= BONE_HIDDEN_A; - ebone->flag &= ~BONE_SELECTED|BONE_TIPSEL|BONE_ROOTSEL; - } - else if(event==4) - ebone->flag &= ~BONE_HIDDEN_A; -} - -static void sequence_cb(int event, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tselem)) -{ -// Sequence *seq= (Sequence*) te->directdata; - if(event==1) { -// XXX select_single_seq(seq, 1); - } -} - -static void outliner_do_data_operation(SpaceOops *soops, int type, int event, ListBase *lb, - void (*operation_cb)(int, TreeElement *, TreeStoreElem *)) -{ - TreeElement *te; - TreeStoreElem *tselem; - - for(te=lb->first; te; te= te->next) { - tselem= TREESTORE(te); - if(tselem->flag & TSE_SELECTED) { - if(tselem->type==type) { - operation_cb(event, te, tselem); - } - } - if((tselem->flag & TSE_CLOSED)==0) { - outliner_do_data_operation(soops, type, event, &te->subtree, operation_cb); - } - } -} - -static void outliner_del(bContext *C, Scene *scene, ARegion *UNUSED(ar), SpaceOops *soops) -{ - - if(soops->outlinevis==SO_SEQUENCE) - ;// del_seq(); - else { - outliner_do_object_operation(C, scene, soops, &soops->tree, object_delete_cb); - DAG_scene_sort(CTX_data_main(C), scene); - ED_undo_push(C, "Delete Objects"); - WM_event_add_notifier(C, NC_SCENE|ND_OB_ACTIVE, scene); - } -} - -/* **************************************** */ - -static EnumPropertyItem prop_object_op_types[] = { - {1, "SELECT", 0, "Select", ""}, - {2, "DESELECT", 0, "Deselect", ""}, - {4, "DELETE", 0, "Delete", ""}, - {6, "TOGVIS", 0, "Toggle Visible", ""}, - {7, "TOGSEL", 0, "Toggle Selectable", ""}, - {8, "TOGREN", 0, "Toggle Renderable", ""}, - {0, NULL, 0, NULL, NULL} -}; - -static int outliner_object_operation_exec(bContext *C, wmOperator *op) -{ - Main *bmain= CTX_data_main(C); - Scene *scene= CTX_data_scene(C); - SpaceOops *soops= CTX_wm_space_outliner(C); - int event; - const char *str= NULL; - - /* check for invalid states */ - if (soops == NULL) - return OPERATOR_CANCELLED; - - event= RNA_enum_get(op->ptr, "type"); - - if(event==1) { - Scene *sce= scene; // to be able to delete, scenes are set... - outliner_do_object_operation(C, scene, soops, &soops->tree, object_select_cb); - if(scene != sce) { - ED_screen_set_scene(C, sce); - } - - str= "Select Objects"; - WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); - } - else if(event==2) { - outliner_do_object_operation(C, scene, soops, &soops->tree, object_deselect_cb); - str= "Deselect Objects"; - WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); - } - else if(event==4) { - outliner_do_object_operation(C, scene, soops, &soops->tree, object_delete_cb); - DAG_scene_sort(bmain, scene); - str= "Delete Objects"; - WM_event_add_notifier(C, NC_SCENE|ND_OB_ACTIVE, scene); - } - else if(event==5) { /* disabled, see above enum (ton) */ - outliner_do_object_operation(C, scene, soops, &soops->tree, id_local_cb); - str= "Localized Objects"; - } - else if(event==6) { - outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_visibility_cb); - str= "Toggle Visibility"; - WM_event_add_notifier(C, NC_SCENE|ND_OB_VISIBLE, scene); - } - else if(event==7) { - outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_selectability_cb); - str= "Toggle Selectability"; - WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); - } - else if(event==8) { - outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_renderability_cb); - str= "Toggle Renderability"; - WM_event_add_notifier(C, NC_SCENE|ND_OB_RENDER, scene); - } - - ED_undo_push(C, str); - - return OPERATOR_FINISHED; -} - - -void OUTLINER_OT_object_operation(wmOperatorType *ot) -{ - /* identifiers */ - ot->name= "Outliner Object Operation"; - ot->idname= "OUTLINER_OT_object_operation"; - ot->description= ""; - - /* callbacks */ - ot->invoke= WM_menu_invoke; - ot->exec= outliner_object_operation_exec; - ot->poll= ED_operator_outliner_active; - - ot->flag= 0; - - ot->prop= RNA_def_enum(ot->srna, "type", prop_object_op_types, 0, "Object Operation", ""); -} - -/* **************************************** */ - -static EnumPropertyItem prop_group_op_types[] = { - {1, "UNLINK", 0, "Unlink", ""}, - {2, "LOCAL", 0, "Make Local", ""}, - {3, "LINK", 0, "Link Group Objects to Scene", ""}, - {4, "TOGVIS", 0, "Toggle Visible", ""}, - {5, "TOGSEL", 0, "Toggle Selectable", ""}, - {6, "TOGREN", 0, "Toggle Renderable", ""}, - {0, NULL, 0, NULL, NULL} -}; - -static int outliner_group_operation_exec(bContext *C, wmOperator *op) -{ - Scene *scene= CTX_data_scene(C); - SpaceOops *soops= CTX_wm_space_outliner(C); - int event; - - /* check for invalid states */ - if (soops == NULL) - return OPERATOR_CANCELLED; - - event= RNA_enum_get(op->ptr, "type"); - - if(event==1) { - outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_group_cb); - ED_undo_push(C, "Unlink group"); - } - else if(event==2) { - outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_local_cb); - ED_undo_push(C, "Localized Data"); - } - else if(event==3) { - outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_linkobs2scene_cb); - ED_undo_push(C, "Link Group Objects to Scene"); - } - - - WM_event_add_notifier(C, NC_GROUP, NULL); - - return OPERATOR_FINISHED; -} - - -void OUTLINER_OT_group_operation(wmOperatorType *ot) -{ - /* identifiers */ - ot->name= "Outliner Group Operation"; - ot->idname= "OUTLINER_OT_group_operation"; - ot->description= ""; - - /* callbacks */ - ot->invoke= WM_menu_invoke; - ot->exec= outliner_group_operation_exec; - ot->poll= ED_operator_outliner_active; - - ot->flag= 0; - - ot->prop= RNA_def_enum(ot->srna, "type", prop_group_op_types, 0, "Group Operation", ""); -} - -/* **************************************** */ - -static EnumPropertyItem prop_id_op_types[] = { - {1, "UNLINK", 0, "Unlink", ""}, - {2, "LOCAL", 0, "Make Local", ""}, - {0, NULL, 0, NULL, NULL} -}; - -static int outliner_id_operation_exec(bContext *C, wmOperator *op) -{ - Scene *scene= CTX_data_scene(C); - SpaceOops *soops= CTX_wm_space_outliner(C); - int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0; - int event; - - /* check for invalid states */ - if (soops == NULL) - return OPERATOR_CANCELLED; - - set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel); - - event= RNA_enum_get(op->ptr, "type"); - - if(event==1) { - switch(idlevel) { - case ID_MA: - outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_material_cb); - ED_undo_push(C, "Unlink material"); - break; - case ID_TE: - outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_texture_cb); - ED_undo_push(C, "Unlink texture"); - break; - default: - BKE_report(op->reports, RPT_WARNING, "Not Yet"); - } - } - else if(event==2) { - outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_local_cb); - ED_undo_push(C, "Localized Data"); - } - - /* wrong notifier still... */ - WM_event_add_notifier(C, NC_OBJECT, NULL); - - return OPERATOR_FINISHED; -} - - -void OUTLINER_OT_id_operation(wmOperatorType *ot) -{ - /* identifiers */ - ot->name= "Outliner ID data Operation"; - ot->idname= "OUTLINER_OT_id_operation"; - ot->description= ""; - - /* callbacks */ - ot->invoke= WM_menu_invoke; - ot->exec= outliner_id_operation_exec; - ot->poll= ED_operator_outliner_active; - - ot->flag= 0; - - ot->prop= RNA_def_enum(ot->srna, "type", prop_id_op_types, 0, "ID data Operation", ""); -} - -/* **************************************** */ - -static EnumPropertyItem prop_data_op_types[] = { - {1, "SELECT", 0, "Select", ""}, - {2, "DESELECT", 0, "Deselect", ""}, - {3, "HIDE", 0, "Hide", ""}, - {4, "UNHIDE", 0, "Unhide", ""}, - {0, NULL, 0, NULL, NULL} -}; - -static int outliner_data_operation_exec(bContext *C, wmOperator *op) -{ - SpaceOops *soops= CTX_wm_space_outliner(C); - int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0; - int event; - - /* check for invalid states */ - if (soops == NULL) - return OPERATOR_CANCELLED; - - event= RNA_enum_get(op->ptr, "type"); - set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel); - - if(datalevel==TSE_POSE_CHANNEL) { - if(event>0) { - outliner_do_data_operation(soops, datalevel, event, &soops->tree, pchan_cb); - WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL); - ED_undo_push(C, "PoseChannel operation"); - } - } - else if(datalevel==TSE_BONE) { - if(event>0) { - outliner_do_data_operation(soops, datalevel, event, &soops->tree, bone_cb); - WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL); - ED_undo_push(C, "Bone operation"); - } - } - else if(datalevel==TSE_EBONE) { - if(event>0) { - outliner_do_data_operation(soops, datalevel, event, &soops->tree, ebone_cb); - WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL); - ED_undo_push(C, "EditBone operation"); - } - } - else if(datalevel==TSE_SEQUENCE) { - if(event>0) { - outliner_do_data_operation(soops, datalevel, event, &soops->tree, sequence_cb); - } - } - - return OPERATOR_FINISHED; -} - - -void OUTLINER_OT_data_operation(wmOperatorType *ot) -{ - /* identifiers */ - ot->name= "Outliner Data Operation"; - ot->idname= "OUTLINER_OT_data_operation"; - ot->description= ""; - - /* callbacks */ - ot->invoke= WM_menu_invoke; - ot->exec= outliner_data_operation_exec; - ot->poll= ED_operator_outliner_active; - - ot->flag= 0; - - ot->prop= RNA_def_enum(ot->srna, "type", prop_data_op_types, 0, "Data Operation", ""); -} - - -/* ******************** */ - - -static int do_outliner_operation_event(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, wmEvent *event, const float mval[2]) -{ - - if(mval[1]>te->ys && mval[1]ys+UI_UNIT_Y) { - int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0; - TreeStoreElem *tselem= TREESTORE(te); - - /* select object that's clicked on and popup context menu */ - if (!(tselem->flag & TSE_SELECTED)) { - - if ( outliner_has_one_flag(soops, &soops->tree, TSE_SELECTED, 1) ) - outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0); - - tselem->flag |= TSE_SELECTED; - /* redraw, same as outliner_select function */ - soops->storeflag |= SO_TREESTORE_REDRAW; - ED_region_tag_redraw(ar); - } - - set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel); - - if(scenelevel) { - //if(objectlevel || datalevel || idlevel) error("Mixed selection"); - //else pupmenu("Scene Operations%t|Delete"); - } - else if(objectlevel) { - WM_operator_name_call(C, "OUTLINER_OT_object_operation", WM_OP_INVOKE_REGION_WIN, NULL); - } - else if(idlevel) { - if(idlevel==-1 || datalevel) error("Mixed selection"); - else { - if (idlevel==ID_GR) - WM_operator_name_call(C, "OUTLINER_OT_group_operation", WM_OP_INVOKE_REGION_WIN, NULL); - else - WM_operator_name_call(C, "OUTLINER_OT_id_operation", WM_OP_INVOKE_REGION_WIN, NULL); - } - } - else if(datalevel) { - if(datalevel==-1) error("Mixed selection"); - else { - WM_operator_name_call(C, "OUTLINER_OT_data_operation", WM_OP_INVOKE_REGION_WIN, NULL); - } - } - - return 1; - } - - for(te= te->subtree.first; te; te= te->next) { - if(do_outliner_operation_event(C, scene, ar, soops, te, event, mval)) - return 1; - } - return 0; -} - - -static int outliner_operation(bContext *C, wmOperator *UNUSED(op), wmEvent *event) -{ - Scene *scene= CTX_data_scene(C); - ARegion *ar= CTX_wm_region(C); - SpaceOops *soops= CTX_wm_space_outliner(C); - TreeElement *te; - float fmval[2]; - - UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1); - - for(te= soops->tree.first; te; te= te->next) { - if(do_outliner_operation_event(C, scene, ar, soops, te, event, fmval)) break; - } - - return OPERATOR_FINISHED; -} - -/* Menu only! Calls other operators */ -void OUTLINER_OT_operation(wmOperatorType *ot) -{ - ot->name= "Execute Operation"; - ot->idname= "OUTLINER_OT_operation"; - ot->description= "Context menu for item operations"; - - ot->invoke= outliner_operation; - - ot->poll= ED_operator_outliner_active; -} - - - -/* ***************** ANIMATO OPERATIONS ********************************** */ -/* KeyingSet and Driver Creation - Helper functions */ - -/* specialised poll callback for these operators to work in Datablocks view only */ -static int ed_operator_outliner_datablocks_active(bContext *C) -{ - ScrArea *sa= CTX_wm_area(C); - if ((sa) && (sa->spacetype==SPACE_OUTLINER)) { - SpaceOops *so= CTX_wm_space_outliner(C); - return (so->outlinevis == SO_DATABLOCKS); - } - return 0; -} - - -/* Helper func to extract an RNA path from selected tree element - * NOTE: the caller must zero-out all values of the pointers that it passes here first, as - * this function does not do that yet - */ -static void tree_element_to_path(SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, - ID **id, char **path, int *array_index, short *flag, short *UNUSED(groupmode)) -{ - ListBase hierarchy = {NULL, NULL}; - LinkData *ld; - TreeElement *tem, *temnext, *temsub; - TreeStoreElem *tse, *tsenext; - PointerRNA *ptr, *nextptr; - PropertyRNA *prop; - char *newpath=NULL; - - /* optimise tricks: - * - Don't do anything if the selected item is a 'struct', but arrays are allowed - */ - if (tselem->type == TSE_RNA_STRUCT) - return; - - /* Overview of Algorithm: - * 1. Go up the chain of parents until we find the 'root', taking note of the - * levels encountered in reverse-order (i.e. items are added to the start of the list - * for more convenient looping later) - * 2. Walk down the chain, adding from the first ID encountered - * (which will become the 'ID' for the KeyingSet Path), and build a - * path as we step through the chain - */ - - /* step 1: flatten out hierarchy of parents into a flat chain */ - for (tem= te->parent; tem; tem= tem->parent) { - ld= MEM_callocN(sizeof(LinkData), "LinkData for tree_element_to_path()"); - ld->data= tem; - BLI_addhead(&hierarchy, ld); - } - - /* step 2: step down hierarchy building the path (NOTE: addhead in previous loop was needed so that we can loop like this) */ - for (ld= hierarchy.first; ld; ld= ld->next) { - /* get data */ - tem= (TreeElement *)ld->data; - tse= TREESTORE(tem); - ptr= &tem->rnaptr; - prop= tem->directdata; - - /* check if we're looking for first ID, or appending to path */ - if (*id) { - /* just 'append' property to path - * - to prevent memory leaks, we must write to newpath not path, then free old path + swap them - */ - if(tse->type == TSE_RNA_PROPERTY) { - if(RNA_property_type(prop) == PROP_POINTER) { - /* for pointer we just append property name */ - newpath= RNA_path_append(*path, ptr, prop, 0, NULL); - } - else if(RNA_property_type(prop) == PROP_COLLECTION) { - char buf[128], *name; - - temnext= (TreeElement*)(ld->next->data); - tsenext= TREESTORE(temnext); - - nextptr= &temnext->rnaptr; - name= RNA_struct_name_get_alloc(nextptr, buf, sizeof(buf)); - - if(name) { - /* if possible, use name as a key in the path */ - newpath= RNA_path_append(*path, NULL, prop, 0, name); - - if(name != buf) - MEM_freeN(name); - } - else { - /* otherwise use index */ - int index= 0; - - for(temsub=tem->subtree.first; temsub; temsub=temsub->next, index++) - if(temsub == temnext) - break; - - newpath= RNA_path_append(*path, NULL, prop, index, NULL); - } - - ld= ld->next; - } - } - - if(newpath) { - if (*path) MEM_freeN(*path); - *path= newpath; - newpath= NULL; - } - } - else { - /* no ID, so check if entry is RNA-struct, and if that RNA-struct is an ID datablock to extract info from */ - if (tse->type == TSE_RNA_STRUCT) { - /* ptr->data not ptr->id.data seems to be the one we want, since ptr->data is sometimes the owner of this ID? */ - if(RNA_struct_is_ID(ptr->type)) { - *id= (ID *)ptr->data; - - /* clear path */ - if(*path) { - MEM_freeN(*path); - path= NULL; - } - } - } - } - } - - /* step 3: if we've got an ID, add the current item to the path */ - if (*id) { - /* add the active property to the path */ - ptr= &te->rnaptr; - prop= te->directdata; - - /* array checks */ - if (tselem->type == TSE_RNA_ARRAY_ELEM) { - /* item is part of an array, so must set the array_index */ - *array_index= te->index; - } - else if (RNA_property_array_length(ptr, prop)) { - /* entire array was selected, so keyframe all */ - *flag |= KSP_FLAG_WHOLE_ARRAY; - } - - /* path */ - newpath= RNA_path_append(*path, NULL, prop, 0, NULL); - if (*path) MEM_freeN(*path); - *path= newpath; - } - - /* free temp data */ - BLI_freelistN(&hierarchy); -} - -/* ***************** KEYINGSET OPERATIONS *************** */ - -/* These operators are only available in databrowser mode for now, as - * they depend on having RNA paths and/or hierarchies available. - */ -enum { - DRIVERS_EDITMODE_ADD = 0, - DRIVERS_EDITMODE_REMOVE, -} /*eDrivers_EditModes*/; - -/* Utilities ---------------------------------- */ - -/* Recursively iterate over tree, finding and working on selected items */ -static void do_outliner_drivers_editop(SpaceOops *soops, ListBase *tree, ReportList *reports, short mode) -{ - TreeElement *te; - TreeStoreElem *tselem; - - for (te= tree->first; te; te=te->next) { - tselem= TREESTORE(te); - - /* if item is selected, perform operation */ - if (tselem->flag & TSE_SELECTED) { - ID *id= NULL; - char *path= NULL; - int array_index= 0; - short flag= 0; - short groupmode= KSP_GROUP_KSNAME; - - /* check if RNA-property described by this selected element is an animateable prop */ - if (ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM) && RNA_property_animateable(&te->rnaptr, te->directdata)) { - /* get id + path + index info from the selected element */ - tree_element_to_path(soops, te, tselem, - &id, &path, &array_index, &flag, &groupmode); - } - - /* only if ID and path were set, should we perform any actions */ - if (id && path) { - short dflags = CREATEDRIVER_WITH_DEFAULT_DVAR; - int arraylen = 1; - - /* array checks */ - if (flag & KSP_FLAG_WHOLE_ARRAY) { - /* entire array was selected, so add drivers for all */ - arraylen= RNA_property_array_length(&te->rnaptr, te->directdata); - } - else - arraylen= array_index; - - /* we should do at least one step */ - if (arraylen == array_index) - arraylen++; - - /* for each array element we should affect, add driver */ - for (; array_index < arraylen; array_index++) { - /* action depends on mode */ - switch (mode) { - case DRIVERS_EDITMODE_ADD: - { - /* add a new driver with the information obtained (only if valid) */ - ANIM_add_driver(reports, id, path, array_index, dflags, DRIVER_TYPE_PYTHON); - } - break; - case DRIVERS_EDITMODE_REMOVE: - { - /* remove driver matching the information obtained (only if valid) */ - ANIM_remove_driver(reports, id, path, array_index, dflags); - } - break; - } - } - - /* free path, since it had to be generated */ - MEM_freeN(path); - } - - - } - - /* go over sub-tree */ - if ((tselem->flag & TSE_CLOSED)==0) - do_outliner_drivers_editop(soops, &te->subtree, reports, mode); - } -} - -/* Add Operator ---------------------------------- */ - -static int outliner_drivers_addsel_exec(bContext *C, wmOperator *op) -{ - SpaceOops *soutliner= CTX_wm_space_outliner(C); - - /* check for invalid states */ - if (soutliner == NULL) - return OPERATOR_CANCELLED; - - /* recursively go into tree, adding selected items */ - do_outliner_drivers_editop(soutliner, &soutliner->tree, op->reports, DRIVERS_EDITMODE_ADD); - - /* send notifiers */ - WM_event_add_notifier(C, NC_ANIMATION|ND_FCURVES_ORDER, NULL); // XXX - - return OPERATOR_FINISHED; -} - -void OUTLINER_OT_drivers_add_selected(wmOperatorType *ot) -{ - /* api callbacks */ - ot->idname= "OUTLINER_OT_drivers_add_selected"; - ot->name= "Add Drivers for Selected"; - ot->description= "Add drivers to selected items"; - - /* api callbacks */ - ot->exec= outliner_drivers_addsel_exec; - ot->poll= ed_operator_outliner_datablocks_active; - - /* flags */ - ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; -} - - -/* Remove Operator ---------------------------------- */ - -static int outliner_drivers_deletesel_exec(bContext *C, wmOperator *op) -{ - SpaceOops *soutliner= CTX_wm_space_outliner(C); - - /* check for invalid states */ - if (soutliner == NULL) - return OPERATOR_CANCELLED; - - /* recursively go into tree, adding selected items */ - do_outliner_drivers_editop(soutliner, &soutliner->tree, op->reports, DRIVERS_EDITMODE_REMOVE); - - /* send notifiers */ - WM_event_add_notifier(C, ND_KEYS, NULL); // XXX - - return OPERATOR_FINISHED; -} - -void OUTLINER_OT_drivers_delete_selected(wmOperatorType *ot) -{ - /* identifiers */ - ot->idname= "OUTLINER_OT_drivers_delete_selected"; - ot->name= "Delete Drivers for Selected"; - ot->description= "Delete drivers assigned to selected items"; - - /* api callbacks */ - ot->exec= outliner_drivers_deletesel_exec; - ot->poll= ed_operator_outliner_datablocks_active; - - /* flags */ - ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; -} - -/* ***************** KEYINGSET OPERATIONS *************** */ - -/* These operators are only available in databrowser mode for now, as - * they depend on having RNA paths and/or hierarchies available. - */ -enum { - KEYINGSET_EDITMODE_ADD = 0, - KEYINGSET_EDITMODE_REMOVE, -} /*eKeyingSet_EditModes*/; - -/* Utilities ---------------------------------- */ - -/* find the 'active' KeyingSet, and add if not found (if adding is allowed) */ -// TODO: should this be an API func? -static KeyingSet *verify_active_keyingset(Scene *scene, short add) -{ - KeyingSet *ks= NULL; - - /* sanity check */ - if (scene == NULL) - return NULL; - - /* try to find one from scene */ - if (scene->active_keyingset > 0) - ks= BLI_findlink(&scene->keyingsets, scene->active_keyingset-1); - - /* add if none found */ - // XXX the default settings have yet to evolve - if ((add) && (ks==NULL)) { - ks= BKE_keyingset_add(&scene->keyingsets, NULL, KEYINGSET_ABSOLUTE, 0); - scene->active_keyingset= BLI_countlist(&scene->keyingsets); - } - - return ks; -} - -/* Recursively iterate over tree, finding and working on selected items */ -static void do_outliner_keyingset_editop(SpaceOops *soops, KeyingSet *ks, ListBase *tree, short mode) -{ - TreeElement *te; - TreeStoreElem *tselem; - - for (te= tree->first; te; te=te->next) { - tselem= TREESTORE(te); - - /* if item is selected, perform operation */ - if (tselem->flag & TSE_SELECTED) { - ID *id= NULL; - char *path= NULL; - int array_index= 0; - short flag= 0; - short groupmode= KSP_GROUP_KSNAME; - - /* check if RNA-property described by this selected element is an animateable prop */ - if (ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM) && RNA_property_animateable(&te->rnaptr, te->directdata)) { - /* get id + path + index info from the selected element */ - tree_element_to_path(soops, te, tselem, - &id, &path, &array_index, &flag, &groupmode); - } - - /* only if ID and path were set, should we perform any actions */ - if (id && path) { - /* action depends on mode */ - switch (mode) { - case KEYINGSET_EDITMODE_ADD: - { - /* add a new path with the information obtained (only if valid) */ - // TODO: what do we do with group name? for now, we don't supply one, and just let this use the KeyingSet name - BKE_keyingset_add_path(ks, id, NULL, path, array_index, flag, groupmode); - ks->active_path= BLI_countlist(&ks->paths); - } - break; - case KEYINGSET_EDITMODE_REMOVE: - { - /* find the relevant path, then remove it from the KeyingSet */ - KS_Path *ksp= BKE_keyingset_find_path(ks, id, NULL, path, array_index, groupmode); - - if (ksp) { - /* free path's data */ - BKE_keyingset_free_path(ks, ksp); - - ks->active_path= 0; - } - } - break; - } - - /* free path, since it had to be generated */ - MEM_freeN(path); - } - } - - /* go over sub-tree */ - if ((tselem->flag & TSE_CLOSED)==0) - do_outliner_keyingset_editop(soops, ks, &te->subtree, mode); - } -} - -/* Add Operator ---------------------------------- */ - -static int outliner_keyingset_additems_exec(bContext *C, wmOperator *op) -{ - SpaceOops *soutliner= CTX_wm_space_outliner(C); - Scene *scene= CTX_data_scene(C); - KeyingSet *ks= verify_active_keyingset(scene, 1); - - /* check for invalid states */ - if (ks == NULL) { - BKE_report(op->reports, RPT_ERROR, "Operation requires an Active Keying Set"); - return OPERATOR_CANCELLED; - } - if (soutliner == NULL) - return OPERATOR_CANCELLED; - - /* recursively go into tree, adding selected items */ - do_outliner_keyingset_editop(soutliner, ks, &soutliner->tree, KEYINGSET_EDITMODE_ADD); - - /* send notifiers */ - WM_event_add_notifier(C, NC_SCENE|ND_KEYINGSET, NULL); - - return OPERATOR_FINISHED; -} - -void OUTLINER_OT_keyingset_add_selected(wmOperatorType *ot) -{ - /* identifiers */ - ot->idname= "OUTLINER_OT_keyingset_add_selected"; - ot->name= "Keying Set Add Selected"; - ot->description= "Add selected items (blue-grey rows) to active Keying Set"; - - /* api callbacks */ - ot->exec= outliner_keyingset_additems_exec; - ot->poll= ed_operator_outliner_datablocks_active; - - /* flags */ - ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; -} - - -/* Remove Operator ---------------------------------- */ - -static int outliner_keyingset_removeitems_exec(bContext *C, wmOperator *UNUSED(op)) -{ - SpaceOops *soutliner= CTX_wm_space_outliner(C); - Scene *scene= CTX_data_scene(C); - KeyingSet *ks= verify_active_keyingset(scene, 1); - - /* check for invalid states */ - if (soutliner == NULL) - return OPERATOR_CANCELLED; - - /* recursively go into tree, adding selected items */ - do_outliner_keyingset_editop(soutliner, ks, &soutliner->tree, KEYINGSET_EDITMODE_REMOVE); - - /* send notifiers */ - WM_event_add_notifier(C, NC_SCENE|ND_KEYINGSET, NULL); - - return OPERATOR_FINISHED; -} - -void OUTLINER_OT_keyingset_remove_selected(wmOperatorType *ot) -{ - /* identifiers */ - ot->idname= "OUTLINER_OT_keyingset_remove_selected"; - ot->name= "Keying Set Remove Selected"; - ot->description = "Remove selected items (blue-grey rows) from active Keying Set"; - - /* api callbacks */ - ot->exec= outliner_keyingset_removeitems_exec; - ot->poll= ed_operator_outliner_datablocks_active; - - /* flags */ - ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; -} - -/* ***************** DRAW *************** */ - -/* make function calls a bit compacter */ -struct DrawIconArg { - uiBlock *block; - ID *id; - int xmax, x, y; - float alpha; -}; - -static void tselem_draw_icon_uibut(struct DrawIconArg *arg, int icon) -{ - /* restrict collumn clip... it has been coded by simply overdrawing, doesnt work for buttons */ - if(arg->x >= arg->xmax) - UI_icon_draw(arg->x, arg->y, icon); - else { - /* XXX investigate: button placement of icons is way different than UI_icon_draw? */ - float ufac= UI_UNIT_X/20.0f; - uiBut *but= uiDefIconBut(arg->block, LABEL, 0, icon, arg->x-3.0f*ufac, arg->y, UI_UNIT_X-4.0f*ufac, UI_UNIT_Y-4.0f*ufac, NULL, 0.0, 0.0, 1.0, arg->alpha, (arg->id && arg->id->lib) ? arg->id->lib->name : ""); - - if(arg->id) - uiButSetDragID(but, arg->id); - } - -} - -static void tselem_draw_icon(uiBlock *block, int xmax, float x, float y, TreeStoreElem *tselem, TreeElement *te, float alpha) -{ - struct DrawIconArg arg; - - /* make function calls a bit compacter */ - arg.block= block; - arg.id= tselem->id; - arg.xmax= xmax; - arg.x= x; - arg.y= y; - arg.alpha= alpha; - - if(tselem->type) { - switch( tselem->type) { - case TSE_ANIM_DATA: - UI_icon_draw(x, y, ICON_ANIM_DATA); break; // xxx - case TSE_NLA: - UI_icon_draw(x, y, ICON_NLA); break; - case TSE_NLA_TRACK: - UI_icon_draw(x, y, ICON_NLA); break; // XXX - case TSE_NLA_ACTION: - UI_icon_draw(x, y, ICON_ACTION); break; - case TSE_DEFGROUP_BASE: - UI_icon_draw(x, y, ICON_GROUP_VERTEX); break; - case TSE_BONE: - case TSE_EBONE: - UI_icon_draw(x, y, ICON_BONE_DATA); break; - case TSE_CONSTRAINT_BASE: - UI_icon_draw(x, y, ICON_CONSTRAINT); break; - case TSE_MODIFIER_BASE: - UI_icon_draw(x, y, ICON_MODIFIER); break; - case TSE_LINKED_OB: - UI_icon_draw(x, y, ICON_OBJECT_DATA); break; - case TSE_LINKED_PSYS: - UI_icon_draw(x, y, ICON_PARTICLES); break; - case TSE_MODIFIER: - { - Object *ob= (Object *)tselem->id; - ModifierData *md= BLI_findlink(&ob->modifiers, tselem->nr); - switch(md->type) { - case eModifierType_Subsurf: - UI_icon_draw(x, y, ICON_MOD_SUBSURF); break; - case eModifierType_Armature: - UI_icon_draw(x, y, ICON_MOD_ARMATURE); break; - case eModifierType_Lattice: - UI_icon_draw(x, y, ICON_MOD_LATTICE); break; - case eModifierType_Curve: - UI_icon_draw(x, y, ICON_MOD_CURVE); break; - case eModifierType_Build: - UI_icon_draw(x, y, ICON_MOD_BUILD); break; - case eModifierType_Mirror: - UI_icon_draw(x, y, ICON_MOD_MIRROR); break; - case eModifierType_Decimate: - UI_icon_draw(x, y, ICON_MOD_DECIM); break; - case eModifierType_Wave: - UI_icon_draw(x, y, ICON_MOD_WAVE); break; - case eModifierType_Hook: - UI_icon_draw(x, y, ICON_HOOK); break; - case eModifierType_Softbody: - UI_icon_draw(x, y, ICON_MOD_SOFT); break; - case eModifierType_Boolean: - UI_icon_draw(x, y, ICON_MOD_BOOLEAN); break; - case eModifierType_ParticleSystem: - UI_icon_draw(x, y, ICON_MOD_PARTICLES); break; - case eModifierType_ParticleInstance: - UI_icon_draw(x, y, ICON_MOD_PARTICLES); break; - case eModifierType_EdgeSplit: - UI_icon_draw(x, y, ICON_MOD_EDGESPLIT); break; - case eModifierType_Array: - UI_icon_draw(x, y, ICON_MOD_ARRAY); break; - case eModifierType_UVProject: - UI_icon_draw(x, y, ICON_MOD_UVPROJECT); break; - case eModifierType_Displace: - UI_icon_draw(x, y, ICON_MOD_DISPLACE); break; - case eModifierType_Shrinkwrap: - UI_icon_draw(x, y, ICON_MOD_SHRINKWRAP); break; - case eModifierType_Cast: - UI_icon_draw(x, y, ICON_MOD_CAST); break; - case eModifierType_MeshDeform: - UI_icon_draw(x, y, ICON_MOD_MESHDEFORM); break; - case eModifierType_Bevel: - UI_icon_draw(x, y, ICON_MOD_BEVEL); break; - case eModifierType_Smooth: - UI_icon_draw(x, y, ICON_MOD_SMOOTH); break; - case eModifierType_SimpleDeform: - UI_icon_draw(x, y, ICON_MOD_SIMPLEDEFORM); break; - case eModifierType_Mask: - UI_icon_draw(x, y, ICON_MOD_MASK); break; - case eModifierType_Cloth: - UI_icon_draw(x, y, ICON_MOD_CLOTH); break; - case eModifierType_Explode: - UI_icon_draw(x, y, ICON_MOD_EXPLODE); break; - case eModifierType_Collision: - UI_icon_draw(x, y, ICON_MOD_PHYSICS); break; - case eModifierType_Fluidsim: - UI_icon_draw(x, y, ICON_MOD_FLUIDSIM); break; - case eModifierType_Multires: - UI_icon_draw(x, y, ICON_MOD_MULTIRES); break; - case eModifierType_Smoke: - UI_icon_draw(x, y, ICON_MOD_SMOKE); break; - case eModifierType_Solidify: - UI_icon_draw(x, y, ICON_MOD_SOLIDIFY); break; - case eModifierType_Screw: - UI_icon_draw(x, y, ICON_MOD_SCREW); break; - default: - UI_icon_draw(x, y, ICON_DOT); break; - } - break; - } - case TSE_SCRIPT_BASE: - UI_icon_draw(x, y, ICON_TEXT); break; - case TSE_POSE_BASE: - UI_icon_draw(x, y, ICON_ARMATURE_DATA); break; - case TSE_POSE_CHANNEL: - UI_icon_draw(x, y, ICON_BONE_DATA); break; - case TSE_PROXY: - UI_icon_draw(x, y, ICON_GHOST); break; - case TSE_R_LAYER_BASE: - UI_icon_draw(x, y, ICON_RENDERLAYERS); break; - case TSE_R_LAYER: - UI_icon_draw(x, y, ICON_RENDERLAYERS); break; - case TSE_LINKED_LAMP: - UI_icon_draw(x, y, ICON_LAMP_DATA); break; - case TSE_LINKED_MAT: - UI_icon_draw(x, y, ICON_MATERIAL_DATA); break; - case TSE_POSEGRP_BASE: - UI_icon_draw(x, y, ICON_VERTEXSEL); break; - case TSE_SEQUENCE: - if(te->idcode==SEQ_MOVIE) - UI_icon_draw(x, y, ICON_SEQUENCE); - else if(te->idcode==SEQ_META) - UI_icon_draw(x, y, ICON_DOT); - else if(te->idcode==SEQ_SCENE) - UI_icon_draw(x, y, ICON_SCENE); - else if(te->idcode==SEQ_SOUND) - UI_icon_draw(x, y, ICON_SOUND); - else if(te->idcode==SEQ_IMAGE) - UI_icon_draw(x, y, ICON_IMAGE_COL); - else - UI_icon_draw(x, y, ICON_PARTICLES); - break; - case TSE_SEQ_STRIP: - UI_icon_draw(x, y, ICON_LIBRARY_DATA_DIRECT); - break; - case TSE_SEQUENCE_DUP: - UI_icon_draw(x, y, ICON_OBJECT_DATA); - break; - case TSE_RNA_STRUCT: - if(RNA_struct_is_ID(te->rnaptr.type)) { - arg.id= (ID *)te->rnaptr.data; - tselem_draw_icon_uibut(&arg, RNA_struct_ui_icon(te->rnaptr.type)); - } - else - UI_icon_draw(x, y, RNA_struct_ui_icon(te->rnaptr.type)); - break; - default: - UI_icon_draw(x, y, ICON_DOT); break; - } - } - else if (GS(tselem->id->name) == ID_OB) { - Object *ob= (Object *)tselem->id; - switch (ob->type) { - case OB_LAMP: - tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_LAMP); break; - case OB_MESH: - tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_MESH); break; - case OB_CAMERA: - tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_CAMERA); break; - case OB_CURVE: - tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_CURVE); break; - case OB_MBALL: - tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_META); break; - case OB_LATTICE: - tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_LATTICE); break; - case OB_ARMATURE: - tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_ARMATURE); break; - case OB_FONT: - tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_FONT); break; - case OB_SURF: - tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_SURFACE); break; - case OB_EMPTY: - tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_EMPTY); break; - - } - } - else { - switch( GS(tselem->id->name)) { - case ID_SCE: - tselem_draw_icon_uibut(&arg, ICON_SCENE_DATA); break; - case ID_ME: - tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_MESH); break; - case ID_CU: - tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_CURVE); break; - case ID_MB: - tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_META); break; - case ID_LT: - tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_LATTICE); break; - case ID_LA: - { - Lamp *la= (Lamp *)tselem->id; - - switch(la->type) { - case LA_LOCAL: - tselem_draw_icon_uibut(&arg, ICON_LAMP_POINT); break; - case LA_SUN: - tselem_draw_icon_uibut(&arg, ICON_LAMP_SUN); break; - case LA_SPOT: - tselem_draw_icon_uibut(&arg, ICON_LAMP_SPOT); break; - case LA_HEMI: - tselem_draw_icon_uibut(&arg, ICON_LAMP_HEMI); break; - case LA_AREA: - tselem_draw_icon_uibut(&arg, ICON_LAMP_AREA); break; - default: - tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_LAMP); break; - } - break; - } - case ID_MA: - tselem_draw_icon_uibut(&arg, ICON_MATERIAL_DATA); break; - case ID_TE: - tselem_draw_icon_uibut(&arg, ICON_TEXTURE_DATA); break; - case ID_IM: - tselem_draw_icon_uibut(&arg, ICON_IMAGE_DATA); break; - case ID_SO: - tselem_draw_icon_uibut(&arg, ICON_SPEAKER); break; - case ID_AR: - tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_ARMATURE); break; - case ID_CA: - tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_CAMERA); break; - case ID_KE: - tselem_draw_icon_uibut(&arg, ICON_SHAPEKEY_DATA); break; - case ID_WO: - tselem_draw_icon_uibut(&arg, ICON_WORLD_DATA); break; - case ID_AC: - tselem_draw_icon_uibut(&arg, ICON_ACTION); break; - case ID_NLA: - tselem_draw_icon_uibut(&arg, ICON_NLA); break; - case ID_TXT: - tselem_draw_icon_uibut(&arg, ICON_SCRIPT); break; - case ID_GR: - tselem_draw_icon_uibut(&arg, ICON_GROUP); break; - case ID_LI: - tselem_draw_icon_uibut(&arg, ICON_LIBRARY_DATA_DIRECT); break; - } - } -} - -static void outliner_draw_iconrow(bContext *C, uiBlock *block, Scene *scene, SpaceOops *soops, ListBase *lb, int level, int xmax, int *offsx, int ys) -{ - TreeElement *te; - TreeStoreElem *tselem; - int active; - - for(te= lb->first; te; te= te->next) { - - /* exit drawing early */ - if((*offsx) - UI_UNIT_X > xmax) - break; - - tselem= TREESTORE(te); - - /* object hierarchy always, further constrained on level */ - if(level<1 || (tselem->type==0 && te->idcode==ID_OB)) { - - /* active blocks get white circle */ - if(tselem->type==0) { - if(te->idcode==ID_OB) active= (OBACT==(Object *)tselem->id); - else if(scene->obedit && scene->obedit->data==tselem->id) active= 1; // XXX use context? - else active= tree_element_active(C, scene, soops, te, 0); - } - else active= tree_element_type_active(NULL, scene, soops, te, tselem, 0); - - if(active) { - float ufac= UI_UNIT_X/20.0f; - - uiSetRoundBox(15); - glColor4ub(255, 255, 255, 100); - uiRoundBox( (float)*offsx-0.5f*ufac, (float)ys-1.0f*ufac, (float)*offsx+UI_UNIT_Y-3.0f*ufac, (float)ys+UI_UNIT_Y-3.0f*ufac, UI_UNIT_Y/2.0f-2.0f*ufac); - glEnable(GL_BLEND); /* roundbox disables */ - } - - tselem_draw_icon(block, xmax, (float)*offsx, (float)ys, tselem, te, 0.5f); - te->xs= (float)*offsx; - te->ys= (float)ys; - te->xend= (short)*offsx+UI_UNIT_X; - te->flag |= TE_ICONROW; // for click - - (*offsx) += UI_UNIT_X; - } - - /* this tree element always has same amount of branches, so dont draw */ - if(tselem->type!=TSE_R_LAYER) - outliner_draw_iconrow(C, block, scene, soops, &te->subtree, level+1, xmax, offsx, ys); - } - -} - -/* closed tree element */ -static void outliner_set_coord_tree_element(SpaceOops *soops, TreeElement *te, int startx, int *starty) -{ - TreeElement *ten; - - /* store coord and continue, we need coordinates for elements outside view too */ - te->xs= (float)startx; - te->ys= (float)(*starty); - - for(ten= te->subtree.first; ten; ten= ten->next) { - outliner_set_coord_tree_element(soops, ten, startx+UI_UNIT_X, starty); - } -} - - -static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int startx, int *starty) -{ - TreeElement *ten; - TreeStoreElem *tselem; - float ufac= UI_UNIT_X/20.0f; - int offsx= 0, active=0; // active=1 active obj, else active data - - tselem= TREESTORE(te); - - if(*starty+2*UI_UNIT_Y >= ar->v2d.cur.ymin && *starty<= ar->v2d.cur.ymax) { - int xmax= ar->v2d.cur.xmax; - - /* icons can be ui buts, we dont want it to overlap with restrict */ - if((soops->flag & SO_HIDE_RESTRICTCOLS)==0) - xmax-= OL_TOGW+UI_UNIT_X; - - glEnable(GL_BLEND); - - /* colors for active/selected data */ - if(tselem->type==0) { - if(te->idcode==ID_SCE) { - if(tselem->id == (ID *)scene) { - glColor4ub(255, 255, 255, 100); - active= 2; - } - } - else if(te->idcode==ID_GR) { - Group *gr = (Group *)tselem->id; - - if(group_select_flag(gr)) { - char col[4]; - UI_GetThemeColorType4ubv(TH_SELECT, SPACE_VIEW3D, col); - col[3]= 100; - glColor4ubv((GLubyte *)col); - - active= 2; - } - } - else if(te->idcode==ID_OB) { - Object *ob= (Object *)tselem->id; - - if(ob==OBACT || (ob->flag & SELECT)) { - char col[4]= {0, 0, 0, 0}; - - /* outliner active ob: always white text, circle color now similar to view3d */ - - active= 2; /* means it draws a color circle */ - if(ob==OBACT) { - if(ob->flag & SELECT) { - UI_GetThemeColorType4ubv(TH_ACTIVE, SPACE_VIEW3D, col); - col[3]= 100; - } - - active= 1; /* means it draws white text */ - } - else if(ob->flag & SELECT) { - UI_GetThemeColorType4ubv(TH_SELECT, SPACE_VIEW3D, col); - col[3]= 100; - } - - glColor4ubv((GLubyte *)col); - } - - } - else if(scene->obedit && scene->obedit->data==tselem->id) { - glColor4ub(255, 255, 255, 100); - active= 2; - } - else { - if(tree_element_active(C, scene, soops, te, 0)) { - glColor4ub(220, 220, 255, 100); - active= 2; - } - } - } - else { - if( tree_element_type_active(NULL, scene, soops, te, tselem, 0) ) active= 2; - glColor4ub(220, 220, 255, 100); - } - - /* active circle */ - if(active) { - uiSetRoundBox(15); - uiRoundBox( (float)startx+UI_UNIT_Y-1.5f*ufac, (float)*starty+2.0f*ufac, (float)startx+2.0f*UI_UNIT_Y-4.0f*ufac, (float)*starty+UI_UNIT_Y-1.0f*ufac, UI_UNIT_Y/2.0f-2.0f*ufac); - glEnable(GL_BLEND); /* roundbox disables it */ - - te->flag |= TE_ACTIVE; // for lookup in display hierarchies - } - - /* open/close icon, only when sublevels, except for scene */ - if(te->subtree.first || (tselem->type==0 && te->idcode==ID_SCE) || (te->flag & TE_LAZY_CLOSED)) { - int icon_x; - if(tselem->type==0 && ELEM(te->idcode, ID_OB, ID_SCE)) - icon_x = startx; - else - icon_x = startx+5*ufac; - - // icons a bit higher - if(tselem->flag & TSE_CLOSED) - UI_icon_draw((float)icon_x, (float)*starty+2*ufac, ICON_DISCLOSURE_TRI_RIGHT); - else - UI_icon_draw((float)icon_x, (float)*starty+2*ufac, ICON_DISCLOSURE_TRI_DOWN); - } - offsx+= UI_UNIT_X; - - /* datatype icon */ - - if(!(ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM))) { - // icons a bit higher - tselem_draw_icon(block, xmax, (float)startx+offsx - 0.5f*ufac, (float)*starty+2.0f*ufac, tselem, te, 1.0f); - - offsx+= UI_UNIT_X; - } - else - offsx+= 2*ufac; - - if(tselem->type==0 && tselem->id->lib) { - glPixelTransferf(GL_ALPHA_SCALE, 0.5f); - if(tselem->id->flag & LIB_INDIRECT) - UI_icon_draw((float)startx+offsx, (float)*starty+2*ufac, ICON_LIBRARY_DATA_INDIRECT); - else - UI_icon_draw((float)startx+offsx, (float)*starty+2*ufac, ICON_LIBRARY_DATA_DIRECT); - glPixelTransferf(GL_ALPHA_SCALE, 1.0f); - offsx+= UI_UNIT_X; - } - glDisable(GL_BLEND); - - /* name */ - if(active==1) UI_ThemeColor(TH_TEXT_HI); - else if(ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) UI_ThemeColorBlend(TH_BACK, TH_TEXT, 0.75f); - else UI_ThemeColor(TH_TEXT); - - UI_DrawString(startx+offsx, *starty+5*ufac, te->name); - - offsx+= (int)(UI_UNIT_X + UI_GetStringWidth(te->name)); - - /* closed item, we draw the icons, not when it's a scene, or master-server list though */ - if(tselem->flag & TSE_CLOSED) { - if(te->subtree.first) { - if(tselem->type==0 && te->idcode==ID_SCE); - else if(tselem->type!=TSE_R_LAYER) { /* this tree element always has same amount of branches, so dont draw */ - int tempx= startx+offsx; - - // divider - UI_ThemeColorShade(TH_BACK, -40); - glRecti(tempx -10, *starty+4, tempx -8, *starty+UI_UNIT_Y-4); - - glEnable(GL_BLEND); - glPixelTransferf(GL_ALPHA_SCALE, 0.5); - - outliner_draw_iconrow(C, block, scene, soops, &te->subtree, 0, xmax, &tempx, *starty+2); - - glPixelTransferf(GL_ALPHA_SCALE, 1.0); - glDisable(GL_BLEND); - } - } - } - } - /* store coord and continue, we need coordinates for elements outside view too */ - te->xs= (float)startx; - te->ys= (float)*starty; - te->xend= startx+offsx; - - if((tselem->flag & TSE_CLOSED)==0) { - *starty-= UI_UNIT_Y; - - for(ten= te->subtree.first; ten; ten= ten->next) - outliner_draw_tree_element(C, block, scene, ar, soops, ten, startx+UI_UNIT_X, starty); - } - else { - for(ten= te->subtree.first; ten; ten= ten->next) - outliner_set_coord_tree_element(soops, te, startx, starty); - - *starty-= UI_UNIT_Y; - } -} - -static void outliner_draw_hierarchy(SpaceOops *soops, ListBase *lb, int startx, int *starty) -{ - TreeElement *te; - TreeStoreElem *tselem; - int y1, y2; - - if(lb->first==NULL) return; - - y1=y2= *starty; /* for vertical lines between objects */ - for(te=lb->first; te; te= te->next) { - y2= *starty; - tselem= TREESTORE(te); - - /* horizontal line? */ - if(tselem->type==0 && (te->idcode==ID_OB || te->idcode==ID_SCE)) - glRecti(startx, *starty, startx+UI_UNIT_X, *starty-1); - - *starty-= UI_UNIT_Y; - - if((tselem->flag & TSE_CLOSED)==0) - outliner_draw_hierarchy(soops, &te->subtree, startx+UI_UNIT_X, starty); - } - - /* vertical line */ - te= lb->last; - if(te->parent || lb->first!=lb->last) { - tselem= TREESTORE(te); - if(tselem->type==0 && te->idcode==ID_OB) { - - glRecti(startx, y1+UI_UNIT_Y, startx+1, y2); - } - } -} - -static void outliner_draw_struct_marks(ARegion *ar, SpaceOops *soops, ListBase *lb, int *starty) -{ - TreeElement *te; - TreeStoreElem *tselem; - - for(te= lb->first; te; te= te->next) { - tselem= TREESTORE(te); - - /* selection status */ - if((tselem->flag & TSE_CLOSED)==0) - if(tselem->type == TSE_RNA_STRUCT) - glRecti(0, *starty+1, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, *starty+UI_UNIT_Y-1); - - *starty-= UI_UNIT_Y; - if((tselem->flag & TSE_CLOSED)==0) { - outliner_draw_struct_marks(ar, soops, &te->subtree, starty); - if(tselem->type == TSE_RNA_STRUCT) - fdrawline(0, (float)*starty+UI_UNIT_Y, ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, (float)*starty+UI_UNIT_Y); - } - } -} - -static void outliner_draw_selection(ARegion *ar, SpaceOops *soops, ListBase *lb, int *starty) -{ - TreeElement *te; - TreeStoreElem *tselem; - - for(te= lb->first; te; te= te->next) { - tselem= TREESTORE(te); - - /* selection status */ - if(tselem->flag & TSE_SELECTED) { - glRecti(0, *starty+1, (int)ar->v2d.cur.xmax, *starty+UI_UNIT_Y-1); - } - *starty-= UI_UNIT_Y; - if((tselem->flag & TSE_CLOSED)==0) outliner_draw_selection(ar, soops, &te->subtree, starty); - } -} - - -static void outliner_draw_tree(bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops) -{ - TreeElement *te; - int starty, startx; - float col[4]; - - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // only once - - if (ELEM(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF)) { - /* struct marks */ - UI_ThemeColorShadeAlpha(TH_BACK, -15, -200); - //UI_ThemeColorShade(TH_BACK, -20); - starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET; - outliner_draw_struct_marks(ar, soops, &soops->tree, &starty); - } - - /* always draw selection fill before hierarchy */ - UI_GetThemeColor3fv(TH_BACK, col); - glColor3f(col[0]+0.06f, col[1]+0.08f, col[2]+0.10f); - starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET; - outliner_draw_selection(ar, soops, &soops->tree, &starty); - - // grey hierarchy lines - UI_ThemeColorBlend(TH_BACK, TH_TEXT, 0.4f); - starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y/2-OL_Y_OFFSET; - startx= 6; - outliner_draw_hierarchy(soops, &soops->tree, startx, &starty); - - // items themselves - starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET; - startx= 0; - for(te= soops->tree.first; te; te= te->next) { - outliner_draw_tree_element(C, block, scene, ar, soops, te, startx, &starty); - } -} - - -static void outliner_back(ARegion *ar) -{ - int ystart; - - UI_ThemeColorShade(TH_BACK, 6); - ystart= (int)ar->v2d.tot.ymax; - ystart= UI_UNIT_Y*(ystart/(UI_UNIT_Y))-OL_Y_OFFSET; - - while(ystart+2*UI_UNIT_Y > ar->v2d.cur.ymin) { - glRecti(0, ystart, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, ystart+UI_UNIT_Y); - ystart-= 2*UI_UNIT_Y; - } -} - -static void outliner_draw_restrictcols(ARegion *ar) -{ - int ystart; - - /* background underneath */ - UI_ThemeColor(TH_BACK); - glRecti((int)ar->v2d.cur.xmax-OL_TOGW, (int)ar->v2d.cur.ymin-V2D_SCROLL_HEIGHT-1, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, (int)ar->v2d.cur.ymax); - - UI_ThemeColorShade(TH_BACK, 6); - ystart= (int)ar->v2d.tot.ymax; - ystart= UI_UNIT_Y*(ystart/(UI_UNIT_Y))-OL_Y_OFFSET; - - while(ystart+2*UI_UNIT_Y > ar->v2d.cur.ymin) { - glRecti((int)ar->v2d.cur.xmax-OL_TOGW, ystart, (int)ar->v2d.cur.xmax, ystart+UI_UNIT_Y); - ystart-= 2*UI_UNIT_Y; - } - - UI_ThemeColorShadeAlpha(TH_BACK, -15, -200); - - /* view */ - fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, - ar->v2d.cur.ymax, - ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, - ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT); - - /* render */ - fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, - ar->v2d.cur.ymax, - ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, - ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT); - - /* render */ - fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, - ar->v2d.cur.ymax, - ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, - ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT); -} - -static void restrictbutton_view_cb(bContext *C, void *poin, void *poin2) -{ - Scene *scene = (Scene *)poin; - Object *ob = (Object *)poin2; - - if(!common_restrict_check(C, ob)) return; - - /* deselect objects that are invisible */ - if (ob->restrictflag & OB_RESTRICT_VIEW) { - /* Ouch! There is no backwards pointer from Object to Base, - * so have to do loop to find it. */ - ED_base_object_select(object_in_scene(ob, scene), BA_DESELECT); - } - WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); - -} - -static void restrictbutton_sel_cb(bContext *C, void *poin, void *poin2) -{ - Scene *scene = (Scene *)poin; - Object *ob = (Object *)poin2; - - if(!common_restrict_check(C, ob)) return; - - /* if select restriction has just been turned on */ - if (ob->restrictflag & OB_RESTRICT_SELECT) { - /* Ouch! There is no backwards pointer from Object to Base, - * so have to do loop to find it. */ - ED_base_object_select(object_in_scene(ob, scene), BA_DESELECT); - } - WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); - -} - -static void restrictbutton_rend_cb(bContext *C, void *poin, void *UNUSED(poin2)) -{ - WM_event_add_notifier(C, NC_SCENE|ND_OB_RENDER, poin); -} - -static void restrictbutton_r_lay_cb(bContext *C, void *poin, void *UNUSED(poin2)) -{ - WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, poin); -} - -static void restrictbutton_modifier_cb(bContext *C, void *UNUSED(poin), void *poin2) -{ - Object *ob = (Object *)poin2; - - DAG_id_tag_update(&ob->id, OB_RECALC_DATA); - - WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob); -} - -static void restrictbutton_bone_cb(bContext *C, void *UNUSED(poin), void *poin2) -{ - Bone *bone= (Bone *)poin2; - if(bone && (bone->flag & BONE_HIDDEN_P)) - bone->flag &= ~(BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL); - WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL); -} - -static void restrictbutton_ebone_cb(bContext *C, void *UNUSED(poin), void *poin2) -{ - EditBone *ebone= (EditBone *)poin2; - if(ebone && (ebone->flag & BONE_HIDDEN_A)) - ebone->flag &= ~(BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL); - - WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL); -} - -static int group_restrict_flag(Group *gr, int flag) -{ - GroupObject *gob; - - for(gob= gr->gobject.first; gob; gob= gob->next) { - if((gob->ob->restrictflag & flag) == 0) - return 0; - } - - return 1; -} - -static int group_select_flag(Group *gr) -{ - GroupObject *gob; - - for(gob= gr->gobject.first; gob; gob= gob->next) - if((gob->ob->flag & SELECT)) - return 1; - - return 0; -} - -static void restrictbutton_gr_restrict_flag(void *poin, void *poin2, int flag) -{ - Scene *scene = (Scene *)poin; - GroupObject *gob; - Group *gr = (Group *)poin2; - - if(group_restrict_flag(gr, flag)) { - for(gob= gr->gobject.first; gob; gob= gob->next) { - gob->ob->restrictflag &= ~flag; - - if(flag==OB_RESTRICT_VIEW) - if(gob->ob->flag & SELECT) - ED_base_object_select(object_in_scene(gob->ob, scene), BA_DESELECT); - } - } - else { - for(gob= gr->gobject.first; gob; gob= gob->next) { - /* not in editmode */ - if(scene->obedit!=gob->ob) { - gob->ob->restrictflag |= flag; - - if(flag==OB_RESTRICT_VIEW) - if((gob->ob->flag & SELECT) == 0) - ED_base_object_select(object_in_scene(gob->ob, scene), BA_SELECT); - } - } - } -} - -static void restrictbutton_gr_restrict_view(bContext *C, void *poin, void *poin2) -{ - restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_VIEW); - WM_event_add_notifier(C, NC_GROUP, NULL); -} -static void restrictbutton_gr_restrict_select(bContext *C, void *poin, void *poin2) -{ - restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_SELECT); - WM_event_add_notifier(C, NC_GROUP, NULL); -} -static void restrictbutton_gr_restrict_render(bContext *C, void *poin, void *poin2) -{ - restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_RENDER); - WM_event_add_notifier(C, NC_GROUP, NULL); -} - - -static void namebutton_cb(bContext *C, void *tsep, char *oldname) -{ - SpaceOops *soops= CTX_wm_space_outliner(C); - Scene *scene= CTX_data_scene(C); - Object *obedit= CTX_data_edit_object(C); - TreeStore *ts= soops->treestore; - TreeStoreElem *tselem= tsep; - - if(ts && tselem) { - TreeElement *te= outliner_find_tse(soops, tselem); - - if(tselem->type==0) { - test_idbutton(tselem->id->name+2); // library.c, unique name and alpha sort - - switch(GS(tselem->id->name)) { - case ID_MA: - WM_event_add_notifier(C, NC_MATERIAL, NULL); break; - case ID_TE: - WM_event_add_notifier(C, NC_TEXTURE, NULL); break; - case ID_IM: - WM_event_add_notifier(C, NC_IMAGE, NULL); break; - case ID_SCE: - WM_event_add_notifier(C, NC_SCENE, NULL); break; - default: - WM_event_add_notifier(C, NC_ID|NA_RENAME, NULL); break; - } - /* Check the library target exists */ - if (te->idcode == ID_LI) { - char expanded[FILE_MAXDIR + FILE_MAXFILE]; - BLI_strncpy(expanded, ((Library *)tselem->id)->name, FILE_MAXDIR + FILE_MAXFILE); - BLI_path_abs(expanded, G.main->name); - if (!BLI_exists(expanded)) { - error("This path does not exist, correct this before saving"); - } - } - } - else { - switch(tselem->type) { - case TSE_DEFGROUP: - defgroup_unique_name(te->directdata, (Object *)tselem->id); // id = object - break; - case TSE_NLA_ACTION: - test_idbutton(tselem->id->name+2); - break; - case TSE_EBONE: - { - bArmature *arm= (bArmature *)tselem->id; - if(arm->edbo) { - EditBone *ebone= te->directdata; - char newname[sizeof(ebone->name)]; - - /* restore bone name */ - BLI_strncpy(newname, ebone->name, sizeof(ebone->name)); - BLI_strncpy(ebone->name, oldname, sizeof(ebone->name)); - ED_armature_bone_rename(obedit->data, oldname, newname); - WM_event_add_notifier(C, NC_OBJECT|ND_POSE, OBACT); - } - } - break; - - case TSE_BONE: - { - Bone *bone= te->directdata; - Object *ob; - char newname[sizeof(bone->name)]; - - // always make current object active - tree_element_set_active_object(C, scene, soops, te, 1); - ob= OBACT; - - /* restore bone name */ - BLI_strncpy(newname, bone->name, sizeof(bone->name)); - BLI_strncpy(bone->name, oldname, sizeof(bone->name)); - ED_armature_bone_rename(ob->data, oldname, newname); - WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob); - } - break; - case TSE_POSE_CHANNEL: - { - bPoseChannel *pchan= te->directdata; - Object *ob; - char newname[sizeof(pchan->name)]; - - // always make current object active - tree_element_set_active_object(C, scene, soops, te, 1); - ob= OBACT; - - /* restore bone name */ - BLI_strncpy(newname, pchan->name, sizeof(pchan->name)); - BLI_strncpy(pchan->name, oldname, sizeof(pchan->name)); - ED_armature_bone_rename(ob->data, oldname, newname); - WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob); - } - break; - case TSE_POSEGRP: - { - Object *ob= (Object *)tselem->id; // id = object - bActionGroup *grp= te->directdata; - - BLI_uniquename(&ob->pose->agroups, grp, "Group", '.', offsetof(bActionGroup, name), sizeof(grp->name)); - WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob); - } - break; - case TSE_R_LAYER: - break; - } - } - tselem->flag &= ~TSE_TEXTBUT; - } -} - -static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, ListBase *lb) -{ - uiBut *bt; - TreeElement *te; - TreeStoreElem *tselem; - Object *ob = NULL; - Group *gr = NULL; - - for(te= lb->first; te; te= te->next) { - tselem= TREESTORE(te); - if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) { - /* objects have toggle-able restriction flags */ - if(tselem->type==0 && te->idcode==ID_OB) { - PointerRNA ptr; - - ob = (Object *)tselem->id; - RNA_pointer_create((ID *)ob, &RNA_Object, ob, &ptr); - - uiBlockSetEmboss(block, UI_EMBOSSN); - bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_VIEW_OFF, - (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, - &ptr, "hide", -1, 0, 0, -1, -1, NULL); - uiButSetFunc(bt, restrictbutton_view_cb, scene, ob); - - bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_SELECT_OFF, - (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, - &ptr, "hide_select", -1, 0, 0, -1, -1, NULL); - uiButSetFunc(bt, restrictbutton_sel_cb, scene, ob); - - bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_RENDER_OFF, - (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, - &ptr, "hide_render", -1, 0, 0, -1, -1, NULL); - uiButSetFunc(bt, restrictbutton_rend_cb, scene, ob); - - uiBlockSetEmboss(block, UI_EMBOSS); - - } - if(tselem->type==0 && te->idcode==ID_GR){ - int restrict_bool; - gr = (Group *)tselem->id; - - uiBlockSetEmboss(block, UI_EMBOSSN); - - restrict_bool= group_restrict_flag(gr, OB_RESTRICT_VIEW); - bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_VIEW_ON : ICON_RESTRICT_VIEW_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View"); - uiButSetFunc(bt, restrictbutton_gr_restrict_view, scene, gr); - - restrict_bool= group_restrict_flag(gr, OB_RESTRICT_SELECT); - bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_SELECT_ON : ICON_RESTRICT_SELECT_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow selection in the 3D View"); - uiButSetFunc(bt, restrictbutton_gr_restrict_select, scene, gr); - - restrict_bool= group_restrict_flag(gr, OB_RESTRICT_RENDER); - bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_RENDER_ON : ICON_RESTRICT_RENDER_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow renderability"); - uiButSetFunc(bt, restrictbutton_gr_restrict_render, scene, gr); - - uiBlockSetEmboss(block, UI_EMBOSS); - } - /* scene render layers and passes have toggle-able flags too! */ - else if(tselem->type==TSE_R_LAYER) { - uiBlockSetEmboss(block, UI_EMBOSSN); - - bt= uiDefIconButBitI(block, ICONTOGN, SCE_LAY_DISABLE, 0, ICON_CHECKBOX_HLT-1, - (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, te->directdata, 0, 0, 0, 0, "Render this RenderLayer"); - uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL); - - uiBlockSetEmboss(block, UI_EMBOSS); - } - else if(tselem->type==TSE_R_PASS) { - int *layflag= te->directdata; - int passflag= 1<nr; - - uiBlockSetEmboss(block, UI_EMBOSSN); - - - bt= uiDefIconButBitI(block, ICONTOG, passflag, 0, ICON_CHECKBOX_HLT-1, - (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, layflag, 0, 0, 0, 0, "Render this Pass"); - uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL); - - layflag++; /* is lay_xor */ - if(ELEM8(passflag, SCE_PASS_SPEC, SCE_PASS_SHADOW, SCE_PASS_AO, SCE_PASS_REFLECT, SCE_PASS_REFRACT, SCE_PASS_INDIRECT, SCE_PASS_EMIT, SCE_PASS_ENVIRONMENT)) - bt= uiDefIconButBitI(block, TOG, passflag, 0, (*layflag & passflag)?ICON_DOT:ICON_BLANK1, - (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, layflag, 0, 0, 0, 0, "Exclude this Pass from Combined"); - uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL); - - uiBlockSetEmboss(block, UI_EMBOSS); - } - else if(tselem->type==TSE_MODIFIER) { - ModifierData *md= (ModifierData *)te->directdata; - ob = (Object *)tselem->id; - - uiBlockSetEmboss(block, UI_EMBOSSN); - bt= uiDefIconButBitI(block, ICONTOGN, eModifierMode_Realtime, 0, ICON_RESTRICT_VIEW_OFF, - (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(md->mode), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View"); - uiButSetFunc(bt, restrictbutton_modifier_cb, scene, ob); - - bt= uiDefIconButBitI(block, ICONTOGN, eModifierMode_Render, 0, ICON_RESTRICT_RENDER_OFF, - (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(md->mode), 0, 0, 0, 0, "Restrict/Allow renderability"); - uiButSetFunc(bt, restrictbutton_modifier_cb, scene, ob); - } - else if(tselem->type==TSE_POSE_CHANNEL) { - bPoseChannel *pchan= (bPoseChannel *)te->directdata; - Bone *bone = pchan->bone; - - uiBlockSetEmboss(block, UI_EMBOSSN); - bt= uiDefIconButBitI(block, ICONTOG, BONE_HIDDEN_P, 0, ICON_RESTRICT_VIEW_OFF, - (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(bone->flag), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View"); - uiButSetFunc(bt, restrictbutton_bone_cb, NULL, bone); - - bt= uiDefIconButBitI(block, ICONTOG, BONE_UNSELECTABLE, 0, ICON_RESTRICT_SELECT_OFF, - (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(bone->flag), 0, 0, 0, 0, "Restrict/Allow selection in the 3D View"); - uiButSetFunc(bt, restrictbutton_bone_cb, NULL, NULL); - } - else if(tselem->type==TSE_EBONE) { - EditBone *ebone= (EditBone *)te->directdata; - - uiBlockSetEmboss(block, UI_EMBOSSN); - bt= uiDefIconButBitI(block, ICONTOG, BONE_HIDDEN_A, 0, ICON_RESTRICT_VIEW_OFF, - (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(ebone->flag), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View"); - uiButSetFunc(bt, restrictbutton_ebone_cb, NULL, ebone); - - bt= uiDefIconButBitI(block, ICONTOG, BONE_UNSELECTABLE, 0, ICON_RESTRICT_SELECT_OFF, - (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(ebone->flag), 0, 0, 0, 0, "Restrict/Allow selection in the 3D View"); - uiButSetFunc(bt, restrictbutton_ebone_cb, NULL, NULL); - } - } - - if((tselem->flag & TSE_CLOSED)==0) outliner_draw_restrictbuts(block, scene, ar, soops, &te->subtree); - } -} - -static void outliner_draw_rnacols(ARegion *ar, int sizex) -{ - View2D *v2d= &ar->v2d; - - float miny = v2d->cur.ymin-V2D_SCROLL_HEIGHT; - if(minytot.ymin) miny = v2d->tot.ymin; - - UI_ThemeColorShadeAlpha(TH_BACK, -15, -200); - - /* draw column separator lines */ - fdrawline((float)sizex, - v2d->cur.ymax, - (float)sizex, - miny); - - fdrawline((float)sizex+OL_RNA_COL_SIZEX, - v2d->cur.ymax, - (float)sizex+OL_RNA_COL_SIZEX, - miny); -} - -static void outliner_draw_rnabuts(uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, int sizex, ListBase *lb) -{ - TreeElement *te; - TreeStoreElem *tselem; - PointerRNA *ptr; - PropertyRNA *prop; - - uiBlockSetEmboss(block, UI_EMBOSST); - - for(te= lb->first; te; te= te->next) { - tselem= TREESTORE(te); - if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) { - if(tselem->type == TSE_RNA_PROPERTY) { - ptr= &te->rnaptr; - prop= te->directdata; - - if(!(RNA_property_type(prop) == PROP_POINTER && (tselem->flag & TSE_CLOSED)==0)) - uiDefAutoButR(block, ptr, prop, -1, "", ICON_NONE, sizex, (int)te->ys, OL_RNA_COL_SIZEX, UI_UNIT_Y-1); - } - else if(tselem->type == TSE_RNA_ARRAY_ELEM) { - ptr= &te->rnaptr; - prop= te->directdata; - - uiDefAutoButR(block, ptr, prop, te->index, "", ICON_NONE, sizex, (int)te->ys, OL_RNA_COL_SIZEX, UI_UNIT_Y-1); - } - } - - if((tselem->flag & TSE_CLOSED)==0) outliner_draw_rnabuts(block, scene, ar, soops, sizex, &te->subtree); - } -} - -static void operator_call_cb(struct bContext *UNUSED(C), void *arg_kmi, void *arg2) -{ - wmOperatorType *ot= arg2; - wmKeyMapItem *kmi= arg_kmi; - - if(ot) - BLI_strncpy(kmi->idname, ot->idname, OP_MAX_TYPENAME); -} - -static void operator_search_cb(const struct bContext *UNUSED(C), void *UNUSED(arg_kmi), const char *str, uiSearchItems *items) -{ - wmOperatorType *ot = WM_operatortype_first(); - - for(; ot; ot= ot->next) { - - if(BLI_strcasestr(ot->idname, str)) { - char name[OP_MAX_TYPENAME]; - - /* display name for menu */ - WM_operator_py_idname(name, ot->idname); - - if(0==uiSearchItemAdd(items, name, ot, 0)) - break; - } - } -} - -/* operator Search browse menu, open */ -static uiBlock *operator_search_menu(bContext *C, ARegion *ar, void *arg_kmi) -{ - static char search[OP_MAX_TYPENAME]; - wmEvent event; - wmWindow *win= CTX_wm_window(C); - wmKeyMapItem *kmi= arg_kmi; - wmOperatorType *ot= WM_operatortype_find(kmi->idname, 0); - uiBlock *block; - uiBut *but; - - /* clear initial search string, then all items show */ - search[0]= 0; - - block= uiBeginBlock(C, ar, "_popup", UI_EMBOSS); - uiBlockSetFlag(block, UI_BLOCK_LOOP|UI_BLOCK_REDRAW|UI_BLOCK_RET_1); - - /* fake button, it holds space for search items */ - uiDefBut(block, LABEL, 0, "", 10, 15, 150, uiSearchBoxhHeight(), NULL, 0, 0, 0, 0, NULL); - - but= uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, 256, 10, 0, 150, UI_UNIT_Y, 0, 0, ""); - uiButSetSearchFunc(but, operator_search_cb, arg_kmi, operator_call_cb, ot); - - uiBoundsBlock(block, 6); - uiBlockSetDirection(block, UI_DOWN); - uiEndBlock(C, block); - - event= *(win->eventstate); /* XXX huh huh? make api call */ - event.type= EVT_BUT_OPEN; - event.val= KM_PRESS; - event.customdata= but; - event.customdatafree= FALSE; - wm_event_add(win, &event); - - return block; -} - -#define OL_KM_KEYBOARD 0 -#define OL_KM_MOUSE 1 -#define OL_KM_TWEAK 2 -#define OL_KM_SPECIALS 3 - -static short keymap_menu_type(short type) -{ - if(ISKEYBOARD(type)) return OL_KM_KEYBOARD; - if(ISTWEAK(type)) return OL_KM_TWEAK; - if(ISMOUSE(type)) return OL_KM_MOUSE; -// return OL_KM_SPECIALS; - return 0; -} - -static const char *keymap_type_menu(void) -{ - static const char string[]= - "Event Type%t" - "|Keyboard%x" STRINGIFY(OL_KM_KEYBOARD) - "|Mouse%x" STRINGIFY(OL_KM_MOUSE) - "|Tweak%x" STRINGIFY(OL_KM_TWEAK) -// "|Specials%x" STRINGIFY(OL_KM_SPECIALS) - ; - - return string; -} - -static const char *keymap_mouse_menu(void) -{ - static const char string[]= - "Mouse Event%t" - "|Left Mouse%x" STRINGIFY(LEFTMOUSE) - "|Middle Mouse%x" STRINGIFY(MIDDLEMOUSE) - "|Right Mouse%x" STRINGIFY(RIGHTMOUSE) - "|Middle Mouse%x" STRINGIFY(MIDDLEMOUSE) - "|Right Mouse%x" STRINGIFY(RIGHTMOUSE) - "|Button4 Mouse%x" STRINGIFY(BUTTON4MOUSE) - "|Button5 Mouse%x" STRINGIFY(BUTTON5MOUSE) - "|Action Mouse%x" STRINGIFY(ACTIONMOUSE) - "|Select Mouse%x" STRINGIFY(SELECTMOUSE) - "|Mouse Move%x" STRINGIFY(MOUSEMOVE) - "|Wheel Up%x" STRINGIFY(WHEELUPMOUSE) - "|Wheel Down%x" STRINGIFY(WHEELDOWNMOUSE) - "|Wheel In%x" STRINGIFY(WHEELINMOUSE) - "|Wheel Out%x" STRINGIFY(WHEELOUTMOUSE) - "|Mouse/Trackpad Pan%x" STRINGIFY(MOUSEPAN) - "|Mouse/Trackpad Zoom%x" STRINGIFY(MOUSEZOOM) - "|Mouse/Trackpad Rotate%x" STRINGIFY(MOUSEROTATE) - ; - - return string; -} - -static const char *keymap_tweak_menu(void) -{ - static const char string[]= - "Tweak Event%t" - "|Left Mouse%x" STRINGIFY(EVT_TWEAK_L) - "|Middle Mouse%x" STRINGIFY(EVT_TWEAK_M) - "|Right Mouse%x" STRINGIFY(EVT_TWEAK_R) - "|Action Mouse%x" STRINGIFY(EVT_TWEAK_A) - "|Select Mouse%x" STRINGIFY(EVT_TWEAK_S) - ; - - return string; -} - -static const char *keymap_tweak_dir_menu(void) -{ - static const char string[]= - "Tweak Direction%t" - "|Any%x" STRINGIFY(KM_ANY) - "|North%x" STRINGIFY(EVT_GESTURE_N) - "|North-East%x" STRINGIFY(EVT_GESTURE_NE) - "|East%x" STRINGIFY(EVT_GESTURE_E) - "|Sout-East%x" STRINGIFY(EVT_GESTURE_SE) - "|South%x" STRINGIFY(EVT_GESTURE_S) - "|South-West%x" STRINGIFY(EVT_GESTURE_SW) - "|West%x" STRINGIFY(EVT_GESTURE_W) - "|North-West%x" STRINGIFY(EVT_GESTURE_NW) - ; - - return string; -} - - -static void keymap_type_cb(bContext *C, void *kmi_v, void *UNUSED(arg_v)) -{ - wmKeyMapItem *kmi= kmi_v; - short maptype= keymap_menu_type(kmi->type); - - if(maptype!=kmi->maptype) { - switch(kmi->maptype) { - case OL_KM_KEYBOARD: - kmi->type= AKEY; - kmi->val= KM_PRESS; - break; - case OL_KM_MOUSE: - kmi->type= LEFTMOUSE; - kmi->val= KM_PRESS; - break; - case OL_KM_TWEAK: - kmi->type= EVT_TWEAK_L; - kmi->val= KM_ANY; - break; - case OL_KM_SPECIALS: - kmi->type= AKEY; - kmi->val= KM_PRESS; - } - ED_region_tag_redraw(CTX_wm_region(C)); - } -} - -static void outliner_draw_keymapbuts(uiBlock *block, ARegion *ar, SpaceOops *soops, ListBase *lb) -{ - TreeElement *te; - TreeStoreElem *tselem; - - uiBlockSetEmboss(block, UI_EMBOSST); - - for(te= lb->first; te; te= te->next) { - tselem= TREESTORE(te); - if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) { - uiBut *but; - const char *str; - int xstart= 240; - int butw1= UI_UNIT_X; /* operator */ - int butw2= 90; /* event type, menus */ - int butw3= 43; /* modifiers */ - - if(tselem->type == TSE_KEYMAP_ITEM) { - wmKeyMapItem *kmi= te->directdata; - - /* modal map? */ - if(kmi->propvalue); - else { - uiDefBlockBut(block, operator_search_menu, kmi, "", xstart, (int)te->ys+1, butw1, UI_UNIT_Y-1, "Assign new Operator"); - } - xstart+= butw1+10; - - /* map type button */ - kmi->maptype= keymap_menu_type(kmi->type); - - str= keymap_type_menu(); - but= uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->maptype, 0, 0, 0, 0, "Event type"); - uiButSetFunc(but, keymap_type_cb, kmi, NULL); - xstart+= butw2+5; - - /* edit actual event */ - switch(kmi->maptype) { - case OL_KM_KEYBOARD: - uiDefKeyevtButS(block, 0, "", xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, "Key code"); - xstart+= butw2+5; - break; - case OL_KM_MOUSE: - str= keymap_mouse_menu(); - uiDefButS(block, MENU, 0, str, xstart,(int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, 0, 0, 0, 0, "Mouse button"); - xstart+= butw2+5; - break; - case OL_KM_TWEAK: - str= keymap_tweak_menu(); - uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, 0, 0, 0, 0, "Tweak gesture"); - xstart+= butw2+5; - str= keymap_tweak_dir_menu(); - uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->val, 0, 0, 0, 0, "Tweak gesture direction"); - xstart+= butw2+5; - break; - } - - /* modifiers */ - uiDefButS(block, OPTION, 0, "Shift", xstart, (int)te->ys+1, butw3+5, UI_UNIT_Y-1, &kmi->shift, 0, 0, 0, 0, "Modifier"); xstart+= butw3+5; - uiDefButS(block, OPTION, 0, "Ctrl", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->ctrl, 0, 0, 0, 0, "Modifier"); xstart+= butw3; - uiDefButS(block, OPTION, 0, "Alt", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->alt, 0, 0, 0, 0, "Modifier"); xstart+= butw3; - uiDefButS(block, OPTION, 0, "OS", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->oskey, 0, 0, 0, 0, "Modifier"); xstart+= butw3; - xstart+= 5; - uiDefKeyevtButS(block, 0, "", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->keymodifier, "Key Modifier code"); - xstart+= butw3+5; - - /* rna property */ - if(kmi->ptr && kmi->ptr->data) { - uiDefBut(block, LABEL, 0, "(RNA property)", xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->oskey, 0, 0, 0, 0, ""); xstart+= butw2; - } - - (void)xstart; - } - } - - if((tselem->flag & TSE_CLOSED)==0) outliner_draw_keymapbuts(block, ar, soops, &te->subtree); - } -} - - -static void outliner_buttons(const bContext *C, uiBlock *block, ARegion *ar, SpaceOops *soops, ListBase *lb) -{ - uiBut *bt; - TreeElement *te; - TreeStoreElem *tselem; - int spx, dx, len; - - for(te= lb->first; te; te= te->next) { - tselem= TREESTORE(te); - if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) { - - if(tselem->flag & TSE_TEXTBUT) { - - /* If we add support to rename Sequence. - * need change this. - */ - if(tselem->type == TSE_POSE_BASE) continue; // prevent crash when trying to rename 'pose' entry of armature - - if(tselem->type==TSE_EBONE) len = sizeof(((EditBone*) 0)->name); - else if (tselem->type==TSE_MODIFIER) len = sizeof(((ModifierData*) 0)->name); - else if(tselem->id && GS(tselem->id->name)==ID_LI) len = sizeof(((Library*) 0)->name); - else len= MAX_ID_NAME-2; - - - dx= (int)UI_GetStringWidth(te->name); - if(dx<100) dx= 100; - spx=te->xs+2*UI_UNIT_X-4; - if(spx+dx+10>ar->v2d.cur.xmax) dx = ar->v2d.cur.xmax-spx-10; - - bt= uiDefBut(block, TEX, OL_NAMEBUTTON, "", spx, (int)te->ys, dx+10, UI_UNIT_Y-1, (void *)te->name, 1.0, (float)len, 0, 0, ""); - uiButSetRenameFunc(bt, namebutton_cb, tselem); - - /* returns false if button got removed */ - if( 0 == uiButActiveOnly(C, block, bt) ) - tselem->flag &= ~TSE_TEXTBUT; - } - } - - if((tselem->flag & TSE_CLOSED)==0) outliner_buttons(C, block, ar, soops, &te->subtree); - } -} - -void draw_outliner(const bContext *C) -{ - Main *mainvar= CTX_data_main(C); - Scene *scene= CTX_data_scene(C); - ARegion *ar= CTX_wm_region(C); - View2D *v2d= &ar->v2d; - SpaceOops *soops= CTX_wm_space_outliner(C); - uiBlock *block; - int sizey= 0, sizex= 0, sizex_rna= 0; - - outliner_build_tree(mainvar, scene, soops); // always - - /* get extents of data */ - outliner_height(soops, &soops->tree, &sizey); - - if (ELEM3(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF, SO_KEYMAP)) { - /* RNA has two columns: - * - column 1 is (max_width + OL_RNA_COL_SPACEX) or - * (OL_RNA_COL_X), whichever is wider... - * - column 2 is fixed at OL_RNA_COL_SIZEX - * - * (*) XXX max width for now is a fixed factor of UI_UNIT_X*(max_indention+100) - */ - - /* get actual width of column 1 */ - outliner_rna_width(soops, &soops->tree, &sizex_rna, 0); - sizex_rna= MAX2(OL_RNA_COLX, sizex_rna+OL_RNA_COL_SPACEX); - - /* get width of data (for setting 'tot' rect, this is column 1 + column 2 + a bit extra) */ - if (soops->outlinevis == SO_KEYMAP) - sizex= sizex_rna + OL_RNA_COL_SIZEX*3 + 50; // XXX this is only really a quick hack to make this wide enough... - else - sizex= sizex_rna + OL_RNA_COL_SIZEX + 50; - } - else { - /* width must take into account restriction columns (if visible) so that entries will still be visible */ - //outliner_width(soops, &soops->tree, &sizex); - outliner_rna_width(soops, &soops->tree, &sizex, 0); // XXX should use outliner_width instead when te->xend will be set correctly... - - /* constant offset for restriction columns */ - // XXX this isn't that great yet... - if ((soops->flag & SO_HIDE_RESTRICTCOLS)==0) - sizex += OL_TOGW*3; - } - - /* tweak to display last line (when list bigger than window) */ - sizey += V2D_SCROLL_HEIGHT; - - /* adds vertical offset */ - sizey += OL_Y_OFFSET; - - /* update size of tot-rect (extents of data/viewable area) */ - UI_view2d_totRect_set(v2d, sizex, sizey); - - /* force display to pixel coords */ - v2d->flag |= (V2D_PIXELOFS_X|V2D_PIXELOFS_Y); - /* set matrix for 2d-view controls */ - UI_view2d_view_ortho(v2d); - - /* draw outliner stuff (background, hierachy lines and names) */ - outliner_back(ar); - block= uiBeginBlock(C, ar, "outliner buttons", UI_EMBOSS); - outliner_draw_tree((bContext *)C, block, scene, ar, soops); - - if(ELEM(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF)) { - /* draw rna buttons */ - outliner_draw_rnacols(ar, sizex_rna); - outliner_draw_rnabuts(block, scene, ar, soops, sizex_rna, &soops->tree); - } - else if(soops->outlinevis == SO_KEYMAP) { - outliner_draw_keymapbuts(block, ar, soops, &soops->tree); - } - else if (!(soops->flag & SO_HIDE_RESTRICTCOLS)) { - /* draw restriction columns */ - outliner_draw_restrictcols(ar); - outliner_draw_restrictbuts(block, scene, ar, soops, &soops->tree); - } - - /* draw edit buttons if nessecery */ - outliner_buttons(C, block, ar, soops, &soops->tree); - - uiEndBlock(C, block); - uiDrawBlock(C, block); - - /* clear flag that allows quick redraws */ - soops->storeflag &= ~SO_TREESTORE_REDRAW; -} - diff --git a/source/blender/editors/space_outliner/outliner_draw.c b/source/blender/editors/space_outliner/outliner_draw.c new file mode 100644 index 00000000000..17b44022c80 --- /dev/null +++ b/source/blender/editors/space_outliner/outliner_draw.c @@ -0,0 +1,1671 @@ +/* + * $Id$ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2004 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): Joshua Leung + * + * ***** END GPL LICENSE BLOCK ***** + */ + +/** \file blender/editors/space_outliner/outliner_draw.c + * \ingroup spoutliner + */ + +#include +#include + +#include "MEM_guardedalloc.h" + +#include "DNA_anim_types.h" +#include "DNA_armature_types.h" +#include "DNA_camera_types.h" +#include "DNA_group_types.h" +#include "DNA_key_types.h" +#include "DNA_lamp_types.h" +#include "DNA_material_types.h" +#include "DNA_mesh_types.h" +#include "DNA_meta_types.h" +#include "DNA_particle_types.h" +#include "DNA_scene_types.h" +#include "DNA_world_types.h" +#include "DNA_sequence_types.h" +#include "DNA_object_types.h" + +#include "BLI_blenlib.h" +#include "BLI_utildefines.h" + +#include "BKE_animsys.h" +#include "BKE_context.h" +#include "BKE_deform.h" +#include "BKE_depsgraph.h" +#include "BKE_fcurve.h" +#include "BKE_global.h" +#include "BKE_group.h" +#include "BKE_library.h" +#include "BKE_main.h" +#include "BKE_modifier.h" +#include "BKE_report.h" +#include "BKE_scene.h" +#include "BKE_sequencer.h" + +#include "BLI_ghash.h" + +#include "ED_armature.h" +#include "ED_object.h" +#include "ED_screen.h" +#include "ED_util.h" + +#include "WM_api.h" +#include "WM_types.h" + +#include "BIF_gl.h" +#include "BIF_glutil.h" + +#include "UI_interface.h" +#include "UI_interface_icons.h" +#include "UI_resources.h" +#include "UI_view2d.h" + +#include "RNA_access.h" +#include "RNA_define.h" + +#include "outliner_intern.h" + +/* ****************************************************** */ +/* Tree Size Functions */ + +static void outliner_height(SpaceOops *soops, ListBase *lb, int *h) +{ + TreeElement *te= lb->first; + while(te) { + TreeStoreElem *tselem= TREESTORE(te); + if((tselem->flag & TSE_CLOSED)==0) + outliner_height(soops, &te->subtree, h); + (*h) += UI_UNIT_Y; + te= te->next; + } +} + +#if 0 // XXX this is currently disabled until te->xend is set correctly +static void outliner_width(SpaceOops *soops, ListBase *lb, int *w) +{ + TreeElement *te= lb->first; + while(te) { +// TreeStoreElem *tselem= TREESTORE(te); + + // XXX fixme... te->xend is not set yet + if(tselem->flag & TSE_CLOSED) { + if (te->xend > *w) + *w = te->xend; + } + outliner_width(soops, &te->subtree, w); + te= te->next; + } +} +#endif + +static void outliner_rna_width(SpaceOops *soops, ListBase *lb, int *w, int startx) +{ + TreeElement *te= lb->first; + while(te) { + TreeStoreElem *tselem= TREESTORE(te); + // XXX fixme... (currently, we're using a fixed length of 100)! + /*if(te->xend) { + if(te->xend > *w) + *w = te->xend; + }*/ + if(startx+100 > *w) + *w = startx+100; + + if((tselem->flag & TSE_CLOSED)==0) + outliner_rna_width(soops, &te->subtree, w, startx+UI_UNIT_X); + te= te->next; + } +} + +/* ****************************************************** */ + +static void restrictbutton_view_cb(bContext *C, void *poin, void *poin2) +{ + Scene *scene = (Scene *)poin; + Object *ob = (Object *)poin2; + + if(!common_restrict_check(C, ob)) return; + + /* deselect objects that are invisible */ + if (ob->restrictflag & OB_RESTRICT_VIEW) { + /* Ouch! There is no backwards pointer from Object to Base, + * so have to do loop to find it. */ + ED_base_object_select(object_in_scene(ob, scene), BA_DESELECT); + } + WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); + +} + +static void restrictbutton_sel_cb(bContext *C, void *poin, void *poin2) +{ + Scene *scene = (Scene *)poin; + Object *ob = (Object *)poin2; + + if(!common_restrict_check(C, ob)) return; + + /* if select restriction has just been turned on */ + if (ob->restrictflag & OB_RESTRICT_SELECT) { + /* Ouch! There is no backwards pointer from Object to Base, + * so have to do loop to find it. */ + ED_base_object_select(object_in_scene(ob, scene), BA_DESELECT); + } + WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); + +} + +static void restrictbutton_rend_cb(bContext *C, void *poin, void *UNUSED(poin2)) +{ + WM_event_add_notifier(C, NC_SCENE|ND_OB_RENDER, poin); +} + +static void restrictbutton_r_lay_cb(bContext *C, void *poin, void *UNUSED(poin2)) +{ + WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, poin); +} + +static void restrictbutton_modifier_cb(bContext *C, void *UNUSED(poin), void *poin2) +{ + Object *ob = (Object *)poin2; + + DAG_id_tag_update(&ob->id, OB_RECALC_DATA); + + WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob); +} + +static void restrictbutton_bone_cb(bContext *C, void *UNUSED(poin), void *poin2) +{ + Bone *bone= (Bone *)poin2; + if(bone && (bone->flag & BONE_HIDDEN_P)) + bone->flag &= ~(BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL); + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL); +} + +static void restrictbutton_ebone_cb(bContext *C, void *UNUSED(poin), void *poin2) +{ + EditBone *ebone= (EditBone *)poin2; + if(ebone && (ebone->flag & BONE_HIDDEN_A)) + ebone->flag &= ~(BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL); + + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL); +} + +static int group_restrict_flag(Group *gr, int flag) +{ + GroupObject *gob; + + for(gob= gr->gobject.first; gob; gob= gob->next) { + if((gob->ob->restrictflag & flag) == 0) + return 0; + } + + return 1; +} + +static int group_select_flag(Group *gr) +{ + GroupObject *gob; + + for(gob= gr->gobject.first; gob; gob= gob->next) + if((gob->ob->flag & SELECT)) + return 1; + + return 0; +} + +static void restrictbutton_gr_restrict_flag(void *poin, void *poin2, int flag) +{ + Scene *scene = (Scene *)poin; + GroupObject *gob; + Group *gr = (Group *)poin2; + + if(group_restrict_flag(gr, flag)) { + for(gob= gr->gobject.first; gob; gob= gob->next) { + gob->ob->restrictflag &= ~flag; + + if(flag==OB_RESTRICT_VIEW) + if(gob->ob->flag & SELECT) + ED_base_object_select(object_in_scene(gob->ob, scene), BA_DESELECT); + } + } + else { + for(gob= gr->gobject.first; gob; gob= gob->next) { + /* not in editmode */ + if(scene->obedit!=gob->ob) { + gob->ob->restrictflag |= flag; + + if(flag==OB_RESTRICT_VIEW) + if((gob->ob->flag & SELECT) == 0) + ED_base_object_select(object_in_scene(gob->ob, scene), BA_SELECT); + } + } + } +} + +static void restrictbutton_gr_restrict_view(bContext *C, void *poin, void *poin2) +{ + restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_VIEW); + WM_event_add_notifier(C, NC_GROUP, NULL); +} +static void restrictbutton_gr_restrict_select(bContext *C, void *poin, void *poin2) +{ + restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_SELECT); + WM_event_add_notifier(C, NC_GROUP, NULL); +} +static void restrictbutton_gr_restrict_render(bContext *C, void *poin, void *poin2) +{ + restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_RENDER); + WM_event_add_notifier(C, NC_GROUP, NULL); +} + + +static void namebutton_cb(bContext *C, void *tsep, char *oldname) +{ + SpaceOops *soops= CTX_wm_space_outliner(C); + Scene *scene= CTX_data_scene(C); + Object *obedit= CTX_data_edit_object(C); + TreeStore *ts= soops->treestore; + TreeStoreElem *tselem= tsep; + + if(ts && tselem) { + TreeElement *te= outliner_find_tse(soops, tselem); + + if(tselem->type==0) { + test_idbutton(tselem->id->name+2); // library.c, unique name and alpha sort + + switch(GS(tselem->id->name)) { + case ID_MA: + WM_event_add_notifier(C, NC_MATERIAL, NULL); break; + case ID_TE: + WM_event_add_notifier(C, NC_TEXTURE, NULL); break; + case ID_IM: + WM_event_add_notifier(C, NC_IMAGE, NULL); break; + case ID_SCE: + WM_event_add_notifier(C, NC_SCENE, NULL); break; + default: + WM_event_add_notifier(C, NC_ID|NA_RENAME, NULL); break; + } + /* Check the library target exists */ + if (te->idcode == ID_LI) { + char expanded[FILE_MAXDIR + FILE_MAXFILE]; + BLI_strncpy(expanded, ((Library *)tselem->id)->name, FILE_MAXDIR + FILE_MAXFILE); + BLI_path_abs(expanded, G.main->name); + if (!BLI_exists(expanded)) { + BKE_report(CTX_wm_reports(C), RPT_ERROR, "This path does not exist, correct this before saving"); + } + } + } + else { + switch(tselem->type) { + case TSE_DEFGROUP: + defgroup_unique_name(te->directdata, (Object *)tselem->id); // id = object + break; + case TSE_NLA_ACTION: + test_idbutton(tselem->id->name+2); + break; + case TSE_EBONE: + { + bArmature *arm= (bArmature *)tselem->id; + if(arm->edbo) { + EditBone *ebone= te->directdata; + char newname[sizeof(ebone->name)]; + + /* restore bone name */ + BLI_strncpy(newname, ebone->name, sizeof(ebone->name)); + BLI_strncpy(ebone->name, oldname, sizeof(ebone->name)); + ED_armature_bone_rename(obedit->data, oldname, newname); + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, OBACT); + } + } + break; + + case TSE_BONE: + { + Bone *bone= te->directdata; + Object *ob; + char newname[sizeof(bone->name)]; + + // always make current object active + tree_element_active(C, scene, soops, te, 1); // was set_active_object() + ob= OBACT; + + /* restore bone name */ + BLI_strncpy(newname, bone->name, sizeof(bone->name)); + BLI_strncpy(bone->name, oldname, sizeof(bone->name)); + ED_armature_bone_rename(ob->data, oldname, newname); + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob); + } + break; + case TSE_POSE_CHANNEL: + { + bPoseChannel *pchan= te->directdata; + Object *ob; + char newname[sizeof(pchan->name)]; + + // always make current object active + tree_element_active(C, scene, soops, te, 1); // was set_active_object() + ob= OBACT; + + /* restore bone name */ + BLI_strncpy(newname, pchan->name, sizeof(pchan->name)); + BLI_strncpy(pchan->name, oldname, sizeof(pchan->name)); + ED_armature_bone_rename(ob->data, oldname, newname); + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob); + } + break; + case TSE_POSEGRP: + { + Object *ob= (Object *)tselem->id; // id = object + bActionGroup *grp= te->directdata; + + BLI_uniquename(&ob->pose->agroups, grp, "Group", '.', offsetof(bActionGroup, name), sizeof(grp->name)); + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob); + } + break; + case TSE_R_LAYER: + break; + } + } + tselem->flag &= ~TSE_TEXTBUT; + } +} + +static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, ListBase *lb) +{ + uiBut *bt; + TreeElement *te; + TreeStoreElem *tselem; + Object *ob = NULL; + Group *gr = NULL; + + for(te= lb->first; te; te= te->next) { + tselem= TREESTORE(te); + if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) { + /* objects have toggle-able restriction flags */ + if(tselem->type==0 && te->idcode==ID_OB) { + PointerRNA ptr; + + ob = (Object *)tselem->id; + RNA_pointer_create((ID *)ob, &RNA_Object, ob, &ptr); + + uiBlockSetEmboss(block, UI_EMBOSSN); + bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_VIEW_OFF, + (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, + &ptr, "hide", -1, 0, 0, -1, -1, NULL); + uiButSetFunc(bt, restrictbutton_view_cb, scene, ob); + + bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_SELECT_OFF, + (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, + &ptr, "hide_select", -1, 0, 0, -1, -1, NULL); + uiButSetFunc(bt, restrictbutton_sel_cb, scene, ob); + + bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_RENDER_OFF, + (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, + &ptr, "hide_render", -1, 0, 0, -1, -1, NULL); + uiButSetFunc(bt, restrictbutton_rend_cb, scene, ob); + + uiBlockSetEmboss(block, UI_EMBOSS); + + } + if(tselem->type==0 && te->idcode==ID_GR){ + int restrict_bool; + gr = (Group *)tselem->id; + + uiBlockSetEmboss(block, UI_EMBOSSN); + + restrict_bool= group_restrict_flag(gr, OB_RESTRICT_VIEW); + bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_VIEW_ON : ICON_RESTRICT_VIEW_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View"); + uiButSetFunc(bt, restrictbutton_gr_restrict_view, scene, gr); + + restrict_bool= group_restrict_flag(gr, OB_RESTRICT_SELECT); + bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_SELECT_ON : ICON_RESTRICT_SELECT_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow selection in the 3D View"); + uiButSetFunc(bt, restrictbutton_gr_restrict_select, scene, gr); + + restrict_bool= group_restrict_flag(gr, OB_RESTRICT_RENDER); + bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_RENDER_ON : ICON_RESTRICT_RENDER_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow renderability"); + uiButSetFunc(bt, restrictbutton_gr_restrict_render, scene, gr); + + uiBlockSetEmboss(block, UI_EMBOSS); + } + /* scene render layers and passes have toggle-able flags too! */ + else if(tselem->type==TSE_R_LAYER) { + uiBlockSetEmboss(block, UI_EMBOSSN); + + bt= uiDefIconButBitI(block, ICONTOGN, SCE_LAY_DISABLE, 0, ICON_CHECKBOX_HLT-1, + (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, te->directdata, 0, 0, 0, 0, "Render this RenderLayer"); + uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL); + + uiBlockSetEmboss(block, UI_EMBOSS); + } + else if(tselem->type==TSE_R_PASS) { + int *layflag= te->directdata; + int passflag= 1<nr; + + uiBlockSetEmboss(block, UI_EMBOSSN); + + + bt= uiDefIconButBitI(block, ICONTOG, passflag, 0, ICON_CHECKBOX_HLT-1, + (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, layflag, 0, 0, 0, 0, "Render this Pass"); + uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL); + + layflag++; /* is lay_xor */ + if(ELEM8(passflag, SCE_PASS_SPEC, SCE_PASS_SHADOW, SCE_PASS_AO, SCE_PASS_REFLECT, SCE_PASS_REFRACT, SCE_PASS_INDIRECT, SCE_PASS_EMIT, SCE_PASS_ENVIRONMENT)) + bt= uiDefIconButBitI(block, TOG, passflag, 0, (*layflag & passflag)?ICON_DOT:ICON_BLANK1, + (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, layflag, 0, 0, 0, 0, "Exclude this Pass from Combined"); + uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL); + + uiBlockSetEmboss(block, UI_EMBOSS); + } + else if(tselem->type==TSE_MODIFIER) { + ModifierData *md= (ModifierData *)te->directdata; + ob = (Object *)tselem->id; + + uiBlockSetEmboss(block, UI_EMBOSSN); + bt= uiDefIconButBitI(block, ICONTOGN, eModifierMode_Realtime, 0, ICON_RESTRICT_VIEW_OFF, + (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(md->mode), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View"); + uiButSetFunc(bt, restrictbutton_modifier_cb, scene, ob); + + bt= uiDefIconButBitI(block, ICONTOGN, eModifierMode_Render, 0, ICON_RESTRICT_RENDER_OFF, + (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(md->mode), 0, 0, 0, 0, "Restrict/Allow renderability"); + uiButSetFunc(bt, restrictbutton_modifier_cb, scene, ob); + } + else if(tselem->type==TSE_POSE_CHANNEL) { + bPoseChannel *pchan= (bPoseChannel *)te->directdata; + Bone *bone = pchan->bone; + + uiBlockSetEmboss(block, UI_EMBOSSN); + bt= uiDefIconButBitI(block, ICONTOG, BONE_HIDDEN_P, 0, ICON_RESTRICT_VIEW_OFF, + (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(bone->flag), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View"); + uiButSetFunc(bt, restrictbutton_bone_cb, NULL, bone); + + bt= uiDefIconButBitI(block, ICONTOG, BONE_UNSELECTABLE, 0, ICON_RESTRICT_SELECT_OFF, + (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(bone->flag), 0, 0, 0, 0, "Restrict/Allow selection in the 3D View"); + uiButSetFunc(bt, restrictbutton_bone_cb, NULL, NULL); + } + else if(tselem->type==TSE_EBONE) { + EditBone *ebone= (EditBone *)te->directdata; + + uiBlockSetEmboss(block, UI_EMBOSSN); + bt= uiDefIconButBitI(block, ICONTOG, BONE_HIDDEN_A, 0, ICON_RESTRICT_VIEW_OFF, + (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(ebone->flag), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View"); + uiButSetFunc(bt, restrictbutton_ebone_cb, NULL, ebone); + + bt= uiDefIconButBitI(block, ICONTOG, BONE_UNSELECTABLE, 0, ICON_RESTRICT_SELECT_OFF, + (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(ebone->flag), 0, 0, 0, 0, "Restrict/Allow selection in the 3D View"); + uiButSetFunc(bt, restrictbutton_ebone_cb, NULL, NULL); + } + } + + if((tselem->flag & TSE_CLOSED)==0) outliner_draw_restrictbuts(block, scene, ar, soops, &te->subtree); + } +} + +static void outliner_draw_rnacols(ARegion *ar, int sizex) +{ + View2D *v2d= &ar->v2d; + + float miny = v2d->cur.ymin-V2D_SCROLL_HEIGHT; + if(minytot.ymin) miny = v2d->tot.ymin; + + UI_ThemeColorShadeAlpha(TH_BACK, -15, -200); + + /* draw column separator lines */ + fdrawline((float)sizex, + v2d->cur.ymax, + (float)sizex, + miny); + + fdrawline((float)sizex+OL_RNA_COL_SIZEX, + v2d->cur.ymax, + (float)sizex+OL_RNA_COL_SIZEX, + miny); +} + +static void outliner_draw_rnabuts(uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, int sizex, ListBase *lb) +{ + TreeElement *te; + TreeStoreElem *tselem; + PointerRNA *ptr; + PropertyRNA *prop; + + uiBlockSetEmboss(block, UI_EMBOSST); + + for(te= lb->first; te; te= te->next) { + tselem= TREESTORE(te); + if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) { + if(tselem->type == TSE_RNA_PROPERTY) { + ptr= &te->rnaptr; + prop= te->directdata; + + if(!(RNA_property_type(prop) == PROP_POINTER && (tselem->flag & TSE_CLOSED)==0)) + uiDefAutoButR(block, ptr, prop, -1, "", ICON_NONE, sizex, (int)te->ys, OL_RNA_COL_SIZEX, UI_UNIT_Y-1); + } + else if(tselem->type == TSE_RNA_ARRAY_ELEM) { + ptr= &te->rnaptr; + prop= te->directdata; + + uiDefAutoButR(block, ptr, prop, te->index, "", ICON_NONE, sizex, (int)te->ys, OL_RNA_COL_SIZEX, UI_UNIT_Y-1); + } + } + + if((tselem->flag & TSE_CLOSED)==0) outliner_draw_rnabuts(block, scene, ar, soops, sizex, &te->subtree); + } +} + +static void operator_call_cb(struct bContext *UNUSED(C), void *arg_kmi, void *arg2) +{ + wmOperatorType *ot= arg2; + wmKeyMapItem *kmi= arg_kmi; + + if(ot) + BLI_strncpy(kmi->idname, ot->idname, OP_MAX_TYPENAME); +} + +static void operator_search_cb(const struct bContext *UNUSED(C), void *UNUSED(arg_kmi), const char *str, uiSearchItems *items) +{ + GHashIterator *iter= WM_operatortype_iter(); + + for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) { + wmOperatorType *ot= BLI_ghashIterator_getValue(iter); + + if(BLI_strcasestr(ot->idname, str)) { + char name[OP_MAX_TYPENAME]; + + /* display name for menu */ + WM_operator_py_idname(name, ot->idname); + + if(0==uiSearchItemAdd(items, name, ot, 0)) + break; + } + } + BLI_ghashIterator_free(iter); +} + +/* operator Search browse menu, open */ +static uiBlock *operator_search_menu(bContext *C, ARegion *ar, void *arg_kmi) +{ + static char search[OP_MAX_TYPENAME]; + wmEvent event; + wmWindow *win= CTX_wm_window(C); + wmKeyMapItem *kmi= arg_kmi; + wmOperatorType *ot= WM_operatortype_find(kmi->idname, 0); + uiBlock *block; + uiBut *but; + + /* clear initial search string, then all items show */ + search[0]= 0; + + block= uiBeginBlock(C, ar, "_popup", UI_EMBOSS); + uiBlockSetFlag(block, UI_BLOCK_LOOP|UI_BLOCK_REDRAW|UI_BLOCK_RET_1); + + /* fake button, it holds space for search items */ + uiDefBut(block, LABEL, 0, "", 10, 15, 150, uiSearchBoxhHeight(), NULL, 0, 0, 0, 0, NULL); + + but= uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, 256, 10, 0, 150, UI_UNIT_Y, 0, 0, ""); + uiButSetSearchFunc(but, operator_search_cb, arg_kmi, operator_call_cb, ot); + + uiBoundsBlock(block, 6); + uiBlockSetDirection(block, UI_DOWN); + uiEndBlock(C, block); + + event= *(win->eventstate); /* XXX huh huh? make api call */ + event.type= EVT_BUT_OPEN; + event.val= KM_PRESS; + event.customdata= but; + event.customdatafree= FALSE; + wm_event_add(win, &event); + + return block; +} + +#define OL_KM_KEYBOARD 0 +#define OL_KM_MOUSE 1 +#define OL_KM_TWEAK 2 +#define OL_KM_SPECIALS 3 + +static short keymap_menu_type(short type) +{ + if(ISKEYBOARD(type)) return OL_KM_KEYBOARD; + if(ISTWEAK(type)) return OL_KM_TWEAK; + if(ISMOUSE(type)) return OL_KM_MOUSE; +// return OL_KM_SPECIALS; + return 0; +} + +static const char *keymap_type_menu(void) +{ + static const char string[]= + "Event Type%t" + "|Keyboard%x" STRINGIFY(OL_KM_KEYBOARD) + "|Mouse%x" STRINGIFY(OL_KM_MOUSE) + "|Tweak%x" STRINGIFY(OL_KM_TWEAK) +// "|Specials%x" STRINGIFY(OL_KM_SPECIALS) + ; + + return string; +} + +static const char *keymap_mouse_menu(void) +{ + static const char string[]= + "Mouse Event%t" + "|Left Mouse%x" STRINGIFY(LEFTMOUSE) + "|Middle Mouse%x" STRINGIFY(MIDDLEMOUSE) + "|Right Mouse%x" STRINGIFY(RIGHTMOUSE) + "|Middle Mouse%x" STRINGIFY(MIDDLEMOUSE) + "|Right Mouse%x" STRINGIFY(RIGHTMOUSE) + "|Button4 Mouse%x" STRINGIFY(BUTTON4MOUSE) + "|Button5 Mouse%x" STRINGIFY(BUTTON5MOUSE) + "|Action Mouse%x" STRINGIFY(ACTIONMOUSE) + "|Select Mouse%x" STRINGIFY(SELECTMOUSE) + "|Mouse Move%x" STRINGIFY(MOUSEMOVE) + "|Wheel Up%x" STRINGIFY(WHEELUPMOUSE) + "|Wheel Down%x" STRINGIFY(WHEELDOWNMOUSE) + "|Wheel In%x" STRINGIFY(WHEELINMOUSE) + "|Wheel Out%x" STRINGIFY(WHEELOUTMOUSE) + "|Mouse/Trackpad Pan%x" STRINGIFY(MOUSEPAN) + "|Mouse/Trackpad Zoom%x" STRINGIFY(MOUSEZOOM) + "|Mouse/Trackpad Rotate%x" STRINGIFY(MOUSEROTATE) + ; + + return string; +} + +static const char *keymap_tweak_menu(void) +{ + static const char string[]= + "Tweak Event%t" + "|Left Mouse%x" STRINGIFY(EVT_TWEAK_L) + "|Middle Mouse%x" STRINGIFY(EVT_TWEAK_M) + "|Right Mouse%x" STRINGIFY(EVT_TWEAK_R) + "|Action Mouse%x" STRINGIFY(EVT_TWEAK_A) + "|Select Mouse%x" STRINGIFY(EVT_TWEAK_S) + ; + + return string; +} + +static const char *keymap_tweak_dir_menu(void) +{ + static const char string[]= + "Tweak Direction%t" + "|Any%x" STRINGIFY(KM_ANY) + "|North%x" STRINGIFY(EVT_GESTURE_N) + "|North-East%x" STRINGIFY(EVT_GESTURE_NE) + "|East%x" STRINGIFY(EVT_GESTURE_E) + "|Sout-East%x" STRINGIFY(EVT_GESTURE_SE) + "|South%x" STRINGIFY(EVT_GESTURE_S) + "|South-West%x" STRINGIFY(EVT_GESTURE_SW) + "|West%x" STRINGIFY(EVT_GESTURE_W) + "|North-West%x" STRINGIFY(EVT_GESTURE_NW) + ; + + return string; +} + + +static void keymap_type_cb(bContext *C, void *kmi_v, void *UNUSED(arg_v)) +{ + wmKeyMapItem *kmi= kmi_v; + short maptype= keymap_menu_type(kmi->type); + + if(maptype!=kmi->maptype) { + switch(kmi->maptype) { + case OL_KM_KEYBOARD: + kmi->type= AKEY; + kmi->val= KM_PRESS; + break; + case OL_KM_MOUSE: + kmi->type= LEFTMOUSE; + kmi->val= KM_PRESS; + break; + case OL_KM_TWEAK: + kmi->type= EVT_TWEAK_L; + kmi->val= KM_ANY; + break; + case OL_KM_SPECIALS: + kmi->type= AKEY; + kmi->val= KM_PRESS; + } + ED_region_tag_redraw(CTX_wm_region(C)); + } +} + +static void outliner_draw_keymapbuts(uiBlock *block, ARegion *ar, SpaceOops *soops, ListBase *lb) +{ + TreeElement *te; + TreeStoreElem *tselem; + + uiBlockSetEmboss(block, UI_EMBOSST); + + for(te= lb->first; te; te= te->next) { + tselem= TREESTORE(te); + if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) { + uiBut *but; + const char *str; + int xstart= 240; + int butw1= UI_UNIT_X; /* operator */ + int butw2= 90; /* event type, menus */ + int butw3= 43; /* modifiers */ + + if(tselem->type == TSE_KEYMAP_ITEM) { + wmKeyMapItem *kmi= te->directdata; + + /* modal map? */ + if(kmi->propvalue); + else { + uiDefBlockBut(block, operator_search_menu, kmi, "", xstart, (int)te->ys+1, butw1, UI_UNIT_Y-1, "Assign new Operator"); + } + xstart+= butw1+10; + + /* map type button */ + kmi->maptype= keymap_menu_type(kmi->type); + + str= keymap_type_menu(); + but= uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->maptype, 0, 0, 0, 0, "Event type"); + uiButSetFunc(but, keymap_type_cb, kmi, NULL); + xstart+= butw2+5; + + /* edit actual event */ + switch(kmi->maptype) { + case OL_KM_KEYBOARD: + uiDefKeyevtButS(block, 0, "", xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, "Key code"); + xstart+= butw2+5; + break; + case OL_KM_MOUSE: + str= keymap_mouse_menu(); + uiDefButS(block, MENU, 0, str, xstart,(int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, 0, 0, 0, 0, "Mouse button"); + xstart+= butw2+5; + break; + case OL_KM_TWEAK: + str= keymap_tweak_menu(); + uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, 0, 0, 0, 0, "Tweak gesture"); + xstart+= butw2+5; + str= keymap_tweak_dir_menu(); + uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->val, 0, 0, 0, 0, "Tweak gesture direction"); + xstart+= butw2+5; + break; + } + + /* modifiers */ + uiDefButS(block, OPTION, 0, "Shift", xstart, (int)te->ys+1, butw3+5, UI_UNIT_Y-1, &kmi->shift, 0, 0, 0, 0, "Modifier"); xstart+= butw3+5; + uiDefButS(block, OPTION, 0, "Ctrl", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->ctrl, 0, 0, 0, 0, "Modifier"); xstart+= butw3; + uiDefButS(block, OPTION, 0, "Alt", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->alt, 0, 0, 0, 0, "Modifier"); xstart+= butw3; + uiDefButS(block, OPTION, 0, "OS", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->oskey, 0, 0, 0, 0, "Modifier"); xstart+= butw3; + xstart+= 5; + uiDefKeyevtButS(block, 0, "", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->keymodifier, "Key Modifier code"); + xstart+= butw3+5; + + /* rna property */ + if(kmi->ptr && kmi->ptr->data) { + uiDefBut(block, LABEL, 0, "(RNA property)", xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->oskey, 0, 0, 0, 0, ""); xstart+= butw2; + } + + (void)xstart; + } + } + + if((tselem->flag & TSE_CLOSED)==0) outliner_draw_keymapbuts(block, ar, soops, &te->subtree); + } +} + + +static void outliner_buttons(const bContext *C, uiBlock *block, ARegion *ar, SpaceOops *soops, ListBase *lb) +{ + uiBut *bt; + TreeElement *te; + TreeStoreElem *tselem; + int spx, dx, len; + + for(te= lb->first; te; te= te->next) { + tselem= TREESTORE(te); + if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) { + + if(tselem->flag & TSE_TEXTBUT) { + + /* If we add support to rename Sequence. + * need change this. + */ + if(tselem->type == TSE_POSE_BASE) continue; // prevent crash when trying to rename 'pose' entry of armature + + if(tselem->type==TSE_EBONE) len = sizeof(((EditBone*) 0)->name); + else if (tselem->type==TSE_MODIFIER) len = sizeof(((ModifierData*) 0)->name); + else if(tselem->id && GS(tselem->id->name)==ID_LI) len = sizeof(((Library*) 0)->name); + else len= MAX_ID_NAME-2; + + + dx= (int)UI_GetStringWidth(te->name); + if(dx<100) dx= 100; + spx=te->xs+2*UI_UNIT_X-4; + if(spx+dx+10>ar->v2d.cur.xmax) dx = ar->v2d.cur.xmax-spx-10; + + bt= uiDefBut(block, TEX, OL_NAMEBUTTON, "", spx, (int)te->ys, dx+10, UI_UNIT_Y-1, (void *)te->name, 1.0, (float)len, 0, 0, ""); + uiButSetRenameFunc(bt, namebutton_cb, tselem); + + /* returns false if button got removed */ + if( 0 == uiButActiveOnly(C, block, bt) ) + tselem->flag &= ~TSE_TEXTBUT; + } + } + + if((tselem->flag & TSE_CLOSED)==0) outliner_buttons(C, block, ar, soops, &te->subtree); + } +} + +/* ****************************************************** */ +/* Normal Drawing... */ + +/* make function calls a bit compacter */ +struct DrawIconArg { + uiBlock *block; + ID *id; + int xmax, x, y; + float alpha; +}; + +static void tselem_draw_icon_uibut(struct DrawIconArg *arg, int icon) +{ + /* restrict collumn clip... it has been coded by simply overdrawing, doesnt work for buttons */ + if(arg->x >= arg->xmax) + UI_icon_draw(arg->x, arg->y, icon); + else { + /* XXX investigate: button placement of icons is way different than UI_icon_draw? */ + float ufac= UI_UNIT_X/20.0f; + uiBut *but= uiDefIconBut(arg->block, LABEL, 0, icon, arg->x-3.0f*ufac, arg->y, UI_UNIT_X-4.0f*ufac, UI_UNIT_Y-4.0f*ufac, NULL, 0.0, 0.0, 1.0, arg->alpha, (arg->id && arg->id->lib) ? arg->id->lib->name : ""); + + if(arg->id) + uiButSetDragID(but, arg->id); + } + +} + +static void tselem_draw_icon(uiBlock *block, int xmax, float x, float y, TreeStoreElem *tselem, TreeElement *te, float alpha) +{ + struct DrawIconArg arg; + + /* make function calls a bit compacter */ + arg.block= block; + arg.id= tselem->id; + arg.xmax= xmax; + arg.x= x; + arg.y= y; + arg.alpha= alpha; + + if(tselem->type) { + switch( tselem->type) { + case TSE_ANIM_DATA: + UI_icon_draw(x, y, ICON_ANIM_DATA); break; // xxx + case TSE_NLA: + UI_icon_draw(x, y, ICON_NLA); break; + case TSE_NLA_TRACK: + UI_icon_draw(x, y, ICON_NLA); break; // XXX + case TSE_NLA_ACTION: + UI_icon_draw(x, y, ICON_ACTION); break; + case TSE_DRIVER_BASE: + +#if 0 // GSOC_PEPPER + + UI_icon_draw(x, y, ICON_DRIVER); break; + +#endif // GSOC_PEPPER + + case TSE_DEFGROUP_BASE: + UI_icon_draw(x, y, ICON_GROUP_VERTEX); break; + case TSE_BONE: + case TSE_EBONE: + UI_icon_draw(x, y, ICON_BONE_DATA); break; + case TSE_CONSTRAINT_BASE: + UI_icon_draw(x, y, ICON_CONSTRAINT); break; + case TSE_MODIFIER_BASE: + UI_icon_draw(x, y, ICON_MODIFIER); break; + case TSE_LINKED_OB: + UI_icon_draw(x, y, ICON_OBJECT_DATA); break; + case TSE_LINKED_PSYS: + UI_icon_draw(x, y, ICON_PARTICLES); break; + case TSE_MODIFIER: + { + Object *ob= (Object *)tselem->id; + ModifierData *md= BLI_findlink(&ob->modifiers, tselem->nr); + switch(md->type) { + case eModifierType_Subsurf: + UI_icon_draw(x, y, ICON_MOD_SUBSURF); break; + case eModifierType_Armature: + UI_icon_draw(x, y, ICON_MOD_ARMATURE); break; + case eModifierType_Lattice: + UI_icon_draw(x, y, ICON_MOD_LATTICE); break; + case eModifierType_Curve: + UI_icon_draw(x, y, ICON_MOD_CURVE); break; + case eModifierType_Build: + UI_icon_draw(x, y, ICON_MOD_BUILD); break; + case eModifierType_Mirror: + UI_icon_draw(x, y, ICON_MOD_MIRROR); break; + case eModifierType_Decimate: + UI_icon_draw(x, y, ICON_MOD_DECIM); break; + case eModifierType_Wave: + UI_icon_draw(x, y, ICON_MOD_WAVE); break; + case eModifierType_Hook: + UI_icon_draw(x, y, ICON_HOOK); break; + case eModifierType_Softbody: + UI_icon_draw(x, y, ICON_MOD_SOFT); break; + case eModifierType_Boolean: + UI_icon_draw(x, y, ICON_MOD_BOOLEAN); break; + case eModifierType_ParticleSystem: + UI_icon_draw(x, y, ICON_MOD_PARTICLES); break; + case eModifierType_ParticleInstance: + UI_icon_draw(x, y, ICON_MOD_PARTICLES); break; + case eModifierType_EdgeSplit: + UI_icon_draw(x, y, ICON_MOD_EDGESPLIT); break; + case eModifierType_Array: + UI_icon_draw(x, y, ICON_MOD_ARRAY); break; + case eModifierType_UVProject: + UI_icon_draw(x, y, ICON_MOD_UVPROJECT); break; + case eModifierType_Displace: + UI_icon_draw(x, y, ICON_MOD_DISPLACE); break; + case eModifierType_Shrinkwrap: + UI_icon_draw(x, y, ICON_MOD_SHRINKWRAP); break; + case eModifierType_Cast: + UI_icon_draw(x, y, ICON_MOD_CAST); break; + case eModifierType_MeshDeform: + UI_icon_draw(x, y, ICON_MOD_MESHDEFORM); break; + case eModifierType_Bevel: + UI_icon_draw(x, y, ICON_MOD_BEVEL); break; + case eModifierType_Smooth: + UI_icon_draw(x, y, ICON_MOD_SMOOTH); break; + case eModifierType_SimpleDeform: + UI_icon_draw(x, y, ICON_MOD_SIMPLEDEFORM); break; + case eModifierType_Mask: + UI_icon_draw(x, y, ICON_MOD_MASK); break; + case eModifierType_Cloth: + UI_icon_draw(x, y, ICON_MOD_CLOTH); break; + case eModifierType_Explode: + UI_icon_draw(x, y, ICON_MOD_EXPLODE); break; + case eModifierType_Collision: + UI_icon_draw(x, y, ICON_MOD_PHYSICS); break; + case eModifierType_Fluidsim: + UI_icon_draw(x, y, ICON_MOD_FLUIDSIM); break; + case eModifierType_Multires: + UI_icon_draw(x, y, ICON_MOD_MULTIRES); break; + case eModifierType_Smoke: + UI_icon_draw(x, y, ICON_MOD_SMOKE); break; + case eModifierType_Solidify: + UI_icon_draw(x, y, ICON_MOD_SOLIDIFY); break; + case eModifierType_Screw: + UI_icon_draw(x, y, ICON_MOD_SCREW); break; + default: + UI_icon_draw(x, y, ICON_DOT); break; + } + break; + } + case TSE_SCRIPT_BASE: + UI_icon_draw(x, y, ICON_TEXT); break; + case TSE_POSE_BASE: + UI_icon_draw(x, y, ICON_ARMATURE_DATA); break; + case TSE_POSE_CHANNEL: + UI_icon_draw(x, y, ICON_BONE_DATA); break; + case TSE_PROXY: + UI_icon_draw(x, y, ICON_GHOST); break; + case TSE_R_LAYER_BASE: + UI_icon_draw(x, y, ICON_RENDERLAYERS); break; + case TSE_R_LAYER: + UI_icon_draw(x, y, ICON_RENDERLAYERS); break; + case TSE_LINKED_LAMP: + UI_icon_draw(x, y, ICON_LAMP_DATA); break; + case TSE_LINKED_MAT: + UI_icon_draw(x, y, ICON_MATERIAL_DATA); break; + case TSE_POSEGRP_BASE: + UI_icon_draw(x, y, ICON_VERTEXSEL); break; + case TSE_SEQUENCE: + if(te->idcode==SEQ_MOVIE) + UI_icon_draw(x, y, ICON_SEQUENCE); + else if(te->idcode==SEQ_META) + UI_icon_draw(x, y, ICON_DOT); + else if(te->idcode==SEQ_SCENE) + UI_icon_draw(x, y, ICON_SCENE); + else if(te->idcode==SEQ_SOUND) + UI_icon_draw(x, y, ICON_SOUND); + else if(te->idcode==SEQ_IMAGE) + UI_icon_draw(x, y, ICON_IMAGE_COL); + else + UI_icon_draw(x, y, ICON_PARTICLES); + break; + case TSE_SEQ_STRIP: + UI_icon_draw(x, y, ICON_LIBRARY_DATA_DIRECT); + break; + case TSE_SEQUENCE_DUP: + UI_icon_draw(x, y, ICON_OBJECT_DATA); + break; + case TSE_RNA_STRUCT: + if(RNA_struct_is_ID(te->rnaptr.type)) { + arg.id= (ID *)te->rnaptr.data; + tselem_draw_icon_uibut(&arg, RNA_struct_ui_icon(te->rnaptr.type)); + } + else + UI_icon_draw(x, y, RNA_struct_ui_icon(te->rnaptr.type)); + break; + default: + UI_icon_draw(x, y, ICON_DOT); break; + } + } + else if (GS(tselem->id->name) == ID_OB) { + Object *ob= (Object *)tselem->id; + switch (ob->type) { + case OB_LAMP: + tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_LAMP); break; + case OB_MESH: + tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_MESH); break; + case OB_CAMERA: + tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_CAMERA); break; + case OB_CURVE: + tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_CURVE); break; + case OB_MBALL: + tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_META); break; + case OB_LATTICE: + tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_LATTICE); break; + case OB_ARMATURE: + tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_ARMATURE); break; + case OB_FONT: + tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_FONT); break; + case OB_SURF: + tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_SURFACE); break; + +#if 0 // GSOC_PEPPER + + case OB_SPEAKER: + tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_SPEAKER); break; + +#endif // GSOC_PEPPER + + case OB_EMPTY: + tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_EMPTY); break; + + } + } + else { + switch( GS(tselem->id->name)) { + case ID_SCE: + tselem_draw_icon_uibut(&arg, ICON_SCENE_DATA); break; + case ID_ME: + tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_MESH); break; + case ID_CU: + tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_CURVE); break; + case ID_MB: + tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_META); break; + case ID_LT: + tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_LATTICE); break; + case ID_LA: + { + Lamp *la= (Lamp *)tselem->id; + + switch(la->type) { + case LA_LOCAL: + tselem_draw_icon_uibut(&arg, ICON_LAMP_POINT); break; + case LA_SUN: + tselem_draw_icon_uibut(&arg, ICON_LAMP_SUN); break; + case LA_SPOT: + tselem_draw_icon_uibut(&arg, ICON_LAMP_SPOT); break; + case LA_HEMI: + tselem_draw_icon_uibut(&arg, ICON_LAMP_HEMI); break; + case LA_AREA: + tselem_draw_icon_uibut(&arg, ICON_LAMP_AREA); break; + default: + tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_LAMP); break; + } + break; + } + case ID_MA: + tselem_draw_icon_uibut(&arg, ICON_MATERIAL_DATA); break; + case ID_TE: + tselem_draw_icon_uibut(&arg, ICON_TEXTURE_DATA); break; + case ID_IM: + tselem_draw_icon_uibut(&arg, ICON_IMAGE_DATA); break; + +#if 0 // GSOC_PEPPER + + case ID_SPK: + case ID_SO: + tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_SPEAKER); break; + +#endif // GSOC_PEPPER + + case ID_AR: + tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_ARMATURE); break; + case ID_CA: + tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_CAMERA); break; + case ID_KE: + tselem_draw_icon_uibut(&arg, ICON_SHAPEKEY_DATA); break; + case ID_WO: + tselem_draw_icon_uibut(&arg, ICON_WORLD_DATA); break; + case ID_AC: + tselem_draw_icon_uibut(&arg, ICON_ACTION); break; + case ID_NLA: + tselem_draw_icon_uibut(&arg, ICON_NLA); break; + case ID_TXT: + tselem_draw_icon_uibut(&arg, ICON_SCRIPT); break; + case ID_GR: + tselem_draw_icon_uibut(&arg, ICON_GROUP); break; + case ID_LI: + tselem_draw_icon_uibut(&arg, ICON_LIBRARY_DATA_DIRECT); break; + } + } +} + +static void outliner_draw_iconrow(bContext *C, uiBlock *block, Scene *scene, SpaceOops *soops, ListBase *lb, int level, int xmax, int *offsx, int ys) +{ + TreeElement *te; + TreeStoreElem *tselem; + int active; + + for(te= lb->first; te; te= te->next) { + + /* exit drawing early */ + if((*offsx) - UI_UNIT_X > xmax) + break; + + tselem= TREESTORE(te); + + /* object hierarchy always, further constrained on level */ + if(level<1 || (tselem->type==0 && te->idcode==ID_OB)) { + + /* active blocks get white circle */ + if(tselem->type==0) { + if(te->idcode==ID_OB) active= (OBACT==(Object *)tselem->id); + else if(scene->obedit && scene->obedit->data==tselem->id) active= 1; // XXX use context? + else active= tree_element_active(C, scene, soops, te, 0); + } + else active= tree_element_type_active(NULL, scene, soops, te, tselem, 0); + + if(active) { + float ufac= UI_UNIT_X/20.0f; + + uiSetRoundBox(15); + glColor4ub(255, 255, 255, 100); + uiRoundBox( (float)*offsx-0.5f*ufac, (float)ys-1.0f*ufac, (float)*offsx+UI_UNIT_Y-3.0f*ufac, (float)ys+UI_UNIT_Y-3.0f*ufac, UI_UNIT_Y/2.0f-2.0f*ufac); + glEnable(GL_BLEND); /* roundbox disables */ + } + + tselem_draw_icon(block, xmax, (float)*offsx, (float)ys, tselem, te, 0.5f); + te->xs= (float)*offsx; + te->ys= (float)ys; + te->xend= (short)*offsx+UI_UNIT_X; + te->flag |= TE_ICONROW; // for click + + (*offsx) += UI_UNIT_X; + } + + /* this tree element always has same amount of branches, so dont draw */ + if(tselem->type!=TSE_R_LAYER) + outliner_draw_iconrow(C, block, scene, soops, &te->subtree, level+1, xmax, offsx, ys); + } + +} + +/* closed tree element */ +static void outliner_set_coord_tree_element(SpaceOops *soops, TreeElement *te, int startx, int *starty) +{ + TreeElement *ten; + + /* store coord and continue, we need coordinates for elements outside view too */ + te->xs= (float)startx; + te->ys= (float)(*starty); + + for(ten= te->subtree.first; ten; ten= ten->next) { + outliner_set_coord_tree_element(soops, ten, startx+UI_UNIT_X, starty); + } +} + + +static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int startx, int *starty) +{ + TreeElement *ten; + TreeStoreElem *tselem; + float ufac= UI_UNIT_X/20.0f; + int offsx= 0, active=0; // active=1 active obj, else active data + + tselem= TREESTORE(te); + + if(*starty+2*UI_UNIT_Y >= ar->v2d.cur.ymin && *starty<= ar->v2d.cur.ymax) { + int xmax= ar->v2d.cur.xmax; + + /* icons can be ui buts, we dont want it to overlap with restrict */ + if((soops->flag & SO_HIDE_RESTRICTCOLS)==0) + xmax-= OL_TOGW+UI_UNIT_X; + + glEnable(GL_BLEND); + + /* colors for active/selected data */ + if(tselem->type==0) { + if(te->idcode==ID_SCE) { + if(tselem->id == (ID *)scene) { + glColor4ub(255, 255, 255, 100); + active= 2; + } + } + else if(te->idcode==ID_GR) { + Group *gr = (Group *)tselem->id; + + if(group_select_flag(gr)) { + char col[4]; + UI_GetThemeColorType4ubv(TH_SELECT, SPACE_VIEW3D, col); + col[3]= 100; + glColor4ubv((GLubyte *)col); + + active= 2; + } + } + else if(te->idcode==ID_OB) { + Object *ob= (Object *)tselem->id; + + if(ob==OBACT || (ob->flag & SELECT)) { + char col[4]= {0, 0, 0, 0}; + + /* outliner active ob: always white text, circle color now similar to view3d */ + + active= 2; /* means it draws a color circle */ + if(ob==OBACT) { + if(ob->flag & SELECT) { + UI_GetThemeColorType4ubv(TH_ACTIVE, SPACE_VIEW3D, col); + col[3]= 100; + } + + active= 1; /* means it draws white text */ + } + else if(ob->flag & SELECT) { + UI_GetThemeColorType4ubv(TH_SELECT, SPACE_VIEW3D, col); + col[3]= 100; + } + + glColor4ubv((GLubyte *)col); + } + + } + else if(scene->obedit && scene->obedit->data==tselem->id) { + glColor4ub(255, 255, 255, 100); + active= 2; + } + else { + if(tree_element_active(C, scene, soops, te, 0)) { + glColor4ub(220, 220, 255, 100); + active= 2; + } + } + } + else { + if( tree_element_type_active(NULL, scene, soops, te, tselem, 0) ) active= 2; + glColor4ub(220, 220, 255, 100); + } + + /* active circle */ + if(active) { + uiSetRoundBox(15); + uiRoundBox( (float)startx+UI_UNIT_Y-1.5f*ufac, (float)*starty+2.0f*ufac, (float)startx+2.0f*UI_UNIT_Y-4.0f*ufac, (float)*starty+UI_UNIT_Y-1.0f*ufac, UI_UNIT_Y/2.0f-2.0f*ufac); + glEnable(GL_BLEND); /* roundbox disables it */ + + te->flag |= TE_ACTIVE; // for lookup in display hierarchies + } + + /* open/close icon, only when sublevels, except for scene */ + if(te->subtree.first || (tselem->type==0 && te->idcode==ID_SCE) || (te->flag & TE_LAZY_CLOSED)) { + int icon_x; + if(tselem->type==0 && ELEM(te->idcode, ID_OB, ID_SCE)) + icon_x = startx; + else + icon_x = startx+5*ufac; + + // icons a bit higher + if(tselem->flag & TSE_CLOSED) + UI_icon_draw((float)icon_x, (float)*starty+2*ufac, ICON_DISCLOSURE_TRI_RIGHT); + else + UI_icon_draw((float)icon_x, (float)*starty+2*ufac, ICON_DISCLOSURE_TRI_DOWN); + } + offsx+= UI_UNIT_X; + + /* datatype icon */ + + if(!(ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM))) { + // icons a bit higher + tselem_draw_icon(block, xmax, (float)startx+offsx - 0.5f*ufac, (float)*starty+2.0f*ufac, tselem, te, 1.0f); + + offsx+= UI_UNIT_X; + } + else + offsx+= 2*ufac; + + if(tselem->type==0 && tselem->id->lib) { + glPixelTransferf(GL_ALPHA_SCALE, 0.5f); + if(tselem->id->flag & LIB_INDIRECT) + UI_icon_draw((float)startx+offsx, (float)*starty+2*ufac, ICON_LIBRARY_DATA_INDIRECT); + else + UI_icon_draw((float)startx+offsx, (float)*starty+2*ufac, ICON_LIBRARY_DATA_DIRECT); + glPixelTransferf(GL_ALPHA_SCALE, 1.0f); + offsx+= UI_UNIT_X; + } + glDisable(GL_BLEND); + + /* name */ + if(active==1) UI_ThemeColor(TH_TEXT_HI); + else if(ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) UI_ThemeColorBlend(TH_BACK, TH_TEXT, 0.75f); + else UI_ThemeColor(TH_TEXT); + + UI_DrawString(startx+offsx, *starty+5*ufac, te->name); + + offsx+= (int)(UI_UNIT_X + UI_GetStringWidth(te->name)); + + /* closed item, we draw the icons, not when it's a scene, or master-server list though */ + if(tselem->flag & TSE_CLOSED) { + if(te->subtree.first) { + if(tselem->type==0 && te->idcode==ID_SCE); + else if(tselem->type!=TSE_R_LAYER) { /* this tree element always has same amount of branches, so dont draw */ + int tempx= startx+offsx; + + // divider + UI_ThemeColorShade(TH_BACK, -40); + glRecti(tempx -10, *starty+4, tempx -8, *starty+UI_UNIT_Y-4); + + glEnable(GL_BLEND); + glPixelTransferf(GL_ALPHA_SCALE, 0.5); + + outliner_draw_iconrow(C, block, scene, soops, &te->subtree, 0, xmax, &tempx, *starty+2); + + glPixelTransferf(GL_ALPHA_SCALE, 1.0); + glDisable(GL_BLEND); + } + } + } + } + /* store coord and continue, we need coordinates for elements outside view too */ + te->xs= (float)startx; + te->ys= (float)*starty; + te->xend= startx+offsx; + + if((tselem->flag & TSE_CLOSED)==0) { + *starty-= UI_UNIT_Y; + + for(ten= te->subtree.first; ten; ten= ten->next) + outliner_draw_tree_element(C, block, scene, ar, soops, ten, startx+UI_UNIT_X, starty); + } + else { + for(ten= te->subtree.first; ten; ten= ten->next) + outliner_set_coord_tree_element(soops, te, startx, starty); + + *starty-= UI_UNIT_Y; + } +} + +static void outliner_draw_hierarchy(SpaceOops *soops, ListBase *lb, int startx, int *starty) +{ + TreeElement *te; + TreeStoreElem *tselem; + int y1, y2; + + if(lb->first==NULL) return; + + y1=y2= *starty; /* for vertical lines between objects */ + for(te=lb->first; te; te= te->next) { + y2= *starty; + tselem= TREESTORE(te); + + /* horizontal line? */ + if(tselem->type==0 && (te->idcode==ID_OB || te->idcode==ID_SCE)) + glRecti(startx, *starty, startx+UI_UNIT_X, *starty-1); + + *starty-= UI_UNIT_Y; + + if((tselem->flag & TSE_CLOSED)==0) + outliner_draw_hierarchy(soops, &te->subtree, startx+UI_UNIT_X, starty); + } + + /* vertical line */ + te= lb->last; + if(te->parent || lb->first!=lb->last) { + tselem= TREESTORE(te); + if(tselem->type==0 && te->idcode==ID_OB) { + + glRecti(startx, y1+UI_UNIT_Y, startx+1, y2); + } + } +} + +static void outliner_draw_struct_marks(ARegion *ar, SpaceOops *soops, ListBase *lb, int *starty) +{ + TreeElement *te; + TreeStoreElem *tselem; + + for(te= lb->first; te; te= te->next) { + tselem= TREESTORE(te); + + /* selection status */ + if((tselem->flag & TSE_CLOSED)==0) + if(tselem->type == TSE_RNA_STRUCT) + glRecti(0, *starty+1, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, *starty+UI_UNIT_Y-1); + + *starty-= UI_UNIT_Y; + if((tselem->flag & TSE_CLOSED)==0) { + outliner_draw_struct_marks(ar, soops, &te->subtree, starty); + if(tselem->type == TSE_RNA_STRUCT) + fdrawline(0, (float)*starty+UI_UNIT_Y, ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, (float)*starty+UI_UNIT_Y); + } + } +} + +static void outliner_draw_selection(ARegion *ar, SpaceOops *soops, ListBase *lb, int *starty) +{ + TreeElement *te; + TreeStoreElem *tselem; + + for(te= lb->first; te; te= te->next) { + tselem= TREESTORE(te); + + /* selection status */ + if(tselem->flag & TSE_SELECTED) { + glRecti(0, *starty+1, (int)ar->v2d.cur.xmax, *starty+UI_UNIT_Y-1); + } + *starty-= UI_UNIT_Y; + if((tselem->flag & TSE_CLOSED)==0) outliner_draw_selection(ar, soops, &te->subtree, starty); + } +} + + +static void outliner_draw_tree(bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops) +{ + TreeElement *te; + int starty, startx; + float col[4]; + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // only once + + if (ELEM(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF)) { + /* struct marks */ + UI_ThemeColorShadeAlpha(TH_BACK, -15, -200); + //UI_ThemeColorShade(TH_BACK, -20); + starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET; + outliner_draw_struct_marks(ar, soops, &soops->tree, &starty); + } + + /* always draw selection fill before hierarchy */ + UI_GetThemeColor3fv(TH_BACK, col); + glColor3f(col[0]+0.06f, col[1]+0.08f, col[2]+0.10f); + starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET; + outliner_draw_selection(ar, soops, &soops->tree, &starty); + + // grey hierarchy lines + UI_ThemeColorBlend(TH_BACK, TH_TEXT, 0.4f); + starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y/2-OL_Y_OFFSET; + startx= 6; + outliner_draw_hierarchy(soops, &soops->tree, startx, &starty); + + // items themselves + starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET; + startx= 0; + for(te= soops->tree.first; te; te= te->next) { + outliner_draw_tree_element(C, block, scene, ar, soops, te, startx, &starty); + } +} + + +static void outliner_back(ARegion *ar) +{ + int ystart; + + UI_ThemeColorShade(TH_BACK, 6); + ystart= (int)ar->v2d.tot.ymax; + ystart= UI_UNIT_Y*(ystart/(UI_UNIT_Y))-OL_Y_OFFSET; + + while(ystart+2*UI_UNIT_Y > ar->v2d.cur.ymin) { + glRecti(0, ystart, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, ystart+UI_UNIT_Y); + ystart-= 2*UI_UNIT_Y; + } +} + +static void outliner_draw_restrictcols(ARegion *ar) +{ + int ystart; + + /* background underneath */ + UI_ThemeColor(TH_BACK); + glRecti((int)ar->v2d.cur.xmax-OL_TOGW, (int)ar->v2d.cur.ymin-V2D_SCROLL_HEIGHT-1, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, (int)ar->v2d.cur.ymax); + + UI_ThemeColorShade(TH_BACK, 6); + ystart= (int)ar->v2d.tot.ymax; + ystart= UI_UNIT_Y*(ystart/(UI_UNIT_Y))-OL_Y_OFFSET; + + while(ystart+2*UI_UNIT_Y > ar->v2d.cur.ymin) { + glRecti((int)ar->v2d.cur.xmax-OL_TOGW, ystart, (int)ar->v2d.cur.xmax, ystart+UI_UNIT_Y); + ystart-= 2*UI_UNIT_Y; + } + + UI_ThemeColorShadeAlpha(TH_BACK, -15, -200); + + /* view */ + fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, + ar->v2d.cur.ymax, + ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, + ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT); + + /* render */ + fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, + ar->v2d.cur.ymax, + ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, + ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT); + + /* render */ + fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, + ar->v2d.cur.ymax, + ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, + ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT); +} + +/* ****************************************************** */ +/* Main Entrypoint - Draw contents of Outliner editor */ + +void draw_outliner(const bContext *C) +{ + Main *mainvar= CTX_data_main(C); + Scene *scene= CTX_data_scene(C); + ARegion *ar= CTX_wm_region(C); + View2D *v2d= &ar->v2d; + SpaceOops *soops= CTX_wm_space_outliner(C); + uiBlock *block; + int sizey= 0, sizex= 0, sizex_rna= 0; + + outliner_build_tree(mainvar, scene, soops); // always + + /* get extents of data */ + outliner_height(soops, &soops->tree, &sizey); + + if (ELEM3(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF, SO_KEYMAP)) { + /* RNA has two columns: + * - column 1 is (max_width + OL_RNA_COL_SPACEX) or + * (OL_RNA_COL_X), whichever is wider... + * - column 2 is fixed at OL_RNA_COL_SIZEX + * + * (*) XXX max width for now is a fixed factor of UI_UNIT_X*(max_indention+100) + */ + + /* get actual width of column 1 */ + outliner_rna_width(soops, &soops->tree, &sizex_rna, 0); + sizex_rna= MAX2(OL_RNA_COLX, sizex_rna+OL_RNA_COL_SPACEX); + + /* get width of data (for setting 'tot' rect, this is column 1 + column 2 + a bit extra) */ + if (soops->outlinevis == SO_KEYMAP) + sizex= sizex_rna + OL_RNA_COL_SIZEX*3 + 50; // XXX this is only really a quick hack to make this wide enough... + else + sizex= sizex_rna + OL_RNA_COL_SIZEX + 50; + } + else { + /* width must take into account restriction columns (if visible) so that entries will still be visible */ + //outliner_width(soops, &soops->tree, &sizex); + outliner_rna_width(soops, &soops->tree, &sizex, 0); // XXX should use outliner_width instead when te->xend will be set correctly... + + /* constant offset for restriction columns */ + // XXX this isn't that great yet... + if ((soops->flag & SO_HIDE_RESTRICTCOLS)==0) + sizex += OL_TOGW*3; + } + + /* tweak to display last line (when list bigger than window) */ + sizey += V2D_SCROLL_HEIGHT; + + /* adds vertical offset */ + sizey += OL_Y_OFFSET; + + /* update size of tot-rect (extents of data/viewable area) */ + UI_view2d_totRect_set(v2d, sizex, sizey); + + /* force display to pixel coords */ + v2d->flag |= (V2D_PIXELOFS_X|V2D_PIXELOFS_Y); + /* set matrix for 2d-view controls */ + UI_view2d_view_ortho(v2d); + + /* draw outliner stuff (background, hierachy lines and names) */ + outliner_back(ar); + block= uiBeginBlock(C, ar, "outliner buttons", UI_EMBOSS); + outliner_draw_tree((bContext *)C, block, scene, ar, soops); + + if(ELEM(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF)) { + /* draw rna buttons */ + outliner_draw_rnacols(ar, sizex_rna); + outliner_draw_rnabuts(block, scene, ar, soops, sizex_rna, &soops->tree); + } + else if(soops->outlinevis == SO_KEYMAP) { + outliner_draw_keymapbuts(block, ar, soops, &soops->tree); + } + else if (!(soops->flag & SO_HIDE_RESTRICTCOLS)) { + /* draw restriction columns */ + outliner_draw_restrictcols(ar); + outliner_draw_restrictbuts(block, scene, ar, soops, &soops->tree); + } + + /* draw edit buttons if nessecery */ + outliner_buttons(C, block, ar, soops, &soops->tree); + + uiEndBlock(C, block); + uiDrawBlock(C, block); + + /* clear flag that allows quick redraws */ + soops->storeflag &= ~SO_TREESTORE_REDRAW; +} diff --git a/source/blender/editors/space_outliner/outliner_edit.c b/source/blender/editors/space_outliner/outliner_edit.c new file mode 100644 index 00000000000..15167a3ba2c --- /dev/null +++ b/source/blender/editors/space_outliner/outliner_edit.c @@ -0,0 +1,1398 @@ +/* + * $Id$ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2004 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): Joshua Leung + * + * ***** END GPL LICENSE BLOCK ***** + */ + +/** \file blender/editors/space_outliner/outliner_edit.c + * \ingroup spoutliner + */ + +#include +#include +#include +#include + +#include "MEM_guardedalloc.h" + +#include "DNA_anim_types.h" +#include "DNA_armature_types.h" +#include "DNA_constraint_types.h" +#include "DNA_camera_types.h" +#include "DNA_group_types.h" +#include "DNA_key_types.h" +#include "DNA_lamp_types.h" +#include "DNA_material_types.h" +#include "DNA_mesh_types.h" +#include "DNA_meta_types.h" +#include "DNA_particle_types.h" +#include "DNA_scene_types.h" +#include "DNA_world_types.h" +#include "DNA_sequence_types.h" +#include "DNA_object_types.h" + +#include "BLI_blenlib.h" +#include "BLI_utildefines.h" +#include "BLI_math_base.h" + +#if defined WIN32 && !defined _LIBC +# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */ +#else +# ifndef _GNU_SOURCE +# define _GNU_SOURCE +# endif +# include +#endif + + +#include "BKE_animsys.h" +#include "BKE_context.h" +#include "BKE_deform.h" +#include "BKE_depsgraph.h" +#include "BKE_fcurve.h" +#include "BKE_global.h" +#include "BKE_group.h" +#include "BKE_library.h" +#include "BKE_main.h" +#include "BKE_modifier.h" +#include "BKE_report.h" +#include "BKE_scene.h" +#include "BKE_sequencer.h" + +#include "ED_armature.h" +#include "ED_object.h" +#include "ED_screen.h" +#include "ED_util.h" + +#include "WM_api.h" +#include "WM_types.h" + +#include "BIF_gl.h" +#include "BIF_glutil.h" + +#include "UI_interface.h" +#include "UI_interface_icons.h" +#include "UI_resources.h" +#include "UI_view2d.h" + +#include "RNA_access.h" +#include "RNA_define.h" +#include "RNA_enum_types.h" + +#include "ED_keyframing.h" + +#include "outliner_intern.h" + +/* ************************************************************** */ +/* Unused Utilities */ +// XXX: where to place these? + +/* This is not used anywhere at the moment */ +#if 0 +/* return 1 when levels were opened */ +static int outliner_open_back(SpaceOops *soops, TreeElement *te) +{ + TreeStoreElem *tselem; + int retval= 0; + + for (te= te->parent; te; te= te->parent) { + tselem= TREESTORE(te); + if (tselem->flag & TSE_CLOSED) { + tselem->flag &= ~TSE_CLOSED; + retval= 1; + } + } + return retval; +} + +static void outliner_open_reveal(SpaceOops *soops, ListBase *lb, TreeElement *teFind, int *found) +{ + TreeElement *te; + TreeStoreElem *tselem; + + for (te= lb->first; te; te= te->next) { + /* check if this tree-element was the one we're seeking */ + if (te == teFind) { + *found= 1; + return; + } + + /* try to see if sub-tree contains it then */ + outliner_open_reveal(soops, &te->subtree, teFind, found); + if (*found) { + tselem= TREESTORE(te); + if (tselem->flag & TSE_CLOSED) + tselem->flag &= ~TSE_CLOSED; + return; + } + } +} +#endif + +/* ************************************************************** */ +/* Click Activated */ + +/* Toggle Open/Closed ------------------------------------------- */ + +static int do_outliner_item_openclose(bContext *C, SpaceOops *soops, TreeElement *te, int all, const float mval[2]) +{ + + if(mval[1]>te->ys && mval[1]ys+UI_UNIT_Y) { + TreeStoreElem *tselem= TREESTORE(te); + + /* all below close/open? */ + if(all) { + tselem->flag &= ~TSE_CLOSED; + outliner_set_flag(soops, &te->subtree, TSE_CLOSED, !outliner_has_one_flag(soops, &te->subtree, TSE_CLOSED, 1)); + } + else { + if(tselem->flag & TSE_CLOSED) tselem->flag &= ~TSE_CLOSED; + else tselem->flag |= TSE_CLOSED; + } + + return 1; + } + + for(te= te->subtree.first; te; te= te->next) { + if(do_outliner_item_openclose(C, soops, te, all, mval)) + return 1; + } + return 0; + +} + +/* event can enterkey, then it opens/closes */ +static int outliner_item_openclose(bContext *C, wmOperator *op, wmEvent *event) +{ + ARegion *ar= CTX_wm_region(C); + SpaceOops *soops= CTX_wm_space_outliner(C); + TreeElement *te; + float fmval[2]; + int all= RNA_boolean_get(op->ptr, "all"); + + UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1); + + for(te= soops->tree.first; te; te= te->next) { + if(do_outliner_item_openclose(C, soops, te, all, fmval)) + break; + } + + ED_region_tag_redraw(ar); + + return OPERATOR_FINISHED; +} + +void OUTLINER_OT_item_openclose(wmOperatorType *ot) +{ + ot->name= "Open/Close Item"; + ot->idname= "OUTLINER_OT_item_openclose"; + ot->description= "Toggle whether item under cursor is enabled or closed"; + + ot->invoke= outliner_item_openclose; + + ot->poll= ED_operator_outliner_active; + + RNA_def_boolean(ot->srna, "all", 1, "All", "Close or open all items."); +} + +/* Rename --------------------------------------------------- */ + +static int do_outliner_item_rename(bContext *C, ARegion *ar, SpaceOops *soops, TreeElement *te, const float mval[2]) +{ + ReportList *reports= CTX_wm_reports(C); // XXX + + if(mval[1]>te->ys && mval[1]ys+UI_UNIT_Y) { + TreeStoreElem *tselem= TREESTORE(te); + + /* name and first icon */ + if(mval[0]>te->xs+UI_UNIT_X && mval[0]xend) { + + /* can't rename rna datablocks entries */ + if(ELEM3(tselem->type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) + ; + else if(ELEM10(tselem->type, TSE_ANIM_DATA, TSE_NLA, TSE_DEFGROUP_BASE, TSE_CONSTRAINT_BASE, TSE_MODIFIER_BASE, TSE_SCRIPT_BASE, TSE_POSE_BASE, TSE_POSEGRP_BASE, TSE_R_LAYER_BASE, TSE_R_PASS)) + BKE_report(reports, RPT_WARNING, "Cannot edit builtin name"); + else if(ELEM3(tselem->type, TSE_SEQUENCE, TSE_SEQ_STRIP, TSE_SEQUENCE_DUP)) + BKE_report(reports, RPT_WARNING, "Cannot edit sequence name"); + else if(tselem->id->lib) { + // XXX error_libdata(); + } + else if(te->idcode == ID_LI && te->parent) { + BKE_report(reports, RPT_WARNING, "Cannot edit the path of an indirectly linked library"); + } + else { + tselem->flag |= TSE_TEXTBUT; + ED_region_tag_redraw(ar); + } + } + return 1; + } + + for(te= te->subtree.first; te; te= te->next) { + if(do_outliner_item_rename(C, ar, soops, te, mval)) return 1; + } + return 0; +} + +static int outliner_item_rename(bContext *C, wmOperator *UNUSED(op), wmEvent *event) +{ + ARegion *ar= CTX_wm_region(C); + SpaceOops *soops= CTX_wm_space_outliner(C); + TreeElement *te; + float fmval[2]; + + UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1); + + for(te= soops->tree.first; te; te= te->next) { + if(do_outliner_item_rename(C, ar, soops, te, fmval)) break; + } + + return OPERATOR_FINISHED; +} + + +void OUTLINER_OT_item_rename(wmOperatorType *ot) +{ + ot->name= "Rename Item"; + ot->idname= "OUTLINER_OT_item_rename"; + ot->description= "Rename item under cursor"; + + ot->invoke= outliner_item_rename; + + ot->poll= ED_operator_outliner_active; +} + +/* ************************************************************** */ +/* Setting Toggling Operators */ + +/* =============================================== */ +/* Toggling Utilities (Exported) */ + +/* Apply Settings ------------------------------- */ + +static int outliner_count_levels(SpaceOops *soops, ListBase *lb, int curlevel) +{ + TreeElement *te; + int level=curlevel, lev; + + for(te= lb->first; te; te= te->next) { + + lev= outliner_count_levels(soops, &te->subtree, curlevel+1); + if(lev>level) level= lev; + } + return level; +} + +int outliner_has_one_flag(SpaceOops *soops, ListBase *lb, short flag, short curlevel) +{ + TreeElement *te; + TreeStoreElem *tselem; + int level; + + for(te= lb->first; te; te= te->next) { + tselem= TREESTORE(te); + if(tselem->flag & flag) return curlevel; + + level= outliner_has_one_flag(soops, &te->subtree, flag, curlevel+1); + if(level) return level; + } + return 0; +} + +void outliner_set_flag(SpaceOops *soops, ListBase *lb, short flag, short set) +{ + TreeElement *te; + TreeStoreElem *tselem; + + for(te= lb->first; te; te= te->next) { + tselem= TREESTORE(te); + if(set==0) tselem->flag &= ~flag; + else tselem->flag |= flag; + outliner_set_flag(soops, &te->subtree, flag, set); + } +} + +/* Restriction Columns ------------------------------- */ + +/* same check needed for both object operation and restrict column button func + * return 0 when in edit mode (cannot restrict view or select) + * otherwise return 1 */ +int common_restrict_check(bContext *C, Object *ob) +{ + /* Don't allow hide an object in edit mode, + * check the bug #22153 and #21609, #23977 + */ + Object *obedit= CTX_data_edit_object(C); + if (obedit && obedit == ob) { + /* found object is hidden, reset */ + if (ob->restrictflag & OB_RESTRICT_VIEW) + ob->restrictflag &= ~OB_RESTRICT_VIEW; + /* found object is unselectable, reset */ + if (ob->restrictflag & OB_RESTRICT_SELECT) + ob->restrictflag &= ~OB_RESTRICT_SELECT; + return 0; + } + + return 1; +} + +/* =============================================== */ +/* Restriction toggles */ + +/* Toggle Visibility ---------------------------------------- */ + +void object_toggle_visibility_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem) +{ + Base *base= (Base *)te->directdata; + Object *ob = (Object *)tselem->id; + + /* add check for edit mode */ + if(!common_restrict_check(C, ob)) return; + + if(base || (base= object_in_scene(ob, scene))) { + if((base->object->restrictflag ^= OB_RESTRICT_VIEW)) { + ED_base_object_select(base, BA_DESELECT); + } + } +} + +static int outliner_toggle_visibility_exec(bContext *C, wmOperator *UNUSED(op)) +{ + SpaceOops *soops= CTX_wm_space_outliner(C); + Scene *scene= CTX_data_scene(C); + ARegion *ar= CTX_wm_region(C); + + outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_visibility_cb); + + WM_event_add_notifier(C, NC_SCENE|ND_OB_VISIBLE, scene); + ED_region_tag_redraw(ar); + + return OPERATOR_FINISHED; +} + +void OUTLINER_OT_visibility_toggle(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Toggle Visibility"; + ot->idname= "OUTLINER_OT_visibility_toggle"; + ot->description= "Toggle the visibility of selected items"; + + /* callbacks */ + ot->exec= outliner_toggle_visibility_exec; + ot->poll= ED_operator_outliner_active_no_editobject; + + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} + +/* Toggle Selectability ---------------------------------------- */ + +void object_toggle_selectability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem) +{ + Base *base= (Base *)te->directdata; + + if(base==NULL) base= object_in_scene((Object *)tselem->id, scene); + if(base) { + base->object->restrictflag^=OB_RESTRICT_SELECT; + } +} + +static int outliner_toggle_selectability_exec(bContext *C, wmOperator *UNUSED(op)) +{ + SpaceOops *soops= CTX_wm_space_outliner(C); + Scene *scene= CTX_data_scene(C); + ARegion *ar= CTX_wm_region(C); + + outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_selectability_cb); + + WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); + ED_region_tag_redraw(ar); + + return OPERATOR_FINISHED; +} + +void OUTLINER_OT_selectability_toggle(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Toggle Selectability"; + ot->idname= "OUTLINER_OT_selectability_toggle"; + ot->description= "Toggle the selectability"; + + /* callbacks */ + ot->exec= outliner_toggle_selectability_exec; + ot->poll= ED_operator_outliner_active_no_editobject; + + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} + +/* Toggle Renderability ---------------------------------------- */ + +void object_toggle_renderability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem) +{ + Base *base= (Base *)te->directdata; + + if(base==NULL) base= object_in_scene((Object *)tselem->id, scene); + if(base) { + base->object->restrictflag^=OB_RESTRICT_RENDER; + } +} + +static int outliner_toggle_renderability_exec(bContext *C, wmOperator *UNUSED(op)) +{ + SpaceOops *soops= CTX_wm_space_outliner(C); + Scene *scene= CTX_data_scene(C); + ARegion *ar= CTX_wm_region(C); + + outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_renderability_cb); + + ED_region_tag_redraw(ar); + + return OPERATOR_FINISHED; +} + +void OUTLINER_OT_renderability_toggle(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Toggle Renderability"; + ot->idname= "OUTLINER_OT_renderability_toggle"; + ot->description= "Toggle the renderability of selected items"; + + /* callbacks */ + ot->exec= outliner_toggle_renderability_exec; + ot->poll= ED_operator_outliner_active; + + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} + +/* =============================================== */ +/* Outliner setting toggles */ + +/* Toggle Expanded (Outliner) ---------------------------------------- */ + +static int outliner_toggle_expanded_exec(bContext *C, wmOperator *UNUSED(op)) +{ + SpaceOops *soops= CTX_wm_space_outliner(C); + ARegion *ar= CTX_wm_region(C); + + if (outliner_has_one_flag(soops, &soops->tree, TSE_CLOSED, 1)) + outliner_set_flag(soops, &soops->tree, TSE_CLOSED, 0); + else + outliner_set_flag(soops, &soops->tree, TSE_CLOSED, 1); + + ED_region_tag_redraw(ar); + + return OPERATOR_FINISHED; +} + +void OUTLINER_OT_expanded_toggle(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Expand/Collapse All"; + ot->idname= "OUTLINER_OT_expanded_toggle"; + ot->description= "Expand/Collapse all items"; + + /* callbacks */ + ot->exec= outliner_toggle_expanded_exec; + ot->poll= ED_operator_outliner_active; + + /* no undo or registry, UI option */ +} + +/* Toggle Selected (Outliner) ---------------------------------------- */ + +static int outliner_toggle_selected_exec(bContext *C, wmOperator *UNUSED(op)) +{ + SpaceOops *soops= CTX_wm_space_outliner(C); + ARegion *ar= CTX_wm_region(C); + Scene *scene= CTX_data_scene(C); + + if (outliner_has_one_flag(soops, &soops->tree, TSE_SELECTED, 1)) + outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0); + else + outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 1); + + soops->storeflag |= SO_TREESTORE_REDRAW; + + WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); + ED_region_tag_redraw(ar); + + return OPERATOR_FINISHED; +} + +void OUTLINER_OT_selected_toggle(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Toggle Selected"; + ot->idname= "OUTLINER_OT_selected_toggle"; + ot->description= "Toggle the Outliner selection of items"; + + /* callbacks */ + ot->exec= outliner_toggle_selected_exec; + ot->poll= ED_operator_outliner_active; + + /* no undo or registry, UI option */ +} + +/* ************************************************************** */ +/* Hotkey Only Operators */ + +/* Show Active --------------------------------------------------- */ + +static int outliner_show_active_exec(bContext *C, wmOperator *UNUSED(op)) +{ + SpaceOops *so= CTX_wm_space_outliner(C); + Scene *scene= CTX_data_scene(C); + ARegion *ar= CTX_wm_region(C); + View2D *v2d= &ar->v2d; + + TreeElement *te; + int xdelta, ytop; + + // TODO: make this get this info from context instead... + if (OBACT == NULL) + return OPERATOR_CANCELLED; + + te= outliner_find_id(so, &so->tree, (ID *)OBACT); + if (te) { + /* make te->ys center of view */ + ytop= (int)(te->ys + (v2d->mask.ymax - v2d->mask.ymin)/2); + if (ytop>0) ytop= 0; + + v2d->cur.ymax= (float)ytop; + v2d->cur.ymin= (float)(ytop-(v2d->mask.ymax - v2d->mask.ymin)); + + /* make te->xs ==> te->xend center of view */ + xdelta = (int)(te->xs - v2d->cur.xmin); + v2d->cur.xmin += xdelta; + v2d->cur.xmax += xdelta; + + so->storeflag |= SO_TREESTORE_REDRAW; + } + + ED_region_tag_redraw(ar); + + return OPERATOR_FINISHED; +} + +void OUTLINER_OT_show_active(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Show Active"; + ot->idname= "OUTLINER_OT_show_active"; + ot->description= "Adjust the view so that the active Object is shown centered"; + + /* callbacks */ + ot->exec= outliner_show_active_exec; + ot->poll= ED_operator_outliner_active; +} + +/* View Panning --------------------------------------------------- */ + +static int outliner_scroll_page_exec(bContext *C, wmOperator *op) +{ + ARegion *ar= CTX_wm_region(C); + int dy= ar->v2d.mask.ymax - ar->v2d.mask.ymin; + int up= 0; + + if(RNA_boolean_get(op->ptr, "up")) + up= 1; + + if(up == 0) dy= -dy; + ar->v2d.cur.ymin+= dy; + ar->v2d.cur.ymax+= dy; + + ED_region_tag_redraw(ar); + + return OPERATOR_FINISHED; +} + + +void OUTLINER_OT_scroll_page(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Scroll Page"; + ot->idname= "OUTLINER_OT_scroll_page"; + ot->description= "Scroll page up or down"; + + /* callbacks */ + ot->exec= outliner_scroll_page_exec; + ot->poll= ED_operator_outliner_active; + + /* properties */ + RNA_def_boolean(ot->srna, "up", 0, "Up", "Scroll up one page."); +} + +/* Search ------------------------------------------------------- */ +// TODO: probably obsolete now with filtering? + +#if 0 + +/* recursive helper for function below */ +static void outliner_set_coordinates_element(SpaceOops *soops, TreeElement *te, int startx, int *starty) +{ + TreeStoreElem *tselem= TREESTORE(te); + + /* store coord and continue, we need coordinates for elements outside view too */ + te->xs= (float)startx; + te->ys= (float)(*starty); + *starty-= UI_UNIT_Y; + + if((tselem->flag & TSE_CLOSED)==0) { + TreeElement *ten; + for(ten= te->subtree.first; ten; ten= ten->next) { + outliner_set_coordinates_element(soops, ten, startx+UI_UNIT_X, starty); + } + } + +} + +/* to retrieve coordinates with redrawing the entire tree */ +static void outliner_set_coordinates(ARegion *ar, SpaceOops *soops) +{ + TreeElement *te; + int starty= (int)(ar->v2d.tot.ymax)-UI_UNIT_Y; + int startx= 0; + + for(te= soops->tree.first; te; te= te->next) { + outliner_set_coordinates_element(soops, te, startx, &starty); + } +} + +/* find next element that has this name */ +static TreeElement *outliner_find_named(SpaceOops *soops, ListBase *lb, char *name, int flags, TreeElement *prev, int *prevFound) +{ + TreeElement *te, *tes; + + for (te= lb->first; te; te= te->next) { + int found = outliner_filter_has_name(te, name, flags); + + if(found) { + /* name is right, but is element the previous one? */ + if (prev) { + if ((te != prev) && (*prevFound)) + return te; + if (te == prev) { + *prevFound = 1; + } + } + else + return te; + } + + tes= outliner_find_named(soops, &te->subtree, name, flags, prev, prevFound); + if(tes) return tes; + } + + /* nothing valid found */ + return NULL; +} + +static void outliner_find_panel(Scene *UNUSED(scene), ARegion *ar, SpaceOops *soops, int again, int flags) +{ + ReportList *reports = NULL; // CTX_wm_reports(C); + TreeElement *te= NULL; + TreeElement *last_find; + TreeStoreElem *tselem; + int ytop, xdelta, prevFound=0; + char name[32]; + + /* get last found tree-element based on stored search_tse */ + last_find= outliner_find_tse(soops, &soops->search_tse); + + /* determine which type of search to do */ + if (again && last_find) { + /* no popup panel - previous + user wanted to search for next after previous */ + BLI_strncpy(name, soops->search_string, sizeof(name)); + flags= soops->search_flags; + + /* try to find matching element */ + te= outliner_find_named(soops, &soops->tree, name, flags, last_find, &prevFound); + if (te==NULL) { + /* no more matches after previous, start from beginning again */ + prevFound= 1; + te= outliner_find_named(soops, &soops->tree, name, flags, last_find, &prevFound); + } + } + else { + /* pop up panel - no previous, or user didn't want search after previous */ + strcpy(name, ""); +// XXX if (sbutton(name, 0, sizeof(name)-1, "Find: ") && name[0]) { +// te= outliner_find_named(soops, &soops->tree, name, flags, NULL, &prevFound); +// } +// else return; /* XXX RETURN! XXX */ + } + + /* do selection and reveal */ + if (te) { + tselem= TREESTORE(te); + if (tselem) { + /* expand branches so that it will be visible, we need to get correct coordinates */ + if( outliner_open_back(soops, te)) + outliner_set_coordinates(ar, soops); + + /* deselect all visible, and select found element */ + outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0); + tselem->flag |= TSE_SELECTED; + + /* make te->ys center of view */ + ytop= (int)(te->ys + (ar->v2d.mask.ymax-ar->v2d.mask.ymin)/2); + if(ytop>0) ytop= 0; + ar->v2d.cur.ymax= (float)ytop; + ar->v2d.cur.ymin= (float)(ytop-(ar->v2d.mask.ymax-ar->v2d.mask.ymin)); + + /* make te->xs ==> te->xend center of view */ + xdelta = (int)(te->xs - ar->v2d.cur.xmin); + ar->v2d.cur.xmin += xdelta; + ar->v2d.cur.xmax += xdelta; + + /* store selection */ + soops->search_tse= *tselem; + + BLI_strncpy(soops->search_string, name, 33); + soops->search_flags= flags; + + /* redraw */ + soops->storeflag |= SO_TREESTORE_REDRAW; + } + } + else { + /* no tree-element found */ + BKE_report(reports, RPT_WARNING, "Not found: %s", name); + } +} +#endif + +/* Show One Level ----------------------------------------------- */ + +/* helper function for Show/Hide one level operator */ +static void outliner_openclose_level(SpaceOops *soops, ListBase *lb, int curlevel, int level, int open) +{ + TreeElement *te; + TreeStoreElem *tselem; + + for(te= lb->first; te; te= te->next) { + tselem= TREESTORE(te); + + if(open) { + if(curlevel<=level) tselem->flag &= ~TSE_CLOSED; + } + else { + if(curlevel>=level) tselem->flag |= TSE_CLOSED; + } + + outliner_openclose_level(soops, &te->subtree, curlevel+1, level, open); + } +} + +static int outliner_one_level_exec(bContext *C, wmOperator *op) +{ + SpaceOops *soops= CTX_wm_space_outliner(C); + ARegion *ar= CTX_wm_region(C); + int add= RNA_boolean_get(op->ptr, "open"); + int level; + + level= outliner_has_one_flag(soops, &soops->tree, TSE_CLOSED, 1); + if(add==1) { + if(level) outliner_openclose_level(soops, &soops->tree, 1, level, 1); + } + else { + if(level==0) level= outliner_count_levels(soops, &soops->tree, 0); + if(level) outliner_openclose_level(soops, &soops->tree, 1, level-1, 0); + } + + ED_region_tag_redraw(ar); + + return OPERATOR_FINISHED; +} + +void OUTLINER_OT_show_one_level(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Show/Hide One Level"; + ot->idname= "OUTLINER_OT_show_one_level"; + ot->description= "Expand/collapse all entries by one level"; + + /* callbacks */ + ot->exec= outliner_one_level_exec; + ot->poll= ED_operator_outliner_active; + + /* no undo or registry, UI option */ + + /* properties */ + RNA_def_boolean(ot->srna, "open", 1, "Open", "Expand all entries one level deep."); +} + +/* Show Hierarchy ----------------------------------------------- */ + +/* helper function for tree_element_shwo_hierarchy() - recursively checks whether subtrees have any objects*/ +static int subtree_has_objects(SpaceOops *soops, ListBase *lb) +{ + TreeElement *te; + TreeStoreElem *tselem; + + for(te= lb->first; te; te= te->next) { + tselem= TREESTORE(te); + if(tselem->type==0 && te->idcode==ID_OB) return 1; + if( subtree_has_objects(soops, &te->subtree)) return 1; + } + return 0; +} + +/* recursive helper function for Show Hierarchy operator */ +static void tree_element_show_hierarchy(Scene *scene, SpaceOops *soops, ListBase *lb) +{ + TreeElement *te; + TreeStoreElem *tselem; + + /* open all object elems, close others */ + for(te= lb->first; te; te= te->next) { + tselem= TREESTORE(te); + + if(tselem->type==0) { + if(te->idcode==ID_SCE) { + if(tselem->id!=(ID *)scene) tselem->flag |= TSE_CLOSED; + else tselem->flag &= ~TSE_CLOSED; + } + else if(te->idcode==ID_OB) { + if(subtree_has_objects(soops, &te->subtree)) tselem->flag &= ~TSE_CLOSED; + else tselem->flag |= TSE_CLOSED; + } + } + else tselem->flag |= TSE_CLOSED; + + if(tselem->flag & TSE_CLOSED); else tree_element_show_hierarchy(scene, soops, &te->subtree); + } +} + +/* show entire object level hierarchy */ +static int outliner_show_hierarchy_exec(bContext *C, wmOperator *UNUSED(op)) +{ + SpaceOops *soops= CTX_wm_space_outliner(C); + ARegion *ar= CTX_wm_region(C); + Scene *scene= CTX_data_scene(C); + + /* recursively open/close levels */ + tree_element_show_hierarchy(scene, soops, &soops->tree); + + ED_region_tag_redraw(ar); + + return OPERATOR_FINISHED; +} + +void OUTLINER_OT_show_hierarchy(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Show Hierarchy"; + ot->idname= "OUTLINER_OT_show_hierarchy"; + ot->description= "Open all object entries and close all others"; + + /* callbacks */ + ot->exec= outliner_show_hierarchy_exec; + ot->poll= ED_operator_outliner_active; // TODO: shouldn't be allowed in RNA views... + + /* no undo or registry, UI option */ +} + +/* ************************************************************** */ +/* ANIMATO OPERATIONS */ +/* KeyingSet and Driver Creation - Helper functions */ + +/* specialised poll callback for these operators to work in Datablocks view only */ +static int ed_operator_outliner_datablocks_active(bContext *C) +{ + ScrArea *sa= CTX_wm_area(C); + if ((sa) && (sa->spacetype==SPACE_OUTLINER)) { + SpaceOops *so= CTX_wm_space_outliner(C); + return (so->outlinevis == SO_DATABLOCKS); + } + return 0; +} + + +/* Helper func to extract an RNA path from selected tree element + * NOTE: the caller must zero-out all values of the pointers that it passes here first, as + * this function does not do that yet + */ +static void tree_element_to_path(SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, + ID **id, char **path, int *array_index, short *flag, short *UNUSED(groupmode)) +{ + ListBase hierarchy = {NULL, NULL}; + LinkData *ld; + TreeElement *tem, *temnext, *temsub; + TreeStoreElem *tse, *tsenext; + PointerRNA *ptr, *nextptr; + PropertyRNA *prop; + char *newpath=NULL; + + /* optimise tricks: + * - Don't do anything if the selected item is a 'struct', but arrays are allowed + */ + if (tselem->type == TSE_RNA_STRUCT) + return; + + /* Overview of Algorithm: + * 1. Go up the chain of parents until we find the 'root', taking note of the + * levels encountered in reverse-order (i.e. items are added to the start of the list + * for more convenient looping later) + * 2. Walk down the chain, adding from the first ID encountered + * (which will become the 'ID' for the KeyingSet Path), and build a + * path as we step through the chain + */ + + /* step 1: flatten out hierarchy of parents into a flat chain */ + for (tem= te->parent; tem; tem= tem->parent) { + ld= MEM_callocN(sizeof(LinkData), "LinkData for tree_element_to_path()"); + ld->data= tem; + BLI_addhead(&hierarchy, ld); + } + + /* step 2: step down hierarchy building the path (NOTE: addhead in previous loop was needed so that we can loop like this) */ + for (ld= hierarchy.first; ld; ld= ld->next) { + /* get data */ + tem= (TreeElement *)ld->data; + tse= TREESTORE(tem); + ptr= &tem->rnaptr; + prop= tem->directdata; + + /* check if we're looking for first ID, or appending to path */ + if (*id) { + /* just 'append' property to path + * - to prevent memory leaks, we must write to newpath not path, then free old path + swap them + */ + if(tse->type == TSE_RNA_PROPERTY) { + if(RNA_property_type(prop) == PROP_POINTER) { + /* for pointer we just append property name */ + newpath= RNA_path_append(*path, ptr, prop, 0, NULL); + } + else if(RNA_property_type(prop) == PROP_COLLECTION) { + char buf[128], *name; + + temnext= (TreeElement*)(ld->next->data); + tsenext= TREESTORE(temnext); + + nextptr= &temnext->rnaptr; + name= RNA_struct_name_get_alloc(nextptr, buf, sizeof(buf)); + + if(name) { + /* if possible, use name as a key in the path */ + newpath= RNA_path_append(*path, NULL, prop, 0, name); + + if(name != buf) + MEM_freeN(name); + } + else { + /* otherwise use index */ + int index= 0; + + for(temsub=tem->subtree.first; temsub; temsub=temsub->next, index++) + if(temsub == temnext) + break; + + newpath= RNA_path_append(*path, NULL, prop, index, NULL); + } + + ld= ld->next; + } + } + + if(newpath) { + if (*path) MEM_freeN(*path); + *path= newpath; + newpath= NULL; + } + } + else { + /* no ID, so check if entry is RNA-struct, and if that RNA-struct is an ID datablock to extract info from */ + if (tse->type == TSE_RNA_STRUCT) { + /* ptr->data not ptr->id.data seems to be the one we want, since ptr->data is sometimes the owner of this ID? */ + if(RNA_struct_is_ID(ptr->type)) { + *id= (ID *)ptr->data; + + /* clear path */ + if(*path) { + MEM_freeN(*path); + path= NULL; + } + } + } + } + } + + /* step 3: if we've got an ID, add the current item to the path */ + if (*id) { + /* add the active property to the path */ + ptr= &te->rnaptr; + prop= te->directdata; + + /* array checks */ + if (tselem->type == TSE_RNA_ARRAY_ELEM) { + /* item is part of an array, so must set the array_index */ + *array_index= te->index; + } + else if (RNA_property_array_length(ptr, prop)) { + /* entire array was selected, so keyframe all */ + *flag |= KSP_FLAG_WHOLE_ARRAY; + } + + /* path */ + newpath= RNA_path_append(*path, NULL, prop, 0, NULL); + if (*path) MEM_freeN(*path); + *path= newpath; + } + + /* free temp data */ + BLI_freelistN(&hierarchy); +} + +/* =============================================== */ +/* Driver Operations */ + +/* These operators are only available in databrowser mode for now, as + * they depend on having RNA paths and/or hierarchies available. + */ +enum { + DRIVERS_EDITMODE_ADD = 0, + DRIVERS_EDITMODE_REMOVE, +} /*eDrivers_EditModes*/; + +/* Utilities ---------------------------------- */ + +/* Recursively iterate over tree, finding and working on selected items */ +static void do_outliner_drivers_editop(SpaceOops *soops, ListBase *tree, ReportList *reports, short mode) +{ + TreeElement *te; + TreeStoreElem *tselem; + + for (te= tree->first; te; te=te->next) { + tselem= TREESTORE(te); + + /* if item is selected, perform operation */ + if (tselem->flag & TSE_SELECTED) { + ID *id= NULL; + char *path= NULL; + int array_index= 0; + short flag= 0; + short groupmode= KSP_GROUP_KSNAME; + + /* check if RNA-property described by this selected element is an animateable prop */ + if (ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM) && RNA_property_animateable(&te->rnaptr, te->directdata)) { + /* get id + path + index info from the selected element */ + tree_element_to_path(soops, te, tselem, + &id, &path, &array_index, &flag, &groupmode); + } + + /* only if ID and path were set, should we perform any actions */ + if (id && path) { + short dflags = CREATEDRIVER_WITH_DEFAULT_DVAR; + int arraylen = 1; + + /* array checks */ + if (flag & KSP_FLAG_WHOLE_ARRAY) { + /* entire array was selected, so add drivers for all */ + arraylen= RNA_property_array_length(&te->rnaptr, te->directdata); + } + else + arraylen= array_index; + + /* we should do at least one step */ + if (arraylen == array_index) + arraylen++; + + /* for each array element we should affect, add driver */ + for (; array_index < arraylen; array_index++) { + /* action depends on mode */ + switch (mode) { + case DRIVERS_EDITMODE_ADD: + { + /* add a new driver with the information obtained (only if valid) */ + ANIM_add_driver(reports, id, path, array_index, dflags, DRIVER_TYPE_PYTHON); + } + break; + case DRIVERS_EDITMODE_REMOVE: + { + /* remove driver matching the information obtained (only if valid) */ + ANIM_remove_driver(reports, id, path, array_index, dflags); + } + break; + } + } + + /* free path, since it had to be generated */ + MEM_freeN(path); + } + + + } + + /* go over sub-tree */ + if ((tselem->flag & TSE_CLOSED)==0) + do_outliner_drivers_editop(soops, &te->subtree, reports, mode); + } +} + +/* Add Operator ---------------------------------- */ + +static int outliner_drivers_addsel_exec(bContext *C, wmOperator *op) +{ + SpaceOops *soutliner= CTX_wm_space_outliner(C); + + /* check for invalid states */ + if (soutliner == NULL) + return OPERATOR_CANCELLED; + + /* recursively go into tree, adding selected items */ + do_outliner_drivers_editop(soutliner, &soutliner->tree, op->reports, DRIVERS_EDITMODE_ADD); + + /* send notifiers */ + WM_event_add_notifier(C, NC_ANIMATION|ND_FCURVES_ORDER, NULL); // XXX + + return OPERATOR_FINISHED; +} + +void OUTLINER_OT_drivers_add_selected(wmOperatorType *ot) +{ + /* api callbacks */ + ot->idname= "OUTLINER_OT_drivers_add_selected"; + ot->name= "Add Drivers for Selected"; + ot->description= "Add drivers to selected items"; + + /* api callbacks */ + ot->exec= outliner_drivers_addsel_exec; + ot->poll= ed_operator_outliner_datablocks_active; + + /* flags */ + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; +} + + +/* Remove Operator ---------------------------------- */ + +static int outliner_drivers_deletesel_exec(bContext *C, wmOperator *op) +{ + SpaceOops *soutliner= CTX_wm_space_outliner(C); + + /* check for invalid states */ + if (soutliner == NULL) + return OPERATOR_CANCELLED; + + /* recursively go into tree, adding selected items */ + do_outliner_drivers_editop(soutliner, &soutliner->tree, op->reports, DRIVERS_EDITMODE_REMOVE); + + /* send notifiers */ + WM_event_add_notifier(C, ND_KEYS, NULL); // XXX + + return OPERATOR_FINISHED; +} + +void OUTLINER_OT_drivers_delete_selected(wmOperatorType *ot) +{ + /* identifiers */ + ot->idname= "OUTLINER_OT_drivers_delete_selected"; + ot->name= "Delete Drivers for Selected"; + ot->description= "Delete drivers assigned to selected items"; + + /* api callbacks */ + ot->exec= outliner_drivers_deletesel_exec; + ot->poll= ed_operator_outliner_datablocks_active; + + /* flags */ + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; +} + +/* =============================================== */ +/* Keying Set Operations */ + +/* These operators are only available in databrowser mode for now, as + * they depend on having RNA paths and/or hierarchies available. + */ +enum { + KEYINGSET_EDITMODE_ADD = 0, + KEYINGSET_EDITMODE_REMOVE, +} /*eKeyingSet_EditModes*/; + +/* Utilities ---------------------------------- */ + +/* find the 'active' KeyingSet, and add if not found (if adding is allowed) */ +// TODO: should this be an API func? +static KeyingSet *verify_active_keyingset(Scene *scene, short add) +{ + KeyingSet *ks= NULL; + + /* sanity check */ + if (scene == NULL) + return NULL; + + /* try to find one from scene */ + if (scene->active_keyingset > 0) + ks= BLI_findlink(&scene->keyingsets, scene->active_keyingset-1); + + /* add if none found */ + // XXX the default settings have yet to evolve + if ((add) && (ks==NULL)) { + ks= BKE_keyingset_add(&scene->keyingsets, NULL, KEYINGSET_ABSOLUTE, 0); + scene->active_keyingset= BLI_countlist(&scene->keyingsets); + } + + return ks; +} + +/* Recursively iterate over tree, finding and working on selected items */ +static void do_outliner_keyingset_editop(SpaceOops *soops, KeyingSet *ks, ListBase *tree, short mode) +{ + TreeElement *te; + TreeStoreElem *tselem; + + for (te= tree->first; te; te=te->next) { + tselem= TREESTORE(te); + + /* if item is selected, perform operation */ + if (tselem->flag & TSE_SELECTED) { + ID *id= NULL; + char *path= NULL; + int array_index= 0; + short flag= 0; + short groupmode= KSP_GROUP_KSNAME; + + /* check if RNA-property described by this selected element is an animateable prop */ + if (ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM) && RNA_property_animateable(&te->rnaptr, te->directdata)) { + /* get id + path + index info from the selected element */ + tree_element_to_path(soops, te, tselem, + &id, &path, &array_index, &flag, &groupmode); + } + + /* only if ID and path were set, should we perform any actions */ + if (id && path) { + /* action depends on mode */ + switch (mode) { + case KEYINGSET_EDITMODE_ADD: + { + /* add a new path with the information obtained (only if valid) */ + // TODO: what do we do with group name? for now, we don't supply one, and just let this use the KeyingSet name + BKE_keyingset_add_path(ks, id, NULL, path, array_index, flag, groupmode); + ks->active_path= BLI_countlist(&ks->paths); + } + break; + case KEYINGSET_EDITMODE_REMOVE: + { + /* find the relevant path, then remove it from the KeyingSet */ + KS_Path *ksp= BKE_keyingset_find_path(ks, id, NULL, path, array_index, groupmode); + + if (ksp) { + /* free path's data */ + BKE_keyingset_free_path(ks, ksp); + + ks->active_path= 0; + } + } + break; + } + + /* free path, since it had to be generated */ + MEM_freeN(path); + } + } + + /* go over sub-tree */ + if ((tselem->flag & TSE_CLOSED)==0) + do_outliner_keyingset_editop(soops, ks, &te->subtree, mode); + } +} + +/* Add Operator ---------------------------------- */ + +static int outliner_keyingset_additems_exec(bContext *C, wmOperator *op) +{ + SpaceOops *soutliner= CTX_wm_space_outliner(C); + Scene *scene= CTX_data_scene(C); + KeyingSet *ks= verify_active_keyingset(scene, 1); + + /* check for invalid states */ + if (ks == NULL) { + BKE_report(op->reports, RPT_ERROR, "Operation requires an Active Keying Set"); + return OPERATOR_CANCELLED; + } + if (soutliner == NULL) + return OPERATOR_CANCELLED; + + /* recursively go into tree, adding selected items */ + do_outliner_keyingset_editop(soutliner, ks, &soutliner->tree, KEYINGSET_EDITMODE_ADD); + + /* send notifiers */ + WM_event_add_notifier(C, NC_SCENE|ND_KEYINGSET, NULL); + + return OPERATOR_FINISHED; +} + +void OUTLINER_OT_keyingset_add_selected(wmOperatorType *ot) +{ + /* identifiers */ + ot->idname= "OUTLINER_OT_keyingset_add_selected"; + ot->name= "Keying Set Add Selected"; + ot->description= "Add selected items (blue-grey rows) to active Keying Set"; + + /* api callbacks */ + ot->exec= outliner_keyingset_additems_exec; + ot->poll= ed_operator_outliner_datablocks_active; + + /* flags */ + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; +} + + +/* Remove Operator ---------------------------------- */ + +static int outliner_keyingset_removeitems_exec(bContext *C, wmOperator *UNUSED(op)) +{ + SpaceOops *soutliner= CTX_wm_space_outliner(C); + Scene *scene= CTX_data_scene(C); + KeyingSet *ks= verify_active_keyingset(scene, 1); + + /* check for invalid states */ + if (soutliner == NULL) + return OPERATOR_CANCELLED; + + /* recursively go into tree, adding selected items */ + do_outliner_keyingset_editop(soutliner, ks, &soutliner->tree, KEYINGSET_EDITMODE_REMOVE); + + /* send notifiers */ + WM_event_add_notifier(C, NC_SCENE|ND_KEYINGSET, NULL); + + return OPERATOR_FINISHED; +} + +void OUTLINER_OT_keyingset_remove_selected(wmOperatorType *ot) +{ + /* identifiers */ + ot->idname= "OUTLINER_OT_keyingset_remove_selected"; + ot->name= "Keying Set Remove Selected"; + ot->description = "Remove selected items (blue-grey rows) from active Keying Set"; + + /* api callbacks */ + ot->exec= outliner_keyingset_removeitems_exec; + ot->poll= ed_operator_outliner_datablocks_active; + + /* flags */ + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO; +} diff --git a/source/blender/editors/space_outliner/outliner_intern.h b/source/blender/editors/space_outliner/outliner_intern.h index cbb26d79c4b..85bbbd4fffb 100644 --- a/source/blender/editors/space_outliner/outliner_intern.h +++ b/source/blender/editors/space_outliner/outliner_intern.h @@ -44,6 +44,8 @@ struct TreeStoreElem; struct bContext; struct Scene; struct ARegion; +struct ID; +struct Object; typedef struct TreeElement { struct TreeElement *next, *prev, *parent; @@ -107,27 +109,65 @@ typedef struct TreeElement { /* button events */ #define OL_NAMEBUTTON 1 +/* get TreeStoreElem associated with a TreeElement + * < a: (TreeElement) tree element to find stored element for + */ +#define TREESTORE(a) ((a)?soops->treestore->data+(a)->store_index:NULL) -/* outliner_ops.c */ -void outliner_operatortypes(void); -void outliner_keymap(struct wmKeyConfig *keyconf); +/* size constants */ +#define OL_Y_OFFSET 2 -/* outliner_header.c */ -void outliner_header_buttons(const struct bContext *C, struct ARegion *ar); +#define OL_TOG_RESTRICT_VIEWX (UI_UNIT_X*3) +#define OL_TOG_RESTRICT_SELECTX (UI_UNIT_X*2) +#define OL_TOG_RESTRICT_RENDERX UI_UNIT_X + +#define OL_TOGW OL_TOG_RESTRICT_VIEWX + +#define OL_RNA_COLX (UI_UNIT_X*15) +#define OL_RNA_COL_SIZEX (UI_UNIT_X*7.5) +#define OL_RNA_COL_SPACEX (UI_UNIT_X*2.5) + + +/* outliner_tree.c ----------------------------------------------- */ + +void outliner_free_tree(ListBase *lb); + +TreeElement *outliner_find_tse(struct SpaceOops *soops, TreeStoreElem *tse); +TreeElement *outliner_find_id(struct SpaceOops *soops, ListBase *lb, struct ID *id); +struct ID *outliner_search_back(SpaceOops *soops, TreeElement *te, short idcode); + +void outliner_build_tree(struct Main *mainvar, struct Scene *scene, struct SpaceOops *soops); + +/* outliner_draw.c ---------------------------------------------- */ -/* outliner.c */ -void outliner_free_tree(struct ListBase *lb); -void outliner_select(struct SpaceOops *soops, struct ListBase *lb, int *index, short *selecting); void draw_outliner(const struct bContext *C); +/* outliner_select.c -------------------------------------------- */ + +void outliner_select(struct SpaceOops *soops, ListBase *lb, int *index, short *selecting); + +int tree_element_type_active(struct bContext *C, struct Scene *scene, struct SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, int set); +int tree_element_active(struct bContext *C, struct Scene *scene, SpaceOops *soops, TreeElement *te, int set); + +/* outliner_edit.c ---------------------------------------------- */ + +void outliner_do_object_operation(struct bContext *C, struct Scene *scene, struct SpaceOops *soops, struct ListBase *lb, + void (*operation_cb)(struct bContext *C, struct Scene *scene, struct TreeElement *, struct TreeStoreElem *, TreeStoreElem *)); + +int common_restrict_check(struct bContext *C, struct Object *ob); + +int outliner_has_one_flag(struct SpaceOops *soops, ListBase *lb, short flag, short curlevel); +void outliner_set_flag(struct SpaceOops *soops, ListBase *lb, short flag, short set); + +void object_toggle_visibility_cb(struct bContext *C, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem); +void object_toggle_selectability_cb(struct bContext *C, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem); +void object_toggle_renderability_cb(struct bContext *C, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem); + +/* ...................................................... */ + void OUTLINER_OT_item_activate(struct wmOperatorType *ot); void OUTLINER_OT_item_openclose(struct wmOperatorType *ot); void OUTLINER_OT_item_rename(struct wmOperatorType *ot); -void OUTLINER_OT_operation(struct wmOperatorType *ot); -void OUTLINER_OT_object_operation(struct wmOperatorType *ot); -void OUTLINER_OT_group_operation(struct wmOperatorType *ot); -void OUTLINER_OT_id_operation(struct wmOperatorType *ot); -void OUTLINER_OT_data_operation(struct wmOperatorType *ot); void OUTLINER_OT_show_one_level(struct wmOperatorType *ot); void OUTLINER_OT_show_active(struct wmOperatorType *ot); @@ -148,5 +188,23 @@ void OUTLINER_OT_keyingset_remove_selected(struct wmOperatorType *ot); void OUTLINER_OT_drivers_add_selected(struct wmOperatorType *ot); void OUTLINER_OT_drivers_delete_selected(struct wmOperatorType *ot); -#endif /* ED_OUTLINER_INTERN_H */ +/* outliner_tools.c ---------------------------------------------- */ +void OUTLINER_OT_operation(struct wmOperatorType *ot); +void OUTLINER_OT_object_operation(struct wmOperatorType *ot); +void OUTLINER_OT_group_operation(struct wmOperatorType *ot); +void OUTLINER_OT_id_operation(struct wmOperatorType *ot); +void OUTLINER_OT_data_operation(struct wmOperatorType *ot); +void OUTLINER_OT_animdata_operation(struct wmOperatorType *ot); +void OUTLINER_OT_action_set(struct wmOperatorType *ot); + +/* ---------------------------------------------------------------- */ + +/* outliner_ops.c */ +void outliner_operatortypes(void); +void outliner_keymap(struct wmKeyConfig *keyconf); + +/* outliner_header.c */ +void outliner_header_buttons(const struct bContext *C, struct ARegion *ar); + +#endif /* ED_OUTLINER_INTERN_H */ diff --git a/source/blender/editors/space_outliner/outliner_ops.c b/source/blender/editors/space_outliner/outliner_ops.c index 8bd30235931..f3e2c352172 100644 --- a/source/blender/editors/space_outliner/outliner_ops.c +++ b/source/blender/editors/space_outliner/outliner_ops.c @@ -57,6 +57,13 @@ void outliner_operatortypes(void) WM_operatortype_append(OUTLINER_OT_group_operation); WM_operatortype_append(OUTLINER_OT_id_operation); WM_operatortype_append(OUTLINER_OT_data_operation); + WM_operatortype_append(OUTLINER_OT_animdata_operation); + +#if 0 // GSOC_PEPPER + + WM_operatortype_append(OUTLINER_OT_action_set); + +#endif // GSOC_PEPPER WM_operatortype_append(OUTLINER_OT_show_one_level); WM_operatortype_append(OUTLINER_OT_show_active); diff --git a/source/blender/editors/space_outliner/outliner_select.c b/source/blender/editors/space_outliner/outliner_select.c new file mode 100644 index 00000000000..620a936a944 --- /dev/null +++ b/source/blender/editors/space_outliner/outliner_select.c @@ -0,0 +1,867 @@ +/* + * $Id$ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2004 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): Joshua Leung + * + * ***** END GPL LICENSE BLOCK ***** + */ + +/** \file blender/editors/space_outliner/outliner_select.c + * \ingroup spoutliner + */ + +#include +#include +#include +#include + +#include "MEM_guardedalloc.h" + +#include "DNA_anim_types.h" +#include "DNA_armature_types.h" +#include "DNA_constraint_types.h" +#include "DNA_camera_types.h" +#include "DNA_group_types.h" +#include "DNA_key_types.h" +#include "DNA_lamp_types.h" +#include "DNA_material_types.h" +#include "DNA_mesh_types.h" +#include "DNA_meta_types.h" +#include "DNA_particle_types.h" +#include "DNA_scene_types.h" +#include "DNA_world_types.h" +#include "DNA_sequence_types.h" +#include "DNA_object_types.h" + +#include "BLI_blenlib.h" +#include "BLI_utildefines.h" +#include "BLI_math_base.h" + +#if defined WIN32 && !defined _LIBC +# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */ +#else +# ifndef _GNU_SOURCE +# define _GNU_SOURCE +# endif +# include +#endif + + +#include "BKE_animsys.h" +#include "BKE_context.h" +#include "BKE_deform.h" +#include "BKE_depsgraph.h" +#include "BKE_fcurve.h" +#include "BKE_global.h" +#include "BKE_group.h" +#include "BKE_library.h" +#include "BKE_main.h" +#include "BKE_modifier.h" +#include "BKE_report.h" +#include "BKE_scene.h" +#include "BKE_sequencer.h" + +#include "ED_armature.h" +#include "ED_object.h" +#include "ED_screen.h" +#include "ED_util.h" + +#include "WM_api.h" +#include "WM_types.h" + +#include "BIF_gl.h" +#include "BIF_glutil.h" + +#include "UI_interface.h" +#include "UI_interface_icons.h" +#include "UI_resources.h" +#include "UI_view2d.h" + +#include "RNA_access.h" +#include "RNA_define.h" + +#include "outliner_intern.h" + +/* ****************************************************** */ +/* Outliner Selection (grey-blue highlight for rows) */ + +void outliner_select(SpaceOops *soops, ListBase *lb, int *index, short *selecting) +{ + TreeElement *te; + TreeStoreElem *tselem; + + for (te= lb->first; te && *index >= 0; te=te->next, (*index)--) { + tselem= TREESTORE(te); + + /* if we've encountered the right item, set its 'Outliner' selection status */ + if (*index == 0) { + /* this should be the last one, so no need to do anything with index */ + if ((te->flag & TE_ICONROW)==0) { + /* -1 value means toggle testing for now... */ + if (*selecting == -1) { + if (tselem->flag & TSE_SELECTED) + *selecting= 0; + else + *selecting= 1; + } + + /* set selection */ + if (*selecting) + tselem->flag |= TSE_SELECTED; + else + tselem->flag &= ~TSE_SELECTED; + } + } + else if ((tselem->flag & TSE_CLOSED)==0) { + /* Only try selecting sub-elements if we haven't hit the right element yet + * + * Hack warning: + * Index must be reduced before supplying it to the sub-tree to try to do + * selection, however, we need to increment it again for the next loop to + * function correctly + */ + (*index)--; + outliner_select(soops, &te->subtree, index, selecting); + (*index)++; + } + } +} + +/* ****************************************************** */ +/* Outliner Element Selection/Activation on Click */ + +static int tree_element_active_renderlayer(bContext *C, TreeElement *te, TreeStoreElem *tselem, int set) +{ + Scene *sce; + + /* paranoia check */ + if(te->idcode!=ID_SCE) + return 0; + sce= (Scene *)tselem->id; + + if(set) { + sce->r.actlay= tselem->nr; + WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, sce); + } + else { + return sce->r.actlay==tselem->nr; + } + return 0; +} + +static int tree_element_set_active_object(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set) +{ + TreeStoreElem *tselem= TREESTORE(te); + Scene *sce; + Base *base; + Object *ob= NULL; + + /* if id is not object, we search back */ + if(te->idcode==ID_OB) ob= (Object *)tselem->id; + else { + ob= (Object *)outliner_search_back(soops, te, ID_OB); + if(ob==OBACT) return 0; + } + if(ob==NULL) return 0; + + sce= (Scene *)outliner_search_back(soops, te, ID_SCE); + if(sce && scene != sce) { + ED_screen_set_scene(C, sce); + } + + /* find associated base in current scene */ + base= object_in_scene(ob, scene); + + if(base) { + if(set==2) { + /* swap select */ + if(base->flag & SELECT) + ED_base_object_select(base, BA_DESELECT); + else + ED_base_object_select(base, BA_SELECT); + } + else { + /* deleselect all */ + scene_deselect_all(scene); + ED_base_object_select(base, BA_SELECT); + } + if(C) { + ED_base_object_activate(C, base); /* adds notifier */ + WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); + } + } + + if(ob!=scene->obedit) + ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO); + + return 1; +} + +static int tree_element_active_material(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set) +{ + TreeElement *tes; + Object *ob; + + /* we search for the object parent */ + ob= (Object *)outliner_search_back(soops, te, ID_OB); + // note: ob->matbits can be NULL when a local object points to a library mesh. + if(ob==NULL || ob!=OBACT || ob->matbits==NULL) return 0; // just paranoia + + /* searching in ob mat array? */ + tes= te->parent; + if(tes->idcode==ID_OB) { + if(set) { + ob->actcol= te->index+1; + ob->matbits[te->index]= 1; // make ob material active too + ob->colbits |= (1<index); + } + else { + if(ob->actcol == te->index+1) + if(ob->matbits[te->index]) return 1; + } + } + /* or we search for obdata material */ + else { + if(set) { + ob->actcol= te->index+1; + ob->matbits[te->index]= 0; // make obdata material active too + ob->colbits &= ~(1<index); + } + else { + if(ob->actcol == te->index+1) + if(ob->matbits[te->index]==0) return 1; + } + } + if(set) { + WM_event_add_notifier(C, NC_MATERIAL|ND_SHADING, NULL); + } + return 0; +} + +static int tree_element_active_texture(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set) +{ + TreeElement *tep; + TreeStoreElem /* *tselem,*/ *tselemp; + Object *ob=OBACT; + SpaceButs *sbuts=NULL; + + if(ob==NULL) return 0; // no active object + + /*tselem= TREESTORE(te);*/ /*UNUSED*/ + + /* find buttons area (note, this is undefined really still, needs recode in blender) */ + /* XXX removed finding sbuts */ + + /* where is texture linked to? */ + tep= te->parent; + tselemp= TREESTORE(tep); + + if(tep->idcode==ID_WO) { + World *wrld= (World *)tselemp->id; + + if(set) { + if(sbuts) { + // XXX sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c + // XXX sbuts->texfrom= 1; + } +// XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture + wrld->texact= te->index; + } + else if(tselemp->id == (ID *)(scene->world)) { + if(wrld->texact==te->index) return 1; + } + } + else if(tep->idcode==ID_LA) { + Lamp *la= (Lamp *)tselemp->id; + if(set) { + if(sbuts) { + // XXX sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c + // XXX sbuts->texfrom= 2; + } +// XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture + la->texact= te->index; + } + else { + if(tselemp->id == ob->data) { + if(la->texact==te->index) return 1; + } + } + } + else if(tep->idcode==ID_MA) { + Material *ma= (Material *)tselemp->id; + if(set) { + if(sbuts) { + //sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c + // XXX sbuts->texfrom= 0; + } +// XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture + ma->texact= (char)te->index; + + /* also set active material */ + ob->actcol= tep->index+1; + } + else if(tep->flag & TE_ACTIVE) { // this is active material + if(ma->texact==te->index) return 1; + } + } + + if(set) + WM_event_add_notifier(C, NC_TEXTURE, NULL); + + return 0; +} + + +static int tree_element_active_lamp(bContext *UNUSED(C), Scene *scene, SpaceOops *soops, TreeElement *te, int set) +{ + Object *ob; + + /* we search for the object parent */ + ob= (Object *)outliner_search_back(soops, te, ID_OB); + if(ob==NULL || ob!=OBACT) return 0; // just paranoia + + if(set) { +// XXX extern_set_butspace(F5KEY, 0); + } + else return 1; + + return 0; +} + +static int tree_element_active_camera(bContext *UNUSED(C), Scene *scene, SpaceOops *soops, TreeElement *te, int set) +{ + Object *ob= (Object *)outliner_search_back(soops, te, ID_OB); + + if(set) + return 0; + + return scene->camera == ob; +} + +static int tree_element_active_world(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set) +{ + TreeElement *tep; + TreeStoreElem *tselem=NULL; + Scene *sce=NULL; + + tep= te->parent; + if(tep) { + tselem= TREESTORE(tep); + sce= (Scene *)tselem->id; + } + + if(set) { // make new scene active + if(sce && scene != sce) { + ED_screen_set_scene(C, sce); + } + } + + if(tep==NULL || tselem->id == (ID *)scene) { + if(set) { +// XXX extern_set_butspace(F8KEY, 0); + } + else { + return 1; + } + } + return 0; +} + +static int tree_element_active_defgroup(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set) +{ + Object *ob; + + /* id in tselem is object */ + ob= (Object *)tselem->id; + if(set) { + ob->actdef= te->index+1; + DAG_id_tag_update(&ob->id, OB_RECALC_DATA); + WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, ob); + } + else { + if(ob==OBACT) + if(ob->actdef== te->index+1) return 1; + } + return 0; +} + +static int tree_element_active_posegroup(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set) +{ + Object *ob= (Object *)tselem->id; + + if(set) { + if (ob->pose) { + ob->pose->active_group= te->index+1; + WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob); + } + } + else { + if(ob==OBACT && ob->pose) { + if (ob->pose->active_group== te->index+1) return 1; + } + } + return 0; +} + +static int tree_element_active_posechannel(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set) +{ + Object *ob= (Object *)tselem->id; + bArmature *arm= ob->data; + bPoseChannel *pchan= te->directdata; + + if(set) { + if(!(pchan->bone->flag & BONE_HIDDEN_P)) { + + if(set==2) ED_pose_deselectall(ob, 2); // 2 = clear active tag + else ED_pose_deselectall(ob, 0); // 0 = deselect + + if(set==2 && (pchan->bone->flag & BONE_SELECTED)) { + pchan->bone->flag &= ~BONE_SELECTED; + } else { + pchan->bone->flag |= BONE_SELECTED; + arm->act_bone= pchan->bone; + } + + WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, ob); + + } + } + else { + if(ob==OBACT && ob->pose) { + if (pchan->bone->flag & BONE_SELECTED) return 1; + } + } + return 0; +} + +static int tree_element_active_bone(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set) +{ + bArmature *arm= (bArmature *)tselem->id; + Bone *bone= te->directdata; + + if(set) { + if(!(bone->flag & BONE_HIDDEN_P)) { + if(set==2) ED_pose_deselectall(OBACT, 2); // 2 is clear active tag + else ED_pose_deselectall(OBACT, 0); + + if(set==2 && (bone->flag & BONE_SELECTED)) { + bone->flag &= ~BONE_SELECTED; + } else { + bone->flag |= BONE_SELECTED; + arm->act_bone= bone; + } + + WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, OBACT); + } + } + else { + Object *ob= OBACT; + + if(ob && ob->data==arm) { + if (bone->flag & BONE_SELECTED) return 1; + } + } + return 0; +} + + +/* ebones only draw in editmode armature */ +static void tree_element_active_ebone__sel(bContext *C, Scene *scene, bArmature *arm, EditBone *ebone, short sel) +{ + if(sel) { + ebone->flag |= BONE_SELECTED|BONE_ROOTSEL|BONE_TIPSEL; + arm->act_edbone= ebone; + // flush to parent? + if(ebone->parent && (ebone->flag & BONE_CONNECTED)) ebone->parent->flag |= BONE_TIPSEL; + } + else { + ebone->flag &= ~(BONE_SELECTED|BONE_ROOTSEL|BONE_TIPSEL); + // flush to parent? + if(ebone->parent && (ebone->flag & BONE_CONNECTED)) ebone->parent->flag &= ~BONE_TIPSEL; + } + + WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, scene->obedit); +} +static int tree_element_active_ebone(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tselem), int set) +{ + bArmature *arm= scene->obedit->data; + EditBone *ebone= te->directdata; + + if(set==1) { + if(!(ebone->flag & BONE_HIDDEN_A)) { + ED_armature_deselect_all(scene->obedit, 0); // deselect + tree_element_active_ebone__sel(C, scene, arm, ebone, TRUE); + return 1; + } + } + else if (set==2) { + if(!(ebone->flag & BONE_HIDDEN_A)) { + if(!(ebone->flag & BONE_SELECTED)) { + tree_element_active_ebone__sel(C, scene, arm, ebone, TRUE); + return 1; + } + else { + /* entirely selected, so de-select */ + tree_element_active_ebone__sel(C, scene, arm, ebone, FALSE); + return 0; + } + } + } + else if (ebone->flag & BONE_SELECTED) { + return 1; + } + return 0; +} + +static int tree_element_active_modifier(bContext *C, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set) +{ + if(set) { + Object *ob= (Object *)tselem->id; + + WM_event_add_notifier(C, NC_OBJECT|ND_MODIFIER, ob); + +// XXX extern_set_butspace(F9KEY, 0); + } + + return 0; +} + +static int tree_element_active_psys(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tselem, int set) +{ + if(set) { + Object *ob= (Object *)tselem->id; + + WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_EDITED, ob); + +// XXX extern_set_butspace(F7KEY, 0); + } + + return 0; +} + +static int tree_element_active_constraint(bContext *C, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set) +{ + if(set) { + Object *ob= (Object *)tselem->id; + + WM_event_add_notifier(C, NC_OBJECT|ND_CONSTRAINT, ob); +// XXX extern_set_butspace(F7KEY, 0); + } + + return 0; +} + +static int tree_element_active_text(bContext *UNUSED(C), Scene *UNUSED(scene), SpaceOops *UNUSED(soops), TreeElement *UNUSED(te), int UNUSED(set)) +{ + // XXX removed + return 0; +} + +static int tree_element_active_pose(bContext *C, Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set) +{ + Object *ob= (Object *)tselem->id; + Base *base= object_in_scene(ob, scene); + + if(set) { + if(scene->obedit) + ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO); + + if(ob->mode & OB_MODE_POSE) + ED_armature_exit_posemode(C, base); + else + ED_armature_enter_posemode(C, base); + } + else { + if(ob->mode & OB_MODE_POSE) return 1; + } + return 0; +} + +static int tree_element_active_sequence(TreeElement *te, TreeStoreElem *UNUSED(tselem), int set) +{ + Sequence *seq= (Sequence*) te->directdata; + + if(set) { +// XXX select_single_seq(seq, 1); + } + else { + if(seq->flag & SELECT) + return(1); + } + return(0); +} + +static int tree_element_active_sequence_dup(Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tselem), int set) +{ + Sequence *seq, *p; + Editing *ed= seq_give_editing(scene, FALSE); + + seq= (Sequence*)te->directdata; + if(set==0) { + if(seq->flag & SELECT) + return(1); + return(0); + } + +// XXX select_single_seq(seq, 1); + p= ed->seqbasep->first; + while(p) { + if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) { + p= p->next; + continue; + } + +// if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name)) +// XXX select_single_seq(p, 0); + p= p->next; + } + return(0); +} + +static int tree_element_active_keymap_item(bContext *UNUSED(C), TreeElement *te, TreeStoreElem *UNUSED(tselem), int set) +{ + wmKeyMapItem *kmi= te->directdata; + + if(set==0) { + if(kmi->flag & KMI_INACTIVE) return 0; + return 1; + } + else { + kmi->flag ^= KMI_INACTIVE; + } + return 0; +} + +/* ---------------------------------------------- */ + +/* generic call for ID data check or make/check active in UI */ +int tree_element_active(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set) +{ + + switch(te->idcode) { + /* Note: no ID_OB: objects are handled specially to allow multiple + selection. See do_outliner_item_activate. */ + case ID_MA: + return tree_element_active_material(C, scene, soops, te, set); + case ID_WO: + return tree_element_active_world(C, scene, soops, te, set); + case ID_LA: + return tree_element_active_lamp(C, scene, soops, te, set); + case ID_TE: + return tree_element_active_texture(C, scene, soops, te, set); + case ID_TXT: + return tree_element_active_text(C, scene, soops, te, set); + case ID_CA: + return tree_element_active_camera(C, scene, soops, te, set); + } + return 0; +} + +/* generic call for non-id data to make/check active in UI */ +/* Context can be NULL when set==0 */ +int tree_element_type_active(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, int set) +{ + switch(tselem->type) { + case TSE_DEFGROUP: + return tree_element_active_defgroup(C, scene, te, tselem, set); + case TSE_BONE: + return tree_element_active_bone(C, scene, te, tselem, set); + case TSE_EBONE: + return tree_element_active_ebone(C, scene, te, tselem, set); + case TSE_MODIFIER: + return tree_element_active_modifier(C, te, tselem, set); + case TSE_LINKED_OB: + if(set) tree_element_set_active_object(C, scene, soops, te, set); + else if(tselem->id==(ID *)OBACT) return 1; + break; + case TSE_LINKED_PSYS: + return tree_element_active_psys(C, scene, te, tselem, set); + case TSE_POSE_BASE: + return tree_element_active_pose(C, scene, te, tselem, set); + case TSE_POSE_CHANNEL: + return tree_element_active_posechannel(C, scene, te, tselem, set); + case TSE_CONSTRAINT: + return tree_element_active_constraint(C, te, tselem, set); + case TSE_R_LAYER: + return tree_element_active_renderlayer(C, te, tselem, set); + case TSE_POSEGRP: + return tree_element_active_posegroup(C, scene, te, tselem, set); + case TSE_SEQUENCE: + return tree_element_active_sequence(te, tselem, set); + case TSE_SEQUENCE_DUP: + return tree_element_active_sequence_dup(scene, te, tselem, set); + case TSE_KEYMAP_ITEM: + return tree_element_active_keymap_item(C, te, tselem, set); + + } + return 0; +} + +/* ================================================ */ + +static int do_outliner_item_activate(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int extend, const float mval[2]) +{ + + if(mval[1]>te->ys && mval[1]ys+UI_UNIT_Y) { + TreeStoreElem *tselem= TREESTORE(te); + int openclose= 0; + + /* open close icon */ + if((te->flag & TE_ICONROW)==0) { // hidden icon, no open/close + if( mval[0]>te->xs && mval[0]xs+UI_UNIT_X) + openclose= 1; + } + + if(openclose) { + /* all below close/open? */ + if(extend) { + tselem->flag &= ~TSE_CLOSED; + outliner_set_flag(soops, &te->subtree, TSE_CLOSED, !outliner_has_one_flag(soops, &te->subtree, TSE_CLOSED, 1)); + } + else { + if(tselem->flag & TSE_CLOSED) tselem->flag &= ~TSE_CLOSED; + else tselem->flag |= TSE_CLOSED; + + } + + return 1; + } + /* name and first icon */ + else if(mval[0]>te->xs+UI_UNIT_X && mval[0]xend) { + + /* always makes active object */ + if(tselem->type!=TSE_SEQUENCE && tselem->type!=TSE_SEQ_STRIP && tselem->type!=TSE_SEQUENCE_DUP) + tree_element_set_active_object(C, scene, soops, te, 1 + (extend!=0 && tselem->type==0)); + + if(tselem->type==0) { // the lib blocks + /* editmode? */ + if(te->idcode==ID_SCE) { + if(scene!=(Scene *)tselem->id) { + ED_screen_set_scene(C, (Scene *)tselem->id); + } + } + else if(te->idcode==ID_GR) { + Group *gr= (Group *)tselem->id; + GroupObject *gob; + + if(extend) { + int sel= BA_SELECT; + for(gob= gr->gobject.first; gob; gob= gob->next) { + if(gob->ob->flag & SELECT) { + sel= BA_DESELECT; + break; + } + } + + for(gob= gr->gobject.first; gob; gob= gob->next) { + ED_base_object_select(object_in_scene(gob->ob, scene), sel); + } + } + else { + scene_deselect_all(scene); + + for(gob= gr->gobject.first; gob; gob= gob->next) { + if((gob->ob->flag & SELECT) == 0) + ED_base_object_select(object_in_scene(gob->ob, scene), BA_SELECT); + } + } + + WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); + } + else if(ELEM5(te->idcode, ID_ME, ID_CU, ID_MB, ID_LT, ID_AR)) { + WM_operator_name_call(C, "OBJECT_OT_editmode_toggle", WM_OP_INVOKE_REGION_WIN, NULL); + } else { // rest of types + tree_element_active(C, scene, soops, te, 1); + } + + } + else tree_element_type_active(C, scene, soops, te, tselem, 1+(extend!=0)); + + return 1; + } + } + + for(te= te->subtree.first; te; te= te->next) { + if(do_outliner_item_activate(C, scene, ar, soops, te, extend, mval)) return 1; + } + return 0; +} + +/* event can enterkey, then it opens/closes */ +static int outliner_item_activate(bContext *C, wmOperator *op, wmEvent *event) +{ + Scene *scene= CTX_data_scene(C); + ARegion *ar= CTX_wm_region(C); + SpaceOops *soops= CTX_wm_space_outliner(C); + TreeElement *te; + float fmval[2]; + int extend= RNA_boolean_get(op->ptr, "extend"); + + UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1); + + if(!ELEM3(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF, SO_KEYMAP) && !(soops->flag & SO_HIDE_RESTRICTCOLS) && fmval[0] > ar->v2d.cur.xmax - OL_TOG_RESTRICT_VIEWX) + return OPERATOR_CANCELLED; + + for(te= soops->tree.first; te; te= te->next) { + if(do_outliner_item_activate(C, scene, ar, soops, te, extend, fmval)) break; + } + + if(te) { + ED_undo_push(C, "Outliner click event"); + } + else { + short selecting= -1; + int row; + + /* get row number - 100 here is just a dummy value since we don't need the column */ + UI_view2d_listview_view_to_cell(&ar->v2d, 1000, UI_UNIT_Y, 0.0f, OL_Y_OFFSET, + fmval[0], fmval[1], NULL, &row); + + /* select relevant row */ + outliner_select(soops, &soops->tree, &row, &selecting); + + soops->storeflag |= SO_TREESTORE_REDRAW; + + ED_undo_push(C, "Outliner selection event"); + } + + ED_region_tag_redraw(ar); + + return OPERATOR_FINISHED; +} + +void OUTLINER_OT_item_activate(wmOperatorType *ot) +{ + ot->name= "Activate Item"; + ot->idname= "OUTLINER_OT_item_activate"; + ot->description= "Handle mouse clicks to activate/select items"; + + ot->invoke= outliner_item_activate; + + ot->poll= ED_operator_outliner_active; + + RNA_def_boolean(ot->srna, "extend", 1, "Extend", "Extend selection for activation."); +} + +/* ****************************************************** */ diff --git a/source/blender/editors/space_outliner/outliner_tools.c b/source/blender/editors/space_outliner/outliner_tools.c new file mode 100644 index 00000000000..f5e1a67010e --- /dev/null +++ b/source/blender/editors/space_outliner/outliner_tools.c @@ -0,0 +1,1217 @@ +/* + * $Id$ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2004 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): Joshua Leung + * + * ***** END GPL LICENSE BLOCK ***** + */ + +/** \file blender/editors/space_outliner/outliner_tools.c + * \ingroup spoutliner + */ + +#include +#include +#include +#include + +#include "MEM_guardedalloc.h" + +#include "DNA_anim_types.h" +#include "DNA_armature_types.h" +#include "DNA_constraint_types.h" +#include "DNA_camera_types.h" +#include "DNA_group_types.h" +#include "DNA_key_types.h" +#include "DNA_lamp_types.h" +#include "DNA_material_types.h" +#include "DNA_mesh_types.h" +#include "DNA_meta_types.h" +#include "DNA_particle_types.h" +#include "DNA_scene_types.h" +#include "DNA_world_types.h" +#include "DNA_sequence_types.h" +#include "DNA_object_types.h" + +#include "BLI_blenlib.h" +#include "BLI_utildefines.h" +#include "BLI_math_base.h" + +#if defined WIN32 && !defined _LIBC +# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */ +#else +# ifndef _GNU_SOURCE +# define _GNU_SOURCE +# endif +# include +#endif + + +#include "BKE_animsys.h" +#include "BKE_context.h" +#include "BKE_deform.h" +#include "BKE_depsgraph.h" +#include "BKE_fcurve.h" +#include "BKE_global.h" +#include "BKE_group.h" +#include "BKE_library.h" +#include "BKE_main.h" +#include "BKE_modifier.h" +#include "BKE_report.h" +#include "BKE_scene.h" +#include "BKE_sequencer.h" + +#include "ED_armature.h" +#include "ED_object.h" +#include "ED_screen.h" +#include "ED_util.h" + +#include "WM_api.h" +#include "WM_types.h" + +#include "BIF_gl.h" +#include "BIF_glutil.h" + +#include "UI_interface.h" +#include "UI_interface_icons.h" +#include "UI_resources.h" +#include "UI_view2d.h" + +#include "RNA_access.h" +#include "RNA_define.h" +#include "RNA_enum_types.h" + +#include "outliner_intern.h" + +/* ****************************************************** */ + +/* ************ SELECTION OPERATIONS ********* */ + +static void set_operation_types(SpaceOops *soops, ListBase *lb, + int *scenelevel, + int *objectlevel, + int *idlevel, + int *datalevel) +{ + TreeElement *te; + TreeStoreElem *tselem; + + for(te= lb->first; te; te= te->next) { + tselem= TREESTORE(te); + if(tselem->flag & TSE_SELECTED) { + if(tselem->type) { + if(*datalevel==0) + *datalevel= tselem->type; + else if(*datalevel!=tselem->type) + *datalevel= -1; + } + else { + int idcode= GS(tselem->id->name); + switch(idcode) { + case ID_SCE: + *scenelevel= 1; + break; + case ID_OB: + *objectlevel= 1; + break; + + case ID_ME: case ID_CU: case ID_MB: case ID_LT: + case ID_LA: case ID_AR: case ID_CA: /* case ID_SPK: */ /* GSOC_PEPPER */ + case ID_MA: case ID_TE: case ID_IP: case ID_IM: + case ID_SO: case ID_KE: case ID_WO: case ID_AC: + case ID_NLA: case ID_TXT: case ID_GR: + if(*idlevel==0) *idlevel= idcode; + else if(*idlevel!=idcode) *idlevel= -1; + break; + } + } + } + if((tselem->flag & TSE_CLOSED)==0) { + set_operation_types(soops, &te->subtree, + scenelevel, objectlevel, idlevel, datalevel); + } + } +} + +#if 0 // GSOC_PEPPER + +static void unlink_action_cb(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem)) +{ + /* just set action to NULL */ + BKE_animdata_set_action(CTX_wm_reports(C), tsep->id, NULL); +} + +#endif // GSOC_PEPPER + +static void unlink_material_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem)) +{ + Material **matar=NULL; + int a, totcol=0; + + if( GS(tsep->id->name)==ID_OB) { + Object *ob= (Object *)tsep->id; + totcol= ob->totcol; + matar= ob->mat; + } + else if( GS(tsep->id->name)==ID_ME) { + Mesh *me= (Mesh *)tsep->id; + totcol= me->totcol; + matar= me->mat; + } + else if( GS(tsep->id->name)==ID_CU) { + Curve *cu= (Curve *)tsep->id; + totcol= cu->totcol; + matar= cu->mat; + } + else if( GS(tsep->id->name)==ID_MB) { + MetaBall *mb= (MetaBall *)tsep->id; + totcol= mb->totcol; + matar= mb->mat; + } + + for(a=0; aindex && matar[a]) { + matar[a]->id.us--; + matar[a]= NULL; + } + } +} + +static void unlink_texture_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem)) +{ + MTex **mtex= NULL; + int a; + + if( GS(tsep->id->name)==ID_MA) { + Material *ma= (Material *)tsep->id; + mtex= ma->mtex; + } + else if( GS(tsep->id->name)==ID_LA) { + Lamp *la= (Lamp *)tsep->id; + mtex= la->mtex; + } + else if( GS(tsep->id->name)==ID_WO) { + World *wrld= (World *)tsep->id; + mtex= wrld->mtex; + } + else return; + + for(a=0; aindex && mtex[a]) { + if(mtex[a]->tex) { + mtex[a]->tex->id.us--; + mtex[a]->tex= NULL; + } + } + } +} + +static void unlink_group_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *tselem) +{ + Group *group= (Group *)tselem->id; + + if(tsep) { + if( GS(tsep->id->name)==ID_OB) { + Object *ob= (Object *)tsep->id; + ob->dup_group= NULL; + } + } + else { + unlink_group(group); + } +} + +static void outliner_do_libdata_operation(bContext *C, Scene *scene, SpaceOops *soops, ListBase *lb, + void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *)) +{ + TreeElement *te; + TreeStoreElem *tselem; + + for(te=lb->first; te; te= te->next) { + tselem= TREESTORE(te); + if(tselem->flag & TSE_SELECTED) { + if(tselem->type==0) { + TreeStoreElem *tsep= TREESTORE(te->parent); + operation_cb(C, scene, te, tsep, tselem); + } + } + if((tselem->flag & TSE_CLOSED)==0) { + outliner_do_libdata_operation(C, scene, soops, &te->subtree, operation_cb); + } + } +} + +/* */ + +static void object_select_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem) +{ + Base *base= (Base *)te->directdata; + + if(base==NULL) base= object_in_scene((Object *)tselem->id, scene); + if(base && ((base->object->restrictflag & OB_RESTRICT_VIEW)==0)) { + base->flag |= SELECT; + base->object->flag |= SELECT; + } +} + +static void object_deselect_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem) +{ + Base *base= (Base *)te->directdata; + + if(base==NULL) base= object_in_scene((Object *)tselem->id, scene); + if(base) { + base->flag &= ~SELECT; + base->object->flag &= ~SELECT; + } +} + +static void object_delete_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem) +{ + Base *base= (Base *)te->directdata; + + if(base==NULL) + base= object_in_scene((Object *)tselem->id, scene); + if(base) { + // check also library later + if(scene->obedit==base->object) + ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO); + + ED_base_object_free_and_unlink(CTX_data_main(C), scene, base); + te->directdata= NULL; + tselem->id= NULL; + } + +} + +static void id_local_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem) +{ + if (tselem->id->lib && (tselem->id->flag & LIB_EXTERN)) { + tselem->id->lib= NULL; + tselem->id->flag= LIB_LOCAL; + new_id(NULL, tselem->id, NULL); + } +} + +static void id_fake_user_set_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem) +{ + ID *id = tselem->id; + + if ((id) && ((id->flag & LIB_FAKEUSER) == 0)) { + id->flag |= LIB_FAKEUSER; + id_us_plus(id); + } +} + +static void id_fake_user_clear_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem) +{ + ID *id = tselem->id; + + if ((id) && (id->flag & LIB_FAKEUSER)) { + id->flag &= ~LIB_FAKEUSER; + id_us_min(id); + } +} + +#if 0 // GSOC_PEPPER + +static void singleuser_action_cb(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *tselem) +{ + ID *id = tselem->id; + + if (id) { + IdAdtTemplate *iat = (IdAdtTemplate *)tsep->id; + PointerRNA ptr = {{0}}; + PropertyRNA *prop; + + RNA_pointer_create(&iat->id, &RNA_AnimData, iat->adt, &ptr); + prop = RNA_struct_find_property(&ptr, "action"); + + id_single_user(C, id, &ptr, prop); + } +} + +#endif + +static void group_linkobs2scene_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem) +{ + Group *group= (Group *)tselem->id; + GroupObject *gob; + Base *base; + + for(gob=group->gobject.first; gob; gob=gob->next) { + base= object_in_scene(gob->ob, scene); + if (base) { + base->object->flag |= SELECT; + base->flag |= SELECT; + } else { + /* link to scene */ + base= MEM_callocN( sizeof(Base), "add_base"); + BLI_addhead(&scene->base, base); + base->lay= (1<<20)-1; /*v3d->lay;*/ /* would be nice to use the 3d layer but the include's not here */ + gob->ob->flag |= SELECT; + base->flag = gob->ob->flag; + base->object= gob->ob; + id_lib_extern((ID *)gob->ob); /* incase these are from a linked group */ + } + } +} + +void outliner_do_object_operation(bContext *C, Scene *scene_act, SpaceOops *soops, ListBase *lb, + void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *)) +{ + TreeElement *te; + TreeStoreElem *tselem; + + for(te=lb->first; te; te= te->next) { + tselem= TREESTORE(te); + if(tselem->flag & TSE_SELECTED) { + if(tselem->type==0 && te->idcode==ID_OB) { + // when objects selected in other scenes... dunno if that should be allowed + Scene *scene_owner= (Scene *)outliner_search_back(soops, te, ID_SCE); + if(scene_owner && scene_act != scene_owner) { + ED_screen_set_scene(C, scene_owner); + } + /* important to use 'scene_owner' not scene_act else deleting objects can crash. + * only use 'scene_act' when 'scene_owner' is NULL, which can happen when the + * outliner isnt showing scenes: Visible Layer draw mode for eg. */ + operation_cb(C, scene_owner ? scene_owner : scene_act, te, NULL, tselem); + } + } + if((tselem->flag & TSE_CLOSED)==0) { + outliner_do_object_operation(C, scene_act, soops, &te->subtree, operation_cb); + } + } +} + +/* ******************************************** */ + +#if 0 // GSOC_PEPPER + +static void unlinkact_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te), TreeStoreElem *tselem) +{ + /* just set action to NULL */ + BKE_animdata_set_action(NULL, tselem->id, NULL); +} + +#endif // GSOC_PEPPER + +static void cleardrivers_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te), TreeStoreElem *tselem) +{ + IdAdtTemplate *iat = (IdAdtTemplate *)tselem->id; + + /* just free drivers - stored as a list of F-Curves */ + free_fcurves(&iat->adt->drivers); +} + +static void refreshdrivers_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te), TreeStoreElem *tselem) +{ + IdAdtTemplate *iat = (IdAdtTemplate *)tselem->id; + FCurve *fcu; + + /* loop over drivers, performing refresh (i.e. check graph_buttons.c and rna_fcurve.c for details) */ + for (fcu = iat->adt->drivers.first; fcu; fcu= fcu->next) { + fcu->flag &= ~FCURVE_DISABLED; + + if (fcu->driver) + fcu->driver->flag &= ~DRIVER_FLAG_INVALID; + } +} + +/* --------------------------------- */ + +static void pchan_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem)) +{ + bPoseChannel *pchan= (bPoseChannel *)te->directdata; + + if(event==1) + pchan->bone->flag |= BONE_SELECTED; + else if(event==2) + pchan->bone->flag &= ~BONE_SELECTED; + else if(event==3) { + pchan->bone->flag |= BONE_HIDDEN_P; + pchan->bone->flag &= ~BONE_SELECTED; + } + else if(event==4) + pchan->bone->flag &= ~BONE_HIDDEN_P; +} + +static void bone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem)) +{ + Bone *bone= (Bone *)te->directdata; + + if(event==1) + bone->flag |= BONE_SELECTED; + else if(event==2) + bone->flag &= ~BONE_SELECTED; + else if(event==3) { + bone->flag |= BONE_HIDDEN_P; + bone->flag &= ~BONE_SELECTED; + } + else if(event==4) + bone->flag &= ~BONE_HIDDEN_P; +} + +static void ebone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem)) +{ + EditBone *ebone= (EditBone *)te->directdata; + + if(event==1) + ebone->flag |= BONE_SELECTED; + else if(event==2) + ebone->flag &= ~BONE_SELECTED; + else if(event==3) { + ebone->flag |= BONE_HIDDEN_A; + ebone->flag &= ~BONE_SELECTED|BONE_TIPSEL|BONE_ROOTSEL; + } + else if(event==4) + ebone->flag &= ~BONE_HIDDEN_A; +} + +static void sequence_cb(int event, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tselem)) +{ +// Sequence *seq= (Sequence*) te->directdata; + if(event==1) { +// XXX select_single_seq(seq, 1); + } +} + +static void outliner_do_data_operation(SpaceOops *soops, int type, int event, ListBase *lb, + void (*operation_cb)(int, TreeElement *, TreeStoreElem *)) +{ + TreeElement *te; + TreeStoreElem *tselem; + + for(te=lb->first; te; te= te->next) { + tselem= TREESTORE(te); + if(tselem->flag & TSE_SELECTED) { + if(tselem->type==type) { + operation_cb(event, te, tselem); + } + } + if((tselem->flag & TSE_CLOSED)==0) { + outliner_do_data_operation(soops, type, event, &te->subtree, operation_cb); + } + } +} + +/* **************************************** */ + +static EnumPropertyItem prop_object_op_types[] = { + {1, "SELECT", 0, "Select", ""}, + {2, "DESELECT", 0, "Deselect", ""}, + {4, "DELETE", 0, "Delete", ""}, + {6, "TOGVIS", 0, "Toggle Visible", ""}, + {7, "TOGSEL", 0, "Toggle Selectable", ""}, + {8, "TOGREN", 0, "Toggle Renderable", ""}, + {0, NULL, 0, NULL, NULL} +}; + +static int outliner_object_operation_exec(bContext *C, wmOperator *op) +{ + Main *bmain= CTX_data_main(C); + Scene *scene= CTX_data_scene(C); + SpaceOops *soops= CTX_wm_space_outliner(C); + int event; + const char *str= NULL; + + /* check for invalid states */ + if (soops == NULL) + return OPERATOR_CANCELLED; + + event= RNA_enum_get(op->ptr, "type"); + + if(event==1) { + Scene *sce= scene; // to be able to delete, scenes are set... + outliner_do_object_operation(C, scene, soops, &soops->tree, object_select_cb); + if(scene != sce) { + ED_screen_set_scene(C, sce); + } + + str= "Select Objects"; + WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); + } + else if(event==2) { + outliner_do_object_operation(C, scene, soops, &soops->tree, object_deselect_cb); + str= "Deselect Objects"; + WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); + } + else if(event==4) { + outliner_do_object_operation(C, scene, soops, &soops->tree, object_delete_cb); + DAG_scene_sort(bmain, scene); + str= "Delete Objects"; + WM_event_add_notifier(C, NC_SCENE|ND_OB_ACTIVE, scene); + } + else if(event==5) { /* disabled, see above enum (ton) */ + outliner_do_object_operation(C, scene, soops, &soops->tree, id_local_cb); + str= "Localized Objects"; + } + else if(event==6) { + outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_visibility_cb); + str= "Toggle Visibility"; + WM_event_add_notifier(C, NC_SCENE|ND_OB_VISIBLE, scene); + } + else if(event==7) { + outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_selectability_cb); + str= "Toggle Selectability"; + WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene); + } + else if(event==8) { + outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_renderability_cb); + str= "Toggle Renderability"; + WM_event_add_notifier(C, NC_SCENE|ND_OB_RENDER, scene); + } + + ED_undo_push(C, str); + + return OPERATOR_FINISHED; +} + + +void OUTLINER_OT_object_operation(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Outliner Object Operation"; + ot->idname= "OUTLINER_OT_object_operation"; + ot->description= ""; + + /* callbacks */ + ot->invoke= WM_menu_invoke; + ot->exec= outliner_object_operation_exec; + ot->poll= ED_operator_outliner_active; + + ot->flag= 0; + + ot->prop= RNA_def_enum(ot->srna, "type", prop_object_op_types, 0, "Object Operation", ""); +} + +/* **************************************** */ + +static EnumPropertyItem prop_group_op_types[] = { + {1, "UNLINK", 0, "Unlink", ""}, + {2, "LOCAL", 0, "Make Local", ""}, + {3, "LINK", 0, "Link Group Objects to Scene", ""}, + {4, "TOGVIS", 0, "Toggle Visible", ""}, + {5, "TOGSEL", 0, "Toggle Selectable", ""}, + {6, "TOGREN", 0, "Toggle Renderable", ""}, + {0, NULL, 0, NULL, NULL} +}; + +static int outliner_group_operation_exec(bContext *C, wmOperator *op) +{ + Scene *scene= CTX_data_scene(C); + SpaceOops *soops= CTX_wm_space_outliner(C); + int event; + + /* check for invalid states */ + if (soops == NULL) + return OPERATOR_CANCELLED; + + event= RNA_enum_get(op->ptr, "type"); + + if(event==1) { + outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_group_cb); + ED_undo_push(C, "Unlink group"); + } + else if(event==2) { + outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_local_cb); + ED_undo_push(C, "Localized Data"); + } + else if(event==3) { + outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_linkobs2scene_cb); + ED_undo_push(C, "Link Group Objects to Scene"); + } + + + WM_event_add_notifier(C, NC_GROUP, NULL); + + return OPERATOR_FINISHED; +} + + +void OUTLINER_OT_group_operation(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Outliner Group Operation"; + ot->idname= "OUTLINER_OT_group_operation"; + ot->description= ""; + + /* callbacks */ + ot->invoke= WM_menu_invoke; + ot->exec= outliner_group_operation_exec; + ot->poll= ED_operator_outliner_active; + + ot->flag= 0; + + ot->prop= RNA_def_enum(ot->srna, "type", prop_group_op_types, 0, "Group Operation", ""); +} + +/* **************************************** */ + +typedef enum eOutlinerIdOpTypes { + OUTLINER_IDOP_INVALID = 0, + + OUTLINER_IDOP_UNLINK, + OUTLINER_IDOP_LOCAL, + OUTLINER_IDOP_SINGLE, + + OUTLINER_IDOP_FAKE_ADD, + OUTLINER_IDOP_FAKE_CLEAR +} eOutlinerIdOpTypes; + +// TODO: implement support for changing the ID-block used +static EnumPropertyItem prop_id_op_types[] = { + {OUTLINER_IDOP_UNLINK, "UNLINK", 0, "Unlink", ""}, + {OUTLINER_IDOP_LOCAL, "LOCAL", 0, "Make Local", ""}, + {OUTLINER_IDOP_SINGLE, "SINGLE", 0, "Make Single User", ""}, + {OUTLINER_IDOP_FAKE_ADD, "ADD_FAKE", 0, "Add Fake User", "Ensure datablock gets saved even if it isn't in use (e.g. for motion and material libraries)"}, + {OUTLINER_IDOP_FAKE_CLEAR, "CLEAR_FAKE", 0, "Clear Fake User", ""}, + {0, NULL, 0, NULL, NULL} +}; + +static int outliner_id_operation_exec(bContext *C, wmOperator *op) +{ + Scene *scene= CTX_data_scene(C); + SpaceOops *soops= CTX_wm_space_outliner(C); + int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0; + eOutlinerIdOpTypes event; + + /* check for invalid states */ + if (soops == NULL) + return OPERATOR_CANCELLED; + + set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel); + + event= RNA_enum_get(op->ptr, "type"); + + switch (event) { + case OUTLINER_IDOP_UNLINK: + { + /* unlink datablock from its parent */ + switch (idlevel) { + +#if 0 // GSOC_PEPPER + + case ID_AC: + outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_action_cb); + + WM_event_add_notifier(C, NC_ANIMATION|ND_NLA_ACTCHANGE, NULL); + ED_undo_push(C, "Unlink action"); + break; + +#endif // GSOC_PEPPER + + case ID_MA: + outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_material_cb); + + WM_event_add_notifier(C, NC_OBJECT|ND_OB_SHADING, NULL); + ED_undo_push(C, "Unlink material"); + break; + case ID_TE: + outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_texture_cb); + + WM_event_add_notifier(C, NC_OBJECT|ND_OB_SHADING, NULL); + ED_undo_push(C, "Unlink texture"); + break; + default: + BKE_report(op->reports, RPT_WARNING, "Not Yet"); + break; + } + } + break; + + case OUTLINER_IDOP_LOCAL: + { + /* make local */ + outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_local_cb); + ED_undo_push(C, "Localized Data"); + } + break; + +#if 0 // GSOC_PEPPER + + case OUTLINER_IDOP_SINGLE: + { + /* make single user */ + switch (idlevel) { + case ID_AC: + outliner_do_libdata_operation(C, scene, soops, &soops->tree, singleuser_action_cb); + + WM_event_add_notifier(C, NC_ANIMATION|ND_NLA_ACTCHANGE, NULL); + ED_undo_push(C, "Single-User Action"); + break; + + default: + BKE_report(op->reports, RPT_WARNING, "Not Yet"); + break; + } + } + break; + +#endif // GSOC_PEPPER + + case OUTLINER_IDOP_FAKE_ADD: + { + /* set fake user */ + outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_fake_user_set_cb); + + WM_event_add_notifier(C, NC_ID|NA_EDITED, NULL); + ED_undo_push(C, "Add Fake User"); + } + break; + + case OUTLINER_IDOP_FAKE_CLEAR: + { + /* clear fake user */ + outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_fake_user_clear_cb); + + WM_event_add_notifier(C, NC_ID|NA_EDITED, NULL); + ED_undo_push(C, "Clear Fake User"); + } + break; + + default: + // invalid - unhandled + break; + } + + /* wrong notifier still... */ + WM_event_add_notifier(C, NC_ID|NA_EDITED, NULL); + + // XXX: this is just so that outliner is always up to date + WM_event_add_notifier(C, NC_SPACE|ND_SPACE_OUTLINER, NULL); + + return OPERATOR_FINISHED; +} + + +void OUTLINER_OT_id_operation(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Outliner ID data Operation"; + ot->idname= "OUTLINER_OT_id_operation"; + ot->description= ""; + + /* callbacks */ + ot->invoke= WM_menu_invoke; + ot->exec= outliner_id_operation_exec; + ot->poll= ED_operator_outliner_active; + + ot->flag= 0; + + ot->prop= RNA_def_enum(ot->srna, "type", prop_id_op_types, 0, "ID data Operation", ""); +} + +/* **************************************** */ + +static void outliner_do_id_set_operation(SpaceOops *soops, int type, ListBase *lb, ID *newid, + void (*operation_cb)(TreeElement *, TreeStoreElem *, TreeStoreElem *, ID *)) +{ + TreeElement *te; + TreeStoreElem *tselem; + + for (te=lb->first; te; te= te->next) { + tselem= TREESTORE(te); + if (tselem->flag & TSE_SELECTED) { + if(tselem->type==type) { + TreeStoreElem *tsep = TREESTORE(te->parent); + operation_cb(te, tselem, tsep, newid); + } + } + if ((tselem->flag & TSE_CLOSED)==0) { + outliner_do_id_set_operation(soops, type, &te->subtree, newid, operation_cb); + } + } +} + +/* ------------------------------------------ */ + +#if 0 // GSOC_PEPPER + +static void actionset_id_cb(TreeElement *te, TreeStoreElem *tselem, TreeStoreElem *tsep, ID *actId) +{ + bAction *act = (bAction *)actId; + + if (tselem->type == TSE_ANIM_DATA) { + /* "animation" entries - action is child of this */ + BKE_animdata_set_action(NULL, tselem->id, act); + } + /* TODO: if any other "expander" channels which own actions need to support this menu, + * add: tselem->type = ... + */ + else if (tsep && (tsep->type == TSE_ANIM_DATA)) { + /* "animation" entries case again */ + BKE_animdata_set_action(NULL, tsep->id, act); + } + // TODO: other cases not supported yet +} + +static int outliner_action_set_exec(bContext *C, wmOperator *op) +{ + SpaceOops *soops= CTX_wm_space_outliner(C); + int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0; + + bAction *act; + + /* check for invalid states */ + if (soops == NULL) + return OPERATOR_CANCELLED; + set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel); + + /* get action to use */ + act= BLI_findlink(&CTX_data_main(C)->action, RNA_enum_get(op->ptr, "action")); + + if (act == NULL) { + BKE_report(op->reports, RPT_ERROR, "No valid Action to add."); + return OPERATOR_CANCELLED; + } + else if (act->idroot == 0) { + /* hopefully in this case (i.e. library of userless actions), the user knows what they're doing... */ + BKE_reportf(op->reports, RPT_WARNING, + "Action '%s' does not specify what datablocks it can be used on. Try setting the 'ID Root Type' setting from the Datablocks Editor for this Action to avoid future problems", + act->id.name+2); + } + + /* perform action if valid channel */ + if (datalevel == TSE_ANIM_DATA) + outliner_do_id_set_operation(soops, datalevel, &soops->tree, (ID*)act, actionset_id_cb); + else if (idlevel == ID_AC) + outliner_do_id_set_operation(soops, idlevel, &soops->tree, (ID*)act, actionset_id_cb); + else + return OPERATOR_CANCELLED; + + /* set notifier that things have changed */ + WM_event_add_notifier(C, NC_ANIMATION|ND_NLA_ACTCHANGE, NULL); + ED_undo_push(C, "Set action"); + + /* done */ + return OPERATOR_FINISHED; +} + +void OUTLINER_OT_action_set(wmOperatorType *ot) +{ + PropertyRNA *prop; + + /* identifiers */ + ot->name= "Outliner Set Action"; + ot->idname= "OUTLINER_OT_action_set"; + ot->description= "Change the active action used"; + + /* api callbacks */ + ot->invoke= WM_enum_search_invoke; + ot->exec= outliner_action_set_exec; + ot->poll= ED_operator_outliner_active; + + /* flags */ + ot->flag= 0; + + /* props */ + // TODO: this would be nicer as an ID-pointer... + prop= RNA_def_enum(ot->srna, "action", DummyRNA_NULL_items, 0, "Action", ""); + RNA_def_enum_funcs(prop, RNA_action_itemf); + ot->prop= prop; +} + +#endif // GSOC_PEPPER + +/* **************************************** */ + +typedef enum eOutliner_AnimDataOps { + OUTLINER_ANIMOP_INVALID = 0, + + OUTLINER_ANIMOP_SET_ACT, + OUTLINER_ANIMOP_CLEAR_ACT, + + OUTLINER_ANIMOP_REFRESH_DRV, + OUTLINER_ANIMOP_CLEAR_DRV + + //OUTLINER_ANIMOP_COPY_DRIVERS, + //OUTLINER_ANIMOP_PASTE_DRIVERS +} eOutliner_AnimDataOps; + +static EnumPropertyItem prop_animdata_op_types[] = { + {OUTLINER_ANIMOP_SET_ACT, "SET_ACT", 0, "Set Action", ""}, + {OUTLINER_ANIMOP_CLEAR_ACT, "CLEAR_ACT", 0, "Unlink Action", ""}, + {OUTLINER_ANIMOP_REFRESH_DRV, "REFRESH_DRIVERS", 0, "Refresh Drivers", ""}, + //{OUTLINER_ANIMOP_COPY_DRIVERS, "COPY_DRIVERS", 0, "Copy Drivers", ""}, + //{OUTLINER_ANIMOP_PASTE_DRIVERS, "PASTE_DRIVERS", 0, "Paste Drivers", ""}, + {OUTLINER_ANIMOP_CLEAR_DRV, "CLEAR_DRIVERS", 0, "Clear Drivers", ""}, + {0, NULL, 0, NULL, NULL} +}; + +static int outliner_animdata_operation_exec(bContext *C, wmOperator *op) +{ + SpaceOops *soops= CTX_wm_space_outliner(C); + int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0; + eOutliner_AnimDataOps event; + short updateDeps = 0; + + /* check for invalid states */ + if (soops == NULL) + return OPERATOR_CANCELLED; + + event= RNA_enum_get(op->ptr, "type"); + set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel); + + if (datalevel != TSE_ANIM_DATA) + return OPERATOR_CANCELLED; + + /* perform the core operation */ + switch (event) { + +#if 0 // GSOC_PEPPER + + case OUTLINER_ANIMOP_SET_ACT: + /* delegate once again... */ + WM_operator_name_call(C, "OUTLINER_OT_action_set", WM_OP_INVOKE_REGION_WIN, NULL); + break; + + case OUTLINER_ANIMOP_CLEAR_ACT: + /* clear active action - using standard rules */ + outliner_do_data_operation(soops, datalevel, event, &soops->tree, unlinkact_animdata_cb); + + WM_event_add_notifier(C, NC_ANIMATION|ND_NLA_ACTCHANGE, NULL); + ED_undo_push(C, "Unlink action"); + break; + +#endif // GSOC_PEPPER + + case OUTLINER_ANIMOP_REFRESH_DRV: + outliner_do_data_operation(soops, datalevel, event, &soops->tree, refreshdrivers_animdata_cb); + + WM_event_add_notifier(C, NC_ANIMATION|ND_ANIMCHAN, NULL); + //ED_undo_push(C, "Refresh Drivers"); /* no undo needed - shouldn't have any impact? */ + updateDeps = 1; + break; + + case OUTLINER_ANIMOP_CLEAR_DRV: + outliner_do_data_operation(soops, datalevel, event, &soops->tree, cleardrivers_animdata_cb); + + WM_event_add_notifier(C, NC_ANIMATION|ND_ANIMCHAN, NULL); + ED_undo_push(C, "Clear Drivers"); + updateDeps = 1; + break; + + default: // invalid + break; + } + + /* update dependencies */ + if (updateDeps) { + Main *bmain = CTX_data_main(C); + Scene *scene = CTX_data_scene(C); + + /* rebuild depsgraph for the new deps */ + DAG_scene_sort(bmain, scene); + + /* force an update of depsgraph */ + DAG_ids_flush_update(bmain, 0); + } + + return OPERATOR_FINISHED; +} + + +void OUTLINER_OT_animdata_operation(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Outliner Animation Data Operation"; + ot->idname= "OUTLINER_OT_animdata_operation"; + ot->description= ""; + + /* callbacks */ + ot->invoke= WM_menu_invoke; + ot->exec= outliner_animdata_operation_exec; + ot->poll= ED_operator_outliner_active; + + ot->flag= 0; + + ot->prop= RNA_def_enum(ot->srna, "type", prop_animdata_op_types, 0, "Animation Operation", ""); +} + +/* **************************************** */ + +static EnumPropertyItem prop_data_op_types[] = { + {1, "SELECT", 0, "Select", ""}, + {2, "DESELECT", 0, "Deselect", ""}, + {3, "HIDE", 0, "Hide", ""}, + {4, "UNHIDE", 0, "Unhide", ""}, + {0, NULL, 0, NULL, NULL} +}; + +static int outliner_data_operation_exec(bContext *C, wmOperator *op) +{ + SpaceOops *soops= CTX_wm_space_outliner(C); + int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0; + int event; + + /* check for invalid states */ + if (soops == NULL) + return OPERATOR_CANCELLED; + + event= RNA_enum_get(op->ptr, "type"); + set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel); + + if(datalevel==TSE_POSE_CHANNEL) { + if(event>0) { + outliner_do_data_operation(soops, datalevel, event, &soops->tree, pchan_cb); + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL); + ED_undo_push(C, "PoseChannel operation"); + } + } + else if(datalevel==TSE_BONE) { + if(event>0) { + outliner_do_data_operation(soops, datalevel, event, &soops->tree, bone_cb); + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL); + ED_undo_push(C, "Bone operation"); + } + } + else if(datalevel==TSE_EBONE) { + if(event>0) { + outliner_do_data_operation(soops, datalevel, event, &soops->tree, ebone_cb); + WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL); + ED_undo_push(C, "EditBone operation"); + } + } + else if(datalevel==TSE_SEQUENCE) { + if(event>0) { + outliner_do_data_operation(soops, datalevel, event, &soops->tree, sequence_cb); + } + } + + return OPERATOR_FINISHED; +} + + +void OUTLINER_OT_data_operation(wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Outliner Data Operation"; + ot->idname= "OUTLINER_OT_data_operation"; + ot->description= ""; + + /* callbacks */ + ot->invoke= WM_menu_invoke; + ot->exec= outliner_data_operation_exec; + ot->poll= ED_operator_outliner_active; + + ot->flag= 0; + + ot->prop= RNA_def_enum(ot->srna, "type", prop_data_op_types, 0, "Data Operation", ""); +} + + +/* ******************** */ + + +static int do_outliner_operation_event(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, wmEvent *event, const float mval[2]) +{ + ReportList *reports = CTX_wm_reports(C); // XXX... + + if(mval[1]>te->ys && mval[1]ys+UI_UNIT_Y) { + int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0; + TreeStoreElem *tselem= TREESTORE(te); + + /* select object that's clicked on and popup context menu */ + if (!(tselem->flag & TSE_SELECTED)) { + + if ( outliner_has_one_flag(soops, &soops->tree, TSE_SELECTED, 1) ) + outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0); + + tselem->flag |= TSE_SELECTED; + /* redraw, same as outliner_select function */ + soops->storeflag |= SO_TREESTORE_REDRAW; + ED_region_tag_redraw(ar); + } + + set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel); + + if(scenelevel) { + //if(objectlevel || datalevel || idlevel) error("Mixed selection"); + //else pupmenu("Scene Operations%t|Delete"); + } + else if(objectlevel) { + WM_operator_name_call(C, "OUTLINER_OT_object_operation", WM_OP_INVOKE_REGION_WIN, NULL); + } + else if(idlevel) { + if(idlevel==-1 || datalevel) BKE_report(reports, RPT_WARNING, "Mixed selection"); + else { + if (idlevel==ID_GR) + WM_operator_name_call(C, "OUTLINER_OT_group_operation", WM_OP_INVOKE_REGION_WIN, NULL); + else + WM_operator_name_call(C, "OUTLINER_OT_id_operation", WM_OP_INVOKE_REGION_WIN, NULL); + } + } + else if(datalevel) { + if(datalevel==-1) BKE_report(reports, RPT_WARNING, "Mixed selection"); + else { + if (datalevel == TSE_ANIM_DATA) + WM_operator_name_call(C, "OUTLINER_OT_animdata_operation", WM_OP_INVOKE_REGION_WIN, NULL); + else if (datalevel == TSE_DRIVER_BASE) + /* do nothing... no special ops needed yet */; + else + WM_operator_name_call(C, "OUTLINER_OT_data_operation", WM_OP_INVOKE_REGION_WIN, NULL); + } + } + + return 1; + } + + for(te= te->subtree.first; te; te= te->next) { + if(do_outliner_operation_event(C, scene, ar, soops, te, event, mval)) + return 1; + } + return 0; +} + + +static int outliner_operation(bContext *C, wmOperator *UNUSED(op), wmEvent *event) +{ + Scene *scene= CTX_data_scene(C); + ARegion *ar= CTX_wm_region(C); + SpaceOops *soops= CTX_wm_space_outliner(C); + TreeElement *te; + float fmval[2]; + + UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1); + + for(te= soops->tree.first; te; te= te->next) { + if(do_outliner_operation_event(C, scene, ar, soops, te, event, fmval)) break; + } + + return OPERATOR_FINISHED; +} + +/* Menu only! Calls other operators */ +void OUTLINER_OT_operation(wmOperatorType *ot) +{ + ot->name= "Execute Operation"; + ot->idname= "OUTLINER_OT_operation"; + ot->description= "Context menu for item operations"; + + ot->invoke= outliner_operation; + + ot->poll= ED_operator_outliner_active; +} + +/* ****************************************************** */ diff --git a/source/blender/editors/space_outliner/outliner_tree.c b/source/blender/editors/space_outliner/outliner_tree.c new file mode 100644 index 00000000000..3560bfb9896 --- /dev/null +++ b/source/blender/editors/space_outliner/outliner_tree.c @@ -0,0 +1,1585 @@ +/* + * $Id$ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2004 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): Joshua Leung + * + * ***** END GPL LICENSE BLOCK ***** + */ + +/** \file blender/editors/space_outliner/outliner_tree.c + * \ingroup spoutliner + */ + +#include +#include +#include +#include + +#include "MEM_guardedalloc.h" + +#include "DNA_anim_types.h" +#include "DNA_armature_types.h" +#include "DNA_constraint_types.h" +#include "DNA_camera_types.h" +#include "DNA_group_types.h" +#include "DNA_key_types.h" +#include "DNA_lamp_types.h" +#include "DNA_material_types.h" +#include "DNA_mesh_types.h" +#include "DNA_meta_types.h" +#include "DNA_particle_types.h" +#include "DNA_scene_types.h" +#include "DNA_world_types.h" +#include "DNA_sequence_types.h" + +#if 0 // GSOC_PEPPER + +#include "DNA_speaker_types.h" + +#endif // GSOC_PEPPER + +#include "DNA_object_types.h" + +#include "BLI_blenlib.h" +#include "BLI_utildefines.h" +#include "BLI_math_base.h" + +#if defined WIN32 && !defined _LIBC +# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */ +#else +# ifndef _GNU_SOURCE +# define _GNU_SOURCE +# endif +# include +#endif + + +#include "BKE_animsys.h" +#include "BKE_context.h" +#include "BKE_deform.h" +#include "BKE_depsgraph.h" +#include "BKE_fcurve.h" +#include "BKE_global.h" +#include "BKE_group.h" +#include "BKE_library.h" +#include "BKE_main.h" +#include "BKE_modifier.h" +#include "BKE_report.h" +#include "BKE_scene.h" +#include "BKE_sequencer.h" + +#include "ED_armature.h" +#include "ED_object.h" +#include "ED_screen.h" +#include "ED_util.h" + +#include "WM_api.h" +#include "WM_types.h" + +#include "BIF_gl.h" +#include "BIF_glutil.h" + +#include "UI_interface.h" +#include "UI_interface_icons.h" +#include "UI_resources.h" +#include "UI_view2d.h" + +#include "RNA_access.h" +#include "RNA_define.h" +#include "RNA_enum_types.h" + +#include "outliner_intern.h" + +/* ********************************************************* */ +/* Defines */ + +#define TS_CHUNK 128 + +/* ********************************************************* */ +/* Persistant Data */ + +static void outliner_storage_cleanup(SpaceOops *soops) +{ + TreeStore *ts= soops->treestore; + + if(ts) { + TreeStoreElem *tselem; + int a, unused= 0; + + /* each element used once, for ID blocks with more users to have each a treestore */ + for(a=0, tselem= ts->data; ausedelem; a++, tselem++) tselem->used= 0; + + /* cleanup only after reading file or undo step, and always for + * RNA datablocks view in order to save memory */ + if(soops->storeflag & SO_TREESTORE_CLEANUP) { + + for(a=0, tselem= ts->data; ausedelem; a++, tselem++) { + if(tselem->id==NULL) unused++; + } + + if(unused) { + if(ts->usedelem == unused) { + MEM_freeN(ts->data); + ts->data= NULL; + ts->usedelem= ts->totelem= 0; + } + else { + TreeStoreElem *tsnewar, *tsnew; + + tsnew=tsnewar= MEM_mallocN((ts->usedelem-unused)*sizeof(TreeStoreElem), "new tselem"); + for(a=0, tselem= ts->data; ausedelem; a++, tselem++) { + if(tselem->id) { + *tsnew= *tselem; + tsnew++; + } + } + MEM_freeN(ts->data); + ts->data= tsnewar; + ts->usedelem-= unused; + ts->totelem= ts->usedelem; + } + } + } + } +} + +static void check_persistant(SpaceOops *soops, TreeElement *te, ID *id, short type, short nr) +{ + TreeStore *ts; + TreeStoreElem *tselem; + int a; + + /* case 1; no TreeStore */ + if(soops->treestore==NULL) { + soops->treestore= MEM_callocN(sizeof(TreeStore), "treestore"); + } + ts= soops->treestore; + + /* check if 'te' is in treestore */ + tselem= ts->data; + for(a=0; ausedelem; a++, tselem++) { + if(tselem->id==id && tselem->used==0) { + if((type==0 && tselem->type==0) ||(tselem->type==type && tselem->nr==nr)) { + te->store_index= a; + tselem->used= 1; + return; + } + } + } + + /* add 1 element to treestore */ + if(ts->usedelem==ts->totelem) { + TreeStoreElem *tsnew; + + tsnew= MEM_mallocN((ts->totelem+TS_CHUNK)*sizeof(TreeStoreElem), "treestore data"); + if(ts->data) { + memcpy(tsnew, ts->data, ts->totelem*sizeof(TreeStoreElem)); + MEM_freeN(ts->data); + } + ts->data= tsnew; + ts->totelem+= TS_CHUNK; + } + + tselem= ts->data+ts->usedelem; + + tselem->type= type; + if(type) tselem->nr= nr; // we're picky! :) + else tselem->nr= 0; + tselem->id= id; + tselem->used = 0; + tselem->flag= TSE_CLOSED; + te->store_index= ts->usedelem; + + ts->usedelem++; +} + +/* ********************************************************* */ +/* Tree Management */ + +void outliner_free_tree(ListBase *lb) +{ + while(lb->first) { + TreeElement *te= lb->first; + + outliner_free_tree(&te->subtree); + BLI_remlink(lb, te); + + if(te->flag & TE_FREE_NAME) MEM_freeN((void *)te->name); + MEM_freeN(te); + } +} + +/* Find ith item from the treestore */ +TreeElement *outliner_find_tree_element(ListBase *lb, int store_index) +{ + TreeElement *te= lb->first, *tes; + while(te) { + if(te->store_index==store_index) return te; + tes= outliner_find_tree_element(&te->subtree, store_index); + if(tes) return tes; + te= te->next; + } + return NULL; +} + +/* tse is not in the treestore, we use its contents to find a match */ +TreeElement *outliner_find_tse(SpaceOops *soops, TreeStoreElem *tse) +{ + TreeStore *ts= soops->treestore; + TreeStoreElem *tselem; + int a; + + if(tse->id==NULL) return NULL; + + /* check if 'tse' is in treestore */ + tselem= ts->data; + for(a=0; ausedelem; a++, tselem++) { + if((tse->type==0 && tselem->type==0) || (tselem->type==tse->type && tselem->nr==tse->nr)) { + if(tselem->id==tse->id) { + break; + } + } + } + if(tselem) + return outliner_find_tree_element(&soops->tree, a); + + return NULL; +} + +/* Find treestore that refers to given ID */ +TreeElement *outliner_find_id(SpaceOops *soops, ListBase *lb, ID *id) +{ + TreeElement *te, *tes; + TreeStoreElem *tselem; + + for(te= lb->first; te; te= te->next) { + tselem= TREESTORE(te); + if(tselem->type==0) { + if(tselem->id==id) return te; + /* only deeper on scene or object */ + if( te->idcode==ID_OB || te->idcode==ID_SCE || (soops->outlinevis == SO_GROUPS && te->idcode==ID_GR)) { + tes= outliner_find_id(soops, &te->subtree, id); + if(tes) return tes; + } + } + } + return NULL; +} + + +ID *outliner_search_back(SpaceOops *soops, TreeElement *te, short idcode) +{ + TreeStoreElem *tselem; + te= te->parent; + + while(te) { + tselem= TREESTORE(te); + if(tselem->type==0 && te->idcode==idcode) return tselem->id; + te= te->parent; + } + return NULL; +} + + +/* ********************************************************* */ + +/* Prototype, see functions below */ +static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *idv, + TreeElement *parent, short type, short index); + +/* -------------------------------------------------------- */ + +/* special handling of hierarchical non-lib data */ +static void outliner_add_bone(SpaceOops *soops, ListBase *lb, ID *id, Bone *curBone, + TreeElement *parent, int *a) +{ + TreeElement *te= outliner_add_element(soops, lb, id, parent, TSE_BONE, *a); + + (*a)++; + te->name= curBone->name; + te->directdata= curBone; + + for(curBone= curBone->childbase.first; curBone; curBone=curBone->next) { + outliner_add_bone(soops, &te->subtree, id, curBone, te, a); + } +} + +/* -------------------------------------------------------- */ + +#define LOG2I(x) (int)(log(x)/M_LN2) + +static void outliner_add_passes(SpaceOops *soops, TreeElement *tenla, ID *id, SceneRenderLayer *srl) +{ + TreeStoreElem *tselem = NULL; + TreeElement *te = NULL; + + /* log stuff is to convert bitflags (powers of 2) to small integers, + * in order to not overflow short tselem->nr */ + + te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_COMBINED)); + te->name= "Combined"; + te->directdata= &srl->passflag; + + /* save cpu cycles, but we add the first to invoke an open/close triangle */ + tselem = TREESTORE(tenla); + if(tselem->flag & TSE_CLOSED) + return; + + te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_Z)); + te->name= "Z"; + te->directdata= &srl->passflag; + + te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_VECTOR)); + te->name= "Vector"; + te->directdata= &srl->passflag; + + te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_NORMAL)); + te->name= "Normal"; + te->directdata= &srl->passflag; + + te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_UV)); + te->name= "UV"; + te->directdata= &srl->passflag; + + te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_MIST)); + te->name= "Mist"; + te->directdata= &srl->passflag; + + te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDEXOB)); + te->name= "Index Object"; + te->directdata= &srl->passflag; + + te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDEXMA)); + te->name= "Index Material"; + te->directdata= &srl->passflag; + + te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_RGBA)); + te->name= "Color"; + te->directdata= &srl->passflag; + + te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_DIFFUSE)); + te->name= "Diffuse"; + te->directdata= &srl->passflag; + + te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_SPEC)); + te->name= "Specular"; + te->directdata= &srl->passflag; + + te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_SHADOW)); + te->name= "Shadow"; + te->directdata= &srl->passflag; + + te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_AO)); + te->name= "AO"; + te->directdata= &srl->passflag; + + te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_REFLECT)); + te->name= "Reflection"; + te->directdata= &srl->passflag; + + te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_REFRACT)); + te->name= "Refraction"; + te->directdata= &srl->passflag; + + te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDIRECT)); + te->name= "Indirect"; + te->directdata= &srl->passflag; + + te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_ENVIRONMENT)); + te->name= "Environment"; + te->directdata= &srl->passflag; + + te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_EMIT)); + te->name= "Emit"; + te->directdata= &srl->passflag; +} + +#undef LOG2I + +static void outliner_add_scene_contents(SpaceOops *soops, ListBase *lb, Scene *sce, TreeElement *te) +{ + SceneRenderLayer *srl; + TreeElement *tenla= outliner_add_element(soops, lb, sce, te, TSE_R_LAYER_BASE, 0); + int a; + + tenla->name= "RenderLayers"; + for(a=0, srl= sce->r.layers.first; srl; srl= srl->next, a++) { + TreeElement *tenlay= outliner_add_element(soops, &tenla->subtree, sce, te, TSE_R_LAYER, a); + tenlay->name= srl->name; + tenlay->directdata= &srl->passflag; + + if(srl->light_override) + outliner_add_element(soops, &tenlay->subtree, srl->light_override, tenlay, TSE_LINKED_LAMP, 0); + if(srl->mat_override) + outliner_add_element(soops, &tenlay->subtree, srl->mat_override, tenlay, TSE_LINKED_MAT, 0); + + outliner_add_passes(soops, tenlay, &sce->id, srl); + } + + // TODO: move this to the front? + if (sce->adt) + outliner_add_element(soops, lb, sce, te, TSE_ANIM_DATA, 0); + + outliner_add_element(soops, lb, sce->world, te, 0, 0); +} + +// can be inlined if necessary +static void outliner_add_object_contents(SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, Object *ob) +{ + int a = 0; + + if (ob->adt) + outliner_add_element(soops, &te->subtree, ob, te, TSE_ANIM_DATA, 0); + + outliner_add_element(soops, &te->subtree, ob->poselib, te, 0, 0); // XXX FIXME.. add a special type for this + + if (ob->proxy && ob->id.lib==NULL) + outliner_add_element(soops, &te->subtree, ob->proxy, te, TSE_PROXY, 0); + + outliner_add_element(soops, &te->subtree, ob->data, te, 0, 0); + + if (ob->pose) { + bArmature *arm= ob->data; + bPoseChannel *pchan; + TreeElement *ten; + TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_POSE_BASE, 0); + + tenla->name= "Pose"; + + /* channels undefined in editmode, but we want the 'tenla' pose icon itself */ + if ((arm->edbo == NULL) && (ob->mode & OB_MODE_POSE)) { + int a= 0, const_index= 1000; /* ensure unique id for bone constraints */ + + for(pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next, a++) { + ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_POSE_CHANNEL, a); + ten->name= pchan->name; + ten->directdata= pchan; + pchan->prev= (bPoseChannel *)ten; + + if(pchan->constraints.first) { + //Object *target; + bConstraint *con; + TreeElement *ten1; + TreeElement *tenla1= outliner_add_element(soops, &ten->subtree, ob, ten, TSE_CONSTRAINT_BASE, 0); + //char *str; + + tenla1->name= "Constraints"; + for(con= pchan->constraints.first; con; con= con->next, const_index++) { + ten1= outliner_add_element(soops, &tenla1->subtree, ob, tenla1, TSE_CONSTRAINT, const_index); +#if 0 /* disabled as it needs to be reworked for recoded constraints system */ + target= get_constraint_target(con, &str); + if(str && str[0]) ten1->name= str; + else if(target) ten1->name= target->id.name+2; + else ten1->name= con->name; +#endif + ten1->name= con->name; + ten1->directdata= con; + /* possible add all other types links? */ + } + } + } + /* make hierarchy */ + ten= tenla->subtree.first; + while(ten) { + TreeElement *nten= ten->next, *par; + tselem= TREESTORE(ten); + if(tselem->type==TSE_POSE_CHANNEL) { + pchan= (bPoseChannel *)ten->directdata; + if(pchan->parent) { + BLI_remlink(&tenla->subtree, ten); + par= (TreeElement *)pchan->parent->prev; + BLI_addtail(&par->subtree, ten); + ten->parent= par; + } + } + ten= nten; + } + /* restore prev pointers */ + pchan= ob->pose->chanbase.first; + if(pchan) pchan->prev= NULL; + for(; pchan; pchan= pchan->next) { + if(pchan->next) pchan->next->prev= pchan; + } + } + + /* Pose Groups */ + if(ob->pose->agroups.first) { + bActionGroup *agrp; + TreeElement *ten; + TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_POSEGRP_BASE, 0); + int a= 0; + + tenla->name= "Bone Groups"; + for (agrp=ob->pose->agroups.first; agrp; agrp=agrp->next, a++) { + ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_POSEGRP, a); + ten->name= agrp->name; + ten->directdata= agrp; + } + } + } + + for(a=0; atotcol; a++) + outliner_add_element(soops, &te->subtree, ob->mat[a], te, 0, a); + + if(ob->constraints.first) { + //Object *target; + bConstraint *con; + TreeElement *ten; + TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_CONSTRAINT_BASE, 0); + //char *str; + + tenla->name= "Constraints"; + for (con=ob->constraints.first, a=0; con; con= con->next, a++) { + ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_CONSTRAINT, a); +#if 0 /* disabled due to constraints system targets recode... code here needs review */ + target= get_constraint_target(con, &str); + if(str && str[0]) ten->name= str; + else if(target) ten->name= target->id.name+2; + else ten->name= con->name; +#endif + ten->name= con->name; + ten->directdata= con; + /* possible add all other types links? */ + } + } + + if (ob->modifiers.first) { + ModifierData *md; + TreeElement *temod = outliner_add_element(soops, &te->subtree, ob, te, TSE_MODIFIER_BASE, 0); + int index; + + temod->name = "Modifiers"; + for (index=0,md=ob->modifiers.first; md; index++,md=md->next) { + TreeElement *te = outliner_add_element(soops, &temod->subtree, ob, temod, TSE_MODIFIER, index); + te->name= md->name; + te->directdata = md; + + if (md->type==eModifierType_Lattice) { + outliner_add_element(soops, &te->subtree, ((LatticeModifierData*) md)->object, te, TSE_LINKED_OB, 0); + } + else if (md->type==eModifierType_Curve) { + outliner_add_element(soops, &te->subtree, ((CurveModifierData*) md)->object, te, TSE_LINKED_OB, 0); + } + else if (md->type==eModifierType_Armature) { + outliner_add_element(soops, &te->subtree, ((ArmatureModifierData*) md)->object, te, TSE_LINKED_OB, 0); + } + else if (md->type==eModifierType_Hook) { + outliner_add_element(soops, &te->subtree, ((HookModifierData*) md)->object, te, TSE_LINKED_OB, 0); + } + else if (md->type==eModifierType_ParticleSystem) { + TreeElement *ten; + ParticleSystem *psys= ((ParticleSystemModifierData*) md)->psys; + + ten = outliner_add_element(soops, &te->subtree, ob, te, TSE_LINKED_PSYS, 0); + ten->directdata = psys; + ten->name = psys->part->id.name+2; + } + } + } + + /* vertex groups */ + if (ob->defbase.first) { + bDeformGroup *defgroup; + TreeElement *ten; + TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_DEFGROUP_BASE, 0); + + tenla->name= "Vertex Groups"; + for (defgroup=ob->defbase.first, a=0; defgroup; defgroup=defgroup->next, a++) { + ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_DEFGROUP, a); + ten->name= defgroup->name; + ten->directdata= defgroup; + } + } + + /* duplicated group */ + if (ob->dup_group) + outliner_add_element(soops, &te->subtree, ob->dup_group, te, 0, 0); +} + +// can be inlined if necessary +static void outliner_add_id_contents(SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, ID *id) +{ + /* tuck pointer back in object, to construct hierarchy */ + if (GS(id->name)==ID_OB) id->newid= (ID *)te; + + /* expand specific data always */ + switch (GS(id->name)) { + case ID_LI: + { + te->name= ((Library *)id)->name; + } + break; + case ID_SCE: + { + outliner_add_scene_contents(soops, &te->subtree, (Scene *)id, te); + } + break; + case ID_OB: + { + outliner_add_object_contents(soops, te, tselem, (Object *)id); + } + break; + case ID_ME: + { + Mesh *me= (Mesh *)id; + int a; + + if (me->adt) + outliner_add_element(soops, &te->subtree, me, te, TSE_ANIM_DATA, 0); + + outliner_add_element(soops, &te->subtree, me->key, te, 0, 0); + for(a=0; atotcol; a++) + outliner_add_element(soops, &te->subtree, me->mat[a], te, 0, a); + /* could do tfaces with image links, but the images are not grouped nicely. + would require going over all tfaces, sort images in use. etc... */ + } + break; + case ID_CU: + { + Curve *cu= (Curve *)id; + int a; + + if (cu->adt) + outliner_add_element(soops, &te->subtree, cu, te, TSE_ANIM_DATA, 0); + + for(a=0; atotcol; a++) + outliner_add_element(soops, &te->subtree, cu->mat[a], te, 0, a); + } + break; + case ID_MB: + { + MetaBall *mb= (MetaBall *)id; + int a; + + if (mb->adt) + outliner_add_element(soops, &te->subtree, mb, te, TSE_ANIM_DATA, 0); + + for(a=0; atotcol; a++) + outliner_add_element(soops, &te->subtree, mb->mat[a], te, 0, a); + } + break; + case ID_MA: + { + Material *ma= (Material *)id; + int a; + + if (ma->adt) + outliner_add_element(soops, &te->subtree, ma, te, TSE_ANIM_DATA, 0); + + for(a=0; amtex[a]) outliner_add_element(soops, &te->subtree, ma->mtex[a]->tex, te, 0, a); + } + } + break; + case ID_TE: + { + Tex *tex= (Tex *)id; + + if (tex->adt) + outliner_add_element(soops, &te->subtree, tex, te, TSE_ANIM_DATA, 0); + + outliner_add_element(soops, &te->subtree, tex->ima, te, 0, 0); + } + break; + case ID_CA: + { + Camera *ca= (Camera *)id; + + if (ca->adt) + outliner_add_element(soops, &te->subtree, ca, te, TSE_ANIM_DATA, 0); + } + break; + case ID_LA: + { + Lamp *la= (Lamp *)id; + int a; + + if (la->adt) + outliner_add_element(soops, &te->subtree, la, te, TSE_ANIM_DATA, 0); + + for(a=0; amtex[a]) outliner_add_element(soops, &te->subtree, la->mtex[a]->tex, te, 0, a); + } + } + break; + +#if 0 // GSOC_PEPPER + + case ID_SPK: + { + Speaker *spk= (Speaker *)id; + + if(spk->adt) + outliner_add_element(soops, &te->subtree, spk, te, TSE_ANIM_DATA, 0); + } + break; + +#endif // GSOC_PEPPER + + case ID_WO: + { + World *wrld= (World *)id; + int a; + + if (wrld->adt) + outliner_add_element(soops, &te->subtree, wrld, te, TSE_ANIM_DATA, 0); + + for(a=0; amtex[a]) outliner_add_element(soops, &te->subtree, wrld->mtex[a]->tex, te, 0, a); + } + } + break; + case ID_KE: + { + Key *key= (Key *)id; + + if (key->adt) + outliner_add_element(soops, &te->subtree, key, te, TSE_ANIM_DATA, 0); + } + break; + case ID_AC: + { + // XXX do we want to be exposing the F-Curves here? + //bAction *act= (bAction *)id; + } + break; + case ID_AR: + { + bArmature *arm= (bArmature *)id; + int a= 0; + + if (arm->adt) + outliner_add_element(soops, &te->subtree, arm, te, TSE_ANIM_DATA, 0); + + if(arm->edbo) { + EditBone *ebone; + TreeElement *ten; + + for (ebone = arm->edbo->first; ebone; ebone=ebone->next, a++) { + ten= outliner_add_element(soops, &te->subtree, id, te, TSE_EBONE, a); + ten->directdata= ebone; + ten->name= ebone->name; + ebone->temp= ten; + } + /* make hierarchy */ + ten= te->subtree.first; + while(ten) { + TreeElement *nten= ten->next, *par; + ebone= (EditBone *)ten->directdata; + if(ebone->parent) { + BLI_remlink(&te->subtree, ten); + par= ebone->parent->temp; + BLI_addtail(&par->subtree, ten); + ten->parent= par; + } + ten= nten; + } + } + else { + /* do not extend Armature when we have posemode */ + tselem= TREESTORE(te->parent); + if( GS(tselem->id->name)==ID_OB && ((Object *)tselem->id)->mode & OB_MODE_POSE); + else { + Bone *curBone; + for (curBone=arm->bonebase.first; curBone; curBone=curBone->next){ + outliner_add_bone(soops, &te->subtree, id, curBone, te, &a); + } + } + } + } + break; + } +} + +// TODO: this function needs to be split up! It's getting a bit too large... +static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *idv, + TreeElement *parent, short type, short index) +{ + TreeElement *te; + TreeStoreElem *tselem; + ID *id= idv; + int a = 0; + + if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) { + id= ((PointerRNA*)idv)->id.data; + if(!id) id= ((PointerRNA*)idv)->data; + } + + if(id==NULL) return NULL; + + te= MEM_callocN(sizeof(TreeElement), "tree elem"); + /* add to the visual tree */ + BLI_addtail(lb, te); + /* add to the storage */ + check_persistant(soops, te, id, type, index); + tselem= TREESTORE(te); + + te->parent= parent; + te->index= index; // for data arays + if(ELEM3(type, TSE_SEQUENCE, TSE_SEQ_STRIP, TSE_SEQUENCE_DUP)); + else if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)); + else if(type==TSE_ANIM_DATA); + else { + te->name= id->name+2; // default, can be overridden by Library or non-ID data + te->idcode= GS(id->name); + } + + if(type==0) { + /* ID datablock */ + outliner_add_id_contents(soops, te, tselem, id); + } + else if(type==TSE_ANIM_DATA) { + IdAdtTemplate *iat = (IdAdtTemplate *)idv; + AnimData *adt= (AnimData *)iat->adt; + + /* this element's info */ + te->name= "Animation"; + te->directdata= adt; + + /* Action */ + outliner_add_element(soops, &te->subtree, adt->action, te, 0, 0); + + /* Drivers */ + if (adt->drivers.first) { + TreeElement *ted= outliner_add_element(soops, &te->subtree, adt, te, TSE_DRIVER_BASE, 0); + ID *lastadded= NULL; + FCurve *fcu; + + ted->name= "Drivers"; + + for (fcu= adt->drivers.first; fcu; fcu= fcu->next) { + if (fcu->driver && fcu->driver->variables.first) { + ChannelDriver *driver= fcu->driver; + DriverVar *dvar; + + for (dvar= driver->variables.first; dvar; dvar= dvar->next) { + /* loop over all targets used here */ + DRIVER_TARGETS_USED_LOOPER(dvar) + { + if (lastadded != dtar->id) { + // XXX this lastadded check is rather lame, and also fails quite badly... + outliner_add_element(soops, &ted->subtree, dtar->id, ted, TSE_LINKED_OB, 0); + lastadded= dtar->id; + } + } + DRIVER_TARGETS_LOOPER_END + } + } + } + } + + /* NLA Data */ + if (adt->nla_tracks.first) { + TreeElement *tenla= outliner_add_element(soops, &te->subtree, adt, te, TSE_NLA, 0); + NlaTrack *nlt; + int a= 0; + + tenla->name= "NLA Tracks"; + + for (nlt= adt->nla_tracks.first; nlt; nlt= nlt->next) { + TreeElement *tenlt= outliner_add_element(soops, &tenla->subtree, nlt, tenla, TSE_NLA_TRACK, a); + NlaStrip *strip; + TreeElement *ten; + int b= 0; + + tenlt->name= nlt->name; + + for (strip=nlt->strips.first; strip; strip=strip->next, b++) { + ten= outliner_add_element(soops, &tenlt->subtree, strip->act, tenlt, TSE_NLA_ACTION, b); + if(ten) ten->directdata= strip; + } + } + } + } + else if(type==TSE_SEQUENCE) { + Sequence *seq= (Sequence*) idv; + Sequence *p; + + /* + * The idcode is a little hack, but the outliner + * only check te->idcode if te->type is equal to zero, + * so this is "safe". + */ + te->idcode= seq->type; + te->directdata= seq; + + if(seq->type<7) { + /* + * This work like the sequence. + * If the sequence have a name (not default name) + * show it, in other case put the filename. + */ + if(strcmp(seq->name, "SQ")) + te->name= seq->name; + else { + if((seq->strip) && (seq->strip->stripdata)) + te->name= seq->strip->stripdata->name; + else + te->name= "SQ None"; + } + + if(seq->type==SEQ_META) { + te->name= "Meta Strip"; + p= seq->seqbase.first; + while(p) { + outliner_add_element(soops, &te->subtree, (void*)p, te, TSE_SEQUENCE, index); + p= p->next; + } + } + else + outliner_add_element(soops, &te->subtree, (void*)seq->strip, te, TSE_SEQ_STRIP, index); + } + else + te->name= "Effect"; + } + else if(type==TSE_SEQ_STRIP) { + Strip *strip= (Strip *)idv; + + if(strip->dir) + te->name= strip->dir; + else + te->name= "Strip None"; + te->directdata= strip; + } + else if(type==TSE_SEQUENCE_DUP) { + Sequence *seq= (Sequence*)idv; + + te->idcode= seq->type; + te->directdata= seq; + te->name= seq->strip->stripdata->name; + } + else if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) { + PointerRNA pptr, propptr, *ptr= (PointerRNA*)idv; + PropertyRNA *prop, *iterprop; + PropertyType proptype; + int a, tot; + + /* we do lazy build, for speed and to avoid infinite recusion */ + + if(ptr->data == NULL) { + te->name= "(empty)"; + } + else if(type == TSE_RNA_STRUCT) { + /* struct */ + te->name= RNA_struct_name_get_alloc(ptr, NULL, 0); + + if(te->name) + te->flag |= TE_FREE_NAME; + else + te->name= (char*)RNA_struct_ui_name(ptr->type); + + iterprop= RNA_struct_iterator_property(ptr->type); + tot= RNA_property_collection_length(ptr, iterprop); + + /* auto open these cases */ + if(!parent || (RNA_property_type(parent->directdata)) == PROP_POINTER) + if(!tselem->used) + tselem->flag &= ~TSE_CLOSED; + + if(!(tselem->flag & TSE_CLOSED)) { + for(a=0; asubtree, (void*)ptr, te, TSE_RNA_PROPERTY, a); + } + else if(tot) + te->flag |= TE_LAZY_CLOSED; + + te->rnaptr= *ptr; + } + else if(type == TSE_RNA_PROPERTY) { + /* property */ + iterprop= RNA_struct_iterator_property(ptr->type); + RNA_property_collection_lookup_int(ptr, iterprop, index, &propptr); + + prop= propptr.data; + proptype= RNA_property_type(prop); + + te->name= (char*)RNA_property_ui_name(prop); + te->directdata= prop; + te->rnaptr= *ptr; + + if(proptype == PROP_POINTER) { + pptr= RNA_property_pointer_get(ptr, prop); + + if(pptr.data) { + if(!(tselem->flag & TSE_CLOSED)) + outliner_add_element(soops, &te->subtree, (void*)&pptr, te, TSE_RNA_STRUCT, -1); + else + te->flag |= TE_LAZY_CLOSED; + } + } + else if(proptype == PROP_COLLECTION) { + tot= RNA_property_collection_length(ptr, prop); + + if(!(tselem->flag & TSE_CLOSED)) { + for(a=0; asubtree, (void*)&pptr, te, TSE_RNA_STRUCT, a); + } + } + else if(tot) + te->flag |= TE_LAZY_CLOSED; + } + else if(ELEM3(proptype, PROP_BOOLEAN, PROP_INT, PROP_FLOAT)) { + tot= RNA_property_array_length(ptr, prop); + + if(!(tselem->flag & TSE_CLOSED)) { + for(a=0; asubtree, (void*)ptr, te, TSE_RNA_ARRAY_ELEM, a); + } + else if(tot) + te->flag |= TE_LAZY_CLOSED; + } + } + else if(type == TSE_RNA_ARRAY_ELEM) { + char c; + + prop= parent->directdata; + + te->directdata= prop; + te->rnaptr= *ptr; + te->index= index; + + c= RNA_property_array_item_char(prop, index); + + te->name= MEM_callocN(sizeof(char)*20, "OutlinerRNAArrayName"); + if(c) sprintf((char *)te->name, " %c", c); + else sprintf((char *)te->name, " %d", index+1); + te->flag |= TE_FREE_NAME; + } + } + else if(type == TSE_KEYMAP) { + wmKeyMap *km= (wmKeyMap *)idv; + wmKeyMapItem *kmi; + char opname[OP_MAX_TYPENAME]; + + te->directdata= idv; + te->name= km->idname; + + if(!(tselem->flag & TSE_CLOSED)) { + a= 0; + + for (kmi= km->items.first; kmi; kmi= kmi->next, a++) { + const char *key= WM_key_event_string(kmi->type); + + if(key[0]) { + wmOperatorType *ot= NULL; + + if(kmi->propvalue); + else ot= WM_operatortype_find(kmi->idname, 0); + + if(ot || kmi->propvalue) { + TreeElement *ten= outliner_add_element(soops, &te->subtree, kmi, te, TSE_KEYMAP_ITEM, a); + + ten->directdata= kmi; + + if(kmi->propvalue) { + ten->name= "Modal map, not yet"; + } + else { + WM_operator_py_idname(opname, ot->idname); + ten->name= BLI_strdup(opname); + ten->flag |= TE_FREE_NAME; + } + } + } + } + } + else + te->flag |= TE_LAZY_CLOSED; + } + + return te; +} + +/* ======================================================= */ +/* Sequencer mode tree building */ + +/* Helped function to put duplicate sequence in the same tree. */ +static int need_add_seq_dup(Sequence *seq) +{ + Sequence *p; + + if((!seq->strip) || (!seq->strip->stripdata) || (!seq->strip->stripdata->name)) + return(1); + + /* + * First check backward, if we found a duplicate + * sequence before this, don't need it, just return. + */ + p= seq->prev; + while(p) { + if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) { + p= p->prev; + continue; + } + + if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name)) + return(2); + p= p->prev; + } + + p= seq->next; + while(p) { + if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) { + p= p->next; + continue; + } + + if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name)) + return(0); + p= p->next; + } + return(1); +} + +static void outliner_add_seq_dup(SpaceOops *soops, Sequence *seq, TreeElement *te, short index) +{ + TreeElement *ch; + Sequence *p; + + p= seq; + while(p) { + if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) { + p= p->next; + continue; + } + + if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name)) + ch= outliner_add_element(soops, &te->subtree, (void*)p, te, TSE_SEQUENCE, index); + p= p->next; + } +} + +/* ======================================================= */ +/* Generic Tree Building helpers - order these are called is top to bottom */ + +/* Hierarchy --------------------------------------------- */ + +/* make sure elements are correctly nested */ +static void outliner_make_hierarchy(SpaceOops *soops, ListBase *lb) +{ + TreeElement *te, *ten, *tep; + TreeStoreElem *tselem; + + /* build hierarchy */ + // XXX also, set extents here... + te= lb->first; + while(te) { + ten= te->next; + tselem= TREESTORE(te); + + if(tselem->type==0 && te->idcode==ID_OB) { + Object *ob= (Object *)tselem->id; + if(ob->parent && ob->parent->id.newid) { + BLI_remlink(lb, te); + tep= (TreeElement *)ob->parent->id.newid; + BLI_addtail(&tep->subtree, te); + // set correct parent pointers + for(te=tep->subtree.first; te; te= te->next) te->parent= tep; + } + } + te= ten; + } +} + +/* Sorting ------------------------------------------------------ */ + +typedef struct tTreeSort { + TreeElement *te; + ID *id; + const char *name; + short idcode; +} tTreeSort; + +/* alphabetical comparator */ +static int treesort_alpha(const void *v1, const void *v2) +{ + const tTreeSort *x1= v1, *x2= v2; + int comp; + + /* first put objects last (hierarchy) */ + comp= (x1->idcode==ID_OB); + if(x2->idcode==ID_OB) comp+=2; + + if(comp==1) return 1; + else if(comp==2) return -1; + else if(comp==3) { + comp= strcmp(x1->name, x2->name); + + if( comp>0 ) return 1; + else if( comp<0) return -1; + return 0; + } + return 0; +} + +/* this is nice option for later? doesnt look too useful... */ +#if 0 +static int treesort_obtype_alpha(const void *v1, const void *v2) +{ + const tTreeSort *x1= v1, *x2= v2; + + /* first put objects last (hierarchy) */ + if(x1->idcode==ID_OB && x2->idcode!=ID_OB) return 1; + else if(x2->idcode==ID_OB && x1->idcode!=ID_OB) return -1; + else { + /* 2nd we check ob type */ + if(x1->idcode==ID_OB && x2->idcode==ID_OB) { + if( ((Object *)x1->id)->type > ((Object *)x2->id)->type) return 1; + else if( ((Object *)x1->id)->type > ((Object *)x2->id)->type) return -1; + else return 0; + } + else { + int comp= strcmp(x1->name, x2->name); + + if( comp>0 ) return 1; + else if( comp<0) return -1; + return 0; + } + } +} +#endif + +/* sort happens on each subtree individual */ +static void outliner_sort(SpaceOops *soops, ListBase *lb) +{ + TreeElement *te; + TreeStoreElem *tselem; + int totelem=0; + + te= lb->last; + if(te==NULL) return; + tselem= TREESTORE(te); + + /* sorting rules; only object lists or deformgroups */ + if( (tselem->type==TSE_DEFGROUP) || (tselem->type==0 && te->idcode==ID_OB)) { + + /* count first */ + for(te= lb->first; te; te= te->next) totelem++; + + if(totelem>1) { + tTreeSort *tear= MEM_mallocN(totelem*sizeof(tTreeSort), "tree sort array"); + tTreeSort *tp=tear; + int skip= 0; + + for(te= lb->first; te; te= te->next, tp++) { + tselem= TREESTORE(te); + tp->te= te; + tp->name= te->name; + tp->idcode= te->idcode; + if(tselem->type && tselem->type!=TSE_DEFGROUP) tp->idcode= 0; // dont sort this + tp->id= tselem->id; + } + /* keep beginning of list */ + for(tp= tear, skip=0; skipidcode) break; + + if(skipfirst=lb->last= NULL; + tp= tear; + while(totelem--) { + BLI_addtail(lb, tp->te); + tp++; + } + MEM_freeN(tear); + } + } + + for(te= lb->first; te; te= te->next) { + outliner_sort(soops, &te->subtree); + } +} + +/* Filtering ----------------------------------------------- */ + +static int outliner_filter_has_name(TreeElement *te, const char *name, int flags) +{ +#if 0 + int found= 0; + + /* determine if match */ + if (flags & SO_FIND_CASE_SENSITIVE) { + if (flags & SO_FIND_COMPLETE) + found= strcmp(te->name, name) == 0; + else + found= strstr(te->name, name) != NULL; + } + else { + if (flags & SO_FIND_COMPLETE) + found= BLI_strcasecmp(te->name, name) == 0; + else + found= BLI_strcasestr(te->name, name) != NULL; + } +#else + + int fn_flag= 0; + int found= 0; + + if ((flags & SO_FIND_CASE_SENSITIVE) == 0) + fn_flag |= FNM_CASEFOLD; + + if (flags & SO_FIND_COMPLETE) { + found= fnmatch(name, te->name, fn_flag)==0; + } + else { + char fn_name[sizeof(((struct SpaceOops *)NULL)->search_string) + 2]; + sprintf(fn_name, "*%s*", name); + found= fnmatch(fn_name, te->name, fn_flag)==0; + } + return found; +#endif +} + +static int outliner_filter_tree(SpaceOops *soops, ListBase *lb) +{ + TreeElement *te, *ten; + TreeStoreElem *tselem; + + /* although we don't have any search string, we return TRUE + * since the entire tree is ok then... + */ + if (soops->search_string[0]==0) + return 1; + + for (te= lb->first; te; te= ten) { + ten= te->next; + + if (0==outliner_filter_has_name(te, soops->search_string, soops->search_flags)) { + /* item isn't something we're looking for, but... + * - if the subtree is expanded, check if there are any matches that can be easily found + * so that searching for "cu" in the default scene will still match the Cube + * - otherwise, we can't see within the subtree and the item doesn't match, + * so these can be safely ignored (i.e. the subtree can get freed) + */ + tselem= TREESTORE(te); + + if ((tselem->flag & TSE_CLOSED) || outliner_filter_tree(soops, &te->subtree)==0) { + outliner_free_tree(&te->subtree); + BLI_remlink(lb, te); + + if(te->flag & TE_FREE_NAME) MEM_freeN((void *)te->name); + MEM_freeN(te); + } + } + else { + /* filter subtree too */ + outliner_filter_tree(soops, &te->subtree); + } + } + + /* if there are still items in the list, that means that there were still some matches */ + return (lb->first != NULL); +} + +/* ======================================================= */ +/* Main Tree Building API */ + +/* Main entry point for building the tree data-structure that the outliner represents */ +// TODO: split each mode into its own function? +void outliner_build_tree(Main *mainvar, Scene *scene, SpaceOops *soops) +{ + Base *base; + Object *ob; + TreeElement *te=NULL, *ten; + TreeStoreElem *tselem; + int show_opened= (soops->treestore==NULL); /* on first view, we open scenes */ + + if(soops->tree.first && (soops->storeflag & SO_TREESTORE_REDRAW)) + return; + + outliner_free_tree(&soops->tree); + outliner_storage_cleanup(soops); + + /* clear ob id.new flags */ + for(ob= mainvar->object.first; ob; ob= ob->id.next) ob->id.newid= NULL; + + /* options */ + if(soops->outlinevis == SO_LIBRARIES) { + Library *lib; + + for(lib= mainvar->library.first; lib; lib= lib->id.next) { + ten= outliner_add_element(soops, &soops->tree, lib, NULL, 0, 0); + lib->id.newid= (ID *)ten; + } + /* make hierarchy */ + ten= soops->tree.first; + while(ten) { + TreeElement *nten= ten->next, *par; + tselem= TREESTORE(ten); + lib= (Library *)tselem->id; + if(lib->parent) { + BLI_remlink(&soops->tree, ten); + par= (TreeElement *)lib->parent->id.newid; + BLI_addtail(&par->subtree, ten); + ten->parent= par; + } + ten= nten; + } + /* restore newid pointers */ + for(lib= mainvar->library.first; lib; lib= lib->id.next) + lib->id.newid= NULL; + + } + else if(soops->outlinevis == SO_ALL_SCENES) { + Scene *sce; + for(sce= mainvar->scene.first; sce; sce= sce->id.next) { + te= outliner_add_element(soops, &soops->tree, sce, NULL, 0, 0); + tselem= TREESTORE(te); + if(sce==scene && show_opened) + tselem->flag &= ~TSE_CLOSED; + + for(base= sce->base.first; base; base= base->next) { + ten= outliner_add_element(soops, &te->subtree, base->object, te, 0, 0); + ten->directdata= base; + } + outliner_make_hierarchy(soops, &te->subtree); + /* clear id.newid, to prevent objects be inserted in wrong scenes (parent in other scene) */ + for(base= sce->base.first; base; base= base->next) base->object->id.newid= NULL; + } + } + else if(soops->outlinevis == SO_CUR_SCENE) { + + outliner_add_scene_contents(soops, &soops->tree, scene, NULL); + + for(base= scene->base.first; base; base= base->next) { + ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0); + ten->directdata= base; + } + outliner_make_hierarchy(soops, &soops->tree); + } + else if(soops->outlinevis == SO_VISIBLE) { + for(base= scene->base.first; base; base= base->next) { + if(base->lay & scene->lay) + outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0); + } + outliner_make_hierarchy(soops, &soops->tree); + } + else if(soops->outlinevis == SO_GROUPS) { + Group *group; + GroupObject *go; + + for(group= mainvar->group.first; group; group= group->id.next) { + if(group->gobject.first) { + te= outliner_add_element(soops, &soops->tree, group, NULL, 0, 0); + + for(go= group->gobject.first; go; go= go->next) { + ten= outliner_add_element(soops, &te->subtree, go->ob, te, 0, 0); + ten->directdata= NULL; /* eh, why? */ + } + outliner_make_hierarchy(soops, &te->subtree); + /* clear id.newid, to prevent objects be inserted in wrong scenes (parent in other scene) */ + for(go= group->gobject.first; go; go= go->next) go->ob->id.newid= NULL; + } + } + } + else if(soops->outlinevis == SO_SAME_TYPE) { + Object *ob= OBACT; + if(ob) { + for(base= scene->base.first; base; base= base->next) { + if(base->object->type==ob->type) { + ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0); + ten->directdata= base; + } + } + outliner_make_hierarchy(soops, &soops->tree); + } + } + else if(soops->outlinevis == SO_SELECTED) { + for(base= scene->base.first; base; base= base->next) { + if(base->lay & scene->lay) { + if(base==BASACT || (base->flag & SELECT)) { + ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0); + ten->directdata= base; + } + } + } + outliner_make_hierarchy(soops, &soops->tree); + } + else if(soops->outlinevis==SO_SEQUENCE) { + Sequence *seq; + Editing *ed= seq_give_editing(scene, FALSE); + int op; + + if(ed==NULL) + return; + + seq= ed->seqbasep->first; + if(!seq) + return; + + while(seq) { + op= need_add_seq_dup(seq); + if(op==1) + ten= outliner_add_element(soops, &soops->tree, (void*)seq, NULL, TSE_SEQUENCE, 0); + else if(op==0) { + ten= outliner_add_element(soops, &soops->tree, (void*)seq, NULL, TSE_SEQUENCE_DUP, 0); + outliner_add_seq_dup(soops, seq, ten, 0); + } + seq= seq->next; + } + } + else if(soops->outlinevis==SO_DATABLOCKS) { + PointerRNA mainptr; + + RNA_main_pointer_create(mainvar, &mainptr); + + ten= outliner_add_element(soops, &soops->tree, (void*)&mainptr, NULL, TSE_RNA_STRUCT, -1); + + if(show_opened) { + tselem= TREESTORE(ten); + tselem->flag &= ~TSE_CLOSED; + } + } + else if(soops->outlinevis==SO_USERDEF) { + PointerRNA userdefptr; + + RNA_pointer_create(NULL, &RNA_UserPreferences, &U, &userdefptr); + + ten= outliner_add_element(soops, &soops->tree, (void*)&userdefptr, NULL, TSE_RNA_STRUCT, -1); + + if(show_opened) { + tselem= TREESTORE(ten); + tselem->flag &= ~TSE_CLOSED; + } + } + else if(soops->outlinevis==SO_KEYMAP) { + wmWindowManager *wm= mainvar->wm.first; + wmKeyMap *km; + + for(km= wm->defaultconf->keymaps.first; km; km= km->next) { + ten= outliner_add_element(soops, &soops->tree, (void*)km, NULL, TSE_KEYMAP, 0); + } + } + else { + ten= outliner_add_element(soops, &soops->tree, OBACT, NULL, 0, 0); + if(ten) ten->directdata= BASACT; + } + + outliner_sort(soops, &soops->tree); + outliner_filter_tree(soops, &soops->tree); +} + + diff --git a/source/blender/editors/space_outliner/space_outliner.c b/source/blender/editors/space_outliner/space_outliner.c index 13b186b174b..603be557a3c 100644 --- a/source/blender/editors/space_outliner/space_outliner.c +++ b/source/blender/editors/space_outliner/space_outliner.c @@ -179,6 +179,13 @@ static void outliner_main_area_listener(ARegion *ar, wmNotifier *wmn) break; } break; + case NC_ANIMATION: + switch(wmn->data) { + case ND_NLA_ACTCHANGE: + ED_region_tag_redraw(ar); + break; + } + break; } } diff --git a/source/blender/editors/space_sequencer/sequencer_add.c b/source/blender/editors/space_sequencer/sequencer_add.c index b105b2507ab..14004e7fbba 100644 --- a/source/blender/editors/space_sequencer/sequencer_add.c +++ b/source/blender/editors/space_sequencer/sequencer_add.c @@ -83,9 +83,8 @@ /* avoid passing multiple args and be more verbose */ #define SEQPROP_STARTFRAME (1<<0) #define SEQPROP_ENDFRAME (1<<1) -#define SEQPROP_FILES (1<<2) -#define SEQPROP_NOPATHS (1<<3) -#define SEQPROP_NOCHAN (1<<4) +#define SEQPROP_NOPATHS (1<<2) +#define SEQPROP_NOCHAN (1<<3) #define SELECT 1 @@ -102,9 +101,6 @@ static void sequencer_generic_props__internal(wmOperatorType *ot, int flag) RNA_def_boolean(ot->srna, "replace_sel", 1, "Replace Selection", "replace the current selection"); RNA_def_boolean(ot->srna, "overlap", 0, "Allow Overlap", "Don't correct overlap on new sequence strips"); - - if(flag & SEQPROP_FILES) - RNA_def_collection_runtime(ot->srna, "files", &RNA_OperatorFileListElement, "Files", ""); } static void sequencer_generic_invoke_path__internal(bContext *C, wmOperator *op, const char *identifier) @@ -411,8 +407,8 @@ void SEQUENCER_OT_movie_strip_add(struct wmOperatorType *ot) /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; - WM_operator_properties_filesel(ot, FOLDERFILE|MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH); - sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME|SEQPROP_FILES); + WM_operator_properties_filesel(ot, FOLDERFILE|MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH|WM_FILESEL_FILES); + sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME); RNA_def_boolean(ot->srna, "sound", TRUE, "Sound", "Load sound with the movie"); } @@ -466,8 +462,8 @@ void SEQUENCER_OT_sound_strip_add(struct wmOperatorType *ot) /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; - WM_operator_properties_filesel(ot, FOLDERFILE|SOUNDFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH); - sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME|SEQPROP_FILES); + WM_operator_properties_filesel(ot, FOLDERFILE|SOUNDFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH|WM_FILESEL_FILES); + sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME); RNA_def_boolean(ot->srna, "cache", FALSE, "Cache", "Cache the sound in memory."); } @@ -573,8 +569,8 @@ void SEQUENCER_OT_image_strip_add(struct wmOperatorType *ot) /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; - WM_operator_properties_filesel(ot, FOLDERFILE|IMAGEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_DIRECTORY|WM_FILESEL_RELPATH); - sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME|SEQPROP_ENDFRAME|SEQPROP_FILES); + WM_operator_properties_filesel(ot, FOLDERFILE|IMAGEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_DIRECTORY|WM_FILESEL_RELPATH|WM_FILESEL_FILES); + sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME|SEQPROP_ENDFRAME); } diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c index 98687bb90e0..dc84289a8de 100644 --- a/source/blender/editors/space_sequencer/sequencer_draw.c +++ b/source/blender/editors/space_sequencer/sequencer_draw.c @@ -702,7 +702,7 @@ static void draw_seq_strip(Scene *scene, ARegion *ar, Sequence *seq, int outline static Sequence *special_seq_update= 0; -static void set_special_seq_update(int val) +static void UNUSED_FUNCTION(set_special_seq_update)(int val) { // int x; diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index 6a69d32d307..5429f0ee98f 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -75,10 +75,6 @@ /* own include */ #include "sequencer_intern.h" -static void error(const char *UNUSED(dummy)) {} -static void waitcursor(int UNUSED(val)) {} -static void activate_fileselect(int UNUSED(d1), const char *UNUSED(d2), const char *UNUSED(d3), void *UNUSED(d4)) {} -static int pupmenu(const char *UNUSED(dummy)) {return 0;} static int okee(const char *UNUSED(dummy)) {return 0;} @@ -139,7 +135,7 @@ void seq_rectf(Sequence *seq, rctf *rectf) rectf->ymax= seq->machine+SEQ_STRIP_OFSTOP; } -static void change_plugin_seq(Scene *scene, char *str) /* called from fileselect */ +static void UNUSED_FUNCTION(change_plugin_seq)(Scene *scene, char *str) /* called from fileselect */ { Editing *ed= seq_give_editing(scene, FALSE); struct SeqEffectHandle sh; @@ -392,205 +388,6 @@ void recurs_sel_seq(Sequence *seqm) } } -int event_to_efftype(int event) -{ - if(event==2) return SEQ_CROSS; - if(event==3) return SEQ_GAMCROSS; - if(event==4) return SEQ_ADD; - if(event==5) return SEQ_SUB; - if(event==6) return SEQ_MUL; - if(event==7) return SEQ_ALPHAOVER; - if(event==8) return SEQ_ALPHAUNDER; - if(event==9) return SEQ_OVERDROP; - if(event==10) return SEQ_PLUGIN; - if(event==13) return SEQ_WIPE; - if(event==14) return SEQ_GLOW; - if(event==15) return SEQ_TRANSFORM; - if(event==16) return SEQ_COLOR; - if(event==17) return SEQ_SPEED; - if(event==18) return SEQ_ADJUSTMENT; - return 0; -} - -#if 0 -static void reload_sound_strip(Scene *scene, char *name) -{ - Editing *ed; - Sequence *seq, *seqact; - SpaceFile *sfile; - Sequence *last_seq= seq_active_get(scene); - - ed= scene->ed; - - if(last_seq==0 || last_seq->type!=SEQ_SOUND) return; - seqact= last_seq; /* last_seq changes in alloc_sequence */ - - /* search sfile */ -// sfile= scrarea_find_space_of_type(curarea, SPACE_FILE); - if(sfile==0) return; - - waitcursor(1); - - seq = sfile_to_snd_sequence(sfile, seqact->start, seqact->machine); - printf("seq->type: %i\n", seq->type); - if(seq && seq!=seqact) { - /* i'm not sure about this one, seems to work without it -- sgefant */ - seq_free_strip(seqact->strip); - - seqact->strip= seq->strip; - - seqact->len= seq->len; - calc_sequence(scene, seqact); - - seq->strip= 0; - seq_free_sequence(scene, seq); - BLI_remlink(ed->seqbasep, seq); - - seq= ed->seqbasep->first; - - } - - waitcursor(0); - -} -#endif - -static void reload_image_strip(Scene *scene, char *UNUSED(name)) -{ - Editing *ed= seq_give_editing(scene, FALSE); - Sequence *seq=NULL, *seqact; - SpaceFile *sfile=NULL; - Sequence *last_seq= seq_active_get(scene); - - - - if(last_seq==NULL || last_seq->type!=SEQ_IMAGE) return; - seqact= last_seq; /* last_seq changes in alloc_sequence */ - - /* search sfile */ -// sfile= scrarea_find_space_of_type(curarea, SPACE_FILE); - if(sfile == NULL) return; - - waitcursor(1); - -// seq= sfile_to_sequence(scene, sfile, seqact->start, seqact->machine, 1); // XXX ADD BACK - if(seq && seq!=seqact) { - seq_free_strip(seqact->strip); - - seqact->strip= seq->strip; - - seqact->len= seq->len; - calc_sequence(scene, seqact); - - seq->strip= NULL; - seq_free_sequence(scene, seq); - BLI_remlink(ed->seqbasep, seq); - - update_changed_seq_and_deps(scene, seqact, 1, 1); - } - waitcursor(0); - -} - - -static void change_sequence(Scene *scene) -{ - Editing *ed= seq_give_editing(scene, FALSE); - Sequence *last_seq= seq_active_get(scene); - Scene *sce; - short event; - - if(last_seq == NULL) return; - - if(last_seq->type & SEQ_EFFECT) { - event = pupmenu("Change Effect%t" - "|Switch A <-> B %x1" - "|Switch B <-> C %x10" - "|Plugin%x11" - "|Recalculate%x12" - "|Cross%x2" - "|Gamma Cross%x3" - "|Add%x4" - "|Sub%x5" - "|Mul%x6" - "|Alpha Over%x7" - "|Alpha Under%x8" - "|Alpha Over Drop%x9" - "|Wipe%x13" - "|Glow%x14" - "|Transform%x15" - "|Color Generator%x16" - "|Speed Control%x17" - "|Adjustment Layer%x18"); - if(event > 0) { - if(event==1) { - SWAP(Sequence *,last_seq->seq1,last_seq->seq2); - } - else if(event==10) { - SWAP(Sequence *,last_seq->seq2,last_seq->seq3); - } - else if(event==11) { - activate_fileselect( - FILE_SPECIAL, "Select Plugin", - U.plugseqdir, change_plugin_seq); - } - else if(event==12); - /* recalculate: only new_stripdata */ - else { - /* free previous effect and init new effect */ - struct SeqEffectHandle sh; - - if (get_sequence_effect_num_inputs( - last_seq->type) - < get_sequence_effect_num_inputs( - event_to_efftype(event))) { - error("New effect needs more " - "input strips!"); - } else { - sh = get_sequence_effect(last_seq); - sh.free(last_seq); - - last_seq->type - = event_to_efftype(event); - - sh = get_sequence_effect(last_seq); - sh.init(last_seq); - } - } - - update_changed_seq_and_deps(scene, last_seq, 0, 1); - } - } - else if(last_seq->type == SEQ_IMAGE) { - if(okee("Change images")) { - activate_fileselect(FILE_SPECIAL, - "Select Images", - ed->act_imagedir, - reload_image_strip); - } - } - else if(last_seq->type == SEQ_MOVIE) { - ; - } - else if(last_seq->type == SEQ_SCENE) { - event= pupmenu("Change Scene%t|Update Start and End"); - - if(event==1) { - sce= last_seq->scene; - - last_seq->len= sce->r.efra - sce->r.sfra + 1; - last_seq->sfra= sce->r.sfra; - - /* bad code to change seq->len? update_changed_seq_and_deps() expects the strip->len to be OK */ - new_tstripdata(last_seq); - - update_changed_seq_and_deps(scene, last_seq, 1, 1); - - } - } - -} - int seq_effect_find_selected(Scene *scene, Sequence *activeseq, int type, Sequence **selseq1, Sequence **selseq2, Sequence **selseq3, const char **error_str) { Editing *ed = seq_give_editing(scene, FALSE); @@ -961,7 +758,7 @@ static int insert_gap(Scene *scene, int gap, int cfra) return done; } -static void touch_seq_files(Scene *scene) +static void UNUSED_FUNCTION(touch_seq_files)(Scene *scene) { Sequence *seq; Editing *ed= seq_give_editing(scene, FALSE); @@ -973,7 +770,7 @@ static void touch_seq_files(Scene *scene) if(okee("Touch and print selected movies")==0) return; - waitcursor(1); + WM_cursor_wait(1); SEQP_BEGIN(ed, seq) { if(seq->flag & SELECT) { @@ -988,7 +785,7 @@ static void touch_seq_files(Scene *scene) } SEQ_END - waitcursor(0); + WM_cursor_wait(0); } /* @@ -1016,7 +813,7 @@ static void set_filter_seq(Scene *scene) } */ -static void seq_remap_paths(Scene *scene) +static void UNUSED_FUNCTION(seq_remap_paths)(Scene *scene) { Sequence *seq, *last_seq = seq_active_get(scene); Editing *ed= seq_give_editing(scene, FALSE); @@ -1057,7 +854,7 @@ static void seq_remap_paths(Scene *scene) } -static void no_gaps(Scene *scene) +static void UNUSED_FUNCTION(no_gaps)(Scene *scene) { Editing *ed= seq_give_editing(scene, FALSE); int cfra, first= 0, done; @@ -1103,6 +900,19 @@ int sequencer_edit_poll(bContext *C) return (seq_give_editing(CTX_data_scene(C), FALSE) != NULL); } +int sequencer_strip_poll(bContext *C) +{ + Editing *ed; + return (((ed= seq_give_editing(CTX_data_scene(C), FALSE)) != NULL) && (ed->act_seq != NULL)); +} + +int sequencer_strip_has_path_poll(bContext *C) +{ + Editing *ed; + Sequence *seq; + return (((ed= seq_give_editing(CTX_data_scene(C), FALSE)) != NULL) && ((seq= ed->act_seq) != NULL) && (SEQ_HAS_PATH(seq))); +} + int sequencer_view_poll(bContext *C) { SpaceSeq *sseq= CTX_wm_space_seq(C); @@ -1755,6 +1565,58 @@ void SEQUENCER_OT_delete(wmOperatorType *ot) } +/* offset clear operator */ +static int sequencer_offset_clear_exec(bContext *C, wmOperator *UNUSED(op)) +{ + Scene *scene= CTX_data_scene(C); + Editing *ed= seq_give_editing(scene, FALSE); + Sequence *seq; + + /* for effects, try to find a replacement input */ + for(seq=ed->seqbasep->first; seq; seq=seq->next) { + if((seq->type & SEQ_EFFECT)==0 && (seq->flag & SELECT)) { + seq->startofs= seq->endofs= seq->startstill= seq->endstill= 0; + } + } + + /* updates lengths etc */ + seq= ed->seqbasep->first; + while(seq) { + calc_sequence(scene, seq); + seq= seq->next; + } + + for(seq=ed->seqbasep->first; seq; seq=seq->next) { + if((seq->type & SEQ_EFFECT)==0 && (seq->flag & SELECT)) { + if(seq_test_overlap(ed->seqbasep, seq)) { + shuffle_seq(ed->seqbasep, seq, scene); + } + } + } + + WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene); + + return OPERATOR_FINISHED; +} + + +void SEQUENCER_OT_offset_clear(wmOperatorType *ot) +{ + + /* identifiers */ + ot->name= "Clear Strip Offset"; + ot->idname= "SEQUENCER_OT_offset_clear"; + ot->description="Clear strip offsets from the start and end frames"; + + /* api callbacks */ + ot->exec= sequencer_offset_clear_exec; + ot->poll= sequencer_edit_poll; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; +} + + /* separate_images operator */ static int sequencer_separate_images_exec(bContext *C, wmOperator *op) { @@ -2830,3 +2692,230 @@ void SEQUENCER_OT_view_ghost_border(wmOperatorType *ot) /* rna */ WM_operator_properties_gesture_border(ot, FALSE); } + + +/* change ops */ + +static EnumPropertyItem prop_change_effect_input_types[] = { + {0, "A_B", 0, "A -> B", ""}, + {1, "B_C", 0, "B -> C", ""}, + {2, "A_C", 0, "A -> C", ""}, + {0, NULL, 0, NULL, NULL} +}; + +static int sequencer_change_effect_input_exec(bContext *C, wmOperator *op) +{ + Scene *scene= CTX_data_scene(C); + Editing *ed= seq_give_editing(scene, FALSE); + Sequence *seq= seq_active_get(scene); + + Sequence **seq_1, **seq_2; + + switch(RNA_enum_get(op->ptr, "swap")) { + case 0: + seq_1= &seq->seq1; + seq_2= &seq->seq2; + break; + case 1: + seq_1= &seq->seq2; + seq_2= &seq->seq3; + break; + default: /* 2 */ + seq_1= &seq->seq1; + seq_2= &seq->seq3; + break; + } + + if(*seq_1 == NULL || *seq_2 == NULL) { + BKE_report(op->reports, RPT_ERROR, "One of the effect inputs is unset, can't swap"); + return OPERATOR_CANCELLED; + } + else { + SWAP(Sequence *, *seq_1, *seq_2); + } + + update_changed_seq_and_deps(scene, seq, 0, 1); + + /* important else we dont get the imbuf cache flushed */ + free_imbuf_seq(scene, &ed->seqbase, FALSE, FALSE); + + WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene); + + return OPERATOR_FINISHED; +} + +void SEQUENCER_OT_change_effect_input(struct wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Change Effect Input"; + ot->idname= "SEQUENCER_OT_change_effect_input"; + ot->description=""; + + /* api callbacks */ + ot->exec= sequencer_change_effect_input_exec; + ot->poll= sequencer_effect_poll; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + + ot->prop= RNA_def_enum(ot->srna, "swap", prop_change_effect_input_types, 0, "Swap", "The effect inputs to swap"); +} + +static int sequencer_change_effect_type_exec(bContext *C, wmOperator *op) +{ + Scene *scene= CTX_data_scene(C); + Editing *ed= seq_give_editing(scene, FALSE); + Sequence *seq= seq_active_get(scene); + const int new_type= RNA_enum_get(op->ptr, "type"); + + /* free previous effect and init new effect */ + struct SeqEffectHandle sh; + + if ((seq->type & SEQ_EFFECT) == 0) { + return OPERATOR_CANCELLED; + } + + /* can someone explain the logic behind only allowing to increse this, + * copied from 2.4x - campbell */ + if (get_sequence_effect_num_inputs(seq->type) < + get_sequence_effect_num_inputs(new_type) + ) { + BKE_report(op->reports, RPT_ERROR, "New effect needs more input strips"); + return OPERATOR_CANCELLED; + } + else { + sh = get_sequence_effect(seq); + sh.free(seq); + + seq->type= new_type; + + sh = get_sequence_effect(seq); + sh.init(seq); + } + + /* update */ + update_changed_seq_and_deps(scene, seq, 0, 1); + + /* important else we dont get the imbuf cache flushed */ + free_imbuf_seq(scene, &ed->seqbase, FALSE, FALSE); + + WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene); + + return OPERATOR_FINISHED; +} + +void SEQUENCER_OT_change_effect_type(struct wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Change Effect Type"; + ot->idname= "SEQUENCER_OT_change_effect_type"; + ot->description=""; + + /* api callbacks */ + ot->exec= sequencer_change_effect_type_exec; + ot->poll= sequencer_effect_poll; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + + ot->prop= RNA_def_enum(ot->srna, "type", sequencer_prop_effect_types, SEQ_CROSS, "Type", "Sequencer effect type"); +} + +static int sequencer_change_path_exec(bContext *C, wmOperator *op) +{ + Scene *scene= CTX_data_scene(C); + Editing *ed= seq_give_editing(scene, FALSE); + Sequence *seq= seq_active_get(scene); + + if(seq->type == SEQ_IMAGE) { + char directory[FILE_MAX]; + const int len= RNA_property_collection_length(op->ptr, RNA_struct_find_property(op->ptr, "files")); + StripElem *se; + + if(len==0) + return OPERATOR_CANCELLED; + + RNA_string_get(op->ptr, "directory", directory); + BLI_strncpy(seq->strip->dir, directory, sizeof(seq->strip->dir)); + + if(seq->strip->stripdata) { + MEM_freeN(seq->strip->stripdata); + } + seq->strip->stripdata= se= MEM_callocN(len*sizeof(StripElem), "stripelem"); + + RNA_BEGIN(op->ptr, itemptr, "files") { + char *filename= RNA_string_get_alloc(&itemptr, "name", NULL, 0); + BLI_strncpy(se->name, filename, sizeof(se->name)); + MEM_freeN(filename); + se++; + } + RNA_END; + + /* reset these else we wont see all the images */ + seq->anim_startofs= seq->anim_endofs= 0; + + /* correct start/end frames so we dont move + * important not to set seq->len= len; allow the function to handle it */ + reload_sequence_new_file(scene, seq, TRUE); + + calc_sequence(scene, seq); + + /* important else we dont get the imbuf cache flushed */ + free_imbuf_seq(scene, &ed->seqbase, FALSE, FALSE); + } + else { + /* lame, set rna filepath */ + PointerRNA seq_ptr; + PropertyRNA *prop; + char filepath[FILE_MAX]; + + RNA_pointer_create(&scene->id, &RNA_Sequence, seq, &seq_ptr); + + RNA_string_get(op->ptr, "filepath", filepath); + prop= RNA_struct_find_property(&seq_ptr, "filepath"); + RNA_property_string_set(&seq_ptr, prop, filepath); + RNA_property_update(C, &seq_ptr, prop); + } + + WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene); + + return OPERATOR_FINISHED; +} + +static int sequencer_change_path_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event)) +{ + Scene *scene= CTX_data_scene(C); + Sequence *seq= seq_active_get(scene); + + RNA_string_set(op->ptr, "directory", seq->strip->dir); + + /* set default display depending on seq type */ + if(seq->type == SEQ_IMAGE) { + RNA_boolean_set(op->ptr, "filter_movie", 0); + } + else { + RNA_boolean_set(op->ptr, "filter_image", 0); + } + + WM_event_add_fileselect(C, op); + + return OPERATOR_RUNNING_MODAL; +} + +void SEQUENCER_OT_change_path(struct wmOperatorType *ot) +{ + /* identifiers */ + ot->name= "Change Data/Files"; + ot->idname= "SEQUENCER_OT_change_path"; + ot->description=""; + + /* api callbacks */ + ot->exec= sequencer_change_path_exec; + ot->invoke= sequencer_change_path_invoke; + ot->poll= sequencer_strip_has_path_poll; + + /* flags */ + ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; + + WM_operator_properties_filesel(ot, FOLDERFILE|IMAGEFILE|MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_DIRECTORY|WM_FILESEL_RELPATH|WM_FILESEL_FILEPATH|WM_FILESEL_FILES); +} diff --git a/source/blender/editors/space_sequencer/sequencer_intern.h b/source/blender/editors/space_sequencer/sequencer_intern.h index 209b39662aa..7ab76f9b6d7 100644 --- a/source/blender/editors/space_sequencer/sequencer_intern.h +++ b/source/blender/editors/space_sequencer/sequencer_intern.h @@ -70,6 +70,8 @@ int seq_effect_find_selected(struct Scene *scene, struct Sequence *activeseq, in /* operator helpers */ int sequencer_edit_poll(struct bContext *C); +int sequencer_strip_poll(struct bContext *C); +int sequencer_strip_has_path_poll(struct bContext *C); int sequencer_view_poll(struct bContext *C); /* externs */ @@ -91,6 +93,7 @@ void SEQUENCER_OT_reassign_inputs(struct wmOperatorType *ot); void SEQUENCER_OT_swap_inputs(struct wmOperatorType *ot); void SEQUENCER_OT_duplicate(struct wmOperatorType *ot); void SEQUENCER_OT_delete(struct wmOperatorType *ot); +void SEQUENCER_OT_offset_clear(struct wmOperatorType *ot); void SEQUENCER_OT_images_separate(struct wmOperatorType *ot); void SEQUENCER_OT_meta_toggle(struct wmOperatorType *ot); void SEQUENCER_OT_meta_make(struct wmOperatorType *ot); @@ -108,6 +111,10 @@ void SEQUENCER_OT_view_selected(struct wmOperatorType *ot); void SEQUENCER_OT_view_zoom_ratio(struct wmOperatorType *ot); void SEQUENCER_OT_view_ghost_border(struct wmOperatorType *ot); +void SEQUENCER_OT_change_effect_input(struct wmOperatorType *ot); +void SEQUENCER_OT_change_effect_type(struct wmOperatorType *ot); +void SEQUENCER_OT_change_path(struct wmOperatorType *ot); + void SEQUENCER_OT_copy(struct wmOperatorType *ot); void SEQUENCER_OT_paste(struct wmOperatorType *ot); diff --git a/source/blender/editors/space_sequencer/sequencer_ops.c b/source/blender/editors/space_sequencer/sequencer_ops.c index f5c26cb17d3..df33ce73b9c 100644 --- a/source/blender/editors/space_sequencer/sequencer_ops.c +++ b/source/blender/editors/space_sequencer/sequencer_ops.c @@ -68,6 +68,7 @@ void sequencer_operatortypes(void) WM_operatortype_append(SEQUENCER_OT_swap_inputs); WM_operatortype_append(SEQUENCER_OT_duplicate); WM_operatortype_append(SEQUENCER_OT_delete); + WM_operatortype_append(SEQUENCER_OT_offset_clear); WM_operatortype_append(SEQUENCER_OT_images_separate); WM_operatortype_append(SEQUENCER_OT_meta_toggle); WM_operatortype_append(SEQUENCER_OT_meta_make); @@ -86,6 +87,10 @@ void sequencer_operatortypes(void) WM_operatortype_append(SEQUENCER_OT_view_zoom_ratio); WM_operatortype_append(SEQUENCER_OT_view_ghost_border); + WM_operatortype_append(SEQUENCER_OT_change_effect_input); + WM_operatortype_append(SEQUENCER_OT_change_effect_type); + WM_operatortype_append(SEQUENCER_OT_change_path); + /* sequencer_select.c */ WM_operatortype_append(SEQUENCER_OT_select_all_toggle); WM_operatortype_append(SEQUENCER_OT_select_inverse); @@ -145,6 +150,8 @@ void sequencer_keymap(wmKeyConfig *keyconf) WM_keymap_add_item(keymap, "SEQUENCER_OT_reassign_inputs", RKEY, KM_PRESS, 0, 0); WM_keymap_add_item(keymap, "SEQUENCER_OT_reload", RKEY, KM_PRESS, KM_ALT, 0); + WM_keymap_add_item(keymap, "SEQUENCER_OT_offset_clear", OKEY, KM_PRESS, KM_ALT, 0); + WM_keymap_add_item(keymap, "SEQUENCER_OT_duplicate", DKEY, KM_PRESS, KM_SHIFT, 0); WM_keymap_add_item(keymap, "SEQUENCER_OT_delete", XKEY, KM_PRESS, 0, 0); @@ -240,6 +247,8 @@ void sequencer_keymap(wmKeyConfig *keyconf) WM_keymap_add_item(keymap, "SEQUENCER_OT_select_border", BKEY, KM_PRESS, 0, 0); WM_keymap_add_menu(keymap, "SEQUENCER_MT_add", AKEY, KM_PRESS, KM_SHIFT, 0); + + WM_keymap_add_menu(keymap, "SEQUENCER_MT_change", CKEY, KM_PRESS, 0, 0); kmi= WM_keymap_add_item(keymap, "WM_OT_context_set_int", OKEY, KM_PRESS, 0, 0); RNA_string_set(kmi->ptr, "data_path", "scene.sequence_editor.overlay_frame"); diff --git a/source/blender/editors/space_sequencer/sequencer_select.c b/source/blender/editors/space_sequencer/sequencer_select.c index 8d5f372f55e..0ac23765167 100644 --- a/source/blender/editors/space_sequencer/sequencer_select.c +++ b/source/blender/editors/space_sequencer/sequencer_select.c @@ -159,7 +159,7 @@ void select_surround_from_last(Scene *scene) #endif -static void select_single_seq(Scene *scene, Sequence *seq, int deselect_all) /* BRING BACK */ +static void UNUSED_FUNCTION(select_single_seq)(Scene *scene, Sequence *seq, int deselect_all) /* BRING BACK */ { Editing *ed= seq_give_editing(scene, FALSE); diff --git a/source/blender/editors/space_text/text_python.c b/source/blender/editors/space_text/text_python.c index 6e6f131655b..51b4b838171 100644 --- a/source/blender/editors/space_text/text_python.c +++ b/source/blender/editors/space_text/text_python.c @@ -43,6 +43,7 @@ #include "BKE_text.h" #include "BLI_blenlib.h" +#include "BLI_utildefines.h" #include "WM_types.h" @@ -192,7 +193,7 @@ static void confirm_suggestion(Text *text, int skipleft) // XXX static int doc_scroll= 0; -static short do_texttools(SpaceText *st, char ascii, unsigned short evnt, short val) +static short UNUSED_FUNCTION(do_texttools)(SpaceText *st, char ascii, unsigned short evnt, short val) { ARegion *ar= NULL; // XXX int qual= 0; // XXX @@ -375,7 +376,7 @@ static short do_texttools(SpaceText *st, char ascii, unsigned short evnt, short ; // XXX redraw_alltext(); #endif -static short do_textmarkers(SpaceText *st, char ascii, unsigned short evnt, short val) +static short UNUSED_FUNCTION(do_textmarkers)(SpaceText *st, char ascii, unsigned short evnt, short val) { Text *text; TextMarker *marker, *mrk, *nxt; diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index 4a8fb92d7e1..2fe2a95de83 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -5475,7 +5475,7 @@ static void drawObjectSelect(Scene *scene, View3D *v3d, ARegion *ar, Base *base) } } else if(ob->type==OB_ARMATURE) { - if(!(ob->mode & OB_MODE_POSE)) + if(!(ob->mode & OB_MODE_POSE && base == scene->basact)) draw_armature(scene, v3d, ar, base, OB_WIRE, FALSE, TRUE); } @@ -5732,7 +5732,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag) /* if( ((int)ob->ctime) != F_(scene->r.cfra)) where_is_object(scene, ob); */ /* draw motion paths (in view space) */ - if (ob->mpath) { + if (ob->mpath && (v3d->flag2 & V3D_RENDER_OVERRIDE)==0) { bAnimVizSettings *avs= &ob->avs; /* setup drawing environment for paths */ diff --git a/source/blender/editors/space_view3d/view3d_toolbar.c b/source/blender/editors/space_view3d/view3d_toolbar.c index 50dd98b08a4..3cc3bde9754 100644 --- a/source/blender/editors/space_view3d/view3d_toolbar.c +++ b/source/blender/editors/space_view3d/view3d_toolbar.c @@ -46,6 +46,7 @@ #include "BLI_editVert.h" #include "BLI_rand.h" #include "BLI_utildefines.h" +#include "BLI_ghash.h" #include "BKE_context.h" #include "BKE_idprop.h" @@ -140,10 +141,11 @@ static void operator_call_cb(struct bContext *C, void *arg_listbase, void *arg2) static void operator_search_cb(const struct bContext *C, void *UNUSED(arg), const char *str, uiSearchItems *items) { - wmOperatorType *ot = WM_operatortype_first(); - - for(; ot; ot= ot->next) { - + GHashIterator *iter= WM_operatortype_iter(); + + for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) { + wmOperatorType *ot= BLI_ghashIterator_getValue(iter); + if(BLI_strcasestr(ot->name, str)) { if(WM_operator_poll((bContext*)C, ot)) { @@ -152,6 +154,7 @@ static void operator_search_cb(const struct bContext *C, void *UNUSED(arg), cons } } } + BLI_ghashIterator_free(iter); } diff --git a/source/blender/editors/transform/CMakeLists.txt b/source/blender/editors/transform/CMakeLists.txt index 283b09f42e4..e44cc1f5df3 100644 --- a/source/blender/editors/transform/CMakeLists.txt +++ b/source/blender/editors/transform/CMakeLists.txt @@ -41,7 +41,6 @@ set(SRC transform_generics.c transform_input.c transform_manipulator.c - transform_ndofinput.c transform_ops.c transform_orientations.c transform_snap.c diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index 39e26bc6436..c1c812e8c68 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -1006,11 +1006,6 @@ int transformEvent(TransInfo *t, wmEvent *event) else view_editmove(event->type); t->redraw= 1; break; -#if 0 - case NDOF_MOTION: - // should have been caught by tranform_modal - return OPERATOR_PASS_THROUGH; -#endif default: handled = 0; break; diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h index d8e42488787..485344875d4 100644 --- a/source/blender/editors/transform/transform.h +++ b/source/blender/editors/transform/transform.h @@ -67,14 +67,6 @@ struct wmTimer; struct ARegion; struct ReportList; -typedef struct NDofInput { - int flag; - int axis; - float fval[7]; - float factor[3]; -} NDofInput; - - /* The ctrl value has different meaning: 0 : No value has been typed @@ -273,7 +265,6 @@ typedef struct TransInfo { TransCon con; /* transformed constraint */ TransSnap tsnap; NumInput num; /* numerical input */ - NDofInput ndof; /* ndof input */ MouseInput mouse; /* mouse input */ char redraw; /* redraw flag */ float prop_size; /* proportional circle radius */ @@ -340,9 +331,6 @@ typedef struct TransInfo { /* ******************** Macros & Prototypes *********************** */ -/* NDOFINPUT FLAGS */ -#define NDOF_INIT 1 - /* transinfo->state */ #define TRANS_STARTING 0 #define TRANS_RUNNING 1 @@ -683,20 +671,6 @@ void calculatePropRatio(TransInfo *t); void getViewVector(TransInfo *t, float coord[3], float vec[3]); -/*********************** NDofInput ********************************/ - -void initNDofInput(NDofInput *n); -int hasNDofInput(NDofInput *n); -void applyNDofInput(NDofInput *n, float *vec); -int handleNDofInput(NDofInput *n, struct wmEvent *event); - -/* handleNDofInput return values */ -#define NDOF_REFRESH 1 -#define NDOF_NOMOVE 2 -#define NDOF_CONFIRM 3 -#define NDOF_CANCEL 4 - - /*********************** Transform Orientations ******************************/ void initTransformOrientation(struct bContext *C, TransInfo *t); diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index c81c398e696..306796efee9 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -1165,7 +1165,6 @@ int initTransInfo (bContext *C, TransInfo *t, wmOperator *op, wmEvent *event) setTransformViewMatrices(t); initNumInput(&t->num); - initNDofInput(&t->ndof); return 1; } diff --git a/source/blender/editors/transform/transform_ndofinput.c b/source/blender/editors/transform/transform_ndofinput.c deleted file mode 100644 index c5946163770..00000000000 --- a/source/blender/editors/transform/transform_ndofinput.c +++ /dev/null @@ -1,162 +0,0 @@ -/* - * $Id$ - * - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is: all of this file. - * - * Contributor(s): Martin Poirier - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file blender/editors/transform/transform_ndofinput.c - * \ingroup edtransform - */ - - - #include /* fabs */ -#include /* for sprintf */ - -#include "BLI_utildefines.h" - -#include "BKE_global.h" /* for G */ - /* ABS */ - -#include "WM_types.h" - -#include "transform.h" - -#if 0 -static int updateNDofMotion(NDofInput *n); // return 0 when motion is null -#endif -static void resetNDofInput(NDofInput *n); - -void initNDofInput(NDofInput *n) -{ - int i; - - n->flag = 0; - n->axis = 0; - - resetNDofInput(n); - - for(i = 0; i < 3; i++) - { - n->factor[i] = 1.0f; - } -} - -static void resetNDofInput(NDofInput *n) -{ - int i; - for(i = 0; i < 6; i++) - { - n->fval[i] = 0.0f; - } -} - - -int handleNDofInput(NDofInput *UNUSED(n), wmEvent *UNUSED(event)) -{ - int retval = 0; - // TRANSFORM_FIX_ME -#if 0 - switch(event) - { - case NDOFMOTION: - if (updateNDofMotion(n) == 0) - { - retval = NDOF_NOMOVE; - } - else - { - retval = NDOF_REFRESH; - } - break; - case NDOFBUTTON: - if (val == 1) - { - retval = NDOF_CONFIRM; - } - else if (val == 2) - { - retval = NDOF_CANCEL; - resetNDofInput(n); - n->flag &= ~NDOF_INIT; - } - break; - } -#endif - return retval; -} - -int hasNDofInput(NDofInput *n) -{ - return (n->flag & NDOF_INIT) == NDOF_INIT; -} - -void applyNDofInput(NDofInput *n, float *vec) -{ - if (hasNDofInput(n)) - { - int i, j; - - for (i = 0, j = 0; i < 6; i++) - { - if (n->axis & (1 << i)) - { - vec[j] = n->fval[i] * n->factor[j]; - j++; - } - } - } -} - -// TRANSFORM_FIX_ME -#if 0 - -static int updateNDofMotion(NDofInput *n) -{ - float fval[7]; - int i; - int retval = 0; - - getndof(fval); - - if (G.vd->ndoffilter) - filterNDOFvalues(fval); - - for(i = 0; i < 6; i++) - { - if (!retval && fval[i] != 0.0f) - { - retval = 1; - } - - n->fval[i] += fval[i] / 1024.0f; - } - - n->flag |= NDOF_INIT; - - return retval; -} -#endif - - - - diff --git a/source/blender/editors/transform/transform_ops.c b/source/blender/editors/transform/transform_ops.c index 54e0b31e201..231293024f0 100644 --- a/source/blender/editors/transform/transform_ops.c +++ b/source/blender/editors/transform/transform_ops.c @@ -360,17 +360,14 @@ static int transform_modal(bContext *C, wmOperator *op, wmEvent *event) TransInfo *t = op->customdata; - #if 0 +#if 0 // stable 2D mouse coords map to different 3D coords while the 3D mouse is active // in other words, 2D deltas are no longer good enough! // disable until individual 'transformers' behave better if (event->type == NDOF_MOTION) - { - /* puts("transform_modal: passing through NDOF_MOTION"); */ return OPERATOR_PASS_THROUGH; - } - #endif +#endif /* XXX insert keys are called here, and require context */ t->context= C; diff --git a/source/blender/imbuf/intern/anim_movie.c b/source/blender/imbuf/intern/anim_movie.c index 919b0eb0c29..8b0104fcdca 100644 --- a/source/blender/imbuf/intern/anim_movie.c +++ b/source/blender/imbuf/intern/anim_movie.c @@ -355,7 +355,7 @@ struct anim * IMB_open_anim( const char * name, int ib_flags) { anim = (struct anim*)MEM_callocN(sizeof(struct anim), "anim struct"); if (anim != NULL) { - strcpy(anim->name, name); /* fixme: possible buffer overflow here? */ + BLI_strncpy(anim->name, name, sizeof(anim->name)); anim->ib_flags = ib_flags; } return(anim); diff --git a/source/blender/imbuf/intern/filter.c b/source/blender/imbuf/intern/filter.c index 1644e653df4..3f391b91c0f 100644 --- a/source/blender/imbuf/intern/filter.c +++ b/source/blender/imbuf/intern/filter.c @@ -371,11 +371,15 @@ void IMB_filter_extend(struct ImBuf *ibuf, char *mask, int filter) float weight[25]; /* build a weights buffer */ - n= 2; - k= 0; + n= 1; + /*k= 0; for(i = -n; i <= n; i++) for(j = -n; j <= n; j++) weight[k++] = sqrt((float) i * i + j * j); + */ + weight[0]=1; weight[1]=2; weight[2]=1; + weight[3]=2; weight[4]=0; weight[5]=2; + weight[6]=1; weight[7]=2; weight[8]=1; /* run passes */ for(r = 0; cannot_early_out == 1 && r < filter; r++) { @@ -393,10 +397,10 @@ void IMB_filter_extend(struct ImBuf *ibuf, char *mask, int filter) float acc[4]={0,0,0,0}; k = 0; - if (check_pixel_assigned(srcbuf, srcmask, filter_make_index(x-1, y, width, height), depth, is_float) || + /*if (check_pixel_assigned(srcbuf, srcmask, filter_make_index(x-1, y, width, height), depth, is_float) || check_pixel_assigned(srcbuf, srcmask, filter_make_index(x+1, y, width, height), depth, is_float) || check_pixel_assigned(srcbuf, srcmask, filter_make_index(x, y-1, width, height), depth, is_float) || - check_pixel_assigned(srcbuf, srcmask, filter_make_index(x, y+1, width, height), depth, is_float)) { + check_pixel_assigned(srcbuf, srcmask, filter_make_index(x, y+1, width, height), depth, is_float))*/ { for(i= -n; i<=n; i++) { for(j=-n; j<=n; j++) { if(i != 0 || j != 0) { diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h index 3787675f339..053f3b38168 100644 --- a/source/blender/makesdna/DNA_modifier_types.h +++ b/source/blender/makesdna/DNA_modifier_types.h @@ -712,16 +712,16 @@ typedef struct ShapeKeyModifierData { typedef struct SolidifyModifierData { ModifierData modifier; - char defgrp_name[32]; /* name of vertex group to use */ + char defgrp_name[32]; /* name of vertex group to use */ float offset; /* new surface offset level*/ float offset_fac; /* midpoint of the offset */ + float offset_fac_vg; /* factor for the minimum weight to use when vgroups are used, avoids 0.0 weights giving duplicate geometry */ float crease_inner; float crease_outer; float crease_rim; int flag; short mat_ofs; short mat_ofs_rim; - int pad; } SolidifyModifierData; #define MOD_SOLIDIFY_RIM (1<<0) diff --git a/source/blender/makesrna/RNA_access.h b/source/blender/makesrna/RNA_access.h index 963b3de3b4d..c1427ca0e79 100644 --- a/source/blender/makesrna/RNA_access.h +++ b/source/blender/makesrna/RNA_access.h @@ -47,532 +47,534 @@ struct Scene; /* Types */ extern BlenderRNA BLENDER_RNA; -extern LIBEXPORT StructRNA RNA_Action; -extern LIBEXPORT StructRNA RNA_ActionConstraint; -extern LIBEXPORT StructRNA RNA_ActionGroup; -extern LIBEXPORT StructRNA RNA_Actuator; -extern LIBEXPORT StructRNA RNA_ActuatorSensor; -extern LIBEXPORT StructRNA RNA_Addon; -extern LIBEXPORT StructRNA RNA_AdjustmentSequence; -extern LIBEXPORT StructRNA RNA_AlwaysSensor; -extern LIBEXPORT StructRNA RNA_AndController; -extern LIBEXPORT StructRNA RNA_AnimData; -extern LIBEXPORT StructRNA RNA_AnimViz; -extern LIBEXPORT StructRNA RNA_AnimVizMotionPaths; -extern LIBEXPORT StructRNA RNA_AnimVizOnionSkinning; -extern LIBEXPORT StructRNA RNA_AnyType; -extern LIBEXPORT StructRNA RNA_Area; -extern LIBEXPORT StructRNA RNA_AreaLamp; -extern LIBEXPORT StructRNA RNA_Armature; -extern LIBEXPORT StructRNA RNA_ArmatureModifier; -extern LIBEXPORT StructRNA RNA_ArmatureSensor; -extern LIBEXPORT StructRNA RNA_ArrayModifier; -extern LIBEXPORT StructRNA RNA_BackgroundImage; -extern LIBEXPORT StructRNA RNA_BevelModifier; -extern LIBEXPORT StructRNA RNA_BezierSplinePoint; -extern LIBEXPORT StructRNA RNA_BlendData; -extern LIBEXPORT StructRNA RNA_BlendTexture; -extern LIBEXPORT StructRNA RNA_BlenderRNA; -extern LIBEXPORT StructRNA RNA_BoidRule; -extern LIBEXPORT StructRNA RNA_BoidRuleAverageSpeed; -extern LIBEXPORT StructRNA RNA_BoidRuleAvoid; -extern LIBEXPORT StructRNA RNA_BoidRuleAvoidCollision; -extern LIBEXPORT StructRNA RNA_BoidRuleFight; -extern LIBEXPORT StructRNA RNA_BoidRuleFollowLeader; -extern LIBEXPORT StructRNA RNA_BoidRuleGoal; -extern LIBEXPORT StructRNA RNA_BoidSettings; -extern LIBEXPORT StructRNA RNA_BoidState; -extern LIBEXPORT StructRNA RNA_Bone; -extern LIBEXPORT StructRNA RNA_BoneGroup; -extern LIBEXPORT StructRNA RNA_BooleanModifier; -extern LIBEXPORT StructRNA RNA_BooleanProperty; -extern LIBEXPORT StructRNA RNA_Brush; -extern LIBEXPORT StructRNA RNA_BrushTextureSlot; -extern LIBEXPORT StructRNA RNA_BuildModifier; -extern LIBEXPORT StructRNA RNA_Camera; -extern LIBEXPORT StructRNA RNA_CastModifier; -extern LIBEXPORT StructRNA RNA_ChildOfConstraint; -extern LIBEXPORT StructRNA RNA_ChildParticle; -extern LIBEXPORT StructRNA RNA_ClampToConstraint; -extern LIBEXPORT StructRNA RNA_ClothCollisionSettings; -extern LIBEXPORT StructRNA RNA_ClothModifier; -extern LIBEXPORT StructRNA RNA_ClothSettings; -extern LIBEXPORT StructRNA RNA_CloudsTexture; -extern LIBEXPORT StructRNA RNA_CollectionProperty; -extern LIBEXPORT StructRNA RNA_CollisionModifier; -extern LIBEXPORT StructRNA RNA_CollisionSensor; -extern LIBEXPORT StructRNA RNA_CollisionSettings; -extern LIBEXPORT StructRNA RNA_ColorRamp; -extern LIBEXPORT StructRNA RNA_ColorRampElement; -extern LIBEXPORT StructRNA RNA_ColorSequence; -extern LIBEXPORT StructRNA RNA_CompositorNode; -extern LIBEXPORT StructRNA RNA_CompositorNodeAlphaOver; -extern LIBEXPORT StructRNA RNA_CompositorNodeBilateralblur; -extern LIBEXPORT StructRNA RNA_CompositorNodeBlur; -extern LIBEXPORT StructRNA RNA_CompositorNodeBrightContrast; -extern LIBEXPORT StructRNA RNA_CompositorNodeChannelMatte; -extern LIBEXPORT StructRNA RNA_CompositorNodeChromaMatte; -extern LIBEXPORT StructRNA RNA_CompositorNodeColorMatte; -extern LIBEXPORT StructRNA RNA_CompositorNodeColorSpill; -extern LIBEXPORT StructRNA RNA_CompositorNodeCombHSVA; -extern LIBEXPORT StructRNA RNA_CompositorNodeCombRGBA; -extern LIBEXPORT StructRNA RNA_CompositorNodeCombYCCA; -extern LIBEXPORT StructRNA RNA_CompositorNodeCombYUVA; -extern LIBEXPORT StructRNA RNA_CompositorNodeComposite; -extern LIBEXPORT StructRNA RNA_CompositorNodeCrop; -extern LIBEXPORT StructRNA RNA_CompositorNodeCurveRGB; -extern LIBEXPORT StructRNA RNA_CompositorNodeCurveVec; -extern LIBEXPORT StructRNA RNA_CompositorNodeDBlur; -extern LIBEXPORT StructRNA RNA_CompositorNodeDefocus; -extern LIBEXPORT StructRNA RNA_CompositorNodeDiffMatte; -extern LIBEXPORT StructRNA RNA_CompositorNodeDilateErode; -extern LIBEXPORT StructRNA RNA_CompositorNodeDisplace; -extern LIBEXPORT StructRNA RNA_CompositorNodeDistanceMatte; -extern LIBEXPORT StructRNA RNA_CompositorNodeFilter; -extern LIBEXPORT StructRNA RNA_CompositorNodeFlip; -extern LIBEXPORT StructRNA RNA_CompositorNodeGamma; -extern LIBEXPORT StructRNA RNA_CompositorNodeGlare; -extern LIBEXPORT StructRNA RNA_CompositorNodeHueSat; -extern LIBEXPORT StructRNA RNA_CompositorNodeIDMask; -extern LIBEXPORT StructRNA RNA_CompositorNodeImage; -extern LIBEXPORT StructRNA RNA_CompositorNodeInvert; -extern LIBEXPORT StructRNA RNA_CompositorNodeLensdist; -extern LIBEXPORT StructRNA RNA_CompositorNodeLevels; -extern LIBEXPORT StructRNA RNA_CompositorNodeLumaMatte; -extern LIBEXPORT StructRNA RNA_CompositorNodeMapUV; -extern LIBEXPORT StructRNA RNA_CompositorNodeMapValue; -extern LIBEXPORT StructRNA RNA_CompositorNodeMath; -extern LIBEXPORT StructRNA RNA_CompositorNodeMixRGB; -extern LIBEXPORT StructRNA RNA_CompositorNodeNormal; -extern LIBEXPORT StructRNA RNA_CompositorNodeNormalize; -extern LIBEXPORT StructRNA RNA_CompositorNodeOutputFile; -extern LIBEXPORT StructRNA RNA_CompositorNodePremulKey; -extern LIBEXPORT StructRNA RNA_CompositorNodeRGB; -extern LIBEXPORT StructRNA RNA_CompositorNodeRGBToBW; -extern LIBEXPORT StructRNA RNA_CompositorNodeRLayers; -extern LIBEXPORT StructRNA RNA_CompositorNodeRotate; -extern LIBEXPORT StructRNA RNA_CompositorNodeScale; -extern LIBEXPORT StructRNA RNA_CompositorNodeSepHSVA; -extern LIBEXPORT StructRNA RNA_CompositorNodeSepRGBA; -extern LIBEXPORT StructRNA RNA_CompositorNodeSepYCCA; -extern LIBEXPORT StructRNA RNA_CompositorNodeSepYUVA; -extern LIBEXPORT StructRNA RNA_CompositorNodeSetAlpha; -extern LIBEXPORT StructRNA RNA_CompositorNodeSplitViewer; -extern LIBEXPORT StructRNA RNA_CompositorNodeTexture; -extern LIBEXPORT StructRNA RNA_CompositorNodeTime; -extern LIBEXPORT StructRNA RNA_CompositorNodeTonemap; -extern LIBEXPORT StructRNA RNA_CompositorNodeTranslate; -extern LIBEXPORT StructRNA RNA_CompositorNodeTree; -extern LIBEXPORT StructRNA RNA_CompositorNodeValToRGB; -extern LIBEXPORT StructRNA RNA_CompositorNodeValue; -extern LIBEXPORT StructRNA RNA_CompositorNodeVecBlur; -extern LIBEXPORT StructRNA RNA_CompositorNodeViewer; -extern LIBEXPORT StructRNA RNA_CompositorNodeZcombine; -extern LIBEXPORT StructRNA RNA_ConsoleLine; -extern LIBEXPORT StructRNA RNA_Constraint; -extern LIBEXPORT StructRNA RNA_ConstraintTarget; -extern LIBEXPORT StructRNA RNA_Context; -extern LIBEXPORT StructRNA RNA_ControlFluidSettings; -extern LIBEXPORT StructRNA RNA_Controller; -extern LIBEXPORT StructRNA RNA_CopyLocationConstraint; -extern LIBEXPORT StructRNA RNA_CopyRotationConstraint; -extern LIBEXPORT StructRNA RNA_CopyScaleConstraint; -extern LIBEXPORT StructRNA RNA_CopyTransformsConstraint; -extern LIBEXPORT StructRNA RNA_Curve; -extern LIBEXPORT StructRNA RNA_CurveMap; -extern LIBEXPORT StructRNA RNA_CurveMapPoint; -extern LIBEXPORT StructRNA RNA_CurveMapping; -extern LIBEXPORT StructRNA RNA_CurveModifier; -extern LIBEXPORT StructRNA RNA_CurvePoint; -extern LIBEXPORT StructRNA RNA_DampedTrackConstraint; -extern LIBEXPORT StructRNA RNA_DecimateModifier; -extern LIBEXPORT StructRNA RNA_DelaySensor; -extern LIBEXPORT StructRNA RNA_DisplaceModifier; -extern LIBEXPORT StructRNA RNA_DistortedNoiseTexture; -extern LIBEXPORT StructRNA RNA_DomainFluidSettings; -extern LIBEXPORT StructRNA RNA_Driver; -extern LIBEXPORT StructRNA RNA_DriverTarget; -extern LIBEXPORT StructRNA RNA_DriverVariable; -extern LIBEXPORT StructRNA RNA_DupliObject; -extern LIBEXPORT StructRNA RNA_EdgeSplitModifier; -extern LIBEXPORT StructRNA RNA_EditBone; -extern LIBEXPORT StructRNA RNA_EffectSequence; -extern LIBEXPORT StructRNA RNA_EffectorWeights; -extern LIBEXPORT StructRNA RNA_EnumProperty; -extern LIBEXPORT StructRNA RNA_EnumPropertyItem; -extern LIBEXPORT StructRNA RNA_EnvironmentMap; -extern LIBEXPORT StructRNA RNA_EnvironmentMapTexture; -extern LIBEXPORT StructRNA RNA_Event; -extern LIBEXPORT StructRNA RNA_ExplodeModifier; -extern LIBEXPORT StructRNA RNA_ExpressionController; -extern LIBEXPORT StructRNA RNA_FCurve; -extern LIBEXPORT StructRNA RNA_FCurveSample; -extern LIBEXPORT StructRNA RNA_FModifier; -extern LIBEXPORT StructRNA RNA_FModifierCycles; -extern LIBEXPORT StructRNA RNA_FModifierEnvelope; -extern LIBEXPORT StructRNA RNA_FModifierEnvelopeControlPoint; -extern LIBEXPORT StructRNA RNA_FModifierFunctionGenerator; -extern LIBEXPORT StructRNA RNA_FModifierGenerator; -extern LIBEXPORT StructRNA RNA_FModifierLimits; -extern LIBEXPORT StructRNA RNA_FModifierNoise; -extern LIBEXPORT StructRNA RNA_FModifierPython; -extern LIBEXPORT StructRNA RNA_FModifierStepped; -extern LIBEXPORT StructRNA RNA_FieldSettings; -extern LIBEXPORT StructRNA RNA_FileSelectParams; -extern LIBEXPORT StructRNA RNA_FloatProperty; -extern LIBEXPORT StructRNA RNA_FloorConstraint; -extern LIBEXPORT StructRNA RNA_FluidFluidSettings; -extern LIBEXPORT StructRNA RNA_FluidSettings; -extern LIBEXPORT StructRNA RNA_FluidSimulationModifier; -extern LIBEXPORT StructRNA RNA_FollowPathConstraint; -extern LIBEXPORT StructRNA RNA_Function; -extern LIBEXPORT StructRNA RNA_GPencilFrame; -extern LIBEXPORT StructRNA RNA_GPencilLayer; -extern LIBEXPORT StructRNA RNA_GPencilStroke; -extern LIBEXPORT StructRNA RNA_GPencilStrokePoint; -extern LIBEXPORT StructRNA RNA_GameBooleanProperty; -extern LIBEXPORT StructRNA RNA_GameFloatProperty; -extern LIBEXPORT StructRNA RNA_GameIntProperty; -extern LIBEXPORT StructRNA RNA_GameObjectSettings; -extern LIBEXPORT StructRNA RNA_GameProperty; -extern LIBEXPORT StructRNA RNA_GameSoftBodySettings; -extern LIBEXPORT StructRNA RNA_GameStringProperty; -extern LIBEXPORT StructRNA RNA_GameTimerProperty; -extern LIBEXPORT StructRNA RNA_GlowSequence; -extern LIBEXPORT StructRNA RNA_GreasePencil; -extern LIBEXPORT StructRNA RNA_Group; -extern LIBEXPORT StructRNA RNA_Header; -extern LIBEXPORT StructRNA RNA_HemiLamp; -extern LIBEXPORT StructRNA RNA_Histogram; -extern LIBEXPORT StructRNA RNA_HookModifier; -extern LIBEXPORT StructRNA RNA_ID; -extern LIBEXPORT StructRNA RNA_IKParam; -extern LIBEXPORT StructRNA RNA_Image; -extern LIBEXPORT StructRNA RNA_ImagePaint; -extern LIBEXPORT StructRNA RNA_ImageSequence; -extern LIBEXPORT StructRNA RNA_ImageTexture; -extern LIBEXPORT StructRNA RNA_ImageUser; -extern LIBEXPORT StructRNA RNA_InflowFluidSettings; -extern LIBEXPORT StructRNA RNA_IntProperty; -extern LIBEXPORT StructRNA RNA_Itasc; -extern LIBEXPORT StructRNA RNA_JoystickSensor; -extern LIBEXPORT StructRNA RNA_Key; -extern LIBEXPORT StructRNA RNA_KeyConfig; -extern LIBEXPORT StructRNA RNA_KeyMap; -extern LIBEXPORT StructRNA RNA_KeyMapItem; -extern LIBEXPORT StructRNA RNA_KeyboardSensor; -extern LIBEXPORT StructRNA RNA_Keyframe; -extern LIBEXPORT StructRNA RNA_KeyingSet; -extern LIBEXPORT StructRNA RNA_KeyingSetInfo; -extern LIBEXPORT StructRNA RNA_KeyingSetPath; -extern LIBEXPORT StructRNA RNA_KinematicConstraint; -extern LIBEXPORT StructRNA RNA_Lamp; -extern LIBEXPORT StructRNA RNA_LampSkySettings; -extern LIBEXPORT StructRNA RNA_LampTextureSlot; -extern LIBEXPORT StructRNA RNA_Lattice; -extern LIBEXPORT StructRNA RNA_LatticeModifier; -extern LIBEXPORT StructRNA RNA_LatticePoint; -extern LIBEXPORT StructRNA RNA_Library; -extern LIBEXPORT StructRNA RNA_LimitDistanceConstraint; -extern LIBEXPORT StructRNA RNA_LimitLocationConstraint; -extern LIBEXPORT StructRNA RNA_LimitRotationConstraint; -extern LIBEXPORT StructRNA RNA_LimitScaleConstraint; -extern LIBEXPORT StructRNA RNA_LockedTrackConstraint; -extern LIBEXPORT StructRNA RNA_Macro; -extern LIBEXPORT StructRNA RNA_MagicTexture; -extern LIBEXPORT StructRNA RNA_MarbleTexture; -extern LIBEXPORT StructRNA RNA_MaskModifier; -extern LIBEXPORT StructRNA RNA_Material; -extern LIBEXPORT StructRNA RNA_MaterialHalo; -extern LIBEXPORT StructRNA RNA_MaterialPhysics; -extern LIBEXPORT StructRNA RNA_MaterialRaytraceMirror; -extern LIBEXPORT StructRNA RNA_MaterialRaytraceTransparency; -extern LIBEXPORT StructRNA RNA_MaterialSlot; -extern LIBEXPORT StructRNA RNA_MaterialStrand; -extern LIBEXPORT StructRNA RNA_MaterialSubsurfaceScattering; -extern LIBEXPORT StructRNA RNA_MaterialTextureSlot; -extern LIBEXPORT StructRNA RNA_MaterialVolume; -extern LIBEXPORT StructRNA RNA_Menu; -extern LIBEXPORT StructRNA RNA_Mesh; -extern LIBEXPORT StructRNA RNA_MeshColor; -extern LIBEXPORT StructRNA RNA_MeshColorLayer; -extern LIBEXPORT StructRNA RNA_MeshDeformModifier; -extern LIBEXPORT StructRNA RNA_MeshEdge; -extern LIBEXPORT StructRNA RNA_MeshFace; -extern LIBEXPORT StructRNA RNA_MeshFloatProperty; -extern LIBEXPORT StructRNA RNA_MeshFloatPropertyLayer; -extern LIBEXPORT StructRNA RNA_MeshIntProperty; -extern LIBEXPORT StructRNA RNA_MeshIntPropertyLayer; -extern LIBEXPORT StructRNA RNA_MeshSticky; -extern LIBEXPORT StructRNA RNA_MeshStringProperty; -extern LIBEXPORT StructRNA RNA_MeshStringPropertyLayer; -extern LIBEXPORT StructRNA RNA_MeshTextureFace; -extern LIBEXPORT StructRNA RNA_MeshTextureFaceLayer; -extern LIBEXPORT StructRNA RNA_MeshVertex; -extern LIBEXPORT StructRNA RNA_MessageSensor; -extern LIBEXPORT StructRNA RNA_MetaBall; -extern LIBEXPORT StructRNA RNA_MetaElement; -extern LIBEXPORT StructRNA RNA_MetaSequence; -extern LIBEXPORT StructRNA RNA_MirrorModifier; -extern LIBEXPORT StructRNA RNA_Modifier; -extern LIBEXPORT StructRNA RNA_MotionPath; -extern LIBEXPORT StructRNA RNA_MotionPathVert; -extern LIBEXPORT StructRNA RNA_MouseSensor; -extern LIBEXPORT StructRNA RNA_MovieSequence; -extern LIBEXPORT StructRNA RNA_MulticamSequence; -extern LIBEXPORT StructRNA RNA_MultiresModifier; -extern LIBEXPORT StructRNA RNA_MusgraveTexture; -extern LIBEXPORT StructRNA RNA_NandController; -extern LIBEXPORT StructRNA RNA_NearSensor; -extern LIBEXPORT StructRNA RNA_NlaStrip; -extern LIBEXPORT StructRNA RNA_NlaTrack; -extern LIBEXPORT StructRNA RNA_Node; -extern LIBEXPORT StructRNA RNA_NodeGroup; -extern LIBEXPORT StructRNA RNA_NodeLink; -extern LIBEXPORT StructRNA RNA_NodeSocket; -extern LIBEXPORT StructRNA RNA_NodeTree; -extern LIBEXPORT StructRNA RNA_NoiseTexture; -extern LIBEXPORT StructRNA RNA_NorController; -extern LIBEXPORT StructRNA RNA_Object; -extern LIBEXPORT StructRNA RNA_ObjectBase; -extern LIBEXPORT StructRNA RNA_ObstacleFluidSettings; -extern LIBEXPORT StructRNA RNA_Operator; -extern LIBEXPORT StructRNA RNA_OperatorFileListElement; -extern LIBEXPORT StructRNA RNA_OperatorMousePath; -extern LIBEXPORT StructRNA RNA_OperatorProperties; -extern LIBEXPORT StructRNA RNA_OperatorStrokeElement; -extern LIBEXPORT StructRNA RNA_OperatorTypeMacro; -extern LIBEXPORT StructRNA RNA_OrController; -extern LIBEXPORT StructRNA RNA_OutflowFluidSettings; -extern LIBEXPORT StructRNA RNA_PackedFile; -extern LIBEXPORT StructRNA RNA_Paint; -extern LIBEXPORT StructRNA RNA_Panel; -extern LIBEXPORT StructRNA RNA_Particle; -extern LIBEXPORT StructRNA RNA_ParticleBrush; -extern LIBEXPORT StructRNA RNA_ParticleDupliWeight; -extern LIBEXPORT StructRNA RNA_ParticleEdit; -extern LIBEXPORT StructRNA RNA_ParticleFluidSettings; -extern LIBEXPORT StructRNA RNA_ParticleHairKey; -extern LIBEXPORT StructRNA RNA_ParticleInstanceModifier; -extern LIBEXPORT StructRNA RNA_ParticleKey; -extern LIBEXPORT StructRNA RNA_ParticleSettings; -extern LIBEXPORT StructRNA RNA_ParticleSettingsTextureSlot; -extern LIBEXPORT StructRNA RNA_ParticleSystem; -extern LIBEXPORT StructRNA RNA_ParticleSystemModifier; -extern LIBEXPORT StructRNA RNA_ParticleTarget; -extern LIBEXPORT StructRNA RNA_PivotConstraint; -extern LIBEXPORT StructRNA RNA_PluginSequence; -extern LIBEXPORT StructRNA RNA_PluginTexture; -extern LIBEXPORT StructRNA RNA_PointCache; -extern LIBEXPORT StructRNA RNA_PointDensity; -extern LIBEXPORT StructRNA RNA_PointDensityTexture; -extern LIBEXPORT StructRNA RNA_PointLamp; -extern LIBEXPORT StructRNA RNA_PointerProperty; -extern LIBEXPORT StructRNA RNA_Pose; -extern LIBEXPORT StructRNA RNA_PoseBone; -extern LIBEXPORT StructRNA RNA_Property; -extern LIBEXPORT StructRNA RNA_PropertyGroup; -extern LIBEXPORT StructRNA RNA_PropertyGroupItem; -extern LIBEXPORT StructRNA RNA_PropertySensor; -extern LIBEXPORT StructRNA RNA_PythonConstraint; -extern LIBEXPORT StructRNA RNA_PythonController; -extern LIBEXPORT StructRNA RNA_RGBANodeSocket; -extern LIBEXPORT StructRNA RNA_RadarSensor; -extern LIBEXPORT StructRNA RNA_RandomSensor; -extern LIBEXPORT StructRNA RNA_RaySensor; -extern LIBEXPORT StructRNA RNA_Region; -extern LIBEXPORT StructRNA RNA_RenderEngine; -extern LIBEXPORT StructRNA RNA_RenderLayer; -extern LIBEXPORT StructRNA RNA_RenderPass; -extern LIBEXPORT StructRNA RNA_RenderResult; -extern LIBEXPORT StructRNA RNA_RenderSettings; -extern LIBEXPORT StructRNA RNA_RigidBodyJointConstraint; -extern LIBEXPORT StructRNA RNA_SPHFluidSettings; -extern LIBEXPORT StructRNA RNA_Scene; -extern LIBEXPORT StructRNA RNA_SceneGameData; -extern LIBEXPORT StructRNA RNA_SceneRenderLayer; -extern LIBEXPORT StructRNA RNA_SceneSequence; -extern LIBEXPORT StructRNA RNA_Scopes; -extern LIBEXPORT StructRNA RNA_Screen; -extern LIBEXPORT StructRNA RNA_ScrewModifier; -extern LIBEXPORT StructRNA RNA_Sculpt; -extern LIBEXPORT StructRNA RNA_Sensor; -extern LIBEXPORT StructRNA RNA_Sequence; -extern LIBEXPORT StructRNA RNA_SequenceColorBalance; -extern LIBEXPORT StructRNA RNA_SequenceCrop; -extern LIBEXPORT StructRNA RNA_SequenceEditor; -extern LIBEXPORT StructRNA RNA_SequenceElement; -extern LIBEXPORT StructRNA RNA_SequenceProxy; -extern LIBEXPORT StructRNA RNA_SequenceTransform; -extern LIBEXPORT StructRNA RNA_ShaderNode; -extern LIBEXPORT StructRNA RNA_ShaderNodeCameraData; -extern LIBEXPORT StructRNA RNA_ShaderNodeCombineRGB; -extern LIBEXPORT StructRNA RNA_ShaderNodeExtendedMaterial; -extern LIBEXPORT StructRNA RNA_ShaderNodeGeometry; -extern LIBEXPORT StructRNA RNA_ShaderNodeHueSaturation; -extern LIBEXPORT StructRNA RNA_ShaderNodeInvert; -extern LIBEXPORT StructRNA RNA_ShaderNodeMapping; -extern LIBEXPORT StructRNA RNA_ShaderNodeMaterial; -extern LIBEXPORT StructRNA RNA_ShaderNodeMath; -extern LIBEXPORT StructRNA RNA_ShaderNodeMixRGB; -extern LIBEXPORT StructRNA RNA_ShaderNodeNormal; -extern LIBEXPORT StructRNA RNA_ShaderNodeOutput; -extern LIBEXPORT StructRNA RNA_ShaderNodeRGB; -extern LIBEXPORT StructRNA RNA_ShaderNodeRGBCurve; -extern LIBEXPORT StructRNA RNA_ShaderNodeRGBToBW; -extern LIBEXPORT StructRNA RNA_ShaderNodeSeparateRGB; -extern LIBEXPORT StructRNA RNA_ShaderNodeSqueeze; -extern LIBEXPORT StructRNA RNA_ShaderNodeTexture; -extern LIBEXPORT StructRNA RNA_ShaderNodeTree; -extern LIBEXPORT StructRNA RNA_ShaderNodeValToRGB; -extern LIBEXPORT StructRNA RNA_ShaderNodeValue; -extern LIBEXPORT StructRNA RNA_ShaderNodeVectorCurve; -extern LIBEXPORT StructRNA RNA_ShaderNodeVectorMath; -extern LIBEXPORT StructRNA RNA_ShapeKey; -extern LIBEXPORT StructRNA RNA_ShapeKeyBezierPoint; -extern LIBEXPORT StructRNA RNA_ShapeKeyCurvePoint; -extern LIBEXPORT StructRNA RNA_ShapeKeyPoint; -extern LIBEXPORT StructRNA RNA_ShrinkwrapConstraint; -extern LIBEXPORT StructRNA RNA_ShrinkwrapModifier; -extern LIBEXPORT StructRNA RNA_SimpleDeformModifier; -extern LIBEXPORT StructRNA RNA_SmokeCollSettings; -extern LIBEXPORT StructRNA RNA_SmokeDomainSettings; -extern LIBEXPORT StructRNA RNA_SmokeFlowSettings; -extern LIBEXPORT StructRNA RNA_SmokeModifier; -extern LIBEXPORT StructRNA RNA_SmoothModifier; -extern LIBEXPORT StructRNA RNA_SoftBodyModifier; -extern LIBEXPORT StructRNA RNA_SoftBodySettings; -extern LIBEXPORT StructRNA RNA_SolidifyModifier; -extern LIBEXPORT StructRNA RNA_Sound; -extern LIBEXPORT StructRNA RNA_SoundSequence; -extern LIBEXPORT StructRNA RNA_Space; -extern LIBEXPORT StructRNA RNA_SpaceConsole; -extern LIBEXPORT StructRNA RNA_SpaceDopeSheetEditor; -extern LIBEXPORT StructRNA RNA_SpaceFileBrowser; -extern LIBEXPORT StructRNA RNA_SpaceGraphEditor; -extern LIBEXPORT StructRNA RNA_SpaceImageEditor; -extern LIBEXPORT StructRNA RNA_SpaceInfo; -extern LIBEXPORT StructRNA RNA_SpaceLogicEditor; -extern LIBEXPORT StructRNA RNA_SpaceNLA; -extern LIBEXPORT StructRNA RNA_SpaceNodeEditor; -extern LIBEXPORT StructRNA RNA_SpaceOutliner; -extern LIBEXPORT StructRNA RNA_SpaceProperties; -extern LIBEXPORT StructRNA RNA_SpaceSequenceEditor; -extern LIBEXPORT StructRNA RNA_SpaceTextEditor; -extern LIBEXPORT StructRNA RNA_SpaceTimeline; -extern LIBEXPORT StructRNA RNA_SpaceUVEditor; -extern LIBEXPORT StructRNA RNA_SpaceUserPreferences; -extern LIBEXPORT StructRNA RNA_SpaceView3D; -extern LIBEXPORT StructRNA RNA_SpeedControlSequence; -extern LIBEXPORT StructRNA RNA_Spline; -extern LIBEXPORT StructRNA RNA_SplineIKConstraint; -extern LIBEXPORT StructRNA RNA_SpotLamp; -extern LIBEXPORT StructRNA RNA_StretchToConstraint; -extern LIBEXPORT StructRNA RNA_StringProperty; -extern LIBEXPORT StructRNA RNA_Struct; -extern LIBEXPORT StructRNA RNA_StucciTexture; -extern LIBEXPORT StructRNA RNA_SubsurfModifier; -extern LIBEXPORT StructRNA RNA_SunLamp; -extern LIBEXPORT StructRNA RNA_SurfaceCurve; -extern LIBEXPORT StructRNA RNA_SurfaceModifier; -extern LIBEXPORT StructRNA RNA_TexMapping; -extern LIBEXPORT StructRNA RNA_Text; -extern LIBEXPORT StructRNA RNA_TextBox; -extern LIBEXPORT StructRNA RNA_TextCharacterFormat; -extern LIBEXPORT StructRNA RNA_TextCurve; -extern LIBEXPORT StructRNA RNA_TextLine; -extern LIBEXPORT StructRNA RNA_TextMarker; -extern LIBEXPORT StructRNA RNA_Texture; -extern LIBEXPORT StructRNA RNA_TextureNode; -extern LIBEXPORT StructRNA RNA_TextureNodeBricks; -extern LIBEXPORT StructRNA RNA_TextureNodeChecker; -extern LIBEXPORT StructRNA RNA_TextureNodeCompose; -extern LIBEXPORT StructRNA RNA_TextureNodeCoordinates; -extern LIBEXPORT StructRNA RNA_TextureNodeCurveRGB; -extern LIBEXPORT StructRNA RNA_TextureNodeCurveTime; -extern LIBEXPORT StructRNA RNA_TextureNodeDecompose; -extern LIBEXPORT StructRNA RNA_TextureNodeDistance; -extern LIBEXPORT StructRNA RNA_TextureNodeHueSaturation; -extern LIBEXPORT StructRNA RNA_TextureNodeImage; -extern LIBEXPORT StructRNA RNA_TextureNodeInvert; -extern LIBEXPORT StructRNA RNA_TextureNodeMath; -extern LIBEXPORT StructRNA RNA_TextureNodeMixRGB; -extern LIBEXPORT StructRNA RNA_TextureNodeOutput; -extern LIBEXPORT StructRNA RNA_TextureNodeRGBToBW; -extern LIBEXPORT StructRNA RNA_TextureNodeRotate; -extern LIBEXPORT StructRNA RNA_TextureNodeScale; -extern LIBEXPORT StructRNA RNA_TextureNodeTexture; -extern LIBEXPORT StructRNA RNA_TextureNodeTranslate; -extern LIBEXPORT StructRNA RNA_TextureNodeTree; -extern LIBEXPORT StructRNA RNA_TextureNodeValToNor; -extern LIBEXPORT StructRNA RNA_TextureNodeValToRGB; -extern LIBEXPORT StructRNA RNA_TextureNodeViewer; -extern LIBEXPORT StructRNA RNA_TextureSlot; -extern LIBEXPORT StructRNA RNA_Theme; -extern LIBEXPORT StructRNA RNA_ThemeAudioWindow; -extern LIBEXPORT StructRNA RNA_ThemeBoneColorSet; -extern LIBEXPORT StructRNA RNA_ThemeConsole; -extern LIBEXPORT StructRNA RNA_ThemeDopeSheet; -extern LIBEXPORT StructRNA RNA_ThemeFileBrowser; -extern LIBEXPORT StructRNA RNA_ThemeFontStyle; -extern LIBEXPORT StructRNA RNA_ThemeGraphEditor; -extern LIBEXPORT StructRNA RNA_ThemeImageEditor; -extern LIBEXPORT StructRNA RNA_ThemeInfo; -extern LIBEXPORT StructRNA RNA_ThemeLogicEditor; -extern LIBEXPORT StructRNA RNA_ThemeNLAEditor; -extern LIBEXPORT StructRNA RNA_ThemeNodeEditor; -extern LIBEXPORT StructRNA RNA_ThemeOutliner; -extern LIBEXPORT StructRNA RNA_ThemeProperties; -extern LIBEXPORT StructRNA RNA_ThemeSequenceEditor; -extern LIBEXPORT StructRNA RNA_ThemeStyle; -extern LIBEXPORT StructRNA RNA_ThemeTextEditor; -extern LIBEXPORT StructRNA RNA_ThemeTimeline; -extern LIBEXPORT StructRNA RNA_ThemeUserInterface; -extern LIBEXPORT StructRNA RNA_ThemeUserPreferences; -extern LIBEXPORT StructRNA RNA_ThemeView3D; -extern LIBEXPORT StructRNA RNA_ThemeWidgetColors; -extern LIBEXPORT StructRNA RNA_ThemeWidgetStateColors; -extern LIBEXPORT StructRNA RNA_TimelineMarker; -extern LIBEXPORT StructRNA RNA_Timer; -extern LIBEXPORT StructRNA RNA_ToolSettings; -extern LIBEXPORT StructRNA RNA_TouchSensor; -extern LIBEXPORT StructRNA RNA_TrackToConstraint; -extern LIBEXPORT StructRNA RNA_TransformConstraint; -extern LIBEXPORT StructRNA RNA_TransformSequence; -extern LIBEXPORT StructRNA RNA_UILayout; -extern LIBEXPORT StructRNA RNA_UIListItem; -extern LIBEXPORT StructRNA RNA_UVProjectModifier; -extern LIBEXPORT StructRNA RNA_UVProjector; -extern LIBEXPORT StructRNA RNA_UnitSettings; -extern LIBEXPORT StructRNA RNA_UnknownType; -extern LIBEXPORT StructRNA RNA_UserPreferences; -extern LIBEXPORT StructRNA RNA_UserPreferencesEdit; -extern LIBEXPORT StructRNA RNA_UserPreferencesFilePaths; -extern LIBEXPORT StructRNA RNA_UserPreferencesSystem; -extern LIBEXPORT StructRNA RNA_UserPreferencesView; -extern LIBEXPORT StructRNA RNA_UserSolidLight; -extern LIBEXPORT StructRNA RNA_ValueNodeSocket; -extern LIBEXPORT StructRNA RNA_VectorFont; -extern LIBEXPORT StructRNA RNA_VectorNodeSocket; -extern LIBEXPORT StructRNA RNA_VertexGroup; -extern LIBEXPORT StructRNA RNA_VertexGroupElement; -extern LIBEXPORT StructRNA RNA_VertexPaint; -extern LIBEXPORT StructRNA RNA_VoronoiTexture; -extern LIBEXPORT StructRNA RNA_VoxelData; -extern LIBEXPORT StructRNA RNA_VoxelDataTexture; -extern LIBEXPORT StructRNA RNA_WarpModifier; -extern LIBEXPORT StructRNA RNA_WaveModifier; -extern LIBEXPORT StructRNA RNA_Window; -extern LIBEXPORT StructRNA RNA_WindowManager; -extern LIBEXPORT StructRNA RNA_WipeSequence; -extern LIBEXPORT StructRNA RNA_WoodTexture; -extern LIBEXPORT StructRNA RNA_World; -extern LIBEXPORT StructRNA RNA_WorldAmbientOcclusion; -extern LIBEXPORT StructRNA RNA_WorldMistSettings; -extern LIBEXPORT StructRNA RNA_WorldStarsSettings; -extern LIBEXPORT StructRNA RNA_WorldTextureSlot; -extern LIBEXPORT StructRNA RNA_XnorController; -extern LIBEXPORT StructRNA RNA_XorController; +extern StructRNA RNA_Action; +extern StructRNA RNA_ActionConstraint; +extern StructRNA RNA_ActionGroup; +extern StructRNA RNA_Actuator; +extern StructRNA RNA_ActuatorSensor; +extern StructRNA RNA_Addon; +extern StructRNA RNA_AdjustmentSequence; +extern StructRNA RNA_AlwaysSensor; +extern StructRNA RNA_AndController; +extern StructRNA RNA_AnimData; +extern StructRNA RNA_AnimViz; +extern StructRNA RNA_AnimVizMotionPaths; +extern StructRNA RNA_AnimVizOnionSkinning; +extern StructRNA RNA_AnyType; +extern StructRNA RNA_Area; +extern StructRNA RNA_AreaLamp; +extern StructRNA RNA_Armature; +extern StructRNA RNA_ArmatureModifier; +extern StructRNA RNA_ArmatureSensor; +extern StructRNA RNA_ArrayModifier; +extern StructRNA RNA_BackgroundImage; +extern StructRNA RNA_BevelModifier; +extern StructRNA RNA_BezierSplinePoint; +extern StructRNA RNA_BlendData; +extern StructRNA RNA_BlendTexture; +extern StructRNA RNA_BlenderRNA; +extern StructRNA RNA_BoidRule; +extern StructRNA RNA_BoidRuleAverageSpeed; +extern StructRNA RNA_BoidRuleAvoid; +extern StructRNA RNA_BoidRuleAvoidCollision; +extern StructRNA RNA_BoidRuleFight; +extern StructRNA RNA_BoidRuleFollowLeader; +extern StructRNA RNA_BoidRuleGoal; +extern StructRNA RNA_BoidSettings; +extern StructRNA RNA_BoidState; +extern StructRNA RNA_Bone; +extern StructRNA RNA_BoneGroup; +extern StructRNA RNA_BooleanModifier; +extern StructRNA RNA_BooleanProperty; +extern StructRNA RNA_Brush; +extern StructRNA RNA_BrushTextureSlot; +extern StructRNA RNA_BuildModifier; +extern StructRNA RNA_Camera; +extern StructRNA RNA_CastModifier; +extern StructRNA RNA_ChildOfConstraint; +extern StructRNA RNA_ChildParticle; +extern StructRNA RNA_ClampToConstraint; +extern StructRNA RNA_ClothCollisionSettings; +extern StructRNA RNA_ClothModifier; +extern StructRNA RNA_ClothSettings; +extern StructRNA RNA_CloudsTexture; +extern StructRNA RNA_CollectionProperty; +extern StructRNA RNA_CollisionModifier; +extern StructRNA RNA_CollisionSensor; +extern StructRNA RNA_CollisionSettings; +extern StructRNA RNA_ColorRamp; +extern StructRNA RNA_ColorRampElement; +extern StructRNA RNA_ColorSequence; +extern StructRNA RNA_CompositorNode; +extern StructRNA RNA_CompositorNodeAlphaOver; +extern StructRNA RNA_CompositorNodeBilateralblur; +extern StructRNA RNA_CompositorNodeBlur; +extern StructRNA RNA_CompositorNodeBrightContrast; +extern StructRNA RNA_CompositorNodeChannelMatte; +extern StructRNA RNA_CompositorNodeChromaMatte; +extern StructRNA RNA_CompositorNodeColorMatte; +extern StructRNA RNA_CompositorNodeColorSpill; +extern StructRNA RNA_CompositorNodeCombHSVA; +extern StructRNA RNA_CompositorNodeCombRGBA; +extern StructRNA RNA_CompositorNodeCombYCCA; +extern StructRNA RNA_CompositorNodeCombYUVA; +extern StructRNA RNA_CompositorNodeComposite; +extern StructRNA RNA_CompositorNodeCrop; +extern StructRNA RNA_CompositorNodeCurveRGB; +extern StructRNA RNA_CompositorNodeCurveVec; +extern StructRNA RNA_CompositorNodeDBlur; +extern StructRNA RNA_CompositorNodeDefocus; +extern StructRNA RNA_CompositorNodeDiffMatte; +extern StructRNA RNA_CompositorNodeDilateErode; +extern StructRNA RNA_CompositorNodeDisplace; +extern StructRNA RNA_CompositorNodeDistanceMatte; +extern StructRNA RNA_CompositorNodeFilter; +extern StructRNA RNA_CompositorNodeFlip; +extern StructRNA RNA_CompositorNodeGamma; +extern StructRNA RNA_CompositorNodeGlare; +extern StructRNA RNA_CompositorNodeHueSat; +extern StructRNA RNA_CompositorNodeIDMask; +extern StructRNA RNA_CompositorNodeImage; +extern StructRNA RNA_CompositorNodeInvert; +extern StructRNA RNA_CompositorNodeLensdist; +extern StructRNA RNA_CompositorNodeLevels; +extern StructRNA RNA_CompositorNodeLumaMatte; +extern StructRNA RNA_CompositorNodeMapUV; +extern StructRNA RNA_CompositorNodeMapValue; +extern StructRNA RNA_CompositorNodeMath; +extern StructRNA RNA_CompositorNodeMixRGB; +extern StructRNA RNA_CompositorNodeNormal; +extern StructRNA RNA_CompositorNodeNormalize; +extern StructRNA RNA_CompositorNodeOutputFile; +extern StructRNA RNA_CompositorNodePremulKey; +extern StructRNA RNA_CompositorNodeRGB; +extern StructRNA RNA_CompositorNodeRGBToBW; +extern StructRNA RNA_CompositorNodeRLayers; +extern StructRNA RNA_CompositorNodeRotate; +extern StructRNA RNA_CompositorNodeScale; +extern StructRNA RNA_CompositorNodeSepHSVA; +extern StructRNA RNA_CompositorNodeSepRGBA; +extern StructRNA RNA_CompositorNodeSepYCCA; +extern StructRNA RNA_CompositorNodeSepYUVA; +extern StructRNA RNA_CompositorNodeSetAlpha; +extern StructRNA RNA_CompositorNodeSplitViewer; +extern StructRNA RNA_CompositorNodeTexture; +extern StructRNA RNA_CompositorNodeTime; +extern StructRNA RNA_CompositorNodeTonemap; +extern StructRNA RNA_CompositorNodeTranslate; +extern StructRNA RNA_CompositorNodeTree; +extern StructRNA RNA_CompositorNodeValToRGB; +extern StructRNA RNA_CompositorNodeValue; +extern StructRNA RNA_CompositorNodeVecBlur; +extern StructRNA RNA_CompositorNodeViewer; +extern StructRNA RNA_CompositorNodeZcombine; +extern StructRNA RNA_ConsoleLine; +extern StructRNA RNA_Constraint; +extern StructRNA RNA_ConstraintTarget; +extern StructRNA RNA_Context; +extern StructRNA RNA_ControlFluidSettings; +extern StructRNA RNA_Controller; +extern StructRNA RNA_CopyLocationConstraint; +extern StructRNA RNA_CopyRotationConstraint; +extern StructRNA RNA_CopyScaleConstraint; +extern StructRNA RNA_CopyTransformsConstraint; +extern StructRNA RNA_Curve; +extern StructRNA RNA_CurveMap; +extern StructRNA RNA_CurveMapPoint; +extern StructRNA RNA_CurveMapping; +extern StructRNA RNA_CurveModifier; +extern StructRNA RNA_CurvePoint; +extern StructRNA RNA_DampedTrackConstraint; +extern StructRNA RNA_DecimateModifier; +extern StructRNA RNA_DelaySensor; +extern StructRNA RNA_DisplaceModifier; +extern StructRNA RNA_DistortedNoiseTexture; +extern StructRNA RNA_DomainFluidSettings; +extern StructRNA RNA_Driver; +extern StructRNA RNA_DriverTarget; +extern StructRNA RNA_DriverVariable; +extern StructRNA RNA_DupliObject; +extern StructRNA RNA_EdgeSplitModifier; +extern StructRNA RNA_EditBone; +extern StructRNA RNA_EffectSequence; +extern StructRNA RNA_EffectorWeights; +extern StructRNA RNA_EnumProperty; +extern StructRNA RNA_EnumPropertyItem; +extern StructRNA RNA_EnvironmentMap; +extern StructRNA RNA_EnvironmentMapTexture; +extern StructRNA RNA_Event; +extern StructRNA RNA_ExplodeModifier; +extern StructRNA RNA_ExpressionController; +extern StructRNA RNA_FCurve; +extern StructRNA RNA_FCurveSample; +extern StructRNA RNA_FModifier; +extern StructRNA RNA_FModifierCycles; +extern StructRNA RNA_FModifierEnvelope; +extern StructRNA RNA_FModifierEnvelopeControlPoint; +extern StructRNA RNA_FModifierFunctionGenerator; +extern StructRNA RNA_FModifierGenerator; +extern StructRNA RNA_FModifierLimits; +extern StructRNA RNA_FModifierNoise; +extern StructRNA RNA_FModifierPython; +extern StructRNA RNA_FModifierStepped; +extern StructRNA RNA_FieldSettings; +extern StructRNA RNA_FileSelectParams; +extern StructRNA RNA_FloatProperty; +extern StructRNA RNA_FloorConstraint; +extern StructRNA RNA_FluidFluidSettings; +extern StructRNA RNA_FluidSettings; +extern StructRNA RNA_FluidSimulationModifier; +extern StructRNA RNA_FollowPathConstraint; +extern StructRNA RNA_Function; +extern StructRNA RNA_GPencilFrame; +extern StructRNA RNA_GPencilLayer; +extern StructRNA RNA_GPencilStroke; +extern StructRNA RNA_GPencilStrokePoint; +extern StructRNA RNA_GameBooleanProperty; +extern StructRNA RNA_GameFloatProperty; +extern StructRNA RNA_GameIntProperty; +extern StructRNA RNA_GameObjectSettings; +extern StructRNA RNA_GameProperty; +extern StructRNA RNA_GameSoftBodySettings; +extern StructRNA RNA_GameStringProperty; +extern StructRNA RNA_GameTimerProperty; +extern StructRNA RNA_GlowSequence; +extern StructRNA RNA_GreasePencil; +extern StructRNA RNA_Group; +extern StructRNA RNA_Header; +extern StructRNA RNA_HemiLamp; +extern StructRNA RNA_Histogram; +extern StructRNA RNA_HookModifier; +extern StructRNA RNA_ID; +extern StructRNA RNA_IKParam; +extern StructRNA RNA_Image; +extern StructRNA RNA_ImagePaint; +extern StructRNA RNA_ImageSequence; +extern StructRNA RNA_ImageTexture; +extern StructRNA RNA_ImageUser; +extern StructRNA RNA_InflowFluidSettings; +extern StructRNA RNA_IntProperty; +extern StructRNA RNA_Itasc; +extern StructRNA RNA_JoystickSensor; +extern StructRNA RNA_Key; +extern StructRNA RNA_KeyConfig; +extern StructRNA RNA_KeyMap; +extern StructRNA RNA_KeyMapItem; +extern StructRNA RNA_KeyboardSensor; +extern StructRNA RNA_Keyframe; +extern StructRNA RNA_KeyingSet; +extern StructRNA RNA_KeyingSetInfo; +extern StructRNA RNA_KeyingSetPath; +extern StructRNA RNA_KinematicConstraint; +extern StructRNA RNA_Lamp; +extern StructRNA RNA_LampSkySettings; +extern StructRNA RNA_LampTextureSlot; +extern StructRNA RNA_Lattice; +extern StructRNA RNA_LatticeModifier; +extern StructRNA RNA_LatticePoint; +extern StructRNA RNA_Library; +extern StructRNA RNA_LimitDistanceConstraint; +extern StructRNA RNA_LimitLocationConstraint; +extern StructRNA RNA_LimitRotationConstraint; +extern StructRNA RNA_LimitScaleConstraint; +extern StructRNA RNA_LockedTrackConstraint; +extern StructRNA RNA_Macro; +extern StructRNA RNA_MagicTexture; +extern StructRNA RNA_MarbleTexture; +extern StructRNA RNA_MaskModifier; +extern StructRNA RNA_Material; +extern StructRNA RNA_MaterialHalo; +extern StructRNA RNA_MaterialPhysics; +extern StructRNA RNA_MaterialRaytraceMirror; +extern StructRNA RNA_MaterialRaytraceTransparency; +extern StructRNA RNA_MaterialSlot; +extern StructRNA RNA_MaterialStrand; +extern StructRNA RNA_MaterialSubsurfaceScattering; +extern StructRNA RNA_MaterialTextureSlot; +extern StructRNA RNA_MaterialVolume; +extern StructRNA RNA_Menu; +extern StructRNA RNA_Mesh; +extern StructRNA RNA_MeshColor; +extern StructRNA RNA_MeshColorLayer; +extern StructRNA RNA_MeshDeformModifier; +extern StructRNA RNA_MeshEdge; +extern StructRNA RNA_MeshFace; +extern StructRNA RNA_MeshFloatProperty; +extern StructRNA RNA_MeshFloatPropertyLayer; +extern StructRNA RNA_MeshIntProperty; +extern StructRNA RNA_MeshIntPropertyLayer; +extern StructRNA RNA_MeshSticky; +extern StructRNA RNA_MeshStringProperty; +extern StructRNA RNA_MeshStringPropertyLayer; +extern StructRNA RNA_MeshTextureFace; +extern StructRNA RNA_MeshTextureFaceLayer; +extern StructRNA RNA_MeshVertex; +extern StructRNA RNA_MessageSensor; +extern StructRNA RNA_MetaBall; +extern StructRNA RNA_MetaElement; +extern StructRNA RNA_MetaSequence; +extern StructRNA RNA_MirrorModifier; +extern StructRNA RNA_Modifier; +extern StructRNA RNA_MotionPath; +extern StructRNA RNA_MotionPathVert; +extern StructRNA RNA_MouseSensor; +extern StructRNA RNA_MovieSequence; +extern StructRNA RNA_MulticamSequence; +extern StructRNA RNA_MultiresModifier; +extern StructRNA RNA_MusgraveTexture; +extern StructRNA RNA_NandController; +extern StructRNA RNA_NearSensor; +extern StructRNA RNA_NlaStrip; +extern StructRNA RNA_NlaTrack; +extern StructRNA RNA_Node; +extern StructRNA RNA_NodeGroup; +extern StructRNA RNA_NodeLink; +extern StructRNA RNA_NodeSocket; +extern StructRNA RNA_NodeTree; +extern StructRNA RNA_NoiseTexture; +extern StructRNA RNA_NorController; +extern StructRNA RNA_Object; +extern StructRNA RNA_ObjectBase; +extern StructRNA RNA_ObstacleFluidSettings; +extern StructRNA RNA_Operator; +extern StructRNA RNA_OperatorFileListElement; +extern StructRNA RNA_OperatorMousePath; +extern StructRNA RNA_OperatorProperties; +extern StructRNA RNA_OperatorStrokeElement; +extern StructRNA RNA_OperatorTypeMacro; +extern StructRNA RNA_OrController; +extern StructRNA RNA_OutflowFluidSettings; +extern StructRNA RNA_PackedFile; +extern StructRNA RNA_Paint; +extern StructRNA RNA_Panel; +extern StructRNA RNA_Particle; +extern StructRNA RNA_ParticleBrush; +extern StructRNA RNA_ParticleDupliWeight; +extern StructRNA RNA_ParticleEdit; +extern StructRNA RNA_ParticleFluidSettings; +extern StructRNA RNA_ParticleHairKey; +extern StructRNA RNA_ParticleInstanceModifier; +extern StructRNA RNA_ParticleKey; +extern StructRNA RNA_ParticleSettings; +extern StructRNA RNA_ParticleSettingsTextureSlot; +extern StructRNA RNA_ParticleSystem; +extern StructRNA RNA_ParticleSystemModifier; +extern StructRNA RNA_ParticleTarget; +extern StructRNA RNA_PivotConstraint; +extern StructRNA RNA_PluginSequence; +extern StructRNA RNA_PluginTexture; +extern StructRNA RNA_PointCache; +extern StructRNA RNA_PointDensity; +extern StructRNA RNA_PointDensityTexture; +extern StructRNA RNA_PointLamp; +extern StructRNA RNA_PointerProperty; +extern StructRNA RNA_Pose; +extern StructRNA RNA_PoseBone; +extern StructRNA RNA_Property; +extern StructRNA RNA_PropertyGroup; +extern StructRNA RNA_PropertyGroupItem; +extern StructRNA RNA_PropertySensor; +extern StructRNA RNA_PythonConstraint; +extern StructRNA RNA_PythonController; +extern StructRNA RNA_RGBANodeSocket; +extern StructRNA RNA_RadarSensor; +extern StructRNA RNA_RandomSensor; +extern StructRNA RNA_RaySensor; +extern StructRNA RNA_Region; +extern StructRNA RNA_RenderEngine; +extern StructRNA RNA_RenderLayer; +extern StructRNA RNA_RenderPass; +extern StructRNA RNA_RenderResult; +extern StructRNA RNA_RenderSettings; +extern StructRNA RNA_RigidBodyJointConstraint; +extern StructRNA RNA_SPHFluidSettings; +extern StructRNA RNA_Scene; +extern StructRNA RNA_SceneGameData; +extern StructRNA RNA_SceneRenderLayer; +extern StructRNA RNA_SceneSequence; +extern StructRNA RNA_SceneObjects; +extern StructRNA RNA_Scopes; +extern StructRNA RNA_Screen; +extern StructRNA RNA_ScrewModifier; +extern StructRNA RNA_Sculpt; +extern StructRNA RNA_Sensor; +extern StructRNA RNA_Sequence; +extern StructRNA RNA_SequenceColorBalance; +extern StructRNA RNA_SequenceCrop; +extern StructRNA RNA_SequenceEditor; +extern StructRNA RNA_SequenceElement; +extern StructRNA RNA_SequenceProxy; +extern StructRNA RNA_SequenceTransform; +extern StructRNA RNA_ShaderNode; +extern StructRNA RNA_ShaderNodeCameraData; +extern StructRNA RNA_ShaderNodeCombineRGB; +extern StructRNA RNA_ShaderNodeExtendedMaterial; +extern StructRNA RNA_ShaderNodeGeometry; +extern StructRNA RNA_ShaderNodeHueSaturation; +extern StructRNA RNA_ShaderNodeInvert; +extern StructRNA RNA_ShaderNodeMapping; +extern StructRNA RNA_ShaderNodeMaterial; +extern StructRNA RNA_ShaderNodeMath; +extern StructRNA RNA_ShaderNodeMixRGB; +extern StructRNA RNA_ShaderNodeNormal; +extern StructRNA RNA_ShaderNodeOutput; +extern StructRNA RNA_ShaderNodeRGB; +extern StructRNA RNA_ShaderNodeRGBCurve; +extern StructRNA RNA_ShaderNodeRGBToBW; +extern StructRNA RNA_ShaderNodeSeparateRGB; +extern StructRNA RNA_ShaderNodeSqueeze; +extern StructRNA RNA_ShaderNodeTexture; +extern StructRNA RNA_ShaderNodeTree; +extern StructRNA RNA_ShaderNodeValToRGB; +extern StructRNA RNA_ShaderNodeValue; +extern StructRNA RNA_ShaderNodeVectorCurve; +extern StructRNA RNA_ShaderNodeVectorMath; +extern StructRNA RNA_ShapeKey; +extern StructRNA RNA_ShapeKeyBezierPoint; +extern StructRNA RNA_ShapeKeyCurvePoint; +extern StructRNA RNA_ShapeKeyPoint; +extern StructRNA RNA_ShrinkwrapConstraint; +extern StructRNA RNA_ShrinkwrapModifier; +extern StructRNA RNA_SimpleDeformModifier; +extern StructRNA RNA_SmokeCollSettings; +extern StructRNA RNA_SmokeDomainSettings; +extern StructRNA RNA_SmokeFlowSettings; +extern StructRNA RNA_SmokeModifier; +extern StructRNA RNA_SmoothModifier; +extern StructRNA RNA_SoftBodyModifier; +extern StructRNA RNA_SoftBodySettings; +extern StructRNA RNA_SolidifyModifier; +extern StructRNA RNA_Sound; +extern StructRNA RNA_SoundSequence; +extern StructRNA RNA_Space; +extern StructRNA RNA_SpaceConsole; +extern StructRNA RNA_SpaceDopeSheetEditor; +extern StructRNA RNA_SpaceFileBrowser; +extern StructRNA RNA_SpaceGraphEditor; +extern StructRNA RNA_SpaceImageEditor; +extern StructRNA RNA_SpaceInfo; +extern StructRNA RNA_SpaceLogicEditor; +extern StructRNA RNA_SpaceNLA; +extern StructRNA RNA_SpaceNodeEditor; +extern StructRNA RNA_SpaceOutliner; +extern StructRNA RNA_SpaceProperties; +extern StructRNA RNA_SpaceSequenceEditor; +extern StructRNA RNA_SpaceTextEditor; +extern StructRNA RNA_SpaceTimeline; +extern StructRNA RNA_SpaceUVEditor; +extern StructRNA RNA_SpaceUserPreferences; +extern StructRNA RNA_SpaceView3D; +extern StructRNA RNA_SpeedControlSequence; +extern StructRNA RNA_Spline; +extern StructRNA RNA_SplineIKConstraint; +extern StructRNA RNA_SpotLamp; +extern StructRNA RNA_StretchToConstraint; +extern StructRNA RNA_StringProperty; +extern StructRNA RNA_Struct; +extern StructRNA RNA_StucciTexture; +extern StructRNA RNA_SubsurfModifier; +extern StructRNA RNA_SunLamp; +extern StructRNA RNA_SurfaceCurve; +extern StructRNA RNA_SurfaceModifier; +extern StructRNA RNA_TexMapping; +extern StructRNA RNA_Text; +extern StructRNA RNA_TextBox; +extern StructRNA RNA_TextCharacterFormat; +extern StructRNA RNA_TextCurve; +extern StructRNA RNA_TextLine; +extern StructRNA RNA_TextMarker; +extern StructRNA RNA_Texture; +extern StructRNA RNA_TextureNode; +extern StructRNA RNA_TextureNodeBricks; +extern StructRNA RNA_TextureNodeChecker; +extern StructRNA RNA_TextureNodeCompose; +extern StructRNA RNA_TextureNodeCoordinates; +extern StructRNA RNA_TextureNodeCurveRGB; +extern StructRNA RNA_TextureNodeCurveTime; +extern StructRNA RNA_TextureNodeDecompose; +extern StructRNA RNA_TextureNodeDistance; +extern StructRNA RNA_TextureNodeHueSaturation; +extern StructRNA RNA_TextureNodeImage; +extern StructRNA RNA_TextureNodeInvert; +extern StructRNA RNA_TextureNodeMath; +extern StructRNA RNA_TextureNodeMixRGB; +extern StructRNA RNA_TextureNodeOutput; +extern StructRNA RNA_TextureNodeRGBToBW; +extern StructRNA RNA_TextureNodeRotate; +extern StructRNA RNA_TextureNodeScale; +extern StructRNA RNA_TextureNodeTexture; +extern StructRNA RNA_TextureNodeTranslate; +extern StructRNA RNA_TextureNodeTree; +extern StructRNA RNA_TextureNodeValToNor; +extern StructRNA RNA_TextureNodeValToRGB; +extern StructRNA RNA_TextureNodeViewer; +extern StructRNA RNA_TextureSlot; +extern StructRNA RNA_Theme; +extern StructRNA RNA_ThemeAudioWindow; +extern StructRNA RNA_ThemeBoneColorSet; +extern StructRNA RNA_ThemeConsole; +extern StructRNA RNA_ThemeDopeSheet; +extern StructRNA RNA_ThemeFileBrowser; +extern StructRNA RNA_ThemeFontStyle; +extern StructRNA RNA_ThemeGraphEditor; +extern StructRNA RNA_ThemeImageEditor; +extern StructRNA RNA_ThemeInfo; +extern StructRNA RNA_ThemeLogicEditor; +extern StructRNA RNA_ThemeNLAEditor; +extern StructRNA RNA_ThemeNodeEditor; +extern StructRNA RNA_ThemeOutliner; +extern StructRNA RNA_ThemeProperties; +extern StructRNA RNA_ThemeSequenceEditor; +extern StructRNA RNA_ThemeStyle; +extern StructRNA RNA_ThemeTextEditor; +extern StructRNA RNA_ThemeTimeline; +extern StructRNA RNA_ThemeUserInterface; +extern StructRNA RNA_ThemeUserPreferences; +extern StructRNA RNA_ThemeView3D; +extern StructRNA RNA_ThemeWidgetColors; +extern StructRNA RNA_ThemeWidgetStateColors; +extern StructRNA RNA_TimelineMarker; +extern StructRNA RNA_Timer; +extern StructRNA RNA_ToolSettings; +extern StructRNA RNA_TouchSensor; +extern StructRNA RNA_TrackToConstraint; +extern StructRNA RNA_TransformConstraint; +extern StructRNA RNA_TransformSequence; +extern StructRNA RNA_UILayout; +extern StructRNA RNA_UIListItem; +extern StructRNA RNA_UVProjectModifier; +extern StructRNA RNA_UVProjector; +extern StructRNA RNA_UnitSettings; +extern StructRNA RNA_UnknownType; +extern StructRNA RNA_UserPreferences; +extern StructRNA RNA_UserPreferencesEdit; +extern StructRNA RNA_UserPreferencesFilePaths; +extern StructRNA RNA_UserPreferencesSystem; +extern StructRNA RNA_UserPreferencesView; +extern StructRNA RNA_UserSolidLight; +extern StructRNA RNA_ValueNodeSocket; +extern StructRNA RNA_VectorFont; +extern StructRNA RNA_VectorNodeSocket; +extern StructRNA RNA_VertexGroup; +extern StructRNA RNA_VertexGroupElement; +extern StructRNA RNA_VertexPaint; +extern StructRNA RNA_VoronoiTexture; +extern StructRNA RNA_VoxelData; +extern StructRNA RNA_VoxelDataTexture; +extern StructRNA RNA_WarpModifier; +extern StructRNA RNA_WaveModifier; +extern StructRNA RNA_Window; +extern StructRNA RNA_WindowManager; +extern StructRNA RNA_WipeSequence; +extern StructRNA RNA_WoodTexture; +extern StructRNA RNA_World; +extern StructRNA RNA_WorldAmbientOcclusion; +extern StructRNA RNA_WorldMistSettings; +extern StructRNA RNA_WorldStarsSettings; +extern StructRNA RNA_WorldTextureSlot; +extern StructRNA RNA_XnorController; +extern StructRNA RNA_XorController; + /* Pointer * @@ -585,56 +587,55 @@ extern LIBEXPORT StructRNA RNA_XorController; * There is also a way to get a pointer with the information about all structs. */ -LIBEXPORT void RNA_main_pointer_create(struct Main *main, PointerRNA *r_ptr); -LIBEXPORT void RNA_id_pointer_create(struct ID *id, PointerRNA *r_ptr); -LIBEXPORT void RNA_pointer_create(struct ID *id, StructRNA *type, void *data, PointerRNA *r_ptr); +void RNA_main_pointer_create(struct Main *main, PointerRNA *r_ptr); +void RNA_id_pointer_create(struct ID *id, PointerRNA *r_ptr); +void RNA_pointer_create(struct ID *id, StructRNA *type, void *data, PointerRNA *r_ptr); -LIBEXPORT void RNA_blender_rna_pointer_create(PointerRNA *r_ptr); -LIBEXPORT void RNA_pointer_recast(PointerRNA *ptr, PointerRNA *r_ptr); +void RNA_blender_rna_pointer_create(PointerRNA *r_ptr); +void RNA_pointer_recast(PointerRNA *ptr, PointerRNA *r_ptr); -extern LIBEXPORT const PointerRNA PointerRNA_NULL; +extern const PointerRNA PointerRNA_NULL; /* Structs */ -LIBEXPORT const char *RNA_struct_identifier(StructRNA *type); -LIBEXPORT const char *RNA_struct_ui_name(StructRNA *type); -LIBEXPORT const char *RNA_struct_ui_description(StructRNA *type); -LIBEXPORT int RNA_struct_ui_icon(StructRNA *type); +const char *RNA_struct_identifier(StructRNA *type); +const char *RNA_struct_ui_name(StructRNA *type); +const char *RNA_struct_ui_description(StructRNA *type); +int RNA_struct_ui_icon(StructRNA *type); -LIBEXPORT PropertyRNA *RNA_struct_name_property(StructRNA *type); -LIBEXPORT PropertyRNA *RNA_struct_iterator_property(StructRNA *type); -LIBEXPORT StructRNA *RNA_struct_base(StructRNA *type); +PropertyRNA *RNA_struct_name_property(StructRNA *type); +PropertyRNA *RNA_struct_iterator_property(StructRNA *type); +StructRNA *RNA_struct_base(StructRNA *type); -LIBEXPORT int RNA_struct_is_ID(StructRNA *type); -LIBEXPORT int RNA_struct_is_a(StructRNA *type, StructRNA *srna); +int RNA_struct_is_ID(StructRNA *type); +int RNA_struct_is_a(StructRNA *type, StructRNA *srna); -LIBEXPORT StructRegisterFunc RNA_struct_register(StructRNA *type); -LIBEXPORT StructUnregisterFunc RNA_struct_unregister(StructRNA *type); -LIBEXPORT void **RNA_struct_instance(PointerRNA *ptr); +StructRegisterFunc RNA_struct_register(StructRNA *type); +StructUnregisterFunc RNA_struct_unregister(StructRNA *type); void **RNA_struct_instance(PointerRNA *ptr); -LIBEXPORT void *RNA_struct_py_type_get(StructRNA *srna); -LIBEXPORT void RNA_struct_py_type_set(StructRNA *srna, void *py_type); +void *RNA_struct_py_type_get(StructRNA *srna); +void RNA_struct_py_type_set(StructRNA *srna, void *py_type); -LIBEXPORT void *RNA_struct_blender_type_get(StructRNA *srna); -LIBEXPORT void RNA_struct_blender_type_set(StructRNA *srna, void *blender_type); +void *RNA_struct_blender_type_get(StructRNA *srna); +void RNA_struct_blender_type_set(StructRNA *srna, void *blender_type); -LIBEXPORT struct IDProperty *RNA_struct_idprops(PointerRNA *ptr, int create); -LIBEXPORT int RNA_struct_idprops_check(StructRNA *srna); -LIBEXPORT int RNA_struct_idprops_register_check(StructRNA *type); +struct IDProperty *RNA_struct_idprops(PointerRNA *ptr, int create); +int RNA_struct_idprops_check(StructRNA *srna); +int RNA_struct_idprops_register_check(StructRNA *type); int RNA_struct_idprops_unset(PointerRNA *ptr, const char *identifier); -LIBEXPORT PropertyRNA *RNA_struct_find_property(PointerRNA *ptr, const char *identifier); -LIBEXPORT int RNA_struct_contains_property(PointerRNA *ptr, PropertyRNA *prop_test); +PropertyRNA *RNA_struct_find_property(PointerRNA *ptr, const char *identifier); +int RNA_struct_contains_property(PointerRNA *ptr, PropertyRNA *prop_test); /* lower level functions for access to type properties */ -LIBEXPORT const struct ListBase *RNA_struct_type_properties(StructRNA *srna); -LIBEXPORT PropertyRNA *RNA_struct_type_find_property(StructRNA *srna, const char *identifier); +const struct ListBase *RNA_struct_type_properties(StructRNA *srna); +PropertyRNA *RNA_struct_type_find_property(StructRNA *srna, const char *identifier); -LIBEXPORT FunctionRNA *RNA_struct_find_function(PointerRNA *ptr, const char *identifier); -LIBEXPORT const struct ListBase *RNA_struct_type_functions(StructRNA *srna); +FunctionRNA *RNA_struct_find_function(PointerRNA *ptr, const char *identifier); +const struct ListBase *RNA_struct_type_functions(StructRNA *srna); -LIBEXPORT char *RNA_struct_name_get_alloc(PointerRNA *ptr, char *fixedbuf, int fixedlen); +char *RNA_struct_name_get_alloc(PointerRNA *ptr, char *fixedbuf, int fixedlen); /* Properties * @@ -643,143 +644,143 @@ LIBEXPORT char *RNA_struct_name_get_alloc(PointerRNA *ptr, char *fixedbuf, int f /* Property Information */ -LIBEXPORT const char *RNA_property_identifier(PropertyRNA *prop); -LIBEXPORT const char *RNA_property_description(PropertyRNA *prop); +const char *RNA_property_identifier(PropertyRNA *prop); +const char *RNA_property_description(PropertyRNA *prop); -LIBEXPORT PropertyType RNA_property_type(PropertyRNA *prop); -LIBEXPORT PropertySubType RNA_property_subtype(PropertyRNA *prop); -LIBEXPORT PropertyUnit RNA_property_unit(PropertyRNA *prop); -LIBEXPORT int RNA_property_flag(PropertyRNA *prop); +PropertyType RNA_property_type(PropertyRNA *prop); +PropertySubType RNA_property_subtype(PropertyRNA *prop); +PropertyUnit RNA_property_unit(PropertyRNA *prop); +int RNA_property_flag(PropertyRNA *prop); void *RNA_property_py_data_get(PropertyRNA *prop); -LIBEXPORT int RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT int RNA_property_array_check(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT int RNA_property_multi_array_length(PointerRNA *ptr, PropertyRNA *prop, int dimension); -LIBEXPORT int RNA_property_array_dimension(PointerRNA *ptr, PropertyRNA *prop, int length[]); -LIBEXPORT char RNA_property_array_item_char(PropertyRNA *prop, int index); -LIBEXPORT int RNA_property_array_item_index(PropertyRNA *prop, char name); +int RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop); +int RNA_property_array_check(PropertyRNA *prop); +int RNA_property_multi_array_length(PointerRNA *ptr, PropertyRNA *prop, int dimension); +int RNA_property_array_dimension(PointerRNA *ptr, PropertyRNA *prop, int length[]); +char RNA_property_array_item_char(PropertyRNA *prop, int index); +int RNA_property_array_item_index(PropertyRNA *prop, char name); -LIBEXPORT int RNA_property_string_maxlength(PropertyRNA *prop); +int RNA_property_string_maxlength(PropertyRNA *prop); -LIBEXPORT const char *RNA_property_ui_name(PropertyRNA *prop); -LIBEXPORT const char *RNA_property_ui_description(PropertyRNA *prop); -LIBEXPORT int RNA_property_ui_icon(PropertyRNA *prop); +const char *RNA_property_ui_name(PropertyRNA *prop); +const char *RNA_property_ui_description(PropertyRNA *prop); +int RNA_property_ui_icon(PropertyRNA *prop); /* Dynamic Property Information */ -LIBEXPORT void RNA_property_int_range(PointerRNA *ptr, PropertyRNA *prop, int *hardmin, int *hardmax); -LIBEXPORT void RNA_property_int_ui_range(PointerRNA *ptr, PropertyRNA *prop, int *softmin, int *softmax, int *step); +void RNA_property_int_range(PointerRNA *ptr, PropertyRNA *prop, int *hardmin, int *hardmax); +void RNA_property_int_ui_range(PointerRNA *ptr, PropertyRNA *prop, int *softmin, int *softmax, int *step); -LIBEXPORT void RNA_property_float_range(PointerRNA *ptr, PropertyRNA *prop, float *hardmin, float *hardmax); -LIBEXPORT void RNA_property_float_ui_range(PointerRNA *ptr, PropertyRNA *prop, float *softmin, float *softmax, float *step, float *precision); +void RNA_property_float_range(PointerRNA *ptr, PropertyRNA *prop, float *hardmin, float *hardmax); +void RNA_property_float_ui_range(PointerRNA *ptr, PropertyRNA *prop, float *softmin, float *softmax, float *step, float *precision); -LIBEXPORT int RNA_property_float_clamp(PointerRNA *ptr, PropertyRNA *prop, float *value); -LIBEXPORT int RNA_property_int_clamp(PointerRNA *ptr, PropertyRNA *prop, int *value); +int RNA_property_float_clamp(PointerRNA *ptr, PropertyRNA *prop, float *value); +int RNA_property_int_clamp(PointerRNA *ptr, PropertyRNA *prop, int *value); -LIBEXPORT int RNA_enum_identifier(EnumPropertyItem *item, const int value, const char **identifier); -LIBEXPORT int RNA_enum_bitflag_identifiers(EnumPropertyItem *item, const int value, const char **identifier); -LIBEXPORT int RNA_enum_name(EnumPropertyItem *item, const int value, const char **name); -LIBEXPORT int RNA_enum_description(EnumPropertyItem *item, const int value, const char **description); +int RNA_enum_identifier(EnumPropertyItem *item, const int value, const char **identifier); +int RNA_enum_bitflag_identifiers(EnumPropertyItem *item, const int value, const char **identifier); +int RNA_enum_name(EnumPropertyItem *item, const int value, const char **name); +int RNA_enum_description(EnumPropertyItem *item, const int value, const char **description); -LIBEXPORT void RNA_property_enum_items(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, EnumPropertyItem **item, int *totitem, int *free); -LIBEXPORT int RNA_property_enum_value(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *identifier, int *value); -LIBEXPORT int RNA_property_enum_identifier(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **identifier); -LIBEXPORT int RNA_property_enum_name(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **name); -LIBEXPORT int RNA_property_enum_bitflag_identifiers(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **identifier); +void RNA_property_enum_items(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, EnumPropertyItem **item, int *totitem, int *free); +int RNA_property_enum_value(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const char *identifier, int *value); +int RNA_property_enum_identifier(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **identifier); +int RNA_property_enum_name(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **name); +int RNA_property_enum_bitflag_identifiers(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop, const int value, const char **identifier); -LIBEXPORT StructRNA *RNA_property_pointer_type(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT int RNA_property_pointer_poll(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *value); +StructRNA *RNA_property_pointer_type(PointerRNA *ptr, PropertyRNA *prop); +int RNA_property_pointer_poll(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *value); -LIBEXPORT int RNA_property_editable(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT int RNA_property_editable_index(PointerRNA *ptr, PropertyRNA *prop, int index); -LIBEXPORT int RNA_property_editable_flag(PointerRNA *ptr, PropertyRNA *prop); /* without lib check, only checks the flag */ -LIBEXPORT int RNA_property_animateable(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT int RNA_property_animated(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT int RNA_property_path_from_ID_check(PointerRNA *ptr, PropertyRNA *prop); /* slow, use with care */ +int RNA_property_editable(PointerRNA *ptr, PropertyRNA *prop); +int RNA_property_editable_index(PointerRNA *ptr, PropertyRNA *prop, int index); +int RNA_property_editable_flag(PointerRNA *ptr, PropertyRNA *prop); /* without lib check, only checks the flag */ +int RNA_property_animateable(PointerRNA *ptr, PropertyRNA *prop); +int RNA_property_animated(PointerRNA *ptr, PropertyRNA *prop); +int RNA_property_path_from_ID_check(PointerRNA *ptr, PropertyRNA *prop); /* slow, use with care */ -LIBEXPORT void RNA_property_update(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT void RNA_property_update_main(struct Main *bmain, struct Scene *scene, PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT int RNA_property_update_check(struct PropertyRNA *prop); +void RNA_property_update(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop); +void RNA_property_update_main(struct Main *bmain, struct Scene *scene, PointerRNA *ptr, PropertyRNA *prop); +int RNA_property_update_check(struct PropertyRNA *prop); /* Property Data */ -LIBEXPORT int RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT void RNA_property_boolean_set(PointerRNA *ptr, PropertyRNA *prop, int value); -LIBEXPORT void RNA_property_boolean_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values); -LIBEXPORT int RNA_property_boolean_get_index(PointerRNA *ptr, PropertyRNA *prop, int index); -LIBEXPORT void RNA_property_boolean_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *values); -LIBEXPORT void RNA_property_boolean_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, int value); -LIBEXPORT int RNA_property_boolean_get_default(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT void RNA_property_boolean_get_default_array(PointerRNA *ptr, PropertyRNA *prop, int *values); -LIBEXPORT int RNA_property_boolean_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index); +int RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop); +void RNA_property_boolean_set(PointerRNA *ptr, PropertyRNA *prop, int value); +void RNA_property_boolean_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values); +int RNA_property_boolean_get_index(PointerRNA *ptr, PropertyRNA *prop, int index); +void RNA_property_boolean_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *values); +void RNA_property_boolean_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, int value); +int RNA_property_boolean_get_default(PointerRNA *ptr, PropertyRNA *prop); +void RNA_property_boolean_get_default_array(PointerRNA *ptr, PropertyRNA *prop, int *values); +int RNA_property_boolean_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index); -LIBEXPORT int RNA_property_int_get(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT void RNA_property_int_set(PointerRNA *ptr, PropertyRNA *prop, int value); -LIBEXPORT void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values); -LIBEXPORT void RNA_property_int_get_array_range(PointerRNA *ptr, PropertyRNA *prop, int values[2]); -LIBEXPORT int RNA_property_int_get_index(PointerRNA *ptr, PropertyRNA *prop, int index); -LIBEXPORT void RNA_property_int_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *values); -LIBEXPORT void RNA_property_int_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, int value); -LIBEXPORT int RNA_property_int_get_default(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT void RNA_property_int_get_default_array(PointerRNA *ptr, PropertyRNA *prop, int *values); -LIBEXPORT int RNA_property_int_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index); +int RNA_property_int_get(PointerRNA *ptr, PropertyRNA *prop); +void RNA_property_int_set(PointerRNA *ptr, PropertyRNA *prop, int value); +void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values); +void RNA_property_int_get_array_range(PointerRNA *ptr, PropertyRNA *prop, int values[2]); +int RNA_property_int_get_index(PointerRNA *ptr, PropertyRNA *prop, int index); +void RNA_property_int_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *values); +void RNA_property_int_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, int value); +int RNA_property_int_get_default(PointerRNA *ptr, PropertyRNA *prop); +void RNA_property_int_get_default_array(PointerRNA *ptr, PropertyRNA *prop, int *values); +int RNA_property_int_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index); -LIBEXPORT float RNA_property_float_get(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value); -LIBEXPORT void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *values); -LIBEXPORT void RNA_property_float_get_array_range(PointerRNA *ptr, PropertyRNA *prop, float values[2]); -LIBEXPORT float RNA_property_float_get_index(PointerRNA *ptr, PropertyRNA *prop, int index); -LIBEXPORT void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, const float *values); -LIBEXPORT void RNA_property_float_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, float value); -LIBEXPORT float RNA_property_float_get_default(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT void RNA_property_float_get_default_array(PointerRNA *ptr, PropertyRNA *prop, float *values); -LIBEXPORT float RNA_property_float_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index); +float RNA_property_float_get(PointerRNA *ptr, PropertyRNA *prop); +void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value); +void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *values); +void RNA_property_float_get_array_range(PointerRNA *ptr, PropertyRNA *prop, float values[2]); +float RNA_property_float_get_index(PointerRNA *ptr, PropertyRNA *prop, int index); +void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, const float *values); +void RNA_property_float_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, float value); +float RNA_property_float_get_default(PointerRNA *ptr, PropertyRNA *prop); +void RNA_property_float_get_default_array(PointerRNA *ptr, PropertyRNA *prop, float *values); +float RNA_property_float_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int index); -LIBEXPORT void RNA_property_string_get(PointerRNA *ptr, PropertyRNA *prop, char *value); -LIBEXPORT char *RNA_property_string_get_alloc(PointerRNA *ptr, PropertyRNA *prop, char *fixedbuf, int fixedlen); -LIBEXPORT void RNA_property_string_set(PointerRNA *ptr, PropertyRNA *prop, const char *value); -LIBEXPORT int RNA_property_string_length(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT void RNA_property_string_get_default(PointerRNA *ptr, PropertyRNA *prop, char *value); -LIBEXPORT char *RNA_property_string_get_default_alloc(PointerRNA *ptr, PropertyRNA *prop, char *fixedbuf, int fixedlen); -LIBEXPORT int RNA_property_string_default_length(PointerRNA *ptr, PropertyRNA *prop); +void RNA_property_string_get(PointerRNA *ptr, PropertyRNA *prop, char *value); +char *RNA_property_string_get_alloc(PointerRNA *ptr, PropertyRNA *prop, char *fixedbuf, int fixedlen); +void RNA_property_string_set(PointerRNA *ptr, PropertyRNA *prop, const char *value); +int RNA_property_string_length(PointerRNA *ptr, PropertyRNA *prop); +void RNA_property_string_get_default(PointerRNA *ptr, PropertyRNA *prop, char *value); +char *RNA_property_string_get_default_alloc(PointerRNA *ptr, PropertyRNA *prop, char *fixedbuf, int fixedlen); +int RNA_property_string_default_length(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT int RNA_property_enum_get(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT void RNA_property_enum_set(PointerRNA *ptr, PropertyRNA *prop, int value); -LIBEXPORT int RNA_property_enum_get_default(PointerRNA *ptr, PropertyRNA *prop); +int RNA_property_enum_get(PointerRNA *ptr, PropertyRNA *prop); +void RNA_property_enum_set(PointerRNA *ptr, PropertyRNA *prop, int value); +int RNA_property_enum_get_default(PointerRNA *ptr, PropertyRNA *prop); void *RNA_property_enum_py_data_get(PropertyRNA *prop); -LIBEXPORT PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT void RNA_property_pointer_set(PointerRNA *ptr, PropertyRNA *prop, PointerRNA ptr_value); -LIBEXPORT PointerRNA RNA_property_pointer_get_default(PointerRNA *ptr, PropertyRNA *prop); +PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop); +void RNA_property_pointer_set(PointerRNA *ptr, PropertyRNA *prop, PointerRNA ptr_value); +PointerRNA RNA_property_pointer_get_default(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT void RNA_property_collection_begin(PointerRNA *ptr, PropertyRNA *prop, CollectionPropertyIterator *iter); -LIBEXPORT void RNA_property_collection_next(CollectionPropertyIterator *iter); -LIBEXPORT void RNA_property_collection_end(CollectionPropertyIterator *iter); -LIBEXPORT int RNA_property_collection_length(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT int RNA_property_collection_lookup_index(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *t_ptr); -LIBEXPORT int RNA_property_collection_lookup_int(PointerRNA *ptr, PropertyRNA *prop, int key, PointerRNA *r_ptr); -LIBEXPORT int RNA_property_collection_lookup_string(PointerRNA *ptr, PropertyRNA *prop, const char *key, PointerRNA *r_ptr); -LIBEXPORT int RNA_property_collection_type_get(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *r_ptr); +void RNA_property_collection_begin(PointerRNA *ptr, PropertyRNA *prop, CollectionPropertyIterator *iter); +void RNA_property_collection_next(CollectionPropertyIterator *iter); +void RNA_property_collection_end(CollectionPropertyIterator *iter); +int RNA_property_collection_length(PointerRNA *ptr, PropertyRNA *prop); +int RNA_property_collection_lookup_index(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *t_ptr); +int RNA_property_collection_lookup_int(PointerRNA *ptr, PropertyRNA *prop, int key, PointerRNA *r_ptr); +int RNA_property_collection_lookup_string(PointerRNA *ptr, PropertyRNA *prop, const char *key, PointerRNA *r_ptr); +int RNA_property_collection_type_get(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *r_ptr); /* efficient functions to set properties for arrays */ -LIBEXPORT int RNA_property_collection_raw_array(PointerRNA *ptr, PropertyRNA *prop, PropertyRNA *itemprop, RawArray *array); -LIBEXPORT int RNA_property_collection_raw_get(struct ReportList *reports, PointerRNA *ptr, PropertyRNA *prop, const char *propname, void *array, RawPropertyType type, int len); -LIBEXPORT int RNA_property_collection_raw_set(struct ReportList *reports, PointerRNA *ptr, PropertyRNA *prop, const char *propname, void *array, RawPropertyType type, int len); -LIBEXPORT int RNA_raw_type_sizeof(RawPropertyType type); +int RNA_property_collection_raw_array(PointerRNA *ptr, PropertyRNA *prop, PropertyRNA *itemprop, RawArray *array); +int RNA_property_collection_raw_get(struct ReportList *reports, PointerRNA *ptr, PropertyRNA *prop, const char *propname, void *array, RawPropertyType type, int len); +int RNA_property_collection_raw_set(struct ReportList *reports, PointerRNA *ptr, PropertyRNA *prop, const char *propname, void *array, RawPropertyType type, int len); +int RNA_raw_type_sizeof(RawPropertyType type); RawPropertyType RNA_property_raw_type(PropertyRNA *prop); /* to create ID property groups */ -LIBEXPORT void RNA_property_pointer_add(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT void RNA_property_pointer_remove(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT void RNA_property_collection_add(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *r_ptr); -LIBEXPORT int RNA_property_collection_remove(PointerRNA *ptr, PropertyRNA *prop, int key); -LIBEXPORT void RNA_property_collection_clear(PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT int RNA_property_collection_move(PointerRNA *ptr, PropertyRNA *prop, int key, int pos); +void RNA_property_pointer_add(PointerRNA *ptr, PropertyRNA *prop); +void RNA_property_pointer_remove(PointerRNA *ptr, PropertyRNA *prop); +void RNA_property_collection_add(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *r_ptr); +int RNA_property_collection_remove(PointerRNA *ptr, PropertyRNA *prop, int key); +void RNA_property_collection_clear(PointerRNA *ptr, PropertyRNA *prop); +int RNA_property_collection_move(PointerRNA *ptr, PropertyRNA *prop, int key, int pos); /* copy/reset */ -LIBEXPORT int RNA_property_copy(PointerRNA *ptr, PointerRNA *fromptr, PropertyRNA *prop, int index); -LIBEXPORT int RNA_property_reset(PointerRNA *ptr, PropertyRNA *prop, int index); +int RNA_property_copy(PointerRNA *ptr, PointerRNA *fromptr, PropertyRNA *prop, int index); +int RNA_property_reset(PointerRNA *ptr, PropertyRNA *prop, int index); /* Path * @@ -790,18 +791,18 @@ LIBEXPORT int RNA_property_reset(PointerRNA *ptr, PropertyRNA *prop, int index); * particular pointers, which is useful in a number of applications, like * UI code or Actions, though efficiency is a concern. */ -LIBEXPORT char *RNA_path_append(const char *path, PointerRNA *ptr, PropertyRNA *prop, +char *RNA_path_append(const char *path, PointerRNA *ptr, PropertyRNA *prop, int intkey, const char *strkey); -LIBEXPORT char *RNA_path_back(const char *path); +char *RNA_path_back(const char *path); -LIBEXPORT int RNA_path_resolve(PointerRNA *ptr, const char *path, +int RNA_path_resolve(PointerRNA *ptr, const char *path, PointerRNA *r_ptr, PropertyRNA **r_prop); -LIBEXPORT int RNA_path_resolve_full(PointerRNA *ptr, const char *path, +int RNA_path_resolve_full(PointerRNA *ptr, const char *path, PointerRNA *r_ptr, PropertyRNA **r_prop, int *index); -LIBEXPORT char *RNA_path_from_ID_to_struct(PointerRNA *ptr); -LIBEXPORT char *RNA_path_from_ID_to_property(PointerRNA *ptr, PropertyRNA *prop); +char *RNA_path_from_ID_to_struct(PointerRNA *ptr); +char *RNA_path_from_ID_to_property(PointerRNA *ptr, PropertyRNA *prop); /* Quick name based property access * @@ -812,48 +813,48 @@ LIBEXPORT char *RNA_path_from_ID_to_property(PointerRNA *ptr, PropertyRNA *prop) * There is no support for pointers and collections here yet, these can be * added when ID properties support them. */ -LIBEXPORT int RNA_boolean_get(PointerRNA *ptr, const char *name); -LIBEXPORT void RNA_boolean_set(PointerRNA *ptr, const char *name, int value); -LIBEXPORT void RNA_boolean_get_array(PointerRNA *ptr, const char *name, int *values); -LIBEXPORT void RNA_boolean_set_array(PointerRNA *ptr, const char *name, const int *values); +int RNA_boolean_get(PointerRNA *ptr, const char *name); +void RNA_boolean_set(PointerRNA *ptr, const char *name, int value); +void RNA_boolean_get_array(PointerRNA *ptr, const char *name, int *values); +void RNA_boolean_set_array(PointerRNA *ptr, const char *name, const int *values); -LIBEXPORT int RNA_int_get(PointerRNA *ptr, const char *name); -LIBEXPORT void RNA_int_set(PointerRNA *ptr, const char *name, int value); -LIBEXPORT void RNA_int_get_array(PointerRNA *ptr, const char *name, int *values); -LIBEXPORT void RNA_int_set_array(PointerRNA *ptr, const char *name, const int *values); +int RNA_int_get(PointerRNA *ptr, const char *name); +void RNA_int_set(PointerRNA *ptr, const char *name, int value); +void RNA_int_get_array(PointerRNA *ptr, const char *name, int *values); +void RNA_int_set_array(PointerRNA *ptr, const char *name, const int *values); -LIBEXPORT float RNA_float_get(PointerRNA *ptr, const char *name); -LIBEXPORT void RNA_float_set(PointerRNA *ptr, const char *name, float value); -LIBEXPORT void RNA_float_get_array(PointerRNA *ptr, const char *name, float *values); -LIBEXPORT void RNA_float_set_array(PointerRNA *ptr, const char *name, const float *values); +float RNA_float_get(PointerRNA *ptr, const char *name); +void RNA_float_set(PointerRNA *ptr, const char *name, float value); +void RNA_float_get_array(PointerRNA *ptr, const char *name, float *values); +void RNA_float_set_array(PointerRNA *ptr, const char *name, const float *values); -LIBEXPORT int RNA_enum_get(PointerRNA *ptr, const char *name); -LIBEXPORT void RNA_enum_set(PointerRNA *ptr, const char *name, int value); -LIBEXPORT void RNA_enum_set_identifier(PointerRNA *ptr, const char *name, const char *id); -LIBEXPORT int RNA_enum_is_equal(struct bContext *C, PointerRNA *ptr, const char *name, const char *enumname); +int RNA_enum_get(PointerRNA *ptr, const char *name); +void RNA_enum_set(PointerRNA *ptr, const char *name, int value); +void RNA_enum_set_identifier(PointerRNA *ptr, const char *name, const char *id); +int RNA_enum_is_equal(struct bContext *C, PointerRNA *ptr, const char *name, const char *enumname); /* lower level functions that don't use a PointerRNA */ -LIBEXPORT int RNA_enum_value_from_id(EnumPropertyItem *item, const char *identifier, int *value); -LIBEXPORT int RNA_enum_id_from_value(EnumPropertyItem *item, int value, const char **identifier); -LIBEXPORT int RNA_enum_icon_from_value(EnumPropertyItem *item, int value, int *icon); +int RNA_enum_value_from_id(EnumPropertyItem *item, const char *identifier, int *value); +int RNA_enum_id_from_value(EnumPropertyItem *item, int value, const char **identifier); +int RNA_enum_icon_from_value(EnumPropertyItem *item, int value, int *icon); -LIBEXPORT void RNA_string_get(PointerRNA *ptr, const char *name, char *value); -LIBEXPORT char *RNA_string_get_alloc(PointerRNA *ptr, const char *name, char *fixedbuf, int fixedlen); -LIBEXPORT int RNA_string_length(PointerRNA *ptr, const char *name); -LIBEXPORT void RNA_string_set(PointerRNA *ptr, const char *name, const char *value); +void RNA_string_get(PointerRNA *ptr, const char *name, char *value); +char *RNA_string_get_alloc(PointerRNA *ptr, const char *name, char *fixedbuf, int fixedlen); +int RNA_string_length(PointerRNA *ptr, const char *name); +void RNA_string_set(PointerRNA *ptr, const char *name, const char *value); /** * Retrieve the named property from PointerRNA. */ -LIBEXPORT PointerRNA RNA_pointer_get(PointerRNA *ptr, const char *name); +PointerRNA RNA_pointer_get(PointerRNA *ptr, const char *name); /* Set the property name of PointerRNA ptr to ptr_value */ -LIBEXPORT void RNA_pointer_set(PointerRNA *ptr, const char *name, PointerRNA ptr_value); -LIBEXPORT void RNA_pointer_add(PointerRNA *ptr, const char *name); +void RNA_pointer_set(PointerRNA *ptr, const char *name, PointerRNA ptr_value); +void RNA_pointer_add(PointerRNA *ptr, const char *name); -LIBEXPORT void RNA_collection_begin(PointerRNA *ptr, const char *name, CollectionPropertyIterator *iter); -LIBEXPORT int RNA_collection_length(PointerRNA *ptr, const char *name); -LIBEXPORT void RNA_collection_add(PointerRNA *ptr, const char *name, PointerRNA *r_value); -LIBEXPORT void RNA_collection_clear(PointerRNA *ptr, const char *name); +void RNA_collection_begin(PointerRNA *ptr, const char *name, CollectionPropertyIterator *iter); +int RNA_collection_length(PointerRNA *ptr, const char *name); +void RNA_collection_add(PointerRNA *ptr, const char *name, PointerRNA *r_value); +void RNA_collection_clear(PointerRNA *ptr, const char *name); #define RNA_BEGIN(sptr, itemptr, propname) \ { \ @@ -889,65 +890,65 @@ LIBEXPORT void RNA_collection_clear(PointerRNA *ptr, const char *name); } /* check if the idproperty exists, for operators */ -LIBEXPORT int RNA_property_is_set(PointerRNA *ptr, const char *name); -LIBEXPORT int RNA_property_is_idprop(PropertyRNA *prop); +int RNA_property_is_set(PointerRNA *ptr, const char *name); +int RNA_property_is_idprop(PropertyRNA *prop); /* python compatible string representation of this property, (must be freed!) */ -LIBEXPORT char *RNA_property_as_string(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop); -LIBEXPORT char *RNA_pointer_as_string(struct bContext *C, PointerRNA *ptr); +char *RNA_property_as_string(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop); +char *RNA_pointer_as_string(struct bContext *C, PointerRNA *ptr); /* Function */ -LIBEXPORT const char *RNA_function_identifier(FunctionRNA *func); -LIBEXPORT const char *RNA_function_ui_description(FunctionRNA *func); -LIBEXPORT int RNA_function_flag(FunctionRNA *func); -LIBEXPORT int RNA_function_defined(FunctionRNA *func); +const char *RNA_function_identifier(FunctionRNA *func); +const char *RNA_function_ui_description(FunctionRNA *func); +int RNA_function_flag(FunctionRNA *func); +int RNA_function_defined(FunctionRNA *func); -LIBEXPORT PropertyRNA *RNA_function_get_parameter(PointerRNA *ptr, FunctionRNA *func, int index); -LIBEXPORT PropertyRNA *RNA_function_find_parameter(PointerRNA *ptr, FunctionRNA *func, const char *identifier); -LIBEXPORT const struct ListBase *RNA_function_defined_parameters(FunctionRNA *func); +PropertyRNA *RNA_function_get_parameter(PointerRNA *ptr, FunctionRNA *func, int index); +PropertyRNA *RNA_function_find_parameter(PointerRNA *ptr, FunctionRNA *func, const char *identifier); +const struct ListBase *RNA_function_defined_parameters(FunctionRNA *func); /* Utility */ -LIBEXPORT ParameterList *RNA_parameter_list_create(ParameterList *parms, PointerRNA *ptr, FunctionRNA *func); -LIBEXPORT void RNA_parameter_list_free(ParameterList *parms); -LIBEXPORT int RNA_parameter_list_size(ParameterList *parms); -LIBEXPORT int RNA_parameter_list_arg_count(ParameterList *parms); -LIBEXPORT int RNA_parameter_list_ret_count(ParameterList *parms); +ParameterList *RNA_parameter_list_create(ParameterList *parms, PointerRNA *ptr, FunctionRNA *func); +void RNA_parameter_list_free(ParameterList *parms); +int RNA_parameter_list_size(ParameterList *parms); +int RNA_parameter_list_arg_count(ParameterList *parms); +int RNA_parameter_list_ret_count(ParameterList *parms); -LIBEXPORT void RNA_parameter_list_begin(ParameterList *parms, ParameterIterator *iter); -LIBEXPORT void RNA_parameter_list_next(ParameterIterator *iter); -LIBEXPORT void RNA_parameter_list_end(ParameterIterator *iter); +void RNA_parameter_list_begin(ParameterList *parms, ParameterIterator *iter); +void RNA_parameter_list_next(ParameterIterator *iter); +void RNA_parameter_list_end(ParameterIterator *iter); -LIBEXPORT void RNA_parameter_get(ParameterList *parms, PropertyRNA *parm, void **value); -LIBEXPORT void RNA_parameter_get_lookup(ParameterList *parms, const char *identifier, void **value); -LIBEXPORT void RNA_parameter_set(ParameterList *parms, PropertyRNA *parm, const void *value); -LIBEXPORT void RNA_parameter_set_lookup(ParameterList *parms, const char *identifier, const void *value); -LIBEXPORT int RNA_parameter_length_get(ParameterList *parms, PropertyRNA *parm); -LIBEXPORT int RNA_parameter_length_get_data(ParameterList *parms, PropertyRNA *parm, void *data); -LIBEXPORT void RNA_parameter_length_set(ParameterList *parms, PropertyRNA *parm, int length); -LIBEXPORT void RNA_parameter_length_set_data(ParameterList *parms, PropertyRNA *parm, void *data, int length); +void RNA_parameter_get(ParameterList *parms, PropertyRNA *parm, void **value); +void RNA_parameter_get_lookup(ParameterList *parms, const char *identifier, void **value); +void RNA_parameter_set(ParameterList *parms, PropertyRNA *parm, const void *value); +void RNA_parameter_set_lookup(ParameterList *parms, const char *identifier, const void *value); +int RNA_parameter_length_get(ParameterList *parms, PropertyRNA *parm); +int RNA_parameter_length_get_data(ParameterList *parms, PropertyRNA *parm, void *data); +void RNA_parameter_length_set(ParameterList *parms, PropertyRNA *parm, int length); +void RNA_parameter_length_set_data(ParameterList *parms, PropertyRNA *parm, void *data, int length); -LIBEXPORT int RNA_function_call(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, FunctionRNA *func, ParameterList *parms); -LIBEXPORT int RNA_function_call_lookup(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, const char *identifier, ParameterList *parms); +int RNA_function_call(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, FunctionRNA *func, ParameterList *parms); +int RNA_function_call_lookup(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, const char *identifier, ParameterList *parms); -LIBEXPORT int RNA_function_call_direct(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, FunctionRNA *func, const char *format, ...) +int RNA_function_call_direct(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, FunctionRNA *func, const char *format, ...) #ifdef __GNUC__ __attribute__ ((format (printf, 5, 6))) #endif ; -LIBEXPORT int RNA_function_call_direct_lookup(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, const char *identifier, const char *format, ...) +int RNA_function_call_direct_lookup(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, const char *identifier, const char *format, ...) #ifdef __GNUC__ __attribute__ ((format (printf, 5, 6))) #endif ; -LIBEXPORT int RNA_function_call_direct_va(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, FunctionRNA *func, const char *format, va_list args); -LIBEXPORT int RNA_function_call_direct_va_lookup(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, const char *identifier, const char *format, va_list args); +int RNA_function_call_direct_va(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, FunctionRNA *func, const char *format, va_list args); +int RNA_function_call_direct_va_lookup(struct bContext *C, struct ReportList *reports, PointerRNA *ptr, const char *identifier, const char *format, va_list args); /* ID */ -LIBEXPORT short RNA_type_to_ID_code(StructRNA *type); -LIBEXPORT StructRNA *ID_code_to_RNA_type(short idcode); +short RNA_type_to_ID_code(StructRNA *type); +StructRNA *ID_code_to_RNA_type(short idcode); void RNA_warning(const char *format, ...) #ifdef __GNUC__ diff --git a/source/blender/makesrna/RNA_types.h b/source/blender/makesrna/RNA_types.h index 3053a1c33bc..f8199074f27 100644 --- a/source/blender/makesrna/RNA_types.h +++ b/source/blender/makesrna/RNA_types.h @@ -36,18 +36,6 @@ extern "C" { #endif -#ifndef LIBEXPORT -#ifdef _WIN32 -#ifdef BLENDER_PLUGIN -#define LIBEXPORT __declspec(dllimport) -#else -#define LIBEXPORT __declspec(dllexport) -#endif -#else -#define LIBEXPORT -#endif -#endif - struct ParameterList; struct FunctionRNA; struct PropertyRNA; @@ -293,7 +281,7 @@ typedef struct ParameterList { typedef struct ParameterIterator { struct ParameterList *parms; - PointerRNA funcptr; + /* PointerRNA funcptr; */ /*UNUSED*/ void *data; int size, offset; diff --git a/source/blender/makesrna/intern/makesrna.c b/source/blender/makesrna/intern/makesrna.c index 0ebe73dfe36..7da538e171b 100644 --- a/source/blender/makesrna/intern/makesrna.c +++ b/source/blender/makesrna/intern/makesrna.c @@ -516,7 +516,7 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr switch(prop->type) { case PROP_STRING: { StringPropertyRNA *sprop= (StringPropertyRNA*)prop; - fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, char *value)\n", func); + fprintf(f, "void %s(PointerRNA *ptr, char *value)\n", func); fprintf(f, "{\n"); if(manualfunc) { fprintf(f, " %s(ptr, value);\n", manualfunc); @@ -532,7 +532,7 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr break; } case PROP_POINTER: { - fprintf(f, "LIBEXPORT PointerRNA %s(PointerRNA *ptr)\n", func); + fprintf(f, "PointerRNA %s(PointerRNA *ptr)\n", func); fprintf(f, "{\n"); if(manualfunc) { fprintf(f, " return %s(ptr);\n", manualfunc); @@ -567,9 +567,9 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr default: if(prop->arraydimension) { if(prop->flag & PROP_DYNAMIC) - fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, %s values[])\n", func, rna_type_type(prop)); + fprintf(f, "void %s(PointerRNA *ptr, %s values[])\n", func, rna_type_type(prop)); else - fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, %s values[%d])\n", func, rna_type_type(prop), prop->totarraylength); + fprintf(f, "void %s(PointerRNA *ptr, %s values[%d])\n", func, rna_type_type(prop), prop->totarraylength); fprintf(f, "{\n"); if(manualfunc) { @@ -614,7 +614,7 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr fprintf(f, "}\n\n"); } else { - fprintf(f, "LIBEXPORT %s %s(PointerRNA *ptr)\n", rna_type_type(prop), func); + fprintf(f, "%s %s(PointerRNA *ptr)\n", rna_type_type(prop), func); fprintf(f, "{\n"); if(manualfunc) { @@ -728,7 +728,7 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr switch(prop->type) { case PROP_STRING: { StringPropertyRNA *sprop= (StringPropertyRNA*)prop; - fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, const char *value)\n", func); + fprintf(f, "void %s(PointerRNA *ptr, const char *value)\n", func); fprintf(f, "{\n"); if(manualfunc) { fprintf(f, " %s(ptr, value);\n", manualfunc); @@ -744,7 +744,7 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr break; } case PROP_POINTER: { - fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, PointerRNA value)\n", func); + fprintf(f, "void %s(PointerRNA *ptr, PointerRNA value)\n", func); fprintf(f, "{\n"); if(manualfunc) { fprintf(f, " %s(ptr, value);\n", manualfunc); @@ -781,9 +781,9 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr default: if(prop->arraydimension) { if(prop->flag & PROP_DYNAMIC) - fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, const %s values[])\n", func, rna_type_type(prop)); + fprintf(f, "void %s(PointerRNA *ptr, const %s values[])\n", func, rna_type_type(prop)); else - fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, const %s values[%d])\n", func, rna_type_type(prop), prop->totarraylength); + fprintf(f, "void %s(PointerRNA *ptr, const %s values[%d])\n", func, rna_type_type(prop), prop->totarraylength); fprintf(f, "{\n"); if(manualfunc) { @@ -841,7 +841,7 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr fprintf(f, "}\n\n"); } else { - fprintf(f, "LIBEXPORT void %s(PointerRNA *ptr, %s value)\n", func, rna_type_type(prop)); + fprintf(f, "void %s(PointerRNA *ptr, %s value)\n", func, rna_type_type(prop)); fprintf(f, "{\n"); if(manualfunc) { @@ -895,7 +895,7 @@ static char *rna_def_property_length_func(FILE *f, StructRNA *srna, PropertyRNA func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "length"); - fprintf(f, "LIBEXPORT int %s(PointerRNA *ptr)\n", func); + fprintf(f, "int %s(PointerRNA *ptr)\n", func); fprintf(f, "{\n"); if(manualfunc) { fprintf(f, " return %s(ptr);\n", manualfunc); @@ -917,7 +917,7 @@ static char *rna_def_property_length_func(FILE *f, StructRNA *srna, PropertyRNA func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "length"); - fprintf(f, "LIBEXPORT int %s(PointerRNA *ptr)\n", func); + fprintf(f, "int %s(PointerRNA *ptr)\n", func); fprintf(f, "{\n"); if(manualfunc) { fprintf(f, " return %s(ptr);\n", manualfunc); @@ -952,7 +952,7 @@ static char *rna_def_property_begin_func(FILE *f, StructRNA *srna, PropertyRNA * func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "begin"); - fprintf(f, "LIBEXPORT void %s(CollectionPropertyIterator *iter, PointerRNA *ptr)\n", func); + fprintf(f, "void %s(CollectionPropertyIterator *iter, PointerRNA *ptr)\n", func); fprintf(f, "{\n"); if(!manualfunc) @@ -1014,7 +1014,7 @@ static char *rna_def_property_lookup_int_func(FILE *f, StructRNA *srna, Property func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "lookup_int"); - fprintf(f, "LIBEXPORT int %s(PointerRNA *ptr, int index, PointerRNA *r_ptr)\n", func); + fprintf(f, "int %s(PointerRNA *ptr, int index, PointerRNA *r_ptr)\n", func); fprintf(f, "{\n"); if(manualfunc) { @@ -1105,7 +1105,7 @@ static char *rna_def_property_next_func(FILE *f, StructRNA *srna, PropertyRNA *p func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "next"); - fprintf(f, "LIBEXPORT void %s(CollectionPropertyIterator *iter)\n", func); + fprintf(f, "void %s(CollectionPropertyIterator *iter)\n", func); fprintf(f, "{\n"); fprintf(f, " %s(iter);\n", manualfunc); @@ -1128,7 +1128,7 @@ static char *rna_def_property_end_func(FILE *f, StructRNA *srna, PropertyRNA *pr func= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "end"); - fprintf(f, "LIBEXPORT void %s(CollectionPropertyIterator *iter)\n", func); + fprintf(f, "void %s(CollectionPropertyIterator *iter)\n", func); fprintf(f, "{\n"); if(manualfunc) fprintf(f, " %s(iter);\n", manualfunc); @@ -1320,31 +1320,31 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR case PROP_BOOLEAN: case PROP_INT: { if(!prop->arraydimension) { - fprintf(f, "LIBEXPORT int %sget(PointerRNA *ptr);\n", func); - //fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, int value);\n", func); + fprintf(f, "int %sget(PointerRNA *ptr);\n", func); + //fprintf(f, "void %sset(PointerRNA *ptr, int value);\n", func); } else if(prop->arraydimension && prop->totarraylength) { - fprintf(f, "LIBEXPORT void %sget(PointerRNA *ptr, int values[%d]);\n", func, prop->totarraylength); - //fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, const int values[%d]);\n", func, prop->arraylength); + fprintf(f, "void %sget(PointerRNA *ptr, int values[%d]);\n", func, prop->totarraylength); + //fprintf(f, "void %sset(PointerRNA *ptr, const int values[%d]);\n", func, prop->arraylength); } else { - fprintf(f, "LIBEXPORT void %sget(PointerRNA *ptr, int values[]);\n", func); - //fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, const int values[]);\n", func); + fprintf(f, "void %sget(PointerRNA *ptr, int values[]);\n", func); + //fprintf(f, "void %sset(PointerRNA *ptr, const int values[]);\n", func); } break; } case PROP_FLOAT: { if(!prop->arraydimension) { - fprintf(f, "LIBEXPORT float %sget(PointerRNA *ptr);\n", func); - //fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, float value);\n", func); + fprintf(f, "float %sget(PointerRNA *ptr);\n", func); + //fprintf(f, "void %sset(PointerRNA *ptr, float value);\n", func); } else if(prop->arraydimension && prop->totarraylength) { - fprintf(f, "LIBEXPORT void %sget(PointerRNA *ptr, float values[%d]);\n", func, prop->totarraylength); - //fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, const float values[%d]);\n", func, prop->arraylength); + fprintf(f, "void %sget(PointerRNA *ptr, float values[%d]);\n", func, prop->totarraylength); + //fprintf(f, "void %sset(PointerRNA *ptr, const float values[%d]);\n", func, prop->arraylength); } else { - fprintf(f, "LIBEXPORT void %sget(PointerRNA *ptr, float values[]);\n", func); - //fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, const float values[]);\n", func); + fprintf(f, "void %sget(PointerRNA *ptr, float values[]);\n", func); + //fprintf(f, "void %sset(PointerRNA *ptr, const float values[]);\n", func); } break; } @@ -1362,8 +1362,8 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR fprintf(f, "};\n\n"); } - fprintf(f, "LIBEXPORT int %sget(PointerRNA *ptr);\n", func); - //fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, int value);\n", func); + fprintf(f, "int %sget(PointerRNA *ptr);\n", func); + //fprintf(f, "void %sset(PointerRNA *ptr, int value);\n", func); break; } @@ -1374,24 +1374,24 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR fprintf(f, "#define %s_%s_MAX %d\n\n", srna->identifier, prop->identifier, sprop->maxlength); } - fprintf(f, "LIBEXPORT void %sget(PointerRNA *ptr, char *value);\n", func); - fprintf(f, "LIBEXPORT int %slength(PointerRNA *ptr);\n", func); - //fprintf(f, "LIBEXPORT void %sset(PointerRNA *ptr, const char *value);\n", func); + fprintf(f, "void %sget(PointerRNA *ptr, char *value);\n", func); + fprintf(f, "int %slength(PointerRNA *ptr);\n", func); + //fprintf(f, "void %sset(PointerRNA *ptr, const char *value);\n", func); break; } case PROP_POINTER: { - fprintf(f, "LIBEXPORT PointerRNA %sget(PointerRNA *ptr);\n", func); + fprintf(f, "PointerRNA %sget(PointerRNA *ptr);\n", func); //fprintf(f, "void %sset(PointerRNA *ptr, PointerRNA value);\n", func); break; } case PROP_COLLECTION: { - fprintf(f, "LIBEXPORT void %sbegin(CollectionPropertyIterator *iter, PointerRNA *ptr);\n", func); - fprintf(f, "LIBEXPORT void %snext(CollectionPropertyIterator *iter);\n", func); - fprintf(f, "LIBEXPORT void %send(CollectionPropertyIterator *iter);\n", func); - //fprintf(f, "LIBEXPORT int %slength(PointerRNA *ptr);\n", func); - //fprintf(f, "LIBEXPORT void %slookup_int(PointerRNA *ptr, int key, StructRNA **type);\n", func); - //fprintf(f, "LIBEXPORT void %slookup_string(PointerRNA *ptr, const char *key, StructRNA **type);\n", func); + fprintf(f, "void %sbegin(CollectionPropertyIterator *iter, PointerRNA *ptr);\n", func); + fprintf(f, "void %snext(CollectionPropertyIterator *iter);\n", func); + fprintf(f, "void %send(CollectionPropertyIterator *iter);\n", func); + //fprintf(f, "int %slength(PointerRNA *ptr);\n", func); + //fprintf(f, "void %slookup_int(PointerRNA *ptr, int key, StructRNA **type);\n", func); + //fprintf(f, "void %slookup_string(PointerRNA *ptr, const char *key, StructRNA **type);\n", func); break; } } @@ -1862,7 +1862,7 @@ static void rna_generate_prototypes(BlenderRNA *brna, FILE *f) StructRNA *srna; for(srna=brna->structs.first; srna; srna=srna->cont.next) - fprintf(f, "extern LIBEXPORT StructRNA RNA_%s;\n", srna->identifier); + fprintf(f, "extern StructRNA RNA_%s;\n", srna->identifier); fprintf(f, "\n"); } @@ -2336,7 +2336,7 @@ static void rna_generate_struct(BlenderRNA *brna, StructRNA *srna, FILE *f) fprintf(f, "\n"); } - fprintf(f, "LIBEXPORT StructRNA RNA_%s = {\n", srna->identifier); + fprintf(f, "StructRNA RNA_%s = {\n", srna->identifier); if(srna->cont.next) fprintf(f, "\t{(ContainerRNA *)&RNA_%s, ", ((StructRNA*)srna->cont.next)->identifier); else fprintf(f, "\t{NULL, "); @@ -2482,18 +2482,6 @@ static void rna_generate(BlenderRNA *brna, FILE *f, const char *filename, const " Do not edit manually, changes will be overwritten. */\n\n" "#define RNA_RUNTIME\n\n"); - fprintf(f, "#ifndef LIBEXPORT\n"); - fprintf(f, "#ifdef _WIN32\n"); - fprintf(f, "#ifdef BLENDER_PLUGIN\n"); - fprintf(f, "#define LIBEXPORT __declspec(dllimport)\n"); - fprintf(f, "#else\n"); - fprintf(f, "#define LIBEXPORT __declspec(dllexport)\n"); - fprintf(f, "#endif\n"); - fprintf(f, "#else\n"); - fprintf(f, "#define LIBEXPORT\n"); - fprintf(f, "#endif\n"); - fprintf(f, "#endif\n"); - fprintf(f, "#include \n"); fprintf(f, "#include \n"); fprintf(f, "#include \n"); @@ -2570,12 +2558,6 @@ static void rna_generate_header(BlenderRNA *brna, FILE *f) fprintf(f, "/* Automatically generated function declarations for the Data API.\n" " Do not edit manually, changes will be overwritten. */\n\n"); - fprintf(f, "#ifdef _WIN32\n"); - fprintf(f, "#define LIBEXPORT __declspec(dllimport)\n"); - fprintf(f, "#else\n"); - fprintf(f, "#define LIBEXPORT\n"); - fprintf(f, "#endif\n\n"); - fprintf(f, "#include \"RNA_types.h\"\n\n"); fprintf(f, "#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n"); @@ -2597,7 +2579,7 @@ static void rna_generate_header(BlenderRNA *brna, FILE *f) fprintf(f, "/**************** %s ****************/\n\n", srna->name); while(srna) { - fprintf(f, "extern LIBEXPORT StructRNA RNA_%s;\n", srna->identifier); + fprintf(f, "extern StructRNA RNA_%s;\n", srna->identifier); srna= srna->base; } fprintf(f, "\n"); diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c index 4e4bb46669b..88447f6dd77 100644 --- a/source/blender/makesrna/intern/rna_access.c +++ b/source/blender/makesrna/intern/rna_access.c @@ -62,7 +62,7 @@ #include "rna_internal.h" -LIBEXPORT const PointerRNA PointerRNA_NULL= {{NULL}}; +const PointerRNA PointerRNA_NULL= {{NULL}}; /* Init/Exit */ @@ -288,7 +288,7 @@ static int rna_ensure_property_array_length(PointerRNA *ptr, PropertyRNA *prop) } } -static int rna_ensure_property_array_check(PointerRNA *UNUSED(ptr), PropertyRNA *prop) +static int rna_ensure_property_array_check(PropertyRNA *prop) { if(prop->magic == RNA_MAGIC) { return (prop->getlength || prop->totarraylength) ? 1:0; @@ -765,9 +765,9 @@ int RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop) return rna_ensure_property_array_length(ptr, prop); } -int RNA_property_array_check(PointerRNA *ptr, PropertyRNA *prop) +int RNA_property_array_check(PropertyRNA *prop) { - return rna_ensure_property_array_check(ptr, prop); + return rna_ensure_property_array_check(prop); } /* used by BPY to make an array from the python object */ @@ -1399,6 +1399,7 @@ int RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop) IDProperty *idprop; BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN); + BLI_assert(RNA_property_array_check(prop) == 0); if((idprop=rna_idproperty_check(&prop, ptr))) return IDP_Int(idprop); @@ -1414,6 +1415,7 @@ void RNA_property_boolean_set(PointerRNA *ptr, PropertyRNA *prop, int value) IDProperty *idprop; BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN); + BLI_assert(RNA_property_array_check(prop) == 0); /* just incase other values are passed */ if(value) value= 1; @@ -1440,6 +1442,7 @@ void RNA_property_boolean_get_array(PointerRNA *ptr, PropertyRNA *prop, int *val IDProperty *idprop; BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN); + BLI_assert(RNA_property_array_check(prop) != 0); if((idprop=rna_idproperty_check(&prop, ptr))) { if(prop->arraydimension == 0) @@ -1463,6 +1466,7 @@ int RNA_property_boolean_get_index(PointerRNA *ptr, PropertyRNA *prop, int index int len= rna_ensure_property_array_length(ptr, prop); BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN); + BLI_assert(RNA_property_array_check(prop) != 0); if(len <= RNA_MAX_ARRAY_LENGTH) { RNA_property_boolean_get_array(ptr, prop, tmp); @@ -1486,6 +1490,7 @@ void RNA_property_boolean_set_array(PointerRNA *ptr, PropertyRNA *prop, const in IDProperty *idprop; BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN); + BLI_assert(RNA_property_array_check(prop) != 0); if((idprop=rna_idproperty_check(&prop, ptr))) { if(prop->arraydimension == 0) @@ -1519,6 +1524,7 @@ void RNA_property_boolean_set_index(PointerRNA *ptr, PropertyRNA *prop, int inde int len= rna_ensure_property_array_length(ptr, prop); BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN); + BLI_assert(RNA_property_array_check(prop) != 0); if(len <= RNA_MAX_ARRAY_LENGTH) { RNA_property_boolean_get_array(ptr, prop, tmp); @@ -1541,6 +1547,7 @@ int RNA_property_boolean_get_default(PointerRNA *UNUSED(ptr), PropertyRNA *prop) BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop; BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN); + BLI_assert(RNA_property_array_check(prop) == 0); return bprop->defaultvalue; } @@ -1550,6 +1557,7 @@ void RNA_property_boolean_get_default_array(PointerRNA *UNUSED(ptr), PropertyRNA BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop; BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN); + BLI_assert(RNA_property_array_check(prop) != 0); if(prop->arraydimension == 0) values[0]= bprop->defaultvalue; @@ -1565,6 +1573,7 @@ int RNA_property_boolean_get_default_index(PointerRNA *ptr, PropertyRNA *prop, i int len= rna_ensure_property_array_length(ptr, prop); BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN); + BLI_assert(RNA_property_array_check(prop) != 0); if(len <= RNA_MAX_ARRAY_LENGTH) { RNA_property_boolean_get_default_array(ptr, prop, tmp); @@ -1588,6 +1597,7 @@ int RNA_property_int_get(PointerRNA *ptr, PropertyRNA *prop) IDProperty *idprop; BLI_assert(RNA_property_type(prop) == PROP_INT); + BLI_assert(RNA_property_array_check(prop) == 0); if((idprop=rna_idproperty_check(&prop, ptr))) return IDP_Int(idprop); @@ -1603,6 +1613,7 @@ void RNA_property_int_set(PointerRNA *ptr, PropertyRNA *prop, int value) IDProperty *idprop; BLI_assert(RNA_property_type(prop) == PROP_INT); + BLI_assert(RNA_property_array_check(prop) == 0); /* useful to check on bad values but set function should clamp */ /* BLI_assert(RNA_property_int_clamp(ptr, prop, &value) == 0); */ @@ -1628,6 +1639,7 @@ void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values) IDProperty *idprop; BLI_assert(RNA_property_type(prop) == PROP_INT); + BLI_assert(RNA_property_array_check(prop) != 0); if((idprop=rna_idproperty_check(&prop, ptr))) { if(prop->arraydimension == 0) @@ -1688,6 +1700,7 @@ int RNA_property_int_get_index(PointerRNA *ptr, PropertyRNA *prop, int index) int len= rna_ensure_property_array_length(ptr, prop); BLI_assert(RNA_property_type(prop) == PROP_INT); + BLI_assert(RNA_property_array_check(prop) != 0); if(len <= RNA_MAX_ARRAY_LENGTH) { RNA_property_int_get_array(ptr, prop, tmp); @@ -1711,6 +1724,7 @@ void RNA_property_int_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *v IDProperty *idprop; BLI_assert(RNA_property_type(prop) == PROP_INT); + BLI_assert(RNA_property_array_check(prop) != 0); if((idprop=rna_idproperty_check(&prop, ptr))) { if(prop->arraydimension == 0) @@ -1744,6 +1758,7 @@ void RNA_property_int_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, i int len= rna_ensure_property_array_length(ptr, prop); BLI_assert(RNA_property_type(prop) == PROP_INT); + BLI_assert(RNA_property_array_check(prop) != 0); if(len <= RNA_MAX_ARRAY_LENGTH) { RNA_property_int_get_array(ptr, prop, tmp); @@ -1772,6 +1787,7 @@ void RNA_property_int_get_default_array(PointerRNA *UNUSED(ptr), PropertyRNA *pr IntPropertyRNA *iprop= (IntPropertyRNA*)prop; BLI_assert(RNA_property_type(prop) == PROP_INT); + BLI_assert(RNA_property_array_check(prop) != 0); if(prop->arraydimension == 0) values[0]= iprop->defaultvalue; @@ -1808,6 +1824,7 @@ float RNA_property_float_get(PointerRNA *ptr, PropertyRNA *prop) IDProperty *idprop; BLI_assert(RNA_property_type(prop) == PROP_FLOAT); + BLI_assert(RNA_property_array_check(prop) == 0); if((idprop=rna_idproperty_check(&prop, ptr))) { if(idprop->type == IDP_FLOAT) @@ -1827,6 +1844,7 @@ void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value) IDProperty *idprop; BLI_assert(RNA_property_type(prop) == PROP_FLOAT); + BLI_assert(RNA_property_array_check(prop) == 0); /* useful to check on bad values but set function should clamp */ /* BLI_assert(RNA_property_float_clamp(ptr, prop, &value) == 0); */ @@ -1858,6 +1876,7 @@ void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *val int i; BLI_assert(RNA_property_type(prop) == PROP_FLOAT); + BLI_assert(RNA_property_array_check(prop) != 0); if((idprop=rna_idproperty_check(&prop, ptr))) { if(prop->arraydimension == 0) @@ -1923,6 +1942,7 @@ float RNA_property_float_get_index(PointerRNA *ptr, PropertyRNA *prop, int index int len= rna_ensure_property_array_length(ptr, prop); BLI_assert(RNA_property_type(prop) == PROP_FLOAT); + BLI_assert(RNA_property_array_check(prop) != 0); if(len <= RNA_MAX_ARRAY_LENGTH) { RNA_property_float_get_array(ptr, prop, tmp); @@ -1948,6 +1968,7 @@ void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, const floa int i; BLI_assert(RNA_property_type(prop) == PROP_FLOAT); + BLI_assert(RNA_property_array_check(prop) != 0); if((idprop=rna_idproperty_check(&prop, ptr))) { if(prop->arraydimension == 0) { @@ -1991,6 +2012,7 @@ void RNA_property_float_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, int len= rna_ensure_property_array_length(ptr, prop); BLI_assert(RNA_property_type(prop) == PROP_FLOAT); + BLI_assert(RNA_property_array_check(prop) != 0); if(len <= RNA_MAX_ARRAY_LENGTH) { RNA_property_float_get_array(ptr, prop, tmp); @@ -2013,6 +2035,7 @@ float RNA_property_float_get_default(PointerRNA *UNUSED(ptr), PropertyRNA *prop) FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop; BLI_assert(RNA_property_type(prop) == PROP_FLOAT); + BLI_assert(RNA_property_array_check(prop) == 0); return fprop->defaultvalue; } @@ -2022,6 +2045,7 @@ void RNA_property_float_get_default_array(PointerRNA *UNUSED(ptr), PropertyRNA * FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop; BLI_assert(RNA_property_type(prop) == PROP_FLOAT); + BLI_assert(RNA_property_array_check(prop) != 0); if(prop->arraydimension == 0) values[0]= fprop->defaultvalue; @@ -2037,6 +2061,7 @@ float RNA_property_float_get_default_index(PointerRNA *ptr, PropertyRNA *prop, i int len= rna_ensure_property_array_length(ptr, prop); BLI_assert(RNA_property_type(prop) == PROP_FLOAT); + BLI_assert(RNA_property_array_check(prop) != 0); if(len <= RNA_MAX_ARRAY_LENGTH) { RNA_property_float_get_default_array(ptr, prop, tmp); @@ -4484,7 +4509,8 @@ int RNA_parameter_list_ret_count(ParameterList *parms) void RNA_parameter_list_begin(ParameterList *parms, ParameterIterator *iter) { - RNA_pointer_create(NULL, &RNA_Function, parms->func, &iter->funcptr); + /* may be useful but unused now */ + /* RNA_pointer_create(NULL, &RNA_Function, parms->func, &iter->funcptr); */ /*UNUSED*/ iter->parms= parms; iter->parm= parms->func->cont.properties.first; diff --git a/source/blender/makesrna/intern/rna_constraint.c b/source/blender/makesrna/intern/rna_constraint.c index 0163dd5db32..8127c180706 100644 --- a/source/blender/makesrna/intern/rna_constraint.c +++ b/source/blender/makesrna/intern/rna_constraint.c @@ -85,7 +85,7 @@ static EnumPropertyItem target_space_pchan_items[] = { static EnumPropertyItem owner_space_pchan_items[] = { {0, "WORLD", 0, "World Space", "The constraint is applied relative to the world coordinate system"}, {2, "POSE", 0, "Pose Space", "The constraint is applied in Pose Space, the object transformation is ignored"}, - {3, "LOCAL_WITH_PARENT", 0, "The constraint is applied relative to the local coordinate system of the object, with the parent transformation added"}, + {3, "LOCAL_WITH_PARENT", 0, "Local With Parent", "The constraint is applied relative to the local coordinate system of the object, with the parent transformation added"}, {1, "LOCAL", 0, "Local Space", "The constraint is applied relative to the local coordinate sytem of the object"}, {0, NULL, 0, NULL, NULL}}; diff --git a/source/blender/makesrna/intern/rna_curve.c b/source/blender/makesrna/intern/rna_curve.c index 260d483b9d2..599d36ec8b8 100644 --- a/source/blender/makesrna/intern/rna_curve.c +++ b/source/blender/makesrna/intern/rna_curve.c @@ -651,7 +651,7 @@ static char *rna_TextBox_path(PointerRNA *ptr) int index= (int)(tb - cu->tb); if (index >= 0 && index < cu->totbox) - return BLI_sprintfN("textboxes[%d]", index); + return BLI_sprintfN("text_boxes[%d]", index); else return BLI_strdup(""); } diff --git a/source/blender/makesrna/intern/rna_internal.h b/source/blender/makesrna/intern/rna_internal.h index d20033a5967..c0ae7b02b1a 100644 --- a/source/blender/makesrna/intern/rna_internal.h +++ b/source/blender/makesrna/intern/rna_internal.h @@ -30,12 +30,6 @@ #ifndef RNA_INTERNAL_H #define RNA_INTERNAL_H -#ifdef _WIN32 -#define LIBEXPORT __declspec(dllexport) -#else -#define LIBEXPORT -#endif - #include "UI_resources.h" #include "rna_internal_types.h" @@ -307,8 +301,8 @@ extern CollectionPropertyRNA rna_PropertyGroupItem_idp_array; extern FloatPropertyRNA rna_PropertyGroupItem_double; extern FloatPropertyRNA rna_PropertyGroupItem_double_array; -extern LIBEXPORT StructRNA RNA_PropertyGroupItem; -extern LIBEXPORT StructRNA RNA_PropertyGroup; +extern StructRNA RNA_PropertyGroupItem; +extern StructRNA RNA_PropertyGroup; struct IDProperty *rna_idproperty_check(struct PropertyRNA **prop, struct PointerRNA *ptr); diff --git a/source/blender/makesrna/intern/rna_main_api.c b/source/blender/makesrna/intern/rna_main_api.c index 7d6e1dd0567..05665ea077a 100644 --- a/source/blender/makesrna/intern/rna_main_api.c +++ b/source/blender/makesrna/intern/rna_main_api.c @@ -232,7 +232,7 @@ Mesh *rna_Main_meshes_new(Main *UNUSED(bmain), const char *name) id_us_min(&me->id); return me; } -LIBEXPORT void rna_Main_meshes_remove(Main *bmain, ReportList *reports, Mesh *mesh) +void rna_Main_meshes_remove(Main *bmain, ReportList *reports, Mesh *mesh) { if(ID_REAL_USERS(mesh) <= 0) free_libblock(&bmain->mesh, mesh); diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c index ba655915fb6..5c5391b0bba 100644 --- a/source/blender/makesrna/intern/rna_modifier.c +++ b/source/blender/makesrna/intern/rna_modifier.c @@ -2265,6 +2265,13 @@ static void rna_def_modifier_solidify(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Thickness", "Thickness of the shell"); RNA_def_property_update(prop, 0, "rna_Modifier_update"); + prop= RNA_def_property(srna, "thickness_vertex_group", PROP_FLOAT, PROP_FACTOR); + RNA_def_property_float_sdna(prop, NULL, "offset_fac_vg"); + RNA_def_property_range(prop, 0.0, 1.0); + RNA_def_property_ui_range(prop, 0, 1, 0.1, 3); + RNA_def_property_ui_text(prop, "Vertex Group Factor", "Thickness factor to use for zero vertex group influence"); + RNA_def_property_update(prop, 0, "rna_Modifier_update"); + prop= RNA_def_property(srna, "offset", PROP_FLOAT, PROP_FACTOR); RNA_def_property_float_sdna(prop, NULL, "offset_fac"); RNA_def_property_range(prop, -FLT_MAX, FLT_MAX); diff --git a/source/blender/makesrna/intern/rna_object.c b/source/blender/makesrna/intern/rna_object.c index 76bbfcbed41..55e1119f58e 100644 --- a/source/blender/makesrna/intern/rna_object.c +++ b/source/blender/makesrna/intern/rna_object.c @@ -2025,7 +2025,14 @@ static void rna_def_object(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Input Matrix", "Matrix access to location, rotation and scale (including deltas), before constraints and parenting are applied."); RNA_def_property_float_funcs(prop, "rna_Object_matrix_basis_get", "rna_Object_matrix_basis_set", NULL); RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_internal_update"); - + + /*parent_inverse*/ + prop= RNA_def_property(srna, "matrix_parent_inverse", PROP_FLOAT, PROP_MATRIX); + RNA_def_property_float_sdna(prop, NULL, "parentinv"); + RNA_def_property_multi_array(prop, 2, rna_matrix_dimsize_4x4); + RNA_def_property_ui_text(prop, "Matrix", "Inverse of object's parent matrix at time of parenting"); + RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_internal_update"); + /* collections */ prop= RNA_def_property(srna, "constraints", PROP_COLLECTION, PROP_NONE); RNA_def_property_struct_type(prop, "Constraint"); diff --git a/source/blender/makesrna/intern/rna_object_api.c b/source/blender/makesrna/intern/rna_object_api.c index b99b5f3dc26..53c71c42f7c 100644 --- a/source/blender/makesrna/intern/rna_object_api.c +++ b/source/blender/makesrna/intern/rna_object_api.c @@ -78,7 +78,7 @@ /* copied from Mesh_getFromObject and adapted to RNA interface */ /* settings: 0 - preview, 1 - render */ -LIBEXPORT Mesh *rna_Object_to_mesh(Object *ob, ReportList *reports, Scene *sce, int apply_modifiers, int settings) +Mesh *rna_Object_to_mesh(Object *ob, ReportList *reports, Scene *sce, int apply_modifiers, int settings) { Mesh *tmpmesh; Curve *tmpcu = NULL; @@ -286,7 +286,7 @@ static void dupli_render_particle_set(Scene *scene, Object *ob, int level, int e dupli_render_particle_set(scene, go->ob, level+1, enable); } /* When no longer needed, duplilist should be freed with Object.free_duplilist */ -LIBEXPORT void rna_Object_create_duplilist(Object *ob, ReportList *reports, Scene *sce) +void rna_Object_create_duplilist(Object *ob, ReportList *reports, Scene *sce) { if (!(ob->transflag & OB_DUPLI)) { BKE_report(reports, RPT_ERROR, "Object does not have duplis."); @@ -308,7 +308,7 @@ LIBEXPORT void rna_Object_create_duplilist(Object *ob, ReportList *reports, Scen /* ob->duplilist should now be freed with Object.free_duplilist */ } -LIBEXPORT void rna_Object_free_duplilist(Object *ob) +void rna_Object_free_duplilist(Object *ob) { if (ob->duplilist) { free_object_duplilist(ob->duplilist); @@ -457,7 +457,7 @@ void rna_ObjectBase_layers_from_view(Base *base, View3D *v3d) base->lay= base->object->lay= v3d->lay; } -LIBEXPORT int rna_Object_is_modified(Object *ob, Scene *scene, int settings) +int rna_Object_is_modified(Object *ob, Scene *scene, int settings) { return object_is_modified(scene, ob) & settings; } diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c index a0744a5b6a0..4337f3c4de6 100644 --- a/source/blender/makesrna/intern/rna_render.c +++ b/source/blender/makesrna/intern/rna_render.c @@ -50,12 +50,12 @@ #include "BKE_context.h" #include "BKE_report.h" -LIBEXPORT void engine_tag_redraw(RenderEngine *engine) +void engine_tag_redraw(RenderEngine *engine) { engine->do_draw = 1; } -LIBEXPORT void engine_tag_update(RenderEngine *engine) +void engine_tag_update(RenderEngine *engine) { engine->do_update = 1; } @@ -263,7 +263,7 @@ static void rna_RenderLayer_rect_get(PointerRNA *ptr, float *values) memcpy(values, rl->rectf, sizeof(float)*rl->rectx*rl->recty*4); } -LIBEXPORT void rna_RenderLayer_rect_set(PointerRNA *ptr, const float *values) +void rna_RenderLayer_rect_set(PointerRNA *ptr, const float *values) { RenderLayer *rl= (RenderLayer*)ptr->data; memcpy(rl->rectf, values, sizeof(float)*rl->rectx*rl->recty*4); @@ -285,7 +285,7 @@ static void rna_RenderPass_rect_get(PointerRNA *ptr, float *values) memcpy(values, rpass->rect, sizeof(float)*rpass->rectx*rpass->recty*rpass->channels); } -LIBEXPORT void rna_RenderPass_rect_set(PointerRNA *ptr, const float *values) +void rna_RenderPass_rect_set(PointerRNA *ptr, const float *values) { RenderPass *rpass= (RenderPass*)ptr->data; memcpy(rpass->rect, values, sizeof(float)*rpass->rectx*rpass->recty*rpass->channels); diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c index 57044188dd9..a685c6deb34 100644 --- a/source/blender/makesrna/intern/rna_userdef.c +++ b/source/blender/makesrna/intern/rna_userdef.c @@ -2769,7 +2769,7 @@ static void rna_def_userdef_input(BlenderRNA *brna) prop= RNA_def_property(srna, "ndof_orbit_invert_axes", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "ndof_flag", NDOF_ORBIT_INVERT_AXES); RNA_def_property_ui_text(prop, "Invert Axes", "Toggle between moving the viewpoint or moving the scene being viewed"); - /* in 3Dx docs, this is called 'object mode' vs. 'target camera mode' + /* in 3Dx docs, this is called 'object mode' vs. 'target camera mode' */ /* 3D view: fly */ prop= RNA_def_property(srna, "ndof_lock_horizon", PROP_BOOLEAN, PROP_NONE); diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c index 307cf0e175a..93adf808f83 100644 --- a/source/blender/makesrna/intern/rna_wm.c +++ b/source/blender/makesrna/intern/rna_wm.c @@ -1746,6 +1746,7 @@ static void rna_def_keyconfig(BlenderRNA *brna) RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", KMI_INACTIVE); RNA_def_property_ui_text(prop, "Active", "Activate or deactivate item"); RNA_def_property_ui_icon(prop, ICON_CHECKBOX_DEHLT, 1); + RNA_def_property_update(prop, 0, "rna_KeyMapItem_update"); prop= RNA_def_property(srna, "is_user_modified", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "flag", KMI_USER_MODIFIED); diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index 0b1fac06e14..afe6da8b38a 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -232,8 +232,10 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, float (*vert_nors)[3]= NULL; - float const ofs_orig= - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset); - float const ofs_new= smd->offset - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset); + const float ofs_orig= - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset); + const float ofs_new= smd->offset - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset); + const float offset_fac_vg= smd->offset_fac_vg; + const float offset_fac_vg_inv= 1.0f - smd->offset_fac_vg; /* weights */ MDeformVert *dvert, *dv= NULL; @@ -391,8 +393,9 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, dv= dvert; for(i=0; ico, mv->co, mv->no, scalar_short_vgroup); @@ -405,8 +408,9 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, dv= dvert; for(i=0; ico, mv->co, mv->no, scalar_short_vgroup); @@ -466,15 +470,21 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, /* vertex group support */ if(dvert) { + float scalar; + dv= dvert; if(defgrp_invert) { for(i=0; inext) { + + for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) { + wmOperatorType *ot= BLI_ghashIterator_getValue(iter); + name= PyUnicode_FromString(ot->idname); PyList_Append(list, name); Py_DECREF(name); } - + BLI_ghashIterator_free(iter); + return list; } diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c index 4447a0476f4..ba8145c2773 100644 --- a/source/blender/python/intern/bpy_rna.c +++ b/source/blender/python/intern/bpy_rna.c @@ -856,7 +856,7 @@ static PyObject *pyrna_prop_str(BPy_PropertyRNA *self) if(type==PROP_COLLECTION) { len= pyrna_prop_collection_length(self); } - else if (RNA_property_array_check(&self->ptr, self->prop)) { + else if (RNA_property_array_check(self->prop)) { len= pyrna_prop_array_length((BPy_PropertyArrayRNA *)self); } @@ -1224,7 +1224,7 @@ PyObject *pyrna_prop_to_py(PointerRNA *ptr, PropertyRNA *prop) PyObject *ret; int type= RNA_property_type(prop); - if (RNA_property_array_check(ptr, prop)) { + if (RNA_property_array_check(prop)) { return pyrna_py_from_array(ptr, prop); } @@ -1369,7 +1369,7 @@ static int pyrna_py_to_prop(PointerRNA *ptr, PropertyRNA *prop, void *data, PyOb int type= RNA_property_type(prop); - if (RNA_property_array_check(ptr, prop)) { + if (RNA_property_array_check(prop)) { /* done getting the length */ if(pyrna_py_to_array(ptr, prop, data, value, error_prefix) == -1) { return -1; @@ -4088,7 +4088,7 @@ static PyObject *pyrna_param_to_py(PointerRNA *ptr, PropertyRNA *prop, void *dat int type= RNA_property_type(prop); int flag= RNA_property_flag(prop); - if(RNA_property_array_check(ptr, prop)) { + if(RNA_property_array_check(prop)) { int a, len; if (flag & PROP_DYNAMIC) { @@ -5519,7 +5519,7 @@ PyObject *pyrna_prop_CreatePyObject(PointerRNA *ptr, PropertyRNA *prop) { BPy_PropertyRNA *pyrna; - if (RNA_property_array_check(ptr, prop) == 0) { + if (RNA_property_array_check(prop) == 0) { PyTypeObject *type; if (RNA_property_type(prop) != PROP_COLLECTION) { diff --git a/source/blender/python/intern/bpy_rna_anim.c b/source/blender/python/intern/bpy_rna_anim.c index 30d83e196ba..8bde1db96ca 100644 --- a/source/blender/python/intern/bpy_rna_anim.c +++ b/source/blender/python/intern/bpy_rna_anim.c @@ -107,7 +107,7 @@ static int pyrna_struct_anim_args_parse(PointerRNA *ptr, const char *error_prefi return -1; } - if(RNA_property_array_check(&r_ptr, prop) == 0) { + if(RNA_property_array_check(prop) == 0) { if((*index) == -1) { *index= 0; } diff --git a/source/blender/python/intern/bpy_rna_array.c b/source/blender/python/intern/bpy_rna_array.c index 9843a57e0f2..e50ce233671 100644 --- a/source/blender/python/intern/bpy_rna_array.c +++ b/source/blender/python/intern/bpy_rna_array.c @@ -285,17 +285,20 @@ static char *copy_values(PyObject *seq, PointerRNA *ptr, PropertyRNA *prop, int int totdim= RNA_property_array_dimension(ptr, prop, NULL); const int seq_size= PySequence_Size(seq); - /* General note for 'data' being NULL or PySequence_GetItem() failing. + /* Regarding PySequence_GetItem() failing. * * This should never be NULL since we validated it, _but_ some triky python * developer could write their own sequence type which succeeds on - * validating but fails later somehow, so include checks for safety. */ + * validating but fails later somehow, so include checks for safety. + */ + + /* Note that 'data can be NULL' */ if(seq_size == -1) { return NULL; } - for (i= 0; (i < seq_size) && data; i++) { + for (i= 0; i < seq_size; i++) { PyObject *item= PySequence_GetItem(seq, i); if(item) { if (dim + 1 < totdim) { diff --git a/source/blender/python/mathutils/mathutils_Vector.c b/source/blender/python/mathutils/mathutils_Vector.c index a954c07c98d..56c1334ecac 100644 --- a/source/blender/python/mathutils/mathutils_Vector.c +++ b/source/blender/python/mathutils/mathutils_Vector.c @@ -37,8 +37,6 @@ #include "BLI_math.h" #include "BLI_utildefines.h" -extern void PyC_LineSpit(void); - #define MAX_DIMENSIONS 4 /* Swizzle axes get packed into a single value that is used as a closure. Each @@ -1161,28 +1159,18 @@ static PyObject *Vector_mul(PyObject *v1, PyObject *v2) } else if (vec1) { if (MatrixObject_Check(v2)) { - extern void PyC_LineSpit(void); - - /* VEC * MATRIX */ - /* this is deprecated!, use the reverse instead */ - float tvec[MAX_DIMENSIONS]; - /* ------ to be removed ------*/ -#ifndef MATH_STANDALONE -#ifdef WITH_ASSERT_ABORT +#if 1 PyErr_SetString(PyExc_ValueError, "(Vector * Matrix) is now removed, reverse the " "order (promoted to an Error for Debug builds)"); return NULL; #else - printf("Warning: (Vector * Matrix) is now deprecated, " - "reverse the multiplication order in the script.\n"); - PyC_LineSpit(); -#endif -#endif /* ifndef MATH_STANDALONE */ -/* ------ to be removed ------*/ + /* VEC * MATRIX */ + /* this is deprecated!, use the reverse instead */ + float tvec[MAX_DIMENSIONS]; if(BaseMath_ReadCallback((MatrixObject *)v2) == -1) return NULL; @@ -1191,9 +1179,18 @@ static PyObject *Vector_mul(PyObject *v1, PyObject *v2) } return newVectorObject(tvec, vec1->size, Py_NEW, Py_TYPE(vec1)); +#endif +/* ------ to be removed ------*/ } else if (QuaternionObject_Check(v2)) { /* VEC * QUAT */ +/* ------ to be removed ------*/ +#if 1 + PyErr_SetString(PyExc_ValueError, + "(Vector * Quat) is now removed, reverse the " + "order (promoted to an Error for Debug builds)"); + return NULL; +#else QuaternionObject *quat2 = (QuaternionObject*)v2; float tvec[3]; @@ -1207,26 +1204,11 @@ static PyObject *Vector_mul(PyObject *v1, PyObject *v2) return NULL; } - -/* ------ to be removed ------*/ -#ifndef MATH_STANDALONE -#ifdef WITH_ASSERT_ABORT - PyErr_SetString(PyExc_ValueError, - "(Vector * Quat) is now removed, reverse the " - "order (promoted to an Error for Debug builds)"); - return NULL; -#else - printf("Warning: (Vector * Quat) is now deprecated, " - "reverse the multiplication order in the script.\n"); - PyC_LineSpit(); -#endif -#endif /* ifndef MATH_STANDALONE */ -/* ------ to be removed ------*/ - - copy_v3_v3(tvec, vec1->vec); mul_qt_v3(quat2->quat, tvec); return newVectorObject(tvec, 3, Py_NEW, Py_TYPE(vec1)); +#endif +/* ------ to be removed ------*/ } else if (((scalar= PyFloat_AsDouble(v2)) == -1.0f && PyErr_Occurred())==0) { /* VEC * FLOAT */ return vector_mul_float(vec1, scalar); @@ -1260,6 +1242,14 @@ static PyObject *Vector_imul(PyObject *v1, PyObject *v2) /* only support vec*=float and vec*=mat vec*=vec result is a float so that wont work */ if (MatrixObject_Check(v2)) { +/* ------ to be removed ------*/ +#if 1 + PyErr_SetString(PyExc_ValueError, + "(Vector *= Matrix) is now removed, reverse the " + "order (promoted to an Error for Debug builds) " + "and uses the non in-place multiplication."); + return NULL; +#else float rvec[MAX_DIMENSIONS]; if(BaseMath_ReadCallback((MatrixObject *)v2) == -1) return NULL; @@ -1267,28 +1257,21 @@ static PyObject *Vector_imul(PyObject *v1, PyObject *v2) if(column_vector_multiplication(rvec, vec, (MatrixObject*)v2) == -1) return NULL; - -/* ------ to be removed ------*/ -#ifndef MATH_STANDALONE -#ifdef WITH_ASSERT_ABORT - PyErr_SetString(PyExc_ValueError, - "(Vector *= Matrix) is now removed, reverse the " - "order (promoted to an Error for Debug builds) " - "and uses the non in-place multiplication."); - return NULL; -#else - printf("Warning: (Vector *= Matrix) is now deprecated, " - "reverse the (non in-place) multiplication order in the script.\n"); - PyC_LineSpit(); -#endif -#endif /* ifndef MATH_STANDALONE */ -/* ------ to be removed ------*/ - - memcpy(vec->vec, rvec, sizeof(float) * vec->size); +#endif +/* ------ to be removed ------*/ } else if (QuaternionObject_Check(v2)) { /* VEC *= QUAT */ + +/* ------ to be removed ------*/ +#if 1 + PyErr_SetString(PyExc_ValueError, + "(Vector *= Quat) is now removed, reverse the " + "order (promoted to an Error for Debug builds) " + "and uses the non in-place multiplication."); + return NULL; +#else QuaternionObject *quat2 = (QuaternionObject*)v2; if(vec->size != 3) { @@ -1302,25 +1285,9 @@ static PyObject *Vector_imul(PyObject *v1, PyObject *v2) return NULL; } - -/* ------ to be removed ------*/ -#ifndef MATH_STANDALONE -#ifdef WITH_ASSERT_ABORT - PyErr_SetString(PyExc_ValueError, - "(Vector *= Quat) is now removed, reverse the " - "order (promoted to an Error for Debug builds) " - "and uses the non in-place multiplication."); - return NULL; -#else - printf("Warning: (Vector *= Quat) is now deprecated, " - "reverse the (non in-place) multiplication order in the script.\n"); - PyC_LineSpit(); -#endif -#endif /* ifndef MATH_STANDALONE */ -/* ------ to be removed ------*/ - - mul_qt_v3(quat2->quat, vec->vec); +#endif +/* ------ to be removed ------*/ } else if (((scalar= PyFloat_AsDouble(v2)) == -1.0f && PyErr_Occurred())==0) { /* VEC *= FLOAT */ mul_vn_fl(vec->vec, vec->size, scalar); @@ -1728,6 +1695,21 @@ static int Vector_setLength(VectorObject *self, PyObject *value) return 0; } +/* vector.length_squared */ +static PyObject *Vector_getLengthSquared(VectorObject *self, void *UNUSED(closure)) +{ + double dot = 0.0f; + int i; + + if(BaseMath_ReadCallback(self) == -1) + return NULL; + + for(i = 0; i < self->size; i++){ + dot += (double)(self->vec[i] * self->vec[i]); + } + return PyFloat_FromDouble(dot); +} + /* Get a new Vector according to the provided swizzle. This function has little error checking, as we are in control of the inputs: the closure is set by us in Vector_createSwizzleGetSeter. */ @@ -1851,6 +1833,7 @@ static PyGetSetDef Vector_getseters[] = { {(char *)"z", (getter)Vector_getAxis, (setter)Vector_setAxis, (char *)"Vector Z axis (3D Vectors only).\n\n:type: float", (void *)2}, {(char *)"w", (getter)Vector_getAxis, (setter)Vector_setAxis, (char *)"Vector W axis (4D Vectors only).\n\n:type: float", (void *)3}, {(char *)"length", (getter)Vector_getLength, (setter)Vector_setLength, (char *)"Vector Length.\n\n:type: float", NULL}, + {(char *)"length_squared", (getter)Vector_getLengthSquared, (setter)NULL, (char *)"Vector length squared (v.dot(v)).\n\n:type: float", NULL}, {(char *)"magnitude", (getter)Vector_getLength, (setter)Vector_setLength, (char *)"Vector Length.\n\n:type: float", NULL}, {(char *)"is_wrapped", (getter)BaseMathObject_getWrapped, (setter)NULL, (char *)BaseMathObject_Wrapped_doc, NULL}, {(char *)"owner", (getter)BaseMathObject_getOwner, (setter)NULL, (char *)BaseMathObject_Owner_doc, NULL}, diff --git a/source/blender/render/extern/include/RE_engine.h b/source/blender/render/extern/include/RE_engine.h index 2b0ee81fcde..f7a927ec5db 100644 --- a/source/blender/render/extern/include/RE_engine.h +++ b/source/blender/render/extern/include/RE_engine.h @@ -93,14 +93,14 @@ void RE_engine_free(RenderEngine *engine); void RE_layer_load_from_file(struct RenderLayer *layer, struct ReportList *reports, const char *filename, int x, int y); void RE_result_load_from_file(struct RenderResult *result, struct ReportList *reports, const char *filename); -LIBEXPORT struct RenderResult *RE_engine_begin_result(RenderEngine *engine, int x, int y, int w, int h); -LIBEXPORT void RE_engine_update_result(RenderEngine *engine, struct RenderResult *result); -LIBEXPORT void RE_engine_end_result(RenderEngine *engine, struct RenderResult *result); +struct RenderResult *RE_engine_begin_result(RenderEngine *engine, int x, int y, int w, int h); +void RE_engine_update_result(RenderEngine *engine, struct RenderResult *result); +void RE_engine_end_result(RenderEngine *engine, struct RenderResult *result); -LIBEXPORT int RE_engine_test_break(RenderEngine *engine); -LIBEXPORT void RE_engine_update_stats(RenderEngine *engine, const char *stats, const char *info); -LIBEXPORT void RE_engine_update_progress(RenderEngine *engine, float progress); -LIBEXPORT void RE_engine_report(RenderEngine *engine, int type, const char *msg); +int RE_engine_test_break(RenderEngine *engine); +void RE_engine_update_stats(RenderEngine *engine, const char *stats, const char *info); +void RE_engine_update_progress(RenderEngine *engine, float progress); +void RE_engine_report(RenderEngine *engine, int type, const char *msg); int RE_engine_render(struct Render *re, int do_all); diff --git a/source/blender/render/intern/source/rayshade.c b/source/blender/render/intern/source/rayshade.c index 34d3adcf15b..d62f411a7c5 100644 --- a/source/blender/render/intern/source/rayshade.c +++ b/source/blender/render/intern/source/rayshade.c @@ -1679,7 +1679,7 @@ static void ray_trace_shadow_tra(Isect *is, ShadeInput *origshi, int depth, int /* not used, test function for ambient occlusion (yaf: pathlight) */ /* main problem; has to be called within shading loop, giving unwanted recursion */ -static int ray_trace_shadow_rad(ShadeInput *ship, ShadeResult *shr) +static int UNUSED_FUNCTION(ray_trace_shadow_rad)(ShadeInput *ship, ShadeResult *shr) { static int counter=0, only_one= 0; extern float hashvectf[]; diff --git a/source/blender/windowmanager/CMakeLists.txt b/source/blender/windowmanager/CMakeLists.txt index 20ac3ba7077..dc83e29b497 100644 --- a/source/blender/windowmanager/CMakeLists.txt +++ b/source/blender/windowmanager/CMakeLists.txt @@ -67,6 +67,7 @@ set(SRC intern/wm_window.c WM_api.h + WM_keymap.h WM_types.h wm.h wm_cursors.h diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h index 42c3096dfc9..e1b8cefca4b 100644 --- a/source/blender/windowmanager/WM_api.h +++ b/source/blender/windowmanager/WM_api.h @@ -179,7 +179,7 @@ void WM_operator_free (struct wmOperator *op); void WM_operator_stack_clear(struct wmWindowManager *wm); struct wmOperatorType *WM_operatortype_find(const char *idnamem, int quiet); -struct wmOperatorType *WM_operatortype_first(void); +struct GHashIterator *WM_operatortype_iter(void); void WM_operatortype_append (void (*opfunc)(struct wmOperatorType*)); void WM_operatortype_append_ptr (void (*opfunc)(struct wmOperatorType*, void *), void *userdata); void WM_operatortype_append_macro_ptr (void (*opfunc)(struct wmOperatorType*, void *), void *userdata); @@ -222,6 +222,7 @@ wmOperator *WM_operator_last_redo(const struct bContext *C); #define WM_FILESEL_DIRECTORY (1 << 1) #define WM_FILESEL_FILENAME (1 << 2) #define WM_FILESEL_FILEPATH (1 << 3) +#define WM_FILESEL_FILES (1 << 4) /* operator as a python command (resultuing string must be free'd) */ @@ -230,6 +231,7 @@ void WM_operator_bl_idname(char *to, const char *from); void WM_operator_py_idname(char *to, const char *from); /* *************** menu types ******************** */ +void WM_menutype_init(void); struct MenuType *WM_menutype_find(const char *idname, int quiet); int WM_menutype_add(struct MenuType* mt); int WM_menutype_contains(struct MenuType* mt); diff --git a/source/blender/windowmanager/WM_types.h b/source/blender/windowmanager/WM_types.h index 7fd52e89a5f..cc3ae3ab753 100644 --- a/source/blender/windowmanager/WM_types.h +++ b/source/blender/windowmanager/WM_types.h @@ -389,8 +389,14 @@ typedef struct wmNDOFMotionData { /* awfully similar to GHOST_TEventNDOFMotionData... */ // Each component normally ranges from -1 to +1, but can exceed that. // These use blender standard view coordinates, with positive rotations being CCW about the axis. - float tvec[3]; // translation - float rvec[3]; // rotation: + union { + float tvec[3]; // translation + struct { float tx, ty, tz; }; + }; + union { + float rvec[3]; // rotation: + struct { float rx, ry, rz; }; + }; // axis = (rx,ry,rz).normalized // amount = (rx,ry,rz).magnitude [in revolutions, 1.0 = 360 deg] float dt; // time since previous NDOF Motion event @@ -417,8 +423,6 @@ typedef struct wmTimer { typedef struct wmOperatorType { - struct wmOperatorType *next, *prev; - const char *name; /* text for ui, undo */ const char *idname; /* unique identifier */ const char *description; /* tooltips and python docs */ diff --git a/source/blender/windowmanager/intern/wm.c b/source/blender/windowmanager/intern/wm.c index 1d5cf1cdc53..9299b50103c 100644 --- a/source/blender/windowmanager/intern/wm.c +++ b/source/blender/windowmanager/intern/wm.c @@ -40,7 +40,11 @@ #include "GHOST_C-api.h" +#include "MEM_guardedalloc.h" + +#include "BLI_utildefines.h" #include "BLI_blenlib.h" +#include "BLI_ghash.h" #include "BKE_blender.h" #include "BKE_context.h" @@ -59,8 +63,6 @@ #include "wm_draw.h" #include "wm.h" -#include "MEM_guardedalloc.h" - #include "ED_screen.h" #ifdef WITH_PYTHON @@ -151,14 +153,14 @@ void WM_operator_stack_clear(wmWindowManager *wm) /* ****************************************** */ -static ListBase menutypes = {NULL, NULL}; /* global menutype list */ +static GHash *menutypes_hash= NULL; MenuType *WM_menutype_find(const char *idname, int quiet) { MenuType* mt; if (idname[0]) { - mt= BLI_findstring(&menutypes, idname, offsetof(MenuType, idname)); + mt= BLI_ghash_lookup(menutypes_hash, idname); if(mt) return mt; } @@ -171,35 +173,55 @@ MenuType *WM_menutype_find(const char *idname, int quiet) int WM_menutype_add(MenuType* mt) { - BLI_addtail(&menutypes, mt); + BLI_ghash_insert(menutypes_hash, (void *)mt->idname, mt); return 1; } /* inefficient but only used for tooltip code */ int WM_menutype_contains(MenuType* mt) { - return (mt != NULL && BLI_findindex(&menutypes, mt) != -1); + int found= FALSE; + + if(mt) { + GHashIterator *iter= BLI_ghashIterator_new(menutypes_hash); + + for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) { + if(mt == BLI_ghashIterator_getValue(iter)) { + found= TRUE; + break; + } + } + BLI_ghashIterator_free(iter); + } + + return found; } void WM_menutype_freelink(MenuType* mt) { - BLI_freelinkN(&menutypes, mt); + BLI_ghash_remove(menutypes_hash, mt->idname, NULL, (GHashValFreeFP)MEM_freeN); +} + +/* called on initialize WM_init() */ +void WM_menutype_init(void) +{ + menutypes_hash= BLI_ghash_new(BLI_ghashutil_strhash, BLI_ghashutil_strcmp, "menutypes_hash gh"); } void WM_menutype_free(void) { - MenuType* mt= menutypes.first, *mt_next; + GHashIterator *iter= BLI_ghashIterator_new(menutypes_hash); - while(mt) { - mt_next= mt->next; - - if(mt->ext.free) + for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) { + MenuType *mt= BLI_ghashIterator_getValue(iter); + if(mt->ext.free) { mt->ext.free(mt->ext.data); - - WM_menutype_freelink(mt); - - mt= mt_next; + } } + BLI_ghashIterator_free(iter); + + BLI_ghash_free(menutypes_hash, NULL, (GHashValFreeFP)MEM_freeN); + menutypes_hash= NULL; } /* ****************************************** */ diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 5baaf6b4eb2..a96cc8cf957 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -2335,29 +2335,32 @@ static void attach_ndof_data(wmEvent* event, const GHOST_TEventNDOFMotionData* g const float s = U.ndof_sensitivity; - data->tvec[0]= s * ghost->tx; + data->tx = s * ghost->tx; - data->rvec[0]= s * ghost->rx; - data->rvec[1]= s * ghost->ry; - data->rvec[2]= s * ghost->rz; + data->rx = s * ghost->rx; + data->ry = s * ghost->ry; + data->rz = s * ghost->rz; if (U.ndof_flag & NDOF_ZOOM_UPDOWN) { - // rotate so Y is where Z was (maintain handed-ness) - data->tvec[1]= s * ghost->tz; - data->tvec[2]= s * -ghost->ty; + /* rotate so Y is where Z was */ + data->ty = s * ghost->tz; + data->tz = s * ghost->ty; + /* maintain handed-ness? or just do what feels right? */ - // should this affect rotation also? - // initial guess is 'yes', but get user feedback immediately! -#if 0 // after turning this on, my guess becomes 'no' - data->rvec[1]= s * ghost->rz; - data->rvec[2]= s * ghost->ry; + /* should this affect rotation also? + * initial guess is 'yes', but get user feedback immediately! + */ +#if 0 + /* after turning this on, my guess becomes 'no' */ + data->ry = s * ghost->rz; + data->rz = s * ghost->ry; #endif } else { - data->tvec[1]= s * ghost->ty; - data->tvec[2]= s * ghost->tz; + data->ty = s * ghost->ty; + data->tz = s * ghost->tz; } data->dt = ghost->dt; diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c index 20f9d2237c2..6b3a574b6b6 100644 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@ -450,7 +450,7 @@ void WM_read_file(bContext *C, const char *filepath, ReportList *reports) /* called on startup, (context entirely filled with NULLs) */ /* or called for 'New File' */ /* op can be NULL */ -int WM_read_homefile(bContext *C, ReportList *reports, short from_memory) +int WM_read_homefile(bContext *C, ReportList *UNUSED(reports), short from_memory) { ListBase wmbase; char tstr[FILE_MAXDIR+FILE_MAXFILE]; @@ -466,7 +466,6 @@ int WM_read_homefile(bContext *C, ReportList *reports, short from_memory) } else { tstr[0] = '\0'; from_memory = 1; - BKE_report(reports, RPT_INFO, "Config directory with "STRINGIFY(BLENDER_STARTUP_FILE)" file not found."); } } diff --git a/source/blender/windowmanager/intern/wm_init_exit.c b/source/blender/windowmanager/intern/wm_init_exit.c index 6f8b455e835..66adbdaa681 100644 --- a/source/blender/windowmanager/intern/wm_init_exit.c +++ b/source/blender/windowmanager/intern/wm_init_exit.c @@ -128,7 +128,8 @@ void WM_init(bContext *C, int argc, const char **argv) } GHOST_CreateSystemPaths(); wm_operatortype_init(); - + WM_menutype_init(); + set_free_windowmanager_cb(wm_close_and_free); /* library.c */ set_blender_test_break_cb(wm_window_testbreak); /* blender.c */ DAG_editors_update_cb(ED_render_id_flush_update); /* depsgraph.c */ diff --git a/source/blender/windowmanager/intern/wm_keymap.c b/source/blender/windowmanager/intern/wm_keymap.c index 2fb0a1b2ab9..6887aa4c717 100644 --- a/source/blender/windowmanager/intern/wm_keymap.c +++ b/source/blender/windowmanager/intern/wm_keymap.c @@ -106,6 +106,9 @@ static int wm_keymap_item_equals_result(wmKeyMapItem *a, wmKeyMapItem *b) (a->ptr && b->ptr && IDP_EqualsProperties(a->ptr->data, b->ptr->data)))) return 0; + if((a->flag & KMI_INACTIVE) != (b->flag & KMI_INACTIVE)) + return 0; + return (a->propvalue == b->propvalue); } @@ -1009,7 +1012,8 @@ void WM_keyconfig_update(wmWindowManager *wm) addonmap= WM_keymap_list_find(&wm->addonconf->keymaps, km->idname, km->spaceid, km->regionid); /* diff */ - wm_keymap_diff_update(&U.user_keymaps, defaultmap, addonmap, km); + if(defaultmap) + wm_keymap_diff_update(&U.user_keymaps, defaultmap, addonmap, km); } } diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index cea2d6b3fe5..1beb5b3dda3 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -58,6 +58,7 @@ #include "BLI_math.h" #include "BLI_string.h" #include "BLI_utildefines.h" +#include "BLI_ghash.h" #include "BLO_readfile.h" @@ -100,7 +101,7 @@ #include "wm_subwindow.h" #include "wm_window.h" -static ListBase global_ops= {NULL, NULL}; +static GHash *global_ops_hash= NULL; /* ************ operator API, exported ********** */ @@ -113,7 +114,7 @@ wmOperatorType *WM_operatortype_find(const char *idname, int quiet) WM_operator_bl_idname(idname_bl, idname); if (idname_bl[0]) { - ot= (wmOperatorType *)BLI_findstring_ptr(&global_ops, idname_bl, offsetof(wmOperatorType, idname)); + ot= BLI_ghash_lookup(global_ops_hash, idname_bl); if(ot) { return ot; } @@ -125,9 +126,10 @@ wmOperatorType *WM_operatortype_find(const char *idname, int quiet) return NULL; } -wmOperatorType *WM_operatortype_first(void) +/* caller must free */ +GHashIterator *WM_operatortype_iter(void) { - return global_ops.first; + return BLI_ghashIterator_new(global_ops_hash); } /* all ops in 1 list (for time being... needs evaluation later) */ @@ -147,7 +149,8 @@ void WM_operatortype_append(void (*opfunc)(wmOperatorType*)) RNA_def_struct_ui_text(ot->srna, ot->name, ot->description ? ot->description:"(undocumented operator)"); // XXX All ops should have a description but for now allow them not to. RNA_def_struct_identifier(ot->srna, ot->idname); - BLI_addtail(&global_ops, ot); + + BLI_ghash_insert(global_ops_hash, (void *)ot->idname, ot); } void WM_operatortype_append_ptr(void (*opfunc)(wmOperatorType*, void*), void *userdata) @@ -159,7 +162,8 @@ void WM_operatortype_append_ptr(void (*opfunc)(wmOperatorType*, void*), void *us opfunc(ot, userdata); RNA_def_struct_ui_text(ot->srna, ot->name, ot->description ? ot->description:"(undocumented operator)"); RNA_def_struct_identifier(ot->srna, ot->idname); - BLI_addtail(&global_ops, ot); + + BLI_ghash_insert(global_ops_hash, (void *)ot->idname, ot); } /* ********************* macro operator ******************** */ @@ -351,7 +355,7 @@ wmOperatorType *WM_operatortype_append_macro(const char *idname, const char *nam RNA_def_struct_ui_text(ot->srna, ot->name, ot->description); // XXX All ops should have a description but for now allow them not to. RNA_def_struct_identifier(ot->srna, ot->idname); - BLI_addtail(&global_ops, ot); + BLI_ghash_insert(global_ops_hash, (void *)ot->idname, ot); return ot; } @@ -378,7 +382,7 @@ void WM_operatortype_append_macro_ptr(void (*opfunc)(wmOperatorType*, void*), vo RNA_def_struct_ui_text(ot->srna, ot->name, ot->description); RNA_def_struct_identifier(ot->srna, ot->idname); - BLI_addtail(&global_ops, ot); + BLI_ghash_insert(global_ops_hash, (void *)ot->idname, ot); } wmOperatorTypeMacro *WM_operatortype_macro_define(wmOperatorType *ot, const char *idname) @@ -426,14 +430,14 @@ int WM_operatortype_remove(const char *idname) if (ot==NULL) return 0; - BLI_remlink(&global_ops, ot); RNA_struct_free(&BLENDER_RNA, ot->srna); if(ot->macro.first) wm_operatortype_free_macro(ot); - - MEM_freeN(ot); + BLI_ghash_remove(global_ops_hash, (void *)ot->idname, NULL, NULL); + + MEM_freeN(ot); return 1; } @@ -807,6 +811,9 @@ void WM_operator_properties_filesel(wmOperatorType *ot, int filter, short type, if(flag & WM_FILESEL_FILENAME) RNA_def_string_file_name(ot->srna, "filename", "", FILE_MAX, "File Name", "Name of the file"); + if(flag & WM_FILESEL_FILES) + RNA_def_collection_runtime(ot->srna, "files", &RNA_OperatorFileListElement, "Files", ""); + if (action == FILE_SAVE) { prop= RNA_def_boolean(ot->srna, "check_existing", 1, "Check Existing", "Check and warn on overwriting existing files"); RNA_def_property_flag(prop, PROP_HIDDEN); @@ -1247,7 +1254,7 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar col = uiLayoutColumn(split, 0); uiItemL(col, "Links", ICON_NONE); uiItemStringO(col, "Donations", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/blenderorg/blender-foundation/donation-payment/"); - uiItemStringO(col, "Release Log", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/development/release-logs/blender-258/"); + uiItemStringO(col, "Release Log", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/development/release-logs/blender-259/"); uiItemStringO(col, "Manual", ICON_URL, "WM_OT_url_open", "url", "http://wiki.blender.org/index.php/Doc:2.5/Manual"); uiItemStringO(col, "Blender Website", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/"); uiItemStringO(col, "User Community", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/community/user-community/"); // @@ -1311,9 +1318,10 @@ static void operator_call_cb(struct bContext *C, void *UNUSED(arg1), void *arg2) static void operator_search_cb(const struct bContext *C, void *UNUSED(arg), const char *str, uiSearchItems *items) { - wmOperatorType *ot = WM_operatortype_first(); - - for(; ot; ot= ot->next) { + GHashIterator *iter= WM_operatortype_iter(); + + for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) { + wmOperatorType *ot= BLI_ghashIterator_getValue(iter); if((ot->flag & OPTYPE_INTERNAL) && (G.f & G_DEBUG) == 0) continue; @@ -1337,6 +1345,7 @@ static void operator_search_cb(const struct bContext *C, void *UNUSED(arg), cons } } } + BLI_ghashIterator_free(iter); } static uiBlock *wm_block_search_menu(bContext *C, ARegion *ar, void *UNUSED(arg_op)) @@ -1742,14 +1751,12 @@ static void WM_OT_link_append(wmOperatorType *ot) ot->flag |= OPTYPE_UNDO; - WM_operator_properties_filesel(ot, FOLDERFILE|BLENDERFILE, FILE_LOADLIB, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_DIRECTORY|WM_FILESEL_FILENAME| WM_FILESEL_RELPATH); + WM_operator_properties_filesel(ot, FOLDERFILE|BLENDERFILE, FILE_LOADLIB, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_DIRECTORY|WM_FILESEL_FILENAME| WM_FILESEL_RELPATH|WM_FILESEL_FILES); RNA_def_boolean(ot->srna, "link", 1, "Link", "Link the objects or datablocks rather than appending"); RNA_def_boolean(ot->srna, "autoselect", 1, "Select", "Select the linked objects"); RNA_def_boolean(ot->srna, "active_layer", 1, "Active Layer", "Put the linked objects on the active layer"); RNA_def_boolean(ot->srna, "instance_groups", 1, "Instance Groups", "Create instances for each group as a DupliGroup"); - - RNA_def_collection_runtime(ot->srna, "files", &RNA_OperatorFileListElement, "Files", ""); } /* *************** recover last session **************** */ @@ -2003,8 +2010,6 @@ static void WM_OT_save_mainfile(wmOperatorType *ot) static int wm_collada_export_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event)) { - int selected = 0; - if(!RNA_property_is_set(op->ptr, "filepath")) { char filepath[FILE_MAX]; BLI_strncpy(filepath, G.main->name, sizeof(filepath)); @@ -3457,26 +3462,31 @@ static void WM_OT_ndof_sensitivity_change(wmOperatorType *ot) RNA_def_boolean(ot->srna, "fast", 0, "Fast NDOF sensitivity change", "If true then sensitivity changes 50%, otherwise 10%"); } + +static void operatortype_ghash_free_cb(wmOperatorType *ot) +{ + if(ot->macro.first) + wm_operatortype_free_macro(ot); + + if(ot->ext.srna) /* python operator, allocs own string */ + MEM_freeN((void *)ot->idname); + + MEM_freeN(ot); +} + /* ******************************************************* */ /* called on initialize WM_exit() */ void wm_operatortype_free(void) { - wmOperatorType *ot; - - for(ot= global_ops.first; ot; ot= ot->next) { - if(ot->macro.first) - wm_operatortype_free_macro(ot); - - if(ot->ext.srna) /* python operator, allocs own string */ - MEM_freeN((void *)ot->idname); - } - - BLI_freelistN(&global_ops); + BLI_ghash_free(global_ops_hash, NULL, (GHashValFreeFP)operatortype_ghash_free_cb); + global_ops_hash= NULL; } /* called on initialize WM_init() */ void wm_operatortype_init(void) { + global_ops_hash= BLI_ghash_new(BLI_ghashutil_strhash, BLI_ghashutil_strcmp, "wm_operatortype_init gh"); + WM_operatortype_append(WM_OT_window_duplicate); WM_operatortype_append(WM_OT_read_homefile); WM_operatortype_append(WM_OT_read_factory_settings); diff --git a/source/blender/windowmanager/intern/wm_subwindow.c b/source/blender/windowmanager/intern/wm_subwindow.c index a87001fb1b4..8ea1f2fdd0a 100644 --- a/source/blender/windowmanager/intern/wm_subwindow.c +++ b/source/blender/windowmanager/intern/wm_subwindow.c @@ -378,7 +378,8 @@ unsigned int index_to_framebuffer(int index) void WM_set_framebuffer_index_color(int index) { - cpack(index_to_framebuffer(index)); + const int col= index_to_framebuffer(index); + cpack(col); } int WM_framebuffer_to_index(unsigned int col) diff --git a/source/blenderplayer/bad_level_call_stubs/stubs.c b/source/blenderplayer/bad_level_call_stubs/stubs.c index b37f6b0baf2..d8f37aa250c 100644 --- a/source/blenderplayer/bad_level_call_stubs/stubs.c +++ b/source/blenderplayer/bad_level_call_stubs/stubs.c @@ -395,7 +395,7 @@ void RE_engine_free(struct RenderEngine *engine) {} /* python */ struct wmOperatorType *WM_operatortype_find(const char *idname, int quiet){return (struct wmOperatorType *) NULL;} -struct wmOperatorType *WM_operatortype_first(){return (struct wmOperatorType *) NULL;} +struct GHashIterator *WM_operatortype_iter(){return (struct GHashIterator *) NULL;} struct wmOperatorType *WM_operatortype_exists(const char *idname){return (struct wmOperatorType *) NULL;} struct wmOperatorTypeMacro *WM_operatortype_macro_define(struct wmOperatorType *ot, const char *idname){return (struct wmOperatorTypeMacro *) NULL;} int WM_operator_call_py(struct bContext *C, struct wmOperatorType *ot, int context, struct PointerRNA *properties, struct ReportList *reports){return 0;} diff --git a/source/gameengine/Ketsji/KX_Light.cpp b/source/gameengine/Ketsji/KX_Light.cpp index 49f00e39110..3f09eee013e 100644 --- a/source/gameengine/Ketsji/KX_Light.cpp +++ b/source/gameengine/Ketsji/KX_Light.cpp @@ -254,8 +254,12 @@ void KX_LightObject::BindShadowBuffer(RAS_IRasterizer *ras, KX_Camera *cam, MT_T cam->NodeUpdateGS(0); /* setup rasterizer transformations */ + /* SetViewMatrix may use stereomode which we temporarily disable here */ + RAS_IRasterizer::StereoMode stereomode = ras->GetStereoMode(); + ras->SetStereoMode(RAS_IRasterizer::RAS_STEREO_NOSTEREO); ras->SetProjectionMatrix(projectionmat); ras->SetViewMatrix(modelviewmat, cam->NodeGetWorldOrientation(), cam->NodeGetWorldPosition(), cam->GetCameraData()->m_perspective); + ras->SetStereoMode(stereomode); } void KX_LightObject::UnbindShadowBuffer(RAS_IRasterizer *ras) diff --git a/source/tests/CMakeLists.txt b/source/tests/CMakeLists.txt index 8fd0d6e7099..3f802642d33 100644 --- a/source/tests/CMakeLists.txt +++ b/source/tests/CMakeLists.txt @@ -111,7 +111,7 @@ add_test(export_obj_all_objects ${TEST_BLENDER_EXE} --run={'FINISHED'}&bpy.ops.export_scene.obj\(filepath='${TEST_OUT_DIR}/export_obj_all_objects.obj',use_selection=False,use_nurbs=True\) --md5_source=${TEST_OUT_DIR}/export_obj_all_objects.obj --md5_source=${TEST_OUT_DIR}/export_obj_all_objects.mtl - --md5=01c123948efadc6a71ab2c09a5925756 --md5_method=FILE + --md5=04b3ed97cede07a19548fc518ce9f8ca --md5_method=FILE ) @@ -196,7 +196,7 @@ add_test(export_x3d_cube ${TEST_BLENDER_EXE} --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- --run={'FINISHED'}&bpy.ops.export_scene.x3d\(filepath='${TEST_OUT_DIR}/export_x3d_cube.x3d',use_selection=False\) --md5_source=${TEST_OUT_DIR}/export_x3d_cube.x3d - --md5=5e804c689896116331fa190a9fabbad4 --md5_method=FILE + --md5=2621d8cc2cc1d34f6711c54519907dac --md5_method=FILE ) add_test(export_x3d_nurbs ${TEST_BLENDER_EXE} @@ -204,7 +204,7 @@ add_test(export_x3d_nurbs ${TEST_BLENDER_EXE} --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- --run={'FINISHED'}&bpy.ops.export_scene.x3d\(filepath='${TEST_OUT_DIR}/export_x3d_nurbs.x3d',use_selection=False\) --md5_source=${TEST_OUT_DIR}/export_x3d_nurbs.x3d - --md5=2d5bcf43cf7b6fbbef1c8cc566968fe5 --md5_method=FILE + --md5=d56b3736bab063d101d42079bd276f01 --md5_method=FILE ) add_test(export_x3d_all_objects ${TEST_BLENDER_EXE} @@ -212,7 +212,7 @@ add_test(export_x3d_all_objects ${TEST_BLENDER_EXE} --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- --run={'FINISHED'}&bpy.ops.export_scene.x3d\(filepath='${TEST_OUT_DIR}/export_x3d_all_objects.x3d',use_selection=False\) --md5_source=${TEST_OUT_DIR}/export_x3d_all_objects.x3d - --md5=2809ec13a4cab55d265ce7525c5db1b7 --md5_method=FILE + --md5=0914c9a7fcdbfc5741c1269497e9068b --md5_method=FILE ) @@ -273,7 +273,7 @@ add_test(export_fbx_cube ${TEST_BLENDER_EXE} --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- --run={'FINISHED'}&bpy.ops.export_scene.fbx\(filepath='${TEST_OUT_DIR}/export_fbx_cube.fbx',use_selection=False,use_metadata=False\) --md5_source=${TEST_OUT_DIR}/export_fbx_cube.fbx - --md5=83dca99a0cb338852b8c85951a44c68a --md5_method=FILE + --md5=86da2495dffd7c270e682f599be6b3d1 --md5_method=FILE ) add_test(export_fbx_nurbs ${TEST_BLENDER_EXE} @@ -281,7 +281,7 @@ add_test(export_fbx_nurbs ${TEST_BLENDER_EXE} --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- --run={'FINISHED'}&bpy.ops.export_scene.fbx\(filepath='${TEST_OUT_DIR}/export_fbx_nurbs.fbx',use_selection=False,use_metadata=False\) --md5_source=${TEST_OUT_DIR}/export_fbx_nurbs.fbx - --md5=c7d9491ffa6264e820ed1e12df63f871 --md5_method=FILE + --md5=88a263ddb5181e6522dc214debb92ced --md5_method=FILE ) add_test(export_fbx_all_objects ${TEST_BLENDER_EXE} @@ -289,5 +289,5 @@ add_test(export_fbx_all_objects ${TEST_BLENDER_EXE} --python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py -- --run={'FINISHED'}&bpy.ops.export_scene.fbx\(filepath='${TEST_OUT_DIR}/export_fbx_all_objects.fbx',use_selection=False,use_metadata=False\) --md5_source=${TEST_OUT_DIR}/export_fbx_all_objects.fbx - --md5=22867f82e1615fd1eae18cfaac8ba035 --md5_method=FILE + --md5=e6f75fe7de9aa366896456e13eafc76a --md5_method=FILE ) diff --git a/source/tests/bl_run_operators.py b/source/tests/bl_run_operators.py index 668b4e69228..b64055df252 100644 --- a/source/tests/bl_run_operators.py +++ b/source/tests/bl_run_operators.py @@ -70,7 +70,7 @@ def run_ops(operators, setup_func=None): setup_func() - for mode in ('EXEC_DEFAULT', 'INVOKE_DEFAULT'): + for mode in {'EXEC_DEFAULT', 'INVOKE_DEFAULT'}: try: op(mode) except: From f7b9c85871ad4e68dbd578556f3ae8ef55d6dc98 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 21 Aug 2011 10:32:15 +0000 Subject: [PATCH 091/241] Cycles: fix some invalid memory access problems found by running the windows build in debug mode. --- CMakeLists.txt | 14 ++++++-------- intern/cycles/blender/blender_mesh.cpp | 20 ++++++++++---------- intern/cycles/blender/blender_object.cpp | 6 +++--- intern/cycles/blender/blender_session.cpp | 4 +++- intern/cycles/blender/blender_shader.cpp | 18 +++++++++--------- intern/cycles/blender/blender_sync.cpp | 10 +++++----- intern/cycles/render/graph.cpp | 2 +- intern/cycles/render/graph.h | 3 ++- source/blender/makesrna/intern/makesrna.c | 8 ++++---- 9 files changed, 43 insertions(+), 42 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3cc935939f4..1422710ad33 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -497,12 +497,6 @@ if(UNIX AND NOT APPLE) set(BOOST "/usr" CACHE PATH "Boost Directory") endif() - #set(Boost_ADDITIONAL_VERSIONS "1.46" "1.45" "1.44" - # "1.43" "1.43.0" "1.42" "1.42.0" - # "1.41" "1.41.0" "1.40" "1.40.0" - # "1.39" "1.39.0" "1.38" "1.38.0" - # "1.37" "1.37.0" "1.34.1" "1_34_1") - set(BOOST_ROOT ${BOOST}) set(Boost_USE_MULTITHREADED ON) find_package(Boost 1.34 REQUIRED COMPONENTS filesystem regex system thread) @@ -819,8 +813,12 @@ elseif(WIN32) set(BOOST ${LIBDIR}/boost) set(BOOST_INCLUDE_DIR ${BOOST}/include) set(BOOST_POSTFIX "vc90-mt-s-1_46_1.lib") - set(BOOST_LIBRARIES libboost_date_time-${BOOST_POSTFIX} libboost_filesystem-${BOOST_POSTFIX} - libboost_regex-${BOOST_POSTFIX} libboost_system-${BOOST_POSTFIX} libboost_thread-${BOOST_POSTFIX}) + set(BOOST_DEBUG_POSTFIX "vc90-mt-sgd-1_46_1.lib") + set(BOOST_LIBRARIES + optimized libboost_date_time-${BOOST_POSTFIX} libboost_filesystem-${BOOST_POSTFIX} + libboost_regex-${BOOST_POSTFIX} libboost_system-${BOOST_POSTFIX} libboost_thread-${BOOST_POSTFIX} + debug libboost_date_time-${BOOST_DEBUG_POSTFIX} libboost_filesystem-${BOOST_DEBUG_POSTFIX} + libboost_regex-${BOOST_DEBUG_POSTFIX} libboost_system-${BOOST_DEBUG_POSTFIX} libboost_thread-${BOOST_DEBUG_POSTFIX}) set(BOOST_LIBPATH ${BOOST}/lib) set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB") endif() diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp index c69e911723e..3fe4fa60a16 100644 --- a/intern/cycles/blender/blender_mesh.cpp +++ b/intern/cycles/blender/blender_mesh.cpp @@ -62,14 +62,14 @@ static void create_mesh(Scene *scene, Mesh *mesh, BL::Mesh b_mesh, const vector< /* create vertices */ BL::Mesh::vertices_iterator v; - for(v = b_mesh.vertices.begin(); v != b_mesh.vertices.end(); ++v) + for(b_mesh.vertices.begin(v); v != b_mesh.vertices.end(); ++v) mesh->verts.push_back(get_float3(v->co())); /* create faces */ BL::Mesh::faces_iterator f; vector nverts; - for(f = b_mesh.faces.begin(); f != b_mesh.faces.end(); ++f) { + for(b_mesh.faces.begin(f); f != b_mesh.faces.end(); ++f) { int4 vi = get_int4(f->vertices_raw()); int n= (vi[3] == 0)? 3: 4; int shader = used_shaders[f->material_index()]; @@ -101,7 +101,7 @@ static void create_mesh(Scene *scene, Mesh *mesh, BL::Mesh b_mesh, const vector< BL::Mesh::vertices_iterator v; size_t i = 0; - for(v = b_mesh.vertices.begin(); v != b_mesh.vertices.end(); ++v) + for(b_mesh.vertices.begin(v); v != b_mesh.vertices.end(); ++v) fdata[i++] = get_float3(v->co())*size - loc; } @@ -109,7 +109,7 @@ static void create_mesh(Scene *scene, Mesh *mesh, BL::Mesh b_mesh, const vector< { BL::Mesh::vertex_colors_iterator l; - for(l = b_mesh.vertex_colors.begin(); l != b_mesh.vertex_colors.end(); ++l) { + for(b_mesh.vertex_colors.begin(l); l != b_mesh.vertex_colors.end(); ++l) { if(!mesh_need_attribute(scene, mesh, ustring(l->name()))) continue; @@ -120,7 +120,7 @@ static void create_mesh(Scene *scene, Mesh *mesh, BL::Mesh b_mesh, const vector< float3 *fdata = attr->data_float3(); size_t i = 0; - for(c = l->data.begin(); c != l->data.end(); ++c, ++i) { + for(l->data.begin(c); c != l->data.end(); ++c, ++i) { fdata[0] = get_float3(c->color1()); fdata[1] = get_float3(c->color2()); fdata[2] = get_float3(c->color3()); @@ -140,7 +140,7 @@ static void create_mesh(Scene *scene, Mesh *mesh, BL::Mesh b_mesh, const vector< { BL::Mesh::uv_textures_iterator l; - for(l = b_mesh.uv_textures.begin(); l != b_mesh.uv_textures.end(); ++l) { + for(b_mesh.uv_textures.begin(l); l != b_mesh.uv_textures.end(); ++l) { Attribute::Standard std = (l->active_render())? Attribute::STD_UV: Attribute::STD_NONE; ustring name = ustring(l->name()); @@ -158,7 +158,7 @@ static void create_mesh(Scene *scene, Mesh *mesh, BL::Mesh b_mesh, const vector< float3 *fdata = attr->data_float3(); size_t i = 0; - for(t = l->data.begin(); t != l->data.end(); ++t, ++i) { + for(l->data.begin(t); t != l->data.end(); ++t, ++i) { fdata[0] = get_float3(t->uv1()); fdata[1] = get_float3(t->uv2()); fdata[2] = get_float3(t->uv3()); @@ -183,13 +183,13 @@ static void create_subd_mesh(Mesh *mesh, BL::Mesh b_mesh, PointerRNA *cmesh, con /* create vertices */ BL::Mesh::vertices_iterator v; - for(v = b_mesh.vertices.begin(); v != b_mesh.vertices.end(); ++v) + for(b_mesh.vertices.begin(v); v != b_mesh.vertices.end(); ++v) sdmesh.add_vert(get_float3(v->co())); /* create faces */ BL::Mesh::faces_iterator f; - for(f = b_mesh.faces.begin(); f != b_mesh.faces.end(); ++f) { + for(b_mesh.faces.begin(f); f != b_mesh.faces.end(); ++f) { int4 vi = get_int4(f->vertices_raw()); int n= (vi[3] == 0)? 3: 4; //int shader = used_shaders[f->material_index()]; @@ -223,7 +223,7 @@ Mesh *BlenderSync::sync_mesh(BL::Object b_ob, bool object_updated) vector used_shaders; BL::Object::material_slots_iterator slot; - for(slot = b_ob.material_slots.begin(); slot != b_ob.material_slots.end(); ++slot) + for(b_ob.material_slots.begin(slot); slot != b_ob.material_slots.end(); ++slot) find_shader(slot->material(), used_shaders); if(used_shaders.size() == 0) diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp index 241cbf07357..52081cc0b60 100644 --- a/intern/cycles/blender/blender_object.cpp +++ b/intern/cycles/blender/blender_object.cpp @@ -40,7 +40,7 @@ bool BlenderSync::object_is_modified(BL::Object b_ob) else { /* object level material links */ BL::Object::material_slots_iterator slot; - for(slot = b_ob.material_slots.begin(); slot != b_ob.material_slots.end(); ++slot) + for(b_ob.material_slots.begin(slot); slot != b_ob.material_slots.end(); ++slot) if(slot->link() == BL::MaterialSlot::link_OBJECT) return true; } @@ -144,7 +144,7 @@ void BlenderSync::sync_objects(BL::SpaceView3D b_v3d) /* object loop */ BL::Scene::objects_iterator b_ob; - for(b_ob = b_scene.objects.begin(); b_ob != b_scene.objects.end(); ++b_ob) { + for(b_scene.objects.begin(b_ob); b_ob != b_scene.objects.end(); ++b_ob) { bool hide = (b_v3d)? b_ob->hide(): b_ob->hide_render(); if(!hide && get_layer(b_ob->layers()) & layer) { @@ -155,7 +155,7 @@ void BlenderSync::sync_objects(BL::SpaceView3D b_v3d) BL::Object::dupli_list_iterator b_dup; int b_index = 0; - for(b_dup = b_ob->dupli_list.begin(); b_dup != b_ob->dupli_list.end(); ++b_dup) { + for(b_ob->dupli_list.begin(b_dup); b_dup != b_ob->dupli_list.end(); ++b_dup) { Transform tfm = get_transform(b_dup->matrix()); sync_object(*b_ob, b_index, b_dup->object(), tfm); b_index++; diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp index d79c671fd3b..f69ebff5338 100644 --- a/intern/cycles/blender/blender_session.cpp +++ b/intern/cycles/blender/blender_session.cpp @@ -148,7 +148,9 @@ void BlenderSession::write_render_result() RNA_pointer_create(NULL, &RNA_RenderResult, rrp, &rrptr); BL::RenderResult rr(rrptr); - rna_RenderLayer_rect_set(&rr.layers.begin()->ptr, (float*)&buffer[0]); + BL::RenderResult::layers_iterator layer; + rr.layers.begin(layer); + rna_RenderLayer_rect_set(&layer->ptr, (float*)&buffer[0]); RE_engine_end_result((RenderEngine*)b_engine.ptr.data, rrp); } diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index 113cf2a91bc..db65a7f129e 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -54,18 +54,18 @@ static BL::NodeSocket get_node_input(BL::Node *b_group_node, BL::Node b_node, co { BL::Node::inputs_iterator b_in; - for(b_in = b_node.inputs.begin(); b_in != b_node.inputs.end(); ++b_in) { + for(b_node.inputs.begin(b_in); b_in != b_node.inputs.end(); ++b_in) { if(b_in->name() == name) { if(b_group_node) { BL::NodeTree b_ntree = BL::NodeGroup(*b_group_node).node_tree(); BL::NodeTree::links_iterator b_link; - for(b_link = b_ntree.links.begin(); b_link != b_ntree.links.end(); ++b_link) { + for(b_ntree.links.begin(b_link); b_link != b_ntree.links.end(); ++b_link) { if(b_link->to_socket().ptr.data == b_in->ptr.data) { BL::Node::inputs_iterator b_gin; - for(b_gin = b_group_node->inputs.begin(); b_gin != b_group_node->inputs.end(); ++b_gin) + for(b_group_node->inputs.begin(b_gin); b_gin != b_group_node->inputs.end(); ++b_gin) if(b_gin->group_socket().ptr.data == b_link->from_socket().ptr.data) return *b_gin; @@ -86,7 +86,7 @@ static BL::NodeSocket get_node_output(BL::Node b_node, const string& name) { BL::Node::outputs_iterator b_out; - for(b_out = b_node.outputs.begin(); b_out != b_node.outputs.end(); ++b_out) + for(b_node.outputs.begin(b_out); b_out != b_node.outputs.end(); ++b_out) if(b_out->name() == name) return *b_out; @@ -405,7 +405,7 @@ static void add_nodes(BL::BlendData b_data, ShaderGraph *graph, BL::ShaderNodeTr PtrNodeMap node_map; map node_groups; - for(b_node = b_ntree.nodes.begin(); b_node != b_ntree.nodes.end(); ++b_node) { + for(b_ntree.nodes.begin(b_node); b_node != b_ntree.nodes.end(); ++b_node) { if(b_node->is_a(&RNA_NodeGroup)) { BL::NodeGroup b_gnode(*b_node); BL::ShaderNodeTree b_group_ntree(b_gnode.node_tree()); @@ -422,7 +422,7 @@ static void add_nodes(BL::BlendData b_data, ShaderGraph *graph, BL::ShaderNodeTr node_map[b_node->ptr.data] = node; - for(b_input = b_node->inputs.begin(); b_input != b_node->inputs.end(); ++b_input) { + for(b_node->inputs.begin(b_input); b_input != b_node->inputs.end(); ++b_input) { ShaderInput *input = node->input(b_input->name().c_str()); BL::NodeSocket sock(get_node_input(b_group_node, *b_node, b_input->name())); @@ -458,7 +458,7 @@ static void add_nodes(BL::BlendData b_data, ShaderGraph *graph, BL::ShaderNodeTr /* connect nodes */ BL::NodeTree::links_iterator b_link; - for(b_link = b_ntree.links.begin(); b_link != b_ntree.links.end(); ++b_link) { + for(b_ntree.links.begin(b_link); b_link != b_ntree.links.end(); ++b_link) { /* get blender link data */ BL::Node b_from_node = b_link->from_node(); BL::Node b_to_node = b_link->to_node(); @@ -528,7 +528,7 @@ void BlenderSync::sync_materials() /* material loop */ BL::BlendData::materials_iterator b_mat; - for(b_mat = b_data.materials.begin(); b_mat != b_data.materials.end(); ++b_mat) { + for(b_data.materials.begin(b_mat); b_mat != b_data.materials.end(); ++b_mat) { Shader *shader; /* test if we need to sync */ @@ -610,7 +610,7 @@ void BlenderSync::sync_lamps() /* lamp loop */ BL::BlendData::lamps_iterator b_lamp; - for(b_lamp = b_data.lamps.begin(); b_lamp != b_data.lamps.end(); ++b_lamp) { + for(b_data.lamps.begin(b_lamp); b_lamp != b_data.lamps.end(); ++b_lamp) { Shader *shader; /* test if we need to sync */ diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index 1897ff13a64..c00fd8e7689 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -65,19 +65,19 @@ bool BlenderSync::sync_recalc() BL::BlendData::materials_iterator b_mat; - for(b_mat = b_data.materials.begin(); b_mat != b_data.materials.end(); ++b_mat) + for(b_data.materials.begin(b_mat); b_mat != b_data.materials.end(); ++b_mat) if(b_mat->recalc()) shader_map.set_recalc(*b_mat); BL::BlendData::lamps_iterator b_lamp; - for(b_lamp = b_data.lamps.begin(); b_lamp != b_data.lamps.end(); ++b_lamp) + for(b_data.lamps.begin(b_lamp); b_lamp != b_data.lamps.end(); ++b_lamp) if(b_lamp->recalc()) shader_map.set_recalc(*b_lamp); BL::BlendData::objects_iterator b_ob; - for(b_ob = b_data.objects.begin(); b_ob != b_data.objects.end(); ++b_ob) { + for(b_data.objects.begin(b_ob); b_ob != b_data.objects.end(); ++b_ob) { if(b_ob->recalc()) { object_map.set_recalc(*b_ob); light_map.set_recalc(*b_ob); @@ -92,13 +92,13 @@ bool BlenderSync::sync_recalc() BL::BlendData::meshes_iterator b_mesh; - for(b_mesh = b_data.meshes.begin(); b_mesh != b_data.meshes.end(); ++b_mesh) + for(b_data.meshes.begin(b_mesh); b_mesh != b_data.meshes.end(); ++b_mesh) if(b_mesh->recalc()) mesh_map.set_recalc(*b_mesh); BL::BlendData::worlds_iterator b_world; - for(b_world = b_data.worlds.begin(); b_world != b_data.worlds.end(); ++b_world) + for(b_data.worlds.begin(b_world); b_world != b_data.worlds.end(); ++b_world) if(world_map == b_world->ptr.data && b_world->recalc()) world_recalc = true; diff --git a/intern/cycles/render/graph.cpp b/intern/cycles/render/graph.cpp index 3dd3d6107b4..54acc6e14cd 100644 --- a/intern/cycles/render/graph.cpp +++ b/intern/cycles/render/graph.cpp @@ -324,7 +324,7 @@ void ShaderGraph::clean() break_cycles(output(), visited, on_stack); /* remove unused nodes */ - vector newnodes; + list newnodes; foreach(ShaderNode *node, nodes) { if(visited[node->id]) diff --git a/intern/cycles/render/graph.h b/intern/cycles/render/graph.h index c73dd77d5df..a79a68da358 100644 --- a/intern/cycles/render/graph.h +++ b/intern/cycles/render/graph.h @@ -21,6 +21,7 @@ #include "kernel_types.h" +#include "util_list.h" #include "util_map.h" #include "util_param.h" #include "util_set.h" @@ -193,7 +194,7 @@ public: class ShaderGraph { public: - vector nodes; + list nodes; bool finalized; ShaderGraph(); diff --git a/source/blender/makesrna/intern/makesrna.c b/source/blender/makesrna/intern/makesrna.c index 7da538e171b..f96111d7a62 100644 --- a/source/blender/makesrna/intern/makesrna.c +++ b/source/blender/makesrna/intern/makesrna.c @@ -2670,8 +2670,6 @@ static const char *cpp_classes = "" " operator bool(void)\n" " { return iter.valid != 0; }\n" " const CollectionIterator& operator++() { Tnext(&iter); t = T(iter.ptr); return *this; }\n" -" const CollectionIterator& operator=(const CollectionIterator& copy)\n" -" { if(init) Tend(&iter); iter= copy.iter; if(iter.internal) iter.internal= MEM_dupallocN(iter.internal); t= copy.t; init= copy.init; return *this; }\n" "\n" " T& operator*(void) { return t; }\n" " T* operator->(void) { return &t; }\n" @@ -2682,6 +2680,8 @@ static const char *cpp_classes = "" " { if(init) Tend(&iter); Tbegin(&iter, (PointerRNA*)&ptr.ptr); t = T(iter.ptr); init = true; }\n" "\n" "private:\n" +" const CollectionIterator& operator=(const CollectionIterator& copy) {}\n" +"" " CollectionPropertyIterator iter;\n" " T t;\n" " bool init;\n" @@ -2692,8 +2692,8 @@ static const char *cpp_classes = "" "public:\n" " Collection(const PointerRNA& p) : ptr(p) {}\n" "\n" -" CollectionIterator begin()\n" -" { CollectionIterator iter; iter.begin(ptr); return iter; }\n" +" void begin(CollectionIterator& iter)\n" +" { iter.begin(ptr); }\n" " CollectionIterator end()\n" " { return CollectionIterator(); } /* test */ \n" "\n" From 9ccc60ed8c22ad7ce886273832dd885af3c2347d Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 22 Aug 2011 13:17:43 +0000 Subject: [PATCH 092/241] Cycles: * Update progress bar during render (patch by Thomas) * Show status/pass/time during render in 3d view --- intern/cycles/blender/addon/engine.py | 36 +---------- intern/cycles/blender/blender_session.cpp | 39 +++++++++--- intern/cycles/blender/blender_session.h | 1 + intern/cycles/blender/blender_util.h | 2 + .../editors/space_view3d/view3d_draw.c | 61 ++++++++++++++----- .../blender/render/extern/include/RE_engine.h | 1 + .../blender/render/intern/pipeline/engine.c | 41 ++++++++++--- 7 files changed, 114 insertions(+), 67 deletions(-) diff --git a/intern/cycles/blender/addon/engine.py b/intern/cycles/blender/addon/engine.py index 6879efcb24e..d25eb21eeb9 100644 --- a/intern/cycles/blender/addon/engine.py +++ b/intern/cycles/blender/addon/engine.py @@ -58,41 +58,7 @@ def draw(engine, region, v3d, rv3d): rv3d = rv3d.as_pointer() # draw render image - status, substatus = lib.draw(engine.session, v3d, rv3d) - - # draw text over image - if status != "": - import blf - import bgl - - fontid = 0 # todo, find out how to set this - dim = blf.dimensions(fontid, status) - dim_sub = blf.dimensions(fontid, substatus) - - padding = 5 - - x = (region.width - max(dim[0], dim_sub[0]))*0.5 - padding - y = (region.height - (dim[1] + dim_sub[1] + padding))*0.5 - padding - - bgl.glColor4f(0.0, 0.0, 0.0, 0.5) - bgl.glEnable(bgl.GL_BLEND) - bgl.glBlendFunc(bgl.GL_SRC_ALPHA, bgl.GL_ONE_MINUS_SRC_ALPHA) - bgl.glRectf(x, y, x+max(dim[0], dim_sub[0])+padding+padding, y+dim[1]+dim_sub[1]+padding+padding+2) - bgl.glDisable(bgl.GL_BLEND) - - x = (region.width - dim[0])*0.5 - y = (region.height - (dim[1] + dim_sub[1] + padding))*0.5 + dim_sub[1] + padding - - bgl.glColor3f(0.8, 0.8, 0.8) - blf.position(fontid, x, y, 0) - blf.draw(fontid, status) - - x = (region.width - dim_sub[0])*0.5 - y = (region.height - (dim[1] + dim_sub[1] + padding))*0.5 - - bgl.glColor3f(0.6, 0.6, 0.6) - blf.position(fontid, x, y, 0) - blf.draw(fontid, substatus) + lib.draw(engine.session, v3d, rv3d) def available_devices(): import libcycles_blender as lib diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp index f69ebff5338..045efef0ef0 100644 --- a/intern/cycles/blender/blender_session.cpp +++ b/intern/cycles/blender/blender_session.cpp @@ -243,6 +243,15 @@ void BlenderSession::get_status(string& status, string& substatus) session->progress.get_status(status, substatus); } +void BlenderSession::get_progress(float& progress, double& total_time) +{ + double pass_time; + int pass; + + session->progress.get_pass(pass, total_time, pass_time); + progress = ((float)pass/(float)session->params.passes); +} + void BlenderSession::tag_update() { /* tell blender that we want to get another update callback */ @@ -251,16 +260,28 @@ void BlenderSession::tag_update() void BlenderSession::tag_redraw() { + string status, substatus; + float progress; + double total_time; + char time_str[128]; + + /* update stats and progress */ + get_status(status, substatus); + get_progress(progress, total_time); + + if(!background) { + BLI_timestr(total_time, time_str); + status = "Time: " + string(time_str) + " | " + status; + } + + if(substatus.size() > 0) + status += " | " + substatus; + + RE_engine_update_stats((RenderEngine*)b_engine.ptr.data, "", status.c_str()); + RE_engine_update_progress((RenderEngine*)b_engine.ptr.data, progress); + if(background) { - /* offline render, set stats and redraw if timeout passed */ - string status, substatus; - get_status(status, substatus); - - if(substatus.size() > 0) - status += " | " + substatus; - - RE_engine_update_stats((RenderEngine*)b_engine.ptr.data, "", status.c_str()); - + /* offline render, redraw if timeout passed */ if(time_dt() - last_redraw_time > 1.0f) { write_render_result(); engine_tag_redraw((RenderEngine*)b_engine.ptr.data); diff --git a/intern/cycles/blender/blender_session.h b/intern/cycles/blender/blender_session.h index 8bc5d3dfab9..ea3e005a884 100644 --- a/intern/cycles/blender/blender_session.h +++ b/intern/cycles/blender/blender_session.h @@ -55,6 +55,7 @@ public: void tag_redraw(); void tag_update(); void get_status(string& status, string& substatus); + void get_progress(float& progress, double& total_time); void test_cancel(); bool background; diff --git a/intern/cycles/blender/blender_util.h b/intern/cycles/blender/blender_util.h index 354a195758f..fe9a611e2f8 100644 --- a/intern/cycles/blender/blender_util.h +++ b/intern/cycles/blender/blender_util.h @@ -44,9 +44,11 @@ void RE_engine_update_result(struct RenderEngine *engine, struct RenderResult *r void RE_engine_end_result(struct RenderEngine *engine, struct RenderResult *result); int RE_engine_test_break(struct RenderEngine *engine); void RE_engine_update_stats(struct RenderEngine *engine, const char *stats, const char *info); +void RE_engine_update_progress(struct RenderEngine *engine, float progress); void engine_tag_redraw(void *engine); void engine_tag_update(void *engine); int rna_Object_is_modified(void *ob, void *scene, int settings); +void BLI_timestr(double _time, char *str); } diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index cf048582849..746bc752764 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -2566,6 +2566,32 @@ static int view3d_main_area_draw_engine(const bContext *C, ARegion *ar) return 1; } +static void view3d_main_area_draw_engine_info(RegionView3D *rv3d, ARegion *ar) +{ + rcti rect; + const int header_height = 18; + + if(!rv3d->render_engine || !rv3d->render_engine->text) + return; + + /* background box */ + rect= ar->winrct; + rect.xmin= 0; + rect.ymin= ar->winrct.ymax - ar->winrct.ymin - header_height; + rect.xmax= ar->winrct.xmax - ar->winrct.xmin; + rect.ymax= ar->winrct.ymax - ar->winrct.ymin; + + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); + glColor4f(0.0f, 0.0f, 0.0f, 0.25f); + glRecti(rect.xmin, rect.ymin, rect.xmax+1, rect.ymax+1); + glDisable(GL_BLEND); + + /* text */ + UI_ThemeColor(TH_TEXT_HI); + UI_DrawString(12, rect.ymin + 5, rv3d->render_engine->text); +} + /* warning: this function has duplicate drawing in ED_view3d_draw_offscreen() */ void view3d_main_area_draw(const bContext *C, ARegion *ar) { @@ -2781,26 +2807,31 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar) else draw_view_icon(rv3d); - if((U.uiflag & USER_SHOW_FPS) && (CTX_wm_screen(C)->animtimer)) { - draw_viewport_fps(scene, ar); + if(rv3d->render_engine) { + view3d_main_area_draw_engine_info(rv3d, ar); } - else if(U.uiflag & USER_SHOW_VIEWPORTNAME) { - draw_viewport_name(ar, v3d); - } - if (grid_unit) { /* draw below the viewport name */ - char tstr[32]= ""; + else { + if((U.uiflag & USER_SHOW_FPS) && (CTX_wm_screen(C)->animtimer)) { + draw_viewport_fps(scene, ar); + } + else if(U.uiflag & USER_SHOW_VIEWPORTNAME) { + draw_viewport_name(ar, v3d); + } + if (grid_unit) { /* draw below the viewport name */ + char tstr[32]= ""; - UI_ThemeColor(TH_TEXT_HI); - if(v3d->grid != 1.0f) { - BLI_snprintf(tstr, sizeof(tstr), "%s x %.4g", grid_unit, v3d->grid); + UI_ThemeColor(TH_TEXT_HI); + if(v3d->grid != 1.0f) { + BLI_snprintf(tstr, sizeof(tstr), "%s x %.4g", grid_unit, v3d->grid); + } + + BLF_draw_default_ascii(22, ar->winy-(USER_SHOW_VIEWPORTNAME?40:20), 0.0f, tstr[0]?tstr : grid_unit, sizeof(tstr)); /* XXX, use real length */ } - BLF_draw_default_ascii(22, ar->winy-(USER_SHOW_VIEWPORTNAME?40:20), 0.0f, tstr[0]?tstr : grid_unit, sizeof(tstr)); /* XXX, use real length */ + ob= OBACT; + if(U.uiflag & USER_DRAWVIEWINFO) + draw_selected_name(scene, ob); } - - ob= OBACT; - if(U.uiflag & USER_DRAWVIEWINFO) - draw_selected_name(scene, ob); /* XXX here was the blockhandlers for floating panels */ diff --git a/source/blender/render/extern/include/RE_engine.h b/source/blender/render/extern/include/RE_engine.h index f7a927ec5db..7f01bc673d2 100644 --- a/source/blender/render/extern/include/RE_engine.h +++ b/source/blender/render/extern/include/RE_engine.h @@ -82,6 +82,7 @@ typedef struct RenderEngine { struct Render *re; ListBase fullresult; + char *text; int do_draw; int do_update; diff --git a/source/blender/render/intern/pipeline/engine.c b/source/blender/render/intern/pipeline/engine.c index 68d3b2697c5..0fc6a0320c8 100644 --- a/source/blender/render/intern/pipeline/engine.c +++ b/source/blender/render/intern/pipeline/engine.c @@ -38,6 +38,7 @@ #include "MEM_guardedalloc.h" #include "BLI_listbase.h" +#include "BLI_string.h" #include "BLI_utildefines.h" #include "BKE_report.h" @@ -133,6 +134,9 @@ void RE_engine_free(RenderEngine *engine) } #endif + if(engine->text) + MEM_freeN(engine->text); + MEM_freeN(engine); } @@ -204,7 +208,10 @@ int RE_engine_test_break(RenderEngine *engine) { Render *re= engine->re; - return re->test_break(re->tbh); + if(re) + return re->test_break(re->tbh); + + return 0; } /* Statistics */ @@ -213,19 +220,37 @@ void RE_engine_update_stats(RenderEngine *engine, const char *stats, const char { Render *re= engine->re; - re->i.statstr= stats; - re->i.infostr= info; - re->stats_draw(re->sdh, &re->i); - re->i.infostr= NULL; - re->i.statstr= NULL; + /* stats draw callback */ + if(re) { + re->i.statstr= stats; + re->i.infostr= info; + re->stats_draw(re->sdh, &re->i); + re->i.infostr= NULL; + re->i.statstr= NULL; + } + + /* set engine text */ + if(engine->text) { + MEM_freeN(engine->text); + engine->text= NULL; + } + + if(stats && stats[0] && info && info[0]) + engine->text= BLI_sprintfN("%s | %s", stats, info); + else if(info && info[0]) + engine->text= BLI_strdup(info); + else if(stats && stats[0]) + engine->text= BLI_strdup(stats); } void RE_engine_update_progress(RenderEngine *engine, float progress) { Render *re= engine->re; - CLAMP(progress, 0.0f, 1.0f); - re->progress(re->prh, progress); + if(re) { + CLAMP(progress, 0.0f, 1.0f); + re->progress(re->prh, progress); + } } void RE_engine_report(RenderEngine *engine, int type, const char *msg) From f717a1cca6ff7732119bd8d28e4d6e2c7ddd64e6 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 23 Aug 2011 12:18:32 +0000 Subject: [PATCH 093/241] Cycles: fix missing update when adding a lamp. --- source/blender/editors/object/object_add.c | 1 + 1 file changed, 1 insertion(+) diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c index 2e44d4031c8..6bc45638d4c 100644 --- a/source/blender/editors/object/object_add.c +++ b/source/blender/editors/object/object_add.c @@ -308,6 +308,7 @@ Object *ED_object_add_type(bContext *C, int type, float *loc, float *rot, int en /* more editor stuff */ ED_object_base_init_transform(C, BASACT, loc, rot); + DAG_id_type_tag(bmain, ID_OB); DAG_scene_sort(bmain, scene); ED_render_id_flush_update(bmain, ob->data); From bd38aa51ad029f114813d3d8f5a069571255b211 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 23 Aug 2011 12:20:11 +0000 Subject: [PATCH 094/241] Cycles: fix crash in 3d view status text display. --- intern/cycles/blender/blender_python.cpp | 27 +++----------------- intern/cycles/blender/blender_session.cpp | 30 +++++++++++++---------- intern/cycles/blender/blender_session.h | 2 +- 3 files changed, 21 insertions(+), 38 deletions(-) diff --git a/intern/cycles/blender/blender_python.cpp b/intern/cycles/blender/blender_python.cpp index 1e72e5f15f1..b40f5206fea 100644 --- a/intern/cycles/blender/blender_python.cpp +++ b/intern/cycles/blender/blender_python.cpp @@ -129,37 +129,16 @@ static PyObject *draw_func(PyObject *self, PyObject *args) BlenderSession *session = (BlenderSession*)PyLong_AsVoidPtr(pysession); - bool draw_text = false; - if(PyLong_AsVoidPtr(pyrv3d)) { /* 3d view drawing */ int viewport[4]; glGetIntegerv(GL_VIEWPORT, viewport); - draw_text = session->draw(viewport[2], viewport[3]); - } - else { - /* image editor drawing */ - draw_text = session->draw(); + session->draw(viewport[2], viewport[3]); } - /* draw */ - PyObject *ret = PyTuple_New(2); - - if(!draw_text) { - PyTuple_SetItem(ret, 0, PyUnicode_FromString("")); - PyTuple_SetItem(ret, 1, PyUnicode_FromString("")); - } - else { - string status, substatus; - - session->get_status(status, substatus); - - PyTuple_SetItem(ret, 0, PyUnicode_FromString(status.c_str())); - PyTuple_SetItem(ret, 1, PyUnicode_FromString(substatus.c_str())); - } - - return ret; + Py_INCREF(Py_None); + return Py_None; } static PyObject *sync_func(PyObject *self, PyObject *args) diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp index 045efef0ef0..4223998c1f6 100644 --- a/intern/cycles/blender/blender_session.cpp +++ b/intern/cycles/blender/blender_session.cpp @@ -229,12 +229,10 @@ bool BlenderSession::draw(int w, int h) session->reset(width, height); } - /* draw */ - return !session->draw(width, height); -} + /* update status and progress for 3d view draw */ + update_status_progress(); -bool BlenderSession::draw() -{ + /* draw */ return !session->draw(width, height); } @@ -252,20 +250,13 @@ void BlenderSession::get_progress(float& progress, double& total_time) progress = ((float)pass/(float)session->params.passes); } -void BlenderSession::tag_update() -{ - /* tell blender that we want to get another update callback */ - engine_tag_update((RenderEngine*)b_engine.ptr.data); -} - -void BlenderSession::tag_redraw() +void BlenderSession::update_status_progress() { string status, substatus; float progress; double total_time; char time_str[128]; - /* update stats and progress */ get_status(status, substatus); get_progress(progress, total_time); @@ -279,8 +270,21 @@ void BlenderSession::tag_redraw() RE_engine_update_stats((RenderEngine*)b_engine.ptr.data, "", status.c_str()); RE_engine_update_progress((RenderEngine*)b_engine.ptr.data, progress); +} +void BlenderSession::tag_update() +{ + /* tell blender that we want to get another update callback */ + engine_tag_update((RenderEngine*)b_engine.ptr.data); +} + +void BlenderSession::tag_redraw() +{ if(background) { + /* update stats and progress, only for background here because + in 3d view we do it in draw for thread safety reasons */ + update_status_progress(); + /* offline render, redraw if timeout passed */ if(time_dt() - last_redraw_time > 1.0f) { write_render_result(); diff --git a/intern/cycles/blender/blender_session.h b/intern/cycles/blender/blender_session.h index ea3e005a884..8608ddd2658 100644 --- a/intern/cycles/blender/blender_session.h +++ b/intern/cycles/blender/blender_session.h @@ -50,13 +50,13 @@ public: void synchronize(); /* drawing */ - bool draw(); bool draw(int w, int h); void tag_redraw(); void tag_update(); void get_status(string& status, string& substatus); void get_progress(float& progress, double& total_time); void test_cancel(); + void update_status_progress(); bool background; Session *session; From 48b4de31521501203c39fc7efa9aca7d018b6a1c Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 24 Aug 2011 10:44:04 +0000 Subject: [PATCH 095/241] Cycles: * auto/fixed threads option is used now, patch by Thomas. * remove unused CUDA_LIBRARIES, library is dynamically loaded * fix mesh XML export operator for API update --- intern/cycles/app/cycles_test.cpp | 1 + intern/cycles/blender/addon/ui.py | 30 +++++++++++++++---------- intern/cycles/blender/addon/xml.py | 2 +- intern/cycles/blender/blender_sync.cpp | 1 + intern/cycles/cmake/external_libs.cmake | 4 +--- intern/cycles/device/device.cpp | 4 ++-- intern/cycles/device/device.h | 2 +- intern/cycles/device/device_cpu.cpp | 12 ++++++---- intern/cycles/device/device_intern.h | 2 +- intern/cycles/render/session.cpp | 2 +- intern/cycles/render/session.h | 3 +++ 11 files changed, 38 insertions(+), 25 deletions(-) diff --git a/intern/cycles/app/cycles_test.cpp b/intern/cycles/app/cycles_test.cpp index 698974b6277..f617e5db44b 100644 --- a/intern/cycles/app/cycles_test.cpp +++ b/intern/cycles/app/cycles_test.cpp @@ -222,6 +222,7 @@ static void options_parse(int argc, const char **argv) "--quiet", &options.quiet, "In background mode, don't print progress messages", "--passes %d", &options.session_params.passes, "Number of passes to render", "--output %s", &options.session_params.output_path, "File path to write output image", + "--threads %d", &options.session_params.threads, "CPU Rendering Threads", "--help", &help, "Print help message", NULL); diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index b4aeaa8e7ab..ca839691111 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -54,7 +54,7 @@ class CyclesRender_PT_integrator(CyclesButtonsPanel, bpy.types.Panel): #row = col.row() #row.prop(cycles, "blur_caustics") #row.active = not cycles.no_caustics - + class CyclesRender_PT_film(CyclesButtonsPanel, bpy.types.Panel): bl_label = "Film" @@ -69,32 +69,38 @@ class CyclesRender_PT_film(CyclesButtonsPanel, bpy.types.Panel): split.prop(cycles, "exposure") split.prop(cycles, "response_curve", text="") -class CyclesRender_PT_debug(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "Debug" +class CyclesRender_PT_performance(CyclesButtonsPanel, bpy.types.Panel): + bl_label = "Performance" bl_options = {'DEFAULT_CLOSED'} def draw(self, context): layout = self.layout scene = context.scene + rd = scene.render cycles = scene.cycles split = layout.split() - col = split.column() - - sub = col.column(align=True) - sub.prop(cycles, "debug_bvh_type", text="") - sub.prop(cycles, "debug_use_spatial_splits") + col = split.column(align=True) + + col.label(text="Threads:") + col.row().prop(rd, "threads_mode", expand=True) + sub = col.column() + sub.enabled = rd.threads_mode == 'FIXED' + sub.prop(rd, "threads") sub = col.column(align=True) + sub.label(text="Tiles:") sub.prop(cycles, "debug_tile_size") sub.prop(cycles, "debug_min_size") - col = split.column(align=True) - col.prop(cycles, "debug_cancel_timeout") - col.prop(cycles, "debug_reset_timeout") - col.prop(cycles, "debug_text_timeout") + col = split.column() + + sub = col.column(align=True) + sub.label(text="Acceleration structure:") + sub.prop(cycles, "debug_bvh_type", text="") + sub.prop(cycles, "debug_use_spatial_splits") class Cycles_PT_post_processing(CyclesButtonsPanel, bpy.types.Panel): bl_label = "Post Processing" diff --git a/intern/cycles/blender/addon/xml.py b/intern/cycles/blender/addon/xml.py index 3500d3f0aa5..f489f099e8b 100644 --- a/intern/cycles/blender/addon/xml.py +++ b/intern/cycles/blender/addon/xml.py @@ -61,7 +61,7 @@ class ExportCyclesXML(bpy.types.Operator, ExportHelper): if not object: raise Exception("No active object") - mesh = object.create_mesh(scene, True, 'PREVIEW') + mesh = object.to_mesh(scene, True, 'PREVIEW') if not mesh: raise Exception("No mesh data in active object") diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index c00fd8e7689..a6eeb5ec1ae 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -192,6 +192,7 @@ SessionParams BlenderSync::get_session_params(BL::Scene b_scene, bool background params.device_type = dtype; /* other parameters */ + params.threads = b_scene.render().threads(); params.background = background; params.passes = (background)? get_int(cscene, "passes"): INT_MAX; params.tile_size = get_int(cscene, "debug_tile_size"); diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake index 01f3cc1af0d..b23e3b292c5 100644 --- a/intern/cycles/cmake/external_libs.cmake +++ b/intern/cycles/cmake/external_libs.cmake @@ -94,13 +94,11 @@ if(WITH_CYCLES_CUDA) set(CYCLES_CUDA_ARCH sm_10 sm_11 sm_12 sm_13 sm_20 sm_21 CACHE STRING "CUDA architectures to build for") set(CYCLES_CUDA_MAXREG 24 CACHE STRING "CUDA maximum number of register to use") - find_library(CUDA_LIBRARIES NAMES cuda PATHS ${CYCLES_CUDA}/lib ${CYCLES_CUDA}/lib/Win32 NO_DEFAULT_PATH) find_path(CUDA_INCLUDES cuda.h ${CYCLES_CUDA}/include NO_DEFAULT_PATH) find_program(CUDA_NVCC NAMES nvcc PATHS ${CYCLES_CUDA}/bin NO_DEFAULT_PATH) - if(CUDA_INCLUDES AND CUDA_LIBRARIES AND CUDA_NVCC) + if(CUDA_INCLUDES AND CUDA_NVCC) message(STATUS "CUDA includes = ${CUDA_INCLUDES}") - message(STATUS "CUDA library = ${CUDA_LIBRARIES}") message(STATUS "CUDA nvcc = ${CUDA_NVCC}") else() message(STATUS "CUDA not found") diff --git a/intern/cycles/device/device.cpp b/intern/cycles/device/device.cpp index 4fae9310a7f..cd0d64f37dd 100644 --- a/intern/cycles/device/device.cpp +++ b/intern/cycles/device/device.cpp @@ -99,13 +99,13 @@ void Device::draw_pixels(device_memory& rgba, int y, int w, int h, int width, in glPixelZoom(1.0f, 1.0f); } -Device *Device::create(DeviceType type, bool background) +Device *Device::create(DeviceType type, bool background, int threads) { Device *device; switch(type) { case DEVICE_CPU: - device = device_cpu_create(); + device = device_cpu_create(threads); break; #ifdef WITH_CUDA case DEVICE_CUDA: diff --git a/intern/cycles/device/device.h b/intern/cycles/device/device.h index aba077fc2f3..8006eea1a5f 100644 --- a/intern/cycles/device/device.h +++ b/intern/cycles/device/device.h @@ -123,7 +123,7 @@ public: #endif /* static */ - static Device *create(DeviceType type, bool background = true); + static Device *create(DeviceType type, bool background = true, int threads = 0); static DeviceType type_from_string(const char *name); static string string_from_type(DeviceType type); diff --git a/intern/cycles/device/device_cpu.cpp b/intern/cycles/device/device_cpu.cpp index bb47a127f20..7066efee547 100644 --- a/intern/cycles/device/device_cpu.cpp +++ b/intern/cycles/device/device_cpu.cpp @@ -44,10 +44,14 @@ public: ThreadQueue tasks; KernelGlobals *kg; - CPUDevice() + CPUDevice(int threads_num) { kg = kernel_globals_create(); - threads.resize(system_cpu_thread_count()); + + if(threads_num == 0) + threads_num = system_cpu_thread_count(); + + threads.resize(threads_num); for(size_t i = 0; i < threads.size(); i++) threads[i] = new thread(function_bind(&CPUDevice::thread_run, this, i)); @@ -207,9 +211,9 @@ public: } }; -Device *device_cpu_create() +Device *device_cpu_create(int threads) { - return new CPUDevice(); + return new CPUDevice(threads); } CCL_NAMESPACE_END diff --git a/intern/cycles/device/device_intern.h b/intern/cycles/device/device_intern.h index b2875b168b4..e098ac1f0e3 100644 --- a/intern/cycles/device/device_intern.h +++ b/intern/cycles/device/device_intern.h @@ -23,7 +23,7 @@ CCL_NAMESPACE_BEGIN class Device; -Device *device_cpu_create(); +Device *device_cpu_create(int threads); Device *device_opencl_create(bool background); Device *device_cuda_create(bool background); Device *device_network_create(const char *address); diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp index 9fa0e548cab..56fbadcee08 100644 --- a/intern/cycles/render/session.cpp +++ b/intern/cycles/render/session.cpp @@ -37,7 +37,7 @@ Session::Session(const SessionParams& params_) { device_use_gl = (params.device_type == DEVICE_CUDA && !params.background); - device = Device::create(params.device_type, params.background); + device = Device::create(params.device_type, params.background, params.threads); buffers = new RenderBuffers(device); display = new DisplayBuffer(device); diff --git a/intern/cycles/render/session.h b/intern/cycles/render/session.h index 7b23a89afc2..3411dcd23c6 100644 --- a/intern/cycles/render/session.h +++ b/intern/cycles/render/session.h @@ -46,6 +46,7 @@ public: int passes; int tile_size; int min_size; + int threads; double cancel_timeout; double reset_timeout; @@ -61,6 +62,7 @@ public: passes = INT_MAX; tile_size = 64; min_size = 64; + threads = 0; cancel_timeout = 0.1; reset_timeout = 0.1; @@ -75,6 +77,7 @@ public: && progressive == params.progressive && tile_size == params.tile_size && min_size == params.min_size + && threads == params.threads && cancel_timeout == params.cancel_timeout && reset_timeout == params.reset_timeout && text_timeout == params.text_timeout); } From 564eae2dc40a99b53ef01390e58813998dd61953 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 24 Aug 2011 13:43:34 +0000 Subject: [PATCH 096/241] Cycles: remove automatic copy of boost/openimageio shared libraries to binary folder, this doesn't work well, proper solution is to statically link these in official builds. --- source/creator/CMakeLists.txt | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index 43dc998ebc9..9e9a1ef7db1 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -405,22 +405,6 @@ if(UNIX AND NOT APPLE) # install(CODE "execute_process(COMMAND find ${TARGETDIR}/${BLENDER_VERSION}/python/lib/ -name '*.so' -exec strip -s {} '\;')") endif() endif() - - # XXX this is non standard - if(WITH_OPENIMAGEIO) - set(oiio_install_libs - ${OPENIMAGEIO_LIBPATH}/lib${OPENIMAGEIO_LIBRARY}.so - ${BOOST_LIBRARIES}) - - list(REMOVE_ITEM oiio_install_libs optimized) - list(REMOVE_ITEM oiio_install_libs debug) - - install( - FILES ${oiio_install_libs} - DESTINATION ${TARGETDIR} - ) - endif() - elseif(WIN32) set(TARGETDIR_VER ${TARGETDIR}/${BLENDER_VERSION}) From dc557b74409cf31a6406b26bbbe9302590319e86 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 24 Aug 2011 19:21:04 +0000 Subject: [PATCH 097/241] Cycles: linux build tweaks to allow static oiio/boost build. Wiki build instructions have been updated to do static linking now: http://wiki.blender.org/index.php/Dev:2.5/Source/Render/Cycles/Building --- CMakeLists.txt | 10 ++++++---- build_files/cmake/macros.cmake | 7 ++++--- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f2f6ba2b743..eb4323416ca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -519,9 +519,11 @@ if(UNIX AND NOT APPLE) set(BOOST "/usr" CACHE PATH "Boost Directory") endif() - set(BOOST_ROOT ${BOOST}) - set(Boost_USE_MULTITHREADED ON) - find_package(Boost 1.34 REQUIRED COMPONENTS filesystem regex system thread) + if(NOT BOOST_CUSTOM) + set(BOOST_ROOT ${BOOST}) + set(Boost_USE_MULTITHREADED ON) + find_package(Boost 1.47 REQUIRED COMPONENTS filesystem regex system thread) + endif() set(BOOST_INCLUDE_DIR ${Boost_INCLUDE_DIRS}) set(BOOST_LIBRARIES ${Boost_LIBRARIES}) @@ -538,7 +540,7 @@ if(UNIX AND NOT APPLE) endif() set(OPENIMAGEIO_INCLUDE_DIR ${OPENIMAGEIO}/include) - set(OPENIMAGEIO_LIBRARY OpenImageIO) + set(OPENIMAGEIO_LIBRARY OpenImageIO ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARY} ${OPENEXR_LIBRARIES} ${ZLIB_LIBRARIES} ${BOOST_LIBRARIES}) set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib) set(OPENIMAGEIO_DEFINITIONS) endif() diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index 437ad92631f..234d40668ba 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -278,12 +278,13 @@ macro(setup_liblinks if(WITH_IMAGE_TIFF) target_link_libraries(${target} ${TIFF_LIBRARY}) endif() - if(WITH_BOOST) - target_link_libraries(${target} ${BOOST_LIBRARIES}) - endif() if(WITH_OPENIMAGEIO) target_link_libraries(${target} ${OPENIMAGEIO_LIBRARY}) endif() + if(WITH_BOOST) + set(${boost_libs} ${BOOST_LIBRARIES}) + target_link_libraries(${target} ${boost_libs}) + endif() if(WITH_IMAGE_OPENEXR) if(WIN32 AND NOT UNIX) file_list_suffix(OPENEXR_LIBRARIES_DEBUG "${OPENEXR_LIBRARIES}" "_d") From 88481246f080c788f7fe85d658f91d2fe44ccae0 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 24 Aug 2011 19:31:14 +0000 Subject: [PATCH 098/241] Cycles: small fix for last commit, don't know what's going on here exactly but this solves it for now. --- build_files/cmake/macros.cmake | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index 234d40668ba..ab63c6f51a7 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -282,8 +282,12 @@ macro(setup_liblinks target_link_libraries(${target} ${OPENIMAGEIO_LIBRARY}) endif() if(WITH_BOOST) - set(${boost_libs} ${BOOST_LIBRARIES}) - target_link_libraries(${target} ${boost_libs}) + if(BOOST_CUSTOM) + set(${boost_libs} ${BOOST_LIBRARIES}) + target_link_libraries(${target} ${boost_libs}) + else() + target_link_libraries(${target} ${BOOST_LIBRARIES}) + endif() endif() if(WITH_IMAGE_OPENEXR) if(WIN32 AND NOT UNIX) From d48e4fc92be346810baa8cac595ab0a735882a87 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 25 Aug 2011 12:50:52 +0000 Subject: [PATCH 099/241] Cycles: fix linux build issue, link order was wrong. --- build_files/cmake/macros.cmake | 7 +------ intern/cycles/blender/CMakeLists.txt | 22 ---------------------- source/creator/CMakeLists.txt | 22 ++++++++++++++++++---- 3 files changed, 19 insertions(+), 32 deletions(-) diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index ab63c6f51a7..15198b2f67d 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -282,12 +282,7 @@ macro(setup_liblinks target_link_libraries(${target} ${OPENIMAGEIO_LIBRARY}) endif() if(WITH_BOOST) - if(BOOST_CUSTOM) - set(${boost_libs} ${BOOST_LIBRARIES}) - target_link_libraries(${target} ${boost_libs}) - else() - target_link_libraries(${target} ${BOOST_LIBRARIES}) - endif() + target_link_libraries(${target} ${BOOST_LIBRARIES}) endif() if(WITH_IMAGE_OPENEXR) if(WIN32 AND NOT UNIX) diff --git a/intern/cycles/blender/CMakeLists.txt b/intern/cycles/blender/CMakeLists.txt index 324d35d5360..a035d8fde6b 100644 --- a/intern/cycles/blender/CMakeLists.txt +++ b/intern/cycles/blender/CMakeLists.txt @@ -31,30 +31,8 @@ include_directories( ${PYTHON_INCLUDE_DIRS} ${GLEW_INCLUDE_PATH}) -set(LIBRARIES - cycles_render - cycles_bvh - cycles_device - cycles_kernel - cycles_util - cycles_subd) - -if(WITH_CYCLES_OSL) - list(APPEND LIBRARIES cycles_kernel_osl ${OSL_LIBRARIES}) -endif() - -if(WITH_CYCLES_PARTIO) - list(APPEND LIBRARIES ${PARTIO_LIBRARIES}) -endif() - -if(WITH_CYCLES_OPENCL) - list(APPEND LIBRARIES ${OPENCL_LIBRARIES}) -endif() - blender_add_lib(bf_intern_cycles "${sources}" "" "") - add_dependencies(bf_intern_cycles bf_rna) -target_link_libraries(bf_intern_cycles ${LIBRARIES}) delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${addonfiles}" ${CYCLES_INSTALL_PATH}) diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index 9e9a1ef7db1..0c5f15c130b 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -729,6 +729,16 @@ if(WITH_MOD_FLUID) list(APPEND BLENDER_LINK_LIBS bf_intern_elbeem) endif() +if(WITH_CYCLES) + list(APPEND BLENDER_LINK_LIBS + cycles_render + cycles_bvh + cycles_device + cycles_kernel + cycles_util + cycles_subd) +endif() + #if(UNIX) # Sort libraries @@ -830,6 +840,14 @@ endif() bf_blenfont bf_intern_audaspace bf_intern_mikktspace + + bf_intern_cycles + cycles_render + cycles_bvh + cycles_device + cycles_kernel + cycles_util + cycles_subd ) if(WITH_MOD_CLOTH_ELTOPO) @@ -856,10 +874,6 @@ endif() list(APPEND BLENDER_SORTED_LIBS bf_quicktime) endif() - if(WITH_CYCLES) - list(APPEND BLENDER_SORTED_LIBS bf_intern_cycles) - endif() - foreach(SORTLIB ${BLENDER_SORTED_LIBS}) set(REMLIB ${SORTLIB}) foreach(SEARCHLIB ${BLENDER_LINK_LIBS}) From bae896691aa3d7bb2a75292da3cc490894996b01 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 28 Aug 2011 13:55:59 +0000 Subject: [PATCH 100/241] Cycles: * Add alpha pass output, to use set Transparent option in Film panel. * Add Holdout closure (OSL terminology), this is like the Sky option in the internal renderer, objects with this closure show the background / zero alpha. * Add option to use Gaussian instead of Box pixel filter in the UI. * Remove camera response curves for now, they don't really belong here in the pipeline, should be moved to compositor. * Output full float values for rendering now, previously was only byte precision. * Add a patch from Thomas to get a preview passes option, but still disabled because it isn't quite working right yet. * CUDA: don't compile shader graph evaluation inline. * Convert tabs to spaces in python files. --- intern/cycles/app/cycles_test.cpp | 8 +- intern/cycles/blender/addon/__init__.py | 74 +- intern/cycles/blender/addon/engine.py | 62 +- intern/cycles/blender/addon/enums.py | 81 +- intern/cycles/blender/addon/properties.py | 168 +++-- intern/cycles/blender/addon/ui.py | 713 +++++++++--------- intern/cycles/blender/addon/xml.py | 90 +-- intern/cycles/blender/blender_session.cpp | 48 +- intern/cycles/blender/blender_shader.cpp | 7 + intern/cycles/blender/blender_sync.cpp | 26 +- intern/cycles/cmake/external_libs.cmake | 8 +- intern/cycles/device/device.cpp | 10 +- intern/cycles/device/device.h | 2 +- intern/cycles/device/device_cuda.cpp | 14 +- intern/cycles/device/device_multi.cpp | 4 +- intern/cycles/kernel/kernel.cpp | 12 - intern/cycles/kernel/kernel_compat_cuda.h | 1 + intern/cycles/kernel/kernel_compat_opencl.h | 1 + intern/cycles/kernel/kernel_film.h | 24 +- intern/cycles/kernel/kernel_path.h | 65 +- intern/cycles/kernel/kernel_shader.h | 20 + intern/cycles/kernel/kernel_textures.h | 3 - intern/cycles/kernel/kernel_types.h | 15 +- intern/cycles/kernel/osl/osl_shader.cpp | 19 +- intern/cycles/kernel/osl/osl_shader.h | 1 + .../cycles/kernel/svm/bsdf_ashikhmin_velvet.h | 2 +- intern/cycles/kernel/svm/bsdf_diffuse.h | 4 +- intern/cycles/kernel/svm/bsdf_microfacet.h | 4 +- intern/cycles/kernel/svm/bsdf_reflection.h | 1 + intern/cycles/kernel/svm/bsdf_refraction.h | 1 + intern/cycles/kernel/svm/bsdf_transparent.h | 1 + intern/cycles/kernel/svm/bsdf_ward.h | 2 +- intern/cycles/kernel/svm/bsdf_westin.h | 4 +- intern/cycles/kernel/svm/svm.h | 4 +- intern/cycles/kernel/svm/svm_closure.h | 6 + intern/cycles/kernel/svm/svm_convert.h | 2 +- intern/cycles/kernel/svm/svm_types.h | 3 +- intern/cycles/render/CMakeLists.txt | 2 - intern/cycles/render/background.cpp | 6 +- intern/cycles/render/background.h | 1 + intern/cycles/render/buffers.cpp | 59 +- intern/cycles/render/buffers.h | 4 + intern/cycles/render/camera.h | 2 - intern/cycles/render/film.cpp | 72 +- intern/cycles/render/film.h | 2 - intern/cycles/render/filter.cpp | 11 + intern/cycles/render/filter.h | 7 + intern/cycles/render/mesh.cpp | 2 +- intern/cycles/render/nodes.cpp | 18 + intern/cycles/render/nodes.h | 5 + intern/cycles/render/scene.h | 5 - intern/cycles/render/session.cpp | 49 +- intern/cycles/render/session.h | 10 +- intern/cycles/render/tile.cpp | 12 +- intern/cycles/render/tile.h | 3 +- intern/cycles/util/util_color.h | 5 + intern/cycles/util/util_types.h | 1 + source/blender/blenkernel/BKE_node.h | 1 + source/blender/blenkernel/intern/node.c | 3 +- .../makesrna/intern/rna_nodetree_types.h | 3 +- source/blender/nodes/CMakeLists.txt | 1 + source/blender/nodes/SHD_node.h | 1 + .../nodes/intern/SHD_nodes/SHD_holdout.c | 63 ++ 63 files changed, 1018 insertions(+), 840 deletions(-) create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_holdout.c diff --git a/intern/cycles/app/cycles_test.cpp b/intern/cycles/app/cycles_test.cpp index f617e5db44b..c16f6f4e99a 100644 --- a/intern/cycles/app/cycles_test.cpp +++ b/intern/cycles/app/cycles_test.cpp @@ -85,7 +85,7 @@ static void session_print_status() static void session_init() { options.session = new Session(options.session_params); - options.session->reset(options.width, options.height); + options.session->reset(options.width, options.height, options.session_params.passes); options.session->scene = options.scene; if(options.session_params.background && !options.quiet) @@ -162,13 +162,13 @@ static void resize(int width, int height) options.height= height; if(options.session) - options.session->reset(options.width, options.height); + options.session->reset(options.width, options.height, options.session_params.passes); } void keyboard(unsigned char key) { if(key == 'r') - options.session->reset(options.width, options.height); + options.session->reset(options.width, options.height, options.session_params.passes); else if(key == 27) // escape options.session->progress.set_cancel("Cancelled"); } @@ -285,7 +285,7 @@ using namespace ccl; int main(int argc, const char **argv) { - path_init("../blender/intern/cycles"); + path_init("../build/bin/2.59/scripts/addons/cycles/"); options_parse(argc, argv); diff --git a/intern/cycles/blender/addon/__init__.py b/intern/cycles/blender/addon/__init__.py index e66d078f8c7..418f3d4cd27 100644 --- a/intern/cycles/blender/addon/__init__.py +++ b/intern/cycles/blender/addon/__init__.py @@ -37,50 +37,50 @@ from cycles import xml from cycles import engine class CyclesRender(bpy.types.RenderEngine): - bl_idname = 'CYCLES' - bl_label = "Cycles" + bl_idname = 'CYCLES' + bl_label = "Cycles" - def __init__(self): - engine.init() - self.session = None - - def __del__(self): - engine.free(self) + def __init__(self): + engine.init() + self.session = None + + def __del__(self): + engine.free(self) - # final render - def update(self, data, scene): - engine.create(self, data, scene) - engine.update(self, data, scene) + # final render + def update(self, data, scene): + engine.create(self, data, scene) + engine.update(self, data, scene) - def render(self): - engine.render(self) + def render(self): + engine.render(self) - # preview render - # def preview_update(self, context, id): - # pass - # - # def preview_render(self): - # pass - - # viewport render - def view_update(self, context): - if not self.session: - engine.create(self, context.blend_data, context.scene, - context.region, context.space_data, context.region_data) - engine.update(self, context.blend_data, context.scene) + # preview render + # def preview_update(self, context, id): + # pass + # + # def preview_render(self): + # pass + + # viewport render + def view_update(self, context): + if not self.session: + engine.create(self, context.blend_data, context.scene, + context.region, context.space_data, context.region_data) + engine.update(self, context.blend_data, context.scene) - def view_draw(self, context): - engine.draw(self, context.region, context.space_data, context.region_data) + def view_draw(self, context): + engine.draw(self, context.region, context.space_data, context.region_data) def register(): - properties.register() - ui.register() - xml.register() - bpy.utils.register_module(__name__) + properties.register() + ui.register() + xml.register() + bpy.utils.register_module(__name__) def unregister(): - xml.unregister() - ui.unregister() - properties.unregister() - bpy.utils.unregister_module(__name__) + xml.unregister() + ui.unregister() + properties.unregister() + bpy.utils.unregister_module(__name__) diff --git a/intern/cycles/blender/addon/engine.py b/intern/cycles/blender/addon/engine.py index d25eb21eeb9..d6ea15a435f 100644 --- a/intern/cycles/blender/addon/engine.py +++ b/intern/cycles/blender/addon/engine.py @@ -19,52 +19,52 @@ import bpy def init(): - import libcycles_blender as lib - import os.path - lib.init(os.path.dirname(__file__)) + import libcycles_blender as lib + import os.path + lib.init(os.path.dirname(__file__)) def create(engine, data, scene, region = 0, v3d = 0, rv3d = 0): - import libcycles_blender as lib + import libcycles_blender as lib - data = data.as_pointer() - scene = scene.as_pointer() - if region: - region = region.as_pointer() - if v3d: - v3d = v3d.as_pointer() - if rv3d: - rv3d = rv3d.as_pointer() + data = data.as_pointer() + scene = scene.as_pointer() + if region: + region = region.as_pointer() + if v3d: + v3d = v3d.as_pointer() + if rv3d: + rv3d = rv3d.as_pointer() - engine.session = lib.create(engine.as_pointer(), data, scene, region, v3d, rv3d) + engine.session = lib.create(engine.as_pointer(), data, scene, region, v3d, rv3d) def free(engine): - if "session" in dir(engine): - if engine.session: - import libcycles_blender as lib - lib.free(engine.session) - del engine.session + if "session" in dir(engine): + if engine.session: + import libcycles_blender as lib + lib.free(engine.session) + del engine.session def render(engine): - import libcycles_blender as lib - lib.render(engine.session) + import libcycles_blender as lib + lib.render(engine.session) def update(engine, data, scene): - import libcycles_blender as lib - lib.sync(engine.session) + import libcycles_blender as lib + lib.sync(engine.session) def draw(engine, region, v3d, rv3d): - import libcycles_blender as lib - v3d = v3d.as_pointer() - rv3d = rv3d.as_pointer() + import libcycles_blender as lib + v3d = v3d.as_pointer() + rv3d = rv3d.as_pointer() - # draw render image - lib.draw(engine.session, v3d, rv3d) + # draw render image + lib.draw(engine.session, v3d, rv3d) def available_devices(): - import libcycles_blender as lib - return lib.available_devices() + import libcycles_blender as lib + return lib.available_devices() def with_osl(): - import libcycles_blender as lib - return lib.with_osl() + import libcycles_blender as lib + return lib.with_osl() diff --git a/intern/cycles/blender/addon/enums.py b/intern/cycles/blender/addon/enums.py index fd12fa6d5a5..4b30f606de2 100644 --- a/intern/cycles/blender/addon/enums.py +++ b/intern/cycles/blender/addon/enums.py @@ -33,81 +33,8 @@ bvh_types = ( ("DYNAMIC_BVH", "Dynamic BVH", "Objects can be individually updated, at the cost of slower render time"), ("STATIC_BVH", "Static BVH", "Any object modification requires a complete BVH rebuild, but renders faster")) -response_curves = ( -("None", "None", ""), -("", "Agfa", ""), -("Agfacolor Futura 100", "Futura 100", ""), -("Agfacolor Futura 200", "Futura 200", ""), -("Agfacolor Futura 400", "Futura 400", ""), -("Agfacolor Futura II 100", "Futura II 100", ""), -("Agfacolor Futura II 200", "Futura II 200", ""), -("Agfacolor Futura II 400", "Futura II 400", ""), -("Agfacolor HDC 100 plus", "HDC 100 plus", ""), -("Agfacolor HDC 400 plus", "HDC 400 plus", ""), -("Agfacolor HDC 200 plus", "HDC 200 plus", ""), -("Agfacolor Optima II 100", "Optima II 100", ""), -("Agfacolor Optima II 200", "Optima II 200", ""), -("Agfacolor Ultra 050", "Ultra 050", ""), -("", "Agfa", ""), -("Agfacolor Vista 100", "Vista 100", ""), -("Agfacolor Vista 200", "Vista 200", ""), -("Agfacolor Vista 400", "Vista 400", ""), -("Agfacolor Vista 800", "Vista 800", ""), -("Agfachrome CT Precisa 100", "CT Precisa 100", ""), -("Agfachrome CT Precisa 200", "CT Precisa 200", ""), -("Agfachrome RSX2 050", "Agfachrome RSX2 050", ""), -("Agfachrome RSX2 100", "Agfachrome RSX2 100", ""), -("Agfachrome RSX2 200", "Agfachrome RSX2 200", ""), -("Advantix 100", "Advantix 100", ""), -("Advantix 200", "Advantix 200", ""), -("Advantix 400", "Advantix 400", ""), -("", "Kodak", ""), -("Gold 100", "Gold 100", ""), -("Gold 200", "Gold 200", ""), -("Max Zoom 800", "Max Zoom 800", ""), -("Portra 100T", "Portra 100T", ""), -("Portra 160NC", "Portra 160NC", ""), -("Portra 160VC", "Portra 160VC", ""), -("Portra 800", "Portra 800", ""), -("Portra 400VC", "Portra 400VC", ""), -("Portra 400NC", "Portra 400NC", ""), -("", "Kodak", ""), -("Ektachrome 100 plus", "Ektachrome 100 plus", ""), -("Ektachrome 320T", "Ektachrome 320T", ""), -("Ektachrome 400X", "Ektachrome 400X", ""), -("Ektachrome 64", "Ektachrome 64", ""), -("Ektachrome 64T", "Ektachrome 64T", ""), -("Ektachrome E100S", "Ektachrome E100S", ""), -("Ektachrome 100", "Ektachrome 100", ""), -("Kodachrome 200", "Kodachrome 200", ""), -("Kodachrome 25", "Kodachrome 25", ""), -("Kodachrome 64", "Kodachrome 64", ""), -#("DSCS 3151", "DSCS 3151", ""), -#("DSCS 3152", "DSCS 3152", ""), -#("DSCS 3153", "DSCS 3153", ""), -#("DSCS 3154", "DSCS 3154", ""), -#("DSCS 3155", "DSCS 3155", ""), -#("DSCS 3156", "DSCS 3156", ""), -#("KAI-0311", "KAI-0311", ""), -#("KAF-2001", "KAF-2001", ""), -#("KAF-3000", "KAF-3000", ""), -#("KAI-0372", "KAI-0372", ""), -#("KAI-1010", "KAI-1010", ""), -("", "Fujifilm", ""), -("F-125", "F-125", ""), -("F-250", "F-250", ""), -("F-400", "F-400", ""), -("FCI", "FCI", ""), -("FP2900Z", "FP2900Z", ""), -("", "Eastman", ""), -("Double X Neg 12min", "Double X Neg 12min", ""), -("Double X Neg 6min", "Double X Neg 6min", ""), -("Double X Neg 5min", "Double X Neg 5min", ""), -("Double X Neg 4min", "Double X Neg 4min", ""), -("", "Canon", ""), -("Optura 981111", "Optura 981111", ""), -("Optura 981113", "Optura 981113", ""), -("Optura 981114", "Optura 981114", ""), -("Optura 981111.SLRR", "Optura 981111.SLRR", "") -) +filter_types = ( +("BOX", "Box", "Box filter"), +("GAUSSIAN", "Gaussian", "Gaussian filter")) + diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index 3ec0587d89c..62c1db5a16d 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -22,99 +22,117 @@ from bpy.props import * from cycles import enums class CyclesRenderSettings(bpy.types.PropertyGroup): - @classmethod - def register(cls): - bpy.types.Scene.cycles = PointerProperty(type=cls, name="Cycles Render Settings", description="Cycles Render Settings") + @classmethod + def register(cls): + bpy.types.Scene.cycles = PointerProperty(type=cls, name="Cycles Render Settings", description="Cycles Render Settings") - cls.device = EnumProperty(name="Device", description="Device to use for rendering", - items=enums.devices, default="CPU") + cls.device = EnumProperty(name="Device", description="Device to use for rendering", + items=enums.devices, default="CPU") - cls.shading_system = EnumProperty(name="Shading System", description="Shading system to use for rendering", - items=enums.shading_systems, default="GPU_COMPATIBLE") + cls.shading_system = EnumProperty(name="Shading System", description="Shading system to use for rendering", + items=enums.shading_systems, default="GPU_COMPATIBLE") - cls.passes = IntProperty(name="Passes", description="Number of passes to render", - default=10, min=1, max=2147483647) - cls.min_bounces = IntProperty(name="Min Bounces", description="Minimum number of bounces", - default=3, min=0, max=1024) - cls.max_bounces = IntProperty(name="Max Bounces", description="Maximum number of bounces", - default=8, min=0, max=1024) - cls.no_caustics = BoolProperty(name="No Caustics", description="Leave out caustics, resulting in a darker image with less noise", - default=False) - cls.blur_caustics = FloatProperty(name="Blur Caustics", description="Blur caustics to reduce noise", - default=0.0, min=0.0, max=1.0) + cls.passes = IntProperty(name="Passes", description="Number of passes to render", + default=10, min=1, max=2147483647) + cls.preview_passes = IntProperty(name="Preview Passes", description="Number of passes to render in the viewport, unlimited if 0", + default=0, min=0, max=2147483647) + cls.min_bounces = IntProperty(name="Min Bounces", description="Minimum number of bounces", + default=3, min=0, max=1024) + cls.max_bounces = IntProperty(name="Max Bounces", description="Maximum number of bounces", + default=8, min=0, max=1024) + cls.no_caustics = BoolProperty(name="No Caustics", description="Leave out caustics, resulting in a darker image with less noise", + default=False) + cls.blur_caustics = FloatProperty(name="Blur Caustics", description="Blur caustics to reduce noise", + default=0.0, min=0.0, max=1.0) - cls.exposure = FloatProperty(name="Exposure", description="Image brightness scale", - default=1.0, min=0.0, max=10.0) - cls.response_curve = EnumProperty(name="Response Curve", description="Measured camera film response", - items=enums.response_curves, default="Advantix 400") + cls.exposure = FloatProperty(name="Exposure", description="Image brightness scale", + default=1.0, min=0.0, max=10.0) + cls.transparent = BoolProperty(name="Transparent", description="World background is transparent", + default=False) - cls.debug_tile_size = IntProperty(name="Tile Size", description="", - default=1024, min=1, max=4096) - cls.debug_min_size = IntProperty(name="Min Size", description="", - default=64, min=1, max=4096) - cls.debug_reset_timeout = FloatProperty(name="Reset timeout", description="", - default=0.1, min=0.01, max=10.0) - cls.debug_cancel_timeout = FloatProperty(name="Cancel timeout", description="", - default=0.1, min=0.01, max=10.0) - cls.debug_text_timeout = FloatProperty(name="Text timeout", description="", - default=1.0, min=0.01, max=10.0) + cls.filter_type = EnumProperty(name="Filter Type", description="Pixel filter type", + items=enums.filter_types, default="GAUSSIAN") + cls.filter_width = FloatProperty(name="Filter Width", description="Pixel filter width", + default=1.5, min=0.01, max=10.0) - cls.debug_bvh_type = EnumProperty(name="BVH Type", description="Choose between faster updates, or faster render", - items=enums.bvh_types, default="DYNAMIC_BVH") - cls.debug_use_spatial_splits = BoolProperty(name="Use Spatial Splits", description="Use BVH spatial splits: longer builder time, faster render", - default=False) + cls.debug_tile_size = IntProperty(name="Tile Size", description="", + default=1024, min=1, max=4096) + cls.debug_min_size = IntProperty(name="Min Size", description="", + default=64, min=1, max=4096) + cls.debug_reset_timeout = FloatProperty(name="Reset timeout", description="", + default=0.1, min=0.01, max=10.0) + cls.debug_cancel_timeout = FloatProperty(name="Cancel timeout", description="", + default=0.1, min=0.01, max=10.0) + cls.debug_text_timeout = FloatProperty(name="Text timeout", description="", + default=1.0, min=0.01, max=10.0) - @classmethod - def unregister(cls): - del bpy.types.Scene.cycles + cls.debug_bvh_type = EnumProperty(name="BVH Type", description="Choose between faster updates, or faster render", + items=enums.bvh_types, default="DYNAMIC_BVH") + cls.debug_use_spatial_splits = BoolProperty(name="Use Spatial Splits", description="Use BVH spatial splits: longer builder time, faster render", + default=False) + + @classmethod + def unregister(cls): + del bpy.types.Scene.cycles class CyclesCameraSettings(bpy.types.PropertyGroup): - @classmethod - def register(cls): - bpy.types.Camera.cycles = PointerProperty(type=cls, name="Cycles Camera Settings", description="Cycles Camera Settings") + @classmethod + def register(cls): + bpy.types.Camera.cycles = PointerProperty(type=cls, name="Cycles Camera Settings", description="Cycles Camera Settings") - cls.lens_radius = FloatProperty(name="Lens radius", description="Lens radius for depth of field", - default=0.0, min=0.0, max=10.0) - - @classmethod - def unregister(cls): - del bpy.types.Camera.cycles + cls.lens_radius = FloatProperty(name="Lens radius", description="Lens radius for depth of field", + default=0.0, min=0.0, max=10.0) + + @classmethod + def unregister(cls): + del bpy.types.Camera.cycles class CyclesMaterialSettings(bpy.types.PropertyGroup): - @classmethod - def register(cls): - bpy.types.Material.cycles = PointerProperty(type=cls, name="Cycles Material Settings", description="Cycles Material Settings") + @classmethod + def register(cls): + bpy.types.Material.cycles = PointerProperty(type=cls, name="Cycles Material Settings", description="Cycles Material Settings") - @classmethod - def unregister(cls): - del bpy.types.Material.cycles + @classmethod + def unregister(cls): + del bpy.types.Material.cycles + +class CyclesWorldSettings(bpy.types.PropertyGroup): + @classmethod + def register(cls): + bpy.types.World.cycles = PointerProperty(type=cls, name="Cycles World Settings", description="Cycles World Settings") + + @classmethod + def unregister(cls): + del bpy.types.World.cycles class CyclesMeshSettings(bpy.types.PropertyGroup): - @classmethod - def register(cls): - bpy.types.Mesh.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles Mesh Settings") - bpy.types.Curve.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles Mesh Settings") - bpy.types.MetaBall.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles Mesh Settings") + @classmethod + def register(cls): + bpy.types.Mesh.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles Mesh Settings") + bpy.types.Curve.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles Mesh Settings") + bpy.types.MetaBall.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles Mesh Settings") - cls.displacement_method = EnumProperty(name="Displacement Method", description="Method to use for the displacement", - items=enums.displacement_methods, default="BUMP") - cls.use_subdivision = BoolProperty(name="Use Subdivision", description="Subdivide mesh for rendering", - default=False) - cls.dicing_rate = FloatProperty(name="Dicing Rate", description="", default=1.0, min=0.001, max=1000.0) + cls.displacement_method = EnumProperty(name="Displacement Method", description="Method to use for the displacement", + items=enums.displacement_methods, default="BUMP") + cls.use_subdivision = BoolProperty(name="Use Subdivision", description="Subdivide mesh for rendering", + default=False) + cls.dicing_rate = FloatProperty(name="Dicing Rate", description="", default=1.0, min=0.001, max=1000.0) - @classmethod - def unregister(cls): - del bpy.types.Mesh.cycles + @classmethod + def unregister(cls): + del bpy.types.Mesh.cycles def register(): - bpy.utils.register_class(CyclesRenderSettings) - bpy.utils.register_class(CyclesCameraSettings) - bpy.utils.register_class(CyclesMaterialSettings) - bpy.utils.register_class(CyclesMeshSettings) - + bpy.utils.register_class(CyclesRenderSettings) + bpy.utils.register_class(CyclesCameraSettings) + bpy.utils.register_class(CyclesMaterialSettings) + bpy.utils.register_class(CyclesWorldSettings) + bpy.utils.register_class(CyclesMeshSettings) + def unregister(): - bpy.utils.unregister_class(CyclesRenderSettings) - bpy.utils.unregister_class(CyclesCameraSettings) - bpy.utils.unregister_class(CyclesMaterialSettings) - bpy.utils.unregister_class(CyclesMeshSettings) + bpy.utils.unregister_class(CyclesRenderSettings) + bpy.utils.unregister_class(CyclesCameraSettings) + bpy.utils.unregister_class(CyclesMaterialSettings) + bpy.utils.unregister_class(CyclesWorldSettings) + bpy.utils.unregister_class(CyclesMeshSettings) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index ca839691111..a1363ece854 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -22,494 +22,503 @@ from cycles import enums from cycles import engine class CyclesButtonsPanel(): - bl_space_type = "PROPERTIES" - bl_region_type = "WINDOW" - bl_context = "render" - - @classmethod - def poll(cls, context): - rd = context.scene.render - return rd.engine == 'CYCLES' + bl_space_type = "PROPERTIES" + bl_region_type = "WINDOW" + bl_context = "render" + + @classmethod + def poll(cls, context): + rd = context.scene.render + return rd.engine == 'CYCLES' class CyclesRender_PT_integrator(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "Integrator" + bl_label = "Integrator" - def draw(self, context): - layout = self.layout + def draw(self, context): + layout = self.layout - scene = context.scene - cycles = scene.cycles + scene = context.scene + cscene = scene.cycles - split = layout.split() + split = layout.split() - col = split.column() - col.prop(cycles, "passes") - col.prop(cycles, "no_caustics") + col = split.column() + col.prop(cscene, "passes", text="Render Passes") + #sub = col.row() + #sub.active = cscene.preview_passes >= 1 + #sub.prop(cscene, "preview_passes") + col.prop(cscene, "no_caustics") - col = split.column() - col = col.column(align=True) - col.prop(cycles, "max_bounces") - col.prop(cycles, "min_bounces") + col = split.column() + col = col.column(align=True) + col.prop(cscene, "max_bounces") + col.prop(cscene, "min_bounces") - #row = col.row() - #row.prop(cycles, "blur_caustics") - #row.active = not cycles.no_caustics - + #row = col.row() + #row.prop(cscene, "blur_caustics") + #row.active = not cscene.no_caustics + class CyclesRender_PT_film(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "Film" + bl_label = "Film" - def draw(self, context): - layout = self.layout + def draw(self, context): + layout = self.layout - scene = context.scene - cycles = scene.cycles + scene = context.scene + cscene = scene.cycles - split = layout.split() + split = layout.split() - split.prop(cycles, "exposure") - split.prop(cycles, "response_curve", text="") + col = split.column(); + col.prop(cscene, "exposure") + col.prop(cscene, "transparent") + + col = split.column() + col.prop(cscene, "filter_type", text="") + if cscene.filter_type != 'BOX': + col.prop(cscene, "filter_width", text="Width") class CyclesRender_PT_performance(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "Performance" - bl_options = {'DEFAULT_CLOSED'} + bl_label = "Performance" + bl_options = {'DEFAULT_CLOSED'} - def draw(self, context): - layout = self.layout + def draw(self, context): + layout = self.layout - scene = context.scene - rd = scene.render - cycles = scene.cycles + scene = context.scene + rd = scene.render + cscene = scene.cycles - split = layout.split() + split = layout.split() - col = split.column(align=True) + col = split.column(align=True) - col.label(text="Threads:") - col.row().prop(rd, "threads_mode", expand=True) - sub = col.column() - sub.enabled = rd.threads_mode == 'FIXED' - sub.prop(rd, "threads") + col.label(text="Threads:") + col.row().prop(rd, "threads_mode", expand=True) + sub = col.column() + sub.enabled = rd.threads_mode == 'FIXED' + sub.prop(rd, "threads") - sub = col.column(align=True) - sub.label(text="Tiles:") - sub.prop(cycles, "debug_tile_size") - sub.prop(cycles, "debug_min_size") + sub = col.column(align=True) + sub.label(text="Tiles:") + sub.prop(cscene, "debug_tile_size") + sub.prop(cscene, "debug_min_size") - col = split.column() + col = split.column() - sub = col.column(align=True) - sub.label(text="Acceleration structure:") - sub.prop(cycles, "debug_bvh_type", text="") - sub.prop(cycles, "debug_use_spatial_splits") + sub = col.column(align=True) + sub.label(text="Acceleration structure:") + sub.prop(cscene, "debug_bvh_type", text="") + sub.prop(cscene, "debug_use_spatial_splits") class Cycles_PT_post_processing(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "Post Processing" - bl_options = {'DEFAULT_CLOSED'} + bl_label = "Post Processing" + bl_options = {'DEFAULT_CLOSED'} - def draw(self, context): - layout = self.layout + def draw(self, context): + layout = self.layout - rd = context.scene.render + rd = context.scene.render - split = layout.split() + split = layout.split() - col = split.column() - col.prop(rd, "use_compositing") - col.prop(rd, "use_sequencer") + col = split.column() + col.prop(rd, "use_compositing") + col.prop(rd, "use_sequencer") - col = split.column() - col.prop(rd, "dither_intensity", text="Dither", slider=True) + col = split.column() + col.prop(rd, "dither_intensity", text="Dither", slider=True) class Cycles_PT_camera(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "Cycles" - bl_context = "data" + bl_label = "Cycles" + bl_context = "data" - @classmethod - def poll(cls, context): - return context.camera + @classmethod + def poll(cls, context): + return context.camera - def draw(self, context): - layout = self.layout + def draw(self, context): + layout = self.layout - camera = context.camera - cycles = camera.cycles + camera = context.camera + ccamera = camera.cycles - layout.prop(cycles, "lens_radius") + layout.prop(ccamera, "lens_radius") class Cycles_PT_context_material(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "Surface" - bl_context = "material" - bl_options = {'HIDE_HEADER'} + bl_label = "Surface" + bl_context = "material" + bl_options = {'HIDE_HEADER'} - @classmethod - def poll(cls, context): - return (context.material or context.object) and CyclesButtonsPanel.poll(context) + @classmethod + def poll(cls, context): + return (context.material or context.object) and CyclesButtonsPanel.poll(context) - def draw(self, context): - layout = self.layout + def draw(self, context): + layout = self.layout - mat = context.material - ob = context.object - slot = context.material_slot - space = context.space_data + mat = context.material + ob = context.object + slot = context.material_slot + space = context.space_data - if ob: - row = layout.row() + if ob: + row = layout.row() - row.template_list(ob, "material_slots", ob, "active_material_index", rows=2) + row.template_list(ob, "material_slots", ob, "active_material_index", rows=2) - col = row.column(align=True) - col.operator("object.material_slot_add", icon='ZOOMIN', text="") - col.operator("object.material_slot_remove", icon='ZOOMOUT', text="") + col = row.column(align=True) + col.operator("object.material_slot_add", icon='ZOOMIN', text="") + col.operator("object.material_slot_remove", icon='ZOOMOUT', text="") - col.menu("MATERIAL_MT_specials", icon='DOWNARROW_HLT', text="") + col.menu("MATERIAL_MT_specials", icon='DOWNARROW_HLT', text="") - if ob.mode == 'EDIT': - row = layout.row(align=True) - row.operator("object.material_slot_assign", text="Assign") - row.operator("object.material_slot_select", text="Select") - row.operator("object.material_slot_deselect", text="Deselect") + if ob.mode == 'EDIT': + row = layout.row(align=True) + row.operator("object.material_slot_assign", text="Assign") + row.operator("object.material_slot_select", text="Select") + row.operator("object.material_slot_deselect", text="Deselect") - split = layout.split(percentage=0.65) + split = layout.split(percentage=0.65) - if ob: - split.template_ID(ob, "active_material", new="material.new") - row = split.row() + if ob: + split.template_ID(ob, "active_material", new="material.new") + row = split.row() - if slot: - row.prop(slot, "link", text="") - else: - row.label() - elif mat: - split.template_ID(space, "pin_id") - split.separator() + if slot: + row.prop(slot, "link", text="") + else: + row.label() + elif mat: + split.template_ID(space, "pin_id") + split.separator() class Cycles_PT_mesh_displacement(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "Displacement" - bl_context = "data" + bl_label = "Displacement" + bl_context = "data" - @classmethod - def poll(cls, context): - return context.mesh or context.curve or context.meta_ball + @classmethod + def poll(cls, context): + return context.mesh or context.curve or context.meta_ball - def draw(self, context): - layout = self.layout + def draw(self, context): + layout = self.layout - mesh = context.mesh - curve = context.curve - mball = context.meta_ball + mesh = context.mesh + curve = context.curve + mball = context.meta_ball - if mesh: - cycles = mesh.cycles - elif curve: - cycles = curve.cycles - elif mball: - cycles = mball.cycles + if mesh: + cdata = mesh.cycles + elif curve: + cdata = curve.cycles + elif mball: + cdata = mball.cycles - layout.prop(cycles, "displacement_method", text="Method") - layout.prop(cycles, "use_subdivision"); - layout.prop(cycles, "dicing_rate"); + layout.prop(cdata, "displacement_method", text="Method") + layout.prop(cdata, "use_subdivision"); + layout.prop(cdata, "dicing_rate"); def find_node(material, nodetype): - if material and material.node_tree: - ntree = material.node_tree + if material and material.node_tree: + ntree = material.node_tree - for node in ntree.nodes: - if type(node) is not bpy.types.NodeGroup and node.type == nodetype: - return node - - return None + for node in ntree.nodes: + if type(node) is not bpy.types.NodeGroup and node.type == nodetype: + return node + + return None def find_node_input(node, name): - for input in node.inputs: - if input.name == name: - return input - - return None + for input in node.inputs: + if input.name == name: + return input + + return None def panel_node_draw(layout, id, output_type, input_name): - if not id.node_tree: - layout.prop(id, "use_nodes") - return + if not id.node_tree: + layout.prop(id, "use_nodes") + return - ntree = id.node_tree + ntree = id.node_tree - node = find_node(id, output_type) - if not node: - layout.label(text="No output node.") - else: - input = find_node_input(node, input_name) - layout.template_node_view(ntree, node, input); + node = find_node(id, output_type) + if not node: + layout.label(text="No output node.") + else: + input = find_node_input(node, input_name) + layout.template_node_view(ntree, node, input); class CyclesLamp_PT_lamp(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "Surface" - bl_context = "data" + bl_label = "Surface" + bl_context = "data" - @classmethod - def poll(cls, context): - return context.lamp and CyclesButtonsPanel.poll(context) + @classmethod + def poll(cls, context): + return context.lamp and CyclesButtonsPanel.poll(context) - def draw(self, context): - layout = self.layout + def draw(self, context): + layout = self.layout - mat = context.lamp - panel_node_draw(layout, mat, 'OUTPUT_LAMP', 'Surface') + mat = context.lamp + panel_node_draw(layout, mat, 'OUTPUT_LAMP', 'Surface') class CyclesWorld_PT_surface(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "Surface" - bl_context = "world" + bl_label = "Surface" + bl_context = "world" - @classmethod - def poll(cls, context): - return context.world and CyclesButtonsPanel.poll(context) + @classmethod + def poll(cls, context): + return context.world and CyclesButtonsPanel.poll(context) - def draw(self, context): - layout = self.layout + def draw(self, context): + layout = self.layout - mat = context.world - panel_node_draw(layout, mat, 'OUTPUT_WORLD', 'Surface') + mat = context.world + panel_node_draw(layout, mat, 'OUTPUT_WORLD', 'Surface') class CyclesWorld_PT_volume(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "Volume" - bl_context = "world" + bl_label = "Volume" + bl_context = "world" - @classmethod - def poll(cls, context): - return context.world and CyclesButtonsPanel.poll(context) + @classmethod + def poll(cls, context): + return context.world and CyclesButtonsPanel.poll(context) - def draw(self, context): - layout = self.layout - layout.active = False + def draw(self, context): + layout = self.layout + layout.active = False - mat = context.world - panel_node_draw(layout, mat, 'OUTPUT_WORLD', 'Volume') + mat = context.world + panel_node_draw(layout, mat, 'OUTPUT_WORLD', 'Volume') class CyclesMaterial_PT_surface(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "Surface" - bl_context = "material" + bl_label = "Surface" + bl_context = "material" - @classmethod - def poll(cls, context): - return context.material and CyclesButtonsPanel.poll(context) + @classmethod + def poll(cls, context): + return context.material and CyclesButtonsPanel.poll(context) - def draw(self, context): - layout = self.layout + def draw(self, context): + layout = self.layout - mat = context.material - panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Surface') + mat = context.material + panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Surface') class CyclesMaterial_PT_volume(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "Volume" - bl_context = "material" + bl_label = "Volume" + bl_context = "material" - @classmethod - def poll(cls, context): - return context.material and CyclesButtonsPanel.poll(context) + @classmethod + def poll(cls, context): + return context.material and CyclesButtonsPanel.poll(context) - def draw(self, context): - layout = self.layout - layout.active = False + def draw(self, context): + layout = self.layout + layout.active = False - mat = context.material - panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Volume') + mat = context.material + panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Volume') class CyclesMaterial_PT_displacement(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "Displacement" - bl_context = "material" + bl_label = "Displacement" + bl_context = "material" - @classmethod - def poll(cls, context): - return context.material and CyclesButtonsPanel.poll(context) + @classmethod + def poll(cls, context): + return context.material and CyclesButtonsPanel.poll(context) - def draw(self, context): - layout = self.layout + def draw(self, context): + layout = self.layout - mat = context.material - panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Displacement') + mat = context.material + panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Displacement') class CyclesMaterial_PT_settings(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "Settings" - bl_context = "material" - bl_options = {'DEFAULT_CLOSED'} + bl_label = "Settings" + bl_context = "material" + bl_options = {'DEFAULT_CLOSED'} - @classmethod - def poll(cls, context): - # return context.material and CyclesButtonsPanel.poll(context) - return False + @classmethod + def poll(cls, context): + # return context.material and CyclesButtonsPanel.poll(context) + return False - def draw(self, context): - layout = self.layout + def draw(self, context): + layout = self.layout - mat = context.material - - row = layout.row() - row.label(text="Light Group:") - row.prop(mat, "light_group", text="") + mat = context.material + + row = layout.row() + row.label(text="Light Group:") + row.prop(mat, "light_group", text="") class CyclesTexture_PT_context(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "" - bl_context = "texture" - bl_options = {'HIDE_HEADER'} - COMPAT_ENGINES = {'CYCLES'} + bl_label = "" + bl_context = "texture" + bl_options = {'HIDE_HEADER'} + COMPAT_ENGINES = {'CYCLES'} - def draw(self, context): - layout = self.layout + def draw(self, context): + layout = self.layout - tex = context.texture - space = context.space_data - pin_id = space.pin_id - use_pin_id = space.use_pin_id; - user = context.texture_user - node = context.texture_node + tex = context.texture + space = context.space_data + pin_id = space.pin_id + use_pin_id = space.use_pin_id; + user = context.texture_user + node = context.texture_node - if not use_pin_id or not isinstance(pin_id, bpy.types.Texture): - pin_id = None + if not use_pin_id or not isinstance(pin_id, bpy.types.Texture): + pin_id = None - if not pin_id: - layout.template_texture_user() + if not pin_id: + layout.template_texture_user() - if user: - layout.separator() + if user: + layout.separator() - split = layout.split(percentage=0.65) - col = split.column() + split = layout.split(percentage=0.65) + col = split.column() - if pin_id: - col.template_ID(space, "pin_id") - elif user: - col.template_ID(user, "texture", new="texture.new") - - if tex: - row = split.row() - row.prop(tex, "use_nodes", icon="NODETREE", text="") - row.label() + if pin_id: + col.template_ID(space, "pin_id") + elif user: + col.template_ID(user, "texture", new="texture.new") + + if tex: + row = split.row() + row.prop(tex, "use_nodes", icon="NODETREE", text="") + row.label() - if not tex.use_nodes: - split = layout.split(percentage=0.2) - split.label(text="Type:") - split.prop(tex, "type", text="") + if not tex.use_nodes: + split = layout.split(percentage=0.2) + split.label(text="Type:") + split.prop(tex, "type", text="") class CyclesTexture_PT_nodes(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "Nodes" - bl_context = "texture" + bl_label = "Nodes" + bl_context = "texture" - @classmethod - def poll(cls, context): - tex = context.texture - return (tex and tex.use_nodes) and CyclesButtonsPanel.poll(context) + @classmethod + def poll(cls, context): + tex = context.texture + return (tex and tex.use_nodes) and CyclesButtonsPanel.poll(context) - def draw(self, context): - layout = self.layout + def draw(self, context): + layout = self.layout - tex = context.texture - panel_node_draw(layout, tex, 'OUTPUT_TEXTURE', 'Color') + tex = context.texture + panel_node_draw(layout, tex, 'OUTPUT_TEXTURE', 'Color') class CyclesTexture_PT_node(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "Node" - bl_context = "texture" + bl_label = "Node" + bl_context = "texture" - @classmethod - def poll(cls, context): - node = context.texture_node - return node and CyclesButtonsPanel.poll(context) + @classmethod + def poll(cls, context): + node = context.texture_node + return node and CyclesButtonsPanel.poll(context) - def draw(self, context): - layout = self.layout + def draw(self, context): + layout = self.layout - node = context.texture_node - ntree = node.id_data - layout.template_node_view(ntree, node, None) + node = context.texture_node + ntree = node.id_data + layout.template_node_view(ntree, node, None) class CyclesTexture_PT_mapping(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "Mapping" - bl_context = "texture" + bl_label = "Mapping" + bl_context = "texture" - @classmethod - def poll(cls, context): - tex = context.texture - node = context.texture_node - return (node or (tex and tex.use_nodes)) and CyclesButtonsPanel.poll(context) + @classmethod + def poll(cls, context): + tex = context.texture + node = context.texture_node + return (node or (tex and tex.use_nodes)) and CyclesButtonsPanel.poll(context) - def draw(self, context): - layout = self.layout - layout.label("Texture coordinate mapping goes here."); - layout.label("Translate, rotate, scale, projection, XYZ.") + def draw(self, context): + layout = self.layout + layout.label("Texture coordinate mapping goes here."); + layout.label("Translate, rotate, scale, projection, XYZ.") class CyclesTexture_PT_color(CyclesButtonsPanel, bpy.types.Panel): - bl_label = "Color" - bl_context = "texture" + bl_label = "Color" + bl_context = "texture" - @classmethod - def poll(cls, context): - tex = context.texture - node = context.texture_node - return (node or (tex and tex.use_nodes)) and CyclesButtonsPanel.poll(context) + @classmethod + def poll(cls, context): + tex = context.texture + node = context.texture_node + return (node or (tex and tex.use_nodes)) and CyclesButtonsPanel.poll(context) - def draw(self, context): - layout = self.layout - layout.label("Color modification options go here."); - layout.label("Ramp, brightness, contrast, saturation.") - + def draw(self, context): + layout = self.layout + layout.label("Color modification options go here."); + layout.label("Ramp, brightness, contrast, saturation.") + def draw_device(self, context): - scene = context.scene - layout = self.layout + scene = context.scene + layout = self.layout - if scene.render.engine == "CYCLES": - cycles = scene.cycles + if scene.render.engine == "CYCLES": + cscene = scene.cycles - if 'cuda' in engine.available_devices(): - layout.prop(cycles, "device") - if cycles.device == 'CPU' and engine.with_osl(): - layout.prop(cycles, "shading_system") + if 'cuda' in engine.available_devices(): + layout.prop(cscene, "device") + if cscene.device == 'CPU' and engine.with_osl(): + layout.prop(cscene, "shading_system") def get_panels(): - return [ - bpy.types.RENDER_PT_render, - bpy.types.RENDER_PT_output, - bpy.types.RENDER_PT_encoding, - bpy.types.RENDER_PT_dimensions, - bpy.types.RENDER_PT_stamp, - bpy.types.WORLD_PT_context_world, - bpy.types.DATA_PT_context_mesh, - bpy.types.DATA_PT_context_camera, - bpy.types.DATA_PT_context_lamp, - bpy.types.DATA_PT_texture_space, - bpy.types.DATA_PT_curve_texture_space, - bpy.types.DATA_PT_mball_texture_space, - bpy.types.DATA_PT_vertex_groups, - bpy.types.DATA_PT_shape_keys, - bpy.types.DATA_PT_uv_texture, - bpy.types.DATA_PT_vertex_colors, - bpy.types.DATA_PT_camera, - bpy.types.DATA_PT_camera_display, - bpy.types.DATA_PT_custom_props_mesh, - bpy.types.DATA_PT_custom_props_camera, - bpy.types.DATA_PT_custom_props_lamp, - bpy.types.TEXTURE_PT_clouds, - bpy.types.TEXTURE_PT_wood, - bpy.types.TEXTURE_PT_marble, - bpy.types.TEXTURE_PT_magic, - bpy.types.TEXTURE_PT_blend, - bpy.types.TEXTURE_PT_stucci, - bpy.types.TEXTURE_PT_image, - bpy.types.TEXTURE_PT_image_sampling, - bpy.types.TEXTURE_PT_image_mapping, - bpy.types.TEXTURE_PT_musgrave, - bpy.types.TEXTURE_PT_voronoi, - bpy.types.TEXTURE_PT_distortednoise, - bpy.types.TEXTURE_PT_voxeldata, - bpy.types.TEXTURE_PT_pointdensity, - bpy.types.TEXTURE_PT_pointdensity_turbulence] + return [ + bpy.types.RENDER_PT_render, + bpy.types.RENDER_PT_output, + bpy.types.RENDER_PT_encoding, + bpy.types.RENDER_PT_dimensions, + bpy.types.RENDER_PT_stamp, + bpy.types.WORLD_PT_context_world, + bpy.types.DATA_PT_context_mesh, + bpy.types.DATA_PT_context_camera, + bpy.types.DATA_PT_context_lamp, + bpy.types.DATA_PT_texture_space, + bpy.types.DATA_PT_curve_texture_space, + bpy.types.DATA_PT_mball_texture_space, + bpy.types.DATA_PT_vertex_groups, + bpy.types.DATA_PT_shape_keys, + bpy.types.DATA_PT_uv_texture, + bpy.types.DATA_PT_vertex_colors, + bpy.types.DATA_PT_camera, + bpy.types.DATA_PT_camera_display, + bpy.types.DATA_PT_custom_props_mesh, + bpy.types.DATA_PT_custom_props_camera, + bpy.types.DATA_PT_custom_props_lamp, + bpy.types.TEXTURE_PT_clouds, + bpy.types.TEXTURE_PT_wood, + bpy.types.TEXTURE_PT_marble, + bpy.types.TEXTURE_PT_magic, + bpy.types.TEXTURE_PT_blend, + bpy.types.TEXTURE_PT_stucci, + bpy.types.TEXTURE_PT_image, + bpy.types.TEXTURE_PT_image_sampling, + bpy.types.TEXTURE_PT_image_mapping, + bpy.types.TEXTURE_PT_musgrave, + bpy.types.TEXTURE_PT_voronoi, + bpy.types.TEXTURE_PT_distortednoise, + bpy.types.TEXTURE_PT_voxeldata, + bpy.types.TEXTURE_PT_pointdensity, + bpy.types.TEXTURE_PT_pointdensity_turbulence] def register(): - bpy.types.RENDER_PT_render.append(draw_device) + bpy.types.RENDER_PT_render.append(draw_device) - for panel in get_panels(): - panel.COMPAT_ENGINES.add('CYCLES') - + for panel in get_panels(): + panel.COMPAT_ENGINES.add('CYCLES') + def unregister(): - bpy.types.RENDER_PT_render.remove(draw_device) + bpy.types.RENDER_PT_render.remove(draw_device) - for panel in get_panels(): - panel.COMPAT_ENGINES.remove('CYCLES') + for panel in get_panels(): + panel.COMPAT_ENGINES.remove('CYCLES') diff --git a/intern/cycles/blender/addon/xml.py b/intern/cycles/blender/addon/xml.py index f489f099e8b..3713da09235 100644 --- a/intern/cycles/blender/addon/xml.py +++ b/intern/cycles/blender/addon/xml.py @@ -25,75 +25,75 @@ import xml.etree.ElementTree as etree import xml.dom.minidom as dom def strip(root): - root.text = None - root.tail = None + root.text = None + root.tail = None - for elem in root: - strip(elem) + for elem in root: + strip(elem) def write(node, fname): - strip(node) + strip(node) - s = etree.tostring(node) - s = dom.parseString(s).toprettyxml() + s = etree.tostring(node) + s = dom.parseString(s).toprettyxml() - f = open(fname, "w") - f.write(s) + f = open(fname, "w") + f.write(s) class ExportCyclesXML(bpy.types.Operator, ExportHelper): - '''''' - bl_idname = "export_mesh.cycles_xml" - bl_label = "Export Cycles XML" + '''''' + bl_idname = "export_mesh.cycles_xml" + bl_label = "Export Cycles XML" - filename_ext = ".xml" + filename_ext = ".xml" - @classmethod - def poll(cls, context): - return context.active_object != None + @classmethod + def poll(cls, context): + return context.active_object != None - def execute(self, context): - filepath = bpy.path.ensure_ext(self.filepath, ".xml") + def execute(self, context): + filepath = bpy.path.ensure_ext(self.filepath, ".xml") - # get mesh - scene = context.scene - object = context.object + # get mesh + scene = context.scene + object = context.object - if not object: - raise Exception("No active object") + if not object: + raise Exception("No active object") - mesh = object.to_mesh(scene, True, 'PREVIEW') + mesh = object.to_mesh(scene, True, 'PREVIEW') - if not mesh: - raise Exception("No mesh data in active object") + if not mesh: + raise Exception("No mesh data in active object") - # generate mesh node - nverts = "" - verts = "" - P = "" + # generate mesh node + nverts = "" + verts = "" + P = "" - for v in mesh.vertices: - P += "%f %f %f " % (v.co[0], v.co[1], v.co[2]) + for v in mesh.vertices: + P += "%f %f %f " % (v.co[0], v.co[1], v.co[2]) - for i, f in enumerate(mesh.faces): - nverts += str(len(f.vertices)) + " " + for i, f in enumerate(mesh.faces): + nverts += str(len(f.vertices)) + " " - for v in f.vertices: - verts += str(v) + " " - verts += " " + for v in f.vertices: + verts += str(v) + " " + verts += " " - node = etree.Element('mesh', attrib={'nverts': nverts, 'verts': verts, 'P': P}) - - # write to file - write(node, filepath) + node = etree.Element('mesh', attrib={'nverts': nverts, 'verts': verts, 'P': P}) + + # write to file + write(node, filepath) - return {'FINISHED'} + return {'FINISHED'} def register(): - pass + pass def unregister(): - pass + pass if __name__ == "__main__": - register() + register() diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp index 4223998c1f6..7be15ca0e3c 100644 --- a/intern/cycles/blender/blender_session.cpp +++ b/intern/cycles/blender/blender_session.cpp @@ -21,6 +21,7 @@ #include "camera.h" #include "device.h" #include "integrator.h" +#include "film.h" #include "light.h" #include "scene.h" #include "session.h" @@ -94,7 +95,7 @@ void BlenderSession::create_session() session->progress.set_cancel_callback(function_bind(&BlenderSession::test_cancel, this)); /* start rendering */ - session->reset(width, height); + session->reset(width, height, session_params.passes); session->start(); } @@ -118,31 +119,17 @@ void BlenderSession::render() void BlenderSession::write_render_result() { /* get result */ - DisplayBuffer *display = session->display; - Device *device = session->device; + RenderBuffers *buffers = session->buffers; + float exposure = scene->film->exposure; + double total_time, pass_time; + int pass; + session->progress.get_pass(pass, total_time, pass_time); - if(!display->rgba.device_pointer) + float4 *pixels = buffers->copy_from_device(exposure, pass); + + if(!pixels) return; - /* todo: get float buffer */ - device->pixels_copy_from(display->rgba, 0, width, height); - uchar4 *rgba = (uchar4*)display->rgba.data_pointer; - - vector buffer(width*height); - float fac = 1.0f/255.0f; - bool color_management = b_scene.render().use_color_management(); - - /* normalize */ - for(int i = width*height - 1; i >= 0; i--) { - uchar4 f = rgba[i]; - float3 rgb = make_float3(f.x, f.y, f.z)*fac; - - if(color_management) - rgb = color_srgb_to_scene_linear(rgb); - - buffer[i] = make_float4(rgb.x, rgb.y, rgb.z, 1.0f); - } - struct RenderResult *rrp = RE_engine_begin_result((RenderEngine*)b_engine.ptr.data, 0, 0, width, height); PointerRNA rrptr; RNA_pointer_create(NULL, &RNA_RenderResult, rrp, &rrptr); @@ -150,9 +137,11 @@ void BlenderSession::write_render_result() BL::RenderResult::layers_iterator layer; rr.layers.begin(layer); - rna_RenderLayer_rect_set(&layer->ptr, (float*)&buffer[0]); + rna_RenderLayer_rect_set(&layer->ptr, (float*)pixels); RE_engine_end_result((RenderEngine*)b_engine.ptr.data, rrp); + + delete [] pixels; } void BlenderSession::synchronize() @@ -168,6 +157,9 @@ void BlenderSession::synchronize() return; } + /* increase passes, but never decrease */ + session->set_passes(session_params.passes); + /* copy recalc flags, outside of mutex so we can decide to do the real synchronization at a later time to not block on running updates */ sync->sync_recalc(); @@ -188,7 +180,7 @@ void BlenderSession::synchronize() /* reset if needed */ if(scene->need_reset()) - session->reset(width, height); + session->reset(width, height, session_params.passes); /* unlock */ session->scene->mutex.unlock(); @@ -225,8 +217,10 @@ bool BlenderSession::draw(int w, int h) } /* reset if requested */ - if(reset) - session->reset(width, height); + if(reset) { + SessionParams session_params = BlenderSync::get_session_params(b_scene, background); + session->reset(width, height, session_params.passes); + } } /* update status and progress for 3d view draw */ diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index db65a7f129e..9024de092b7 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -208,6 +208,10 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * node = new BackgroundNode(); break; } + case BL::ShaderNode::type_HOLDOUT: { + node = new HoldoutNode(); + break; + } case BL::ShaderNode::type_BSDF_ANISOTROPIC: { node = new WardBsdfNode(); break; @@ -594,6 +598,9 @@ void BlenderSync::sync_world() shader->tag_update(scene); } + PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles"); + background->transparent = get_boolean(cscene, "transparent"); + if(background->modified(prevbackground)) background->tag_update(scene); diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index a6eeb5ec1ae..ccfc3bb2bf1 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -18,6 +18,7 @@ #include "background.h" #include "film.h" +#include "../render/filter.h" #include "graph.h" #include "integrator.h" #include "light.h" @@ -149,10 +150,18 @@ void BlenderSync::sync_film() Film prevfilm = *film; film->exposure = get_float(cscene, "exposure"); - film->response = get_enum_identifier(cscene, "response_curve"); if(film->modified(prevfilm)) film->tag_update(scene); + + Filter *filter = scene->filter; + Filter prevfilter = *filter; + + filter->filter_type = (FilterType)RNA_enum_get(&cscene, "filter_type"); + filter->filter_width = (filter->filter_type == FILTER_BOX)? 1.0f: get_float(cscene, "filter_width"); + + if(filter->modified(prevfilter)) + filter->tag_update(scene); } /* Scene Parameters */ @@ -190,11 +199,22 @@ SessionParams BlenderSync::get_session_params(BL::Scene b_scene, bool background foreach(DeviceType dt, types) if(dt == dtype) params.device_type = dtype; + + /* Background */ + params.background = background; + + /* passes */ + if(background) { + params.passes = get_int(cscene, "passes"); + } + else { + params.passes = get_int(cscene, "preview_passes"); + if(params.passes == 0) + params.passes = INT_MAX; + } /* other parameters */ params.threads = b_scene.render().threads(); - params.background = background; - params.passes = (background)? get_int(cscene, "passes"): INT_MAX; params.tile_size = get_int(cscene, "debug_tile_size"); params.min_size = get_int(cscene, "debug_min_size"); params.cancel_timeout = get_float(cscene, "debug_cancel_timeout"); diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake index b23e3b292c5..d53be9f6fe6 100644 --- a/intern/cycles/cmake/external_libs.cmake +++ b/intern/cycles/cmake/external_libs.cmake @@ -94,18 +94,14 @@ if(WITH_CYCLES_CUDA) set(CYCLES_CUDA_ARCH sm_10 sm_11 sm_12 sm_13 sm_20 sm_21 CACHE STRING "CUDA architectures to build for") set(CYCLES_CUDA_MAXREG 24 CACHE STRING "CUDA maximum number of register to use") - find_path(CUDA_INCLUDES cuda.h ${CYCLES_CUDA}/include NO_DEFAULT_PATH) find_program(CUDA_NVCC NAMES nvcc PATHS ${CYCLES_CUDA}/bin NO_DEFAULT_PATH) - if(CUDA_INCLUDES AND CUDA_NVCC) - message(STATUS "CUDA includes = ${CUDA_INCLUDES}") + if(CUDA_NVCC) message(STATUS "CUDA nvcc = ${CUDA_NVCC}") else() - message(STATUS "CUDA not found") + message(STATUS "CUDA compiler not found") endif() - include_directories(${CUDA_INCLUDES}) - endif() ########################################################################### diff --git a/intern/cycles/device/device.cpp b/intern/cycles/device/device.cpp index cd0d64f37dd..2f2d34dcef2 100644 --- a/intern/cycles/device/device.cpp +++ b/intern/cycles/device/device.cpp @@ -86,10 +86,15 @@ void Device::pixels_free(device_memory& mem) mem_free(mem); } -void Device::draw_pixels(device_memory& rgba, int y, int w, int h, int width, int height) +void Device::draw_pixels(device_memory& rgba, int y, int w, int h, int width, int height, bool transparent) { pixels_copy_from(rgba, y, w, h); + if(transparent) { + glEnable(GL_BLEND); + glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + } + glPixelZoom((float)width/(float)w, (float)height/(float)h); glRasterPos2f(0, y); @@ -97,6 +102,9 @@ void Device::draw_pixels(device_memory& rgba, int y, int w, int h, int width, in glRasterPos2f(0.0f, 0.0f); glPixelZoom(1.0f, 1.0f); + + if(transparent) + glDisable(GL_BLEND); } Device *Device::create(DeviceType type, bool background, int threads) diff --git a/intern/cycles/device/device.h b/intern/cycles/device/device.h index 8006eea1a5f..87683ae4719 100644 --- a/intern/cycles/device/device.h +++ b/intern/cycles/device/device.h @@ -115,7 +115,7 @@ public: /* opengl drawing */ virtual void draw_pixels(device_memory& mem, int y, int w, int h, - int width, int height); + int width, int height, bool transparent); #ifdef WITH_NETWORK /* networking */ diff --git a/intern/cycles/device/device_cuda.cpp b/intern/cycles/device/device_cuda.cpp index 0537e231f44..cc1c1275bf4 100644 --- a/intern/cycles/device/device_cuda.cpp +++ b/intern/cycles/device/device_cuda.cpp @@ -607,7 +607,7 @@ public: } } - void draw_pixels(device_memory& mem, int y, int w, int h, int width, int height) + void draw_pixels(device_memory& mem, int y, int w, int h, int width, int height, bool transparent) { if(!background) { PixelMem pmem = pixel_mem_map[mem.device_pointer]; @@ -621,11 +621,16 @@ public: glEnable(GL_TEXTURE_2D); + if(transparent) { + glEnable(GL_BLEND); + glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); + } + glColor3f(1.0f, 1.0f, 1.0f); glPushMatrix(); glTranslatef(0.0f, (float)y, 0.0f); - + glBegin(GL_QUADS); glTexCoord2f(0.0f, 0.0f); @@ -640,6 +645,9 @@ public: glEnd(); glPopMatrix(); + + if(transparent) + glDisable(GL_BLEND); glBindTexture(GL_TEXTURE_2D, 0); glDisable(GL_TEXTURE_2D); @@ -649,7 +657,7 @@ public: return; } - Device::draw_pixels(mem, y, w, h, width, height); + Device::draw_pixels(mem, y, w, h, width, height, transparent); } void task_add(DeviceTask& task) diff --git a/intern/cycles/device/device_multi.cpp b/intern/cycles/device/device_multi.cpp index e48df93737d..cae63596d3b 100644 --- a/intern/cycles/device/device_multi.cpp +++ b/intern/cycles/device/device_multi.cpp @@ -244,7 +244,7 @@ public: mem.device_pointer = tmp; } - void draw_pixels(device_memory& rgba, int y, int w, int h, int width, int height) + void draw_pixels(device_memory& rgba, int y, int w, int h, int width, int height, bool transparent) { device_ptr tmp = rgba.device_pointer; int i = 0, sub_h = h/devices.size(); @@ -255,7 +255,7 @@ public: /* adjust math for w/width */ rgba.device_pointer = sub.ptr_map[tmp]; - sub.device->draw_pixels(rgba, sy, w, sh, width, height); + sub.device->draw_pixels(rgba, sy, w, sh, width, height, transparent); i++; } diff --git a/intern/cycles/kernel/kernel.cpp b/intern/cycles/kernel/kernel.cpp index 656e90eb526..d9ba237d964 100644 --- a/intern/cycles/kernel/kernel.cpp +++ b/intern/cycles/kernel/kernel.cpp @@ -129,18 +129,6 @@ void kernel_tex_copy(KernelGlobals *kg, const char *name, device_ptr mem, size_t kg->__filter_table.data = (float*)mem; kg->__filter_table.width = width; } - else if(strcmp(name, "__response_curve_R") == 0) { - kg->__response_curve_R.data = (float*)mem; - kg->__response_curve_R.width = width; - } - else if(strcmp(name, "__response_curve_B") == 0) { - kg->__response_curve_B.data = (float*)mem; - kg->__response_curve_B.width = width; - } - else if(strcmp(name, "__response_curve_G") == 0) { - kg->__response_curve_G.data = (float*)mem; - kg->__response_curve_G.width = width; - } else if(strcmp(name, "__sobol_directions") == 0) { kg->__sobol_directions.data = (uint*)mem; kg->__sobol_directions.width = width; diff --git a/intern/cycles/kernel/kernel_compat_cuda.h b/intern/cycles/kernel/kernel_compat_cuda.h index b7b29d46323..3a0eff5210c 100644 --- a/intern/cycles/kernel/kernel_compat_cuda.h +++ b/intern/cycles/kernel/kernel_compat_cuda.h @@ -33,6 +33,7 @@ CCL_NAMESPACE_BEGIN #define __device __device__ __inline__ #define __device_inline __device__ __inline__ +#define __device_noinline __device__ __noinline__ #define __global #define __shared __shared__ #define __constant diff --git a/intern/cycles/kernel/kernel_compat_opencl.h b/intern/cycles/kernel/kernel_compat_opencl.h index 3d493c61fe4..287bf320881 100644 --- a/intern/cycles/kernel/kernel_compat_opencl.h +++ b/intern/cycles/kernel/kernel_compat_opencl.h @@ -30,6 +30,7 @@ /* in opencl all functions are device functions, so leave this empty */ #define __device #define __device_inline +#define __device_noinline /* no assert in opencl */ #define kernel_assert(cond) diff --git a/intern/cycles/kernel/kernel_film.h b/intern/cycles/kernel/kernel_film.h index 0bbd6c202a1..f6351a73295 100644 --- a/intern/cycles/kernel/kernel_film.h +++ b/intern/cycles/kernel/kernel_film.h @@ -20,21 +20,17 @@ CCL_NAMESPACE_BEGIN __device float4 film_map(KernelGlobals *kg, float4 irradiance, int pass) { - float scale = kernel_data.film.exposure*(1.0f/(pass+1)); + float scale = 1.0f/(float)(pass+1); + float exposure = kernel_data.film.exposure; float4 result = irradiance*scale; - if(kernel_data.film.use_response_curve) { - /* camera response curve */ - result.x = kernel_tex_interp(__response_curve_R, result.x); - result.y = kernel_tex_interp(__response_curve_G, result.y); - result.z = kernel_tex_interp(__response_curve_B, result.z); - } - else { - /* conversion to srgb */ - result.x = color_scene_linear_to_srgb(result.x); - result.y = color_scene_linear_to_srgb(result.y); - result.z = color_scene_linear_to_srgb(result.z); - } + /* conversion to srgb */ + result.x = color_scene_linear_to_srgb(result.x*exposure); + result.y = color_scene_linear_to_srgb(result.y*exposure); + result.z = color_scene_linear_to_srgb(result.z*exposure); + + /* clamp since alpha might be > 1.0 due to russian roulette */ + result.w = clamp(result.w, 0.0f, 1.0f); return result; } @@ -47,7 +43,7 @@ __device uchar4 film_float_to_byte(float4 color) result.x = (uchar)clamp(color.x*255.0f, 0.0f, 255.0f); result.y = (uchar)clamp(color.y*255.0f, 0.0f, 255.0f); result.z = (uchar)clamp(color.z*255.0f, 0.0f, 255.0f); - result.w = 255; + result.w = (uchar)clamp(color.w*255.0f, 0.0f, 255.0f); return result; } diff --git a/intern/cycles/kernel/kernel_path.h b/intern/cycles/kernel/kernel_path.h index 47aeea4f5c5..2cbb4ae306e 100644 --- a/intern/cycles/kernel/kernel_path.h +++ b/intern/cycles/kernel/kernel_path.h @@ -105,10 +105,11 @@ __device int path_flag_from_label(int path_flag, int label) return path_flag; } -__device float3 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray ray, float3 throughput) +__device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray ray, float3 throughput) { /* initialize */ float3 L = make_float3(0.0f, 0.0f, 0.0f); + float Ltransparent = 0.0f; #ifdef __EMISSION__ float ray_pdf = 0.0f; @@ -123,14 +124,20 @@ __device float3 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray if(!scene_intersect(kg, &ray, false, &isect)) { /* eval background shader if nothing hit */ + if(kernel_data.background.transparent && (path_flag & PATH_RAY_CAMERA)) { + Ltransparent += average(throughput); + } + else { #ifdef __BACKGROUND__ - ShaderData sd; - shader_setup_from_background(kg, &sd, &ray); - L += throughput*shader_eval_background(kg, &sd, path_flag); - shader_release(kg, &sd); + ShaderData sd; + shader_setup_from_background(kg, &sd, &ray); + L += throughput*shader_eval_background(kg, &sd, path_flag); + shader_release(kg, &sd); #else - L += make_float3(0.8f, 0.8f, 0.8f); + L += make_float3(0.8f, 0.8f, 0.8f); #endif + } + break; } @@ -140,6 +147,22 @@ __device float3 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray float rbsdf = path_rng(kg, rng, pass, rng_offset + PRNG_BSDF); shader_eval_surface(kg, &sd, rbsdf, path_flag); +#ifdef __HOLDOUT__ + if((sd.flag & SD_HOLDOUT) && (path_flag & PATH_RAY_CAMERA)) { + float3 holdout_weight = shader_holdout_eval(kg, &sd); + + if(kernel_data.background.transparent) { + Ltransparent += average(holdout_weight*throughput); + } + else { + ShaderData sd; + shader_setup_from_background(kg, &sd, &ray); + L += holdout_weight*throughput*shader_eval_background(kg, &sd, path_flag); + shader_release(kg, &sd); + } + } +#endif + #ifdef __EMISSION__ /* emission */ if(kernel_data.integrator.use_emission) { @@ -166,6 +189,12 @@ __device float3 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray } #endif + /* no BSDF? we can stop here */ + if(!(sd.flag & SD_BSDF)) { + path_flag &= ~PATH_RAY_CAMERA; + break; + } + /* sample BSDF */ float bsdf_pdf; float3 bsdf_eval; @@ -180,8 +209,10 @@ __device float3 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray shader_release(kg, &sd); - if(bsdf_pdf == 0.0f || is_zero(bsdf_eval)) + if(bsdf_pdf == 0.0f || is_zero(bsdf_eval)) { + path_flag &= ~PATH_RAY_CAMERA; break; + } /* modify throughput */ throughput *= bsdf_eval/bsdf_pdf; @@ -197,8 +228,10 @@ __device float3 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray float probability = path_terminate_probability(kg, bounce, throughput); float terminate = path_rng(kg, rng, pass, rng_offset + PRNG_TERMINATE); - if(terminate >= probability) + if(terminate >= probability) { + path_flag &= ~PATH_RAY_CAMERA; break; + } throughput /= probability; @@ -212,7 +245,7 @@ __device float3 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray #endif } - return L; + return make_float4(L.x, L.y, L.z, 1.0f - Ltransparent); } __device void kernel_path_trace(KernelGlobals *kg, __global float4 *buffer, __global uint *rng_state, int pass, int x, int y) @@ -236,25 +269,19 @@ __device void kernel_path_trace(KernelGlobals *kg, __global float4 *buffer, __gl /* integrate */ #ifdef __MODIFY_TP__ float3 throughput = path_terminate_modified_throughput(kg, buffer, x, y, pass); - float3 L = kernel_path_integrate(kg, &rng, pass, ray, throughput)/throughput; + float4 L = kernel_path_integrate(kg, &rng, pass, ray, throughput)/throughput; #else float3 throughput = make_float3(1.0f, 1.0f, 1.0f); - float3 L = kernel_path_integrate(kg, &rng, pass, ray, throughput); + float4 L = kernel_path_integrate(kg, &rng, pass, ray, throughput); #endif /* accumulate result in output buffer */ int index = x + y*kernel_data.cam.width; - float4 result; - result.x = L.x; - result.y = L.y; - result.z = L.z; - result.w = 1.0f; - if(pass == 0) - buffer[index] = result; + buffer[index] = L; else - buffer[index] += result; + buffer[index] += L; path_rng_end(kg, rng_state, rng, x, y); } diff --git a/intern/cycles/kernel/kernel_shader.h b/intern/cycles/kernel/kernel_shader.h index c4fc65596b2..ed3aec21207 100644 --- a/intern/cycles/kernel/kernel_shader.h +++ b/intern/cycles/kernel/kernel_shader.h @@ -342,6 +342,26 @@ __device void shader_emissive_sample(KernelGlobals *kg, ShaderData *sd, } } +/* Holdout */ + +__device float3 shader_holdout_eval(KernelGlobals *kg, ShaderData *sd) +{ +#ifdef WITH_OSL + if(kg->osl.use) { + return OSLShader::holdout_eval(sd); + } + else +#endif + { +#ifdef __SVM__ + if(sd->svm_closure == CLOSURE_HOLDOUT_ID) + return make_float3(1.0f, 1.0f, 1.0f); + else + return make_float3(0.0f, 0.0f, 0.0f); +#endif + } +} + /* Surface Evaluation */ __device void shader_eval_surface(KernelGlobals *kg, ShaderData *sd, diff --git a/intern/cycles/kernel/kernel_textures.h b/intern/cycles/kernel/kernel_textures.h index bd44ed7eee5..dd4566ec184 100644 --- a/intern/cycles/kernel/kernel_textures.h +++ b/intern/cycles/kernel/kernel_textures.h @@ -38,9 +38,6 @@ KERNEL_TEX(uint4, texture_uint4, __svm_nodes) /* camera/film */ KERNEL_TEX(float, texture_float, __filter_table) -KERNEL_TEX(float, texture_float, __response_curve_R) -KERNEL_TEX(float, texture_float, __response_curve_G) -KERNEL_TEX(float, texture_float, __response_curve_B) /* sobol */ KERNEL_TEX(uint, texture_uint, __sobol_directions) diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index c0cb3fc8a09..06581d593e4 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -37,6 +37,7 @@ CCL_NAMESPACE_BEGIN #ifndef __KERNEL_OPENCL__ #define __SVM__ #define __TEXTURES__ +#define __HOLDOUT__ #endif #define __RAY_DIFFERENTIALS__ #define __CAMERA_CLIPPING__ @@ -194,8 +195,10 @@ struct FlatClosure { enum ShaderDataFlag { SD_BACKFACING = 1, /* backside of surface? */ SD_EMISSION = 2, /* have emissive closure? */ - SD_BSDF_HAS_EVAL = 4, /* have non-singular bsdf closure? */ - SD_BSDF_GLOSSY = 8 /* have glossy bsdf */ + SD_BSDF = 4, /* have bsdf closure? */ + SD_BSDF_HAS_EVAL = 8, /* have non-singular bsdf closure? */ + SD_BSDF_GLOSSY = 16, /* have glossy bsdf */ + SD_HOLDOUT = 32 /* have holdout closure? */ }; typedef struct ShaderData { @@ -257,6 +260,8 @@ typedef struct ShaderData { float emissive_sample_sum; float volume_sample_sum; + float3 holdout_weight; + float randb; } osl_closure; @@ -313,14 +318,14 @@ typedef struct KernelCamera { typedef struct KernelFilm { float exposure; - int use_response_curve; - int pad1, pad2; + int pad1, pad2, pad3; } KernelFilm; typedef struct KernelBackground { /* only shader index */ int shader; - int pad1, pad2, pad3; + int transparent; + int pad1, pad2; } KernelBackground; typedef struct KernelSunSky { diff --git a/intern/cycles/kernel/osl/osl_shader.cpp b/intern/cycles/kernel/osl/osl_shader.cpp index a86946a680e..007d14b526b 100644 --- a/intern/cycles/kernel/osl/osl_shader.cpp +++ b/intern/cycles/kernel/osl/osl_shader.cpp @@ -145,9 +145,11 @@ static void flatten_surface_closure_tree(ShaderData *sd, bool no_glossy, /* scattering flags */ if(scattering == OSL::Labels::DIFFUSE) - sd->flag |= SD_BSDF_HAS_EVAL; + sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL; else if(scattering == OSL::Labels::GLOSSY) - sd->flag |= SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; + sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; + else + sd->flag |= SD_BSDF; /* add */ sd->osl_closure.bsdf[sd->osl_closure.num_bsdf++] = flat; @@ -170,8 +172,11 @@ static void flatten_surface_closure_tree(ShaderData *sd, bool no_glossy, sd->osl_closure.emissive[sd->osl_closure.num_emissive++] = flat; break; } - case ClosurePrimitive::BSSRDF: case ClosurePrimitive::Holdout: + sd->osl_closure.holdout_weight += weight; + sd->flag |= SD_HOLDOUT; + break; + case ClosurePrimitive::BSSRDF: case ClosurePrimitive::Debug: break; /* not implemented */ case ClosurePrimitive::Background: @@ -212,6 +217,7 @@ void OSLShader::eval_surface(KernelGlobals *kg, ShaderData *sd, float randb, int sd->osl_closure.emissive_sample_sum = 0.0f; sd->osl_closure.num_bsdf = 0; sd->osl_closure.num_emissive = 0; + sd->osl_closure.holdout_weight = make_float3(0.0f, 0.0f, 0.0f); sd->osl_closure.randb = randb; if(globals->Ci) { @@ -555,5 +561,12 @@ float3 OSLShader::volume_eval_phase(const ShaderData *sd, const float3 omega_in, return eval; } +/* Holdout Closure */ + +float3 OSLShader::holdout_eval(const ShaderData *sd) +{ + return sd->osl_closure.holdout_weight; +} + CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/osl/osl_shader.h b/intern/cycles/kernel/osl/osl_shader.h index 2e5279c12ce..9b578b159ae 100644 --- a/intern/cycles/kernel/osl/osl_shader.h +++ b/intern/cycles/kernel/osl/osl_shader.h @@ -74,6 +74,7 @@ public: float3 *eval, float3 *I, float *pdf); static float3 volume_eval_phase(const ShaderData *sd, const float3 omega_in, const float3 omega_out); + static float3 holdout_eval(const ShaderData *sd); /* release */ static void release(KernelGlobals *kg, const ShaderData *sd); diff --git a/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h b/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h index 04e4ccb8313..a04f4e2b076 100644 --- a/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h +++ b/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h @@ -50,7 +50,7 @@ __device void bsdf_ashikhmin_velvet_setup(ShaderData *sd, float3 N, float sigma) self->m_invsigma2 = 1.0f/(sigma * sigma); sd->svm_closure = CLOSURE_BSDF_ASHIKHMIN_VELVET_ID; - sd->flag |= SD_BSDF_HAS_EVAL; + sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL; } __device void bsdf_ashikhmin_velvet_blur(ShaderData *sd, float roughness) diff --git a/intern/cycles/kernel/svm/bsdf_diffuse.h b/intern/cycles/kernel/svm/bsdf_diffuse.h index 00493e72203..dcd29534109 100644 --- a/intern/cycles/kernel/svm/bsdf_diffuse.h +++ b/intern/cycles/kernel/svm/bsdf_diffuse.h @@ -47,7 +47,7 @@ __device void bsdf_diffuse_setup(ShaderData *sd, float3 N) //self->m_N = N; sd->svm_closure = CLOSURE_BSDF_DIFFUSE_ID; - sd->flag |= SD_BSDF_HAS_EVAL; + sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL; } __device void bsdf_diffuse_blur(ShaderData *sd, float roughness) @@ -110,7 +110,7 @@ __device void bsdf_translucent_setup(ShaderData *sd, float3 N) //self->m_N = N; sd->svm_closure = CLOSURE_BSDF_TRANSLUCENT_ID; - sd->flag |= SD_BSDF_HAS_EVAL; + sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL; } __device void bsdf_translucent_blur(ShaderData *sd, float roughness) diff --git a/intern/cycles/kernel/svm/bsdf_microfacet.h b/intern/cycles/kernel/svm/bsdf_microfacet.h index a948ba06871..c98092b2f8f 100644 --- a/intern/cycles/kernel/svm/bsdf_microfacet.h +++ b/intern/cycles/kernel/svm/bsdf_microfacet.h @@ -58,7 +58,7 @@ __device void bsdf_microfacet_ggx_setup(ShaderData *sd, float3 N, float ag, floa else sd->svm_closure = CLOSURE_BSDF_MICROFACET_GGX_ID; - sd->flag |= SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; + sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; } __device void bsdf_microfacet_ggx_blur(ShaderData *sd, float roughness) @@ -278,7 +278,7 @@ __device void bsdf_microfacet_beckmann_setup(ShaderData *sd, float3 N, float ab, else sd->svm_closure = CLOSURE_BSDF_MICROFACET_BECKMANN_ID; - sd->flag |= SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; + sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; } __device void bsdf_microfacet_beckmann_blur(ShaderData *sd, float roughness) diff --git a/intern/cycles/kernel/svm/bsdf_reflection.h b/intern/cycles/kernel/svm/bsdf_reflection.h index 287cc9c2506..2c49eb7ef24 100644 --- a/intern/cycles/kernel/svm/bsdf_reflection.h +++ b/intern/cycles/kernel/svm/bsdf_reflection.h @@ -47,6 +47,7 @@ __device void bsdf_reflection_setup(ShaderData *sd, float3 N) //self->m_N = N; sd->svm_closure = CLOSURE_BSDF_REFLECTION_ID; + sd->flag |= SD_BSDF; } __device void bsdf_reflection_blur(ShaderData *sd, float roughness) diff --git a/intern/cycles/kernel/svm/bsdf_refraction.h b/intern/cycles/kernel/svm/bsdf_refraction.h index 55a914f8334..534945f4f0b 100644 --- a/intern/cycles/kernel/svm/bsdf_refraction.h +++ b/intern/cycles/kernel/svm/bsdf_refraction.h @@ -48,6 +48,7 @@ __device void bsdf_refraction_setup(ShaderData *sd, float3 N, float eta) self->m_eta = eta; sd->svm_closure = CLOSURE_BSDF_REFRACTION_ID; + sd->flag |= SD_BSDF; } __device void bsdf_refraction_blur(ShaderData *sd, float roughness) diff --git a/intern/cycles/kernel/svm/bsdf_transparent.h b/intern/cycles/kernel/svm/bsdf_transparent.h index e689e3db357..30288bf251d 100644 --- a/intern/cycles/kernel/svm/bsdf_transparent.h +++ b/intern/cycles/kernel/svm/bsdf_transparent.h @@ -38,6 +38,7 @@ CCL_NAMESPACE_BEGIN __device void bsdf_transparent_setup(ShaderData *sd) { sd->svm_closure = CLOSURE_BSDF_TRANSPARENT_ID; + sd->flag |= SD_BSDF; } __device void bsdf_transparent_blur(ShaderData *sd, float roughness) diff --git a/intern/cycles/kernel/svm/bsdf_ward.h b/intern/cycles/kernel/svm/bsdf_ward.h index c54418afa77..6680644a1a7 100644 --- a/intern/cycles/kernel/svm/bsdf_ward.h +++ b/intern/cycles/kernel/svm/bsdf_ward.h @@ -54,7 +54,7 @@ __device void bsdf_ward_setup(ShaderData *sd, float3 N, float3 T, float ax, floa self->m_ay = clamp(ay, 1e-5f, 1.0f); sd->svm_closure = CLOSURE_BSDF_WARD_ID; - sd->flag |= SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; + sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; } __device void bsdf_ward_blur(ShaderData *sd, float roughness) diff --git a/intern/cycles/kernel/svm/bsdf_westin.h b/intern/cycles/kernel/svm/bsdf_westin.h index 6031012d0ca..55fc8286529 100644 --- a/intern/cycles/kernel/svm/bsdf_westin.h +++ b/intern/cycles/kernel/svm/bsdf_westin.h @@ -51,7 +51,7 @@ __device void bsdf_westin_backscatter_setup(ShaderData *sd, float3 N, float roug self->m_invroughness = 1.0f/roughness; sd->svm_closure = CLOSURE_BSDF_WESTIN_BACKSCATTER_ID; - sd->flag |= SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; + sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; } __device void bsdf_westin_backscatter_blur(ShaderData *sd, float roughness) @@ -146,7 +146,7 @@ __device void bsdf_westin_sheen_setup(ShaderData *sd, float3 N, float edginess) self->m_edginess = edginess; sd->svm_closure = CLOSURE_BSDF_WESTIN_SHEEN_ID; - sd->flag |= SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; + sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; } __device void bsdf_westin_sheen_blur(ShaderData *sd, float roughness) diff --git a/intern/cycles/kernel/svm/svm.h b/intern/cycles/kernel/svm/svm.h index 68e54d9752e..3a2b6bfb1ae 100644 --- a/intern/cycles/kernel/svm/svm.h +++ b/intern/cycles/kernel/svm/svm.h @@ -148,7 +148,7 @@ CCL_NAMESPACE_BEGIN /* Main Interpreter Loop */ -__device void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderType type, float randb, int path_flag) +__device_noinline void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderType type, float randb, int path_flag) { float stack[SVM_STACK_SIZE]; float closure_weight = 1.0f; @@ -172,6 +172,8 @@ __device void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderType type, svm_node_closure_emission(sd); else if(node.x == NODE_CLOSURE_BACKGROUND) svm_node_closure_background(sd); + else if(node.x == NODE_CLOSURE_HOLDOUT) + svm_node_closure_holdout(sd); else if(node.x == NODE_CLOSURE_SET_WEIGHT) svm_node_closure_set_weight(sd, node.y, node.z, node.w); else if(node.x == NODE_CLOSURE_WEIGHT) diff --git a/intern/cycles/kernel/svm/svm_closure.h b/intern/cycles/kernel/svm/svm_closure.h index a7462e2c358..1efadcefbd5 100644 --- a/intern/cycles/kernel/svm/svm_closure.h +++ b/intern/cycles/kernel/svm/svm_closure.h @@ -136,6 +136,12 @@ __device void svm_node_closure_background(ShaderData *sd) sd->svm_closure = CLOSURE_BACKGROUND_ID; } +__device void svm_node_closure_holdout(ShaderData *sd) +{ + sd->svm_closure = CLOSURE_HOLDOUT_ID; + sd->flag |= SD_HOLDOUT; +} + /* Closure Nodes */ __device void svm_node_closure_set_weight(ShaderData *sd, uint r, uint g, uint b) diff --git a/intern/cycles/kernel/svm/svm_convert.h b/intern/cycles/kernel/svm/svm_convert.h index 14925569bfb..188b0489d9e 100644 --- a/intern/cycles/kernel/svm/svm_convert.h +++ b/intern/cycles/kernel/svm/svm_convert.h @@ -30,7 +30,7 @@ __device void svm_node_convert(ShaderData *sd, float *stack, uint type, uint fro } case NODE_CONVERT_CF: { float3 f = stack_load_float3(stack, from); - float g = f.x*0.2126f + f.y*0.7152f + f.z*0.0722f; + float g = linear_rgb_to_gray(f); stack_store_float(stack, to, g); break; } diff --git a/intern/cycles/kernel/svm/svm_types.h b/intern/cycles/kernel/svm/svm_types.h index 5cbd05e4400..786478c0c03 100644 --- a/intern/cycles/kernel/svm/svm_types.h +++ b/intern/cycles/kernel/svm/svm_types.h @@ -81,7 +81,8 @@ typedef enum NodeType { NODE_EMISSION_SET_WEIGHT_TOTAL = 4300, NODE_ATTR_BUMP_DX = 4400, NODE_ATTR_BUMP_DY = 4500, - NODE_TEX_ENVIRONMENT = 4600 + NODE_TEX_ENVIRONMENT = 4600, + NODE_CLOSURE_HOLDOUT = 4700 } NodeType; typedef enum NodeAttributeType { diff --git a/intern/cycles/render/CMakeLists.txt b/intern/cycles/render/CMakeLists.txt index c3d5ae1ea05..14859aa4414 100644 --- a/intern/cycles/render/CMakeLists.txt +++ b/intern/cycles/render/CMakeLists.txt @@ -15,7 +15,6 @@ set(sources buffers.cpp camera.cpp film.cpp - film_response.cpp filter.cpp graph.cpp image.cpp @@ -39,7 +38,6 @@ set(headers buffers.h camera.h film.h - film_response.h filter.h graph.h image.h diff --git a/intern/cycles/render/background.cpp b/intern/cycles/render/background.cpp index 871fe128514..bf4131b6d38 100644 --- a/intern/cycles/render/background.cpp +++ b/intern/cycles/render/background.cpp @@ -31,6 +31,7 @@ CCL_NAMESPACE_BEGIN Background::Background() { + transparent = false; need_update = true; } @@ -45,8 +46,9 @@ void Background::device_update(Device *device, DeviceScene *dscene, Scene *scene device_free(device, dscene); - /* set shader index */ + /* set shader index and transparent option */ KernelBackground *kbackground = &dscene->data.background; + kbackground->transparent = transparent; kbackground->shader = scene->shader_manager->get_shader_id(scene->default_background); need_update = false; @@ -58,7 +60,7 @@ void Background::device_free(Device *device, DeviceScene *dscene) bool Background::modified(const Background& background) { - return false; + return !(transparent == background.transparent); } void Background::tag_update(Scene *scene) diff --git a/intern/cycles/render/background.h b/intern/cycles/render/background.h index a048cbc535c..16d2ccb6caa 100644 --- a/intern/cycles/render/background.h +++ b/intern/cycles/render/background.h @@ -29,6 +29,7 @@ class Scene; class Background { public: + bool transparent; bool need_update; Background(); diff --git a/intern/cycles/render/buffers.cpp b/intern/cycles/render/buffers.cpp index c1d9158c85e..62dc17960ae 100644 --- a/intern/cycles/render/buffers.cpp +++ b/intern/cycles/render/buffers.cpp @@ -24,6 +24,7 @@ #include "util_debug.h" #include "util_hash.h" #include "util_image.h" +#include "util_math.h" #include "util_opengl.h" #include "util_time.h" #include "util_types.h" @@ -84,6 +85,33 @@ void RenderBuffers::reset(Device *device, int width_, int height_) device->mem_copy_to(rng_state); } +float4 *RenderBuffers::copy_from_device(float exposure, int pass) +{ + if(!buffer.device_pointer) + return NULL; + + device->mem_copy_from(buffer, 0, buffer.memory_size()); + + float4 *out = new float4[width*height]; + float4 *in = (float4*)buffer.data_pointer; + float scale = 1.0f/(float)pass; + + for(int i = width*height - 1; i >= 0; i--) { + float4 rgba = in[i]*scale; + + rgba.x = rgba.x*exposure; + rgba.y = rgba.y*exposure; + rgba.z = rgba.z*exposure; + + /* clamp since alpha might be > 1.0 due to russian roulette */ + rgba.w = clamp(rgba.w, 0.0f, 1.0f); + + out[i] = rgba; + } + + return out; +} + /* Display Buffer */ DisplayBuffer::DisplayBuffer(Device *device_) @@ -93,6 +121,7 @@ DisplayBuffer::DisplayBuffer(Device *device_) height = 0; draw_width = 0; draw_height = 0; + transparent = true; /* todo: determine from background */ } DisplayBuffer::~DisplayBuffer() @@ -132,10 +161,36 @@ void DisplayBuffer::draw_set(int width_, int height_) draw_height = height_; } +void DisplayBuffer::draw_transparency_grid() +{ + GLubyte checker_stipple_sml[32*32/8] = { + 255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0, \ + 255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0, \ + 0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255, \ + 0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255, \ + 255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0, \ + 255,0,255,0,255,0,255,0,255,0,255,0,255,0,255,0, \ + 0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255, \ + 0,255,0,255,0,255,0,255,0,255,0,255,0,255,0,255, \ + }; + + glColor4ub(50, 50, 50, 255); + glRectf(0, 0, width, height); + glEnable(GL_POLYGON_STIPPLE); + glColor4ub(55, 55, 55, 255); + glPolygonStipple(checker_stipple_sml); + glRectf(0, 0, width, height); + glDisable(GL_POLYGON_STIPPLE); +} + void DisplayBuffer::draw(Device *device) { - if(draw_width != 0 && draw_height != 0) - device->draw_pixels(rgba, 0, draw_width, draw_height, width, height); + if(draw_width != 0 && draw_height != 0) { + if(transparent) + draw_transparency_grid(); + + device->draw_pixels(rgba, 0, draw_width, draw_height, width, height, transparent); + } } bool DisplayBuffer::draw_ready() diff --git a/intern/cycles/render/buffers.h b/intern/cycles/render/buffers.h index 1922f875d86..e99fedb0dff 100644 --- a/intern/cycles/render/buffers.h +++ b/intern/cycles/render/buffers.h @@ -47,6 +47,7 @@ public: ~RenderBuffers(); void reset(Device *device, int width, int height); + float4 *copy_from_device(float exposure, int pass); protected: void device_free(); @@ -67,6 +68,8 @@ public: with progressive render we can be using only a subset of the buffer. if these are zero, it means nothing can be drawn yet */ int draw_width, draw_height; + /* draw alpha channel? */ + bool transparent; /* byte buffer for tonemapped result */ device_vector rgba; /* mutex, must be locked manually by callers */ @@ -83,6 +86,7 @@ public: bool draw_ready(); protected: + void draw_transparency_grid(); void device_free(); Device *device; diff --git a/intern/cycles/render/camera.h b/intern/cycles/render/camera.h index 6ae8c8fa4ae..d385aa274f4 100644 --- a/intern/cycles/render/camera.h +++ b/intern/cycles/render/camera.h @@ -19,8 +19,6 @@ #ifndef __CAMERA_H__ #define __CAMERA_H__ -#include "film_response.h" - #include "util_transform.h" #include "util_types.h" diff --git a/intern/cycles/render/film.cpp b/intern/cycles/render/film.cpp index 05874244605..657abd97f70 100644 --- a/intern/cycles/render/film.cpp +++ b/intern/cycles/render/film.cpp @@ -19,30 +19,13 @@ #include "camera.h" #include "device.h" #include "film.h" -#include "film_response.h" #include "scene.h" CCL_NAMESPACE_BEGIN -static FilmResponseType find_response_type(const string& name) -{ - if(name == "" || name == "None") - return FILM_RESPONSE_NONE; - - for(size_t i = 0; i < FILM_RESPONSE_NUM; i++) { - FilmResponse *curve = &FILM_RESPONSE[i]; - if(curve->name == name) - return (FilmResponseType)i; - } - - return FILM_RESPONSE_NONE; -} - Film::Film() { exposure = 0.8f; - response = "Advantix 400"; - last_response = ""; need_update = true; } @@ -50,18 +33,6 @@ Film::~Film() { } -#if 0 -static void generate_python_enum() -{ - for(size_t i = 0; i < FILM_RESPONSE_NUM; i++) { - FilmResponse *curve = &FILM_RESPONSE[i]; - /*if(i == 0 || strcmp(curve->brand, FILM_RESPONSE[i-1].brand)) - printf("(\"\", \"%s\", \"\"),\n", curve->brand);*/ - printf("(\"%s\", \"%s %s\", \"\"),\n", curve->name, curve->brand, curve->name); - } -} -#endif - void Film::device_update(Device *device, DeviceScene *dscene) { if(!need_update) @@ -72,57 +43,16 @@ void Film::device_update(Device *device, DeviceScene *dscene) /* update __data */ kfilm->exposure = exposure; - FilmResponseType response_type = find_response_type(response); - - /* update __response_curves */ - if(response != last_response) { - device_free(device, dscene); - - if(response_type != FILM_RESPONSE_NONE) { - FilmResponse *curve = &FILM_RESPONSE[response_type]; - size_t response_curve_size = FILM_RESPONSE_SIZE; - - dscene->response_curve_R.copy(curve->B_R, response_curve_size); - - if(curve->rgb) { - dscene->response_curve_G.copy(curve->B_G, response_curve_size); - dscene->response_curve_B.copy(curve->B_B, response_curve_size); - } - else { - dscene->response_curve_G.copy(curve->B_R, response_curve_size); - dscene->response_curve_B.copy(curve->B_R, response_curve_size); - } - - device->tex_alloc("__response_curve_R", dscene->response_curve_R, true); - device->tex_alloc("__response_curve_G", dscene->response_curve_G, true); - device->tex_alloc("__response_curve_B", dscene->response_curve_B, true); - } - - last_response = response; - } - - kfilm->use_response_curve = (response_type != FILM_RESPONSE_NONE); - need_update = false; } void Film::device_free(Device *device, DeviceScene *dscene) { - device->tex_free(dscene->response_curve_R); - device->tex_free(dscene->response_curve_G); - device->tex_free(dscene->response_curve_B); - - dscene->response_curve_R.clear(); - dscene->response_curve_G.clear(); - dscene->response_curve_B.clear(); - - last_response = ""; } bool Film::modified(const Film& film) { - return !(response == film.response && - exposure == film.exposure && + return !(exposure == film.exposure && pass == film.pass); } diff --git a/intern/cycles/render/film.h b/intern/cycles/render/film.h index 9d6c58b30d1..201fc174f4f 100644 --- a/intern/cycles/render/film.h +++ b/intern/cycles/render/film.h @@ -29,8 +29,6 @@ class Scene; class Film { public: - string response; - string last_response; float exposure; int pass; bool need_update; diff --git a/intern/cycles/render/filter.cpp b/intern/cycles/render/filter.cpp index d7682bedc12..4925521e4a5 100644 --- a/intern/cycles/render/filter.cpp +++ b/intern/cycles/render/filter.cpp @@ -125,5 +125,16 @@ void Filter::device_free(Device *device, DeviceScene *dscene) dscene->filter_table.clear(); } +bool Filter::modified(const Filter& filter) +{ + return !(filter_type == filter.filter_type && + filter_width == filter.filter_width); +} + +void Filter::tag_update(Scene *scene) +{ + need_update = true; +} + CCL_NAMESPACE_END diff --git a/intern/cycles/render/filter.h b/intern/cycles/render/filter.h index 620e6ebe083..5df7bb8fd14 100644 --- a/intern/cycles/render/filter.h +++ b/intern/cycles/render/filter.h @@ -21,6 +21,10 @@ CCL_NAMESPACE_BEGIN +class Device; +class DeviceScene; +class Scene; + typedef enum FilterType { FILTER_BOX, FILTER_GAUSSIAN @@ -38,6 +42,9 @@ public: void device_update(Device *device, DeviceScene *dscene); void device_free(Device *device, DeviceScene *dscene); + + bool modified(const Filter& filter); + void tag_update(Scene *scene); }; CCL_NAMESPACE_END diff --git a/intern/cycles/render/mesh.cpp b/intern/cycles/render/mesh.cpp index aae32851131..b9163309652 100644 --- a/intern/cycles/render/mesh.cpp +++ b/intern/cycles/render/mesh.cpp @@ -392,7 +392,7 @@ void MeshManager::device_update_attributes(Device *device, DeviceScene *dscene, progress.set_status("Updating Mesh", "Computing attributes"); /* gather per mesh requested attributes. as meshes may have multiple - * shaders assigned, this merged the requested attributes that have + * shaders assigned, this merges the requested attributes that have * been set per shader by the shader manager */ vector mesh_attributes(scene->meshes.size()); diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index 546d74c5c22..5ffc3fbbabb 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -1275,6 +1275,24 @@ void BackgroundNode::compile(OSLCompiler& compiler) compiler.add(this, "node_background"); } +/* Holdout Closure */ + +HoldoutNode::HoldoutNode() +: ShaderNode("holdout") +{ + add_output("Holdout", SHADER_SOCKET_CLOSURE); +} + +void HoldoutNode::compile(SVMCompiler& compiler) +{ + compiler.add_node(NODE_CLOSURE_HOLDOUT, CLOSURE_HOLDOUT_ID); +} + +void HoldoutNode::compile(OSLCompiler& compiler) +{ + compiler.add(this, "node_holdout"); +} + /* Geometry */ GeometryNode::GeometryNode() diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h index da3b743e79b..2afe585c3ac 100644 --- a/intern/cycles/render/nodes.h +++ b/intern/cycles/render/nodes.h @@ -257,6 +257,11 @@ public: SHADER_NODE_CLASS(BackgroundNode) }; +class HoldoutNode : public ShaderNode { +public: + SHADER_NODE_CLASS(HoldoutNode) +}; + class GeometryNode : public ShaderNode { public: SHADER_NODE_CLASS(GeometryNode) diff --git a/intern/cycles/render/scene.h b/intern/cycles/render/scene.h index 965a0054846..9d475cd9fa5 100644 --- a/intern/cycles/render/scene.h +++ b/intern/cycles/render/scene.h @@ -84,11 +84,6 @@ public: /* filter */ device_vector filter_table; - /* film */ - device_vector response_curve_R; - device_vector response_curve_G; - device_vector response_curve_B; - /* integrator */ device_vector sobol_directions; diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp index 56fbadcee08..5890714d740 100644 --- a/intern/cycles/render/session.cpp +++ b/intern/cycles/render/session.cpp @@ -52,6 +52,7 @@ Session::Session(const SessionParams& params_) delayed_reset.do_reset = false; delayed_reset.w = 0; delayed_reset.h = 0; + delayed_reset.passes = 0; display_outdated = false; gpu_draw_ready = false; @@ -95,7 +96,7 @@ bool Session::ready_to_reset() /* GPU Session */ -void Session::reset_gpu(int w, int h) +void Session::reset_gpu(int w, int h, int passes) { /* block for buffer acces and reset immediately. we can't do this in the thread, because we need to allocate an OpenGL buffer, and @@ -106,7 +107,7 @@ void Session::reset_gpu(int w, int h) display_outdated = true; reset_time = time_dt(); - reset_(w, h); + reset_(w, h, passes); gpu_need_tonemap = false; gpu_need_tonemap_cond.notify_all(); @@ -148,7 +149,14 @@ void Session::run_gpu() start_time = time_dt(); reset_time = time_dt(); - while(!progress.get_cancel() && tile_manager.next()) { + while(!progress.get_cancel()) { + bool done = !tile_manager.next(); + + if(done && params.background) + break; + + /* todo: wait when done in interactive mode */ + /* buffers mutex is locked entirely while rendering each pass, and released/reacquired on each iteration to allow reset and draw in between */ @@ -193,7 +201,7 @@ void Session::run_gpu() /* CPU Session */ -void Session::reset_cpu(int w, int h) +void Session::reset_cpu(int w, int h, int passes) { thread_scoped_lock reset_lock(delayed_reset.mutex); @@ -202,6 +210,7 @@ void Session::reset_cpu(int w, int h) delayed_reset.w = w; delayed_reset.h = h; + delayed_reset.passes = passes; delayed_reset.do_reset = true; device->task_cancel(); } @@ -235,11 +244,18 @@ void Session::run_cpu() thread_scoped_lock buffers_lock(buffers->mutex); thread_scoped_lock display_lock(display->mutex); - reset_(delayed_reset.w, delayed_reset.h); + reset_(delayed_reset.w, delayed_reset.h, delayed_reset.passes); delayed_reset.do_reset = false; } - while(!progress.get_cancel() && tile_manager.next()) { + while(!progress.get_cancel()) { + bool done = !tile_manager.next(); + + if(done && params.background) + break; + + /* todo: wait when done in interactive mode */ + { thread_scoped_lock buffers_lock(buffers->mutex); @@ -266,7 +282,7 @@ void Session::run_cpu() if(delayed_reset.do_reset) { /* reset rendering if request from main thread */ delayed_reset.do_reset = false; - reset_(delayed_reset.w, delayed_reset.h); + reset_(delayed_reset.w, delayed_reset.h, delayed_reset.passes); } else { /* tonemap only if we do not reset, we don't we don't @@ -313,7 +329,7 @@ bool Session::draw(int w, int h) return draw_cpu(w, h); } -void Session::reset_(int w, int h) +void Session::reset_(int w, int h, int passes) { if(w != buffers->width || h != buffers->height) { gpu_draw_ready = false; @@ -321,19 +337,28 @@ void Session::reset_(int w, int h) display->reset(device, w, h); } - tile_manager.reset(w, h); + tile_manager.reset(w, h, passes); start_time = time_dt(); preview_time = 0.0; pass = 0; } -void Session::reset(int w, int h) +void Session::reset(int w, int h, int passes) { if(device_use_gl) - reset_gpu(w, h); + reset_gpu(w, h, passes); else - reset_cpu(w, h); + reset_cpu(w, h, passes); +} + +void Session::set_passes(int passes) +{ + if(passes != params.passes) { + params.passes = passes; + tile_manager.set_passes(passes); + /* todo: awake in paused loop */ + } } void Session::wait() diff --git a/intern/cycles/render/session.h b/intern/cycles/render/session.h index 3411dcd23c6..18983f55353 100644 --- a/intern/cycles/render/session.h +++ b/intern/cycles/render/session.h @@ -107,13 +107,15 @@ public: void wait(); bool ready_to_reset(); - void reset(int w, int h); + void reset(int w, int h, int passes); + void set_passes(int passes); protected: struct DelayedReset { thread_mutex mutex; bool do_reset; int w, h; + int passes; } delayed_reset; void run(); @@ -123,15 +125,15 @@ protected: void tonemap(); void path_trace(Tile& tile); - void reset_(int w, int h); + void reset_(int w, int h, int passes); void run_cpu(); bool draw_cpu(int w, int h); - void reset_cpu(int w, int h); + void reset_cpu(int w, int h, int passes); void run_gpu(); bool draw_gpu(int w, int h); - void reset_gpu(int w, int h); + void reset_gpu(int w, int h, int passes); TileManager tile_manager; bool device_use_gl; diff --git a/intern/cycles/render/tile.cpp b/intern/cycles/render/tile.cpp index 28ea39e70ed..450090c42f8 100644 --- a/intern/cycles/render/tile.cpp +++ b/intern/cycles/render/tile.cpp @@ -25,18 +25,17 @@ CCL_NAMESPACE_BEGIN TileManager::TileManager(bool progressive_, int passes_, int tile_size_, int min_size_) { progressive = progressive_; - passes = passes_; tile_size = tile_size_; min_size = min_size_; - reset(0, 0); + reset(0, 0, 0); } TileManager::~TileManager() { } -void TileManager::reset(int width_, int height_) +void TileManager::reset(int width_, int height_, int passes_) { full_width = width_; full_height = height_; @@ -54,6 +53,8 @@ void TileManager::reset(int width_, int height_) } } + passes = passes_; + state.width = 0; state.height = 0; state.pass = -1; @@ -61,6 +62,11 @@ void TileManager::reset(int width_, int height_) state.tiles.clear(); } +void TileManager::set_passes(int passes_) +{ + passes = passes_; +} + void TileManager::set_tiles() { int resolution = state.resolution; diff --git a/intern/cycles/render/tile.h b/intern/cycles/render/tile.h index c3517b1e24d..56c69cdce88 100644 --- a/intern/cycles/render/tile.h +++ b/intern/cycles/render/tile.h @@ -50,7 +50,8 @@ public: TileManager(bool progressive, int passes, int tile_size, int min_size); ~TileManager(); - void reset(int width, int height); + void reset(int width, int height, int passes); + void set_passes(int passes); bool next(); bool done(); diff --git a/intern/cycles/util/util_color.h b/intern/cycles/util/util_color.h index a11a5c7c2a7..8b4a175f498 100644 --- a/intern/cycles/util/util_color.h +++ b/intern/cycles/util/util_color.h @@ -60,6 +60,11 @@ __device float3 color_scene_linear_to_srgb(float3 c) #endif +__device float linear_rgb_to_gray(float3 c) +{ + return c.x*0.2126f + c.y*0.7152f + c.z*0.0722f; +} + CCL_NAMESPACE_END #endif /* __UTIL_COLOR_H__ */ diff --git a/intern/cycles/util/util_types.h b/intern/cycles/util/util_types.h index 12ae60f1143..af5b91c963a 100644 --- a/intern/cycles/util/util_types.h +++ b/intern/cycles/util/util_types.h @@ -30,6 +30,7 @@ #ifndef __KERNEL_GPU__ #define __device static inline +#define __device_noinline static #define __global #define __local #define __shared diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h index f61231141fd..5b1a80186a6 100644 --- a/source/blender/blenkernel/BKE_node.h +++ b/source/blender/blenkernel/BKE_node.h @@ -311,6 +311,7 @@ struct ShadeResult; #define SH_NODE_ADD_CLOSURE 156 #define SH_NODE_TEX_ENVIRONMENT 157 #define SH_NODE_OUTPUT_TEXTURE 158 +#define SH_NODE_HOLDOUT 159 /* custom defines options for Material node */ #define SH_NODE_MAT_DIFF 1 diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index 927d406eb61..a36032f137e 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -3702,10 +3702,11 @@ static void registerShaderNodes(ListBase *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_holdout(ntypelist); register_node_type_sh_output_lamp(ntypelist); register_node_type_sh_output_material(ntypelist); - register_node_type_sh_output_texture(ntypelist); + //register_node_type_sh_output_texture(ntypelist); register_node_type_sh_output_world(ntypelist); register_node_type_sh_tex_blend(ntypelist); diff --git a/source/blender/makesrna/intern/rna_nodetree_types.h b/source/blender/makesrna/intern/rna_nodetree_types.h index 41f1bf2d383..d14e4cd76f2 100644 --- a/source/blender/makesrna/intern/rna_nodetree_types.h +++ b/source/blender/makesrna/intern/rna_nodetree_types.h @@ -52,7 +52,7 @@ DefNode( ShaderNode, SH_NODE_COMBRGB, 0, "COMBR DefNode( ShaderNode, SH_NODE_HUE_SAT, 0, "HUE_SAT", HueSaturation, "Hue/Saturation", "" ) DefNode( ShaderNode, SH_NODE_OUTPUT_MATERIAL, 0, "OUTPUT_MATERIAL",OutputMaterial, "Material Output", "" ) DefNode( ShaderNode, SH_NODE_OUTPUT_LAMP, 0, "OUTPUT_LAMP", OutputLamp, "Lamp Output", "" ) -DefNode( ShaderNode, SH_NODE_OUTPUT_TEXTURE, 0, "OUTPUT_TEXTURE", OutputTexture, "Texture Output", "" ) +//DefNode( ShaderNode, SH_NODE_OUTPUT_TEXTURE, 0, "OUTPUT_TEXTURE", OutputTexture, "Texture Output", "" ) DefNode( ShaderNode, SH_NODE_OUTPUT_WORLD, 0, "OUTPUT_WORLD", OutputWorld, "World Output", "" ) DefNode( ShaderNode, SH_NODE_FRESNEL, 0, "FRESNEL", Fresnel, "Fresnel", "" ) DefNode( ShaderNode, SH_NODE_MIX_CLOSURE, 0, "MIX_CLOSURE", MixClosure, "Mix Closure", "" ) @@ -60,6 +60,7 @@ DefNode( ShaderNode, SH_NODE_ADD_CLOSURE, 0, "ADD_C DefNode( ShaderNode, SH_NODE_ATTRIBUTE, 0, "ATTRIBUTE", Attribute, "Attribute", "") DefNode( ShaderNode, SH_NODE_BACKGROUND, 0, "BACKGROUND", Background, "Background", "") +DefNode( ShaderNode, SH_NODE_HOLDOUT, 0, "HOLDOUT", Holdout, "Holdout", "") DefNode( ShaderNode, SH_NODE_BSDF_ANISOTROPIC, 0, "BSDF_ANISOTROPIC", BsdfAnisotropic, "Bsdf Anisotropic", "") DefNode( ShaderNode, SH_NODE_BSDF_DIFFUSE, 0, "BSDF_DIFFUSE", BsdfDiffuse, "Diffuse Bsdf", "") DefNode( ShaderNode, SH_NODE_BSDF_GLOSSY, def_glossy, "BSDF_GLOSSY", BsdfGlossy, "Glossy Bsdf", "") diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt index 96c59992b25..f4b6a452281 100644 --- a/source/blender/nodes/CMakeLists.txt +++ b/source/blender/nodes/CMakeLists.txt @@ -128,6 +128,7 @@ set(SRC intern/SHD_nodes/SHD_emission.c intern/SHD_nodes/SHD_fresnel.c intern/SHD_nodes/SHD_geometry.c + intern/SHD_nodes/SHD_holdout.c intern/SHD_nodes/SHD_light_path.c intern/SHD_nodes/SHD_mix_closure.c intern/SHD_nodes/SHD_add_closure.c diff --git a/source/blender/nodes/SHD_node.h b/source/blender/nodes/SHD_node.h index 7bee0dfb0bb..a939bca161d 100644 --- a/source/blender/nodes/SHD_node.h +++ b/source/blender/nodes/SHD_node.h @@ -67,6 +67,7 @@ void register_node_type_sh_bsdf_translucent(ListBase *lb); void register_node_type_sh_bsdf_transparent(ListBase *lb); void register_node_type_sh_bsdf_velvet(ListBase *lb); void register_node_type_sh_emission(ListBase *lb); +void register_node_type_sh_holdout(ListBase *lb); void register_node_type_sh_mix_closure(ListBase *lb); void register_node_type_sh_add_closure(ListBase *lb); diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_holdout.c b/source/blender/nodes/intern/SHD_nodes/SHD_holdout.c new file mode 100644 index 00000000000..a96b621456a --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_holdout.c @@ -0,0 +1,63 @@ +/** + * $Id: SHD_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketType sh_node_holdout_in[]= { + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_holdout_out[]= { + { SOCK_CLOSURE, 0, "Holdout", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_holdout(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + + +/* node type definition */ +void register_node_type_sh_holdout(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_HOLDOUT, "Holdout", NODE_CLASS_CLOSURE, 0, + sh_node_holdout_in, sh_node_holdout_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_holdout); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + From 47fb31404fcb7b3244d3a575807a5084996802cb Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 29 Aug 2011 10:21:10 +0000 Subject: [PATCH 101/241] Cycles: preview passes setting to set the max number of passes to render in the viewport working now, set to 0 for unlimited (well, actually 2147483647). --- intern/cycles/blender/addon/ui.py | 18 +-- .../cycles/kernel/osl/nodes/node_holdout.osl | 28 ++++ intern/cycles/render/session.cpp | 145 +++++++++++++----- intern/cycles/render/session.h | 5 + 4 files changed, 145 insertions(+), 51 deletions(-) create mode 100644 intern/cycles/kernel/osl/nodes/node_holdout.osl diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index a1363ece854..8da478d45a1 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -43,16 +43,15 @@ class CyclesRender_PT_integrator(CyclesButtonsPanel, bpy.types.Panel): split = layout.split() col = split.column() - col.prop(cscene, "passes", text="Render Passes") - #sub = col.row() - #sub.active = cscene.preview_passes >= 1 - #sub.prop(cscene, "preview_passes") + sub = col.column(align=True) + sub.prop(cscene, "passes", text="Render Passes") + sub.prop(cscene, "preview_passes") col.prop(cscene, "no_caustics") col = split.column() - col = col.column(align=True) - col.prop(cscene, "max_bounces") - col.prop(cscene, "min_bounces") + sub = col.column(align=True) + sub.prop(cscene, "max_bounces") + sub.prop(cscene, "min_bounces") #row = col.row() #row.prop(cscene, "blur_caustics") @@ -74,9 +73,10 @@ class CyclesRender_PT_film(CyclesButtonsPanel, bpy.types.Panel): col.prop(cscene, "transparent") col = split.column() - col.prop(cscene, "filter_type", text="") + sub = col.column(align=True) + sub.prop(cscene, "filter_type", text="") if cscene.filter_type != 'BOX': - col.prop(cscene, "filter_width", text="Width") + sub.prop(cscene, "filter_width", text="Width") class CyclesRender_PT_performance(CyclesButtonsPanel, bpy.types.Panel): bl_label = "Performance" diff --git a/intern/cycles/kernel/osl/nodes/node_holdout.osl b/intern/cycles/kernel/osl/nodes/node_holdout.osl new file mode 100644 index 00000000000..69f8d85a82e --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_holdout.osl @@ -0,0 +1,28 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +shader node_background( + color Color = color(0.8, 0.8, 0.8), + float Strength = 1.0, + output closure color Background = background()) +{ + Background = Color*Strength*background(); +} + diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp index 5890714d740..274c61a283e 100644 --- a/intern/cycles/render/session.cpp +++ b/intern/cycles/render/session.cpp @@ -57,6 +57,7 @@ Session::Session(const SessionParams& params_) display_outdated = false; gpu_draw_ready = false; gpu_need_tonemap = false; + pause = false; } Session::~Session() @@ -65,6 +66,7 @@ Session::~Session() progress.set_cancel("Exiting"); gpu_need_tonemap = false; gpu_need_tonemap_cond.notify_all(); + set_pause(false); wait(); } @@ -111,6 +113,8 @@ void Session::reset_gpu(int w, int h, int passes) gpu_need_tonemap = false; gpu_need_tonemap_cond.notify_all(); + + pause_cond.notify_all(); } bool Session::draw_gpu(int w, int h) @@ -150,52 +154,72 @@ void Session::run_gpu() reset_time = time_dt(); while(!progress.get_cancel()) { + /* advance to next tile */ bool done = !tile_manager.next(); - if(done && params.background) - break; + /* any work left? */ + if(done) { + /* if in background mode, we can stop immediately */ + if(params.background) { + break; + } + else { + /* in interactive mode, we wait until woken up */ + thread_scoped_lock pause_lock(pause_mutex); + pause_cond.wait(pause_lock); + } + } + else { + /* test for pause and wait until woken up */ + thread_scoped_lock pause_lock(pause_mutex); + while(pause) + pause_cond.wait(pause_lock); + } - /* todo: wait when done in interactive mode */ + { + /* buffers mutex is locked entirely while rendering each + pass, and released/reacquired on each iteration to allow + reset and draw in between */ + thread_scoped_lock buffers_lock(buffers->mutex); - /* buffers mutex is locked entirely while rendering each - pass, and released/reacquired on each iteration to allow - reset and draw in between */ - thread_scoped_lock buffers_lock(buffers->mutex); + /* update scene */ + update_scene(); + if(progress.get_cancel()) + break; - /* update scene */ - update_scene(); - if(progress.get_cancel()) - break; + /* update status and timing */ + update_status_time(); - /* update status and timing */ - update_status_time(); + /* path trace */ + foreach(Tile& tile, tile_manager.state.tiles) { + path_trace(tile); - /* path trace */ - foreach(Tile& tile, tile_manager.state.tiles) { - path_trace(tile); + device->task_wait(); - device->task_wait(); + if(progress.get_cancel()) + break; + } + + /* update status and timing */ + update_status_time(); + + gpu_need_tonemap = true; + gpu_draw_ready = true; + progress.set_update(); + + /* wait for tonemap */ + if(!params.background) { + while(gpu_need_tonemap) { + if(progress.get_cancel()) + break; + + gpu_need_tonemap_cond.wait(buffers_lock); + } + } if(progress.get_cancel()) break; } - - gpu_need_tonemap = true; - gpu_draw_ready = true; - progress.set_update(); - - /* wait for tonemap */ - if(!params.background) { - while(gpu_need_tonemap) { - if(progress.get_cancel()) - break; - - gpu_need_tonemap_cond.wait(buffers_lock); - } - } - - if(progress.get_cancel()) - break; } } @@ -213,6 +237,8 @@ void Session::reset_cpu(int w, int h, int passes) delayed_reset.passes = passes; delayed_reset.do_reset = true; device->task_cancel(); + + pause_cond.notify_all(); } bool Session::draw_cpu(int w, int h) @@ -249,14 +275,33 @@ void Session::run_cpu() } while(!progress.get_cancel()) { + /* advance to next tile */ bool done = !tile_manager.next(); + bool need_tonemap = false; - if(done && params.background) - break; + /* any work left? */ + if(done) { + /* if in background mode, we can stop immediately */ + if(params.background) { + break; + } + else { + /* in interactive mode, we wait until woken up */ + thread_scoped_lock pause_lock(pause_mutex); + pause_cond.wait(pause_lock); + } + } + else { + /* test for pause and wait until woken up */ + thread_scoped_lock pause_lock(pause_mutex); + while(pause) + pause_cond.wait(pause_lock); + } - /* todo: wait when done in interactive mode */ - - { + if(!done) { + /* buffers mutex is locked entirely while rendering each + pass, and released/reacquired on each iteration to allow + reset and draw in between */ thread_scoped_lock buffers_lock(buffers->mutex); /* update scene */ @@ -267,9 +312,14 @@ void Session::run_cpu() /* update status and timing */ update_status_time(); - /* path trace all tiles */ + /* path trace */ foreach(Tile& tile, tile_manager.state.tiles) path_trace(tile); + + /* update status and timing */ + update_status_time(); + + need_tonemap = true; } device->task_wait(); @@ -284,7 +334,7 @@ void Session::run_cpu() delayed_reset.do_reset = false; reset_(delayed_reset.w, delayed_reset.h, delayed_reset.passes); } - else { + else if(need_tonemap) { /* tonemap only if we do not reset, we don't we don't want to show the result of an incomplete pass*/ tonemap(); @@ -357,10 +407,21 @@ void Session::set_passes(int passes) if(passes != params.passes) { params.passes = passes; tile_manager.set_passes(passes); - /* todo: awake in paused loop */ + + pause_cond.notify_all(); } } +void Session::set_pause(bool pause_) +{ + { + thread_scoped_lock pause_lock(pause_mutex); + pause = pause_; + } + + pause_cond.notify_all(); +} + void Session::wait() { session_thread->join(); diff --git a/intern/cycles/render/session.h b/intern/cycles/render/session.h index 18983f55353..3aaaeedf0c5 100644 --- a/intern/cycles/render/session.h +++ b/intern/cycles/render/session.h @@ -109,6 +109,7 @@ public: bool ready_to_reset(); void reset(int w, int h, int passes); void set_passes(int passes); + void set_pause(bool pause); protected: struct DelayedReset { @@ -146,6 +147,10 @@ protected: volatile bool gpu_need_tonemap; thread_condition_variable gpu_need_tonemap_cond; + bool pause; + thread_condition_variable pause_cond; + thread_mutex pause_mutex; + double start_time; double reset_time; double preview_time; From 160d8f6c0c14ef13ef2540e60a389933f9b8d009 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 29 Aug 2011 11:47:03 +0000 Subject: [PATCH 102/241] Cycles: fix cuda assertion that could be triggerd sometimes, when trying to tonemap an empty image. --- intern/cycles/render/session.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp index 274c61a283e..5465ddac06b 100644 --- a/intern/cycles/render/session.cpp +++ b/intern/cycles/render/session.cpp @@ -508,11 +508,13 @@ void Session::tonemap() task.pass = tile_manager.state.pass; task.resolution = tile_manager.state.resolution; - device->task_add(task); - device->task_wait(); + if(task.w > 0 && task.h > 0) { + device->task_add(task); + device->task_wait(); - /* set display to new size */ - display->draw_set(tile_manager.state.width, tile_manager.state.height); + /* set display to new size */ + display->draw_set(task.w, task.h); + } display_outdated = false; } From 213c58fdd56c8437645d759e4e4540b638b6cf2e Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Mon, 29 Aug 2011 13:59:11 +0000 Subject: [PATCH 103/241] Cycles UI file: * Import bpy.types.Panel at the beginning, like in Trunk --- intern/cycles/blender/addon/ui.py | 40 ++++++++++++++++--------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 8da478d45a1..4fe9e25d251 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -18,6 +18,8 @@ import bpy +from bpy.types import Panel + from cycles import enums from cycles import engine @@ -31,7 +33,7 @@ class CyclesButtonsPanel(): rd = context.scene.render return rd.engine == 'CYCLES' -class CyclesRender_PT_integrator(CyclesButtonsPanel, bpy.types.Panel): +class CyclesRender_PT_integrator(CyclesButtonsPanel, Panel): bl_label = "Integrator" def draw(self, context): @@ -57,7 +59,7 @@ class CyclesRender_PT_integrator(CyclesButtonsPanel, bpy.types.Panel): #row.prop(cscene, "blur_caustics") #row.active = not cscene.no_caustics -class CyclesRender_PT_film(CyclesButtonsPanel, bpy.types.Panel): +class CyclesRender_PT_film(CyclesButtonsPanel, Panel): bl_label = "Film" def draw(self, context): @@ -78,7 +80,7 @@ class CyclesRender_PT_film(CyclesButtonsPanel, bpy.types.Panel): if cscene.filter_type != 'BOX': sub.prop(cscene, "filter_width", text="Width") -class CyclesRender_PT_performance(CyclesButtonsPanel, bpy.types.Panel): +class CyclesRender_PT_performance(CyclesButtonsPanel, Panel): bl_label = "Performance" bl_options = {'DEFAULT_CLOSED'} @@ -111,7 +113,7 @@ class CyclesRender_PT_performance(CyclesButtonsPanel, bpy.types.Panel): sub.prop(cscene, "debug_bvh_type", text="") sub.prop(cscene, "debug_use_spatial_splits") -class Cycles_PT_post_processing(CyclesButtonsPanel, bpy.types.Panel): +class Cycles_PT_post_processing(CyclesButtonsPanel, Panel): bl_label = "Post Processing" bl_options = {'DEFAULT_CLOSED'} @@ -129,7 +131,7 @@ class Cycles_PT_post_processing(CyclesButtonsPanel, bpy.types.Panel): col = split.column() col.prop(rd, "dither_intensity", text="Dither", slider=True) -class Cycles_PT_camera(CyclesButtonsPanel, bpy.types.Panel): +class Cycles_PT_camera(CyclesButtonsPanel, Panel): bl_label = "Cycles" bl_context = "data" @@ -145,7 +147,7 @@ class Cycles_PT_camera(CyclesButtonsPanel, bpy.types.Panel): layout.prop(ccamera, "lens_radius") -class Cycles_PT_context_material(CyclesButtonsPanel, bpy.types.Panel): +class Cycles_PT_context_material(CyclesButtonsPanel, Panel): bl_label = "Surface" bl_context = "material" bl_options = {'HIDE_HEADER'} @@ -193,7 +195,7 @@ class Cycles_PT_context_material(CyclesButtonsPanel, bpy.types.Panel): split.template_ID(space, "pin_id") split.separator() -class Cycles_PT_mesh_displacement(CyclesButtonsPanel, bpy.types.Panel): +class Cycles_PT_mesh_displacement(CyclesButtonsPanel, Panel): bl_label = "Displacement" bl_context = "data" @@ -250,7 +252,7 @@ def panel_node_draw(layout, id, output_type, input_name): input = find_node_input(node, input_name) layout.template_node_view(ntree, node, input); -class CyclesLamp_PT_lamp(CyclesButtonsPanel, bpy.types.Panel): +class CyclesLamp_PT_lamp(CyclesButtonsPanel, Panel): bl_label = "Surface" bl_context = "data" @@ -264,7 +266,7 @@ class CyclesLamp_PT_lamp(CyclesButtonsPanel, bpy.types.Panel): mat = context.lamp panel_node_draw(layout, mat, 'OUTPUT_LAMP', 'Surface') -class CyclesWorld_PT_surface(CyclesButtonsPanel, bpy.types.Panel): +class CyclesWorld_PT_surface(CyclesButtonsPanel, Panel): bl_label = "Surface" bl_context = "world" @@ -278,7 +280,7 @@ class CyclesWorld_PT_surface(CyclesButtonsPanel, bpy.types.Panel): mat = context.world panel_node_draw(layout, mat, 'OUTPUT_WORLD', 'Surface') -class CyclesWorld_PT_volume(CyclesButtonsPanel, bpy.types.Panel): +class CyclesWorld_PT_volume(CyclesButtonsPanel, Panel): bl_label = "Volume" bl_context = "world" @@ -293,7 +295,7 @@ class CyclesWorld_PT_volume(CyclesButtonsPanel, bpy.types.Panel): mat = context.world panel_node_draw(layout, mat, 'OUTPUT_WORLD', 'Volume') -class CyclesMaterial_PT_surface(CyclesButtonsPanel, bpy.types.Panel): +class CyclesMaterial_PT_surface(CyclesButtonsPanel, Panel): bl_label = "Surface" bl_context = "material" @@ -307,7 +309,7 @@ class CyclesMaterial_PT_surface(CyclesButtonsPanel, bpy.types.Panel): mat = context.material panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Surface') -class CyclesMaterial_PT_volume(CyclesButtonsPanel, bpy.types.Panel): +class CyclesMaterial_PT_volume(CyclesButtonsPanel, Panel): bl_label = "Volume" bl_context = "material" @@ -322,7 +324,7 @@ class CyclesMaterial_PT_volume(CyclesButtonsPanel, bpy.types.Panel): mat = context.material panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Volume') -class CyclesMaterial_PT_displacement(CyclesButtonsPanel, bpy.types.Panel): +class CyclesMaterial_PT_displacement(CyclesButtonsPanel, Panel): bl_label = "Displacement" bl_context = "material" @@ -336,7 +338,7 @@ class CyclesMaterial_PT_displacement(CyclesButtonsPanel, bpy.types.Panel): mat = context.material panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Displacement') -class CyclesMaterial_PT_settings(CyclesButtonsPanel, bpy.types.Panel): +class CyclesMaterial_PT_settings(CyclesButtonsPanel, Panel): bl_label = "Settings" bl_context = "material" bl_options = {'DEFAULT_CLOSED'} @@ -355,7 +357,7 @@ class CyclesMaterial_PT_settings(CyclesButtonsPanel, bpy.types.Panel): row.label(text="Light Group:") row.prop(mat, "light_group", text="") -class CyclesTexture_PT_context(CyclesButtonsPanel, bpy.types.Panel): +class CyclesTexture_PT_context(CyclesButtonsPanel, Panel): bl_label = "" bl_context = "texture" bl_options = {'HIDE_HEADER'} @@ -398,7 +400,7 @@ class CyclesTexture_PT_context(CyclesButtonsPanel, bpy.types.Panel): split.label(text="Type:") split.prop(tex, "type", text="") -class CyclesTexture_PT_nodes(CyclesButtonsPanel, bpy.types.Panel): +class CyclesTexture_PT_nodes(CyclesButtonsPanel, Panel): bl_label = "Nodes" bl_context = "texture" @@ -413,7 +415,7 @@ class CyclesTexture_PT_nodes(CyclesButtonsPanel, bpy.types.Panel): tex = context.texture panel_node_draw(layout, tex, 'OUTPUT_TEXTURE', 'Color') -class CyclesTexture_PT_node(CyclesButtonsPanel, bpy.types.Panel): +class CyclesTexture_PT_node(CyclesButtonsPanel, Panel): bl_label = "Node" bl_context = "texture" @@ -429,7 +431,7 @@ class CyclesTexture_PT_node(CyclesButtonsPanel, bpy.types.Panel): ntree = node.id_data layout.template_node_view(ntree, node, None) -class CyclesTexture_PT_mapping(CyclesButtonsPanel, bpy.types.Panel): +class CyclesTexture_PT_mapping(CyclesButtonsPanel, Panel): bl_label = "Mapping" bl_context = "texture" @@ -444,7 +446,7 @@ class CyclesTexture_PT_mapping(CyclesButtonsPanel, bpy.types.Panel): layout.label("Texture coordinate mapping goes here."); layout.label("Translate, rotate, scale, projection, XYZ.") -class CyclesTexture_PT_color(CyclesButtonsPanel, bpy.types.Panel): +class CyclesTexture_PT_color(CyclesButtonsPanel, Panel): bl_label = "Color" bl_context = "texture" From be0aef2ef24d0d84e199c59a91634e87cdef3d58 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 29 Aug 2011 16:54:13 +0000 Subject: [PATCH 104/241] Cycles: pause button to interrupt viewport renders, in the 3d view header. --- intern/cycles/blender/addon/properties.py | 3 + intern/cycles/blender/addon/ui.py | 13 ++ intern/cycles/blender/blender_session.cpp | 8 +- intern/cycles/blender/blender_sync.cpp | 6 + intern/cycles/blender/blender_sync.h | 1 + intern/cycles/render/scene.cpp | 20 +-- intern/cycles/render/session.cpp | 149 +++++++++++++++------- intern/cycles/render/session.h | 3 +- 8 files changed, 140 insertions(+), 63 deletions(-) diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index 62c1db5a16d..b2d982fdabc 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -36,6 +36,9 @@ class CyclesRenderSettings(bpy.types.PropertyGroup): default=10, min=1, max=2147483647) cls.preview_passes = IntProperty(name="Preview Passes", description="Number of passes to render in the viewport, unlimited if 0", default=0, min=0, max=2147483647) + cls.preview_pause = BoolProperty(name="Pause Preview", description="Pause all viewport preview renders", + default=False) + cls.min_bounces = IntProperty(name="Min Bounces", description="Minimum number of bounces", default=3, min=0, max=1024) cls.max_bounces = IntProperty(name="Max Bounces", description="Maximum number of bounces", diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 4fe9e25d251..ec753590cce 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -473,6 +473,17 @@ def draw_device(self, context): if cscene.device == 'CPU' and engine.with_osl(): layout.prop(cscene, "shading_system") +def draw_pause(self, context): + layout = self.layout + scene = context.scene + + if scene.render.engine == "CYCLES": + view = context.space_data + + if view.viewport_shade == "RENDERED": + cscene = scene.cycles + layout.prop(cscene, "preview_pause", icon="PAUSE", text="") + def get_panels(): return [ bpy.types.RENDER_PT_render, @@ -514,12 +525,14 @@ def get_panels(): def register(): bpy.types.RENDER_PT_render.append(draw_device) + bpy.types.VIEW3D_HT_header.append(draw_pause) for panel in get_panels(): panel.COMPAT_ENGINES.add('CYCLES') def unregister(): bpy.types.RENDER_PT_render.remove(draw_device) + bpy.types.VIEW3D_HT_header.remove(draw_pause) for panel in get_panels(): panel.COMPAT_ENGINES.remove('CYCLES') diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp index 7be15ca0e3c..62721b7cf10 100644 --- a/intern/cycles/blender/blender_session.cpp +++ b/intern/cycles/blender/blender_session.cpp @@ -93,6 +93,7 @@ void BlenderSession::create_session() session->scene = scene; session->progress.set_update_callback(function_bind(&BlenderSession::tag_redraw, this)); session->progress.set_cancel_callback(function_bind(&BlenderSession::test_cancel, this)); + session->set_pause(BlenderSync::get_session_pause(b_scene, background)); /* start rendering */ session->reset(width, height, session_params.passes); @@ -159,6 +160,7 @@ void BlenderSession::synchronize() /* increase passes, but never decrease */ session->set_passes(session_params.passes); + session->set_pause(BlenderSync::get_session_pause(b_scene, background)); /* copy recalc flags, outside of mutex so we can decide to do the real synchronization at a later time to not block on running updates */ @@ -178,12 +180,12 @@ void BlenderSession::synchronize() else sync->sync_camera(width, height); + /* unlock */ + session->scene->mutex.unlock(); + /* reset if needed */ if(scene->need_reset()) session->reset(width, height, session_params.passes); - - /* unlock */ - session->scene->mutex.unlock(); } bool BlenderSession::draw(int w, int h) diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index ccfc3bb2bf1..c579253336f 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -185,6 +185,12 @@ SceneParams BlenderSync::get_scene_params(BL::Scene b_scene) /* Session Parameters */ +bool BlenderSync::get_session_pause(BL::Scene b_scene, bool background) +{ + PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles"); + return (background)? false: get_boolean(cscene, "preview_pause"); +} + SessionParams BlenderSync::get_session_params(BL::Scene b_scene, bool background) { SessionParams params; diff --git a/intern/cycles/blender/blender_sync.h b/intern/cycles/blender/blender_sync.h index 16ce1998a24..fe60f42bc75 100644 --- a/intern/cycles/blender/blender_sync.h +++ b/intern/cycles/blender/blender_sync.h @@ -61,6 +61,7 @@ public: /* get parameters */ static SceneParams get_scene_params(BL::Scene b_scene); static SessionParams get_session_params(BL::Scene b_scene, bool background); + static bool get_session_pause(BL::Scene b_scene, bool background); private: /* sync */ diff --git a/intern/cycles/render/scene.cpp b/intern/cycles/render/scene.cpp index 85a0cc3a7c4..0b2e2b8a9b6 100644 --- a/intern/cycles/render/scene.cpp +++ b/intern/cycles/render/scene.cpp @@ -57,31 +57,31 @@ Scene::Scene(const SceneParams& params_) Scene::~Scene() { - camera->device_free(device, &dscene); + if(device) camera->device_free(device, &dscene); delete camera; - filter->device_free(device, &dscene); + if(device) filter->device_free(device, &dscene); delete filter; - film->device_free(device, &dscene); + if(device) film->device_free(device, &dscene); delete film; - background->device_free(device, &dscene); + if(device) background->device_free(device, &dscene); delete background; - mesh_manager->device_free(device, &dscene); + if(device) mesh_manager->device_free(device, &dscene); delete mesh_manager; - object_manager->device_free(device, &dscene); + if(device) object_manager->device_free(device, &dscene); delete object_manager; - integrator->device_free(device, &dscene); + if(device) integrator->device_free(device, &dscene); delete integrator; - shader_manager->device_free(device, &dscene); + if(device) shader_manager->device_free(device, &dscene); delete shader_manager; - light_manager->device_free(device, &dscene); + if(device) light_manager->device_free(device, &dscene); delete light_manager; foreach(Shader *s, shaders) @@ -93,7 +93,7 @@ Scene::~Scene() foreach(Light *l, lights) delete l; - image_manager->device_free(device, &dscene); + if(device) image_manager->device_free(device, &dscene); delete image_manager; } diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp index 5465ddac06b..52366f06337 100644 --- a/intern/cycles/render/session.cpp +++ b/intern/cycles/render/session.cpp @@ -47,6 +47,7 @@ Session::Session(const SessionParams& params_) start_time = 0.0; reset_time = 0.0; preview_time = 0.0; + paused_time = 0.0; pass = 0; delayed_reset.do_reset = false; @@ -64,9 +65,16 @@ Session::~Session() { if(session_thread) { progress.set_cancel("Exiting"); + gpu_need_tonemap = false; gpu_need_tonemap_cond.notify_all(); - set_pause(false); + + { + thread_scoped_lock pause_lock(pause_mutex); + pause = false; + } + pause_cond.notify_all(); + wait(); } @@ -152,40 +160,54 @@ void Session::run_gpu() { start_time = time_dt(); reset_time = time_dt(); + paused_time = 0.0; while(!progress.get_cancel()) { /* advance to next tile */ - bool done = !tile_manager.next(); + bool no_tiles = !tile_manager.next(); - /* any work left? */ - if(done) { - /* if in background mode, we can stop immediately */ - if(params.background) { + if(params.background) { + /* if no work left and in background mode, we can stop immediately */ + if(no_tiles) break; - } - else { - /* in interactive mode, we wait until woken up */ - thread_scoped_lock pause_lock(pause_mutex); - pause_cond.wait(pause_lock); - } } else { - /* test for pause and wait until woken up */ + /* if in interactive mode, and we are either paused or done for now, + wait for pause condition notify to wake up again */ thread_scoped_lock pause_lock(pause_mutex); - while(pause) - pause_cond.wait(pause_lock); + + if(pause || no_tiles) { + update_status_time(pause, no_tiles); + + while(1) { + double pause_start = time_dt(); + pause_cond.wait(pause_lock); + paused_time += time_dt() - pause_start; + + update_status_time(pause, no_tiles); + progress.set_update(); + + if(!pause) + break; + } + } + + if(progress.get_cancel()) + break; } - { - /* buffers mutex is locked entirely while rendering each - pass, and released/reacquired on each iteration to allow - reset and draw in between */ - thread_scoped_lock buffers_lock(buffers->mutex); - + if(!no_tiles) { /* update scene */ update_scene(); if(progress.get_cancel()) break; + } + + if(!no_tiles) { + /* buffers mutex is locked entirely while rendering each + pass, and released/reacquired on each iteration to allow + reset and draw in between */ + thread_scoped_lock buffers_lock(buffers->mutex); /* update status and timing */ update_status_time(); @@ -276,29 +298,40 @@ void Session::run_cpu() while(!progress.get_cancel()) { /* advance to next tile */ - bool done = !tile_manager.next(); + bool no_tiles = !tile_manager.next(); bool need_tonemap = false; - /* any work left? */ - if(done) { - /* if in background mode, we can stop immediately */ - if(params.background) { + if(params.background) { + /* if no work left and in background mode, we can stop immediately */ + if(no_tiles) break; - } - else { - /* in interactive mode, we wait until woken up */ - thread_scoped_lock pause_lock(pause_mutex); - pause_cond.wait(pause_lock); - } } else { - /* test for pause and wait until woken up */ + /* if in interactive mode, and we are either paused or done for now, + wait for pause condition notify to wake up again */ thread_scoped_lock pause_lock(pause_mutex); - while(pause) - pause_cond.wait(pause_lock); + + if(pause || no_tiles) { + update_status_time(pause, no_tiles); + + while(1) { + double pause_start = time_dt(); + pause_cond.wait(pause_lock); + paused_time += time_dt() - pause_start; + + update_status_time(pause, no_tiles); + progress.set_update(); + + if(!pause) + break; + } + } + + if(progress.get_cancel()) + break; } - if(!done) { + if(!no_tiles) { /* buffers mutex is locked entirely while rendering each pass, and released/reacquired on each iteration to allow reset and draw in between */ @@ -350,12 +383,6 @@ void Session::run() /* session thread loop */ progress.set_status("Waiting for render to start"); - /* first scene update */ - if(!progress.get_cancel()) { - thread_scoped_lock scene_lock(scene->mutex); - scene->device_update(device, progress); - } - /* run */ if(!progress.get_cancel()) { if(device_use_gl) @@ -391,6 +418,7 @@ void Session::reset_(int w, int h, int passes) start_time = time_dt(); preview_time = 0.0; + paused_time = 0.0; pass = 0; } @@ -408,18 +436,28 @@ void Session::set_passes(int passes) params.passes = passes; tile_manager.set_passes(passes); + { + thread_scoped_lock pause_lock(pause_mutex); + } pause_cond.notify_all(); } } void Session::set_pause(bool pause_) { + bool notify = false; + { thread_scoped_lock pause_lock(pause_mutex); - pause = pause_; + + if(pause != pause_) { + pause = pause_; + notify = true; + } } - pause_cond.notify_all(); + if(notify) + pause_cond.notify_all(); } void Session::wait() @@ -452,27 +490,40 @@ void Session::update_scene() scene->device_update(device, progress); } -void Session::update_status_time() +void Session::update_status_time(bool show_pause, bool show_done) { int pass = tile_manager.state.pass; int resolution = tile_manager.state.resolution; /* update status */ - string substatus; + string status, substatus; + if(!params.progressive) substatus = "Path Tracing"; else if(params.passes == INT_MAX) substatus = string_printf("Path Tracing Pass %d", pass+1); else substatus = string_printf("Path Tracing Pass %d/%d", pass+1, params.passes); - progress.set_status("Rendering", substatus); + + if(show_pause) + status = "Paused"; + else if(show_done) + status = "Done"; + else + status = "Rendering"; + + progress.set_status(status, substatus); /* update timing */ if(preview_time == 0.0 && resolution == 1) preview_time = time_dt(); - double total_time = (time_dt() - start_time); - double pass_time = (pass == 0)? 0.0: (time_dt() - preview_time)/(pass); + double total_time = time_dt() - start_time - paused_time; + double pass_time = (pass == 0)? 0.0: (time_dt() - preview_time - paused_time)/(pass); + + /* negative can happen when we pause a bit before rendering, can discard that */ + if(total_time < 0.0) total_time = 0.0; + if(preview_time < 0.0) preview_time = 0.0; progress.set_pass(pass + 1, total_time, pass_time); } diff --git a/intern/cycles/render/session.h b/intern/cycles/render/session.h index 3aaaeedf0c5..4d5cf434098 100644 --- a/intern/cycles/render/session.h +++ b/intern/cycles/render/session.h @@ -122,7 +122,7 @@ protected: void run(); void update_scene(); - void update_status_time(); + void update_status_time(bool show_pause = false, bool show_done = false); void tonemap(); void path_trace(Tile& tile); @@ -154,6 +154,7 @@ protected: double start_time; double reset_time; double preview_time; + double paused_time; }; CCL_NAMESPACE_END From eac2674f1d95ff7e43216fb58a012f1b59e1b709 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 29 Aug 2011 17:17:40 +0000 Subject: [PATCH 105/241] Cycles: some tweaks to try to get sm_13 shader compiling. --- intern/cycles/kernel/kernel_path.h | 9 +- intern/cycles/kernel/svm/svm.h | 250 +++++++++++------- intern/cycles/kernel/svm/svm_clouds.h | 2 +- .../cycles/kernel/svm/svm_distorted_noise.h | 2 +- intern/cycles/kernel/svm/svm_magic.h | 2 +- intern/cycles/kernel/svm/svm_marble.h | 2 +- intern/cycles/kernel/svm/svm_musgrave.h | 10 +- intern/cycles/kernel/svm/svm_noise.h | 8 +- intern/cycles/kernel/svm/svm_stucci.h | 2 +- intern/cycles/kernel/svm/svm_voronoi.h | 30 ++- intern/cycles/kernel/svm/svm_wood.h | 2 +- 11 files changed, 180 insertions(+), 139 deletions(-) diff --git a/intern/cycles/kernel/kernel_path.h b/intern/cycles/kernel/kernel_path.h index 2cbb4ae306e..d4ed4651751 100644 --- a/intern/cycles/kernel/kernel_path.h +++ b/intern/cycles/kernel/kernel_path.h @@ -151,15 +151,8 @@ __device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray if((sd.flag & SD_HOLDOUT) && (path_flag & PATH_RAY_CAMERA)) { float3 holdout_weight = shader_holdout_eval(kg, &sd); - if(kernel_data.background.transparent) { + if(kernel_data.background.transparent) Ltransparent += average(holdout_weight*throughput); - } - else { - ShaderData sd; - shader_setup_from_background(kg, &sd, &ray); - L += holdout_weight*throughput*shader_eval_background(kg, &sd, path_flag); - shader_release(kg, &sd); - } } #endif diff --git a/intern/cycles/kernel/svm/svm.h b/intern/cycles/kernel/svm/svm.h index 3a2b6bfb1ae..989c37c3cd0 100644 --- a/intern/cycles/kernel/svm/svm.h +++ b/intern/cycles/kernel/svm/svm.h @@ -160,111 +160,157 @@ __device_noinline void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderT while(1) { uint4 node = read_node(kg, &offset); - if(node.x == NODE_SHADER_JUMP) { - if(type == SHADER_TYPE_SURFACE) offset = node.y; - else if(type == SHADER_TYPE_VOLUME) offset = node.z; - else if(type == SHADER_TYPE_DISPLACEMENT) offset = node.w; - else return; - } - else if(node.x == NODE_CLOSURE_BSDF) - svm_node_closure_bsdf(sd, stack, node, randb); - else if(node.x == NODE_CLOSURE_EMISSION) - svm_node_closure_emission(sd); - else if(node.x == NODE_CLOSURE_BACKGROUND) - svm_node_closure_background(sd); - else if(node.x == NODE_CLOSURE_HOLDOUT) - svm_node_closure_holdout(sd); - else if(node.x == NODE_CLOSURE_SET_WEIGHT) - svm_node_closure_set_weight(sd, node.y, node.z, node.w); - else if(node.x == NODE_CLOSURE_WEIGHT) - svm_node_closure_weight(sd, stack, node.y); - else if(node.x == NODE_EMISSION_WEIGHT) - svm_node_emission_weight(kg, sd, stack, node); - else if(node.x == NODE_MIX_CLOSURE) - svm_node_mix_closure(sd, stack, node.y, node.z, &offset, &randb); - else if(node.x == NODE_ADD_CLOSURE) - svm_node_add_closure(sd, stack, node.y, node.z, &offset, &randb, &closure_weight); - else if(node.x == NODE_JUMP) - offset = node.y; + switch(node.x) { + case NODE_SHADER_JUMP: { + if(type == SHADER_TYPE_SURFACE) offset = node.y; + else if(type == SHADER_TYPE_VOLUME) offset = node.z; + else if(type == SHADER_TYPE_DISPLACEMENT) offset = node.w; + else return; + break; + } + case NODE_CLOSURE_BSDF: + svm_node_closure_bsdf(sd, stack, node, randb); + break; + case NODE_CLOSURE_EMISSION: + svm_node_closure_emission(sd); + break; + case NODE_CLOSURE_BACKGROUND: + svm_node_closure_background(sd); + break; + case NODE_CLOSURE_HOLDOUT: + svm_node_closure_holdout(sd); + break; + case NODE_CLOSURE_SET_WEIGHT: + svm_node_closure_set_weight(sd, node.y, node.z, node.w); + break; + case NODE_CLOSURE_WEIGHT: + svm_node_closure_weight(sd, stack, node.y); + break; + case NODE_EMISSION_WEIGHT: + svm_node_emission_weight(kg, sd, stack, node); + break; + case NODE_MIX_CLOSURE: + svm_node_mix_closure(sd, stack, node.y, node.z, &offset, &randb); + break; + case NODE_ADD_CLOSURE: + svm_node_add_closure(sd, stack, node.y, node.z, &offset, &randb, &closure_weight); + break; + case NODE_JUMP: + offset = node.y; + break; #ifdef __TEXTURES__ - else if(node.x == NODE_TEX_NOISE_F) - svm_node_tex_noise_f(sd, stack, node.y, node.z); - else if(node.x == NODE_TEX_NOISE_V) - svm_node_tex_noise_v(sd, stack, node.y, node.z); - else if(node.x == NODE_TEX_IMAGE) - svm_node_tex_image(kg, sd, stack, node); - else if(node.x == NODE_TEX_ENVIRONMENT) - svm_node_tex_environment(kg, sd, stack, node); - else if(node.x == NODE_TEX_SKY) - svm_node_tex_sky(kg, sd, stack, node.y, node.z); - else if(node.x == NODE_TEX_BLEND) - svm_node_tex_blend(sd, stack, node); - else if(node.x == NODE_TEX_CLOUDS) - svm_node_tex_clouds(sd, stack, node); - else if(node.x == NODE_TEX_VORONOI) - svm_node_tex_voronoi(kg, sd, stack, node, &offset); - else if(node.x == NODE_TEX_MUSGRAVE) - svm_node_tex_musgrave(kg, sd, stack, node, &offset); - else if(node.x == NODE_TEX_MARBLE) - svm_node_tex_marble(kg, sd, stack, node, &offset); - else if(node.x == NODE_TEX_MAGIC) - svm_node_tex_magic(sd, stack, node); - else if(node.x == NODE_TEX_STUCCI) - svm_node_tex_stucci(kg, sd, stack, node, &offset); - else if(node.x == NODE_TEX_DISTORTED_NOISE) - svm_node_tex_distorted_noise(kg, sd, stack, node, &offset); - else if(node.x == NODE_TEX_WOOD) - svm_node_tex_wood(kg, sd, stack, node, &offset); + case NODE_TEX_NOISE_F: + svm_node_tex_noise_f(sd, stack, node.y, node.z); + break; + case NODE_TEX_NOISE_V: + svm_node_tex_noise_v(sd, stack, node.y, node.z); + break; + case NODE_TEX_IMAGE: + svm_node_tex_image(kg, sd, stack, node); + break; + case NODE_TEX_ENVIRONMENT: + svm_node_tex_environment(kg, sd, stack, node); + break; + case NODE_TEX_SKY: + svm_node_tex_sky(kg, sd, stack, node.y, node.z); + break; + case NODE_TEX_BLEND: + svm_node_tex_blend(sd, stack, node); + break; + case NODE_TEX_CLOUDS: + svm_node_tex_clouds(sd, stack, node); + break; + case NODE_TEX_VORONOI: + svm_node_tex_voronoi(kg, sd, stack, node, &offset); + break; + case NODE_TEX_MUSGRAVE: + svm_node_tex_musgrave(kg, sd, stack, node, &offset); + break; + case NODE_TEX_MARBLE: + svm_node_tex_marble(kg, sd, stack, node, &offset); + break; + case NODE_TEX_MAGIC: + svm_node_tex_magic(sd, stack, node); + break; + case NODE_TEX_STUCCI: + svm_node_tex_stucci(kg, sd, stack, node, &offset); + break; + case NODE_TEX_DISTORTED_NOISE: + svm_node_tex_distorted_noise(kg, sd, stack, node, &offset); + break; + case NODE_TEX_WOOD: + svm_node_tex_wood(kg, sd, stack, node, &offset); + break; #endif - else if(node.x == NODE_GEOMETRY) - svm_node_geometry(sd, stack, node.y, node.z); - else if(node.x == NODE_GEOMETRY_BUMP_DX) - svm_node_geometry_bump_dx(sd, stack, node.y, node.z); - else if(node.x == NODE_GEOMETRY_BUMP_DY) - svm_node_geometry_bump_dy(sd, stack, node.y, node.z); - else if(node.x == NODE_LIGHT_PATH) - svm_node_light_path(sd, stack, node.y, node.z, path_flag); - else if(node.x == NODE_CONVERT) - svm_node_convert(sd, stack, node.y, node.z, node.w); - else if(node.x == NODE_VALUE_F) - svm_node_value_f(kg, sd, stack, node.y, node.z); - else if(node.x == NODE_VALUE_V) - svm_node_value_v(kg, sd, stack, node.y, &offset); - else if(node.x == NODE_MIX) - svm_node_mix(kg, sd, stack, node.y, node.z, node.w, &offset); - else if(node.x == NODE_ATTR) - svm_node_attr(kg, sd, stack, node); - else if(node.x == NODE_ATTR_BUMP_DX) - svm_node_attr_bump_dx(kg, sd, stack, node); - else if(node.x == NODE_ATTR_BUMP_DY) - svm_node_attr_bump_dy(kg, sd, stack, node); - else if(node.x == NODE_FRESNEL) - svm_node_fresnel(sd, stack, node.y, node.z, node.w); - else if(node.x == NODE_SET_DISPLACEMENT) - svm_node_set_displacement(sd, stack, node.y); - else if(node.x == NODE_SET_BUMP) - svm_node_set_bump(sd, stack, node.y, node.z, node.w); - else if(node.x == NODE_MATH) - svm_node_math(kg, sd, stack, node.y, node.z, node.w, &offset); - else if(node.x == NODE_VECTOR_MATH) - svm_node_vector_math(kg, sd, stack, node.y, node.z, node.w, &offset); - else if(node.x == NODE_MAPPING) - svm_node_mapping(kg, sd, stack, node.y, node.z, &offset); - else if(node.x == NODE_TEX_COORD) - svm_node_tex_coord(kg, sd, stack, node.y, node.z); - else if(node.x == NODE_TEX_COORD_BUMP_DX) - svm_node_tex_coord_bump_dx(kg, sd, stack, node.y, node.z); - else if(node.x == NODE_TEX_COORD_BUMP_DY) - svm_node_tex_coord_bump_dy(kg, sd, stack, node.y, node.z); - else if(node.x == NODE_EMISSION_SET_WEIGHT_TOTAL) - svm_node_emission_set_weight_total(kg, sd, node.y, node.z, node.w); - else if(node.x == NODE_END) - break; - else - return; + case NODE_GEOMETRY: + svm_node_geometry(sd, stack, node.y, node.z); + break; + case NODE_GEOMETRY_BUMP_DX: + svm_node_geometry_bump_dx(sd, stack, node.y, node.z); + break; + case NODE_GEOMETRY_BUMP_DY: + svm_node_geometry_bump_dy(sd, stack, node.y, node.z); + break; + case NODE_LIGHT_PATH: + svm_node_light_path(sd, stack, node.y, node.z, path_flag); + break; + case NODE_CONVERT: + svm_node_convert(sd, stack, node.y, node.z, node.w); + break; + case NODE_VALUE_F: + svm_node_value_f(kg, sd, stack, node.y, node.z); + break; + case NODE_VALUE_V: + svm_node_value_v(kg, sd, stack, node.y, &offset); + break; + case NODE_MIX: + svm_node_mix(kg, sd, stack, node.y, node.z, node.w, &offset); + break; + case NODE_ATTR: + svm_node_attr(kg, sd, stack, node); + break; + case NODE_ATTR_BUMP_DX: + svm_node_attr_bump_dx(kg, sd, stack, node); + break; + case NODE_ATTR_BUMP_DY: + svm_node_attr_bump_dy(kg, sd, stack, node); + break; + case NODE_FRESNEL: + svm_node_fresnel(sd, stack, node.y, node.z, node.w); + break; + case NODE_SET_DISPLACEMENT: + svm_node_set_displacement(sd, stack, node.y); + break; + case NODE_SET_BUMP: + svm_node_set_bump(sd, stack, node.y, node.z, node.w); + break; + case NODE_MATH: + svm_node_math(kg, sd, stack, node.y, node.z, node.w, &offset); + break; + case NODE_VECTOR_MATH: + svm_node_vector_math(kg, sd, stack, node.y, node.z, node.w, &offset); + break; + case NODE_MAPPING: + svm_node_mapping(kg, sd, stack, node.y, node.z, &offset); + break; + case NODE_TEX_COORD: + svm_node_tex_coord(kg, sd, stack, node.y, node.z); + break; + case NODE_TEX_COORD_BUMP_DX: + svm_node_tex_coord_bump_dx(kg, sd, stack, node.y, node.z); + break; + case NODE_TEX_COORD_BUMP_DY: + svm_node_tex_coord_bump_dy(kg, sd, stack, node.y, node.z); + break; + case NODE_EMISSION_SET_WEIGHT_TOTAL: + svm_node_emission_set_weight_total(kg, sd, node.y, node.z, node.w); + break; + case NODE_END: + default: + sd->svm_closure_weight *= closure_weight; + return; + } } - - sd->svm_closure_weight *= closure_weight; } CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/svm/svm_clouds.h b/intern/cycles/kernel/svm/svm_clouds.h index e51af684ab9..b89f1ceb072 100644 --- a/intern/cycles/kernel/svm/svm_clouds.h +++ b/intern/cycles/kernel/svm/svm_clouds.h @@ -20,7 +20,7 @@ CCL_NAMESPACE_BEGIN /* Clouds */ -__device void svm_clouds(NodeNoiseBasis basis, int hard, int depth, float size, float3 p, float *fac, float3 *color) +__device_inline void svm_clouds(NodeNoiseBasis basis, int hard, int depth, float size, float3 p, float *fac, float3 *color) { p /= size; diff --git a/intern/cycles/kernel/svm/svm_distorted_noise.h b/intern/cycles/kernel/svm/svm_distorted_noise.h index 7518a3a9d2d..7d1556cd185 100644 --- a/intern/cycles/kernel/svm/svm_distorted_noise.h +++ b/intern/cycles/kernel/svm/svm_distorted_noise.h @@ -20,7 +20,7 @@ CCL_NAMESPACE_BEGIN /* Distorted Noise (variable lacunarity noise) */ -__device float svm_distorted_noise(float3 p, float size, NodeNoiseBasis basis, NodeNoiseBasis distortion_basis, float distortion) +__device_noinline float svm_distorted_noise(float3 p, float size, NodeNoiseBasis basis, NodeNoiseBasis distortion_basis, float distortion) { float3 r; float3 offset = make_float3(13.5f, 13.5f, 13.5f); diff --git a/intern/cycles/kernel/svm/svm_magic.h b/intern/cycles/kernel/svm/svm_magic.h index 608ca4bbd2f..af847869f6e 100644 --- a/intern/cycles/kernel/svm/svm_magic.h +++ b/intern/cycles/kernel/svm/svm_magic.h @@ -20,7 +20,7 @@ CCL_NAMESPACE_BEGIN /* Magic */ -__device float3 svm_magic(float3 p, int n, float turbulence) +__device_noinline float3 svm_magic(float3 p, int n, float turbulence) { float turb = turbulence/5.0f; diff --git a/intern/cycles/kernel/svm/svm_marble.h b/intern/cycles/kernel/svm/svm_marble.h index 4284688afb8..aa22565e956 100644 --- a/intern/cycles/kernel/svm/svm_marble.h +++ b/intern/cycles/kernel/svm/svm_marble.h @@ -20,7 +20,7 @@ CCL_NAMESPACE_BEGIN /* Marble */ -__device float svm_marble(float3 p, float size, NodeMarbleType type, NodeWaveType wave, NodeNoiseBasis basis, int hard, float turb, int depth) +__device_noinline float svm_marble(float3 p, float size, NodeMarbleType type, NodeWaveType wave, NodeNoiseBasis basis, int hard, float turb, int depth) { float x = p.x; float y = p.y; diff --git a/intern/cycles/kernel/svm/svm_musgrave.h b/intern/cycles/kernel/svm/svm_musgrave.h index 5163b9f2ced..be327f7f262 100644 --- a/intern/cycles/kernel/svm/svm_musgrave.h +++ b/intern/cycles/kernel/svm/svm_musgrave.h @@ -27,7 +27,7 @@ CCL_NAMESPACE_BEGIN * from "Texturing and Modelling: A procedural approach" */ -__device float noise_musgrave_fBm(float3 p, NodeNoiseBasis basis, float H, float lacunarity, float octaves) +__device_noinline float noise_musgrave_fBm(float3 p, NodeNoiseBasis basis, float H, float lacunarity, float octaves) { float rmd; float value = 0.0f; @@ -55,7 +55,7 @@ __device float noise_musgrave_fBm(float3 p, NodeNoiseBasis basis, float H, float * octaves: number of frequencies in the fBm */ -__device float noise_musgrave_multi_fractal(float3 p, NodeNoiseBasis basis, float H, float lacunarity, float octaves) +__device_noinline float noise_musgrave_multi_fractal(float3 p, NodeNoiseBasis basis, float H, float lacunarity, float octaves) { float rmd; float value = 1.0f; @@ -84,7 +84,7 @@ __device float noise_musgrave_multi_fractal(float3 p, NodeNoiseBasis basis, floa * offset: raises the terrain from `sea level' */ -__device float noise_musgrave_hetero_terrain(float3 p, NodeNoiseBasis basis, float H, float lacunarity, float octaves, float offset) +__device_noinline float noise_musgrave_hetero_terrain(float3 p, NodeNoiseBasis basis, float H, float lacunarity, float octaves, float offset) { float value, increment, rmd; float pwHL = pow(lacunarity, -H); @@ -119,7 +119,7 @@ __device float noise_musgrave_hetero_terrain(float3 p, NodeNoiseBasis basis, flo * offset: raises the terrain from `sea level' */ -__device float noise_musgrave_hybrid_multi_fractal(float3 p, NodeNoiseBasis basis, float H, float lacunarity, float octaves, float offset, float gain) +__device_noinline float noise_musgrave_hybrid_multi_fractal(float3 p, NodeNoiseBasis basis, float H, float lacunarity, float octaves, float offset, float gain) { float result, signal, weight, rmd; float pwHL = pow(lacunarity, -H); @@ -156,7 +156,7 @@ __device float noise_musgrave_hybrid_multi_fractal(float3 p, NodeNoiseBasis basi * offset: raises the terrain from `sea level' */ -__device float noise_musgrave_ridged_multi_fractal(float3 p, NodeNoiseBasis basis, float H, float lacunarity, float octaves, float offset, float gain) +__device_noinline float noise_musgrave_ridged_multi_fractal(float3 p, NodeNoiseBasis basis, float H, float lacunarity, float octaves, float offset, float gain) { float result, signal, weight; float pwHL = pow(lacunarity, -H); diff --git a/intern/cycles/kernel/svm/svm_noise.h b/intern/cycles/kernel/svm/svm_noise.h index f41caa99772..72ff353abb4 100644 --- a/intern/cycles/kernel/svm/svm_noise.h +++ b/intern/cycles/kernel/svm/svm_noise.h @@ -112,7 +112,7 @@ __device float scale3(float result) return 0.9820f * result; } -__device float perlin(float x, float y, float z) +__device_noinline float perlin(float x, float y, float z) { int X; float fx = floorfrac(x, &X); int Y; float fy = floorfrac(y, &Y); @@ -135,7 +135,7 @@ __device float perlin(float x, float y, float z) return scale3(result); } -__device float perlin_periodic(float x, float y, float z, float3 pperiod) +__device_noinline float perlin_periodic(float x, float y, float z, float3 pperiod) { int X; float fx = floorfrac(x, &X); int Y; float fy = floorfrac(y, &Y); @@ -178,7 +178,7 @@ __device float snoise(float3 p) } /* cell noise */ -__device float cellnoise(float3 p) +__device_noinline float cellnoise(float3 p) { uint ix = quick_floor(p.x); uint iy = quick_floor(p.y); @@ -210,7 +210,7 @@ __device float psnoise(float3 p, float3 pperiod) } /* turbulence */ -__device float turbulence(float3 P, int oct, bool hard) +__device_noinline float turbulence(float3 P, int oct, bool hard) { float amp = 1.0f, fscale = 1.0f, sum = 0.0f; int i; diff --git a/intern/cycles/kernel/svm/svm_stucci.h b/intern/cycles/kernel/svm/svm_stucci.h index be8883b6388..89353ab4cd3 100644 --- a/intern/cycles/kernel/svm/svm_stucci.h +++ b/intern/cycles/kernel/svm/svm_stucci.h @@ -20,7 +20,7 @@ CCL_NAMESPACE_BEGIN /* Stucci */ -__device float svm_stucci(NodeStucciType type, NodeNoiseBasis basis, int hard, float turbulence, float size, float3 p) +__device_noinline float svm_stucci(NodeStucciType type, NodeNoiseBasis basis, int hard, float turbulence, float size, float3 p) { p /= size; diff --git a/intern/cycles/kernel/svm/svm_voronoi.h b/intern/cycles/kernel/svm/svm_voronoi.h index df37b8faca8..36965959cc2 100644 --- a/intern/cycles/kernel/svm/svm_voronoi.h +++ b/intern/cycles/kernel/svm/svm_voronoi.h @@ -20,9 +20,9 @@ CCL_NAMESPACE_BEGIN /* Voronoi */ -__device float svm_voronoi(NodeDistanceMetric distance_metric, NodeVoronoiColoring coloring, +__device_noinline float4 svm_voronoi(NodeDistanceMetric distance_metric, NodeVoronoiColoring coloring, float weight1, float weight2, float weight3, float weight4, - float exponent, float intensity, float size, float3 p, float3 *color) + float exponent, float intensity, float size, float3 p) { float aw1 = fabsf(weight1); float aw2 = fabsf(weight2); @@ -41,31 +41,32 @@ __device float svm_voronoi(NodeDistanceMetric distance_metric, NodeVoronoiColori /* Scalar output */ float fac = sc * fabsf(weight1*da[0] + weight2*da[1] + weight3*da[2] + weight4*da[3]); + float3 color; /* colored output */ if(coloring == NODE_VORONOI_INTENSITY) { - *color = make_float3(fac, fac, fac); + color = make_float3(fac, fac, fac); } else { - *color = aw1*cellnoise_color(pa[0]); - *color += aw2*cellnoise_color(pa[1]); - *color += aw3*cellnoise_color(pa[2]); - *color += aw4*cellnoise_color(pa[3]); + color = aw1*cellnoise_color(pa[0]); + color += aw2*cellnoise_color(pa[1]); + color += aw3*cellnoise_color(pa[2]); + color += aw4*cellnoise_color(pa[3]); if(coloring != NODE_VORONOI_POSITION) { float t1 = min((da[1] - da[0])*10.0f, 1.0f); if(coloring == NODE_VORONOI_POSITION_OUTLINE_INTENSITY) - *color *= t1*fac; + color *= t1*fac; else if(coloring == NODE_VORONOI_POSITION_OUTLINE) - *color *= t1*sc; + color *= t1*sc; } else { - *color *= sc; + color *= sc; } } - return fac; + return make_float4(color.x, color.y, color.z, fac); } __device void svm_node_tex_voronoi(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, int *offset) @@ -92,10 +93,11 @@ __device void svm_node_tex_voronoi(KernelGlobals *kg, ShaderData *sd, float *sta exponent = fmaxf(exponent, 1e-5f); size = nonzerof(size, 1e-5f); - float3 color; - float f = svm_voronoi((NodeDistanceMetric)distance_metric, + float4 result = svm_voronoi((NodeDistanceMetric)distance_metric, (NodeVoronoiColoring)coloring, - weight1, weight2, weight3, weight4, exponent, 1.0f, size, co, &color); + weight1, weight2, weight3, weight4, exponent, 1.0f, size, co); + float3 color = make_float3(result.x, result.y, result.z); + float f = result.w; if(stack_valid(fac_offset)) stack_store_float(stack, fac_offset, f); if(stack_valid(color_offset)) stack_store_float3(stack, color_offset, color); diff --git a/intern/cycles/kernel/svm/svm_wood.h b/intern/cycles/kernel/svm/svm_wood.h index 5c94a9fa3a2..0f22e633766 100644 --- a/intern/cycles/kernel/svm/svm_wood.h +++ b/intern/cycles/kernel/svm/svm_wood.h @@ -20,7 +20,7 @@ CCL_NAMESPACE_BEGIN /* Wood */ -__device float svm_wood(float3 p, float size, NodeWoodType type, NodeWaveType wave, NodeNoiseBasis basis, uint hard, float turb) +__device_noinline float svm_wood(float3 p, float size, NodeWoodType type, NodeWaveType wave, NodeNoiseBasis basis, uint hard, float turb) { float x = p.x; float y = p.y; From 1e741b3a52cc44b7a3ee173f180fd3d99c958efc Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 29 Aug 2011 17:55:14 +0000 Subject: [PATCH 106/241] Cycles: integrator presets, patch by Thomas. --- intern/cycles/blender/CMakeLists.txt | 1 + intern/cycles/blender/addon/__init__.py | 3 ++ intern/cycles/blender/addon/presets.py | 48 +++++++++++++++++++ intern/cycles/blender/addon/ui.py | 14 +++++- .../presets/cycles/integrator/direct_light.py | 6 +++ 5 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 intern/cycles/blender/addon/presets.py create mode 100644 release/scripts/presets/cycles/integrator/direct_light.py diff --git a/intern/cycles/blender/CMakeLists.txt b/intern/cycles/blender/CMakeLists.txt index a035d8fde6b..a4f290f4abd 100644 --- a/intern/cycles/blender/CMakeLists.txt +++ b/intern/cycles/blender/CMakeLists.txt @@ -16,6 +16,7 @@ set(addonfiles addon/__init__.py addon/engine.py addon/enums.py + addon/presets.py addon/properties.py addon/ui.py addon/xml.py) diff --git a/intern/cycles/blender/addon/__init__.py b/intern/cycles/blender/addon/__init__.py index 418f3d4cd27..3ff1a8f3d41 100644 --- a/intern/cycles/blender/addon/__init__.py +++ b/intern/cycles/blender/addon/__init__.py @@ -35,6 +35,7 @@ from cycles import ui from cycles import properties from cycles import xml from cycles import engine +from cycles import presets class CyclesRender(bpy.types.RenderEngine): bl_idname = 'CYCLES' @@ -76,11 +77,13 @@ def register(): properties.register() ui.register() xml.register() + presets.register() bpy.utils.register_module(__name__) def unregister(): xml.unregister() ui.unregister() properties.unregister() + presets.unregister() bpy.utils.unregister_module(__name__) diff --git a/intern/cycles/blender/addon/presets.py b/intern/cycles/blender/addon/presets.py new file mode 100644 index 00000000000..983d6dd471c --- /dev/null +++ b/intern/cycles/blender/addon/presets.py @@ -0,0 +1,48 @@ +# +# Copyright 2011, Blender Foundation. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# + +from bl_operators.presets import AddPresetBase +from bpy.types import Operator + +class AddPresetIntegrator(AddPresetBase, Operator): + '''Add an Integrator Preset''' + bl_idname = "render.cycles_integrator_preset_add" + bl_label = "Add Integrator Preset" + preset_menu = "CYCLES_MT_integrator_presets" + + preset_defines = [ + "cycles = bpy.context.scene.cycles" + ] + + preset_values = [ + "cycles.max_bounces", + "cycles.min_bounces", + "cycles.no_caustics", + ] + + preset_subdir = "cycles/integrator" + +def register(): + pass + +def unregister(): + pass + +if __name__ == "__main__": + register() + diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index ec753590cce..dc102b97db8 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -18,11 +18,18 @@ import bpy -from bpy.types import Panel +from bpy.types import Panel, Menu from cycles import enums from cycles import engine +class CYCLES_MT_integrator_presets(Menu): + bl_label = "Integrator Presets" + preset_subdir = "cycles/integrator" + preset_operator = "script.execute_preset" + COMPAT_ENGINES = {'CYCLES'} + draw = Menu.draw_preset + class CyclesButtonsPanel(): bl_space_type = "PROPERTIES" bl_region_type = "WINDOW" @@ -41,6 +48,11 @@ class CyclesRender_PT_integrator(CyclesButtonsPanel, Panel): scene = context.scene cscene = scene.cycles + + row = layout.row(align=True) + row.menu("CYCLES_MT_integrator_presets", text=bpy.types.CYCLES_MT_integrator_presets.bl_label) + row.operator("render.cycles_integrator_preset_add", text="", icon="ZOOMIN") + row.operator("render.cycles_integrator_preset_add", text="", icon="ZOOMOUT").remove_active = True split = layout.split() diff --git a/release/scripts/presets/cycles/integrator/direct_light.py b/release/scripts/presets/cycles/integrator/direct_light.py new file mode 100644 index 00000000000..0b791547628 --- /dev/null +++ b/release/scripts/presets/cycles/integrator/direct_light.py @@ -0,0 +1,6 @@ +import bpy +cycles = bpy.context.scene.cycles + +cycles.max_bounces = 0 +cycles.min_bounces = 0 +cycles.no_caustics = False From df625253ac0dec5be70701e2694c1e0358343fbf Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 1 Sep 2011 15:53:36 +0000 Subject: [PATCH 107/241] Cycles: * Add max diffuse/glossy/transmission bounces * Add separate min/max for transparent depth * Updated/added some presets that use these options * Add ray visibility options for objects, to hide them from camera/diffuse/glossy/transmission/shadow rays * Is singular ray output for light path node Details here: http://wiki.blender.org/index.php/Dev:2.5/Source/Render/Cycles/LightPaths --- intern/cycles/app/cycles_xml.cpp | 4 +- intern/cycles/blender/addon/presets.py | 5 + intern/cycles/blender/addon/properties.py | 58 ++++-- intern/cycles/blender/addon/ui.py | 56 +++++- intern/cycles/blender/blender_object.cpp | 19 ++ intern/cycles/blender/blender_shader.cpp | 2 +- intern/cycles/blender/blender_sync.cpp | 14 +- intern/cycles/bvh/bvh.cpp | 43 +++-- intern/cycles/bvh/bvh.h | 6 +- intern/cycles/bvh/bvh_build.cpp | 9 +- intern/cycles/bvh/bvh_node.h | 5 +- intern/cycles/kernel/kernel.cpp | 4 + intern/cycles/kernel/kernel_bvh.h | 38 ++-- intern/cycles/kernel/kernel_path.h | 172 ++++++++++++------ intern/cycles/kernel/kernel_textures.h | 1 + intern/cycles/kernel/kernel_types.h | 23 ++- .../kernel/osl/nodes/node_light_path.osl | 2 + intern/cycles/kernel/osl/osl_shader.cpp | 4 +- intern/cycles/kernel/svm/bsdf_transparent.h | 2 +- intern/cycles/kernel/svm/svm_light_path.h | 1 + intern/cycles/kernel/svm/svm_noise.h | 17 -- intern/cycles/kernel/svm/svm_texture.h | 4 +- intern/cycles/kernel/svm/svm_types.h | 1 + intern/cycles/render/integrator.cpp | 49 ++++- intern/cycles/render/integrator.h | 15 +- intern/cycles/render/mesh.cpp | 6 + intern/cycles/render/nodes.cpp | 11 +- intern/cycles/render/object.cpp | 1 + intern/cycles/render/object.h | 1 + intern/cycles/render/scene.h | 1 + .../presets/cycles/integrator/direct_light.py | 11 +- .../integrator/full_global_illumination.py | 11 ++ .../integrator/limited_global_illumination.py | 11 ++ .../nodes/intern/SHD_nodes/SHD_bsdf_glass.c | 2 +- .../nodes/intern/SHD_nodes/SHD_light_path.c | 1 + 35 files changed, 457 insertions(+), 153 deletions(-) create mode 100644 release/scripts/presets/cycles/integrator/full_global_illumination.py create mode 100644 release/scripts/presets/cycles/integrator/limited_global_illumination.py diff --git a/intern/cycles/app/cycles_xml.cpp b/intern/cycles/app/cycles_xml.cpp index 0e80cd80ece..7c3fb0b3625 100644 --- a/intern/cycles/app/cycles_xml.cpp +++ b/intern/cycles/app/cycles_xml.cpp @@ -255,8 +255,8 @@ static void xml_read_integrator(const XMLReadState& state, pugi::xml_node node) { Integrator *integrator = state.scene->integrator; - xml_read_int(&integrator->minbounce, node, "min_bounce"); - xml_read_int(&integrator->maxbounce, node, "max_bounce"); + xml_read_int(&integrator->min_bounce, node, "min_bounce"); + xml_read_int(&integrator->max_bounce, node, "max_bounce"); xml_read_bool(&integrator->no_caustics, node, "no_caustics"); xml_read_float(&integrator->blur_caustics, node, "blur_caustics"); } diff --git a/intern/cycles/blender/addon/presets.py b/intern/cycles/blender/addon/presets.py index 983d6dd471c..e5243b633be 100644 --- a/intern/cycles/blender/addon/presets.py +++ b/intern/cycles/blender/addon/presets.py @@ -33,6 +33,11 @@ class AddPresetIntegrator(AddPresetBase, Operator): "cycles.max_bounces", "cycles.min_bounces", "cycles.no_caustics", + "cycles.diffuse_bounces", + "cycles.glossy_bounces", + "cycles.transmission_bounces", + "cycles.transparent_min_bounces", + "cycles.transparent_max_bounces" ] preset_subdir = "cycles/integrator" diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index b2d982fdabc..ca38520d28f 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -24,7 +24,7 @@ from cycles import enums class CyclesRenderSettings(bpy.types.PropertyGroup): @classmethod def register(cls): - bpy.types.Scene.cycles = PointerProperty(type=cls, name="Cycles Render Settings", description="Cycles Render Settings") + bpy.types.Scene.cycles = PointerProperty(type=cls, name="Cycles Render Settings", description="Cycles render settings") cls.device = EnumProperty(name="Device", description="Device to use for rendering", items=enums.devices, default="CPU") @@ -39,18 +39,31 @@ class CyclesRenderSettings(bpy.types.PropertyGroup): cls.preview_pause = BoolProperty(name="Pause Preview", description="Pause all viewport preview renders", default=False) - cls.min_bounces = IntProperty(name="Min Bounces", description="Minimum number of bounces", - default=3, min=0, max=1024) - cls.max_bounces = IntProperty(name="Max Bounces", description="Maximum number of bounces", - default=8, min=0, max=1024) cls.no_caustics = BoolProperty(name="No Caustics", description="Leave out caustics, resulting in a darker image with less noise", default=False) cls.blur_caustics = FloatProperty(name="Blur Caustics", description="Blur caustics to reduce noise", default=0.0, min=0.0, max=1.0) - cls.exposure = FloatProperty(name="Exposure", description="Image brightness scale", + cls.min_bounces = IntProperty(name="Min Bounces", description="Minimum number of bounces, setting this lower than the maximum enables probalistic path termination (faster but noisier)", + default=3, min=0, max=1024) + cls.max_bounces = IntProperty(name="Max Bounces", description="Total maximum number of bounces", + default=8, min=0, max=1024) + + cls.diffuse_bounces = IntProperty(name="Diffuse Bounces", description="Maximum number of diffuse reflection bounces, bounded by total maximum", + default=1024, min=0, max=1024) + cls.glossy_bounces = IntProperty(name="Glossy Bounces", description="Maximum number of glossy reflection bounces, bounded by total maximum", + default=1024, min=0, max=1024) + cls.transmission_bounces = IntProperty(name="Transmission Bounces", description="Maximum number of transmission bounces, bounded by total maximum", + default=1024, min=0, max=1024) + + cls.transparent_min_bounces = IntProperty(name="Transparent Min Bounces", description="Minimum number of transparent bounces, setting this lower than the maximum enables probalistic path termination (faster but noisier)", + default=8, min=0, max=1024) + cls.transparent_max_bounces = IntProperty(name="Transparent Max Bounces", description="Maximum number of transparent bounces", + default=8, min=0, max=1024) + + cls.film_exposure = FloatProperty(name="Exposure", description="Image brightness scale", default=1.0, min=0.0, max=10.0) - cls.transparent = BoolProperty(name="Transparent", description="World background is transparent", + cls.film_transparent = BoolProperty(name="Transparent", description="World background is transparent", default=False) cls.filter_type = EnumProperty(name="Filter Type", description="Pixel filter type", @@ -81,7 +94,7 @@ class CyclesRenderSettings(bpy.types.PropertyGroup): class CyclesCameraSettings(bpy.types.PropertyGroup): @classmethod def register(cls): - bpy.types.Camera.cycles = PointerProperty(type=cls, name="Cycles Camera Settings", description="Cycles Camera Settings") + bpy.types.Camera.cycles = PointerProperty(type=cls, name="Cycles Camera Settings", description="Cycles camera settings") cls.lens_radius = FloatProperty(name="Lens radius", description="Lens radius for depth of field", default=0.0, min=0.0, max=10.0) @@ -93,7 +106,7 @@ class CyclesCameraSettings(bpy.types.PropertyGroup): class CyclesMaterialSettings(bpy.types.PropertyGroup): @classmethod def register(cls): - bpy.types.Material.cycles = PointerProperty(type=cls, name="Cycles Material Settings", description="Cycles Material Settings") + bpy.types.Material.cycles = PointerProperty(type=cls, name="Cycles Material Settings", description="Cycles material settings") @classmethod def unregister(cls): @@ -102,18 +115,33 @@ class CyclesMaterialSettings(bpy.types.PropertyGroup): class CyclesWorldSettings(bpy.types.PropertyGroup): @classmethod def register(cls): - bpy.types.World.cycles = PointerProperty(type=cls, name="Cycles World Settings", description="Cycles World Settings") + bpy.types.World.cycles = PointerProperty(type=cls, name="Cycles World Settings", description="Cycles world settings") @classmethod def unregister(cls): del bpy.types.World.cycles +class CyclesVisibilitySettings(bpy.types.PropertyGroup): + @classmethod + def register(cls): + bpy.types.Object.cycles_visibility = PointerProperty(type=cls, name="Cycles Visibility Settings", description="Cycles visibility settings") + + cls.camera = BoolProperty(name="Camera", description="Object visibility for camera rays", default=True) + cls.diffuse = BoolProperty(name="Diffuse", description="Object visibility for diffuse reflection rays", default=True) + cls.glossy = BoolProperty(name="Glossy", description="Object visibility for glossy reflection rays", default=True) + cls.transmission = BoolProperty(name="Transmission", description="Object visibility for transmission rays", default=True) + cls.shadow = BoolProperty(name="Shadow", description="Object visibility for shadow rays", default=True) + + @classmethod + def unregister(cls): + del bpy.types.Object.cycles_visibility + class CyclesMeshSettings(bpy.types.PropertyGroup): @classmethod def register(cls): - bpy.types.Mesh.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles Mesh Settings") - bpy.types.Curve.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles Mesh Settings") - bpy.types.MetaBall.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles Mesh Settings") + bpy.types.Mesh.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles mesh settings") + bpy.types.Curve.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles mesh settings") + bpy.types.MetaBall.cycles = PointerProperty(type=cls, name="Cycles Mesh Settings", description="Cycles mesh settings") cls.displacement_method = EnumProperty(name="Displacement Method", description="Method to use for the displacement", items=enums.displacement_methods, default="BUMP") @@ -124,12 +152,15 @@ class CyclesMeshSettings(bpy.types.PropertyGroup): @classmethod def unregister(cls): del bpy.types.Mesh.cycles + del bpy.types.Curve.cycles + del bpy.types.MetaBall.cycles def register(): bpy.utils.register_class(CyclesRenderSettings) bpy.utils.register_class(CyclesCameraSettings) bpy.utils.register_class(CyclesMaterialSettings) bpy.utils.register_class(CyclesWorldSettings) + bpy.utils.register_class(CyclesVisibilitySettings) bpy.utils.register_class(CyclesMeshSettings) def unregister(): @@ -138,4 +169,5 @@ def unregister(): bpy.utils.unregister_class(CyclesMaterialSettings) bpy.utils.unregister_class(CyclesWorldSettings) bpy.utils.unregister_class(CyclesMeshSettings) + bpy.utils.unregister_class(CyclesVisibilitySettings) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index dc102b97db8..001aacea3eb 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -42,6 +42,7 @@ class CyclesButtonsPanel(): class CyclesRender_PT_integrator(CyclesButtonsPanel, Panel): bl_label = "Integrator" + bl_options = {'DEFAULT_CLOSED'} def draw(self, context): layout = self.layout @@ -58,14 +59,28 @@ class CyclesRender_PT_integrator(CyclesButtonsPanel, Panel): col = split.column() sub = col.column(align=True) - sub.prop(cscene, "passes", text="Render Passes") - sub.prop(cscene, "preview_passes") - col.prop(cscene, "no_caustics") + sub.label(text="Passes:") + sub.prop(cscene, "passes", text="Render") + sub.prop(cscene, "preview_passes", text="Preview") + + sub = col.column(align=True) + sub.label("Tranparency:") + sub.prop(cscene, "transparent_max_bounces", text="Max") + sub.prop(cscene, "transparent_min_bounces", text="Min") + sub.prop(cscene, "no_caustics") col = split.column() + sub = col.column(align=True) - sub.prop(cscene, "max_bounces") - sub.prop(cscene, "min_bounces") + sub.label(text="Bounces:") + sub.prop(cscene, "max_bounces", text="Max") + sub.prop(cscene, "min_bounces", text="Min") + + sub = col.column(align=True) + sub.label(text="Light Paths:") + sub.prop(cscene, "diffuse_bounces", text="Diffuse") + sub.prop(cscene, "glossy_bounces", text="Glossy") + sub.prop(cscene, "transmission_bounces", text="Transmission") #row = col.row() #row.prop(cscene, "blur_caustics") @@ -83,8 +98,8 @@ class CyclesRender_PT_film(CyclesButtonsPanel, Panel): split = layout.split() col = split.column(); - col.prop(cscene, "exposure") - col.prop(cscene, "transparent") + col.prop(cscene, "film_exposure") + col.prop(cscene, "film_transparent") col = split.column() sub = col.column(align=True) @@ -233,6 +248,33 @@ class Cycles_PT_mesh_displacement(CyclesButtonsPanel, Panel): layout.prop(cdata, "use_subdivision"); layout.prop(cdata, "dicing_rate"); +class CyclesObject_PT_ray_visibility(CyclesButtonsPanel, Panel): + bl_label = "Ray Visibility" + bl_context = "object" + bl_options = {'DEFAULT_CLOSED'} + + @classmethod + def poll(cls, context): + ob = context.object + return ob and ob.type in ('MESH', 'CURVE', 'CURVE', 'SURFACE', 'FONT', 'META') # todo: 'LAMP' + + def draw(self, context): + layout = self.layout + + ob = context.object + visibility = ob.cycles_visibility + + split = layout.split() + + col = split.column() + col.prop(visibility, "camera") + col.prop(visibility, "diffuse") + col.prop(visibility, "glossy") + + col = split.column() + col.prop(visibility, "transmission") + col.prop(visibility, "shadow") + def find_node(material, nodetype): if material and material.node_tree: ntree = material.node_tree diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp index 52081cc0b60..f1ba2dba2f5 100644 --- a/intern/cycles/blender/blender_object.cpp +++ b/intern/cycles/blender/blender_object.cpp @@ -63,6 +63,20 @@ bool BlenderSync::object_is_light(BL::Object b_ob) return (b_ob_data && b_ob_data.is_a(&RNA_Lamp)); } +static uint object_ray_visibility(BL::Object b_ob) +{ + PointerRNA cvisibility = RNA_pointer_get(&b_ob.ptr, "cycles_visibility"); + uint flag = 0; + + flag |= get_boolean(cvisibility, "camera")? PATH_RAY_CAMERA: 0; + flag |= get_boolean(cvisibility, "diffuse")? PATH_RAY_DIFFUSE: 0; + flag |= get_boolean(cvisibility, "glossy")? PATH_RAY_GLOSSY: 0; + flag |= get_boolean(cvisibility, "transmission")? PATH_RAY_TRANSMIT: 0; + flag |= get_boolean(cvisibility, "shadow")? PATH_RAY_SHADOW: 0; + + return flag; +} + /* Light */ void BlenderSync::sync_light(BL::Object b_parent, int b_index, BL::Object b_ob, Transform& tfm) @@ -115,6 +129,11 @@ void BlenderSync::sync_object(BL::Object b_parent, int b_index, BL::Object b_ob, if(object_map.sync(&object, b_ob, b_parent, key)) { object->name = b_ob.name(); object->tfm = tfm; + + object->visibility = object_ray_visibility(b_ob); + if(b_parent.ptr.data != b_ob.ptr.data) + object->visibility &= object_ray_visibility(b_parent); + object->tag_update(scene); object_updated = true; } diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index 9024de092b7..4e19ee82f77 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -599,7 +599,7 @@ void BlenderSync::sync_world() } PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles"); - background->transparent = get_boolean(cscene, "transparent"); + background->transparent = get_boolean(cscene, "film_transparent"); if(background->modified(prevbackground)) background->tag_update(scene); diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index c579253336f..40ec4838dad 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -131,8 +131,16 @@ void BlenderSync::sync_integrator() Integrator *integrator = scene->integrator; Integrator previntegrator = *integrator; - integrator->minbounce = get_int(cscene, "min_bounces"); - integrator->maxbounce = get_int(cscene, "max_bounces"); + integrator->min_bounce = get_int(cscene, "min_bounces"); + integrator->max_bounce = get_int(cscene, "max_bounces"); + + integrator->max_diffuse_bounce = get_int(cscene, "diffuse_bounces"); + integrator->max_glossy_bounce = get_int(cscene, "glossy_bounces"); + integrator->max_transmission_bounce = get_int(cscene, "transmission_bounces"); + + integrator->transparent_max_bounce = get_int(cscene, "transparent_max_bounces"); + integrator->transparent_min_bounce = get_int(cscene, "transparent_min_bounces"); + integrator->no_caustics = get_boolean(cscene, "no_caustics"); integrator->blur_caustics = get_float(cscene, "blur_caustics"); @@ -149,7 +157,7 @@ void BlenderSync::sync_film() Film *film = scene->film; Film prevfilm = *film; - film->exposure = get_float(cscene, "exposure"); + film->exposure = get_float(cscene, "film_exposure"); if(film->modified(prevfilm)) film->tag_update(scene); diff --git a/intern/cycles/bvh/bvh.cpp b/intern/cycles/bvh/bvh.cpp index 664bdd98b1f..9bd748157bf 100644 --- a/intern/cycles/bvh/bvh.cpp +++ b/intern/cycles/bvh/bvh.cpp @@ -84,6 +84,7 @@ bool BVH::cache_read(CacheData& key) value.read(pack.nodes); value.read(pack.object_node); value.read(pack.tri_woop); + value.read(pack.prim_visibility); value.read(pack.prim_index); value.read(pack.prim_object); value.read(pack.is_leaf); @@ -103,6 +104,7 @@ void BVH::cache_write(CacheData& key) value.add(pack.nodes); value.add(pack.object_node); value.add(pack.tri_woop); + value.add(pack.prim_visibility); value.add(pack.prim_index); value.add(pack.prim_object); value.add(pack.is_leaf); @@ -236,6 +238,8 @@ void BVH::pack_triangles() pack.tri_woop.clear(); pack.tri_woop.resize(tidx_size * nsize); + pack.prim_visibility.clear(); + pack.prim_visibility.resize(tidx_size); for(unsigned int i = 0; i < tidx_size; i++) { if(pack.prim_index[i] != -1) { @@ -243,6 +247,10 @@ void BVH::pack_triangles() pack_triangle(i, woop); memcpy(&pack.tri_woop[i * nsize], woop, sizeof(float4)*3); + + int tob = pack.prim_object[i]; + Object *ob = objects[tob]; + pack.prim_visibility[i] = ob->visibility; } } } @@ -292,12 +300,14 @@ void BVH::pack_instances(size_t nodes_size) pack.prim_index.resize(prim_index_size); pack.prim_object.resize(prim_index_size); + pack.prim_visibility.resize(prim_index_size); pack.tri_woop.resize(tri_woop_size); pack.nodes.resize(nodes_size); pack.object_node.resize(objects.size()); int *pack_prim_index = &pack.prim_index[0]; int *pack_prim_object = &pack.prim_object[0]; + uint *pack_prim_visibility = &pack.prim_visibility[0]; float4 *pack_tri_woop = &pack.tri_woop[0]; int4 *pack_nodes = &pack.nodes[0]; @@ -327,9 +337,11 @@ void BVH::pack_instances(size_t nodes_size) { size_t bvh_prim_index_size = bvh->pack.prim_index.size(); int *bvh_prim_index = &bvh->pack.prim_index[0]; + uint *bvh_prim_visibility = &bvh->pack.prim_visibility[0]; for(size_t i = 0; i < bvh_prim_index_size; i++) { pack_prim_index[pack_prim_index_offset] = bvh_prim_index[i] + mesh_tri_offset; + pack_prim_visibility[pack_prim_index_offset] = bvh_prim_visibility[i] + mesh_tri_offset; pack_prim_object[pack_prim_index_offset] = 0; // unused for instances pack_prim_index_offset++; } @@ -394,25 +406,25 @@ void RegularBVH::pack_leaf(const BVHStackEntry& e, const LeafNode *leaf) { if(leaf->num_triangles() == 1 && pack.prim_index[leaf->m_lo] == -1) /* object */ - pack_node(e.idx, leaf->m_bounds, leaf->m_bounds, ~(leaf->m_lo), 0); + pack_node(e.idx, leaf->m_bounds, leaf->m_bounds, ~(leaf->m_lo), 0, leaf->m_visibility, leaf->m_visibility); else /* triangle */ - pack_node(e.idx, leaf->m_bounds, leaf->m_bounds, leaf->m_lo, leaf->m_hi); + pack_node(e.idx, leaf->m_bounds, leaf->m_bounds, leaf->m_lo, leaf->m_hi, leaf->m_visibility, leaf->m_visibility); } void RegularBVH::pack_inner(const BVHStackEntry& e, const BVHStackEntry& e0, const BVHStackEntry& e1) { - pack_node(e.idx, e0.node->m_bounds, e1.node->m_bounds, e0.encodeIdx(), e1.encodeIdx()); + pack_node(e.idx, e0.node->m_bounds, e1.node->m_bounds, e0.encodeIdx(), e1.encodeIdx(), e0.node->m_visibility, e1.node->m_visibility); } -void RegularBVH::pack_node(int idx, const BoundBox& b0, const BoundBox& b1, int c0, int c1) +void RegularBVH::pack_node(int idx, const BoundBox& b0, const BoundBox& b1, int c0, int c1, uint visibility0, uint visibility1) { int4 data[BVH_NODE_SIZE] = { make_int4(__float_as_int(b0.min.x), __float_as_int(b0.max.x), __float_as_int(b0.min.y), __float_as_int(b0.max.y)), make_int4(__float_as_int(b1.min.x), __float_as_int(b1.max.x), __float_as_int(b1.min.y), __float_as_int(b1.max.y)), make_int4(__float_as_int(b0.min.z), __float_as_int(b0.max.z), __float_as_int(b1.min.z), __float_as_int(b1.max.z)), - make_int4(c0, c1, 0, 0) + make_int4(c0, c1, visibility0, visibility1) }; memcpy(&pack.nodes[idx * BVH_NODE_SIZE], data, sizeof(int4)*BVH_NODE_SIZE); @@ -467,10 +479,11 @@ void RegularBVH::refit_nodes() assert(!params.top_level); BoundBox bbox; - refit_node(0, (pack.is_leaf[0])? true: false, bbox); + uint visibility = 0; + refit_node(0, (pack.is_leaf[0])? true: false, bbox, visibility); } -void RegularBVH::refit_node(int idx, bool leaf, BoundBox& bbox) +void RegularBVH::refit_node(int idx, bool leaf, BoundBox& bbox, uint& visibility) { int4 *data = &pack.nodes[idx*4]; @@ -499,21 +512,25 @@ void RegularBVH::refit_node(int idx, bool leaf, BoundBox& bbox) bbox.grow(vpos[vidx[1]]); bbox.grow(vpos[vidx[2]]); } + + visibility |= ob->visibility; } - pack_node(idx, bbox, bbox, c0, c1); + pack_node(idx, bbox, bbox, c0, c1, visibility, visibility); } else { /* refit inner node, set bbox from children */ BoundBox bbox0, bbox1; + uint visibility0 = 0, visibility1 = 0; - refit_node((c0 < 0)? -c0-1: c0, (c0 < 0), bbox0); - refit_node((c1 < 0)? -c1-1: c1, (c1 < 0), bbox1); + refit_node((c0 < 0)? -c0-1: c0, (c0 < 0), bbox0, visibility0); + refit_node((c1 < 0)? -c1-1: c1, (c1 < 0), bbox1, visibility1); + + pack_node(idx, bbox0, bbox1, c0, c1, visibility0, visibility1); bbox.grow(bbox0); bbox.grow(bbox1); - - pack_node(idx, bbox0, bbox1, c0, c1); + visibility = visibility0|visibility1; } } @@ -523,6 +540,8 @@ QBVH::QBVH(const BVHParams& params_, const vector& objects_) : BVH(params_, objects_) { params.use_qbvh = true; + + /* todo: use visibility */ } void QBVH::pack_leaf(const BVHStackEntry& e, const LeafNode *leaf) diff --git a/intern/cycles/bvh/bvh.h b/intern/cycles/bvh/bvh.h index 79e46d6a13c..e502af72335 100644 --- a/intern/cycles/bvh/bvh.h +++ b/intern/cycles/bvh/bvh.h @@ -51,6 +51,8 @@ struct PackedBVH { array object_node; /* precomputed triangle intersection data, one triangle is 4x float4 */ array tri_woop; + /* visibility visibilitys for primitives */ + array prim_visibility; /* mapping from BVH primitive index to true primitive index, as primitives may be duplicated due to spatial splits. -1 for instances. */ array prim_index; @@ -121,11 +123,11 @@ protected: void pack_nodes(const array& prims, const BVHNode *root); void pack_leaf(const BVHStackEntry& e, const LeafNode *leaf); void pack_inner(const BVHStackEntry& e, const BVHStackEntry& e0, const BVHStackEntry& e1); - void pack_node(int idx, const BoundBox& b0, const BoundBox& b1, int c0, int c1); + void pack_node(int idx, const BoundBox& b0, const BoundBox& b1, int c0, int c1, uint visibility0, uint visibility1); /* refit */ void refit_nodes(); - void refit_node(int idx, bool leaf, BoundBox& bbox); + void refit_node(int idx, bool leaf, BoundBox& bbox, uint& visibility); }; /* QBVH diff --git a/intern/cycles/bvh/bvh_build.cpp b/intern/cycles/bvh/bvh_build.cpp index 3e47cb75014..d3e84e11d53 100644 --- a/intern/cycles/bvh/bvh_build.cpp +++ b/intern/cycles/bvh/bvh_build.cpp @@ -218,12 +218,13 @@ BVHNode *BVHBuild::create_object_leaf_nodes(const Reference *ref, int num) { if(num == 0) { BoundBox bounds; - return new LeafNode(bounds, 0, 0); + return new LeafNode(bounds, 0, 0, 0); } else if(num == 1) { prim_index.push_back(ref[0].prim_index); prim_object.push_back(ref[0].prim_object); - return new LeafNode(ref[0].bounds, prim_index.size()-1, prim_index.size()); + uint visibility = objects[ref[0].prim_object]->visibility; + return new LeafNode(ref[0].bounds, visibility, prim_index.size()-1, prim_index.size()); } else { int mid = num/2; @@ -244,12 +245,14 @@ BVHNode* BVHBuild::create_leaf_node(const NodeSpec& spec) vector& p_object = prim_object; BoundBox bounds; int num = 0; + uint visibility = 0; for(int i = 0; i < spec.num; i++) { if(references.back().prim_index != -1) { p_index.push_back(references.back().prim_index); p_object.push_back(references.back().prim_object); bounds.grow(references.back().bounds); + visibility |= objects[references.back().prim_object]->visibility; references.pop_back(); num++; } @@ -258,7 +261,7 @@ BVHNode* BVHBuild::create_leaf_node(const NodeSpec& spec) BVHNode *leaf = NULL; if(num > 0) { - leaf = new LeafNode(bounds, p_index.size() - num, p_index.size()); + leaf = new LeafNode(bounds, visibility, p_index.size() - num, p_index.size()); if(num == spec.num) return leaf; diff --git a/intern/cycles/bvh/bvh_node.h b/intern/cycles/bvh/bvh_node.h index f8f0ffecd95..5e0a17a1193 100644 --- a/intern/cycles/bvh/bvh_node.h +++ b/intern/cycles/bvh/bvh_node.h @@ -52,6 +52,7 @@ public: float getArea() const { return m_bounds.area(); } BoundBox m_bounds; + uint m_visibility; // Subtree functions int getSubtreeSize(BVH_STAT stat=BVH_STAT_NODE_COUNT) const; @@ -65,6 +66,7 @@ public: InnerNode(const BoundBox& bounds, BVHNode* child0, BVHNode* child1) { m_bounds = bounds; + m_visibility = child0->m_visibility|child1->m_visibility; children[0] = child0; children[1] = child1; } @@ -80,9 +82,10 @@ public: class LeafNode : public BVHNode { public: - LeafNode(const BoundBox& bounds, int lo, int hi) + LeafNode(const BoundBox& bounds, uint visibility, int lo, int hi) { m_bounds = bounds; + m_visibility = visibility; m_lo = lo; m_hi = hi; } diff --git a/intern/cycles/kernel/kernel.cpp b/intern/cycles/kernel/kernel.cpp index d9ba237d964..01682d11f33 100644 --- a/intern/cycles/kernel/kernel.cpp +++ b/intern/cycles/kernel/kernel.cpp @@ -89,6 +89,10 @@ void kernel_tex_copy(KernelGlobals *kg, const char *name, device_ptr mem, size_t kg->__tri_woop.data = (float4*)mem; kg->__tri_woop.width = width; } + else if(strcmp(name, "__prim_visibility") == 0) { + kg->__prim_visibility.data = (uint*)mem; + kg->__prim_visibility.width = width; + } else if(strcmp(name, "__prim_index") == 0) { kg->__prim_index.data = (uint*)mem; kg->__prim_index.width = width; diff --git a/intern/cycles/kernel/kernel_bvh.h b/intern/cycles/kernel/kernel_bvh.h index 4dea540e31c..df7663b5555 100644 --- a/intern/cycles/kernel/kernel_bvh.h +++ b/intern/cycles/kernel/kernel_bvh.h @@ -78,7 +78,7 @@ __device_inline void bvh_instance_pop(KernelGlobals *kg, int object, const Ray * __device_inline void bvh_node_intersect(KernelGlobals *kg, bool *traverseChild0, bool *traverseChild1, bool *closestChild1, int *nodeAddr0, int *nodeAddr1, - float3 P, float3 idir, float t, int nodeAddr) + float3 P, float3 idir, float t, uint visibility, int nodeAddr) { /* fetch node data */ float4 n0xy = kernel_tex_fetch(__bvh_nodes, nodeAddr*BVH_NODE_SIZE+0); @@ -111,8 +111,14 @@ __device_inline void bvh_node_intersect(KernelGlobals *kg, float c1max = min4(max(c1lox, c1hix), max(c1loy, c1hiy), max(c1loz, c1hiz), t); /* decide which nodes to traverse next */ +#ifdef __VISIBILITY_FLAG__ + /* this visibility test gives a 5% performance hit, how to solve? */ + *traverseChild0 = (c0max >= c0min) && (__float_as_int(cnodes.z) & visibility); + *traverseChild1 = (c1max >= c1min) && (__float_as_int(cnodes.w) & visibility); +#else *traverseChild0 = (c0max >= c0min); *traverseChild1 = (c1max >= c1min); +#endif *nodeAddr0 = __float_as_int(cnodes.x); *nodeAddr1 = __float_as_int(cnodes.y); @@ -121,7 +127,8 @@ __device_inline void bvh_node_intersect(KernelGlobals *kg, } /* Sven Woop's algorithm */ -__device_inline void bvh_triangle_intersect(KernelGlobals *kg, Intersection *isect, float3 P, float3 idir, int object, int triAddr) +__device_inline void bvh_triangle_intersect(KernelGlobals *kg, Intersection *isect, + float3 P, float3 idir, uint visibility, int object, int triAddr) { /* compute and check intersection t-value */ float4 v00 = kernel_tex_fetch(__tri_woop, triAddr*TRI_NODE_SIZE+0); @@ -146,18 +153,25 @@ __device_inline void bvh_triangle_intersect(KernelGlobals *kg, Intersection *ise float v = Oy + t*Dy; if(v >= 0.0f && u + v <= 1.0f) { - /* record intersection */ - isect->prim = triAddr; - isect->object = object; - isect->u = u; - isect->v = v; - isect->t = t; +#ifdef __VISIBILITY_FLAG__ + /* visibility flag test. we do it here under the assumption + that most triangles are culled by node flags */ + if(kernel_tex_fetch(__prim_visibility, triAddr) & visibility) +#endif + { + /* record intersection */ + isect->prim = triAddr; + isect->object = object; + isect->u = u; + isect->v = v; + isect->t = t; + } } } } } -__device_inline bool scene_intersect(KernelGlobals *kg, const Ray *ray, const bool isshadowray, Intersection *isect) +__device_inline bool scene_intersect(KernelGlobals *kg, const Ray *ray, const uint visibility, Intersection *isect) { /* traversal stack in CUDA thread-local memory */ int traversalStack[BVH_STACK_SIZE]; @@ -191,7 +205,7 @@ __device_inline bool scene_intersect(KernelGlobals *kg, const Ray *ray, const bo bvh_node_intersect(kg, &traverseChild0, &traverseChild1, &closestChild1, &nodeAddr, &nodeAddrChild1, - P, idir, isect->t, nodeAddr); + P, idir, isect->t, visibility, nodeAddr); if(traverseChild0 != traverseChild1) { /* one child was intersected */ @@ -236,10 +250,10 @@ __device_inline bool scene_intersect(KernelGlobals *kg, const Ray *ray, const bo /* triangle intersection */ while(primAddr < primAddr2) { /* intersect ray against triangle */ - bvh_triangle_intersect(kg, isect, P, idir, object, primAddr); + bvh_triangle_intersect(kg, isect, P, idir, visibility, object, primAddr); /* shadow ray early termination */ - if(isshadowray && isect->prim != ~0) + if(visibility == PATH_RAY_SHADOW && isect->prim != ~0) return true; primAddr++; diff --git a/intern/cycles/kernel/kernel_path.h b/intern/cycles/kernel/kernel_path.h index d4ed4651751..7f7aaad3270 100644 --- a/intern/cycles/kernel/kernel_path.h +++ b/intern/cycles/kernel/kernel_path.h @@ -58,51 +58,108 @@ __device float3 path_terminate_modified_throughput(KernelGlobals *kg, __global f } #endif -__device float path_terminate_probability(KernelGlobals *kg, int bounce, const float3 throughput) -{ - if(bounce >= kernel_data.integrator.maxbounce) - return 0.0f; - else if(bounce <= kernel_data.integrator.minbounce) - return 1.0f; +typedef struct PathState { + uint flag; + int bounce; - return average(throughput); + int diffuse_bounce; + int glossy_bounce; + int transmission_bounce; + int transparent_bounce; +} PathState; + +__device_inline void path_state_init(PathState *state) +{ + state->flag = PATH_RAY_CAMERA|PATH_RAY_SINGULAR; + state->bounce = 0; + state->diffuse_bounce = 0; + state->glossy_bounce = 0; + state->transmission_bounce = 0; + state->transparent_bounce = 0; } -__device int path_flag_from_label(int path_flag, int label) +__device_inline void path_state_next(PathState *state, int label) { - /* reflect/transmit */ + /* ray through transparent keeps same flags from previous ray and is + not counted as a regular bounce, transparent has separate max */ + if(label & LABEL_TRANSPARENT) { + state->flag |= PATH_RAY_TRANSPARENT; + state->transparent_bounce++; + + return; + } + + state->bounce++; + + /* reflection/transmission */ if(label & LABEL_REFLECT) { - path_flag |= PATH_RAY_REFLECT; - path_flag &= ~PATH_RAY_TRANSMIT; + state->flag |= PATH_RAY_REFLECT; + state->flag &= ~(PATH_RAY_TRANSMIT|PATH_RAY_CAMERA|PATH_RAY_TRANSPARENT); + + if(label & LABEL_DIFFUSE) + state->diffuse_bounce++; + else + state->glossy_bounce++; } else { kernel_assert(label & LABEL_TRANSMIT); - path_flag |= PATH_RAY_TRANSMIT; - path_flag &= ~PATH_RAY_REFLECT; + state->flag |= PATH_RAY_TRANSMIT; + state->flag &= ~(PATH_RAY_REFLECT|PATH_RAY_CAMERA|PATH_RAY_TRANSPARENT); + + state->transmission_bounce++; } /* diffuse/glossy/singular */ if(label & LABEL_DIFFUSE) { - path_flag |= PATH_RAY_DIFFUSE; - path_flag &= ~(PATH_RAY_GLOSSY|PATH_RAY_SINGULAR); + state->flag |= PATH_RAY_DIFFUSE; + state->flag &= ~(PATH_RAY_GLOSSY|PATH_RAY_SINGULAR); } else if(label & LABEL_GLOSSY) { - path_flag |= PATH_RAY_GLOSSY; - path_flag &= ~(PATH_RAY_DIFFUSE|PATH_RAY_SINGULAR); + state->flag |= PATH_RAY_GLOSSY; + state->flag &= ~(PATH_RAY_DIFFUSE|PATH_RAY_SINGULAR); } else { - kernel_assert(label & (LABEL_SINGULAR|LABEL_STRAIGHT)); + kernel_assert(label & LABEL_SINGULAR); - path_flag |= PATH_RAY_SINGULAR; - path_flag &= ~(PATH_RAY_DIFFUSE|PATH_RAY_GLOSSY); + state->flag |= PATH_RAY_GLOSSY|PATH_RAY_SINGULAR; + state->flag &= ~PATH_RAY_DIFFUSE; } - - /* ray through transparent is still camera ray */ - if(!(label & LABEL_STRAIGHT)) - path_flag &= ~PATH_RAY_CAMERA; - - return path_flag; +} + +__device_inline uint path_state_ray_visibility(PathState *state) +{ + uint flag = state->flag; + + /* for visibility, diffuse/glossy are for reflection only */ + if(flag & PATH_RAY_TRANSMIT) + flag &= ~(PATH_RAY_DIFFUSE|PATH_RAY_GLOSSY); + + return flag; +} + +__device_inline float path_state_terminate_probability(KernelGlobals *kg, PathState *state, const float3 throughput) +{ + if(state->flag & PATH_RAY_TRANSPARENT) { + /* transparent rays treated separately */ + if(state->transparent_bounce >= kernel_data.integrator.transparent_max_bounce) + return 0.0f; + else if(state->transparent_bounce <= kernel_data.integrator.transparent_min_bounce) + return 1.0f; + } + else { + /* other rays */ + if((state->bounce >= kernel_data.integrator.max_bounce) || + (state->diffuse_bounce >= kernel_data.integrator.max_diffuse_bounce) || + (state->glossy_bounce >= kernel_data.integrator.max_glossy_bounce) || + (state->transmission_bounce >= kernel_data.integrator.max_transmission_bounce)) + return 0.0f; + else if(state->bounce <= kernel_data.integrator.min_bounce) + return 1.0f; + } + + /* probalistic termination */ + return average(throughput); } __device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray ray, float3 throughput) @@ -114,24 +171,27 @@ __device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray #ifdef __EMISSION__ float ray_pdf = 0.0f; #endif - int path_flag = PATH_RAY_CAMERA|PATH_RAY_SINGULAR; + PathState state; int rng_offset = PRNG_BASE_NUM; + path_state_init(&state); + /* path iteration */ - for(int bounce = 0; ; bounce++, rng_offset += PRNG_BOUNCE_NUM) { + for(;; rng_offset += PRNG_BOUNCE_NUM) { /* intersect scene */ Intersection isect; + uint visibility = path_state_ray_visibility(&state); - if(!scene_intersect(kg, &ray, false, &isect)) { + if(!scene_intersect(kg, &ray, visibility, &isect)) { /* eval background shader if nothing hit */ - if(kernel_data.background.transparent && (path_flag & PATH_RAY_CAMERA)) { + if(kernel_data.background.transparent && (state.flag & PATH_RAY_CAMERA)) { Ltransparent += average(throughput); } else { #ifdef __BACKGROUND__ ShaderData sd; shader_setup_from_background(kg, &sd, &ray); - L += throughput*shader_eval_background(kg, &sd, path_flag); + L += throughput*shader_eval_background(kg, &sd, state.flag); shader_release(kg, &sd); #else L += make_float3(0.8f, 0.8f, 0.8f); @@ -145,10 +205,10 @@ __device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray ShaderData sd; shader_setup_from_ray(kg, &sd, &isect, &ray); float rbsdf = path_rng(kg, rng, pass, rng_offset + PRNG_BSDF); - shader_eval_surface(kg, &sd, rbsdf, path_flag); + shader_eval_surface(kg, &sd, rbsdf, state.flag); #ifdef __HOLDOUT__ - if((sd.flag & SD_HOLDOUT) && (path_flag & PATH_RAY_CAMERA)) { + if((sd.flag & SD_HOLDOUT) && (state.flag & PATH_RAY_CAMERA)) { float3 holdout_weight = shader_holdout_eval(kg, &sd); if(kernel_data.background.transparent) @@ -160,11 +220,25 @@ __device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray /* emission */ if(kernel_data.integrator.use_emission) { if(sd.flag & SD_EMISSION) - L += throughput*indirect_emission(kg, &sd, isect.t, path_flag, ray_pdf); + L += throughput*indirect_emission(kg, &sd, isect.t, state.flag, ray_pdf); + } +#endif + /* path termination. this is a strange place to put the termination, it's + mainly due to the mixed in MIS that we use. gives too many unneeded + shader evaluations, only need emission if we are going to terminate */ + float probability = path_state_terminate_probability(kg, &state, throughput); + float terminate = path_rng(kg, rng, pass, rng_offset + PRNG_TERMINATE); + + if(terminate >= probability) + break; + + throughput /= probability; + +#ifdef __EMISSION__ + if(kernel_data.integrator.use_emission) { /* sample illumination from lights to find path contribution */ - if((sd.flag & SD_BSDF_HAS_EVAL) && - bounce != kernel_data.integrator.maxbounce) { + if(sd.flag & SD_BSDF_HAS_EVAL) { float light_t = path_rng(kg, rng, pass, rng_offset + PRNG_LIGHT); float light_o = path_rng(kg, rng, pass, rng_offset + PRNG_LIGHT_F); float light_u = path_rng(kg, rng, pass, rng_offset + PRNG_LIGHT_U); @@ -173,9 +247,11 @@ __device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray Ray light_ray; float3 light_L; + /* todo: use visbility flag to skip lights */ + if(direct_emission(kg, &sd, light_t, light_o, light_u, light_v, &light_ray, &light_L)) { /* trace shadow ray */ - if(!scene_intersect(kg, &light_ray, true, &isect)) + if(!scene_intersect(kg, &light_ray, PATH_RAY_SHADOW, &isect)) L += throughput*light_L; } } @@ -183,10 +259,8 @@ __device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray #endif /* no BSDF? we can stop here */ - if(!(sd.flag & SD_BSDF)) { - path_flag &= ~PATH_RAY_CAMERA; + if(!(sd.flag & SD_BSDF)) break; - } /* sample BSDF */ float bsdf_pdf; @@ -202,10 +276,8 @@ __device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray shader_release(kg, &sd); - if(bsdf_pdf == 0.0f || is_zero(bsdf_eval)) { - path_flag &= ~PATH_RAY_CAMERA; + if(bsdf_pdf == 0.0f || is_zero(bsdf_eval)) break; - } /* modify throughput */ throughput *= bsdf_eval/bsdf_pdf; @@ -215,18 +287,8 @@ __device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray ray_pdf = bsdf_pdf; #endif - path_flag = path_flag_from_label(path_flag, label); - - /* path termination */ - float probability = path_terminate_probability(kg, bounce, throughput); - float terminate = path_rng(kg, rng, pass, rng_offset + PRNG_TERMINATE); - - if(terminate >= probability) { - path_flag &= ~PATH_RAY_CAMERA; - break; - } - - throughput /= probability; + /* update path state */ + path_state_next(&state, label); /* setup ray */ ray.P = ray_offset(sd.P, (label & LABEL_TRANSMIT)? -sd.Ng: sd.Ng); diff --git a/intern/cycles/kernel/kernel_textures.h b/intern/cycles/kernel/kernel_textures.h index dd4566ec184..19635b2664c 100644 --- a/intern/cycles/kernel/kernel_textures.h +++ b/intern/cycles/kernel/kernel_textures.h @@ -11,6 +11,7 @@ /* bvh */ KERNEL_TEX(float4, texture_float4, __bvh_nodes) KERNEL_TEX(float4, texture_float4, __tri_woop) +KERNEL_TEX(uint, texture_uint, __prim_visibility) KERNEL_TEX(uint, texture_uint, __prim_index) KERNEL_TEX(uint, texture_uint, __prim_object) KERNEL_TEX(uint, texture_uint, __object_node) diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index 06581d593e4..5881f090944 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -34,11 +34,14 @@ CCL_NAMESPACE_BEGIN #define __BACKGROUND__ #define __EMISSION__ #define __CAUSTICS_TRICKS__ +#define __VISIBILITY_FLAG__ + #ifndef __KERNEL_OPENCL__ #define __SVM__ #define __TEXTURES__ #define __HOLDOUT__ #endif + #define __RAY_DIFFERENTIALS__ #define __CAMERA_CLIPPING__ #define __INTERSECTION_REFINE__ @@ -76,7 +79,8 @@ enum PathRayFlag { PATH_RAY_TRANSMIT = 8, PATH_RAY_DIFFUSE = 16, PATH_RAY_GLOSSY = 32, - PATH_RAY_SINGULAR = 64 + PATH_RAY_SINGULAR = 64, + PATH_RAY_TRANSPARENT = 128 }; /* Bidirectional Path Tracing */ @@ -115,7 +119,7 @@ typedef enum ClosureLabel { LABEL_DIFFUSE = 128, LABEL_GLOSSY = 256, LABEL_SINGULAR = 512, - LABEL_STRAIGHT = 1024, + LABEL_TRANSPARENT = 1024, LABEL_STOP = 2048 } ClosureLabel; @@ -351,9 +355,18 @@ typedef struct KernelIntegrator { float pdf_triangles; float pdf_lights; - /* path tracing */ - int minbounce; - int maxbounce; + /* bounces */ + int min_bounce; + int max_bounce; + + int max_diffuse_bounce; + int max_glossy_bounce; + int max_transmission_bounce; + + /* transparent */ + int transparent_min_bounce; + int transparent_max_bounce; + int transparent_shadows; /* caustics */ int no_caustics; diff --git a/intern/cycles/kernel/osl/nodes/node_light_path.osl b/intern/cycles/kernel/osl/nodes/node_light_path.osl index 081640428ab..0ead20bf2bb 100644 --- a/intern/cycles/kernel/osl/nodes/node_light_path.osl +++ b/intern/cycles/kernel/osl/nodes/node_light_path.osl @@ -23,6 +23,7 @@ shader node_light_path( output float IsShadowRay = 0.0, output float IsDiffuseRay = 0.0, output float IsGlossyRay = 0.0, + output float IsSingularRay = 0.0, output float IsReflectionRay = 0.0, output float IsTransmissionRay = 0.0) { @@ -30,6 +31,7 @@ shader node_light_path( IsShadowRay = raytype("shadow"); IsDiffuseRay = raytype("diffuse"); IsGlossyRay = raytype("glossy"); + IsSingularRay = raytype("singular"); IsReflectionRay = raytype("reflection"); IsTransmissionRay = raytype("refraction"); } diff --git a/intern/cycles/kernel/osl/osl_shader.cpp b/intern/cycles/kernel/osl/osl_shader.cpp index 007d14b526b..73ff4f41423 100644 --- a/intern/cycles/kernel/osl/osl_shader.cpp +++ b/intern/cycles/kernel/osl/osl_shader.cpp @@ -89,7 +89,7 @@ static void shaderdata_to_shaderglobals(KernelGlobals *kg, ShaderData *sd, globals->surfacearea = (sd->object == ~0)? 1.0f: object_surface_area(kg, sd->object); /* booleans */ - globals->raytype = path_flag; + globals->raytype = path_flag; /* todo: add our own ray types */ globals->backfacing = (sd->flag & SD_BACKFACING); /* don't know yet if we need this */ @@ -437,7 +437,7 @@ int OSLShader::bsdf_sample(const ShaderData *sd, float randu, float randv, float else if(uscattering == OSL::Labels::SINGULAR) label |= LABEL_SINGULAR; else - label |= LABEL_STRAIGHT; + label |= LABEL_TRANSPARENT; /* eval + pdf */ eval *= flat->weight; diff --git a/intern/cycles/kernel/svm/bsdf_transparent.h b/intern/cycles/kernel/svm/bsdf_transparent.h index 30288bf251d..1674f04955e 100644 --- a/intern/cycles/kernel/svm/bsdf_transparent.h +++ b/intern/cycles/kernel/svm/bsdf_transparent.h @@ -70,7 +70,7 @@ __device int bsdf_transparent_sample(const ShaderData *sd, float randu, float ra #endif *pdf = 1; *eval = make_float3(1, 1, 1); - return LABEL_TRANSMIT|LABEL_STRAIGHT; + return LABEL_TRANSMIT|LABEL_TRANSPARENT; } CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/svm/svm_light_path.h b/intern/cycles/kernel/svm/svm_light_path.h index d6413d1569e..1b13fd93a0f 100644 --- a/intern/cycles/kernel/svm/svm_light_path.h +++ b/intern/cycles/kernel/svm/svm_light_path.h @@ -29,6 +29,7 @@ __device void svm_node_light_path(ShaderData *sd, float *stack, uint type, uint case NODE_LP_shadow: info = (path_flag & PATH_RAY_SHADOW)? 1.0f: 0.0f; break; case NODE_LP_diffuse: info = (path_flag & PATH_RAY_DIFFUSE)? 1.0f: 0.0f; break; case NODE_LP_glossy: info = (path_flag & PATH_RAY_GLOSSY)? 1.0f: 0.0f; break; + case NODE_LP_singular: info = (path_flag & PATH_RAY_SINGULAR)? 1.0f: 0.0f; break; case NODE_LP_reflection: info = (path_flag & PATH_RAY_REFLECT)? 1.0f: 0.0f; break; case NODE_LP_transmission: info = (path_flag & PATH_RAY_TRANSMIT)? 1.0f: 0.0f; break; case NODE_LP_backfacing: info = (sd->flag & SD_BACKFACING)? 1.0f: 0.0f; break; diff --git a/intern/cycles/kernel/svm/svm_noise.h b/intern/cycles/kernel/svm/svm_noise.h index 72ff353abb4..28ad028ad0e 100644 --- a/intern/cycles/kernel/svm/svm_noise.h +++ b/intern/cycles/kernel/svm/svm_noise.h @@ -209,22 +209,5 @@ __device float psnoise(float3 p, float3 pperiod) return perlin_periodic(p.x, p.y, p.z, pperiod); } -/* turbulence */ -__device_noinline float turbulence(float3 P, int oct, bool hard) -{ - float amp = 1.0f, fscale = 1.0f, sum = 0.0f; - int i; - - for(i=0; i<=oct; i++, amp *= 0.5f, fscale *= 2.0f) { - float t = noise(fscale*P); - if(hard) t = fabsf(2.0f*t - 1.0f); - sum += t * amp; - } - - sum *= ((float)(1<data.integrator; /* integrator parameters */ - kintegrator->minbounce = minbounce + 1; - kintegrator->maxbounce = maxbounce + 1; + kintegrator->max_bounce = max_bounce + 1; + if(probalistic_termination) + kintegrator->min_bounce = min_bounce + 1; + else + kintegrator->min_bounce = kintegrator->max_bounce; + + kintegrator->max_diffuse_bounce = max_diffuse_bounce + 1; + kintegrator->max_glossy_bounce = max_glossy_bounce + 1; + kintegrator->max_transmission_bounce = max_transmission_bounce + 1; + + kintegrator->transparent_max_bounce = transparent_max_bounce + 1; + if(transparent_probalistic) + kintegrator->transparent_min_bounce = transparent_min_bounce + 1; + else + kintegrator->transparent_min_bounce = kintegrator->transparent_max_bounce; + + kintegrator->transparent_shadows = transparent_shadows; + kintegrator->no_caustics = no_caustics; kintegrator->blur_caustics = blur_caustics; /* sobol directions table */ - int dimensions = PRNG_BASE_NUM + (maxbounce + 2)*PRNG_BOUNCE_NUM; + int dimensions = PRNG_BASE_NUM + (max_bounce + 2)*PRNG_BOUNCE_NUM; uint *directions = dscene->sobol_directions.resize(SOBOL_BITS*dimensions); sobol_generate_direction_vectors((uint(*)[SOBOL_BITS])directions, dimensions); @@ -71,8 +98,16 @@ void Integrator::device_free(Device *device, DeviceScene *dscene) bool Integrator::modified(const Integrator& integrator) { - return !(minbounce == integrator.minbounce && - maxbounce == integrator.maxbounce && + return !(min_bounce == integrator.min_bounce && + max_bounce == integrator.max_bounce && + max_diffuse_bounce == integrator.max_diffuse_bounce && + max_glossy_bounce == integrator.max_glossy_bounce && + max_transmission_bounce == integrator.max_transmission_bounce && + probalistic_termination == integrator.probalistic_termination && + transparent_min_bounce == integrator.transparent_min_bounce && + transparent_max_bounce == integrator.transparent_max_bounce && + transparent_probalistic == integrator.transparent_probalistic && + transparent_shadows == integrator.transparent_shadows && no_caustics == integrator.no_caustics && blur_caustics == integrator.blur_caustics); } diff --git a/intern/cycles/render/integrator.h b/intern/cycles/render/integrator.h index b7d0c48131f..5bab4470089 100644 --- a/intern/cycles/render/integrator.h +++ b/intern/cycles/render/integrator.h @@ -27,8 +27,19 @@ class Scene; class Integrator { public: - int minbounce; - int maxbounce; + int min_bounce; + int max_bounce; + + int max_diffuse_bounce; + int max_glossy_bounce; + int max_transmission_bounce; + bool probalistic_termination; + + int transparent_min_bounce; + int transparent_max_bounce; + bool transparent_probalistic; + bool transparent_shadows; + bool no_caustics; float blur_caustics; bool need_update; diff --git a/intern/cycles/render/mesh.cpp b/intern/cycles/render/mesh.cpp index b9163309652..b73013fc378 100644 --- a/intern/cycles/render/mesh.cpp +++ b/intern/cycles/render/mesh.cpp @@ -576,6 +576,10 @@ void MeshManager::device_update_bvh(Device *device, DeviceScene *dscene, Scene * dscene->tri_woop.reference(&pack.tri_woop[0], pack.tri_woop.size()); device->tex_alloc("__tri_woop", dscene->tri_woop); } + if(pack.prim_visibility.size()) { + dscene->prim_visibility.reference((uint*)&pack.prim_visibility[0], pack.prim_visibility.size()); + device->tex_alloc("__prim_visibility", dscene->prim_visibility); + } if(pack.prim_index.size()) { dscene->prim_index.reference((uint*)&pack.prim_index[0], pack.prim_index.size()); device->tex_alloc("__prim_index", dscene->prim_index); @@ -686,6 +690,7 @@ void MeshManager::device_free(Device *device, DeviceScene *dscene) device->tex_free(dscene->bvh_nodes); device->tex_free(dscene->object_node); device->tex_free(dscene->tri_woop); + device->tex_free(dscene->prim_visibility); device->tex_free(dscene->prim_index); device->tex_free(dscene->prim_object); device->tex_free(dscene->tri_normal); @@ -699,6 +704,7 @@ void MeshManager::device_free(Device *device, DeviceScene *dscene) dscene->bvh_nodes.clear(); dscene->object_node.clear(); dscene->tri_woop.clear(); + dscene->prim_visibility.clear(); dscene->prim_index.clear(); dscene->prim_object.clear(); dscene->tri_normal.clear(); diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index 5ffc3fbbabb..900115d2231 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -1117,7 +1117,7 @@ GlassBsdfNode::GlassBsdfNode() { distribution = ustring("Sharp"); - add_input("Roughness", SHADER_SOCKET_FLOAT, 0.2f); + add_input("Roughness", SHADER_SOCKET_FLOAT, 0.0f); add_input("Fresnel", SHADER_SOCKET_FLOAT, 0.3f); } @@ -1490,8 +1490,8 @@ LightPathNode::LightPathNode() add_output("Is Shadow Ray", SHADER_SOCKET_FLOAT); add_output("Is Diffuse Ray", SHADER_SOCKET_FLOAT); add_output("Is Glossy Ray", SHADER_SOCKET_FLOAT); - add_output("Is Reflection Ray", SHADER_SOCKET_FLOAT); add_output("Is Transmission Ray", SHADER_SOCKET_FLOAT); + add_output("Is Singular Ray", SHADER_SOCKET_FLOAT); } void LightPathNode::compile(SVMCompiler& compiler) @@ -1522,12 +1522,19 @@ void LightPathNode::compile(SVMCompiler& compiler) compiler.add_node(NODE_LIGHT_PATH, NODE_LP_glossy, out->stack_offset); } + out = output("Is Singular Ray"); + if(!out->links.empty()) { + compiler.stack_assign(out); + compiler.add_node(NODE_LIGHT_PATH, NODE_LP_singular, out->stack_offset); + } + out = output("Is Reflection Ray"); if(!out->links.empty()) { compiler.stack_assign(out); compiler.add_node(NODE_LIGHT_PATH, NODE_LP_reflection, out->stack_offset); } + out = output("Is Transmission Ray"); if(!out->links.empty()) { compiler.stack_assign(out); diff --git a/intern/cycles/render/object.cpp b/intern/cycles/render/object.cpp index 06c93e48b89..4ba2de6e61b 100644 --- a/intern/cycles/render/object.cpp +++ b/intern/cycles/render/object.cpp @@ -33,6 +33,7 @@ Object::Object() name = ""; mesh = NULL; tfm = transform_identity(); + visibility = ~0; } Object::~Object() diff --git a/intern/cycles/render/object.h b/intern/cycles/render/object.h index 7a12a06853b..7fe83cf7d91 100644 --- a/intern/cycles/render/object.h +++ b/intern/cycles/render/object.h @@ -42,6 +42,7 @@ public: BoundBox bounds; ustring name; vector attributes; + uint visibility; Object(); ~Object(); diff --git a/intern/cycles/render/scene.h b/intern/cycles/render/scene.h index 9d475cd9fa5..5772a9d7268 100644 --- a/intern/cycles/render/scene.h +++ b/intern/cycles/render/scene.h @@ -57,6 +57,7 @@ public: device_vector bvh_nodes; device_vector object_node; device_vector tri_woop; + device_vector prim_visibility; device_vector prim_index; device_vector prim_object; diff --git a/release/scripts/presets/cycles/integrator/direct_light.py b/release/scripts/presets/cycles/integrator/direct_light.py index 0b791547628..504068722d7 100644 --- a/release/scripts/presets/cycles/integrator/direct_light.py +++ b/release/scripts/presets/cycles/integrator/direct_light.py @@ -1,6 +1,11 @@ import bpy cycles = bpy.context.scene.cycles -cycles.max_bounces = 0 -cycles.min_bounces = 0 -cycles.no_caustics = False +cycles.max_bounces = 8 +cycles.min_bounces = 8 +cycles.no_caustics = True +cycles.diffuse_bounces = 0 +cycles.glossy_bounces = 1 +cycles.transmission_bounces = 2 +cycles.transparent_min_bounces = 8 +cycles.transparent_max_bounces = 8 diff --git a/release/scripts/presets/cycles/integrator/full_global_illumination.py b/release/scripts/presets/cycles/integrator/full_global_illumination.py new file mode 100644 index 00000000000..47c4431de13 --- /dev/null +++ b/release/scripts/presets/cycles/integrator/full_global_illumination.py @@ -0,0 +1,11 @@ +import bpy +cycles = bpy.context.scene.cycles + +cycles.max_bounces = 1024 +cycles.min_bounces = 3 +cycles.no_caustics = False +cycles.diffuse_bounces = 1024 +cycles.glossy_bounces = 1024 +cycles.transmission_bounces = 1024 +cycles.transparent_min_bounces = 8 +cycles.transparent_max_bounces = 1024 diff --git a/release/scripts/presets/cycles/integrator/limited_global_illumination.py b/release/scripts/presets/cycles/integrator/limited_global_illumination.py new file mode 100644 index 00000000000..f2a7e1f7b7a --- /dev/null +++ b/release/scripts/presets/cycles/integrator/limited_global_illumination.py @@ -0,0 +1,11 @@ +import bpy +cycles = bpy.context.scene.cycles + +cycles.max_bounces = 8 +cycles.min_bounces = 3 +cycles.no_caustics = True +cycles.diffuse_bounces = 1 +cycles.glossy_bounces = 4 +cycles.transmission_bounces = 8 +cycles.transparent_min_bounces = 8 +cycles.transparent_max_bounces = 8 diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c index 262bf3ff115..7f42c70b338 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c @@ -33,7 +33,7 @@ static bNodeSocketType sh_node_bsdf_glass_in[]= { { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, - { SOCK_VALUE, 1, "Roughness", 0.2f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "Roughness", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_VALUE, 1, "Fresnel", 0.3f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_light_path.c b/source/blender/nodes/intern/SHD_nodes/SHD_light_path.c index 3bf32f42370..f828f66c3e6 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_light_path.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_light_path.c @@ -36,6 +36,7 @@ static bNodeSocketType sh_node_light_path_out[]= { { SOCK_VALUE, 0, "Is Shadow Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_VALUE, 0, "Is Diffuse Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_VALUE, 0, "Is Glossy Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "Is Singular Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_VALUE, 0, "Is Reflection Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_VALUE, 0, "Is Transmission Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } From cf9d1e23c8e458b3e0d7d41abffdc34987656583 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 1 Sep 2011 16:27:40 +0000 Subject: [PATCH 108/241] Cycles: fix missing update when setting integrator preset. --- source/blender/makesrna/intern/rna_access.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c index 88447f6dd77..bb61d34b404 100644 --- a/source/blender/makesrna/intern/rna_access.c +++ b/source/blender/makesrna/intern/rna_access.c @@ -1378,7 +1378,7 @@ static void rna_property_update(bContext *C, Main *bmain, Scene *scene, PointerR * but this isnt likely to be a performance problem. */ int RNA_property_update_check(PropertyRNA *prop) { - return (prop->magic != RNA_MAGIC || prop->update || prop->noteflag); + return ((prop->magic != RNA_MAGIC) || (prop->flag & PROP_IDPROPERTY)|| prop->update || prop->noteflag); } void RNA_property_update(bContext *C, PointerRNA *ptr, PropertyRNA *prop) From af7171524ab6809a5ebe51c3cbfdff17e2cd74aa Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Thu, 1 Sep 2011 18:45:50 +0000 Subject: [PATCH 109/241] Cycles UI: * Added selector for CUDA/OpenCL. --- intern/cycles/blender/addon/enums.py | 6 +++++- intern/cycles/blender/addon/properties.py | 3 +++ intern/cycles/blender/addon/ui.py | 4 +++- intern/cycles/blender/blender_sync.cpp | 6 +++++- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/intern/cycles/blender/addon/enums.py b/intern/cycles/blender/addon/enums.py index 4b30f606de2..0ae97184e65 100644 --- a/intern/cycles/blender/addon/enums.py +++ b/intern/cycles/blender/addon/enums.py @@ -18,7 +18,11 @@ devices = ( ("CPU", "CPU", "Processor"), -("GPU", "GPU", "Graphics card (NVidia only)")) +("GPU", "GPU", "Graphics card")) + +gpu_type = ( +("CUDA", "CUDA", "NVidia only"), +("OPENCL", "OpenCL", "")) shading_systems = ( ("GPU_COMPATIBLE", "GPU Compatible", "Restricted shading system compatible with GPU rendering"), diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index ca38520d28f..5d90223032f 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -28,6 +28,9 @@ class CyclesRenderSettings(bpy.types.PropertyGroup): cls.device = EnumProperty(name="Device", description="Device to use for rendering", items=enums.devices, default="CPU") + + cls.gpu_type = EnumProperty(name="GPU Type", description="Processing system to use on the GPU", + items=enums.gpu_type, default="CUDA") cls.shading_system = EnumProperty(name="Shading System", description="Shading system to use for rendering", items=enums.shading_systems, default="GPU_COMPATIBLE") diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 001aacea3eb..ca6800e7fa0 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -522,8 +522,10 @@ def draw_device(self, context): if scene.render.engine == "CYCLES": cscene = scene.cycles - if 'cuda' in engine.available_devices(): + if ('cuda' or 'opencl') in engine.available_devices(): layout.prop(cscene, "device") + if cscene.device == 'GPU': + layout.prop(cscene, "gpu_type", expand=True) if cscene.device == 'CPU' and engine.with_osl(): layout.prop(cscene, "shading_system") diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index 40ec4838dad..0c447c0512e 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -202,10 +202,14 @@ bool BlenderSync::get_session_pause(BL::Scene b_scene, bool background) SessionParams BlenderSync::get_session_params(BL::Scene b_scene, bool background) { SessionParams params; + DeviceType dtype; PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles"); /* device type */ - DeviceType dtype = (RNA_enum_get(&cscene, "device") == 1)? DEVICE_CUDA: DEVICE_CPU; + if ((RNA_enum_get(&cscene, "device")) == 0) + dtype = DEVICE_CPU; + else + dtype = ((RNA_enum_get(&cscene, "gpu_type")) == 0)? DEVICE_CUDA: DEVICE_OPENCL; params.device_type = DEVICE_CPU; vector types = Device::available_types(); From 27102bfec4845df5ba8e65f7ca64d04840fbeab3 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 1 Sep 2011 19:00:23 +0000 Subject: [PATCH 110/241] Cycles: OpenCL library is now dynamically loaded so that blender doesn't crash if it's not installed on the system. Code copied from clew.h/clew.c in CLCC: http://clcc.sourceforge.net/ --- intern/cycles/CMakeLists.txt | 2 - intern/cycles/app/CMakeLists.txt | 4 - intern/cycles/cmake/external_libs.cmake | 21 - intern/cycles/device/device.cpp | 9 +- intern/cycles/device/device_opencl.cpp | 10 +- intern/cycles/doc/license/Boost.txt | 23 + intern/cycles/doc/license/readme.txt | 1 + intern/cycles/util/CMakeLists.txt | 2 + intern/cycles/util/util_opencl.c | 317 ++++++ intern/cycles/util/util_opencl.h | 1314 +++++++++++++++++++++++ source/creator/CMakeLists.txt | 1 - 11 files changed, 1665 insertions(+), 39 deletions(-) create mode 100644 intern/cycles/doc/license/Boost.txt create mode 100755 intern/cycles/util/util_opencl.c create mode 100755 intern/cycles/util/util_opencl.h diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index 77ae0486d16..5fce056259a 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -54,8 +54,6 @@ endif() if(WITH_CYCLES_OPENCL) add_definitions(-DWITH_OPENCL) - include_directories(${OPENCL_INCLUDE_DIR}) - endif() include_directories( diff --git a/intern/cycles/app/CMakeLists.txt b/intern/cycles/app/CMakeLists.txt index 1d74c32ca28..4ef5fd6857d 100644 --- a/intern/cycles/app/CMakeLists.txt +++ b/intern/cycles/app/CMakeLists.txt @@ -35,10 +35,6 @@ if(WITH_CYCLES_PARTIO) list(APPEND LIBRARIES ${PARTIO_LIBRARIES}) endif() -if(WITH_CYCLES_OPENCL) - list(APPEND LIBRARIES ${OPENCL_LIBRARIES}) -endif() - if(WITH_CYCLES_TEST) add_executable(cycles_test cycles_test.cpp cycles_xml.cpp cycles_xml.h) target_link_libraries(cycles_test ${LIBRARIES}) diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake index d53be9f6fe6..fb7ba9cc3f2 100644 --- a/intern/cycles/cmake/external_libs.cmake +++ b/intern/cycles/cmake/external_libs.cmake @@ -104,24 +104,3 @@ if(WITH_CYCLES_CUDA) endif() -########################################################################### -# OpenCL - -if(WITH_CYCLES_OPENCL) - - if(APPLE) - set(OPENCL_INCLUDE_DIR "/System/Library/Frameworks/OpenCL.framework/Headers") - set(OPENCL_LIBRARIES "-framework OpenCL") - endif() - - if(WIN32) - set(OPENCL_INCLUDE_DIR "") - set(OPENCL_LIBRARIES "OpenCL") - endif() - - if(UNIX AND NOT APPLE) - set(OPENCL_INCLUDE_DIR ${CYCLES_OPENCL}) - set(OPENCL_LIBRARIES "OpenCL") - endif() -endif() - diff --git a/intern/cycles/device/device.cpp b/intern/cycles/device/device.cpp index 2f2d34dcef2..aed0be96229 100644 --- a/intern/cycles/device/device.cpp +++ b/intern/cycles/device/device.cpp @@ -24,6 +24,7 @@ #include "util_cuda.h" #include "util_debug.h" +#include "util_opencl.h" #include "util_opengl.h" #include "util_types.h" #include "util_vector.h" @@ -135,7 +136,10 @@ Device *Device::create(DeviceType type, bool background, int threads) #endif #ifdef WITH_OPENCL case DEVICE_OPENCL: - device = device_opencl_create(background); + if(clLibraryInit()) + device = device_opencl_create(background); + else + device = NULL; break; #endif default: @@ -189,7 +193,8 @@ vector Device::available_types() #endif #ifdef WITH_OPENCL - types.push_back(DEVICE_OPENCL); + if(clLibraryInit()) + types.push_back(DEVICE_OPENCL); #endif #ifdef WITH_NETWORK diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp index 34c92986f46..d67fdc970a9 100644 --- a/intern/cycles/device/device_opencl.cpp +++ b/intern/cycles/device/device_opencl.cpp @@ -22,18 +22,11 @@ #include #include -#ifdef __APPLE__ -#include -#include -#else -#include -#include -#endif - #include "device.h" #include "device_intern.h" #include "util_map.h" +#include "util_opencl.h" #include "util_opengl.h" #include "util_path.h" #include "util_time.h" @@ -150,7 +143,6 @@ public: string build_options = ""; - string csource = "../blender/intern/cycles"; build_options += "-I " + path_get("kernel") + " -I " + path_get("util"); /* todo: escape path */ build_options += " -Werror -cl-fast-relaxed-math -cl-strict-aliasing"; diff --git a/intern/cycles/doc/license/Boost.txt b/intern/cycles/doc/license/Boost.txt new file mode 100644 index 00000000000..36b7cd93cdf --- /dev/null +++ b/intern/cycles/doc/license/Boost.txt @@ -0,0 +1,23 @@ +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/intern/cycles/doc/license/readme.txt b/intern/cycles/doc/license/readme.txt index de8c28f7f12..51494700f25 100644 --- a/intern/cycles/doc/license/readme.txt +++ b/intern/cycles/doc/license/readme.txt @@ -8,4 +8,5 @@ This program uses code from various sources. These are the licenses: * Sobol direction vectors are licensed under the Modified BSD license. * Matrix code adapted from OpenEXR under the Modified BSD license. * Procedural texture functions from Blender are licensed under GPL v2 or later. +* Boost and OpenCL dynamic loading under Boost License. diff --git a/intern/cycles/util/CMakeLists.txt b/intern/cycles/util/CMakeLists.txt index 4db90adc9e6..3adf483643f 100644 --- a/intern/cycles/util/CMakeLists.txt +++ b/intern/cycles/util/CMakeLists.txt @@ -9,6 +9,7 @@ set(sources util_cuda.cpp util_dynlib.cpp util_md5.cpp + util_opencl.c util_path.cpp util_string.cpp util_system.cpp @@ -34,6 +35,7 @@ set(headers util_map.h util_math.h util_md5.h + util_opencl.h util_opengl.h util_param.h util_path.h diff --git a/intern/cycles/util/util_opencl.c b/intern/cycles/util/util_opencl.c new file mode 100755 index 00000000000..b049a7b44ce --- /dev/null +++ b/intern/cycles/util/util_opencl.c @@ -0,0 +1,317 @@ +////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2009 Organic Vectory B.V. +// Written by George van Venrooij +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file doc/license/Boost.txt) +// Extracted from the CLCC project - http://clcc.sourceforge.net/ +////////////////////////////////////////////////////////////////////////// + +#include "util_opencl.h" + +#ifndef CLCC_GENERATE_DOCUMENTATION +#ifdef _WIN32 + #define WIN32_LEAN_AND_MEAN + #define VC_EXTRALEAN + #include + + typedef HMODULE CLCC_DYNLIB_HANDLE; + + #define CLCC_DYNLIB_OPEN LoadLibrary + #define CLCC_DYNLIB_CLOSE FreeLibrary + #define CLCC_DYNLIB_IMPORT GetProcAddress +#else + #include + + typedef void* CLCC_DYNLIB_HANDLE; + + #define CLCC_DYNLIB_OPEN(path) dlopen(path, RTLD_NOW | RTLD_GLOBAL) + #define CLCC_DYNLIB_CLOSE dlclose + #define CLCC_DYNLIB_IMPORT dlsym +#endif +#else + //typedef implementation_defined CLCC_DYNLIB_HANDLE; + //#define CLCC_DYNLIB_OPEN(path) implementation_defined + //#define CLCC_DYNLIB_CLOSE implementation_defined + //#define CLCC_DYNLIB_IMPORT implementation_defined +#endif + +#include + +//! \brief module handle +static CLCC_DYNLIB_HANDLE module = NULL; + +// Variables holding function entry points +#ifndef CLCC_GENERATE_DOCUMENTATION +PFNCLGETPLATFORMIDS __clewGetPlatformIDs = NULL; +PFNCLGETPLATFORMINFO __clewGetPlatformInfo = NULL; +PFNCLGETDEVICEIDS __clewGetDeviceIDs = NULL; +PFNCLGETDEVICEINFO __clewGetDeviceInfo = NULL; +PFNCLCREATECONTEXT __clewCreateContext = NULL; +PFNCLCREATECONTEXTFROMTYPE __clewCreateContextFromType = NULL; +PFNCLRETAINCONTEXT __clewRetainContext = NULL; +PFNCLRELEASECONTEXT __clewReleaseContext = NULL; +PFNCLGETCONTEXTINFO __clewGetContextInfo = NULL; +PFNCLCREATECOMMANDQUEUE __clewCreateCommandQueue = NULL; +PFNCLRETAINCOMMANDQUEUE __clewRetainCommandQueue = NULL; +PFNCLRELEASECOMMANDQUEUE __clewReleaseCommandQueue = NULL; +PFNCLGETCOMMANDQUEUEINFO __clewGetCommandQueueInfo = NULL; +PFNCLSETCOMMANDQUEUEPROPERTY __clewSetCommandQueueProperty = NULL; +PFNCLCREATEBUFFER __clewCreateBuffer = NULL; +PFNCLCREATEIMAGE2D __clewCreateImage2D = NULL; +PFNCLCREATEIMAGE3D __clewCreateImage3D = NULL; +PFNCLRETAINMEMOBJECT __clewRetainMemObject = NULL; +PFNCLRELEASEMEMOBJECT __clewReleaseMemObject = NULL; +PFNCLGETSUPPORTEDIMAGEFORMATS __clewGetSupportedImageFormats = NULL; +PFNCLGETMEMOBJECTINFO __clewGetMemObjectInfo = NULL; +PFNCLGETIMAGEINFO __clewGetImageInfo = NULL; +PFNCLCREATESAMPLER __clewCreateSampler = NULL; +PFNCLRETAINSAMPLER __clewRetainSampler = NULL; +PFNCLRELEASESAMPLER __clewReleaseSampler = NULL; +PFNCLGETSAMPLERINFO __clewGetSamplerInfo = NULL; +PFNCLCREATEPROGRAMWITHSOURCE __clewCreateProgramWithSource = NULL; +PFNCLCREATEPROGRAMWITHBINARY __clewCreateProgramWithBinary = NULL; +PFNCLRETAINPROGRAM __clewRetainProgram = NULL; +PFNCLRELEASEPROGRAM __clewReleaseProgram = NULL; +PFNCLBUILDPROGRAM __clewBuildProgram = NULL; +PFNCLUNLOADCOMPILER __clewUnloadCompiler = NULL; +PFNCLGETPROGRAMINFO __clewGetProgramInfo = NULL; +PFNCLGETPROGRAMBUILDINFO __clewGetProgramBuildInfo = NULL; +PFNCLCREATEKERNEL __clewCreateKernel = NULL; +PFNCLCREATEKERNELSINPROGRAM __clewCreateKernelsInProgram = NULL; +PFNCLRETAINKERNEL __clewRetainKernel = NULL; +PFNCLRELEASEKERNEL __clewReleaseKernel = NULL; +PFNCLSETKERNELARG __clewSetKernelArg = NULL; +PFNCLGETKERNELINFO __clewGetKernelInfo = NULL; +PFNCLGETKERNELWORKGROUPINFO __clewGetKernelWorkGroupInfo = NULL; +PFNCLWAITFOREVENTS __clewWaitForEvents = NULL; +PFNCLGETEVENTINFO __clewGetEventInfo = NULL; +PFNCLRETAINEVENT __clewRetainEvent = NULL; +PFNCLRELEASEEVENT __clewReleaseEvent = NULL; +PFNCLGETEVENTPROFILINGINFO __clewGetEventProfilingInfo = NULL; +PFNCLFLUSH __clewFlush = NULL; +PFNCLFINISH __clewFinish = NULL; +PFNCLENQUEUEREADBUFFER __clewEnqueueReadBuffer = NULL; +PFNCLENQUEUEWRITEBUFFER __clewEnqueueWriteBuffer = NULL; +PFNCLENQUEUECOPYBUFFER __clewEnqueueCopyBuffer = NULL; +PFNCLENQUEUEREADIMAGE __clewEnqueueReadImage = NULL; +PFNCLENQUEUEWRITEIMAGE __clewEnqueueWriteImage = NULL; +PFNCLENQUEUECOPYIMAGE __clewEnqueueCopyImage = NULL; +PFNCLENQUEUECOPYIMAGETOBUFFER __clewEnqueueCopyImageToBuffer = NULL; +PFNCLENQUEUECOPYBUFFERTOIMAGE __clewEnqueueCopyBufferToImage = NULL; +PFNCLENQUEUEMAPBUFFER __clewEnqueueMapBuffer = NULL; +PFNCLENQUEUEMAPIMAGE __clewEnqueueMapImage = NULL; +PFNCLENQUEUEUNMAPMEMOBJECT __clewEnqueueUnmapMemObject = NULL; +PFNCLENQUEUENDRANGEKERNEL __clewEnqueueNDRangeKernel = NULL; +PFNCLENQUEUETASK __clewEnqueueTask = NULL; +PFNCLENQUEUENATIVEKERNEL __clewEnqueueNativeKernel = NULL; +PFNCLENQUEUEMARKER __clewEnqueueMarker = NULL; +PFNCLENQUEUEWAITFOREVENTS __clewEnqueueWaitForEvents = NULL; +PFNCLENQUEUEBARRIER __clewEnqueueBarrier = NULL; +PFNCLGETEXTENSIONFUNCTIONADDRESS __clewGetExtensionFunctionAddress = NULL; +#endif // CLCC_GENERATE_DOCUMENTATION + + +//! \brief Unloads OpenCL dynamic library, should not be called directly +static void clewExit(void) +{ + if (module != NULL) + { + // Ignore errors + CLCC_DYNLIB_CLOSE(module); + module = NULL; + } +} + +//! \param path path to dynamic library to load +//! \return CLEW_ERROR_OPEN_FAILED if the library could not be opened +//! CLEW_ERROR_ATEXIT_FAILED if atexit(clewExit) failed +//! CLEW_SUCCESS when the library was succesfully loaded +int clLibraryInit() +{ +#ifdef _WIN32 + const char *path = "opencl.dll"; +#elif defined(__APPLE__) + const char *path = "/Library/Frameworks/OpenCL.framework/OpenCL"; +#else + const char *path = "libopencl.so"; +#endif + int error = 0; + + // Check if already initialized + if (module != NULL) + { + return 1; + } + + // Load library + module = CLCC_DYNLIB_OPEN(path); + + // Check for errors + if (module == NULL) + { + return 0; + } + + // Set unloading + error = atexit(clewExit); + + if (error) + { + // Failure queing atexit, shutdown with error + CLCC_DYNLIB_CLOSE(module); + module = NULL; + + return 0; + } + + // Determine function entry-points + __clewGetPlatformIDs = (PFNCLGETPLATFORMIDS )CLCC_DYNLIB_IMPORT(module, "clGetPlatformIDs"); + __clewGetPlatformInfo = (PFNCLGETPLATFORMINFO )CLCC_DYNLIB_IMPORT(module, "clGetPlatformInfo"); + __clewGetDeviceIDs = (PFNCLGETDEVICEIDS )CLCC_DYNLIB_IMPORT(module, "clGetDeviceIDs"); + __clewGetDeviceInfo = (PFNCLGETDEVICEINFO )CLCC_DYNLIB_IMPORT(module, "clGetDeviceInfo"); + __clewCreateContext = (PFNCLCREATECONTEXT )CLCC_DYNLIB_IMPORT(module, "clCreateContext"); + __clewCreateContextFromType = (PFNCLCREATECONTEXTFROMTYPE )CLCC_DYNLIB_IMPORT(module, "clCreateContextFromType"); + __clewRetainContext = (PFNCLRETAINCONTEXT )CLCC_DYNLIB_IMPORT(module, "clRetainContext"); + __clewReleaseContext = (PFNCLRELEASECONTEXT )CLCC_DYNLIB_IMPORT(module, "clReleaseContext"); + __clewGetContextInfo = (PFNCLGETCONTEXTINFO )CLCC_DYNLIB_IMPORT(module, "clGetContextInfo"); + __clewCreateCommandQueue = (PFNCLCREATECOMMANDQUEUE )CLCC_DYNLIB_IMPORT(module, "clCreateCommandQueue"); + __clewRetainCommandQueue = (PFNCLRETAINCOMMANDQUEUE )CLCC_DYNLIB_IMPORT(module, "clRetainCommandQueue"); + __clewReleaseCommandQueue = (PFNCLRELEASECOMMANDQUEUE )CLCC_DYNLIB_IMPORT(module, "clReleaseCommandQueue"); + __clewGetCommandQueueInfo = (PFNCLGETCOMMANDQUEUEINFO )CLCC_DYNLIB_IMPORT(module, "clGetCommandQueueInfo"); + __clewSetCommandQueueProperty = (PFNCLSETCOMMANDQUEUEPROPERTY )CLCC_DYNLIB_IMPORT(module, "clSetCommandQueueProperty"); + __clewCreateBuffer = (PFNCLCREATEBUFFER )CLCC_DYNLIB_IMPORT(module, "clCreateBuffer"); + __clewCreateImage2D = (PFNCLCREATEIMAGE2D )CLCC_DYNLIB_IMPORT(module, "clCreateImage2D"); + __clewCreateImage3D = (PFNCLCREATEIMAGE3D )CLCC_DYNLIB_IMPORT(module, "clCreateImage3D"); + __clewRetainMemObject = (PFNCLRETAINMEMOBJECT )CLCC_DYNLIB_IMPORT(module, "clRetainMemObject"); + __clewReleaseMemObject = (PFNCLRELEASEMEMOBJECT )CLCC_DYNLIB_IMPORT(module, "clReleaseMemObject"); + __clewGetSupportedImageFormats = (PFNCLGETSUPPORTEDIMAGEFORMATS )CLCC_DYNLIB_IMPORT(module, "clGetSupportedImageFormats"); + __clewGetMemObjectInfo = (PFNCLGETMEMOBJECTINFO )CLCC_DYNLIB_IMPORT(module, "clGetMemObjectInfo"); + __clewGetImageInfo = (PFNCLGETIMAGEINFO )CLCC_DYNLIB_IMPORT(module, "clGetImageInfo"); + __clewCreateSampler = (PFNCLCREATESAMPLER )CLCC_DYNLIB_IMPORT(module, "clCreateSampler"); + __clewRetainSampler = (PFNCLRETAINSAMPLER )CLCC_DYNLIB_IMPORT(module, "clRetainSampler"); + __clewReleaseSampler = (PFNCLRELEASESAMPLER )CLCC_DYNLIB_IMPORT(module, "clReleaseSampler"); + __clewGetSamplerInfo = (PFNCLGETSAMPLERINFO )CLCC_DYNLIB_IMPORT(module, "clGetSamplerInfo"); + __clewCreateProgramWithSource = (PFNCLCREATEPROGRAMWITHSOURCE )CLCC_DYNLIB_IMPORT(module, "clCreateProgramWithSource"); + __clewCreateProgramWithBinary = (PFNCLCREATEPROGRAMWITHBINARY )CLCC_DYNLIB_IMPORT(module, "clCreateProgramWithBinary"); + __clewRetainProgram = (PFNCLRETAINPROGRAM )CLCC_DYNLIB_IMPORT(module, "clRetainProgram"); + __clewReleaseProgram = (PFNCLRELEASEPROGRAM )CLCC_DYNLIB_IMPORT(module, "clReleaseProgram"); + __clewBuildProgram = (PFNCLBUILDPROGRAM )CLCC_DYNLIB_IMPORT(module, "clBuildProgram"); + __clewUnloadCompiler = (PFNCLUNLOADCOMPILER )CLCC_DYNLIB_IMPORT(module, "clUnloadCompiler"); + __clewGetProgramInfo = (PFNCLGETPROGRAMINFO )CLCC_DYNLIB_IMPORT(module, "clGetProgramInfo"); + __clewGetProgramBuildInfo = (PFNCLGETPROGRAMBUILDINFO )CLCC_DYNLIB_IMPORT(module, "clGetProgramBuildInfo"); + __clewCreateKernel = (PFNCLCREATEKERNEL )CLCC_DYNLIB_IMPORT(module, "clCreateKernel"); + __clewCreateKernelsInProgram = (PFNCLCREATEKERNELSINPROGRAM )CLCC_DYNLIB_IMPORT(module, "clCreateKernelsInProgram"); + __clewRetainKernel = (PFNCLRETAINKERNEL )CLCC_DYNLIB_IMPORT(module, "clRetainKernel"); + __clewReleaseKernel = (PFNCLRELEASEKERNEL )CLCC_DYNLIB_IMPORT(module, "clReleaseKernel"); + __clewSetKernelArg = (PFNCLSETKERNELARG )CLCC_DYNLIB_IMPORT(module, "clSetKernelArg"); + __clewGetKernelInfo = (PFNCLGETKERNELINFO )CLCC_DYNLIB_IMPORT(module, "clGetKernelInfo"); + __clewGetKernelWorkGroupInfo = (PFNCLGETKERNELWORKGROUPINFO )CLCC_DYNLIB_IMPORT(module, "clGetKernelWorkGroupInfo"); + __clewWaitForEvents = (PFNCLWAITFOREVENTS )CLCC_DYNLIB_IMPORT(module, "clWaitForEvents"); + __clewGetEventInfo = (PFNCLGETEVENTINFO )CLCC_DYNLIB_IMPORT(module, "clGetEventInfo"); + __clewRetainEvent = (PFNCLRETAINEVENT )CLCC_DYNLIB_IMPORT(module, "clRetainEvent"); + __clewReleaseEvent = (PFNCLRELEASEEVENT )CLCC_DYNLIB_IMPORT(module, "clReleaseEvent"); + __clewGetEventProfilingInfo = (PFNCLGETEVENTPROFILINGINFO )CLCC_DYNLIB_IMPORT(module, "clGetEventProfilingInfo"); + __clewFlush = (PFNCLFLUSH )CLCC_DYNLIB_IMPORT(module, "clFlush"); + __clewFinish = (PFNCLFINISH )CLCC_DYNLIB_IMPORT(module, "clFinish"); + __clewEnqueueReadBuffer = (PFNCLENQUEUEREADBUFFER )CLCC_DYNLIB_IMPORT(module, "clEnqueueReadBuffer"); + __clewEnqueueWriteBuffer = (PFNCLENQUEUEWRITEBUFFER )CLCC_DYNLIB_IMPORT(module, "clEnqueueWriteBuffer"); + __clewEnqueueCopyBuffer = (PFNCLENQUEUECOPYBUFFER )CLCC_DYNLIB_IMPORT(module, "clEnqueueCopyBuffer"); + __clewEnqueueReadImage = (PFNCLENQUEUEREADIMAGE )CLCC_DYNLIB_IMPORT(module, "clEnqueueReadImage"); + __clewEnqueueWriteImage = (PFNCLENQUEUEWRITEIMAGE )CLCC_DYNLIB_IMPORT(module, "clEnqueueWriteImage"); + __clewEnqueueCopyImage = (PFNCLENQUEUECOPYIMAGE )CLCC_DYNLIB_IMPORT(module, "clEnqueueCopyImage"); + __clewEnqueueCopyImageToBuffer = (PFNCLENQUEUECOPYIMAGETOBUFFER )CLCC_DYNLIB_IMPORT(module, "clEnqueueCopyImageToBuffer"); + __clewEnqueueCopyBufferToImage = (PFNCLENQUEUECOPYBUFFERTOIMAGE )CLCC_DYNLIB_IMPORT(module, "clEnqueueCopyBufferToImage"); + __clewEnqueueMapBuffer = (PFNCLENQUEUEMAPBUFFER )CLCC_DYNLIB_IMPORT(module, "clEnqueueMapBuffer"); + __clewEnqueueMapImage = (PFNCLENQUEUEMAPIMAGE )CLCC_DYNLIB_IMPORT(module, "clEnqueueMapImage"); + __clewEnqueueUnmapMemObject = (PFNCLENQUEUEUNMAPMEMOBJECT )CLCC_DYNLIB_IMPORT(module, "clEnqueueUnmapMemObject"); + __clewEnqueueNDRangeKernel = (PFNCLENQUEUENDRANGEKERNEL )CLCC_DYNLIB_IMPORT(module, "clEnqueueNDRangeKernel"); + __clewEnqueueTask = (PFNCLENQUEUETASK )CLCC_DYNLIB_IMPORT(module, "clEnqueueTask"); + __clewEnqueueNativeKernel = (PFNCLENQUEUENATIVEKERNEL )CLCC_DYNLIB_IMPORT(module, "clEnqueueNativeKernel"); + __clewEnqueueMarker = (PFNCLENQUEUEMARKER )CLCC_DYNLIB_IMPORT(module, "clEnqueueMarker"); + __clewEnqueueWaitForEvents = (PFNCLENQUEUEWAITFOREVENTS )CLCC_DYNLIB_IMPORT(module, "clEnqueueWaitForEvents"); + __clewEnqueueBarrier = (PFNCLENQUEUEBARRIER )CLCC_DYNLIB_IMPORT(module, "clEnqueueBarrier"); + __clewGetExtensionFunctionAddress = (PFNCLGETEXTENSIONFUNCTIONADDRESS )CLCC_DYNLIB_IMPORT(module, "clGetExtensionFunctionAddress"); + + return 1; +} + +//! \param error CL error code +//! \return a string representation of the error code +const char *clErrorString(cl_int error) +{ + static const char* strings[] = + { + // Error Codes + "CL_SUCCESS" // 0 + , "CL_DEVICE_NOT_FOUND" // -1 + , "CL_DEVICE_NOT_AVAILABLE" // -2 + , "CL_COMPILER_NOT_AVAILABLE" // -3 + , "CL_MEM_OBJECT_ALLOCATION_FAILURE" // -4 + , "CL_OUT_OF_RESOURCES" // -5 + , "CL_OUT_OF_HOST_MEMORY" // -6 + , "CL_PROFILING_INFO_NOT_AVAILABLE" // -7 + , "CL_MEM_COPY_OVERLAP" // -8 + , "CL_IMAGE_FORMAT_MISMATCH" // -9 + , "CL_IMAGE_FORMAT_NOT_SUPPORTED" // -10 + , "CL_BUILD_PROGRAM_FAILURE" // -11 + , "CL_MAP_FAILURE" // -12 + + , "" // -13 + , "" // -14 + , "" // -15 + , "" // -16 + , "" // -17 + , "" // -18 + , "" // -19 + + , "" // -20 + , "" // -21 + , "" // -22 + , "" // -23 + , "" // -24 + , "" // -25 + , "" // -26 + , "" // -27 + , "" // -28 + , "" // -29 + + , "CL_INVALID_VALUE" // -30 + , "CL_INVALID_DEVICE_TYPE" // -31 + , "CL_INVALID_PLATFORM" // -32 + , "CL_INVALID_DEVICE" // -33 + , "CL_INVALID_CONTEXT" // -34 + , "CL_INVALID_QUEUE_PROPERTIES" // -35 + , "CL_INVALID_COMMAND_QUEUE" // -36 + , "CL_INVALID_HOST_PTR" // -37 + , "CL_INVALID_MEM_OBJECT" // -38 + , "CL_INVALID_IMAGE_FORMAT_DESCRIPTOR" // -39 + , "CL_INVALID_IMAGE_SIZE" // -40 + , "CL_INVALID_SAMPLER" // -41 + , "CL_INVALID_BINARY" // -42 + , "CL_INVALID_BUILD_OPTIONS" // -43 + , "CL_INVALID_PROGRAM" // -44 + , "CL_INVALID_PROGRAM_EXECUTABLE" // -45 + , "CL_INVALID_KERNEL_NAME" // -46 + , "CL_INVALID_KERNEL_DEFINITION" // -47 + , "CL_INVALID_KERNEL" // -48 + , "CL_INVALID_ARG_INDEX" // -49 + , "CL_INVALID_ARG_VALUE" // -50 + , "CL_INVALID_ARG_SIZE" // -51 + , "CL_INVALID_KERNEL_ARGS" // -52 + , "CL_INVALID_WORK_DIMENSION" // -53 + , "CL_INVALID_WORK_GROUP_SIZE" // -54 + , "CL_INVALID_WORK_ITEM_SIZE" // -55 + , "CL_INVALID_GLOBAL_OFFSET" // -56 + , "CL_INVALID_EVENT_WAIT_LIST" // -57 + , "CL_INVALID_EVENT" // -58 + , "CL_INVALID_OPERATION" // -59 + , "CL_INVALID_GL_OBJECT" // -60 + , "CL_INVALID_BUFFER_SIZE" // -61 + , "CL_INVALID_MIP_LEVEL" // -62 + , "CL_INVALID_GLOBAL_WORK_SIZE" // -63 + }; + + return strings[-error]; +} + diff --git a/intern/cycles/util/util_opencl.h b/intern/cycles/util/util_opencl.h new file mode 100755 index 00000000000..0c643e5d475 --- /dev/null +++ b/intern/cycles/util/util_opencl.h @@ -0,0 +1,1314 @@ +////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2009 Organic Vectory B.V. +// Written by George van Venrooij +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file doc/license/Boost.txt) +// Extracted from the CLCC project - http://clcc.sourceforge.net/ +////////////////////////////////////////////////////////////////////////// + +#ifndef __UTIL_OPENCL_H__ +#define __UTIL_OPENCL_H__ + +//! This file contains a copy of the contents of CL.H and CL_PLATFORM.H from the +//! official OpenCL spec. The purpose of this code is to load the OpenCL dynamic +//! library at run-time and thus allow the executable to function on many +//! platforms regardless of the vendor of the OpenCL driver actually installed. +//! Some of the techniques used here were inspired by work done in the GLEW +//! library (http://glew.sourceforge.net/) + +// Run-time dynamic linking functionality based on concepts used in GLEW +#ifdef __OPENCL_CL_H +#error cl.h included before clew.h +#endif + +#ifdef __OPENCL_CL_PLATFORM_H +#error cl_platform.h included before clew.h +#endif + +#ifndef CLCC_GENERATE_DOCUMENTATION +// Prevent cl.h inclusion +#define __OPENCL_CL_H +// Prevent cl_platform.h inclusion +#define __CL_PLATFORM_H +#endif // CLCC_GENERATE_DOCUMENTATION + +/******************************************************************************* +* Copyright (c) 2008-2009 The Khronos Group Inc. +* +* Permission is hereby granted, free of charge, to any person obtaining a +* copy of this software and/or associated documentation files (the +* "Materials"), to deal in the Materials without restriction, including +* without limitation the rights to use, copy, modify, merge, publish, +* distribute, sublicense, and/or sell copies of the Materials, and to +* permit persons to whom the Materials are furnished to do so, subject to +* the following conditions: +* +* The above copyright notice and this permission notice shall be included +* in all copies or substantial portions of the Materials. +* +* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +* MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +******************************************************************************/ + +#ifdef __APPLE__ +/* Contains #defines for AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER below */ +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef CLCC_GENERATE_DOCUMENTATION + +#if defined(_WIN32) +#define CL_API_ENTRY +#define CL_API_CALL __stdcall +#else +#define CL_API_ENTRY +#define CL_API_CALL +#endif + +#if defined(__APPLE__) +#define CL_API_SUFFIX__VERSION_1_0 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER +#define CL_EXTENSION_WEAK_LINK __attribute__((weak_import)) +#else +#define CL_API_SUFFIX__VERSION_1_0 +#define CL_EXTENSION_WEAK_LINK +#endif + +#if defined(_WIN32) && defined(_MSC_VER) + +/* scalar types */ +typedef signed __int8 cl_char; +typedef unsigned __int8 cl_uchar; +typedef signed __int16 cl_short; +typedef unsigned __int16 cl_ushort; +typedef signed __int32 cl_int; +typedef unsigned __int32 cl_uint; +typedef signed __int64 cl_long; +typedef unsigned __int64 cl_ulong; + +typedef unsigned __int16 cl_half; +typedef float cl_float; +typedef double cl_double; + + +/* +* Vector types +* +* Note: OpenCL requires that all types be naturally aligned. +* This means that vector types must be naturally aligned. +* For example, a vector of four floats must be aligned to +* a 16 byte boundary (calculated as 4 * the natural 4-byte +* alignment of the float). The alignment qualifiers here +* will only function properly if your compiler supports them +* and if you don't actively work to defeat them. For example, +* in order for a cl_float4 to be 16 byte aligned in a struct, +* the start of the struct must itself be 16-byte aligned. +* +* Maintaining proper alignment is the user's responsibility. +*/ +typedef signed __int8 cl_char2[2]; +typedef signed __int8 cl_char4[4]; +typedef signed __int8 cl_char8[8]; +typedef signed __int8 cl_char16[16]; +typedef unsigned __int8 cl_uchar2[2]; +typedef unsigned __int8 cl_uchar4[4]; +typedef unsigned __int8 cl_uchar8[8]; +typedef unsigned __int8 cl_uchar16[16]; + +typedef signed __int16 cl_short2[2]; +typedef signed __int16 cl_short4[4]; +typedef signed __int16 cl_short8[8]; +typedef signed __int16 cl_short16[16]; +typedef unsigned __int16 cl_ushort2[2]; +typedef unsigned __int16 cl_ushort4[4]; +typedef unsigned __int16 cl_ushort8[8]; +typedef unsigned __int16 cl_ushort16[16]; + +typedef signed __int32 cl_int2[2]; +typedef signed __int32 cl_int4[4]; +typedef signed __int32 cl_int8[8]; +typedef signed __int32 cl_int16[16]; +typedef unsigned __int32 cl_uint2[2]; +typedef unsigned __int32 cl_uint4[4]; +typedef unsigned __int32 cl_uint8[8]; +typedef unsigned __int32 cl_uint16[16]; + +typedef signed __int64 cl_long2[2]; +typedef signed __int64 cl_long4[4]; +typedef signed __int64 cl_long8[8]; +typedef signed __int64 cl_long16[16]; +typedef unsigned __int64 cl_ulong2[2]; +typedef unsigned __int64 cl_ulong4[4]; +typedef unsigned __int64 cl_ulong8[8]; +typedef unsigned __int64 cl_ulong16[16]; + +typedef float cl_float2[2]; +typedef float cl_float4[4]; +typedef float cl_float8[8]; +typedef float cl_float16[16]; + +typedef double cl_double2[2]; +typedef double cl_double4[4]; +typedef double cl_double8[8]; +typedef double cl_double16[16]; +/* There are no vector types for half */ + +#else + +#include + +/* scalar types */ +typedef int8_t cl_char; +typedef uint8_t cl_uchar; +typedef int16_t cl_short __attribute__((aligned(2))); +typedef uint16_t cl_ushort __attribute__((aligned(2))); +typedef int32_t cl_int __attribute__((aligned(4))); +typedef uint32_t cl_uint __attribute__((aligned(4))); +typedef int64_t cl_long __attribute__((aligned(8))); +typedef uint64_t cl_ulong __attribute__((aligned(8))); + +typedef uint16_t cl_half __attribute__((aligned(2))); +typedef float cl_float __attribute__((aligned(4))); +typedef double cl_double __attribute__((aligned(8))); + +/* +* Vector types +* +* Note: OpenCL requires that all types be naturally aligned. +* This means that vector types must be naturally aligned. +* For example, a vector of four floats must be aligned to +* a 16 byte boundary (calculated as 4 * the natural 4-byte +* alignment of the float). The alignment qualifiers here +* will only function properly if your compiler supports them +* and if you don't actively work to defeat them. For example, +* in order for a cl_float4 to be 16 byte aligned in a struct, +* the start of the struct must itself be 16-byte aligned. +* +* Maintaining proper alignment is the user's responsibility. +*/ +typedef int8_t cl_char2[2] __attribute__((aligned(2))); +typedef int8_t cl_char4[4] __attribute__((aligned(4))); +typedef int8_t cl_char8[8] __attribute__((aligned(8))); +typedef int8_t cl_char16[16] __attribute__((aligned(16))); +typedef uint8_t cl_uchar2[2] __attribute__((aligned(2))); +typedef uint8_t cl_uchar4[4] __attribute__((aligned(4))); +typedef uint8_t cl_uchar8[8] __attribute__((aligned(8))); +typedef uint8_t cl_uchar16[16] __attribute__((aligned(16))); + +typedef int16_t cl_short2[2] __attribute__((aligned(4))); +typedef int16_t cl_short4[4] __attribute__((aligned(8))); +typedef int16_t cl_short8[8] __attribute__((aligned(16))); +typedef int16_t cl_short16[16] __attribute__((aligned(32))); +typedef uint16_t cl_ushort2[2] __attribute__((aligned(4))); +typedef uint16_t cl_ushort4[4] __attribute__((aligned(8))); +typedef uint16_t cl_ushort8[8] __attribute__((aligned(16))); +typedef uint16_t cl_ushort16[16] __attribute__((aligned(32))); + +typedef int32_t cl_int2[2] __attribute__((aligned(8))); +typedef int32_t cl_int4[4] __attribute__((aligned(16))); +typedef int32_t cl_int8[8] __attribute__((aligned(32))); +typedef int32_t cl_int16[16] __attribute__((aligned(64))); +typedef uint32_t cl_uint2[2] __attribute__((aligned(8))); +typedef uint32_t cl_uint4[4] __attribute__((aligned(16))); +typedef uint32_t cl_uint8[8] __attribute__((aligned(32))); +typedef uint32_t cl_uint16[16] __attribute__((aligned(64))); + +typedef int64_t cl_long2[2] __attribute__((aligned(16))); +typedef int64_t cl_long4[4] __attribute__((aligned(32))); +typedef int64_t cl_long8[8] __attribute__((aligned(64))); +typedef int64_t cl_long16[16] __attribute__((aligned(128))); +typedef uint64_t cl_ulong2[2] __attribute__((aligned(16))); +typedef uint64_t cl_ulong4[4] __attribute__((aligned(32))); +typedef uint64_t cl_ulong8[8] __attribute__((aligned(64))); +typedef uint64_t cl_ulong16[16] __attribute__((aligned(128))); + +typedef float cl_float2[2] __attribute__((aligned(8))); +typedef float cl_float4[4] __attribute__((aligned(16))); +typedef float cl_float8[8] __attribute__((aligned(32))); +typedef float cl_float16[16] __attribute__((aligned(64))); + +typedef double cl_double2[2] __attribute__((aligned(16))); +typedef double cl_double4[4] __attribute__((aligned(32))); +typedef double cl_double8[8] __attribute__((aligned(64))); +typedef double cl_double16[16] __attribute__((aligned(128))); + +/* There are no vector types for half */ + +#endif + +/******************************************************************************/ + +// Macro names and corresponding values defined by OpenCL + +#define CL_CHAR_BIT 8 +#define CL_SCHAR_MAX 127 +#define CL_SCHAR_MIN (-127-1) +#define CL_CHAR_MAX CL_SCHAR_MAX +#define CL_CHAR_MIN CL_SCHAR_MIN +#define CL_UCHAR_MAX 255 +#define CL_SHRT_MAX 32767 +#define CL_SHRT_MIN (-32767-1) +#define CL_USHRT_MAX 65535 +#define CL_INT_MAX 2147483647 +#define CL_INT_MIN (-2147483647-1) +#define CL_UINT_MAX 0xffffffffU +#define CL_LONG_MAX ((cl_long) 0x7FFFFFFFFFFFFFFFLL) +#define CL_LONG_MIN ((cl_long) -0x7FFFFFFFFFFFFFFFLL - 1LL) +#define CL_ULONG_MAX ((cl_ulong) 0xFFFFFFFFFFFFFFFFULL) + +#define CL_FLT_DIG 6 +#define CL_FLT_MANT_DIG 24 +#define CL_FLT_MAX_10_EXP +38 +#define CL_FLT_MAX_EXP +128 +#define CL_FLT_MIN_10_EXP -37 +#define CL_FLT_MIN_EXP -125 +#define CL_FLT_RADIX 2 +#if defined(_MSC_VER) +// MSVC doesn't understand hex floats +#define CL_FLT_MAX 3.402823466e+38F +#define CL_FLT_MIN 1.175494351e-38F +#define CL_FLT_EPSILON 1.192092896e-07F +#else +#define CL_FLT_MAX 0x1.fffffep127f +#define CL_FLT_MIN 0x1.0p-126f +#define CL_FLT_EPSILON 0x1.0p-23f +#endif + +#define CL_DBL_DIG 15 +#define CL_DBL_MANT_DIG 53 +#define CL_DBL_MAX_10_EXP +308 +#define CL_DBL_MAX_EXP +1024 +#define CL_DBL_MIN_10_EXP -307 +#define CL_DBL_MIN_EXP -1021 +#define CL_DBL_RADIX 2 +#if defined(_MSC_VER) +// MSVC doesn't understand hex floats +#define CL_DBL_MAX 1.7976931348623158e+308 +#define CL_DBL_MIN 2.2250738585072014e-308 +#define CL_DBL_EPSILON 2.2204460492503131e-016 +#else +#define CL_DBL_MAX 0x1.fffffffffffffp1023 +#define CL_DBL_MIN 0x1.0p-1022 +#define CL_DBL_EPSILON 0x1.0p-52 +#endif + +#include + + +// CL.h contents +/******************************************************************************/ + +typedef struct _cl_platform_id * cl_platform_id; +typedef struct _cl_device_id * cl_device_id; +typedef struct _cl_context * cl_context; +typedef struct _cl_command_queue * cl_command_queue; +typedef struct _cl_mem * cl_mem; +typedef struct _cl_program * cl_program; +typedef struct _cl_kernel * cl_kernel; +typedef struct _cl_event * cl_event; +typedef struct _cl_sampler * cl_sampler; + +typedef cl_uint cl_bool; /* WARNING! Unlike cl_ types in cl_platform.h, cl_bool is not guaranteed to be the same size as the bool in kernels. */ +typedef cl_ulong cl_bitfield; +typedef cl_bitfield cl_device_type; +typedef cl_uint cl_platform_info; +typedef cl_uint cl_device_info; +typedef cl_bitfield cl_device_address_info; +typedef cl_bitfield cl_device_fp_config; +typedef cl_uint cl_device_mem_cache_type; +typedef cl_uint cl_device_local_mem_type; +typedef cl_bitfield cl_device_exec_capabilities; +typedef cl_bitfield cl_command_queue_properties; + +typedef intptr_t cl_context_properties; +typedef cl_uint cl_context_info; +typedef cl_uint cl_command_queue_info; +typedef cl_uint cl_channel_order; +typedef cl_uint cl_channel_type; +typedef cl_bitfield cl_mem_flags; +typedef cl_uint cl_mem_object_type; +typedef cl_uint cl_mem_info; +typedef cl_uint cl_image_info; +typedef cl_uint cl_addressing_mode; +typedef cl_uint cl_filter_mode; +typedef cl_uint cl_sampler_info; +typedef cl_bitfield cl_map_flags; +typedef cl_uint cl_program_info; +typedef cl_uint cl_program_build_info; +typedef cl_int cl_build_status; +typedef cl_uint cl_kernel_info; +typedef cl_uint cl_kernel_work_group_info; +typedef cl_uint cl_event_info; +typedef cl_uint cl_command_type; +typedef cl_uint cl_profiling_info; + +typedef struct _cl_image_format { + cl_channel_order image_channel_order; + cl_channel_type image_channel_data_type; +} cl_image_format; + + + +/******************************************************************************/ + +// Error Codes +#define CL_SUCCESS 0 +#define CL_DEVICE_NOT_FOUND -1 +#define CL_DEVICE_NOT_AVAILABLE -2 +#define CL_COMPILER_NOT_AVAILABLE -3 +#define CL_MEM_OBJECT_ALLOCATION_FAILURE -4 +#define CL_OUT_OF_RESOURCES -5 +#define CL_OUT_OF_HOST_MEMORY -6 +#define CL_PROFILING_INFO_NOT_AVAILABLE -7 +#define CL_MEM_COPY_OVERLAP -8 +#define CL_IMAGE_FORMAT_MISMATCH -9 +#define CL_IMAGE_FORMAT_NOT_SUPPORTED -10 +#define CL_BUILD_PROGRAM_FAILURE -11 +#define CL_MAP_FAILURE -12 + +#define CL_INVALID_VALUE -30 +#define CL_INVALID_DEVICE_TYPE -31 +#define CL_INVALID_PLATFORM -32 +#define CL_INVALID_DEVICE -33 +#define CL_INVALID_CONTEXT -34 +#define CL_INVALID_QUEUE_PROPERTIES -35 +#define CL_INVALID_COMMAND_QUEUE -36 +#define CL_INVALID_HOST_PTR -37 +#define CL_INVALID_MEM_OBJECT -38 +#define CL_INVALID_IMAGE_FORMAT_DESCRIPTOR -39 +#define CL_INVALID_IMAGE_SIZE -40 +#define CL_INVALID_SAMPLER -41 +#define CL_INVALID_BINARY -42 +#define CL_INVALID_BUILD_OPTIONS -43 +#define CL_INVALID_PROGRAM -44 +#define CL_INVALID_PROGRAM_EXECUTABLE -45 +#define CL_INVALID_KERNEL_NAME -46 +#define CL_INVALID_KERNEL_DEFINITION -47 +#define CL_INVALID_KERNEL -48 +#define CL_INVALID_ARG_INDEX -49 +#define CL_INVALID_ARG_VALUE -50 +#define CL_INVALID_ARG_SIZE -51 +#define CL_INVALID_KERNEL_ARGS -52 +#define CL_INVALID_WORK_DIMENSION -53 +#define CL_INVALID_WORK_GROUP_SIZE -54 +#define CL_INVALID_WORK_ITEM_SIZE -55 +#define CL_INVALID_GLOBAL_OFFSET -56 +#define CL_INVALID_EVENT_WAIT_LIST -57 +#define CL_INVALID_EVENT -58 +#define CL_INVALID_OPERATION -59 +#define CL_INVALID_GL_OBJECT -60 +#define CL_INVALID_BUFFER_SIZE -61 +#define CL_INVALID_MIP_LEVEL -62 +#define CL_INVALID_GLOBAL_WORK_SIZE -63 + +// OpenCL Version +#define CL_VERSION_1_0 1 + +// cl_bool +#define CL_FALSE 0 +#define CL_TRUE 1 + +// cl_platform_info +#define CL_PLATFORM_PROFILE 0x0900 +#define CL_PLATFORM_VERSION 0x0901 +#define CL_PLATFORM_NAME 0x0902 +#define CL_PLATFORM_VENDOR 0x0903 +#define CL_PLATFORM_EXTENSIONS 0x0904 + +// cl_device_type - bitfield +#define CL_DEVICE_TYPE_DEFAULT (1 << 0) +#define CL_DEVICE_TYPE_CPU (1 << 1) +#define CL_DEVICE_TYPE_GPU (1 << 2) +#define CL_DEVICE_TYPE_ACCELERATOR (1 << 3) +#define CL_DEVICE_TYPE_ALL 0xFFFFFFFF + +// cl_device_info +#define CL_DEVICE_TYPE 0x1000 +#define CL_DEVICE_VENDOR_ID 0x1001 +#define CL_DEVICE_MAX_COMPUTE_UNITS 0x1002 +#define CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS 0x1003 +#define CL_DEVICE_MAX_WORK_GROUP_SIZE 0x1004 +#define CL_DEVICE_MAX_WORK_ITEM_SIZES 0x1005 +#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR 0x1006 +#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT 0x1007 +#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT 0x1008 +#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG 0x1009 +#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT 0x100A +#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE 0x100B +#define CL_DEVICE_MAX_CLOCK_FREQUENCY 0x100C +#define CL_DEVICE_ADDRESS_BITS 0x100D +#define CL_DEVICE_MAX_READ_IMAGE_ARGS 0x100E +#define CL_DEVICE_MAX_WRITE_IMAGE_ARGS 0x100F +#define CL_DEVICE_MAX_MEM_ALLOC_SIZE 0x1010 +#define CL_DEVICE_IMAGE2D_MAX_WIDTH 0x1011 +#define CL_DEVICE_IMAGE2D_MAX_HEIGHT 0x1012 +#define CL_DEVICE_IMAGE3D_MAX_WIDTH 0x1013 +#define CL_DEVICE_IMAGE3D_MAX_HEIGHT 0x1014 +#define CL_DEVICE_IMAGE3D_MAX_DEPTH 0x1015 +#define CL_DEVICE_IMAGE_SUPPORT 0x1016 +#define CL_DEVICE_MAX_PARAMETER_SIZE 0x1017 +#define CL_DEVICE_MAX_SAMPLERS 0x1018 +#define CL_DEVICE_MEM_BASE_ADDR_ALIGN 0x1019 +#define CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE 0x101A +#define CL_DEVICE_SINGLE_FP_CONFIG 0x101B +#define CL_DEVICE_GLOBAL_MEM_CACHE_TYPE 0x101C +#define CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE 0x101D +#define CL_DEVICE_GLOBAL_MEM_CACHE_SIZE 0x101E +#define CL_DEVICE_GLOBAL_MEM_SIZE 0x101F +#define CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE 0x1020 +#define CL_DEVICE_MAX_CONSTANT_ARGS 0x1021 +#define CL_DEVICE_LOCAL_MEM_TYPE 0x1022 +#define CL_DEVICE_LOCAL_MEM_SIZE 0x1023 +#define CL_DEVICE_ERROR_CORRECTION_SUPPORT 0x1024 +#define CL_DEVICE_PROFILING_TIMER_RESOLUTION 0x1025 +#define CL_DEVICE_ENDIAN_LITTLE 0x1026 +#define CL_DEVICE_AVAILABLE 0x1027 +#define CL_DEVICE_COMPILER_AVAILABLE 0x1028 +#define CL_DEVICE_EXECUTION_CAPABILITIES 0x1029 +#define CL_DEVICE_QUEUE_PROPERTIES 0x102A +#define CL_DEVICE_NAME 0x102B +#define CL_DEVICE_VENDOR 0x102C +#define CL_DRIVER_VERSION 0x102D +#define CL_DEVICE_PROFILE 0x102E +#define CL_DEVICE_VERSION 0x102F +#define CL_DEVICE_EXTENSIONS 0x1030 +#define CL_DEVICE_PLATFORM 0x1031 + +// cl_device_fp_config - bitfield +#define CL_FP_DENORM (1 << 0) +#define CL_FP_INF_NAN (1 << 1) +#define CL_FP_ROUND_TO_NEAREST (1 << 2) +#define CL_FP_ROUND_TO_ZERO (1 << 3) +#define CL_FP_ROUND_TO_INF (1 << 4) +#define CL_FP_FMA (1 << 5) + +// cl_device_mem_cache_type +#define CL_NONE 0x0 +#define CL_READ_ONLY_CACHE 0x1 +#define CL_READ_WRITE_CACHE 0x2 + +// cl_device_local_mem_type +#define CL_LOCAL 0x1 +#define CL_GLOBAL 0x2 + +// cl_device_exec_capabilities - bitfield +#define CL_EXEC_KERNEL (1 << 0) +#define CL_EXEC_NATIVE_KERNEL (1 << 1) + +// cl_command_queue_properties - bitfield +#define CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE (1 << 0) +#define CL_QUEUE_PROFILING_ENABLE (1 << 1) + +// cl_context_info +#define CL_CONTEXT_REFERENCE_COUNT 0x1080 +#define CL_CONTEXT_DEVICES 0x1081 +#define CL_CONTEXT_PROPERTIES 0x1082 + +// cl_context_properties +#define CL_CONTEXT_PLATFORM 0x1084 + +// cl_command_queue_info +#define CL_QUEUE_CONTEXT 0x1090 +#define CL_QUEUE_DEVICE 0x1091 +#define CL_QUEUE_REFERENCE_COUNT 0x1092 +#define CL_QUEUE_PROPERTIES 0x1093 + +// cl_mem_flags - bitfield +#define CL_MEM_READ_WRITE (1 << 0) +#define CL_MEM_WRITE_ONLY (1 << 1) +#define CL_MEM_READ_ONLY (1 << 2) +#define CL_MEM_USE_HOST_PTR (1 << 3) +#define CL_MEM_ALLOC_HOST_PTR (1 << 4) +#define CL_MEM_COPY_HOST_PTR (1 << 5) + +// cl_channel_order +#define CL_R 0x10B0 +#define CL_A 0x10B1 +#define CL_RG 0x10B2 +#define CL_RA 0x10B3 +#define CL_RGB 0x10B4 +#define CL_RGBA 0x10B5 +#define CL_BGRA 0x10B6 +#define CL_ARGB 0x10B7 +#define CL_INTENSITY 0x10B8 +#define CL_LUMINANCE 0x10B9 + +// cl_channel_type +#define CL_SNORM_INT8 0x10D0 +#define CL_SNORM_INT16 0x10D1 +#define CL_UNORM_INT8 0x10D2 +#define CL_UNORM_INT16 0x10D3 +#define CL_UNORM_SHORT_565 0x10D4 +#define CL_UNORM_SHORT_555 0x10D5 +#define CL_UNORM_INT_101010 0x10D6 +#define CL_SIGNED_INT8 0x10D7 +#define CL_SIGNED_INT16 0x10D8 +#define CL_SIGNED_INT32 0x10D9 +#define CL_UNSIGNED_INT8 0x10DA +#define CL_UNSIGNED_INT16 0x10DB +#define CL_UNSIGNED_INT32 0x10DC +#define CL_HALF_FLOAT 0x10DD +#define CL_FLOAT 0x10DE + +// cl_mem_object_type +#define CL_MEM_OBJECT_BUFFER 0x10F0 +#define CL_MEM_OBJECT_IMAGE2D 0x10F1 +#define CL_MEM_OBJECT_IMAGE3D 0x10F2 + +// cl_mem_info +#define CL_MEM_TYPE 0x1100 +#define CL_MEM_FLAGS 0x1101 +#define CL_MEM_SIZE 0x1102 +#define CL_MEM_HOST_PTR 0x1103 +#define CL_MEM_MAP_COUNT 0x1104 +#define CL_MEM_REFERENCE_COUNT 0x1105 +#define CL_MEM_CONTEXT 0x1106 + +// cl_image_info +#define CL_IMAGE_FORMAT 0x1110 +#define CL_IMAGE_ELEMENT_SIZE 0x1111 +#define CL_IMAGE_ROW_PITCH 0x1112 +#define CL_IMAGE_SLICE_PITCH 0x1113 +#define CL_IMAGE_WIDTH 0x1114 +#define CL_IMAGE_HEIGHT 0x1115 +#define CL_IMAGE_DEPTH 0x1116 + +// cl_addressing_mode +#define CL_ADDRESS_NONE 0x1130 +#define CL_ADDRESS_CLAMP_TO_EDGE 0x1131 +#define CL_ADDRESS_CLAMP 0x1132 +#define CL_ADDRESS_REPEAT 0x1133 + +// cl_filter_mode +#define CL_FILTER_NEAREST 0x1140 +#define CL_FILTER_LINEAR 0x1141 + +// cl_sampler_info +#define CL_SAMPLER_REFERENCE_COUNT 0x1150 +#define CL_SAMPLER_CONTEXT 0x1151 +#define CL_SAMPLER_NORMALIZED_COORDS 0x1152 +#define CL_SAMPLER_ADDRESSING_MODE 0x1153 +#define CL_SAMPLER_FILTER_MODE 0x1154 + +// cl_map_flags - bitfield +#define CL_MAP_READ (1 << 0) +#define CL_MAP_WRITE (1 << 1) + +// cl_program_info +#define CL_PROGRAM_REFERENCE_COUNT 0x1160 +#define CL_PROGRAM_CONTEXT 0x1161 +#define CL_PROGRAM_NUM_DEVICES 0x1162 +#define CL_PROGRAM_DEVICES 0x1163 +#define CL_PROGRAM_SOURCE 0x1164 +#define CL_PROGRAM_BINARY_SIZES 0x1165 +#define CL_PROGRAM_BINARIES 0x1166 + +// cl_program_build_info +#define CL_PROGRAM_BUILD_STATUS 0x1181 +#define CL_PROGRAM_BUILD_OPTIONS 0x1182 +#define CL_PROGRAM_BUILD_LOG 0x1183 + +// cl_build_status +#define CL_BUILD_SUCCESS 0 +#define CL_BUILD_NONE -1 +#define CL_BUILD_ERROR -2 +#define CL_BUILD_IN_PROGRESS -3 + +// cl_kernel_info +#define CL_KERNEL_FUNCTION_NAME 0x1190 +#define CL_KERNEL_NUM_ARGS 0x1191 +#define CL_KERNEL_REFERENCE_COUNT 0x1192 +#define CL_KERNEL_CONTEXT 0x1193 +#define CL_KERNEL_PROGRAM 0x1194 + +// cl_kernel_work_group_info +#define CL_KERNEL_WORK_GROUP_SIZE 0x11B0 +#define CL_KERNEL_COMPILE_WORK_GROUP_SIZE 0x11B1 +#define CL_KERNEL_LOCAL_MEM_SIZE 0x11B2 + +// cl_event_info +#define CL_EVENT_COMMAND_QUEUE 0x11D0 +#define CL_EVENT_COMMAND_TYPE 0x11D1 +#define CL_EVENT_REFERENCE_COUNT 0x11D2 +#define CL_EVENT_COMMAND_EXECUTION_STATUS 0x11D3 + +// cl_command_type +#define CL_COMMAND_NDRANGE_KERNEL 0x11F0 +#define CL_COMMAND_TASK 0x11F1 +#define CL_COMMAND_NATIVE_KERNEL 0x11F2 +#define CL_COMMAND_READ_BUFFER 0x11F3 +#define CL_COMMAND_WRITE_BUFFER 0x11F4 +#define CL_COMMAND_COPY_BUFFER 0x11F5 +#define CL_COMMAND_READ_IMAGE 0x11F6 +#define CL_COMMAND_WRITE_IMAGE 0x11F7 +#define CL_COMMAND_COPY_IMAGE 0x11F8 +#define CL_COMMAND_COPY_IMAGE_TO_BUFFER 0x11F9 +#define CL_COMMAND_COPY_BUFFER_TO_IMAGE 0x11FA +#define CL_COMMAND_MAP_BUFFER 0x11FB +#define CL_COMMAND_MAP_IMAGE 0x11FC +#define CL_COMMAND_UNMAP_MEM_OBJECT 0x11FD +#define CL_COMMAND_MARKER 0x11FE +#define CL_COMMAND_ACQUIRE_GL_OBJECTS 0x11FF +#define CL_COMMAND_RELEASE_GL_OBJECTS 0x1200 + +// command execution status +#define CL_COMPLETE 0x0 +#define CL_RUNNING 0x1 +#define CL_SUBMITTED 0x2 +#define CL_QUEUED 0x3 + +// cl_profiling_info +#define CL_PROFILING_COMMAND_QUEUED 0x1280 +#define CL_PROFILING_COMMAND_SUBMIT 0x1281 +#define CL_PROFILING_COMMAND_START 0x1282 +#define CL_PROFILING_COMMAND_END 0x1283 + +/********************************************************************************************************/ + +/********************************************************************************************************/ + +// Function signature typedef's + +// Platform API +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLGETPLATFORMIDS)(cl_uint /* num_entries */, + cl_platform_id * /* platforms */, + cl_uint * /* num_platforms */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLGETPLATFORMINFO)(cl_platform_id /* platform */, + cl_platform_info /* param_name */, + size_t /* param_value_size */, + void * /* param_value */, + size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; + +// Device APIs +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLGETDEVICEIDS)(cl_platform_id /* platform */, + cl_device_type /* device_type */, + cl_uint /* num_entries */, + cl_device_id * /* devices */, + cl_uint * /* num_devices */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLGETDEVICEINFO)(cl_device_id /* device */, + cl_device_info /* param_name */, + size_t /* param_value_size */, + void * /* param_value */, + size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; + +// Context APIs +typedef CL_API_ENTRY cl_context (CL_API_CALL * +PFNCLCREATECONTEXT)(const cl_context_properties * /* properties */, + cl_uint /* num_devices */, + const cl_device_id * /* devices */, + void (*pfn_notify)(const char *, const void *, size_t, void *) /* pfn_notify */, + void * /* user_data */, + cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_context (CL_API_CALL * +PFNCLCREATECONTEXTFROMTYPE)(const cl_context_properties * /* properties */, + cl_device_type /* device_type */, + void (*pfn_notify)(const char *, const void *, size_t, void *) /* pfn_notify */, + void * /* user_data */, + cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLRETAINCONTEXT)(cl_context /* context */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLRELEASECONTEXT)(cl_context /* context */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLGETCONTEXTINFO)(cl_context /* context */, + cl_context_info /* param_name */, + size_t /* param_value_size */, + void * /* param_value */, + size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; + +// Command Queue APIs +typedef CL_API_ENTRY cl_command_queue (CL_API_CALL * +PFNCLCREATECOMMANDQUEUE)(cl_context /* context */, + cl_device_id /* device */, + cl_command_queue_properties /* properties */, + cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLRETAINCOMMANDQUEUE)(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLRELEASECOMMANDQUEUE)(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLGETCOMMANDQUEUEINFO)(cl_command_queue /* command_queue */, + cl_command_queue_info /* param_name */, + size_t /* param_value_size */, + void * /* param_value */, + size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLSETCOMMANDQUEUEPROPERTY)(cl_command_queue /* command_queue */, + cl_command_queue_properties /* properties */, + cl_bool /* enable */, + cl_command_queue_properties * /* old_properties */) CL_API_SUFFIX__VERSION_1_0; + +// Memory Object APIs +typedef CL_API_ENTRY cl_mem (CL_API_CALL * +PFNCLCREATEBUFFER)(cl_context /* context */, + cl_mem_flags /* flags */, + size_t /* size */, + void * /* host_ptr */, + cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_mem (CL_API_CALL * +PFNCLCREATEIMAGE2D)(cl_context /* context */, + cl_mem_flags /* flags */, + const cl_image_format * /* image_format */, + size_t /* image_width */, + size_t /* image_height */, + size_t /* image_row_pitch */, + void * /* host_ptr */, + cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_mem (CL_API_CALL * +PFNCLCREATEIMAGE3D)(cl_context /* context */, + cl_mem_flags /* flags */, + const cl_image_format * /* image_format */, + size_t /* image_width */, + size_t /* image_height */, + size_t /* image_depth */, + size_t /* image_row_pitch */, + size_t /* image_slice_pitch */, + void * /* host_ptr */, + cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLRETAINMEMOBJECT)(cl_mem /* memobj */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLRELEASEMEMOBJECT)(cl_mem /* memobj */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLGETSUPPORTEDIMAGEFORMATS)(cl_context /* context */, + cl_mem_flags /* flags */, + cl_mem_object_type /* image_type */, + cl_uint /* num_entries */, + cl_image_format * /* image_formats */, + cl_uint * /* num_image_formats */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLGETMEMOBJECTINFO)(cl_mem /* memobj */, + cl_mem_info /* param_name */, + size_t /* param_value_size */, + void * /* param_value */, + size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLGETIMAGEINFO)(cl_mem /* image */, + cl_image_info /* param_name */, + size_t /* param_value_size */, + void * /* param_value */, + size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; + +// Sampler APIs +typedef CL_API_ENTRY cl_sampler (CL_API_CALL * +PFNCLCREATESAMPLER)(cl_context /* context */, + cl_bool /* normalized_coords */, + cl_addressing_mode /* addressing_mode */, + cl_filter_mode /* filter_mode */, + cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLRETAINSAMPLER)(cl_sampler /* sampler */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLRELEASESAMPLER)(cl_sampler /* sampler */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLGETSAMPLERINFO)(cl_sampler /* sampler */, + cl_sampler_info /* param_name */, + size_t /* param_value_size */, + void * /* param_value */, + size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; + +// Program Object APIs +typedef CL_API_ENTRY cl_program (CL_API_CALL * +PFNCLCREATEPROGRAMWITHSOURCE)(cl_context /* context */, + cl_uint /* count */, + const char ** /* strings */, + const size_t * /* lengths */, + cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_program (CL_API_CALL * +PFNCLCREATEPROGRAMWITHBINARY)(cl_context /* context */, + cl_uint /* num_devices */, + const cl_device_id * /* device_list */, + const size_t * /* lengths */, + const unsigned char ** /* binaries */, + cl_int * /* binary_status */, + cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLRETAINPROGRAM)(cl_program /* program */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLRELEASEPROGRAM)(cl_program /* program */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLBUILDPROGRAM)(cl_program /* program */, + cl_uint /* num_devices */, + const cl_device_id * /* device_list */, + const char * /* options */, + void (*pfn_notify)(cl_program /* program */, void * /* user_data */), + void * /* user_data */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLUNLOADCOMPILER)(void) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLGETPROGRAMINFO)(cl_program /* program */, + cl_program_info /* param_name */, + size_t /* param_value_size */, + void * /* param_value */, + size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLGETPROGRAMBUILDINFO)(cl_program /* program */, + cl_device_id /* device */, + cl_program_build_info /* param_name */, + size_t /* param_value_size */, + void * /* param_value */, + size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; + +// Kernel Object APIs +typedef CL_API_ENTRY cl_kernel (CL_API_CALL * +PFNCLCREATEKERNEL)(cl_program /* program */, + const char * /* kernel_name */, + cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLCREATEKERNELSINPROGRAM)(cl_program /* program */, + cl_uint /* num_kernels */, + cl_kernel * /* kernels */, + cl_uint * /* num_kernels_ret */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLRETAINKERNEL)(cl_kernel /* kernel */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLRELEASEKERNEL)(cl_kernel /* kernel */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLSETKERNELARG)(cl_kernel /* kernel */, + cl_uint /* arg_index */, + size_t /* arg_size */, + const void * /* arg_value */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLGETKERNELINFO)(cl_kernel /* kernel */, + cl_kernel_info /* param_name */, + size_t /* param_value_size */, + void * /* param_value */, + size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLGETKERNELWORKGROUPINFO)(cl_kernel /* kernel */, + cl_device_id /* device */, + cl_kernel_work_group_info /* param_name */, + size_t /* param_value_size */, + void * /* param_value */, + size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; + +// Event Object APIs +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLWAITFOREVENTS)(cl_uint /* num_events */, + const cl_event * /* event_list */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLGETEVENTINFO)(cl_event /* event */, + cl_event_info /* param_name */, + size_t /* param_value_size */, + void * /* param_value */, + size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLRETAINEVENT)(cl_event /* event */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLRELEASEEVENT)(cl_event /* event */) CL_API_SUFFIX__VERSION_1_0; + +// Profiling APIs +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLGETEVENTPROFILINGINFO)(cl_event /* event */, + cl_profiling_info /* param_name */, + size_t /* param_value_size */, + void * /* param_value */, + size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; + +// Flush and Finish APIs +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLFLUSH)(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLFINISH)(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; + +// Enqueued Commands APIs +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLENQUEUEREADBUFFER)(cl_command_queue /* command_queue */, + cl_mem /* buffer */, + cl_bool /* blocking_read */, + size_t /* offset */, + size_t /* cb */, + void * /* ptr */, + cl_uint /* num_events_in_wait_list */, + const cl_event * /* event_wait_list */, + cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLENQUEUEWRITEBUFFER)(cl_command_queue /* command_queue */, + cl_mem /* buffer */, + cl_bool /* blocking_write */, + size_t /* offset */, + size_t /* cb */, + const void * /* ptr */, + cl_uint /* num_events_in_wait_list */, + const cl_event * /* event_wait_list */, + cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLENQUEUECOPYBUFFER)(cl_command_queue /* command_queue */, + cl_mem /* src_buffer */, + cl_mem /* dst_buffer */, + size_t /* src_offset */, + size_t /* dst_offset */, + size_t /* cb */, + cl_uint /* num_events_in_wait_list */, + const cl_event * /* event_wait_list */, + cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLENQUEUEREADIMAGE)(cl_command_queue /* command_queue */, + cl_mem /* image */, + cl_bool /* blocking_read */, + const size_t * /* origin[3] */, + const size_t * /* region[3] */, + size_t /* row_pitch */, + size_t /* slice_pitch */, + void * /* ptr */, + cl_uint /* num_events_in_wait_list */, + const cl_event * /* event_wait_list */, + cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLENQUEUEWRITEIMAGE)(cl_command_queue /* command_queue */, + cl_mem /* image */, + cl_bool /* blocking_write */, + const size_t * /* origin[3] */, + const size_t * /* region[3] */, + size_t /* input_row_pitch */, + size_t /* input_slice_pitch */, + const void * /* ptr */, + cl_uint /* num_events_in_wait_list */, + const cl_event * /* event_wait_list */, + cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLENQUEUECOPYIMAGE)(cl_command_queue /* command_queue */, + cl_mem /* src_image */, + cl_mem /* dst_image */, + const size_t * /* src_origin[3] */, + const size_t * /* dst_origin[3] */, + const size_t * /* region[3] */, + cl_uint /* num_events_in_wait_list */, + const cl_event * /* event_wait_list */, + cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLENQUEUECOPYIMAGETOBUFFER)(cl_command_queue /* command_queue */, + cl_mem /* src_image */, + cl_mem /* dst_buffer */, + const size_t * /* src_origin[3] */, + const size_t * /* region[3] */, + size_t /* dst_offset */, + cl_uint /* num_events_in_wait_list */, + const cl_event * /* event_wait_list */, + cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLENQUEUECOPYBUFFERTOIMAGE)(cl_command_queue /* command_queue */, + cl_mem /* src_buffer */, + cl_mem /* dst_image */, + size_t /* src_offset */, + const size_t * /* dst_origin[3] */, + const size_t * /* region[3] */, + cl_uint /* num_events_in_wait_list */, + const cl_event * /* event_wait_list */, + cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY void * (CL_API_CALL * +PFNCLENQUEUEMAPBUFFER)(cl_command_queue /* command_queue */, + cl_mem /* buffer */, + cl_bool /* blocking_map */, + cl_map_flags /* map_flags */, + size_t /* offset */, + size_t /* cb */, + cl_uint /* num_events_in_wait_list */, + const cl_event * /* event_wait_list */, + cl_event * /* event */, + cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY void * (CL_API_CALL * +PFNCLENQUEUEMAPIMAGE)(cl_command_queue /* command_queue */, + cl_mem /* image */, + cl_bool /* blocking_map */, + cl_map_flags /* map_flags */, + const size_t * /* origin[3] */, + const size_t * /* region[3] */, + size_t * /* image_row_pitch */, + size_t * /* image_slice_pitch */, + cl_uint /* num_events_in_wait_list */, + const cl_event * /* event_wait_list */, + cl_event * /* event */, + cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLENQUEUEUNMAPMEMOBJECT)(cl_command_queue /* command_queue */, + cl_mem /* memobj */, + void * /* mapped_ptr */, + cl_uint /* num_events_in_wait_list */, + const cl_event * /* event_wait_list */, + cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLENQUEUENDRANGEKERNEL)(cl_command_queue /* command_queue */, + cl_kernel /* kernel */, + cl_uint /* work_dim */, + const size_t * /* global_work_offset */, + const size_t * /* global_work_size */, + const size_t * /* local_work_size */, + cl_uint /* num_events_in_wait_list */, + const cl_event * /* event_wait_list */, + cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLENQUEUETASK)(cl_command_queue /* command_queue */, + cl_kernel /* kernel */, + cl_uint /* num_events_in_wait_list */, + const cl_event * /* event_wait_list */, + cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLENQUEUENATIVEKERNEL)(cl_command_queue /* command_queue */, + void (*user_func)(void *), + void * /* args */, + size_t /* cb_args */, + cl_uint /* num_mem_objects */, + const cl_mem * /* mem_list */, + const void ** /* args_mem_loc */, + cl_uint /* num_events_in_wait_list */, + const cl_event * /* event_wait_list */, + cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLENQUEUEMARKER)(cl_command_queue /* command_queue */, + cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLENQUEUEWAITFOREVENTS)(cl_command_queue /* command_queue */, + cl_uint /* num_events */, + const cl_event * /* event_list */) CL_API_SUFFIX__VERSION_1_0; + +typedef CL_API_ENTRY cl_int (CL_API_CALL * +PFNCLENQUEUEBARRIER)(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; + +// Extension function access +// +// Returns the extension function address for the given function name, +// or NULL if a valid function can not be found. The client must +// check to make sure the address is not NULL, before using or +// calling the returned function address. +// +typedef CL_API_ENTRY void * (CL_API_CALL * PFNCLGETEXTENSIONFUNCTIONADDRESS)(const char * /* func_name */) CL_API_SUFFIX__VERSION_1_0; + + +#define CLEW_STATIC + +#ifdef CLEW_STATIC +# define CLEWAPI extern +#else +# ifdef CLEW_BUILD +# define CLEWAPI extern __declspec(dllexport) +# else +# define CLEWAPI extern __declspec(dllimport) +# endif +#endif + +#if defined(_WIN32) +#define CLEW_FUN_EXPORT extern +#else +#define CLEW_FUN_EXPORT CLEWAPI +#endif + +#define CLEW_GET_FUN(x) x + + +// Variables holding function entry points +CLEW_FUN_EXPORT PFNCLGETPLATFORMIDS __clewGetPlatformIDs ; +CLEW_FUN_EXPORT PFNCLGETPLATFORMINFO __clewGetPlatformInfo ; +CLEW_FUN_EXPORT PFNCLGETDEVICEIDS __clewGetDeviceIDs ; +CLEW_FUN_EXPORT PFNCLGETDEVICEINFO __clewGetDeviceInfo ; +CLEW_FUN_EXPORT PFNCLCREATECONTEXT __clewCreateContext ; +CLEW_FUN_EXPORT PFNCLCREATECONTEXTFROMTYPE __clewCreateContextFromType ; +CLEW_FUN_EXPORT PFNCLRETAINCONTEXT __clewRetainContext ; +CLEW_FUN_EXPORT PFNCLRELEASECONTEXT __clewReleaseContext ; +CLEW_FUN_EXPORT PFNCLGETCONTEXTINFO __clewGetContextInfo ; +CLEW_FUN_EXPORT PFNCLCREATECOMMANDQUEUE __clewCreateCommandQueue ; +CLEW_FUN_EXPORT PFNCLRETAINCOMMANDQUEUE __clewRetainCommandQueue ; +CLEW_FUN_EXPORT PFNCLRELEASECOMMANDQUEUE __clewReleaseCommandQueue ; +CLEW_FUN_EXPORT PFNCLGETCOMMANDQUEUEINFO __clewGetCommandQueueInfo ; +CLEW_FUN_EXPORT PFNCLSETCOMMANDQUEUEPROPERTY __clewSetCommandQueueProperty ; +CLEW_FUN_EXPORT PFNCLCREATEBUFFER __clewCreateBuffer ; +CLEW_FUN_EXPORT PFNCLCREATEIMAGE2D __clewCreateImage2D ; +CLEW_FUN_EXPORT PFNCLCREATEIMAGE3D __clewCreateImage3D ; +CLEW_FUN_EXPORT PFNCLRETAINMEMOBJECT __clewRetainMemObject ; +CLEW_FUN_EXPORT PFNCLRELEASEMEMOBJECT __clewReleaseMemObject ; +CLEW_FUN_EXPORT PFNCLGETSUPPORTEDIMAGEFORMATS __clewGetSupportedImageFormats ; +CLEW_FUN_EXPORT PFNCLGETMEMOBJECTINFO __clewGetMemObjectInfo ; +CLEW_FUN_EXPORT PFNCLGETIMAGEINFO __clewGetImageInfo ; +CLEW_FUN_EXPORT PFNCLCREATESAMPLER __clewCreateSampler ; +CLEW_FUN_EXPORT PFNCLRETAINSAMPLER __clewRetainSampler ; +CLEW_FUN_EXPORT PFNCLRELEASESAMPLER __clewReleaseSampler ; +CLEW_FUN_EXPORT PFNCLGETSAMPLERINFO __clewGetSamplerInfo ; +CLEW_FUN_EXPORT PFNCLCREATEPROGRAMWITHSOURCE __clewCreateProgramWithSource ; +CLEW_FUN_EXPORT PFNCLCREATEPROGRAMWITHBINARY __clewCreateProgramWithBinary ; +CLEW_FUN_EXPORT PFNCLRETAINPROGRAM __clewRetainProgram ; +CLEW_FUN_EXPORT PFNCLRELEASEPROGRAM __clewReleaseProgram ; +CLEW_FUN_EXPORT PFNCLBUILDPROGRAM __clewBuildProgram ; +CLEW_FUN_EXPORT PFNCLUNLOADCOMPILER __clewUnloadCompiler ; +CLEW_FUN_EXPORT PFNCLGETPROGRAMINFO __clewGetProgramInfo ; +CLEW_FUN_EXPORT PFNCLGETPROGRAMBUILDINFO __clewGetProgramBuildInfo ; +CLEW_FUN_EXPORT PFNCLCREATEKERNEL __clewCreateKernel ; +CLEW_FUN_EXPORT PFNCLCREATEKERNELSINPROGRAM __clewCreateKernelsInProgram ; +CLEW_FUN_EXPORT PFNCLRETAINKERNEL __clewRetainKernel ; +CLEW_FUN_EXPORT PFNCLRELEASEKERNEL __clewReleaseKernel ; +CLEW_FUN_EXPORT PFNCLSETKERNELARG __clewSetKernelArg ; +CLEW_FUN_EXPORT PFNCLGETKERNELINFO __clewGetKernelInfo ; +CLEW_FUN_EXPORT PFNCLGETKERNELWORKGROUPINFO __clewGetKernelWorkGroupInfo ; +CLEW_FUN_EXPORT PFNCLWAITFOREVENTS __clewWaitForEvents ; +CLEW_FUN_EXPORT PFNCLGETEVENTINFO __clewGetEventInfo ; +CLEW_FUN_EXPORT PFNCLRETAINEVENT __clewRetainEvent ; +CLEW_FUN_EXPORT PFNCLRELEASEEVENT __clewReleaseEvent ; +CLEW_FUN_EXPORT PFNCLGETEVENTPROFILINGINFO __clewGetEventProfilingInfo ; +CLEW_FUN_EXPORT PFNCLFLUSH __clewFlush ; +CLEW_FUN_EXPORT PFNCLFINISH __clewFinish ; +CLEW_FUN_EXPORT PFNCLENQUEUEREADBUFFER __clewEnqueueReadBuffer ; +CLEW_FUN_EXPORT PFNCLENQUEUEWRITEBUFFER __clewEnqueueWriteBuffer ; +CLEW_FUN_EXPORT PFNCLENQUEUECOPYBUFFER __clewEnqueueCopyBuffer ; +CLEW_FUN_EXPORT PFNCLENQUEUEREADIMAGE __clewEnqueueReadImage ; +CLEW_FUN_EXPORT PFNCLENQUEUEWRITEIMAGE __clewEnqueueWriteImage ; +CLEW_FUN_EXPORT PFNCLENQUEUECOPYIMAGE __clewEnqueueCopyImage ; +CLEW_FUN_EXPORT PFNCLENQUEUECOPYIMAGETOBUFFER __clewEnqueueCopyImageToBuffer ; +CLEW_FUN_EXPORT PFNCLENQUEUECOPYBUFFERTOIMAGE __clewEnqueueCopyBufferToImage ; +CLEW_FUN_EXPORT PFNCLENQUEUEMAPBUFFER __clewEnqueueMapBuffer ; +CLEW_FUN_EXPORT PFNCLENQUEUEMAPIMAGE __clewEnqueueMapImage ; +CLEW_FUN_EXPORT PFNCLENQUEUEUNMAPMEMOBJECT __clewEnqueueUnmapMemObject ; +CLEW_FUN_EXPORT PFNCLENQUEUENDRANGEKERNEL __clewEnqueueNDRangeKernel ; +CLEW_FUN_EXPORT PFNCLENQUEUETASK __clewEnqueueTask ; +CLEW_FUN_EXPORT PFNCLENQUEUENATIVEKERNEL __clewEnqueueNativeKernel ; +CLEW_FUN_EXPORT PFNCLENQUEUEMARKER __clewEnqueueMarker ; +CLEW_FUN_EXPORT PFNCLENQUEUEWAITFOREVENTS __clewEnqueueWaitForEvents ; +CLEW_FUN_EXPORT PFNCLENQUEUEBARRIER __clewEnqueueBarrier ; +CLEW_FUN_EXPORT PFNCLGETEXTENSIONFUNCTIONADDRESS __clewGetExtensionFunctionAddress ; + + +#define clGetPlatformIDs CLEW_GET_FUN(__clewGetPlatformIDs ) +#define clGetPlatformInfo CLEW_GET_FUN(__clewGetPlatformInfo ) +#define clGetDeviceIDs CLEW_GET_FUN(__clewGetDeviceIDs ) +#define clGetDeviceInfo CLEW_GET_FUN(__clewGetDeviceInfo ) +#define clCreateContext CLEW_GET_FUN(__clewCreateContext ) +#define clCreateContextFromType CLEW_GET_FUN(__clewCreateContextFromType ) +#define clRetainContext CLEW_GET_FUN(__clewRetainContext ) +#define clReleaseContext CLEW_GET_FUN(__clewReleaseContext ) +#define clGetContextInfo CLEW_GET_FUN(__clewGetContextInfo ) +#define clCreateCommandQueue CLEW_GET_FUN(__clewCreateCommandQueue ) +#define clRetainCommandQueue CLEW_GET_FUN(__clewRetainCommandQueue ) +#define clReleaseCommandQueue CLEW_GET_FUN(__clewReleaseCommandQueue ) +#define clGetCommandQueueInfo CLEW_GET_FUN(__clewGetCommandQueueInfo ) +#define clSetCommandQueueProperty CLEW_GET_FUN(__clewSetCommandQueueProperty ) +#define clCreateBuffer CLEW_GET_FUN(__clewCreateBuffer ) +#define clCreateImage2D CLEW_GET_FUN(__clewCreateImage2D ) +#define clCreateImage3D CLEW_GET_FUN(__clewCreateImage3D ) +#define clRetainMemObject CLEW_GET_FUN(__clewRetainMemObject ) +#define clReleaseMemObject CLEW_GET_FUN(__clewReleaseMemObject ) +#define clGetSupportedImageFormats CLEW_GET_FUN(__clewGetSupportedImageFormats ) +#define clGetMemObjectInfo CLEW_GET_FUN(__clewGetMemObjectInfo ) +#define clGetImageInfo CLEW_GET_FUN(__clewGetImageInfo ) +#define clCreateSampler CLEW_GET_FUN(__clewCreateSampler ) +#define clRetainSampler CLEW_GET_FUN(__clewRetainSampler ) +#define clReleaseSampler CLEW_GET_FUN(__clewReleaseSampler ) +#define clGetSamplerInfo CLEW_GET_FUN(__clewGetSamplerInfo ) +#define clCreateProgramWithSource CLEW_GET_FUN(__clewCreateProgramWithSource ) +#define clCreateProgramWithBinary CLEW_GET_FUN(__clewCreateProgramWithBinary ) +#define clRetainProgram CLEW_GET_FUN(__clewRetainProgram ) +#define clReleaseProgram CLEW_GET_FUN(__clewReleaseProgram ) +#define clBuildProgram CLEW_GET_FUN(__clewBuildProgram ) +#define clUnloadCompiler CLEW_GET_FUN(__clewUnloadCompiler ) +#define clGetProgramInfo CLEW_GET_FUN(__clewGetProgramInfo ) +#define clGetProgramBuildInfo CLEW_GET_FUN(__clewGetProgramBuildInfo ) +#define clCreateKernel CLEW_GET_FUN(__clewCreateKernel ) +#define clCreateKernelsInProgram CLEW_GET_FUN(__clewCreateKernelsInProgram ) +#define clRetainKernel CLEW_GET_FUN(__clewRetainKernel ) +#define clReleaseKernel CLEW_GET_FUN(__clewReleaseKernel ) +#define clSetKernelArg CLEW_GET_FUN(__clewSetKernelArg ) +#define clGetKernelInfo CLEW_GET_FUN(__clewGetKernelInfo ) +#define clGetKernelWorkGroupInfo CLEW_GET_FUN(__clewGetKernelWorkGroupInfo ) +#define clWaitForEvents CLEW_GET_FUN(__clewWaitForEvents ) +#define clGetEventInfo CLEW_GET_FUN(__clewGetEventInfo ) +#define clRetainEvent CLEW_GET_FUN(__clewRetainEvent ) +#define clReleaseEvent CLEW_GET_FUN(__clewReleaseEvent ) +#define clGetEventProfilingInfo CLEW_GET_FUN(__clewGetEventProfilingInfo ) +#define clFlush CLEW_GET_FUN(__clewFlush ) +#define clFinish CLEW_GET_FUN(__clewFinish ) +#define clEnqueueReadBuffer CLEW_GET_FUN(__clewEnqueueReadBuffer ) +#define clEnqueueWriteBuffer CLEW_GET_FUN(__clewEnqueueWriteBuffer ) +#define clEnqueueCopyBuffer CLEW_GET_FUN(__clewEnqueueCopyBuffer ) +#define clEnqueueReadImage CLEW_GET_FUN(__clewEnqueueReadImage ) +#define clEnqueueWriteImage CLEW_GET_FUN(__clewEnqueueWriteImage ) +#define clEnqueueCopyImage CLEW_GET_FUN(__clewEnqueueCopyImage ) +#define clEnqueueCopyImageToBuffer CLEW_GET_FUN(__clewEnqueueCopyImageToBuffer ) +#define clEnqueueCopyBufferToImage CLEW_GET_FUN(__clewEnqueueCopyBufferToImage ) +#define clEnqueueMapBuffer CLEW_GET_FUN(__clewEnqueueMapBuffer ) +#define clEnqueueMapImage CLEW_GET_FUN(__clewEnqueueMapImage ) +#define clEnqueueUnmapMemObject CLEW_GET_FUN(__clewEnqueueUnmapMemObject ) +#define clEnqueueNDRangeKernel CLEW_GET_FUN(__clewEnqueueNDRangeKernel ) +#define clEnqueueTask CLEW_GET_FUN(__clewEnqueueTask ) +#define clEnqueueNativeKernel CLEW_GET_FUN(__clewEnqueueNativeKernel ) +#define clEnqueueMarker CLEW_GET_FUN(__clewEnqueueMarker ) +#define clEnqueueWaitForEvents CLEW_GET_FUN(__clewEnqueueWaitForEvents ) +#define clEnqueueBarrier CLEW_GET_FUN(__clewEnqueueBarrier ) +#define clGetExtensionFunctionAddress CLEW_GET_FUN(__clewGetExtensionFunctionAddress ) + +#endif // CLCC_GENERATE_DOCUMENTATION + +#define CLEW_SUCCESS 0 //!< Success error code +#define CLEW_ERROR_OPEN_FAILED -1 //!< Error code for failing to open the dynamic library +#define CLEW_ERROR_ATEXIT_FAILED -2 //!< Error code for failing to queue the closing of the dynamic library to atexit() + +int clLibraryInit(void); +const char *clErrorString(cl_int error); + +#ifdef __cplusplus +} +#endif + +#endif /* __UTIL_OPENCL_H__ */ + diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index 0c5f15c130b..8afd7e2f3c4 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -739,7 +739,6 @@ if(WITH_CYCLES) cycles_subd) endif() - #if(UNIX) # Sort libraries set(BLENDER_SORTED_LIBS From 8ddef5163fc7bad1c55b6b8c1d9f6f349719800b Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 1 Sep 2011 19:43:57 +0000 Subject: [PATCH 111/241] Cycles: fix broken kernel compile after recent change, some tweaks to UI to only show options when available, fix linux lib detection. --- intern/cycles/blender/addon/enums.py | 2 +- intern/cycles/blender/addon/ui.py | 10 ++++++--- intern/cycles/blender/blender_sync.cpp | 28 +++++++++++++++++--------- intern/cycles/kernel/kernel_shader.h | 2 +- intern/cycles/util/util_opencl.c | 2 +- 5 files changed, 29 insertions(+), 15 deletions(-) diff --git a/intern/cycles/blender/addon/enums.py b/intern/cycles/blender/addon/enums.py index 0ae97184e65..4f0666cf1e8 100644 --- a/intern/cycles/blender/addon/enums.py +++ b/intern/cycles/blender/addon/enums.py @@ -22,7 +22,7 @@ devices = ( gpu_type = ( ("CUDA", "CUDA", "NVidia only"), -("OPENCL", "OpenCL", "")) +("OPENCL", "OpenCL (incomplete)", "")) shading_systems = ( ("GPU_COMPATIBLE", "GPU Compatible", "Restricted shading system compatible with GPU rendering"), diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index ca6800e7fa0..da99e4e23d6 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -522,10 +522,14 @@ def draw_device(self, context): if scene.render.engine == "CYCLES": cscene = scene.cycles - if ('cuda' or 'opencl') in engine.available_devices(): + available_devices = engine.available_devices() + available_cuda = 'cuda' in available_devices + available_opencl = 'opencl' in available_devices + + if available_cuda or available_opencl: layout.prop(cscene, "device") - if cscene.device == 'GPU': - layout.prop(cscene, "gpu_type", expand=True) + if cscene.device == 'GPU' and available_cuda and available_opencl: + layout.prop(cscene, "gpu_type") if cscene.device == 'CPU' and engine.with_osl(): layout.prop(cscene, "shading_system") diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index 0c447c0512e..ea5d0a1a3c6 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -199,24 +199,34 @@ bool BlenderSync::get_session_pause(BL::Scene b_scene, bool background) return (background)? false: get_boolean(cscene, "preview_pause"); } +static bool device_type_available(vector& types, DeviceType dtype) +{ + foreach(DeviceType dt, types) + if(dt == dtype) + return true; + + return false; +} + SessionParams BlenderSync::get_session_params(BL::Scene b_scene, bool background) { SessionParams params; - DeviceType dtype; PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles"); /* device type */ - if ((RNA_enum_get(&cscene, "device")) == 0) - dtype = DEVICE_CPU; - else - dtype = ((RNA_enum_get(&cscene, "gpu_type")) == 0)? DEVICE_CUDA: DEVICE_OPENCL; - params.device_type = DEVICE_CPU; - vector types = Device::available_types(); - foreach(DeviceType dt, types) - if(dt == dtype) + if(RNA_enum_get(&cscene, "device") != 0) { + vector types = Device::available_types(); + DeviceType dtype = (RNA_enum_get(&cscene, "gpu_type") == 0)? DEVICE_CUDA: DEVICE_OPENCL; + + if(device_type_available(types, dtype)) params.device_type = dtype; + else if(device_type_available(types, DEVICE_OPENCL)) + params.device_type = DEVICE_OPENCL; + else if(device_type_available(types, DEVICE_CUDA)) + params.device_type = DEVICE_CUDA; + } /* Background */ params.background = background; diff --git a/intern/cycles/kernel/kernel_shader.h b/intern/cycles/kernel/kernel_shader.h index ed3aec21207..237033eff8b 100644 --- a/intern/cycles/kernel/kernel_shader.h +++ b/intern/cycles/kernel/kernel_shader.h @@ -357,8 +357,8 @@ __device float3 shader_holdout_eval(KernelGlobals *kg, ShaderData *sd) if(sd->svm_closure == CLOSURE_HOLDOUT_ID) return make_float3(1.0f, 1.0f, 1.0f); else - return make_float3(0.0f, 0.0f, 0.0f); #endif + return make_float3(0.0f, 0.0f, 0.0f); } } diff --git a/intern/cycles/util/util_opencl.c b/intern/cycles/util/util_opencl.c index b049a7b44ce..d0b7bb331a8 100755 --- a/intern/cycles/util/util_opencl.c +++ b/intern/cycles/util/util_opencl.c @@ -134,7 +134,7 @@ int clLibraryInit() #elif defined(__APPLE__) const char *path = "/Library/Frameworks/OpenCL.framework/OpenCL"; #else - const char *path = "libopencl.so"; + const char *path = "libOpenCL.so"; #endif int error = 0; From 1f7ac51c360f69e82244324161c87cbc32c518fb Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 1 Sep 2011 22:40:52 +0000 Subject: [PATCH 112/241] Cycles: fix opencl device bug that crashed on windows. Now shows diffuse meshes here on windows/nvidia. --- intern/cycles/device/device_opencl.cpp | 3 ++- intern/cycles/kernel/kernel_shader.h | 2 +- intern/cycles/util/util_opencl.c | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp index d67fdc970a9..4020cc87392 100644 --- a/intern/cycles/device/device_opencl.cpp +++ b/intern/cycles/device/device_opencl.cpp @@ -140,13 +140,14 @@ public: /* compile kernel */ string source = string_printf("#include \"kernel.cl\" // %lf\n", time_dt()); size_t source_len = source.size(); + const char *source_str = source.c_str(); string build_options = ""; build_options += "-I " + path_get("kernel") + " -I " + path_get("util"); /* todo: escape path */ build_options += " -Werror -cl-fast-relaxed-math -cl-strict-aliasing"; - cpProgram = clCreateProgramWithSource(cxContext, 1, (const char **)&source, &source_len, &ciErr); + cpProgram = clCreateProgramWithSource(cxContext, 1, (const char **)&source_str, &source_len, &ciErr); opencl_assert(ciErr); diff --git a/intern/cycles/kernel/kernel_shader.h b/intern/cycles/kernel/kernel_shader.h index 237033eff8b..92d920b5c61 100644 --- a/intern/cycles/kernel/kernel_shader.h +++ b/intern/cycles/kernel/kernel_shader.h @@ -377,7 +377,7 @@ __device void shader_eval_surface(KernelGlobals *kg, ShaderData *sd, #ifdef __SVM__ svm_eval_nodes(kg, sd, SHADER_TYPE_SURFACE, randb, path_flag); #else - sd->svm_closure = CLOSURE_BSDF_DIFFUSE_ID; + bsdf_diffuse_setup(sd, sd->N); sd->svm_closure_weight = make_float3(0.8f, 0.8f, 0.8f); #endif diff --git a/intern/cycles/util/util_opencl.c b/intern/cycles/util/util_opencl.c index d0b7bb331a8..10429ffcd80 100755 --- a/intern/cycles/util/util_opencl.c +++ b/intern/cycles/util/util_opencl.c @@ -130,7 +130,7 @@ static void clewExit(void) int clLibraryInit() { #ifdef _WIN32 - const char *path = "opencl.dll"; + const char *path = "OpenCL.dll"; #elif defined(__APPLE__) const char *path = "/Library/Frameworks/OpenCL.framework/OpenCL"; #else From 5feb921eba6b954c838724880aeda2576106089d Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 1 Sep 2011 22:53:11 +0000 Subject: [PATCH 113/241] Cycles: revert fix for integrator preset refresh, it causes continuous redraw leading to high cpu usage, need to find better solution. --- source/blender/makesrna/intern/rna_access.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c index bb61d34b404..59e92ee4619 100644 --- a/source/blender/makesrna/intern/rna_access.c +++ b/source/blender/makesrna/intern/rna_access.c @@ -1378,7 +1378,7 @@ static void rna_property_update(bContext *C, Main *bmain, Scene *scene, PointerR * but this isnt likely to be a performance problem. */ int RNA_property_update_check(PropertyRNA *prop) { - return ((prop->magic != RNA_MAGIC) || (prop->flag & PROP_IDPROPERTY)|| prop->update || prop->noteflag); + return ((prop->magic != RNA_MAGIC) || prop->update || prop->noteflag); } void RNA_property_update(bContext *C, PointerRNA *ptr, PropertyRNA *prop) From 3c7dcd7a471002efef504a2b0856a86b76cdfaf5 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 2 Sep 2011 00:10:03 +0000 Subject: [PATCH 114/241] Cycles: compile opencl kernels in non-blocking thread, and don't crash on build failure but show error message in status text. --- intern/cycles/device/device.h | 3 ++ intern/cycles/device/device_cuda.cpp | 29 ++++++++++++++----- intern/cycles/device/device_opencl.cpp | 39 +++++++++++++++++--------- intern/cycles/render/session.cpp | 9 ++++++ intern/cycles/util/util_math.h | 12 ++++++-- intern/cycles/util/util_string.cpp | 4 +-- intern/cycles/util/util_string.h | 2 +- 7 files changed, 72 insertions(+), 26 deletions(-) diff --git a/intern/cycles/device/device.h b/intern/cycles/device/device.h index 87683ae4719..aa9cb9eb8f4 100644 --- a/intern/cycles/device/device.h +++ b/intern/cycles/device/device.h @@ -108,6 +108,9 @@ public: /* open shading language, only for CPU device */ virtual void *osl_memory() { return NULL; } + /* load/compile kernels, must be called before adding tasks */ + virtual bool load_kernels() { return true; } + /* tasks */ virtual void task_add(DeviceTask& task) = 0; virtual void task_wait() = 0; diff --git a/intern/cycles/device/device_cuda.cpp b/intern/cycles/device/device_cuda.cpp index cc1c1275bf4..a6a66873b92 100644 --- a/intern/cycles/device/device_cuda.cpp +++ b/intern/cycles/device/device_cuda.cpp @@ -137,7 +137,6 @@ public: CUDADevice(bool background_) { - int major, minor; background = background_; cuDevId = 0; @@ -153,11 +152,6 @@ public: else cuda_assert(cuGLCtxCreate(&cuContext, 0, cuDevice)) - /* open module */ - cuDeviceComputeCapability(&major, &minor, cuDevId); - string cubin = string_printf("lib/kernel_sm_%d%d.cubin", major, minor); - cuda_assert(cuModuleLoad(&cuModule, path_get(cubin).c_str())) - cuda_pop_context(); } @@ -179,6 +173,27 @@ public: return string("CUDA ") + deviceName; } + + bool load_kernels() + { + CUresult result; + int major, minor; + + cuda_push_context(); + + /* open module */ + cuDeviceComputeCapability(&major, &minor, cuDevId); + string cubin = path_get(string_printf("lib/kernel_sm_%d%d.cubin", major, minor)); + + result = cuModuleLoad(&cuModule, cubin.c_str()); + if(result != CUDA_SUCCESS) + fprintf(stderr, "Failed loading CUDA kernel %s (%s).\n", cubin.c_str(), cuda_error_string(result)); + + cuda_pop_context(); + + return (result == CUDA_SUCCESS); + } + void mem_alloc(device_memory& mem, MemoryType type) { cuda_push_context(); @@ -231,7 +246,7 @@ public: cuda_push_context(); cuda_assert(cuModuleGetGlobal(&mem, &bytes, cuModule, name)) - assert(bytes == size); + //assert(bytes == size); cuda_assert(cuMemcpyHtoD(mem, host, size)) cuda_pop_context(); } diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp index 4020cc87392..afde8ac4c82 100644 --- a/intern/cycles/device/device_opencl.cpp +++ b/intern/cycles/device/device_opencl.cpp @@ -136,7 +136,16 @@ public: cqCommandQueue = clCreateCommandQueue(cxContext, cdDevice, 0, &ciErr); opencl_assert(ciErr); - + + null_mem = (device_ptr)clCreateBuffer(cxContext, CL_MEM_READ_ONLY, 1, NULL, &ciErr); + + cpProgram = NULL; + ckPathTraceKernel = NULL; + ckFilmConvertKernel = NULL; + } + + bool load_kernels() + { /* compile kernel */ string source = string_printf("#include \"kernel.cl\" // %lf\n", time_dt()); size_t source_len = source.size(); @@ -152,6 +161,7 @@ public: opencl_assert(ciErr); ciErr = clBuildProgram(cpProgram, 0, NULL, build_options.c_str(), NULL, NULL); + if(ciErr != CL_SUCCESS) { char *build_log; size_t ret_val_size; @@ -162,13 +172,11 @@ public: clGetProgramBuildInfo(cpProgram, cdDevice, CL_PROGRAM_BUILD_LOG, ret_val_size, build_log, NULL); build_log[ret_val_size] = '\0'; - printf("OpenCL build failed:\n %s\n", build_log); + fprintf(stderr, "OpenCL build failed:\n %s\n", build_log); delete[] build_log; - opencl_assert(ciErr); - - return; + return false; } ckPathTraceKernel = clCreateKernel(cpProgram, "kernel_ocl_path_trace", &ciErr); @@ -176,13 +184,13 @@ public: ckFilmConvertKernel = clCreateKernel(cpProgram, "kernel_ocl_tonemap", &ciErr); opencl_assert(ciErr); - null_mem = (device_ptr)clCreateBuffer(cxContext, CL_MEM_READ_ONLY, 1, NULL, &ciErr); + return true; } ~OpenCLDevice() { - - clReleaseMemObject(CL_MEM_PTR(null_mem)); + if(null_mem) + clReleaseMemObject(CL_MEM_PTR(null_mem)); map*>::iterator mt; for(mt = const_mem_map.begin(); mt != const_mem_map.end(); mt++) { @@ -190,11 +198,16 @@ public: delete mt->second; } - clReleaseKernel(ckPathTraceKernel); - clReleaseKernel(ckFilmConvertKernel); - clReleaseProgram(cpProgram); - clReleaseCommandQueue(cqCommandQueue); - clReleaseContext(cxContext); + if(ckPathTraceKernel) + clReleaseKernel(ckPathTraceKernel); + if(ckFilmConvertKernel) + clReleaseKernel(ckFilmConvertKernel); + if(cpProgram) + clReleaseProgram(cpProgram); + if(cqCommandQueue) + clReleaseCommandQueue(cqCommandQueue); + if(cxContext) + clReleaseContext(cxContext); } string description() diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp index 52366f06337..daa10ad4f19 100644 --- a/intern/cycles/render/session.cpp +++ b/intern/cycles/render/session.cpp @@ -380,6 +380,15 @@ void Session::run_cpu() void Session::run() { + /* load kernels */ + progress.set_status("Loading render kernels"); + + if(!device->load_kernels()) { + progress.set_status("Failed loading render kernel, see console for errors"); + progress.set_update(); + return; + } + /* session thread loop */ progress.set_status("Waiting for render to start"); diff --git a/intern/cycles/util/util_math.h b/intern/cycles/util/util_math.h index c435a9e17b8..8e52b98d52b 100644 --- a/intern/cycles/util/util_math.h +++ b/intern/cycles/util/util_math.h @@ -38,14 +38,20 @@ CCL_NAMESPACE_BEGIN -#ifndef __KERNEL_OPENCL__ - +#ifndef M_PI_F #define M_PI_F ((float)3.14159265358979323846264338327950288) +#endif +#ifndef M_PI_2_F #define M_PI_2_F ((float)1.57079632679489661923132169163975144) +#endif +#ifndef M_PI_4_F #define M_PI_4_F ((float)0.785398163397448309615660845819875721) +#endif +#ifndef M_1_PI_F #define M_1_PI_F ((float)0.318309886183790671537767526745028724) +#endif +#ifndef M_2_PI_F #define M_2_PI_F ((float)0.636619772367581343075535053490057448) - #endif /* Scalar */ diff --git a/intern/cycles/util/util_string.cpp b/intern/cycles/util/util_string.cpp index aaa482eec0d..0dac9a8142a 100644 --- a/intern/cycles/util/util_string.cpp +++ b/intern/cycles/util/util_string.cpp @@ -77,11 +77,11 @@ bool string_iequals(const string& a, const string& b) return false; } -void string_split(vector& tokens, const string& str) +void string_split(vector& tokens, const string& str, const string& separators) { vector split; - boost::split(split, str, boost::is_any_of("\t "), boost::token_compress_on); + boost::split(split, str, boost::is_any_of(separators), boost::token_compress_on); foreach(const string& token, split) if(token != "") diff --git a/intern/cycles/util/util_string.h b/intern/cycles/util/util_string.h index 72b893d2b17..342edd53658 100644 --- a/intern/cycles/util/util_string.h +++ b/intern/cycles/util/util_string.h @@ -41,7 +41,7 @@ using std::istringstream; string string_printf(const char *format, ...) PRINTF_ATTRIBUTE; bool string_iequals(const string& a, const string& b); -void string_split(vector& tokens, const string& str); +void string_split(vector& tokens, const string& str, const string& separators = "\t "); CCL_NAMESPACE_END From fefbdc4376b6bacdaba0ad50da3c706289301b3d Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Fri, 2 Sep 2011 00:53:00 +0000 Subject: [PATCH 115/241] Cycles: Remove warning of OpenCL not working from cmake, could be made enabled by default too, but will leave that for Brecht. :) --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index eb4323416ca..d1b4a9a7590 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -208,7 +208,7 @@ option(WITH_API_INSTALL "Copy API header files into the blender install fold option(WITH_CYCLES "Enable Cycles Render Engine" ON) OPTION(WITH_CYCLES_OSL "Build with Open Shading Language support" OFF) OPTION(WITH_CYCLES_CUDA "Build with CUDA support" OFF) -OPTION(WITH_CYCLES_OPENCL "Build with OpenCL support (not working)" OFF) +OPTION(WITH_CYCLES_OPENCL "Build with OpenCL support" OFF) OPTION(WITH_CYCLES_BLENDER "Build Blender Python extension" ON) OPTION(WITH_CYCLES_PARTIO "Build with Partio point cloud support (unfinished)" OFF) OPTION(WITH_CYCLES_NETWORK "Build with network rendering support (unfinished)" OFF) From f10a5c9dc7f864b50c6bec3bf814fbd5e3056ba8 Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Fri, 2 Sep 2011 12:46:37 +0000 Subject: [PATCH 116/241] Cycles UI: * If only CUDA or OpenCL is available, show the available one in the device button. --- intern/cycles/blender/addon/enums.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/intern/cycles/blender/addon/enums.py b/intern/cycles/blender/addon/enums.py index 4f0666cf1e8..9842f2347a5 100644 --- a/intern/cycles/blender/addon/enums.py +++ b/intern/cycles/blender/addon/enums.py @@ -16,9 +16,24 @@ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # +from cycles import engine + +def get_gpu_device(): + available_devices = engine.available_devices() + cuda = 'cuda' in available_devices + opencl = 'opencl' in available_devices + if cuda and opencl: + gpu_string = "GPU" + elif cuda and not opencl: + gpu_string = "GPU (CUDA)" + else: + gpu_string = "GPU (OpenCL)" + + return gpu_string + devices = ( ("CPU", "CPU", "Processor"), -("GPU", "GPU", "Graphics card")) +("GPU", get_gpu_device(), "Graphics card")) gpu_type = ( ("CUDA", "CUDA", "NVidia only"), From 1135875ab1501ff38184b91dc541aa8a2fe89c92 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 2 Sep 2011 14:55:06 +0000 Subject: [PATCH 117/241] Cycles: * Fix crash in light path node * Fix struct alignment issue for cuda * Fix issue with instances taking up too much memory * Fix issue with ray visibility working incorrect on some objects * Enable OpenCL always and remove option, it has no dependencies so may as well * Refuse to load kernel if OpenCL version < 1.1, recent drivers are needed * Better error handling for OpenCL device * 3D views with rendered draw mode will now revert to wireframe on file load --- CMakeLists.txt | 1 - intern/cycles/CMakeLists.txt | 4 +- intern/cycles/bvh/bvh.cpp | 29 +++++- intern/cycles/device/device_opencl.cpp | 105 +++++++++++++++++--- intern/cycles/kernel/CMakeLists.txt | 24 ++--- intern/cycles/kernel/kernel_types.h | 3 - intern/cycles/render/nodes.cpp | 3 +- intern/cycles/util/util_opencl.h | 12 +++ source/blender/blenloader/intern/readfile.c | 4 + 9 files changed, 145 insertions(+), 40 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a09d208c9ab..b57d58258cf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -208,7 +208,6 @@ option(WITH_API_INSTALL "Copy API header files into the blender install fold option(WITH_CYCLES "Enable Cycles Render Engine" ON) OPTION(WITH_CYCLES_OSL "Build with Open Shading Language support" OFF) OPTION(WITH_CYCLES_CUDA "Build with CUDA support" OFF) -OPTION(WITH_CYCLES_OPENCL "Build with OpenCL support" OFF) OPTION(WITH_CYCLES_BLENDER "Build Blender Python extension" ON) OPTION(WITH_CYCLES_PARTIO "Build with Partio point cloud support (unfinished)" OFF) OPTION(WITH_CYCLES_NETWORK "Build with network rendering support (unfinished)" OFF) diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index 5fce056259a..fd501b85be9 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -52,9 +52,7 @@ if(WITH_CYCLES_PARTIO) add_definitions(-DWITH_PARTIO) endif() -if(WITH_CYCLES_OPENCL) - add_definitions(-DWITH_OPENCL) -endif() +add_definitions(-DWITH_OPENCL) include_directories( ${BOOST_INCLUDE_DIR} diff --git a/intern/cycles/bvh/bvh.cpp b/intern/cycles/bvh/bvh.cpp index 9bd748157bf..3be1f822ed7 100644 --- a/intern/cycles/bvh/bvh.cpp +++ b/intern/cycles/bvh/bvh.cpp @@ -27,6 +27,7 @@ #include "util_cache.h" #include "util_debug.h" #include "util_foreach.h" +#include "util_map.h" #include "util_progress.h" #include "util_types.h" @@ -287,17 +288,25 @@ void BVH::pack_instances(size_t nodes_size) size_t pack_nodes_offset = nodes_size; size_t object_offset = 0; + map mesh_map; + foreach(Object *ob, objects) { Mesh *mesh = ob->mesh; BVH *bvh = mesh->bvh; if(!mesh->transform_applied) { - prim_index_size += bvh->pack.prim_index.size(); - tri_woop_size += bvh->pack.tri_woop.size(); - nodes_size += bvh->pack.nodes.size()*nsize; + if(mesh_map.find(mesh) == mesh_map.end()) { + prim_index_size += bvh->pack.prim_index.size(); + tri_woop_size += bvh->pack.tri_woop.size(); + nodes_size += bvh->pack.nodes.size()*nsize; + + mesh_map[mesh] = 1; + } } } + mesh_map.clear(); + pack.prim_index.resize(prim_index_size); pack.prim_object.resize(prim_index_size); pack.prim_visibility.resize(prim_index_size); @@ -322,6 +331,16 @@ void BVH::pack_instances(size_t nodes_size) continue; } + /* if mesh already added once, don't add it again, but used set + node offset for this object */ + map::iterator it = mesh_map.find(mesh); + + if(mesh_map.find(mesh) != mesh_map.end()) { + int noffset = it->second; + pack.object_node[object_offset++] = noffset; + continue; + } + BVH *bvh = mesh->bvh; int noffset = nodes_offset/nsize; @@ -333,6 +352,8 @@ void BVH::pack_instances(size_t nodes_size) else pack.object_node[object_offset++] = noffset; + mesh_map[mesh] = pack.object_node[object_offset-1]; + /* merge primitive and object indexes */ { size_t bvh_prim_index_size = bvh->pack.prim_index.size(); @@ -341,7 +362,7 @@ void BVH::pack_instances(size_t nodes_size) for(size_t i = 0; i < bvh_prim_index_size; i++) { pack_prim_index[pack_prim_index_offset] = bvh_prim_index[i] + mesh_tri_offset; - pack_prim_visibility[pack_prim_index_offset] = bvh_prim_visibility[i] + mesh_tri_offset; + pack_prim_visibility[pack_prim_index_offset] = bvh_prim_visibility[i]; pack_prim_object[pack_prim_index_offset] = 0; // unused for instances pack_prim_index_offset++; } diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp index afde8ac4c82..9d25b6df529 100644 --- a/intern/cycles/device/device_opencl.cpp +++ b/intern/cycles/device/device_opencl.cpp @@ -49,6 +49,7 @@ public: map*> const_mem_map; map mem_map; device_ptr null_mem; + bool device_initialized; const char *opencl_error_string(cl_int err) { @@ -103,50 +104,120 @@ public: } } + bool opencl_error(cl_int err) + { + if(err != CL_SUCCESS) { + fprintf(stderr, "OpenCL error (%d): %s\n", err, opencl_error_string(err)); + return true; + } + + return false; + } + void opencl_assert(cl_int err) { if(err != CL_SUCCESS) { printf("error (%d): %s\n", err, opencl_error_string(err)); +#ifndef NDEBUG abort(); +#endif } } OpenCLDevice(bool background_) { background = background_; + cpPlatform = NULL; + cxContext = NULL; + cqCommandQueue = NULL; + cpProgram = NULL; + ckPathTraceKernel = NULL; + ckFilmConvertKernel = NULL; + null_mem = 0; + device_initialized = false; + vector platform_ids; cl_uint num_platforms; /* setup device */ ciErr = clGetPlatformIDs(0, NULL, &num_platforms); - opencl_assert(ciErr); - assert(num_platforms != 0); + if(opencl_error(ciErr)) + return; + + if(num_platforms == 0) { + fprintf(stderr, "OpenCL: no platforms found.\n"); + return; + } platform_ids.resize(num_platforms); ciErr = clGetPlatformIDs(num_platforms, &platform_ids[0], NULL); - opencl_assert(ciErr); + if(opencl_error(ciErr)) + return; cpPlatform = platform_ids[0]; /* todo: pick specified platform && device */ ciErr = clGetDeviceIDs(cpPlatform, CL_DEVICE_TYPE_ALL, 1, &cdDevice, NULL); - opencl_assert(ciErr); + if(opencl_error(ciErr)) + return; cxContext = clCreateContext(0, 1, &cdDevice, NULL, NULL, &ciErr); - opencl_assert(ciErr); + if(opencl_error(ciErr)) + return; cqCommandQueue = clCreateCommandQueue(cxContext, cdDevice, 0, &ciErr); - opencl_assert(ciErr); + if(opencl_error(ciErr)) + return; null_mem = (device_ptr)clCreateBuffer(cxContext, CL_MEM_READ_ONLY, 1, NULL, &ciErr); + device_initialized = true; + } - cpProgram = NULL; - ckPathTraceKernel = NULL; - ckFilmConvertKernel = NULL; + bool opencl_version_check() + { + char version[256]; + int major, minor, req_major = 1, req_minor = 1; + + clGetPlatformInfo(cpPlatform, CL_PLATFORM_VERSION, sizeof(version), &version, NULL); + + if(sscanf(version, "OpenCL %d.%d", &major, &minor) < 2) { + fprintf(stderr, "OpenCL: failed to parse platform version string (%s).", version); + return false; + } + + if(!((major == req_major && minor >= req_minor) || (major > req_major))) { + fprintf(stderr, "OpenCL: platform version 1.1 or later required, found %d.%d\n", major, minor); + return false; + } + + clGetDeviceInfo(cdDevice, CL_DEVICE_OPENCL_C_VERSION, sizeof(version), &version, NULL); + + if(sscanf(version, "OpenCL C %d.%d", &major, &minor) < 2) { + fprintf(stderr, "OpenCL: failed to parse OpenCL C version string (%s).", version); + return false; + } + + if(!((major == req_major && minor >= req_minor) || (major > req_major))) { + fprintf(stderr, "OpenCL: C version 1.1 or later required, found %d.%d\n", major, minor); + return false; + } + + /* we don't check CL_DEVICE_VERSION since for e.g. nvidia sm 1.3 cards this is + 1.0 even if the language features are there, just limited shared memory */ + + return true; } bool load_kernels() { - /* compile kernel */ + /* verify if device was initialized */ + if(!device_initialized) + return false; + + /* verify we have right opencl version */ + if(!opencl_version_check()) + return false; + + /* compile source */ string source = string_printf("#include \"kernel.cl\" // %lf\n", time_dt()); size_t source_len = source.size(); const char *source_str = source.c_str(); @@ -156,9 +227,9 @@ public: build_options += "-I " + path_get("kernel") + " -I " + path_get("util"); /* todo: escape path */ build_options += " -Werror -cl-fast-relaxed-math -cl-strict-aliasing"; - cpProgram = clCreateProgramWithSource(cxContext, 1, (const char **)&source_str, &source_len, &ciErr); - - opencl_assert(ciErr); + cpProgram = clCreateProgramWithSource(cxContext, 1, &source_str, &source_len, &ciErr); + if(opencl_error(ciErr)) + return false; ciErr = clBuildProgram(cpProgram, 0, NULL, build_options.c_str(), NULL, NULL); @@ -179,10 +250,14 @@ public: return false; } + /* find kernels */ ckPathTraceKernel = clCreateKernel(cpProgram, "kernel_ocl_path_trace", &ciErr); - opencl_assert(ciErr); + if(opencl_error(ciErr)) + return false; + ckFilmConvertKernel = clCreateKernel(cpProgram, "kernel_ocl_tonemap", &ciErr); - opencl_assert(ciErr); + if(opencl_error(ciErr)) + return false; return true; } diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt index 7c77bf7ff82..31fe6994a1a 100644 --- a/intern/cycles/kernel/CMakeLists.txt +++ b/intern/cycles/kernel/CMakeLists.txt @@ -123,18 +123,16 @@ endif() # OPENCL kernel -if(WITH_CYCLES_OPENCL) - #set(kernel_preprocessed ${CMAKE_CURRENT_BINARY_DIR}/kernel_preprocessed.cl) - #add_custom_command( - # OUTPUT ${kernel_preprocessed} - # COMMAND gcc -x c++ -E ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cl -I ${CMAKE_CURRENT_SOURCE_DIR}/../util/ -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= -DWITH_OPENCL -o ${kernel_preprocessed} - # DEPENDS ${kernel_sources} ${util_headers}) - #add_custom_target(cycles_kernel_preprocess ALL DEPENDS ${kernel_preprocessed}) - #delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${kernel_preprocessed}" ${CYCLES_INSTALL_PATH}/kernel) +#set(kernel_preprocessed ${CMAKE_CURRENT_BINARY_DIR}/kernel_preprocessed.cl) +#add_custom_command( +# OUTPUT ${kernel_preprocessed} +# COMMAND gcc -x c++ -E ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cl -I ${CMAKE_CURRENT_SOURCE_DIR}/../util/ -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= -DWITH_OPENCL -o ${kernel_preprocessed} +# DEPENDS ${kernel_sources} ${util_headers}) +#add_custom_target(cycles_kernel_preprocess ALL DEPENDS ${kernel_preprocessed}) +#delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${kernel_preprocessed}" ${CYCLES_INSTALL_PATH}/kernel) - delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "kernel.cl" ${CYCLES_INSTALL_PATH}/kernel) - delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${headers}" ${CYCLES_INSTALL_PATH}/kernel) - delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${svm_headers}" ${CYCLES_INSTALL_PATH}/kernel/svm) - delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${util_headers}" ${CYCLES_INSTALL_PATH}/kernel) -endif() +delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "kernel.cl" ${CYCLES_INSTALL_PATH}/kernel) +delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${headers}" ${CYCLES_INSTALL_PATH}/kernel) +delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${svm_headers}" ${CYCLES_INSTALL_PATH}/kernel/svm) +delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${util_headers}" ${CYCLES_INSTALL_PATH}/kernel) diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index 5881f090944..3f7abbeca84 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -371,9 +371,6 @@ typedef struct KernelIntegrator { /* caustics */ int no_caustics; float blur_caustics; - - /* padding */ - int pad[2]; } KernelIntegrator; typedef struct KernelBVH { diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index 900115d2231..0ff774bce59 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -1490,8 +1490,9 @@ LightPathNode::LightPathNode() add_output("Is Shadow Ray", SHADER_SOCKET_FLOAT); add_output("Is Diffuse Ray", SHADER_SOCKET_FLOAT); add_output("Is Glossy Ray", SHADER_SOCKET_FLOAT); - add_output("Is Transmission Ray", SHADER_SOCKET_FLOAT); add_output("Is Singular Ray", SHADER_SOCKET_FLOAT); + add_output("Is Reflection Ray", SHADER_SOCKET_FLOAT); + add_output("Is Transmission Ray", SHADER_SOCKET_FLOAT); } void LightPathNode::compile(SVMCompiler& compiler) diff --git a/intern/cycles/util/util_opencl.h b/intern/cycles/util/util_opencl.h index 0c643e5d475..d3c95289101 100755 --- a/intern/cycles/util/util_opencl.h +++ b/intern/cycles/util/util_opencl.h @@ -482,6 +482,18 @@ typedef struct _cl_image_format { #define CL_DEVICE_VERSION 0x102F #define CL_DEVICE_EXTENSIONS 0x1030 #define CL_DEVICE_PLATFORM 0x1031 +/* 0x1032 reserved for CL_DEVICE_DOUBLE_FP_CONFIG */ +/* 0x1033 reserved for CL_DEVICE_HALF_FP_CONFIG */ +#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF 0x1034 +#define CL_DEVICE_HOST_UNIFIED_MEMORY 0x1035 +#define CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR 0x1036 +#define CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT 0x1037 +#define CL_DEVICE_NATIVE_VECTOR_WIDTH_INT 0x1038 +#define CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG 0x1039 +#define CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT 0x103A +#define CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE 0x103B +#define CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF 0x103C +#define CL_DEVICE_OPENCL_C_VERSION 0x103D // cl_device_fp_config - bitfield #define CL_FP_DENORM (1 << 0) diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 336e373012c..f11da97a1a0 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -5414,6 +5414,10 @@ static void direct_link_screen(FileData *fd, bScreen *sc) v3d->afterdraw_xray.first= v3d->afterdraw_xray.last= NULL; v3d->afterdraw_xraytransp.first= v3d->afterdraw_xraytransp.last= NULL; v3d->properties_storage= NULL; + + /* render can be quite heavy, set to wire on load */ + if(v3d->drawtype == OB_RENDER) + v3d->drawtype = OB_WIRE; view3d_split_250(v3d, &sl->regionbase); } From 67030aaf84229b4d0dc52fbe07e91c2c9d320b0d Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 2 Sep 2011 16:15:18 +0000 Subject: [PATCH 118/241] Cycles: optimizations for instances in scene updates before render starts, should load a non-trivial mesh instanced many times quite a bit faster now. --- intern/cycles/device/device_opencl.cpp | 7 ++- intern/cycles/render/light.cpp | 63 ++++++++++++++++++-------- intern/cycles/render/object.cpp | 41 +++++++++++++---- intern/cycles/util/util_transform.h | 24 ++++++++++ 4 files changed, 107 insertions(+), 28 deletions(-) diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp index 9d25b6df529..787f0e6feab 100644 --- a/intern/cycles/device/device_opencl.cpp +++ b/intern/cycles/device/device_opencl.cpp @@ -217,8 +217,13 @@ public: if(!opencl_version_check()) return false; + /* nvidia opencl cache doesn't not work correct with includes, so force recompile */ + static double recompile_trick = 0.0; + if(recompile_trick == 0.0) + recompile_trick = time_dt(); + /* compile source */ - string source = string_printf("#include \"kernel.cl\" // %lf\n", time_dt()); + string source = string_printf("#include \"kernel.cl\" // %lf\n", recompile_trick); size_t source_len = source.size(); const char *source_str = source.c_str(); diff --git a/intern/cycles/render/light.cpp b/intern/cycles/render/light.cpp index 88a797f753d..feb9e35e785 100644 --- a/intern/cycles/render/light.cpp +++ b/intern/cycles/render/light.cpp @@ -61,12 +61,24 @@ void LightManager::device_update_distribution(Device *device, DeviceScene *dscen foreach(Object *object, scene->objects) { Mesh *mesh = object->mesh; + bool have_emission = false; - for(size_t i = 0; i < mesh->triangles.size(); i++) { - Shader *shader = scene->shaders[mesh->shader[i]]; + /* skip if we have no emission shaders */ + foreach(uint sindex, mesh->used_shaders) { + if(scene->shaders[sindex]->has_surface_emission) { + have_emission = true; + break; + } + } - if(shader->has_surface_emission) - num_triangles++; + /* count triangles */ + if(have_emission) { + for(size_t i = 0; i < mesh->triangles.size(); i++) { + Shader *shader = scene->shaders[mesh->shader[i]]; + + if(shader->has_surface_emission) + num_triangles++; + } } } @@ -82,25 +94,38 @@ void LightManager::device_update_distribution(Device *device, DeviceScene *dscen foreach(Object *object, scene->objects) { Mesh *mesh = object->mesh; - Transform tfm = object->tfm; - int object_id = (mesh->transform_applied)? -j-1: j; + bool have_emission = false; - for(size_t i = 0; i < mesh->triangles.size(); i++) { - Shader *shader = scene->shaders[mesh->shader[i]]; + /* skip if we have no emission shaders */ + foreach(uint sindex, mesh->used_shaders) { + if(scene->shaders[sindex]->has_surface_emission) { + have_emission = true; + break; + } + } - if(shader->has_surface_emission) { - distribution[offset].x = totarea; - distribution[offset].y = __int_as_float(i + mesh->tri_offset); - distribution[offset].z = 1.0f; - distribution[offset].w = __int_as_float(object_id); - offset++; + /* sum area */ + if(have_emission) { + Transform tfm = object->tfm; + int object_id = (mesh->transform_applied)? -j-1: j; - Mesh::Triangle t = mesh->triangles[i]; - float3 p1 = transform(&tfm, mesh->verts[t.v[0]]); - float3 p2 = transform(&tfm, mesh->verts[t.v[1]]); - float3 p3 = transform(&tfm, mesh->verts[t.v[2]]); + for(size_t i = 0; i < mesh->triangles.size(); i++) { + Shader *shader = scene->shaders[mesh->shader[i]]; - totarea += triangle_area(p1, p2, p3); + if(shader->has_surface_emission) { + distribution[offset].x = totarea; + distribution[offset].y = __int_as_float(i + mesh->tri_offset); + distribution[offset].z = 1.0f; + distribution[offset].w = __int_as_float(object_id); + offset++; + + Mesh::Triangle t = mesh->triangles[i]; + float3 p1 = transform(&tfm, mesh->verts[t.v[0]]); + float3 p2 = transform(&tfm, mesh->verts[t.v[1]]); + float3 p3 = transform(&tfm, mesh->verts[t.v[2]]); + + totarea += triangle_area(p1, p2, p3); + } } } diff --git a/intern/cycles/render/object.cpp b/intern/cycles/render/object.cpp index 4ba2de6e61b..fab051bde72 100644 --- a/intern/cycles/render/object.cpp +++ b/intern/cycles/render/object.cpp @@ -22,6 +22,7 @@ #include "scene.h" #include "util_foreach.h" +#include "util_map.h" #include "util_progress.h" CCL_NAMESPACE_BEGIN @@ -103,6 +104,7 @@ void ObjectManager::device_update_transforms(Device *device, DeviceScene *dscene { float4 *objects = dscene->objects.resize(OBJECT_SIZE*scene->objects.size()); int i = 0; + map surface_area_map; foreach(Object *ob, scene->objects) { Mesh *mesh = ob->mesh; @@ -112,16 +114,39 @@ void ObjectManager::device_update_transforms(Device *device, DeviceScene *dscene Transform itfm = transform_inverse(tfm); Transform ntfm = transform_transpose(itfm); - /* compute surface area */ + /* compute surface area. for uniform scale we can do avoid the many + transform calls and share computation for instances */ /* todo: correct for displacement, and move to a better place */ - float surfacearea = 0.0f; + float uniform_scale; + float surface_area = 0.0f; + + if(transform_uniform_scale(tfm, uniform_scale)) { + map::iterator it = surface_area_map.find(mesh); - foreach(Mesh::Triangle& t, mesh->triangles) { - float3 p1 = transform(&tfm, mesh->verts[t.v[0]]); - float3 p2 = transform(&tfm, mesh->verts[t.v[1]]); - float3 p3 = transform(&tfm, mesh->verts[t.v[2]]); + if(it == surface_area_map.end()) { + foreach(Mesh::Triangle& t, mesh->triangles) { + float3 p1 = mesh->verts[t.v[0]]; + float3 p2 = mesh->verts[t.v[1]]; + float3 p3 = mesh->verts[t.v[2]]; - surfacearea += triangle_area(p1, p2, p3); + surface_area += triangle_area(p1, p2, p3); + } + + surface_area_map[mesh] = surface_area; + } + else + surface_area = it->second; + + surface_area *= uniform_scale; + } + else { + foreach(Mesh::Triangle& t, mesh->triangles) { + float3 p1 = transform(&tfm, mesh->verts[t.v[0]]); + float3 p2 = transform(&tfm, mesh->verts[t.v[1]]); + float3 p3 = transform(&tfm, mesh->verts[t.v[2]]); + + surface_area += triangle_area(p1, p2, p3); + } } /* pack in texture */ @@ -130,7 +155,7 @@ void ObjectManager::device_update_transforms(Device *device, DeviceScene *dscene memcpy(&objects[offset], &tfm, sizeof(float4)*4); memcpy(&objects[offset+4], &itfm, sizeof(float4)*4); memcpy(&objects[offset+8], &ntfm, sizeof(float4)*4); - objects[offset+12] = make_float4(surfacearea, 0.0f, 0.0f, 0.0f); + objects[offset+12] = make_float4(surface_area, 0.0f, 0.0f, 0.0f); i++; diff --git a/intern/cycles/util/util_transform.h b/intern/cycles/util/util_transform.h index e904674a981..998d4161ebf 100644 --- a/intern/cycles/util/util_transform.h +++ b/intern/cycles/util/util_transform.h @@ -205,6 +205,30 @@ __device_inline float3 transform_get_column(const Transform *t, int column) Transform transform_inverse(const Transform& a); +__device_inline bool transform_uniform_scale(const Transform& tfm, float& scale) +{ + /* the epsilon here is quite arbitrary, but this function is only used for + surface area and bump, where we except it to not be so sensitive */ + Transform ttfm = transform_transpose(tfm); + float eps = 1e-7f; + + float sx = len(float4_to_float3(tfm.x)); + float sy = len(float4_to_float3(tfm.y)); + float sz = len(float4_to_float3(tfm.z)); + float stx = len(float4_to_float3(ttfm.x)); + float sty = len(float4_to_float3(ttfm.y)); + float stz = len(float4_to_float3(ttfm.z)); + + if(fabsf(sx - sy) < eps && fabsf(sx - sz) < eps && + fabsf(sx - stx) < eps && fabsf(sx - sty) < eps && + fabsf(sx - stz) < eps) { + scale = sx; + return true; + } + + return false; +} + #endif CCL_NAMESPACE_END From db1664ed4c44ff56ce286e0007dfd1587109c7a5 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 3 Sep 2011 10:49:54 +0000 Subject: [PATCH 119/241] Cycles: * Compute MD5 hash to deal with nvidia opencl compiler cache not recognizing changes in #included files, makes it possible to do kernel compile only once and remember it for the next time blender is started. * Kernel tweak to compile with ATI/linux. Enabling any more functionality than simple clay render still chokes the compiler though, without a specific error message .. --- intern/cycles/blender/addon/enums.py | 4 ++-- intern/cycles/device/device_opencl.cpp | 14 +++++++------- intern/cycles/kernel/kernel_path.h | 2 +- intern/cycles/kernel/kernel_types.h | 2 +- intern/cycles/kernel/svm/svm_bsdf.h | 2 ++ intern/cycles/render/session.cpp | 4 ++-- intern/cycles/util/util_md5.cpp | 23 +++++++++++++++++++++++ intern/cycles/util/util_md5.h | 1 + intern/cycles/util/util_path.cpp | 25 +++++++++++++++++++++++++ intern/cycles/util/util_path.h | 2 ++ 10 files changed, 66 insertions(+), 13 deletions(-) diff --git a/intern/cycles/blender/addon/enums.py b/intern/cycles/blender/addon/enums.py index 9842f2347a5..4aef2553050 100644 --- a/intern/cycles/blender/addon/enums.py +++ b/intern/cycles/blender/addon/enums.py @@ -25,9 +25,9 @@ def get_gpu_device(): if cuda and opencl: gpu_string = "GPU" elif cuda and not opencl: - gpu_string = "GPU (CUDA)" + gpu_string = "CUDA GPU" else: - gpu_string = "GPU (OpenCL)" + gpu_string = "OpenCL GPU" return gpu_string diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp index 787f0e6feab..be4ed814d7e 100644 --- a/intern/cycles/device/device_opencl.cpp +++ b/intern/cycles/device/device_opencl.cpp @@ -217,19 +217,19 @@ public: if(!opencl_version_check()) return false; - /* nvidia opencl cache doesn't not work correct with includes, so force recompile */ - static double recompile_trick = 0.0; - if(recompile_trick == 0.0) - recompile_trick = time_dt(); + /* we compile kernels consisting of many files. unfortunately opencl + kernel caches do not seem to recognize changes in included files. + so we force recompile on changes by adding the md5 hash of all files */ + string kernel_path = path_get("kernel"); + string kernel_md5 = path_files_md5_hash(kernel_path); - /* compile source */ - string source = string_printf("#include \"kernel.cl\" // %lf\n", recompile_trick); + string source = "#include \"kernel.cl\" // " + kernel_md5 + "\n"; size_t source_len = source.size(); const char *source_str = source.c_str(); string build_options = ""; - build_options += "-I " + path_get("kernel") + " -I " + path_get("util"); /* todo: escape path */ + build_options += "-I " + kernel_path + ""; /* todo: escape path */ build_options += " -Werror -cl-fast-relaxed-math -cl-strict-aliasing"; cpProgram = clCreateProgramWithSource(cxContext, 1, &source_str, &source_len, &ciErr); diff --git a/intern/cycles/kernel/kernel_path.h b/intern/cycles/kernel/kernel_path.h index 7f7aaad3270..b073cd49a8c 100644 --- a/intern/cycles/kernel/kernel_path.h +++ b/intern/cycles/kernel/kernel_path.h @@ -194,7 +194,7 @@ __device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray L += throughput*shader_eval_background(kg, &sd, state.flag); shader_release(kg, &sd); #else - L += make_float3(0.8f, 0.8f, 0.8f); + L += throughput*make_float3(0.8f, 0.8f, 0.8f); #endif } diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index 3f7abbeca84..b4467c24223 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -32,12 +32,12 @@ CCL_NAMESPACE_BEGIN #define __DPDU__ #define __UV__ #define __BACKGROUND__ -#define __EMISSION__ #define __CAUSTICS_TRICKS__ #define __VISIBILITY_FLAG__ #ifndef __KERNEL_OPENCL__ #define __SVM__ +#define __EMISSION__ #define __TEXTURES__ #define __HOLDOUT__ #endif diff --git a/intern/cycles/kernel/svm/svm_bsdf.h b/intern/cycles/kernel/svm/svm_bsdf.h index f02dc786c6b..22985e9ace5 100644 --- a/intern/cycles/kernel/svm/svm_bsdf.h +++ b/intern/cycles/kernel/svm/svm_bsdf.h @@ -37,6 +37,7 @@ __device int svm_bsdf_sample(const ShaderData *sd, float randu, float randv, flo case CLOSURE_BSDF_DIFFUSE_ID: label = bsdf_diffuse_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); break; +#ifdef __SVM__ case CLOSURE_BSDF_TRANSLUCENT_ID: label = bsdf_translucent_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); break; @@ -71,6 +72,7 @@ __device int svm_bsdf_sample(const ShaderData *sd, float randu, float randv, flo case CLOSURE_BSDF_WESTIN_SHEEN_ID: label = bsdf_westin_sheen_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); break; +#endif default: label = LABEL_NONE; break; diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp index daa10ad4f19..d3482e7f92f 100644 --- a/intern/cycles/render/session.cpp +++ b/intern/cycles/render/session.cpp @@ -35,7 +35,7 @@ Session::Session(const SessionParams& params_) : params(params_), tile_manager(params.progressive, params.passes, params.tile_size, params.min_size) { - device_use_gl = (params.device_type == DEVICE_CUDA && !params.background); + device_use_gl = ((params.device_type == DEVICE_CUDA || params.device_type == DEVICE_OPENCL) && !params.background); device = Device::create(params.device_type, params.background, params.threads); buffers = new RenderBuffers(device); @@ -381,7 +381,7 @@ void Session::run_cpu() void Session::run() { /* load kernels */ - progress.set_status("Loading render kernels"); + progress.set_status("Loading render kernels (may take a few minutes)"); if(!device->load_kernels()) { progress.set_status("Failed loading render kernel, see console for errors"); diff --git a/intern/cycles/util/util_md5.cpp b/intern/cycles/util/util_md5.cpp index 9fd44740531..90b8a1fe062 100644 --- a/intern/cycles/util/util_md5.cpp +++ b/intern/cycles/util/util_md5.cpp @@ -309,6 +309,29 @@ void MD5Hash::append(const uint8_t *data, int nbytes) memcpy(buf, p, left); } +bool MD5Hash::append_file(const string& filepath) +{ + FILE *f = fopen(filepath.c_str(), "rb"); + + if(!f) + return false; + + const size_t buffer_size = 1024; + uint8_t buffer[buffer_size]; + size_t n; + + do { + n = fread(buffer, 1, buffer_size, f); + append(buffer, n); + } while(n == buffer_size); + + bool success = (ferror(f) == 0); + + fclose(f); + + return success; +} + void MD5Hash::finish(uint8_t digest[16]) { static const uint8_t pad[64] = { diff --git a/intern/cycles/util/util_md5.h b/intern/cycles/util/util_md5.h index 49f421d43d9..5e7e604c4cf 100644 --- a/intern/cycles/util/util_md5.h +++ b/intern/cycles/util/util_md5.h @@ -41,6 +41,7 @@ public: ~MD5Hash(); void append(const uint8_t *data, int size); + bool append_file(const string& filepath); string get_hex(); protected: diff --git a/intern/cycles/util/util_path.cpp b/intern/cycles/util/util_path.cpp index 109b842068d..6f76e378dc2 100644 --- a/intern/cycles/util/util_path.cpp +++ b/intern/cycles/util/util_path.cpp @@ -17,6 +17,7 @@ */ #include "util_debug.h" +#include "util_md5.h" #include "util_path.h" #include "util_string.h" @@ -59,5 +60,29 @@ string path_join(const string& dir, const string& file) return (boost::filesystem::path(dir) / boost::filesystem::path(file)).string(); } +string path_files_md5_hash(const string& dir) +{ + /* computes md5 hash of all files in the directory */ + MD5Hash hash; + + if(boost::filesystem::exists(dir)) { + boost::filesystem::directory_iterator it(dir), it_end; + + for(; it != it_end; it++) { + if(boost::filesystem::is_directory(it->status())) { + path_files_md5_hash(it->path().string()); + } + else { + string filepath = it->path().string(); + + hash.append((const uint8_t*)filepath.c_str(), filepath.size()); + hash.append_file(filepath); + } + } + } + + return hash.get_hex(); +} + CCL_NAMESPACE_END diff --git a/intern/cycles/util/util_path.h b/intern/cycles/util/util_path.h index b80bc0e9131..4be0cb86f56 100644 --- a/intern/cycles/util/util_path.h +++ b/intern/cycles/util/util_path.h @@ -35,6 +35,8 @@ string path_filename(const string& path); string path_dirname(const string& path); string path_join(const string& dir, const string& file); +string path_files_md5_hash(const string& dir); + CCL_NAMESPACE_END #endif From 6edb09fe935eff6bc6f928cc1527e48a06d2657a Mon Sep 17 00:00:00 2001 From: Antony Riakiotakis Date: Sun, 4 Sep 2011 15:39:09 +0000 Subject: [PATCH 120/241] Compile fixes for MinGW, checked with basic initial setup, no CUDA, gcc 4.5.2. OpenImageIO still gives link-time errors, will try to make a lib for MinGW, see if it is fixed. --- CMakeLists.txt | 22 ++++++++++++++++++++++ intern/cycles/CMakeLists.txt | 9 +++++++-- intern/cycles/util/util_math.h | 2 ++ intern/cycles/util/util_system.cpp | 4 +++- 4 files changed, 34 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b57d58258cf..cb41d4d344c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -975,6 +975,28 @@ elseif(WIN32) set(PYTHON_LIBRARIES "${PYTHON_LIBRARY}") endif() + if(WITH_BOOST) + set(BOOST ${LIBDIR}/boost) + set(BOOST_INCLUDE_DIR ${BOOST}/include) + set(BOOST_POSTFIX "vc90-mt-s-1_46_1") + set(BOOST_DEBUG_POSTFIX "vc90-mt-sgd-1_46_1") + set(BOOST_LIBRARIES + optimized libboost_date_time-${BOOST_POSTFIX} libboost_filesystem-${BOOST_POSTFIX} + libboost_regex-${BOOST_POSTFIX} libboost_system-${BOOST_POSTFIX} libboost_thread-${BOOST_POSTFIX} + debug libboost_date_time-${BOOST_DEBUG_POSTFIX} libboost_filesystem-${BOOST_DEBUG_POSTFIX} + libboost_regex-${BOOST_DEBUG_POSTFIX} libboost_system-${BOOST_DEBUG_POSTFIX} libboost_thread-${BOOST_DEBUG_POSTFIX}) + set(BOOST_LIBPATH ${BOOST}/lib) + set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB") + endif() + + if(WITH_OPENIMAGEIO) + set(OPENIMAGEIO ${LIBDIR}/openimageio) + set(OPENIMAGEIO_INCLUDE_DIR ${OPENIMAGEIO}/include) + set(OPENIMAGEIO_LIBRARY OpenImageIO) + set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib) + set(OPENIMAGEIO_DEFINITIONS) + endif() + set(PLATFORM_LINKFLAGS "--stack,2097152") endif() diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index fd501b85be9..5d76f57fa73 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -16,8 +16,13 @@ if(APPLE) endif(APPLE) if(WIN32) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Ox /Ot /arch:SSE2 -D_CRT_SECURE_NO_WARNINGS /EHsc /fp:fast") - set(RTTI_DISABLE_FLAGS "/GR- -DBOOST_NO_RTTI -DBOOST_NO_TYPEID") + if(MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Ox /Ot /arch:SSE2 -D_CRT_SECURE_NO_WARNINGS /EHsc /fp:fast") + set(RTTI_DISABLE_FLAGS "/GR- -DBOOST_NO_RTTI -DBOOST_NO_TYPEID") + elseif(CMAKE_COMPILER_IS_GNUCC) + set(CMAKE_CXX_FLAGS "${GCC_WARNING_FLAGS} ${GCC_OPTIM_FLAGS}") + set(RTTI_DISABLE_FLAGS "-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID") + endif() endif(WIN32) if(UNIX AND NOT APPLE) diff --git a/intern/cycles/util/util_math.h b/intern/cycles/util/util_math.h index 8e52b98d52b..ceebada9293 100644 --- a/intern/cycles/util/util_math.h +++ b/intern/cycles/util/util_math.h @@ -60,8 +60,10 @@ CCL_NAMESPACE_BEGIN #ifndef __KERNEL_GPU__ +#if(!defined(FREE_WINDOWS)) #define copysignf(x, y) ((float)_copysign(x, y)) #define hypotf(x, y) _hypotf(x, y) +#endif #endif diff --git a/intern/cycles/util/util_system.cpp b/intern/cycles/util/util_system.cpp index ac3089aa7ad..77a1b1ffb75 100644 --- a/intern/cycles/util/util_system.cpp +++ b/intern/cycles/util/util_system.cpp @@ -20,7 +20,9 @@ #include "util_types.h" #ifdef _WIN32 +#if(!defined(FREE_WINDOWS)) #include +#endif #include #elif defined(__APPLE__) #include @@ -57,7 +59,7 @@ int system_cpu_thread_count() return count; } -#ifndef _WIN32 +#if !defined(_WIN32) || defined(FREE_WINDOWS) static void __cpuid(int data[4], int selector) { #ifdef __x86_64__ From f3ee10ce5ca3050174b84032b6df6edbe548c5f1 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 5 Sep 2011 08:23:01 +0000 Subject: [PATCH 121/241] Cycles: remove -Werror from opencl compile options, apple opencl on lion seems to give "no previous prototype for function" warning, but it doens't make much sense in opencl, seems like a compiler bug? --- intern/cycles/device/device_opencl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp index be4ed814d7e..956fdfb08c2 100644 --- a/intern/cycles/device/device_opencl.cpp +++ b/intern/cycles/device/device_opencl.cpp @@ -230,7 +230,7 @@ public: string build_options = ""; build_options += "-I " + kernel_path + ""; /* todo: escape path */ - build_options += " -Werror -cl-fast-relaxed-math -cl-strict-aliasing"; + build_options += " -cl-fast-relaxed-math -cl-strict-aliasing"; cpProgram = clCreateProgramWithSource(cxContext, 1, &source_str, &source_len, &ciErr); if(opencl_error(ciErr)) From 7d9d9fa976589683a7ae880848937b05ade8e74f Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 5 Sep 2011 12:24:28 +0000 Subject: [PATCH 122/241] Cycles: use workgroup size from opencl, attempt to fix issue with apple opencl. --- intern/cycles/device/device_opencl.cpp | 19 +++++++++++++++++-- intern/cycles/util/util_math.h | 10 ++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp index 956fdfb08c2..c142701c873 100644 --- a/intern/cycles/device/device_opencl.cpp +++ b/intern/cycles/device/device_opencl.cpp @@ -26,6 +26,7 @@ #include "device_intern.h" #include "util_map.h" +#include "util_math.h" #include "util_opencl.h" #include "util_opengl.h" #include "util_path.h" @@ -412,7 +413,14 @@ public: opencl_assert(ciErr); - size_t local_size[2] = {8, 8}; + size_t workgroup_size; + + clGetKernelWorkGroupInfo(ckPathTraceKernel, cdDevice, + CL_KERNEL_WORK_GROUP_SIZE, sizeof(size_t), &workgroup_size, NULL); + + workgroup_size = max(sqrt((double)workgroup_size), 1.0); + + size_t local_size[2] = {workgroup_size, workgroup_size}; size_t global_size[2] = {global_size_round_up(local_size[0], d_w), global_size_round_up(local_size[1], d_h)}; /* run kernel */ @@ -480,7 +488,14 @@ public: opencl_assert(ciErr); - size_t local_size[2] = {8, 8}; + size_t workgroup_size; + + clGetKernelWorkGroupInfo(ckFilmConvertKernel, cdDevice, + CL_KERNEL_WORK_GROUP_SIZE, sizeof(size_t), &workgroup_size, NULL); + + workgroup_size = max(sqrt((double)workgroup_size), 1.0); + + size_t local_size[2] = {workgroup_size, workgroup_size}; size_t global_size[2] = {global_size_round_up(local_size[0], d_w), global_size_round_up(local_size[1], d_h)}; /* run kernel */ diff --git a/intern/cycles/util/util_math.h b/intern/cycles/util/util_math.h index ceebada9293..c0418b3d8fd 100644 --- a/intern/cycles/util/util_math.h +++ b/intern/cycles/util/util_math.h @@ -101,6 +101,16 @@ __device_inline float min(float a, float b) return (a < b)? a: b; } +__device_inline double max(double a, double b) +{ + return (a > b)? a: b; +} + +__device_inline double min(double a, double b) +{ + return (a < b)? a: b; +} + #endif __device_inline float min4(float a, float b, float c, float d) From 6b134ae357188358f1437650924ab38886386860 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 6 Sep 2011 17:48:06 +0000 Subject: [PATCH 123/241] Cycles: set minimum required boost version lower. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cb41d4d344c..279644550c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -520,7 +520,7 @@ if(UNIX AND NOT APPLE) if(NOT BOOST_CUSTOM) set(BOOST_ROOT ${BOOST}) set(Boost_USE_MULTITHREADED ON) - find_package(Boost 1.47 REQUIRED COMPONENTS filesystem regex system thread) + find_package(Boost 1.34 REQUIRED COMPONENTS filesystem regex system thread) endif() set(BOOST_INCLUDE_DIR ${Boost_INCLUDE_DIRS}) From 9b31cba74e2bd84e9988ebdab723e6e43f9b8357 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 8 Sep 2011 18:58:07 +0000 Subject: [PATCH 124/241] Cycles: some warning fixes, cpu device task tweaks, avoid unnecessary tonemap in non-viewport render, and some utility functions. --- intern/cycles/device/device.cpp | 5 + intern/cycles/device/device_cpu.cpp | 7 +- intern/cycles/kernel/kernel_types.h | 4 +- .../cycles/kernel/svm/bsdf_ashikhmin_velvet.h | 14 +- intern/cycles/kernel/svm/bsdf_diffuse.h | 10 -- intern/cycles/kernel/svm/bsdf_microfacet.h | 128 ++++++++++-------- intern/cycles/kernel/svm/bsdf_reflection.h | 3 - intern/cycles/kernel/svm/bsdf_refraction.h | 8 +- intern/cycles/kernel/svm/bsdf_ward.h | 42 +++--- intern/cycles/kernel/svm/bsdf_westin.h | 37 +++-- intern/cycles/render/session.cpp | 5 +- intern/cycles/util/util_cuda.cpp | 14 ++ intern/cycles/util/util_cuda.h | 2 + intern/cycles/util/util_opencl.h | 6 - intern/cycles/util/util_path.cpp | 13 ++ intern/cycles/util/util_path.h | 2 + intern/cycles/util/util_system.cpp | 5 + intern/cycles/util/util_system.h | 1 + 18 files changed, 170 insertions(+), 136 deletions(-) diff --git a/intern/cycles/device/device.cpp b/intern/cycles/device/device.cpp index aed0be96229..e21dce45d80 100644 --- a/intern/cycles/device/device.cpp +++ b/intern/cycles/device/device.cpp @@ -24,6 +24,7 @@ #include "util_cuda.h" #include "util_debug.h" +#include "util_math.h" #include "util_opencl.h" #include "util_opengl.h" #include "util_types.h" @@ -43,6 +44,8 @@ DeviceTask::DeviceTask(Type type_) void DeviceTask::split(ThreadQueue& tasks, int num) { if(type == DISPLACE) { + num = min(displace_w, num); + for(int i = 0; i < num; i++) { int tx = displace_x + (displace_w/num)*i; int tw = (i == num-1)? displace_w - i*(displace_w/num): displace_w/num; @@ -56,6 +59,8 @@ void DeviceTask::split(ThreadQueue& tasks, int num) } } else { + num = min(h, num); + for(int i = 0; i < num; i++) { int ty = y + (h/num)*i; int th = (i == num-1)? h - i*(h/num): h/num; diff --git a/intern/cycles/device/device_cpu.cpp b/intern/cycles/device/device_cpu.cpp index 7066efee547..3a3ae685395 100644 --- a/intern/cycles/device/device_cpu.cpp +++ b/intern/cycles/device/device_cpu.cpp @@ -194,10 +194,9 @@ public: void task_add(DeviceTask& task) { - if(task.type == DeviceTask::TONEMAP) - tasks.push(task); - else - task.split(tasks, threads.size()); + /* split task into smaller ones, more than number of threads for uneven + workloads where some parts of the image render slower than others */ + task.split(tasks, threads.size()*10); } void task_wait() diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index b4467c24223..93cd61c43ca 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -246,7 +246,9 @@ typedef struct ShaderData { * memory usage, svm_closure_data contains closure parameters. */ ClosureType svm_closure; float3 svm_closure_weight; - float svm_closure_data[3]; /* CUDA gives compile error if out of bounds */ + float svm_closure_data0; + float svm_closure_data1; + float svm_closure_data2; #if !defined(__KERNEL_GPU__) && defined(WITH_OSL) /* OSL closure data and context. we store all closures flattened into diff --git a/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h b/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h index a04f4e2b076..e94b33efaae 100644 --- a/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h +++ b/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h @@ -42,15 +42,13 @@ typedef struct BsdfAshikhminVelvetClosure { __device void bsdf_ashikhmin_velvet_setup(ShaderData *sd, float3 N, float sigma) { - BsdfAshikhminVelvetClosure *self = (BsdfAshikhminVelvetClosure*)sd->svm_closure_data; - sigma = fmaxf(sigma, 0.01f); - //self->m_N = N; - self->m_invsigma2 = 1.0f/(sigma * sigma); + float m_invsigma2 = 1.0f/(sigma * sigma); sd->svm_closure = CLOSURE_BSDF_ASHIKHMIN_VELVET_ID; sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL; + sd->svm_closure_data0 = m_invsigma2; } __device void bsdf_ashikhmin_velvet_blur(ShaderData *sd, float roughness) @@ -59,7 +57,7 @@ __device void bsdf_ashikhmin_velvet_blur(ShaderData *sd, float roughness) __device float3 bsdf_ashikhmin_velvet_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) { - const BsdfAshikhminVelvetClosure *self = (const BsdfAshikhminVelvetClosure*)sd->svm_closure_data; + float m_invsigma2 = sd->svm_closure_data0; float3 m_N = sd->N; float cosNO = dot(m_N, I); @@ -80,7 +78,7 @@ __device float3 bsdf_ashikhmin_velvet_eval_reflect(const ShaderData *sd, const f float sinNH4 = sinNH2 * sinNH2; float cotangent2 = (cosNH * cosNH) / sinNH2; - float D = expf(-cotangent2 * self->m_invsigma2) * self->m_invsigma2 * M_1_PI_F / sinNH4; + float D = expf(-cotangent2 * m_invsigma2) * m_invsigma2 * M_1_PI_F / sinNH4; float G = min(1.0f, min(fac1, fac2)); // TODO: derive G from D analytically float out = 0.25f * (D * G) / cosNO; @@ -103,7 +101,7 @@ __device float bsdf_ashikhmin_velvet_albedo(const ShaderData *sd, const float3 I __device int bsdf_ashikhmin_velvet_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { - const BsdfAshikhminVelvetClosure *self = (const BsdfAshikhminVelvetClosure*)sd->svm_closure_data; + float m_invsigma2 = sd->svm_closure_data0; float3 m_N = sd->N; // we are viewing the surface from above - send a ray out with uniform @@ -128,7 +126,7 @@ __device int bsdf_ashikhmin_velvet_sample(const ShaderData *sd, float randu, flo float sinNH4 = sinNH2 * sinNH2; float cotangent2 = (cosNH * cosNH) / sinNH2; - float D = expf(-cotangent2 * self->m_invsigma2) * self->m_invsigma2 * M_1_PI_F / sinNH4; + float D = expf(-cotangent2 * m_invsigma2) * m_invsigma2 * M_1_PI_F / sinNH4; float G = min(1.0f, min(fac1, fac2)); // TODO: derive G from D analytically float power = 0.25f * (D * G) / cosNO; diff --git a/intern/cycles/kernel/svm/bsdf_diffuse.h b/intern/cycles/kernel/svm/bsdf_diffuse.h index dcd29534109..a917db86ff5 100644 --- a/intern/cycles/kernel/svm/bsdf_diffuse.h +++ b/intern/cycles/kernel/svm/bsdf_diffuse.h @@ -43,9 +43,6 @@ typedef struct BsdfDiffuseClosure { __device void bsdf_diffuse_setup(ShaderData *sd, float3 N) { - //BsdfDiffuseClosure *self = (BsdfDiffuseClosure*)sd->svm_closure_data; - //self->m_N = N; - sd->svm_closure = CLOSURE_BSDF_DIFFUSE_ID; sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL; } @@ -56,7 +53,6 @@ __device void bsdf_diffuse_blur(ShaderData *sd, float roughness) __device float3 bsdf_diffuse_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) { - //const BsdfDiffuseClosure *self = (const BsdfDiffuseClosure*)sd->svm_closure_data; float3 m_N = sd->N; float cos_pi = fmaxf(dot(m_N, omega_in), 0.0f) * M_1_PI_F; @@ -76,7 +72,6 @@ __device float bsdf_diffuse_albedo(const ShaderData *sd, const float3 I) __device int bsdf_diffuse_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { - //const BsdfDiffuseClosure *self = (const BsdfDiffuseClosure*)sd->svm_closure_data; float3 m_N = sd->N; // distribution over the hemisphere @@ -106,9 +101,6 @@ typedef struct BsdfTranslucentClosure { __device void bsdf_translucent_setup(ShaderData *sd, float3 N) { - //BsdfTranslucentClosure *self = (BsdfTranslucentClosure*)sd->svm_closure_data; - //self->m_N = N; - sd->svm_closure = CLOSURE_BSDF_TRANSLUCENT_ID; sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL; } @@ -124,7 +116,6 @@ __device float3 bsdf_translucent_eval_reflect(const ShaderData *sd, const float3 __device float3 bsdf_translucent_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) { - //const BsdfTranslucentClosure *self = (const BsdfTranslucentClosure*)sd->svm_closure_data; float3 m_N = sd->N; float cos_pi = fmaxf(-dot(m_N, omega_in), 0.0f) * M_1_PI_F; @@ -139,7 +130,6 @@ __device float bsdf_translucent_albedo(const ShaderData *sd, const float3 I) __device int bsdf_translucent_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { - //const BsdfTranslucentClosure *self = (const BsdfTranslucentClosure*)sd->svm_closure_data; float3 m_N = sd->N; // we are viewing the surface from the right side - send a ray out with cosine diff --git a/intern/cycles/kernel/svm/bsdf_microfacet.h b/intern/cycles/kernel/svm/bsdf_microfacet.h index c98092b2f8f..595182d90de 100644 --- a/intern/cycles/kernel/svm/bsdf_microfacet.h +++ b/intern/cycles/kernel/svm/bsdf_microfacet.h @@ -46,12 +46,13 @@ typedef struct BsdfMicrofacetGGXClosure { __device void bsdf_microfacet_ggx_setup(ShaderData *sd, float3 N, float ag, float eta, bool refractive) { - BsdfMicrofacetGGXClosure *self = (BsdfMicrofacetGGXClosure*)sd->svm_closure_data; + float m_ag = clamp(ag, 1e-5f, 1.0f); + float m_eta = eta; + int m_refractive = (refractive)? 1: 0; - //self->m_N = N; - self->m_ag = clamp(ag, 1e-5f, 1.0f); - self->m_eta = eta; - self->m_refractive = (refractive)? 1: 0; + sd->svm_closure_data0 = m_ag; + sd->svm_closure_data1 = m_eta; + sd->svm_closure_data2 = __int_as_float(m_refractive); if(refractive) sd->svm_closure = CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID; @@ -63,16 +64,19 @@ __device void bsdf_microfacet_ggx_setup(ShaderData *sd, float3 N, float ag, floa __device void bsdf_microfacet_ggx_blur(ShaderData *sd, float roughness) { - BsdfMicrofacetGGXClosure *self = (BsdfMicrofacetGGXClosure*)sd->svm_closure_data; - self->m_ag = fmaxf(roughness, self->m_ag); + float m_ag = sd->svm_closure_data0; + m_ag = fmaxf(roughness, m_ag); + sd->svm_closure_data0 = m_ag; } __device float3 bsdf_microfacet_ggx_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) { - const BsdfMicrofacetGGXClosure *self = (const BsdfMicrofacetGGXClosure*)sd->svm_closure_data; + float m_ag = sd->svm_closure_data0; + //float m_eta = sd->svm_closure_data1; + int m_refractive = __float_as_int(sd->svm_closure_data2); float3 m_N = sd->N; - if(self->m_refractive == 1) return make_float3 (0, 0, 0); + if(m_refractive == 1) return make_float3 (0, 0, 0); float cosNO = dot(m_N, I); float cosNI = dot(m_N, omega_in); if(cosNI > 0 && cosNO > 0) { @@ -80,7 +84,7 @@ __device float3 bsdf_microfacet_ggx_eval_reflect(const ShaderData *sd, const flo float3 Hr = normalize(omega_in + I); // eq. 20: (F*G*D)/(4*in*on) // eq. 33: first we calculate D(m) with m=Hr: - float alpha2 = self->m_ag * self->m_ag; + float alpha2 = m_ag * m_ag; float cosThetaM = dot(m_N, Hr); float cosThetaM2 = cosThetaM * cosThetaM; float tanThetaM2 = (1 - cosThetaM2) / cosThetaM2; @@ -104,22 +108,24 @@ __device float3 bsdf_microfacet_ggx_eval_reflect(const ShaderData *sd, const flo __device float3 bsdf_microfacet_ggx_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) { - const BsdfMicrofacetGGXClosure *self = (const BsdfMicrofacetGGXClosure*)sd->svm_closure_data; + float m_ag = sd->svm_closure_data0; + float m_eta = sd->svm_closure_data1; + int m_refractive = __float_as_int(sd->svm_closure_data2); float3 m_N = sd->N; - if(self->m_refractive == 0) return make_float3 (0, 0, 0); + if(m_refractive == 0) return make_float3 (0, 0, 0); float cosNO = dot(m_N, I); float cosNI = dot(m_N, omega_in); if(cosNO <= 0 || cosNI >= 0) return make_float3 (0, 0, 0); // vectors on same side -- not possible // compute half-vector of the refraction (eq. 16) - float3 ht = -(self->m_eta * omega_in + I); + float3 ht = -(m_eta * omega_in + I); float3 Ht = normalize(ht); float cosHO = dot(Ht, I); float cosHI = dot(Ht, omega_in); // eq. 33: first we calculate D(m) with m=Ht: - float alpha2 = self->m_ag * self->m_ag; + float alpha2 = m_ag * m_ag; float cosThetaM = dot(m_N, Ht); float cosThetaM2 = cosThetaM * cosThetaM; float tanThetaM2 = (1 - cosThetaM2) / cosThetaM2; @@ -131,8 +137,8 @@ __device float3 bsdf_microfacet_ggx_eval_transmit(const ShaderData *sd, const fl float G = G1o * G1i; // probability float invHt2 = 1 / dot(ht, ht); - *pdf = D * fabsf(cosThetaM) * (fabsf(cosHI) * (self->m_eta * self->m_eta)) * invHt2; - float out = (fabsf(cosHI * cosHO) * (self->m_eta * self->m_eta) * (G * D) * invHt2) / cosNO; + *pdf = D * fabsf(cosThetaM) * (fabsf(cosHI) * (m_eta * m_eta)) * invHt2; + float out = (fabsf(cosHI * cosHO) * (m_eta * m_eta) * (G * D) * invHt2) / cosNO; return make_float3 (out, out, out); } @@ -143,7 +149,9 @@ __device float bsdf_microfacet_ggx_albedo(const ShaderData *sd, const float3 I) __device int bsdf_microfacet_ggx_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { - const BsdfMicrofacetGGXClosure *self = (const BsdfMicrofacetGGXClosure*)sd->svm_closure_data; + float m_ag = sd->svm_closure_data0; + float m_eta = sd->svm_closure_data1; + int m_refractive = __float_as_int(sd->svm_closure_data2); float3 m_N = sd->N; float cosNO = dot(m_N, sd->I); @@ -154,7 +162,7 @@ __device int bsdf_microfacet_ggx_sample(const ShaderData *sd, float randu, float // eq. 35,36: // we take advantage of cos(atan(x)) == 1/sqrt(1+x^2) //tttt and sin(atan(x)) == x/sqrt(1+x^2) - float alpha2 = self->m_ag * self->m_ag; + float alpha2 = m_ag * m_ag; float tanThetaM2 = alpha2 * randu / (1 - randu); float cosThetaM = 1 / sqrtf(1 + tanThetaM2); float sinThetaM = cosThetaM * sqrtf(tanThetaM2); @@ -162,7 +170,7 @@ __device int bsdf_microfacet_ggx_sample(const ShaderData *sd, float randu, float float3 m = (cosf(phiM) * sinThetaM) * X + (sinf(phiM) * sinThetaM) * Y + cosThetaM * Z; - if(self->m_refractive == 0) { + if(m_refractive == 0) { float cosMO = dot(m, sd->I); if(cosMO > 0) { // eq. 39 - compute actual reflected direction @@ -208,7 +216,7 @@ __device int bsdf_microfacet_ggx_sample(const ShaderData *sd, float randu, float float3 dRdx, dRdy, dTdx, dTdy; #endif bool inside; - fresnel_dielectric(self->m_eta, m, sd->I, &R, &T, + fresnel_dielectric(m_eta, m, sd->I, &R, &T, #ifdef __RAY_DIFFERENTIALS__ sd->dI.dx, sd->dI.dy, &dRdx, &dRdy, &dTdx, &dTdy, #endif @@ -235,11 +243,11 @@ __device int bsdf_microfacet_ggx_sample(const ShaderData *sd, float randu, float // eq. 21 float cosHI = dot(m, *omega_in); float cosHO = dot(m, sd->I); - float Ht2 = self->m_eta * cosHI + cosHO; + float Ht2 = m_eta * cosHI + cosHO; Ht2 *= Ht2; - float out = (fabsf(cosHI * cosHO) * (self->m_eta * self->m_eta) * (G * D)) / (cosNO * Ht2); + float out = (fabsf(cosHI * cosHO) * (m_eta * m_eta) * (G * D)) / (cosNO * Ht2); // eq. 38 and eq. 17 - *pdf = pm * (self->m_eta * self->m_eta) * fabsf(cosHI) / Ht2; + *pdf = pm * (m_eta * m_eta) * fabsf(cosHI) / Ht2; *eval = make_float3(out, out, out); #ifdef __RAY_DIFFERENTIALS__ // Since there is some blur to this refraction, make the @@ -252,7 +260,7 @@ __device int bsdf_microfacet_ggx_sample(const ShaderData *sd, float randu, float } } } - return (self->m_refractive == 1) ? LABEL_TRANSMIT|LABEL_GLOSSY : LABEL_REFLECT|LABEL_GLOSSY; + return (m_refractive == 1) ? LABEL_TRANSMIT|LABEL_GLOSSY : LABEL_REFLECT|LABEL_GLOSSY; } /* BECKMANN */ @@ -266,12 +274,13 @@ typedef struct BsdfMicrofacetBeckmannClosure { __device void bsdf_microfacet_beckmann_setup(ShaderData *sd, float3 N, float ab, float eta, bool refractive) { - BsdfMicrofacetBeckmannClosure *self = (BsdfMicrofacetBeckmannClosure*)sd->svm_closure_data; + float m_ab = clamp(ab, 1e-5f, 1.0f); + float m_eta = eta; + float m_refractive = (refractive)? 1: 0; - //self->m_N = N; - self->m_ab = clamp(ab, 1e-5f, 1.0f); - self->m_eta = eta; - self->m_refractive = (refractive)? 1: 0; + sd->svm_closure_data0 = m_ab; + sd->svm_closure_data1 = m_eta; + sd->svm_closure_data2 = __int_as_float(m_refractive); if(refractive) sd->svm_closure = CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID; @@ -283,16 +292,19 @@ __device void bsdf_microfacet_beckmann_setup(ShaderData *sd, float3 N, float ab, __device void bsdf_microfacet_beckmann_blur(ShaderData *sd, float roughness) { - BsdfMicrofacetBeckmannClosure *self = (BsdfMicrofacetBeckmannClosure*)sd->svm_closure_data; - self->m_ab = fmaxf(roughness, self->m_ab); + float m_ab = sd->svm_closure_data0; + m_ab = fmaxf(roughness, m_ab); + sd->svm_closure_data0 = m_ab; } __device float3 bsdf_microfacet_beckmann_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) { - const BsdfMicrofacetBeckmannClosure *self = (const BsdfMicrofacetBeckmannClosure*)sd->svm_closure_data; + float m_ab = sd->svm_closure_data0; + //float m_eta = sd->svm_closure_data1; + int m_refractive = __float_as_int(sd->svm_closure_data2); float3 m_N = sd->N; - if(self->m_refractive == 1) return make_float3 (0, 0, 0); + if(m_refractive == 1) return make_float3 (0, 0, 0); float cosNO = dot(m_N, I); float cosNI = dot(m_N, omega_in); if(cosNO > 0 && cosNI > 0) { @@ -300,15 +312,15 @@ __device float3 bsdf_microfacet_beckmann_eval_reflect(const ShaderData *sd, cons float3 Hr = normalize(omega_in + I); // eq. 20: (F*G*D)/(4*in*on) // eq. 25: first we calculate D(m) with m=Hr: - float alpha2 = self->m_ab * self->m_ab; + float alpha2 = m_ab * m_ab; float cosThetaM = dot(m_N, Hr); float cosThetaM2 = cosThetaM * cosThetaM; float tanThetaM2 = (1 - cosThetaM2) / cosThetaM2; float cosThetaM4 = cosThetaM2 * cosThetaM2; float D = expf(-tanThetaM2 / alpha2) / (M_PI_F * alpha2 * cosThetaM4); // eq. 26, 27: now calculate G1(i,m) and G1(o,m) - float ao = 1 / (self->m_ab * sqrtf((1 - cosNO * cosNO) / (cosNO * cosNO))); - float ai = 1 / (self->m_ab * sqrtf((1 - cosNI * cosNI) / (cosNI * cosNI))); + float ao = 1 / (m_ab * sqrtf((1 - cosNO * cosNO) / (cosNO * cosNO))); + float ai = 1 / (m_ab * sqrtf((1 - cosNI * cosNI) / (cosNI * cosNI))); float G1o = ao < 1.6f ? (3.535f * ao + 2.181f * ao * ao) / (1 + 2.276f * ao + 2.577f * ao * ao) : 1.0f; float G1i = ai < 1.6f ? (3.535f * ai + 2.181f * ai * ai) / (1 + 2.276f * ai + 2.577f * ai * ai) : 1.0f; float G = G1o * G1i; @@ -326,37 +338,39 @@ __device float3 bsdf_microfacet_beckmann_eval_reflect(const ShaderData *sd, cons __device float3 bsdf_microfacet_beckmann_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) { - const BsdfMicrofacetBeckmannClosure *self = (const BsdfMicrofacetBeckmannClosure*)sd->svm_closure_data; + float m_ab = sd->svm_closure_data0; + float m_eta = sd->svm_closure_data1; + int m_refractive = __float_as_int(sd->svm_closure_data2); float3 m_N = sd->N; - if(self->m_refractive == 0) return make_float3 (0, 0, 0); + if(m_refractive == 0) return make_float3 (0, 0, 0); float cosNO = dot(m_N, I); float cosNI = dot(m_N, omega_in); if(cosNO <= 0 || cosNI >= 0) return make_float3 (0, 0, 0); // compute half-vector of the refraction (eq. 16) - float3 ht = -(self->m_eta * omega_in + I); + float3 ht = -(m_eta * omega_in + I); float3 Ht = normalize(ht); float cosHO = dot(Ht, I); float cosHI = dot(Ht, omega_in); // eq. 33: first we calculate D(m) with m=Ht: - float alpha2 = self->m_ab * self->m_ab; + float alpha2 = m_ab * m_ab; float cosThetaM = dot(m_N, Ht); float cosThetaM2 = cosThetaM * cosThetaM; float tanThetaM2 = (1 - cosThetaM2) / cosThetaM2; float cosThetaM4 = cosThetaM2 * cosThetaM2; float D = expf(-tanThetaM2 / alpha2) / (M_PI_F * alpha2 * cosThetaM4); // eq. 26, 27: now calculate G1(i,m) and G1(o,m) - float ao = 1 / (self->m_ab * sqrtf((1 - cosNO * cosNO) / (cosNO * cosNO))); - float ai = 1 / (self->m_ab * sqrtf((1 - cosNI * cosNI) / (cosNI * cosNI))); + float ao = 1 / (m_ab * sqrtf((1 - cosNO * cosNO) / (cosNO * cosNO))); + float ai = 1 / (m_ab * sqrtf((1 - cosNI * cosNI) / (cosNI * cosNI))); float G1o = ao < 1.6f ? (3.535f * ao + 2.181f * ao * ao) / (1 + 2.276f * ao + 2.577f * ao * ao) : 1.0f; float G1i = ai < 1.6f ? (3.535f * ai + 2.181f * ai * ai) / (1 + 2.276f * ai + 2.577f * ai * ai) : 1.0f; float G = G1o * G1i; // probability float invHt2 = 1 / dot(ht, ht); - *pdf = D * fabsf(cosThetaM) * (fabsf(cosHI) * (self->m_eta * self->m_eta)) * invHt2; - float out = (fabsf(cosHI * cosHO) * (self->m_eta * self->m_eta) * (G * D) * invHt2) / cosNO; + *pdf = D * fabsf(cosThetaM) * (fabsf(cosHI) * (m_eta * m_eta)) * invHt2; + float out = (fabsf(cosHI * cosHO) * (m_eta * m_eta) * (G * D) * invHt2) / cosNO; return make_float3 (out, out, out); } @@ -367,7 +381,9 @@ __device float bsdf_microfacet_beckmann_albedo(const ShaderData *sd, const float __device int bsdf_microfacet_beckmann_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { - const BsdfMicrofacetBeckmannClosure *self = (const BsdfMicrofacetBeckmannClosure*)sd->svm_closure_data; + float m_ab = sd->svm_closure_data0; + float m_eta = sd->svm_closure_data1; + int m_refractive = __float_as_int(sd->svm_closure_data2); float3 m_N = sd->N; float cosNO = dot(m_N, sd->I); @@ -378,7 +394,7 @@ __device int bsdf_microfacet_beckmann_sample(const ShaderData *sd, float randu, // eq. 35,36: // we take advantage of cos(atan(x)) == 1/sqrt(1+x^2) //tttt and sin(atan(x)) == x/sqrt(1+x^2) - float alpha2 = self->m_ab * self->m_ab; + float alpha2 = m_ab * m_ab; float tanThetaM = sqrtf(-alpha2 * logf(1 - randu)); float cosThetaM = 1 / sqrtf(1 + tanThetaM * tanThetaM); float sinThetaM = cosThetaM * tanThetaM; @@ -387,7 +403,7 @@ __device int bsdf_microfacet_beckmann_sample(const ShaderData *sd, float randu, (sinf(phiM) * sinThetaM) * Y + cosThetaM * Z; - if(self->m_refractive == 0) { + if(m_refractive == 0) { float cosMO = dot(m, sd->I); if(cosMO > 0) { // eq. 39 - compute actual reflected direction @@ -408,8 +424,8 @@ __device int bsdf_microfacet_beckmann_sample(const ShaderData *sd, float randu, // Eval BRDF*cosNI float cosNI = dot(m_N, *omega_in); // eq. 26, 27: now calculate G1(i,m) and G1(o,m) - float ao = 1 / (self->m_ab * sqrtf((1 - cosNO * cosNO) / (cosNO * cosNO))); - float ai = 1 / (self->m_ab * sqrtf((1 - cosNI * cosNI) / (cosNI * cosNI))); + float ao = 1 / (m_ab * sqrtf((1 - cosNO * cosNO) / (cosNO * cosNO))); + float ai = 1 / (m_ab * sqrtf((1 - cosNI * cosNI) / (cosNI * cosNI))); float G1o = ao < 1.6f ? (3.535f * ao + 2.181f * ao * ao) / (1 + 2.276f * ao + 2.577f * ao * ao) : 1.0f; float G1i = ai < 1.6f ? (3.535f * ai + 2.181f * ai * ai) / (1 + 2.276f * ai + 2.577f * ai * ai) : 1.0f; float G = G1o * G1i; @@ -436,7 +452,7 @@ __device int bsdf_microfacet_beckmann_sample(const ShaderData *sd, float randu, float3 dRdx, dRdy, dTdx, dTdy; #endif bool inside; - fresnel_dielectric(self->m_eta, m, sd->I, &R, &T, + fresnel_dielectric(m_eta, m, sd->I, &R, &T, #ifdef __RAY_DIFFERENTIALS__ sd->dI.dx, sd->dI.dy, &dRdx, &dRdy, &dTdx, &dTdy, #endif @@ -459,19 +475,19 @@ __device int bsdf_microfacet_beckmann_sample(const ShaderData *sd, float randu, // eval BRDF*cosNI float cosNI = dot(m_N, *omega_in); // eq. 26, 27: now calculate G1(i,m) and G1(o,m) - float ao = 1 / (self->m_ab * sqrtf((1 - cosNO * cosNO) / (cosNO * cosNO))); - float ai = 1 / (self->m_ab * sqrtf((1 - cosNI * cosNI) / (cosNI * cosNI))); + float ao = 1 / (m_ab * sqrtf((1 - cosNO * cosNO) / (cosNO * cosNO))); + float ai = 1 / (m_ab * sqrtf((1 - cosNI * cosNI) / (cosNI * cosNI))); float G1o = ao < 1.6f ? (3.535f * ao + 2.181f * ao * ao) / (1 + 2.276f * ao + 2.577f * ao * ao) : 1.0f; float G1i = ai < 1.6f ? (3.535f * ai + 2.181f * ai * ai) / (1 + 2.276f * ai + 2.577f * ai * ai) : 1.0f; float G = G1o * G1i; // eq. 21 float cosHI = dot(m, *omega_in); float cosHO = dot(m, sd->I); - float Ht2 = self->m_eta * cosHI + cosHO; + float Ht2 = m_eta * cosHI + cosHO; Ht2 *= Ht2; - float out = (fabsf(cosHI * cosHO) * (self->m_eta * self->m_eta) * (G * D)) / (cosNO * Ht2); + float out = (fabsf(cosHI * cosHO) * (m_eta * m_eta) * (G * D)) / (cosNO * Ht2); // eq. 38 and eq. 17 - *pdf = pm * (self->m_eta * self->m_eta) * fabsf(cosHI) / Ht2; + *pdf = pm * (m_eta * m_eta) * fabsf(cosHI) / Ht2; *eval = make_float3(out, out, out); #ifdef __RAY_DIFFERENTIALS__ // Since there is some blur to this refraction, make the @@ -484,7 +500,7 @@ __device int bsdf_microfacet_beckmann_sample(const ShaderData *sd, float randu, } } } - return (self->m_refractive == 1) ? LABEL_TRANSMIT|LABEL_GLOSSY : LABEL_REFLECT|LABEL_GLOSSY; + return (m_refractive == 1) ? LABEL_TRANSMIT|LABEL_GLOSSY : LABEL_REFLECT|LABEL_GLOSSY; } CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/svm/bsdf_reflection.h b/intern/cycles/kernel/svm/bsdf_reflection.h index 2c49eb7ef24..4dad61704df 100644 --- a/intern/cycles/kernel/svm/bsdf_reflection.h +++ b/intern/cycles/kernel/svm/bsdf_reflection.h @@ -43,9 +43,6 @@ typedef struct BsdfReflectionClosure { __device void bsdf_reflection_setup(ShaderData *sd, float3 N) { - //BsdfReflectionClosure *self = (BsdfReflectionClosure*)sd->svm_closure_data; - //self->m_N = N; - sd->svm_closure = CLOSURE_BSDF_REFLECTION_ID; sd->flag |= SD_BSDF; } diff --git a/intern/cycles/kernel/svm/bsdf_refraction.h b/intern/cycles/kernel/svm/bsdf_refraction.h index 534945f4f0b..93bd747eb31 100644 --- a/intern/cycles/kernel/svm/bsdf_refraction.h +++ b/intern/cycles/kernel/svm/bsdf_refraction.h @@ -43,9 +43,7 @@ typedef struct BsdfRefractionClosure { __device void bsdf_refraction_setup(ShaderData *sd, float3 N, float eta) { - BsdfRefractionClosure *self = (BsdfRefractionClosure*)sd->svm_closure_data; - - self->m_eta = eta; + sd->svm_closure_data0 = eta; sd->svm_closure = CLOSURE_BSDF_REFRACTION_ID; sd->flag |= SD_BSDF; @@ -72,7 +70,7 @@ __device float bsdf_refraction_albedo(const ShaderData *sd, const float3 I) __device int bsdf_refraction_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { - const BsdfRefractionClosure *self = (const BsdfRefractionClosure*)sd->svm_closure_data; + float m_eta = sd->svm_closure_data0; float3 m_N = sd->N; float3 R, T; @@ -80,7 +78,7 @@ __device int bsdf_refraction_sample(const ShaderData *sd, float randu, float ran float3 dRdx, dRdy, dTdx, dTdy; #endif bool inside; - fresnel_dielectric(self->m_eta, m_N, sd->I, &R, &T, + fresnel_dielectric(m_eta, m_N, sd->I, &R, &T, #ifdef __RAY_DIFFERENTIALS__ sd->dI.dx, sd->dI.dy, &dRdx, &dRdy, &dTdx, &dTdy, #endif diff --git a/intern/cycles/kernel/svm/bsdf_ward.h b/intern/cycles/kernel/svm/bsdf_ward.h index 6680644a1a7..18967b3981e 100644 --- a/intern/cycles/kernel/svm/bsdf_ward.h +++ b/intern/cycles/kernel/svm/bsdf_ward.h @@ -46,12 +46,11 @@ typedef struct BsdfWardClosure { __device void bsdf_ward_setup(ShaderData *sd, float3 N, float3 T, float ax, float ay) { - BsdfWardClosure *self = (BsdfWardClosure*)sd->svm_closure_data; + float m_ax = clamp(ax, 1e-5f, 1.0f); + float m_ay = clamp(ay, 1e-5f, 1.0f); - //self->m_N = N; - //self->m_T = T; - self->m_ax = clamp(ax, 1e-5f, 1.0f); - self->m_ay = clamp(ay, 1e-5f, 1.0f); + sd->svm_closure_data0 = m_ax; + sd->svm_closure_data1 = m_ay; sd->svm_closure = CLOSURE_BSDF_WARD_ID; sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; @@ -59,35 +58,35 @@ __device void bsdf_ward_setup(ShaderData *sd, float3 N, float3 T, float ax, floa __device void bsdf_ward_blur(ShaderData *sd, float roughness) { - BsdfWardClosure *self = (BsdfWardClosure*)sd->svm_closure_data; - - self->m_ax = fmaxf(roughness, self->m_ax); - self->m_ay = fmaxf(roughness, self->m_ay); + sd->svm_closure_data0 = fmaxf(roughness, sd->svm_closure_data0); + sd->svm_closure_data1 = fmaxf(roughness, sd->svm_closure_data1); } __device float3 bsdf_ward_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) { - const BsdfWardClosure *self = (const BsdfWardClosure*)sd->svm_closure_data; + float m_ax = sd->svm_closure_data0; + float m_ay = sd->svm_closure_data1; float3 m_N = sd->N; float3 m_T = normalize(sd->dPdu); float cosNO = dot(m_N, I); float cosNI = dot(m_N, omega_in); + if(cosNI > 0 && cosNO > 0) { // get half vector and get x,y basis on the surface for anisotropy float3 H = normalize(omega_in + I); // normalize needed for pdf float3 X, Y; make_orthonormals_tangent(m_N, m_T, &X, &Y); // eq. 4 - float dotx = dot(H, X) / self->m_ax; - float doty = dot(H, Y) / self->m_ay; + float dotx = dot(H, X) / m_ax; + float doty = dot(H, Y) / m_ay; float dotn = dot(H, m_N); float exp_arg = (dotx * dotx + doty * doty) / (dotn * dotn); - float denom = (4 * M_PI_F * self->m_ax * self->m_ay * sqrtf(cosNO * cosNI)); + float denom = (4 * M_PI_F * m_ax * m_ay * sqrtf(cosNO * cosNI)); float exp_val = expf(-exp_arg); float out = cosNI * exp_val / denom; float oh = dot(H, I); - denom = 4 * M_PI_F * self->m_ax * self->m_ay * oh * dotn * dotn * dotn; + denom = 4 * M_PI_F * m_ax * m_ay * oh * dotn * dotn * dotn; *pdf = exp_val / denom; return make_float3 (out, out, out); } @@ -106,7 +105,8 @@ __device float bsdf_ward_albedo(const ShaderData *sd, const float3 I) __device int bsdf_ward_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { - const BsdfWardClosure *self = (const BsdfWardClosure*)sd->svm_closure_data; + float m_ax = sd->svm_closure_data0; + float m_ay = sd->svm_closure_data1; float3 m_N = sd->N; float3 m_T = normalize(sd->dPdu); @@ -120,7 +120,7 @@ __device int bsdf_ward_sample(const ShaderData *sd, float randu, float randv, fl //ttoutput angle in the right quadrant) // we take advantage of cos(atan(x)) == 1/sqrt(1+x^2) //tttt and sin(atan(x)) == x/sqrt(1+x^2) - float alphaRatio = self->m_ay / self->m_ax; + float alphaRatio = m_ay / m_ax; float cosPhi, sinPhi; if(randu < 0.25f) { float val = 4 * randu; @@ -149,7 +149,7 @@ __device int bsdf_ward_sample(const ShaderData *sd, float randu, float randv, fl // eq. 6 // we take advantage of cos(atan(x)) == 1/sqrt(1+x^2) //tttt and sin(atan(x)) == x/sqrt(1+x^2) - float thetaDenom = (cosPhi * cosPhi) / (self->m_ax * self->m_ax) + (sinPhi * sinPhi) / (self->m_ay * self->m_ay); + float thetaDenom = (cosPhi * cosPhi) / (m_ax * m_ax) + (sinPhi * sinPhi) / (m_ay * m_ay); float tanTheta2 = -logf(1 - randv) / thetaDenom; float cosTheta = 1 / sqrtf(1 + tanTheta2); float sinTheta = cosTheta * sqrtf(tanTheta2); @@ -159,8 +159,8 @@ __device int bsdf_ward_sample(const ShaderData *sd, float randu, float randv, fl h.y = sinTheta * sinPhi; h.z = cosTheta; // compute terms that are easier in local space - float dotx = h.x / self->m_ax; - float doty = h.y / self->m_ay; + float dotx = h.x / m_ax; + float doty = h.y / m_ay; float dotn = h.z; // transform to world space h = h.x * X + h.y * Y + h.z * m_N; @@ -172,10 +172,10 @@ __device int bsdf_ward_sample(const ShaderData *sd, float randu, float randv, fl if(cosNI > 0) { // eq. 9 float exp_arg = (dotx * dotx + doty * doty) / (dotn * dotn); - float denom = 4 * M_PI_F * self->m_ax * self->m_ay * oh * dotn * dotn * dotn; + float denom = 4 * M_PI_F * m_ax * m_ay * oh * dotn * dotn * dotn; *pdf = expf(-exp_arg) / denom; // compiler will reuse expressions already computed - denom = (4 * M_PI_F * self->m_ax * self->m_ay * sqrtf(cosNO * cosNI)); + denom = (4 * M_PI_F * m_ax * m_ay * sqrtf(cosNO * cosNI)); float power = cosNI * expf(-exp_arg) / denom; *eval = make_float3(power, power, power); #ifdef __RAY_DIFFERENTIALS__ diff --git a/intern/cycles/kernel/svm/bsdf_westin.h b/intern/cycles/kernel/svm/bsdf_westin.h index 55fc8286529..0f38deb0885 100644 --- a/intern/cycles/kernel/svm/bsdf_westin.h +++ b/intern/cycles/kernel/svm/bsdf_westin.h @@ -44,25 +44,24 @@ typedef struct BsdfWestinBackscatterClosure { __device void bsdf_westin_backscatter_setup(ShaderData *sd, float3 N, float roughness) { - BsdfWestinBackscatterClosure *self = (BsdfWestinBackscatterClosure*)sd->svm_closure_data; - - //self->m_N = N; roughness = clamp(roughness, 1e-5f, 1.0f); - self->m_invroughness = 1.0f/roughness; + float m_invroughness = 1.0f/roughness; sd->svm_closure = CLOSURE_BSDF_WESTIN_BACKSCATTER_ID; sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; + sd->svm_closure_data0 = m_invroughness; } __device void bsdf_westin_backscatter_blur(ShaderData *sd, float roughness) { - BsdfWestinBackscatterClosure *self = (BsdfWestinBackscatterClosure*)sd->svm_closure_data; - self->m_invroughness = min(1.0f/roughness, self->m_invroughness); + float m_invroughness = sd->svm_closure_data0; + m_invroughness = min(1.0f/roughness, m_invroughness); + sd->svm_closure_data0 = m_invroughness; } __device float3 bsdf_westin_backscatter_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) { - const BsdfWestinBackscatterClosure *self = (const BsdfWestinBackscatterClosure*)sd->svm_closure_data; + float m_invroughness = sd->svm_closure_data0; float3 m_N = sd->N; // pdf is implicitly 0 (no indirect sampling) @@ -70,7 +69,7 @@ __device float3 bsdf_westin_backscatter_eval_reflect(const ShaderData *sd, const float cosNI = dot(m_N, omega_in); if(cosNO > 0 && cosNI > 0) { float cosine = dot(I, omega_in); - *pdf = cosine > 0 ? (self->m_invroughness + 1) * powf(cosine, self->m_invroughness) : 0; + *pdf = cosine > 0 ? (m_invroughness + 1) * powf(cosine, m_invroughness) : 0; *pdf *= 0.5f * M_1_PI_F; return make_float3 (*pdf, *pdf, *pdf); } @@ -89,7 +88,7 @@ __device float bsdf_westin_backscatter_albedo(const ShaderData *sd, const float3 __device int bsdf_westin_backscatter_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { - const BsdfWestinBackscatterClosure *self = (const BsdfWestinBackscatterClosure*)sd->svm_closure_data; + float m_invroughness = sd->svm_closure_data0; float3 m_N = sd->N; float cosNO = dot(m_N, sd->I); @@ -101,7 +100,7 @@ __device int bsdf_westin_backscatter_sample(const ShaderData *sd, float randu, f float3 T, B; make_orthonormals (sd->I, &T, &B); float phi = 2 * M_PI_F * randu; - float cosTheta = powf(randv, 1 / (self->m_invroughness + 1)); + float cosTheta = powf(randv, 1 / (m_invroughness + 1)); float sinTheta2 = 1 - cosTheta * cosTheta; float sinTheta = sinTheta2 > 0 ? sqrtf(sinTheta2) : 0; *omega_in = (cosf(phi) * sinTheta) * T + @@ -114,8 +113,8 @@ __device int bsdf_westin_backscatter_sample(const ShaderData *sd, float randu, f // make sure the direction we chose is still in the right hemisphere if(cosNI > 0) { - *pdf = 0.5f * M_1_PI_F * powf(cosTheta, self->m_invroughness); - *pdf = (self->m_invroughness + 1) * (*pdf); + *pdf = 0.5f * M_1_PI_F * powf(cosTheta, m_invroughness); + *pdf = (m_invroughness + 1) * (*pdf); *eval = make_float3(*pdf, *pdf, *pdf); #ifdef __RAY_DIFFERENTIALS__ // Since there is some blur to this reflection, make the @@ -140,13 +139,9 @@ typedef struct BsdfWestinSheenClosure { __device void bsdf_westin_sheen_setup(ShaderData *sd, float3 N, float edginess) { - BsdfWestinSheenClosure *self = (BsdfWestinSheenClosure*)sd->svm_closure_data; - - //self->m_N = N; - self->m_edginess = edginess; - sd->svm_closure = CLOSURE_BSDF_WESTIN_SHEEN_ID; sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; + sd->svm_closure_data0 = edginess; } __device void bsdf_westin_sheen_blur(ShaderData *sd, float roughness) @@ -155,7 +150,7 @@ __device void bsdf_westin_sheen_blur(ShaderData *sd, float roughness) __device float3 bsdf_westin_sheen_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) { - const BsdfWestinSheenClosure *self = (const BsdfWestinSheenClosure*)sd->svm_closure_data; + float m_edginess = sd->svm_closure_data0; float3 m_N = sd->N; // pdf is implicitly 0 (no indirect sampling) @@ -164,7 +159,7 @@ __device float3 bsdf_westin_sheen_eval_reflect(const ShaderData *sd, const float if(cosNO > 0 && cosNI > 0) { float sinNO2 = 1 - cosNO * cosNO; *pdf = cosNI * M_1_PI_F; - float westin = sinNO2 > 0 ? powf(sinNO2, 0.5f * self->m_edginess) * (*pdf) : 0; + float westin = sinNO2 > 0 ? powf(sinNO2, 0.5f * m_edginess) * (*pdf) : 0; return make_float3 (westin, westin, westin); } return make_float3 (0, 0, 0); @@ -182,7 +177,7 @@ __device float bsdf_westin_sheen_albedo(const ShaderData *sd, const float3 I) __device int bsdf_westin_sheen_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { - const BsdfWestinSheenClosure *self = (const BsdfWestinSheenClosure*)sd->svm_closure_data; + float m_edginess = sd->svm_closure_data0; float3 m_N = sd->N; // we are viewing the surface from the right side - send a ray out with cosine @@ -192,7 +187,7 @@ __device int bsdf_westin_sheen_sample(const ShaderData *sd, float randu, float r // TODO: account for sheen when sampling float cosNO = dot(m_N, sd->I); float sinNO2 = 1 - cosNO * cosNO; - float westin = sinNO2 > 0 ? powf(sinNO2, 0.5f * self->m_edginess) * (*pdf) : 0; + float westin = sinNO2 > 0 ? powf(sinNO2, 0.5f * m_edginess) * (*pdf) : 0; *eval = make_float3(westin, westin, westin); #ifdef __RAY_DIFFERENTIALS__ // TODO: find a better approximation for the diffuse bounce diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp index d3482e7f92f..f66c4a64b0b 100644 --- a/intern/cycles/render/session.cpp +++ b/intern/cycles/render/session.cpp @@ -79,6 +79,8 @@ Session::~Session() } if(params.output_path != "") { + tonemap(); + progress.set_status("Writing Image", params.output_path); display->write(device, params.output_path); } @@ -352,7 +354,8 @@ void Session::run_cpu() /* update status and timing */ update_status_time(); - need_tonemap = true; + if(!params.background) + need_tonemap = true; } device->task_wait(); diff --git a/intern/cycles/util/util_cuda.cpp b/intern/cycles/util/util_cuda.cpp index 15ce7efd9ee..b371f4e9499 100644 --- a/intern/cycles/util/util_cuda.cpp +++ b/intern/cycles/util/util_cuda.cpp @@ -19,6 +19,8 @@ #include "util_cuda.h" #include "util_debug.h" #include "util_dynlib.h" +#include "util_path.h" +#include "util_string.h" /* function defininitions */ @@ -375,5 +377,17 @@ bool cuLibraryInit() return result; } +string cuCompilerPath() +{ + /* todo: better nvcc detection */ +#ifdef _WIN32 + string nvcc = "C:/CUDA/bin/nvcc.exe"; +#else + string nvcc = "/usr/local/cuda/bin/nvcc"; +#endif + + return (path_exists(nvcc))? nvcc: ""; +} + CCL_NAMESPACE_END diff --git a/intern/cycles/util/util_cuda.h b/intern/cycles/util/util_cuda.h index ecfaddf43cb..3674c65bd93 100644 --- a/intern/cycles/util/util_cuda.h +++ b/intern/cycles/util/util_cuda.h @@ -21,6 +21,7 @@ #include #include "util_opengl.h" +#include "util_string.h" CCL_NAMESPACE_BEGIN @@ -29,6 +30,7 @@ CCL_NAMESPACE_BEGIN * matrixMulDynlinkJIT in the CUDA SDK. */ bool cuLibraryInit(); +string cuCompilerPath(); CCL_NAMESPACE_END diff --git a/intern/cycles/util/util_opencl.h b/intern/cycles/util/util_opencl.h index d3c95289101..08694874ac1 100755 --- a/intern/cycles/util/util_opencl.h +++ b/intern/cycles/util/util_opencl.h @@ -75,13 +75,7 @@ extern "C" { #define CL_API_CALL #endif -#if defined(__APPLE__) -#define CL_API_SUFFIX__VERSION_1_0 AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER -#define CL_EXTENSION_WEAK_LINK __attribute__((weak_import)) -#else #define CL_API_SUFFIX__VERSION_1_0 -#define CL_EXTENSION_WEAK_LINK -#endif #if defined(_WIN32) && defined(_MSC_VER) diff --git a/intern/cycles/util/util_path.cpp b/intern/cycles/util/util_path.cpp index 6f76e378dc2..086063bcb81 100644 --- a/intern/cycles/util/util_path.cpp +++ b/intern/cycles/util/util_path.cpp @@ -27,6 +27,7 @@ OIIO_NAMESPACE_USING #define BOOST_FILESYSTEM_VERSION 2 #include +#include CCL_NAMESPACE_BEGIN @@ -60,6 +61,18 @@ string path_join(const string& dir, const string& file) return (boost::filesystem::path(dir) / boost::filesystem::path(file)).string(); } +string path_escape(const string& path) +{ + string result = path; + boost::replace_all(result, " ", "\\ "); + return result; +} + +bool path_exists(const string& path) +{ + return boost::filesystem::exists(path); +} + string path_files_md5_hash(const string& dir) { /* computes md5 hash of all files in the directory */ diff --git a/intern/cycles/util/util_path.h b/intern/cycles/util/util_path.h index 4be0cb86f56..3e07f9524bf 100644 --- a/intern/cycles/util/util_path.h +++ b/intern/cycles/util/util_path.h @@ -35,6 +35,8 @@ string path_filename(const string& path); string path_dirname(const string& path); string path_join(const string& dir, const string& file); +string path_escape(const string& path); +bool path_exists(const string& path); string path_files_md5_hash(const string& dir); CCL_NAMESPACE_END diff --git a/intern/cycles/util/util_system.cpp b/intern/cycles/util/util_system.cpp index 77a1b1ffb75..8b09f227a74 100644 --- a/intern/cycles/util/util_system.cpp +++ b/intern/cycles/util/util_system.cpp @@ -113,5 +113,10 @@ string system_cpu_brand_string() return "Unknown CPU"; } +int system_cpu_bits() +{ + return (sizeof(void*)*8); +} + CCL_NAMESPACE_END diff --git a/intern/cycles/util/util_system.h b/intern/cycles/util/util_system.h index 49a798acf03..214b3a18ca3 100644 --- a/intern/cycles/util/util_system.h +++ b/intern/cycles/util/util_system.h @@ -25,6 +25,7 @@ CCL_NAMESPACE_BEGIN int system_cpu_thread_count(); string system_cpu_brand_string(); +int system_cpu_bits(); CCL_NAMESPACE_END From cfbd6cf154bbc653422f30b2bf8077545f5fb99c Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 9 Sep 2011 12:04:39 +0000 Subject: [PATCH 125/241] Cycles: * OpenCL now only uses GPU/Accelerator devices, it's only confusing if CPU device is used, easy to enable in the code for debugging. * OpenCL kernel binaries are now cached for faster startup after the first time compiling. * CUDA kernels can now be compiled and cached at runtime if the CUDA toolkit is installed. This means that even if the build does not have CUDA enabled, it's still possible to use it as long as you install the toolkit. --- intern/cycles/CMakeLists.txt | 3 +- intern/cycles/blender/addon/engine.py | 6 +- intern/cycles/blender/blender_python.cpp | 6 +- intern/cycles/device/device_cuda.cpp | 103 +++++++++++++-- intern/cycles/device/device_opencl.cpp | 149 +++++++++++++++++++--- intern/cycles/kernel/CMakeLists.txt | 1 + intern/cycles/kernel/kernel_compat_cuda.h | 6 +- intern/cycles/render/session.cpp | 2 +- intern/cycles/util/util_cuda.cpp | 23 +++- intern/cycles/util/util_path.cpp | 57 ++++++++- intern/cycles/util/util_path.h | 7 +- 11 files changed, 317 insertions(+), 46 deletions(-) diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index 5d76f57fa73..05b9d4ad3bb 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -46,7 +46,7 @@ if(WITH_CYCLES_MULTI) endif() if(WITH_CYCLES_CUDA) - add_definitions(-DWITH_CUDA) + add_definitions(-DWITH_CUDA_BINARIES) endif() if(WITH_CYCLES_OSL) @@ -58,6 +58,7 @@ if(WITH_CYCLES_PARTIO) endif() add_definitions(-DWITH_OPENCL) +add_definitions(-DWITH_CUDA) include_directories( ${BOOST_INCLUDE_DIR} diff --git a/intern/cycles/blender/addon/engine.py b/intern/cycles/blender/addon/engine.py index d6ea15a435f..8cd7be567e6 100644 --- a/intern/cycles/blender/addon/engine.py +++ b/intern/cycles/blender/addon/engine.py @@ -21,7 +21,11 @@ import bpy def init(): import libcycles_blender as lib import os.path - lib.init(os.path.dirname(__file__)) + + path = os.path.dirname(__file__) + user_path = os.path.dirname(os.path.abspath(bpy.utils.user_resource('CONFIG', ''))) + + lib.init(path, user_path) def create(engine, data, scene, region = 0, v3d = 0, rv3d = 0): import libcycles_blender as lib diff --git a/intern/cycles/blender/blender_python.cpp b/intern/cycles/blender/blender_python.cpp index b40f5206fea..1026d420c02 100644 --- a/intern/cycles/blender/blender_python.cpp +++ b/intern/cycles/blender/blender_python.cpp @@ -28,12 +28,12 @@ CCL_NAMESPACE_BEGIN static PyObject *init_func(PyObject *self, PyObject *args) { - const char *path; + const char *path, *user_path; - if(!PyArg_ParseTuple(args, "s", &path)) + if(!PyArg_ParseTuple(args, "ss", &path, &user_path)) return NULL; - path_init(path); + path_init(path, user_path); Py_INCREF(Py_None); return Py_None; diff --git a/intern/cycles/device/device_cuda.cpp b/intern/cycles/device/device_cuda.cpp index a6a66873b92..49ffd3d0834 100644 --- a/intern/cycles/device/device_cuda.cpp +++ b/intern/cycles/device/device_cuda.cpp @@ -28,7 +28,9 @@ #include "util_map.h" #include "util_opengl.h" #include "util_path.h" +#include "util_system.h" #include "util_types.h" +#include "util_time.h" CCL_NAMESPACE_BEGIN @@ -125,6 +127,15 @@ public: } \ } + bool cuda_error(CUresult result) + { + if(result == CUDA_SUCCESS) + return false; + + fprintf(stderr, "CUDA error: %s\n", cuda_error_string(result)); + return true; + } + void cuda_push_context() { cuda_assert(cuCtxSetCurrent(cuContext)) @@ -140,17 +151,26 @@ public: background = background_; cuDevId = 0; + cuDevice = 0; + cuContext = 0; /* intialize */ - cuda_assert(cuInit(0)) + if(cuda_error(cuInit(0))) + return; /* setup device and context */ - cuda_assert(cuDeviceGet(&cuDevice, cuDevId)) + if(cuda_error(cuDeviceGet(&cuDevice, cuDevId))) + return; + + CUresult result; if(background) - cuda_assert(cuCtxCreate(&cuContext, 0, cuDevice)) + result = cuCtxCreate(&cuContext, 0, cuDevice); else - cuda_assert(cuGLCtxCreate(&cuContext, 0, cuDevice)) + result = cuGLCtxCreate(&cuContext, 0, cuDevice); + + if(cuda_error(result)) + return; cuda_pop_context(); } @@ -173,21 +193,80 @@ public: return string("CUDA ") + deviceName; } + string compile_kernel() + { + /* compute cubin name */ + int major, minor; + cuDeviceComputeCapability(&major, &minor, cuDevId); + + /* attempt to use kernel provided with blender */ + string cubin = path_get(string_printf("lib/kernel_sm_%d%d.cubin", major, minor)); + if(path_exists(cubin)) + return cubin; + + /* not found, try to use locally compiled kernel */ + string kernel_path = path_get("kernel"); + string md5 = path_files_md5_hash(kernel_path); + + cubin = string_printf("cycles_kernel_sm%d%d_%s.cubin", major, minor, md5.c_str());; + cubin = path_user_get(path_join("cache", cubin)); + + /* if exists already, use it */ + if(path_exists(cubin)) + return cubin; + + /* if not, find CUDA compiler */ + string nvcc = cuCompilerPath(); + + if(nvcc == "") { + fprintf(stderr, "CUDA nvcc compiler not found. Install CUDA toolkit in default location.\n"); + return ""; + } + + /* compile */ + string kernel = path_join(kernel_path, "kernel.cu"); + string include = kernel_path; + const int machine = system_cpu_bits(); + const int maxreg = 24; + + double starttime = time_dt(); + printf("Compiling CUDA kernel ...\n"); + + string command = string_printf("%s -arch=sm_%d%d -m%d --cubin \"%s\" --use_fast_math " + "-o \"%s\" --ptxas-options=\"-v\" --maxrregcount=%d --opencc-options -OPT:Olimit=0 -I\"%s\" -DNVCC", + nvcc.c_str(), major, minor, machine, kernel.c_str(), cubin.c_str(), maxreg, include.c_str()); + + system(command.c_str()); + + /* verify if compilation succeeded */ + if(!path_exists(cubin)) { + fprintf(stderr, "CUDA kernel compilation failed.\n"); + return ""; + } + + printf("Kernel compilation finished in %.2lfs.\n", time_dt() - starttime); + + return cubin; + } bool load_kernels() { - CUresult result; - int major, minor; + /* check if cuda init succeeded */ + if(cuContext == 0) + return false; - cuda_push_context(); + /* get kernel */ + string cubin = compile_kernel(); + + if(cubin == "") + return false; /* open module */ - cuDeviceComputeCapability(&major, &minor, cuDevId); - string cubin = path_get(string_printf("lib/kernel_sm_%d%d.cubin", major, minor)); + cuda_push_context(); - result = cuModuleLoad(&cuModule, cubin.c_str()); - if(result != CUDA_SUCCESS) - fprintf(stderr, "Failed loading CUDA kernel %s (%s).\n", cubin.c_str(), cuda_error_string(result)); + CUresult result = cuModuleLoad(&cuModule, cubin.c_str()); + if(cuda_error(result)) + fprintf(stderr, "Failed loading CUDA kernel %s.\n", cubin.c_str()); cuda_pop_context(); diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp index c142701c873..a41238ffe09 100644 --- a/intern/cycles/device/device_opencl.cpp +++ b/intern/cycles/device/device_opencl.cpp @@ -27,6 +27,7 @@ #include "util_map.h" #include "util_math.h" +#include "util_md5.h" #include "util_opencl.h" #include "util_opengl.h" #include "util_path.h" @@ -118,7 +119,7 @@ public: void opencl_assert(cl_int err) { if(err != CL_SUCCESS) { - printf("error (%d): %s\n", err, opencl_error_string(err)); + fprintf(stderr, "OpenCL error (%d): %s\n", err, opencl_error_string(err)); #ifndef NDEBUG abort(); #endif @@ -157,7 +158,7 @@ public: cpPlatform = platform_ids[0]; /* todo: pick specified platform && device */ - ciErr = clGetDeviceIDs(cpPlatform, CL_DEVICE_TYPE_ALL, 1, &cdDevice, NULL); + ciErr = clGetDeviceIDs(cpPlatform, CL_DEVICE_TYPE_GPU|CL_DEVICE_TYPE_ACCELERATOR, 1, &cdDevice, NULL); if(opencl_error(ciErr)) return; @@ -208,38 +209,67 @@ public: return true; } - bool load_kernels() + bool load_binary(const string& kernel_path, const string& clbin) { - /* verify if device was initialized */ - if(!device_initialized) + /* read binary into memory */ + vector binary; + + if(!path_read_binary(clbin, binary)) { + fprintf(stderr, "OpenCL failed to read cached binary %s.\n", clbin.c_str()); + return false; + } + + /* create program */ + cl_int status; + size_t size = binary.size(); + const uint8_t *bytes = &binary[0]; + + cpProgram = clCreateProgramWithBinary(cxContext, 1, &cdDevice, + &size, &bytes, &status, &ciErr); + + if(opencl_error(status) || opencl_error(ciErr)) { + fprintf(stderr, "OpenCL failed create program from cached binary %s.\n", clbin.c_str()); + return false; + } + + if(!build_kernel(kernel_path)) return false; - /* verify we have right opencl version */ - if(!opencl_version_check()) + return true; + } + + bool save_binary(const string& clbin) + { + size_t size = 0; + clGetProgramInfo(cpProgram, CL_PROGRAM_BINARY_SIZES, sizeof(size_t), &size, NULL); + + if(!size) return false; - /* we compile kernels consisting of many files. unfortunately opencl - kernel caches do not seem to recognize changes in included files. - so we force recompile on changes by adding the md5 hash of all files */ - string kernel_path = path_get("kernel"); - string kernel_md5 = path_files_md5_hash(kernel_path); + vector binary(size); + uint8_t *bytes = &binary[0]; - string source = "#include \"kernel.cl\" // " + kernel_md5 + "\n"; - size_t source_len = source.size(); - const char *source_str = source.c_str(); + clGetProgramInfo(cpProgram, CL_PROGRAM_BINARIES, sizeof(uint8_t*), &bytes, NULL); + if(!path_write_binary(clbin, binary)) { + fprintf(stderr, "OpenCL failed to write cached binary %s.\n", clbin.c_str()); + return false; + } + + return true; + } + + bool build_kernel(const string& kernel_path) + { string build_options = ""; build_options += "-I " + kernel_path + ""; /* todo: escape path */ build_options += " -cl-fast-relaxed-math -cl-strict-aliasing"; - cpProgram = clCreateProgramWithSource(cxContext, 1, &source_str, &source_len, &ciErr); - if(opencl_error(ciErr)) - return false; - ciErr = clBuildProgram(cpProgram, 0, NULL, build_options.c_str(), NULL, NULL); if(ciErr != CL_SUCCESS) { + /* show build errors */ char *build_log; size_t ret_val_size; @@ -256,6 +286,87 @@ public: return false; } + return true; + } + + bool compile_kernel(const string& kernel_path, const string& kernel_md5) + { + /* we compile kernels consisting of many files. unfortunately opencl + kernel caches do not seem to recognize changes in included files. + so we force recompile on changes by adding the md5 hash of all files */ + string source = "#include \"kernel.cl\" // " + kernel_md5 + "\n"; + size_t source_len = source.size(); + const char *source_str = source.c_str(); + + cpProgram = clCreateProgramWithSource(cxContext, 1, &source_str, &source_len, &ciErr); + + if(opencl_error(ciErr)) + return false; + + double starttime = time_dt(); + printf("Compiling OpenCL kernel ...\n"); + + if(!build_kernel(kernel_path)) + return false; + + printf("Kernel compilation finished in %.2lfs.\n", time_dt() - starttime); + + return true; + } + + string device_md5_hash() + { + MD5Hash md5; + char version[256], driver[256], name[256], vendor[256]; + + clGetPlatformInfo(cpPlatform, CL_PLATFORM_VENDOR, sizeof(vendor), &vendor, NULL); + clGetDeviceInfo(cdDevice, CL_DEVICE_VERSION, sizeof(version), &version, NULL); + clGetDeviceInfo(cdDevice, CL_DEVICE_NAME, sizeof(name), &name, NULL); + clGetDeviceInfo(cdDevice, CL_DRIVER_VERSION, sizeof(driver), &driver, NULL); + + md5.append((uint8_t*)vendor, strlen(vendor)); + md5.append((uint8_t*)version, strlen(version)); + md5.append((uint8_t*)name, strlen(name)); + md5.append((uint8_t*)driver, strlen(driver)); + + return md5.get_hex(); + } + + bool load_kernels() + { + /* verify if device was initialized */ + if(!device_initialized) { + fprintf(stderr, "OpenCL: failed to initialize device.\n"); + return false; + } + + /* verify we have right opencl version */ + if(!opencl_version_check()) + return false; + + /* md5 hash to detect changes */ + string kernel_path = path_get("kernel"); + string kernel_md5 = path_files_md5_hash(kernel_path); + string device_md5 = device_md5_hash(); + + /* try to use cache binary */ + string clbin = string_printf("cycles_kernel_%s_%s.clbin", device_md5.c_str(), kernel_md5.c_str());; + clbin = path_user_get(path_join("cache", clbin)); + + if(path_exists(clbin)) { + /* if exists already, try use it */ + if(!load_binary(kernel_path, clbin)) + return false; + } + else { + /* compile kernel */ + if(!compile_kernel(kernel_path, kernel_md5)) + return false; + + /* save binary for reuse */ + save_binary(clbin); + } + /* find kernels */ ckPathTraceKernel = clCreateKernel(cpProgram, "kernel_ocl_path_trace", &ciErr); if(opencl_error(ciErr)) diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt index 31fe6994a1a..9714f941082 100644 --- a/intern/cycles/kernel/CMakeLists.txt +++ b/intern/cycles/kernel/CMakeLists.txt @@ -132,6 +132,7 @@ endif() #delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${kernel_preprocessed}" ${CYCLES_INSTALL_PATH}/kernel) delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "kernel.cl" ${CYCLES_INSTALL_PATH}/kernel) +delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "kernel.cu" ${CYCLES_INSTALL_PATH}/kernel) delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${headers}" ${CYCLES_INSTALL_PATH}/kernel) delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${svm_headers}" ${CYCLES_INSTALL_PATH}/kernel/svm) delayed_install(${CMAKE_CURRENT_SOURCE_DIR} "${util_headers}" ${CYCLES_INSTALL_PATH}/kernel) diff --git a/intern/cycles/kernel/kernel_compat_cuda.h b/intern/cycles/kernel/kernel_compat_cuda.h index 3a0eff5210c..72aef463cab 100644 --- a/intern/cycles/kernel/kernel_compat_cuda.h +++ b/intern/cycles/kernel/kernel_compat_cuda.h @@ -21,14 +21,14 @@ #define __KERNEL_GPU__ #define __KERNEL_CUDA__ +#define CCL_NAMESPACE_BEGIN +#define CCL_NAMESPACE_END #include #include #include "util_types.h" -CCL_NAMESPACE_BEGIN - /* Qualifier wrappers for different names on different devices */ #define __device __device__ __inline__ @@ -60,7 +60,5 @@ typedef texture texture_image_uchar4; #define kernel_data __data -CCL_NAMESPACE_END - #endif /* __KERNEL_COMPAT_CUDA_H__ */ diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp index f66c4a64b0b..5fb687971ef 100644 --- a/intern/cycles/render/session.cpp +++ b/intern/cycles/render/session.cpp @@ -384,7 +384,7 @@ void Session::run_cpu() void Session::run() { /* load kernels */ - progress.set_status("Loading render kernels (may take a few minutes)"); + progress.set_status("Loading render kernels (may take a few minutes the first time)"); if(!device->load_kernels()) { progress.set_status("Failed loading render kernel, see console for errors"); diff --git a/intern/cycles/util/util_cuda.cpp b/intern/cycles/util/util_cuda.cpp index b371f4e9499..14e3f9a159b 100644 --- a/intern/cycles/util/util_cuda.cpp +++ b/intern/cycles/util/util_cuda.cpp @@ -16,6 +16,8 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +#include + #include "util_cuda.h" #include "util_debug.h" #include "util_dynlib.h" @@ -371,6 +373,11 @@ bool cuLibraryInit() /* cuda 4.0 */ CUDA_LIBRARY_FIND(cuCtxSetCurrent); +#ifndef WITH_CUDA_BINARIES + if(cuCompilerPath() == "") + return false; +#endif + /* success */ result = true; @@ -379,13 +386,23 @@ bool cuLibraryInit() string cuCompilerPath() { - /* todo: better nvcc detection */ #ifdef _WIN32 - string nvcc = "C:/CUDA/bin/nvcc.exe"; + const char *defaultpath = "C:/CUDA/bin"; + const char *executable = "nvcc.exe"; #else - string nvcc = "/usr/local/cuda/bin/nvcc"; + const char *defaultpath = "/usr/local/cuda/bin"; + const char *executable = "nvcc"; #endif + const char *binpath = getenv("CUDA_BIN_PATH"); + + string nvcc; + + if(binpath) + nvcc = path_join(binpath, executable); + else + nvcc = path_join(defaultpath, executable); + return (path_exists(nvcc))? nvcc: ""; } diff --git a/intern/cycles/util/util_path.cpp b/intern/cycles/util/util_path.cpp index 086063bcb81..90093e32d58 100644 --- a/intern/cycles/util/util_path.cpp +++ b/intern/cycles/util/util_path.cpp @@ -24,6 +24,8 @@ #include OIIO_NAMESPACE_USING +#include + #define BOOST_FILESYSTEM_VERSION 2 #include @@ -32,10 +34,12 @@ OIIO_NAMESPACE_USING CCL_NAMESPACE_BEGIN static string cached_path = ""; +static string cached_user_path = ""; -void path_init(const string& path) +void path_init(const string& path, const string& user_path) { cached_path = path; + cached_user_path = user_path; } string path_get(const string& sub) @@ -46,6 +50,14 @@ string path_get(const string& sub) return path_join(cached_path, sub); } +string path_user_get(const string& sub) +{ + if(cached_user_path == "") + cached_user_path = path_dirname(Sysutil::this_program_path()); + + return path_join(cached_user_path, sub); +} + string path_filename(const string& path) { return boost::filesystem::path(path).filename(); @@ -97,5 +109,48 @@ string path_files_md5_hash(const string& dir) return hash.get_hex(); } +bool path_write_binary(const string& path, const vector& binary) +{ + /* write binary file from memory */ + boost::filesystem::create_directories(path_dirname(path)); + + FILE *f = fopen(path.c_str(), "wb"); + + if(!f) + return false; + + if(binary.size() > 0) + fwrite(&binary[0], sizeof(uint8_t), binary.size(), f); + + fclose(f); + + return true; +} + +bool path_read_binary(const string& path, vector& binary) +{ + binary.resize(boost::filesystem::file_size(path)); + + /* read binary file into memory */ + FILE *f = fopen(path.c_str(), "rb"); + + if(!f) + return false; + + if(binary.size() == 0) { + fclose(f); + return false; + } + + if(fread(&binary[0], sizeof(uint8_t), binary.size(), f) != binary.size()) { + fclose(f); + return false; + } + + fclose(f); + + return true; +} + CCL_NAMESPACE_END diff --git a/intern/cycles/util/util_path.h b/intern/cycles/util/util_path.h index 3e07f9524bf..ec3524d362a 100644 --- a/intern/cycles/util/util_path.h +++ b/intern/cycles/util/util_path.h @@ -25,11 +25,13 @@ * then makes all paths relative to that. */ #include "util_string.h" +#include "util_vector.h" CCL_NAMESPACE_BEGIN -void path_init(const string& path = ""); +void path_init(const string& path = "", const string& user_path = ""); string path_get(const string& sub = ""); +string path_user_get(const string& sub = ""); string path_filename(const string& path); string path_dirname(const string& path); @@ -39,6 +41,9 @@ string path_escape(const string& path); bool path_exists(const string& path); string path_files_md5_hash(const string& dir); +bool path_write_binary(const string& path, const vector& binary); +bool path_read_binary(const string& path, vector& binary); + CCL_NAMESPACE_END #endif From 71c9120d044de3a859fda2d6b490fa3c249ec786 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 9 Sep 2011 16:38:15 +0000 Subject: [PATCH 126/241] Cycles: fix windows build, some minor tweaks. --- intern/cycles/kernel/kernel_types.h | 5 ++-- intern/cycles/kernel/svm/bsdf_microfacet.h | 34 +++++++++------------- intern/cycles/render/film.cpp | 3 +- intern/cycles/render/film.h | 1 - intern/cycles/util/util_path.h | 1 + 5 files changed, 19 insertions(+), 25 deletions(-) diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index 93cd61c43ca..1417f2d5110 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -80,7 +80,9 @@ enum PathRayFlag { PATH_RAY_DIFFUSE = 16, PATH_RAY_GLOSSY = 32, PATH_RAY_SINGULAR = 64, - PATH_RAY_TRANSPARENT = 128 + PATH_RAY_TRANSPARENT = 128, + + PATH_RAY_ALL = (1|2|4|8|16|32|64|128) }; /* Bidirectional Path Tracing */ @@ -248,7 +250,6 @@ typedef struct ShaderData { float3 svm_closure_weight; float svm_closure_data0; float svm_closure_data1; - float svm_closure_data2; #if !defined(__KERNEL_GPU__) && defined(WITH_OSL) /* OSL closure data and context. we store all closures flattened into diff --git a/intern/cycles/kernel/svm/bsdf_microfacet.h b/intern/cycles/kernel/svm/bsdf_microfacet.h index 595182d90de..0ca37eedc22 100644 --- a/intern/cycles/kernel/svm/bsdf_microfacet.h +++ b/intern/cycles/kernel/svm/bsdf_microfacet.h @@ -41,18 +41,15 @@ typedef struct BsdfMicrofacetGGXClosure { //float3 m_N; float m_ag; float m_eta; - int m_refractive; } BsdfMicrofacetGGXClosure; __device void bsdf_microfacet_ggx_setup(ShaderData *sd, float3 N, float ag, float eta, bool refractive) { float m_ag = clamp(ag, 1e-5f, 1.0f); float m_eta = eta; - int m_refractive = (refractive)? 1: 0; sd->svm_closure_data0 = m_ag; sd->svm_closure_data1 = m_eta; - sd->svm_closure_data2 = __int_as_float(m_refractive); if(refractive) sd->svm_closure = CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID; @@ -73,10 +70,10 @@ __device float3 bsdf_microfacet_ggx_eval_reflect(const ShaderData *sd, const flo { float m_ag = sd->svm_closure_data0; //float m_eta = sd->svm_closure_data1; - int m_refractive = __float_as_int(sd->svm_closure_data2); + int m_refractive = sd->svm_closure == CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID; float3 m_N = sd->N; - if(m_refractive == 1) return make_float3 (0, 0, 0); + if(m_refractive) return make_float3 (0, 0, 0); float cosNO = dot(m_N, I); float cosNI = dot(m_N, omega_in); if(cosNI > 0 && cosNO > 0) { @@ -110,10 +107,10 @@ __device float3 bsdf_microfacet_ggx_eval_transmit(const ShaderData *sd, const fl { float m_ag = sd->svm_closure_data0; float m_eta = sd->svm_closure_data1; - int m_refractive = __float_as_int(sd->svm_closure_data2); + int m_refractive = sd->svm_closure == CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID; float3 m_N = sd->N; - if(m_refractive == 0) return make_float3 (0, 0, 0); + if(!m_refractive) return make_float3 (0, 0, 0); float cosNO = dot(m_N, I); float cosNI = dot(m_N, omega_in); if(cosNO <= 0 || cosNI >= 0) @@ -151,7 +148,7 @@ __device int bsdf_microfacet_ggx_sample(const ShaderData *sd, float randu, float { float m_ag = sd->svm_closure_data0; float m_eta = sd->svm_closure_data1; - int m_refractive = __float_as_int(sd->svm_closure_data2); + int m_refractive = sd->svm_closure == CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID; float3 m_N = sd->N; float cosNO = dot(m_N, sd->I); @@ -170,7 +167,7 @@ __device int bsdf_microfacet_ggx_sample(const ShaderData *sd, float randu, float float3 m = (cosf(phiM) * sinThetaM) * X + (sinf(phiM) * sinThetaM) * Y + cosThetaM * Z; - if(m_refractive == 0) { + if(!m_refractive) { float cosMO = dot(m, sd->I); if(cosMO > 0) { // eq. 39 - compute actual reflected direction @@ -260,7 +257,7 @@ __device int bsdf_microfacet_ggx_sample(const ShaderData *sd, float randu, float } } } - return (m_refractive == 1) ? LABEL_TRANSMIT|LABEL_GLOSSY : LABEL_REFLECT|LABEL_GLOSSY; + return (m_refractive) ? LABEL_TRANSMIT|LABEL_GLOSSY : LABEL_REFLECT|LABEL_GLOSSY; } /* BECKMANN */ @@ -269,18 +266,15 @@ typedef struct BsdfMicrofacetBeckmannClosure { //float3 m_N; float m_ab; float m_eta; - int m_refractive; } BsdfMicrofacetBeckmannClosure; __device void bsdf_microfacet_beckmann_setup(ShaderData *sd, float3 N, float ab, float eta, bool refractive) { float m_ab = clamp(ab, 1e-5f, 1.0f); float m_eta = eta; - float m_refractive = (refractive)? 1: 0; sd->svm_closure_data0 = m_ab; sd->svm_closure_data1 = m_eta; - sd->svm_closure_data2 = __int_as_float(m_refractive); if(refractive) sd->svm_closure = CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID; @@ -301,10 +295,10 @@ __device float3 bsdf_microfacet_beckmann_eval_reflect(const ShaderData *sd, cons { float m_ab = sd->svm_closure_data0; //float m_eta = sd->svm_closure_data1; - int m_refractive = __float_as_int(sd->svm_closure_data2); + int m_refractive = sd->svm_closure == CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID; float3 m_N = sd->N; - if(m_refractive == 1) return make_float3 (0, 0, 0); + if(m_refractive) return make_float3 (0, 0, 0); float cosNO = dot(m_N, I); float cosNI = dot(m_N, omega_in); if(cosNO > 0 && cosNI > 0) { @@ -340,10 +334,10 @@ __device float3 bsdf_microfacet_beckmann_eval_transmit(const ShaderData *sd, con { float m_ab = sd->svm_closure_data0; float m_eta = sd->svm_closure_data1; - int m_refractive = __float_as_int(sd->svm_closure_data2); + int m_refractive = sd->svm_closure == CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID; float3 m_N = sd->N; - if(m_refractive == 0) return make_float3 (0, 0, 0); + if(!m_refractive) return make_float3 (0, 0, 0); float cosNO = dot(m_N, I); float cosNI = dot(m_N, omega_in); if(cosNO <= 0 || cosNI >= 0) @@ -383,7 +377,7 @@ __device int bsdf_microfacet_beckmann_sample(const ShaderData *sd, float randu, { float m_ab = sd->svm_closure_data0; float m_eta = sd->svm_closure_data1; - int m_refractive = __float_as_int(sd->svm_closure_data2); + int m_refractive = sd->svm_closure == CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID; float3 m_N = sd->N; float cosNO = dot(m_N, sd->I); @@ -403,7 +397,7 @@ __device int bsdf_microfacet_beckmann_sample(const ShaderData *sd, float randu, (sinf(phiM) * sinThetaM) * Y + cosThetaM * Z; - if(m_refractive == 0) { + if(!m_refractive) { float cosMO = dot(m, sd->I); if(cosMO > 0) { // eq. 39 - compute actual reflected direction @@ -500,7 +494,7 @@ __device int bsdf_microfacet_beckmann_sample(const ShaderData *sd, float randu, } } } - return (m_refractive == 1) ? LABEL_TRANSMIT|LABEL_GLOSSY : LABEL_REFLECT|LABEL_GLOSSY; + return (m_refractive) ? LABEL_TRANSMIT|LABEL_GLOSSY : LABEL_REFLECT|LABEL_GLOSSY; } CCL_NAMESPACE_END diff --git a/intern/cycles/render/film.cpp b/intern/cycles/render/film.cpp index 657abd97f70..0ae2866f182 100644 --- a/intern/cycles/render/film.cpp +++ b/intern/cycles/render/film.cpp @@ -52,8 +52,7 @@ void Film::device_free(Device *device, DeviceScene *dscene) bool Film::modified(const Film& film) { - return !(exposure == film.exposure && - pass == film.pass); + return !(exposure == film.exposure); } void Film::tag_update(Scene *scene) diff --git a/intern/cycles/render/film.h b/intern/cycles/render/film.h index 201fc174f4f..df24fad3725 100644 --- a/intern/cycles/render/film.h +++ b/intern/cycles/render/film.h @@ -30,7 +30,6 @@ class Scene; class Film { public: float exposure; - int pass; bool need_update; Film(); diff --git a/intern/cycles/util/util_path.h b/intern/cycles/util/util_path.h index ec3524d362a..a91b91461fa 100644 --- a/intern/cycles/util/util_path.h +++ b/intern/cycles/util/util_path.h @@ -25,6 +25,7 @@ * then makes all paths relative to that. */ #include "util_string.h" +#include "util_types.h" #include "util_vector.h" CCL_NAMESPACE_BEGIN From 255f9794586f05352876a73f451e4df7399b30aa Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Sun, 11 Sep 2011 21:41:30 +0000 Subject: [PATCH 127/241] * Remove last occurrences of the OB_SHADED flag. --- source/blender/makesdna/DNA_view3d_types.h | 4 ++-- source/blender/makesrna/intern/rna_object.c | 1 - source/blender/makesrna/intern/rna_space.c | 1 - 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h index 5b3ee5e06a9..6d4a845c5b0 100644 --- a/source/blender/makesdna/DNA_view3d_types.h +++ b/source/blender/makesdna/DNA_view3d_types.h @@ -168,8 +168,8 @@ typedef struct View3D { int layact; /** - * The drawing mode for the 3d display. Set to OB_WIRE, OB_SOLID, - * OB_SHADED or OB_TEXTURE */ + * The drawing mode for the 3d display. Set to OB_BOUNDBOX, OB_WIRE, OB_SOLID, + * OB_TEXTURE, OB_MATERIAL or OB_RENDER */ short drawtype; short ob_centre_cursor; /* optional bool for 3d cursor to define center */ short scenelock, around; diff --git a/source/blender/makesrna/intern/rna_object.c b/source/blender/makesrna/intern/rna_object.c index ad323b0aba4..420a7ac9ba2 100644 --- a/source/blender/makesrna/intern/rna_object.c +++ b/source/blender/makesrna/intern/rna_object.c @@ -1739,7 +1739,6 @@ static void rna_def_object(BlenderRNA *brna) {OB_BOUNDBOX, "BOUNDS", 0, "Bounds", "Draw the bounding box of the object"}, {OB_WIRE, "WIRE", 0, "Wire", "Draw the object as a wireframe"}, {OB_SOLID, "SOLID", 0, "Solid", "Draw the object as a solid (If solid drawing is enabled in the viewport)"}, - // disabled {OB_SHADED, "SHADED", 0, "Shaded", ""}, {OB_TEXTURE, "TEXTURED", 0, "Textured", "Draw the object with textures (If textures are enabled in the viewport)"}, {0, NULL, 0, NULL, NULL}}; diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index 108434ee4a8..4a66cde31a5 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -101,7 +101,6 @@ EnumPropertyItem viewport_shade_items[] = { {OB_BOUNDBOX, "BOUNDBOX", ICON_BBOX, "Bounding Box", "Display the object's local bounding boxes only"}, {OB_WIRE, "WIREFRAME", ICON_WIRE, "Wireframe", "Display the object as wire edges"}, {OB_SOLID, "SOLID", ICON_SOLID, "Solid", "Display the object solid, lit with default OpenGL lights"}, - //{OB_SHADED, "SHADED", ICON_SMOOTH, "Shaded", "Display the object solid, with preview shading interpolated at vertices"}, {OB_TEXTURE, "TEXTURED", ICON_POTATO, "Texture", "Display the object solid, with a texture"}, {OB_MATERIAL, "MATERIAL", ICON_MATERIAL_DATA, "Material", "Display objects solid, with GLSL material"}, {OB_RENDER, "RENDERED", ICON_SMOOTH, "Rendered", "Display render preview"}, From bf4f793b55fb773549f0830317c65d6d17627520 Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Sun, 11 Sep 2011 23:44:20 +0000 Subject: [PATCH 128/241] Cycles Render API: * Show Rendered Viewport Shading only when the engine supports it. Only enabled for Cycles now. * Added RenderEngine flag RE_DO_RENDERED, which is an optional flag. Exposed as bl_use_rendered in Python. ToDo: When you are in Rendered mode and change to a engine which does not support it, the enum doesn't set properly to OB_SOLID. --- intern/cycles/blender/addon/__init__.py | 1 + source/blender/makesrna/intern/rna_render.c | 4 +++ source/blender/makesrna/intern/rna_space.c | 25 +++++++++++++++++++ .../blender/render/extern/include/RE_engine.h | 1 + 4 files changed, 31 insertions(+) diff --git a/intern/cycles/blender/addon/__init__.py b/intern/cycles/blender/addon/__init__.py index 3ff1a8f3d41..8688e678f86 100644 --- a/intern/cycles/blender/addon/__init__.py +++ b/intern/cycles/blender/addon/__init__.py @@ -40,6 +40,7 @@ from cycles import presets class CyclesRender(bpy.types.RenderEngine): bl_idname = 'CYCLES' bl_label = "Cycles" + bl_use_rendered = True def __init__(self): engine.init() diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c index 4337f3c4de6..0933dafcf22 100644 --- a/source/blender/makesrna/intern/rna_render.c +++ b/source/blender/makesrna/intern/rna_render.c @@ -402,6 +402,10 @@ static void rna_def_render_engine(BlenderRNA *brna) prop= RNA_def_property(srna, "bl_use_postprocess", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_negative_sdna(prop, NULL, "type->flag", RE_DO_ALL); RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL); + + prop= RNA_def_property(srna, "bl_use_rendered", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "type->flag", RE_DO_RENDERED); + RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL); RNA_define_verify_sdna(1); } diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index 4a66cde31a5..b3a40ccef3c 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -450,6 +450,30 @@ static void rna_RegionView3D_view_matrix_set(PointerRNA *ptr, const float *value ED_view3d_from_m4((float (*)[4])values, rv3d->ofs, rv3d->viewquat, &rv3d->dist); } +static EnumPropertyItem *rna_SpaceView3D_viewport_shade_itemf(bContext *UNUSED(C), PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *free) +{ + Scene *scene = ((bScreen*)ptr->id.data)->scene; + RenderEngineType *type = RE_engines_find(scene->r.engine); + + EnumPropertyItem *item= NULL; + int totitem= 0; + + RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_BOUNDBOX); + RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_WIRE); + RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_SOLID); + RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_TEXTURE); + RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_MATERIAL); + + if(type->flag & RE_DO_RENDERED) { + RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_RENDER); + } + + RNA_enum_item_end(&item, &totitem); + *free= 1; + + return item; +} + /* Space Image Editor */ static PointerRNA rna_SpaceImageEditor_uvedit_get(PointerRNA *ptr) @@ -1226,6 +1250,7 @@ static void rna_def_space_view3d(BlenderRNA *brna) prop= RNA_def_property(srna, "viewport_shade", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "drawtype"); RNA_def_property_enum_items(prop, viewport_shade_items); + RNA_def_property_enum_funcs(prop, NULL, NULL, "rna_SpaceView3D_viewport_shade_itemf"); RNA_def_property_ui_text(prop, "Viewport Shading", "Method to display/shade objects in the 3D View"); RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, "rna_SpaceView3D_viewport_shade_update"); diff --git a/source/blender/render/extern/include/RE_engine.h b/source/blender/render/extern/include/RE_engine.h index 7f01bc673d2..97e789e8560 100644 --- a/source/blender/render/extern/include/RE_engine.h +++ b/source/blender/render/extern/include/RE_engine.h @@ -52,6 +52,7 @@ struct Scene; #define RE_GAME 2 #define RE_DO_PREVIEW 4 #define RE_DO_ALL 8 +#define RE_DO_RENDERED 16 extern ListBase R_engines; From c40492205b4369de3babe63b43d127ca622773ec Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Mon, 12 Sep 2011 11:59:13 +0000 Subject: [PATCH 129/241] Cycles: * Remove RE_DO_RENDERED again, check for view_draw callback is sufficient. --- intern/cycles/blender/addon/__init__.py | 1 - source/blender/makesrna/intern/rna_render.c | 4 ---- source/blender/makesrna/intern/rna_space.c | 2 +- source/blender/render/extern/include/RE_engine.h | 1 - 4 files changed, 1 insertion(+), 7 deletions(-) diff --git a/intern/cycles/blender/addon/__init__.py b/intern/cycles/blender/addon/__init__.py index 8688e678f86..3ff1a8f3d41 100644 --- a/intern/cycles/blender/addon/__init__.py +++ b/intern/cycles/blender/addon/__init__.py @@ -40,7 +40,6 @@ from cycles import presets class CyclesRender(bpy.types.RenderEngine): bl_idname = 'CYCLES' bl_label = "Cycles" - bl_use_rendered = True def __init__(self): engine.init() diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c index 0933dafcf22..4337f3c4de6 100644 --- a/source/blender/makesrna/intern/rna_render.c +++ b/source/blender/makesrna/intern/rna_render.c @@ -402,10 +402,6 @@ static void rna_def_render_engine(BlenderRNA *brna) prop= RNA_def_property(srna, "bl_use_postprocess", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_negative_sdna(prop, NULL, "type->flag", RE_DO_ALL); RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL); - - prop= RNA_def_property(srna, "bl_use_rendered", PROP_BOOLEAN, PROP_NONE); - RNA_def_property_boolean_sdna(prop, NULL, "type->flag", RE_DO_RENDERED); - RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL); RNA_define_verify_sdna(1); } diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index b3a40ccef3c..651fb848f4c 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -464,7 +464,7 @@ static EnumPropertyItem *rna_SpaceView3D_viewport_shade_itemf(bContext *UNUSED(C RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_TEXTURE); RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_MATERIAL); - if(type->flag & RE_DO_RENDERED) { + if(type->view_draw) { RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_RENDER); } diff --git a/source/blender/render/extern/include/RE_engine.h b/source/blender/render/extern/include/RE_engine.h index 97e789e8560..7f01bc673d2 100644 --- a/source/blender/render/extern/include/RE_engine.h +++ b/source/blender/render/extern/include/RE_engine.h @@ -52,7 +52,6 @@ struct Scene; #define RE_GAME 2 #define RE_DO_PREVIEW 4 #define RE_DO_ALL 8 -#define RE_DO_RENDERED 16 extern ListBase R_engines; From ebc653463ddfd9f8b893b6acbcc6465972e6abc6 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 12 Sep 2011 13:13:56 +0000 Subject: [PATCH 130/241] Cycles: * Fix missing update when editing objects with emission materials. * Fix preview pass rendering set to 1 not showing full resolution. * Fix CUDA runtime compiling failing due to missing cache directory. * Use settings from first render layer for visibility and material override. And a bunch of incomplete and still disabled code mostly related to closure sampling. --- CMakeLists.txt | 3 +- intern/cycles/CMakeLists.txt | 5 +- intern/cycles/blender/addon/ui.py | 36 ++ intern/cycles/blender/blender_mesh.cpp | 8 +- intern/cycles/blender/blender_object.cpp | 24 +- intern/cycles/blender/blender_sync.cpp | 24 ++ intern/cycles/blender/blender_sync.h | 14 +- intern/cycles/device/device.cpp | 10 +- intern/cycles/device/device_cuda.cpp | 19 +- intern/cycles/device/device_multi.cpp | 34 +- intern/cycles/kernel/kernel_emission.h | 41 +- intern/cycles/kernel/kernel_globals.h | 4 +- intern/cycles/kernel/kernel_light.h | 12 +- intern/cycles/kernel/kernel_path.h | 99 ++++- intern/cycles/kernel/kernel_shader.h | 350 ++++++++++++------ intern/cycles/kernel/kernel_types.h | 78 ++-- intern/cycles/kernel/osl/osl_shader.cpp | 241 ++++-------- intern/cycles/kernel/osl/osl_shader.h | 18 +- .../cycles/kernel/svm/bsdf_ashikhmin_velvet.h | 20 +- intern/cycles/kernel/svm/bsdf_diffuse.h | 28 +- intern/cycles/kernel/svm/bsdf_microfacet.h | 84 ++--- intern/cycles/kernel/svm/bsdf_reflection.h | 16 +- intern/cycles/kernel/svm/bsdf_refraction.h | 18 +- intern/cycles/kernel/svm/bsdf_transparent.h | 14 +- intern/cycles/kernel/svm/bsdf_ward.h | 30 +- intern/cycles/kernel/svm/bsdf_westin.h | 44 +-- intern/cycles/kernel/svm/emissive.h | 27 +- intern/cycles/kernel/svm/svm.h | 40 +- intern/cycles/kernel/svm/svm_bsdf.h | 106 +++--- intern/cycles/kernel/svm/svm_closure.h | 281 +++++++++++--- intern/cycles/kernel/svm/svm_types.h | 10 + intern/cycles/kernel/svm/volume.h | 2 +- intern/cycles/render/light.cpp | 60 ++- intern/cycles/render/mesh.cpp | 5 + intern/cycles/render/nodes.cpp | 13 +- intern/cycles/render/object.cpp | 12 +- intern/cycles/render/session.cpp | 2 +- intern/cycles/render/session.h | 2 +- intern/cycles/render/svm.cpp | 99 ++++- intern/cycles/render/svm.h | 6 + intern/cycles/render/tile.cpp | 2 +- intern/cycles/util/util_path.cpp | 9 +- intern/cycles/util/util_path.h | 1 + 43 files changed, 1239 insertions(+), 712 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 279644550c2..c24817fc672 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -207,11 +207,10 @@ option(WITH_API_INSTALL "Copy API header files into the blender install fold # Cycles option(WITH_CYCLES "Enable Cycles Render Engine" ON) OPTION(WITH_CYCLES_OSL "Build with Open Shading Language support" OFF) -OPTION(WITH_CYCLES_CUDA "Build with CUDA support" OFF) +OPTION(WITH_CYCLES_CUDA "Build with CUDA binaries" OFF) OPTION(WITH_CYCLES_BLENDER "Build Blender Python extension" ON) OPTION(WITH_CYCLES_PARTIO "Build with Partio point cloud support (unfinished)" OFF) OPTION(WITH_CYCLES_NETWORK "Build with network rendering support (unfinished)" OFF) -OPTION(WITH_CYCLES_MULTI "Build with network rendering support (unfinished)" OFF) OPTION(WITH_CYCLES_TEST "Build cycles test application" OFF) # disable for now, but plan to support on all platforms eventually diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index 05b9d4ad3bb..74bac846aa4 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -41,10 +41,6 @@ if(WITH_CYCLES_NETWORK) add_definitions(-DWITH_NETWORK) endif() -if(WITH_CYCLES_MULTI) - add_definitions(-DWITH_MULTI) -endif() - if(WITH_CYCLES_CUDA) add_definitions(-DWITH_CUDA_BINARIES) endif() @@ -59,6 +55,7 @@ endif() add_definitions(-DWITH_OPENCL) add_definitions(-DWITH_CUDA) +add_definitions(-DWITH_MULTI) include_directories( ${BOOST_INCLUDE_DIR} diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index da99e4e23d6..992a698bbdd 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -140,6 +140,42 @@ class CyclesRender_PT_performance(CyclesButtonsPanel, Panel): sub.prop(cscene, "debug_bvh_type", text="") sub.prop(cscene, "debug_use_spatial_splits") +class CyclesRender_PT_layers(CyclesButtonsPanel, Panel): + bl_label = "Layers" + bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_RENDER'} + + def draw(self, context): + layout = self.layout + + scene = context.scene + rd = scene.render + + # row = layout.row() + # row.template_list(rd, "layers", rd.layers, "active_index", rows=2) + + # col = row.column(align=True) + # col.operator("scene.render_layer_add", icon='ZOOMIN', text="") + # col.operator("scene.render_layer_remove", icon='ZOOMOUT', text="") + + row = layout.row() + # rl = rd.layers.active + rl = rd.layers[0] + row.prop(rl, "name") + #row.prop(rd, "use_single_layer", text="", icon_only=True) + + split = layout.split() + + col = split.column() + col.prop(scene, "layers", text="Scene") + + col = split.column() + col.prop(rl, "layers", text="Layer") + + layout.separator() + + layout.prop(rl, "material_override", text="Material") + class Cycles_PT_post_processing(CyclesButtonsPanel, Panel): bl_label = "Post Processing" bl_options = {'DEFAULT_CLOSED'} diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp index 3fe4fa60a16..f981be66eb4 100644 --- a/intern/cycles/blender/blender_mesh.cpp +++ b/intern/cycles/blender/blender_mesh.cpp @@ -223,8 +223,12 @@ Mesh *BlenderSync::sync_mesh(BL::Object b_ob, bool object_updated) vector used_shaders; BL::Object::material_slots_iterator slot; - for(b_ob.material_slots.begin(slot); slot != b_ob.material_slots.end(); ++slot) - find_shader(slot->material(), used_shaders); + for(b_ob.material_slots.begin(slot); slot != b_ob.material_slots.end(); ++slot) { + if(render_layer.material_override) + find_shader(render_layer.material_override, used_shaders); + else + find_shader(slot->material(), used_shaders); + } if(used_shaders.size() == 0) used_shaders.push_back(scene->default_surface); diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp index f1ba2dba2f5..e693efb2d7f 100644 --- a/intern/cycles/blender/blender_object.cpp +++ b/intern/cycles/blender/blender_object.cpp @@ -108,7 +108,7 @@ void BlenderSync::sync_light(BL::Object b_parent, int b_index, BL::Object b_ob, /* Object */ -void BlenderSync::sync_object(BL::Object b_parent, int b_index, BL::Object b_ob, Transform& tfm) +void BlenderSync::sync_object(BL::Object b_parent, int b_index, BL::Object b_ob, Transform& tfm, uint visibility) { /* light is handled separately */ if(object_is_light(b_ob)) { @@ -130,7 +130,7 @@ void BlenderSync::sync_object(BL::Object b_parent, int b_index, BL::Object b_ob, object->name = b_ob.name(); object->tfm = tfm; - object->visibility = object_ray_visibility(b_ob); + object->visibility = object_ray_visibility(b_ob) & visibility; if(b_parent.ptr.data != b_ob.ptr.data) object->visibility &= object_ray_visibility(b_parent); @@ -147,12 +147,8 @@ void BlenderSync::sync_object(BL::Object b_parent, int b_index, BL::Object b_ob, void BlenderSync::sync_objects(BL::SpaceView3D b_v3d) { /* layer data */ - uint layer; - - if(b_v3d) - layer = get_layer(b_v3d.layers()); - else - layer = get_layer(b_scene.layers()); + uint scene_layer = render_layer.scene_layer; + uint layer = render_layer.layer; /* prepare for sync */ light_map.pre_sync(); @@ -165,8 +161,14 @@ void BlenderSync::sync_objects(BL::SpaceView3D b_v3d) for(b_scene.objects.begin(b_ob); b_ob != b_scene.objects.end(); ++b_ob) { bool hide = (b_v3d)? b_ob->hide(): b_ob->hide_render(); + uint ob_layer = get_layer(b_ob->layers()); + + if(!hide && (ob_layer & scene_layer)) { + uint visibility = PATH_RAY_ALL; + + if(!(ob_layer & layer)) + visibility &= ~PATH_RAY_CAMERA; - if(!hide && get_layer(b_ob->layers()) & layer) { if(b_ob->is_duplicator()) { /* dupli objects */ object_create_duplilist(*b_ob, b_scene); @@ -176,7 +178,7 @@ void BlenderSync::sync_objects(BL::SpaceView3D b_v3d) for(b_ob->dupli_list.begin(b_dup); b_dup != b_ob->dupli_list.end(); ++b_dup) { Transform tfm = get_transform(b_dup->matrix()); - sync_object(*b_ob, b_index, b_dup->object(), tfm); + sync_object(*b_ob, b_index, b_dup->object(), tfm, visibility); b_index++; } @@ -185,7 +187,7 @@ void BlenderSync::sync_objects(BL::SpaceView3D b_v3d) else { /* object itself */ Transform tfm = get_transform(b_ob->matrix_world()); - sync_object(*b_ob, 0, *b_ob, tfm); + sync_object(*b_ob, 0, *b_ob, tfm, visibility); } } } diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index ea5d0a1a3c6..b9d35a02a78 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -118,6 +118,7 @@ void BlenderSync::sync_data(BL::SpaceView3D b_v3d) { sync_integrator(); sync_film(); + sync_render_layer(b_v3d); sync_shaders(); sync_objects(b_v3d); } @@ -172,6 +173,29 @@ void BlenderSync::sync_film() filter->tag_update(scene); } +/* Render Layer */ + +void BlenderSync::sync_render_layer(BL::SpaceView3D b_v3d) +{ + if(b_v3d) { + render_layer.scene_layer = get_layer(b_v3d.layers()); + render_layer.layer = render_layer.scene_layer; + render_layer.material_override = PointerRNA_NULL; + } + else { + BL::RenderSettings r = b_scene.render(); + BL::RenderSettings::layers_iterator b_rlay; + + for(r.layers.begin(b_rlay); b_rlay != r.layers.end(); ++b_rlay) { + render_layer.scene_layer = get_layer(b_scene.layers()); + render_layer.layer = get_layer(b_rlay->layers()); + render_layer.material_override = b_rlay->material_override(); + + break; /* single layer for now */ + } + } +} + /* Scene Parameters */ SceneParams BlenderSync::get_scene_params(BL::Scene b_scene) diff --git a/intern/cycles/blender/blender_sync.h b/intern/cycles/blender/blender_sync.h index fe60f42bc75..48e755b3dcd 100644 --- a/intern/cycles/blender/blender_sync.h +++ b/intern/cycles/blender/blender_sync.h @@ -72,11 +72,12 @@ private: void sync_integrator(); void sync_view(); void sync_world(); + void sync_render_layer(BL::SpaceView3D b_v3d); void sync_shaders(); void sync_nodes(Shader *shader, BL::ShaderNodeTree b_ntree); Mesh *sync_mesh(BL::Object b_ob, bool object_updated); - void sync_object(BL::Object b_parent, int b_index, BL::Object b_object, Transform& tfm); + void sync_object(BL::Object b_parent, int b_index, BL::Object b_object, Transform& tfm, uint visibility); void sync_light(BL::Object b_parent, int b_index, BL::Object b_ob, Transform& tfm); /* util */ @@ -99,6 +100,17 @@ private: Scene *scene; bool preview; + + struct RenderLayerInfo { + RenderLayerInfo() + : scene_layer(0), layer(0), + material_override(PointerRNA_NULL) + {} + + uint scene_layer; + uint layer; + BL::Material material_override; + } render_layer; }; CCL_NAMESPACE_END diff --git a/intern/cycles/device/device.cpp b/intern/cycles/device/device.cpp index e21dce45d80..ab57d7cfe86 100644 --- a/intern/cycles/device/device.cpp +++ b/intern/cycles/device/device.cpp @@ -84,7 +84,7 @@ void Device::pixels_alloc(device_memory& mem) void Device::pixels_copy_from(device_memory& mem, int y, int w, int h) { - mem_copy_from(mem, sizeof(uchar)*4*y*w, sizeof(uchar)*4*w*h); + mem_copy_from(mem, sizeof(uint8_t)*4*y*w, sizeof(uint8_t)*4*w*h); } void Device::pixels_free(device_memory& mem) @@ -104,7 +104,13 @@ void Device::draw_pixels(device_memory& rgba, int y, int w, int h, int width, in glPixelZoom((float)width/(float)w, (float)height/(float)h); glRasterPos2f(0, y); - glDrawPixels(w, h, GL_RGBA, GL_UNSIGNED_BYTE, (void*)rgba.data_pointer); + uint8_t *pixels = (uint8_t*)rgba.data_pointer; + + /* for multi devices, this assumes the ineffecient method that we allocate + all pixels on the device even though we only render to a subset */ + pixels += sizeof(uint8_t)*4*y*w; + + glDrawPixels(w, h, GL_RGBA, GL_UNSIGNED_BYTE, pixels); glRasterPos2f(0.0f, 0.0f); glPixelZoom(1.0f, 1.0f); diff --git a/intern/cycles/device/device_cuda.cpp b/intern/cycles/device/device_cuda.cpp index 49ffd3d0834..7fc0afce1ac 100644 --- a/intern/cycles/device/device_cuda.cpp +++ b/intern/cycles/device/device_cuda.cpp @@ -232,11 +232,16 @@ public: double starttime = time_dt(); printf("Compiling CUDA kernel ...\n"); + path_create_directories(cubin); + string command = string_printf("%s -arch=sm_%d%d -m%d --cubin \"%s\" --use_fast_math " "-o \"%s\" --ptxas-options=\"-v\" --maxrregcount=%d --opencc-options -OPT:Olimit=0 -I\"%s\" -DNVCC", nvcc.c_str(), major, minor, machine, kernel.c_str(), cubin.c_str(), maxreg, include.c_str()); - system(command.c_str()); + if(system(command.c_str()) == -1) { + fprintf(stderr, "Failed to execute compilation command.\n"); + return ""; + } /* verify if compilation succeeded */ if(!path_exists(cubin)) { @@ -708,9 +713,13 @@ public: cuda_push_context(); + /* for multi devices, this assumes the ineffecient method that we allocate + all pixels on the device even though we only render to a subset */ + size_t offset = sizeof(uint8_t)*4*y*w; + glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB, pmem.cuPBO); glBindTexture(GL_TEXTURE_2D, pmem.cuTexId); - glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, w, h, GL_RGBA, GL_UNSIGNED_BYTE, 0); + glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, w, h, GL_RGBA, GL_UNSIGNED_BYTE, (void*)offset); glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB, 0); glEnable(GL_TEXTURE_2D); @@ -729,11 +738,11 @@ public: glTexCoord2f(0.0f, 0.0f); glVertex2f(0.0f, 0.0f); - glTexCoord2f((float)w/(float)width, 0); + glTexCoord2f((float)w/(float)pmem.w, 0.0f); glVertex2f((float)width, 0.0f); - glTexCoord2f((float)w/(float)width, (float)h/(float)height); + glTexCoord2f((float)w/(float)pmem.w, (float)h/(float)pmem.h); glVertex2f((float)width, (float)height); - glTexCoord2f(0.0f, (float)h/(float)height); + glTexCoord2f(0.0f, (float)h/(float)pmem.h); glVertex2f(0.0f, (float)height); glEnd(); diff --git a/intern/cycles/device/device_multi.cpp b/intern/cycles/device/device_multi.cpp index cae63596d3b..f2f6251685e 100644 --- a/intern/cycles/device/device_multi.cpp +++ b/intern/cycles/device/device_multi.cpp @@ -47,9 +47,6 @@ public: MultiDevice(bool background_) : unique_ptr(1) { - /* enforce background for now */ - background = true; - Device *device; /* add CPU device */ @@ -125,6 +122,15 @@ public: return desc.str(); } + bool load_kernels() + { + foreach(SubDevice& sub, devices) + if(!sub.device->load_kernels()) + return false; + + return true; + } + void mem_alloc(device_memory& mem, MemoryType type) { foreach(SubDevice& sub, devices) { @@ -219,12 +225,26 @@ public: void pixels_alloc(device_memory& mem) { - Device::pixels_alloc(mem); + foreach(SubDevice& sub, devices) { + mem.device_pointer = 0; + sub.device->pixels_alloc(mem); + sub.ptr_map[unique_ptr] = mem.device_pointer; + } + + mem.device_pointer = unique_ptr++; } void pixels_free(device_memory& mem) { - Device::pixels_free(mem); + device_ptr tmp = mem.device_pointer; + + foreach(SubDevice& sub, devices) { + mem.device_pointer = sub.ptr_map[tmp]; + sub.device->pixels_free(mem); + sub.ptr_map.erase(sub.ptr_map.find(tmp)); + } + + mem.device_pointer = 0; } void pixels_copy_from(device_memory& mem, int y, int w, int h) @@ -248,14 +268,16 @@ public: { device_ptr tmp = rgba.device_pointer; int i = 0, sub_h = h/devices.size(); + int sub_height = height/devices.size(); foreach(SubDevice& sub, devices) { int sy = y + i*sub_h; int sh = (i == (int)devices.size() - 1)? h - sub_h*i: sub_h; + int sheight = (i == (int)devices.size() - 1)? height - sub_height*i: sub_height; /* adjust math for w/width */ rgba.device_pointer = sub.ptr_map[tmp]; - sub.device->draw_pixels(rgba, sy, w, sh, width, height, transparent); + sub.device->draw_pixels(rgba, sy, w, sh, width, sheight, transparent); i++; } diff --git a/intern/cycles/kernel/kernel_emission.h b/intern/cycles/kernel/kernel_emission.h index 6b6033e9ebd..58c9183e58a 100644 --- a/intern/cycles/kernel/kernel_emission.h +++ b/intern/cycles/kernel/kernel_emission.h @@ -46,20 +46,29 @@ __device float3 direct_emissive_eval(KernelGlobals *kg, float rando, return eval; } -__device bool direct_emission(KernelGlobals *kg, ShaderData *sd, float randt, float rando, - float randu, float randv, Ray *ray, float3 *eval) +__device bool direct_emission(KernelGlobals *kg, ShaderData *sd, int lindex, + float randt, float rando, float randu, float randv, Ray *ray, float3 *eval) { - /* sample a position on a light */ LightSample ls; - light_sample(kg, randt, randu, randv, sd->P, &ls); +#ifdef __MULTI_LIGHT__ + if(lindex != -1) { + /* sample position on a specified light */ + light_select(kg, lindex, randu, randv, sd->P, &ls); + } + else +#endif + { + /* sample a light and position on int */ + light_sample(kg, randt, randu, randv, sd->P, &ls); + } /* compute incoming direction and distance */ float t; float3 omega_in = normalize_len(ls.P - sd->P, &t); /* compute pdf */ - float pdf = light_pdf(kg, &ls, -omega_in, t); + float pdf = light_sample_pdf(kg, &ls, -omega_in, t); /* evaluate closure */ *eval = direct_emissive_eval(kg, rando, &ls, randu, randv, -omega_in); @@ -67,6 +76,8 @@ __device bool direct_emission(KernelGlobals *kg, ShaderData *sd, float randt, fl if(is_zero(*eval) || pdf == 0.0f) return false; + /* todo: use visbility flag to skip lights */ + /* evaluate BSDF at shading point */ float bsdf_pdf; float3 bsdf_eval = shader_bsdf_eval(kg, sd, omega_in, &bsdf_pdf); @@ -88,10 +99,22 @@ __device bool direct_emission(KernelGlobals *kg, ShaderData *sd, float randt, fl *eval *= 0.25f; } - /* setup ray */ - ray->P = ray_offset(sd->P, sd->Ng); - ray->D = ray_offset(ls.P, ls.Ng) - ray->P; - ray->D = normalize_len(ray->D, &ray->t); +#if 0 + /* todo: implement this in light */ + bool no_shadow = true; + + if(no_shadow) { + ray->t = 0.0f; + } + else { +#endif + /* setup ray */ + ray->P = ray_offset(sd->P, sd->Ng); + ray->D = ray_offset(ls.P, ls.Ng) - ray->P; + ray->D = normalize_len(ray->D, &ray->t); +#if 0 + } +#endif return true; } diff --git a/intern/cycles/kernel/kernel_globals.h b/intern/cycles/kernel/kernel_globals.h index f37b27cc9f4..a1b23128b38 100644 --- a/intern/cycles/kernel/kernel_globals.h +++ b/intern/cycles/kernel/kernel_globals.h @@ -20,7 +20,7 @@ #ifdef __KERNEL_CPU__ -#ifdef WITH_OSL +#ifdef __OSL__ #include "osl_globals.h" #endif @@ -43,7 +43,7 @@ typedef struct KernelGlobals { KernelData __data; -#ifdef WITH_OSL +#ifdef __OSL__ /* On the CPU, we also have the OSL globals here. Most data structures are shared with SVM, the difference is in the shaders and object/mesh attributes. */ OSLGlobals osl; diff --git a/intern/cycles/kernel/kernel_light.h b/intern/cycles/kernel/kernel_light.h index 5164e5deea2..77e73e932ef 100644 --- a/intern/cycles/kernel/kernel_light.h +++ b/intern/cycles/kernel/kernel_light.h @@ -129,7 +129,7 @@ __device void light_sample(KernelGlobals *kg, float randt, float randu, float ra } } -__device float light_pdf(KernelGlobals *kg, LightSample *ls, float3 I, float t) +__device float light_sample_pdf(KernelGlobals *kg, LightSample *ls, float3 I, float t) { float pdf; @@ -141,5 +141,15 @@ __device float light_pdf(KernelGlobals *kg, LightSample *ls, float3 I, float t) return pdf; } +__device void light_select(KernelGlobals *kg, int index, float randu, float randv, float3 P, LightSample *ls) +{ + point_light_sample(kg, index, randu, randv, P, ls); +} + +__device float light_select_pdf(KernelGlobals *kg, LightSample *ls, float3 I, float t) +{ + return point_light_pdf(kg, t); +} + CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/kernel_path.h b/intern/cycles/kernel/kernel_path.h index b073cd49a8c..815eb4a1d53 100644 --- a/intern/cycles/kernel/kernel_path.h +++ b/intern/cycles/kernel/kernel_path.h @@ -162,6 +162,86 @@ __device_inline float path_state_terminate_probability(KernelGlobals *kg, PathSt return average(throughput); } +#ifdef __TRANSPARENT_SHADOWS__ +__device bool shader_transparent_shadow(KernelGlobals *kg, Intersection *isect) +{ + int prim = kernel_tex_fetch(__prim_index, isect->prim); + float4 Ns = kernel_tex_fetch(__tri_normal, prim); + int shader = __float_as_int(Ns.w); + + /* todo: add shader flag to check this */ + + return true; +} +#endif + +__device_inline bool shadow_blocked(KernelGlobals *kg, PathState *state, Ray *ray, Intersection *isect, float3 *light_L) +{ + if(ray->t == 0.0f) + return false; + + bool result = scene_intersect(kg, ray, PATH_RAY_SHADOW, isect); + +#ifdef __TRANSPARENT_SHADOWS__ + if(result && kernel_data.integrator.transparent_shadows) { + /* transparent shadows work in such a way to try to minimize overhead + in cases where we don't need them. after a regular shadow ray is + cast we check if the hit primitive was potentially transparent, and + only in that case start marching. this gives on extra ray cast for + the cases were we do want transparency */ + if(shader_transparent_shadow(kg, isect)) { + /* todo: fix double contribution from indirect for triangle lights */ + /* if(kernel_data.integrator.transparent_shadows && (path_flag & PATH_RAY_TRANSPARENT)) */ + + float3 throughput = make_float3(1.0f, 1.0f, 1.0f); + float3 Pend = ray->P + ray->D*ray->t; + int bounce = state->transparent_bounce; + + for(;;) { + if(bounce >= kernel_data.integrator.transparent_max_bounce) { + return true; + } + else if(bounce >= kernel_data.integrator.transparent_min_bounce) { + /* todo: get random number somewhere for probabilistic terminate */ +#if 0 + float probability = average(throughput); + float terminate = 0.0f; /* todo: get this random number */ + + if(terminate >= probability) + return true; + + throughput /= probability; +#endif + } + + /* todo: fix it so we get first hit */ + if(!scene_intersect(kg, ray, PATH_RAY_SHADOW, isect)) { + *light_L *= throughput; + return false; + } + if(!shader_transparent_shadow(kg, isect)) + return true; + + ShaderData sd; + shader_setup_from_ray(kg, &sd, isect, ray); + shader_eval_surface(kg, &sd, 0.0f, PATH_RAY_SHADOW); /* todo: state flag? */ + + throughput *= shader_bsdf_transparency(kg, &sd); + + ray->P = ray_offset(sd.P, -sd.Ng); + ray->t = len(Pend - ray->P); + + bounce++; + } + + return true; + } + } +#endif + + return result; +} + __device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray ray, float3 throughput) { /* initialize */ @@ -247,13 +327,22 @@ __device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray Ray light_ray; float3 light_L; - /* todo: use visbility flag to skip lights */ +#ifdef __MULTI_LIGHT__ + /* index -1 means randomly sample from distribution */ + int i = (kernel_data.integrator.num_distribution)? -1: 0; - if(direct_emission(kg, &sd, light_t, light_o, light_u, light_v, &light_ray, &light_L)) { - /* trace shadow ray */ - if(!scene_intersect(kg, &light_ray, PATH_RAY_SHADOW, &isect)) - L += throughput*light_L; + for(; i < kernel_data.integrator.num_all_lights; i++) { +#else + const int i = -1; +#endif + if(direct_emission(kg, &sd, i, light_t, light_o, light_u, light_v, &light_ray, &light_L)) { + /* trace shadow ray */ + if(!shadow_blocked(kg, &state, &light_ray, &isect, &light_L)) + L += throughput*light_L; + } +#ifdef __MULTI_LIGHT__ } +#endif } } #endif diff --git a/intern/cycles/kernel/kernel_shader.h b/intern/cycles/kernel/kernel_shader.h index 92d920b5c61..0cf2091590c 100644 --- a/intern/cycles/kernel/kernel_shader.h +++ b/intern/cycles/kernel/kernel_shader.h @@ -26,14 +26,19 @@ * */ + +#ifdef __OSL__ + +#include "osl_shader.h" + +#else + #include "svm/bsdf.h" #include "svm/emissive.h" #include "svm/volume.h" #include "svm/svm_bsdf.h" #include "svm/svm.h" -#ifdef WITH_OSL -#include "osl_shader.h" #endif CCL_NAMESPACE_BEGIN @@ -270,96 +275,201 @@ __device_inline void shader_setup_from_background(KernelGlobals *kg, ShaderData /* BSDF */ -__device int shader_bsdf_sample(KernelGlobals *kg, const ShaderData *sd, - float randu, float randv, float3 *eval, - float3 *omega_in, differential3 *domega_in, float *pdf) +#ifdef __MULTI_CLOSURE__ + +__device_inline float3 _shader_bsdf_multi_eval(const ShaderData *sd, const float3 omega_in, float *pdf, + int skip_bsdf, float3 sum_eval, float sum_pdf, float sum_sample_weight) { - int label; + for(int i = 0; i< sd->num_closure; i++) { + if(i == skip_bsdf) + continue; - *pdf = 0.0f; + const ShaderClosure *sc = &sd->closure[i]; -#ifdef WITH_OSL - if(kg->osl.use) - label = OSLShader::bsdf_sample(sd, randu, randv, *eval, *omega_in, *domega_in, *pdf); - else + if(CLOSURE_IS_BSDF(sc->type)) { + float bsdf_pdf = 0.0f; +#ifdef __OSL__ + float3 eval = OSLShader::bsdf_eval(sd, sc, omega_in, bsdf_pdf); +#else + float3 eval = svm_bsdf_eval(sd, sc, omega_in, &bsdf_pdf); #endif - label = svm_bsdf_sample(sd, randu, randv, eval, omega_in, domega_in, pdf); - return label; + if(bsdf_pdf != 0.0f) { + sum_eval += eval*sc->weight; + sum_pdf += bsdf_pdf*sc->sample_weight; + } + + sum_sample_weight += sc->sample_weight; + } + } + + *pdf = sum_pdf/sum_sample_weight; + return sum_eval; } +#endif + __device float3 shader_bsdf_eval(KernelGlobals *kg, const ShaderData *sd, const float3 omega_in, float *pdf) { - float3 eval; +#ifdef __MULTI_CLOSURE__ + return _shader_bsdf_multi_eval(sd, omega_in, pdf, -1, make_float3(0.0f, 0.0f, 0.0f), 0.0f, 0.0f); +#else + const ShaderClosure *sc = &sd->closure; + *pdf = 0.0f; + return svm_bsdf_eval(sd, sc, omega_in, pdf)*sc->weight; +#endif +} + +__device int shader_bsdf_sample(KernelGlobals *kg, const ShaderData *sd, + float randu, float randv, float3 *eval, + float3 *omega_in, differential3 *domega_in, float *pdf) +{ +#ifdef __MULTI_CLOSURE__ + int sampled = 0; + + if(sd->num_closure > 1) { + /* pick a BSDF closure based on sample weights */ + float sum = 0.0f; + + for(sampled = 0; sampled < sd->num_closure; sampled++) { + const ShaderClosure *sc = &sd->closure[sampled]; + + if(CLOSURE_IS_BSDF(sc->type)) + sum += sc->sample_weight; + } + + float r = sd->randb_closure*sum; + sum = 0.0f; + + for(sampled = 0; sampled < sd->num_closure; sampled++) { + const ShaderClosure *sc = &sd->closure[sampled]; + + if(CLOSURE_IS_BSDF(sc->type)) { + sum += sd->closure[sampled].sample_weight; + + if(r <= sum) + break; + } + } + + if(sampled == sd->num_closure) { + *pdf = 0.0f; + return LABEL_NONE; + } + } + + const ShaderClosure *sc = &sd->closure[sampled]; + int label; *pdf = 0.0f; - -#ifdef WITH_OSL - if(kg->osl.use) - eval = OSLShader::bsdf_eval(sd, omega_in, *pdf); - else +#ifdef __OSL__ + label = OSLShader::bsdf_sample(sd, sc, randu, randv, *eval, *omega_in, *domega_in, *pdf); +#else + label = svm_bsdf_sample(sd, sc, randu, randv, eval, omega_in, domega_in, pdf); #endif - eval = svm_bsdf_eval(sd, omega_in, pdf); - return eval; + *eval *= sc->weight; + + if(sd->num_closure > 1 && *pdf != 0.0f) { + float sweight = sc->sample_weight; + *eval = _shader_bsdf_multi_eval(sd, *omega_in, pdf, sampled, *eval, *pdf*sweight, sweight); + } + + return label; +#else + /* sample the single closure that we picked */ + *pdf = 0.0f; + int label = svm_bsdf_sample(sd, &sd->closure, randu, randv, eval, omega_in, domega_in, pdf); + *eval *= sd->closure.weight; + return label; +#endif } __device void shader_bsdf_blur(KernelGlobals *kg, ShaderData *sd, float roughness) { -#ifdef WITH_OSL - if(!kg->osl.use) +#ifndef __OSL__ +#ifdef __MULTI_CLOSURE__ + for(int i = 0; i< sd->num_closure; i++) { + ShaderClosure *sc = &sd->closure[i]; + + if(CLOSURE_IS_BSDF(sc->type)) + svm_bsdf_blur(sc, roughness); + } +#else + svm_bsdf_blur(&sd->closure, roughness); +#endif #endif - svm_bsdf_blur(sd, roughness); } +__device float3 shader_bsdf_transparency(KernelGlobals *kg, ShaderData *sd) +{ +#ifdef __MULTI_CLOSURE__ + float3 eval = make_float3(0.0f, 0.0f, 0.0f); + + for(int i = 0; i< sd->num_closure; i++) { + ShaderClosure *sc = &sd->closure[i]; + + if(sc->type == CLOSURE_BSDF_TRANSPARENT_ID) // XXX osl + eval += sc->weight; + } + + return eval; +#else + if(sd->closure.type == CLOSURE_BSDF_TRANSPARENT_ID) + return sd->closure.weight; + else + return make_float3(0.0f, 0.0f, 0.0f); +#endif +} + + /* Emission */ __device float3 shader_emissive_eval(KernelGlobals *kg, ShaderData *sd) { -#ifdef WITH_OSL - if(kg->osl.use) { - return OSLShader::emissive_eval(sd); - } - else -#endif - { - return svm_emissive_eval(sd); - } -} +#ifdef __MULTI_CLOSURE__ + float3 eval = make_float3(0.0f, 0.0f, 0.0f); -__device void shader_emissive_sample(KernelGlobals *kg, ShaderData *sd, - float randu, float randv, float3 *eval, float3 *I, float *pdf) -{ -#ifdef WITH_OSL - if(kg->osl.use) { - OSLShader::emissive_sample(sd, randu, randv, eval, I, pdf); - } - else + for(int i = 0; i < sd->num_closure; i++) { + ShaderClosure *sc = &sd->closure[i]; + + if(CLOSURE_IS_EMISSION(sc->type)) { +#ifdef __OSL__ + eval += OSLShader::emissive_eval(sd)*sc->weight; +#else + eval += svm_emissive_eval(sd, sc)*sc->weight; #endif - { - svm_emissive_sample(sd, randu, randv, eval, I, pdf); + } } + + return eval; +#else + return svm_emissive_eval(sd, &sd->closure)*sd->closure.weight; +#endif } /* Holdout */ __device float3 shader_holdout_eval(KernelGlobals *kg, ShaderData *sd) { -#ifdef WITH_OSL - if(kg->osl.use) { - return OSLShader::holdout_eval(sd); +#ifdef __MULTI_CLOSURE__ + float3 weight = make_float3(0.0f, 0.0f, 0.0f); + + for(int i = 0; i < sd->num_closure; i++) { + ShaderClosure *sc = &sd->closure[i]; + + if(CLOSURE_IS_HOLDOUT(sc->type)) + weight += sc->weight; } - else + + return weight; +#else + if(sd->closure.type == CLOSURE_HOLDOUT_ID) + return make_float3(1.0f, 1.0f, 1.0f); + + return make_float3(0.0f, 0.0f, 0.0f); #endif - { -#ifdef __SVM__ - if(sd->svm_closure == CLOSURE_HOLDOUT_ID) - return make_float3(1.0f, 1.0f, 1.0f); - else -#endif - return make_float3(0.0f, 0.0f, 0.0f); - } } /* Surface Evaluation */ @@ -367,54 +477,54 @@ __device float3 shader_holdout_eval(KernelGlobals *kg, ShaderData *sd) __device void shader_eval_surface(KernelGlobals *kg, ShaderData *sd, float randb, int path_flag) { -#ifdef WITH_OSL - if(kg->osl.use) { - OSLShader::eval_surface(kg, sd, randb, path_flag); - } - else -#endif - { -#ifdef __SVM__ - svm_eval_nodes(kg, sd, SHADER_TYPE_SURFACE, randb, path_flag); +#ifdef __OSL__ + OSLShader::eval_surface(kg, sd, randb, path_flag); #else - bsdf_diffuse_setup(sd, sd->N); - sd->svm_closure_weight = make_float3(0.8f, 0.8f, 0.8f); + +#ifdef __SVM__ + svm_eval_nodes(kg, sd, SHADER_TYPE_SURFACE, randb, path_flag); +#else + bsdf_diffuse_setup(sd, &sd->closure); + sd->closure.weight = make_float3(0.8f, 0.8f, 0.8f); #endif -#ifdef __CAUSTICS_TRICKS__ - /* caustic tricks */ - if((path_flag & PATH_RAY_DIFFUSE) && (sd->flag & SD_BSDF_GLOSSY)) { - if(kernel_data.integrator.no_caustics) { - sd->flag &= ~(SD_BSDF_GLOSSY|SD_BSDF_HAS_EVAL|SD_EMISSION); - sd->svm_closure = NBUILTIN_CLOSURES; - sd->svm_closure_weight = make_float3(0.0f, 0.0f, 0.0f); - } - else if(kernel_data.integrator.blur_caustics > 0.0f) - shader_bsdf_blur(kg, sd, kernel_data.integrator.blur_caustics); - } #endif - } } /* Background Evaluation */ __device float3 shader_eval_background(KernelGlobals *kg, ShaderData *sd, int path_flag) { -#ifdef WITH_OSL - if(kg->osl.use) { - return OSLShader::eval_background(kg, sd, path_flag); - } - else -#endif - { -#ifdef __SVM__ - svm_eval_nodes(kg, sd, SHADER_TYPE_SURFACE, 0.0f, path_flag); +#ifdef __OSL__ + return OSLShader::eval_background(kg, sd, path_flag); #else - sd->svm_closure_weight = make_float3(0.8f, 0.8f, 0.8f); + +#ifdef __SVM__ + svm_eval_nodes(kg, sd, SHADER_TYPE_SURFACE, 0.0f, path_flag); + +#ifdef __MULTI_CLOSURE__ + float3 eval = make_float3(0.0f, 0.0f, 0.0f); + + for(int i = 0; i< sd->num_closure; i++) { + const ShaderClosure *sc = &sd->closure[i]; + + if(CLOSURE_IS_BACKGROUND(sc->type)) + eval += sc->weight; + } + + return eval; +#else + if(sd->closure.type == CLOSURE_BACKGROUND_ID) + return sd->closure.weight; + else + return make_float3(0.8f, 0.8f, 0.8f); #endif - return sd->svm_closure_weight; - } +#else + return make_float3(0.8f, 0.8f, 0.8f); +#endif + +#endif } /* Volume */ @@ -422,15 +532,25 @@ __device float3 shader_eval_background(KernelGlobals *kg, ShaderData *sd, int pa __device float3 shader_volume_eval_phase(KernelGlobals *kg, ShaderData *sd, float3 omega_in, float3 omega_out) { -#ifdef WITH_OSL - if(kg->osl.use) { - OSLShader::volume_eval_phase(sd, omega_in, omega_out); - } - else +#ifdef __MULTI_CLOSURE__ + float3 eval = make_float3(0.0f, 0.0f, 0.0f); + + for(int i = 0; i< sd->num_closure; i++) { + const ShaderClosure *sc = &sd->closure[i]; + + if(CLOSURE_IS_VOLUME(sc->type)) { +#ifdef __OSL__ + eval += OSLShader::volume_eval_phase(sd, omega_in, omega_out); +#else + eval += volume_eval_phase(sd, sc, omega_in, omega_out); #endif - { - return volume_eval_phase(sd, omega_in, omega_out); + } } + + return eval; +#else + return volume_eval_phase(sd, &sd->closure, omega_in, omega_out); +#endif } /* Volume Evaluation */ @@ -438,17 +558,13 @@ __device float3 shader_volume_eval_phase(KernelGlobals *kg, ShaderData *sd, __device void shader_eval_volume(KernelGlobals *kg, ShaderData *sd, float randb, int path_flag) { -#ifdef WITH_OSL - if(kg->osl.use) { - OSLShader::eval_volume(kg, sd, randb, path_flag); - } - else -#endif - { #ifdef __SVM__ - svm_eval_nodes(kg, sd, SHADER_TYPE_VOLUME, randb, path_flag); +#ifdef __OSL__ + OSLShader::eval_volume(kg, sd, randb, path_flag); +#else + svm_eval_nodes(kg, sd, SHADER_TYPE_VOLUME, randb, path_flag); +#endif #endif - } } /* Displacement Evaluation */ @@ -456,27 +572,21 @@ __device void shader_eval_volume(KernelGlobals *kg, ShaderData *sd, __device void shader_eval_displacement(KernelGlobals *kg, ShaderData *sd) { /* this will modify sd->P */ - -#ifdef WITH_OSL - if(kg->osl.use) { - OSLShader::eval_displacement(kg, sd); - } - else -#endif - { #ifdef __SVM__ - svm_eval_nodes(kg, sd, SHADER_TYPE_DISPLACEMENT, 0.0f, 0); +#ifdef __OSL__ + OSLShader::eval_displacement(kg, sd); +#else + svm_eval_nodes(kg, sd, SHADER_TYPE_DISPLACEMENT, 0.0f, 0); +#endif #endif - } } /* Free ShaderData */ __device void shader_release(KernelGlobals *kg, ShaderData *sd) { -#ifdef WITH_OSL - if(kg->osl.use) - OSLShader::release(kg, sd); +#ifdef __OSL__ + OSLShader::release(kg, sd); #endif } diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index 1417f2d5110..d3012324739 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -34,6 +34,9 @@ CCL_NAMESPACE_BEGIN #define __BACKGROUND__ #define __CAUSTICS_TRICKS__ #define __VISIBILITY_FLAG__ +#define __RAY_DIFFERENTIALS__ +#define __CAMERA_CLIPPING__ +#define __INTERSECTION_REFINE__ #ifndef __KERNEL_OPENCL__ #define __SVM__ @@ -42,9 +45,13 @@ CCL_NAMESPACE_BEGIN #define __HOLDOUT__ #endif -#define __RAY_DIFFERENTIALS__ -#define __CAMERA_CLIPPING__ -#define __INTERSECTION_REFINE__ +#ifdef __KERNEL_CPU__ +//#define __MULTI_CLOSURE__ +//#define __MULTI_LIGHT__ +//#define __TRANSPARENT_SHADOWS__ +//#define __OSL__ +#endif + //#define __SOBOL_FULL_SCREEN__ //#define __MODIFY_TP__ //#define __QBVH__ @@ -179,20 +186,27 @@ typedef enum AttributeElement { ATTR_ELEMENT_NONE } AttributeElement; -/* OSL data */ +/* Closure data */ -#if !defined(__KERNEL_GPU__) && defined(WITH_OSL) +#define MAX_CLOSURE 8 -#define MAX_OSL_CLOSURE 8 - -struct FlatClosure { - void *prim; +typedef struct ShaderClosure { + ClosureType type; float3 weight; - float sample_weight; -}; +#ifdef __MULTI_CLOSURE__ + float sample_weight; #endif +#ifdef __OSL__ + void *prim; +#else + float data0; + float data1; +#endif + +} ShaderClosure; + /* Shader Data * * Main shader state at a point on the surface or in a volume. All coordinates @@ -244,34 +258,18 @@ typedef struct ShaderData { float3 dPdu, dPdv; #endif - /* SVM closure data. we always sample a single closure, to get fixed - * memory usage, svm_closure_data contains closure parameters. */ - ClosureType svm_closure; - float3 svm_closure_weight; - float svm_closure_data0; - float svm_closure_data1; - -#if !defined(__KERNEL_GPU__) && defined(WITH_OSL) - /* OSL closure data and context. we store all closures flattened into - * lists per type, different from SVM. */ - struct { - FlatClosure bsdf[MAX_OSL_CLOSURE]; - FlatClosure emissive[MAX_OSL_CLOSURE]; - FlatClosure volume[MAX_OSL_CLOSURE]; - - int num_bsdf; - int num_emissive; - int num_volume; - - float bsdf_sample_sum; - float emissive_sample_sum; - float volume_sample_sum; - - float3 holdout_weight; - - float randb; - } osl_closure; +#ifdef __MULTI_CLOSURE__ + /* Closure data, we store a fixed array of closures */ + ShaderClosure closure[MAX_CLOSURE]; + int num_closure; + float randb_closure; +#else + /* Closure data, with a single sampled closure for low memory usage */ + ShaderClosure closure; +#endif +#ifdef __OSL__ + /* OSL context */ void *osl_ctx; #endif } ShaderData; @@ -352,11 +350,11 @@ typedef struct KernelSunSky { typedef struct KernelIntegrator { /* emission */ int use_emission; - int num_triangles; int num_distribution; - int num_lights; + int num_all_lights; float pdf_triangles; float pdf_lights; + float pdf_pad; /* bounces */ int min_bounce; diff --git a/intern/cycles/kernel/osl/osl_shader.cpp b/intern/cycles/kernel/osl/osl_shader.cpp index 73ff4f41423..3f0b1610181 100644 --- a/intern/cycles/kernel/osl/osl_shader.cpp +++ b/intern/cycles/kernel/osl/osl_shader.cpp @@ -119,13 +119,13 @@ static void flatten_surface_closure_tree(ShaderData *sd, bool no_glossy, OSL::ClosurePrimitive *prim = (OSL::ClosurePrimitive*)comp->data(); if(prim) { - FlatClosure flat; - flat.prim = prim; - flat.weight = weight; + ShaderClosure sc; + sc.prim = prim; + sc.weight = weight; switch(prim->category()) { case ClosurePrimitive::BSDF: { - if(sd->osl_closure.num_bsdf == MAX_OSL_CLOSURE) + if(sd->num_closure == MAX_CLOSURE) return; OSL::BSDFClosure *bsdf = (OSL::BSDFClosure*)prim; @@ -140,7 +140,8 @@ static void flatten_surface_closure_tree(ShaderData *sd, bool no_glossy, float sample_weight = fabsf(average(weight))*albedo; float sample_sum = sd->osl_closure.bsdf_sample_sum + sample_weight; - flat.sample_weight = sample_weight; + sc.sample_weight = sample_weight; + sc.type = CLOSURE_BSDF_ID; sd->osl_closure.bsdf_sample_sum = sample_sum; /* scattering flags */ @@ -152,29 +153,35 @@ static void flatten_surface_closure_tree(ShaderData *sd, bool no_glossy, sd->flag |= SD_BSDF; /* add */ - sd->osl_closure.bsdf[sd->osl_closure.num_bsdf++] = flat; + sd->closure[sd->num_closure++] = sc; break; } case ClosurePrimitive::Emissive: { - if(sd->osl_closure.num_bsdf == MAX_OSL_CLOSURE) + if(sd->num_closure == MAX_CLOSURE) return; /* sample weight */ float sample_weight = fabsf(average(weight)); float sample_sum = sd->osl_closure.emissive_sample_sum + sample_weight; - flat.sample_weight = sample_weight; + sc.sample_weight = sample_weight; + sc.type = CLOSURE_EMISSION_ID; sd->osl_closure.emissive_sample_sum = sample_sum; /* flag */ sd->flag |= SD_EMISSION; - sd->osl_closure.emissive[sd->osl_closure.num_emissive++] = flat; + sd->closure[sd->num_closure++] = sc; break; } case ClosurePrimitive::Holdout: - sd->osl_closure.holdout_weight += weight; + if(sd->num_closure == MAX_CLOSURE) + return; + + sc.sample_weight = 0.0f; + sc.type = CLOSURE_HOLDOUT_ID; sd->flag |= SD_HOLDOUT; + sd->closure[sd->num_closure++] = sc; break; case ClosurePrimitive::BSSRDF: case ClosurePrimitive::Debug: @@ -213,12 +220,8 @@ void OSLShader::eval_surface(KernelGlobals *kg, ShaderData *sd, float randb, int ctx->execute(OSL::pvt::ShadUseSurface, *(kg->osl.surface_state[sd->shader]), *globals); /* flatten closure tree */ - sd->osl_closure.bsdf_sample_sum = 0.0f; - sd->osl_closure.emissive_sample_sum = 0.0f; - sd->osl_closure.num_bsdf = 0; - sd->osl_closure.num_emissive = 0; - sd->osl_closure.holdout_weight = make_float3(0.0f, 0.0f, 0.0f); - sd->osl_closure.randb = randb; + sd->num_closure = 0; + sd->randb_closure = randb; if(globals->Ci) { bool no_glossy = (path_flag & PATH_RAY_DIFFUSE) && kernel_data.integrator.no_caustics; @@ -292,24 +295,25 @@ static void flatten_volume_closure_tree(ShaderData *sd, OSL::ClosurePrimitive *prim = (OSL::ClosurePrimitive*)comp->data(); if(prim) { - FlatClosure flat; - flat.prim = prim; - flat.weight = weight; + ShaderClosure sc; + sc.prim = prim; + sc.weight = weight; switch(prim->category()) { case ClosurePrimitive::Volume: { - if(sd->osl_closure.num_bsdf == MAX_OSL_CLOSURE) + if(sd->num_closure == MAX_CLOSURE) return; /* sample weight */ float sample_weight = fabsf(average(weight)); float sample_sum = sd->osl_closure.volume_sample_sum + sample_weight; - flat.sample_weight = sample_weight; + sc.sample_weight = sample_weight; + sc.type = CLOSURE_VOLUME_ID; sd->osl_closure.volume_sample_sum = sample_sum; /* add */ - sd->osl_closure.volume[sd->osl_closure.num_volume++] = flat; + sd->closure[sd->num_closure++] = sc; break; } case ClosurePrimitive::Holdout: @@ -389,183 +393,76 @@ void OSLShader::release(KernelGlobals *kg, const ShaderData *sd) /* BSDF Closure */ -int OSLShader::bsdf_sample(const ShaderData *sd, float randu, float randv, float3& eval, float3& omega_in, differential3& domega_in, float& pdf) +int OSLShader::bsdf_sample(const ShaderData *sd, const ShaderClosure *sc, float randu, float randv, float3& eval, float3& omega_in, differential3& domega_in, float& pdf) { - OSL::BSDFClosure *sample_bsdf = NULL; + OSL::BSDFClosure *sample_bsdf = (OSL::BSDFClosure*)sc->prim; int label = LABEL_NONE; - float r = sd->osl_closure.randb*sd->osl_closure.bsdf_sample_sum; - float sample_sum = 0.0f; pdf = 0.0f; - if(sd->osl_closure.bsdf_sample_sum == 0.0f) - return LABEL_NONE; + /* sample BSDF closure */ + ustring ulabel; - /* find a closure to sample */ - for(int i = 0; i < sd->osl_closure.num_bsdf; i++) { - const FlatClosure *flat = &sd->osl_closure.bsdf[i]; - sample_sum += flat->sample_weight; + ulabel = sample_bsdf->sample(TO_VEC3(sd->Ng), + TO_VEC3(sd->I), TO_VEC3(sd->dI.dx), TO_VEC3(sd->dI.dy), + randu, randv, + TO_VEC3(omega_in), TO_VEC3(domega_in.dx), TO_VEC3(domega_in.dy), + pdf, TO_COLOR3(eval)); - if(r > sample_sum) - continue; + /* convert OSL label */ + if(ulabel == OSL::Labels::REFLECT) + label = LABEL_REFLECT; + else if(ulabel == OSL::Labels::TRANSMIT) + label = LABEL_TRANSMIT; + else + return LABEL_NONE; /* sampling failed */ - /* sample BSDF closure */ - sample_bsdf = (OSL::BSDFClosure*)flat->prim; - ustring ulabel; + /* convert scattering to our bitflag label */ + ustring uscattering = sample_bsdf->scattering(); - ulabel = sample_bsdf->sample(TO_VEC3(sd->Ng), - TO_VEC3(sd->I), TO_VEC3(sd->dI.dx), TO_VEC3(sd->dI.dy), - randu, randv, - TO_VEC3(omega_in), TO_VEC3(domega_in.dx), TO_VEC3(domega_in.dy), - pdf, TO_COLOR3(eval)); - - /* convert OSL label */ - if(ulabel == OSL::Labels::REFLECT) - label = LABEL_REFLECT; - else if(ulabel == OSL::Labels::TRANSMIT) - label = LABEL_TRANSMIT; - else - return LABEL_NONE; /* sampling failed */ - - /* convert scattering to our bitflag label */ - ustring uscattering = sample_bsdf->scattering(); - - if(uscattering == OSL::Labels::DIFFUSE) - label |= LABEL_DIFFUSE; - else if(uscattering == OSL::Labels::GLOSSY) - label |= LABEL_GLOSSY; - else if(uscattering == OSL::Labels::SINGULAR) - label |= LABEL_SINGULAR; - else - label |= LABEL_TRANSPARENT; - - /* eval + pdf */ - eval *= flat->weight; - pdf *= flat->sample_weight; - - break; - } - - if(!sample_bsdf || pdf == 0.0f) - return LABEL_NONE; - - /* add eval/pdf from other BSDF closures */ - for(int i = 0; i < sd->osl_closure.num_bsdf; i++) { - const FlatClosure *flat = &sd->osl_closure.bsdf[i]; - OSL::BSDFClosure *bsdf = (OSL::BSDFClosure*)flat->prim; - - if(bsdf != sample_bsdf) { - OSL::Color3 bsdf_eval; - float bsdf_pdf = 0.0f; - - if(dot(sd->Ng, omega_in) >= 0.0f) - bsdf_eval = bsdf->eval_reflect(TO_VEC3(sd->I), TO_VEC3(omega_in), bsdf_pdf); - else - bsdf_eval = bsdf->eval_transmit(TO_VEC3(sd->I), TO_VEC3(omega_in), bsdf_pdf); - - if(bsdf_pdf != 0.0f) { - eval += TO_FLOAT3(bsdf_eval)*flat->weight; - pdf += bsdf_pdf*flat->sample_weight; - } - } - } - - pdf *= 1.0f/(sd->osl_closure.bsdf_sample_sum); + if(uscattering == OSL::Labels::DIFFUSE) + label |= LABEL_DIFFUSE; + else if(uscattering == OSL::Labels::GLOSSY) + label |= LABEL_GLOSSY; + else if(uscattering == OSL::Labels::SINGULAR) + label |= LABEL_SINGULAR; + else + label |= LABEL_TRANSPARENT; return label; } -float3 OSLShader::bsdf_eval(const ShaderData *sd, const float3& omega_in, float& pdf) +float3 OSLShader::bsdf_eval(const ShaderData *sd, const ShaderClosure *sc, const float3& omega_in, float& pdf) { - float3 eval = make_float3(0.0f, 0.0f, 0.0f); + OSL::BSDFClosure *bsdf = (OSL::BSDFClosure*)sc->prim; + OSL::Color3 bsdf_eval; - pdf = 0.0f; - - for(int i = 0; i < sd->osl_closure.num_bsdf; i++) { - const FlatClosure *flat = &sd->osl_closure.bsdf[i]; - OSL::BSDFClosure *bsdf = (OSL::BSDFClosure*)flat->prim; - OSL::Color3 bsdf_eval; - float bsdf_pdf = 0.0f; - - if(dot(sd->Ng, omega_in) >= 0.0f) - bsdf_eval = bsdf->eval_reflect(TO_VEC3(sd->I), TO_VEC3(omega_in), bsdf_pdf); - else - bsdf_eval = bsdf->eval_transmit(TO_VEC3(sd->I), TO_VEC3(omega_in), bsdf_pdf); - - if(bsdf_pdf != 0.0f) { - eval += TO_FLOAT3(bsdf_eval)*flat->weight; - pdf += bsdf_pdf*flat->sample_weight; - } - } - - pdf *= 1.0f/sd->osl_closure.bsdf_sample_sum; - - return eval; + if(dot(sd->Ng, omega_in) >= 0.0f) + bsdf_eval = bsdf->eval_reflect(TO_VEC3(sd->I), TO_VEC3(omega_in), pdf); + else + bsdf_eval = bsdf->eval_transmit(TO_VEC3(sd->I), TO_VEC3(omega_in), pdf); + + return TO_FLOAT3(bsdf_eval); } /* Emissive Closure */ -float3 OSLShader::emissive_eval(const ShaderData *sd) +float3 OSLShader::emissive_eval(const ShaderData *sd, const ShaderClosure *sc) { - float3 eval = make_float3(0.0f, 0.0f, 0.0f); - - for(int i = 0; i < sd->osl_closure.num_emissive; i++) { - const FlatClosure *flat = &sd->osl_closure.emissive[i]; - OSL::EmissiveClosure *emissive = (OSL::EmissiveClosure*)flat->prim; - OSL::Color3 emissive_eval = emissive->eval(TO_VEC3(sd->Ng), TO_VEC3(sd->I)); - eval += TO_FLOAT3(emissive_eval)*flat->weight; - } + OSL::EmissiveClosure *emissive = (OSL::EmissiveClosure*)sc->prim; + OSL::Color3 emissive_eval = emissive->eval(TO_VEC3(sd->Ng), TO_VEC3(sd->I)); + eval += TO_FLOAT3(emissive_eval); return eval; } -void OSLShader::emissive_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *I, float *pdf) -{ - float r = sd->osl_closure.randb*sd->osl_closure.emissive_sample_sum; - float sample_sum = 0.0f; - - *pdf = 0.0f; - - if(sd->osl_closure.emissive_sample_sum == 0.0f) - return; - - /* find a closure to sample */ - for(int i = 0; i < sd->osl_closure.num_emissive; i++) { - const FlatClosure *flat = &sd->osl_closure.emissive[i]; - sample_sum += flat->sample_weight; - - if(r <= sample_sum) { - /* sample emissive closure */ - OSL::EmissiveClosure *emissive = (OSL::EmissiveClosure*)flat->prim; - emissive->sample(TO_VEC3(sd->Ng), randu, randv, TO_VEC3(*I), *pdf); - *eval = flat->weight; - *pdf *= flat->sample_weight/sd->osl_closure.emissive_sample_sum; - return; - } - } -} - /* Volume Closure */ -float3 OSLShader::volume_eval_phase(const ShaderData *sd, const float3 omega_in, const float3 omega_out) +float3 OSLShader::volume_eval_phase(const ShaderData *sd, const ShaderClosure *sc, const float3 omega_in, const float3 omega_out) { - float3 eval = make_float3(0.0f, 0.0f, 0.0f); - - for(int i = 0; i < sd->osl_closure.num_volume; i++) { - const FlatClosure *flat = &sd->osl_closure.volume[i]; - OSL::VolumeClosure *volume = (OSL::VolumeClosure*)flat->prim; - OSL::Color3 volume_eval = volume->eval_phase(TO_VEC3(omega_in), TO_VEC3(omega_out)); - eval += TO_FLOAT3(volume_eval)*flat->weight; - } - - return eval; -} - -/* Holdout Closure */ - -float3 OSLShader::holdout_eval(const ShaderData *sd) -{ - return sd->osl_closure.holdout_weight; + OSL::VolumeClosure *volume = (OSL::VolumeClosure*)sc->prim; + OSL::Color3 volume_eval = volume->eval_phase(TO_VEC3(omega_in), TO_VEC3(omega_out)); + return TO_FLOAT3(volume_eval)*sc->weight; } CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/osl/osl_shader.h b/intern/cycles/kernel/osl/osl_shader.h index 9b578b159ae..6b1d402989b 100644 --- a/intern/cycles/kernel/osl/osl_shader.h +++ b/intern/cycles/kernel/osl/osl_shader.h @@ -46,6 +46,7 @@ namespace OSL = ::OSL; class OSLRenderServices; class Scene; +class ShaderClosure; class ShaderData; class differential3; class KernelGlobals; @@ -66,15 +67,16 @@ public: static void eval_displacement(KernelGlobals *kg, ShaderData *sd); /* sample & eval */ - static int bsdf_sample(const ShaderData *sd, float randu, float randv, + static int bsdf_sample(const ShaderData *sd, const ShaderClosure *sc, + float randu, float randv, float3& eval, float3& omega_in, differential3& domega_in, float& pdf); - static float3 bsdf_eval(const ShaderData *sd, const float3& omega_in, float& pdf); - static float3 emissive_eval(const ShaderData *sd); - static void emissive_sample(const ShaderData *sd, float randu, float randv, - float3 *eval, float3 *I, float *pdf); - static float3 volume_eval_phase(const ShaderData *sd, const float3 omega_in, - const float3 omega_out); - static float3 holdout_eval(const ShaderData *sd); + static float3 bsdf_eval(const ShaderData *sd, const ShaderClosure *sc, + const float3& omega_in, float& pdf); + + static float3 emissive_eval(const ShaderData *sd, const ShaderClosure *sc); + + static float3 volume_eval_phase(const ShaderData *sd, const ShaderClosure *sc, + const float3 omega_in, const float3 omega_out); /* release */ static void release(KernelGlobals *kg, const ShaderData *sd); diff --git a/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h b/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h index e94b33efaae..e16efebf5bb 100644 --- a/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h +++ b/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h @@ -40,24 +40,24 @@ typedef struct BsdfAshikhminVelvetClosure { float m_invsigma2; } BsdfAshikhminVelvetClosure; -__device void bsdf_ashikhmin_velvet_setup(ShaderData *sd, float3 N, float sigma) +__device void bsdf_ashikhmin_velvet_setup(ShaderData *sd, ShaderClosure *sc, float sigma) { sigma = fmaxf(sigma, 0.01f); float m_invsigma2 = 1.0f/(sigma * sigma); - sd->svm_closure = CLOSURE_BSDF_ASHIKHMIN_VELVET_ID; + sc->type = CLOSURE_BSDF_ASHIKHMIN_VELVET_ID; sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL; - sd->svm_closure_data0 = m_invsigma2; + sc->data0 = m_invsigma2; } -__device void bsdf_ashikhmin_velvet_blur(ShaderData *sd, float roughness) +__device void bsdf_ashikhmin_velvet_blur(ShaderClosure *sc, float roughness) { } -__device float3 bsdf_ashikhmin_velvet_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_ashikhmin_velvet_eval_reflect(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { - float m_invsigma2 = sd->svm_closure_data0; + float m_invsigma2 = sc->data0; float3 m_N = sd->N; float cosNO = dot(m_N, I); @@ -89,19 +89,19 @@ __device float3 bsdf_ashikhmin_velvet_eval_reflect(const ShaderData *sd, const f return make_float3(0, 0, 0); } -__device float3 bsdf_ashikhmin_velvet_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_ashikhmin_velvet_eval_transmit(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { return make_float3(0.0f, 0.0f, 0.0f); } -__device float bsdf_ashikhmin_velvet_albedo(const ShaderData *sd, const float3 I) +__device float bsdf_ashikhmin_velvet_albedo(const ShaderData *sd, const ShaderClosure *sc, const float3 I) { return 1.0f; } -__device int bsdf_ashikhmin_velvet_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +__device int bsdf_ashikhmin_velvet_sample(const ShaderData *sd, const ShaderClosure *sc, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { - float m_invsigma2 = sd->svm_closure_data0; + float m_invsigma2 = sc->data0; float3 m_N = sd->N; // we are viewing the surface from above - send a ray out with uniform diff --git a/intern/cycles/kernel/svm/bsdf_diffuse.h b/intern/cycles/kernel/svm/bsdf_diffuse.h index a917db86ff5..e8a002cb84c 100644 --- a/intern/cycles/kernel/svm/bsdf_diffuse.h +++ b/intern/cycles/kernel/svm/bsdf_diffuse.h @@ -41,17 +41,17 @@ typedef struct BsdfDiffuseClosure { //float3 m_N; } BsdfDiffuseClosure; -__device void bsdf_diffuse_setup(ShaderData *sd, float3 N) +__device void bsdf_diffuse_setup(ShaderData *sd, ShaderClosure *sc) { - sd->svm_closure = CLOSURE_BSDF_DIFFUSE_ID; + sc->type = CLOSURE_BSDF_DIFFUSE_ID; sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL; } -__device void bsdf_diffuse_blur(ShaderData *sd, float roughness) +__device void bsdf_diffuse_blur(ShaderClosure *sc, float roughness) { } -__device float3 bsdf_diffuse_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_diffuse_eval_reflect(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { float3 m_N = sd->N; @@ -60,17 +60,17 @@ __device float3 bsdf_diffuse_eval_reflect(const ShaderData *sd, const float3 I, return make_float3(cos_pi, cos_pi, cos_pi); } -__device float3 bsdf_diffuse_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_diffuse_eval_transmit(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { return make_float3(0.0f, 0.0f, 0.0f); } -__device float bsdf_diffuse_albedo(const ShaderData *sd, const float3 I) +__device float bsdf_diffuse_albedo(const ShaderData *sd, const ShaderClosure *sc, const float3 I) { return 1.0f; } -__device int bsdf_diffuse_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +__device int bsdf_diffuse_sample(const ShaderData *sd, const ShaderClosure *sc, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { float3 m_N = sd->N; @@ -99,22 +99,22 @@ typedef struct BsdfTranslucentClosure { //float3 m_N; } BsdfTranslucentClosure; -__device void bsdf_translucent_setup(ShaderData *sd, float3 N) +__device void bsdf_translucent_setup(ShaderData *sd, ShaderClosure *sc) { - sd->svm_closure = CLOSURE_BSDF_TRANSLUCENT_ID; + sc->type = CLOSURE_BSDF_TRANSLUCENT_ID; sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL; } -__device void bsdf_translucent_blur(ShaderData *sd, float roughness) +__device void bsdf_translucent_blur(ShaderClosure *sc, float roughness) { } -__device float3 bsdf_translucent_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_translucent_eval_reflect(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { return make_float3(0.0f, 0.0f, 0.0f); } -__device float3 bsdf_translucent_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_translucent_eval_transmit(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { float3 m_N = sd->N; @@ -123,12 +123,12 @@ __device float3 bsdf_translucent_eval_transmit(const ShaderData *sd, const float return make_float3 (cos_pi, cos_pi, cos_pi); } -__device float bsdf_translucent_albedo(const ShaderData *sd, const float3 I) +__device float bsdf_translucent_albedo(const ShaderData *sd, const ShaderClosure *sc, const float3 I) { return 1.0f; } -__device int bsdf_translucent_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +__device int bsdf_translucent_sample(const ShaderData *sd, const ShaderClosure *sc, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { float3 m_N = sd->N; diff --git a/intern/cycles/kernel/svm/bsdf_microfacet.h b/intern/cycles/kernel/svm/bsdf_microfacet.h index 0ca37eedc22..3acd3ba4c85 100644 --- a/intern/cycles/kernel/svm/bsdf_microfacet.h +++ b/intern/cycles/kernel/svm/bsdf_microfacet.h @@ -43,34 +43,34 @@ typedef struct BsdfMicrofacetGGXClosure { float m_eta; } BsdfMicrofacetGGXClosure; -__device void bsdf_microfacet_ggx_setup(ShaderData *sd, float3 N, float ag, float eta, bool refractive) +__device void bsdf_microfacet_ggx_setup(ShaderData *sd, ShaderClosure *sc, float ag, float eta, bool refractive) { float m_ag = clamp(ag, 1e-5f, 1.0f); float m_eta = eta; - sd->svm_closure_data0 = m_ag; - sd->svm_closure_data1 = m_eta; + sc->data0 = m_ag; + sc->data1 = m_eta; if(refractive) - sd->svm_closure = CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID; + sc->type = CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID; else - sd->svm_closure = CLOSURE_BSDF_MICROFACET_GGX_ID; + sc->type = CLOSURE_BSDF_MICROFACET_GGX_ID; sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; } -__device void bsdf_microfacet_ggx_blur(ShaderData *sd, float roughness) +__device void bsdf_microfacet_ggx_blur(ShaderClosure *sc, float roughness) { - float m_ag = sd->svm_closure_data0; + float m_ag = sc->data0; m_ag = fmaxf(roughness, m_ag); - sd->svm_closure_data0 = m_ag; + sc->data0 = m_ag; } -__device float3 bsdf_microfacet_ggx_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_microfacet_ggx_eval_reflect(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { - float m_ag = sd->svm_closure_data0; - //float m_eta = sd->svm_closure_data1; - int m_refractive = sd->svm_closure == CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID; + float m_ag = sc->data0; + //float m_eta = sc->data1; + int m_refractive = sc->type == CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID; float3 m_N = sd->N; if(m_refractive) return make_float3 (0, 0, 0); @@ -103,11 +103,11 @@ __device float3 bsdf_microfacet_ggx_eval_reflect(const ShaderData *sd, const flo return make_float3 (0, 0, 0); } -__device float3 bsdf_microfacet_ggx_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_microfacet_ggx_eval_transmit(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { - float m_ag = sd->svm_closure_data0; - float m_eta = sd->svm_closure_data1; - int m_refractive = sd->svm_closure == CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID; + float m_ag = sc->data0; + float m_eta = sc->data1; + int m_refractive = sc->type == CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID; float3 m_N = sd->N; if(!m_refractive) return make_float3 (0, 0, 0); @@ -139,16 +139,16 @@ __device float3 bsdf_microfacet_ggx_eval_transmit(const ShaderData *sd, const fl return make_float3 (out, out, out); } -__device float bsdf_microfacet_ggx_albedo(const ShaderData *sd, const float3 I) +__device float bsdf_microfacet_ggx_albedo(const ShaderData *sd, const ShaderClosure *sc, const float3 I) { return 1.0f; } -__device int bsdf_microfacet_ggx_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +__device int bsdf_microfacet_ggx_sample(const ShaderData *sd, const ShaderClosure *sc, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { - float m_ag = sd->svm_closure_data0; - float m_eta = sd->svm_closure_data1; - int m_refractive = sd->svm_closure == CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID; + float m_ag = sc->data0; + float m_eta = sc->data1; + int m_refractive = sc->type == CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID; float3 m_N = sd->N; float cosNO = dot(m_N, sd->I); @@ -268,34 +268,34 @@ typedef struct BsdfMicrofacetBeckmannClosure { float m_eta; } BsdfMicrofacetBeckmannClosure; -__device void bsdf_microfacet_beckmann_setup(ShaderData *sd, float3 N, float ab, float eta, bool refractive) +__device void bsdf_microfacet_beckmann_setup(ShaderData *sd, ShaderClosure *sc, float ab, float eta, bool refractive) { float m_ab = clamp(ab, 1e-5f, 1.0f); float m_eta = eta; - sd->svm_closure_data0 = m_ab; - sd->svm_closure_data1 = m_eta; + sc->data0 = m_ab; + sc->data1 = m_eta; if(refractive) - sd->svm_closure = CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID; + sc->type = CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID; else - sd->svm_closure = CLOSURE_BSDF_MICROFACET_BECKMANN_ID; + sc->type = CLOSURE_BSDF_MICROFACET_BECKMANN_ID; sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; } -__device void bsdf_microfacet_beckmann_blur(ShaderData *sd, float roughness) +__device void bsdf_microfacet_beckmann_blur(ShaderClosure *sc, float roughness) { - float m_ab = sd->svm_closure_data0; + float m_ab = sc->data0; m_ab = fmaxf(roughness, m_ab); - sd->svm_closure_data0 = m_ab; + sc->data0 = m_ab; } -__device float3 bsdf_microfacet_beckmann_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_microfacet_beckmann_eval_reflect(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { - float m_ab = sd->svm_closure_data0; - //float m_eta = sd->svm_closure_data1; - int m_refractive = sd->svm_closure == CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID; + float m_ab = sc->data0; + //float m_eta = sc->data1; + int m_refractive = sc->type == CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID; float3 m_N = sd->N; if(m_refractive) return make_float3 (0, 0, 0); @@ -330,11 +330,11 @@ __device float3 bsdf_microfacet_beckmann_eval_reflect(const ShaderData *sd, cons return make_float3 (0, 0, 0); } -__device float3 bsdf_microfacet_beckmann_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_microfacet_beckmann_eval_transmit(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { - float m_ab = sd->svm_closure_data0; - float m_eta = sd->svm_closure_data1; - int m_refractive = sd->svm_closure == CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID; + float m_ab = sc->data0; + float m_eta = sc->data1; + int m_refractive = sc->type == CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID; float3 m_N = sd->N; if(!m_refractive) return make_float3 (0, 0, 0); @@ -368,16 +368,16 @@ __device float3 bsdf_microfacet_beckmann_eval_transmit(const ShaderData *sd, con return make_float3 (out, out, out); } -__device float bsdf_microfacet_beckmann_albedo(const ShaderData *sd, const float3 I) +__device float bsdf_microfacet_beckmann_albedo(const ShaderData *sd, const ShaderClosure *sc, const float3 I) { return 1.0f; } -__device int bsdf_microfacet_beckmann_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +__device int bsdf_microfacet_beckmann_sample(const ShaderData *sd, const ShaderClosure *sc, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { - float m_ab = sd->svm_closure_data0; - float m_eta = sd->svm_closure_data1; - int m_refractive = sd->svm_closure == CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID; + float m_ab = sc->data0; + float m_eta = sc->data1; + int m_refractive = sc->type == CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID; float3 m_N = sd->N; float cosNO = dot(m_N, sd->I); diff --git a/intern/cycles/kernel/svm/bsdf_reflection.h b/intern/cycles/kernel/svm/bsdf_reflection.h index 4dad61704df..f00b72c4869 100644 --- a/intern/cycles/kernel/svm/bsdf_reflection.h +++ b/intern/cycles/kernel/svm/bsdf_reflection.h @@ -41,34 +41,34 @@ typedef struct BsdfReflectionClosure { //float3 m_N; } BsdfReflectionClosure; -__device void bsdf_reflection_setup(ShaderData *sd, float3 N) +__device void bsdf_reflection_setup(ShaderData *sd, ShaderClosure *sc) { - sd->svm_closure = CLOSURE_BSDF_REFLECTION_ID; + sc->type = CLOSURE_BSDF_REFLECTION_ID; sd->flag |= SD_BSDF; } -__device void bsdf_reflection_blur(ShaderData *sd, float roughness) +__device void bsdf_reflection_blur(ShaderClosure *sc, float roughness) { } -__device float3 bsdf_reflection_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_reflection_eval_reflect(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { return make_float3(0.0f, 0.0f, 0.0f); } -__device float3 bsdf_reflection_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_reflection_eval_transmit(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { return make_float3(0.0f, 0.0f, 0.0f); } -__device float bsdf_reflection_albedo(const ShaderData *sd, const float3 I) +__device float bsdf_reflection_albedo(const ShaderData *sd, const ShaderClosure *sc, const float3 I) { return 1.0f; } -__device int bsdf_reflection_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +__device int bsdf_reflection_sample(const ShaderData *sd, const ShaderClosure *sc, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { - //const BsdfReflectionClosure *self = (const BsdfReflectionClosure*)sd->svm_closure_data; + //const BsdfReflectionClosure *self = (const BsdfReflectionClosure*)sc->data; float3 m_N = sd->N; // only one direction is possible diff --git a/intern/cycles/kernel/svm/bsdf_refraction.h b/intern/cycles/kernel/svm/bsdf_refraction.h index 93bd747eb31..07ef8633e0d 100644 --- a/intern/cycles/kernel/svm/bsdf_refraction.h +++ b/intern/cycles/kernel/svm/bsdf_refraction.h @@ -41,36 +41,36 @@ typedef struct BsdfRefractionClosure { float m_eta; } BsdfRefractionClosure; -__device void bsdf_refraction_setup(ShaderData *sd, float3 N, float eta) +__device void bsdf_refraction_setup(ShaderData *sd, ShaderClosure *sc, float eta) { - sd->svm_closure_data0 = eta; + sc->data0 = eta; - sd->svm_closure = CLOSURE_BSDF_REFRACTION_ID; + sc->type = CLOSURE_BSDF_REFRACTION_ID; sd->flag |= SD_BSDF; } -__device void bsdf_refraction_blur(ShaderData *sd, float roughness) +__device void bsdf_refraction_blur(ShaderClosure *sc, float roughness) { } -__device float3 bsdf_refraction_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_refraction_eval_reflect(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { return make_float3(0.0f, 0.0f, 0.0f); } -__device float3 bsdf_refraction_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_refraction_eval_transmit(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { return make_float3(0.0f, 0.0f, 0.0f); } -__device float bsdf_refraction_albedo(const ShaderData *sd, const float3 I) +__device float bsdf_refraction_albedo(const ShaderData *sd, const ShaderClosure *sc, const float3 I) { return 1.0f; } -__device int bsdf_refraction_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +__device int bsdf_refraction_sample(const ShaderData *sd, const ShaderClosure *sc, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { - float m_eta = sd->svm_closure_data0; + float m_eta = sc->data0; float3 m_N = sd->N; float3 R, T; diff --git a/intern/cycles/kernel/svm/bsdf_transparent.h b/intern/cycles/kernel/svm/bsdf_transparent.h index 1674f04955e..4425c4bf104 100644 --- a/intern/cycles/kernel/svm/bsdf_transparent.h +++ b/intern/cycles/kernel/svm/bsdf_transparent.h @@ -35,32 +35,32 @@ CCL_NAMESPACE_BEGIN -__device void bsdf_transparent_setup(ShaderData *sd) +__device void bsdf_transparent_setup(ShaderData *sd, ShaderClosure *sc) { - sd->svm_closure = CLOSURE_BSDF_TRANSPARENT_ID; + sc->type = CLOSURE_BSDF_TRANSPARENT_ID; sd->flag |= SD_BSDF; } -__device void bsdf_transparent_blur(ShaderData *sd, float roughness) +__device void bsdf_transparent_blur(ShaderClosure *sc, float roughness) { } -__device float3 bsdf_transparent_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_transparent_eval_reflect(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { return make_float3(0.0f, 0.0f, 0.0f); } -__device float3 bsdf_transparent_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_transparent_eval_transmit(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { return make_float3(0.0f, 0.0f, 0.0f); } -__device float bsdf_transparent_albedo(const ShaderData *sd, const float3 I) +__device float bsdf_transparent_albedo(const ShaderData *sd, const ShaderClosure *sc, const float3 I) { return 1.0f; } -__device int bsdf_transparent_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +__device int bsdf_transparent_sample(const ShaderData *sd, const ShaderClosure *sc, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { // only one direction is possible *omega_in = -sd->I; diff --git a/intern/cycles/kernel/svm/bsdf_ward.h b/intern/cycles/kernel/svm/bsdf_ward.h index 18967b3981e..d46baf099a6 100644 --- a/intern/cycles/kernel/svm/bsdf_ward.h +++ b/intern/cycles/kernel/svm/bsdf_ward.h @@ -44,28 +44,28 @@ typedef struct BsdfWardClosure { float m_ay; } BsdfWardClosure; -__device void bsdf_ward_setup(ShaderData *sd, float3 N, float3 T, float ax, float ay) +__device void bsdf_ward_setup(ShaderData *sd, ShaderClosure *sc, float3 T, float ax, float ay) { float m_ax = clamp(ax, 1e-5f, 1.0f); float m_ay = clamp(ay, 1e-5f, 1.0f); - sd->svm_closure_data0 = m_ax; - sd->svm_closure_data1 = m_ay; + sc->data0 = m_ax; + sc->data1 = m_ay; - sd->svm_closure = CLOSURE_BSDF_WARD_ID; + sc->type = CLOSURE_BSDF_WARD_ID; sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; } -__device void bsdf_ward_blur(ShaderData *sd, float roughness) +__device void bsdf_ward_blur(ShaderClosure *sc, float roughness) { - sd->svm_closure_data0 = fmaxf(roughness, sd->svm_closure_data0); - sd->svm_closure_data1 = fmaxf(roughness, sd->svm_closure_data1); + sc->data0 = fmaxf(roughness, sc->data0); + sc->data1 = fmaxf(roughness, sc->data1); } -__device float3 bsdf_ward_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_ward_eval_reflect(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { - float m_ax = sd->svm_closure_data0; - float m_ay = sd->svm_closure_data1; + float m_ax = sc->data0; + float m_ay = sc->data1; float3 m_N = sd->N; float3 m_T = normalize(sd->dPdu); @@ -93,20 +93,20 @@ __device float3 bsdf_ward_eval_reflect(const ShaderData *sd, const float3 I, con return make_float3 (0, 0, 0); } -__device float3 bsdf_ward_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_ward_eval_transmit(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { return make_float3(0.0f, 0.0f, 0.0f); } -__device float bsdf_ward_albedo(const ShaderData *sd, const float3 I) +__device float bsdf_ward_albedo(const ShaderData *sd, const ShaderClosure *sc, const float3 I) { return 1.0f; } -__device int bsdf_ward_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +__device int bsdf_ward_sample(const ShaderData *sd, const ShaderClosure *sc, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { - float m_ax = sd->svm_closure_data0; - float m_ay = sd->svm_closure_data1; + float m_ax = sc->data0; + float m_ay = sc->data1; float3 m_N = sd->N; float3 m_T = normalize(sd->dPdu); diff --git a/intern/cycles/kernel/svm/bsdf_westin.h b/intern/cycles/kernel/svm/bsdf_westin.h index 0f38deb0885..21e5018c489 100644 --- a/intern/cycles/kernel/svm/bsdf_westin.h +++ b/intern/cycles/kernel/svm/bsdf_westin.h @@ -42,26 +42,26 @@ typedef struct BsdfWestinBackscatterClosure { float m_invroughness; } BsdfWestinBackscatterClosure; -__device void bsdf_westin_backscatter_setup(ShaderData *sd, float3 N, float roughness) +__device void bsdf_westin_backscatter_setup(ShaderData *sd, ShaderClosure *sc, float roughness) { roughness = clamp(roughness, 1e-5f, 1.0f); float m_invroughness = 1.0f/roughness; - sd->svm_closure = CLOSURE_BSDF_WESTIN_BACKSCATTER_ID; + sc->type = CLOSURE_BSDF_WESTIN_BACKSCATTER_ID; sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; - sd->svm_closure_data0 = m_invroughness; + sc->data0 = m_invroughness; } -__device void bsdf_westin_backscatter_blur(ShaderData *sd, float roughness) +__device void bsdf_westin_backscatter_blur(ShaderClosure *sc, float roughness) { - float m_invroughness = sd->svm_closure_data0; + float m_invroughness = sc->data0; m_invroughness = min(1.0f/roughness, m_invroughness); - sd->svm_closure_data0 = m_invroughness; + sc->data0 = m_invroughness; } -__device float3 bsdf_westin_backscatter_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_westin_backscatter_eval_reflect(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { - float m_invroughness = sd->svm_closure_data0; + float m_invroughness = sc->data0; float3 m_N = sd->N; // pdf is implicitly 0 (no indirect sampling) @@ -76,19 +76,19 @@ __device float3 bsdf_westin_backscatter_eval_reflect(const ShaderData *sd, const return make_float3 (0, 0, 0); } -__device float3 bsdf_westin_backscatter_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_westin_backscatter_eval_transmit(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { return make_float3(0.0f, 0.0f, 0.0f); } -__device float bsdf_westin_backscatter_albedo(const ShaderData *sd, const float3 I) +__device float bsdf_westin_backscatter_albedo(const ShaderData *sd, const ShaderClosure *sc, const float3 I) { return 1.0f; } -__device int bsdf_westin_backscatter_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +__device int bsdf_westin_backscatter_sample(const ShaderData *sd, const ShaderClosure *sc, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { - float m_invroughness = sd->svm_closure_data0; + float m_invroughness = sc->data0; float3 m_N = sd->N; float cosNO = dot(m_N, sd->I); @@ -137,20 +137,20 @@ typedef struct BsdfWestinSheenClosure { float m_edginess; } BsdfWestinSheenClosure; -__device void bsdf_westin_sheen_setup(ShaderData *sd, float3 N, float edginess) +__device void bsdf_westin_sheen_setup(ShaderData *sd, ShaderClosure *sc, float edginess) { - sd->svm_closure = CLOSURE_BSDF_WESTIN_SHEEN_ID; + sc->type = CLOSURE_BSDF_WESTIN_SHEEN_ID; sd->flag |= SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_GLOSSY; - sd->svm_closure_data0 = edginess; + sc->data0 = edginess; } -__device void bsdf_westin_sheen_blur(ShaderData *sd, float roughness) +__device void bsdf_westin_sheen_blur(ShaderClosure *sc, float roughness) { } -__device float3 bsdf_westin_sheen_eval_reflect(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_westin_sheen_eval_reflect(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { - float m_edginess = sd->svm_closure_data0; + float m_edginess = sc->data0; float3 m_N = sd->N; // pdf is implicitly 0 (no indirect sampling) @@ -165,19 +165,19 @@ __device float3 bsdf_westin_sheen_eval_reflect(const ShaderData *sd, const float return make_float3 (0, 0, 0); } -__device float3 bsdf_westin_sheen_eval_transmit(const ShaderData *sd, const float3 I, const float3 omega_in, float *pdf) +__device float3 bsdf_westin_sheen_eval_transmit(const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) { return make_float3(0.0f, 0.0f, 0.0f); } -__device float bsdf_westin_sheen_albedo(const ShaderData *sd, const float3 I) +__device float bsdf_westin_sheen_albedo(const ShaderData *sd, const ShaderClosure *sc, const float3 I) { return 1.0f; } -__device int bsdf_westin_sheen_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) +__device int bsdf_westin_sheen_sample(const ShaderData *sd, const ShaderClosure *sc, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) { - float m_edginess = sd->svm_closure_data0; + float m_edginess = sc->data0; float3 m_N = sd->N; // we are viewing the surface from the right side - send a ray out with cosine diff --git a/intern/cycles/kernel/svm/emissive.h b/intern/cycles/kernel/svm/emissive.h index ed2b2e4aee8..8bd31751fb3 100644 --- a/intern/cycles/kernel/svm/emissive.h +++ b/intern/cycles/kernel/svm/emissive.h @@ -42,23 +42,6 @@ __device float3 emissive_eval(const float3 Ng, const float3 I) return make_float3(res, res, res); } -__device void emissive_sample(const float3 Ng, float randu, float randv, float3 *I, float *pdf) -{ - // We don't do anything sophisticated here for the step - // We just sample the whole cone uniformly to the cosine - float3 T, B; - make_orthonormals(Ng, &T, &B); - float phi = 2 * M_PI_F * randu; - - float cosTheta = sqrtf(1.0f - 1.0f * randv); - float sinTheta = sqrtf(1.0f - cosTheta * cosTheta); - *I = (cosf(phi) * sinTheta) * T + - (sinf(phi) * sinTheta) * B + - cosTheta * Ng; - - *pdf = M_1_PI_F; -} - /// Return the probability distribution function in the direction I, /// given the parameters and the light's surface normal. This MUST match /// the PDF computed by sample(). @@ -68,15 +51,9 @@ __device float emissive_pdf(const float3 Ng, const float3 I) return (cosNO > 0.0f)? M_1_PI_F: 0.0f; } -__device float3 svm_emissive_eval(ShaderData *sd) +__device float3 svm_emissive_eval(ShaderData *sd, ShaderClosure *sc) { - return sd->svm_closure_weight*emissive_eval(sd->Ng, sd->I); -} - -__device void svm_emissive_sample(ShaderData *sd, float randu, float randv, float3 *eval, float3 *I, float *pdf) -{ - *eval = sd->svm_closure_weight; - emissive_sample(sd->Ng, randu, randv, I, pdf); + return emissive_eval(sd->Ng, sd->I); } CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/svm/svm.h b/intern/cycles/kernel/svm/svm.h index 989c37c3cd0..a5d95c1b394 100644 --- a/intern/cycles/kernel/svm/svm.h +++ b/intern/cycles/kernel/svm/svm.h @@ -47,14 +47,14 @@ CCL_NAMESPACE_BEGIN /* Stack */ -__device float3 stack_load_float3(float *stack, uint a) +__device_inline float3 stack_load_float3(float *stack, uint a) { kernel_assert(a+2 < SVM_STACK_SIZE); return make_float3(stack[a+0], stack[a+1], stack[a+2]); } -__device void stack_store_float3(float *stack, uint a, float3 f) +__device_inline void stack_store_float3(float *stack, uint a, float3 f) { kernel_assert(a+2 < SVM_STACK_SIZE); @@ -63,40 +63,40 @@ __device void stack_store_float3(float *stack, uint a, float3 f) stack[a+2] = f.z; } -__device float stack_load_float(float *stack, uint a) +__device_inline float stack_load_float(float *stack, uint a) { kernel_assert(a < SVM_STACK_SIZE); return stack[a]; } -__device float stack_load_float_default(float *stack, uint a, uint value) +__device_inline float stack_load_float_default(float *stack, uint a, uint value) { return (a == (uint)SVM_STACK_INVALID)? __int_as_float(value): stack_load_float(stack, a); } -__device void stack_store_float(float *stack, uint a, float f) +__device_inline void stack_store_float(float *stack, uint a, float f) { kernel_assert(a < SVM_STACK_SIZE); stack[a] = f; } -__device bool stack_valid(uint a) +__device_inline bool stack_valid(uint a) { return a != (uint)SVM_STACK_INVALID; } /* Reading Nodes */ -__device uint4 read_node(KernelGlobals *kg, int *offset) +__device_inline uint4 read_node(KernelGlobals *kg, int *offset) { uint4 node = kernel_tex_fetch(__svm_nodes, *offset); (*offset)++; return node; } -__device float4 read_node_float(KernelGlobals *kg, int *offset) +__device_inline float4 read_node_float(KernelGlobals *kg, int *offset) { uint4 node = kernel_tex_fetch(__svm_nodes, *offset); float4 f = make_float4(__int_as_float(node.x), __int_as_float(node.y), __int_as_float(node.z), __int_as_float(node.w)); @@ -104,7 +104,7 @@ __device float4 read_node_float(KernelGlobals *kg, int *offset) return f; } -__device void decode_node_uchar4(uint i, uint *x, uint *y, uint *z, uint *w) +__device_inline void decode_node_uchar4(uint i, uint *x, uint *y, uint *z, uint *w) { if(x) *x = (i & 0xFF); if(y) *y = ((i >> 8) & 0xFF); @@ -154,8 +154,12 @@ __device_noinline void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderT float closure_weight = 1.0f; int offset = sd->shader; - sd->svm_closure = NBUILTIN_CLOSURES; - sd->svm_closure_weight = make_float3(0.0f, 0.0f, 0.0f); +#ifdef __MULTI_CLOSURE__ + sd->num_closure = 0; + sd->randb_closure = randb; +#else + sd->closure.type = NBUILTIN_CLOSURES; +#endif while(1) { uint4 node = read_node(kg, &offset); @@ -169,16 +173,16 @@ __device_noinline void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderT break; } case NODE_CLOSURE_BSDF: - svm_node_closure_bsdf(sd, stack, node, randb); + svm_node_closure_bsdf(kg, sd, stack, node, randb, path_flag); break; case NODE_CLOSURE_EMISSION: - svm_node_closure_emission(sd); + svm_node_closure_emission(sd, stack, node); break; case NODE_CLOSURE_BACKGROUND: - svm_node_closure_background(sd); + svm_node_closure_background(sd, node); break; case NODE_CLOSURE_HOLDOUT: - svm_node_closure_holdout(sd); + svm_node_closure_holdout(sd, stack, node); break; case NODE_CLOSURE_SET_WEIGHT: svm_node_closure_set_weight(sd, node.y, node.z, node.w); @@ -190,7 +194,7 @@ __device_noinline void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderT svm_node_emission_weight(kg, sd, stack, node); break; case NODE_MIX_CLOSURE: - svm_node_mix_closure(sd, stack, node.y, node.z, &offset, &randb); + svm_node_mix_closure(sd, stack, node, &offset, &randb); break; case NODE_ADD_CLOSURE: svm_node_add_closure(sd, stack, node.y, node.z, &offset, &randb, &closure_weight); @@ -307,7 +311,9 @@ __device_noinline void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderT break; case NODE_END: default: - sd->svm_closure_weight *= closure_weight; +#ifndef __MULTI_CLOSURE__ + sd->closure.weight *= closure_weight; +#endif return; } } diff --git a/intern/cycles/kernel/svm/svm_bsdf.h b/intern/cycles/kernel/svm/svm_bsdf.h index 22985e9ace5..a1b39c6ca1e 100644 --- a/intern/cycles/kernel/svm/svm_bsdf.h +++ b/intern/cycles/kernel/svm/svm_bsdf.h @@ -29,48 +29,48 @@ CCL_NAMESPACE_BEGIN -__device int svm_bsdf_sample(const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, differential3 *domega_in, float *pdf) +__device int svm_bsdf_sample(const ShaderData *sd, const ShaderClosure *sc, float randu, float randv, float3 *eval, float3 *omega_in, differential3 *domega_in, float *pdf) { int label; - switch(sd->svm_closure) { + switch(sc->type) { case CLOSURE_BSDF_DIFFUSE_ID: - label = bsdf_diffuse_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + label = bsdf_diffuse_sample(sd, sc, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); break; #ifdef __SVM__ case CLOSURE_BSDF_TRANSLUCENT_ID: - label = bsdf_translucent_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + label = bsdf_translucent_sample(sd, sc, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); break; case CLOSURE_BSDF_REFLECTION_ID: - label = bsdf_reflection_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + label = bsdf_reflection_sample(sd, sc, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); break; case CLOSURE_BSDF_REFRACTION_ID: - label = bsdf_refraction_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + label = bsdf_refraction_sample(sd, sc, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); break; case CLOSURE_BSDF_TRANSPARENT_ID: - label = bsdf_transparent_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + label = bsdf_transparent_sample(sd, sc, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); break; case CLOSURE_BSDF_MICROFACET_GGX_ID: case CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID: - label = bsdf_microfacet_ggx_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + label = bsdf_microfacet_ggx_sample(sd, sc, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); break; case CLOSURE_BSDF_MICROFACET_BECKMANN_ID: case CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID: - label = bsdf_microfacet_beckmann_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + label = bsdf_microfacet_beckmann_sample(sd, sc, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); break; #ifdef __DPDU__ case CLOSURE_BSDF_WARD_ID: - label = bsdf_ward_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + label = bsdf_ward_sample(sd, sc, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); break; #endif case CLOSURE_BSDF_ASHIKHMIN_VELVET_ID: - label = bsdf_ashikhmin_velvet_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + label = bsdf_ashikhmin_velvet_sample(sd, sc, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); break; case CLOSURE_BSDF_WESTIN_BACKSCATTER_ID: - label = bsdf_westin_backscatter_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + label = bsdf_westin_backscatter_sample(sd, sc, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); break; case CLOSURE_BSDF_WESTIN_SHEEN_ID: - label = bsdf_westin_sheen_sample(sd, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); + label = bsdf_westin_sheen_sample(sd, sc, randu, randv, eval, omega_in, &domega_in->dx, &domega_in->dy, pdf); break; #endif default: @@ -78,53 +78,51 @@ __device int svm_bsdf_sample(const ShaderData *sd, float randu, float randv, flo break; } - *eval *= sd->svm_closure_weight; - return label; } -__device float3 svm_bsdf_eval(const ShaderData *sd, const float3 omega_in, float *pdf) +__device float3 svm_bsdf_eval(const ShaderData *sd, const ShaderClosure *sc, const float3 omega_in, float *pdf) { float3 eval; if(dot(sd->Ng, omega_in) >= 0.0f) { - switch(sd->svm_closure) { + switch(sc->type) { case CLOSURE_BSDF_DIFFUSE_ID: - eval = bsdf_diffuse_eval_reflect(sd, sd->I, omega_in, pdf); + eval = bsdf_diffuse_eval_reflect(sd, sc, sd->I, omega_in, pdf); break; case CLOSURE_BSDF_TRANSLUCENT_ID: - eval = bsdf_translucent_eval_reflect(sd, sd->I, omega_in, pdf); + eval = bsdf_translucent_eval_reflect(sd, sc, sd->I, omega_in, pdf); break; case CLOSURE_BSDF_REFLECTION_ID: - eval = bsdf_reflection_eval_reflect(sd, sd->I, omega_in, pdf); + eval = bsdf_reflection_eval_reflect(sd, sc, sd->I, omega_in, pdf); break; case CLOSURE_BSDF_REFRACTION_ID: - eval = bsdf_refraction_eval_reflect(sd, sd->I, omega_in, pdf); + eval = bsdf_refraction_eval_reflect(sd, sc, sd->I, omega_in, pdf); break; case CLOSURE_BSDF_TRANSPARENT_ID: - eval = bsdf_transparent_eval_reflect(sd, sd->I, omega_in, pdf); + eval = bsdf_transparent_eval_reflect(sd, sc, sd->I, omega_in, pdf); break; case CLOSURE_BSDF_MICROFACET_GGX_ID: case CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID: - eval = bsdf_microfacet_ggx_eval_reflect(sd, sd->I, omega_in, pdf); + eval = bsdf_microfacet_ggx_eval_reflect(sd, sc, sd->I, omega_in, pdf); break; case CLOSURE_BSDF_MICROFACET_BECKMANN_ID: case CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID: - eval = bsdf_microfacet_beckmann_eval_reflect(sd, sd->I, omega_in, pdf); + eval = bsdf_microfacet_beckmann_eval_reflect(sd, sc, sd->I, omega_in, pdf); break; #ifdef __DPDU__ case CLOSURE_BSDF_WARD_ID: - eval = bsdf_ward_eval_reflect(sd, sd->I, omega_in, pdf); + eval = bsdf_ward_eval_reflect(sd, sc, sd->I, omega_in, pdf); break; #endif case CLOSURE_BSDF_ASHIKHMIN_VELVET_ID: - eval = bsdf_ashikhmin_velvet_eval_reflect(sd, sd->I, omega_in, pdf); + eval = bsdf_ashikhmin_velvet_eval_reflect(sd, sc, sd->I, omega_in, pdf); break; case CLOSURE_BSDF_WESTIN_BACKSCATTER_ID: - eval = bsdf_westin_backscatter_eval_reflect(sd, sd->I, omega_in, pdf); + eval = bsdf_westin_backscatter_eval_reflect(sd, sc, sd->I, omega_in, pdf); break; case CLOSURE_BSDF_WESTIN_SHEEN_ID: - eval = bsdf_westin_sheen_eval_reflect(sd, sd->I, omega_in, pdf); + eval = bsdf_westin_sheen_eval_reflect(sd, sc, sd->I, omega_in, pdf); break; default: eval = make_float3(0.0f, 0.0f, 0.0f); @@ -132,43 +130,43 @@ __device float3 svm_bsdf_eval(const ShaderData *sd, const float3 omega_in, float } } else { - switch(sd->svm_closure) { + switch(sc->type) { case CLOSURE_BSDF_DIFFUSE_ID: - eval = bsdf_diffuse_eval_transmit(sd, sd->I, omega_in, pdf); + eval = bsdf_diffuse_eval_transmit(sd, sc, sd->I, omega_in, pdf); break; case CLOSURE_BSDF_TRANSLUCENT_ID: - eval = bsdf_translucent_eval_transmit(sd, sd->I, omega_in, pdf); + eval = bsdf_translucent_eval_transmit(sd, sc, sd->I, omega_in, pdf); break; case CLOSURE_BSDF_REFLECTION_ID: - eval = bsdf_reflection_eval_transmit(sd, sd->I, omega_in, pdf); + eval = bsdf_reflection_eval_transmit(sd, sc, sd->I, omega_in, pdf); break; case CLOSURE_BSDF_REFRACTION_ID: - eval = bsdf_refraction_eval_transmit(sd, sd->I, omega_in, pdf); + eval = bsdf_refraction_eval_transmit(sd, sc, sd->I, omega_in, pdf); break; case CLOSURE_BSDF_TRANSPARENT_ID: - eval = bsdf_transparent_eval_transmit(sd, sd->I, omega_in, pdf); + eval = bsdf_transparent_eval_transmit(sd, sc, sd->I, omega_in, pdf); break; case CLOSURE_BSDF_MICROFACET_GGX_ID: case CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID: - eval = bsdf_microfacet_ggx_eval_transmit(sd, sd->I, omega_in, pdf); + eval = bsdf_microfacet_ggx_eval_transmit(sd, sc, sd->I, omega_in, pdf); break; case CLOSURE_BSDF_MICROFACET_BECKMANN_ID: case CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID: - eval = bsdf_microfacet_beckmann_eval_transmit(sd, sd->I, omega_in, pdf); + eval = bsdf_microfacet_beckmann_eval_transmit(sd, sc, sd->I, omega_in, pdf); break; #ifdef __DPDU__ case CLOSURE_BSDF_WARD_ID: - eval = bsdf_ward_eval_transmit(sd, sd->I, omega_in, pdf); + eval = bsdf_ward_eval_transmit(sd, sc, sd->I, omega_in, pdf); break; #endif case CLOSURE_BSDF_ASHIKHMIN_VELVET_ID: - eval = bsdf_ashikhmin_velvet_eval_transmit(sd, sd->I, omega_in, pdf); + eval = bsdf_ashikhmin_velvet_eval_transmit(sd, sc, sd->I, omega_in, pdf); break; case CLOSURE_BSDF_WESTIN_BACKSCATTER_ID: - eval = bsdf_westin_backscatter_eval_transmit(sd, sd->I, omega_in, pdf); + eval = bsdf_westin_backscatter_eval_transmit(sd, sc, sd->I, omega_in, pdf); break; case CLOSURE_BSDF_WESTIN_SHEEN_ID: - eval = bsdf_westin_sheen_eval_transmit(sd, sd->I, omega_in, pdf); + eval = bsdf_westin_sheen_eval_transmit(sd, sc, sd->I, omega_in, pdf); break; default: eval = make_float3(0.0f, 0.0f, 0.0f); @@ -176,50 +174,48 @@ __device float3 svm_bsdf_eval(const ShaderData *sd, const float3 omega_in, float } } - eval *= sd->svm_closure_weight; - return eval; } -__device void svm_bsdf_blur(ShaderData *sd, float roughness) +__device void svm_bsdf_blur(ShaderClosure *sc, float roughness) { - switch(sd->svm_closure) { + switch(sc->type) { case CLOSURE_BSDF_DIFFUSE_ID: - bsdf_diffuse_blur(sd, roughness); + bsdf_diffuse_blur(sc, roughness); break; case CLOSURE_BSDF_TRANSLUCENT_ID: - bsdf_translucent_blur(sd, roughness); + bsdf_translucent_blur(sc, roughness); break; case CLOSURE_BSDF_REFLECTION_ID: - bsdf_reflection_blur(sd, roughness); + bsdf_reflection_blur(sc, roughness); break; case CLOSURE_BSDF_REFRACTION_ID: - bsdf_refraction_blur(sd, roughness); + bsdf_refraction_blur(sc, roughness); break; case CLOSURE_BSDF_TRANSPARENT_ID: - bsdf_transparent_blur(sd, roughness); + bsdf_transparent_blur(sc, roughness); break; case CLOSURE_BSDF_MICROFACET_GGX_ID: case CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID: - bsdf_microfacet_ggx_blur(sd, roughness); + bsdf_microfacet_ggx_blur(sc, roughness); break; case CLOSURE_BSDF_MICROFACET_BECKMANN_ID: case CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID: - bsdf_microfacet_beckmann_blur(sd, roughness); + bsdf_microfacet_beckmann_blur(sc, roughness); break; #ifdef __DPDU__ case CLOSURE_BSDF_WARD_ID: - bsdf_ward_blur(sd, roughness); + bsdf_ward_blur(sc, roughness); break; #endif case CLOSURE_BSDF_ASHIKHMIN_VELVET_ID: - bsdf_ashikhmin_velvet_blur(sd, roughness); + bsdf_ashikhmin_velvet_blur(sc, roughness); break; case CLOSURE_BSDF_WESTIN_BACKSCATTER_ID: - bsdf_westin_backscatter_blur(sd, roughness); + bsdf_westin_backscatter_blur(sc, roughness); break; case CLOSURE_BSDF_WESTIN_SHEEN_ID: - bsdf_westin_sheen_blur(sd, roughness); + bsdf_westin_sheen_blur(sc, roughness); break; default: break; diff --git a/intern/cycles/kernel/svm/svm_closure.h b/intern/cycles/kernel/svm/svm_closure.h index 1efadcefbd5..aaf2926f60d 100644 --- a/intern/cycles/kernel/svm/svm_closure.h +++ b/intern/cycles/kernel/svm/svm_closure.h @@ -20,28 +20,92 @@ CCL_NAMESPACE_BEGIN /* Closure Nodes */ -__device void svm_node_closure_bsdf(ShaderData *sd, float *stack, uint4 node, float randb) +__device void svm_node_glossy_setup(ShaderData *sd, ShaderClosure *sc, int type, float eta, float roughness, bool refract) +{ + if(type == CLOSURE_BSDF_REFRACTION_ID) { + if(refract) + bsdf_refraction_setup(sd, sc, eta); + else + bsdf_reflection_setup(sd, sc); + } + else if(type == CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID) { + bsdf_microfacet_beckmann_setup(sd, sc, roughness, eta, refract); + } + else + bsdf_microfacet_ggx_setup(sd, sc, roughness, eta, refract); +} + +__device_inline ShaderClosure *svm_node_closure_get(ShaderData *sd) +{ +#ifdef __MULTI_CLOSURE__ + ShaderClosure *sc = &sd->closure[sd->num_closure]; + + if(sd->num_closure < MAX_CLOSURE) + sd->num_closure++; + + return sc; +#else + return &sd->closure; +#endif +} + +__device_inline void svm_node_closure_set_mix_weight(ShaderClosure *sc, float mix_weight) +{ +#ifdef __MULTI_CLOSURE__ + sc->weight *= mix_weight; + sc->sample_weight = fabsf(average(sc->weight)); +#endif +} + +__device void svm_node_closure_bsdf(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, float randb, int path_flag) { uint type, param1_offset, param2_offset; + +#ifdef __MULTI_CLOSURE__ + uint mix_weight_offset; + decode_node_uchar4(node.y, &type, ¶m1_offset, ¶m2_offset, &mix_weight_offset); + float mix_weight = (stack_valid(mix_weight_offset)? stack_load_float(stack, mix_weight_offset): 1.0f); + + if(mix_weight == 0.0f) + return; +#else decode_node_uchar4(node.y, &type, ¶m1_offset, ¶m2_offset, NULL); + float mix_weight = 1.0f; +#endif float param1 = (stack_valid(param1_offset))? stack_load_float(stack, param1_offset): __int_as_float(node.z); float param2 = (stack_valid(param2_offset))? stack_load_float(stack, param2_offset): __int_as_float(node.w); switch(type) { - case CLOSURE_BSDF_DIFFUSE_ID: - bsdf_diffuse_setup(sd, sd->N); + case CLOSURE_BSDF_DIFFUSE_ID: { + ShaderClosure *sc = svm_node_closure_get(sd); + svm_node_closure_set_mix_weight(sc, mix_weight); + bsdf_diffuse_setup(sd, sc); break; - case CLOSURE_BSDF_TRANSLUCENT_ID: - bsdf_translucent_setup(sd, sd->N); + } + case CLOSURE_BSDF_TRANSLUCENT_ID: { + ShaderClosure *sc = svm_node_closure_get(sd); + svm_node_closure_set_mix_weight(sc, mix_weight); + bsdf_translucent_setup(sd, sc); break; - case CLOSURE_BSDF_TRANSPARENT_ID: - bsdf_transparent_setup(sd); + } + case CLOSURE_BSDF_TRANSPARENT_ID: { + ShaderClosure *sc = svm_node_closure_get(sd); + svm_node_closure_set_mix_weight(sc, mix_weight); + bsdf_transparent_setup(sd, sc); break; + } case CLOSURE_BSDF_REFLECTION_ID: case CLOSURE_BSDF_MICROFACET_GGX_ID: case CLOSURE_BSDF_MICROFACET_BECKMANN_ID: { - /* roughness */ +#ifdef __CAUSTICS_TRICKS__ + if(kernel_data.integrator.no_caustics && (path_flag & PATH_RAY_DIFFUSE)) + break; +#endif + + ShaderClosure *sc = svm_node_closure_get(sd); + svm_node_closure_set_mix_weight(sc, mix_weight); + /* index of refraction */ float eta = clamp(1.0f-param2, 1e-5f, 1.0f - 1e-5f); eta = 1.0f/eta; @@ -49,26 +113,22 @@ __device void svm_node_closure_bsdf(ShaderData *sd, float *stack, uint4 node, fl /* fresnel */ float cosNO = dot(sd->N, sd->I); float fresnel = fresnel_dielectric_cos(cosNO, eta); + float roughness = param1; - sd->svm_closure_weight *= fresnel; + sc->weight *= fresnel; /* setup bsdf */ - if(type == CLOSURE_BSDF_REFLECTION_ID) { - bsdf_reflection_setup(sd, sd->N); - } - else if(type == CLOSURE_BSDF_MICROFACET_BECKMANN_ID) { - float roughness = param1; - bsdf_microfacet_beckmann_setup(sd, sd->N, roughness, eta, false); - } - else { - float roughness = param1; - bsdf_microfacet_ggx_setup(sd, sd->N, roughness, eta, false); - } + svm_node_glossy_setup(sd, sc, type, eta, roughness, false); break; } case CLOSURE_BSDF_REFRACTION_ID: case CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID: case CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID: { +#ifdef __CAUSTICS_TRICKS__ + if(kernel_data.integrator.no_caustics && (path_flag & PATH_RAY_DIFFUSE)) + break; +#endif + /* index of refraction */ float eta = clamp(1.0f-param2, 1e-5f, 1.0f - 1e-5f); eta = (sd->flag & SD_BACKFACING)? eta: 1.0f/eta; @@ -76,34 +136,58 @@ __device void svm_node_closure_bsdf(ShaderData *sd, float *stack, uint4 node, fl /* fresnel */ float cosNO = dot(sd->N, sd->I); float fresnel = fresnel_dielectric_cos(cosNO, eta); - bool refract = (fresnel < randb); + float roughness = param1; + +#ifdef __MULTI_CLOSURE__ + /* reflection */ + ShaderClosure *sc = svm_node_closure_get(sd); + + float3 weight = sc->weight; + float sample_weight = sc->sample_weight; + + svm_node_closure_set_mix_weight(sc, mix_weight*fresnel); + svm_node_glossy_setup(sd, sc, type, eta, roughness, false); + + /* refraction */ + sc = svm_node_closure_get(sd); + + sc->weight = weight; + sc->sample_weight = sample_weight; + + svm_node_closure_set_mix_weight(sc, mix_weight*(1.0f - fresnel)); + svm_node_glossy_setup(sd, sc, type, eta, roughness, true); +#else + ShaderClosure *sc = svm_node_closure_get(sd); + + bool refract = (randb > fresnel); + + svm_node_closure_set_mix_weight(sc, mix_weight); + svm_node_glossy_setup(sd, sc, type, eta, roughness, refract); +#endif - /* setup bsdf */ - if(type == CLOSURE_BSDF_REFRACTION_ID) { - if(refract) - bsdf_refraction_setup(sd, sd->N, eta); - else - bsdf_reflection_setup(sd, sd->N); - } - else if(type == CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID) { - float roughness = param1; - bsdf_microfacet_beckmann_setup(sd, sd->N, roughness, eta, refract); - } - else { - float roughness = param1; - bsdf_microfacet_ggx_setup(sd, sd->N, roughness, eta, refract); - } break; } #ifdef __DPDU__ case CLOSURE_BSDF_WARD_ID: { +#ifdef __CAUSTICS_TRICKS__ + if(kernel_data.integrator.no_caustics && (path_flag & PATH_RAY_DIFFUSE)) + break; +#endif + + ShaderClosure *sc = svm_node_closure_get(sd); + svm_node_closure_set_mix_weight(sc, mix_weight); + float roughness_u = param1; float roughness_v = param2; - bsdf_ward_setup(sd, sd->N, normalize(sd->dPdu), roughness_u, roughness_v); + + bsdf_ward_setup(sd, sc, normalize(sd->dPdu), roughness_u, roughness_v); break; } #endif case CLOSURE_BSDF_ASHIKHMIN_VELVET_ID: { + ShaderClosure *sc = svm_node_closure_get(sd); + svm_node_closure_set_mix_weight(sc, mix_weight); + /* sigma */ float sigma = clamp(param1, 0.0f, 1.0f); @@ -115,55 +199,107 @@ __device void svm_node_closure_bsdf(ShaderData *sd, float *stack, uint4 node, fl float cosNO = dot(sd->N, sd->I); float fresnel = fresnel_dielectric_cos(cosNO, eta); - sd->svm_closure_weight *= fresnel; + sc->weight *= fresnel; - bsdf_ashikhmin_velvet_setup(sd, sd->N, sigma); + bsdf_ashikhmin_velvet_setup(sd, sc, sigma); break; } default: - return; + break; } } -__device void svm_node_closure_emission(ShaderData *sd) +__device void svm_node_closure_emission(ShaderData *sd, float *stack, uint4 node) { - sd->svm_closure = CLOSURE_EMISSION_ID; +#ifdef __MULTI_CLOSURE__ + ShaderClosure *sc = svm_node_closure_get(sd); + uint mix_weight_offset = node.y; + + if(stack_valid(mix_weight_offset)) { + float mix_weight = stack_load_float(stack, mix_weight_offset); + + if(mix_weight == 0.0f) + return; + + sc->weight *= mix_weight; + } +#else + ShaderClosure *sc = &sd->closure; +#endif + + sc->type = CLOSURE_EMISSION_ID; sd->flag |= SD_EMISSION; } -__device void svm_node_closure_background(ShaderData *sd) +__device void svm_node_closure_background(ShaderData *sd, uint4 node) { - sd->svm_closure = CLOSURE_BACKGROUND_ID; +#ifdef __MULTI_CLOSURE__ + ShaderClosure *sc = svm_node_closure_get(sd); +#else + ShaderClosure *sc = &sd->closure; +#endif + + sc->type = CLOSURE_BACKGROUND_ID; } -__device void svm_node_closure_holdout(ShaderData *sd) +__device void svm_node_closure_holdout(ShaderData *sd, float *stack, uint4 node) { - sd->svm_closure = CLOSURE_HOLDOUT_ID; +#ifdef __MULTI_CLOSURE__ + ShaderClosure *sc = svm_node_closure_get(sd); + uint mix_weight_offset = node.y; + + if(stack_valid(mix_weight_offset)) { + float mix_weight = stack_load_float(stack, mix_weight_offset); + + if(mix_weight == 0.0f) + return; + + sc->weight = make_float3(mix_weight, mix_weight, mix_weight); + } + else + sc->weight = make_float3(1.0f, 1.0f, 1.0f); + + sc->sample_weight = 0.0f; +#else + ShaderClosure *sc = &sd->closure; +#endif + + sc->type = CLOSURE_HOLDOUT_ID; sd->flag |= SD_HOLDOUT; } /* Closure Nodes */ +__device_inline void svm_node_closure_store_weight(ShaderData *sd, float3 weight) +{ +#ifdef __MULTI_CLOSURE__ + sd->closure[sd->num_closure].weight = weight; +#else + sd->closure.weight = weight; +#endif +} + __device void svm_node_closure_set_weight(ShaderData *sd, uint r, uint g, uint b) { - sd->svm_closure_weight.x = __int_as_float(r); - sd->svm_closure_weight.y = __int_as_float(g); - sd->svm_closure_weight.z = __int_as_float(b); + float3 weight = make_float3(__int_as_float(r), __int_as_float(g), __int_as_float(b)); + svm_node_closure_store_weight(sd, weight); } __device void svm_node_emission_set_weight_total(KernelGlobals *kg, ShaderData *sd, uint r, uint g, uint b) { - sd->svm_closure_weight.x = __int_as_float(r); - sd->svm_closure_weight.y = __int_as_float(g); - sd->svm_closure_weight.z = __int_as_float(b); + float3 weight = make_float3(__int_as_float(r), __int_as_float(g), __int_as_float(b)); if(sd->object != ~0) - sd->svm_closure_weight /= object_surface_area(kg, sd->object); + weight /= object_surface_area(kg, sd->object); + + svm_node_closure_store_weight(sd, weight); } __device void svm_node_closure_weight(ShaderData *sd, float *stack, uint weight_offset) { - sd->svm_closure_weight = stack_load_float3(stack, weight_offset); + float3 weight = stack_load_float3(stack, weight_offset); + + svm_node_closure_store_weight(sd, weight); } __device void svm_node_emission_weight(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node) @@ -172,37 +308,59 @@ __device void svm_node_emission_weight(KernelGlobals *kg, ShaderData *sd, float uint strength_offset = node.z; uint total_power = node.w; - sd->svm_closure_weight = stack_load_float3(stack, color_offset)*stack_load_float(stack, strength_offset); + float3 weight = stack_load_float3(stack, color_offset)*stack_load_float(stack, strength_offset); if(total_power && sd->object != ~0) - sd->svm_closure_weight /= object_surface_area(kg, sd->object); + weight /= object_surface_area(kg, sd->object); + + svm_node_closure_store_weight(sd, weight); } __device void svm_node_mix_closure(ShaderData *sd, float *stack, - uint weight_offset, uint node_jump, int *offset, float *randb) + uint4 node, int *offset, float *randb) { - float weight = stack_load_float(stack, weight_offset); - weight = clamp(weight, 0.0f, 1.0f); +#ifdef __MULTI_CLOSURE__ + /* fetch weight from blend input, previous mix closures, + and write to stack to be used by closure nodes later */ + uint weight_offset, in_weight_offset, weight1_offset, weight2_offset; + decode_node_uchar4(node.y, &weight_offset, &in_weight_offset, &weight1_offset, &weight2_offset); + float weight = stack_load_float(stack, weight_offset); + float in_weight = (stack_valid(in_weight_offset))? stack_load_float(stack, in_weight_offset): 1.0f; + + if(stack_valid(weight1_offset)) + stack_store_float(stack, weight1_offset, in_weight*(1.0f - weight)); + if(stack_valid(weight2_offset)) + stack_store_float(stack, weight2_offset, in_weight*weight); +#else /* pick a closure and make the random number uniform over 0..1 again. closure 1 starts on the next node, for closure 2 the start is at an offset from the current node, so we jump */ + uint weight_offset = node.y; + uint node_jump = node.z; + float weight = stack_load_float(stack, weight_offset); + weight = clamp(weight, 0.0f, 1.0f); + if(*randb < weight) { *offset += node_jump; *randb = *randb/weight; } else *randb = (*randb - weight)/(1.0f - weight); +#endif } __device void svm_node_add_closure(ShaderData *sd, float *stack, uint unused, uint node_jump, int *offset, float *randb, float *closure_weight) { - float weight = 0.5f; - +#ifdef __MULTI_CLOSURE__ + /* nothing to do, handled in compiler */ +#else /* pick one of the two closures with probability 0.5. sampling quality is not going to be great, for that we'd need to evaluate the weights of the two closures being added */ + float weight = 0.5f; + if(*randb < weight) { *offset += node_jump; *randb = *randb/weight; @@ -211,6 +369,7 @@ __device void svm_node_add_closure(ShaderData *sd, float *stack, uint unused, *randb = (*randb - weight)/(1.0f - weight); *closure_weight *= 2.0f; +#endif } CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/svm/svm_types.h b/intern/cycles/kernel/svm/svm_types.h index 758ba25c07a..98e4a5ee583 100644 --- a/intern/cycles/kernel/svm/svm_types.h +++ b/intern/cycles/kernel/svm/svm_types.h @@ -258,6 +258,7 @@ typedef enum ShaderType { /* Closure */ typedef enum ClosureType { + CLOSURE_BSDF_ID, CLOSURE_BSDF_DIFFUSE_ID, CLOSURE_BSDF_TRANSLUCENT_ID, CLOSURE_BSDF_REFLECTION_ID, @@ -272,16 +273,25 @@ typedef enum ClosureType { CLOSURE_BSDF_ASHIKHMIN_VELVET_ID, CLOSURE_BSDF_WESTIN_BACKSCATTER_ID, CLOSURE_BSDF_WESTIN_SHEEN_ID, + CLOSURE_BSSRDF_CUBIC_ID, CLOSURE_EMISSION_ID, CLOSURE_DEBUG_ID, CLOSURE_BACKGROUND_ID, CLOSURE_HOLDOUT_ID, CLOSURE_SUBSURFACE_ID, + CLOSURE_VOLUME_ID, NBUILTIN_CLOSURES } ClosureType; +/* watch this, being lazy with memory usage */ +#define CLOSURE_IS_BSDF(type) (type <= CLOSURE_BSDF_WESTIN_SHEEN_ID) +#define CLOSURE_IS_VOLUME(type) (type == CLOSURE_VOLUME_ID) +#define CLOSURE_IS_EMISSION(type) (type == CLOSURE_EMISSION_ID) +#define CLOSURE_IS_HOLDOUT(type) (type == CLOSURE_HOLDOUT_ID) +#define CLOSURE_IS_BACKGROUND(type) (type == CLOSURE_BACKGROUND_ID) + CCL_NAMESPACE_END #endif /* __SVM_TYPES_H__ */ diff --git a/intern/cycles/kernel/svm/volume.h b/intern/cycles/kernel/svm/volume.h index 32e0601ee00..dc377b5c595 100644 --- a/intern/cycles/kernel/svm/volume.h +++ b/intern/cycles/kernel/svm/volume.h @@ -34,7 +34,7 @@ CCL_NAMESPACE_BEGIN /* VOLUME CLOSURE */ -__device float3 volume_eval_phase(ShaderData *sd, const float3 omega_in, const float3 omega_out) +__device float3 volume_eval_phase(const ShaderData *sd, const ShaderClosure *sc, const float3 omega_in, const float3 omega_out) { return make_float3(1.0f, 1.0f, 1.0f); } diff --git a/intern/cycles/render/light.cpp b/intern/cycles/render/light.cpp index feb9e35e785..b13cab55404 100644 --- a/intern/cycles/render/light.cpp +++ b/intern/cycles/render/light.cpp @@ -55,6 +55,9 @@ LightManager::~LightManager() void LightManager::device_update_distribution(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress) { + /* option to always sample all point lights */ + bool multi_light = false; + /* count */ size_t num_lights = scene->lights.size(); size_t num_triangles = 0; @@ -82,7 +85,10 @@ void LightManager::device_update_distribution(Device *device, DeviceScene *dscen } } - size_t num_distribution = num_triangles + num_lights; + size_t num_distribution = num_triangles; + + if(!multi_light) + num_distribution += num_lights; /* emission area */ float4 *distribution = dscene->light_distribution.resize(num_distribution + 1); @@ -137,14 +143,16 @@ void LightManager::device_update_distribution(Device *device, DeviceScene *dscen float trianglearea = totarea; /* point lights */ - float lightarea = (totarea > 0.0f)? totarea/scene->lights.size(): 1.0f; + if(!multi_light) { + float lightarea = (totarea > 0.0f)? totarea/scene->lights.size(): 1.0f; - for(size_t i = 0; i < scene->lights.size(); i++, offset++) { - distribution[offset].x = totarea; - distribution[offset].y = __int_as_float(-i-1); - distribution[offset].z = 1.0f; - distribution[offset].w = scene->lights[i]->radius; - totarea += lightarea; + for(size_t i = 0; i < scene->lights.size(); i++, offset++) { + distribution[offset].x = totarea; + distribution[offset].y = __int_as_float(-i-1); + distribution[offset].z = 1.0f; + distribution[offset].w = scene->lights[i]->radius; + totarea += lightarea; + } } /* normalize cumulative distribution functions */ @@ -163,28 +171,40 @@ void LightManager::device_update_distribution(Device *device, DeviceScene *dscen /* update device */ KernelIntegrator *kintegrator = &dscene->data.integrator; - kintegrator->use_emission = (totarea > 0.0f); + kintegrator->use_emission = (totarea > 0.0f) || (multi_light && num_lights); if(kintegrator->use_emission) { /* number of emissives */ - kintegrator->num_triangles = num_triangles; - kintegrator->num_lights = num_lights; - kintegrator->num_distribution = num_distribution; + kintegrator->num_distribution = (totarea > 0.0f)? num_distribution: 0; /* precompute pdfs */ kintegrator->pdf_triangles = 0.0f; kintegrator->pdf_lights = 0.0f; - if(trianglearea > 0.0f) { - kintegrator->pdf_triangles = 1.0f/trianglearea; - if(num_lights) - kintegrator->pdf_triangles *= 0.5f; - } + if(multi_light) { + /* sample one of all triangles and all lights */ + kintegrator->num_all_lights = num_lights; - if(num_lights) { - kintegrator->pdf_lights = 1.0f/num_lights; if(trianglearea > 0.0f) - kintegrator->pdf_lights *= 0.5f; + kintegrator->pdf_triangles = 1.0f/trianglearea; + if(num_lights) + kintegrator->pdf_lights = 1.0f; + } + else { + /* sample one, with 0.5 probability of light or triangle */ + kintegrator->num_all_lights = 0; + + if(trianglearea > 0.0f) { + kintegrator->pdf_triangles = 1.0f/trianglearea; + if(num_lights) + kintegrator->pdf_triangles *= 0.5f; + } + + if(num_lights) { + kintegrator->pdf_lights = 1.0f/num_lights; + if(trianglearea > 0.0f) + kintegrator->pdf_lights *= 0.5f; + } } /* CDF */ diff --git a/intern/cycles/render/mesh.cpp b/intern/cycles/render/mesh.cpp index b73013fc378..7a6ce547486 100644 --- a/intern/cycles/render/mesh.cpp +++ b/intern/cycles/render/mesh.cpp @@ -21,6 +21,7 @@ #include "device.h" #include "shader.h" +#include "light.h" #include "mesh.h" #include "object.h" #include "scene.h" @@ -250,6 +251,10 @@ void Mesh::tag_update(Scene *scene, bool rebuild) scene->mesh_manager->need_update = true; scene->object_manager->need_update = true; + + foreach(uint sindex, used_shaders) + if(scene->shaders[sindex]->has_surface_emission) + scene->light_manager->need_update = true; } /* Mesh Manager */ diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index 0ff774bce59..f2030256814 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -1024,7 +1024,8 @@ void BsdfNode::compile(SVMCompiler& compiler, ShaderInput *param1, ShaderInput * compiler.add_node(NODE_CLOSURE_BSDF, compiler.encode_uchar4(closure, (param1)? param1->stack_offset: SVM_STACK_INVALID, - (param2)? param2->stack_offset: SVM_STACK_INVALID), + (param2)? param2->stack_offset: SVM_STACK_INVALID, + compiler.closure_mix_weight_offset()), __float_as_int((param1)? param1->value.x: 0.0f), __float_as_int((param2)? param2->value.x: 0.0f)); } @@ -1222,8 +1223,6 @@ EmissionNode::EmissionNode() void EmissionNode::compile(SVMCompiler& compiler) { - compiler.add_node(NODE_CLOSURE_EMISSION, CLOSURE_EMISSION_ID); - ShaderInput *color_in = input("Color"); ShaderInput *strength_in = input("Strength"); @@ -1236,6 +1235,8 @@ void EmissionNode::compile(SVMCompiler& compiler) compiler.add_node(NODE_EMISSION_SET_WEIGHT_TOTAL, color_in->value * strength_in->value.x); else compiler.add_node(NODE_CLOSURE_SET_WEIGHT, color_in->value * strength_in->value.x); + + compiler.add_node(NODE_CLOSURE_EMISSION, compiler.closure_mix_weight_offset()); } void EmissionNode::compile(OSLCompiler& compiler) @@ -1256,8 +1257,6 @@ BackgroundNode::BackgroundNode() void BackgroundNode::compile(SVMCompiler& compiler) { - compiler.add_node(NODE_CLOSURE_BACKGROUND, CLOSURE_BACKGROUND_ID); - ShaderInput *color_in = input("Color"); ShaderInput *strength_in = input("Strength"); @@ -1268,6 +1267,8 @@ void BackgroundNode::compile(SVMCompiler& compiler) } else compiler.add_node(NODE_CLOSURE_SET_WEIGHT, color_in->value*strength_in->value.x); + + compiler.add_node(NODE_CLOSURE_BACKGROUND, CLOSURE_BACKGROUND_ID); } void BackgroundNode::compile(OSLCompiler& compiler) @@ -1285,7 +1286,7 @@ HoldoutNode::HoldoutNode() void HoldoutNode::compile(SVMCompiler& compiler) { - compiler.add_node(NODE_CLOSURE_HOLDOUT, CLOSURE_HOLDOUT_ID); + compiler.add_node(NODE_CLOSURE_HOLDOUT, compiler.closure_mix_weight_offset()); } void HoldoutNode::compile(OSLCompiler& compiler) diff --git a/intern/cycles/render/object.cpp b/intern/cycles/render/object.cpp index fab051bde72..1059254d5c4 100644 --- a/intern/cycles/render/object.cpp +++ b/intern/cycles/render/object.cpp @@ -17,6 +17,7 @@ */ #include "device.h" +#include "light.h" #include "mesh.h" #include "object.h" #include "scene.h" @@ -83,8 +84,15 @@ void Object::apply_transform() void Object::tag_update(Scene *scene) { - if(mesh && mesh->transform_applied) - mesh->need_update = true; + if(mesh) { + if(mesh->transform_applied) + mesh->need_update = true; + + foreach(uint sindex, mesh->used_shaders) + if(scene->shaders[sindex]->has_surface_emission) + scene->light_manager->need_update = true; + } + scene->mesh_manager->need_update = true; scene->object_manager->need_update = true; } diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp index 5fb687971ef..5eb8d51a816 100644 --- a/intern/cycles/render/session.cpp +++ b/intern/cycles/render/session.cpp @@ -35,7 +35,7 @@ Session::Session(const SessionParams& params_) : params(params_), tile_manager(params.progressive, params.passes, params.tile_size, params.min_size) { - device_use_gl = ((params.device_type == DEVICE_CUDA || params.device_type == DEVICE_OPENCL) && !params.background); + device_use_gl = ((params.device_type != DEVICE_CPU) && !params.background); device = Device::create(params.device_type, params.background, params.threads); buffers = new RenderBuffers(device); diff --git a/intern/cycles/render/session.h b/intern/cycles/render/session.h index 4d5cf434098..ca775939c09 100644 --- a/intern/cycles/render/session.h +++ b/intern/cycles/render/session.h @@ -58,7 +58,7 @@ public: background = false; output_path = ""; - progressive = false; + progressive = true; passes = INT_MAX; tile_size = 64; min_size = 64; diff --git a/intern/cycles/render/svm.cpp b/intern/cycles/render/svm.cpp index da52eaecc18..c4188fda421 100644 --- a/intern/cycles/render/svm.cpp +++ b/intern/cycles/render/svm.cpp @@ -105,6 +105,7 @@ SVMCompiler::SVMCompiler(ShaderManager *shader_manager_, ImageManager *image_man current_type = SHADER_TYPE_SURFACE; current_shader = NULL; background = false; + mix_weight_offset = SVM_STACK_INVALID; } int SVMCompiler::stack_size(ShaderSocketType type) @@ -419,6 +420,84 @@ void SVMCompiler::generate_closure(ShaderNode *node, set done, Stac } } +void SVMCompiler::generate_multi_closure(ShaderNode *node, set& done, uint in_offset) +{ + /* todo: the weaks point here is that unlike the single closure sampling + we will evaluate all nodes even if they are used as input for closures + that are unused. it's not clear what would be the best way to skip such + nodes at runtime, especially if they are tangled up */ + + if(node->name == ustring("mix_closure") || node->name == ustring("add_closure")) { + ShaderInput *fin = node->input("Fac"); + ShaderInput *cl1in = node->input("Closure1"); + ShaderInput *cl2in = node->input("Closure2"); + + uint out1_offset = SVM_STACK_INVALID; + uint out2_offset = SVM_STACK_INVALID; + + if(fin) { + /* mix closure */ + set dependencies; + find_dependencies(dependencies, done, fin); + generate_svm_nodes(dependencies, done); + + stack_assign(fin); + + if(cl1in->link) + out1_offset = stack_find_offset(SHADER_SOCKET_FLOAT); + if(cl2in->link) + out2_offset = stack_find_offset(SHADER_SOCKET_FLOAT); + + add_node(NODE_MIX_CLOSURE, + encode_uchar4(fin->stack_offset, in_offset, out1_offset, out2_offset)); + } + else { + /* add closure */ + out1_offset = in_offset; + out2_offset = in_offset; + } + + if(cl1in->link) { + generate_multi_closure(cl1in->link->parent, done, out1_offset); + + if(fin) + active_stack.users[out1_offset]--; + } + + if(cl2in->link) { + generate_multi_closure(cl2in->link->parent, done, out2_offset); + + if(fin) + active_stack.users[out2_offset]--; + } + } + else { + /* execute dependencies for closure */ + foreach(ShaderInput *in, node->inputs) { + if(!node_skip_input(node, in) && in->link) { + set dependencies; + find_dependencies(dependencies, done, in); + generate_svm_nodes(dependencies, done); + } + } + + mix_weight_offset = in_offset; + + /* compile closure itself */ + node->compile(*this); + stack_clear_users(node, done); + stack_clear_temporary(node); + + mix_weight_offset = SVM_STACK_INVALID; + + if(node->name == ustring("emission")) + current_shader->has_surface_emission = true; + + /* end node is added outside of this */ + } +} + + void SVMCompiler::compile_type(Shader *shader, ShaderGraph *graph, ShaderType type) { /* Converting a shader graph into svm_nodes that can be executed @@ -464,21 +543,35 @@ void SVMCompiler::compile_type(Shader *shader, ShaderGraph *graph, ShaderType ty } if(clin->link) { + bool generate = false; if(type == SHADER_TYPE_SURFACE) { /* generate surface shader */ - generate_closure(clin->link->parent, set(), Stack()); + generate = true; shader->has_surface = true; } else if(type == SHADER_TYPE_VOLUME) { /* generate volume shader */ - generate_closure(clin->link->parent, set(), Stack()); + generate = true; shader->has_volume = true; } else if(type == SHADER_TYPE_DISPLACEMENT) { /* generate displacement shader */ - generate_closure(clin->link->parent, set(), Stack()); + generate = true; shader->has_displacement = true; } + + if(generate) { + set done; + bool multi_closure = false; /* __MULTI_CLOSURE__ */ + + if(multi_closure) { + generate_multi_closure(clin->link->parent, done, SVM_STACK_INVALID); + } + else { + Stack stack; + generate_closure(clin->link->parent, done, stack); + } + } } /* compile output node */ diff --git a/intern/cycles/render/svm.h b/intern/cycles/render/svm.h index f76649e4a6f..05fb85b057f 100644 --- a/intern/cycles/render/svm.h +++ b/intern/cycles/render/svm.h @@ -24,6 +24,7 @@ #include "shader.h" #include "util_set.h" +#include "util_string.h" CCL_NAMESPACE_BEGIN @@ -65,6 +66,7 @@ public: uint attribute(ustring name); uint attribute(Attribute::Standard std); uint encode_uchar4(uint x, uint y = 0, uint z = 0, uint w = 0); + uint closure_mix_weight_offset() { return mix_weight_offset; } ShaderType output_type() { return current_type; } @@ -75,6 +77,8 @@ public: protected: struct Stack { + Stack() { memset(users, 0, sizeof(users)); } + int users[SVM_STACK_SIZE]; }; @@ -88,6 +92,7 @@ protected: void find_dependencies(set& dependencies, const set& done, ShaderInput *input); void generate_svm_nodes(const set& nodes, set& done); void generate_closure(ShaderNode *node, set done, Stack stack); + void generate_multi_closure(ShaderNode *node, set& done, uint in_offset); void compile_type(Shader *shader, ShaderGraph *graph, ShaderType type); @@ -96,6 +101,7 @@ protected: Shader *current_shader; Stack active_stack; int max_stack_use; + uint mix_weight_offset; }; CCL_NAMESPACE_END diff --git a/intern/cycles/render/tile.cpp b/intern/cycles/render/tile.cpp index 450090c42f8..61f3af7aa10 100644 --- a/intern/cycles/render/tile.cpp +++ b/intern/cycles/render/tile.cpp @@ -96,7 +96,7 @@ void TileManager::set_tiles() bool TileManager::done() { - return (state.pass+1 >= passes); + return (state.pass+1 >= passes && state.resolution == 1); } bool TileManager::next() diff --git a/intern/cycles/util/util_path.cpp b/intern/cycles/util/util_path.cpp index 90093e32d58..d3f739e19f6 100644 --- a/intern/cycles/util/util_path.cpp +++ b/intern/cycles/util/util_path.cpp @@ -109,11 +109,16 @@ string path_files_md5_hash(const string& dir) return hash.get_hex(); } +void path_create_directories(const string& path) +{ + boost::filesystem::create_directories(path_dirname(path)); +} + bool path_write_binary(const string& path, const vector& binary) { - /* write binary file from memory */ - boost::filesystem::create_directories(path_dirname(path)); + path_create_directories(path); + /* write binary file from memory */ FILE *f = fopen(path.c_str(), "wb"); if(!f) diff --git a/intern/cycles/util/util_path.h b/intern/cycles/util/util_path.h index a91b91461fa..4a9d45ec594 100644 --- a/intern/cycles/util/util_path.h +++ b/intern/cycles/util/util_path.h @@ -42,6 +42,7 @@ string path_escape(const string& path); bool path_exists(const string& path); string path_files_md5_hash(const string& dir); +void path_create_directories(const string& path); bool path_write_binary(const string& path, const vector& binary); bool path_read_binary(const string& path, vector& binary); From f97d7b234daaed836172a7caaa5b8d590c7513e5 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 12 Sep 2011 14:47:36 +0000 Subject: [PATCH 131/241] Cycles: fix crash with group node sockets that don't connect to any node inside the group. --- intern/cycles/blender/blender_shader.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index 4e19ee82f77..362c765b399 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -519,7 +519,10 @@ static void add_nodes(BL::BlendData b_data, ShaderGraph *graph, BL::ShaderNodeTr to_name = b_to_sock.name(); } - graph->connect(from_node->output(from_name.c_str()), to_node->input(to_name.c_str())); + /* in case of groups there may not actually be a node inside the group + that the group socket connects to, so from_node or to_node may be NULL */ + if(from_node && to_node) + graph->connect(from_node->output(from_name.c_str()), to_node->input(to_name.c_str())); } } From 089abdecf7b14b97c460aa7697fa9191db281d92 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 14 Sep 2011 22:26:55 +0000 Subject: [PATCH 132/241] Cycles: attempted fixes for OS X preview render problem, and disable kernel cache there now as well since it seems to give issues there. --- intern/cycles/CMakeLists.txt | 2 +- intern/cycles/device/device.cpp | 2 +- intern/cycles/device/device_network.h | 4 ++++ intern/cycles/device/device_opencl.cpp | 4 ++++ intern/cycles/render/session.h | 2 +- intern/cycles/render/tile.cpp | 2 +- 6 files changed, 12 insertions(+), 4 deletions(-) diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index 74bac846aa4..0041f11c288 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -8,7 +8,7 @@ include(cmake/external_libs.cmake) # Build Flags set(GCC_WARNING_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-long-long") -set(GCC_OPTIM_FLAGS "-ffast-math -fPIC -msse -msse2 -msse3 -mtune=native") +set(GCC_OPTIM_FLAGS "-ffast-math -msse -msse2 -msse3 -mtune=native") if(APPLE) set(CMAKE_CXX_FLAGS "${GCC_WARNING_FLAGS} ${GCC_OPTIM_FLAGS}") diff --git a/intern/cycles/device/device.cpp b/intern/cycles/device/device.cpp index ab57d7cfe86..6ba50154dac 100644 --- a/intern/cycles/device/device.cpp +++ b/intern/cycles/device/device.cpp @@ -108,7 +108,7 @@ void Device::draw_pixels(device_memory& rgba, int y, int w, int h, int width, in /* for multi devices, this assumes the ineffecient method that we allocate all pixels on the device even though we only render to a subset */ - pixels += sizeof(uint8_t)*4*y*w; + pixels += 4*y*w; glDrawPixels(w, h, GL_RGBA, GL_UNSIGNED_BYTE, pixels); diff --git a/intern/cycles/device/device_network.h b/intern/cycles/device/device_network.h index ebb1e43a7a7..775517586d3 100644 --- a/intern/cycles/device/device_network.h +++ b/intern/cycles/device/device_network.h @@ -19,6 +19,8 @@ #ifndef __DEVICE_NETWORK_H__ #define __DEVICE_NETWORK_H__ +#ifdef WITH_NETWORK + #include #include #include @@ -300,5 +302,7 @@ private: CCL_NAMESPACE_END +#endif + #endif /* __DEVICE_NETWORK_H__ */ diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp index a41238ffe09..b58dfe7f168 100644 --- a/intern/cycles/device/device_opencl.cpp +++ b/intern/cycles/device/device_opencl.cpp @@ -353,19 +353,23 @@ public: string clbin = string_printf("cycles_kernel_%s_%s.clbin", device_md5.c_str(), kernel_md5.c_str());; clbin = path_user_get(path_join("cache", clbin)); +#ifndef __APPLE__ if(path_exists(clbin)) { /* if exists already, try use it */ if(!load_binary(kernel_path, clbin)) return false; } else { +#endif /* compile kernel */ if(!compile_kernel(kernel_path, kernel_md5)) return false; +#ifndef __APPLE__ /* save binary for reuse */ save_binary(clbin); } +#endif /* find kernels */ ckPathTraceKernel = clCreateKernel(cpProgram, "kernel_ocl_path_trace", &ciErr); diff --git a/intern/cycles/render/session.h b/intern/cycles/render/session.h index ca775939c09..4d5cf434098 100644 --- a/intern/cycles/render/session.h +++ b/intern/cycles/render/session.h @@ -58,7 +58,7 @@ public: background = false; output_path = ""; - progressive = true; + progressive = false; passes = INT_MAX; tile_size = 64; min_size = 64; diff --git a/intern/cycles/render/tile.cpp b/intern/cycles/render/tile.cpp index 61f3af7aa10..450090c42f8 100644 --- a/intern/cycles/render/tile.cpp +++ b/intern/cycles/render/tile.cpp @@ -96,7 +96,7 @@ void TileManager::set_tiles() bool TileManager::done() { - return (state.pass+1 >= passes && state.resolution == 1); + return (state.pass+1 >= passes); } bool TileManager::next() From 5f13b52c67c0ff49d0b49eb3d07697fb2b5700bd Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 15 Sep 2011 16:09:42 +0000 Subject: [PATCH 133/241] Cycles: fix preview render in 3d view not working on OS X. --- source/blender/makesrna/intern/makesrna.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/blender/makesrna/intern/makesrna.c b/source/blender/makesrna/intern/makesrna.c index 39599957a9a..ef51239d57d 100644 --- a/source/blender/makesrna/intern/makesrna.c +++ b/source/blender/makesrna/intern/makesrna.c @@ -2655,6 +2655,11 @@ static const char *cpp_classes = "" "class Array {\n" "public:\n" " T data[Tsize];\n" +"\n" +" Array() {}\n" +" Array(const Array& other) { memcpy(data, other.data, sizeof(T)*Tsize); }\n" +" const Array& operator=(const Array& other) { memcpy(data, other.data, sizeof(T)*Tsize); return *this; }\n" +"\n" " operator T*() { return data; }\n" "};\n" "\n" From 28cb4cb957a7e652e377974feb42a23fb6454e8e Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 16 Sep 2011 10:29:30 +0000 Subject: [PATCH 134/241] Cycles: reenable opencl binary caching on mac, it's not the cause of the problem. --- intern/cycles/device/device_opencl.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp index b58dfe7f168..a41238ffe09 100644 --- a/intern/cycles/device/device_opencl.cpp +++ b/intern/cycles/device/device_opencl.cpp @@ -353,23 +353,19 @@ public: string clbin = string_printf("cycles_kernel_%s_%s.clbin", device_md5.c_str(), kernel_md5.c_str());; clbin = path_user_get(path_join("cache", clbin)); -#ifndef __APPLE__ if(path_exists(clbin)) { /* if exists already, try use it */ if(!load_binary(kernel_path, clbin)) return false; } else { -#endif /* compile kernel */ if(!compile_kernel(kernel_path, kernel_md5)) return false; -#ifndef __APPLE__ /* save binary for reuse */ save_binary(clbin); } -#endif /* find kernels */ ckPathTraceKernel = clCreateKernel(cpProgram, "kernel_ocl_path_trace", &ciErr); From 376aede7a6dbe0d5beee4dc5fd89bd8608c36b09 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 16 Sep 2011 12:59:22 +0000 Subject: [PATCH 135/241] Cycles: fix crash deleting emitting objects. --- intern/cycles/render/object.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/intern/cycles/render/object.cpp b/intern/cycles/render/object.cpp index 1059254d5c4..fec1ab7f4c8 100644 --- a/intern/cycles/render/object.cpp +++ b/intern/cycles/render/object.cpp @@ -241,6 +241,7 @@ void ObjectManager::tag_update(Scene *scene) { need_update = true; scene->mesh_manager->need_update = true; + scene->light_manager->need_update = true; } CCL_NAMESPACE_END From 0a5fcf3da3e82fd114095c8c2903d927f15ffc31 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 16 Sep 2011 13:00:09 +0000 Subject: [PATCH 136/241] Cycles: fix issue with mix shaders, leading to use of uninitialized memory. --- intern/cycles/render/svm.cpp | 11 +++++++++++ intern/cycles/render/svm.h | 21 +++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/intern/cycles/render/svm.cpp b/intern/cycles/render/svm.cpp index c4188fda421..8f3682cc349 100644 --- a/intern/cycles/render/svm.cpp +++ b/intern/cycles/render/svm.cpp @@ -230,6 +230,11 @@ void SVMCompiler::stack_clear_users(ShaderNode *node, set& done) for(int i = 0; i < size; i++) active_stack.users[output->stack_offset + i]--; + + output->stack_offset = SVM_STACK_INVALID; + + foreach(ShaderInput *in, output->links) + in->stack_offset = SVM_STACK_INVALID; } } } @@ -243,6 +248,8 @@ void SVMCompiler::stack_clear_temporary(ShaderNode *node) for(int i = 0; i < size; i++) active_stack.users[input->stack_offset + i]--; + + input->stack_offset = SVM_STACK_INVALID; } } } @@ -397,6 +404,10 @@ void SVMCompiler::generate_closure(ShaderNode *node, set done, Stac /* set jump for mix node, -1 because offset is already incremented when this jump is added to it */ svm_nodes[mix_offset].z = cl2_offset - mix_offset - 1; + + done.insert(node); + stack_clear_users(node, done); + stack_clear_temporary(node); } else { /* execute dependencies for closure */ diff --git a/intern/cycles/render/svm.h b/intern/cycles/render/svm.h index 05fb85b057f..dfd78cf3c40 100644 --- a/intern/cycles/render/svm.h +++ b/intern/cycles/render/svm.h @@ -78,6 +78,27 @@ public: protected: struct Stack { Stack() { memset(users, 0, sizeof(users)); } + Stack(const Stack& other) { memcpy(users, other.users, sizeof(users)); } + Stack& operator=(const Stack& other) { memcpy(users, other.users, sizeof(users)); return *this; } + + bool empty() + { + for(int i = 0; i < SVM_STACK_SIZE; i++) + if(users[i]) + return false; + + return true; + } + + void print() + { + printf("stack <"); + + for(int i = 0; i < SVM_STACK_SIZE; i++) + printf((users[i])? "*": " "); + + printf(">\n"); + } int users[SVM_STACK_SIZE]; }; From 66b1dfae89cc44953bd51c5da962cab437e76972 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 16 Sep 2011 13:14:02 +0000 Subject: [PATCH 137/241] Cycles: tweaks to properties and nodes * Passes renamed to samples * Camera lens radius renamed to aperature size/blades/rotation * Glass and fresnel nodes input is now index of refraction * Glossy and velvet fresnel socket removed * Mix/add closure node renamed to mix/add shader node * Blend weight node added for shader mixing weights There is some version patching code for reading existing files, but it's not perfect, so shaders may work a bit different. --- intern/cycles/app/cycles_test.cpp | 30 +++--- intern/cycles/app/cycles_xml.cpp | 2 +- intern/cycles/blender/addon/properties.py | 12 ++- intern/cycles/blender/addon/ui.py | 37 ++++++-- intern/cycles/blender/blender_camera.cpp | 13 ++- intern/cycles/blender/blender_session.cpp | 26 +++--- intern/cycles/blender/blender_shader.cpp | 26 +++++- intern/cycles/blender/blender_sync.cpp | 22 +++-- intern/cycles/device/device.cpp | 2 +- intern/cycles/device/device.h | 2 +- intern/cycles/device/device_cpu.cpp | 4 +- intern/cycles/device/device_cuda.cpp | 16 ++-- intern/cycles/device/device_network.cpp | 24 ++--- intern/cycles/device/device_opencl.cpp | 12 +-- intern/cycles/kernel/kernel.cl | 8 +- intern/cycles/kernel/kernel.cpp | 8 +- intern/cycles/kernel/kernel.cu | 8 +- intern/cycles/kernel/kernel.h | 4 +- intern/cycles/kernel/kernel_camera.h | 26 ++++-- intern/cycles/kernel/kernel_film.h | 8 +- intern/cycles/kernel/kernel_montecarlo.h | 24 +++++ intern/cycles/kernel/kernel_path.h | 44 ++++----- intern/cycles/kernel/kernel_random.h | 22 ++--- intern/cycles/kernel/kernel_types.h | 19 ++-- intern/cycles/kernel/osl/nodes/CMakeLists.txt | 1 + .../kernel/osl/nodes/node_blend_weight.osl | 42 +++++++++ .../osl/nodes/node_environment_texture.osl | 5 +- .../cycles/kernel/osl/nodes/node_fresnel.osl | 7 +- .../kernel/osl/nodes/node_glass_bsdf.osl | 6 +- .../kernel/osl/nodes/node_glossy_bsdf.osl | 14 +-- .../kernel/osl/nodes/node_image_texture.osl | 5 +- .../kernel/osl/nodes/node_velvet_bsdf.osl | 10 +- intern/cycles/kernel/svm/svm.h | 3 + intern/cycles/kernel/svm/svm_closure.h | 38 +++----- intern/cycles/kernel/svm/svm_fresnel.h | 44 ++++++++- intern/cycles/kernel/svm/svm_image.h | 18 ++-- intern/cycles/kernel/svm/svm_types.h | 8 +- intern/cycles/render/buffers.cpp | 4 +- intern/cycles/render/buffers.h | 2 +- intern/cycles/render/camera.cpp | 12 ++- intern/cycles/render/camera.h | 4 +- intern/cycles/render/nodes.cpp | 93 +++++++++++++++---- intern/cycles/render/nodes.h | 5 + intern/cycles/render/scene.h | 2 + intern/cycles/render/session.cpp | 60 ++++++------ intern/cycles/render/session.h | 20 ++-- intern/cycles/render/svm.cpp | 9 +- intern/cycles/render/svm.h | 4 +- intern/cycles/render/tile.cpp | 18 ++-- intern/cycles/render/tile.h | 10 +- intern/cycles/util/util_progress.h | 24 ++--- .../startup/bl_ui/properties_data_camera.py | 13 ++- source/blender/blenkernel/BKE_node.h | 7 +- source/blender/blenkernel/intern/node.c | 11 ++- source/blender/blenloader/intern/readfile.c | 59 +++++++++++- .../editors/interface/interface_node.c | 10 +- source/blender/editors/space_node/node_draw.c | 2 +- source/blender/editors/space_node/node_edit.c | 12 +-- .../blender/editors/space_node/node_header.c | 6 +- .../gpu/intern/gpu_shader_material.glsl | 20 ++-- source/blender/makesdna/DNA_node_types.h | 2 +- source/blender/makesrna/intern/rna_nodetree.c | 12 +-- .../makesrna/intern/rna_nodetree_types.h | 5 +- source/blender/nodes/CMakeLists.txt | 5 +- source/blender/nodes/SHD_node.h | 5 +- .../{SHD_add_closure.c => SHD_add_shader.c} | 26 +++--- .../nodes/intern/SHD_nodes/SHD_background.c | 4 +- .../nodes/intern/SHD_nodes/SHD_blend_weight.c | 68 ++++++++++++++ .../intern/SHD_nodes/SHD_bsdf_anisotropic.c | 4 +- .../nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c | 4 +- .../nodes/intern/SHD_nodes/SHD_bsdf_glass.c | 6 +- .../nodes/intern/SHD_nodes/SHD_bsdf_glossy.c | 5 +- .../intern/SHD_nodes/SHD_bsdf_translucent.c | 4 +- .../intern/SHD_nodes/SHD_bsdf_transparent.c | 4 +- .../nodes/intern/SHD_nodes/SHD_bsdf_velvet.c | 5 +- .../nodes/intern/SHD_nodes/SHD_emission.c | 6 +- .../nodes/intern/SHD_nodes/SHD_fresnel.c | 4 +- .../nodes/intern/SHD_nodes/SHD_holdout.c | 4 +- .../{SHD_mix_closure.c => SHD_mix_shader.c} | 26 +++--- .../nodes/intern/SHD_nodes/SHD_output_lamp.c | 2 +- .../intern/SHD_nodes/SHD_output_material.c | 4 +- .../nodes/intern/SHD_nodes/SHD_output_world.c | 4 +- 82 files changed, 788 insertions(+), 428 deletions(-) create mode 100644 intern/cycles/kernel/osl/nodes/node_blend_weight.osl rename source/blender/nodes/intern/SHD_nodes/{SHD_add_closure.c => SHD_add_shader.c} (60%) create mode 100644 source/blender/nodes/intern/SHD_nodes/SHD_blend_weight.c rename source/blender/nodes/intern/SHD_nodes/{SHD_mix_closure.c => SHD_mix_shader.c} (61%) diff --git a/intern/cycles/app/cycles_test.cpp b/intern/cycles/app/cycles_test.cpp index c16f6f4e99a..27e53ded6db 100644 --- a/intern/cycles/app/cycles_test.cpp +++ b/intern/cycles/app/cycles_test.cpp @@ -66,26 +66,26 @@ static void session_print(const string& str) static void session_print_status() { - int pass; - double total_time, pass_time; + int sample; + double total_time, sample_time; string status, substatus; /* get status */ - options.session->progress.get_pass(pass, total_time, pass_time); + options.session->progress.get_sample(sample, total_time, sample_time); options.session->progress.get_status(status, substatus); if(substatus != "") status += ": " + substatus; /* print status */ - status = string_printf("Pass %d %s", pass, status.c_str()); + status = string_printf("Sample %d %s", sample, status.c_str()); session_print(status); } static void session_init() { options.session = new Session(options.session_params); - options.session->reset(options.width, options.height, options.session_params.passes); + options.session->reset(options.width, options.height, options.session_params.samples); options.session->scene = options.scene; if(options.session_params.background && !options.quiet) @@ -133,18 +133,18 @@ static void display_info(Progress& progress) latency = (elapsed - last); last = elapsed; - int pass; - double total_time, pass_time; + int sample; + double total_time, sample_time; string status, substatus; - progress.get_pass(pass, total_time, pass_time); + progress.get_sample(sample, total_time, sample_time); progress.get_status(status, substatus); if(substatus != "") status += ": " + substatus; - str = string_printf("latency: %.4f pass: %d total: %.4f average: %.4f %s", - latency, pass, total_time, pass_time, status.c_str()); + str = string_printf("latency: %.4f sample: %d total: %.4f average: %.4f %s", + latency, sample, total_time, sample_time, status.c_str()); view_display_info(str.c_str()); } @@ -162,13 +162,13 @@ static void resize(int width, int height) options.height= height; if(options.session) - options.session->reset(options.width, options.height, options.session_params.passes); + options.session->reset(options.width, options.height, options.session_params.samples); } void keyboard(unsigned char key) { if(key == 'r') - options.session->reset(options.width, options.height, options.session_params.passes); + options.session->reset(options.width, options.height, options.session_params.samples); else if(key == 27) // escape options.session->progress.set_cancel("Cancelled"); } @@ -220,7 +220,7 @@ static void options_parse(int argc, const char **argv) "--shadingsys %s", &ssname, "Shading system to use: svm, osl", "--background", &options.session_params.background, "Render in background, without user interface", "--quiet", &options.quiet, "In background mode, don't print progress messages", - "--passes %d", &options.session_params.passes, "Number of passes to render", + "--samples %d", &options.session_params.samples, "Number of samples to render", "--output %s", &options.session_params.output_path, "File path to write output image", "--threads %d", &options.session_params.threads, "CPU Rendering Threads", "--help", &help, "Print help message", @@ -266,8 +266,8 @@ static void options_parse(int argc, const char **argv) fprintf(stderr, "OSL shading system only works with CPU device\n"); exit(EXIT_FAILURE); } - else if(options.session_params.passes < 0) { - fprintf(stderr, "Invalid number of passes: %d\n", options.session_params.passes); + else if(options.session_params.samples < 0) { + fprintf(stderr, "Invalid number of samples: %d\n", options.session_params.samples); exit(EXIT_FAILURE); } else if(options.filepath == "") { diff --git a/intern/cycles/app/cycles_xml.cpp b/intern/cycles/app/cycles_xml.cpp index 7c3fb0b3625..c7580642c43 100644 --- a/intern/cycles/app/cycles_xml.cpp +++ b/intern/cycles/app/cycles_xml.cpp @@ -272,7 +272,7 @@ static void xml_read_camera(const XMLReadState& state, pugi::xml_node node) xml_read_float(&cam->nearclip, node, "nearclip"); xml_read_float(&cam->farclip, node, "farclip"); - xml_read_float(&cam->lensradius, node, "lensradius"); // 0.5*focallength/fstop + xml_read_float(&cam->aperturesize, node, "aperturesize"); // 0.5*focallength/fstop xml_read_float(&cam->focaldistance, node, "focaldistance"); xml_read_float(&cam->shutteropen, node, "shutteropen"); xml_read_float(&cam->shutterclose, node, "shutterclose"); diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index 5d90223032f..89c2829175c 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -19,6 +19,8 @@ import bpy from bpy.props import * +import math + from cycles import enums class CyclesRenderSettings(bpy.types.PropertyGroup): @@ -35,9 +37,9 @@ class CyclesRenderSettings(bpy.types.PropertyGroup): cls.shading_system = EnumProperty(name="Shading System", description="Shading system to use for rendering", items=enums.shading_systems, default="GPU_COMPATIBLE") - cls.passes = IntProperty(name="Passes", description="Number of passes to render", + cls.samples = IntProperty(name="Samples", description="Number of samples to render for each pixel", default=10, min=1, max=2147483647) - cls.preview_passes = IntProperty(name="Preview Passes", description="Number of passes to render in the viewport, unlimited if 0", + cls.preview_samples = IntProperty(name="Preview Samples", description="Number of samples to render in the viewport, unlimited if 0", default=0, min=0, max=2147483647) cls.preview_pause = BoolProperty(name="Pause Preview", description="Pause all viewport preview renders", default=False) @@ -99,8 +101,12 @@ class CyclesCameraSettings(bpy.types.PropertyGroup): def register(cls): bpy.types.Camera.cycles = PointerProperty(type=cls, name="Cycles Camera Settings", description="Cycles camera settings") - cls.lens_radius = FloatProperty(name="Lens radius", description="Lens radius for depth of field", + cls.aperture_size = FloatProperty(name="Aperture Size", description="Radius of the aperture for depth of field", default=0.0, min=0.0, max=10.0) + cls.aperture_blades = IntProperty(name="Aperture Blades", description="Number of blades in aperture for polygonal bokeh (need 3 or more)", + default=0, min=0, max=100) + cls.aperture_rotation = FloatProperty(name="Aperture Rotation", description="Rotation of blades in aperture", + default=0, soft_min=-math.pi, soft_max=math.pi, subtype='ANGLE') @classmethod def unregister(cls): diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 992a698bbdd..86d1f19d096 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -59,9 +59,9 @@ class CyclesRender_PT_integrator(CyclesButtonsPanel, Panel): col = split.column() sub = col.column(align=True) - sub.label(text="Passes:") - sub.prop(cscene, "passes", text="Render") - sub.prop(cscene, "preview_passes", text="Preview") + sub.label(text="Samples:") + sub.prop(cscene, "samples", text="Render") + sub.prop(cscene, "preview_samples", text="Preview") sub = col.column(align=True) sub.label("Tranparency:") @@ -194,21 +194,38 @@ class Cycles_PT_post_processing(CyclesButtonsPanel, Panel): col = split.column() col.prop(rd, "dither_intensity", text="Dither", slider=True) -class Cycles_PT_camera(CyclesButtonsPanel, Panel): - bl_label = "Cycles" +class CyclesCamera_PT_dof(CyclesButtonsPanel, Panel): + bl_label = "Depth of Field" bl_context = "data" @classmethod def poll(cls, context): - return context.camera + return context.camera and CyclesButtonsPanel.poll(context) def draw(self, context): layout = self.layout - camera = context.camera - ccamera = camera.cycles + cam = context.camera + ccam = cam.cycles - layout.prop(ccamera, "lens_radius") + split = layout.split() + + col = split.column() + col.label("Focus:") + col.prop(cam, "dof_object", text="") + + sub = col.row() + sub.active = cam.dof_object is None + sub.prop(cam, "dof_distance", text="Distance") + + col = split.column() + + col.label("Aperture:") + col.prop(ccam, "aperture_size", text="Size") + + sub = col.column(align=True) + sub.prop(ccam, "aperture_blades", text="Blades") + sub.prop(ccam, "aperture_rotation", text="Rotation") class Cycles_PT_context_material(CyclesButtonsPanel, Panel): bl_label = "Surface" @@ -550,7 +567,7 @@ class CyclesTexture_PT_color(CyclesButtonsPanel, Panel): layout = self.layout layout.label("Color modification options go here."); layout.label("Ramp, brightness, contrast, saturation.") - + def draw_device(self, context): scene = context.scene layout = self.layout diff --git a/intern/cycles/blender/blender_camera.cpp b/intern/cycles/blender/blender_camera.cpp index 530193247ae..e3b0fbd0a25 100644 --- a/intern/cycles/blender/blender_camera.cpp +++ b/intern/cycles/blender/blender_camera.cpp @@ -35,7 +35,10 @@ struct BlenderCamera { float ortho_scale; float lens; - float lensradius; + + float aperturesize; + uint apertureblades; + float aperturerotation; float focaldistance; float2 shift; @@ -90,7 +93,9 @@ static void blender_camera_from_object(BlenderCamera *bcam, BL::Object b_ob) bcam->ortho_scale = b_camera.ortho_scale(); bcam->lens = b_camera.lens(); - bcam->lensradius = RNA_float_get(&ccamera, "lens_radius"); + bcam->aperturesize = RNA_float_get(&ccamera, "aperture_size"); + bcam->apertureblades = RNA_int_get(&ccamera, "aperture_blades"); + bcam->aperturerotation = RNA_float_get(&ccamera, "aperture_rotation"); bcam->focaldistance = blender_camera_focal_distance(b_ob, b_camera); bcam->shift.x = b_camera.shift_x(); @@ -162,7 +167,9 @@ static void blender_camera_sync(Camera *cam, BlenderCamera *bcam, int width, int /* perspective */ cam->fov = 2.0f*atan(16.0f/bcam->lens/aspectratio); cam->focaldistance = bcam->focaldistance; - cam->lensradius = bcam->lensradius; + cam->aperturesize = bcam->aperturesize; + cam->blades = bcam->apertureblades; + cam->bladesrotation = bcam->aperturerotation; /* transform, note the blender camera points along the negative z-axis */ cam->matrix = bcam->matrix * transform_scale(1.0f, 1.0f, -1.0f); diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp index 62721b7cf10..c6f016b7971 100644 --- a/intern/cycles/blender/blender_session.cpp +++ b/intern/cycles/blender/blender_session.cpp @@ -96,7 +96,7 @@ void BlenderSession::create_session() session->set_pause(BlenderSync::get_session_pause(b_scene, background)); /* start rendering */ - session->reset(width, height, session_params.passes); + session->reset(width, height, session_params.samples); session->start(); } @@ -122,11 +122,11 @@ void BlenderSession::write_render_result() /* get result */ RenderBuffers *buffers = session->buffers; float exposure = scene->film->exposure; - double total_time, pass_time; - int pass; - session->progress.get_pass(pass, total_time, pass_time); + double total_time, sample_time; + int sample; + session->progress.get_sample(sample, total_time, sample_time); - float4 *pixels = buffers->copy_from_device(exposure, pass); + float4 *pixels = buffers->copy_from_device(exposure, sample); if(!pixels) return; @@ -158,8 +158,8 @@ void BlenderSession::synchronize() return; } - /* increase passes, but never decrease */ - session->set_passes(session_params.passes); + /* increase samples, but never decrease */ + session->set_samples(session_params.samples); session->set_pause(BlenderSync::get_session_pause(b_scene, background)); /* copy recalc flags, outside of mutex so we can decide to do the real @@ -185,7 +185,7 @@ void BlenderSession::synchronize() /* reset if needed */ if(scene->need_reset()) - session->reset(width, height, session_params.passes); + session->reset(width, height, session_params.samples); } bool BlenderSession::draw(int w, int h) @@ -221,7 +221,7 @@ bool BlenderSession::draw(int w, int h) /* reset if requested */ if(reset) { SessionParams session_params = BlenderSync::get_session_params(b_scene, background); - session->reset(width, height, session_params.passes); + session->reset(width, height, session_params.samples); } } @@ -239,11 +239,11 @@ void BlenderSession::get_status(string& status, string& substatus) void BlenderSession::get_progress(float& progress, double& total_time) { - double pass_time; - int pass; + double sample_time; + int sample; - session->progress.get_pass(pass, total_time, pass_time); - progress = ((float)pass/(float)session->params.passes); + session->progress.get_sample(sample, total_time, sample_time); + progress = ((float)sample/(float)session->params.samples); } void BlenderSession::update_status_progress() diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index 362c765b399..cba093edbad 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -190,11 +190,15 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * node = new FresnelNode(); break; } - case BL::ShaderNode::type_ADD_CLOSURE: { + case BL::ShaderNode::type_BLEND_WEIGHT: { + node = new BlendWeightNode(); + break; + } + case BL::ShaderNode::type_ADD_SHADER: { node = new AddClosureNode(); break; } - case BL::ShaderNode::type_MIX_CLOSURE: { + case BL::ShaderNode::type_MIX_SHADER: { node = new MixClosureNode(); break; } @@ -402,6 +406,20 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * return node; } +static const char *node_socket_map_name(const char *name) +{ + if(strstr(name, "Shader")) { + if(strcmp(name, "Shader") == 0) + return "Closure"; + if(strcmp(name, "Shader1") == 0) + return "Closure1"; + if(strcmp(name, "Shader2") == 0) + return "Closure2"; + } + + return name; +} + static void add_nodes(BL::BlendData b_data, ShaderGraph *graph, BL::ShaderNodeTree b_ntree, BL::Node *b_group_node, PtrSockMap& sockets_map) { /* add nodes */ @@ -427,7 +445,7 @@ static void add_nodes(BL::BlendData b_data, ShaderGraph *graph, BL::ShaderNodeTr node_map[b_node->ptr.data] = node; for(b_node->inputs.begin(b_input); b_input != b_node->inputs.end(); ++b_input) { - ShaderInput *input = node->input(b_input->name().c_str()); + ShaderInput *input = node->input(node_socket_map_name(b_input->name().c_str())); BL::NodeSocket sock(get_node_input(b_group_node, *b_node, b_input->name())); assert(input); @@ -522,7 +540,7 @@ static void add_nodes(BL::BlendData b_data, ShaderGraph *graph, BL::ShaderNodeTr /* in case of groups there may not actually be a node inside the group that the group socket connects to, so from_node or to_node may be NULL */ if(from_node && to_node) - graph->connect(from_node->output(from_name.c_str()), to_node->input(to_name.c_str())); + graph->connect(from_node->output(node_socket_map_name(from_name.c_str())), to_node->input(node_socket_map_name(to_name.c_str()))); } } diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index b9d35a02a78..9bb7cb45e35 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -185,13 +185,17 @@ void BlenderSync::sync_render_layer(BL::SpaceView3D b_v3d) else { BL::RenderSettings r = b_scene.render(); BL::RenderSettings::layers_iterator b_rlay; + bool first = true; for(r.layers.begin(b_rlay); b_rlay != r.layers.end(); ++b_rlay) { - render_layer.scene_layer = get_layer(b_scene.layers()); - render_layer.layer = get_layer(b_rlay->layers()); - render_layer.material_override = b_rlay->material_override(); + /* single layer for now */ + if(first) { + render_layer.scene_layer = get_layer(b_scene.layers()); + render_layer.layer = get_layer(b_rlay->layers()); + render_layer.material_override = b_rlay->material_override(); - break; /* single layer for now */ + first = false; + } } } } @@ -255,14 +259,14 @@ SessionParams BlenderSync::get_session_params(BL::Scene b_scene, bool background /* Background */ params.background = background; - /* passes */ + /* samples */ if(background) { - params.passes = get_int(cscene, "passes"); + params.samples = get_int(cscene, "samples"); } else { - params.passes = get_int(cscene, "preview_passes"); - if(params.passes == 0) - params.passes = INT_MAX; + params.samples = get_int(cscene, "preview_samples"); + if(params.samples == 0) + params.samples = INT_MAX; } /* other parameters */ diff --git a/intern/cycles/device/device.cpp b/intern/cycles/device/device.cpp index 6ba50154dac..f43ccffe461 100644 --- a/intern/cycles/device/device.cpp +++ b/intern/cycles/device/device.cpp @@ -36,7 +36,7 @@ CCL_NAMESPACE_BEGIN DeviceTask::DeviceTask(Type type_) : type(type_), x(0), y(0), w(0), h(0), rng_state(0), rgba(0), buffer(0), - pass(0), resolution(0), + sample(0), resolution(0), displace_input(0), displace_offset(0), displace_x(0), displace_w(0) { } diff --git a/intern/cycles/device/device.h b/intern/cycles/device/device.h index aa9cb9eb8f4..0b3c66dbb2c 100644 --- a/intern/cycles/device/device.h +++ b/intern/cycles/device/device.h @@ -58,7 +58,7 @@ public: device_ptr rng_state; device_ptr rgba; device_ptr buffer; - int pass; + int sample; int resolution; device_ptr displace_input; diff --git a/intern/cycles/device/device_cpu.cpp b/intern/cycles/device/device_cpu.cpp index 3a3ae685395..2409cc65998 100644 --- a/intern/cycles/device/device_cpu.cpp +++ b/intern/cycles/device/device_cpu.cpp @@ -152,7 +152,7 @@ public: for(int y = task.y; y < task.y + task.h; y++) { for(int x = task.x; x < task.x + task.w; x++) - kernel_cpu_path_trace(kg, (float4*)task.buffer, (unsigned int*)task.rng_state, task.pass, x, y); + kernel_cpu_path_trace(kg, (float4*)task.buffer, (unsigned int*)task.rng_state, task.sample, x, y); if(tasks.worker_cancel()) break; @@ -168,7 +168,7 @@ public: { for(int y = task.y; y < task.y + task.h; y++) { for(int x = task.x; x < task.x + task.w; x++) - kernel_cpu_tonemap(kg, (uchar4*)task.rgba, (float4*)task.buffer, task.pass, task.resolution, x, y); + kernel_cpu_tonemap(kg, (uchar4*)task.rgba, (float4*)task.buffer, task.sample, task.resolution, x, y); } } diff --git a/intern/cycles/device/device_cuda.cpp b/intern/cycles/device/device_cuda.cpp index 7fc0afce1ac..3773dda7631 100644 --- a/intern/cycles/device/device_cuda.cpp +++ b/intern/cycles/device/device_cuda.cpp @@ -455,11 +455,11 @@ public: cuda_assert(cuParamSetv(cuPathTrace, offset, &d_rng_state, sizeof(d_rng_state))) offset += sizeof(d_rng_state); - int pass = task.pass; - offset = cuda_align_up(offset, __alignof(pass)); + int sample = task.sample; + offset = cuda_align_up(offset, __alignof(sample)); - cuda_assert(cuParamSeti(cuPathTrace, offset, task.pass)) - offset += sizeof(task.pass); + cuda_assert(cuParamSeti(cuPathTrace, offset, task.sample)) + offset += sizeof(task.sample); cuda_assert(cuParamSeti(cuPathTrace, offset, task.x)) offset += sizeof(task.x); @@ -513,11 +513,11 @@ public: cuda_assert(cuParamSetv(cuFilmConvert, offset, &d_buffer, sizeof(d_buffer))) offset += sizeof(d_buffer); - int pass = task.pass; - offset = cuda_align_up(offset, __alignof(pass)); + int sample = task.sample; + offset = cuda_align_up(offset, __alignof(sample)); - cuda_assert(cuParamSeti(cuFilmConvert, offset, task.pass)) - offset += sizeof(task.pass); + cuda_assert(cuParamSeti(cuFilmConvert, offset, task.sample)) + offset += sizeof(task.sample); cuda_assert(cuParamSeti(cuFilmConvert, offset, task.resolution)) offset += sizeof(task.resolution); diff --git a/intern/cycles/device/device_network.cpp b/intern/cycles/device/device_network.cpp index 0feba34f713..af7d90478cf 100644 --- a/intern/cycles/device/device_network.cpp +++ b/intern/cycles/device/device_network.cpp @@ -178,22 +178,22 @@ public: #endif } - void path_trace(int x, int y, int w, int h, device_ptr buffer, device_ptr rng_state, int pass) + void path_trace(int x, int y, int w, int h, device_ptr buffer, device_ptr rng_state, int sample) { #if 0 RPCSend snd(socket, "path_trace"); - snd.archive & x & y & w & h & buffer & rng_state & pass; + snd.archive & x & y & w & h & buffer & rng_state & sample; snd.write(); #endif } - void tonemap(int x, int y, int w, int h, device_ptr rgba, device_ptr buffer, int pass, int resolution) + void tonemap(int x, int y, int w, int h, device_ptr rgba, device_ptr buffer, int sample, int resolution) { #if 0 RPCSend snd(socket, "tonemap"); - snd.archive & x & y & w & h & rgba & buffer & pass & resolution; + snd.archive & x & y & w & h & rgba & buffer & sample & resolution; snd.write(); #endif } @@ -201,9 +201,9 @@ public: void task_add(DeviceTask& task) { if(task.type == DeviceTask::TONEMAP) - tonemap(task.x, task.y, task.w, task.h, task.rgba, task.buffer, task.pass, task.resolution); + tonemap(task.x, task.y, task.w, task.h, task.rgba, task.buffer, task.sample, task.resolution); else if(task.type == DeviceTask::PATH_TRACE) - path_trace(task.x, task.y, task.w, task.h, task.buffer, task.rng_state, task.pass); + path_trace(task.x, task.y, task.w, task.h, task.buffer, task.rng_state, task.sample); } void task_wait() @@ -355,20 +355,20 @@ void Device::server_run() #if 0 device_ptr buffer, rng_state; int x, y, w, h; - int pass; + int sample; - *rcv.archive & x & y & w & h & buffer & rng_state & pass; - path_trace(x, y, w, h, buffer, rng_state, pass); + *rcv.archive & x & y & w & h & buffer & rng_state & sample; + path_trace(x, y, w, h, buffer, rng_state, sample); #endif } else if(rcv.name == "tonemap") { #if 0 device_ptr rgba, buffer; int x, y, w, h; - int pass, resolution; + int sample, resolution; - *rcv.archive & x & y & w & h & rgba & buffer & pass & resolution; - tonemap(x, y, w, h, rgba, buffer, pass, resolution); + *rcv.archive & x & y & w & h & rgba & buffer & sample & resolution; + tonemap(x, y, w, h, rgba, buffer, sample, resolution); #endif } } diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp index a41238ffe09..a87b12786b1 100644 --- a/intern/cycles/device/device_opencl.cpp +++ b/intern/cycles/device/device_opencl.cpp @@ -502,9 +502,9 @@ public: cl_int d_y = task.y; cl_int d_w = task.w; cl_int d_h = task.h; - cl_int d_pass = task.pass; + cl_int d_sample = task.sample; - /* pass arguments */ + /* sample arguments */ int narg = 0; ciErr = 0; @@ -516,7 +516,7 @@ public: ciErr |= set_kernel_arg_mem(ckPathTraceKernel, &narg, #name); #include "kernel_textures.h" - ciErr |= clSetKernelArg(ckPathTraceKernel, narg++, sizeof(d_pass), (void*)&d_pass); + ciErr |= clSetKernelArg(ckPathTraceKernel, narg++, sizeof(d_sample), (void*)&d_sample); ciErr |= clSetKernelArg(ckPathTraceKernel, narg++, sizeof(d_x), (void*)&d_x); ciErr |= clSetKernelArg(ckPathTraceKernel, narg++, sizeof(d_y), (void*)&d_y); ciErr |= clSetKernelArg(ckPathTraceKernel, narg++, sizeof(d_w), (void*)&d_w); @@ -575,10 +575,10 @@ public: cl_int d_y = task.y; cl_int d_w = task.w; cl_int d_h = task.h; - cl_int d_pass = task.pass; + cl_int d_sample = task.sample; cl_int d_resolution = task.resolution; - /* pass arguments */ + /* sample arguments */ int narg = 0; ciErr = 0; @@ -590,7 +590,7 @@ public: ciErr |= set_kernel_arg_mem(ckFilmConvertKernel, &narg, #name); #include "kernel_textures.h" - ciErr |= clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_pass), (void*)&d_pass); + ciErr |= clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_sample), (void*)&d_sample); ciErr |= clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_resolution), (void*)&d_resolution); ciErr |= clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_x), (void*)&d_x); ciErr |= clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_y), (void*)&d_y); diff --git a/intern/cycles/kernel/kernel.cl b/intern/cycles/kernel/kernel.cl index 007a5f6de6a..48bee8eef97 100644 --- a/intern/cycles/kernel/kernel.cl +++ b/intern/cycles/kernel/kernel.cl @@ -37,7 +37,7 @@ __kernel void kernel_ocl_path_trace( int name##_width, #include "kernel_textures.h" - int pass, + int sample, int sx, int sy, int sw, int sh) { KernelGlobals kglobals, *kg = &kglobals; @@ -53,7 +53,7 @@ __kernel void kernel_ocl_path_trace( int y = sy + get_global_id(1); if(x < sx + sw && y < sy + sh) - kernel_path_trace(kg, buffer, rng_state, pass, x, y); + kernel_path_trace(kg, buffer, rng_state, sample, x, y); } __kernel void kernel_ocl_tonemap( @@ -66,7 +66,7 @@ __kernel void kernel_ocl_tonemap( int name##_width, #include "kernel_textures.h" - int pass, int resolution, + int sample, int resolution, int sx, int sy, int sw, int sh) { KernelGlobals kglobals, *kg = &kglobals; @@ -82,7 +82,7 @@ __kernel void kernel_ocl_tonemap( int y = sy + get_global_id(1); if(x < sx + sw && y < sy + sh) - kernel_film_tonemap(kg, rgba, buffer, pass, resolution, x, y); + kernel_film_tonemap(kg, rgba, buffer, sample, resolution, x, y); } /*__kernel void kernel_ocl_displace(__global uint4 *input, __global float3 *offset, int sx) diff --git a/intern/cycles/kernel/kernel.cpp b/intern/cycles/kernel/kernel.cpp index 01682d11f33..7e5fa25c662 100644 --- a/intern/cycles/kernel/kernel.cpp +++ b/intern/cycles/kernel/kernel.cpp @@ -269,16 +269,16 @@ void kernel_tex_copy(KernelGlobals *kg, const char *name, device_ptr mem, size_t /* Path Tracing */ -void kernel_cpu_path_trace(KernelGlobals *kg, float4 *buffer, unsigned int *rng_state, int pass, int x, int y) +void kernel_cpu_path_trace(KernelGlobals *kg, float4 *buffer, unsigned int *rng_state, int sample, int x, int y) { - kernel_path_trace(kg, buffer, rng_state, pass, x, y); + kernel_path_trace(kg, buffer, rng_state, sample, x, y); } /* Tonemapping */ -void kernel_cpu_tonemap(KernelGlobals *kg, uchar4 *rgba, float4 *buffer, int pass, int resolution, int x, int y) +void kernel_cpu_tonemap(KernelGlobals *kg, uchar4 *rgba, float4 *buffer, int sample, int resolution, int x, int y) { - kernel_film_tonemap(kg, rgba, buffer, pass, resolution, x, y); + kernel_film_tonemap(kg, rgba, buffer, sample, resolution, x, y); } /* Displacement */ diff --git a/intern/cycles/kernel/kernel.cu b/intern/cycles/kernel/kernel.cu index 5e5b445ac2c..75415a00b00 100644 --- a/intern/cycles/kernel/kernel.cu +++ b/intern/cycles/kernel/kernel.cu @@ -26,22 +26,22 @@ #include "kernel_path.h" #include "kernel_displace.h" -extern "C" __global__ void kernel_cuda_path_trace(float4 *buffer, uint *rng_state, int pass, int sx, int sy, int sw, int sh) +extern "C" __global__ void kernel_cuda_path_trace(float4 *buffer, uint *rng_state, int sample, int sx, int sy, int sw, int sh) { int x = sx + blockDim.x*blockIdx.x + threadIdx.x; int y = sy + blockDim.y*blockIdx.y + threadIdx.y; if(x < sx + sw && y < sy + sh) - kernel_path_trace(NULL, buffer, rng_state, pass, x, y); + kernel_path_trace(NULL, buffer, rng_state, sample, x, y); } -extern "C" __global__ void kernel_cuda_tonemap(uchar4 *rgba, float4 *buffer, int pass, int resolution, int sx, int sy, int sw, int sh) +extern "C" __global__ void kernel_cuda_tonemap(uchar4 *rgba, float4 *buffer, int sample, int resolution, int sx, int sy, int sw, int sh) { int x = sx + blockDim.x*blockIdx.x + threadIdx.x; int y = sy + blockDim.y*blockIdx.y + threadIdx.y; if(x < sx + sw && y < sy + sh) - kernel_film_tonemap(NULL, rgba, buffer, pass, resolution, x, y); + kernel_film_tonemap(NULL, rgba, buffer, sample, resolution, x, y); } extern "C" __global__ void kernel_cuda_displace(uint4 *input, float3 *offset, int sx) diff --git a/intern/cycles/kernel/kernel.h b/intern/cycles/kernel/kernel.h index 2bab585c6e6..7f60730e8bf 100644 --- a/intern/cycles/kernel/kernel.h +++ b/intern/cycles/kernel/kernel.h @@ -36,8 +36,8 @@ bool kernel_osl_use(KernelGlobals *kg); void kernel_const_copy(KernelGlobals *kg, const char *name, void *host, size_t size); void kernel_tex_copy(KernelGlobals *kg, const char *name, device_ptr mem, size_t width, size_t height); -void kernel_cpu_path_trace(KernelGlobals *kg, float4 *buffer, unsigned int *rng_state, int pass, int x, int y); -void kernel_cpu_tonemap(KernelGlobals *kg, uchar4 *rgba, float4 *buffer, int pass, int resolution, int x, int y); +void kernel_cpu_path_trace(KernelGlobals *kg, float4 *buffer, unsigned int *rng_state, int sample, int x, int y); +void kernel_cpu_tonemap(KernelGlobals *kg, uchar4 *rgba, float4 *buffer, int sample, int resolution, int x, int y); void kernel_cpu_displace(KernelGlobals *kg, uint4 *input, float3 *offset, int i); diff --git a/intern/cycles/kernel/kernel_camera.h b/intern/cycles/kernel/kernel_camera.h index 1f93394e078..c2828c20eee 100644 --- a/intern/cycles/kernel/kernel_camera.h +++ b/intern/cycles/kernel/kernel_camera.h @@ -20,6 +20,21 @@ CCL_NAMESPACE_BEGIN /* Perspective Camera */ +__device float2 camera_sample_aperture(KernelGlobals *kg, float u, float v) +{ + float blades = kernel_data.cam.blades; + + if(blades == 0.0f) { + /* sample disk */ + return concentric_sample_disk(u, v); + } + else { + /* sample polygon */ + float rotation = kernel_data.cam.bladesrotation; + return regular_polygon_sample(blades, rotation, u, v); + } +} + __device void camera_sample_perspective(KernelGlobals *kg, float raster_x, float raster_y, float lens_u, float lens_v, Ray *ray) { /* create ray form raster position */ @@ -30,14 +45,11 @@ __device void camera_sample_perspective(KernelGlobals *kg, float raster_x, float ray->D = Pcamera; /* modify ray for depth of field */ - float lensradius = kernel_data.cam.lensradius; + float aperturesize = kernel_data.cam.aperturesize; - if(lensradius > 0.0f) { - /* sample point on lens */ - float2 lensuv; - - lensuv = concentric_sample_disk(lens_u, lens_v); - lensuv *= lensradius; + if(aperturesize > 0.0f) { + /* sample point on aperture */ + float2 lensuv = camera_sample_aperture(kg, lens_u, lens_v)*aperturesize; /* compute point on plane of focus */ float ft = kernel_data.cam.focaldistance/ray->D.z; diff --git a/intern/cycles/kernel/kernel_film.h b/intern/cycles/kernel/kernel_film.h index f6351a73295..4373701452e 100644 --- a/intern/cycles/kernel/kernel_film.h +++ b/intern/cycles/kernel/kernel_film.h @@ -18,9 +18,9 @@ CCL_NAMESPACE_BEGIN -__device float4 film_map(KernelGlobals *kg, float4 irradiance, int pass) +__device float4 film_map(KernelGlobals *kg, float4 irradiance, int sample) { - float scale = 1.0f/(float)(pass+1); + float scale = 1.0f/(float)(sample+1); float exposure = kernel_data.film.exposure; float4 result = irradiance*scale; @@ -48,13 +48,13 @@ __device uchar4 film_float_to_byte(float4 color) return result; } -__device void kernel_film_tonemap(KernelGlobals *kg, __global uchar4 *rgba, __global float4 *buffer, int pass, int resolution, int x, int y) +__device void kernel_film_tonemap(KernelGlobals *kg, __global uchar4 *rgba, __global float4 *buffer, int sample, int resolution, int x, int y) { int w = kernel_data.cam.width; int index = x + y*w; float4 irradiance = buffer[index]; - float4 float_result = film_map(kg, irradiance, pass); + float4 float_result = film_map(kg, irradiance, sample); uchar4 byte_result = film_float_to_byte(float_result); rgba[index] = byte_result; diff --git a/intern/cycles/kernel/kernel_montecarlo.h b/intern/cycles/kernel/kernel_montecarlo.h index 6f3a3dd3421..5d9afb6418f 100644 --- a/intern/cycles/kernel/kernel_montecarlo.h +++ b/intern/cycles/kernel/kernel_montecarlo.h @@ -172,6 +172,30 @@ __device float2 concentric_sample_disk(float u1, float u2) return make_float2(r * cosf(theta), r * sinf(theta)); } +__device float2 regular_polygon_sample(float corners, float rotation, float u, float v) +{ + /* sample corner number and reuse u */ + float corner = floorf(u*corners); + u = u*corners - corner; + + /* uniform sampled triangle weights */ + u = sqrtf(u); + v = v*u; + u = 1.0f - u; + + /* point in triangle */ + float angle = M_PI_F/corners; + float2 p = make_float2((u + v)*cosf(angle), (u - v)*sinf(angle)); + + /* rotate */ + rotation += corner*2.0f*angle; + + float cr = cosf(rotation); + float sr = sinf(rotation); + + return make_float2(cr*p.x - sr*p.y, sr*p.x + cr*p.y); +} + /* Spherical coordinates <-> Cartesion direction */ __device float2 direction_to_spherical(float3 dir) diff --git a/intern/cycles/kernel/kernel_path.h b/intern/cycles/kernel/kernel_path.h index 815eb4a1d53..d6977c24c53 100644 --- a/intern/cycles/kernel/kernel_path.h +++ b/intern/cycles/kernel/kernel_path.h @@ -34,22 +34,22 @@ CCL_NAMESPACE_BEGIN #ifdef __MODIFY_TP__ -__device float3 path_terminate_modified_throughput(KernelGlobals *kg, __global float3 *buffer, int x, int y, int pass) +__device float3 path_terminate_modified_throughput(KernelGlobals *kg, __global float3 *buffer, int x, int y, int sample) { /* modify throughput to influence path termination probability, to avoid darker regions receiving fewer samples than lighter regions. also RGB are weighted differently. proper validation still remains to be done. */ const float3 weights = make_float3(1.0f, 1.33f, 0.66f); const float3 one = make_float3(1.0f, 1.0f, 1.0f); - const int minpass = 5; + const int minsample = 5; const float minL = 0.1f; - if(pass >= minpass) { + if(sample >= minsample) { float3 L = buffer[x + y*kernel_data.cam.width]; float3 Lmin = make_float3(minL, minL, minL); - float correct = (float)(pass+1)/(float)pass; + float correct = (float)(sample+1)/(float)sample; - L = film_map(L*correct, pass); + L = film_map(L*correct, sample); return weights/clamp(L, Lmin, one); } @@ -242,7 +242,7 @@ __device_inline bool shadow_blocked(KernelGlobals *kg, PathState *state, Ray *ra return result; } -__device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray ray, float3 throughput) +__device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int sample, Ray ray, float3 throughput) { /* initialize */ float3 L = make_float3(0.0f, 0.0f, 0.0f); @@ -284,7 +284,7 @@ __device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray /* setup shading */ ShaderData sd; shader_setup_from_ray(kg, &sd, &isect, &ray); - float rbsdf = path_rng(kg, rng, pass, rng_offset + PRNG_BSDF); + float rbsdf = path_rng(kg, rng, sample, rng_offset + PRNG_BSDF); shader_eval_surface(kg, &sd, rbsdf, state.flag); #ifdef __HOLDOUT__ @@ -308,7 +308,7 @@ __device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray mainly due to the mixed in MIS that we use. gives too many unneeded shader evaluations, only need emission if we are going to terminate */ float probability = path_state_terminate_probability(kg, &state, throughput); - float terminate = path_rng(kg, rng, pass, rng_offset + PRNG_TERMINATE); + float terminate = path_rng(kg, rng, sample, rng_offset + PRNG_TERMINATE); if(terminate >= probability) break; @@ -319,10 +319,10 @@ __device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray if(kernel_data.integrator.use_emission) { /* sample illumination from lights to find path contribution */ if(sd.flag & SD_BSDF_HAS_EVAL) { - float light_t = path_rng(kg, rng, pass, rng_offset + PRNG_LIGHT); - float light_o = path_rng(kg, rng, pass, rng_offset + PRNG_LIGHT_F); - float light_u = path_rng(kg, rng, pass, rng_offset + PRNG_LIGHT_U); - float light_v = path_rng(kg, rng, pass, rng_offset + PRNG_LIGHT_V); + float light_t = path_rng(kg, rng, sample, rng_offset + PRNG_LIGHT); + float light_o = path_rng(kg, rng, sample, rng_offset + PRNG_LIGHT_F); + float light_u = path_rng(kg, rng, sample, rng_offset + PRNG_LIGHT_U); + float light_v = path_rng(kg, rng, sample, rng_offset + PRNG_LIGHT_V); Ray light_ray; float3 light_L; @@ -356,8 +356,8 @@ __device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray float3 bsdf_eval; float3 bsdf_omega_in; differential3 bsdf_domega_in; - float bsdf_u = path_rng(kg, rng, pass, rng_offset + PRNG_BSDF_U); - float bsdf_v = path_rng(kg, rng, pass, rng_offset + PRNG_BSDF_V); + float bsdf_u = path_rng(kg, rng, sample, rng_offset + PRNG_BSDF_U); + float bsdf_v = path_rng(kg, rng, sample, rng_offset + PRNG_BSDF_V); int label; label = shader_bsdf_sample(kg, &sd, bsdf_u, bsdf_v, &bsdf_eval, @@ -392,7 +392,7 @@ __device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int pass, Ray return make_float4(L.x, L.y, L.z, 1.0f - Ltransparent); } -__device void kernel_path_trace(KernelGlobals *kg, __global float4 *buffer, __global uint *rng_state, int pass, int x, int y) +__device void kernel_path_trace(KernelGlobals *kg, __global float4 *buffer, __global uint *rng_state, int sample, int x, int y) { /* initialize random numbers */ RNG rng; @@ -400,29 +400,29 @@ __device void kernel_path_trace(KernelGlobals *kg, __global float4 *buffer, __gl float filter_u; float filter_v; - path_rng_init(kg, rng_state, pass, &rng, x, y, &filter_u, &filter_v); + path_rng_init(kg, rng_state, sample, &rng, x, y, &filter_u, &filter_v); /* sample camera ray */ Ray ray; - float lens_u = path_rng(kg, &rng, pass, PRNG_LENS_U); - float lens_v = path_rng(kg, &rng, pass, PRNG_LENS_V); + float lens_u = path_rng(kg, &rng, sample, PRNG_LENS_U); + float lens_v = path_rng(kg, &rng, sample, PRNG_LENS_V); camera_sample(kg, x, y, filter_u, filter_v, lens_u, lens_v, &ray); /* integrate */ #ifdef __MODIFY_TP__ - float3 throughput = path_terminate_modified_throughput(kg, buffer, x, y, pass); - float4 L = kernel_path_integrate(kg, &rng, pass, ray, throughput)/throughput; + float3 throughput = path_terminate_modified_throughput(kg, buffer, x, y, sample); + float4 L = kernel_path_integrate(kg, &rng, sample, ray, throughput)/throughput; #else float3 throughput = make_float3(1.0f, 1.0f, 1.0f); - float4 L = kernel_path_integrate(kg, &rng, pass, ray, throughput); + float4 L = kernel_path_integrate(kg, &rng, sample, ray, throughput); #endif /* accumulate result in output buffer */ int index = x + y*kernel_data.cam.width; - if(pass == 0) + if(sample == 0) buffer[index] = L; else buffer[index] += L; diff --git a/intern/cycles/kernel/kernel_random.h b/intern/cycles/kernel/kernel_random.h index 6c2daafb061..13cf4df8b8c 100644 --- a/intern/cycles/kernel/kernel_random.h +++ b/intern/cycles/kernel/kernel_random.h @@ -95,7 +95,7 @@ __device uint sobol_lookup(const uint m, const uint frame, const uint ex, const return index; } -__device_inline float path_rng(KernelGlobals *kg, RNG *rng, int pass, int dimension) +__device_inline float path_rng(KernelGlobals *kg, RNG *rng, int sample, int dimension) { #ifdef __SOBOL_FULL_SCREEN__ uint result = sobol_dimension(kg, *rng, dimension); @@ -103,7 +103,7 @@ __device_inline float path_rng(KernelGlobals *kg, RNG *rng, int pass, int dimens return r; #else /* compute sobol sequence value using direction vectors */ - uint result = sobol_dimension(kg, pass, dimension); + uint result = sobol_dimension(kg, sample, dimension); float r = (float)result * (1.0f/(float)0xFFFFFFFF); /* Cranly-Patterson rotation using rng seed */ @@ -118,13 +118,13 @@ __device_inline float path_rng(KernelGlobals *kg, RNG *rng, int pass, int dimens #endif } -__device_inline void path_rng_init(KernelGlobals *kg, __global uint *rng_state, int pass, RNG *rng, int x, int y, float *fx, float *fy) +__device_inline void path_rng_init(KernelGlobals *kg, __global uint *rng_state, int sample, RNG *rng, int x, int y, float *fx, float *fy) { #ifdef __SOBOL_FULL_SCREEN__ uint px, py; uint bits = 16; /* limits us to 65536x65536 and 65536 samples */ uint size = 1 << bits; - uint frame = pass; + uint frame = sample; *rng = sobol_lookup(bits, frame, x, y, &px, &py); @@ -133,8 +133,8 @@ __device_inline void path_rng_init(KernelGlobals *kg, __global uint *rng_state, #else *rng = rng_state[x + y*kernel_data.cam.width]; - *fx = path_rng(kg, rng, pass, PRNG_FILTER_U); - *fy = path_rng(kg, rng, pass, PRNG_FILTER_V); + *fx = path_rng(kg, rng, sample, PRNG_FILTER_U); + *fy = path_rng(kg, rng, sample, PRNG_FILTER_V); #endif } @@ -147,25 +147,25 @@ __device void path_rng_end(KernelGlobals *kg, __global uint *rng_state, RNG rng, /* Linear Congruential Generator */ -__device float path_rng(KernelGlobals *kg, RNG *rng, int pass, int dimension) +__device float path_rng(KernelGlobals *kg, RNG *rng, int sample, int dimension) { /* implicit mod 2^32 */ *rng = (1103515245*(*rng) + 12345); return (float)*rng * (1.0f/(float)0xFFFFFFFF); } -__device void path_rng_init(KernelGlobals *kg, __global uint *rng_state, int pass, RNG *rng, int x, int y, float *fx, float *fy) +__device void path_rng_init(KernelGlobals *kg, __global uint *rng_state, int sample, RNG *rng, int x, int y, float *fx, float *fy) { /* load state */ *rng = rng_state[x + y*kernel_data.cam.width]; - *fx = path_rng(kg, rng, pass, PRNG_FILTER_U); - *fy = path_rng(kg, rng, pass, PRNG_FILTER_V); + *fx = path_rng(kg, rng, sample, PRNG_FILTER_U); + *fy = path_rng(kg, rng, sample, PRNG_FILTER_V); } __device void path_rng_end(KernelGlobals *kg, __global uint *rng_state, RNG rng, int x, int y) { - /* store state for next pass */ + /* store state for next sample */ rng_state[x + y*kernel_data.cam.width] = rng; } diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index d3012324739..8083da971ed 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -288,14 +288,6 @@ typedef struct KernelCamera { Transform cameratoworld; Transform rastertocamera; - /* depth of field */ - float lensradius; - float focaldistance; - - /* motion blur */ - float shutteropen; - float shutterclose; - /* differentials */ float3 dx; #ifndef WITH_OPENCL @@ -306,10 +298,19 @@ typedef struct KernelCamera { float pad2; #endif + /* depth of field */ + float aperturesize; + float blades; + float bladesrotation; + float focaldistance; + + /* motion blur */ + float shutteropen; + float shutterclose; + /* clipping */ float nearclip; float cliplength; - float pad3, pad4; /* more matrices */ Transform screentoworld; diff --git a/intern/cycles/kernel/osl/nodes/CMakeLists.txt b/intern/cycles/kernel/osl/nodes/CMakeLists.txt index 365cc42ad6b..7d37bb09d71 100644 --- a/intern/cycles/kernel/osl/nodes/CMakeLists.txt +++ b/intern/cycles/kernel/osl/nodes/CMakeLists.txt @@ -30,6 +30,7 @@ set(osl_sources node_mix.osl node_mix_closure.osl node_musgrave_texture.osl + node_blend_weight_texture.osl node_noise_texture.osl node_output_displacement.osl node_output_surface.osl diff --git a/intern/cycles/kernel/osl/nodes/node_blend_weight.osl b/intern/cycles/kernel/osl/nodes/node_blend_weight.osl new file mode 100644 index 00000000000..d834819ef3a --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_blend_weight.osl @@ -0,0 +1,42 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" +#include "node_fresnel.h" + +shader node_blend_weight( + float Blend = 0.3, + normal Normal = N, + output float Fresnel = 0.0, + output float Facing = 0.0) +{ + float f = max(1.0 - Blend, 1e-5); + Fresnel = fresnel_dielectric(I, Normal, backfacing()? f: 1.0/f); + + Facing = abs(dot(I, Normal)); + + if(Blend != 0.5) { + Blend = clamp(Blend, 0.0, 1.0); + Blend = (Blend < 0.5)? 2.0*Blend: 0.5/(1.0 - Blend); + + Facing = powf(Facing, Blend); + } + + Facing = 1.0 - Facing; +} + diff --git a/intern/cycles/kernel/osl/nodes/node_environment_texture.osl b/intern/cycles/kernel/osl/nodes/node_environment_texture.osl index 267db7bad2d..3ad806781eb 100644 --- a/intern/cycles/kernel/osl/nodes/node_environment_texture.osl +++ b/intern/cycles/kernel/osl/nodes/node_environment_texture.osl @@ -23,9 +23,10 @@ shader node_environment_texture( vector Vector = P, string filename = "", string color_space = "sRGB", - output color Color = color(0.0, 0.0, 0.0)) + output color Color = color(0.0, 0.0, 0.0), + output float Alpha = 1.0) { - Color = (color)environment(filename, Vector); + Color = (color)environment(filename, Vector, "alpha", Alpha); if(color_space == "sRGB") Color = color_srgb_to_scene_linear(Color); diff --git a/intern/cycles/kernel/osl/nodes/node_fresnel.osl b/intern/cycles/kernel/osl/nodes/node_fresnel.osl index ddc86db130f..3af4448b43f 100644 --- a/intern/cycles/kernel/osl/nodes/node_fresnel.osl +++ b/intern/cycles/kernel/osl/nodes/node_fresnel.osl @@ -20,11 +20,12 @@ #include "node_fresnel.h" shader node_fresnel( - float Fresnel = 0.3, + float IOR = 1.45, normal Normal = N, output float Fac = 0.0) { - float f = max(1.0 - Fresnel, 0.00001); - Fac = fresnel_dielectric(I, Normal, backfacing()? f: 1.0/f); + float f = max(IOR, 1.0 + 1e-5); + float eta = backfacing()? 1.0/f: f; + Fac = fresnel_dielectric(I, Normal, eta); } diff --git a/intern/cycles/kernel/osl/nodes/node_glass_bsdf.osl b/intern/cycles/kernel/osl/nodes/node_glass_bsdf.osl index af946048011..cc2104af56f 100644 --- a/intern/cycles/kernel/osl/nodes/node_glass_bsdf.osl +++ b/intern/cycles/kernel/osl/nodes/node_glass_bsdf.osl @@ -23,12 +23,12 @@ shader node_glass_bsdf( color Color = color(0.8, 0.8, 0.8), string distribution = "Sharp", float Roughness = 0.2, - float Fresnel = 0.3, + float IOR = 1.45, normal Normal = N, output closure color BSDF = diffuse(Normal)) { - float f = clamp(1.0 - Fresnel, 1e-5, 1.0 - 1e-5); - float eta = backfacing()? f: 1.0/f; + float f = max(IOR, 1.0 + 1e-5); + float eta = backfacing()? 1.0/f: f; float Fr = fresnel_dielectric(I, Normal, eta); if(distribution == "Sharp") diff --git a/intern/cycles/kernel/osl/nodes/node_glossy_bsdf.osl b/intern/cycles/kernel/osl/nodes/node_glossy_bsdf.osl index ca6bee74b38..aa446b66cfb 100644 --- a/intern/cycles/kernel/osl/nodes/node_glossy_bsdf.osl +++ b/intern/cycles/kernel/osl/nodes/node_glossy_bsdf.osl @@ -23,23 +23,15 @@ shader node_glossy_bsdf( color Color = color(0.8, 0.8, 0.8), string distribution = "Beckmann", float Roughness = 0.2, - float Fresnel = 1.0, normal Normal = N, output closure color BSDF = diffuse(Normal)) { - float Fr = 1.0; - - if(Fresnel < 1.0) { - float eta = 1.0/clamp(1.0 - Fresnel, 1e-5, 1.0 - 1e-5); - Fr = fresnel_dielectric(I, Normal, eta); - } - if(distribution == "Sharp") - BSDF = (Fr*Color)*reflection(Normal); + BSDF = Color*reflection(Normal); else if(distribution == "Beckmann") - BSDF = (Fr*Color)*microfacet_beckmann(Normal, Roughness); + BSDF = Color*microfacet_beckmann(Normal, Roughness); else if(distribution == "GGX") - BSDF = (Fr*Color)*microfacet_ggx(Normal, Roughness); + BSDF = Color*microfacet_ggx(Normal, Roughness); } diff --git a/intern/cycles/kernel/osl/nodes/node_image_texture.osl b/intern/cycles/kernel/osl/nodes/node_image_texture.osl index 85025db7c74..38126401d76 100644 --- a/intern/cycles/kernel/osl/nodes/node_image_texture.osl +++ b/intern/cycles/kernel/osl/nodes/node_image_texture.osl @@ -23,9 +23,10 @@ shader node_image_texture( point Vector = P, string filename = "", string color_space = "sRGB", - output color Color = color(0.0, 0.0, 0.0)) + output color Color = color(0.0, 0.0, 0.0), + output float Alpha = 1.0) { - Color = (color)texture(filename, Vector[0], 1.0-Vector[1], "wrap", "periodic"); + Color = (color)texture(filename, Vector[0], 1.0-Vector[1], "wrap", "periodic", "alpha", Alpha); if(color_space == "sRGB") Color = color_srgb_to_scene_linear(Color); diff --git a/intern/cycles/kernel/osl/nodes/node_velvet_bsdf.osl b/intern/cycles/kernel/osl/nodes/node_velvet_bsdf.osl index 2b6219f6325..7a336c148db 100644 --- a/intern/cycles/kernel/osl/nodes/node_velvet_bsdf.osl +++ b/intern/cycles/kernel/osl/nodes/node_velvet_bsdf.osl @@ -22,19 +22,11 @@ shader node_velvet_bsdf( color Color = color(0.8, 0.8, 0.8), float Sigma = 0.0, - float Fresnel = 0.3, normal Normal = N, output closure color BSDF = diffuse(Normal)) { - float Fr = 1.0; - - if(Fresnel < 1.0) { - float eta = 1.0/clamp(1.0 - Fresnel, 1e-5, 1.0 - 1e-5); - Fr = fresnel_dielectric(I, Normal, eta); - } - float sigma = clamp(Sigma, 0.0, 1.0); - BSDF = (Fr*Color)*ashikhmin_velvet(Normal, sigma); + BSDF = Color*ashikhmin_velvet(Normal, sigma); } diff --git a/intern/cycles/kernel/svm/svm.h b/intern/cycles/kernel/svm/svm.h index a5d95c1b394..65d92a91df9 100644 --- a/intern/cycles/kernel/svm/svm.h +++ b/intern/cycles/kernel/svm/svm.h @@ -282,6 +282,9 @@ __device_noinline void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderT case NODE_FRESNEL: svm_node_fresnel(sd, stack, node.y, node.z, node.w); break; + case NODE_BLEND_WEIGHT: + svm_node_blend_weight(sd, stack, node); + break; case NODE_SET_DISPLACEMENT: svm_node_set_displacement(sd, stack, node.y); break; diff --git a/intern/cycles/kernel/svm/svm_closure.h b/intern/cycles/kernel/svm/svm_closure.h index aaf2926f60d..68f91408f1f 100644 --- a/intern/cycles/kernel/svm/svm_closure.h +++ b/intern/cycles/kernel/svm/svm_closure.h @@ -102,23 +102,19 @@ __device void svm_node_closure_bsdf(KernelGlobals *kg, ShaderData *sd, float *st if(kernel_data.integrator.no_caustics && (path_flag & PATH_RAY_DIFFUSE)) break; #endif - ShaderClosure *sc = svm_node_closure_get(sd); svm_node_closure_set_mix_weight(sc, mix_weight); - /* index of refraction */ - float eta = clamp(1.0f-param2, 1e-5f, 1.0f - 1e-5f); - eta = 1.0f/eta; - - /* fresnel */ - float cosNO = dot(sd->N, sd->I); - float fresnel = fresnel_dielectric_cos(cosNO, eta); float roughness = param1; - sc->weight *= fresnel; - /* setup bsdf */ - svm_node_glossy_setup(sd, sc, type, eta, roughness, false); + if(type == CLOSURE_BSDF_REFLECTION_ID) + bsdf_reflection_setup(sd, sc); + else if(type == CLOSURE_BSDF_MICROFACET_BECKMANN_ID) + bsdf_microfacet_beckmann_setup(sd, sc, roughness, 1.0f, false); + else + bsdf_microfacet_ggx_setup(sd, sc, roughness, 1.0f, false); + break; } case CLOSURE_BSDF_REFRACTION_ID: @@ -128,10 +124,9 @@ __device void svm_node_closure_bsdf(KernelGlobals *kg, ShaderData *sd, float *st if(kernel_data.integrator.no_caustics && (path_flag & PATH_RAY_DIFFUSE)) break; #endif - /* index of refraction */ - float eta = clamp(1.0f-param2, 1e-5f, 1.0f - 1e-5f); - eta = (sd->flag & SD_BACKFACING)? eta: 1.0f/eta; + float eta = fmaxf(param2, 1.0f + 1e-5f); + eta = (sd->flag & SD_BACKFACING)? 1.0f/eta: eta; /* fresnel */ float cosNO = dot(sd->N, sd->I); @@ -173,7 +168,6 @@ __device void svm_node_closure_bsdf(KernelGlobals *kg, ShaderData *sd, float *st if(kernel_data.integrator.no_caustics && (path_flag & PATH_RAY_DIFFUSE)) break; #endif - ShaderClosure *sc = svm_node_closure_get(sd); svm_node_closure_set_mix_weight(sc, mix_weight); @@ -190,17 +184,6 @@ __device void svm_node_closure_bsdf(KernelGlobals *kg, ShaderData *sd, float *st /* sigma */ float sigma = clamp(param1, 0.0f, 1.0f); - - /* index of refraction */ - float eta = clamp(1.0f-param2, 1e-5f, 1.0f - 1e-5f); - eta = 1.0f/eta; - - /* fresnel */ - float cosNO = dot(sd->N, sd->I); - float fresnel = fresnel_dielectric_cos(cosNO, eta); - - sc->weight *= fresnel; - bsdf_ashikhmin_velvet_setup(sd, sc, sigma); break; } @@ -308,7 +291,8 @@ __device void svm_node_emission_weight(KernelGlobals *kg, ShaderData *sd, float uint strength_offset = node.z; uint total_power = node.w; - float3 weight = stack_load_float3(stack, color_offset)*stack_load_float(stack, strength_offset); + float strength = stack_load_float(stack, strength_offset); + float3 weight = stack_load_float3(stack, color_offset)*strength; if(total_power && sd->object != ~0) weight /= object_surface_area(kg, sd->object); diff --git a/intern/cycles/kernel/svm/svm_fresnel.h b/intern/cycles/kernel/svm/svm_fresnel.h index f6122fa3071..1b9d99506e3 100644 --- a/intern/cycles/kernel/svm/svm_fresnel.h +++ b/intern/cycles/kernel/svm/svm_fresnel.h @@ -20,12 +20,48 @@ CCL_NAMESPACE_BEGIN /* Fresnel Node */ -__device void svm_node_fresnel(ShaderData *sd, float *stack, uint fresnel_offset, uint fresnel_value, uint out_offset) +__device void svm_node_fresnel(ShaderData *sd, float *stack, uint ior_offset, uint ior_value, uint out_offset) { - float fresnel = (stack_valid(fresnel_offset))? stack_load_float(stack, fresnel_offset): __int_as_float(fresnel_value); - fresnel = fmaxf(1.0f - fresnel, 0.00001f); + float eta = (stack_valid(ior_offset))? stack_load_float(stack, ior_offset): __int_as_float(ior_value); + eta = fmaxf(eta, 1.0f + 1e-5f); + eta = (sd->flag & SD_BACKFACING)? 1.0f/eta: eta; - float f = fresnel_dielectric_cos(dot(sd->I, sd->N), (sd->flag & SD_BACKFACING)? fresnel: 1.0f/fresnel); + float f = fresnel_dielectric_cos(dot(sd->I, sd->N), eta); + + stack_store_float(stack, out_offset, f); +} + +/* Blend Weight Node */ + +__device void svm_node_blend_weight(ShaderData *sd, float *stack, uint4 node) +{ + uint blend_offset = node.y; + uint blend_value = node.z; + float blend = (stack_valid(blend_offset))? stack_load_float(stack, blend_offset): __int_as_float(blend_value); + + uint type, out_offset; + decode_node_uchar4(node.w, &type, &out_offset, NULL, NULL); + + float f; + + if(type == NODE_BLEND_WEIGHT_FRESNEL) { + float eta = fmaxf(1.0f - blend, 1e-5f); + eta = (sd->flag & SD_BACKFACING)? eta: 1.0f/eta; + + f = fresnel_dielectric_cos(dot(sd->I, sd->N), eta); + } + else { + f = fabsf(dot(sd->I, sd->N)); + + if(blend != 0.5f) { + blend = clamp(blend, 0.0f, 1.0f); + blend = (blend < 0.5f)? 2.0f*blend: 0.5f/(1.0f - blend); + + f = powf(f, blend); + } + + f = 1.0f - f; + } stack_store_float(stack, out_offset, f); } diff --git a/intern/cycles/kernel/svm/svm_image.h b/intern/cycles/kernel/svm/svm_image.h index 586e35c6465..62e24166970 100644 --- a/intern/cycles/kernel/svm/svm_image.h +++ b/intern/cycles/kernel/svm/svm_image.h @@ -147,9 +147,9 @@ __device float4 svm_image_texture(KernelGlobals *kg, int id, float x, float y) __device void svm_node_tex_image(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node) { uint id = node.y; - uint co_offset, out_offset, srgb; + uint co_offset, out_offset, alpha_offset, srgb; - decode_node_uchar4(node.z, &co_offset, &out_offset, &srgb, NULL); + decode_node_uchar4(node.z, &co_offset, &out_offset, &alpha_offset, &srgb); float3 co = stack_load_float3(stack, co_offset); float4 f = svm_image_texture(kg, id, co.x, co.y); @@ -161,15 +161,18 @@ __device void svm_node_tex_image(KernelGlobals *kg, ShaderData *sd, float *stack r.z = color_srgb_to_scene_linear(r.z); } - stack_store_float3(stack, out_offset, r); + if(stack_valid(out_offset)) + stack_store_float3(stack, out_offset, r); + if(stack_valid(alpha_offset)) + stack_store_float(stack, alpha_offset, f.w); } __device void svm_node_tex_environment(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node) { uint id = node.y; - uint co_offset, out_offset, srgb; + uint co_offset, out_offset, alpha_offset, srgb; - decode_node_uchar4(node.z, &co_offset, &out_offset, &srgb, NULL); + decode_node_uchar4(node.z, &co_offset, &out_offset, &alpha_offset, &srgb); float3 co = stack_load_float3(stack, co_offset); float u = (atan2f(co.y, co.x) + M_PI_F)/(2*M_PI_F); @@ -183,7 +186,10 @@ __device void svm_node_tex_environment(KernelGlobals *kg, ShaderData *sd, float r.z = color_srgb_to_scene_linear(r.z); } - stack_store_float3(stack, out_offset, r); + if(stack_valid(out_offset)) + stack_store_float3(stack, out_offset, r); + if(stack_valid(alpha_offset)) + stack_store_float(stack, alpha_offset, f.w); } CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/svm/svm_types.h b/intern/cycles/kernel/svm/svm_types.h index 98e4a5ee583..483f3c76f3c 100644 --- a/intern/cycles/kernel/svm/svm_types.h +++ b/intern/cycles/kernel/svm/svm_types.h @@ -82,7 +82,8 @@ typedef enum NodeType { NODE_ATTR_BUMP_DX = 4400, NODE_ATTR_BUMP_DY = 4500, NODE_TEX_ENVIRONMENT = 4600, - NODE_CLOSURE_HOLDOUT = 4700 + NODE_CLOSURE_HOLDOUT = 4700, + NODE_BLEND_WEIGHT = 4800 } NodeType; typedef enum NodeAttributeType { @@ -249,6 +250,11 @@ typedef enum NodeVoronoiColoring { NODE_VORONOI_POSITION_OUTLINE_INTENSITY } NodeVoronoiColoring; +typedef enum NodeBlendWeightType { + NODE_BLEND_WEIGHT_FRESNEL, + NODE_BLEND_WEIGHT_FACING +} NodeBlendWeightType; + typedef enum ShaderType { SHADER_TYPE_SURFACE, SHADER_TYPE_VOLUME, diff --git a/intern/cycles/render/buffers.cpp b/intern/cycles/render/buffers.cpp index 62dc17960ae..acdddb475d0 100644 --- a/intern/cycles/render/buffers.cpp +++ b/intern/cycles/render/buffers.cpp @@ -85,7 +85,7 @@ void RenderBuffers::reset(Device *device, int width_, int height_) device->mem_copy_to(rng_state); } -float4 *RenderBuffers::copy_from_device(float exposure, int pass) +float4 *RenderBuffers::copy_from_device(float exposure, int sample) { if(!buffer.device_pointer) return NULL; @@ -94,7 +94,7 @@ float4 *RenderBuffers::copy_from_device(float exposure, int pass) float4 *out = new float4[width*height]; float4 *in = (float4*)buffer.data_pointer; - float scale = 1.0f/(float)pass; + float scale = 1.0f/(float)sample; for(int i = width*height - 1; i >= 0; i--) { float4 rgba = in[i]*scale; diff --git a/intern/cycles/render/buffers.h b/intern/cycles/render/buffers.h index e99fedb0dff..d5eb8d7fa2f 100644 --- a/intern/cycles/render/buffers.h +++ b/intern/cycles/render/buffers.h @@ -47,7 +47,7 @@ public: ~RenderBuffers(); void reset(Device *device, int width, int height); - float4 *copy_from_device(float exposure, int pass); + float4 *copy_from_device(float exposure, int sample); protected: void device_free(); diff --git a/intern/cycles/render/camera.cpp b/intern/cycles/render/camera.cpp index 74469c738c7..e88c0a388bc 100644 --- a/intern/cycles/render/camera.cpp +++ b/intern/cycles/render/camera.cpp @@ -28,8 +28,10 @@ Camera::Camera() shutteropen = 0.0f; shutterclose = 1.0f; - lensradius = 0.0f; + aperturesize = 0.0f; focaldistance = 10.0f; + blades = 0; + bladesrotation = 0.0f; matrix = transform_identity(); @@ -134,8 +136,10 @@ void Camera::device_update(Device *device, DeviceScene *dscene) kcam->worldtocamera = transform_inverse(cameratoworld); /* depth of field */ - kcam->lensradius = lensradius; + kcam->aperturesize = aperturesize; kcam->focaldistance = focaldistance; + kcam->blades = (blades < 3)? 0.0f: blades; + kcam->bladesrotation = bladesrotation; /* motion blur */ kcam->shutteropen = shutteropen; @@ -168,7 +172,9 @@ bool Camera::modified(const Camera& cam) { return !((shutteropen == cam.shutteropen) && (shutterclose == cam.shutterclose) && - (lensradius == cam.lensradius) && + (aperturesize == cam.aperturesize) && + (blades == cam.blades) && + (bladesrotation == cam.bladesrotation) && (focaldistance == cam.focaldistance) && (ortho == cam.ortho) && (fov == cam.fov) && diff --git a/intern/cycles/render/camera.h b/intern/cycles/render/camera.h index d385aa274f4..43537ce8c3c 100644 --- a/intern/cycles/render/camera.h +++ b/intern/cycles/render/camera.h @@ -39,8 +39,10 @@ public: float shutterclose; /* depth of field */ - float lensradius; float focaldistance; + float aperturesize; + uint blades; + float bladesrotation; /* orthographic/perspective */ bool ortho; diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index f2030256814..038a6c45b97 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -49,6 +49,7 @@ ImageTextureNode::ImageTextureNode() add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); add_output("Color", SHADER_SOCKET_COLOR); + add_output("Alpha", SHADER_SOCKET_FLOAT); } ImageTextureNode::~ImageTextureNode() @@ -69,12 +70,16 @@ void ImageTextureNode::compile(SVMCompiler& compiler) { ShaderInput *vector_in = input("Vector"); ShaderOutput *color_out = output("Color"); + ShaderOutput *alpha_out = output("Alpha"); image_manager = compiler.image_manager; if(slot == -1) slot = image_manager->add_image(filename); - compiler.stack_assign(color_out); + if(!color_out->links.empty()) + compiler.stack_assign(color_out); + if(!alpha_out->links.empty()) + compiler.stack_assign(alpha_out); if(slot != -1) { compiler.stack_assign(vector_in); @@ -83,12 +88,17 @@ void ImageTextureNode::compile(SVMCompiler& compiler) compiler.encode_uchar4( vector_in->stack_offset, color_out->stack_offset, + alpha_out->stack_offset, color_space_enum[color_space])); } else { /* image not found */ - compiler.add_node(NODE_VALUE_V, color_out->stack_offset); - compiler.add_node(NODE_VALUE_V, make_float3(0, 0, 0)); + if(!color_out->links.empty()) { + compiler.add_node(NODE_VALUE_V, color_out->stack_offset); + compiler.add_node(NODE_VALUE_V, make_float3(0, 0, 0)); + } + if(!alpha_out->links.empty()) + compiler.add_node(NODE_VALUE_F, __float_as_int(0.0f), alpha_out->stack_offset); } } @@ -113,6 +123,7 @@ EnvironmentTextureNode::EnvironmentTextureNode() add_input("Vector", SHADER_SOCKET_VECTOR, ShaderInput::POSITION); add_output("Color", SHADER_SOCKET_COLOR); + add_output("Alpha", SHADER_SOCKET_FLOAT); } EnvironmentTextureNode::~EnvironmentTextureNode() @@ -133,12 +144,16 @@ void EnvironmentTextureNode::compile(SVMCompiler& compiler) { ShaderInput *vector_in = input("Vector"); ShaderOutput *color_out = output("Color"); + ShaderOutput *alpha_out = output("Alpha"); image_manager = compiler.image_manager; if(slot == -1) slot = image_manager->add_image(filename); - compiler.stack_assign(color_out); + if(!color_out->links.empty()) + compiler.stack_assign(color_out); + if(!alpha_out->links.empty()) + compiler.stack_assign(alpha_out); if(slot != -1) { compiler.stack_assign(vector_in); @@ -147,12 +162,17 @@ void EnvironmentTextureNode::compile(SVMCompiler& compiler) compiler.encode_uchar4( vector_in->stack_offset, color_out->stack_offset, + alpha_out->stack_offset, color_space_enum[color_space])); } else { /* image not found */ - compiler.add_node(NODE_VALUE_V, color_out->stack_offset); - compiler.add_node(NODE_VALUE_V, make_float3(0, 0, 0)); + if(!color_out->links.empty()) { + compiler.add_node(NODE_VALUE_V, color_out->stack_offset); + compiler.add_node(NODE_VALUE_V, make_float3(0, 0, 0)); + } + if(!alpha_out->links.empty()) + compiler.add_node(NODE_VALUE_F, __float_as_int(0.0f), alpha_out->stack_offset); } } @@ -1080,7 +1100,6 @@ GlossyBsdfNode::GlossyBsdfNode() distribution = ustring("Beckmann"); add_input("Roughness", SHADER_SOCKET_FLOAT, 0.2f); - add_input("Fresnel", SHADER_SOCKET_FLOAT, 1.0f); } void GlossyBsdfNode::compile(SVMCompiler& compiler) @@ -1088,9 +1107,9 @@ void GlossyBsdfNode::compile(SVMCompiler& compiler) closure = (ClosureType)distribution_enum[distribution]; if(closure == CLOSURE_BSDF_REFLECTION_ID) - BsdfNode::compile(compiler, NULL, input("Fresnel")); + BsdfNode::compile(compiler, NULL, NULL); else - BsdfNode::compile(compiler, input("Roughness"), input("Fresnel")); + BsdfNode::compile(compiler, input("Roughness"), NULL); } void GlossyBsdfNode::compile(OSLCompiler& compiler) @@ -1119,7 +1138,7 @@ GlassBsdfNode::GlassBsdfNode() distribution = ustring("Sharp"); add_input("Roughness", SHADER_SOCKET_FLOAT, 0.0f); - add_input("Fresnel", SHADER_SOCKET_FLOAT, 0.3f); + add_input("IOR", SHADER_SOCKET_FLOAT, 0.3f); } void GlassBsdfNode::compile(SVMCompiler& compiler) @@ -1127,9 +1146,9 @@ void GlassBsdfNode::compile(SVMCompiler& compiler) closure = (ClosureType)distribution_enum[distribution]; if(closure == CLOSURE_BSDF_REFRACTION_ID) - BsdfNode::compile(compiler, NULL, input("Fresnel")); + BsdfNode::compile(compiler, NULL, input("IOR")); else - BsdfNode::compile(compiler, input("Roughness"), input("Fresnel")); + BsdfNode::compile(compiler, input("Roughness"), input("IOR")); } void GlassBsdfNode::compile(OSLCompiler& compiler) @@ -1145,12 +1164,11 @@ VelvetBsdfNode::VelvetBsdfNode() closure = CLOSURE_BSDF_ASHIKHMIN_VELVET_ID; add_input("Sigma", SHADER_SOCKET_FLOAT, 1.0f); - add_input("Fresnel", SHADER_SOCKET_FLOAT, 1.0f); } void VelvetBsdfNode::compile(SVMCompiler& compiler) { - BsdfNode::compile(compiler, input("Sigma"), input("Fresnel")); + BsdfNode::compile(compiler, input("Sigma"), NULL); } void VelvetBsdfNode::compile(OSLCompiler& compiler) @@ -1781,18 +1799,18 @@ FresnelNode::FresnelNode() : ShaderNode("Fresnel") { add_input("Normal", SHADER_SOCKET_NORMAL, ShaderInput::NORMAL, true); - add_input("Fresnel", SHADER_SOCKET_FLOAT, 0.3f); + add_input("IOR", SHADER_SOCKET_FLOAT, 1.45f); add_output("Fac", SHADER_SOCKET_FLOAT); } void FresnelNode::compile(SVMCompiler& compiler) { - ShaderInput *fresnel_in = input("Fresnel"); + ShaderInput *ior_in = input("IOR"); ShaderOutput *fac_out = output("Fac"); - compiler.stack_assign(fresnel_in); + compiler.stack_assign(ior_in); compiler.stack_assign(fac_out); - compiler.add_node(NODE_FRESNEL, fresnel_in->stack_offset, __float_as_int(fresnel_in->value.x), fac_out->stack_offset); + compiler.add_node(NODE_FRESNEL, ior_in->stack_offset, __float_as_int(ior_in->value.x), fac_out->stack_offset); } void FresnelNode::compile(OSLCompiler& compiler) @@ -1800,6 +1818,45 @@ void FresnelNode::compile(OSLCompiler& compiler) compiler.add(this, "node_fresnel"); } +/* Blend Weight */ + +BlendWeightNode::BlendWeightNode() +: ShaderNode("BlendWeight") +{ + add_input("Normal", SHADER_SOCKET_NORMAL, ShaderInput::NORMAL, true); + add_input("Blend", SHADER_SOCKET_FLOAT, 0.5f); + + add_output("Fresnel", SHADER_SOCKET_FLOAT); + add_output("Facing", SHADER_SOCKET_FLOAT); +} + +void BlendWeightNode::compile(SVMCompiler& compiler) +{ + ShaderInput *blend_in = input("Blend"); + + if(blend_in->link) + compiler.stack_assign(blend_in); + + ShaderOutput *fresnel_out = output("Fresnel"); + if(!fresnel_out->links.empty()) { + compiler.stack_assign(fresnel_out); + compiler.add_node(NODE_BLEND_WEIGHT, blend_in->stack_offset, __float_as_int(blend_in->value.x), + compiler.encode_uchar4(NODE_BLEND_WEIGHT_FRESNEL, fresnel_out->stack_offset)); + } + + ShaderOutput *facing_out = output("Facing"); + if(!facing_out->links.empty()) { + compiler.stack_assign(facing_out); + compiler.add_node(NODE_BLEND_WEIGHT, blend_in->stack_offset, __float_as_int(blend_in->value.x), + compiler.encode_uchar4(NODE_BLEND_WEIGHT_FACING, facing_out->stack_offset)); + } +} + +void BlendWeightNode::compile(OSLCompiler& compiler) +{ + compiler.add(this, "node_blend_weight"); +} + /* Output */ OutputNode::OutputNode() diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h index 2afe585c3ac..f11f34778e3 100644 --- a/intern/cycles/render/nodes.h +++ b/intern/cycles/render/nodes.h @@ -323,6 +323,11 @@ public: SHADER_NODE_CLASS(FresnelNode) }; +class BlendWeightNode : public ShaderNode { +public: + SHADER_NODE_CLASS(BlendWeightNode) +}; + class MathNode : public ShaderNode { public: SHADER_NODE_CLASS(MathNode) diff --git a/intern/cycles/render/scene.h b/intern/cycles/render/scene.h index 5772a9d7268..93d8ebf1301 100644 --- a/intern/cycles/render/scene.h +++ b/intern/cycles/render/scene.h @@ -99,6 +99,7 @@ public: class SceneParams { public: enum { OSL, SVM } shadingsystem; + bool use_multi_closure; enum BVHType { BVH_DYNAMIC, BVH_STATIC } bvh_type; bool use_bvh_cache; bool use_bvh_spatial_split; @@ -107,6 +108,7 @@ public: SceneParams() { shadingsystem = SVM; + use_multi_closure = false; bvh_type = BVH_DYNAMIC; use_bvh_cache = false; use_bvh_spatial_split = false; diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp index 5eb8d51a816..50f7017bacf 100644 --- a/intern/cycles/render/session.cpp +++ b/intern/cycles/render/session.cpp @@ -33,7 +33,7 @@ CCL_NAMESPACE_BEGIN Session::Session(const SessionParams& params_) : params(params_), - tile_manager(params.progressive, params.passes, params.tile_size, params.min_size) + tile_manager(params.progressive, params.samples, params.tile_size, params.min_size) { device_use_gl = ((params.device_type != DEVICE_CPU) && !params.background); @@ -48,12 +48,12 @@ Session::Session(const SessionParams& params_) reset_time = 0.0; preview_time = 0.0; paused_time = 0.0; - pass = 0; + sample = 0; delayed_reset.do_reset = false; delayed_reset.w = 0; delayed_reset.h = 0; - delayed_reset.passes = 0; + delayed_reset.samples = 0; display_outdated = false; gpu_draw_ready = false; @@ -108,7 +108,7 @@ bool Session::ready_to_reset() /* GPU Session */ -void Session::reset_gpu(int w, int h, int passes) +void Session::reset_gpu(int w, int h, int samples) { /* block for buffer acces and reset immediately. we can't do this in the thread, because we need to allocate an OpenGL buffer, and @@ -119,7 +119,7 @@ void Session::reset_gpu(int w, int h, int passes) display_outdated = true; reset_time = time_dt(); - reset_(w, h, passes); + reset_(w, h, samples); gpu_need_tonemap = false; gpu_need_tonemap_cond.notify_all(); @@ -207,7 +207,7 @@ void Session::run_gpu() if(!no_tiles) { /* buffers mutex is locked entirely while rendering each - pass, and released/reacquired on each iteration to allow + sample, and released/reacquired on each iteration to allow reset and draw in between */ thread_scoped_lock buffers_lock(buffers->mutex); @@ -249,7 +249,7 @@ void Session::run_gpu() /* CPU Session */ -void Session::reset_cpu(int w, int h, int passes) +void Session::reset_cpu(int w, int h, int samples) { thread_scoped_lock reset_lock(delayed_reset.mutex); @@ -258,7 +258,7 @@ void Session::reset_cpu(int w, int h, int passes) delayed_reset.w = w; delayed_reset.h = h; - delayed_reset.passes = passes; + delayed_reset.samples = samples; delayed_reset.do_reset = true; device->task_cancel(); @@ -294,7 +294,7 @@ void Session::run_cpu() thread_scoped_lock buffers_lock(buffers->mutex); thread_scoped_lock display_lock(display->mutex); - reset_(delayed_reset.w, delayed_reset.h, delayed_reset.passes); + reset_(delayed_reset.w, delayed_reset.h, delayed_reset.samples); delayed_reset.do_reset = false; } @@ -335,7 +335,7 @@ void Session::run_cpu() if(!no_tiles) { /* buffers mutex is locked entirely while rendering each - pass, and released/reacquired on each iteration to allow + sample, and released/reacquired on each iteration to allow reset and draw in between */ thread_scoped_lock buffers_lock(buffers->mutex); @@ -368,11 +368,11 @@ void Session::run_cpu() if(delayed_reset.do_reset) { /* reset rendering if request from main thread */ delayed_reset.do_reset = false; - reset_(delayed_reset.w, delayed_reset.h, delayed_reset.passes); + reset_(delayed_reset.w, delayed_reset.h, delayed_reset.samples); } else if(need_tonemap) { /* tonemap only if we do not reset, we don't we don't - want to show the result of an incomplete pass*/ + want to show the result of an incomplete sample*/ tonemap(); } } @@ -418,7 +418,7 @@ bool Session::draw(int w, int h) return draw_cpu(w, h); } -void Session::reset_(int w, int h, int passes) +void Session::reset_(int w, int h, int samples) { if(w != buffers->width || h != buffers->height) { gpu_draw_ready = false; @@ -426,27 +426,27 @@ void Session::reset_(int w, int h, int passes) display->reset(device, w, h); } - tile_manager.reset(w, h, passes); + tile_manager.reset(w, h, samples); start_time = time_dt(); preview_time = 0.0; paused_time = 0.0; - pass = 0; + sample = 0; } -void Session::reset(int w, int h, int passes) +void Session::reset(int w, int h, int samples) { if(device_use_gl) - reset_gpu(w, h, passes); + reset_gpu(w, h, samples); else - reset_cpu(w, h, passes); + reset_cpu(w, h, samples); } -void Session::set_passes(int passes) +void Session::set_samples(int samples) { - if(passes != params.passes) { - params.passes = passes; - tile_manager.set_passes(passes); + if(samples != params.samples) { + params.samples = samples; + tile_manager.set_samples(samples); { thread_scoped_lock pause_lock(pause_mutex); @@ -504,7 +504,7 @@ void Session::update_scene() void Session::update_status_time(bool show_pause, bool show_done) { - int pass = tile_manager.state.pass; + int sample = tile_manager.state.sample; int resolution = tile_manager.state.resolution; /* update status */ @@ -512,10 +512,10 @@ void Session::update_status_time(bool show_pause, bool show_done) if(!params.progressive) substatus = "Path Tracing"; - else if(params.passes == INT_MAX) - substatus = string_printf("Path Tracing Pass %d", pass+1); + else if(params.samples == INT_MAX) + substatus = string_printf("Path Tracing Sample %d", sample+1); else - substatus = string_printf("Path Tracing Pass %d/%d", pass+1, params.passes); + substatus = string_printf("Path Tracing Sample %d/%d", sample+1, params.samples); if(show_pause) status = "Paused"; @@ -531,13 +531,13 @@ void Session::update_status_time(bool show_pause, bool show_done) preview_time = time_dt(); double total_time = time_dt() - start_time - paused_time; - double pass_time = (pass == 0)? 0.0: (time_dt() - preview_time - paused_time)/(pass); + double sample_time = (sample == 0)? 0.0: (time_dt() - preview_time - paused_time)/(sample); /* negative can happen when we pause a bit before rendering, can discard that */ if(total_time < 0.0) total_time = 0.0; if(preview_time < 0.0) preview_time = 0.0; - progress.set_pass(pass + 1, total_time, pass_time); + progress.set_sample(sample + 1, total_time, sample_time); } void Session::path_trace(Tile& tile) @@ -551,7 +551,7 @@ void Session::path_trace(Tile& tile) task.h = tile.h; task.buffer = buffers->buffer.device_pointer; task.rng_state = buffers->rng_state.device_pointer; - task.pass = tile_manager.state.pass; + task.sample = tile_manager.state.sample; task.resolution = tile_manager.state.resolution; device->task_add(task); @@ -568,7 +568,7 @@ void Session::tonemap() task.h = tile_manager.state.height; task.rgba = display->rgba.device_pointer; task.buffer = buffers->buffer.device_pointer; - task.pass = tile_manager.state.pass; + task.sample = tile_manager.state.sample; task.resolution = tile_manager.state.resolution; if(task.w > 0 && task.h > 0) { diff --git a/intern/cycles/render/session.h b/intern/cycles/render/session.h index 4d5cf434098..82c14227d03 100644 --- a/intern/cycles/render/session.h +++ b/intern/cycles/render/session.h @@ -43,7 +43,7 @@ public: string output_path; bool progressive; - int passes; + int samples; int tile_size; int min_size; int threads; @@ -59,7 +59,7 @@ public: output_path = ""; progressive = false; - passes = INT_MAX; + samples = INT_MAX; tile_size = 64; min_size = 64; threads = 0; @@ -73,7 +73,7 @@ public: { return !(device_type == params.device_type && background == params.background && output_path == params.output_path - /* && passes == params.passes */ + /* && samples == params.samples */ && progressive == params.progressive && tile_size == params.tile_size && min_size == params.min_size @@ -97,7 +97,7 @@ public: DisplayBuffer *display; Progress progress; SessionParams params; - int pass; + int sample; Session(const SessionParams& params); ~Session(); @@ -107,8 +107,8 @@ public: void wait(); bool ready_to_reset(); - void reset(int w, int h, int passes); - void set_passes(int passes); + void reset(int w, int h, int samples); + void set_samples(int samples); void set_pause(bool pause); protected: @@ -116,7 +116,7 @@ protected: thread_mutex mutex; bool do_reset; int w, h; - int passes; + int samples; } delayed_reset; void run(); @@ -126,15 +126,15 @@ protected: void tonemap(); void path_trace(Tile& tile); - void reset_(int w, int h, int passes); + void reset_(int w, int h, int samples); void run_cpu(); bool draw_cpu(int w, int h); - void reset_cpu(int w, int h, int passes); + void reset_cpu(int w, int h, int samples); void run_gpu(); bool draw_gpu(int w, int h); - void reset_gpu(int w, int h, int passes); + void reset_gpu(int w, int h, int samples); TileManager tile_manager; bool device_use_gl; diff --git a/intern/cycles/render/svm.cpp b/intern/cycles/render/svm.cpp index 8f3682cc349..c9bbeecc3a4 100644 --- a/intern/cycles/render/svm.cpp +++ b/intern/cycles/render/svm.cpp @@ -69,7 +69,8 @@ void SVMShaderManager::device_update(Device *device, DeviceScene *dscene, Scene if(shader->has_surface_emission) scene->light_manager->need_update = true; - SVMCompiler compiler(scene->shader_manager, scene->image_manager); + SVMCompiler compiler(scene->shader_manager, scene->image_manager, + scene->params.use_multi_closure); compiler.sunsky = (sunsky_done)? NULL: &dscene->data.sunsky; compiler.background = ((int)i == scene->default_background); compiler.compile(shader, svm_nodes, i); @@ -96,7 +97,7 @@ void SVMShaderManager::device_free(Device *device, DeviceScene *dscene) /* Graph Compiler */ -SVMCompiler::SVMCompiler(ShaderManager *shader_manager_, ImageManager *image_manager_) +SVMCompiler::SVMCompiler(ShaderManager *shader_manager_, ImageManager *image_manager_, bool use_multi_closure_) { shader_manager = shader_manager_; image_manager = image_manager_; @@ -106,6 +107,7 @@ SVMCompiler::SVMCompiler(ShaderManager *shader_manager_, ImageManager *image_man current_shader = NULL; background = false; mix_weight_offset = SVM_STACK_INVALID; + use_multi_closure = use_multi_closure_; } int SVMCompiler::stack_size(ShaderSocketType type) @@ -573,9 +575,8 @@ void SVMCompiler::compile_type(Shader *shader, ShaderGraph *graph, ShaderType ty if(generate) { set done; - bool multi_closure = false; /* __MULTI_CLOSURE__ */ - if(multi_closure) { + if(use_multi_closure) { generate_multi_closure(clin->link->parent, done, SVM_STACK_INVALID); } else { diff --git a/intern/cycles/render/svm.h b/intern/cycles/render/svm.h index dfd78cf3c40..4c23e931e09 100644 --- a/intern/cycles/render/svm.h +++ b/intern/cycles/render/svm.h @@ -53,7 +53,8 @@ public: class SVMCompiler { public: - SVMCompiler(ShaderManager *shader_manager, ImageManager *image_manager); + SVMCompiler(ShaderManager *shader_manager, ImageManager *image_manager, + bool use_multi_closure_); void compile(Shader *shader, vector& svm_nodes, int index); void stack_assign(ShaderOutput *output); @@ -123,6 +124,7 @@ protected: Stack active_stack; int max_stack_use; uint mix_weight_offset; + bool use_multi_closure; }; CCL_NAMESPACE_END diff --git a/intern/cycles/render/tile.cpp b/intern/cycles/render/tile.cpp index 450090c42f8..ba437e74874 100644 --- a/intern/cycles/render/tile.cpp +++ b/intern/cycles/render/tile.cpp @@ -22,7 +22,7 @@ CCL_NAMESPACE_BEGIN -TileManager::TileManager(bool progressive_, int passes_, int tile_size_, int min_size_) +TileManager::TileManager(bool progressive_, int samples_, int tile_size_, int min_size_) { progressive = progressive_; tile_size = tile_size_; @@ -35,7 +35,7 @@ TileManager::~TileManager() { } -void TileManager::reset(int width_, int height_, int passes_) +void TileManager::reset(int width_, int height_, int samples_) { full_width = width_; full_height = height_; @@ -53,18 +53,18 @@ void TileManager::reset(int width_, int height_, int passes_) } } - passes = passes_; + samples = samples_; state.width = 0; state.height = 0; - state.pass = -1; + state.sample = -1; state.resolution = start_resolution; state.tiles.clear(); } -void TileManager::set_passes(int passes_) +void TileManager::set_samples(int samples_) { - passes = passes_; + samples = samples_; } void TileManager::set_tiles() @@ -96,7 +96,7 @@ void TileManager::set_tiles() bool TileManager::done() { - return (state.pass+1 >= passes); + return (state.sample+1 >= samples && state.resolution == 1); } bool TileManager::next() @@ -105,12 +105,12 @@ bool TileManager::next() return false; if(progressive && state.resolution > 1) { - state.pass = 0; + state.sample = 0; state.resolution /= 2; set_tiles(); } else { - state.pass++; + state.sample++; state.resolution = 1; set_tiles(); } diff --git a/intern/cycles/render/tile.h b/intern/cycles/render/tile.h index 56c69cdce88..5cd16eb8afa 100644 --- a/intern/cycles/render/tile.h +++ b/intern/cycles/render/tile.h @@ -42,16 +42,16 @@ public: struct State { int width; int height; - int pass; + int sample; int resolution; list tiles; } state; - TileManager(bool progressive, int passes, int tile_size, int min_size); + TileManager(bool progressive, int samples, int tile_size, int min_size); ~TileManager(); - void reset(int width, int height, int passes); - void set_passes(int passes); + void reset(int width, int height, int samples); + void set_samples(int samples); bool next(); bool done(); @@ -59,7 +59,7 @@ protected: void set_tiles(); bool progressive; - int passes; + int samples; int tile_size; int min_size; diff --git a/intern/cycles/util/util_progress.h b/intern/cycles/util/util_progress.h index c9e0a6ab713..fc2e4af5ead 100644 --- a/intern/cycles/util/util_progress.h +++ b/intern/cycles/util/util_progress.h @@ -35,9 +35,9 @@ class Progress { public: Progress() { - pass = 0; + sample = 0; total_time = 0.0f; - pass_time = 0.0f; + sample_time = 0.0f; status = "Initializing"; substatus = ""; update_cb = NULL; @@ -55,7 +55,7 @@ public: { thread_scoped_lock lock(progress.progress_mutex); - progress.get_pass(pass, total_time, pass_time); + progress.get_sample(sample, total_time, sample_time); progress.get_status(status, substatus); return *this; @@ -88,24 +88,24 @@ public: cancel_cb = function; } - /* pass and timing information */ + /* sample and timing information */ - void set_pass(int pass_, double total_time_, double pass_time_) + void set_sample(int sample_, double total_time_, double sample_time_) { thread_scoped_lock lock(progress_mutex); - pass = pass_; + sample = sample_; total_time = total_time_; - pass_time = pass_time_; + sample_time = sample_time_; } - void get_pass(int& pass_, double& total_time_, double& pass_time_) + void get_sample(int& sample_, double& total_time_, double& sample_time_) { thread_scoped_lock lock(progress_mutex); - pass_ = pass; + sample_ = sample; total_time_ = total_time; - pass_time_ = pass_time; + sample_time_ = sample_time; } /* status messages */ @@ -156,10 +156,10 @@ protected: boost::function update_cb; boost::function cancel_cb; - int pass; + int sample; double total_time; - double pass_time; + double sample_time; string status; string substatus; diff --git a/release/scripts/startup/bl_ui/properties_data_camera.py b/release/scripts/startup/bl_ui/properties_data_camera.py index 5255af40951..77877731777 100644 --- a/release/scripts/startup/bl_ui/properties_data_camera.py +++ b/release/scripts/startup/bl_ui/properties_data_camera.py @@ -100,18 +100,23 @@ class DATA_PT_camera(CameraButtonsPanel, Panel): col.prop(cam, "clip_start", text="Start") col.prop(cam, "clip_end", text="End") - layout.label(text="Depth of Field:") +class DATA_PT_camera_dof(CameraButtonsPanel, Panel): + bl_label = "Depth of Field" + COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} + + def draw(self, context): + layout = self.layout + + cam = context.camera split = layout.split() split.prop(cam, "dof_object", text="") col = split.column() - if cam.dof_object is not None: - col.enabled = False + col.active = cam.dof_object is None col.prop(cam, "dof_distance", text="Distance") - class DATA_PT_camera_display(CameraButtonsPanel, Panel): bl_label = "Display" COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h index 5b1a80186a6..ae7013ae293 100644 --- a/source/blender/blenkernel/BKE_node.h +++ b/source/blender/blenkernel/BKE_node.h @@ -128,7 +128,7 @@ typedef struct bNodeType { #define NODE_CLASS_OP_DYNAMIC 11 #define NODE_CLASS_PATTERN 12 #define NODE_CLASS_TEXTURE 13 -#define NODE_CLASS_CLOSURE 14 +#define NODE_CLASS_SHADER 14 /* bNodeSocketType flag */ #define SOCK_NO_VALUE 1 @@ -282,7 +282,7 @@ struct ShadeResult; #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_MIX_SHADER 128 #define SH_NODE_ATTRIBUTE 129 #define SH_NODE_BACKGROUND 130 #define SH_NODE_BSDF_ANISOTROPIC 131 @@ -308,10 +308,11 @@ struct ShadeResult; #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_ADD_SHADER 156 #define SH_NODE_TEX_ENVIRONMENT 157 #define SH_NODE_OUTPUT_TEXTURE 158 #define SH_NODE_HOLDOUT 159 +#define SH_NODE_BLEND_WEIGHT 160 /* custom defines options for Material node */ #define SH_NODE_MAT_DIFF 1 diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index a36032f137e..49cda7e8736 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -3122,7 +3122,7 @@ static void gpu_from_node_stack(ListBase *sockets, bNodeStack **ns, GPUNodeStack gs[i].type= GPU_VEC3; else if (sock->type == SOCK_RGBA) gs[i].type= GPU_VEC4; - else if (sock->type == SOCK_CLOSURE) + else if (sock->type == SOCK_SHADER) gs[i].type= GPU_VEC4; else gs[i].type= GPU_NONE; @@ -3219,9 +3219,9 @@ static void ntreeGPUOutputLink(GPUMaterial *mat, bNode *node, bNodeStack *nsout[ if(nsout[i]->data) { GPUNodeLink *result= nsout[i]->data; - /* for closures, we can output the color directly, for others we + /* for shader sockets, we can output the color directly, for others we apply diffuse shading so we don't have flat colors */ - if(sock->type != SOCK_CLOSURE) + if(sock->type != SOCK_SHADER) GPU_link(mat, "node_bsdf_diffuse", result, GPU_builtin(GPU_VIEW_NORMAL), &result); GPU_material_output_link(mat, result); @@ -3690,6 +3690,7 @@ static void registerShaderNodes(ListBase *ntypelist) register_node_type_sh_geometry(ntypelist); register_node_type_sh_light_path(ntypelist); register_node_type_sh_fresnel(ntypelist); + register_node_type_sh_blend_weight(ntypelist); register_node_type_sh_tex_coord(ntypelist); register_node_type_sh_background(ntypelist); @@ -3700,8 +3701,8 @@ static void registerShaderNodes(ListBase *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_mix_shader(ntypelist); + register_node_type_sh_add_shader(ntypelist); register_node_type_sh_holdout(ntypelist); register_node_type_sh_output_lamp(ntypelist); diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index f11da97a1a0..44dfdbddfa1 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -2103,6 +2103,44 @@ static void lib_nodetree_do_versions_group(bNodeTree *ntree) } } +static void ntree_tmp_cycles_version_patch(bNodeTree *ntree) +{ + bNode *node; + bNodeSocket *sock; + + for(node=ntree->nodes.first; node; node=node->next) { + if(node->type == SH_NODE_FRESNEL) { + node->type = SH_NODE_BLEND_WEIGHT; + + for(sock=node->inputs.first; sock; sock=sock->next) + if(strcmp(sock->name, "Fresnel") == 0) + strcpy(sock->name, "Blend"); + + for(sock=node->outputs.first; sock; sock=sock->next) + if(strcmp(sock->name, "Fac") == 0) + strcpy(sock->name, "Fresnel"); + } + else { + for(sock=node->inputs.first; sock; sock=sock->next) { + if(strcmp(sock->name, "Closure1") == 0) + strcpy(sock->name, "Shader1"); + + if(strcmp(sock->name, "Closure2") == 0) + strcpy(sock->name, "Shader2"); + + if(strcmp(sock->name, "Fresnel") == 0) { + strcpy(sock->name, "IOR"); + sock->ns.vec[0] = 1.0f/MAX2(1.0f - sock->ns.vec[0], 1e-5f); + } + } + + for(sock=node->outputs.first; sock; sock=sock->next) + if(strcmp(sock->name, "Closure") == 0) + strcpy(sock->name, "Shader"); + } + } +} + /* verify types for nodes and groups, all data has to be read */ /* open = 0: appending/linking, open = 1: open new file (need to clean out dynamic * typedefs*/ @@ -2123,6 +2161,7 @@ static void lib_verify_nodetree(Main *main, int UNUSED(open)) /* now create the own typeinfo structs an verify nodes */ /* here we still assume no groups in groups */ for(ntree= main->nodetree.first; ntree; ntree= ntree->id.next) { + ntree_tmp_cycles_version_patch(ntree); ntreeVerifyTypes(ntree); /* internal nodes, no groups! */ } @@ -2142,8 +2181,10 @@ static void lib_verify_nodetree(Main *main, int UNUSED(open)) } /* now verify all types in material trees, groups are set OK now */ for(ma= main->mat.first; ma; ma= ma->id.next) { - if(ma->nodetree) + if(ma->nodetree) { + ntree_tmp_cycles_version_patch(ma->nodetree); lib_nodetree_do_versions_group(ma->nodetree); + } } /* and scene trees */ for(sce= main->scene.first; sce; sce= sce->id.next) { @@ -2155,7 +2196,21 @@ static void lib_verify_nodetree(Main *main, int UNUSED(open)) if(tx->nodetree) lib_nodetree_do_versions_group(tx->nodetree); } - + /* and world trees */ + for(wrld= main->world.first; wrld; wrld= wrld->id.next) { + if(wrld->nodetree) { + ntree_tmp_cycles_version_patch(wrld->nodetree); + lib_nodetree_do_versions_group(wrld->nodetree); + } + } + /* and lamp trees */ + for(la= main->lamp.first; la; la= la->id.next) { + if(la->nodetree) { + ntree_tmp_cycles_version_patch(la->nodetree); + lib_nodetree_do_versions_group(la->nodetree); + } + } + for(ntree= main->nodetree.first; ntree; ntree= ntree->id.next) ntree->flag &= ~NTREE_DO_VERSIONS; } diff --git a/source/blender/editors/interface/interface_node.c b/source/blender/editors/interface/interface_node.c index 5a1b4c0a8b8..39d3755af51 100644 --- a/source/blender/editors/interface/interface_node.c +++ b/source/blender/editors/interface/interface_node.c @@ -149,7 +149,7 @@ static void ui_node_sock_name(bNodeSocket *sock, char name[UI_MAX_NAME_STR]) !(node->typeinfo->flag & NODE_OPTIONS)) BLI_snprintf(name, UI_MAX_NAME_STR, "%s | %s", name, sock->link->fromsock->name); } - else if(sock->type == SOCK_CLOSURE) + else if(sock->type == SOCK_SHADER) BLI_strncpy(name, "None", UI_MAX_NAME_STR); else BLI_strncpy(name, "Default", UI_MAX_NAME_STR); @@ -252,7 +252,7 @@ static void ui_node_link(bContext *C, void *arg_p, void *event_p) static int ui_compatible_sockets(int typeA, int typeB) { - if(typeA == SOCK_CLOSURE || typeB == SOCK_CLOSURE) + if(typeA == SOCK_SHADER || typeB == SOCK_SHADER) return (typeA == typeB); return (typeA == typeB); @@ -396,7 +396,7 @@ static void ui_template_node_link_menu(bContext *C, uiLayout *layout, void *but_ ui_node_menu_column(bmain, arg, split, "Input", NODE_CLASS_INPUT); ui_node_menu_column(bmain, arg, split, "Output", NODE_CLASS_OUTPUT); - ui_node_menu_column(bmain, arg, split, "Closure", NODE_CLASS_CLOSURE); + ui_node_menu_column(bmain, arg, split, "Shader", NODE_CLASS_SHADER); ui_node_menu_column(bmain, arg, split, "Texture", NODE_CLASS_TEXTURE); ui_node_menu_column(bmain, arg, split, "Color", NODE_CLASS_OP_COLOR); ui_node_menu_column(bmain, arg, split, "Vector", NODE_CLASS_OP_VECTOR); @@ -438,7 +438,7 @@ void uiTemplateNodeLink(uiLayout *layout, bNodeTree *ntree, bNode *node, bNodeSo uiBlockSetCurLayout(block, layout); - if(sock->link || sock->type == SOCK_CLOSURE || (stype && (stype->flag & SOCK_NO_VALUE))) { + if(sock->link || sock->type == SOCK_SHADER || (stype && (stype->flag & SOCK_NO_VALUE))) { char name[UI_MAX_NAME_STR]; ui_node_sock_name(sock, name); but= uiDefMenuBut(block, ui_template_node_link_menu, NULL, name, 0, 0, UI_UNIT_X*4, UI_UNIT_Y, ""); @@ -543,7 +543,7 @@ static void ui_node_draw_input(uiLayout *layout, bContext *C, bNodeTree *ntree, bNodeSocketType *stype = ui_node_input_socket_type(node, input); /* input not linked, show value */ - if(input->type != SOCK_CLOSURE && (!stype || !(stype->flag & SOCK_NO_VALUE))) { + if(input->type != SOCK_SHADER && (!stype || !(stype->flag & SOCK_NO_VALUE))) { if(input->type == SOCK_VECTOR) { row = uiLayoutRow(split, 0); col = uiLayoutColumn(row, 0); diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c index faec823a314..8f243cc659f 100644 --- a/source/blender/editors/space_node/node_draw.c +++ b/source/blender/editors/space_node/node_draw.c @@ -882,7 +882,7 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN socket_circle_draw(sock, socket_size); if(node->block && sock->link==NULL) { - if((stype && stype->flag & SOCK_NO_VALUE) || sock->type==SOCK_CLOSURE) { + if((stype && stype->flag & SOCK_NO_VALUE) || sock->type==SOCK_SHADER) { uiDefBut(node->block, LABEL, 0, sock->name, (short)(sock->locx+7), (short)(sock->locy-9.0f), (short)(node->width-NODE_DY), NODE_DY, NULL, 0, 0, 0, 0, ""); } diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index 5b19a3b1509..ca59a9ed6a9 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -274,7 +274,7 @@ void ED_node_shader_default(ID *id) bNode *in, *out; bNodeSocket *fromsock, *tosock; bNodeTree *ntree; - int output_type, closure_type; + int output_type, shader_type; ntree= ntreeAddTree("Shader Nodetree", NTREE_SHADER, FALSE); @@ -282,22 +282,22 @@ void ED_node_shader_default(ID *id) case ID_MA: ((Material*)id)->nodetree = ntree; output_type = SH_NODE_OUTPUT_MATERIAL; - closure_type = SH_NODE_BSDF_DIFFUSE; + shader_type = SH_NODE_BSDF_DIFFUSE; break; case ID_WO: ((World*)id)->nodetree = ntree; output_type = SH_NODE_OUTPUT_WORLD; - closure_type = SH_NODE_BACKGROUND; + shader_type = SH_NODE_BACKGROUND; break; case ID_LA: ((Lamp*)id)->nodetree = ntree; output_type = SH_NODE_OUTPUT_LAMP; - closure_type = SH_NODE_EMISSION; + shader_type = SH_NODE_EMISSION; break; case ID_TE: ((Tex*)id)->nodetree = ntree; output_type = SH_NODE_OUTPUT_TEXTURE; - closure_type = SH_NODE_TEX_CLOUDS; + shader_type = SH_NODE_TEX_CLOUDS; break; default: printf("ED_node_shader_default called on wrong ID type.\n"); @@ -307,7 +307,7 @@ void ED_node_shader_default(ID *id) out= nodeAddNodeType(ntree, output_type, NULL, NULL); out->locx= 300.0f; out->locy= 300.0f; - in= nodeAddNodeType(ntree, closure_type, NULL, NULL); + in= nodeAddNodeType(ntree, shader_type, NULL, NULL); in->locx= 10.0f; in->locy= 300.0f; nodeSetActive(ntree, in); diff --git a/source/blender/editors/space_node/node_header.c b/source/blender/editors/space_node/node_header.c index e31710863d5..63eab2349b2 100644 --- a/source/blender/editors/space_node/node_header.c +++ b/source/blender/editors/space_node/node_header.c @@ -186,13 +186,13 @@ static void node_menu_add(const bContext *C, Menu *menu) uiItemMenuF(layout, "Input", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT)); uiItemMenuF(layout, "Output", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT)); if(scene_use_new_shading_system(scene)) - uiItemMenuF(layout, "Closure", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CLOSURE)); + uiItemMenuF(layout, "Shader", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_SHADER)); + if(scene_use_new_shading_system(scene)) + uiItemMenuF(layout, "Texture", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_TEXTURE)); uiItemMenuF(layout, "Color", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_COLOR)); uiItemMenuF(layout, "Vector", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_VECTOR)); uiItemMenuF(layout, "Convertor", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CONVERTOR)); uiItemMenuF(layout, "Group", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_GROUP)); - if(scene_use_new_shading_system(scene)) - uiItemMenuF(layout, "Texture", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_TEXTURE)); //uiItemMenuF(layout, "Dynamic", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_DYNAMIC)); } else if(snode->treetype==NTREE_COMPOSIT) { diff --git a/source/blender/gpu/intern/gpu_shader_material.glsl b/source/blender/gpu/intern/gpu_shader_material.glsl index f2c4533a654..3f3e92dd1f1 100644 --- a/source/blender/gpu/intern/gpu_shader_material.glsl +++ b/source/blender/gpu/intern/gpu_shader_material.glsl @@ -1853,7 +1853,7 @@ void node_bsdf_diffuse(vec4 color, vec3 N, out vec4 result) result = vec4(L*color.rgb, 1.0); } -void node_bsdf_glossy(vec4 color, float roughness, float fresnel, vec3 N, vec3 I, out vec4 result) +void node_bsdf_glossy(vec4 color, float roughness, vec3 N, vec3 I, out vec4 result) { vec3 L = vec3(0.0); @@ -1874,7 +1874,7 @@ void node_bsdf_anisotropic(vec4 color, float roughnessU, float roughnessV, vec3 node_bsdf_diffuse(color, N, result); } -void node_bsdf_glass(vec4 color, float roughness, float fresnel, vec3 N, vec3 I, out vec4 result) +void node_bsdf_glass(vec4 color, float roughness, float ior, vec3 N, vec3 I, out vec4 result) { node_bsdf_diffuse(color, N, result); } @@ -1893,7 +1893,7 @@ void node_bsdf_transparent(vec4 color, out vec4 result) result.a = 0.0; } -void node_bsdf_velvet(vec4 color, float sigma, float fresnel, vec3 N, out vec4 result) +void node_bsdf_velvet(vec4 color, float sigma, vec3 N, out vec4 result) { node_bsdf_diffuse(color, N, result); } @@ -1907,22 +1907,22 @@ void node_emission(vec4 color, float strength, vec3 N, out vec4 result) /* closures */ -void node_mix_closure(float fac, vec4 closure1, vec4 closure2, out vec4 closure) +void node_mix_shader(float fac, vec4 shader1, vec4 shader2, out vec4 shader) { - closure = mix(closure1, closure2, fac); + shader = mix(shader1, shader2, fac); } -void node_add_closure(vec4 closure1, vec4 closure2, out vec4 closure) +void node_add_shader(vec4 shader1, vec4 shader2, out vec4 shader) { - closure = closure1 + closure2; + shader = shader1 + shader2; } /* fresnel */ -void node_fresnel(float f, vec3 N, vec3 I, out float result) +void node_fresnel(float ior, vec3 N, vec3 I, out float result) { - f = max(1.0 - f, 0.00001); - result = fresnel_dielectric(I, N, 1.0/f); //backfacing()? f: 1.0/f); + float eta = max(ior, 0.00001); + result = fresnel_dielectric(I, N, eta); //backfacing()? 1.0/eta: eta); } /* geometry */ diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index eea4c231980..7617effbb6f 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -100,7 +100,7 @@ typedef struct bNodeSocket { #define SOCK_VALUE 0 #define SOCK_VECTOR 1 #define SOCK_RGBA 2 -#define SOCK_CLOSURE 3 +#define SOCK_SHADER 3 /* sock->flag, first bit is select */ /* hidden is user defined, to hide unused */ diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index 5eabbe72373..e56d848f29f 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -164,8 +164,8 @@ static StructRNA *rna_NodeSocketType_refine(struct PointerRNA *ptr) return &RNA_VectorNodeSocket; case SOCK_RGBA: return &RNA_RGBANodeSocket; - case SOCK_CLOSURE: - return &RNA_ClosureNodeSocket; + case SOCK_SHADER: + return &RNA_ShaderNodeSocket; default: return &RNA_NodeSocket; } @@ -2979,12 +2979,12 @@ static void rna_def_node_socket_rgba(BlenderRNA *brna) RNA_def_property_float_funcs(prop, NULL, NULL, "rna_NodeSocket_defvalue_range"); } -static void rna_def_node_socket_closure(BlenderRNA *brna) +static void rna_def_node_socket_shader(BlenderRNA *brna) { StructRNA *srna; - srna = RNA_def_struct(brna, "ClosureNodeSocket", "NodeSocket"); - RNA_def_struct_ui_text(srna, "Closure Node Socket", "Input or output socket of a node"); + srna = RNA_def_struct(brna, "ShaderNodeSocket", "NodeSocket"); + RNA_def_struct_ui_text(srna, "Shader Node Socket", "Input or output socket of a node"); RNA_def_struct_sdna(srna, "bNodeSocket"); RNA_def_struct_ui_icon(srna, ICON_PLUG); RNA_def_struct_path_func(srna, "rna_NodeSocket_path"); @@ -3224,7 +3224,7 @@ void RNA_def_nodetree(BlenderRNA *brna) rna_def_node_socket_value(brna); rna_def_node_socket_vector(brna); rna_def_node_socket_rgba(brna); - rna_def_node_socket_closure(brna); + rna_def_node_socket_shader(brna); rna_def_node(brna); rna_def_node_link(brna); rna_def_shader_node(brna); diff --git a/source/blender/makesrna/intern/rna_nodetree_types.h b/source/blender/makesrna/intern/rna_nodetree_types.h index d14e4cd76f2..abf421a2b79 100644 --- a/source/blender/makesrna/intern/rna_nodetree_types.h +++ b/source/blender/makesrna/intern/rna_nodetree_types.h @@ -55,8 +55,9 @@ DefNode( ShaderNode, SH_NODE_OUTPUT_LAMP, 0, "OUTPU //DefNode( ShaderNode, SH_NODE_OUTPUT_TEXTURE, 0, "OUTPUT_TEXTURE", OutputTexture, "Texture Output", "" ) DefNode( ShaderNode, SH_NODE_OUTPUT_WORLD, 0, "OUTPUT_WORLD", OutputWorld, "World Output", "" ) DefNode( ShaderNode, SH_NODE_FRESNEL, 0, "FRESNEL", Fresnel, "Fresnel", "" ) -DefNode( ShaderNode, SH_NODE_MIX_CLOSURE, 0, "MIX_CLOSURE", MixClosure, "Mix Closure", "" ) -DefNode( ShaderNode, SH_NODE_ADD_CLOSURE, 0, "ADD_CLOSURE", AddClosure, "Add Closure", "" ) +DefNode( ShaderNode, SH_NODE_BLEND_WEIGHT, 0, "BLEND_WEIGHT", BlendWeight, "BlendWeight", "" ) +DefNode( ShaderNode, SH_NODE_MIX_SHADER, 0, "MIX_SHADER", MixShader, "Mix Shader", "" ) +DefNode( ShaderNode, SH_NODE_ADD_SHADER, 0, "ADD_SHADER", AddShader, "Add Shader", "" ) DefNode( ShaderNode, SH_NODE_ATTRIBUTE, 0, "ATTRIBUTE", Attribute, "Attribute", "") DefNode( ShaderNode, SH_NODE_BACKGROUND, 0, "BACKGROUND", Background, "Background", "") diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt index f4b6a452281..a789155bc5a 100644 --- a/source/blender/nodes/CMakeLists.txt +++ b/source/blender/nodes/CMakeLists.txt @@ -127,11 +127,12 @@ set(SRC intern/SHD_nodes/SHD_bsdf_velvet.c intern/SHD_nodes/SHD_emission.c intern/SHD_nodes/SHD_fresnel.c + intern/SHD_nodes/SHD_blend_weight.c intern/SHD_nodes/SHD_geometry.c intern/SHD_nodes/SHD_holdout.c intern/SHD_nodes/SHD_light_path.c - intern/SHD_nodes/SHD_mix_closure.c - intern/SHD_nodes/SHD_add_closure.c + intern/SHD_nodes/SHD_mix_shader.c + intern/SHD_nodes/SHD_add_shader.c intern/SHD_nodes/SHD_output_lamp.c intern/SHD_nodes/SHD_output_material.c intern/SHD_nodes/SHD_output_texture.c diff --git a/source/blender/nodes/SHD_node.h b/source/blender/nodes/SHD_node.h index a939bca161d..057b7ae4588 100644 --- a/source/blender/nodes/SHD_node.h +++ b/source/blender/nodes/SHD_node.h @@ -56,6 +56,7 @@ void register_node_type_sh_attribute(ListBase *lb); void register_node_type_sh_geometry(ListBase *lb); void register_node_type_sh_light_path(ListBase *lb); void register_node_type_sh_fresnel(ListBase *lb); +void register_node_type_sh_blend_weight(ListBase *lb); void register_node_type_sh_tex_coord(ListBase *lb); void register_node_type_sh_background(ListBase *lb); @@ -68,8 +69,8 @@ void register_node_type_sh_bsdf_transparent(ListBase *lb); void register_node_type_sh_bsdf_velvet(ListBase *lb); void register_node_type_sh_emission(ListBase *lb); void register_node_type_sh_holdout(ListBase *lb); -void register_node_type_sh_mix_closure(ListBase *lb); -void register_node_type_sh_add_closure(ListBase *lb); +void register_node_type_sh_mix_shader(ListBase *lb); +void register_node_type_sh_add_shader(ListBase *lb); void register_node_type_sh_output_lamp(ListBase *lb); void register_node_type_sh_output_material(ListBase *lb); diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_add_closure.c b/source/blender/nodes/intern/SHD_nodes/SHD_add_shader.c similarity index 60% rename from source/blender/nodes/intern/SHD_nodes/SHD_add_closure.c rename to source/blender/nodes/intern/SHD_nodes/SHD_add_shader.c index 8c4a7d83915..60fe04a8b34 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_add_closure.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_add_shader.c @@ -31,38 +31,38 @@ /* **************** OUTPUT ******************** */ -static bNodeSocketType sh_node_add_closure_in[]= { - { SOCK_CLOSURE, 1, "Closure1", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_CLOSURE, 1, "Closure2", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, +static bNodeSocketType sh_node_add_shader_in[]= { + { SOCK_SHADER, 1, "Shader1", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 1, "Shader2", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; -static bNodeSocketType sh_node_add_closure_out[]= { - { SOCK_CLOSURE, 0, "Closure", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, +static bNodeSocketType sh_node_add_shader_out[]= { + { SOCK_SHADER, 0, "Shader", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; -static void node_shader_exec_add_closure(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +static void node_shader_exec_add_shader(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } -static int node_shader_gpu_add_closure(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_add_shader(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { - return GPU_stack_link(mat, "node_add_closure", in, out); + return GPU_stack_link(mat, "node_add_shader", in, out); } /* node type definition */ -void register_node_type_sh_add_closure(ListBase *lb) +void register_node_type_sh_add_shader(ListBase *lb) { static bNodeType ntype; - node_type_base(&ntype, SH_NODE_ADD_CLOSURE, "Add Closure", NODE_CLASS_CLOSURE, 0, - sh_node_add_closure_in, sh_node_add_closure_out); + node_type_base(&ntype, SH_NODE_ADD_SHADER, "Add Shader", NODE_CLASS_SHADER, 0, + sh_node_add_shader_in, sh_node_add_shader_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); node_type_storage(&ntype, "", NULL, NULL); - node_type_exec(&ntype, node_shader_exec_add_closure); - node_type_gpu(&ntype, node_shader_gpu_add_closure); + node_type_exec(&ntype, node_shader_exec_add_shader); + node_type_gpu(&ntype, node_shader_gpu_add_shader); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_background.c b/source/blender/nodes/intern/SHD_nodes/SHD_background.c index 195f804416f..e5603b2d167 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_background.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_background.c @@ -38,7 +38,7 @@ static bNodeSocketType sh_node_background_in[]= { }; static bNodeSocketType sh_node_background_out[]= { - { SOCK_CLOSURE, 0, "Background", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 0, "Background", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; @@ -52,7 +52,7 @@ void register_node_type_sh_background(ListBase *lb) { static bNodeType ntype; - node_type_base(&ntype, SH_NODE_BACKGROUND, "Background", NODE_CLASS_CLOSURE, 0, + node_type_base(&ntype, SH_NODE_BACKGROUND, "Background", NODE_CLASS_SHADER, 0, sh_node_background_in, sh_node_background_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_blend_weight.c b/source/blender/nodes/intern/SHD_nodes/SHD_blend_weight.c new file mode 100644 index 00000000000..f68348a8aa5 --- /dev/null +++ b/source/blender/nodes/intern/SHD_nodes/SHD_blend_weight.c @@ -0,0 +1,68 @@ +/** + * $Id: SHD_blend_weight.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../SHD_util.h" + +/* **************** BlendWeight ******************** */ +static bNodeSocketType sh_node_blend_weight_in[]= { + { SOCK_VALUE, 1, "Blend", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static bNodeSocketType sh_node_blend_weight_out[]= { + { SOCK_VALUE, 0, "Fresnel", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "Facing", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_blend_weight(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +static int node_shader_gpu_blend_weight(GPUMaterial *UNUSED(mat), bNode *UNUSED(node), GPUNodeStack *UNUSED(in), GPUNodeStack *UNUSED(out)) +{ + return 0; +} + +/* node type definition */ +void register_node_type_sh_blend_weight(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_BLEND_WEIGHT, "Blend Weight", NODE_CLASS_INPUT, 0, + sh_node_blend_weight_in, sh_node_blend_weight_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_blend_weight); + node_type_gpu(&ntype, node_shader_gpu_blend_weight); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c index 508bf827440..15db7ebb53c 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_anisotropic.c @@ -39,7 +39,7 @@ static bNodeSocketType sh_node_bsdf_anisotropic_in[]= { }; static bNodeSocketType sh_node_bsdf_anisotropic_out[]= { - { SOCK_CLOSURE, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; @@ -57,7 +57,7 @@ void register_node_type_sh_bsdf_anisotropic(ListBase *lb) { static bNodeType ntype; - node_type_base(&ntype, SH_NODE_BSDF_ANISOTROPIC, "Glossy Anisotropic BSDF", NODE_CLASS_CLOSURE, 0, + node_type_base(&ntype, SH_NODE_BSDF_ANISOTROPIC, "Glossy Anisotropic BSDF", NODE_CLASS_SHADER, 0, sh_node_bsdf_anisotropic_in, sh_node_bsdf_anisotropic_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c index 2525174606a..bd2781d4052 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_diffuse.c @@ -37,7 +37,7 @@ static bNodeSocketType sh_node_bsdf_diffuse_in[]= { }; static bNodeSocketType sh_node_bsdf_diffuse_out[]= { - { SOCK_CLOSURE, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; @@ -55,7 +55,7 @@ void register_node_type_sh_bsdf_diffuse(ListBase *lb) { static bNodeType ntype; - node_type_base(&ntype, SH_NODE_BSDF_DIFFUSE, "Diffuse BSDF", NODE_CLASS_CLOSURE, 0, + node_type_base(&ntype, SH_NODE_BSDF_DIFFUSE, "Diffuse BSDF", NODE_CLASS_SHADER, 0, sh_node_bsdf_diffuse_in, sh_node_bsdf_diffuse_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c index 7f42c70b338..2d2b31573f2 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glass.c @@ -34,12 +34,12 @@ static bNodeSocketType sh_node_bsdf_glass_in[]= { { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, { SOCK_VALUE, 1, "Roughness", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VALUE, 1, "Fresnel", 0.3f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "IOR", 1.45f, 0.0f, 0.0f, 0.0f, 1.0f, 1000.0f}, { -1, 0, "" } }; static bNodeSocketType sh_node_bsdf_glass_out[]= { - { SOCK_CLOSURE, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; @@ -57,7 +57,7 @@ void register_node_type_sh_bsdf_glass(ListBase *lb) { static bNodeType ntype; - node_type_base(&ntype, SH_NODE_BSDF_GLASS, "Glass BSDF", NODE_CLASS_CLOSURE, 0, + node_type_base(&ntype, SH_NODE_BSDF_GLASS, "Glass BSDF", NODE_CLASS_SHADER, 0, sh_node_bsdf_glass_in, sh_node_bsdf_glass_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c index 16dea77d492..033aea1509f 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_glossy.c @@ -34,12 +34,11 @@ static bNodeSocketType sh_node_bsdf_glossy_in[]= { { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, { SOCK_VALUE, 1, "Roughness", 0.2f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VALUE, 1, "Fresnel", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; static bNodeSocketType sh_node_bsdf_glossy_out[]= { - { SOCK_CLOSURE, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; @@ -58,7 +57,7 @@ void register_node_type_sh_bsdf_glossy(ListBase *lb) { static bNodeType ntype; - node_type_base(&ntype, SH_NODE_BSDF_GLOSSY, "Glossy BSDF", NODE_CLASS_CLOSURE, 0, + node_type_base(&ntype, SH_NODE_BSDF_GLOSSY, "Glossy BSDF", NODE_CLASS_SHADER, 0, sh_node_bsdf_glossy_in, sh_node_bsdf_glossy_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c index ceec2891aaf..7a9ff48f5c9 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_translucent.c @@ -37,7 +37,7 @@ static bNodeSocketType sh_node_bsdf_translucent_in[]= { }; static bNodeSocketType sh_node_bsdf_translucent_out[]= { - { SOCK_CLOSURE, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; @@ -55,7 +55,7 @@ void register_node_type_sh_bsdf_translucent(ListBase *lb) { static bNodeType ntype; - node_type_base(&ntype, SH_NODE_BSDF_TRANSLUCENT, "Translucent BSDF", NODE_CLASS_CLOSURE, 0, + node_type_base(&ntype, SH_NODE_BSDF_TRANSLUCENT, "Translucent BSDF", NODE_CLASS_SHADER, 0, sh_node_bsdf_translucent_in, sh_node_bsdf_translucent_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c index 4f4537b339d..b3932162d73 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_transparent.c @@ -37,7 +37,7 @@ static bNodeSocketType sh_node_bsdf_transparent_in[]= { }; static bNodeSocketType sh_node_bsdf_transparent_out[]= { - { SOCK_CLOSURE, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; @@ -55,7 +55,7 @@ void register_node_type_sh_bsdf_transparent(ListBase *lb) { static bNodeType ntype; - node_type_base(&ntype, SH_NODE_BSDF_TRANSPARENT, "Transparent BSDF", NODE_CLASS_CLOSURE, 0, + node_type_base(&ntype, SH_NODE_BSDF_TRANSPARENT, "Transparent BSDF", NODE_CLASS_SHADER, 0, sh_node_bsdf_transparent_in, sh_node_bsdf_transparent_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c index 5b700eb1e4e..dfdcf2a4f7f 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_bsdf_velvet.c @@ -34,12 +34,11 @@ static bNodeSocketType sh_node_bsdf_velvet_in[]= { { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, { SOCK_VALUE, 1, "Sigma", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_VALUE, 1, "Fresnel", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; static bNodeSocketType sh_node_bsdf_velvet_out[]= { - { SOCK_CLOSURE, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 0, "BSDF", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; @@ -57,7 +56,7 @@ void register_node_type_sh_bsdf_velvet(ListBase *lb) { static bNodeType ntype; - node_type_base(&ntype, SH_NODE_BSDF_VELVET, "Velvet BSDF", NODE_CLASS_CLOSURE, 0, + node_type_base(&ntype, SH_NODE_BSDF_VELVET, "Velvet BSDF", NODE_CLASS_SHADER, 0, sh_node_bsdf_velvet_in, sh_node_bsdf_velvet_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_emission.c b/source/blender/nodes/intern/SHD_nodes/SHD_emission.c index 7a88db3380d..e8b1d58a85a 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_emission.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_emission.c @@ -33,12 +33,12 @@ static bNodeSocketType sh_node_emission_in[]= { { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, - { SOCK_VALUE, 1, "Strength", 100.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000000.0f}, + { SOCK_VALUE, 1, "Strength", 30.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000000.0f}, { -1, 0, "" } }; static bNodeSocketType sh_node_emission_out[]= { - { SOCK_CLOSURE, 0, "Emission", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 0, "Emission", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; @@ -56,7 +56,7 @@ void register_node_type_sh_emission(ListBase *lb) { static bNodeType ntype; - node_type_base(&ntype, SH_NODE_EMISSION, "Emission", NODE_CLASS_CLOSURE, 0, + node_type_base(&ntype, SH_NODE_EMISSION, "Emission", NODE_CLASS_SHADER, 0, sh_node_emission_in, sh_node_emission_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_fresnel.c b/source/blender/nodes/intern/SHD_nodes/SHD_fresnel.c index 8e6d2545bb1..ac17faaaaa4 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_fresnel.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_fresnel.c @@ -31,12 +31,12 @@ /* **************** Fresnel ******************** */ static bNodeSocketType sh_node_fresnel_in[]= { - { SOCK_VALUE, 1, "Fresnel", 0.3f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 1, "IOR", 1.45f, 0.0f, 0.0f, 0.0f, 1.0f, 1000.0f}, { -1, 0, "" } }; static bNodeSocketType sh_node_fresnel_out[]= { - { SOCK_VALUE, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VALUE, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_holdout.c b/source/blender/nodes/intern/SHD_nodes/SHD_holdout.c index a96b621456a..f874eda786a 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_holdout.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_holdout.c @@ -36,7 +36,7 @@ static bNodeSocketType sh_node_holdout_in[]= { }; static bNodeSocketType sh_node_holdout_out[]= { - { SOCK_CLOSURE, 0, "Holdout", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 0, "Holdout", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; @@ -50,7 +50,7 @@ void register_node_type_sh_holdout(ListBase *lb) { static bNodeType ntype; - node_type_base(&ntype, SH_NODE_HOLDOUT, "Holdout", NODE_CLASS_CLOSURE, 0, + node_type_base(&ntype, SH_NODE_HOLDOUT, "Holdout", NODE_CLASS_SHADER, 0, sh_node_holdout_in, sh_node_holdout_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_mix_closure.c b/source/blender/nodes/intern/SHD_nodes/SHD_mix_shader.c similarity index 61% rename from source/blender/nodes/intern/SHD_nodes/SHD_mix_closure.c rename to source/blender/nodes/intern/SHD_nodes/SHD_mix_shader.c index 55838365756..3f486c4b469 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_mix_closure.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_mix_shader.c @@ -31,39 +31,39 @@ /* **************** OUTPUT ******************** */ -static bNodeSocketType sh_node_mix_closure_in[]= { +static bNodeSocketType sh_node_mix_shader_in[]= { { SOCK_VALUE, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_CLOSURE, 1, "Closure1", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_CLOSURE, 1, "Closure2", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 1, "Shader1", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 1, "Shader2", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; -static bNodeSocketType sh_node_mix_closure_out[]= { - { SOCK_CLOSURE, 0, "Closure", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, +static bNodeSocketType sh_node_mix_shader_out[]= { + { SOCK_SHADER, 0, "Shader", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; -static void node_shader_exec_mix_closure(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +static void node_shader_exec_mix_shader(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } -static int node_shader_gpu_mix_closure(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_mix_shader(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) { - return GPU_stack_link(mat, "node_mix_closure", in, out); + return GPU_stack_link(mat, "node_mix_shader", in, out); } /* node type definition */ -void register_node_type_sh_mix_closure(ListBase *lb) +void register_node_type_sh_mix_shader(ListBase *lb) { static bNodeType ntype; - node_type_base(&ntype, SH_NODE_MIX_CLOSURE, "Mix Closure", NODE_CLASS_CLOSURE, 0, - sh_node_mix_closure_in, sh_node_mix_closure_out); + node_type_base(&ntype, SH_NODE_MIX_SHADER, "Mix Shader", NODE_CLASS_SHADER, 0, + sh_node_mix_shader_in, sh_node_mix_shader_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); node_type_storage(&ntype, "", NULL, NULL); - node_type_exec(&ntype, node_shader_exec_mix_closure); - node_type_gpu(&ntype, node_shader_gpu_mix_closure); + node_type_exec(&ntype, node_shader_exec_mix_shader); + node_type_gpu(&ntype, node_shader_gpu_mix_shader); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_output_lamp.c b/source/blender/nodes/intern/SHD_nodes/SHD_output_lamp.c index 6665c727f48..5be9a1f6948 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_output_lamp.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_output_lamp.c @@ -32,7 +32,7 @@ /* **************** OUTPUT ******************** */ static bNodeSocketType sh_node_output_lamp_in[]= { - { SOCK_CLOSURE, 1, "Surface", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 1, "Surface", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_output_material.c b/source/blender/nodes/intern/SHD_nodes/SHD_output_material.c index 06ab6b67dac..c0cdde3fb8b 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_output_material.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_output_material.c @@ -32,8 +32,8 @@ /* **************** OUTPUT ******************** */ static bNodeSocketType sh_node_output_material_in[]= { - { SOCK_CLOSURE, 1, "Surface", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_CLOSURE, 1, "Volume", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 1, "Surface", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 1, "Volume", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_VALUE, 1, "Displacement", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, SOCK_NO_VALUE}, { -1, 0, "" } }; diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_output_world.c b/source/blender/nodes/intern/SHD_nodes/SHD_output_world.c index d140fb2408c..410ddd25bff 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_output_world.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_output_world.c @@ -32,8 +32,8 @@ /* **************** OUTPUT ******************** */ static bNodeSocketType sh_node_output_world_in[]= { - { SOCK_CLOSURE, 1, "Surface", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_CLOSURE, 1, "Volume", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 1, "Surface", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 1, "Volume", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; From b5d1f7a073fb3f283bb6446a506e256d684df79f Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 17 Sep 2011 14:38:56 +0000 Subject: [PATCH 138/241] Cycles: missed these files in merge commit. --- .../shader/nodes/node_shader_add_shader.c | 69 +++ .../shader/nodes/node_shader_attribute.c | 59 +++ .../shader/nodes/node_shader_background.c | 65 +++ .../shader/nodes/node_shader_blend_weight.c | 68 +++ .../nodes/node_shader_bsdf_anisotropic.c | 70 +++ .../shader/nodes/node_shader_bsdf_diffuse.c | 68 +++ .../shader/nodes/node_shader_bsdf_glass.c | 70 +++ .../shader/nodes/node_shader_bsdf_glossy.c | 70 +++ .../nodes/node_shader_bsdf_translucent.c | 68 +++ .../nodes/node_shader_bsdf_transparent.c | 68 +++ .../shader/nodes/node_shader_bsdf_velvet.c | 69 +++ .../nodes/shader/nodes/node_shader_emission.c | 69 +++ .../nodes/shader/nodes/node_shader_fresnel.c | 68 +++ .../nodes/shader/nodes/node_shader_geometry.c | 71 +++ .../nodes/shader/nodes/node_shader_holdout.c | 63 +++ .../shader/nodes/node_shader_light_path.c | 69 +++ .../shader/nodes/node_shader_mix_shader.c | 70 +++ .../nodes/shader/nodes/node_shader_noise.h | 472 ++++++++++++++++++ .../shader/nodes/node_shader_output_lamp.c | 58 +++ .../nodes/node_shader_output_material.c | 71 +++ .../shader/nodes/node_shader_output_texture.c | 75 +++ .../shader/nodes/node_shader_output_world.c | 59 +++ .../shader/nodes/node_shader_tex_blend.c | 135 +++++ .../shader/nodes/node_shader_tex_clouds.c | 118 +++++ .../shader/nodes/node_shader_tex_coord.c | 75 +++ .../shader/nodes/node_shader_tex_distnoise.c | 115 +++++ .../nodes/node_shader_tex_environment.c | 115 +++++ .../shader/nodes/node_shader_tex_image.c | 113 +++++ .../shader/nodes/node_shader_tex_magic.c | 169 +++++++ .../shader/nodes/node_shader_tex_marble.c | 123 +++++ .../shader/nodes/node_shader_tex_musgrave.c | 288 +++++++++++ .../shader/nodes/node_shader_tex_noise.c | 100 ++++ .../nodes/shader/nodes/node_shader_tex_sky.c | 82 +++ .../shader/nodes/node_shader_tex_stucci.c | 118 +++++ .../shader/nodes/node_shader_tex_voronoi.c | 164 ++++++ .../nodes/shader/nodes/node_shader_tex_wood.c | 125 +++++ 36 files changed, 3729 insertions(+) create mode 100644 source/blender/nodes/shader/nodes/node_shader_add_shader.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_attribute.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_background.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_blend_weight.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_bsdf_glass.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_bsdf_velvet.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_emission.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_fresnel.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_geometry.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_holdout.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_light_path.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_mix_shader.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_noise.h create mode 100644 source/blender/nodes/shader/nodes/node_shader_output_lamp.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_output_material.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_output_texture.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_output_world.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_tex_blend.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_tex_clouds.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_tex_coord.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_tex_distnoise.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_tex_environment.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_tex_image.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_tex_magic.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_tex_marble.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_tex_noise.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_tex_sky.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_tex_stucci.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_tex_wood.c diff --git a/source/blender/nodes/shader/nodes/node_shader_add_shader.c b/source/blender/nodes/shader/nodes/node_shader_add_shader.c new file mode 100644 index 00000000000..cc059d3dc90 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_add_shader.c @@ -0,0 +1,69 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_add_shader_in[]= { + { SOCK_SHADER, 1, "Shader1"}, + { SOCK_SHADER, 1, "Shader2"}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_add_shader_out[]= { + { SOCK_SHADER, 0, "Shader"}, + { -1, 0, "" } +}; + +static void node_shader_exec_add_shader(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +static int node_shader_gpu_add_shader(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_add_shader", in, out); +} + +/* node type definition */ +void register_node_type_sh_add_shader(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_ADD_SHADER, "Add Shader", NODE_CLASS_SHADER, 0); + node_type_socket_templates(&ntype, sh_node_add_shader_in, sh_node_add_shader_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_add_shader); + node_type_gpu(&ntype, node_shader_gpu_add_shader); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_attribute.c b/source/blender/nodes/shader/nodes/node_shader_attribute.c new file mode 100644 index 00000000000..569a75ee79c --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_attribute.c @@ -0,0 +1,59 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_attribute_out[]= { + { SOCK_VECTOR, 0, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_attribute(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + + +/* node type definition */ +void register_node_type_sh_attribute(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_ATTRIBUTE, "Attribute", NODE_CLASS_INPUT, 0); + node_type_socket_templates(&ntype, NULL, sh_node_attribute_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_attribute); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_background.c b/source/blender/nodes/shader/nodes/node_shader_background.c new file mode 100644 index 00000000000..fab2310f4f6 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_background.c @@ -0,0 +1,65 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_background_in[]= { + { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 1, "Strength", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_background_out[]= { + { SOCK_SHADER, 0, "Background"}, + { -1, 0, "" } +}; + +static void node_shader_exec_background(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + + +/* node type definition */ +void register_node_type_sh_background(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_BACKGROUND, "Background", NODE_CLASS_SHADER, 0); + node_type_socket_templates(&ntype, sh_node_background_in, sh_node_background_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_background); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_blend_weight.c b/source/blender/nodes/shader/nodes/node_shader_blend_weight.c new file mode 100644 index 00000000000..1affc276c18 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_blend_weight.c @@ -0,0 +1,68 @@ +/** + * $Id: node_shader_blend_weight.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** BlendWeight ******************** */ +static bNodeSocketTemplate sh_node_blend_weight_in[]= { + { SOCK_FLOAT, 1, "Blend", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_blend_weight_out[]= { + { SOCK_FLOAT, 0, "Fresnel", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 0, "Facing", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_blend_weight(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +static int node_shader_gpu_blend_weight(GPUMaterial *UNUSED(mat), bNode *UNUSED(node), GPUNodeStack *UNUSED(in), GPUNodeStack *UNUSED(out)) +{ + return 0; +} + +/* node type definition */ +void register_node_type_sh_blend_weight(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_BLEND_WEIGHT, "Blend Weight", NODE_CLASS_INPUT, 0); + node_type_socket_templates(&ntype, sh_node_blend_weight_in, sh_node_blend_weight_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_blend_weight); + node_type_gpu(&ntype, node_shader_gpu_blend_weight); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c new file mode 100644 index 00000000000..8ee6be6e624 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c @@ -0,0 +1,70 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_bsdf_anisotropic_in[]= { + { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 1, "Roughness U", 0.2f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 1, "Roughness V", 0.2f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_bsdf_anisotropic_out[]= { + { SOCK_SHADER, 0, "BSDF"}, + { -1, 0, "" } +}; + +static void node_shader_exec_bsdf_anisotropic(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +static int node_shader_gpu_bsdf_anisotropic(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_bsdf_anisotropic", in, out, GPU_builtin(GPU_VIEW_NORMAL), GPU_builtin(GPU_VIEW_POSITION)); +} + +/* node type definition */ +void register_node_type_sh_bsdf_anisotropic(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_BSDF_ANISOTROPIC, "Glossy Anisotropic BSDF", NODE_CLASS_SHADER, 0); + node_type_socket_templates(&ntype, sh_node_bsdf_anisotropic_in, sh_node_bsdf_anisotropic_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_bsdf_anisotropic); + node_type_gpu(&ntype, node_shader_gpu_bsdf_anisotropic); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.c new file mode 100644 index 00000000000..33f9ab8f469 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.c @@ -0,0 +1,68 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_bsdf_diffuse_in[]= { + { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_bsdf_diffuse_out[]= { + { SOCK_SHADER, 0, "BSDF"}, + { -1, 0, "" } +}; + +static void node_shader_exec_bsdf_diffuse(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +static int node_shader_gpu_bsdf_diffuse(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_bsdf_diffuse", in, out, GPU_builtin(GPU_VIEW_NORMAL)); +} + +/* node type definition */ +void register_node_type_sh_bsdf_diffuse(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_BSDF_DIFFUSE, "Diffuse BSDF", NODE_CLASS_SHADER, 0); + node_type_socket_templates(&ntype, sh_node_bsdf_diffuse_in, sh_node_bsdf_diffuse_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_bsdf_diffuse); + node_type_gpu(&ntype, node_shader_gpu_bsdf_diffuse); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.c new file mode 100644 index 00000000000..c7a3de44fb2 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.c @@ -0,0 +1,70 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_bsdf_glass_in[]= { + { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 1, "Roughness", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 1, "IOR", 1.45f, 0.0f, 0.0f, 0.0f, 1.0f, 1000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_bsdf_glass_out[]= { + { SOCK_SHADER, 0, "BSDF"}, + { -1, 0, "" } +}; + +static void node_shader_exec_bsdf_glass(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +static int node_shader_gpu_bsdf_glass(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_bsdf_glass", in, out, GPU_builtin(GPU_VIEW_NORMAL), GPU_builtin(GPU_VIEW_POSITION)); +} + +/* node type definition */ +void register_node_type_sh_bsdf_glass(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_BSDF_GLASS, "Glass BSDF", NODE_CLASS_SHADER, 0); + node_type_socket_templates(&ntype, sh_node_bsdf_glass_in, sh_node_bsdf_glass_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_bsdf_glass); + node_type_gpu(&ntype, node_shader_gpu_bsdf_glass); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.c new file mode 100644 index 00000000000..879ef0d8ae8 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.c @@ -0,0 +1,70 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_bsdf_glossy_in[]= { + { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 1, "Roughness", 0.2f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_bsdf_glossy_out[]= { + { SOCK_SHADER, 0, "BSDF"}, + { -1, 0, "" } +}; + +static void node_shader_exec_bsdf_glossy(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +static int node_shader_gpu_bsdf_glossy(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + /* todo: is incoming vector normalized? */ + return GPU_stack_link(mat, "node_bsdf_glossy", in, out, GPU_builtin(GPU_VIEW_NORMAL), GPU_builtin(GPU_VIEW_POSITION)); +} + +/* node type definition */ +void register_node_type_sh_bsdf_glossy(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_BSDF_GLOSSY, "Glossy BSDF", NODE_CLASS_SHADER, 0); + node_type_socket_templates(&ntype, sh_node_bsdf_glossy_in, sh_node_bsdf_glossy_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_bsdf_glossy); + node_type_gpu(&ntype, node_shader_gpu_bsdf_glossy); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.c new file mode 100644 index 00000000000..6f02f281cff --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.c @@ -0,0 +1,68 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_bsdf_translucent_in[]= { + { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_bsdf_translucent_out[]= { + { SOCK_SHADER, 0, "BSDF"}, + { -1, 0, "" } +}; + +static void node_shader_exec_bsdf_translucent(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +static int node_shader_gpu_bsdf_translucent(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_bsdf_translucent", in, out, GPU_builtin(GPU_VIEW_NORMAL)); +} + +/* node type definition */ +void register_node_type_sh_bsdf_translucent(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_BSDF_TRANSLUCENT, "Translucent BSDF", NODE_CLASS_SHADER, 0); + node_type_socket_templates(&ntype, sh_node_bsdf_translucent_in, sh_node_bsdf_translucent_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_bsdf_translucent); + node_type_gpu(&ntype, node_shader_gpu_bsdf_translucent); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.c new file mode 100644 index 00000000000..49e131b289e --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.c @@ -0,0 +1,68 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_bsdf_transparent_in[]= { + { SOCK_RGBA, 1, "Color", 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_bsdf_transparent_out[]= { + { SOCK_SHADER, 0, "BSDF"}, + { -1, 0, "" } +}; + +static void node_shader_exec_bsdf_transparent(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +static int node_shader_gpu_bsdf_transparent(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_bsdf_transparent", in, out); +} + +/* node type definition */ +void register_node_type_sh_bsdf_transparent(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_BSDF_TRANSPARENT, "Transparent BSDF", NODE_CLASS_SHADER, 0); + node_type_socket_templates(&ntype, sh_node_bsdf_transparent_in, sh_node_bsdf_transparent_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_bsdf_transparent); + node_type_gpu(&ntype, node_shader_gpu_bsdf_transparent); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_velvet.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_velvet.c new file mode 100644 index 00000000000..49c783d046e --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_velvet.c @@ -0,0 +1,69 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_bsdf_velvet_in[]= { + { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 1, "Sigma", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_bsdf_velvet_out[]= { + { SOCK_SHADER, 0, "BSDF"}, + { -1, 0, "" } +}; + +static void node_shader_exec_bsdf_velvet(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +static int node_shader_gpu_bsdf_velvet(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_bsdf_velvet", in, out, GPU_builtin(GPU_VIEW_NORMAL)); +} + +/* node type definition */ +void register_node_type_sh_bsdf_velvet(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_BSDF_VELVET, "Velvet BSDF", NODE_CLASS_SHADER, 0); + node_type_socket_templates(&ntype, sh_node_bsdf_velvet_in, sh_node_bsdf_velvet_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_bsdf_velvet); + node_type_gpu(&ntype, node_shader_gpu_bsdf_velvet); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_emission.c b/source/blender/nodes/shader/nodes/node_shader_emission.c new file mode 100644 index 00000000000..d57c5b672a5 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_emission.c @@ -0,0 +1,69 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_emission_in[]= { + { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 1, "Strength", 30.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_emission_out[]= { + { SOCK_SHADER, 0, "Emission"}, + { -1, 0, "" } +}; + +static void node_shader_exec_emission(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +static int node_shader_gpu_emission(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_emission", in, out, GPU_builtin(GPU_VIEW_NORMAL)); +} + +/* node type definition */ +void register_node_type_sh_emission(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_EMISSION, "Emission", NODE_CLASS_SHADER, 0); + node_type_socket_templates(&ntype, sh_node_emission_in, sh_node_emission_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_emission); + node_type_gpu(&ntype, node_shader_gpu_emission); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_fresnel.c b/source/blender/nodes/shader/nodes/node_shader_fresnel.c new file mode 100644 index 00000000000..c918d8464e6 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_fresnel.c @@ -0,0 +1,68 @@ +/** + * $Id: node_shader_fresnel.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** Fresnel ******************** */ +static bNodeSocketTemplate sh_node_fresnel_in[]= { + { SOCK_FLOAT, 1, "IOR", 1.45f, 0.0f, 0.0f, 0.0f, 1.0f, 1000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_fresnel_out[]= { + { SOCK_FLOAT, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_fresnel(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +static int node_shader_gpu_fresnel(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + /* todo: is incoming vector normalized? */ + return GPU_stack_link(mat, "node_fresnel", in, out, GPU_builtin(GPU_VIEW_NORMAL), GPU_builtin(GPU_VIEW_POSITION)); +} + +/* node type definition */ +void register_node_type_sh_fresnel(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_FRESNEL, "Fresnel", NODE_CLASS_INPUT, 0); + node_type_socket_templates(&ntype, sh_node_fresnel_in, sh_node_fresnel_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_fresnel); + node_type_gpu(&ntype, node_shader_gpu_fresnel); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_geometry.c b/source/blender/nodes/shader/nodes/node_shader_geometry.c new file mode 100644 index 00000000000..73ec0b2e5d6 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_geometry.c @@ -0,0 +1,71 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_geometry_out[]= { + { SOCK_VECTOR, 0, "Position", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "Tangent", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "True Normal", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "Incoming", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "Parametric", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 0, "Backfacing", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_geometry(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +static int node_shader_gpu_geometry(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_geometry", in, out, + GPU_builtin(GPU_VIEW_POSITION), GPU_builtin(GPU_VIEW_NORMAL), + GPU_builtin(GPU_INVERSE_VIEW_MATRIX)); +} + +/* node type definition */ +void register_node_type_sh_geometry(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_GEOMETRY, "Geometry", NODE_CLASS_INPUT, 0); + node_type_socket_templates(&ntype, NULL, sh_node_geometry_out); + node_type_size(&ntype, 120, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_geometry); + node_type_gpu(&ntype, node_shader_gpu_geometry); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_holdout.c b/source/blender/nodes/shader/nodes/node_shader_holdout.c new file mode 100644 index 00000000000..1f376c4941c --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_holdout.c @@ -0,0 +1,63 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_holdout_in[]= { + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_holdout_out[]= { + { SOCK_SHADER, 0, "Holdout"}, + { -1, 0, "" } +}; + +static void node_shader_exec_holdout(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + + +/* node type definition */ +void register_node_type_sh_holdout(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_HOLDOUT, "Holdout", NODE_CLASS_SHADER, 0); + node_type_socket_templates(&ntype, sh_node_holdout_in, sh_node_holdout_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_holdout); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_light_path.c b/source/blender/nodes/shader/nodes/node_shader_light_path.c new file mode 100644 index 00000000000..a811259cced --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_light_path.c @@ -0,0 +1,69 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_light_path_out[]= { + { SOCK_FLOAT, 0, "Is Camera Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 0, "Is Shadow Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 0, "Is Diffuse Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 0, "Is Glossy Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 0, "Is Singular Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 0, "Is Reflection Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 0, "Is Transmission Ray", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_light_path(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +static int node_shader_gpu_light_path(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_light_path", in, out); +} + +/* node type definition */ +void register_node_type_sh_light_path(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_LIGHT_PATH, "Light Path", NODE_CLASS_INPUT, 0); + node_type_socket_templates(&ntype, NULL, sh_node_light_path_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_light_path); + node_type_gpu(&ntype, node_shader_gpu_light_path); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_mix_shader.c b/source/blender/nodes/shader/nodes/node_shader_mix_shader.c new file mode 100644 index 00000000000..637f515583c --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_mix_shader.c @@ -0,0 +1,70 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_mix_shader_in[]= { + { SOCK_FLOAT, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 1, "Shader1"}, + { SOCK_SHADER, 1, "Shader2"}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_mix_shader_out[]= { + { SOCK_SHADER, 0, "Shader"}, + { -1, 0, "" } +}; + +static void node_shader_exec_mix_shader(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +static int node_shader_gpu_mix_shader(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + return GPU_stack_link(mat, "node_mix_shader", in, out); +} + +/* node type definition */ +void register_node_type_sh_mix_shader(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_MIX_SHADER, "Mix Shader", NODE_CLASS_SHADER, 0); + node_type_socket_templates(&ntype, sh_node_mix_shader_in, sh_node_mix_shader_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_mix_shader); + node_type_gpu(&ntype, node_shader_gpu_mix_shader); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_noise.h b/source/blender/nodes/shader/nodes/node_shader_noise.h new file mode 100644 index 00000000000..44aa8f6bb41 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_noise.h @@ -0,0 +1,472 @@ +/* + * Adapted from Open Shading Language with this license: + * + * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. + * All Rights Reserved. + * + * Modifications Copyright 2011, Blender Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Sony Pictures Imageworks nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef NODE_SHADER_NOISE_H +#define NODE_SHADER_NOISE_H + +MINLINE int quick_floor(float x) +{ + return (int)x - ((x < 0) ? 1 : 0); +} + +MINLINE float bits_to_01(unsigned int bits) +{ + return bits * (1.0f/(float)0xFFFFFFFF); +} + +MINLINE unsigned int hash(unsigned int kx, unsigned int ky, unsigned int kz) +{ + // define some handy macros +#define rot(x,k) (((x)<<(k)) | ((x)>>(32-(k)))) +#define final(a,b,c) \ +{ \ + c ^= b; c -= rot(b,14); \ + a ^= c; a -= rot(c,11); \ + b ^= a; b -= rot(a,25); \ + c ^= b; c -= rot(b,16); \ + a ^= c; a -= rot(c,4); \ + b ^= a; b -= rot(a,14); \ + c ^= b; c -= rot(b,24); \ +} + // now hash the data! + unsigned int a, b, c, len = 3; + a = b = c = 0xdeadbeef + (len << 2) + 13; + + c += kz; + b += ky; + a += kx; + final(a, b, c); + + return c; + // macros not needed anymore +#undef rot +#undef final +} + +MINLINE int imod(int a, int b) +{ + a %= b; + return a < 0 ? a + b : a; +} + +MINLINE unsigned int phash(int kx, int ky, int kz, int p[3]) +{ + return hash(imod(kx, p[0]), imod(ky, p[1]), imod(kz, p[2])); +} + +MINLINE float floorfrac(float x, int* i) +{ + *i = quick_floor(x); + return x - *i; +} + +MINLINE float fade(float t) +{ + return t * t * t * (t * (t * 6.0f - 15.0f) + 10.0f); +} + +MINLINE float nerp(float t, float a, float b) +{ + return (1.0f - t) * a + t * b; +} + +MINLINE float grad(int hash, float x, float y, float z) +{ + // use vectors pointing to the edges of the cube + int h = hash & 15; + float u = h<8 ? x : y; + float v = h<4 ? y : h==12||h==14 ? x : z; + return ((h&1) ? -u : u) + ((h&2) ? -v : v); +} + +MINLINE float scale3(float result) +{ + return 0.9820f * result; +} + +MINLINE float perlin(float x, float y, float z) +{ + int X; float fx = floorfrac(x, &X); + int Y; float fy = floorfrac(y, &Y); + int Z; float fz = floorfrac(z, &Z); + + float u = fade(fx); + float v = fade(fy); + float w = fade(fz); + + float result; + + result = nerp (w, nerp (v, nerp (u, grad (hash (X , Y , Z ), fx , fy , fz ), + grad (hash (X+1, Y , Z ), fx-1.0f, fy , fz )), + nerp (u, grad (hash (X , Y+1, Z ), fx , fy-1.0f, fz ), + grad (hash (X+1, Y+1, Z ), fx-1.0f, fy-1.0f, fz ))), + nerp (v, nerp (u, grad (hash (X , Y , Z+1), fx , fy , fz-1.0f ), + grad (hash (X+1, Y , Z+1), fx-1.0f, fy , fz-1.0f )), + nerp (u, grad (hash (X , Y+1, Z+1), fx , fy-1.0f, fz-1.0f ), + grad (hash (X+1, Y+1, Z+1), fx-1.0f, fy-1.0f, fz-1.0f )))); + return scale3(result); +} + +MINLINE float perlin_periodic(float x, float y, float z, float pperiod[3]) +{ + int X; float fx = floorfrac(x, &X); + int Y; float fy = floorfrac(y, &Y); + int Z; float fz = floorfrac(z, &Z); + + int p[3] = { + MAX2(quick_floor(pperiod[0]), 1), + MAX2(quick_floor(pperiod[1]), 1), + MAX2(quick_floor(pperiod[2]), 1)}; + + float u = fade(fx); + float v = fade(fy); + float w = fade(fz); + + float result; + + result = nerp (w, nerp (v, nerp (u, grad (phash (X , Y , Z , p), fx , fy , fz ), + grad (phash (X+1, Y , Z , p), fx-1.0f, fy , fz )), + nerp (u, grad (phash (X , Y+1, Z , p), fx , fy-1.0f, fz ), + grad (phash (X+1, Y+1, Z , p), fx-1.0f, fy-1.0f, fz ))), + nerp (v, nerp (u, grad (phash (X , Y , Z+1, p), fx , fy , fz-1.0f ), + grad (phash (X+1, Y , Z+1, p), fx-1.0f, fy , fz-1.0f )), + nerp (u, grad (phash (X , Y+1, Z+1, p), fx , fy-1.0f, fz-1.0f ), + grad (phash (X+1, Y+1, Z+1, p), fx-1.0f, fy-1.0f, fz-1.0f )))); + return scale3(result); +} + +/* perlin noise in range 0..1 */ +MINLINE float noise(float p[3]) +{ + float r = perlin(p[0], p[1], p[2]); + return 0.5f*r + 0.5f; +} + +/* perlin noise in range -1..1 */ +MINLINE float snoise(float p[3]) +{ + return perlin(p[0], p[1], p[2]); +} + +/* cell noise */ +MINLINE float cellnoise(float p[3]) +{ + unsigned int ix = quick_floor(p[0]); + unsigned int iy = quick_floor(p[1]); + unsigned int iz = quick_floor(p[2]); + + return bits_to_01(hash(ix, iy, iz)); +} + +MINLINE void cellnoise_color(float rgb[3], float p[3]) +{ + float pg[3] = {p[1], p[0], p[2]}; + float pb[3] = {p[1], p[2], p[0]}; + + float r = cellnoise(p); + float g = cellnoise(pg); + float b = cellnoise(pb); + + rgb[0]= r; + rgb[1]= g; + rgb[2]= b; +} + +/* periodic perlin noise in range 0..1 */ +MINLINE float pnoise(float p[3], float pperiod[3]) +{ + float r = perlin_periodic(p[0], p[1], p[2], pperiod); + return 0.5f*r + 0.5f; +} + +/* periodic perlin noise in range -1..1 */ +MINLINE float psnoise(float p[3], float pperiod[3]) +{ + return perlin_periodic(p[0], p[1], p[2], pperiod); +} + +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +/* turbulence */ +MINLINE float turbulence(float p[3], int oct, int hard) +{ + float amp = 1.0f, fscale = 1.0f, sum = 0.0f; + int i; + + for(i=0; i<=oct; i++, amp *= 0.5f, fscale *= 2.0f) { + float pscale[3] = {fscale*p[0], fscale*p[1], fscale*p[2]}; + float t = noise(pscale); + if(hard) t = fabsf(2.0f*t - 1.0f); + sum += t * amp; + } + + sum *= ((float)(1< 1.0f)? 1.0f: t; +} + +MINLINE float voronoi_F1S(float p[3]) { return 2.0f*voronoi_F1(p) - 1.0f; } +MINLINE float voronoi_F2S(float p[3]) { return 2.0f*voronoi_F2(p) - 1.0f; } +MINLINE float voronoi_F3S(float p[3]) { return 2.0f*voronoi_F3(p) - 1.0f; } +MINLINE float voronoi_F4S(float p[3]) { return 2.0f*voronoi_F4(p) - 1.0f; } +MINLINE float voronoi_F1F2S(float p[3]) { return 2.0f*voronoi_F1F2(p) - 1.0f; } +MINLINE float voronoi_CrS(float p[3]) { return 2.0f*voronoi_Cr(p) - 1.0f; } + +/* Noise Bases */ + +MINLINE float noise_basis(float p[3], int basis) +{ + if(basis == SHD_NOISE_PERLIN) + return noise(p); + if(basis == SHD_NOISE_VORONOI_F1) + return voronoi_F1S(p); + if(basis == SHD_NOISE_VORONOI_F2) + return voronoi_F2S(p); + if(basis == SHD_NOISE_VORONOI_F3) + return voronoi_F3S(p); + if(basis == SHD_NOISE_VORONOI_F4) + return voronoi_F4S(p); + if(basis == SHD_NOISE_VORONOI_F2_F1) + return voronoi_F1F2S(p); + if(basis == SHD_NOISE_VORONOI_CRACKLE) + return voronoi_CrS(p); + if(basis == SHD_NOISE_CELL_NOISE) + return cellnoise(p); + + return 0.0f; +} + +/* Soft/Hard Noise */ + +MINLINE float noise_basis_hard(float p[3], int basis, int hard) +{ + float t = noise_basis(p, basis); + return (hard)? fabsf(2.0f*t - 1.0f): t; +} + +/* Waves */ + +MINLINE float noise_wave(int wave, float a) +{ + if(wave == SHD_WAVE_SINE) { + return 0.5f + 0.5f*sin(a); + } + else if(wave == SHD_WAVE_SAW) { + float b = 2*M_PI; + int n = (int)(a / b); + a -= n*b; + if(a < 0) a += b; + + return a / b; + } + else if(wave == SHD_WAVE_TRI) { + float b = 2*M_PI; + float rmax = 1.0f; + + return rmax - 2.0f*fabsf(floorf((a*(1.0f/b))+0.5f) - (a*(1.0f/b))); + } + + return 0.0f; +} + +/* Turbulence */ + +MINLINE float noise_turbulence(float p[3], int basis, int octaves, int hard) +{ + float fscale = 1.0f; + float amp = 1.0f; + float sum = 0.0f; + int i; + + for(i = 0; i <= octaves; i++) { + float pscale[3] = {fscale*p[0], fscale*p[1], fscale*p[2]}; + float t = noise_basis(pscale, basis); + + if(hard) + t = fabsf(2.0f*t - 1.0f); + + sum += t*amp; + amp *= 0.5f; + fscale *= 2.0f; + } + + sum *= ((float)(1 << octaves)/(float)((1 << (octaves+1)) - 1)); + + return sum; +} + +#endif /* NODE_SHADER_NOISE_H */ + diff --git a/source/blender/nodes/shader/nodes/node_shader_output_lamp.c b/source/blender/nodes/shader/nodes/node_shader_output_lamp.c new file mode 100644 index 00000000000..019921737c0 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_output_lamp.c @@ -0,0 +1,58 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_output_lamp_in[]= { + { SOCK_SHADER, 1, "Surface", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_output_lamp(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_output_lamp(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_OUTPUT_LAMP, "Lamp Output", NODE_CLASS_OUTPUT, 0); + node_type_socket_templates(&ntype, sh_node_output_lamp_in, NULL); + node_type_size(&ntype, 120, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_output_lamp); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_output_material.c b/source/blender/nodes/shader/nodes/node_shader_output_material.c new file mode 100644 index 00000000000..a78d68596fb --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_output_material.c @@ -0,0 +1,71 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_output_material_in[]= { + { SOCK_SHADER, 1, "Surface"}, + { SOCK_SHADER, 1, "Volume"}, + { SOCK_FLOAT, 1, "Displacement", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, + { -1, 0, "" } +}; + +static void node_shader_exec_output_material(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +static int node_shader_gpu_output_material(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + GPUNodeLink *outlink; + + GPU_stack_link(mat, "node_output_material", in, out, &outlink); + GPU_material_output_link(mat, outlink); + + return 1; +} + + +/* node type definition */ +void register_node_type_sh_output_material(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_OUTPUT_MATERIAL, "Material Output", NODE_CLASS_OUTPUT, 0); + node_type_socket_templates(&ntype, sh_node_output_material_in, NULL); + node_type_size(&ntype, 120, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_output_material); + node_type_gpu(&ntype, node_shader_gpu_output_material); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_output_texture.c b/source/blender/nodes/shader/nodes/node_shader_output_texture.c new file mode 100644 index 00000000000..ad37746f541 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_output_texture.c @@ -0,0 +1,75 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_output_texture_in[]= { + { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_output_texture(void *data, bNode *node, bNodeStack **in, bNodeStack **UNUSED(out)) +{ + if(data && (node->flag & NODE_DO_OUTPUT)) { + ShaderCallData *scd= (ShaderCallData*)data; + TexResult *texres = scd->texres; + float col[4]; + + if(!texres) + return; + + nodestack_get_vec(col, SOCK_RGBA, in[0]); + + texres->tr= col[0]; + texres->tg= col[1]; + texres->tb= col[2]; + texres->ta= 1.0f; + + texres->tin= rgb_to_grayscale(col); + } +} + +/* node type definition */ +void register_node_type_sh_output_texture(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_OUTPUT_TEXTURE, "Texture Output", NODE_CLASS_OUTPUT, 0); + node_type_socket_templates(&ntype, sh_node_output_texture_in, NULL); + node_type_size(&ntype, 120, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_output_texture); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_output_world.c b/source/blender/nodes/shader/nodes/node_shader_output_world.c new file mode 100644 index 00000000000..ee8c1f8addb --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_output_world.c @@ -0,0 +1,59 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_output_world_in[]= { + { SOCK_SHADER, 1, "Surface", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 1, "Volume", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_output_world(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +/* node type definition */ +void register_node_type_sh_output_world(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_OUTPUT_WORLD, "World Output", NODE_CLASS_OUTPUT, 0); + node_type_socket_templates(&ntype, sh_node_output_world_in, NULL); + node_type_size(&ntype, 120, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_output_world); + node_type_gpu(&ntype, NULL); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_blend.c b/source/blender/nodes/shader/nodes/node_shader_tex_blend.c new file mode 100644 index 00000000000..a42da334df2 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_tex_blend.c @@ -0,0 +1,135 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +static float blend(float p[3], int type, int axis) +{ + float x, y; + + if(axis == SHD_BLEND_VERTICAL) { + x= p[1]; + y= p[0]; + } + else { + x= p[0]; + y= p[1]; + } + + if(type == SHD_BLEND_LINEAR) { + return (1.0f + x)/2.0f; + } + else if(type == SHD_BLEND_QUADRATIC) { + float r = MAX2((1.0f + x)/2.0f, 0.0f); + return r*r; + } + else if(type == SHD_BLEND_EASING) { + float r = MIN2(MAX2((1.0f + x)/2.0f, 0.0f), 1.0f); + float t = r*r; + + return (3.0f*t - 2.0f*t*r); + } + else if(type == SHD_BLEND_DIAGONAL) { + return (2.0f + x + y)/4.0f; + } + else if(type == SHD_BLEND_RADIAL) { + return atan2(y, x)/(2.0f*(float)M_PI) + 0.5f; + } + else { + float r = MAX2(1.0f - sqrtf(x*x + y*y + p[2]*p[2]), 0.0f); + + if(type == SHD_BLEND_QUADRATIC_SPHERE) + return r*r; + else if(type == SHD_BLEND_SPHERICAL) + return r; + } + + return 0.0f; +} + +/* **************** BLEND ******************** */ + +static bNodeSocketTemplate sh_node_tex_blend_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_tex_blend_out[]= { + { SOCK_FLOAT, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_blend(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) +{ + NodeTexBlend *tex = MEM_callocN(sizeof(NodeTexBlend), "NodeTexBlend"); + tex->progression = SHD_BLEND_LINEAR; + tex->axis = SHD_BLEND_HORIZONTAL; + + node->storage = tex; +} + +static void node_shader_exec_tex_blend(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexBlend *tex= (NodeTexBlend*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3]; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + out[0]->vec[0]= blend(vec, tex->progression, tex->axis); +} + +static int node_shader_gpu_tex_blend(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + + return GPU_stack_link(mat, "node_tex_blend", in, out); +} + +/* node type definition */ +void register_node_type_sh_tex_blend(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_BLEND, "Blend Texture", NODE_CLASS_TEXTURE, 0); + node_type_socket_templates(&ntype, sh_node_tex_blend_in, sh_node_tex_blend_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_blend); + node_type_storage(&ntype, "NodeTexBlend", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_blend); + node_type_gpu(&ntype, node_shader_gpu_tex_blend); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_clouds.c b/source/blender/nodes/shader/nodes/node_shader_tex_clouds.c new file mode 100644 index 00000000000..e140a587f87 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_tex_clouds.c @@ -0,0 +1,118 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" +#include "node_shader_noise.h" + +static float clouds(int basis, int hard, int depth, float size, float vec[3], float color[3]) +{ + float p[3], pg[3], pb[3]; + + mul_v3_v3fl(p, vec, 1.0f/size); + + pg[0]= p[1]; + pg[1]= p[0]; + pg[2]= p[2]; + + pb[0]= p[1]; + pb[1]= p[2]; + pb[2]= p[0]; + + color[0]= noise_turbulence(p, basis, depth, hard); + color[1]= noise_turbulence(pg, basis, depth, hard); + color[2]= noise_turbulence(pb, basis, depth, hard); + + return color[0]; +} + +/* **************** CLOUDS ******************** */ + +static bNodeSocketTemplate sh_node_tex_clouds_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, + { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_tex_clouds_out[]= { + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_clouds(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) +{ + NodeTexClouds *tex = MEM_callocN(sizeof(NodeTexClouds), "NodeTexClouds"); + tex->basis = SHD_NOISE_PERLIN; + tex->hard = 0; + tex->depth = 2; + + node->storage = tex; +} + +static void node_shader_exec_tex_clouds(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexClouds *tex= (NodeTexClouds*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3], size; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + nodestack_get_vec(&size, SOCK_FLOAT, in[1]); + + out[1]->vec[0]= clouds(tex->basis, tex->hard, tex->depth, size, vec, out[0]->vec); +} + +static int node_shader_gpu_tex_clouds(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + + return GPU_stack_link(mat, "node_tex_clouds", in, out); +} + +/* node type definition */ +void register_node_type_sh_tex_clouds(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_CLOUDS, "Clouds Texture", NODE_CLASS_TEXTURE, 0); + node_type_socket_templates(&ntype, sh_node_tex_clouds_in, sh_node_tex_clouds_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_clouds); + node_type_storage(&ntype, "NodeTexClouds", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_clouds); + node_type_gpu(&ntype, node_shader_gpu_tex_clouds); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_coord.c b/source/blender/nodes/shader/nodes/node_shader_tex_coord.c new file mode 100644 index 00000000000..5fdde7e23ce --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_tex_coord.c @@ -0,0 +1,75 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +#include "DNA_customdata_types.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_tex_coord_out[]= { + { SOCK_VECTOR, 0, "Generated", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "UV", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "Object", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "Camera", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "Window", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_VECTOR, 0, "Reflection", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_tex_coord(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +static int node_shader_gpu_tex_coord(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + GPUNodeLink *orco = GPU_attribute(CD_ORCO, ""); + GPUNodeLink *mtface = GPU_attribute(CD_MTFACE, ""); + + return GPU_stack_link(mat, "node_tex_coord", in, out, + GPU_builtin(GPU_VIEW_POSITION), GPU_builtin(GPU_VIEW_NORMAL), + GPU_builtin(GPU_INVERSE_VIEW_MATRIX), orco, mtface); +} + +/* node type definition */ +void register_node_type_sh_tex_coord(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_COORD, "Texture Coordinate", NODE_CLASS_INPUT, 0); + node_type_socket_templates(&ntype, NULL, sh_node_tex_coord_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_tex_coord); + node_type_gpu(&ntype, node_shader_gpu_tex_coord); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_distnoise.c b/source/blender/nodes/shader/nodes/node_shader_tex_distnoise.c new file mode 100644 index 00000000000..f91e6ee9f3d --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_tex_distnoise.c @@ -0,0 +1,115 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" +#include "node_shader_noise.h" + +static float distorted_noise(float vec[3], float size, int basis, int distortion_basis, float distortion) +{ + float p[3], r[3], p_offset[3], p_noffset[3]; + float offset[3] = {13.5f, 13.5f, 13.5f}; + + mul_v3_v3fl(p, vec, 1.0f/size); + add_v3_v3v3(p_offset, p, offset); + sub_v3_v3v3(p_noffset, p, offset); + + r[0] = noise_basis(p_offset, basis) * distortion; + r[1] = noise_basis(p, basis) * distortion; + r[2] = noise_basis(p_noffset, basis) * distortion; + + add_v3_v3(p, r); + + return noise_basis(p, distortion_basis); /* distorted-domain noise */ +} + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_tex_distnoise_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, + { SOCK_FLOAT, 1, "Size", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_FLOAT, 1, "Distortion", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_tex_distnoise_out[]= { + { SOCK_FLOAT, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_distorted_noise(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) +{ + NodeTexDistortedNoise *tex = MEM_callocN(sizeof(NodeTexDistortedNoise), "NodeTexDistortedNoise"); + tex->basis = SHD_NOISE_PERLIN; + tex->distortion_basis = SHD_NOISE_PERLIN; + + node->storage = tex; +} + +static void node_shader_exec_tex_distnoise(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexDistortedNoise *tex= (NodeTexDistortedNoise*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3], size, distortion; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + nodestack_get_vec(&size, SOCK_FLOAT, in[1]); + nodestack_get_vec(&distortion, SOCK_FLOAT, in[2]); + + out[0]->vec[0]= distorted_noise(vec, size, tex->basis, tex->distortion_basis, distortion); +} + +static int node_shader_gpu_tex_distnoise(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + + return GPU_stack_link(mat, "node_tex_distnoise", in, out); +} + +/* node type definition */ +void register_node_type_sh_tex_distnoise(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_DISTNOISE, "Distorted Noise Texture", NODE_CLASS_TEXTURE, 0); + node_type_socket_templates(&ntype, sh_node_tex_distnoise_in, sh_node_tex_distnoise_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_distorted_noise); + node_type_storage(&ntype, "NodeTexDistortedNoise", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_distnoise); + node_type_gpu(&ntype, node_shader_gpu_tex_distnoise); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_environment.c b/source/blender/nodes/shader/nodes/node_shader_tex_environment.c new file mode 100644 index 00000000000..19271e0051b --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_tex_environment.c @@ -0,0 +1,115 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_tex_environment_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_tex_environment_out[]= { + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_environment(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) +{ + NodeTexEnvironment *tex = MEM_callocN(sizeof(NodeTexEnvironment), "NodeTexEnvironment"); + tex->color_space = SHD_COLORSPACE_SRGB; + + node->storage = tex; +} + +static void node_shader_exec_tex_environment(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + Image *ima= (Image*)node->id; + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexEnvironment *tex= (NodeTexEnvironment*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3]; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + if(ima) { + ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL); + + if(ibuf) { + float u= (atan2f(vec[1], vec[0]) + (float)M_PI)/(2*M_PI); + float v= atan2f(vec[2], hypotf(vec[0], vec[1]))/M_PI + 0.5f; + float rgb[4]; + + ibuf_sample(ibuf, u, v, 0.0f, 0.0f, rgb); + + if(tex->color_space == SHD_COLORSPACE_SRGB) + srgb_to_linearrgb_v3_v3(out[0]->vec, rgb); + else + copy_v3_v3(out[0]->vec, rgb); + } + } +} + +static int node_shader_gpu_tex_environment(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + Image *ima= (Image*)node->id; + ImageUser *iuser= NULL; + + if(!ima) { + float black[4] = {0.0f, 0.0f, 0.0f, 1.0f}; + GPUNodeLink *vec = GPU_uniform(black); + return GPU_stack_link(mat, "set_rgba", out, out, vec); + } + + if(!in[0].link) + in[0].link = GPU_builtin(GPU_VIEW_POSITION); + + return GPU_stack_link(mat, "node_tex_environment", in, out, GPU_image(ima, iuser)); +} + +/* node type definition */ +void register_node_type_sh_tex_environment(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_ENVIRONMENT, "Environment Texture", NODE_CLASS_TEXTURE, 0); + node_type_socket_templates(&ntype, sh_node_tex_environment_in, sh_node_tex_environment_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_environment); + node_type_storage(&ntype, "NodeTexEnvironment", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_environment); + node_type_gpu(&ntype, node_shader_gpu_tex_environment); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_image.c b/source/blender/nodes/shader/nodes/node_shader_tex_image.c new file mode 100644 index 00000000000..4ad6f387a7e --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_tex_image.c @@ -0,0 +1,113 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_tex_image_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_tex_image_out[]= { + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_image(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) +{ + NodeTexImage *tex = MEM_callocN(sizeof(NodeTexImage), "NodeTexImage"); + tex->color_space = SHD_COLORSPACE_SRGB; + + node->storage = tex; +} + +static void node_shader_exec_tex_image(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + Image *ima= (Image*)node->id; + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexImage *tex= (NodeTexImage*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3]; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + if(ima) { + ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL); + + if(ibuf) { + float rgb[4]; + + ibuf_sample(ibuf, vec[0], vec[1], 0.0f, 0.0f, rgb); + + if(tex->color_space == SHD_COLORSPACE_SRGB) + srgb_to_linearrgb_v3_v3(out[0]->vec, rgb); + else + copy_v3_v3(out[0]->vec, rgb); + } + } +} + +static int node_shader_gpu_tex_image(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + Image *ima= (Image*)node->id; + ImageUser *iuser= NULL; + + if(!ima) { + float black[4] = {0.0f, 0.0f, 0.0f, 1.0f}; + GPUNodeLink *vec = GPU_uniform(black); + return GPU_stack_link(mat, "set_rgba", out, out, vec); + } + + if(!in[0].link) + in[0].link = GPU_attribute(CD_MTFACE, ""); + + return GPU_stack_link(mat, "node_tex_image", in, out, GPU_image(ima, iuser)); +} + +/* node type definition */ +void register_node_type_sh_tex_image(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_IMAGE, "Image Texture", NODE_CLASS_TEXTURE, 0); + node_type_socket_templates(&ntype, sh_node_tex_image_in, sh_node_tex_image_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_image); + node_type_storage(&ntype, "NodeTexImage", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_image); + node_type_gpu(&ntype, node_shader_gpu_tex_image); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_magic.c b/source/blender/nodes/shader/nodes/node_shader_tex_magic.c new file mode 100644 index 00000000000..d15fff44883 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_tex_magic.c @@ -0,0 +1,169 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +static void magic(float rgb[3], float p[3], int n, float turbulence) +{ + float turb = turbulence/5.0f; + + float x = sinf((p[0] + p[1] + p[2])*5.0f); + float y = cosf((-p[0] + p[1] - p[2])*5.0f); + float z = -cosf((-p[0] - p[1] + p[2])*5.0f); + + if(n > 0) { + x *= turb; + y *= turb; + z *= turb; + y = -cosf(x-y+z); + y *= turb; + + if(n > 1) { + x= cosf(x-y-z); + x *= turb; + + if(n > 2) { + z= sinf(-x-y-z); + z *= turb; + + if(n > 3) { + x= -cosf(-x+y-z); + x *= turb; + + if(n > 4) { + y= -sinf(-x+y+z); + y *= turb; + + if(n > 5) { + y= -cosf(-x+y+z); + y *= turb; + + if(n > 6) { + x= cosf(x+y+z); + x *= turb; + + if(n > 7) { + z= sinf(x+y-z); + z *= turb; + + if(n > 8) { + x= -cosf(-x-y+z); + x *= turb; + + if(n > 9) { + y= -sinf(x-y+z); + y *= turb; + } + } + } + } + } + } + } + } + } + } + + if(turb != 0.0f) { + turb *= 2.0f; + x /= turb; + y /= turb; + z /= turb; + } + + rgb[0]= 0.5f - x; + rgb[1]= 0.5f - y; + rgb[2]= 0.5f - z; +} + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_tex_magic_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, + { SOCK_FLOAT, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_tex_magic_out[]= { + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_magic(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) +{ + NodeTexMagic *tex = MEM_callocN(sizeof(NodeTexMagic), "NodeTexMagic"); + tex->depth = 2; + + node->storage = tex; +} + +static void node_shader_exec_tex_magic(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexMagic *tex= (NodeTexMagic*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3], turbulence; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + nodestack_get_vec(&turbulence, SOCK_FLOAT, in[1]); + + magic(out[0]->vec, vec, tex->depth, turbulence); +} + +static int node_shader_gpu_tex_magic(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + NodeTexMagic *tex = (NodeTexMagic*)node->storage; + float depth = tex->depth; + + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + + return GPU_stack_link(mat, "node_tex_magic", in, out, GPU_uniform(&depth)); +} + +/* node type definition */ +void register_node_type_sh_tex_magic(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_MAGIC, "Magic Texture", NODE_CLASS_TEXTURE, 0); + node_type_socket_templates(&ntype, sh_node_tex_magic_in, sh_node_tex_magic_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_magic); + node_type_storage(&ntype, "NodeTexMagic", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_magic); + node_type_gpu(&ntype, node_shader_gpu_tex_magic); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_marble.c b/source/blender/nodes/shader/nodes/node_shader_tex_marble.c new file mode 100644 index 00000000000..fe707ee6359 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_tex_marble.c @@ -0,0 +1,123 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" +#include "node_shader_noise.h" + +static float marble(float vec[3], float size, int type, int wave, int basis, int hard, float turb, int depth) +{ + float p[3]; + float x = vec[0]; + float y = vec[1]; + float z = vec[2]; + float n = 5.0f * (x + y + z); + float mi; + + mul_v3_v3fl(p, vec, 1.0f/size); + + mi = n + turb * noise_turbulence(p, basis, depth, hard); + + mi = noise_wave(wave, mi); + + if(type == SHD_MARBLE_SHARP) + mi = sqrt(mi); + else if(type == SHD_MARBLE_SHARPER) + mi = sqrt(sqrt(mi)); + + return mi; +} + +/* **************** MARBLE ******************** */ + +static bNodeSocketTemplate sh_node_tex_marble_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, + { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_FLOAT, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_tex_marble_out[]= { + { SOCK_FLOAT, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_marble(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) +{ + NodeTexMarble *tex = MEM_callocN(sizeof(NodeTexMarble), "NodeTexMarble"); + tex->type = SHD_MARBLE_SOFT; + tex->wave = SHD_WAVE_SINE; + tex->basis = SHD_NOISE_PERLIN; + tex->hard = 0; + tex->depth = 2; + + node->storage = tex; +} + +static void node_shader_exec_tex_marble(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexMarble *tex= (NodeTexMarble*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3], size, turbulence; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + nodestack_get_vec(&size, SOCK_FLOAT, in[1]); + nodestack_get_vec(&turbulence, SOCK_FLOAT, in[2]); + + out[0]->vec[0]= marble(vec, size, tex->type, tex->wave, tex->basis, tex->hard, turbulence, tex->depth); +} + +static int node_shader_gpu_tex_marble(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + + return GPU_stack_link(mat, "node_tex_marble", in, out); +} + +/* node type definition */ +void register_node_type_sh_tex_marble(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_MARBLE, "Marble Texture", NODE_CLASS_TEXTURE, 0); + node_type_socket_templates(&ntype, sh_node_tex_marble_in, sh_node_tex_marble_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_marble); + node_type_storage(&ntype, "NodeTexMarble", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_marble); + node_type_gpu(&ntype, node_shader_gpu_tex_marble); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c b/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c new file mode 100644 index 00000000000..a0a24559518 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c @@ -0,0 +1,288 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" +#include "node_shader_noise.h" + +/* Musgrave fBm + * + * H: fractal increment parameter + * lacunarity: gap between successive frequencies + * octaves: number of frequencies in the fBm + * + * from "Texturing and Modelling: A procedural approach" + */ + +static float noise_musgrave_fBm(float p[3], int basis, float H, float lacunarity, float octaves) +{ + float rmd; + float value = 0.0f; + float pwr = 1.0f; + float pwHL = pow(lacunarity, -H); + int i; + + for(i = 0; i < (int)octaves; i++) { + value += noise_basis(p, basis) * pwr; + pwr *= pwHL; + mul_v3_fl(p, lacunarity); + } + + rmd = octaves - floor(octaves); + if(rmd != 0.0f) + value += rmd * noise_basis(p, basis) * pwr; + + return value; +} + +/* Musgrave Multifractal + * + * H: highest fractal dimension + * lacunarity: gap between successive frequencies + * octaves: number of frequencies in the fBm + */ + +static float noise_musgrave_multi_fractal(float p[3], int basis, float H, float lacunarity, float octaves) +{ + float rmd; + float value = 1.0f; + float pwr = 1.0f; + float pwHL = pow(lacunarity, -H); + int i; + + for(i = 0; i < (int)octaves; i++) { + value *= (pwr * noise_basis(p, basis) + 1.0f); + pwr *= pwHL; + mul_v3_fl(p, lacunarity); + } + + rmd = octaves - floor(octaves); + if(rmd != 0.0f) + value *= (rmd * pwr * noise_basis(p, basis) + 1.0f); /* correct? */ + + return value; +} + +/* Musgrave Heterogeneous Terrain + * + * H: fractal dimension of the roughest area + * lacunarity: gap between successive frequencies + * octaves: number of frequencies in the fBm + * offset: raises the terrain from `sea level' + */ + +static float noise_musgrave_hetero_terrain(float p[3], int basis, float H, float lacunarity, float octaves, float offset) +{ + float value, increment, rmd; + float pwHL = pow(lacunarity, -H); + float pwr = pwHL; + int i; + + /* first unscaled octave of function; later octaves are scaled */ + value = offset + noise_basis(p, basis); + mul_v3_fl(p, lacunarity); + + for(i = 1; i < (int)octaves; i++) { + increment = (noise_basis(p, basis) + offset) * pwr * value; + value += increment; + pwr *= pwHL; + mul_v3_fl(p, lacunarity); + } + + rmd = octaves - floor(octaves); + if(rmd != 0.0f) { + increment = (noise_basis(p, basis) + offset) * pwr * value; + value += rmd * increment; + } + + return value; +} + +/* Hybrid Additive/Multiplicative Multifractal Terrain + * + * H: fractal dimension of the roughest area + * lacunarity: gap between successive frequencies + * octaves: number of frequencies in the fBm + * offset: raises the terrain from `sea level' + */ + +static float noise_musgrave_hybrid_multi_fractal(float p[3], int basis, float H, float lacunarity, float octaves, float offset, float gain) +{ + float result, signal, weight, rmd; + float pwHL = pow(lacunarity, -H); + float pwr = pwHL; + int i; + + result = noise_basis(p, basis) + offset; + weight = gain * result; + mul_v3_fl(p, lacunarity); + + for(i = 1; (weight > 0.001f) && (i < (int)octaves); i++) { + if(weight > 1.0f) + weight = 1.0f; + + signal = (noise_basis(p, basis) + offset) * pwr; + pwr *= pwHL; + result += weight * signal; + weight *= gain * signal; + mul_v3_fl(p, lacunarity); + } + + rmd = octaves - floor(octaves); + if(rmd != 0.0f) + result += rmd * ((noise_basis(p, basis) + offset) * pwr); + + return result; +} + +/* Ridged Multifractal Terrain + * + * H: fractal dimension of the roughest area + * lacunarity: gap between successive frequencies + * octaves: number of frequencies in the fBm + * offset: raises the terrain from `sea level' + */ + +static float noise_musgrave_ridged_multi_fractal(float p[3], int basis, float H, float lacunarity, float octaves, float offset, float gain) +{ + float result, signal, weight; + float pwHL = pow(lacunarity, -H); + float pwr = pwHL; + int i; + + signal = offset - fabsf(noise_basis(p, basis)); + signal *= signal; + result = signal; + weight = 1.0f; + + for(i = 1; i < (int)octaves; i++) { + mul_v3_fl(p, lacunarity); + weight = CLAMPIS(signal * gain, 0.0f, 1.0f); + signal = offset - fabsf(noise_basis(p, basis)); + signal *= signal; + signal *= weight; + result += signal * pwr; + pwr *= pwHL; + } + + return result; +} + +static float musgrave(int type, int basis, float dimension, float lacunarity, float octaves, float offset, float intensity, float gain, float size, float vec[3]) +{ + float p[3]; + + mul_v3_v3fl(p, vec, 1.0f/size); + + if(type == SHD_MUSGRAVE_MULTIFRACTAL) + return intensity*noise_musgrave_multi_fractal(p, basis, dimension, lacunarity, octaves); + else if(type == SHD_MUSGRAVE_FBM) + return intensity*noise_musgrave_fBm(p, basis, dimension, lacunarity, octaves); + else if(type == SHD_MUSGRAVE_HYBRID_MULTIFRACTAL) + return intensity*noise_musgrave_hybrid_multi_fractal(p, basis, dimension, lacunarity, octaves, offset, gain); + else if(type == SHD_MUSGRAVE_RIDGED_MULTIFRACTAL) + return intensity*noise_musgrave_ridged_multi_fractal(p, basis, dimension, lacunarity, octaves, offset, gain); + else if(type == SHD_MUSGRAVE_HETERO_TERRAIN) + return intensity*noise_musgrave_hetero_terrain(p, basis, dimension, lacunarity, octaves, offset); + + return 0.0f; +} + +/* **************** MUSGRAVE ******************** */ + +static bNodeSocketTemplate sh_node_tex_musgrave_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, + { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_FLOAT, 1, "Dimension", 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_FLOAT, 1, "Lacunarity", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_FLOAT, 1, "Octaves", 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_FLOAT, 1, "Offset", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_FLOAT, 1, "Gain", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_tex_musgrave_out[]= { + { SOCK_FLOAT, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_musgrave(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) +{ + NodeTexMusgrave *tex = MEM_callocN(sizeof(NodeTexMusgrave), "NodeTexMusgrave"); + tex->type = SHD_MUSGRAVE_FBM; + tex->basis = SHD_NOISE_PERLIN; + + node->storage = tex; +} + +static void node_shader_exec_tex_musgrave(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexMusgrave *tex= (NodeTexMusgrave*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3], size, dimension, lacunarity, octaves, offset, gain; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + nodestack_get_vec(&size, SOCK_FLOAT, in[1]); + nodestack_get_vec(&dimension, SOCK_FLOAT, in[2]); + nodestack_get_vec(&lacunarity, SOCK_FLOAT, in[3]); + nodestack_get_vec(&octaves, SOCK_FLOAT, in[4]); + nodestack_get_vec(&offset, SOCK_FLOAT, in[5]); + nodestack_get_vec(&gain, SOCK_FLOAT, in[6]); + + out[0]->vec[0]= musgrave(tex->type, tex->basis, dimension, lacunarity, octaves, offset, 1.0f, gain, size, vec); +} + +static int node_shader_gpu_tex_musgrave(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + + return GPU_stack_link(mat, "node_tex_musgrave", in, out); +} + +/* node type definition */ +void register_node_type_sh_tex_musgrave(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_MUSGRAVE, "Musgrave Texture", NODE_CLASS_TEXTURE, 0); + node_type_socket_templates(&ntype, sh_node_tex_musgrave_in, sh_node_tex_musgrave_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_musgrave); + node_type_storage(&ntype, "NodeTexMusgrave", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_musgrave); + node_type_gpu(&ntype, node_shader_gpu_tex_musgrave); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_noise.c b/source/blender/nodes/shader/nodes/node_shader_tex_noise.c new file mode 100644 index 00000000000..9785c4473f5 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_tex_noise.c @@ -0,0 +1,100 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" +#include "node_shader_noise.h" + +static float noise_texture_value(float vec[3]) +{ + float p[3]; + + mul_v3_v3fl(p, vec, 1e8f); + return cellnoise(p); +} + +static void noise_texture_color(float rgb[3], float vec[3]) +{ + float p[3]; + + mul_v3_v3fl(p, vec, 1e8f); + cellnoise_color(rgb, p); +} + +/* **************** NOISE ******************** */ + +static bNodeSocketTemplate sh_node_tex_noise_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_tex_noise_out[]= { + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_exec_tex_noise(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + ShaderCallData *scd= (ShaderCallData*)data; + bNodeSocket *vecsock = node->inputs.first; + float vec[3]; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + noise_texture_color(out[0]->vec, vec); + out[1]->vec[0]= noise_texture_value(vec); +} + +static int node_shader_gpu_tex_noise(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + + return GPU_stack_link(mat, "node_tex_noise", in, out); +} + +/* node type definition */ +void register_node_type_sh_tex_noise(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_NOISE, "Noise Texture", NODE_CLASS_TEXTURE, 0); + node_type_socket_templates(&ntype, sh_node_tex_noise_in, sh_node_tex_noise_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_tex_noise); + node_type_gpu(&ntype, node_shader_gpu_tex_noise); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_sky.c b/source/blender/nodes/shader/nodes/node_shader_tex_sky.c new file mode 100644 index 00000000000..6c155458245 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_tex_sky.c @@ -0,0 +1,82 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_tex_sky_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_tex_sky_out[]= { + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_sky(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) +{ + NodeTexSky *tex = MEM_callocN(sizeof(NodeTexSky), "NodeTexSky"); + tex->sun_direction[0] = 0.0f; + tex->sun_direction[1] = 0.0f; + tex->sun_direction[2] = 1.0f; + tex->turbidity = 2.2f; + + node->storage = tex; +} + +static void node_shader_exec_tex_sky(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +static int node_shader_gpu_tex_sky(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + + return GPU_stack_link(mat, "node_tex_sky", in, out); +} + +/* node type definition */ +void register_node_type_sh_tex_sky(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_SKY, "Sky Texture", NODE_CLASS_TEXTURE, 0); + node_type_socket_templates(&ntype, sh_node_tex_sky_in, sh_node_tex_sky_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_sky); + node_type_storage(&ntype, "NodeTexSky", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_sky); + node_type_gpu(&ntype, node_shader_gpu_tex_sky); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_stucci.c b/source/blender/nodes/shader/nodes/node_shader_tex_stucci.c new file mode 100644 index 00000000000..22ea8d32047 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_tex_stucci.c @@ -0,0 +1,118 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" +#include "node_shader_noise.h" + +static float stucci(int type, int basis, int hard, float turbulence, float size, float vec[3]) +{ + float p[3], b2, ofs, r; + + mul_v3_v3fl(p, vec, 1.0f/size); + b2 = noise_basis_hard(p, basis, hard); + ofs = turbulence/200.0f; + + if(type != SHD_STUCCI_PLASTIC) + ofs *= b2*b2; + + p[2] += ofs; + r = noise_basis_hard(p, basis, hard); + + if(type == SHD_STUCCI_WALL_OUT) + r = 1.0f - r; + + return MAX2(r, 0.0f); +} + +/* **************** STUCCI ******************** */ + +static bNodeSocketTemplate sh_node_tex_stucci_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, + { SOCK_FLOAT, 1, "Size", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_FLOAT, 1, "Turbulence", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_tex_stucci_out[]= { + { SOCK_FLOAT, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_stucci(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) +{ + NodeTexStucci *tex = MEM_callocN(sizeof(NodeTexStucci), "NodeTexStucci"); + tex->type = SHD_STUCCI_PLASTIC; + tex->basis = SHD_NOISE_PERLIN; + tex->hard = 0; + + node->storage = tex; +} + +static void node_shader_exec_tex_stucci(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexStucci *tex= (NodeTexStucci*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3], size, turbulence; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + nodestack_get_vec(&size, SOCK_FLOAT, in[1]); + nodestack_get_vec(&turbulence, SOCK_FLOAT, in[2]); + + out[0]->vec[0]= stucci(tex->type, tex->basis, tex->hard, turbulence, size, vec); +} + +static int node_shader_gpu_tex_stucci(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + + return GPU_stack_link(mat, "node_tex_stucci", in, out); +} + +/* node type definition */ +void register_node_type_sh_tex_stucci(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_STUCCI, "Stucci Texture", NODE_CLASS_TEXTURE, 0); + node_type_socket_templates(&ntype, sh_node_tex_stucci_in, sh_node_tex_stucci_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_stucci); + node_type_storage(&ntype, "NodeTexStucci", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_stucci); + node_type_gpu(&ntype, node_shader_gpu_tex_stucci); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c b/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c new file mode 100644 index 00000000000..16c694575c1 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c @@ -0,0 +1,164 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" +#include "node_shader_noise.h" + +static float voronoi_tex(int distance_metric, int coloring, + float weight1, float weight2, float weight3, float weight4, + float exponent, float intensity, float size, float vec[3], float color[3]) +{ + float aw1 = fabsf(weight1); + float aw2 = fabsf(weight2); + float aw3 = fabsf(weight3); + float aw4 = fabsf(weight4); + float sc = (aw1 + aw2 + aw3 + aw4); + float da[4]; + float pa[4][3]; + float fac; + float p[3]; + + if(sc != 0.0f) + sc = intensity/sc; + + /* compute distance and point coordinate of 4 nearest neighbours */ + mul_v3_v3fl(p, vec, 1.0f/size); + voronoi_generic(p, distance_metric, exponent, da, pa); + + /* Scalar output */ + fac = sc * fabsf(weight1*da[0] + weight2*da[1] + weight3*da[2] + weight4*da[3]); + + /* colored output */ + if(coloring == SHD_VORONOI_INTENSITY) { + color[0]= color[1]= color[2]= fac; + } + else { + float rgb1[3], rgb2[3], rgb3[3], rgb4[3]; + + cellnoise_color(rgb1, pa[0]); + cellnoise_color(rgb2, pa[1]); + cellnoise_color(rgb3, pa[2]); + cellnoise_color(rgb4, pa[3]); + + mul_v3_v3fl(color, rgb1, aw1); + madd_v3_v3fl(color, rgb2, aw2); + madd_v3_v3fl(color, rgb3, aw3); + madd_v3_v3fl(color, rgb4, aw4); + + if(coloring != SHD_VORONOI_POSITION) { + float t1 = MIN2((da[1] - da[0])*10.0f, 1.0f); + + if(coloring == SHD_VORONOI_POSITION_OUTLINE_INTENSITY) + mul_v3_fl(color, t1*fac); + else if(coloring == SHD_VORONOI_POSITION_OUTLINE) + mul_v3_fl(color, t1*sc); + } + else { + mul_v3_fl(color, sc); + } + } + + return fac; +} + +/* **************** VORONOI ******************** */ + +static bNodeSocketTemplate sh_node_tex_voronoi_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, + { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_FLOAT, 1, "Weight1", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f}, + { SOCK_FLOAT, 1, "Weight2", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f}, + { SOCK_FLOAT, 1, "Weight3", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f}, + { SOCK_FLOAT, 1, "Weight4", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f}, + { SOCK_FLOAT, 1, "Exponent", 2.5f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_tex_voronoi_out[]= { + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_voronoi(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) +{ + NodeTexVoronoi *tex = MEM_callocN(sizeof(NodeTexVoronoi), "NodeTexVoronoi"); + tex->distance_metric = SHD_VORONOI_ACTUAL_DISTANCE; + tex->coloring = SHD_VORONOI_INTENSITY; + + node->storage = tex; +} + +static void node_shader_exec_tex_voronoi(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexVoronoi *tex= (NodeTexVoronoi*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3], size, w1, w2, w3, w4, exponent; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + nodestack_get_vec(&size, SOCK_FLOAT, in[1]); + nodestack_get_vec(&w1, SOCK_FLOAT, in[2]); + nodestack_get_vec(&w2, SOCK_FLOAT, in[3]); + nodestack_get_vec(&w3, SOCK_FLOAT, in[4]); + nodestack_get_vec(&w4, SOCK_FLOAT, in[5]); + nodestack_get_vec(&exponent, SOCK_FLOAT, in[6]); + + out[1]->vec[0]= voronoi_tex(tex->distance_metric, tex->coloring, w1, w2, w3, w4, + exponent, 1.0f, size, vec, out[0]->vec); +} + +static int node_shader_gpu_tex_voronoi(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + + return GPU_stack_link(mat, "node_tex_voronoi", in, out); +} + +/* node type definition */ +void register_node_type_sh_tex_voronoi(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_VORONOI, "Voronoi Texture", NODE_CLASS_TEXTURE, 0); + node_type_socket_templates(&ntype, sh_node_tex_voronoi_in, sh_node_tex_voronoi_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_voronoi); + node_type_storage(&ntype, "NodeTexVoronoi", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_voronoi); + node_type_gpu(&ntype, node_shader_gpu_tex_voronoi); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_wood.c b/source/blender/nodes/shader/nodes/node_shader_tex_wood.c new file mode 100644 index 00000000000..5ae69524379 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_tex_wood.c @@ -0,0 +1,125 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" +#include "node_shader_noise.h" + +static float wood(float p[3], float size, int type, int wave, int basis, unsigned int hard, float turb) +{ + float x = p[0]; + float y = p[1]; + float z = p[2]; + + if(type == SHD_WOOD_BANDS) { + return noise_wave(wave, (x + y + z)*10.0f); + } + else if(type == SHD_WOOD_RINGS) { + return noise_wave(wave, sqrt(x*x + y*y + z*z)*20.0f); + } + else if (type == SHD_WOOD_BAND_NOISE) { + float psize[3] = {p[0]/size, p[1]/size, p[2]/size}; + float wi = turb*noise_basis_hard(psize, basis, hard); + return noise_wave(wave, (x + y + z)*10.0f + wi); + } + else if (type == SHD_WOOD_RING_NOISE) { + float psize[3] = {p[0]/size, p[1]/size, p[2]/size}; + float wi = turb*noise_basis_hard(psize, basis, hard); + return noise_wave(wave, sqrt(x*x + y*y + z*z)*20.0f + wi); + } + + return 0.0f; +} + +/* **************** WOOD ******************** */ + +static bNodeSocketTemplate sh_node_tex_wood_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, + { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_FLOAT, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_tex_wood_out[]= { + { SOCK_FLOAT, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_wood(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) +{ + NodeTexWood *tex = MEM_callocN(sizeof(NodeTexWood), "NodeTexWood"); + tex->type = SHD_WOOD_BANDS; + tex->wave = SHD_WAVE_SINE; + tex->basis = SHD_NOISE_PERLIN; + tex->hard = 0; + + node->storage = tex; +} + +static void node_shader_exec_tex_wood(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexWood *tex= (NodeTexWood*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3], size, turbulence; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + nodestack_get_vec(&size, SOCK_FLOAT, in[1]); + nodestack_get_vec(&turbulence, SOCK_FLOAT, in[2]); + + out[0]->vec[0]= wood(vec, size, tex->type, tex->wave, tex->basis, tex->hard, turbulence); +} + +static int node_shader_gpu_tex_wood(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + + return GPU_stack_link(mat, "node_tex_wood", in, out); +} + +/* node type definition */ +void register_node_type_sh_tex_wood(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_WOOD, "Wood Texture", NODE_CLASS_TEXTURE, 0); + node_type_socket_templates(&ntype, sh_node_tex_wood_in, sh_node_tex_wood_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_wood); + node_type_storage(&ntype, "NodeTexWood", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_wood); + node_type_gpu(&ntype, node_shader_gpu_tex_wood); + + nodeRegisterType(lb, &ntype); +}; + From 18f2cd74ab7204a65687d368eac4fb53ca188bf5 Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Sat, 17 Sep 2011 15:27:52 +0000 Subject: [PATCH 139/241] Cycles: * Fix node tree identifier. MATERIAL > SHADER. This fixes some of the node buttons not showing up after recent merge. --- source/blender/makesrna/intern/rna_nodetree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index 36a5fd9c322..64086e76e5e 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -58,7 +58,7 @@ #include "MEM_guardedalloc.h" EnumPropertyItem nodetree_type_items[] = { - {NTREE_SHADER, "MATERIAL", ICON_MATERIAL, "Material", "Material nodes" }, + {NTREE_SHADER, "SHADER", ICON_MATERIAL, "Shader", "Shader nodes" }, {NTREE_TEXTURE, "TEXTURE", ICON_TEXTURE, "Texture", "Texture nodes" }, {NTREE_COMPOSIT, "COMPOSITING", ICON_RENDERLAYERS, "Compositing", "Compositing nodes" }, {0, NULL, 0, NULL, NULL} From 2d1f9cf448d2a34dd9316832583f570f8f24d72a Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 17 Sep 2011 20:49:49 +0000 Subject: [PATCH 140/241] Cycles: fix math nodes not working after merge. --- source/blender/nodes/shader/nodes/node_shader_math.c | 4 ++-- source/blender/nodes/shader/nodes/node_shader_vectMath.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/source/blender/nodes/shader/nodes/node_shader_math.c b/source/blender/nodes/shader/nodes/node_shader_math.c index 592779d6803..fc9f6bad4bf 100644 --- a/source/blender/nodes/shader/nodes/node_shader_math.c +++ b/source/blender/nodes/shader/nodes/node_shader_math.c @@ -37,8 +37,8 @@ /* **************** SCALAR MATH ******************** */ static bNodeSocketTemplate sh_node_math_in[]= { - { SOCK_FLOAT, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f, PROP_NONE}, - { SOCK_FLOAT, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f, PROP_NONE}, + { SOCK_FLOAT, 1, "Value1", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f, PROP_NONE}, + { SOCK_FLOAT, 1, "Value2", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f, PROP_NONE}, { -1, 0, "" } }; diff --git a/source/blender/nodes/shader/nodes/node_shader_vectMath.c b/source/blender/nodes/shader/nodes/node_shader_vectMath.c index ca31d879e3e..e99c8f91b94 100644 --- a/source/blender/nodes/shader/nodes/node_shader_vectMath.c +++ b/source/blender/nodes/shader/nodes/node_shader_vectMath.c @@ -38,8 +38,8 @@ /* **************** VECTOR MATH ******************** */ static bNodeSocketTemplate sh_node_vect_math_in[]= { - { SOCK_VECTOR, 1, "Vector", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f, PROP_NONE}, - { SOCK_VECTOR, 1, "Vector", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f, PROP_NONE}, + { SOCK_VECTOR, 1, "Vector1", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f, PROP_NONE}, + { SOCK_VECTOR, 1, "Vector2", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f, PROP_NONE}, { -1, 0, "" } }; From 08d52fcc8509fdd88af6afecd55e32cae500cef8 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 18 Sep 2011 04:55:22 +0000 Subject: [PATCH 141/241] added FindOpenImageIO cmake module. --- CMakeLists.txt | 41 ++++++----- .../cmake/Modules/FindOpenImageIO.cmake | 70 +++++++++++++++++++ build_files/cmake/macros.cmake | 2 +- intern/cycles/CMakeLists.txt | 4 +- intern/cycles/app/CMakeLists.txt | 2 +- 5 files changed, 98 insertions(+), 21 deletions(-) create mode 100644 build_files/cmake/Modules/FindOpenImageIO.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index a32742daf9c..b08ee065e1a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -522,17 +522,23 @@ if(UNIX AND NOT APPLE) endif() if(WITH_OPENIMAGEIO) + + # temp, update if(CYCLES_OIIO) - set(OPENIMAGEIO ${CYCLES_OIIO} CACHE PATH "OpenImageIO Directory") + set(OPENIMAGEIO_ROOT_DIR ${CYCLES_OIIO}) unset(CYCLES_OIIO CACHE) - else() - set(OPENIMAGEIO "/usr" CACHE PATH "OpenImageIO Directory") endif() - set(OPENIMAGEIO_INCLUDE_DIR ${OPENIMAGEIO}/include) - set(OPENIMAGEIO_LIBRARY OpenImageIO ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARY} ${OPENEXR_LIBRARIES} ${ZLIB_LIBRARIES} ${BOOST_LIBRARIES}) - set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib) + find_package(OpenImageIO) + + set(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARY} ${OPENEXR_LIBRARIES} ${ZLIB_LIBRARIES} ${BOOST_LIBRARIES}) + set(OPENIMAGEIO_LIBPATH) # TODO, remove and reference the absolute path everywhere set(OPENIMAGEIO_DEFINITIONS) + + if(NOT OPENIMAGEIO_FOUND) + set(WITH_OPENIMAGEIO OFF) + endif() + endif() # OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed @@ -843,10 +849,10 @@ elseif(WIN32) endif() if(WITH_OPENIMAGEIO) - set(OPENIMAGEIO ${LIBDIR}/openimageio) - set(OPENIMAGEIO_INCLUDE_DIR ${OPENIMAGEIO}/include) - set(OPENIMAGEIO_LIBRARY OpenImageIO) - set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib) + set(OPENIMAGEIO_ROOT_DIR ${LIBDIR}/openimageio) + set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_ROOT_DIR}/include) + set(OPENIMAGEIO_LIBRARIES OpenImageIO) + set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO_ROOT_DIR}/lib) set(OPENIMAGEIO_DEFINITIONS) endif() @@ -978,10 +984,10 @@ elseif(WIN32) endif() if(WITH_OPENIMAGEIO) - set(OPENIMAGEIO ${LIBDIR}/openimageio) - set(OPENIMAGEIO_INCLUDE_DIR ${OPENIMAGEIO}/include) - set(OPENIMAGEIO_LIBRARY OpenImageIO) - set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib) + set(OPENIMAGEIO_ROOT_DIR ${LIBDIR}/openimageio) + set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_ROOT_DIR}/include) + set(OPENIMAGEIO_LIBRARIES OpenImageIO) + set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO_ROOT_DIR}/lib) set(OPENIMAGEIO_DEFINITIONS) endif() @@ -1205,9 +1211,9 @@ elseif(APPLE) if(WITH_OPENIMAGEIO) set(OPENIMAGEIO ${LIBDIR}/openimageio) - set(OPENIMAGEIO_INCLUDE_DIR ${OPENIMAGEIO}/include) - set(OPENIMAGEIO_LIBRARY OpenImageIO ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARY} ${OPENEXR_LIBRARIES} ${ZLIB_LIBRARIES}) - set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib ${JPEG_LIBPATH} ${PNG_LIBPATH} ${TIFF_LIBPATH} ${OPENEXR_LIBPATH} ${ZLIB_LIBPATH}) + set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_ROOT_DIR}/include) + set(OPENIMAGEIO_LIBRARIES OpenImageIO ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARY} ${OPENEXR_LIBRARIES} ${ZLIB_LIBRARIES}) + set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO_ROOT_DIR}/lib ${JPEG_LIBPATH} ${PNG_LIBPATH} ${TIFF_LIBPATH} ${OPENEXR_LIBPATH} ${ZLIB_LIBPATH}) set(OPENIMAGEIO_DEFINITIONS "-DOIIO_STATIC_BUILD") endif() @@ -1529,6 +1535,7 @@ if(FIRST_RUN) info_cfg_option(WITH_IMAGE_OPENJPEG) info_cfg_option(WITH_IMAGE_REDCODE) info_cfg_option(WITH_IMAGE_TIFF) + info_cfg_option(WITH_OPENIMAGEIO) info_cfg_text("Audio:") info_cfg_option(WITH_OPENAL) diff --git a/build_files/cmake/Modules/FindOpenImageIO.cmake b/build_files/cmake/Modules/FindOpenImageIO.cmake new file mode 100644 index 00000000000..7512b93e09e --- /dev/null +++ b/build_files/cmake/Modules/FindOpenImageIO.cmake @@ -0,0 +1,70 @@ +# - Find OpenImageIO library +# Find the native OpenImageIO includes and library +# This module defines +# OPENIMAGEIO_INCLUDE_DIRS, where to find openimageio.h, Set when +# OPENIMAGEIO_INCLUDE_DIR is found. +# OPENIMAGEIO_LIBRARIES, libraries to link against to use OpenImageIO. +# OPENIMAGEIO_ROOT_DIR, The base directory to search for OpenImageIO. +# This can also be an environment variable. +# OPENIMAGEIO_FOUND, If false, do not try to use OpenImageIO. +# +# also defined, but not for general use are +# OPENIMAGEIO_LIBRARY, where to find the OpenImageIO library. + +#============================================================================= +# Copyright 2011 Blender Foundation. +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= + +# If OPENIMAGEIO_ROOT_DIR was defined in the environment, use it. +IF(NOT OPENIMAGEIO_ROOT_DIR AND NOT $ENV{OPENIMAGEIO_ROOT_DIR} STREQUAL "") + SET(OPENIMAGEIO_ROOT_DIR $ENV{OPENIMAGEIO_ROOT_DIR}) +ENDIF() + +SET(_openimageio_SEARCH_DIRS + ${OPENIMAGEIO_ROOT_DIR} + /usr/local + /sw # Fink + /opt/local # DarwinPorts + /opt/csw # Blastwave +) + +FIND_PATH(OPENIMAGEIO_INCLUDE_DIR + NAMES + OpenImageIO/imageio.h + HINTS + ${_openimageio_SEARCH_DIRS} + PATH_SUFFIXES + include +) + +FIND_LIBRARY(OPENIMAGEIO_LIBRARY + NAMES + OpenImageIO + HINTS + ${_openimageio_SEARCH_DIRS} + PATH_SUFFIXES + lib64 lib + ) + +# handle the QUIETLY and REQUIRED arguments and set OPENIMAGEIO_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenImageIO DEFAULT_MSG + OPENIMAGEIO_LIBRARY OPENIMAGEIO_INCLUDE_DIR) + +IF(OPENIMAGEIO_FOUND) + SET(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY}) + SET(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIR}) +ENDIF(OPENIMAGEIO_FOUND) + +MARK_AS_ADVANCED( + OPENIMAGEIO_INCLUDE_DIR + OPENIMAGEIO_LIBRARY +) diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index 236c20cf8d3..9671bffe2bd 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -279,7 +279,7 @@ macro(setup_liblinks target_link_libraries(${target} ${TIFF_LIBRARY}) endif() if(WITH_OPENIMAGEIO) - target_link_libraries(${target} ${OPENIMAGEIO_LIBRARY}) + target_link_libraries(${target} ${OPENIMAGEIO_LIBRARIES}) endif() if(WITH_BOOST) target_link_libraries(${target} ${BOOST_LIBRARIES}) diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index 0041f11c288..d0b24c879a1 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -59,8 +59,8 @@ add_definitions(-DWITH_MULTI) include_directories( ${BOOST_INCLUDE_DIR} - ${OPENIMAGEIO_INCLUDE_DIR} - ${OPENIMAGEIO_INCLUDE_DIR}/OpenImageIO) + ${OPENIMAGEIO_INCLUDE_DIRS} + ${OPENIMAGEIO_INCLUDE_DIRS}/OpenImageIO) # Subdirectories diff --git a/intern/cycles/app/CMakeLists.txt b/intern/cycles/app/CMakeLists.txt index 4ef5fd6857d..ef6a80fbe5d 100644 --- a/intern/cycles/app/CMakeLists.txt +++ b/intern/cycles/app/CMakeLists.txt @@ -19,7 +19,7 @@ set(LIBRARIES ${BOOST_LIBRARIES} ${OPENGL_LIBRARIES} ${CYCLES_GLEW_LIBRARY} - ${OPENIMAGEIO_LIBRARY}) + ${OPENIMAGEIO_LIBRARIES}) link_directories(${OPENIMAGEIO_LIBPATH} ${BOOST_LIBPATH}) From 61f77fffac0e58142420100b8ead7c854e15fbb8 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 18 Sep 2011 15:00:39 +0000 Subject: [PATCH 142/241] Cycles: fix openimageio build issues on mac/linux. --- CMakeLists.txt | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b08ee065e1a..3620b7dc2d1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -525,10 +525,11 @@ if(UNIX AND NOT APPLE) # temp, update if(CYCLES_OIIO) - set(OPENIMAGEIO_ROOT_DIR ${CYCLES_OIIO}) + set(OPENIMAGEIO ${CYCLES_OIIO}) unset(CYCLES_OIIO CACHE) endif() + set(OPENIMAGEIO_ROOT_DIR ${OPENIMAGEIO}) find_package(OpenImageIO) set(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARY} ${OPENEXR_LIBRARIES} ${ZLIB_LIBRARIES} ${BOOST_LIBRARIES}) @@ -849,10 +850,10 @@ elseif(WIN32) endif() if(WITH_OPENIMAGEIO) - set(OPENIMAGEIO_ROOT_DIR ${LIBDIR}/openimageio) - set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_ROOT_DIR}/include) + set(OPENIMAGEIO ${LIBDIR}/openimageio) + set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO}/include) set(OPENIMAGEIO_LIBRARIES OpenImageIO) - set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO_ROOT_DIR}/lib) + set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib) set(OPENIMAGEIO_DEFINITIONS) endif() @@ -984,10 +985,10 @@ elseif(WIN32) endif() if(WITH_OPENIMAGEIO) - set(OPENIMAGEIO_ROOT_DIR ${LIBDIR}/openimageio) - set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_ROOT_DIR}/include) + set(OPENIMAGEIO ${LIBDIR}/openimageio) + set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO}/include) set(OPENIMAGEIO_LIBRARIES OpenImageIO) - set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO_ROOT_DIR}/lib) + set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib) set(OPENIMAGEIO_DEFINITIONS) endif() @@ -1211,9 +1212,9 @@ elseif(APPLE) if(WITH_OPENIMAGEIO) set(OPENIMAGEIO ${LIBDIR}/openimageio) - set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_ROOT_DIR}/include) + set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO}/include) set(OPENIMAGEIO_LIBRARIES OpenImageIO ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARY} ${OPENEXR_LIBRARIES} ${ZLIB_LIBRARIES}) - set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO_ROOT_DIR}/lib ${JPEG_LIBPATH} ${PNG_LIBPATH} ${TIFF_LIBPATH} ${OPENEXR_LIBPATH} ${ZLIB_LIBPATH}) + set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib ${JPEG_LIBPATH} ${PNG_LIBPATH} ${TIFF_LIBPATH} ${OPENEXR_LIBPATH} ${ZLIB_LIBPATH}) set(OPENIMAGEIO_DEFINITIONS "-DOIIO_STATIC_BUILD") endif() From e9b967d05b366783a93d92d6935e970c1ea42edd Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 19 Sep 2011 11:57:31 +0000 Subject: [PATCH 143/241] Cycles: remove deprecated strict aliasing flag for opencl, fix missing update modifying object layer in properties editor, and add memarena utility. --- intern/cycles/device/device_opencl.cpp | 2 +- intern/cycles/util/CMakeLists.txt | 2 + intern/cycles/util/util_memarena.cpp | 61 +++++++++++++++++++++ intern/cycles/util/util_memarena.h | 48 ++++++++++++++++ intern/cycles/util/util_transform.h | 5 ++ source/blender/makesrna/intern/rna_object.c | 2 + 6 files changed, 119 insertions(+), 1 deletion(-) create mode 100644 intern/cycles/util/util_memarena.cpp create mode 100644 intern/cycles/util/util_memarena.h diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp index a87b12786b1..bd26f4a78fb 100644 --- a/intern/cycles/device/device_opencl.cpp +++ b/intern/cycles/device/device_opencl.cpp @@ -264,7 +264,7 @@ public: string build_options = ""; build_options += "-I " + kernel_path + ""; /* todo: escape path */ - build_options += " -cl-fast-relaxed-math -cl-strict-aliasing"; + build_options += " -cl-fast-relaxed-math "; ciErr = clBuildProgram(cpProgram, 0, NULL, build_options.c_str(), NULL, NULL); diff --git a/intern/cycles/util/CMakeLists.txt b/intern/cycles/util/CMakeLists.txt index 3adf483643f..a7f7c663509 100644 --- a/intern/cycles/util/CMakeLists.txt +++ b/intern/cycles/util/CMakeLists.txt @@ -9,6 +9,7 @@ set(sources util_cuda.cpp util_dynlib.cpp util_md5.cpp + util_memarena.cpp util_opencl.c util_path.cpp util_string.cpp @@ -35,6 +36,7 @@ set(headers util_map.h util_math.h util_md5.h + util_memarena.h util_opencl.h util_opengl.h util_param.h diff --git a/intern/cycles/util/util_memarena.cpp b/intern/cycles/util/util_memarena.cpp new file mode 100644 index 00000000000..e7ae0d6b272 --- /dev/null +++ b/intern/cycles/util/util_memarena.cpp @@ -0,0 +1,61 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "util_foreach.h" +#include "util_math.h" +#include "util_memarena.h" + +CCL_NAMESPACE_BEGIN + +MemArena::MemArena(bool use_calloc_, size_t buffer_size_) +{ + use_calloc = use_calloc_; + buffer_size = buffer_size_; + + last_left = 0; + last_buffer = NULL; +} + +MemArena::~MemArena() +{ + foreach(uint8_t *buffer, buffers) + delete [] buffer; +} + +void *MemArena::alloc(size_t size) +{ + if(size > last_left) { + last_left = (size > buffer_size)? size: buffer_size; + last_buffer = new uint8_t[last_left]; + + if(use_calloc) + memset(last_buffer, 0, last_left); + + buffers.push_back(last_buffer); + } + + uint8_t *mem = last_buffer; + + last_buffer += size; + last_left -= size; + + return (void*)mem; +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/util/util_memarena.h b/intern/cycles/util/util_memarena.h new file mode 100644 index 00000000000..3b4b761509e --- /dev/null +++ b/intern/cycles/util/util_memarena.h @@ -0,0 +1,48 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __UTIL_MEMARENA_H__ +#define __UTIL_MEMARENA_H__ + +#include + +#include "util_list.h" +#include "util_types.h" + +CCL_NAMESPACE_BEGIN + +class MemArena { +public: + MemArena(bool use_calloc = true, size_t buffer_size = (1<<14)); + ~MemArena(); + + void *alloc(size_t size); + +protected: + bool use_calloc; + size_t buffer_size; + + list buffers; + uint8_t *last_buffer; + size_t last_left; +}; + +CCL_NAMESPACE_END + +#endif /* __UTIL_MEMARENA_H__ */ + diff --git a/intern/cycles/util/util_transform.h b/intern/cycles/util/util_transform.h index 998d4161ebf..c43736fb2e4 100644 --- a/intern/cycles/util/util_transform.h +++ b/intern/cycles/util/util_transform.h @@ -30,6 +30,11 @@ CCL_NAMESPACE_BEGIN typedef struct Transform { float4 x, y, z, w; /* rows */ + +#ifndef __KERNEL_GPU__ + float4 operator[](int i) const { return *(&x + i); } + float4& operator[](int i) { return *(&x + i); } +#endif } Transform; __device_inline float3 transform(const Transform *t, const float3 a) diff --git a/source/blender/makesrna/intern/rna_object.c b/source/blender/makesrna/intern/rna_object.c index a27b6b2d72c..790c24ba2d7 100644 --- a/source/blender/makesrna/intern/rna_object.c +++ b/source/blender/makesrna/intern/rna_object.c @@ -284,6 +284,8 @@ static void rna_Object_layer_update__internal(Main *bmain, Scene *scene, Base *b else { DAG_scene_sort(bmain, scene); } + + DAG_id_type_tag(bmain, ID_OB); } static void rna_Object_layer_update(Main *bmain, Scene *scene, PointerRNA *ptr) From 508bfebf361be55601b1bdbb9267c47c53da4c00 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 21 Sep 2011 11:54:28 +0000 Subject: [PATCH 144/241] Cycles: another bugfix for mix closure sampling + bump. --- intern/cycles/render/svm.cpp | 65 ++++++++++++++++++++++++++---------- intern/cycles/render/svm.h | 12 ++++++- 2 files changed, 59 insertions(+), 18 deletions(-) diff --git a/intern/cycles/render/svm.cpp b/intern/cycles/render/svm.cpp index c9bbeecc3a4..8b527691bd9 100644 --- a/intern/cycles/render/svm.cpp +++ b/intern/cycles/render/svm.cpp @@ -156,6 +156,34 @@ int SVMCompiler::stack_find_offset(ShaderSocketType type) return offset; } +void SVMCompiler::stack_backup(StackBackup& backup, set& done) +{ + backup.done = done; + backup.stack = active_stack; + + foreach(ShaderNode *node, current_graph->nodes) { + foreach(ShaderInput *input, node->inputs) + backup.offsets.push_back(input->stack_offset); + foreach(ShaderOutput *output, node->outputs) + backup.offsets.push_back(output->stack_offset); + } +} + +void SVMCompiler::stack_restore(StackBackup& backup, set& done) +{ + int i = 0; + + done = backup.done; + active_stack = backup.stack; + + foreach(ShaderNode *node, current_graph->nodes) { + foreach(ShaderInput *input, node->inputs) + input->stack_offset = backup.offsets[i++]; + foreach(ShaderOutput *output, node->outputs) + output->stack_offset = backup.offsets[i++]; + } +} + void SVMCompiler::stack_assign(ShaderInput *input) { /* stack offset assign? */ @@ -354,13 +382,8 @@ void SVMCompiler::generate_svm_nodes(const set& nodes, set done, Stack stack) +void SVMCompiler::generate_closure(ShaderNode *node, set& done) { - /* note that done and stack are passed by value, that's intentional - because different branches of the closure tree should not influence - each other */ - active_stack = stack; - if(node->name == ustring("mix_closure") || node->name == ustring("add_closure")) { ShaderInput *fin = node->input("Fac"); ShaderInput *cl1in = node->input("Closure1"); @@ -383,11 +406,17 @@ void SVMCompiler::generate_closure(ShaderNode *node, set done, Stac else add_node(NODE_ADD_CLOSURE, 0, 0, 0); - /* generate code for closure 1 */ + /* generate code for closure 1 + note we backup all compiler state and restore it afterwards, so one + closure choice doesn't influence the other*/ if(cl1in->link) { - generate_closure(cl1in->link->parent, done, stack); + StackBackup backup; + stack_backup(backup, done); + + generate_closure(cl1in->link->parent, done); add_node(NODE_END, 0, 0, 0); - active_stack = stack; + + stack_restore(backup, done); } else add_node(NODE_END, 0, 0, 0); @@ -396,9 +425,13 @@ void SVMCompiler::generate_closure(ShaderNode *node, set done, Stac int cl2_offset = svm_nodes.size(); if(cl2in->link) { - generate_closure(cl2in->link->parent, done, stack); + StackBackup backup; + stack_backup(backup, done); + + generate_closure(cl2in->link->parent, done); add_node(NODE_END, 0, 0, 0); - active_stack = stack; + + stack_restore(backup, done); } else add_node(NODE_END, 0, 0, 0); @@ -530,6 +563,7 @@ void SVMCompiler::compile_type(Shader *shader, ShaderGraph *graph, ShaderType ty */ current_type = type; + current_graph = graph; /* get input in output node */ ShaderNode *node = graph->output(); @@ -576,13 +610,10 @@ void SVMCompiler::compile_type(Shader *shader, ShaderGraph *graph, ShaderType ty if(generate) { set done; - if(use_multi_closure) { + if(use_multi_closure) generate_multi_closure(clin->link->parent, done, SVM_STACK_INVALID); - } - else { - Stack stack; - generate_closure(clin->link->parent, done, stack); - } + else + generate_closure(clin->link->parent, done); } } diff --git a/intern/cycles/render/svm.h b/intern/cycles/render/svm.h index 4c23e931e09..d66d3816068 100644 --- a/intern/cycles/render/svm.h +++ b/intern/cycles/render/svm.h @@ -104,6 +104,15 @@ protected: int users[SVM_STACK_SIZE]; }; + struct StackBackup { + Stack stack; + vector offsets; + set done; + }; + + void stack_backup(StackBackup& backup, set& done); + void stack_restore(StackBackup& backup, set& done); + void stack_clear_temporary(ShaderNode *node); int stack_size(ShaderSocketType type); int stack_find_offset(ShaderSocketType type); @@ -113,7 +122,7 @@ protected: void find_dependencies(set& dependencies, const set& done, ShaderInput *input); void generate_svm_nodes(const set& nodes, set& done); - void generate_closure(ShaderNode *node, set done, Stack stack); + void generate_closure(ShaderNode *node, set& done); void generate_multi_closure(ShaderNode *node, set& done, uint in_offset); void compile_type(Shader *shader, ShaderGraph *graph, ShaderType type); @@ -121,6 +130,7 @@ protected: vector svm_nodes; ShaderType current_type; Shader *current_shader; + ShaderGraph *current_graph; Stack active_stack; int max_stack_use; uint mix_weight_offset; From d1ef6ac79b9bc6f17e61802bea3c3c2fbfcfcfd0 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 23 Sep 2011 11:15:47 +0000 Subject: [PATCH 145/241] Cycles: fix node name sometimes missing in node link menu text. --- source/blender/editors/interface/interface_node.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/source/blender/editors/interface/interface_node.c b/source/blender/editors/interface/interface_node.c index 354423a4db3..896924a10b5 100644 --- a/source/blender/editors/interface/interface_node.c +++ b/source/blender/editors/interface/interface_node.c @@ -138,16 +138,19 @@ static void ui_node_sock_name(bNodeSocket *sock, char name[UI_MAX_NAME_STR]) { if(sock->link && sock->link->fromnode) { bNode *node = sock->link->fromnode; + char node_name[UI_MAX_NAME_STR]; if(node->type == NODE_GROUP) - BLI_strncpy(name, node->id->name+2, UI_MAX_NAME_STR); + BLI_strncpy(node_name, node->id->name+2, UI_MAX_NAME_STR); else - BLI_strncpy(name, node->typeinfo->name, UI_MAX_NAME_STR); + BLI_strncpy(node_name, node->typeinfo->name, UI_MAX_NAME_STR); if(node->inputs.first == NULL && node->outputs.first != node->outputs.last && !(node->typeinfo->flag & NODE_OPTIONS)) - BLI_snprintf(name, UI_MAX_NAME_STR, "%s | %s", name, sock->link->fromsock->name); + BLI_snprintf(name, UI_MAX_NAME_STR, "%s | %s", node_name, sock->link->fromsock->name); + else + BLI_strncpy(name, node_name, UI_MAX_NAME_STR); } else if(sock->type == SOCK_SHADER) BLI_strncpy(name, "None", UI_MAX_NAME_STR); From f5b60afe4ec924f12ec859e4ca51cd8ed9eab3ad Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 27 Sep 2011 19:35:41 +0000 Subject: [PATCH 146/241] Cycles: fix error in md5 hash computation for files in directories below the first level. --- intern/cycles/util/util_md5.cpp | 4 +++- intern/cycles/util/util_path.cpp | 15 ++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/intern/cycles/util/util_md5.cpp b/intern/cycles/util/util_md5.cpp index 90b8a1fe062..b871fad3636 100644 --- a/intern/cycles/util/util_md5.cpp +++ b/intern/cycles/util/util_md5.cpp @@ -313,8 +313,10 @@ bool MD5Hash::append_file(const string& filepath) { FILE *f = fopen(filepath.c_str(), "rb"); - if(!f) + if(!f) { + fprintf(stderr, "MD5: failed to open file %s\n", filepath.c_str()); return false; + } const size_t buffer_size = 1024; uint8_t buffer[buffer_size]; diff --git a/intern/cycles/util/util_path.cpp b/intern/cycles/util/util_path.cpp index d3f739e19f6..55e6a95b54a 100644 --- a/intern/cycles/util/util_path.cpp +++ b/intern/cycles/util/util_path.cpp @@ -85,17 +85,14 @@ bool path_exists(const string& path) return boost::filesystem::exists(path); } -string path_files_md5_hash(const string& dir) +static void path_files_md5_hash_recursive(MD5Hash& hash, const string& dir) { - /* computes md5 hash of all files in the directory */ - MD5Hash hash; - if(boost::filesystem::exists(dir)) { boost::filesystem::directory_iterator it(dir), it_end; for(; it != it_end; it++) { if(boost::filesystem::is_directory(it->status())) { - path_files_md5_hash(it->path().string()); + path_files_md5_hash_recursive(hash, it->path().string()); } else { string filepath = it->path().string(); @@ -105,6 +102,14 @@ string path_files_md5_hash(const string& dir) } } } +} + +string path_files_md5_hash(const string& dir) +{ + /* computes md5 hash of all files in the directory */ + MD5Hash hash; + + path_files_md5_hash_recursive(hash, dir); return hash.get_hex(); } From 136d27b350355232ebe4d0a13427777445334b05 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 27 Sep 2011 20:03:16 +0000 Subject: [PATCH 147/241] Cycles: add some volume nodes, they don't actually do anything, this is just to give other developers who may want to work on this to get a starting point. --- intern/cycles/app/cycles_xml.cpp | 6 ++ intern/cycles/blender/blender_shader.cpp | 8 ++ intern/cycles/kernel/kernel_types.h | 3 +- intern/cycles/kernel/svm/svm.h | 3 + intern/cycles/kernel/svm/svm_closure.h | 41 ++++++++ intern/cycles/kernel/svm/svm_types.h | 8 +- intern/cycles/kernel/svm/volume.h | 95 ++++++++++++------- intern/cycles/render/nodes.cpp | 82 ++++++++++++++++ intern/cycles/render/nodes.h | 19 ++++ source/blender/blenkernel/BKE_node.h | 2 + source/blender/blenkernel/intern/node.c | 4 +- .../makesrna/intern/rna_nodetree_types.h | 2 + source/blender/nodes/CMakeLists.txt | 2 + source/blender/nodes/NOD_shader.h | 2 + .../nodes/node_shader_volume_isotropic.c | 69 ++++++++++++++ .../nodes/node_shader_volume_transparent.c | 69 ++++++++++++++ 16 files changed, 379 insertions(+), 36 deletions(-) create mode 100644 source/blender/nodes/shader/nodes/node_shader_volume_isotropic.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_volume_transparent.c diff --git a/intern/cycles/app/cycles_xml.cpp b/intern/cycles/app/cycles_xml.cpp index c7580642c43..5f9e1d7a5ff 100644 --- a/intern/cycles/app/cycles_xml.cpp +++ b/intern/cycles/app/cycles_xml.cpp @@ -435,6 +435,12 @@ static void xml_read_shader_graph(const XMLReadState& state, Shader *shader, pug else if(string_iequals(node.name(), "background")) { snode = new BackgroundNode(); } + else if(string_iequals(node.name(), "transparent_volume")) { + snode = new TransparentVolumeNode(); + } + else if(string_iequals(node.name(), "isotropic_volume")) { + snode = new IsotropicVolumeNode(); + } else if(string_iequals(node.name(), "geometry")) { snode = new GeometryNode(); } diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index 1f412093773..3993efbce39 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -275,6 +275,14 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * node = new EmissionNode(); break; } + case BL::ShaderNode::type_VOLUME_ISOTROPIC: { + node = new IsotropicVolumeNode(); + break; + } + case BL::ShaderNode::type_VOLUME_TRANSPARENT: { + node = new TransparentVolumeNode(); + break; + } case BL::ShaderNode::type_GEOMETRY: { node = new GeometryNode(); break; diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index 8083da971ed..e09eaa8284c 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -218,7 +218,8 @@ enum ShaderDataFlag { SD_BSDF = 4, /* have bsdf closure? */ SD_BSDF_HAS_EVAL = 8, /* have non-singular bsdf closure? */ SD_BSDF_GLOSSY = 16, /* have glossy bsdf */ - SD_HOLDOUT = 32 /* have holdout closure? */ + SD_HOLDOUT = 32, /* have holdout closure? */ + SD_VOLUME = 64 /* have volume closure? */ }; typedef struct ShaderData { diff --git a/intern/cycles/kernel/svm/svm.h b/intern/cycles/kernel/svm/svm.h index 65d92a91df9..bd5c07753ad 100644 --- a/intern/cycles/kernel/svm/svm.h +++ b/intern/cycles/kernel/svm/svm.h @@ -184,6 +184,9 @@ __device_noinline void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderT case NODE_CLOSURE_HOLDOUT: svm_node_closure_holdout(sd, stack, node); break; + case NODE_CLOSURE_VOLUME: + svm_node_closure_volume(kg, sd, stack, node, path_flag); + break; case NODE_CLOSURE_SET_WEIGHT: svm_node_closure_set_weight(sd, node.y, node.z, node.w); break; diff --git a/intern/cycles/kernel/svm/svm_closure.h b/intern/cycles/kernel/svm/svm_closure.h index 68f91408f1f..90636380e43 100644 --- a/intern/cycles/kernel/svm/svm_closure.h +++ b/intern/cycles/kernel/svm/svm_closure.h @@ -192,6 +192,47 @@ __device void svm_node_closure_bsdf(KernelGlobals *kg, ShaderData *sd, float *st } } +__device void svm_node_closure_volume(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, int path_flag) +{ + uint type, param1_offset, param2_offset; + +#ifdef __MULTI_CLOSURE__ + uint mix_weight_offset; + decode_node_uchar4(node.y, &type, ¶m1_offset, ¶m2_offset, &mix_weight_offset); + float mix_weight = (stack_valid(mix_weight_offset)? stack_load_float(stack, mix_weight_offset): 1.0f); + + if(mix_weight == 0.0f) + return; +#else + decode_node_uchar4(node.y, &type, ¶m1_offset, ¶m2_offset, NULL); + float mix_weight = 1.0f; +#endif + + float param1 = (stack_valid(param1_offset))? stack_load_float(stack, param1_offset): __int_as_float(node.z); + //float param2 = (stack_valid(param2_offset))? stack_load_float(stack, param2_offset): __int_as_float(node.w); + + switch(type) { + case CLOSURE_VOLUME_TRANSPARENT_ID: { + ShaderClosure *sc = svm_node_closure_get(sd); + svm_node_closure_set_mix_weight(sc, mix_weight); + + float density = param1; + volume_transparent_setup(sd, sc, density); + break; + } + case CLOSURE_VOLUME_ISOTROPIC_ID: { + ShaderClosure *sc = svm_node_closure_get(sd); + svm_node_closure_set_mix_weight(sc, mix_weight); + + float density = param1; + volume_isotropic_setup(sd, sc, density); + break; + } + default: + break; + } +} + __device void svm_node_closure_emission(ShaderData *sd, float *stack, uint4 node) { #ifdef __MULTI_CLOSURE__ diff --git a/intern/cycles/kernel/svm/svm_types.h b/intern/cycles/kernel/svm/svm_types.h index 483f3c76f3c..baec3d7ac6e 100644 --- a/intern/cycles/kernel/svm/svm_types.h +++ b/intern/cycles/kernel/svm/svm_types.h @@ -83,7 +83,8 @@ typedef enum NodeType { NODE_ATTR_BUMP_DY = 4500, NODE_TEX_ENVIRONMENT = 4600, NODE_CLOSURE_HOLDOUT = 4700, - NODE_BLEND_WEIGHT = 4800 + NODE_BLEND_WEIGHT = 4800, + NODE_CLOSURE_VOLUME = 4900 } NodeType; typedef enum NodeAttributeType { @@ -286,14 +287,17 @@ typedef enum ClosureType { CLOSURE_BACKGROUND_ID, CLOSURE_HOLDOUT_ID, CLOSURE_SUBSURFACE_ID, + CLOSURE_VOLUME_ID, + CLOSURE_VOLUME_TRANSPARENT_ID, + CLOSURE_VOLUME_ISOTROPIC_ID, NBUILTIN_CLOSURES } ClosureType; /* watch this, being lazy with memory usage */ #define CLOSURE_IS_BSDF(type) (type <= CLOSURE_BSDF_WESTIN_SHEEN_ID) -#define CLOSURE_IS_VOLUME(type) (type == CLOSURE_VOLUME_ID) +#define CLOSURE_IS_VOLUME(type) (type >= CLOSURE_VOLUME_ID && type <= CLOSURE_VOLUME_ISOTROPIC_ID) #define CLOSURE_IS_EMISSION(type) (type == CLOSURE_EMISSION_ID) #define CLOSURE_IS_HOLDOUT(type) (type == CLOSURE_HOLDOUT_ID) #define CLOSURE_IS_BACKGROUND(type) (type == CLOSURE_BACKGROUND_ID) diff --git a/intern/cycles/kernel/svm/volume.h b/intern/cycles/kernel/svm/volume.h index dc377b5c595..86cb2dcc24e 100644 --- a/intern/cycles/kernel/svm/volume.h +++ b/intern/cycles/kernel/svm/volume.h @@ -1,42 +1,73 @@ -/* - * Adapted from Open Shading Language with this license: - * - * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. - * All Rights Reserved. - * - * Modifications Copyright 2011, Blender Foundation. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Sony Pictures Imageworks nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ CCL_NAMESPACE_BEGIN +/* note: the interfaces here are just as an example, need to figure + out the right functions and parameters to use */ + +/* ISOTROPIC VOLUME CLOSURE */ + +__device void volume_isotropic_setup(ShaderData *sd, ShaderClosure *sc, float density) +{ + sc->type = CLOSURE_VOLUME_ISOTROPIC_ID; + sd->flag |= SD_VOLUME; + sc->data0 = density; +} + +__device float3 volume_isotropic_eval_phase(const ShaderData *sd, const ShaderClosure *sc, const float3 omega_in, const float3 omega_out) +{ + return make_float3(1.0f, 1.0f, 1.0f); +} + +/* TRANSPARENT VOLUME CLOSURE */ + +__device void volume_transparent_setup(ShaderData *sd, ShaderClosure *sc, float density) +{ + sc->type = CLOSURE_VOLUME_TRANSPARENT_ID; + sd->flag |= SD_VOLUME; + sc->data0 = density; +} + +__device float3 volume_transparent_eval_phase(const ShaderData *sd, const ShaderClosure *sc, const float3 omega_in, const float3 omega_out) +{ + return make_float3(1.0f, 1.0f, 1.0f); +} + /* VOLUME CLOSURE */ __device float3 volume_eval_phase(const ShaderData *sd, const ShaderClosure *sc, const float3 omega_in, const float3 omega_out) { - return make_float3(1.0f, 1.0f, 1.0f); + float3 eval; + + switch(sc->type) { + case CLOSURE_VOLUME_ISOTROPIC_ID: + eval = volume_isotropic_eval_phase(sd, sc, omega_in, omega_out); + break; + case CLOSURE_VOLUME_TRANSPARENT_ID: + eval = volume_transparent_eval_phase(sd, sc, omega_in, omega_out); + break; + default: + eval = make_float3(0.0f, 0.0f, 0.0f); + break; + } + + return eval; } CCL_NAMESPACE_END diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index 038a6c45b97..4fd562b540c 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -1312,6 +1312,88 @@ void HoldoutNode::compile(OSLCompiler& compiler) compiler.add(this, "node_holdout"); } +/* Volume Closure */ + +VolumeNode::VolumeNode() +: ShaderNode("volume") +{ + closure = ccl::CLOSURE_VOLUME_ISOTROPIC_ID; + + add_input("Color", SHADER_SOCKET_COLOR, make_float3(0.8f, 0.8f, 0.8f)); + add_input("Density", SHADER_SOCKET_FLOAT, 1.0f); + + add_output("Volume", SHADER_SOCKET_CLOSURE); +} + +void VolumeNode::compile(SVMCompiler& compiler, ShaderInput *param1, ShaderInput *param2) +{ + ShaderInput *color_in = input("Color"); + + if(color_in->link) { + compiler.stack_assign(color_in); + compiler.add_node(NODE_CLOSURE_WEIGHT, color_in->stack_offset); + } + else + compiler.add_node(NODE_CLOSURE_SET_WEIGHT, color_in->value); + + if(param1) + compiler.stack_assign(param1); + if(param2) + compiler.stack_assign(param2); + + compiler.add_node(NODE_CLOSURE_VOLUME, + compiler.encode_uchar4(closure, + (param1)? param1->stack_offset: SVM_STACK_INVALID, + (param2)? param2->stack_offset: SVM_STACK_INVALID, + compiler.closure_mix_weight_offset()), + __float_as_int((param1)? param1->value.x: 0.0f), + __float_as_int((param2)? param2->value.x: 0.0f)); +} + +void VolumeNode::compile(SVMCompiler& compiler) +{ + compile(compiler, NULL, NULL); +} + +void VolumeNode::compile(OSLCompiler& compiler) +{ + assert(0); +} + +/* Transparent Volume Closure */ + +TransparentVolumeNode::TransparentVolumeNode() +{ + closure = CLOSURE_VOLUME_TRANSPARENT_ID; +} + +void TransparentVolumeNode::compile(SVMCompiler& compiler) +{ + VolumeNode::compile(compiler, input("Density"), NULL); +} + +void TransparentVolumeNode::compile(OSLCompiler& compiler) +{ + compiler.add(this, "node_isotropic_volume"); +} + +/* Isotropic Volume Closure */ + +IsotropicVolumeNode::IsotropicVolumeNode() +{ + closure = CLOSURE_VOLUME_ISOTROPIC_ID; +} + +void IsotropicVolumeNode::compile(SVMCompiler& compiler) +{ + VolumeNode::compile(compiler, input("Density"), NULL); +} + +void IsotropicVolumeNode::compile(OSLCompiler& compiler) +{ + compiler.add(this, "node_isotropic_volume"); +} + /* Geometry */ GeometryNode::GeometryNode() diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h index f11f34778e3..0a7ac158431 100644 --- a/intern/cycles/render/nodes.h +++ b/intern/cycles/render/nodes.h @@ -262,6 +262,25 @@ public: SHADER_NODE_CLASS(HoldoutNode) }; +class VolumeNode : public ShaderNode { +public: + SHADER_NODE_CLASS(VolumeNode) + + void compile(SVMCompiler& compiler, ShaderInput *param1, ShaderInput *param2); + + ClosureType closure; +}; + +class TransparentVolumeNode : public VolumeNode { +public: + SHADER_NODE_CLASS(TransparentVolumeNode) +}; + +class IsotropicVolumeNode : public VolumeNode { +public: + SHADER_NODE_CLASS(IsotropicVolumeNode) +}; + class GeometryNode : public ShaderNode { public: SHADER_NODE_CLASS(GeometryNode) diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h index d269b2932d6..92968f23396 100644 --- a/source/blender/blenkernel/BKE_node.h +++ b/source/blender/blenkernel/BKE_node.h @@ -488,6 +488,8 @@ struct ShadeResult; #define SH_NODE_OUTPUT_TEXTURE 158 #define SH_NODE_HOLDOUT 159 #define SH_NODE_BLEND_WEIGHT 160 +#define SH_NODE_VOLUME_TRANSPARENT 161 +#define SH_NODE_VOLUME_ISOTROPIC 162 /* custom defines options for Material node */ #define SH_NODE_MAT_DIFF 1 diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index 14e753d5451..3c4c3d32452 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -1886,9 +1886,11 @@ static void registerShaderNodes(ListBase *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_volume_transparent(ntypelist); + register_node_type_sh_volume_isotropic(ntypelist); + register_node_type_sh_holdout(ntypelist); register_node_type_sh_mix_shader(ntypelist); register_node_type_sh_add_shader(ntypelist); - register_node_type_sh_holdout(ntypelist); register_node_type_sh_output_lamp(ntypelist); register_node_type_sh_output_material(ntypelist); diff --git a/source/blender/makesrna/intern/rna_nodetree_types.h b/source/blender/makesrna/intern/rna_nodetree_types.h index 03873a514e1..f837a2f6898 100644 --- a/source/blender/makesrna/intern/rna_nodetree_types.h +++ b/source/blender/makesrna/intern/rna_nodetree_types.h @@ -74,6 +74,8 @@ DefNode( ShaderNode, SH_NODE_BSDF_GLASS, def_glossy, "BSDF_GLASS", BsdfGlass DefNode( ShaderNode, SH_NODE_BSDF_TRANSLUCENT, 0, "BSDF_TRANSLUCENT", BsdfTranslucent, "Translucent Bsdf", "") DefNode( ShaderNode, SH_NODE_BSDF_TRANSPARENT, 0, "BSDF_TRANSPARENT", BsdfTransparent, "Transparent Bsdf", "") DefNode( ShaderNode, SH_NODE_BSDF_VELVET, 0, "BSDF_VELVET", BsdfVelvet, "Velvet Bsdf", "") +DefNode( ShaderNode, SH_NODE_VOLUME_TRANSPARENT, 0, "VOLUME_TRANSPARENT", VolumeTransparent, "Transparent Volume", "") +DefNode( ShaderNode, SH_NODE_VOLUME_ISOTROPIC, 0, "VOLUME_ISOTROPIC", VolumeIsotropic, "Isotropic Volume", "") DefNode( ShaderNode, SH_NODE_EMISSION, 0, "EMISSION", Emission, "Emission", "") DefNode( ShaderNode, SH_NODE_GEOMETRY, 0, "GEOMETRY", Geometry, "Geometry", "") DefNode( ShaderNode, SH_NODE_LIGHT_PATH, 0, "LIGHT_PATH", Light_path, "Light_path", "") diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt index 9c5c5213fd2..8ee67fc4f9a 100644 --- a/source/blender/nodes/CMakeLists.txt +++ b/source/blender/nodes/CMakeLists.txt @@ -138,6 +138,8 @@ set(SRC shader/nodes/node_shader_blend_weight.c shader/nodes/node_shader_geometry.c shader/nodes/node_shader_holdout.c + shader/nodes/node_shader_volume_transparent.c + shader/nodes/node_shader_volume_isotropic.c shader/nodes/node_shader_light_path.c shader/nodes/node_shader_mix_shader.c shader/nodes/node_shader_add_shader.c diff --git a/source/blender/nodes/NOD_shader.h b/source/blender/nodes/NOD_shader.h index 1c7d77df18d..d504b6d757b 100644 --- a/source/blender/nodes/NOD_shader.h +++ b/source/blender/nodes/NOD_shader.h @@ -75,6 +75,8 @@ void register_node_type_sh_bsdf_transparent(ListBase *lb); void register_node_type_sh_bsdf_velvet(ListBase *lb); void register_node_type_sh_emission(ListBase *lb); void register_node_type_sh_holdout(ListBase *lb); +void register_node_type_sh_volume_transparent(ListBase *lb); +void register_node_type_sh_volume_isotropic(ListBase *lb); void register_node_type_sh_mix_shader(ListBase *lb); void register_node_type_sh_add_shader(ListBase *lb); diff --git a/source/blender/nodes/shader/nodes/node_shader_volume_isotropic.c b/source/blender/nodes/shader/nodes/node_shader_volume_isotropic.c new file mode 100644 index 00000000000..e5579c1bf0b --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_volume_isotropic.c @@ -0,0 +1,69 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_volume_isotropic_in[]= { + { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 1, "Density", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_volume_isotropic_out[]= { + { SOCK_SHADER, 0, "Volume"}, + { -1, 0, "" } +}; + +static void node_shader_exec_volume_isotropic(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +static int node_shader_gpu_volume_isotropic(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + return 0; +} + +/* node type definition */ +void register_node_type_sh_volume_isotropic(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_VOLUME_ISOTROPIC, "Isotropic Volume", NODE_CLASS_SHADER, 0); + node_type_socket_templates(&ntype, sh_node_volume_isotropic_in, sh_node_volume_isotropic_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_volume_isotropic); + node_type_gpu(&ntype, node_shader_gpu_volume_isotropic); + + nodeRegisterType(lb, &ntype); +}; + diff --git a/source/blender/nodes/shader/nodes/node_shader_volume_transparent.c b/source/blender/nodes/shader/nodes/node_shader_volume_transparent.c new file mode 100644 index 00000000000..b2e9e22789a --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_volume_transparent.c @@ -0,0 +1,69 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" + +/* **************** OUTPUT ******************** */ + +static bNodeSocketTemplate sh_node_volume_transparent_in[]= { + { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 1, "Density", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_volume_transparent_out[]= { + { SOCK_SHADER, 0, "Volume"}, + { -1, 0, "" } +}; + +static void node_shader_exec_volume_transparent(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +{ +} + +static int node_shader_gpu_volume_transparent(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +{ + return 0; +} + +/* node type definition */ +void register_node_type_sh_volume_transparent(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_VOLUME_TRANSPARENT, "Transparent Volume", NODE_CLASS_SHADER, 0); + node_type_socket_templates(&ntype, sh_node_volume_transparent_in, sh_node_volume_transparent_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, NULL); + node_type_storage(&ntype, "", NULL, NULL); + node_type_exec(&ntype, node_shader_exec_volume_transparent); + node_type_gpu(&ntype, node_shader_gpu_volume_transparent); + + nodeRegisterType(lb, &ntype); +}; + From cdee3435c67abebb633cb09410c4a87d42ff61e3 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 27 Sep 2011 20:37:24 +0000 Subject: [PATCH 148/241] Cycles: internal changes that should have no effect on user level yet, added shader flags for various purposes, and some code for light types other than points. --- intern/cycles/blender/addon/properties.py | 14 +++ intern/cycles/blender/addon/ui.py | 64 ++++++++++-- intern/cycles/blender/blender_object.cpp | 52 +++++++++- intern/cycles/blender/blender_shader.cpp | 5 + intern/cycles/blender/blender_sync.cpp | 5 + intern/cycles/kernel/kernel.cpp | 83 ++-------------- intern/cycles/kernel/kernel_emission.h | 45 ++++----- intern/cycles/kernel/kernel_light.h | 114 +++++++++++++++++++--- intern/cycles/kernel/kernel_montecarlo.h | 11 --- intern/cycles/kernel/kernel_path.h | 25 +---- intern/cycles/kernel/kernel_shader.h | 44 ++++++--- intern/cycles/kernel/kernel_textures.h | 3 +- intern/cycles/kernel/kernel_types.h | 66 ++++++------- intern/cycles/kernel/osl/osl_shader.cpp | 16 ++- intern/cycles/kernel/svm/svm.h | 2 +- intern/cycles/kernel/svm/svm_bsdf.h | 6 ++ intern/cycles/render/light.cpp | 72 +++++++++++--- intern/cycles/render/light.h | 15 ++- intern/cycles/render/nodes.cpp | 1 + intern/cycles/render/object.cpp | 7 +- intern/cycles/render/osl.cpp | 9 +- intern/cycles/render/scene.h | 3 +- intern/cycles/render/shader.cpp | 49 +++++++++- intern/cycles/render/shader.h | 8 ++ intern/cycles/render/svm.cpp | 11 ++- intern/cycles/util/util_math.h | 13 +++ 26 files changed, 513 insertions(+), 230 deletions(-) diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index 89c2829175c..8d3f709cdef 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -116,11 +116,23 @@ class CyclesMaterialSettings(bpy.types.PropertyGroup): @classmethod def register(cls): bpy.types.Material.cycles = PointerProperty(type=cls, name="Cycles Material Settings", description="Cycles material settings") + cls.sample_as_light = BoolProperty(name="Sample as Light", description="Use direct light sampling, to reduce noise for small or strong emitting materials", default=False) + cls.homogeneous_volume = BoolProperty(name="Homogeneous Volume", description="When using volume rendering, assume volume has the same density everywhere, for faster rendering", default=False) @classmethod def unregister(cls): del bpy.types.Material.cycles +class CyclesLampSettings(bpy.types.PropertyGroup): + @classmethod + def register(cls): + bpy.types.Lamp.cycles = PointerProperty(type=cls, name="Cycles Lamp Settings", description="Cycles lamp settings") + cls.cast_shadow = BoolProperty(name="Cast Shadow", description="Lamp casts shadows", default=True) + + @classmethod + def unregister(cls): + del bpy.types.Lamp.cycles + class CyclesWorldSettings(bpy.types.PropertyGroup): @classmethod def register(cls): @@ -168,6 +180,7 @@ def register(): bpy.utils.register_class(CyclesRenderSettings) bpy.utils.register_class(CyclesCameraSettings) bpy.utils.register_class(CyclesMaterialSettings) + bpy.utils.register_class(CyclesLampSettings) bpy.utils.register_class(CyclesWorldSettings) bpy.utils.register_class(CyclesVisibilitySettings) bpy.utils.register_class(CyclesMeshSettings) @@ -176,6 +189,7 @@ def unregister(): bpy.utils.unregister_class(CyclesRenderSettings) bpy.utils.unregister_class(CyclesCameraSettings) bpy.utils.unregister_class(CyclesMaterialSettings) + bpy.utils.unregister_class(CyclesLampSettings) bpy.utils.unregister_class(CyclesWorldSettings) bpy.utils.unregister_class(CyclesMeshSettings) bpy.utils.unregister_class(CyclesVisibilitySettings) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index f9ebfdc0bb5..ca2f7e497df 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -360,7 +360,48 @@ def panel_node_draw(layout, id, output_type, input_name): layout.template_node_view(ntree, node, input); class CyclesLamp_PT_lamp(CyclesButtonsPanel, Panel): - bl_label = "Surface" + bl_label = "Lamp" + bl_context = "data" + bl_options = {'DEFAULT_CLOSED'} + + @classmethod + def poll(cls, context): + return False + #return context.lamp and CyclesButtonsPanel.poll(context) + + def draw(self, context): + layout = self.layout + + lamp = context.lamp + clamp = lamp.cycles + + layout.prop(lamp, "type", expand=True) + + split = layout.split() + col = split.column(align=True) + + if lamp.type in ('POINT', 'SUN', 'SPOT'): + col.prop(lamp, "shadow_soft_size", text="Size") + elif lamp.type == 'AREA': + col.prop(lamp, "shape", text="") + sub = col.column(align=True) + + if lamp.shape == 'SQUARE': + sub.prop(lamp, "size") + elif lamp.shape == 'RECTANGLE': + sub.prop(lamp, "size", text="Size X") + sub.prop(lamp, "size_y", text="Size Y") + + col = split.column() + col.prop(clamp, "cast_shadow") + + if lamp.type == 'SPOT': + layout.label(text="Not supported, interpreted as point lamp.") + elif lamp.type == 'HEMI': + layout.label(text="Not supported, interpreted as sun lamp.") + +class CyclesLamp_PT_nodes(CyclesButtonsPanel, Panel): + bl_label = "Nodes" bl_context = "data" @classmethod @@ -399,8 +440,8 @@ class CyclesWorld_PT_volume(CyclesButtonsPanel, Panel): layout = self.layout layout.active = False - mat = context.world - panel_node_draw(layout, mat, 'OUTPUT_WORLD', 'Volume') + world = context.world + panel_node_draw(layout, world, 'OUTPUT_WORLD', 'Volume') class CyclesMaterial_PT_surface(CyclesButtonsPanel, Panel): bl_label = "Surface" @@ -429,8 +470,12 @@ class CyclesMaterial_PT_volume(CyclesButtonsPanel, Panel): layout.active = False mat = context.material + cmat = mat.cycles + panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Volume') + layout.prop(cmat, "homogeneous_volume") + class CyclesMaterial_PT_displacement(CyclesButtonsPanel, Panel): bl_label = "Displacement" bl_context = "material" @@ -452,17 +497,22 @@ class CyclesMaterial_PT_settings(CyclesButtonsPanel, Panel): @classmethod def poll(cls, context): - # return context.material and CyclesButtonsPanel.poll(context) return False + #return context.material and CyclesButtonsPanel.poll(context) def draw(self, context): layout = self.layout mat = context.material + cmat = mat.cycles + + split = layout.split() - row = layout.row() - row.label(text="Light Group:") - row.prop(mat, "light_group", text="") + col = split.column() + col.prop(cmat, "sample_as_light") + + col = split.column() + col.prop(cmat, "homogeneous_volume") class CyclesTexture_PT_context(CyclesButtonsPanel, Panel): bl_label = "" diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp index e693efb2d7f..a4944a378e0 100644 --- a/intern/cycles/blender/blender_object.cpp +++ b/intern/cycles/blender/blender_object.cpp @@ -87,12 +87,58 @@ void BlenderSync::sync_light(BL::Object b_parent, int b_index, BL::Object b_ob, if(!light_map.sync(&light, b_ob, b_parent, key)) return; + + BL::Lamp b_lamp(b_ob.data()); + + /* type */ +#if 0 + switch(b_lamp.type()) { + case BL::Lamp::type_POINT: { + BL::PointLamp b_point_lamp(b_lamp); + light->size = b_point_lamp.shadow_soft_size(); +#endif + light->type = LIGHT_POINT; +#if 0 + break; + } + case BL::Lamp::type_SPOT: { + BL::SpotLamp b_spot_lamp(b_lamp); + light->size = b_spot_lamp.shadow_soft_size(); + light->type = LIGHT_POINT; + break; + } + case BL::Lamp::type_HEMI: { + light->type = LIGHT_DISTANT; + light->size = 0.0f; + break; + } + case BL::Lamp::type_SUN: { + BL::SunLamp b_sun_lamp(b_lamp); + light->size = b_sun_lamp.shadow_soft_size(); + light->type = LIGHT_DISTANT; + break; + } + case BL::Lamp::type_AREA: { + BL::AreaLamp b_area_lamp(b_lamp); + light->size = 1.0f; + light->axisu = make_float3(tfm.x.x, tfm.y.x, tfm.z.x); + light->axisv = make_float3(tfm.x.y, tfm.y.y, tfm.z.y); + light->sizeu = b_area_lamp.size(); + if(b_area_lamp.shape() == BL::AreaLamp::shape_RECTANGLE) + light->sizev = b_area_lamp.size_y(); + else + light->sizev = light->sizeu; + light->type = LIGHT_AREA; + break; + } + } +#endif /* location */ light->co = make_float3(tfm.x.w, tfm.y.w, tfm.z.w); + light->dir = make_float3(tfm.x.z, tfm.y.z, tfm.z.z); /* shader */ - BL::Lamp b_lamp(b_ob.data()); vector used_shaders; find_shader(b_lamp, used_shaders); @@ -102,6 +148,10 @@ void BlenderSync::sync_light(BL::Object b_parent, int b_index, BL::Object b_ob, light->shader = used_shaders[0]; + /* shadow */ + //PointerRNA clamp = RNA_pointer_get(&b_lamp.ptr, "cycles"); + //light->cast_shadow = get_boolean(clamp, "cast_shadow"); + /* tag */ light->tag_update(scene); } diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index 3993efbce39..0c962e3c5f0 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -587,6 +587,11 @@ void BlenderSync::sync_materials() graph->connect(closure->output("BSDF"), out->input("Surface")); } + /* settings */ + PointerRNA cmat = RNA_pointer_get(&b_mat->ptr, "cycles"); + //shader->sample_as_light = get_boolean(cmat, "sample_as_light"); + shader->homogeneous_volume = get_boolean(cmat, "homogeneous_volume"); + shader->set_graph(graph); shader->tag_update(scene); } diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index 9bb7cb45e35..6f03cac315c 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -83,12 +83,17 @@ bool BlenderSync::sync_recalc() object_map.set_recalc(*b_ob); light_map.set_recalc(*b_ob); } + if(object_is_mesh(*b_ob)) { if(b_ob->recalc_data() || b_ob->data().recalc()) { BL::ID key = object_is_modified(*b_ob)? *b_ob: b_ob->data(); mesh_map.set_recalc(key); } } + else if(object_is_light(*b_ob)) { + if(b_ob->recalc_data() || b_ob->data().recalc()) + light_map.set_recalc(*b_ob); + } } BL::BlendData::meshes_iterator b_mesh; diff --git a/intern/cycles/kernel/kernel.cpp b/intern/cycles/kernel/kernel.cpp index 7e5fa25c662..52a3852aa01 100644 --- a/intern/cycles/kernel/kernel.cpp +++ b/intern/cycles/kernel/kernel.cpp @@ -73,82 +73,17 @@ void kernel_const_copy(KernelGlobals *kg, const char *name, void *host, size_t s void kernel_tex_copy(KernelGlobals *kg, const char *name, device_ptr mem, size_t width, size_t height) { - if(strcmp(name, "__bvh_nodes") == 0) { - kg->__bvh_nodes.data = (float4*)mem; - kg->__bvh_nodes.width = width; + if(0) { } - else if(strcmp(name, "__objects") == 0) { - kg->__objects.data = (float4*)mem; - kg->__objects.width = width; - } - else if(strcmp(name, "__tri_normal") == 0) { - kg->__tri_normal.data = (float4*)mem; - kg->__tri_normal.width = width; - } - else if(strcmp(name, "__tri_woop") == 0) { - kg->__tri_woop.data = (float4*)mem; - kg->__tri_woop.width = width; - } - else if(strcmp(name, "__prim_visibility") == 0) { - kg->__prim_visibility.data = (uint*)mem; - kg->__prim_visibility.width = width; - } - else if(strcmp(name, "__prim_index") == 0) { - kg->__prim_index.data = (uint*)mem; - kg->__prim_index.width = width; - } - else if(strcmp(name, "__prim_object") == 0) { - kg->__prim_object.data = (uint*)mem; - kg->__prim_object.width = width; - } - else if(strcmp(name, "__object_node") == 0) { - kg->__object_node.data = (uint*)mem; - kg->__object_node.width = width; - } - else if(strcmp(name, "__tri_vnormal") == 0) { - kg->__tri_vnormal.data = (float4*)mem; - kg->__tri_vnormal.width = width; - } - else if(strcmp(name, "__tri_vindex") == 0) { - kg->__tri_vindex.data = (float4*)mem; - kg->__tri_vindex.width = width; - } - else if(strcmp(name, "__tri_verts") == 0) { - kg->__tri_verts.data = (float4*)mem; - kg->__tri_verts.width = width; - } - else if(strcmp(name, "__light_distribution") == 0) { - kg->__light_distribution.data = (float4*)mem; - kg->__light_distribution.width = width; - } - else if(strcmp(name, "__light_point") == 0) { - kg->__light_point.data = (float4*)mem; - kg->__light_point.width = width; - } - else if(strcmp(name, "__svm_nodes") == 0) { - kg->__svm_nodes.data = (uint4*)mem; - kg->__svm_nodes.width = width; - } - else if(strcmp(name, "__filter_table") == 0) { - kg->__filter_table.data = (float*)mem; - kg->__filter_table.width = width; - } - else if(strcmp(name, "__sobol_directions") == 0) { - kg->__sobol_directions.data = (uint*)mem; - kg->__sobol_directions.width = width; - } - else if(strcmp(name, "__attributes_map") == 0) { - kg->__attributes_map.data = (uint4*)mem; - kg->__attributes_map.width = width; - } - else if(strcmp(name, "__attributes_float") == 0) { - kg->__attributes_float.data = (float*)mem; - kg->__attributes_float.width = width; - } - else if(strcmp(name, "__attributes_float3") == 0) { - kg->__attributes_float3.data = (float4*)mem; - kg->__attributes_float3.width = width; + +#define KERNEL_TEX(type, ttype, tname) \ + else if(strcmp(name, #tname) == 0) { \ + kg->tname.data = (type*)mem; \ + kg->tname.width = width; \ } +#define KERNEL_IMAGE_TEX(type, ttype, tname) +#include "kernel_textures.h" + else if(strstr(name, "__tex_image")) { texture_image_uchar4 *tex = NULL; int id = atoi(name + strlen("__tex_image_")); diff --git a/intern/cycles/kernel/kernel_emission.h b/intern/cycles/kernel/kernel_emission.h index 58c9183e58a..13c48464088 100644 --- a/intern/cycles/kernel/kernel_emission.h +++ b/intern/cycles/kernel/kernel_emission.h @@ -63,15 +63,11 @@ __device bool direct_emission(KernelGlobals *kg, ShaderData *sd, int lindex, light_sample(kg, randt, randu, randv, sd->P, &ls); } - /* compute incoming direction and distance */ - float t; - float3 omega_in = normalize_len(ls.P - sd->P, &t); - /* compute pdf */ - float pdf = light_sample_pdf(kg, &ls, -omega_in, t); + float pdf = light_sample_pdf(kg, &ls, -ls.D, ls.t); /* evaluate closure */ - *eval = direct_emissive_eval(kg, rando, &ls, randu, randv, -omega_in); + *eval = direct_emissive_eval(kg, rando, &ls, randu, randv, -ls.D); if(is_zero(*eval) || pdf == 0.0f) return false; @@ -80,7 +76,7 @@ __device bool direct_emission(KernelGlobals *kg, ShaderData *sd, int lindex, /* evaluate BSDF at shading point */ float bsdf_pdf; - float3 bsdf_eval = shader_bsdf_eval(kg, sd, omega_in, &bsdf_pdf); + float3 bsdf_eval = shader_bsdf_eval(kg, sd, ls.D, &bsdf_pdf); *eval *= bsdf_eval/pdf; @@ -92,29 +88,34 @@ __device bool direct_emission(KernelGlobals *kg, ShaderData *sd, int lindex, float mis_weight = power_heuristic(pdf, bsdf_pdf); *eval *= mis_weight; } - else { + else if(!(ls.shader & SHADER_AREA_LIGHT)) { /* ensure point light works in Watts, this should be handled * elsewhere but for now together with the diffuse emission * closure it works out to the right value */ *eval *= 0.25f; + + /* XXX verify with other light types */ } -#if 0 - /* todo: implement this in light */ - bool no_shadow = true; - - if(no_shadow) { - ray->t = 0.0f; - } - else { -#endif + if(ls.shader & SHADER_CAST_SHADOW) { /* setup ray */ ray->P = ray_offset(sd->P, sd->Ng); - ray->D = ray_offset(ls.P, ls.Ng) - ray->P; - ray->D = normalize_len(ray->D, &ray->t); -#if 0 + + if(ls.t == FLT_MAX) { + /* distant light */ + ray->D = ls.D; + ray->t = ls.t; + } + else { + /* other lights, avoid self-intersection */ + ray->D = ray_offset(ls.P, ls.Ng) - ray->P; + ray->D = normalize_len(ray->D, &ray->t); + } + } + else { + /* signal to not cast shadow ray */ + ray->t = 0.0f; } -#endif return true; } @@ -126,7 +127,7 @@ __device float3 indirect_emission(KernelGlobals *kg, ShaderData *sd, float t, in /* evaluate emissive closure */ float3 L = shader_emissive_eval(kg, sd); - if(!(path_flag & PATH_RAY_SINGULAR)) { + if(!(path_flag & PATH_RAY_SINGULAR) && (sd->flag & SD_SAMPLE_AS_LIGHT)) { /* multiple importance sampling */ float pdf = triangle_light_pdf(kg, sd->Ng, sd->I, t); float mis_weight = power_heuristic(bsdf_pdf, pdf); diff --git a/intern/cycles/kernel/kernel_light.h b/intern/cycles/kernel/kernel_light.h index 77e73e932ef..68d08a2655f 100644 --- a/intern/cycles/kernel/kernel_light.h +++ b/intern/cycles/kernel/kernel_light.h @@ -20,30 +20,112 @@ CCL_NAMESPACE_BEGIN typedef struct LightSample { float3 P; + float3 D; float3 Ng; + float t; int object; int prim; int shader; - float weight; } LightSample; -/* Point Light */ +/* Regular Light */ -__device void point_light_sample(KernelGlobals *kg, int point, +__device float3 disk_light_sample(float3 v, float randu, float randv) +{ + float3 ru, rv; + + make_orthonormals(v, &ru, &rv); + to_unit_disk(&randu, &randv); + + return ru*randu + rv*randv; +} + +__device float3 distant_light_sample(float3 D, float size, float randu, float randv) +{ + return normalize(D + disk_light_sample(D, randu, randv)*size); +} + +__device float3 sphere_light_sample(float3 P, float3 center, float size, float randu, float randv) +{ + return disk_light_sample(normalize(P - center), randu, randv)*size; +} + +__device float3 area_light_sample(float3 axisu, float3 axisv, float randu, float randv) +{ + randu = randu - 0.5f; + randv = randv - 0.5f; + + return axisu*randu + axisv*randv; +} + +__device void regular_light_sample(KernelGlobals *kg, int point, float randu, float randv, float3 P, LightSample *ls) { - float4 f = kernel_tex_fetch(__light_point, point); + float4 data0 = kernel_tex_fetch(__light_data, point*LIGHT_SIZE + 0); + float4 data1 = kernel_tex_fetch(__light_data, point*LIGHT_SIZE + 1); - ls->P = make_float3(f.x, f.y, f.z); - ls->Ng = normalize(ls->P - P); - ls->shader = __float_as_int(f.w); + LightType type = (LightType)__float_as_int(data0.x); + + if(type == LIGHT_DISTANT) { + /* distant light */ + float3 D = make_float3(data0.y, data0.z, data0.w); + float size = data1.y; + + if(size > 0.0f) + D = distant_light_sample(D, size, randu, randv); + + ls->P = D; + ls->Ng = -D; + ls->D = D; + ls->t = FLT_MAX; + } + else { + ls->P = make_float3(data0.y, data0.z, data0.w); + + if(type == LIGHT_POINT) { + float size = data1.y; + + /* sphere light */ + if(size > 0.0f) + ls->P += sphere_light_sample(P, ls->P, size, randu, randv); + + ls->Ng = normalize(P - ls->P); + } + else { + /* area light */ + float4 data2 = kernel_tex_fetch(__light_data, point*LIGHT_SIZE + 2); + float4 data3 = kernel_tex_fetch(__light_data, point*LIGHT_SIZE + 3); + + float3 axisu = make_float3(data1.y, data1.z, data2.w); + float3 axisv = make_float3(data2.y, data2.z, data2.w); + float3 D = make_float3(data3.y, data3.z, data3.w); + + ls->P += area_light_sample(axisu, axisv, randu, randv); + ls->Ng = D; + } + + ls->t = 0.0f; + } + + ls->shader = __float_as_int(data1.x); ls->object = ~0; ls->prim = ~0; } -__device float point_light_pdf(KernelGlobals *kg, float t) +__device float regular_light_pdf(KernelGlobals *kg, + const float3 Ng, const float3 I, float t) { - return t*t*kernel_data.integrator.pdf_lights; + float pdf = kernel_data.integrator.pdf_lights; + + if(t == FLT_MAX) + return pdf; + + float cos_pi = fabsf(dot(Ng, I)); + + if(cos_pi == 0.0f) + return 0.0f; + + return t*t*pdf/cos_pi; } /* Triangle Light */ @@ -56,6 +138,7 @@ __device void triangle_light_sample(KernelGlobals *kg, int prim, int object, ls->Ng = triangle_normal_MT(kg, prim, &ls->shader); ls->object = object; ls->prim = prim; + ls->t = 0.0f; #ifdef __INSTANCING__ /* instance transform */ @@ -117,7 +200,6 @@ __device void light_sample(KernelGlobals *kg, float randt, float randu, float ra /* fetch light data */ float4 l = kernel_tex_fetch(__light_distribution, index); int prim = __float_as_int(l.y); - ls->weight = l.z; if(prim >= 0) { int object = __float_as_int(l.w); @@ -125,8 +207,12 @@ __device void light_sample(KernelGlobals *kg, float randt, float randu, float ra } else { int point = -prim-1; - point_light_sample(kg, point, randu, randv, P, ls); + regular_light_sample(kg, point, randu, randv, P, ls); } + + /* compute incoming direction and distance */ + if(ls->t != FLT_MAX) + ls->D = normalize_len(ls->P - P, &ls->t); } __device float light_sample_pdf(KernelGlobals *kg, LightSample *ls, float3 I, float t) @@ -136,19 +222,19 @@ __device float light_sample_pdf(KernelGlobals *kg, LightSample *ls, float3 I, fl if(ls->prim != ~0) pdf = triangle_light_pdf(kg, ls->Ng, I, t); else - pdf = point_light_pdf(kg, t); + pdf = regular_light_pdf(kg, ls->Ng, I, t); return pdf; } __device void light_select(KernelGlobals *kg, int index, float randu, float randv, float3 P, LightSample *ls) { - point_light_sample(kg, index, randu, randv, P, ls); + regular_light_sample(kg, index, randu, randv, P, ls); } __device float light_select_pdf(KernelGlobals *kg, LightSample *ls, float3 I, float t) { - return point_light_pdf(kg, t); + return regular_light_pdf(kg, ls->Ng, I, t); } CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/kernel_montecarlo.h b/intern/cycles/kernel/kernel_montecarlo.h index 5d9afb6418f..df291b66b23 100644 --- a/intern/cycles/kernel/kernel_montecarlo.h +++ b/intern/cycles/kernel/kernel_montecarlo.h @@ -67,17 +67,6 @@ __device void to_unit_disk(float *x, float *y) *y = r * sinf(phi); } -__device_inline void make_orthonormals(const float3 N, float3 *a, float3 *b) -{ - if(N.x != N.y || N.x != N.z) - *a = make_float3(N.z-N.y, N.x-N.z, N.y-N.x); //(1,1,1)x N - else - *a = make_float3(N.z-N.y, N.x+N.z, -N.y-N.x); //(-1,1,1)x N - - *a = normalize(*a); - *b = cross(N, *a); -} - __device void make_orthonormals_tangent(const float3 N, const float3 T, float3 *a, float3 *b) { *b = cross(N, T); diff --git a/intern/cycles/kernel/kernel_path.h b/intern/cycles/kernel/kernel_path.h index d6977c24c53..e438780b1c8 100644 --- a/intern/cycles/kernel/kernel_path.h +++ b/intern/cycles/kernel/kernel_path.h @@ -162,19 +162,6 @@ __device_inline float path_state_terminate_probability(KernelGlobals *kg, PathSt return average(throughput); } -#ifdef __TRANSPARENT_SHADOWS__ -__device bool shader_transparent_shadow(KernelGlobals *kg, Intersection *isect) -{ - int prim = kernel_tex_fetch(__prim_index, isect->prim); - float4 Ns = kernel_tex_fetch(__tri_normal, prim); - int shader = __float_as_int(Ns.w); - - /* todo: add shader flag to check this */ - - return true; -} -#endif - __device_inline bool shadow_blocked(KernelGlobals *kg, PathState *state, Ray *ray, Intersection *isect, float3 *light_L) { if(ray->t == 0.0f) @@ -229,12 +216,10 @@ __device_inline bool shadow_blocked(KernelGlobals *kg, PathState *state, Ray *ra throughput *= shader_bsdf_transparency(kg, &sd); ray->P = ray_offset(sd.P, -sd.Ng); - ray->t = len(Pend - ray->P); + ray->t = (ray->t == FLT_MAX)? FLT_MAX: len(Pend - ray->P); bounce++; } - - return true; } } #endif @@ -298,10 +283,8 @@ __device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int sample, R #ifdef __EMISSION__ /* emission */ - if(kernel_data.integrator.use_emission) { - if(sd.flag & SD_EMISSION) - L += throughput*indirect_emission(kg, &sd, isect.t, state.flag, ray_pdf); - } + if(sd.flag & SD_EMISSION) + L += throughput*indirect_emission(kg, &sd, isect.t, state.flag, ray_pdf); #endif /* path termination. this is a strange place to put the termination, it's @@ -316,7 +299,7 @@ __device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int sample, R throughput /= probability; #ifdef __EMISSION__ - if(kernel_data.integrator.use_emission) { + if(kernel_data.integrator.use_direct_light) { /* sample illumination from lights to find path contribution */ if(sd.flag & SD_BSDF_HAS_EVAL) { float light_t = path_rng(kg, rng, sample, rng_offset + PRNG_LIGHT); diff --git a/intern/cycles/kernel/kernel_shader.h b/intern/cycles/kernel/kernel_shader.h index 0cf2091590c..c1bcbb067b5 100644 --- a/intern/cycles/kernel/kernel_shader.h +++ b/intern/cycles/kernel/kernel_shader.h @@ -60,7 +60,6 @@ __device_inline void shader_setup_from_ray(KernelGlobals *kg, ShaderData *sd, sd->N = Ng; sd->I = -ray->D; sd->shader = shader; - sd->flag = 0; /* triangle */ #ifdef __INSTANCING__ @@ -73,10 +72,10 @@ __device_inline void shader_setup_from_ray(KernelGlobals *kg, ShaderData *sd, #endif /* smooth normal */ - if(sd->shader < 0) { + if(sd->shader & SHADER_SMOOTH_NORMAL) sd->N = triangle_smooth_normal(kg, sd->prim, sd->u, sd->v); - sd->shader = -sd->shader; - } + + sd->flag = kernel_tex_fetch(__shader_flag, sd->shader & SHADER_MASK); #ifdef __DPDU__ /* dPdu/dPdv */ @@ -103,7 +102,7 @@ __device_inline void shader_setup_from_ray(KernelGlobals *kg, ShaderData *sd, bool backfacing = (dot(sd->Ng, sd->I) < 0.0f); if(backfacing) { - sd->flag = SD_BACKFACING; + sd->flag |= SD_BACKFACING; sd->Ng = -sd->Ng; sd->N = -sd->N; #ifdef __DPDU__ @@ -132,7 +131,6 @@ __device void shader_setup_from_sample(KernelGlobals *kg, ShaderData *sd, sd->Ng = Ng; sd->I = I; sd->shader = shader; - sd->flag = 0; /* primitive */ #ifdef __INSTANCING__ @@ -159,9 +157,8 @@ __device void shader_setup_from_sample(KernelGlobals *kg, ShaderData *sd, #endif /* smooth normal */ - if(sd->shader < 0) { + if(sd->shader & SHADER_SMOOTH_NORMAL) { sd->N = triangle_smooth_normal(kg, sd->prim, sd->u, sd->v); - sd->shader = -sd->shader; #ifdef __INSTANCING__ if(instanced) @@ -169,6 +166,8 @@ __device void shader_setup_from_sample(KernelGlobals *kg, ShaderData *sd, #endif } + sd->flag = kernel_tex_fetch(__shader_flag, sd->shader & SHADER_MASK); + #ifdef __DPDU__ /* dPdu/dPdv */ if(sd->prim == ~0) { @@ -192,7 +191,7 @@ __device void shader_setup_from_sample(KernelGlobals *kg, ShaderData *sd, bool backfacing = (dot(sd->Ng, sd->I) < 0.0f); if(backfacing) { - sd->flag = SD_BACKFACING; + sd->flag |= SD_BACKFACING; sd->Ng = -sd->Ng; sd->N = -sd->N; #ifdef __DPDU__ @@ -245,7 +244,7 @@ __device_inline void shader_setup_from_background(KernelGlobals *kg, ShaderData sd->Ng = -sd->P; sd->I = -sd->P; sd->shader = kernel_data.background.shader; - sd->flag = 0; + sd->flag = kernel_tex_fetch(__shader_flag, sd->shader & SHADER_MASK); #ifdef __INSTANCING__ sd->object = ~0; @@ -410,7 +409,7 @@ __device float3 shader_bsdf_transparency(KernelGlobals *kg, ShaderData *sd) for(int i = 0; i< sd->num_closure; i++) { ShaderClosure *sc = &sd->closure[i]; - if(sc->type == CLOSURE_BSDF_TRANSPARENT_ID) // XXX osl + if(sc->type == CLOSURE_BSDF_TRANSPARENT_ID) // todo: make this work for osl eval += sc->weight; } @@ -428,8 +427,9 @@ __device float3 shader_bsdf_transparency(KernelGlobals *kg, ShaderData *sd) __device float3 shader_emissive_eval(KernelGlobals *kg, ShaderData *sd) { + float3 eval; #ifdef __MULTI_CLOSURE__ - float3 eval = make_float3(0.0f, 0.0f, 0.0f); + eval = make_float3(0.0f, 0.0f, 0.0f); for(int i = 0; i < sd->num_closure; i++) { ShaderClosure *sc = &sd->closure[i]; @@ -442,11 +442,11 @@ __device float3 shader_emissive_eval(KernelGlobals *kg, ShaderData *sd) #endif } } +#else + eval = svm_emissive_eval(sd, &sd->closure)*sd->closure.weight; +#endif return eval; -#else - return svm_emissive_eval(sd, &sd->closure)*sd->closure.weight; -#endif } /* Holdout */ @@ -581,6 +581,20 @@ __device void shader_eval_displacement(KernelGlobals *kg, ShaderData *sd) #endif } +/* Transparent Shadows */ + +#ifdef __TRANSPARENT_SHADOWS__ +__device bool shader_transparent_shadow(KernelGlobals *kg, Intersection *isect) +{ + int prim = kernel_tex_fetch(__prim_index, isect->prim); + float4 Ns = kernel_tex_fetch(__tri_normal, prim); + int shader = __float_as_int(Ns.w); + int flag = kernel_tex_fetch(__shader_flag, shader & SHADER_MASK); + + return (flag & SD_HAS_SURFACE_TRANSPARENT) != 0; +} +#endif + /* Free ShaderData */ __device void shader_release(KernelGlobals *kg, ShaderData *sd) diff --git a/intern/cycles/kernel/kernel_textures.h b/intern/cycles/kernel/kernel_textures.h index 19635b2664c..2bfb1b3b88e 100644 --- a/intern/cycles/kernel/kernel_textures.h +++ b/intern/cycles/kernel/kernel_textures.h @@ -32,10 +32,11 @@ KERNEL_TEX(float4, texture_float4, __attributes_float3) /* lights */ KERNEL_TEX(float4, texture_float4, __light_distribution) -KERNEL_TEX(float4, texture_float4, __light_point) +KERNEL_TEX(float4, texture_float4, __light_data) /* shaders */ KERNEL_TEX(uint4, texture_uint4, __svm_nodes) +KERNEL_TEX(uint, texture_uint, __shader_flag) /* camera/film */ KERNEL_TEX(float, texture_float, __filter_table) diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index e09eaa8284c..bda037e88cc 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -26,6 +26,7 @@ CCL_NAMESPACE_BEGIN #define OBJECT_SIZE 16 +#define LIGHT_SIZE 4 #define __SOBOL__ #define __INSTANCING__ @@ -43,12 +44,12 @@ CCL_NAMESPACE_BEGIN #define __EMISSION__ #define __TEXTURES__ #define __HOLDOUT__ +//#define __MULTI_CLOSURE__ +//#define __TRANSPARENT_SHADOWS__ +//#define __MULTI_LIGHT__ #endif #ifdef __KERNEL_CPU__ -//#define __MULTI_CLOSURE__ -//#define __MULTI_LIGHT__ -//#define __TRANSPARENT_SHADOWS__ //#define __OSL__ #endif @@ -79,6 +80,7 @@ enum PathTraceDimension { /* these flag values correspond exactly to OSL defaults, so be careful not to * change this, or if you do, set the "raytypes" shading system attribute with * your own new ray types and bitflag values */ + enum PathRayFlag { PATH_RAY_CAMERA = 1, PATH_RAY_SHADOW = 2, @@ -92,28 +94,6 @@ enum PathRayFlag { PATH_RAY_ALL = (1|2|4|8|16|32|64|128) }; -/* Bidirectional Path Tracing */ - -enum BidirTraceDimension { - BRNG_FILTER_U = 0, - BRNG_FILTER_V = 1, - BRNG_LENS_U = 2, - BRNG_LENS_V = 3, - BRNG_LIGHT_U = 4, - BRNG_LIGHT_V = 5, - BRNG_LIGHT = 6, - BRNG_LIGHT_F = 7, - BRNG_EMISSIVE_U = 8, - BRNG_EMISSIVE_V = 9, - BRNG_BASE_NUM = 10, - - BRNG_BSDF_U = 0, - BRNG_BSDF_V = 1, - BRNG_BSDF = 2, - BRNG_TERMINATE = 3, - BRNG_BOUNCE_NUM = 4 -}; - /* Closure Label */ typedef enum ClosureLabel { @@ -132,16 +112,23 @@ typedef enum ClosureLabel { LABEL_STOP = 2048 } ClosureLabel; -/* Ray Type */ +/* Shader Flag */ -typedef enum RayType { - RayTypeCamera = 1, - RayTypeShadow = 2, - RayTypeReflection = 4, - RayTypeRefraction = 8, - RayTypeDiffuse = 16, - RayTypeGlossy = 32 -} RayType; +typedef enum ShaderFlag { + SHADER_SMOOTH_NORMAL = (1 << 31), + SHADER_CAST_SHADOW = (1 << 30), + SHADER_AREA_LIGHT = (1 << 29), + + SHADER_MASK = ~(SHADER_SMOOTH_NORMAL|SHADER_CAST_SHADOW|SHADER_AREA_LIGHT) +} ShaderFlag; + +/* Light Type */ + +typedef enum LightType { + LIGHT_POINT, + LIGHT_DISTANT, + LIGHT_AREA +} LightType; /* Differential */ @@ -213,13 +200,20 @@ typedef struct ShaderClosure { * are in world space. */ enum ShaderDataFlag { + /* runtime flags */ SD_BACKFACING = 1, /* backside of surface? */ SD_EMISSION = 2, /* have emissive closure? */ SD_BSDF = 4, /* have bsdf closure? */ SD_BSDF_HAS_EVAL = 8, /* have non-singular bsdf closure? */ SD_BSDF_GLOSSY = 16, /* have glossy bsdf */ SD_HOLDOUT = 32, /* have holdout closure? */ - SD_VOLUME = 64 /* have volume closure? */ + SD_VOLUME = 64, /* have volume closure? */ + + /* shader flags */ + SD_SAMPLE_AS_LIGHT = 128, /* direct light sample */ + SD_HAS_SURFACE_TRANSPARENT = 256, /* has surface transparency */ + SD_HAS_VOLUME = 512, /* has volume shader */ + SD_HOMOGENEOUS_VOLUME = 1024 /* has homogeneous volume */ }; typedef struct ShaderData { @@ -351,7 +345,7 @@ typedef struct KernelSunSky { typedef struct KernelIntegrator { /* emission */ - int use_emission; + int use_direct_light; int num_distribution; int num_all_lights; float pdf_triangles; diff --git a/intern/cycles/kernel/osl/osl_shader.cpp b/intern/cycles/kernel/osl/osl_shader.cpp index 3f0b1610181..18a8e974492 100644 --- a/intern/cycles/kernel/osl/osl_shader.cpp +++ b/intern/cycles/kernel/osl/osl_shader.cpp @@ -216,8 +216,10 @@ void OSLShader::eval_surface(KernelGlobals *kg, ShaderData *sd, float randb, int shaderdata_to_shaderglobals(kg, sd, path_flag, globals); /* execute shader for this point */ - if(kg->osl.surface_state[sd->shader]) - ctx->execute(OSL::pvt::ShadUseSurface, *(kg->osl.surface_state[sd->shader]), *globals); + int shader = sd->shader & SHADER_MASK; + + if(kg->osl.surface_state[shader]) + ctx->execute(OSL::pvt::ShadUseSurface, *(kg->osl.surface_state[shader]), *globals); /* flatten closure tree */ sd->num_closure = 0; @@ -351,7 +353,10 @@ void OSLShader::eval_volume(KernelGlobals *kg, ShaderData *sd, float randb, int shaderdata_to_shaderglobals(kg, sd, path_flag, globals); /* execute shader */ - ctx->execute(OSL::pvt::ShadUseSurface, *(kg->osl.volume_state[sd->shader]), *globals); + int shader = sd->shader & SHADER_MASK; + + if(kg->osl.volume_state[shader]) + ctx->execute(OSL::pvt::ShadUseSurface, *(kg->osl.volume_state[shader]), *globals); /* retrieve resulting closures */ sd->osl_closure.volume_sample_sum = 0.0f; @@ -377,7 +382,10 @@ void OSLShader::eval_displacement(KernelGlobals *kg, ShaderData *sd) shaderdata_to_shaderglobals(kg, sd, 0, globals); /* execute shader */ - ctx->execute(OSL::pvt::ShadUseSurface, *(kg->osl.displacement_state[sd->shader]), *globals); + int shader = sd->shader & SHADER_MASK; + + if(kg->osl.displacement_state[shader]) + ctx->execute(OSL::pvt::ShadUseSurface, *(kg->osl.displacement_state[shader]), *globals); /* get back position */ sd->P = TO_FLOAT3(globals->P); diff --git a/intern/cycles/kernel/svm/svm.h b/intern/cycles/kernel/svm/svm.h index bd5c07753ad..62e02f1a01a 100644 --- a/intern/cycles/kernel/svm/svm.h +++ b/intern/cycles/kernel/svm/svm.h @@ -152,7 +152,7 @@ __device_noinline void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderT { float stack[SVM_STACK_SIZE]; float closure_weight = 1.0f; - int offset = sd->shader; + int offset = sd->shader & SHADER_MASK; #ifdef __MULTI_CLOSURE__ sd->num_closure = 0; diff --git a/intern/cycles/kernel/svm/svm_bsdf.h b/intern/cycles/kernel/svm/svm_bsdf.h index a1b39c6ca1e..411efc8be8f 100644 --- a/intern/cycles/kernel/svm/svm_bsdf.h +++ b/intern/cycles/kernel/svm/svm_bsdf.h @@ -90,6 +90,7 @@ __device float3 svm_bsdf_eval(const ShaderData *sd, const ShaderClosure *sc, con case CLOSURE_BSDF_DIFFUSE_ID: eval = bsdf_diffuse_eval_reflect(sd, sc, sd->I, omega_in, pdf); break; +#ifdef __SVM__ case CLOSURE_BSDF_TRANSLUCENT_ID: eval = bsdf_translucent_eval_reflect(sd, sc, sd->I, omega_in, pdf); break; @@ -124,6 +125,7 @@ __device float3 svm_bsdf_eval(const ShaderData *sd, const ShaderClosure *sc, con case CLOSURE_BSDF_WESTIN_SHEEN_ID: eval = bsdf_westin_sheen_eval_reflect(sd, sc, sd->I, omega_in, pdf); break; +#endif default: eval = make_float3(0.0f, 0.0f, 0.0f); break; @@ -134,6 +136,7 @@ __device float3 svm_bsdf_eval(const ShaderData *sd, const ShaderClosure *sc, con case CLOSURE_BSDF_DIFFUSE_ID: eval = bsdf_diffuse_eval_transmit(sd, sc, sd->I, omega_in, pdf); break; +#ifdef __SVM__ case CLOSURE_BSDF_TRANSLUCENT_ID: eval = bsdf_translucent_eval_transmit(sd, sc, sd->I, omega_in, pdf); break; @@ -168,6 +171,7 @@ __device float3 svm_bsdf_eval(const ShaderData *sd, const ShaderClosure *sc, con case CLOSURE_BSDF_WESTIN_SHEEN_ID: eval = bsdf_westin_sheen_eval_transmit(sd, sc, sd->I, omega_in, pdf); break; +#endif default: eval = make_float3(0.0f, 0.0f, 0.0f); break; @@ -183,6 +187,7 @@ __device void svm_bsdf_blur(ShaderClosure *sc, float roughness) case CLOSURE_BSDF_DIFFUSE_ID: bsdf_diffuse_blur(sc, roughness); break; +#ifdef __SVM__ case CLOSURE_BSDF_TRANSLUCENT_ID: bsdf_translucent_blur(sc, roughness); break; @@ -217,6 +222,7 @@ __device void svm_bsdf_blur(ShaderClosure *sc, float roughness) case CLOSURE_BSDF_WESTIN_SHEEN_ID: bsdf_westin_sheen_blur(sc, roughness); break; +#endif default: break; } diff --git a/intern/cycles/render/light.cpp b/intern/cycles/render/light.cpp index b13cab55404..74943fd0ff7 100644 --- a/intern/cycles/render/light.cpp +++ b/intern/cycles/render/light.cpp @@ -32,8 +32,19 @@ CCL_NAMESPACE_BEGIN Light::Light() { + type = LIGHT_POINT; + co = make_float3(0.0f, 0.0f, 0.0f); - radius = 0.0f; + + dir = make_float3(0.0f, 0.0f, 0.0f); + size = 0.0f; + + axisu = make_float3(0.0f, 0.0f, 0.0f); + sizeu = 1.0f; + axisv = make_float3(0.0f, 0.0f, 0.0f); + sizev = 1.0f; + + cast_shadow = true; shader = 0; } @@ -68,7 +79,9 @@ void LightManager::device_update_distribution(Device *device, DeviceScene *dscen /* skip if we have no emission shaders */ foreach(uint sindex, mesh->used_shaders) { - if(scene->shaders[sindex]->has_surface_emission) { + Shader *shader = scene->shaders[sindex]; + + if(shader->sample_as_light && shader->has_surface_emission) { have_emission = true; break; } @@ -79,7 +92,7 @@ void LightManager::device_update_distribution(Device *device, DeviceScene *dscen for(size_t i = 0; i < mesh->triangles.size(); i++) { Shader *shader = scene->shaders[mesh->shader[i]]; - if(shader->has_surface_emission) + if(shader->sample_as_light && shader->has_surface_emission) num_triangles++; } } @@ -104,7 +117,9 @@ void LightManager::device_update_distribution(Device *device, DeviceScene *dscen /* skip if we have no emission shaders */ foreach(uint sindex, mesh->used_shaders) { - if(scene->shaders[sindex]->has_surface_emission) { + Shader *shader = scene->shaders[sindex]; + + if(shader->sample_as_light && shader->has_surface_emission) { have_emission = true; break; } @@ -118,7 +133,7 @@ void LightManager::device_update_distribution(Device *device, DeviceScene *dscen for(size_t i = 0; i < mesh->triangles.size(); i++) { Shader *shader = scene->shaders[mesh->shader[i]]; - if(shader->has_surface_emission) { + if(shader->sample_as_light && shader->has_surface_emission) { distribution[offset].x = totarea; distribution[offset].y = __int_as_float(i + mesh->tri_offset); distribution[offset].z = 1.0f; @@ -150,7 +165,7 @@ void LightManager::device_update_distribution(Device *device, DeviceScene *dscen distribution[offset].x = totarea; distribution[offset].y = __int_as_float(-i-1); distribution[offset].z = 1.0f; - distribution[offset].w = scene->lights[i]->radius; + distribution[offset].w = scene->lights[i]->size; totarea += lightarea; } } @@ -171,9 +186,9 @@ void LightManager::device_update_distribution(Device *device, DeviceScene *dscen /* update device */ KernelIntegrator *kintegrator = &dscene->data.integrator; - kintegrator->use_emission = (totarea > 0.0f) || (multi_light && num_lights); + kintegrator->use_direct_light = (totarea > 0.0f) || (multi_light && num_lights); - if(kintegrator->use_emission) { + if(kintegrator->use_direct_light) { /* number of emissives */ kintegrator->num_distribution = (totarea > 0.0f)? num_distribution: 0; @@ -219,16 +234,45 @@ void LightManager::device_update_points(Device *device, DeviceScene *dscene, Sce if(scene->lights.size() == 0) return; - float4 *light_point = dscene->light_point.resize(scene->lights.size()); + float4 *light_data = dscene->light_data.resize(scene->lights.size()*LIGHT_SIZE); for(size_t i = 0; i < scene->lights.size(); i++) { - float3 co = scene->lights[i]->co; + Light *light = scene->lights[i]; + float3 co = light->co; + float3 dir = normalize(light->dir); int shader_id = scene->shader_manager->get_shader_id(scene->lights[i]->shader); - light_point[i] = make_float4(co.x, co.y, co.z, __int_as_float(shader_id)); + if(!light->cast_shadow) + shader_id &= ~SHADER_CAST_SHADOW; + + if(light->type == LIGHT_POINT) { + shader_id &= ~SHADER_AREA_LIGHT; + + light_data[i*LIGHT_SIZE + 0] = make_float4(__int_as_float(light->type), co.x, co.y, co.z); + light_data[i*LIGHT_SIZE + 1] = make_float4(__int_as_float(shader_id), light->size, 0.0f, 0.0f); + light_data[i*LIGHT_SIZE + 2] = make_float4(0.0f, 0.0f, 0.0f, 0.0f); + light_data[i*LIGHT_SIZE + 3] = make_float4(0.0f, 0.0f, 0.0f, 0.0f); + } + else if(light->type == LIGHT_DISTANT) { + shader_id &= ~SHADER_AREA_LIGHT; + + light_data[i*LIGHT_SIZE + 0] = make_float4(__int_as_float(light->type), dir.x, dir.y, dir.z); + light_data[i*LIGHT_SIZE + 1] = make_float4(__int_as_float(shader_id), light->size, 0.0f, 0.0f); + light_data[i*LIGHT_SIZE + 2] = make_float4(0.0f, 0.0f, 0.0f, 0.0f); + light_data[i*LIGHT_SIZE + 3] = make_float4(0.0f, 0.0f, 0.0f, 0.0f); + } + else if(light->type == LIGHT_AREA) { + float3 axisu = light->axisu*(light->sizeu*light->size); + float3 axisv = light->axisv*(light->sizev*light->size); + + light_data[i*LIGHT_SIZE + 0] = make_float4(__int_as_float(light->type), co.x, co.y, co.z); + light_data[i*LIGHT_SIZE + 1] = make_float4(__int_as_float(shader_id), axisu.x, axisu.y, axisu.z); + light_data[i*LIGHT_SIZE + 2] = make_float4(0.0f, axisv.x, axisv.y, axisv.z); + light_data[i*LIGHT_SIZE + 3] = make_float4(0.0f, dir.x, dir.y, dir.z); + } } - device->tex_alloc("__light_point", dscene->light_point); + device->tex_alloc("__light_data", dscene->light_data); } void LightManager::device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress) @@ -250,10 +294,10 @@ void LightManager::device_update(Device *device, DeviceScene *dscene, Scene *sce void LightManager::device_free(Device *device, DeviceScene *dscene) { device->tex_free(dscene->light_distribution); - device->tex_free(dscene->light_point); + device->tex_free(dscene->light_data); dscene->light_distribution.clear(); - dscene->light_point.clear(); + dscene->light_data.clear(); } void LightManager::tag_update(Scene *scene) diff --git a/intern/cycles/render/light.h b/intern/cycles/render/light.h index dbc333260ee..19cbcb55386 100644 --- a/intern/cycles/render/light.h +++ b/intern/cycles/render/light.h @@ -19,6 +19,8 @@ #ifndef __LIGHT_H__ #define __LIGHT_H__ +#include "kernel_types.h" + #include "util_types.h" #include "util_vector.h" @@ -33,8 +35,19 @@ class Light { public: Light(); + LightType type; float3 co; - float radius; /* not implemented yet */ + + float3 dir; + float size; + + float3 axisu; + float sizeu; + float3 axisv; + float sizev; + + bool cast_shadow; + int shader; void tag_update(Scene *scene); diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index 4fd562b540c..9e7e2a8a81d 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -1214,6 +1214,7 @@ void TranslucentBsdfNode::compile(OSLCompiler& compiler) TransparentBsdfNode::TransparentBsdfNode() { + name = "transparent"; closure = CLOSURE_BSDF_TRANSPARENT_ID; } diff --git a/intern/cycles/render/object.cpp b/intern/cycles/render/object.cpp index fec1ab7f4c8..b91531ac462 100644 --- a/intern/cycles/render/object.cpp +++ b/intern/cycles/render/object.cpp @@ -88,9 +88,12 @@ void Object::tag_update(Scene *scene) if(mesh->transform_applied) mesh->need_update = true; - foreach(uint sindex, mesh->used_shaders) - if(scene->shaders[sindex]->has_surface_emission) + foreach(uint sindex, mesh->used_shaders) { + Shader *shader = scene->shaders[sindex]; + + if(shader->sample_as_light && shader->has_surface_emission) scene->light_manager->need_update = true; + } } scene->mesh_manager->need_update = true; diff --git a/intern/cycles/render/osl.cpp b/intern/cycles/render/osl.cpp index 446cf72f5d6..b0173334c76 100644 --- a/intern/cycles/render/osl.cpp +++ b/intern/cycles/render/osl.cpp @@ -91,7 +91,7 @@ void OSLShaderManager::device_update(Device *device, DeviceScene *dscene, Scene if(progress.get_cancel()) return; - if(shader->has_surface_emission) + if(shader->sample_as_light && shader->has_surface_emission) scene->light_manager->need_update = true; OSLCompiler compiler((void*)ss); @@ -112,12 +112,16 @@ void OSLShaderManager::device_update(Device *device, DeviceScene *dscene, Scene /* set texture system */ scene->image_manager->set_osl_texture_system((void*)ts); + + device_update_common(device, dscene, scene, progress); } void OSLShaderManager::device_free(Device *device, DeviceScene *dscene) { OSLGlobals *og = (OSLGlobals*)device->osl_memory(); + device_free_common(device, dscene); + /* clear shader engine */ og->use = false; og->ss = NULL; @@ -340,6 +344,8 @@ void OSLCompiler::generate_nodes(const set& nodes) if(node->name == ustring("emission")) current_shader->has_surface_emission = true; + if(node->name == ustring("transparent")) + current_shader->has_surface_transparent = true; } else nodes_done = false; @@ -403,6 +409,7 @@ void OSLCompiler::compile(OSLGlobals *og, Shader *shader) shader->has_surface = false; shader->has_surface_emission = false; + shader->has_surface_transparent = false; shader->has_volume = false; shader->has_displacement = false; diff --git a/intern/cycles/render/scene.h b/intern/cycles/render/scene.h index 93d8ebf1301..a969dd66c4c 100644 --- a/intern/cycles/render/scene.h +++ b/intern/cycles/render/scene.h @@ -77,10 +77,11 @@ public: /* lights */ device_vector light_distribution; - device_vector light_point; + device_vector light_data; /* shaders */ device_vector svm_nodes; + device_vector shader_flag; /* filter */ device_vector filter_table; diff --git a/intern/cycles/render/shader.cpp b/intern/cycles/render/shader.cpp index 548beaaecdd..6e827ec94bb 100644 --- a/intern/cycles/render/shader.cpp +++ b/intern/cycles/render/shader.cpp @@ -39,7 +39,11 @@ Shader::Shader() graph = NULL; graph_bump = NULL; + sample_as_light = true; + homogeneous_volume = false; + has_surface = false; + has_surface_transparent = false; has_surface_emission = false; has_volume = false; has_displacement = false; @@ -72,7 +76,7 @@ void Shader::tag_update(Scene *scene) /* if the shader previously was emissive, update light distribution, * if the new shader is emissive, a light manager update tag will be * done in the shader manager device update. */ - if(has_surface_emission) + if(sample_as_light && has_surface_emission) scene->light_manager->need_update = true; /* get requested attributes. this could be optimized by pruning unused @@ -146,13 +150,52 @@ int ShaderManager::get_shader_id(uint shader, Mesh *mesh, bool smooth) /* index depends bump since this setting is not in the shader */ if(mesh && mesh->displacement_method != Mesh::DISPLACE_TRUE) id += 1; - /* stuff in smooth flag too */ + /* smooth flag */ if(smooth) - id= -id; + id |= SHADER_SMOOTH_NORMAL; + + /* default flags */ + id |= SHADER_CAST_SHADOW|SHADER_AREA_LIGHT; return id; } +void ShaderManager::device_update_common(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress) +{ + device_free_common(device, dscene); + + if(scene->shaders.size() == 0) + return; + + uint shader_flag_size = scene->shaders.size()*2; + uint *shader_flag = dscene->shader_flag.resize(shader_flag_size); + uint i = 0; + + foreach(Shader *shader, scene->shaders) { + uint flag = 0; + + if(shader->sample_as_light) + flag |= SD_SAMPLE_AS_LIGHT; + if(shader->has_surface_transparent) + flag |= SD_HAS_SURFACE_TRANSPARENT; + if(shader->has_volume) + flag |= SD_HAS_VOLUME; + if(shader->homogeneous_volume) + flag |= SD_HOMOGENEOUS_VOLUME; + + shader_flag[i++] = flag; + shader_flag[i++] = flag; + } + + device->tex_alloc("__shader_flag", dscene->shader_flag); +} + +void ShaderManager::device_free_common(Device *device, DeviceScene *dscene) +{ + device->tex_free(dscene->shader_flag); + dscene->shader_flag.clear(); +} + void ShaderManager::add_default(Scene *scene) { Shader *shader; diff --git a/intern/cycles/render/shader.h b/intern/cycles/render/shader.h index cc8bc473a3f..45efa123ef6 100644 --- a/intern/cycles/render/shader.h +++ b/intern/cycles/render/shader.h @@ -56,6 +56,10 @@ public: level setting, so we need to handle both */ ShaderGraph *graph_bump; + /* sampling */ + bool sample_as_light; + bool homogeneous_volume; + /* synchronization */ bool need_update; bool need_update_attributes; @@ -63,6 +67,7 @@ public: /* information about shader after compiling */ bool has_surface; bool has_surface_emission; + bool has_surface_transparent; bool has_volume; bool has_displacement; @@ -92,6 +97,9 @@ public: virtual void device_update(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress) = 0; virtual void device_free(Device *device, DeviceScene *dscene) = 0; + void device_update_common(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress); + void device_free_common(Device *device, DeviceScene *dscene); + /* get globally unique id for a type of attribute */ uint get_attribute_id(ustring name); uint get_attribute_id(Attribute::Standard std); diff --git a/intern/cycles/render/svm.cpp b/intern/cycles/render/svm.cpp index 8b527691bd9..a1687ae5e29 100644 --- a/intern/cycles/render/svm.cpp +++ b/intern/cycles/render/svm.cpp @@ -66,7 +66,7 @@ void SVMShaderManager::device_update(Device *device, DeviceScene *dscene, Scene assert(shader->graph); - if(shader->has_surface_emission) + if(shader->sample_as_light && shader->has_surface_emission) scene->light_manager->need_update = true; SVMCompiler compiler(scene->shader_manager, scene->image_manager, @@ -86,11 +86,15 @@ void SVMShaderManager::device_update(Device *device, DeviceScene *dscene, Scene shader->need_update = false; } + device_update_common(device, dscene, scene, progress); + need_update = false; } void SVMShaderManager::device_free(Device *device, DeviceScene *dscene) { + device_free_common(device, dscene); + device->tex_free(dscene->svm_nodes); dscene->svm_nodes.clear(); } @@ -461,6 +465,8 @@ void SVMCompiler::generate_closure(ShaderNode *node, set& done) if(node->name == ustring("emission")) current_shader->has_surface_emission = true; + if(node->name == ustring("transparent")) + current_shader->has_surface_transparent = true; /* end node is added outside of this */ } @@ -538,6 +544,8 @@ void SVMCompiler::generate_multi_closure(ShaderNode *node, set& don if(node->name == ustring("emission")) current_shader->has_surface_emission = true; + if(node->name == ustring("transparent")) + current_shader->has_surface_transparent = true; /* end node is added outside of this */ } @@ -641,6 +649,7 @@ void SVMCompiler::compile(Shader *shader, vector& global_svm_nodes, int in shader->has_surface = false; shader->has_surface_emission = false; + shader->has_surface_transparent = false; shader->has_volume = false; shader->has_displacement = false; diff --git a/intern/cycles/util/util_math.h b/intern/cycles/util/util_math.h index c0418b3d8fd..38e90f0b2b2 100644 --- a/intern/cycles/util/util_math.h +++ b/intern/cycles/util/util_math.h @@ -780,6 +780,19 @@ __device_inline float triangle_area(const float3 v1, const float3 v2, const floa #endif +/* Orthonormal vectors */ + +__device_inline void make_orthonormals(const float3 N, float3 *a, float3 *b) +{ + if(N.x != N.y || N.x != N.z) + *a = make_float3(N.z-N.y, N.x-N.z, N.y-N.x); //(1,1,1)x N + else + *a = make_float3(N.z-N.y, N.x+N.z, -N.y-N.x); //(-1,1,1)x N + + *a = normalize(*a); + *b = cross(N, *a); +} + CCL_NAMESPACE_END #endif /* __UTIL_MATH_H__ */ From e6dfbcf7cbd3cc708b5dfc8f29f790fd0c0c8735 Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Tue, 27 Sep 2011 21:05:33 +0000 Subject: [PATCH 149/241] Cycles: * Typo Fix. --- intern/cycles/blender/addon/ui.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index ca2f7e497df..b8c3753800f 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -64,7 +64,7 @@ class CyclesRender_PT_integrator(CyclesButtonsPanel, Panel): sub.prop(cscene, "preview_samples", text="Preview") sub = col.column(align=True) - sub.label("Tranparency:") + sub.label("Transparency:") sub.prop(cscene, "transparent_max_bounces", text="Max") sub.prop(cscene, "transparent_min_bounces", text="Min") sub.prop(cscene, "no_caustics") From 5689467b9a1d04742e610da8e72d2c285c219778 Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Tue, 27 Sep 2011 21:25:25 +0000 Subject: [PATCH 150/241] Cycles: * Use different Boost versions for x86/x64 windows. Will commit OIIO and Boost for x64 windows later, needs more testing. --- CMakeLists.txt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7194dd4b7da..9d10f915201 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -839,8 +839,13 @@ elseif(WIN32) if(WITH_BOOST) set(BOOST ${LIBDIR}/boost) set(BOOST_INCLUDE_DIR ${BOOST}/include) - set(BOOST_POSTFIX "vc90-mt-s-1_46_1.lib") - set(BOOST_DEBUG_POSTFIX "vc90-mt-sgd-1_46_1.lib") + if(CMAKE_CL_64) + set(BOOST_POSTFIX "vc90-mt-s-1_45.lib") + set(BOOST_DEBUG_POSTFIX "vc90-mt-sgd-1_45.lib") + else() + set(BOOST_POSTFIX "vc90-mt-s-1_46_1.lib") + set(BOOST_DEBUG_POSTFIX "vc90-mt-sgd-1_46_1.lib") + endif() set(BOOST_LIBRARIES optimized libboost_date_time-${BOOST_POSTFIX} libboost_filesystem-${BOOST_POSTFIX} libboost_regex-${BOOST_POSTFIX} libboost_system-${BOOST_POSTFIX} libboost_thread-${BOOST_POSTFIX} From 590b7ff102c0ac5ee1f45ef8e43664afd9131251 Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Thu, 29 Sep 2011 20:28:46 +0000 Subject: [PATCH 151/241] Cycles: * Remove duplicate declarations. --- release/scripts/startup/bl_ui/space_node.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py index afd72b87384..2cbb75f615b 100644 --- a/release/scripts/startup/bl_ui/space_node.py +++ b/release/scripts/startup/bl_ui/space_node.py @@ -47,10 +47,8 @@ class NODE_HT_header(Header): 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 id_from: + layout.template_ID(id_from, "active_material", new="material.new") if snode_id: layout.prop(snode_id, "use_nodes") From da8f71bffb1a33c695a368c1243b8aa9ac54c21d Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 3 Oct 2011 15:31:45 +0000 Subject: [PATCH 152/241] Cycles: some tweaks to silence msvc assertions in debug mode. --- intern/cycles/blender/blender_mesh.cpp | 9 ++-- intern/cycles/bvh/bvh.cpp | 16 +++--- intern/cycles/device/device_network.h | 2 +- intern/cycles/render/attribute.h | 12 ++--- intern/cycles/render/mesh.cpp | 67 +++++++++++++++----------- intern/cycles/util/util_cache.h | 21 +++++--- 6 files changed, 76 insertions(+), 51 deletions(-) diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp index f981be66eb4..6e99b380c29 100644 --- a/intern/cycles/blender/blender_mesh.cpp +++ b/intern/cycles/blender/blender_mesh.cpp @@ -268,9 +268,10 @@ Mesh *BlenderSync::sync_mesh(BL::Object b_ob, bool object_updated) vector oldtriangle = mesh->triangles; + mesh->clear(); mesh->used_shaders = used_shaders; - mesh->name = ustring(b_ob_data.name()); + mesh->name = ustring(b_ob_data.name().c_str()); if(b_mesh) { if(cmesh.data && RNA_boolean_get(&cmesh, "use_subdivision")) @@ -299,8 +300,10 @@ Mesh *BlenderSync::sync_mesh(BL::Object b_ob, bool object_updated) if(oldtriangle.size() != mesh->triangles.size()) rebuild = true; - else if(memcmp(&oldtriangle[0], &mesh->triangles[0], sizeof(Mesh::Triangle)*oldtriangle.size()) != 0) - rebuild = true; + else if(oldtriangle.size()) { + if(memcmp(&oldtriangle[0], &mesh->triangles[0], sizeof(Mesh::Triangle)*oldtriangle.size()) != 0) + rebuild = true; + } mesh->tag_update(scene, rebuild); diff --git a/intern/cycles/bvh/bvh.cpp b/intern/cycles/bvh/bvh.cpp index 3be1f822ed7..cd3ad709812 100644 --- a/intern/cycles/bvh/bvh.cpp +++ b/intern/cycles/bvh/bvh.cpp @@ -314,11 +314,11 @@ void BVH::pack_instances(size_t nodes_size) pack.nodes.resize(nodes_size); pack.object_node.resize(objects.size()); - int *pack_prim_index = &pack.prim_index[0]; - int *pack_prim_object = &pack.prim_object[0]; - uint *pack_prim_visibility = &pack.prim_visibility[0]; - float4 *pack_tri_woop = &pack.tri_woop[0]; - int4 *pack_nodes = &pack.nodes[0]; + int *pack_prim_index = (pack.prim_index.size())? &pack.prim_index[0]: NULL; + int *pack_prim_object = (pack.prim_object.size())? &pack.prim_object[0]: NULL; + uint *pack_prim_visibility = (pack.prim_visibility.size())? &pack.prim_visibility[0]: NULL; + float4 *pack_tri_woop = (pack.tri_woop.size())? &pack.tri_woop[0]: NULL; + int4 *pack_nodes = (pack.nodes.size())? &pack.nodes[0]: NULL; /* merge */ foreach(Object *ob, objects) { @@ -355,7 +355,7 @@ void BVH::pack_instances(size_t nodes_size) mesh_map[mesh] = pack.object_node[object_offset-1]; /* merge primitive and object indexes */ - { + if(bvh->pack.prim_index.size()) { size_t bvh_prim_index_size = bvh->pack.prim_index.size(); int *bvh_prim_index = &bvh->pack.prim_index[0]; uint *bvh_prim_visibility = &bvh->pack.prim_visibility[0]; @@ -369,14 +369,14 @@ void BVH::pack_instances(size_t nodes_size) } /* merge triangle intersection data */ - { + if(bvh->pack.tri_woop.size()) { memcpy(pack_tri_woop+pack_tri_woop_offset, &bvh->pack.tri_woop[0], bvh->pack.tri_woop.size()*sizeof(float4)); pack_tri_woop_offset += bvh->pack.tri_woop.size(); } /* merge nodes */ - { + if( bvh->pack.nodes.size()) { size_t nsize_bbox = (use_qbvh)? nsize-2: nsize-1; int4 *bvh_nodes = &bvh->pack.nodes[0]; size_t bvh_nodes_size = bvh->pack.nodes.size(); diff --git a/intern/cycles/device/device_network.h b/intern/cycles/device/device_network.h index 775517586d3..3cdb70bb4df 100644 --- a/intern/cycles/device/device_network.h +++ b/intern/cycles/device/device_network.h @@ -125,7 +125,7 @@ typedef struct RPCReceive { size_t len = boost::asio::read(socket, boost::asio::buffer(data)); if(len == data_size) { - archive_str = string(&data[0], data.size()); + archive_str = (data.size())? string(&data[0], data.size()): string(""); /*istringstream archive_stream(archive_str); boost::archive::text_iarchive archive(archive_stream);*/ archive_stream = new istringstream(archive_str); diff --git a/intern/cycles/render/attribute.h b/intern/cycles/render/attribute.h index a1c3d2b6ae7..aef215d6c0c 100644 --- a/intern/cycles/render/attribute.h +++ b/intern/cycles/render/attribute.h @@ -73,13 +73,13 @@ public: size_t element_size(int numverts, int numfaces); size_t buffer_size(int numverts, int numfaces); - char *data() { return &buffer[0]; }; - float3 *data_float3() { return (float3*)&buffer[0]; } - float *data_float() { return (float*)&buffer[0]; } + char *data() { return (buffer.size())? &buffer[0]: NULL; }; + float3 *data_float3() { return (float3*)data(); } + float *data_float() { return (float*)data(); } - const char *data() const { return &buffer[0]; } - const float3 *data_float3() const { return (float3*)&buffer[0]; } - const float *data_float() const { return (float*)&buffer[0]; } + const char *data() const { return (buffer.size())? &buffer[0]: NULL; } + const float3 *data_float3() const { return (float3*)data(); } + const float *data_float() const { return (float*)data(); } static bool same_storage(TypeDesc a, TypeDesc b); static ustring standard_name(Attribute::Standard std); diff --git a/intern/cycles/render/mesh.cpp b/intern/cycles/render/mesh.cpp index 7a6ce547486..ac07ee8e89f 100644 --- a/intern/cycles/render/mesh.cpp +++ b/intern/cycles/render/mesh.cpp @@ -115,17 +115,20 @@ void Mesh::add_face_normals() float3 *fN = attr_fN->data_float3(); /* compute face normals */ - float3 *verts_ptr = &verts[0]; size_t triangles_size = triangles.size(); - Triangle *triangles_ptr = &triangles[0]; - for(size_t i = 0; i < triangles_size; i++) { - Triangle t = triangles_ptr[i]; - float3 v0 = verts_ptr[t.v[0]]; - float3 v1 = verts_ptr[t.v[1]]; - float3 v2 = verts_ptr[t.v[2]]; + if(triangles_size) { + float3 *verts_ptr = &verts[0]; + Triangle *triangles_ptr = &triangles[0]; - fN[i] = normalize(cross(v1 - v0, v2 - v0)); + for(size_t i = 0; i < triangles_size; i++) { + Triangle t = triangles_ptr[i]; + float3 v0 = verts_ptr[t.v[0]]; + float3 v1 = verts_ptr[t.v[1]]; + float3 v2 = verts_ptr[t.v[2]]; + + fN[i] = normalize(cross(v1 - v0, v2 - v0)); + } } } @@ -143,15 +146,18 @@ void Mesh::add_vertex_normals() float3 *vN = attr_vN->data_float3(); /* compute vertex normals */ - memset(&vN[0], 0, verts.size()*sizeof(float3)); + memset(vN, 0, verts.size()*sizeof(float3)); size_t verts_size = verts.size(); size_t triangles_size = triangles.size(); - Triangle *triangles_ptr = &triangles[0]; - for(size_t i = 0; i < triangles_size; i++) - for(size_t j = 0; j < 3; j++) - vN[triangles_ptr[i].v[j]] += fN[i]; + if(triangles_size) { + Triangle *triangles_ptr = &triangles[0]; + + for(size_t i = 0; i < triangles_size; i++) + for(size_t j = 0; j < 3; j++) + vN[triangles_ptr[i].v[j]] += fN[i]; + } for(size_t i = 0; i < verts_size; i++) vN[i] = normalize(vN[i]); @@ -169,7 +175,7 @@ void Mesh::pack_normals(Scene *scene, float4 *normal, float4 *vnormal) bool last_smooth = false; size_t triangles_size = triangles.size(); - uint *shader_ptr = &shader[0]; + uint *shader_ptr = (shader.size())? &shader[0]: NULL; for(size_t i = 0; i < triangles_size; i++) { normal[i].x = fN[i].x; @@ -195,24 +201,30 @@ void Mesh::pack_normals(Scene *scene, float4 *normal, float4 *vnormal) void Mesh::pack_verts(float4 *tri_verts, float4 *tri_vindex, size_t vert_offset) { size_t verts_size = verts.size(); - float3 *verts_ptr = &verts[0]; - for(size_t i = 0; i < verts_size; i++) { - float3 p = verts_ptr[i]; - tri_verts[i] = make_float4(p.x, p.y, p.z, 0.0f); + if(verts_size) { + float3 *verts_ptr = &verts[0]; + + for(size_t i = 0; i < verts_size; i++) { + float3 p = verts_ptr[i]; + tri_verts[i] = make_float4(p.x, p.y, p.z, 0.0f); + } } size_t triangles_size = triangles.size(); - Triangle *triangles_ptr = &triangles[0]; - for(size_t i = 0; i < triangles_size; i++) { - Triangle t = triangles_ptr[i]; + if(triangles_size) { + Triangle *triangles_ptr = &triangles[0]; - tri_vindex[i] = make_float4( - __int_as_float(t.v[0] + vert_offset), - __int_as_float(t.v[1] + vert_offset), - __int_as_float(t.v[2] + vert_offset), - 0); + for(size_t i = 0; i < triangles_size; i++) { + Triangle t = triangles_ptr[i]; + + tri_vindex[i] = make_float4( + __int_as_float(t.v[0] + vert_offset), + __int_as_float(t.v[1] + vert_offset), + __int_as_float(t.v[2] + vert_offset), + 0); + } } } @@ -428,7 +440,8 @@ void MeshManager::device_update_attributes(Device *device, DeviceScene *dscene, /* todo: get rid of this exception */ if(!mattr && req.std == Attribute::STD_GENERATED) { mattr = mesh->attributes.add(Attribute::STD_GENERATED); - memcpy(mattr->data_float3(), &mesh->verts[0], sizeof(float3)*mesh->verts.size()); + if(mesh->verts.size()) + memcpy(mattr->data_float3(), &mesh->verts[0], sizeof(float3)*mesh->verts.size()); } /* attribute not found */ diff --git a/intern/cycles/util/util_cache.h b/intern/cycles/util/util_cache.h index 25b1f2e7a51..91e8a94a584 100644 --- a/intern/cycles/util/util_cache.h +++ b/intern/cycles/util/util_cache.h @@ -57,20 +57,26 @@ public: template void add(const vector& data) { - CacheBuffer buffer(&data[0], data.size()*sizeof(T)); - buffers.push_back(buffer); + if(data.size()) { + CacheBuffer buffer(&data[0], data.size()*sizeof(T)); + buffers.push_back(buffer); + } } template void add(const array& data) { - CacheBuffer buffer(&data[0], data.size()*sizeof(T)); - buffers.push_back(buffer); + if(data.size()) { + CacheBuffer buffer(&data[0], data.size()*sizeof(T)); + buffers.push_back(buffer); + } } void add(void *data, size_t size) { - CacheBuffer buffer(data, size); - buffers.push_back(buffer); + if(size) { + CacheBuffer buffer(data, size); + buffers.push_back(buffer); + } } void add(int& data) @@ -94,6 +100,9 @@ public: return; } + if(!size) + return; + data.resize(size/sizeof(T)); if(!fread(&data[0], size, 1, f)) { From 1ab9fc59b750b1dc5ebaacd30c6891949895a10d Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 3 Oct 2011 17:42:24 +0000 Subject: [PATCH 153/241] Cycles: fix a few more msvc issues with empty scenes and ustring setting. --- intern/cycles/blender/blender_mesh.cpp | 6 +++--- intern/cycles/blender/blender_object.cpp | 2 +- intern/cycles/blender/blender_shader.cpp | 4 ++-- intern/cycles/bvh/bvh_build.cpp | 3 ++- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp index 6e99b380c29..0dc0b91be79 100644 --- a/intern/cycles/blender/blender_mesh.cpp +++ b/intern/cycles/blender/blender_mesh.cpp @@ -110,11 +110,11 @@ static void create_mesh(Scene *scene, Mesh *mesh, BL::Mesh b_mesh, const vector< BL::Mesh::vertex_colors_iterator l; for(b_mesh.vertex_colors.begin(l); l != b_mesh.vertex_colors.end(); ++l) { - if(!mesh_need_attribute(scene, mesh, ustring(l->name()))) + if(!mesh_need_attribute(scene, mesh, ustring(l->name().c_str()))) continue; Attribute *attr = mesh->attributes.add( - ustring(l->name()), TypeDesc::TypeColor, Attribute::CORNER); + ustring(l->name().c_str()), TypeDesc::TypeColor, Attribute::CORNER); BL::MeshColorLayer::data_iterator c; float3 *fdata = attr->data_float3(); @@ -142,7 +142,7 @@ static void create_mesh(Scene *scene, Mesh *mesh, BL::Mesh b_mesh, const vector< for(b_mesh.uv_textures.begin(l); l != b_mesh.uv_textures.end(); ++l) { Attribute::Standard std = (l->active_render())? Attribute::STD_UV: Attribute::STD_NONE; - ustring name = ustring(l->name()); + ustring name = ustring(l->name().c_str()); if(!(mesh_need_attribute(scene, mesh, name) || mesh_need_attribute(scene, mesh, std))) continue; diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp index a4944a378e0..de41484975d 100644 --- a/intern/cycles/blender/blender_object.cpp +++ b/intern/cycles/blender/blender_object.cpp @@ -177,7 +177,7 @@ void BlenderSync::sync_object(BL::Object b_parent, int b_index, BL::Object b_ob, /* object sync */ if(object_map.sync(&object, b_ob, b_parent, key)) { - object->name = b_ob.name(); + object->name = b_ob.name().c_str(); object->tfm = tfm; object->visibility = object_ray_visibility(b_ob) & visibility; diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index 0c962e3c5f0..c7eda0a0160 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -568,7 +568,7 @@ void BlenderSync::sync_materials() if(shader_map.sync(&shader, *b_mat)) { ShaderGraph *graph = new ShaderGraph(); - shader->name = b_mat->name(); + shader->name = b_mat->name().c_str(); /* create nodes */ if(b_mat->use_nodes() && b_mat->node_tree()) { @@ -660,7 +660,7 @@ void BlenderSync::sync_lamps() /* create nodes */ if(b_lamp->use_nodes() && b_lamp->node_tree()) { - shader->name = b_lamp->name(); + shader->name = b_lamp->name().c_str(); PtrSockMap sock_to_node; BL::ShaderNodeTree b_ntree(b_lamp->node_tree()); diff --git a/intern/cycles/bvh/bvh_build.cpp b/intern/cycles/bvh/bvh_build.cpp index d3e84e11d53..67cff3f5873 100644 --- a/intern/cycles/bvh/bvh_build.cpp +++ b/intern/cycles/bvh/bvh_build.cpp @@ -270,7 +270,8 @@ BVHNode* BVHBuild::create_leaf_node(const NodeSpec& spec) /* while there may be multiple triangles in a leaf, for object primitives * we want them to be the only one, so we */ int ob_num = spec.num - num; - BVHNode *oleaf = create_object_leaf_nodes(&references.back() - (ob_num - 1), ob_num); + const Reference *ref = (ob_num)? &references.back() - (ob_num - 1): NULL; + BVHNode *oleaf = create_object_leaf_nodes(ref, ob_num); for(int i = 0; i < ob_num; i++) references.pop_back(); From 85818c8209bc6df4f60c7e86173521f5fa1a5a96 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 11 Oct 2011 17:19:55 +0000 Subject: [PATCH 154/241] Cycles: add python render engine option to use new shading nodes or not, instead of hardcoded check for cycles. Also some other minor code cleaning tweaks. --- CMakeLists.txt | 6 ------ intern/CMakeLists.txt | 5 +++++ intern/cycles/blender/addon/__init__.py | 1 + .../scripts/startup/bl_ui/properties_particle.py | 15 ++------------- .../scripts/startup/bl_ui/properties_texture.py | 1 - release/scripts/startup/bl_ui/space_node.py | 6 ++++-- release/scripts/startup/bl_ui/space_view3d.py | 8 +++++--- source/blender/blenkernel/BKE_scene.h | 2 +- source/blender/blenkernel/intern/scene.c | 7 +++++-- source/blender/editors/sculpt_paint/paint_image.c | 4 ++-- source/blender/editors/space_image/space_image.c | 2 +- source/blender/editors/space_node/node_header.c | 2 +- source/blender/editors/space_view3d/drawmesh.c | 2 +- source/blender/editors/space_view3d/drawobject.c | 8 ++++++-- source/blender/editors/space_view3d/view3d_draw.c | 3 ++- source/blender/editors/uvedit/uvedit_ops.c | 2 +- source/blender/makesdna/DNA_image_types.h | 1 + source/blender/makesdna/DNA_node_types.h | 2 +- source/blender/makesdna/DNA_view3d_types.h | 2 +- source/blender/makesrna/intern/rna_access.c | 2 +- source/blender/makesrna/intern/rna_render.c | 8 ++++++-- source/blender/makesrna/intern/rna_scene.c | 11 +++++++++++ source/blender/makesrna/intern/rna_space.c | 5 +++++ source/blender/render/extern/include/RE_engine.h | 9 +++++---- source/blender/render/intern/pipeline/engine.c | 6 +++--- 25 files changed, 71 insertions(+), 49 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 09acb9e77c9..6bada40cd03 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1462,12 +1462,6 @@ add_subdirectory(source) add_subdirectory(intern) add_subdirectory(extern) -#----------------------------------------------------------------------------- -# Cycles - -if(WITH_CYCLES) - add_subdirectory(intern/cycles) -endif() #----------------------------------------------------------------------------- # Blender Application diff --git a/intern/CMakeLists.txt b/intern/CMakeLists.txt index fe30d6cfa0c..b38b6e11fd7 100644 --- a/intern/CMakeLists.txt +++ b/intern/CMakeLists.txt @@ -58,3 +58,8 @@ endif() if(WITH_IK_ITASC) add_subdirectory(itasc) endif() + +if(WITH_CYCLES) + add_subdirectory(cycles) +endif() + diff --git a/intern/cycles/blender/addon/__init__.py b/intern/cycles/blender/addon/__init__.py index 3ff1a8f3d41..4a5b78300bf 100644 --- a/intern/cycles/blender/addon/__init__.py +++ b/intern/cycles/blender/addon/__init__.py @@ -40,6 +40,7 @@ from cycles import presets class CyclesRender(bpy.types.RenderEngine): bl_idname = 'CYCLES' bl_label = "Cycles" + bl_use_shading_nodes = True def __init__(self): engine.init() diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py index da4cb05ee8c..7f97239aa68 100644 --- a/release/scripts/startup/bl_ui/properties_particle.py +++ b/release/scripts/startup/bl_ui/properties_particle.py @@ -41,7 +41,6 @@ def particle_panel_enabled(context, psys): def particle_panel_poll(cls, context): psys = context.particle_system - engine = context.scene.render.engine settings = 0 if psys: @@ -79,7 +78,6 @@ class PARTICLE_PT_context_particles(ParticleButtonsPanel, Panel): @classmethod def poll(cls, context): - engine = context.scene.render.engine return (context.particle_system or context.object or context.space_data.pin_id) def draw(self, context): @@ -251,7 +249,6 @@ class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel, Panel): @classmethod def poll(cls, context): psys = context.particle_system - engine = context.scene.render.engine if psys is None: return False if psys.settings is None: @@ -647,7 +644,6 @@ class PARTICLE_PT_boidbrain(ParticleButtonsPanel, Panel): def poll(cls, context): psys = context.particle_system settings = particle_get_settings(context) - engine = context.scene.render.engine if settings is None: return False @@ -746,11 +742,7 @@ class PARTICLE_PT_render(ParticleButtonsPanel, Panel): @classmethod def poll(cls, context): settings = particle_get_settings(context) - engine = context.scene.render.engine - if settings is None: - return False - - return True + return settings is not None def draw(self, context): layout = self.layout @@ -931,10 +923,7 @@ class PARTICLE_PT_draw(ParticleButtonsPanel, Panel): @classmethod def poll(cls, context): settings = particle_get_settings(context) - engine = context.scene.render.engine - if settings is None: - return False - return True + return settings is not None def draw(self, context): layout = self.layout diff --git a/release/scripts/startup/bl_ui/properties_texture.py b/release/scripts/startup/bl_ui/properties_texture.py index 38697c569da..34f5a948ee7 100644 --- a/release/scripts/startup/bl_ui/properties_texture.py +++ b/release/scripts/startup/bl_ui/properties_texture.py @@ -410,7 +410,6 @@ class TEXTURE_PT_image_sampling(TextureTypePanel, Panel): #Only for Material based textures, not for Lamp/World... if slot and isinstance(idblock, bpy.types.Material): - slot = context.texture_slot col.prop(tex, "use_normal_map") row = col.row() row.active = tex.use_normal_map diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py index d46ca25c57d..69766b54e97 100644 --- a/release/scripts/startup/bl_ui/space_node.py +++ b/release/scripts/startup/bl_ui/space_node.py @@ -27,6 +27,7 @@ class NODE_HT_header(Header): def draw(self, context): layout = self.layout + scene = context.scene snode = context.space_data snode_id = snode.id id_from = snode.id_from @@ -43,9 +44,10 @@ class NODE_HT_header(Header): layout.prop(snode, "tree_type", text="", expand=True) if snode.tree_type == 'SHADER': - row.prop(snode, "shader_type", text="", expand=True) + if scene.render.use_shading_nodes: + layout.prop(snode, "shader_type", text="", expand=True) - if snode.shader_type == 'OBJECT': + if not scene.render.use_shading_nodes or snode.shader_type == 'OBJECT': if id_from: layout.template_ID(id_from, "active_material", new="material.new") if snode_id: diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index c35b765c795..e2fe8c9fb82 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -2142,9 +2142,11 @@ class VIEW3D_PT_view3d_display(Panel): subsub.active = scene.unit_settings.system == 'NONE' subsub.prop(view, "grid_subdivisions", text="Subdivisions") - col = layout.column() - col.label(text="Shading:") - col.prop(gs, "material_mode", text="") + if not scene.render.use_shading_nodes: + col = layout.column() + col.label(text="Shading:") + col.prop(gs, "material_mode", text="") + col.prop(view, "show_textured_solid") layout.separator() diff --git a/source/blender/blenkernel/BKE_scene.h b/source/blender/blenkernel/BKE_scene.h index 8f85f14306f..1b12f2dd4be 100644 --- a/source/blender/blenkernel/BKE_scene.h +++ b/source/blender/blenkernel/BKE_scene.h @@ -102,7 +102,7 @@ int get_render_child_particle_number(struct RenderData *r, int num); int get_render_shadow_samples(struct RenderData *r, int samples); float get_render_aosss_error(struct RenderData *r, float error); -int scene_use_new_shading_system(struct Scene *scene); +int scene_use_new_shading_nodes(struct Scene *scene); #ifdef __cplusplus } diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index 7dc5a222814..101a10903c8 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -74,6 +74,8 @@ #include "BKE_sound.h" +#include "RE_engine.h" + //XXX #include "BIF_previewrender.h" //XXX #include "BIF_editseq.h" @@ -1137,8 +1139,9 @@ Base *_setlooper_base_step(Scene **sce_iter, Base *base) return NULL; } -int scene_use_new_shading_system(Scene *scene) +int scene_use_new_shading_nodes(Scene *scene) { - return (strcmp(scene->r.engine, "CYCLES") == 0); + RenderEngineType *type= RE_engines_find(scene->r.engine); + return (type->flag & RE_USE_SHADING_NODES); } diff --git a/source/blender/editors/sculpt_paint/paint_image.c b/source/blender/editors/sculpt_paint/paint_image.c index c0ced572515..9e12aa64065 100644 --- a/source/blender/editors/sculpt_paint/paint_image.c +++ b/source/blender/editors/sculpt_paint/paint_image.c @@ -487,7 +487,7 @@ static Image *imapaint_face_image(const ImagePaintState *s, int face_index) { Image *ima; - if(scene_use_new_shading_system(s->scene)) { + if(scene_use_new_shading_nodes(s->scene)) { MFace *mf = s->me->mface+face_index; ED_object_get_active_image(s->ob, mf->mat_nr, &ima, NULL); } @@ -503,7 +503,7 @@ static Image *project_paint_face_image(const ProjPaintState *ps, int face_index) { Image *ima; - if(scene_use_new_shading_system(ps->scene)) { + if(scene_use_new_shading_nodes(ps->scene)) { MFace *mf = ps->dm_mface+face_index; ED_object_get_active_image(ps->ob, mf->mat_nr, &ima, NULL); } diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c index f0709e056ec..b02b8fd856c 100644 --- a/source/blender/editors/space_image/space_image.c +++ b/source/blender/editors/space_image/space_image.c @@ -594,7 +594,7 @@ static void image_refresh(const bContext *C, ScrArea *UNUSED(sa)) EditMesh *em= BKE_mesh_get_editmesh(me); int sloppy= 1; /* partially selected face is ok */ - if(scene_use_new_shading_system(scene)) { + if(scene_use_new_shading_nodes(scene)) { /* new shading system, get image from material */ EditFace *efa= EM_get_actFace(em, sloppy); diff --git a/source/blender/editors/space_node/node_header.c b/source/blender/editors/space_node/node_header.c index 084570d905d..d5d7929faa3 100644 --- a/source/blender/editors/space_node/node_header.c +++ b/source/blender/editors/space_node/node_header.c @@ -232,7 +232,7 @@ static void node_menu_add(const bContext *C, Menu *menu) if(snode->treetype==NTREE_SHADER) { uiItemMenuF(layout, IFACE_(N_("Input")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT)); uiItemMenuF(layout, IFACE_(N_("Output")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT)); - if(scene_use_new_shading_system(scene)) { + if(scene_use_new_shading_nodes(scene)) { uiItemMenuF(layout, IFACE_(N_("Shader")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_SHADER)); uiItemMenuF(layout, IFACE_(N_("Texture")), 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_TEXTURE)); } diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c index b749538b742..6cad8f3487a 100644 --- a/source/blender/editors/space_view3d/drawmesh.c +++ b/source/blender/editors/space_view3d/drawmesh.c @@ -775,7 +775,7 @@ static int tex_mat_set_face_editmesh_cb(void *UNUSED(userData), int index) void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *ob, DerivedMesh *dm, int faceselect) { - if(!scene_use_new_shading_system(scene)) { + if(!scene_use_new_shading_nodes(scene)) { draw_mesh_textured_old(scene, v3d, rv3d, ob, dm, faceselect); return; } diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index 09ddfd7dc2c..5521460ac14 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -107,7 +107,8 @@ /* this condition has been made more complex since editmode can draw textures */ #define CHECK_OB_DRAWTEXTURE(vd, dt) \ - ((ELEM(vd->drawtype, OB_TEXTURE, OB_MATERIAL) && dt>OB_SOLID)) + ((ELEM(vd->drawtype, OB_TEXTURE, OB_MATERIAL) && dt>OB_SOLID) || \ + (vd->drawtype==OB_SOLID && vd->flag2 & V3D_SOLID_TEX)) static void draw_bounding_volume(Scene *scene, Object *ob); @@ -131,6 +132,9 @@ static int check_ob_drawface_dot(Scene *sce, View3D *vd, char dt) if(dt==OB_TEXTURE && vd->drawtype==OB_TEXTURE) return 0; + if(vd->drawtype>=OB_SOLID && vd->flag2 & V3D_SOLID_TEX) + return 0; + return 1; } @@ -213,7 +217,7 @@ int draw_glsl_material(Scene *scene, Object *ob, View3D *v3d, int dt) return 0; if(ob==OBACT && (ob && ob->mode & OB_MODE_WEIGHT_PAINT)) return 0; - if(scene_use_new_shading_system(scene)) + if(scene_use_new_shading_nodes(scene)) return 0; return (scene->gm.matmode == GAME_MAT_GLSL) && (dt > OB_SOLID); diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index e4346101b78..dba594acf71 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -2122,6 +2122,7 @@ static void gpu_update_lamps_shadows(Scene *scene, View3D *v3d) v3d->drawtype = OB_SOLID; v3d->lay &= GPU_lamp_shadow_layer(shadow->lamp); + v3d->flag2 &= ~V3D_SOLID_TEX; v3d->flag2 |= V3D_RENDER_OVERRIDE | V3D_RENDER_SHADOW; GPU_lamp_shadow_buffer_bind(shadow->lamp, viewmat, &winsize, winmat); @@ -2152,7 +2153,7 @@ CustomDataMask ED_view3d_datamask(Scene *scene, View3D *v3d) { CustomDataMask mask= 0; - if(ELEM(v3d->drawtype, OB_TEXTURE, OB_MATERIAL)) { + if(ELEM(v3d->drawtype, OB_TEXTURE, OB_MATERIAL) || ((v3d->drawtype == OB_SOLID) && (v3d->flag2 & V3D_SOLID_TEX))) { mask |= CD_MASK_MTFACE | CD_MASK_MCOL; if(v3d->drawtype == OB_MATERIAL || scene->gm.matmode == GAME_MAT_GLSL) diff --git a/source/blender/editors/uvedit/uvedit_ops.c b/source/blender/editors/uvedit/uvedit_ops.c index e80b63b4eea..568445b3112 100644 --- a/source/blender/editors/uvedit/uvedit_ops.c +++ b/source/blender/editors/uvedit/uvedit_ops.c @@ -154,7 +154,7 @@ void ED_uvedit_assign_image(Main *bmain, Scene *scene, Object *obedit, Image *im return; } - if(scene_use_new_shading_system(scene)) { + if(scene_use_new_shading_nodes(scene)) { /* new shading system, assign image in material */ int sloppy= 1; EditFace *efa= EM_get_actFace(em, sloppy); diff --git a/source/blender/makesdna/DNA_image_types.h b/source/blender/makesdna/DNA_image_types.h index e090abe39bb..dd033339ca4 100644 --- a/source/blender/makesdna/DNA_image_types.h +++ b/source/blender/makesdna/DNA_image_types.h @@ -42,6 +42,7 @@ struct ImBuf; struct RenderResult; struct GPUTexture; + /* ImageUser is in Texture, in Nodes, Background Image, Image Window, .... */ /* should be used in conjunction with an ID * to Image. */ typedef struct ImageUser { diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index 3477be4234f..6d1ff8dae59 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -104,7 +104,7 @@ typedef struct bNodeSocket { #define SOCK_FLOAT 0 #define SOCK_VECTOR 1 #define SOCK_RGBA 2 -#define SOCK_SHADER 3 +#define SOCK_SHADER 3 #define SOCK_BOOLEAN 4 #define SOCK_MESH 5 #define SOCK_INT 6 diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h index 6d4a845c5b0..2b7f54e0497 100644 --- a/source/blender/makesdna/DNA_view3d_types.h +++ b/source/blender/makesdna/DNA_view3d_types.h @@ -246,7 +246,7 @@ typedef struct View3D { /* View3d->flag2 (short) */ #define V3D_RENDER_OVERRIDE 4 -#define V3D_SOLID_TEX 8 /* deprecated */ +#define V3D_SOLID_TEX 8 #define V3D_DISPGP 16 #define V3D_LOCK_CAMERA 32 #define V3D_RENDER_SHADOW 64 /* This is a runtime only flag that's used to tell draw_mesh_object() that we're doing a shadow pass instead of a regular draw */ diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c index e64c5fd670d..8047b2df226 100644 --- a/source/blender/makesrna/intern/rna_access.c +++ b/source/blender/makesrna/intern/rna_access.c @@ -1454,7 +1454,7 @@ static void rna_property_update(bContext *C, Main *bmain, Scene *scene, PointerR * but this isnt likely to be a performance problem. */ int RNA_property_update_check(PropertyRNA *prop) { - return ((prop->magic != RNA_MAGIC) || prop->update || prop->noteflag); + return (prop->magic != RNA_MAGIC || prop->update || prop->noteflag); } void RNA_property_update(bContext *C, PointerRNA *ptr, PropertyRNA *prop) diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c index 460d7ce1c45..ef2e97c4427 100644 --- a/source/blender/makesrna/intern/rna_render.c +++ b/source/blender/makesrna/intern/rna_render.c @@ -397,11 +397,15 @@ static void rna_def_render_engine(BlenderRNA *brna) RNA_def_property_flag(prop, PROP_REGISTER); prop= RNA_def_property(srna, "bl_use_preview", PROP_BOOLEAN, PROP_NONE); - RNA_def_property_boolean_sdna(prop, NULL, "type->flag", RE_DO_PREVIEW); + RNA_def_property_boolean_sdna(prop, NULL, "type->flag", RE_USE_PREVIEW); RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL); prop= RNA_def_property(srna, "bl_use_postprocess", PROP_BOOLEAN, PROP_NONE); - RNA_def_property_boolean_negative_sdna(prop, NULL, "type->flag", RE_DO_ALL); + RNA_def_property_boolean_negative_sdna(prop, NULL, "type->flag", RE_USE_POSTPROCESS); + RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL); + + prop= RNA_def_property(srna, "bl_use_shading_nodes", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "type->flag", RE_USE_SHADING_NODES); RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL); RNA_define_verify_sdna(1); diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index c7a5d2c8f65..42ebdcbc582 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -841,6 +841,12 @@ static int rna_RenderSettings_multiple_engines_get(PointerRNA *UNUSED(ptr)) return (BLI_countlist(&R_engines) > 1); } +static int rna_RenderSettings_use_shading_nodes_get(PointerRNA *ptr) +{ + Scene *scene= (Scene*)ptr->id.data; + return scene_use_new_shading_nodes(scene); +} + static int rna_RenderSettings_use_game_engine_get(PointerRNA *ptr) { RenderData *rd= (RenderData*)ptr->data; @@ -3230,6 +3236,11 @@ static void rna_def_scene_render_data(BlenderRNA *brna) RNA_def_property_clear_flag(prop, PROP_EDITABLE); RNA_def_property_ui_text(prop, "Multiple Engines", "More than one rendering engine is available"); + prop= RNA_def_property(srna, "use_shading_nodes", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_funcs(prop, "rna_RenderSettings_use_shading_nodes_get", NULL); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_ui_text(prop, "Use Shading Nodes", "Active render engine uses new shading nodes system"); + prop= RNA_def_property(srna, "use_game_engine", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_funcs(prop, "rna_RenderSettings_use_game_engine_get", NULL); RNA_def_property_clear_flag(prop, PROP_EDITABLE); diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index b4bda045a70..8279bdc4a91 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -1373,6 +1373,11 @@ static void rna_def_space_view3d(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Relationship Lines", "Show dashed lines indicating parent or constraint relationships"); RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL); + prop= RNA_def_property(srna, "show_textured_solid", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag2", V3D_SOLID_TEX); + RNA_def_property_ui_text(prop, "Textured Solid", "Display face-assigned textures in solid view"); + RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL); + prop= RNA_def_property(srna, "lock_camera", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "flag2", V3D_LOCK_CAMERA); RNA_def_property_ui_text(prop, "Lock Camera to View", "Enable view navigation within the camera view"); diff --git a/source/blender/render/extern/include/RE_engine.h b/source/blender/render/extern/include/RE_engine.h index 7f01bc673d2..7d5ba28cfa6 100644 --- a/source/blender/render/extern/include/RE_engine.h +++ b/source/blender/render/extern/include/RE_engine.h @@ -48,10 +48,11 @@ struct Scene; /* External Engine */ -#define RE_INTERNAL 1 -#define RE_GAME 2 -#define RE_DO_PREVIEW 4 -#define RE_DO_ALL 8 +#define RE_INTERNAL 1 +#define RE_GAME 2 +#define RE_USE_PREVIEW 4 +#define RE_USE_POSTPROCESS 8 +#define RE_USE_SHADING_NODES 16 extern ListBase R_engines; diff --git a/source/blender/render/intern/pipeline/engine.c b/source/blender/render/intern/pipeline/engine.c index 0fc6a0320c8..d67cd3cb88f 100644 --- a/source/blender/render/intern/pipeline/engine.c +++ b/source/blender/render/intern/pipeline/engine.c @@ -268,11 +268,11 @@ int RE_engine_render(Render *re, int do_all) /* verify if we can render */ if(!type->render) return 0; - if((re->r.scemode & R_PREVIEWBUTS) && !(type->flag & RE_DO_PREVIEW)) + if((re->r.scemode & R_PREVIEWBUTS) && !(type->flag & RE_USE_PREVIEW)) return 0; - if(do_all && !(type->flag & RE_DO_ALL)) + if(do_all && !(type->flag & RE_USE_POSTPROCESS)) return 0; - if(!do_all && (type->flag & RE_DO_ALL)) + if(!do_all && (type->flag & RE_USE_POSTPROCESS)) return 0; /* create render result */ From 7503a7edfba9496521baefd70fe6cbcbfce5127b Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 12 Oct 2011 15:42:35 +0000 Subject: [PATCH 155/241] Cycles: replace surface/volume sockets in output nodes with a single shader socket, decided it's better to render objects as either surface or volume. This may break the volume rendering patch, but shaders with volume closures still get tagged as having volume closures, so it should be fixable without too many changes. --- intern/cycles/blender/addon/ui.py | 54 +- intern/cycles/blender/blender_shader.cpp | 6 +- intern/cycles/kernel/kernel_shader.h | 6 +- intern/cycles/kernel/osl/nodes/CMakeLists.txt | 3 +- ...ut_surface.osl => node_output_closure.osl} | 4 +- .../kernel/osl/nodes/node_output_volume.osl | 25 - intern/cycles/kernel/osl/osl_shader.cpp | 8 +- intern/cycles/kernel/svm/svm.h | 3 +- intern/cycles/kernel/svm/svm_types.h | 3 +- intern/cycles/render/nodes.cpp | 9 +- intern/cycles/render/osl.cpp | 62 +- intern/cycles/render/shader.cpp | 7 +- intern/cycles/render/shader.h | 7 +- intern/cycles/render/svm.cpp | 31 +- source/blender/blenloader/intern/readfile.c | 3 + .../gpu/intern/gpu_shader_material.glsl | 4 +- .../gpu/intern/gpu_shader_material.glsl.c | 2854 ++++++++--------- .../shader/nodes/node_shader_output_lamp.c | 2 +- .../nodes/node_shader_output_material.c | 3 +- .../shader/nodes/node_shader_output_world.c | 3 +- 20 files changed, 1496 insertions(+), 1601 deletions(-) rename intern/cycles/kernel/osl/nodes/{node_output_surface.osl => node_output_closure.osl} (90%) delete mode 100644 intern/cycles/kernel/osl/nodes/node_output_volume.osl diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index b8c3753800f..581d7a961bd 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -228,7 +228,7 @@ class CyclesCamera_PT_dof(CyclesButtonsPanel, Panel): sub.prop(ccam, "aperture_rotation", text="Rotation") class Cycles_PT_context_material(CyclesButtonsPanel, Panel): - bl_label = "Surface" + bl_label = "" bl_context = "material" bl_options = {'HIDE_HEADER'} @@ -400,8 +400,8 @@ class CyclesLamp_PT_lamp(CyclesButtonsPanel, Panel): elif lamp.type == 'HEMI': layout.label(text="Not supported, interpreted as sun lamp.") -class CyclesLamp_PT_nodes(CyclesButtonsPanel, Panel): - bl_label = "Nodes" +class CyclesLamp_PT_shader(CyclesButtonsPanel, Panel): + bl_label = "Shader" bl_context = "data" @classmethod @@ -412,10 +412,10 @@ class CyclesLamp_PT_nodes(CyclesButtonsPanel, Panel): layout = self.layout mat = context.lamp - panel_node_draw(layout, mat, 'OUTPUT_LAMP', 'Surface') + panel_node_draw(layout, mat, 'OUTPUT_LAMP', 'Shader') -class CyclesWorld_PT_surface(CyclesButtonsPanel, Panel): - bl_label = "Surface" +class CyclesWorld_PT_shader(CyclesButtonsPanel, Panel): + bl_label = "Shader" bl_context = "world" @classmethod @@ -426,25 +426,10 @@ class CyclesWorld_PT_surface(CyclesButtonsPanel, Panel): layout = self.layout mat = context.world - panel_node_draw(layout, mat, 'OUTPUT_WORLD', 'Surface') + panel_node_draw(layout, mat, 'OUTPUT_WORLD', 'Shader') -class CyclesWorld_PT_volume(CyclesButtonsPanel, Panel): - bl_label = "Volume" - bl_context = "world" - - @classmethod - def poll(cls, context): - return context.world and CyclesButtonsPanel.poll(context) - - def draw(self, context): - layout = self.layout - layout.active = False - - world = context.world - panel_node_draw(layout, world, 'OUTPUT_WORLD', 'Volume') - -class CyclesMaterial_PT_surface(CyclesButtonsPanel, Panel): - bl_label = "Surface" +class CyclesMaterial_PT_shader(CyclesButtonsPanel, Panel): + bl_label = "Shader" bl_context = "material" @classmethod @@ -455,26 +440,7 @@ class CyclesMaterial_PT_surface(CyclesButtonsPanel, Panel): layout = self.layout mat = context.material - panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Surface') - -class CyclesMaterial_PT_volume(CyclesButtonsPanel, Panel): - bl_label = "Volume" - bl_context = "material" - - @classmethod - def poll(cls, context): - return context.material and CyclesButtonsPanel.poll(context) - - def draw(self, context): - layout = self.layout - layout.active = False - - mat = context.material - cmat = mat.cycles - - panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Volume') - - layout.prop(cmat, "homogeneous_volume") + panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Shader') class CyclesMaterial_PT_displacement(CyclesButtonsPanel, Panel): bl_label = "Displacement" diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index c7eda0a0160..ad7dfb14c64 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -584,7 +584,7 @@ void BlenderSync::sync_materials() closure->input("Color")->value = get_float3(b_mat->diffuse_color()); out = graph->output(); - graph->connect(closure->output("BSDF"), out->input("Surface")); + graph->connect(closure->output("BSDF"), out->input("Closure")); } /* settings */ @@ -625,7 +625,7 @@ void BlenderSync::sync_world() closure->input("Color")->value = get_float3(b_world.horizon_color()); out = graph->output(); - graph->connect(closure->output("Background"), out->input("Surface")); + graph->connect(closure->output("Background"), out->input("Closure")); } shader->set_graph(graph); @@ -675,7 +675,7 @@ void BlenderSync::sync_lamps() closure->input("Strength")->value.x = b_lamp->energy()*10.0f; out = graph->output(); - graph->connect(closure->output("Emission"), out->input("Surface")); + graph->connect(closure->output("Emission"), out->input("Closure")); } shader->set_graph(graph); diff --git a/intern/cycles/kernel/kernel_shader.h b/intern/cycles/kernel/kernel_shader.h index c1bcbb067b5..7ca7f96d73b 100644 --- a/intern/cycles/kernel/kernel_shader.h +++ b/intern/cycles/kernel/kernel_shader.h @@ -482,7 +482,7 @@ __device void shader_eval_surface(KernelGlobals *kg, ShaderData *sd, #else #ifdef __SVM__ - svm_eval_nodes(kg, sd, SHADER_TYPE_SURFACE, randb, path_flag); + svm_eval_nodes(kg, sd, SHADER_TYPE_CLOSURE, randb, path_flag); #else bsdf_diffuse_setup(sd, &sd->closure); sd->closure.weight = make_float3(0.8f, 0.8f, 0.8f); @@ -500,7 +500,7 @@ __device float3 shader_eval_background(KernelGlobals *kg, ShaderData *sd, int pa #else #ifdef __SVM__ - svm_eval_nodes(kg, sd, SHADER_TYPE_SURFACE, 0.0f, path_flag); + svm_eval_nodes(kg, sd, SHADER_TYPE_CLOSURE, 0.0f, path_flag); #ifdef __MULTI_CLOSURE__ float3 eval = make_float3(0.0f, 0.0f, 0.0f); @@ -562,7 +562,7 @@ __device void shader_eval_volume(KernelGlobals *kg, ShaderData *sd, #ifdef __OSL__ OSLShader::eval_volume(kg, sd, randb, path_flag); #else - svm_eval_nodes(kg, sd, SHADER_TYPE_VOLUME, randb, path_flag); + svm_eval_nodes(kg, sd, SHADER_TYPE_CLOSURE, randb, path_flag); #endif #endif } diff --git a/intern/cycles/kernel/osl/nodes/CMakeLists.txt b/intern/cycles/kernel/osl/nodes/CMakeLists.txt index 7d37bb09d71..a1e420e8ac1 100644 --- a/intern/cycles/kernel/osl/nodes/CMakeLists.txt +++ b/intern/cycles/kernel/osl/nodes/CMakeLists.txt @@ -32,9 +32,8 @@ set(osl_sources node_musgrave_texture.osl node_blend_weight_texture.osl node_noise_texture.osl + node_output_closure.osl node_output_displacement.osl - node_output_surface.osl - node_output_volume.osl node_sky_texture.osl node_stucci_texture.osl node_texture_coordinate.osl diff --git a/intern/cycles/kernel/osl/nodes/node_output_surface.osl b/intern/cycles/kernel/osl/nodes/node_output_closure.osl similarity index 90% rename from intern/cycles/kernel/osl/nodes/node_output_surface.osl rename to intern/cycles/kernel/osl/nodes/node_output_closure.osl index 6efaf91121b..075cf35f60b 100644 --- a/intern/cycles/kernel/osl/nodes/node_output_surface.osl +++ b/intern/cycles/kernel/osl/nodes/node_output_closure.osl @@ -18,8 +18,8 @@ #include "stdosl.h" -surface node_output_surface(closure color Surface = background()) +surface node_output_surface(closure color Closure = background()) { - Ci = Surface; + Ci = Closure; } diff --git a/intern/cycles/kernel/osl/nodes/node_output_volume.osl b/intern/cycles/kernel/osl/nodes/node_output_volume.osl deleted file mode 100644 index 18094242dc7..00000000000 --- a/intern/cycles/kernel/osl/nodes/node_output_volume.osl +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2011, Blender Foundation. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -#include "stdosl.h" - -volume node_output_volume(closure color Volume = background()) -{ - Ci = Volume; -} - diff --git a/intern/cycles/kernel/osl/osl_shader.cpp b/intern/cycles/kernel/osl/osl_shader.cpp index 18a8e974492..42e63552063 100644 --- a/intern/cycles/kernel/osl/osl_shader.cpp +++ b/intern/cycles/kernel/osl/osl_shader.cpp @@ -218,8 +218,8 @@ void OSLShader::eval_surface(KernelGlobals *kg, ShaderData *sd, float randb, int /* execute shader for this point */ int shader = sd->shader & SHADER_MASK; - if(kg->osl.surface_state[shader]) - ctx->execute(OSL::pvt::ShadUseSurface, *(kg->osl.surface_state[shader]), *globals); + if(kg->osl.state[shader]) + ctx->execute(OSL::pvt::ShadUseSurface, *(kg->osl.state[shader]), *globals); /* flatten closure tree */ sd->num_closure = 0; @@ -355,8 +355,8 @@ void OSLShader::eval_volume(KernelGlobals *kg, ShaderData *sd, float randb, int /* execute shader */ int shader = sd->shader & SHADER_MASK; - if(kg->osl.volume_state[shader]) - ctx->execute(OSL::pvt::ShadUseSurface, *(kg->osl.volume_state[shader]), *globals); + if(kg->osl.state[shader]) + ctx->execute(OSL::pvt::ShadUseSurface, *(kg->osl.state[shader]), *globals); /* retrieve resulting closures */ sd->osl_closure.volume_sample_sum = 0.0f; diff --git a/intern/cycles/kernel/svm/svm.h b/intern/cycles/kernel/svm/svm.h index 62e02f1a01a..4e0ed25baea 100644 --- a/intern/cycles/kernel/svm/svm.h +++ b/intern/cycles/kernel/svm/svm.h @@ -166,8 +166,7 @@ __device_noinline void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderT switch(node.x) { case NODE_SHADER_JUMP: { - if(type == SHADER_TYPE_SURFACE) offset = node.y; - else if(type == SHADER_TYPE_VOLUME) offset = node.z; + if(type == SHADER_TYPE_CLOSURE) offset = node.y; else if(type == SHADER_TYPE_DISPLACEMENT) offset = node.w; else return; break; diff --git a/intern/cycles/kernel/svm/svm_types.h b/intern/cycles/kernel/svm/svm_types.h index baec3d7ac6e..fb52a923b0c 100644 --- a/intern/cycles/kernel/svm/svm_types.h +++ b/intern/cycles/kernel/svm/svm_types.h @@ -257,8 +257,7 @@ typedef enum NodeBlendWeightType { } NodeBlendWeightType; typedef enum ShaderType { - SHADER_TYPE_SURFACE, - SHADER_TYPE_VOLUME, + SHADER_TYPE_CLOSURE, SHADER_TYPE_DISPLACEMENT } ShaderType; diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index 9e7e2a8a81d..1d21e43217a 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -1945,8 +1945,7 @@ void BlendWeightNode::compile(OSLCompiler& compiler) OutputNode::OutputNode() : ShaderNode("output") { - add_input("Surface", SHADER_SOCKET_CLOSURE); - add_input("Volume", SHADER_SOCKET_CLOSURE); + add_input("Closure", SHADER_SOCKET_CLOSURE); add_input("Displacement", SHADER_SOCKET_FLOAT); } @@ -1964,10 +1963,8 @@ void OutputNode::compile(SVMCompiler& compiler) void OutputNode::compile(OSLCompiler& compiler) { - if(compiler.output_type() == SHADER_TYPE_SURFACE) - compiler.add(this, "node_output_surface"); - else if(compiler.output_type() == SHADER_TYPE_VOLUME) - compiler.add(this, "node_output_volume"); + if(compiler.output_type() == SHADER_TYPE_CLOSURE) + compiler.add(this, "node_output_closure"); else if(compiler.output_type() == SHADER_TYPE_DISPLACEMENT) compiler.add(this, "node_output_displacement"); } diff --git a/intern/cycles/render/osl.cpp b/intern/cycles/render/osl.cpp index b0173334c76..492529c30a2 100644 --- a/intern/cycles/render/osl.cpp +++ b/intern/cycles/render/osl.cpp @@ -102,7 +102,7 @@ void OSLShaderManager::device_update(Device *device, DeviceScene *dscene, Scene /* setup shader engine */ og->ss = ss; int background_id = scene->shader_manager->get_shader_id(scene->default_background); - og->background_state = og->surface_state[background_id]; + og->background_state = og->state[background_id]; og->use = true; tls_create(OSLGlobals::ThreadData, og->thread_data); @@ -128,8 +128,7 @@ void OSLShaderManager::device_free(Device *device, DeviceScene *dscene) tls_delete(OSLGlobals::ThreadData, og->thread_data); - og->surface_state.clear(); - og->volume_state.clear(); + og->state.clear(); og->displacement_state.clear(); og->background_state.reset(); } @@ -139,7 +138,7 @@ void OSLShaderManager::device_free(Device *device, DeviceScene *dscene) OSLCompiler::OSLCompiler(void *shadingsys_) { shadingsys = shadingsys_; - current_type = SHADER_TYPE_SURFACE; + current_type = SHADER_TYPE_CLOSURE; current_shader = NULL; background = false; } @@ -170,9 +169,7 @@ bool OSLCompiler::node_skip_input(ShaderNode *node, ShaderInput *input) depending on the current shader type */ if(node->name == ustring("output")) { - if(strcmp(input->name, "Surface") == 0 && current_type != SHADER_TYPE_SURFACE) - return true; - if(strcmp(input->name, "Volume") == 0 && current_type != SHADER_TYPE_VOLUME) + if(strcmp(input->name, "Closure") == 0 && current_type != SHADER_TYPE_CLOSURE) return true; if(strcmp(input->name, "Displacement") == 0 && current_type != SHADER_TYPE_DISPLACEMENT) return true; @@ -223,9 +220,7 @@ void OSLCompiler::add(ShaderNode *node, const char *name) * because "volume" and "displacement" don't work yet in OSL. the shaders * work fine, but presumably these values would be used for more strict * checking, so when that is fixed, we should update the code here too. */ - if(current_type == SHADER_TYPE_SURFACE) - ss->Shader("surface", name, id(node).c_str()); - else if(current_type == SHADER_TYPE_VOLUME) + if(current_type == SHADER_TYPE_CLOSURE) ss->Shader("surface", name, id(node).c_str()); else if(current_type == SHADER_TYPE_DISPLACEMENT) ss->Shader("surface", name, id(node).c_str()); @@ -346,6 +341,8 @@ void OSLCompiler::generate_nodes(const set& nodes) current_shader->has_surface_emission = true; if(node->name == ustring("transparent")) current_shader->has_surface_transparent = true; + if(node->name == ustring("volume")) + current_shader->has_volume = true; } else nodes_done = false; @@ -365,15 +362,9 @@ void OSLCompiler::compile_type(Shader *shader, ShaderGraph *graph, ShaderType ty ShaderNode *output = graph->output(); set dependencies; - if(type == SHADER_TYPE_SURFACE) { + if(type == SHADER_TYPE_CLOSURE) { /* generate surface shader */ - find_dependencies(dependencies, output->input("Surface")); - generate_nodes(dependencies); - output->compile(*this); - } - else if(type == SHADER_TYPE_VOLUME) { - /* generate volume shader */ - find_dependencies(dependencies, output->input("Volume")); + find_dependencies(dependencies, output->input("Closure")); generate_nodes(dependencies); output->compile(*this); } @@ -396,7 +387,7 @@ void OSLCompiler::compile(OSLGlobals *og, Shader *shader) ShaderNode *output = (graph)? graph->output(): NULL; /* copy graph for shader with bump mapping */ - if(output->input("Surface")->link && output->input("Displacement")->link) + if(output->input("Closure")->link && output->input("Displacement")->link) if(!shader->graph_bump) shader->graph_bump = shader->graph->copy(); @@ -407,46 +398,29 @@ void OSLCompiler::compile(OSLGlobals *og, Shader *shader) current_shader = shader; - shader->has_surface = false; shader->has_surface_emission = false; shader->has_surface_transparent = false; shader->has_volume = false; shader->has_displacement = false; /* generate surface shader */ - if(graph && output->input("Surface")->link) { - compile_type(shader, shader->graph, SHADER_TYPE_SURFACE); - og->surface_state.push_back(ss->state()); + if(graph && output->input("Closure")->link) { + compile_type(shader, shader->graph, SHADER_TYPE_CLOSURE); + og->state.push_back(ss->state()); if(shader->graph_bump) { ss->clear_state(); - compile_type(shader, shader->graph_bump, SHADER_TYPE_SURFACE); - og->surface_state.push_back(ss->state()); + compile_type(shader, shader->graph_bump, SHADER_TYPE_CLOSURE); + og->state.push_back(ss->state()); } else - og->surface_state.push_back(ss->state()); + og->state.push_back(ss->state()); ss->clear_state(); - - shader->has_surface = true; - } - else { - og->surface_state.push_back(OSL::ShadingAttribStateRef()); - og->surface_state.push_back(OSL::ShadingAttribStateRef()); - } - - /* generate volume shader */ - if(graph && output->input("Volume")->link) { - compile_type(shader, shader->graph, SHADER_TYPE_VOLUME); - shader->has_volume = true; - - og->volume_state.push_back(ss->state()); - og->volume_state.push_back(ss->state()); - ss->clear_state(); } else { - og->volume_state.push_back(OSL::ShadingAttribStateRef()); - og->volume_state.push_back(OSL::ShadingAttribStateRef()); + og->state.push_back(OSL::ShadingAttribStateRef()); + og->state.push_back(OSL::ShadingAttribStateRef()); } /* generate displacement shader */ diff --git a/intern/cycles/render/shader.cpp b/intern/cycles/render/shader.cpp index 6e827ec94bb..c0d450db22b 100644 --- a/intern/cycles/render/shader.cpp +++ b/intern/cycles/render/shader.cpp @@ -42,7 +42,6 @@ Shader::Shader() sample_as_light = true; homogeneous_volume = false; - has_surface = false; has_surface_transparent = false; has_surface_emission = false; has_volume = false; @@ -210,7 +209,7 @@ void ShaderManager::add_default(Scene *scene) closure->input("Color")->value = make_float3(0.8f, 0.8f, 0.8f); out = graph->output(); - graph->connect(closure->output("BSDF"), out->input("Surface")); + graph->connect(closure->output("BSDF"), out->input("Closure")); shader = new Shader(); shader->name = "default_surface"; @@ -228,7 +227,7 @@ void ShaderManager::add_default(Scene *scene) closure->input("Strength")->value.x = 0.0f; out = graph->output(); - graph->connect(closure->output("Emission"), out->input("Surface")); + graph->connect(closure->output("Emission"), out->input("Closure")); shader = new Shader(); shader->name = "default_light"; @@ -245,7 +244,7 @@ void ShaderManager::add_default(Scene *scene) closure->input("Color")->value = make_float3(0.8f, 0.8f, 0.8f); out = graph->output(); - graph->connect(closure->output("Background"), out->input("Surface")); + graph->connect(closure->output("Background"), out->input("Closure")); shader = new Shader(); shader->name = "default_background"; diff --git a/intern/cycles/render/shader.h b/intern/cycles/render/shader.h index 45efa123ef6..17ffc75924b 100644 --- a/intern/cycles/render/shader.h +++ b/intern/cycles/render/shader.h @@ -39,8 +39,8 @@ struct float3; /* Shader describing the appearance of a Mesh, Light or Background. * - * While there is only a single shader graph, it has three outputs: surface, - * volume and displacement, that the shader manager will compile and execute + * While there is only a single shader graph, it has two outputs: shader, + * displacement, that the shader manager will compile and execute * separately. */ class Shader { @@ -65,11 +65,10 @@ public: bool need_update_attributes; /* information about shader after compiling */ - bool has_surface; bool has_surface_emission; bool has_surface_transparent; - bool has_volume; bool has_displacement; + bool has_volume; /* requested mesh attributes */ AttributeRequestSet attributes; diff --git a/intern/cycles/render/svm.cpp b/intern/cycles/render/svm.cpp index a1687ae5e29..054989bbc28 100644 --- a/intern/cycles/render/svm.cpp +++ b/intern/cycles/render/svm.cpp @@ -107,7 +107,7 @@ SVMCompiler::SVMCompiler(ShaderManager *shader_manager_, ImageManager *image_man image_manager = image_manager_; sunsky = NULL; max_stack_use = 0; - current_type = SHADER_TYPE_SURFACE; + current_type = SHADER_TYPE_CLOSURE; current_shader = NULL; background = false; mix_weight_offset = SVM_STACK_INVALID; @@ -467,6 +467,8 @@ void SVMCompiler::generate_closure(ShaderNode *node, set& done) current_shader->has_surface_emission = true; if(node->name == ustring("transparent")) current_shader->has_surface_transparent = true; + if(node->name == ustring("volume")) + current_shader->has_volume = true; /* end node is added outside of this */ } @@ -577,10 +579,8 @@ void SVMCompiler::compile_type(Shader *shader, ShaderGraph *graph, ShaderType ty ShaderNode *node = graph->output(); ShaderInput *clin = NULL; - if(type == SHADER_TYPE_SURFACE) - clin = node->input("Surface"); - else if(type == SHADER_TYPE_VOLUME) - clin = node->input("Volume"); + if(type == SHADER_TYPE_CLOSURE) + clin = node->input("Closure"); else if(type == SHADER_TYPE_DISPLACEMENT) clin = node->input("Displacement"); else @@ -599,15 +599,9 @@ void SVMCompiler::compile_type(Shader *shader, ShaderGraph *graph, ShaderType ty if(clin->link) { bool generate = false; - if(type == SHADER_TYPE_SURFACE) { + if(type == SHADER_TYPE_CLOSURE) { /* generate surface shader */ generate = true; - shader->has_surface = true; - } - else if(type == SHADER_TYPE_VOLUME) { - /* generate volume shader */ - generate = true; - shader->has_volume = true; } else if(type == SHADER_TYPE_DISPLACEMENT) { /* generate displacement shader */ @@ -636,7 +630,7 @@ void SVMCompiler::compile(Shader *shader, vector& global_svm_nodes, int in /* copy graph for shader with bump mapping */ ShaderNode *node = shader->graph->output(); - if(node->input("Surface")->link && node->input("Displacement")->link) + if(node->input("Closure")->link && node->input("Displacement")->link) if(!shader->graph_bump) shader->graph_bump = shader->graph->copy(); @@ -647,30 +641,23 @@ void SVMCompiler::compile(Shader *shader, vector& global_svm_nodes, int in current_shader = shader; - shader->has_surface = false; shader->has_surface_emission = false; shader->has_surface_transparent = false; shader->has_volume = false; shader->has_displacement = false; /* generate surface shader */ - compile_type(shader, shader->graph, SHADER_TYPE_SURFACE); + compile_type(shader, shader->graph, SHADER_TYPE_CLOSURE); global_svm_nodes[index*2 + 0].y = global_svm_nodes.size(); global_svm_nodes[index*2 + 1].y = global_svm_nodes.size(); global_svm_nodes.insert(global_svm_nodes.end(), svm_nodes.begin(), svm_nodes.end()); if(shader->graph_bump) { - compile_type(shader, shader->graph_bump, SHADER_TYPE_SURFACE); + compile_type(shader, shader->graph_bump, SHADER_TYPE_CLOSURE); global_svm_nodes[index*2 + 1].y = global_svm_nodes.size(); global_svm_nodes.insert(global_svm_nodes.end(), svm_nodes.begin(), svm_nodes.end()); } - /* generate volume shader */ - compile_type(shader, shader->graph, SHADER_TYPE_VOLUME); - global_svm_nodes[index*2 + 0].z = global_svm_nodes.size(); - global_svm_nodes[index*2 + 1].z = global_svm_nodes.size(); - global_svm_nodes.insert(global_svm_nodes.end(), svm_nodes.begin(), svm_nodes.end()); - /* generate displacement shader */ compile_type(shader, shader->graph, SHADER_TYPE_DISPLACEMENT); global_svm_nodes[index*2 + 0].w = global_svm_nodes.size(); diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 2d3d21c5c7f..1f62de69412 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -2086,6 +2086,9 @@ static void ntree_tmp_cycles_version_patch(bNodeTree *ntree) if(strcmp(sock->name, "Closure2") == 0) strcpy(sock->name, "Shader2"); + if(strcmp(sock->name, "Surface") == 0) + strcpy(sock->name, "Shader"); + if(strcmp(sock->name, "Fresnel") == 0) { strcpy(sock->name, "IOR"); sock->ns.vec[0] = 1.0f/MAX2(1.0f - sock->ns.vec[0], 1e-5f); diff --git a/source/blender/gpu/intern/gpu_shader_material.glsl b/source/blender/gpu/intern/gpu_shader_material.glsl index 4a9d793aaad..6ca6a862591 100644 --- a/source/blender/gpu/intern/gpu_shader_material.glsl +++ b/source/blender/gpu/intern/gpu_shader_material.glsl @@ -2114,8 +2114,8 @@ void node_light_path( /* output */ -void node_output_material(vec4 surface, vec4 volume, float displacement, out vec4 result) +void node_output_material(vec4 shader, float displacement, out vec4 result) { - result = surface; + result = shader; } diff --git a/source/blender/gpu/intern/gpu_shader_material.glsl.c b/source/blender/gpu/intern/gpu_shader_material.glsl.c index e284c42532b..4898a3cbdf7 100644 --- a/source/blender/gpu/intern/gpu_shader_material.glsl.c +++ b/source/blender/gpu/intern/gpu_shader_material.glsl.c @@ -1,1453 +1,1453 @@ /* DataToC output of file */ -int datatoc_gpu_shader_material_glsl_size= 46289; +int datatoc_gpu_shader_material_glsl_size= 46274; char datatoc_gpu_shader_material_glsl[]= { - 10,102,108,111, 97,116, 32,101,120,112, 95, 98,108,101,110,100,101, -114, 40,102,108,111, 97,116, 32,102, 41, 10,123, 10, 9,114,101,116,117,114,110, 32,112,111,119, 40, 50, 46, 55, 49, 56, 50, 56, - 49, 56, 50, 56, 52, 54, 44, 32,102, 41, 59, 10,125, 10, 10,118,111,105,100, 32,114,103, 98, 95,116,111, 95,104,115,118, 40,118, -101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, - 97,116, 32, 99,109, 97,120, 44, 32, 99,109,105,110, 44, 32,104, 44, 32,115, 44, 32,118, 44, 32, 99,100,101,108,116, 97, 59, 10, - 9,118,101, 99, 51, 32, 99, 59, 10, 10, 9, 99,109, 97,120, 32, 61, 32,109, 97,120, 40,114,103, 98, 91, 48, 93, 44, 32,109, 97, -120, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, 41, 59, 10, 9, 99,109,105,110, 32, 61, 32,109,105,110, 40, -114,103, 98, 91, 48, 93, 44, 32,109,105,110, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, 41, 59, 10, 9, 99, -100,101,108,116, 97, 32, 61, 32, 99,109, 97,120, 45, 99,109,105,110, 59, 10, 10, 9,118, 32, 61, 32, 99,109, 97,120, 59, 10, 9, -105,102, 32, 40, 99,109, 97,120, 33, 61, 48, 46, 48, 41, 10, 9, 9,115, 32, 61, 32, 99,100,101,108,116, 97, 47, 99,109, 97,120, - 59, 10, 9,101,108,115,101, 32,123, 10, 9, 9,115, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, - 9,125, 10, 10, 9,105,102, 32, 40,115, 32, 61, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, - 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9, 99, 32, 61, 32, 40,118,101, 99, 51, 40, 99,109, 97,120, 44, 32, 99,109, 97, -120, 44, 32, 99,109, 97,120, 41, 32, 45, 32,114,103, 98, 46,120,121,122, 41, 47, 99,100,101,108,116, 97, 59, 10, 10, 9, 9,105, -102, 32, 40,114,103, 98, 46,120, 61, 61, 99,109, 97,120, 41, 32,104, 32, 61, 32, 99, 91, 50, 93, 32, 45, 32, 99, 91, 49, 93, 59, - 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,114,103, 98, 46,121, 61, 61, 99,109, 97,120, 41, 32,104, 32, 61, 32, 50, 46, 48, - 32, 43, 32, 99, 91, 48, 93, 32, 45, 32, 32, 99, 91, 50, 93, 59, 10, 9, 9,101,108,115,101, 32,104, 32, 61, 32, 52, 46, 48, 32, - 43, 32, 99, 91, 49, 93, 32, 45, 32, 99, 91, 48, 93, 59, 10, 10, 9, 9,104, 32, 47, 61, 32, 54, 46, 48, 59, 10, 10, 9, 9,105, -102, 32, 40,104, 60, 48, 46, 48, 41, 10, 9, 9, 9,104, 32, 43, 61, 32, 49, 46, 48, 59, 10, 9,125, 10, 10, 9,111,117,116, 99, -111,108, 32, 61, 32,118,101, 99, 52, 40,104, 44, 32,115, 44, 32,118, 44, 32,114,103, 98, 46,119, 41, 59, 10,125, 10, 10,118,111, -105,100, 32,104,115,118, 95,116,111, 95,114,103, 98, 40,118,101, 99, 52, 32,104,115,118, 44, 32,111,117,116, 32,118,101, 99, 52, - 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,105, 44, 32,102, 44, 32,112, 44, 32,113, 44, 32,116, 44, - 32,104, 44, 32,115, 44, 32,118, 59, 10, 9,118,101, 99, 51, 32,114,103, 98, 59, 10, 10, 9,104, 32, 61, 32,104,115,118, 91, 48, - 93, 59, 10, 9,115, 32, 61, 32,104,115,118, 91, 49, 93, 59, 10, 9,118, 32, 61, 32,104,115,118, 91, 50, 93, 59, 10, 10, 9,105, -102, 40,115, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,118, 44, 32,118, - 41, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, 40,104, 61, 61, 49, 46, 48, 41, 10, 9, 9, 9,104, 32, - 61, 32, 48, 46, 48, 59, 10, 9, 9, 10, 9, 9,104, 32, 42, 61, 32, 54, 46, 48, 59, 10, 9, 9,105, 32, 61, 32,102,108,111,111, -114, 40,104, 41, 59, 10, 9, 9,102, 32, 61, 32,104, 32, 45, 32,105, 59, 10, 9, 9,114,103, 98, 32, 61, 32,118,101, 99, 51, 40, -102, 44, 32,102, 44, 32,102, 41, 59, 10, 9, 9,112, 32, 61, 32,118, 42, 40, 49, 46, 48, 45,115, 41, 59, 10, 9, 9,113, 32, 61, - 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42,102, 41, 41, 59, 10, 9, 9,116, 32, 61, 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42, - 40, 49, 46, 48, 45,102, 41, 41, 41, 59, 10, 9, 9, 10, 9, 9,105,102, 32, 40,105, 32, 61, 61, 32, 48, 46, 48, 41, 32,114,103, - 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,116, 44, 32,112, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, - 61, 61, 32, 49, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,113, 44, 32,118, 44, 32,112, 41, 59, 10, 9, 9,101, -108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 50, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,112, 44, 32, -118, 44, 32,116, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 51, 46, 48, 41, 32,114,103, 98, 32, - 61, 32,118,101, 99, 51, 40,112, 44, 32,113, 44, 32,118, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, - 32, 52, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,116, 44, 32,112, 44, 32,118, 41, 59, 10, 9, 9,101,108,115, -101, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,112, 44, 32,113, 41, 59, 10, 9,125, 10, 10, 9,111,117,116, 99, -111,108, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 44, 32,104,115,118, 46,119, 41, 59, 10,125, 10, 10,102,108,111, 97,116, 32, -115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9,105,102, - 40, 99, 32, 60, 32, 48, 46, 48, 52, 48, 52, 53, 41, 10, 9, 9,114,101,116,117,114,110, 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, - 63, 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 40, 49, 46, 48, 47, 49, 50, 46, 57, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9, -114,101,116,117,114,110, 32,112,111,119, 40, 40, 99, 32, 43, 32, 48, 46, 48, 53, 53, 41, 42, 40, 49, 46, 48, 47, 49, 46, 48, 53, - 53, 41, 44, 32, 50, 46, 52, 41, 59, 10,125, 10, 10,102,108,111, 97,116, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95, -115,114,103, 98, 40,102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9,105,102, 40, 99, 32, 60, 32, 48, 46, 48, 48, 51, 49, 51, 48, - 56, 41, 10, 9, 9,114,101,116,117,114,110, 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, 63, 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, - 49, 50, 46, 57, 50, 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116,117,114,110, 32, 49, 46, 48, 53, 53, 32, 42, 32,112,111, -119, 40, 99, 44, 32, 49, 46, 48, 47, 50, 46, 52, 41, 32, 45, 32, 48, 46, 48, 53, 53, 59, 10,125, 10, 10,118,111,105,100, 32,115, -114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 95,102,114,111,109, 44, 32, -111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111,108, 95,116,111, 46,114, 32, 61, 32,115, -114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,114, 41, 59, 10, 9, 99, -111,108, 95,116,111, 46,103, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95, -102,114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110, -101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 97, 32, 61, 32, - 99,111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, - 95,115,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 95,102,114,111,109, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111, -108, 95,116,111, 41, 10,123, 10, 9, 99,111,108, 95,116,111, 46,114, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, - 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,114, 41, 59, 10, 9, 99,111,108, 95,116,111, 46,103, 32, 61, 32,108, -105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,103, 41, 59, 10, 9, 99, -111,108, 95,116,111, 46, 98, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95, -102,114,111,109, 46, 98, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 97, 32, 61, 32, 99,111,108, 95,102,114,111,109, 46, 97, 59, - 10,125, 10, 10, 35,100,101,102,105,110,101, 32, 77, 95, 80, 73, 32, 51, 46, 49, 52, 49, 53, 57, 50, 54, 53, 51, 53, 56, 57, 55, - 57, 51, 50, 51, 56, 52, 54, 10, 35,100,101,102,105,110,101, 32, 77, 95, 49, 95, 80, 73, 32, 48, 46, 51, 49, 56, 51, 48, 57, 56, - 56, 54, 49, 56, 51, 55, 57, 48, 54, 57, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 83, 72, 65, 68, 69, 82, 32, - 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,118, 99,111, -108, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 52, 32, 97,116,116,118, 99,111,108, 44, 32,111,117,116, 32,118,101, - 99, 52, 32,118, 99,111,108, 41, 10,123, 10, 9,118, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 97,116,116,118, 99,111,108, 46, -120, 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111,108, 46,121, 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111, -108, 46,122, 47, 50, 53, 53, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,117,118, 95, 97,116,116,114, -105, 98,117,116,101, 40,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 41, 10,123, - 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, 49, 46, 48, - 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,103,101,111,109, 40,118,101, 99, 51, 32, - 99,111, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,118, -101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,118,101, 99, 52, 32, 97,116, -116,118, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, - 32,108,111, 99, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, 32, -111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, - 97,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102,114,111, -110,116, 98, 97, 99,107, 41, 10,123, 10, 9,108,111, 99, 97,108, 32, 61, 32, 99,111, 59, 10, 9,118,105,101,119, 32, 61, 32,110, -111,114,109, 97,108,105,122,101, 40,108,111, 99, 97,108, 41, 59, 10, 9,103,108,111, 98, 97,108, 32, 61, 32, 40,118,105,101,119, -105,110,118,109, 97,116, 42,118,101, 99, 52, 40,108,111, 99, 97,108, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,111, -114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111, 59, 10, 9,117,118, 95, 97,116,116,114,105, 98,117,116,101, 40, 97,116,116, -117,118, 44, 32,117,118, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,111, -114, 41, 59, 9, 47, 42, 32, 98,108,101,110,100,101,114, 32,114,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32, -110,101,103, 97,116,101,100, 32, 42, 47, 10, 9,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116,101, 40, 97,116,116,118, 99, -111,108, 44, 32,118, 99,111,108, 41, 59, 10, 9,102,114,111,110,116, 98, 97, 99,107, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10, -118,111,105,100, 32,109, 97,112,112,105,110,103, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,109, 97,116, 52, 32,109, 97,116, 44, - 32,118,101, 99, 51, 32,109,105,110,118,101, 99, 44, 32,118,101, 99, 51, 32,109, 97,120,118,101, 99, 44, 32,102,108,111, 97,116, - 32,100,111,109,105,110, 44, 32,102,108,111, 97,116, 32,100,111,109, 97,120, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117, -116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32, 40,109, 97,116, 32, 42, 32,118,101, 99, 52, 40,118,101, - 99, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,105,102, 40,100,111,109,105,110, 32, 61, 61, 32, 49, 46, 48, 41, 10, - 9, 9,111,117,116,118,101, 99, 32, 61, 32,109, 97,120, 40,111,117,116,118,101, 99, 44, 32,109,105,110,118,101, 99, 41, 59, 10, - 9,105,102, 40,100,111,109, 97,120, 32, 61, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32,109,105,110, - 40,111,117,116,118,101, 99, 44, 32,109, 97,120,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32, 99, 97,109,101,114, 97, - 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,105,101,119, 44, 32,111,117,116, 32, -102,108,111, 97,116, 32,111,117,116,100,101,112,116,104, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,105,115, -116, 41, 10,123, 10, 9,111,117,116,100,101,112,116,104, 32, 61, 32, 97, 98,115, 40, 99,111, 46,122, 41, 59, 10, 9,111,117,116, -100,105,115,116, 32, 61, 32,108,101,110,103,116,104, 40, 99,111, 41, 59, 10, 9,111,117,116,118,105,101,119, 32, 61, 32,110,111, -114,109, 97,108,105,122,101, 40, 99,111, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,100,100, 40,102,108, -111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, -111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 43, 32,118, 97,108, 50, 59, - 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,115,117, 98,116,114, 97, 99,116, 40,102,108,111, 97,116, 32,118, 97,108, - 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, - 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 45, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105, -100, 32,109, 97,116,104, 95,109,117,108,116,105,112,108,121, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97, -116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116, -118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 42, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, -100,105,118,105,100,101, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 50, 32, 61, 61, 32, - 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, -118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 47, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, -115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, - 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,115,105,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32, -109, 97,116,104, 95, 99,111,115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, - 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,115, 40,118, 97,108, 41, 59, 10,125, - 10, 10,118,111,105,100, 32,109, 97,116,104, 95,116, 97,110,103,101,110,116, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,116, 97,110, - 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,115,105,110, 40,102,108,111, 97,116, 32,118, - 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, - 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, - 32, 61, 32, 97,115,105,110, 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, - 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97, 99,111,115, 40,102,108,111, 97,116, 32,118, 97,108, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 32, 60, 61, - 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, - 97, 99,111,115, 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, - 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,116, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117, -116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 97,116, 97,110, - 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,112,111,119, 40,102,108,111, 97,116, 32,118, 97, -108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, - 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 49, 32, 62, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, - 32,112,111,119, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, - 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,108,111,103, 40,102,108,111, 97,116, 32,118, - 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97, -108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 62, 32, 48, 46, 48, 32, 32, 38, 38, 32,118, 97,108, 50, 32, 62, 32, 48, - 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 61, 32,108,111,103, 50, 40,118, 97,108, 49, 41, 32, 47, 32,108,111,103, 50, 40, -118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118, -111,105,100, 32,109, 97,116,104, 95,109, 97,120, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, + 10,102, +108,111, 97,116, 32,101,120,112, 95, 98,108,101,110,100,101,114, 40,102,108,111, 97,116, 32,102, 41, 10,123, 10, 9,114,101,116, +117,114,110, 32,112,111,119, 40, 50, 46, 55, 49, 56, 50, 56, 49, 56, 50, 56, 52, 54, 44, 32,102, 41, 59, 10,125, 10, 10,118,111, +105,100, 32,114,103, 98, 95,116,111, 95,104,115,118, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, + 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32, 99,109, 97,120, 44, 32, 99,109,105,110, 44, 32,104, 44, + 32,115, 44, 32,118, 44, 32, 99,100,101,108,116, 97, 59, 10, 9,118,101, 99, 51, 32, 99, 59, 10, 10, 9, 99,109, 97,120, 32, 61, + 32,109, 97,120, 40,114,103, 98, 91, 48, 93, 44, 32,109, 97,120, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, + 41, 59, 10, 9, 99,109,105,110, 32, 61, 32,109,105,110, 40,114,103, 98, 91, 48, 93, 44, 32,109,105,110, 40,114,103, 98, 91, 49, + 93, 44, 32,114,103, 98, 91, 50, 93, 41, 41, 59, 10, 9, 99,100,101,108,116, 97, 32, 61, 32, 99,109, 97,120, 45, 99,109,105,110, + 59, 10, 10, 9,118, 32, 61, 32, 99,109, 97,120, 59, 10, 9,105,102, 32, 40, 99,109, 97,120, 33, 61, 48, 46, 48, 41, 10, 9, 9, +115, 32, 61, 32, 99,100,101,108,116, 97, 47, 99,109, 97,120, 59, 10, 9,101,108,115,101, 32,123, 10, 9, 9,115, 32, 61, 32, 48, + 46, 48, 59, 10, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 10, 9,105,102, 32, 40,115, 32, 61, 61, 32, 48, 46, 48, + 41, 32,123, 10, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9, 99, 32, 61, 32, + 40,118,101, 99, 51, 40, 99,109, 97,120, 44, 32, 99,109, 97,120, 44, 32, 99,109, 97,120, 41, 32, 45, 32,114,103, 98, 46,120,121, +122, 41, 47, 99,100,101,108,116, 97, 59, 10, 10, 9, 9,105,102, 32, 40,114,103, 98, 46,120, 61, 61, 99,109, 97,120, 41, 32,104, + 32, 61, 32, 99, 91, 50, 93, 32, 45, 32, 99, 91, 49, 93, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,114,103, 98, 46,121, + 61, 61, 99,109, 97,120, 41, 32,104, 32, 61, 32, 50, 46, 48, 32, 43, 32, 99, 91, 48, 93, 32, 45, 32, 32, 99, 91, 50, 93, 59, 10, + 9, 9,101,108,115,101, 32,104, 32, 61, 32, 52, 46, 48, 32, 43, 32, 99, 91, 49, 93, 32, 45, 32, 99, 91, 48, 93, 59, 10, 10, 9, + 9,104, 32, 47, 61, 32, 54, 46, 48, 59, 10, 10, 9, 9,105,102, 32, 40,104, 60, 48, 46, 48, 41, 10, 9, 9, 9,104, 32, 43, 61, + 32, 49, 46, 48, 59, 10, 9,125, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,104, 44, 32,115, 44, 32,118, + 44, 32,114,103, 98, 46,119, 41, 59, 10,125, 10, 10,118,111,105,100, 32,104,115,118, 95,116,111, 95,114,103, 98, 40,118,101, 99, + 52, 32,104,115,118, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, + 32,105, 44, 32,102, 44, 32,112, 44, 32,113, 44, 32,116, 44, 32,104, 44, 32,115, 44, 32,118, 59, 10, 9,118,101, 99, 51, 32,114, +103, 98, 59, 10, 10, 9,104, 32, 61, 32,104,115,118, 91, 48, 93, 59, 10, 9,115, 32, 61, 32,104,115,118, 91, 49, 93, 59, 10, 9, +118, 32, 61, 32,104,115,118, 91, 50, 93, 59, 10, 10, 9,105,102, 40,115, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, + 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,118, 44, 32,118, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105, +102, 40,104, 61, 61, 49, 46, 48, 41, 10, 9, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9, 10, 9, 9,104, 32, 42, 61, 32, + 54, 46, 48, 59, 10, 9, 9,105, 32, 61, 32,102,108,111,111,114, 40,104, 41, 59, 10, 9, 9,102, 32, 61, 32,104, 32, 45, 32,105, + 59, 10, 9, 9,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,102, 44, 32,102, 44, 32,102, 41, 59, 10, 9, 9,112, 32, 61, 32,118, + 42, 40, 49, 46, 48, 45,115, 41, 59, 10, 9, 9,113, 32, 61, 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42,102, 41, 41, 59, 10, 9, + 9,116, 32, 61, 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42, 40, 49, 46, 48, 45,102, 41, 41, 41, 59, 10, 9, 9, 10, 9, 9,105, +102, 32, 40,105, 32, 61, 61, 32, 48, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,116, 44, 32,112, 41, + 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 49, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, + 51, 40,113, 44, 32,118, 44, 32,112, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 50, 46, 48, 41, + 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,112, 44, 32,118, 44, 32,116, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, + 40,105, 32, 61, 61, 32, 51, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,112, 44, 32,113, 44, 32,118, 41, 59, 10, + 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 52, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40, +116, 44, 32,112, 44, 32,118, 41, 59, 10, 9, 9,101,108,115,101, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,112, + 44, 32,113, 41, 59, 10, 9,125, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 44, 32,104,115, +118, 46,119, 41, 59, 10,125, 10, 10,102,108,111, 97,116, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, + 40,102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9,105,102, 40, 99, 32, 60, 32, 48, 46, 48, 52, 48, 52, 53, 41, 10, 9, 9,114, +101,116,117,114,110, 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, 63, 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 40, 49, 46, 48, 47, 49, + 50, 46, 57, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116,117,114,110, 32,112,111,119, 40, 40, 99, 32, 43, 32, 48, + 46, 48, 53, 53, 41, 42, 40, 49, 46, 48, 47, 49, 46, 48, 53, 53, 41, 44, 32, 50, 46, 52, 41, 59, 10,125, 10, 10,102,108,111, 97, +116, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40,102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9, +105,102, 40, 99, 32, 60, 32, 48, 46, 48, 48, 51, 49, 51, 48, 56, 41, 10, 9, 9,114,101,116,117,114,110, 32, 40, 99, 32, 60, 32, + 48, 46, 48, 41, 63, 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 49, 50, 46, 57, 50, 59, 10, 9,101,108,115,101, 10, 9, 9,114,101, +116,117,114,110, 32, 49, 46, 48, 53, 53, 32, 42, 32,112,111,119, 40, 99, 44, 32, 49, 46, 48, 47, 50, 46, 52, 41, 32, 45, 32, 48, + 46, 48, 53, 53, 59, 10,125, 10, 10,118,111,105,100, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, +118,101, 99, 52, 32, 99,111,108, 95,102,114,111,109, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10, +123, 10, 9, 99,111,108, 95,116,111, 46,114, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, + 99,111,108, 95,102,114,111,109, 46,114, 41, 59, 10, 9, 99,111,108, 95,116,111, 46,103, 32, 61, 32,115,114,103, 98, 95,116,111, + 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, + 98, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, + 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 97, 32, 61, 32, 99,111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10,118,111, +105,100, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 95,102,114, +111,109, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111,108, 95,116,111, 46,114, + 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,114, 41, + 59, 10, 9, 99,111,108, 95,116,111, 46,103, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, + 99,111,108, 95,102,114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,108,105,110,101, 97,114,114, +103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, + 97, 32, 61, 32, 99,111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10, 35,100,101,102,105,110,101, 32, 77, 95, 80, 73, 32, + 51, 46, 49, 52, 49, 53, 57, 50, 54, 53, 51, 53, 56, 57, 55, 57, 51, 50, 51, 56, 52, 54, 10, 35,100,101,102,105,110,101, 32, 77, + 95, 49, 95, 80, 73, 32, 48, 46, 51, 49, 56, 51, 48, 57, 56, 56, 54, 49, 56, 51, 55, 57, 48, 54, 57, 10, 10, 47, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 32, 83, 72, 65, 68, 69, 82, 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 52, 32, + 97,116,116,118, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 41, 10,123, 10, 9,118, 99,111,108, 32, + 61, 32,118,101, 99, 52, 40, 97,116,116,118, 99,111,108, 46,120, 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111,108, 46, +121, 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111,108, 46,122, 47, 50, 53, 53, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, +125, 10, 10,118,111,105,100, 32,117,118, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 50, 32, 97,116,116,117,118, 44, + 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 41, 10,123, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, + 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10, +118,111,105,100, 32,103,101,111,109, 40,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,109, 97,116, + 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,118,101, 99, 50, + 32, 97,116,116,117,118, 44, 32,118,101, 99, 52, 32, 97,116,116,118, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103, +108,111, 98, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,108,111, 99, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32, +118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, + 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, + 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102,114,111,110,116, 98, 97, 99,107, 41, 10,123, 10, 9,108,111, 99, 97,108, 32, + 61, 32, 99,111, 59, 10, 9,118,105,101,119, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108,111, 99, 97,108, 41, 59, 10, + 9,103,108,111, 98, 97,108, 32, 61, 32, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40,108,111, 99, 97,108, + 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,111,114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111, 59, 10, 9,117, +118, 95, 97,116,116,114,105, 98,117,116,101, 40, 97,116,116,117,118, 44, 32,117,118, 41, 59, 10, 9,110,111,114,109, 97,108, 32, + 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,111,114, 41, 59, 9, 47, 42, 32, 98,108,101,110,100,101,114, 32,114,101, +110,100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32,110,101,103, 97,116,101,100, 32, 42, 47, 10, 9,118, 99,111,108, 95, + 97,116,116,114,105, 98,117,116,101, 40, 97,116,116,118, 99,111,108, 44, 32,118, 99,111,108, 41, 59, 10, 9,102,114,111,110,116, + 98, 97, 99,107, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,112,112,105,110,103, 40,118,101, 99, 51, + 32,118,101, 99, 44, 32,109, 97,116, 52, 32,109, 97,116, 44, 32,118,101, 99, 51, 32,109,105,110,118,101, 99, 44, 32,118,101, 99, + 51, 32,109, 97,120,118,101, 99, 44, 32,102,108,111, 97,116, 32,100,111,109,105,110, 44, 32,102,108,111, 97,116, 32,100,111,109, + 97,120, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, + 32, 40,109, 97,116, 32, 42, 32,118,101, 99, 52, 40,118,101, 99, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,105,102, + 40,100,111,109,105,110, 32, 61, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32,109, 97,120, 40,111,117, +116,118,101, 99, 44, 32,109,105,110,118,101, 99, 41, 59, 10, 9,105,102, 40,100,111,109, 97,120, 32, 61, 61, 32, 49, 46, 48, 41, + 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32,109,105,110, 40,111,117,116,118,101, 99, 44, 32,109, 97,120,118,101, 99, 41, 59, + 10,125, 10, 10,118,111,105,100, 32, 99, 97,109,101,114, 97, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, + 51, 32,111,117,116,118,105,101,119, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,101,112,116,104, 44, 32,111, +117,116, 32,102,108,111, 97,116, 32,111,117,116,100,105,115,116, 41, 10,123, 10, 9,111,117,116,100,101,112,116,104, 32, 61, 32, + 97, 98,115, 40, 99,111, 46,122, 41, 59, 10, 9,111,117,116,100,105,115,116, 32, 61, 32,108,101,110,103,116,104, 40, 99,111, 41, + 59, 10, 9,111,117,116,118,105,101,119, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 41, 59, 10,125, 10, 10,118, +111,105,100, 32,109, 97,116,104, 95, 97,100,100, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, - 32, 61, 32,109, 97,120, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, - 95,109,105,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,109,105,110, 40,118, - 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,114,111,117,110,100, 40,102, -108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111, -117,116,118, 97,108, 61, 32,102,108,111,111,114, 40,118, 97,108, 32, 43, 32, 48, 46, 53, 41, 59, 10,125, 10, 10,118,111,105,100, - 32,109, 97,116,104, 95,108,101,115,115, 95,116,104, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97, -116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40, -118, 97,108, 49, 32, 60, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108, -115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, -103,114,101, 97,116,101,114, 95,116,104, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, - 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, - 49, 32, 62, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, - 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,113,117,101,101,122,101, 40, -102,108,111, 97,116, 32,118, 97,108, 44, 32,102,108,111, 97,116, 32,119,105,100,116,104, 44, 32,102,108,111, 97,116, 32, 99,101, -110,116,101,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97, -108, 32, 61, 32, 49, 46, 48, 47, 40, 49, 46, 48, 32, 43, 32,112,111,119, 40, 50, 46, 55, 49, 56, 50, 56, 49, 56, 51, 44, 32, 45, - 40, 40,118, 97,108, 45, 99,101,110,116,101,114, 41, 42,119,105,100,116,104, 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32, -118,101, 99, 95,109, 97,116,104, 95, 97,100,100, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111, -117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, - 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 43, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, - 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 49, 93, - 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, 41, 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,105,100, - 32,118,101, 99, 95,109, 97,116,104, 95,115,117, 98, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32, -111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97, -108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 45, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, - 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 49, - 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, 41, 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,105, -100, 32,118,101, 99, 95,109, 97,116,104, 95, 97,118,101,114, 97,103,101, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, - 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, -111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 43, 32,118, 50, 59, 10, 9,111,117, -116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10, 9,111,117,116,118,101, 99, 32, 61, - 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95, -109, 97,116,104, 95,100,111,116, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118, -101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, - 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 44, 32, 48, 44, 32, 48, 41, 59, 10, 9,111,117,116,118, 97,108, - 32, 61, 32,100,111,116, 40,118, 49, 44, 32,118, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, - 95, 99,114,111,115,115, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, - 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111, -117,116,118,101, 99, 32, 61, 32, 99,114,111,115,115, 40,118, 49, 44, 32,118, 50, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 61, - 32,108,101,110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116, -104, 95,110,111,114,109, 97,108,105,122,101, 40,118,101, 99, 51, 32,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, -118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, - 32, 61, 32,108,101,110,103,116,104, 40,118, 41, 59, 10, 9,111,117,116,118,101, 99, 32, 61, 32,110,111,114,109, 97,108,105,122, -101, 40,118, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,110,101,103, 97,116,101, 40,118,101, - 99, 51, 32,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118, 41, 10,123, 10, 9,111,117,116,118, 32, 61, 32, 45, -118, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,100,105,114, 44, 32,118,101, 99, 51, - 32,110,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, - 32,111,117,116,100,111,116, 41, 10,123, 10, 9,111,117,116,110,111,114, 32, 61, 32,100,105,114, 59, 10, 9,111,117,116,100,111, -116, 32, 61, 32, 45,100,111,116, 40,100,105,114, 44, 32,110,111,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,118, -101,115, 95,118,101, 99, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,112, -108,101,114, 50, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, - 10,123, 10, 9,111,117,116,118,101, 99, 46,120, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97, -112, 44, 32,118,101, 99, 50, 40, 40,118,101, 99, 46,120, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 44, 32, 48, 46, 48, 41, 41, - 46,120, 59, 10, 9,111,117,116,118,101, 99, 46,121, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, - 97,112, 44, 32,118,101, 99, 50, 40, 40,118,101, 99, 46,121, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 44, 32, 48, 46, 48, 41, - 41, 46,121, 59, 10, 9,111,117,116,118,101, 99, 46,122, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101, -109, 97,112, 44, 32,118,101, 99, 50, 40, 40,118,101, 99, 46,122, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 44, 32, 48, 46, 48, - 41, 41, 46,122, 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32, 33, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, - 32, 61, 32, 40,111,117,116,118,101, 99, 42,102, 97, 99, 41, 32, 43, 32, 40,118,101, 99, 42, 40, 49, 46, 48, 45,102, 97, 99, 41, - 41, 59, 10, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,118,101,115, 95,114,103, 98, 40,102,108,111, 97,116, 32,102, 97, 99, - 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32, -111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116, -101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40,116,101,120,116,117,114,101, 50, - 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, 99,111,108, 46,114, 44, 32, 48, 46, 48, 41, 41, 46, 97, 44, - 32, 48, 46, 48, 41, 41, 46,114, 59, 10, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, - 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97, -112, 44, 32,118,101, 99, 50, 40, 99,111,108, 46,103, 44, 32, 48, 46, 48, 41, 41, 46, 97, 44, 32, 48, 46, 48, 41, 41, 46,103, 59, - 10, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, - 32,118,101, 99, 50, 40,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, 99, -111,108, 46, 98, 44, 32, 48, 46, 48, 41, 41, 46, 97, 44, 32, 48, 46, 48, 41, 41, 46, 98, 59, 10, 10, 9,105,102, 32, 40,102, 97, - 99, 32, 33, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32, 40,111,117,116, 99,111,108, 42,102, 97, 99, - 41, 32, 43, 32, 40, 99,111,108, 42, 40, 49, 46, 48, 45,102, 97, 99, 41, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 46, 97, 32, - 61, 32, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 40,102,108,111, 97,116, + 32, 61, 32,118, 97,108, 49, 32, 43, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,115,117, 98, +116,114, 97, 99,116, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117, +116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, + 32, 45, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109,117,108,116,105,112,108,121, 40,102, +108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, + 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 42, 32,118, 97,108, 50, + 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,100,105,118,105,100,101, 40,102,108,111, 97,116, 32,118, 97,108, 49, + 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10, +123, 10, 9,105,102, 32, 40,118, 97,108, 50, 32, 61, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, + 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 47, 32,118, 97,108, 50, + 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111, +117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,115,105,110, + 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 99,111,115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97, -108, 32, 61, 32,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 40,118,101, 99, 51, 32, 99,111, -108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, - 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 97, 40,118,101, 99, 52, 32, 99,111,108, 44, 32, -111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, - 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 95,122,101,114,111, 40,111,117,116, 32,102,108,111, - 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118, -111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 95,111,110,101, 40,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, - 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, - 95,114,103, 98, 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117, -116,118, 97,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, - 98, 97, 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, 52, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, - 97,108, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 98,108,101,110, -100, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, +108, 32, 61, 32, 99,111,115, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,116, 97,110,103,101, +110,116, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10, +123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,116, 97,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97, +116,104, 95, 97,115,105,110, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, +118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, + 32, 45, 49, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 97,115,105,110, 40,118, 97,108, 41, 59, 10, 9,101,108, +115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, + 97, 99,111,115, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, + 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, + 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 97, 99,111,115, 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, + 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,116, 97, +110, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, + 10, 9,111,117,116,118, 97,108, 32, 61, 32, 97,116, 97,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97, +116,104, 95,112,111,119, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111, +117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 49, 32, 62, 61, 32, + 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32,112,111,119, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, + 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, + 97,116,104, 95,108,111,103, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32, +111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 62, 32, 48, + 46, 48, 32, 32, 38, 38, 32,118, 97,108, 50, 32, 62, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 61, 32,108,111,103, + 50, 40,118, 97,108, 49, 41, 32, 47, 32,108,111,103, 50, 40,118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117, +116,118, 97,108, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109, 97,120, 40,102,108,111, 97, +116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117, +116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,109, 97,120, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, + 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109,105,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32, +102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, + 9,111,117,116,118, 97,108, 32, 61, 32,109,105,110, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111, +105,100, 32,109, 97,116,104, 95,114,111,117,110,100, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, + 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 61, 32,102,108,111,111,114, 40,118, 97,108, 32, + 43, 32, 48, 46, 53, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,108,101,115,115, 95,116,104, 97,110, 40,102, +108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, + 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 60, 32,118, 97,108, 50, 41, 10, 9, 9,111,117, +116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, + 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,103,114,101, 97,116,101,114, 95,116,104, 97,110, 40,102,108,111, 97, +116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117, +116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 62, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97, +108, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, + 10, 10,118,111,105,100, 32,115,113,117,101,101,122,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,102,108,111, 97,116, 32, +119,105,100,116,104, 44, 32,102,108,111, 97,116, 32, 99,101,110,116,101,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111, +117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 47, 40, 49, 46, 48, 32, 43, 32,112,111, +119, 40, 50, 46, 55, 49, 56, 50, 56, 49, 56, 51, 44, 32, 45, 40, 40,118, 97,108, 45, 99,101,110,116,101,114, 41, 42,119,105,100, +116,104, 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 97,100,100, 40,118,101, 99, 51, + 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111, +117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, + 43, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, + 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 49, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, + 41, 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,115,117, 98, 40,118,101, 99, + 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32, +111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, + 32, 45, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, + 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 49, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, + 93, 41, 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 97,118,101,114, 97,103, +101, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, +118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, + 32, 61, 32,118, 49, 32, 43, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,111,117,116, +118,101, 99, 41, 59, 10, 9,111,117,116,118,101, 99, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,118,101, 99, + 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,100,111,116, 40,118,101, 99, 51, 32,118, 49, 44, + 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102, +108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 44, + 32, 48, 44, 32, 48, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,100,111,116, 40,118, 49, 44, 32,118, 50, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 99,114,111,115,115, 40,118,101, 99, 51, 32,118, 49, 44, 32,118, +101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, + 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32, 99,114,111,115,115, 40,118, 49, 44, + 32,118, 50, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10, +125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,110,111,114,109, 97,108,105,122,101, 40,118,101, 99, 51, 32, +118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117, +116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,118, 41, 59, 10, 9,111,117, +116,118,101, 99, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, + 95,109, 97,116,104, 95,110,101,103, 97,116,101, 40,118,101, 99, 51, 32,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117, +116,118, 41, 10,123, 10, 9,111,117,116,118, 32, 61, 32, 45,118, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,114,109, 97,108, + 40,118,101, 99, 51, 32,100,105,114, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117, +116,110,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,111,116, 41, 10,123, 10, 9,111,117,116,110,111, +114, 32, 61, 32,100,105,114, 59, 10, 9,111,117,116,100,111,116, 32, 61, 32, 45,100,111,116, 40,100,105,114, 44, 32,110,111,114, + 41, 59, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,118,101,115, 95,118,101, 99, 40,102,108,111, 97,116, 32,102, 97, 99, 44, + 32,118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,111, +117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 46,120, 32, 61, 32,116,101, +120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, 40,118,101, 99, 46,120, 32, 43, 32, + 49, 46, 48, 41, 42, 48, 46, 53, 44, 32, 48, 46, 48, 41, 41, 46,120, 59, 10, 9,111,117,116,118,101, 99, 46,121, 32, 61, 32,116, +101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, 40,118,101, 99, 46,121, 32, 43, + 32, 49, 46, 48, 41, 42, 48, 46, 53, 44, 32, 48, 46, 48, 41, 41, 46,121, 59, 10, 9,111,117,116,118,101, 99, 46,122, 32, 61, 32, +116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, 40,118,101, 99, 46,122, 32, + 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 44, 32, 48, 46, 48, 41, 41, 46,122, 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32, 33, + 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32, 40,111,117,116,118,101, 99, 42,102, 97, 99, 41, 32, 43, + 32, 40,118,101, 99, 42, 40, 49, 46, 48, 45,102, 97, 99, 41, 41, 59, 10, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,118,101, +115, 95,114,103, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,115, 97,109,112,108, +101,114, 50, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10, +123, 10, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, + 44, 32,118,101, 99, 50, 40,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, + 99,111,108, 46,114, 44, 32, 48, 46, 48, 41, 41, 46, 97, 44, 32, 48, 46, 48, 41, 41, 46,114, 59, 10, 9,111,117,116, 99,111,108, + 46,103, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40,116,101, +120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, 99,111,108, 46,103, 44, 32, 48, 46, + 48, 41, 41, 46, 97, 44, 32, 48, 46, 48, 41, 41, 46,103, 59, 10, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,101,120,116, +117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40,116,101,120,116,117,114,101, 50, 68, 40, 99, +117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, 99,111,108, 46, 98, 44, 32, 48, 46, 48, 41, 41, 46, 97, 44, 32, 48, 46, + 48, 41, 41, 46, 98, 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32, 33, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111, +108, 32, 61, 32, 40,111,117,116, 99,111,108, 42,102, 97, 99, 41, 32, 43, 32, 40, 99,111,108, 42, 40, 49, 46, 48, 45,102, 97, 99, + 41, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32, +115,101,116, 95,118, 97,108,117,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111, +117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32, +115,101,116, 95,114,103, 98, 40,118,101, 99, 51, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111, +108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95, +114,103, 98, 97, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10, +123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108, +117,101, 95,122,101,114,111, 40,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116, +118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 95,111,110,101, + 40,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 49, + 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, + 51, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, + 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 97, 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, 52, 32, +111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,109,105,120, 95, 98,108,101,110,100, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, + 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111, +108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, + 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, + 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105, +120, 95, 97,100,100, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, + 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, + 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, + 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 43, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111, +117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,109,117, +108,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111, +108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, + 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105, +120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 42, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99, +111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115, 99,114,101,101, +110, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97, -109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, - 40, 99,111,108, 49, 44, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99, -111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 97,100,100, 40,102,108,111, 97,116, 32,102, 97, 99, +109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, + 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, + 32, 45, 32, 40,118,101, 99, 52, 40,102, 97, 99,109, 41, 32, 43, 32,102, 97, 99, 42, 40,118,101, 99, 52, 40, 49, 46, 48, 41, 32, + 45, 32, 99,111,108, 50, 41, 41, 42, 40,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117, +116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,111,118,101, +114,108, 97,121, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, + 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, + 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99, +109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, + 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, + 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9,101,108,115,101, 10, + 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, + 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, + 46,114, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99, +111,108, 46,103, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9, +101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, + 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46,103, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111, +117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, + 9,111,117,116, 99,111,108, 46, 98, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, + 46, 98, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, + 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46, 98, 41, 41, 42, 40, 49, 46, + 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115,117, 98, 40,102, +108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32, +111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, +102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111, +108, 49, 44, 32, 99,111,108, 49, 32, 45, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, + 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,105,118, 40,102,108,111, 97,116, + 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32, +118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, + 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32, +102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46, +114, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46,114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, + 46,114, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, 46,114, 47, 99,111,108, 50, 46,114, 59, 10, 9,105,102, 40, 99,111, +108, 50, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, + 99,111,108, 46,103, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, 46,103, 47, 99,111,108, 50, 46,103, 59, 10, 9,105,102, + 40, 99,111,108, 50, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42, +111,117,116, 99,111,108, 46, 98, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, 46, 98, 47, 99,111,108, 50, 46, 98, 59, 10, +125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,105,102,102, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, + 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111, +108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, + 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 97, 98,115, 40, 99,111,108, 49, 32, 45, + 32, 99,111,108, 50, 41, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, + 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100, 97,114,107, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, + 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, + 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, + 48, 41, 59, 10, 9,111,117,116, 99,111,108, 46,114,103, 98, 32, 61, 32,109,105,110, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, + 99,111,108, 50, 46,114,103, 98, 42,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, + 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,108,105,103,104,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32, +118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111, +117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, + 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 46,114,103, 98, 32, 61, 32,109, 97,120, 40, 99,111,108, 49, 46,114,103, 98, + 44, 32, 99,111,108, 50, 46,114,103, 98, 42,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, + 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,111,100,103,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, - 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, - 32, 43, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, - 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,109,117,108,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118, -101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117, -116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, - 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 42, 32, - 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, -125, 10, 10,118,111,105,100, 32,109,105,120, 95,115, 99,114,101,101,110, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, + 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, + 99,111,108, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, + 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, + 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116, +109,112, 32, 61, 32,111,117,116, 99,111,108, 46,114, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, + 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, + 61, 32,116,109,112, 59, 10, 9,125, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, + 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, + 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, + 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46,103, 47,116, +109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9, +101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,109,112, 59, 10, 9,125, 10, 9,105,102, 40,111, +117,116, 99,111,108, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, + 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, + 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, + 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111, +117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46, + 98, 32, 61, 32,116,109,112, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 98,117,114,110, 40,102,108,111, + 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117, +116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, + 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,116,109,112, 44, 32,102, 97, 99,109, 32, 61, + 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,116, +109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9,105,102, 40,116,109,112, 32, + 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32, +105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, + 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 48, 46, 48, 59, + 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, + 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 10, + 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40,116,109, +112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115, +101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, + 46,103, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 48, 46, + 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, +103, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,109,112, 59, + 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9,105,102, 40, +116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101, +108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99, +111,108, 46, 98, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, + 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111, +108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,109, +112, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,104,117,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111, -117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 40,118,101, 99, 52, 40,102, 97, 99,109, 41, 32, - 43, 32,102, 97, 99, 42, 40,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 50, 41, 41, 42, 40,118,101, 99, 52, 40, - 49, 46, 48, 41, 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, - 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,111,118,101,114,108, 97,121, 40,102,108,111, 97,116, 32,102, 97, 99, 44, - 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32, -111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, - 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, - 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 60, - 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, - 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, - 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46, -114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111, -108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, - 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, - 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, - 99,111,108, 50, 46,103, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40, -111,117,116, 99,111,108, 46, 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 42, 61, 32,102, 97, - 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, - 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, - 46, 48, 32, 45, 32, 99,111,108, 50, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 59, 10, -125, 10, 10,118,111,105,100, 32,109,105,120, 95,115,117, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, - 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, - 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, - 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 45, 32, 99,111,108, 50, - 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118, -111,105,100, 32,109,105,120, 95,100,105,118, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, - 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, - 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108, -111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, - 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111, -108, 46,114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, - 46,114, 47, 99,111,108, 50, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 50, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117, -116, 99,111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,103, 32, 43, 32,102, 97, 99, 42,111,117,116, - 99,111,108, 46,103, 47, 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 50, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, - 32,111,117,116, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46, 98, 32, 43, 32,102, 97, 99, 42, -111,117,116, 99,111,108, 46, 98, 47, 99,111,108, 50, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,105,102, -102, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, - 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97, -109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, - 40, 99,111,108, 49, 44, 32, 97, 98,115, 40, 99,111,108, 49, 32, 45, 32, 99,111,108, 50, 41, 44, 32,102, 97, 99, 41, 59, 10, 9, -111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100, - 97,114,107, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99, -111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99, -108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 46,114,103, 98, - 32, 61, 32,109,105,110, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111,108, 50, 46,114,103, 98, 42,102, 97, 99, 41, 59, 10, - 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, -108,105,103,104,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, - 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, - 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 46,114, -103, 98, 32, 61, 32,109, 97,120, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111,108, 50, 46,114,103, 98, 42,102, 97, 99, 41, - 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105, -120, 95,100,111,100,103,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, - 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, - 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, - 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, - 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, - 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, - 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46,114, 47,116, -109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9, -101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 9,125, 10, 9,105,102, 40,111, -117,116, 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, - 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, - 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, - 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46,103, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111, -117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46, -103, 32, 61, 32,116,109,112, 59, 10, 9,125, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, - 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46, - 98, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, - 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46, 98, - 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, - 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10, 9,125, 10,125, 10, 10, -118,111,105,100, 32,109,105,120, 95, 98,117,114,110, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111, +117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 44, 32, +116,109,112, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9, +105,102, 40,104,115,118, 50, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, + 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 9, 9,104,115,118, 46,120, 32, 61, 32,104,115,118, 50, 46,120, 59, + 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, + 99,111,108, 32, 61, 32,109,105,120, 40,111,117,116, 99,111,108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111, +117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, + 95,115, 97,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, + 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, + 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99, +109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, + 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117, +116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, + 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9, 9,104,115, +118, 46,121, 32, 61, 32,102, 97, 99,109, 42,104,115,118, 46,121, 32, 43, 32,102, 97, 99, 42,104,115,118, 50, 46,121, 59, 10, 9, + 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10, 9,125, 10,125, 10, 10, +118,111,105,100, 32,109,105,120, 95,118, 97,108, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, + 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, + 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102, +108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,104,115, +118, 44, 32,104,115,118, 50, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 49, 44, 32,104,115,118, 41, 59, + 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,104,115,118, 46, +122, 32, 61, 32,102, 97, 99,109, 42,104,115,118, 46,122, 32, 43, 32,102, 97, 99, 42,104,115,118, 50, 46,122, 59, 10, 9,104,115, +118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, +105,120, 95, 99,111,108,111,114, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118, +101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, + 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, + 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111, +108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95, +116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, + 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104, +115,118, 41, 59, 10, 9, 9,104,115,118, 46,120, 32, 61, 32,104,115,118, 50, 46,120, 59, 10, 9, 9,104,115,118, 46,121, 32, 61, + 32,104,115,118, 50, 46,121, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,116,109,112, 41, 59, + 32, 10, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40,111,117,116, 99,111,108, 44, 32,116,109,112, 44, 32,102, + 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, 9,125, 10,125, 10, 10, +118,111,105,100, 32,109,105,120, 95,115,111,102,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111, 108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10, 123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9, -102,108,111, 97,116, 32,116,109,112, 44, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111, -117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, - 42, 99,111,108, 50, 46,114, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111, -108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, - 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, - 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, - 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9, -111,117,116, 99,111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, - 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, - 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, - 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, - 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, - 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, - 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,109,112, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, - 32,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111, -117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, - 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, - 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116, -109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115, -101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, -104,117,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99, -111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99, -108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, - 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, - 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115, -118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, 33, 61, 32, 48, 46, - 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, - 9, 9,104,115,118, 46,120, 32, 61, 32,104,115,118, 50, 46,120, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104, -115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40,111,117,116, 99,111, -108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, - 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115, 97,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, - 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32, -111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, - 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, - 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, - 50, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 10, 9,105, -102, 40,104,115,118, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99, -111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9, 9,104,115,118, 46,121, 32, 61, 32,102, 97, 99,109, 42,104,115,118, 46, -121, 32, 43, 32,102, 97, 99, 42,104,115,118, 50, 46,121, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, - 44, 32,111,117,116, 99,111,108, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,118, 97,108, 40,102,108, -111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111, -117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, - 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, - 32, 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 59, 10, 9,114,103, 98, 95,116, -111, 95,104,115,118, 40, 99,111,108, 49, 44, 32,104,115,118, 41, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111, -108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,104,115,118, 46,122, 32, 61, 32,102, 97, 99,109, 42,104,115,118, 46,122, 32, - 43, 32,102, 97, 99, 42,104,115,118, 50, 46,122, 59, 10, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111, -117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 99,111,108,111,114, 40,102,108,111, 97,116, 32, -102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118, -101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, - 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, - 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, - 32,104,115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115, -118, 50, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, - 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 9, 9,104,115,118, 46,120, 32, 61, 32, -104,115,118, 50, 46,120, 59, 10, 9, 9,104,115,118, 46,121, 32, 61, 32,104,115,118, 50, 46,121, 59, 10, 9, 9,104,115,118, 95, -116,111, 95,114,103, 98, 40,104,115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,109, -105,120, 40,111,117,116, 99,111,108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,111,108, 46, 97, - 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115,111,102,116, 40,102, -108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32, -111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, -102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, - 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,111,110,101, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, - 9,118,101, 99, 52, 32,115, 99,114, 61, 32,111,110,101, 32, 45, 32, 40,111,110,101, 32, 45, 32, 99,111,108, 50, 41, 42, 40,111, -110,101, 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,102, 97, 99,109, 42, 99,111,108, 49, 32, - 43, 32,102, 97, 99, 42, 40, 40,111,110,101, 32, 45, 32, 99,111,108, 49, 41, 42, 99,111,108, 50, 42, 99,111,108, 49, 32, 43, 32, - 99,111,108, 49, 42,115, 99,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,108,105,110,101, 97,114, 40,102,108, -111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111, -117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, - 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, - 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 61, 32, 99, -111,108, 49, 46,114, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 32, 45, 32, 48, 46, 53, 41, 41, - 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 61, 32, 99,111,108, 49, 46,114, 32, 43, 32,102, 97, 99, - 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, - 46,103, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103, 32, 43, 32,102, - 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,103, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, - 9,111,117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111, -108, 50, 46,103, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46, 98, 32, 62, 32, 48, 46, 53, 41, - 10, 9, 9,111,117,116, 99,111,108, 46, 98, 61, 32, 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, - 99,111,108, 50, 46, 98, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, - 61, 32, 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46, 98, 41, 32, 45, 32, 49, - 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118, 97,108,116,111,114,103, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, - 32,115, 97,109,112,108,101,114, 50, 68, 32, 99,111,108,111,114,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117, -116, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, 97,108,112,104, 97, 41, 10,123, 10, 9,111,117,116, - 99,111,108, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,111,108,111,114,109, 97,112, 44, 32,118,101, 99, 50, 40,102, - 97, 99, 44, 32, 48, 46, 48, 41, 41, 59, 10, 9,111,117,116, 97,108,112,104, 97, 32, 61, 32,111,117,116, 99,111,108, 46, 97, 59, - 10,125, 10, 10,118,111,105,100, 32,114,103, 98,116,111, 98,119, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 32, 32, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,108, -111,114, 46,114, 42, 48, 46, 51, 53, 32, 43, 32, 99,111,108,111,114, 46,103, 42, 48, 46, 52, 53, 32, 43, 32, 99,111,108,111,114, - 46, 98, 42, 48, 46, 50, 59, 32, 47, 42, 32,107,101,101,112, 32,116,104,101,115,101, 32,102, 97, 99,116,111,114,115, 32,105,110, - 32,115,121,110, 99, 32,119,105,116,104, 32,116,101,120,116,117,114,101, 46,104, 58, 82, 71, 66, 84, 79, 66, 87, 32, 42, 47, 10, -125, 10, 10,118,111,105,100, 32,105,110,118,101,114,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99, -111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,120, -121,122, 32, 61, 32,109,105,120, 40, 99,111,108, 46,120,121,122, 44, 32,118,101, 99, 51, 40, 49, 46, 48, 44, 32, 49, 46, 48, 44, - 32, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 46,120,121,122, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46,119, - 32, 61, 32, 99,111,108, 46,119, 59, 10,125, 10, 10,118,111,105,100, 32,104,117,101, 95,115, 97,116, 40,102,108,111, 97,116, 32, -104,117,101, 44, 32,102,108,111, 97,116, 32,115, 97,116, 44, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,102,108,111, - 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111, -108, 41, 10,123, 10, 9,118,101, 99, 52, 32,104,115,118, 59, 10, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, - 44, 32,104,115,118, 41, 59, 10, 10, 9,104,115,118, 91, 48, 93, 32, 43, 61, 32, 40,104,117,101, 32, 45, 32, 48, 46, 53, 41, 59, - 10, 9,105,102, 40,104,115,118, 91, 48, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 48, 93, 45, 61, 49, 46, 48, 59, 32,101,108, -115,101, 32,105,102, 40,104,115,118, 91, 48, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 48, 93, 43, 61, 32, 49, 46, 48, 59, 10, - 9,104,115,118, 91, 49, 93, 32, 42, 61, 32,115, 97,116, 59, 10, 9,105,102, 40,104,115,118, 91, 49, 93, 62, 49, 46, 48, 41, 32, -104,115,118, 91, 49, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 49, 93, 60, 48, 46, 48, 41, - 32,104,115,118, 91, 49, 93, 61, 32, 48, 46, 48, 59, 10, 9,104,115,118, 91, 50, 93, 32, 42, 61, 32,118, 97,108,117,101, 59, 10, - 9,105,102, 40,104,115,118, 91, 50, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115, -101, 32,105,102, 40,104,115,118, 91, 50, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 48, 46, 48, 59, 10, 10, 9, -104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10, 10, 9,111,117,116, 99,111, -108, 32, 61, 32,109,105,120, 40, 99,111,108, 44, 32,111,117,116, 99,111,108, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111, -105,100, 32,115,101,112, 97,114, 97,116,101, 95,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 98, 41, - 10,123, 10, 9,114, 32, 61, 32, 99,111,108, 46,114, 59, 10, 9,103, 32, 61, 32, 99,111,108, 46,103, 59, 10, 9, 98, 32, 61, 32, - 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32, 99,111,109, 98,105,110,101, 95,114,103, 98, 40,102,108,111, 97,116, - 32,114, 44, 32,102,108,111, 97,116, 32,103, 44, 32,102,108,111, 97,116, 32, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99, -111,108, 41, 10,123, 10, 9, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,114, 44, 32,103, 44, 32, 98, 44, 32, 49, 46, 48, 41, 59, - 10,125, 10, 10,118,111,105,100, 32,111,117,116,112,117,116, 95,110,111,100,101, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,102, -108,111, 97,116, 32, 97,108,112,104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9, -111,117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, 10,125, - 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 84, 69, 88, 84, 85, 82, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,102,108,105,112, 95, 98,108,101,110, -100, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9, -111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 46,121,120,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114, -101, 95, 98,108,101,110,100, 95,108,105,110, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, -111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, - 50, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95, 98,108,101,110,100, 95,113,117, 97,100, 40, -118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111, -117,116,118, 97,108, 32, 61, 32,109, 97,120, 40, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 44, 32, 48, 46, 48, - 41, 59, 10, 9,111,117,116,118, 97,108, 32, 42, 61, 32,111,117,116,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,116,101, -120,116,117,114,101, 95,119,111,111,100, 95,115,105,110, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, - 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, - 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32, 97, 32, 61, 32,115,113,114,116, 40,118,101, 99, - 46,120, 42,118,101, 99, 46,120, 32, 43, 32,118,101, 99, 46,121, 42,118,101, 99, 46,121, 32, 43, 32,118,101, 99, 46,122, 42,118, -101, 99, 46,122, 41, 42, 50, 48, 46, 48, 59, 10, 9,102,108,111, 97,116, 32,119,105, 32, 61, 32, 48, 46, 53, 32, 43, 32, 48, 46, - 53, 42,115,105,110, 40, 97, 41, 59, 10, 10, 9,118, 97,108,117,101, 32, 61, 32,119,105, 59, 10, 9, 99,111,108,111,114, 32, 61, - 32,118,101, 99, 52, 40,119,105, 44, 32,119,105, 44, 32,119,105, 44, 32, 49, 46, 48, 41, 59, 10, 9,110,111,114,109, 97,108, 32, - 61, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116, -101,120,116,117,114,101, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, - 32,105,109, 97, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, - 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9, 99,111,108,111,114, - 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 40,118,101, 99, 46,120,121, 32, 43, 32,118,101, 99, 50, - 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 41, 42, 48, 46, 53, 41, 59, 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10, - 10, 9,110,111,114,109, 97,108, 46,120, 32, 61, 32, 50, 46, 48, 42, 40, 99,111,108,111,114, 46,114, 32, 45, 32, 48, 46, 53, 41, - 59, 10, 9,110,111,114,109, 97,108, 46,121, 32, 61, 32, 50, 46, 48, 42, 40, 48, 46, 53, 32, 45, 32, 99,111,108,111,114, 46,103, - 41, 59, 10, 9,110,111,114,109, 97,108, 46,122, 32, 61, 32, 50, 46, 48, 42, 40, 99,111,108,111,114, 46, 98, 32, 45, 32, 48, 46, - 53, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 77, 84, 69, 88, 32, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,111,114, 99,111, 40,118, -101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,114, 99,111, 41, 10,123, 10, 9,111, -114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,117,118, 40, -118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 41, 10,123, 10, 9, 47, 42, 32,100, -105,115, 97, 98,108,101,100, 32,102,111,114, 32,110,111,119, 44, 32,119,111,114,107,115, 32,116,111,103,101,116,104,101,114, 32, -119,105,116,104, 32,108,101, 97,118,105,110,103, 32,111,117,116, 32,109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, - 10, 9, 32, 32, 32,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, - 49, 46, 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 32, 42, 47, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97, -116,116,117,118, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,110,111,114,109, 40,118, -101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10, -123, 10, 9, 47, 42, 32, 99,111,114,114,101,115,112,111,110,100,115, 32,116,111, 32,115,104,105, 45, 62,111,114,110, 44, 32,119, -104,105, 99,104, 32,105,115, 32,110,101,103, 97,116,101,100, 32,115,111, 32, 99, 97,110, 99,101,108,115, 10, 9, 32, 32, 32,111, -117,116, 32, 98,108,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,110,101,103, 97,116,105,111,110, 32, 42, 47, 10, 9,111, -117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, - 10,118,111,105,100, 32,116,101,120, 99,111, 95,116, 97,110,103,101,110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, - 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116, 97,110,103,101,110,116, 41, 10,123, 10, 9,111,117,116,116, 97,110, -103,101,110,116, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,116, 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10,125, - 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,103,108,111, 98, 97,108, 40,109, 97,116, 52, 32,118,105,101,119,105,110,118, -109, 97,116, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 41, 10,123, - 10, 9,103,108,111, 98, 97,108, 32, 61, 32, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, - 49, 46, 48, 41, 41, 46,120,121,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,111, 98,106,101, 99,116, 40, -109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,109, 97,116, 52, 32,111, 98,105,110,118,109, 97,116, 44, 32, -118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111, 98,106,101, 99,116, 41, 10,123, 10, 9,111, 98,106, -101, 99,116, 32, 61, 32, 40,111, 98,105,110,118,109, 97,116, 42, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, - 40, 99,111, 44, 32, 49, 46, 48, 41, 41, 41, 46,120,121,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,114, -101,102,108, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, - 32,114,101,102, 41, 10,123, 10, 9,114,101,102, 32, 61, 32,118,105,101,119, 32, 45, 32, 50, 46, 48, 42,100,111,116, 40,118,110, - 44, 32,118,105,101,119, 41, 42,118,110, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,110,111,114,109, 40,118, -101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10, -123, 10, 9, 47, 42, 32, 98,108,101,110,100,101,114, 32,114,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32,110, -101,103, 97,116,101,100, 32, 42, 47, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122, -101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 98,108,101,110, -100, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97, -116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99, -111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99, -103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, - 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105, -100, 32,109,116,101,120, 95,114,103, 98, 95,109,117,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, - 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, - 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, - 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, - 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 41, - 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 99,114,101,101,110, - 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, - 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111, -108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, - 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,118,101, - 99, 51, 40, 49, 46, 48, 41, 32, 45, 32, 40,118,101, 99, 51, 40,102, 97, 99,109, 41, 32, 43, 32,102, 97, 99,116, 42, 40,118,101, - 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,116,101,120, 99,111,108, 41, 41, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32, -111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,111,118,101,114,108, 97, -121, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97, -116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99, -111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99, -103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, - 46,114, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 42, 40, -102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 41, 59, 10, 9,101,108,115,101, - 10, 9, 9,105,110, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, - 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, - 99,111,108, 46,114, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105, -110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, - 99,116, 42,116,101,120, 99,111,108, 46,103, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46,103, 32, 61, 32, - 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101, -120, 99,111,108, 46,103, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40, -111,117,116, 99,111,108, 46, 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99, -111,108, 46, 98, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 41, 59, - 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, - 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46, 98, 41, 41, 42, 40, 49, 46, 48, - 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, -117, 98, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, - 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, - 99,111,108, 41, 10,123, 10, 9,105,110, 99,111,108, 32, 61, 32, 45,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111, -108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 97,100,100, - 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, - 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111, -108, 41, 10,123, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, - 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,118, 40,118,101, +102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,111, +110,101, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,118,101, 99, 52, 32,115, 99,114, 61, 32,111,110,101, 32, 45, 32, + 40,111,110,101, 32, 45, 32, 99,111,108, 50, 41, 42, 40,111,110,101, 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99, +111,108, 32, 61, 32,102, 97, 99,109, 42, 99,111,108, 49, 32, 43, 32,102, 97, 99, 42, 40, 40,111,110,101, 32, 45, 32, 99,111,108, + 49, 41, 42, 99,111,108, 50, 42, 99,111,108, 49, 32, 43, 32, 99,111,108, 49, 42,115, 99,114, 41, 59, 10,125, 10, 10,118,111,105, +100, 32,109,105,120, 95,108,105,110,101, 97,114, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, + 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, + 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9, +111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, 62, 32, 48, 46, 53, + 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 61, 32, 99,111,108, 49, 46,114, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, + 40, 99,111,108, 50, 46,114, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, +114, 61, 32, 99,111,108, 49, 46,114, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 41, 32, 45, 32, + 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,103, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111, +108, 46,103, 61, 32, 99,111,108, 49, 46,103, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,103, 32, 45, + 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103, + 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,103, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105, +102, 40, 99,111,108, 50, 46, 98, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 61, 32, 99,111,108, 49, + 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46, 98, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9, +101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 61, 32, 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, + 46, 48, 42, 40, 99,111,108, 50, 46, 98, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118, 97,108,116, +111,114,103, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32, 99,111,108,111,114,109, + 97,112, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111, +117,116, 97,108,112,104, 97, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99, +111,108,111,114,109, 97,112, 44, 32,118,101, 99, 50, 40,102, 97, 99, 44, 32, 48, 46, 48, 41, 41, 59, 10, 9,111,117,116, 97,108, +112,104, 97, 32, 61, 32,111,117,116, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,114,103, 98,116,111, 98,119, 40, +118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 32, 32, 10, +123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,108,111,114, 46,114, 42, 48, 46, 51, 53, 32, 43, 32, 99,111,108,111,114, + 46,103, 42, 48, 46, 52, 53, 32, 43, 32, 99,111,108,111,114, 46, 98, 42, 48, 46, 50, 59, 32, 47, 42, 32,107,101,101,112, 32,116, +104,101,115,101, 32,102, 97, 99,116,111,114,115, 32,105,110, 32,115,121,110, 99, 32,119,105,116,104, 32,116,101,120,116,117,114, +101, 46,104, 58, 82, 71, 66, 84, 79, 66, 87, 32, 42, 47, 10,125, 10, 10,118,111,105,100, 32,105,110,118,101,114,116, 40,102,108, +111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99, +111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,120,121,122, 32, 61, 32,109,105,120, 40, 99,111,108, 46,120,121,122, 44, + 32,118,101, 99, 51, 40, 49, 46, 48, 44, 32, 49, 46, 48, 44, 32, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 46,120,121,122, 44, 32, +102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46,119, 32, 61, 32, 99,111,108, 46,119, 59, 10,125, 10, 10,118,111,105,100, + 32,104,117,101, 95,115, 97,116, 40,102,108,111, 97,116, 32,104,117,101, 44, 32,102,108,111, 97,116, 32,115, 97,116, 44, 32,102, +108,111, 97,116, 32,118, 97,108,117,101, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, + 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32,104,115,118, 59, 10, 10, + 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 10, 9,104,115,118, 91, 48, 93, 32, + 43, 61, 32, 40,104,117,101, 32, 45, 32, 48, 46, 53, 41, 59, 10, 9,105,102, 40,104,115,118, 91, 48, 93, 62, 49, 46, 48, 41, 32, +104,115,118, 91, 48, 93, 45, 61, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 48, 93, 60, 48, 46, 48, 41, + 32,104,115,118, 91, 48, 93, 43, 61, 32, 49, 46, 48, 59, 10, 9,104,115,118, 91, 49, 93, 32, 42, 61, 32,115, 97,116, 59, 10, 9, +105,102, 40,104,115,118, 91, 49, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 49, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115,101, + 32,105,102, 40,104,115,118, 91, 49, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 49, 93, 61, 32, 48, 46, 48, 59, 10, 9,104,115, +118, 91, 50, 93, 32, 42, 61, 32,118, 97,108,117,101, 59, 10, 9,105,102, 40,104,115,118, 91, 50, 93, 62, 49, 46, 48, 41, 32,104, +115,118, 91, 50, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 50, 93, 60, 48, 46, 48, 41, 32, +104,115,118, 91, 50, 93, 61, 32, 48, 46, 48, 59, 10, 10, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111, +117,116, 99,111,108, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 44, 32,111,117,116, 99, +111,108, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,112, 97,114, 97,116,101, 95,114,103, 98, 40,118, +101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, +103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 98, 41, 10,123, 10, 9,114, 32, 61, 32, 99,111,108, 46,114, 59, 10, 9,103, + 32, 61, 32, 99,111,108, 46,103, 59, 10, 9, 98, 32, 61, 32, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32, 99,111, +109, 98,105,110,101, 95,114,103, 98, 40,102,108,111, 97,116, 32,114, 44, 32,102,108,111, 97,116, 32,103, 44, 32,102,108,111, 97, +116, 32, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 41, 10,123, 10, 9, 99,111,108, 32, 61, 32,118,101, 99, 52, + 40,114, 44, 32,103, 44, 32, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,111,117,116,112,117,116, 95,110, +111,100,101, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 44, 32,111,117,116, 32,118, +101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, + 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 84, 69, + 88, 84, 85, 82, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,116,101, +120,116,117,114,101, 95,102,108,105,112, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,118, +101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 46,121,120,122, 59, + 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95, 98,108,101,110,100, 95,108,105,110, 40,118,101, 99, 51, 32, +118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, + 32, 61, 32, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116, +117,114,101, 95, 98,108,101,110,100, 95,113,117, 97,100, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, + 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,109, 97,120, 40, 40, 49, 46, 48, 43, +118,101, 99, 46,120, 41, 47, 50, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 42, 61, 32,111,117,116, +118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,119,111,111,100, 95,115,105,110, 40,118,101, + 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, + 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9,102,108,111, + 97,116, 32, 97, 32, 61, 32,115,113,114,116, 40,118,101, 99, 46,120, 42,118,101, 99, 46,120, 32, 43, 32,118,101, 99, 46,121, 42, +118,101, 99, 46,121, 32, 43, 32,118,101, 99, 46,122, 42,118,101, 99, 46,122, 41, 42, 50, 48, 46, 48, 59, 10, 9,102,108,111, 97, +116, 32,119,105, 32, 61, 32, 48, 46, 53, 32, 43, 32, 48, 46, 53, 42,115,105,110, 40, 97, 41, 59, 10, 10, 9,118, 97,108,117,101, + 32, 61, 32,119,105, 59, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40,119,105, 44, 32,119,105, 44, 32,119,105, 44, + 32, 49, 46, 48, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, + 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,105,109, 97,103,101, 40,118,101, 99, 51, + 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, + 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110, +111,114,109, 97,108, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, + 32, 40,118,101, 99, 46,120,121, 32, 43, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 41, 42, 48, 46, 53, 41, 59, + 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10, 10, 9,110,111,114,109, 97,108, 46,120, 32, 61, 32, 50, 46, 48, 42, + 40, 99,111,108,111,114, 46,114, 32, 45, 32, 48, 46, 53, 41, 59, 10, 9,110,111,114,109, 97,108, 46,121, 32, 61, 32, 50, 46, 48, + 42, 40, 48, 46, 53, 32, 45, 32, 99,111,108,111,114, 46,103, 41, 59, 10, 9,110,111,114,109, 97,108, 46,122, 32, 61, 32, 50, 46, + 48, 42, 40, 99,111,108,111,114, 46, 98, 32, 45, 32, 48, 46, 53, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 32, 77, 84, 69, 88, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111, +105,100, 32,116,101,120, 99,111, 95,111,114, 99,111, 40,118,101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,111,117,116, 32, +118,101, 99, 51, 32,111,114, 99,111, 41, 10,123, 10, 9,111,114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111, 59, 10,125, 10, + 10,118,111,105,100, 32,116,101,120, 99,111, 95,117,118, 40,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,111,117,116, 32,118, +101, 99, 51, 32,117,118, 41, 10,123, 10, 9, 47, 42, 32,100,105,115, 97, 98,108,101,100, 32,102,111,114, 32,110,111,119, 44, 32, +119,111,114,107,115, 32,116,111,103,101,116,104,101,114, 32,119,105,116,104, 32,108,101, 97,118,105,110,103, 32,111,117,116, 32, +109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 10, 9, 32, 32, 32,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116, +116,117,118, 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 32, + 42, 47, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111, +105,100, 32,116,101,120, 99,111, 95,110,111,114,109, 40,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118, +101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 42, 32, 99,111,114,114,101,115,112,111,110,100,115, + 32,116,111, 32,115,104,105, 45, 62,111,114,110, 44, 32,119,104,105, 99,104, 32,105,115, 32,110,101,103, 97,116,101,100, 32,115, +111, 32, 99, 97,110, 99,101,108,115, 10, 9, 32, 32, 32,111,117,116, 32, 98,108,101,110,100,101,114, 32,110,111,114,109, 97,108, + 32,110,101,103, 97,116,105,111,110, 32, 42, 47, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97,108, +105,122,101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,116, 97,110,103,101, +110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116, 97,110, +103,101,110,116, 41, 10,123, 10, 9,111,117,116,116, 97,110,103,101,110,116, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, +116, 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,103,108,111, 98, + 97,108, 40,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, + 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 41, 10,123, 10, 9,103,108,111, 98, 97,108, 32, 61, 32, 40,118,105,101,119,105, +110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10,125, 10, 10,118,111,105, +100, 32,116,101,120, 99,111, 95,111, 98,106,101, 99,116, 40,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32, +109, 97,116, 52, 32,111, 98,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, + 32,111, 98,106,101, 99,116, 41, 10,123, 10, 9,111, 98,106,101, 99,116, 32, 61, 32, 40,111, 98,105,110,118,109, 97,116, 42, 40, +118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, 49, 46, 48, 41, 41, 41, 46,120,121,122, 59, 10, +125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,114,101,102,108, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, + 32,118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, 32,114,101,102, 41, 10,123, 10, 9,114,101,102, 32, 61, 32,118,105, +101,119, 32, 45, 32, 50, 46, 48, 42,100,111,116, 40,118,110, 44, 32,118,105,101,119, 41, 42,118,110, 59, 10,125, 10, 10,118,111, +105,100, 32,115,104, 97,100,101, 95,110,111,114,109, 40,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118, +101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 42, 32, 98,108,101,110,100,101,114, 32,114,101,110, +100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32,110,101,103, 97,116,101,100, 32, 42, 47, 10, 9,111,117,116,110,111,114, +109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105, +100, 32,109,116,101,120, 95,114,103, 98, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, + 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99, +103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, + 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, + 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, + 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,109,117,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10, 123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9, -102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,114, 32, 33, - 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, - 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46,114, 47,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40,116,101,120, - 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, - 99,111,108, 46,103, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46,103, 47,116,101,120, 99,111,108, 46,103, 59, 10, - 9,105,102, 40,116,101,120, 99,111,108, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,102, - 97, 99,109, 42,111,117,116, 99,111,108, 46, 98, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46, 98, 47,116,101,120, - 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,102,102, 40,118,101, 99, - 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99, -116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, - 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, - 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111, -117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42, 97, 98,115, 40,116,101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, - 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100, 97,114,107, 40,118,101, 99, 51, 32,111,117, -116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102, -108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108, -111, 97,116, 32,102, 97, 99,109, 44, 32, 99,111,108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9, -102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101, -120, 99,111,108, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111, -108, 46,114, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, - 46,114, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111, -108, 32, 60, 32,111,117,116, 99,111,108, 46,103, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115, -101, 32,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99, -116, 42,116,101,120, 99,111,108, 46, 98, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46, 98, 41, 32, -105,110, 99,111,108, 46, 98, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117, -116, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,108,105,103,104,116, 40,118, -101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, - 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, - 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 44, 32, 99,111,108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, - 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, - 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46,114, - 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32, -111,117,116, 99,111,108, 46,114, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, - 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46,103, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111, -108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, - 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99, -111,108, 46, 98, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, - 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,104, -117,101, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, - 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, - 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,104,117,101, 40,102, 97, 99,116, - 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116, -101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, - 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 97,116, 40,118,101, - 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, - 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10, -123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,115, 97,116, 40,102, 97, 99,116, 42,102, 97, 99,103, - 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, - 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114, -103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,118, 97,108, 40,118,101, 99, 51, 32,111,117, -116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102, -108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, - 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,118, 97,108, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, - 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, - 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, - 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 99,111,108,111,114, 40,118,101, 99, 51, 32,111,117,116, 99,111, -108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97, -116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, - 99,111,108, 59, 10, 10, 9,109,105,120, 95, 99,111,108,111,114, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, - 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, - 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, - 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,105,110,111,117,116, 32,102,108,111, 97, -116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, - 99,109, 41, 10,123, 10, 9,102, 97, 99,116, 32, 42, 61, 32, 97, 98,115, 40,102, 97, 99,103, 41, 59, 10, 9,102, 97, 99,109, 32, - 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,102, 40,102, 97, 99,103, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, - 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32,102, 97, 99,116, 59, 10, 9, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,109, - 59, 10, 9, 9,102, 97, 99,109, 32, 61, 32,116,109,112, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, -118, 97,108,117,101, 95, 98,108,101,110,100, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32, -116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32, -111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, - 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99, -109, 41, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, - 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,109,117,108, 40, -102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97, -116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, - 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95, -118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, - 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, - 99,116, 42,116,101,120, 99,111,108, 41, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, -118, 97,108,117,101, 95,115, 99,114,101,101,110, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, - 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, - 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, - 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, - 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, - 99,111,108, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116, -101,120, 95,118, 97,108,117,101, 95,115,117, 98, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, - 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, - 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, - 99,109, 41, 59, 10, 10, 9,102, 97, 99,116, 32, 61, 32, 45,102, 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, - 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, - 95,118, 97,108,117,101, 95, 97,100,100, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116, +102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32, 40,102, 97, 99,109, + 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 41, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32, +109,116,101,120, 95,114,103, 98, 95,115, 99,114,101,101,110, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, + 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, + 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, + 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99, +103, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32, 40,118,101, 99, 51, 40,102, + 97, 99,109, 41, 32, 43, 32,102, 97, 99,116, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,116,101,120, 99,111,108, 41, + 41, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32, +109,116,101,120, 95,114,103, 98, 95,111,118,101,114,108, 97,121, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, + 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99, +103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, + 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, + 99,103, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, + 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116, +101,120, 99,111,108, 46,114, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 32, + 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, + 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99, +111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, + 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 41, 59, 10, 9,101,108, +115,101, 10, 9, 9,105,110, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, + 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46,103, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111, +117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, + 9,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42, +102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46, 98, 32, + 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32, +116,101,120, 99,111,108, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 59, 10,125, 10, 10, +118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115,117, 98, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118, +101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, + 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,105,110, 99,111,108, 32, 61, 32, 45, +102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111, +105,100, 32,109,116,101,120, 95,114,103, 98, 95, 97,100,100, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, + 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, + 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99, +116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32, +109,116,101,120, 95,114,103, 98, 95,100,105,118, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116, 101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9, -109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, - 41, 59, 10, 10, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42, -116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97, -108,117,101, 95,100,105,118, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99, -111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32, -102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101, -120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, - 10, 9,105,102, 40,116,101,120, 99,111,108, 32, 33, 61, 32, 48, 46, 48, 41, 10, 9, 9,105,110, 99,111,108, 32, 61, 32,102, 97, - 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 47,116,101,120, 99,111,108, 59, 10, - 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101, -120, 95,118, 97,108,117,101, 95,100,105,102,102, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, - 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, - 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, - 99,109, 41, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99, -116, 42, 97, 98,115, 40,116,101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32, -109,116,101,120, 95,118, 97,108,117,101, 95,100, 97,114,107, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108, -111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, - 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, - 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, - 32,102, 97, 99,109, 41, 59, 10, 10, 9,102,108,111, 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111, -108, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, - 59, 32,101,108,115,101, 32,105,110, 99,111,108, 32, 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109, -116,101,120, 95,118, 97,108,117,101, 95,108,105,103,104,116, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108, -111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, - 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, - 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, - 32,102, 97, 99,109, 41, 59, 10, 10, 9,102,108,111, 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111, -108, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, - 59, 32,101,108,115,101, 32,105,110, 99,111,108, 32, 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109, -116,101,120, 95,118, 97,108,117,101, 95, 99,108, 97,109,112, 95,112,111,115,105,116,105,118,101, 40,102,108,111, 97,116, 32,102, +117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9, +102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, + 10, 9,105,102, 40,116,101,120, 99,111,108, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, +102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46,114, 47,116,101, +120, 99,111,108, 46,114, 59, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99, +111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,103, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99, +111,108, 46,103, 47,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40,116,101,120, 99,111,108, 46, 98, 32, 33, 61, 32, 48, + 46, 48, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46, 98, 32, 43, 32,102, 97, + 99,116, 42,111,117,116, 99,111,108, 46, 98, 47,116,101,120, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116, +101,120, 95,114,103, 98, 95,100,105,102,102, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101, +120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117, +116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, + 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, + 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42, 97, 98,115, 40, +116,101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114, +103, 98, 95,100, 97,114,107, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, + 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, + 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 44, 32, 99,111,108, 59, 10, 10, 9, +102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, + 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, + 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105, +110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116, +101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46,103, 41, 32,105,110, 99, +111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111, +108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 59, 10, 9,105,102, 40, 99, +111,108, 32, 60, 32,111,117,116, 99,111,108, 46, 98, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32, 99,111,108, 59, 32,101,108, +115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109, +116,101,120, 95,114,103, 98, 95,108,105,103,104,116, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32, +116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32, +111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 44, 32, 99, +111,108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45, +102, 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, + 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, 99,111,108, 59, 32, +101,108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 59, 10, 9, 99,111,108, 32, 61, 32, +102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46, +103, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,103, 32, 61, + 32,111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 59, + 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46, 98, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32, 99, +111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 59, 10,125, 10, 10, +118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,104,117,101, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118, +101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, + 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, + 10, 10, 9,109,105,120, 95,104,117,101, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111, +108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, + 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32, +109,116,101,120, 95,114,103, 98, 95,115, 97,116, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116, +101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111, +117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105, +120, 95,115, 97,116, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, + 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, + 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, +114,103, 98, 95,118, 97,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, + 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, + 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,118, 97,108, + 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118, +101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114, +103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 99, +111,108,111,114, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102, +108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32, +105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95, 99,111,108,111,114, 40, +102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, + 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, + 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, +118, 97,114,115, 40,105,110,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99, +103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99,109, 41, 10,123, 10, 9,102, 97, 99,116, 32, 42, 61, 32, 97, 98, +115, 40,102, 97, 99,103, 41, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,102, 40, +102, 97, 99,103, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32,102, 97, 99,116, + 59, 10, 9, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,109, 59, 10, 9, 9,102, 97, 99,109, 32, 61, 32,116,109,112, 59, 10, 9, +125, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 98,108,101,110,100, 40,102,108,111, 97,116, + 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99, +116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10, +123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40, +102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99, +116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32, +109,116,101,120, 95,118, 97,108,117,101, 95,109,117,108, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, + 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99, +103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99, +109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32, +102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99, +111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 41, 42,111,117,116, 99,111,108, + 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115, 99,114,101,101,110, 40,102,108,111, 97, +116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, + 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, + 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, + 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, + 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, +102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99, +111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115,117, 98, 40,102,108,111, 97, +116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, + 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, + 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, + 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,116, 32, 61, 32, 45,102, 97, + 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111, +108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 97,100,100, 40,102,108,111, 97,116, 32, +111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, + 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, + 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, + 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,116, 59, + 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10, +125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100,105,118, 40,102,108,111, 97,116, 32,111,117,116, + 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102, +108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102, +108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, + 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,102, 40,116,101,120, 99,111,108, 32, 33, 61, 32, 48, 46, + 48, 41, 10, 9, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42, +111,117,116, 99,111,108, 47,116,101,120, 99,111,108, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 32, 61, 32, 48, + 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100,105,102,102, 40,102,108,111, 97, +116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, + 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, + 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, + 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, + 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42, 97, 98,115, 40,116,101,120, 99,111,108, 32, 45, 32,111,117, +116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100, 97,114,107, 40,102, +108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, + 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99, +111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, + 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102,108,111, 97,116, 32, 99, +111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99, +111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 32, 61, 32,111,117, +116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,108,105,103,104,116, 40,102, +108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, + 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99, +111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, + 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102,108,111, 97,116, 32, 99, +111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99, +111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 32, 61, 32,111,117, +116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 99,108, 97,109,112, 95,112, +111,115,105,116,105,118,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, +102, 97, 99, 41, 10,123, 10, 9,111,117,116,102, 97, 99, 32, 61, 32,109, 97,120, 40,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10, +125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,111,117,116,102, 97, 99, 32, - 61, 32,109, 97,120, 40,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97, -108,117,101, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111, -117,116,102, 97, 99, 41, 10,123, 10, 9,111,117,116,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, - 48, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,100,105,118,105,100,101, - 40,102,108,111, 97,116, 32,104, 97,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, - 9,111,117,116,104, 97,114, 32, 61, 32,104, 97,114, 47, 49, 50, 56, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101, -120, 95,104, 97,114, 95,109,117,108,116,105,112,108,121, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,104, 97,114, 44, 32, -111,117,116, 32,102,108,111, 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, 9,104, 97,114, 32, 42, 61, 32, 49, 50, 56, 46, - 48, 59, 10, 10, 9,105,102, 40,104, 97,114, 32, 60, 32, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 49, 46, 48, 59, - 10, 9,101,108,115,101, 32,105,102, 40,104, 97,114, 32, 62, 32, 53, 49, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, - 53, 49, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,111,117,116,104, 97,114, 32, 61, 32,104, 97,114, 59, 10,125, 10, 10,118,111, -105,100, 32,109,116,101,120, 95, 97,108,112,104, 97, 95,102,114,111,109, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 41, 10,123, 10, 9, 97,108,112,104, 97, 32, 61, 32, 99,111,108, - 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 97,108,112,104, 97, 95,116,111, 95, 99,111,108, 40,118,101, - 99, 52, 32, 99,111,108, 44, 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117, -116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, - 97,108,112,104, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98,116,111,105,110,116, 40,118,101, - 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9, -105,110,116,101,110,115,105,116,121, 32, 61, 32,100,111,116, 40,118,101, 99, 51, 40, 48, 46, 51, 53, 44, 32, 48, 46, 52, 53, 44, - 32, 48, 46, 50, 41, 44, 32,114,103, 98, 46,114,103, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97, -108,117,101, 95,105,110,118,101,114,116, 40,102,108,111, 97,116, 32,105,110,118, 97,108,117,101, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,111,117,116,118, 97,108,117,101, 41, 10,123, 10, 9,111,117,116,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 32, - 45, 32,105,110,118, 97,108,117,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,105,110,118,101, -114,116, 40,118,101, 99, 52, 32,105,110,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10, -123, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,105,110,114, -103, 98, 46,114,103, 98, 44, 32,105,110,114,103, 98, 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, - 97,108,117,101, 95,115,116,101,110, 99,105,108, 40,102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,102,108,111, 97, -116, 32,105,110,116,101,110,115,105,116,121, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105, -108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,102,108, -111, 97,116, 32,102, 97, 99,116, 32, 61, 32,105,110,116,101,110,115,105,116,121, 59, 10, 9,111,117,116,105,110,116,101,110,115, -105,116,121, 32, 61, 32,105,110,116,101,110,115,105,116,121, 42,115,116,101,110, 99,105,108, 59, 10, 9,111,117,116,115,116,101, -110, 99,105,108, 32, 61, 32,115,116,101,110, 99,105,108, 42,102, 97, 99,116, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101, -120, 95,114,103, 98, 95,115,116,101,110, 99,105,108, 40,102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,118,101, 99, - 52, 32,114,103, 98, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, - 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,116, 32, 61, 32,114,103, - 98, 46, 97, 59, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32,114,103, 98, - 46, 97, 42,115,116,101,110, 99,105,108, 41, 59, 10, 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32,115,116,101,110, 99, -105,108, 42,102, 97, 99,116, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,111,102, -115, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,118,101, 99, 51, 32,111,102,115, 44, 32,111,117,116, 32,118,101, 99, 51, - 32,111,117,116,116,101,120, 99,111, 41, 10,123, 10, 9,111,117,116,116,101,120, 99,111, 32, 61, 32,116,101,120, 99,111, 32, 43, - 32,111,102,115, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,115,105,122,101, 40, -118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,118,101, 99, 51, 32,115,105,122,101, 44, 32,111,117,116, 32,118,101, 99, 51, 32, -111,117,116,116,101,120, 99,111, 41, 10,123, 10, 9,111,117,116,116,101,120, 99,111, 32, 61, 32,115,105,122,101, 42,116,101,120, - 99,111, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 40,118,101, 99, 51, - 32,118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, - 32, 61, 32,118,101, 99, 51, 40,118,101, 99, 46,120,121, 42, 48, 46, 53, 32, 43, 32,118,101, 99, 50, 40, 48, 46, 53, 44, 32, 48, - 46, 53, 41, 44, 32,118,101, 99, 46,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,105,109, 97,103,101, 40, -118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,102, -108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99, -111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, - 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,111,114,109, - 97,108, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117, -116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 47, 32, 84,104,101, 32,105,110,118,101,114,116, 32, -111,102, 32,116,104,101, 32,114,101,100, 32, 99,104, 97,110,110,101,108, 32,105,115, 32,116,111, 32,109, 97,107,101, 10, 9, 47, - 47, 32,116,104,101, 32,110,111,114,109, 97,108, 32,109, 97,112, 32, 99,111,109,112,108,105, 97,110,116, 32,119,105,116,104, 32, -116,104,101, 32,111,117,116,115,105,100,101, 32,119,111,114,108,100, 46, 10, 9, 47, 47, 32, 73,116, 32,110,101,101,100,115, 32, -116,111, 32, 98,101, 32,100,111,110,101, 32, 98,101, 99, 97,117,115,101, 32,105,110, 32, 66,108,101,110,100,101,114, 10, 9, 47, - 47, 32,116,104,101, 32,110,111,114,109, 97,108, 32,117,115,101,100, 32,112,111,105,110,116,115, 32,105,110,119, 97,114,100, 46, - 10, 9, 47, 47, 32, 83,104,111,117,108,100, 32,116,104,105,115, 32,101,118,101,114, 32, 99,104, 97,110,103,101, 32,116,104,105, -115, 32,110,101,103, 97,116,101, 32,109,117,115,116, 32, 98,101, 32,114,101,109,111,118,101,100, 46, 10, 32, 32, 32, 32,118,101, - 99, 52, 32, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46, -120,121, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 50, 46, 48, 42, 40,118,101, 99, 51, 40, 45, 99,111,108,111,114, 46, -114, 44, 32, 99,111,108,111,114, 46,103, 44, 32, 99,111,108,111,114, 46, 98, 41, 32, 45, 32,118,101, 99, 51, 40, 45, 48, 46, 53, - 44, 32, 48, 46, 53, 44, 32, 48, 46, 53, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95, -110,111,114,109, 97,108,115, 95,105,110,105,116, 40, 32,118,101, 99, 51, 32,118, 78, 44, 32,111,117,116, 32,118,101, 99, 51, 32, -118, 78,111,114,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, - 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 41, 10,123, 10, 9,118, 78,111,114,103, 32, 61, 32,118, 78, 59, - 10, 9,118, 78, 97, 99, 99, 32, 61, 32,118, 78, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, - 49, 46, 48, 59, 10,125, 10, 10, 47, 42, 42, 32,104,101,108,112,101,114, 32,109,101,116,104,111,100, 32,116,111, 32,101,120,116, -114, 97, 99,116, 32,116,104,101, 32,117,112,112,101,114, 32,108,101,102,116, 32, 51,120, 51, 32,109, 97,116,114,105,120, 32,102, -114,111,109, 32, 97, 32, 52,120, 52, 32,109, 97,116,114,105,120, 32, 42, 47, 10,109, 97,116, 51, 32,116,111, 95,109, 97,116, 51, - 40,109, 97,116, 52, 32,109, 52, 41, 10,123, 10, 9,109, 97,116, 51, 32,109, 51, 59, 10, 9,109, 51, 91, 48, 93, 32, 61, 32,109, - 52, 91, 48, 93, 46,120,121,122, 59, 10, 9,109, 51, 91, 49, 93, 32, 61, 32,109, 52, 91, 49, 93, 46,120,121,122, 59, 10, 9,109, - 51, 91, 50, 93, 32, 61, 32,109, 52, 91, 50, 93, 46,120,121,122, 59, 10, 9,114,101,116,117,114,110, 32,109, 51, 59, 10,125, 10, - 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,111, 98,106,115,112, 97, 99,101, 40, 32,118, -101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 10, 9, 9, - 9, 9, 9, 9, 9, 32, 32,109, 97,116, 52, 32,109, 86,105,101,119, 44, 32,109, 97,116, 52, 32,109, 86,105,101,119, 73,110,118, - 44, 32,109, 97,116, 52, 32,109, 79, 98,106, 44, 32,109, 97,116, 52, 32,109, 79, 98,106, 73,110,118, 44, 32, 10, 9, 9, 9, 9, - 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, - 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32, -102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, - 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32, -111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10, -123, 10, 9,109, 97,116, 51, 32,111, 98,106, 50,118,105,101,119, 32, 61, 32,116,111, 95,109, 97,116, 51, 40,109, 86,105,101,119, - 32, 42, 32,109, 79, 98,106, 41, 59, 10, 9,109, 97,116, 51, 32,118,105,101,119, 50,111, 98,106, 32, 61, 32,116,111, 95,109, 97, -116, 51, 40,109, 79, 98,106, 73,110,118, 32, 42, 32,109, 86,105,101,119, 73,110,118, 41, 59, 10, 9, 10, 9,118,101, 99, 51, 32, -118, 83,105,103,109, 97, 83, 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, 42, 32,100, 70,100,120, 40, 32,115,117,114,102, 95, -112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, - 42, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,110, -111,114,109, 97,108,105,122,101, 40, 32,115,117,114,102, 95,110,111,114,109, 32, 42, 32,111, 98,106, 50,118,105,101,119, 32, 41, - 59, 10, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, + 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32, +109,116,101,120, 95,104, 97,114, 95,100,105,118,105,100,101, 40,102,108,111, 97,116, 32,104, 97,114, 44, 32,111,117,116, 32,102, +108,111, 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, 9,111,117,116,104, 97,114, 32, 61, 32,104, 97,114, 47, 49, 50, 56, + 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,109,117,108,116,105,112,108,121, 95, 99,108, + 97,109,112, 40,102,108,111, 97,116, 32,104, 97,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,104, 97,114, 41, + 10,123, 10, 9,104, 97,114, 32, 42, 61, 32, 49, 50, 56, 46, 48, 59, 10, 10, 9,105,102, 40,104, 97,114, 32, 60, 32, 49, 46, 48, + 41, 32,111,117,116,104, 97,114, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,104, 97,114, 32, 62, 32, 53, + 49, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 53, 49, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,111,117,116,104, + 97,114, 32, 61, 32,104, 97,114, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 97,108,112,104, 97, 95,102,114,111, +109, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 41, + 10,123, 10, 9, 97,108,112,104, 97, 32, 61, 32, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, + 97,108,112,104, 97, 95,116,111, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,102,108,111, 97,116, 32, 97,108,112, +104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, + 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, +116,101,120, 95,114,103, 98,116,111,105,110,116, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,102,108,111, 97,116, + 32,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,105,110,116,101,110,115,105,116,121, 32, 61, 32,100,111,116, 40,118, +101, 99, 51, 40, 48, 46, 51, 53, 44, 32, 48, 46, 52, 53, 44, 32, 48, 46, 50, 41, 44, 32,114,103, 98, 46,114,103, 98, 41, 59, 10, +125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,105,110,118,101,114,116, 40,102,108,111, 97,116, 32, +105,110,118, 97,108,117,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108,117,101, 41, 10,123, 10, 9, +111,117,116,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 32, 45, 32,105,110,118, 97,108,117,101, 59, 10,125, 10, 10,118,111,105, +100, 32,109,116,101,120, 95,114,103, 98, 95,105,110,118,101,114,116, 40,118,101, 99, 52, 32,105,110,114,103, 98, 44, 32,111,117, +116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40, +118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,105,110,114,103, 98, 46,114,103, 98, 44, 32,105,110,114,103, 98, 46, 97, 41, 59, + 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115,116,101,110, 99,105,108, 40,102,108,111, 97, +116, 32,115,116,101,110, 99,105,108, 44, 32,102,108,111, 97,116, 32,105,110,116,101,110,115,105,116,121, 44, 32,111,117,116, 32, +102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,105, +110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,116, 32, 61, 32,105,110,116,101,110,115, +105,116,121, 59, 10, 9,111,117,116,105,110,116,101,110,115,105,116,121, 32, 61, 32,105,110,116,101,110,115,105,116,121, 42,115, +116,101,110, 99,105,108, 59, 10, 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32,115,116,101,110, 99,105,108, 42,102, 97, + 99,116, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115,116,101,110, 99,105,108, 40,102,108,111, + 97,116, 32,115,116,101,110, 99,105,108, 44, 32,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, +111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9, +102,108,111, 97,116, 32,102, 97, 99,116, 32, 61, 32,114,103, 98, 46, 97, 59, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,101, + 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32,114,103, 98, 46, 97, 42,115,116,101,110, 99,105,108, 41, 59, 10, 9,111,117,116, +115,116,101,110, 99,105,108, 32, 61, 32,115,116,101,110, 99,105,108, 42,102, 97, 99,116, 59, 10,125, 10, 10,118,111,105,100, 32, +109,116,101,120, 95,109, 97,112,112,105,110,103, 95,111,102,115, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,118,101, 99, + 51, 32,111,102,115, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116,101,120, 99,111, 41, 10,123, 10, 9,111,117,116, +116,101,120, 99,111, 32, 61, 32,116,101,120, 99,111, 32, 43, 32,111,102,115, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101, +120, 95,109, 97,112,112,105,110,103, 95,115,105,122,101, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,118,101, 99, 51, 32, +115,105,122,101, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116,101,120, 99,111, 41, 10,123, 10, 9,111,117,116,116, +101,120, 99,111, 32, 61, 32,115,105,122,101, 42,116,101,120, 99,111, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, + 50,100, 95,109, 97,112,112,105,110,103, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117, +116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51, 40,118,101, 99, 46,120,121, 42, 48, 46, + 53, 32, 43, 32,118,101, 99, 50, 40, 48, 46, 53, 44, 32, 48, 46, 53, 41, 44, 32,118,101, 99, 46,122, 41, 59, 10,125, 10, 10,118, +111,105,100, 32,109,116,101,120, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108, +101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118, +101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, +105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, + 10,118,111,105,100, 32,109,116,101,120, 95,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97, +109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, + 9, 47, 47, 32, 84,104,101, 32,105,110,118,101,114,116, 32,111,102, 32,116,104,101, 32,114,101,100, 32, 99,104, 97,110,110,101, +108, 32,105,115, 32,116,111, 32,109, 97,107,101, 10, 9, 47, 47, 32,116,104,101, 32,110,111,114,109, 97,108, 32,109, 97,112, 32, + 99,111,109,112,108,105, 97,110,116, 32,119,105,116,104, 32,116,104,101, 32,111,117,116,115,105,100,101, 32,119,111,114,108,100, + 46, 10, 9, 47, 47, 32, 73,116, 32,110,101,101,100,115, 32,116,111, 32, 98,101, 32,100,111,110,101, 32, 98,101, 99, 97,117,115, +101, 32,105,110, 32, 66,108,101,110,100,101,114, 10, 9, 47, 47, 32,116,104,101, 32,110,111,114,109, 97,108, 32,117,115,101,100, + 32,112,111,105,110,116,115, 32,105,110,119, 97,114,100, 46, 10, 9, 47, 47, 32, 83,104,111,117,108,100, 32,116,104,105,115, 32, +101,118,101,114, 32, 99,104, 97,110,103,101, 32,116,104,105,115, 32,110,101,103, 97,116,101, 32,109,117,115,116, 32, 98,101, 32, +114,101,109,111,118,101,100, 46, 10, 32, 32, 32, 32,118,101, 99, 52, 32, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114, +101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 50, 46, + 48, 42, 40,118,101, 99, 51, 40, 45, 99,111,108,111,114, 46,114, 44, 32, 99,111,108,111,114, 46,103, 44, 32, 99,111,108,111,114, + 46, 98, 41, 32, 45, 32,118,101, 99, 51, 40, 45, 48, 46, 53, 44, 32, 48, 46, 53, 44, 32, 48, 46, 53, 41, 41, 59, 10,125, 10, 10, +118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,110,111,114,109, 97,108,115, 95,105,110,105,116, 40, 32,118,101, 99, + 51, 32,118, 78, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78,111,114,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, + 78, 97, 99, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 41, + 10,123, 10, 9,118, 78,111,114,103, 32, 61, 32,118, 78, 59, 10, 9,118, 78, 97, 99, 99, 32, 61, 32,118, 78, 59, 10, 9,102, 80, +114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10, 47, 42, 42, 32,104,101,108,112,101, +114, 32,109,101,116,104,111,100, 32,116,111, 32,101,120,116,114, 97, 99,116, 32,116,104,101, 32,117,112,112,101,114, 32,108,101, +102,116, 32, 51,120, 51, 32,109, 97,116,114,105,120, 32,102,114,111,109, 32, 97, 32, 52,120, 52, 32,109, 97,116,114,105,120, 32, + 42, 47, 10,109, 97,116, 51, 32,116,111, 95,109, 97,116, 51, 40,109, 97,116, 52, 32,109, 52, 41, 10,123, 10, 9,109, 97,116, 51, + 32,109, 51, 59, 10, 9,109, 51, 91, 48, 93, 32, 61, 32,109, 52, 91, 48, 93, 46,120,121,122, 59, 10, 9,109, 51, 91, 49, 93, 32, + 61, 32,109, 52, 91, 49, 93, 46,120,121,122, 59, 10, 9,109, 51, 91, 50, 93, 32, 61, 32,109, 52, 91, 50, 93, 46,120,121,122, 59, + 10, 9,114,101,116,117,114,110, 32,109, 51, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,105, +110,105,116, 95,111, 98,106,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, + 51, 32,115,117,114,102, 95,110,111,114,109, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,109, 97,116, 52, 32,109, 86,105,101,119, + 44, 32,109, 97,116, 52, 32,109, 86,105,101,119, 73,110,118, 44, 32,109, 97,116, 52, 32,109, 79, 98,106, 44, 32,109, 97,116, 52, + 32,109, 79, 98,106, 73,110,118, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, + 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, + 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117, +116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, + 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, + 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,109, 97,116, 51, 32,111, 98,106, 50,118,105,101,119, 32, + 61, 32,116,111, 95,109, 97,116, 51, 40,109, 86,105,101,119, 32, 42, 32,109, 79, 98,106, 41, 59, 10, 9,109, 97,116, 51, 32,118, +105,101,119, 50,111, 98,106, 32, 61, 32,116,111, 95,109, 97,116, 51, 40,109, 79, 98,106, 73,110,118, 32, 42, 32,109, 86,105,101, +119, 73,110,118, 41, 59, 10, 9, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,118,105,101,119, 50,111, 98, +106, 32, 42, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103, +109, 97, 84, 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, 42, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, + 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32,115,117,114,102, 95,110,111, +114,109, 32, 42, 32,111, 98,106, 50,118,105,101,119, 32, 41, 59, 10, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, 40, 32, +118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 78, 44, + 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 59, 10, 9,102, 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105,103,109, + 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9, 47, 42, 32,112,114,101,116,114, 97,110,115,102,111,114,109, 32,118, 78, + 97, 99, 99, 32, 40,105,110, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 41, 32,117,115,105,110,103, 32,116, +104,101, 32,105,110,118,101,114,115,101, 32,116,114, 97,110,115,112,111,115,101,100, 32, 42, 47, 10, 9,118, 82, 49, 32, 61, 32, +118, 82, 49, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9,118, 82, 50, 32, 61, 32,118, 82, 50, 32, 42, 32,118,105,101, +119, 50,111, 98,106, 59, 10, 9,118, 78, 32, 61, 32,118, 78, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9, 10, 9,102, +108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 32, 42, 32,108,101, +110,103,116,104, 40,118, 78, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, + 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105, +110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105, +116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,116,101,120, +116,117,114,101,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115, +117,114,102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, + 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, + 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95, +111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, + 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32, +111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, + 83, 32, 61, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103, +109, 97, 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, + 32, 61, 32,115,117,114,102, 95,110,111,114,109, 59, 32, 47, 42, 32,110,111,114,109, 97,108,105,122,101,100, 32,105,110,116,101, +114,112,111,108, 97,116,101,100, 32,118,101,114,116,101,120, 32,110,111,114,109, 97,108, 32, 42, 47, 10, 9, 10, 9,118, 82, 49, + 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, + 32, 41, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32, 99,114,111,115,115, 40, 32,118, + 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 41, 59, 10, 9,102, 68,101,116, 32, 61, 32,115,105,103,110, 40, 32,100,111, +116, 40,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 41, 32, 41, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103, +110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, + 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, + 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117, +116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109, +112, 95,105,110,105,116, 95,118,105,101,119,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, + 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,102,108,111, 97, +116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95, +105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103, +110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, + 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, + 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, + 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, + 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9, +118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95,110,111,114,109, 59, 32, 47, 42, 32,110,111,114,109, 97,108,105,122, +101,100, 32,105,110,116,101,114,112,111,108, 97,116,101,100, 32,118,101,114,116,101,120, 32,110,111,114,109, 97,108, 32, 42, 47, + 10, 9, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 59, 10, 9,102, - 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9, 47, - 42, 32,112,114,101,116,114, 97,110,115,102,111,114,109, 32,118, 78, 97, 99, 99, 32, 40,105,110, 32,109,116,101,120, 95, 98,117, -109,112, 95, 97,112,112,108,121, 41, 32,117,115,105,110,103, 32,116,104,101, 32,105,110,118,101,114,115,101, 32,116,114, 97,110, -115,112,111,115,101,100, 32, 42, 47, 10, 9,118, 82, 49, 32, 61, 32,118, 82, 49, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, - 10, 9,118, 82, 50, 32, 61, 32,118, 82, 50, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9,118, 78, 32, 61, 32,118, 78, - 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, - 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 32, 42, 32,108,101,110,103,116,104, 40,118, 78, 41, 59, 10, 9,118, 78, 97, 99, - 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, - 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105, -116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109, -116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,116,101,120,116,117,114,101,115,112, 97, 99,101, 40, 32,118,101, 99, 51, - 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, 9, - 9, 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118, -101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97, -116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, - 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, - 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, - 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, 40, 32,115,117,114,102, 95, -112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117,114, -102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95,110,111,114,109, 59, 32, 47, - 42, 32,110,111,114,109, 97,108,105,122,101,100, 32,105,110,116,101,114,112,111,108, 97,116,101,100, 32,118,101,114,116,101,120, - 32,110,111,114,109, 97,108, 32, 42, 47, 10, 9, 10, 9,118, 82, 49, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32, 99, -114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32,110,111, -114,109, 97,108,105,122,101, 40, 32, 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 41, 59, - 10, 9,102, 68,101,116, 32, 61, 32,115,105,103,110, 40, 32,100,111,116, 40,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 41, - 32, 41, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68, -101,116, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, - 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9, -102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, - 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,118,105,101,119,115,112, 97, 99, -101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, - 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100, -101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111, -117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, - 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32, -118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97, -116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, - 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70, -100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95, -110,111,114,109, 59, 32, 47, 42, 32,110,111,114,109, 97,108,105,122,101,100, 32,105,110,116,101,114,112,111,108, 97,116,101,100, - 32,118,101,114,116,101,120, 32,110,111,114,109, 97,108, 32, 42, 47, 10, 9, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, - 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40, 32,118, - 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 59, 10, 9,102, 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105, -103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, - 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, - 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117, -100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, - 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97,112, 51, - 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, - 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, - 10,123, 10, 9,118,101, 99, 50, 32, 83, 84,108,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, 32, - 83, 84,108,114, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, - 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,121, 40, -116,101,120, 99,111, 46,120,121, 41, 32, 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72,108,108, 44, 72,108,114, 44, 72,117,108, - 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,108, 41, - 44, 32, 72,108,108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, - 44, 32, 83, 84,108,114, 41, 44, 32, 72,108,114, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114, -101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117,108, 41, 44, 32, 72,117,108, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32, -104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,108,114, 32, 45, 32, 72,108,108, 41, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, - 97,108,101, 32, 42, 32, 40, 72,117,108, 32, 45, 32, 72,108,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, - 98,117,109,112, 95,116, 97,112, 53, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, - 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, - 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116, -101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, - 99,111, 46,120,121, 41, 59, 10, 10, 9,118,101, 99, 50, 32, 83, 84, 99, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9, -118,101, 99, 50, 32, 83, 84,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68, -120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,114, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, - 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,100, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, - 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117, 32, 61, 32,116,101,120, 99,111, 46, -120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72, 99, 44, 72, -108, 44, 72,114, 44, 72,100, 44, 72,117, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40, -105,109, 97, 44, 32, 83, 84, 99, 41, 44, 32, 72, 99, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117, -114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108, 41, 44, 32, 72,108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32, -116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,114, 41, 44, 32, 72,114, 32, 41, 59, 10, 9,114,103, 98,116, -111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,100, 41, 44, 32, 72,100, 32, 41, 59, 10, - 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117, 41, 44, 32, 72, -117, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,114, 32, 45, 32, 72,108, 41, - 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,117, 32, 45, 32, 72,100, 41, 59, 10,125, 10, 10, -118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,100,101,114,105,118, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, - 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,120, 44, 32,102,108, -111, 97,116, 32,105,109, 97, 95,121, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117, -116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,102,108,111, 97,116, 32,115, 32, 61, 32, 49, 46, 48, 59, - 9, 9, 47, 47, 32,110,101,103, 97,116,101, 32,116,104,105,115, 32,105,102, 32,102,108,105,112,112,101,100, 32,116,101,120,116, -117,114,101, 32, 99,111,111,114,100,105,110, 97,116,101, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100, -120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40, -116,101,120, 99,111, 46,120,121, 41, 59, 10, 9, 10, 9, 47, 47, 32,116,104,105,115, 32,118, 97,114,105, 97,110,116, 32,117,115, -105,110,103, 32, 97, 32,100,101,114,105,118, 97,116,105,118,101, 32,109, 97,112, 32,105,115, 32,100,101,115, 99,114,105, 98,101, -100, 32,104,101,114,101, 10, 9, 47, 47, 32,104,116,116,112, 58, 47, 47,109,109,105,107,107,101,108,115,101,110, 51,100, 46, 98, -108,111,103,115,112,111,116, 46, 99,111,109, 47, 50, 48, 49, 49, 47, 48, 55, 47,100,101,114,105,118, 97,116,105,118,101, 45,109, - 97,112,115, 46,104,116,109,108, 10, 9,118,101, 99, 50, 32,100,105,109, 32, 61, 32,118,101, 99, 50, 40,105,109, 97, 95,120, 44, - 32,105,109, 97, 95,121, 41, 59, 10, 9,118,101, 99, 50, 32,100, 66,100,117,118, 32, 61, 32,104, 83, 99, 97,108,101, 42,100,105, -109, 42, 40, 50, 46, 48, 42,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 46, -120,121, 45, 49, 46, 48, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,100, 66,100,117,118, 46,120, 42, 84,101,120, 68,120, 46, -120, 32, 43, 32,115, 42,100, 66,100,117,118, 46,121, 42, 84,101,120, 68,120, 46,121, 59, 10, 9,100, 66,116, 32, 61, 32,100, 66, -100,117,118, 46,120, 42, 84,101,120, 68,121, 46,120, 32, 43, 32,115, 42,100, 66,100,117,118, 46,121, 42, 84,101,120, 68,121, 46, -121, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 40, 32,102,108,111, 97, -116, 32,102, 68,101,116, 44, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,102,108,111, 97,116, 32,100, 66,116, 44, 32,118,101, - 99, 51, 32,118, 82, 49, 44, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, - 10, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32,111,117,116, 32, -118,101, 99, 51, 32,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, - 83,117,114,102, 71,114, 97,100, 32, 61, 32,115,105,103,110, 40,102, 68,101,116, 41, 32, 42, 32, 40, 32,100, 66,115, 32, 42, 32, -118, 82, 49, 32, 43, 32,100, 66,116, 32, 42, 32,118, 82, 50, 32, 41, 59, 10, 9, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, - 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 45, 32,118, 83,117,114,102, 71,114, 97,100, 59, 10, 9,112,101,114,116,117,114, 98, -101,100, 95,110,111,114,109, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32,118, 78, 97, 99, 99, 95,111,117,116, 32, 41, - 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 95,116,101,120,115,112, 97, - 99,101, 40, 32,102,108,111, 97,116, 32,102, 68,101,116, 44, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,102,108,111, 97,116, - 32,100, 66,116, 44, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,118,101, 99, 51, 32,118, 82, 50, 44, 10, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,115, 97,109,112,108,101,114, - 50, 68, 32,105,109, 97, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,120, 44, - 32,102,108,111, 97,116, 32,105,109, 97, 95,121, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, - 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32,111,117,116, 32,118, -101, 99, 51, 32,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 84,101, -120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68, -121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 10, 9,118,101, 99, 51, 32,118, 83,117,114,102, - 71,114, 97,100, 32, 61, 32,115,105,103,110, 40,102, 68,101,116, 41, 32, 42, 32, 40, 32, 10, 9, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32,100, 66,115, 32, 47, 32,108,101,110,103,116,104, 40, 32,118,101, 99, 50, 40,105,109, 97, 95,120, 42, 84,101,120, - 68,120, 46,120, 44, 32,105,109, 97, 95,121, 42, 84,101,120, 68,120, 46,121, 41, 32, 41, 32, 42, 32,118, 82, 49, 32, 43, 32, 10, - 9, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100, 66,116, 32, 47, 32,108,101,110,103,116,104, 40, 32,118,101, 99, 50, 40, -105,109, 97, 95,120, 42, 84,101,120, 68,121, 46,120, 44, 32,105,109, 97, 95,121, 42, 84,101,120, 68,121, 46,121, 41, 32, 41, 32, - 42, 32,118, 82, 50, 32, 41, 59, 10, 9, 9, 9, 9, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, - 95,105,110, 32, 45, 32,118, 83,117,114,102, 71,114, 97,100, 59, 10, 9,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, - 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32,118, 78, 97, 99, 99, 95,111,117,116, 32, 41, 59, 10,125, 10, 10,118,111, -105,100, 32,109,116,101,120, 95,110,101,103, 97,116,101, 95,116,101,120,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,110,111, -114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9,111,117,116, -110,111,114,109, 97,108, 32, 61, 32,118,101, 99, 51, 40, 45,110,111,114,109, 97,108, 46,120, 44, 32, 45,110,111,114,109, 97,108, - 46,121, 44, 32,110,111,114,109, 97,108, 46,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,115,112, 97, - 99,101, 95,116, 97,110,103,101,110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, 44, 32,118,101, 99, 51, 32,110,111, -114,109, 97,108, 44, 32,118,101, 99, 51, 32,116,101,120,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111, -117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9,118,101, 99, 51, 32, 66, 32, 61, 32,116, 97,110,103,101,110,116, 46,119, 32, - 42, 32, 99,114,111,115,115, 40,110,111,114,109, 97,108, 44, 32,116, 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10, 10, 9, -111,117,116,110,111,114,109, 97,108, 32, 61, 32,116,101,120,110,111,114,109, 97,108, 46,120, 42,116, 97,110,103,101,110,116, 46, -120,121,122, 32, 43, 32,116,101,120,110,111,114,109, 97,108, 46,121, 42, 66, 32, 43, 32,116,101,120,110,111,114,109, 97,108, 46, -122, 42,110,111,114,109, 97,108, 59, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, - 40,111,117,116,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,108,101,110,100, 95, -110,111,114,109, 97,108, 40,102,108,111, 97,116, 32,110,111,114,102, 97, 99, 44, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, - 44, 32,118,101, 99, 51, 32,110,101,119,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111, -114,109, 97,108, 41, 10,123, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32,110,111,114,102, - 97, 99, 41, 42,110,111,114,109, 97,108, 32, 43, 32,110,111,114,102, 97, 99, 42,110,101,119,110,111,114,109, 97,108, 59, 10, 9, -111,117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,110,111,114,109, 97,108, 41, - 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 32, 77, 65, 84, 69, 82, 73, 65, 76, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 47, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,117,110, 95,104,101,109,105, - 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32, -102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, - 10, 9,108,118, 32, 61, 32,108, 97,109,112,118,101, 99, 59, 10, 9,100,105,115,116, 32, 61, 32, 49, 46, 48, 59, 10, 9,118,105, -115,105,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105, -108,105,116,121, 95,111,116,104,101,114, 40,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99,111, 44, - 32,111,117,116, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117, -116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,108,118, 32, 61, 32, 99,111, 32, 45, 32,108, 97, -109,112, 99,111, 59, 10, 9,100,105,115,116, 32, 61, 32,108,101,110,103,116,104, 40,108,118, 41, 59, 10, 9,108,118, 32, 61, 32, -110,111,114,109, 97,108,105,122,101, 40,108,118, 41, 59, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, - 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95,105,110,118,108,105,110,101, 97,114, 40,102,108, -111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105, -115,116, 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32,100,105,115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97, -109,112, 95,102, 97,108,108,111,102,102, 95,105,110,118,115,113,117, 97,114,101, 40,102,108,111, 97,116, 32,108, 97,109,112,100, -105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, - 97, 99, 41, 10,123, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105,115,116, 47, 40,108, 97,109,112,100, -105,115,116, 32, 43, 32,100,105,115,116, 42,100,105,115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, - 97,108,108,111,102,102, 95,115,108,105,100,101,114,115, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102, -108,111, 97,116, 32,108,100, 49, 44, 32,102,108,111, 97,116, 32,108,100, 50, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,108, 97,109, -112,100,105,115,116,107,119, 32, 61, 32,108, 97,109,112,100,105,115,116, 42,108, 97,109,112,100,105,115,116, 59, 10, 10, 9,118, -105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105,115,116, 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32,108,100, - 49, 42,100,105,115,116, 41, 59, 10, 9,118,105,115,105,102, 97, 99, 32, 42, 61, 32,108, 97,109,112,100,105,115,116,107,119, 47, - 40,108, 97,109,112,100,105,115,116,107,119, 32, 43, 32,108,100, 50, 42,100,105,115,116, 42,100,105,115,116, 41, 59, 10,125, 10, - 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95, 99,117,114,118,101, 40,102,108,111, 97,116, 32,108, - 97,109,112,100,105,115,116, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,102,108,111, + 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9,102, +108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 59, 10, 9,118, 78, + 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, + 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103, +110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, + 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97,112, 51, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109, +112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111, +117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 83, 84,108,108, 32, 61, 32,116, +101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, 32, 83, 84,108,114, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, + 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117,108, 32, 61, 32,116, +101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 32, 59, 10, 9, 10, 9,102,108, +111, 97,116, 32, 72,108,108, 44, 72,108,114, 44, 72,117,108, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117, +114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,108, 41, 44, 32, 72,108,108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, + 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,114, 41, 44, 32, 72,108,114, 32, 41, 59, 10, 9, +114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117,108, 41, 44, 32, 72, +117,108, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,108,114, 32, 45, 32, 72, +108,108, 41, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,117,108, 32, 45, 32, 72,108,108, 41, + 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97,112, 53, 40, 32,118,101, 99, 51, 32,116, +101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,108, +101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,111, + 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, + 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84, +101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 10, 9,118,101, 99, 50, 32, 83, 84, + 99, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, 32, 83, 84,108, 32, 61, 32,116,101,120, 99,111, 46, +120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,114, 32, 61, 32,116, +101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84, +100, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, 59, 10, 9,118,101, + 99, 50, 32, 83, 84,117, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, + 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72, 99, 44, 72,108, 44, 72,114, 44, 72,100, 44, 72,117, 59, 10, 9,114,103, 98,116, +111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84, 99, 41, 44, 32, 72, 99, 32, 41, 59, 10, + 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108, 41, 44, 32, 72, +108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84, +114, 41, 44, 32, 72,114, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, + 97, 44, 32, 83, 84,100, 41, 44, 32, 72,100, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, + 50, 68, 40,105,109, 97, 44, 32, 83, 84,117, 41, 44, 32, 72,117, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,104, 83, 99, + 97,108,101, 32, 42, 32, 40, 72,114, 32, 45, 32, 72,108, 41, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, + 32, 40, 72,117, 32, 45, 32, 72,100, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,100,101, +114,105,118, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32, +102,108,111, 97,116, 32,105,109, 97, 95,120, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,121, 44, 32,102,108,111, 97,116, 32, +104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117, +116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, + 9,102,108,111, 97,116, 32,115, 32, 61, 32, 49, 46, 48, 59, 9, 9, 47, 47, 32,110,101,103, 97,116,101, 32,116,104,105,115, 32, +105,102, 32,102,108,105,112,112,101,100, 32,116,101,120,116,117,114,101, 32, 99,111,111,114,100,105,110, 97,116,101, 10, 9,118, +101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, + 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9, 10, 9, 47, 47, 32, +116,104,105,115, 32,118, 97,114,105, 97,110,116, 32,117,115,105,110,103, 32, 97, 32,100,101,114,105,118, 97,116,105,118,101, 32, +109, 97,112, 32,105,115, 32,100,101,115, 99,114,105, 98,101,100, 32,104,101,114,101, 10, 9, 47, 47, 32,104,116,116,112, 58, 47, + 47,109,109,105,107,107,101,108,115,101,110, 51,100, 46, 98,108,111,103,115,112,111,116, 46, 99,111,109, 47, 50, 48, 49, 49, 47, + 48, 55, 47,100,101,114,105,118, 97,116,105,118,101, 45,109, 97,112,115, 46,104,116,109,108, 10, 9,118,101, 99, 50, 32,100,105, +109, 32, 61, 32,118,101, 99, 50, 40,105,109, 97, 95,120, 44, 32,105,109, 97, 95,121, 41, 59, 10, 9,118,101, 99, 50, 32,100, 66, +100,117,118, 32, 61, 32,104, 83, 99, 97,108,101, 42,100,105,109, 42, 40, 50, 46, 48, 42,116,101,120,116,117,114,101, 50, 68, 40, +105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 46,120,121, 45, 49, 46, 48, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, + 32,100, 66,100,117,118, 46,120, 42, 84,101,120, 68,120, 46,120, 32, 43, 32,115, 42,100, 66,100,117,118, 46,121, 42, 84,101,120, + 68,120, 46,121, 59, 10, 9,100, 66,116, 32, 61, 32,100, 66,100,117,118, 46,120, 42, 84,101,120, 68,121, 46,120, 32, 43, 32,115, + 42,100, 66,100,117,118, 46,121, 42, 84,101,120, 68,121, 46,121, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98, +117,109,112, 95, 97,112,112,108,121, 40, 32,102,108,111, 97,116, 32,102, 68,101,116, 44, 32,102,108,111, 97,116, 32,100, 66,115, + 44, 32,102,108,111, 97,116, 32,100, 66,116, 44, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,118,101, 99, 51, 32,118, 82, 50, 44, + 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32, +118, 78, 97, 99, 99, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,112,101,114,116,117,114, 98,101,100, 95,110,111, +114,109, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,117,114,102, 71,114, 97,100, 32, 61, 32,115,105,103,110, 40,102, + 68,101,116, 41, 32, 42, 32, 40, 32,100, 66,115, 32, 42, 32,118, 82, 49, 32, 43, 32,100, 66,116, 32, 42, 32,118, 82, 50, 32, 41, + 59, 10, 9, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 45, 32,118, 83,117,114, +102, 71,114, 97,100, 59, 10, 9,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 61, 32,110,111,114,109, 97,108,105, +122,101, 40, 32,118, 78, 97, 99, 99, 95,111,117,116, 32, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117, +109,112, 95, 97,112,112,108,121, 95,116,101,120,115,112, 97, 99,101, 40, 32,102,108,111, 97,116, 32,102, 68,101,116, 44, 32,102, +108,111, 97,116, 32,100, 66,115, 44, 32,102,108,111, 97,116, 32,100, 66,116, 44, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,118, +101, 99, 51, 32,118, 82, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,118,101, 99, 51, 32,116,101,120, 99, +111, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,120, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,121, 44, 32,118,101, 99, + 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, + 78, 97, 99, 99, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,112,101,114,116,117,114, 98,101,100, 95,110,111,114, +109, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46, +120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, + 41, 59, 10, 10, 9,118,101, 99, 51, 32,118, 83,117,114,102, 71,114, 97,100, 32, 61, 32,115,105,103,110, 40,102, 68,101,116, 41, + 32, 42, 32, 40, 32, 10, 9, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100, 66,115, 32, 47, 32,108,101,110,103,116,104, 40, + 32,118,101, 99, 50, 40,105,109, 97, 95,120, 42, 84,101,120, 68,120, 46,120, 44, 32,105,109, 97, 95,121, 42, 84,101,120, 68,120, + 46,121, 41, 32, 41, 32, 42, 32,118, 82, 49, 32, 43, 32, 10, 9, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100, 66,116, 32, + 47, 32,108,101,110,103,116,104, 40, 32,118,101, 99, 50, 40,105,109, 97, 95,120, 42, 84,101,120, 68,121, 46,120, 44, 32,105,109, + 97, 95,121, 42, 84,101,120, 68,121, 46,121, 41, 32, 41, 32, 42, 32,118, 82, 50, 32, 41, 59, 10, 9, 9, 9, 9, 10, 9,118, 78, + 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 45, 32,118, 83,117,114,102, 71,114, 97,100, 59, 10, + 9,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32,118, 78, 97, + 99, 99, 95,111,117,116, 32, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,101,103, 97,116,101, 95,116,101, +120,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117, +116,110,111,114,109, 97,108, 41, 10,123, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,118,101, 99, 51, 40, 45,110,111, +114,109, 97,108, 46,120, 44, 32, 45,110,111,114,109, 97,108, 46,121, 44, 32,110,111,114,109, 97,108, 46,122, 41, 59, 10,125, 10, + 10,118,111,105,100, 32,109,116,101,120, 95,110,115,112, 97, 99,101, 95,116, 97,110,103,101,110,116, 40,118,101, 99, 52, 32,116, + 97,110,103,101,110,116, 44, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,118,101, 99, 51, 32,116,101,120,110,111,114, +109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9,118,101, 99, 51, + 32, 66, 32, 61, 32,116, 97,110,103,101,110,116, 46,119, 32, 42, 32, 99,114,111,115,115, 40,110,111,114,109, 97,108, 44, 32,116, + 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,116,101,120,110,111, +114,109, 97,108, 46,120, 42,116, 97,110,103,101,110,116, 46,120,121,122, 32, 43, 32,116,101,120,110,111,114,109, 97,108, 46,121, + 42, 66, 32, 43, 32,116,101,120,110,111,114,109, 97,108, 46,122, 42,110,111,114,109, 97,108, 59, 10, 9,111,117,116,110,111,114, +109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118, +111,105,100, 32,109,116,101,120, 95, 98,108,101,110,100, 95,110,111,114,109, 97,108, 40,102,108,111, 97,116, 32,110,111,114,102, + 97, 99, 44, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,118,101, 99, 51, 32,110,101,119,110,111,114,109, 97,108, 44, + 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9,111,117,116,110,111,114,109, 97, +108, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32,110,111,114,102, 97, 99, 41, 42,110,111,114,109, 97,108, 32, 43, 32,110,111,114,102, + 97, 99, 42,110,101,119,110,111,114,109, 97,108, 59, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97, +108,105,122,101, 40,111,117,116,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 32, 77, 65, 84, + 69, 82, 73, 65, 76, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, + 98,105,108,105,116,121, 95,115,117,110, 95,104,101,109,105, 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,111,117, +116, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102, +108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,108,118, 32, 61, 32,108, 97,109,112,118,101, 99, 59, 10, 9, +100,105,115,116, 32, 61, 32, 49, 46, 48, 59, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118, +111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,111,116,104,101,114, 40,118,101, 99, 51, 32, 99, +111, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, + 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10, +123, 10, 9,108,118, 32, 61, 32, 99,111, 32, 45, 32,108, 97,109,112, 99,111, 59, 10, 9,100,105,115,116, 32, 61, 32,108,101,110, +103,116,104, 40,108,118, 41, 59, 10, 9,108,118, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108,118, 41, 59, 10, 9,118, +105,115,105,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111, +102,102, 95,105,110,118,108,105,110,101, 97,114, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,118, -105,115,105,102, 97, 99, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, - 50, 40,100,105,115,116, 47,108, 97,109,112,100,105,115,116, 44, 32, 48, 46, 48, 41, 41, 46,120, 59, 10,125, 10, 10,118,111,105, -100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,112,104,101,114,101, 40,102,108,111, 97,116, 32,108, - 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, - 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, - 97,116, 32,116, 61, 32,108, 97,109,112,100,105,115,116, 32, 45, 32,100,105,115,116, 59, 10, 10, 9,111,117,116,118,105,115,105, -102, 97, 99, 61, 32,118,105,115,105,102, 97, 99, 42,109, 97,120, 40,116, 44, 32, 48, 46, 48, 41, 47,108, 97,109,112,100,105,115, -116, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, 95, -115,113,117, 97,114,101, 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,109, 97,116, 52, 32,108, 97,109,112,105,109, - 97,116, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,112,114, 41, 10,123, 10, 9, -105,102, 40,100,111,116, 40,108,118, 44, 32,108, 97,109,112,118,101, 99, 41, 32, 62, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,118, -101, 99, 51, 32,108,118,114,111,116, 32, 61, 32, 40,108, 97,109,112,105,109, 97,116, 42,118,101, 99, 52, 40,108,118, 44, 32, 48, - 46, 48, 41, 41, 46,120,121,122, 59, 10, 9, 9,102,108,111, 97,116, 32,120, 32, 61, 32,109, 97,120, 40, 97, 98,115, 40,108,118, -114,111,116, 46,120, 47,108,118,114,111,116, 46,122, 41, 44, 32, 97, 98,115, 40,108,118,114,111,116, 46,121, 47,108,118,114,111, -116, 46,122, 41, 41, 59, 10, 10, 9, 9,105,110,112,114, 32, 61, 32, 49, 46, 48, 47,115,113,114,116, 40, 49, 46, 48, 32, 43, 32, -120, 42,120, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 10, 9, 9,105,110,112,114, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10, -118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, 95, 99,105,114, 99,108,101, - 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97, -116, 32,105,110,112,114, 41, 10,123, 10, 9,105,110,112,114, 32, 61, 32,100,111,116, 40,108,118, 44, 32,108, 97,109,112,118,101, - 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, - 40,102,108,111, 97,116, 32,115,112,111,116,115,105, 44, 32,102,108,111, 97,116, 32,115,112,111,116, 98,108, 44, 32,102,108,111, - 97,116, 32,105,110,112,114, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97, -116, 32,111,117,116,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,116, 32, 61, 32,115,112,111,116,115, -105, 59, 10, 10, 9,105,102, 40,105,110,112,114, 32, 60, 61, 32,116, 41, 32,123, 10, 9, 9,111,117,116,118,105,115,105,102, 97, - 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,116, 32, 61, 32,105,110,112,114, 32, 45, - 32,116, 59, 10, 10, 9, 9, 47, 42, 32,115,111,102,116, 32, 97,114,101, 97, 32, 42, 47, 10, 9, 9,105,102, 40,115,112,111,116, - 98,108, 32, 33, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,105,110,112,114, 32, 42, 61, 32,115,109,111,111,116,104,115,116,101,112, - 40, 48, 46, 48, 44, 32, 49, 46, 48, 44, 32,116, 47,115,112,111,116, 98,108, 41, 59, 10, 10, 9, 9,111,117,116,118,105,115,105, -102, 97, 99, 32, 61, 32,118,105,115,105,102, 97, 99, 42,105,110,112,114, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,108, - 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,118,105,115,105,102, - 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,111,117,116, -118,105,115,105,102, 97, 99, 32, 61, 32, 40,118,105,115,105,102, 97, 99, 32, 60, 32, 48, 46, 48, 48, 49, 41, 63, 32, 48, 46, 48, - 58, 32,118,105,115,105,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,118,105,101,119, 40,118,101, - 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,105,101,119, 41, 10,123, 10, 9, 47, 42, 32,104, 97,110,100, -108,101, 32,112,101,114,115,112,101, 99,116,105,118,101, 47,111,114,116,104,111,103,114, 97,112,104,105, 99, 32, 42, 47, 10, 9, -118,105,101,119, 32, 61, 32, 40,103,108, 95, 80,114,111,106,101, 99,116,105,111,110, 77, 97,116,114,105,120, 91, 51, 93, 91, 51, - 93, 32, 61, 61, 32, 48, 46, 48, 41, 63, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 41, 58, 32,118,101, 99, 51, 40, 48, - 46, 48, 44, 32, 48, 46, 48, 44, 32, 45, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,116, 97, -110,103,101,110,116, 95,118, 40,118,101, 99, 51, 32,108,118, 44, 32,118,101, 99, 51, 32,116, 97,110,103, 44, 32,111,117,116, 32, -118,101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,101, 99, 51, 32, 99, 32, 61, 32, 99,114,111,115,115, 40,108,118, 44, 32,116, - 97,110,103, 41, 59, 10, 9,118,101, 99, 51, 32,118,110,111,114, 32, 61, 32, 99,114,111,115,115, 40, 99, 44, 32,116, 97,110,103, - 41, 59, 10, 10, 9,118,110, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,118,110,111,114, 41, 59, 10,125, 10, 10,118, -111,105,100, 32,115,104, 97,100,101, 95,105,110,112, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108,118, 44, 32, -111,117,116, 32,102,108,111, 97,116, 32,105,110,112, 41, 10,123, 10, 9,105,110,112, 32, 61, 32,100,111,116, 40,118,110, 44, 32, -108,118, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,115, 95,110,111, 95,100,105,102,102,117,115,101, - 40,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118, -111,105,100, 32,115,104, 97,100,101, 95,105,115, 95,104,101,109,105, 40,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, 61, 32, 48, 46, 53, 42,105,110,112, 32, 43, 32, 48, 46, 53, - 59, 10,125, 10, 10,102,108,111, 97,116, 32, 97,114,101, 97, 95,108, 97,109,112, 95,101,110,101,114,103,121, 40,109, 97,116, 52, - 32, 97,114,101, 97, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,101, 99, 51, - 32,118,101, 99, 91, 52, 93, 44, 32, 99, 91, 52, 93, 59, 10, 9,102,108,111, 97,116, 32,114, 97,100, 91, 52, 93, 44, 32,102, 97, - 99, 59, 10, 9, 10, 9,118,101, 99, 91, 48, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114, -101, 97, 91, 48, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, 49, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, - 99,111, 32, 45, 32, 97,114,101, 97, 91, 49, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, 50, 93, 32, 61, 32,110,111,114, -109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 50, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, 51, - 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 51, 93, 46,120,121,122, 41, 59, - 10, 10, 9, 99, 91, 48, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 48, 93, - 44, 32,118,101, 99, 91, 49, 93, 41, 41, 59, 10, 9, 99, 91, 49, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114, -111,115,115, 40,118,101, 99, 91, 49, 93, 44, 32,118,101, 99, 91, 50, 93, 41, 41, 59, 10, 9, 99, 91, 50, 93, 32, 61, 32,110,111, -114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 50, 93, 44, 32,118,101, 99, 91, 51, 93, 41, 41, 59, 10, - 9, 99, 91, 51, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 51, 93, 44, 32, -118,101, 99, 91, 48, 93, 41, 41, 59, 10, 10, 9,114, 97,100, 91, 48, 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, - 99, 91, 48, 93, 44, 32,118,101, 99, 91, 49, 93, 41, 41, 59, 10, 9,114, 97,100, 91, 49, 93, 32, 61, 32, 97, 99,111,115, 40,100, -111,116, 40,118,101, 99, 91, 49, 93, 44, 32,118,101, 99, 91, 50, 93, 41, 41, 59, 10, 9,114, 97,100, 91, 50, 93, 32, 61, 32, 97, - 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 50, 93, 44, 32,118,101, 99, 91, 51, 93, 41, 41, 59, 10, 9,114, 97,100, 91, 51, - 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 51, 93, 44, 32,118,101, 99, 91, 48, 93, 41, 41, 59, 10, 10, - 9,102, 97, 99, 61, 32, 32,114, 97,100, 91, 48, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 48, 93, 41, 59, 10, 9,102, 97, - 99, 43, 61, 32,114, 97,100, 91, 49, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 49, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, - 32,114, 97,100, 91, 50, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 50, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, 32,114, 97, -100, 91, 51, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 51, 93, 41, 59, 10, 10, 9,114,101,116,117,114,110, 32,109, 97,120, - 40,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,110,112, 95, 97,114, -101, 97, 40,118,101, 99, 51, 32,112,111,115,105,116,105,111,110, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99,111, 44, 32,118, -101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,118,101, 99, 51, 32,118,110, 44, 32,109, 97,116, 52, 32, 97,114,101, 97, 44, - 32,102,108,111, 97,116, 32, 97,114,101, 97,115,105,122,101, 44, 32,102,108,111, 97,116, 32,107, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,105,110,112, 41, 10,123, 10, 9,118,101, 99, 51, 32, 99,111, 32, 61, 32,112,111,115,105,116,105,111,110, 59, 10, - 9,118,101, 99, 51, 32,118,101, 99, 32, 61, 32, 99,111, 32, 45, 32,108, 97,109,112, 99,111, 59, 10, 10, 9,105,102, 40,100,111, -116, 40,118,101, 99, 44, 32,108, 97,109,112,118,101, 99, 41, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,110,112, 32, 61, - 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,105,110,116,101,110,115, 32, - 61, 32, 97,114,101, 97, 95,108, 97,109,112, 95,101,110,101,114,103,121, 40, 97,114,101, 97, 44, 32, 99,111, 44, 32,118,110, 41, - 59, 10, 10, 9, 9,105,110,112, 32, 61, 32,112,111,119, 40,105,110,116,101,110,115, 42, 97,114,101, 97,115,105,122,101, 44, 32, -107, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115,101, 95,111,114,101, -110, 95,110, 97,121,101,114, 40,102,108,111, 97,116, 32,110,108, 44, 32,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, - 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104, 44, 32,111,117,116, 32,102,108,111, 97,116, - 32,105,115, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 43, 32,108, - 41, 59, 10, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,104, 41, 44, 32, 48, 46, - 48, 41, 59, 10, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, - 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,114,101, 97,108,110,108, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, - 10, 9,105,102, 40,114,101, 97,108,110,108, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, 59, - 10, 9,125, 10, 9,101,108,115,101, 32,105,102, 40,110,108, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, - 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,118,104, 32, 61, 32,109, 97,120, - 40,100,111,116, 40,118, 44, 32,104, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9,102,108,111, 97,116, 32, 76,105,116, 95, 65, 32, - 61, 32, 97, 99,111,115, 40,114,101, 97,108,110,108, 41, 59, 10, 9, 9,102,108,111, 97,116, 32, 86,105,101,119, 95, 65, 32, 61, - 32, 97, 99,111,115, 40,110,118, 41, 59, 10, 10, 9, 9,118,101, 99, 51, 32, 76,105,116, 95, 66, 32, 61, 32,110,111,114,109, 97, -108,105,122,101, 40,108, 32, 45, 32,114,101, 97,108,110,108, 42,110, 41, 59, 10, 9, 9,118,101, 99, 51, 32, 86,105,101,119, 95, - 66, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 45, 32,110,118, 42,110, 41, 59, 10, 10, 9, 9,102,108,111, 97, -116, 32,116, 32, 61, 32,109, 97,120, 40,100,111,116, 40, 76,105,116, 95, 66, 44, 32, 86,105,101,119, 95, 66, 41, 44, 32, 48, 46, - 48, 41, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 97, 44, 32, 98, 59, 10, 10, 9, 9,105,102, 40, 76,105,116, 95, 65, 32, 62, - 32, 86,105,101,119, 95, 65, 41, 32,123, 10, 9, 9, 9, 97, 32, 61, 32, 76,105,116, 95, 65, 59, 10, 9, 9, 9, 98, 32, 61, 32, - 86,105,101,119, 95, 65, 59, 10, 9, 9,125, 10, 9, 9,101,108,115,101, 32,123, 10, 9, 9, 9, 97, 32, 61, 32, 86,105,101,119, - 95, 65, 59, 10, 9, 9, 9, 98, 32, 61, 32, 76,105,116, 95, 65, 59, 10, 9, 9,125, 10, 10, 9, 9,102,108,111, 97,116, 32, 65, - 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 48, 46, 53, 42, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 47, 40, 40,114, -111,117,103,104, 42,114,111,117,103,104, 41, 32, 43, 32, 48, 46, 51, 51, 41, 41, 41, 59, 10, 9, 9,102,108,111, 97,116, 32, 66, - 32, 61, 32, 48, 46, 52, 53, 42, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 47, 40, 40,114,111,117,103,104, 42,114, -111,117,103,104, 41, 32, 43, 32, 48, 46, 48, 57, 41, 41, 59, 10, 10, 9, 9, 98, 32, 42, 61, 32, 48, 46, 57, 53, 59, 10, 9, 9, -105,115, 32, 61, 32,110,108, 42, 40, 65, 32, 43, 32, 40, 66, 32, 42, 32,116, 32, 42, 32,115,105,110, 40, 97, 41, 32, 42, 32,116, - 97,110, 40, 98, 41, 41, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115, -101, 95,116,111,111,110, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102, -108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,115,109,111,111,116,104, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,105,115, 41, 10,123, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32,100,111,116, 40,110, 44, 32,108, - 41, 59, 10, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,114,115,108,116, 41, 59, 10, 10, 9,105,102, - 40, 97,110,103, 32, 60, 32,115,105,122,101, 41, 32,105,115, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, - 97,110,103, 32, 62, 32, 40,115,105,122,101, 32, 43, 32,116,115,109,111,111,116,104, 41, 32,124,124, 32,116,115,109,111,111,116, -104, 32, 61, 61, 32, 48, 46, 48, 41, 32,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,115, 32, 61, 32, 49, - 46, 48, 32, 45, 32, 40, 40, 97,110,103, 32, 45, 32,115,105,122,101, 41, 47,116,115,109,111,111,116,104, 41, 59, 10,125, 10, 10, -118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115,101, 95,109,105,110,110, 97,101,114,116, 40,102,108,111, 97, -116, 32,110,108, 44, 32,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,100, 97,114,107, -110,101,115,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,102, 40,110,108, 32, 60, 61, 32, - 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9, -102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, 59, 10, - 10, 9, 9,105,102, 40,100, 97,114,107,110,101,115,115, 32, 60, 61, 32, 49, 46, 48, 41, 10, 9, 9, 9,105,115, 32, 61, 32,110, -108, 42,112,111,119, 40,109, 97,120, 40,110,118, 42,110,108, 44, 32, 48, 46, 49, 41, 44, 32,100, 97,114,107,110,101,115,115, 32, - 45, 32, 49, 46, 48, 41, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,105,115, 32, 61, 32,110,108, 42,112,111,119, 40, 49, 46, - 48, 48, 48, 49, 32, 45, 32,110,118, 44, 32,100, 97,114,107,110,101,115,115, 32, 45, 32, 49, 46, 48, 41, 59, 10, 9,125, 10,125, - 10, 10,102,108,111, 97,116, 32,102,114,101,115,110,101,108, 95,102, 97, 99, 40,118,101, 99, 51, 32,118,105,101,119, 44, 32,118, -101, 99, 51, 32,118,110, 44, 32,102,108,111, 97,116, 32,103,114, 97,100, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, - 10, 9,102,108,111, 97,116, 32,116, 49, 44, 32,116, 50, 59, 10, 9,102,108,111, 97,116, 32,102,102, 97, 99, 59, 10, 10, 9,105, -102, 40,102, 97, 99, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,102,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10, 9,125, 10, 9, -101,108,115,101, 32,123, 10, 9, 9,116, 49, 61, 32,100,111,116, 40,118,105,101,119, 44, 32,118,110, 41, 59, 10, 9, 9,105,102, - 40,116, 49, 62, 48, 46, 48, 41, 32, 32,116, 50, 61, 32, 49, 46, 48, 43,116, 49, 59, 10, 9, 9,101,108,115,101, 32,116, 50, 61, - 32, 49, 46, 48, 45,116, 49, 59, 10, 10, 9, 9,116, 50, 61, 32,103,114, 97,100, 32, 43, 32, 40, 49, 46, 48, 45,103,114, 97,100, - 41, 42,112,111,119, 40,116, 50, 44, 32,102, 97, 99, 41, 59, 10, 10, 9, 9,105,102, 40,116, 50, 60, 48, 46, 48, 41, 32,102,102, - 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40,116, 50, 62, 49, 46, 48, 41, 32,102,102, 97, 99, - 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,102,102, 97, 99, 32, 61, 32,116, 50, 59, 10, 9,125, 10, 10, 9,114, -101,116,117,114,110, 32,102,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115, -101, 95,102,114,101,115,110,101,108, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,118,101, 99, 51, - 32,118,105,101,119, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 95,105, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, 61, 32,102,114,101,115,110,101,108, 95,102, 97, 99, - 40,108,118, 44, 32,118,110, 44, 32,102, 97, 99, 95,105, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, - 97,100,101, 95, 99,117, 98,105, 99, 40,102,108,111, 97,116, 32,105,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117, -116,105,115, 41, 10,123, 10, 9,105,102, 40,105,115, 62, 48, 46, 48, 32, 38, 38, 32,105,115, 60, 49, 46, 48, 41, 10, 9, 9,111, -117,116,105,115, 61, 32,115,109,111,111,116,104,115,116,101,112, 40, 48, 46, 48, 44, 32, 49, 46, 48, 44, 32,105,115, 41, 59, 10, - 9,101,108,115,101, 10, 9, 9,111,117,116,105,115, 61, 32,105,115, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, - 95,118,105,115,105,102, 97, 99, 40,102,108,111, 97,116, 32,105, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, - 32,102,108,111, 97,116, 32,114,101,102,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,105, 41, 10,123, 10, 9, - 47, 42,105,102, 40,105, 32, 62, 32, 48, 46, 48, 41, 42, 47, 10, 9, 9,111,117,116,105, 32, 61, 32,109, 97,120, 40,105, 42,118, -105,115,105,102, 97, 99, 42,114,101,102,108, 44, 32, 48, 46, 48, 41, 59, 10, 9, 47, 42,101,108,115,101, 10, 9, 9,111,117,116, -105, 32, 61, 32,105, 59, 42, 47, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,116, 97,110,103,101,110,116, 95,118, - 95,115,112,101, 99, 40,118,101, 99, 51, 32,116, 97,110,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,110, 41, 10,123, 10, - 9,118,110, 32, 61, 32,116, 97,110,103, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 95,116,111, - 95,100,105,102,102,117,115,101, 40,102,108,111, 97,116, 32,105, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99,111,108, 44, 32, -118,101, 99, 51, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,105,102, - 40,105, 32, 62, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,105, 42,108, 97,109,112, 99,111,108, 42, 99, -111,108, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48, - 46, 48, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,104,101,109,105, 95,115,112,101, - 99, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,102, -108,111, 97,116, 32,115,112,101, 99, 44, 32,102,108,111, 97,116, 32,104, 97,114,100, 44, 32,102,108,111, 97,116, 32,118,105,115, -105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,116, 41, 10,123, 10, 9,108,118, 32, 43, 61, 32,118,105,101,119, - 59, 10, 9,108,118, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108,118, 41, 59, 10, 10, 9,116, 32, 61, 32,100,111,116, - 40,118,110, 44, 32,108,118, 41, 59, 10, 9,116, 32, 61, 32, 48, 46, 53, 42,116, 32, 43, 32, 48, 46, 53, 59, 10, 10, 9,116, 32, - 61, 32,118,105,115,105,102, 97, 99, 42,115,112,101, 99, 42,112,111,119, 40,116, 44, 32,104, 97,114,100, 41, 59, 10,125, 10, 10, -118,111,105,100, 32,115,104, 97,100,101, 95,112,104,111,110,103, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, +105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105,115,116, 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32,100,105, +115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95,105,110,118,115,113,117, + 97,114,101, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32, +111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32, +108, 97,109,112,100,105,115,116, 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32,100,105,115,116, 42,100,105,115,116, 41, 59, + 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95,115,108,105,100,101,114,115, 40,102,108, +111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,108,100, 49, 44, 32,102,108,111, 97,116, 32,108, +100, 50, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, + 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116,107,119, 32, 61, 32,108, 97,109,112,100,105,115, +116, 42,108, 97,109,112,100,105,115,116, 59, 10, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105,115,116, + 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32,108,100, 49, 42,100,105,115,116, 41, 59, 10, 9,118,105,115,105,102, 97, 99, + 32, 42, 61, 32,108, 97,109,112,100,105,115,116,107,119, 47, 40,108, 97,109,112,100,105,115,116,107,119, 32, 43, 32,108,100, 50, + 42,100,105,115,116, 42,100,105,115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102, +102, 95, 99,117,114,118,101, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,115, 97,109,112,108,101,114, 50, + 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97, +116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,116,101,120,116,117,114,101, 50, + 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40,100,105,115,116, 47,108, 97,109,112,100,105,115,116, 44, 32, + 48, 46, 48, 41, 41, 46,120, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, + 95,115,112,104,101,114,101, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105, +115,116, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, +118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,116, 61, 32,108, 97,109,112,100,105,115,116, 32, 45, 32, +100,105,115,116, 59, 10, 10, 9,111,117,116,118,105,115,105,102, 97, 99, 61, 32,118,105,115,105,102, 97, 99, 42,109, 97,120, 40, +116, 44, 32, 48, 46, 48, 41, 47,108, 97,109,112,100,105,115,116, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118, +105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, 95,115,113,117, 97,114,101, 40,118,101, 99, 51, 32,108, 97,109,112,118, +101, 99, 44, 32,109, 97,116, 52, 32,108, 97,109,112,105,109, 97,116, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32, +102,108,111, 97,116, 32,105,110,112,114, 41, 10,123, 10, 9,105,102, 40,100,111,116, 40,108,118, 44, 32,108, 97,109,112,118,101, + 99, 41, 32, 62, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,118,101, 99, 51, 32,108,118,114,111,116, 32, 61, 32, 40,108, 97,109,112, +105,109, 97,116, 42,118,101, 99, 52, 40,108,118, 44, 32, 48, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9, 9,102,108,111, 97,116, + 32,120, 32, 61, 32,109, 97,120, 40, 97, 98,115, 40,108,118,114,111,116, 46,120, 47,108,118,114,111,116, 46,122, 41, 44, 32, 97, + 98,115, 40,108,118,114,111,116, 46,121, 47,108,118,114,111,116, 46,122, 41, 41, 59, 10, 10, 9, 9,105,110,112,114, 32, 61, 32, + 49, 46, 48, 47,115,113,114,116, 40, 49, 46, 48, 32, 43, 32,120, 42,120, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 10, 9, 9, +105,110,112,114, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108, +105,116,121, 95,115,112,111,116, 95, 99,105,114, 99,108,101, 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,118,101, + 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,112,114, 41, 10,123, 10, 9,105,110,112,114, 32, 61, + 32,100,111,116, 40,108,118, 44, 32,108, 97,109,112,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95, +118,105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, 40,102,108,111, 97,116, 32,115,112,111,116,115,105, 44, 32,102,108, +111, 97,116, 32,115,112,111,116, 98,108, 44, 32,102,108,111, 97,116, 32,105,110,112,114, 44, 32,102,108,111, 97,116, 32,118,105, +115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9, +102,108,111, 97,116, 32,116, 32, 61, 32,115,112,111,116,115,105, 59, 10, 10, 9,105,102, 40,105,110,112,114, 32, 60, 61, 32,116, + 41, 32,123, 10, 9, 9,111,117,116,118,105,115,105,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, + 32,123, 10, 9, 9,116, 32, 61, 32,105,110,112,114, 32, 45, 32,116, 59, 10, 10, 9, 9, 47, 42, 32,115,111,102,116, 32, 97,114, +101, 97, 32, 42, 47, 10, 9, 9,105,102, 40,115,112,111,116, 98,108, 32, 33, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,105,110,112, +114, 32, 42, 61, 32,115,109,111,111,116,104,115,116,101,112, 40, 48, 46, 48, 44, 32, 49, 46, 48, 44, 32,116, 47,115,112,111,116, + 98,108, 41, 59, 10, 10, 9, 9,111,117,116,118,105,115,105,102, 97, 99, 32, 61, 32,118,105,115,105,102, 97, 99, 42,105,110,112, +114, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95, 99,108, + 97,109,112, 40,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, +118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,111,117,116,118,105,115,105,102, 97, 99, 32, 61, 32, 40,118,105,115,105,102, 97, + 99, 32, 60, 32, 48, 46, 48, 48, 49, 41, 63, 32, 48, 46, 48, 58, 32,118,105,115,105,102, 97, 99, 59, 10,125, 10, 10,118,111,105, +100, 32,115,104, 97,100,101, 95,118,105,101,119, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, +105,101,119, 41, 10,123, 10, 9, 47, 42, 32,104, 97,110,100,108,101, 32,112,101,114,115,112,101, 99,116,105,118,101, 47,111,114, +116,104,111,103,114, 97,112,104,105, 99, 32, 42, 47, 10, 9,118,105,101,119, 32, 61, 32, 40,103,108, 95, 80,114,111,106,101, 99, +116,105,111,110, 77, 97,116,114,105,120, 91, 51, 93, 91, 51, 93, 32, 61, 61, 32, 48, 46, 48, 41, 63, 32,110,111,114,109, 97,108, +105,122,101, 40, 99,111, 41, 58, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 45, 49, 46, 48, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,116, 97,110,103,101,110,116, 95,118, 40,118,101, 99, 51, 32,108,118, 44, 32, +118,101, 99, 51, 32,116, 97,110,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,101, 99, 51, 32, + 99, 32, 61, 32, 99,114,111,115,115, 40,108,118, 44, 32,116, 97,110,103, 41, 59, 10, 9,118,101, 99, 51, 32,118,110,111,114, 32, + 61, 32, 99,114,111,115,115, 40, 99, 44, 32,116, 97,110,103, 41, 59, 10, 10, 9,118,110, 32, 61, 32, 45,110,111,114,109, 97,108, +105,122,101, 40,118,110,111,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,110,112, 40,118,101, 99, + 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,112, 41, 10,123, 10, + 9,105,110,112, 32, 61, 32,100,111,116, 40,118,110, 44, 32,108,118, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100, +101, 95,105,115, 95,110,111, 95,100,105,102,102,117,115,101, 40,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, + 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,115, 95,104,101,109,105, + 40,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, + 61, 32, 48, 46, 53, 42,105,110,112, 32, 43, 32, 48, 46, 53, 59, 10,125, 10, 10,102,108,111, 97,116, 32, 97,114,101, 97, 95,108, + 97,109,112, 95,101,110,101,114,103,121, 40,109, 97,116, 52, 32, 97,114,101, 97, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,118, +101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,101, 99, 51, 32,118,101, 99, 91, 52, 93, 44, 32, 99, 91, 52, 93, 59, 10, 9,102, +108,111, 97,116, 32,114, 97,100, 91, 52, 93, 44, 32,102, 97, 99, 59, 10, 9, 10, 9,118,101, 99, 91, 48, 93, 32, 61, 32,110,111, +114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 48, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, + 49, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 49, 93, 46,120,121,122, 41, + 59, 10, 9,118,101, 99, 91, 50, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, + 50, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, 51, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, + 45, 32, 97,114,101, 97, 91, 51, 93, 46,120,121,122, 41, 59, 10, 10, 9, 99, 91, 48, 93, 32, 61, 32,110,111,114,109, 97,108,105, +122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 48, 93, 44, 32,118,101, 99, 91, 49, 93, 41, 41, 59, 10, 9, 99, 91, 49, 93, + 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 49, 93, 44, 32,118,101, 99, 91, 50, + 93, 41, 41, 59, 10, 9, 99, 91, 50, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, + 91, 50, 93, 44, 32,118,101, 99, 91, 51, 93, 41, 41, 59, 10, 9, 99, 91, 51, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, + 40, 99,114,111,115,115, 40,118,101, 99, 91, 51, 93, 44, 32,118,101, 99, 91, 48, 93, 41, 41, 59, 10, 10, 9,114, 97,100, 91, 48, + 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 48, 93, 44, 32,118,101, 99, 91, 49, 93, 41, 41, 59, 10, 9, +114, 97,100, 91, 49, 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 49, 93, 44, 32,118,101, 99, 91, 50, 93, + 41, 41, 59, 10, 9,114, 97,100, 91, 50, 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 50, 93, 44, 32,118, +101, 99, 91, 51, 93, 41, 41, 59, 10, 9,114, 97,100, 91, 51, 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, + 51, 93, 44, 32,118,101, 99, 91, 48, 93, 41, 41, 59, 10, 10, 9,102, 97, 99, 61, 32, 32,114, 97,100, 91, 48, 93, 42,100,111,116, + 40,118,110, 44, 32, 99, 91, 48, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, 32,114, 97,100, 91, 49, 93, 42,100,111,116, 40,118,110, + 44, 32, 99, 91, 49, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, 32,114, 97,100, 91, 50, 93, 42,100,111,116, 40,118,110, 44, 32, 99, + 91, 50, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, 32,114, 97,100, 91, 51, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 51, 93, + 41, 59, 10, 10, 9,114,101,116,117,114,110, 32,109, 97,120, 40,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111, +105,100, 32,115,104, 97,100,101, 95,105,110,112, 95, 97,114,101, 97, 40,118,101, 99, 51, 32,112,111,115,105,116,105,111,110, 44, + 32,118,101, 99, 51, 32,108, 97,109,112, 99,111, 44, 32,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,118,101, 99, 51, + 32,118,110, 44, 32,109, 97,116, 52, 32, 97,114,101, 97, 44, 32,102,108,111, 97,116, 32, 97,114,101, 97,115,105,122,101, 44, 32, +102,108,111, 97,116, 32,107, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,112, 41, 10,123, 10, 9,118,101, 99, 51, 32, + 99,111, 32, 61, 32,112,111,115,105,116,105,111,110, 59, 10, 9,118,101, 99, 51, 32,118,101, 99, 32, 61, 32, 99,111, 32, 45, 32, +108, 97,109,112, 99,111, 59, 10, 10, 9,105,102, 40,100,111,116, 40,118,101, 99, 44, 32,108, 97,109,112,118,101, 99, 41, 32, 60, + 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,110,112, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, + 9, 9,102,108,111, 97,116, 32,105,110,116,101,110,115, 32, 61, 32, 97,114,101, 97, 95,108, 97,109,112, 95,101,110,101,114,103, +121, 40, 97,114,101, 97, 44, 32, 99,111, 44, 32,118,110, 41, 59, 10, 10, 9, 9,105,110,112, 32, 61, 32,112,111,119, 40,105,110, +116,101,110,115, 42, 97,114,101, 97,115,105,122,101, 44, 32,107, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, + 97,100,101, 95,100,105,102,102,117,115,101, 95,111,114,101,110, 95,110, 97,121,101,114, 40,102,108,111, 97,116, 32,110,108, 44, + 32,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,114, +111,117,103,104, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32, +110,111,114,109, 97,108,105,122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,109, 97, +120, 40,100,111,116, 40,110, 44, 32,104, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, + 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,114,101, 97,108,110, +108, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, 10, 9,105,102, 40,114,101, 97,108,110,108, 32, 60, 32, 48, 46, 48, + 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,105,102, 40,110,108, 32, 60, + 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, + 9,102,108,111, 97,116, 32,118,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,118, 44, 32,104, 41, 44, 32, 48, 46, 48, 41, 59, + 10, 9, 9,102,108,111, 97,116, 32, 76,105,116, 95, 65, 32, 61, 32, 97, 99,111,115, 40,114,101, 97,108,110,108, 41, 59, 10, 9, + 9,102,108,111, 97,116, 32, 86,105,101,119, 95, 65, 32, 61, 32, 97, 99,111,115, 40,110,118, 41, 59, 10, 10, 9, 9,118,101, 99, + 51, 32, 76,105,116, 95, 66, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, 32, 45, 32,114,101, 97,108,110,108, 42,110, + 41, 59, 10, 9, 9,118,101, 99, 51, 32, 86,105,101,119, 95, 66, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 45, + 32,110,118, 42,110, 41, 59, 10, 10, 9, 9,102,108,111, 97,116, 32,116, 32, 61, 32,109, 97,120, 40,100,111,116, 40, 76,105,116, + 95, 66, 44, 32, 86,105,101,119, 95, 66, 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 97, 44, 32, 98, + 59, 10, 10, 9, 9,105,102, 40, 76,105,116, 95, 65, 32, 62, 32, 86,105,101,119, 95, 65, 41, 32,123, 10, 9, 9, 9, 97, 32, 61, + 32, 76,105,116, 95, 65, 59, 10, 9, 9, 9, 98, 32, 61, 32, 86,105,101,119, 95, 65, 59, 10, 9, 9,125, 10, 9, 9,101,108,115, +101, 32,123, 10, 9, 9, 9, 97, 32, 61, 32, 86,105,101,119, 95, 65, 59, 10, 9, 9, 9, 98, 32, 61, 32, 76,105,116, 95, 65, 59, + 10, 9, 9,125, 10, 10, 9, 9,102,108,111, 97,116, 32, 65, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 48, 46, 53, 42, 40, 40,114, +111,117,103,104, 42,114,111,117,103,104, 41, 47, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 32, 43, 32, 48, 46, 51, + 51, 41, 41, 41, 59, 10, 9, 9,102,108,111, 97,116, 32, 66, 32, 61, 32, 48, 46, 52, 53, 42, 40, 40,114,111,117,103,104, 42,114, +111,117,103,104, 41, 47, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 32, 43, 32, 48, 46, 48, 57, 41, 41, 59, 10, 10, + 9, 9, 98, 32, 42, 61, 32, 48, 46, 57, 53, 59, 10, 9, 9,105,115, 32, 61, 32,110,108, 42, 40, 65, 32, 43, 32, 40, 66, 32, 42, + 32,116, 32, 42, 32,115,105,110, 40, 97, 41, 32, 42, 32,116, 97,110, 40, 98, 41, 41, 41, 59, 10, 9,125, 10,125, 10, 10,118,111, +105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115,101, 95,116,111,111,110, 40,118,101, 99, 51, 32,110, 44, 32,118,101, + 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32, +116,115,109,111,111,116,104, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,102,108,111, 97,116, 32, +114,115,108,116, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, + 99,111,115, 40,114,115,108,116, 41, 59, 10, 10, 9,105,102, 40, 97,110,103, 32, 60, 32,115,105,122,101, 41, 32,105,115, 32, 61, + 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 97,110,103, 32, 62, 32, 40,115,105,122,101, 32, 43, 32,116,115,109, +111,111,116,104, 41, 32,124,124, 32,116,115,109,111,111,116,104, 32, 61, 61, 32, 48, 46, 48, 41, 32,105,115, 32, 61, 32, 48, 46, + 48, 59, 10, 9,101,108,115,101, 32,105,115, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 40, 97,110,103, 32, 45, 32,115,105,122,101, + 41, 47,116,115,109,111,111,116,104, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115, +101, 95,109,105,110,110, 97,101,114,116, 40,102,108,111, 97,116, 32,110,108, 44, 32,118,101, 99, 51, 32,110, 44, 32,118,101, 99, + 51, 32,118, 44, 32,102,108,111, 97,116, 32,100, 97,114,107,110,101,115,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105, +115, 41, 10,123, 10, 9,105,102, 40,110,108, 32, 60, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, + 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111, +116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9, 9,105,102, 40,100, 97,114,107,110,101,115,115, 32, 60, 61, + 32, 49, 46, 48, 41, 10, 9, 9, 9,105,115, 32, 61, 32,110,108, 42,112,111,119, 40,109, 97,120, 40,110,118, 42,110,108, 44, 32, + 48, 46, 49, 41, 44, 32,100, 97,114,107,110,101,115,115, 32, 45, 32, 49, 46, 48, 41, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, + 9,105,115, 32, 61, 32,110,108, 42,112,111,119, 40, 49, 46, 48, 48, 48, 49, 32, 45, 32,110,118, 44, 32,100, 97,114,107,110,101, +115,115, 32, 45, 32, 49, 46, 48, 41, 59, 10, 9,125, 10,125, 10, 10,102,108,111, 97,116, 32,102,114,101,115,110,101,108, 95,102, + 97, 99, 40,118,101, 99, 51, 32,118,105,101,119, 44, 32,118,101, 99, 51, 32,118,110, 44, 32,102,108,111, 97,116, 32,103,114, 97, +100, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,116, 49, 44, 32,116, 50, 59, 10, 9, +102,108,111, 97,116, 32,102,102, 97, 99, 59, 10, 10, 9,105,102, 40,102, 97, 99, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,102, +102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,116, 49, 61, 32,100,111,116, 40, +118,105,101,119, 44, 32,118,110, 41, 59, 10, 9, 9,105,102, 40,116, 49, 62, 48, 46, 48, 41, 32, 32,116, 50, 61, 32, 49, 46, 48, + 43,116, 49, 59, 10, 9, 9,101,108,115,101, 32,116, 50, 61, 32, 49, 46, 48, 45,116, 49, 59, 10, 10, 9, 9,116, 50, 61, 32,103, +114, 97,100, 32, 43, 32, 40, 49, 46, 48, 45,103,114, 97,100, 41, 42,112,111,119, 40,116, 50, 44, 32,102, 97, 99, 41, 59, 10, 10, + 9, 9,105,102, 40,116, 50, 60, 48, 46, 48, 41, 32,102,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,101,108,115,101, 32, +105,102, 40,116, 50, 62, 49, 46, 48, 41, 32,102,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,102,102, + 97, 99, 32, 61, 32,116, 50, 59, 10, 9,125, 10, 10, 9,114,101,116,117,114,110, 32,102,102, 97, 99, 59, 10,125, 10, 10,118,111, +105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115,101, 95,102,114,101,115,110,101,108, 40,118,101, 99, 51, 32,118,110, + 44, 32,118,101, 99, 51, 32,108,118, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 95, +105, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105, +115, 32, 61, 32,102,114,101,115,110,101,108, 95,102, 97, 99, 40,108,118, 44, 32,118,110, 44, 32,102, 97, 99, 95,105, 44, 32,102, + 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 99,117, 98,105, 99, 40,102,108,111, 97,116, 32,105, +115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,105,115, 41, 10,123, 10, 9,105,102, 40,105,115, 62, 48, 46, 48, + 32, 38, 38, 32,105,115, 60, 49, 46, 48, 41, 10, 9, 9,111,117,116,105,115, 61, 32,115,109,111,111,116,104,115,116,101,112, 40, + 48, 46, 48, 44, 32, 49, 46, 48, 44, 32,105,115, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,105,115, 61, 32,105,115, + 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,118,105,115,105,102, 97, 99, 40,102,108,111, 97,116, 32,105, 44, + 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,102,108,111, 97,116, 32,114,101,102,108, 44, 32,111,117,116, 32, +102,108,111, 97,116, 32,111,117,116,105, 41, 10,123, 10, 9, 47, 42,105,102, 40,105, 32, 62, 32, 48, 46, 48, 41, 42, 47, 10, 9, + 9,111,117,116,105, 32, 61, 32,109, 97,120, 40,105, 42,118,105,115,105,102, 97, 99, 42,114,101,102,108, 44, 32, 48, 46, 48, 41, + 59, 10, 9, 47, 42,101,108,115,101, 10, 9, 9,111,117,116,105, 32, 61, 32,105, 59, 42, 47, 10,125, 10, 10,118,111,105,100, 32, +115,104, 97,100,101, 95,116, 97,110,103,101,110,116, 95,118, 95,115,112,101, 99, 40,118,101, 99, 51, 32,116, 97,110,103, 44, 32, +111,117,116, 32,118,101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,110, 32, 61, 32,116, 97,110,103, 59, 10,125, 10, 10,118,111, +105,100, 32,115,104, 97,100,101, 95, 97,100,100, 95,116,111, 95,100,105,102,102,117,115,101, 40,102,108,111, 97,116, 32,105, 44, + 32,118,101, 99, 51, 32,108, 97,109,112, 99,111,108, 44, 32,118,101, 99, 51, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, + 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,105,102, 40,105, 32, 62, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111, +108, 32, 61, 32,105, 42,108, 97,109,112, 99,111,108, 42, 99,111,108, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111, +108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, + 32,115,104, 97,100,101, 95,104,101,109,105, 95,115,112,101, 99, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108, +118, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,102,108,111, 97,116, 32,115,112,101, 99, 44, 32,102,108,111, 97,116, 32, +104, 97,114,100, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,116, + 41, 10,123, 10, 9,108,118, 32, 43, 61, 32,118,105,101,119, 59, 10, 9,108,118, 32, 61, 32,110,111,114,109, 97,108,105,122,101, + 40,108,118, 41, 59, 10, 10, 9,116, 32, 61, 32,100,111,116, 40,118,110, 44, 32,108,118, 41, 59, 10, 9,116, 32, 61, 32, 48, 46, + 53, 42,116, 32, 43, 32, 48, 46, 53, 59, 10, 10, 9,116, 32, 61, 32,118,105,115,105,102, 97, 99, 42,115,112,101, 99, 42,112,111, +119, 40,116, 44, 32,104, 97,114,100, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,112,104,111,110,103, 95, +115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, + 97,116, 32,104, 97,114,100, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118, +101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, + 32,114,115,108,116, 32, 61, 32,109, 97,120, 40,100,111,116, 40,104, 44, 32,110, 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9,115, +112,101, 99,102, 97, 99, 32, 61, 32,112,111,119, 40,114,115,108,116, 44, 32,104, 97,114,100, 41, 59, 10,125, 10, 10,118,111,105, +100, 32,115,104, 97,100,101, 95, 99,111,111,107,116,111,114,114, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,104, 97,114,100, 44, 32,111,117,116, 32,102,108, 111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105, -122,101, 40,108, 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32,109, 97,120, 40,100,111,116, - 40,104, 44, 32,110, 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9,115,112,101, 99,102, 97, 99, 32, 61, 32,112,111,119, 40,114,115, -108,116, 44, 32,104, 97,114,100, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 99,111,111,107,116,111,114, -114, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102, -108,111, 97,116, 32,104, 97,114,100, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, - 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9,102,108,111, - 97,116, 32,110,104, 32, 61, 32,100,111,116, 40,110, 44, 32,104, 41, 59, 10, 10, 9,105,102, 40,110,104, 32, 60, 32, 48, 46, 48, - 41, 32,123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, - 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, - 59, 10, 9, 9,102,108,111, 97,116, 32,105, 32, 61, 32,112,111,119, 40,110,104, 44, 32,104, 97,114,100, 41, 59, 10, 10, 9, 9, -105, 32, 61, 32,105, 47, 40, 48, 46, 49, 43,110,118, 41, 59, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32,105, 59, 10, 9, -125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 98,108,105,110,110, 95,115,112,101, 99, 40,118,101, 99, 51, 32, -110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,114,101,102,114, 97, 99, 44, - 32,102,108,111, 97,116, 32,115,112,101, 99, 95,112,111,119,101,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, - 99,102, 97, 99, 41, 10,123, 10, 9,105,102, 40,114,101,102,114, 97, 99, 32, 60, 32, 49, 46, 48, 41, 32,123, 10, 9, 9,115,112, -101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,105,102, 40,115,112,101, 99, 95,112,111, -119,101,114, 32, 61, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, -125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, 40,115,112,101, 99, 95,112,111,119,101,114, 60, 49, 48, 48, 46, 48, 41, - 10, 9, 9, 9,115,112,101, 99, 95,112,111,119,101,114, 61, 32,115,113,114,116, 40, 49, 46, 48, 47,115,112,101, 99, 95,112,111, -119,101,114, 41, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,115,112,101, 99, 95,112,111,119,101,114, 61, 32, 49, 48, 46, 48, - 47,115,112,101, 99, 95,112,111,119,101,114, 59, 10, 10, 9, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105, -122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,100,111,116, 40,110, 44, 32,104, - 41, 59, 10, 9, 9,105,102, 40,110,104, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, - 32, 48, 46, 48, 59, 10, 9, 9,125, 10, 9, 9,101,108,115,101, 32,123, 10, 9, 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, - 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 49, 41, 59, 10, 9, 9, 9,102,108,111, 97,116, 32, -110,108, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, 9, 9, 9,105,102, 40,110,108, 32, 60, 61, 32, 48, 46, 48, 49, - 41, 32,123, 10, 9, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9, 9,125, 10, 9, 9, 9,101, -108,115,101, 32,123, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,118,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,118, 44, 32, -104, 41, 44, 32, 48, 46, 48, 49, 41, 59, 10, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 97, 32, 61, 32, 49, 46, 48, 59, 10, 9, - 9, 9, 9,102,108,111, 97,116, 32, 98, 32, 61, 32, 40, 50, 46, 48, 42,110,104, 42,110,118, 41, 47,118,104, 59, 10, 9, 9, 9, - 9,102,108,111, 97,116, 32, 99, 32, 61, 32, 40, 50, 46, 48, 42,110,104, 42,110,108, 41, 47,118,104, 59, 10, 10, 9, 9, 9, 9, -102,108,111, 97,116, 32,103, 32, 61, 32, 48, 46, 48, 59, 10, 10, 9, 9, 9, 9,105,102, 40, 97, 32, 60, 32, 98, 32, 38, 38, 32, - 97, 32, 60, 32, 99, 41, 32,103, 32, 61, 32, 97, 59, 10, 9, 9, 9, 9,101,108,115,101, 32,105,102, 40, 98, 32, 60, 32, 97, 32, - 38, 38, 32, 98, 32, 60, 32, 99, 41, 32,103, 32, 61, 32, 98, 59, 10, 9, 9, 9, 9,101,108,115,101, 32,105,102, 40, 99, 32, 60, - 32, 97, 32, 38, 38, 32, 99, 32, 60, 32, 98, 41, 32,103, 32, 61, 32, 99, 59, 10, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,112, - 32, 61, 32,115,113,114,116, 40, 40, 40,114,101,102,114, 97, 99, 32, 42, 32,114,101,102,114, 97, 99, 41, 43, 40,118,104, 42,118, -104, 41, 45, 49, 46, 48, 41, 41, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,102, 32, 61, 32, 40, 40, 40,112, 45,118,104, 41, - 42, 40,112, 45,118,104, 41, 41, 47, 40, 40,112, 43,118,104, 41, 42, 40,112, 43,118,104, 41, 41, 41, 42, 40, 49, 46, 48, 43, 40, - 40, 40, 40,118,104, 42, 40,112, 43,118,104, 41, 41, 45, 49, 46, 48, 41, 42, 40, 40,118,104, 42, 40,112, 43,118,104, 41, 41, 45, - 49, 46, 48, 41, 41, 47, 40, 40, 40,118,104, 42, 40,112, 45,118,104, 41, 41, 43, 49, 46, 48, 41, 42, 40, 40,118,104, 42, 40,112, - 45,118,104, 41, 41, 43, 49, 46, 48, 41, 41, 41, 41, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, - 99,111,115, 40,110,104, 41, 59, 10, 10, 9, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32,109, 97,120, 40,102, 42,103, 42, -101,120,112, 95, 98,108,101,110,100,101,114, 40, 40, 45, 40, 97,110,103, 42, 97,110,103, 41, 47, 40, 50, 46, 48, 42,115,112,101, - 99, 95,112,111,119,101,114, 42,115,112,101, 99, 95,112,111,119,101,114, 41, 41, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9, 9, -125, 10, 9, 9,125, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,119, 97,114,100,105,115,111, 95,115, -112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97, -116, 32,114,109,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, - 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, 32,110, -104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,104, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102,108,111, 97, -116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102, -108,111, 97,116, 32,110,108, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,108, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, - 10, 9,102,108,111, 97,116, 32, 97,110,103,108,101, 32, 61, 32,116, 97,110, 40, 97, 99,111,115, 40,110,104, 41, 41, 59, 10, 9, -102,108,111, 97,116, 32, 97,108,112,104, 97, 32, 61, 32,109, 97,120, 40,114,109,115, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 10, - 9,115,112,101, 99,102, 97, 99, 61, 32,110,108, 32, 42, 32, 40, 49, 46, 48, 47, 40, 52, 46, 48, 42, 77, 95, 80, 73, 42, 97,108, -112,104, 97, 42, 97,108,112,104, 97, 41, 41, 42, 40,101,120,112, 95, 98,108,101,110,100,101,114, 40, 45, 40, 97,110,103,108,101, - 42, 97,110,103,108,101, 41, 47, 40, 97,108,112,104, 97, 42, 97,108,112,104, 97, 41, 41, 47, 40,115,113,114,116, 40,110,118, 42, -110,108, 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,116,111,111,110, 95,115,112,101, 99, 40,118, -101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,115,105,122, -101, 44, 32,102,108,111, 97,116, 32,116,115,109,111,111,116,104, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99, -102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, 32, 43, 32,118, - 41, 59, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32,100,111,116, 40,104, 44, 32,110, 41, 59, 10, 9,102,108,111, - 97,116, 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,114,115,108,116, 41, 59, 10, 10, 9,105,102, 40, 97,110,103, 32, 60, 32, -115,105,122,101, 41, 32,114,115,108,116, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 97,110,103, 32, 62, - 61, 32, 40,115,105,122,101, 32, 43, 32,116,115,109,111,111,116,104, 41, 32,124,124, 32,116,115,109,111,111,116,104, 32, 61, 61, - 32, 48, 46, 48, 41, 32,114,115,108,116, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,114,115,108,116, 32, 61, 32, 49, - 46, 48, 32, 45, 32, 40, 40, 97,110,103, 32, 45, 32,115,105,122,101, 41, 47,116,115,109,111,111,116,104, 41, 59, 10, 10, 9,115, -112,101, 99,102, 97, 99, 32, 61, 32,114,115,108,116, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,115,112,101, - 99, 95, 97,114,101, 97, 95,105,110,112, 40,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 44, 32,102,108,111, 97,116, 32, -105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,111,117, -116,115,112,101, 99,102, 97, 99, 32, 61, 32,115,112,101, 99,102, 97, 99, 42,105,110,112, 59, 10,125, 10, 10,118,111,105,100, 32, -115,104, 97,100,101, 95,115,112,101, 99, 95,116, 40,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,102,108,111, 97, -116, 32,115,112,101, 99, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,102,108,111, 97,116, 32,115,112,101, - 99,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,116, 41, 10,123, 10, 9,116, 32, 61, 32,115,104, 97,100,102, 97, - 99, 42,115,112,101, 99, 42,118,105,115,105,102, 97, 99, 42,115,112,101, 99,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32, -115,104, 97,100,101, 95, 97,100,100, 95,115,112,101, 99, 40,102,108,111, 97,116, 32,116, 44, 32,118,101, 99, 51, 32,108, 97,109, -112, 99,111,108, 44, 32,118,101, 99, 51, 32,115,112,101, 99, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, - 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,116, 42,108, 97,109,112, 99,111,108, 42,115,112,101, 99, 99, -111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, +122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,100,111,116, 40,110, 44, 32,104, 41, + 59, 10, 10, 9,105,102, 40,110,104, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, + 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40, +100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9,102,108,111, 97,116, 32,105, 32, 61, 32,112,111,119, + 40,110,104, 44, 32,104, 97,114,100, 41, 59, 10, 10, 9, 9,105, 32, 61, 32,105, 47, 40, 48, 46, 49, 43,110,118, 41, 59, 10, 9, + 9,115,112,101, 99,102, 97, 99, 32, 61, 32,105, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 98, +108,105,110,110, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, + 44, 32,102,108,111, 97,116, 32,114,101,102,114, 97, 99, 44, 32,102,108,111, 97,116, 32,115,112,101, 99, 95,112,111,119,101,114, + 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,105,102, 40,114,101,102,114, 97, + 99, 32, 60, 32, 49, 46, 48, 41, 32,123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9, +101,108,115,101, 32,105,102, 40,115,112,101, 99, 95,112,111,119,101,114, 32, 61, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,115, +112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, 40,115,112, +101, 99, 95,112,111,119,101,114, 60, 49, 48, 48, 46, 48, 41, 10, 9, 9, 9,115,112,101, 99, 95,112,111,119,101,114, 61, 32,115, +113,114,116, 40, 49, 46, 48, 47,115,112,101, 99, 95,112,111,119,101,114, 41, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,115, +112,101, 99, 95,112,111,119,101,114, 61, 32, 49, 48, 46, 48, 47,115,112,101, 99, 95,112,111,119,101,114, 59, 10, 10, 9, 9,118, +101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9, 9,102,108,111, 97, +116, 32,110,104, 32, 61, 32,100,111,116, 40,110, 44, 32,104, 41, 59, 10, 9, 9,105,102, 40,110,104, 32, 60, 32, 48, 46, 48, 41, + 32,123, 10, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,125, 10, 9, 9,101,108,115,101, 32, +123, 10, 9, 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, + 46, 48, 49, 41, 59, 10, 9, 9, 9,102,108,111, 97,116, 32,110,108, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, 9, + 9, 9,105,102, 40,110,108, 32, 60, 61, 32, 48, 46, 48, 49, 41, 32,123, 10, 9, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, + 32, 48, 46, 48, 59, 10, 9, 9, 9,125, 10, 9, 9, 9,101,108,115,101, 32,123, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,118, +104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,118, 44, 32,104, 41, 44, 32, 48, 46, 48, 49, 41, 59, 10, 10, 9, 9, 9, 9,102, +108,111, 97,116, 32, 97, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 98, 32, 61, 32, 40, 50, 46, 48, + 42,110,104, 42,110,118, 41, 47,118,104, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 99, 32, 61, 32, 40, 50, 46, 48, 42,110, +104, 42,110,108, 41, 47,118,104, 59, 10, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,103, 32, 61, 32, 48, 46, 48, 59, 10, 10, 9, + 9, 9, 9,105,102, 40, 97, 32, 60, 32, 98, 32, 38, 38, 32, 97, 32, 60, 32, 99, 41, 32,103, 32, 61, 32, 97, 59, 10, 9, 9, 9, + 9,101,108,115,101, 32,105,102, 40, 98, 32, 60, 32, 97, 32, 38, 38, 32, 98, 32, 60, 32, 99, 41, 32,103, 32, 61, 32, 98, 59, 10, + 9, 9, 9, 9,101,108,115,101, 32,105,102, 40, 99, 32, 60, 32, 97, 32, 38, 38, 32, 99, 32, 60, 32, 98, 41, 32,103, 32, 61, 32, + 99, 59, 10, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,112, 32, 61, 32,115,113,114,116, 40, 40, 40,114,101,102,114, 97, 99, 32, + 42, 32,114,101,102,114, 97, 99, 41, 43, 40,118,104, 42,118,104, 41, 45, 49, 46, 48, 41, 41, 59, 10, 9, 9, 9, 9,102,108,111, + 97,116, 32,102, 32, 61, 32, 40, 40, 40,112, 45,118,104, 41, 42, 40,112, 45,118,104, 41, 41, 47, 40, 40,112, 43,118,104, 41, 42, + 40,112, 43,118,104, 41, 41, 41, 42, 40, 49, 46, 48, 43, 40, 40, 40, 40,118,104, 42, 40,112, 43,118,104, 41, 41, 45, 49, 46, 48, + 41, 42, 40, 40,118,104, 42, 40,112, 43,118,104, 41, 41, 45, 49, 46, 48, 41, 41, 47, 40, 40, 40,118,104, 42, 40,112, 45,118,104, + 41, 41, 43, 49, 46, 48, 41, 42, 40, 40,118,104, 42, 40,112, 45,118,104, 41, 41, 43, 49, 46, 48, 41, 41, 41, 41, 59, 10, 9, 9, + 9, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,110,104, 41, 59, 10, 10, 9, 9, 9, 9,115,112,101, + 99,102, 97, 99, 32, 61, 32,109, 97,120, 40,102, 42,103, 42,101,120,112, 95, 98,108,101,110,100,101,114, 40, 40, 45, 40, 97,110, +103, 42, 97,110,103, 41, 47, 40, 50, 46, 48, 42,115,112,101, 99, 95,112,111,119,101,114, 42,115,112,101, 99, 95,112,111,119,101, +114, 41, 41, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9, 9,125, 10, 9, 9,125, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32, +115,104, 97,100,101, 95,119, 97,114,100,105,115,111, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32, +108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,114,109,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, +115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, + 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,104, 41, + 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, + 32,118, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102,108,111, 97,116, 32,110,108, 32, 61, 32,109, 97,120, 40,100,111,116, + 40,110, 44, 32,108, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,110,103,108,101, 32, 61, 32,116, + 97,110, 40, 97, 99,111,115, 40,110,104, 41, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,108,112,104, 97, 32, 61, 32,109, 97,120, + 40,114,109,115, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 10, 9,115,112,101, 99,102, 97, 99, 61, 32,110,108, 32, 42, 32, 40, 49, + 46, 48, 47, 40, 52, 46, 48, 42, 77, 95, 80, 73, 42, 97,108,112,104, 97, 42, 97,108,112,104, 97, 41, 41, 42, 40,101,120,112, 95, + 98,108,101,110,100,101,114, 40, 45, 40, 97,110,103,108,101, 42, 97,110,103,108,101, 41, 47, 40, 97,108,112,104, 97, 42, 97,108, +112,104, 97, 41, 41, 47, 40,115,113,114,116, 40,110,118, 42,110,108, 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, + 97,100,101, 95,116,111,111,110, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, + 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,115,109,111,111,116,104, 44, + 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32, +110,111,114,109, 97,108,105,122,101, 40,108, 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32, +100,111,116, 40,104, 44, 32,110, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,114,115,108, +116, 41, 59, 10, 10, 9,105,102, 40, 97,110,103, 32, 60, 32,115,105,122,101, 41, 32,114,115,108,116, 32, 61, 32, 49, 46, 48, 59, + 10, 9,101,108,115,101, 32,105,102, 40, 97,110,103, 32, 62, 61, 32, 40,115,105,122,101, 32, 43, 32,116,115,109,111,111,116,104, + 41, 32,124,124, 32,116,115,109,111,111,116,104, 32, 61, 61, 32, 48, 46, 48, 41, 32,114,115,108,116, 32, 61, 32, 48, 46, 48, 59, + 10, 9,101,108,115,101, 32,114,115,108,116, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 40, 97,110,103, 32, 45, 32,115,105,122,101, + 41, 47,116,115,109,111,111,116,104, 41, 59, 10, 10, 9,115,112,101, 99,102, 97, 99, 32, 61, 32,114,115,108,116, 59, 10,125, 10, + 10,118,111,105,100, 32,115,104, 97,100,101, 95,115,112,101, 99, 95, 97,114,101, 97, 95,105,110,112, 40,102,108,111, 97,116, 32, +115,112,101, 99,102, 97, 99, 44, 32,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117, +116,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,111,117,116,115,112,101, 99,102, 97, 99, 32, 61, 32,115,112,101, 99,102, 97, + 99, 42,105,110,112, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,115,112,101, 99, 95,116, 40,102,108,111, 97, +116, 32,115,104, 97,100,102, 97, 99, 44, 32,102,108,111, 97,116, 32,115,112,101, 99, 44, 32,102,108,111, 97,116, 32,118,105,115, +105,102, 97, 99, 44, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,116, + 41, 10,123, 10, 9,116, 32, 61, 32,115,104, 97,100,102, 97, 99, 42,115,112,101, 99, 42,118,105,115,105,102, 97, 99, 42,115,112, +101, 99,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 95,115,112,101, 99, 40,102,108, +111, 97,116, 32,116, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99,111,108, 44, 32,118,101, 99, 51, 32,115,112,101, 99, 99,111, +108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, +116, 42,108, 97,109,112, 99,111,108, 42,115,112,101, 99, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, + 95, 97,100,100, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118, +101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 32, 43, 32, 99, +111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109, 97,100,100, 40,118,101, 99, 52, 32, 99,111,108, + 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, + 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32, 99,111,108, 49, 42, + 99,111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 95, 99,108, 97,109,112,101,100, 40, +118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111, +117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 32, 43, 32,109, 97,120, 40, 99,111, +108, 50, 44, 32,118,101, 99, 52, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109, 97,100,100, 95, 99,108, 97,109,112,101,100, 40,118,101, 99, 52, 32, 99, +111,108, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, + 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32,109, 97,120, + 40, 99,111,108, 49, 42, 99,111,108, 50, 44, 32,118,101, 99, 52, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, + 48, 46, 48, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109, 97,100,100,102, 40,118,101, 99, 52, 32, + 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,111,117,116, 32,118,101, 99, + 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32,102, 42, 99,111, +108, 49, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109,117,108, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9, -111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 32, 43, 32, 99,111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, - 97,100,101, 95,109, 97,100,100, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, - 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, - 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32, 99,111,108, 49, 42, 99,111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115, -104, 97,100,101, 95, 97,100,100, 95, 99,108, 97,109,112,101,100, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, - 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111, -108, 32, 61, 32, 99,111,108, 49, 32, 43, 32,109, 97,120, 40, 99,111,108, 50, 44, 32,118,101, 99, 52, 40, 48, 46, 48, 44, 32, 48, - 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109, 97, -100,100, 95, 99,108, 97,109,112,101,100, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32, -118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111, -117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32,109, 97,120, 40, 99,111,108, 49, 42, 99,111,108, 50, 44, 32,118,101, 99, - 52, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32, -115,104, 97,100,101, 95,109, 97,100,100,102, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 44, 32,118, -101, 99, 52, 32, 99,111,108, 49, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117, -116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32,102, 42, 99,111,108, 49, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97, -100,101, 95,109,117,108, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, - 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 42, 99, -111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109,117,108, 95,118, 97,108,117,101, 40,102,108,111, - 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111, -108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 42,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32, -115,104, 97,100,101, 95,111, 98, 99,111,108,111,114, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32,111, 98, 99, -111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, - 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 42,111, 98, 99,111,108, 46,114,103, 98, 44, 32, 99,111,108, 46, 97, 41, 59, - 10,125, 10, 10,118,111,105,100, 32,114, 97,109,112, 95,114,103, 98,116,111, 98,119, 40,118,101, 99, 51, 32, 99,111,108,111,114, - 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, - 99,111,108,111,114, 46,114, 42, 48, 46, 51, 32, 43, 32, 99,111,108,111,114, 46,103, 42, 48, 46, 53, 56, 32, 43, 32, 99,111,108, -111,114, 46, 98, 42, 48, 46, 49, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,111,110,108,121, 95,115,104, - 97,100,111,119, 40,102,108,111, 97,116, 32,105, 44, 32,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,102,108,111, - 97,116, 32,101,110,101,114,103,121, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,104, 97,100,102, 97, 99, 41, - 10,123, 10, 9,111,117,116,115,104, 97,100,102, 97, 99, 32, 61, 32,105, 42,101,110,101,114,103,121, 42, 40, 49, 46, 48, 32, 45, - 32,115,104, 97,100,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,111,110,108,121, 95,115,104, - 97,100,111,119, 95,100,105,102,102,117,115,101, 40,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,118,101, 99, 51, - 32,114,103, 98, 44, 32,118,101, 99, 52, 32,100,105,102,102, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,100,105,102, -102, 41, 10,123, 10, 9,111,117,116,100,105,102,102, 32, 61, 32,100,105,102,102, 32, 45, 32,118,101, 99, 52, 40,114,103, 98, 42, -115,104, 97,100,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,111,110,108, -121, 95,115,104, 97,100,111,119, 95,115,112,101, 99,117,108, 97,114, 40,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, - 32,118,101, 99, 51, 32,115,112,101, 99,114,103, 98, 44, 32,118,101, 99, 52, 32,115,112,101, 99, 44, 32,111,117,116, 32,118,101, - 99, 52, 32,111,117,116,115,112,101, 99, 41, 10,123, 10, 9,111,117,116,115,112,101, 99, 32, 61, 32,115,112,101, 99, 32, 45, 32, -118,101, 99, 52, 40,115,112,101, 99,114,103, 98, 42,115,104, 97,100,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118, -111,105,100, 32,116,101,115,116, 95,115,104, 97,100,111,119, 98,117,102, 40,118,101, 99, 51, 32,114, 99,111, 44, 32,115, 97,109, -112,108,101,114, 50, 68, 83,104, 97,100,111,119, 32,115,104, 97,100,111,119,109, 97,112, 44, 32,109, 97,116, 52, 32,115,104, 97, -100,111,119,112,101,114,115,109, 97,116, 44, 32,102,108,111, 97,116, 32,115,104, 97,100,111,119, 98,105, 97,115, 44, 32,102,108, -111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,105,102, - 40,105,110,112, 32, 60, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,101,115,117,108,116, 32, 61, 32, 48, 46, 48, 59, 10, 9, -125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,118,101, 99, 52, 32, 99,111, 32, 61, 32,115,104, 97,100,111,119,112,101,114,115, -109, 97,116, 42,118,101, 99, 52, 40,114, 99,111, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9, 9, 47, 47,102,108,111, 97,116, 32, 98, -105, 97,115, 32, 61, 32, 40, 49, 46, 53, 32, 45, 32,105,110,112, 42,105,110,112, 41, 42,115,104, 97,100,111,119, 98,105, 97,115, - 59, 10, 9, 9, 99,111, 46,122, 32, 45, 61, 32,115,104, 97,100,111,119, 98,105, 97,115, 42, 99,111, 46,119, 59, 10, 10, 9, 9, -114,101,115,117,108,116, 32, 61, 32,115,104, 97,100,111,119, 50, 68, 80,114,111,106, 40,115,104, 97,100,111,119,109, 97,112, 44, - 32, 99,111, 41, 46,120, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,101,120,112,111,115,117,114, -101, 95, 99,111,114,114,101, 99,116, 40,118,101, 99, 51, 32, 99,111,108, 44, 32,102,108,111, 97,116, 32,108,105,110,102, 97, 99, - 44, 32,102,108,111, 97,116, 32,108,111,103,102, 97, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, - 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,108,105,110,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32,101,120,112, 40, 99, -111,108, 42,108,111,103,102, 97, 99, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109,105,115,116, 95, -102, 97, 99,116,111,114, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,109,105,115,116,115,116, 97, 44, 32,102, -108,111, 97,116, 32,109,105,115,116,100,105,115,116, 44, 32,102,108,111, 97,116, 32,109,105,115,116,116,121,112,101, 44, 32,102, -108,111, 97,116, 32,109,105,115,105, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9, -102,108,111, 97,116, 32,102, 97, 99, 44, 32,122, 99,111,114, 59, 10, 10, 9,122, 99,111,114, 32, 61, 32, 40,103,108, 95, 80,114, -111,106,101, 99,116,105,111,110, 77, 97,116,114,105,120, 91, 51, 93, 91, 51, 93, 32, 61, 61, 32, 48, 46, 48, 41, 63, 32,108,101, -110,103,116,104, 40, 99,111, 41, 58, 32, 45, 99,111, 91, 50, 93, 59, 10, 9, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, - 40, 40,122, 99,111,114, 45,109,105,115,116,115,116, 97, 41, 47,109,105,115,116,100,105,115,116, 44, 32, 48, 46, 48, 44, 32, 49, - 46, 48, 41, 59, 10, 9,105,102, 40,109,105,115,116,116,121,112,101, 32, 61, 61, 32, 48, 46, 48, 41, 32,102, 97, 99, 32, 42, 61, - 32,102, 97, 99, 59, 10, 9,101,108,115,101, 32,105,102, 40,109,105,115,116,116,121,112,101, 32, 61, 61, 32, 49, 46, 48, 41, 59, - 10, 9,101,108,115,101, 32,102, 97, 99, 32, 61, 32,115,113,114,116, 40,102, 97, 99, 41, 59, 10, 10, 9,111,117,116,102, 97, 99, - 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 45,102, 97, 99, 41, 42, 40, 49, 46, 48, 45,109,105,115,105, 41, 59, 10,125, - 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,119,111,114,108,100, 95,109,105,120, 40,118,101, 99, 51, 32,104,111,114, 44, - 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, -108,111, 97,116, 32,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, 99,111,108, 46, 97, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, - 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,109,105,120, 40,104,111,114, 44, 32, 99,111,108, 46,114, -103, 98, 44, 32,102, 97, 99, 41, 44, 32, 99,111,108, 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, - 97,108,112,104, 97, 95,111,112, 97,113,117,101, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32, -111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, - 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,108,112,104, 97, 95,111, 98, 99,111, -108,111,114, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32,111, 98, 99,111,108, 44, 32,111,117,116, 32,118,101, - 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46, -114,103, 98, 44, 32, 99,111,108, 46, 97, 42,111, 98, 99,111,108, 46, 97, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 32, 78, 69, 87, 32, 83, 72, 65, 68, 69, 82, 32, 85, 84, 73, 76, 73, 84, 73, 69, 83, 32, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,102,108,111, 97,116, 32,102,114,101,115,110,101,108, 95,100,105,101,108,101, 99,116, -114,105, 99, 40,118,101, 99, 51, 32, 73,110, 99,111,109,105,110,103, 44, 32,118,101, 99, 51, 32, 78,111,114,109, 97,108, 44, 32, -102,108,111, 97,116, 32,101,116, 97, 41, 10,123, 10, 32, 32, 32, 32, 47, 42, 32, 99,111,109,112,117,116,101, 32,102,114,101,115, -110,101,108, 32,114,101,102,108,101, 99,116, 97,110, 99,101, 32,119,105,116,104,111,117,116, 32,101,120,112,108,105, 99,105,116, -108,121, 32, 99,111,109,112,117,116,105,110,103, 10, 32, 32, 32, 32, 32, 32, 32,116,104,101, 32,114,101,102,114, 97, 99,116,101, -100, 32,100,105,114,101, 99,116,105,111,110, 32, 42, 47, 10, 32, 32, 32, 32,102,108,111, 97,116, 32, 99, 32, 61, 32, 97, 98,115, - 40,100,111,116, 40, 73,110, 99,111,109,105,110,103, 44, 32, 78,111,114,109, 97,108, 41, 41, 59, 10, 32, 32, 32, 32,102,108,111, - 97,116, 32,103, 32, 61, 32,101,116, 97, 32, 42, 32,101,116, 97, 32, 45, 32, 49, 46, 48, 32, 43, 32, 99, 32, 42, 32, 99, 59, 10, - 32, 32, 32, 32,102,108,111, 97,116, 32,114,101,115,117,108,116, 59, 10, 10, 32, 32, 32, 32,105,102, 40,103, 32, 62, 32, 48, 46, - 48, 41, 32,123, 10, 32, 32, 32, 32, 32, 32, 32, 32,103, 32, 61, 32,115,113,114,116, 40,103, 41, 59, 10, 32, 32, 32, 32, 32, 32, - 32, 32,102,108,111, 97,116, 32, 65, 32, 61, 40,103, 32, 45, 32, 99, 41, 47, 40,103, 32, 43, 32, 99, 41, 59, 10, 32, 32, 32, 32, - 32, 32, 32, 32,102,108,111, 97,116, 32, 66, 32, 61, 40, 99, 32, 42, 40,103, 32, 43, 32, 99, 41, 45, 32, 49, 46, 48, 41, 47, 40, - 99, 32, 42, 40,103, 32, 45, 32, 99, 41, 43, 32, 49, 46, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32,114,101,115,117,108,116, - 32, 61, 32, 48, 46, 53, 32, 42, 32, 65, 32, 42, 32, 65, 32, 42, 40, 49, 46, 48, 32, 43, 32, 66, 32, 42, 32, 66, 41, 59, 10, 32, - 32, 32, 32,125, 10, 32, 32, 32, 32,101,108,115,101, 10, 32, 32, 32, 32, 32, 32, 32, 32,114,101,115,117,108,116, 32, 61, 32, 49, - 46, 48, 59, 32, 32, 47, 42, 32, 84, 73, 82, 32, 40,110,111, 32,114,101,102,114, 97, 99,116,101,100, 32, 99,111,109,112,111,110, -101,110,116, 41, 32, 42, 47, 10, 10, 32, 32, 32, 32,114,101,116,117,114,110, 32,114,101,115,117,108,116, 59, 10,125, 10, 10,102, -108,111, 97,116, 32,104,121,112,111,116, 40,102,108,111, 97,116, 32,120, 44, 32,102,108,111, 97,116, 32,121, 41, 10,123, 10, 9, -114,101,116,117,114,110, 32,115,113,114,116, 40,120, 42,120, 32, 43, 32,121, 42,121, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 32, 78, 69, 87, 32, 83, 72, 65, 68, 69, 82, 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10, 35,100,101,102,105,110,101, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 32, 51, 10, - 10, 47, 42, 32, 98,115,100,102,115, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,100,105,102, -102,117,115,101, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, - 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9, 47, 42, 32, 97,109, 98,105,101,110,116, 32,108,105,103,104,116, 32, 42, 47, - 10, 9,118,101, 99, 51, 32, 76, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 50, 41, 59, 10, 10, 9, 47, 42, 32,100,105,114,101, 99, +111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 42, 99,111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100, +101, 95,109,117,108, 95,118, 97,108,117,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, + 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111, +108, 42,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,111, 98, 99,111,108,111,114, 40,118,101, 99, + 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32,111, 98, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99, +111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 42,111, 98, 99, +111,108, 46,114,103, 98, 44, 32, 99,111,108, 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,114, 97,109,112, 95,114,103, 98, +116,111, 98,119, 40,118,101, 99, 51, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97, +108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,108,111,114, 46,114, 42, 48, 46, 51, 32, 43, 32, 99,111,108, +111,114, 46,103, 42, 48, 46, 53, 56, 32, 43, 32, 99,111,108,111,114, 46, 98, 42, 48, 46, 49, 50, 59, 10,125, 10, 10,118,111,105, +100, 32,115,104, 97,100,101, 95,111,110,108,121, 95,115,104, 97,100,111,119, 40,102,108,111, 97,116, 32,105, 44, 32,102,108,111, + 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,102,108,111, 97,116, 32,101,110,101,114,103,121, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,111,117,116,115,104, 97,100,102, 97, 99, 41, 10,123, 10, 9,111,117,116,115,104, 97,100,102, 97, 99, 32, 61, 32, +105, 42,101,110,101,114,103,121, 42, 40, 49, 46, 48, 32, 45, 32,115,104, 97,100,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105, +100, 32,115,104, 97,100,101, 95,111,110,108,121, 95,115,104, 97,100,111,119, 95,100,105,102,102,117,115,101, 40,102,108,111, 97, +116, 32,115,104, 97,100,102, 97, 99, 44, 32,118,101, 99, 51, 32,114,103, 98, 44, 32,118,101, 99, 52, 32,100,105,102,102, 44, 32, +111,117,116, 32,118,101, 99, 52, 32,111,117,116,100,105,102,102, 41, 10,123, 10, 9,111,117,116,100,105,102,102, 32, 61, 32,100, +105,102,102, 32, 45, 32,118,101, 99, 52, 40,114,103, 98, 42,115,104, 97,100,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, + 10,118,111,105,100, 32,115,104, 97,100,101, 95,111,110,108,121, 95,115,104, 97,100,111,119, 95,115,112,101, 99,117,108, 97,114, + 40,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,118,101, 99, 51, 32,115,112,101, 99,114,103, 98, 44, 32,118,101, + 99, 52, 32,115,112,101, 99, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,115,112,101, 99, 41, 10,123, 10, 9,111,117, +116,115,112,101, 99, 32, 61, 32,115,112,101, 99, 32, 45, 32,118,101, 99, 52, 40,115,112,101, 99,114,103, 98, 42,115,104, 97,100, +102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,115,116, 95,115,104, 97,100,111,119, 98,117, +102, 40,118,101, 99, 51, 32,114, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 83,104, 97,100,111,119, 32,115,104, 97,100, +111,119,109, 97,112, 44, 32,109, 97,116, 52, 32,115,104, 97,100,111,119,112,101,114,115,109, 97,116, 44, 32,102,108,111, 97,116, + 32,115,104, 97,100,111,119, 98,105, 97,115, 44, 32,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97, +116, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,105,102, 40,105,110,112, 32, 60, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9, +114,101,115,117,108,116, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,118,101, 99, 52, 32, + 99,111, 32, 61, 32,115,104, 97,100,111,119,112,101,114,115,109, 97,116, 42,118,101, 99, 52, 40,114, 99,111, 44, 32, 49, 46, 48, + 41, 59, 10, 10, 9, 9, 47, 47,102,108,111, 97,116, 32, 98,105, 97,115, 32, 61, 32, 40, 49, 46, 53, 32, 45, 32,105,110,112, 42, +105,110,112, 41, 42,115,104, 97,100,111,119, 98,105, 97,115, 59, 10, 9, 9, 99,111, 46,122, 32, 45, 61, 32,115,104, 97,100,111, +119, 98,105, 97,115, 42, 99,111, 46,119, 59, 10, 10, 9, 9,114,101,115,117,108,116, 32, 61, 32,115,104, 97,100,111,119, 50, 68, + 80,114,111,106, 40,115,104, 97,100,111,119,109, 97,112, 44, 32, 99,111, 41, 46,120, 59, 10, 9,125, 10,125, 10, 10,118,111,105, +100, 32,115,104, 97,100,101, 95,101,120,112,111,115,117,114,101, 95, 99,111,114,114,101, 99,116, 40,118,101, 99, 51, 32, 99,111, +108, 44, 32,102,108,111, 97,116, 32,108,105,110,102, 97, 99, 44, 32,102,108,111, 97,116, 32,108,111,103,102, 97, 99, 44, 32,111, +117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,108,105,110,102, + 97, 99, 42, 40, 49, 46, 48, 32, 45, 32,101,120,112, 40, 99,111,108, 42,108,111,103,102, 97, 99, 41, 41, 59, 10,125, 10, 10,118, +111,105,100, 32,115,104, 97,100,101, 95,109,105,115,116, 95,102, 97, 99,116,111,114, 40,118,101, 99, 51, 32, 99,111, 44, 32,102, +108,111, 97,116, 32,109,105,115,116,115,116, 97, 44, 32,102,108,111, 97,116, 32,109,105,115,116,100,105,115,116, 44, 32,102,108, +111, 97,116, 32,109,105,115,116,116,121,112,101, 44, 32,102,108,111, 97,116, 32,109,105,115,105, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99, 44, 32,122, 99,111,114, 59, 10, + 10, 9,122, 99,111,114, 32, 61, 32, 40,103,108, 95, 80,114,111,106,101, 99,116,105,111,110, 77, 97,116,114,105,120, 91, 51, 93, + 91, 51, 93, 32, 61, 61, 32, 48, 46, 48, 41, 63, 32,108,101,110,103,116,104, 40, 99,111, 41, 58, 32, 45, 99,111, 91, 50, 93, 59, + 10, 9, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, 40,122, 99,111,114, 45,109,105,115,116,115,116, 97, 41, 47,109, +105,115,116,100,105,115,116, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,105,102, 40,109,105,115,116,116,121,112,101, + 32, 61, 61, 32, 48, 46, 48, 41, 32,102, 97, 99, 32, 42, 61, 32,102, 97, 99, 59, 10, 9,101,108,115,101, 32,105,102, 40,109,105, +115,116,116,121,112,101, 32, 61, 61, 32, 49, 46, 48, 41, 59, 10, 9,101,108,115,101, 32,102, 97, 99, 32, 61, 32,115,113,114,116, + 40,102, 97, 99, 41, 59, 10, 10, 9,111,117,116,102, 97, 99, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 45,102, 97, 99, + 41, 42, 40, 49, 46, 48, 45,109,105,115,105, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,119,111,114,108, +100, 95,109,105,120, 40,118,101, 99, 51, 32,104,111,114, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, + 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, + 99,111,108, 46, 97, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, + 40,109,105,120, 40,104,111,114, 44, 32, 99,111,108, 46,114,103, 98, 44, 32,102, 97, 99, 41, 44, 32, 99,111,108, 46, 97, 41, 59, + 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,108,112,104, 97, 95,111,112, 97,113,117,101, 40,118,101, 99, 52, + 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, + 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115, +104, 97,100,101, 95, 97,108,112,104, 97, 95,111, 98, 99,111,108,111,114, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, + 52, 32,111, 98, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, + 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 99,111,108, 46, 97, 42,111, 98, 99,111,108, 46, + 97, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 78, 69, 87, 32, 83, 72, 65, 68, 69, 82, 32, 85, + 84, 73, 76, 73, 84, 73, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,102,108,111, 97,116, 32, +102,114,101,115,110,101,108, 95,100,105,101,108,101, 99,116,114,105, 99, 40,118,101, 99, 51, 32, 73,110, 99,111,109,105,110,103, + 44, 32,118,101, 99, 51, 32, 78,111,114,109, 97,108, 44, 32,102,108,111, 97,116, 32,101,116, 97, 41, 10,123, 10, 32, 32, 32, 32, + 47, 42, 32, 99,111,109,112,117,116,101, 32,102,114,101,115,110,101,108, 32,114,101,102,108,101, 99,116, 97,110, 99,101, 32,119, +105,116,104,111,117,116, 32,101,120,112,108,105, 99,105,116,108,121, 32, 99,111,109,112,117,116,105,110,103, 10, 32, 32, 32, 32, + 32, 32, 32,116,104,101, 32,114,101,102,114, 97, 99,116,101,100, 32,100,105,114,101, 99,116,105,111,110, 32, 42, 47, 10, 32, 32, + 32, 32,102,108,111, 97,116, 32, 99, 32, 61, 32, 97, 98,115, 40,100,111,116, 40, 73,110, 99,111,109,105,110,103, 44, 32, 78,111, +114,109, 97,108, 41, 41, 59, 10, 32, 32, 32, 32,102,108,111, 97,116, 32,103, 32, 61, 32,101,116, 97, 32, 42, 32,101,116, 97, 32, + 45, 32, 49, 46, 48, 32, 43, 32, 99, 32, 42, 32, 99, 59, 10, 32, 32, 32, 32,102,108,111, 97,116, 32,114,101,115,117,108,116, 59, + 10, 10, 32, 32, 32, 32,105,102, 40,103, 32, 62, 32, 48, 46, 48, 41, 32,123, 10, 32, 32, 32, 32, 32, 32, 32, 32,103, 32, 61, 32, +115,113,114,116, 40,103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,108,111, 97,116, 32, 65, 32, 61, 40,103, 32, 45, 32, 99, + 41, 47, 40,103, 32, 43, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,108,111, 97,116, 32, 66, 32, 61, 40, 99, 32, 42, + 40,103, 32, 43, 32, 99, 41, 45, 32, 49, 46, 48, 41, 47, 40, 99, 32, 42, 40,103, 32, 45, 32, 99, 41, 43, 32, 49, 46, 48, 41, 59, + 10, 32, 32, 32, 32, 32, 32, 32, 32,114,101,115,117,108,116, 32, 61, 32, 48, 46, 53, 32, 42, 32, 65, 32, 42, 32, 65, 32, 42, 40, + 49, 46, 48, 32, 43, 32, 66, 32, 42, 32, 66, 41, 59, 10, 32, 32, 32, 32,125, 10, 32, 32, 32, 32,101,108,115,101, 10, 32, 32, 32, + 32, 32, 32, 32, 32,114,101,115,117,108,116, 32, 61, 32, 49, 46, 48, 59, 32, 32, 47, 42, 32, 84, 73, 82, 32, 40,110,111, 32,114, +101,102,114, 97, 99,116,101,100, 32, 99,111,109,112,111,110,101,110,116, 41, 32, 42, 47, 10, 10, 32, 32, 32, 32,114,101,116,117, +114,110, 32,114,101,115,117,108,116, 59, 10,125, 10, 10,102,108,111, 97,116, 32,104,121,112,111,116, 40,102,108,111, 97,116, 32, +120, 44, 32,102,108,111, 97,116, 32,121, 41, 10,123, 10, 9,114,101,116,117,114,110, 32,115,113,114,116, 40,120, 42,120, 32, 43, + 32,121, 42,121, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 78, 69, 87, 32, 83, 72, 65, 68, 69, + 82, 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10, 35,100,101,102,105,110, +101, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 32, 51, 10, 10, 47, 42, 32, 98,115,100,102,115, 32, 42, 47, 10, 10,118,111,105, +100, 32,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32, +118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9, 47, 42, 32, 97, +109, 98,105,101,110,116, 32,108,105,103,104,116, 32, 42, 47, 10, 9,118,101, 99, 51, 32, 76, 32, 61, 32,118,101, 99, 51, 40, 48, + 46, 50, 41, 59, 10, 10, 9, 47, 42, 32,100,105,114,101, 99,116,105,111,110, 97,108, 32,108,105,103,104,116,115, 32, 42, 47, 10, + 9,102,111,114, 40,105,110,116, 32,105, 32, 61, 32, 48, 59, 32,105, 32, 60, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 59, 32, +105, 43, 43, 41, 32,123, 10, 9, 9,118,101, 99, 51, 32,108,105,103,104,116, 95,112,111,115,105,116,105,111,110, 32, 61, 32,103, +108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,112,111,115,105,116,105,111,110, 46,120,121,122, 59, 10, 9, + 9,118,101, 99, 51, 32,108,105,103,104,116, 95,100,105,102,102,117,115,101, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111, +117,114, 99,101, 91,105, 93, 46,100,105,102,102,117,115,101, 46,114,103, 98, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 98,115, +100,102, 32, 61, 32,109, 97,120, 40,100,111,116, 40, 78, 44, 32,108,105,103,104,116, 95,112,111,115,105,116,105,111,110, 41, 44, + 32, 48, 46, 48, 41, 59, 10, 9, 9, 76, 32, 43, 61, 32,108,105,103,104,116, 95,100,105,102,102,117,115,101, 42, 98,115,100,102, + 59, 10, 9,125, 10, 10, 9,114,101,115,117,108,116, 32, 61, 32,118,101, 99, 52, 40, 76, 42, 99,111,108,111,114, 46,114,103, 98, + 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,103,108,111,115,115,121, + 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 44, 32,118,101, + 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, + 10, 9,118,101, 99, 51, 32, 76, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10, 10, 9, 47, 42, 32,100,105,114,101, 99, 116,105,111,110, 97,108, 32,108,105,103,104,116,115, 32, 42, 47, 10, 9,102,111,114, 40,105,110,116, 32,105, 32, 61, 32, 48, 59, - 32,105, 32, 60, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 59, 32,105, 43, 43, 41, 32,123, 10, 9, 9,118,101, 99, 51, 32,108, -105,103,104,116, 95,112,111,115,105,116,105,111,110, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, - 93, 46,112,111,115,105,116,105,111,110, 46,120,121,122, 59, 10, 9, 9,118,101, 99, 51, 32,108,105,103,104,116, 95,100,105,102, -102,117,115,101, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,100,105,102,102,117,115,101, - 46,114,103, 98, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 98,115,100,102, 32, 61, 32,109, 97,120, 40,100,111,116, 40, 78, 44, - 32,108,105,103,104,116, 95,112,111,115,105,116,105,111,110, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9, 76, 32, 43, 61, 32,108, -105,103,104,116, 95,100,105,102,102,117,115,101, 42, 98,115,100,102, 59, 10, 9,125, 10, 10, 9,114,101,115,117,108,116, 32, 61, - 32,118,101, 99, 52, 40, 76, 42, 99,111,108,111,114, 46,114,103, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, - 32,110,111,100,101, 95, 98,115,100,102, 95,103,108,111,115,115,121, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108, -111, 97,116, 32,114,111,117,103,104,110,101,115,115, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111, -117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,118,101, 99, 51, 32, 76, 32, 61, 32,118,101, 99, 51, - 40, 48, 46, 48, 41, 59, 10, 10, 9, 47, 42, 32,100,105,114,101, 99,116,105,111,110, 97,108, 32,108,105,103,104,116,115, 32, 42, - 47, 10, 9,102,111,114, 40,105,110,116, 32,105, 32, 61, 32, 48, 59, 32,105, 32, 60, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, - 59, 32,105, 43, 43, 41, 32,123, 10, 9, 9,118,101, 99, 51, 32, 72, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, - 99,101, 91,105, 93, 46,104, 97,108,102, 86,101, 99,116,111,114, 46,120,121,122, 59, 10, 9, 9,118,101, 99, 51, 32,108,105,103, -104,116, 95,115,112,101, 99,117,108, 97,114, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46, -115,112,101, 99,117,108, 97,114, 46,114,103, 98, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 98,115,100,102, 32, 61, 32,112,111, -119, 40,109, 97,120, 40,100,111,116, 40, 78, 44, 32, 72, 41, 44, 32, 48, 46, 48, 41, 44, 32, 49, 46, 48, 47,114,111,117,103,104, -110,101,115,115, 41, 59, 10, 9, 9, 76, 32, 43, 61, 32,108,105,103,104,116, 95,115,112,101, 99,117,108, 97,114, 42, 98,115,100, -102, 59, 10, 9,125, 10, 10, 9,114,101,115,117,108,116, 32, 61, 32,118,101, 99, 52, 40, 76, 42, 99,111,108,111,114, 46,114,103, - 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95, 97,110,105,115,111, -116,114,111,112,105, 99, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101, -115,115, 85, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 86, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118, -101, 99, 51, 32, 73, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, - 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10, -125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,103,108, 97,115,115, 40,118,101, 99, 52, 32, 99,111,108, -111,114, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 44, 32,102,108,111, 97,116, 32,105,111,114, 44, 32, -118,101, 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, - 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, 78, 44, 32, -114,101,115,117,108,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,116,114, 97,110,115, -108,117, 99,101,110,116, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118, -101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, - 40, 99,111,108,111,114, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, - 95, 98,115,100,102, 95,116,114, 97,110,115,112, 97,114,101,110,116, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117, -116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9, 47, 42, 32,116,104,105,115, 32,105,115,110, 39,116, 32, -114,105,103,104,116, 32, 42, 47, 10, 9,114,101,115,117,108,116, 46,114, 32, 61, 32, 99,111,108,111,114, 46,114, 59, 10, 9,114, -101,115,117,108,116, 46,103, 32, 61, 32, 99,111,108,111,114, 46,103, 59, 10, 9,114,101,115,117,108,116, 46, 98, 32, 61, 32, 99, -111,108,111,114, 46, 98, 59, 10, 9,114,101,115,117,108,116, 46, 97, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, - 32,110,111,100,101, 95, 98,115,100,102, 95,118,101,108,118,101,116, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108, -111, 97,116, 32,115,105,103,109, 97, 44, 32,118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117, -108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, - 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10, 47, 42, 32,101,109,105,115,115,105,111,110, 32, 42, 47, 10, 10,118, -111,105,100, 32,110,111,100,101, 95,101,109,105,115,115,105,111,110, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108, -111, 97,116, 32,115,116,114,101,110,103,116,104, 44, 32,118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114, -101,115,117,108,116, 41, 10,123, 10, 9,114,101,115,117,108,116, 32, 61, 32, 99,111,108,111,114, 42,115,116,114,101,110,103,116, -104, 59, 10,125, 10, 10, 47, 42, 32, 99,108,111,115,117,114,101,115, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95, -109,105,120, 95,115,104, 97,100,101,114, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32,115,104, 97,100,101, -114, 49, 44, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,115,104, 97,100,101, -114, 41, 10,123, 10, 9,115,104, 97,100,101,114, 32, 61, 32,109,105,120, 40,115,104, 97,100,101,114, 49, 44, 32,115,104, 97,100, -101,114, 50, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 97,100,100, 95,115,104, 97,100, -101,114, 40,118,101, 99, 52, 32,115,104, 97,100,101,114, 49, 44, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, 50, 44, 32,111, -117,116, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, 41, 10,123, 10, 9,115,104, 97,100,101,114, 32, 61, 32,115,104, 97,100, -101,114, 49, 32, 43, 32,115,104, 97,100,101,114, 50, 59, 10,125, 10, 10, 47, 42, 32,102,114,101,115,110,101,108, 32, 42, 47, 10, - 10,118,111,105,100, 32,110,111,100,101, 95,102,114,101,115,110,101,108, 40,102,108,111, 97,116, 32,105,111,114, 44, 32,118,101, - 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114,101,115,117,108,116, 41, 10, -123, 10, 9,102,108,111, 97,116, 32,101,116, 97, 32, 61, 32,109, 97,120, 40,105,111,114, 44, 32, 48, 46, 48, 48, 48, 48, 49, 41, - 59, 10, 9,114,101,115,117,108,116, 32, 61, 32,102,114,101,115,110,101,108, 95,100,105,101,108,101, 99,116,114,105, 99, 40, 73, - 44, 32, 78, 44, 32,101,116, 97, 41, 59, 32, 47, 47, 98, 97, 99,107,102, 97, 99,105,110,103, 40, 41, 63, 32, 49, 46, 48, 47,101, -116, 97, 58, 32,101,116, 97, 41, 59, 10,125, 10, 10, 47, 42, 32,103,101,111,109,101,116,114,121, 32, 42, 47, 10, 10,118,111,105, -100, 32,110,111,100,101, 95,103,101,111,109,101,116,114,121, 40,118,101, 99, 51, 32, 73, 44, 32,118,101, 99, 51, 32, 78, 44, 32, -109, 97,116, 52, 32,116,111,119,111,114,108,100, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32,112,111,115,105,116,105,111,110, - 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,116, 97,110,103, -101,110,116, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32,116,114,117,101, 95,110,111,114,109, 97,108, 44, 32,111,117,116, 32, -118,101, 99, 51, 32,105,110, 99,111,109,105,110,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,112, 97,114, 97,109,101,116,114, -105, 99, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32, 98, 97, 99,107,102, 97, 99,105,110,103, 41, 10,123, 10, 9,112,111, -115,105,116,105,111,110, 32, 61, 32, 40,116,111,119,111,114,108,100, 42,118,101, 99, 52, 40, 73, 44, 32, 49, 46, 48, 41, 41, 46, -120,121,122, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 78, 59, 10, 9,116, 97,110,103,101,110,116, 32, 61, 32,118,101, 99, - 51, 40, 48, 46, 48, 41, 59, 10, 9,116,114,117,101, 95,110,111,114,109, 97,108, 32, 61, 32, 78, 59, 10, 9,105,110, 99,111,109, -105,110,103, 32, 61, 32, 73, 59, 10, 9,112, 97,114, 97,109,101,116,114,105, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, - 59, 10, 9, 98, 97, 99,107,102, 97, 99,105,110,103, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100, -101, 95,116,101,120, 95, 99,111,111,114,100, 40,118,101, 99, 51, 32, 73, 44, 32,118,101, 99, 51, 32, 78, 44, 32,109, 97,116, 52, - 32,116,111,119,111,114,108,100, 44, 10, 9,118,101, 99, 51, 32, 97,116,116,114, 95,111,114, 99,111, 44, 32,118,101, 99, 51, 32, - 97,116,116,114, 95,117,118, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32,103,101,110,101,114, 97,116,101,100, 44, 32,111,117, -116, 32,118,101, 99, 51, 32,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111, 98,106,101, 99,116, 44, 10, 9,111,117,116, - 32,118,101, 99, 51, 32, 99, 97,109,101,114, 97, 44, 32,111,117,116, 32,118,101, 99, 51, 32,119,105,110,100,111,119, 44, 32,111, -117,116, 32,118,101, 99, 51, 32,114,101,102,108,101, 99,116,105,111,110, 41, 10,123, 10, 9,103,101,110,101,114, 97,116,101,100, - 32, 61, 32, 97,116,116,114, 95,111,114, 99,111, 59, 10, 9,117,118, 32, 61, 32, 97,116,116,114, 95,117,118, 59, 10, 9,111, 98, -106,101, 99,116, 32, 61, 32, 73, 59, 10, 9, 99, 97,109,101,114, 97, 32, 61, 32, 73, 59, 10, 9,119,105,110,100,111,119, 32, 61, - 32,103,108, 95, 70,114, 97,103, 67,111,111,114,100, 46,120,121,122, 59, 10, 9,114,101,102,108,101, 99,116,105,111,110, 32, 61, - 32,114,101,102,108,101, 99,116, 40, 78, 44, 32, 73, 41, 59, 10, 10,125, 10, 10, 47, 42, 32,116,101,120,116,117,114,101,115, 32, - 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32, 99,111, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, - 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95, 99,108,111,117,100,115, 40,118,101, 99, 51, 32, 99,111, 44, 32,102, -108,111, 97,116, 32,115,105,122,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102, -108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, - 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,100,105,115, -116,110,111,105,115,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97, -116, 32,100,105,115,116,111,114,116,105,111,110, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, -102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,101,110,118,105, -114,111,110,109,101,110,116, 40,118,101, 99, 51, 32, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32, -111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9,102,108,111, 97,116, 32,117, 32, 61, 32, 40, 97,116, - 97,110, 40, 99,111, 46,121, 44, 32, 99,111, 46,120, 41, 32, 43, 32, 77, 95, 80, 73, 41, 47, 40, 50, 46, 48, 42, 77, 95, 80, 73, - 41, 59, 10, 9,102,108,111, 97,116, 32,118, 32, 61, 32, 97,116, 97,110, 40, 99,111, 46,122, 44, 32,104,121,112,111,116, 40, 99, -111, 46,120, 44, 32, 99,111, 46,121, 41, 41, 47, 77, 95, 80, 73, 32, 43, 32, 48, 46, 53, 59, 10, 10, 9, 99,111,108,111,114, 32, - 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,118,101, 99, 50, 40,117, 44, 32,118, 41, 41, 59, 10,125, 10, - 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,115, 97, -109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, - 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 99,111, 46,120,121, 41, 59, 10,125, - 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,109, 97,103,105, 99, 40,118,101, 99, 51, 32,112, 44, 32,102,108, -111, 97,116, 32,116,117,114, 98,117,108,101,110, 99,101, 44, 32,102,108,111, 97,116, 32,110, 44, 32,111,117,116, 32,118,101, 99, - 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9,102,108,111, 97,116, 32,116,117,114, 98, 32, 61, 32,116,117,114, 98,117,108,101, -110, 99,101, 47, 53, 46, 48, 59, 10, 10, 9,102,108,111, 97,116, 32,120, 32, 61, 32,115,105,110, 40, 40,112, 46,120, 32, 43, 32, -112, 46,121, 32, 43, 32,112, 46,122, 41, 42, 53, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,121, 32, 61, 32, 99,111,115, 40, - 40, 45,112, 46,120, 32, 43, 32,112, 46,121, 32, 45, 32,112, 46,122, 41, 42, 53, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32, -122, 32, 61, 32, 45, 99,111,115, 40, 40, 45,112, 46,120, 32, 45, 32,112, 46,121, 32, 43, 32,112, 46,122, 41, 42, 53, 46, 48, 41, - 59, 10, 10, 9,105,102, 40,110, 32, 62, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 9, - 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 9, 9,122, 32, 42, 61, 32,116,117,114, 98, 59, 10, 9, 9,121, 32, 61, 32, 45, - 99,111,115, 40,120, 45,121, 43,122, 41, 59, 10, 9, 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9,105,102, 40,110, - 32, 62, 32, 49, 46, 48, 41, 32,123, 10, 9, 9, 9,120, 61, 32, 99,111,115, 40,120, 45,121, 45,122, 41, 59, 10, 9, 9, 9,120, - 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9,105,102, 40,110, 32, 62, 32, 50, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, -122, 61, 32,115,105,110, 40, 45,120, 45,121, 45,122, 41, 59, 10, 9, 9, 9, 9,122, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, - 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 51, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9,120, 61, 32, 45, 99,111,115, 40, 45, -120, 43,121, 45,122, 41, 59, 10, 9, 9, 9, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9,105,102, - 40,110, 32, 62, 32, 52, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9,121, 61, 32, 45,115,105,110, 40, 45,120, 43,121, 43,122, - 41, 59, 10, 9, 9, 9, 9, 9, 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, - 62, 32, 53, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9,121, 61, 32, 45, 99,111,115, 40, 45,120, 43,121, 43,122, 41, 59, - 10, 9, 9, 9, 9, 9, 9, 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, - 62, 32, 54, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9,120, 61, 32, 99,111,115, 40,120, 43,121, 43,122, 41, 59, 10, - 9, 9, 9, 9, 9, 9, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, - 32, 62, 32, 55, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,122, 61, 32,115,105,110, 40,120, 43,121, 45,122, 41, - 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,122, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, -105,102, 40,110, 32, 62, 32, 56, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,120, 61, 32, 45, 99,111,115, 40, - 45,120, 45,121, 43,122, 41, 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 57, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9,121, 61, 32, 45,115,105,110, 40,120, 45,121, 43,122, 41, 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,121, 32, 42, - 61, 32,116,117,114, 98, 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,125, 10, 9, - 9, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9,125, - 10, 9, 9, 9, 9,125, 10, 9, 9, 9,125, 10, 9, 9,125, 10, 9,125, 10, 10, 9,105,102, 40,116,117,114, 98, 32, 33, 61, 32, - 48, 46, 48, 41, 32,123, 10, 9, 9,116,117,114, 98, 32, 42, 61, 32, 50, 46, 48, 59, 10, 9, 9,120, 32, 47, 61, 32,116,117,114, - 98, 59, 10, 9, 9,121, 32, 47, 61, 32,116,117,114, 98, 59, 10, 9, 9,122, 32, 47, 61, 32,116,117,114, 98, 59, 10, 9,125, 10, - 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 53, 32, 45, 32,120, 44, 32, 48, 46, 53, 32, 45, 32,121, 44, - 32, 48, 46, 53, 32, 45, 32,122, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, - 95,109, 97,114, 98,108,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, - 97,116, 32,116,117,114, 98,117,108,101,110, 99,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, - 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,109,117,115, -103,114, 97,118,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, - 32,100,105,109,101,110,115,105,111,110, 44, 32,102,108,111, 97,116, 32,108, 97, 99,117,110, 97,114,105,116,121, 44, 32,102,108, -111, 97,116, 32,111, 99,116, 97,118,101,115, 44, 32,102,108,111, 97,116, 32,111,102,102,115,101,116, 44, 32,102,108,111, 97,116, - 32,103, 97,105,110, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, - 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,110,111,105,115,101, 40,118,101, 99, 51, 32, - 99,111, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, - 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, - 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,115,107,121, 40,118,101, 99, 51, 32, 99, -111, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, - 99, 52, 40, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,115,116,117, 99, 99,105, - 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,117,114, 98, -117,108,101,110, 99,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, - 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,118,111,114,111,110,111,105, 40,118,101, - 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,119,101,105,103,104,116, 49, - 44, 32,102,108,111, 97,116, 32,119,101,105,103,104,116, 50, 44, 32,102,108,111, 97,116, 32,119,101,105,103,104,116, 51, 44, 32, -102,108,111, 97,116, 32,119,101,105,103,104,116, 52, 44, 32,102,108,111, 97,116, 32,101,120,112,111,110,101,110,116, 44, 32,111, -117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, - 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10, -125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,119,111,111,100, 40,118,101, 99, 51, 32, 99,111, 44, 32,102, -108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,117,114, 98,117,108,101,110, 99,101, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10, 47, 42, 32, -108,105,103,104,116, 32,112, 97,116,104, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,108,105,103,104,116, 95,112, - 97,116,104, 40, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95, 99, 97,109,101,114, 97, 95,114, 97,121, 44, 10, 9, -111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,115,104, 97,100,111,119, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108, -111, 97,116, 32,105,115, 95,100,105,102,102,117,115,101, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105, -115, 95,103,108,111,115,115,121, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,114,101,102,108, -101, 99,116,105,111,110, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,116,114, 97,110,115,109, -105,115,115,105,111,110, 95,114, 97,121, 41, 10,123, 10, 9,105,115, 95, 99, 97,109,101,114, 97, 95,114, 97,121, 32, 61, 32, 49, - 46, 48, 59, 10, 9,105,115, 95,115,104, 97,100,111,119, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,100,105, -102,102,117,115,101, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,103,108,111,115,115,121, 95,114, 97,121, 32, - 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,114,101,102,108,101, 99,116,105,111,110, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, - 10, 9,105,115, 95,116,114, 97,110,115,109,105,115,115,105,111,110, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10, - 47, 42, 32,111,117,116,112,117,116, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,111,117,116,112,117,116, 95,109, - 97,116,101,114,105, 97,108, 40,118,101, 99, 52, 32,115,117,114,102, 97, 99,101, 44, 32,118,101, 99, 52, 32,118,111,108,117,109, -101, 44, 32,102,108,111, 97,116, 32,100,105,115,112,108, 97, 99,101,109,101,110,116, 44, 32,111,117,116, 32,118,101, 99, 52, 32, -114,101,115,117,108,116, 41, 10,123, 10, 9,114,101,115,117,108,116, 32, 61, 32,115,117,114,102, 97, 99,101, 59, 10,125, 10, 10, + 32,105, 32, 60, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 59, 32,105, 43, 43, 41, 32,123, 10, 9, 9,118,101, 99, 51, 32, 72, + 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,104, 97,108,102, 86,101, 99,116,111,114, 46, +120,121,122, 59, 10, 9, 9,118,101, 99, 51, 32,108,105,103,104,116, 95,115,112,101, 99,117,108, 97,114, 32, 61, 32,103,108, 95, + 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,115,112,101, 99,117,108, 97,114, 46,114,103, 98, 59, 10, 10, 9, 9, +102,108,111, 97,116, 32, 98,115,100,102, 32, 61, 32,112,111,119, 40,109, 97,120, 40,100,111,116, 40, 78, 44, 32, 72, 41, 44, 32, + 48, 46, 48, 41, 44, 32, 49, 46, 48, 47,114,111,117,103,104,110,101,115,115, 41, 59, 10, 9, 9, 76, 32, 43, 61, 32,108,105,103, +104,116, 95,115,112,101, 99,117,108, 97,114, 42, 98,115,100,102, 59, 10, 9,125, 10, 10, 9,114,101,115,117,108,116, 32, 61, 32, +118,101, 99, 52, 40, 76, 42, 99,111,108,111,114, 46,114,103, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32, +110,111,100,101, 95, 98,115,100,102, 95, 97,110,105,115,111,116,114,111,112,105, 99, 40,118,101, 99, 52, 32, 99,111,108,111,114, + 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 85, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110, +101,115,115, 86, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114, +101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111, +114, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, + 95,103,108, 97,115,115, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101, +115,115, 44, 32,102,108,111, 97,116, 32,105,111,114, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111, +117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105,102, +102,117,115,101, 40, 99,111,108,111,114, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32, +110,111,100,101, 95, 98,115,100,102, 95,116,114, 97,110,115,108,117, 99,101,110,116, 40,118,101, 99, 52, 32, 99,111,108,111,114, + 44, 32,118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111, +100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, 78, 44, 32,114,101,115,117,108,116, + 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,116,114, 97,110,115,112, 97,114,101,110,116, + 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, + 9, 47, 42, 32,116,104,105,115, 32,105,115,110, 39,116, 32,114,105,103,104,116, 32, 42, 47, 10, 9,114,101,115,117,108,116, 46, +114, 32, 61, 32, 99,111,108,111,114, 46,114, 59, 10, 9,114,101,115,117,108,116, 46,103, 32, 61, 32, 99,111,108,111,114, 46,103, + 59, 10, 9,114,101,115,117,108,116, 46, 98, 32, 61, 32, 99,111,108,111,114, 46, 98, 59, 10, 9,114,101,115,117,108,116, 46, 97, + 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,118,101,108,118,101,116, + 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,115,105,103,109, 97, 44, 32,118,101, 99, 51, 32, 78, + 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95, +100,105,102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10, 47, 42, + 32,101,109,105,115,115,105,111,110, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,101,109,105,115,115,105,111,110, + 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,115,116,114,101,110,103,116,104, 44, 32,118,101, 99, + 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,114,101,115,117,108,116, 32, + 61, 32, 99,111,108,111,114, 42,115,116,114,101,110,103,116,104, 59, 10,125, 10, 10, 47, 42, 32, 99,108,111,115,117,114,101,115, + 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,109,105,120, 95,115,104, 97,100,101,114, 40,102,108,111, 97,116, 32, +102, 97, 99, 44, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, 49, 44, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, 50, 44, + 32,111,117,116, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, 41, 10,123, 10, 9,115,104, 97,100,101,114, 32, 61, 32,109,105, +120, 40,115,104, 97,100,101,114, 49, 44, 32,115,104, 97,100,101,114, 50, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105, +100, 32,110,111,100,101, 95, 97,100,100, 95,115,104, 97,100,101,114, 40,118,101, 99, 52, 32,115,104, 97,100,101,114, 49, 44, 32, +118,101, 99, 52, 32,115,104, 97,100,101,114, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, 41, 10,123, + 10, 9,115,104, 97,100,101,114, 32, 61, 32,115,104, 97,100,101,114, 49, 32, 43, 32,115,104, 97,100,101,114, 50, 59, 10,125, 10, + 10, 47, 42, 32,102,114,101,115,110,101,108, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,102,114,101,115,110,101, +108, 40,102,108,111, 97,116, 32,105,111,114, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, + 32,102,108,111, 97,116, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,102,108,111, 97,116, 32,101,116, 97, 32, 61, 32,109, 97, +120, 40,105,111,114, 44, 32, 48, 46, 48, 48, 48, 48, 49, 41, 59, 10, 9,114,101,115,117,108,116, 32, 61, 32,102,114,101,115,110, +101,108, 95,100,105,101,108,101, 99,116,114,105, 99, 40, 73, 44, 32, 78, 44, 32,101,116, 97, 41, 59, 32, 47, 47, 98, 97, 99,107, +102, 97, 99,105,110,103, 40, 41, 63, 32, 49, 46, 48, 47,101,116, 97, 58, 32,101,116, 97, 41, 59, 10,125, 10, 10, 47, 42, 32,103, +101,111,109,101,116,114,121, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,103,101,111,109,101,116,114,121, 40,118, +101, 99, 51, 32, 73, 44, 32,118,101, 99, 51, 32, 78, 44, 32,109, 97,116, 52, 32,116,111,119,111,114,108,100, 44, 10, 9,111,117, +116, 32,118,101, 99, 51, 32,112,111,115,105,116,105,111,110, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, + 44, 32,111,117,116, 32,118,101, 99, 51, 32,116, 97,110,103,101,110,116, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32,116,114, +117,101, 95,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,109,105,110,103, 44, 32,111,117, +116, 32,118,101, 99, 51, 32,112, 97,114, 97,109,101,116,114,105, 99, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32, 98, 97, + 99,107,102, 97, 99,105,110,103, 41, 10,123, 10, 9,112,111,115,105,116,105,111,110, 32, 61, 32, 40,116,111,119,111,114,108,100, + 42,118,101, 99, 52, 40, 73, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 78, 59, + 10, 9,116, 97,110,103,101,110,116, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10, 9,116,114,117,101, 95,110,111,114, +109, 97,108, 32, 61, 32, 78, 59, 10, 9,105,110, 99,111,109,105,110,103, 32, 61, 32, 73, 59, 10, 9,112, 97,114, 97,109,101,116, +114,105, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10, 9, 98, 97, 99,107,102, 97, 99,105,110,103, 32, 61, 32, 48, + 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95, 99,111,111,114,100, 40,118,101, 99, 51, 32, + 73, 44, 32,118,101, 99, 51, 32, 78, 44, 32,109, 97,116, 52, 32,116,111,119,111,114,108,100, 44, 10, 9,118,101, 99, 51, 32, 97, +116,116,114, 95,111,114, 99,111, 44, 32,118,101, 99, 51, 32, 97,116,116,114, 95,117,118, 44, 10, 9,111,117,116, 32,118,101, 99, + 51, 32,103,101,110,101,114, 97,116,101,100, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 44, 32,111,117,116, 32,118,101, + 99, 51, 32,111, 98,106,101, 99,116, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32, 99, 97,109,101,114, 97, 44, 32,111,117,116, + 32,118,101, 99, 51, 32,119,105,110,100,111,119, 44, 32,111,117,116, 32,118,101, 99, 51, 32,114,101,102,108,101, 99,116,105,111, +110, 41, 10,123, 10, 9,103,101,110,101,114, 97,116,101,100, 32, 61, 32, 97,116,116,114, 95,111,114, 99,111, 59, 10, 9,117,118, + 32, 61, 32, 97,116,116,114, 95,117,118, 59, 10, 9,111, 98,106,101, 99,116, 32, 61, 32, 73, 59, 10, 9, 99, 97,109,101,114, 97, + 32, 61, 32, 73, 59, 10, 9,119,105,110,100,111,119, 32, 61, 32,103,108, 95, 70,114, 97,103, 67,111,111,114,100, 46,120,121,122, + 59, 10, 9,114,101,102,108,101, 99,116,105,111,110, 32, 61, 32,114,101,102,108,101, 99,116, 40, 78, 44, 32, 73, 41, 59, 10, 10, +125, 10, 10, 47, 42, 32,116,101,120,116,117,114,101,115, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, + 95, 98,108,101,110,100, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, + 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95, 99,108, +111,117,100,115, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,111,117,116, 32,118,101, + 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111, +114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111, +105,100, 32,110,111,100,101, 95,116,101,120, 95,100,105,115,116,110,111,105,115,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,102, +108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,100,105,115,116,111,114,116,105,111,110, 44, 32,111,117,116, + 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105, +100, 32,110,111,100,101, 95,116,101,120, 95,101,110,118,105,114,111,110,109,101,110,116, 40,118,101, 99, 51, 32, 99,111, 44, 32, +115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, + 10, 9,102,108,111, 97,116, 32,117, 32, 61, 32, 40, 97,116, 97,110, 40, 99,111, 46,121, 44, 32, 99,111, 46,120, 41, 32, 43, 32, + 77, 95, 80, 73, 41, 47, 40, 50, 46, 48, 42, 77, 95, 80, 73, 41, 59, 10, 9,102,108,111, 97,116, 32,118, 32, 61, 32, 97,116, 97, +110, 40, 99,111, 46,122, 44, 32,104,121,112,111,116, 40, 99,111, 46,120, 44, 32, 99,111, 46,121, 41, 41, 47, 77, 95, 80, 73, 32, + 43, 32, 48, 46, 53, 59, 10, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, +118,101, 99, 50, 40,117, 44, 32,118, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,105,109, + 97,103,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32, +118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, + 40,105,109, 97, 44, 32, 99,111, 46,120,121, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,109, + 97,103,105, 99, 40,118,101, 99, 51, 32,112, 44, 32,102,108,111, 97,116, 32,116,117,114, 98,117,108,101,110, 99,101, 44, 32,102, +108,111, 97,116, 32,110, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9,102,108,111, 97,116, + 32,116,117,114, 98, 32, 61, 32,116,117,114, 98,117,108,101,110, 99,101, 47, 53, 46, 48, 59, 10, 10, 9,102,108,111, 97,116, 32, +120, 32, 61, 32,115,105,110, 40, 40,112, 46,120, 32, 43, 32,112, 46,121, 32, 43, 32,112, 46,122, 41, 42, 53, 46, 48, 41, 59, 10, + 9,102,108,111, 97,116, 32,121, 32, 61, 32, 99,111,115, 40, 40, 45,112, 46,120, 32, 43, 32,112, 46,121, 32, 45, 32,112, 46,122, + 41, 42, 53, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,122, 32, 61, 32, 45, 99,111,115, 40, 40, 45,112, 46,120, 32, 45, 32, +112, 46,121, 32, 43, 32,112, 46,122, 41, 42, 53, 46, 48, 41, 59, 10, 10, 9,105,102, 40,110, 32, 62, 32, 48, 46, 48, 41, 32,123, + 10, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 9, 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 9, 9,122, 32, 42, + 61, 32,116,117,114, 98, 59, 10, 9, 9,121, 32, 61, 32, 45, 99,111,115, 40,120, 45,121, 43,122, 41, 59, 10, 9, 9,121, 32, 42, + 61, 32,116,117,114, 98, 59, 10, 10, 9, 9,105,102, 40,110, 32, 62, 32, 49, 46, 48, 41, 32,123, 10, 9, 9, 9,120, 61, 32, 99, +111,115, 40,120, 45,121, 45,122, 41, 59, 10, 9, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9,105,102, 40, +110, 32, 62, 32, 50, 46, 48, 41, 32,123, 10, 9, 9, 9, 9,122, 61, 32,115,105,110, 40, 45,120, 45,121, 45,122, 41, 59, 10, 9, + 9, 9, 9,122, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 51, 46, 48, 41, 32,123, + 10, 9, 9, 9, 9, 9,120, 61, 32, 45, 99,111,115, 40, 45,120, 43,121, 45,122, 41, 59, 10, 9, 9, 9, 9, 9,120, 32, 42, 61, + 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 52, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, + 9,121, 61, 32, 45,115,105,110, 40, 45,120, 43,121, 43,122, 41, 59, 10, 9, 9, 9, 9, 9, 9,121, 32, 42, 61, 32,116,117,114, + 98, 59, 10, 10, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 53, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9,121, + 61, 32, 45, 99,111,115, 40, 45,120, 43,121, 43,122, 41, 59, 10, 9, 9, 9, 9, 9, 9, 9,121, 32, 42, 61, 32,116,117,114, 98, + 59, 10, 10, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 54, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9, +120, 61, 32, 99,111,115, 40,120, 43,121, 43,122, 41, 59, 10, 9, 9, 9, 9, 9, 9, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, + 59, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 55, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, + 9, 9,122, 61, 32,115,105,110, 40,120, 43,121, 45,122, 41, 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,122, 32, 42, 61, 32,116, +117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 56, 46, 48, 41, 32,123, 10, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9,120, 61, 32, 45, 99,111,115, 40, 45,120, 45,121, 43,122, 41, 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 57, + 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,121, 61, 32, 45,115,105,110, 40,120, 45,121, 43,122, 41, 59, + 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9,125, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9, 9, 9,125, + 10, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9,125, 10, 9, 9, 9,125, 10, 9, 9,125, 10, 9, +125, 10, 10, 9,105,102, 40,116,117,114, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,116,117,114, 98, 32, 42, 61, 32, + 50, 46, 48, 59, 10, 9, 9,120, 32, 47, 61, 32,116,117,114, 98, 59, 10, 9, 9,121, 32, 47, 61, 32,116,117,114, 98, 59, 10, 9, + 9,122, 32, 47, 61, 32,116,117,114, 98, 59, 10, 9,125, 10, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 48, 46, + 53, 32, 45, 32,120, 44, 32, 48, 46, 53, 32, 45, 32,121, 44, 32, 48, 46, 53, 32, 45, 32,122, 44, 32, 49, 46, 48, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,109, 97,114, 98,108,101, 40,118,101, 99, 51, 32, 99,111, 44, 32, +102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,117,114, 98,117,108,101,110, 99,101, 44, 32,111,117, +116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111, +105,100, 32,110,111,100,101, 95,116,101,120, 95,109,117,115,103,114, 97,118,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108, +111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,100,105,109,101,110,115,105,111,110, 44, 32,102,108,111, 97,116, + 32,108, 97, 99,117,110, 97,114,105,116,121, 44, 32,102,108,111, 97,116, 32,111, 99,116, 97,118,101,115, 44, 32,102,108,111, 97, +116, 32,111,102,102,115,101,116, 44, 32,102,108,111, 97,116, 32,103, 97,105,110, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, +102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, +116,101,120, 95,110,111,105,115,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111, +114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, + 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, + 95,116,101,120, 95,115,107,121, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, + 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32, +110,111,100,101, 95,116,101,120, 95,115,116,117, 99, 99,105, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115, +105,122,101, 44, 32,102,108,111, 97,116, 32,116,117,114, 98,117,108,101,110, 99,101, 44, 32,111,117,116, 32,102,108,111, 97,116, + 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, + 95,116,101,120, 95,118,111,114,111,110,111,105, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, + 44, 32,102,108,111, 97,116, 32,119,101,105,103,104,116, 49, 44, 32,102,108,111, 97,116, 32,119,101,105,103,104,116, 50, 44, 32, +102,108,111, 97,116, 32,119,101,105,103,104,116, 51, 44, 32,102,108,111, 97,116, 32,119,101,105,103,104,116, 52, 44, 32,102,108, +111, 97,116, 32,101,120,112,111,110,101,110,116, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117, +116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, + 41, 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95, +119,111,111,100, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32, +116,117,114, 98,117,108,101,110, 99,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, + 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10, 47, 42, 32,108,105,103,104,116, 32,112, 97,116,104, 32, 42, 47, 10, 10,118,111, +105,100, 32,110,111,100,101, 95,108,105,103,104,116, 95,112, 97,116,104, 40, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105, +115, 95, 99, 97,109,101,114, 97, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,115,104, 97,100, +111,119, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,100,105,102,102,117,115,101, 95,114, 97, +121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,103,108,111,115,115,121, 95,114, 97,121, 44, 10, 9,111,117, +116, 32,102,108,111, 97,116, 32,105,115, 95,114,101,102,108,101, 99,116,105,111,110, 95,114, 97,121, 44, 10, 9,111,117,116, 32, +102,108,111, 97,116, 32,105,115, 95,116,114, 97,110,115,109,105,115,115,105,111,110, 95,114, 97,121, 41, 10,123, 10, 9,105,115, + 95, 99, 97,109,101,114, 97, 95,114, 97,121, 32, 61, 32, 49, 46, 48, 59, 10, 9,105,115, 95,115,104, 97,100,111,119, 95,114, 97, +121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,100,105,102,102,117,115,101, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, + 9,105,115, 95,103,108,111,115,115,121, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,114,101,102,108,101, 99, +116,105,111,110, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,116,114, 97,110,115,109,105,115,115,105,111,110, + 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10, 47, 42, 32,111,117,116,112,117,116, 32, 42, 47, 10, 10,118,111,105, +100, 32,110,111,100,101, 95,111,117,116,112,117,116, 95,109, 97,116,101,114,105, 97,108, 40,118,101, 99, 52, 32,115,104, 97,100, +101,114, 44, 32,102,108,111, 97,116, 32,100,105,115,112,108, 97, 99,101,109,101,110,116, 44, 32,111,117,116, 32,118,101, 99, 52, + 32,114,101,115,117,108,116, 41, 10,123, 10, 9,114,101,115,117,108,116, 32, 61, 32,115,104, 97,100,101,114, 59, 10,125, 10, 10, 0}; diff --git a/source/blender/nodes/shader/nodes/node_shader_output_lamp.c b/source/blender/nodes/shader/nodes/node_shader_output_lamp.c index 019921737c0..aca2aebeb24 100644 --- a/source/blender/nodes/shader/nodes/node_shader_output_lamp.c +++ b/source/blender/nodes/shader/nodes/node_shader_output_lamp.c @@ -32,7 +32,7 @@ /* **************** OUTPUT ******************** */ static bNodeSocketTemplate sh_node_output_lamp_in[]= { - { SOCK_SHADER, 1, "Surface", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 1, "Shader"}, { -1, 0, "" } }; diff --git a/source/blender/nodes/shader/nodes/node_shader_output_material.c b/source/blender/nodes/shader/nodes/node_shader_output_material.c index a78d68596fb..3d1c9c9fdf7 100644 --- a/source/blender/nodes/shader/nodes/node_shader_output_material.c +++ b/source/blender/nodes/shader/nodes/node_shader_output_material.c @@ -32,8 +32,7 @@ /* **************** OUTPUT ******************** */ static bNodeSocketTemplate sh_node_output_material_in[]= { - { SOCK_SHADER, 1, "Surface"}, - { SOCK_SHADER, 1, "Volume"}, + { SOCK_SHADER, 1, "Shader"}, { SOCK_FLOAT, 1, "Displacement", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, { -1, 0, "" } }; diff --git a/source/blender/nodes/shader/nodes/node_shader_output_world.c b/source/blender/nodes/shader/nodes/node_shader_output_world.c index ee8c1f8addb..5e42200ed28 100644 --- a/source/blender/nodes/shader/nodes/node_shader_output_world.c +++ b/source/blender/nodes/shader/nodes/node_shader_output_world.c @@ -32,8 +32,7 @@ /* **************** OUTPUT ******************** */ static bNodeSocketTemplate sh_node_output_world_in[]= { - { SOCK_SHADER, 1, "Surface", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_SHADER, 1, "Volume", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 1, "Shader"}, { -1, 0, "" } }; From 9ec11147657b1c5e2b33ccaee9495b662aa2a3f8 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 12 Oct 2011 15:45:52 +0000 Subject: [PATCH 156/241] Cycles: make node with multiple input sockets with the same name work. Previously nodes like Mix had their sockets renamed to Color1/Color2, but doing this breaks compatibility for the internal renderer, so restored it now. --- intern/cycles/blender/blender_shader.cpp | 120 ++++++++++-------- source/blender/blenloader/intern/readfile.c | 21 ++- .../shader/nodes/node_shader_add_shader.c | 4 +- .../nodes/shader/nodes/node_shader_math.c | 4 +- .../nodes/shader/nodes/node_shader_mixRgb.c | 4 +- .../shader/nodes/node_shader_mix_shader.c | 4 +- .../nodes/shader/nodes/node_shader_vectMath.c | 4 +- 7 files changed, 100 insertions(+), 61 deletions(-) diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index ad7dfb14c64..da4513fbb7b 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -50,36 +50,26 @@ void BlenderSync::find_shader(BL::ID id, vector& used_shaders) /* Graph */ -static BL::NodeSocket get_node_input(BL::Node *b_group_node, BL::Node b_node, const string& name) +static BL::NodeSocket get_node_input(BL::Node *b_group_node, BL::NodeSocket b_in) { - BL::Node::inputs_iterator b_in; + if(b_group_node) { - for(b_node.inputs.begin(b_in); b_in != b_node.inputs.end(); ++b_in) { - if(b_in->name() == name) { - if(b_group_node) { + BL::NodeTree b_ntree = BL::NodeGroup(*b_group_node).node_tree(); + BL::NodeTree::links_iterator b_link; - BL::NodeTree b_ntree = BL::NodeGroup(*b_group_node).node_tree(); - BL::NodeTree::links_iterator b_link; + for(b_ntree.links.begin(b_link); b_link != b_ntree.links.end(); ++b_link) { + if(b_link->to_socket().ptr.data == b_in.ptr.data) { + BL::Node::inputs_iterator b_gin; - for(b_ntree.links.begin(b_link); b_link != b_ntree.links.end(); ++b_link) { - if(b_link->to_socket().ptr.data == b_in->ptr.data) { - BL::Node::inputs_iterator b_gin; + for(b_group_node->inputs.begin(b_gin); b_gin != b_group_node->inputs.end(); ++b_gin) + if(b_gin->group_socket().ptr.data == b_link->from_socket().ptr.data) + return *b_gin; - for(b_group_node->inputs.begin(b_gin); b_gin != b_group_node->inputs.end(); ++b_gin) - if(b_gin->group_socket().ptr.data == b_link->from_socket().ptr.data) - return *b_gin; - - } - } } - - return *b_in; } } - assert(0); - - return *b_in; + return b_in; } static BL::NodeSocket get_node_output(BL::Node b_node, const string& name) @@ -414,18 +404,52 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * return node; } -static const char *node_socket_map_name(const char *name) +static SocketPair node_socket_map_pair(PtrNodeMap& node_map, BL::Node b_node, BL::NodeSocket b_socket) { - if(strstr(name, "Shader")) { - if(strcmp(name, "Shader") == 0) - return "Closure"; - if(strcmp(name, "Shader1") == 0) - return "Closure1"; - if(strcmp(name, "Shader2") == 0) - return "Closure2"; + BL::Node::inputs_iterator b_input; + BL::Node::outputs_iterator b_output; + string name = b_socket.name(); + bool found = false; + int counter = 0, total = 0; + + /* find in inputs */ + for(b_node.inputs.begin(b_input); b_input != b_node.inputs.end(); ++b_input) { + if(b_input->name() == name) { + if(!found) + counter++; + total++; + } + + if(b_input->ptr.data == b_socket.ptr.data) + found = true; } - return name; + if(!found) { + /* find in outputs */ + found = false; + counter = 0; + total = 0; + + for(b_node.outputs.begin(b_output); b_output != b_node.outputs.end(); ++b_output) { + if(b_output->name() == name) { + if(!found) + counter++; + total++; + } + + if(b_output->ptr.data == b_socket.ptr.data) + found = true; + } + } + + /* rename if needed */ + if(name == "Shader") + name = "Closure"; + + if(total > 1) + name = string_printf("%s%d", name.c_str(), counter); + + return SocketPair(node_map[b_node.ptr.data], name); } static void add_nodes(BL::BlendData b_data, ShaderGraph *graph, BL::ShaderNodeTree b_ntree, BL::Node *b_group_node, PtrSockMap& sockets_map) @@ -453,8 +477,9 @@ static void add_nodes(BL::BlendData b_data, ShaderGraph *graph, BL::ShaderNodeTr node_map[b_node->ptr.data] = node; for(b_node->inputs.begin(b_input); b_input != b_node->inputs.end(); ++b_input) { - ShaderInput *input = node->input(node_socket_map_name(b_input->name().c_str())); - BL::NodeSocket sock(get_node_input(b_group_node, *b_node, b_input->name())); + SocketPair pair = node_socket_map_pair(node_map, *b_node, *b_input); + ShaderInput *input = pair.first->input(pair.second.c_str()); + BL::NodeSocket sock(get_node_input(b_group_node, *b_input)); assert(input); @@ -500,55 +525,50 @@ static void add_nodes(BL::BlendData b_data, ShaderGraph *graph, BL::ShaderNodeTr if(b_group_node) { if(!b_from_node) { sockets_map[b_from_sock.ptr.data] = - SocketPair(node_map[b_to_node.ptr.data], b_to_sock.name()); + node_socket_map_pair(node_map, b_to_node, b_to_sock); continue; } else if(!b_to_node) { sockets_map[b_to_sock.ptr.data] = - SocketPair(node_map[b_from_node.ptr.data], b_from_sock.name()); + node_socket_map_pair(node_map, b_from_node, b_from_sock); continue; } } - ShaderNode *from_node, *to_node; - string from_name, to_name; + SocketPair from_pair, to_pair; /* from sock */ if(b_from_node.is_a(&RNA_NodeGroup)) { /* group node */ BL::NodeSocket group_sock = b_from_sock.group_socket(); - SocketPair& pair = node_groups[b_from_node.ptr.data][group_sock.ptr.data]; - - from_node = pair.first; - from_name = pair.second; + from_pair = node_groups[b_from_node.ptr.data][group_sock.ptr.data]; } else { /* regular node */ - from_node = node_map[b_from_node.ptr.data]; - from_name = b_from_sock.name(); + from_pair = node_socket_map_pair(node_map, b_from_node, b_from_sock); } /* to sock */ if(b_to_node.is_a(&RNA_NodeGroup)) { /* group node */ BL::NodeSocket group_sock = b_to_sock.group_socket(); - SocketPair& pair = node_groups[b_to_node.ptr.data][group_sock.ptr.data]; - - to_node = pair.first; - to_name = pair.second; + to_pair = node_groups[b_to_node.ptr.data][group_sock.ptr.data]; } else { /* regular node */ - to_node = node_map[b_to_node.ptr.data]; - to_name = b_to_sock.name(); + to_pair = node_socket_map_pair(node_map, b_to_node, b_to_sock); } /* in case of groups there may not actually be a node inside the group that the group socket connects to, so from_node or to_node may be NULL */ - if(from_node && to_node) - graph->connect(from_node->output(node_socket_map_name(from_name.c_str())), to_node->input(node_socket_map_name(to_name.c_str()))); + if(from_pair.first && to_pair.first) { + ShaderOutput *output = from_pair.first->output(from_pair.second.c_str()); + ShaderInput *input = to_pair.first->input(to_pair.second.c_str()); + + graph->connect(output, input); + } } } diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 1f62de69412..77f786d2105 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -2082,10 +2082,29 @@ static void ntree_tmp_cycles_version_patch(bNodeTree *ntree) for(sock=node->inputs.first; sock; sock=sock->next) { if(strcmp(sock->name, "Closure1") == 0) strcpy(sock->name, "Shader1"); - if(strcmp(sock->name, "Closure2") == 0) strcpy(sock->name, "Shader2"); + if(strcmp(sock->name, "Color1") == 0) + strcpy(sock->name, "Color"); + if(strcmp(sock->name, "Color2") == 0) + strcpy(sock->name, "Color"); + + if(strcmp(sock->name, "Vector1") == 0) + strcpy(sock->name, "Vector"); + if(strcmp(sock->name, "Vector2") == 0) + strcpy(sock->name, "Vector"); + + if(strcmp(sock->name, "Value1") == 0) + strcpy(sock->name, "Value"); + if(strcmp(sock->name, "Value2") == 0) + strcpy(sock->name, "Value"); + + if(strcmp(sock->name, "Shader1") == 0) + strcpy(sock->name, "Shader"); + if(strcmp(sock->name, "Shader2") == 0) + strcpy(sock->name, "Shader"); + if(strcmp(sock->name, "Surface") == 0) strcpy(sock->name, "Shader"); diff --git a/source/blender/nodes/shader/nodes/node_shader_add_shader.c b/source/blender/nodes/shader/nodes/node_shader_add_shader.c index cc059d3dc90..9bce5c94343 100644 --- a/source/blender/nodes/shader/nodes/node_shader_add_shader.c +++ b/source/blender/nodes/shader/nodes/node_shader_add_shader.c @@ -32,8 +32,8 @@ /* **************** OUTPUT ******************** */ static bNodeSocketTemplate sh_node_add_shader_in[]= { - { SOCK_SHADER, 1, "Shader1"}, - { SOCK_SHADER, 1, "Shader2"}, + { SOCK_SHADER, 1, "Shader"}, + { SOCK_SHADER, 1, "Shader"}, { -1, 0, "" } }; diff --git a/source/blender/nodes/shader/nodes/node_shader_math.c b/source/blender/nodes/shader/nodes/node_shader_math.c index fc9f6bad4bf..592779d6803 100644 --- a/source/blender/nodes/shader/nodes/node_shader_math.c +++ b/source/blender/nodes/shader/nodes/node_shader_math.c @@ -37,8 +37,8 @@ /* **************** SCALAR MATH ******************** */ static bNodeSocketTemplate sh_node_math_in[]= { - { SOCK_FLOAT, 1, "Value1", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f, PROP_NONE}, - { SOCK_FLOAT, 1, "Value2", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f, PROP_NONE}, + { SOCK_FLOAT, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f, PROP_NONE}, + { SOCK_FLOAT, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f, PROP_NONE}, { -1, 0, "" } }; diff --git a/source/blender/nodes/shader/nodes/node_shader_mixRgb.c b/source/blender/nodes/shader/nodes/node_shader_mixRgb.c index a9e4f2129be..ed5695edd42 100644 --- a/source/blender/nodes/shader/nodes/node_shader_mixRgb.c +++ b/source/blender/nodes/shader/nodes/node_shader_mixRgb.c @@ -37,8 +37,8 @@ /* **************** MIX RGB ******************** */ static bNodeSocketTemplate sh_node_mix_rgb_in[]= { { SOCK_FLOAT, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR}, - { SOCK_RGBA, 1, "Color1", 0.5f, 0.5f, 0.5f, 1.0f}, - { SOCK_RGBA, 1, "Color2", 0.5f, 0.5f, 0.5f, 1.0f}, + { SOCK_RGBA, 1, "Color", 0.5f, 0.5f, 0.5f, 1.0f}, + { SOCK_RGBA, 1, "Color", 0.5f, 0.5f, 0.5f, 1.0f}, { -1, 0, "" } }; static bNodeSocketTemplate sh_node_mix_rgb_out[]= { diff --git a/source/blender/nodes/shader/nodes/node_shader_mix_shader.c b/source/blender/nodes/shader/nodes/node_shader_mix_shader.c index 637f515583c..49f53633080 100644 --- a/source/blender/nodes/shader/nodes/node_shader_mix_shader.c +++ b/source/blender/nodes/shader/nodes/node_shader_mix_shader.c @@ -33,8 +33,8 @@ static bNodeSocketTemplate sh_node_mix_shader_in[]= { { SOCK_FLOAT, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_SHADER, 1, "Shader1"}, - { SOCK_SHADER, 1, "Shader2"}, + { SOCK_SHADER, 1, "Shader"}, + { SOCK_SHADER, 1, "Shader"}, { -1, 0, "" } }; diff --git a/source/blender/nodes/shader/nodes/node_shader_vectMath.c b/source/blender/nodes/shader/nodes/node_shader_vectMath.c index e99c8f91b94..ca31d879e3e 100644 --- a/source/blender/nodes/shader/nodes/node_shader_vectMath.c +++ b/source/blender/nodes/shader/nodes/node_shader_vectMath.c @@ -38,8 +38,8 @@ /* **************** VECTOR MATH ******************** */ static bNodeSocketTemplate sh_node_vect_math_in[]= { - { SOCK_VECTOR, 1, "Vector1", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f, PROP_NONE}, - { SOCK_VECTOR, 1, "Vector2", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f, PROP_NONE}, + { SOCK_VECTOR, 1, "Vector", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f, PROP_NONE}, + { SOCK_VECTOR, 1, "Vector", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f, PROP_NONE}, { -1, 0, "" } }; From c3c44f8736b7a3d0e57baabf1f8f212f8cb0b1f4 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 12 Oct 2011 15:48:26 +0000 Subject: [PATCH 157/241] Cycles: don't use glsl in textured draw mode, to keep things simpler and faster there for now. Also add viewport color setting for materials for solid draw mode. --- intern/cycles/blender/addon/ui.py | 7 +- .../editors/space_view3d/view3d_draw.c | 11 +- source/blender/gpu/GPU_material.h | 3 +- source/blender/gpu/intern/gpu_draw.c | 31 +++--- source/blender/gpu/intern/gpu_material.c | 25 ++--- .../blender/nodes/shader/node_shader_tree.c | 6 +- .../blender/nodes/shader/node_shader_util.c | 102 +----------------- .../blender/nodes/shader/node_shader_util.h | 2 +- source/gameengine/Ketsji/BL_BlenderShader.cpp | 2 +- .../RAS_OpenGLRasterizer.cpp | 2 +- 10 files changed, 45 insertions(+), 146 deletions(-) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 581d7a961bd..33e0b8bcb50 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -463,8 +463,7 @@ class CyclesMaterial_PT_settings(CyclesButtonsPanel, Panel): @classmethod def poll(cls, context): - return False - #return context.material and CyclesButtonsPanel.poll(context) + return context.material and CyclesButtonsPanel.poll(context) def draw(self, context): layout = self.layout @@ -472,6 +471,9 @@ class CyclesMaterial_PT_settings(CyclesButtonsPanel, Panel): mat = context.material cmat = mat.cycles + layout.prop(mat, "diffuse_color", text="Viewport Color") + + """ split = layout.split() col = split.column() @@ -479,6 +481,7 @@ class CyclesMaterial_PT_settings(CyclesButtonsPanel, Panel): col = split.column() col.prop(cmat, "homogeneous_volume") + """ class CyclesTexture_PT_context(CyclesButtonsPanel, Panel): bl_label = "" diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index dba594acf71..d2264929149 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -2156,8 +2156,15 @@ CustomDataMask ED_view3d_datamask(Scene *scene, View3D *v3d) if(ELEM(v3d->drawtype, OB_TEXTURE, OB_MATERIAL) || ((v3d->drawtype == OB_SOLID) && (v3d->flag2 & V3D_SOLID_TEX))) { mask |= CD_MASK_MTFACE | CD_MASK_MCOL; - if(v3d->drawtype == OB_MATERIAL || scene->gm.matmode == GAME_MAT_GLSL) - mask |= CD_MASK_ORCO; + if(scene_use_new_shading_nodes(scene)) { + /* todo: use orco in textured draw mode */ + if(v3d->drawtype == OB_MATERIAL) + mask |= CD_MASK_ORCO; + } + else { + if(scene->gm.matmode == GAME_MAT_GLSL) + mask |= CD_MASK_ORCO; + } } return mask; diff --git a/source/blender/gpu/GPU_material.h b/source/blender/gpu/GPU_material.h index 6d34b5f5fab..29ad9c91374 100644 --- a/source/blender/gpu/GPU_material.h +++ b/source/blender/gpu/GPU_material.h @@ -121,13 +121,12 @@ int GPU_link(GPUMaterial *mat, const char *name, ...); int GPU_stack_link(GPUMaterial *mat, const char *name, GPUNodeStack *in, GPUNodeStack *out, ...); void GPU_material_output_link(GPUMaterial *material, GPUNodeLink *link); -int GPU_material_drawtype(GPUMaterial *material); void GPU_material_enable_alpha(GPUMaterial *material); GPUBlendMode GPU_material_alpha_blend(GPUMaterial *material, float obcol[4]); /* High level functions to create and use GPU materials */ -GPUMaterial *GPU_material_from_blender(struct Scene *scene, struct Material *ma, int drawtype); +GPUMaterial *GPU_material_from_blender(struct Scene *scene, struct Material *ma); void GPU_material_free(struct Material *ma); void GPU_materials_free(void); diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c index b06af5bc193..d47d92f236c 100644 --- a/source/blender/gpu/intern/gpu_draw.c +++ b/source/blender/gpu/intern/gpu_draw.c @@ -64,7 +64,7 @@ #include "BKE_material.h" #include "BKE_node.h" #include "BKE_object.h" - +#include "BKE_scene.h" #include "BLI_threads.h" #include "BLI_blenlib.h" @@ -941,7 +941,6 @@ static struct GPUMaterialState { Material *gboundmat; Object *gob; Scene *gscene; - int gdrawtype; int glay; float (*gviewmat)[4]; float (*gviewinv)[4]; @@ -955,15 +954,17 @@ static struct GPUMaterialState { } GMS = {NULL}; /* fixed function material, alpha handed by caller */ -static void gpu_material_to_fixed(GPUMaterialFixed *smat, const Material *bmat, const int gamma, const Object *ob) +static void gpu_material_to_fixed(GPUMaterialFixed *smat, const Material *bmat, const int gamma, const Object *ob, const int new_shading_nodes) { - if (bmat->mode & MA_SHLESS) { + if(new_shading_nodes || bmat->mode & MA_SHLESS) { copy_v3_v3(smat->diff, &bmat->r); smat->diff[3]= 1.0; - if(gamma) { + if(gamma) linearrgb_to_srgb_v3_v3(smat->diff, smat->diff); - } + + zero_v4(smat->spec); + smat->hard= 0; } else { mul_v3_v3fl(smat->diff, &bmat->r, bmat->ref + bmat->emit); @@ -1004,6 +1005,7 @@ void GPU_begin_object_materials(View3D *v3d, RegionView3D *rv3d, Scene *scene, O GPUBlendMode alphablend; int a; int gamma = scene->r.color_mgt_flag & R_COLOR_MANAGEMENT; + int new_shading_nodes = scene_use_new_shading_nodes(scene); /* initialize state */ memset(&GMS, 0, sizeof(GMS)); @@ -1013,7 +1015,6 @@ void GPU_begin_object_materials(View3D *v3d, RegionView3D *rv3d, Scene *scene, O GMS.gob = ob; GMS.gscene = scene; - GMS.gdrawtype = v3d->drawtype; GMS.totmat= ob->totcol+1; /* materials start from 1, default material is 0 */ GMS.glay= v3d->lay; GMS.gviewmat= rv3d->viewmat; @@ -1036,14 +1037,14 @@ void GPU_begin_object_materials(View3D *v3d, RegionView3D *rv3d, Scene *scene, O /* no materials assigned? */ if(ob->totcol==0) { - gpu_material_to_fixed(&GMS.matbuf[0], &defmaterial, 0, ob); + gpu_material_to_fixed(&GMS.matbuf[0], &defmaterial, 0, ob, new_shading_nodes); /* do material 1 too, for displists! */ memcpy(&GMS.matbuf[1], &GMS.matbuf[0], sizeof(GPUMaterialFixed)); if(glsl) { GMS.gmatbuf[0]= &defmaterial; - GPU_material_from_blender(GMS.gscene, &defmaterial, GMS.gdrawtype); + GPU_material_from_blender(GMS.gscene, &defmaterial); } GMS.alphablend[0]= GPU_BLEND_SOLID; @@ -1053,11 +1054,11 @@ void GPU_begin_object_materials(View3D *v3d, RegionView3D *rv3d, Scene *scene, O for(a=1; a<=ob->totcol; a++) { /* find a suitable material */ ma= give_current_material(ob, a); - if(!glsl) ma= gpu_active_node_material(ma); + if(!glsl && !new_shading_nodes) ma= gpu_active_node_material(ma); if(ma==NULL) ma= &defmaterial; /* create glsl material if requested */ - gpumat = (glsl)? GPU_material_from_blender(GMS.gscene, ma, GMS.gdrawtype): NULL; + gpumat = (glsl)? GPU_material_from_blender(GMS.gscene, ma): NULL; if(gpumat) { /* do glsl only if creating it succeed, else fallback */ @@ -1066,7 +1067,7 @@ void GPU_begin_object_materials(View3D *v3d, RegionView3D *rv3d, Scene *scene, O } else { /* fixed function opengl materials */ - gpu_material_to_fixed(&GMS.matbuf[a], ma, gamma, ob); + gpu_material_to_fixed(&GMS.matbuf[a], ma, gamma, ob, new_shading_nodes); alphablend = (ma->alpha == 1.0f)? GPU_BLEND_SOLID: GPU_BLEND_ALPHA; if(do_alpha_pass && GMS.alphapass) @@ -1127,7 +1128,7 @@ int GPU_enable_material(int nr, void *attribs) /* unbind glsl material */ if(GMS.gboundmat) { if(GMS.alphapass) glDepthMask(0); - GPU_material_unbind(GPU_material_from_blender(GMS.gscene, GMS.gboundmat, GMS.gdrawtype)); + GPU_material_unbind(GPU_material_from_blender(GMS.gscene, GMS.gboundmat)); GMS.gboundmat= NULL; } @@ -1145,7 +1146,7 @@ int GPU_enable_material(int nr, void *attribs) /* bind glsl material and get attributes */ Material *mat = GMS.gmatbuf[nr]; - gpumat = GPU_material_from_blender(GMS.gscene, mat, GMS.gdrawtype); + gpumat = GPU_material_from_blender(GMS.gscene, mat); GPU_material_vertex_attributes(gpumat, gattribs); GPU_material_bind(gpumat, GMS.gob->lay, GMS.glay, 1.0, !(GMS.gob->mode & OB_MODE_TEXTURE_PAINT)); GPU_material_bind_uniforms(gpumat, GMS.gob->obmat, GMS.gviewmat, GMS.gviewinv, GMS.gob->col); @@ -1193,7 +1194,7 @@ void GPU_disable_material(void) if(GMS.gboundmat) { if(GMS.alphapass) glDepthMask(0); - GPU_material_unbind(GPU_material_from_blender(GMS.gscene, GMS.gboundmat, GMS.gdrawtype)); + GPU_material_unbind(GPU_material_from_blender(GMS.gscene, GMS.gboundmat)); GMS.gboundmat= NULL; } diff --git a/source/blender/gpu/intern/gpu_material.c b/source/blender/gpu/intern/gpu_material.c index 05525d6a491..def73b738eb 100644 --- a/source/blender/gpu/intern/gpu_material.c +++ b/source/blender/gpu/intern/gpu_material.c @@ -80,7 +80,6 @@ typedef enum DynMatProperty { struct GPUMaterial { Scene *scene; Material *ma; - int drawtype; /* for creating the material */ ListBase nodes; @@ -354,11 +353,6 @@ void GPU_material_output_link(GPUMaterial *material, GPUNodeLink *link) material->outlink= link; } -int GPU_material_drawtype(GPUMaterial *material) -{ - return material->drawtype; -} - void GPU_material_enable_alpha(GPUMaterial *material) { material->alpha= 1; @@ -1413,27 +1407,19 @@ static GPUNodeLink *GPU_blender_material(GPUMaterial *mat, Material *ma) return shr.combined; } -GPUMaterial *GPU_material_from_blender(Scene *scene, Material *ma, int drawtype) +GPUMaterial *GPU_material_from_blender(Scene *scene, Material *ma) { GPUMaterial *mat; GPUNodeLink *outlink; LinkData *link; - /* find an existing glsl shader that is already compiled */ - for(link=ma->gpumaterial.first; link; link=link->next) { - mat= (GPUMaterial*)link->data; - if(mat->scene == scene && mat->drawtype == drawtype) + for(link=ma->gpumaterial.first; link; link=link->next) + if(((GPUMaterial*)link->data)->scene == scene) return link->data; - } - - /* in texture draw mode, we need an active texture node */ - if(drawtype == OB_TEXTURE && (!ma->use_nodes || !nodeGetActiveTexture(ma->nodetree))) - return NULL; /* allocate material */ mat = GPU_material_construct_begin(ma); mat->scene = scene; - mat->drawtype = drawtype; if(!(scene->gm.flag & GAME_GLSL_NO_NODES) && ma->nodetree && ma->use_nodes) { /* create nodes */ @@ -1443,12 +1429,15 @@ GPUMaterial *GPU_material_from_blender(Scene *scene, Material *ma, int drawtype) /* create material */ outlink = GPU_blender_material(mat, ma); GPU_material_output_link(mat, outlink); + } + if(!scene_use_new_shading_nodes(scene)) { if(gpu_do_color_management(mat)) if(mat->outlink) GPU_link(mat, "linearrgb_to_srgb", mat->outlink, &mat->outlink); } + GPU_material_construct_end(mat); /* note that even if building the shader fails in some way, we still keep @@ -1730,7 +1719,7 @@ GPUShaderExport *GPU_shader_export(struct Scene *scene, struct Material *ma) if(!GPU_glsl_support()) return NULL; - mat = GPU_material_from_blender(scene, ma, OB_TEXTURE); + mat = GPU_material_from_blender(scene, ma); pass = (mat)? mat->pass: NULL; if(pass && pass->fragmentcode && pass->vertexcode) { diff --git a/source/blender/nodes/shader/node_shader_tree.c b/source/blender/nodes/shader/node_shader_tree.c index aec0087c85c..6fc2cc4bee9 100644 --- a/source/blender/nodes/shader/node_shader_tree.c +++ b/source/blender/nodes/shader/node_shader_tree.c @@ -123,14 +123,10 @@ bNodeTreeType ntreeType_Shader = { void ntreeGPUMaterialNodes(bNodeTree *ntree, GPUMaterial *mat) { bNodeTreeExec *exec; - bNode *tex_node = NULL; - - if(GPU_material_drawtype(mat) == OB_TEXTURE) - tex_node= nodeGetActiveTexture(ntree); exec = ntreeShaderBeginExecTree(ntree, 1); - ntreeExecGPUNodes(exec, tex_node, mat, 1); + ntreeExecGPUNodes(exec, mat, 1); ntreeShaderEndExecTree(exec, 1); } diff --git a/source/blender/nodes/shader/node_shader_util.c b/source/blender/nodes/shader/node_shader_util.c index 683391f5e77..58b54ac97fe 100644 --- a/source/blender/nodes/shader/node_shader_util.c +++ b/source/blender/nodes/shader/node_shader_util.c @@ -267,29 +267,7 @@ bNode *nodeGetActiveTexture(bNodeTree *ntree) return NULL; } -static void ntreeGPUOutputLink(GPUMaterial *mat, bNode *node, bNodeStack *nsout[MAX_SOCKET]) -{ - bNodeSocket *sock; - int i; - - /* link the first socket output as the material output, for viewing - individual textures in texture draw mode */ - for(sock=node->outputs.first, i=0; sock; sock=sock->next, i++) { - if(nsout[i]->data) { - GPUNodeLink *result= nsout[i]->data; - - /* for shader sockets, we can output the color directly, for others we - apply diffuse shading so we don't have flat colors */ - if(sock->type != SOCK_SHADER) - GPU_link(mat, "node_bsdf_diffuse", result, GPU_builtin(GPU_VIEW_NORMAL), &result); - - GPU_material_output_link(mat, result); - break; - } - } -} - -void ntreeExecGPUNodes(bNodeTreeExec *exec, bNode *tex_node, GPUMaterial *mat, int do_outputs) +void ntreeExecGPUNodes(bNodeTreeExec *exec, GPUMaterial *mat, int do_outputs) { bNodeExec *nodeexec; bNode *node; @@ -319,90 +297,16 @@ void ntreeExecGPUNodes(bNodeTreeExec *exec, bNode *tex_node, GPUMaterial *mat, i node_get_stack(node, stack, nsin, nsout); gpu_stack_from_data_list(gpuin, &node->inputs, nsin); gpu_stack_from_data_list(gpuout, &node->outputs, nsout); - - if(node->typeinfo->gpufunc(mat, node, gpuin, gpuout)) { + if(node->typeinfo->gpufunc(mat, node, gpuin, gpuout)) data_from_gpu_stack_list(&node->outputs, nsout, gpuout); - - /* for textured draw, output active node */ - if(node == tex_node) - ntreeGPUOutputLink(mat, node, nsout); - } } else if(node->typeinfo->gpuextfunc) { node_get_stack(node, stack, nsin, nsout); gpu_stack_from_data_list(gpuin, &node->inputs, nsin); gpu_stack_from_data_list(gpuout, &node->outputs, nsout); - if(node->typeinfo->gpuextfunc(mat, node, nodeexec->data, gpuin, gpuout)) { + if(node->typeinfo->gpuextfunc(mat, node, nodeexec->data, gpuin, gpuout)) data_from_gpu_stack_list(&node->outputs, nsout, gpuout); - - /* for textured draw, output active node */ - if(node == tex_node) - ntreeGPUOutputLink(mat, node, nsout); - } - } } } - -#if 0 - if((ntree->init & NTREE_EXEC_INIT)==0) - ntreeBeginExecTree(ntree); - - stack= ntree->stack; - - for(node= ntree->nodes.first; node; node= node->next) { - if(node->typeinfo->gpufunc) { - node_get_stack(node, stack, nsin, nsout, NULL); - gpu_from_node_stack(&node->inputs, nsin, gpuin); - gpu_from_node_stack(&node->outputs, nsout, gpuout); - - if(node->typeinfo->gpufunc(mat, node, gpuin, gpuout)) { - data_from_gpu_stack(&node->outputs, nsout, gpuout); - - /* for textured draw, output active node */ - if(node == tex_node) - ntreeGPUOutputLink(mat, node, nsout); - } - } - else if(node->type==NODE_GROUP && node->id) { - node_get_stack(node, stack, nsin, nsout, NULL); - gpu_node_group_execute(stack, mat, node, nsin); - } - - bNode *node, *tex_node; - bNodeStack *stack; - bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */ - bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */ - GPUNodeStack gpuin[MAX_SOCKET+1], gpuout[MAX_SOCKET+1]; - - if(GPU_material_drawtype(mat) == OB_TEXTURE) - tex_node= nodeGetActiveTexture(ntree); - else - tex_node= NULL; - - if((ntree->init & NTREE_EXEC_INIT)==0) - ntreeBeginExecTree(ntree); - - stack= ntree->stack; - - for(node= ntree->nodes.first; node; node= node->next) { - if(node->typeinfo->gpufunc) { - node_get_stack(node, stack, nsin, nsout, NULL); - gpu_from_node_stack(&node->inputs, nsin, gpuin); - gpu_from_node_stack(&node->outputs, nsout, gpuout); - - if(node->typeinfo->gpufunc(mat, node, gpuin, gpuout)) { - data_from_gpu_stack(&node->outputs, nsout, gpuout); - - /* for textured draw, output active node */ - if(node == tex_node) - ntreeGPUOutputLink(mat, node, nsout); - } - } - else if(node->type==NODE_GROUP && node->id) { - node_get_stack(node, stack, nsin, nsout, NULL); - gpu_node_group_execute(stack, mat, node, nsin); - } -#endif } - diff --git a/source/blender/nodes/shader/node_shader_util.h b/source/blender/nodes/shader/node_shader_util.h index b8efbf29cf5..2b3cae24a93 100644 --- a/source/blender/nodes/shader/node_shader_util.h +++ b/source/blender/nodes/shader/node_shader_util.h @@ -131,6 +131,6 @@ void nodestack_get_vec(float *in, short type_in, bNodeStack *ns); void node_gpu_stack_from_data(struct GPUNodeStack *gs, int type, struct bNodeStack *ns); void node_data_from_gpu_stack(struct bNodeStack *ns, struct GPUNodeStack *gs); -void ntreeExecGPUNodes(struct bNodeTreeExec *exec, struct bNode *tex_node, struct GPUMaterial *mat, int do_outputs); +void ntreeExecGPUNodes(struct bNodeTreeExec *exec, struct GPUMaterial *mat, int do_outputs); #endif diff --git a/source/gameengine/Ketsji/BL_BlenderShader.cpp b/source/gameengine/Ketsji/BL_BlenderShader.cpp index c63244dcae2..ffc301fb715 100644 --- a/source/gameengine/Ketsji/BL_BlenderShader.cpp +++ b/source/gameengine/Ketsji/BL_BlenderShader.cpp @@ -41,7 +41,7 @@ BL_BlenderShader::~BL_BlenderShader() void BL_BlenderShader::ReloadMaterial() { - mGPUMat = (mMat) ? GPU_material_from_blender(mBlenderScene, mMat, OB_RENDER) : NULL; + mGPUMat = (mMat) ? GPU_material_from_blender(mBlenderScene, mMat) : NULL; } void BL_BlenderShader::SetProg(bool enable, double time) diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp index 24c5b22e20f..a63c4ff9f13 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp @@ -887,7 +887,7 @@ void RAS_OpenGLRasterizer::IndexPrimitivesInternal(RAS_MeshSlot& ms, bool multi) Material* blmat = current_polymat->GetBlenderMaterial(); Scene* blscene = current_polymat->GetBlenderScene(); if (!wireframe && blscene && blmat) - GPU_material_vertex_attributes(GPU_material_from_blender(blscene, blmat, OB_RENDER), ¤t_gpu_attribs); + GPU_material_vertex_attributes(GPU_material_from_blender(blscene, blmat), ¤t_gpu_attribs); else memset(¤t_gpu_attribs, 0, sizeof(current_gpu_attribs)); // DM draw can mess up blending mode, restore at the end From aff03aa7780e4a7d0dafd06f6e1ed3b3cdb90b5b Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 12 Oct 2011 15:54:53 +0000 Subject: [PATCH 158/241] Cycles: tag shading nodes as being compatible with the old/new shading system, so they only appear in the list when needed. Old shading nodes were previously disabled entirely, breaking internal renderer compatibility. --- source/blender/blenkernel/BKE_node.h | 7 ++- source/blender/blenkernel/intern/node.c | 55 ++++++++++++------- .../blender/editors/space_node/node_header.c | 10 +++- source/blender/nodes/NOD_shader.h | 23 ++++++-- source/blender/nodes/intern/node_common.c | 1 + .../shader/nodes/node_shader_add_shader.c | 1 + .../shader/nodes/node_shader_attribute.c | 1 + .../shader/nodes/node_shader_background.c | 1 + .../shader/nodes/node_shader_blend_weight.c | 1 + .../nodes/node_shader_bsdf_anisotropic.c | 1 + .../shader/nodes/node_shader_bsdf_diffuse.c | 1 + .../shader/nodes/node_shader_bsdf_glass.c | 1 + .../shader/nodes/node_shader_bsdf_glossy.c | 1 + .../nodes/node_shader_bsdf_translucent.c | 1 + .../nodes/node_shader_bsdf_transparent.c | 1 + .../shader/nodes/node_shader_bsdf_velvet.c | 1 + .../nodes/shader/nodes/node_shader_camera.c | 1 + .../nodes/shader/nodes/node_shader_common.c | 5 +- .../nodes/shader/nodes/node_shader_curves.c | 2 + .../nodes/shader/nodes/node_shader_dynamic.c | 2 + .../nodes/shader/nodes/node_shader_emission.c | 1 + .../nodes/shader/nodes/node_shader_fresnel.c | 1 + .../nodes/shader/nodes/node_shader_geom.c | 1 + .../nodes/shader/nodes/node_shader_geometry.c | 1 + .../nodes/shader/nodes/node_shader_holdout.c | 1 + .../shader/nodes/node_shader_hueSatVal.c | 1 + .../nodes/shader/nodes/node_shader_invert.c | 1 + .../shader/nodes/node_shader_light_path.c | 1 + .../nodes/shader/nodes/node_shader_mapping.c | 1 + .../nodes/shader/nodes/node_shader_material.c | 2 + .../nodes/shader/nodes/node_shader_math.c | 1 + .../nodes/shader/nodes/node_shader_mixRgb.c | 1 + .../shader/nodes/node_shader_mix_shader.c | 1 + .../nodes/shader/nodes/node_shader_normal.c | 1 + .../nodes/shader/nodes/node_shader_output.c | 1 + .../shader/nodes/node_shader_output_lamp.c | 1 + .../nodes/node_shader_output_material.c | 1 + .../shader/nodes/node_shader_output_texture.c | 1 + .../shader/nodes/node_shader_output_world.c | 1 + .../nodes/shader/nodes/node_shader_rgb.c | 1 + .../shader/nodes/node_shader_sepcombRGB.c | 2 + .../nodes/shader/nodes/node_shader_squeeze.c | 1 + .../shader/nodes/node_shader_tex_blend.c | 1 + .../shader/nodes/node_shader_tex_clouds.c | 1 + .../shader/nodes/node_shader_tex_coord.c | 1 + .../shader/nodes/node_shader_tex_distnoise.c | 1 + .../nodes/node_shader_tex_environment.c | 1 + .../shader/nodes/node_shader_tex_image.c | 1 + .../shader/nodes/node_shader_tex_magic.c | 1 + .../shader/nodes/node_shader_tex_marble.c | 1 + .../shader/nodes/node_shader_tex_musgrave.c | 1 + .../shader/nodes/node_shader_tex_noise.c | 1 + .../nodes/shader/nodes/node_shader_tex_sky.c | 1 + .../shader/nodes/node_shader_tex_stucci.c | 1 + .../shader/nodes/node_shader_tex_voronoi.c | 1 + .../nodes/shader/nodes/node_shader_tex_wood.c | 1 + .../nodes/shader/nodes/node_shader_texture.c | 1 + .../nodes/shader/nodes/node_shader_valToRgb.c | 2 + .../nodes/shader/nodes/node_shader_value.c | 1 + .../nodes/shader/nodes/node_shader_vectMath.c | 1 + .../nodes/node_shader_volume_isotropic.c | 3 +- .../nodes/node_shader_volume_transparent.c | 3 +- 62 files changed, 136 insertions(+), 30 deletions(-) diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h index 92968f23396..b25bfd4975d 100644 --- a/source/blender/blenkernel/BKE_node.h +++ b/source/blender/blenkernel/BKE_node.h @@ -133,7 +133,7 @@ typedef struct bNodeType { char name[32]; float width, minwidth, maxwidth; float height, minheight, maxheight; - short nclass, flag; + short nclass, flag, compatibility; /* templates for static sockets */ bNodeSocketTemplate *inputs, *outputs; @@ -236,6 +236,10 @@ typedef struct bNodeType { #define NODE_CLASS_SHADER 40 #define NODE_CLASS_LAYOUT 100 +/* nodetype->compatibility */ +#define NODE_OLD_SHADING 1 +#define NODE_NEW_SHADING 2 + /* enum values for input/output */ #define SOCK_IN 1 #define SOCK_OUT 2 @@ -394,6 +398,7 @@ void node_type_exec_new(struct bNodeType *ntype, void (*newexecfunc)(void *data, int thread, struct bNode *, void *nodedata, struct bNodeStack **, struct bNodeStack **)); void node_type_gpu(struct bNodeType *ntype, int (*gpufunc)(struct GPUMaterial *mat, struct bNode *node, struct GPUNodeStack *in, struct GPUNodeStack *out)); void node_type_gpu_ext(struct bNodeType *ntype, int (*gpuextfunc)(struct GPUMaterial *mat, struct bNode *node, void *nodedata, struct GPUNodeStack *in, struct GPUNodeStack *out)); +void node_type_compatibility(struct bNodeType *ntype, short compatibility); /* ************** COMMON NODES *************** */ diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index d7744852c25..307a30127f8 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -1752,6 +1752,10 @@ void node_type_gpu_ext(struct bNodeType *ntype, int (*gpuextfunc)(struct GPUMate ntype->gpuextfunc = gpuextfunc; } +void node_type_compatibility(struct bNodeType *ntype, short compatibility) +{ + ntype->compatibility = compatibility; +} static bNodeType *is_nodetype_registered(ListBase *typelist, int type) { @@ -1856,20 +1860,33 @@ static void registerShaderNodes(ListBase *ntypelist) { register_node_type_frame(ntypelist); + register_node_type_sh_group(ntypelist); + //register_node_type_sh_forloop(ntypelist); + //register_node_type_sh_whileloop(ntypelist); + + register_node_type_sh_output(ntypelist); + register_node_type_sh_material(ntypelist); + register_node_type_sh_camera(ntypelist); register_node_type_sh_value(ntypelist); register_node_type_sh_rgb(ntypelist); + register_node_type_sh_mix_rgb(ntypelist); + register_node_type_sh_valtorgb(ntypelist); + register_node_type_sh_rgbtobw(ntypelist); + register_node_type_sh_texture(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_group(ntypelist); -// register_node_type_sh_forloop(ntypelist); -// register_node_type_sh_whileloop(ntypelist); - - //register_node_type_sh_output(ntypelist); - register_node_type_sh_mix_rgb(ntypelist); - register_node_type_sh_rgbtobw(ntypelist); - register_node_type_sh_mapping(ntypelist); - //register_node_type_sh_texture(ntypelist); + register_node_type_sh_squeeze(ntypelist); + //register_node_type_sh_dynamic(ntypelist); + register_node_type_sh_material_ext(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); @@ -1880,15 +1897,16 @@ static void registerShaderNodes(ListBase *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_glass(ntypelist); + //register_node_type_sh_bsdf_anisotropic(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_holdout(ntypelist); register_node_type_sh_volume_transparent(ntypelist); register_node_type_sh_volume_isotropic(ntypelist); - register_node_type_sh_holdout(ntypelist); register_node_type_sh_mix_shader(ntypelist); register_node_type_sh_add_shader(ntypelist); @@ -1897,19 +1915,16 @@ static void registerShaderNodes(ListBase *ntypelist) //register_node_type_sh_output_texture(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_sky(ntypelist); + register_node_type_sh_tex_voronoi(ntypelist); + register_node_type_sh_tex_blend(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_clouds(ntypelist); register_node_type_sh_tex_wood(ntypelist); + register_node_type_sh_tex_musgrave(ntypelist); } static void registerTextureNodes(ListBase *ntypelist) diff --git a/source/blender/editors/space_node/node_header.c b/source/blender/editors/space_node/node_header.c index d5d7929faa3..56a16793ece 100644 --- a/source/blender/editors/space_node/node_header.c +++ b/source/blender/editors/space_node/node_header.c @@ -171,10 +171,11 @@ static int node_tree_has_type(int treetype, int nodetype) static void node_add_menu(bContext *C, uiLayout *layout, void *arg_nodeclass) { Main *bmain= CTX_data_main(C); + Scene *scene= CTX_data_scene(C); SpaceNode *snode= CTX_wm_space_node(C); bNodeTree *ntree; int nodeclass= GET_INT_FROM_POINTER(arg_nodeclass); - int event; + int event, compatibility; ntree = snode->nodetree; @@ -182,6 +183,11 @@ static void node_add_menu(bContext *C, uiLayout *layout, void *arg_nodeclass) uiItemS(layout); return; } + + if(scene_use_new_shading_nodes(scene)) + compatibility= NODE_NEW_SHADING; + else + compatibility= NODE_OLD_SHADING; if (nodeclass==NODE_CLASS_GROUP) { bNodeTree *ngroup; @@ -213,7 +219,7 @@ static void node_add_menu(bContext *C, uiLayout *layout, void *arg_nodeclass) uiLayoutSetFunc(layout, do_node_add_static, NULL); for (ntype=ntreeGetType(ntree->type)->node_types.first; ntype; ntype=ntype->next) { - if(ntype->nclass==nodeclass && ntype->name) + if(ntype->nclass==nodeclass && ntype->name && (ntype->compatibility&compatibility)) uiItemV(layout, ntype->name, 0, ntype->type); } } diff --git a/source/blender/nodes/NOD_shader.h b/source/blender/nodes/NOD_shader.h index d504b6d757b..f013a76bf03 100644 --- a/source/blender/nodes/NOD_shader.h +++ b/source/blender/nodes/NOD_shader.h @@ -49,14 +49,29 @@ void register_node_type_sh_group(ListBase *lb); void register_node_type_sh_forloop(ListBase *lb); void register_node_type_sh_whileloop(ListBase *lb); +void register_node_type_sh_output(ListBase *lb); +void register_node_type_sh_material(ListBase *lb); +void register_node_type_sh_camera(ListBase *lb); void register_node_type_sh_value(ListBase *lb); void register_node_type_sh_rgb(ListBase *lb); +void register_node_type_sh_mix_rgb(ListBase *lb); +void register_node_type_sh_valtorgb(ListBase *lb); +void register_node_type_sh_rgbtobw(ListBase *lb); +void register_node_type_sh_texture(ListBase *lb); +void register_node_type_sh_normal(ListBase *lb); +void register_node_type_sh_geom(ListBase *lb); +void register_node_type_sh_mapping(ListBase *lb); +void register_node_type_sh_curve_vec(ListBase *lb); +void register_node_type_sh_curve_rgb(ListBase *lb); void register_node_type_sh_math(ListBase *lb); void register_node_type_sh_vect_math(ListBase *lb); -void register_node_type_sh_mix_rgb(ListBase *lb); -void register_node_type_sh_rgbtobw(ListBase *lb); -void register_node_type_sh_mapping(ListBase *lb); -void register_node_type_sh_texture(ListBase *lb); +void register_node_type_sh_squeeze(ListBase *lb); +void register_node_type_sh_dynamic(ListBase *lb); +void register_node_type_sh_material_ext(ListBase *lb); +void register_node_type_sh_invert(ListBase *lb); +void register_node_type_sh_seprgb(ListBase *lb); +void register_node_type_sh_combrgb(ListBase *lb); +void register_node_type_sh_hue_sat(ListBase *lb); void register_node_type_sh_attribute(ListBase *lb); void register_node_type_sh_geometry(ListBase *lb); diff --git a/source/blender/nodes/intern/node_common.c b/source/blender/nodes/intern/node_common.c index fa5a3c727c2..b4f2bf31515 100644 --- a/source/blender/nodes/intern/node_common.c +++ b/source/blender/nodes/intern/node_common.c @@ -977,6 +977,7 @@ void register_node_type_frame(ListBase *lb) node_type_base(ntype, NODE_FRAME, "Frame", NODE_CLASS_LAYOUT, NODE_BACKGROUND); node_type_size(ntype, 150, 100, 0); + node_type_compatibility(ntype, NODE_OLD_SHADING|NODE_NEW_SHADING); ntype->needs_free = 1; nodeRegisterType(lb, ntype); diff --git a/source/blender/nodes/shader/nodes/node_shader_add_shader.c b/source/blender/nodes/shader/nodes/node_shader_add_shader.c index 9bce5c94343..1cee889d601 100644 --- a/source/blender/nodes/shader/nodes/node_shader_add_shader.c +++ b/source/blender/nodes/shader/nodes/node_shader_add_shader.c @@ -57,6 +57,7 @@ void register_node_type_sh_add_shader(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_ADD_SHADER, "Add Shader", NODE_CLASS_SHADER, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_add_shader_in, sh_node_add_shader_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_attribute.c b/source/blender/nodes/shader/nodes/node_shader_attribute.c index 569a75ee79c..131cfc3d285 100644 --- a/source/blender/nodes/shader/nodes/node_shader_attribute.c +++ b/source/blender/nodes/shader/nodes/node_shader_attribute.c @@ -47,6 +47,7 @@ void register_node_type_sh_attribute(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_ATTRIBUTE, "Attribute", NODE_CLASS_INPUT, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, NULL, sh_node_attribute_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_background.c b/source/blender/nodes/shader/nodes/node_shader_background.c index fab2310f4f6..55f77e66af9 100644 --- a/source/blender/nodes/shader/nodes/node_shader_background.c +++ b/source/blender/nodes/shader/nodes/node_shader_background.c @@ -53,6 +53,7 @@ void register_node_type_sh_background(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_BACKGROUND, "Background", NODE_CLASS_SHADER, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_background_in, sh_node_background_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_blend_weight.c b/source/blender/nodes/shader/nodes/node_shader_blend_weight.c index 1affc276c18..f214f765abf 100644 --- a/source/blender/nodes/shader/nodes/node_shader_blend_weight.c +++ b/source/blender/nodes/shader/nodes/node_shader_blend_weight.c @@ -56,6 +56,7 @@ void register_node_type_sh_blend_weight(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_BLEND_WEIGHT, "Blend Weight", NODE_CLASS_INPUT, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_blend_weight_in, sh_node_blend_weight_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c index 8ee6be6e624..ef590dd7361 100644 --- a/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c +++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c @@ -58,6 +58,7 @@ void register_node_type_sh_bsdf_anisotropic(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_BSDF_ANISOTROPIC, "Glossy Anisotropic BSDF", NODE_CLASS_SHADER, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_bsdf_anisotropic_in, sh_node_bsdf_anisotropic_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.c index 33f9ab8f469..47f53ae4aa1 100644 --- a/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.c +++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.c @@ -56,6 +56,7 @@ void register_node_type_sh_bsdf_diffuse(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_BSDF_DIFFUSE, "Diffuse BSDF", NODE_CLASS_SHADER, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_bsdf_diffuse_in, sh_node_bsdf_diffuse_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.c index c7a3de44fb2..b8237e0e276 100644 --- a/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.c +++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.c @@ -58,6 +58,7 @@ void register_node_type_sh_bsdf_glass(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_BSDF_GLASS, "Glass BSDF", NODE_CLASS_SHADER, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_bsdf_glass_in, sh_node_bsdf_glass_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.c index 879ef0d8ae8..c8f9acfa206 100644 --- a/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.c +++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.c @@ -58,6 +58,7 @@ void register_node_type_sh_bsdf_glossy(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_BSDF_GLOSSY, "Glossy BSDF", NODE_CLASS_SHADER, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_bsdf_glossy_in, sh_node_bsdf_glossy_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.c index 6f02f281cff..4ea41b379a1 100644 --- a/source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.c +++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.c @@ -56,6 +56,7 @@ void register_node_type_sh_bsdf_translucent(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_BSDF_TRANSLUCENT, "Translucent BSDF", NODE_CLASS_SHADER, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_bsdf_translucent_in, sh_node_bsdf_translucent_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.c index 49e131b289e..fceb54a3369 100644 --- a/source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.c +++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.c @@ -56,6 +56,7 @@ void register_node_type_sh_bsdf_transparent(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_BSDF_TRANSPARENT, "Transparent BSDF", NODE_CLASS_SHADER, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_bsdf_transparent_in, sh_node_bsdf_transparent_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_velvet.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_velvet.c index 49c783d046e..cc7eb626655 100644 --- a/source/blender/nodes/shader/nodes/node_shader_bsdf_velvet.c +++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_velvet.c @@ -57,6 +57,7 @@ void register_node_type_sh_bsdf_velvet(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_BSDF_VELVET, "Velvet BSDF", NODE_CLASS_SHADER, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_bsdf_velvet_in, sh_node_bsdf_velvet_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_camera.c b/source/blender/nodes/shader/nodes/node_shader_camera.c index c1e737fcb53..2e13cad65b6 100644 --- a/source/blender/nodes/shader/nodes/node_shader_camera.c +++ b/source/blender/nodes/shader/nodes/node_shader_camera.c @@ -64,6 +64,7 @@ void register_node_type_sh_camera(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_CAMERA, "Camera Data", NODE_CLASS_INPUT, 0); + node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_socket_templates(&ntype, NULL, sh_node_camera_out); node_type_size(&ntype, 95, 95, 120); node_type_storage(&ntype, "node_camera", NULL, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_common.c b/source/blender/nodes/shader/nodes/node_shader_common.c index ef40e3ce4d2..548ed91337b 100644 --- a/source/blender/nodes/shader/nodes/node_shader_common.c +++ b/source/blender/nodes/shader/nodes/node_shader_common.c @@ -176,7 +176,7 @@ static int gpu_group_execute(GPUMaterial *mat, bNode *node, void *nodedata, GPUN bNodeTreeExec *exec= (bNodeTreeExec*)nodedata; group_gpu_copy_inputs(node, in, exec->stack); - ntreeExecGPUNodes(exec, NULL, mat, (node->flag & NODE_GROUP_EDIT)); + ntreeExecGPUNodes(exec, mat, (node->flag & NODE_GROUP_EDIT)); group_gpu_move_outputs(node, out, exec->stack); return 1; @@ -187,6 +187,7 @@ void register_node_type_sh_group(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, NODE_GROUP, "Group", NODE_CLASS_GROUP, NODE_OPTIONS|NODE_CONST_OUTPUT); + node_type_compatibility(&ntype, NODE_NEW_SHADING|NODE_OLD_SHADING); node_type_socket_templates(&ntype, NULL, NULL); node_type_size(&ntype, 120, 60, 200); node_type_label(&ntype, node_group_label); @@ -249,6 +250,7 @@ void register_node_type_sh_forloop(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, NODE_FORLOOP, "For", NODE_CLASS_GROUP, NODE_OPTIONS); + node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_socket_templates(&ntype, NULL, NULL); node_type_size(&ntype, 120, 60, 200); node_type_label(&ntype, node_group_label); @@ -311,6 +313,7 @@ void register_node_type_sh_whileloop(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, NODE_WHILELOOP, "While", NODE_CLASS_GROUP, NODE_OPTIONS); + node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_socket_templates(&ntype, NULL, NULL); node_type_size(&ntype, 120, 60, 200); node_type_label(&ntype, node_group_label); diff --git a/source/blender/nodes/shader/nodes/node_shader_curves.c b/source/blender/nodes/shader/nodes/node_shader_curves.c index 9dedeba6d39..3af065aa65e 100644 --- a/source/blender/nodes/shader/nodes/node_shader_curves.c +++ b/source/blender/nodes/shader/nodes/node_shader_curves.c @@ -76,6 +76,7 @@ void register_node_type_sh_curve_vec(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_CURVE_VEC, "Vector Curves", NODE_CLASS_OP_VECTOR, NODE_OPTIONS); + node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_socket_templates(&ntype, sh_node_curve_vec_in, sh_node_curve_vec_out); node_type_size(&ntype, 200, 140, 320); node_type_init(&ntype, node_shader_init_curve_vec); @@ -130,6 +131,7 @@ void register_node_type_sh_curve_rgb(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_CURVE_RGB, "RGB Curves", NODE_CLASS_OP_COLOR, NODE_OPTIONS); + node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_socket_templates(&ntype, sh_node_curve_rgb_in, sh_node_curve_rgb_out); node_type_size(&ntype, 200, 140, 320); node_type_init(&ntype, node_shader_init_curve_rgb); diff --git a/source/blender/nodes/shader/nodes/node_shader_dynamic.c b/source/blender/nodes/shader/nodes/node_shader_dynamic.c index 5aae54d858b..c9ba47f07a3 100644 --- a/source/blender/nodes/shader/nodes/node_shader_dynamic.c +++ b/source/blender/nodes/shader/nodes/node_shader_dynamic.c @@ -768,6 +768,7 @@ void register_node_type_sh_dynamic(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, NODE_DYNAMIC, "Dynamic", NODE_CLASS_OP_DYNAMIC, NODE_OPTIONS, NULL, NULL); + node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_size(&ntype, 150, 60, 300); node_type_init(&ntype, node_dynamic_init_cb); node_type_storage(&ntype, "NodeScriptDict", node_dynamic_free_storage_cb, node_dynamic_copy_cb); @@ -783,6 +784,7 @@ void register_node_type_sh_dynamic(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, NODE_DYNAMIC, "Dynamic", NODE_CLASS_OP_DYNAMIC, 0); + node_type_compatibility(&ntype, NODE_OLD_SHADING); nodeRegisterType(lb, &ntype); } diff --git a/source/blender/nodes/shader/nodes/node_shader_emission.c b/source/blender/nodes/shader/nodes/node_shader_emission.c index d57c5b672a5..32e17d772d7 100644 --- a/source/blender/nodes/shader/nodes/node_shader_emission.c +++ b/source/blender/nodes/shader/nodes/node_shader_emission.c @@ -57,6 +57,7 @@ void register_node_type_sh_emission(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_EMISSION, "Emission", NODE_CLASS_SHADER, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_emission_in, sh_node_emission_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_fresnel.c b/source/blender/nodes/shader/nodes/node_shader_fresnel.c index c918d8464e6..e93eac06eca 100644 --- a/source/blender/nodes/shader/nodes/node_shader_fresnel.c +++ b/source/blender/nodes/shader/nodes/node_shader_fresnel.c @@ -56,6 +56,7 @@ void register_node_type_sh_fresnel(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_FRESNEL, "Fresnel", NODE_CLASS_INPUT, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_fresnel_in, sh_node_fresnel_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_geom.c b/source/blender/nodes/shader/nodes/node_shader_geom.c index 9ea12ada484..4269469b27d 100644 --- a/source/blender/nodes/shader/nodes/node_shader_geom.c +++ b/source/blender/nodes/shader/nodes/node_shader_geom.c @@ -141,6 +141,7 @@ void register_node_type_sh_geom(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_GEOM, "Geometry", NODE_CLASS_INPUT, NODE_OPTIONS); + node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_socket_templates(&ntype, NULL, sh_node_geom_out); node_type_size(&ntype, 120, 80, 160); node_type_init(&ntype, node_shader_init_geometry); diff --git a/source/blender/nodes/shader/nodes/node_shader_geometry.c b/source/blender/nodes/shader/nodes/node_shader_geometry.c index 73ec0b2e5d6..f077d700a74 100644 --- a/source/blender/nodes/shader/nodes/node_shader_geometry.c +++ b/source/blender/nodes/shader/nodes/node_shader_geometry.c @@ -59,6 +59,7 @@ void register_node_type_sh_geometry(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_GEOMETRY, "Geometry", NODE_CLASS_INPUT, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, NULL, sh_node_geometry_out); node_type_size(&ntype, 120, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_holdout.c b/source/blender/nodes/shader/nodes/node_shader_holdout.c index 1f376c4941c..170116aa833 100644 --- a/source/blender/nodes/shader/nodes/node_shader_holdout.c +++ b/source/blender/nodes/shader/nodes/node_shader_holdout.c @@ -51,6 +51,7 @@ void register_node_type_sh_holdout(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_HOLDOUT, "Holdout", NODE_CLASS_SHADER, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_holdout_in, sh_node_holdout_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_hueSatVal.c b/source/blender/nodes/shader/nodes/node_shader_hueSatVal.c index f4f69cf56fe..2b266d01db2 100644 --- a/source/blender/nodes/shader/nodes/node_shader_hueSatVal.c +++ b/source/blender/nodes/shader/nodes/node_shader_hueSatVal.c @@ -87,6 +87,7 @@ void register_node_type_sh_hue_sat(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_HUE_SAT, "Hue Saturation Value", NODE_CLASS_OP_COLOR, NODE_OPTIONS); + node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_socket_templates(&ntype, sh_node_hue_sat_in, sh_node_hue_sat_out); node_type_size(&ntype, 150, 80, 250); node_type_exec(&ntype, node_shader_exec_hue_sat); diff --git a/source/blender/nodes/shader/nodes/node_shader_invert.c b/source/blender/nodes/shader/nodes/node_shader_invert.c index 5347d98b42e..4ac7463dac1 100644 --- a/source/blender/nodes/shader/nodes/node_shader_invert.c +++ b/source/blender/nodes/shader/nodes/node_shader_invert.c @@ -79,6 +79,7 @@ void register_node_type_sh_invert(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_INVERT, "Invert", NODE_CLASS_OP_COLOR, NODE_OPTIONS); + node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_socket_templates(&ntype, sh_node_invert_in, sh_node_invert_out); node_type_size(&ntype, 90, 80, 100); node_type_exec(&ntype, node_shader_exec_invert); diff --git a/source/blender/nodes/shader/nodes/node_shader_light_path.c b/source/blender/nodes/shader/nodes/node_shader_light_path.c index a811259cced..0055257dda2 100644 --- a/source/blender/nodes/shader/nodes/node_shader_light_path.c +++ b/source/blender/nodes/shader/nodes/node_shader_light_path.c @@ -57,6 +57,7 @@ void register_node_type_sh_light_path(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_LIGHT_PATH, "Light Path", NODE_CLASS_INPUT, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, NULL, sh_node_light_path_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_mapping.c b/source/blender/nodes/shader/nodes/node_shader_mapping.c index 05432708b29..2abc6dd3f77 100644 --- a/source/blender/nodes/shader/nodes/node_shader_mapping.c +++ b/source/blender/nodes/shader/nodes/node_shader_mapping.c @@ -93,6 +93,7 @@ void register_node_type_sh_mapping(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_MAPPING, "Mapping", NODE_CLASS_OP_VECTOR, NODE_OPTIONS); + node_type_compatibility(&ntype, NODE_OLD_SHADING|NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_mapping_in, sh_node_mapping_out); node_type_size(&ntype, 240, 160, 320); node_type_init(&ntype, node_shader_init_mapping); diff --git a/source/blender/nodes/shader/nodes/node_shader_material.c b/source/blender/nodes/shader/nodes/node_shader_material.c index 21fb4db115b..d30201b100e 100644 --- a/source/blender/nodes/shader/nodes/node_shader_material.c +++ b/source/blender/nodes/shader/nodes/node_shader_material.c @@ -307,6 +307,7 @@ void register_node_type_sh_material(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_MATERIAL, "Material", NODE_CLASS_INPUT, NODE_OPTIONS|NODE_PREVIEW); + node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_socket_templates(&ntype, sh_node_material_in, sh_node_material_out); node_type_size(&ntype, 120, 80, 240); node_type_init(&ntype, node_shader_init_material); @@ -322,6 +323,7 @@ void register_node_type_sh_material_ext(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_MATERIAL_EXT, "Extended Material", NODE_CLASS_INPUT, NODE_OPTIONS|NODE_PREVIEW); + node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_socket_templates(&ntype, sh_node_material_ext_in, sh_node_material_ext_out); node_type_size(&ntype, 120, 80, 240); node_type_init(&ntype, node_shader_init_material); diff --git a/source/blender/nodes/shader/nodes/node_shader_math.c b/source/blender/nodes/shader/nodes/node_shader_math.c index 592779d6803..a09fe3db69d 100644 --- a/source/blender/nodes/shader/nodes/node_shader_math.c +++ b/source/blender/nodes/shader/nodes/node_shader_math.c @@ -243,6 +243,7 @@ void register_node_type_sh_math(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_MATH, "Math", NODE_CLASS_CONVERTOR, NODE_OPTIONS); + node_type_compatibility(&ntype, NODE_OLD_SHADING|NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_math_in, sh_node_math_out); node_type_size(&ntype, 120, 110, 160); node_type_label(&ntype, node_math_label); diff --git a/source/blender/nodes/shader/nodes/node_shader_mixRgb.c b/source/blender/nodes/shader/nodes/node_shader_mixRgb.c index ed5695edd42..a7b5ac29bc5 100644 --- a/source/blender/nodes/shader/nodes/node_shader_mixRgb.c +++ b/source/blender/nodes/shader/nodes/node_shader_mixRgb.c @@ -80,6 +80,7 @@ void register_node_type_sh_mix_rgb(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_MIX_RGB, "Mix", NODE_CLASS_OP_COLOR, NODE_OPTIONS); + node_type_compatibility(&ntype, NODE_OLD_SHADING|NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_mix_rgb_in, sh_node_mix_rgb_out); node_type_size(&ntype, 100, 60, 150); node_type_label(&ntype, node_blend_label); diff --git a/source/blender/nodes/shader/nodes/node_shader_mix_shader.c b/source/blender/nodes/shader/nodes/node_shader_mix_shader.c index 49f53633080..a41a95a0fa4 100644 --- a/source/blender/nodes/shader/nodes/node_shader_mix_shader.c +++ b/source/blender/nodes/shader/nodes/node_shader_mix_shader.c @@ -58,6 +58,7 @@ void register_node_type_sh_mix_shader(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_MIX_SHADER, "Mix Shader", NODE_CLASS_SHADER, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_mix_shader_in, sh_node_mix_shader_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_normal.c b/source/blender/nodes/shader/nodes/node_shader_normal.c index 1ce7c61c593..e40a5a8b133 100644 --- a/source/blender/nodes/shader/nodes/node_shader_normal.c +++ b/source/blender/nodes/shader/nodes/node_shader_normal.c @@ -86,6 +86,7 @@ void register_node_type_sh_normal(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_NORMAL, "Normal", NODE_CLASS_OP_VECTOR, NODE_OPTIONS); + node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_socket_templates(&ntype, sh_node_normal_in, sh_node_normal_out); node_type_init(&ntype, node_shader_init_normal); node_type_exec(&ntype, node_shader_exec_normal); diff --git a/source/blender/nodes/shader/nodes/node_shader_output.c b/source/blender/nodes/shader/nodes/node_shader_output.c index 94990bd9cf1..d59534f3307 100644 --- a/source/blender/nodes/shader/nodes/node_shader_output.c +++ b/source/blender/nodes/shader/nodes/node_shader_output.c @@ -85,6 +85,7 @@ void register_node_type_sh_output(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_OUTPUT, "Output", NODE_CLASS_OUTPUT, NODE_PREVIEW); + node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_socket_templates(&ntype, sh_node_output_in, NULL); node_type_size(&ntype, 80, 60, 200); node_type_exec(&ntype, node_shader_exec_output); diff --git a/source/blender/nodes/shader/nodes/node_shader_output_lamp.c b/source/blender/nodes/shader/nodes/node_shader_output_lamp.c index aca2aebeb24..4a7c033ad84 100644 --- a/source/blender/nodes/shader/nodes/node_shader_output_lamp.c +++ b/source/blender/nodes/shader/nodes/node_shader_output_lamp.c @@ -46,6 +46,7 @@ void register_node_type_sh_output_lamp(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_OUTPUT_LAMP, "Lamp Output", NODE_CLASS_OUTPUT, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_output_lamp_in, NULL); node_type_size(&ntype, 120, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_output_material.c b/source/blender/nodes/shader/nodes/node_shader_output_material.c index 3d1c9c9fdf7..a3dbb103f21 100644 --- a/source/blender/nodes/shader/nodes/node_shader_output_material.c +++ b/source/blender/nodes/shader/nodes/node_shader_output_material.c @@ -58,6 +58,7 @@ void register_node_type_sh_output_material(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_OUTPUT_MATERIAL, "Material Output", NODE_CLASS_OUTPUT, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_output_material_in, NULL); node_type_size(&ntype, 120, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_output_texture.c b/source/blender/nodes/shader/nodes/node_shader_output_texture.c index ad37746f541..d436b23fb61 100644 --- a/source/blender/nodes/shader/nodes/node_shader_output_texture.c +++ b/source/blender/nodes/shader/nodes/node_shader_output_texture.c @@ -63,6 +63,7 @@ void register_node_type_sh_output_texture(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_OUTPUT_TEXTURE, "Texture Output", NODE_CLASS_OUTPUT, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_output_texture_in, NULL); node_type_size(&ntype, 120, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_output_world.c b/source/blender/nodes/shader/nodes/node_shader_output_world.c index 5e42200ed28..7bc06401dd0 100644 --- a/source/blender/nodes/shader/nodes/node_shader_output_world.c +++ b/source/blender/nodes/shader/nodes/node_shader_output_world.c @@ -46,6 +46,7 @@ void register_node_type_sh_output_world(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_OUTPUT_WORLD, "World Output", NODE_CLASS_OUTPUT, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_output_world_in, NULL); node_type_size(&ntype, 120, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_rgb.c b/source/blender/nodes/shader/nodes/node_shader_rgb.c index d612e5c228f..8c03969edd2 100644 --- a/source/blender/nodes/shader/nodes/node_shader_rgb.c +++ b/source/blender/nodes/shader/nodes/node_shader_rgb.c @@ -73,6 +73,7 @@ void register_node_type_sh_rgb(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_RGB, "RGB", NODE_CLASS_INPUT, NODE_OPTIONS); + node_type_compatibility(&ntype, NODE_OLD_SHADING|NODE_NEW_SHADING); node_type_socket_templates(&ntype, NULL, sh_node_rgb_out); node_type_init(&ntype, node_shader_init_rgb); node_type_size(&ntype, 140, 80, 140); diff --git a/source/blender/nodes/shader/nodes/node_shader_sepcombRGB.c b/source/blender/nodes/shader/nodes/node_shader_sepcombRGB.c index 15a8a4952fb..db37fe44eef 100644 --- a/source/blender/nodes/shader/nodes/node_shader_sepcombRGB.c +++ b/source/blender/nodes/shader/nodes/node_shader_sepcombRGB.c @@ -63,6 +63,7 @@ void register_node_type_sh_seprgb(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_SEPRGB, "Separate RGB", NODE_CLASS_CONVERTOR, 0); + node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_socket_templates(&ntype, sh_node_seprgb_in, sh_node_seprgb_out); node_type_size(&ntype, 80, 40, 140); node_type_exec(&ntype, node_shader_exec_seprgb); @@ -102,6 +103,7 @@ void register_node_type_sh_combrgb(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_COMBRGB, "Combine RGB", NODE_CLASS_CONVERTOR, NODE_OPTIONS); + node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_socket_templates(&ntype, sh_node_combrgb_in, sh_node_combrgb_out); node_type_size(&ntype, 80, 40, 140); node_type_exec(&ntype, node_shader_exec_combrgb); diff --git a/source/blender/nodes/shader/nodes/node_shader_squeeze.c b/source/blender/nodes/shader/nodes/node_shader_squeeze.c index b9eb116b866..30550a685c2 100644 --- a/source/blender/nodes/shader/nodes/node_shader_squeeze.c +++ b/source/blender/nodes/shader/nodes/node_shader_squeeze.c @@ -69,6 +69,7 @@ void register_node_type_sh_squeeze(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_SQUEEZE, "Squeeze Value", NODE_CLASS_CONVERTOR, NODE_OPTIONS); + node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_socket_templates(&ntype, sh_node_squeeze_in, sh_node_squeeze_out); node_type_size(&ntype, 120, 110, 160); node_type_storage(&ntype, "node_squeeze", NULL, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_blend.c b/source/blender/nodes/shader/nodes/node_shader_tex_blend.c index a42da334df2..659b0cadd5b 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_blend.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_blend.c @@ -123,6 +123,7 @@ void register_node_type_sh_tex_blend(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_TEX_BLEND, "Blend Texture", NODE_CLASS_TEXTURE, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_tex_blend_in, sh_node_tex_blend_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, node_shader_init_tex_blend); diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_clouds.c b/source/blender/nodes/shader/nodes/node_shader_tex_clouds.c index e140a587f87..c38dd155a7b 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_clouds.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_clouds.c @@ -106,6 +106,7 @@ void register_node_type_sh_tex_clouds(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_TEX_CLOUDS, "Clouds Texture", NODE_CLASS_TEXTURE, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_tex_clouds_in, sh_node_tex_clouds_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, node_shader_init_tex_clouds); diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_coord.c b/source/blender/nodes/shader/nodes/node_shader_tex_coord.c index 5fdde7e23ce..0239a64110d 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_coord.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_coord.c @@ -63,6 +63,7 @@ void register_node_type_sh_tex_coord(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_TEX_COORD, "Texture Coordinate", NODE_CLASS_INPUT, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, NULL, sh_node_tex_coord_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_distnoise.c b/source/blender/nodes/shader/nodes/node_shader_tex_distnoise.c index f91e6ee9f3d..c28fef9e472 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_distnoise.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_distnoise.c @@ -103,6 +103,7 @@ void register_node_type_sh_tex_distnoise(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_TEX_DISTNOISE, "Distorted Noise Texture", NODE_CLASS_TEXTURE, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_tex_distnoise_in, sh_node_tex_distnoise_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, node_shader_init_tex_distorted_noise); diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_environment.c b/source/blender/nodes/shader/nodes/node_shader_tex_environment.c index 19271e0051b..7fbd5142e22 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_environment.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_environment.c @@ -103,6 +103,7 @@ void register_node_type_sh_tex_environment(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_TEX_ENVIRONMENT, "Environment Texture", NODE_CLASS_TEXTURE, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_tex_environment_in, sh_node_tex_environment_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, node_shader_init_tex_environment); diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_image.c b/source/blender/nodes/shader/nodes/node_shader_tex_image.c index 4ad6f387a7e..11a2c914746 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_image.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_image.c @@ -101,6 +101,7 @@ void register_node_type_sh_tex_image(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_TEX_IMAGE, "Image Texture", NODE_CLASS_TEXTURE, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_tex_image_in, sh_node_tex_image_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, node_shader_init_tex_image); diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_magic.c b/source/blender/nodes/shader/nodes/node_shader_tex_magic.c index d15fff44883..5ccb42d99c4 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_magic.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_magic.c @@ -157,6 +157,7 @@ void register_node_type_sh_tex_magic(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_TEX_MAGIC, "Magic Texture", NODE_CLASS_TEXTURE, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_tex_magic_in, sh_node_tex_magic_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, node_shader_init_tex_magic); diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_marble.c b/source/blender/nodes/shader/nodes/node_shader_tex_marble.c index fe707ee6359..5b9b3008038 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_marble.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_marble.c @@ -111,6 +111,7 @@ void register_node_type_sh_tex_marble(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_TEX_MARBLE, "Marble Texture", NODE_CLASS_TEXTURE, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_tex_marble_in, sh_node_tex_marble_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, node_shader_init_tex_marble); diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c b/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c index a0a24559518..f8586b5e9ac 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c @@ -276,6 +276,7 @@ void register_node_type_sh_tex_musgrave(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_TEX_MUSGRAVE, "Musgrave Texture", NODE_CLASS_TEXTURE, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_tex_musgrave_in, sh_node_tex_musgrave_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, node_shader_init_tex_musgrave); diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_noise.c b/source/blender/nodes/shader/nodes/node_shader_tex_noise.c index 9785c4473f5..32f88e998a5 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_noise.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_noise.c @@ -88,6 +88,7 @@ void register_node_type_sh_tex_noise(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_TEX_NOISE, "Noise Texture", NODE_CLASS_TEXTURE, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_tex_noise_in, sh_node_tex_noise_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_sky.c b/source/blender/nodes/shader/nodes/node_shader_tex_sky.c index 6c155458245..b43f7bd2924 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_sky.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_sky.c @@ -70,6 +70,7 @@ void register_node_type_sh_tex_sky(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_TEX_SKY, "Sky Texture", NODE_CLASS_TEXTURE, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_tex_sky_in, sh_node_tex_sky_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, node_shader_init_tex_sky); diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_stucci.c b/source/blender/nodes/shader/nodes/node_shader_tex_stucci.c index 22ea8d32047..4540e2c982b 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_stucci.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_stucci.c @@ -106,6 +106,7 @@ void register_node_type_sh_tex_stucci(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_TEX_STUCCI, "Stucci Texture", NODE_CLASS_TEXTURE, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_tex_stucci_in, sh_node_tex_stucci_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, node_shader_init_tex_stucci); diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c b/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c index 16c694575c1..b942aa00fb4 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c @@ -152,6 +152,7 @@ void register_node_type_sh_tex_voronoi(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_TEX_VORONOI, "Voronoi Texture", NODE_CLASS_TEXTURE, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_tex_voronoi_in, sh_node_tex_voronoi_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, node_shader_init_tex_voronoi); diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_wood.c b/source/blender/nodes/shader/nodes/node_shader_tex_wood.c index 5ae69524379..4fb11743882 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_wood.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_wood.c @@ -113,6 +113,7 @@ void register_node_type_sh_tex_wood(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_TEX_WOOD, "Wood Texture", NODE_CLASS_TEXTURE, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_tex_wood_in, sh_node_tex_wood_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, node_shader_init_tex_wood); diff --git a/source/blender/nodes/shader/nodes/node_shader_texture.c b/source/blender/nodes/shader/nodes/node_shader_texture.c index 09716820800..5403a11e992 100644 --- a/source/blender/nodes/shader/nodes/node_shader_texture.c +++ b/source/blender/nodes/shader/nodes/node_shader_texture.c @@ -138,6 +138,7 @@ void register_node_type_sh_texture(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_TEXTURE, "Texture", NODE_CLASS_INPUT, NODE_OPTIONS|NODE_PREVIEW); + node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_socket_templates(&ntype, sh_node_texture_in, sh_node_texture_out); node_type_size(&ntype, 120, 80, 240); node_type_exec(&ntype, node_shader_exec_texture); diff --git a/source/blender/nodes/shader/nodes/node_shader_valToRgb.c b/source/blender/nodes/shader/nodes/node_shader_valToRgb.c index 5c1d3096a6e..cc31d301894 100644 --- a/source/blender/nodes/shader/nodes/node_shader_valToRgb.c +++ b/source/blender/nodes/shader/nodes/node_shader_valToRgb.c @@ -78,6 +78,7 @@ void register_node_type_sh_valtorgb(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_VALTORGB, "ColorRamp", NODE_CLASS_CONVERTOR, NODE_OPTIONS); + node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_socket_templates(&ntype, sh_node_valtorgb_in, sh_node_valtorgb_out); node_type_size(&ntype, 240, 200, 300); node_type_init(&ntype, node_shader_init_valtorgb); @@ -118,6 +119,7 @@ void register_node_type_sh_rgbtobw(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_RGBTOBW, "RGB to BW", NODE_CLASS_CONVERTOR, 0); + node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_socket_templates(&ntype, sh_node_rgbtobw_in, sh_node_rgbtobw_out); node_type_size(&ntype, 80, 40, 120); node_type_exec(&ntype, node_shader_exec_rgbtobw); diff --git a/source/blender/nodes/shader/nodes/node_shader_value.c b/source/blender/nodes/shader/nodes/node_shader_value.c index 119a3664308..1552e8fbf42 100644 --- a/source/blender/nodes/shader/nodes/node_shader_value.c +++ b/source/blender/nodes/shader/nodes/node_shader_value.c @@ -73,6 +73,7 @@ void register_node_type_sh_value(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_VALUE, "Value", NODE_CLASS_INPUT, NODE_OPTIONS); + node_type_compatibility(&ntype, NODE_OLD_SHADING|NODE_NEW_SHADING); node_type_socket_templates(&ntype, NULL, sh_node_value_out); node_type_init(&ntype, node_shader_init_value); node_type_size(&ntype, 80, 50, 120); diff --git a/source/blender/nodes/shader/nodes/node_shader_vectMath.c b/source/blender/nodes/shader/nodes/node_shader_vectMath.c index ca31d879e3e..c8f9f5ec7e3 100644 --- a/source/blender/nodes/shader/nodes/node_shader_vectMath.c +++ b/source/blender/nodes/shader/nodes/node_shader_vectMath.c @@ -137,6 +137,7 @@ void register_node_type_sh_vect_math(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_VECT_MATH, "Vector Math", NODE_CLASS_CONVERTOR, NODE_OPTIONS); + node_type_compatibility(&ntype, NODE_OLD_SHADING|NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_vect_math_in, sh_node_vect_math_out); node_type_size(&ntype, 80, 75, 140); node_type_label(&ntype, node_vect_math_label); diff --git a/source/blender/nodes/shader/nodes/node_shader_volume_isotropic.c b/source/blender/nodes/shader/nodes/node_shader_volume_isotropic.c index e5579c1bf0b..bc27478f309 100644 --- a/source/blender/nodes/shader/nodes/node_shader_volume_isotropic.c +++ b/source/blender/nodes/shader/nodes/node_shader_volume_isotropic.c @@ -46,7 +46,7 @@ static void node_shader_exec_volume_isotropic(void *UNUSED(data), bNode *UNUSED( { } -static int node_shader_gpu_volume_isotropic(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_volume_isotropic(GPUMaterial *UNUSED(mat), bNode *UNUSED(node), GPUNodeStack *UNUSED(in), GPUNodeStack *UNUSED(out)) { return 0; } @@ -57,6 +57,7 @@ void register_node_type_sh_volume_isotropic(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_VOLUME_ISOTROPIC, "Isotropic Volume", NODE_CLASS_SHADER, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_volume_isotropic_in, sh_node_volume_isotropic_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); diff --git a/source/blender/nodes/shader/nodes/node_shader_volume_transparent.c b/source/blender/nodes/shader/nodes/node_shader_volume_transparent.c index b2e9e22789a..d931736d15a 100644 --- a/source/blender/nodes/shader/nodes/node_shader_volume_transparent.c +++ b/source/blender/nodes/shader/nodes/node_shader_volume_transparent.c @@ -46,7 +46,7 @@ static void node_shader_exec_volume_transparent(void *UNUSED(data), bNode *UNUSE { } -static int node_shader_gpu_volume_transparent(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_volume_transparent(GPUMaterial *UNUSED(mat), bNode *UNUSED(node), GPUNodeStack *UNUSED(in), GPUNodeStack *UNUSED(out)) { return 0; } @@ -57,6 +57,7 @@ void register_node_type_sh_volume_transparent(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_VOLUME_TRANSPARENT, "Transparent Volume", NODE_CLASS_SHADER, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_volume_transparent_in, sh_node_volume_transparent_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); From 4c3b94fdbd9376c9ded785ce8d2eba88b280d149 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 12 Oct 2011 16:01:37 +0000 Subject: [PATCH 159/241] Cycles: image texture node now uses UV as default texture coordinate, instead of generated. --- intern/cycles/render/graph.cpp | 19 +++++++++++++++---- intern/cycles/render/graph.h | 3 ++- intern/cycles/render/nodes.cpp | 22 +++++++++++----------- 3 files changed, 28 insertions(+), 16 deletions(-) diff --git a/intern/cycles/render/graph.cpp b/intern/cycles/render/graph.cpp index 54acc6e14cd..cdded403cbe 100644 --- a/intern/cycles/render/graph.cpp +++ b/intern/cycles/render/graph.cpp @@ -117,9 +117,14 @@ ShaderOutput *ShaderNode::add_output(const char *name, ShaderSocketType type) void ShaderNode::attributes(AttributeRequestSet *attributes) { - foreach(ShaderInput *input, inputs) - if(!input->link && input->default_value == ShaderInput::TEXTURE_COORDINATE) - attributes->add(Attribute::STD_GENERATED); + foreach(ShaderInput *input, inputs) { + if(!input->link) { + if(input->default_value == ShaderInput::TEXTURE_GENERATED) + attributes->add(Attribute::STD_GENERATED); + else if(input->default_value == ShaderInput::TEXTURE_UV) + attributes->add(Attribute::STD_UV); + } + } } /* Graph */ @@ -347,12 +352,18 @@ void ShaderGraph::default_inputs(bool do_osl) foreach(ShaderNode *node, nodes) { foreach(ShaderInput *input, node->inputs) { if(!input->link && !(input->osl_only && !do_osl)) { - if(input->default_value == ShaderInput::TEXTURE_COORDINATE) { + if(input->default_value == ShaderInput::TEXTURE_GENERATED) { if(!texco) texco = new TextureCoordinateNode(); connect(texco->output("Generated"), input); } + else if(input->default_value == ShaderInput::TEXTURE_UV) { + if(!texco) + texco = new TextureCoordinateNode(); + + connect(texco->output("UV"), input); + } else if(input->default_value == ShaderInput::INCOMING) { if(!geom) geom = new GeometryNode(); diff --git a/intern/cycles/render/graph.h b/intern/cycles/render/graph.h index a79a68da358..2a2df5e1377 100644 --- a/intern/cycles/render/graph.h +++ b/intern/cycles/render/graph.h @@ -96,7 +96,8 @@ protected: class ShaderInput { public: enum DefaultValue { - TEXTURE_COORDINATE, + TEXTURE_GENERATED, + TEXTURE_UV, INCOMING, NORMAL, POSITION, diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index 1d21e43217a..88be4b6d26f 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -47,7 +47,7 @@ ImageTextureNode::ImageTextureNode() filename = ""; color_space = ustring("sRGB"); - add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_UV); add_output("Color", SHADER_SOCKET_COLOR); add_output("Alpha", SHADER_SOCKET_FLOAT); } @@ -285,7 +285,7 @@ void SkyTextureNode::compile(OSLCompiler& compiler) NoiseTextureNode::NoiseTextureNode() : ShaderNode("noise_texture") { - add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); add_output("Color", SHADER_SOCKET_COLOR); add_output("Fac", SHADER_SOCKET_FLOAT); } @@ -350,7 +350,7 @@ BlendTextureNode::BlendTextureNode() progression = ustring("Linear"); axis = ustring("Horizontal"); - add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); add_output("Fac", SHADER_SOCKET_FLOAT); } @@ -402,7 +402,7 @@ CloudsTextureNode::CloudsTextureNode() depth = 2; add_input("Size", SHADER_SOCKET_FLOAT, 0.25f); - add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); add_output("Color", SHADER_SOCKET_COLOR); add_output("Fac", SHADER_SOCKET_FLOAT); @@ -479,7 +479,7 @@ VoronoiTextureNode::VoronoiTextureNode() add_input("Weight3", SHADER_SOCKET_FLOAT, 0.0f); add_input("Weight4", SHADER_SOCKET_FLOAT, 0.0f); add_input("Exponent", SHADER_SOCKET_FLOAT, 2.5f); - add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); add_output("Color", SHADER_SOCKET_COLOR); add_output("Fac", SHADER_SOCKET_FLOAT); @@ -557,7 +557,7 @@ MusgraveTextureNode::MusgraveTextureNode() add_input("Offset", SHADER_SOCKET_FLOAT, 0.0f); add_input("Gain", SHADER_SOCKET_FLOAT, 1.0f); add_input("Size", SHADER_SOCKET_FLOAT, 0.25f); - add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); add_output("Fac", SHADER_SOCKET_FLOAT); } @@ -641,7 +641,7 @@ MarbleTextureNode::MarbleTextureNode() add_input("Size", SHADER_SOCKET_FLOAT, 0.25f); add_input("Turbulence", SHADER_SOCKET_FLOAT, 5.0f); - add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); add_output("Fac", SHADER_SOCKET_FLOAT); } @@ -684,7 +684,7 @@ MagicTextureNode::MagicTextureNode() depth = 2; add_input("Turbulence", SHADER_SOCKET_FLOAT, 5.0f); - add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); add_output("Color", SHADER_SOCKET_COLOR); } @@ -734,7 +734,7 @@ StucciTextureNode::StucciTextureNode() add_input("Size", SHADER_SOCKET_FLOAT, 1.0f); add_input("Turbulence", SHADER_SOCKET_FLOAT, 1.0f); - add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); add_output("Fac", SHADER_SOCKET_FLOAT); } @@ -780,7 +780,7 @@ DistortedNoiseTextureNode::DistortedNoiseTextureNode() add_input("Size", SHADER_SOCKET_FLOAT, 0.25f); add_input("Distortion", SHADER_SOCKET_FLOAT, 1.0f); - add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); add_output("Fac", SHADER_SOCKET_FLOAT); } @@ -840,7 +840,7 @@ WoodTextureNode::WoodTextureNode() add_input("Size", SHADER_SOCKET_FLOAT, 0.25f); add_input("Turbulence", SHADER_SOCKET_FLOAT, 5.0f); - add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_COORDINATE); + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); add_output("Fac", SHADER_SOCKET_FLOAT); } From 7d86c6b157f7fe5d21b822dca4ff5e788be116d7 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 12 Oct 2011 16:09:35 +0000 Subject: [PATCH 160/241] Cycles: add compatibility check to node link menu. --- .../editors/interface/interface_node.c | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/source/blender/editors/interface/interface_node.c b/source/blender/editors/interface/interface_node.c index 896924a10b5..6c17a1d92ba 100644 --- a/source/blender/editors/interface/interface_node.c +++ b/source/blender/editors/interface/interface_node.c @@ -33,6 +33,7 @@ #include "MEM_guardedalloc.h" #include "DNA_node_types.h" +#include "DNA_scene_types.h" #include "DNA_screen_types.h" #include "BLI_listbase.h" @@ -44,6 +45,7 @@ #include "BKE_library.h" #include "BKE_main.h" #include "BKE_node.h" +#include "BKE_scene.h" #include "RNA_access.h" @@ -271,7 +273,7 @@ static int ui_compatible_sockets(int typeA, int typeB) return (typeA == typeB); } -static void ui_node_menu_column(Main *bmain, NodeLinkArg *arg, uiLayout *layout, const char *cname, int nclass) +static void ui_node_menu_column(Main *bmain, NodeLinkArg *arg, uiLayout *layout, const char *cname, int nclass, int compatibility) { bNodeTree *ntree = arg->ntree; bNodeSocket *sock = arg->sock; @@ -342,6 +344,9 @@ static void ui_node_menu_column(Main *bmain, NodeLinkArg *arg, uiLayout *layout, char name[UI_MAX_NAME_STR]; int i, j, num = 0; + if(!(ntype->compatibility & compatibility)) + continue; + if(ntype->nclass != nclass) continue; @@ -392,22 +397,29 @@ static void ui_node_menu_column(Main *bmain, NodeLinkArg *arg, uiLayout *layout, static void ui_template_node_link_menu(bContext *C, uiLayout *layout, void *but_p) { Main *bmain= CTX_data_main(C); + Scene *scene= CTX_data_scene(C); uiBlock *block = uiLayoutGetBlock(layout); uiBut *but = (uiBut*)but_p; uiLayout *split, *column; NodeLinkArg *arg = (NodeLinkArg*)but->func_argN; bNodeSocket *sock = arg->sock; + int compatibility; + + if(scene_use_new_shading_nodes(scene)) + compatibility= NODE_NEW_SHADING; + else + compatibility= NODE_OLD_SHADING; uiBlockSetCurLayout(block, layout); split= uiLayoutSplit(layout, 0, 0); - ui_node_menu_column(bmain, arg, split, "Input", NODE_CLASS_INPUT); - ui_node_menu_column(bmain, arg, split, "Output", NODE_CLASS_OUTPUT); - ui_node_menu_column(bmain, arg, split, "Shader", NODE_CLASS_SHADER); - ui_node_menu_column(bmain, arg, split, "Texture", NODE_CLASS_TEXTURE); - ui_node_menu_column(bmain, arg, split, "Color", NODE_CLASS_OP_COLOR); - ui_node_menu_column(bmain, arg, split, "Vector", NODE_CLASS_OP_VECTOR); - ui_node_menu_column(bmain, arg, split, "Convertor", NODE_CLASS_CONVERTOR); + ui_node_menu_column(bmain, arg, split, "Input", NODE_CLASS_INPUT, compatibility); + ui_node_menu_column(bmain, arg, split, "Output", NODE_CLASS_OUTPUT, compatibility); + ui_node_menu_column(bmain, arg, split, "Shader", NODE_CLASS_SHADER, compatibility); + ui_node_menu_column(bmain, arg, split, "Texture", NODE_CLASS_TEXTURE, compatibility); + ui_node_menu_column(bmain, arg, split, "Color", NODE_CLASS_OP_COLOR, compatibility); + ui_node_menu_column(bmain, arg, split, "Vector", NODE_CLASS_OP_VECTOR, compatibility); + ui_node_menu_column(bmain, arg, split, "Convertor", NODE_CLASS_CONVERTOR, compatibility); column= uiLayoutColumn(split, 0); uiBlockSetCurLayout(block, column); @@ -426,7 +438,7 @@ static void ui_template_node_link_menu(bContext *C, uiLayout *layout, void *but_ uiButSetNFunc(but, ui_node_link, MEM_dupallocN(arg), SET_INT_IN_POINTER(UI_NODE_LINK_DISCONNECT)); } - ui_node_menu_column(bmain, arg, column, "Group", NODE_CLASS_GROUP); + ui_node_menu_column(bmain, arg, column, "Group", NODE_CLASS_GROUP, compatibility); } void uiTemplateNodeLink(uiLayout *layout, bNodeTree *ntree, bNode *node, bNodeSocket *sock) From 310b25c388aeaf43eeb4b0e4895cc5a24e44cd8e Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 12 Oct 2011 22:42:13 +0000 Subject: [PATCH 161/241] Cycles: code refactoring to split out code from mapping node. --- intern/cycles/blender/blender_shader.cpp | 9 +- intern/cycles/render/nodes.cpp | 155 +++++++++++++++++------ intern/cycles/render/nodes.h | 57 ++++++--- 3 files changed, 165 insertions(+), 56 deletions(-) diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index da4513fbb7b..11c89db3e59 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -162,9 +162,12 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * case BL::ShaderNode::type_MAPPING: { BL::ShaderNodeMapping b_mapping_node(b_node); MappingNode *mapping = new MappingNode(); - mapping->translation = get_float3(b_mapping_node.location()); - mapping->rotation = get_float3(b_mapping_node.rotation()); - mapping->scale = get_float3(b_mapping_node.scale()); + + TextureMapping *tex_mapping = &mapping->tex_mapping; + tex_mapping->translation = get_float3(b_mapping_node.location()); + tex_mapping->rotation = get_float3(b_mapping_node.rotation()); + tex_mapping->scale = get_float3(b_mapping_node.scale()); + node = mapping; break; } diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index 88be4b6d26f..1609bfe8791 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -25,6 +25,68 @@ CCL_NAMESPACE_BEGIN +/* Texture Mapping */ + +TextureMapping::TextureMapping() +{ + translation = make_float3(0.0f, 0.0f, 0.0f); + rotation = make_float3(0.0f, 0.0f, 0.0f); + scale = make_float3(1.0f, 1.0f, 1.0f); + + x_mapping = X; + y_mapping = Y; + z_mapping = Z; + + projection = FLAT; +} + +Transform TextureMapping::compute_transform() +{ + Transform mmat = transform_scale(make_float3(0.0f, 0.0f, 0.0f)); + + if(x_mapping != NONE) + mmat[0][x_mapping] = 1.0f; + if(y_mapping != NONE) + mmat[1][y_mapping] = 1.0f; + if(z_mapping != NONE) + mmat[2][z_mapping] = 1.0f; + + Transform smat = transform_scale(scale); + Transform rmat = transform_euler(rotation); + Transform tmat = transform_translate(translation); + + return tmat*rmat*smat*mmat; +} + +bool TextureMapping::skip() +{ + if(translation != make_float3(0.0f, 0.0f, 0.0f)) + return false; + if(rotation != make_float3(0.0f, 0.0f, 0.0f)) + return false; + if(scale != make_float3(1.0f, 1.0f, 1.0f)) + return false; + + if(x_mapping != X || y_mapping != Y || z_mapping != Z) + return false; + + return true; +} + +void TextureMapping::compile(SVMCompiler& compiler, int offset_in, int offset_out) +{ + if(offset_in == SVM_STACK_INVALID || offset_out == SVM_STACK_INVALID) + return; + + compiler.add_node(NODE_MAPPING, offset_in, offset_out); + + Transform tfm = compute_transform(); + compiler.add_node(tfm.x); + compiler.add_node(tfm.y); + compiler.add_node(tfm.z); + compiler.add_node(tfm.w); +} + /* Image Texture */ static ShaderEnum color_space_init() @@ -40,7 +102,7 @@ static ShaderEnum color_space_init() ShaderEnum ImageTextureNode::color_space_enum = color_space_init(); ImageTextureNode::ImageTextureNode() -: ShaderNode("image_texture") +: TextureNode("image_texture") { image_manager = NULL; slot = -1; @@ -83,6 +145,10 @@ void ImageTextureNode::compile(SVMCompiler& compiler) if(slot != -1) { compiler.stack_assign(vector_in); + + if(!tex_mapping.skip()) + tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); + compiler.add_node(NODE_TEX_IMAGE, slot, compiler.encode_uchar4( @@ -114,7 +180,7 @@ void ImageTextureNode::compile(OSLCompiler& compiler) ShaderEnum EnvironmentTextureNode::color_space_enum = color_space_init(); EnvironmentTextureNode::EnvironmentTextureNode() -: ShaderNode("environment_texture") +: TextureNode("environment_texture") { image_manager = NULL; slot = -1; @@ -157,6 +223,10 @@ void EnvironmentTextureNode::compile(SVMCompiler& compiler) if(slot != -1) { compiler.stack_assign(vector_in); + + if(!tex_mapping.skip()) + tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); + compiler.add_node(NODE_TEX_ENVIRONMENT, slot, compiler.encode_uchar4( @@ -248,7 +318,7 @@ static void sky_texture_precompute(KernelSunSky *ksunsky, float3 dir, float turb } SkyTextureNode::SkyTextureNode() -: ShaderNode("sky_texture") +: TextureNode("sky_texture") { sun_direction = make_float3(0.0f, 0.0f, 1.0f); turbidity = 2.2f; @@ -269,6 +339,9 @@ void SkyTextureNode::compile(SVMCompiler& compiler) if(vector_in->link) compiler.stack_assign(vector_in); + if(!tex_mapping.skip()) + tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); + compiler.stack_assign(color_out); compiler.add_node(NODE_TEX_SKY, vector_in->stack_offset, color_out->stack_offset); } @@ -283,7 +356,7 @@ void SkyTextureNode::compile(OSLCompiler& compiler) /* Noise Texture */ NoiseTextureNode::NoiseTextureNode() -: ShaderNode("noise_texture") +: TextureNode("noise_texture") { add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); add_output("Color", SHADER_SOCKET_COLOR); @@ -296,14 +369,16 @@ void NoiseTextureNode::compile(SVMCompiler& compiler) ShaderOutput *color_out = output("Color"); ShaderOutput *fac_out = output("Fac"); + if(!color_out->links.empty() || !fac_out->links.empty()) + if(!tex_mapping.skip()) + tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); + if(!color_out->links.empty()) { - compiler.stack_assign(vector_in); compiler.stack_assign(color_out); compiler.add_node(NODE_TEX_NOISE_V, vector_in->stack_offset, color_out->stack_offset); } if(!fac_out->links.empty()) { - compiler.stack_assign(vector_in); compiler.stack_assign(fac_out); compiler.add_node(NODE_TEX_NOISE_F, vector_in->stack_offset, fac_out->stack_offset); } @@ -345,7 +420,7 @@ ShaderEnum BlendTextureNode::progression_enum = blend_progression_init(); ShaderEnum BlendTextureNode::axis_enum = blend_axis_init(); BlendTextureNode::BlendTextureNode() -: ShaderNode("blend_texture") +: TextureNode("blend_texture") { progression = ustring("Linear"); axis = ustring("Horizontal"); @@ -361,6 +436,9 @@ void BlendTextureNode::compile(SVMCompiler& compiler) if(vector_in->link) compiler.stack_assign(vector_in); + if(!tex_mapping.skip()) + tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); + compiler.stack_assign(fac_out); compiler.add_node(NODE_TEX_BLEND, compiler.encode_uchar4(progression_enum[progression], axis_enum[axis]), @@ -395,7 +473,7 @@ static ShaderEnum noise_basis_init() ShaderEnum CloudsTextureNode::basis_enum = noise_basis_init(); CloudsTextureNode::CloudsTextureNode() -: ShaderNode("clouds_texture") +: TextureNode("clouds_texture") { basis = ustring("Perlin"); hard = false; @@ -418,6 +496,9 @@ void CloudsTextureNode::compile(SVMCompiler& compiler) if(vector_in->link) compiler.stack_assign(vector_in); if(size_in->link) compiler.stack_assign(size_in); + if(!tex_mapping.skip()) + tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); + compiler.stack_assign(color_out); compiler.stack_assign(fac_out); @@ -468,7 +549,7 @@ ShaderEnum VoronoiTextureNode::distance_metric_enum = distance_metric_init(); ShaderEnum VoronoiTextureNode::coloring_enum = voronoi_coloring_init(); VoronoiTextureNode::VoronoiTextureNode() -: ShaderNode("voronoi_texture") +: TextureNode("voronoi_texture") { distance_metric = ustring("Actual Distance"); coloring = ustring("Intensity"); @@ -505,6 +586,9 @@ void VoronoiTextureNode::compile(SVMCompiler& compiler) if(vector_in->link) compiler.stack_assign(vector_in); if(size_in->link) compiler.stack_assign(size_in); + if(!tex_mapping.skip()) + tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); + compiler.stack_assign(color_out); compiler.stack_assign(fac_out); @@ -546,7 +630,7 @@ ShaderEnum MusgraveTextureNode::type_enum = musgrave_type_init(); ShaderEnum MusgraveTextureNode::basis_enum = noise_basis_init(); MusgraveTextureNode::MusgraveTextureNode() -: ShaderNode("musgrave_texture") +: TextureNode("musgrave_texture") { type = ustring("fBM"); basis = ustring("Perlin"); @@ -581,6 +665,9 @@ void MusgraveTextureNode::compile(SVMCompiler& compiler) if(gain_in->link) compiler.stack_assign(gain_in); if(size_in->link) compiler.stack_assign(size_in); + if(!tex_mapping.skip()) + tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); + compiler.stack_assign(fac_out); compiler.add_node(NODE_TEX_MUSGRAVE, compiler.encode_uchar4(type_enum[type], basis_enum[basis], vector_in->stack_offset, fac_out->stack_offset), @@ -631,7 +718,7 @@ ShaderEnum MarbleTextureNode::wave_enum = noise_wave_init(); ShaderEnum MarbleTextureNode::basis_enum = noise_basis_init(); MarbleTextureNode::MarbleTextureNode() -: ShaderNode("marble_texture") +: TextureNode("marble_texture") { type = ustring("Soft"); wave = ustring("Sine"); @@ -657,6 +744,9 @@ void MarbleTextureNode::compile(SVMCompiler& compiler) if(turbulence_in->link) compiler.stack_assign(turbulence_in); if(vector_in->link) compiler.stack_assign(vector_in); + if(!tex_mapping.skip()) + tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); + compiler.stack_assign(fac_out); compiler.add_node(NODE_TEX_MARBLE, compiler.encode_uchar4(type_enum[type], wave_enum[wave], basis_enum[basis], hard), @@ -679,7 +769,7 @@ void MarbleTextureNode::compile(OSLCompiler& compiler) /* Magic Texture */ MagicTextureNode::MagicTextureNode() -: ShaderNode("magic_texture") +: TextureNode("magic_texture") { depth = 2; @@ -697,6 +787,9 @@ void MagicTextureNode::compile(SVMCompiler& compiler) if(vector_in->link) compiler.stack_assign(vector_in); if(turbulence_in->link) compiler.stack_assign(turbulence_in); + if(!tex_mapping.skip()) + tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); + compiler.stack_assign(color_out); compiler.add_node(NODE_TEX_MAGIC, compiler.encode_uchar4(depth, turbulence_in->stack_offset, vector_in->stack_offset, color_out->stack_offset), @@ -726,7 +819,7 @@ ShaderEnum StucciTextureNode::type_enum = stucci_type_init(); ShaderEnum StucciTextureNode::basis_enum = noise_basis_init(); StucciTextureNode::StucciTextureNode() -: ShaderNode("stucci_texture") +: TextureNode("stucci_texture") { type = ustring("Plastic"); basis = ustring("Perlin"); @@ -750,6 +843,9 @@ void StucciTextureNode::compile(SVMCompiler& compiler) if(turbulence_in->link) compiler.stack_assign(turbulence_in); if(vector_in->link) compiler.stack_assign(vector_in); + if(!tex_mapping.skip()) + tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); + compiler.stack_assign(fac_out); compiler.add_node(NODE_TEX_STUCCI, @@ -773,7 +869,7 @@ void StucciTextureNode::compile(OSLCompiler& compiler) ShaderEnum DistortedNoiseTextureNode::basis_enum = noise_basis_init(); DistortedNoiseTextureNode::DistortedNoiseTextureNode() -: ShaderNode("distorted_noise_texture") +: TextureNode("distorted_noise_texture") { basis = ustring("Perlin"); distortion_basis = ustring("Perlin"); @@ -796,6 +892,9 @@ void DistortedNoiseTextureNode::compile(SVMCompiler& compiler) if(distortion_in->link) compiler.stack_assign(distortion_in); if(vector_in->link) compiler.stack_assign(vector_in); + if(!tex_mapping.skip()) + tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); + compiler.stack_assign(fac_out); compiler.add_node(NODE_TEX_DISTORTED_NOISE, @@ -831,7 +930,7 @@ ShaderEnum WoodTextureNode::wave_enum = noise_wave_init(); ShaderEnum WoodTextureNode::basis_enum = noise_basis_init(); WoodTextureNode::WoodTextureNode() -: ShaderNode("wood_texture") +: TextureNode("wood_texture") { type = ustring("Bands"); wave = ustring("Sine"); @@ -856,6 +955,9 @@ void WoodTextureNode::compile(SVMCompiler& compiler) if(size_in->link) compiler.stack_assign(size_in); if(turbulence_in->link) compiler.stack_assign(turbulence_in); + if(!tex_mapping.skip()) + tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); + compiler.stack_assign(fac_out); compiler.add_node(NODE_TEX_WOOD, compiler.encode_uchar4(type_enum[type], wave_enum[wave], basis_enum[basis], hard), @@ -879,19 +981,6 @@ MappingNode::MappingNode() { add_input("Vector", SHADER_SOCKET_POINT); add_output("Vector", SHADER_SOCKET_POINT); - - translation = make_float3(0.0f, 0.0f, 0.0f); - rotation = make_float3(0.0f, 0.0f, 0.0f); - scale = make_float3(1.0f, 1.0f, 1.0f); -} - -Transform MappingNode::compute_transform() -{ - Transform smat = transform_scale(scale); - Transform rmat = transform_euler(rotation); - Transform tmat = transform_translate(translation); - - return tmat*rmat*smat; } void MappingNode::compile(SVMCompiler& compiler) @@ -902,18 +991,12 @@ void MappingNode::compile(SVMCompiler& compiler) compiler.stack_assign(vector_in); compiler.stack_assign(vector_out); - compiler.add_node(NODE_MAPPING, vector_in->stack_offset, vector_out->stack_offset); - - Transform tfm = compute_transform(); - compiler.add_node(tfm.x); - compiler.add_node(tfm.y); - compiler.add_node(tfm.z); - compiler.add_node(tfm.w); + tex_mapping.compile(compiler, vector_in->stack_offset, vector_out->stack_offset); } void MappingNode::compile(OSLCompiler& compiler) { - Transform tfm = transform_transpose(compute_transform()); + Transform tfm = transform_transpose(tex_mapping.compute_transform()); compiler.parameter("Matrix", tfm); compiler.add(this, "node_mapping"); diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h index 0a7ac158431..e11c51b4aaf 100644 --- a/intern/cycles/render/nodes.h +++ b/intern/cycles/render/nodes.h @@ -28,9 +28,35 @@ CCL_NAMESPACE_BEGIN class ImageManager; class Shadr; +/* Texture Mapping */ + +class TextureMapping { +public: + TextureMapping(); + Transform compute_transform(); + bool skip(); + void compile(SVMCompiler& compiler, int offset_in, int offset_out); + + float3 translation; + float3 rotation; + float3 scale; + + enum Mapping { X=0, Y=1, Z=2, NONE }; + Mapping x_mapping, y_mapping, z_mapping; + + enum Projection { FLAT, CUBE, TUBE, SPHERE }; + Projection projection; +}; + /* Nodes */ -class ImageTextureNode : public ShaderNode { +class TextureNode : public ShaderNode { +public: + TextureNode(const char *name) : ShaderNode(name) {} + TextureMapping tex_mapping; +}; + +class ImageTextureNode : public TextureNode { public: SHADER_NODE_NO_CLONE_CLASS(ImageTextureNode) ~ImageTextureNode(); @@ -44,7 +70,7 @@ public: static ShaderEnum color_space_enum; }; -class EnvironmentTextureNode : public ShaderNode { +class EnvironmentTextureNode : public TextureNode { public: SHADER_NODE_NO_CLONE_CLASS(EnvironmentTextureNode) ~EnvironmentTextureNode(); @@ -58,7 +84,7 @@ public: static ShaderEnum color_space_enum; }; -class SkyTextureNode : public ShaderNode { +class SkyTextureNode : public TextureNode { public: SHADER_NODE_CLASS(SkyTextureNode) @@ -71,12 +97,12 @@ public: SHADER_NODE_CLASS(OutputNode) }; -class NoiseTextureNode : public ShaderNode { +class NoiseTextureNode : public TextureNode { public: SHADER_NODE_CLASS(NoiseTextureNode) }; -class BlendTextureNode : public ShaderNode { +class BlendTextureNode : public TextureNode { public: SHADER_NODE_CLASS(BlendTextureNode) @@ -87,7 +113,7 @@ public: static ShaderEnum axis_enum; }; -class CloudsTextureNode : public ShaderNode { +class CloudsTextureNode : public TextureNode { public: SHADER_NODE_CLASS(CloudsTextureNode) @@ -98,7 +124,7 @@ public: static ShaderEnum basis_enum; }; -class VoronoiTextureNode : public ShaderNode { +class VoronoiTextureNode : public TextureNode { public: SHADER_NODE_CLASS(VoronoiTextureNode) @@ -109,7 +135,7 @@ public: static ShaderEnum coloring_enum; }; -class MusgraveTextureNode : public ShaderNode { +class MusgraveTextureNode : public TextureNode { public: SHADER_NODE_CLASS(MusgraveTextureNode) @@ -120,7 +146,7 @@ public: static ShaderEnum basis_enum; }; -class MarbleTextureNode : public ShaderNode { +class MarbleTextureNode : public TextureNode { public: SHADER_NODE_CLASS(MarbleTextureNode) @@ -135,14 +161,14 @@ public: static ShaderEnum basis_enum; }; -class MagicTextureNode : public ShaderNode { +class MagicTextureNode : public TextureNode { public: SHADER_NODE_CLASS(MagicTextureNode) int depth; }; -class StucciTextureNode : public ShaderNode { +class StucciTextureNode : public TextureNode { public: SHADER_NODE_CLASS(StucciTextureNode) @@ -154,7 +180,7 @@ public: static ShaderEnum basis_enum; }; -class DistortedNoiseTextureNode : public ShaderNode { +class DistortedNoiseTextureNode : public TextureNode { public: SHADER_NODE_CLASS(DistortedNoiseTextureNode) @@ -163,7 +189,7 @@ public: static ShaderEnum basis_enum; }; -class WoodTextureNode : public ShaderNode { +class WoodTextureNode : public TextureNode { public: SHADER_NODE_CLASS(WoodTextureNode) @@ -181,10 +207,7 @@ class MappingNode : public ShaderNode { public: SHADER_NODE_CLASS(MappingNode) - Transform compute_transform(); - float3 translation; - float3 rotation; - float3 scale; + TextureMapping tex_mapping; }; class ConvertNode : public ShaderNode { From 9ebfcea8f392a0ac91247973d2e9ee06f689799c Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 12 Oct 2011 23:03:12 +0000 Subject: [PATCH 162/241] Cycles: revert commit that joined surface/volume socket into a single shader socket, on second thought this makes it a bit too difficult to understand what's going on. --- intern/cycles/blender/addon/ui.py | 54 +- intern/cycles/blender/blender_shader.cpp | 6 +- intern/cycles/kernel/kernel_shader.h | 6 +- intern/cycles/kernel/osl/nodes/CMakeLists.txt | 3 +- ...ut_closure.osl => node_output_surface.osl} | 4 +- .../kernel/osl/nodes/node_output_volume.osl | 25 + intern/cycles/kernel/osl/osl_shader.cpp | 8 +- intern/cycles/kernel/svm/svm.h | 3 +- intern/cycles/kernel/svm/svm_types.h | 3 +- intern/cycles/render/nodes.cpp | 9 +- intern/cycles/render/osl.cpp | 62 +- intern/cycles/render/shader.cpp | 7 +- intern/cycles/render/shader.h | 7 +- intern/cycles/render/svm.cpp | 31 +- source/blender/blenloader/intern/readfile.c | 8 +- .../gpu/intern/gpu_shader_material.glsl | 4 +- .../gpu/intern/gpu_shader_material.glsl.c | 2852 ++++++++--------- .../shader/nodes/node_shader_output_lamp.c | 2 +- .../nodes/node_shader_output_material.c | 3 +- .../shader/nodes/node_shader_output_world.c | 3 +- 20 files changed, 1606 insertions(+), 1494 deletions(-) rename intern/cycles/kernel/osl/nodes/{node_output_closure.osl => node_output_surface.osl} (90%) create mode 100644 intern/cycles/kernel/osl/nodes/node_output_volume.osl diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 33e0b8bcb50..6f31732aa1f 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -228,7 +228,7 @@ class CyclesCamera_PT_dof(CyclesButtonsPanel, Panel): sub.prop(ccam, "aperture_rotation", text="Rotation") class Cycles_PT_context_material(CyclesButtonsPanel, Panel): - bl_label = "" + bl_label = "Surface" bl_context = "material" bl_options = {'HIDE_HEADER'} @@ -400,8 +400,8 @@ class CyclesLamp_PT_lamp(CyclesButtonsPanel, Panel): elif lamp.type == 'HEMI': layout.label(text="Not supported, interpreted as sun lamp.") -class CyclesLamp_PT_shader(CyclesButtonsPanel, Panel): - bl_label = "Shader" +class CyclesLamp_PT_nodes(CyclesButtonsPanel, Panel): + bl_label = "Nodes" bl_context = "data" @classmethod @@ -412,10 +412,10 @@ class CyclesLamp_PT_shader(CyclesButtonsPanel, Panel): layout = self.layout mat = context.lamp - panel_node_draw(layout, mat, 'OUTPUT_LAMP', 'Shader') + panel_node_draw(layout, mat, 'OUTPUT_LAMP', 'Surface') -class CyclesWorld_PT_shader(CyclesButtonsPanel, Panel): - bl_label = "Shader" +class CyclesWorld_PT_surface(CyclesButtonsPanel, Panel): + bl_label = "Surface" bl_context = "world" @classmethod @@ -426,10 +426,25 @@ class CyclesWorld_PT_shader(CyclesButtonsPanel, Panel): layout = self.layout mat = context.world - panel_node_draw(layout, mat, 'OUTPUT_WORLD', 'Shader') + panel_node_draw(layout, mat, 'OUTPUT_WORLD', 'Surface') -class CyclesMaterial_PT_shader(CyclesButtonsPanel, Panel): - bl_label = "Shader" +class CyclesWorld_PT_volume(CyclesButtonsPanel, Panel): + bl_label = "Volume" + bl_context = "world" + + @classmethod + def poll(cls, context): + return context.world and CyclesButtonsPanel.poll(context) + + def draw(self, context): + layout = self.layout + layout.active = False + + world = context.world + panel_node_draw(layout, world, 'OUTPUT_WORLD', 'Volume') + +class CyclesMaterial_PT_surface(CyclesButtonsPanel, Panel): + bl_label = "Surface" bl_context = "material" @classmethod @@ -440,7 +455,26 @@ class CyclesMaterial_PT_shader(CyclesButtonsPanel, Panel): layout = self.layout mat = context.material - panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Shader') + panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Surface') + +class CyclesMaterial_PT_volume(CyclesButtonsPanel, Panel): + bl_label = "Volume" + bl_context = "material" + + @classmethod + def poll(cls, context): + return context.material and CyclesButtonsPanel.poll(context) + + def draw(self, context): + layout = self.layout + layout.active = False + + mat = context.material + cmat = mat.cycles + + panel_node_draw(layout, mat, 'OUTPUT_MATERIAL', 'Volume') + + layout.prop(cmat, "homogeneous_volume") class CyclesMaterial_PT_displacement(CyclesButtonsPanel, Panel): bl_label = "Displacement" diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index 11c89db3e59..f798d4ff44a 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -607,7 +607,7 @@ void BlenderSync::sync_materials() closure->input("Color")->value = get_float3(b_mat->diffuse_color()); out = graph->output(); - graph->connect(closure->output("BSDF"), out->input("Closure")); + graph->connect(closure->output("BSDF"), out->input("Surface")); } /* settings */ @@ -648,7 +648,7 @@ void BlenderSync::sync_world() closure->input("Color")->value = get_float3(b_world.horizon_color()); out = graph->output(); - graph->connect(closure->output("Background"), out->input("Closure")); + graph->connect(closure->output("Background"), out->input("Surface")); } shader->set_graph(graph); @@ -698,7 +698,7 @@ void BlenderSync::sync_lamps() closure->input("Strength")->value.x = b_lamp->energy()*10.0f; out = graph->output(); - graph->connect(closure->output("Emission"), out->input("Closure")); + graph->connect(closure->output("Emission"), out->input("Surface")); } shader->set_graph(graph); diff --git a/intern/cycles/kernel/kernel_shader.h b/intern/cycles/kernel/kernel_shader.h index 7ca7f96d73b..c1bcbb067b5 100644 --- a/intern/cycles/kernel/kernel_shader.h +++ b/intern/cycles/kernel/kernel_shader.h @@ -482,7 +482,7 @@ __device void shader_eval_surface(KernelGlobals *kg, ShaderData *sd, #else #ifdef __SVM__ - svm_eval_nodes(kg, sd, SHADER_TYPE_CLOSURE, randb, path_flag); + svm_eval_nodes(kg, sd, SHADER_TYPE_SURFACE, randb, path_flag); #else bsdf_diffuse_setup(sd, &sd->closure); sd->closure.weight = make_float3(0.8f, 0.8f, 0.8f); @@ -500,7 +500,7 @@ __device float3 shader_eval_background(KernelGlobals *kg, ShaderData *sd, int pa #else #ifdef __SVM__ - svm_eval_nodes(kg, sd, SHADER_TYPE_CLOSURE, 0.0f, path_flag); + svm_eval_nodes(kg, sd, SHADER_TYPE_SURFACE, 0.0f, path_flag); #ifdef __MULTI_CLOSURE__ float3 eval = make_float3(0.0f, 0.0f, 0.0f); @@ -562,7 +562,7 @@ __device void shader_eval_volume(KernelGlobals *kg, ShaderData *sd, #ifdef __OSL__ OSLShader::eval_volume(kg, sd, randb, path_flag); #else - svm_eval_nodes(kg, sd, SHADER_TYPE_CLOSURE, randb, path_flag); + svm_eval_nodes(kg, sd, SHADER_TYPE_VOLUME, randb, path_flag); #endif #endif } diff --git a/intern/cycles/kernel/osl/nodes/CMakeLists.txt b/intern/cycles/kernel/osl/nodes/CMakeLists.txt index a1e420e8ac1..7d37bb09d71 100644 --- a/intern/cycles/kernel/osl/nodes/CMakeLists.txt +++ b/intern/cycles/kernel/osl/nodes/CMakeLists.txt @@ -32,8 +32,9 @@ set(osl_sources node_musgrave_texture.osl node_blend_weight_texture.osl node_noise_texture.osl - node_output_closure.osl node_output_displacement.osl + node_output_surface.osl + node_output_volume.osl node_sky_texture.osl node_stucci_texture.osl node_texture_coordinate.osl diff --git a/intern/cycles/kernel/osl/nodes/node_output_closure.osl b/intern/cycles/kernel/osl/nodes/node_output_surface.osl similarity index 90% rename from intern/cycles/kernel/osl/nodes/node_output_closure.osl rename to intern/cycles/kernel/osl/nodes/node_output_surface.osl index 075cf35f60b..6efaf91121b 100644 --- a/intern/cycles/kernel/osl/nodes/node_output_closure.osl +++ b/intern/cycles/kernel/osl/nodes/node_output_surface.osl @@ -18,8 +18,8 @@ #include "stdosl.h" -surface node_output_surface(closure color Closure = background()) +surface node_output_surface(closure color Surface = background()) { - Ci = Closure; + Ci = Surface; } diff --git a/intern/cycles/kernel/osl/nodes/node_output_volume.osl b/intern/cycles/kernel/osl/nodes/node_output_volume.osl new file mode 100644 index 00000000000..18094242dc7 --- /dev/null +++ b/intern/cycles/kernel/osl/nodes/node_output_volume.osl @@ -0,0 +1,25 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include "stdosl.h" + +volume node_output_volume(closure color Volume = background()) +{ + Ci = Volume; +} + diff --git a/intern/cycles/kernel/osl/osl_shader.cpp b/intern/cycles/kernel/osl/osl_shader.cpp index 42e63552063..18a8e974492 100644 --- a/intern/cycles/kernel/osl/osl_shader.cpp +++ b/intern/cycles/kernel/osl/osl_shader.cpp @@ -218,8 +218,8 @@ void OSLShader::eval_surface(KernelGlobals *kg, ShaderData *sd, float randb, int /* execute shader for this point */ int shader = sd->shader & SHADER_MASK; - if(kg->osl.state[shader]) - ctx->execute(OSL::pvt::ShadUseSurface, *(kg->osl.state[shader]), *globals); + if(kg->osl.surface_state[shader]) + ctx->execute(OSL::pvt::ShadUseSurface, *(kg->osl.surface_state[shader]), *globals); /* flatten closure tree */ sd->num_closure = 0; @@ -355,8 +355,8 @@ void OSLShader::eval_volume(KernelGlobals *kg, ShaderData *sd, float randb, int /* execute shader */ int shader = sd->shader & SHADER_MASK; - if(kg->osl.state[shader]) - ctx->execute(OSL::pvt::ShadUseSurface, *(kg->osl.state[shader]), *globals); + if(kg->osl.volume_state[shader]) + ctx->execute(OSL::pvt::ShadUseSurface, *(kg->osl.volume_state[shader]), *globals); /* retrieve resulting closures */ sd->osl_closure.volume_sample_sum = 0.0f; diff --git a/intern/cycles/kernel/svm/svm.h b/intern/cycles/kernel/svm/svm.h index 4e0ed25baea..62e02f1a01a 100644 --- a/intern/cycles/kernel/svm/svm.h +++ b/intern/cycles/kernel/svm/svm.h @@ -166,7 +166,8 @@ __device_noinline void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderT switch(node.x) { case NODE_SHADER_JUMP: { - if(type == SHADER_TYPE_CLOSURE) offset = node.y; + if(type == SHADER_TYPE_SURFACE) offset = node.y; + else if(type == SHADER_TYPE_VOLUME) offset = node.z; else if(type == SHADER_TYPE_DISPLACEMENT) offset = node.w; else return; break; diff --git a/intern/cycles/kernel/svm/svm_types.h b/intern/cycles/kernel/svm/svm_types.h index fb52a923b0c..baec3d7ac6e 100644 --- a/intern/cycles/kernel/svm/svm_types.h +++ b/intern/cycles/kernel/svm/svm_types.h @@ -257,7 +257,8 @@ typedef enum NodeBlendWeightType { } NodeBlendWeightType; typedef enum ShaderType { - SHADER_TYPE_CLOSURE, + SHADER_TYPE_SURFACE, + SHADER_TYPE_VOLUME, SHADER_TYPE_DISPLACEMENT } ShaderType; diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index 1609bfe8791..e6aff8590ad 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -2028,7 +2028,8 @@ void BlendWeightNode::compile(OSLCompiler& compiler) OutputNode::OutputNode() : ShaderNode("output") { - add_input("Closure", SHADER_SOCKET_CLOSURE); + add_input("Surface", SHADER_SOCKET_CLOSURE); + add_input("Volume", SHADER_SOCKET_CLOSURE); add_input("Displacement", SHADER_SOCKET_FLOAT); } @@ -2046,8 +2047,10 @@ void OutputNode::compile(SVMCompiler& compiler) void OutputNode::compile(OSLCompiler& compiler) { - if(compiler.output_type() == SHADER_TYPE_CLOSURE) - compiler.add(this, "node_output_closure"); + if(compiler.output_type() == SHADER_TYPE_SURFACE) + compiler.add(this, "node_output_surface"); + else if(compiler.output_type() == SHADER_TYPE_VOLUME) + compiler.add(this, "node_output_volume"); else if(compiler.output_type() == SHADER_TYPE_DISPLACEMENT) compiler.add(this, "node_output_displacement"); } diff --git a/intern/cycles/render/osl.cpp b/intern/cycles/render/osl.cpp index 492529c30a2..b0173334c76 100644 --- a/intern/cycles/render/osl.cpp +++ b/intern/cycles/render/osl.cpp @@ -102,7 +102,7 @@ void OSLShaderManager::device_update(Device *device, DeviceScene *dscene, Scene /* setup shader engine */ og->ss = ss; int background_id = scene->shader_manager->get_shader_id(scene->default_background); - og->background_state = og->state[background_id]; + og->background_state = og->surface_state[background_id]; og->use = true; tls_create(OSLGlobals::ThreadData, og->thread_data); @@ -128,7 +128,8 @@ void OSLShaderManager::device_free(Device *device, DeviceScene *dscene) tls_delete(OSLGlobals::ThreadData, og->thread_data); - og->state.clear(); + og->surface_state.clear(); + og->volume_state.clear(); og->displacement_state.clear(); og->background_state.reset(); } @@ -138,7 +139,7 @@ void OSLShaderManager::device_free(Device *device, DeviceScene *dscene) OSLCompiler::OSLCompiler(void *shadingsys_) { shadingsys = shadingsys_; - current_type = SHADER_TYPE_CLOSURE; + current_type = SHADER_TYPE_SURFACE; current_shader = NULL; background = false; } @@ -169,7 +170,9 @@ bool OSLCompiler::node_skip_input(ShaderNode *node, ShaderInput *input) depending on the current shader type */ if(node->name == ustring("output")) { - if(strcmp(input->name, "Closure") == 0 && current_type != SHADER_TYPE_CLOSURE) + if(strcmp(input->name, "Surface") == 0 && current_type != SHADER_TYPE_SURFACE) + return true; + if(strcmp(input->name, "Volume") == 0 && current_type != SHADER_TYPE_VOLUME) return true; if(strcmp(input->name, "Displacement") == 0 && current_type != SHADER_TYPE_DISPLACEMENT) return true; @@ -220,7 +223,9 @@ void OSLCompiler::add(ShaderNode *node, const char *name) * because "volume" and "displacement" don't work yet in OSL. the shaders * work fine, but presumably these values would be used for more strict * checking, so when that is fixed, we should update the code here too. */ - if(current_type == SHADER_TYPE_CLOSURE) + if(current_type == SHADER_TYPE_SURFACE) + ss->Shader("surface", name, id(node).c_str()); + else if(current_type == SHADER_TYPE_VOLUME) ss->Shader("surface", name, id(node).c_str()); else if(current_type == SHADER_TYPE_DISPLACEMENT) ss->Shader("surface", name, id(node).c_str()); @@ -341,8 +346,6 @@ void OSLCompiler::generate_nodes(const set& nodes) current_shader->has_surface_emission = true; if(node->name == ustring("transparent")) current_shader->has_surface_transparent = true; - if(node->name == ustring("volume")) - current_shader->has_volume = true; } else nodes_done = false; @@ -362,9 +365,15 @@ void OSLCompiler::compile_type(Shader *shader, ShaderGraph *graph, ShaderType ty ShaderNode *output = graph->output(); set dependencies; - if(type == SHADER_TYPE_CLOSURE) { + if(type == SHADER_TYPE_SURFACE) { /* generate surface shader */ - find_dependencies(dependencies, output->input("Closure")); + find_dependencies(dependencies, output->input("Surface")); + generate_nodes(dependencies); + output->compile(*this); + } + else if(type == SHADER_TYPE_VOLUME) { + /* generate volume shader */ + find_dependencies(dependencies, output->input("Volume")); generate_nodes(dependencies); output->compile(*this); } @@ -387,7 +396,7 @@ void OSLCompiler::compile(OSLGlobals *og, Shader *shader) ShaderNode *output = (graph)? graph->output(): NULL; /* copy graph for shader with bump mapping */ - if(output->input("Closure")->link && output->input("Displacement")->link) + if(output->input("Surface")->link && output->input("Displacement")->link) if(!shader->graph_bump) shader->graph_bump = shader->graph->copy(); @@ -398,29 +407,46 @@ void OSLCompiler::compile(OSLGlobals *og, Shader *shader) current_shader = shader; + shader->has_surface = false; shader->has_surface_emission = false; shader->has_surface_transparent = false; shader->has_volume = false; shader->has_displacement = false; /* generate surface shader */ - if(graph && output->input("Closure")->link) { - compile_type(shader, shader->graph, SHADER_TYPE_CLOSURE); - og->state.push_back(ss->state()); + if(graph && output->input("Surface")->link) { + compile_type(shader, shader->graph, SHADER_TYPE_SURFACE); + og->surface_state.push_back(ss->state()); if(shader->graph_bump) { ss->clear_state(); - compile_type(shader, shader->graph_bump, SHADER_TYPE_CLOSURE); - og->state.push_back(ss->state()); + compile_type(shader, shader->graph_bump, SHADER_TYPE_SURFACE); + og->surface_state.push_back(ss->state()); } else - og->state.push_back(ss->state()); + og->surface_state.push_back(ss->state()); ss->clear_state(); + + shader->has_surface = true; + } + else { + og->surface_state.push_back(OSL::ShadingAttribStateRef()); + og->surface_state.push_back(OSL::ShadingAttribStateRef()); + } + + /* generate volume shader */ + if(graph && output->input("Volume")->link) { + compile_type(shader, shader->graph, SHADER_TYPE_VOLUME); + shader->has_volume = true; + + og->volume_state.push_back(ss->state()); + og->volume_state.push_back(ss->state()); + ss->clear_state(); } else { - og->state.push_back(OSL::ShadingAttribStateRef()); - og->state.push_back(OSL::ShadingAttribStateRef()); + og->volume_state.push_back(OSL::ShadingAttribStateRef()); + og->volume_state.push_back(OSL::ShadingAttribStateRef()); } /* generate displacement shader */ diff --git a/intern/cycles/render/shader.cpp b/intern/cycles/render/shader.cpp index c0d450db22b..6e827ec94bb 100644 --- a/intern/cycles/render/shader.cpp +++ b/intern/cycles/render/shader.cpp @@ -42,6 +42,7 @@ Shader::Shader() sample_as_light = true; homogeneous_volume = false; + has_surface = false; has_surface_transparent = false; has_surface_emission = false; has_volume = false; @@ -209,7 +210,7 @@ void ShaderManager::add_default(Scene *scene) closure->input("Color")->value = make_float3(0.8f, 0.8f, 0.8f); out = graph->output(); - graph->connect(closure->output("BSDF"), out->input("Closure")); + graph->connect(closure->output("BSDF"), out->input("Surface")); shader = new Shader(); shader->name = "default_surface"; @@ -227,7 +228,7 @@ void ShaderManager::add_default(Scene *scene) closure->input("Strength")->value.x = 0.0f; out = graph->output(); - graph->connect(closure->output("Emission"), out->input("Closure")); + graph->connect(closure->output("Emission"), out->input("Surface")); shader = new Shader(); shader->name = "default_light"; @@ -244,7 +245,7 @@ void ShaderManager::add_default(Scene *scene) closure->input("Color")->value = make_float3(0.8f, 0.8f, 0.8f); out = graph->output(); - graph->connect(closure->output("Background"), out->input("Closure")); + graph->connect(closure->output("Background"), out->input("Surface")); shader = new Shader(); shader->name = "default_background"; diff --git a/intern/cycles/render/shader.h b/intern/cycles/render/shader.h index 17ffc75924b..45efa123ef6 100644 --- a/intern/cycles/render/shader.h +++ b/intern/cycles/render/shader.h @@ -39,8 +39,8 @@ struct float3; /* Shader describing the appearance of a Mesh, Light or Background. * - * While there is only a single shader graph, it has two outputs: shader, - * displacement, that the shader manager will compile and execute + * While there is only a single shader graph, it has three outputs: surface, + * volume and displacement, that the shader manager will compile and execute * separately. */ class Shader { @@ -65,10 +65,11 @@ public: bool need_update_attributes; /* information about shader after compiling */ + bool has_surface; bool has_surface_emission; bool has_surface_transparent; - bool has_displacement; bool has_volume; + bool has_displacement; /* requested mesh attributes */ AttributeRequestSet attributes; diff --git a/intern/cycles/render/svm.cpp b/intern/cycles/render/svm.cpp index 054989bbc28..a1687ae5e29 100644 --- a/intern/cycles/render/svm.cpp +++ b/intern/cycles/render/svm.cpp @@ -107,7 +107,7 @@ SVMCompiler::SVMCompiler(ShaderManager *shader_manager_, ImageManager *image_man image_manager = image_manager_; sunsky = NULL; max_stack_use = 0; - current_type = SHADER_TYPE_CLOSURE; + current_type = SHADER_TYPE_SURFACE; current_shader = NULL; background = false; mix_weight_offset = SVM_STACK_INVALID; @@ -467,8 +467,6 @@ void SVMCompiler::generate_closure(ShaderNode *node, set& done) current_shader->has_surface_emission = true; if(node->name == ustring("transparent")) current_shader->has_surface_transparent = true; - if(node->name == ustring("volume")) - current_shader->has_volume = true; /* end node is added outside of this */ } @@ -579,8 +577,10 @@ void SVMCompiler::compile_type(Shader *shader, ShaderGraph *graph, ShaderType ty ShaderNode *node = graph->output(); ShaderInput *clin = NULL; - if(type == SHADER_TYPE_CLOSURE) - clin = node->input("Closure"); + if(type == SHADER_TYPE_SURFACE) + clin = node->input("Surface"); + else if(type == SHADER_TYPE_VOLUME) + clin = node->input("Volume"); else if(type == SHADER_TYPE_DISPLACEMENT) clin = node->input("Displacement"); else @@ -599,9 +599,15 @@ void SVMCompiler::compile_type(Shader *shader, ShaderGraph *graph, ShaderType ty if(clin->link) { bool generate = false; - if(type == SHADER_TYPE_CLOSURE) { + if(type == SHADER_TYPE_SURFACE) { /* generate surface shader */ generate = true; + shader->has_surface = true; + } + else if(type == SHADER_TYPE_VOLUME) { + /* generate volume shader */ + generate = true; + shader->has_volume = true; } else if(type == SHADER_TYPE_DISPLACEMENT) { /* generate displacement shader */ @@ -630,7 +636,7 @@ void SVMCompiler::compile(Shader *shader, vector& global_svm_nodes, int in /* copy graph for shader with bump mapping */ ShaderNode *node = shader->graph->output(); - if(node->input("Closure")->link && node->input("Displacement")->link) + if(node->input("Surface")->link && node->input("Displacement")->link) if(!shader->graph_bump) shader->graph_bump = shader->graph->copy(); @@ -641,23 +647,30 @@ void SVMCompiler::compile(Shader *shader, vector& global_svm_nodes, int in current_shader = shader; + shader->has_surface = false; shader->has_surface_emission = false; shader->has_surface_transparent = false; shader->has_volume = false; shader->has_displacement = false; /* generate surface shader */ - compile_type(shader, shader->graph, SHADER_TYPE_CLOSURE); + compile_type(shader, shader->graph, SHADER_TYPE_SURFACE); global_svm_nodes[index*2 + 0].y = global_svm_nodes.size(); global_svm_nodes[index*2 + 1].y = global_svm_nodes.size(); global_svm_nodes.insert(global_svm_nodes.end(), svm_nodes.begin(), svm_nodes.end()); if(shader->graph_bump) { - compile_type(shader, shader->graph_bump, SHADER_TYPE_CLOSURE); + compile_type(shader, shader->graph_bump, SHADER_TYPE_SURFACE); global_svm_nodes[index*2 + 1].y = global_svm_nodes.size(); global_svm_nodes.insert(global_svm_nodes.end(), svm_nodes.begin(), svm_nodes.end()); } + /* generate volume shader */ + compile_type(shader, shader->graph, SHADER_TYPE_VOLUME); + global_svm_nodes[index*2 + 0].z = global_svm_nodes.size(); + global_svm_nodes[index*2 + 1].z = global_svm_nodes.size(); + global_svm_nodes.insert(global_svm_nodes.end(), svm_nodes.begin(), svm_nodes.end()); + /* generate displacement shader */ compile_type(shader, shader->graph, SHADER_TYPE_DISPLACEMENT); global_svm_nodes[index*2 + 0].w = global_svm_nodes.size(); diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 77f786d2105..1ed23361581 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -2105,8 +2105,12 @@ static void ntree_tmp_cycles_version_patch(bNodeTree *ntree) if(strcmp(sock->name, "Shader2") == 0) strcpy(sock->name, "Shader"); - if(strcmp(sock->name, "Surface") == 0) - strcpy(sock->name, "Shader"); + if(node->type == SH_NODE_OUTPUT_MATERIAL || + node->type == SH_NODE_OUTPUT_WORLD || + node->type == SH_NODE_OUTPUT_LAMP) { + if(strcmp(sock->name, "Shader") == 0) + strcpy(sock->name, "Surface"); + } if(strcmp(sock->name, "Fresnel") == 0) { strcpy(sock->name, "IOR"); diff --git a/source/blender/gpu/intern/gpu_shader_material.glsl b/source/blender/gpu/intern/gpu_shader_material.glsl index 6ca6a862591..4a9d793aaad 100644 --- a/source/blender/gpu/intern/gpu_shader_material.glsl +++ b/source/blender/gpu/intern/gpu_shader_material.glsl @@ -2114,8 +2114,8 @@ void node_light_path( /* output */ -void node_output_material(vec4 shader, float displacement, out vec4 result) +void node_output_material(vec4 surface, vec4 volume, float displacement, out vec4 result) { - result = shader; + result = surface; } diff --git a/source/blender/gpu/intern/gpu_shader_material.glsl.c b/source/blender/gpu/intern/gpu_shader_material.glsl.c index 4898a3cbdf7..e284c42532b 100644 --- a/source/blender/gpu/intern/gpu_shader_material.glsl.c +++ b/source/blender/gpu/intern/gpu_shader_material.glsl.c @@ -1,1453 +1,1453 @@ /* DataToC output of file */ -int datatoc_gpu_shader_material_glsl_size= 46274; +int datatoc_gpu_shader_material_glsl_size= 46289; char datatoc_gpu_shader_material_glsl[]= { - 10,102, -108,111, 97,116, 32,101,120,112, 95, 98,108,101,110,100,101,114, 40,102,108,111, 97,116, 32,102, 41, 10,123, 10, 9,114,101,116, -117,114,110, 32,112,111,119, 40, 50, 46, 55, 49, 56, 50, 56, 49, 56, 50, 56, 52, 54, 44, 32,102, 41, 59, 10,125, 10, 10,118,111, -105,100, 32,114,103, 98, 95,116,111, 95,104,115,118, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, - 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32, 99,109, 97,120, 44, 32, 99,109,105,110, 44, 32,104, 44, - 32,115, 44, 32,118, 44, 32, 99,100,101,108,116, 97, 59, 10, 9,118,101, 99, 51, 32, 99, 59, 10, 10, 9, 99,109, 97,120, 32, 61, - 32,109, 97,120, 40,114,103, 98, 91, 48, 93, 44, 32,109, 97,120, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, - 41, 59, 10, 9, 99,109,105,110, 32, 61, 32,109,105,110, 40,114,103, 98, 91, 48, 93, 44, 32,109,105,110, 40,114,103, 98, 91, 49, - 93, 44, 32,114,103, 98, 91, 50, 93, 41, 41, 59, 10, 9, 99,100,101,108,116, 97, 32, 61, 32, 99,109, 97,120, 45, 99,109,105,110, - 59, 10, 10, 9,118, 32, 61, 32, 99,109, 97,120, 59, 10, 9,105,102, 32, 40, 99,109, 97,120, 33, 61, 48, 46, 48, 41, 10, 9, 9, -115, 32, 61, 32, 99,100,101,108,116, 97, 47, 99,109, 97,120, 59, 10, 9,101,108,115,101, 32,123, 10, 9, 9,115, 32, 61, 32, 48, - 46, 48, 59, 10, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 10, 9,105,102, 32, 40,115, 32, 61, 61, 32, 48, 46, 48, - 41, 32,123, 10, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9, 99, 32, 61, 32, - 40,118,101, 99, 51, 40, 99,109, 97,120, 44, 32, 99,109, 97,120, 44, 32, 99,109, 97,120, 41, 32, 45, 32,114,103, 98, 46,120,121, -122, 41, 47, 99,100,101,108,116, 97, 59, 10, 10, 9, 9,105,102, 32, 40,114,103, 98, 46,120, 61, 61, 99,109, 97,120, 41, 32,104, - 32, 61, 32, 99, 91, 50, 93, 32, 45, 32, 99, 91, 49, 93, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,114,103, 98, 46,121, - 61, 61, 99,109, 97,120, 41, 32,104, 32, 61, 32, 50, 46, 48, 32, 43, 32, 99, 91, 48, 93, 32, 45, 32, 32, 99, 91, 50, 93, 59, 10, - 9, 9,101,108,115,101, 32,104, 32, 61, 32, 52, 46, 48, 32, 43, 32, 99, 91, 49, 93, 32, 45, 32, 99, 91, 48, 93, 59, 10, 10, 9, - 9,104, 32, 47, 61, 32, 54, 46, 48, 59, 10, 10, 9, 9,105,102, 32, 40,104, 60, 48, 46, 48, 41, 10, 9, 9, 9,104, 32, 43, 61, - 32, 49, 46, 48, 59, 10, 9,125, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,104, 44, 32,115, 44, 32,118, - 44, 32,114,103, 98, 46,119, 41, 59, 10,125, 10, 10,118,111,105,100, 32,104,115,118, 95,116,111, 95,114,103, 98, 40,118,101, 99, - 52, 32,104,115,118, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, - 32,105, 44, 32,102, 44, 32,112, 44, 32,113, 44, 32,116, 44, 32,104, 44, 32,115, 44, 32,118, 59, 10, 9,118,101, 99, 51, 32,114, -103, 98, 59, 10, 10, 9,104, 32, 61, 32,104,115,118, 91, 48, 93, 59, 10, 9,115, 32, 61, 32,104,115,118, 91, 49, 93, 59, 10, 9, -118, 32, 61, 32,104,115,118, 91, 50, 93, 59, 10, 10, 9,105,102, 40,115, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, - 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,118, 44, 32,118, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105, -102, 40,104, 61, 61, 49, 46, 48, 41, 10, 9, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9, 10, 9, 9,104, 32, 42, 61, 32, - 54, 46, 48, 59, 10, 9, 9,105, 32, 61, 32,102,108,111,111,114, 40,104, 41, 59, 10, 9, 9,102, 32, 61, 32,104, 32, 45, 32,105, - 59, 10, 9, 9,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,102, 44, 32,102, 44, 32,102, 41, 59, 10, 9, 9,112, 32, 61, 32,118, - 42, 40, 49, 46, 48, 45,115, 41, 59, 10, 9, 9,113, 32, 61, 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42,102, 41, 41, 59, 10, 9, - 9,116, 32, 61, 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42, 40, 49, 46, 48, 45,102, 41, 41, 41, 59, 10, 9, 9, 10, 9, 9,105, -102, 32, 40,105, 32, 61, 61, 32, 48, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,116, 44, 32,112, 41, - 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 49, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, - 51, 40,113, 44, 32,118, 44, 32,112, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 50, 46, 48, 41, - 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,112, 44, 32,118, 44, 32,116, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, - 40,105, 32, 61, 61, 32, 51, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,112, 44, 32,113, 44, 32,118, 41, 59, 10, - 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 52, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40, -116, 44, 32,112, 44, 32,118, 41, 59, 10, 9, 9,101,108,115,101, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,112, - 44, 32,113, 41, 59, 10, 9,125, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 44, 32,104,115, -118, 46,119, 41, 59, 10,125, 10, 10,102,108,111, 97,116, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, - 40,102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9,105,102, 40, 99, 32, 60, 32, 48, 46, 48, 52, 48, 52, 53, 41, 10, 9, 9,114, -101,116,117,114,110, 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, 63, 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 40, 49, 46, 48, 47, 49, - 50, 46, 57, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116,117,114,110, 32,112,111,119, 40, 40, 99, 32, 43, 32, 48, - 46, 48, 53, 53, 41, 42, 40, 49, 46, 48, 47, 49, 46, 48, 53, 53, 41, 44, 32, 50, 46, 52, 41, 59, 10,125, 10, 10,102,108,111, 97, -116, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40,102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9, -105,102, 40, 99, 32, 60, 32, 48, 46, 48, 48, 51, 49, 51, 48, 56, 41, 10, 9, 9,114,101,116,117,114,110, 32, 40, 99, 32, 60, 32, - 48, 46, 48, 41, 63, 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 49, 50, 46, 57, 50, 59, 10, 9,101,108,115,101, 10, 9, 9,114,101, -116,117,114,110, 32, 49, 46, 48, 53, 53, 32, 42, 32,112,111,119, 40, 99, 44, 32, 49, 46, 48, 47, 50, 46, 52, 41, 32, 45, 32, 48, - 46, 48, 53, 53, 59, 10,125, 10, 10,118,111,105,100, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, -118,101, 99, 52, 32, 99,111,108, 95,102,114,111,109, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10, -123, 10, 9, 99,111,108, 95,116,111, 46,114, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, - 99,111,108, 95,102,114,111,109, 46,114, 41, 59, 10, 9, 99,111,108, 95,116,111, 46,103, 32, 61, 32,115,114,103, 98, 95,116,111, - 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, - 98, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, - 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 97, 32, 61, 32, 99,111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10,118,111, -105,100, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 95,102,114, -111,109, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111,108, 95,116,111, 46,114, - 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,114, 41, - 59, 10, 9, 99,111,108, 95,116,111, 46,103, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, - 99,111,108, 95,102,114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,108,105,110,101, 97,114,114, -103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, - 97, 32, 61, 32, 99,111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10, 35,100,101,102,105,110,101, 32, 77, 95, 80, 73, 32, - 51, 46, 49, 52, 49, 53, 57, 50, 54, 53, 51, 53, 56, 57, 55, 57, 51, 50, 51, 56, 52, 54, 10, 35,100,101,102,105,110,101, 32, 77, - 95, 49, 95, 80, 73, 32, 48, 46, 51, 49, 56, 51, 48, 57, 56, 56, 54, 49, 56, 51, 55, 57, 48, 54, 57, 10, 10, 47, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 32, 83, 72, 65, 68, 69, 82, 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 52, 32, - 97,116,116,118, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 41, 10,123, 10, 9,118, 99,111,108, 32, - 61, 32,118,101, 99, 52, 40, 97,116,116,118, 99,111,108, 46,120, 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111,108, 46, -121, 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111,108, 46,122, 47, 50, 53, 53, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, -125, 10, 10,118,111,105,100, 32,117,118, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 50, 32, 97,116,116,117,118, 44, - 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 41, 10,123, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, - 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10, -118,111,105,100, 32,103,101,111,109, 40,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,109, 97,116, - 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,118,101, 99, 50, - 32, 97,116,116,117,118, 44, 32,118,101, 99, 52, 32, 97,116,116,118, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103, -108,111, 98, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,108,111, 99, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32, -118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, - 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, - 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102,114,111,110,116, 98, 97, 99,107, 41, 10,123, 10, 9,108,111, 99, 97,108, 32, - 61, 32, 99,111, 59, 10, 9,118,105,101,119, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108,111, 99, 97,108, 41, 59, 10, - 9,103,108,111, 98, 97,108, 32, 61, 32, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40,108,111, 99, 97,108, - 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,111,114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111, 59, 10, 9,117, -118, 95, 97,116,116,114,105, 98,117,116,101, 40, 97,116,116,117,118, 44, 32,117,118, 41, 59, 10, 9,110,111,114,109, 97,108, 32, - 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,111,114, 41, 59, 9, 47, 42, 32, 98,108,101,110,100,101,114, 32,114,101, -110,100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32,110,101,103, 97,116,101,100, 32, 42, 47, 10, 9,118, 99,111,108, 95, - 97,116,116,114,105, 98,117,116,101, 40, 97,116,116,118, 99,111,108, 44, 32,118, 99,111,108, 41, 59, 10, 9,102,114,111,110,116, - 98, 97, 99,107, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,112,112,105,110,103, 40,118,101, 99, 51, - 32,118,101, 99, 44, 32,109, 97,116, 52, 32,109, 97,116, 44, 32,118,101, 99, 51, 32,109,105,110,118,101, 99, 44, 32,118,101, 99, - 51, 32,109, 97,120,118,101, 99, 44, 32,102,108,111, 97,116, 32,100,111,109,105,110, 44, 32,102,108,111, 97,116, 32,100,111,109, - 97,120, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, - 32, 40,109, 97,116, 32, 42, 32,118,101, 99, 52, 40,118,101, 99, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,105,102, - 40,100,111,109,105,110, 32, 61, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32,109, 97,120, 40,111,117, -116,118,101, 99, 44, 32,109,105,110,118,101, 99, 41, 59, 10, 9,105,102, 40,100,111,109, 97,120, 32, 61, 61, 32, 49, 46, 48, 41, - 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32,109,105,110, 40,111,117,116,118,101, 99, 44, 32,109, 97,120,118,101, 99, 41, 59, - 10,125, 10, 10,118,111,105,100, 32, 99, 97,109,101,114, 97, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, - 51, 32,111,117,116,118,105,101,119, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,101,112,116,104, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,111,117,116,100,105,115,116, 41, 10,123, 10, 9,111,117,116,100,101,112,116,104, 32, 61, 32, - 97, 98,115, 40, 99,111, 46,122, 41, 59, 10, 9,111,117,116,100,105,115,116, 32, 61, 32,108,101,110,103,116,104, 40, 99,111, 41, - 59, 10, 9,111,117,116,118,105,101,119, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 41, 59, 10,125, 10, 10,118, -111,105,100, 32,109, 97,116,104, 95, 97,100,100, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, + 10,102,108,111, 97,116, 32,101,120,112, 95, 98,108,101,110,100,101, +114, 40,102,108,111, 97,116, 32,102, 41, 10,123, 10, 9,114,101,116,117,114,110, 32,112,111,119, 40, 50, 46, 55, 49, 56, 50, 56, + 49, 56, 50, 56, 52, 54, 44, 32,102, 41, 59, 10,125, 10, 10,118,111,105,100, 32,114,103, 98, 95,116,111, 95,104,115,118, 40,118, +101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, + 97,116, 32, 99,109, 97,120, 44, 32, 99,109,105,110, 44, 32,104, 44, 32,115, 44, 32,118, 44, 32, 99,100,101,108,116, 97, 59, 10, + 9,118,101, 99, 51, 32, 99, 59, 10, 10, 9, 99,109, 97,120, 32, 61, 32,109, 97,120, 40,114,103, 98, 91, 48, 93, 44, 32,109, 97, +120, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, 41, 59, 10, 9, 99,109,105,110, 32, 61, 32,109,105,110, 40, +114,103, 98, 91, 48, 93, 44, 32,109,105,110, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, 41, 59, 10, 9, 99, +100,101,108,116, 97, 32, 61, 32, 99,109, 97,120, 45, 99,109,105,110, 59, 10, 10, 9,118, 32, 61, 32, 99,109, 97,120, 59, 10, 9, +105,102, 32, 40, 99,109, 97,120, 33, 61, 48, 46, 48, 41, 10, 9, 9,115, 32, 61, 32, 99,100,101,108,116, 97, 47, 99,109, 97,120, + 59, 10, 9,101,108,115,101, 32,123, 10, 9, 9,115, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, + 9,125, 10, 10, 9,105,102, 32, 40,115, 32, 61, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, + 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9, 99, 32, 61, 32, 40,118,101, 99, 51, 40, 99,109, 97,120, 44, 32, 99,109, 97, +120, 44, 32, 99,109, 97,120, 41, 32, 45, 32,114,103, 98, 46,120,121,122, 41, 47, 99,100,101,108,116, 97, 59, 10, 10, 9, 9,105, +102, 32, 40,114,103, 98, 46,120, 61, 61, 99,109, 97,120, 41, 32,104, 32, 61, 32, 99, 91, 50, 93, 32, 45, 32, 99, 91, 49, 93, 59, + 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,114,103, 98, 46,121, 61, 61, 99,109, 97,120, 41, 32,104, 32, 61, 32, 50, 46, 48, + 32, 43, 32, 99, 91, 48, 93, 32, 45, 32, 32, 99, 91, 50, 93, 59, 10, 9, 9,101,108,115,101, 32,104, 32, 61, 32, 52, 46, 48, 32, + 43, 32, 99, 91, 49, 93, 32, 45, 32, 99, 91, 48, 93, 59, 10, 10, 9, 9,104, 32, 47, 61, 32, 54, 46, 48, 59, 10, 10, 9, 9,105, +102, 32, 40,104, 60, 48, 46, 48, 41, 10, 9, 9, 9,104, 32, 43, 61, 32, 49, 46, 48, 59, 10, 9,125, 10, 10, 9,111,117,116, 99, +111,108, 32, 61, 32,118,101, 99, 52, 40,104, 44, 32,115, 44, 32,118, 44, 32,114,103, 98, 46,119, 41, 59, 10,125, 10, 10,118,111, +105,100, 32,104,115,118, 95,116,111, 95,114,103, 98, 40,118,101, 99, 52, 32,104,115,118, 44, 32,111,117,116, 32,118,101, 99, 52, + 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,105, 44, 32,102, 44, 32,112, 44, 32,113, 44, 32,116, 44, + 32,104, 44, 32,115, 44, 32,118, 59, 10, 9,118,101, 99, 51, 32,114,103, 98, 59, 10, 10, 9,104, 32, 61, 32,104,115,118, 91, 48, + 93, 59, 10, 9,115, 32, 61, 32,104,115,118, 91, 49, 93, 59, 10, 9,118, 32, 61, 32,104,115,118, 91, 50, 93, 59, 10, 10, 9,105, +102, 40,115, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,118, 44, 32,118, + 41, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, 40,104, 61, 61, 49, 46, 48, 41, 10, 9, 9, 9,104, 32, + 61, 32, 48, 46, 48, 59, 10, 9, 9, 10, 9, 9,104, 32, 42, 61, 32, 54, 46, 48, 59, 10, 9, 9,105, 32, 61, 32,102,108,111,111, +114, 40,104, 41, 59, 10, 9, 9,102, 32, 61, 32,104, 32, 45, 32,105, 59, 10, 9, 9,114,103, 98, 32, 61, 32,118,101, 99, 51, 40, +102, 44, 32,102, 44, 32,102, 41, 59, 10, 9, 9,112, 32, 61, 32,118, 42, 40, 49, 46, 48, 45,115, 41, 59, 10, 9, 9,113, 32, 61, + 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42,102, 41, 41, 59, 10, 9, 9,116, 32, 61, 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42, + 40, 49, 46, 48, 45,102, 41, 41, 41, 59, 10, 9, 9, 10, 9, 9,105,102, 32, 40,105, 32, 61, 61, 32, 48, 46, 48, 41, 32,114,103, + 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,116, 44, 32,112, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, + 61, 61, 32, 49, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,113, 44, 32,118, 44, 32,112, 41, 59, 10, 9, 9,101, +108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 50, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,112, 44, 32, +118, 44, 32,116, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 51, 46, 48, 41, 32,114,103, 98, 32, + 61, 32,118,101, 99, 51, 40,112, 44, 32,113, 44, 32,118, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, + 32, 52, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,116, 44, 32,112, 44, 32,118, 41, 59, 10, 9, 9,101,108,115, +101, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,112, 44, 32,113, 41, 59, 10, 9,125, 10, 10, 9,111,117,116, 99, +111,108, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 44, 32,104,115,118, 46,119, 41, 59, 10,125, 10, 10,102,108,111, 97,116, 32, +115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9,105,102, + 40, 99, 32, 60, 32, 48, 46, 48, 52, 48, 52, 53, 41, 10, 9, 9,114,101,116,117,114,110, 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, + 63, 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 40, 49, 46, 48, 47, 49, 50, 46, 57, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9, +114,101,116,117,114,110, 32,112,111,119, 40, 40, 99, 32, 43, 32, 48, 46, 48, 53, 53, 41, 42, 40, 49, 46, 48, 47, 49, 46, 48, 53, + 53, 41, 44, 32, 50, 46, 52, 41, 59, 10,125, 10, 10,102,108,111, 97,116, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95, +115,114,103, 98, 40,102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9,105,102, 40, 99, 32, 60, 32, 48, 46, 48, 48, 51, 49, 51, 48, + 56, 41, 10, 9, 9,114,101,116,117,114,110, 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, 63, 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, + 49, 50, 46, 57, 50, 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116,117,114,110, 32, 49, 46, 48, 53, 53, 32, 42, 32,112,111, +119, 40, 99, 44, 32, 49, 46, 48, 47, 50, 46, 52, 41, 32, 45, 32, 48, 46, 48, 53, 53, 59, 10,125, 10, 10,118,111,105,100, 32,115, +114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 95,102,114,111,109, 44, 32, +111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111,108, 95,116,111, 46,114, 32, 61, 32,115, +114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,114, 41, 59, 10, 9, 99, +111,108, 95,116,111, 46,103, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95, +102,114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110, +101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 97, 32, 61, 32, + 99,111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, + 95,115,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 95,102,114,111,109, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111, +108, 95,116,111, 41, 10,123, 10, 9, 99,111,108, 95,116,111, 46,114, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, + 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,114, 41, 59, 10, 9, 99,111,108, 95,116,111, 46,103, 32, 61, 32,108, +105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,103, 41, 59, 10, 9, 99, +111,108, 95,116,111, 46, 98, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95, +102,114,111,109, 46, 98, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 97, 32, 61, 32, 99,111,108, 95,102,114,111,109, 46, 97, 59, + 10,125, 10, 10, 35,100,101,102,105,110,101, 32, 77, 95, 80, 73, 32, 51, 46, 49, 52, 49, 53, 57, 50, 54, 53, 51, 53, 56, 57, 55, + 57, 51, 50, 51, 56, 52, 54, 10, 35,100,101,102,105,110,101, 32, 77, 95, 49, 95, 80, 73, 32, 48, 46, 51, 49, 56, 51, 48, 57, 56, + 56, 54, 49, 56, 51, 55, 57, 48, 54, 57, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 83, 72, 65, 68, 69, 82, 32, + 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,118, 99,111, +108, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 52, 32, 97,116,116,118, 99,111,108, 44, 32,111,117,116, 32,118,101, + 99, 52, 32,118, 99,111,108, 41, 10,123, 10, 9,118, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 97,116,116,118, 99,111,108, 46, +120, 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111,108, 46,121, 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111, +108, 46,122, 47, 50, 53, 53, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,117,118, 95, 97,116,116,114, +105, 98,117,116,101, 40,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 41, 10,123, + 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, 49, 46, 48, + 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,103,101,111,109, 40,118,101, 99, 51, 32, + 99,111, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,118, +101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,118,101, 99, 52, 32, 97,116, +116,118, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, + 32,108,111, 99, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, 32, +111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, + 97,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102,114,111, +110,116, 98, 97, 99,107, 41, 10,123, 10, 9,108,111, 99, 97,108, 32, 61, 32, 99,111, 59, 10, 9,118,105,101,119, 32, 61, 32,110, +111,114,109, 97,108,105,122,101, 40,108,111, 99, 97,108, 41, 59, 10, 9,103,108,111, 98, 97,108, 32, 61, 32, 40,118,105,101,119, +105,110,118,109, 97,116, 42,118,101, 99, 52, 40,108,111, 99, 97,108, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,111, +114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111, 59, 10, 9,117,118, 95, 97,116,116,114,105, 98,117,116,101, 40, 97,116,116, +117,118, 44, 32,117,118, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,111, +114, 41, 59, 9, 47, 42, 32, 98,108,101,110,100,101,114, 32,114,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32, +110,101,103, 97,116,101,100, 32, 42, 47, 10, 9,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116,101, 40, 97,116,116,118, 99, +111,108, 44, 32,118, 99,111,108, 41, 59, 10, 9,102,114,111,110,116, 98, 97, 99,107, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10, +118,111,105,100, 32,109, 97,112,112,105,110,103, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,109, 97,116, 52, 32,109, 97,116, 44, + 32,118,101, 99, 51, 32,109,105,110,118,101, 99, 44, 32,118,101, 99, 51, 32,109, 97,120,118,101, 99, 44, 32,102,108,111, 97,116, + 32,100,111,109,105,110, 44, 32,102,108,111, 97,116, 32,100,111,109, 97,120, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117, +116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32, 40,109, 97,116, 32, 42, 32,118,101, 99, 52, 40,118,101, + 99, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,105,102, 40,100,111,109,105,110, 32, 61, 61, 32, 49, 46, 48, 41, 10, + 9, 9,111,117,116,118,101, 99, 32, 61, 32,109, 97,120, 40,111,117,116,118,101, 99, 44, 32,109,105,110,118,101, 99, 41, 59, 10, + 9,105,102, 40,100,111,109, 97,120, 32, 61, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32,109,105,110, + 40,111,117,116,118,101, 99, 44, 32,109, 97,120,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32, 99, 97,109,101,114, 97, + 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,105,101,119, 44, 32,111,117,116, 32, +102,108,111, 97,116, 32,111,117,116,100,101,112,116,104, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,105,115, +116, 41, 10,123, 10, 9,111,117,116,100,101,112,116,104, 32, 61, 32, 97, 98,115, 40, 99,111, 46,122, 41, 59, 10, 9,111,117,116, +100,105,115,116, 32, 61, 32,108,101,110,103,116,104, 40, 99,111, 41, 59, 10, 9,111,117,116,118,105,101,119, 32, 61, 32,110,111, +114,109, 97,108,105,122,101, 40, 99,111, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,100,100, 40,102,108, +111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, +111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 43, 32,118, 97,108, 50, 59, + 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,115,117, 98,116,114, 97, 99,116, 40,102,108,111, 97,116, 32,118, 97,108, + 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, + 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 45, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105, +100, 32,109, 97,116,104, 95,109,117,108,116,105,112,108,121, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97, +116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116, +118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 42, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, +100,105,118,105,100,101, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111, +117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 50, 32, 61, 61, 32, + 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, +118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 47, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, +115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, + 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,115,105,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32, +109, 97,116,104, 95, 99,111,115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, + 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,115, 40,118, 97,108, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,109, 97,116,104, 95,116, 97,110,103,101,110,116, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111, +117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,116, 97,110, + 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,115,105,110, 40,102,108,111, 97,116, 32,118, + 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, + 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, + 32, 61, 32, 97,115,105,110, 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, + 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97, 99,111,115, 40,102,108,111, 97,116, 32,118, 97,108, 44, + 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 32, 60, 61, + 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, + 97, 99,111,115, 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, + 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,116, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117, +116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 97,116, 97,110, + 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,112,111,119, 40,102,108,111, 97,116, 32,118, 97, +108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, + 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 49, 32, 62, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, + 32,112,111,119, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, + 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,108,111,103, 40,102,108,111, 97,116, 32,118, + 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97, +108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 62, 32, 48, 46, 48, 32, 32, 38, 38, 32,118, 97,108, 50, 32, 62, 32, 48, + 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 61, 32,108,111,103, 50, 40,118, 97,108, 49, 41, 32, 47, 32,108,111,103, 50, 40, +118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118, +111,105,100, 32,109, 97,116,104, 95,109, 97,120, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, - 32, 61, 32,118, 97,108, 49, 32, 43, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,115,117, 98, -116,114, 97, 99,116, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117, -116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, - 32, 45, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109,117,108,116,105,112,108,121, 40,102, -108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, - 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 42, 32,118, 97,108, 50, - 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,100,105,118,105,100,101, 40,102,108,111, 97,116, 32,118, 97,108, 49, - 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10, -123, 10, 9,105,102, 32, 40,118, 97,108, 50, 32, 61, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, - 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 47, 32,118, 97,108, 50, - 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,115,105,110, - 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 99,111,115,105,110,101, 40,102,108,111, 97,116, - 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97, -108, 32, 61, 32, 99,111,115, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,116, 97,110,103,101, -110,116, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10, -123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,116, 97,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97, -116,104, 95, 97,115,105,110, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, -118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, - 32, 45, 49, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 97,115,105,110, 40,118, 97,108, 41, 59, 10, 9,101,108, + 32, 61, 32,109, 97,120, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, + 95,109,105,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, + 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,109,105,110, 40,118, + 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,114,111,117,110,100, 40,102, +108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111, +117,116,118, 97,108, 61, 32,102,108,111,111,114, 40,118, 97,108, 32, 43, 32, 48, 46, 53, 41, 59, 10,125, 10, 10,118,111,105,100, + 32,109, 97,116,104, 95,108,101,115,115, 95,116,104, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97, +116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40, +118, 97,108, 49, 32, 60, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108, 115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, - 97, 99,111,115, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, - 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, - 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 97, 99,111,115, 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, - 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,116, 97, -110, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, - 10, 9,111,117,116,118, 97,108, 32, 61, 32, 97,116, 97,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97, -116,104, 95,112,111,119, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 49, 32, 62, 61, 32, - 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32,112,111,119, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, - 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, - 97,116,104, 95,108,111,103, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32, -111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 62, 32, 48, - 46, 48, 32, 32, 38, 38, 32,118, 97,108, 50, 32, 62, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 61, 32,108,111,103, - 50, 40,118, 97,108, 49, 41, 32, 47, 32,108,111,103, 50, 40,118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117, -116,118, 97,108, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109, 97,120, 40,102,108,111, 97, -116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117, -116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,109, 97,120, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, - 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109,105,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32, -102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, - 9,111,117,116,118, 97,108, 32, 61, 32,109,105,110, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111, -105,100, 32,109, 97,116,104, 95,114,111,117,110,100, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, - 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 61, 32,102,108,111,111,114, 40,118, 97,108, 32, - 43, 32, 48, 46, 53, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,108,101,115,115, 95,116,104, 97,110, 40,102, -108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, - 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 60, 32,118, 97,108, 50, 41, 10, 9, 9,111,117, -116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, - 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,103,114,101, 97,116,101,114, 95,116,104, 97,110, 40,102,108,111, 97, -116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117, -116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 62, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97, -108, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, - 10, 10,118,111,105,100, 32,115,113,117,101,101,122,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,102,108,111, 97,116, 32, -119,105,100,116,104, 44, 32,102,108,111, 97,116, 32, 99,101,110,116,101,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111, -117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 47, 40, 49, 46, 48, 32, 43, 32,112,111, -119, 40, 50, 46, 55, 49, 56, 50, 56, 49, 56, 51, 44, 32, 45, 40, 40,118, 97,108, 45, 99,101,110,116,101,114, 41, 42,119,105,100, -116,104, 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 97,100,100, 40,118,101, 99, 51, - 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, - 43, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, - 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 49, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, - 41, 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,115,117, 98, 40,118,101, 99, - 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32, -111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, - 32, 45, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, - 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 49, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, - 93, 41, 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 97,118,101,114, 97,103, -101, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, -118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, - 32, 61, 32,118, 49, 32, 43, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,111,117,116, -118,101, 99, 41, 59, 10, 9,111,117,116,118,101, 99, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,118,101, 99, - 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,100,111,116, 40,118,101, 99, 51, 32,118, 49, 44, - 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102, -108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 44, - 32, 48, 44, 32, 48, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,100,111,116, 40,118, 49, 44, 32,118, 50, 41, 59, 10,125, - 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 99,114,111,115,115, 40,118,101, 99, 51, 32,118, 49, 44, 32,118, -101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, - 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32, 99,114,111,115,115, 40,118, 49, 44, - 32,118, 50, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10, -125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,110,111,114,109, 97,108,105,122,101, 40,118,101, 99, 51, 32, -118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117, -116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,118, 41, 59, 10, 9,111,117, -116,118,101, 99, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, - 95,109, 97,116,104, 95,110,101,103, 97,116,101, 40,118,101, 99, 51, 32,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117, -116,118, 41, 10,123, 10, 9,111,117,116,118, 32, 61, 32, 45,118, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,114,109, 97,108, - 40,118,101, 99, 51, 32,100,105,114, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117, -116,110,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,111,116, 41, 10,123, 10, 9,111,117,116,110,111, -114, 32, 61, 32,100,105,114, 59, 10, 9,111,117,116,100,111,116, 32, 61, 32, 45,100,111,116, 40,100,105,114, 44, 32,110,111,114, - 41, 59, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,118,101,115, 95,118,101, 99, 40,102,108,111, 97,116, 32,102, 97, 99, 44, - 32,118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,111, -117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 46,120, 32, 61, 32,116,101, -120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, 40,118,101, 99, 46,120, 32, 43, 32, - 49, 46, 48, 41, 42, 48, 46, 53, 44, 32, 48, 46, 48, 41, 41, 46,120, 59, 10, 9,111,117,116,118,101, 99, 46,121, 32, 61, 32,116, -101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, 40,118,101, 99, 46,121, 32, 43, - 32, 49, 46, 48, 41, 42, 48, 46, 53, 44, 32, 48, 46, 48, 41, 41, 46,121, 59, 10, 9,111,117,116,118,101, 99, 46,122, 32, 61, 32, -116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, 40,118,101, 99, 46,122, 32, - 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 44, 32, 48, 46, 48, 41, 41, 46,122, 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32, 33, - 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32, 40,111,117,116,118,101, 99, 42,102, 97, 99, 41, 32, 43, - 32, 40,118,101, 99, 42, 40, 49, 46, 48, 45,102, 97, 99, 41, 41, 59, 10, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,118,101, -115, 95,114,103, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,115, 97,109,112,108, -101,114, 50, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10, -123, 10, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, - 44, 32,118,101, 99, 50, 40,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, - 99,111,108, 46,114, 44, 32, 48, 46, 48, 41, 41, 46, 97, 44, 32, 48, 46, 48, 41, 41, 46,114, 59, 10, 9,111,117,116, 99,111,108, - 46,103, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40,116,101, -120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, 99,111,108, 46,103, 44, 32, 48, 46, - 48, 41, 41, 46, 97, 44, 32, 48, 46, 48, 41, 41, 46,103, 59, 10, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,101,120,116, -117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40,116,101,120,116,117,114,101, 50, 68, 40, 99, -117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, 99,111,108, 46, 98, 44, 32, 48, 46, 48, 41, 41, 46, 97, 44, 32, 48, 46, - 48, 41, 41, 46, 98, 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32, 33, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111, -108, 32, 61, 32, 40,111,117,116, 99,111,108, 42,102, 97, 99, 41, 32, 43, 32, 40, 99,111,108, 42, 40, 49, 46, 48, 45,102, 97, 99, - 41, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32, -115,101,116, 95,118, 97,108,117,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111, -117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32, -115,101,116, 95,114,103, 98, 40,118,101, 99, 51, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111, -108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95, -114,103, 98, 97, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10, -123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108, -117,101, 95,122,101,114,111, 40,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116, -118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 95,111,110,101, - 40,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 49, - 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, - 51, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, - 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 97, 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, 52, 32, -111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10,125, - 10, 10,118,111,105,100, 32,109,105,120, 95, 98,108,101,110,100, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, - 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111, -108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, - 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, - 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105, -120, 95, 97,100,100, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, - 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, - 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, - 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 43, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111, -117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,109,117, -108,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111, -108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, - 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105, -120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 42, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99, -111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115, 99,114,101,101, -110, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, +103,114,101, 97,116,101,114, 95,116,104, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, + 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, + 49, 32, 62, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, + 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,113,117,101,101,122,101, 40, +102,108,111, 97,116, 32,118, 97,108, 44, 32,102,108,111, 97,116, 32,119,105,100,116,104, 44, 32,102,108,111, 97,116, 32, 99,101, +110,116,101,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97, +108, 32, 61, 32, 49, 46, 48, 47, 40, 49, 46, 48, 32, 43, 32,112,111,119, 40, 50, 46, 55, 49, 56, 50, 56, 49, 56, 51, 44, 32, 45, + 40, 40,118, 97,108, 45, 99,101,110,116,101,114, 41, 42,119,105,100,116,104, 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32, +118,101, 99, 95,109, 97,116,104, 95, 97,100,100, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111, +117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, + 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 43, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, + 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 49, 93, + 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, 41, 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,105,100, + 32,118,101, 99, 95,109, 97,116,104, 95,115,117, 98, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32, +111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97, +108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 45, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, + 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 49, + 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, 41, 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,105, +100, 32,118,101, 99, 95,109, 97,116,104, 95, 97,118,101,114, 97,103,101, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, + 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, +111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 43, 32,118, 50, 59, 10, 9,111,117, +116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10, 9,111,117,116,118,101, 99, 32, 61, + 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95, +109, 97,116,104, 95,100,111,116, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118, +101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, + 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 44, 32, 48, 44, 32, 48, 41, 59, 10, 9,111,117,116,118, 97,108, + 32, 61, 32,100,111,116, 40,118, 49, 44, 32,118, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, + 95, 99,114,111,115,115, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, + 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111, +117,116,118,101, 99, 32, 61, 32, 99,114,111,115,115, 40,118, 49, 44, 32,118, 50, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 61, + 32,108,101,110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116, +104, 95,110,111,114,109, 97,108,105,122,101, 40,118,101, 99, 51, 32,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, +118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, + 32, 61, 32,108,101,110,103,116,104, 40,118, 41, 59, 10, 9,111,117,116,118,101, 99, 32, 61, 32,110,111,114,109, 97,108,105,122, +101, 40,118, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,110,101,103, 97,116,101, 40,118,101, + 99, 51, 32,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118, 41, 10,123, 10, 9,111,117,116,118, 32, 61, 32, 45, +118, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,100,105,114, 44, 32,118,101, 99, 51, + 32,110,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, + 32,111,117,116,100,111,116, 41, 10,123, 10, 9,111,117,116,110,111,114, 32, 61, 32,100,105,114, 59, 10, 9,111,117,116,100,111, +116, 32, 61, 32, 45,100,111,116, 40,100,105,114, 44, 32,110,111,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,118, +101,115, 95,118,101, 99, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,112, +108,101,114, 50, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, + 10,123, 10, 9,111,117,116,118,101, 99, 46,120, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97, +112, 44, 32,118,101, 99, 50, 40, 40,118,101, 99, 46,120, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 44, 32, 48, 46, 48, 41, 41, + 46,120, 59, 10, 9,111,117,116,118,101, 99, 46,121, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, + 97,112, 44, 32,118,101, 99, 50, 40, 40,118,101, 99, 46,121, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 44, 32, 48, 46, 48, 41, + 41, 46,121, 59, 10, 9,111,117,116,118,101, 99, 46,122, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101, +109, 97,112, 44, 32,118,101, 99, 50, 40, 40,118,101, 99, 46,122, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 44, 32, 48, 46, 48, + 41, 41, 46,122, 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32, 33, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, + 32, 61, 32, 40,111,117,116,118,101, 99, 42,102, 97, 99, 41, 32, 43, 32, 40,118,101, 99, 42, 40, 49, 46, 48, 45,102, 97, 99, 41, + 41, 59, 10, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,118,101,115, 95,114,103, 98, 40,102,108,111, 97,116, 32,102, 97, 99, + 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32, +111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116, +101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40,116,101,120,116,117,114,101, 50, + 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, 99,111,108, 46,114, 44, 32, 48, 46, 48, 41, 41, 46, 97, 44, + 32, 48, 46, 48, 41, 41, 46,114, 59, 10, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, + 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97, +112, 44, 32,118,101, 99, 50, 40, 99,111,108, 46,103, 44, 32, 48, 46, 48, 41, 41, 46, 97, 44, 32, 48, 46, 48, 41, 41, 46,103, 59, + 10, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, + 32,118,101, 99, 50, 40,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40, 99, +111,108, 46, 98, 44, 32, 48, 46, 48, 41, 41, 46, 97, 44, 32, 48, 46, 48, 41, 41, 46, 98, 59, 10, 10, 9,105,102, 32, 40,102, 97, + 99, 32, 33, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32, 40,111,117,116, 99,111,108, 42,102, 97, 99, + 41, 32, 43, 32, 40, 99,111,108, 42, 40, 49, 46, 48, 45,102, 97, 99, 41, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 46, 97, 32, + 61, 32, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 40,102,108,111, 97,116, + 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97, +108, 32, 61, 32,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 40,118,101, 99, 51, 32, 99,111, +108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, + 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 97, 40,118,101, 99, 52, 32, 99,111,108, 44, 32, +111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, + 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 95,122,101,114,111, 40,111,117,116, 32,102,108,111, + 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118, +111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 95,111,110,101, 40,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, + 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, + 95,114,103, 98, 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117, +116,118, 97,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, + 98, 97, 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, 52, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, + 97,108, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 98,108,101,110, +100, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97, -109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, - 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, - 32, 45, 32, 40,118,101, 99, 52, 40,102, 97, 99,109, 41, 32, 43, 32,102, 97, 99, 42, 40,118,101, 99, 52, 40, 49, 46, 48, 41, 32, - 45, 32, 99,111,108, 50, 41, 41, 42, 40,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117, -116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,111,118,101, -114,108, 97,121, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, - 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, - 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99, -109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, - 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, - 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9,101,108,115,101, 10, - 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, - 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, - 46,114, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99, -111,108, 46,103, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9, -101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, - 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46,103, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111, -117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, - 9,111,117,116, 99,111,108, 46, 98, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, - 46, 98, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, - 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46, 98, 41, 41, 42, 40, 49, 46, - 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115,117, 98, 40,102, -108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32, -111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, -102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111, -108, 49, 44, 32, 99,111,108, 49, 32, 45, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, - 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,105,118, 40,102,108,111, 97,116, - 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32, -118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, - 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32, -102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46, -114, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46,114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, - 46,114, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, 46,114, 47, 99,111,108, 50, 46,114, 59, 10, 9,105,102, 40, 99,111, -108, 50, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, - 99,111,108, 46,103, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, 46,103, 47, 99,111,108, 50, 46,103, 59, 10, 9,105,102, - 40, 99,111,108, 50, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42, -111,117,116, 99,111,108, 46, 98, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, 46, 98, 47, 99,111,108, 50, 46, 98, 59, 10, -125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,105,102,102, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, - 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111, -108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, - 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 97, 98,115, 40, 99,111,108, 49, 32, 45, - 32, 99,111,108, 50, 41, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, - 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100, 97,114,107, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, - 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, - 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, - 48, 41, 59, 10, 9,111,117,116, 99,111,108, 46,114,103, 98, 32, 61, 32,109,105,110, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, - 99,111,108, 50, 46,114,103, 98, 42,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, - 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,108,105,103,104,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32, -118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111, -117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, - 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 46,114,103, 98, 32, 61, 32,109, 97,120, 40, 99,111,108, 49, 46,114,103, 98, - 44, 32, 99,111,108, 50, 46,114,103, 98, 42,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, - 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,111,100,103,101, 40,102,108,111, 97,116, 32,102, 97, 99, +109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, + 40, 99,111,108, 49, 44, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99, +111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 97,100,100, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, - 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, - 99,111,108, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, - 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, - 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116, -109,112, 32, 61, 32,111,117,116, 99,111,108, 46,114, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, - 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, - 61, 32,116,109,112, 59, 10, 9,125, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, - 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, - 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, - 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46,103, 47,116, -109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9, -101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,109,112, 59, 10, 9,125, 10, 9,105,102, 40,111, -117,116, 99,111,108, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, - 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, - 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, - 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111, -117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46, - 98, 32, 61, 32,116,109,112, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 98,117,114,110, 40,102,108,111, - 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117, -116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, - 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,116,109,112, 44, 32,102, 97, 99,109, 32, 61, - 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,116, -109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9,105,102, 40,116,109,112, 32, - 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32, -105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, - 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 48, 46, 48, 59, - 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, - 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 10, - 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40,116,109, -112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115, -101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, - 46,103, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 48, 46, - 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, -103, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,109,112, 59, - 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9,105,102, 40, -116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101, -108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99, -111,108, 46, 98, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, - 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111, -108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,109, -112, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,104,117,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, + 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, + 32, 43, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, + 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,109,117,108,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118, +101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117, +116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, + 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 42, 32, + 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, +125, 10, 10,118,111,105,100, 32,109,105,120, 95,115, 99,114,101,101,110, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111, -117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 44, 32, -116,109,112, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9, -105,102, 40,104,115,118, 50, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, - 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 9, 9,104,115,118, 46,120, 32, 61, 32,104,115,118, 50, 46,120, 59, - 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, - 99,111,108, 32, 61, 32,109,105,120, 40,111,117,116, 99,111,108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111, -117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, - 95,115, 97,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, - 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, - 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99, -109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, - 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117, -116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, - 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9, 9,104,115, -118, 46,121, 32, 61, 32,102, 97, 99,109, 42,104,115,118, 46,121, 32, 43, 32,102, 97, 99, 42,104,115,118, 50, 46,121, 59, 10, 9, - 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10, 9,125, 10,125, 10, 10, -118,111,105,100, 32,109,105,120, 95,118, 97,108, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, - 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, - 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102, -108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,104,115, -118, 44, 32,104,115,118, 50, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 49, 44, 32,104,115,118, 41, 59, - 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,104,115,118, 46, -122, 32, 61, 32,102, 97, 99,109, 42,104,115,118, 46,122, 32, 43, 32,102, 97, 99, 42,104,115,118, 50, 46,122, 59, 10, 9,104,115, -118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, -105,120, 95, 99,111,108,111,114, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118, -101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, - 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, - 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111, -108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95, -116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, - 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104, -115,118, 41, 59, 10, 9, 9,104,115,118, 46,120, 32, 61, 32,104,115,118, 50, 46,120, 59, 10, 9, 9,104,115,118, 46,121, 32, 61, - 32,104,115,118, 50, 46,121, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,116,109,112, 41, 59, - 32, 10, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40,111,117,116, 99,111,108, 44, 32,116,109,112, 44, 32,102, - 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, 9,125, 10,125, 10, 10, -118,111,105,100, 32,109,105,120, 95,115,111,102,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111, +117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 40,118,101, 99, 52, 40,102, 97, 99,109, 41, 32, + 43, 32,102, 97, 99, 42, 40,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 50, 41, 41, 42, 40,118,101, 99, 52, 40, + 49, 46, 48, 41, 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, + 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,111,118,101,114,108, 97,121, 40,102,108,111, 97,116, 32,102, 97, 99, 44, + 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32, +111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, + 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, + 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 60, + 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, + 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, + 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46, +114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111, +108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, + 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, + 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, + 99,111,108, 50, 46,103, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40, +111,117,116, 99,111,108, 46, 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 42, 61, 32,102, 97, + 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, + 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, + 46, 48, 32, 45, 32, 99,111,108, 50, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 59, 10, +125, 10, 10,118,111,105,100, 32,109,105,120, 95,115,117, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, + 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, + 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, + 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 45, 32, 99,111,108, 50, + 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118, +111,105,100, 32,109,105,120, 95,100,105,118, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, + 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, + 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108, +111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, + 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111, +108, 46,114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, + 46,114, 47, 99,111,108, 50, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 50, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117, +116, 99,111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,103, 32, 43, 32,102, 97, 99, 42,111,117,116, + 99,111,108, 46,103, 47, 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 50, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, + 32,111,117,116, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46, 98, 32, 43, 32,102, 97, 99, 42, +111,117,116, 99,111,108, 46, 98, 47, 99,111,108, 50, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,105,102, +102, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, + 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97, +109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, + 40, 99,111,108, 49, 44, 32, 97, 98,115, 40, 99,111,108, 49, 32, 45, 32, 99,111,108, 50, 41, 44, 32,102, 97, 99, 41, 59, 10, 9, +111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100, + 97,114,107, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99, +111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99, +108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 46,114,103, 98, + 32, 61, 32,109,105,110, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111,108, 50, 46,114,103, 98, 42,102, 97, 99, 41, 59, 10, + 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, +108,105,103,104,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, + 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, + 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 46,114, +103, 98, 32, 61, 32,109, 97,120, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111,108, 50, 46,114,103, 98, 42,102, 97, 99, 41, + 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105, +120, 95,100,111,100,103,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, + 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, + 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, + 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, + 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, + 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, + 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46,114, 47,116, +109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9, +101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 9,125, 10, 9,105,102, 40,111, +117,116, 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, + 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, + 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, + 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46,103, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111, +117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46, +103, 32, 61, 32,116,109,112, 59, 10, 9,125, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, + 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46, + 98, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, + 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46, 98, + 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, + 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10, 9,125, 10,125, 10, 10, +118,111,105,100, 32,109,105,120, 95, 98,117,114,110, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111, 108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10, 123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9, -102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,111, -110,101, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,118,101, 99, 52, 32,115, 99,114, 61, 32,111,110,101, 32, 45, 32, - 40,111,110,101, 32, 45, 32, 99,111,108, 50, 41, 42, 40,111,110,101, 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99, -111,108, 32, 61, 32,102, 97, 99,109, 42, 99,111,108, 49, 32, 43, 32,102, 97, 99, 42, 40, 40,111,110,101, 32, 45, 32, 99,111,108, - 49, 41, 42, 99,111,108, 50, 42, 99,111,108, 49, 32, 43, 32, 99,111,108, 49, 42,115, 99,114, 41, 59, 10,125, 10, 10,118,111,105, -100, 32,109,105,120, 95,108,105,110,101, 97,114, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, - 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, - 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9, -111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, 62, 32, 48, 46, 53, - 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 61, 32, 99,111,108, 49, 46,114, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, - 40, 99,111,108, 50, 46,114, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, -114, 61, 32, 99,111,108, 49, 46,114, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 41, 32, 45, 32, - 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,103, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111, -108, 46,103, 61, 32, 99,111,108, 49, 46,103, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,103, 32, 45, - 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103, - 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,103, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105, -102, 40, 99,111,108, 50, 46, 98, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 61, 32, 99,111,108, 49, - 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46, 98, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9, -101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 61, 32, 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, - 46, 48, 42, 40, 99,111,108, 50, 46, 98, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118, 97,108,116, -111,114,103, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32, 99,111,108,111,114,109, - 97,112, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111, -117,116, 97,108,112,104, 97, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99, -111,108,111,114,109, 97,112, 44, 32,118,101, 99, 50, 40,102, 97, 99, 44, 32, 48, 46, 48, 41, 41, 59, 10, 9,111,117,116, 97,108, -112,104, 97, 32, 61, 32,111,117,116, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,114,103, 98,116,111, 98,119, 40, -118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 32, 32, 10, -123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,108,111,114, 46,114, 42, 48, 46, 51, 53, 32, 43, 32, 99,111,108,111,114, - 46,103, 42, 48, 46, 52, 53, 32, 43, 32, 99,111,108,111,114, 46, 98, 42, 48, 46, 50, 59, 32, 47, 42, 32,107,101,101,112, 32,116, -104,101,115,101, 32,102, 97, 99,116,111,114,115, 32,105,110, 32,115,121,110, 99, 32,119,105,116,104, 32,116,101,120,116,117,114, -101, 46,104, 58, 82, 71, 66, 84, 79, 66, 87, 32, 42, 47, 10,125, 10, 10,118,111,105,100, 32,105,110,118,101,114,116, 40,102,108, -111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99, -111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,120,121,122, 32, 61, 32,109,105,120, 40, 99,111,108, 46,120,121,122, 44, - 32,118,101, 99, 51, 40, 49, 46, 48, 44, 32, 49, 46, 48, 44, 32, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 46,120,121,122, 44, 32, -102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46,119, 32, 61, 32, 99,111,108, 46,119, 59, 10,125, 10, 10,118,111,105,100, - 32,104,117,101, 95,115, 97,116, 40,102,108,111, 97,116, 32,104,117,101, 44, 32,102,108,111, 97,116, 32,115, 97,116, 44, 32,102, -108,111, 97,116, 32,118, 97,108,117,101, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, - 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32,104,115,118, 59, 10, 10, - 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 10, 9,104,115,118, 91, 48, 93, 32, - 43, 61, 32, 40,104,117,101, 32, 45, 32, 48, 46, 53, 41, 59, 10, 9,105,102, 40,104,115,118, 91, 48, 93, 62, 49, 46, 48, 41, 32, -104,115,118, 91, 48, 93, 45, 61, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 48, 93, 60, 48, 46, 48, 41, - 32,104,115,118, 91, 48, 93, 43, 61, 32, 49, 46, 48, 59, 10, 9,104,115,118, 91, 49, 93, 32, 42, 61, 32,115, 97,116, 59, 10, 9, -105,102, 40,104,115,118, 91, 49, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 49, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115,101, - 32,105,102, 40,104,115,118, 91, 49, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 49, 93, 61, 32, 48, 46, 48, 59, 10, 9,104,115, -118, 91, 50, 93, 32, 42, 61, 32,118, 97,108,117,101, 59, 10, 9,105,102, 40,104,115,118, 91, 50, 93, 62, 49, 46, 48, 41, 32,104, -115,118, 91, 50, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 50, 93, 60, 48, 46, 48, 41, 32, -104,115,118, 91, 50, 93, 61, 32, 48, 46, 48, 59, 10, 10, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111, -117,116, 99,111,108, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 44, 32,111,117,116, 99, -111,108, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,112, 97,114, 97,116,101, 95,114,103, 98, 40,118, -101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, -103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 98, 41, 10,123, 10, 9,114, 32, 61, 32, 99,111,108, 46,114, 59, 10, 9,103, - 32, 61, 32, 99,111,108, 46,103, 59, 10, 9, 98, 32, 61, 32, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32, 99,111, -109, 98,105,110,101, 95,114,103, 98, 40,102,108,111, 97,116, 32,114, 44, 32,102,108,111, 97,116, 32,103, 44, 32,102,108,111, 97, -116, 32, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 41, 10,123, 10, 9, 99,111,108, 32, 61, 32,118,101, 99, 52, - 40,114, 44, 32,103, 44, 32, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,111,117,116,112,117,116, 95,110, -111,100,101, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 44, 32,111,117,116, 32,118, -101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, - 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 84, 69, - 88, 84, 85, 82, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,116,101, -120,116,117,114,101, 95,102,108,105,112, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,118, -101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 46,121,120,122, 59, - 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95, 98,108,101,110,100, 95,108,105,110, 40,118,101, 99, 51, 32, -118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, - 32, 61, 32, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116, -117,114,101, 95, 98,108,101,110,100, 95,113,117, 97,100, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, - 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,109, 97,120, 40, 40, 49, 46, 48, 43, -118,101, 99, 46,120, 41, 47, 50, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 42, 61, 32,111,117,116, -118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,119,111,111,100, 95,115,105,110, 40,118,101, - 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, - 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9,102,108,111, - 97,116, 32, 97, 32, 61, 32,115,113,114,116, 40,118,101, 99, 46,120, 42,118,101, 99, 46,120, 32, 43, 32,118,101, 99, 46,121, 42, -118,101, 99, 46,121, 32, 43, 32,118,101, 99, 46,122, 42,118,101, 99, 46,122, 41, 42, 50, 48, 46, 48, 59, 10, 9,102,108,111, 97, -116, 32,119,105, 32, 61, 32, 48, 46, 53, 32, 43, 32, 48, 46, 53, 42,115,105,110, 40, 97, 41, 59, 10, 10, 9,118, 97,108,117,101, - 32, 61, 32,119,105, 59, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40,119,105, 44, 32,119,105, 44, 32,119,105, 44, - 32, 49, 46, 48, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, - 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,105,109, 97,103,101, 40,118,101, 99, 51, - 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, - 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110, -111,114,109, 97,108, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, - 32, 40,118,101, 99, 46,120,121, 32, 43, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 41, 42, 48, 46, 53, 41, 59, - 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10, 10, 9,110,111,114,109, 97,108, 46,120, 32, 61, 32, 50, 46, 48, 42, - 40, 99,111,108,111,114, 46,114, 32, 45, 32, 48, 46, 53, 41, 59, 10, 9,110,111,114,109, 97,108, 46,121, 32, 61, 32, 50, 46, 48, - 42, 40, 48, 46, 53, 32, 45, 32, 99,111,108,111,114, 46,103, 41, 59, 10, 9,110,111,114,109, 97,108, 46,122, 32, 61, 32, 50, 46, - 48, 42, 40, 99,111,108,111,114, 46, 98, 32, 45, 32, 48, 46, 53, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 32, 77, 84, 69, 88, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111, -105,100, 32,116,101,120, 99,111, 95,111,114, 99,111, 40,118,101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,111,117,116, 32, -118,101, 99, 51, 32,111,114, 99,111, 41, 10,123, 10, 9,111,114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111, 59, 10,125, 10, - 10,118,111,105,100, 32,116,101,120, 99,111, 95,117,118, 40,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,111,117,116, 32,118, -101, 99, 51, 32,117,118, 41, 10,123, 10, 9, 47, 42, 32,100,105,115, 97, 98,108,101,100, 32,102,111,114, 32,110,111,119, 44, 32, -119,111,114,107,115, 32,116,111,103,101,116,104,101,114, 32,119,105,116,104, 32,108,101, 97,118,105,110,103, 32,111,117,116, 32, -109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 10, 9, 32, 32, 32,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116, -116,117,118, 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 32, - 42, 47, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111, -105,100, 32,116,101,120, 99,111, 95,110,111,114,109, 40,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118, -101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 42, 32, 99,111,114,114,101,115,112,111,110,100,115, - 32,116,111, 32,115,104,105, 45, 62,111,114,110, 44, 32,119,104,105, 99,104, 32,105,115, 32,110,101,103, 97,116,101,100, 32,115, -111, 32, 99, 97,110, 99,101,108,115, 10, 9, 32, 32, 32,111,117,116, 32, 98,108,101,110,100,101,114, 32,110,111,114,109, 97,108, - 32,110,101,103, 97,116,105,111,110, 32, 42, 47, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97,108, -105,122,101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,116, 97,110,103,101, -110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116, 97,110, -103,101,110,116, 41, 10,123, 10, 9,111,117,116,116, 97,110,103,101,110,116, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, -116, 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,103,108,111, 98, - 97,108, 40,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, - 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 41, 10,123, 10, 9,103,108,111, 98, 97,108, 32, 61, 32, 40,118,105,101,119,105, -110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10,125, 10, 10,118,111,105, -100, 32,116,101,120, 99,111, 95,111, 98,106,101, 99,116, 40,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32, -109, 97,116, 52, 32,111, 98,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, - 32,111, 98,106,101, 99,116, 41, 10,123, 10, 9,111, 98,106,101, 99,116, 32, 61, 32, 40,111, 98,105,110,118,109, 97,116, 42, 40, -118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, 49, 46, 48, 41, 41, 41, 46,120,121,122, 59, 10, -125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,114,101,102,108, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, - 32,118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, 32,114,101,102, 41, 10,123, 10, 9,114,101,102, 32, 61, 32,118,105, -101,119, 32, 45, 32, 50, 46, 48, 42,100,111,116, 40,118,110, 44, 32,118,105,101,119, 41, 42,118,110, 59, 10,125, 10, 10,118,111, -105,100, 32,115,104, 97,100,101, 95,110,111,114,109, 40,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118, -101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 42, 32, 98,108,101,110,100,101,114, 32,114,101,110, -100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32,110,101,103, 97,116,101,100, 32, 42, 47, 10, 9,111,117,116,110,111,114, -109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105, -100, 32,109,116,101,120, 95,114,103, 98, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, - 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99, -103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, - 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, - 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, - 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,109,117,108, 40,118,101, +102,108,111, 97,116, 32,116,109,112, 44, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111, +117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, + 42, 99,111,108, 50, 46,114, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111, +108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, + 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, + 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, + 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9, +111,117,116, 99,111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, + 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, + 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, + 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, + 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, + 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, + 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,109,112, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, + 32,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111, +117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, + 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, + 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116, +109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115, +101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, +104,117,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99, +111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99, +108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, + 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, + 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115, +118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, 33, 61, 32, 48, 46, + 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, + 9, 9,104,115,118, 46,120, 32, 61, 32,104,115,118, 50, 46,120, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104, +115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40,111,117,116, 99,111, +108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, + 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115, 97,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, + 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32, +111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, + 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, + 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, + 50, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 10, 9,105, +102, 40,104,115,118, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99, +111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9, 9,104,115,118, 46,121, 32, 61, 32,102, 97, 99,109, 42,104,115,118, 46, +121, 32, 43, 32,102, 97, 99, 42,104,115,118, 50, 46,121, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, + 44, 32,111,117,116, 99,111,108, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,118, 97,108, 40,102,108, +111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111, +117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, + 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, + 32, 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 59, 10, 9,114,103, 98, 95,116, +111, 95,104,115,118, 40, 99,111,108, 49, 44, 32,104,115,118, 41, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111, +108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,104,115,118, 46,122, 32, 61, 32,102, 97, 99,109, 42,104,115,118, 46,122, 32, + 43, 32,102, 97, 99, 42,104,115,118, 50, 46,122, 59, 10, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111, +117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 99,111,108,111,114, 40,102,108,111, 97,116, 32, +102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118, +101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, + 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, + 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, + 32,104,115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115, +118, 50, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, + 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 9, 9,104,115,118, 46,120, 32, 61, 32, +104,115,118, 50, 46,120, 59, 10, 9, 9,104,115,118, 46,121, 32, 61, 32,104,115,118, 50, 46,121, 59, 10, 9, 9,104,115,118, 95, +116,111, 95,114,103, 98, 40,104,115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,109, +105,120, 40,111,117,116, 99,111,108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,111,108, 46, 97, + 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115,111,102,116, 40,102, +108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32, +111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, +102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, + 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,111,110,101, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, + 9,118,101, 99, 52, 32,115, 99,114, 61, 32,111,110,101, 32, 45, 32, 40,111,110,101, 32, 45, 32, 99,111,108, 50, 41, 42, 40,111, +110,101, 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,102, 97, 99,109, 42, 99,111,108, 49, 32, + 43, 32,102, 97, 99, 42, 40, 40,111,110,101, 32, 45, 32, 99,111,108, 49, 41, 42, 99,111,108, 50, 42, 99,111,108, 49, 32, 43, 32, + 99,111,108, 49, 42,115, 99,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,108,105,110,101, 97,114, 40,102,108, +111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111, +117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, + 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, + 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 61, 32, 99, +111,108, 49, 46,114, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 32, 45, 32, 48, 46, 53, 41, 41, + 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 61, 32, 99,111,108, 49, 46,114, 32, 43, 32,102, 97, 99, + 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, + 46,103, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103, 32, 43, 32,102, + 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,103, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, + 9,111,117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111, +108, 50, 46,103, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46, 98, 32, 62, 32, 48, 46, 53, 41, + 10, 9, 9,111,117,116, 99,111,108, 46, 98, 61, 32, 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, + 99,111,108, 50, 46, 98, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, + 61, 32, 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46, 98, 41, 32, 45, 32, 49, + 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118, 97,108,116,111,114,103, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, + 32,115, 97,109,112,108,101,114, 50, 68, 32, 99,111,108,111,114,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117, +116, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, 97,108,112,104, 97, 41, 10,123, 10, 9,111,117,116, + 99,111,108, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,111,108,111,114,109, 97,112, 44, 32,118,101, 99, 50, 40,102, + 97, 99, 44, 32, 48, 46, 48, 41, 41, 59, 10, 9,111,117,116, 97,108,112,104, 97, 32, 61, 32,111,117,116, 99,111,108, 46, 97, 59, + 10,125, 10, 10,118,111,105,100, 32,114,103, 98,116,111, 98,119, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, + 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 32, 32, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,108, +111,114, 46,114, 42, 48, 46, 51, 53, 32, 43, 32, 99,111,108,111,114, 46,103, 42, 48, 46, 52, 53, 32, 43, 32, 99,111,108,111,114, + 46, 98, 42, 48, 46, 50, 59, 32, 47, 42, 32,107,101,101,112, 32,116,104,101,115,101, 32,102, 97, 99,116,111,114,115, 32,105,110, + 32,115,121,110, 99, 32,119,105,116,104, 32,116,101,120,116,117,114,101, 46,104, 58, 82, 71, 66, 84, 79, 66, 87, 32, 42, 47, 10, +125, 10, 10,118,111,105,100, 32,105,110,118,101,114,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99, +111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,120, +121,122, 32, 61, 32,109,105,120, 40, 99,111,108, 46,120,121,122, 44, 32,118,101, 99, 51, 40, 49, 46, 48, 44, 32, 49, 46, 48, 44, + 32, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 46,120,121,122, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46,119, + 32, 61, 32, 99,111,108, 46,119, 59, 10,125, 10, 10,118,111,105,100, 32,104,117,101, 95,115, 97,116, 40,102,108,111, 97,116, 32, +104,117,101, 44, 32,102,108,111, 97,116, 32,115, 97,116, 44, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,102,108,111, + 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111, +108, 41, 10,123, 10, 9,118,101, 99, 52, 32,104,115,118, 59, 10, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, + 44, 32,104,115,118, 41, 59, 10, 10, 9,104,115,118, 91, 48, 93, 32, 43, 61, 32, 40,104,117,101, 32, 45, 32, 48, 46, 53, 41, 59, + 10, 9,105,102, 40,104,115,118, 91, 48, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 48, 93, 45, 61, 49, 46, 48, 59, 32,101,108, +115,101, 32,105,102, 40,104,115,118, 91, 48, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 48, 93, 43, 61, 32, 49, 46, 48, 59, 10, + 9,104,115,118, 91, 49, 93, 32, 42, 61, 32,115, 97,116, 59, 10, 9,105,102, 40,104,115,118, 91, 49, 93, 62, 49, 46, 48, 41, 32, +104,115,118, 91, 49, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 49, 93, 60, 48, 46, 48, 41, + 32,104,115,118, 91, 49, 93, 61, 32, 48, 46, 48, 59, 10, 9,104,115,118, 91, 50, 93, 32, 42, 61, 32,118, 97,108,117,101, 59, 10, + 9,105,102, 40,104,115,118, 91, 50, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115, +101, 32,105,102, 40,104,115,118, 91, 50, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 48, 46, 48, 59, 10, 10, 9, +104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10, 10, 9,111,117,116, 99,111, +108, 32, 61, 32,109,105,120, 40, 99,111,108, 44, 32,111,117,116, 99,111,108, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111, +105,100, 32,115,101,112, 97,114, 97,116,101, 95,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 98, 41, + 10,123, 10, 9,114, 32, 61, 32, 99,111,108, 46,114, 59, 10, 9,103, 32, 61, 32, 99,111,108, 46,103, 59, 10, 9, 98, 32, 61, 32, + 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32, 99,111,109, 98,105,110,101, 95,114,103, 98, 40,102,108,111, 97,116, + 32,114, 44, 32,102,108,111, 97,116, 32,103, 44, 32,102,108,111, 97,116, 32, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99, +111,108, 41, 10,123, 10, 9, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,114, 44, 32,103, 44, 32, 98, 44, 32, 49, 46, 48, 41, 59, + 10,125, 10, 10,118,111,105,100, 32,111,117,116,112,117,116, 95,110,111,100,101, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,102, +108,111, 97,116, 32, 97,108,112,104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9, +111,117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, 10,125, + 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 84, 69, 88, 84, 85, 82, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,102,108,105,112, 95, 98,108,101,110, +100, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9, +111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 46,121,120,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114, +101, 95, 98,108,101,110,100, 95,108,105,110, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, +111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, + 50, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95, 98,108,101,110,100, 95,113,117, 97,100, 40, +118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111, +117,116,118, 97,108, 32, 61, 32,109, 97,120, 40, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 44, 32, 48, 46, 48, + 41, 59, 10, 9,111,117,116,118, 97,108, 32, 42, 61, 32,111,117,116,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,116,101, +120,116,117,114,101, 95,119,111,111,100, 95,115,105,110, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, + 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, + 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32, 97, 32, 61, 32,115,113,114,116, 40,118,101, 99, + 46,120, 42,118,101, 99, 46,120, 32, 43, 32,118,101, 99, 46,121, 42,118,101, 99, 46,121, 32, 43, 32,118,101, 99, 46,122, 42,118, +101, 99, 46,122, 41, 42, 50, 48, 46, 48, 59, 10, 9,102,108,111, 97,116, 32,119,105, 32, 61, 32, 48, 46, 53, 32, 43, 32, 48, 46, + 53, 42,115,105,110, 40, 97, 41, 59, 10, 10, 9,118, 97,108,117,101, 32, 61, 32,119,105, 59, 10, 9, 99,111,108,111,114, 32, 61, + 32,118,101, 99, 52, 40,119,105, 44, 32,119,105, 44, 32,119,105, 44, 32, 49, 46, 48, 41, 59, 10, 9,110,111,114,109, 97,108, 32, + 61, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116, +101,120,116,117,114,101, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, + 32,105,109, 97, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, + 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9, 99,111,108,111,114, + 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 40,118,101, 99, 46,120,121, 32, 43, 32,118,101, 99, 50, + 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 41, 42, 48, 46, 53, 41, 59, 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10, + 10, 9,110,111,114,109, 97,108, 46,120, 32, 61, 32, 50, 46, 48, 42, 40, 99,111,108,111,114, 46,114, 32, 45, 32, 48, 46, 53, 41, + 59, 10, 9,110,111,114,109, 97,108, 46,121, 32, 61, 32, 50, 46, 48, 42, 40, 48, 46, 53, 32, 45, 32, 99,111,108,111,114, 46,103, + 41, 59, 10, 9,110,111,114,109, 97,108, 46,122, 32, 61, 32, 50, 46, 48, 42, 40, 99,111,108,111,114, 46, 98, 32, 45, 32, 48, 46, + 53, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 77, 84, 69, 88, 32, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,111,114, 99,111, 40,118, +101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,114, 99,111, 41, 10,123, 10, 9,111, +114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,117,118, 40, +118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 41, 10,123, 10, 9, 47, 42, 32,100, +105,115, 97, 98,108,101,100, 32,102,111,114, 32,110,111,119, 44, 32,119,111,114,107,115, 32,116,111,103,101,116,104,101,114, 32, +119,105,116,104, 32,108,101, 97,118,105,110,103, 32,111,117,116, 32,109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, + 10, 9, 32, 32, 32,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, + 49, 46, 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 32, 42, 47, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97, +116,116,117,118, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,110,111,114,109, 40,118, +101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10, +123, 10, 9, 47, 42, 32, 99,111,114,114,101,115,112,111,110,100,115, 32,116,111, 32,115,104,105, 45, 62,111,114,110, 44, 32,119, +104,105, 99,104, 32,105,115, 32,110,101,103, 97,116,101,100, 32,115,111, 32, 99, 97,110, 99,101,108,115, 10, 9, 32, 32, 32,111, +117,116, 32, 98,108,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,110,101,103, 97,116,105,111,110, 32, 42, 47, 10, 9,111, +117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, + 10,118,111,105,100, 32,116,101,120, 99,111, 95,116, 97,110,103,101,110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, + 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116, 97,110,103,101,110,116, 41, 10,123, 10, 9,111,117,116,116, 97,110, +103,101,110,116, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,116, 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,103,108,111, 98, 97,108, 40,109, 97,116, 52, 32,118,105,101,119,105,110,118, +109, 97,116, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 41, 10,123, + 10, 9,103,108,111, 98, 97,108, 32, 61, 32, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, + 49, 46, 48, 41, 41, 46,120,121,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,111, 98,106,101, 99,116, 40, +109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,109, 97,116, 52, 32,111, 98,105,110,118,109, 97,116, 44, 32, +118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111, 98,106,101, 99,116, 41, 10,123, 10, 9,111, 98,106, +101, 99,116, 32, 61, 32, 40,111, 98,105,110,118,109, 97,116, 42, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, + 40, 99,111, 44, 32, 49, 46, 48, 41, 41, 41, 46,120,121,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,114, +101,102,108, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, + 32,114,101,102, 41, 10,123, 10, 9,114,101,102, 32, 61, 32,118,105,101,119, 32, 45, 32, 50, 46, 48, 42,100,111,116, 40,118,110, + 44, 32,118,105,101,119, 41, 42,118,110, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,110,111,114,109, 40,118, +101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10, +123, 10, 9, 47, 42, 32, 98,108,101,110,100,101,114, 32,114,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32,110, +101,103, 97,116,101,100, 32, 42, 47, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122, +101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 98,108,101,110, +100, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97, +116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99, +111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99, +103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, + 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105, +100, 32,109,116,101,120, 95,114,103, 98, 95,109,117,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, + 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, + 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, + 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, + 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 41, + 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 99,114,101,101,110, + 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, + 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111, +108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, + 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,118,101, + 99, 51, 40, 49, 46, 48, 41, 32, 45, 32, 40,118,101, 99, 51, 40,102, 97, 99,109, 41, 32, 43, 32,102, 97, 99,116, 42, 40,118,101, + 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,116,101,120, 99,111,108, 41, 41, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32, +111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,111,118,101,114,108, 97, +121, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97, +116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99, +111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99, +103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, + 46,114, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 42, 40, +102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 41, 59, 10, 9,101,108,115,101, + 10, 9, 9,105,110, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, + 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, + 99,111,108, 46,114, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105, +110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, + 99,116, 42,116,101,120, 99,111,108, 46,103, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46,103, 32, 61, 32, + 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101, +120, 99,111,108, 46,103, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40, +111,117,116, 99,111,108, 46, 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99, +111,108, 46, 98, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 41, 59, + 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, + 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46, 98, 41, 41, 42, 40, 49, 46, 48, + 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, +117, 98, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, + 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, + 99,111,108, 41, 10,123, 10, 9,105,110, 99,111,108, 32, 61, 32, 45,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111, +108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 97,100,100, + 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, + 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111, +108, 41, 10,123, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, + 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,118, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10, 123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9, -102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32, 40,102, 97, 99,109, - 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 41, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32, -109,116,101,120, 95,114,103, 98, 95,115, 99,114,101,101,110, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, - 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, - 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, - 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99, -103, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32, 40,118,101, 99, 51, 40,102, - 97, 99,109, 41, 32, 43, 32,102, 97, 99,116, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,116,101,120, 99,111,108, 41, - 41, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32, -109,116,101,120, 95,114,103, 98, 95,111,118,101,114,108, 97,121, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, - 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99, -103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, - 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, - 99,103, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, - 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116, -101,120, 99,111,108, 46,114, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 32, - 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, - 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99, -111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, - 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 41, 59, 10, 9,101,108, -115,101, 10, 9, 9,105,110, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, - 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46,103, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111, -117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, - 9,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42, -102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46, 98, 32, - 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32, -116,101,120, 99,111,108, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 59, 10,125, 10, 10, -118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115,117, 98, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118, -101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, - 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,105,110, 99,111,108, 32, 61, 32, 45, -102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111, -105,100, 32,109,116,101,120, 95,114,103, 98, 95, 97,100,100, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, - 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, - 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99, -116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32, -109,116,101,120, 95,114,103, 98, 95,100,105,118, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116, -101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111, -117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9, -102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, - 10, 9,105,102, 40,116,101,120, 99,111,108, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, -102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46,114, 47,116,101, -120, 99,111,108, 46,114, 59, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99, -111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,103, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99, -111,108, 46,103, 47,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40,116,101,120, 99,111,108, 46, 98, 32, 33, 61, 32, 48, - 46, 48, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46, 98, 32, 43, 32,102, 97, - 99,116, 42,111,117,116, 99,111,108, 46, 98, 47,116,101,120, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116, -101,120, 95,114,103, 98, 95,100,105,102,102, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101, -120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117, -116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, - 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, - 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42, 97, 98,115, 40, -116,101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114, -103, 98, 95,100, 97,114,107, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, - 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, - 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 44, 32, 99,111,108, 59, 10, 10, 9, -102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, - 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, - 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105, -110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116, -101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46,103, 41, 32,105,110, 99, -111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111, -108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 59, 10, 9,105,102, 40, 99, -111,108, 32, 60, 32,111,117,116, 99,111,108, 46, 98, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32, 99,111,108, 59, 32,101,108, -115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109, -116,101,120, 95,114,103, 98, 95,108,105,103,104,116, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32, +102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,114, 32, 33, + 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, + 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46,114, 47,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40,116,101,120, + 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, + 99,111,108, 46,103, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46,103, 47,116,101,120, 99,111,108, 46,103, 59, 10, + 9,105,102, 40,116,101,120, 99,111,108, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,102, + 97, 99,109, 42,111,117,116, 99,111,108, 46, 98, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46, 98, 47,116,101,120, + 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,102,102, 40,118,101, 99, + 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99, +116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, + 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, + 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111, +117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42, 97, 98,115, 40,116,101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, + 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100, 97,114,107, 40,118,101, 99, 51, 32,111,117, +116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102, +108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108, +111, 97,116, 32,102, 97, 99,109, 44, 32, 99,111,108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9, +102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101, +120, 99,111,108, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111, +108, 46,114, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, + 46,114, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111, +108, 32, 60, 32,111,117,116, 99,111,108, 46,103, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115, +101, 32,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99, +116, 42,116,101,120, 99,111,108, 46, 98, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46, 98, 41, 32, +105,110, 99,111,108, 46, 98, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117, +116, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,108,105,103,104,116, 40,118, +101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, + 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, + 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 44, 32, 99,111,108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, + 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, + 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46,114, + 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32, +111,117,116, 99,111,108, 46,114, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, + 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46,103, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111, +108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, + 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99, +111,108, 46, 98, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, + 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,104, +117,101, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, + 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, + 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,104,117,101, 40,102, 97, 99,116, + 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116, +101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, + 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 97,116, 40,118,101, + 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, + 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10, +123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,115, 97,116, 40,102, 97, 99,116, 42,102, 97, 99,103, + 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, + 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114, +103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,118, 97,108, 40,118,101, 99, 51, 32,111,117, +116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102, +108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, + 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,118, 97,108, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, + 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, + 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, + 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 99,111,108,111,114, 40,118,101, 99, 51, 32,111,117,116, 99,111, +108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97, +116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, + 99,111,108, 59, 10, 10, 9,109,105,120, 95, 99,111,108,111,114, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, + 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, + 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, + 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,105,110,111,117,116, 32,102,108,111, 97, +116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, + 99,109, 41, 10,123, 10, 9,102, 97, 99,116, 32, 42, 61, 32, 97, 98,115, 40,102, 97, 99,103, 41, 59, 10, 9,102, 97, 99,109, 32, + 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,102, 40,102, 97, 99,103, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, + 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32,102, 97, 99,116, 59, 10, 9, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,109, + 59, 10, 9, 9,102, 97, 99,109, 32, 61, 32,116,109,112, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, +118, 97,108,117,101, 95, 98,108,101,110,100, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32, 116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32, -111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 44, 32, 99, -111,108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45, -102, 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, - 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, 99,111,108, 59, 32, -101,108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 59, 10, 9, 99,111,108, 32, 61, 32, -102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46, -103, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,103, 32, 61, - 32,111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 59, - 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46, 98, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32, 99, -111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 59, 10,125, 10, 10, -118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,104,117,101, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118, -101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, - 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, - 10, 10, 9,109,105,120, 95,104,117,101, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111, -108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, - 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32, -109,116,101,120, 95,114,103, 98, 95,115, 97,116, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116, +111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, + 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99, +109, 41, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, + 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,109,117,108, 40, +102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97, +116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, + 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95, +118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, + 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, + 99,116, 42,116,101,120, 99,111,108, 41, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, +118, 97,108,117,101, 95,115, 99,114,101,101,110, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, + 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, + 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, + 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, + 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, + 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, + 99,111,108, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116, +101,120, 95,118, 97,108,117,101, 95,115,117, 98, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, + 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, + 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, + 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, + 99,109, 41, 59, 10, 10, 9,102, 97, 99,116, 32, 61, 32, 45,102, 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, + 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, + 95,118, 97,108,117,101, 95, 97,100,100, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116, 101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111, -117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105, -120, 95,115, 97,116, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, - 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, - 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, -114,103, 98, 95,118, 97,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, - 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, - 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,118, 97,108, - 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118, -101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114, -103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 99, -111,108,111,114, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102, -108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32, -105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95, 99,111,108,111,114, 40, -102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, - 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, - 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, -118, 97,114,115, 40,105,110,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99, -103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99,109, 41, 10,123, 10, 9,102, 97, 99,116, 32, 42, 61, 32, 97, 98, -115, 40,102, 97, 99,103, 41, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,102, 40, -102, 97, 99,103, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32,102, 97, 99,116, - 59, 10, 9, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,109, 59, 10, 9, 9,102, 97, 99,109, 32, 61, 32,116,109,112, 59, 10, 9, -125, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 98,108,101,110,100, 40,102,108,111, 97,116, - 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99, -116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10, -123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40, -102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99, -116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32, -109,116,101,120, 95,118, 97,108,117,101, 95,109,117,108, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, - 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99, -103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99, -109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32, -102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99, -111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 41, 42,111,117,116, 99,111,108, - 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115, 99,114,101,101,110, 40,102,108,111, 97, -116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, - 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, - 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, - 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, - 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, -102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99, -111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115,117, 98, 40,102,108,111, 97, -116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, - 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, - 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, - 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,116, 32, 61, 32, 45,102, 97, - 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111, -108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 97,100,100, 40,102,108,111, 97,116, 32, -111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, - 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, - 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, - 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,116, 59, - 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10, -125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100,105,118, 40,102,108,111, 97,116, 32,111,117,116, - 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102, -108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102, -108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, - 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,102, 40,116,101,120, 99,111,108, 32, 33, 61, 32, 48, 46, - 48, 41, 10, 9, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42, -111,117,116, 99,111,108, 47,116,101,120, 99,111,108, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 32, 61, 32, 48, - 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100,105,102,102, 40,102,108,111, 97, -116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, - 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, - 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, - 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, - 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42, 97, 98,115, 40,116,101,120, 99,111,108, 32, 45, 32,111,117, -116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100, 97,114,107, 40,102, -108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, - 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99, -111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, - 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102,108,111, 97,116, 32, 99, -111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99, -111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 32, 61, 32,111,117, -116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,108,105,103,104,116, 40,102, -108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, - 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99, -111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, - 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102,108,111, 97,116, 32, 99, -111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99, -111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 32, 61, 32,111,117, -116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 99,108, 97,109,112, 95,112, -111,115,105,116,105,118,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, -102, 97, 99, 41, 10,123, 10, 9,111,117,116,102, 97, 99, 32, 61, 32,109, 97,120, 40,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10, -125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,102, +117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9, +109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, + 41, 59, 10, 10, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42, +116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97, +108,117,101, 95,100,105,118, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99, +111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32, +102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101, +120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, + 10, 9,105,102, 40,116,101,120, 99,111,108, 32, 33, 61, 32, 48, 46, 48, 41, 10, 9, 9,105,110, 99,111,108, 32, 61, 32,102, 97, + 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 47,116,101,120, 99,111,108, 59, 10, + 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101, +120, 95,118, 97,108,117,101, 95,100,105,102,102, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, + 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, + 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, + 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, + 99,109, 41, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99, +116, 42, 97, 98,115, 40,116,101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32, +109,116,101,120, 95,118, 97,108,117,101, 95,100, 97,114,107, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108, +111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, + 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, + 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, + 32,102, 97, 99,109, 41, 59, 10, 10, 9,102,108,111, 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111, +108, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, + 59, 32,101,108,115,101, 32,105,110, 99,111,108, 32, 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109, +116,101,120, 95,118, 97,108,117,101, 95,108,105,103,104,116, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108, +111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, + 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, + 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, + 32,102, 97, 99,109, 41, 59, 10, 10, 9,102,108,111, 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111, +108, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, + 59, 32,101,108,115,101, 32,105,110, 99,111,108, 32, 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109, +116,101,120, 95,118, 97,108,117,101, 95, 99,108, 97,109,112, 95,112,111,115,105,116,105,118,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,111,117,116,102, 97, 99, 32, - 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32, -109,116,101,120, 95,104, 97,114, 95,100,105,118,105,100,101, 40,102,108,111, 97,116, 32,104, 97,114, 44, 32,111,117,116, 32,102, -108,111, 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, 9,111,117,116,104, 97,114, 32, 61, 32,104, 97,114, 47, 49, 50, 56, - 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,109,117,108,116,105,112,108,121, 95, 99,108, - 97,109,112, 40,102,108,111, 97,116, 32,104, 97,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,104, 97,114, 41, - 10,123, 10, 9,104, 97,114, 32, 42, 61, 32, 49, 50, 56, 46, 48, 59, 10, 10, 9,105,102, 40,104, 97,114, 32, 60, 32, 49, 46, 48, - 41, 32,111,117,116,104, 97,114, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,104, 97,114, 32, 62, 32, 53, - 49, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 53, 49, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,111,117,116,104, - 97,114, 32, 61, 32,104, 97,114, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 97,108,112,104, 97, 95,102,114,111, -109, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 41, - 10,123, 10, 9, 97,108,112,104, 97, 32, 61, 32, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, - 97,108,112,104, 97, 95,116,111, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,102,108,111, 97,116, 32, 97,108,112, -104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, - 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, -116,101,120, 95,114,103, 98,116,111,105,110,116, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,102,108,111, 97,116, - 32,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,105,110,116,101,110,115,105,116,121, 32, 61, 32,100,111,116, 40,118, -101, 99, 51, 40, 48, 46, 51, 53, 44, 32, 48, 46, 52, 53, 44, 32, 48, 46, 50, 41, 44, 32,114,103, 98, 46,114,103, 98, 41, 59, 10, -125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,105,110,118,101,114,116, 40,102,108,111, 97,116, 32, -105,110,118, 97,108,117,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108,117,101, 41, 10,123, 10, 9, -111,117,116,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 32, 45, 32,105,110,118, 97,108,117,101, 59, 10,125, 10, 10,118,111,105, -100, 32,109,116,101,120, 95,114,103, 98, 95,105,110,118,101,114,116, 40,118,101, 99, 52, 32,105,110,114,103, 98, 44, 32,111,117, -116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40, -118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,105,110,114,103, 98, 46,114,103, 98, 44, 32,105,110,114,103, 98, 46, 97, 41, 59, - 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115,116,101,110, 99,105,108, 40,102,108,111, 97, -116, 32,115,116,101,110, 99,105,108, 44, 32,102,108,111, 97,116, 32,105,110,116,101,110,115,105,116,121, 44, 32,111,117,116, 32, -102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,105, -110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,116, 32, 61, 32,105,110,116,101,110,115, -105,116,121, 59, 10, 9,111,117,116,105,110,116,101,110,115,105,116,121, 32, 61, 32,105,110,116,101,110,115,105,116,121, 42,115, -116,101,110, 99,105,108, 59, 10, 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32,115,116,101,110, 99,105,108, 42,102, 97, - 99,116, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115,116,101,110, 99,105,108, 40,102,108,111, - 97,116, 32,115,116,101,110, 99,105,108, 44, 32,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, -111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9, -102,108,111, 97,116, 32,102, 97, 99,116, 32, 61, 32,114,103, 98, 46, 97, 59, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,101, - 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32,114,103, 98, 46, 97, 42,115,116,101,110, 99,105,108, 41, 59, 10, 9,111,117,116, -115,116,101,110, 99,105,108, 32, 61, 32,115,116,101,110, 99,105,108, 42,102, 97, 99,116, 59, 10,125, 10, 10,118,111,105,100, 32, -109,116,101,120, 95,109, 97,112,112,105,110,103, 95,111,102,115, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,118,101, 99, - 51, 32,111,102,115, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116,101,120, 99,111, 41, 10,123, 10, 9,111,117,116, -116,101,120, 99,111, 32, 61, 32,116,101,120, 99,111, 32, 43, 32,111,102,115, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101, -120, 95,109, 97,112,112,105,110,103, 95,115,105,122,101, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,118,101, 99, 51, 32, -115,105,122,101, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116,101,120, 99,111, 41, 10,123, 10, 9,111,117,116,116, -101,120, 99,111, 32, 61, 32,115,105,122,101, 42,116,101,120, 99,111, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, - 50,100, 95,109, 97,112,112,105,110,103, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117, -116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51, 40,118,101, 99, 46,120,121, 42, 48, 46, - 53, 32, 43, 32,118,101, 99, 50, 40, 48, 46, 53, 44, 32, 48, 46, 53, 41, 44, 32,118,101, 99, 46,122, 41, 59, 10,125, 10, 10,118, -111,105,100, 32,109,116,101,120, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108, -101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118, -101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, -105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, - 10,118,111,105,100, 32,109,116,101,120, 95,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97, -109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, - 9, 47, 47, 32, 84,104,101, 32,105,110,118,101,114,116, 32,111,102, 32,116,104,101, 32,114,101,100, 32, 99,104, 97,110,110,101, -108, 32,105,115, 32,116,111, 32,109, 97,107,101, 10, 9, 47, 47, 32,116,104,101, 32,110,111,114,109, 97,108, 32,109, 97,112, 32, - 99,111,109,112,108,105, 97,110,116, 32,119,105,116,104, 32,116,104,101, 32,111,117,116,115,105,100,101, 32,119,111,114,108,100, - 46, 10, 9, 47, 47, 32, 73,116, 32,110,101,101,100,115, 32,116,111, 32, 98,101, 32,100,111,110,101, 32, 98,101, 99, 97,117,115, -101, 32,105,110, 32, 66,108,101,110,100,101,114, 10, 9, 47, 47, 32,116,104,101, 32,110,111,114,109, 97,108, 32,117,115,101,100, - 32,112,111,105,110,116,115, 32,105,110,119, 97,114,100, 46, 10, 9, 47, 47, 32, 83,104,111,117,108,100, 32,116,104,105,115, 32, -101,118,101,114, 32, 99,104, 97,110,103,101, 32,116,104,105,115, 32,110,101,103, 97,116,101, 32,109,117,115,116, 32, 98,101, 32, -114,101,109,111,118,101,100, 46, 10, 32, 32, 32, 32,118,101, 99, 52, 32, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114, -101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 50, 46, - 48, 42, 40,118,101, 99, 51, 40, 45, 99,111,108,111,114, 46,114, 44, 32, 99,111,108,111,114, 46,103, 44, 32, 99,111,108,111,114, - 46, 98, 41, 32, 45, 32,118,101, 99, 51, 40, 45, 48, 46, 53, 44, 32, 48, 46, 53, 44, 32, 48, 46, 53, 41, 41, 59, 10,125, 10, 10, -118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,110,111,114,109, 97,108,115, 95,105,110,105,116, 40, 32,118,101, 99, - 51, 32,118, 78, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78,111,114,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, - 78, 97, 99, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 41, - 10,123, 10, 9,118, 78,111,114,103, 32, 61, 32,118, 78, 59, 10, 9,118, 78, 97, 99, 99, 32, 61, 32,118, 78, 59, 10, 9,102, 80, -114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10, 47, 42, 42, 32,104,101,108,112,101, -114, 32,109,101,116,104,111,100, 32,116,111, 32,101,120,116,114, 97, 99,116, 32,116,104,101, 32,117,112,112,101,114, 32,108,101, -102,116, 32, 51,120, 51, 32,109, 97,116,114,105,120, 32,102,114,111,109, 32, 97, 32, 52,120, 52, 32,109, 97,116,114,105,120, 32, - 42, 47, 10,109, 97,116, 51, 32,116,111, 95,109, 97,116, 51, 40,109, 97,116, 52, 32,109, 52, 41, 10,123, 10, 9,109, 97,116, 51, - 32,109, 51, 59, 10, 9,109, 51, 91, 48, 93, 32, 61, 32,109, 52, 91, 48, 93, 46,120,121,122, 59, 10, 9,109, 51, 91, 49, 93, 32, - 61, 32,109, 52, 91, 49, 93, 46,120,121,122, 59, 10, 9,109, 51, 91, 50, 93, 32, 61, 32,109, 52, 91, 50, 93, 46,120,121,122, 59, - 10, 9,114,101,116,117,114,110, 32,109, 51, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,105, -110,105,116, 95,111, 98,106,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, - 51, 32,115,117,114,102, 95,110,111,114,109, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,109, 97,116, 52, 32,109, 86,105,101,119, - 44, 32,109, 97,116, 52, 32,109, 86,105,101,119, 73,110,118, 44, 32,109, 97,116, 52, 32,109, 79, 98,106, 44, 32,109, 97,116, 52, - 32,109, 79, 98,106, 73,110,118, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, - 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, - 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117, -116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, - 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,109, 97,116, 51, 32,111, 98,106, 50,118,105,101,119, 32, - 61, 32,116,111, 95,109, 97,116, 51, 40,109, 86,105,101,119, 32, 42, 32,109, 79, 98,106, 41, 59, 10, 9,109, 97,116, 51, 32,118, -105,101,119, 50,111, 98,106, 32, 61, 32,116,111, 95,109, 97,116, 51, 40,109, 79, 98,106, 73,110,118, 32, 42, 32,109, 86,105,101, -119, 73,110,118, 41, 59, 10, 9, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,118,105,101,119, 50,111, 98, -106, 32, 42, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103, -109, 97, 84, 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, 42, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, - 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32,115,117,114,102, 95,110,111, -114,109, 32, 42, 32,111, 98,106, 50,118,105,101,119, 32, 41, 59, 10, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, 40, 32, -118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 78, 44, - 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 59, 10, 9,102, 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105,103,109, - 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9, 47, 42, 32,112,114,101,116,114, 97,110,115,102,111,114,109, 32,118, 78, - 97, 99, 99, 32, 40,105,110, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 41, 32,117,115,105,110,103, 32,116, -104,101, 32,105,110,118,101,114,115,101, 32,116,114, 97,110,115,112,111,115,101,100, 32, 42, 47, 10, 9,118, 82, 49, 32, 61, 32, -118, 82, 49, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9,118, 82, 50, 32, 61, 32,118, 82, 50, 32, 42, 32,118,105,101, -119, 50,111, 98,106, 59, 10, 9,118, 78, 32, 61, 32,118, 78, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9, 10, 9,102, -108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 32, 42, 32,108,101, -110,103,116,104, 40,118, 78, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, - 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105, -110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105, -116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,116,101,120, -116,117,114,101,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115, -117,114,102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, - 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, - 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95, -111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, - 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32, -111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, - 83, 32, 61, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103, -109, 97, 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, - 32, 61, 32,115,117,114,102, 95,110,111,114,109, 59, 32, 47, 42, 32,110,111,114,109, 97,108,105,122,101,100, 32,105,110,116,101, -114,112,111,108, 97,116,101,100, 32,118,101,114,116,101,120, 32,110,111,114,109, 97,108, 32, 42, 47, 10, 9, 10, 9,118, 82, 49, - 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, - 32, 41, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32, 99,114,111,115,115, 40, 32,118, - 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 41, 59, 10, 9,102, 68,101,116, 32, 61, 32,115,105,103,110, 40, 32,100,111, -116, 40,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 41, 32, 41, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103, -110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, - 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, - 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117, -116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109, -112, 95,105,110,105,116, 95,118,105,101,119,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, - 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,102,108,111, 97, -116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95, -105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103, -110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, - 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, - 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, - 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, - 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9, -118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95,110,111,114,109, 59, 32, 47, 42, 32,110,111,114,109, 97,108,105,122, -101,100, 32,105,110,116,101,114,112,111,108, 97,116,101,100, 32,118,101,114,116,101,120, 32,110,111,114,109, 97,108, 32, 42, 47, - 10, 9, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, + 61, 32,109, 97,120, 40,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97, +108,117,101, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111, +117,116,102, 97, 99, 41, 10,123, 10, 9,111,117,116,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, + 48, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,100,105,118,105,100,101, + 40,102,108,111, 97,116, 32,104, 97,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, + 9,111,117,116,104, 97,114, 32, 61, 32,104, 97,114, 47, 49, 50, 56, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101, +120, 95,104, 97,114, 95,109,117,108,116,105,112,108,121, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,104, 97,114, 44, 32, +111,117,116, 32,102,108,111, 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, 9,104, 97,114, 32, 42, 61, 32, 49, 50, 56, 46, + 48, 59, 10, 10, 9,105,102, 40,104, 97,114, 32, 60, 32, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 49, 46, 48, 59, + 10, 9,101,108,115,101, 32,105,102, 40,104, 97,114, 32, 62, 32, 53, 49, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, + 53, 49, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,111,117,116,104, 97,114, 32, 61, 32,104, 97,114, 59, 10,125, 10, 10,118,111, +105,100, 32,109,116,101,120, 95, 97,108,112,104, 97, 95,102,114,111,109, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, + 32,111,117,116, 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 41, 10,123, 10, 9, 97,108,112,104, 97, 32, 61, 32, 99,111,108, + 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 97,108,112,104, 97, 95,116,111, 95, 99,111,108, 40,118,101, + 99, 52, 32, 99,111,108, 44, 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117, +116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, + 97,108,112,104, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98,116,111,105,110,116, 40,118,101, + 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9, +105,110,116,101,110,115,105,116,121, 32, 61, 32,100,111,116, 40,118,101, 99, 51, 40, 48, 46, 51, 53, 44, 32, 48, 46, 52, 53, 44, + 32, 48, 46, 50, 41, 44, 32,114,103, 98, 46,114,103, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97, +108,117,101, 95,105,110,118,101,114,116, 40,102,108,111, 97,116, 32,105,110,118, 97,108,117,101, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,111,117,116,118, 97,108,117,101, 41, 10,123, 10, 9,111,117,116,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 32, + 45, 32,105,110,118, 97,108,117,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,105,110,118,101, +114,116, 40,118,101, 99, 52, 32,105,110,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10, +123, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,105,110,114, +103, 98, 46,114,103, 98, 44, 32,105,110,114,103, 98, 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, + 97,108,117,101, 95,115,116,101,110, 99,105,108, 40,102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,102,108,111, 97, +116, 32,105,110,116,101,110,115,105,116,121, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105, +108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,102,108, +111, 97,116, 32,102, 97, 99,116, 32, 61, 32,105,110,116,101,110,115,105,116,121, 59, 10, 9,111,117,116,105,110,116,101,110,115, +105,116,121, 32, 61, 32,105,110,116,101,110,115,105,116,121, 42,115,116,101,110, 99,105,108, 59, 10, 9,111,117,116,115,116,101, +110, 99,105,108, 32, 61, 32,115,116,101,110, 99,105,108, 42,102, 97, 99,116, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101, +120, 95,114,103, 98, 95,115,116,101,110, 99,105,108, 40,102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,118,101, 99, + 52, 32,114,103, 98, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, + 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,116, 32, 61, 32,114,103, + 98, 46, 97, 59, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32,114,103, 98, + 46, 97, 42,115,116,101,110, 99,105,108, 41, 59, 10, 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32,115,116,101,110, 99, +105,108, 42,102, 97, 99,116, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,111,102, +115, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,118,101, 99, 51, 32,111,102,115, 44, 32,111,117,116, 32,118,101, 99, 51, + 32,111,117,116,116,101,120, 99,111, 41, 10,123, 10, 9,111,117,116,116,101,120, 99,111, 32, 61, 32,116,101,120, 99,111, 32, 43, + 32,111,102,115, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,115,105,122,101, 40, +118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,118,101, 99, 51, 32,115,105,122,101, 44, 32,111,117,116, 32,118,101, 99, 51, 32, +111,117,116,116,101,120, 99,111, 41, 10,123, 10, 9,111,117,116,116,101,120, 99,111, 32, 61, 32,115,105,122,101, 42,116,101,120, + 99,111, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 40,118,101, 99, 51, + 32,118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, + 32, 61, 32,118,101, 99, 51, 40,118,101, 99, 46,120,121, 42, 48, 46, 53, 32, 43, 32,118,101, 99, 50, 40, 48, 46, 53, 44, 32, 48, + 46, 53, 41, 44, 32,118,101, 99, 46,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,105,109, 97,103,101, 40, +118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,102, +108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99, +111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, + 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,111,114,109, + 97,108, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117, +116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 47, 32, 84,104,101, 32,105,110,118,101,114,116, 32, +111,102, 32,116,104,101, 32,114,101,100, 32, 99,104, 97,110,110,101,108, 32,105,115, 32,116,111, 32,109, 97,107,101, 10, 9, 47, + 47, 32,116,104,101, 32,110,111,114,109, 97,108, 32,109, 97,112, 32, 99,111,109,112,108,105, 97,110,116, 32,119,105,116,104, 32, +116,104,101, 32,111,117,116,115,105,100,101, 32,119,111,114,108,100, 46, 10, 9, 47, 47, 32, 73,116, 32,110,101,101,100,115, 32, +116,111, 32, 98,101, 32,100,111,110,101, 32, 98,101, 99, 97,117,115,101, 32,105,110, 32, 66,108,101,110,100,101,114, 10, 9, 47, + 47, 32,116,104,101, 32,110,111,114,109, 97,108, 32,117,115,101,100, 32,112,111,105,110,116,115, 32,105,110,119, 97,114,100, 46, + 10, 9, 47, 47, 32, 83,104,111,117,108,100, 32,116,104,105,115, 32,101,118,101,114, 32, 99,104, 97,110,103,101, 32,116,104,105, +115, 32,110,101,103, 97,116,101, 32,109,117,115,116, 32, 98,101, 32,114,101,109,111,118,101,100, 46, 10, 32, 32, 32, 32,118,101, + 99, 52, 32, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46, +120,121, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 50, 46, 48, 42, 40,118,101, 99, 51, 40, 45, 99,111,108,111,114, 46, +114, 44, 32, 99,111,108,111,114, 46,103, 44, 32, 99,111,108,111,114, 46, 98, 41, 32, 45, 32,118,101, 99, 51, 40, 45, 48, 46, 53, + 44, 32, 48, 46, 53, 44, 32, 48, 46, 53, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95, +110,111,114,109, 97,108,115, 95,105,110,105,116, 40, 32,118,101, 99, 51, 32,118, 78, 44, 32,111,117,116, 32,118,101, 99, 51, 32, +118, 78,111,114,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, + 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 41, 10,123, 10, 9,118, 78,111,114,103, 32, 61, 32,118, 78, 59, + 10, 9,118, 78, 97, 99, 99, 32, 61, 32,118, 78, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, + 49, 46, 48, 59, 10,125, 10, 10, 47, 42, 42, 32,104,101,108,112,101,114, 32,109,101,116,104,111,100, 32,116,111, 32,101,120,116, +114, 97, 99,116, 32,116,104,101, 32,117,112,112,101,114, 32,108,101,102,116, 32, 51,120, 51, 32,109, 97,116,114,105,120, 32,102, +114,111,109, 32, 97, 32, 52,120, 52, 32,109, 97,116,114,105,120, 32, 42, 47, 10,109, 97,116, 51, 32,116,111, 95,109, 97,116, 51, + 40,109, 97,116, 52, 32,109, 52, 41, 10,123, 10, 9,109, 97,116, 51, 32,109, 51, 59, 10, 9,109, 51, 91, 48, 93, 32, 61, 32,109, + 52, 91, 48, 93, 46,120,121,122, 59, 10, 9,109, 51, 91, 49, 93, 32, 61, 32,109, 52, 91, 49, 93, 46,120,121,122, 59, 10, 9,109, + 51, 91, 50, 93, 32, 61, 32,109, 52, 91, 50, 93, 46,120,121,122, 59, 10, 9,114,101,116,117,114,110, 32,109, 51, 59, 10,125, 10, + 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,111, 98,106,115,112, 97, 99,101, 40, 32,118, +101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 10, 9, 9, + 9, 9, 9, 9, 9, 32, 32,109, 97,116, 52, 32,109, 86,105,101,119, 44, 32,109, 97,116, 52, 32,109, 86,105,101,119, 73,110,118, + 44, 32,109, 97,116, 52, 32,109, 79, 98,106, 44, 32,109, 97,116, 52, 32,109, 79, 98,106, 73,110,118, 44, 32, 10, 9, 9, 9, 9, + 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, + 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32, +102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, + 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32, +111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10, +123, 10, 9,109, 97,116, 51, 32,111, 98,106, 50,118,105,101,119, 32, 61, 32,116,111, 95,109, 97,116, 51, 40,109, 86,105,101,119, + 32, 42, 32,109, 79, 98,106, 41, 59, 10, 9,109, 97,116, 51, 32,118,105,101,119, 50,111, 98,106, 32, 61, 32,116,111, 95,109, 97, +116, 51, 40,109, 79, 98,106, 73,110,118, 32, 42, 32,109, 86,105,101,119, 73,110,118, 41, 59, 10, 9, 10, 9,118,101, 99, 51, 32, +118, 83,105,103,109, 97, 83, 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, 42, 32,100, 70,100,120, 40, 32,115,117,114,102, 95, +112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, + 42, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,110, +111,114,109, 97,108,105,122,101, 40, 32,115,117,114,102, 95,110,111,114,109, 32, 42, 32,111, 98,106, 50,118,105,101,119, 32, 41, + 59, 10, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 59, 10, 9,102, - 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9,102, -108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 59, 10, 9,118, 78, - 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, - 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103, -110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, - 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97,112, 51, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109, -112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111, -117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 83, 84,108,108, 32, 61, 32,116, -101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, 32, 83, 84,108,114, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, - 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117,108, 32, 61, 32,116, -101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 32, 59, 10, 9, 10, 9,102,108, -111, 97,116, 32, 72,108,108, 44, 72,108,114, 44, 72,117,108, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117, -114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,108, 41, 44, 32, 72,108,108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, - 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,114, 41, 44, 32, 72,108,114, 32, 41, 59, 10, 9, -114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117,108, 41, 44, 32, 72, -117,108, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,108,114, 32, 45, 32, 72, -108,108, 41, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,117,108, 32, 45, 32, 72,108,108, 41, - 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97,112, 53, 40, 32,118,101, 99, 51, 32,116, -101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,108, -101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,111, - 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, - 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84, -101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 10, 9,118,101, 99, 50, 32, 83, 84, - 99, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, 32, 83, 84,108, 32, 61, 32,116,101,120, 99,111, 46, -120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,114, 32, 61, 32,116, -101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84, -100, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, 59, 10, 9,118,101, - 99, 50, 32, 83, 84,117, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, - 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72, 99, 44, 72,108, 44, 72,114, 44, 72,100, 44, 72,117, 59, 10, 9,114,103, 98,116, -111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84, 99, 41, 44, 32, 72, 99, 32, 41, 59, 10, - 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108, 41, 44, 32, 72, -108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84, -114, 41, 44, 32, 72,114, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, - 97, 44, 32, 83, 84,100, 41, 44, 32, 72,100, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, - 50, 68, 40,105,109, 97, 44, 32, 83, 84,117, 41, 44, 32, 72,117, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,104, 83, 99, - 97,108,101, 32, 42, 32, 40, 72,114, 32, 45, 32, 72,108, 41, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, - 32, 40, 72,117, 32, 45, 32, 72,100, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,100,101, -114,105,118, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32, -102,108,111, 97,116, 32,105,109, 97, 95,120, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,121, 44, 32,102,108,111, 97,116, 32, -104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117, -116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, - 9,102,108,111, 97,116, 32,115, 32, 61, 32, 49, 46, 48, 59, 9, 9, 47, 47, 32,110,101,103, 97,116,101, 32,116,104,105,115, 32, -105,102, 32,102,108,105,112,112,101,100, 32,116,101,120,116,117,114,101, 32, 99,111,111,114,100,105,110, 97,116,101, 10, 9,118, -101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, - 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9, 10, 9, 47, 47, 32, -116,104,105,115, 32,118, 97,114,105, 97,110,116, 32,117,115,105,110,103, 32, 97, 32,100,101,114,105,118, 97,116,105,118,101, 32, -109, 97,112, 32,105,115, 32,100,101,115, 99,114,105, 98,101,100, 32,104,101,114,101, 10, 9, 47, 47, 32,104,116,116,112, 58, 47, - 47,109,109,105,107,107,101,108,115,101,110, 51,100, 46, 98,108,111,103,115,112,111,116, 46, 99,111,109, 47, 50, 48, 49, 49, 47, - 48, 55, 47,100,101,114,105,118, 97,116,105,118,101, 45,109, 97,112,115, 46,104,116,109,108, 10, 9,118,101, 99, 50, 32,100,105, -109, 32, 61, 32,118,101, 99, 50, 40,105,109, 97, 95,120, 44, 32,105,109, 97, 95,121, 41, 59, 10, 9,118,101, 99, 50, 32,100, 66, -100,117,118, 32, 61, 32,104, 83, 99, 97,108,101, 42,100,105,109, 42, 40, 50, 46, 48, 42,116,101,120,116,117,114,101, 50, 68, 40, -105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 46,120,121, 45, 49, 46, 48, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, - 32,100, 66,100,117,118, 46,120, 42, 84,101,120, 68,120, 46,120, 32, 43, 32,115, 42,100, 66,100,117,118, 46,121, 42, 84,101,120, - 68,120, 46,121, 59, 10, 9,100, 66,116, 32, 61, 32,100, 66,100,117,118, 46,120, 42, 84,101,120, 68,121, 46,120, 32, 43, 32,115, - 42,100, 66,100,117,118, 46,121, 42, 84,101,120, 68,121, 46,121, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98, -117,109,112, 95, 97,112,112,108,121, 40, 32,102,108,111, 97,116, 32,102, 68,101,116, 44, 32,102,108,111, 97,116, 32,100, 66,115, - 44, 32,102,108,111, 97,116, 32,100, 66,116, 44, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,118,101, 99, 51, 32,118, 82, 50, 44, - 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32, -118, 78, 97, 99, 99, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,112,101,114,116,117,114, 98,101,100, 95,110,111, -114,109, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,117,114,102, 71,114, 97,100, 32, 61, 32,115,105,103,110, 40,102, - 68,101,116, 41, 32, 42, 32, 40, 32,100, 66,115, 32, 42, 32,118, 82, 49, 32, 43, 32,100, 66,116, 32, 42, 32,118, 82, 50, 32, 41, - 59, 10, 9, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 45, 32,118, 83,117,114, -102, 71,114, 97,100, 59, 10, 9,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 61, 32,110,111,114,109, 97,108,105, -122,101, 40, 32,118, 78, 97, 99, 99, 95,111,117,116, 32, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117, -109,112, 95, 97,112,112,108,121, 95,116,101,120,115,112, 97, 99,101, 40, 32,102,108,111, 97,116, 32,102, 68,101,116, 44, 32,102, -108,111, 97,116, 32,100, 66,115, 44, 32,102,108,111, 97,116, 32,100, 66,116, 44, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,118, -101, 99, 51, 32,118, 82, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,118,101, 99, 51, 32,116,101,120, 99, -111, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,120, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,121, 44, 32,118,101, 99, - 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, - 78, 97, 99, 99, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,112,101,114,116,117,114, 98,101,100, 95,110,111,114, -109, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46, -120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, - 41, 59, 10, 10, 9,118,101, 99, 51, 32,118, 83,117,114,102, 71,114, 97,100, 32, 61, 32,115,105,103,110, 40,102, 68,101,116, 41, - 32, 42, 32, 40, 32, 10, 9, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100, 66,115, 32, 47, 32,108,101,110,103,116,104, 40, - 32,118,101, 99, 50, 40,105,109, 97, 95,120, 42, 84,101,120, 68,120, 46,120, 44, 32,105,109, 97, 95,121, 42, 84,101,120, 68,120, - 46,121, 41, 32, 41, 32, 42, 32,118, 82, 49, 32, 43, 32, 10, 9, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100, 66,116, 32, - 47, 32,108,101,110,103,116,104, 40, 32,118,101, 99, 50, 40,105,109, 97, 95,120, 42, 84,101,120, 68,121, 46,120, 44, 32,105,109, - 97, 95,121, 42, 84,101,120, 68,121, 46,121, 41, 32, 41, 32, 42, 32,118, 82, 50, 32, 41, 59, 10, 9, 9, 9, 9, 10, 9,118, 78, - 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 45, 32,118, 83,117,114,102, 71,114, 97,100, 59, 10, - 9,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32,118, 78, 97, - 99, 99, 95,111,117,116, 32, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,101,103, 97,116,101, 95,116,101, -120,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117, -116,110,111,114,109, 97,108, 41, 10,123, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,118,101, 99, 51, 40, 45,110,111, -114,109, 97,108, 46,120, 44, 32, 45,110,111,114,109, 97,108, 46,121, 44, 32,110,111,114,109, 97,108, 46,122, 41, 59, 10,125, 10, - 10,118,111,105,100, 32,109,116,101,120, 95,110,115,112, 97, 99,101, 95,116, 97,110,103,101,110,116, 40,118,101, 99, 52, 32,116, - 97,110,103,101,110,116, 44, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,118,101, 99, 51, 32,116,101,120,110,111,114, -109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9,118,101, 99, 51, - 32, 66, 32, 61, 32,116, 97,110,103,101,110,116, 46,119, 32, 42, 32, 99,114,111,115,115, 40,110,111,114,109, 97,108, 44, 32,116, - 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,116,101,120,110,111, -114,109, 97,108, 46,120, 42,116, 97,110,103,101,110,116, 46,120,121,122, 32, 43, 32,116,101,120,110,111,114,109, 97,108, 46,121, - 42, 66, 32, 43, 32,116,101,120,110,111,114,109, 97,108, 46,122, 42,110,111,114,109, 97,108, 59, 10, 9,111,117,116,110,111,114, -109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118, -111,105,100, 32,109,116,101,120, 95, 98,108,101,110,100, 95,110,111,114,109, 97,108, 40,102,108,111, 97,116, 32,110,111,114,102, - 97, 99, 44, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,118,101, 99, 51, 32,110,101,119,110,111,114,109, 97,108, 44, - 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9,111,117,116,110,111,114,109, 97, -108, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32,110,111,114,102, 97, 99, 41, 42,110,111,114,109, 97,108, 32, 43, 32,110,111,114,102, - 97, 99, 42,110,101,119,110,111,114,109, 97,108, 59, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97, -108,105,122,101, 40,111,117,116,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 32, 77, 65, 84, - 69, 82, 73, 65, 76, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, - 98,105,108,105,116,121, 95,115,117,110, 95,104,101,109,105, 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,111,117, -116, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102, -108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,108,118, 32, 61, 32,108, 97,109,112,118,101, 99, 59, 10, 9, -100,105,115,116, 32, 61, 32, 49, 46, 48, 59, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118, -111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,111,116,104,101,114, 40,118,101, 99, 51, 32, 99, -111, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10, -123, 10, 9,108,118, 32, 61, 32, 99,111, 32, 45, 32,108, 97,109,112, 99,111, 59, 10, 9,100,105,115,116, 32, 61, 32,108,101,110, -103,116,104, 40,108,118, 41, 59, 10, 9,108,118, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108,118, 41, 59, 10, 9,118, -105,115,105,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111, -102,102, 95,105,110,118,108,105,110,101, 97,114, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, + 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9, 47, + 42, 32,112,114,101,116,114, 97,110,115,102,111,114,109, 32,118, 78, 97, 99, 99, 32, 40,105,110, 32,109,116,101,120, 95, 98,117, +109,112, 95, 97,112,112,108,121, 41, 32,117,115,105,110,103, 32,116,104,101, 32,105,110,118,101,114,115,101, 32,116,114, 97,110, +115,112,111,115,101,100, 32, 42, 47, 10, 9,118, 82, 49, 32, 61, 32,118, 82, 49, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, + 10, 9,118, 82, 50, 32, 61, 32,118, 82, 50, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9,118, 78, 32, 61, 32,118, 78, + 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, + 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 32, 42, 32,108,101,110,103,116,104, 40,118, 78, 41, 59, 10, 9,118, 78, 97, 99, + 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, + 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105, +116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109, +116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,116,101,120,116,117,114,101,115,112, 97, 99,101, 40, 32,118,101, 99, 51, + 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, 9, + 9, 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118, +101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97, +116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, + 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, + 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, + 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, 40, 32,115,117,114,102, 95, +112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117,114, +102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95,110,111,114,109, 59, 32, 47, + 42, 32,110,111,114,109, 97,108,105,122,101,100, 32,105,110,116,101,114,112,111,108, 97,116,101,100, 32,118,101,114,116,101,120, + 32,110,111,114,109, 97,108, 32, 42, 47, 10, 9, 10, 9,118, 82, 49, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32, 99, +114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32,110,111, +114,109, 97,108,105,122,101, 40, 32, 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 41, 59, + 10, 9,102, 68,101,116, 32, 61, 32,115,105,103,110, 40, 32,100,111,116, 40,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 41, + 32, 41, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68, +101,116, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, + 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9, +102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, + 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,118,105,101,119,115,112, 97, 99, +101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, + 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100, +101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111, +117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, + 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32, +118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97, +116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, + 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70, +100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95, +110,111,114,109, 59, 32, 47, 42, 32,110,111,114,109, 97,108,105,122,101,100, 32,105,110,116,101,114,112,111,108, 97,116,101,100, + 32,118,101,114,116,101,120, 32,110,111,114,109, 97,108, 32, 42, 47, 10, 9, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, + 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40, 32,118, + 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 59, 10, 9,102, 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105, +103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, + 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, + 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117, +100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, + 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97,112, 51, + 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, + 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, + 10,123, 10, 9,118,101, 99, 50, 32, 83, 84,108,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, 32, + 83, 84,108,114, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, + 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,121, 40, +116,101,120, 99,111, 46,120,121, 41, 32, 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72,108,108, 44, 72,108,114, 44, 72,117,108, + 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,108, 41, + 44, 32, 72,108,108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, + 44, 32, 83, 84,108,114, 41, 44, 32, 72,108,114, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114, +101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117,108, 41, 44, 32, 72,117,108, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32, +104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,108,114, 32, 45, 32, 72,108,108, 41, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, + 97,108,101, 32, 42, 32, 40, 72,117,108, 32, 45, 32, 72,108,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, + 98,117,109,112, 95,116, 97,112, 53, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, + 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, + 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116, +101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, + 99,111, 46,120,121, 41, 59, 10, 10, 9,118,101, 99, 50, 32, 83, 84, 99, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9, +118,101, 99, 50, 32, 83, 84,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68, +120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,114, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, + 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,100, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, + 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117, 32, 61, 32,116,101,120, 99,111, 46, +120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72, 99, 44, 72, +108, 44, 72,114, 44, 72,100, 44, 72,117, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40, +105,109, 97, 44, 32, 83, 84, 99, 41, 44, 32, 72, 99, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117, +114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108, 41, 44, 32, 72,108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32, +116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,114, 41, 44, 32, 72,114, 32, 41, 59, 10, 9,114,103, 98,116, +111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,100, 41, 44, 32, 72,100, 32, 41, 59, 10, + 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117, 41, 44, 32, 72, +117, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,114, 32, 45, 32, 72,108, 41, + 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,117, 32, 45, 32, 72,100, 41, 59, 10,125, 10, 10, +118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,100,101,114,105,118, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, + 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,120, 44, 32,102,108, +111, 97,116, 32,105,109, 97, 95,121, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117, +116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,102,108,111, 97,116, 32,115, 32, 61, 32, 49, 46, 48, 59, + 9, 9, 47, 47, 32,110,101,103, 97,116,101, 32,116,104,105,115, 32,105,102, 32,102,108,105,112,112,101,100, 32,116,101,120,116, +117,114,101, 32, 99,111,111,114,100,105,110, 97,116,101, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100, +120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40, +116,101,120, 99,111, 46,120,121, 41, 59, 10, 9, 10, 9, 47, 47, 32,116,104,105,115, 32,118, 97,114,105, 97,110,116, 32,117,115, +105,110,103, 32, 97, 32,100,101,114,105,118, 97,116,105,118,101, 32,109, 97,112, 32,105,115, 32,100,101,115, 99,114,105, 98,101, +100, 32,104,101,114,101, 10, 9, 47, 47, 32,104,116,116,112, 58, 47, 47,109,109,105,107,107,101,108,115,101,110, 51,100, 46, 98, +108,111,103,115,112,111,116, 46, 99,111,109, 47, 50, 48, 49, 49, 47, 48, 55, 47,100,101,114,105,118, 97,116,105,118,101, 45,109, + 97,112,115, 46,104,116,109,108, 10, 9,118,101, 99, 50, 32,100,105,109, 32, 61, 32,118,101, 99, 50, 40,105,109, 97, 95,120, 44, + 32,105,109, 97, 95,121, 41, 59, 10, 9,118,101, 99, 50, 32,100, 66,100,117,118, 32, 61, 32,104, 83, 99, 97,108,101, 42,100,105, +109, 42, 40, 50, 46, 48, 42,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 46, +120,121, 45, 49, 46, 48, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,100, 66,100,117,118, 46,120, 42, 84,101,120, 68,120, 46, +120, 32, 43, 32,115, 42,100, 66,100,117,118, 46,121, 42, 84,101,120, 68,120, 46,121, 59, 10, 9,100, 66,116, 32, 61, 32,100, 66, +100,117,118, 46,120, 42, 84,101,120, 68,121, 46,120, 32, 43, 32,115, 42,100, 66,100,117,118, 46,121, 42, 84,101,120, 68,121, 46, +121, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 40, 32,102,108,111, 97, +116, 32,102, 68,101,116, 44, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,102,108,111, 97,116, 32,100, 66,116, 44, 32,118,101, + 99, 51, 32,118, 82, 49, 44, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, + 10, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32,111,117,116, 32, +118,101, 99, 51, 32,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, + 83,117,114,102, 71,114, 97,100, 32, 61, 32,115,105,103,110, 40,102, 68,101,116, 41, 32, 42, 32, 40, 32,100, 66,115, 32, 42, 32, +118, 82, 49, 32, 43, 32,100, 66,116, 32, 42, 32,118, 82, 50, 32, 41, 59, 10, 9, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, + 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 45, 32,118, 83,117,114,102, 71,114, 97,100, 59, 10, 9,112,101,114,116,117,114, 98, +101,100, 95,110,111,114,109, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32,118, 78, 97, 99, 99, 95,111,117,116, 32, 41, + 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 95,116,101,120,115,112, 97, + 99,101, 40, 32,102,108,111, 97,116, 32,102, 68,101,116, 44, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,102,108,111, 97,116, + 32,100, 66,116, 44, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,118,101, 99, 51, 32,118, 82, 50, 44, 10, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,115, 97,109,112,108,101,114, + 50, 68, 32,105,109, 97, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,120, 44, + 32,102,108,111, 97,116, 32,105,109, 97, 95,121, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, + 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32,111,117,116, 32,118, +101, 99, 51, 32,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 84,101, +120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68, +121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 10, 9,118,101, 99, 51, 32,118, 83,117,114,102, + 71,114, 97,100, 32, 61, 32,115,105,103,110, 40,102, 68,101,116, 41, 32, 42, 32, 40, 32, 10, 9, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32,100, 66,115, 32, 47, 32,108,101,110,103,116,104, 40, 32,118,101, 99, 50, 40,105,109, 97, 95,120, 42, 84,101,120, + 68,120, 46,120, 44, 32,105,109, 97, 95,121, 42, 84,101,120, 68,120, 46,121, 41, 32, 41, 32, 42, 32,118, 82, 49, 32, 43, 32, 10, + 9, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100, 66,116, 32, 47, 32,108,101,110,103,116,104, 40, 32,118,101, 99, 50, 40, +105,109, 97, 95,120, 42, 84,101,120, 68,121, 46,120, 44, 32,105,109, 97, 95,121, 42, 84,101,120, 68,121, 46,121, 41, 32, 41, 32, + 42, 32,118, 82, 50, 32, 41, 59, 10, 9, 9, 9, 9, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, + 95,105,110, 32, 45, 32,118, 83,117,114,102, 71,114, 97,100, 59, 10, 9,112,101,114,116,117,114, 98,101,100, 95,110,111,114,109, + 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32,118, 78, 97, 99, 99, 95,111,117,116, 32, 41, 59, 10,125, 10, 10,118,111, +105,100, 32,109,116,101,120, 95,110,101,103, 97,116,101, 95,116,101,120,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,110,111, +114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9,111,117,116, +110,111,114,109, 97,108, 32, 61, 32,118,101, 99, 51, 40, 45,110,111,114,109, 97,108, 46,120, 44, 32, 45,110,111,114,109, 97,108, + 46,121, 44, 32,110,111,114,109, 97,108, 46,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,115,112, 97, + 99,101, 95,116, 97,110,103,101,110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, 44, 32,118,101, 99, 51, 32,110,111, +114,109, 97,108, 44, 32,118,101, 99, 51, 32,116,101,120,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111, +117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9,118,101, 99, 51, 32, 66, 32, 61, 32,116, 97,110,103,101,110,116, 46,119, 32, + 42, 32, 99,114,111,115,115, 40,110,111,114,109, 97,108, 44, 32,116, 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10, 10, 9, +111,117,116,110,111,114,109, 97,108, 32, 61, 32,116,101,120,110,111,114,109, 97,108, 46,120, 42,116, 97,110,103,101,110,116, 46, +120,121,122, 32, 43, 32,116,101,120,110,111,114,109, 97,108, 46,121, 42, 66, 32, 43, 32,116,101,120,110,111,114,109, 97,108, 46, +122, 42,110,111,114,109, 97,108, 59, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, + 40,111,117,116,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,108,101,110,100, 95, +110,111,114,109, 97,108, 40,102,108,111, 97,116, 32,110,111,114,102, 97, 99, 44, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, + 44, 32,118,101, 99, 51, 32,110,101,119,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111, +114,109, 97,108, 41, 10,123, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32,110,111,114,102, + 97, 99, 41, 42,110,111,114,109, 97,108, 32, 43, 32,110,111,114,102, 97, 99, 42,110,101,119,110,111,114,109, 97,108, 59, 10, 9, +111,117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,110,111,114,109, 97,108, 41, + 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 32, 77, 65, 84, 69, 82, 73, 65, 76, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 47, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,117,110, 95,104,101,109,105, + 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32, +102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, + 10, 9,108,118, 32, 61, 32,108, 97,109,112,118,101, 99, 59, 10, 9,100,105,115,116, 32, 61, 32, 49, 46, 48, 59, 10, 9,118,105, +115,105,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105, +108,105,116,121, 95,111,116,104,101,114, 40,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99,111, 44, + 32,111,117,116, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117, +116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,108,118, 32, 61, 32, 99,111, 32, 45, 32,108, 97, +109,112, 99,111, 59, 10, 9,100,105,115,116, 32, 61, 32,108,101,110,103,116,104, 40,108,118, 41, 59, 10, 9,108,118, 32, 61, 32, +110,111,114,109, 97,108,105,122,101, 40,108,118, 41, 59, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, + 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95,105,110,118,108,105,110,101, 97,114, 40,102,108, +111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105, +115,116, 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32,100,105,115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97, +109,112, 95,102, 97,108,108,111,102,102, 95,105,110,118,115,113,117, 97,114,101, 40,102,108,111, 97,116, 32,108, 97,109,112,100, +105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, + 97, 99, 41, 10,123, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105,115,116, 47, 40,108, 97,109,112,100, +105,115,116, 32, 43, 32,100,105,115,116, 42,100,105,115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, + 97,108,108,111,102,102, 95,115,108,105,100,101,114,115, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102, +108,111, 97,116, 32,108,100, 49, 44, 32,102,108,111, 97,116, 32,108,100, 50, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, + 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,108, 97,109, +112,100,105,115,116,107,119, 32, 61, 32,108, 97,109,112,100,105,115,116, 42,108, 97,109,112,100,105,115,116, 59, 10, 10, 9,118, +105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105,115,116, 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32,108,100, + 49, 42,100,105,115,116, 41, 59, 10, 9,118,105,115,105,102, 97, 99, 32, 42, 61, 32,108, 97,109,112,100,105,115,116,107,119, 47, + 40,108, 97,109,112,100,105,115,116,107,119, 32, 43, 32,108,100, 50, 42,100,105,115,116, 42,100,105,115,116, 41, 59, 10,125, 10, + 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95, 99,117,114,118,101, 40,102,108,111, 97,116, 32,108, + 97,109,112,100,105,115,116, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,118, -105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105,115,116, 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32,100,105, -115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95,105,110,118,115,113,117, - 97,114,101, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32, -111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32, -108, 97,109,112,100,105,115,116, 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32,100,105,115,116, 42,100,105,115,116, 41, 59, - 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102,102, 95,115,108,105,100,101,114,115, 40,102,108, -111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,108,100, 49, 44, 32,102,108,111, 97,116, 32,108, -100, 50, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, - 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116,107,119, 32, 61, 32,108, 97,109,112,100,105,115, -116, 42,108, 97,109,112,100,105,115,116, 59, 10, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,108, 97,109,112,100,105,115,116, - 47, 40,108, 97,109,112,100,105,115,116, 32, 43, 32,108,100, 49, 42,100,105,115,116, 41, 59, 10, 9,118,105,115,105,102, 97, 99, - 32, 42, 61, 32,108, 97,109,112,100,105,115,116,107,119, 47, 40,108, 97,109,112,100,105,115,116,107,119, 32, 43, 32,108,100, 50, - 42,100,105,115,116, 42,100,105,115,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,102, 97,108,108,111,102, -102, 95, 99,117,114,118,101, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,115, 97,109,112,108,101,114, 50, - 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,111,117,116, 32,102,108,111, 97, -116, 32,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,118,105,115,105,102, 97, 99, 32, 61, 32,116,101,120,116,117,114,101, 50, - 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, 50, 40,100,105,115,116, 47,108, 97,109,112,100,105,115,116, 44, 32, - 48, 46, 48, 41, 41, 46,120, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, - 95,115,112,104,101,114,101, 40,102,108,111, 97,116, 32,108, 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105, -115,116, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, -118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,116, 61, 32,108, 97,109,112,100,105,115,116, 32, 45, 32, -100,105,115,116, 59, 10, 10, 9,111,117,116,118,105,115,105,102, 97, 99, 61, 32,118,105,115,105,102, 97, 99, 42,109, 97,120, 40, -116, 44, 32, 48, 46, 48, 41, 47,108, 97,109,112,100,105,115,116, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118, -105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, 95,115,113,117, 97,114,101, 40,118,101, 99, 51, 32,108, 97,109,112,118, -101, 99, 44, 32,109, 97,116, 52, 32,108, 97,109,112,105,109, 97,116, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32, -102,108,111, 97,116, 32,105,110,112,114, 41, 10,123, 10, 9,105,102, 40,100,111,116, 40,108,118, 44, 32,108, 97,109,112,118,101, - 99, 41, 32, 62, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,118,101, 99, 51, 32,108,118,114,111,116, 32, 61, 32, 40,108, 97,109,112, -105,109, 97,116, 42,118,101, 99, 52, 40,108,118, 44, 32, 48, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9, 9,102,108,111, 97,116, - 32,120, 32, 61, 32,109, 97,120, 40, 97, 98,115, 40,108,118,114,111,116, 46,120, 47,108,118,114,111,116, 46,122, 41, 44, 32, 97, - 98,115, 40,108,118,114,111,116, 46,121, 47,108,118,114,111,116, 46,122, 41, 41, 59, 10, 10, 9, 9,105,110,112,114, 32, 61, 32, - 49, 46, 48, 47,115,113,114,116, 40, 49, 46, 48, 32, 43, 32,120, 42,120, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 10, 9, 9, -105,110,112,114, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108, -105,116,121, 95,115,112,111,116, 95, 99,105,114, 99,108,101, 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,118,101, - 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,112,114, 41, 10,123, 10, 9,105,110,112,114, 32, 61, - 32,100,111,116, 40,108,118, 44, 32,108, 97,109,112,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95, -118,105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, 40,102,108,111, 97,116, 32,115,112,111,116,115,105, 44, 32,102,108, -111, 97,116, 32,115,112,111,116, 98,108, 44, 32,102,108,111, 97,116, 32,105,110,112,114, 44, 32,102,108,111, 97,116, 32,118,105, -115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9, -102,108,111, 97,116, 32,116, 32, 61, 32,115,112,111,116,115,105, 59, 10, 10, 9,105,102, 40,105,110,112,114, 32, 60, 61, 32,116, - 41, 32,123, 10, 9, 9,111,117,116,118,105,115,105,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, - 32,123, 10, 9, 9,116, 32, 61, 32,105,110,112,114, 32, 45, 32,116, 59, 10, 10, 9, 9, 47, 42, 32,115,111,102,116, 32, 97,114, -101, 97, 32, 42, 47, 10, 9, 9,105,102, 40,115,112,111,116, 98,108, 32, 33, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,105,110,112, -114, 32, 42, 61, 32,115,109,111,111,116,104,115,116,101,112, 40, 48, 46, 48, 44, 32, 49, 46, 48, 44, 32,116, 47,115,112,111,116, - 98,108, 41, 59, 10, 10, 9, 9,111,117,116,118,105,115,105,102, 97, 99, 32, 61, 32,118,105,115,105,102, 97, 99, 42,105,110,112, -114, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95, 99,108, - 97,109,112, 40,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, -118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,111,117,116,118,105,115,105,102, 97, 99, 32, 61, 32, 40,118,105,115,105,102, 97, - 99, 32, 60, 32, 48, 46, 48, 48, 49, 41, 63, 32, 48, 46, 48, 58, 32,118,105,115,105,102, 97, 99, 59, 10,125, 10, 10,118,111,105, -100, 32,115,104, 97,100,101, 95,118,105,101,119, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, -105,101,119, 41, 10,123, 10, 9, 47, 42, 32,104, 97,110,100,108,101, 32,112,101,114,115,112,101, 99,116,105,118,101, 47,111,114, -116,104,111,103,114, 97,112,104,105, 99, 32, 42, 47, 10, 9,118,105,101,119, 32, 61, 32, 40,103,108, 95, 80,114,111,106,101, 99, -116,105,111,110, 77, 97,116,114,105,120, 91, 51, 93, 91, 51, 93, 32, 61, 61, 32, 48, 46, 48, 41, 63, 32,110,111,114,109, 97,108, -105,122,101, 40, 99,111, 41, 58, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 45, 49, 46, 48, 41, 59, 10,125, - 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,116, 97,110,103,101,110,116, 95,118, 40,118,101, 99, 51, 32,108,118, 44, 32, -118,101, 99, 51, 32,116, 97,110,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,101, 99, 51, 32, - 99, 32, 61, 32, 99,114,111,115,115, 40,108,118, 44, 32,116, 97,110,103, 41, 59, 10, 9,118,101, 99, 51, 32,118,110,111,114, 32, - 61, 32, 99,114,111,115,115, 40, 99, 44, 32,116, 97,110,103, 41, 59, 10, 10, 9,118,110, 32, 61, 32, 45,110,111,114,109, 97,108, -105,122,101, 40,118,110,111,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,110,112, 40,118,101, 99, - 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,112, 41, 10,123, 10, - 9,105,110,112, 32, 61, 32,100,111,116, 40,118,110, 44, 32,108,118, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100, -101, 95,105,115, 95,110,111, 95,100,105,102,102,117,115,101, 40,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, - 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,115, 95,104,101,109,105, - 40,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, - 61, 32, 48, 46, 53, 42,105,110,112, 32, 43, 32, 48, 46, 53, 59, 10,125, 10, 10,102,108,111, 97,116, 32, 97,114,101, 97, 95,108, - 97,109,112, 95,101,110,101,114,103,121, 40,109, 97,116, 52, 32, 97,114,101, 97, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,118, -101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,101, 99, 51, 32,118,101, 99, 91, 52, 93, 44, 32, 99, 91, 52, 93, 59, 10, 9,102, -108,111, 97,116, 32,114, 97,100, 91, 52, 93, 44, 32,102, 97, 99, 59, 10, 9, 10, 9,118,101, 99, 91, 48, 93, 32, 61, 32,110,111, -114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 48, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, - 49, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 49, 93, 46,120,121,122, 41, - 59, 10, 9,118,101, 99, 91, 50, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, - 50, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, 51, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, - 45, 32, 97,114,101, 97, 91, 51, 93, 46,120,121,122, 41, 59, 10, 10, 9, 99, 91, 48, 93, 32, 61, 32,110,111,114,109, 97,108,105, -122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 48, 93, 44, 32,118,101, 99, 91, 49, 93, 41, 41, 59, 10, 9, 99, 91, 49, 93, - 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 49, 93, 44, 32,118,101, 99, 91, 50, - 93, 41, 41, 59, 10, 9, 99, 91, 50, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, - 91, 50, 93, 44, 32,118,101, 99, 91, 51, 93, 41, 41, 59, 10, 9, 99, 91, 51, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, - 40, 99,114,111,115,115, 40,118,101, 99, 91, 51, 93, 44, 32,118,101, 99, 91, 48, 93, 41, 41, 59, 10, 10, 9,114, 97,100, 91, 48, - 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 48, 93, 44, 32,118,101, 99, 91, 49, 93, 41, 41, 59, 10, 9, -114, 97,100, 91, 49, 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 49, 93, 44, 32,118,101, 99, 91, 50, 93, - 41, 41, 59, 10, 9,114, 97,100, 91, 50, 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 50, 93, 44, 32,118, -101, 99, 91, 51, 93, 41, 41, 59, 10, 9,114, 97,100, 91, 51, 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, - 51, 93, 44, 32,118,101, 99, 91, 48, 93, 41, 41, 59, 10, 10, 9,102, 97, 99, 61, 32, 32,114, 97,100, 91, 48, 93, 42,100,111,116, - 40,118,110, 44, 32, 99, 91, 48, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, 32,114, 97,100, 91, 49, 93, 42,100,111,116, 40,118,110, - 44, 32, 99, 91, 49, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, 32,114, 97,100, 91, 50, 93, 42,100,111,116, 40,118,110, 44, 32, 99, - 91, 50, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, 32,114, 97,100, 91, 51, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 51, 93, - 41, 59, 10, 10, 9,114,101,116,117,114,110, 32,109, 97,120, 40,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111, -105,100, 32,115,104, 97,100,101, 95,105,110,112, 95, 97,114,101, 97, 40,118,101, 99, 51, 32,112,111,115,105,116,105,111,110, 44, - 32,118,101, 99, 51, 32,108, 97,109,112, 99,111, 44, 32,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,118,101, 99, 51, - 32,118,110, 44, 32,109, 97,116, 52, 32, 97,114,101, 97, 44, 32,102,108,111, 97,116, 32, 97,114,101, 97,115,105,122,101, 44, 32, -102,108,111, 97,116, 32,107, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,112, 41, 10,123, 10, 9,118,101, 99, 51, 32, - 99,111, 32, 61, 32,112,111,115,105,116,105,111,110, 59, 10, 9,118,101, 99, 51, 32,118,101, 99, 32, 61, 32, 99,111, 32, 45, 32, -108, 97,109,112, 99,111, 59, 10, 10, 9,105,102, 40,100,111,116, 40,118,101, 99, 44, 32,108, 97,109,112,118,101, 99, 41, 32, 60, - 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,110,112, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, - 9, 9,102,108,111, 97,116, 32,105,110,116,101,110,115, 32, 61, 32, 97,114,101, 97, 95,108, 97,109,112, 95,101,110,101,114,103, -121, 40, 97,114,101, 97, 44, 32, 99,111, 44, 32,118,110, 41, 59, 10, 10, 9, 9,105,110,112, 32, 61, 32,112,111,119, 40,105,110, -116,101,110,115, 42, 97,114,101, 97,115,105,122,101, 44, 32,107, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, - 97,100,101, 95,100,105,102,102,117,115,101, 95,111,114,101,110, 95,110, 97,121,101,114, 40,102,108,111, 97,116, 32,110,108, 44, - 32,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,114, -111,117,103,104, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32, -110,111,114,109, 97,108,105,122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,109, 97, -120, 40,100,111,116, 40,110, 44, 32,104, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, - 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,114,101, 97,108,110, -108, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, 10, 9,105,102, 40,114,101, 97,108,110,108, 32, 60, 32, 48, 46, 48, - 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,105,102, 40,110,108, 32, 60, - 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, - 9,102,108,111, 97,116, 32,118,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,118, 44, 32,104, 41, 44, 32, 48, 46, 48, 41, 59, - 10, 9, 9,102,108,111, 97,116, 32, 76,105,116, 95, 65, 32, 61, 32, 97, 99,111,115, 40,114,101, 97,108,110,108, 41, 59, 10, 9, - 9,102,108,111, 97,116, 32, 86,105,101,119, 95, 65, 32, 61, 32, 97, 99,111,115, 40,110,118, 41, 59, 10, 10, 9, 9,118,101, 99, - 51, 32, 76,105,116, 95, 66, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, 32, 45, 32,114,101, 97,108,110,108, 42,110, - 41, 59, 10, 9, 9,118,101, 99, 51, 32, 86,105,101,119, 95, 66, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 45, - 32,110,118, 42,110, 41, 59, 10, 10, 9, 9,102,108,111, 97,116, 32,116, 32, 61, 32,109, 97,120, 40,100,111,116, 40, 76,105,116, - 95, 66, 44, 32, 86,105,101,119, 95, 66, 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 97, 44, 32, 98, - 59, 10, 10, 9, 9,105,102, 40, 76,105,116, 95, 65, 32, 62, 32, 86,105,101,119, 95, 65, 41, 32,123, 10, 9, 9, 9, 97, 32, 61, - 32, 76,105,116, 95, 65, 59, 10, 9, 9, 9, 98, 32, 61, 32, 86,105,101,119, 95, 65, 59, 10, 9, 9,125, 10, 9, 9,101,108,115, -101, 32,123, 10, 9, 9, 9, 97, 32, 61, 32, 86,105,101,119, 95, 65, 59, 10, 9, 9, 9, 98, 32, 61, 32, 76,105,116, 95, 65, 59, - 10, 9, 9,125, 10, 10, 9, 9,102,108,111, 97,116, 32, 65, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 48, 46, 53, 42, 40, 40,114, -111,117,103,104, 42,114,111,117,103,104, 41, 47, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 32, 43, 32, 48, 46, 51, - 51, 41, 41, 41, 59, 10, 9, 9,102,108,111, 97,116, 32, 66, 32, 61, 32, 48, 46, 52, 53, 42, 40, 40,114,111,117,103,104, 42,114, -111,117,103,104, 41, 47, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 32, 43, 32, 48, 46, 48, 57, 41, 41, 59, 10, 10, - 9, 9, 98, 32, 42, 61, 32, 48, 46, 57, 53, 59, 10, 9, 9,105,115, 32, 61, 32,110,108, 42, 40, 65, 32, 43, 32, 40, 66, 32, 42, - 32,116, 32, 42, 32,115,105,110, 40, 97, 41, 32, 42, 32,116, 97,110, 40, 98, 41, 41, 41, 59, 10, 9,125, 10,125, 10, 10,118,111, -105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115,101, 95,116,111,111,110, 40,118,101, 99, 51, 32,110, 44, 32,118,101, - 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32, -116,115,109,111,111,116,104, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,102,108,111, 97,116, 32, -114,115,108,116, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, - 99,111,115, 40,114,115,108,116, 41, 59, 10, 10, 9,105,102, 40, 97,110,103, 32, 60, 32,115,105,122,101, 41, 32,105,115, 32, 61, - 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 97,110,103, 32, 62, 32, 40,115,105,122,101, 32, 43, 32,116,115,109, -111,111,116,104, 41, 32,124,124, 32,116,115,109,111,111,116,104, 32, 61, 61, 32, 48, 46, 48, 41, 32,105,115, 32, 61, 32, 48, 46, - 48, 59, 10, 9,101,108,115,101, 32,105,115, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 40, 97,110,103, 32, 45, 32,115,105,122,101, - 41, 47,116,115,109,111,111,116,104, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115, -101, 95,109,105,110,110, 97,101,114,116, 40,102,108,111, 97,116, 32,110,108, 44, 32,118,101, 99, 51, 32,110, 44, 32,118,101, 99, - 51, 32,118, 44, 32,102,108,111, 97,116, 32,100, 97,114,107,110,101,115,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105, -115, 41, 10,123, 10, 9,105,102, 40,110,108, 32, 60, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, - 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111, -116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9, 9,105,102, 40,100, 97,114,107,110,101,115,115, 32, 60, 61, - 32, 49, 46, 48, 41, 10, 9, 9, 9,105,115, 32, 61, 32,110,108, 42,112,111,119, 40,109, 97,120, 40,110,118, 42,110,108, 44, 32, - 48, 46, 49, 41, 44, 32,100, 97,114,107,110,101,115,115, 32, 45, 32, 49, 46, 48, 41, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, - 9,105,115, 32, 61, 32,110,108, 42,112,111,119, 40, 49, 46, 48, 48, 48, 49, 32, 45, 32,110,118, 44, 32,100, 97,114,107,110,101, -115,115, 32, 45, 32, 49, 46, 48, 41, 59, 10, 9,125, 10,125, 10, 10,102,108,111, 97,116, 32,102,114,101,115,110,101,108, 95,102, - 97, 99, 40,118,101, 99, 51, 32,118,105,101,119, 44, 32,118,101, 99, 51, 32,118,110, 44, 32,102,108,111, 97,116, 32,103,114, 97, -100, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,116, 49, 44, 32,116, 50, 59, 10, 9, -102,108,111, 97,116, 32,102,102, 97, 99, 59, 10, 10, 9,105,102, 40,102, 97, 99, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,102, -102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,116, 49, 61, 32,100,111,116, 40, -118,105,101,119, 44, 32,118,110, 41, 59, 10, 9, 9,105,102, 40,116, 49, 62, 48, 46, 48, 41, 32, 32,116, 50, 61, 32, 49, 46, 48, - 43,116, 49, 59, 10, 9, 9,101,108,115,101, 32,116, 50, 61, 32, 49, 46, 48, 45,116, 49, 59, 10, 10, 9, 9,116, 50, 61, 32,103, -114, 97,100, 32, 43, 32, 40, 49, 46, 48, 45,103,114, 97,100, 41, 42,112,111,119, 40,116, 50, 44, 32,102, 97, 99, 41, 59, 10, 10, - 9, 9,105,102, 40,116, 50, 60, 48, 46, 48, 41, 32,102,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,101,108,115,101, 32, -105,102, 40,116, 50, 62, 49, 46, 48, 41, 32,102,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,102,102, - 97, 99, 32, 61, 32,116, 50, 59, 10, 9,125, 10, 10, 9,114,101,116,117,114,110, 32,102,102, 97, 99, 59, 10,125, 10, 10,118,111, -105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115,101, 95,102,114,101,115,110,101,108, 40,118,101, 99, 51, 32,118,110, - 44, 32,118,101, 99, 51, 32,108,118, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 95, -105, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105, -115, 32, 61, 32,102,114,101,115,110,101,108, 95,102, 97, 99, 40,108,118, 44, 32,118,110, 44, 32,102, 97, 99, 95,105, 44, 32,102, - 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 99,117, 98,105, 99, 40,102,108,111, 97,116, 32,105, -115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,105,115, 41, 10,123, 10, 9,105,102, 40,105,115, 62, 48, 46, 48, - 32, 38, 38, 32,105,115, 60, 49, 46, 48, 41, 10, 9, 9,111,117,116,105,115, 61, 32,115,109,111,111,116,104,115,116,101,112, 40, - 48, 46, 48, 44, 32, 49, 46, 48, 44, 32,105,115, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,105,115, 61, 32,105,115, - 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,118,105,115,105,102, 97, 99, 40,102,108,111, 97,116, 32,105, 44, - 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,102,108,111, 97,116, 32,114,101,102,108, 44, 32,111,117,116, 32, -102,108,111, 97,116, 32,111,117,116,105, 41, 10,123, 10, 9, 47, 42,105,102, 40,105, 32, 62, 32, 48, 46, 48, 41, 42, 47, 10, 9, - 9,111,117,116,105, 32, 61, 32,109, 97,120, 40,105, 42,118,105,115,105,102, 97, 99, 42,114,101,102,108, 44, 32, 48, 46, 48, 41, - 59, 10, 9, 47, 42,101,108,115,101, 10, 9, 9,111,117,116,105, 32, 61, 32,105, 59, 42, 47, 10,125, 10, 10,118,111,105,100, 32, -115,104, 97,100,101, 95,116, 97,110,103,101,110,116, 95,118, 95,115,112,101, 99, 40,118,101, 99, 51, 32,116, 97,110,103, 44, 32, -111,117,116, 32,118,101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,110, 32, 61, 32,116, 97,110,103, 59, 10,125, 10, 10,118,111, -105,100, 32,115,104, 97,100,101, 95, 97,100,100, 95,116,111, 95,100,105,102,102,117,115,101, 40,102,108,111, 97,116, 32,105, 44, - 32,118,101, 99, 51, 32,108, 97,109,112, 99,111,108, 44, 32,118,101, 99, 51, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, - 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,105,102, 40,105, 32, 62, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111, -108, 32, 61, 32,105, 42,108, 97,109,112, 99,111,108, 42, 99,111,108, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111, -108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, - 32,115,104, 97,100,101, 95,104,101,109,105, 95,115,112,101, 99, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108, -118, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,102,108,111, 97,116, 32,115,112,101, 99, 44, 32,102,108,111, 97,116, 32, -104, 97,114,100, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,116, - 41, 10,123, 10, 9,108,118, 32, 43, 61, 32,118,105,101,119, 59, 10, 9,108,118, 32, 61, 32,110,111,114,109, 97,108,105,122,101, - 40,108,118, 41, 59, 10, 10, 9,116, 32, 61, 32,100,111,116, 40,118,110, 44, 32,108,118, 41, 59, 10, 9,116, 32, 61, 32, 48, 46, - 53, 42,116, 32, 43, 32, 48, 46, 53, 59, 10, 10, 9,116, 32, 61, 32,118,105,115,105,102, 97, 99, 42,115,112,101, 99, 42,112,111, -119, 40,116, 44, 32,104, 97,114,100, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,112,104,111,110,103, 95, -115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, - 97,116, 32,104, 97,114,100, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118, -101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, - 32,114,115,108,116, 32, 61, 32,109, 97,120, 40,100,111,116, 40,104, 44, 32,110, 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9,115, -112,101, 99,102, 97, 99, 32, 61, 32,112,111,119, 40,114,115,108,116, 44, 32,104, 97,114,100, 41, 59, 10,125, 10, 10,118,111,105, -100, 32,115,104, 97,100,101, 95, 99,111,111,107,116,111,114,114, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, +105,115,105,102, 97, 99, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,118,101, 99, + 50, 40,100,105,115,116, 47,108, 97,109,112,100,105,115,116, 44, 32, 48, 46, 48, 41, 41, 46,120, 59, 10,125, 10, 10,118,111,105, +100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,112,104,101,114,101, 40,102,108,111, 97,116, 32,108, + 97,109,112,100,105,115,116, 44, 32,102,108,111, 97,116, 32,100,105,115,116, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, + 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, + 97,116, 32,116, 61, 32,108, 97,109,112,100,105,115,116, 32, 45, 32,100,105,115,116, 59, 10, 10, 9,111,117,116,118,105,115,105, +102, 97, 99, 61, 32,118,105,115,105,102, 97, 99, 42,109, 97,120, 40,116, 44, 32, 48, 46, 48, 41, 47,108, 97,109,112,100,105,115, +116, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, 95, +115,113,117, 97,114,101, 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,109, 97,116, 52, 32,108, 97,109,112,105,109, + 97,116, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,112,114, 41, 10,123, 10, 9, +105,102, 40,100,111,116, 40,108,118, 44, 32,108, 97,109,112,118,101, 99, 41, 32, 62, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,118, +101, 99, 51, 32,108,118,114,111,116, 32, 61, 32, 40,108, 97,109,112,105,109, 97,116, 42,118,101, 99, 52, 40,108,118, 44, 32, 48, + 46, 48, 41, 41, 46,120,121,122, 59, 10, 9, 9,102,108,111, 97,116, 32,120, 32, 61, 32,109, 97,120, 40, 97, 98,115, 40,108,118, +114,111,116, 46,120, 47,108,118,114,111,116, 46,122, 41, 44, 32, 97, 98,115, 40,108,118,114,111,116, 46,121, 47,108,118,114,111, +116, 46,122, 41, 41, 59, 10, 10, 9, 9,105,110,112,114, 32, 61, 32, 49, 46, 48, 47,115,113,114,116, 40, 49, 46, 48, 32, 43, 32, +120, 42,120, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 10, 9, 9,105,110,112,114, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10, +118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, 95, 99,105,114, 99,108,101, + 40,118,101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,111,117,116, 32,102,108,111, 97, +116, 32,105,110,112,114, 41, 10,123, 10, 9,105,110,112,114, 32, 61, 32,100,111,116, 40,108,118, 44, 32,108, 97,109,112,118,101, + 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,108, 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95,115,112,111,116, + 40,102,108,111, 97,116, 32,115,112,111,116,115,105, 44, 32,102,108,111, 97,116, 32,115,112,111,116, 98,108, 44, 32,102,108,111, + 97,116, 32,105,110,112,114, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97, +116, 32,111,117,116,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,116, 32, 61, 32,115,112,111,116,115, +105, 59, 10, 10, 9,105,102, 40,105,110,112,114, 32, 60, 61, 32,116, 41, 32,123, 10, 9, 9,111,117,116,118,105,115,105,102, 97, + 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,116, 32, 61, 32,105,110,112,114, 32, 45, + 32,116, 59, 10, 10, 9, 9, 47, 42, 32,115,111,102,116, 32, 97,114,101, 97, 32, 42, 47, 10, 9, 9,105,102, 40,115,112,111,116, + 98,108, 32, 33, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,105,110,112,114, 32, 42, 61, 32,115,109,111,111,116,104,115,116,101,112, + 40, 48, 46, 48, 44, 32, 49, 46, 48, 44, 32,116, 47,115,112,111,116, 98,108, 41, 59, 10, 10, 9, 9,111,117,116,118,105,115,105, +102, 97, 99, 32, 61, 32,118,105,115,105,102, 97, 99, 42,105,110,112,114, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,108, + 97,109,112, 95,118,105,115,105, 98,105,108,105,116,121, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,118,105,115,105,102, + 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,105,115,105,102, 97, 99, 41, 10,123, 10, 9,111,117,116, +118,105,115,105,102, 97, 99, 32, 61, 32, 40,118,105,115,105,102, 97, 99, 32, 60, 32, 48, 46, 48, 48, 49, 41, 63, 32, 48, 46, 48, + 58, 32,118,105,115,105,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,118,105,101,119, 40,118,101, + 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,105,101,119, 41, 10,123, 10, 9, 47, 42, 32,104, 97,110,100, +108,101, 32,112,101,114,115,112,101, 99,116,105,118,101, 47,111,114,116,104,111,103,114, 97,112,104,105, 99, 32, 42, 47, 10, 9, +118,105,101,119, 32, 61, 32, 40,103,108, 95, 80,114,111,106,101, 99,116,105,111,110, 77, 97,116,114,105,120, 91, 51, 93, 91, 51, + 93, 32, 61, 61, 32, 48, 46, 48, 41, 63, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 41, 58, 32,118,101, 99, 51, 40, 48, + 46, 48, 44, 32, 48, 46, 48, 44, 32, 45, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,116, 97, +110,103,101,110,116, 95,118, 40,118,101, 99, 51, 32,108,118, 44, 32,118,101, 99, 51, 32,116, 97,110,103, 44, 32,111,117,116, 32, +118,101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,101, 99, 51, 32, 99, 32, 61, 32, 99,114,111,115,115, 40,108,118, 44, 32,116, + 97,110,103, 41, 59, 10, 9,118,101, 99, 51, 32,118,110,111,114, 32, 61, 32, 99,114,111,115,115, 40, 99, 44, 32,116, 97,110,103, + 41, 59, 10, 10, 9,118,110, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,118,110,111,114, 41, 59, 10,125, 10, 10,118, +111,105,100, 32,115,104, 97,100,101, 95,105,110,112, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108,118, 44, 32, +111,117,116, 32,102,108,111, 97,116, 32,105,110,112, 41, 10,123, 10, 9,105,110,112, 32, 61, 32,100,111,116, 40,118,110, 44, 32, +108,118, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,115, 95,110,111, 95,100,105,102,102,117,115,101, + 40,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118, +111,105,100, 32,115,104, 97,100,101, 95,105,115, 95,104,101,109,105, 40,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, + 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, 61, 32, 48, 46, 53, 42,105,110,112, 32, 43, 32, 48, 46, 53, + 59, 10,125, 10, 10,102,108,111, 97,116, 32, 97,114,101, 97, 95,108, 97,109,112, 95,101,110,101,114,103,121, 40,109, 97,116, 52, + 32, 97,114,101, 97, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,118,110, 41, 10,123, 10, 9,118,101, 99, 51, + 32,118,101, 99, 91, 52, 93, 44, 32, 99, 91, 52, 93, 59, 10, 9,102,108,111, 97,116, 32,114, 97,100, 91, 52, 93, 44, 32,102, 97, + 99, 59, 10, 9, 10, 9,118,101, 99, 91, 48, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114, +101, 97, 91, 48, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, 49, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, + 99,111, 32, 45, 32, 97,114,101, 97, 91, 49, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, 50, 93, 32, 61, 32,110,111,114, +109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 50, 93, 46,120,121,122, 41, 59, 10, 9,118,101, 99, 91, 51, + 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 32, 45, 32, 97,114,101, 97, 91, 51, 93, 46,120,121,122, 41, 59, + 10, 10, 9, 99, 91, 48, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 48, 93, + 44, 32,118,101, 99, 91, 49, 93, 41, 41, 59, 10, 9, 99, 91, 49, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114, +111,115,115, 40,118,101, 99, 91, 49, 93, 44, 32,118,101, 99, 91, 50, 93, 41, 41, 59, 10, 9, 99, 91, 50, 93, 32, 61, 32,110,111, +114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 50, 93, 44, 32,118,101, 99, 91, 51, 93, 41, 41, 59, 10, + 9, 99, 91, 51, 93, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,114,111,115,115, 40,118,101, 99, 91, 51, 93, 44, 32, +118,101, 99, 91, 48, 93, 41, 41, 59, 10, 10, 9,114, 97,100, 91, 48, 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, + 99, 91, 48, 93, 44, 32,118,101, 99, 91, 49, 93, 41, 41, 59, 10, 9,114, 97,100, 91, 49, 93, 32, 61, 32, 97, 99,111,115, 40,100, +111,116, 40,118,101, 99, 91, 49, 93, 44, 32,118,101, 99, 91, 50, 93, 41, 41, 59, 10, 9,114, 97,100, 91, 50, 93, 32, 61, 32, 97, + 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 50, 93, 44, 32,118,101, 99, 91, 51, 93, 41, 41, 59, 10, 9,114, 97,100, 91, 51, + 93, 32, 61, 32, 97, 99,111,115, 40,100,111,116, 40,118,101, 99, 91, 51, 93, 44, 32,118,101, 99, 91, 48, 93, 41, 41, 59, 10, 10, + 9,102, 97, 99, 61, 32, 32,114, 97,100, 91, 48, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 48, 93, 41, 59, 10, 9,102, 97, + 99, 43, 61, 32,114, 97,100, 91, 49, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 49, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, + 32,114, 97,100, 91, 50, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 50, 93, 41, 59, 10, 9,102, 97, 99, 43, 61, 32,114, 97, +100, 91, 51, 93, 42,100,111,116, 40,118,110, 44, 32, 99, 91, 51, 93, 41, 59, 10, 10, 9,114,101,116,117,114,110, 32,109, 97,120, + 40,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,105,110,112, 95, 97,114, +101, 97, 40,118,101, 99, 51, 32,112,111,115,105,116,105,111,110, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99,111, 44, 32,118, +101, 99, 51, 32,108, 97,109,112,118,101, 99, 44, 32,118,101, 99, 51, 32,118,110, 44, 32,109, 97,116, 52, 32, 97,114,101, 97, 44, + 32,102,108,111, 97,116, 32, 97,114,101, 97,115,105,122,101, 44, 32,102,108,111, 97,116, 32,107, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,105,110,112, 41, 10,123, 10, 9,118,101, 99, 51, 32, 99,111, 32, 61, 32,112,111,115,105,116,105,111,110, 59, 10, + 9,118,101, 99, 51, 32,118,101, 99, 32, 61, 32, 99,111, 32, 45, 32,108, 97,109,112, 99,111, 59, 10, 10, 9,105,102, 40,100,111, +116, 40,118,101, 99, 44, 32,108, 97,109,112,118,101, 99, 41, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,110,112, 32, 61, + 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,105,110,116,101,110,115, 32, + 61, 32, 97,114,101, 97, 95,108, 97,109,112, 95,101,110,101,114,103,121, 40, 97,114,101, 97, 44, 32, 99,111, 44, 32,118,110, 41, + 59, 10, 10, 9, 9,105,110,112, 32, 61, 32,112,111,119, 40,105,110,116,101,110,115, 42, 97,114,101, 97,115,105,122,101, 44, 32, +107, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115,101, 95,111,114,101, +110, 95,110, 97,121,101,114, 40,102,108,111, 97,116, 32,110,108, 44, 32,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, + 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104, 44, 32,111,117,116, 32,102,108,111, 97,116, + 32,105,115, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 43, 32,108, + 41, 59, 10, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,104, 41, 44, 32, 48, 46, + 48, 41, 59, 10, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, + 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,114,101, 97,108,110,108, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, + 10, 9,105,102, 40,114,101, 97,108,110,108, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, 59, + 10, 9,125, 10, 9,101,108,115,101, 32,105,102, 40,110,108, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, + 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,118,104, 32, 61, 32,109, 97,120, + 40,100,111,116, 40,118, 44, 32,104, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9,102,108,111, 97,116, 32, 76,105,116, 95, 65, 32, + 61, 32, 97, 99,111,115, 40,114,101, 97,108,110,108, 41, 59, 10, 9, 9,102,108,111, 97,116, 32, 86,105,101,119, 95, 65, 32, 61, + 32, 97, 99,111,115, 40,110,118, 41, 59, 10, 10, 9, 9,118,101, 99, 51, 32, 76,105,116, 95, 66, 32, 61, 32,110,111,114,109, 97, +108,105,122,101, 40,108, 32, 45, 32,114,101, 97,108,110,108, 42,110, 41, 59, 10, 9, 9,118,101, 99, 51, 32, 86,105,101,119, 95, + 66, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 45, 32,110,118, 42,110, 41, 59, 10, 10, 9, 9,102,108,111, 97, +116, 32,116, 32, 61, 32,109, 97,120, 40,100,111,116, 40, 76,105,116, 95, 66, 44, 32, 86,105,101,119, 95, 66, 41, 44, 32, 48, 46, + 48, 41, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 97, 44, 32, 98, 59, 10, 10, 9, 9,105,102, 40, 76,105,116, 95, 65, 32, 62, + 32, 86,105,101,119, 95, 65, 41, 32,123, 10, 9, 9, 9, 97, 32, 61, 32, 76,105,116, 95, 65, 59, 10, 9, 9, 9, 98, 32, 61, 32, + 86,105,101,119, 95, 65, 59, 10, 9, 9,125, 10, 9, 9,101,108,115,101, 32,123, 10, 9, 9, 9, 97, 32, 61, 32, 86,105,101,119, + 95, 65, 59, 10, 9, 9, 9, 98, 32, 61, 32, 76,105,116, 95, 65, 59, 10, 9, 9,125, 10, 10, 9, 9,102,108,111, 97,116, 32, 65, + 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 48, 46, 53, 42, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 47, 40, 40,114, +111,117,103,104, 42,114,111,117,103,104, 41, 32, 43, 32, 48, 46, 51, 51, 41, 41, 41, 59, 10, 9, 9,102,108,111, 97,116, 32, 66, + 32, 61, 32, 48, 46, 52, 53, 42, 40, 40,114,111,117,103,104, 42,114,111,117,103,104, 41, 47, 40, 40,114,111,117,103,104, 42,114, +111,117,103,104, 41, 32, 43, 32, 48, 46, 48, 57, 41, 41, 59, 10, 10, 9, 9, 98, 32, 42, 61, 32, 48, 46, 57, 53, 59, 10, 9, 9, +105,115, 32, 61, 32,110,108, 42, 40, 65, 32, 43, 32, 40, 66, 32, 42, 32,116, 32, 42, 32,115,105,110, 40, 97, 41, 32, 42, 32,116, + 97,110, 40, 98, 41, 41, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115, +101, 95,116,111,111,110, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102, +108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,115,109,111,111,116,104, 44, 32,111,117,116, 32,102,108, +111, 97,116, 32,105,115, 41, 10,123, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32,100,111,116, 40,110, 44, 32,108, + 41, 59, 10, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,114,115,108,116, 41, 59, 10, 10, 9,105,102, + 40, 97,110,103, 32, 60, 32,115,105,122,101, 41, 32,105,115, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, + 97,110,103, 32, 62, 32, 40,115,105,122,101, 32, 43, 32,116,115,109,111,111,116,104, 41, 32,124,124, 32,116,115,109,111,111,116, +104, 32, 61, 61, 32, 48, 46, 48, 41, 32,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,115, 32, 61, 32, 49, + 46, 48, 32, 45, 32, 40, 40, 97,110,103, 32, 45, 32,115,105,122,101, 41, 47,116,115,109,111,111,116,104, 41, 59, 10,125, 10, 10, +118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115,101, 95,109,105,110,110, 97,101,114,116, 40,102,108,111, 97, +116, 32,110,108, 44, 32,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,100, 97,114,107, +110,101,115,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,102, 40,110,108, 32, 60, 61, 32, + 48, 46, 48, 41, 32,123, 10, 9, 9,105,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9, +102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, 59, 10, + 10, 9, 9,105,102, 40,100, 97,114,107,110,101,115,115, 32, 60, 61, 32, 49, 46, 48, 41, 10, 9, 9, 9,105,115, 32, 61, 32,110, +108, 42,112,111,119, 40,109, 97,120, 40,110,118, 42,110,108, 44, 32, 48, 46, 49, 41, 44, 32,100, 97,114,107,110,101,115,115, 32, + 45, 32, 49, 46, 48, 41, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,105,115, 32, 61, 32,110,108, 42,112,111,119, 40, 49, 46, + 48, 48, 48, 49, 32, 45, 32,110,118, 44, 32,100, 97,114,107,110,101,115,115, 32, 45, 32, 49, 46, 48, 41, 59, 10, 9,125, 10,125, + 10, 10,102,108,111, 97,116, 32,102,114,101,115,110,101,108, 95,102, 97, 99, 40,118,101, 99, 51, 32,118,105,101,119, 44, 32,118, +101, 99, 51, 32,118,110, 44, 32,102,108,111, 97,116, 32,103,114, 97,100, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, + 10, 9,102,108,111, 97,116, 32,116, 49, 44, 32,116, 50, 59, 10, 9,102,108,111, 97,116, 32,102,102, 97, 99, 59, 10, 10, 9,105, +102, 40,102, 97, 99, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,102,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10, 9,125, 10, 9, +101,108,115,101, 32,123, 10, 9, 9,116, 49, 61, 32,100,111,116, 40,118,105,101,119, 44, 32,118,110, 41, 59, 10, 9, 9,105,102, + 40,116, 49, 62, 48, 46, 48, 41, 32, 32,116, 50, 61, 32, 49, 46, 48, 43,116, 49, 59, 10, 9, 9,101,108,115,101, 32,116, 50, 61, + 32, 49, 46, 48, 45,116, 49, 59, 10, 10, 9, 9,116, 50, 61, 32,103,114, 97,100, 32, 43, 32, 40, 49, 46, 48, 45,103,114, 97,100, + 41, 42,112,111,119, 40,116, 50, 44, 32,102, 97, 99, 41, 59, 10, 10, 9, 9,105,102, 40,116, 50, 60, 48, 46, 48, 41, 32,102,102, + 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40,116, 50, 62, 49, 46, 48, 41, 32,102,102, 97, 99, + 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,102,102, 97, 99, 32, 61, 32,116, 50, 59, 10, 9,125, 10, 10, 9,114, +101,116,117,114,110, 32,102,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,100,105,102,102,117,115, +101, 95,102,114,101,115,110,101,108, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,118,101, 99, 51, + 32,118,105,101,119, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 95,105, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111, +117,116, 32,102,108,111, 97,116, 32,105,115, 41, 10,123, 10, 9,105,115, 32, 61, 32,102,114,101,115,110,101,108, 95,102, 97, 99, + 40,108,118, 44, 32,118,110, 44, 32,102, 97, 99, 95,105, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, + 97,100,101, 95, 99,117, 98,105, 99, 40,102,108,111, 97,116, 32,105,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117, +116,105,115, 41, 10,123, 10, 9,105,102, 40,105,115, 62, 48, 46, 48, 32, 38, 38, 32,105,115, 60, 49, 46, 48, 41, 10, 9, 9,111, +117,116,105,115, 61, 32,115,109,111,111,116,104,115,116,101,112, 40, 48, 46, 48, 44, 32, 49, 46, 48, 44, 32,105,115, 41, 59, 10, + 9,101,108,115,101, 10, 9, 9,111,117,116,105,115, 61, 32,105,115, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, + 95,118,105,115,105,102, 97, 99, 40,102,108,111, 97,116, 32,105, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, + 32,102,108,111, 97,116, 32,114,101,102,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,105, 41, 10,123, 10, 9, + 47, 42,105,102, 40,105, 32, 62, 32, 48, 46, 48, 41, 42, 47, 10, 9, 9,111,117,116,105, 32, 61, 32,109, 97,120, 40,105, 42,118, +105,115,105,102, 97, 99, 42,114,101,102,108, 44, 32, 48, 46, 48, 41, 59, 10, 9, 47, 42,101,108,115,101, 10, 9, 9,111,117,116, +105, 32, 61, 32,105, 59, 42, 47, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,116, 97,110,103,101,110,116, 95,118, + 95,115,112,101, 99, 40,118,101, 99, 51, 32,116, 97,110,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,110, 41, 10,123, 10, + 9,118,110, 32, 61, 32,116, 97,110,103, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 95,116,111, + 95,100,105,102,102,117,115,101, 40,102,108,111, 97,116, 32,105, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99,111,108, 44, 32, +118,101, 99, 51, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,105,102, + 40,105, 32, 62, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,105, 42,108, 97,109,112, 99,111,108, 42, 99, +111,108, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48, + 46, 48, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,104,101,109,105, 95,115,112,101, + 99, 40,118,101, 99, 51, 32,118,110, 44, 32,118,101, 99, 51, 32,108,118, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,102, +108,111, 97,116, 32,115,112,101, 99, 44, 32,102,108,111, 97,116, 32,104, 97,114,100, 44, 32,102,108,111, 97,116, 32,118,105,115, +105,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,116, 41, 10,123, 10, 9,108,118, 32, 43, 61, 32,118,105,101,119, + 59, 10, 9,108,118, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108,118, 41, 59, 10, 10, 9,116, 32, 61, 32,100,111,116, + 40,118,110, 44, 32,108,118, 41, 59, 10, 9,116, 32, 61, 32, 48, 46, 53, 42,116, 32, 43, 32, 48, 46, 53, 59, 10, 10, 9,116, 32, + 61, 32,118,105,115,105,102, 97, 99, 42,115,112,101, 99, 42,112,111,119, 40,116, 44, 32,104, 97,114,100, 41, 59, 10,125, 10, 10, +118,111,105,100, 32,115,104, 97,100,101, 95,112,104,111,110,103, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,104, 97,114,100, 44, 32,111,117,116, 32,102,108, 111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105, -122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,100,111,116, 40,110, 44, 32,104, 41, - 59, 10, 10, 9,105,102, 40,110,104, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, - 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40, -100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9,102,108,111, 97,116, 32,105, 32, 61, 32,112,111,119, - 40,110,104, 44, 32,104, 97,114,100, 41, 59, 10, 10, 9, 9,105, 32, 61, 32,105, 47, 40, 48, 46, 49, 43,110,118, 41, 59, 10, 9, - 9,115,112,101, 99,102, 97, 99, 32, 61, 32,105, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 98, -108,105,110,110, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, - 44, 32,102,108,111, 97,116, 32,114,101,102,114, 97, 99, 44, 32,102,108,111, 97,116, 32,115,112,101, 99, 95,112,111,119,101,114, - 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,105,102, 40,114,101,102,114, 97, - 99, 32, 60, 32, 49, 46, 48, 41, 32,123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9, -101,108,115,101, 32,105,102, 40,115,112,101, 99, 95,112,111,119,101,114, 32, 61, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,115, -112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, 40,115,112, -101, 99, 95,112,111,119,101,114, 60, 49, 48, 48, 46, 48, 41, 10, 9, 9, 9,115,112,101, 99, 95,112,111,119,101,114, 61, 32,115, -113,114,116, 40, 49, 46, 48, 47,115,112,101, 99, 95,112,111,119,101,114, 41, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,115, -112,101, 99, 95,112,111,119,101,114, 61, 32, 49, 48, 46, 48, 47,115,112,101, 99, 95,112,111,119,101,114, 59, 10, 10, 9, 9,118, -101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9, 9,102,108,111, 97, -116, 32,110,104, 32, 61, 32,100,111,116, 40,110, 44, 32,104, 41, 59, 10, 9, 9,105,102, 40,110,104, 32, 60, 32, 48, 46, 48, 41, - 32,123, 10, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,125, 10, 9, 9,101,108,115,101, 32, -123, 10, 9, 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, - 46, 48, 49, 41, 59, 10, 9, 9, 9,102,108,111, 97,116, 32,110,108, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, 9, - 9, 9,105,102, 40,110,108, 32, 60, 61, 32, 48, 46, 48, 49, 41, 32,123, 10, 9, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, - 32, 48, 46, 48, 59, 10, 9, 9, 9,125, 10, 9, 9, 9,101,108,115,101, 32,123, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,118, -104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,118, 44, 32,104, 41, 44, 32, 48, 46, 48, 49, 41, 59, 10, 10, 9, 9, 9, 9,102, -108,111, 97,116, 32, 97, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 98, 32, 61, 32, 40, 50, 46, 48, - 42,110,104, 42,110,118, 41, 47,118,104, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 99, 32, 61, 32, 40, 50, 46, 48, 42,110, -104, 42,110,108, 41, 47,118,104, 59, 10, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,103, 32, 61, 32, 48, 46, 48, 59, 10, 10, 9, - 9, 9, 9,105,102, 40, 97, 32, 60, 32, 98, 32, 38, 38, 32, 97, 32, 60, 32, 99, 41, 32,103, 32, 61, 32, 97, 59, 10, 9, 9, 9, - 9,101,108,115,101, 32,105,102, 40, 98, 32, 60, 32, 97, 32, 38, 38, 32, 98, 32, 60, 32, 99, 41, 32,103, 32, 61, 32, 98, 59, 10, - 9, 9, 9, 9,101,108,115,101, 32,105,102, 40, 99, 32, 60, 32, 97, 32, 38, 38, 32, 99, 32, 60, 32, 98, 41, 32,103, 32, 61, 32, - 99, 59, 10, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,112, 32, 61, 32,115,113,114,116, 40, 40, 40,114,101,102,114, 97, 99, 32, - 42, 32,114,101,102,114, 97, 99, 41, 43, 40,118,104, 42,118,104, 41, 45, 49, 46, 48, 41, 41, 59, 10, 9, 9, 9, 9,102,108,111, - 97,116, 32,102, 32, 61, 32, 40, 40, 40,112, 45,118,104, 41, 42, 40,112, 45,118,104, 41, 41, 47, 40, 40,112, 43,118,104, 41, 42, - 40,112, 43,118,104, 41, 41, 41, 42, 40, 49, 46, 48, 43, 40, 40, 40, 40,118,104, 42, 40,112, 43,118,104, 41, 41, 45, 49, 46, 48, - 41, 42, 40, 40,118,104, 42, 40,112, 43,118,104, 41, 41, 45, 49, 46, 48, 41, 41, 47, 40, 40, 40,118,104, 42, 40,112, 45,118,104, - 41, 41, 43, 49, 46, 48, 41, 42, 40, 40,118,104, 42, 40,112, 45,118,104, 41, 41, 43, 49, 46, 48, 41, 41, 41, 41, 59, 10, 9, 9, - 9, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,110,104, 41, 59, 10, 10, 9, 9, 9, 9,115,112,101, - 99,102, 97, 99, 32, 61, 32,109, 97,120, 40,102, 42,103, 42,101,120,112, 95, 98,108,101,110,100,101,114, 40, 40, 45, 40, 97,110, -103, 42, 97,110,103, 41, 47, 40, 50, 46, 48, 42,115,112,101, 99, 95,112,111,119,101,114, 42,115,112,101, 99, 95,112,111,119,101, -114, 41, 41, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9, 9,125, 10, 9, 9,125, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32, -115,104, 97,100,101, 95,119, 97,114,100,105,115,111, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32, -108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,114,109,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, -115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, - 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,104, 41, - 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, - 32,118, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102,108,111, 97,116, 32,110,108, 32, 61, 32,109, 97,120, 40,100,111,116, - 40,110, 44, 32,108, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,110,103,108,101, 32, 61, 32,116, - 97,110, 40, 97, 99,111,115, 40,110,104, 41, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,108,112,104, 97, 32, 61, 32,109, 97,120, - 40,114,109,115, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 10, 9,115,112,101, 99,102, 97, 99, 61, 32,110,108, 32, 42, 32, 40, 49, - 46, 48, 47, 40, 52, 46, 48, 42, 77, 95, 80, 73, 42, 97,108,112,104, 97, 42, 97,108,112,104, 97, 41, 41, 42, 40,101,120,112, 95, - 98,108,101,110,100,101,114, 40, 45, 40, 97,110,103,108,101, 42, 97,110,103,108,101, 41, 47, 40, 97,108,112,104, 97, 42, 97,108, -112,104, 97, 41, 41, 47, 40,115,113,114,116, 40,110,118, 42,110,108, 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, - 97,100,101, 95,116,111,111,110, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, - 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,115,109,111,111,116,104, 44, - 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32, -110,111,114,109, 97,108,105,122,101, 40,108, 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32, -100,111,116, 40,104, 44, 32,110, 41, 59, 10, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,114,115,108, -116, 41, 59, 10, 10, 9,105,102, 40, 97,110,103, 32, 60, 32,115,105,122,101, 41, 32,114,115,108,116, 32, 61, 32, 49, 46, 48, 59, - 10, 9,101,108,115,101, 32,105,102, 40, 97,110,103, 32, 62, 61, 32, 40,115,105,122,101, 32, 43, 32,116,115,109,111,111,116,104, - 41, 32,124,124, 32,116,115,109,111,111,116,104, 32, 61, 61, 32, 48, 46, 48, 41, 32,114,115,108,116, 32, 61, 32, 48, 46, 48, 59, - 10, 9,101,108,115,101, 32,114,115,108,116, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 40, 97,110,103, 32, 45, 32,115,105,122,101, - 41, 47,116,115,109,111,111,116,104, 41, 59, 10, 10, 9,115,112,101, 99,102, 97, 99, 32, 61, 32,114,115,108,116, 59, 10,125, 10, - 10,118,111,105,100, 32,115,104, 97,100,101, 95,115,112,101, 99, 95, 97,114,101, 97, 95,105,110,112, 40,102,108,111, 97,116, 32, -115,112,101, 99,102, 97, 99, 44, 32,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117, -116,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,111,117,116,115,112,101, 99,102, 97, 99, 32, 61, 32,115,112,101, 99,102, 97, - 99, 42,105,110,112, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,115,112,101, 99, 95,116, 40,102,108,111, 97, -116, 32,115,104, 97,100,102, 97, 99, 44, 32,102,108,111, 97,116, 32,115,112,101, 99, 44, 32,102,108,111, 97,116, 32,118,105,115, -105,102, 97, 99, 44, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,116, - 41, 10,123, 10, 9,116, 32, 61, 32,115,104, 97,100,102, 97, 99, 42,115,112,101, 99, 42,118,105,115,105,102, 97, 99, 42,115,112, -101, 99,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 95,115,112,101, 99, 40,102,108, -111, 97,116, 32,116, 44, 32,118,101, 99, 51, 32,108, 97,109,112, 99,111,108, 44, 32,118,101, 99, 51, 32,115,112,101, 99, 99,111, -108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, -116, 42,108, 97,109,112, 99,111,108, 42,115,112,101, 99, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, - 95, 97,100,100, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118, -101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 32, 43, 32, 99, -111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109, 97,100,100, 40,118,101, 99, 52, 32, 99,111,108, - 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, - 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32, 99,111,108, 49, 42, - 99,111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 95, 99,108, 97,109,112,101,100, 40, -118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111, -117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 32, 43, 32,109, 97,120, 40, 99,111, -108, 50, 44, 32,118,101, 99, 52, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 41, 59, 10,125, - 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109, 97,100,100, 95, 99,108, 97,109,112,101,100, 40,118,101, 99, 52, 32, 99, -111,108, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, - 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32,109, 97,120, - 40, 99,111,108, 49, 42, 99,111,108, 50, 44, 32,118,101, 99, 52, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, - 48, 46, 48, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109, 97,100,100,102, 40,118,101, 99, 52, 32, - 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,111,117,116, 32,118,101, 99, - 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32,102, 42, 99,111, -108, 49, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109,117,108, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, +122,101, 40,108, 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32,109, 97,120, 40,100,111,116, + 40,104, 44, 32,110, 41, 44, 32, 48, 46, 48, 41, 59, 10, 10, 9,115,112,101, 99,102, 97, 99, 32, 61, 32,112,111,119, 40,114,115, +108,116, 44, 32,104, 97,114,100, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 99,111,111,107,116,111,114, +114, 95,115,112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102, +108,111, 97,116, 32,104, 97,114,100, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, + 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9,102,108,111, + 97,116, 32,110,104, 32, 61, 32,100,111,116, 40,110, 44, 32,104, 41, 59, 10, 10, 9,105,102, 40,110,104, 32, 60, 32, 48, 46, 48, + 41, 32,123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, + 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 41, + 59, 10, 9, 9,102,108,111, 97,116, 32,105, 32, 61, 32,112,111,119, 40,110,104, 44, 32,104, 97,114,100, 41, 59, 10, 10, 9, 9, +105, 32, 61, 32,105, 47, 40, 48, 46, 49, 43,110,118, 41, 59, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32,105, 59, 10, 9, +125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 98,108,105,110,110, 95,115,112,101, 99, 40,118,101, 99, 51, 32, +110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,114,101,102,114, 97, 99, 44, + 32,102,108,111, 97,116, 32,115,112,101, 99, 95,112,111,119,101,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, + 99,102, 97, 99, 41, 10,123, 10, 9,105,102, 40,114,101,102,114, 97, 99, 32, 60, 32, 49, 46, 48, 41, 32,123, 10, 9, 9,115,112, +101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,105,102, 40,115,112,101, 99, 95,112,111, +119,101,114, 32, 61, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, +125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, 40,115,112,101, 99, 95,112,111,119,101,114, 60, 49, 48, 48, 46, 48, 41, + 10, 9, 9, 9,115,112,101, 99, 95,112,111,119,101,114, 61, 32,115,113,114,116, 40, 49, 46, 48, 47,115,112,101, 99, 95,112,111, +119,101,114, 41, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,115,112,101, 99, 95,112,111,119,101,114, 61, 32, 49, 48, 46, 48, + 47,115,112,101, 99, 95,112,111,119,101,114, 59, 10, 10, 9, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105, +122,101, 40,118, 32, 43, 32,108, 41, 59, 10, 9, 9,102,108,111, 97,116, 32,110,104, 32, 61, 32,100,111,116, 40,110, 44, 32,104, + 41, 59, 10, 9, 9,105,102, 40,110,104, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, + 32, 48, 46, 48, 59, 10, 9, 9,125, 10, 9, 9,101,108,115,101, 32,123, 10, 9, 9, 9,102,108,111, 97,116, 32,110,118, 32, 61, + 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 49, 41, 59, 10, 9, 9, 9,102,108,111, 97,116, 32, +110,108, 32, 61, 32,100,111,116, 40,110, 44, 32,108, 41, 59, 10, 9, 9, 9,105,102, 40,110,108, 32, 60, 61, 32, 48, 46, 48, 49, + 41, 32,123, 10, 9, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9, 9,125, 10, 9, 9, 9,101, +108,115,101, 32,123, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,118,104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,118, 44, 32, +104, 41, 44, 32, 48, 46, 48, 49, 41, 59, 10, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 97, 32, 61, 32, 49, 46, 48, 59, 10, 9, + 9, 9, 9,102,108,111, 97,116, 32, 98, 32, 61, 32, 40, 50, 46, 48, 42,110,104, 42,110,118, 41, 47,118,104, 59, 10, 9, 9, 9, + 9,102,108,111, 97,116, 32, 99, 32, 61, 32, 40, 50, 46, 48, 42,110,104, 42,110,108, 41, 47,118,104, 59, 10, 10, 9, 9, 9, 9, +102,108,111, 97,116, 32,103, 32, 61, 32, 48, 46, 48, 59, 10, 10, 9, 9, 9, 9,105,102, 40, 97, 32, 60, 32, 98, 32, 38, 38, 32, + 97, 32, 60, 32, 99, 41, 32,103, 32, 61, 32, 97, 59, 10, 9, 9, 9, 9,101,108,115,101, 32,105,102, 40, 98, 32, 60, 32, 97, 32, + 38, 38, 32, 98, 32, 60, 32, 99, 41, 32,103, 32, 61, 32, 98, 59, 10, 9, 9, 9, 9,101,108,115,101, 32,105,102, 40, 99, 32, 60, + 32, 97, 32, 38, 38, 32, 99, 32, 60, 32, 98, 41, 32,103, 32, 61, 32, 99, 59, 10, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,112, + 32, 61, 32,115,113,114,116, 40, 40, 40,114,101,102,114, 97, 99, 32, 42, 32,114,101,102,114, 97, 99, 41, 43, 40,118,104, 42,118, +104, 41, 45, 49, 46, 48, 41, 41, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32,102, 32, 61, 32, 40, 40, 40,112, 45,118,104, 41, + 42, 40,112, 45,118,104, 41, 41, 47, 40, 40,112, 43,118,104, 41, 42, 40,112, 43,118,104, 41, 41, 41, 42, 40, 49, 46, 48, 43, 40, + 40, 40, 40,118,104, 42, 40,112, 43,118,104, 41, 41, 45, 49, 46, 48, 41, 42, 40, 40,118,104, 42, 40,112, 43,118,104, 41, 41, 45, + 49, 46, 48, 41, 41, 47, 40, 40, 40,118,104, 42, 40,112, 45,118,104, 41, 41, 43, 49, 46, 48, 41, 42, 40, 40,118,104, 42, 40,112, + 45,118,104, 41, 41, 43, 49, 46, 48, 41, 41, 41, 41, 59, 10, 9, 9, 9, 9,102,108,111, 97,116, 32, 97,110,103, 32, 61, 32, 97, + 99,111,115, 40,110,104, 41, 59, 10, 10, 9, 9, 9, 9,115,112,101, 99,102, 97, 99, 32, 61, 32,109, 97,120, 40,102, 42,103, 42, +101,120,112, 95, 98,108,101,110,100,101,114, 40, 40, 45, 40, 97,110,103, 42, 97,110,103, 41, 47, 40, 50, 46, 48, 42,115,112,101, + 99, 95,112,111,119,101,114, 42,115,112,101, 99, 95,112,111,119,101,114, 41, 41, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9, 9, +125, 10, 9, 9,125, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,119, 97,114,100,105,115,111, 95,115, +112,101, 99, 40,118,101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97, +116, 32,114,109,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,118,101, 99, + 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, 32, 43, 32,118, 41, 59, 10, 9,102,108,111, 97,116, 32,110, +104, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,104, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102,108,111, 97, +116, 32,110,118, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,118, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 9,102, +108,111, 97,116, 32,110,108, 32, 61, 32,109, 97,120, 40,100,111,116, 40,110, 44, 32,108, 41, 44, 32, 48, 46, 48, 48, 49, 41, 59, + 10, 9,102,108,111, 97,116, 32, 97,110,103,108,101, 32, 61, 32,116, 97,110, 40, 97, 99,111,115, 40,110,104, 41, 41, 59, 10, 9, +102,108,111, 97,116, 32, 97,108,112,104, 97, 32, 61, 32,109, 97,120, 40,114,109,115, 44, 32, 48, 46, 48, 48, 49, 41, 59, 10, 10, + 9,115,112,101, 99,102, 97, 99, 61, 32,110,108, 32, 42, 32, 40, 49, 46, 48, 47, 40, 52, 46, 48, 42, 77, 95, 80, 73, 42, 97,108, +112,104, 97, 42, 97,108,112,104, 97, 41, 41, 42, 40,101,120,112, 95, 98,108,101,110,100,101,114, 40, 45, 40, 97,110,103,108,101, + 42, 97,110,103,108,101, 41, 47, 40, 97,108,112,104, 97, 42, 97,108,112,104, 97, 41, 41, 47, 40,115,113,114,116, 40,110,118, 42, +110,108, 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,116,111,111,110, 95,115,112,101, 99, 40,118, +101, 99, 51, 32,110, 44, 32,118,101, 99, 51, 32,108, 44, 32,118,101, 99, 51, 32,118, 44, 32,102,108,111, 97,116, 32,115,105,122, +101, 44, 32,102,108,111, 97,116, 32,116,115,109,111,111,116,104, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,115,112,101, 99, +102, 97, 99, 41, 10,123, 10, 9,118,101, 99, 51, 32,104, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108, 32, 43, 32,118, + 41, 59, 10, 9,102,108,111, 97,116, 32,114,115,108,116, 32, 61, 32,100,111,116, 40,104, 44, 32,110, 41, 59, 10, 9,102,108,111, + 97,116, 32, 97,110,103, 32, 61, 32, 97, 99,111,115, 40,114,115,108,116, 41, 59, 10, 10, 9,105,102, 40, 97,110,103, 32, 60, 32, +115,105,122,101, 41, 32,114,115,108,116, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 97,110,103, 32, 62, + 61, 32, 40,115,105,122,101, 32, 43, 32,116,115,109,111,111,116,104, 41, 32,124,124, 32,116,115,109,111,111,116,104, 32, 61, 61, + 32, 48, 46, 48, 41, 32,114,115,108,116, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,114,115,108,116, 32, 61, 32, 49, + 46, 48, 32, 45, 32, 40, 40, 97,110,103, 32, 45, 32,115,105,122,101, 41, 47,116,115,109,111,111,116,104, 41, 59, 10, 10, 9,115, +112,101, 99,102, 97, 99, 32, 61, 32,114,115,108,116, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,115,112,101, + 99, 95, 97,114,101, 97, 95,105,110,112, 40,102,108,111, 97,116, 32,115,112,101, 99,102, 97, 99, 44, 32,102,108,111, 97,116, 32, +105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,112,101, 99,102, 97, 99, 41, 10,123, 10, 9,111,117, +116,115,112,101, 99,102, 97, 99, 32, 61, 32,115,112,101, 99,102, 97, 99, 42,105,110,112, 59, 10,125, 10, 10,118,111,105,100, 32, +115,104, 97,100,101, 95,115,112,101, 99, 95,116, 40,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,102,108,111, 97, +116, 32,115,112,101, 99, 44, 32,102,108,111, 97,116, 32,118,105,115,105,102, 97, 99, 44, 32,102,108,111, 97,116, 32,115,112,101, + 99,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,116, 41, 10,123, 10, 9,116, 32, 61, 32,115,104, 97,100,102, 97, + 99, 42,115,112,101, 99, 42,118,105,115,105,102, 97, 99, 42,115,112,101, 99,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32, +115,104, 97,100,101, 95, 97,100,100, 95,115,112,101, 99, 40,102,108,111, 97,116, 32,116, 44, 32,118,101, 99, 51, 32,108, 97,109, +112, 99,111,108, 44, 32,118,101, 99, 51, 32,115,112,101, 99, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, + 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,116, 42,108, 97,109,112, 99,111,108, 42,115,112,101, 99, 99, +111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,100,100, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9, -111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 42, 99,111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100, -101, 95,109,117,108, 95,118, 97,108,117,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, - 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111, -108, 42,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,111, 98, 99,111,108,111,114, 40,118,101, 99, - 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32,111, 98, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99, -111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 42,111, 98, 99, -111,108, 46,114,103, 98, 44, 32, 99,111,108, 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,114, 97,109,112, 95,114,103, 98, -116,111, 98,119, 40,118,101, 99, 51, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97, -108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,108,111,114, 46,114, 42, 48, 46, 51, 32, 43, 32, 99,111,108, -111,114, 46,103, 42, 48, 46, 53, 56, 32, 43, 32, 99,111,108,111,114, 46, 98, 42, 48, 46, 49, 50, 59, 10,125, 10, 10,118,111,105, -100, 32,115,104, 97,100,101, 95,111,110,108,121, 95,115,104, 97,100,111,119, 40,102,108,111, 97,116, 32,105, 44, 32,102,108,111, - 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,102,108,111, 97,116, 32,101,110,101,114,103,121, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,111,117,116,115,104, 97,100,102, 97, 99, 41, 10,123, 10, 9,111,117,116,115,104, 97,100,102, 97, 99, 32, 61, 32, -105, 42,101,110,101,114,103,121, 42, 40, 49, 46, 48, 32, 45, 32,115,104, 97,100,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105, -100, 32,115,104, 97,100,101, 95,111,110,108,121, 95,115,104, 97,100,111,119, 95,100,105,102,102,117,115,101, 40,102,108,111, 97, -116, 32,115,104, 97,100,102, 97, 99, 44, 32,118,101, 99, 51, 32,114,103, 98, 44, 32,118,101, 99, 52, 32,100,105,102,102, 44, 32, -111,117,116, 32,118,101, 99, 52, 32,111,117,116,100,105,102,102, 41, 10,123, 10, 9,111,117,116,100,105,102,102, 32, 61, 32,100, -105,102,102, 32, 45, 32,118,101, 99, 52, 40,114,103, 98, 42,115,104, 97,100,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, - 10,118,111,105,100, 32,115,104, 97,100,101, 95,111,110,108,121, 95,115,104, 97,100,111,119, 95,115,112,101, 99,117,108, 97,114, - 40,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,118,101, 99, 51, 32,115,112,101, 99,114,103, 98, 44, 32,118,101, - 99, 52, 32,115,112,101, 99, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,115,112,101, 99, 41, 10,123, 10, 9,111,117, -116,115,112,101, 99, 32, 61, 32,115,112,101, 99, 32, 45, 32,118,101, 99, 52, 40,115,112,101, 99,114,103, 98, 42,115,104, 97,100, -102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,115,116, 95,115,104, 97,100,111,119, 98,117, -102, 40,118,101, 99, 51, 32,114, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 83,104, 97,100,111,119, 32,115,104, 97,100, -111,119,109, 97,112, 44, 32,109, 97,116, 52, 32,115,104, 97,100,111,119,112,101,114,115,109, 97,116, 44, 32,102,108,111, 97,116, - 32,115,104, 97,100,111,119, 98,105, 97,115, 44, 32,102,108,111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97, -116, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,105,102, 40,105,110,112, 32, 60, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9, -114,101,115,117,108,116, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,118,101, 99, 52, 32, - 99,111, 32, 61, 32,115,104, 97,100,111,119,112,101,114,115,109, 97,116, 42,118,101, 99, 52, 40,114, 99,111, 44, 32, 49, 46, 48, - 41, 59, 10, 10, 9, 9, 47, 47,102,108,111, 97,116, 32, 98,105, 97,115, 32, 61, 32, 40, 49, 46, 53, 32, 45, 32,105,110,112, 42, -105,110,112, 41, 42,115,104, 97,100,111,119, 98,105, 97,115, 59, 10, 9, 9, 99,111, 46,122, 32, 45, 61, 32,115,104, 97,100,111, -119, 98,105, 97,115, 42, 99,111, 46,119, 59, 10, 10, 9, 9,114,101,115,117,108,116, 32, 61, 32,115,104, 97,100,111,119, 50, 68, - 80,114,111,106, 40,115,104, 97,100,111,119,109, 97,112, 44, 32, 99,111, 41, 46,120, 59, 10, 9,125, 10,125, 10, 10,118,111,105, -100, 32,115,104, 97,100,101, 95,101,120,112,111,115,117,114,101, 95, 99,111,114,114,101, 99,116, 40,118,101, 99, 51, 32, 99,111, -108, 44, 32,102,108,111, 97,116, 32,108,105,110,102, 97, 99, 44, 32,102,108,111, 97,116, 32,108,111,103,102, 97, 99, 44, 32,111, -117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,108,105,110,102, - 97, 99, 42, 40, 49, 46, 48, 32, 45, 32,101,120,112, 40, 99,111,108, 42,108,111,103,102, 97, 99, 41, 41, 59, 10,125, 10, 10,118, -111,105,100, 32,115,104, 97,100,101, 95,109,105,115,116, 95,102, 97, 99,116,111,114, 40,118,101, 99, 51, 32, 99,111, 44, 32,102, -108,111, 97,116, 32,109,105,115,116,115,116, 97, 44, 32,102,108,111, 97,116, 32,109,105,115,116,100,105,115,116, 44, 32,102,108, -111, 97,116, 32,109,105,115,116,116,121,112,101, 44, 32,102,108,111, 97,116, 32,109,105,115,105, 44, 32,111,117,116, 32,102,108, -111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99, 44, 32,122, 99,111,114, 59, 10, - 10, 9,122, 99,111,114, 32, 61, 32, 40,103,108, 95, 80,114,111,106,101, 99,116,105,111,110, 77, 97,116,114,105,120, 91, 51, 93, - 91, 51, 93, 32, 61, 61, 32, 48, 46, 48, 41, 63, 32,108,101,110,103,116,104, 40, 99,111, 41, 58, 32, 45, 99,111, 91, 50, 93, 59, - 10, 9, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, 40,122, 99,111,114, 45,109,105,115,116,115,116, 97, 41, 47,109, -105,115,116,100,105,115,116, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,105,102, 40,109,105,115,116,116,121,112,101, - 32, 61, 61, 32, 48, 46, 48, 41, 32,102, 97, 99, 32, 42, 61, 32,102, 97, 99, 59, 10, 9,101,108,115,101, 32,105,102, 40,109,105, -115,116,116,121,112,101, 32, 61, 61, 32, 49, 46, 48, 41, 59, 10, 9,101,108,115,101, 32,102, 97, 99, 32, 61, 32,115,113,114,116, - 40,102, 97, 99, 41, 59, 10, 10, 9,111,117,116,102, 97, 99, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 45,102, 97, 99, - 41, 42, 40, 49, 46, 48, 45,109,105,115,105, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,119,111,114,108, -100, 95,109,105,120, 40,118,101, 99, 51, 32,104,111,114, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, - 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, - 99,111,108, 46, 97, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, - 40,109,105,120, 40,104,111,114, 44, 32, 99,111,108, 46,114,103, 98, 44, 32,102, 97, 99, 41, 44, 32, 99,111,108, 46, 97, 41, 59, - 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,108,112,104, 97, 95,111,112, 97,113,117,101, 40,118,101, 99, 52, - 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, - 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115, -104, 97,100,101, 95, 97,108,112,104, 97, 95,111, 98, 99,111,108,111,114, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, - 52, 32,111, 98, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, - 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 99,111,108, 46, 97, 42,111, 98, 99,111,108, 46, - 97, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 78, 69, 87, 32, 83, 72, 65, 68, 69, 82, 32, 85, - 84, 73, 76, 73, 84, 73, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,102,108,111, 97,116, 32, -102,114,101,115,110,101,108, 95,100,105,101,108,101, 99,116,114,105, 99, 40,118,101, 99, 51, 32, 73,110, 99,111,109,105,110,103, - 44, 32,118,101, 99, 51, 32, 78,111,114,109, 97,108, 44, 32,102,108,111, 97,116, 32,101,116, 97, 41, 10,123, 10, 32, 32, 32, 32, - 47, 42, 32, 99,111,109,112,117,116,101, 32,102,114,101,115,110,101,108, 32,114,101,102,108,101, 99,116, 97,110, 99,101, 32,119, -105,116,104,111,117,116, 32,101,120,112,108,105, 99,105,116,108,121, 32, 99,111,109,112,117,116,105,110,103, 10, 32, 32, 32, 32, - 32, 32, 32,116,104,101, 32,114,101,102,114, 97, 99,116,101,100, 32,100,105,114,101, 99,116,105,111,110, 32, 42, 47, 10, 32, 32, - 32, 32,102,108,111, 97,116, 32, 99, 32, 61, 32, 97, 98,115, 40,100,111,116, 40, 73,110, 99,111,109,105,110,103, 44, 32, 78,111, -114,109, 97,108, 41, 41, 59, 10, 32, 32, 32, 32,102,108,111, 97,116, 32,103, 32, 61, 32,101,116, 97, 32, 42, 32,101,116, 97, 32, - 45, 32, 49, 46, 48, 32, 43, 32, 99, 32, 42, 32, 99, 59, 10, 32, 32, 32, 32,102,108,111, 97,116, 32,114,101,115,117,108,116, 59, - 10, 10, 32, 32, 32, 32,105,102, 40,103, 32, 62, 32, 48, 46, 48, 41, 32,123, 10, 32, 32, 32, 32, 32, 32, 32, 32,103, 32, 61, 32, -115,113,114,116, 40,103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,108,111, 97,116, 32, 65, 32, 61, 40,103, 32, 45, 32, 99, - 41, 47, 40,103, 32, 43, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,108,111, 97,116, 32, 66, 32, 61, 40, 99, 32, 42, - 40,103, 32, 43, 32, 99, 41, 45, 32, 49, 46, 48, 41, 47, 40, 99, 32, 42, 40,103, 32, 45, 32, 99, 41, 43, 32, 49, 46, 48, 41, 59, - 10, 32, 32, 32, 32, 32, 32, 32, 32,114,101,115,117,108,116, 32, 61, 32, 48, 46, 53, 32, 42, 32, 65, 32, 42, 32, 65, 32, 42, 40, - 49, 46, 48, 32, 43, 32, 66, 32, 42, 32, 66, 41, 59, 10, 32, 32, 32, 32,125, 10, 32, 32, 32, 32,101,108,115,101, 10, 32, 32, 32, - 32, 32, 32, 32, 32,114,101,115,117,108,116, 32, 61, 32, 49, 46, 48, 59, 32, 32, 47, 42, 32, 84, 73, 82, 32, 40,110,111, 32,114, -101,102,114, 97, 99,116,101,100, 32, 99,111,109,112,111,110,101,110,116, 41, 32, 42, 47, 10, 10, 32, 32, 32, 32,114,101,116,117, -114,110, 32,114,101,115,117,108,116, 59, 10,125, 10, 10,102,108,111, 97,116, 32,104,121,112,111,116, 40,102,108,111, 97,116, 32, -120, 44, 32,102,108,111, 97,116, 32,121, 41, 10,123, 10, 9,114,101,116,117,114,110, 32,115,113,114,116, 40,120, 42,120, 32, 43, - 32,121, 42,121, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 78, 69, 87, 32, 83, 72, 65, 68, 69, - 82, 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10, 35,100,101,102,105,110, -101, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 32, 51, 10, 10, 47, 42, 32, 98,115,100,102,115, 32, 42, 47, 10, 10,118,111,105, -100, 32,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32, -118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9, 47, 42, 32, 97, -109, 98,105,101,110,116, 32,108,105,103,104,116, 32, 42, 47, 10, 9,118,101, 99, 51, 32, 76, 32, 61, 32,118,101, 99, 51, 40, 48, - 46, 50, 41, 59, 10, 10, 9, 47, 42, 32,100,105,114,101, 99,116,105,111,110, 97,108, 32,108,105,103,104,116,115, 32, 42, 47, 10, - 9,102,111,114, 40,105,110,116, 32,105, 32, 61, 32, 48, 59, 32,105, 32, 60, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 59, 32, -105, 43, 43, 41, 32,123, 10, 9, 9,118,101, 99, 51, 32,108,105,103,104,116, 95,112,111,115,105,116,105,111,110, 32, 61, 32,103, -108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,112,111,115,105,116,105,111,110, 46,120,121,122, 59, 10, 9, - 9,118,101, 99, 51, 32,108,105,103,104,116, 95,100,105,102,102,117,115,101, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111, -117,114, 99,101, 91,105, 93, 46,100,105,102,102,117,115,101, 46,114,103, 98, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 98,115, -100,102, 32, 61, 32,109, 97,120, 40,100,111,116, 40, 78, 44, 32,108,105,103,104,116, 95,112,111,115,105,116,105,111,110, 41, 44, - 32, 48, 46, 48, 41, 59, 10, 9, 9, 76, 32, 43, 61, 32,108,105,103,104,116, 95,100,105,102,102,117,115,101, 42, 98,115,100,102, - 59, 10, 9,125, 10, 10, 9,114,101,115,117,108,116, 32, 61, 32,118,101, 99, 52, 40, 76, 42, 99,111,108,111,114, 46,114,103, 98, - 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,103,108,111,115,115,121, - 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 44, 32,118,101, - 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, - 10, 9,118,101, 99, 51, 32, 76, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10, 10, 9, 47, 42, 32,100,105,114,101, 99, +111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 32, 43, 32, 99,111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, + 97,100,101, 95,109, 97,100,100, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, + 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, + 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32, 99,111,108, 49, 42, 99,111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115, +104, 97,100,101, 95, 97,100,100, 95, 99,108, 97,109,112,101,100, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, + 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111, +108, 32, 61, 32, 99,111,108, 49, 32, 43, 32,109, 97,120, 40, 99,111,108, 50, 44, 32,118,101, 99, 52, 40, 48, 46, 48, 44, 32, 48, + 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109, 97, +100,100, 95, 99,108, 97,109,112,101,100, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32, +118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111, +117,116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32,109, 97,120, 40, 99,111,108, 49, 42, 99,111,108, 50, 44, 32,118,101, 99, + 52, 40, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32, +115,104, 97,100,101, 95,109, 97,100,100,102, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 44, 32,118, +101, 99, 52, 32, 99,111,108, 49, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117, +116, 99,111,108, 32, 61, 32, 99,111,108, 32, 43, 32,102, 42, 99,111,108, 49, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97, +100,101, 95,109,117,108, 40,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, + 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 42, 99, +111,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109,117,108, 95,118, 97,108,117,101, 40,102,108,111, + 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111, +108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 42,102, 97, 99, 59, 10,125, 10, 10,118,111,105,100, 32, +115,104, 97,100,101, 95,111, 98, 99,111,108,111,114, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32,111, 98, 99, +111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, + 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 42,111, 98, 99,111,108, 46,114,103, 98, 44, 32, 99,111,108, 46, 97, 41, 59, + 10,125, 10, 10,118,111,105,100, 32,114, 97,109,112, 95,114,103, 98,116,111, 98,119, 40,118,101, 99, 51, 32, 99,111,108,111,114, + 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, + 99,111,108,111,114, 46,114, 42, 48, 46, 51, 32, 43, 32, 99,111,108,111,114, 46,103, 42, 48, 46, 53, 56, 32, 43, 32, 99,111,108, +111,114, 46, 98, 42, 48, 46, 49, 50, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,111,110,108,121, 95,115,104, + 97,100,111,119, 40,102,108,111, 97,116, 32,105, 44, 32,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,102,108,111, + 97,116, 32,101,110,101,114,103,121, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,104, 97,100,102, 97, 99, 41, + 10,123, 10, 9,111,117,116,115,104, 97,100,102, 97, 99, 32, 61, 32,105, 42,101,110,101,114,103,121, 42, 40, 49, 46, 48, 32, 45, + 32,115,104, 97,100,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,111,110,108,121, 95,115,104, + 97,100,111,119, 95,100,105,102,102,117,115,101, 40,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, 32,118,101, 99, 51, + 32,114,103, 98, 44, 32,118,101, 99, 52, 32,100,105,102,102, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,100,105,102, +102, 41, 10,123, 10, 9,111,117,116,100,105,102,102, 32, 61, 32,100,105,102,102, 32, 45, 32,118,101, 99, 52, 40,114,103, 98, 42, +115,104, 97,100,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,111,110,108, +121, 95,115,104, 97,100,111,119, 95,115,112,101, 99,117,108, 97,114, 40,102,108,111, 97,116, 32,115,104, 97,100,102, 97, 99, 44, + 32,118,101, 99, 51, 32,115,112,101, 99,114,103, 98, 44, 32,118,101, 99, 52, 32,115,112,101, 99, 44, 32,111,117,116, 32,118,101, + 99, 52, 32,111,117,116,115,112,101, 99, 41, 10,123, 10, 9,111,117,116,115,112,101, 99, 32, 61, 32,115,112,101, 99, 32, 45, 32, +118,101, 99, 52, 40,115,112,101, 99,114,103, 98, 42,115,104, 97,100,102, 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118, +111,105,100, 32,116,101,115,116, 95,115,104, 97,100,111,119, 98,117,102, 40,118,101, 99, 51, 32,114, 99,111, 44, 32,115, 97,109, +112,108,101,114, 50, 68, 83,104, 97,100,111,119, 32,115,104, 97,100,111,119,109, 97,112, 44, 32,109, 97,116, 52, 32,115,104, 97, +100,111,119,112,101,114,115,109, 97,116, 44, 32,102,108,111, 97,116, 32,115,104, 97,100,111,119, 98,105, 97,115, 44, 32,102,108, +111, 97,116, 32,105,110,112, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,105,102, + 40,105,110,112, 32, 60, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,101,115,117,108,116, 32, 61, 32, 48, 46, 48, 59, 10, 9, +125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,118,101, 99, 52, 32, 99,111, 32, 61, 32,115,104, 97,100,111,119,112,101,114,115, +109, 97,116, 42,118,101, 99, 52, 40,114, 99,111, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9, 9, 47, 47,102,108,111, 97,116, 32, 98, +105, 97,115, 32, 61, 32, 40, 49, 46, 53, 32, 45, 32,105,110,112, 42,105,110,112, 41, 42,115,104, 97,100,111,119, 98,105, 97,115, + 59, 10, 9, 9, 99,111, 46,122, 32, 45, 61, 32,115,104, 97,100,111,119, 98,105, 97,115, 42, 99,111, 46,119, 59, 10, 10, 9, 9, +114,101,115,117,108,116, 32, 61, 32,115,104, 97,100,111,119, 50, 68, 80,114,111,106, 40,115,104, 97,100,111,119,109, 97,112, 44, + 32, 99,111, 41, 46,120, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,101,120,112,111,115,117,114, +101, 95, 99,111,114,114,101, 99,116, 40,118,101, 99, 51, 32, 99,111,108, 44, 32,102,108,111, 97,116, 32,108,105,110,102, 97, 99, + 44, 32,102,108,111, 97,116, 32,108,111,103,102, 97, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, + 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,108,105,110,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32,101,120,112, 40, 99, +111,108, 42,108,111,103,102, 97, 99, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,109,105,115,116, 95, +102, 97, 99,116,111,114, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,109,105,115,116,115,116, 97, 44, 32,102, +108,111, 97,116, 32,109,105,115,116,100,105,115,116, 44, 32,102,108,111, 97,116, 32,109,105,115,116,116,121,112,101, 44, 32,102, +108,111, 97,116, 32,109,105,115,105, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9, +102,108,111, 97,116, 32,102, 97, 99, 44, 32,122, 99,111,114, 59, 10, 10, 9,122, 99,111,114, 32, 61, 32, 40,103,108, 95, 80,114, +111,106,101, 99,116,105,111,110, 77, 97,116,114,105,120, 91, 51, 93, 91, 51, 93, 32, 61, 61, 32, 48, 46, 48, 41, 63, 32,108,101, +110,103,116,104, 40, 99,111, 41, 58, 32, 45, 99,111, 91, 50, 93, 59, 10, 9, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, + 40, 40,122, 99,111,114, 45,109,105,115,116,115,116, 97, 41, 47,109,105,115,116,100,105,115,116, 44, 32, 48, 46, 48, 44, 32, 49, + 46, 48, 41, 59, 10, 9,105,102, 40,109,105,115,116,116,121,112,101, 32, 61, 61, 32, 48, 46, 48, 41, 32,102, 97, 99, 32, 42, 61, + 32,102, 97, 99, 59, 10, 9,101,108,115,101, 32,105,102, 40,109,105,115,116,116,121,112,101, 32, 61, 61, 32, 49, 46, 48, 41, 59, + 10, 9,101,108,115,101, 32,102, 97, 99, 32, 61, 32,115,113,114,116, 40,102, 97, 99, 41, 59, 10, 10, 9,111,117,116,102, 97, 99, + 32, 61, 32, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 45,102, 97, 99, 41, 42, 40, 49, 46, 48, 45,109,105,115,105, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,119,111,114,108,100, 95,109,105,120, 40,118,101, 99, 51, 32,104,111,114, 44, + 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, +108,111, 97,116, 32,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40, 99,111,108, 46, 97, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, + 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,109,105,120, 40,104,111,114, 44, 32, 99,111,108, 46,114, +103, 98, 44, 32,102, 97, 99, 41, 44, 32, 99,111,108, 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, + 97,108,112,104, 97, 95,111,112, 97,113,117,101, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32, +111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, + 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95, 97,108,112,104, 97, 95,111, 98, 99,111, +108,111,114, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,118,101, 99, 52, 32,111, 98, 99,111,108, 44, 32,111,117,116, 32,118,101, + 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46, +114,103, 98, 44, 32, 99,111,108, 46, 97, 42,111, 98, 99,111,108, 46, 97, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 32, 78, 69, 87, 32, 83, 72, 65, 68, 69, 82, 32, 85, 84, 73, 76, 73, 84, 73, 69, 83, 32, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,102,108,111, 97,116, 32,102,114,101,115,110,101,108, 95,100,105,101,108,101, 99,116, +114,105, 99, 40,118,101, 99, 51, 32, 73,110, 99,111,109,105,110,103, 44, 32,118,101, 99, 51, 32, 78,111,114,109, 97,108, 44, 32, +102,108,111, 97,116, 32,101,116, 97, 41, 10,123, 10, 32, 32, 32, 32, 47, 42, 32, 99,111,109,112,117,116,101, 32,102,114,101,115, +110,101,108, 32,114,101,102,108,101, 99,116, 97,110, 99,101, 32,119,105,116,104,111,117,116, 32,101,120,112,108,105, 99,105,116, +108,121, 32, 99,111,109,112,117,116,105,110,103, 10, 32, 32, 32, 32, 32, 32, 32,116,104,101, 32,114,101,102,114, 97, 99,116,101, +100, 32,100,105,114,101, 99,116,105,111,110, 32, 42, 47, 10, 32, 32, 32, 32,102,108,111, 97,116, 32, 99, 32, 61, 32, 97, 98,115, + 40,100,111,116, 40, 73,110, 99,111,109,105,110,103, 44, 32, 78,111,114,109, 97,108, 41, 41, 59, 10, 32, 32, 32, 32,102,108,111, + 97,116, 32,103, 32, 61, 32,101,116, 97, 32, 42, 32,101,116, 97, 32, 45, 32, 49, 46, 48, 32, 43, 32, 99, 32, 42, 32, 99, 59, 10, + 32, 32, 32, 32,102,108,111, 97,116, 32,114,101,115,117,108,116, 59, 10, 10, 32, 32, 32, 32,105,102, 40,103, 32, 62, 32, 48, 46, + 48, 41, 32,123, 10, 32, 32, 32, 32, 32, 32, 32, 32,103, 32, 61, 32,115,113,114,116, 40,103, 41, 59, 10, 32, 32, 32, 32, 32, 32, + 32, 32,102,108,111, 97,116, 32, 65, 32, 61, 40,103, 32, 45, 32, 99, 41, 47, 40,103, 32, 43, 32, 99, 41, 59, 10, 32, 32, 32, 32, + 32, 32, 32, 32,102,108,111, 97,116, 32, 66, 32, 61, 40, 99, 32, 42, 40,103, 32, 43, 32, 99, 41, 45, 32, 49, 46, 48, 41, 47, 40, + 99, 32, 42, 40,103, 32, 45, 32, 99, 41, 43, 32, 49, 46, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32,114,101,115,117,108,116, + 32, 61, 32, 48, 46, 53, 32, 42, 32, 65, 32, 42, 32, 65, 32, 42, 40, 49, 46, 48, 32, 43, 32, 66, 32, 42, 32, 66, 41, 59, 10, 32, + 32, 32, 32,125, 10, 32, 32, 32, 32,101,108,115,101, 10, 32, 32, 32, 32, 32, 32, 32, 32,114,101,115,117,108,116, 32, 61, 32, 49, + 46, 48, 59, 32, 32, 47, 42, 32, 84, 73, 82, 32, 40,110,111, 32,114,101,102,114, 97, 99,116,101,100, 32, 99,111,109,112,111,110, +101,110,116, 41, 32, 42, 47, 10, 10, 32, 32, 32, 32,114,101,116,117,114,110, 32,114,101,115,117,108,116, 59, 10,125, 10, 10,102, +108,111, 97,116, 32,104,121,112,111,116, 40,102,108,111, 97,116, 32,120, 44, 32,102,108,111, 97,116, 32,121, 41, 10,123, 10, 9, +114,101,116,117,114,110, 32,115,113,114,116, 40,120, 42,120, 32, 43, 32,121, 42,121, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 32, 78, 69, 87, 32, 83, 72, 65, 68, 69, 82, 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10, 35,100,101,102,105,110,101, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 32, 51, 10, + 10, 47, 42, 32, 98,115,100,102,115, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,100,105,102, +102,117,115,101, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, + 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9, 47, 42, 32, 97,109, 98,105,101,110,116, 32,108,105,103,104,116, 32, 42, 47, + 10, 9,118,101, 99, 51, 32, 76, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 50, 41, 59, 10, 10, 9, 47, 42, 32,100,105,114,101, 99, 116,105,111,110, 97,108, 32,108,105,103,104,116,115, 32, 42, 47, 10, 9,102,111,114, 40,105,110,116, 32,105, 32, 61, 32, 48, 59, - 32,105, 32, 60, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 59, 32,105, 43, 43, 41, 32,123, 10, 9, 9,118,101, 99, 51, 32, 72, - 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,104, 97,108,102, 86,101, 99,116,111,114, 46, -120,121,122, 59, 10, 9, 9,118,101, 99, 51, 32,108,105,103,104,116, 95,115,112,101, 99,117,108, 97,114, 32, 61, 32,103,108, 95, - 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,115,112,101, 99,117,108, 97,114, 46,114,103, 98, 59, 10, 10, 9, 9, -102,108,111, 97,116, 32, 98,115,100,102, 32, 61, 32,112,111,119, 40,109, 97,120, 40,100,111,116, 40, 78, 44, 32, 72, 41, 44, 32, - 48, 46, 48, 41, 44, 32, 49, 46, 48, 47,114,111,117,103,104,110,101,115,115, 41, 59, 10, 9, 9, 76, 32, 43, 61, 32,108,105,103, -104,116, 95,115,112,101, 99,117,108, 97,114, 42, 98,115,100,102, 59, 10, 9,125, 10, 10, 9,114,101,115,117,108,116, 32, 61, 32, -118,101, 99, 52, 40, 76, 42, 99,111,108,111,114, 46,114,103, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32, -110,111,100,101, 95, 98,115,100,102, 95, 97,110,105,115,111,116,114,111,112,105, 99, 40,118,101, 99, 52, 32, 99,111,108,111,114, - 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 85, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110, -101,115,115, 86, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114, -101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111, -114, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, - 95,103,108, 97,115,115, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101, -115,115, 44, 32,102,108,111, 97,116, 32,105,111,114, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111, -117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105,102, -102,117,115,101, 40, 99,111,108,111,114, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32, -110,111,100,101, 95, 98,115,100,102, 95,116,114, 97,110,115,108,117, 99,101,110,116, 40,118,101, 99, 52, 32, 99,111,108,111,114, - 44, 32,118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111, -100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, 78, 44, 32,114,101,115,117,108,116, - 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,116,114, 97,110,115,112, 97,114,101,110,116, - 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, - 9, 47, 42, 32,116,104,105,115, 32,105,115,110, 39,116, 32,114,105,103,104,116, 32, 42, 47, 10, 9,114,101,115,117,108,116, 46, -114, 32, 61, 32, 99,111,108,111,114, 46,114, 59, 10, 9,114,101,115,117,108,116, 46,103, 32, 61, 32, 99,111,108,111,114, 46,103, - 59, 10, 9,114,101,115,117,108,116, 46, 98, 32, 61, 32, 99,111,108,111,114, 46, 98, 59, 10, 9,114,101,115,117,108,116, 46, 97, - 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,118,101,108,118,101,116, - 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,115,105,103,109, 97, 44, 32,118,101, 99, 51, 32, 78, - 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95, -100,105,102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10, 47, 42, - 32,101,109,105,115,115,105,111,110, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,101,109,105,115,115,105,111,110, - 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,115,116,114,101,110,103,116,104, 44, 32,118,101, 99, - 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,114,101,115,117,108,116, 32, - 61, 32, 99,111,108,111,114, 42,115,116,114,101,110,103,116,104, 59, 10,125, 10, 10, 47, 42, 32, 99,108,111,115,117,114,101,115, - 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,109,105,120, 95,115,104, 97,100,101,114, 40,102,108,111, 97,116, 32, -102, 97, 99, 44, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, 49, 44, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, 50, 44, - 32,111,117,116, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, 41, 10,123, 10, 9,115,104, 97,100,101,114, 32, 61, 32,109,105, -120, 40,115,104, 97,100,101,114, 49, 44, 32,115,104, 97,100,101,114, 50, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105, -100, 32,110,111,100,101, 95, 97,100,100, 95,115,104, 97,100,101,114, 40,118,101, 99, 52, 32,115,104, 97,100,101,114, 49, 44, 32, -118,101, 99, 52, 32,115,104, 97,100,101,114, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, 41, 10,123, - 10, 9,115,104, 97,100,101,114, 32, 61, 32,115,104, 97,100,101,114, 49, 32, 43, 32,115,104, 97,100,101,114, 50, 59, 10,125, 10, - 10, 47, 42, 32,102,114,101,115,110,101,108, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,102,114,101,115,110,101, -108, 40,102,108,111, 97,116, 32,105,111,114, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,102,108,111, 97,116, 32,101,116, 97, 32, 61, 32,109, 97, -120, 40,105,111,114, 44, 32, 48, 46, 48, 48, 48, 48, 49, 41, 59, 10, 9,114,101,115,117,108,116, 32, 61, 32,102,114,101,115,110, -101,108, 95,100,105,101,108,101, 99,116,114,105, 99, 40, 73, 44, 32, 78, 44, 32,101,116, 97, 41, 59, 32, 47, 47, 98, 97, 99,107, -102, 97, 99,105,110,103, 40, 41, 63, 32, 49, 46, 48, 47,101,116, 97, 58, 32,101,116, 97, 41, 59, 10,125, 10, 10, 47, 42, 32,103, -101,111,109,101,116,114,121, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,103,101,111,109,101,116,114,121, 40,118, -101, 99, 51, 32, 73, 44, 32,118,101, 99, 51, 32, 78, 44, 32,109, 97,116, 52, 32,116,111,119,111,114,108,100, 44, 10, 9,111,117, -116, 32,118,101, 99, 51, 32,112,111,115,105,116,105,111,110, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, - 44, 32,111,117,116, 32,118,101, 99, 51, 32,116, 97,110,103,101,110,116, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32,116,114, -117,101, 95,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,109,105,110,103, 44, 32,111,117, -116, 32,118,101, 99, 51, 32,112, 97,114, 97,109,101,116,114,105, 99, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32, 98, 97, - 99,107,102, 97, 99,105,110,103, 41, 10,123, 10, 9,112,111,115,105,116,105,111,110, 32, 61, 32, 40,116,111,119,111,114,108,100, - 42,118,101, 99, 52, 40, 73, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 78, 59, - 10, 9,116, 97,110,103,101,110,116, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10, 9,116,114,117,101, 95,110,111,114, -109, 97,108, 32, 61, 32, 78, 59, 10, 9,105,110, 99,111,109,105,110,103, 32, 61, 32, 73, 59, 10, 9,112, 97,114, 97,109,101,116, -114,105, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10, 9, 98, 97, 99,107,102, 97, 99,105,110,103, 32, 61, 32, 48, - 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95, 99,111,111,114,100, 40,118,101, 99, 51, 32, - 73, 44, 32,118,101, 99, 51, 32, 78, 44, 32,109, 97,116, 52, 32,116,111,119,111,114,108,100, 44, 10, 9,118,101, 99, 51, 32, 97, -116,116,114, 95,111,114, 99,111, 44, 32,118,101, 99, 51, 32, 97,116,116,114, 95,117,118, 44, 10, 9,111,117,116, 32,118,101, 99, - 51, 32,103,101,110,101,114, 97,116,101,100, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 44, 32,111,117,116, 32,118,101, - 99, 51, 32,111, 98,106,101, 99,116, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32, 99, 97,109,101,114, 97, 44, 32,111,117,116, - 32,118,101, 99, 51, 32,119,105,110,100,111,119, 44, 32,111,117,116, 32,118,101, 99, 51, 32,114,101,102,108,101, 99,116,105,111, -110, 41, 10,123, 10, 9,103,101,110,101,114, 97,116,101,100, 32, 61, 32, 97,116,116,114, 95,111,114, 99,111, 59, 10, 9,117,118, - 32, 61, 32, 97,116,116,114, 95,117,118, 59, 10, 9,111, 98,106,101, 99,116, 32, 61, 32, 73, 59, 10, 9, 99, 97,109,101,114, 97, - 32, 61, 32, 73, 59, 10, 9,119,105,110,100,111,119, 32, 61, 32,103,108, 95, 70,114, 97,103, 67,111,111,114,100, 46,120,121,122, - 59, 10, 9,114,101,102,108,101, 99,116,105,111,110, 32, 61, 32,114,101,102,108,101, 99,116, 40, 78, 44, 32, 73, 41, 59, 10, 10, -125, 10, 10, 47, 42, 32,116,101,120,116,117,114,101,115, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, - 95, 98,108,101,110,100, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, - 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95, 99,108, -111,117,100,115, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,111,117,116, 32,118,101, - 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111, -114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111, -105,100, 32,110,111,100,101, 95,116,101,120, 95,100,105,115,116,110,111,105,115,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,102, -108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,100,105,115,116,111,114,116,105,111,110, 44, 32,111,117,116, - 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105, -100, 32,110,111,100,101, 95,116,101,120, 95,101,110,118,105,114,111,110,109,101,110,116, 40,118,101, 99, 51, 32, 99,111, 44, 32, -115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, - 10, 9,102,108,111, 97,116, 32,117, 32, 61, 32, 40, 97,116, 97,110, 40, 99,111, 46,121, 44, 32, 99,111, 46,120, 41, 32, 43, 32, - 77, 95, 80, 73, 41, 47, 40, 50, 46, 48, 42, 77, 95, 80, 73, 41, 59, 10, 9,102,108,111, 97,116, 32,118, 32, 61, 32, 97,116, 97, -110, 40, 99,111, 46,122, 44, 32,104,121,112,111,116, 40, 99,111, 46,120, 44, 32, 99,111, 46,121, 41, 41, 47, 77, 95, 80, 73, 32, - 43, 32, 48, 46, 53, 59, 10, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, -118,101, 99, 50, 40,117, 44, 32,118, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,105,109, - 97,103,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32, -118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, - 40,105,109, 97, 44, 32, 99,111, 46,120,121, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,109, - 97,103,105, 99, 40,118,101, 99, 51, 32,112, 44, 32,102,108,111, 97,116, 32,116,117,114, 98,117,108,101,110, 99,101, 44, 32,102, -108,111, 97,116, 32,110, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9,102,108,111, 97,116, - 32,116,117,114, 98, 32, 61, 32,116,117,114, 98,117,108,101,110, 99,101, 47, 53, 46, 48, 59, 10, 10, 9,102,108,111, 97,116, 32, -120, 32, 61, 32,115,105,110, 40, 40,112, 46,120, 32, 43, 32,112, 46,121, 32, 43, 32,112, 46,122, 41, 42, 53, 46, 48, 41, 59, 10, - 9,102,108,111, 97,116, 32,121, 32, 61, 32, 99,111,115, 40, 40, 45,112, 46,120, 32, 43, 32,112, 46,121, 32, 45, 32,112, 46,122, - 41, 42, 53, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,122, 32, 61, 32, 45, 99,111,115, 40, 40, 45,112, 46,120, 32, 45, 32, -112, 46,121, 32, 43, 32,112, 46,122, 41, 42, 53, 46, 48, 41, 59, 10, 10, 9,105,102, 40,110, 32, 62, 32, 48, 46, 48, 41, 32,123, - 10, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 9, 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 9, 9,122, 32, 42, - 61, 32,116,117,114, 98, 59, 10, 9, 9,121, 32, 61, 32, 45, 99,111,115, 40,120, 45,121, 43,122, 41, 59, 10, 9, 9,121, 32, 42, - 61, 32,116,117,114, 98, 59, 10, 10, 9, 9,105,102, 40,110, 32, 62, 32, 49, 46, 48, 41, 32,123, 10, 9, 9, 9,120, 61, 32, 99, -111,115, 40,120, 45,121, 45,122, 41, 59, 10, 9, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9,105,102, 40, -110, 32, 62, 32, 50, 46, 48, 41, 32,123, 10, 9, 9, 9, 9,122, 61, 32,115,105,110, 40, 45,120, 45,121, 45,122, 41, 59, 10, 9, - 9, 9, 9,122, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 51, 46, 48, 41, 32,123, - 10, 9, 9, 9, 9, 9,120, 61, 32, 45, 99,111,115, 40, 45,120, 43,121, 45,122, 41, 59, 10, 9, 9, 9, 9, 9,120, 32, 42, 61, - 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 52, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, - 9,121, 61, 32, 45,115,105,110, 40, 45,120, 43,121, 43,122, 41, 59, 10, 9, 9, 9, 9, 9, 9,121, 32, 42, 61, 32,116,117,114, - 98, 59, 10, 10, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 53, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9,121, - 61, 32, 45, 99,111,115, 40, 45,120, 43,121, 43,122, 41, 59, 10, 9, 9, 9, 9, 9, 9, 9,121, 32, 42, 61, 32,116,117,114, 98, - 59, 10, 10, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 54, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9, -120, 61, 32, 99,111,115, 40,120, 43,121, 43,122, 41, 59, 10, 9, 9, 9, 9, 9, 9, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, - 59, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 55, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, - 9, 9,122, 61, 32,115,105,110, 40,120, 43,121, 45,122, 41, 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,122, 32, 42, 61, 32,116, -117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 56, 46, 48, 41, 32,123, 10, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9,120, 61, 32, 45, 99,111,115, 40, 45,120, 45,121, 43,122, 41, 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 57, - 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,121, 61, 32, 45,115,105,110, 40,120, 45,121, 43,122, 41, 59, - 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9,125, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9, 9, 9,125, - 10, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9,125, 10, 9, 9, 9,125, 10, 9, 9,125, 10, 9, -125, 10, 10, 9,105,102, 40,116,117,114, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,116,117,114, 98, 32, 42, 61, 32, - 50, 46, 48, 59, 10, 9, 9,120, 32, 47, 61, 32,116,117,114, 98, 59, 10, 9, 9,121, 32, 47, 61, 32,116,117,114, 98, 59, 10, 9, - 9,122, 32, 47, 61, 32,116,117,114, 98, 59, 10, 9,125, 10, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 48, 46, - 53, 32, 45, 32,120, 44, 32, 48, 46, 53, 32, 45, 32,121, 44, 32, 48, 46, 53, 32, 45, 32,122, 44, 32, 49, 46, 48, 41, 59, 10,125, - 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,109, 97,114, 98,108,101, 40,118,101, 99, 51, 32, 99,111, 44, 32, -102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,117,114, 98,117,108,101,110, 99,101, 44, 32,111,117, -116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111, -105,100, 32,110,111,100,101, 95,116,101,120, 95,109,117,115,103,114, 97,118,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108, -111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,100,105,109,101,110,115,105,111,110, 44, 32,102,108,111, 97,116, - 32,108, 97, 99,117,110, 97,114,105,116,121, 44, 32,102,108,111, 97,116, 32,111, 99,116, 97,118,101,115, 44, 32,102,108,111, 97, -116, 32,111,102,102,115,101,116, 44, 32,102,108,111, 97,116, 32,103, 97,105,110, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, -102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, -116,101,120, 95,110,111,105,115,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111, -114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, - 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, - 95,116,101,120, 95,115,107,121, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, - 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32, -110,111,100,101, 95,116,101,120, 95,115,116,117, 99, 99,105, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115, -105,122,101, 44, 32,102,108,111, 97,116, 32,116,117,114, 98,117,108,101,110, 99,101, 44, 32,111,117,116, 32,102,108,111, 97,116, - 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, - 95,116,101,120, 95,118,111,114,111,110,111,105, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, - 44, 32,102,108,111, 97,116, 32,119,101,105,103,104,116, 49, 44, 32,102,108,111, 97,116, 32,119,101,105,103,104,116, 50, 44, 32, -102,108,111, 97,116, 32,119,101,105,103,104,116, 51, 44, 32,102,108,111, 97,116, 32,119,101,105,103,104,116, 52, 44, 32,102,108, -111, 97,116, 32,101,120,112,111,110,101,110,116, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117, -116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, - 41, 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95, -119,111,111,100, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32, -116,117,114, 98,117,108,101,110, 99,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, - 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10, 47, 42, 32,108,105,103,104,116, 32,112, 97,116,104, 32, 42, 47, 10, 10,118,111, -105,100, 32,110,111,100,101, 95,108,105,103,104,116, 95,112, 97,116,104, 40, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105, -115, 95, 99, 97,109,101,114, 97, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,115,104, 97,100, -111,119, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,100,105,102,102,117,115,101, 95,114, 97, -121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,103,108,111,115,115,121, 95,114, 97,121, 44, 10, 9,111,117, -116, 32,102,108,111, 97,116, 32,105,115, 95,114,101,102,108,101, 99,116,105,111,110, 95,114, 97,121, 44, 10, 9,111,117,116, 32, -102,108,111, 97,116, 32,105,115, 95,116,114, 97,110,115,109,105,115,115,105,111,110, 95,114, 97,121, 41, 10,123, 10, 9,105,115, - 95, 99, 97,109,101,114, 97, 95,114, 97,121, 32, 61, 32, 49, 46, 48, 59, 10, 9,105,115, 95,115,104, 97,100,111,119, 95,114, 97, -121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,100,105,102,102,117,115,101, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, - 9,105,115, 95,103,108,111,115,115,121, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,114,101,102,108,101, 99, -116,105,111,110, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,116,114, 97,110,115,109,105,115,115,105,111,110, - 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10, 47, 42, 32,111,117,116,112,117,116, 32, 42, 47, 10, 10,118,111,105, -100, 32,110,111,100,101, 95,111,117,116,112,117,116, 95,109, 97,116,101,114,105, 97,108, 40,118,101, 99, 52, 32,115,104, 97,100, -101,114, 44, 32,102,108,111, 97,116, 32,100,105,115,112,108, 97, 99,101,109,101,110,116, 44, 32,111,117,116, 32,118,101, 99, 52, - 32,114,101,115,117,108,116, 41, 10,123, 10, 9,114,101,115,117,108,116, 32, 61, 32,115,104, 97,100,101,114, 59, 10,125, 10, 10, + 32,105, 32, 60, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, 59, 32,105, 43, 43, 41, 32,123, 10, 9, 9,118,101, 99, 51, 32,108, +105,103,104,116, 95,112,111,115,105,116,105,111,110, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, + 93, 46,112,111,115,105,116,105,111,110, 46,120,121,122, 59, 10, 9, 9,118,101, 99, 51, 32,108,105,103,104,116, 95,100,105,102, +102,117,115,101, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46,100,105,102,102,117,115,101, + 46,114,103, 98, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 98,115,100,102, 32, 61, 32,109, 97,120, 40,100,111,116, 40, 78, 44, + 32,108,105,103,104,116, 95,112,111,115,105,116,105,111,110, 41, 44, 32, 48, 46, 48, 41, 59, 10, 9, 9, 76, 32, 43, 61, 32,108, +105,103,104,116, 95,100,105,102,102,117,115,101, 42, 98,115,100,102, 59, 10, 9,125, 10, 10, 9,114,101,115,117,108,116, 32, 61, + 32,118,101, 99, 52, 40, 76, 42, 99,111,108,111,114, 46,114,103, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, + 32,110,111,100,101, 95, 98,115,100,102, 95,103,108,111,115,115,121, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108, +111, 97,116, 32,114,111,117,103,104,110,101,115,115, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111, +117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,118,101, 99, 51, 32, 76, 32, 61, 32,118,101, 99, 51, + 40, 48, 46, 48, 41, 59, 10, 10, 9, 47, 42, 32,100,105,114,101, 99,116,105,111,110, 97,108, 32,108,105,103,104,116,115, 32, 42, + 47, 10, 9,102,111,114, 40,105,110,116, 32,105, 32, 61, 32, 48, 59, 32,105, 32, 60, 32, 78, 85, 77, 95, 76, 73, 71, 72, 84, 83, + 59, 32,105, 43, 43, 41, 32,123, 10, 9, 9,118,101, 99, 51, 32, 72, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, + 99,101, 91,105, 93, 46,104, 97,108,102, 86,101, 99,116,111,114, 46,120,121,122, 59, 10, 9, 9,118,101, 99, 51, 32,108,105,103, +104,116, 95,115,112,101, 99,117,108, 97,114, 32, 61, 32,103,108, 95, 76,105,103,104,116, 83,111,117,114, 99,101, 91,105, 93, 46, +115,112,101, 99,117,108, 97,114, 46,114,103, 98, 59, 10, 10, 9, 9,102,108,111, 97,116, 32, 98,115,100,102, 32, 61, 32,112,111, +119, 40,109, 97,120, 40,100,111,116, 40, 78, 44, 32, 72, 41, 44, 32, 48, 46, 48, 41, 44, 32, 49, 46, 48, 47,114,111,117,103,104, +110,101,115,115, 41, 59, 10, 9, 9, 76, 32, 43, 61, 32,108,105,103,104,116, 95,115,112,101, 99,117,108, 97,114, 42, 98,115,100, +102, 59, 10, 9,125, 10, 10, 9,114,101,115,117,108,116, 32, 61, 32,118,101, 99, 52, 40, 76, 42, 99,111,108,111,114, 46,114,103, + 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95, 97,110,105,115,111, +116,114,111,112,105, 99, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101, +115,115, 85, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 86, 44, 32,118,101, 99, 51, 32, 78, 44, 32,118, +101, 99, 51, 32, 73, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, + 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10, +125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,103,108, 97,115,115, 40,118,101, 99, 52, 32, 99,111,108, +111,114, 44, 32,102,108,111, 97,116, 32,114,111,117,103,104,110,101,115,115, 44, 32,102,108,111, 97,116, 32,105,111,114, 44, 32, +118,101, 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, + 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, 78, 44, 32, +114,101,115,117,108,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 98,115,100,102, 95,116,114, 97,110,115, +108,117, 99,101,110,116, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118, +101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, + 40, 99,111,108,111,114, 44, 32, 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, + 95, 98,115,100,102, 95,116,114, 97,110,115,112, 97,114,101,110,116, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117, +116, 32,118,101, 99, 52, 32,114,101,115,117,108,116, 41, 10,123, 10, 9, 47, 42, 32,116,104,105,115, 32,105,115,110, 39,116, 32, +114,105,103,104,116, 32, 42, 47, 10, 9,114,101,115,117,108,116, 46,114, 32, 61, 32, 99,111,108,111,114, 46,114, 59, 10, 9,114, +101,115,117,108,116, 46,103, 32, 61, 32, 99,111,108,111,114, 46,103, 59, 10, 9,114,101,115,117,108,116, 46, 98, 32, 61, 32, 99, +111,108,111,114, 46, 98, 59, 10, 9,114,101,115,117,108,116, 46, 97, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, + 32,110,111,100,101, 95, 98,115,100,102, 95,118,101,108,118,101,116, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108, +111, 97,116, 32,115,105,103,109, 97, 44, 32,118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114,101,115,117, +108,116, 41, 10,123, 10, 9,110,111,100,101, 95, 98,115,100,102, 95,100,105,102,102,117,115,101, 40, 99,111,108,111,114, 44, 32, + 78, 44, 32,114,101,115,117,108,116, 41, 59, 10,125, 10, 10, 47, 42, 32,101,109,105,115,115,105,111,110, 32, 42, 47, 10, 10,118, +111,105,100, 32,110,111,100,101, 95,101,109,105,115,115,105,111,110, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,102,108, +111, 97,116, 32,115,116,114,101,110,103,116,104, 44, 32,118,101, 99, 51, 32, 78, 44, 32,111,117,116, 32,118,101, 99, 52, 32,114, +101,115,117,108,116, 41, 10,123, 10, 9,114,101,115,117,108,116, 32, 61, 32, 99,111,108,111,114, 42,115,116,114,101,110,103,116, +104, 59, 10,125, 10, 10, 47, 42, 32, 99,108,111,115,117,114,101,115, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95, +109,105,120, 95,115,104, 97,100,101,114, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32,115,104, 97,100,101, +114, 49, 44, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,115,104, 97,100,101, +114, 41, 10,123, 10, 9,115,104, 97,100,101,114, 32, 61, 32,109,105,120, 40,115,104, 97,100,101,114, 49, 44, 32,115,104, 97,100, +101,114, 50, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95, 97,100,100, 95,115,104, 97,100, +101,114, 40,118,101, 99, 52, 32,115,104, 97,100,101,114, 49, 44, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, 50, 44, 32,111, +117,116, 32,118,101, 99, 52, 32,115,104, 97,100,101,114, 41, 10,123, 10, 9,115,104, 97,100,101,114, 32, 61, 32,115,104, 97,100, +101,114, 49, 32, 43, 32,115,104, 97,100,101,114, 50, 59, 10,125, 10, 10, 47, 42, 32,102,114,101,115,110,101,108, 32, 42, 47, 10, + 10,118,111,105,100, 32,110,111,100,101, 95,102,114,101,115,110,101,108, 40,102,108,111, 97,116, 32,105,111,114, 44, 32,118,101, + 99, 51, 32, 78, 44, 32,118,101, 99, 51, 32, 73, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114,101,115,117,108,116, 41, 10, +123, 10, 9,102,108,111, 97,116, 32,101,116, 97, 32, 61, 32,109, 97,120, 40,105,111,114, 44, 32, 48, 46, 48, 48, 48, 48, 49, 41, + 59, 10, 9,114,101,115,117,108,116, 32, 61, 32,102,114,101,115,110,101,108, 95,100,105,101,108,101, 99,116,114,105, 99, 40, 73, + 44, 32, 78, 44, 32,101,116, 97, 41, 59, 32, 47, 47, 98, 97, 99,107,102, 97, 99,105,110,103, 40, 41, 63, 32, 49, 46, 48, 47,101, +116, 97, 58, 32,101,116, 97, 41, 59, 10,125, 10, 10, 47, 42, 32,103,101,111,109,101,116,114,121, 32, 42, 47, 10, 10,118,111,105, +100, 32,110,111,100,101, 95,103,101,111,109,101,116,114,121, 40,118,101, 99, 51, 32, 73, 44, 32,118,101, 99, 51, 32, 78, 44, 32, +109, 97,116, 52, 32,116,111,119,111,114,108,100, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32,112,111,115,105,116,105,111,110, + 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,116, 97,110,103, +101,110,116, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32,116,114,117,101, 95,110,111,114,109, 97,108, 44, 32,111,117,116, 32, +118,101, 99, 51, 32,105,110, 99,111,109,105,110,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,112, 97,114, 97,109,101,116,114, +105, 99, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32, 98, 97, 99,107,102, 97, 99,105,110,103, 41, 10,123, 10, 9,112,111, +115,105,116,105,111,110, 32, 61, 32, 40,116,111,119,111,114,108,100, 42,118,101, 99, 52, 40, 73, 44, 32, 49, 46, 48, 41, 41, 46, +120,121,122, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 78, 59, 10, 9,116, 97,110,103,101,110,116, 32, 61, 32,118,101, 99, + 51, 40, 48, 46, 48, 41, 59, 10, 9,116,114,117,101, 95,110,111,114,109, 97,108, 32, 61, 32, 78, 59, 10, 9,105,110, 99,111,109, +105,110,103, 32, 61, 32, 73, 59, 10, 9,112, 97,114, 97,109,101,116,114,105, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, + 59, 10, 9, 98, 97, 99,107,102, 97, 99,105,110,103, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100, +101, 95,116,101,120, 95, 99,111,111,114,100, 40,118,101, 99, 51, 32, 73, 44, 32,118,101, 99, 51, 32, 78, 44, 32,109, 97,116, 52, + 32,116,111,119,111,114,108,100, 44, 10, 9,118,101, 99, 51, 32, 97,116,116,114, 95,111,114, 99,111, 44, 32,118,101, 99, 51, 32, + 97,116,116,114, 95,117,118, 44, 10, 9,111,117,116, 32,118,101, 99, 51, 32,103,101,110,101,114, 97,116,101,100, 44, 32,111,117, +116, 32,118,101, 99, 51, 32,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111, 98,106,101, 99,116, 44, 10, 9,111,117,116, + 32,118,101, 99, 51, 32, 99, 97,109,101,114, 97, 44, 32,111,117,116, 32,118,101, 99, 51, 32,119,105,110,100,111,119, 44, 32,111, +117,116, 32,118,101, 99, 51, 32,114,101,102,108,101, 99,116,105,111,110, 41, 10,123, 10, 9,103,101,110,101,114, 97,116,101,100, + 32, 61, 32, 97,116,116,114, 95,111,114, 99,111, 59, 10, 9,117,118, 32, 61, 32, 97,116,116,114, 95,117,118, 59, 10, 9,111, 98, +106,101, 99,116, 32, 61, 32, 73, 59, 10, 9, 99, 97,109,101,114, 97, 32, 61, 32, 73, 59, 10, 9,119,105,110,100,111,119, 32, 61, + 32,103,108, 95, 70,114, 97,103, 67,111,111,114,100, 46,120,121,122, 59, 10, 9,114,101,102,108,101, 99,116,105,111,110, 32, 61, + 32,114,101,102,108,101, 99,116, 40, 78, 44, 32, 73, 41, 59, 10, 10,125, 10, 10, 47, 42, 32,116,101,120,116,117,114,101,115, 32, + 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32, 99,111, 44, + 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, + 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95, 99,108,111,117,100,115, 40,118,101, 99, 51, 32, 99,111, 44, 32,102, +108,111, 97,116, 32,115,105,122,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102, +108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, + 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,100,105,115, +116,110,111,105,115,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97, +116, 32,100,105,115,116,111,114,116,105,111,110, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9, +102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,101,110,118,105, +114,111,110,109,101,110,116, 40,118,101, 99, 51, 32, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32, +111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9,102,108,111, 97,116, 32,117, 32, 61, 32, 40, 97,116, + 97,110, 40, 99,111, 46,121, 44, 32, 99,111, 46,120, 41, 32, 43, 32, 77, 95, 80, 73, 41, 47, 40, 50, 46, 48, 42, 77, 95, 80, 73, + 41, 59, 10, 9,102,108,111, 97,116, 32,118, 32, 61, 32, 97,116, 97,110, 40, 99,111, 46,122, 44, 32,104,121,112,111,116, 40, 99, +111, 46,120, 44, 32, 99,111, 46,121, 41, 41, 47, 77, 95, 80, 73, 32, 43, 32, 48, 46, 53, 59, 10, 10, 9, 99,111,108,111,114, 32, + 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,118,101, 99, 50, 40,117, 44, 32,118, 41, 41, 59, 10,125, 10, + 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,115, 97, +109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, + 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 99,111, 46,120,121, 41, 59, 10,125, + 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,109, 97,103,105, 99, 40,118,101, 99, 51, 32,112, 44, 32,102,108, +111, 97,116, 32,116,117,114, 98,117,108,101,110, 99,101, 44, 32,102,108,111, 97,116, 32,110, 44, 32,111,117,116, 32,118,101, 99, + 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9,102,108,111, 97,116, 32,116,117,114, 98, 32, 61, 32,116,117,114, 98,117,108,101, +110, 99,101, 47, 53, 46, 48, 59, 10, 10, 9,102,108,111, 97,116, 32,120, 32, 61, 32,115,105,110, 40, 40,112, 46,120, 32, 43, 32, +112, 46,121, 32, 43, 32,112, 46,122, 41, 42, 53, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,121, 32, 61, 32, 99,111,115, 40, + 40, 45,112, 46,120, 32, 43, 32,112, 46,121, 32, 45, 32,112, 46,122, 41, 42, 53, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32, +122, 32, 61, 32, 45, 99,111,115, 40, 40, 45,112, 46,120, 32, 45, 32,112, 46,121, 32, 43, 32,112, 46,122, 41, 42, 53, 46, 48, 41, + 59, 10, 10, 9,105,102, 40,110, 32, 62, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 9, + 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 9, 9,122, 32, 42, 61, 32,116,117,114, 98, 59, 10, 9, 9,121, 32, 61, 32, 45, + 99,111,115, 40,120, 45,121, 43,122, 41, 59, 10, 9, 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9,105,102, 40,110, + 32, 62, 32, 49, 46, 48, 41, 32,123, 10, 9, 9, 9,120, 61, 32, 99,111,115, 40,120, 45,121, 45,122, 41, 59, 10, 9, 9, 9,120, + 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9,105,102, 40,110, 32, 62, 32, 50, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, +122, 61, 32,115,105,110, 40, 45,120, 45,121, 45,122, 41, 59, 10, 9, 9, 9, 9,122, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, + 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 51, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9,120, 61, 32, 45, 99,111,115, 40, 45, +120, 43,121, 45,122, 41, 59, 10, 9, 9, 9, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9,105,102, + 40,110, 32, 62, 32, 52, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9,121, 61, 32, 45,115,105,110, 40, 45,120, 43,121, 43,122, + 41, 59, 10, 9, 9, 9, 9, 9, 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, + 62, 32, 53, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9,121, 61, 32, 45, 99,111,115, 40, 45,120, 43,121, 43,122, 41, 59, + 10, 9, 9, 9, 9, 9, 9, 9,121, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, + 62, 32, 54, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9,120, 61, 32, 99,111,115, 40,120, 43,121, 43,122, 41, 59, 10, + 9, 9, 9, 9, 9, 9, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, + 32, 62, 32, 55, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,122, 61, 32,115,105,110, 40,120, 43,121, 45,122, 41, + 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,122, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, +105,102, 40,110, 32, 62, 32, 56, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,120, 61, 32, 45, 99,111,115, 40, + 45,120, 45,121, 43,122, 41, 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,120, 32, 42, 61, 32,116,117,114, 98, 59, 10, 10, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9,105,102, 40,110, 32, 62, 32, 57, 46, 48, 41, 32,123, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9,121, 61, 32, 45,115,105,110, 40,120, 45,121, 43,122, 41, 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,121, 32, 42, + 61, 32,116,117,114, 98, 59, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9,125, 10, 9, + 9, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9, 9,125, 10, 9, 9, 9, 9, 9,125, + 10, 9, 9, 9, 9,125, 10, 9, 9, 9,125, 10, 9, 9,125, 10, 9,125, 10, 10, 9,105,102, 40,116,117,114, 98, 32, 33, 61, 32, + 48, 46, 48, 41, 32,123, 10, 9, 9,116,117,114, 98, 32, 42, 61, 32, 50, 46, 48, 59, 10, 9, 9,120, 32, 47, 61, 32,116,117,114, + 98, 59, 10, 9, 9,121, 32, 47, 61, 32,116,117,114, 98, 59, 10, 9, 9,122, 32, 47, 61, 32,116,117,114, 98, 59, 10, 9,125, 10, + 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 53, 32, 45, 32,120, 44, 32, 48, 46, 53, 32, 45, 32,121, 44, + 32, 48, 46, 53, 32, 45, 32,122, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, + 95,109, 97,114, 98,108,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, + 97,116, 32,116,117,114, 98,117,108,101,110, 99,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, + 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,109,117,115, +103,114, 97,118,101, 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, + 32,100,105,109,101,110,115,105,111,110, 44, 32,102,108,111, 97,116, 32,108, 97, 99,117,110, 97,114,105,116,121, 44, 32,102,108, +111, 97,116, 32,111, 99,116, 97,118,101,115, 44, 32,102,108,111, 97,116, 32,111,102,102,115,101,116, 44, 32,102,108,111, 97,116, + 32,103, 97,105,110, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, + 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,110,111,105,115,101, 40,118,101, 99, 51, 32, + 99,111, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, + 99, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, + 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,115,107,121, 40,118,101, 99, 51, 32, 99, +111, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, + 99, 52, 40, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,115,116,117, 99, 99,105, + 40,118,101, 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,117,114, 98, +117,108,101,110, 99,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, + 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,118,111,114,111,110,111,105, 40,118,101, + 99, 51, 32, 99,111, 44, 32,102,108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,119,101,105,103,104,116, 49, + 44, 32,102,108,111, 97,116, 32,119,101,105,103,104,116, 50, 44, 32,102,108,111, 97,116, 32,119,101,105,103,104,116, 51, 44, 32, +102,108,111, 97,116, 32,119,101,105,103,104,116, 52, 44, 32,102,108,111, 97,116, 32,101,120,112,111,110,101,110,116, 44, 32,111, +117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, + 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10, +125, 10, 10,118,111,105,100, 32,110,111,100,101, 95,116,101,120, 95,119,111,111,100, 40,118,101, 99, 51, 32, 99,111, 44, 32,102, +108,111, 97,116, 32,115,105,122,101, 44, 32,102,108,111, 97,116, 32,116,117,114, 98,117,108,101,110, 99,101, 44, 32,111,117,116, + 32,102,108,111, 97,116, 32,102, 97, 99, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10, 47, 42, 32, +108,105,103,104,116, 32,112, 97,116,104, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,108,105,103,104,116, 95,112, + 97,116,104, 40, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95, 99, 97,109,101,114, 97, 95,114, 97,121, 44, 10, 9, +111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,115,104, 97,100,111,119, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108, +111, 97,116, 32,105,115, 95,100,105,102,102,117,115,101, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105, +115, 95,103,108,111,115,115,121, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,114,101,102,108, +101, 99,116,105,111,110, 95,114, 97,121, 44, 10, 9,111,117,116, 32,102,108,111, 97,116, 32,105,115, 95,116,114, 97,110,115,109, +105,115,115,105,111,110, 95,114, 97,121, 41, 10,123, 10, 9,105,115, 95, 99, 97,109,101,114, 97, 95,114, 97,121, 32, 61, 32, 49, + 46, 48, 59, 10, 9,105,115, 95,115,104, 97,100,111,119, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,100,105, +102,102,117,115,101, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,103,108,111,115,115,121, 95,114, 97,121, 32, + 61, 32, 48, 46, 48, 59, 10, 9,105,115, 95,114,101,102,108,101, 99,116,105,111,110, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, + 10, 9,105,115, 95,116,114, 97,110,115,109,105,115,115,105,111,110, 95,114, 97,121, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10, + 47, 42, 32,111,117,116,112,117,116, 32, 42, 47, 10, 10,118,111,105,100, 32,110,111,100,101, 95,111,117,116,112,117,116, 95,109, + 97,116,101,114,105, 97,108, 40,118,101, 99, 52, 32,115,117,114,102, 97, 99,101, 44, 32,118,101, 99, 52, 32,118,111,108,117,109, +101, 44, 32,102,108,111, 97,116, 32,100,105,115,112,108, 97, 99,101,109,101,110,116, 44, 32,111,117,116, 32,118,101, 99, 52, 32, +114,101,115,117,108,116, 41, 10,123, 10, 9,114,101,115,117,108,116, 32, 61, 32,115,117,114,102, 97, 99,101, 59, 10,125, 10, 10, 0}; diff --git a/source/blender/nodes/shader/nodes/node_shader_output_lamp.c b/source/blender/nodes/shader/nodes/node_shader_output_lamp.c index 4a7c033ad84..33b6c49a356 100644 --- a/source/blender/nodes/shader/nodes/node_shader_output_lamp.c +++ b/source/blender/nodes/shader/nodes/node_shader_output_lamp.c @@ -32,7 +32,7 @@ /* **************** OUTPUT ******************** */ static bNodeSocketTemplate sh_node_output_lamp_in[]= { - { SOCK_SHADER, 1, "Shader"}, + { SOCK_SHADER, 1, "Surface", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; diff --git a/source/blender/nodes/shader/nodes/node_shader_output_material.c b/source/blender/nodes/shader/nodes/node_shader_output_material.c index a3dbb103f21..8d12380ca67 100644 --- a/source/blender/nodes/shader/nodes/node_shader_output_material.c +++ b/source/blender/nodes/shader/nodes/node_shader_output_material.c @@ -32,7 +32,8 @@ /* **************** OUTPUT ******************** */ static bNodeSocketTemplate sh_node_output_material_in[]= { - { SOCK_SHADER, 1, "Shader"}, + { SOCK_SHADER, 1, "Surface"}, + { SOCK_SHADER, 1, "Volume"}, { SOCK_FLOAT, 1, "Displacement", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, { -1, 0, "" } }; diff --git a/source/blender/nodes/shader/nodes/node_shader_output_world.c b/source/blender/nodes/shader/nodes/node_shader_output_world.c index 7bc06401dd0..72cc5c0fe1a 100644 --- a/source/blender/nodes/shader/nodes/node_shader_output_world.c +++ b/source/blender/nodes/shader/nodes/node_shader_output_world.c @@ -32,7 +32,8 @@ /* **************** OUTPUT ******************** */ static bNodeSocketTemplate sh_node_output_world_in[]= { - { SOCK_SHADER, 1, "Shader"}, + { SOCK_SHADER, 1, "Surface", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_SHADER, 1, "Volume", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; From 19a42adc61877dfbc584ef84f52bdbfa5061b43c Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 15 Oct 2011 16:20:41 +0000 Subject: [PATCH 163/241] Cycles: fix nodes gone missing after new/old shading node compatibility changes. --- source/blender/blenkernel/intern/node.c | 3 +++ .../blender/editors/interface/interface_node.c | 14 ++++++++------ source/blender/editors/space_node/node_header.c | 17 ++++++++++------- .../nodes/shader/nodes/node_shader_valToRgb.c | 2 +- 4 files changed, 22 insertions(+), 14 deletions(-) diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index 307a30127f8..7392d6fc8fc 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -1924,6 +1924,9 @@ static void registerShaderNodes(ListBase *ntypelist) register_node_type_sh_tex_marble(ntypelist); register_node_type_sh_tex_clouds(ntypelist); register_node_type_sh_tex_wood(ntypelist); + register_node_type_sh_tex_stucci(ntypelist); + register_node_type_sh_tex_noise(ntypelist); + register_node_type_sh_tex_distnoise(ntypelist); register_node_type_sh_tex_musgrave(ntypelist); } diff --git a/source/blender/editors/interface/interface_node.c b/source/blender/editors/interface/interface_node.c index 6c17a1d92ba..80473025c7d 100644 --- a/source/blender/editors/interface/interface_node.c +++ b/source/blender/editors/interface/interface_node.c @@ -344,7 +344,7 @@ static void ui_node_menu_column(Main *bmain, NodeLinkArg *arg, uiLayout *layout, char name[UI_MAX_NAME_STR]; int i, j, num = 0; - if(!(ntype->compatibility & compatibility)) + if(compatibility && !(ntype->compatibility & compatibility)) continue; if(ntype->nclass != nclass) @@ -403,12 +403,14 @@ static void ui_template_node_link_menu(bContext *C, uiLayout *layout, void *but_ uiLayout *split, *column; NodeLinkArg *arg = (NodeLinkArg*)but->func_argN; bNodeSocket *sock = arg->sock; - int compatibility; + int compatibility= 0; - if(scene_use_new_shading_nodes(scene)) - compatibility= NODE_NEW_SHADING; - else - compatibility= NODE_OLD_SHADING; + if(arg->ntree->type == NTREE_SHADER) { + if(scene_use_new_shading_nodes(scene)) + compatibility= NODE_NEW_SHADING; + else + compatibility= NODE_OLD_SHADING; + } uiBlockSetCurLayout(block, layout); split= uiLayoutSplit(layout, 0, 0); diff --git a/source/blender/editors/space_node/node_header.c b/source/blender/editors/space_node/node_header.c index 56a16793ece..82b78840d0f 100644 --- a/source/blender/editors/space_node/node_header.c +++ b/source/blender/editors/space_node/node_header.c @@ -175,7 +175,7 @@ static void node_add_menu(bContext *C, uiLayout *layout, void *arg_nodeclass) SpaceNode *snode= CTX_wm_space_node(C); bNodeTree *ntree; int nodeclass= GET_INT_FROM_POINTER(arg_nodeclass); - int event, compatibility; + int event, compatibility= 0; ntree = snode->nodetree; @@ -184,10 +184,12 @@ static void node_add_menu(bContext *C, uiLayout *layout, void *arg_nodeclass) return; } - if(scene_use_new_shading_nodes(scene)) - compatibility= NODE_NEW_SHADING; - else - compatibility= NODE_OLD_SHADING; + if(ntree->type == NTREE_SHADER) { + if(scene_use_new_shading_nodes(scene)) + compatibility= NODE_NEW_SHADING; + else + compatibility= NODE_OLD_SHADING; + } if (nodeclass==NODE_CLASS_GROUP) { bNodeTree *ngroup; @@ -219,8 +221,9 @@ static void node_add_menu(bContext *C, uiLayout *layout, void *arg_nodeclass) uiLayoutSetFunc(layout, do_node_add_static, NULL); for (ntype=ntreeGetType(ntree->type)->node_types.first; ntype; ntype=ntype->next) { - if(ntype->nclass==nodeclass && ntype->name && (ntype->compatibility&compatibility)) - uiItemV(layout, ntype->name, 0, ntype->type); + if (ntype->nclass==nodeclass && ntype->name) + if (!compatibility || (ntype->compatibility & compatibility)) + uiItemV(layout, ntype->name, 0, ntype->type); } } } diff --git a/source/blender/nodes/shader/nodes/node_shader_valToRgb.c b/source/blender/nodes/shader/nodes/node_shader_valToRgb.c index cc31d301894..4b276f0f214 100644 --- a/source/blender/nodes/shader/nodes/node_shader_valToRgb.c +++ b/source/blender/nodes/shader/nodes/node_shader_valToRgb.c @@ -119,7 +119,7 @@ void register_node_type_sh_rgbtobw(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, SH_NODE_RGBTOBW, "RGB to BW", NODE_CLASS_CONVERTOR, 0); - node_type_compatibility(&ntype, NODE_OLD_SHADING); + node_type_compatibility(&ntype, NODE_OLD_SHADING|NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_rgbtobw_in, sh_node_rgbtobw_out); node_type_size(&ntype, 80, 40, 120); node_type_exec(&ntype, node_shader_exec_rgbtobw); From 9c959d98fe5b873f2538882e041f00b6cd90d7cf Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 15 Oct 2011 20:13:35 +0000 Subject: [PATCH 164/241] Cycles: make Attribute node work, code for it was implemented in kernel, only missing was the ability to specify the attribute name in the node. This makes it possible to use multiple uv or vertex color layers now. --- intern/cycles/blender/blender_mesh.cpp | 17 +++--- intern/cycles/blender/blender_shader.cpp | 3 +- source/blender/editors/space_node/drawnode.c | 8 +++ source/blender/makesdna/DNA_node_types.h | 4 ++ .../makesrna/intern/rna_nodetree_types.h | 60 +++++++++---------- .../blender/nodes/shader/node_shader_tree.c | 1 - .../shader/nodes/node_shader_attribute.c | 17 ++++-- 7 files changed, 65 insertions(+), 45 deletions(-) diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp index 0dc0b91be79..af14bad6402 100644 --- a/intern/cycles/blender/blender_mesh.cpp +++ b/intern/cycles/blender/blender_mesh.cpp @@ -121,17 +121,18 @@ static void create_mesh(Scene *scene, Mesh *mesh, BL::Mesh b_mesh, const vector< size_t i = 0; for(l->data.begin(c); c != l->data.end(); ++c, ++i) { - fdata[0] = get_float3(c->color1()); - fdata[1] = get_float3(c->color2()); - fdata[2] = get_float3(c->color3()); - fdata += 3; + fdata[0] = color_srgb_to_scene_linear(get_float3(c->color1())); + fdata[1] = color_srgb_to_scene_linear(get_float3(c->color2())); + fdata[2] = color_srgb_to_scene_linear(get_float3(c->color3())); if(nverts[i] == 4) { - fdata[0] = get_float3(c->color1()); - fdata[1] = get_float3(c->color3()); - fdata[2] = get_float3(c->color4()); - fdata += 3; + fdata[3] = fdata[0]; + fdata[4] = fdata[2]; + fdata[5] = color_srgb_to_scene_linear(get_float3(c->color4())); + fdata += 6; } + else + fdata += 3; } } } diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index f798d4ff44a..9e3095f23e2 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -196,8 +196,9 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * break; } case BL::ShaderNode::type_ATTRIBUTE: { + BL::ShaderNodeAttribute b_attr_node(b_node); AttributeNode *attr = new AttributeNode(); - attr->attribute = ""; + attr->attribute = b_attr_node.attribute_name(); node = attr; break; } diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c index 2f15cc9130b..a0e3817ae27 100644 --- a/source/blender/editors/space_node/drawnode.c +++ b/source/blender/editors/space_node/drawnode.c @@ -1006,6 +1006,11 @@ static void node_shader_buts_geometry(uiLayout *layout, bContext *C, PointerRNA } }*/ +static void node_shader_buts_attribute(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) +{ + uiItemR(layout, ptr, "attribute_name", 0, "Name", ICON_NONE); +} + static void node_shader_buts_tex_image(uiLayout *layout, bContext *C, PointerRNA *ptr) { //uiItemR(layout, ptr, "image", 0, "", ICON_NONE); @@ -1170,6 +1175,9 @@ static void node_shader_set_butfunc(bNodeType *ntype) case SH_NODE_GEOM: ntype->uifunc= node_shader_buts_geometry; break; + case SH_NODE_ATTRIBUTE: + ntype->uifunc= node_shader_buts_attribute; + break; case SH_NODE_TEX_SKY: ntype->uifunc= node_shader_buts_tex_sky; break; diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index 6d1ff8dae59..b05d688e0bc 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -487,6 +487,10 @@ typedef struct NodeTexWood { int hard; } NodeTexWood; +typedef struct NodeShaderAttribute { + char name[64]; +} NodeShaderAttribute; + /* TEX_output */ typedef struct TexNodeOutput { char name[32]; diff --git a/source/blender/makesrna/intern/rna_nodetree_types.h b/source/blender/makesrna/intern/rna_nodetree_types.h index f837a2f6898..669be37931a 100644 --- a/source/blender/makesrna/intern/rna_nodetree_types.h +++ b/source/blender/makesrna/intern/rna_nodetree_types.h @@ -42,7 +42,7 @@ DefNode( ShaderNode, SH_NODE_VALTORGB, def_colorramp, "VALTO DefNode( ShaderNode, SH_NODE_RGBTOBW, 0, "RGBTOBW", RGBToBW, "RGB to BW", "" ) DefNode( ShaderNode, SH_NODE_TEXTURE, def_texture, "TEXTURE", Texture, "Texture", "" ) DefNode( ShaderNode, SH_NODE_NORMAL, 0, "NORMAL", Normal, "Normal", "" ) -DefNode( ShaderNode, SH_NODE_GEOM, def_sh_geometry, "GEOM", Geom, "Geometry", "" ) +DefNode( ShaderNode, SH_NODE_GEOM, def_sh_geometry, "GEOM", Geom, "Geometry", "" ) DefNode( ShaderNode, SH_NODE_MAPPING, def_sh_mapping, "MAPPING", Mapping, "Mapping", "" ) DefNode( ShaderNode, SH_NODE_CURVE_VEC, def_vector_curve, "CURVE_VEC", VectorCurve, "Vector Curve", "" ) DefNode( ShaderNode, SH_NODE_CURVE_RGB, def_rgb_curve, "CURVE_RGB", RGBCurve, "RGB Curve", "" ) @@ -64,35 +64,35 @@ DefNode( ShaderNode, SH_NODE_BLEND_WEIGHT, 0, "BLEND DefNode( ShaderNode, SH_NODE_MIX_SHADER, 0, "MIX_SHADER", MixShader, "Mix Shader", "" ) DefNode( ShaderNode, SH_NODE_ADD_SHADER, 0, "ADD_SHADER", AddShader, "Add Shader", "" ) -DefNode( ShaderNode, SH_NODE_ATTRIBUTE, 0, "ATTRIBUTE", Attribute, "Attribute", "") -DefNode( ShaderNode, SH_NODE_BACKGROUND, 0, "BACKGROUND", Background, "Background", "") -DefNode( ShaderNode, SH_NODE_HOLDOUT, 0, "HOLDOUT", Holdout, "Holdout", "") -DefNode( ShaderNode, SH_NODE_BSDF_ANISOTROPIC, 0, "BSDF_ANISOTROPIC", BsdfAnisotropic, "Bsdf Anisotropic", "") -DefNode( ShaderNode, SH_NODE_BSDF_DIFFUSE, 0, "BSDF_DIFFUSE", BsdfDiffuse, "Diffuse Bsdf", "") -DefNode( ShaderNode, SH_NODE_BSDF_GLOSSY, def_glossy, "BSDF_GLOSSY", BsdfGlossy, "Glossy Bsdf", "") -DefNode( ShaderNode, SH_NODE_BSDF_GLASS, def_glossy, "BSDF_GLASS", BsdfGlass, "Glass Bsdf", "") -DefNode( ShaderNode, SH_NODE_BSDF_TRANSLUCENT, 0, "BSDF_TRANSLUCENT", BsdfTranslucent, "Translucent Bsdf", "") -DefNode( ShaderNode, SH_NODE_BSDF_TRANSPARENT, 0, "BSDF_TRANSPARENT", BsdfTransparent, "Transparent Bsdf", "") -DefNode( ShaderNode, SH_NODE_BSDF_VELVET, 0, "BSDF_VELVET", BsdfVelvet, "Velvet Bsdf", "") -DefNode( ShaderNode, SH_NODE_VOLUME_TRANSPARENT, 0, "VOLUME_TRANSPARENT", VolumeTransparent, "Transparent Volume", "") -DefNode( ShaderNode, SH_NODE_VOLUME_ISOTROPIC, 0, "VOLUME_ISOTROPIC", VolumeIsotropic, "Isotropic Volume", "") -DefNode( ShaderNode, SH_NODE_EMISSION, 0, "EMISSION", Emission, "Emission", "") -DefNode( ShaderNode, SH_NODE_GEOMETRY, 0, "GEOMETRY", Geometry, "Geometry", "") -DefNode( ShaderNode, SH_NODE_LIGHT_PATH, 0, "LIGHT_PATH", Light_path, "Light_path", "") -DefNode( ShaderNode, SH_NODE_TEX_IMAGE, def_sh_tex_image, "TEX_IMAGE", TexImage, "Image Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_ENVIRONMENT, def_sh_tex_environment, "TEX_ENVIRONMENT", TexEnvironment, "Environment Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_NOISE, 0, "TEX_NOISE", TexNoise, "Noise Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_SKY, def_sh_tex_sky, "TEX_SKY", TexSky, "Sky Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_BLEND, def_sh_tex_blend, "TEX_BLEND", TexBlend, "Blend Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_CLOUDS, def_sh_tex_clouds, "TEX_CLOUDS", TexClouds, "Clouds Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_DISTNOISE, def_sh_tex_distnoise, "TEX_DISTORTED_NOISE", TexDistortedNoise, "Distorted Noise Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_MAGIC, def_sh_tex_magic, "TEX_MAGIC", TexMagic, "Magic Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_MARBLE, def_sh_tex_marble, "TEX_MARBLE", TexMarble, "Marble Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_MUSGRAVE, def_sh_tex_musgrave, "TEX_MUSGRAVE", TexMusgrave, "Musgrave Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_STUCCI, def_sh_tex_stucci, "TEX_STUCCI", TexStucci, "Stucci Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_VORONOI, def_sh_tex_voronoi, "TEX_VORONOI", TexVoronoi, "Voronoi Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_WOOD, def_sh_tex_wood, "TEX_WOOD", TexWood, "Wood Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_COORD, 0, "TEX_COORD", TexCoord, "Texture Coordinate", "") +DefNode( ShaderNode, SH_NODE_ATTRIBUTE, def_sh_attribute, "ATTRIBUTE", Attribute, "Attribute", "") +DefNode( ShaderNode, SH_NODE_BACKGROUND, 0, "BACKGROUND", Background, "Background", "") +DefNode( ShaderNode, SH_NODE_HOLDOUT, 0, "HOLDOUT", Holdout, "Holdout", "") +DefNode( ShaderNode, SH_NODE_BSDF_ANISOTROPIC, 0, "BSDF_ANISOTROPIC", BsdfAnisotropic, "Bsdf Anisotropic", "") +DefNode( ShaderNode, SH_NODE_BSDF_DIFFUSE, 0, "BSDF_DIFFUSE", BsdfDiffuse, "Diffuse Bsdf", "") +DefNode( ShaderNode, SH_NODE_BSDF_GLOSSY, def_glossy, "BSDF_GLOSSY", BsdfGlossy, "Glossy Bsdf", "") +DefNode( ShaderNode, SH_NODE_BSDF_GLASS, def_glossy, "BSDF_GLASS", BsdfGlass, "Glass Bsdf", "") +DefNode( ShaderNode, SH_NODE_BSDF_TRANSLUCENT, 0, "BSDF_TRANSLUCENT", BsdfTranslucent, "Translucent Bsdf", "") +DefNode( ShaderNode, SH_NODE_BSDF_TRANSPARENT, 0, "BSDF_TRANSPARENT", BsdfTransparent, "Transparent Bsdf", "") +DefNode( ShaderNode, SH_NODE_BSDF_VELVET, 0, "BSDF_VELVET", BsdfVelvet, "Velvet Bsdf", "") +DefNode( ShaderNode, SH_NODE_VOLUME_TRANSPARENT, 0, "VOLUME_TRANSPARENT", VolumeTransparent, "Transparent Volume", "") +DefNode( ShaderNode, SH_NODE_VOLUME_ISOTROPIC, 0, "VOLUME_ISOTROPIC", VolumeIsotropic, "Isotropic Volume", "") +DefNode( ShaderNode, SH_NODE_EMISSION, 0, "EMISSION", Emission, "Emission", "") +DefNode( ShaderNode, SH_NODE_GEOMETRY, 0, "GEOMETRY", Geometry, "Geometry", "") +DefNode( ShaderNode, SH_NODE_LIGHT_PATH, 0, "LIGHT_PATH", Light_path, "Light_path", "") +DefNode( ShaderNode, SH_NODE_TEX_IMAGE, def_sh_tex_image, "TEX_IMAGE", TexImage, "Image Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_ENVIRONMENT, def_sh_tex_environment, "TEX_ENVIRONMENT", TexEnvironment, "Environment Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_NOISE, 0, "TEX_NOISE", TexNoise, "Noise Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_SKY, def_sh_tex_sky, "TEX_SKY", TexSky, "Sky Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_BLEND, def_sh_tex_blend, "TEX_BLEND", TexBlend, "Blend Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_CLOUDS, def_sh_tex_clouds, "TEX_CLOUDS", TexClouds, "Clouds Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_DISTNOISE, def_sh_tex_distnoise, "TEX_DISTORTED_NOISE", TexDistortedNoise, "Distorted Noise Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_MAGIC, def_sh_tex_magic, "TEX_MAGIC", TexMagic, "Magic Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_MARBLE, def_sh_tex_marble, "TEX_MARBLE", TexMarble, "Marble Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_MUSGRAVE, def_sh_tex_musgrave, "TEX_MUSGRAVE", TexMusgrave, "Musgrave Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_STUCCI, def_sh_tex_stucci, "TEX_STUCCI", TexStucci, "Stucci Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_VORONOI, def_sh_tex_voronoi, "TEX_VORONOI", TexVoronoi, "Voronoi Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_WOOD, def_sh_tex_wood, "TEX_WOOD", TexWood, "Wood Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_COORD, 0, "TEX_COORD", TexCoord, "Texture Coordinate", "") DefNode( CompositorNode, CMP_NODE_VIEWER, 0, "VIEWER", Viewer, "Viewer", "" ) DefNode( CompositorNode, CMP_NODE_RGB, 0, "RGB", RGB, "RGB", "" ) diff --git a/source/blender/nodes/shader/node_shader_tree.c b/source/blender/nodes/shader/node_shader_tree.c index 6fc2cc4bee9..bb2e82fb033 100644 --- a/source/blender/nodes/shader/node_shader_tree.c +++ b/source/blender/nodes/shader/node_shader_tree.c @@ -244,4 +244,3 @@ void ntreeShaderExecTree(bNodeTree *ntree, ShadeInput *shi, ShadeResult *shr) if(shr->combined[1]<0.0f) shr->combined[1]= 0.0f; if(shr->combined[2]<0.0f) shr->combined[2]= 0.0f; } - diff --git a/source/blender/nodes/shader/nodes/node_shader_attribute.c b/source/blender/nodes/shader/nodes/node_shader_attribute.c index 131cfc3d285..57f8aed474c 100644 --- a/source/blender/nodes/shader/nodes/node_shader_attribute.c +++ b/source/blender/nodes/shader/nodes/node_shader_attribute.c @@ -32,7 +32,9 @@ /* **************** OUTPUT ******************** */ static bNodeSocketTemplate sh_node_attribute_out[]= { - { SOCK_VECTOR, 0, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_RGBA, 0, "Color"}, + { SOCK_VECTOR, 0, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, -FLT_MAX, FLT_MAX}, { -1, 0, "" } }; @@ -40,21 +42,26 @@ static void node_shader_exec_attribute(void *UNUSED(data), bNode *UNUSED(node), { } +static void node_shader_init_attribute(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) +{ + NodeShaderAttribute *attr = MEM_callocN(sizeof(NodeShaderAttribute), "NodeShaderAttribute"); + node->storage = attr; +} /* node type definition */ void register_node_type_sh_attribute(ListBase *lb) { static bNodeType ntype; - node_type_base(&ntype, SH_NODE_ATTRIBUTE, "Attribute", NODE_CLASS_INPUT, 0); + node_type_base(&ntype, SH_NODE_ATTRIBUTE, "Attribute", NODE_CLASS_INPUT, NODE_OPTIONS); node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, NULL, sh_node_attribute_out); node_type_size(&ntype, 150, 60, 200); - node_type_init(&ntype, NULL); - node_type_storage(&ntype, "", NULL, NULL); + node_type_init(&ntype, node_shader_init_attribute); + node_type_storage(&ntype, "NodeShaderAttribute", node_free_standard_storage, node_copy_standard_storage); node_type_exec(&ntype, node_shader_exec_attribute); node_type_gpu(&ntype, NULL); nodeRegisterType(lb, &ntype); -}; +} From d293d74942a8f48d4de6c53f4300540bd0035c34 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 15 Oct 2011 20:43:45 +0000 Subject: [PATCH 165/241] Cycles: more tweaks to get old/new shading systems working better together, for now also made non-material/world/lamp stuff use old texture datablocks, no time to get this fully working now. Still some python tweaks to do to ensure the right panels show. --- source/blender/editors/include/ED_node.h | 2 +- source/blender/editors/object/object_add.c | 8 +- .../blender/editors/render/render_shading.c | 24 +- .../editors/space_buttons/buttons_context.c | 277 +++++++++--------- .../editors/space_buttons/buttons_texture.c | 12 + source/blender/editors/space_node/node_draw.c | 2 - source/blender/editors/space_node/node_edit.c | 27 +- source/blender/makesrna/intern/rna_ID.c | 4 +- source/blender/makesrna/intern/rna_lamp.c | 11 +- source/blender/makesrna/intern/rna_material.c | 11 +- source/blender/makesrna/intern/rna_nodetree.c | 12 + source/blender/makesrna/intern/rna_render.c | 2 +- source/blender/makesrna/intern/rna_texture.c | 13 +- source/blender/makesrna/intern/rna_world.c | 11 +- .../blender/nodes/texture/node_texture_tree.c | 76 ++--- .../render/intern/source/render_texture.c | 4 +- 16 files changed, 266 insertions(+), 230 deletions(-) diff --git a/source/blender/editors/include/ED_node.h b/source/blender/editors/include/ED_node.h index f2eab51c5b9..37d2f65ee23 100644 --- a/source/blender/editors/include/ED_node.h +++ b/source/blender/editors/include/ED_node.h @@ -53,7 +53,7 @@ void ED_node_changed_update(struct ID *id, struct bNode *node); void ED_node_generic_update(struct Main *bmain, struct bNodeTree *ntree, struct bNode *node); /* node_edit.c */ -void ED_node_shader_default(struct ID *id); +void ED_node_shader_default(struct Scene *scene, struct ID *id); void ED_node_composit_default(struct Scene *sce); void ED_node_texture_default(struct Tex *tex); void ED_node_link_intersect_test(struct ScrArea *sa, int test); diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c index 8e3776e438e..39435065632 100644 --- a/source/blender/editors/object/object_add.c +++ b/source/blender/editors/object/object_add.c @@ -77,6 +77,7 @@ #include "BKE_particle.h" #include "BKE_report.h" #include "BKE_sca.h" +#include "BKE_scene.h" #include "BKE_speaker.h" #include "BKE_texture.h" @@ -701,6 +702,7 @@ static const char *get_lamp_defname(int type) static int object_lamp_add_exec(bContext *C, wmOperator *op) { + Scene *scene= CTX_data_scene(C); Object *ob; Lamp *la; int type= RNA_enum_get(op->ptr, "type"); @@ -719,8 +721,10 @@ static int object_lamp_add_exec(bContext *C, wmOperator *op) rename_id(&ob->id, get_lamp_defname(type)); rename_id(&la->id, get_lamp_defname(type)); - ED_node_shader_default(&la->id); - la->use_nodes= 1; + if(scene_use_new_shading_nodes(scene)) { + ED_node_shader_default(scene, &la->id); + la->use_nodes= 1; + } return OPERATOR_FINISHED; } diff --git a/source/blender/editors/render/render_shading.c b/source/blender/editors/render/render_shading.c index 9ebe2014f92..4ae5f8bdde4 100644 --- a/source/blender/editors/render/render_shading.c +++ b/source/blender/editors/render/render_shading.c @@ -366,6 +366,7 @@ void OBJECT_OT_material_slot_copy(wmOperatorType *ot) static int new_material_exec(bContext *C, wmOperator *UNUSED(op)) { + Scene *scene= CTX_data_scene(C); Material *ma= CTX_data_pointer_get_type(C, "material", &RNA_Material).data; PointerRNA ptr, idptr; PropertyRNA *prop; @@ -376,8 +377,11 @@ static int new_material_exec(bContext *C, wmOperator *UNUSED(op)) } else { ma= add_material("Material"); - ED_node_shader_default(&ma->id); - ma->use_nodes= 1; + + if(scene_use_new_shading_nodes(scene)) { + ED_node_shader_default(scene, &ma->id); + ma->use_nodes= 1; + } } /* hook into UI */ @@ -421,14 +425,10 @@ static int new_texture_exec(bContext *C, wmOperator *UNUSED(op)) PropertyRNA *prop; /* add or copy texture */ - if(tex) { + if(tex) tex= copy_texture(tex); - } - else { + else tex= add_texture("Texture"); - ED_node_shader_default(&tex->id); - tex->use_nodes= 1; - } /* hook into UI */ uiIDContextProperty(C, &ptr, &prop); @@ -466,6 +466,7 @@ void TEXTURE_OT_new(wmOperatorType *ot) static int new_world_exec(bContext *C, wmOperator *UNUSED(op)) { + Scene *scene= CTX_data_scene(C); World *wo= CTX_data_pointer_get_type(C, "world", &RNA_World).data; PointerRNA ptr, idptr; PropertyRNA *prop; @@ -476,8 +477,11 @@ static int new_world_exec(bContext *C, wmOperator *UNUSED(op)) } else { wo= add_world("World"); - ED_node_shader_default(&wo->id); - wo->use_nodes= 1; + + if(scene_use_new_shading_nodes(scene)) { + ED_node_shader_default(scene, &wo->id); + wo->use_nodes= 1; + } } /* hook into UI */ diff --git a/source/blender/editors/space_buttons/buttons_context.c b/source/blender/editors/space_buttons/buttons_context.c index 4f00a5aeeb9..adcba64609e 100644 --- a/source/blender/editors/space_buttons/buttons_context.c +++ b/source/blender/editors/space_buttons/buttons_context.c @@ -234,13 +234,11 @@ static int buttons_context_path_material(ButsContextPath *path, int for_texture) if(for_texture && give_current_material_texture_node(ma)) return 1; -#if 0 ma= give_node_material(ma); if(ma) { RNA_id_pointer_create(&ma->id, &path->ptr[path->len]); path->len++; } -#endif return 1; } } @@ -371,139 +369,141 @@ static int buttons_context_path_brush(ButsContextPath *path) static int buttons_context_path_texture(ButsContextPath *path, ButsContextTexture *ct) { - PointerRNA *ptr= &path->ptr[path->len-1]; - ID *id; + if(ct) { + /* new shading system */ + PointerRNA *ptr= &path->ptr[path->len-1]; + ID *id; - /* if we already have a (pinned) texture, we're done */ - if(RNA_struct_is_a(ptr->type, &RNA_Texture)) - return 1; + /* if we already have a (pinned) texture, we're done */ + if(RNA_struct_is_a(ptr->type, &RNA_Texture)) + return 1; - if(!(ct && ct->user)) - return 0; - - id= ct->user->id; - - if(id) { - if(GS(id->name) == ID_BR) - buttons_context_path_brush(path); - else if(GS(id->name) == ID_MA) - buttons_context_path_material(path, 0); - else if(GS(id->name) == ID_WO) - buttons_context_path_world(path); - else if(GS(id->name) == ID_LA) - buttons_context_path_data(path, OB_LAMP); - else if(GS(id->name) == ID_PA) - buttons_context_path_particle(path); - else if(GS(id->name) == ID_OB) - buttons_context_path_object(path); - } - - if(ct->texture) { - RNA_id_pointer_create(&ct->texture->id, &path->ptr[path->len]); - path->len++; - } - - return 1; - - -#if 0 - Material *ma; - Lamp *la; - Brush *br; - World *wo; - ParticleSystem *psys; - Tex *tex; - PointerRNA *ptr= &path->ptr[path->len-1]; - int orig_len = path->len; - - /* if we already have a (pinned) texture, we're done */ - if(RNA_struct_is_a(ptr->type, &RNA_Texture)) { - return 1; - } - /* try brush */ - if((path->tex_ctx == SB_TEXC_BRUSH) && buttons_context_path_brush(path)) { - br= path->ptr[path->len-1].data; + if(!ct->user) + return 0; - if(br) { - tex= give_current_brush_texture(br); + id= ct->user->id; - RNA_id_pointer_create(&tex->id, &path->ptr[path->len]); - path->len++; - return 1; + if(id) { + if(GS(id->name) == ID_BR) + buttons_context_path_brush(path); + else if(GS(id->name) == ID_MA) + buttons_context_path_material(path, 0); + else if(GS(id->name) == ID_WO) + buttons_context_path_world(path); + else if(GS(id->name) == ID_LA) + buttons_context_path_data(path, OB_LAMP); + else if(GS(id->name) == ID_PA) + buttons_context_path_particle(path); + else if(GS(id->name) == ID_OB) + buttons_context_path_object(path); } + + if(ct->texture) { + RNA_id_pointer_create(&ct->texture->id, &path->ptr[path->len]); + path->len++; + } + + return 1; } - /* try world */ - if((path->tex_ctx == SB_TEXC_WORLD) && buttons_context_path_world(path)) { - wo= path->ptr[path->len-1].data; + else { + /* old shading system */ + Material *ma; + Lamp *la; + Brush *br; + World *wo; + ParticleSystem *psys; + Tex *tex; + PointerRNA *ptr= &path->ptr[path->len-1]; + int orig_len = path->len; - if(wo && GS(wo->id.name)==ID_WO) { - tex= give_current_world_texture(wo); - - RNA_id_pointer_create(&tex->id, &path->ptr[path->len]); - path->len++; + /* if we already have a (pinned) texture, we're done */ + if(RNA_struct_is_a(ptr->type, &RNA_Texture)) { return 1; } - } - /* try particles */ - if((path->tex_ctx == SB_TEXC_PARTICLES) && buttons_context_path_particle(path)) { - if(path->ptr[path->len-1].type == &RNA_ParticleSettings) { - ParticleSettings *part = path->ptr[path->len-1].data; - - tex= give_current_particle_texture(part); - RNA_id_pointer_create(&tex->id, &path->ptr[path->len]); - path->len++; - return 1; - } - else { - psys= path->ptr[path->len-1].data; - - if(psys && psys->part && GS(psys->part->id.name)==ID_PA) { - tex= give_current_particle_texture(psys->part); + /* try brush */ + if((path->tex_ctx == SB_TEXC_BRUSH) && buttons_context_path_brush(path)) { + br= path->ptr[path->len-1].data; + + if(br) { + tex= give_current_brush_texture(br); RNA_id_pointer_create(&tex->id, &path->ptr[path->len]); path->len++; return 1; } } - } - /* try material */ - if(buttons_context_path_material(path, 1)) { - ma= path->ptr[path->len-1].data; + /* try world */ + if((path->tex_ctx == SB_TEXC_WORLD) && buttons_context_path_world(path)) { + wo= path->ptr[path->len-1].data; - if(ma) { - tex= give_current_material_texture(ma); + if(wo && GS(wo->id.name)==ID_WO) { + tex= give_current_world_texture(wo); - RNA_id_pointer_create(&tex->id, &path->ptr[path->len]); - path->len++; - return 1; + RNA_id_pointer_create(&tex->id, &path->ptr[path->len]); + path->len++; + return 1; + } } - } - /* try lamp */ - if(buttons_context_path_data(path, OB_LAMP)) { - la= path->ptr[path->len-1].data; + /* try particles */ + if((path->tex_ctx == SB_TEXC_PARTICLES) && buttons_context_path_particle(path)) { + if(path->ptr[path->len-1].type == &RNA_ParticleSettings) { + ParticleSettings *part = path->ptr[path->len-1].data; - if(la) { - tex= give_current_lamp_texture(la); + tex= give_current_particle_texture(part); + RNA_id_pointer_create(&tex->id, &path->ptr[path->len]); + path->len++; + return 1; + } + else { + psys= path->ptr[path->len-1].data; - RNA_id_pointer_create(&tex->id, &path->ptr[path->len]); - path->len++; - return 1; + if(psys && psys->part && GS(psys->part->id.name)==ID_PA) { + tex= give_current_particle_texture(psys->part); + + RNA_id_pointer_create(&tex->id, &path->ptr[path->len]); + path->len++; + return 1; + } + } } - } - /* try brushes again in case of no material, lamp, etc */ - path->len = orig_len; - if(buttons_context_path_brush(path)) { - br= path->ptr[path->len-1].data; - - if(br) { - tex= give_current_brush_texture(br); + /* try material */ + if(buttons_context_path_material(path, 1)) { + ma= path->ptr[path->len-1].data; + + if(ma) { + tex= give_current_material_texture(ma); + + RNA_id_pointer_create(&tex->id, &path->ptr[path->len]); + path->len++; + return 1; + } + } + /* try lamp */ + if(buttons_context_path_data(path, OB_LAMP)) { + la= path->ptr[path->len-1].data; + + if(la) { + tex= give_current_lamp_texture(la); + + RNA_id_pointer_create(&tex->id, &path->ptr[path->len]); + path->len++; + return 1; + } + } + /* try brushes again in case of no material, lamp, etc */ + path->len = orig_len; + if(buttons_context_path_brush(path)) { + br= path->ptr[path->len-1].data; - RNA_id_pointer_create(&tex->id, &path->ptr[path->len]); - path->len++; - return 1; + if(br) { + tex= give_current_brush_texture(br); + + RNA_id_pointer_create(&tex->id, &path->ptr[path->len]); + path->len++; + return 1; + } } } -#endif /* no path to a texture possible */ return 0; @@ -747,9 +747,15 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r } else if(CTX_data_equals(member, "texture")) { ButsContextTexture *ct= sbuts->texuser; - - if(ct) + + if(ct) { + /* new shading system */ CTX_data_pointer_set(result, &ct->texture->id, &RNA_Texture, ct->texture); + } + else { + /* old shading system */ + set_pointer_type(path, result, &RNA_Texture); + } return 1; } @@ -772,7 +778,10 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r else if(CTX_data_equals(member, "texture_user")) { ButsContextTexture *ct= sbuts->texuser; - if(ct && ct->user && ct->user->ptr.data) { + if(!ct) + return 0; /* old shading system */ + + if(ct->user && ct->user->ptr.data) { ButsTextureUser *user= ct->user; CTX_data_pointer_set(result, user->ptr.id.data, user->ptr.type, user->ptr.data); } @@ -782,29 +791,36 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r else if(CTX_data_equals(member, "texture_node")) { ButsContextTexture *ct= sbuts->texuser; - if(ct && ct->user && ct->user->node) - CTX_data_pointer_set(result, &ct->user->ntree->id, &RNA_Node, ct->user->node); + if(ct) { + /* new shading system */ + if(ct->user && ct->user->node) + CTX_data_pointer_set(result, &ct->user->ntree->id, &RNA_Node, ct->user->node); - return 1; - } -#if 0 - else if(CTX_data_equals(member, "texture_node")) { - PointerRNA *ptr; - - if((ptr=get_pointer_type(path, &RNA_Material))) { - Material *ma= ptr->data; - - if(ma) { - bNode *node= give_current_material_texture_node(ma); - CTX_data_pointer_set(result, &ma->id, &RNA_Node, node); - } + return 1; } + else { + /* old shading system */ + PointerRNA *ptr; - return 1; + if((ptr=get_pointer_type(path, &RNA_Material))) { + Material *ma= ptr->data; + + if(ma) { + bNode *node= give_current_material_texture_node(ma); + CTX_data_pointer_set(result, &ma->id, &RNA_Node, node); + } + } + + return 1; + } } else if(CTX_data_equals(member, "texture_slot")) { + ButsContextTexture *ct= sbuts->texuser; PointerRNA *ptr; + if(ct) + return 0; /* new shading system */ + if((ptr=get_pointer_type(path, &RNA_Material))) { Material *ma= ptr->data; @@ -851,7 +867,6 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r return 1; } -#endif else if(CTX_data_equals(member, "bone")) { set_pointer_type(path, result, &RNA_Bone); return 1; diff --git a/source/blender/editors/space_buttons/buttons_texture.c b/source/blender/editors/space_buttons/buttons_texture.c index dc013fc952b..dd9f3c57896 100644 --- a/source/blender/editors/space_buttons/buttons_texture.c +++ b/source/blender/editors/space_buttons/buttons_texture.c @@ -58,6 +58,7 @@ #include "BKE_node.h" #include "BKE_paint.h" #include "BKE_particle.h" +#include "BKE_scene.h" #include "RNA_access.h" @@ -252,6 +253,17 @@ void buttons_texture_context_compute(const bContext *C, SpaceButs *sbuts) /* gatheravailable texture users in context. runs on every draw of properties editor, before the buttons are created. */ ButsContextTexture *ct= sbuts->texuser; + Scene *scene= CTX_data_scene(C); + + if(!scene_use_new_shading_nodes(scene)) { + if(ct) { + MEM_freeN(ct); + BLI_freelistN(&ct->users); + sbuts->texuser= NULL; + } + + return; + } if(!ct) { ct= MEM_callocN(sizeof(ButsContextTexture), "ButsContextTexture"); diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c index 1d963c5a45a..35f0cc29f96 100644 --- a/source/blender/editors/space_node/node_draw.c +++ b/source/blender/editors/space_node/node_draw.c @@ -108,8 +108,6 @@ void ED_node_changed_update(ID *id, bNode *node) WM_main_add_notifier(NC_LAMP|ND_LIGHTING_DRAW, id); else if(GS(id->name) == ID_WO) WM_main_add_notifier(NC_WORLD|ND_WORLD_DRAW, id); - else if(GS(id->name) == ID_TE) - WM_main_add_notifier(NC_TEXTURE|ND_NODES, id); } else if(treetype==NTREE_COMPOSIT) { NodeTagChanged(edittree, node); diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index c7744263f04..2b0ce72376f 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -64,6 +64,7 @@ #include "BKE_material.h" #include "BKE_modifier.h" #include "BKE_paint.h" +#include "BKE_scene.h" #include "BKE_screen.h" #include "BKE_texture.h" #include "BKE_report.h" @@ -279,7 +280,7 @@ bNode *node_tree_get_editgroup(bNodeTree *nodetree) /* assumes nothing being done in ntree yet, sets the default in/out node */ /* called from shading buttons or header */ -void ED_node_shader_default(ID *id) +void ED_node_shader_default(Scene *scene, ID *id) { bNode *in, *out; bNodeSocket *fromsock, *tosock; @@ -292,8 +293,15 @@ void ED_node_shader_default(ID *id) switch(GS(id->name)) { case ID_MA: ((Material*)id)->nodetree = ntree; - output_type = SH_NODE_OUTPUT_MATERIAL; - shader_type = SH_NODE_BSDF_DIFFUSE; + + if(scene_use_new_shading_nodes(scene)) { + output_type = SH_NODE_OUTPUT_MATERIAL; + shader_type = SH_NODE_BSDF_DIFFUSE; + } + else { + output_type = SH_NODE_OUTPUT; + shader_type = SH_NODE_MATERIAL; + } break; case ID_WO: ((World*)id)->nodetree = ntree; @@ -305,11 +313,6 @@ void ED_node_shader_default(ID *id) output_type = SH_NODE_OUTPUT_LAMP; shader_type = SH_NODE_EMISSION; break; - case ID_TE: - ((Tex*)id)->nodetree = ntree; - output_type = SH_NODE_OUTPUT_TEXTURE; - shader_type = SH_NODE_TEX_CLOUDS; - break; default: printf("ED_node_shader_default called on wrong ID type.\n"); return; @@ -376,9 +379,6 @@ void ED_node_composit_default(Scene *sce) /* called from shading buttons or header */ void ED_node_texture_default(Tex *tx) { - ED_node_shader_default(&tx->id); - -#if 0 bNode *in, *out; bNodeSocket *fromsock, *tosock; bNodeTemplate ntemp; @@ -406,7 +406,6 @@ void ED_node_texture_default(Tex *tx) nodeAddLink(tx->nodetree, in, fromsock, out, tosock); ntreeUpdateTree(tx->nodetree); -#endif } /* id is supposed to contain a node tree */ @@ -438,7 +437,7 @@ void node_tree_from_ID(ID *id, bNodeTree **ntree, bNodeTree **edittree, int *tre } else if(idtype == ID_TE) { *ntree= ((Tex*)id)->nodetree; - if(treetype) *treetype= (*ntree)? (*ntree)->type: NTREE_SHADER; + if(treetype) *treetype= NTREE_TEXTURE; } else { if(treetype) *treetype= 0; @@ -3663,6 +3662,7 @@ static int new_node_tree_exec(bContext *C, wmOperator *op) /* hook into UI */ uiIDContextProperty(C, &ptr, &prop); + if(prop) { RNA_id_pointer_create(&ntree->id, &idptr); RNA_property_pointer_set(&ptr, prop, idptr); @@ -3698,4 +3698,3 @@ void NODE_OT_new_node_tree(wmOperatorType *ot) RNA_def_enum(ot->srna, "type", nodetree_type_items, NTREE_COMPOSIT, "Tree Type", ""); RNA_def_string(ot->srna, "name", "NodeTree", MAX_ID_NAME-2, "Name", ""); } - diff --git a/source/blender/makesrna/intern/rna_ID.c b/source/blender/makesrna/intern/rna_ID.c index 24e7594e784..cdc79e0a23f 100644 --- a/source/blender/makesrna/intern/rna_ID.c +++ b/source/blender/makesrna/intern/rna_ID.c @@ -485,12 +485,12 @@ static void rna_def_ID(BlenderRNA *brna) prop= RNA_def_property(srna, "recalc", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "flag", LIB_ID_RECALC); RNA_def_property_clear_flag(prop, PROP_EDITABLE); - RNA_def_property_ui_text(prop, "Recalc", "Datablock is tagged for recalculation."); + RNA_def_property_ui_text(prop, "Recalc", "Datablock is tagged for recalculation"); prop= RNA_def_property(srna, "recalc_data", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "flag", LIB_ID_RECALC_DATA); RNA_def_property_clear_flag(prop, PROP_EDITABLE); - RNA_def_property_ui_text(prop, "Recalc Data", "Datablock data is tagged for recalculation."); + RNA_def_property_ui_text(prop, "Recalc Data", "Datablock data is tagged for recalculation"); prop= RNA_def_property(srna, "library", PROP_POINTER, PROP_NONE); RNA_def_property_pointer_sdna(prop, NULL, "lib"); diff --git a/source/blender/makesrna/intern/rna_lamp.c b/source/blender/makesrna/intern/rna_lamp.c index 82d095e3510..7d585187f4f 100644 --- a/source/blender/makesrna/intern/rna_lamp.c +++ b/source/blender/makesrna/intern/rna_lamp.c @@ -148,13 +148,14 @@ static void rna_Lamp_spot_size_set(PointerRNA *ptr, float value) la->spotsize= RAD2DEGF(value); } -static void rna_Lamp_use_nodes_set(PointerRNA *ptr, int value) +static void rna_Lamp_use_nodes_update(Main *blain, Scene *scene, PointerRNA *ptr) { Lamp *la= (Lamp*)ptr->data; - la->use_nodes= value; if(la->use_nodes && la->nodetree==NULL) - ED_node_shader_default(&la->id); + ED_node_shader_default(scene, &la->id); + + rna_Lamp_update(blain, scene, ptr); } #else @@ -385,9 +386,9 @@ static void rna_def_lamp(BlenderRNA *brna) prop= RNA_def_property(srna, "use_nodes", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "use_nodes", 1); - RNA_def_property_boolean_funcs(prop, NULL, "rna_Lamp_use_nodes_set"); + RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); RNA_def_property_ui_text(prop, "Use Nodes", "Use shader nodes to render the lamp"); - RNA_def_property_update(prop, 0, "rna_Lamp_update"); + RNA_def_property_update(prop, 0, "rna_Lamp_use_nodes_update"); /* common */ rna_def_animdata_common(srna); diff --git a/source/blender/makesrna/intern/rna_material.c b/source/blender/makesrna/intern/rna_material.c index 16b9371916f..209b27eb1ff 100644 --- a/source/blender/makesrna/intern/rna_material.c +++ b/source/blender/makesrna/intern/rna_material.c @@ -271,13 +271,14 @@ static void rna_Material_use_specular_ramp_set(PointerRNA *ptr, int value) ma->ramp_spec= add_colorband(0); } -static void rna_Material_use_nodes_set(PointerRNA *ptr, int value) +static void rna_Material_use_nodes_update(Main *bmain, Scene *scene, PointerRNA *ptr) { Material *ma= (Material*)ptr->data; - ma->use_nodes= value; if(ma->use_nodes && ma->nodetree==NULL) - ED_node_shader_default(&ma->id); + ED_node_shader_default(scene, &ma->id); + + rna_Material_update(bmain, scene, ptr); } static EnumPropertyItem *rna_Material_texture_coordinates_itemf(bContext *UNUSED(C), PointerRNA *ptr, @@ -1956,9 +1957,9 @@ void RNA_def_material(BlenderRNA *brna) prop= RNA_def_property(srna, "use_nodes", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "use_nodes", 1); - RNA_def_property_boolean_funcs(prop, NULL, "rna_Material_use_nodes_set"); + RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); RNA_def_property_ui_text(prop, "Use Nodes", "Use shader nodes to render the material"); - RNA_def_property_update(prop, 0, "rna_Material_update"); + RNA_def_property_update(prop, 0, "rna_Material_use_nodes_update"); prop= RNA_def_property(srna, "active_node_material", PROP_POINTER, PROP_NONE); RNA_def_property_struct_type(prop, "Material"); diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index 4cbb1c7deea..f1fe5b6a85e 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -1167,6 +1167,18 @@ static void def_sh_geometry(StructRNA *srna) RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); } +static void def_sh_attribute(StructRNA *srna) +{ + PropertyRNA *prop; + + RNA_def_struct_sdna_from(srna, "NodeShaderAttribute", "storage"); + + prop = RNA_def_property(srna, "attribute_name", PROP_STRING, PROP_NONE); + RNA_def_property_string_sdna(prop, NULL, "name"); + RNA_def_property_ui_text(prop, "Attribute Name", ""); + RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); +} + static void def_sh_tex_sky(StructRNA *srna) { PropertyRNA *prop; diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c index ef2e97c4427..45015f491d2 100644 --- a/source/blender/makesrna/intern/rna_render.c +++ b/source/blender/makesrna/intern/rna_render.c @@ -376,7 +376,7 @@ static void rna_def_render_engine(BlenderRNA *brna) RNA_def_property_flag(prop, PROP_REQUIRED); func= RNA_def_function(srna, "update_progress", "RE_engine_update_progress"); - prop= RNA_def_float(func, "progress", 0, 0.0f, 1.0f, "", "Percentage of render that's done.", 0.0f, 1.0f); + prop= RNA_def_float(func, "progress", 0, 0.0f, 1.0f, "", "Percentage of render that's done", 0.0f, 1.0f); RNA_def_property_flag(prop, PROP_REQUIRED); func= RNA_def_function(srna, "report", "RE_engine_report"); diff --git a/source/blender/makesrna/intern/rna_texture.c b/source/blender/makesrna/intern/rna_texture.c index b5e8acb76e5..61c0605c73b 100644 --- a/source/blender/makesrna/intern/rna_texture.c +++ b/source/blender/makesrna/intern/rna_texture.c @@ -347,6 +347,16 @@ static void rna_Texture_use_nodes_set(PointerRNA *ptr, int v) ED_node_texture_default(tex); } +static void rna_Texture_use_nodes_update(Main *bmain, Scene *scene, PointerRNA *ptr) +{ + Tex *tex= (Tex*)ptr->data; + + if(tex->use_nodes && tex->nodetree==NULL) + ED_node_shader_default(scene, &tex->id); + + rna_Texture_nodes_update(bmain, scene, ptr); +} + static void rna_ImageTexture_mipmap_set(PointerRNA *ptr, int value) { Tex *tex= (Tex*)ptr->data; @@ -1831,8 +1841,9 @@ static void rna_def_texture(BlenderRNA *brna) prop= RNA_def_property(srna, "use_nodes", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "use_nodes", 1); RNA_def_property_boolean_funcs(prop, NULL, "rna_Texture_use_nodes_set"); + RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); RNA_def_property_ui_text(prop, "Use Nodes", "Make this a node-based texture"); - RNA_def_property_update(prop, 0, "rna_Texture_nodes_update"); + RNA_def_property_update(prop, 0, "rna_Texture_use_nodes_update"); prop= RNA_def_property(srna, "node_tree", PROP_POINTER, PROP_NONE); RNA_def_property_pointer_sdna(prop, NULL, "nodetree"); diff --git a/source/blender/makesrna/intern/rna_world.c b/source/blender/makesrna/intern/rna_world.c index 0b7bf62cc27..eb797158477 100644 --- a/source/blender/makesrna/intern/rna_world.c +++ b/source/blender/makesrna/intern/rna_world.c @@ -123,13 +123,14 @@ static void rna_World_stars_update(Main *UNUSED(bmain), Scene *UNUSED(scene), Po WM_main_add_notifier(NC_WORLD|ND_WORLD_STARS, wo); } -static void rna_World_use_nodes_set(PointerRNA *ptr, int value) +static void rna_World_use_nodes_update(Main *bmain, Scene *scene, PointerRNA *ptr) { World *wrld= (World*)ptr->data; - wrld->use_nodes= value; if(wrld->use_nodes && wrld->nodetree==NULL) - ED_node_shader_default(&wrld->id); + ED_node_shader_default(scene, &wrld->id); + + rna_World_update(bmain, scene, ptr); } #else @@ -583,9 +584,9 @@ void RNA_def_world(BlenderRNA *brna) prop= RNA_def_property(srna, "use_nodes", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "use_nodes", 1); - RNA_def_property_boolean_funcs(prop, NULL, "rna_World_use_nodes_set"); + RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); RNA_def_property_ui_text(prop, "Use Nodes", "Use shader nodes to render the world"); - RNA_def_property_update(prop, 0, "rna_World_update"); + RNA_def_property_update(prop, 0, "rna_World_use_nodes_update"); rna_def_lighting(brna); rna_def_world_mist(brna); diff --git a/source/blender/nodes/texture/node_texture_tree.c b/source/blender/nodes/texture/node_texture_tree.c index 9620886f435..603aa7ceb77 100644 --- a/source/blender/nodes/texture/node_texture_tree.c +++ b/source/blender/nodes/texture/node_texture_tree.c @@ -49,7 +49,6 @@ #include "node_util.h" #include "NOD_texture.h" #include "node_texture_util.h" -#include "../shader/node_shader_util.h" #include "RE_pipeline.h" #include "RE_shader_ext.h" @@ -217,57 +216,36 @@ int ntreeTexExecTree( ShadeInput *shi, MTex *mtex ){ + TexCallData data; + float *nor= texres->nor; + int retval = TEX_INT; bNodeThreadStack *nts = NULL; bNodeTreeExec *exec= nodes->execdata; - if(nodes->type == NTREE_SHADER) { - ShaderCallData scd; + data.co = co; + data.dxt = dxt; + data.dyt = dyt; + data.osatex = osatex; + data.target = texres; + data.do_preview = preview; + data.thread = thread; + data.which_output = which_output; + data.cfra= cfra; + data.mtex= mtex; + data.shi= shi; + + if (!exec) + exec = ntreeTexBeginExecTree(nodes, 1); + + nts= ntreeGetThreadStack(exec, thread); + ntreeExecThreadNodes(exec, nts, &data, thread); + ntreeReleaseThreadStack(nts); - memset(&scd, 0, sizeof(scd)); - scd.texres = texres; - scd.co = co; - scd.dxt = dxt; - scd.dyt = dyt; + if(texres->nor) retval |= TEX_NOR; + retval |= TEX_RGB; + /* confusing stuff; the texture output node sets this to NULL to indicate no normal socket was set + however, the texture code checks this for other reasons (namely, a normal is required for material) */ + texres->nor= nor; - if (!exec) - exec = nodes->execdata = ntreeShaderBeginExecTree(nodes, 1); - - nts= ntreeGetThreadStack(exec, thread); - ntreeExecThreadNodes(exec, nts, &scd, thread); - ntreeReleaseThreadStack(nts); - - return TEX_INT|TEX_RGB; - } - else { - TexCallData data; - float *nor= texres->nor; - int retval = TEX_INT; - - data.co = co; - data.dxt = dxt; - data.dyt = dyt; - data.osatex = osatex; - data.target = texres; - data.do_preview = preview; - data.thread = thread; - data.which_output = which_output; - data.cfra= cfra; - data.mtex= mtex; - data.shi= shi; - - if (!exec) - exec = ntreeTexBeginExecTree(nodes, 1); - - nts= ntreeGetThreadStack(exec, thread); - ntreeExecThreadNodes(exec, nts, &data, thread); - ntreeReleaseThreadStack(nts); - - if(texres->nor) retval |= TEX_NOR; - retval |= TEX_RGB; - /* confusing stuff; the texture output node sets this to NULL to indicate no normal socket was set - however, the texture code checks this for other reasons (namely, a normal is required for material) */ - texres->nor= nor; - - return retval; - } + return retval; } diff --git a/source/blender/render/intern/source/render_texture.c b/source/blender/render/intern/source/render_texture.c index 9fdfd085111..ae814f67450 100644 --- a/source/blender/render/intern/source/render_texture.c +++ b/source/blender/render/intern/source/render_texture.c @@ -1362,9 +1362,9 @@ int multitex_ext_safe(Tex *tex, float *texvec, TexResult *texres) { int use_nodes= tex->use_nodes, retval; - // XXX tex->use_nodes= 0; + tex->use_nodes= 0; retval= multitex_nodes(tex, texvec, NULL, NULL, 0, texres, 0, 0, NULL, NULL); - // XXX tex->use_nodes= use_nodes; + tex->use_nodes= use_nodes; return retval; } From d5b679253a09c161707437f0a86bf32d5b548a63 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 15 Oct 2011 23:49:01 +0000 Subject: [PATCH 166/241] Cycles: * Sun, area and point lights with size now supported * Cast shadow option to disable shadow casting for lamps * Emission strength of materials tweaked such that setting strength to 1.0 basically makes the material "shadeless" in that the value of the color input will be the resulting color in the image. --- intern/cycles/blender/addon/ui.py | 15 ++---- intern/cycles/blender/blender_object.cpp | 12 ++--- intern/cycles/kernel/kernel_emission.h | 13 ++--- intern/cycles/kernel/kernel_light.h | 8 +-- intern/cycles/kernel/osl/emissive.cpp | 4 +- intern/cycles/kernel/svm/emissive.h | 4 +- source/blender/blenkernel/BKE_blender.h | 2 +- source/blender/blenloader/intern/readfile.c | 49 +++++++++++++++++++ source/blender/editors/space_node/node_edit.c | 10 ++++ .../nodes/shader/nodes/node_shader_emission.c | 2 +- 10 files changed, 83 insertions(+), 36 deletions(-) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 6f31732aa1f..d8f776b0114 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -366,8 +366,7 @@ class CyclesLamp_PT_lamp(CyclesButtonsPanel, Panel): @classmethod def poll(cls, context): - return False - #return context.lamp and CyclesButtonsPanel.poll(context) + return context.lamp and CyclesButtonsPanel.poll(context) def draw(self, context): layout = self.layout @@ -505,18 +504,14 @@ class CyclesMaterial_PT_settings(CyclesButtonsPanel, Panel): mat = context.material cmat = mat.cycles - layout.prop(mat, "diffuse_color", text="Viewport Color") - - """ split = layout.split() - + + col = split.column() + col.prop(mat, "diffuse_color", text="Viewport Color") + col = split.column() col.prop(cmat, "sample_as_light") - col = split.column() - col.prop(cmat, "homogeneous_volume") - """ - class CyclesTexture_PT_context(CyclesButtonsPanel, Panel): bl_label = "" bl_context = "texture" diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp index de41484975d..1095a3ee026 100644 --- a/intern/cycles/blender/blender_object.cpp +++ b/intern/cycles/blender/blender_object.cpp @@ -91,14 +91,11 @@ void BlenderSync::sync_light(BL::Object b_parent, int b_index, BL::Object b_ob, BL::Lamp b_lamp(b_ob.data()); /* type */ -#if 0 switch(b_lamp.type()) { case BL::Lamp::type_POINT: { BL::PointLamp b_point_lamp(b_lamp); light->size = b_point_lamp.shadow_soft_size(); -#endif light->type = LIGHT_POINT; -#if 0 break; } case BL::Lamp::type_SPOT: { @@ -132,11 +129,10 @@ void BlenderSync::sync_light(BL::Object b_parent, int b_index, BL::Object b_ob, break; } } -#endif - /* location */ + /* location and (inverted!) direction */ light->co = make_float3(tfm.x.w, tfm.y.w, tfm.z.w); - light->dir = make_float3(tfm.x.z, tfm.y.z, tfm.z.z); + light->dir = -make_float3(tfm.x.z, tfm.y.z, tfm.z.z); /* shader */ vector used_shaders; @@ -149,8 +145,8 @@ void BlenderSync::sync_light(BL::Object b_parent, int b_index, BL::Object b_ob, light->shader = used_shaders[0]; /* shadow */ - //PointerRNA clamp = RNA_pointer_get(&b_lamp.ptr, "cycles"); - //light->cast_shadow = get_boolean(clamp, "cast_shadow"); + PointerRNA clamp = RNA_pointer_get(&b_lamp.ptr, "cycles"); + light->cast_shadow = get_boolean(clamp, "cast_shadow"); /* tag */ light->tag_update(scene); diff --git a/intern/cycles/kernel/kernel_emission.h b/intern/cycles/kernel/kernel_emission.h index 13c48464088..22970f66669 100644 --- a/intern/cycles/kernel/kernel_emission.h +++ b/intern/cycles/kernel/kernel_emission.h @@ -88,14 +88,11 @@ __device bool direct_emission(KernelGlobals *kg, ShaderData *sd, int lindex, float mis_weight = power_heuristic(pdf, bsdf_pdf); *eval *= mis_weight; } - else if(!(ls.shader & SHADER_AREA_LIGHT)) { - /* ensure point light works in Watts, this should be handled - * elsewhere but for now together with the diffuse emission - * closure it works out to the right value */ - *eval *= 0.25f; - - /* XXX verify with other light types */ - } + /* todo: clean up these weights */ + else if(ls.shader & SHADER_AREA_LIGHT) + *eval *= 0.25f; /* area lamp */ + else if(ls.t != FLT_MAX) + *eval *= 0.25f*M_1_PI_F; /* point lamp */ if(ls.shader & SHADER_CAST_SHADOW) { /* setup ray */ diff --git a/intern/cycles/kernel/kernel_light.h b/intern/cycles/kernel/kernel_light.h index 68d08a2655f..d5d47b28d59 100644 --- a/intern/cycles/kernel/kernel_light.h +++ b/intern/cycles/kernel/kernel_light.h @@ -75,8 +75,8 @@ __device void regular_light_sample(KernelGlobals *kg, int point, D = distant_light_sample(D, size, randu, randv); ls->P = D; - ls->Ng = -D; - ls->D = D; + ls->Ng = D; + ls->D = -D; ls->t = FLT_MAX; } else { @@ -120,9 +120,9 @@ __device float regular_light_pdf(KernelGlobals *kg, if(t == FLT_MAX) return pdf; - float cos_pi = fabsf(dot(Ng, I)); + float cos_pi = dot(Ng, I); - if(cos_pi == 0.0f) + if(cos_pi <= 0.0f) return 0.0f; return t*t*pdf/cos_pi; diff --git a/intern/cycles/kernel/osl/emissive.cpp b/intern/cycles/kernel/osl/emissive.cpp index 28d3c73e59b..2d2d6e1fdde 100644 --- a/intern/cycles/kernel/osl/emissive.cpp +++ b/intern/cycles/kernel/osl/emissive.cpp @@ -64,7 +64,7 @@ public: Color3 eval (const Vec3 &Ng, const Vec3 &omega_out) const { float cosNO = fabsf(Ng.dot(omega_out)); - float res = cosNO > 0 ? 1.0f / float(M_PI) : 0.0f; + float res = cosNO > 0 ? 1.0f: 0.0f; return Color3(res, res, res); } @@ -91,7 +91,7 @@ public: const Vec3 &omega_out) const { float cosNO = Ng.dot(omega_out); - return cosNO > 0 ? 1.0f / float(M_PI) : 0.0f; + return cosNO > 0 ? 1.0f: 0.0f; } }; diff --git a/intern/cycles/kernel/svm/emissive.h b/intern/cycles/kernel/svm/emissive.h index 8bd31751fb3..e3f99e9b729 100644 --- a/intern/cycles/kernel/svm/emissive.h +++ b/intern/cycles/kernel/svm/emissive.h @@ -37,7 +37,7 @@ CCL_NAMESPACE_BEGIN __device float3 emissive_eval(const float3 Ng, const float3 I) { float cosNO = fabsf(dot(Ng, I)); - float res = (cosNO > 0.0f)? M_1_PI_F: 0.0f; + float res = (cosNO > 0.0f)? 1.0f: 0.0f; return make_float3(res, res, res); } @@ -48,7 +48,7 @@ __device float3 emissive_eval(const float3 Ng, const float3 I) __device float emissive_pdf(const float3 Ng, const float3 I) { float cosNO = fabsf(dot(Ng, I)); - return (cosNO > 0.0f)? M_1_PI_F: 0.0f; + return (cosNO > 0.0f)? 1.0f: 0.0f; } __device float3 svm_emissive_eval(ShaderData *sd, ShaderClosure *sc) diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h index f6910fede8e..34a9321284d 100644 --- a/source/blender/blenkernel/BKE_blender.h +++ b/source/blender/blenkernel/BKE_blender.h @@ -44,7 +44,7 @@ extern "C" { * and keep comment above the defines. * Use STRINGIFY() rather than defining with quotes */ #define BLENDER_VERSION 259 -#define BLENDER_SUBVERSION 4 +#define BLENDER_SUBVERSION 5 #define BLENDER_MINVERSION 250 #define BLENDER_MINSUBVERSION 0 diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 1ed23361581..fb1beec1cbf 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -2057,6 +2057,30 @@ static void lib_link_nodetree(FileData *fd, Main *main) } } +static void ntree_tmp_cycles_emission_version_patch(FileData *fd, Library *lib, bNodeTree *ntree) +{ + bNode *node; + bNodeSocket *sock; + bNodeSocketValueFloat *valfloat; + + for(node=ntree->nodes.first; node; node=node->next) { + if(node->type == SH_NODE_EMISSION) { + for(sock=node->inputs.first; sock; sock=sock->next) { + if(strcmp(sock->name, "Strength") == 0) { + valfloat= sock->default_value; + valfloat->value /= M_PI; + } + } + } + else if(node->type == NODE_GROUP) { + bNodeTree *ntree= newlibadr(fd, lib, node->id); + + if(ntree) + ntree_tmp_cycles_emission_version_patch(fd, lib, ntree); + } + } +} + static void ntree_tmp_cycles_version_patch(bNodeTree *ntree) { bNode *node; @@ -12296,6 +12320,31 @@ static void do_versions(FileData *fd, Library *lib, Main *main) } + if(main->versionfile < 259 || (main->versionfile == 259 && main->subversionfile < 5)) { + Scene *sce; + Base *base; + Material *ma; + + /* compatibility tweak */ + for(sce = main->scene.first; sce; sce = sce->id.next) { + if(strcmp(sce->r.engine, "CYCLES") == 0) { + for(base = sce->base.first; base; base=base->next) { + Object *ob= newlibadr(fd, lib, base->object); + + if(ob && ob->type == OB_LAMP) { + Lamp *la= newlibadr(fd, lib, ob->data); + if(la) + la->area_size= 0.0f; + } + } + } + } + + for(ma = main->mat.first; ma; ma= ma->id.next) + if(ma->nodetree) + ntree_tmp_cycles_emission_version_patch(fd, lib, ma->nodetree); + } + /* put compatibility code here until next subversion bump */ { } diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index 2b0ce72376f..82b3da675ba 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -331,6 +331,16 @@ void ED_node_shader_default(Scene *scene, ID *id) fromsock= in->outputs.first; tosock= out->inputs.first; nodeAddLink(ntree, in, fromsock, out, tosock); + + if(GS(id->name) == ID_LA) { + Lamp *la= (Lamp*)id; + + if(la->type == LA_LOCAL || la->type == LA_SPOT || la->type == LA_AREA) { + bNodeSocket *sock= in->inputs.last; + bNodeSocketValueFloat *default_value= sock->default_value; + default_value->value= 100.0f; + } + } ntreeUpdateTree(ntree); } diff --git a/source/blender/nodes/shader/nodes/node_shader_emission.c b/source/blender/nodes/shader/nodes/node_shader_emission.c index 32e17d772d7..78644d5317d 100644 --- a/source/blender/nodes/shader/nodes/node_shader_emission.c +++ b/source/blender/nodes/shader/nodes/node_shader_emission.c @@ -33,7 +33,7 @@ static bNodeSocketTemplate sh_node_emission_in[]= { { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, - { SOCK_FLOAT, 1, "Strength", 30.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000000.0f}, + { SOCK_FLOAT, 1, "Strength", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000000.0f}, { -1, 0, "" } }; From 60b72a7a41017be884fffbc777336a15204c27fe Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Sun, 16 Oct 2011 14:11:53 +0000 Subject: [PATCH 167/241] Cycles: * World background was emitting light, even after removal of World shader nodes. --- intern/cycles/kernel/kernel_shader.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/intern/cycles/kernel/kernel_shader.h b/intern/cycles/kernel/kernel_shader.h index c1bcbb067b5..ac0df71c38f 100644 --- a/intern/cycles/kernel/kernel_shader.h +++ b/intern/cycles/kernel/kernel_shader.h @@ -517,7 +517,7 @@ __device float3 shader_eval_background(KernelGlobals *kg, ShaderData *sd, int pa if(sd->closure.type == CLOSURE_BACKGROUND_ID) return sd->closure.weight; else - return make_float3(0.8f, 0.8f, 0.8f); + return make_float3(0.0f, 0.0f, 0.0f); #endif #else From 5c3d8c1eb6ba4c6a18da7b089c145c4cc4556237 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 16 Oct 2011 16:53:24 +0000 Subject: [PATCH 168/241] Cycles: fix missing node editor redraw when assiging/removing materials. --- source/blender/editors/space_node/space_node.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c index dc3ef9f5a76..a17b58a80d8 100644 --- a/source/blender/editors/space_node/space_node.c +++ b/source/blender/editors/space_node/space_node.c @@ -216,6 +216,12 @@ static void node_area_listener(ScrArea *sa, wmNotifier *wmn) ED_area_tag_refresh(sa); } break; + case NC_OBJECT: + if(type==NTREE_SHADER) { + if(wmn->data==ND_OB_SHADING) + ED_area_tag_refresh(sa); + } + break; case NC_TEXT: /* pynodes */ if(wmn->data==ND_SHADING) @@ -436,6 +442,10 @@ static void node_region_listener(ARegion *ar, wmNotifier *wmn) case NC_NODE: ED_region_tag_redraw(ar); break; + case NC_OBJECT: + if(wmn->data==ND_OB_SHADING) + ED_region_tag_redraw(ar); + break; case NC_ID: if(wmn->action == NA_RENAME) ED_region_tag_redraw(ar); From 7b1ef0f41620514be98fc9fff9db9bd59ae57e0d Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 16 Oct 2011 17:00:48 +0000 Subject: [PATCH 169/241] Cycles: use mesh normals computed by Blender instead of computing our own, solves an issue with poor mesh geometry. --- intern/cycles/blender/blender_mesh.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp index af14bad6402..3bf83fa533f 100644 --- a/intern/cycles/blender/blender_mesh.cpp +++ b/intern/cycles/blender/blender_mesh.cpp @@ -65,6 +65,13 @@ static void create_mesh(Scene *scene, Mesh *mesh, BL::Mesh b_mesh, const vector< for(b_mesh.vertices.begin(v); v != b_mesh.vertices.end(); ++v) mesh->verts.push_back(get_float3(v->co())); + /* create vertex normals */ + Attribute *attr_N = mesh->attributes.add(Attribute::STD_VERTEX_NORMAL); + float3 *N = attr_N->data_float3(); + + for(b_mesh.vertices.begin(v); v != b_mesh.vertices.end(); ++v, ++N) + *N= get_float3(v->normal()); + /* create faces */ BL::Mesh::faces_iterator f; vector nverts; From 7600c687b27c07e8cad2ac1fdef912cd4ba47492 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 16 Oct 2011 17:06:01 +0000 Subject: [PATCH 170/241] Cycles: fix sampling issue with certain (transparent) max bounce settings, and tweak presets/defaults to use 128 instead of 1024. --- intern/cycles/blender/addon/properties.py | 8 +++++--- intern/cycles/render/integrator.cpp | 2 +- .../cycles/integrator/full_global_illumination.py | 10 +++++----- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index 8d3f709cdef..a47174dd6c6 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -55,16 +55,18 @@ class CyclesRenderSettings(bpy.types.PropertyGroup): default=8, min=0, max=1024) cls.diffuse_bounces = IntProperty(name="Diffuse Bounces", description="Maximum number of diffuse reflection bounces, bounded by total maximum", - default=1024, min=0, max=1024) + default=128, min=0, max=1024) cls.glossy_bounces = IntProperty(name="Glossy Bounces", description="Maximum number of glossy reflection bounces, bounded by total maximum", - default=1024, min=0, max=1024) + default=128, min=0, max=1024) cls.transmission_bounces = IntProperty(name="Transmission Bounces", description="Maximum number of transmission bounces, bounded by total maximum", - default=1024, min=0, max=1024) + default=128, min=0, max=1024) cls.transparent_min_bounces = IntProperty(name="Transparent Min Bounces", description="Minimum number of transparent bounces, setting this lower than the maximum enables probalistic path termination (faster but noisier)", default=8, min=0, max=1024) cls.transparent_max_bounces = IntProperty(name="Transparent Max Bounces", description="Maximum number of transparent bounces", default=8, min=0, max=1024) + cls.use_transparent_shadows = BoolProperty(name="Transparent Shadows", description="Use transparency of surfaces for rendering shadows", + default=True) cls.film_exposure = FloatProperty(name="Exposure", description="Image brightness scale", default=1.0, min=0.0, max=10.0) diff --git a/intern/cycles/render/integrator.cpp b/intern/cycles/render/integrator.cpp index 57689be3965..78ea464d836 100644 --- a/intern/cycles/render/integrator.cpp +++ b/intern/cycles/render/integrator.cpp @@ -80,7 +80,7 @@ void Integrator::device_update(Device *device, DeviceScene *dscene) kintegrator->blur_caustics = blur_caustics; /* sobol directions table */ - int dimensions = PRNG_BASE_NUM + (max_bounce + 2)*PRNG_BOUNCE_NUM; + int dimensions = PRNG_BASE_NUM + (max_bounce + transparent_max_bounce + 2)*PRNG_BOUNCE_NUM; uint *directions = dscene->sobol_directions.resize(SOBOL_BITS*dimensions); sobol_generate_direction_vectors((uint(*)[SOBOL_BITS])directions, dimensions); diff --git a/release/scripts/presets/cycles/integrator/full_global_illumination.py b/release/scripts/presets/cycles/integrator/full_global_illumination.py index 47c4431de13..8687f169b8a 100644 --- a/release/scripts/presets/cycles/integrator/full_global_illumination.py +++ b/release/scripts/presets/cycles/integrator/full_global_illumination.py @@ -1,11 +1,11 @@ import bpy cycles = bpy.context.scene.cycles -cycles.max_bounces = 1024 +cycles.max_bounces = 128 cycles.min_bounces = 3 cycles.no_caustics = False -cycles.diffuse_bounces = 1024 -cycles.glossy_bounces = 1024 -cycles.transmission_bounces = 1024 +cycles.diffuse_bounces = 128 +cycles.glossy_bounces = 128 +cycles.transmission_bounces = 128 cycles.transparent_min_bounces = 8 -cycles.transparent_max_bounces = 1024 +cycles.transparent_max_bounces = 128 From 11f3029267524f66b1f4db9de53889216bfd7c35 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 16 Oct 2011 17:19:29 +0000 Subject: [PATCH 171/241] Cycles: fix F12 render not using render resolution for modifiers. --- intern/cycles/blender/blender_util.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/intern/cycles/blender/blender_util.h b/intern/cycles/blender/blender_util.h index fe9a611e2f8..bcca028dc2a 100644 --- a/intern/cycles/blender/blender_util.h +++ b/intern/cycles/blender/blender_util.h @@ -56,7 +56,7 @@ CCL_NAMESPACE_BEGIN static inline BL::Mesh object_to_mesh(BL::Object self, BL::Scene scene, bool apply_modifiers, bool render) { - ID *data = rna_Object_to_mesh(self.ptr.data, NULL, scene.ptr.data, apply_modifiers, render); + ID *data = rna_Object_to_mesh(self.ptr.data, NULL, scene.ptr.data, apply_modifiers, (render)? 2: 1); PointerRNA ptr; RNA_id_pointer_create(data, &ptr); return BL::Mesh(ptr); From 60bc63c7b8e308ad652eae750fcb932f3fc0218d Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 16 Oct 2011 17:40:47 +0000 Subject: [PATCH 172/241] Cycles: enable improved closure sampling, this should give less noise for mix, add and glass shaders. How well this will work on non-fermi GPU's is unclear still, it's a bit heavy on register usage. --- intern/cycles/device/device.cpp | 2 ++ intern/cycles/device/device.h | 4 +++- intern/cycles/kernel/kernel_types.h | 2 +- intern/cycles/render/scene.h | 2 +- intern/cycles/render/svm.cpp | 3 ++- 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/intern/cycles/device/device.cpp b/intern/cycles/device/device.cpp index f43ccffe461..01c50817709 100644 --- a/intern/cycles/device/device.cpp +++ b/intern/cycles/device/device.cpp @@ -157,6 +157,8 @@ Device *Device::create(DeviceType type, bool background, int threads) return NULL; } + device->device_type = type; + return device; } diff --git a/intern/cycles/device/device.h b/intern/cycles/device/device.h index 0b3c66dbb2c..360478cfd75 100644 --- a/intern/cycles/device/device.h +++ b/intern/cycles/device/device.h @@ -75,12 +75,14 @@ class Device { protected: Device() {} - DeviceType type; + DeviceType device_type; bool background; public: virtual ~Device() {} + DeviceType type() { return device_type; } + /* info */ virtual string description() = 0; diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index bda037e88cc..c789601cd27 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -44,7 +44,7 @@ CCL_NAMESPACE_BEGIN #define __EMISSION__ #define __TEXTURES__ #define __HOLDOUT__ -//#define __MULTI_CLOSURE__ +#define __MULTI_CLOSURE__ //#define __TRANSPARENT_SHADOWS__ //#define __MULTI_LIGHT__ #endif diff --git a/intern/cycles/render/scene.h b/intern/cycles/render/scene.h index a969dd66c4c..c191f8a56e5 100644 --- a/intern/cycles/render/scene.h +++ b/intern/cycles/render/scene.h @@ -109,7 +109,7 @@ public: SceneParams() { shadingsystem = SVM; - use_multi_closure = false; + use_multi_closure = true; bvh_type = BVH_DYNAMIC; use_bvh_cache = false; use_bvh_spatial_split = false; diff --git a/intern/cycles/render/svm.cpp b/intern/cycles/render/svm.cpp index a1687ae5e29..b9c4219f852 100644 --- a/intern/cycles/render/svm.cpp +++ b/intern/cycles/render/svm.cpp @@ -58,6 +58,7 @@ void SVMShaderManager::device_update(Device *device, DeviceScene *dscene, Scene } bool sunsky_done = false; + bool use_multi_closure = (scene->params.use_multi_closure && device->type() != DEVICE_OPENCL); for(i = 0; i < scene->shaders.size(); i++) { Shader *shader = scene->shaders[i]; @@ -70,7 +71,7 @@ void SVMShaderManager::device_update(Device *device, DeviceScene *dscene, Scene scene->light_manager->need_update = true; SVMCompiler compiler(scene->shader_manager, scene->image_manager, - scene->params.use_multi_closure); + use_multi_closure); compiler.sunsky = (sunsky_done)? NULL: &dscene->data.sunsky; compiler.background = ((int)i == scene->default_background); compiler.compile(shader, svm_nodes, i); From e5f544dd92704381bfd6f54a8024c62982a50448 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 16 Oct 2011 17:54:43 +0000 Subject: [PATCH 173/241] Cycles: add transparent shadow support, i.e. shadows through Transparent BSDF shaders, enabled by default. --- intern/cycles/blender/addon/ui.py | 1 + intern/cycles/blender/blender_sync.cpp | 1 + intern/cycles/kernel/kernel_bvh.h | 2 +- intern/cycles/kernel/kernel_emission.h | 2 +- intern/cycles/kernel/kernel_path.h | 36 ++++++++++++++------------ intern/cycles/kernel/kernel_types.h | 23 +++++++++------- 6 files changed, 38 insertions(+), 27 deletions(-) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index d8f776b0114..10754ed6b9f 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -67,6 +67,7 @@ class CyclesRender_PT_integrator(CyclesButtonsPanel, Panel): sub.label("Transparency:") sub.prop(cscene, "transparent_max_bounces", text="Max") sub.prop(cscene, "transparent_min_bounces", text="Min") + sub.prop(cscene, "use_transparent_shadows", text="Shadows") sub.prop(cscene, "no_caustics") col = split.column() diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index 6f03cac315c..4babb612bdd 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -146,6 +146,7 @@ void BlenderSync::sync_integrator() integrator->transparent_max_bounce = get_int(cscene, "transparent_max_bounces"); integrator->transparent_min_bounce = get_int(cscene, "transparent_min_bounces"); + integrator->transparent_shadows = get_boolean(cscene, "use_transparent_shadows"); integrator->no_caustics = get_boolean(cscene, "no_caustics"); integrator->blur_caustics = get_float(cscene, "blur_caustics"); diff --git a/intern/cycles/kernel/kernel_bvh.h b/intern/cycles/kernel/kernel_bvh.h index df7663b5555..b5f59b94516 100644 --- a/intern/cycles/kernel/kernel_bvh.h +++ b/intern/cycles/kernel/kernel_bvh.h @@ -253,7 +253,7 @@ __device_inline bool scene_intersect(KernelGlobals *kg, const Ray *ray, const ui bvh_triangle_intersect(kg, isect, P, idir, visibility, object, primAddr); /* shadow ray early termination */ - if(visibility == PATH_RAY_SHADOW && isect->prim != ~0) + if(visibility == PATH_RAY_SHADOW_OPAQUE && isect->prim != ~0) return true; primAddr++; diff --git a/intern/cycles/kernel/kernel_emission.h b/intern/cycles/kernel/kernel_emission.h index 22970f66669..b81db721eb3 100644 --- a/intern/cycles/kernel/kernel_emission.h +++ b/intern/cycles/kernel/kernel_emission.h @@ -124,7 +124,7 @@ __device float3 indirect_emission(KernelGlobals *kg, ShaderData *sd, float t, in /* evaluate emissive closure */ float3 L = shader_emissive_eval(kg, sd); - if(!(path_flag & PATH_RAY_SINGULAR) && (sd->flag & SD_SAMPLE_AS_LIGHT)) { + if(!(path_flag & PATH_RAY_MIS_SKIP) && (sd->flag & SD_SAMPLE_AS_LIGHT)) { /* multiple importance sampling */ float pdf = triangle_light_pdf(kg, sd->Ng, sd->I, t); float mis_weight = power_heuristic(bsdf_pdf, pdf); diff --git a/intern/cycles/kernel/kernel_path.h b/intern/cycles/kernel/kernel_path.h index e438780b1c8..c609f6f13fe 100644 --- a/intern/cycles/kernel/kernel_path.h +++ b/intern/cycles/kernel/kernel_path.h @@ -70,7 +70,7 @@ typedef struct PathState { __device_inline void path_state_init(PathState *state) { - state->flag = PATH_RAY_CAMERA|PATH_RAY_SINGULAR; + state->flag = PATH_RAY_CAMERA|PATH_RAY_SINGULAR|PATH_RAY_MIS_SKIP; state->bounce = 0; state->diffuse_bounce = 0; state->glossy_bounce = 0; @@ -78,7 +78,7 @@ __device_inline void path_state_init(PathState *state) state->transparent_bounce = 0; } -__device_inline void path_state_next(PathState *state, int label) +__device_inline void path_state_next(KernelGlobals *kg, PathState *state, int label) { /* ray through transparent keeps same flags from previous ray and is not counted as a regular bounce, transparent has separate max */ @@ -86,6 +86,9 @@ __device_inline void path_state_next(PathState *state, int label) state->flag |= PATH_RAY_TRANSPARENT; state->transparent_bounce++; + if(!kernel_data.integrator.transparent_shadows) + state->flag |= PATH_RAY_MIS_SKIP; + return; } @@ -113,16 +116,16 @@ __device_inline void path_state_next(PathState *state, int label) /* diffuse/glossy/singular */ if(label & LABEL_DIFFUSE) { state->flag |= PATH_RAY_DIFFUSE; - state->flag &= ~(PATH_RAY_GLOSSY|PATH_RAY_SINGULAR); + state->flag &= ~(PATH_RAY_GLOSSY|PATH_RAY_SINGULAR|PATH_RAY_MIS_SKIP); } else if(label & LABEL_GLOSSY) { state->flag |= PATH_RAY_GLOSSY; - state->flag &= ~(PATH_RAY_DIFFUSE|PATH_RAY_SINGULAR); + state->flag &= ~(PATH_RAY_DIFFUSE|PATH_RAY_SINGULAR|PATH_RAY_MIS_SKIP); } else { kernel_assert(label & LABEL_SINGULAR); - state->flag |= PATH_RAY_GLOSSY|PATH_RAY_SINGULAR; + state->flag |= PATH_RAY_GLOSSY|PATH_RAY_SINGULAR|PATH_RAY_MIS_SKIP; state->flag &= ~PATH_RAY_DIFFUSE; } } @@ -167,7 +170,7 @@ __device_inline bool shadow_blocked(KernelGlobals *kg, PathState *state, Ray *ra if(ray->t == 0.0f) return false; - bool result = scene_intersect(kg, ray, PATH_RAY_SHADOW, isect); + bool result = scene_intersect(kg, ray, PATH_RAY_SHADOW_OPAQUE, isect); #ifdef __TRANSPARENT_SHADOWS__ if(result && kernel_data.integrator.transparent_shadows) { @@ -175,11 +178,11 @@ __device_inline bool shadow_blocked(KernelGlobals *kg, PathState *state, Ray *ra in cases where we don't need them. after a regular shadow ray is cast we check if the hit primitive was potentially transparent, and only in that case start marching. this gives on extra ray cast for - the cases were we do want transparency */ + the cases were we do want transparency. + + also note that for this to work correct, multi close sampling must + be used, since we don't pass a random number to shader_eval_surface */ if(shader_transparent_shadow(kg, isect)) { - /* todo: fix double contribution from indirect for triangle lights */ - /* if(kernel_data.integrator.transparent_shadows && (path_flag & PATH_RAY_TRANSPARENT)) */ - float3 throughput = make_float3(1.0f, 1.0f, 1.0f); float3 Pend = ray->P + ray->D*ray->t; int bounce = state->transparent_bounce; @@ -192,7 +195,7 @@ __device_inline bool shadow_blocked(KernelGlobals *kg, PathState *state, Ray *ra /* todo: get random number somewhere for probabilistic terminate */ #if 0 float probability = average(throughput); - float terminate = 0.0f; /* todo: get this random number */ + float terminate = 0.0f; if(terminate >= probability) return true; @@ -201,22 +204,23 @@ __device_inline bool shadow_blocked(KernelGlobals *kg, PathState *state, Ray *ra #endif } - /* todo: fix it so we get first hit */ - if(!scene_intersect(kg, ray, PATH_RAY_SHADOW, isect)) { + if(!scene_intersect(kg, ray, PATH_RAY_SHADOW_TRANSPARENT, isect)) { *light_L *= throughput; return false; } + if(!shader_transparent_shadow(kg, isect)) return true; ShaderData sd; shader_setup_from_ray(kg, &sd, isect, ray); - shader_eval_surface(kg, &sd, 0.0f, PATH_RAY_SHADOW); /* todo: state flag? */ + shader_eval_surface(kg, &sd, 0.0f, PATH_RAY_SHADOW); throughput *= shader_bsdf_transparency(kg, &sd); ray->P = ray_offset(sd.P, -sd.Ng); - ray->t = (ray->t == FLT_MAX)? FLT_MAX: len(Pend - ray->P); + if(ray->t != FLT_MAX) + ray->D = normalize_len(Pend - ray->P, &ray->t); bounce++; } @@ -360,7 +364,7 @@ __device float4 kernel_path_integrate(KernelGlobals *kg, RNG *rng, int sample, R #endif /* update path state */ - path_state_next(&state, label); + path_state_next(kg, &state, label); /* setup ray */ ray.P = ray_offset(sd.P, (label & LABEL_TRANSMIT)? -sd.Ng: sd.Ng); diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index c789601cd27..df438fe8d90 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -45,7 +45,7 @@ CCL_NAMESPACE_BEGIN #define __TEXTURES__ #define __HOLDOUT__ #define __MULTI_CLOSURE__ -//#define __TRANSPARENT_SHADOWS__ +#define __TRANSPARENT_SHADOWS__ //#define __MULTI_LIGHT__ #endif @@ -83,15 +83,20 @@ enum PathTraceDimension { enum PathRayFlag { PATH_RAY_CAMERA = 1, - PATH_RAY_SHADOW = 2, - PATH_RAY_REFLECT = 4, - PATH_RAY_TRANSMIT = 8, - PATH_RAY_DIFFUSE = 16, - PATH_RAY_GLOSSY = 32, - PATH_RAY_SINGULAR = 64, - PATH_RAY_TRANSPARENT = 128, + PATH_RAY_REFLECT = 2, + PATH_RAY_TRANSMIT = 4, + PATH_RAY_DIFFUSE = 8, + PATH_RAY_GLOSSY = 16, + PATH_RAY_SINGULAR = 32, + PATH_RAY_TRANSPARENT = 64, - PATH_RAY_ALL = (1|2|4|8|16|32|64|128) + PATH_RAY_SHADOW_OPAQUE = 128, + PATH_RAY_SHADOW_TRANSPARENT = 256, + PATH_RAY_SHADOW = (PATH_RAY_SHADOW_OPAQUE|PATH_RAY_SHADOW_TRANSPARENT), + + PATH_RAY_MIS_SKIP = 512, + + PATH_RAY_ALL = (1|2|4|8|16|32|64|128|256|512) }; /* Closure Label */ From 33691eb0e7d0c6b7aa47f3b8640b1a332004de6d Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 16 Oct 2011 17:55:39 +0000 Subject: [PATCH 174/241] Cycles: revert unneeded branch change to particles UI script. --- .../scripts/startup/bl_ui/properties_particle.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py index 7f97239aa68..658c45e97a2 100644 --- a/release/scripts/startup/bl_ui/properties_particle.py +++ b/release/scripts/startup/bl_ui/properties_particle.py @@ -75,6 +75,7 @@ class ParticleButtonsPanel(): class PARTICLE_PT_context_particles(ParticleButtonsPanel, Panel): bl_label = "" bl_options = {'HIDE_HEADER'} + COMPAT_ENGINES = {'BLENDER_RENDER'} @classmethod def poll(cls, context): @@ -176,6 +177,7 @@ class PARTICLE_PT_context_particles(ParticleButtonsPanel, Panel): class PARTICLE_PT_emission(ParticleButtonsPanel, Panel): bl_label = "Emission" + COMPAT_ENGINES = {'BLENDER_RENDER'} @classmethod def poll(cls, context): @@ -245,6 +247,7 @@ class PARTICLE_PT_emission(ParticleButtonsPanel, Panel): class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel, Panel): bl_label = "Hair dynamics" bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_RENDER'} @classmethod def poll(cls, context): @@ -299,6 +302,7 @@ class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel, Panel): class PARTICLE_PT_cache(ParticleButtonsPanel, Panel): bl_label = "Cache" bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_RENDER'} @classmethod def poll(cls, context): @@ -323,6 +327,7 @@ class PARTICLE_PT_cache(ParticleButtonsPanel, Panel): class PARTICLE_PT_velocity(ParticleButtonsPanel, Panel): bl_label = "Velocity" + COMPAT_ENGINES = {'BLENDER_RENDER'} @classmethod def poll(cls, context): @@ -372,6 +377,7 @@ class PARTICLE_PT_velocity(ParticleButtonsPanel, Panel): class PARTICLE_PT_rotation(ParticleButtonsPanel, Panel): bl_label = "Rotation" + COMPAT_ENGINES = {'BLENDER_RENDER'} @classmethod def poll(cls, context): @@ -420,6 +426,7 @@ class PARTICLE_PT_rotation(ParticleButtonsPanel, Panel): class PARTICLE_PT_physics(ParticleButtonsPanel, Panel): bl_label = "Physics" + COMPAT_ENGINES = {'BLENDER_RENDER'} @classmethod def poll(cls, context): @@ -639,6 +646,7 @@ class PARTICLE_PT_physics(ParticleButtonsPanel, Panel): class PARTICLE_PT_boidbrain(ParticleButtonsPanel, Panel): bl_label = "Boid Brain" + COMPAT_ENGINES = {'BLENDER_RENDER'} @classmethod def poll(cls, context): @@ -738,6 +746,7 @@ class PARTICLE_PT_boidbrain(ParticleButtonsPanel, Panel): class PARTICLE_PT_render(ParticleButtonsPanel, Panel): bl_label = "Render" + COMPAT_ENGINES = {'BLENDER_RENDER'} @classmethod def poll(cls, context): @@ -919,6 +928,7 @@ class PARTICLE_PT_render(ParticleButtonsPanel, Panel): class PARTICLE_PT_draw(ParticleButtonsPanel, Panel): bl_label = "Display" bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_RENDER'} @classmethod def poll(cls, context): @@ -977,6 +987,7 @@ class PARTICLE_PT_draw(ParticleButtonsPanel, Panel): class PARTICLE_PT_children(ParticleButtonsPanel, Panel): bl_label = "Children" bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_RENDER'} @classmethod def poll(cls, context): @@ -1076,6 +1087,7 @@ class PARTICLE_PT_children(ParticleButtonsPanel, Panel): class PARTICLE_PT_field_weights(ParticleButtonsPanel, Panel): bl_label = "Field Weights" bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_RENDER'} @classmethod def poll(cls, context): @@ -1096,6 +1108,7 @@ class PARTICLE_PT_field_weights(ParticleButtonsPanel, Panel): class PARTICLE_PT_force_fields(ParticleButtonsPanel, Panel): bl_label = "Force Field Settings" bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_RENDER'} def draw(self, context): layout = self.layout @@ -1129,6 +1142,7 @@ class PARTICLE_PT_force_fields(ParticleButtonsPanel, Panel): class PARTICLE_PT_vertexgroups(ParticleButtonsPanel, Panel): bl_label = "Vertexgroups" bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_RENDER'} @classmethod def poll(cls, context): @@ -1197,6 +1211,7 @@ class PARTICLE_PT_vertexgroups(ParticleButtonsPanel, Panel): class PARTICLE_PT_custom_props(ParticleButtonsPanel, PropertyPanel, Panel): + COMPAT_ENGINES = {'BLENDER_RENDER'} _context_path = "particle_system.settings" _property_type = bpy.types.ParticleSettings From 5fd67a3ba5ad10a932a0a1b4cbd3fe37691fbae1 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 16 Oct 2011 18:54:27 +0000 Subject: [PATCH 175/241] Cycles: enable multi closure sampling and transparent shadows only on CPU and CUDA cards with shader model >= 2 for now (GTX 4xx, 5xx, ..). The CUDA compiler can't handle the increased kernel size currently. --- intern/cycles/device/device.cpp | 2 -- intern/cycles/device/device.h | 3 +-- intern/cycles/device/device_cpu.cpp | 5 +++++ intern/cycles/device/device_cuda.cpp | 8 ++++++++ intern/cycles/device/device_multi.cpp | 10 ++++++++++ intern/cycles/device/device_network.cpp | 5 +++++ intern/cycles/device/device_opencl.cpp | 5 +++++ intern/cycles/kernel/kernel_types.h | 11 +++++++++-- intern/cycles/render/scene.h | 2 -- intern/cycles/render/svm.cpp | 2 +- 10 files changed, 44 insertions(+), 9 deletions(-) diff --git a/intern/cycles/device/device.cpp b/intern/cycles/device/device.cpp index 01c50817709..f43ccffe461 100644 --- a/intern/cycles/device/device.cpp +++ b/intern/cycles/device/device.cpp @@ -157,8 +157,6 @@ Device *Device::create(DeviceType type, bool background, int threads) return NULL; } - device->device_type = type; - return device; } diff --git a/intern/cycles/device/device.h b/intern/cycles/device/device.h index 360478cfd75..5d6ac10dc40 100644 --- a/intern/cycles/device/device.h +++ b/intern/cycles/device/device.h @@ -75,13 +75,12 @@ class Device { protected: Device() {} - DeviceType device_type; bool background; public: virtual ~Device() {} - DeviceType type() { return device_type; } + virtual bool support_full_kernel() = 0; /* info */ virtual string description() = 0; diff --git a/intern/cycles/device/device_cpu.cpp b/intern/cycles/device/device_cpu.cpp index 2409cc65998..d6e1c200996 100644 --- a/intern/cycles/device/device_cpu.cpp +++ b/intern/cycles/device/device_cpu.cpp @@ -69,6 +69,11 @@ public: kernel_globals_free(kg); } + bool support_full_kernel() + { + return true; + } + string description() { return system_cpu_brand_string(); diff --git a/intern/cycles/device/device_cuda.cpp b/intern/cycles/device/device_cuda.cpp index 3773dda7631..1438dd67ca5 100644 --- a/intern/cycles/device/device_cuda.cpp +++ b/intern/cycles/device/device_cuda.cpp @@ -181,6 +181,14 @@ public: cuda_assert(cuCtxDetach(cuContext)) } + bool support_full_kernel() + { + int major, minor; + cuDeviceComputeCapability(&major, &minor, cuDevId); + + return (major >= 2); + } + string description() { /* print device information */ diff --git a/intern/cycles/device/device_multi.cpp b/intern/cycles/device/device_multi.cpp index f2f6251685e..128c80ac396 100644 --- a/intern/cycles/device/device_multi.cpp +++ b/intern/cycles/device/device_multi.cpp @@ -90,6 +90,16 @@ public: delete sub.device; } + bool support_full_kernel() + { + foreach(SubDevice& sub, devices) { + if(!sub.device->support_full_kernel()) + return false; + } + + return true; + } + string description() { /* create map to find duplicate descriptions */ diff --git a/intern/cycles/device/device_network.cpp b/intern/cycles/device/device_network.cpp index af7d90478cf..a5ad84831fc 100644 --- a/intern/cycles/device/device_network.cpp +++ b/intern/cycles/device/device_network.cpp @@ -57,6 +57,11 @@ public: { } + bool support_full_kernel() + { + return false; + } + string description() { RPCSend snd(socket, "description"); diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp index bd26f4a78fb..d8df8025a08 100644 --- a/intern/cycles/device/device_opencl.cpp +++ b/intern/cycles/device/device_opencl.cpp @@ -402,6 +402,11 @@ public: clReleaseContext(cxContext); } + bool support_full_kernel() + { + return false; + } + string description() { char name[1024]; diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index df438fe8d90..d8270b2cd71 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -44,15 +44,22 @@ CCL_NAMESPACE_BEGIN #define __EMISSION__ #define __TEXTURES__ #define __HOLDOUT__ -#define __MULTI_CLOSURE__ -#define __TRANSPARENT_SHADOWS__ //#define __MULTI_LIGHT__ #endif #ifdef __KERNEL_CPU__ +#define __MULTI_CLOSURE__ +#define __TRANSPARENT_SHADOWS__ //#define __OSL__ #endif +#ifdef __KERNEL_CUDA__ +#if __CUDA_ARCH__ >= 200 +#define __MULTI_CLOSURE__ +#define __TRANSPARENT_SHADOWS__ +#endif +#endif + //#define __SOBOL_FULL_SCREEN__ //#define __MODIFY_TP__ //#define __QBVH__ diff --git a/intern/cycles/render/scene.h b/intern/cycles/render/scene.h index c191f8a56e5..17bd7e20129 100644 --- a/intern/cycles/render/scene.h +++ b/intern/cycles/render/scene.h @@ -100,7 +100,6 @@ public: class SceneParams { public: enum { OSL, SVM } shadingsystem; - bool use_multi_closure; enum BVHType { BVH_DYNAMIC, BVH_STATIC } bvh_type; bool use_bvh_cache; bool use_bvh_spatial_split; @@ -109,7 +108,6 @@ public: SceneParams() { shadingsystem = SVM; - use_multi_closure = true; bvh_type = BVH_DYNAMIC; use_bvh_cache = false; use_bvh_spatial_split = false; diff --git a/intern/cycles/render/svm.cpp b/intern/cycles/render/svm.cpp index b9c4219f852..f088a8143cc 100644 --- a/intern/cycles/render/svm.cpp +++ b/intern/cycles/render/svm.cpp @@ -58,7 +58,7 @@ void SVMShaderManager::device_update(Device *device, DeviceScene *dscene, Scene } bool sunsky_done = false; - bool use_multi_closure = (scene->params.use_multi_closure && device->type() != DEVICE_OPENCL); + bool use_multi_closure = device->support_full_kernel(); for(i = 0; i < scene->shaders.size(); i++) { Shader *shader = scene->shaders[i]; From 7b06c1718b3362f8ddf5eb3815bab8fd1abce428 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 16 Oct 2011 20:58:48 +0000 Subject: [PATCH 176/241] Cycles: material "sample as light" option, to make the integrator sample the object as a mesh light or not. This may result in more/less noisy renders depending on the situation, but should converge to the same result. --- intern/cycles/blender/addon/properties.py | 2 +- intern/cycles/blender/blender_shader.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index a47174dd6c6..6fab3ecaa68 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -118,7 +118,7 @@ class CyclesMaterialSettings(bpy.types.PropertyGroup): @classmethod def register(cls): bpy.types.Material.cycles = PointerProperty(type=cls, name="Cycles Material Settings", description="Cycles material settings") - cls.sample_as_light = BoolProperty(name="Sample as Light", description="Use direct light sampling, to reduce noise for small or strong emitting materials", default=False) + cls.sample_as_light = BoolProperty(name="Sample as Light", description="Use direct light sampling, to reduce noise for small or strong emitting materials", default=True) cls.homogeneous_volume = BoolProperty(name="Homogeneous Volume", description="When using volume rendering, assume volume has the same density everywhere, for faster rendering", default=False) @classmethod diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index 9e3095f23e2..ed84777de7c 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -613,7 +613,7 @@ void BlenderSync::sync_materials() /* settings */ PointerRNA cmat = RNA_pointer_get(&b_mat->ptr, "cycles"); - //shader->sample_as_light = get_boolean(cmat, "sample_as_light"); + shader->sample_as_light = get_boolean(cmat, "sample_as_light"); shader->homogeneous_volume = get_boolean(cmat, "homogeneous_volume"); shader->set_graph(graph); From 590a524323b6a5672a759a70e25226e4f6f2855c Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Sun, 16 Oct 2011 22:06:35 +0000 Subject: [PATCH 177/241] Cycles: Add cmake path for the CUDA toolkit (default installation) on windows. --- intern/cycles/cmake/external_libs.cmake | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake index fb7ba9cc3f2..07d45f9dd5d 100644 --- a/intern/cycles/cmake/external_libs.cmake +++ b/intern/cycles/cmake/external_libs.cmake @@ -89,8 +89,11 @@ endif() # CUDA if(WITH_CYCLES_CUDA) - - set(CYCLES_CUDA "/usr/local/cuda" CACHE PATH "Path to CUDA installation") + if(WIN32) + set(CYCLES_CUDA "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v4.0" CACHE PATH "Path to CUDA installation") + else() + set(CYCLES_CUDA "/usr/local/cuda" CACHE PATH "Path to CUDA installation") + endif() set(CYCLES_CUDA_ARCH sm_10 sm_11 sm_12 sm_13 sm_20 sm_21 CACHE STRING "CUDA architectures to build for") set(CYCLES_CUDA_MAXREG 24 CACHE STRING "CUDA maximum number of register to use") From d537a1586d7bd4c1eef40a56d4d57be2df7b95ec Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 16 Oct 2011 22:07:55 +0000 Subject: [PATCH 178/241] Cycles: fix crash using uv + generated texture coordinates on a single mesh. --- intern/cycles/render/mesh.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/intern/cycles/render/mesh.cpp b/intern/cycles/render/mesh.cpp index ac07ee8e89f..2fef54605a1 100644 --- a/intern/cycles/render/mesh.cpp +++ b/intern/cycles/render/mesh.cpp @@ -378,7 +378,7 @@ void MeshManager::update_svm_attributes(Device *device, DeviceScene *dscene, Sce j = 0; foreach(AttributeRequest& req, attributes.requests) { - int index = i*attr_map_stride; + int index = i*attr_map_stride + j; uint id; if(req.std == Attribute::STD_NONE) From c18e9a1bc6c3712da4ecaa4e49ecf8201993a58e Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Mon, 17 Oct 2011 11:24:20 +0000 Subject: [PATCH 179/241] Cycles: * Auto detection of CUDA toolkit, using FIND_PACKAGE(CUDA). (Requires at least CMAKE 2.8) --- intern/cycles/cmake/external_libs.cmake | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake index 07d45f9dd5d..b6a67a9b86c 100644 --- a/intern/cycles/cmake/external_libs.cmake +++ b/intern/cycles/cmake/external_libs.cmake @@ -89,10 +89,15 @@ endif() # CUDA if(WITH_CYCLES_CUDA) - if(WIN32) - set(CYCLES_CUDA "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v4.0" CACHE PATH "Path to CUDA installation") + FIND_PACKAGE(CUDA) # Try to auto locate CUDA toolkit + if(CUDA_FOUND) + set(CYCLES_CUDA ${CUDA_TOOLKIT_ROOT_DIR} CACHE PATH "Path to CUDA installation") else() - set(CYCLES_CUDA "/usr/local/cuda" CACHE PATH "Path to CUDA installation") + if(WIN32) + set(CYCLES_CUDA "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v4.0" CACHE PATH "Path to CUDA installation") + else() + set(CYCLES_CUDA "/usr/local/cuda" CACHE PATH "Path to CUDA installation") + endif() endif() set(CYCLES_CUDA_ARCH sm_10 sm_11 sm_12 sm_13 sm_20 sm_21 CACHE STRING "CUDA architectures to build for") set(CYCLES_CUDA_MAXREG 24 CACHE STRING "CUDA maximum number of register to use") From 97e58e499d8969b344333449514499cf1f5fdfce Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 17 Oct 2011 11:54:43 +0000 Subject: [PATCH 180/241] use CMake's CUDA_NVCC_EXECUTABLE rather then own hard coded CYCLES_CUDA variable. --- intern/cycles/cmake/external_libs.cmake | 26 +++++++------------------ intern/cycles/kernel/CMakeLists.txt | 2 +- 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake index b6a67a9b86c..0915d4d92c8 100644 --- a/intern/cycles/cmake/external_libs.cmake +++ b/intern/cycles/cmake/external_libs.cmake @@ -82,33 +82,21 @@ if(WITH_CYCLES_BLENDER) ${CMAKE_SOURCE_DIR}/source/blender/blenloader ${CMAKE_BINARY_DIR}/source/blender/makesrna/intern) - ADD_DEFINITIONS(-DBLENDER_PLUGIN) + add_definitions(-DBLENDER_PLUGIN) endif() ########################################################################### # CUDA if(WITH_CYCLES_CUDA) - FIND_PACKAGE(CUDA) # Try to auto locate CUDA toolkit + find_package(CUDA) # Try to auto locate CUDA toolkit if(CUDA_FOUND) - set(CYCLES_CUDA ${CUDA_TOOLKIT_ROOT_DIR} CACHE PATH "Path to CUDA installation") + message(STATUS "CUDA nvcc = ${CUDA_NVCC_EXECUTABLE}") + set(CYCLES_CUDA_ARCH sm_10 sm_11 sm_12 sm_13 sm_20 sm_21 CACHE STRING "CUDA architectures to build for") + set(CYCLES_CUDA_MAXREG 24 CACHE STRING "CUDA maximum number of register to use") else() - if(WIN32) - set(CYCLES_CUDA "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v4.0" CACHE PATH "Path to CUDA installation") - else() - set(CYCLES_CUDA "/usr/local/cuda" CACHE PATH "Path to CUDA installation") - endif() + message(STATUS "CUDA compiler not found, disabling WITH_CYCLES_CUDA") + set(WITH_CYCLES_CUDA OFF) endif() - set(CYCLES_CUDA_ARCH sm_10 sm_11 sm_12 sm_13 sm_20 sm_21 CACHE STRING "CUDA architectures to build for") - set(CYCLES_CUDA_MAXREG 24 CACHE STRING "CUDA maximum number of register to use") - - find_program(CUDA_NVCC NAMES nvcc PATHS ${CYCLES_CUDA}/bin NO_DEFAULT_PATH) - - if(CUDA_NVCC) - message(STATUS "CUDA nvcc = ${CUDA_NVCC}") - else() - message(STATUS "CUDA compiler not found") - endif() - endif() diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt index 9714f941082..cf10f035585 100644 --- a/intern/cycles/kernel/CMakeLists.txt +++ b/intern/cycles/kernel/CMakeLists.txt @@ -95,7 +95,7 @@ if(WITH_CYCLES_CUDA) add_custom_command( OUTPUT ${cuda_cubin} - COMMAND ${CUDA_NVCC} -arch=${arch} -m${CUDA_BITS} --cubin ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cu --use_fast_math -o ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} --ptxas-options="-v" --maxrregcount=${CYCLES_CUDA_MAXREG} --opencc-options -OPT:Olimit=0 -I${CMAKE_CURRENT_SOURCE_DIR}/../util -I${CMAKE_CURRENT_SOURCE_DIR}/svm -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= -DNVCC + COMMAND ${CUDA_NVCC_EXECUTABLE} -arch=${arch} -m${CUDA_BITS} --cubin ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cu --use_fast_math -o ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} --ptxas-options="-v" --maxrregcount=${CYCLES_CUDA_MAXREG} --opencc-options -OPT:Olimit=0 -I${CMAKE_CURRENT_SOURCE_DIR}/../util -I${CMAKE_CURRENT_SOURCE_DIR}/svm -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= -DNVCC DEPENDS ${cuda_sources}) delayed_install("${CMAKE_CURRENT_BINARY_DIR}" "${cuda_cubin}" ${CYCLES_INSTALL_PATH}/lib) From 72e47de8b58c250598c384cc19419d190746b080 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 19 Oct 2011 00:13:41 +0000 Subject: [PATCH 181/241] Cycles: fix some issues with mix shaders when the weight for an emission shader was 0.0, and background shader mix wasn't working. --- intern/cycles/blender/addon/ui.py | 2 ++ intern/cycles/kernel/svm/svm.h | 2 +- intern/cycles/kernel/svm/svm_closure.h | 45 +++++++++++++++++++------- intern/cycles/render/nodes.cpp | 2 +- 4 files changed, 38 insertions(+), 13 deletions(-) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 10754ed6b9f..94a48e6c42d 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -431,6 +431,7 @@ class CyclesWorld_PT_surface(CyclesButtonsPanel, Panel): class CyclesWorld_PT_volume(CyclesButtonsPanel, Panel): bl_label = "Volume" bl_context = "world" + bl_options = {'DEFAULT_CLOSED'} @classmethod def poll(cls, context): @@ -460,6 +461,7 @@ class CyclesMaterial_PT_surface(CyclesButtonsPanel, Panel): class CyclesMaterial_PT_volume(CyclesButtonsPanel, Panel): bl_label = "Volume" bl_context = "material" + bl_options = {'DEFAULT_CLOSED'} @classmethod def poll(cls, context): diff --git a/intern/cycles/kernel/svm/svm.h b/intern/cycles/kernel/svm/svm.h index 62e02f1a01a..9628f96bcab 100644 --- a/intern/cycles/kernel/svm/svm.h +++ b/intern/cycles/kernel/svm/svm.h @@ -179,7 +179,7 @@ __device_noinline void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderT svm_node_closure_emission(sd, stack, node); break; case NODE_CLOSURE_BACKGROUND: - svm_node_closure_background(sd, node); + svm_node_closure_background(sd, stack, node); break; case NODE_CLOSURE_HOLDOUT: svm_node_closure_holdout(sd, stack, node); diff --git a/intern/cycles/kernel/svm/svm_closure.h b/intern/cycles/kernel/svm/svm_closure.h index 90636380e43..fcda7ac6fe1 100644 --- a/intern/cycles/kernel/svm/svm_closure.h +++ b/intern/cycles/kernel/svm/svm_closure.h @@ -236,7 +236,6 @@ __device void svm_node_closure_volume(KernelGlobals *kg, ShaderData *sd, float * __device void svm_node_closure_emission(ShaderData *sd, float *stack, uint4 node) { #ifdef __MULTI_CLOSURE__ - ShaderClosure *sc = svm_node_closure_get(sd); uint mix_weight_offset = node.y; if(stack_valid(mix_weight_offset)) { @@ -245,31 +244,52 @@ __device void svm_node_closure_emission(ShaderData *sd, float *stack, uint4 node if(mix_weight == 0.0f) return; + ShaderClosure *sc = svm_node_closure_get(sd); sc->weight *= mix_weight; + sc->type = CLOSURE_EMISSION_ID; } + else { + ShaderClosure *sc = svm_node_closure_get(sd); + sc->type = CLOSURE_EMISSION_ID; + } + #else ShaderClosure *sc = &sd->closure; + sc->type = CLOSURE_EMISSION_ID; #endif - sc->type = CLOSURE_EMISSION_ID; sd->flag |= SD_EMISSION; } -__device void svm_node_closure_background(ShaderData *sd, uint4 node) +__device void svm_node_closure_background(ShaderData *sd, float *stack, uint4 node) { #ifdef __MULTI_CLOSURE__ - ShaderClosure *sc = svm_node_closure_get(sd); + uint mix_weight_offset = node.y; + + if(stack_valid(mix_weight_offset)) { + float mix_weight = stack_load_float(stack, mix_weight_offset); + + if(mix_weight == 0.0f) + return; + + ShaderClosure *sc = svm_node_closure_get(sd); + sc->weight *= mix_weight; + sc->type = CLOSURE_BACKGROUND_ID; + } + else { + ShaderClosure *sc = svm_node_closure_get(sd); + sc->type = CLOSURE_BACKGROUND_ID; + } + #else ShaderClosure *sc = &sd->closure; -#endif - sc->type = CLOSURE_BACKGROUND_ID; +#endif } __device void svm_node_closure_holdout(ShaderData *sd, float *stack, uint4 node) { #ifdef __MULTI_CLOSURE__ - ShaderClosure *sc = svm_node_closure_get(sd); uint mix_weight_offset = node.y; if(stack_valid(mix_weight_offset)) { @@ -278,17 +298,20 @@ __device void svm_node_closure_holdout(ShaderData *sd, float *stack, uint4 node) if(mix_weight == 0.0f) return; + ShaderClosure *sc = svm_node_closure_get(sd); sc->weight = make_float3(mix_weight, mix_weight, mix_weight); + sc->type = CLOSURE_HOLDOUT_ID; } - else + else { + ShaderClosure *sc = svm_node_closure_get(sd); sc->weight = make_float3(1.0f, 1.0f, 1.0f); - - sc->sample_weight = 0.0f; + sc->type = CLOSURE_HOLDOUT_ID; + } #else ShaderClosure *sc = &sd->closure; + sc->type = CLOSURE_HOLDOUT_ID; #endif - sc->type = CLOSURE_HOLDOUT_ID; sd->flag |= SD_HOLDOUT; } diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index e6aff8590ad..9c72c01417a 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -1370,7 +1370,7 @@ void BackgroundNode::compile(SVMCompiler& compiler) else compiler.add_node(NODE_CLOSURE_SET_WEIGHT, color_in->value*strength_in->value.x); - compiler.add_node(NODE_CLOSURE_BACKGROUND, CLOSURE_BACKGROUND_ID); + compiler.add_node(NODE_CLOSURE_BACKGROUND, compiler.closure_mix_weight_offset()); } void BackgroundNode::compile(OSLCompiler& compiler) From 3c9d69744e0aca3ffe3ace103233679988769e91 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 20 Oct 2011 16:05:32 +0000 Subject: [PATCH 182/241] Cycles: let cmake show error when not finding openimageio on linux. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6bada40cd03..c57f42f416c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -525,7 +525,7 @@ if(UNIX AND NOT APPLE) endif() set(OPENIMAGEIO_ROOT_DIR ${OPENIMAGEIO}) - find_package(OpenImageIO) + find_package(OpenImageIO REQUIRED) set(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARY} ${OPENEXR_LIBRARIES} ${ZLIB_LIBRARIES} ${BOOST_LIBRARIES}) set(OPENIMAGEIO_LIBPATH) # TODO, remove and reference the absolute path everywhere From 586c631c88d7a4ea24810bf18ab96ed7ec542d37 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 22 Oct 2011 18:51:45 +0000 Subject: [PATCH 183/241] Cycles: when creating nodes from a blender material, set the diffuse color in the diffuse node, similar for lamps and world. --- intern/cycles/blender/addon/ui.py | 11 +++-- source/blender/editors/space_node/node_edit.c | 46 ++++++++++++++----- 2 files changed, 41 insertions(+), 16 deletions(-) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 94a48e6c42d..d894f66c32e 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -348,7 +348,7 @@ def find_node_input(node, name): def panel_node_draw(layout, id, output_type, input_name): if not id.node_tree: - layout.prop(id, "use_nodes") + layout.prop(id, "use_nodes", icon='NODETREE') return ntree = id.node_tree @@ -435,7 +435,8 @@ class CyclesWorld_PT_volume(CyclesButtonsPanel, Panel): @classmethod def poll(cls, context): - return context.world and CyclesButtonsPanel.poll(context) + world = context.world + return world and world.node_tree and CyclesButtonsPanel.poll(context) def draw(self, context): layout = self.layout @@ -465,7 +466,8 @@ class CyclesMaterial_PT_volume(CyclesButtonsPanel, Panel): @classmethod def poll(cls, context): - return context.material and CyclesButtonsPanel.poll(context) + mat = context.material + return mat and mat.node_tree and CyclesButtonsPanel.poll(context) def draw(self, context): layout = self.layout @@ -484,7 +486,8 @@ class CyclesMaterial_PT_displacement(CyclesButtonsPanel, Panel): @classmethod def poll(cls, context): - return context.material and CyclesButtonsPanel.poll(context) + mat = context.material + return mat and mat.node_tree and CyclesButtonsPanel.poll(context) def draw(self, context): layout = self.layout diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index 10c5ca7ee1a..83f15243ebe 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -283,16 +283,18 @@ bNode *node_tree_get_editgroup(bNodeTree *nodetree) void ED_node_shader_default(Scene *scene, ID *id) { bNode *in, *out; - bNodeSocket *fromsock, *tosock; + bNodeSocket *fromsock, *tosock, *sock; bNodeTree *ntree; bNodeTemplate ntemp; int output_type, shader_type; + float color[3], strength = 1.0f; ntree= ntreeAddTree("Shader Nodetree", NTREE_SHADER, 0); switch(GS(id->name)) { - case ID_MA: - ((Material*)id)->nodetree = ntree; + case ID_MA: { + Material *ma= (Material*)id; + ma->nodetree = ntree; if(scene_use_new_shading_nodes(scene)) { output_type = SH_NODE_OUTPUT_MATERIAL; @@ -302,17 +304,36 @@ void ED_node_shader_default(Scene *scene, ID *id) output_type = SH_NODE_OUTPUT; shader_type = SH_NODE_MATERIAL; } + + copy_v3_v3(color, &ma->r); + strength= 0.0f; break; - case ID_WO: - ((World*)id)->nodetree = ntree; + } + case ID_WO: { + World *wo= (World*)id; + + wo->nodetree = ntree; output_type = SH_NODE_OUTPUT_WORLD; shader_type = SH_NODE_BACKGROUND; + + copy_v3_v3(color, &wo->horr); + strength= 1.0f; break; - case ID_LA: + } + case ID_LA: { + Lamp *la= (Lamp*)id; + ((Lamp*)id)->nodetree = ntree; output_type = SH_NODE_OUTPUT_LAMP; shader_type = SH_NODE_EMISSION; + + copy_v3_v3(color, &la->r); + if(la->type == LA_LOCAL || la->type == LA_SPOT || la->type == LA_AREA) + strength= 100.0f; + else + strength= 1.0f; break; + } default: printf("ED_node_shader_default called on wrong ID type.\n"); return; @@ -332,13 +353,14 @@ void ED_node_shader_default(Scene *scene, ID *id) tosock= out->inputs.first; nodeAddLink(ntree, in, fromsock, out, tosock); - if(GS(id->name) == ID_LA) { - Lamp *la= (Lamp*)id; + /* default values */ + if(scene_use_new_shading_nodes(scene)) { + sock= in->inputs.first; + copy_v3_v3(((bNodeSocketValueRGBA*)sock->default_value)->value, color); - if(la->type == LA_LOCAL || la->type == LA_SPOT || la->type == LA_AREA) { - bNodeSocket *sock= in->inputs.last; - bNodeSocketValueFloat *default_value= sock->default_value; - default_value->value= 100.0f; + if(strength != 0.0f) { + sock= in->inputs.last; + ((bNodeSocketValueFloat*)sock->default_value)->value= strength; } } From 83a44e48e7cb5cc6c794b50bb168a21144baeb06 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 22 Oct 2011 18:54:57 +0000 Subject: [PATCH 184/241] Cycles: some code changes to sync with trunk. --- source/blender/imbuf/IMB_imbuf_types.h | 12 ++++++++++++ source/blender/render/CMakeLists.txt | 2 +- source/blender/render/SConscript | 2 +- source/blender/render/extern/include/RE_engine.h | 2 +- .../{pipeline/engine.c => source/external_engine.c} | 2 -- source/blender/render/intern/source/pipeline.c | 4 ++-- 6 files changed, 17 insertions(+), 7 deletions(-) rename source/blender/render/intern/{pipeline/engine.c => source/external_engine.c} (99%) diff --git a/source/blender/imbuf/IMB_imbuf_types.h b/source/blender/imbuf/IMB_imbuf_types.h index c4872f370e5..f5e2bf71468 100644 --- a/source/blender/imbuf/IMB_imbuf_types.h +++ b/source/blender/imbuf/IMB_imbuf_types.h @@ -169,27 +169,39 @@ typedef struct ImBuf { #define JPG (1 << 27) #define BMP (1 << 26) +#ifdef WITH_QUICKTIME #define QUICKTIME (1 << 25) +#endif +#ifdef WITH_HDR #define RADHDR (1 << 24) +#endif +#ifdef WITH_TIFF #define TIF (1 << 23) #define TIF_16BIT (1 << 8 ) +#endif #define OPENEXR (1 << 22) #define OPENEXR_HALF (1 << 8 ) #define OPENEXR_COMPRESS (7) +#ifdef WITH_CINEON #define CINEON (1 << 21) #define DPX (1 << 20) +#endif +#ifdef WITH_DDS #define DDS (1 << 19) +#endif +#ifdef WITH_OPENJPEG #define JP2 (1 << 18) #define JP2_12BIT (1 << 17) #define JP2_16BIT (1 << 16) #define JP2_YCC (1 << 15) #define JP2_CINE (1 << 14) #define JP2_CINE_48FPS (1 << 13) +#endif #define RAWTGA (TGA | 1) diff --git a/source/blender/render/CMakeLists.txt b/source/blender/render/CMakeLists.txt index f866e83c68e..d5b3bd5e311 100644 --- a/source/blender/render/CMakeLists.txt +++ b/source/blender/render/CMakeLists.txt @@ -56,6 +56,7 @@ set(SRC intern/raytrace/rayobject_vbvh.cpp intern/source/convertblender.c intern/source/envmap.c + intern/source/external_engine.c intern/source/gammaCorrectionTables.c intern/source/imagetexture.c intern/source/initrender.c @@ -78,7 +79,6 @@ set(SRC intern/source/volumetric.c intern/source/voxeldata.c intern/source/zbuf.c - intern/pipeline/engine.c extern/include/RE_engine.h extern/include/RE_pipeline.h diff --git a/source/blender/render/SConscript b/source/blender/render/SConscript index 1e19c6436b7..9c724187c27 100644 --- a/source/blender/render/SConscript +++ b/source/blender/render/SConscript @@ -1,7 +1,7 @@ #!/usr/bin/python Import ('env') -sources = env.Glob('intern/source/*.c') + env.Glob('intern/pipeline/*.c') +sources = env.Glob('intern/source/*.c') raysources = env.Glob('intern/raytrace/*.cpp') incs = 'intern/include #/intern/guardedalloc ../blenlib ../makesdna ../makesrna' diff --git a/source/blender/render/extern/include/RE_engine.h b/source/blender/render/extern/include/RE_engine.h index 7d5ba28cfa6..3df784a4e62 100644 --- a/source/blender/render/extern/include/RE_engine.h +++ b/source/blender/render/extern/include/RE_engine.h @@ -35,9 +35,9 @@ #define RE_ENGINE_H #include "DNA_listBase.h" -#include "DNA_vec_types.h" #include "RNA_types.h" +struct Object; struct Render; struct RenderEngine; struct RenderEngineType; diff --git a/source/blender/render/intern/pipeline/engine.c b/source/blender/render/intern/source/external_engine.c similarity index 99% rename from source/blender/render/intern/pipeline/engine.c rename to source/blender/render/intern/source/external_engine.c index d67cd3cb88f..2c8023afce0 100644 --- a/source/blender/render/intern/pipeline/engine.c +++ b/source/blender/render/intern/source/external_engine.c @@ -47,8 +47,6 @@ #include "IMB_imbuf.h" #include "IMB_imbuf_types.h" -#include "intern/openexr/openexr_multi.h" - #ifdef WITH_PYTHON #include "BPY_extern.h" #endif diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 864707d7060..567e1934f97 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -965,7 +965,7 @@ static void renderresult_add_names(RenderResult *rr) } /* called for reading temp files, and for external engines */ -static int read_render_result_from_file(const char *filename, RenderResult *rr, int external) +static int read_render_result_from_file(const char *filename, RenderResult *rr) { RenderLayer *rl; RenderPass *rpass; @@ -1029,7 +1029,7 @@ static int read_render_result(Render *re, int sample) render_unique_exr_name(re, str, sample); printf("read exr tmp file: %s\n", str); - if(read_render_result_from_file(str, re->result, 0)) { + if(read_render_result_from_file(str, re->result)) { success= TRUE; } else { From 05334492a3708812c6ffe45db629738ec19dbda1 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 24 Oct 2011 19:32:10 +0000 Subject: [PATCH 185/241] Cycles: theme changes, some code syncing with trunk. --- intern/cycles/blender/addon/ui.py | 1 - source/blender/editors/datafiles/bfont.ttf.c | 11885 +++++++------- .../blender/editors/datafiles/bmonofont.ttf.c | 13318 +++++++++++----- source/blender/editors/gpencil/drawgpencil.c | 10 +- source/blender/editors/include/ED_gpencil.h | 3 +- .../editors/interface/interface_draw.c | 15 +- .../editors/interface/interface_intern.h | 2 +- .../editors/interface/interface_panel.c | 13 +- .../editors/interface/interface_style.c | 2 +- .../editors/interface/interface_widgets.c | 18 +- source/blender/editors/screen/area.c | 259 +- .../blender/editors/space_view3d/drawmesh.c | 12 +- .../editors/space_view3d/space_view3d.c | 19 +- .../editors/space_view3d/view3d_draw.c | 88 +- .../editors/space_view3d/view3d_intern.h | 3 +- .../blender/editors/space_view3d/view3d_ops.c | 1 - .../editors/space_view3d/view3d_toolbar.c | 42 +- 17 files changed, 15957 insertions(+), 9734 deletions(-) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index d894f66c32e..f9e178a2d3a 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -363,7 +363,6 @@ def panel_node_draw(layout, id, output_type, input_name): class CyclesLamp_PT_lamp(CyclesButtonsPanel, Panel): bl_label = "Lamp" bl_context = "data" - bl_options = {'DEFAULT_CLOSED'} @classmethod def poll(cls, context): diff --git a/source/blender/editors/datafiles/bfont.ttf.c b/source/blender/editors/datafiles/bfont.ttf.c index 379af401075..3ebd06a47df 100644 --- a/source/blender/editors/datafiles/bfont.ttf.c +++ b/source/blender/editors/datafiles/bfont.ttf.c @@ -2,4533 +2,5621 @@ * \ingroup eddatafiles */ /* DataToC output of file */ - -int datatoc_bfont_ttf_size= 190044; + +int datatoc_bfont_ttf_size= 191532; char datatoc_bfont_ttf[]= { - 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 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, 8, 0, 0, 0, 0, 0, 0,172, 0,182, - 0,188, 0, 0, 0,213, 0, 0, 0, 0, 0, 0, 0, 85, 0,131, 0,151, 0,159, 0,125, 0,229, 0,174, 0,174, 0,113, 0,113, - 0, 0, 0, 0, 0,186, 0,197, 0,186, 0, 0, 0, 0, 0,164, 0,159, 0,140, 0, 0, 0, 0, 0,199, 0,199, 0,125, 0,125, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176, 0,185, 0,138, 0, 0, 0, 0, 0,155, 0,166, 0,143, 0,119, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0,150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,105, 0,110, 0,144, 0,180, 0,193, 0,213, - 0, 0, 0, 0, 0, 0, 0, 0, 0,102, 0,111, 0,120, 0,150, 0,192, 0,213, 1, 71, 0, 0, 0, 0, 0, 0, 0,254, 1, 58, - 0,197, 0,120, 0,254, 1, 22, 1,246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0,238, 0, 0, 0,150, 0,136, 0,174, 0,150, 0,137, 1, 12, 0,150, 1, 24, 0, 0, 3, 29, 0,148, 2, 90, 0,130, 3,150, - 0, 0, 0,168, 0,140, 0, 0, 0, 0, 2,121, 0,217, 0,180, 1, 10, 0, 0, 1,131, 0,109, 0,127, 0,160, 0, 0, 0, 0, - 0,109, 0,136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,147, 0,160, 0, 0, 0,130, 0,137, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 5,182,252,148, 0, 17,255,239, 0,131, 0,143, 0, 0, 0, 0, 0,109, 0,123, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0,188, 1,170, 3, 84, 0, 0, 0, 0, 0,188, 0,182, 1,215, 1,149, 0, 0, 0,150, 1, 0, 0,174, - 5,182,254,188,254,111,254,131, 0,111, 2,173, 0, 0, 0, 42, 0, 42, 0, 42, 0, 42, 0,111, 0,161, 1, 41, 1,226, 2,113, - 3, 41, 3, 77, 3,124, 3,172, 3,226, 4, 15, 4, 68, 4, 91, 4,149, 4,180, 5, 6, 5, 63, 5,148, 6, 18, 6,101, 6,204, - 7, 63, 7,103, 8, 17, 8,130, 8,218, 9, 61, 9,121, 9,187, 9,247, 10,106, 11, 52, 11,160, 12, 23, 12,116, 12,179, 12,236, - 13, 57, 13,151, 13,205, 14, 16, 14, 73, 14,151, 14,183, 15, 43, 15,124, 15,213, 16, 34, 16,139, 16,252, 17,102, 17,167, 17,229, - 18, 56, 18,238, 19, 77, 19,158, 19,209, 19,247, 20, 23, 20, 59, 20, 89, 20,112, 20,149, 21, 8, 21,105, 21,174, 22, 14, 22,107, - 22,206, 23,162, 23,227, 24, 20, 24, 95, 24,175, 24,200, 25, 57, 25,119, 25,192, 26, 34, 26,131, 26,201, 27, 57, 27,142, 27,207, - 28, 39, 28,212, 29,101, 29,206, 30, 27, 30,117, 30,153, 30,245, 31, 72, 31, 72, 31,144, 31,244, 32,106, 33, 1, 33,116, 33,164, - 34, 93, 34,161, 35, 74, 35,180, 36, 8, 36, 53, 36, 61, 37, 12, 37, 35, 37,126, 37,186, 38, 10, 38,127, 38,164, 38,238, 39, 43, - 39,101, 39,171, 39,226, 40, 42, 40,122, 40,163, 40,200, 40,247, 41,109, 41,133, 41,156, 41,180, 41,203, 41,228, 42, 9, 42,114, - 42,133, 42,157, 42,180, 42,204, 42,229, 42,253, 43, 20, 43, 43, 43, 68, 43,168, 43,191, 43,215, 43,238, 44, 5, 44, 29, 44, 54, - 44,155, 45, 28, 45, 52, 45, 75, 45, 99, 45,124, 45,147, 45,221, 46,120, 46,143, 46,165, 46,187, 46,209, 46,233, 47, 1, 47,177, - 47,196, 47,219, 47,241, 48, 7, 48, 31, 48, 55, 48, 78, 48,101, 48,126, 49, 14, 49, 36, 49, 59, 49, 81, 49,104, 49,127, 49,152, - 50, 9, 50,130, 50,153, 50,175, 50,197, 50,222, 50,244, 51, 89, 51,113, 51,137, 51,159, 51,182, 51,204, 51,227, 52, 0, 52, 23, - 52, 47, 52, 70, 52, 94, 52,117, 52,142, 52,165, 52,189, 52,213, 52,232, 52,240, 53,105, 53,128, 53,150, 53,173, 53,195, 53,218, - 53,241, 54, 5, 54, 38, 54, 61, 54, 83, 54,106, 54,128, 54,151, 54,174, 54,197, 54,221, 54,240, 55, 6, 55, 30, 55, 59, 55,140, - 55,231, 55,254, 56, 21, 56, 44, 56, 67, 56, 90, 56,113, 56,132, 56,152, 56,175, 56,200, 56,241, 57, 21, 57, 44, 57, 67, 57, 86, - 57,105, 57,178, 57,202, 57,231, 57,250, 58, 14, 58, 38, 58, 62, 58, 81, 58,116, 58,193, 59, 14, 59, 37, 59, 59, 59, 79, 59, 98, - 59,121, 59,144, 59,178, 60, 19, 60,108, 60,131, 60,153, 60,176, 60,199, 60,224, 60,248, 61,105, 61,247, 62, 15, 62, 37, 62, 56, - 62, 76, 62,100, 62,124, 62,147, 62,169, 62,192, 62,214, 62,234, 62,253, 63, 20, 63, 42, 63, 61, 63, 81, 63,104, 63,122, 63,209, - 64, 59, 64, 83, 64,105, 64,129, 64,151, 64,174, 64,196, 64,221, 64,245, 65, 14, 65, 38, 65, 57, 65, 76, 65, 99, 65,122, 65,145, - 65,167, 65,192, 65,215, 65,237, 66, 4, 66, 27, 66, 50, 66, 72, 66,123, 66,223, 67,193, 68,150, 68,174, 68,197, 68,220, 68,242, - 69, 5, 69, 24, 69, 78, 69,132, 69,156, 69,215, 69,254, 70, 78, 70,123, 70,194, 71, 5, 71, 50, 71,163, 71,188, 71,246, 72, 27, - 72, 65, 72,130, 72,179, 72,231, 73, 15, 73, 40, 73, 48, 73, 56, 73,106, 73,182, 73,190, 73,198, 73,206, 74, 61, 74, 69, 74, 77, - 74,153, 74,161, 74,169, 74,246, 74,254, 75, 41, 75, 49, 75,121, 75,129, 75,137, 76, 24, 76, 32, 76,142, 77, 16, 77, 41, 77, 66, - 77, 88, 77,110, 77,132, 77,156, 77,177, 78, 35, 78,165, 79, 4, 79,140, 80, 8, 80,110, 80,174, 81, 32, 81, 94, 81,102, 81,226, - 82, 48, 82,114, 83, 18, 83, 26, 83,110, 83,200, 84, 55, 84,144, 84,218, 85, 28, 85,154, 86, 46, 86,143, 87, 25, 87, 50, 87, 75, - 87, 97, 87,119, 87,149, 87,174, 88, 40, 88, 63, 88,170, 88,178, 88,186, 88,211, 88,219, 89,114, 89,209, 90, 47, 90, 70, 90, 93, - 90,166, 90,174, 91, 1, 91, 9, 91, 17, 91,132, 91,140, 92, 25, 92,156, 92,251, 93, 19, 93, 91, 93,191, 93,199, 93,207, 93,215, - 93,223, 93,231, 93,239, 93,247, 94,103, 94,111, 94,119, 94,172, 94,243, 95, 59, 95,145, 95,231, 96, 61, 96,139, 96,238, 97,101, - 97,226, 97,234, 98,101, 98,215, 98,255, 99,101, 99,109, 99,226,100, 96,100,164,100,187,100,245,101, 64,101,165,101,235,101,243, -102, 28,102, 36,102, 44,102,107,102,115,102,240,102,248,103, 50,103,114,103,189,104, 22,104,115,104,213,105, 31,105,136,105,252, -106, 83,106,107,106,218,106,240,107, 76,107, 84,107, 92,107,117,107,125,107,245,108, 84,108,174,108,196,108,218,109, 31,109, 84, -109,127,109,151,109,174,109,197,109,220,109,246,110, 16,110, 40,110, 64,110, 91,110,118,110,145,110,186,110,229,111, 17,111, 68, -111,114,111,206,112, 42,112,148,112,239,113,117,113,184,114, 93,115, 42,115, 50,115, 58,115,109,115,162,115,180,115,210,116, 21, -116,112,116,247,117,129,118, 21,118,195,119, 65,119,247,120,126,120,134,120,233,121, 18,121, 65,121,112,121,155,122, 21,122, 98, -122,145,122,219,123, 1,123, 45,123,201,124, 26,124,163,125, 27,125, 96,125,164,125,240,126, 15,126, 45,126,112,126,163,126,201, -126,238,127, 19,127, 86,127,159,127,252,128, 91,128,138,129, 39,129,145,129,145,129,145,129,145,129,145,129,145,129,145,129,145, -129,145,129,145,129,145,129,145,129,145,129,145,130,219,131, 78,131, 90,131, 98,132, 11,132,136,133, 36,133, 59,133, 82,133,102, -133,122,133,167,133,244,134, 71,134,116,134,160,135, 21,135,124,135,219,136, 62,136, 99,136,136,136,207,137, 14,137, 46,137, 70, -137, 94,137,117,137,140,138, 41,138,228,139,101,139,218,140, 75,140,188,141, 64,141,211,142,107,143, 23,143,184,144, 92,145, 10, -145,186,146,164,147,147,147,155,147,163,148, 16,148,112,148,208,149, 56,149, 82,149,108,150, 44,150, 66,150,200,151, 70,152, 74, -153, 51,153,249,154,230,155, 72,155,151,156, 86,156,155,156,222,157, 13,157, 62,158, 29,158,187,159, 97,159,233,160, 68,160,168, -161, 36,161,178,162, 17,162, 97,162,207,163, 51,163,209,164,134,164,156,164,178,165, 38,165,145,165,255,166,114,166,216,167, 68, -167,142,167,224,168, 46,168,135,168,208,169, 30,169,137,169,252,170,173,171, 87,171,107,171,127,171,206,172, 29,172, 37,172,136, -172,249,173,104,174, 15,174,207,175, 54,175,148,175,243,176, 79,176,182,177, 25,177,103,177,173,178, 47,178,191,179, 76,179,230, -179,238,180, 5,180, 28,180,138,180,249,181,108,181,196,182, 22,182,119,182,190,183, 23,183,113,183,189,184, 65,184,193,184,201, -184,224,184,246,185, 15,185, 39,185, 47,185, 55,185, 78,185,100,185,202,186, 40,186, 66,186, 91,186,116,186,142,186,168,186,194, -187, 44,187,148,187,172,187,195,187,221,187,246,188, 15,188, 40,188, 48,188, 56,188, 81,188,105,188,131,188,157,188,181,188,203, -188,229,188,253,189, 22,189, 46,189, 71,189, 95,189,166,189,225,189,250,190, 19,190, 37,190, 55,190, 80,190,102,190,231,191,154, -191,228,191,236,192,102,192,242,193,139,194, 29,194,162,195, 40,195,187,196, 40,196,132,196,235,197, 79,197,203,198, 38,198,135, -199, 5,199,137,199,157,199,177,199,200,199,223,199,246,200, 13,200, 39,200, 64,200, 90,200,115,200,141,200,166,200,192,200,217, -200,253,201, 30,201, 55,201, 80,201,105,201,130,201,155,201,180,201,205,201,230,202, 8,202, 41,202, 64,202, 87,202,110,202,133, -202,157,202,179,202,205,202,230,203, 0,203, 25,203, 51,203, 76,203,102,203,127,203,163,203,196,203,219,203,242,204, 10,204, 34, -204, 57,204, 81,204,104,204,127,204,152,204,178,204,203,204,229,204,254,205, 24,205, 49,205, 75,205,109,205,145,205,168,205,191, -205,215,205,238,206, 6,206, 30,206, 54,206, 77,206,101,206,125,206,148,206,172,206,195,206,218,206,242,207, 7,207, 31,207, 52, -207, 74,207, 96,207,120,207,141,207,165,207,189,207,213,207,235,208, 2,208, 25,208, 48,208, 70,208, 90,208,157,208,246,209, 75, -209,186,210, 47,210,122,210,200,211, 41,211,146,211,191,211,231,212, 15, 0, 0, 0, 2, 0,193, 0, 0, 4, 10, 5,182, 0, 3, - 0, 7, 0, 43, 64, 11, 5, 2, 2, 9, 4,112, 3,128, 3, 2, 3,184,255,192, 64, 9, 6, 9, 72, 3, 4, 3, 7, 0, 3, 0, - 63, 50, 47, 51, 1, 47, 43, 93, 51, 17, 51, 47, 51, 49, 48, 19, 33, 17, 33, 55, 33, 17, 33,193, 3, 73,252,183,104, 2,121,253, -135, 5,182,250, 74,104, 4,230, 0, 2, 0,147,255,227, 1,145, 5,182, 0, 3, 0, 23, 0, 58,185, 0, 1,255,240, 64, 19, 10, - 20, 72, 16, 25,128, 25,144, 25,160, 25, 4, 3, 14,154, 4, 2, 2, 4,184,255,192, 64, 10, 7, 10, 72, 4, 1, 9,155, 19, 2, - 3, 0, 63, 47,245,206, 1, 47, 43, 51, 47, 16,225, 50, 93, 49, 48, 43, 1, 35, 3, 51, 3, 52, 62, 2, 51, 50, 30, 2, 21, 20, - 14, 2, 35, 34, 46, 2, 1, 80,121, 51,223,240, 20, 34, 46, 27, 26, 47, 34, 20, 20, 34, 47, 26, 27, 46, 34, 20, 1,158, 4, 24, -250,185, 38, 53, 33, 15, 15, 33, 53, 38, 37, 53, 34, 16, 16, 34, 53, 0, 0, 2, 0,133, 3,166, 2,178, 5,182, 0, 3, 0, 7, - 0, 55, 64, 35, 4,152, 7, 7, 9,208, 9,224, 9, 2, 47, 9,111, 9,127, 9, 3, 0,152, 0, 3, 16, 3,224, 3,240, 3, 4, - 3, 6, 2, 2, 7, 3, 3, 0, 63, 51, 51, 47, 51, 1, 47, 93,225, 93, 93, 18, 57, 47,225, 49, 48, 1, 3, 35, 3, 33, 3, 35, - 3, 1, 74, 41,115, 41, 2, 45, 41,114, 41, 5,182,253,240, 2, 16,253,240, 2, 16, 0, 0, 2, 0, 51, 0, 0, 4,248, 5,182, - 0, 27, 0, 31, 0,153, 64, 88, 3, 3, 26, 26, 24, 22, 30, 29, 7, 4, 6, 23, 23, 6, 25, 0, 1, 4, 4, 5,177, 24, 24, 33, - 21, 31, 28, 8, 4, 9, 20, 20, 18, 15, 14, 11, 4, 19,177, 10, 80, 16, 1, 16, 16, 12, 12, 9, 80, 10, 1, 10, 28, 1, 72, 13, - 1, 13,174, 12, 8, 4, 12, 31, 0, 16,174, 17, 25, 21, 17, 63, 17, 79, 17,223, 17, 3, 12, 17, 12, 17, 5, 23, 19, 6, 10, 5, - 0, 47, 51, 63, 51, 18, 57, 57, 47, 47, 93, 17, 51, 51, 16,225, 50, 50, 17, 51, 51, 16,225, 93, 50, 50, 1, 47, 93, 51, 51, 47, - 51, 47, 93, 16,228, 23, 57, 50, 17, 18, 23, 57, 17, 51, 47,228, 23, 57, 50, 51, 17, 18, 23, 57, 17, 51, 47, 51, 47, 49, 48, 1, - 3, 33, 21, 33, 3, 35, 19, 33, 3, 35, 19, 33, 53, 33, 19, 33, 53, 33, 19, 51, 3, 33, 19, 51, 3, 33, 21, 1, 33, 19, 33, 3, -215, 63, 1, 24,254,205, 82,147, 84,254,221, 82,144, 78,254,254, 1, 29, 65,254,238, 1, 43, 82,147, 82, 1, 37, 84,144, 84, 1, - 6,252,235, 1, 35, 64,254,221, 3,125,254,184,137,254, 84, 1,172,254, 84, 1,172,137, 1, 72,137, 1,176,254, 80, 1,176,254, - 80,137,254,184, 1, 72, 0, 3, 0,123,255,137, 3,217, 6, 18, 0, 45, 0, 54, 0, 63, 0,180, 64, 51, 52, 47, 41, 1, 41, 47, - 33, 1, 33, 6,112, 47, 60, 1, 60, 47, 30, 1, 30, 19, 32, 7, 1, 7, 7, 13, 46,110, 36, 15, 0, 31, 0, 2,255, 0, 1, 0, - 0, 1, 7, 0, 65, 13, 13, 55,110,224, 25, 1, 25,184,255,192, 64, 48, 8, 11, 72, 25, 51, 20, 20, 41, 60, 60, 19, 46, 55, 8, - 61, 40,115, 33, 37, 33, 31, 64, 14, 17, 72, 31, 31, 30, 80, 33, 1, 15, 33, 31, 33, 2, 8, 33, 52, 19,115, 8, 14, 8, 6, 6, - 5, 8,184,255,192,179, 10, 13, 72, 8, 0, 47, 43, 51, 51, 47, 17, 51, 16,225, 50, 47, 94, 93, 93, 51, 51, 47, 43, 17, 51, 16, -225, 50, 18, 57, 57, 18, 57, 17, 51, 51, 17, 51, 1, 47, 43, 93,225, 51, 47, 16,214, 94, 93, 93,113, 50,225, 17, 57, 47, 93, 51, - 51, 93, 51, 93,225, 50, 93, 50, 93, 50, 49, 48, 1, 20, 14, 2, 7, 21, 35, 53, 34, 46, 2, 39, 53, 30, 3, 51, 17, 46, 3, 53, - 52, 62, 2, 55, 53, 51, 21, 22, 22, 23, 7, 38, 38, 39, 17, 30, 3, 7, 52, 46, 2, 39, 17, 54, 54, 1, 20, 30, 2, 23, 17, 6, - 6, 3,217, 50, 93,133, 84,138, 50,102, 96, 84, 32, 33, 87, 96,101, 47, 89,131, 86, 42, 49, 91,129, 79,138,100,169, 67, 66, 56, -140, 74, 88,135, 91, 46,176, 20, 43, 70, 51, 93, 91,254, 18, 17, 40, 66, 49, 89, 83, 1,190, 70,114, 84, 55, 12,230,221, 9, 18, - 26, 17,172, 16, 33, 26, 17, 1,178, 30, 66, 85,110, 74, 67,111, 83, 53, 9,180,176, 5, 42, 31,145, 25, 41, 6,254, 90, 31, 66, - 83,107, 72, 33, 55, 45, 38, 18,254,139, 14, 98, 2,163, 36, 57, 47, 38, 17, 1,113, 16, 89, 0, 0, 5, 0,102,255,236, 6, 51, - 5,203, 0, 9, 0, 29, 0, 39, 0, 59, 0, 63, 0, 93,178, 60, 16, 62,184,255,240, 64, 51, 60, 62, 60, 62, 40, 20, 30,180, 50, -181, 35,180, 40, 65, 15, 65, 1, 5,180, 10,181, 0,180, 16, 20, 32, 20, 48, 20, 3, 20, 63, 6, 62, 24, 37,182, 55,183, 33,182, - 45, 25, 3,182, 15,183, 7,182, 25, 7, 0, 63,225,244,225, 63,225,244,225, 63, 63, 1, 47, 93,225,244,225, 93, 16,222,225,244, -225, 17, 18, 57, 57, 47, 47, 56, 56, 49, 48, 19, 20, 22, 51, 50, 17, 16, 35, 34, 6, 5, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, - 2, 51, 50, 30, 2, 1, 20, 22, 51, 50, 17, 16, 35, 34, 6, 5, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 1, - 1, 35, 1,250, 71, 80,156,156, 80, 71, 1,199, 36, 74,115, 79, 73,112, 76, 38, 35, 73,113, 78, 75,113, 77, 39, 1,172, 71, 80, -156,156, 80, 71, 1,198, 35, 74,115, 79, 74,112, 75, 38, 35, 73,113, 78, 75,113, 76, 39,255, 0,252,213,158, 3, 44, 4, 2,165, -165, 1, 74, 1, 72,163,165,108,172,118, 63, 63,118,172,108,108,170,117, 62, 62,117,170,253, 74,165,164, 1, 73, 1, 72,163,165, -108,171,118, 63, 63,118,171,108,108,170,117, 62, 62,117,170, 3,146,250, 74, 5,182, 0, 0, 3, 0,109,255,236, 5,125, 5,205, - 0, 17, 0, 33, 0, 83, 0,128, 64, 77, 39, 24, 23, 74, 4, 73, 44, 73, 72, 10, 71, 54, 65, 71, 66, 32, 66, 1, 54, 66, 54, 66, - 29, 5, 59, 60, 71, 4, 72, 0, 71, 0, 44, 16, 44, 2, 8, 44, 44, 34, 32, 72, 1, 72, 85, 29, 72, 16, 34, 32, 34, 2, 34, 65, - 65, 49, 18, 81, 79, 22, 39, 24, 23, 74, 4, 15, 71, 60, 59, 5, 4, 49, 73, 21, 15, 80, 49, 0, 47,225, 63, 18, 23, 57, 18, 23, - 57, 63,225, 17, 57, 47, 1, 47, 93,225, 16,198, 93, 17, 57, 47, 94, 93,225, 17, 23, 57, 18, 57, 57, 47, 47, 93, 16,225, 16,225, - 17, 51, 17, 18, 23, 57, 49, 48, 1, 20, 30, 2, 23, 62, 3, 53, 52, 46, 2, 35, 34, 6, 19, 50, 62, 2, 55, 1, 14, 3, 21, 20, - 30, 2, 37, 52, 62, 2, 55, 46, 3, 53, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 7, 1, 62, 3, 55, 51, 14, 3, 7, 1, 35, - 39, 14, 3, 35, 34, 46, 2, 1,166, 16, 33, 52, 36, 59, 86, 56, 28, 25, 47, 66, 42, 86,100,135, 58, 98, 84, 72, 32,254,125, 52, - 80, 55, 28, 35, 66, 96,254,125, 40, 77,111, 71, 31, 60, 45, 28, 50, 94,138, 88, 83,131, 91, 48, 50, 84,109, 60, 1, 96, 27, 43, - 34, 27, 10,184, 15, 41, 53, 65, 39, 1, 21,225,168, 49, 96,108,124, 78,105,167,115, 61, 4,141, 34, 65, 65, 67, 37, 35, 62, 64, - 70, 41, 36, 61, 44, 25, 89,251,175, 23, 40, 54, 31, 1,151, 33, 63, 72, 85, 56, 54, 91, 65, 36,240, 78,122,100, 86, 42, 36, 77, - 87, 99, 57, 75,119, 83, 43, 43, 83,119, 75, 64,109, 93, 79, 36,254,140, 29, 60, 68, 78, 47, 66,111, 98, 85, 41,254,219,172, 45, - 71, 49, 27, 53,103,149, 0, 1, 0,133, 3,166, 1, 74, 5,182, 0, 3, 0, 42, 64, 28,192, 5,208, 5,224, 5, 3, 47, 5,111, - 5, 2, 0,152, 0, 3, 16, 3,224, 3,240, 3, 4, 3, 2, 2, 3, 3, 0, 63, 51, 47, 1, 47, 93,225, 93, 93, 49, 48, 1, 3, - 35, 3, 1, 74, 41,115, 41, 5,182,253,240, 2, 16, 0, 0, 1, 0, 82,254,188, 2, 43, 5,182, 0, 19, 0, 26, 64, 13, 6, 14, -242, 9,240, 63, 0, 1, 0, 14,249, 5,248, 0, 63, 63, 1, 47, 93,225,228, 50, 49, 48, 19, 52, 62, 2, 55, 51, 6, 2, 21, 20, - 30, 2, 23, 35, 46, 3, 82, 36, 74,113, 78,172,140,145, 37, 71,106, 69,170, 78,113, 74, 36, 2, 49,125,243,229,211, 93,193,254, - 50,244,119,236,226,212, 94, 90,206,225,240, 0, 0, 1, 0, 61,254,188, 2, 23, 5,182, 0, 19, 0, 28, 64, 14, 6, 14,242, 11, -240,176, 0, 1, 0, 21, 14,248, 5,249, 0, 63, 63, 1, 16,222, 93,225,228, 50, 49, 48, 1, 20, 14, 2, 7, 35, 62, 3, 53, 52, - 2, 39, 51, 30, 3, 2, 23, 36, 75,113, 78,170, 69,106, 72, 36,144,141,172, 78,113, 75, 36, 2, 49,124,240,225,206, 90, 94,212, -226,236,119,244, 1,206,193, 93,211,229,243, 0, 0, 1, 0, 82, 2,119, 4, 20, 6, 20, 0, 14, 0, 36, 64, 21, 31, 16, 1, 0, -152, 0, 14,128, 14,144, 14, 3, 8, 14, 31, 6, 1, 6, 6, 0, 0, 0, 63, 50, 47, 93, 1, 47, 94, 93,229, 93, 49, 48, 1, 3, - 37, 23, 5, 19, 7, 3, 3, 39, 19, 37, 55, 5, 3, 2,152, 43, 1,141, 26,254,134,245,178,176,158,184,242,254,137, 29, 1,135, - 43, 6, 20,254,119,111,193, 28,254,186, 96, 1,102,254,154, 96, 1, 70, 28,193,111, 1,137, 0, 0, 1, 0,102, 1, 6, 4, 2, - 4,162, 0, 11, 0, 41, 64, 24, 16, 13, 1, 6, 9,170, 3,239, 0, 1, 32, 0, 96, 0,160, 0, 3, 0, 9, 0,173, 6, 3,179, - 0, 63, 51,225, 50, 1, 47, 93, 93, 50,225, 50, 93, 49, 48, 1, 33, 53, 33, 17, 51, 17, 33, 21, 33, 17, 35, 1,233,254,125, 1, -131,150, 1,131,254,125,150, 2,135,150, 1,133,254,123,150,254,127, 0, 0, 1, 0, 63,254,248, 1,121, 0,238, 0, 12, 0, 56, - 64, 20,207, 14, 1, 16, 14,144, 14,160, 14, 3, 27, 12, 43, 12, 2, 12, 1,151, 6, 7,184,255,192, 64, 13, 16, 20, 72, 95, 7, - 1, 16, 7, 1, 7, 6,156, 12, 0, 47,237, 1, 47, 93, 93, 43, 51,237, 50, 93, 93, 93, 49, 48, 37, 23, 14, 3, 7, 35, 62, 3, - 55, 1,106, 15, 14, 39, 47, 51, 25,138, 15, 29, 27, 22, 8,238, 23, 54,122,124,123, 56, 61,132,131,125, 53, 0, 0, 1, 0, 82, - 1,209, 2, 66, 2,121, 0, 3, 0, 21, 64, 9, 2, 5, 64, 0, 1, 0, 0,185, 1, 0, 47,225, 1, 47, 93, 16,206, 49, 48, 19, - 53, 33, 21, 82, 1,240, 1,209,168,168, 0, 1, 0,147,255,227, 1,145, 0,250, 0, 19, 0, 53, 64, 27,128, 21,144, 21,160, 21, - 3, 17, 21, 1, 10,150,192, 0,208, 0, 2, 52, 0, 68, 0,100, 0,116, 0, 4, 0,184,255,192,182, 7, 10, 72, 0, 5,155, 15, - 0, 47,237, 1, 47, 43, 93, 93,237, 93, 93, 49, 48, 55, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2,147, 20, 34, - 46, 27, 26, 47, 34, 20, 20, 34, 47, 26, 27, 46, 34, 20,111, 38, 53, 33, 15, 15, 33, 53, 38, 37, 53, 34, 16, 16, 34, 53, 0, 1, - 0, 20, 0, 0, 2,231, 5,182, 0, 3, 0, 30,177, 1, 2,184,255,240, 64, 9, 2, 3, 0, 16, 0, 5, 1, 0, 3, 0, 63, 47, - 17, 1, 51, 56, 50, 47, 56, 51, 49, 48, 1, 1, 35, 1, 2,231,253,224,179, 2, 33, 5,182,250, 74, 5,182, 0, 0, 2, 0, 98, -255,236, 4, 8, 5,205, 0, 19, 0, 39, 0, 38, 64, 21, 30,111, 0, 41, 16, 41, 1, 20,111, 32, 10, 1, 10, 35,115, 15, 7, 25, -115, 5, 25, 0, 63,225, 63,225, 1, 47, 93,225, 93, 16,222,225, 49, 48, 1, 20, 2, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, - 54, 51, 50, 22, 22, 18, 5, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2, 4, 8, 51,113,178,127,118,175,115, 57, - 51,111,177,126,119,176,116, 58,253, 19, 30, 66,107, 77, 77,108, 69, 31, 31, 69,108, 77, 77,107, 66, 30, 2,221,177,254,232,194, -102,102,194, 1, 24,177,177, 1, 24,193,102,101,193,254,232,178,150,224,149, 75, 74,148,225,151,150,224,148, 74, 74,148,224, 0, - 0, 1, 0,178, 0, 0, 2,199, 5,182, 0, 16, 0, 53, 64, 33, 64, 18, 1, 15, 1, 14, 14, 0,110,191, 1,255, 1, 2,126, 1, - 1, 0, 1, 16, 1, 32, 1, 64, 1, 4, 6, 1, 13, 15, 6, 0, 24, 0, 63, 63,205, 1, 47, 94, 93, 93, 93,225, 51, 47, 17, 51, - 93, 49, 48, 33, 35, 17, 52, 62, 2, 55, 14, 3, 7, 7, 39, 1, 51, 2,199,176, 1, 3, 3, 1, 17, 26, 27, 30, 21,148, 96, 1, -127,150, 3,145, 43, 98, 97, 89, 34, 18, 26, 24, 27, 18,121,123, 1, 43, 0, 1, 0, 96, 0, 0, 3,240, 5,203, 0, 35, 0, 60, - 64, 32, 35, 8,111, 27, 27, 37, 16, 37, 1, 34,111, 1, 33, 1, 17, 17, 32, 1, 1, 1, 8, 34, 16, 13,115, 22, 7, 2, 34,116, - 1, 24, 0, 63,225, 50, 63,225, 51, 18, 57, 1, 47, 93, 51, 47, 17, 51, 16,237, 93, 17, 51, 47,225, 51, 49, 48, 33, 33, 53, 1, - 62, 3, 53, 52, 46, 2, 35, 34, 6, 7, 39, 62, 3, 51, 50, 30, 2, 21, 20, 14, 2, 7, 1, 21, 33, 3,240,252,112, 1, 94, 75, -118, 83, 44, 34, 63, 86, 53, 95,153, 69,102, 40, 92,106,118, 65, 96,155,108, 59, 53, 93,129, 75,254,231, 2,177,156, 1,125, 81, -134,128,129, 76, 59, 90, 63, 32, 77, 60,119, 36, 63, 46, 27, 54,101,145, 91, 85,154,149,150, 81,254,213, 8, 0, 0, 1, 0, 82, -255,236, 3,238, 5,203, 0, 57, 0, 93, 64, 11, 33, 48, 33, 48, 18, 26,111, 9, 39,111, 0,184,255,192, 64, 40, 20, 23, 72, 0, - 0, 9, 59, 32, 59, 1, 79, 18, 1, 18, 6, 32,115,171, 33, 1,121, 33, 1, 11, 33, 1, 8, 33, 33, 21, 47, 44,115, 53, 7, 21, -115, 18, 14, 25, 0, 63, 51,225, 63,225, 51, 18, 57, 47, 94, 93, 93, 93,225, 57, 1, 47, 93, 93, 16,206, 50, 47, 43,225, 16,225, - 17, 57, 57, 47, 47, 49, 48, 1, 20, 14, 2, 7, 21, 22, 22, 21, 20, 14, 2, 35, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 53, 52, - 46, 2, 35, 35, 53, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 6, 7, 39, 62, 3, 51, 50, 30, 2, 3,193, 46, 83,116, 71,177,184, - 65,132,202,138,109,193, 85, 87,203, 93, 92,134, 87, 41, 53, 98,141, 89,133,133, 81,126, 85, 44, 36, 66, 92, 56,107,163, 74, 92, - 38, 93,110,125, 70,108,163,110, 56, 4, 96, 73,120, 88, 57, 12, 6, 22,181,145, 96,160,116, 64, 34, 45,170, 46, 50, 40, 74,108, - 67, 68, 97, 63, 30,151, 40, 74,102, 61, 52, 82, 57, 30, 67, 54,125, 31, 54, 41, 24, 54, 97,133, 0, 2, 0, 23, 0, 0, 4, 63, - 5,190, 0, 10, 0, 24, 0, 78, 64, 44, 9, 86, 0, 1, 0, 0, 2,110, 17, 12, 11, 7, 32, 3, 1, 3, 3, 26, 16, 26, 1,119, - 24,135, 24, 2, 24, 95, 5, 1, 5, 9, 6, 24,116, 1, 5, 5, 2, 17, 7, 6, 2, 24, 0, 63, 63, 51, 18, 57, 47, 51,225, 50, - 50, 1, 47, 93, 51, 93, 93, 18, 57, 47, 93, 51, 51, 51, 51,225, 50, 47, 93, 50, 49, 48, 1, 35, 17, 35, 17, 33, 53, 1, 51, 17, - 51, 33, 17, 52, 62, 2, 55, 35, 14, 3, 7, 1, 4, 63,213,176,253, 93, 2,151,188,213,254,123, 3, 4, 5, 1, 9, 7, 21, 25, - 26, 11,254,101, 1, 72,254,184, 1, 72,159, 3,215,252, 48, 1,100, 56,123,117,102, 34, 20, 49, 49, 46, 16,253,160, 0, 0, 1, - 0,131,255,236, 3,246, 5,182, 0, 42, 0, 78, 64, 24, 38, 26,111, 5, 44, 16, 44, 1, 39, 36, 36, 40,104, 35, 1, 89, 35, 1, - 35, 35,240, 15, 1, 15,184,255,192, 64, 18, 8, 11, 72, 15, 29,115, 0, 0, 21, 39,116, 36, 6, 21,115, 16, 10, 25, 0, 63, 51, -225, 63,225, 18, 57, 47,225, 1, 47, 43, 93, 51, 47, 93, 93, 51, 51, 17, 51, 93, 16,222,225, 51, 49, 48, 1, 50, 30, 2, 21, 20, - 14, 2, 35, 34, 46, 2, 39, 53, 30, 3, 51, 50, 62, 2, 53, 52, 38, 35, 34, 14, 2, 7, 39, 19, 33, 21, 33, 3, 54, 54, 2, 33, - 99,171,127, 72, 68,134,197,128, 51, 99, 91, 82, 33, 33, 89, 98, 99, 42, 79,124, 86, 46,176,168, 27, 63, 63, 57, 21, 90, 55, 2, -178,253,236, 39, 32,105, 3,129, 55,108,160,105,114,182,126, 67, 10, 19, 30, 20,172, 23, 36, 24, 13, 37, 78,118, 81,143,151, 5, - 8, 9, 4, 57, 2,176,166,254, 93, 6, 14, 0, 0, 2, 0,113,255,236, 4, 10, 5,203, 0, 43, 0, 63, 0, 55, 64, 32, 49,110, - 12, 34, 65, 16, 65, 1, 23, 59,111, 0, 0, 16, 0, 32, 0, 3, 0, 54,117, 29, 29, 7, 44,115, 39, 25, 16,115, 7, 7, 0, 63, -225, 63,225, 17, 57, 47,225, 1, 47, 93,225, 50, 93, 16,222, 50,225, 49, 48, 19, 52, 62, 4, 51, 50, 30, 2, 23, 21, 38, 38, 35, - 34, 14, 4, 7, 51, 62, 3, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 1, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2, 21, - 20, 30, 2,113, 21, 53, 92,142,198,133, 19, 46, 47, 43, 17, 35, 88, 43, 90,137,100, 67, 42, 20, 3, 12, 20, 57, 76, 95, 59, 95, -154,108, 59, 62,116,164,102,100,175,128, 74, 1,219, 60, 99, 72, 39, 33, 66, 99, 66, 67,111, 78, 43, 37, 73,110, 2,113,105,208, -191,164,121, 69, 2, 5, 7, 5,155, 12, 12, 43, 78,108,131,148, 80, 36, 63, 45, 26, 59,114,165,106,114,182,127, 68, 78,160,242, -254,185, 41, 83,127, 87, 70,111, 78, 42, 47, 75, 96, 48, 67,133,106, 67, 0, 1, 0, 90, 0, 0, 4, 6, 5,182, 0, 6, 0, 43, -177, 6, 0,184,255,240, 64, 17, 0, 0, 2, 1, 5, 8, 16, 8, 1, 2, 5, 2,116, 3, 6, 0, 24, 0, 63, 63,225, 50, 1, 47, - 93, 16,206, 50, 17, 57, 47, 56, 51, 49, 48, 33, 1, 33, 53, 33, 21, 1, 1, 25, 2, 51,253, 14, 3,172,253,213, 5, 16,166,145, -250,219, 0, 3, 0,106,255,236, 4, 0, 5,205, 0, 39, 0, 58, 0, 74, 0,128, 64, 83, 30, 35, 50,110, 15, 10, 40, 72,110,195, - 5,211, 5, 2,181, 5, 1, 5, 5, 15, 76, 16, 76, 1, 40,110, 25, 62,110,213, 35, 1,204, 35, 1,186, 35, 1, 35, 35, 16, 25, - 32, 25, 2, 25, 10, 30,104, 56,152, 56, 2, 89, 56, 1, 40, 56, 56, 56, 72, 56, 3, 56,147, 67, 1, 38, 67, 86, 67, 2, 67, 67, - 0, 45,115, 20, 25, 59,115, 0, 7, 0, 63,225, 63,225, 17, 57, 47, 93, 93,193, 93, 93, 93, 57, 57, 1, 47, 93, 51, 47, 93, 93, - 93,225, 16,225, 93, 16,206, 50, 47, 93, 93,225, 18, 57, 16,225, 17, 57, 49, 48, 1, 50, 30, 2, 21, 20, 14, 2, 7, 30, 3, 21, - 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 55, 46, 3, 53, 52, 62, 2, 3, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 39, 39, - 6, 6, 1, 34, 6, 21, 20, 30, 2, 23, 62, 3, 53, 52, 38, 2, 53, 84,149,113, 66, 40, 70, 96, 56, 58,111, 87, 53, 67,121,169, -102,110,171,117, 61, 45, 76,104, 58, 49, 86, 63, 37, 67,114,149,199, 32, 68,104, 72, 70,107, 72, 36, 39, 73,102, 63, 30,126,128, - 1, 22,106,125, 35, 62, 87, 51, 48, 85, 63, 36,126, 5,205, 44, 88,132, 88, 67,108, 87, 69, 28, 31, 76, 95,118, 73, 92,149,104, - 56, 54,101,146, 92, 75,120, 96, 74, 28, 31, 73, 90,109, 66, 87,131, 88, 44,251,166, 53, 89, 63, 35, 35, 65, 92, 56, 52, 84, 72, - 64, 31, 14, 60,155, 3, 84,106,101, 57, 82, 64, 51, 24, 22, 52, 66, 84, 54,101,106, 0, 0, 2, 0,106,255,236, 4, 4, 5,203, - 0, 41, 0, 61, 0, 53, 64, 30, 57, 21,111, 0, 63, 16, 63, 1, 47,110, 12, 16, 32, 32, 32, 2, 32, 52,117, 27, 27, 7, 42,115, - 37, 7, 16,117, 7, 26, 0, 63,225, 63,225, 17, 57, 47,225, 1, 47, 93, 51,225, 93, 16,222,225, 50, 49, 48, 1, 20, 14, 4, 35, - 34, 46, 2, 39, 53, 22, 22, 51, 50, 62, 2, 55, 35, 14, 3, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 1, 34, 14, 2, 21, - 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 4, 4, 21, 53, 92,142,198,133, 19, 46, 46, 44, 17, 35, 88, 43,135,174,102, 43, 5, - 13, 20, 56, 76, 96, 59, 95,154,108, 59, 63,115,165,102,101,174,128, 74,254, 37, 60, 99, 72, 39, 33, 66, 99, 66, 68,110, 78, 43, - 37, 73,110, 3, 70,105,209,190,165,120, 69, 2, 5, 6, 5,156, 13, 12, 94,161,214,119, 36, 62, 46, 26, 59,114,165,106,114,183, -127, 68, 78,160,243, 1, 71, 40, 84,127, 87, 70,111, 78, 42, 47, 75, 96, 48, 67,133,107, 66, 0, 0, 2, 0,147,255,227, 1,145, - 4,102, 0, 19, 0, 39, 0, 62, 64, 28, 16, 41,128, 41,144, 41,160, 41, 4, 30, 10,150, 20,192, 0,208, 0, 2, 52, 0, 68, 0, -100, 0,116, 0, 4, 0,184,255,192, 64, 11, 7, 10, 72, 0, 35,155, 25, 16, 5,155, 15, 0, 47,237, 63,237, 1, 47, 43, 93, 93, - 51,229, 50, 93, 49, 48, 55, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 17, 52, 62, 2, 51, 50, 30, 2, 21, 20, - 14, 2, 35, 34, 46, 2,147, 20, 34, 46, 27, 26, 47, 34, 20, 20, 34, 47, 26, 27, 46, 34, 20, 20, 34, 46, 27, 26, 47, 34, 20, 20, - 34, 47, 26, 27, 46, 34, 20,111, 38, 53, 33, 15, 15, 33, 53, 38, 37, 53, 34, 16, 16, 34, 53, 3,145, 39, 53, 33, 14, 14, 33, 53, - 39, 37, 52, 34, 16, 16, 34, 52, 0, 2, 0, 63,254,248, 1,145, 4,102, 0, 12, 0, 32, 0, 97, 64, 47, 16, 34,128, 34,144, 34, -160, 34, 4, 23,150,192, 13,208, 13, 2,100, 13,116, 13, 2, 80, 13, 1, 68, 13, 1, 59, 13, 1, 31, 13, 47, 13, 2, 13, 13, 27, - 12, 43, 12, 2, 12, 1,151, 6, 7,184,255,192, 64, 17, 16, 20, 72, 95, 7, 1, 16, 7, 1, 7, 28,155, 18, 16, 6,156, 12, 0, - 47,237, 63,237, 1, 47, 93, 93, 43, 51,237, 50, 93, 51, 47, 93, 93, 93, 93, 93, 93,229, 93, 49, 48, 37, 23, 14, 3, 7, 35, 62, - 3, 55, 3, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 1,106, 15, 14, 39, 47, 51, 25,138, 15, 29, 27, 22, 8, - 17, 20, 34, 46, 27, 26, 47, 34, 20, 20, 34, 47, 26, 27, 46, 34, 20,238, 23, 54,122,124,123, 56, 61,132,131,125, 53, 2,237, 39, - 53, 33, 14, 14, 33, 53, 39, 37, 52, 34, 16, 16, 34, 52, 0, 1, 0,102, 0,238, 4, 2, 4,221, 0, 6, 0, 78, 64, 48, 0, 8, - 64, 8, 1, 64, 1, 1, 1, 2, 1, 5, 5, 3, 6,111, 0,127, 0, 2, 48, 0, 1, 0, 0, 4, 32, 3, 1, 80, 3,112, 3,128, - 3,208, 3,240, 3, 5, 63, 3, 1, 0, 3, 1, 6, 3, 0, 47, 94, 93, 93, 93,113, 51, 51, 47, 93, 93, 50, 18, 57, 61, 47, 51, - 51, 1, 24, 47, 93, 93, 16,206, 49, 48, 37, 1, 53, 1, 21, 1, 1, 4, 2,252,100, 3,156,253, 33, 2,223,238, 1,168,102, 1, -225,160,254,148,254,190, 0, 2, 0,102, 1,186, 4, 2, 3,233, 0, 3, 0, 7, 0, 92, 64, 61, 7, 2, 9, 64, 9, 1, 4,198, - 0, 1,187, 0, 1,169, 0, 1,134, 0, 1,123, 0, 1,104, 0, 1, 66, 0, 1, 57, 0, 1, 0, 4,173, 31, 5, 47, 5, 2,127, - 5, 1, 0, 5, 16, 5, 2, 6, 5, 5, 0,173,240, 1, 1, 15, 1,111, 1, 2, 1, 0, 47, 93, 93,225, 51, 47, 94, 93, 93,113, -225, 1, 47, 93, 93, 93, 93, 93, 93, 93, 93, 51, 93, 16,206, 50, 49, 48, 19, 53, 33, 21, 1, 53, 33, 21,102, 3,156,252,100, 3, -156, 3, 84,149,149,254,102,150,150, 0, 0, 1, 0,102, 0,238, 4, 2, 4,221, 0, 6, 0, 78, 64, 48, 5, 8, 64, 8, 1, 64, - 6, 1, 6, 5, 4, 1, 1, 3, 0,111, 6,127, 6, 2, 48, 6, 1, 6, 6, 2, 32, 3, 1, 80, 3,112, 3,128, 3,208, 3,240, - 3, 5, 63, 3, 1, 0, 3, 1, 6, 3, 0, 47, 94, 93, 93, 93,113, 51, 51, 47, 93, 93, 51, 18, 57, 61, 47, 51, 51, 1, 24, 47, - 93, 93, 16,206, 49, 48, 19, 1, 1, 53, 1, 21, 1,102, 2,224,253, 32, 3,156,252,100, 1,143, 1, 66, 1,108,160,254, 31,102, -254, 88, 0, 2, 0, 37,255,227, 3, 37, 5,203, 0, 39, 0, 59, 0, 62, 64, 33, 50,154, 40, 40, 39, 70, 0, 0, 20, 11, 70, 28, - 61, 47, 61, 1, 20, 11, 23, 15, 0, 1, 6, 0, 0, 45,155, 55, 19, 16, 81, 23, 4, 0, 63,225, 51, 47,229, 50, 47, 94, 93, 18, - 57, 1, 47, 93, 16,222,225, 17, 57, 47,225, 51, 47,225, 49, 48, 1, 53, 52, 62, 2, 55, 62, 3, 53, 52, 46, 2, 35, 34, 6, 7, - 39, 54, 54, 51, 50, 30, 2, 21, 20, 14, 2, 7, 14, 3, 21, 21, 3, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, - 1, 25, 15, 39, 66, 50, 48, 68, 43, 21, 30, 57, 85, 56, 83,150, 70, 63, 81,188, 97, 93,149,104, 56, 27, 54, 80, 54, 52, 66, 38, - 14,187, 20, 34, 46, 27, 26, 47, 34, 20, 20, 34, 47, 26, 27, 46, 34, 20, 1,158, 37, 57, 92, 80, 77, 42, 41, 67, 69, 79, 53, 48, - 79, 57, 31, 52, 34,145, 42, 59, 51, 96,139, 87, 67,105, 90, 84, 47, 45, 67, 63, 66, 44, 18,254,209, 38, 53, 33, 15, 15, 33, 53, - 38, 37, 53, 34, 16, 16, 34, 53, 0, 2, 0,109,255, 74, 6,129, 5,182, 0, 87, 0,104, 0,111, 64, 63, 88, 23, 96, 39, 31, 23, - 1,127, 39, 1, 23, 39, 70, 70, 39, 23, 3, 78, 49, 32, 0, 1, 0,106, 64,106, 1, 59, 64, 78, 1, 78, 44, 12, 91, 18, 7, 18, -100, 28, 15, 18, 31, 18,191, 18, 3, 6, 0, 28, 1, 7, 18, 28, 18, 28, 64, 54, 83, 3, 64, 69, 73, 0, 47, 51,193, 63,193, 18, - 57, 57, 47, 47, 94, 93, 94, 93, 16,193, 17, 51, 16,193, 50, 50, 1, 47, 93,193, 93, 16,222,113,193, 17, 23, 57, 47, 47, 47, 93, - 93, 16,193, 16,193, 49, 48, 1, 20, 14, 4, 35, 34, 46, 2, 39, 35, 14, 3, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 23, - 3, 6, 6, 20, 20, 21, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 4, 6, 2, 21, 20, 30, 2, 51, 50, 62, 2, 55, 21, - 6, 6, 35, 34, 36, 38, 2, 53, 52, 18, 54, 36, 51, 50, 4, 22, 18, 1, 20, 22, 51, 50, 62, 2, 55, 55, 38, 38, 35, 34, 14, 2, - 6,129, 19, 37, 57, 76, 97, 58, 45, 73, 52, 33, 6, 4, 18, 54, 71, 89, 53, 77,119, 82, 43, 59,111,158, 98, 45, 90, 82, 69, 23, - 23, 1, 1, 21, 34, 43, 23, 46, 70, 47, 24, 86,152,209,123,169,254,254,175, 90, 79,153,227,147, 61,119,111,100, 43, 86,216,130, -179,254,231,195,102,118,219, 1, 55,193,156, 1, 6,191,106,252, 21,101, 85, 55, 78, 50, 26, 4, 14, 28, 77, 42, 74,101, 63, 28, - 2,219, 62,125,113, 97, 72, 41, 30, 50, 65, 35, 37, 66, 49, 28, 56,101,142, 86,101,168,122, 68, 8, 14, 17, 8,254, 96, 22, 27, - 16, 8, 3, 53, 68, 40, 15, 61,104,140, 78,142,221,152, 79,111,199,254,239,162,151,234,160, 82, 14, 24, 31, 17,141, 38, 44,102, -195, 1, 25,179,188, 1, 69,238,136,101,189,254,241,254,213,133,119, 45, 83,115, 69,253, 8, 13, 58, 94,120, 0, 0, 2, 0, 0, - 0, 0, 4,221, 5,188, 0, 7, 0, 20, 0,132, 64, 36, 6, 5, 70, 2, 1, 70, 20, 1, 2, 20, 3, 73, 8, 1, 73, 1, 1, 8, - 1, 0, 14, 14, 3, 0, 0, 16, 7, 1,128, 7,144, 7,208, 7, 3, 7,184,255,192, 64, 24, 6, 10, 72, 7, 16, 7, 7, 22, 15, - 22, 31, 22, 47, 22,143, 22,159, 22,223, 22, 6, 7, 3, 4,184,255,240, 64, 17, 4, 2, 95, 14, 32, 10, 14, 72, 14, 5, 20, 20, - 5, 3, 4, 0, 18, 0, 63, 50, 63, 57, 47, 18, 57, 43,225, 1, 47, 56, 51, 94, 93, 17, 51, 47, 56, 43, 93,113, 51, 17, 18, 57, - 61, 47, 18, 57, 57, 93, 93, 18, 57, 57, 93, 93, 51, 51, 49, 48, 33, 3, 33, 3, 35, 1, 51, 1, 1, 3, 46, 3, 39, 14, 3, 7, - 3, 4, 31,160,253,223,162,188, 2, 25,170, 2, 26,254,103,148, 6, 17, 18, 18, 8, 7, 18, 18, 17, 6,145, 1,197,254, 59, 5, -188,250, 68, 2,106, 1,168, 18, 52, 60, 65, 31, 31, 66, 61, 51, 17,254, 88, 0, 0, 3, 0,199, 0, 0, 4,135, 5,182, 0, 23, - 0, 34, 0, 47, 0, 98, 64, 62, 11, 30, 90, 5, 6, 1,229, 6,245, 6, 2,214, 6, 1, 6, 6, 36, 42, 91,112, 17,128, 17, 2, - 17,103, 49,127, 49,143, 49, 2, 16, 49, 1, 24, 36, 90, 23,100, 48, 11, 35, 96,121, 24, 1, 11, 24, 1, 8, 24, 24, 0, 36, 96, - 23, 18, 34, 96, 0, 3, 0, 63,225, 63,225, 17, 57, 47, 94, 93, 93,225, 57, 1, 16,246,225, 50, 93, 93, 16,246, 93,225, 18, 57, - 47, 93, 93,113,225, 50, 49, 48, 19, 33, 50, 30, 2, 21, 20, 14, 2, 7, 21, 30, 3, 21, 20, 14, 2, 35, 33, 19, 51, 50, 62, 2, - 53, 52, 38, 35, 35, 17, 17, 33, 50, 62, 2, 53, 52, 46, 2, 35,199, 1,143,128,195,131, 66, 39, 74,109, 69, 69,121, 90, 52, 65, -123,176,111,254, 27,186,244, 84,114, 70, 31,154,166,223, 1, 10, 88,119, 73, 32, 33, 75,124, 92, 5,182, 39, 87,141,103, 62,108, - 82, 55, 9, 10, 12, 45, 79,120, 86,100,157,109, 58, 3, 74, 30, 59, 89, 59,120,104,253,151,253,240, 40, 72,101, 61, 56, 94, 67, - 37, 0, 0, 1, 0,125,255,236, 4,152, 5,203, 0, 35, 0, 76, 64, 20,175, 14, 1, 14, 64, 21, 24, 72, 14, 14, 24,186, 32, 1, - 96, 32,112, 32, 2, 32,184,255,192, 64, 24, 6, 10, 72, 32, 32, 37,175, 37, 1, 5, 91, 24,102, 36, 33, 0, 95, 29, 4, 13, 10, - 95, 19, 19, 0, 63,225, 51, 63,225, 51, 1, 16,246,225, 93, 17, 51, 47, 43, 93, 93, 18, 57, 47, 43, 93, 49, 48, 1, 34, 14, 2, - 21, 20, 30, 2, 51, 50, 54, 55, 21, 14, 3, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, 7, 38, 38, 3, 25,107,174, -123, 67, 59,118,176,118, 89,160, 78, 39, 78, 85, 97, 59,164,240,157, 76, 87,169,250,162,108,196, 79, 78, 63,148, 5, 39, 81,152, -218,137,141,219,150, 78, 35, 23,162, 15, 23, 14, 7,108,198, 1, 22,169,166, 1, 20,198,110, 44, 42,156, 32, 46, 0, 2, 0,199, - 0, 0, 4,252, 5,182, 0, 12, 0, 23, 0, 38, 64, 21, 13, 91, 0,103, 25, 16, 25, 1, 20, 90, 6,100, 24, 19, 96, 7, 3, 20, - 96, 6, 18, 0, 63,225, 63,225, 1, 16,246,225, 93, 16,246,225, 49, 48, 1, 20, 2, 6, 4, 35, 33, 17, 33, 50, 22, 22, 18, 7, - 52, 46, 2, 35, 35, 17, 51, 32, 0, 4,252, 96,182,254,247,168,254,146, 1,151,153,248,174, 95,197, 66,126,184,117,201,162, 1, - 8, 1, 12, 2,233,185,254,233,187, 94, 5,182, 92,181,254,244,182,146,213,138, 67,251,137, 1, 36, 0, 0, 1, 0,199, 0, 0, - 3,190, 5,182, 0, 11, 0, 66, 64, 38, 20, 8, 1, 8, 8, 1, 4, 0,103, 13, 6, 10, 90, 1,100, 12, 9, 95, 79, 6, 1, 15, - 6,175, 6, 2, 8, 6, 6, 10, 5, 95, 2, 3, 10, 95, 1, 18, 0, 63,225, 63,225, 18, 57, 47, 94, 93,113,225, 1, 16,246,225, - 50, 16,230, 50, 17, 57, 47, 93, 49, 48, 33, 33, 17, 33, 21, 33, 17, 33, 21, 33, 17, 33, 3,190,253, 9, 2,247,253,195, 2, 23, -253,233, 2, 61, 5,182,164,254, 60,162,253,248, 0, 1, 0,199, 0, 0, 3,190, 5,182, 0, 9, 0,112, 64, 17, 8, 8, 1, 15, - 3, 1,255, 3, 1,128, 3,144, 3,208, 3, 3, 3,184,255,192, 64, 56, 7, 10, 72, 3, 3, 11, 15, 11, 47, 11,143, 11,175, 11, - 4, 7, 6, 0, 90, 1,100, 10, 9, 95, 15, 6, 1, 15, 6, 63, 6,111, 6,255, 6, 4, 8, 6, 64, 26, 29, 72, 6, 64, 16, 21, - 72, 6, 6, 0, 5, 95, 2, 3, 0, 18, 0, 63, 63,225, 18, 57, 47, 43, 43, 94, 93,113,225, 1, 16,246,225, 50, 94, 93, 17, 51, - 47, 43, 93, 93,113, 18, 57, 47, 49, 48, 33, 35, 17, 33, 21, 33, 17, 33, 21, 33, 1,129,186, 2,247,253,195, 2, 23,253,233, 5, -182,164,253,252,164, 0, 0, 1, 0,125,255,236, 4,242, 5,203, 0, 43, 0, 55, 64, 30, 43, 43, 12, 41, 90, 20, 2,103, 45, 16, - 45, 1, 31, 91, 12,102, 44, 43, 95, 0, 0, 36, 26, 95, 17, 4, 36, 95, 7, 19, 0, 63,225, 63,225, 18, 57, 47,225, 1, 16,246, -225, 93, 16,246, 50,225, 17, 57, 47, 49, 48, 1, 33, 17, 14, 3, 35, 34, 38, 38, 2, 53, 52, 18, 54, 36, 51, 50, 22, 23, 7, 46, - 3, 35, 34, 14, 2, 21, 20, 30, 2, 51, 50, 62, 2, 55, 17, 33, 3, 14, 1,228, 55,112,118,130, 75,157,242,166, 86, 95,182, 1, - 11,171,111,204, 88, 72, 36, 83, 88, 93, 46,122,188,127, 66, 55,120,190,134, 44, 73, 62, 55, 26,254,213, 3, 4,253, 51, 18, 28, - 19, 10,105,195, 1, 23,174,172, 1, 22,195,105, 44, 42,162, 17, 30, 23, 14, 81,152,218,137,130,216,156, 86, 5, 8, 11, 5, 1, -180, 0, 0, 1, 0,199, 0, 0, 4,213, 5,182, 0, 11, 0, 61, 64, 35, 9, 1, 90, 0,101, 13,192, 13, 1,191, 13, 1, 32, 13, - 1, 8, 4, 90, 5,100, 12, 3, 95, 15, 8, 1, 8, 8, 8, 10, 6, 3, 5, 0, 18, 0, 63, 50, 63, 51, 57, 47, 94, 93,225, 1, - 16,246,225, 50, 93, 93, 93, 16,246,225, 50, 49, 48, 33, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 4,213,186,253,102,186,186, - 2,154,186, 2,170,253, 86, 5,182,253,152, 2,104, 0, 0, 1, 0, 82, 0, 0, 2,100, 5,182, 0, 11, 0, 87, 64, 38, 11, 13, - 43, 13, 2,123, 13,155, 13,171, 13,251, 13, 4, 84, 13, 1, 43, 13, 59, 13, 75, 13, 3, 31, 13, 1, 2, 8, 11, 10, 90, 5, 2, -201, 3, 1, 3,184,255,248, 64, 16, 13, 16, 72, 0, 3, 1, 6, 3, 9, 4, 6, 3, 3, 10, 0, 18, 0, 63,193, 50, 63,193, 50, - 1, 47, 94, 93, 43, 93,193, 50,241,193, 50, 95, 93, 93, 93, 93,113, 49, 48, 33, 33, 53, 55, 17, 39, 53, 33, 21, 7, 17, 23, 2, -100,253,238,172,172, 2, 18,172,172,102, 41, 4,152, 41,102,102, 41,251,104, 41, 0, 1,255, 72,254,123, 1,115, 5,182, 0, 19, - 0, 47, 64, 28,223, 21, 1, 96, 21,112, 21, 2, 47, 21, 1, 15, 90, 12, 3, 3, 0, 12, 16, 12, 2, 7, 12, 13, 3, 7, 95, 0, - 0, 47,225, 63, 1, 47, 94, 93, 51, 47, 16,225, 93, 93, 93, 49, 48, 3, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 53, 17, 51, 17, - 20, 14, 2, 29, 51, 76, 28, 34, 78, 45, 37, 75, 61, 38,187, 59,105,147,254,123, 13, 11,160, 9, 11, 19, 50, 88, 68, 5,182,250, - 94,105,154,101, 49, 0, 0, 1, 0,199, 0, 0, 4,162, 5,182, 0, 12, 0,100, 64, 45, 2, 12,102, 12, 1, 12, 0, 10, 11, 16, - 11, 11, 1, 0, 0, 16, 0, 2, 7, 0, 16, 0, 0, 14,176, 14, 1, 47, 14, 1, 16, 14, 1, 8, 4, 90, 5,100, 13, 2, 16, 11, - 16, 72, 8,184,255,240, 64, 12, 11, 16, 72, 2, 8, 5, 10, 6, 3, 0, 5, 18, 0, 63, 51, 63, 51, 18, 57, 57, 43, 43, 1, 16, -246,225, 50, 93, 93, 93, 17, 51, 47, 56, 94, 93, 51, 51, 47, 56, 51, 17, 57, 93, 17, 51, 49, 48, 33, 35, 1, 7, 17, 35, 17, 51, - 17, 55, 1, 51, 1, 4,162,211,254, 61,139,186,186,121, 1,196,209,253,248, 2,186,114,253,184, 5,182,253, 37,168, 2, 51,253, -131, 0, 0, 1, 0,199, 0, 0, 3,190, 5,182, 0, 5, 0, 35, 64, 19, 4, 7,175, 7, 1, 16, 7, 1, 3, 90, 0,100, 6, 1, - 3, 3, 95, 0, 18, 0, 63,225, 63, 1, 16,246,225, 93, 93, 17, 51, 49, 48, 51, 17, 51, 17, 33, 21,199,186, 2, 61, 5,182,250, -240,166, 0, 1, 0,199, 0, 0, 6, 47, 5,182, 0, 25, 0,139, 64, 19, 54, 25, 1, 57, 0, 1, 23, 14, 8, 12, 15, 72, 57, 14, - 1, 14, 17, 90, 25,184,255,248, 64, 28, 12, 15, 72, 25, 0, 8, 12, 15, 72, 0, 13, 13, 12, 9, 16,101, 27, 79, 27, 1, 32, 27, - 1, 15, 27, 1, 8, 11,184,255,248, 64, 26, 12, 15, 72, 38, 11, 1, 11, 2, 8, 90, 9,100, 26, 24, 1, 1, 16, 9, 18, 72, 1, - 14, 11, 3, 17, 12,184,255,240,182, 9, 18, 72, 12, 8, 0, 18, 0, 63, 50, 50, 43, 50, 63, 51, 51, 43, 17, 51, 1, 16,246,225, - 50, 50, 93, 43, 94, 93, 93, 93, 16,246, 17, 57, 57, 17, 51, 43, 51, 43,225, 50, 93, 43, 50, 49, 48, 93, 93, 33, 1, 35, 22, 23, - 22, 22, 21, 17, 35, 17, 33, 1, 51, 1, 33, 17, 35, 17, 52, 54, 55, 54, 55, 35, 1, 3, 35,254, 69, 8, 6, 4, 4, 5,172, 1, - 20, 1,156, 6, 1,158, 1, 20,186, 4, 3, 4, 3, 8,254, 65, 5, 0, 74, 73, 63,139, 57,252,150, 5,182,251, 88, 4,168,250, - 74, 3,119, 52,134, 61, 71, 73,251, 2, 0, 1, 0,199, 0, 0, 5, 14, 5,182, 0, 23, 0, 81, 64, 41, 14, 40, 1, 1, 1, 21, - 90, 0,101, 25,176, 25, 1,143, 25, 1, 0, 25, 16, 25, 2, 39, 12, 1, 12, 3, 9, 90, 10,100, 24, 22, 2, 16, 6, 24, 72, 2, - 11, 3, 13,184,255,240,182, 6, 24, 72, 13, 10, 0, 18, 0, 63, 50, 50, 43, 63, 51, 43, 51, 1, 16,246,225, 50, 50, 93, 93, 93, - 93, 16,246,225, 50, 93, 50, 49, 48, 33, 35, 1, 35, 22, 23, 22, 22, 21, 17, 35, 17, 51, 1, 51, 38, 39, 46, 3, 53, 17, 51, 5, - 14,215,253, 49, 8, 6, 4, 4, 5,172,213, 2,204, 7, 3, 4, 1, 3, 3, 1,174, 4,186, 77, 76, 65,142, 57,252,231, 5,182, -251, 76, 76, 74, 32, 67, 67, 62, 26, 3, 32, 0, 0, 2, 0,125,255,236, 5,113, 5,205, 0, 19, 0, 39, 0, 52, 64, 32, 30, 91, - 0,103, 41,192, 41, 1,191, 41, 1,112, 41, 1, 47, 41, 95, 41, 2, 20, 91, 10,102, 40, 35, 95, 15, 4, 25, 95, 5, 19, 0, 63, -225, 63,225, 1, 16,246,225, 93, 93, 93, 93, 16,246,225, 49, 48, 1, 20, 2, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, - 50, 22, 22, 18, 5, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2, 5,113, 81,160,237,155,163,239,157, 76, 76,158, -240,163,155,235,160, 81,251,209, 52,107,165,114,114,165,107, 50, 50,106,164,114,114,166,108, 52, 2,221,169,254,234,198,108,108, -198, 1, 23,170,170, 1, 21,196,107,107,197,254,235,171,137,219,153, 81, 81,153,219,137,138,218,151, 81, 81,151,218, 0, 0, 2, - 0,199, 0, 0, 4, 51, 5,182, 0, 14, 0, 25, 0, 70, 64, 44, 21, 91, 40, 0, 56, 0, 72, 0, 3, 0,103, 27,207, 27, 1, 64, - 27, 1, 15, 27, 1, 6, 15, 7, 90, 8,100, 26, 15, 96, 48, 6, 64, 6, 2, 6, 6, 7, 25, 96, 9, 3, 7, 18, 0, 63, 63,225, - 17, 57, 47, 93,225, 1, 16,246,225, 50, 94, 93, 93, 93, 16,246, 93,225, 49, 48, 1, 20, 14, 2, 35, 35, 17, 35, 17, 33, 50, 30, - 2, 1, 51, 50, 62, 2, 53, 52, 38, 35, 35, 4, 51, 55,126,207,152,150,186, 1,106,134,194,126, 60,253, 78,129, 93,139, 91, 46, -164,174,160, 4, 10, 91,168,129, 77,253,199, 5,182, 57,109,160,254,103, 32, 71,113, 81,142,137, 0, 2, 0,125,254, 98, 5,113, - 5,205, 0, 29, 0, 49, 0, 56, 64, 34, 40, 91, 0,103, 51,192, 51, 1,191, 51, 1,112, 51, 1, 47, 51, 95, 51, 2, 30, 91, 20, -102, 50, 45, 95, 25, 4, 35, 95, 5, 15, 19, 9, 0, 47, 63, 51,225, 63,225, 1, 16,246,225, 93, 93, 93, 93, 16,246,225, 49, 48, - 1, 20, 14, 2, 7, 22, 22, 23, 7, 38, 38, 39, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 22, 18, 5, 20, 30, - 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2, 5,113, 49, 95,142, 93, 43,137, 90,121,103,173, 51, 17, 41, 18,163,239,157, - 76, 76,158,240,163,155,235,160, 81,251,209, 52,107,165,114,114,165,107, 50, 50,106,164,114,114,166,108, 52, 2,221,131,226,181, -132, 38, 94,143, 60,142, 73,198,127, 2, 2,108,198, 1, 23,170,170, 1, 21,196,107,107,197,254,235,171,137,219,153, 81, 81,153, -219,137,138,218,151, 81, 81,151,218, 0, 0, 2, 0,199, 0, 0, 4,160, 5,182, 0, 15, 0, 28, 0,130, 64, 86, 9, 15, 25, 15, - 2,249, 15, 1, 15, 8, 11, 15, 72, 15, 12, 9, 12, 1, 7, 12, 1, 22, 91, 8, 7, 24, 7, 2, 7, 7, 9, 14, 1,233, 14,249, - 14, 2, 14, 8, 11, 15, 72, 14, 13, 16, 13, 30, 63, 30,143, 30,159, 30,191, 30,223, 30, 5, 32, 30, 1, 16, 1, 90, 2,100, 29, - 12, 3, 16, 96, 0, 0, 1, 8, 0, 0, 1, 28, 96, 3, 3, 14, 1, 18, 0, 63, 51, 63,225, 17, 57, 47, 94, 93,225, 18, 57, 1, - 16,246,225, 50, 93, 93, 16,206, 56, 50, 43, 93,113, 50, 47, 93,225, 18, 57, 94, 93, 17, 51, 43, 93,113, 49, 48, 1, 17, 35, 17, - 33, 32, 22, 21, 20, 14, 2, 7, 1, 35, 1, 39, 51, 50, 62, 2, 53, 52, 46, 2, 35, 35, 1,129,186, 1,100, 1, 10,254, 49, 81, -104, 55, 1,142,219,254,161,229,164, 90,126, 81, 37, 41, 83,127, 87,160, 2, 92,253,164, 5,182,206,209, 87,130, 93, 62, 20,253, -113, 2, 92,158, 35, 69,103, 69, 72,100, 64, 29, 0, 1, 0,104,255,236, 3,201, 5,203, 0, 51, 0, 66, 64, 39, 89, 35, 1, 35, - 17, 90, 0,103, 53,191, 53,255, 53, 2, 96, 53, 1, 63, 53, 1, 42, 90, 9, 27,102, 52, 17, 42, 5, 39, 95, 36, 32, 4, 14, 96, - 9, 5, 19, 0, 63, 51,225, 63, 51,225, 18, 57, 57, 1, 16,246, 50,225, 93, 93, 93, 16,246,225, 51, 93, 49, 48, 1, 20, 14, 2, - 35, 34, 38, 39, 53, 30, 3, 51, 50, 54, 53, 52, 46, 2, 39, 46, 3, 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, 38, 35, 34, 6, 21, - 20, 30, 2, 23, 30, 3, 3,201, 69,128,184,115,111,193, 65, 34, 87, 96,102, 50,160,153, 29, 73,122, 93, 89,131, 85, 41, 64,116, -161, 97,119,190, 74, 67, 65,165, 88,122,134, 30, 70,115, 84, 91,137, 92, 47, 1,135, 97,153,106, 55, 35, 34,178, 16, 31, 24, 15, -120,112, 54, 80, 67, 63, 37, 35, 83,104,132, 84, 88,138, 95, 50, 45, 35,156, 29, 43,113, 96, 57, 83, 67, 59, 33, 36, 76, 96,126, - 0, 1, 0, 20, 0, 0, 4, 18, 5,182, 0, 7, 0, 94, 64, 50, 15, 9, 1,208, 9, 1, 79, 9,207, 9, 2, 16, 9, 32, 9, 48, - 9, 3,175, 6,239, 6, 2,132, 6, 1, 6, 6, 7, 90, 2, 64, 3,224, 3, 2, 15, 3, 1, 8, 3, 3, 87, 2,103, 2,119, 2, - 3, 2,184,255,192, 64, 11, 7, 10, 72, 2, 7, 3, 95, 4, 3, 0, 18, 0, 63, 63,225, 50, 1, 47, 43, 93, 51, 47, 94, 93, 93, - 16,225, 50, 47, 93, 93, 93, 93, 93,113, 49, 48, 33, 35, 17, 33, 53, 33, 21, 33, 2,113,187,254, 94, 3,254,254, 95, 5, 18,164, -164, 0, 0, 1, 0,184,255,236, 4,221, 5,184, 0, 23, 0, 47, 64, 28, 22, 90, 1,101, 25,176, 25, 1,111, 25,175, 25, 2, 16, - 25, 1, 14, 90, 11,100, 24, 17, 95, 6, 19, 12, 0, 3, 0, 63, 50, 63,225, 1, 16,246,225, 93, 93, 93, 16,246,225, 49, 48, 1, - 17, 20, 14, 2, 35, 34, 46, 2, 53, 17, 51, 17, 20, 22, 51, 50, 62, 2, 55, 17, 4,221, 66,133,201,136,128,196,133, 68,187,173, -175, 89,128, 82, 40, 1, 5,184,252, 76,114,196,144, 82, 77,142,199,122, 3,174,252, 72,175,192, 54, 98,136, 81, 3,184, 0, 1, - 0, 0, 0, 0, 4,139, 5,182, 0, 12, 0,108, 64, 16, 3, 2, 9, 9, 4, 0, 96, 1,112, 1,176, 1,240, 1, 4, 1,184,255, -192, 64, 22, 6, 10, 72, 1, 16, 1, 1, 14, 47, 14,127, 14,191, 14, 3, 14, 64, 6, 9, 72, 5, 4,184,255,240,180, 4, 5, 4, - 3, 9,184,255,224,179, 10, 17, 72, 9,184,255,240, 64, 10, 6, 9, 72, 9, 2, 3, 18, 0, 1, 3, 0, 63, 51, 63, 51, 51, 43, - 43, 63, 51, 1, 47, 56, 51, 43, 93, 17, 51, 47, 56, 43, 93, 51, 18, 57, 61, 47, 51, 51, 49, 48, 1, 51, 1, 35, 1, 51, 1, 22, - 22, 23, 54, 54, 55, 3,197,198,254, 23,187,254, 25,197, 1, 39, 29, 42, 17, 15, 46, 31, 5,182,250, 74, 5,182,252, 97, 91,169, - 74, 74,169, 97, 0, 1, 0, 20, 0, 0, 6,254, 5,182, 0, 42, 0,223,182, 16, 8, 21, 24, 72, 16, 15,184,255,248,181, 21, 24, - 72, 15, 7, 1,184,255,248, 64, 18, 21, 24, 72, 1, 0, 8, 21, 24, 72, 0, 22, 29, 8, 21, 24, 72, 29, 28,184,255,248, 64, 47, - 21, 24, 72, 28, 37, 20, 7, 1, 4, 7, 68, 7,180, 7, 3, 7, 4, 37, 20, 37, 36, 37, 68, 37, 84, 37, 5, 7, 22, 37, 37, 22, - 7, 3, 30, 13, 0, 14, 1,112, 14,128, 14,192, 14, 3, 14,184,255,192, 64, 24, 7, 10, 72, 14, 16, 14, 14, 44,111, 44,127, 44, - 2, 32, 44, 48, 44, 2, 15, 44, 1, 8, 31, 30,184,255,240, 64, 19, 30, 22, 32, 10, 17, 72, 22, 16, 6, 9, 72, 22, 13, 0, 30, - 3, 7, 37, 37,184,255,224,179, 10, 17, 72, 37,184,255,240,182, 6, 9, 72, 37, 16, 29, 18, 0, 63, 51, 51, 43, 43, 17, 51, 63, - 51, 51, 51, 43, 43, 1, 47, 56, 51, 94, 93, 93, 93, 17, 51, 47, 56, 43, 93,113, 51, 18, 23, 57, 61, 47, 47, 47, 93, 94, 93,113, - 17, 51, 43, 51, 43, 17, 51, 43, 51, 43, 17, 51, 43, 51, 43, 49, 48, 1, 51, 19, 30, 3, 23, 62, 3, 55, 19, 51, 1, 35, 3, 38, - 38, 39, 38, 39, 6, 7, 6, 6, 7, 3, 35, 1, 51, 19, 30, 3, 23, 62, 3, 55, 3, 41,197,229, 15, 29, 25, 19, 6, 4, 12, 16, - 19, 11,200,199,254,145,188,254, 14, 26, 11, 12, 11, 11, 11, 10, 25, 14,242,188,254,126,197,223, 12, 20, 17, 14, 5, 5, 15, 20, - 23, 13, 5,182,252,168, 56,112,105, 94, 38, 38, 90, 99,103, 49, 3,114,250, 74, 3,170, 51,108, 47, 55, 52, 51, 55, 47,112, 54, -252, 92, 5,182,252,135, 46, 99, 98, 91, 38, 37, 98,108,111, 49, 0, 1, 0, 0, 0, 0, 4, 96, 5,182, 0, 11, 0,129, 64, 29, - 9, 10, 16, 10, 10, 0, 55, 11, 1, 11, 8, 56, 5, 1, 5, 2, 2, 1, 0, 0, 1,112, 0,128, 0,192, 0, 3, 0,184,255,192, - 64, 20, 7, 10, 72, 0, 16, 0, 0, 13, 15, 13, 31, 13, 47, 13,127, 13, 4, 8, 7, 6,184,255,240,179, 6, 6, 3, 4,184,255, -240, 64, 16, 4, 40, 2, 1, 39, 8, 1, 2, 8, 4, 9, 6, 3, 4, 0, 18, 0, 63, 50, 63, 51, 18, 57, 57, 93, 93, 1, 47, 56, - 50, 50, 47, 56, 51, 94, 93, 17, 51, 47, 56, 43, 93,113, 51, 57, 61, 47, 51, 93, 51, 51, 93, 17, 51, 24, 47, 56, 51, 49, 48, 33, - 35, 1, 1, 35, 1, 1, 51, 1, 1, 51, 1, 4, 96,211,254,158,254,145,188, 1,197,254, 90,198, 1, 76, 1, 78,190,254, 91, 2, -123,253,133, 2,252, 2,186,253,209, 2, 47,253, 76, 0, 0, 1, 0, 0, 0, 0, 4, 55, 5,182, 0, 8, 0,115, 64, 25,239, 10, - 1, 10, 64, 9, 12, 72, 8,171, 7, 1,152, 7, 1, 64, 7, 1, 27, 7, 1, 15, 7, 1, 7,184,255,240, 64, 47, 7, 7, 5, 1, -128, 2, 1, 79, 2, 1, 27, 2, 1, 2, 16, 2, 2, 0, 4, 90,119, 5,135, 5,151, 5, 3, 79, 5, 1, 0, 5, 16, 5, 2, 7, - 5, 54, 0, 1, 0, 1, 4, 18, 7, 1, 3, 0, 63, 51, 63, 18, 57, 93, 1, 47, 94, 93, 93, 93,225, 57, 50, 47, 56, 93, 93, 93, - 51, 17, 51, 47, 56, 93, 93, 93, 93, 93, 51, 43, 93, 49, 48, 1, 1, 51, 1, 17, 35, 17, 1, 51, 2, 27, 1, 84,200,254, 66,187, -254, 66,203, 2,211, 2,227,252,131,253,199, 2, 47, 3,135, 0, 0, 1, 0, 82, 0, 0, 3,254, 5,182, 0, 9, 0, 56, 64, 32, - 9, 9, 3, 7,103, 11, 15, 11, 63, 11, 79, 11,159, 11, 4, 8, 8, 4, 4, 1,102, 10, 7, 4, 95, 5, 3, 2, 8, 95, 1, 18, - 0, 63,225, 57, 63,225, 57, 1, 16,230, 50, 47, 50, 94, 93, 16,230, 50, 50, 47, 49, 48, 33, 33, 53, 1, 33, 53, 33, 21, 1, 33, - 3,254,252, 84, 2,199,253, 77, 3,131,253, 58, 2,219,145, 4,127,166,145,251,129, 0, 0, 1, 0,164,254,188, 2, 57, 5,182, - 0, 7, 0, 38, 64, 23, 4, 0,243, 6,241, 0, 1, 16, 1,176, 1,192, 1, 4, 1, 5,245, 2,248, 6,245, 1,249, 0, 63,225, - 63,225, 1, 47, 93,225,237, 50, 49, 48, 1, 33, 17, 33, 21, 35, 17, 51, 2, 57,254,107, 1,149,223,223,254,188, 6,250,149,250, - 49, 0, 0, 1, 0, 23, 0, 0, 2,233, 5,182, 0, 3, 0, 33,183, 2, 1, 1, 16, 1, 5, 0, 3,184,255,240,180, 3, 2, 1, - 0, 3, 0, 63, 47, 47, 1, 47, 56, 51, 17, 51, 56, 17, 51, 49, 48, 19, 1, 35, 1,201, 2, 32,178,253,224, 5,182,250, 74, 5, -182, 0, 0, 1, 0, 51,254,188, 1,201, 5,182, 0, 7, 0, 36, 64, 20, 3, 0,243, 1,241, 96, 6,112, 6, 2, 6, 9, 0,245, - 7,249, 3,245, 4,248, 0, 63,225, 63,225, 1, 16,214, 93,225,237, 50, 49, 48, 23, 51, 17, 35, 53, 33, 17, 33, 51,223,223, 1, -150,254,106,174, 5,207,149,249, 6, 0, 0, 1, 0, 41, 2, 37, 4, 25, 5,193, 0, 6, 0, 18,182, 3, 3, 8, 0, 0, 1, 6, - 0, 63,205, 1, 47, 17, 51, 47, 49, 48, 19, 1, 51, 1, 35, 1, 1, 41, 1,203,102, 1,191,161,254,175,254,163, 2, 37, 3,156, -252,100, 2,223,253, 33, 0, 1,255,252,254,188, 3, 78,255, 72, 0, 3, 0, 18,182, 0, 0, 5, 1, 1,186, 2, 0, 47,225, 1, - 47, 17, 51, 47, 49, 48, 1, 33, 53, 33, 3, 78,252,174, 3, 82,254,188,140, 0, 0, 1, 1,137, 4,217, 3, 18, 6, 33, 0, 13, - 0, 22, 64, 10, 0, 6, 8,128, 15, 0, 95, 0, 2, 0, 0, 47, 93, 26,204, 1, 47,205, 49, 48, 1, 35, 46, 3, 39, 53, 51, 30, - 3, 23, 3, 18,120, 35, 82, 77, 63, 16,219, 16, 43, 46, 48, 21, 4,217, 28, 83, 88, 81, 27, 21, 34, 81, 81, 76, 29, 0, 0, 2, - 0, 94,255,236, 3,156, 4, 94, 0, 35, 0, 50, 0, 84, 64, 17, 16, 1, 41, 71, 35, 85, 52, 15, 52,111, 52, 2, 6, 48, 72, 12, - 26,184,255,208, 64, 30, 13, 17, 72, 26, 16, 9, 12, 72, 26, 26, 12, 86, 51, 25, 22, 80, 29, 42, 82, 16, 16, 29, 16, 36, 80, 2, - 7, 22, 0, 21, 0, 63, 63, 51,225, 63, 57, 47,225, 16,225, 50, 1, 16,230, 50, 47, 43, 43, 16,225, 94, 93, 16,246,225, 50, 50, - 49, 48, 33, 39, 35, 14, 3, 35, 34, 46, 2, 53, 52, 54, 55, 55, 53, 52, 46, 2, 35, 34, 6, 7, 39, 54, 54, 51, 50, 30, 2, 21, - 17, 37, 50, 62, 2, 53, 53, 7, 14, 3, 21, 20, 22, 3, 25, 37, 8, 33, 66, 78, 96, 63, 69,116, 85, 48,231,236,184, 29, 55, 81, - 52, 83,143, 66, 64, 74,182,100,102,149, 97, 48,254, 47, 61,104, 76, 43,143, 90,122, 73, 32, 97,152, 45, 65, 42, 20, 39, 81,123, - 84,164,176, 8, 7, 69, 67, 90, 55, 24, 48, 34,137, 40, 56, 41, 89,138, 98,253, 16,127, 38, 77,117, 79, 99, 7, 4, 32, 57, 81, - 51, 92, 86, 0, 0, 2, 0,174,255,236, 4, 63, 6, 20, 0, 31, 0, 47, 0, 56,181, 45, 72, 5, 87, 49, 49,184,255,184, 64, 23, - 10, 73, 21, 16, 37, 71, 18, 84, 48, 19, 0, 18, 21, 42, 80, 15, 10, 22, 32, 80, 27, 0, 16, 0, 63, 50,225, 63, 51,225, 63, 63, - 1, 16,246,225, 50, 50, 43, 16,246,225, 49, 48, 1, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 39, 35, 7, 35, 17, 51, 17, 20, - 6, 7, 6, 7, 51, 62, 3, 23, 34, 14, 2, 21, 20, 30, 2, 51, 50, 54, 53, 52, 38, 2,158, 94,154,109, 60, 60,109,154, 94, 59, - 96, 77, 59, 23, 12, 37,133,182, 2, 2, 2, 2, 8, 23, 58, 77, 96, 25, 80,107, 65, 27, 27, 65,108, 81,135,127,127, 4, 94, 72, -143,212,140,141,213,144, 73, 26, 43, 58, 32,139, 6, 20,254,136, 35, 79, 34, 40, 38, 35, 60, 44, 25,151, 51,104,156,105,101,157, -107, 55,218,204,208,206, 0, 1, 0,113,255,236, 3,111, 4, 94, 0, 31, 0, 42, 64, 24, 29, 13, 33, 95, 33,127, 33, 2, 16, 33, - 1, 22, 72, 5, 86, 32, 19, 81, 10, 16, 25, 81, 0, 22, 0, 63,225, 63,225, 1, 16,246,225, 93, 93, 16,206, 50, 49, 48, 5, 34, - 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 7, 46, 3, 35, 34, 6, 21, 20, 22, 51, 50, 54, 55, 21, 6, 6, 2, 82,101,176,130, 74, - 76,133,178,102, 78,149, 50, 54, 23, 56, 60, 58, 26,157,144,145,148, 81,131, 54, 54,123, 20, 63,137,213,150,157,219,137, 62, 34, - 25,154, 10, 19, 15, 9,201,212,211,195, 37, 25,162, 29, 30, 0, 0, 2, 0,113,255,236, 4, 2, 6, 20, 0, 31, 0, 48, 0, 52, - 64, 29, 38, 0, 27, 71, 30, 85, 50, 16, 50, 1, 46, 72, 11, 86, 49, 31, 21, 28, 0, 43, 80, 22, 16, 16, 32, 80, 1, 6, 22, 0, - 63, 51,225, 63, 51,225, 63, 63, 1, 16,246,225, 93, 16,246,225, 50, 50, 49, 48, 37, 35, 14, 3, 35, 34, 46, 2, 53, 52, 62, 2, - 51, 50, 30, 2, 23, 51, 38, 39, 38, 38, 53, 17, 51, 17, 35, 37, 50, 62, 2, 55, 53, 52, 46, 2, 35, 34, 6, 21, 20, 22, 3, 84, - 8, 22, 59, 77, 96, 60, 93,154,110, 60, 60,110,154, 93, 59, 96, 77, 60, 22, 12, 3, 3, 2, 4,182,147,254,198, 76,105, 65, 31, - 2, 27, 65,108, 81,135,127,127,147, 34, 61, 46, 26, 72,143,212,140,141,213,144, 73, 26, 44, 58, 32, 34, 31, 26, 55, 16, 1,180, -249,236,131, 46, 94,141, 94, 41,101,157,107, 55,218,204,209,205, 0, 2, 0,113,255,236, 3,225, 4, 94, 0, 30, 0, 39, 0, 67, - 64, 40, 35, 72, 25, 16, 87, 41,224, 41, 1,111, 41, 1, 34, 17, 72, 5, 86, 40, 17, 80, 27, 34, 43, 34, 2, 15, 34, 1, 6, 34, - 34, 20, 31, 80, 10, 16, 20, 81, 0, 22, 0, 63,225, 63,225, 18, 57, 47, 94, 93, 93,225, 1, 16,246,225, 50, 93, 93, 16,246, 50, -225, 49, 48, 5, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 21, 21, 33, 22, 22, 51, 50, 62, 2, 55, 21, 14, 3, 3, 34, 6, 7, - 33, 52, 46, 2, 2, 96,110,182,131, 72, 66,120,167,101, 99,158,110, 59,253, 76, 5,153,151, 51, 87, 81, 76, 39, 40, 77, 81, 87, - 96,114,133, 11, 1,236, 27, 57, 88, 20, 74,142,210,135,136,214,149, 78, 71,129,181,110,113,193,182, 10, 19, 29, 18,162, 19, 28, - 18, 8, 3,219,156,149, 68,113, 80, 44, 0, 1, 0, 29, 0, 0, 2,240, 6, 31, 0, 27, 0,112, 64, 78,207, 29,223, 29, 2, 96, - 29,128, 29,144, 29,160, 29, 4, 31, 29, 63, 29, 79, 29, 3, 27, 27,127, 16,191, 16, 2, 16, 16, 26, 2, 71, 3, 7, 3, 15, 5, - 31, 5, 47, 5,175, 5, 4, 5, 5, 0, 3, 16, 3, 32, 3,128, 3,144, 3,160, 3, 6, 6, 3, 1, 5, 79, 7, 0, 26, 1, 7, - 26, 15, 20, 80, 13, 1, 2, 21, 0, 63, 63,225, 63, 94, 93, 51,225, 50, 1, 47, 94, 93, 51, 47, 93, 17, 51, 16,225, 50, 50, 47, - 93, 57, 47, 93, 93, 93, 49, 48, 1, 35, 17, 35, 17, 35, 53, 55, 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, - 21, 51, 2,139,245,183,194,194, 45, 85,124, 78, 59, 99, 39, 47, 31, 73, 40, 40, 58, 38, 19,245, 3,193,252, 63, 3,193, 75, 68, - 96,107,141, 84, 35, 23, 14,141, 11, 17, 19, 48, 83, 65,104, 0, 0, 3, 0, 37,254, 20, 3,252, 4, 94, 0, 63, 0, 82, 0, 94, - 0,167, 64, 25, 13, 50, 5, 83, 71, 55, 18, 47, 96, 55,112, 55,128, 55, 3, 55, 47, 55, 47, 39, 72, 29, 89, 71, 5,184,255,192, - 64, 77, 7, 10, 72, 5, 5, 1, 10, 29, 1,253, 29, 1,176, 29, 1,136, 29, 1, 32, 29, 48, 29, 64, 29, 3, 29, 29, 96, 31, 96, - 1,191, 96,223, 96, 2,160, 96, 1, 64, 39, 64, 12, 15, 72, 39, 2, 5, 50, 13, 4, 60, 86, 82, 10, 10, 34, 92, 79, 60, 44, 78, - 15, 23, 1, 7, 23, 23, 60, 16, 69, 79, 34, 27, 1, 0, 15, 0, 63,193, 63,225, 63, 57, 47, 94, 93,193, 57, 16,225, 17, 57, 47, -225, 18, 23, 57, 1, 47, 43,193, 93, 93,113, 17, 51, 47, 93, 93, 93, 93,113, 51, 57, 47, 43,225, 16,193, 17, 57, 57, 47, 47, 93, - 16,193, 16,225, 18, 57, 57, 49, 48, 1, 21, 7, 22, 22, 21, 20, 14, 2, 35, 34, 38, 39, 14, 3, 21, 20, 30, 2, 51, 51, 50, 30, - 2, 21, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 55, 38, 38, 53, 52, 54, 55, 46, 3, 53, 52, 62, 2, 51, 50, 22, 23, 1, 20, - 30, 2, 51, 50, 54, 53, 52, 46, 2, 35, 35, 34, 14, 2, 19, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 3,252,197, 28, 38, 47, - 95,140, 93, 22, 44, 14, 17, 33, 27, 17, 24, 41, 56, 31,176, 93,128, 81, 36, 65,134,205,139,107,160,106, 53, 39, 66, 87, 47, 42, - 54, 64, 69, 43, 71, 49, 27, 50, 98,146, 97, 37, 79, 27,254, 64, 26, 59, 97, 72,186,185, 24, 55, 90, 65,176, 35, 76, 63, 41, 92, -108, 99,100,103,105,100, 99,106, 4, 74,113, 27, 35,109, 69, 76,129, 94, 53, 1, 3, 10, 25, 32, 40, 24, 27, 33, 18, 6, 47, 80, -109, 61, 88,140, 97, 52, 42, 80,113, 71, 60, 91, 66, 42, 11, 19, 82, 53, 61, 89, 42, 18, 63, 81, 96, 51, 89,140, 98, 52, 11, 9, -251, 2, 37, 64, 46, 27,115,108, 46, 58, 33, 12, 16, 44, 77, 3, 96,115,112,111,119,123,116,120, 0, 1, 0,174, 0, 0, 4, 18, - 6, 20, 0, 25, 0, 50, 64, 29, 0, 71, 25, 85, 27, 16, 27, 96, 27,128, 27, 3, 15, 14, 10, 71, 11, 84, 26, 16, 4, 80, 21, 16, - 12, 0, 11, 0, 21, 0, 63, 50, 63, 63,225, 51, 1, 16,246,225, 50, 50, 93, 16,246,225, 49, 48, 33, 17, 52, 38, 35, 34, 14, 2, - 21, 17, 35, 17, 51, 17, 7, 51, 62, 3, 51, 50, 22, 21, 17, 3, 92,105,112, 81,110, 67, 29,182,182, 8, 10, 25, 69, 82, 92, 48, -183,185, 2,195,130,130, 52,102,148, 96,253,199, 6, 20,254, 50,144, 43, 63, 42, 20,191,210,253, 51, 0, 0, 2, 0,160, 0, 0, - 1,117, 5,229, 0, 3, 0, 17, 0, 37, 64, 20, 16, 19, 32, 19, 2, 12, 0, 71, 4, 1, 84, 18, 7, 83, 15, 15, 2, 15, 0, 21, - 0, 63, 63, 51, 47,229, 1, 16,246, 50,225, 50, 93, 49, 48, 33, 35, 17, 51, 3, 52, 54, 51, 50, 30, 2, 21, 20, 6, 35, 34, 38, - 1,100,182,182,196, 61, 45, 22, 39, 29, 17, 63, 44, 45, 61, 4, 74, 1, 41, 60, 54, 13, 28, 43, 30, 58, 57, 56, 0, 2,255,188, -254, 20, 1,117, 5,229, 0, 19, 0, 33, 0, 46, 64, 25, 16, 35, 32, 35, 2, 28, 15, 71, 12, 20, 3, 3, 12, 84, 34, 23, 83, 31, - 31, 13, 15, 7, 80, 0, 27, 0, 63,225, 63, 51, 47,229, 1, 16,230, 50, 47, 50, 16,225, 50, 93, 49, 48, 19, 34, 38, 39, 53, 22, - 22, 51, 50, 62, 2, 53, 17, 51, 17, 20, 14, 2, 19, 52, 54, 51, 50, 30, 2, 21, 20, 6, 35, 34, 38, 66, 48, 63, 23, 26, 54, 35, - 27, 46, 35, 19,182, 34, 72,109, 19, 61, 45, 22, 39, 29, 17, 63, 44, 45, 61,254, 20, 14, 11,148, 10, 11, 15, 39, 65, 51, 4,244, -251, 24, 77,123, 87, 47, 7, 95, 60, 54, 13, 28, 43, 30, 58, 57, 56, 0, 0, 1, 0,174, 0, 0, 3,240, 6, 20, 0, 14, 0, 94, - 64, 11, 7, 4, 4, 2, 3, 3, 6, 68, 5, 1, 5,184,255,192, 64, 23, 7, 10, 72, 5, 16, 5, 5, 16, 15, 16, 47, 16, 2, 7, - 13, 9, 71, 10, 84, 15, 11, 0, 0,184,255,248, 64, 16, 12, 15, 72, 7, 8, 12, 15, 72, 0, 7, 3, 6, 10, 21, 3, 15, 0, 63, - 63, 51, 18, 57, 57, 43, 43, 63, 1, 16,246,225, 50, 94, 93, 17, 51, 47, 56, 43, 93, 51, 51, 17, 51, 57, 17, 51, 49, 48, 1, 55, - 1, 51, 1, 1, 35, 1, 7, 17, 35, 17, 51, 17, 3, 1, 86,135, 1, 37,211,254,111, 1,172,209,254,176,109,180,180, 16, 2, 55, -170, 1,105,254, 37,253,145, 1,248, 82,254, 90, 6, 20,253, 54,254,237, 0, 1, 0,174, 0, 0, 1,100, 6, 20, 0, 3, 0, 26, - 64, 14, 16, 5, 32, 5, 2, 0, 71, 1, 84, 4, 2, 0, 0, 21, 0, 63, 63, 1, 16,246,225, 93, 49, 48, 33, 35, 17, 51, 1,100, -182,182, 6, 20, 0, 1, 0,174, 0, 0, 6,135, 4, 94, 0, 44, 0,101, 64, 63, 35, 10, 71,185, 11, 1,150, 11,166, 11, 2,137, - 11, 1,103, 11,119, 11, 2, 11, 11, 22, 0, 71, 44, 85, 46,240, 46, 1,207, 46, 1, 32, 46, 80, 46, 2, 15, 46, 1, 8, 25, 21, - 71, 22, 84, 45, 35, 26, 26, 4, 15, 80, 40, 31, 16, 23, 15, 22, 11, 0, 21, 0, 63, 50, 50, 63, 63, 51,225, 50, 50, 17, 51, 1, - 16,246,225, 50, 94, 93, 93, 93, 93, 16,246,225, 17, 57, 47, 93, 93, 93, 93,225, 50, 49, 48, 33, 17, 52, 38, 35, 34, 14, 2, 21, - 17, 35, 17, 52, 38, 35, 34, 14, 2, 21, 17, 35, 17, 51, 23, 51, 62, 3, 51, 50, 22, 23, 51, 62, 3, 51, 50, 22, 21, 17, 5,209, -100,105, 73,102, 65, 30,183, 99,105, 77,104, 63, 27,182,148, 26, 10, 24, 66, 79, 89, 46,120,159, 38, 8, 26, 73, 87, 96, 50,175, -177, 2,195,130,130, 47, 91,135, 88,253,162, 2,195,130,130, 52,102,148, 96,253,199, 4, 74,148, 43, 63, 42, 20, 88, 94, 47, 68, - 45, 22,191,210,253, 51, 0, 1, 0,174, 0, 0, 4, 18, 4, 94, 0, 24, 0, 48, 64, 28, 0, 71, 24, 85, 26, 16, 26, 96, 26,128, - 26, 3, 14, 10, 71, 11, 84, 25, 15, 4, 80, 20, 16, 12, 15, 11, 0, 21, 0, 63, 50, 63, 63,225, 51, 1, 16,246,225, 50, 93, 16, -246,225, 49, 48, 33, 17, 52, 38, 35, 34, 14, 2, 21, 17, 35, 17, 51, 23, 51, 62, 3, 51, 50, 22, 21, 17, 3, 92,105,112, 81,110, - 67, 29,182,148, 26, 10, 25, 69, 82, 92, 48,183,185, 2,195,130,130, 52,102,148, 96,253,199, 4, 74,148, 43, 63, 42, 20,191,210, -253, 51, 0, 2, 0,113,255,236, 4, 45, 4, 94, 0, 19, 0, 31, 0, 48, 64, 29, 26, 72, 0, 87, 33, 64, 33,208, 33,224, 33, 3, - 15, 33, 1, 6, 20, 72, 10, 86, 32, 29, 80, 15, 16, 23, 80, 5, 22, 0, 63,225, 63,225, 1, 16,246,225, 94, 93, 93, 16,246,225, - 49, 48, 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 5, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 4, 45, - 67,125,178,111,103,174,127, 71, 67,124,179,111,103,174,127, 71,253, 0,137,154,154,135,137,154,154,135, 2, 39,137,213,145, 76, - 76,145,213,137,136,211,145, 75, 75,145,211,136,209,211,211,209,209,207,207, 0, 0, 2, 0,174,254, 20, 4, 63, 4, 94, 0, 31, - 0, 48, 0, 54, 64, 30, 46, 72, 27, 87, 50, 16, 50, 1, 38, 16, 6, 12, 71, 13, 84, 49, 32, 80, 17, 22, 16, 14, 15, 12, 27, 43, - 80, 5, 0, 22, 0, 63, 50,225, 63, 63, 63, 51,225, 1, 16,246,225, 50, 50, 50, 93, 16,246,225, 49, 48, 5, 34, 46, 2, 39, 35, - 22, 23, 22, 22, 21, 17, 35, 17, 51, 23, 51, 62, 3, 51, 50, 30, 2, 21, 20, 14, 2, 3, 34, 14, 2, 7, 21, 20, 30, 2, 51, 50, - 54, 53, 52, 38, 2,158, 59, 96, 77, 59, 23, 12, 3, 3, 2, 4,182,148, 26, 8, 23, 58, 77, 96, 60, 94,154,109, 60, 60,109,154, -129, 76,105, 65, 31, 2, 27, 65,108, 81,135,127,127, 20, 26, 43, 58, 32, 34, 31, 26, 55, 16,254, 43, 6, 54,148, 35, 61, 45, 27, - 72,143,212,140,141,213,144, 73, 3,219, 46, 94,140, 95, 41,101,157,107, 55,218,204,208,206, 0, 0, 2, 0,113,254, 20, 4, 2, - 4, 94, 0, 16, 0, 48, 0, 54, 64, 30, 43, 32, 5, 37, 71, 36, 85, 50, 16, 50, 1, 14, 72, 22, 86, 49, 36, 27, 34, 15, 32, 11, - 80, 27, 16, 44, 0, 80, 17, 22, 0, 63,225, 51, 63,225, 51, 63, 63, 1, 16,246,225, 93, 16,246,225, 50, 50, 50, 49, 48, 37, 50, - 62, 2, 55, 53, 52, 46, 2, 35, 34, 6, 21, 20, 22, 23, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 23, 51, 55, 51, 17, 35, 17, - 52, 54, 55, 54, 55, 35, 14, 3, 2, 53, 76,105, 65, 31, 2, 27, 65,108, 81,135,127,127,102, 93,154,110, 60, 60,110,154, 93, 59, - 96, 76, 60, 23, 8, 27,147,182, 4, 2, 3, 3, 12, 22, 59, 77, 96,131, 46, 94,141, 94, 41,101,157,107, 55,218,204,209,205,151, - 72,143,212,140,141,213,144, 73, 27, 45, 61, 35,148,249,202, 1,213, 19, 58, 27, 32, 34, 34, 61, 46, 26, 0, 1, 0,174, 0, 0, - 3, 8, 4, 94, 0, 22, 0, 65, 64, 11,178, 3,194, 3, 2,144, 3,160, 3, 2, 3,184,255,192, 64, 27, 7, 11, 72, 3, 3, 24, - 48, 24, 80, 24,128, 24, 3, 17, 13, 71, 14, 84, 23, 15, 15, 13, 21, 18, 7, 0, 16, 0, 63,193, 51, 63, 63, 1, 16,246,225, 50, - 93, 17, 51, 47, 43, 93, 93, 49, 48, 1, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, 17, 35, 17, 51, 23, 51, 62, 3, 2,137, 29, - 72, 26, 24, 28, 59, 26, 63,104, 75, 41,182,148, 22, 8, 25, 57, 71, 88, 4, 94, 5, 5,168, 5, 7, 51, 95,133, 81,253,176, 4, - 74,201, 43, 80, 61, 37, 0, 1, 0, 90,255,236, 3, 63, 4, 94, 0, 53, 0, 72, 64, 45, 37, 19, 71,144, 0,160, 0, 2, 0, 87, - 55, 63, 55, 95, 55,159, 55, 3, 16, 55, 1, 44, 71, 9,159, 29,175, 29, 2, 29, 86, 54, 38, 41, 80, 19, 44, 5, 34, 16, 9, 14, - 80, 5, 22, 0, 63,225, 50, 63, 18, 57, 57,225, 50, 1, 16,246, 93, 50,225, 93, 93, 16,246, 93,225, 51, 49, 48, 1, 20, 14, 2, - 35, 34, 38, 39, 53, 30, 3, 51, 50, 62, 2, 53, 52, 46, 2, 39, 46, 3, 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, 38, 35, 34, 6, - 21, 20, 30, 2, 23, 30, 3, 3, 63, 58,109,154, 96,109,156, 59, 31, 76, 84, 89, 44, 65, 91, 57, 26, 20, 53, 92, 72, 72,115, 80, - 43, 55,100,140, 86, 97,161, 72, 63, 65,137, 71,102, 98, 23, 56, 94, 70, 72,113, 80, 42, 1, 45, 80,120, 81, 40, 35, 34,166, 16, - 31, 24, 15, 22, 41, 59, 36, 31, 50, 49, 50, 31, 31, 60, 74, 97, 67, 70,109, 74, 38, 42, 34,147, 29, 43, 67, 62, 35, 52, 46, 47, - 29, 30, 60, 75, 96, 0, 0, 1, 0, 33,255,236, 2,143, 5, 70, 0, 29, 0, 80,177, 25, 5,184,255,192, 64, 47, 8, 11, 72, 5, - 5, 31, 63, 31, 79, 31, 2, 23, 27, 71, 20, 31, 18, 47, 18, 2, 18, 0, 16, 16, 16, 32, 16,176, 16,192, 16,208, 16, 6, 6, 16, - 26, 18, 79, 22, 20, 23, 15, 0, 80, 11, 22, 0, 63,225, 63, 51, 51,225, 50, 1, 47, 94, 93,198, 93, 51,225, 50, 93, 17, 51, 47, - 43, 51, 49, 48, 37, 50, 62, 2, 55, 21, 14, 3, 35, 34, 46, 2, 53, 17, 35, 53, 55, 55, 51, 21, 33, 21, 33, 17, 20, 22, 1,250, - 18, 45, 42, 35, 9, 13, 40, 48, 52, 25, 62,106, 77, 44,155,155, 78,105, 1, 20,254,236, 63,129, 4, 6, 8, 3,138, 6, 12, 9, - 5, 32, 78,133,101, 2,125, 81, 78,230,252,137,253,131, 97, 98, 0, 1, 0,164,255,236, 4, 8, 4, 74, 0, 26, 0, 48, 64, 28, - 1, 23, 71, 26, 85, 28, 16, 28, 96, 28,128, 28, 3, 15, 71, 12, 84, 27, 24, 13, 15, 18, 80, 2, 7, 22, 0, 21, 0, 63, 63, 51, -225, 63, 51, 1, 16,246,225, 93, 16,246,225, 50, 49, 48, 33, 39, 35, 14, 3, 35, 34, 46, 2, 53, 17, 51, 17, 20, 22, 51, 50, 62, - 2, 53, 17, 51, 17, 3,117, 27, 10, 25, 69, 82, 92, 48, 91,138, 92, 47,182,106,111, 81,110, 67, 29,182,147, 43, 63, 41, 20, 46, - 98,152,105, 2,205,253, 61,130,130, 52,101,148, 96, 2, 58,251,182, 0, 0, 1, 0, 0, 0, 0, 3,213, 4, 74, 0, 17, 0,109, -185, 0, 17,255,248, 64, 15, 10, 14, 72, 17, 0, 8, 10, 14, 72, 0, 9, 9, 1, 15, 16,184,255,192,179, 18, 21, 72, 16,184,255, -192, 64, 28, 7, 11, 72, 16, 16, 16, 16, 19,191, 19,207, 19,239, 19, 3, 80, 19, 1, 15, 19, 47, 19, 79, 19, 3, 7, 2, 1,184, -255,240, 64, 10, 1, 71, 9, 1, 9, 15, 1, 15, 0, 21, 0, 63, 63, 51, 57, 93, 1, 47, 56,193, 94, 93, 93, 93, 17, 51, 47, 56, - 43, 43,193, 18, 57, 61, 47, 51, 43, 51, 43, 49, 48, 33, 1, 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 51, 1, 1,119,254,137,188, -199, 11, 30, 30, 25, 4, 7, 5, 24, 30, 30, 11,199,188,254,137, 4, 74,253,157, 33,104,108, 96, 25, 25, 96,108,104, 33, 2, 99, -251,182, 0, 1, 0, 20, 0, 0, 5,227, 4, 74, 0, 47, 0,195,185, 0, 47,255,248, 64, 12, 10, 14, 72, 47, 0, 8, 9, 14, 72, - 0, 39, 32,184,255,248, 64, 18, 9, 14, 72, 32, 31, 8, 9, 14, 72, 31, 9, 16, 8, 10, 14, 72, 16, 15,184,255,248, 64, 9, 9, - 14, 72, 15, 24, 84, 39, 1, 39,184,255,224, 64, 21, 7, 10, 72, 91, 24, 1, 24, 32, 7, 10, 72, 39, 9, 24, 24, 9, 39, 3, 17, - 45, 46,184,255,192,179, 18, 21, 72, 46,184,255,192, 64, 19, 7, 11, 72, 46, 16, 46, 46, 49, 32, 49, 48, 49, 2, 15, 49, 1, 7, - 18, 17,184,255,240, 64, 22, 17, 45, 31, 9, 9, 1, 9, 17, 15, 39, 25, 6, 25,102, 25,118, 25, 3, 25, 0, 16, 21, 0, 63, 51, - 51, 93, 17, 51, 63, 51, 93, 51, 51, 1, 47, 56, 51, 94, 93, 93, 17, 51, 47, 56, 43, 43, 51, 18, 23, 57, 61, 47, 47, 47, 43, 93, - 43, 93, 17, 51, 43, 51, 43, 17, 51, 43, 51, 43, 17, 51, 43, 51, 43, 49, 48, 33, 3, 46, 3, 39, 38, 39, 35, 6, 7, 6, 6, 7, - 3, 35, 1, 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 51, 1, 3,240,168, 4, 12, 12, 13, - 6, 14, 15, 6, 14, 13, 11, 25, 11,172,211,254,231,191,131, 10, 20, 18, 14, 4, 6, 5, 17, 21, 22, 10,179,196,172, 9, 23, 22, - 18, 4, 6, 3, 13, 18, 21, 11,137,186,254,228, 2,104, 18, 45, 50, 52, 25, 58, 62, 63, 58, 50,106, 37,253,156, 4, 74,253,184, - 45,105,103, 91, 29, 26, 87, 97, 95, 33, 2,107,253,149, 34, 92, 95, 88, 29, 26, 87,104,109, 47, 2, 72,251,182, 0, 1, 0, 35, - 0, 0, 3,219, 4, 74, 0, 11, 0,229, 64,161,137, 9, 1,134, 3, 1, 6, 4, 1,247, 4, 1,229, 4, 1, 54, 4, 1, 4, 5, -232, 6, 1, 6, 3,231, 0, 1, 0, 9, 9, 2, 1,248, 2, 1,234, 2, 1, 57, 2, 1, 2, 1,107, 5,123, 5, 2, 87, 5, 1, - 58, 5, 74, 5, 2,100, 1,116, 1, 2, 88, 1, 1, 53, 1, 69, 1, 2, 5, 1, 9, 1, 9, 5, 3, 11, 6, 8, 1,247, 8, 1, -229, 8, 1, 54, 8, 1, 8, 7, 64, 22, 25, 72, 7, 64, 14, 17, 72,107, 7,123, 7, 2, 87, 7, 1, 58, 7, 74, 7, 2, 7, 13, - 16, 13, 48, 13, 2,144, 13,176, 13, 2, 15, 13, 1, 6,217, 10, 1,200, 10, 1,186, 10, 1, 9, 10, 1, 10, 59, 11, 75, 11, 2, - 40, 11, 1, 5, 11, 21, 11, 2, 11, 7, 21, 1, 15, 0, 63, 63, 1, 47, 93, 93, 93,193, 93, 93, 93, 93, 94, 93, 93,113, 16,222, - 93, 93, 93, 43, 43,193, 93, 93, 93,113, 18, 23, 57, 61, 47, 24, 47, 47, 93, 93, 93, 93, 93, 93, 16,193, 93, 93, 93,113, 17, 51, - 93, 51, 51, 93, 16,193, 93, 93, 93,113, 49, 48, 0, 93, 93, 1, 1, 51, 19, 19, 51, 1, 1, 35, 1, 1, 35, 1,152,254,159,207, -250,250,207,254,157, 1,117,207,254,244,254,242,207, 2, 51, 2, 23,254,102, 1,154,253,233,253,205, 1,180,254, 76, 0, 0, 1, - 0, 10,254, 20, 3,223, 4, 74, 0, 34, 0,100,182, 34, 16, 8, 8, 0, 14, 15,184,255,192,179, 18, 21, 72, 15,184,255,192, 64, - 29, 7, 11, 72, 15, 16, 15, 15, 36,191, 36,207, 36,239, 36, 3, 80, 36, 1, 15, 36, 47, 36, 79, 36, 3, 7, 24, 1, 0,184,255, -240, 64, 12, 0, 34, 16, 8, 35, 28, 80, 21, 27, 14, 0, 15, 0, 63, 50, 63,225, 17, 51, 51, 51, 1, 47, 56,193, 51, 94, 93, 93, - 93, 17, 51, 47, 56, 43, 43,193, 18, 57, 61, 47, 51, 51, 49, 48, 19, 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 51, 1, 14, 3, 35, - 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 55, 55, 10,189,215, 14, 29, 25, 18, 4, 6, 5, 22, 27, 29, 11,199,188,254, 78, 28, 65, - 86,116, 80, 52, 76, 27, 21, 64, 35, 48, 70, 52, 37, 15, 57, 4, 74,253,155, 40, 88, 88, 82, 35, 25, 86, 97, 94, 33, 2, 99,251, - 39, 81,129, 90, 49, 11, 6,145, 5, 7, 23, 44, 64, 41,160, 0, 0, 1, 0, 82, 0, 0, 3, 53, 4, 74, 0, 9, 0,108, 64, 11, - 9,151, 3, 1, 3, 8, 9, 13, 72, 3, 7,184,255,192, 64, 17, 7, 10, 72, 7, 7, 11, 63, 11, 95, 11,127, 11, 3,152, 8, 1, - 8,184,255,248,181, 9, 13, 72, 8, 4, 2,184,255,192,183, 18, 21, 72, 63, 2, 1, 2, 7,184,255,240, 64, 18, 7, 12, 72, 7, - 4, 79, 5, 15, 2, 16, 7, 12, 72, 2, 8, 79, 1, 21, 0, 63,225, 50, 43, 63,225, 50, 43, 1, 47, 93, 43, 51, 51, 43, 93, 93, - 17, 51, 47, 43, 51, 43, 93, 51, 49, 48, 33, 33, 53, 1, 33, 53, 33, 21, 1, 33, 3, 53,253, 29, 2, 24,254, 9, 2,176,253,244, - 2, 30,125, 3, 68,137,146,252,209, 0, 0, 1, 0, 61,254,188, 2,162, 5,182, 0, 39, 0, 64, 64, 37, 26, 5, 5,247, 32, 39, -241, 35, 19, 15,246, 16, 12, 1, 12, 35, 15,245,217, 16, 1, 15, 16, 95, 16, 2, 16, 16, 41, 26,245, 25,248, 5,245, 6,249, 0, - 63,225, 63,225, 18, 57, 47, 93, 93,225, 57, 1, 47, 93,230, 51, 51,241, 50,226, 47, 50, 49, 48, 5, 20, 30, 2, 23, 21, 46, 3, - 53, 17, 52, 38, 35, 53, 50, 54, 53, 17, 52, 62, 2, 55, 21, 14, 3, 21, 17, 20, 6, 7, 21, 22, 22, 21, 1,244, 24, 45, 65, 40, - 77,131, 95, 54,131,125,125,131, 54, 95,131, 77, 40, 65, 45, 24,119,115,115,119, 16, 48, 61, 35, 13, 1,150, 1, 33, 71,110, 78, - 1, 78,103, 86,155, 86,103, 1, 77, 78,110, 71, 33, 1,149, 1, 13, 35, 61, 48,254,180,105,123, 20, 12, 20,122,106, 0, 0, 1, - 1,233,254, 20, 2,127, 6, 20, 0, 3, 0, 45, 64, 31, 0, 5, 1, 48, 5, 64, 5,112, 5,128, 5, 4, 2,170, 0, 3, 16, 3, - 64, 3,128, 3,192, 3, 5, 7, 3, 2, 27, 0, 0, 0, 63, 63, 1, 47, 94, 93,225, 93,113, 49, 48, 1, 51, 17, 35, 1,233,150, -150, 6, 20,248, 0, 0, 0, 1, 0, 51,254,188, 2,152, 5,182, 0, 41, 0, 64, 64, 37, 13, 36, 36,247, 7, 0,241, 26,246, 20, - 3,144, 29, 1, 29, 4, 26,245,239, 25,255, 25, 2,217, 25, 1, 25, 25, 14, 36,245, 35,249, 13,245, 14,248, 0, 63,225, 63,225, - 17, 57, 47, 93, 93,225, 57, 1, 47, 93, 51, 51,230,241, 50,226, 47, 50, 49, 48, 19, 52, 54, 55, 53, 38, 38, 53, 17, 52, 46, 2, - 39, 53, 30, 3, 21, 17, 20, 30, 2, 51, 21, 34, 6, 21, 17, 20, 14, 2, 7, 53, 62, 3, 53,225,119,115,115,119, 24, 45, 65, 40, - 77,131, 95, 54, 33, 65, 96, 62,125,131, 54, 95,131, 77, 40, 65, 45, 24, 1, 59,106,122, 20, 12, 20,123,105, 1, 76, 48, 61, 35, - 13, 1,149, 1, 33, 71,110, 78,254,179, 52, 72, 45, 20,155, 86,103,254,178, 78,110, 71, 33, 1,150, 1, 13, 35, 61, 48, 0, 1, - 0,102, 2, 74, 4, 2, 3, 90, 0, 35, 0, 60, 64, 13, 29, 37, 16, 37, 1, 16, 10, 1, 10, 23,173, 10, 31,184,255,192, 64, 22, - 16, 19, 72, 31, 31, 5,173, 28, 15, 13, 31, 13, 63, 13, 79, 13,111, 13,143, 13, 6, 13, 0, 47, 93, 51,241,200, 47, 43, 50,225, - 1, 47, 93, 93, 16,206, 49, 48, 1, 46, 3, 35, 34, 14, 2, 7, 53, 54, 51, 50, 30, 2, 23, 30, 3, 51, 50, 62, 2, 55, 21, 6, - 35, 34, 46, 2, 2, 18, 37, 55, 45, 41, 22, 28, 60, 59, 56, 25,100,148, 29, 50, 55, 67, 47, 37, 55, 47, 40, 22, 28, 60, 59, 56, - 24, 99,149, 29, 50, 55, 67, 2,139, 16, 22, 13, 5, 19, 33, 44, 25,162,108, 5, 13, 25, 20, 16, 22, 13, 5, 19, 33, 44, 25,162, -108, 5, 13, 25, 0, 2, 0,147,254,139, 1,145, 4, 94, 0, 3, 0, 23, 0, 65,185, 0, 0,255,240, 64, 19, 10, 20, 72, 48, 25, -160, 25,176, 25,192, 25, 4, 2, 4,154, 14, 3, 3, 14,184,255,192, 64, 15, 7, 10, 72, 14, 0, 9,155, 19, 0, 2, 16, 2, 2, - 7, 2, 0, 47, 94, 93, 47,245,206, 1, 47, 43, 51, 47, 16,225, 50, 93, 49, 48, 43, 19, 51, 19, 35, 19, 20, 14, 2, 35, 34, 46, - 2, 53, 52, 62, 2, 51, 50, 30, 2,213,121, 51,223,239, 19, 35, 46, 27, 26, 46, 35, 20, 20, 35, 46, 26, 27, 46, 35, 19, 2,164, -251,231, 5, 72, 38, 53, 33, 15, 15, 33, 53, 38, 37, 52, 34, 16, 16, 34, 52, 0, 0, 1, 0,188,255,236, 3,186, 5,203, 0, 37, - 0, 90, 64, 37, 18, 3, 70, 15, 4, 4, 10, 37, 21, 39, 64, 39, 1, 30, 72, 0, 10, 48, 10, 64, 10,208, 10, 4, 6, 10, 27,115, - 15, 18, 15, 33,115, 5, 2, 5, 15,184,255,192, 64, 12, 15, 18, 72, 15, 5, 15, 5, 3, 16, 7, 3, 25, 0, 63, 63, 18, 57, 57, - 47, 47, 43, 17, 51, 16,225, 17, 51, 16,225, 1, 47, 94, 93,225, 93, 16,198, 50, 17, 57, 47, 51,225, 50, 49, 48, 36, 6, 7, 21, - 35, 53, 46, 3, 53, 52, 62, 2, 55, 53, 51, 21, 22, 22, 23, 7, 46, 3, 35, 34, 6, 21, 20, 22, 51, 50, 54, 55, 21, 3,118,110, - 76,137, 87,138, 98, 52, 53, 97,139, 86,137, 72,136, 46, 53, 23, 56, 60, 59, 25,157,144,145,148, 81,131, 54,212, 30, 2,200,206, - 13, 75,133,199,137,141,203,136, 75, 13,172,164, 3, 33, 23,154, 10, 19, 15, 9,202,212,210,195, 37, 24,161, 0, 0, 1, 0, 68, - 0, 0, 4, 35, 5,201, 0, 40, 0,117, 64, 17, 13, 17,111, 35, 15, 15, 31, 15, 2, 7, 31, 15, 31, 15, 25, 3, 23,184,255,192, -179, 10, 14, 72, 23,184,255,200, 64, 48, 6, 9, 72, 23, 23, 42, 16, 42, 1, 33, 25, 64, 11, 14, 72, 25, 25, 41, 16, 33,117, 13, - 47, 34,127, 34,143, 34,175, 34,191, 34,223, 34,255, 34, 7, 34, 34, 0, 22,116, 25, 24, 7,115, 0, 7, 0, 63,225, 63,225, 17, - 57, 47, 93, 51,225, 50, 17, 1, 51, 47, 43, 51, 93, 17, 51, 47, 43, 43, 51, 18, 57, 57, 47, 47, 94, 93, 51,225, 50, 49, 48, 1, - 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, 17, 33, 21, 33, 21, 20, 14, 2, 7, 33, 21, 33, 53, 62, 3, 53, 53, 35, 53, 51, 17, - 52, 62, 2, 2,154,106,174, 66, 66, 56,141, 75, 48, 82, 60, 33, 1,120,254,136, 23, 39, 51, 27, 2,236,252, 33, 44, 73, 53, 30, -198,198, 59,105,146, 5,201, 45, 35,144, 29, 43, 27, 59, 94, 66,254,217,137,211, 62, 89, 64, 43, 16,166,154, 11, 41, 68, 97, 67, -213,137, 1, 68, 87,137, 95, 50, 0, 2, 0,123, 1, 29, 3,236, 4,139, 0, 35, 0, 55, 0,134, 64, 35, 14,143, 22, 1, 22, 22, - 46,171, 21, 15, 12, 24, 6, 30, 33, 3, 8, 0,112, 18, 1, 18, 18, 57, 16, 57, 1, 4, 32, 36,170,128, 0, 1, 0,184,255,192, - 64, 49, 6, 10, 72, 0, 0, 56, 23,128, 31, 1, 31, 12, 6, 24, 30, 15, 6, 4, 9, 41,174, 0, 27, 1, 27, 13, 5, 51,174,207, - 9,239, 9, 2,144, 9,160, 9,176, 9, 3, 31, 9, 63, 9,111, 9, 3, 9, 0, 47, 93, 93, 93,225,198, 50, 47, 93,225, 18, 23, - 57, 17, 51,198, 93, 50, 17, 1, 51, 47, 43, 93,225,198, 50, 93, 17, 51, 47, 93, 18, 23, 57,241,192, 47, 93, 50, 49, 48, 19, 52, - 54, 55, 39, 55, 23, 54, 54, 51, 50, 22, 23, 55, 23, 7, 22, 22, 21, 20, 6, 7, 23, 7, 39, 6, 6, 35, 34, 38, 39, 7, 39, 55, - 38, 38, 55, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2,186, 35, 31,129, 98,127, 47,108, 60, 60,107, 46,129, 99, -130, 31, 37, 35, 33,127, 96,129, 46,107, 60, 60,110, 45,127, 96,127, 31, 35,138, 37, 65, 87, 50, 51, 89, 66, 38, 38, 66, 89, 51, - 50, 87, 65, 37, 2,211, 59,107, 47,129, 98,129, 32, 36, 36, 32,129, 96,129, 46,109, 60, 60,110, 45,127, 96,127, 31, 35, 36, 32, -127, 96,127, 45,108, 60, 50, 87, 65, 38, 38, 65, 87, 50, 51, 89, 66, 38, 38, 66, 89, 0, 0, 1, 0, 29, 0, 0, 4, 76, 5,182, - 0, 22, 0,149, 64, 91, 48, 24, 1, 15, 19, 12, 22,170, 21, 1, 21, 21, 12, 4, 8, 1,171, 2, 1, 31, 2, 1, 2, 2,152, 0, - 1, 0, 7, 3, 11, 90,153, 20, 1, 20, 16, 15, 12, 1,138, 12, 1, 0, 12, 16, 12, 64, 12, 3, 7, 12, 10, 14, 96, 15, 7, 15, - 6, 18, 96, 19, 3, 0, 19,127, 15,143, 15, 2, 48, 19, 1,208, 19, 1, 15, 19, 31, 19, 2, 15, 19, 15, 19, 1, 11, 18, 21, 1, - 3, 0, 63, 51, 63, 18, 57, 57, 47, 47, 93, 93,113, 93, 17, 51, 51, 16,225, 50, 17, 51, 16,225, 50, 1, 47, 94, 93, 93,113, 51, - 51, 93,225, 50, 50, 57, 93, 50, 47, 93, 93, 51, 57, 57, 17, 51, 47, 93, 51, 18, 57, 57, 93, 49, 48, 1, 1, 51, 1, 51, 21, 33, - 21, 33, 21, 33, 17, 35, 17, 33, 53, 33, 53, 33, 53, 51, 1, 51, 2, 51, 1, 90,191,254,127,239,254,211, 1, 45,254,211,178,254, -211, 1, 45,254,211,234,254,133,192, 2,211, 2,227,253, 0,137,158,137,254,250, 1, 6,137,158,137, 3, 0, 0, 0, 2, 1,233, -254, 20, 2,127, 6, 20, 0, 3, 0, 7, 0, 57, 64, 37, 0, 9, 1, 48, 9, 64, 9,112, 9,128, 9, 4, 2, 6,170, 3, 0, 7, - 16, 7, 64, 7,128, 7,192, 7, 5, 7, 7, 4, 3, 4, 3, 6, 27, 0, 0, 0, 63, 63, 57, 57, 47, 47, 1, 47, 94, 93, 51,225, - 50, 93,113, 49, 48, 1, 51, 17, 35, 17, 51, 17, 35, 1,233,150,150,150,150, 6, 20,252,244,254, 25,252,243, 0, 0, 2, 0,121, -255,246, 3, 94, 6, 31, 0, 69, 0, 90, 0,121, 64, 75, 5, 86, 8, 81, 70, 33, 38, 76, 70, 60, 70, 41, 41, 16,255, 33, 1,160, - 33,176, 33, 2, 33, 92,192, 92, 1,191, 92, 1, 70, 70, 0, 23, 70, 8, 8, 49, 0, 0, 1, 0, 0, 16, 0, 48, 0,192, 0,208, - 0,240, 0, 6, 8, 0, 91, 38, 76, 5, 86, 23, 86, 76, 41, 4, 13, 55, 80, 46, 21, 20, 80, 13, 1, 0, 63,225, 63,225, 18, 23, - 57, 17, 51, 17, 51, 1, 16,198, 94, 93,113, 50, 50, 47,225, 16,225, 93, 93, 16,206, 93, 93, 50, 50, 47,225, 18, 57, 57, 16,225, - 17, 57, 57, 49, 48, 19, 52, 62, 2, 55, 38, 38, 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, 38, 35, 34, 6, 21, 20, 30, 2, 23, 30, - 3, 21, 20, 14, 2, 7, 22, 22, 21, 20, 14, 2, 35, 34, 38, 39, 53, 30, 3, 51, 50, 62, 2, 53, 52, 46, 2, 39, 46, 3, 55, 20, - 30, 2, 23, 23, 62, 3, 53, 52, 46, 2, 39, 14, 3,137, 26, 45, 58, 31, 75, 85, 55,100,140, 86, 97,157, 72, 56, 65,140, 71, 99, -102, 24, 57, 95, 70, 72,113, 78, 42, 24, 41, 52, 28, 69, 76, 59,108,155, 96,108,156, 59, 31, 76, 84, 89, 43, 69, 93, 55, 23, 17, - 51, 94, 76, 73,115, 80, 41,154, 28, 63,101, 72, 35, 20, 41, 33, 21, 26, 65,108, 82, 25, 47, 38, 23, 3, 41, 51, 83, 64, 45, 15, - 38,114, 84, 61, 98, 68, 37, 40, 32,139, 28, 39, 59, 57, 27, 46, 44, 47, 29, 28, 65, 78, 97, 62, 52, 85, 68, 49, 16, 38,109, 78, - 71,111, 77, 40, 33, 32,158, 15, 30, 23, 14, 24, 39, 51, 27, 29, 45, 45, 49, 31, 31, 62, 78,100, 89, 37, 63, 58, 55, 30, 15, 13, - 36, 46, 56, 34, 38, 64, 59, 57, 30, 8, 31, 45, 58, 0, 0, 2, 1, 51, 5, 12, 3,106, 5,217, 0, 11, 0, 25, 0, 53, 64, 33, - 12,134,175, 20, 1, 20,192, 6,134, 0, 0, 16, 0, 64, 0, 80, 0, 4, 6, 0, 15, 3,145, 23,159, 9,207, 9, 2, 48, 9, 1, - 9, 0, 47, 93, 93, 51,229, 50, 1, 47, 94, 93,225, 26,220, 93,225, 49, 48, 1, 52, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 37, - 52, 54, 51, 50, 30, 2, 21, 20, 6, 35, 34, 38, 1, 51, 56, 40, 39, 58, 58, 39, 40, 56, 1,119, 56, 40, 19, 35, 26, 16, 58, 38, - 40, 56, 5,115, 54, 48, 49, 53, 53, 50, 50, 53, 54, 48, 12, 25, 38, 27, 53, 50, 50, 0, 0, 3, 0,100,255,236, 6, 68, 5,203, - 0, 37, 0, 65, 0, 85, 0,106, 64, 67, 5,197, 26, 15, 15, 34, 26, 34, 26, 34, 38, 76,195, 0, 52, 1,192, 52, 1, 52, 87, 66, -195, 38, 10,201, 21, 0,201, 31, 15, 21, 31, 21, 47, 21,127, 21,143, 21,159, 21, 6, 8, 0, 31, 16, 31, 96, 31,112, 31,128, 31, - 5, 21, 31, 21, 31, 45, 71,200, 59, 81,200, 45, 4, 0, 63,225, 47,225, 17, 57, 57, 47, 47, 93, 94, 93, 16,225, 16,225, 1, 47, -225, 16,222, 93,113,225, 17, 57, 57, 47, 47, 17, 51, 47, 16,225, 49, 48, 1, 34, 14, 2, 21, 20, 30, 2, 51, 50, 62, 2, 55, 21, - 14, 3, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, 38, 1, 52, 62, 4, 51, 50, 30, 4, 21, 20, 14, 4, 35, 34, 46, - 4, 55, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2, 3,123, 61, 94, 64, 33, 29, 61, 95, 67, 23, 54, 57, 56, 25, - 24, 49, 53, 60, 35,102,152,101, 51, 54,105,153,100, 63,132, 59, 62, 52, 97,252,190, 54, 97,138,167,192,104,104,192,167,138, 97, - 54, 54, 97,138,167,192,104,104,192,167,138, 97, 54,109,101,175,234,133,133,234,175,101,101,175,234,133,133,234,175,101, 4, 29, - 44, 83,120, 75, 78,120, 82, 43, 7, 12, 17, 9,131, 11, 18, 14, 7, 66,122,170,103,101,167,120, 67, 33, 29,127, 26, 28,254,190, -104,192,167,138, 97, 54, 54, 97,138,167,192,104,104,192,167,137, 98, 53, 53, 98,137,167,192,104,133,234,175,101,101,175,234,133, -133,234,175,101,101,175,234, 0, 0, 2, 0, 68, 3, 16, 2, 66, 5,199, 0, 30, 0, 45, 0, 78, 64, 47, 45, 1, 15,224, 0, 29, - 16, 29, 2, 29, 47, 15, 47, 31, 47, 79, 47,127, 47,175, 47, 5, 36,224, 11, 23, 23, 96, 11, 1, 11, 46, 45,228, 15, 15, 26, 1, - 39,228, 0, 6,192, 19,228, 26,222, 0, 63,225, 26,220,196,225, 57, 17, 57, 47,225, 1, 16,198, 93, 50, 47, 16,225, 93, 16,214, - 93,225, 50, 50, 49, 48, 1, 39, 14, 3, 35, 34, 46, 2, 53, 52, 54, 55, 55, 53, 52, 38, 35, 34, 6, 7, 39, 54, 54, 51, 50, 22, - 21, 17, 3, 14, 3, 21, 20, 22, 51, 50, 62, 2, 53, 53, 1,231, 28, 18, 39, 47, 56, 35, 43, 72, 52, 29,141,143, 99, 61, 56, 48, - 90, 42, 48, 51,117, 60,125,119,201, 51, 68, 41, 18, 50, 42, 34, 58, 43, 25, 3, 29, 82, 22, 35, 25, 13, 26, 51, 77, 51,102,108, - 5, 4, 31, 72, 57, 29, 22,100, 26, 36,106,122,254, 58, 1, 57, 3, 18, 30, 43, 29, 51, 45, 21, 44, 65, 44, 49, 0, 2, 0, 82, - 0,115, 3,147, 3,199, 0, 6, 0, 13, 0, 96, 64, 17, 2, 4, 13,235, 10, 80, 4, 96, 4, 2, 4, 10, 4, 10, 6, 11, 9,184, -255,192, 64, 33, 9, 12, 72, 9, 15, 15, 15,159, 15,175, 15, 3, 6,235,159, 3, 1, 3, 6, 0, 3, 13, 7, 10, 10, 5, 3, 3, - 1, 12, 5, 8, 1, 0, 47, 51, 47, 51, 18, 57, 61, 47, 18, 57, 17, 51, 51, 17, 51, 51, 1, 24, 47, 93,225, 93, 16,198, 43, 50, - 17, 57, 57, 47, 47, 93, 16,225, 17, 51, 49, 48, 19, 1, 23, 3, 19, 7, 1, 37, 1, 23, 3, 19, 7, 1, 82, 1, 53,117,238,238, -117,254,203, 1,151, 1, 54,116,237,237,116,254,202, 2, 41, 1,158, 78,254,164,254,164, 78, 1,155, 27, 1,158, 78,254,164,254, -164, 78, 1,155, 0, 1, 0,102, 1, 6, 4, 2, 3, 29, 0, 5, 0, 57, 64, 36, 2,170, 1, 7, 16, 7, 1,150, 4, 1,139, 4, - 1,121, 4, 1, 86, 4, 1, 75, 4, 1, 56, 4, 1, 18, 4, 1, 9, 4, 1, 4, 4,173, 5,179, 0, 63,225, 1, 47, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 16,222,225, 49, 48, 1, 17, 35, 17, 33, 53, 4, 2,149,252,249, 3, 29,253,233, 1,129,150, 0,255,255, - 0, 82, 1,209, 2, 66, 2,121, 2, 6, 0, 16, 0, 0, 0, 4, 0,100,255,236, 6, 68, 5,203, 0, 8, 0, 30, 0, 58, 0, 78, - 0,194, 64,125,164, 22,180, 22,196, 22, 3,180, 23,196, 23, 2, 23, 22, 1, 82, 21, 14, 23, 14, 22,197, 21, 14, 20, 21, 21, 14, - 14, 9, 0, 25,197, 26, 9,197, 4, 21, 4, 0, 26, 1, 0, 26,192, 26,208, 26, 3, 7,143, 4, 1, 26, 4, 26, 4, 31, 69,195, - 0, 45, 1,192, 45, 1, 45, 80, 59,195, 31, 14, 24,201, 0, 0, 22, 27, 22, 21, 26, 8,201, 27, 0, 26, 1, 15, 26, 31, 26, 47, - 26,127, 26,143, 26,159, 26, 6, 8, 0, 27, 16, 27, 96, 27,112, 27,128, 27, 5, 26, 27, 26, 27, 38, 64,200, 52, 19, 74,200, 38, - 4, 0, 63,225, 63,225, 17, 57, 57, 47, 47, 93, 94, 93,113, 16,225, 17, 51, 51, 17, 18, 57, 16,225, 50, 1, 47,225, 16,222, 93, -113,225, 17, 57, 57, 47, 47, 93, 94, 93,113, 17, 57, 16,225, 16,225, 50, 17, 57,135, 16, 43, 16, 0,193,135, 5, 43, 16,196, 1, - 93, 49, 48, 93, 1, 51, 50, 54, 53, 52, 38, 35, 35, 5, 20, 14, 2, 7, 22, 23, 30, 2, 23, 23, 35, 3, 35, 17, 35, 17, 51, 50, - 22, 1, 52, 62, 4, 51, 50, 30, 4, 21, 20, 14, 4, 35, 34, 46, 4, 55, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, - 2, 2,231, 72, 91, 79, 83, 89, 70, 1,146, 27, 45, 57, 31, 67, 53, 23, 42, 33, 10, 10,179,206, 95,157,233,168,158,251,235, 54, - 97,138,167,192,104,104,192,167,138, 97, 54, 54, 97,138,167,192,104,104,192,167,138, 97, 54,109,101,175,234,133,133,234,175,101, -101,175,234,133,133,234,175,101, 3, 0, 72, 69, 74, 59,129, 48, 75, 57, 40, 13,110, 87, 37, 71, 56, 17, 17, 1, 96,254,160, 3, -125,130,254,195,104,192,167,138, 97, 54, 54, 97,138,167,192,104,104,192,167,137, 98, 53, 53, 98,137,167,192,104,133,234,175,101, -101,175,234,133,133,234,175,101,101,175,234, 0, 0, 1,255,250, 6, 20, 4, 6, 6,160, 0, 3, 0, 18,182, 0, 0, 5, 1, 1, -186, 2, 0, 47,225, 1, 47, 17, 51, 47, 49, 48, 1, 33, 53, 33, 4, 6,251,244, 4, 12, 6, 20,140, 0, 0, 2, 0,123, 3, 86, - 2,242, 5,203, 0, 19, 0, 39, 0, 67, 64, 44, 30,171, 10, 41,159, 41, 1, 20,170, 48, 0, 64, 0, 2, 0, 25,174, 16, 15, 32, - 15, 2,224, 15,240, 15, 2,111, 15, 1, 0, 15, 16, 15, 32, 15, 3, 6, 15, 15, 35,174, 5, 4, 0, 63,225, 51, 47, 94, 93, 93, - 93,113,225, 1, 47, 93,225, 93, 16,214,225, 49, 48, 19, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 55, 20, 30, - 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2,123, 50, 85,115, 65, 65,115, 86, 50, 50, 86,115, 65, 65,115, 85, 50,123, 30, - 52, 70, 40, 40, 70, 53, 30, 30, 53, 70, 40, 40, 70, 52, 30, 4,143, 65,115, 86, 50, 50, 86,115, 65, 65,114, 85, 49, 49, 85,114, - 65, 39, 69, 52, 30, 30, 52, 69, 39, 40, 71, 53, 31, 31, 53, 71, 0, 2, 0,102, 0, 0, 4, 2, 4,162, 0, 11, 0, 15, 0, 58, - 64, 33, 16, 17, 1, 15, 8, 8, 6, 9,170, 12, 1, 1, 3,239, 0, 1, 32, 0, 96, 0,160, 0, 3, 0, 13,173, 12, 9, 0,173, - 6, 3,179, 0, 63, 51,225, 50, 47,225, 1, 47, 93, 93, 51, 51, 17, 51,225, 50, 50, 17, 51, 93, 49, 48, 1, 33, 53, 33, 17, 51, - 17, 33, 21, 33, 17, 35, 1, 53, 33, 21, 1,233,254,125, 1,131,150, 1,131,254,125,150,254,125, 3,156, 2,135,150, 1,133,254, -123,150,254,127,254,250,150,150, 0, 1, 0, 49, 2, 74, 2,109, 5,201, 0, 30, 0, 64, 64, 21, 8,225, 0, 23, 32, 79, 32,127, - 32, 2, 32, 64, 6, 10, 72, 29,225, 1, 15, 15, 1,184,255,192, 64, 14, 21, 24, 72, 1, 8, 29, 11,229, 18,222, 29,229, 1,221, - 0, 63,225, 63,225, 18, 57, 1, 47, 43, 51, 47, 16,225, 43, 93, 16,222, 50,225, 49, 48, 1, 33, 53, 55, 62, 3, 53, 52, 38, 35, - 34, 6, 7, 39, 54, 54, 51, 50, 30, 2, 21, 20, 14, 2, 7, 7, 33, 2,109,253,196,209, 57, 72, 40, 15, 66, 54, 51, 93, 45, 78, - 54,133, 82, 60, 97, 68, 37, 29, 54, 79, 51,148, 1,140, 2, 74,112,228, 62, 85, 67, 59, 34, 65, 64, 50, 38, 94, 48, 65, 33, 63, - 91, 57, 50, 86, 85, 91, 55,157, 0, 1, 0, 31, 2, 57, 2,104, 5,201, 0, 48, 0, 97, 64, 60, 3, 0, 25, 25, 14, 6, 30,225, - 0, 0, 21,225, 6, 50, 95, 50,143, 50, 2, 50, 64, 6, 10, 72, 39, 39, 14, 64, 25, 32, 72, 14, 3, 25,228, 15, 26, 31, 26, 47, - 26, 95, 26,223, 26, 5, 8, 26, 26, 18, 38, 35,229, 44,222, 18,229, 15, 11,223, 0, 63, 51,225, 63,225, 51, 18, 57, 47, 94, 93, -225, 57, 1, 47, 43, 51, 47, 43, 93, 16,222,225, 51, 47,225, 17, 18, 57, 47, 18, 57, 49, 48, 1, 20, 6, 7, 22, 22, 21, 20, 14, - 2, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 53, 52, 38, 35, 35, 53, 51, 50, 54, 53, 52, 46, 2, 35, 34, 6, 7, 39, 62, 3, 51, - 50, 30, 2, 2, 78, 81, 69, 88, 88, 40, 83,126, 86, 70,123, 57, 63,132, 53, 98, 88,107, 96, 98, 98, 92, 84, 20, 35, 47, 27, 59, - 97, 51, 69, 29, 61, 68, 76, 44, 69,105, 70, 35, 4,231, 78,106, 24, 23,106, 78, 60,100, 71, 40, 25, 31,133, 34, 38, 83, 73, 74, - 67,113, 79, 64, 32, 47, 30, 14, 41, 37, 96, 23, 37, 26, 15, 34, 60, 83, 0, 1, 1,137, 4,217, 3, 18, 6, 33, 0, 13, 0, 22, - 64, 10, 6, 0, 5,128, 15, 12, 95, 12, 2, 12, 0, 47, 93, 26,205, 1, 47,205, 49, 48, 1, 62, 3, 55, 51, 21, 14, 3, 7, 35, - 1,137, 22, 47, 47, 42, 16,219, 16, 63, 77, 81, 35,121, 4,244, 29, 76, 81, 81, 34, 21, 27, 81, 88, 83, 28, 0, 0, 1, 0,174, -254, 20, 4, 18, 4, 74, 0, 29, 0, 55, 64, 34, 13, 9, 71, 10, 85, 31, 16, 31, 32, 31, 96, 31,112, 31,128, 31, 5, 20, 29, 71, - 28, 84, 30, 26, 27, 3, 80, 17, 22, 11, 21, 28, 9, 15, 0, 63, 51, 63, 63,225, 63, 1, 16,246,225, 50, 93, 16,246,225, 50, 49, - 48, 1, 20, 22, 51, 50, 62, 2, 53, 17, 51, 17, 35, 39, 35, 6, 6, 35, 34, 38, 39, 22, 23, 22, 22, 21, 17, 35, 17, 51, 1,100, -106,111, 82,110, 67, 28,182,147, 27, 10, 48,144,103, 72,106, 35, 1, 2, 2, 1,182,182, 1,135,130,130, 52,101,148, 96, 2, 58, -251,182,147, 83, 84, 46, 42, 38, 40, 35, 85, 42,254,192, 6, 54, 0, 1, 0,113,254,252, 4,102, 6, 20, 0, 19, 0, 55, 64, 33, - 4,153, 0, 5, 48, 5, 64, 5, 80, 5, 4, 6, 5, 5, 13, 1,153, 0, 21, 16, 21, 1, 0, 13, 16, 13, 2, 13, 3, 18, 0, 5, - 0, 0, 47, 50, 63,193, 1, 47, 93, 93, 16,214,225, 18, 57, 47, 94, 93,225, 49, 48, 1, 35, 17, 35, 17, 35, 17, 6, 35, 34, 46, - 2, 53, 52, 62, 2, 51, 33, 4,102,120,207,121, 61, 85, 95,155,109, 60, 65,119,166,100, 2, 51,254,252, 6,121,249,135, 3, 51, - 18, 51,118,192,140,147,197,120, 50, 0, 0, 1, 0,147, 2, 72, 1,145, 3, 94, 0, 19, 0, 51, 64, 26, 16, 21,128, 21,144, 21, -160, 21, 4, 10,150,192, 0,208, 0, 2, 52, 0, 68, 0,100, 0,116, 0, 4, 0,184,255,192,182, 7, 10, 72, 0, 5,155, 15, 0, - 47,229, 1, 47, 43, 93, 93,237, 93, 49, 48, 19, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2,147, 20, 34, 46, 27, - 26, 47, 34, 20, 20, 34, 47, 26, 27, 46, 34, 20, 2,211, 38, 53, 33, 15, 15, 33, 53, 38, 37, 52, 34, 16, 16, 34, 52, 0, 0, 1, - 0, 35,254, 20, 1,152, 0, 0, 0, 25, 0, 57, 64, 31, 20, 19, 19, 21,127, 18,143, 18, 2, 18, 18, 6, 13,132, 0, 27, 6, 26, - 18,140, 21, 64, 9, 14, 72, 21, 21, 19, 10,141, 3, 0, 47,225, 47, 57, 47, 43,225, 1, 16,198, 16,214,225, 17, 57, 47, 93, 51, - 51, 17, 51, 49, 48, 1, 20, 6, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 53, 52, 46, 2, 39, 55, 51, 7, 30, 3, 1,152,141,150, - 22, 45, 15, 15, 49, 16, 71, 80, 26, 46, 63, 37, 90,121, 57, 34, 58, 43, 25,254,225, 97,108, 6, 3,108, 3, 3, 43, 49, 24, 35, - 26, 19, 9,176,115, 8, 26, 41, 58, 0, 0, 1, 0, 63, 2, 74, 1,186, 5,182, 0, 14, 0, 52, 64, 33, 79, 16,127, 16, 2, 16, - 64, 6, 10, 72, 14, 14, 2,225, 0,127, 3,143, 3, 2, 32, 3, 48, 3, 2, 3, 2,221, 13, 9,229, 0,220, 0, 63,225,205, 63, - 1, 47, 93, 93, 51,225, 51, 47, 43, 93, 49, 48, 1, 51, 17, 35, 17, 52, 62, 2, 55, 6, 6, 7, 7, 39, 1, 51,135,145, 1, 3, - 3, 1, 14, 38, 22, 94, 74, 5,182,252,148, 2, 4, 25, 60, 60, 56, 22, 17, 40, 17, 73, 96, 0, 0, 2, 0, 66, 3, 16, 2,139, - 5,199, 0, 19, 0, 31, 0, 46,178, 26,224, 0,184,255,192, 64, 20, 9, 15, 72, 0, 33, 15, 33, 1, 20,224, 10, 32, 23,228, 5, -192, 29,228, 15,222, 0, 63,225, 26,220,225, 1, 16,214,225, 93, 16,214, 43,225, 49, 48, 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, - 62, 2, 51, 50, 30, 2, 5, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 2,139, 41, 77,109, 68, 63,106, 78, 43, 41, 76,109, 68, - 62,107, 78, 44,254, 58, 75, 86, 85, 75, 75, 85, 86, 75, 4,109, 83,130, 89, 47, 47, 89,130, 83, 83,129, 88, 46, 46, 88,129, 83, -119,121,121,119,120,115,115, 0, 0, 2, 0, 84, 0,115, 3,150, 3,199, 0, 6, 0, 13, 0, 86, 64, 47, 15, 15,159, 15,175, 15, - 3, 7,235, 4, 2, 10, 2, 10, 2, 3, 11, 9, 14, 0,235,159, 3, 1, 16, 3, 32, 3, 64, 3, 3, 3, 13, 7, 10, 6, 0, 3, - 10, 3, 10, 3, 1, 12, 5, 8, 1, 0, 47, 51, 47, 51, 18, 57, 57, 61, 47, 47, 17, 51, 51, 17, 51, 51, 1, 24, 47, 93, 93,225, - 16,198, 50, 17, 57, 57, 47, 47, 17, 51,225, 93, 49, 48, 1, 1, 39, 19, 3, 55, 1, 5, 1, 39, 19, 3, 55, 1, 3,150,254,202, -116,237,237,116, 1, 54,254,104,254,203,117,238,238,117, 1, 53, 2, 14,254,101, 78, 1, 92, 1, 92, 78,254, 98, 27,254,101, 78, - 1, 92, 1, 92, 78,254, 98, 0,255,255, 0, 63, 0, 0, 5,139, 5,182, 0, 38, 0,123, 0, 0, 0, 39, 2, 23, 2, 74, 0, 0, - 1, 7, 2, 60, 2,252,253,183, 0, 48, 64, 29, 3, 2, 22, 24, 3, 2,191, 22, 1,143, 22, 1, 63, 22, 1, 22, 1, 64, 17, 1, - 0, 17, 1, 17, 0, 64, 0, 1, 0, 17, 93, 53, 17, 93, 93, 53, 17, 93, 93, 93, 53, 53, 0, 63, 53, 53,255,255, 0, 44, 0, 0, - 5,160, 5,182, 0, 38, 0,123,237, 0, 0, 39, 2, 23, 2, 53, 0, 0, 1, 7, 0,116, 3, 51,253,183, 0, 40, 64, 24, 2, 20, - 24, 2, 0, 20, 1, 20, 1,176, 17, 1, 64, 17, 1, 17, 0,112, 0, 1, 64, 0, 1, 0, 17, 93, 93, 53, 17, 93, 93, 53, 17, 93, - 53, 0, 63, 53,255,255, 0, 31, 0, 0, 5,206, 5,201, 0, 38, 0,117, 0, 0, 0, 39, 2, 23, 2,168, 0, 0, 1, 7, 2, 60, - 3, 63,253,183, 0, 60, 64, 39, 3, 2, 56, 24, 3, 2,112, 56, 1, 80, 56, 1, 56, 1,180, 51, 1,164, 51, 1,132, 51, 1,100, - 51, 1, 80, 51, 1, 48, 51, 1, 32, 51, 1, 51, 15, 76, 1, 93, 17, 93, 93, 93, 93, 93, 93, 93, 53, 17, 93, 93, 53, 53, 0, 63, - 53, 53, 0, 2, 0, 68,254,119, 3, 68, 4, 94, 0, 39, 0, 59, 0, 68, 64, 18, 50,154, 40, 40, 39, 70, 0, 0, 11, 20, 61, 15, - 61, 1, 8, 11, 70, 28,184,255,192, 64, 16, 15, 27, 72, 28, 11, 23, 39, 39, 45,155, 55, 16, 19, 16, 81, 23, 0, 47,225, 51, 63, -229, 50, 47, 18, 57, 1, 47, 43,225, 94, 93, 16,206, 17, 57, 47,225, 51, 47,225, 49, 48, 1, 21, 20, 14, 2, 7, 14, 3, 21, 20, - 30, 2, 51, 50, 54, 55, 23, 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 55, 62, 3, 53, 53, 19, 20, 14, 2, 35, 34, 46, 2, 53, 52, - 62, 2, 51, 50, 30, 2, 2, 80, 16, 39, 65, 50, 48, 68, 43, 21, 30, 57, 85, 55, 84,150, 69, 64, 82,188, 97, 93,149,103, 56, 27, - 53, 81, 54, 52, 66, 38, 14,186, 19, 35, 46, 27, 26, 46, 35, 20, 20, 35, 46, 26, 27, 46, 35, 19, 2,164, 37, 58, 91, 81, 76, 42, - 41, 67, 69, 79, 53, 48, 79, 57, 31, 51, 35,146, 42, 58, 51, 96,138, 88, 68,104, 90, 84, 47, 45, 67, 62, 67, 43, 19, 1, 47, 38, - 53, 33, 15, 15, 33, 53, 38, 37, 52, 34, 16, 16, 34, 52,255,255, 0, 0, 0, 0, 4,221, 7,115, 2, 38, 0, 36, 0, 0, 1, 7, - 0, 67,255,189, 1, 82, 0, 21,180, 2, 21, 5, 38, 2,184,255,156,180, 27, 21, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0, 0, 0, 0, 4,221, 7,115, 2, 38, 0, 36, 0, 0, 1, 7, 0,118, 0,141, 1, 82, 0, 19, 64, 11, 2, 33, 5, 38, 2,108, - 21, 27, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0, 0, 0, 4,221, 7,115, 2, 38, 0, 36, 0, 0, 1, 7, 1, 75, - 0, 31, 1, 82, 0, 21,180, 2, 21, 5, 38, 2,184,255,255,180, 29, 21, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0, - 0, 0, 4,221, 7, 53, 2, 38, 0, 36, 0, 0, 1, 7, 1, 82, 0, 6, 1, 82, 0, 19, 64, 11, 2, 29, 5, 38, 2, 1, 30, 44, - 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0, 0, 0, 4,221, 7, 43, 2, 38, 0, 36, 0, 0, 1, 7, 0,106, 0, 33, - 1, 82, 0, 23, 64, 13, 3, 2, 30, 5, 38, 3, 2, 1, 21, 41, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, - 0, 0, 4,221, 7, 4, 2, 38, 0, 36, 0, 0, 1, 6, 1, 80, 31,125, 0, 49, 64, 32, 3, 2,239, 26, 1,223, 26, 1, 80, 26, - 1, 64, 26, 1, 32, 26, 1, 16, 26, 1, 0, 26, 1, 26, 3, 2, 0, 31, 21, 4, 7, 37, 1, 43, 53, 53, 0, 17, 93, 93, 93, 93, - 93, 93, 93, 53, 53, 0, 0, 2,255,254, 0, 0, 6, 86, 5,182, 0, 15, 0, 19, 0,132, 64, 42, 6, 19, 10, 14, 90, 1, 17, 1, - 16, 3, 4, 19,169, 19, 1, 36, 19, 52, 19, 84, 19, 3, 16, 1, 1, 20, 12, 1, 19, 1, 12, 12, 1, 19, 3, 5, 8, 0,103, 21, - 4, 5,184,255,240, 64, 32, 5, 9, 19, 95, 6, 3, 95, 16, 13, 95, 10, 79, 10, 1, 15, 10,175, 10, 2, 8, 16, 10, 16, 10, 6, - 3, 4, 14, 95, 5, 1, 18, 0, 63, 51,225, 47, 63, 57, 57, 47, 47, 94, 93,113, 16,225, 16,225, 16,225, 50, 1, 47, 56, 51, 16, -230, 50, 17, 23, 57, 47, 47, 47, 93, 93, 93, 93,125,135,196,196, 17, 1, 51, 16,225, 50, 17, 51, 49, 48, 33, 33, 17, 33, 3, 35, - 1, 33, 21, 33, 17, 33, 21, 33, 17, 33, 1, 33, 17, 35, 6, 86,253, 8,254, 37,203,186, 2,143, 3,201,253,195, 2, 22,253,234, - 2, 61,251,117, 1,147,108, 1,197,254, 59, 5,182,164,254, 60,162,253,248, 1,198, 2,168, 0,255,255, 0,125,254, 20, 4,152, - 5,203, 2, 38, 0, 38, 0, 0, 1, 7, 0,122, 1,252, 0, 0, 0, 11,182, 1, 79, 42, 36, 24, 32, 37, 1, 43, 53, 0,255,255, - 0,199, 0, 0, 3,190, 7,115, 2, 38, 0, 40, 0, 0, 1, 7, 0, 67,255,183, 1, 82, 0, 21,180, 1, 12, 5, 38, 1,184,255, -194,180, 18, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,199, 0, 0, 3,190, 7,115, 2, 38, 0, 40, 0, 0, 1, 7, - 0,118, 0, 63, 1, 82, 0, 19, 64, 11, 1, 24, 5, 38, 1, 74, 12, 18, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,199, - 0, 0, 3,190, 7,115, 2, 38, 0, 40, 0, 0, 1, 7, 1, 75,255,241, 1, 82, 0, 21,180, 1, 12, 5, 38, 1,184,255,253,180, - 20, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,199, 0, 0, 3,190, 7, 43, 2, 38, 0, 40, 0, 0, 1, 7, 0,106, -255,245, 1, 82, 0, 23, 64, 13, 2, 1, 21, 5, 38, 2, 1, 1, 12, 32, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, - 0, 62, 0, 0, 2,100, 7,115, 2, 38, 0, 44, 0, 0, 1, 7, 0, 67,254,181, 1, 82, 0, 21,180, 1, 12, 5, 38, 1,184,255, -168,180, 18, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82, 0, 0, 2,138, 7,115, 2, 38, 0, 44, 0, 0, 1, 7, - 0,118,255,120, 1, 82, 0, 19, 64, 11, 1, 24, 5, 38, 1,106, 12, 18, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 17, - 0, 0, 2,169, 7,115, 2, 38, 0, 44, 0, 0, 1, 7, 1, 75,255, 15, 1, 82, 0, 19, 64, 11, 1, 12, 5, 38, 1, 2, 20, 12, - 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 64, 0, 0, 2,119, 7, 43, 2, 38, 0, 44, 0, 0, 1, 7, 0,106,255, 13, - 1, 82, 0, 23, 64, 13, 2, 1, 21, 5, 38, 2, 1, 0, 12, 32, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 2, 0, 47, - 0, 0, 4,252, 5,182, 0, 16, 0, 31, 0, 93, 64, 58, 26, 26, 14, 17, 91, 8,103, 33, 32, 33, 1, 24, 28, 90, 14, 16, 16, 1, - 14,100, 32, 27, 16, 95, 24, 15, 0, 1, 15, 0, 63, 0,111, 0,175, 0,223, 0,255, 0, 6, 8, 0, 64, 26, 29, 72, 0, 0, 2, - 28, 96, 14, 18, 23, 96, 2, 3, 0, 63,225, 63,225, 17, 57, 47, 43, 94, 93,113, 51,225, 50, 1, 16,230, 50, 50, 47, 16,225, 50, - 93, 16,246,225, 17, 57, 47, 49, 48, 19, 51, 17, 33, 50, 22, 22, 18, 21, 20, 2, 6, 4, 35, 33, 17, 35, 37, 52, 46, 2, 35, 35, - 17, 33, 21, 33, 17, 51, 32, 0, 47,152, 1,151,153,248,174, 95, 96,182,254,247,168,254,146,152, 4, 8, 66,126,184,117,201, 1, - 80,254,176,162, 1, 8, 1, 12, 3, 37, 2,145, 92,181,254,244,176,185,254,233,187, 94, 2,131, 96,146,213,138, 67,254, 14,162, -254, 29, 1, 36,255,255, 0,199, 0, 0, 5, 14, 7, 53, 2, 38, 0, 49, 0, 0, 1, 7, 1, 82, 0,139, 1, 82, 0, 19, 64, 11, - 1, 32, 5, 38, 1, 10, 33, 47, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 5,113, 7,115, 2, 38, 0, 50, - 0, 0, 1, 7, 0, 67, 0, 84, 1, 82, 0, 21,180, 2, 40, 5, 38, 2,184,255,171,180, 46, 40, 10, 0, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0,125,255,236, 5,113, 7,115, 2, 38, 0, 50, 0, 0, 1, 7, 0,118, 1, 2, 1, 82, 0, 19, 64, 11, 2, 52, - 5, 38, 2, 88, 40, 46, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 5,113, 7,115, 2, 38, 0, 50, 0, 0, - 1, 7, 1, 75, 0,174, 1, 82, 0, 19, 64, 11, 2, 40, 5, 38, 2, 5, 48, 40, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0,125,255,236, 5,113, 7, 53, 2, 38, 0, 50, 0, 0, 1, 7, 1, 82, 0,125, 1, 82, 0, 21,180, 2, 48, 5, 38, 2,184,255, -240,180, 49, 63, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 5,113, 7, 43, 2, 38, 0, 50, 0, 0, 1, 7, - 0,106, 0,170, 1, 82, 0, 23, 64, 13, 3, 2, 49, 5, 38, 3, 2, 1, 40, 60, 10, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, - 0, 1, 0,141, 1, 45, 3,221, 4,123, 0, 11, 0,135,185, 0, 6,255,240,179, 20, 23, 72, 6,184,255,224, 64, 24, 15, 18, 72, - 0, 16, 20, 23, 72, 0, 32, 15, 18, 72, 9, 16, 20, 23, 72, 9, 32, 15, 18, 72, 3,184,255,240,179, 20, 23, 72, 3,184,255,224, - 64, 48, 15, 18, 72, 64, 13, 1, 7, 5, 5, 3, 11, 1, 1, 80, 3, 1, 3, 8, 10, 10, 4, 2, 2, 32, 0, 1, 0, 0, 32, 0, - 80, 0,112, 0,128, 0,160, 0,192, 0,208, 0,240, 0, 9, 6, 0,179, 0, 25, 63, 94, 93,113, 50, 17, 51, 50, 17, 51, 1, 47, - 93, 51, 17, 51, 17, 51, 17, 51, 93, 49, 48, 0, 43, 43, 43, 43, 1, 43, 43, 43, 43, 1, 1, 55, 1, 1, 23, 1, 1, 7, 1, 1, - 39, 1,203,254,194,105, 1, 61, 1, 66,104,254,191, 1, 63,102,254,190,254,195,103, 2,211, 1, 63,105,254,194, 1, 62,103,254, -191,254,192,102, 1, 61,254,197,103, 0, 0, 3, 0,125,255,180, 5,113, 5,252, 0, 26, 0, 38, 0, 49, 0, 92, 64, 58, 41, 31, - 42, 30, 4, 27, 39, 91, 1, 25, 11, 14, 4, 17, 4,103, 51,192, 51, 1,191, 51, 1,112, 51, 1, 47, 51, 95, 51, 2, 27, 91, 17, -102, 50, 31, 41, 30, 42, 4, 45, 34, 95, 25, 1, 14, 11, 4, 9, 26, 22, 4, 45, 95, 12, 9, 19, 0, 63, 51,225, 63, 51, 18, 23, - 57,225, 17, 23, 57, 1, 16,246,225, 93, 93, 93, 93, 16,246, 17, 23, 57,225, 17, 23, 57, 49, 48, 1, 7, 22, 18, 21, 20, 2, 6, - 6, 35, 34, 39, 7, 39, 55, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, 55, 1, 20, 22, 23, 1, 38, 38, 35, 34, 14, 2, 5, 16, - 39, 1, 22, 22, 51, 50, 62, 2, 5, 20, 92, 91, 94, 81,160,237,155,189,133, 78,137, 90, 97, 91, 76,158,240,163, 94,161, 66, 80, -252,183, 46, 48, 2, 67, 48,114, 71,114,166,108, 52, 3,106, 88,253,190, 47,114, 69,114,165,107, 50, 5,174,149, 99,254,222,183, -169,254,234,198,108, 71,127, 78,145,100, 1, 42,190,170, 1, 21,196,107, 42, 38,127,252,225,131,209, 78, 3,177, 29, 32, 81,151, -218,138, 1, 1,151,252, 84, 28, 30, 81,153,219,255,255, 0,184,255,236, 4,221, 7,115, 2, 38, 0, 56, 0, 0, 1, 7, 0, 67, - 0, 61, 1, 82, 0, 21,180, 1, 24, 5, 38, 1,184,255,192,180, 30, 24, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,184, -255,236, 4,221, 7,115, 2, 38, 0, 56, 0, 0, 1, 7, 0,118, 0,197, 1, 82, 0, 19, 64, 11, 1, 36, 5, 38, 1, 72, 24, 30, - 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,184,255,236, 4,221, 7,115, 2, 38, 0, 56, 0, 0, 1, 7, 1, 75, 0,121, - 1, 82, 0, 21,180, 1, 24, 5, 38, 1,184,255,253,180, 32, 24, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,184,255,236, - 4,221, 7, 43, 2, 38, 0, 56, 0, 0, 1, 7, 0,106, 0,125, 1, 82, 0, 23, 64, 13, 2, 1, 33, 5, 38, 2, 1, 1, 24, 44, - 11, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, 4, 55, 7,115, 2, 38, 0, 60, 0, 0, 1, 7, 0,118, - 0, 49, 1, 82, 0, 19, 64, 11, 1, 21, 5, 38, 1, 99, 9, 15, 7, 2, 37, 1, 43, 53, 0, 43, 53, 0, 0, 2, 0,199, 0, 0, - 4, 51, 5,182, 0, 16, 0, 27, 0, 60, 64, 33, 23, 91, 0,103, 29,159, 29, 1, 16, 29, 1, 17, 11, 7, 90, 8,100, 28, 17, 96, - 6, 27, 96, 11, 6, 11, 6, 11, 7, 9, 3, 7, 18, 0, 63, 63, 18, 57, 57, 47, 47, 16,225, 16,225, 1, 16,246,225, 50, 50, 93, - 93, 16,246,225, 49, 48, 1, 20, 14, 2, 35, 35, 17, 35, 17, 51, 21, 51, 50, 30, 2, 1, 51, 50, 62, 2, 53, 52, 38, 35, 35, 4, - 51, 55,126,207,152,150,186,186,176,134,194,126, 60,253, 78,129, 93,139, 91, 46,164,174,160, 3, 14, 91,168,129, 77,254,195, 5, -182,252, 57,109,160,254,103, 32, 71,113, 81,143,136, 0, 0, 1, 0,174,255,236, 4,117, 6, 31, 0, 75, 0,109, 64, 72, 7, 70, - 46, 53, 71, 0, 15, 25, 31, 25, 47, 25, 3, 25, 64, 13, 19, 72, 95, 46,111, 46, 2, 15, 0, 31, 0, 47, 0, 3, 8, 25, 46, 0, - 0, 46, 25, 3, 65, 36, 71, 17, 87, 77, 16, 77, 32, 77,192, 77, 3, 64, 71, 65, 84, 76, 36, 7, 53, 3, 22, 58, 80, 71, 1, 65, - 21, 31, 80, 26, 22, 22, 0, 63, 51,225, 63, 63,225, 18, 23, 57, 1, 16,246,225, 93, 16,246,225, 18, 23, 57, 47, 47, 47, 94, 93, - 93, 43, 93, 16,225, 16,225, 49, 48, 1, 20, 14, 4, 21, 20, 30, 2, 23, 30, 3, 21, 20, 14, 2, 35, 34, 38, 39, 53, 30, 3, 51, - 50, 62, 2, 53, 52, 46, 2, 39, 46, 3, 53, 52, 62, 4, 53, 52, 46, 2, 35, 34, 14, 2, 21, 17, 35, 17, 52, 62, 2, 51, 50, 30, - 2, 3,242, 43, 63, 75, 63, 43, 14, 39, 70, 57, 56, 88, 61, 33, 56,101,141, 85, 97,139, 53, 26, 65, 72, 76, 37, 56, 81, 52, 24, - 17, 43, 72, 56, 63, 85, 53, 22, 41, 62, 72, 62, 41, 33, 60, 83, 51, 49, 88, 66, 39,182, 63,113,156, 92, 92,152,108, 60, 4,236, - 57, 89, 73, 60, 55, 54, 30, 21, 33, 39, 49, 38, 37, 72, 82, 96, 62, 87,126, 81, 39, 35, 34,166, 16, 31, 24, 15, 25, 45, 64, 40, - 36, 59, 56, 58, 35, 40, 68, 67, 70, 42, 54, 79, 63, 54, 58, 67, 44, 42, 62, 41, 19, 19, 48, 83, 65,251, 78, 4,176,104,141, 85, - 37, 38, 76,116,255,255, 0, 94,255,236, 3,156, 6, 33, 2, 38, 0, 68, 0, 0, 1, 6, 0, 67,148, 0, 0, 21,180, 2, 51, 17, - 38, 2,184,255,229,180, 57, 51, 12, 34, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 94,255,236, 3,156, 6, 33, 2, 38, 0, 68, - 0, 0, 1, 6, 0,118, 53, 0, 0, 19, 64, 11, 2, 63, 17, 38, 2,133, 51, 57, 12, 34, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0, 94,255,236, 3,156, 6, 33, 2, 38, 0, 68, 0, 0, 1, 6, 1, 75,226, 0, 0, 19, 64, 11, 2, 51, 17, 38, 2, 51, 59, 51, - 12, 34, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 94,255,236, 3,156, 5,227, 2, 38, 0, 68, 0, 0, 1, 6, 1, 82,189, 0, - 0, 19, 64, 11, 2, 59, 17, 38, 2, 41, 60, 74, 12, 34, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 94,255,236, 3,156, 5,217, - 2, 38, 0, 68, 0, 0, 1, 6, 0,106,222, 0, 0, 23, 64, 13, 3, 2, 60, 17, 38, 3, 2, 47, 51, 71, 12, 34, 37, 1, 43, 53, - 53, 0, 43, 53, 53, 0,255,255, 0, 94,255,236, 3,156, 6,135, 2, 38, 0, 68, 0, 0, 1, 6, 1, 80,222, 0, 0, 23, 64, 13, - 3, 2, 56, 17, 38, 3, 2, 48, 61, 51, 12, 34, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 3, 0, 94,255,236, 6, 68, 4, 94, - 0, 56, 0, 71, 0, 80, 0,124, 64, 26, 47, 20, 75, 30, 72, 4, 66, 66, 0, 76, 72, 38, 29, 87, 82, 79, 82, 95, 82,159, 82, 3, - 57, 72, 0, 14,184,255,192, 64, 46, 13, 17, 72, 14, 14, 0, 86, 81, 0, 66, 16, 66, 2, 66, 30, 80, 0, 4, 16, 4, 2, 4, 15, - 75, 31, 75, 2, 7, 75, 75, 17, 33, 60, 80, 47, 44, 52, 22, 72, 13, 10, 80, 23, 20, 17, 16, 0, 63, 51, 51,225, 50, 50, 63, 51, - 51,225, 50, 17, 57, 47, 94, 93, 51, 93,225, 50, 93, 1, 16,230, 50, 47, 43, 16,225, 93, 16,246, 50,225, 17, 57, 47, 51,225, 50, - 57, 57, 49, 48, 19, 52, 54, 55, 55, 53, 52, 46, 2, 35, 34, 6, 7, 39, 54, 54, 51, 50, 22, 23, 54, 54, 51, 50, 30, 2, 21, 21, - 33, 22, 22, 51, 50, 62, 2, 55, 21, 14, 3, 35, 34, 38, 39, 14, 3, 35, 34, 46, 2, 55, 20, 22, 51, 50, 62, 2, 53, 53, 7, 14, - 3, 1, 34, 6, 7, 33, 52, 46, 2, 94,231,236,184, 29, 55, 81, 52, 83,143, 66, 64, 74,182,100,131,166, 43, 51,166,103, 97,154, -108, 57,253, 96, 5,147,147, 49, 85, 78, 74, 37, 39, 75, 79, 85, 49,138,202, 62, 34, 76, 95,116, 74, 71,123, 90, 52,189, 97, 79, - 61,104, 76, 43,143, 90,122, 73, 32, 3,133,110,127, 11, 1,215, 26, 55, 84, 1, 51,164,176, 8, 7, 69, 67, 90, 55, 24, 48, 34, -137, 40, 56, 85, 93, 85, 93, 71,129,181,110,113,193,182, 10, 19, 29, 18,162, 19, 28, 18, 8,114,115, 54, 85, 59, 31, 39, 81,123, - 82, 92, 86, 38, 77,117, 79, 99, 7, 4, 32, 57, 81, 2, 99,156,149, 68,113, 80, 44, 0,255,255, 0,113,254, 20, 3,111, 4, 94, - 2, 38, 0, 70, 0, 0, 1, 7, 0,122, 1, 66, 0, 0, 0, 11,182, 1, 47, 38, 32, 5, 13, 37, 1, 43, 53, 0,255,255, 0,113, -255,236, 3,225, 6, 33, 2, 38, 0, 72, 0, 0, 1, 6, 0, 67,148, 0, 0, 21,180, 2, 40, 17, 38, 2,184,255,185,180, 46, 40, - 5, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 3,225, 6, 33, 2, 38, 0, 72, 0, 0, 1, 6, 0,118, 82, 0, - 0, 19, 64, 11, 2, 52, 17, 38, 2,118, 40, 46, 5, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 3,225, 6, 33, - 2, 38, 0, 72, 0, 0, 1, 6, 1, 75,222, 0, 0, 19, 64, 11, 2, 40, 17, 38, 2, 3, 48, 40, 5, 15, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0,113,255,236, 3,225, 5,217, 2, 38, 0, 72, 0, 0, 1, 6, 0,106,218, 0, 0, 23, 64, 13, 3, 2, 49, 17, - 38, 3, 2, 0, 40, 60, 5, 15, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255,255,222, 0, 0, 1,103, 6, 33, 2, 38, 0,243, - 0, 0, 1, 7, 0, 67,254, 85, 0, 0, 0, 21,180, 1, 4, 17, 38, 1,184,255,154,180, 10, 4, 1, 0, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0,174, 0, 0, 2, 66, 6, 33, 2, 38, 0,243, 0, 0, 1, 7, 0,118,255, 48, 0, 0, 0, 19, 64, 11, 1, 16, - 17, 38, 1,116, 4, 10, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255,255,189, 0, 0, 2, 85, 6, 33, 2, 38, 0,243, 0, 0, - 1, 7, 1, 75,254,187, 0, 0, 0, 19, 64, 11, 1, 4, 17, 38, 1, 0, 12, 4, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, -255,238, 0, 0, 2, 37, 5,217, 2, 38, 0,243, 0, 0, 1, 7, 0,106,254,187, 0, 0, 0, 23, 64, 13, 2, 1, 13, 17, 38, 2, - 1, 0, 4, 24, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 2, 0,111,255,236, 4, 45, 6, 35, 0, 39, 0, 57, 0,116, - 64, 70, 18, 40, 72, 0, 35, 32, 22, 25, 4, 28, 34, 24, 28, 34, 34, 28, 24, 3, 10, 0, 87, 59, 64, 59,208, 59,224, 59, 3, 15, - 59, 1, 6, 50, 72, 10, 86, 58, 32, 25, 35, 22, 4, 23, 33, 33, 29, 45, 80, 15, 18, 15,175, 15,191, 15, 2, 48, 15, 1, 23, 15, - 23, 15, 29, 1, 55, 80, 5, 22, 0, 63,225, 63, 57, 57, 47, 47, 93, 93, 17, 51, 16,225, 17, 51, 17, 18, 23, 57, 1, 16,246,225, - 94, 93, 93, 16,230, 17, 23, 57, 47, 47, 47, 17, 18, 23, 57, 16,225, 50, 49, 48, 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, - 51, 50, 22, 23, 55, 38, 38, 39, 5, 39, 55, 38, 38, 39, 55, 22, 22, 23, 55, 23, 7, 30, 3, 7, 52, 46, 2, 35, 34, 14, 2, 21, - 20, 30, 2, 51, 50, 54, 4, 45, 67,125,178,111,104,175,127, 71, 63,118,168,105,102,154, 43, 8, 31,120, 90,255, 0, 74,217, 40, - 85, 47, 70, 65,122, 59,227, 74,195, 67,111, 79, 44,188, 34, 70,110, 75, 77,109, 70, 33, 33, 71,109, 76,154,135, 2, 61,142,220, -152, 79, 66,127,185,119,119,184,126, 65, 59, 60, 4,118,192, 81,153,114,131, 28, 55, 26,123, 32, 72, 44,138,113,117, 65,156,187, -221,176, 56,107, 82, 50, 46, 88,131, 85, 76,125, 90, 49,199, 0,255,255, 0,174, 0, 0, 4, 18, 5,227, 2, 38, 0, 81, 0, 0, - 1, 6, 1, 82,249, 0, 0, 19, 64, 11, 1, 33, 17, 38, 1, 2, 34, 48, 11, 23, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113, -255,236, 4, 45, 6, 33, 2, 38, 0, 82, 0, 0, 1, 6, 0, 67,216, 0, 0, 21,180, 2, 32, 17, 38, 2,184,255,215,180, 38, 32, - 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 4, 45, 6, 33, 2, 38, 0, 82, 0, 0, 1, 6, 0,118, 80, 0, - 0, 19, 64, 11, 2, 44, 17, 38, 2, 78, 32, 38, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 4, 45, 6, 33, - 2, 38, 0, 82, 0, 0, 1, 6, 1, 75,251, 0, 0, 21,180, 2, 32, 17, 38, 2,184,255,250,180, 40, 32, 10, 0, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 0,113,255,236, 4, 45, 5,227, 2, 38, 0, 82, 0, 0, 1, 6, 1, 82,226, 0, 0, 21,180, 2, 40, 17, - 38, 2,184,255,253,180, 41, 55, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 4, 45, 5,217, 2, 38, 0, 82, - 0, 0, 1, 6, 0,106,249, 0, 0, 25,182, 3, 2, 41, 17, 38, 3, 2,184,255,249,180, 32, 52, 10, 0, 37, 1, 43, 53, 53, 0, - 43, 53, 53, 0, 0, 3, 0,102, 0,248, 4, 2, 4,172, 0, 3, 0, 23, 0, 43, 0, 96, 64, 21, 48, 45, 1, 34,170, 24, 24, 14, -170, 86, 3,102, 3, 2, 40, 3, 56, 3, 2, 3, 0,184,255,240, 64, 40, 9, 13, 72, 0, 4, 39,173, 16, 29, 1, 15, 29, 1, 29, - 29, 1, 9,173, 0, 19, 16, 19, 32, 19, 96, 19,176, 19,192, 19,208, 19, 7, 7, 19, 19, 0,173, 1,179, 0, 63,225, 51, 47, 94, - 93,225, 17, 51, 47, 93,113,225, 1, 47, 51, 43, 51, 93, 93,225, 51, 47,225, 93, 49, 48, 19, 53, 33, 21, 1, 52, 62, 2, 51, 50, - 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 17, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2,102, 3,156,253,191, 18, - 31, 41, 24, 23, 42, 32, 18, 18, 32, 42, 23, 24, 41, 31, 18, 18, 31, 41, 24, 23, 42, 32, 18, 18, 32, 42, 23, 24, 41, 31, 18, 2, -135,150,150,254,238, 35, 47, 30, 13, 13, 30, 47, 35, 33, 47, 31, 14, 14, 31, 47, 2,219, 35, 47, 30, 13, 13, 30, 47, 35, 33, 47, - 31, 14, 14, 31, 47, 0, 0, 3, 0,115,255,180, 4, 47, 4,145, 0, 26, 0, 36, 0, 45, 0, 92, 64, 59, 39, 31, 40, 30, 4, 27, - 37, 72, 23, 24, 22, 21, 7, 8, 10, 9, 8, 13, 0, 87, 47, 64, 47,208, 47,224, 47, 3, 15, 47, 1, 6, 27, 72, 13, 86, 46, 40, - 30, 39, 31, 4, 43, 34, 80, 7, 10, 24, 21, 4, 5, 22, 18, 16, 43, 80, 8, 5, 22, 0, 63,198,225, 63,198, 18, 23, 57,225, 17, - 23, 57, 1, 16,246,225, 94, 93, 93, 16,246, 17, 23, 57,225, 17, 23, 57, 49, 48, 1, 20, 14, 2, 35, 34, 39, 7, 39, 55, 38, 38, - 53, 52, 62, 2, 51, 50, 22, 23, 55, 23, 7, 22, 22, 5, 20, 22, 23, 1, 38, 38, 35, 34, 6, 5, 52, 39, 1, 22, 22, 51, 50, 54, - 4, 47, 67,125,178,111,125, 98, 68,131, 80, 63, 70, 67,124,179,111, 63,113, 49, 68,131, 80, 62, 69,253, 0, 19, 22, 1,141, 29, - 75, 45,154,135, 2, 68, 39,254,114, 31, 72, 45,154,135, 2, 39,137,213,145, 76, 53,109, 74,131, 72,213,137,136,211,145, 75, 29, - 28,108, 73,129, 73,209,134, 84,131, 51, 2,135, 17, 18,207,209,159, 99,253,123, 17, 16,211, 0,255,255, 0,164,255,236, 4, 8, - 6, 33, 2, 38, 0, 88, 0, 0, 1, 6, 0, 67,163, 0, 0, 21,180, 1, 27, 17, 38, 1,184,255,155,180, 33, 27, 12, 25, 37, 1, - 43, 53, 0, 43, 53, 0,255,255, 0,164,255,236, 4, 8, 6, 33, 2, 38, 0, 88, 0, 0, 1, 6, 0,118, 96, 0, 0, 19, 64, 11, - 1, 39, 17, 38, 1, 87, 27, 33, 12, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164,255,236, 4, 8, 6, 33, 2, 38, 0, 88, - 0, 0, 1, 6, 1, 75, 8, 0, 0, 19, 64, 11, 1, 27, 17, 38, 1, 0, 35, 27, 12, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0,164,255,236, 4, 8, 5,217, 2, 38, 0, 88, 0, 0, 1, 6, 0,106, 2, 0, 0, 25,182, 2, 1, 36, 17, 38, 2, 1,184,255, -251,180, 27, 47, 12, 25, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 10,254, 20, 3,223, 6, 33, 2, 38, 0, 92, 0, 0, - 1, 6, 0,118, 14, 0, 0, 19, 64, 11, 1, 47, 17, 38, 1,103, 35, 41, 0, 15, 37, 1, 43, 53, 0, 43, 53, 0, 0, 2, 0,174, -254, 20, 4, 63, 6, 20, 0, 32, 0, 49, 0, 56, 64, 31, 47, 72, 10, 87, 51, 16, 51, 1, 39, 32, 31, 21, 27, 71, 28, 84, 50, 29, - 0, 27, 27, 44, 80, 21, 15, 22, 33, 80, 0, 5, 16, 0, 63, 51,225, 63, 51,225, 63, 63, 1, 16,246,225, 50, 50, 50, 50, 93, 16, -246,225, 49, 48, 1, 62, 3, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 39, 35, 22, 23, 22, 22, 21, 17, 35, 17, 51, 17, 7, - 37, 34, 14, 2, 7, 21, 20, 30, 2, 51, 50, 54, 53, 52, 38, 1,100, 23, 58, 77, 96, 60, 94,154,109, 60, 60,109,154, 94, 59, 96, - 77, 59, 23, 12, 3, 3, 2, 4,182,182, 8, 1, 31, 76,105, 65, 31, 2, 27, 65,108, 81,135,127,127, 3,182, 35, 61, 45, 27, 72, -143,212,140,141,213,144, 73, 26, 43, 58, 32, 34, 31, 26, 55, 16,254, 43, 8, 0,254, 54,148, 17, 46, 94,140, 95, 41,101,157,107, - 55,218,204,208,206, 0,255,255, 0, 10,254, 20, 3,223, 5,217, 2, 38, 0, 92, 0, 0, 1, 6, 0,106,177, 0, 0, 23, 64, 13, - 2, 1, 44, 17, 38, 2, 1, 11, 35, 55, 0, 15, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, 4,221, 6,193, - 2, 38, 0, 36, 0, 0, 1, 7, 1, 77, 0, 51, 1, 82, 0, 21,180, 2, 23, 5, 38, 2,184,255,255,180, 21, 22, 4, 7, 37, 1, - 43, 53, 0, 43, 53, 0,255,255, 0, 94,255,236, 3,156, 5,111, 2, 38, 0, 68, 0, 0, 1, 6, 1, 77,230, 0, 0, 19, 64, 11, - 2, 53, 17, 38, 2, 35, 51, 52, 12, 34, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0, 0, 0, 4,221, 7, 64, 2, 38, 0, 36, - 0, 0, 1, 7, 1, 78, 0, 33, 1, 82, 0, 19, 64, 11, 2, 26, 5, 38, 2, 0, 31, 21, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0, 94,255,236, 3,156, 5,238, 2, 38, 0, 68, 0, 0, 1, 6, 1, 78,212, 0, 0, 19, 64, 11, 2, 56, 17, 38, 2, 37, - 61, 51, 12, 34, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0,254, 66, 4,221, 5,188, 2, 38, 0, 36, 0, 0, 1, 7, 1, 81, - 3, 98, 0, 0, 0, 20, 64, 13, 2,128, 39, 1, 48, 39, 1, 0, 39, 39, 0, 0, 37, 1, 43, 93, 93, 53,255,255, 0, 94,254, 66, - 3,184, 4, 94, 2, 38, 0, 68, 0, 0, 1, 7, 1, 81, 2, 90, 0, 0, 0, 32, 64, 22, 2,240, 69, 1,160, 69, 1,144, 69, 1, -128, 69, 1, 48, 69, 1, 0, 69, 69, 0, 0, 37, 1, 43, 93, 93, 93, 93, 93, 53,255,255, 0,125,255,236, 4,152, 7,115, 2, 38, - 0, 38, 0, 0, 1, 7, 0,118, 1, 10, 1, 82, 0, 19, 64, 11, 1, 48, 5, 38, 1,205, 36, 42, 24, 32, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0,113,255,236, 3,111, 6, 33, 2, 38, 0, 70, 0, 0, 1, 6, 0,118, 74, 0, 0, 23, 64, 14, 1, 44, 17, 38, - 1, 16, 32, 1,167, 32, 38, 5, 13, 37, 1, 43, 93, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4,152, 7,115, 2, 38, 0, 38, - 0, 0, 1, 7, 1, 75, 0,180, 1, 82, 0, 19, 64, 11, 1, 36, 5, 38, 1,119, 44, 36, 24, 32, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0,113,255,236, 3,143, 6, 33, 2, 38, 0, 70, 0, 0, 1, 6, 1, 75,245, 0, 0, 23, 64, 14, 1, 32, 17, 38, 1, 16, - 40, 1, 83, 40, 32, 5, 13, 37, 1, 43, 93, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4,152, 7, 55, 2, 38, 0, 38, 0, 0, - 1, 7, 1, 79, 2, 0, 1, 82, 0, 19, 64, 11, 1, 47, 5, 38, 1,128, 36, 44, 24, 32, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0,113,255,236, 3,111, 5,229, 2, 38, 0, 70, 0, 0, 1, 7, 1, 79, 1, 51, 0, 0, 0, 23, 64, 14, 1, 43, 17, 38, 1, 16, - 32, 1, 77, 32, 40, 5, 13, 37, 1, 43, 93, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4,152, 7,115, 2, 38, 0, 38, 0, 0, - 1, 7, 1, 76, 0,168, 1, 82, 0, 19, 64, 11, 1, 41, 5, 38, 1,107, 47, 36, 24, 32, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0,113,255,236, 3,160, 6, 33, 2, 38, 0, 70, 0, 0, 1, 6, 1, 76, 6, 0, 0, 23, 64, 14, 1, 37, 17, 38, 1, 16, 43, 1, -100, 43, 32, 5, 13, 37, 1, 43, 93, 53, 0, 43, 53, 0,255,255, 0,199, 0, 0, 4,252, 7,115, 2, 38, 0, 39, 0, 0, 1, 7, - 1, 76, 0, 74, 1, 82, 0, 21,180, 2, 29, 5, 38, 2,184,255,183,180, 35, 24, 6, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0,113,255,236, 5, 82, 6, 20, 2, 38, 0, 71, 0, 0, 1, 7, 2, 56, 2,217, 0, 0, 0, 11,182, 2, 94, 62, 62, 29, 29, 37, - 1, 43, 53, 0,255,255, 0, 47, 0, 0, 4,252, 5,182, 2, 6, 0,146, 0, 0, 0, 2, 0,113,255,236, 4,158, 6, 20, 0, 39, - 0, 56, 0, 85, 64, 49, 31, 27, 0, 45, 71, 38, 29, 29, 11, 34, 38, 85, 58, 16, 58, 1, 54, 72, 11, 86, 57, 39, 21, 37, 29, 79, - 34, 30, 30, 16, 32, 0, 51, 80, 22, 0, 16, 16, 16, 32, 16, 3, 16, 16, 40, 80, 0, 6, 22, 0, 63, 51,225, 63, 93, 51,225, 63, - 18, 57, 47, 51,225, 50, 63, 1, 16,246,225, 93, 16,230, 50, 17, 57, 47, 16,225, 50, 50, 50, 49, 48, 37, 35, 14, 3, 35, 34, 46, - 2, 53, 52, 62, 2, 51, 50, 30, 2, 23, 51, 38, 39, 38, 38, 53, 53, 33, 53, 33, 53, 51, 21, 51, 21, 35, 17, 35, 37, 50, 62, 2, - 55, 53, 52, 46, 2, 35, 34, 6, 21, 20, 22, 3, 84, 8, 22, 59, 77, 96, 60, 93,154,110, 60, 60,110,154, 93, 59, 96, 77, 60, 22, - 12, 3, 3, 2, 4,254,133, 1,123,182,156,156,147,254,198, 76,105, 65, 31, 2, 27, 65,108, 81,135,127,127,147, 34, 61, 46, 26, - 70,138,204,134,135,206,139, 71, 25, 44, 58, 32, 33, 31, 26, 55, 16,158,137,182,182,137,251, 43,131, 44, 89,133, 90, 39, 97,149, -102, 52,207,195,198,195,255,255, 0,199, 0, 0, 3,190, 6,193, 2, 38, 0, 40, 0, 0, 1, 7, 1, 77, 0, 10, 1, 82, 0, 19, - 64, 11, 1, 14, 5, 38, 1, 2, 12, 13, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 3,225, 5,111, 2, 38, - 0, 72, 0, 0, 1, 6, 1, 77, 0, 0, 0, 19, 64, 11, 2, 42, 17, 38, 2, 17, 40, 41, 5, 15, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0,199, 0, 0, 3,190, 7, 64, 2, 38, 0, 40, 0, 0, 1, 7, 1, 78,255,251, 1, 82, 0, 19, 64, 11, 1, 17, 5, 38, - 1, 6, 22, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 3,225, 5,238, 2, 38, 0, 72, 0, 0, 1, 6, - 1, 78,234, 0, 0, 19, 64, 11, 2, 45, 17, 38, 2, 15, 50, 40, 5, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,199, 0, 0, - 3,190, 7, 26, 2, 38, 0, 40, 0, 0, 1, 7, 1, 79, 1, 63, 1, 53, 0, 19, 64, 11, 1, 23, 5, 38, 1, 7, 12, 20, 1, 0, - 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 3,225, 5,229, 2, 38, 0, 72, 0, 0, 1, 7, 1, 79, 1, 43, 0, 0, - 0, 19, 64, 11, 2, 51, 17, 38, 2, 12, 40, 48, 5, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,199,254, 66, 3,190, 5,182, - 2, 38, 0, 40, 0, 0, 1, 7, 1, 81, 2, 33, 0, 0, 0, 14,185, 0, 1,255,193,180, 18, 18, 0, 0, 37, 1, 43, 53,255,255, - 0,113,254, 97, 3,225, 4, 94, 2, 38, 0, 72, 0, 0, 1, 7, 1, 81, 2, 59, 0, 31, 0, 39, 64, 19, 2,240, 59, 1,224, 59, - 1,160, 59, 1,144, 59, 1, 80, 59, 1, 0, 59, 1,184,255,202,180, 59, 59, 26, 26, 37, 1, 43, 93, 93, 93, 93, 93, 93, 53, 0, -255,255, 0,199, 0, 0, 3,190, 7,115, 2, 38, 0, 40, 0, 0, 1, 7, 1, 76,255,249, 1, 82, 0, 19, 64, 11, 1, 17, 5, 38, - 1, 4, 23, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 3,225, 6, 33, 2, 38, 0, 72, 0, 0, 1, 6, - 1, 76,228, 0, 0, 19, 64, 11, 2, 45, 17, 38, 2, 9, 51, 40, 5, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, - 4,242, 7,115, 2, 38, 0, 42, 0, 0, 1, 7, 1, 75, 0,215, 1, 82, 0, 19, 64, 11, 1, 44, 5, 38, 1,109, 52, 44, 12, 1, - 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 37,254, 20, 3,252, 6, 33, 2, 38, 0, 74, 0, 0, 1, 6, 1, 75,198, 0, 0, 19, - 64, 11, 3, 95, 17, 38, 3, 3,103, 95, 39, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4,242, 7, 64, 2, 38, - 0, 42, 0, 0, 1, 7, 1, 78, 0,201, 1, 82, 0, 19, 64, 11, 1, 49, 5, 38, 1, 95, 54, 44, 12, 1, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0, 37,254, 20, 3,252, 5,238, 2, 38, 0, 74, 0, 0, 1, 6, 1, 78,177, 0, 0, 21,180, 3,100, 17, 38, 3, -184,255,239,180,105, 95, 39, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4,242, 7, 55, 2, 38, 0, 42, 0, 0, - 1, 7, 1, 79, 2, 12, 1, 82, 0, 19, 64, 11, 1, 55, 5, 38, 1, 95, 44, 52, 12, 1, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0, 37,254, 20, 3,252, 5,229, 2, 38, 0, 74, 0, 0, 1, 7, 1, 79, 0,242, 0, 0, 0, 21,180, 3,106, 17, 38, 3,184,255, -236,180, 95,103, 39, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,254, 59, 4,242, 5,203, 2, 38, 0, 42, 0, 0, 1, 7, - 2, 57, 1, 23, 0, 0, 0, 11,182, 1, 81, 44, 50, 12, 1, 37, 1, 43, 53, 0,255,255, 0, 37,254, 20, 3,252, 6, 33, 2, 38, - 0, 74, 0, 0, 1, 6, 2, 58, 45, 0, 0, 19, 64, 11, 3,100, 17, 38, 3, 28,101, 95, 39, 0, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0,199, 0, 0, 4,213, 7,115, 2, 38, 0, 43, 0, 0, 1, 7, 1, 75, 0,127, 1, 82, 0, 21,180, 1, 12, 5, 38, 1, -184,255,255,180, 20, 12, 5, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,174, 0, 0, 4, 18, 7,170, 2, 38, 0, 75, 0, 0, - 1, 7, 1, 75, 0, 43, 1,137, 0, 31, 64, 20,112, 13, 1,112, 12, 1, 1,112, 26, 1, 26, 2, 38, 1, 25, 34, 26, 11, 24, 37, - 1, 43, 53, 0, 43, 93, 53, 93, 93, 0, 0, 2, 0, 0, 0, 0, 5,156, 5,182, 0, 19, 0, 23, 0, 86, 64, 47, 20, 4, 12, 90, - 7, 11,101, 25,176, 25, 1,175, 25, 1, 16, 25, 1, 23, 3, 15, 90, 0, 16,100, 24, 14, 95, 23, 22, 10, 18, 96, 19, 7, 3, 19, - 23, 19, 23, 19, 1, 16, 11, 18, 5, 1, 3, 0, 63, 51, 63, 51, 18, 57, 57, 47, 47, 17, 51, 51, 16,225, 50, 50, 16,225, 1, 16, -246, 50,225, 50, 50, 93, 93, 93, 16,246, 50,225, 50, 50, 49, 48, 19, 53, 51, 21, 33, 53, 51, 21, 51, 21, 35, 17, 35, 17, 33, 17, - 35, 17, 35, 53, 1, 53, 33, 21,199,186, 2,154,186,199,199,186,253,102,186,199, 4, 27,253,102, 4,195,243,243,243,243,150,251, -211, 2,170,253, 86, 4, 45,150,254,139,223,223, 0, 1, 0, 18, 0, 0, 4, 18, 6, 20, 0, 33, 0, 85, 64, 52, 19, 11, 0, 71, - 33, 85, 35, 16, 35, 96, 35,128, 35, 3, 23, 22, 18, 10, 71, 15, 11, 84, 34, 21, 13, 79, 18,191, 14,207, 14, 2, 14, 14, 16, 23, - 4, 80, 0, 29, 16, 29, 32, 29, 3, 29, 16, 16, 0, 11, 0, 21, 0, 63, 50, 63, 63, 93,225, 51, 18, 57, 47, 93, 51,225, 50, 1, - 16,246, 50,225, 50, 50, 50, 93, 16,246,225, 18, 57, 49, 48, 33, 17, 52, 38, 35, 34, 14, 2, 21, 17, 35, 17, 35, 53, 51, 53, 51, - 21, 33, 21, 33, 21, 7, 51, 62, 3, 51, 50, 22, 21, 17, 3, 92,105,112, 81,110, 67, 29,182,156,156,182, 1,123,254,133, 8, 10, - 25, 69, 82, 92, 48,183,185, 2,154,130,130, 52,102,148, 96,253,240, 4,213,137,182,182,137,184,144, 43, 63, 42, 20,191,210,253, - 92, 0,255,255,255,245, 0, 0, 2,196, 7, 53, 2, 38, 0, 44, 0, 0, 1, 7, 1, 82,254,243, 1, 82, 0, 19, 64, 11, 1, 20, - 5, 38, 1, 1, 21, 35, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255,255,163, 0, 0, 2,114, 5,227, 2, 38, 0,243, 0, 0, - 1, 7, 1, 82,254,161, 0, 0, 0, 19, 64, 11, 1, 12, 17, 38, 1, 1, 13, 27, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0, 61, 0, 0, 2,124, 6,193, 2, 38, 0, 44, 0, 0, 1, 7, 1, 77,255, 34, 1, 82, 0, 19, 64, 11, 1, 14, 5, 38, 1, 1, - 12, 13, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255,255,235, 0, 0, 2, 42, 5,111, 2, 38, 0,243, 0, 0, 1, 7, 1, 77, -254,208, 0, 0, 0, 19, 64, 11, 1, 6, 17, 38, 1, 1, 4, 5, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 48, 0, 0, - 2,138, 7, 64, 2, 38, 0, 44, 0, 0, 1, 7, 1, 78,255, 15, 1, 82, 0, 19, 64, 11, 1, 17, 5, 38, 1, 2, 22, 12, 1, 0, - 37, 1, 43, 53, 0, 43, 53, 0,255,255,255,222, 0, 0, 2, 56, 5,238, 2, 38, 0,243, 0, 0, 1, 7, 1, 78,254,189, 0, 0, - 0, 19, 64, 11, 1, 9, 17, 38, 1, 2, 14, 4, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82,254, 66, 2,100, 5,182, - 2, 38, 0, 44, 0, 0, 1, 7, 1, 81, 0,156, 0, 0, 0, 11,182, 1, 0, 25, 18, 1, 0, 37, 1, 43, 53, 0,255,255, 0, 68, -254, 66, 1,131, 5,229, 2, 38, 0, 76, 0, 0, 1, 6, 1, 81, 37, 0, 0, 16, 64, 10, 2,111, 37, 1, 0, 37, 37, 0, 0, 37, - 1, 43, 93, 53,255,255, 0, 82, 0, 0, 2,100, 7, 55, 2, 38, 0, 44, 0, 0, 1, 7, 1, 79, 0, 80, 1, 82, 0, 19, 64, 11, - 1, 23, 5, 38, 1, 0, 12, 20, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,174, 0, 0, 1,100, 4, 74, 0, 3, 0, 26, - 64, 14, 16, 5, 32, 5, 2, 0, 71, 1, 84, 4, 2, 15, 0, 21, 0, 63, 63, 1, 16,246,225, 93, 49, 48, 33, 35, 17, 51, 1,100, -182,182, 4, 74,255,255, 0, 82,254,123, 4, 41, 5,182, 0, 38, 0, 44, 0, 0, 1, 7, 0, 45, 2,182, 0, 0, 0, 56, 64, 14, - 1, 24,127, 24, 1, 79, 24, 1, 24, 64, 7, 7, 72, 24,184,255,192, 64, 23, 6, 6, 72,191, 33, 1,160, 33, 1,143, 33, 1, 80, - 33, 1, 15, 33, 1, 33, 64, 7, 7, 72, 43, 93, 93, 93, 93, 93, 43, 43, 93, 93, 17, 53,255,255, 0,160,254, 20, 3,135, 5,229, - 0, 38, 0, 76, 0, 0, 1, 7, 0, 77, 2, 18, 0, 0, 0, 46, 64, 32, 3, 2, 30,207, 30, 1,223, 53, 1,159, 53, 1,128, 53, - 1, 95, 53, 1, 64, 53, 1, 32, 53, 1, 0, 53, 1, 53, 64, 6, 6, 72, 43, 93, 93, 93, 93, 93, 93, 93, 93, 17, 53, 53,255,255, -255, 72,254,123, 2,100, 7,115, 2, 38, 0, 45, 0, 0, 1, 7, 1, 75,254,202, 1, 82, 0, 19, 64, 11, 1, 20, 5, 38, 1, 0, - 28, 20, 13, 14, 37, 1, 43, 53, 0, 43, 53, 0,255,255,255,188,254, 20, 2, 87, 6, 33, 2, 38, 2, 55, 0, 0, 1, 7, 1, 75, -254,189, 0, 0, 0, 19, 64, 11, 1, 20, 17, 38, 1, 0, 28, 20, 13, 14, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,199,254, 59, - 4,162, 5,182, 2, 38, 0, 46, 0, 0, 1, 6, 2, 57,115, 0, 0, 14,185, 0, 1,255,177,180, 13, 19, 5, 0, 37, 1, 43, 53, -255,255, 0,174,254, 59, 3,240, 6, 20, 2, 38, 0, 78, 0, 0, 1, 6, 2, 57, 33, 0, 0, 14,185, 0, 1,255,196,180, 15, 21, - 10, 5, 37, 1, 43, 53, 0, 1, 0,174, 0, 0, 3,240, 4, 74, 0, 17, 0, 73, 64, 10, 1, 16, 16, 14, 15, 15, 68, 17, 1, 17, -184,255,192, 64, 28, 7, 10, 72, 17, 16, 17, 17, 19, 15, 19, 47, 19, 2, 7, 7, 3, 71, 4, 84, 18, 12, 1, 14, 5, 15, 4, 0, - 21, 0, 63, 50, 63, 51, 57, 57, 1, 16,246,225, 50, 94, 93, 17, 51, 47, 56, 43, 93, 51, 17, 51, 57, 17, 51, 49, 48, 33, 1, 7, - 17, 35, 17, 51, 17, 20, 6, 7, 6, 7, 55, 1, 51, 1, 1, 3, 35,254,172,109,180,180, 5, 3, 4, 4,131, 1, 51,205,254,111, - 1,172, 1,233, 81,254,104, 4, 74,254,231, 60,102, 38, 44, 36,176, 1,129,254, 22,253,160, 0,255,255, 0,199, 0, 0, 3,190, - 7,115, 2, 38, 0, 47, 0, 0, 1, 7, 0,118,255,101, 1, 82, 0, 21,180, 1, 18, 5, 38, 1,184,255,112,180, 6, 12, 0, 4, - 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,171, 0, 0, 2, 52, 7,172, 2, 38, 0, 79, 0, 0, 1, 7, 0,118,255, 34, 1,139, - 0, 31, 64, 20,112, 3, 1,112, 2, 1, 1,112, 16, 1, 16, 2, 38, 1,102, 4, 10, 1, 0, 37, 1, 43, 53, 0, 43, 93, 53, 93, - 93, 0,255,255, 0,199,254, 59, 3,190, 5,182, 2, 38, 0, 47, 0, 0, 1, 6, 2, 57, 45, 0, 0, 14,185, 0, 1,255,221,180, - 6, 12, 0, 4, 37, 1, 43, 53,255,255, 0,102,254, 59, 1,108, 6, 20, 2, 38, 0, 79, 0, 0, 1, 7, 2, 57,254,247, 0, 0, - 0, 14,185, 0, 1,255,224,180, 4, 10, 1, 0, 37, 1, 43, 53,255,255, 0,199, 0, 0, 3,190, 5,183, 2, 38, 0, 47, 0, 0, - 1, 7, 2, 56, 1, 0,255,163, 0, 22, 64, 13, 1, 11, 3, 1, 16, 6, 1, 96, 6, 12, 2, 4, 37, 1, 43, 93, 53, 0, 63, 53, -255,255, 0,174, 0, 0, 2,180, 6, 20, 2, 38, 0, 79, 0, 0, 1, 6, 2, 56, 59, 0, 0, 24, 64, 17, 1, 4, 64, 14, 16, 72, - 4, 64, 6, 9, 72, 94, 4, 4, 3, 3, 37, 1, 43, 43, 43, 53,255,255, 0,199, 0, 0, 3,190, 5,182, 2, 38, 0, 47, 0, 0, - 1, 7, 1, 79, 1,227,253,101, 0, 11,182, 1,171, 6, 14, 0, 4, 37, 1, 43, 53, 0,255,255, 0,174, 0, 0, 2,162, 6, 20, - 0, 38, 0, 79, 0, 0, 1, 7, 1, 79, 1, 45,253, 56, 0, 43, 64, 22,255, 19, 1,239, 19, 1,159, 19, 1,143, 19, 1,127, 19, - 1, 95, 19, 1, 31, 19, 1, 1,184, 1, 46,180, 4, 12, 1, 0, 37, 1, 43, 53, 93, 93, 93, 93, 93, 93, 93, 0, 0, 1, 0, 29, - 0, 0, 3,190, 5,182, 0, 13, 0, 97, 64, 50, 11, 6, 5, 12, 5, 0, 3, 4, 13, 4, 4, 5, 5, 10, 8, 8, 15,175, 15, 1, - 16, 15, 1, 12, 13, 13, 6, 3, 7, 90, 11, 0, 10,100, 14, 5, 4, 13, 12, 4, 12, 4, 12, 1, 7, 95, 10, 18, 1, 3, 0, 63, - 63,225, 18, 57, 57, 47, 47, 17, 51, 17, 51, 1, 16,246, 50, 50,225, 50, 50, 51, 47, 51, 93, 93, 17, 51, 17, 18, 57, 47, 51, 16, -125,135, 4,196,196, 16,135,196,196, 49, 48, 19, 17, 51, 17, 55, 23, 5, 17, 33, 21, 33, 17, 7, 39,199,186,227, 78,254,207, 2, - 61,253, 9, 97, 73, 2,164, 3, 18,253, 99,143,125,190,254, 57,166, 1,248, 60,125, 0, 0, 1,255,246, 0, 0, 2, 29, 6, 20, - 0, 11, 0,105, 64, 59, 64, 13, 80, 13, 2, 9, 6, 5, 10, 5, 0, 3, 4, 11, 10, 11, 11, 8, 4,221, 5, 1,187, 5,203, 5, - 2, 15, 5, 31, 5, 47, 5, 3, 6, 5, 5, 6, 3, 7, 71, 9, 0, 8, 84, 12, 11, 10, 5, 4, 10, 4, 10, 4, 1, 7, 21, 1, - 0, 0, 63, 63, 18, 57, 57, 47, 47, 17, 51, 17, 51, 1, 16,246, 50, 50,225, 50, 50, 50, 47, 94, 93, 93, 93, 51, 17, 51, 47, 51, -125,135, 4,196,196, 16,135,196,196, 1, 93, 49, 48, 19, 17, 51, 17, 55, 23, 7, 17, 35, 17, 7, 39,174,182,107, 78,185,182,106, - 78, 2,246, 3, 30,253, 89, 69,121,120,253, 63, 2, 74, 70,121,255,255, 0,199, 0, 0, 5, 14, 7,115, 2, 38, 0, 49, 0, 0, - 1, 7, 0,118, 0,242, 1, 82, 0, 19, 64, 11, 1, 36, 5, 38, 1, 85, 24, 30, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0,174, 0, 0, 4, 18, 6, 33, 2, 38, 0, 81, 0, 0, 1, 6, 0,118,111, 0, 0, 19, 64, 11, 1, 37, 17, 38, 1, 92, 25, 31, - 11, 23, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,199,254, 59, 5, 14, 5,182, 2, 38, 0, 49, 0, 0, 1, 7, 2, 57, 0,217, - 0, 0, 0, 14,185, 0, 1,255,225,180, 24, 30, 10, 0, 37, 1, 43, 53,255,255, 0,174,254, 59, 4, 18, 4, 94, 2, 38, 0, 81, - 0, 0, 1, 6, 2, 57, 76, 0, 0, 14,185, 0, 1,255,222,180, 25, 31, 11, 23, 37, 1, 43, 53,255,255, 0,199, 0, 0, 5, 14, - 7,115, 2, 38, 0, 49, 0, 0, 1, 7, 1, 76, 0,156, 1, 82, 0, 19, 64, 11, 1, 29, 5, 38, 1, 0, 35, 24, 10, 0, 37, 1, - 43, 53, 0, 43, 53, 0,255,255, 0,174, 0, 0, 4, 18, 6, 33, 2, 38, 0, 81, 0, 0, 1, 6, 1, 76, 12, 0, 0, 21,180, 1, - 30, 17, 38, 1,184,255,250,180, 36, 25, 11, 23, 37, 1, 43, 53, 0, 43, 53, 0,255,255,255,255, 0, 0, 4,161, 5,182, 0, 39, - 0, 81, 0,143, 0, 0, 1, 6, 2, 7,232, 0, 0, 41, 64, 29, 0, 24, 85, 39,239, 39, 1,191, 39, 1,159, 39, 1, 95, 39, 1, - 47, 39, 1, 39, 64, 8, 8, 72, 39, 64, 6, 6, 72, 43, 43, 93, 93, 93, 93, 93, 16,246, 52, 0, 0, 1, 0,199,254,123, 5, 14, - 5,182, 0, 37, 0, 74, 64, 42, 24, 12, 31, 90, 32, 4, 4, 21, 32,101, 39,176, 39, 1,143, 39, 1, 0, 39, 16, 39, 2, 23, 19, - 14, 20, 90, 21,100, 38, 31, 13, 22, 3, 21, 18, 24, 12, 18, 7, 95, 0, 0, 47,225, 63, 51, 63, 63, 51, 51, 1, 16,246,225, 50, - 50, 50, 93, 93, 93, 16,230, 17, 57, 47, 16,225, 50, 50, 49, 48, 1, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 53, 1, 35, 22, 23, - 22, 22, 21, 17, 35, 17, 51, 1, 51, 38, 39, 38, 38, 53, 17, 51, 17, 20, 14, 2, 3,139, 51, 77, 27, 34, 78, 45, 37, 75, 61, 38, -253, 8, 8, 6, 4, 4, 5,172,213, 2,204, 7, 3, 4, 3, 5,174, 55,100,143,254,123, 13, 11,160, 9, 11, 19, 50, 88, 68, 4, -186, 77, 76, 65,142, 57,252,231, 5,182,251,117, 65, 65, 56,125, 52, 3, 32,250, 94,105,154,101, 49, 0, 0, 1, 0,174,254, 20, - 4, 18, 4, 94, 0, 40, 0, 58, 64, 34, 3, 3, 23, 12, 71, 36, 85, 42, 16, 42, 96, 42,128, 42, 3, 26, 22, 71, 23, 84, 41, 26, - 16, 80, 32, 16, 24, 15, 23, 21, 7, 80, 0, 27, 0, 63,225, 63, 63, 63,225, 51, 1, 16,246,225, 50, 93, 16,246,225, 17, 57, 47, - 49, 48, 1, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 53, 19, 52, 38, 35, 34, 14, 2, 21, 17, 35, 17, 51, 23, 51, 62, 3, 51, 50, - 22, 21, 3, 20, 14, 2, 2,238, 48, 63, 23, 26, 54, 35, 27, 46, 35, 19, 2,105,112, 81,110, 67, 29,182,148, 26, 10, 25, 69, 82, - 92, 48,183,185, 2, 34, 72,109,254, 20, 14, 11,148, 10, 11, 15, 39, 65, 51, 3,109,130,130, 52,102,148, 96,253,199, 4, 74,148, - 43, 63, 42, 20,191,210,252,149, 77,123, 87, 47,255,255, 0,125,255,236, 5,113, 6,193, 2, 38, 0, 50, 0, 0, 1, 7, 1, 77, - 0,188, 1, 82, 0, 19, 64, 11, 2, 42, 5, 38, 2, 0, 40, 41, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, - 4, 45, 5,111, 2, 38, 0, 82, 0, 0, 1, 6, 1, 77, 20, 0, 0, 19, 64, 11, 2, 34, 17, 38, 2, 0, 32, 33, 10, 0, 37, 1, - 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 5,113, 7, 64, 2, 38, 0, 50, 0, 0, 1, 7, 1, 78, 0,170, 1, 82, 0, 19, - 64, 11, 2, 45, 5, 38, 2, 1, 50, 40, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 4, 45, 5,238, 2, 38, - 0, 82, 0, 0, 1, 6, 1, 78, 0, 0, 0, 21,180, 2, 37, 17, 38, 2,184,255,255,180, 42, 32, 10, 0, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0,125,255,236, 5,113, 7,115, 2, 38, 0, 50, 0, 0, 1, 7, 1, 83, 0,236, 1, 82, 0, 23, 64, 13, 3, 2, - 52, 5, 38, 3, 2, 67, 40, 60, 10, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,113,255,236, 4, 45, 6, 33, 2, 38, - 0, 82, 0, 0, 1, 6, 1, 83, 70, 0, 0, 23, 64, 13, 3, 2, 44, 17, 38, 3, 2, 69, 32, 52, 10, 0, 37, 1, 43, 53, 53, 0, - 43, 53, 53, 0, 0, 2, 0,125,255,236, 6,164, 5,205, 0, 25, 0, 42, 0, 91, 64, 54, 20, 22, 1, 22, 22, 0, 20, 24, 90, 39, - 39, 9, 18, 0,103, 44, 31, 44, 1, 31, 91, 9,102, 43, 23, 95, 79, 20, 1, 15, 20,175, 20, 2, 8, 20, 20, 25, 18, 95, 17, 3, - 26, 95, 14, 4, 36, 95, 4, 19, 25, 95, 0, 18, 0, 63,225, 63,225, 63,225, 63,225, 18, 57, 47, 94, 93,113,225, 1, 16,246,225, - 93, 16,230, 50, 17, 57, 47,225, 50, 17, 57, 47, 93, 49, 48, 33, 33, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 23, - 33, 21, 33, 17, 33, 21, 33, 17, 33, 1, 34, 14, 2, 21, 20, 30, 2, 51, 50, 54, 55, 17, 38, 38, 6,164,253, 10, 43, 91, 48,163, -239,157, 76, 76,158,240,163, 98, 84, 2,244,253,194, 2, 23,253,233, 2, 62,252, 86,114,166,108, 52, 52,107,165,114, 52, 90, 38, - 38, 89, 9, 11,108,198, 1, 23,170,170, 1, 21,196,107, 23,164,254, 60,162,253,248, 4,133, 81,151,218,138,137,219,153, 81, 18, - 15, 4, 88, 16, 17, 0, 0, 3, 0,113,255,236, 6,225, 4, 94, 0, 42, 0, 54, 0, 63, 0,100, 64, 59, 19, 3, 63, 29, 72,208, - 49, 1, 49, 49, 11, 55, 72, 37, 28, 87, 65, 15, 65, 1,255, 65, 1, 64, 65, 1, 43, 72, 11, 86, 64, 29, 80, 27, 63, 43, 63, 2, - 15, 63, 1, 6, 63, 63, 46, 60, 52, 80, 22, 19, 16, 16, 32, 46, 80, 3, 0, 6, 22, 0, 63, 51, 51,225, 50, 63, 51, 51,225, 50, - 18, 57, 47, 94, 93, 93,225, 1, 16,246,225, 93, 93,113, 16,246, 50,225, 17, 57, 47, 93,225, 50, 57, 57, 49, 48, 5, 34, 38, 39, - 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 54, 54, 51, 50, 30, 2, 21, 21, 33, 22, 22, 51, 50, 62, 2, 55, 21, 14, - 3, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 5, 52, 46, 2, 35, 34, 6, 7, 5, 96,130,204, 65, 63,198,128,103,174,127, - 71, 67,124,179,111,121,195, 63, 60,185,117, 99,158,110, 59,253, 76, 5,153,151, 51, 87, 81, 76, 39, 40, 77, 81, 87,251,154,137, -154,150,139,140,151,154,135, 4,240, 27, 57, 88, 62,114,133, 11, 20,112,109,109,112, 76,145,213,137,136,211,145, 75,111,106,105, -112, 71,129,181,110,113,193,182, 10, 19, 29, 18,162, 19, 28, 18, 8, 2, 59,209,211,201,209,220,206,207, 98, 68,113, 80, 44,156, -149, 0,255,255, 0,199, 0, 0, 4,160, 7,115, 2, 38, 0, 53, 0, 0, 1, 7, 0,118, 0, 84, 1, 82, 0, 21,180, 2, 41, 5, - 38, 2,184,255,238,180, 29, 35, 2, 13, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,174, 0, 0, 3, 8, 6, 33, 2, 38, 0, 85, - 0, 0, 1, 6, 0,118,206, 0, 0, 19, 64, 11, 1, 35, 17, 38, 1, 64, 23, 29, 14, 3, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0,199,254, 59, 4,160, 5,182, 2, 38, 0, 53, 0, 0, 1, 6, 2, 57,119, 0, 0, 14,185, 0, 2,255,182,180, 29, 35, 2, 13, - 37, 1, 43, 53,255,255, 0, 96,254, 59, 3, 8, 4, 94, 2, 38, 0, 85, 0, 0, 1, 7, 2, 57,254,241, 0, 0, 0, 14,185, 0, - 1,255, 8,180, 23, 29, 14, 3, 37, 1, 43, 53,255,255, 0,199, 0, 0, 4,160, 7,115, 2, 38, 0, 53, 0, 0, 1, 7, 1, 76, - 0, 14, 1, 82, 0, 21,180, 2, 34, 5, 38, 2,184,255,169,180, 40, 29, 2, 13, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,114, - 0, 0, 3, 10, 6, 33, 2, 38, 0, 85, 0, 0, 1, 7, 1, 76,255,112, 0, 0, 0, 21,180, 1, 28, 17, 38, 1,184,255,227,180, - 34, 23, 14, 3, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,104,255,236, 3,201, 7,115, 2, 38, 0, 54, 0, 0, 1, 7, 0,118, - 0, 59, 1, 82, 0, 19, 64, 11, 1, 64, 5, 38, 1,112, 52, 58, 8, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 90,255,236, - 3, 63, 6, 33, 2, 38, 0, 86, 0, 0, 1, 6, 0,118,220, 0, 0, 19, 64, 11, 1, 66, 17, 38, 1, 93, 54, 60, 8, 0, 37, 1, - 43, 53, 0, 43, 53, 0,255,255, 0,104,255,236, 3,201, 7,115, 2, 38, 0, 54, 0, 0, 1, 7, 1, 75,255,237, 1, 82, 0, 19, - 64, 11, 1, 52, 5, 38, 1, 34, 60, 52, 8, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 90,255,236, 3, 63, 6, 33, 2, 38, - 0, 86, 0, 0, 1, 6, 1, 75,155, 0, 0, 19, 64, 11, 1, 54, 17, 38, 1, 28, 62, 54, 8, 0, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0,104,254, 20, 3,201, 5,203, 2, 38, 0, 54, 0, 0, 1, 7, 0,122, 1, 53, 0, 0, 0, 14,185, 0, 1,255,250,180, - 58, 52, 8, 0, 37, 1, 43, 53,255,255, 0, 90,254, 20, 3, 63, 4, 94, 2, 38, 0, 86, 0, 0, 1, 7, 0,122, 0,240, 0, 0, - 0, 11,182, 1, 1, 60, 54, 8, 0, 37, 1, 43, 53, 0,255,255, 0,104,255,236, 3,201, 7,115, 2, 38, 0, 54, 0, 0, 1, 7, - 1, 76,255,230, 1, 82, 0, 19, 64, 11, 1, 57, 5, 38, 1, 27, 63, 52, 8, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 90, -255,236, 3, 63, 6, 33, 2, 38, 0, 86, 0, 0, 1, 6, 1, 76,151, 0, 0, 19, 64, 11, 1, 59, 17, 38, 1, 24, 65, 54, 8, 0, - 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 20,254, 59, 4, 18, 5,182, 2, 38, 0, 55, 0, 0, 1, 6, 2, 57,249, 0, 0, 14, -185, 0, 1,255,216,180, 8, 14, 3, 5, 37, 1, 43, 53,255,255, 0, 33,254, 59, 2,143, 5, 70, 2, 38, 0, 87, 0, 0, 1, 7, - 2, 57,255, 93, 0, 0, 0, 14,185, 0, 1,255,247,180, 30, 36, 18, 5, 37, 1, 43, 53,255,255, 0, 20, 0, 0, 4, 18, 7,115, - 2, 38, 0, 55, 0, 0, 1, 7, 1, 76,255,200, 1, 82, 0, 19, 64, 11, 1, 13, 5, 38, 1, 3, 19, 8, 3, 5, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 0, 33,255,236, 2,232, 6, 20, 2, 38, 0, 87, 0, 0, 1, 6, 2, 56,111, 0, 0, 11,182, 1, 97, 36, - 36, 24, 24, 37, 1, 43, 53, 0, 0, 1, 0, 20, 0, 0, 4, 18, 5,182, 0, 15, 0,115, 64, 76, 31, 17, 1,224, 17, 1, 95, 17, -223, 17, 2, 32, 17, 48, 17, 64, 17, 3, 8,191, 5,255, 5, 2, 5, 5, 10, 6, 90, 1, 15, 1, 80, 2,240, 2, 2, 31, 2, 1, - 2, 2, 13,119, 1,135, 1,151, 1, 3, 49, 1, 1, 0, 1, 16, 1, 32, 1, 3, 7, 1, 10, 13, 96, 7, 0, 0, 3, 11, 18, 6, - 2, 95, 3, 3, 0, 63,225, 50, 63, 18, 57, 47, 51,225, 50, 1, 47, 94, 93, 93, 93, 51, 51, 47, 93, 93, 18, 57, 16,225, 50, 50, - 47, 93, 57, 93, 93, 93,113, 49, 48, 1, 17, 33, 53, 33, 21, 33, 17, 33, 21, 33, 17, 35, 17, 33, 53, 1,182,254, 94, 3,254,254, - 95, 1, 39,254,217,187,254,215, 3, 51, 1,223,164,164,254, 33,149,253, 98, 2,158,149, 0, 1, 0, 33,255,236, 2,143, 5, 70, - 0, 37, 0,106,182, 20, 31, 1, 32, 28, 28, 5,184,255,192, 64, 55, 8, 11, 72, 5, 5, 39, 47, 39, 63, 39, 2, 31, 27, 35, 71, - 19, 15, 22, 31, 22, 2, 22, 24, 20, 0, 16, 16, 16,160, 16,176, 16,192, 16, 5, 7, 16, 17, 34, 79, 20, 31, 31, 11, 21, 30, 79, - 26, 24, 27, 15, 0, 80, 11, 22, 0, 63,225, 63, 51, 51,225, 50, 18, 57, 47, 51,225, 50, 1, 47, 94, 93, 51, 51,196, 93, 50,225, - 50, 50, 93, 17, 51, 47, 43, 51, 17, 51, 0, 93, 49, 48, 37, 50, 62, 2, 55, 21, 14, 3, 35, 34, 46, 2, 53, 53, 35, 53, 51, 53, - 35, 53, 55, 55, 51, 21, 33, 21, 33, 21, 33, 21, 33, 21, 20, 22, 1,250, 18, 45, 42, 35, 9, 13, 40, 48, 52, 25, 62,106, 77, 44, -139,139,155,155, 78,105, 1, 20,254,236, 1, 2,254,254, 63,129, 4, 6, 8, 3,138, 6, 12, 9, 5, 32, 78,133,101,251,138,248, - 81, 78,230,252,137,248,138,251, 97, 98,255,255, 0,184,255,236, 4,221, 7, 53, 2, 38, 0, 56, 0, 0, 1, 7, 1, 82, 0, 96, - 1, 82, 0, 21,180, 1, 32, 5, 38, 1,184,255,255,180, 33, 47, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164,255,236, - 4, 8, 5,227, 2, 38, 0, 88, 0, 0, 1, 6, 1, 82,243, 0, 0, 19, 64, 11, 1, 35, 17, 38, 1, 6, 36, 50, 12, 25, 37, 1, - 43, 53, 0, 43, 53, 0,255,255, 0,184,255,236, 4,221, 6,193, 2, 38, 0, 56, 0, 0, 1, 7, 1, 77, 0,143, 1, 82, 0, 21, -180, 1, 26, 5, 38, 1,184,255,255,180, 24, 25, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164,255,236, 4, 8, 5,111, - 2, 38, 0, 88, 0, 0, 1, 6, 1, 77, 33, 0, 0, 19, 64, 11, 1, 29, 17, 38, 1, 5, 27, 28, 12, 25, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0,184,255,236, 4,221, 7, 64, 2, 38, 0, 56, 0, 0, 1, 7, 1, 78, 0,125, 1, 82, 0, 19, 64, 11, 1, 29, - 5, 38, 1, 0, 34, 24, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164,255,236, 4, 8, 5,238, 2, 38, 0, 88, 0, 0, - 1, 6, 1, 78, 12, 0, 0, 19, 64, 11, 1, 32, 17, 38, 1, 4, 37, 27, 12, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,184, -255,236, 4,221, 7,217, 2, 38, 0, 56, 0, 0, 1, 7, 1, 80, 0,123, 1, 82, 0, 23, 64, 13, 2, 1, 29, 5, 38, 2, 1, 0, - 34, 24, 11, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,164,255,236, 4, 8, 6,135, 2, 38, 0, 88, 0, 0, 1, 6, - 1, 80, 12, 0, 0, 23, 64, 13, 2, 1, 32, 17, 38, 2, 1, 5, 37, 27, 12, 25, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, - 0,184,255,236, 4,221, 7,115, 2, 38, 0, 56, 0, 0, 1, 7, 1, 83, 0,178, 1, 82, 0, 23, 64, 13, 2, 1, 36, 5, 38, 2, - 1, 54, 24, 44, 11, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,164,255,236, 4, 14, 6, 33, 2, 38, 0, 88, 0, 0, - 1, 6, 1, 83, 80, 0, 0, 23, 64, 13, 2, 1, 39, 17, 38, 2, 1, 72, 27, 47, 12, 25, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, -255,255, 0,184,254, 66, 4,221, 5,184, 2, 38, 0, 56, 0, 0, 1, 7, 1, 81, 2, 25, 0, 0, 0, 11,182, 1, 13, 37, 30, 11, - 0, 37, 1, 43, 53, 0,255,255, 0,164,254, 66, 4, 22, 4, 74, 2, 38, 0, 88, 0, 0, 1, 7, 1, 81, 2,184, 0, 0, 0, 11, -182, 1, 14, 33, 33, 26, 26, 37, 1, 43, 53, 0,255,255, 0, 20, 0, 0, 6,254, 7,115, 2, 38, 0, 58, 0, 0, 1, 7, 1, 75, - 1, 59, 1, 82, 0, 19, 64, 11, 1, 43, 5, 38, 1, 0, 51, 43, 30, 14, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 20, 0, 0, - 5,227, 6, 33, 2, 38, 0, 90, 0, 0, 1, 7, 1, 75, 0,174, 0, 0, 0, 19, 64, 11, 1, 48, 17, 38, 1, 0, 56, 48, 17, 46, - 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0, 0, 0, 4, 55, 7,115, 2, 38, 0, 60, 0, 0, 1, 7, 1, 75,255,208, 1, 82, - 0, 19, 64, 11, 1, 9, 5, 38, 1, 2, 17, 9, 7, 2, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 10,254, 20, 3,223, 6, 33, - 2, 38, 0, 92, 0, 0, 1, 6, 1, 75,169, 0, 0, 19, 64, 11, 1, 35, 17, 38, 1, 2, 43, 35, 0, 15, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0, 0, 0, 0, 4, 55, 7, 43, 2, 38, 0, 60, 0, 0, 1, 7, 0,106,255,206, 1, 82, 0, 23, 64, 13, 2, 1, - 18, 5, 38, 2, 1, 1, 9, 29, 7, 2, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 82, 0, 0, 3,254, 7,115, 2, 38, - 0, 61, 0, 0, 1, 7, 0,118, 0, 57, 1, 82, 0, 19, 64, 11, 1, 22, 5, 38, 1, 94, 10, 16, 1, 0, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0, 82, 0, 0, 3, 53, 6, 33, 2, 38, 0, 93, 0, 0, 1, 6, 0,118,214, 0, 0, 19, 64, 11, 1, 22, 17, 38, - 1, 96, 10, 16, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82, 0, 0, 3,254, 7, 55, 2, 38, 0, 61, 0, 0, 1, 7, - 1, 79, 1, 41, 1, 82, 0, 19, 64, 11, 1, 21, 5, 38, 1, 11, 10, 18, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82, - 0, 0, 3, 53, 5,229, 2, 38, 0, 93, 0, 0, 1, 7, 1, 79, 0,205, 0, 0, 0, 19, 64, 11, 1, 21, 17, 38, 1, 20, 10, 18, - 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82, 0, 0, 3,254, 7,115, 2, 38, 0, 61, 0, 0, 1, 7, 1, 76,255,224, - 1, 82, 0, 19, 64, 11, 1, 15, 5, 38, 1, 6, 21, 10, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82, 0, 0, 3, 53, - 6, 33, 2, 38, 0, 93, 0, 0, 1, 6, 1, 76,134, 0, 0, 19, 64, 11, 1, 15, 17, 38, 1, 16, 21, 10, 1, 0, 37, 1, 43, 53, - 0, 43, 53, 0, 0, 1, 0,174, 0, 0, 2,190, 6, 31, 0, 19, 0, 37, 64, 21, 9, 9, 21, 0, 21, 16, 21, 32, 21, 3, 19, 71, - 0, 84, 20, 13, 80, 6, 1, 0, 21, 0, 63, 63,225, 1, 16,246,225, 93, 17, 51, 47, 49, 48, 51, 17, 52, 62, 2, 51, 50, 22, 23, - 7, 38, 38, 35, 34, 14, 2, 21, 17,174, 45, 85,124, 78, 59, 99, 38, 47, 31, 72, 40, 40, 58, 39, 19, 4,176,107,141, 84, 35, 23, - 14,141, 11, 17, 19, 48, 83, 65,251, 78, 0, 1, 0,203,254, 20, 3,233, 5,203, 0, 43, 0, 74, 64, 42, 48, 45, 1, 41, 31, 31, - 1, 71, 18, 22, 18, 20, 20, 18, 10, 10, 0, 18, 16, 18, 48, 18, 64, 18, 4, 7, 18, 19, 0, 96, 22, 41, 41, 13, 35, 80, 28, 7, - 13, 80, 6, 27, 0, 63,225, 63,225, 18, 57, 47, 51,225, 50, 1, 47, 94, 93, 51, 47, 17, 51, 47, 17, 51, 16,225, 50, 47, 50, 93, - 49, 48, 1, 17, 20, 14, 2, 35, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 53, 17, 35, 53, 55, 53, 52, 62, 2, 51, 50, 22, 23, 7, - 38, 38, 35, 34, 14, 2, 21, 21, 51, 21, 2,143, 45, 85,123, 78, 32, 61, 28, 26, 57, 31, 40, 59, 38, 19,194,194, 45, 85,124, 78, - 59, 99, 38, 47, 31, 72, 40, 40, 58, 39, 19,246, 3, 68,252, 63,107,141, 84, 35, 9, 6,153, 8, 10, 19, 48, 83, 65, 3,195, 75, - 68,137,107,141, 84, 35, 23, 14,141, 11, 17, 19, 48, 83, 65,145,137, 0, 0, 4, 0, 0, 0, 0, 4,221, 7,170, 0, 22, 0, 35, - 0, 49, 0, 62, 1, 1, 64, 94,137, 41, 1, 41,190, 42, 42, 48, 49, 49, 29, 56,131, 15, 13, 31, 13, 2, 16, 13, 32, 13, 2, 13, - 13, 86, 35,102, 35, 2, 35, 7, 8, 89, 23,105, 23, 2, 6, 23, 5, 29, 50,131, 15, 0, 31, 0,111, 0, 3, 0, 0,214, 10, 1, - 55, 10, 71, 10, 87, 10,199, 10, 4, 10,217, 3, 1, 56, 3, 72, 3, 88, 3,200, 3, 4, 3, 29, 29, 9, 5, 16, 4, 1,128, 4, -144, 4,208, 4, 3, 4,184,255,192, 64, 24, 6, 10, 72, 4, 16, 4, 4, 64, 15, 64, 31, 64, 47, 64,143, 64,159, 64,223, 64, 6, - 7, 8, 9,184,255,240, 64, 49, 9, 7, 95, 35, 29, 32, 10, 14, 72, 29, 10, 3, 60, 25, 53, 1, 53,140, 18, 16, 60, 1,143, 18, -239, 18, 2, 96, 18, 1, 16, 49, 32, 49, 2, 35, 60, 18, 49, 49, 18, 60, 35, 4, 4, 41, 9, 4, 18, 0, 63, 51, 47, 18, 23, 57, - 47, 47, 47, 47, 93, 93, 93, 93, 16,225, 93, 17, 51, 51, 51, 43, 16,225, 1, 47, 56, 51, 94, 93, 17, 51, 47, 56, 43, 93,113, 51, - 18, 57, 61, 47, 51, 93, 93, 51, 93, 93, 51, 24, 47, 93,225, 17, 18, 57, 57, 93, 18, 57, 57, 93, 51, 47, 93,113,225, 17, 51, 47, - 51, 51, 47,237, 93, 49, 48, 1, 20, 6, 7, 1, 35, 3, 33, 3, 35, 1, 38, 38, 53, 52, 62, 2, 51, 50, 30, 2, 3, 3, 46, 3, - 39, 14, 3, 7, 3, 19, 62, 3, 55, 51, 21, 14, 3, 7, 35, 19, 52, 38, 35, 34, 6, 21, 20, 22, 23, 51, 50, 54, 3, 80, 60, 51, - 1,252,190,154,253,211,156,188, 1,248, 51, 58, 32, 59, 82, 50, 49, 84, 62, 35, 12,148, 6, 17, 18, 18, 8, 7, 18, 18, 17, 6, -145,133, 21, 48, 47, 42, 16,219, 16, 63, 77, 81, 35,121,188, 63, 50, 49, 63, 51, 49, 12, 50, 63, 5,156, 70, 96, 25,251, 35, 1, -135,254,121, 4,219, 25, 96, 70, 51, 79, 56, 29, 29, 55, 79,252, 95, 1,125, 16, 46, 54, 59, 28, 28, 60, 54, 46, 15,254,131, 4, -139, 24, 61, 65, 64, 28, 16, 22, 65, 71, 66, 22,254,246, 52, 60, 60, 52, 51, 59, 3, 60, 0, 5, 0, 94,255,236, 3,156, 7,170, - 0, 13, 0, 49, 0, 64, 0, 84, 0, 96, 0,156, 64, 35, 85,131, 15, 65, 31, 65, 47, 65, 3, 65, 65, 91,131, 75, 6, 13, 75, 13, - 75, 13, 26, 30, 15, 55, 71, 49, 85, 98, 63, 98, 1, 62, 72, 26, 40,184,255,208, 64, 58, 13, 17, 72, 40, 16, 9, 12, 72, 40, 40, - 26, 86, 97, 88,140, 80, 80, 13, 96, 13,112, 13, 3, 13, 13, 80, 80, 5, 94,140, 64, 70, 80, 70, 2, 70, 70, 39, 36, 80, 43, 56, - 82, 30, 30, 43, 16, 50, 80, 15, 21, 22, 14, 21, 15, 5, 1, 5, 0, 47, 93, 63, 63, 51,225, 63, 57, 47,225, 16,225, 50, 51, 47, - 93,225, 17, 57, 47, 51, 47, 93, 16,225, 1, 16,230, 50, 47, 43, 43, 16,225, 93, 16,246,225, 50, 50, 17, 57, 57, 47, 47, 16,205, - 16,225, 51, 47, 93,225, 49, 48, 1, 62, 3, 55, 51, 21, 14, 3, 7, 35, 1, 39, 35, 14, 3, 35, 34, 46, 2, 53, 52, 54, 55, 55, - 53, 52, 46, 2, 35, 34, 6, 7, 39, 54, 54, 51, 50, 30, 2, 21, 17, 37, 50, 62, 2, 53, 53, 7, 14, 3, 21, 20, 22, 1, 20, 14, - 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 7, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 1,199, 21, 48, 47, 42, 16, -219, 16, 63, 77, 82, 35,120, 1, 82, 37, 8, 33, 66, 78, 96, 63, 69,116, 85, 48,231,236,184, 29, 55, 81, 52, 83,143, 66, 64, 74, -182,100,102,149, 97, 48,254, 47, 61,104, 76, 43,143, 90,122, 73, 32, 97, 1,134, 35, 61, 84, 49, 50, 82, 59, 33, 33, 59, 82, 50, - 48, 84, 62, 35,117, 63, 49, 50, 63, 57, 56, 49, 63, 6,184, 24, 61, 65, 64, 28, 16, 22, 65, 71, 66, 22,249, 92,152, 45, 65, 42, - 20, 39, 81,123, 84,164,176, 8, 7, 69, 67, 90, 55, 24, 48, 34,137, 40, 56, 41, 89,138, 98,253, 16,127, 38, 77,117, 79, 99, 7, - 4, 32, 57, 81, 51, 92, 86, 5, 8, 51, 81, 56, 29, 29, 56, 79, 51, 51, 79, 56, 29, 29, 55, 79, 52, 53, 60, 60, 53, 53, 60, 60, -255,255,255,254, 0, 0, 6, 86, 7,115, 2, 38, 0,136, 0, 0, 1, 7, 0,118, 2, 37, 1, 82, 0, 21,180, 2, 32, 5, 38, 2, -184, 1, 72,180, 20, 26, 5, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 94,255,236, 6, 68, 6, 33, 2, 38, 0,168, 0, 0, - 1, 7, 0,118, 1,117, 0, 0, 0, 19, 64, 11, 3, 93, 17, 38, 3,113, 81, 87, 0, 28, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0,125,255,180, 5,113, 7,115, 2, 38, 0,154, 0, 0, 1, 7, 0,118, 1, 2, 1, 82, 0, 19, 64, 11, 3, 62, 5, 38, 3, 88, - 50, 56, 17, 4, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115,255,180, 4, 47, 6, 33, 2, 38, 0,186, 0, 0, 1, 6, 0,118, - 80, 0, 0, 19, 64, 11, 3, 58, 17, 38, 3, 76, 46, 52, 13, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,104,254, 59, 3,201, - 5,203, 2, 38, 0, 54, 0, 0, 1, 6, 2, 57, 0, 0, 0, 14,185, 0, 1,255,218,180, 52, 58, 8, 0, 37, 1, 43, 53,255,255, - 0, 90,254, 59, 3, 63, 4, 94, 2, 38, 0, 86, 0, 0, 1, 6, 2, 57,187, 0, 0, 14,185, 0, 1,255,225,180, 54, 60, 8, 0, - 37, 1, 43, 53, 0, 1, 1, 2, 4,217, 3,154, 6, 33, 0, 20, 0, 37, 64, 17, 15, 14, 4, 4, 0,192, 8, 4, 14,128, 0, 15, - 8, 95, 8, 2, 8, 0, 47, 93, 51, 26,204, 50, 1, 47, 26,204, 57, 61, 47, 51, 51, 49, 48, 1, 35, 38, 38, 39, 6, 6, 7, 35, - 53, 62, 3, 55, 51, 30, 3, 23, 3,154,121, 51,108, 52, 54,106, 51,121, 26, 68, 67, 59, 16,192, 16, 59, 67, 69, 25, 4,217, 34, - 97, 55, 55, 97, 34, 27, 29, 76, 81, 81, 34, 34, 81, 81, 76, 29, 0, 1, 1, 2, 4,217, 3,154, 6, 33, 0, 20, 0, 37, 64, 17, - 6, 5, 16, 16, 0,192, 11, 19, 13,128, 16, 15, 6, 95, 6, 2, 6, 0, 47, 93, 51, 26,205, 50, 1, 47, 26,204, 57, 61, 47, 51, - 51, 49, 48, 1, 14, 3, 7, 35, 46, 3, 39, 53, 51, 22, 22, 23, 54, 54, 55, 51, 3,154, 25, 69, 67, 59, 16,192, 16, 59, 67, 68, - 26,121, 51,106, 54, 52,108, 51,121, 6, 6, 29, 76, 81, 80, 35, 35, 80, 81, 76, 29, 27, 34, 97, 56, 56, 97, 34, 0, 1, 1, 27, - 4,217, 3, 90, 5,111, 0, 3, 0, 21, 64, 10, 1, 0, 0,143, 15, 3, 95, 3, 2, 3, 0, 47, 93,225, 1, 47,205, 49, 48, 1, - 33, 21, 33, 1, 27, 2, 63,253,193, 5,111,150, 0, 1, 1, 33, 4,217, 3,123, 5,238, 0, 21, 0, 47, 64, 28, 21,131,255, 0, - 1, 0,192, 11,131, 10, 0,127, 10,143, 10,159, 10, 3, 10,128, 16,143, 15, 5, 95, 5, 2, 5, 0, 47, 93,225, 26,205, 93, 50, - 1, 47,225, 26,220, 93,225, 49, 48, 1, 14, 3, 35, 34, 46, 2, 39, 51, 30, 3, 51, 50, 62, 2, 55, 3,123, 4, 44, 77,109, 71, - 73,109, 73, 39, 3,108, 4, 28, 48, 67, 44, 36, 65, 51, 34, 4, 5,238, 61,101, 74, 41, 39, 73,102, 63, 43, 50, 25, 7, 9, 27, - 49, 40, 0, 1, 0,160, 5, 0, 1,117, 5,229, 0, 13, 0, 28, 64, 16, 8,135, 0, 3,145,159, 11,207, 11,239, 11, 3, 48, 11, - 1, 11, 0, 47, 93, 93,229, 1, 47,225, 49, 48, 19, 52, 54, 51, 50, 30, 2, 21, 20, 6, 35, 34, 38,160, 61, 45, 22, 39, 29, 17, - 63, 44, 45, 61, 5,115, 60, 54, 13, 28, 43, 30, 58, 57, 56, 0, 0, 2, 1,109, 4,217, 3, 49, 6,135, 0, 19, 0, 31, 0, 64, - 64, 45, 20,131, 15, 0, 63, 0, 79, 0, 95, 0, 4, 0, 26,131, 48, 10, 1, 10, 23,140, 15, 15, 31, 15, 63, 15, 79, 15, 95, 15, -175, 15,255, 15, 7, 6, 15, 29,140, 15, 5, 95, 5, 2, 5, 0, 47, 93,225,212, 94, 93,225, 1, 47, 93,225,212, 93,225, 49, 48, - 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 7, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 3, 49, 35, 61, - 84, 49, 50, 82, 59, 32, 32, 59, 82, 50, 48, 84, 62, 35,117, 63, 49, 50, 63, 57, 56, 49, 63, 5,178, 51, 81, 56, 29, 29, 56, 79, - 51, 51, 79, 56, 29, 29, 55, 79, 52, 53, 60, 60, 53, 53, 60, 60, 0, 1, 0, 31,254, 66, 1, 94, 0, 0, 0, 20, 0, 22, 64, 9, - 6,128, 0,132, 13, 18, 3,142, 10, 0, 47,225, 47, 1, 47,225, 26,204, 49, 48, 23, 20, 22, 51, 50, 54, 55, 21, 6, 6, 35, 34, - 38, 53, 52, 62, 2, 55, 51, 6,180, 52, 34, 25, 45, 14, 26, 64, 29,100,100, 30, 47, 56, 26,129,139,238, 45, 43, 5, 4,113, 8, - 8,104, 90, 42, 75, 64, 52, 19,133, 0, 0, 1, 1, 2, 4,217, 3,209, 5,227, 0, 27, 0, 56, 64, 35, 15, 23, 47, 23, 2, 23, - 0, 9, 32, 9, 2, 7, 9, 22, 5,143, 14, 64, 16, 19, 72, 14, 64, 7, 11, 72, 14, 14, 19,143, 9, 15, 0, 1, 0, 0, 47, 93, - 50,225, 51, 47, 43, 43,225, 51, 1, 47, 94, 93,204, 93, 49, 48, 1, 34, 46, 2, 35, 34, 6, 7, 35, 62, 3, 51, 50, 30, 2, 51, - 50, 54, 55, 51, 14, 3, 2,254, 40, 79, 76, 70, 32, 45, 48, 14,104, 5, 33, 53, 74, 46, 42, 81, 76, 69, 29, 45, 46, 15,105, 5, - 33, 53, 74, 4,219, 35, 43, 35, 53, 62, 60, 98, 69, 37, 35, 42, 35, 52, 62, 60, 97, 69, 38, 0, 0, 2, 0,223, 4,217, 3,190, - 6, 33, 0, 13, 0, 27, 0, 45, 64, 25, 20, 14, 14, 7, 64, 80, 0, 1, 63, 0, 79, 0, 2, 0, 19, 5,146,128, 27, 15, 12, 95, - 12, 2, 12, 0, 47, 93, 51, 26,237, 50, 1, 47, 93, 93, 26,205, 57, 47,205, 49, 48, 19, 62, 3, 55, 51, 21, 14, 3, 7, 35, 37, - 62, 3, 55, 51, 21, 14, 3, 7, 35,223, 22, 47, 47, 42, 16,199, 16, 63, 77, 81, 35,101, 1,107, 21, 48, 47, 42, 16,198, 16, 63, - 77, 81, 35,100, 4,244, 29, 76, 81, 81, 34, 21, 27, 81, 88, 83, 28, 27, 29, 76, 81, 81, 34, 21, 27, 81, 88, 83, 28, 0, 0, 1, - 1,248, 4,217, 3, 4, 6, 33, 0, 13, 0, 39, 64, 22, 5, 16, 12, 17, 72, 5, 6, 64, 12, 0, 0, 1, 0, 5,146,128, 15, 12, - 95, 12, 2, 12, 0, 47, 93, 26,237, 1, 47, 93, 51, 26,205, 50, 43, 49, 48, 1, 62, 3, 55, 51, 21, 14, 3, 7, 35, 1,248, 10, - 20, 19, 16, 4,199, 6, 33, 45, 52, 24,108, 4,244, 30, 77, 81, 80, 33, 21, 24, 78, 87, 86, 32, 0, 3, 1, 20, 5, 12, 3,137, - 6,180, 0, 13, 0, 27, 0, 41, 0,102, 64, 25, 28,132, 15, 36, 31, 36, 2, 15, 36, 31, 36,207, 36, 3, 36, 64, 9, 12, 72, 36, - 36, 13, 22,132, 14,184,255,192, 64, 39, 9, 13, 72, 14, 14, 5, 16, 12, 17, 72, 5, 6, 12, 13, 5,146, 12, 12, 31, 17,145, 39, -255, 25, 1, 96, 25,176, 25,208, 25, 3, 15, 25, 31, 25, 2, 6, 25, 0, 47, 94, 93, 93, 93, 51,229, 50, 57, 47,237, 1, 47, 51, -205, 50, 43, 51, 47, 43,225, 17, 51, 47, 43, 93,113,225, 49, 48, 1, 62, 3, 55, 51, 21, 14, 3, 7, 35, 39, 52, 54, 51, 50, 30, - 2, 21, 20, 6, 35, 34, 38, 37, 52, 54, 51, 50, 30, 2, 21, 20, 6, 35, 34, 38, 1,254, 11, 25, 24, 22, 8,207, 18, 48, 56, 61, - 32, 82,234, 56, 41, 19, 35, 26, 16, 58, 38, 41, 56, 1,181, 56, 40, 19, 35, 26, 16, 58, 38, 40, 56, 5,135, 30, 75, 79, 81, 36, - 20, 32, 77, 80, 81, 37, 6, 54, 48, 12, 25, 38, 27, 53, 50, 50, 53, 54, 48, 12, 25, 38, 27, 53, 50, 50,255,255,255,233, 0, 0, - 4,221, 5,188, 2, 38, 0, 36, 0, 0, 1, 7, 1, 84,253,241,255,151, 0, 24,182, 2, 26, 3, 2, 48, 34, 1,184,255,233,180, - 34, 34, 4, 4, 37, 1, 43, 93, 53, 0, 63, 53, 0, 1, 0,147, 2, 72, 1,145, 3, 94, 0, 19, 0, 51, 64, 26, 16, 21,128, 21, -144, 21,160, 21, 4, 10,150,192, 0,208, 0, 2, 52, 0, 68, 0,100, 0,116, 0, 4, 0,184,255,192,182, 7, 10, 72, 0, 5,155, - 15, 0, 47,229, 1, 47, 43, 93, 93,237, 93, 49, 48, 19, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2,147, 20, 34, - 46, 27, 26, 47, 34, 20, 20, 34, 47, 26, 27, 46, 34, 20, 2,211, 38, 53, 33, 15, 15, 33, 53, 38, 37, 52, 34, 16, 16, 34, 52, 0, -255,255,255,231, 0, 0, 4, 77, 5,184, 0, 39, 0, 40, 0,143, 0, 0, 1, 7, 1, 84,253,239,255,151, 0, 46,180, 1, 17, 3, - 1, 18,184,255,192,178, 8, 15, 72,184,255,157, 64, 15, 18, 18, 2, 2, 37, 0, 0,103, 27,191, 27, 1, 15, 27, 1, 1, 93, 93, - 16,254, 52, 1, 43, 43, 53, 0, 63, 53,255,255,255,231, 0, 0, 5, 80, 5,184, 0, 38, 0, 43,123, 0, 1, 7, 1, 84,253,239, -255,151, 0, 49,180, 1, 17, 3, 1, 18,184,255,192,178, 8, 17, 72,184,255,177, 64, 18, 18, 18, 6, 6, 37, 0, 0,101,111, 27, - 1, 47, 27, 1, 16, 27, 1, 27, 1, 16, 93, 93, 93,254, 52, 43, 43, 53, 0, 63, 53, 0,255,255,255,231, 0, 0, 3, 96, 5,184, - 0, 39, 0, 44, 0,252, 0, 0, 1, 7, 1, 84,253,239,255,151, 0,102, 64, 22, 1, 17, 3, 1,192, 18, 1,160, 18, 1, 48, 18, - 1, 32, 18, 1, 16, 18, 1, 0, 18, 1,184,255,165, 64, 47, 18, 18, 6, 6, 37, 0,240, 0, 1,208, 0, 1,192, 0, 1,175, 0, - 1,112, 0, 1, 96, 0, 1, 80, 0, 1, 64, 0, 1, 63, 0, 1, 0, 32, 27, 1, 27, 64, 7, 7, 72, 27, 64, 7, 9, 72, 1, 43, - 43, 93, 17, 93, 93, 93, 93, 93, 93, 93, 93, 93, 53, 43, 93, 93, 93, 93, 93, 93, 53, 0, 63, 53,255,255,255,231,255,236, 5,195, - 5,205, 0, 38, 0, 50, 82, 0, 1, 7, 1, 84,253,239,255,151, 0, 71, 64, 48, 2, 45, 3, 2,160, 46, 1,128, 46, 1,112, 46, - 1, 80, 46, 1, 32, 46, 1, 16, 46, 1, 0, 46, 1, 36, 46, 46, 10, 10, 37, 1, 0, 80, 0, 1, 80, 0, 1, 0,103,191, 55, 1, - 15, 55, 1, 55, 1, 16, 93, 93,254, 93, 93, 52, 52, 43, 93, 93, 93, 93, 93, 93, 93, 53, 0, 63, 53, 0,255,255,255,231, 0, 0, - 5, 84, 5,184, 0, 39, 0, 60, 1, 29, 0, 0, 1, 7, 1, 84,253,239,255,151, 0, 75,180, 1, 14, 3, 1, 15,184,255,192,182, - 22, 23, 72,160, 15, 1, 15,184,255,192,178, 9, 17, 72,184,255,214, 64, 28, 15, 15, 7, 7, 37, 0,192, 5, 1,176, 5, 1,127, - 5, 1, 32, 5, 1, 5, 63, 24, 1, 47, 24, 1, 15, 24, 1, 1, 93, 93, 93, 17, 93, 93, 93, 93, 53, 43, 43, 93, 43, 53, 0, 63, - 53, 0,255,255,255,231, 0, 0, 6, 0, 5,205, 0, 38, 1,118, 90, 0, 1, 7, 1, 84,253,239,255,151, 0, 53, 64, 35, 1, 53, - 3, 1, 32, 54, 1, 16, 54, 1, 0, 54, 1, 22, 54, 54, 19, 19, 37, 0, 80, 29, 1, 80, 29, 1, 29,103,191, 63, 1, 15, 63, 1, - 63, 1, 16, 93, 93,254, 93, 93, 52, 43, 93, 93, 93, 53, 0, 63, 53, 0,255,255,255,228,255,236, 2,119, 6,180, 2, 38, 1,134, - 0, 0, 1, 7, 1, 85,254,208, 0, 0, 0, 24, 64, 15, 3, 2, 1,192, 36, 1, 64, 36, 1, 32, 36, 58, 21, 0, 37, 1, 43, 93, - 93, 53, 53, 53,255,255, 0, 0, 0, 0, 4,221, 5,188, 2, 6, 0, 36, 0, 0,255,255, 0,199, 0, 0, 4,135, 5,182, 2, 6, - 0, 37, 0, 0, 0, 1, 0,199, 0, 0, 3,190, 5,182, 0, 5, 0, 67, 64, 10,196, 0,244, 0, 2,176, 0, 1, 2, 0,184,255, -192, 64, 31, 8, 19, 72, 0, 0, 7, 15, 7, 47, 7, 79, 7,111, 7, 4, 7, 64, 17, 24, 72, 3, 90, 4,100, 6, 2, 95, 5, 3, - 3, 18, 0, 63, 63,225, 1, 16,246,225, 43, 93, 17, 51, 47, 43, 95, 93, 93, 49, 48, 1, 21, 33, 17, 35, 17, 3,190,253,195,186, - 5,182,166,250,240, 5,182, 0, 0, 2, 0, 37, 0, 0, 4,104, 5,182, 0, 5, 0, 14, 0, 88, 64, 17, 5, 4, 6, 6, 2, 11, - 91, 96, 1,112, 1,176, 1,240, 1, 4, 1,184,255,192, 64, 39, 6, 10, 72, 1, 1, 16, 47, 16, 95, 16,111, 16,127, 16,159, 16, -191, 16, 6, 16, 64, 6, 9, 72, 10, 91, 2, 6, 32, 10, 17, 72, 6, 4, 3, 10, 95, 2, 18, 0, 63,225, 63, 51, 43, 1, 47,225, - 43, 93, 17, 51, 47, 43, 93,225, 18, 57, 61, 47, 51, 51, 49, 48, 37, 21, 33, 53, 1, 51, 7, 6, 6, 7, 3, 33, 3, 38, 38, 4, -104,251,189, 1,194,187, 94, 17, 42, 29,254, 2,174,252, 31, 46,125,125,133, 5, 49,205, 74,168, 91,253, 10, 2,240, 97,168, 0, -255,255, 0,199, 0, 0, 3,190, 5,182, 2, 6, 0, 40, 0, 0,255,255, 0, 82, 0, 0, 3,254, 5,182, 2, 6, 0, 61, 0, 0, -255,255, 0,199, 0, 0, 4,213, 5,182, 2, 6, 0, 43, 0, 0, 0, 3, 0,125,255,236, 5,113, 5,205, 0, 3, 0, 23, 0, 43, - 0, 83, 64, 52, 0, 1, 0, 1, 14, 34, 91, 4,103, 45,208, 45, 1,207, 45, 1,128, 45, 1, 63, 45,111, 45, 2, 24, 91, 14,102, - 44, 3, 96, 15, 0,175, 0,223, 0,255, 0, 4, 8, 0, 0, 29, 39, 95, 19, 4, 29, 95, 9, 19, 0, 63,225, 63,225, 18, 57, 47, - 94, 93,225, 1, 16,246,225, 93, 93, 93, 93, 16,246,225, 18, 57, 57, 47, 47, 49, 48, 1, 33, 21, 33, 37, 20, 2, 6, 6, 35, 34, - 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 22, 18, 5, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2, 1,236, 2, - 22,253,234, 3,133, 81,160,237,155,163,239,157, 76, 76,158,240,163,155,235,160, 81,251,209, 52,107,165,114,114,165,107, 50, 50, -106,164,114,114,166,108, 52, 3, 57,161, 69,169,254,234,198,108,108,198, 1, 23,170,170, 1, 21,196,107,107,197,254,235,171,137, -219,153, 81, 81,153,219,137,138,218,151, 81, 81,151,218,255,255, 0, 82, 0, 0, 2,100, 5,182, 2, 6, 0, 44, 0, 0,255,255, - 0,199, 0, 0, 4,162, 5,182, 2, 6, 0, 46, 0, 0, 0, 1, 0, 0, 0, 0, 4,139, 5,182, 0, 12, 0, 95, 64, 28, 47, 14, -239, 14,255, 14, 3, 14, 64, 18, 21, 72, 14, 64, 13, 16, 72, 14, 64, 6, 9, 72, 12, 11, 5, 5, 9, 10,184,255,240, 64, 34, 10, - 1, 47, 0, 79, 0, 95, 0,159, 0,175, 0,207, 0,239, 0, 7, 16, 0, 1, 0, 16, 0, 5, 32, 10, 14, 72, 5, 11, 3, 10, 0, - 18, 0, 63, 50, 63, 51, 43, 1, 47, 56, 93, 93, 50, 47, 56, 51, 57, 61, 47, 51, 51, 43, 43, 43, 93, 49, 48, 33, 35, 1, 38, 38, - 39, 6, 6, 7, 1, 35, 1, 51, 4,139,198,254,219, 31, 46, 15, 17, 42, 29,254,217,197, 1,231,187, 3,154, 97,168, 75, 75,168, - 91,252, 96, 5,182, 0,255,255, 0,199, 0, 0, 6, 47, 5,182, 2, 6, 0, 48, 0, 0,255,255, 0,199, 0, 0, 5, 14, 5,182, - 2, 6, 0, 49, 0, 0, 0, 3, 0, 82, 0, 0, 3,238, 5,182, 0, 3, 0, 7, 0, 11, 0, 99, 64, 62, 20, 0, 1, 27, 1, 1, - 0, 1, 0, 1, 11, 6, 6, 0, 8, 1,192, 8, 1, 63, 8, 1, 8, 13, 79, 13,111, 13, 2, 48, 13, 1, 7, 7,112, 11,128, 11, - 2, 79, 11, 1, 11, 3, 95, 15, 0,175, 0, 2, 8, 0, 0, 4, 11, 95, 10, 18, 7, 95, 4, 3, 0, 63,225, 63,225, 17, 57, 47, - 94, 93,225, 1, 47, 93, 93, 51, 47, 93, 93, 16,206, 93, 93,113, 50, 47, 17, 57, 57, 47, 47, 93, 93, 49, 48, 19, 33, 21, 33, 3, - 33, 21, 33, 1, 21, 33, 53,205, 2,166,253, 90, 82, 3, 74,252,182, 3,115,252,100, 3, 78,162, 3, 10,164,251,146,164,164, 0, -255,255, 0,125,255,236, 5,113, 5,205, 2, 6, 0, 50, 0, 0, 0, 1, 0,199, 0, 0, 4,193, 5,182, 0, 7, 0, 49, 64, 30, - 1, 90, 0,101, 9,176, 9, 1,111, 9,159, 9,175, 9, 3, 16, 9, 1, 4, 90, 5,100, 8, 3, 95, 6, 3, 5, 0, 18, 0, 63, - 50, 63,225, 1, 16,246,225, 93, 93, 93, 16,246,225, 49, 48, 33, 35, 17, 33, 17, 35, 17, 33, 4,193,187,253,123,186, 3,250, 5, - 18,250,238, 5,182, 0,255,255, 0,199, 0, 0, 4, 51, 5,182, 2, 6, 0, 51, 0, 0, 0, 1, 0, 78, 0, 0, 4, 18, 5,182, - 0, 11, 0, 90, 64, 13, 8, 91, 6, 32, 20, 23, 72, 2, 6, 2, 6, 1, 10,184,255,192, 64, 38, 6, 21, 72, 10, 10, 13, 15, 13, - 47, 13,111, 13,143, 13, 4, 6, 7, 9, 91, 3, 47, 1, 63, 1, 2, 1, 8, 2, 2, 9, 7, 95, 4, 3, 9, 95, 0, 18, 0, 63, -225, 63,225, 18, 57, 61, 47, 51, 1, 24, 47, 93, 51,225, 50, 94, 93, 17, 51, 47, 43, 18, 57, 57, 47, 47, 43,225, 49, 48, 51, 53, - 1, 1, 53, 33, 21, 33, 1, 1, 33, 21, 78, 1,158,254,110, 3,125,253, 88, 1,133,254,103, 2,247,152, 2,102, 2, 37,147,164, -253,238,253,164,164, 0,255,255, 0, 20, 0, 0, 4, 18, 5,182, 2, 6, 0, 55, 0, 0,255,255, 0, 0, 0, 0, 4, 55, 5,182, - 2, 6, 0, 60, 0, 0, 0, 3, 0,104,255,236, 5,186, 5,203, 0, 33, 0, 46, 0, 59, 0,129, 64, 80, 34, 2,103, 17, 1, 17, - 90, 59, 33,154, 18, 1,135, 18, 1,122, 18, 1, 18, 18, 27, 40, 91, 8,103, 61, 47, 61, 1, 0, 61, 1,208, 61, 1,175, 61,191, - 61, 2,144, 61, 1, 95, 61, 1, 48, 61, 1, 15, 61, 31, 61, 2, 6, 53, 91, 27,102, 60, 34, 59, 96, 19, 16, 19, 46, 47, 96, 33, - 2, 33, 19, 33, 19, 33, 17, 19, 0, 4, 0, 63, 63, 57, 57, 47, 47, 17, 51, 16,225, 50, 17, 51, 16,225, 50, 1, 16,246,225, 94, - 93, 93, 93, 93, 93, 93,113,113, 16,246,225, 17, 57, 47, 93, 93, 93, 51, 51,225, 93, 50, 50, 49, 48, 1, 51, 21, 51, 50, 30, 2, - 21, 20, 14, 4, 35, 35, 21, 35, 53, 35, 34, 46, 4, 53, 52, 62, 2, 51, 51, 19, 51, 50, 62, 2, 53, 52, 46, 2, 43, 3, 34, 14, - 2, 21, 20, 30, 2, 51, 51, 2,180,187, 73,134,194,126, 60, 24, 52, 84,120,159,101, 47,187, 47,101,159,120, 84, 53, 24, 61,126, -194,133, 74,187, 26, 93,139, 91, 46, 41, 83,127, 87, 57,187, 57, 87,127, 84, 40, 46, 91,139, 93, 26, 5,203,180, 94,153,196,102, - 61,129,123,110, 82, 48,225,225, 48, 82,110,123,129, 61,102,196,153, 94,252, 83, 59,105,148, 88, 78,139,104, 60, 60,104,139, 78, - 88,148,105, 59,255,255, 0, 0, 0, 0, 4, 96, 5,182, 2, 6, 0, 59, 0, 0, 0, 1, 0,104, 0, 0, 5,186, 5,182, 0, 37, - 0,112, 64, 71, 31,103, 9, 1, 9, 90, 28,154, 10, 1,135, 10, 1,122, 10, 1, 10, 10, 19, 35, 91, 0,103, 39, 47, 39, 1, 0, - 39, 1,208, 39, 1,175, 39,191, 39, 2,144, 39, 1, 95, 39, 1, 48, 39, 1, 15, 39, 31, 39, 2, 6, 22, 91, 19,102, 38, 31, 28, - 96, 8, 11, 11, 9, 36, 29, 20, 3, 9, 18, 0, 63, 63, 51, 51, 18, 57, 47, 51,225, 50, 1, 16,246,225, 94, 93, 93, 93, 93, 93, - 93,113,113, 16,246,225, 17, 57, 47, 93, 93, 93, 51,225, 93, 50, 49, 48, 1, 20, 14, 4, 35, 35, 17, 35, 17, 35, 34, 46, 4, 53, - 17, 51, 17, 20, 30, 2, 51, 51, 17, 51, 17, 51, 50, 54, 53, 17, 51, 5,186, 24, 52, 84,120,159,101, 47,187, 47,101,159,120, 84, - 53, 24,193, 46, 91,139, 93, 26,187, 26,186,183,192, 3,215, 61,127,119,106, 78, 46,254, 66, 1,190, 45, 78,104,119,126, 61, 1, -227,254, 33, 88,141, 98, 52, 3, 90,252,166,198,177, 1,227, 0, 0, 1, 0, 78, 0, 0, 5,166, 5,205, 0, 47, 0,124, 64, 81, - 14, 91, 11, 34, 91, 37, 32, 11, 48, 11, 2, 4, 11, 1, 47, 37, 63, 37,223, 37,239, 37, 4, 11, 37, 1, 7, 11, 37, 11, 37, 19, - 43, 91, 6, 35, 22, 35, 2, 35, 29,103, 49,208, 49, 1,207, 49, 1,128, 49, 1, 63, 49,111, 49, 2, 9, 13, 25, 13, 2, 8, 13, - 5, 91, 19,102, 48, 0, 95, 24, 4, 38, 34, 10, 13, 95, 37, 12, 18, 0, 63, 51,225, 50, 50, 50, 63,225, 1, 16,246,225, 51, 94, - 93, 93, 93, 93, 93, 16,246, 50, 93,225, 17, 57, 57, 47, 47, 94, 93, 93, 93, 93, 16,225, 16,225, 49, 48, 1, 34, 14, 2, 21, 20, - 30, 2, 23, 21, 33, 53, 33, 46, 3, 53, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 7, 33, 21, 33, 53, 62, 3, 53, 52, 46, 2, - 2,250,114,164,106, 50, 35, 81,131, 95,253,176, 1, 98, 64,111, 80, 46, 81,160,236,154,155,235,160, 81, 46, 80,110, 65, 1, 98, -253,176, 95,131, 81, 35, 50,106,164, 5, 41, 68,129,186,117,100,187,171,151, 65,147,164, 48,135,168,199,111,150,244,172, 94, 94, -172,244,150,111,199,168,135, 48,164,147, 65,151,171,187,100,117,186,129, 68, 0,255,255, 0, 64, 0, 0, 2,119, 7, 43, 2, 38, - 0, 44, 0, 0, 1, 7, 0,106,255, 13, 1, 82, 0, 23, 64, 13, 2, 1, 21, 5, 38, 2, 1, 0, 12, 32, 1, 0, 37, 1, 43, 53, - 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, 4, 55, 7, 43, 2, 38, 0, 60, 0, 0, 1, 7, 0,106,255,206, 1, 82, 0, 23, - 64, 13, 2, 1, 18, 5, 38, 2, 1, 1, 9, 29, 7, 2, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,113,255,236, 4,145, - 6, 33, 2, 38, 1,126, 0, 0, 1, 6, 1, 84, 25, 0, 0, 19, 64, 11, 2, 74, 17, 38, 2, 22, 62, 68, 22, 47, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 0, 90,255,236, 3, 92, 6, 33, 2, 38, 1,130, 0, 0, 1, 6, 1, 84,202, 0, 0, 19, 64, 11, 1, 70, - 17, 38, 1,109, 58, 64, 24, 45, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,174,254, 20, 4, 18, 6, 33, 2, 38, 1,132, 0, 0, - 1, 6, 1, 84, 68, 0, 0, 19, 64, 11, 1, 37, 17, 38, 1, 98, 25, 31, 11, 23, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164, -255,236, 2,119, 6, 33, 2, 38, 1,134, 0, 0, 1, 7, 1, 84,254,206, 0, 0, 0, 21,180, 1, 34, 17, 38, 1,184,255,253,180, - 22, 34, 21, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164,255,236, 4, 61, 6,180, 2, 38, 1,146, 0, 0, 1, 6, 1, 85, - 16, 0, 0, 18,178, 3, 2, 1,184,255,238,180, 44, 66, 5, 27, 37, 1, 43, 53, 53, 53, 0, 2, 0,113,255,236, 4,145, 4, 94, - 0, 16, 0, 61, 0, 56, 64, 30, 56, 30, 5, 71, 47, 40, 63, 16, 63, 1, 14, 72, 22, 86, 62, 34, 15, 30, 11, 80, 27, 15, 56, 47, - 44, 0, 80, 51, 17, 22, 0, 63, 51,225, 50, 50, 50, 63,225, 51, 63, 1, 16,246,225, 93, 16,212, 50,225, 50, 50, 49, 48, 37, 50, - 62, 2, 55, 53, 52, 46, 2, 35, 34, 6, 21, 20, 22, 23, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 51, 54, 54, 55, 51, 14, 3, - 21, 17, 20, 22, 51, 50, 54, 55, 21, 6, 6, 35, 34, 46, 2, 39, 35, 14, 3, 2, 53, 76,105, 65, 31, 2, 27, 65,108, 81,135,127, -127,102, 93,154,110, 60, 61,113,162,100,112,144, 49, 12, 10, 33, 25,143, 11, 19, 13, 8, 50, 34, 14, 37, 8, 15, 65, 34, 38, 63, - 50, 36, 12, 12, 22, 59, 77, 96,131, 47, 98,152,104, 15,101,157,107, 55,218,204,209,205,151, 72,143,212,140,141,213,144, 73, 83, - 85, 35, 82, 31, 33,104,121,126, 55,254, 93, 60, 51, 7, 3,133, 9, 17, 16, 39, 64, 48, 34, 61, 46, 26, 0, 2, 0,174,254, 20, - 4,117, 6, 31, 0, 27, 0, 61, 0, 89, 64, 52, 57, 72, 5, 8, 5, 31, 51, 47, 51, 2, 51, 5, 51, 5, 21, 44, 71, 12, 87, 63, - 32, 63, 48, 63, 2, 34, 21, 71, 22, 84, 62, 21, 27, 8, 50, 80, 15, 51, 1, 8, 51, 51, 0, 34, 39, 80, 17, 22, 28, 80, 0, 1, - 0, 63,225, 63,225, 50, 17, 57, 47, 94, 93,225, 57, 63, 1, 16,246,225, 50, 93, 16,246,225, 18, 57, 57, 47, 47, 93, 18, 57, 16, -225, 49, 48, 1, 50, 30, 2, 21, 20, 6, 7, 21, 22, 22, 21, 20, 14, 2, 35, 34, 38, 39, 17, 35, 17, 52, 62, 2, 23, 34, 14, 2, - 21, 17, 30, 3, 51, 50, 62, 2, 53, 52, 46, 2, 35, 35, 53, 51, 50, 62, 2, 53, 52, 46, 2, 2,119, 96,163,118, 67,152,143,176, -185, 63,120,173,109, 96,164, 60,182, 69,121,168, 99, 56,100, 75, 44, 32, 78, 82, 82, 36, 80,111, 70, 31, 53, 96,132, 79,102, 77, - 82,119, 78, 37, 38, 68, 95, 6, 31, 49, 98,148, 98,149,173, 23, 6, 21,202,186,108,162,109, 55, 32, 31,253,233, 6, 52,123,178, -115, 55,150, 31, 76,127, 96,252,146, 18, 30, 21, 11, 40, 77,111, 71, 80,117, 77, 37,152, 40, 73,102, 61, 63, 94, 62, 31, 0, 1, - 0, 10,254, 20, 3,223, 4, 74, 0, 27, 0, 99, 64, 22, 29, 64, 18, 21, 72, 80, 29, 1, 15, 29, 47, 29, 79, 29, 3, 7, 26, 5, - 1, 5, 72, 6,184,255,240, 64, 21, 6, 6, 11, 0, 19, 19, 12, 26, 0, 27, 32, 27, 64, 27, 3, 8, 27, 16, 27, 13, 12,184,255, -240, 64, 10, 12, 26, 12, 15, 19, 0, 11, 21, 5, 27, 0, 63, 63, 51, 51, 63, 51, 1, 47, 56, 51, 47, 56, 94, 93, 51, 18, 57, 61, - 47, 51, 51, 51, 24, 47, 56,225, 93, 94, 93, 93, 43, 49, 48, 37, 14, 3, 21, 35, 52, 62, 2, 55, 1, 51, 19, 30, 3, 23, 51, 62, - 3, 55, 19, 51, 2, 96, 22, 34, 24, 12,190, 15, 27, 37, 21,254, 96,189,217, 14, 30, 26, 20, 4, 6, 5, 20, 25, 27, 11,199,188, - 18, 62,136,134,126, 52, 42,121,137,141, 63, 4, 62,253,186, 40, 93, 90, 80, 27, 26, 82, 93, 90, 33, 2, 76, 0, 0, 2, 0,111, -255,236, 4, 45, 6, 31, 0, 50, 0, 68, 0, 81, 64, 46, 26, 70, 0, 56, 5, 5, 46, 51, 72, 15, 36, 87, 70, 64, 70,208, 70,224, - 70, 3, 15, 70, 1, 6, 61, 72, 46, 86, 69, 0, 36, 66, 26, 10, 56, 56, 10, 66, 80, 41, 22, 21, 80, 16, 10, 1, 0, 63, 51,225, - 63,225, 17, 57, 47, 18, 57, 18, 57, 51, 1, 16,246,225, 94, 93, 93, 16,246, 50,225, 17, 57, 47, 57, 57,225, 49, 48, 1, 46, 3, - 53, 52, 62, 2, 51, 50, 30, 2, 23, 7, 46, 3, 35, 34, 14, 2, 21, 20, 30, 2, 23, 30, 3, 21, 20, 14, 2, 35, 34, 46, 2, 53, - 52, 62, 2, 1, 52, 46, 2, 39, 14, 3, 21, 20, 30, 2, 51, 50, 54, 2, 20, 56, 93, 67, 37, 51, 92,125, 74, 68,113, 96, 81, 35, - 74, 32, 73, 81, 91, 51, 42, 60, 39, 18, 27, 60, 98, 71, 85,134, 92, 49, 69,127,178,109,103,174,127, 71, 67,114,153, 1,180, 30, - 57, 82, 53, 58,126,104, 68, 38, 73,105, 67,142,153, 3,170, 32, 75, 86, 98, 57, 72,105, 70, 34, 20, 31, 39, 19,145, 20, 38, 30, - 18, 23, 37, 50, 27, 37, 62, 61, 65, 41, 49,108,126,147, 88,127,193,131, 67, 61,117,170,110,106,163,122, 83,254, 81, 69,111, 89, - 73, 31, 16, 58, 98,145,103, 66,111, 81, 45,180, 0, 1, 0, 90,255,236, 3, 92, 4, 94, 0, 57, 0, 89, 64, 55, 29, 35, 1, 1, - 24, 16, 45, 87, 59,160, 59,176, 59,192, 59, 3, 63, 59, 95, 59, 2, 16, 59, 1, 52, 70, 35, 35, 5, 71, 24, 86, 58, 30, 2, 80, -191, 57, 1,121, 57,137, 57, 2, 57, 57, 10, 49, 80, 40, 16, 10, 80, 19, 22, 0, 63,225, 63,225, 18, 57, 47, 93, 93,225, 57, 1, - 16,246,225, 51, 47,225, 93, 93, 93, 16,230, 50, 17, 57, 47, 18, 57, 49, 48, 1, 21, 35, 34, 6, 21, 20, 30, 2, 51, 50, 62, 2, - 55, 21, 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 55, 53, 46, 3, 53, 52, 62, 2, 51, 50, 30, 2, 23, 7, 38, 38, 35, 34, 6, 21, - 20, 30, 2, 51, 2,156,129,138,133, 41, 70, 96, 55, 51, 92, 81, 71, 31, 59,158,109,113,166,108, 53, 38, 63, 82, 44, 43, 70, 51, - 28, 58,105,144, 86, 53, 90, 82, 77, 40, 63, 75,129, 71,108,115, 39, 72,100, 61, 2,135,153, 91, 94, 51, 69, 42, 18, 15, 24, 31, - 16,160, 34, 41, 49, 86,117, 67, 62, 88, 62, 41, 15, 11, 14, 43, 62, 80, 50, 70,109, 74, 38, 9, 19, 28, 20,147, 34, 38, 77, 77, - 45, 64, 39, 18, 0, 1, 0,113,254,111, 3,106, 6, 20, 0, 51, 0, 57, 64, 31, 46, 3, 3, 31, 70, 26, 32, 20, 1, 20, 53, 16, - 53,192, 53, 2, 10, 72, 41, 0, 0, 41, 86, 52, 25, 46, 3, 0, 80, 1, 0, 0, 63,225, 50, 50, 47, 1, 16,230, 50, 47, 16,225, - 93, 16,214, 93, 50,225, 51, 47, 51, 49, 48, 19, 53, 33, 21, 14, 5, 21, 20, 30, 2, 23, 30, 3, 21, 20, 14, 2, 7, 35, 62, 3, - 53, 52, 46, 2, 39, 46, 3, 53, 52, 18, 54, 54, 55, 6, 7, 6, 6, 35,174, 2,182,128,184,126, 76, 40, 13, 45, 84,120, 75, 71, - 95, 58, 25, 21, 34, 43, 22,170, 24, 43, 34, 20, 14, 48, 91, 77, 89,135, 92, 46, 92,154,201,108, 43, 47, 40, 96, 47, 5,123,153, -141,118,205,179,154,133,111, 48, 89,108, 64, 35, 17, 15, 46, 59, 72, 42, 45, 88, 82, 75, 31, 32, 72, 72, 67, 29, 20, 37, 34, 31, - 15, 17, 66,108,152,102,148, 1, 1,232,217,108, 3, 3, 2, 4, 0, 1, 0,174,254, 20, 4, 18, 4, 94, 0, 24, 0, 49, 64, 29, - 0, 71, 24, 85, 26, 16, 26, 96, 26,128, 26, 3, 14, 10, 71, 11, 84, 25, 14, 4, 80, 20, 16, 12, 15, 11, 21, 0, 27, 0, 63, 63, - 63, 63,225, 51, 1, 16,246,225, 50, 93, 16,246,225, 49, 48, 1, 17, 52, 38, 35, 34, 14, 2, 21, 17, 35, 17, 51, 23, 51, 62, 3, - 51, 50, 22, 21, 17, 3, 92,105,112, 81,110, 67, 29,182,148, 26, 10, 25, 69, 82, 92, 48,183,185,254, 20, 4,175,130,130, 52,102, -148, 96,253,199, 4, 74,148, 43, 63, 42, 20,191,210,251, 71, 0, 0, 3, 0,113,255,236, 4, 23, 6, 43, 0, 19, 0, 30, 0, 39, - 0, 91, 64, 58, 37, 25, 71, 0, 87, 41, 15, 41, 1,208, 41, 1,127, 41,159, 41, 2, 64, 41, 1, 15, 41, 1, 6, 36, 26, 71, 10, - 86, 40, 26, 80,203, 36, 1,186, 36, 1,137, 36,153, 36, 2, 15, 36, 1, 8, 36, 36, 20, 31, 80, 15, 1, 20, 80, 5, 22, 0, 63, -225, 63,225, 18, 57, 47, 94, 93, 93, 93, 93,225, 1, 16,246,225, 50, 94, 93, 93, 93, 93,113, 16,246,225, 50, 49, 48, 1, 20, 2, - 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 22, 18, 1, 50, 62, 2, 55, 33, 30, 3, 19, 34, 14, 2, 7, 33, 2, - 2, 4, 23, 52,112,179,126,118,175,116, 56, 51,111,177,126,118,176,117, 58,254, 43, 73,104, 69, 35, 3,253,203, 2, 33, 68,104, - 74, 71,102, 68, 35, 5, 2, 51, 9,132, 3, 12,188,254,215,206,109,109,206, 1, 41,188,188, 1, 41,206,108,107,205,254,215,252, -185, 74,148,223,149,147,223,149, 75, 5, 16, 69,137,205,137, 1, 17, 1, 19, 0, 0, 1, 0,164,255,236, 2,119, 4, 72, 0, 21, - 0, 53, 64, 35, 48, 9, 1, 9, 9, 23, 0, 23, 16, 23, 32, 23, 96, 23,112, 23,144, 23,192, 23,208, 23, 8, 8, 1, 71, 20, 84, - 22, 4, 80, 15, 22, 0, 15, 0, 63, 63,225, 1, 16,246,225, 94, 93, 17, 51, 47, 93, 49, 48, 1, 17, 20, 22, 51, 50, 62, 2, 55, - 21, 14, 3, 35, 34, 46, 2, 53, 17, 1, 90, 63, 72, 18, 45, 42, 36, 9, 13, 41, 48, 52, 24, 62,106, 77, 44, 4, 72,252,252, 97, - 98, 4, 6, 8, 3,138, 6, 12, 9, 5, 32, 78,133,101, 3, 4,255,255, 0,174, 0, 0, 3,240, 4, 74, 2, 6, 0,250, 0, 0, - 0, 1,255,242,255,236, 4, 23, 6, 33, 0, 46, 0,104, 64, 42, 34, 21, 21, 26, 18, 18, 1, 41, 10, 41, 10, 41, 0, 80, 26, 1, - 52, 26, 68, 26, 2, 0, 26, 16, 26, 32, 26, 3, 26, 26, 48, 96, 48,144, 48, 2, 15, 48, 1, 6, 46, 0,184,255,240, 64, 15, 0, - 46, 21, 41, 1, 1, 14, 23, 80, 30, 22, 7, 80, 14, 1, 0, 63,225, 63,225, 17, 57, 47, 51, 63, 1, 47, 56, 51, 94, 93, 93, 17, - 51, 47, 93, 93, 93, 18, 57, 57, 61, 47, 24, 47, 17, 51, 51, 17, 18, 57, 17, 51, 49, 48, 35, 1, 39, 46, 3, 35, 34, 6, 7, 53, - 54, 54, 51, 50, 30, 2, 23, 1, 22, 22, 51, 50, 54, 55, 21, 6, 6, 35, 34, 46, 2, 39, 3, 46, 3, 39, 35, 6, 6, 7, 3, 14, - 1,184, 53, 13, 31, 43, 61, 43, 34, 50, 20, 26, 66, 35, 74,105, 79, 63, 31, 1, 72, 18, 46, 38, 14, 38, 8, 23, 55, 37, 39, 59, - 47, 37, 15,135, 11, 29, 27, 22, 5, 6, 13, 53, 31,229, 4, 51,160, 41, 67, 49, 27, 7, 5,145, 7, 10, 42, 89,135, 93,252, 54, - 54, 57, 7, 3,133, 12, 14, 17, 40, 64, 46, 1,162, 33, 94, 97, 87, 25, 77,170, 79,253,193, 0, 0, 1, 0,174,254, 20, 4, 18, - 4, 74, 0, 29, 0, 63, 64, 38, 13, 12, 9, 71, 10, 85, 31, 16, 31, 32, 31, 96, 31,112, 31,128, 31, 5, 20, 0, 26, 71, 27, 84, - 30, 26, 27, 20, 13, 3, 80, 17, 22, 11, 21, 28, 9, 15, 0, 63, 51, 63, 63,225, 51, 51, 63, 1, 16,246,225, 50, 50, 93, 16,246, -225, 50, 50, 49, 48, 1, 20, 22, 51, 50, 62, 2, 53, 17, 51, 17, 35, 39, 35, 6, 6, 35, 34, 38, 39, 22, 23, 22, 22, 21, 17, 35, - 17, 51, 1,100,106,111, 82,110, 67, 28,182,147, 27, 10, 48,144,103, 72,106, 35, 1, 2, 2, 1,182,182, 1,135,130,130, 52,101, -148, 96, 2, 58,251,182,147, 83, 84, 46, 42, 38, 40, 35, 85, 42,254,192, 6, 54, 0, 1, 0, 0, 0, 0, 3,207, 4, 74, 0, 20, - 0, 59, 64, 22, 20, 19, 7, 7, 0, 13, 71, 14, 87, 22, 16, 22, 1,176, 22, 1, 15, 22, 1, 6, 1, 0,184,255,240,182, 0, 7, - 20, 21, 13, 0, 15, 0, 63, 50, 63, 51, 1, 47, 56, 50, 94, 93, 93,113, 16,246,225, 18, 57, 61, 47, 51, 51, 49, 48, 17, 51, 19, - 30, 3, 23, 51, 62, 2, 18, 53, 51, 20, 2, 2, 6, 7, 35,188,201, 12, 31, 30, 25, 5, 6, 90,114, 66, 25,182, 37, 92,154,117, -192, 4, 74,253,176, 33, 99,103, 92, 25, 96,205,231, 1, 5,151,163,254,224,254,245,253,127, 0, 0, 1, 0,113,254,111, 3,106, - 6, 20, 0, 70, 0,126, 64, 78, 50, 59, 59, 17, 42, 1, 65, 70, 56, 45, 45, 36, 28, 0, 1, 16, 1, 32, 1, 3, 8, 1, 1, 28, - 70, 32, 17, 1, 17, 72, 63, 72, 95, 72,127, 72,239, 72, 4, 16, 72, 1, 7, 72, 36, 86, 71, 60, 50, 56, 80, 57, 42, 0, 73, 28, - 89, 28,105, 28, 3, 56, 28, 1, 7, 36, 28, 3, 22, 1, 79, 0, 0, 22, 57, 0, 22,250, 0, 63, 63, 18, 57, 47,225, 17, 23, 57, - 93, 93, 17, 57, 16,225, 50, 50, 1, 16,246,225, 93, 93, 16,214, 93,241,192, 47, 94, 93, 17, 18, 57, 47, 51,225, 18, 57, 17, 51, - 47, 51, 49, 48, 1, 21, 35, 34, 14, 2, 21, 20, 30, 2, 23, 30, 3, 21, 20, 14, 2, 7, 35, 62, 3, 53, 52, 46, 2, 39, 38, 38, - 53, 52, 62, 2, 55, 53, 38, 38, 53, 52, 62, 2, 55, 6, 7, 6, 6, 35, 35, 53, 33, 21, 35, 34, 14, 2, 21, 20, 30, 2, 51, 3, - 35,162, 81,127, 87, 45, 45, 84,120, 75, 71, 95, 58, 25, 21, 34, 43, 22,170, 24, 43, 34, 20, 14, 48, 91, 77,178,184, 47, 78,102, - 55,101,114, 45, 79,107, 62, 34, 39, 33, 85, 46, 62, 2,129, 55, 73,145,115, 71, 32, 70,114, 81, 3,119,137, 49, 85,113, 65, 78, - 96, 59, 34, 17, 15, 46, 59, 72, 42, 45, 88, 82, 75, 31, 32, 72, 72, 67, 29, 20, 37, 34, 31, 15, 34,199,181, 77,127, 99, 67, 17, - 12, 28,134,117, 72,102, 73, 49, 19, 3, 3, 2, 4,153,141, 38, 78,117, 78, 53, 81, 55, 28, 0,255,255, 0,113,255,236, 4, 45, - 4, 94, 2, 6, 0, 82, 0, 0, 0, 1, 0, 25,255,236, 4,201, 4, 74, 0, 24, 0, 88, 64, 56, 10, 71,143, 22, 1, 22, 22, 14, - 3, 20, 20, 0, 3, 16, 3, 2, 3, 3, 26, 47, 26,159, 26,239, 26, 3, 16, 13, 71, 47, 14,239, 14,255, 14, 3, 14, 64, 16, 21, - 72, 14, 84, 25, 21, 12, 16, 80, 18, 15, 14, 21, 0, 80, 7, 22, 0, 63,225, 63, 63,225, 50, 50, 1, 16,246, 43, 93,225, 51, 93, - 17, 51, 47, 93, 51, 47, 17, 18, 57, 47, 93,225, 49, 48, 37, 50, 54, 55, 21, 6, 6, 35, 34, 38, 53, 17, 33, 17, 35, 17, 35, 53, - 55, 33, 21, 35, 17, 20, 22, 4, 80, 28, 47, 15, 15, 74, 48,113,113,254,109,182,221,137, 4, 39,211, 47,129, 13, 8,144, 9, 17, -132,130, 2,190,252, 80, 3,176, 74, 80,154,253, 78, 70, 55, 0, 0, 2, 0,164,254, 20, 4, 45, 4, 94, 0, 26, 0, 39, 0, 57, - 64, 33, 37, 72, 0, 87, 41,207, 41, 1, 64, 41, 1, 15, 41, 1, 6, 31, 9, 15, 71, 16, 84, 40, 27, 80, 22, 16, 15, 27, 34, 80, - 8, 5, 22, 0, 63, 51,225, 63, 63,225, 1, 16,246,225, 50, 50, 94, 93, 93, 93, 16,246,225, 49, 48, 1, 20, 14, 2, 35, 34, 38, - 39, 35, 22, 23, 22, 22, 21, 17, 35, 17, 52, 62, 2, 51, 50, 30, 2, 1, 34, 6, 7, 17, 22, 22, 51, 50, 54, 53, 52, 38, 4, 45, - 63,117,167,104, 75,143, 54, 6, 1, 2, 2, 1,182, 65,120,169,105, 97,163,119, 67,254, 59,137,130, 3, 54,143, 75,140,123,125, - 2, 39,137,213,145, 76, 45, 45, 43, 46, 39, 97, 46,254,221, 4, 19,136,211,145, 75, 75,145,211, 1, 24,196,200,254,172, 51, 49, -211,209,209,207, 0, 1, 0,113,254,111, 3,111, 4, 94, 0, 49, 0, 81, 64, 54, 39, 39, 21, 70, 16, 0, 10, 16, 10, 32, 10, 3, - 10, 51, 63, 51, 95, 51,127, 51,239, 51, 4, 16, 51, 1, 0, 72, 31, 86, 50, 40, 45, 81, 55, 10, 1, 40, 21, 56, 21, 72, 21, 3, - 21, 10, 31, 0, 4, 15, 36, 16, 15,250, 0, 63, 63, 18, 23, 57, 93, 93,225, 50, 1, 16,246,225, 93, 93, 16,214, 93, 50,225, 51, - 47, 49, 48, 1, 20, 30, 2, 23, 30, 3, 21, 20, 14, 2, 7, 35, 62, 3, 53, 52, 46, 2, 39, 46, 3, 53, 52, 62, 2, 51, 50, 22, - 23, 7, 46, 3, 35, 34, 14, 2, 1, 45, 28, 73,126, 97, 71, 95, 58, 25, 21, 34, 43, 22,170, 24, 43, 34, 20, 14, 48, 91, 77, 77, -132, 98, 55, 73,131,179,106, 78,149, 50, 54, 23, 56, 60, 58, 26, 80,114, 73, 34, 2, 6, 96,121, 78, 47, 22, 15, 46, 59, 72, 42, - 45, 88, 82, 75, 31, 32, 72, 72, 67, 29, 20, 37, 34, 31, 15, 15, 65,118,180,130,154,226,149, 73, 34, 25,154, 10, 19, 15, 9, 57, -112,164, 0, 2, 0,113,255,236, 4,133, 4, 74, 0, 22, 0, 41, 0, 54, 64, 33, 36, 33, 72, 18, 16, 0, 87, 43, 16, 43,144, 43, -160, 43,176, 43,224, 43, 5, 23, 72, 10, 86, 42, 18, 37, 80, 15, 15, 28, 80, 5, 22, 0, 63,225, 63,225, 50, 1, 16,246,225, 93, - 16,246, 50, 50,225, 50, 49, 48, 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 33, 21, 33, 30, 3, 5, 20, 30, 2, 51, 50, - 62, 2, 53, 52, 38, 39, 35, 34, 14, 2, 4, 45, 62,122,180,117,107,175,125, 68, 77,144,206,128, 1,233,254,246, 37, 65, 48, 28, -253, 0, 33, 71,110, 77, 76,109, 71, 33, 79, 75, 59, 95,139, 90, 43, 1,248,111,192,141, 80, 70,138,203,133,156,218,138, 62,154, - 41, 93,108,124, 54, 85,144,105, 59, 55, 98,134, 78,144,215, 89, 44, 99,161, 0, 0, 1, 0, 18,255,229, 3,102, 4, 74, 0, 28, - 0, 58, 64, 36, 1, 15, 13, 31, 13, 2, 6, 13, 87, 30, 16, 30, 1, 43, 26, 59, 26, 2, 26, 3, 71, 16, 24,224, 24, 2, 24, 2, - 25, 80, 28, 15, 8, 80, 19, 22, 0, 63,225, 63,225, 50, 1, 47, 93,225,198, 93, 93, 16,230, 94, 93, 50, 49, 48, 1, 21, 33, 17, - 20, 30, 2, 51, 50, 62, 2, 55, 21, 14, 3, 35, 34, 46, 2, 53, 17, 33, 53, 55, 3,102,254,140, 25, 45, 62, 36, 18, 42, 40, 36, - 13, 13, 39, 46, 53, 27, 64,117, 89, 52,254,215,134, 4, 74,154,253,162, 59, 82, 51, 23, 3, 6, 7, 4,135, 6, 12, 11, 6, 29, - 77,134,104, 2,115, 74, 80, 0, 0, 1, 0,164,255,236, 4, 61, 4, 74, 0, 29, 0, 41, 64, 24, 16, 71, 27, 87, 31, 16, 31, 96, - 31,128, 31, 3, 8, 71, 5, 84, 30, 21, 6, 15, 13, 80, 0, 22, 0, 63,225, 63, 51, 1, 16,246,225, 93, 16,246,225, 49, 48, 5, - 34, 46, 2, 53, 17, 51, 17, 20, 30, 2, 51, 50, 54, 53, 52, 46, 2, 39, 51, 30, 3, 21, 16, 2, 2, 92,129,170,100, 41,182, 32, - 66,102, 70,146,141, 9, 16, 23, 15,182, 15, 24, 16, 8,244, 20, 80,140,189,109, 2, 88,253,178, 86,140, 99, 54,232,247, 71,125, -117,116, 61, 61,114,119,129, 75,254,193,254,211, 0, 2, 0,113,254, 20, 5, 37, 4, 94, 0, 37, 0, 53, 0, 94, 64, 60, 49, 37, - 71, 22,150, 0,166, 0, 2, 0, 0, 6, 38, 72, 31, 87, 55, 32, 55, 1, 15, 55, 1,224, 55, 1,111, 55,127, 55,159, 55, 3, 64, - 55, 1, 15, 55, 31, 55, 2, 6, 17, 71, 6, 86, 54, 43, 80, 11, 26, 16, 49, 22, 80, 36, 1, 22, 0, 27, 0, 63, 63, 51,225, 50, - 63, 51,225, 1, 16,246,225, 94, 93, 93, 93, 93,113,113, 16,246,225, 17, 57, 47, 93, 51,225, 50, 49, 48, 1, 17, 46, 3, 53, 52, - 62, 2, 55, 23, 14, 3, 21, 20, 30, 2, 23, 17, 52, 54, 51, 50, 30, 2, 21, 20, 14, 2, 7, 17, 1, 52, 46, 2, 35, 34, 14, 2, - 21, 17, 62, 3, 2,102,109,183,134, 75, 32, 56, 78, 45,141, 37, 63, 45, 25, 51, 88,116, 64,165,145, 90,146,102, 55, 86,144,190, -104, 1, 79, 30, 54, 73, 43, 27, 49, 37, 22, 72,123, 89, 51,254, 20, 1,218, 5, 67,137,213,151, 83,152,138,125, 55, 96, 51,104, -114,125, 71,111,153, 97, 48, 7, 2, 94,188,193, 80,144,201,122,149,217,144, 74, 5,254, 38, 4, 37, 98,148,101, 51, 23, 53, 87, - 65,253,160, 7, 59,107,159, 0, 0, 1,255,236,254, 20, 4, 37, 4, 78, 0, 40, 0,160, 64, 26,104, 31,120, 31, 2, 31,103, 9, -119, 9,199, 9, 3, 9, 6,118, 28, 1, 55, 28, 1, 28, 28, 30, 7, 8,184,255,192, 64, 14, 19, 22, 72, 52, 8, 1, 8, 16, 8, - 8,192, 18, 1, 18,184,255,192, 64, 25, 6, 11, 72, 18, 18, 42, 15, 42, 63, 42, 79, 42,207, 42, 4, 6,176, 37,192, 37, 2, 37, - 37, 29, 30,184,255,240, 64, 31, 30, 30, 41, 30, 27, 23, 6, 39, 6, 2, 24, 28, 40, 28, 2, 28, 9, 31, 6, 4, 0, 15, 80, 22, - 27, 7, 15, 35, 80, 0, 15, 0, 63,225, 63, 63,225, 18, 23, 57, 93, 93, 63, 17, 1, 51, 47, 56, 51, 51, 47, 93, 94, 93, 17, 51, - 47, 43, 93, 51, 47, 56, 93, 43, 51, 18, 57, 61, 47, 93, 93, 51, 51, 93, 51, 93, 49, 48, 19, 50, 30, 2, 23, 19, 1, 51, 1, 19, - 30, 3, 51, 50, 54, 55, 21, 6, 6, 35, 34, 46, 2, 39, 3, 1, 35, 1, 3, 38, 38, 35, 34, 7, 53, 54, 54,188, 45, 73, 58, 49, - 21,123, 1, 31,178,254,115,178, 14, 29, 38, 52, 37, 26, 46, 16, 22, 57, 40, 67, 95, 71, 51, 23,131,254,182,194, 1,198,160, 27, - 71, 53, 36, 28, 22, 62, 4, 78, 31, 62, 92, 61,254,168, 2, 74,252,248,254, 32, 38, 66, 51, 29, 5, 3,141, 6, 11, 38, 70,102, - 65, 1,106,253,131, 3, 62, 1,190, 79, 89, 10,143, 7, 10, 0, 0, 1, 0,164,254, 20, 5,113, 6, 18, 0, 39, 0, 76, 64, 47, - 1, 23, 71, 38, 24, 24, 30, 6, 71, 17, 87, 41, 48, 41, 64, 41,144, 41,176, 41,192, 41, 5, 15, 41, 31, 41, 2, 6, 33, 71, 30, - 84, 40, 11, 31, 15, 1, 38, 80, 22, 25, 22, 23, 27, 0, 0, 0, 63, 63, 63, 51,225, 50, 63, 51, 1, 16,246,225, 94, 93, 93, 16, -246,225, 17, 57, 47, 51,225, 50, 49, 48, 1, 17, 62, 3, 53, 52, 46, 2, 39, 51, 30, 3, 21, 20, 14, 2, 7, 17, 35, 17, 46, 3, - 53, 17, 51, 17, 20, 30, 2, 23, 17, 3, 86, 78,131, 95, 52, 8, 15, 24, 16,182, 16, 24, 16, 8, 87,147,196,109,178,111,188,137, - 76,182, 54, 90,120, 66, 6, 18,250,115, 9, 60,108,156,103, 71,128,126,131, 73, 72,131,126,126, 68,157,220,140, 69, 7,254, 38, - 1,218, 4, 65,136,214,154, 2, 31,253,217,114,154, 97, 46, 5, 5,143, 0, 1, 0,113,255,236, 5,150, 4, 74, 0, 59, 0,112, - 64, 72, 56,103, 29, 1, 29, 71,213, 26, 1,183, 26, 1,169, 26, 1,154, 26, 1, 3, 26, 26, 5, 37, 72, 48, 87, 61, 4, 61, 20, - 61, 2,196, 61,244, 61, 2,123, 61,155, 61, 2, 64, 61, 1, 2, 48, 61, 1, 15, 61, 31, 61, 2, 6, 16, 72, 5, 86, 60, 27, 27, - 42, 10, 15, 32, 21, 80, 57, 53, 0, 22, 0, 63, 50, 50,225, 50, 63, 51, 57, 47, 1, 16,246,225, 94, 93, 93, 95, 93, 93, 93,113, - 16,246,225, 17, 57, 47, 95, 93, 93, 93, 93,225, 93, 57, 49, 48, 5, 34, 46, 2, 53, 52, 62, 2, 55, 51, 14, 3, 21, 20, 30, 2, - 51, 50, 62, 2, 53, 17, 51, 17, 20, 22, 51, 50, 62, 2, 53, 52, 46, 2, 39, 51, 30, 3, 21, 20, 14, 2, 35, 34, 38, 39, 35, 6, - 6, 1,233, 90,140, 96, 50, 15, 31, 47, 32,186, 32, 47, 31, 15, 29, 54, 75, 45, 46, 68, 44, 22,178, 99, 81, 45, 75, 54, 29, 15, - 31, 47, 32,187, 32, 47, 31, 15, 50, 96,141, 90,107,139, 31, 10, 31,139, 20, 82,146,203,121, 81,143,135,135, 72, 73,134,135,142, - 82, 98,150,101, 52, 41, 72, 98, 57, 1, 50,254,206,129,139, 52,101,150, 98, 82,142,135,134, 73, 72,135,135,143, 81,121,203,146, - 82, 87, 91, 91, 87, 0,255,255, 0, 21,255,236, 2,119, 5,217, 2, 38, 1,134, 0, 0, 1, 7, 0,106,254,226, 0, 0, 0, 23, - 64, 13, 2, 1, 31, 17, 38, 2, 1, 50, 22, 42, 20, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,164,255,236, 4, 61, - 5,217, 2, 38, 1,146, 0, 0, 1, 6, 0,106, 0, 0, 0, 25,182, 2, 1, 39, 17, 38, 2, 1,184,255,222,180, 30, 50, 5, 27, - 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,113,255,236, 4, 45, 6, 33, 2, 38, 0, 82, 0, 0, 1, 6, 1, 84, 14, 0, - 0, 19, 64, 11, 2, 44, 17, 38, 2, 61, 32, 38, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164,255,236, 4, 61, 6, 33, - 2, 38, 1,146, 0, 0, 1, 6, 1, 84, 16, 0, 0, 19, 64, 11, 1, 42, 17, 38, 1, 29, 30, 36, 5, 27, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0,113,255,236, 5,150, 6, 33, 2, 38, 1,150, 0, 0, 1, 7, 1, 84, 0,195, 0, 0, 0, 33, 64, 9, 1, 72, - 17, 38, 1, 96, 60, 1, 60,184,255,192, 64, 9, 9, 11, 72, 61, 60, 66, 5, 48, 37, 1, 43, 43, 93, 53, 0, 43, 53, 0,255,255, - 0,199, 0, 0, 3,190, 7, 43, 2, 38, 0, 40, 0, 0, 1, 7, 0,106,255,245, 1, 82, 0, 23, 64, 13, 2, 1, 21, 5, 38, 2, - 1, 1, 12, 32, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 1, 0, 20,255,236, 5, 6, 5,182, 0, 37, 0,133, 64, 90, - 4, 4, 19, 12, 90, 15, 33, 1,223, 33,255, 33, 2, 33, 85, 39, 15, 39,111, 39,127, 39, 3, 6, 26,244, 24, 1,160, 24,176, 24, - 2,116, 24, 1, 24, 24, 18, 90, 19, 0, 21, 48, 21, 64, 21, 80, 21,192, 21, 5, 21, 21,176, 19, 1,103, 19,119, 19, 2, 94, 19, - 1, 63, 19, 79, 19, 2, 0, 19, 1, 19, 17, 95, 26, 26, 7, 25, 21, 95, 22, 3, 19, 18, 7, 95, 0, 19, 0, 63,225, 63, 63,225, - 50, 18, 57, 47,225, 1, 47, 93, 93, 93, 93, 93, 51, 47, 93, 16,225, 50, 47, 93, 93, 93, 50, 94, 93, 16,246, 93,113,225, 18, 57, - 47, 49, 48, 5, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 53, 53, 52, 38, 35, 33, 17, 35, 17, 33, 53, 33, 21, 33, 17, 33, 50, 30, - 2, 21, 21, 20, 14, 2, 3,158, 47, 70, 25, 29, 68, 39, 32, 64, 51, 33,105,123,254,187,187,254,172, 3,177,254, 94, 1, 90, 93, -146,101, 53, 53, 95,132, 20, 13, 11,160, 9, 12, 19, 51, 87, 69,133,115,116,253, 35, 5, 18,164,164,254,111, 49, 94,139, 89,137, -105,154,101, 49,255,255, 0,199, 0, 0, 3,190, 7,115, 2, 38, 1, 97, 0, 0, 1, 7, 0,118, 0, 51, 1, 82, 0, 19, 64, 11, - 1, 18, 5, 38, 1, 62, 6, 12, 4, 0, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,125,255,236, 4,152, 5,203, 0, 38, 0, 95, - 64, 19, 17, 64, 19, 24, 72, 7, 17, 7, 17, 27,202, 35, 1,112, 35,128, 35, 2, 35,184,255,192, 64, 36, 7, 10, 72, 35, 35, 40, -191, 40, 1, 5, 8, 91, 27,102, 39, 8, 95, 15, 5,175, 5, 2, 8, 5, 5, 13, 36, 0, 95, 32, 4, 13, 95, 16, 22, 19, 0, 63, - 51,225, 63,225, 51, 18, 57, 47, 94, 93,225, 1, 16,246,225, 50, 93, 17, 51, 47, 43, 93, 93, 18, 57, 57, 47, 47, 43, 49, 48, 1, - 34, 14, 2, 7, 33, 21, 33, 30, 3, 51, 50, 54, 55, 21, 14, 3, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, 7, 38, - 38, 3, 25, 95,160,120, 77, 13, 2,116,253,134, 5, 64,118,171,113, 89,160, 78, 39, 78, 85, 97, 59,164,240,157, 76, 87,169,250, -162,108,196, 79, 78, 63,148, 5, 39, 65,122,175,111,162,130,201,138, 72, 35, 23,162, 15, 23, 14, 7,108,198, 1, 22,169,166, 1, - 20,198,110, 44, 42,156, 32, 46,255,255, 0,104,255,236, 3,201, 5,203, 2, 6, 0, 54, 0, 0,255,255, 0, 82, 0, 0, 2,100, - 5,182, 2, 6, 0, 44, 0, 0,255,255, 0, 64, 0, 0, 2,119, 7, 43, 2, 38, 0, 44, 0, 0, 1, 7, 0,106,255, 13, 1, 82, - 0, 23, 64, 13, 2, 1, 21, 5, 38, 2, 1, 0, 12, 32, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255,255, 72,254,123, - 1,115, 5,182, 2, 6, 0, 45, 0, 0, 0, 2, 0, 0,255,233, 6,223, 5,182, 0, 42, 0, 53, 0,141,181, 37, 43, 90, 6, 13, - 8,184,255,248, 64, 83, 20, 23, 72, 8, 90, 35,153, 30, 1, 30, 16, 30, 35, 0, 6,144, 6, 2, 6,224, 35, 1,180, 35,196, 35, -212, 35, 3, 0, 35, 80, 35,144, 35,160, 35, 4, 7, 6, 35, 6, 35, 21, 47, 91, 0,103, 55,207, 55, 1, 55, 64, 6, 9, 72, 21, - 21, 54, 53, 95, 15, 37,175, 37, 2, 8, 37, 37, 43, 8, 95, 35, 3, 25, 96, 18, 19, 43, 96, 6, 18, 0, 63,225, 63,225, 63,225, - 18, 57, 47, 94, 93,225, 17, 1, 51, 47, 43, 93, 16,246,225, 17, 57, 57, 47, 47, 94, 93, 93, 93, 94, 93, 17, 51, 56, 93, 16,225, - 43, 50, 16,225, 50, 49, 48, 1, 20, 14, 2, 35, 33, 17, 33, 14, 3, 7, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 55, - 54, 54, 18, 18, 55, 33, 17, 51, 50, 30, 2, 1, 51, 50, 54, 53, 52, 46, 2, 35, 35, 6,223, 60,126,194,134,254,191,254,194, 15, - 31, 33, 34, 16, 20, 53, 79,110, 78, 35, 74, 28, 23, 58, 32, 48, 62, 42, 26, 12, 12, 32, 39, 43, 22, 2,147,109,152,207,126, 55, -253,119,119,174,164, 46, 91,139, 93, 88, 1,172, 97,158,112, 61, 5, 18,113,244,236,212, 81,103,162,111, 59, 14, 11,154, 13, 16, - 63, 98,117, 54, 57,200, 1, 6, 1, 58,170,253,152, 66,113,152,254,157,132,136, 70, 97, 60, 27, 0, 2, 0,199, 0, 0, 7, 12, - 5,182, 0, 22, 0, 33, 0, 83, 64, 50, 17, 23, 90, 14, 6, 6, 10, 27, 91, 0,103, 35, 15, 35, 1, 15, 35, 31, 35,127, 35,255, - 35, 4, 13, 9, 90, 10,100, 34, 33, 8, 95, 17, 15, 13,175, 13, 2, 8, 13, 13, 15, 11, 3, 23, 96, 10, 6, 18, 0, 63, 51,225, - 63, 51, 57, 47, 94, 93, 51,225, 50, 1, 16,246,225, 50, 93,113, 16,246,225, 17, 57, 47, 51,225, 50, 49, 48, 1, 20, 14, 2, 35, - 33, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 51, 50, 30, 2, 1, 51, 50, 54, 53, 52, 46, 2, 35, 35, 7, 12, 60,126,194,134, -254,191,253,184,186,186, 2, 72,186,109,152,207,126, 55,253,119,119,174,164, 46, 91,139, 93, 88, 1,172, 97,158,112, 61, 2,170, -253, 86, 5,182,253,152, 2,104,253,152, 66,113,152,254,157,132,136, 70, 97, 60, 27, 0, 0, 1, 0, 20, 0, 0, 5, 6, 5,182, - 0, 21, 0,115, 64, 77, 8, 90, 7, 85, 23, 15, 23,111, 23,127, 23, 3, 6,244, 20, 1,160, 20,176, 20, 2,116, 20, 1, 20, 20, - 0, 14, 90, 15, 0, 17, 48, 17, 64, 17, 80, 17,192, 17, 5, 17, 17,176, 15, 1,103, 15,119, 15, 2, 94, 15, 1, 63, 15, 79, 15, - 2, 0, 15, 1, 15, 21, 17, 95, 18, 13, 95, 0, 0, 7, 18, 3, 15, 7, 18, 0, 63, 51, 63, 18, 57, 47,225, 16,225, 50, 1, 47, - 93, 93, 93, 93, 93, 51, 47, 93, 16,225, 50, 50, 47, 93, 93, 93, 94, 93, 16,246,225, 49, 48, 1, 33, 50, 30, 2, 21, 17, 35, 17, - 52, 38, 35, 33, 17, 35, 17, 33, 53, 33, 21, 33, 2, 35, 1, 90, 93,146,101, 53,186,105,123,254,187,187,254,172, 3,177,254, 94, - 3,129, 49, 94,139, 89,253,242, 1,246,115,116,253, 35, 5, 18,164,164,255,255, 0,199, 0, 0, 4,162, 7,115, 2, 38, 1,180, - 0, 0, 1, 7, 0,118, 0,137, 1, 82, 0, 19, 64, 11, 1, 23, 5, 38, 1, 34, 11, 17, 4, 0, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0, 25,255,236, 4,174, 7,105, 2, 38, 1,189, 0, 0, 1, 7, 2, 54, 0, 35, 1, 82, 0, 19, 64, 11, 1, 39, 5, 38, - 1, 13, 44, 34, 19, 0, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,199,254,127, 4,193, 5,182, 0, 11, 0, 99, 64, 65,198, 2, -214, 2, 2, 2, 90,197, 3,213, 3, 2,168, 3, 1,150, 3, 1, 3, 16, 14, 17, 72, 71, 3, 1, 58, 3, 1, 3, 3, 5, 9, 90, - 0,101, 13,176, 13, 1,111, 13,159, 13,175, 13, 3, 16, 13, 1, 8, 90, 5,100, 12, 10, 6, 3, 8, 95, 5, 2, 2, 1, 5, 0, - 47, 51, 51, 47, 16,225, 63, 51, 1, 16,246,225, 93, 93, 93, 16,246,225, 17, 57, 47, 93, 93, 43, 93, 93, 93,225, 93, 49, 48, 33, - 33, 17, 35, 17, 33, 17, 51, 17, 33, 17, 51, 4,193,254, 90,177,254, 93,186, 2,133,187,254,127, 1,129, 5,182,250,240, 5, 16, -255,255, 0, 0, 0, 0, 4,221, 5,188, 2, 6, 0, 36, 0, 0, 0, 2, 0,199, 0, 0, 4, 51, 5,182, 0, 16, 0, 27, 0, 75, - 64, 46, 95, 8, 1, 8, 8, 17, 21, 91, 0,103, 29, 15, 29, 95, 29,127, 29,207, 29, 4, 6, 11, 17, 90, 6,100, 28, 27, 95, 15, - 11,175, 11, 2, 8, 11, 11, 17, 10, 95, 7, 3, 17, 96, 6, 18, 0, 63,225, 63,225, 18, 57, 47, 94, 93,225, 1, 16,246,225, 50, - 94, 93, 16,246,225, 18, 57, 47, 93, 49, 48, 1, 20, 14, 2, 35, 33, 17, 33, 21, 33, 17, 51, 50, 30, 2, 1, 51, 50, 54, 53, 52, - 46, 2, 35, 35, 4, 51, 60,126,194,134,254,150, 3, 20,253,166,150,152,207,126, 55,253, 78,160,174,164, 46, 91,139, 93,129, 1, -172, 97,158,112, 61, 5,182,164,254, 60, 66,113,152,254,157,132,136, 70, 97, 60, 27, 0,255,255, 0,199, 0, 0, 4,135, 5,182, - 2, 6, 0, 37, 0, 0,255,255, 0,199, 0, 0, 3,190, 5,182, 2, 6, 1, 97, 0, 0, 0, 2, 0, 14,254,127, 5, 10, 5,182, - 0, 17, 0, 27, 0,139, 64, 11, 24, 27, 40, 27, 2, 27, 7, 55, 20, 1, 20,184,255,248, 64, 11, 20, 23, 72, 20, 90, 14, 15, 7, - 1, 7, 7,184,255,240, 64, 16, 48, 14,192, 14, 2, 7, 14, 7, 14, 5, 18, 90, 16, 1, 90, 0,184,255,192, 64, 37, 16, 21, 72, - 0, 0, 16,101, 29, 32, 29, 1, 15, 29, 1, 8, 4, 90, 5, 5, 28, 20, 95, 14, 3, 9, 81, 8, 27, 16, 6, 95, 3, 0, 5, 5, - 3, 18, 0, 63, 51, 47, 51, 16,225, 50, 50, 47,226, 63,225, 17, 1, 51, 47,225, 94, 93, 93, 16,228, 50, 47, 43,225, 16,225, 17, - 57, 57, 47, 47, 93, 56, 94, 93, 16,225, 43, 93, 17, 51, 93, 49, 48, 1, 35, 17, 33, 17, 35, 17, 51, 62, 5, 55, 33, 17, 51, 33, - 17, 33, 14, 5, 7, 5, 10,176,252,100,176,113, 47, 86, 77, 65, 48, 29, 4, 2,101,194,254,131,254,250, 4, 31, 46, 61, 70, 77, - 39,254,127, 1,129,254,127, 2, 39, 85,200,217,230,232,227,105,250,240, 4,106, 76,185,202,209,200,183, 75, 0,255,255, 0,199, - 0, 0, 3,190, 5,182, 2, 6, 0, 40, 0, 0, 0, 1, 0, 4, 0, 0, 6,129, 5,182, 0, 17, 0,203, 64, 78,102, 9,118, 9, -134, 9, 3, 55, 9, 71, 9, 87, 9, 3, 9, 6, 6, 71, 13,247, 13, 2, 13, 90,105, 0,121, 0,137, 0, 3, 56, 0, 72, 0, 88, - 0, 3, 0, 3, 3,168, 14,184, 14, 2,153, 14, 1,134, 14, 1, 87, 14,103, 14,119, 14, 3, 14, 14, 17, 10, 7, 8, 8, 11, 0, - 10, 1,112, 10,128, 10,192, 10, 3, 10,184,255,192, 64, 38, 7, 10, 72, 10, 16, 10, 10, 19,240, 19, 1,191, 19,207, 19,223, 19, - 3,160, 19, 1,143, 19, 1, 64, 19, 1, 15, 19, 31, 19, 2, 8, 2, 1, 1, 16, 17,184,255,240, 64, 15, 17, 17, 18, 6, 3, 3, - 4, 17, 10, 14, 18, 7, 1, 4, 3, 0, 63, 51, 51, 63, 51, 51, 18, 57, 17, 51, 17, 1, 51, 47, 56, 51, 51, 17, 51, 94, 93, 93, - 93, 93, 93, 93, 17, 51, 47, 56, 43, 93,113, 51, 51, 17, 51, 17, 18, 57, 47, 93, 93, 93, 93, 51, 17, 51, 93, 93,225, 93, 50, 17, - 51, 93, 93, 49, 48, 1, 1, 51, 1, 17, 51, 17, 1, 51, 1, 1, 35, 1, 17, 35, 17, 1, 35, 2, 37,253,237,205, 2, 10,179, 2, - 10,205,253,237, 2, 33,211,253,238,179,253,238,211, 2,242, 2,196,253, 60, 2,196,253, 60, 2,196,253, 60,253, 14, 2,229,253, - 27, 2,229,253, 27, 0, 0, 1, 0, 72,255,236, 3,236, 5,203, 0, 57, 0,104, 64, 63, 39, 91, 0, 5, 33, 0, 48, 33, 0, 0, - 33, 48, 3, 19, 28, 91, 11,103, 59,159, 59, 1,112, 19,128, 19, 2, 63, 19, 79, 19, 95, 19, 3, 19, 19, 58, 5, 32, 96,170, 33, - 1,120, 33, 1, 15, 33, 1, 8, 33, 33, 25, 47, 44, 96, 53, 4, 25, 96, 20, 16, 19, 0, 63, 51,225, 63,225, 51, 18, 57, 47, 94, - 93, 93, 93,225, 57, 17, 1, 51, 47, 93, 93, 93, 16,246,225, 18, 23, 57, 47, 47, 47, 17, 18, 57, 16,225, 49, 48, 1, 20, 14, 2, - 7, 21, 30, 3, 21, 20, 14, 2, 35, 34, 38, 39, 53, 30, 3, 51, 50, 54, 53, 52, 38, 35, 35, 53, 51, 50, 62, 2, 53, 52, 46, 2, - 35, 34, 6, 7, 39, 62, 3, 51, 50, 30, 2, 3,209, 51, 91,125, 75, 87,138, 94, 50, 67,136,205,137,110,192, 85, 43, 96, 99, 99, - 46,178,176,207,186,191,176, 92,142, 97, 50, 37, 68, 95, 58,110,169, 75, 92, 38, 98,116,131, 71,109,166,113, 57, 4, 96, 73,120, - 88, 57, 12, 6, 11, 57, 89,119, 72, 96,160,116, 64, 34, 45,170, 23, 36, 24, 13,148,135,135,129,151, 39, 72,101, 61, 54, 83, 58, - 30, 67, 54,125, 31, 54, 41, 24, 54, 97,133, 0, 0, 1, 0,201, 0, 0, 5, 16, 5,182, 0, 23, 0,107, 64, 27, 20, 11, 14, 90, - 13,101, 25,208, 25, 1,175, 25, 1, 32, 25, 48, 25, 2, 22, 9, 2, 90, 23,100, 24, 23, 9,184,255,232,179, 20, 24, 72, 9,184, -255,224, 64, 35, 10, 19, 72, 6, 9, 22, 9, 38, 9, 3, 9, 13, 18, 20, 24, 20, 24, 72, 20, 32, 10, 19, 72, 9, 20, 25, 20, 41, - 20, 3, 7, 20, 11, 0, 3, 0, 63, 50, 50, 94, 93, 43, 43, 63, 51, 93, 43, 43, 51, 1, 16,246,225, 50, 50, 93, 93, 93, 16,246, -225, 50, 50, 49, 48, 19, 51, 17, 20, 14, 2, 7, 6, 7, 51, 1, 51, 17, 35, 17, 52, 54, 55, 54, 55, 35, 1, 35,201,174, 1, 2, - 2, 2, 4, 4, 7, 2,204,213,172, 6, 4, 4, 5, 8,253, 49,215, 5,182,252,224, 26, 62, 67, 67, 32, 74, 76, 4,180,250, 74, - 3, 25, 57,142, 65, 76, 77,251, 70, 0,255,255, 0,201, 0, 0, 5, 16, 7,105, 2, 38, 1,178, 0, 0, 1, 7, 2, 54, 0,137, - 1, 82, 0, 21,180, 1, 29, 5, 38, 1,184,255,235,180, 34, 24, 0, 12, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,199, 0, 0, - 4,162, 5,182, 0, 10, 0, 94, 64, 33, 8, 9, 9, 16, 9, 1, 0, 0, 16, 0, 2, 7, 0, 16, 0, 0, 12,176, 12, 1, 47, 12, - 1, 16, 12, 1,151, 10, 1, 86, 10, 1, 10,184,255,248, 64, 20, 8, 12, 72, 10, 7, 7, 3, 90, 4,100, 11, 7, 2, 4, 8, 5, - 3, 4, 0, 18, 0, 63, 50, 63, 51, 18, 57, 57, 1, 16,246,225, 50, 17, 51, 43, 93, 93, 93, 93, 93, 17, 51, 47, 56, 94, 93, 51, - 51, 56, 17, 51, 49, 48, 33, 35, 1, 17, 35, 17, 51, 17, 1, 51, 1, 4,162,219,253,186,186,186, 2, 53,207,253,203, 2,229,253, - 27, 5,182,253, 60, 2,196,253, 66, 0, 0, 1, 0, 0,255,233, 4,147, 5,182, 0, 31, 0, 98,177, 8, 3,184,255,248, 64, 59, - 20, 23, 72, 3, 90,137, 25, 1, 25, 16, 25,224, 30, 1,180, 30,196, 30,212, 30, 3, 0, 30, 80, 30,128, 30, 3, 7, 30, 30, 16, - 1, 90, 0,101, 33, 15, 33, 31, 33,127, 33, 3, 8, 16, 16, 32, 3, 95, 30, 3, 20, 96, 17, 13, 19, 0, 18, 0, 63, 63, 51,225, - 63,225, 17, 1, 51, 47, 94, 93, 16,246,225, 17, 57, 47, 94, 93, 93, 93, 51, 56, 93,225, 43, 50, 49, 48, 33, 35, 17, 33, 14, 3, - 7, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 55, 54, 54, 18, 18, 55, 33, 4,147,186,254,133, 15, 31, 33, 34, 16, 20, - 53, 79,110, 78, 35, 74, 28, 23, 58, 32, 48, 62, 42, 26, 12, 12, 32, 39, 43, 22, 2,208, 5, 18,113,244,236,212, 81,103,162,111, - 59, 14, 11,154, 13, 16, 63, 98,117, 54, 57,200, 1, 6, 1, 58,170, 0,255,255, 0,199, 0, 0, 6, 47, 5,182, 2, 6, 0, 48, - 0, 0,255,255, 0,199, 0, 0, 4,213, 5,182, 2, 6, 0, 43, 0, 0,255,255, 0,125,255,236, 5,113, 5,205, 2, 6, 0, 50, - 0, 0,255,255, 0,199, 0, 0, 4,193, 5,182, 2, 6, 1,110, 0, 0,255,255, 0,199, 0, 0, 4, 51, 5,182, 2, 6, 0, 51, - 0, 0,255,255, 0,125,255,236, 4,152, 5,203, 2, 6, 0, 38, 0, 0,255,255, 0, 20, 0, 0, 4, 18, 5,182, 2, 6, 0, 55, - 0, 0, 0, 1, 0, 25,255,236, 4,174, 5,182, 0, 33, 0,111, 64, 16, 18, 1, 27, 27, 19, 33, 96, 0,112, 0,176, 0,240, 0, - 4, 0,184,255,192, 64, 16, 6, 10, 72, 0, 16, 0, 0, 35, 15, 35,127, 35, 2, 20, 9, 19,184,255,240, 64, 12, 19, 19, 34,231, - 26,247, 26, 2,214, 26, 1, 26,184,255,224, 64, 16, 10, 14, 72, 18, 1, 26, 3, 0, 13, 95, 10, 6, 19, 19, 0, 3, 0, 63, 50, - 63, 51,225, 17, 23, 57, 43, 93, 93, 17, 1, 51, 47, 56, 51, 51, 93, 17, 51, 47, 56, 43, 93, 51, 18, 57, 17, 51, 51, 49, 48, 1, - 1, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 55, 1, 51, 1, 30, 3, 23, 51, 62, 3, 55, 1, 4,174,254, 84, 38, 83, -112,156,111, 51, 90, 37, 37, 89, 52, 53, 82, 66, 56, 28,253,238,204, 1,127, 5, 10, 9, 9, 4, 2, 3, 11, 11, 11, 3, 1, 55, - 5,182,251,250, 93,164,123, 72, 15, 15,185, 20, 25, 23, 53, 86, 63, 4, 63,252,215, 10, 24, 26, 23, 9, 9, 31, 33, 29, 7, 3, - 24, 0,255,255, 0,104,255,236, 5,186, 5,203, 2, 6, 1,115, 0, 0,255,255, 0, 0, 0, 0, 4, 96, 5,182, 2, 6, 0, 59, - 0, 0, 0, 1, 0,199,254,127, 5,113, 5,182, 0, 11, 0, 59, 64, 33, 3, 90, 2, 2, 9, 90, 0, 13,176, 13, 1,175, 13, 1, - 16, 13, 1, 8, 90, 5,100, 12, 10, 6, 3, 0, 8, 95, 5, 2, 2, 5, 18, 0, 63, 51, 47, 16,225, 50, 63, 51, 1, 16,246,225, - 93, 93, 93, 16,212,225, 51, 47,225, 49, 48, 37, 51, 17, 35, 17, 33, 17, 51, 17, 33, 17, 51, 4,193,176,176,252, 6,186, 2,133, -187,166,253,217, 1,129, 5,182,250,240, 5, 16, 0, 1, 0,166, 0, 0, 4,129, 5,182, 0, 21, 0, 72, 64, 29, 19, 1, 90, 0, -101, 23,112, 23,160, 23, 2, 47, 23, 1, 16, 23, 1, 13, 90, 96, 10,112, 10,160, 10,176, 10, 4, 10,184,255,192, 64, 14, 7, 10, - 72, 10, 19, 16, 95, 5, 5, 20, 11, 3, 0, 18, 0, 63, 63, 51, 57, 47,225, 51, 1, 47, 43, 93,225, 93, 93, 93, 16,246,225, 50, - 49, 48, 33, 35, 17, 6, 6, 35, 34, 46, 2, 53, 17, 51, 17, 20, 22, 51, 50, 54, 55, 17, 51, 4,129,186,115,195, 98, 93,146,101, - 53,186,105,123, 90,185,112,186, 2, 86, 44, 46, 49, 95,138, 89, 2, 71,253,209,115,116, 40, 40, 2,198, 0, 1, 0,199, 0, 0, - 7, 51, 5,182, 0, 11, 0, 96, 64, 66, 86, 8, 1, 8, 90, 23, 5, 1,134, 5,150, 5,166, 5, 3,103, 5,119, 5, 2, 5, 5, - 1, 9, 90, 0,101, 13, 0, 13, 16, 13, 2, 32, 13, 80, 13,112, 13,128, 13,192, 13,208, 13,224, 13, 7, 15, 13, 1, 7, 4, 90, - 1,100, 12, 10, 6, 2, 3, 8, 4, 95, 1, 18, 0, 63,225, 50, 63, 51, 51, 1, 16,246,225, 94, 93, 93,113, 16,246,225, 17, 57, - 47, 93, 93,113,225, 93, 49, 48, 33, 33, 17, 51, 17, 33, 17, 51, 17, 33, 17, 51, 7, 51,249,148,186, 2, 31,186, 2, 31,186, 5, -182,250,240, 5, 16,250,240, 5, 16, 0, 0, 1, 0,199,254,127, 7,227, 5,182, 0, 15, 0,113, 64, 75, 86, 12, 1, 12, 90, 23, - 9, 1,134, 9,150, 9,166, 9, 3,103, 9,119, 9, 2, 9, 9, 5, 13, 90, 0, 3, 90, 2, 2, 0,101, 17, 0, 17, 16, 17, 2, - 32, 17, 80, 17,112, 17,128, 17,192, 17,208, 17,224, 17, 7, 15, 17, 1, 7, 8, 90, 5,100, 16, 14, 10, 6, 3, 12, 0, 8, 95, - 5, 2, 2, 5, 18, 0, 63, 51, 47, 16,225, 50, 50, 63, 51, 51, 1, 16,246,225, 94, 93, 93,113, 16,228, 50, 47,225, 16,225, 17, - 57, 47, 93, 93,113,225, 93, 49, 48, 37, 51, 17, 35, 17, 33, 17, 51, 17, 33, 17, 51, 17, 33, 17, 51, 7, 51,176,176,249,148,186, - 2, 31,186, 2, 31,186,166,253,217, 1,129, 5,182,250,240, 5, 16,250,240, 5, 16, 0, 0, 2, 0, 20, 0, 0, 4,213, 5,182, - 0, 16, 0, 27, 0, 82, 64, 51, 11, 17, 90,144, 6, 1, 6, 6, 8, 21, 91, 0,103, 29, 15, 29, 1, 15, 29, 47, 29, 63, 29, 95, - 29,175, 29, 5, 6, 8, 8, 28, 27, 95, 15, 11,175, 11, 2, 8, 11, 11, 17, 8, 95, 9, 3, 17, 96, 6, 18, 0, 63,225, 63,225, - 18, 57, 47, 94, 93,225, 17, 1, 51, 47, 94, 93,113, 16,246,225, 17, 57, 47, 93,225, 50, 49, 48, 1, 20, 14, 2, 35, 33, 17, 33, - 53, 33, 17, 51, 50, 30, 2, 1, 51, 50, 54, 53, 52, 46, 2, 35, 35, 4,213, 60,126,194,134,254,149,254,172, 2, 15,149,152,207, -127, 55,253, 78,160,174,163, 45, 92,138, 93,129, 1,172, 97,158,112, 61, 5, 18,164,253,152, 66,113,152,254,157,132,136, 70, 97, - 60, 27, 0, 3, 0,199, 0, 0, 5,207, 5,182, 0, 14, 0, 25, 0, 29, 0, 73, 64, 43, 19, 91, 0, 0, 1, 0, 0, 6, 26, 90, - 29,101, 31, 15, 31,159, 31, 2, 6, 9, 15, 90, 6,100, 30, 25, 95, 15, 9,175, 9, 2, 8, 9, 9, 27, 7, 3, 15, 96, 26, 6, - 18, 0, 63, 51,225, 63, 51, 57, 47, 94, 93,225, 1, 16,246,225, 50, 94, 93, 16,246,225, 17, 57, 47, 93,225, 49, 48, 1, 20, 14, - 2, 35, 33, 17, 51, 17, 51, 50, 30, 2, 1, 51, 50, 54, 53, 52, 46, 2, 35, 35, 1, 17, 51, 17, 4, 51, 60,126,194,134,254,150, -186,150,152,207,126, 55,253, 78,160,174,164, 46, 91,139, 93,129, 3,147,187, 1,172, 97,158,112, 61, 5,182,253,152, 66,113,152, -254,157,132,136, 70, 97, 60, 27,253, 86, 5,182,250, 74, 0, 2, 0,199, 0, 0, 4, 51, 5,182, 0, 14, 0, 25, 0, 72, 64, 46, - 19, 91,144, 0, 1, 0,103, 27, 15, 27, 95, 27, 2, 6, 27, 64, 21, 24, 72, 27, 64, 13, 19, 72, 9, 15, 90, 6,100, 26, 25, 95, - 15, 9,175, 9, 2, 8, 9, 9, 7, 3, 15, 96, 6, 18, 0, 63,225, 63, 57, 47, 94, 93,225, 1, 16,246,225, 50, 43, 43, 94, 93, - 16,246, 93,225, 49, 48, 1, 20, 14, 2, 35, 33, 17, 51, 17, 51, 50, 30, 2, 1, 51, 50, 54, 53, 52, 46, 2, 35, 35, 4, 51, 60, -126,194,134,254,150,186,150,152,207,126, 55,253, 78,160,174,164, 46, 91,139, 93,129, 1,172, 97,158,112, 61, 5,182,253,152, 66, -113,152,254,157,132,136, 70, 97, 60, 27, 0, 1, 0, 59,255,236, 4, 68, 5,203, 0, 36, 0, 81, 64, 47, 29, 32, 91, 12, 22, 30, - 22, 30, 4, 12,103, 38,191, 38,207, 38,223, 38, 3, 4, 4, 37, 30, 95,170, 31, 1,120, 31, 1, 15, 31, 1, 8, 31, 31, 7, 26, - 95, 23, 17, 19, 3, 0, 95, 7, 4, 0, 63,225, 51, 63, 51,225, 17, 57, 47, 94, 93, 93, 93,225, 17, 1, 51, 47, 93, 16,230, 17, - 57, 57, 47, 47, 16,225, 50, 49, 48, 1, 34, 6, 7, 39, 54, 54, 51, 50, 22, 22, 18, 21, 20, 2, 6, 6, 35, 34, 46, 2, 39, 53, - 22, 22, 51, 50, 18, 19, 33, 53, 33, 46, 3, 1,186, 94,148, 63, 78, 79,196,108,162,244,162, 82, 82,165,247,164, 58, 97, 86, 78, - 39, 78,160, 89,237,247, 6,253,139, 2,113, 9, 71,115,157, 5, 39, 46, 32,156, 42, 44,109,193,254,246,157,179,254,224,202,109, - 7, 14, 23, 15,162, 23, 35, 1, 23, 1, 6,162,111,176,122, 64, 0, 2, 0,199,255,236, 7,158, 5,205, 0, 26, 0, 46, 0, 94, - 64, 60, 27, 91, 10,144, 17, 1, 17, 17, 13, 37, 91, 0,103, 48, 15, 48, 1, 63, 48,111, 48,127, 48,239, 48,255, 48, 5, 48, 64, - 17, 20, 72, 16, 12, 90, 13,100, 47, 42, 95, 22, 4, 11, 95, 15, 16, 1, 8, 16, 16, 13, 14, 3, 13, 18, 32, 95, 5, 19, 0, 63, -225, 63, 63, 18, 57, 47, 94, 93,225, 63,225, 1, 16,246,225, 50, 43, 93,113, 16,246,225, 17, 57, 47, 93, 51,225, 49, 48, 1, 20, - 2, 6, 6, 35, 34, 38, 38, 2, 39, 33, 17, 35, 17, 51, 17, 33, 62, 3, 51, 50, 22, 22, 18, 5, 20, 30, 2, 51, 50, 62, 2, 53, - 52, 46, 2, 35, 34, 14, 2, 7,158, 79,155,229,150,151,225,152, 80, 6,254,174,186,186, 1, 86, 11, 85,152,219,145,149,229,154, - 79,251,250, 49,103,157,108,109,157,102, 48, 48,101,157,108,109,158,103, 49, 2,221,169,254,234,198,108,100,183, 1, 3,160,253, - 86, 5,182,253,152,146,236,167, 90,107,197,254,235,171,137,219,153, 81, 81,153,219,137,138,218,151, 81, 81,151,218, 0, 0, 2, - 0, 25, 0, 0, 3,242, 5,182, 0, 15, 0, 28, 0,155, 64, 9, 6, 0, 1,230, 0,246, 0, 2, 0,184,255,248, 64, 36, 11, 15, - 72, 28, 14, 90, 3, 0, 0, 8, 13,101, 30, 63, 30,143, 30,159, 30,191, 30,223, 30, 5, 32, 30, 1, 6, 1, 1,230, 1,246, 1, - 2, 1,184,255,248, 64, 13, 11, 15, 72, 1, 75, 2, 1, 2, 64, 8, 11, 72, 2,184,255,240, 64, 38, 2, 2, 22, 91,223, 8,239, - 8,255, 8, 3, 8, 64, 15, 19, 72, 7, 8, 23, 8, 2, 8, 8,102, 29, 28, 96, 3, 15, 15, 1, 17, 96, 11, 3, 14, 1, 18, 0, - 63, 51, 63,225, 18, 57, 47, 51,225, 1, 16,246, 94, 93, 43, 93,225, 51, 47, 56, 43, 93, 51, 43, 93,113, 93, 93, 16,246, 17, 57, - 17, 51,225, 50, 43, 93,113, 49, 48, 1, 1, 35, 1, 46, 3, 53, 52, 54, 51, 33, 17, 35, 17, 17, 35, 34, 14, 2, 21, 20, 30, 2, - 51, 51, 2, 66,254,178,219, 1,125, 55, 99, 75, 44,253,251, 1,117,187,188, 74,115, 79, 41, 39, 78,119, 81,180, 2, 92,253,164, - 2,143, 20, 62, 97,136, 93,198,201,250, 74, 2, 92, 2,187, 29, 62, 97, 68, 66,105, 74, 40, 0,255,255, 0, 94,255,236, 3,156, - 4, 94, 2, 6, 0, 68, 0, 0, 0, 2, 0,117,255,236, 4, 33, 6, 35, 0, 39, 0, 59, 0, 73, 64, 44, 45, 72, 9, 30, 87, 61, -208, 61, 1,127, 61, 1, 64, 61, 1, 15, 61, 1, 6, 19, 55, 72, 0, 86, 60, 50, 80, 19, 25, 25, 8, 40, 80, 35, 22, 9, 8, 11, - 16, 72, 9, 81, 8, 1, 0, 63,225, 43, 63,225, 17, 57, 47, 51,225, 1, 16,246,225, 50, 94, 93, 93, 93, 93, 16,246, 50,225, 49, - 48, 19, 52, 18, 54, 54, 55, 54, 54, 55, 23, 14, 3, 7, 14, 3, 7, 51, 62, 3, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, - 1, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2, 7, 20, 30, 2,117, 49,104,162,113,125,242,102, 33, 50,123,125,117, 44, 62,100, - 72, 41, 4, 13, 18, 62, 84,107, 64, 99,150,101, 50, 69,124,174,104,107,173,123, 66, 1,225, 60, 98, 70, 38, 26, 58, 90, 65, 61, -106, 83, 57, 13, 25, 65,114, 2,147,181, 1, 25,203,126, 25, 27, 49, 20,160, 8, 22, 24, 24, 10, 14, 66,113,165,113, 29, 60, 49, - 32, 73,131,180,108,137,206,138, 69, 89,173,253,254,148, 39, 88,143,105, 84,134, 95, 51, 48, 68, 73, 26,100,188,147, 89, 0, 3, - 0,174, 0, 0, 4, 25, 4, 74, 0, 21, 0, 32, 0, 43, 0, 92, 64, 58, 3, 27, 33, 70, 0, 0, 15, 22, 71, 9, 87, 45, 32, 45, - 1, 64, 45,144, 45,176, 45,208, 45,240, 45, 5, 15, 45, 1, 6, 38, 27, 71, 15, 84, 44, 3, 26, 80,191, 38, 1,121, 38,137, 38, - 2, 38, 38, 27, 37, 80, 16, 15, 27, 80, 15, 21, 0, 63,225, 63,225, 18, 57, 47, 93, 93,225, 57, 1, 16,246,225, 50, 94, 93, 93, -113, 16,246,225, 18, 57, 47,225, 18, 57, 49, 48, 1, 20, 6, 7, 21, 30, 3, 21, 20, 14, 2, 35, 33, 17, 33, 50, 30, 2, 3, 52, - 38, 35, 33, 17, 33, 50, 62, 2, 3, 52, 38, 35, 33, 17, 51, 50, 62, 2, 3,246,123,107, 56, 97, 71, 41, 47,101,159,113,254, 57, - 1,197, 83,142,103, 59,144,130,128,255, 0, 1, 4, 56, 93, 67, 38, 30,109,108,254,245,236, 62, 92, 63, 31, 3, 53,104,117, 18, - 7, 7, 36, 61, 91, 63, 67,116, 86, 48, 4, 74, 28, 64,107,253,199, 92, 72,254,168, 18, 42, 69, 2, 12, 77, 64,254,215, 15, 36, - 60, 0, 0, 1, 0,174, 0, 0, 3, 10, 4, 74, 0, 5, 0, 47, 64, 28, 0, 0, 16, 0, 2, 0, 0, 7,160, 7, 1,129, 7, 1, - 80, 7, 1, 2, 71, 3, 84, 6, 1, 80, 4, 15, 2, 21, 0, 63, 63,225, 1, 16,246,225, 93, 93, 93, 17, 51, 47, 93, 49, 48, 1, - 33, 17, 35, 17, 33, 3, 10,254, 90,182, 2, 92, 3,176,252, 80, 4, 74, 0, 2, 0, 41,254,131, 4, 55, 4, 74, 0, 15, 0, 23, - 0,121, 64, 16, 23, 7, 18, 70, 12, 47, 7, 63, 7, 2, 11, 7, 27, 7, 2, 7,184,255,240, 64, 57,162, 12,178, 12, 2, 4, 12, - 20, 12, 2, 7, 12, 7, 12, 5, 16, 71, 14, 1, 70, 0, 0, 32, 14, 1, 14, 85, 25,175, 25,207, 25, 2, 48, 25, 1, 47, 25, 1, - 4, 70, 5, 5, 24, 18, 79, 12, 15, 23, 14, 6, 80, 3, 21, 5, 0,251, 0, 63, 50, 63,225, 50, 50, 63,225, 17, 1, 51, 47,225, - 93, 93, 93, 16,228, 93, 50, 47,225, 16,225, 17, 57, 57, 47, 47, 93, 93, 56, 93, 93, 16,225, 17, 51, 49, 48, 1, 35, 17, 33, 17, - 35, 17, 51, 62, 2, 18, 55, 33, 17, 51, 33, 17, 35, 14, 3, 7, 4, 55,174,253, 78,174, 86, 65, 99, 67, 34, 1, 2, 23,151,254, -178,192, 7, 36, 58, 81, 52,254,131, 1,125,254,131, 2, 23, 95,223,243, 1, 0,127,252, 80, 3, 36,103,215,209,194, 83,255,255, - 0,113,255,236, 3,225, 4, 94, 2, 6, 0, 72, 0, 0, 0, 1, 0, 4, 0, 0, 5,190, 4, 74, 0, 17, 0,156, 64, 31, 6, 3, - 3, 10, 70, 15, 0, 0,214, 11, 1,185, 11,201, 11, 2,166, 11, 1,151, 11, 1, 11, 11, 14, 7, 4, 5, 5, 8, 7,184,255,192, -179, 18, 21, 72, 7,184,255,192, 64, 36, 7, 11, 72, 15, 7, 1, 6, 7, 16, 7, 7, 19, 0, 19, 16, 19, 2,223, 19, 1, 48, 19, -112, 19,144, 19, 3, 15, 19, 1, 7, 17, 16, 16, 13, 14,184,255,240, 64, 15, 14, 14, 18, 3, 0, 0, 1, 13, 8, 10, 21, 17, 4, - 1, 15, 0, 63, 51, 51, 63, 51, 51, 18, 57, 17, 51, 17, 1, 51, 47, 56, 51, 51, 17, 51, 94, 93, 93, 93,113, 17, 51, 47, 56, 94, - 93, 43, 43, 51, 51, 17, 51, 17, 18, 57, 47, 93, 93, 93, 93, 51, 17, 51,225, 50, 17, 51, 49, 48, 1, 17, 51, 17, 1, 51, 1, 1, - 35, 1, 17, 35, 17, 1, 35, 1, 1, 51, 2,143,164, 1,160,197,254, 88, 1,206,206,254, 67,164,254, 68,207, 1,207,254, 88,197, - 2, 53, 2, 21,253,235, 2, 21,253,235,253,203, 2, 45,253,211, 2, 45,253,211, 2, 53, 2, 21, 0, 1, 0, 68,255,236, 3, 82, - 4, 94, 0, 57, 0, 95, 64, 58, 5, 70, 22, 27, 22, 57, 22, 57, 22, 12, 52, 71, 33, 87, 59,176, 59,192, 59,208, 59, 3,111, 59, - 1, 32, 59, 1, 41, 12, 86, 58, 27, 56, 80,207, 57, 1,137, 57,153, 57, 2, 15, 57, 1, 8, 57, 57, 17, 47, 80, 38, 22, 8, 80, - 17, 16, 0, 63,225, 63,225, 17, 57, 47, 94, 93, 93, 93,225, 57, 1, 16,230, 50, 93, 93, 93, 16,246,225, 18, 57, 57, 47, 47, 18, - 57, 16,225, 49, 48, 1, 50, 62, 2, 53, 52, 38, 35, 34, 6, 7, 39, 62, 3, 51, 50, 30, 2, 21, 20, 14, 2, 7, 21, 30, 3, 21, - 20, 14, 2, 35, 34, 38, 39, 53, 30, 3, 51, 50, 62, 2, 53, 52, 38, 35, 35, 53, 1,113, 61,100, 72, 39,115,108, 71,129, 75, 63, - 40, 77, 82, 90, 53, 86,144,105, 58, 28, 51, 70, 43, 44, 82, 63, 38, 53,108,166,113,109,175, 58, 31, 76, 87, 97, 51, 55, 96, 70, - 41,133,138,129, 2,135, 18, 39, 64, 45, 77, 77, 38, 34,147, 20, 28, 19, 9, 38, 74,109, 70, 50, 77, 59, 41, 14, 11, 14, 44, 66, - 90, 62, 67,117, 86, 49, 35, 34,166, 16, 31, 24, 15, 18, 42, 69, 51, 94, 91,153, 0, 1, 0,174, 0, 0, 4, 59, 4, 74, 0, 11, - 0, 81, 64, 27, 3, 16, 9, 24, 72, 3, 6, 70, 5, 85, 13, 0, 13, 16, 13, 32, 13,160, 13,192, 13,208, 13,240, 13, 7, 13,184, -255,192,179, 14, 17, 72, 9,184,255,240, 64, 17, 9, 24, 72, 9, 0, 70, 10, 84, 12, 8, 3, 11, 15, 6, 2, 10, 21, 0, 63, 51, - 51, 63, 51, 51, 1, 16,246,225, 50, 43, 43, 93, 16,246,225, 50, 43, 49, 48, 1, 17, 7, 1, 51, 17, 35, 17, 19, 1, 35, 17, 1, - 90, 12, 2, 4,233,172, 11,253,254,234, 4, 74,253,100,252, 3,152,251,182, 2,135, 1, 15,252,106, 4, 74, 0,255,255, 0,174, - 0, 0, 4, 59, 6, 23, 2, 38, 1,210, 0, 0, 1, 6, 2, 54, 37, 0, 0, 21,180, 1, 17, 17, 38, 1,184,255,255,180, 22, 12, - 10, 4, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,174, 0, 0, 3,229, 4, 74, 0, 10, 0, 65, 64, 35, 0, 1, 1, 4, 0, 3, - 16, 3, 2, 3, 16, 3, 3, 12, 15, 12, 1, 10, 2, 6, 71, 7, 84, 11, 5, 2, 10, 10, 7, 0, 8, 15, 4, 7, 21, 0, 63, 51, - 63, 51, 18, 57, 17, 51, 51, 1, 16,246,225, 50, 50, 93, 17, 51, 47, 56, 93, 51, 51, 17, 51, 49, 48, 1, 51, 1, 1, 35, 1, 17, - 35, 17, 51, 17, 2,250,196,254, 97, 1,198,206,254, 75,180,180, 4, 74,253,241,253,197, 2, 45,253,211, 4, 74,253,235, 0, 1, - 0, 16,255,242, 3,176, 4, 74, 0, 20, 0, 76, 64, 49, 3, 70, 4, 19, 1,244, 19, 1,128, 19,144, 19,192, 19,208, 19, 4, 84, - 19, 1, 19, 19, 11, 1, 71, 0, 85, 22, 15, 22, 47, 22,255, 22, 3, 6, 11, 11, 21, 3, 80, 19, 15, 14, 79, 8, 22, 1, 21, 0, - 63, 63,225, 63,225, 17, 1, 51, 47, 94, 93, 16,246,225, 17, 57, 47, 93, 93, 93,113,225, 49, 48, 33, 35, 17, 33, 2, 2, 6, 6, - 35, 34, 38, 39, 53, 22, 51, 50, 54, 54, 18, 55, 33, 3,176,182,254,254, 20, 64, 95,130, 86, 28, 49, 16, 23, 27, 55, 89, 69, 51, - 18, 2, 84, 3,176,254,253,254,148,230,105, 6, 6,131, 6,117,241, 1,111,250, 0, 1, 0,174, 0, 0, 5, 16, 4, 74, 0, 32, - 0, 94, 64, 63, 31, 1, 70, 0, 85, 34,207, 34, 1, 64, 34, 80, 34, 2, 15, 34, 1, 6, 19, 16, 70, 17, 84, 33, 2, 15, 59, 15, - 75, 15, 91, 15, 3, 9, 15, 25, 15, 41, 15, 3, 15, 31, 18, 15, 52, 25, 68, 25, 84, 25, 3, 6, 25, 22, 25, 38, 25, 3, 25, 9, - 1, 17, 21, 0, 63, 51, 51, 51, 93, 93, 63, 51, 51, 93, 93, 17, 51, 1, 16,246,225, 50, 94, 93, 93, 93, 16,246,225, 50, 49, 48, - 33, 35, 17, 14, 3, 7, 1, 35, 1, 46, 3, 39, 17, 35, 17, 51, 1, 30, 3, 23, 62, 3, 55, 1, 51, 5, 16,161, 6, 17, 20, 18, - 7,254,248,135,254,247, 5, 17, 20, 18, 7,162,221, 1, 11, 13, 22, 19, 15, 4, 6, 14, 19, 22, 13, 1, 14,217, 3,129, 21, 57, - 59, 54, 18,253, 80, 2,176, 13, 49, 59, 62, 26,252,127, 4, 74,253, 71, 34, 67, 60, 50, 16, 17, 49, 59, 65, 33, 2,189, 0, 1, - 0,174, 0, 0, 4, 59, 4, 74, 0, 11, 0, 91, 64, 23, 2, 6, 71, 5, 85, 13, 0, 13, 32, 13, 2, 48, 13, 64, 13, 80, 13,208, - 13,240, 13, 5, 13,184,255,192, 64, 35, 14, 17, 72, 1, 9, 71, 10, 84, 12, 8, 80,235, 1, 1,169, 1,185, 1, 2, 15, 1, 31, - 1, 47, 1, 3, 6, 1, 1, 10, 5, 21, 3, 0, 15, 0, 63, 50, 63, 51, 57, 47, 94, 93, 93, 93,225, 1, 16,246,225, 50, 43, 93, -113, 16,246,225, 50, 49, 48, 1, 17, 33, 17, 51, 17, 35, 17, 33, 17, 35, 17, 1,100, 2, 33,182,182,253,223,182, 4, 74,254, 57, - 1,199,251,182, 1,233,254, 23, 4, 74,255,255, 0,113,255,236, 4, 45, 4, 94, 2, 6, 0, 82, 0, 0, 0, 1, 0,174, 0, 0, - 4, 18, 4, 74, 0, 7, 0, 45, 64, 28, 5, 71, 4, 85, 9, 16, 9, 32, 9, 96, 9,112, 9,128, 9, 5, 0, 71, 1, 84, 8, 7, - 80, 2, 15, 5, 0, 21, 0, 63, 50, 63,225, 1, 16,246,225, 93, 16,246,225, 49, 48, 33, 35, 17, 33, 17, 35, 17, 33, 1,100,182, - 3,100,182,254, 8, 4, 74,251,182, 3,176, 0,255,255, 0,174,254, 20, 4, 63, 4, 94, 2, 6, 0, 83, 0, 0,255,255, 0,113, -255,236, 3,111, 4, 94, 2, 6, 0, 70, 0, 0, 0, 1, 0, 41, 0, 0, 3, 94, 4, 74, 0, 7, 0, 88, 64, 60, 32, 9, 1,223, - 9, 1,112, 9,128, 9, 2, 95, 9, 1, 15, 0, 1,204, 0, 1, 15, 0,191, 0, 2, 6, 0, 0, 2, 71, 3, 96, 5,112, 5,208, - 5, 3, 31, 5, 1, 5, 5, 0, 3, 16, 3,176, 3,192, 3, 4, 3, 1, 5, 80, 6, 15, 2, 21, 0, 63, 63,225, 50, 1, 47, 93, - 51, 47, 93, 93, 16,225, 50, 47, 94, 93, 93,113, 93, 93, 93,113, 49, 48, 1, 33, 17, 35, 17, 33, 53, 33, 3, 94,254,193,183,254, -193, 3, 53, 3,176,252, 80, 3,176,154,255,255, 0, 10,254, 20, 3,223, 4, 74, 2, 6, 0, 92, 0, 0, 0, 3, 0,113,254, 20, - 5, 35, 6, 20, 0, 25, 0, 34, 0, 41, 0,116, 64, 75, 39, 0, 11, 70, 29, 23, 12, 13, 19, 73,185, 12,201, 12, 2,151, 12,167, - 12, 2, 12, 12, 18, 35, 72, 5, 87, 43, 32, 43, 1, 15, 43, 1,159, 43,239, 43, 2,128, 43, 1,111, 43, 1, 64, 43, 1, 15, 43, - 31, 43, 2, 6, 26, 72, 18, 86, 42, 24, 0, 38, 30, 80, 0, 23, 16, 39, 29, 80, 10, 13, 22, 11, 27, 0, 63, 63, 51,225, 50, 63, - 51,225, 50, 63, 1, 16,246,225, 94, 93, 93, 93, 93, 93,113,113, 16,246,225, 17, 57, 47, 93, 93, 43, 51, 51,225, 50, 50, 49, 48, - 1, 30, 3, 21, 20, 14, 2, 7, 17, 35, 17, 46, 3, 53, 52, 62, 2, 55, 17, 51, 1, 20, 22, 23, 17, 14, 3, 5, 52, 38, 39, 17, - 54, 54, 3, 33,113,189,136, 76, 71,134,190,119,170,114,191,137, 76, 71,133,193,121,170,254, 12,156,174, 88,125, 80, 37, 3, 57, -155,170,172,153, 4, 90, 12, 85,143,198,125,125,200,145, 86, 11,254, 36, 1,220, 10, 86,144,201,126,125,199,143, 85, 11, 1,186, -252, 19,187,210, 19, 3, 60, 9, 61,103,145, 94,186,204, 20,252,198, 20,209, 0,255,255, 0, 35, 0, 0, 3,219, 4, 74, 2, 6, - 0, 91, 0, 0, 0, 1, 0,174,254,131, 4,178, 4, 74, 0, 11, 0, 68, 64, 43, 1, 71, 15, 0, 1, 6, 0, 0, 7, 71,143, 10, - 1, 10, 13, 16, 13, 32, 13, 96, 13,112, 13,128, 13,192, 13, 6, 6, 71, 3, 84, 12, 8, 4, 15, 10, 6, 80, 3, 21, 1,251, 0, - 63, 63,225, 50, 63, 51, 1, 16,246,225, 93, 16,212, 93,225, 51, 47, 94, 93,225, 49, 48, 1, 35, 17, 33, 17, 51, 17, 33, 17, 51, - 17, 51, 4,178,182,252,178,182, 1,248,182,160,254,131, 1,125, 4, 74,252, 80, 3,176,252, 80, 0, 1, 0,154, 0, 0, 3,254, - 4, 74, 0, 24, 0, 49, 64, 28, 8, 12, 71, 11, 85, 26, 16, 26, 96, 26,128, 26, 3, 1, 71, 23, 84, 25, 8, 3, 80, 18, 18, 11, - 21, 9, 0, 15, 0, 63, 50, 63, 57, 47,225, 51, 1, 16,246,225, 93, 16,246,225, 50, 49, 48, 1, 17, 20, 51, 50, 62, 2, 55, 17, - 51, 17, 35, 17, 14, 3, 35, 34, 46, 2, 53, 17, 1, 80,184, 45, 80, 76, 77, 42,182,182, 44, 80, 85, 94, 58, 78,122, 82, 43, 4, - 74,254,102,174, 15, 28, 44, 28, 1,213,251,182, 1,233, 30, 48, 32, 17, 47, 84,115, 68, 1,166, 0, 1, 0,174, 0, 0, 6, 70, - 4, 74, 0, 11, 0,102, 64, 67, 0, 71,182, 9,198, 9, 2,169, 9, 1, 3,116, 9,132, 9,148, 9, 3,103, 9, 1, 6, 9, 9, - 5, 1, 71, 4, 85, 13, 32, 13, 1, 15, 13, 1,128, 13,240, 13, 2,111, 13, 1, 64, 13, 1, 15, 13, 47, 13, 2, 6, 8, 71, 5, - 84, 12, 0, 8, 80, 5, 21, 10, 6, 2, 15, 0, 63, 51, 51, 63,225, 50, 1, 16,246,225, 94, 93, 93, 93, 93,113,113, 16,246,225, - 17, 57, 47, 95, 93, 93, 95, 93, 93,225, 49, 48, 37, 33, 17, 51, 17, 33, 17, 51, 17, 33, 17, 51, 3,213, 1,186,183,250,104,182, - 1,187,182,154, 3,176,251,182, 4, 74,252, 80, 3,176, 0, 1, 0,174,254,131, 6,229, 4, 74, 0, 15, 0,119, 64, 78, 10, 71, -182, 7,198, 7, 2,169, 7, 1, 3,116, 7,132, 7,148, 7, 3,103, 7, 1, 6, 7, 7, 3, 11, 71, 14, 1, 71, 14, 0, 1, 0, - 0,191, 14, 1, 14, 17, 32, 17, 1, 15, 17, 1, 64, 17,128, 17,224, 17,240, 17, 4, 15, 17, 47, 17, 2, 6, 6, 71, 3, 84, 16, - 12, 8, 4, 15, 14, 10, 6, 80, 3, 21, 1,251, 0, 63, 63,225, 50, 50, 63, 51, 51, 1, 16,246,225, 94, 93, 93,113,113, 16,196, - 93, 50, 47, 93,225, 16,225, 17, 57, 47, 95, 93, 93, 95, 93, 93,225, 49, 48, 1, 35, 17, 33, 17, 51, 17, 33, 17, 51, 17, 33, 17, - 51, 17, 51, 6,229,182,250,127,182, 1,187,182, 1,186,183,159,254,131, 1,125, 4, 74,252, 80, 3,176,252, 80, 3,176,252, 80, - 0, 2, 0, 41, 0, 0, 4,252, 4, 74, 0, 14, 0, 27, 0, 92, 64, 62, 15, 71, 4, 87, 29, 80, 29, 96, 29,144, 29,224, 29, 4, - 63, 29, 1, 0, 22, 71, 10, 0, 12, 16, 12, 2,176, 12,240, 12, 2, 12, 12, 0, 10, 16, 10, 80, 10, 96, 10,160, 10, 5, 8, 10, - 21, 80,191, 0, 1, 0, 0, 22, 12, 80, 13, 15, 22, 80, 10, 21, 0, 63,225, 63,225, 18, 57, 47, 93,225, 1, 47, 94, 93, 51, 47, - 93,113, 16,225, 50, 93, 93, 16,246,225, 49, 48, 1, 33, 50, 22, 21, 20, 14, 2, 35, 33, 17, 33, 53, 33, 1, 52, 46, 2, 35, 33, - 17, 33, 50, 62, 2, 2, 72, 1, 20,212,204, 47,101,159,113,254, 57,254,152, 2, 31, 2, 2, 33, 65, 96, 64,255, 0, 1, 4, 55, - 93, 68, 38, 2,135,156,155, 77,124, 88, 47, 3,176,154,252,248, 49, 66, 40, 17,254,168, 17, 41, 66, 0, 0, 3, 0,174, 0, 0, - 5, 80, 4, 74, 0, 12, 0, 16, 0, 29, 0, 97, 64, 64, 24, 71, 0, 4, 16, 4, 32, 4,112, 4,208, 4, 5, 6, 4, 4, 10, 14, - 71, 13, 85, 31, 15, 31, 1,191, 31,207, 31,223, 31,255, 31, 4,160, 31, 1, 15, 31,127, 31, 2, 7, 0, 18, 71, 10, 84, 30, 17, - 80,191, 0, 1, 0, 0, 15, 11, 15, 18, 80, 14, 10, 21, 0, 63, 51,225, 63, 51, 57, 47, 93,225, 1, 16,246,225, 50, 94, 93, 93, - 93,113, 16,246,225, 17, 57, 47, 94, 93,225, 49, 48, 1, 51, 50, 22, 21, 20, 14, 2, 35, 33, 17, 51, 1, 35, 17, 51, 1, 17, 51, - 50, 62, 2, 53, 52, 46, 2, 35, 1,100,236,212,204, 47,101,159,113,254, 98,182, 3,236,182,182,252, 20,219, 56, 93, 67, 38, 33, - 65, 96, 64, 2,135,156,155, 77,124, 88, 47, 4, 74,251,182, 4, 74,253,164,254,168, 17, 41, 66, 48, 49, 66, 40, 17, 0, 0, 2, - 0,174, 0, 0, 4, 25, 4, 74, 0, 12, 0, 25, 0, 64, 64, 41, 20, 71, 4, 87, 27, 0, 27, 1, 0, 27, 32, 27,112, 27,144, 27, -176, 27,208, 27, 6, 8, 0, 14, 71, 10, 84, 26, 13, 80,191, 0, 1, 0, 0, 11, 15, 14, 80, 10, 21, 0, 63,225, 63, 57, 47, 93, -225, 1, 16,246,225, 50, 94, 93,113, 16,246,225, 49, 48, 1, 33, 50, 22, 21, 20, 14, 2, 35, 33, 17, 51, 17, 17, 33, 50, 62, 2, - 53, 52, 46, 2, 35, 1,100, 1, 21,212,204, 47,101,159,113,254, 57,182, 1, 4, 56, 93, 67, 38, 33, 65, 96, 64, 2,135,156,155, - 77,124, 88, 47, 4, 74,253,164,254,168, 17, 41, 66, 48, 49, 66, 40, 17, 0, 1, 0, 55,255,236, 3, 66, 4, 94, 0, 38, 0, 94, - 64, 62, 14, 14, 4, 12, 15, 72, 34, 87, 40,143, 40,175, 40, 2, 64, 40, 1, 24, 15, 4, 31, 4, 47, 4, 3, 4, 64, 12, 17, 72, - 4, 88, 39, 13, 80,239, 14, 1,169, 14,185, 14, 2, 15, 14, 31, 14, 47, 14, 3, 6, 14, 14, 7, 18, 81, 29, 16, 7, 81, 0, 22, - 0, 63,225, 63,225, 18, 57, 47, 94, 93, 93, 93,225, 1, 16,230, 43,113, 50, 93, 93, 16,246,225, 50, 17, 57, 47, 49, 48, 5, 34, - 38, 39, 53, 22, 22, 51, 50, 62, 2, 55, 33, 53, 33, 38, 38, 35, 34, 14, 2, 7, 39, 62, 3, 51, 50, 30, 2, 21, 20, 14, 2, 1, - 66, 89,124, 54, 54,131, 82, 73,116, 82, 48, 4,254, 35, 1,219, 13,146,140, 25, 59, 60, 56, 23, 53, 24, 64, 72, 78, 38,102,179, -132, 77, 81,140,186, 20, 30, 29,162, 25, 37, 40, 84,132, 92,154,166,151, 9, 15, 19, 10,154, 12, 22, 16, 9, 62,137,219,157,146, -212,138, 67, 0, 0, 2, 0,174,255,236, 6, 8, 4, 94, 0, 26, 0, 38, 0,114, 64, 75, 27, 72, 10, 32, 17, 1, 79, 17, 1, 17, - 17, 13, 33, 72, 0, 87, 40, 15, 40, 47, 40, 2,239, 40,255, 40, 2, 71, 40, 1, 15, 40, 47, 40, 2, 16, 12, 71, 13, 84, 39, 36, - 80, 22, 16, 11, 80,239, 16, 1,169, 16,185, 16, 2, 44, 16, 1, 11, 16, 27, 16, 2, 6, 16, 16, 13, 14, 15, 13, 21, 30, 80, 5, - 22, 0, 63,225, 63, 63, 18, 57, 47, 94, 93, 93, 93, 93,225, 63,225, 1, 16,246,225, 50, 93, 93, 93,113, 16,246,225, 17, 57, 47, - 93,113, 51,225, 49, 48, 1, 20, 14, 2, 35, 34, 46, 2, 39, 33, 17, 35, 17, 51, 17, 33, 62, 3, 51, 50, 30, 2, 5, 20, 22, 51, - 50, 54, 53, 52, 38, 35, 34, 6, 6, 8, 64,120,171,106, 98,162,117, 70, 7,254,239,182,182, 1, 19, 10, 72,118,160, 99, 98,167, -121, 68,253, 41,128,142,143,126,128,143,142,126, 2, 39,137,213,145, 76, 66,129,190,124,254, 23, 4, 74,254, 57,116,177,120, 62, - 75,145,211,136,209,211,211,209,209,207,207, 0, 0, 2, 0, 35, 0, 0, 3,145, 4, 74, 0, 17, 0, 28, 0, 83, 64, 20, 2, 17, - 17, 7, 24, 15, 71, 14, 85, 30, 15, 30,111, 30,143, 30, 3, 6, 0, 1,184,255,240, 64, 25, 1, 1, 18, 70, 7, 64, 18, 21, 72, - 7, 86, 29, 2, 16, 80, 24, 24, 0, 25, 80, 13, 15, 15, 0, 21, 0, 63, 50, 63,225, 18, 57, 47,225, 50, 1, 16,246, 43,225, 51, - 47, 56, 51, 94, 93, 16,246,225, 50, 17, 57, 17, 51, 49, 48, 51, 35, 1, 46, 3, 53, 52, 62, 2, 51, 33, 17, 35, 17, 35, 3, 20, - 30, 2, 51, 51, 17, 35, 34, 6,233,198, 1, 35, 45, 84, 65, 40, 56,100,138, 83, 1,188,182,244,221, 37, 65, 90, 54,219,254,107, -104, 1,205, 12, 48, 76,108, 71, 78,121, 81, 42,251,182, 1,176, 1, 84, 48, 70, 46, 22, 1,102, 95, 0,255,255, 0,113,255,236, - 3,225, 5,217, 2, 38, 0, 72, 0, 0, 1, 6, 0,106,218, 0, 0, 23, 64, 13, 3, 2, 49, 17, 38, 3, 2, 0, 40, 60, 5, 15, - 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 1, 0, 18,254, 20, 4, 18, 6, 20, 0, 49, 0, 83, 64, 50, 31, 23, 12, 71, 45, 85, - 51, 16, 51, 96, 51,128, 51, 3, 35, 34, 30, 22, 71, 27, 23, 84, 50, 33, 25, 79, 30, 26, 26, 28, 35, 16, 80, 0, 41, 16, 41, 32, - 41, 3, 41, 15, 28, 0, 23, 21, 7, 80, 0, 27, 0, 63,225, 63, 63, 63, 93,225, 51, 18, 57, 47, 51,225, 50, 1, 16,246, 50,225, - 50, 50, 50, 93, 16,246,225, 18, 57, 49, 48, 1, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 53, 17, 52, 38, 35, 34, 14, 2, 21, 17, - 35, 17, 35, 53, 51, 53, 51, 21, 33, 21, 33, 21, 7, 51, 62, 3, 51, 50, 22, 21, 17, 20, 14, 2, 2,240, 48, 63, 23, 26, 54, 35, - 27, 46, 35, 19,105,112, 81,110, 67, 29,182,156,156,182, 1,123,254,133, 8, 10, 25, 69, 82, 92, 48,183,185, 34, 72,109,254, 20, - 14, 11,148, 10, 11, 15, 39, 65, 51, 3, 68,130,130, 52,102,148, 96,253,240, 4,213,137,182,182,137,184,144, 43, 63, 42, 20,191, -210,252,190, 77,123, 87, 47, 0,255,255, 0,174, 0, 0, 3, 10, 6, 33, 2, 38, 1,205, 0, 0, 1, 6, 0,118,212, 0, 0, 19, - 64, 11, 1, 18, 17, 38, 1, 69, 6, 12, 3, 0, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,113,255,236, 3,111, 4, 94, 0, 34, - 0, 79, 64, 49, 23, 23, 22, 31, 13, 36,143, 36,175, 36, 2, 64, 36, 1, 22, 25, 72, 5, 86, 35, 25, 80,239, 22, 1,169, 22,185, - 22, 2, 15, 22, 31, 22, 47, 22, 3, 6, 22, 22, 28, 19, 81, 10, 16, 28, 81, 0, 22, 0, 63,225, 63,225, 18, 57, 47, 94, 93, 93, - 93,225, 1, 16,246,225, 50, 93, 93, 16,206, 50, 17, 57, 47, 49, 48, 5, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 7, 46, 3, - 35, 34, 6, 7, 33, 21, 33, 22, 22, 51, 50, 54, 55, 21, 6, 6, 2, 82,101,176,130, 74, 76,133,178,102, 78,149, 50, 54, 23, 56, - 60, 58, 26,139,146, 14, 1,219,254, 35, 9,146,138, 81,131, 54, 54,123, 20, 63,137,213,150,157,219,137, 62, 34, 25,154, 10, 19, - 15, 9,151,166,154,184,164, 37, 25,162, 29, 30,255,255, 0, 90,255,236, 3, 63, 4, 94, 2, 6, 0, 86, 0, 0,255,255, 0,160, - 0, 0, 1,117, 5,229, 2, 6, 0, 76, 0, 0,255,255,255,238, 0, 0, 2, 37, 5,217, 2, 38, 0,243, 0, 0, 1, 7, 0,106, -254,187, 0, 0, 0, 23, 64, 13, 2, 1, 13, 17, 38, 2, 1, 0, 4, 24, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, -255,188,254, 20, 1,117, 5,229, 2, 6, 0, 77, 0, 0, 0, 2, 0, 16,255,242, 6, 18, 4, 74, 0, 29, 0, 42, 0,107, 64, 69, - 12, 70, 28, 0, 37, 71, 10,212, 28, 1,144, 28,160, 28, 2, 36, 28, 1, 0, 28, 1, 28, 10, 28, 10, 20, 30, 71, 4, 87, 44, 15, - 44, 47, 44, 63, 44, 95, 44,127, 44,191, 44,239, 44, 7, 20, 20, 43, 36, 80,191, 0, 1, 0, 0, 37, 12, 80, 28, 15, 23, 79, 17, - 22, 37, 80, 10, 21, 0, 63,225, 63,225, 63,225, 18, 57, 47, 93,225, 17, 1, 51, 47, 93, 16,246,225, 17, 57, 57, 47, 47, 93, 93, - 93, 93, 16,225, 50, 16,225, 49, 48, 1, 51, 50, 22, 21, 20, 14, 2, 35, 33, 17, 35, 2, 2, 6, 6, 35, 34, 38, 39, 53, 22, 51, - 50, 54, 54, 18, 55, 33, 1, 52, 46, 2, 35, 35, 17, 51, 50, 62, 2, 3,135,236,212,203, 46,101,159,113,254, 98,217, 20, 64, 95, -130, 86, 28, 49, 16, 23, 27, 55, 89, 69, 51, 18, 2, 43, 1,217, 33, 65, 96, 64,215,219, 56, 93, 67, 38, 2,135,156,155, 77,124, - 88, 47, 3,176,254,253,254,148,230,105, 6, 6,131, 6,117,241, 1,111,250,252,248, 49, 66, 40, 17,254,168, 17, 41, 66, 0, 2, - 0,174, 0, 0, 6,117, 4, 74, 0, 20, 0, 33, 0, 83, 64, 48, 5, 28, 71, 2, 15, 15, 19, 21, 71, 9, 87, 35,239, 35, 1,128, - 35, 1, 63, 35, 1, 16, 35, 1, 1, 18, 71, 19, 84, 34, 27, 17, 80, 5,191, 1, 1, 1, 1, 0, 28, 80, 19, 15, 21, 3, 0, 15, - 0, 63, 50, 63, 51,225, 17, 57, 47, 93, 51,225, 50, 1, 16,246,225, 50, 93, 93, 93, 93, 16,246,225, 17, 57, 47, 51,225, 50, 49, - 48, 1, 17, 33, 17, 51, 17, 51, 50, 22, 21, 20, 14, 2, 35, 33, 17, 33, 17, 35, 17, 1, 52, 46, 2, 35, 35, 17, 51, 50, 62, 2, - 1,100, 1,207,182,236,212,204, 47,101,159,113,254, 98,254, 49,182, 5, 21, 33, 65, 97, 63,216,220, 55, 93, 68, 38, 4, 74,254, - 57, 1,199,254, 61,156,155, 77,124, 88, 47, 1,233,254, 23, 4, 74,252,248, 49, 66, 40, 17,254,168, 17, 41, 66, 0, 1, 0, 18, - 0, 0, 4, 18, 6, 20, 0, 33, 0, 83, 64, 50,104, 20, 1, 20, 11, 0, 71, 33, 85, 35, 16, 35, 96, 35,128, 35, 3, 23, 22, 18, - 10, 71, 15, 11, 84, 34, 21, 13, 79, 18, 14, 14, 16, 23, 4, 80, 0, 29, 16, 29, 32, 29, 3, 29, 15, 16, 0, 11, 0, 21, 0, 63, - 50, 63, 63, 93,225, 51, 18, 57, 47, 51,225, 50, 1, 16,246, 50,225, 50, 50, 50, 93, 16,246,225, 17, 57, 93, 49, 48, 33, 17, 52, - 38, 35, 34, 14, 2, 21, 17, 35, 17, 35, 53, 51, 53, 51, 21, 33, 21, 33, 21, 7, 51, 62, 3, 51, 50, 22, 21, 17, 3, 92,105,112, - 81,110, 67, 29,182,156,156,182, 1,123,254,133, 8, 10, 25, 69, 82, 92, 48,183,185, 2,154,130,130, 52,102,148, 96,253,240, 4, -213,137,182,182,137,184,144, 43, 63, 42, 20,191,210,253, 92, 0,255,255, 0,174, 0, 0, 3,229, 6, 33, 2, 38, 1,212, 0, 0, - 1, 6, 0,118, 8, 0, 0, 19, 64, 11, 1, 23, 17, 38, 1, 12, 11, 17, 7, 3, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 10, -254, 20, 3,223, 6, 23, 2, 38, 0, 92, 0, 0, 1, 6, 2, 54,177, 0, 0, 19, 64, 11, 1, 40, 17, 38, 1, 10, 45, 35, 0, 15, - 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,174,254,131, 4, 18, 4, 74, 0, 11, 0, 89, 64, 61,214, 6, 1,183, 6,199, 6, 2, - 6, 71,181, 7,197, 7,213, 7, 3,118, 7,134, 7, 2, 74, 7, 90, 7, 2, 7, 7, 9, 1, 71, 4, 85, 13, 16, 13, 32, 13, 96, - 13,112, 13,128, 13, 5, 0, 71, 9, 84, 12, 5, 0, 80, 9, 21, 6,251, 10, 2, 15, 0, 63, 51, 63, 63,225, 51, 1, 16,246,225, - 93, 16,246,225, 17, 57, 47, 93, 93, 93,225, 93, 93, 49, 48, 37, 33, 17, 51, 17, 33, 17, 35, 17, 33, 17, 51, 1,100, 1,248,182, -254,179,183,254,160,182,154, 3,176,251,182,254,131, 1,125, 4, 74, 0, 0, 1, 0,199, 0, 0, 3,190, 6,227, 0, 7, 0, 68, - 64, 44, 0, 90,223, 3,239, 3,255, 3, 3, 0, 3, 16, 3, 2, 3, 3, 9,176, 9,208, 9, 2, 15, 9,175, 9, 2, 5, 90, 6, -100, 8, 4, 95, 7, 32, 1, 1, 1, 1, 7, 3, 6, 18, 0, 63, 63, 51, 47, 93, 16,225, 1, 16,246,225, 93, 93, 17, 51, 47, 93, - 93,225, 49, 48, 1, 17, 51, 17, 33, 17, 35, 17, 3, 14,176,253,195,186, 5,182, 1, 45,254, 45,250,240, 5,182, 0, 1, 0,174, - 0, 0, 3, 10, 5,137, 0, 7, 0, 48, 64, 28, 5, 71, 0, 0, 16, 0, 2, 0, 0, 9, 2, 71, 3, 84, 8, 16, 6, 32, 6, 2, - 6, 6, 1, 79, 4, 15, 2, 21, 0, 63, 63,225, 51, 47, 93, 1, 16,246,225, 17, 51, 47, 93,225, 49, 48, 1, 33, 17, 35, 17, 33, - 17, 51, 3, 10,254, 90,182, 1,166,182, 3,193,252, 63, 4, 74, 1, 63,255,255, 0, 20, 0, 0, 6,254, 7,115, 2, 38, 0, 58, - 0, 0, 1, 7, 0, 67, 0,231, 1, 82, 0, 21,180, 1, 43, 5, 38, 1,184,255,172,180, 49, 43, 30, 14, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0, 20, 0, 0, 5,227, 6, 33, 2, 38, 0, 90, 0, 0, 1, 6, 0, 67, 76, 0, 0, 21,180, 1, 48, 17, 38, 1, -184,255,158,180, 54, 48, 17, 46, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 20, 0, 0, 6,254, 7,115, 2, 38, 0, 58, 0, 0, - 1, 7, 0,118, 1,160, 1, 82, 0, 19, 64, 11, 1, 55, 5, 38, 1,100, 43, 49, 30, 14, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0, 20, 0, 0, 5,227, 6, 33, 2, 38, 0, 90, 0, 0, 1, 7, 0,118, 1, 23, 0, 0, 0, 19, 64, 11, 1, 60, 17, 38, 1,105, - 48, 54, 17, 46, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 20, 0, 0, 6,254, 7, 43, 2, 38, 0, 58, 0, 0, 1, 7, 0,106, - 1, 57, 1, 82, 0, 25,182, 2, 1, 52, 5, 38, 2, 1,184,255,255,180, 43, 63, 30, 14, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, -255,255, 0, 20, 0, 0, 5,227, 5,217, 2, 38, 0, 90, 0, 0, 1, 7, 0,106, 0,172, 0, 0, 0, 25,182, 2, 1, 57, 17, 38, - 2, 1,184,255,255,180, 48, 68, 17, 46, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, 4, 55, 7,115, 2, 38, - 0, 60, 0, 0, 1, 7, 0, 67,255,114, 1, 82, 0, 21,180, 1, 9, 5, 38, 1,184,255,164,180, 15, 9, 7, 2, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 0, 10,254, 20, 3,223, 6, 33, 2, 38, 0, 92, 0, 0, 1, 7, 0, 67,255, 75, 0, 0, 0, 21,180, 1, - 35, 17, 38, 1,184,255,164,180, 41, 35, 0, 15, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0, 82, 1,209, 3,174, 2,121, 0, 3, - 0, 29,185, 0, 2,255,192, 64, 11, 6, 12, 72, 2, 2, 5, 0, 0,185, 1,189, 0, 63,225, 1, 47, 17, 51, 47, 43, 49, 48, 19, - 53, 33, 21, 82, 3, 92, 1,209,168,168, 0, 1, 0, 82, 1,209, 7,174, 2,121, 0, 3, 0, 29,185, 0, 2,255,192, 64, 11, 6, - 12, 72, 2, 2, 5, 0, 0,185, 1,189, 0, 63,225, 1, 47, 17, 51, 47, 43, 49, 48, 19, 53, 33, 21, 82, 7, 92, 1,209,168,168, - 0, 1, 0, 82, 1,209, 7,174, 2,121, 0, 3, 0, 29,185, 0, 2,255,192, 64, 11, 6, 12, 72, 2, 2, 5, 0, 0,185, 1,189, - 0, 63,225, 1, 47, 17, 51, 47, 43, 49, 48, 19, 53, 33, 21, 82, 7, 92, 1,209,168,168, 0, 2,255,252,254, 49, 3, 78,255,211, - 0, 3, 0, 7, 0, 42, 64, 24, 4, 0, 0, 9, 5, 1, 5,186,239, 6,255, 6, 2, 6, 2,186, 0, 1, 16, 1, 32, 1, 3, 1, - 0, 47, 93,225, 47, 93,225, 1, 47, 51, 17, 51, 47, 51, 49, 48, 1, 33, 53, 33, 53, 33, 53, 33, 3, 78,252,174, 3, 82,252,174, - 3, 82,254, 49,139,140,139, 0, 0, 1, 0, 23, 3,193, 1, 80, 5,182, 0, 12, 0, 37, 64, 23, 95, 14, 1, 6, 15, 7, 95, 7, -111, 7,191, 7,207, 7, 5, 7, 12,152, 1, 12,156, 6, 3, 0, 63,229, 1, 47,225, 47, 93, 51, 93, 49, 48, 19, 39, 62, 3, 55, - 51, 14, 3, 7, 37, 14, 14, 39, 46, 52, 25,137, 15, 29, 26, 22, 8, 3,193, 22, 54,122,124,123, 56, 61,132,131,124, 53, 0, 1, - 0, 23, 3,193, 1, 80, 5,182, 0, 12, 0, 37, 64, 23, 95, 14, 1, 6, 7, 12,152, 15, 1, 95, 1,111, 1,191, 1,207, 1, 5, - 1, 6,156, 0, 3, 0, 63,229, 1, 47, 93,225, 47, 51, 93, 49, 48, 1, 23, 14, 3, 7, 35, 62, 3, 55, 1, 66, 14, 14, 39, 47, - 51, 25,137, 14, 29, 27, 22, 8, 5,182, 22, 55,121,125,122, 56, 60,132,132,124, 53, 0, 0, 1, 0, 63,254,248, 1,121, 0,238, - 0, 12, 0, 53,185, 0, 14,255,192, 64, 20, 10, 24, 72, 12,152, 15, 1, 95, 1,111, 1,127, 1,207, 1, 5, 1, 1, 6, 7,184, -255,192,183, 16, 21, 72, 7, 6,156, 0,168, 0, 63,229, 1, 47, 43, 51, 51, 47, 93,225, 43, 49, 48, 37, 23, 14, 3, 7, 35, 62, - 3, 55, 1,106, 15, 14, 39, 47, 51, 25,138, 15, 29, 27, 22, 8,238, 23, 54,122,124,123, 56, 61,132,131,125, 53, 0, 1, 0, 25, - 3,193, 1, 82, 5,182, 0, 12, 0, 43, 64, 28, 95, 14, 1, 6, 15, 5, 95, 5,111, 5,127, 5,191, 5,207, 5,223, 5, 7, 5, - 5, 0,152, 11, 6,156, 0, 3, 0, 63,229, 1, 47,225, 51, 47, 93, 51, 93, 49, 48, 19, 30, 3, 23, 35, 46, 3, 39, 55,238, 8, - 22, 26, 29, 15,137, 25, 52, 46, 39, 14, 14, 5,182, 53,124,132,132, 60, 56,122,125,121, 55, 22, 0, 2, 0, 23, 3,193, 2,209, - 5,182, 0, 12, 0, 25, 0, 98, 64, 72,191, 27, 1,144, 27, 1, 15, 27, 95, 27,111, 27, 3, 19, 15, 20, 95, 20,111, 20,127, 20, -191, 20,207, 20,223, 20, 7, 20, 20, 25,152, 14, 12,152, 0, 1, 80, 1, 96, 1,112, 1,176, 1,192, 1,208, 1, 7, 1, 1, 6, - 15, 7, 95, 7,111, 7,191, 7,207, 7, 5, 7, 25, 12,156, 19, 6, 3, 0, 63, 51,229, 50, 1, 47, 93, 51, 51, 47, 93,225, 47, -225, 51, 47, 93, 51, 93, 93, 93, 49, 48, 1, 39, 62, 3, 55, 51, 14, 3, 7, 33, 39, 62, 3, 55, 51, 14, 3, 7, 1,166, 14, 14, - 39, 46, 52, 25,137, 15, 29, 26, 22, 8,253,184, 14, 14, 39, 46, 52, 25,137, 15, 29, 26, 22, 8, 3,193, 22, 54,122,124,123, 56, - 61,132,131,124, 53, 22, 54,122,124,123, 56, 61,132,131,124, 53, 0, 2, 0, 23, 3,193, 2,209, 5,182, 0, 12, 0, 25, 0, 98, - 64, 72,191, 27, 1,144, 27, 1, 15, 27, 95, 27,111, 27, 3, 19, 0, 20, 80, 20, 96, 20,112, 20,176, 20,192, 20,208, 20, 7, 20, - 20, 25,152, 15, 14, 95, 14,111, 14,191, 14,207, 14, 5, 14, 12,152, 15, 1, 95, 1,111, 1,127, 1,191, 1,207, 1,223, 1, 7, - 1, 1, 6, 7, 19, 6,156, 13, 0, 3, 0, 63, 50,229, 50, 1, 47, 51, 51, 47, 93,225, 47, 93,225, 51, 47, 93, 51, 93, 93, 93, - 49, 48, 1, 23, 14, 3, 7, 35, 62, 3, 55, 33, 23, 14, 3, 7, 35, 62, 3, 55, 1, 66, 14, 14, 39, 47, 51, 25,137, 14, 29, 27, - 22, 8, 2, 72, 14, 14, 39, 47, 51, 25,137, 14, 29, 27, 22, 8, 5,182, 22, 55,121,125,122, 56, 60,132,132,124, 53, 22, 55,121, -125,122, 56, 60,132,132,124, 53, 0, 2, 0, 63,254,248, 2,250, 0,238, 0, 12, 0, 25, 0,126, 64, 81,208, 27,224, 27,240, 27, - 3,164, 27,180, 27,196, 27, 3,144, 27, 1, 2, 32, 27, 48, 27, 64, 27, 96, 27,112, 27,128, 27, 6, 19, 0, 20, 80, 20, 96, 20, -112, 20,192, 20,208, 20, 6, 20, 20, 25,152,144, 14,224, 14,240, 14, 3, 15, 14, 95, 14, 2, 14, 12,152, 15, 1, 95, 1,111, 1, -127, 1,207, 1,223, 1, 6, 1, 1, 6, 7,184,255,192, 64, 10, 16, 24, 72, 7, 19, 6,156, 13, 0,168, 0, 63, 50,229, 50, 1, - 47, 43, 51, 51, 47, 93,225, 47, 93, 93,225, 51, 47, 93, 51, 93, 95, 93, 93, 93, 49, 48, 37, 23, 14, 3, 7, 35, 62, 3, 55, 33, - 23, 14, 3, 7, 35, 62, 3, 55, 1,106, 15, 14, 39, 47, 51, 25,138, 15, 29, 27, 22, 8, 2, 72, 14, 14, 39, 47, 51, 25,137, 14, - 29, 27, 22, 8,238, 23, 54,122,124,123, 56, 61,132,131,125, 53, 23, 54,122,124,123, 56, 61,132,131,125, 53, 0, 0, 1, 0,123, - 0, 0, 3,104, 6, 20, 0, 11, 0,124, 64, 82,144, 13,160, 13,224, 13,240, 13, 4,111, 13, 1, 16, 13, 48, 13, 64, 13, 3, 7, - 6,192, 4, 8, 8, 3,228, 11,244, 11, 2,214, 11, 1,119, 11, 1,106, 11, 1, 84, 11, 1, 69, 11, 1, 38, 11, 1, 11,192, 9, - 10, 1, 9, 9, 54, 2, 1, 2,190, 0, 3, 16, 3,160, 3, 3, 3, 4, 1, 0, 5,191, 11, 10, 7, 6,194, 8, 0, 3, 0, 47, - 63,246, 50, 50, 50,225, 50, 50, 50, 1, 47, 93,225, 93, 50, 17, 51, 51, 16,230, 93, 93, 93, 93, 93, 93, 93, 17, 51, 47, 51,230, - 51, 93, 93, 93, 49, 48, 1, 37, 19, 35, 19, 5, 53, 5, 3, 51, 3, 37, 3,104,254,181, 55,217, 55,254,201, 1, 55, 55,217, 55, - 1, 75, 3,221, 31,252, 4, 3,252, 31,180, 30, 1,161,254, 95, 30, 0, 0, 1, 0,123, 0, 0, 3,125, 6, 20, 0, 21, 0,176, - 64,113, 0, 23, 1,160, 23,176, 23,240, 23, 3,127, 23, 1, 32, 23, 64, 23, 80, 23, 3, 8, 13,192, 14, 11, 15, 15, 5, 1, 4, - 18, 1,244, 18, 1,230, 18, 1,135, 18, 1,122, 18, 1,100, 18, 1, 85, 18, 1, 54, 18, 70, 18, 2, 18,192, 16, 20, 17, 16, 16, - 21, 3, 0, 4,190, 5, 10, 10, 9, 6, 0, 5, 1, 0, 5, 16, 5, 32, 5, 80, 5,160, 5,176, 5, 6, 8, 5, 20, 19, 11, 12, -191, 18, 17, 14, 13,194, 15, 0, 9, 1, 0, 8,191, 6, 3, 2, 7,194, 5, 0, 47,246, 50, 50, 50,225, 50, 50, 50, 63,246, 50, - 50, 50,225, 50, 50, 50, 1, 47, 94, 93,113, 51, 51, 51, 47, 16,225, 50, 50, 50, 50, 17, 51, 51, 16,230, 93, 93, 93, 93, 93, 93, - 93,113, 50, 17, 51, 47, 51, 51,230, 50, 93, 93, 93,113, 49, 48, 1, 37, 21, 37, 19, 35, 19, 5, 53, 5, 3, 19, 5, 53, 5, 3, - 51, 3, 37, 21, 37, 19, 2, 49, 1, 76,254,180, 55,217, 56,254,180, 1, 76, 47, 47,254,180, 1, 76, 56,217, 55, 1, 76,254,180, - 47, 1,240, 30,180, 31,254,135, 1,121, 31,180, 30, 1, 34, 1, 19, 31,180, 30, 1,120,254,136, 30,180, 31,254,237, 0, 0, 1, - 0,150, 1,229, 2,109, 3,242, 0, 19, 0, 70, 64, 36, 47, 21, 95, 21,111, 21,127, 21,207, 21,239, 21,255, 21, 7, 16, 21, 1, - 95, 10,111, 10,159, 10,175, 10,223, 10,239, 10, 6, 10,208, 0, 1, 0,184,255,192, 64, 12, 7, 10, 72, 0, 31, 15, 1, 15, 16, - 5, 1, 5, 0, 47, 93,197, 93, 1, 47, 43, 93,197, 93, 93, 93, 49, 48, 19, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, - 46, 2,150, 36, 63, 86, 50, 49, 86, 64, 37, 37, 64, 86, 49, 50, 86, 63, 36, 2,236, 71,100, 63, 28, 28, 63,100, 71, 70,100, 63, - 30, 30, 63,100, 0, 3, 0,147,255,227, 5,219, 0,250, 0, 19, 0, 39, 0, 57, 0,168, 64,118, 20, 59, 36, 59, 2,251, 59, 1, -228, 59, 1,187, 59,203, 59, 2,164, 59, 1,139, 59, 1,100, 59,116, 59, 2, 75, 59, 1, 52, 59, 1, 11, 59, 1, 30,150,102, 20, -118, 20, 2, 20, 20, 0, 40,150, 36, 50, 1,251, 50, 1,224, 50, 1,212, 50, 1,187, 50, 1,164, 50, 1,139, 50, 1,114, 50, 1, -102, 50, 1, 75, 50, 1, 48, 50, 1, 2, 32, 50, 1, 15, 50, 1, 6, 50, 10,150,224, 0,240, 0, 2, 84, 0,100, 0, 2, 0, 0, - 16, 0, 32, 0, 3, 7, 0, 45, 25, 5,155, 55, 35, 15, 0, 47, 51, 51,237, 50, 50, 1, 47, 94, 93, 93, 93,237, 47, 94, 93, 93, - 95, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,113,237, 17, 57, 47, 93,237, 93, 93, 93, 93, 93, 93, 93, 93, 93,113, 49, 48, 55, 52, - 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 37, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 37, 52, - 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 38,147, 20, 34, 46, 27, 26, 47, 34, 20, 20, 34, 47, 26, 27, 46, 34, 20, 2, 37, - 20, 34, 46, 27, 26, 47, 34, 20, 20, 34, 47, 26, 27, 46, 34, 20, 2, 37, 19, 35, 46, 27, 26, 47, 34, 20, 20, 34, 47, 26, 54, 73, -111, 38, 53, 33, 15, 15, 33, 53, 38, 37, 53, 34, 16, 16, 34, 53, 37, 38, 53, 33, 15, 15, 33, 53, 38, 37, 53, 34, 16, 16, 34, 53, - 37, 38, 53, 33, 15, 15, 33, 53, 38, 37, 53, 34, 16, 66, 0, 7, 0,102,255,236, 8,244, 5,203, 0, 9, 0, 29, 0, 39, 0, 59, - 0, 63, 0, 73, 0, 93, 0,137, 64, 92, 64,180, 84,181, 74, 30,180, 50,181, 35,180, 40,160, 62, 1, 48, 60, 64, 60,176, 60, 3, - 48, 40, 64, 40, 2, 62, 60, 40, 40, 60, 62, 3, 20, 69,180, 74, 95, 63, 95, 79, 95, 95, 95,127, 95,175, 95, 5, 5,180, 10,181, - 0,180, 16, 20, 32, 20, 48, 20, 3, 20, 71,182, 89,183, 67,182, 79, 25, 63, 6, 62, 24, 37,182, 55,183, 33,182, 45, 25, 3,182, - 15,183, 7,182, 25, 7, 0, 63,225,244,225, 63,225,244,225, 63, 63, 63,225,244,225, 1, 47, 93,225,244,225, 93, 16,222,225, 18, - 23, 57, 47, 47, 47, 93, 93, 93, 16,225,244,225, 16,244,225, 49, 48, 19, 20, 22, 51, 50, 17, 16, 35, 34, 6, 5, 20, 14, 2, 35, - 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 1, 20, 22, 51, 50, 17, 16, 35, 34, 6, 5, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, - 2, 51, 50, 30, 2, 1, 1, 35, 1, 1, 20, 22, 51, 50, 17, 16, 35, 34, 6, 5, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, - 50, 30, 2,250, 71, 80,156,156, 80, 71, 1,199, 36, 74,115, 79, 73,112, 76, 38, 35, 73,113, 78, 75,113, 77, 39, 1,172, 71, 80, -156,156, 80, 71, 1,198, 35, 74,115, 79, 74,112, 75, 38, 35, 73,113, 78, 75,113, 76, 39,255, 0,252,213,158, 3, 44, 2,151, 71, - 81,155,155, 81, 71, 1,199, 35, 74,115, 79, 74,112, 75, 38, 35, 73,113, 78, 74,114, 76, 39, 4, 2,165,165, 1, 74, 1, 72,163, -165,108,172,118, 63, 63,118,172,108,108,170,117, 62, 62,117,170,253, 74,165,164, 1, 73, 1, 72,163,165,108,171,118, 63, 63,118, -171,108,108,170,117, 62, 62,117,170, 3,146,250, 74, 5,182,252, 2,165,164, 1, 73, 1, 72,163,165,108,171,118, 63, 63,118,171, -108,108,170,117, 62, 62,117,170,255,255, 0,133, 3,166, 1, 74, 5,182, 2, 6, 0, 10, 0, 0,255,255, 0,133, 3,166, 2,178, - 5,182, 2, 6, 0, 5, 0, 0, 0, 1, 0, 82, 0,115, 1,252, 3,199, 0, 6, 0, 60,177, 4, 2,184,255,192, 64, 31, 9, 12, - 72, 2, 8, 63, 8,159, 8,175, 8,223, 8,239, 8,255, 8, 6, 6,235,159, 3, 1, 3, 6, 0, 3, 3, 1, 5, 1, 0, 47, 47, - 18, 57, 61, 47, 51, 51, 1, 24, 47, 93,225, 93, 16,198, 43, 50, 49, 48, 19, 1, 23, 3, 19, 7, 1, 82, 1, 53,117,238,238,117, -254,203, 2, 41, 1,158, 78,254,164,254,164, 78, 1,155, 0, 1, 0, 82, 0,115, 1,252, 3,199, 0, 6, 0, 63, 64, 40, 0,235, -223, 3,239, 3,255, 3, 3, 16, 3, 32, 3, 2, 3, 63, 8,159, 8,175, 8,223, 8,239, 8,255, 8, 6, 4, 63, 2, 1, 2, 6, - 0, 3, 3, 1, 5, 1, 0, 47, 47, 18, 57, 61, 47, 51, 51, 1, 24, 47, 93, 51, 93, 47, 93, 93,225, 49, 48, 1, 1, 39, 19, 3, - 55, 1, 1,252,254,203,117,237,237,117, 1, 53, 2, 14,254,101, 78, 1, 92, 1, 92, 78,254, 98,255,255, 0,147,255,227, 3, 98, - 5,182, 0, 39, 0, 4, 1,209, 0, 0, 1, 6, 0, 4, 0, 0, 0, 9,181, 47, 49, 1, 16, 49, 1, 93, 93, 0, 0, 1,254,160, - 0, 0, 2,104, 5,182, 0, 3, 0, 29,177, 1, 2,184,255,240, 64, 9, 2, 3, 0, 16, 0, 1, 18, 0, 3, 0, 63, 63, 1, 47, - 56, 50, 47, 56, 51, 49, 48, 1, 1, 35, 1, 2,104,252,213,157, 3, 43, 5,182,250, 74, 5,182, 0, 1, 0,106, 3, 29, 2,147, - 5,199, 0, 20, 0, 65, 64, 23, 0,224, 0, 20, 1, 20, 22, 96, 22,192, 22,224, 22,240, 22, 4, 15, 22, 1, 14, 10,224, 11,184, -255,192, 64, 14, 10, 15, 72, 11, 10, 0,192, 14, 4,228, 17,222, 12,220, 0, 63, 63,225, 51, 26,204, 50, 1, 47, 43,225, 50, 93, - 93, 16,214, 93,225, 49, 48, 1, 17, 52, 38, 35, 34, 14, 2, 21, 17, 35, 17, 51, 23, 51, 54, 51, 50, 21, 17, 2, 20, 63, 63, 45, - 65, 42, 21,127,105, 16, 9, 64,130,229, 3, 29, 1,166, 81, 68, 21, 52, 87, 65,254,166, 2,157, 88,101,250,254, 80, 0, 0, 1, - 0, 96, 0, 0, 4, 0, 5,182, 0, 17, 0,118, 64, 72, 2, 16, 2, 16, 5, 0, 11, 16, 11, 32, 11, 3, 11, 11, 19, 48, 19, 1, - 14, 0, 4, 90, 5, 9, 5,223, 7, 1, 7, 7, 0, 5, 16, 5,192, 5, 3, 7, 5, 3, 7, 96, 8, 0, 8, 17, 95, 14, 15, 14, - 63, 14,111, 14, 3, 8, 14, 64, 16, 21, 72, 8, 14, 8, 14, 4, 13, 95, 10, 3, 4, 18, 0, 63, 63,225, 18, 57, 57, 47, 47, 43, - 94, 93, 16,225, 17, 51, 16,225, 50, 1, 47, 94, 93, 51, 47, 93, 17, 51, 16,225, 50, 50, 93, 17, 51, 47, 93, 18, 57, 57, 47, 47, - 49, 48, 1, 33, 21, 33, 17, 35, 17, 35, 53, 51, 17, 33, 21, 33, 17, 33, 21, 33, 1,195, 1, 36,254,220,179,176,176, 2,240,253, -195, 2, 22,253,234, 1,143,137,254,250, 1, 6,137, 4, 39,164,253,252,164, 0, 0, 1, 0, 68, 0, 0, 4, 35, 5,201, 0, 48, - 0,135, 64, 16, 17, 13, 21,111, 43, 39, 35, 15, 19, 35, 19, 35, 19, 30, 3, 27,184,255,192, 64, 62, 9, 14, 72, 27, 27, 50, 16, - 50, 1, 41, 37, 30, 64, 11, 14, 72, 30, 20, 37,117, 38, 17, 38, 16, 41,117, 42, 13, 42,111, 38, 1,208, 42, 1, 15, 42, 31, 42, - 63, 42, 79, 42,175, 42,191, 42, 6, 38, 42, 38, 42, 0, 30, 26,116, 29, 24, 7,115, 0, 7, 0, 63,225, 63,225, 50, 17, 57, 57, - 47, 47, 93, 93, 93, 17, 51, 16,225, 50, 17, 51, 16,225, 50, 1, 47, 43, 51, 51, 93, 17, 51, 47, 43, 51, 18, 57, 57, 47, 47, 17, - 51, 17, 51, 51,225, 50, 50, 49, 48, 1, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, 21, 33, 21, 33, 21, 33, 21, 33, 21, 20, 14, - 2, 7, 33, 21, 33, 53, 62, 3, 53, 53, 35, 53, 51, 53, 35, 53, 51, 53, 52, 62, 2, 2,154,106,174, 66, 66, 56,141, 75, 48, 82, - 60, 33, 1,120,254,136, 1,120,254,136, 23, 39, 51, 27, 2,236,252, 33, 44, 73, 53, 30,198,198,198,198, 59,105,146, 5,201, 45, - 35,144, 29, 43, 27, 59, 94, 66,192,137,158,137, 19, 62, 89, 64, 43, 16,166,154, 11, 41, 68, 97, 67, 21,137,158,137,221, 87,137, - 95, 50, 0, 3, 0,150,255,236, 5,182, 5,182, 0, 27, 0, 42, 0, 53, 0,121, 64, 24, 49,111, 28, 18, 16, 15,110, 24, 21, 24, - 28, 24, 28, 24, 36,255, 5, 1, 5, 64, 18, 21, 72, 5,184,255,192, 64, 44, 9, 14, 72, 5, 5, 55, 15, 55, 1, 55, 64, 11, 16, - 72, 43, 35,110, 36,124, 54, 15, 24,117, 21, 18, 21, 43,115, 34, 21, 34, 21, 34, 36, 53,115, 37, 6, 36, 24, 0,117, 9, 25, 0, - 63,225, 63, 63,225, 18, 57, 57, 47, 47, 16,225, 17, 51, 16,225, 50, 1, 16,246,225, 50, 43, 93, 17, 51, 47, 43, 43, 93, 18, 57, - 57, 47, 47, 17, 51, 16,225, 50, 50, 16,225, 49, 48, 37, 50, 62, 2, 55, 21, 6, 6, 35, 34, 46, 2, 53, 17, 35, 53, 55, 55, 51, - 21, 51, 21, 35, 17, 20, 22, 1, 20, 14, 2, 35, 35, 17, 35, 17, 51, 50, 30, 2, 1, 51, 50, 62, 2, 53, 52, 38, 35, 35, 5, 59, - 15, 36, 35, 30, 7, 23, 80, 63, 53, 88, 64, 36,156,156, 65,107,209,209, 52,254,140, 52,124,204,152, 47,178,251,134,191,123, 58, -253,189, 26, 93,139, 91, 46,164,174, 57,129, 4, 6, 8, 3,138, 12, 20, 34, 70,106, 72, 1,191, 82, 77,189,211,137,254, 86, 76, - 78, 3,137, 91,168,129, 77,253,199, 5,182, 57,109,160,254,103, 32, 71,113, 81,142,137, 0, 1, 0, 63,255,236, 4, 74, 5,203, - 0, 57, 0,134,180, 18, 7, 40, 54, 25,184,255,192, 64, 75, 9, 13, 72, 25, 25, 59, 16, 59, 1, 44, 35, 35, 19, 5, 13,111, 46, - 34, 99, 40, 1, 40, 40, 58, 19, 35, 96, 36, 16, 36, 8, 44, 96, 45, 5, 45, 95, 36,127, 36,143, 36,239, 36,255, 36, 5, 15, 45, - 31, 45, 47, 45, 95, 45,159, 45,207, 45, 6, 36, 45, 36, 45, 22, 55, 0,116, 51, 7, 22, 95, 25, 29, 25, 0, 63, 51,225, 63,225, - 51, 18, 57, 57, 47, 47, 93, 93, 17, 51, 16,225, 50, 17, 51, 16,225, 50, 17, 1, 51, 47, 93, 51, 51,225, 50, 50, 51, 17, 51, 93, - 17, 51, 47, 43, 51, 18, 57, 57, 49, 48, 1, 34, 14, 2, 7, 33, 21, 33, 20, 7, 6, 20, 21, 20, 20, 23, 33, 21, 33, 22, 22, 51, - 50, 54, 55, 21, 6, 6, 35, 34, 46, 2, 39, 35, 53, 51, 38, 52, 53, 52, 54, 53, 35, 53, 51, 62, 3, 51, 50, 22, 23, 7, 38, 38, - 3, 8, 69,118, 94, 67, 18, 1,176,254, 65, 1, 1, 2, 1,129,254,146, 34,185,149, 75,135, 59, 59,133, 91,115,182,135, 88, 21, -164,148, 2, 2,148,160, 18, 88,135,184,114, 97,160, 79, 80, 51,119, 5, 39, 52, 99,143, 91,137, 15, 14, 12, 26, 9, 19, 41, 22, -137,175,184, 32, 26,162, 28, 31, 73,135,193,121,137, 23, 30, 29, 22, 46, 8,137,125,202,144, 78, 43, 49,146, 31, 43, 0, 0, 4, - 0,141,255,248, 5,219, 5,193, 0, 3, 0, 23, 0, 43, 0, 72, 0,134, 64, 10, 1, 2, 57, 70, 24,180, 14, 3, 0, 2,184,255, -240, 64, 74,112, 70,144, 70,160, 70,208, 70, 4,223, 14, 1, 0, 16, 2, 70, 14, 0, 0, 14, 70, 2, 4, 49, 34,180, 15, 4, 1, -239, 4,255, 4, 2, 4, 74, 64,180, 0, 49, 1, 0, 49, 16, 49, 32, 49,224, 49,240, 49, 5, 8, 49, 66,252, 44,253, 61,252, 54, - 7, 39,252, 19,253, 29,252, 9, 25, 3, 6, 1, 24, 0, 63, 63, 63,225,244,225, 63,225,244,225, 1, 47, 94, 93,113,225, 16,222, - 93,113,225, 17, 23, 57, 47, 47, 47, 47, 56, 93, 93, 56, 17, 51, 16,225, 17, 51, 17, 51, 49, 48, 1, 1, 35, 1, 1, 20, 14, 2, - 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 5, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2, 1, 34, 46, 2, - 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, 38, 35, 34, 6, 21, 20, 51, 50, 54, 55, 21, 6, 6, 5, 10,252,213,157, 3, 43, 1,110, - 45, 80,112, 68, 63,110, 81, 47, 44, 80,113, 68, 62,110, 82, 47,254, 51, 17, 38, 60, 43, 42, 60, 37, 17, 17, 37, 60, 42, 43, 60, - 38, 17,253,203, 69,121, 90, 52, 53, 92,125, 72, 51,100, 32, 33, 31, 85, 34,103, 95,194, 51, 90, 35, 35, 99, 5,182,250, 74, 5, -182,251,152, 83,127, 87, 45, 45, 87,127, 83, 83,127, 87, 45, 45, 87,127, 83, 51, 86, 62, 35, 35, 62, 86, 51, 52, 85, 61, 33, 33, - 61, 85, 1,146, 38, 82,128, 90, 95,132, 82, 38, 22, 15,107, 13, 20,116,118,229, 17, 16,107, 18, 19, 0, 0, 2, 0,119,255,236, - 3,123, 5,203, 0, 45, 0, 58, 0, 85, 64, 50, 46,112, 35, 64, 16, 20, 72, 35, 35, 17, 5, 6, 60, 53, 40,110, 25, 20, 16, 17, - 32, 17, 48, 17,128, 17,144, 17, 5, 17, 24, 21, 54,118, 20, 17, 40, 40, 0, 48,118, 30, 7, 0,117, 11, 6, 6, 11, 25, 0, 63, - 51, 47, 16,225, 63,225, 18, 57, 47, 51, 51,225, 50, 50, 1, 47, 93,197, 51,225, 50, 16,214,193, 18, 57, 47, 43,225, 49, 48, 37, - 50, 62, 2, 55, 51, 14, 3, 35, 34, 46, 2, 53, 53, 6, 6, 7, 53, 54, 54, 55, 17, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, - 7, 17, 20, 30, 2, 19, 52, 35, 34, 14, 2, 21, 17, 62, 3, 2,111, 32, 57, 46, 30, 3,100, 4, 38, 70,105, 70, 58,106, 81, 48, - 46, 97, 49, 52, 95, 45, 28, 64,104, 75, 54, 87, 61, 33, 53, 92,124, 71, 17, 36, 55, 99,102, 32, 41, 23, 9, 54, 78, 51, 24,119, - 22, 50, 82, 59, 83,131, 90, 48, 37, 84,136, 99,231, 17, 28, 12,121, 14, 30, 15, 1,238, 59,108, 83, 49, 42, 79,111, 69, 99,166, -134,104, 38,254,211, 48, 81, 59, 33, 4, 33,188, 27, 50, 69, 42,254,106, 33, 78, 98,121, 0, 4, 0,199, 0, 0, 7,137, 5,182, - 0, 23, 0, 43, 0, 55, 0, 59, 0,186, 64,114, 14, 1, 21, 90, 0, 57, 57, 44,225, 34, 16, 0, 1,176, 0, 1,159, 0, 1, 48, - 0, 64, 0, 2, 0, 34, 0, 34, 10, 50,225, 24, 15, 58, 31, 58, 47, 58, 3, 58, 58,239, 24, 1, 24,103, 61,111, 61,191, 61,207, - 61, 3, 64, 61, 1, 12, 8, 3, 9, 90, 10,100, 60, 47,229, 29, 53,229, 39,207, 29,223, 29,239, 29, 3, 29, 64, 6, 11, 72, 15, - 39, 31, 39, 95, 39,111, 39,127, 39,239, 39, 6, 6, 29, 39, 29, 39, 22, 3, 16, 6, 24, 72, 3, 11, 3, 57,229, 56, 14,184,255, -240,182, 6, 24, 72, 14, 1, 10, 18, 0, 63, 51, 51, 43, 51,224, 63, 51, 43, 51, 57, 57, 47, 47, 94, 93, 43, 93, 16,225, 16,225, - 1, 16,246,225, 50, 50, 50, 93, 93, 16,230, 93, 50, 47,113, 16,225, 17, 57, 57, 47, 47, 93, 93, 93,113, 16,225, 51, 47, 16,225, - 50, 50, 49, 48, 33, 35, 1, 35, 22, 23, 22, 22, 21, 17, 35, 17, 51, 1, 51, 38, 39, 46, 3, 53, 17, 51, 1, 20, 14, 2, 35, 34, - 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 5, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 3, 53, 33, 21, 4,168,205,253,135, 8, - 6, 4, 4, 5,166,207, 2,118, 6, 3, 4, 1, 3, 2, 1,164, 2,225, 41, 77,109, 68, 63,107, 77, 44, 41, 77,109, 68, 62,107, - 78, 44,254, 66, 72, 81, 81, 71, 71, 81, 81, 72, 99, 1,240, 4,186, 77, 76, 65,142, 57,252,231, 5,182,251, 76, 76, 74, 32, 67, - 67, 62, 26, 3, 32,252,185, 83,130, 89, 47, 47, 89,130, 83, 83,129, 88, 46, 46, 88,129, 83,113,115,115,113,114,109,109,253, 31, -147,147, 0, 2, 0, 37, 2,229, 5, 80, 5,182, 0, 7, 0, 32, 0,163, 64, 93, 0,196, 1, 19, 10, 16,196, 17,192, 6,208, 6, -224, 6, 3,111, 6, 1, 48, 6, 64, 6, 80, 6, 3, 31, 6, 1, 4, 6, 1, 32, 17,208, 17, 2, 1, 6, 17, 17, 6, 1, 3, 3, - 30, 25, 21, 24,196,159, 23,175, 23, 2, 23, 34, 15, 34, 47, 34, 63, 34, 3, 34, 64, 21, 24, 72, 34, 64, 15, 18, 72,207, 3,239, - 3, 2, 3, 31, 9, 9, 32, 12, 24, 72, 9, 7, 3,200, 4, 24, 20,184,255,224, 64, 12, 12, 24, 72, 20, 17, 8, 1, 1, 21, 18, - 4, 3, 0, 63, 51, 51, 51, 47, 51, 51, 51, 43, 51, 16,225, 50, 51, 43, 17, 51, 1, 47, 93, 43, 43, 93, 16,214, 93,225, 50, 50, - 50, 17, 23, 57, 47, 47, 47, 93, 93, 93, 93, 93, 93, 16,225, 50, 50, 16,225, 49, 48, 1, 35, 17, 35, 53, 33, 21, 35, 1, 3, 35, - 30, 3, 21, 17, 35, 17, 51, 19, 19, 51, 17, 35, 17, 52, 62, 2, 55, 35, 3, 1,104,127,196, 2, 10,199, 2, 64,186, 7, 1, 2, - 1, 1,123,186,180,191,178,127, 1, 1, 1, 1, 6,195, 2,229, 2,101,108,108,253,155, 2, 37, 16, 34, 30, 24, 6,254, 73, 2, -209,253,217, 2, 39,253, 47, 1,172, 9, 30, 35, 35, 12,253,219,255,255, 0, 78, 0, 0, 5,166, 5,205, 2, 6, 1,118, 0, 0, - 0, 2, 0,102,255,221, 4,139, 4, 72, 0, 34, 0, 47, 0, 59, 64, 33, 35, 74, 30, 17, 49, 47, 19, 74, 16, 5, 1, 5, 29, 29, - 24, 18, 78, 43, 47, 59, 47, 2, 47, 47, 24, 41, 78, 12, 15, 24, 78, 0, 22, 0, 63,225, 63,225, 18, 57, 47, 93,225, 17, 57, 47, - 1, 47, 93,225, 50, 16,222, 50,225, 49, 48, 5, 34, 46, 2, 53, 52, 62, 4, 51, 50, 30, 2, 21, 33, 17, 30, 3, 51, 50, 62, 2, - 55, 23, 14, 3, 19, 17, 46, 3, 35, 34, 14, 2, 7, 17, 2,121,130,198,134, 69, 44, 76,102,118,128, 63,113,194,142, 81,252,197, - 22, 64, 77, 88, 46, 74,116, 94, 77, 34, 72, 36, 83,110,143,204, 19, 59, 77, 93, 53, 51, 87, 73, 60, 24, 35, 94,157,204,110, 99, -160,126, 92, 60, 29, 79,147,209,131,254,156, 24, 44, 34, 21, 32, 60, 87, 55, 41, 57,101, 77, 44, 2,139, 1, 21, 20, 42, 35, 22, - 19, 33, 42, 23,254,233,255,255, 0, 83,255,236, 5,211, 5,182, 0, 38, 0,123, 20, 0, 0, 39, 2, 23, 2, 94, 0, 0, 1, 7, - 2, 64, 3, 98,253,179, 0, 48, 64, 31, 4, 3, 2, 39, 25, 1,244, 17, 1,228, 17, 1,208, 17, 1,176, 17, 1,160, 17, 1, 48, - 17, 1, 17, 47, 89, 1, 15, 89, 1, 93, 93, 17, 93, 93, 93, 93, 93, 93, 53, 0, 63, 53, 53, 53,255,255, 0, 51,255,236, 5,211, - 5,201, 0, 38, 0,117, 20, 0, 0, 39, 2, 23, 2,139, 0, 0, 1, 7, 2, 64, 3, 98,253,179, 0, 60, 64, 40, 4, 3, 2, 73, - 25, 1,240, 51, 1,208, 51, 1,196, 51, 1,180, 51, 1,160, 51, 1,148, 51, 1, 96, 51, 1, 48, 51, 1, 36, 51, 1, 51, 47,123, - 1, 15,123, 1, 93, 93, 17, 93, 93, 93, 93, 93, 93, 93, 93, 93, 53, 0, 63, 53, 53, 53,255,255, 0, 79,255,236, 5,211, 5,182, - 0, 38, 2, 61, 20, 0, 0, 39, 2, 23, 2,139, 0, 0, 1, 7, 2, 64, 3, 98,253,179, 0, 60, 64, 40, 4, 3, 2, 61, 25, 1, -240, 39, 1,208, 39, 1,196, 39, 1,180, 39, 1,160, 39, 1,148, 39, 1, 96, 39, 1, 48, 39, 1, 36, 39, 1, 39, 47,111, 1, 15, -111, 1, 93, 93, 17, 93, 93, 93, 93, 93, 93, 93, 93, 93, 53, 0, 63, 53, 53, 53,255,255, 0,113,255,236, 5,211, 5,182, 0, 38, - 2, 63, 66, 0, 0, 39, 2, 23, 2, 57, 0, 0, 1, 7, 2, 64, 3, 98,253,179, 0, 52, 64, 34, 4, 3, 2, 31, 25, 1,244, 9, - 1,235, 9, 1,203, 9, 1,180, 9, 1,155, 9, 1,127, 9, 1, 43, 9, 1, 9, 47, 81, 1, 15, 81, 1, 93, 93, 17, 93, 93, 93, - 93, 93, 93, 93, 53, 0, 63, 53, 53, 53, 0, 2, 0, 98,255,236, 4, 59, 5,197, 0, 43, 0, 67, 0, 59, 64, 33, 51, 25, 71, 0, - 87, 69, 64, 69, 1, 15, 69, 1, 6, 63, 72, 33, 12, 86, 68, 56, 79, 19, 19, 44, 33, 28, 80, 39, 4, 44, 80, 7, 22, 0, 63,225, - 63,225, 51, 18, 57, 47,225, 1, 16,246, 50,225, 94, 93, 93, 16,246,225, 50, 49, 48, 1, 20, 14, 4, 35, 34, 46, 2, 53, 52, 62, - 4, 51, 50, 22, 23, 54, 52, 53, 52, 38, 35, 34, 14, 2, 7, 53, 62, 3, 51, 50, 30, 2, 1, 50, 62, 4, 55, 46, 3, 35, 34, 14, - 4, 21, 20, 30, 2, 4, 59, 32, 65,101,138,177,109,106,140, 83, 34, 23, 50, 81,115,153, 98, 91,147, 45, 2,139,137, 31, 68, 67, - 65, 27, 24, 67, 75, 79, 37,125,166, 99, 42,253,158, 53, 94, 81, 67, 53, 37, 10, 10, 41, 59, 73, 42, 62,102, 79, 58, 37, 18, 21, - 45, 70, 3,166,106,225,212,188,141, 82, 66,110,143, 76, 60,141,141,131,101, 61, 79, 69, 19, 42, 11,190,201, 12, 22, 31, 19,174, - 12, 23, 17, 10, 89,150,196,252,115, 44, 77,104,122,133, 67, 40, 69, 51, 30, 48, 81,104,111,110, 47, 50, 86, 64, 36, 0, 0, 2, - 0, 41, 0, 0, 4, 98, 5,182, 0, 5, 0, 14, 0, 88, 64, 17, 2, 1, 9, 9, 5, 14, 91, 96, 4,112, 4,176, 4,240, 4, 4, - 4,184,255,192, 64, 39, 6, 10, 72, 4, 4, 16, 47, 16, 95, 16,111, 16,127, 16,159, 16,191, 16, 6, 16, 64, 6, 9, 72, 13, 91, - 5, 13, 95, 5, 18, 9, 32, 10, 17, 72, 9, 1, 3, 0, 63, 51, 43, 63,225, 1, 47,225, 43, 93, 17, 51, 47, 43, 93,225, 18, 57, - 61, 47, 51, 51, 49, 48, 55, 1, 51, 1, 21, 33, 1, 38, 38, 39, 6, 6, 7, 3, 33, 41, 1,190,187, 1,192,251,199, 2,119, 32, - 45, 15, 17, 42, 29,250, 2,166,113, 5, 69,250,185,111, 3,154, 97,168, 75, 75,168, 91,253, 4, 0, 1, 0,199,254, 20, 5, 39, - 5,182, 0, 7, 0, 55, 64, 17, 0, 90, 7,101, 9, 0, 9, 48, 9, 64, 9,112, 9,128, 9, 5, 9,184,255,192, 64, 15, 20, 24, - 72, 3, 90, 4,100, 8, 2, 95, 5, 3, 4, 0, 27, 0, 63, 50, 63,225, 1, 16,246,225, 43, 93, 16,246,225, 49, 48, 1, 17, 33, - 17, 35, 17, 33, 17, 4,109,253, 20,186, 4, 96,254, 20, 6,252,249, 4, 7,162,248, 94, 0, 1, 0, 74,254, 20, 4,227, 5,182, - 0, 11, 0, 92, 64, 11, 8, 91,112, 6, 1, 2, 6, 2, 6, 0, 10,184,255,192,183, 9, 14, 72, 10, 10, 13, 7, 9,184,255,224, - 64, 9, 15, 24, 72, 9, 3, 0, 0, 12, 13,184,255,192, 64, 15, 19, 24, 72, 8, 2, 2, 9, 7, 95, 4, 3, 9, 95, 0, 27, 0, - 63,225, 63,225, 18, 57, 61, 47, 51, 1, 43, 17, 51, 24, 47, 51, 51, 43, 50, 17, 51, 47, 43, 18, 57, 57, 47, 47, 93,225, 49, 48, - 19, 53, 1, 1, 53, 33, 21, 33, 1, 1, 33, 21, 74, 2,112,253,160, 4, 72,252,188, 2, 58,253,176, 3,155,254, 20,115, 3,146, - 3, 43,114,164,253, 9,252,157,164, 0, 0, 1, 0,102, 2,135, 4, 2, 3, 29, 0, 3, 0, 50, 64, 31, 2, 5,150, 0, 1,139, - 0, 1,121, 0, 1, 86, 0, 1, 75, 0, 1, 56, 0, 1, 20, 0, 1, 9, 0, 1, 0, 0,173, 1,179, 0, 63,225, 1, 47, 93, 93, - 93, 93, 93, 93, 93, 93, 16,206, 49, 48, 19, 53, 33, 21,102, 3,156, 2,135,150,150, 0, 0, 1, 0, 37,255,242, 4,197, 6,160, - 0, 8, 0, 44, 64, 19, 1, 0, 6, 5, 2, 6, 2, 6, 7, 8, 16, 8, 3, 3,174, 4, 4, 7, 0, 0, 47, 47, 57, 47,225, 1, - 47, 47, 56, 51, 57, 57, 25, 47, 24, 47, 51, 17, 51, 51, 49, 48, 5, 35, 1, 35, 53, 33, 19, 1, 51, 2,115,133,254,235,180, 1, - 41,229, 2, 0,146, 14, 3, 10,143,253,105, 5,172, 0, 0, 3, 0,119, 1,145, 5, 49, 4, 14, 0, 35, 0, 51, 0, 67, 0,118, - 64, 79, 73, 23, 1, 72, 13, 1,240, 69, 1, 47, 69, 95, 69, 2, 58, 39, 74, 39,106, 39, 3, 42, 55, 1, 55, 26, 8, 39, 4, 63, -119, 47,151, 47, 2, 47,170, 32, 18, 48, 18, 2, 18,120, 63, 1, 63,171, 0, 52, 42,174, 23, 58, 36,174, 8, 55, 39, 26, 4, 23, - 5, 0, 13, 16, 13, 2, 7, 13, 13, 31,159, 23, 1, 32, 23, 1, 23, 0, 47, 93, 93, 51, 51, 47, 94, 93, 51, 18, 23, 57,225, 50, - 16,225, 50, 1, 47,225, 93, 47, 93,225, 93, 18, 23, 57, 93, 93, 93, 93, 49, 48, 93, 93, 1, 20, 14, 2, 35, 34, 38, 39, 14, 3, - 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 62, 3, 51, 50, 30, 2, 5, 50, 54, 55, 38, 38, 35, 34, 14, 2, 21, 20, 30, 2, - 1, 34, 6, 7, 22, 22, 51, 50, 62, 2, 53, 52, 46, 2, 5, 49, 43, 77,109, 66, 93,155, 65, 29, 70, 78, 83, 43, 65,110, 79, 45, - 43, 78,111, 67, 85,158, 62, 29, 68, 79, 87, 48, 66,109, 77, 43,252,123, 63,108, 52, 49,107, 69, 40, 64, 44, 24, 21, 44, 65, 2, -124, 63,107, 55, 51,108, 68, 39, 64, 45, 24, 25, 46, 64, 2,205, 63,114, 87, 52,105,115, 48, 79, 56, 30, 44, 82,117, 72, 65,115, - 86, 49,107,112, 48, 78, 56, 31, 45, 82,117,249, 87, 97, 94, 90, 29, 51, 68, 38, 36, 66, 50, 30, 1,106, 87, 97, 93, 92, 29, 51, - 68, 39, 38, 67, 49, 28, 0, 1, 0, 16,254, 20, 3, 6, 6, 20, 0, 35, 0, 55, 64, 35, 16, 37,208, 37, 2, 20, 4, 1, 6, 4, - 1, 4, 13,172, 27, 21, 1, 9, 21, 1, 21, 16, 30, 32, 30, 2, 30, 25,174, 18, 28, 7,174, 0, 0, 0, 63,225, 63,225, 1, 47, - 93, 51, 93, 93,225, 50, 93, 93, 93, 49, 48, 1, 50, 22, 23, 21, 38, 38, 35, 34, 14, 2, 21, 17, 20, 14, 2, 35, 34, 38, 39, 53, - 22, 22, 51, 50, 62, 2, 53, 17, 52, 62, 2, 2,131, 34, 75, 22, 18, 61, 36, 51, 66, 39, 16, 50, 89,124, 74, 36, 75, 23, 20, 62, - 35, 51, 69, 42, 18, 47, 87,121, 6, 20, 9, 9,147, 9, 17, 39, 65, 84, 45,250,215, 94,134, 86, 41, 11, 8,147, 8, 16, 37, 64, - 84, 48, 5, 39, 94,134, 86, 40, 0, 2, 0,102, 1,123, 4, 2, 4, 37, 0, 35, 0, 71, 0, 75, 64, 46, 65, 29, 73, 16, 73, 1, - 46, 16, 10, 32, 10, 2, 10, 64, 41,173, 49,175, 67, 23,173, 10, 31,175, 28, 5,173,223, 13,239, 13,255, 13, 3, 13, 64, 15, 18, - 72, 13, 13, 59,173, 46, 67,179, 0, 63, 51,225, 51, 47, 43, 93,225, 51,245, 50,225, 16,245,225, 51, 1, 47, 93, 51, 93, 16,206, - 50, 49, 48, 1, 46, 3, 35, 34, 14, 2, 7, 53, 54, 51, 50, 30, 2, 23, 30, 3, 51, 50, 62, 2, 55, 21, 6, 35, 34, 46, 2, 3, - 46, 3, 35, 34, 14, 2, 7, 53, 54, 51, 50, 30, 2, 23, 30, 3, 51, 50, 62, 2, 55, 21, 6, 35, 34, 46, 2, 2, 18, 37, 55, 45, - 41, 22, 28, 60, 59, 56, 25,100,148, 29, 50, 55, 67, 47, 37, 55, 47, 40, 22, 28, 60, 59, 56, 24, 99,149, 29, 50, 55, 67, 47, 37, - 55, 45, 41, 22, 28, 60, 59, 56, 25,100,148, 29, 50, 55, 67, 47, 37, 55, 47, 40, 22, 28, 60, 59, 56, 24, 97,151, 29, 50, 55, 67, - 1,188, 16, 22, 13, 5, 19, 33, 44, 25,162,108, 5, 13, 25, 20, 16, 22, 13, 5, 19, 33, 44, 25,162,108, 5, 13, 25, 1,174, 16, - 21, 13, 5, 19, 32, 44, 26,162,109, 5, 14, 25, 20, 16, 21, 13, 5, 19, 32, 45, 25,162,108, 5, 13, 25, 0, 1, 0,102, 0,164, - 4, 2, 5, 4, 0, 19, 0,166, 64, 17, 10, 13, 14, 17, 18, 9, 18, 18, 0, 3, 4, 7, 8, 19, 8, 9, 19,184,255,240, 64, 79, - 9, 16, 19, 9, 19, 9, 6, 16, 11, 21, 64, 21, 1, 1,198, 6, 1,187, 6, 1,169, 6, 1,134, 6, 1,123, 6, 1,104, 6, 1, - 66, 6, 1, 57, 6, 1, 6, 9, 8, 8, 13, 4,173, 7, 19, 18, 18, 17, 0,173, 14, 31, 3, 47, 3, 2,127, 3, 1, 0, 3, 16, - 3, 2, 6, 3, 3, 10,240, 7, 1, 15, 7,111, 7, 2, 7, 0, 47, 93, 93, 51, 51, 47, 94, 93, 93,113, 51,225, 50, 50, 17, 51, - 16,225, 50, 51, 17, 51, 1, 47, 93, 93, 93, 93, 93, 93, 93, 93, 51, 93, 16,206, 50, 17, 57, 57, 47, 47, 56, 56, 17, 51,125,135, -196,196,196,196, 1, 51, 16,135,196,196,196,196, 49, 48, 1, 35, 53, 33, 19, 33, 53, 33, 19, 23, 7, 51, 21, 33, 3, 33, 21, 33, - 3, 39, 1, 94,248, 1, 62,121,254, 73, 1,252,133,138,105,250,254,193,123, 1,186,254, 0,129,137, 1,186,150, 1, 4,149, 1, - 27, 59,224,149,254,252,150,254,234, 57, 0, 2, 0,102, 0, 0, 4, 2, 4,221, 0, 6, 0, 10, 0, 82, 64, 50, 9, 0, 12, 64, - 12, 1, 8, 64, 1, 1, 1, 2, 1, 5, 5, 3, 6,111, 0,127, 0, 2, 48, 0, 1, 0, 0, 4, 32, 3, 1, 80, 3,112, 3,128, - 3,208, 3,240, 3, 5, 63, 3, 1, 0, 3, 1, 6, 3, 0, 47, 94, 93, 93, 93,113, 51, 51, 47, 93, 93, 50, 18, 57, 61, 47, 51, - 51, 1, 24, 47, 93, 51, 93, 16,206, 50, 49, 48, 37, 1, 53, 1, 21, 9, 2, 53, 33, 21, 4, 2,252,100, 3,156,253, 33, 2,223, -252,100, 3,156,238, 1,168,102, 1,225,160,254,148,254,190,254,113,150,150, 0, 0, 2, 0,102, 0, 0, 4, 2, 4,221, 0, 6, - 0, 10, 0, 82, 64, 50, 9, 5, 12, 64, 12, 1, 8, 64, 6, 1, 6, 5, 4, 1, 1, 3, 0,111, 6,127, 6, 2, 48, 6, 1, 6, - 6, 2, 32, 3, 1, 80, 3,112, 3,128, 3,208, 3,240, 3, 5, 63, 3, 1, 0, 3, 1, 6, 3, 0, 47, 94, 93, 93, 93,113, 51, - 51, 47, 93, 93, 51, 18, 57, 61, 47, 51, 51, 1, 24, 47, 93, 51, 93, 16,206, 50, 49, 48, 19, 1, 1, 53, 1, 21, 1, 21, 53, 33, - 21,102, 2,226,253, 30, 3,156,252,100, 3,156, 1,143, 1, 66, 1,106,162,254, 31,102,254, 88,238,150,150, 0, 0, 2, 0,109, - 0, 0, 4, 63, 5,195, 0, 5, 0, 9, 0, 93, 64, 54, 2, 1, 9, 5, 4, 7, 9, 7, 3, 6,172, 0, 11,255, 11, 1, 64, 11, - 80, 11,128, 11,176, 11,192, 11, 5, 15, 11, 47, 11, 2, 8,170, 16, 3, 1, 3, 3, 8, 0, 6, 8, 6, 8, 6, 2, 7,173, 4, - 7, 9,173, 2, 0, 47,225, 63,225, 18, 57, 57, 61, 47, 47, 17, 51, 17, 51, 1, 24, 47, 93,225, 93, 93, 93, 16,222,225, 18, 57, - 57, 17, 51, 51, 17, 51, 51, 49, 48, 1, 1, 35, 1, 1, 51, 9, 3, 4, 63,254, 60, 76,254, 62, 1,194, 76, 1, 12,254,207,254, -207, 1, 49, 2,225,253, 31, 2,223, 2,228,253, 30, 2, 0,254, 0,253,254, 0,255,255, 0, 29, 0, 0, 4, 23, 6, 31, 0, 38, - 0, 73, 0, 0, 1, 7, 0, 76, 2,162, 0, 0, 0, 36, 64, 24, 2, 1,175, 29, 1, 80, 29, 1, 31, 29, 1, 15, 29, 1, 29,175, - 47, 1, 64, 47, 1, 15, 47, 1, 93, 93, 93, 17, 93, 93, 93, 93, 53, 53,255,255, 0, 29, 0, 0, 4, 6, 6, 31, 0, 38, 0, 73, - 0, 0, 1, 7, 0, 79, 2,162, 0, 0, 0, 34, 64, 23, 1,175, 29, 1, 80, 29, 1, 31, 29, 1, 15, 29, 1, 29,175, 33, 1, 64, - 33, 1, 15, 33, 1, 93, 93, 93, 17, 93, 93, 93, 93, 53, 0, 1, 0,207, 4,217, 3,205, 6, 23, 0, 21, 0, 63, 64, 41, 0, 23, - 32, 23, 2,175, 23,207, 23, 2, 48, 23,112, 23, 2, 15, 0, 1, 0, 0, 0, 10, 48, 10, 2, 6, 10, 10,127, 0, 1, 0, 64, 6, - 9, 72, 0, 0, 16,142, 5, 0, 47,225, 51, 47, 43, 93, 51, 1, 47, 94, 93, 51, 47, 93, 93, 93,113, 49, 48, 1, 14, 3, 35, 34, - 46, 2, 39, 51, 30, 3, 51, 50, 62, 2, 55, 3,205, 6, 49, 93,141,100,103,140, 88, 41, 5,170, 5, 27, 50, 76, 53, 44, 73, 54, - 34, 6, 6, 23, 78,118, 81, 41, 39, 80,119, 80, 57, 73, 41, 16, 19, 43, 72, 53, 0, 1,255,188,254, 20, 1,100, 4, 74, 0, 19, - 0, 35, 64, 19, 16, 21, 32, 21, 2, 15, 71, 12, 3, 3, 12, 84, 20, 13, 15, 7, 80, 0, 27, 0, 63,225, 63, 1, 16,230, 50, 47, - 16,225, 93, 49, 48, 19, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 53, 17, 51, 17, 20, 14, 2, 66, 48, 63, 23, 26, 54, 35, 27, 46, - 35, 19,182, 34, 72,109,254, 20, 14, 11,148, 10, 11, 15, 39, 65, 51, 4,244,251, 24, 77,123, 87, 47, 0, 0, 1, 1,135, 4,205, - 2,121, 6, 20, 0, 13, 0, 25, 64, 12, 5,133, 63, 6, 1, 6, 12, 0, 12,146, 5, 0, 0, 63,229, 1, 47, 51,221, 93,225, 49, - 48, 1, 62, 3, 55, 51, 21, 14, 3, 7, 35, 1,135, 9, 18, 17, 14, 4,180, 6, 31, 41, 46, 22, 96, 4,231, 30, 77, 81, 80, 33, - 20, 25, 78, 86, 86, 32, 0, 1, 1,111,254, 59, 2,117,255,131, 0, 13, 0, 22, 64, 9, 12, 0, 0, 5,133, 6, 12,146, 5, 0, - 47,229, 1, 47,225, 50, 47, 51, 49, 48, 1, 62, 3, 55, 51, 21, 14, 3, 7, 35, 1,111, 11, 26, 24, 19, 4,178, 6, 31, 44, 54, - 29, 98,254, 86, 25, 76, 84, 83, 33, 20, 25, 77, 87, 86, 33, 0, 0, 1, 1,125, 4,217, 2,131, 6, 33, 0, 13, 0, 23, 64, 10, - 12, 0, 0, 5,133, 6, 5,146, 12, 0, 0, 63,229, 1, 47,225, 50, 47, 51, 49, 48, 1, 14, 3, 7, 35, 53, 62, 3, 55, 51, 2, -131, 12, 26, 24, 18, 4,178, 5, 31, 45, 55, 28, 98, 6, 6, 25, 76, 84, 83, 33, 21, 24, 78, 86, 86, 33, 0, 2, 0, 37, 2, 57, - 2,127, 5,199, 0, 11, 0, 29, 0, 42, 64, 25, 6,225, 12, 31, 79, 31,127, 31, 2, 31, 64, 6, 10, 72, 0,225, 22, 9,229, 27, -222, 3,229, 17,223, 0, 63,225, 63,225, 1, 47,225, 43, 93, 16,222,225, 49, 48, 19, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, - 5, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22,184, 71, 81, 78, 78, 78, 78, 81, 71, 1,199, 35, 74,115, 79, 74,112, - 75, 38, 35, 73,113, 78,149,154, 4, 2,165,161,159,167,165,159,159,165,108,170,117, 62, 62,117,170,108,108,169,116, 60,236, 0, - 0, 2, 0, 12, 2, 74, 2,143, 5,188, 0, 10, 0, 21, 0, 70, 64, 42, 9, 2,225, 11, 7, 3, 3, 23, 95, 23,143, 23, 2, 23, - 64, 6, 10, 72, 21,225, 5, 1, 4,229, 9, 15, 11, 31, 11, 47, 11, 3, 8, 11, 11, 2, 15,229, 7,220, 2,221, 0, 63, 63,225, - 18, 57, 47, 94, 93, 51,225, 50, 1, 47,225, 43, 93, 18, 57, 47, 51, 51,225, 50, 49, 48, 1, 35, 21, 35, 53, 33, 53, 1, 51, 17, - 51, 33, 53, 52, 54, 55, 14, 3, 7, 7, 2,143,125,143,254,137, 1,121,141,125,254,244, 3, 3, 5, 20, 22, 24, 9,155, 3, 10, -192,192,111, 2, 67,253,205,195, 42, 99, 49, 11, 37, 42, 40, 15,240, 0, 0, 1, 0, 59, 2, 55, 2,102, 5,182, 0, 36, 0, 74, - 64, 23, 33, 34, 34, 30, 29, 29, 11, 32, 20,225, 5, 38, 79, 38,127, 38, 2, 38, 64, 6, 10, 72, 11,184,255,192, 64, 17, 18, 24, - 72, 11, 23,229, 0, 0, 17, 33,229, 30,220, 17,229, 8,223, 0, 63,225, 63,225, 18, 57, 47,225, 1, 47, 43, 43, 93, 16,222,225, - 51, 18, 57, 47, 51, 51, 17, 51, 49, 48, 1, 50, 30, 2, 21, 20, 6, 35, 34, 38, 39, 53, 30, 3, 51, 50, 54, 53, 52, 38, 35, 34, - 14, 2, 7, 39, 19, 33, 21, 33, 7, 54, 54, 1, 66, 61,107, 79, 45,166,161, 63,121, 44, 26, 60, 61, 59, 24, 85, 95, 95, 89, 13, - 37, 39, 37, 14, 67, 33, 1,186,254,190, 18, 20, 57, 4,109, 35, 68,101, 65,140,157, 28, 26,141, 18, 27, 19, 10, 76, 88, 77, 85, - 4, 6, 7, 2, 43, 1,168,123,215, 3, 6, 0, 0, 2, 0, 37, 2, 57, 2,127, 5,213, 0, 29, 0, 45, 0, 56, 64, 32, 16, 10, - 33,225, 0, 47, 79, 47,127, 47, 2, 47, 64, 6, 10, 72, 21, 41,225, 10, 36,228, 21, 25, 25, 16, 15,222, 30,229, 5,223, 0, 63, -225, 63, 51, 57, 47, 51,225, 1, 47,225, 50, 43, 93, 16,222,225, 18, 57, 49, 48, 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, - 55, 23, 14, 3, 7, 51, 54, 54, 51, 50, 30, 2, 5, 50, 54, 53, 52, 38, 35, 34, 14, 2, 21, 20, 30, 2, 2,127, 42, 78,111, 68, - 64,110, 82, 47, 69,126,178,110, 45, 79,127, 96, 64, 15, 11, 27, 99, 74, 54, 90, 64, 36,254,219, 68, 84, 77, 71, 39, 63, 45, 25, - 25, 45, 61, 3,102, 65,111, 80, 45, 45, 88,128, 83,110,179,143,109, 39,109, 27, 64, 79, 96, 59, 43, 49, 37, 72,105,247, 92, 86, - 82, 90, 25, 41, 55, 30, 44, 73, 53, 29, 0, 1, 0, 47, 2, 74, 2,100, 5,182, 0, 6, 0, 56,185, 0, 0,255,240, 64, 31, 0, - 0, 2, 1,225, 5, 8, 79, 8,127, 8, 2, 8, 64, 6, 10, 72,208, 2,224, 2,240, 2, 3, 2, 2,229, 3,220, 0,221, 0, 63, - 63,225, 1, 47, 93, 43, 93, 16,222,225, 17, 57, 47, 56, 49, 48, 19, 1, 33, 53, 33, 21, 1,141, 1, 64,254, 98, 2, 53,254,191, - 2, 74, 2,241,123,100,252,248, 0, 3, 0, 49, 2, 57, 2,113, 5,199, 0, 37, 0, 52, 0, 68, 0,119, 64, 34, 56,225, 33, 66, -225, 5, 10, 61, 50, 28, 4, 5, 33, 5, 33, 5, 23, 44,225, 15, 70, 79, 70,127, 70, 2, 70, 64, 6, 10, 72, 38,225, 23,184,255, -192, 64, 39, 21, 24, 72, 23, 10, 28, 61, 50, 75, 50, 91, 50,107, 50,155, 50,171, 50, 5, 50, 20, 53,182, 61,198, 61,214, 61, 3, - 61, 0, 41,229, 20,223, 53,229, 0,222, 0, 63,225, 63,225, 17, 57, 93, 17, 18, 57, 93, 17, 18, 57, 57, 1, 47, 43,225, 43, 93, - 16,222,225, 18, 57, 57, 47, 47, 18, 23, 57, 16,225, 16,225, 49, 48, 1, 50, 30, 2, 21, 20, 14, 2, 7, 30, 3, 21, 20, 14, 2, - 35, 34, 38, 53, 52, 62, 2, 55, 46, 3, 53, 52, 62, 2, 3, 20, 22, 51, 50, 54, 53, 52, 46, 2, 39, 39, 6, 6, 19, 34, 6, 21, - 20, 30, 2, 23, 62, 3, 53, 52, 38, 1, 82, 52, 94, 70, 42, 22, 39, 52, 30, 34, 62, 48, 28, 42, 77,105, 63,139,150, 25, 42, 56, - 31, 27, 46, 35, 19, 43, 72, 95, 98, 74, 72, 74, 75, 22, 39, 55, 33, 15, 65, 66,148, 56, 63, 18, 32, 45, 26, 24, 44, 32, 19, 65, - 5,199, 27, 55, 84, 56, 37, 62, 50, 40, 17, 19, 45, 55, 69, 42, 57, 93, 66, 36,131,115, 42, 69, 56, 43, 17, 20, 43, 53, 62, 37, - 56, 83, 55, 28,253,104, 59, 70, 70, 59, 30, 48, 39, 32, 15, 6, 34, 77, 1,232, 55, 54, 27, 42, 36, 29, 13, 12, 28, 35, 44, 28, - 54, 55, 0, 2, 0, 33, 2, 57, 2,123, 5,201, 0, 37, 0, 53, 0, 59, 64, 34, 49, 17,224, 9, 28, 0, 55, 79, 55,127, 55, 2, - 55, 64, 6, 10, 72, 41,225, 28, 44,228, 17, 23, 23, 5, 38,229, 33,222, 12,229, 5,223, 0, 63,225, 63,225, 18, 57, 47, 51,225, - 1, 47,225, 43, 93, 16,222, 17, 57,225, 50, 49, 48, 1, 20, 14, 2, 35, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 55, 35, 14, 3, - 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 37, 34, 6, 21, 20, 22, 51, 50, 62, 2, 53, 52, 46, 2, 2,123, 33, 90,162,129, - 25, 64, 21, 21, 54, 25, 83,108, 64, 29, 3, 9, 13, 36, 48, 61, 38, 60, 96, 68, 36, 41, 75,108, 67, 65,114, 84, 48,254,203, 68, - 86, 74, 76, 38, 63, 45, 24, 21, 42, 62, 4, 66, 96,187,147, 91, 8, 7,125, 13, 10, 53, 87,114, 61, 18, 36, 27, 17, 37, 71,102, - 65, 66,111, 81, 45, 47, 97,147,172, 94, 88, 76, 88, 25, 41, 51, 26, 36, 72, 59, 36, 0, 0, 22, 0, 84,254,129, 7,193, 5,238, - 0, 5, 0, 11, 0, 17, 0, 23, 0, 27, 0, 31, 0, 35, 0, 39, 0, 43, 0, 47, 0, 51, 0, 55, 0, 59, 0, 63, 0, 67, 0, 71, - 0, 83, 0, 95, 0,111, 0,120, 0,129, 0,144, 0,228, 64, 89, 52, 44, 32, 28, 56, 24, 87, 81,122,112,111,116,103,100,100,130, -126,107,112, 81,192, 81,208, 81, 3, 81,111,107,107,111, 81, 3, 93,137, 79,140, 95,140, 2,140,140, 68, 40, 36, 9, 23, 93, 80, - 75, 96, 75, 2, 75, 75, 65, 61, 49, 0, 12, 42, 66, 70, 62, 38, 50,134,143,143,111,121,103,112,112,122, 96,122,111, 84, 72, 72, -112,111,128,111, 2, 97,111, 1,111,184,255,192, 64, 37, 7, 12, 72,111,111, 96, 90, 78, 78,138,120, 31, 96, 47, 96, 63, 96,111, - 96, 4, 96, 96, 1, 44, 28, 24, 18, 12, 57, 53, 33, 7, 15, 1, 1, 7, 1, 0, 47, 94, 93, 51, 51, 51, 51, 47, 51, 51, 51, 51, - 18, 57, 47, 93, 51, 51, 51, 47, 51, 17, 51, 47, 43, 93, 93, 51, 47, 51, 17, 51, 17, 18, 57, 47, 51, 51, 17, 51, 47, 51, 47, 51, - 47, 51, 47, 51, 1, 47, 51, 51, 51, 51, 51, 47, 93, 51, 47, 51, 51, 51, 51, 51, 47, 93, 51, 18, 23, 57, 47, 47, 47, 93, 17, 51, - 51, 51, 47, 51, 51, 17, 51, 51, 17, 51, 47, 51, 47, 51, 47, 51, 49, 48, 19, 17, 33, 21, 35, 21, 37, 53, 33, 17, 35, 53, 1, 17, - 51, 21, 51, 21, 33, 53, 51, 53, 51, 17, 33, 53, 33, 21, 33, 53, 33, 21, 1, 53, 33, 21, 1, 35, 17, 51, 17, 35, 17, 51, 1, 53, - 33, 21, 1, 35, 17, 51, 1, 53, 33, 21, 51, 53, 33, 21, 1, 35, 17, 51, 53, 35, 17, 51, 1, 35, 17, 51, 1, 34, 38, 53, 52, 54, - 55, 50, 22, 21, 20, 6, 39, 50, 54, 53, 52, 38, 35, 34, 6, 21, 20, 22, 1, 51, 50, 22, 21, 20, 6, 7, 21, 22, 22, 21, 20, 6, - 35, 35, 19, 51, 50, 54, 53, 52, 38, 35, 35, 21, 21, 51, 50, 54, 53, 52, 38, 35, 5, 53, 22, 22, 51, 50, 54, 53, 17, 51, 17, 20, - 6, 35, 34, 84, 1, 47,192, 5,206, 1, 48,109,249, 0,111,192, 5, 14,195,109,253, 73, 1, 17,251,225, 1, 14,254,242, 1, 14, - 4,183,109,109,109,109,251,194, 1, 16,252, 48,111,111, 2,192, 1, 16,119, 1, 17,250,168,111,111,111,111, 6,254,109,109,250, -153,127,135,135,127,127,135,135,127, 72, 63, 63, 72, 69, 66, 66, 1,159,172,109,112, 45, 45, 56, 51,109, 94,207,123, 66, 46, 36, - 41, 48, 59, 74, 49, 37, 38, 52, 1, 14, 16, 32, 20, 37, 49,125,104, 95, 61, 4,190, 1, 48,111,193,193,111,254,208,193,249, 2, - 1, 47,194,109,109,194,254,209,109,109,109,109, 6,254,111,111,250,168, 1, 14, 2, 2, 1, 15,250, 59,109,109, 1,166, 1, 14, - 4, 74,111,111,111,111,252, 47, 1, 16,121, 1, 15,253,104, 1, 16,254,138,159,142,145,155, 1,156,145,142,159,104,103, 94, 94, -102,102, 94, 94,103, 1,234, 67, 83, 49, 68, 8, 4, 11, 68, 58, 81, 89, 1, 98, 34, 32, 34, 29,227,154, 43, 37, 32, 42,252,102, - 3, 5, 36, 50, 1,146,254,114, 94,100, 0, 3, 0, 84,254,193, 7,170, 6, 20, 0, 3, 0, 35, 0, 47, 0, 80, 64, 40, 4, 35, - 35, 36, 32, 42, 48, 42, 64, 42, 3, 42, 42, 79, 36, 1, 36, 36, 2, 28, 11, 11, 2, 21, 21, 2, 35, 35, 48, 45, 1, 45, 45, 39, - 39, 3, 25, 16, 16, 3, 0, 25, 47, 51, 24, 47, 51, 17, 51, 47, 51, 47, 93, 51, 47, 1, 25, 47, 51, 24, 47, 17, 51, 47, 51, 17, - 51, 47, 93, 51, 47, 93, 17, 51, 47, 51, 49, 48, 9, 3, 5, 53, 52, 54, 55, 54, 54, 53, 52, 46, 2, 35, 34, 14, 2, 7, 23, 54, - 54, 51, 50, 22, 21, 20, 6, 7, 6, 6, 21, 21, 3, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 3,254, 3,172,252, 84,252, 86, - 3,235, 33, 76, 99, 77, 49, 91,131, 81, 43, 90, 87, 82, 34, 82, 68,126, 56, 63, 62, 39, 82, 69, 74, 27, 71, 70, 68, 71, 71, 68, - 70, 71, 6, 20,252, 86,252, 87, 3,169,251, 47, 44, 62, 58, 76,131, 89, 69,107, 74, 39, 16, 27, 35, 20,178, 34, 46, 58, 47, 49, - 68, 65, 53,121, 80, 59,254,237, 62, 73, 73, 62, 64, 73, 73, 0,255,255,255,188,254, 20, 2, 85, 6, 33, 2, 38, 2, 55, 0, 0, - 0, 7, 1, 76,254,187, 0, 0,255,255, 0, 23, 3,193, 1, 80, 5,182, 2, 6, 2, 7, 0, 0, 0, 2, 0, 10,255,236, 4,178, - 6, 43, 0, 12, 0, 79, 0,117, 64, 71, 77, 13, 67, 16, 62, 0, 59, 8, 71, 67, 67, 26, 59, 71, 79, 0, 16, 1, 16, 16, 81,160, - 81, 1, 63, 81, 1, 51, 71, 0, 26, 16, 26, 32, 26, 3, 26, 34, 80, 41, 62, 79, 79, 78, 0, 78, 0, 41, 16, 41, 48, 41, 64, 41, - 80, 41, 5, 6, 41, 78, 41, 78, 56, 5, 80, 72, 1, 56, 80, 21, 22, 0, 63,225, 63,225, 18, 57, 57, 47, 47, 94, 93, 17, 51, 16, -225, 50, 16,225, 1, 47, 93,225, 93, 93, 17, 51, 47, 93, 51,225, 17, 57, 47,225, 17, 57, 57, 17, 18, 57, 57, 49, 48, 1, 46, 3, - 35, 34, 6, 21, 20, 30, 2, 5, 22, 22, 21, 20, 2, 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 53, 52, 38, 35, 34, 6, 7, 39, 54, - 54, 51, 50, 30, 2, 21, 20, 14, 2, 21, 20, 30, 2, 51, 50, 18, 17, 52, 38, 39, 46, 3, 53, 52, 62, 2, 51, 50, 30, 2, 23, 51, - 21, 3,106, 13, 57, 77, 91, 48, 76, 86, 46,106,171, 1, 60, 2, 2, 64,129,196,131,111,146, 86, 34, 10, 11, 10, 31, 31, 24, 54, - 16, 37, 37,100, 54, 50, 69, 44, 19, 10, 11, 10, 21, 48, 78, 58,164,164, 2, 2,174,242,150, 67, 39, 81,127, 89,104,161,117, 75, - 18,143, 3,209,108,170,116, 61, 88, 72, 56,105, 82, 51,138, 22, 58, 31,159,254,238,201,115, 55, 95,125, 69, 40, 93, 89, 75, 24, - 45, 33, 15, 10,127, 17, 26, 28, 50, 68, 40, 35, 86, 93, 97, 45, 42, 74, 54, 31, 1, 50, 1, 48, 23, 62, 20, 2, 75,120,154, 81, - 67,112, 82, 46, 84,156,223,139,137, 0, 0, 1, 0, 0, 0, 0, 4, 72, 5,195, 0, 34, 0,143, 64, 27,175, 36,239, 36, 2, 36, - 64, 9, 12, 72, 34,171, 33, 1,152, 33, 1, 64, 33, 1, 27, 33, 1, 15, 33, 1, 33,184,255,240, 64, 68, 33, 33, 0, 31, 27, 13, - 1, 15, 13, 1, 13, 32, 18, 22, 72,159, 13,175, 13, 2,125, 13, 1,107, 13, 1, 90, 13, 1, 79, 13, 1, 43, 13, 59, 13, 2, 13, - 13, 30, 90,119, 31,135, 31,151, 31, 3, 79, 31, 1, 0, 31, 16, 31, 2, 7, 31, 29, 0, 31, 33, 3, 31, 18, 17, 10, 4, 0, 63, -193, 63, 63, 18, 57, 57, 1, 47, 94, 93, 93, 93,225, 50, 47, 93, 93, 93, 93, 93, 93, 43,113,113, 17, 57, 51, 47, 56, 93, 93, 93, - 93, 93, 51, 43, 93, 49, 48, 1, 62, 3, 55, 62, 3, 51, 50, 22, 23, 21, 38, 38, 35, 34, 14, 2, 7, 14, 5, 7, 17, 35, 17, 1, - 51, 2, 29, 25, 61, 63, 60, 24, 22, 47, 53, 64, 41, 35, 43, 17, 13, 32, 13, 11, 28, 32, 35, 19, 13, 40, 50, 54, 54, 50, 19,187, -254, 66,203, 2,219, 75,168,160,137, 44, 40, 61, 39, 20, 9, 8,145, 3, 5, 7, 23, 42, 35, 24, 85,110,128,133,133, 60,253,227, - 2, 47, 3,135, 0, 2, 0, 18,255,236, 6, 96, 4, 74, 0, 28, 0, 60, 0,143, 64, 71, 25,103, 47, 1, 47, 71,213, 44, 1,183, - 44, 1,169, 44, 1,154, 44, 1, 3, 44, 44, 3, 55, 72,171, 18,187, 18, 2, 18, 18, 62, 20, 62, 1, 84, 62,100, 62,132, 62,164, - 62,180, 62, 5, 64, 62, 1, 2, 48, 62, 1, 15, 62, 1, 34, 72, 0, 3, 16, 3, 48, 3, 64, 3, 80, 3, 5, 6, 3,184,255,192, - 64, 21, 18, 21, 72, 3, 26, 0, 45, 45, 39, 29, 14, 8, 80, 11, 15, 50, 39, 80, 22, 0, 22, 0, 63, 50,225, 50, 63,225, 50, 50, - 18, 57, 47, 18, 57, 1, 47, 43, 94, 93,225, 93, 93, 95, 93, 93,113, 17, 51, 47, 93,225, 17, 57, 47, 95, 93, 93, 93, 93,225, 93, - 57, 49, 48, 5, 34, 38, 53, 52, 62, 2, 55, 33, 53, 55, 33, 21, 35, 30, 3, 21, 20, 6, 35, 34, 38, 39, 35, 6, 6, 3, 14, 3, - 21, 20, 30, 2, 51, 50, 62, 2, 53, 53, 51, 21, 20, 22, 51, 50, 62, 2, 53, 52, 46, 2, 39, 2, 41,182,195, 18, 32, 43, 26,254, -235,134, 5,200,243, 24, 38, 27, 15,196,181,106,139, 31, 11, 31,139,186, 22, 40, 31, 18, 29, 54, 75, 45, 46, 68, 44, 22,179, 98, - 82, 45, 75, 54, 29, 15, 25, 36, 21, 20,234,243, 57,125,126,123, 56, 74, 80,154, 56,123,126,125, 57,243,234, 87, 91, 91, 87, 3, -196, 54,118,121,122, 58, 98,131, 78, 33, 41, 72, 98, 57,176,176,130,138, 33, 78,131, 98, 58,122,121,118, 54, 0,255,255, 0,199, - 0, 0, 6, 47, 7,117, 2, 38, 0, 48, 0, 0, 1, 7, 0,118, 1,121, 1, 84, 0, 19, 64, 11, 1, 39, 5, 38, 1, 75, 26, 32, - 9, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,174, 0, 0, 6,135, 6, 33, 2, 38, 0, 80, 0, 0, 1, 7, 0,118, 1,199, - 0, 0, 0, 19, 64, 11, 1, 58, 17, 38, 1,122, 45, 51, 22, 43, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0,253,213, 4,221, - 5,188, 2, 38, 0, 36, 0, 0, 1, 7, 2, 91, 1, 27, 0, 0, 0, 13,183, 3, 2, 1, 31, 21, 4, 7, 37, 1, 43, 53, 53, 0, -255,255, 0, 94,253,213, 3,156, 4, 94, 2, 38, 0, 68, 0, 0, 1, 7, 2, 91, 0,188, 0, 0, 0, 13,183, 3, 2, 20, 61, 51, - 12, 34, 37, 1, 43, 53, 53, 0,255,255,254,211,255,236, 5,195, 5,205, 0, 38, 0, 50, 82, 0, 1, 7, 2, 92,254, 64, 0, 0, - 0, 63,182, 3, 2, 45, 3, 3, 2, 53,184,255,192,178, 9, 15, 72,184,255, 33, 64, 26, 53, 53, 10, 10, 37, 1, 0,176, 0, 1, -128, 0, 1,127, 0, 1, 80, 0, 1, 64, 0, 1, 31, 0, 1, 0, 17, 93, 93, 93, 93, 93, 93, 53, 53, 43, 43, 53, 53, 0, 63, 53, - 53, 0, 0, 2, 0,115,253,213, 2, 55,255,131, 0, 19, 0, 31, 0, 58, 64, 40, 20,131, 15, 0, 63, 0, 79, 0, 95, 0, 4, 0, - 26,131, 48, 10, 1, 10, 29,140, 0, 5, 16, 5, 48, 5, 64, 5, 80, 5,160, 5,240, 5, 7, 6, 5, 23,140, 15, 0, 47,225,212, - 94, 93,225, 1, 47, 93,225,212, 93,225, 49, 48, 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 7, 52, 38, 35, - 34, 6, 21, 20, 22, 51, 50, 54, 2, 55, 35, 61, 84, 49, 50, 82, 59, 32, 32, 59, 82, 50, 48, 84, 62, 35,116, 64, 49, 50, 63, 57, - 56, 49, 64,254,174, 51, 81, 56, 29, 29, 56, 79, 51, 51, 79, 56, 29, 29, 55, 79, 52, 53, 60, 60, 53, 53, 60, 60, 0, 2, 0,147, - 4,104, 2,217, 5,199, 0, 13, 0, 31, 0, 66, 64, 9, 21, 48, 14, 64, 14, 2, 14, 17, 26,184,255,192, 64, 28, 9, 16, 72, 26, - 26, 43, 13, 1, 4, 13, 20, 13, 2, 13, 6, 5, 12, 5, 12, 63, 17, 79, 17, 95, 17, 3, 17, 29, 0, 47,204, 93, 57, 57, 47, 47, - 1, 47,205, 93, 93, 50, 47, 43, 51,205, 93, 57, 49, 48, 1, 62, 3, 55, 51, 21, 14, 3, 7, 35, 37, 52, 54, 55, 21, 6, 6, 21, - 20, 30, 2, 21, 20, 6, 35, 34, 38, 1,176, 11, 25, 24, 22, 8,207, 18, 48, 56, 62, 31, 82,254,227,120,122, 60, 57, 31, 37, 31, - 50, 47, 58, 69, 4,137, 30, 75, 79, 81, 36, 20, 32, 77, 80, 81, 37,120, 78,115, 31, 76, 22, 46, 24, 19, 18, 16, 26, 28, 37, 39, - 70, 0,255,255, 0, 29, 0, 0, 6,185, 6, 31, 0, 38, 0, 73, 0, 0, 0, 39, 0, 73, 2,162, 0, 0, 1, 7, 0, 76, 5, 68, - 0, 0, 0, 56, 64, 38, 3, 2,143, 57, 1,112, 57, 1, 64, 57, 1, 47, 57, 1, 15, 57, 1, 57, 1,224, 31, 1,176, 31, 1, 31, -175, 75, 1,112, 75, 1, 64, 75, 1, 15, 75, 1, 93, 93, 93, 93, 17, 93, 93, 53, 17, 93, 93, 93, 93, 93, 53, 53,255,255, 0, 29, - 0, 0, 6,168, 6, 31, 0, 38, 0, 73, 0, 0, 0, 39, 0, 73, 2,162, 0, 0, 1, 7, 0, 79, 5, 68, 0, 0, 0, 54, 64, 37, - 2,143, 57, 1,112, 57, 1, 64, 57, 1, 47, 57, 1, 15, 57, 1, 57, 1,224, 31, 1,176, 31, 1, 31,175, 61, 1,112, 61, 1, 64, - 61, 1, 15, 61, 1, 93, 93, 93, 93, 17, 93, 93, 53, 17, 93, 93, 93, 93, 93, 53, 0, 2, 0,125,255,236, 6, 37, 6, 20, 0, 32, - 0, 52, 0, 75, 64, 44, 27, 6, 19, 9, 32, 91, 1, 1, 43, 91, 9,103, 54,192, 54, 1,191, 54, 1,112, 54, 1, 47, 54, 95, 54, - 2, 33, 91, 19,102, 53, 6, 27, 14, 48, 95, 32, 24, 4, 38, 95, 14, 19, 0, 63,225, 63,206,225, 18, 57, 57, 1, 16,246,225, 93, - 93, 93, 93, 16,246,225, 51, 47,225, 17, 18, 57, 57, 49, 48, 1, 23, 14, 3, 7, 22, 22, 21, 20, 2, 6, 6, 35, 34, 38, 38, 2, - 53, 52, 18, 54, 54, 51, 50, 22, 23, 62, 3, 53, 1, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2, 6, 23, 14, 12, - 40, 63, 90, 63, 43, 45, 81,160,237,155,163,239,157, 76, 76,158,239,164,158,236, 81, 41, 49, 25, 8,251,242, 52,107,165,114,114, -165,107, 50, 50,106,164,114,114,166,108, 52, 6, 20, 22, 60,112, 97, 76, 24, 89,216,127,170,254,235,198,108,108,198, 1, 23,170, -170, 1, 21,196,107,111,102, 12, 53, 74, 93, 52,252,201,137,219,153, 81, 81,153,219,137,138,218,151, 81, 81,151,218, 0, 0, 2, - 0,113,255,236, 4,244, 4,242, 0, 32, 0, 44, 0, 74, 64, 44, 23, 74, 25, 25, 30, 18, 10, 39, 72, 0, 0, 16, 0, 2, 7, 0, - 0, 46, 16, 46,144, 46,160, 46,176, 46, 4, 33, 72, 10, 86, 45, 18, 30, 5, 42, 80, 23, 15, 16, 36, 80, 5, 22, 0, 63,225, 63, -198,225, 18, 57, 57, 1, 16,246,225, 93, 17, 51, 47, 94, 93,225, 18, 57, 57, 51, 47,225, 49, 48, 1, 20, 14, 2, 35, 34, 46, 2, - 53, 52, 62, 2, 51, 50, 22, 23, 62, 3, 53, 51, 23, 14, 3, 7, 22, 22, 5, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 4, 45, - 67,125,178,111,103,174,127, 71, 67,124,179,111,100,169, 63, 46, 52, 25, 6,198, 15, 16, 45, 63, 86, 57, 32, 36,253, 0,137,154, -154,135,137,154,154,135, 2, 39,137,213,145, 76, 76,145,213,137,136,211,145, 75, 71, 68, 13, 55, 75, 93, 51, 23, 74,120, 94, 67, - 20, 65,158, 94,209,211,211,209,208,208,208, 0, 0, 1, 0,184,255,236, 6, 78, 6, 20, 0, 36, 0, 81, 64, 50, 6, 91, 8, 8, - 35, 90, 1,159, 14, 1,176, 14, 1,175, 14, 1, 14, 14, 38,112, 38,128, 38,240, 38, 3, 95, 38, 1, 0, 38, 16, 38, 2, 27, 90, - 24,100, 37, 1, 13, 13, 36, 6, 25, 3, 30, 95, 19, 19, 0, 63,225, 63,206, 51, 51, 47, 51, 1, 16,246,225, 93, 93, 93, 17, 51, - 47, 93, 93,113, 51,225, 51, 47,225, 49, 48, 1, 21, 62, 3, 53, 51, 23, 14, 3, 7, 17, 20, 14, 2, 35, 34, 46, 2, 53, 17, 51, - 17, 20, 22, 51, 50, 62, 2, 55, 17, 4,221, 52, 62, 32, 10,198, 15, 15, 50, 85,128, 91, 66,133,201,136,128,196,133, 68,187,172, -176, 89,128, 82, 40, 1, 5,182,196, 6, 50, 78,100, 56, 22, 71,130,105, 74, 15,253,145,114,196,144, 82, 77,142,199,122, 3,174, -252, 72,176,191, 54, 98,136, 81, 3,182, 0, 1, 0,164,255,236, 5,121, 4,242, 0, 39, 0, 84, 64, 51, 31, 74, 33, 33, 1, 23, - 71, 26, 39, 39, 41, 16, 41, 1,128, 41,160, 41,224, 41, 3,111, 41, 1, 0, 41, 32, 41, 48, 41, 3, 7, 15, 71, 12, 84, 40, 26, - 38, 38, 31, 24, 13, 15, 18, 80, 2, 7, 22, 0, 21, 0, 63, 63, 51,225, 63, 51,198, 51, 47, 51, 1, 16,246,225, 94, 93, 93, 93, -113, 17, 51, 47, 51,225, 50, 51, 47,225, 49, 48, 33, 39, 35, 14, 3, 35, 34, 46, 2, 53, 17, 51, 17, 20, 22, 51, 50, 62, 2, 53, - 17, 51, 21, 62, 3, 53, 51, 23, 14, 3, 7, 17, 3,117, 27, 10, 25, 69, 82, 92, 48, 91,138, 92, 47,182,106,111, 81,110, 67, 29, -182, 52, 62, 32, 10,198, 15, 15, 50, 85,128, 91,147, 43, 63, 41, 20, 46, 98,152,105, 2,205,253, 61,130,130, 52,101,148, 96, 2, - 58,123, 6, 50, 78,101, 56, 23, 71,136,109, 72, 7,252,176, 0, 0, 1,252,143, 4,217,254, 25, 6, 33, 0, 13, 0, 22, 64, 10, - 0, 6, 8,128, 15, 0, 95, 0, 2, 0, 0, 47, 93, 26,204, 1, 47,205, 49, 48, 1, 35, 46, 3, 39, 53, 51, 30, 3, 23,254, 25, -121, 35, 81, 77, 64, 16,219, 16, 43, 46, 48, 22, 4,217, 28, 83, 88, 81, 27, 21, 35, 80, 81, 76, 29, 0, 0, 1,253, 72, 4,217, -254,209, 6, 33, 0, 13, 0, 22, 64, 10, 6, 0, 5,128, 15, 12, 95, 12, 2, 12, 0, 47, 93, 26,205, 1, 47,205, 49, 48, 1, 62, - 3, 55, 51, 21, 14, 3, 7, 35,253, 72, 21, 48, 46, 43, 16,219, 16, 63, 77, 82, 34,121, 4,244, 29, 76, 81, 80, 35, 21, 27, 81, - 88, 83, 28, 0, 0, 1,252, 70, 4,217,255, 20, 5,227, 0, 27, 0, 56, 64, 35, 15, 23, 47, 23, 2, 23, 0, 9, 32, 9, 2, 7, - 9, 22, 5,143, 14, 64, 16, 19, 72, 14, 64, 7, 11, 72, 14, 14, 19,143, 9, 15, 0, 1, 0, 0, 47, 93, 50,225, 51, 47, 43, 43, -225, 51, 1, 47, 94, 93,204, 93, 49, 48, 1, 34, 46, 2, 35, 34, 6, 7, 35, 62, 3, 51, 50, 30, 2, 51, 50, 54, 55, 51, 14, 3, -254, 66, 40, 79, 76, 71, 31, 45, 48, 14,104, 5, 33, 53, 74, 46, 41, 81, 77, 69, 29, 45, 46, 15,104, 5, 33, 53, 73, 4,219, 35, - 43, 35, 53, 62, 60, 97, 69, 38, 35, 42, 35, 52, 62, 60, 97, 69, 38, 0, 0, 1,253, 4, 4,184,254,121, 6,143, 0, 27, 0, 38, - 64, 18, 5, 8, 8, 13, 0, 21, 5, 8, 8, 18, 15, 25, 31, 25, 2, 25,128, 6, 0, 47, 26,204, 93, 50, 57, 17, 51, 1, 47,204, - 50, 57, 17, 51, 49, 48, 1, 20, 14, 2, 7, 7, 35, 39, 62, 3, 53, 52, 46, 2, 35, 34, 6, 7, 53, 54, 54, 51, 50, 22,254,121, - 27, 45, 60, 34, 10,113, 14, 37, 60, 42, 23, 21, 36, 50, 29, 28, 52, 16, 16, 50, 41,133,133, 5,211, 39, 58, 41, 27, 7,111,176, - 6, 16, 24, 33, 24, 24, 32, 19, 7, 3, 3,108, 3, 5, 91, 0, 0, 1,253, 49,254,152,254, 6,255,125, 0, 13, 0, 15,181, 8, -135, 0, 11,145, 3, 0, 47,229, 1, 47,225, 49, 48, 5, 52, 54, 51, 50, 22, 21, 20, 14, 2, 35, 34, 38,253, 49, 62, 45, 43, 63, - 17, 29, 39, 21, 45, 62,246, 60, 55, 55, 60, 29, 43, 28, 14, 55,255,255, 0,199, 0, 0, 3,190, 7,115, 2, 38, 0, 40, 0, 0, - 1, 7, 0, 67,255,183, 1, 82, 0, 21,180, 1, 12, 5, 38, 1,184,255,194,180, 18, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0,201, 0, 0, 5, 16, 7,115, 2, 38, 1,178, 0, 0, 1, 7, 0, 67, 0, 66, 1, 82, 0, 21,180, 1, 24, 5, 38, 1, -184,255,163,180, 30, 24, 0, 12, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 3,225, 6, 33, 2, 38, 0, 72, 0, 0, - 1, 6, 0, 67,148, 0, 0, 21,180, 2, 40, 17, 38, 2,184,255,185,180, 46, 40, 5, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0,174, 0, 0, 4, 59, 6, 33, 2, 38, 1,210, 0, 0, 1, 6, 0, 67,202, 0, 0, 21,180, 1, 12, 17, 38, 1,184,255,163,180, - 18, 12, 10, 4, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,125,255,236, 7, 94, 5,201, 0, 69, 0,113, 64, 72, 20, 4, 57, 90, - 37,197, 54, 1,150, 54,166, 54, 2,137, 54, 1, 54, 54, 29, 65, 91, 12,103, 71, 0, 71, 16, 71, 2, 0, 71, 32, 71, 80, 71,112, - 71,208, 71,224, 71, 6, 7, 46, 91, 29,102, 70, 55, 55, 51, 0, 41, 95, 3, 38, 38, 7, 34, 4, 20, 32, 9, 14, 72, 20, 60, 51, - 95, 17, 24, 19, 0, 63, 51,225, 50, 50, 43, 63, 51, 51, 17, 51,225, 50, 18, 57, 47, 1, 16,246,225, 94, 93,113, 16,246,225, 17, - 57, 47, 93, 93, 93, 51,225, 50, 57, 49, 48, 1, 34, 6, 7, 39, 54, 54, 51, 50, 22, 22, 18, 21, 20, 2, 6, 6, 35, 34, 38, 39, - 35, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, 20, 30, 2, 51, 50, 54, 55, - 17, 51, 17, 22, 22, 51, 50, 62, 2, 53, 52, 46, 2, 5,104, 60, 94, 42, 76, 59,143, 81,119,183,125, 64, 63,129,198,136,111,170, - 73, 2, 75,168,110,136,198,129, 63, 64,125,183,119, 81,143, 59, 76, 41, 95, 60, 69,113, 80, 43, 46, 92,138, 92, 57,118, 46,187, - 46,118, 59, 92,139, 92, 46, 44, 80,113, 5, 37, 46, 32,156, 42, 44, 99,184,254,248,166,170,254,223,210,119, 50, 48, 48, 50,119, -210, 1, 33,170,166, 1, 8,184, 99, 44, 42,156, 32, 46, 70,138,207,136,141,229,164, 89, 36, 38, 1,189,254, 67, 38, 36, 89,164, -229,141,136,207,138, 70, 0, 1, 0, 0, 0, 0, 5,244, 4, 74, 0, 44, 0,231, 64, 9,101, 16, 1,201, 34,249, 34, 2, 33,184, -255,240,179, 10, 16, 72, 44,184,255,240,179, 18, 27, 72, 44,184,255,240, 64, 25, 10, 15, 72, 0, 16, 10, 27, 72, 38, 13, 34, 14, - 33, 34, 21, 44, 0, 6, 86, 15,102, 15, 2, 15, 14,184,255,240, 64, 72, 31, 14, 1,111, 14,127, 14,159, 14,223, 14, 4, 89, 14, - 1, 79, 14, 1,116, 21, 1,107, 21, 1, 36, 21, 52, 21, 2, 36, 6, 52, 6, 68, 6,116, 6,148, 6, 5, 14, 6, 21, 21, 14, 6, - 3, 1, 27, 71, 0, 28, 16, 28, 2, 7, 28, 28, 46, 16, 46, 32, 46, 48, 46,208, 46,224, 46, 5, 2, 1,184,255,240, 64, 30, 1, - 38, 64, 21, 29, 72, 38, 32, 12, 20, 72, 38, 13, 16, 3, 27, 14, 1, 15, 21, 6, 38, 6, 54, 6, 2, 6, 34, 0, 21, 0, 63, 50, - 50, 93, 17, 51, 63, 51, 51, 23, 57, 43, 43, 1, 47, 56, 51, 93, 17, 51, 47, 94, 93,225, 18, 23, 57, 61, 47, 47, 24, 47, 93, 93, - 93, 93, 93, 93, 93,113, 56, 51, 93, 17, 51, 51, 17, 51, 51, 17, 18, 57, 57, 43, 43, 43, 43, 93, 49, 48, 93, 33, 1, 51, 19, 22, - 22, 23, 51, 62, 3, 55, 19, 3, 51, 19, 30, 3, 23, 51, 62, 3, 53, 51, 20, 2, 2, 6, 7, 35, 3, 38, 38, 53, 14, 3, 7, 3, - 1,119,254,137,188,224, 28, 38, 9, 7, 7, 21, 26, 29, 15,119,162,188,201, 12, 31, 30, 24, 5, 7, 90,114, 65, 25,183, 37, 92, -154,117,192,119, 12, 13, 1, 6, 9, 10, 4,152, 4, 74,253, 86, 87,157, 51, 22, 58, 65, 69, 32, 1, 12, 1,207,253,176, 33, 99, -103, 92, 25,103,208,226,255,152,163,254,223,254,245,252,127, 1, 84, 32, 53, 3, 1, 19, 27, 29, 10,254,170, 0, 0, 2, 0, 20, - 0, 0, 4,188, 6, 20, 0, 22, 0, 33, 0,155, 64, 10, 19, 0, 23, 90, 12, 21, 21, 6, 16, 12,184,255,192, 64, 13, 26, 39, 72, - 32, 12, 1, 2,144, 12,160, 12, 2, 12,184,255,192,179, 19, 24, 72, 12,184,255,192, 64, 64, 11, 14, 72, 12, 12, 14, 27, 91, 6, -103, 35, 0, 35, 48, 35, 80, 35, 96, 35,128, 35, 5,224, 35, 1,159, 35, 1, 80, 35, 1, 14, 33, 95, 0, 22, 13, 95, 16, 19, 16, -176, 0, 1,137, 0, 1, 79, 0, 1, 15, 16, 1, 7, 0, 16, 0, 16, 17, 0, 23, 96, 12, 18, 0, 63,225, 63, 57, 57, 47, 47, 94, - 93, 93, 93, 93, 17, 51, 16,225, 50, 16,225, 1, 47, 93, 93, 93,113, 16,246,225, 17, 57, 47, 43, 43, 93, 95,113, 43, 51, 18, 57, - 47, 16,225, 50, 50, 49, 48, 1, 51, 50, 30, 2, 21, 20, 14, 2, 35, 33, 17, 33, 53, 33, 17, 51, 17, 33, 21, 33, 17, 51, 50, 54, - 53, 52, 46, 2, 35, 35, 2, 10,150,152,207,126, 55, 60,126,194,134,254,150,254,196, 1, 60,186, 1,121,254,135,160,174,164, 46, - 91,139, 93,129, 3, 78, 66,113,152, 87, 97,158,112, 61, 4, 96,164, 1, 16,254,240,164,252, 64,132,136, 70, 97, 60, 27, 0, 2, - 0, 20, 0, 0, 4,109, 5, 39, 0, 20, 0, 33, 0,129, 64, 9, 19, 2, 22, 71, 16, 0, 12, 1, 12,184,255,192, 64, 71, 13, 26, - 72, 12, 0, 12, 0, 14, 28, 71, 6, 87, 35, 0, 35, 16, 35, 2,112, 35,144, 35,192, 35,224, 35, 4, 14, 21, 80, 2, 1, 13, 80, - 16, 19, 16, 15, 2, 31, 2, 2, 2, 64, 12, 30, 72, 15, 16, 1, 15, 16, 31, 16, 2, 7, 2, 16, 2, 16,127, 17, 1, 48, 17, 1, - 17, 22, 80, 12, 21, 0, 63,225, 47, 93, 93, 57, 57, 47, 47, 94, 93,113, 43, 93, 17, 51, 16,225, 50, 16,225, 1, 47, 93,113, 16, -246,225, 18, 57, 57, 47, 47, 43, 93, 51,225, 50, 50, 49, 48, 1, 33, 17, 33, 50, 22, 21, 20, 14, 2, 35, 33, 17, 35, 53, 51, 53, - 51, 21, 33, 1, 17, 33, 50, 62, 2, 53, 52, 46, 2, 35, 2,227,254,213, 1, 21,211,205, 47,101,159,113,254, 57,238,238,182, 1, - 43,254,213, 1, 4, 55, 94, 67, 38, 33, 65, 96, 64, 3,176,254,215,156,155, 77,124, 88, 47, 3,176,154,221,221,253,164,254,168, - 17, 41, 66, 48, 49, 66, 40, 17, 0, 1, 0,199,255,236, 6,236, 5,203, 0, 45, 0, 88, 64, 47, 8, 5, 91, 27, 34, 7, 17, 17, - 7, 34, 3, 30, 42, 42, 47, 33, 29, 90, 30,100, 46, 43, 0, 95, 39, 4, 27, 8, 28, 95, 34, 5, 15, 33, 1, 8, 33, 33, 31, 3, - 30, 18, 13, 95, 16, 22, 19, 0, 63, 51,225, 63, 63, 57, 47, 94, 93, 51, 51,225, 50, 50, 63,225, 51, 1, 16,246,225, 50, 17, 51, -125, 47, 18, 23, 57, 24, 47, 47, 47, 51,225, 50, 49, 48, 1, 34, 14, 2, 7, 33, 21, 33, 30, 3, 51, 50, 54, 55, 21, 14, 3, 35, - 34, 38, 38, 2, 39, 33, 17, 35, 17, 51, 17, 33, 62, 3, 51, 50, 22, 23, 7, 38, 38, 5,109, 95,160,120, 77, 13, 2,116,253,134, - 5, 64,117,172,113, 89,160, 78, 39, 78, 86, 97, 58,158,235,157, 82, 5,254,176,186,186, 1, 86, 14, 99,167,233,149,108,196, 79, - 78, 63,149, 5, 39, 65,122,175,111,162,130,201,138, 72, 35, 23,162, 15, 23, 14, 7,100,184, 1, 3,159,253, 86, 5,182,253,152, -143,235,167, 92, 44, 42,156, 32, 46, 0, 0, 1, 0,174,255,236, 5,113, 4, 94, 0, 41, 0,100, 64, 57, 32, 29, 72, 5, 79, 12, - 1, 12, 31, 12, 31, 8, 39, 20, 20, 43, 11, 7, 71, 8, 84, 42, 26, 81, 21, 17, 16, 32, 5, 6, 80, 29, 12,169, 11,185, 11, 2, - 15, 11, 31, 11, 47, 11, 3, 6, 11, 11, 9, 15, 8, 21, 35, 81, 38, 0, 22, 0, 63, 50,225, 63, 63, 57, 47, 94, 93, 93, 51, 51, -225, 50, 50, 63, 51,225, 1, 16,246,225, 50, 17, 51,125, 47, 51, 18, 57, 57, 24, 47, 47, 93, 51,225, 50, 49, 48, 5, 34, 46, 2, - 39, 33, 17, 35, 17, 51, 17, 33, 62, 3, 51, 50, 22, 23, 7, 46, 3, 35, 34, 6, 7, 33, 21, 33, 22, 22, 51, 50, 54, 55, 21, 6, - 6, 4, 84, 97,169,129, 79, 7,254,241,182,182, 1, 19, 12, 85,129,165, 94, 78,149, 50, 54, 23, 56, 60, 59, 25,140,145, 14, 1, -219,254, 35, 9,146,138, 82,130, 54, 53,124, 20, 58,123,193,135,254, 23, 4, 74,254, 57,128,181,114, 52, 34, 25,154, 10, 19, 15, - 9,151,166,154,184,164, 37, 25,162, 29, 30, 0, 0, 2, 0, 0, 0, 0, 5, 47, 5,182, 0, 11, 0, 24, 0,174, 64, 73, 8, 6, - 1,216, 6,232, 6, 2, 7, 7, 1,215, 7,231, 7, 2,166, 7, 1,155, 1, 1,119, 0,167, 0, 2, 13, 10, 9, 12, 3, 4, 7, - 6, 19, 19, 8,167, 0, 1, 0, 1, 1, 5, 9, 0, 8, 1, 0, 8, 16, 8, 32, 8,112, 8,128, 8,192, 8, 6, 8, 16, 8, 8, - 26,144, 26,160, 26, 2, 26,184,255,192, 64, 15, 21, 24, 72,143, 26, 1, 64, 26, 1, 15, 26, 1, 8, 4, 5,184,255,240, 64, 19, - 5, 11, 3, 95, 19, 16, 10, 14, 72, 19, 12, 12, 6, 4, 0, 9, 18, 6, 3, 0, 63, 63, 51, 51, 18, 57, 47, 57, 43,225, 50, 1, - 47, 56, 51, 94, 93, 93, 93, 43, 93, 17, 51, 47, 56, 93,113, 51, 18, 57, 47, 51, 93, 17, 57, 61, 47, 51, 51, 18, 57, 57, 18, 57, - 57, 93, 93, 93, 93,113, 93,113, 49, 48, 33, 35, 17, 35, 1, 35, 1, 51, 1, 35, 1, 35, 39, 33, 39, 46, 3, 39, 14, 3, 7, 2, -236,166,127,254,254,197, 2, 57,187, 2, 59,199,254,254,122,232, 1, 35, 53, 18, 28, 22, 17, 7, 9, 17, 21, 25, 17, 2,170,253, - 86, 5,182,250, 74, 2,170,164,143, 48, 76, 67, 65, 37, 37, 65, 67, 73, 45, 0, 0, 2, 0, 10, 0, 0, 4, 90, 4, 74, 0, 11, - 0, 23, 0,207, 64, 56, 57, 2, 89, 2,121, 2,137, 2, 4, 27, 2, 43, 2, 2,181, 5, 1,150, 5,166, 5, 2,135, 5, 1, 9, - 3, 25, 3, 2, 6, 8, 22, 8, 2, 9, 18, 25, 18, 2, 6, 17, 22, 17, 2, 7, 18, 3, 2, 17, 8, 9,182, 0, 1, 0,184,255, -248, 64, 27, 10, 15, 72,185, 11, 1, 11, 8, 10, 15, 72, 0, 11,180, 12, 1, 12, 12, 5, 5, 6, 6, 10, 1, 16, 2, 1,184,255, -192,179, 18, 21, 72, 1,184,255,192, 64, 24, 7, 11, 72, 1, 1, 25,192, 25,224, 25, 2,175, 25, 1, 80, 25, 1, 15, 25, 31, 25, - 2, 9, 10,184,255,240, 64, 15, 10, 4, 8, 80, 12, 11, 17, 17, 1, 11, 15, 10, 6, 1, 21, 0, 63, 51, 51, 63, 18, 57, 47, 18, - 57,225, 50, 1, 47, 56, 51, 93, 93, 93, 93, 17, 51, 47, 43, 43, 51, 56, 18, 57, 47, 51, 18, 57, 61, 47, 93, 51, 51, 43, 93, 43, - 93, 18, 57, 57, 18, 57, 57, 94, 93, 93, 93, 93, 93, 93, 93, 49, 48, 93, 93, 1, 1, 35, 3, 35, 17, 35, 17, 35, 3, 35, 1, 23, - 14, 3, 7, 51, 46, 3, 39, 2,166, 1,180,188,187, 96,162, 96,186,189, 1,180,113, 5, 27, 35, 37, 13,240, 14, 37, 35, 27, 4, - 4, 74,251,182, 1,233,254, 23, 1,233,254, 23, 4, 74,121, 25, 85, 96, 94, 34, 34, 95, 96, 84, 25, 0, 0, 2, 0,199, 0, 0, - 7, 41, 5,182, 0, 19, 0, 32, 0,191, 64, 27,155, 1, 1,119, 0,167, 0, 2, 13, 6, 14, 5, 21, 18, 17, 20, 3, 27, 4, 4, - 5, 0, 1, 15, 14, 27, 5,184,255,240, 64, 93,128, 1, 1,203, 27, 1,132, 27, 1, 43, 27,123, 27, 2, 15, 5, 31, 5, 47, 5, -127, 5,207, 5,223, 5,255, 5, 7, 8, 5, 1, 27, 27, 1, 5, 3, 17, 16, 16, 0, 16, 16, 16,112, 16,176, 16,240, 16, 5, 16, - 16, 34, 48, 34, 80, 34,192, 34,208, 34,224, 34, 5, 12, 8, 90, 9,100, 33, 19, 6, 3, 95, 13, 27, 32, 9, 16, 72, 27, 20, 20, - 14, 9, 4, 1, 17, 18, 10, 14, 3, 0, 63, 51, 63, 51, 51, 51, 18, 57, 47, 57, 43, 51,225, 50, 50, 1, 16,246,225, 50, 93, 17, - 51, 47, 93, 56, 51, 23, 57, 61, 47, 24, 47, 47, 94, 93, 93, 93, 93, 93, 56, 17, 51, 51, 17, 51, 17, 51, 17, 18, 57, 57, 17, 57, - 57, 17, 18, 57, 57, 93, 93, 49, 48, 33, 35, 17, 35, 1, 35, 1, 33, 17, 35, 17, 51, 17, 33, 19, 51, 1, 35, 1, 35, 39, 33, 39, - 46, 3, 39, 14, 3, 7, 4,231,165,129,254,253,196, 1, 8,254,127,186,186, 1,193,241,187, 2, 59,199,254,254,121,233, 1, 35, - 53, 19, 28, 21, 17, 8, 8, 17, 21, 25, 17, 2,170,253, 86, 2,170,253, 86, 5,182,253,152, 2,104,250, 74, 2,170,164,143, 48, - 76, 67, 65, 37, 37, 65, 67, 73, 45, 0, 0, 2, 0,174, 0, 0, 6, 8, 4, 74, 0, 19, 0, 31, 0,235, 64, 49,165, 5, 1,134, - 5,150, 5, 2,119, 5, 1, 6, 9, 22, 9, 2, 25, 2, 41, 2, 73, 2,105, 2,121, 2, 5, 11, 2, 1, 26, 3, 2, 25, 8, 20, - 9, 18, 11, 19, 10, 17, 13, 71, 14,198, 0, 1, 0,184,255,248, 64, 23, 10, 15, 72,201, 19, 1, 19, 8, 10, 15, 72, 0, 19,196, - 20, 1, 20, 20, 5, 5, 6, 9, 10,184,255,240, 64, 19, 47, 10, 63, 10,175, 10, 3, 10, 6, 10, 6, 1, 14, 84, 32, 2, 1, 16, - 1,184,255,192,179, 18, 21, 72, 1,184,255,192, 64, 44, 7, 11, 72, 1, 1, 33,208, 33, 1,191, 33, 1, 96, 33,112, 33,144, 33, - 3, 79, 33, 1, 0, 33, 1, 8, 11, 4, 8, 80, 18, 20, 19, 25, 25, 2, 15, 19, 15, 14, 9, 6, 2, 21, 0, 63, 51, 51, 51, 63, - 51, 18, 57, 47, 18, 57, 51,225, 50, 50, 1, 94, 93, 93, 93, 93, 93, 17, 51, 47, 43, 43, 56, 51, 16,230, 17, 57, 57, 47, 47, 93, - 56, 51, 17, 51, 18, 57, 61, 47, 93, 51, 51, 43, 93, 43, 93, 16,225, 50, 17, 18, 57, 57, 17, 18, 57, 57, 17, 57, 57, 93, 93, 93, - 93, 93, 93, 49, 48, 1, 1, 35, 3, 35, 17, 35, 17, 35, 3, 35, 19, 33, 17, 35, 17, 51, 17, 33, 19, 23, 14, 3, 7, 51, 46, 3, - 39, 4, 84, 1,180,188,187, 96,162, 96,186,189,195,254,233,182,182, 1, 84,181,112, 5, 27, 35, 37, 13,240, 14, 37, 35, 27, 4, - 4, 74,251,182, 1,233,254, 23, 1,233,254, 23, 1,233,254, 23, 4, 74,254, 57, 1,199,121, 25, 84, 96, 95, 34, 34, 95, 96, 84, - 25, 0, 0, 2, 0, 20, 0, 0, 5,106, 5,182, 0, 35, 0, 38, 0,192, 64, 17,134, 34, 1,134, 26, 1, 89, 18,137, 18, 2, 37, - 16, 9, 12, 72, 38,184,255,240, 64, 44, 9, 12, 72, 37, 10, 11, 6, 36, 36, 26, 90, 27, 38, 7, 0, 10, 16, 10, 32, 10, 3, 10, - 27, 7, 7, 27, 10, 3, 0, 18, 16, 17, 32, 17, 2,208, 17, 1,128, 17,144, 17, 2, 17,184,255,192, 64, 59, 7, 10, 72, 17, 17, - 40, 31, 40, 1,240, 40, 1,207, 40,223, 40, 2, 64, 40, 80, 40,112, 40, 3, 15, 40, 63, 40, 2, 7, 35, 0, 25, 28, 97, 36, 11, - 79, 6, 1, 15, 6,175, 6, 2, 8, 6, 6, 0, 10, 7, 38, 95, 8, 3, 27, 18, 0, 18, 0, 63, 50, 50, 63,225, 50, 50, 18, 57, - 47, 94, 93,113, 51, 51,225, 50, 1, 47, 51, 94, 93, 93, 93, 93,113, 17, 51, 47, 43, 93, 93,113, 51, 18, 23, 57, 47, 47, 47, 93, - 17, 51, 16,225, 57, 61, 47, 51, 51, 17, 51, 43, 43, 93, 93, 49, 48, 93, 51, 19, 62, 3, 55, 1, 53, 33, 21, 1, 30, 3, 23, 19, - 35, 3, 46, 3, 35, 35, 17, 35, 17, 35, 34, 14, 2, 7, 3, 1, 1, 33, 20,123, 24, 54, 84,124, 95,254,144, 4, 73,254,133, 97, -128, 86, 55, 24,122,190,123, 20, 38, 54, 79, 61, 24,187, 24, 61, 79, 54, 38, 20,123, 1,235, 1, 74,253,111, 1,197, 85,136, 98, - 58, 6, 1,231,139,139,254, 25, 6, 56, 98,137, 86,254, 59, 1,193, 72, 95, 57, 23,253, 72, 2,184, 23, 57, 95, 72,254, 63, 3, - 90, 1,184, 0, 0, 2, 0, 10, 0, 0, 4,229, 4, 74, 0, 35, 0, 38, 0,199, 64, 13,118, 26,134, 26,150, 26, 3, 37, 16, 7, - 12, 72, 38,184,255,240, 64, 24, 7, 12, 72, 9, 18, 1, 6, 35, 1, 11, 6, 36, 36, 26, 70, 27, 37, 10, 38, 7,167, 27, 1, 10, -184,255,192, 64, 16, 22, 25, 72, 10, 27, 7, 7, 27, 10, 3, 0, 18, 32, 17, 1, 17,184,255,192,179, 18, 21, 72, 17,184,255,192, - 64, 63, 7, 11, 72, 17, 17, 40, 16, 40, 1,207, 40,223, 40, 2, 96, 40,144, 40, 2, 31, 40, 79, 40, 2, 35, 0, 10, 7, 38, 80, - 8, 25, 28, 82, 22, 36, 38, 36, 54, 36,166, 36, 4, 36, 11, 15, 6, 31, 6, 79, 6, 95, 6, 4, 7, 6, 6, 8, 15, 27, 18, 0, - 21, 0, 63, 50, 50, 63, 57, 47, 94, 93, 51, 51, 93,225, 50, 16,225, 50, 50, 1, 47, 51, 93, 93, 93,113, 17, 51, 47, 43, 43,113, - 51, 18, 23, 57, 47, 47, 47, 43, 93, 17, 51, 17, 51, 16,225, 57, 61, 47, 51, 51, 93, 93, 43, 43, 93, 49, 48, 51, 19, 62, 3, 55, - 1, 53, 33, 21, 1, 30, 3, 23, 19, 35, 3, 46, 3, 35, 35, 17, 35, 17, 35, 34, 14, 2, 7, 3, 1, 19, 33, 10,123, 22, 44, 66, -103, 83,254,206, 3,207,254,201, 83,104, 67, 44, 23,123,186,123, 20, 36, 48, 68, 53, 4,166, 4, 53, 70, 48, 37, 20,122, 1,180, -252,254, 10, 1, 84, 61,101, 77, 49, 9, 1,100,105,105,254,156, 8, 49, 76,103, 61,254,172, 1, 80, 54, 72, 43, 17,253,246, 2, - 10, 17, 43, 72, 54,254,176, 2,131, 1, 45, 0, 0, 2, 0,199, 0, 0, 7,137, 5,182, 0, 40, 0, 43, 0,202, 64, 21,134, 31, - 1, 89, 23,137, 23, 2, 16, 11, 41, 41, 31, 90, 32, 42, 16, 9, 12, 72, 43,184,255,240, 64, 51, 9, 12, 72, 42, 15, 43, 12, 0, - 15, 16, 15, 32, 15, 3, 7, 15, 12, 32, 32, 12, 15, 3, 22, 40,176, 0,192, 0, 2, 15, 0, 31, 0, 2, 0, 0, 7, 23, 0, 22, - 16, 22, 2,112, 22,128, 22,192, 22, 3, 22,184,255,192, 64, 52, 7, 10, 72, 22, 22, 45,224, 45, 1,159, 45,191, 45, 2, 64, 45, - 1, 47, 45, 1, 10, 6, 90, 7,100, 44, 15, 12, 43, 95, 13, 30, 5, 33, 97, 41, 16, 15, 11, 1, 8, 11, 11, 8, 13, 3, 7, 23, - 32, 3, 0, 18, 0, 63, 23, 50, 63, 51, 57, 47, 94, 93, 51, 51,225, 50, 50, 16,225, 50, 50, 1, 16,246,225, 50, 93, 93, 93, 93, - 17, 51, 47, 43, 93,113, 51, 18, 57, 47, 93, 93, 51, 18, 23, 57, 47, 47, 47, 94, 93, 17, 51, 17, 51, 43, 43, 16,225, 57, 61, 47, - 51, 51, 93, 93, 49, 48, 33, 19, 54, 54, 55, 33, 17, 35, 17, 51, 17, 33, 1, 53, 33, 21, 1, 30, 3, 23, 19, 35, 3, 46, 3, 35, - 35, 17, 35, 17, 35, 34, 14, 2, 7, 3, 1, 1, 33, 2, 51,123, 19, 41, 28,254,123,186,186, 2,164,254,149, 4, 74,254,133, 97, -128, 85, 55, 24,123,190,123, 20, 38, 54, 79, 61, 25,186, 25, 60, 79, 54, 38, 20,123, 1,235, 1, 74,253,111, 1,197, 68,115, 46, -253, 86, 5,182,253,152, 1,221,139,139,254, 25, 6, 56, 98,137, 86,254, 59, 1,193, 72, 95, 57, 23,253, 72, 2,184, 23, 57, 95, - 72,254, 63, 3, 90, 1,184, 0, 0, 2, 0,174, 0, 0, 6,152, 4, 74, 0, 40, 0, 43, 0,207, 64, 13,118, 31,134, 31,150, 31, - 3, 42, 16, 7, 12, 72, 43,184,255,240, 64, 44, 7, 12, 72, 9, 23, 1, 16, 11, 41, 41, 31, 70, 32, 42, 15, 43, 12,167, 32, 1, - 15, 32, 12, 12, 32, 15, 3, 22, 31, 0, 47, 0, 2,255, 0, 1, 0, 0, 7, 23, 32, 22, 1, 22,184,255,192,179, 18, 21, 72, 22, -184,255,192, 64, 63, 7, 11, 72, 22, 22, 45,207, 45, 1,176, 45, 1,159, 45, 1, 96, 45, 1, 79, 45, 1, 0, 45, 48, 45, 2, 10, - 6, 71, 7, 84, 44, 15, 12, 43, 80, 13, 30, 5, 33, 82,166, 41, 1, 41, 16, 15, 11, 31, 11, 2, 7, 11, 11, 8, 13, 15, 7, 23, - 32, 3, 0, 21, 0, 63, 23, 50, 63, 51, 57, 47, 94, 93, 51, 51, 93,225, 50, 50, 16,225, 50, 50, 1, 16,246,225, 50, 93, 93, 93, - 93, 93, 93, 17, 51, 47, 43, 43,113, 51, 18, 57, 47, 93,113, 18, 23, 57, 47, 47, 47, 93, 17, 51, 17, 51, 16,225, 57, 61, 47, 51, - 51, 93, 43, 43, 93, 49, 48, 33, 19, 54, 54, 55, 33, 17, 35, 17, 51, 17, 33, 1, 53, 33, 21, 1, 30, 3, 23, 19, 35, 3, 46, 3, - 35, 35, 17, 35, 17, 35, 34, 14, 2, 7, 3, 1, 19, 33, 1,188,123, 16, 29, 19,254,237,182,182, 2, 11,254,213, 3,206,254,201, - 83,104, 67, 45, 23,123,187,123, 20, 36, 48, 68, 53, 4,166, 4, 53, 69, 49, 36, 20,123, 1,180,252,254, 10, 1, 84, 42, 75, 32, -254, 23, 4, 74,254, 57, 1, 94,105,105,254,156, 8, 49, 76,103, 61,254,172, 1, 80, 54, 72, 43, 17,253,246, 2, 10, 17, 43, 72, - 54,254,176, 2,131, 1, 45, 0, 0, 1, 0, 57,254, 70, 3,236, 6,213, 0,118, 0,159, 64, 39, 33, 24, 9, 14, 72, 89, 98, 89, - 81, 77, 77, 71, 81, 59, 91,103,108, 81,103, 68, 53,103, 20, 81, 20,103, 81, 53, 68, 5, 36, 46, 91,114,103,120, 5, 90, 36,184, -255,192, 64, 54, 20, 24, 72, 36, 93, 82, 77,143, 86,159, 86,175, 86, 3, 86, 64, 7, 11, 72, 86, 86, 71,108, 52, 96, 79, 53, 1, - 15, 53,175, 53, 2, 8, 53, 53, 41, 67, 81, 98, 3, 64, 97, 71, 3, 21, 10, 95, 31,251, 41, 96, 0, 19, 0, 63,225, 63,225, 51, - 63,225, 23, 51, 18, 57, 47, 94, 93,113,225, 57, 17, 51, 47, 43, 93, 51,225, 1, 47, 43,225, 16,246,225, 18, 23, 57, 61, 47, 24, - 47, 47, 47, 47, 17, 18, 57, 16,225, 17, 51, 51, 47, 17, 51, 51, 47, 49, 48, 0, 43, 5, 34, 14, 2, 21, 20, 30, 2, 51, 50, 62, - 2, 51, 50, 30, 2, 23, 21, 46, 3, 35, 34, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 35, 53, - 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 6, 7, 39, 54, 54, 55, 46, 3, 39, 53, 51, 22, 22, 23, 62, 3, 51, 50, 22, 23, 21, 38, - 38, 35, 34, 14, 2, 7, 30, 3, 21, 20, 14, 2, 7, 21, 30, 3, 21, 20, 14, 2, 1,225, 71, 90, 52, 20, 14, 36, 61, 47, 65, 97, - 83, 81, 50, 43, 66, 49, 35, 12, 8, 31, 54, 77, 53, 49, 71, 74, 92, 70,104,136, 79, 32, 49,102,157,108, 89,128, 81, 38, 57,103, -145, 88,191,176, 92,142, 97, 50, 37, 68, 95, 58,110,169, 75, 92, 59,166,103, 24, 55, 54, 50, 20,121, 51, 97, 54, 26, 59, 67, 75, - 42, 31, 47, 14, 11, 34, 17, 22, 48, 48, 46, 20, 82,126, 85, 43, 51, 91,125, 75, 87,138, 94, 50, 67,131,196, 20, 18, 32, 41, 24, - 22, 36, 26, 14, 4, 4, 4, 7, 10, 15, 7,182, 7, 18, 16, 12, 3, 3, 2, 41, 72, 96, 55, 60, 98, 70, 38, 38, 72,105, 68, 71, -101, 63, 29,151, 39, 72,100, 62, 54, 83, 58, 30, 67, 54,125, 48, 75, 17, 30, 65, 63, 58, 23, 27, 34, 97, 56, 36, 70, 56, 35, 9, - 5,119, 5, 7, 23, 41, 56, 33, 13, 63, 92,118, 69, 74,119, 88, 57, 12, 6, 11, 57, 89,119, 72, 96,160,116, 64, 0, 1, 0, 23, -254,115, 3, 82, 5, 82, 0,112, 0,183, 64,113, 64, 24, 9, 14, 72,104,104, 98,108, 3, 12, 3,108, 88, 70, 17, 22,108, 17,224, - 95, 1, 95, 82, 17, 51,108, 51, 17,108, 82, 95, 5, 67, 77, 71, 28, 87,114,192,114,208,114,224,114, 3,127,114, 1, 48,114, 1, - 15,114, 1, 7, 38, 70, 67, 64, 12, 17, 72, 67, 22, 22, 81, 80,137, 82,153, 82, 2, 15, 82, 1, 8, 82, 82, 98, 72,104, 7, 82, - 0, 64, 16, 20, 72, 0, 64, 7, 12, 72, 0, 94,108, 0, 3, 91, 80, 12, 98, 16, 52, 43, 80, 62,251, 72, 80, 33, 22, 0, 63,225, - 63,225, 51, 63, 51,225, 23, 51, 47, 43, 43,225, 51, 17, 18, 57, 47, 94, 93, 93,225, 57, 61, 47, 1, 24, 47, 43,225, 94, 93, 93, - 93, 93, 16,246,225, 18, 23, 57, 61, 47, 24, 47, 47, 47, 47, 93, 17, 18, 57, 16,225, 17, 51, 51, 47, 17, 51, 51, 47, 49, 48, 0, - 43, 1, 50, 22, 23, 21, 38, 38, 35, 34, 14, 2, 7, 30, 3, 21, 20, 14, 2, 7, 21, 30, 3, 21, 20, 14, 2, 35, 34, 14, 2, 21, - 20, 30, 2, 51, 50, 62, 2, 51, 50, 22, 23, 21, 46, 3, 35, 34, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 62, 2, 53, 52, - 38, 35, 35, 53, 51, 50, 62, 2, 53, 52, 38, 35, 34, 6, 7, 39, 54, 54, 55, 46, 3, 39, 53, 51, 22, 22, 23, 62, 3, 2,207, 31, - 47, 14, 11, 33, 17, 21, 46, 46, 45, 19, 55, 89, 63, 35, 28, 51, 70, 43, 44, 82, 63, 38, 53,108,166,113, 75, 89, 47, 15, 14, 34, - 58, 44, 50, 99, 93, 83, 33, 66, 71, 13, 9, 34, 40, 44, 19, 32, 85,100,111, 57, 88,112, 64, 24, 34, 86,144,110, 55,100, 76, 44, -133,138,129, 97, 61,100, 72, 39,115,108, 71,129, 75, 63, 57,107, 65, 23, 49, 48, 44, 18,121, 51, 98, 54, 26, 58, 67, 75, 5, 82, - 9, 5,119, 5, 7, 21, 38, 51, 31, 14, 49, 69, 88, 53, 50, 77, 59, 41, 14, 11, 14, 44, 66, 91, 61, 68,116, 86, 49, 14, 26, 38, - 23, 22, 35, 24, 13, 3, 4, 3, 22, 19,151, 10, 15, 10, 6, 3, 3, 3, 46, 71, 86, 41, 47, 89, 70, 42, 19, 43, 69, 51, 94, 91, -153, 18, 39, 64, 45, 77, 77, 38, 34,147, 28, 34, 8, 28, 59, 55, 50, 21, 27, 34, 97, 56, 36, 70, 56, 35,255,255, 0,104, 0, 0, - 5,186, 5,182, 2, 6, 1,117, 0, 0,255,255, 0,164,254, 20, 5,113, 6, 18, 2, 6, 1,149, 0, 0, 0, 3, 0,125,255,236, - 5,113, 5,205, 0, 19, 0, 30, 0, 41, 0, 79, 64, 50, 37, 25, 91, 0,103, 43,208, 43, 1,207, 43, 1,128, 43, 1, 63, 43,111, - 43, 2, 36, 26, 91, 10,102, 42, 26, 96, 79, 36, 1, 15, 36,175, 36,223, 36, 3, 8, 36, 36, 20, 31, 95, 15, 4, 20, 95, 5, 19, - 0, 63,225, 63,225, 18, 57, 47, 94, 93,113,225, 1, 16,246,225, 50, 93, 93, 93, 93, 16,246,225, 50, 49, 48, 1, 20, 2, 6, 6, - 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 22, 18, 1, 50, 62, 2, 55, 33, 30, 3, 19, 34, 14, 2, 7, 33, 46, 3, 5, -113, 81,160,237,155,163,239,157, 76, 76,158,239,164,154,236,160, 81,253,135,106,158,107, 57, 6,252,154, 6, 58,107,158,109,105, -156,108, 61, 8, 3,100, 8, 59,105,155, 2,221,170,254,235,198,108,108,198, 1, 23,170,170, 1, 21,196,107,107,197,254,235,253, - 7, 71,134,194,122,122,194,134, 71, 4,154, 67,128,184,117,117,184,128, 67, 0, 0, 3, 0,113,255,236, 4, 45, 4, 94, 0, 19, - 0, 26, 0, 33, 0, 79, 64, 51, 31, 23, 72, 0, 87, 35, 64, 35,208, 35,224, 35, 3, 15, 35, 1, 30, 24, 72, 10, 86, 34, 24, 80, -239, 30, 1,169, 30,185, 30, 2, 15, 30, 31, 30, 47, 30, 3, 6, 30, 30, 20, 27, 80, 15, 16, 20, 80, 5, 22, 0, 63,225, 63,225, - 18, 57, 47, 94, 93, 93, 93,225, 1, 16,246,225, 50, 93, 93, 16,246,225, 50, 49, 48, 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, - 2, 51, 50, 30, 2, 1, 50, 54, 55, 33, 22, 22, 19, 34, 6, 7, 33, 38, 38, 4, 45, 67,125,178,111,103,174,127, 71, 67,124,179, -111,103,174,127, 71,254, 35,141,136, 10,253,190, 9,140,140,137,136, 14, 2, 62, 13,138, 2, 39,137,213,145, 76, 76,145,213,137, -136,211,145, 75, 75,145,211,253,212,178,178,178,178, 3, 68,162,164,164,162, 0, 0, 1, 0, 0, 0, 0, 5, 2, 5,195, 0, 28, - 0, 90, 64, 41, 7, 6, 11, 13, 1,251, 13, 1, 13, 13, 8,144, 25,208, 25, 2, 25, 25, 30, 0, 30, 1,176, 30, 1, 15, 30, 31, - 30, 47, 30, 79, 30, 95, 30,127, 30, 6, 7, 9, 8,184,255,240, 64, 12, 8, 0, 96, 22, 4, 9, 8, 3, 13, 6, 7, 18, 0, 63, - 51, 51, 63, 51, 63,225, 1, 47, 56, 51, 94, 93, 93,113, 17, 51, 47, 93, 18, 57, 61, 47, 93,113, 51, 51, 49, 48, 1, 34, 14, 2, - 7, 1, 35, 1, 51, 1, 22, 22, 23, 54, 54, 55, 19, 62, 3, 51, 50, 22, 23, 21, 38, 38, 4,150, 36, 53, 42, 36, 18,254,215,205, -254, 25,197, 1, 39, 29, 46, 17, 14, 42, 26,141, 31, 61, 76,103, 75, 35, 68, 26, 23, 53, 5, 45, 37, 72,103, 66,251,233, 5,182, -252, 97, 91,175, 79, 78,188, 97, 2, 0,113,156, 98, 43, 13, 8,151, 9, 13, 0, 0, 1, 0, 0, 0, 0, 4, 14, 4, 82, 0, 31, - 0,109,185, 0, 30,255,248, 64, 22, 10, 14, 72, 31, 8, 10, 14, 72, 31, 30, 7, 32, 13, 17, 72, 7, 7, 0,224, 22, 1, 22,184, -255,224, 64, 26, 7, 10, 72, 22, 22, 33,191, 33,207, 33,239, 33, 3, 80, 33, 1, 15, 33, 47, 33, 79, 33, 3, 7, 1, 0,184,255, -240, 64, 12, 0, 30, 7, 31, 21, 26, 79, 19, 15, 1, 0, 15, 0, 63, 50, 63,225, 63, 51, 51, 1, 47, 56, 51, 94, 93, 93, 93, 17, - 51, 47, 43, 93, 18, 57, 61, 47, 43, 51, 51, 43, 43, 49, 48, 17, 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 62, 3, 51, 50, 22, 23, - 21, 38, 38, 35, 34, 6, 7, 3, 35,188,201, 11, 32, 31, 26, 5, 6, 4, 20, 24, 25, 9, 86, 25, 53, 67, 88, 60, 26, 34, 17, 11, - 38, 18, 47, 58, 24,224,243, 4, 74,253,162, 33,106,110, 97, 25, 25, 95,108,103, 33, 1, 64, 94,117, 66, 24, 5, 5,135, 3, 5, - 80, 88,252,223,255,255, 0, 0, 0, 0, 5, 2, 7,115, 2, 38, 2,128, 0, 0, 1, 7, 3,118, 4,184, 1, 82, 0, 25,182, 2, - 1, 29, 5, 38, 2, 1,184,255,130,180, 49, 29, 8, 25, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, 4, 14, - 6, 33, 2, 38, 2,129, 0, 0, 1, 7, 3,118, 4, 80, 0, 0, 0, 25,182, 2, 1, 32, 17, 38, 2, 1,184,255,148,180, 52, 32, - 0, 22, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 3, 0,125,254, 20, 9, 90, 5,205, 0, 19, 0, 39, 0, 74, 0,161, 64, 10, - 0, 91, 30, 56, 74, 47, 47, 55, 41, 40,184,255,240, 64, 35, 40, 40, 64, 0, 64, 16, 64, 2,240, 64, 1, 31, 64, 47, 64, 63, 64, - 3, 0, 30, 1, 30, 64, 30, 64, 10, 54, 55, 16,208, 55,224, 55, 2, 55,184,255,192, 64, 52, 7, 11, 72, 55, 55, 76, 15, 76, 1, - 15, 76, 31, 76, 47, 76, 79, 76,127, 76,191, 76,223, 76,239, 76, 8, 7, 20, 91, 10,102, 75, 56, 47, 74, 74, 40, 68, 80, 61, 27, - 54, 40, 15, 35, 95, 15, 4, 25, 95, 5, 19, 0, 63,225, 63,225, 63, 51, 63,225, 17, 57, 17, 51, 51, 1, 16,246,225, 94, 93,113, - 17, 51, 47, 43, 93, 56,193, 18, 57, 57, 47, 47, 93, 93, 93,113, 17, 51, 47, 56,193, 18, 57, 61, 47, 51, 51, 16,225, 49, 48, 1, - 20, 2, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 22, 18, 5, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, - 34, 14, 2, 37, 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 51, 1, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 55, 55, 5, - 31, 76,150,221,145,152,224,147, 71, 71,147,225,153,144,221,149, 76,252, 35, 47, 97,150,103,103,150, 96, 46, 46, 96,148,103,104, -151, 97, 47, 4, 67,189,215, 13, 29, 25, 19, 4, 6, 4, 23, 27, 29, 11,199,188,254, 78, 29, 64, 86,116, 80, 52, 76, 27, 21, 64, - 35, 48, 70, 52, 37, 15, 57, 2,221,170,254,235,198,108,108,198, 1, 23,170,170, 1, 21,196,107,107,197,254,235,171,137,219,153, - 81, 81,153,219,137,138,218,151, 81, 81,151,218,227,253,155, 40, 88, 88, 83, 34, 25, 86, 97, 94, 33, 2, 99,251, 39, 81,129, 90, - 49, 11, 6,145, 5, 7, 23, 44, 64, 41,160, 0,255,255, 0,113,254, 20, 8, 78, 4, 94, 0, 38, 0, 82, 0, 0, 1, 7, 0, 92, - 4,111, 0, 0, 0, 17,177, 2, 2,184, 4, 20,180, 32, 47, 10, 0, 37, 1, 43, 53, 0, 53, 0, 0, 2, 0,125,255,131, 5,195, - 6, 49, 0, 31, 0, 63, 0, 82, 64, 51, 48, 91, 0,103, 65,180, 65,196, 65, 2,144, 65, 1, 2, 48, 65,128, 65, 2, 32, 91, 16, -102, 64, 25, 24, 1, 11, 24, 1, 4, 8, 20, 8, 2, 7, 56, 53, 59, 95, 27, 24, 21, 3, 40, 37, 95, 8, 5, 11, 18, 0, 63, 51, - 51,225, 50, 63, 51, 51,225, 50, 50, 94, 93, 93, 93, 1, 16,246,225, 93, 95, 93, 93, 16,246,225, 49, 48, 1, 20, 14, 2, 7, 6, - 6, 35, 34, 38, 39, 46, 3, 53, 52, 62, 2, 55, 54, 54, 51, 50, 22, 23, 30, 3, 5, 20, 30, 2, 23, 54, 54, 51, 50, 22, 23, 62, - 3, 53, 52, 46, 2, 39, 6, 6, 35, 34, 38, 39, 14, 3, 5,195, 73,137,197,124, 14, 74, 55, 59, 72, 13,129,199,135, 69, 69,135, -199,129, 13, 72, 59, 55, 74, 14,123,197,137, 74,251,127, 45, 87,127, 83, 17, 67, 53, 49, 69, 17, 82,128, 87, 45, 45, 87,128, 82, - 16, 70, 49, 53, 67, 17, 83,127, 87, 45, 2,221,149,252,192,125, 23, 63, 54, 54, 63, 22,125,192,254,150,150,251,191,123, 23, 63, - 49, 51, 61, 23,125,191,251,150,116,192,146, 98, 21, 48, 38, 40, 46, 21, 98,146,192,116,115,191,146, 98, 22, 50, 41, 41, 48, 22, - 97,145,191, 0, 0, 2, 0,113,255,145, 4,168, 4,182, 0, 31, 0, 55, 0, 84,181, 44, 72, 0, 87, 57, 57,184,255,192,179, 14, - 20, 72, 57,184,255,192, 64, 36, 9, 12, 72, 32, 72, 16, 86, 56, 25, 24, 1, 11, 24, 1, 4, 8, 20, 8, 2, 7, 50, 47, 53, 80, - 27, 2, 21, 15, 41, 38, 35, 80, 8, 5, 11, 22, 0, 63, 51, 51,225, 50, 50, 63, 51, 51,225, 50, 50, 94, 93, 93, 93, 1, 16,246, -225, 43, 43, 16,246,225, 49, 48, 1, 20, 14, 2, 7, 6, 6, 35, 34, 38, 39, 46, 3, 53, 52, 62, 2, 55, 54, 54, 51, 50, 22, 23, - 30, 3, 5, 20, 22, 23, 54, 54, 51, 50, 22, 23, 54, 54, 53, 52, 38, 39, 6, 6, 35, 34, 38, 39, 6, 6, 4,168, 57,107,153, 95, - 9, 60, 56, 58, 59, 8, 93,153,110, 61, 57,108,154, 98, 8, 59, 58, 55, 61, 9, 91,152,109, 60,252,133,111,123, 11, 57, 52, 50, - 57, 12,121,109,110,120, 12, 57, 50, 52, 57, 11,123,111, 2, 39,118,191,142, 90, 18, 57, 46, 45, 56, 18, 90,142,192,119,117,191, -141, 90, 18, 57, 41, 42, 58, 18, 91,141,188,117,172,205, 31, 44, 32, 32, 42, 31,204,171,169,200, 32, 43, 32, 32, 45, 31,200, 0, - 0, 3, 0,125,255,236, 7, 53, 8, 61, 0, 69, 0, 91, 0,109, 0,218, 64,146, 55, 20, 36, 4, 20, 4, 20, 36, 3, 28, 65, 91, - 12,103,111, 0,111, 16,111, 2, 0,111, 32,111, 80,111,128,111,144,111,160,111,208,111,224,111, 8, 45, 91, 28,102,110, 99,104, - 71, 71, 92,104, 81, 64, 82, 80, 82, 96, 82, 3, 82, 82, 95, 0,104, 16,104, 32,104,128,104,144,104, 5, 7,104,224, 77, 1, 77, -191, 86,207, 86, 2, 86, 82,239, 70, 1, 70, 71, 71, 79, 82, 1, 82, 82, 96,107,192,107,208,107,224,107, 4,107,111, 95,127, 95, -175, 95,239, 95, 4, 16, 95, 1, 95, 50, 60, 95, 17, 20,127, 55,143, 55, 2, 55, 64, 7, 10, 72, 55, 55, 23, 17, 19, 37, 3, 3, - 40, 0, 95, 33, 7, 4, 0, 63, 51,225, 50, 51, 17, 51, 63, 51, 51, 47, 43, 93, 51, 16,225, 50, 47, 93, 93,204, 93, 50, 47,113, - 51, 16,205, 93, 16,221, 93,205, 93, 1, 47, 94, 93, 51, 51, 47, 93,205, 16,205, 50, 47, 17, 57, 16,246,225, 93,113, 16,246,225, - 18, 23, 57, 61, 47, 24, 47, 47, 17, 51, 49, 48, 1, 34, 6, 7, 39, 54, 54, 51, 50, 22, 22, 18, 21, 20, 2, 6, 6, 35, 34, 38, - 39, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, 20, 30, 2, 51, 50, 62, 2, - 55, 30, 3, 51, 50, 62, 2, 53, 52, 46, 2, 3, 21, 35, 34, 46, 2, 35, 34, 6, 21, 21, 35, 53, 52, 54, 51, 50, 30, 2, 51, 5, - 20, 6, 7, 53, 54, 54, 53, 52, 46, 2, 53, 52, 54, 51, 50, 22, 5, 63, 60, 94, 42, 76, 59,143, 81,119,183,125, 64, 63,129,198, -136,103,162, 69, 71,160,103,136,198,129, 63, 64,125,183,119, 81,143, 59, 76, 41, 95, 60, 69,113, 80, 43, 46, 92,138, 92, 42, 86, - 78, 66, 23, 23, 66, 78, 86, 42, 92,139, 92, 46, 44, 80,113, 3, 16, 86,144,122,100, 42, 46, 58,133,124,109, 58,112,119,133, 78, -254,239,120,121, 60, 56, 31, 36, 31, 50, 46, 59, 68, 5, 37, 46, 32,156, 42, 44, 99,184,254,248,166,170,254,223,210,119, 42, 44, - 44, 42,119,210, 1, 33,170,166, 1, 8,184, 99, 44, 42,156, 32, 46, 70,138,207,136,141,229,164, 89, 19, 35, 47, 28, 28, 47, 35, - 19, 89,164,229,141,136,207,138, 70, 2,166,129, 36, 42, 36, 45, 53, 16, 35,107,101, 36, 42, 36,226, 77,115, 31, 76, 22, 45, 25, - 19, 18, 16, 26, 28, 37, 38, 70, 0, 3, 0,113,255,236, 5,223, 7, 8, 0, 67, 0, 89, 0,108, 0,178, 64,107, 96,103, 69, 69, - 90,103, 79, 64, 80, 80, 80, 2, 80, 80, 93,111,103,159,103, 2, 16,103, 1,103, 36, 21, 11, 53, 63, 3, 3, 11, 44, 72, 63, 87, -110, 30, 72, 11, 86,109, 0, 75, 1, 75,223, 84, 1, 84, 80, 15, 68, 1, 68, 69, 69,111, 80, 1, 80, 80, 0,106, 1,224,106,240, -106, 2,106, 15, 93,127, 93, 2, 7, 93, 47, 27, 81, 52, 22, 22, 58, 16, 16, 33, 41, 81, 0, 3, 36, 64, 16, 21, 72, 36, 64, 7, - 12, 72, 36, 36, 6, 0, 22, 0, 63, 50, 50, 47, 43, 43, 51, 16,225, 50, 63, 51, 51, 17, 51,225, 50, 47, 94, 93,204, 93,113, 50, - 47,113, 51, 16,205,113, 16,221, 93,205,113, 1, 16,246,225, 16,246,225, 18, 57, 61, 47, 18, 57, 18, 57, 51, 24, 47, 93, 93, 51, - 51, 47, 93,205, 16,205, 50, 47, 17, 57, 49, 48, 5, 34, 38, 39, 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 23, 7, - 46, 3, 35, 34, 6, 21, 20, 22, 51, 50, 54, 55, 30, 3, 51, 50, 54, 53, 52, 38, 35, 34, 14, 2, 7, 39, 62, 3, 51, 50, 30, 2, - 21, 20, 14, 2, 19, 21, 35, 34, 46, 2, 35, 34, 6, 21, 21, 35, 53, 52, 54, 51, 50, 30, 2, 51, 5, 20, 6, 7, 53, 54, 53, 52, - 46, 4, 53, 52, 54, 51, 50, 22, 4, 16, 81,109, 43, 43,106, 80, 95,169,127, 74, 63,109,147, 84, 31, 64, 60, 52, 20, 63, 17, 41, - 43, 43, 18,112,105,141,136, 73,115, 41, 22, 49, 57, 66, 41,133,140,105,112, 18, 43, 43, 41, 17, 64, 20, 53, 60, 63, 32, 84,147, -109, 63, 74,126,169, 58, 16, 86,144,122,100, 42, 46, 58,134,124,110, 57,112,120,133, 78,254,239,120,121,116, 15, 21, 26, 21, 15, - 50, 46, 59, 68, 20, 35, 32, 32, 35, 63,137,213,150,157,219,137, 62, 9, 16, 22, 12,154, 10, 19, 15, 9,202,211,211,195, 52, 32, - 16, 30, 24, 14,195,211,211,202, 9, 15, 19, 10,154, 12, 22, 16, 9, 62,137,219,157,150,213,137, 63, 6,170,130, 36, 43, 36, 46, - 52, 17, 35,108,101, 36, 42, 36,226, 77,115, 31, 76, 41, 51, 13, 15, 12, 10, 15, 23, 18, 38, 38, 70, 0, 0, 2, 0,125,255,236, - 7, 94, 7, 4, 0, 13, 0, 83, 0,155, 64, 98, 35, 18, 71, 90, 51,197, 68, 1,150, 68,166, 68, 2,137, 68, 1, 68, 68, 43, 79, - 91, 26, 0, 13, 0, 13, 43, 26,103, 85, 0, 85, 16, 85, 2, 0, 85, 32, 85, 80, 85,112, 85,208, 85,224, 85, 6, 7, 60, 91, 43, -102, 84, 69, 69, 65, 14, 55, 95, 48, 17, 52, 9, 4, 4, 0,128, 10, 6, 63, 2,127, 2,207, 2,223, 2,239, 2, 5, 2, 52, 21, - 48, 4, 74, 35, 32, 9, 14, 72, 35, 65, 95, 31, 38, 19, 0, 63, 51,225, 50, 43, 50, 63, 51, 51, 47, 93, 51, 51, 26,205, 57, 47, - 51, 17, 51, 16,225, 50, 18, 57, 47, 1, 16,246,225, 94, 93,113, 16,230, 17, 57, 57, 47, 47, 16,225, 17, 57, 47, 93, 93, 93, 51, -225, 50, 57, 49, 48, 1, 21, 7, 35, 39, 35, 7, 35, 39, 35, 7, 35, 39, 53, 1, 34, 6, 7, 39, 54, 54, 51, 50, 22, 22, 18, 21, - 20, 2, 6, 6, 35, 34, 38, 39, 35, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, - 21, 20, 30, 2, 51, 50, 54, 55, 17, 51, 17, 22, 22, 51, 50, 62, 2, 53, 52, 46, 2, 5,139, 82, 34, 50,184, 49, 35, 49,184, 50, - 34, 80, 3, 28, 60, 94, 42, 76, 59,143, 81,119,183,125, 64, 63,129,198,136,111,170, 73, 2, 75,168,110,136,198,129, 63, 64,125, -183,119, 81,143, 59, 76, 41, 95, 60, 69,113, 80, 43, 46, 92,138, 92, 57,118, 46,187, 46,118, 59, 92,139, 92, 46, 44, 80,113, 7, - 4, 27,172,103,103,103,103,172, 27,254, 33, 46, 32,156, 42, 44, 99,184,254,248,166,170,254,223,210,119, 50, 48, 48, 50,119,210, - 1, 33,170,166, 1, 8,184, 99, 44, 42,156, 32, 46, 70,138,207,136,141,229,164, 89, 36, 38, 1,189,254, 67, 38, 36, 89,164,229, -141,136,207,138, 70, 0, 0, 2, 0, 0, 0, 0, 5,244, 5,164, 0, 13, 0, 58, 1, 35, 64, 13, 0, 13, 0, 13, 42, 15,185, 48, - 1,130, 48, 1, 47,184,255,240,179, 10, 16, 72, 58,184,255,240,179, 19, 27, 72, 58,184,255,240, 64, 25, 10, 15, 72,169, 14, 1, - 14, 16, 19, 27, 72, 14, 16, 10, 15, 72, 48, 27, 28, 52,102, 29, 1, 29, 28,184,255,240, 64, 83, 15, 28, 31, 28, 63, 28, 3, 79, - 28,111, 28,127, 28,159, 28,191, 28, 5, 28, 28, 52, 48, 47, 35,144, 35, 1,116, 35, 1,107, 35, 1, 36, 35, 52, 35, 2, 58, 14, - 20,144, 52, 1, 36, 20, 52, 20, 68, 20,116, 20,148, 20, 5, 35, 52, 20, 20, 52, 35, 3, 15, 41, 71, 0, 42, 16, 42, 2, 7, 42, - 42, 60, 16, 60, 32, 60, 48, 60, 3, 16, 15,184,255,240, 64, 53, 15, 9, 4, 4, 0,128, 10, 6, 15, 2,127, 2,143, 2,159, 2, - 4, 2, 64, 20, 23, 72, 2, 52, 64, 21, 29, 72, 52, 32, 12, 20, 72, 27, 52, 30, 3, 14, 41, 28, 15, 15, 35, 20, 38, 20, 54, 20, - 2, 20, 48, 14, 21, 0, 63, 51, 51, 93, 17, 51, 63, 51, 51, 18, 23, 57, 43, 43, 47, 43, 93, 51, 51, 26,205, 57, 47, 51, 1, 47, - 56, 51, 93, 17, 51, 47, 94, 93,225, 18, 23, 57, 61, 47, 47, 47, 93, 93, 17, 51, 51, 93, 93, 93, 93, 17, 51, 51, 17, 51, 24, 47, - 93,113, 56, 51, 93,135,192,192, 1, 43, 43, 93, 43, 43, 43, 93, 93, 17, 18, 57, 57, 47, 47, 49, 48, 1, 21, 7, 35, 39, 35, 7, - 35, 39, 35, 7, 35, 39, 53, 3, 1, 51, 19, 22, 22, 23, 51, 62, 3, 55, 19, 3, 51, 19, 30, 3, 23, 51, 62, 3, 53, 51, 20, 2, - 2, 6, 7, 35, 3, 38, 38, 53, 14, 3, 7, 3, 4,186, 82, 34, 50,184, 49, 35, 49,184, 49, 35, 80, 4,254,137,188,224, 28, 38, - 9, 7, 7, 21, 26, 29, 15,119,162,188,201, 12, 31, 30, 24, 5, 7, 90,114, 65, 25,183, 37, 92,154,117,192,119, 12, 13, 1, 6, - 9, 10, 4,152, 5,164, 27,172,103,103,103,103,172, 27,250, 92, 4, 74,253, 86, 87,157, 51, 22, 58, 65, 69, 32, 1, 12, 1,207, -253,176, 33, 99,103, 92, 25,103,208,226,255,152,163,254,223,254,245,252,127, 1, 84, 32, 53, 3, 1, 19, 27, 29, 10,254,170, 0, - 0, 1, 0,125,254, 20, 4,152, 5,203, 0, 35, 0, 84, 64, 23, 17, 90, 15, 16, 1, 7, 16, 64, 15, 18, 72, 16, 16, 24,186, 32, - 1, 96, 32,112, 32, 2, 32,184,255,192, 64, 26, 6, 10, 72, 32, 32, 37,175, 37, 1, 5, 91, 24,102, 36, 33, 0, 95, 29, 4, 15, - 10, 95, 19, 19, 16, 27, 0, 63, 63,225, 51, 63,225, 51, 1, 16,246,225, 93, 17, 51, 47, 43, 93, 93, 18, 57, 47, 43, 94, 93,225, - 49, 48, 1, 34, 14, 2, 21, 20, 30, 2, 51, 50, 62, 2, 55, 17, 35, 17, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, - 7, 38, 38, 3, 25,107,174,123, 67, 59,118,176,118, 29, 45, 40, 37, 21,187, 16,164,240,157, 76, 87,169,250,162,108,196, 79, 78, - 63,148, 5, 39, 81,152,218,137,141,219,150, 78, 4, 9, 13, 9,253, 98, 1,216,108,198, 1, 21,170,166, 1, 20,198,110, 44, 42, -156, 32, 46, 0, 0, 1, 0,113,254, 20, 3,111, 4, 94, 0, 31, 0, 62, 64, 37, 29, 71, 28, 64, 14, 17, 72, 28, 28, 4, 12, 33, - 95, 33,127, 33, 2, 16, 33, 1, 21, 72, 4, 86, 32, 27, 24, 81, 31, 22, 28, 27, 18, 81, 13, 9, 16, 0, 63, 51,225, 63, 63,225, - 51, 1, 16,246,225, 93, 93, 16,206, 17, 57, 47, 43,225, 49, 48, 4, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 7, 46, 3, 35, 34, - 6, 21, 20, 22, 51, 50, 54, 55, 17, 35, 17, 35, 1,237,176,130, 74, 76,133,178,102, 78,149, 50, 54, 23, 56, 60, 59, 25,157,144, -145,148, 62,104, 35,183, 18, 20, 63,137,213,150,157,219,137, 62, 34, 25,154, 10, 19, 15, 9,202,211,211,195, 27, 20,253, 90, 1, -216, 0, 0, 1, 0,104,255,250, 4,121, 5, 10, 0, 19, 1, 37, 64,103, 13, 17, 29, 17, 2, 13, 1, 29, 1, 2, 2, 11, 18, 11, - 2, 2, 7, 18, 7, 2, 7, 16, 17, 12, 19, 18, 11, 0, 1, 8, 3, 2, 7, 4, 15, 4, 13, 17, 12, 10, 18, 11, 9, 1, 8, 6, - 2, 7, 5, 14, 5, 13, 16, 17, 12, 17, 10, 19, 18, 11, 18, 9, 0, 1, 8, 1, 6, 3, 2, 7, 2, 4, 5, 12, 11, 2, 1, 14, - 15, 79, 1, 1, 64, 11, 1, 5, 11, 1, 15, 15, 1, 11, 5, 4, 18, 96, 17,112, 17,240, 17, 3, 17,184,255,192, 64, 77, 7, 10, - 72, 17, 8, 7, 17, 21, 32, 21, 48, 21, 2, 3, 6, 0, 9, 4, 7, 1, 1, 2, 19, 10, 16, 13, 4, 11, 17, 17, 18, 4, 7, 1, - 7, 7, 8, 11, 11, 1, 11, 11, 12,176, 12,192, 12, 2, 15, 18, 31, 18, 2, 0, 8, 16, 8, 2, 2, 18, 8, 12, 12, 8, 18, 2, - 4, 4, 15, 14, 64, 7, 13, 72, 14, 5, 4, 0, 47, 51, 47, 43, 51, 18, 23, 57, 47, 47, 47, 47, 93, 93, 93, 17, 51, 47,113, 17, - 51, 47,113, 17, 51, 47, 18, 23, 57, 17, 51, 47, 18, 23, 57, 1, 93, 17, 51, 47, 50, 47, 43, 93, 51, 23, 57, 47, 47, 47, 47, 93, - 93, 17, 51, 17, 51, 17, 51, 17, 51, 16,135,192,192, 16,135,192,192, 16,135,192,192, 16,135,192,192, 16,135, 8,192, 8,192, 8, -192, 8,192, 16,135, 8,192, 8,192, 8,192, 8,192, 49, 48, 0, 94, 93, 93, 93, 93, 1, 5, 7, 37, 3, 39, 19, 37, 55, 5, 19, - 37, 55, 5, 19, 23, 3, 5, 7, 37, 2, 76, 1, 28, 71,254,227,180,129,180,254,229, 70, 1, 31,198,254,228, 71, 1, 29,182,127, -182, 1, 31, 74,254,229, 1,176,166,123,164,254,199, 74, 1, 59,164,123,164, 1, 90,164,125,164, 1, 57, 73,254,196,164,123,164, - 0, 1, 0,201, 4,143, 3,176, 5,184, 0, 21, 0, 66,181, 15, 32, 7, 10, 72, 3,184,255,224, 64, 30, 7, 10, 72, 12, 18, 18, - 23, 0, 0, 6, 16, 6, 32, 6,144, 6,160, 6, 5, 7, 6, 6, 22, 15, 15, 11, 0, 3, 3, 0, 0, 47, 50, 47, 16,205, 50, 47, - 17, 1, 51, 47, 94, 93, 51, 17, 51, 47, 51, 0, 43, 43, 49, 48, 1, 6, 6, 35, 34, 38, 53, 52, 62, 2, 51, 33, 54, 54, 51, 50, - 22, 21, 20, 6, 35, 1,139, 6, 44, 48, 56, 40, 9, 23, 37, 29, 1,193, 5, 45, 48, 56, 42, 43, 57, 4,238, 44, 51, 51, 56, 28, - 37, 22, 9, 45, 49, 50, 54, 57, 41, 0, 0, 1, 0,244, 4,229, 3,223, 5,217, 0, 21, 0, 66, 64, 17,128, 8,144, 8, 2, 8, - 8, 23, 0, 20, 16, 20, 32, 20, 3, 7, 20,184,255,192, 64, 18, 13, 16, 72, 20, 20, 22, 21, 20, 20, 9, 14, 64,191, 5, 1, 5, -128, 9, 0, 47, 26,221, 93, 26,205, 17, 51, 47,205, 17, 1, 51, 47, 43, 94, 93, 17, 51, 47, 93, 49, 48, 1, 50, 62, 2, 51, 50, - 22, 21, 21, 35, 53, 52, 38, 35, 34, 14, 2, 35, 35, 53, 1, 2, 78,133,119,112, 58,109,124,133, 58, 46, 42,101,121,145, 85, 16, - 5,102, 36, 43, 36,101,108, 35, 17, 52, 46, 36, 43, 36,129, 0, 0, 1, 1,225, 4,215, 2,211, 6, 53, 0, 17, 0, 32, 64, 18, - 11, 14, 63, 6, 79, 6, 2, 6, 0, 63, 3, 79, 3, 95, 3, 3, 3, 15, 0, 47,204, 93, 1, 47,205, 93, 50, 57, 49, 48, 1, 52, - 54, 51, 50, 22, 21, 20, 14, 2, 21, 20, 22, 23, 21, 38, 38, 1,225, 68, 59, 47, 50, 31, 37, 31, 57, 60,122,120, 5,182, 57, 70, - 38, 38, 27, 26, 17, 17, 19, 25, 46, 21, 76, 31,115, 0, 0, 1, 1,225, 4,215, 2,211, 6, 53, 0, 19, 0, 32, 64, 18, 7, 63, - 0, 79, 0, 2, 0, 3, 14, 63, 17, 79, 17, 95, 17, 3, 17, 3, 0, 47,204, 93, 1, 47, 51,205, 93, 57, 49, 48, 1, 20, 6, 7, - 53, 54, 54, 53, 52, 46, 4, 53, 52, 54, 51, 50, 22, 2,211,120,122, 60, 57, 15, 21, 26, 21, 15, 50, 46, 59, 68, 5,182, 77,115, - 31, 76, 21, 46, 25, 13, 15, 12, 10, 15, 23, 18, 38, 38, 70, 0, 0, 8, 0, 41,254,193, 7,193, 5,145, 0, 19, 0, 39, 0, 59, - 0, 79, 0, 99, 0,119, 0,139, 0,159, 0, 0, 1, 46, 3, 35, 34, 14, 2, 7, 35, 54, 54, 51, 50, 30, 2, 23, 3, 46, 3, 35, - 34, 14, 2, 7, 35, 54, 54, 51, 50, 30, 2, 23, 1, 46, 3, 35, 34, 14, 2, 7, 35, 54, 54, 51, 50, 30, 2, 23, 33, 46, 3, 35, - 34, 14, 2, 7, 35, 54, 54, 51, 50, 30, 2, 23, 1, 46, 3, 35, 34, 14, 2, 7, 35, 54, 54, 51, 50, 30, 2, 23, 33, 46, 3, 35, - 34, 14, 2, 7, 35, 54, 54, 51, 50, 30, 2, 23, 1, 46, 3, 35, 34, 14, 2, 7, 35, 54, 54, 51, 50, 30, 2, 23, 33, 46, 3, 35, - 34, 14, 2, 7, 35, 54, 54, 51, 50, 30, 2, 23, 4,111, 3, 24, 36, 46, 25, 30, 47, 33, 20, 3, 75, 5,100,103, 49, 77, 54, 30, - 3, 79, 3, 24, 36, 46, 25, 30, 47, 33, 20, 3, 75, 5,100,103, 49, 77, 54, 30, 3, 1,244, 3, 23, 36, 46, 25, 31, 47, 33, 19, - 3, 76, 5,101,103, 49, 77, 54, 30, 3,251, 47, 3, 23, 36, 46, 25, 31, 47, 33, 19, 3, 76, 5,101,103, 49, 77, 54, 30, 3, 4, - 49, 3, 23, 36, 46, 25, 31, 47, 33, 19, 3, 76, 5,101,103, 49, 77, 54, 30, 3,251, 47, 3, 23, 36, 46, 25, 31, 47, 33, 19, 3, - 76, 5,101,103, 49, 77, 54, 30, 3, 4,240, 3, 24, 36, 45, 25, 31, 47, 33, 20, 3, 75, 5,100,104, 49, 76, 54, 31, 3,249,190, - 3, 23, 36, 46, 25, 31, 47, 33, 19, 3, 76, 5,101,103, 49, 77, 54, 30, 3, 4,207, 28, 35, 19, 6, 5, 18, 35, 30, 90,104, 28, - 51, 72, 43,249,242, 28, 35, 19, 6, 5, 18, 35, 30, 89,105, 29, 51, 71, 43, 1, 22, 28, 35, 19, 6, 5, 18, 35, 30, 90,105, 29, - 51, 72, 43, 28, 35, 19, 6, 5, 18, 35, 30, 90,105, 29, 51, 72, 43, 3,219, 28, 35, 19, 6, 5, 18, 35, 30, 90,105, 29, 51, 72, - 43, 28, 35, 19, 6, 5, 18, 35, 30, 90,105, 29, 51, 72, 43,254, 25, 28, 35, 19, 6, 5, 18, 35, 30, 90,104, 29, 51, 71, 43, 28, - 35, 19, 6, 5, 18, 35, 30, 90,104, 29, 51, 71, 43, 0, 0, 8, 0, 41,254,127, 7,125, 5,211, 0, 12, 0, 25, 0, 38, 0, 51, - 0, 64, 0, 77, 0, 90, 0,103, 0, 0, 5, 23, 14, 3, 7, 35, 62, 3, 55, 3, 39, 62, 3, 55, 51, 14, 3, 7, 1, 55, 30, 3, - 23, 21, 46, 3, 39, 5, 7, 46, 3, 39, 53, 30, 3, 23, 1, 55, 62, 3, 55, 23, 14, 3, 7, 1, 7, 14, 3, 7, 39, 62, 3, 55, - 3, 39, 46, 3, 39, 55, 30, 3, 23, 1, 23, 30, 3, 23, 7, 46, 3, 39, 4, 55, 11, 10, 28, 32, 35, 18, 97, 10, 21, 18, 16, 5, - 59, 11, 10, 28, 32, 35, 18, 97, 10, 21, 18, 16, 5, 2, 35, 14, 38, 85, 87, 87, 39, 42, 93, 91, 87, 37,251,104, 14, 39, 85, 87, - 86, 39, 42, 93, 91, 87, 37, 3,166, 2, 34, 80, 84, 86, 40, 69, 37, 79, 78, 73, 30,252,234, 2, 35, 79, 84, 86, 40, 69, 37, 79, - 78, 73, 30, 43, 17, 20, 41, 39, 36, 15, 67, 23, 51, 52, 50, 23, 3,106, 17, 20, 40, 39, 37, 15, 67, 23, 52, 52, 50, 22, 35, 14, - 39, 85, 87, 86, 39, 42, 93, 91, 87, 37, 4,152, 14, 38, 85, 87, 87, 39, 42, 93, 91, 87, 37,254, 22, 11, 10, 28, 32, 35, 18, 97, - 10, 21, 18, 16, 5, 59, 11, 10, 28, 32, 35, 18, 97, 10, 21, 18, 16, 5, 1,170, 16, 20, 41, 39, 37, 15, 68, 23, 51, 52, 50, 22, -252,149, 16, 20, 41, 39, 37, 15, 68, 23, 51, 52, 50, 22, 2,222, 2, 34, 80, 84, 85, 40, 70, 37, 79, 78, 73, 30,252,233, 2, 35, - 79, 84, 85, 40, 70, 37, 79, 78, 73, 30, 0, 2, 0,201,254,127, 5,211, 7,104, 0, 27, 0, 49, 0,179, 64, 72, 28, 28, 48, 38, - 1,208, 38, 1,175, 38,207, 38, 2, 32, 38, 48, 38,128, 38, 3, 38, 38, 23, 10, 25, 26, 26, 24, 27, 21, 7, 0, 90, 23,101, 51, -208, 51, 1,175, 51, 1, 32, 51, 48, 51, 2, 19, 8, 12, 90, 9,100, 50, 38,159, 28, 1, 28, 64, 6, 9, 72, 28, 28, 44,142, 33, - 5, 26,251, 19,184,255,232,179, 20, 24, 72, 19,184,255,224, 64, 38, 10, 19, 72, 6, 19, 22, 19, 38, 19, 3, 9, 19, 23, 95, 0, - 18, 6, 24, 20, 24, 72, 6, 32, 10, 19, 72, 9, 6, 25, 6, 41, 6, 3, 7, 6, 22, 10, 3, 0, 63, 51, 51, 94, 93, 43, 43, 63, -225, 51, 51, 93, 43, 43, 63, 63,225, 51, 47, 43, 93, 51, 1, 16,246,225, 50, 50, 93, 93, 93, 16,244,225, 50, 50, 51, 51, 57, 47, - 51, 17, 18, 57, 47, 93, 93, 93,113, 51, 47, 49, 48, 33, 17, 52, 54, 55, 54, 55, 35, 1, 35, 17, 51, 17, 20, 14, 2, 7, 6, 7, - 51, 1, 51, 17, 51, 3, 35, 19, 3, 14, 3, 35, 34, 46, 2, 39, 51, 30, 3, 51, 50, 62, 2, 55, 4,100, 5, 4, 4, 6, 8,253, - 49,215,174, 1, 3, 3, 1, 4, 3, 7, 2,204,213,195,143,218,166,157, 6, 49, 93,141,100,103,140, 88, 42, 4,170, 4, 28, 50, - 76, 53, 43, 73, 55, 34, 6, 3, 25, 56,143, 65, 76, 77,251, 70, 5,182,252,224, 26, 62, 67, 68, 31, 74, 76, 4,180,250,240,253, -217, 1,129, 7,104, 77,119, 80, 41, 39, 79,119, 80, 57, 72, 41, 16, 18, 44, 71, 53, 0, 0, 2, 0,174,254,131, 4,242, 6, 23, - 0, 15, 0, 37, 0,150, 64, 58, 16, 16, 4, 26, 52, 26,132, 26, 3, 7, 26, 26, 11, 5, 13, 14, 14, 15, 12, 9, 16, 9, 24, 72, - 9, 2, 0, 70, 11, 85, 39,164, 39,196, 39,212, 39,244, 39, 4,128, 39, 1, 2, 0, 39, 16, 39, 32, 39, 80, 39, 96, 39,112, 39, - 6, 3,184,255,240, 64, 37, 9, 24, 72, 3, 8, 7, 70, 4, 84, 38, 26,127, 16, 1, 16, 64, 6, 9, 72, 16, 16, 32,142, 21, 17, - 14,251, 9, 2, 5, 15, 11, 96, 8, 4, 0, 21, 0, 63, 50, 50,225, 63, 51, 51, 63, 63,225, 51, 47, 43, 93, 51, 1, 16,246,225, - 50, 50, 43, 93, 95, 93, 93, 16,244,225, 50, 50, 43, 51, 51, 57, 47, 51, 17, 18, 57, 47, 94, 93, 51, 47, 49, 48, 33, 17, 19, 1, - 35, 17, 51, 17, 7, 1, 51, 17, 51, 3, 35, 19, 3, 14, 3, 35, 34, 46, 2, 39, 51, 30, 3, 51, 50, 62, 2, 55, 3,143, 11,253, -254,234,172, 12, 2, 4,233,183,123,182,122, 71, 6, 49, 93,141,100,103,140, 88, 42, 4,170, 4, 28, 50, 76, 53, 43, 73, 55, 34, - 6, 2,135, 1, 15,252,106, 4, 74,253,100,252, 3,152,252, 80,253,233, 1,125, 6, 23, 78,118, 81, 41, 39, 80,119, 80, 57, 73, - 41, 16, 18, 44, 72, 53, 0, 2, 0, 47, 0, 0, 4, 51, 5,182, 0, 22, 0, 33, 0, 82, 64, 44, 19, 0, 23, 90, 12, 21, 21, 6, - 16, 12, 12, 14, 27, 91, 6,103, 35, 14, 33, 95, 0, 22, 13, 95, 16, 19, 16,137, 0, 1, 15, 16, 1, 7, 0, 16, 0, 16, 17, 3, - 23, 96, 12, 18, 0, 63,225, 63, 57, 57, 47, 47, 94, 93, 93, 17, 51, 16,225, 50, 16,225, 1, 47, 16,246,225, 17, 57, 47, 51, 18, - 57, 47, 16,225, 50, 50, 49, 48, 1, 51, 50, 30, 2, 21, 20, 14, 2, 35, 33, 17, 35, 53, 51, 53, 51, 21, 33, 21, 33, 17, 51, 50, - 54, 53, 52, 46, 2, 35, 35, 1,129,150,152,207,126, 55, 60,126,194,134,254,150,152,152,186, 1, 59,254,197,160,174,164, 46, 91, -139, 93,129, 3, 78, 66,113,152, 87, 97,158,112, 61, 4, 96,164,178,178,164,252, 64,132,136, 70, 97, 60, 27, 0, 0, 2, 0, 18, - 0, 0, 4, 25, 6, 20, 0, 20, 0, 33, 0, 97, 64, 59, 1, 1, 14, 28, 71, 8, 87, 35,111, 35,191, 35,223, 35,255, 35, 4, 3, - 0, 22, 71, 18, 17, 14, 84, 34, 21, 80, 4, 3, 15, 80, 18, 0, 18, 4, 64, 7, 36, 72, 15, 18, 1, 15, 18, 31, 18, 2, 7, 4, - 18, 4, 18, 19, 0, 22, 80, 14, 21, 0, 63,225, 63, 57, 57, 47, 47, 94, 93,113, 43, 17, 51, 16,225, 50, 16,225, 1, 16,246,196, - 51,225, 50, 50, 93, 16,246,225, 18, 57, 47, 49, 48, 1, 33, 21, 33, 17, 33, 50, 22, 21, 20, 14, 2, 35, 33, 17, 35, 53, 51, 53, - 51, 17, 17, 33, 50, 62, 2, 53, 52, 46, 2, 35, 1,100, 1, 23,254,233, 1, 21,211,205, 47,101,159,113,254, 57,156,156,182, 1, - 4, 55, 94, 67, 38, 33, 65, 96, 64, 5, 33,137,253,239,156,155, 77,124, 88, 47, 4,152,137,243,251,218,254,168, 17, 41, 66, 48, - 49, 66, 40, 17, 0, 2, 0,199, 0, 0, 4, 51, 5,182, 0, 19, 0, 34, 0,136, 64, 79, 27, 5, 26, 6, 26, 24, 8, 25, 7, 7, - 6, 25, 6, 25, 6, 12, 30, 91, 40, 0, 56, 0, 72, 0, 3, 0,103, 36,207, 36, 1, 64, 36, 1, 15, 36, 1, 6, 20, 12, 90, 13, -100, 35, 25, 24, 27,175, 26, 1, 26, 26, 20, 34, 6,176, 7, 1, 7, 7, 12, 5, 8, 20, 96, 48, 11, 64, 11, 2, 11, 11, 12, 34, - 96, 14, 3, 12, 18, 0, 63, 63,225, 17, 57, 47, 93,225, 57, 57, 18, 57, 47, 93, 51, 17, 18, 57, 47, 93, 57, 57, 51, 1, 16,246, -225, 50, 94, 93, 93, 93, 16,246, 93,225, 18, 57, 57, 47, 47, 17, 51, 17, 18, 57, 57, 50, 17, 18, 57, 57, 49, 48, 1, 20, 14, 2, - 7, 23, 7, 39, 6, 35, 35, 17, 35, 17, 33, 50, 30, 2, 1, 51, 50, 54, 55, 39, 55, 23, 54, 54, 53, 52, 38, 35, 35, 4, 51, 22, - 47, 75, 54,110,106,129, 93,124,150,186, 1,106,134,194,126, 60,253, 78,129, 38, 68, 31, 92,109,112, 51, 52,164,174,160, 4, 10, - 58,111,100, 86, 32,155, 78,182, 27,253,199, 5,182, 57,109,160,254,103, 5, 5,133, 76,160, 36,115, 87,142,137, 0, 2, 0,174, -254, 20, 4, 63, 4, 94, 0, 35, 0, 57, 0,114, 64, 64, 52, 53, 50, 51, 51, 42, 32, 30, 31, 31, 55, 72, 33, 42, 27, 87, 59, 48, - 59, 1, 42, 16, 12, 71, 13, 84, 58, 51, 53, 50, 47, 15, 52, 31, 52,111, 52,207, 52, 4, 7, 52, 52, 47, 36, 80, 16, 22, 16, 14, - 15, 31, 32, 32, 0, 12, 27, 33, 30, 47, 80, 6, 0, 22, 0, 63, 50,225, 57, 57, 63, 18, 57, 47, 51, 63, 63, 51,225, 17, 57, 47, - 94, 93, 18, 57, 57, 51, 1, 16,246,225, 50, 50, 93, 16,246, 17, 57,225, 57, 47, 57, 51, 17, 57, 47, 57, 57, 51, 49, 48, 5, 34, - 46, 2, 39, 35, 22, 23, 22, 22, 21, 17, 35, 17, 51, 23, 51, 62, 3, 51, 50, 30, 2, 21, 20, 6, 7, 23, 7, 39, 6, 6, 3, 34, - 14, 2, 7, 21, 20, 30, 2, 51, 50, 54, 55, 39, 55, 23, 54, 53, 52, 38, 2,158, 59, 96, 77, 60, 22, 12, 3, 3, 2, 4,182,148, - 26, 8, 22, 59, 77, 96, 60, 94,153,110, 60, 90, 82,109,106,117, 31, 65, 70, 76,105, 65, 31, 2, 27, 65,108, 81, 17, 33, 15,106, -109,110, 84,127, 20, 25, 44, 58, 32, 34, 31, 26, 55, 16,254, 43, 6, 54,148, 34, 62, 45, 27, 72,143,212,140,175,242, 68,154, 78, -166, 9, 11, 3,219, 46, 94,141, 94, 41,101,157,107, 55, 3, 5,152, 76,158,106,238,208,206, 0, 0, 1, 0, 47, 0, 0, 3,190, - 5,182, 0, 13, 0,137, 64, 21, 31, 5, 47, 5, 2, 5, 5, 8, 15, 0, 31, 0, 2,144, 0,160, 0,224, 0, 3, 0,184,255,192, - 64, 30, 7, 10, 72, 0, 0, 15, 31, 15, 63, 15,159, 15,191, 15, 4, 3, 7, 90, 12, 0, 10, 1, 6, 10,128, 8,192, 8, 2, 8, -184,255,192, 64, 38, 6, 10, 72, 8, 6, 9, 95, 3, 15, 12, 47, 12, 63, 12, 79, 12, 4, 15, 12, 63, 12,175, 12,223, 12,255, 12, - 5, 8, 12, 12, 7, 2, 95, 13, 3, 7, 18, 0, 63, 63,225, 18, 57, 47, 94, 93,113, 51,225, 50, 1, 47, 43, 93,198, 94, 93, 51, -225, 50, 93, 17, 51, 47, 43, 93,113, 18, 57, 47, 93, 49, 48, 1, 21, 33, 17, 33, 21, 33, 17, 35, 17, 35, 53, 51, 17, 3,190,253, -195, 1, 80,254,176,186,152,152, 5,182,166,254, 21,162,253,125, 2,131,162, 2,145, 0, 0, 1, 0, 18, 0, 0, 3, 10, 4, 74, - 0, 13, 0,110, 64, 29, 11, 11, 0, 32, 6, 48, 6, 2, 6, 6, 15,112, 15,160, 15,192, 15, 3, 9, 13, 71, 4,223, 2,239, 2, - 2, 2, 0,184,255,192,179, 18, 21, 72, 0,184,255,192, 64, 33, 6, 11, 72, 0, 12, 1, 79, 9, 79, 4, 95, 4, 2, 4, 64, 23, - 28, 72, 11, 4, 27, 4, 2, 7, 4, 4, 0, 8, 80, 5, 15, 0, 21, 0, 63, 63,225, 18, 57, 47, 94, 93, 43, 93, 51,225, 50, 1, - 47, 43, 43,198, 93, 51,225, 50, 93, 17, 51, 47, 93, 18, 57, 47, 49, 48, 51, 17, 35, 53, 51, 17, 33, 21, 33, 17, 33, 21, 33, 17, -174,156,156, 2, 92,254, 90, 1, 23,254,233, 1,225,137, 1,224,154,254,186,137,254, 31, 0, 1, 0,199,254, 0, 4,152, 5,182, - 0, 38, 0,102, 64, 65, 9, 21, 1, 7, 7, 7, 5, 34, 91, 18, 40,192, 40, 1,127, 40,143, 40, 2, 16, 40, 64, 40, 2, 28, 28, - 10, 4, 90, 5,100, 39, 29, 32, 95, 23, 28, 0, 96, 15, 13, 47, 13, 63, 13, 3, 15, 13, 63, 13,223, 13,255, 13, 4, 8, 13, 13, - 5, 9, 95, 6, 3, 5, 18, 0, 63, 63,225, 18, 57, 47, 94, 93,113,225, 63,225, 51, 1, 16,246,241, 50,192, 47, 93, 93, 93, 16, -222,225, 18, 57, 47, 49, 48, 0, 94, 93, 1, 34, 6, 7, 17, 35, 17, 33, 21, 33, 17, 54, 54, 51, 50, 30, 2, 21, 20, 14, 2, 35, - 34, 46, 2, 39, 53, 22, 22, 51, 32, 17, 52, 46, 2, 1,252, 37, 60, 26,186, 2,247,253,195, 29, 71, 45,154,240,165, 87, 82,146, -201,118, 49, 78, 68, 61, 31, 63,127, 72, 1,119, 67,123,174, 2,131, 5, 5,253,135, 5,182,166,254, 11, 5, 3, 92,171,242,151, -170,248,162, 79, 6, 12, 19, 12,162, 23, 24, 1,239,121,185,126, 64, 0, 0, 1, 0,174,254, 10, 3,197, 4, 74, 0, 35, 0, 92, - 64, 57, 9, 34, 25, 34, 41, 34, 3, 20, 20, 18, 10, 72, 31, 37, 15, 37, 31, 37, 2, 95, 37,127, 37,255, 37, 3, 3, 3, 23, 17, - 71, 18, 84, 36, 4, 0, 13, 81, 11, 26, 27, 26, 2, 7, 26, 26, 18, 22, 80, 19, 15, 18, 21, 7, 81, 0, 27, 0, 63,225, 63, 63, -225, 18, 57, 47, 94, 93,233, 17, 51, 1, 16,246,225, 50, 57, 47, 93,113, 16,222,225, 18, 57, 47, 49, 48, 0, 93, 1, 34, 38, 39, - 53, 22, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 7, 17, 35, 17, 33, 21, 33, 17, 54, 54, 51, 50, 30, 2, 21, 20, 14, 2, 2, 41, - 75,106, 46, 43,106, 66,118,117,144,157, 26, 62, 31,182, 2, 92,254, 90, 29, 59, 31,102,179,133, 76, 64,111,150,254, 10, 31, 29, -161, 24, 37,195,210,212,202, 10, 8,254, 53, 4, 74,154,254,195, 5, 5, 62,138,219,157,150,213,136, 64, 0, 1, 0, 4,254,127, - 6,203, 5,182, 0, 21, 0,226, 64, 87, 17, 64, 20, 24, 72, 17, 32, 9, 19, 72, 10, 17, 26, 17, 2, 0, 64, 20, 24, 72, 0, 32, - 9, 19, 72, 10, 0, 26, 0, 2, 7, 16, 13, 13, 2, 90, 7, 10, 10,168, 3,184, 3, 2,153, 3, 1,141, 3, 1, 87, 3,103, 3, -119, 3, 3, 3, 3, 3, 18, 6, 0, 14, 15, 16, 15, 64, 12, 24, 72, 15, 17, 15, 21, 90, 4, 18, 1,116, 18,132, 18,196, 18, 3, - 18,184,255,192, 64, 39, 7, 10, 72, 18, 18, 23, 4, 23, 1,240, 23, 1,228, 23, 1,160, 23, 1, 2, 32, 23, 48, 23, 96, 23,112, - 23,144, 23, 5, 15, 23, 1, 8, 9, 8, 5, 8, 6,184,255,240, 64, 19, 6, 6, 22, 19,251, 13, 10, 10, 0, 15, 8, 11, 3, 17, - 95, 5, 3, 0, 18, 0, 63, 50, 50,225, 63, 51, 51, 18, 57, 17, 51, 63, 17, 1, 51, 47, 56, 51, 51, 17, 51, 94, 93, 93, 95, 93, - 93, 93,113, 17, 51, 47, 43, 93,113,225, 51, 51, 47, 43, 56, 51, 50, 17, 18, 57, 47, 95, 93, 93, 93, 93, 51, 17, 51,225, 50, 17, - 51, 94, 93, 43, 43, 93, 43, 43, 49, 48, 33, 1, 17, 35, 17, 1, 35, 1, 1, 51, 1, 17, 51, 17, 1, 51, 1, 1, 51, 17, 35, 17, - 5,174,253,238,179,253,238,211, 2, 33,253,237,205, 2, 10,179, 2, 10,205,253,237, 1,168,195,176, 2,229,253, 27, 2,229,253, - 27, 2,242, 2,196,253, 60, 2,196,253, 60, 2,196,253, 60,253,180,253,217, 1,129, 0, 0, 1, 0, 4,254,131, 6, 4, 4, 74, - 0, 21, 1, 17, 64,108, 39, 16, 55, 16, 2, 41, 14, 57, 14, 2, 38, 9, 54, 9, 2, 39, 10, 55, 10, 2, 39, 4, 55, 4, 2, 39, - 4, 55, 4, 2, 39, 1, 55, 1, 2, 17, 64, 20, 24, 72, 17, 32, 9, 19, 72, 10, 17, 26, 17, 2, 0, 64, 20, 24, 72, 0, 32, 9, - 19, 72, 10, 0, 26, 0, 2, 16, 13, 13, 2, 70, 7, 10, 10,205, 3, 1,185, 3, 1,169, 3, 1,150, 3, 1,135, 3, 1, 3, 3, - 3, 18, 6, 0, 14, 15, 16, 15, 64, 10, 24, 72, 15, 17, 15, 21, 70, 18,184,255,192,179, 18, 21, 72, 18,184,255,192, 64, 23, 7, - 11, 72, 18, 18, 23, 16, 23, 1, 0, 23, 1,228, 23,244, 23, 2,180, 23,196, 23, 2, 23,184,255,192, 64, 19, 13, 17, 72, 48, 23, - 1, 2, 32, 23, 1, 15, 23, 1, 7, 9, 8, 5, 8, 6,184,255,240, 64, 19, 6, 6, 22, 19,251, 13, 10, 10, 0, 15, 8, 11, 15, - 17, 96, 5, 3, 0, 21, 0, 63, 50, 50,225, 63, 51, 51, 18, 57, 17, 51, 63, 17, 1, 51, 47, 56, 51, 51, 17, 51, 94, 93, 93, 95, - 93, 43, 93, 93,113,113, 17, 51, 47, 43, 43,225, 51, 51, 47, 43, 56, 51, 50, 17, 18, 57, 47, 95, 93, 93, 93, 93, 93, 51, 17, 51, -225, 50, 17, 51, 93, 43, 43, 93, 43, 43, 49, 48, 0, 93, 93, 1, 93, 93, 93, 93, 93, 33, 1, 17, 35, 17, 1, 35, 1, 1, 51, 1, - 17, 51, 17, 1, 51, 1, 1, 51, 17, 35, 17, 4,240,254, 67,164,254, 68,207, 1,207,254, 88,197, 1,159,164, 1,160,197,254, 88, - 1, 79,197,174, 2, 45,253,211, 2, 45,253,211, 2, 53, 2, 21,253,235, 2, 21,253,235, 2, 21,253,235,254,101,253,233, 1,125, -255,255, 0, 72,254, 66, 3,236, 5,203, 2, 38, 1,177, 0, 0, 1, 7, 3,127, 1, 72, 0, 0, 0, 17,177, 1, 1,184,255,255, -180, 72, 66, 19, 11, 37, 1, 43, 53, 0, 53, 0,255,255, 0, 68,254, 66, 3, 82, 4, 94, 2, 38, 1,209, 0, 0, 1, 7, 3,127, - 0,242, 0, 0, 0, 17,177, 1, 1,184,255,248,180, 72, 66, 41, 33, 37, 1, 43, 53, 0, 53, 0, 0, 1, 0,199,254,127, 4,236, - 5,182, 0, 16, 0,166, 64, 89, 5, 64, 20, 24, 72,189, 5,205, 5,221, 5, 3, 5, 32, 9, 16, 72, 26, 5, 42, 5, 2, 0, 64, - 20, 24, 72,189, 0,205, 0,221, 0, 3, 0, 32, 9, 16, 72, 26, 0, 42, 0, 2, 6, 16, 16, 8, 14, 15, 16,127, 15,159, 15, 2, - 0, 15, 48, 15, 64, 15, 3, 6, 15, 15, 5, 4, 90, 0, 0, 1, 16, 1, 2, 7, 1, 1, 18,176, 18, 1, 12, 8, 90, 9,100, 17, - 12,184,255,240, 64, 22, 11, 16, 72, 6, 16, 11, 16, 72, 12, 6, 9, 15, 10, 3, 0, 95, 5, 5, 9, 18, 2,251, 0, 63, 63, 51, - 47,225, 63, 51, 18, 57, 57, 43, 43, 1, 16,246,225, 50, 93, 17, 51, 47, 94, 93, 51,225, 50, 51, 47, 94, 93, 93, 56, 51, 18, 57, - 17, 51, 93, 43, 93, 43, 93, 43, 93, 43, 49, 48, 37, 51, 17, 35, 17, 35, 1, 7, 17, 35, 17, 51, 17, 55, 1, 51, 1, 4, 53,183, -177,108,254, 61,139,186,186,121, 1,196,209,253,248,166,253,217, 1,129, 2,186,114,253,184, 5,182,253, 37,168, 2, 51,253,131, - 0, 1, 0,174,254,131, 4, 43, 4, 74, 0, 14, 0,153, 64,106, 8, 64, 20, 24, 72,189, 8,205, 8,221, 8, 3, 8, 32, 9, 16, - 72, 26, 8, 42, 8, 2, 3, 64, 20, 24, 72,189, 3,205, 3,221, 3, 3, 3, 32, 9, 16, 72, 26, 3, 42, 3, 2, 8, 7, 70, 0, - 1,118, 1,134, 1, 2,109, 1, 1, 85, 1, 1, 43, 1, 59, 1, 75, 1, 3, 20, 1, 1, 11, 1, 1, 6, 3, 1, 0, 4, 16, 4, - 2, 4, 4, 16, 14, 2, 10, 71, 11, 84, 15, 9, 2, 14, 14, 0, 11, 3, 80, 8, 21, 5,251, 12, 0, 15, 0, 63, 50, 63, 63,225, - 51, 18, 57, 17, 51, 51, 1, 16,246,225, 50, 50, 17, 51, 47, 93, 51, 51, 94, 93, 93, 93, 93, 93, 93, 17, 51,225, 50, 93, 43, 93, - 43, 93, 43, 93, 43, 49, 48, 1, 51, 1, 1, 51, 17, 35, 17, 35, 1, 17, 35, 17, 51, 17, 2,250,196,254, 97, 1, 75,193,174,102, -254, 75,180,180, 4, 74,253,241,254, 95,253,233, 1,125, 2, 45,253,211, 4, 74,253,235, 0, 1, 0,199, 0, 0, 4,162, 5,182, - 0, 18, 0,151,185, 0, 15,255,224, 64, 93, 18, 21, 72, 80, 15, 96, 15, 2, 34, 15, 50, 15, 66, 15, 3, 2, 64, 9, 13, 72, 11, - 7, 90, 8, 52, 18, 84, 18, 2, 18, 15, 87, 3, 1, 3, 12, 29, 4, 1, 11, 4, 1, 4, 4, 0, 8,100, 19, 16, 17, 17, 1, 0, - 16, 0, 0, 16, 0, 2, 7, 0, 0, 20,176, 20, 1, 47, 20, 1, 16, 20, 1, 11, 5, 9, 8, 32, 4, 48, 4, 64, 4, 3, 4, 13, - 4, 13, 16, 9, 3, 8, 0, 18, 0, 63, 50, 63, 51, 57, 57, 47, 47, 93, 17, 18, 57, 57, 1, 93, 93, 93, 17, 51, 47, 94, 93, 56, - 51, 51, 17, 51, 16,230, 17, 57, 47, 93, 93, 51,193, 93, 50, 50, 93, 16,225, 50, 49, 48, 0, 43, 93, 93, 43, 33, 35, 1, 21, 35, - 17, 7, 17, 35, 17, 51, 17, 55, 17, 51, 21, 1, 51, 1, 4,162,211,254,174,133,119,186,186,119,133, 1, 65,209,253,248, 1,244, -205, 1,100, 98,253,215, 5,182,253, 6,164, 1, 99,179, 1,166,253,101, 0, 1, 0,174, 0, 0, 4, 35, 4, 74, 0, 19, 0,156, -181, 17, 64, 11, 17, 72, 10,184,255,192,179, 11, 17, 72, 14,184,255,240, 64, 87, 8, 13, 72, 14, 10, 38, 18, 1, 18, 7,137, 19, -153, 19,169, 19, 3, 31, 19, 47, 19, 63, 19, 3, 11, 19, 1, 19, 19, 15, 6, 2, 71, 3, 84, 20, 11, 12, 12, 16, 15, 16, 32, 15, - 48, 15, 2, 15, 15, 21, 0, 21, 16, 21, 2, 0, 21, 64, 21, 96, 21,128, 21,160, 21,192, 21,224, 21, 7, 7, 14, 13, 6, 6, 8, - 19, 8, 19, 8, 2, 11, 4, 15, 16, 2, 21, 0, 63, 51, 63, 51, 18, 57, 57, 47, 47, 18, 57, 17, 51, 51, 1, 94, 93,113, 17, 51, - 47, 93, 56, 51, 51, 17, 51, 16,246,225, 50, 18, 57, 47, 93, 93, 93, 51,193, 93, 50, 50, 43, 49, 48, 0, 43, 43, 1, 39, 17, 35, - 17, 51, 17, 55, 17, 51, 21, 19, 51, 1, 21, 1, 35, 1, 21, 35, 1,207,109,180,180,109,125,235,197,254, 80, 1,215,207,254,248, -125, 1,178,123,253,211, 4, 74,253,235,123, 1, 70,185, 1, 13,254, 22, 73,253,233, 1, 39,205, 0, 1, 0, 47, 0, 0, 4,162, - 5,182, 0, 20, 0,133, 64, 64, 2, 20,102, 20, 1, 20, 19, 4, 64, 14, 80, 14, 2, 14, 14, 0, 16, 12, 4, 90, 9, 7, 5,100, - 21, 18, 19, 16, 19, 19, 1, 0, 16, 0, 0, 16, 0, 2, 7, 0, 0, 22,176, 22, 1, 47, 22, 1, 16, 22, 1, 15, 6, 95, 12, 9, - 9, 0, 2, 16, 11, 16, 72, 16,184,255,240, 64, 12, 11, 16, 72, 16, 2, 5, 18, 10, 3, 5, 0, 18, 0, 63, 50, 63, 51, 18, 57, - 57, 43, 43, 18, 57, 47, 51,225, 50, 1, 93, 93, 93, 17, 51, 47, 94, 93, 56, 51, 51, 47, 56, 51, 16,246,198, 51,225, 50, 50, 18, - 57, 47, 93, 17, 18, 57, 93, 17, 51, 49, 48, 33, 35, 1, 7, 17, 35, 17, 35, 53, 51, 53, 51, 21, 51, 21, 35, 17, 55, 1, 51, 1, - 4,162,211,254, 61,139,186,152,152,186,213,213,121, 1,196,209,253,248, 2,186,114,253,184, 4, 96,164,178,178,164,254,123,168, - 2, 51,253,131, 0, 1, 0, 18, 0, 0, 3,240, 6, 20, 0, 22, 0,132, 64, 15, 17, 14, 14, 15, 4, 8, 9, 3, 19, 71, 20, 0, - 6, 1, 6,184,255,192,179, 16, 21, 72, 6,184,255,192, 64, 53, 9, 14, 72, 6, 6, 15, 22, 1, 20, 84, 23, 12, 13, 16, 13, 15, - 16, 53, 15, 1, 0, 15, 16, 15, 32, 15, 3, 8, 15, 15, 24, 15, 24, 1, 9, 17, 2, 20, 20, 15, 7, 21, 79, 4, 1, 1, 2, 15, - 21, 12, 15, 2, 0, 0, 63, 63, 63, 18, 57, 47, 51,225, 50, 17, 51, 17, 18, 57, 57, 1, 93, 17, 51, 47, 94, 93, 93, 56, 51, 51, - 17, 51, 16,246, 50,198, 18, 57, 47, 43, 43,113, 16,225, 23, 50, 17, 57, 17, 51, 49, 48, 19, 51, 53, 51, 21, 33, 21, 33, 17, 3, - 51, 55, 1, 51, 1, 1, 35, 1, 7, 17, 35, 17, 35, 18,156,180, 1,123,254,133, 16, 4,135, 1, 37,211,254,111, 1,172,209,254, -176,109,180,156, 5, 94,182,182,137,254,117,254,237,170, 1,105,254, 37,253,145, 1,248, 82,254, 90, 4,213, 0, 0, 1, 0, 20, - 0, 0, 5, 68, 5,182, 0, 14, 0, 87, 64, 51, 2, 14, 14, 13, 10, 4, 90, 32, 5, 48, 5, 64, 5,128, 5,240, 5, 5, 5, 5, - 0, 7, 12, 13, 13, 1, 0, 16, 0, 0, 16, 0, 2, 7, 0, 0, 16, 16, 16, 1, 2, 10, 5, 12, 7, 95, 8, 3, 5, 0, 18, 0, - 63, 50, 63,225, 51, 18, 57, 57, 1, 93, 17, 51, 47, 94, 93, 56, 51, 51, 17, 51, 47, 18, 57, 47, 93,225, 50, 17, 57, 17, 51, 49, - 48, 33, 35, 1, 7, 17, 35, 17, 33, 53, 33, 17, 55, 1, 51, 1, 5, 68,211,254, 61,139,187,254,172, 2, 15,121, 1,196,209,253, -248, 2,186,114,253,184, 5, 18,164,253, 37,168, 2, 51,253,131, 0, 1, 0, 41, 0, 0, 4,201, 4, 74, 0, 13, 0,103, 64, 64, - 2, 13, 13, 11, 6, 71, 0, 7, 1, 0, 7, 16, 7, 32, 7, 96, 7,192, 7, 5, 8, 7, 7, 3, 9, 0, 1,213, 1,245, 1, 2, - 1, 4, 3, 16, 0, 3, 16, 3, 2, 3, 3, 15, 64, 15,224, 15, 2, 15, 15, 1, 2, 13, 13, 7, 9, 80, 0, 10, 15, 7, 3, 21, - 0, 63, 51, 63, 51,225, 18, 57, 17, 51, 1, 93, 93, 17, 51, 47, 93, 56, 51, 51, 93, 17, 51, 47, 18, 57, 47, 94, 93,113,225, 50, - 50, 17, 51, 49, 48, 1, 51, 1, 1, 35, 1, 17, 35, 17, 33, 53, 33, 7, 17, 3,221,197,254, 96, 1,199,207,254, 76,181,254,152, - 2, 31, 2, 4, 74,253,241,253,197, 2, 45,253,211, 3,176,154, 2,253,237, 0, 0, 1, 0,229,254,127, 5,164, 5,182, 0, 15, - 0, 99, 64, 63, 4, 90, 4, 1, 1,116, 1,132, 1,148, 1, 3, 1, 1, 17, 13, 5, 90, 0, 17,228, 17,244, 17, 2,192, 17, 1, - 2, 16, 17, 32, 17, 64, 17,128, 17, 4, 12, 8, 90, 9,100, 16, 7, 95, 15, 12, 1, 8, 12, 12, 5, 14, 10, 3, 9, 0, 95, 5, - 18, 2,251, 0, 63, 63,225, 51, 63, 51, 18, 57, 47, 94, 93,225, 1, 16,246,225, 50, 93, 95, 93, 93, 16,220,225, 50, 17, 51, 47, - 93,113,225, 49, 48, 37, 51, 17, 35, 17, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 4,244,176,176,187,253,103,187,187, 2,153, -187,166,253,217, 1,129, 2,170,253, 86, 5,182,253,152, 2,104, 0, 1, 0,174,254,131, 4,219, 4, 74, 0, 15, 0,121, 64, 82, - 8, 0, 71, 4, 11, 1, 11, 11, 15, 71,196, 12,212, 12, 2, 12, 12, 17, 4, 17, 36, 17, 2,212, 17,244, 17, 2,176, 17, 1, 2, - 48, 17, 64, 17, 80, 17,128, 17,144, 17,160, 17, 6, 7, 3, 71, 4, 84, 16, 13,251, 2, 80,235, 7, 1,169, 7,185, 7, 2, 15, - 7, 31, 7, 47, 7, 3, 6, 7, 7, 0, 9, 5, 15, 11, 80, 4, 0, 21, 0, 63, 50,225, 63, 51, 18, 57, 47, 94, 93, 93, 93,225, - 63, 1, 16,246,225, 50, 93, 95, 93, 93,113, 17, 51, 47, 93,225, 51, 47, 93,225, 50, 49, 48, 33, 17, 33, 17, 35, 17, 51, 17, 33, - 17, 51, 17, 51, 17, 35, 17, 3,133,253,223,182,182, 2, 33,182,160,182, 1,233,254, 23, 4, 74,254, 57, 1,199,252, 80,253,233, - 1,125, 0, 1, 0,229, 0, 0, 6, 72, 5,182, 0, 13, 0, 93, 64, 59, 9, 1, 90, 0, 0, 5, 64, 11, 1,224, 11, 1, 11, 15, - 32, 15, 1, 0, 15, 16, 15, 48, 15, 64, 15, 96, 15,160, 15,176, 15,224, 15, 8, 6, 8, 4, 90, 5,100, 14, 13, 95, 10, 10, 6, - 3, 95, 15, 8, 1, 8, 8, 8, 6, 3, 5, 0, 18, 0, 63, 50, 63, 57, 47, 94, 93,225, 17, 51, 47,225, 1, 16,246,225, 50, 94, - 93,113, 16,198, 93,113, 17, 57, 47,225, 50, 49, 48, 33, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 33, 21, 33, 4,244,187,253,103, -187,187, 2,153, 2, 15,254,172, 2,170,253, 86, 5,182,253,152, 2,104,164, 0, 0, 1, 0,174, 0, 0, 5,164, 4, 74, 0, 13, - 0,104, 64, 33, 8, 4, 71, 5, 9, 1, 71, 0, 0, 11, 5, 84, 14, 11, 11, 15, 0, 15, 32, 15, 2,144, 15,176, 15,192, 15,208, - 15,240, 15, 5, 15,184,255,192, 64, 31, 7, 12, 72, 3, 80,235, 8, 1,169, 8,185, 8, 2, 15, 8, 31, 8, 47, 8, 3, 6, 8, - 8, 0, 13, 10, 6, 15, 5, 0, 21, 0, 63, 50, 63, 51,196, 18, 57, 47, 94, 93, 93, 93,225, 1, 43, 93,113, 17, 51, 47, 16,230, - 17, 57, 47,225, 50, 16,225, 50, 49, 48, 33, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 33, 21, 33, 4, 59,182,253,223,182,182, 2, - 33, 2, 31,254,151, 1,233,254, 23, 4, 74,254, 57, 1,199,154, 0, 1, 0,199,254, 0, 7,219, 5,182, 0, 39, 0, 95, 64, 58, - 9, 11, 1, 7, 18, 18, 0, 32, 90, 33, 33, 37, 24, 91, 8, 41,111, 41, 1, 36, 90, 37,100, 40, 29, 96, 15, 3, 47, 3, 63, 3, - 3, 15, 3, 63, 3,223, 3,255, 3, 4, 8, 3, 3, 37, 35, 95, 38, 3, 33, 37, 18, 19, 22, 95, 13, 28, 0, 63,225, 51, 63, 51, - 63,225, 18, 57, 47, 94, 93,113,225, 1, 16,246,225, 93, 16,222,225, 17, 57, 47,225, 50, 57, 47, 49, 48, 0, 94, 93, 1, 54, 54, - 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 39, 53, 22, 22, 51, 32, 17, 52, 46, 2, 35, 34, 7, 17, 35, 17, 33, 17, 35, 17, - 33, 4,193, 30, 73, 46,154,240,165, 86, 82,146,201,118, 49, 78, 67, 61, 31, 63,126, 73, 1,119, 67,124,174,107, 75, 51,187,253, -123,186, 3,250, 3, 27, 5, 3, 92,171,242,151,170,248,162, 79, 6, 12, 19, 12,162, 23, 24, 1,239,121,185,126, 64, 12,253,137, - 5, 18,250,238, 5,182, 0, 1, 0,174,254, 10, 6,117, 4, 74, 0, 36, 0,119, 64, 78, 11, 35, 27, 35, 2, 3, 3, 25, 17, 71, - 2, 18, 1,194, 18, 1,166, 18,182, 18, 2,119, 18,135, 18, 2, 18, 18, 22, 10, 72, 32, 38, 15, 38, 31, 38, 2, 79, 38, 95, 38, -175, 38,255, 38, 4, 16, 38, 1, 21, 71, 22, 84, 37, 13, 81, 11, 27, 27, 27, 2, 7, 27, 27, 22, 20, 80, 23, 15, 18, 22, 21, 4, - 7, 81, 0, 27, 0, 63,225, 51, 63, 51, 63,225, 18, 57, 47, 94, 93,225, 1, 16,246,225, 93, 93,113, 16,222,225, 17, 57, 47, 93, - 93, 93,113,225, 50, 57, 47, 49, 48, 0, 93, 1, 34, 38, 39, 53, 22, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 7, 17, 35, 17, 33, - 17, 35, 17, 33, 17, 54, 51, 50, 30, 2, 21, 20, 14, 2, 4,217, 75,106, 46, 43,106, 66,118,117,144,157, 28, 62, 31,182,254, 8, -182, 3,100, 58, 63,102,179,133, 76, 64,111,150,254, 10, 31, 29,161, 24, 37,195,210,212,202, 10, 8,254, 53, 3,176,252, 80, 4, - 74,254, 39, 12, 62,138,219,157,150,213,136, 64, 0, 2, 0,125,255,172, 5,150, 5,205, 0, 62, 0, 82, 0,122, 64, 80, 5, 78, - 16, 50, 4, 0, 73, 91, 0, 32, 16, 32, 2, 53, 32, 53, 32, 24, 63, 91, 0,103, 84, 15, 84, 31, 84, 79, 84, 95, 84,127, 84,159, - 84,175, 84, 7, 7, 43, 91, 24,102, 83, 68, 96, 78, 5, 0, 58, 16, 58, 32, 58, 96, 58,112, 58,128, 58, 6, 58, 58, 7, 38, 95, - 33, 29, 4, 16, 50, 48, 95, 19, 7, 95, 14, 14, 19, 19, 0, 63, 51, 47,225, 16,225, 50, 57, 63, 51,225, 18, 57, 47, 93, 57, 57, -225, 1, 16,246,225, 94, 93, 16,246,225, 17, 57, 57, 47, 47, 93,225, 18, 23, 57, 49, 48, 1, 20, 14, 2, 7, 22, 51, 50, 54, 55, - 21, 6, 6, 35, 34, 39, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, 7, 46, 3, 35, 34, 14, 2, 21, 20, 30, - 2, 51, 50, 55, 38, 2, 53, 52, 62, 2, 51, 50, 30, 2, 7, 52, 46, 2, 35, 34, 14, 2, 21, 20, 30, 2, 23, 62, 3, 5,111, 39, - 65, 85, 45, 54, 81, 37, 70, 31, 29, 79, 38,166,139, 50,124, 60,150,232,157, 81, 77,158,242,166, 66,120, 37, 53, 10, 40, 48, 51, - 21,118,169,108, 51, 60,112,160,100, 48, 38, 79, 91, 55, 96,131, 76, 75,133, 98, 57,197, 22, 42, 61, 39, 41, 61, 41, 21, 24, 41, - 54, 31, 42, 66, 46, 24, 2,166,101,175,144,111, 36, 25, 14, 11,170, 13, 12, 98, 17, 17,106,192, 1, 14,165,181, 1, 31,199,105, - 22, 15,156, 5, 10, 9, 5, 81,154,222,141,148,218,144, 70, 7,105, 1, 22,155,133,193,123, 59, 56,123,198,149, 84,137, 99, 54, - 55, 98,135, 80, 72,133,118,101, 39, 33, 98,119,136, 0, 0, 2, 0,113,255,197, 4,164, 4, 94, 0, 13, 0, 77, 0,121, 64, 73, - 68, 5, 17, 50, 4, 63, 0, 72, 84, 33,100, 33, 2, 53, 33, 53, 33, 25, 8, 72, 63, 74, 74, 63, 87, 79,123, 79,139, 79,187, 79, - 3, 95, 79,111, 79, 2, 27, 79, 1, 15, 79, 1, 7, 2, 42, 72, 25, 86, 78, 11, 68, 5, 58, 58, 71, 37, 80, 34, 30, 16, 17, 50, - 47, 80, 20, 71, 80, 14, 14, 20, 22, 0, 63, 51, 47,225, 16,225, 50, 57, 63, 51,233, 18, 57, 47, 57, 57,193, 1, 16,246,225, 95, - 94, 93, 93, 93, 93, 16,230, 50, 47, 16,225, 17, 57, 57, 47, 47, 93,225, 18, 23, 57, 49, 48, 1, 20, 30, 2, 23, 54, 54, 53, 52, - 38, 35, 34, 6, 1, 34, 38, 39, 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, 20, 30, - 2, 51, 50, 54, 55, 38, 38, 53, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 7, 22, 22, 51, 50, 54, 55, 21, 6, 6, 2,221, 20, - 32, 42, 21, 57, 72, 56, 61, 62, 65, 1, 76, 69,136, 57, 40, 98, 71,117,179,122, 63, 60,120,180,121, 66, 82, 26, 41, 19, 74, 42, - 84,112, 67, 28, 30, 67,110, 80, 37, 50, 3, 57, 74, 49, 85,114, 65, 64,111, 82, 46, 30, 52, 69, 39, 20, 55, 29, 26, 57, 28, 25, - 66, 1,244, 53, 92, 75, 57, 18, 40,150,107,103,122,122,253,104, 42, 37, 17, 23, 87,151,204,117,131,214,151, 83, 16, 6,150, 5, - 16, 58,111,160,103, 89,148,107, 60, 8, 2, 66,180,119, 94,136, 89, 43, 39, 86,138, 99, 70,120, 99, 77, 27, 10, 13, 6, 8,147, - 9, 7,255,255, 0,125,254, 66, 4,152, 5,203, 2, 38, 0, 38, 0, 0, 1, 7, 3,127, 2, 47, 0, 0, 0, 14,183, 1, 1,117, - 50, 44, 24, 32, 37, 1, 43, 53, 0, 53,255,255, 0,113,254, 66, 3,111, 4, 94, 2, 38, 0, 70, 0, 0, 1, 7, 3,127, 1,113, - 0, 0, 0, 14,183, 1, 1, 82, 46, 40, 5, 13, 37, 1, 43, 53, 0, 53, 0, 1, 0, 20,254,127, 4, 18, 5,182, 0, 11, 0,111, - 64, 57, 31, 13, 1,224, 13, 1, 95, 13,223, 13, 2, 32, 13, 48, 13, 64, 13, 3, 4, 90, 15, 1, 31, 1, 2, 7, 1, 1,175, 10, -239, 10, 2, 10, 10, 11, 90, 6, 64, 7,224, 7, 2, 15, 7, 1, 8, 7, 7, 87, 6,103, 6,119, 6, 3, 6,184,255,192, 64, 15, - 7, 10, 72, 6, 11, 7, 95, 8, 3, 0, 95, 5, 18, 2,251, 0, 63, 63,225, 63,225, 50, 1, 47, 43, 93, 51, 47, 94, 93, 93, 16, -225, 50, 47, 93, 57, 47, 94, 93,225, 93, 93, 93,113, 49, 48, 37, 51, 17, 35, 17, 35, 17, 33, 53, 33, 21, 33, 2,113,176,176,187, -254, 94, 3,254,254, 95,166,253,217, 1,129, 5, 18,164,164, 0, 0, 1, 0, 41,254,131, 3, 94, 4, 74, 0, 11, 0,111, 64, 77, -240, 13, 1,175, 13, 1, 64, 13, 80, 13, 2, 47, 13, 1, 11, 71,175, 8,191, 8,207, 8, 3, 8, 64, 7, 10, 72, 8, 8,223, 5, - 1,157, 5, 1,143, 5, 1, 5, 5, 7, 71, 0, 96, 2,112, 2,208, 2, 3, 31, 2, 1, 2, 2, 0, 0, 16, 0,176, 0,192, 0, - 4, 0, 9,251, 6, 2, 80, 3, 15, 7, 80, 0, 21, 0, 63,225, 63,225, 50, 63, 1, 47, 93, 51, 47, 93, 93, 16,225, 50, 47, 93, - 93, 93, 57, 47, 43, 93,225, 93, 93, 93, 93, 49, 48, 33, 17, 33, 53, 33, 21, 33, 17, 51, 17, 35, 17, 1,104,254,193, 3, 53,254, -193,159,182, 3,176,154,154,252,234,253,233, 1,125, 0,255,255, 0, 0, 0, 0, 4, 55, 5,182, 2, 6, 0, 60, 0, 0, 0, 1, - 0, 0,254, 20, 3,213, 4, 74, 0, 19, 0,124, 64, 19, 10, 10, 0, 71,166, 1, 1,135, 1,151, 1, 2, 1, 1, 3, 17, 18, 16, - 18,184,255,192,179, 18, 21, 72, 18,184,255,192, 64, 32, 7, 11, 72, 18, 18, 21,240, 21, 1,223, 21,239, 21, 2, 80, 21,144, 21, -160, 21, 3, 79, 21, 1, 48, 21, 1, 15, 21, 1, 4, 3,184,255,240, 64, 16, 3, 17, 3, 15, 5, 10, 21, 10, 2, 7, 19, 10, 2, - 21, 0, 27, 0, 63, 63, 51, 51, 94, 93, 63, 51, 1, 47, 56, 51, 93, 93, 93, 93, 93, 93, 17, 51, 47, 43, 43, 56, 51, 18, 57, 47, - 93, 93,225, 57, 61, 47, 49, 48, 1, 35, 17, 1, 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 51, 1, 2, 70,183,254,113,188,199, 16, - 32, 27, 20, 5, 7, 4, 21, 27, 32, 16,199,188,254,113,254, 20, 1,232, 4, 78,253,207, 46,100, 94, 79, 25, 25, 79, 94,100, 46, - 2, 49,251,178, 0, 1, 0, 0, 0, 0, 4, 55, 5,182, 0, 16, 0,159, 64, 25,239, 18, 1, 18, 64, 9, 12, 72, 0, 0, 4, 8, - 90, 9, 13, 9,150, 9, 1,119, 9,135, 9, 2, 6,184,255,192, 64, 13, 21, 24, 72, 11, 9, 6, 6, 9, 11, 3, 2, 16, 15,184, -255,240, 64, 56,171, 15, 1,144, 15, 1, 20, 15, 1, 15, 1, 2, 16, 16, 2, 1,239, 2, 1,208, 2, 1,191, 2, 1,128, 2, 1, - 79, 2, 95, 2, 2, 20, 2, 1, 0, 2, 1, 7, 2, 2, 18, 7, 10, 95, 4, 0, 13, 13, 1, 8, 18, 15, 1, 3, 0, 63, 51, 63, - 18, 57, 47, 57, 51,225, 50, 17, 1, 51, 47, 94, 93, 93, 93, 93, 93, 93, 93,113, 56, 51, 47, 93, 93, 93, 56, 51, 18, 23, 57, 47, - 47, 47, 43, 93, 93, 17, 51, 16,225, 50, 57, 61, 47, 43, 93, 49, 48, 1, 1, 51, 1, 21, 33, 21, 33, 17, 35, 17, 33, 53, 33, 53, - 1, 51, 2, 27, 1, 84,200,254, 66, 1, 39,254,217,187,254,218, 1, 38,254, 66,203, 2,211, 2,227,252,131, 61,164,254,168, 1, - 88,164, 51, 3,135, 0, 0, 1, 0, 0,254, 20, 3,213, 4, 74, 0, 25, 0,133, 64, 21, 14, 14, 23, 1, 71, 6,166, 2, 1,135, - 2,151, 2, 2, 2, 2, 7, 21, 22, 16, 22,184,255,192,179, 18, 21, 72, 22,184,255,192, 64, 32, 7, 11, 72, 22, 22, 27,240, 27, - 1,223, 27,239, 27, 2, 80, 27,144, 27,160, 27, 3, 79, 27, 1, 48, 27, 1, 15, 27, 1, 8, 7,184,255,240, 64, 19, 7, 21, 7, - 15, 0, 3, 79, 5, 14, 21, 14, 2, 7, 14, 23, 6, 21, 1, 27, 0, 63, 63, 51, 51, 94, 93,225, 50, 63, 51, 1, 47, 56, 51, 93, - 93, 93, 93, 93, 93, 17, 51, 47, 43, 43, 56, 51, 18, 57, 47, 93, 93, 51,225, 50, 57, 61, 47, 49, 48, 5, 17, 35, 17, 33, 53, 33, - 1, 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 51, 1, 33, 21, 2, 70,183,254,246, 1, 8,254,115,188,199, 16, 32, 27, 20, 5, 7, - 4, 21, 27, 32, 16,199,188,254,113, 1, 10,137,254,157, 1, 99,137, 4, 74,253,207, 46,100, 94, 79, 25, 25, 79, 94,100, 46, 2, - 49,251,182,137, 0, 1, 0, 0,254,127, 4,180, 5,182, 0, 15, 1, 6, 64,136, 71, 15, 1, 72, 9, 1, 3, 15, 0, 11, 6, 5, - 10, 7, 14, 7, 12, 0, 11, 9, 5, 10, 8, 13, 8, 12, 15, 0, 11, 0, 9, 6, 5, 10, 5, 9, 12, 15, 3, 6, 6, 14, 8, 10, - 5, 1,170, 5,186, 5,202, 5,234, 5,250, 5, 5, 5, 48, 11, 14, 72, 5, 4, 90, 1, 13, 14, 16, 11, 14, 1,171, 14,187, 14, -203, 14,235, 14,251, 14, 5, 14, 64, 11, 14, 72, 14, 10, 0, 1,170, 0,186, 0,202, 0,234, 0,250, 0, 5, 0, 48, 11, 14, 72, - 14, 0, 4, 1, 20, 1, 2, 7, 1, 1, 17,212, 17,228, 17,244, 17, 3,192, 17, 1, 2, 32, 17, 64, 17, 2, 17,184,255,192, 64, - 11, 16, 20, 72, 15, 17, 1, 11, 10, 10, 7, 8,184,255,240, 64, 20, 8, 40, 6, 1, 39, 12, 1, 12, 6, 5, 13, 10, 3, 7, 0, - 95, 5, 18, 2,251, 0, 63, 63,225, 51, 63, 51, 18, 57, 57, 93, 93, 1, 47, 56, 51, 51, 17, 51, 93, 43, 93, 95, 93, 93, 17, 51, - 47, 94, 93, 51, 51, 43, 93,113, 47, 43, 93,113, 56, 51, 16,225, 50, 43, 93,113, 17, 18, 57, 61, 47, 23, 51, 16,135, 14,192, 4, -192, 16,135,192, 14,192, 16,135, 8,192, 8,192, 16,135, 8,192, 8,192, 1, 95, 93, 93, 49, 48, 37, 51, 17, 35, 17, 35, 1, 1, - 35, 1, 1, 51, 1, 1, 51, 1, 3,254,182,176,119,254,158,254,145,188, 1,197,254, 90,198, 1, 76, 1, 78,190,254, 91,166,253, -217, 1,129, 2,123,253,133, 2,252, 2,186,253,209, 2, 47,253, 76, 0, 0, 1, 0, 35,254,131, 4, 31, 4, 74, 0, 15, 1, 57, - 64, 37, 89, 13, 1, 86, 3, 1,180, 12, 1, 12, 32, 14, 17, 72, 61, 12, 1, 41, 12, 1, 11, 12, 27, 12, 2, 12, 11, 70, 8, 0, - 3, 6, 3, 13, 13, 1, 4,184,255,240, 64,113, 21, 24, 72,181, 4, 1,153, 4,169, 4, 2,106, 4,122, 4,138, 4, 3, 69, 4, - 85, 4, 2, 6, 4, 1, 4, 5,219, 2,235, 2,251, 2, 3,201, 2, 1,187, 2, 1,150, 2,166, 2, 2,101, 2,117, 2,133, 2, - 3, 74, 2, 90, 2, 2, 2, 1,223, 5,239, 5,255, 5, 3, 5, 64, 14, 17, 72, 59, 5, 75, 5, 2, 39, 5, 1, 10, 5, 26, 5, - 2, 52, 1, 68, 1, 2, 40, 1, 1, 5, 1, 21, 1, 2, 5, 1, 5, 1, 15, 59, 7, 1, 7, 32, 14, 17, 72, 7, 8,184,255,192, - 64, 73, 7, 12, 72, 8, 8, 17, 96, 17,128, 17,144, 17,176, 17,208, 17,224, 17,240, 17, 7,219, 14, 1,201, 14, 1,186, 14, 1, -101, 14,117, 14,133, 14, 3, 74, 14, 90, 14, 2, 9, 14, 1, 14, 59, 15, 75, 15, 2, 40, 15, 1, 5, 15, 21, 15, 2, 15, 3, 13, - 1, 14, 7, 80, 12, 21, 9,251, 4, 1, 15, 0, 63, 51, 63, 63,225, 51, 18, 57, 57, 1, 47, 93, 93, 93,197, 93, 93, 93, 93, 93, - 93, 93, 17, 51, 47, 43, 51, 43, 93, 18, 57, 57, 47, 47, 93, 93, 93, 93, 93, 93, 43, 93, 16,197, 93, 93, 93, 93, 93, 93, 16,197, - 93, 93, 93, 93, 93, 43, 18, 57, 61, 47, 23, 51, 16,225, 50, 93, 93, 93, 43, 93, 49, 48, 0, 93, 93, 1, 1, 51, 19, 19, 51, 1, - 1, 51, 17, 35, 17, 35, 1, 1, 35, 1,152,254,159,207,250,250,207,254,157, 1, 15,170,174,101,254,244,254,242,207, 2, 51, 2, - 23,254,102, 1,154,253,233,254,103,253,233, 1,125, 1,180,254, 76, 0, 0, 1, 0, 20,254,127, 6, 96, 5,182, 0, 15, 0,148, - 64, 13, 1, 90, 4, 4, 8, 90, 16, 5, 1,208, 5, 1, 5,184,255,192, 64, 68, 7, 18, 72, 5, 5, 17,223, 17, 1,160, 17, 1, - 15, 17, 47, 17, 79, 17,143, 17, 4, 7, 16, 14, 32, 14, 64, 14, 80, 14, 96, 14,128, 14, 6, 14, 14, 0, 90, 9, 15, 11, 31, 11, - 47, 11, 95, 11,111, 11,175, 11, 6, 8, 11, 11, 48, 9, 64, 9, 80, 9,128, 9,144, 9, 5, 9,184,255,192, 64, 17, 7, 10, 72, - 9, 15, 11, 95, 2, 12, 3, 4, 0, 95, 9, 18, 6,251, 0, 63, 63,225, 50, 63, 51,225, 50, 1, 47, 43, 93, 51, 47, 94, 93, 16, -225, 50, 47, 93, 94, 93, 93, 93, 17, 51, 47, 43, 93,113,225, 51, 47,225, 49, 48, 37, 33, 17, 51, 17, 51, 17, 35, 17, 33, 17, 33, - 53, 33, 21, 33, 2,113, 2,133,186,176,176,252, 6,254, 94, 3,254,254, 95,166, 5, 16,250,240,253,217, 1,129, 5, 18,164,164, - 0, 1, 0, 41,254,131, 5,109, 4, 74, 0, 15, 0,128,182, 11, 71, 14, 14, 2, 71, 15,184,255,192,179, 14, 24, 72, 15,184,255, -192, 64, 51, 7, 11, 72, 15, 15, 17, 15, 17, 31, 17, 47, 17, 79, 17,191, 17,223, 17, 6, 7, 96, 8,224, 8,240, 8, 3, 8, 8, - 10, 71, 3, 31, 5,239, 5,255, 5, 3, 5, 5, 0, 3, 16, 3, 96, 3,112, 3, 4, 3,184,255,192, 64, 17, 20, 24, 72, 3, 9, - 5, 80, 12, 6, 15, 14, 10, 80, 3, 21, 0,251, 0, 63, 63,225, 50, 63, 51,225, 50, 1, 47, 43, 93, 51, 47, 93, 16,225, 50, 47, - 93, 94, 93, 17, 51, 47, 43, 43,225, 51, 47,225, 49, 48, 1, 35, 17, 33, 17, 33, 53, 33, 21, 33, 17, 33, 17, 51, 17, 51, 5,109, -183,252,178,254,193, 3, 53,254,193, 1,248,182,160,254,131, 1,125, 3,176,154,154,252,234, 3,176,252, 80, 0, 0, 1, 0,166, -254,127, 5, 49, 5,182, 0, 29, 0, 99, 64, 18, 11, 13, 27, 13, 2, 26, 4, 90,144, 29,160, 29, 2, 29, 29, 3, 90, 0,184,255, -192, 64, 44, 7, 16, 72, 0, 0, 31, 15, 31, 31, 31, 47, 31, 79, 31, 95, 31,127, 31,175, 31,191, 31, 8, 7, 18, 90, 15,100, 30, - 21, 95, 26, 10, 10, 4, 27, 16, 3, 29, 95, 4, 18, 1,251, 0, 63, 63,225, 63, 51, 18, 57, 47, 51,225, 1, 16,246,225, 94, 93, - 17, 51, 47, 43,225, 51, 47, 93,225, 50, 49, 48, 93, 37, 17, 35, 17, 35, 17, 14, 3, 35, 34, 46, 2, 53, 17, 51, 17, 20, 22, 51, - 50, 62, 2, 55, 17, 51, 17, 5, 49,176,186, 58,105, 99, 97, 49, 93,146,101, 53,186,105,123, 45, 90, 94,102, 56,186,166,253,217, - 1,129, 2, 86, 22, 34, 22, 12, 49, 94,139, 89, 2, 71,253,209,115,116, 10, 20, 30, 20, 2,198,250,240, 0, 1, 0,154,254,131, - 4,158, 4, 74, 0, 28, 0, 97, 64, 23, 11, 9, 27, 9, 43, 9, 3, 7, 21, 0, 71, 24, 24, 28, 71, 0, 25, 16, 25, 32, 25, 3, - 25,184,255,192, 64, 37, 14, 21, 72, 25, 25, 30, 15, 30, 95, 30,127, 30,191, 30,207, 30, 5, 14, 71, 11, 84, 29, 26,251, 21, 16, - 80, 6, 6, 0, 22, 12, 15, 24, 80, 0, 21, 0, 63,225, 63, 51, 18, 57, 47,225, 51, 63, 1, 16,246,225, 93, 17, 51, 47, 43, 93, -225, 51, 47,225, 50, 49, 48, 94, 93, 33, 17, 14, 3, 35, 34, 46, 2, 53, 17, 51, 17, 20, 51, 50, 62, 2, 55, 17, 51, 17, 51, 17, - 35, 17, 3, 72, 44, 80, 85, 94, 58, 78,122, 82, 43,182,184, 45, 80, 76, 77, 42,182,160,183, 1,233, 30, 48, 32, 17, 47, 84,115, - 68, 1,166,254,102,174, 15, 28, 43, 29, 1,213,252, 80,253,233, 1,125, 0, 1, 0,166, 0, 0, 4,129, 5,182, 0, 29, 0,112, - 64, 46, 11, 4, 27, 4, 2, 28, 15, 29, 4, 14, 20, 14, 2, 7, 14, 14, 6, 19, 23, 90, 22,101, 31,112, 31,160, 31, 2, 47, 31, - 1, 16, 31, 1, 9, 90, 96, 6,112, 6,160, 6,176, 6, 4, 6,184,255,192, 64, 22, 7, 10, 72, 6, 14, 16, 14, 29, 19, 27, 29, - 3, 12, 95, 1, 1, 23, 20, 7, 3, 23, 18, 0, 63, 63, 51, 18, 57, 47,225, 23, 51, 47, 50, 50, 47, 1, 47, 43, 93,225, 93, 93, - 93, 16,246,225, 50, 17, 57, 47, 94, 93, 51,193, 50, 49, 48, 93, 1, 35, 34, 46, 2, 53, 17, 51, 17, 20, 22, 51, 51, 17, 51, 17, - 54, 54, 55, 17, 51, 17, 35, 17, 6, 6, 7, 17, 35, 2, 80, 33, 93,146,101, 53,186,105,123, 12,133, 56,118, 68,186,186, 66,119, - 57,133, 1,252, 49, 94,139, 89, 2, 71,253,209,115,116, 1, 88,254,180, 9, 34, 25, 2,198,250, 74, 2, 86, 26, 37, 11,254,201, - 0, 1, 0,154, 0, 0, 3,254, 4, 74, 0, 28, 0,107, 64, 66, 11, 4, 27, 4, 2, 7, 27, 14, 28, 80, 13, 1, 4, 13, 20, 13, - 36, 13, 3, 8, 13, 13, 6, 18, 22, 90, 21, 85, 30, 16, 30, 96, 30,128, 30, 3, 9, 90, 6, 84, 29, 32, 13, 48, 13, 64, 13, 3, - 13, 15, 13, 28, 18, 26, 28, 3, 11, 95, 1, 1, 22, 19, 7, 15, 22, 21, 0, 63, 63, 51, 18, 57, 47,225, 23, 51, 47, 50, 50, 47, - 93, 1, 16,246,225, 93, 16,246,225, 50, 17, 57, 47, 94, 93, 93, 51,193, 50, 49, 48, 94, 93, 49, 48, 1, 35, 34, 46, 2, 53, 17, - 51, 17, 20, 51, 51, 17, 51, 17, 54, 54, 55, 17, 51, 17, 35, 17, 6, 6, 7, 17, 35, 2, 14, 47, 78,122, 82, 43,182,184, 6,125, - 47, 91, 51,182,182, 50, 89, 50,125, 1,106, 47, 84,115, 68, 1,166,254,102,174, 1, 45,254,229, 14, 48, 35, 1,213,251,182, 1, -233, 35, 51, 16,255, 0, 0, 1, 0,199, 0, 0, 4,162, 5,182, 0, 23, 0, 80, 64, 54, 4, 7, 20, 7, 2, 7, 12, 90, 11,101, - 25, 47, 25, 95, 25,111, 25,143, 25,159, 25,175, 25,207, 25,239, 25,255, 25, 9, 16, 25, 1, 2, 22, 90, 23,100, 24, 21, 16, 95, - 0, 5, 16, 5, 2, 5, 5, 23, 11, 18, 0, 3, 0, 63, 63, 51, 57, 47, 93,225, 51, 1, 16,246,225, 50, 93, 93, 16,246,225, 49, - 48, 0, 94, 93, 19, 51, 17, 54, 54, 51, 50, 30, 2, 21, 17, 35, 17, 52, 38, 35, 34, 14, 2, 7, 17, 35,199,186,115,195, 98, 93, -146,101, 53,187,104,123, 45, 90, 95,101, 56,186, 5,182,253,170, 45, 45, 49, 94,138, 89,253,184, 2, 47,115,117, 10, 20, 30, 20, -253, 57, 0, 1, 0,174, 0, 0, 4, 18, 4, 74, 0, 24, 0, 63,185, 0, 20,255,224, 64, 34, 7, 10, 72, 0, 71, 24, 85, 26,239, - 26, 1, 16, 26, 96, 26,128, 26, 3, 13, 9, 71, 10, 84, 25, 8, 3, 80, 18, 18, 11, 15, 10, 0, 21, 0, 63, 50, 63, 57, 47,225, - 51, 1, 16,246,225, 50, 93, 93, 16,246,225, 49, 48, 0, 43, 33, 17, 52, 35, 34, 14, 2, 7, 17, 35, 17, 51, 17, 62, 3, 51, 50, - 30, 2, 21, 17, 3, 92,184, 45, 80, 76, 77, 42,182,182, 44, 80, 85, 94, 58, 78,122, 82, 43, 1,154,174, 15, 28, 44, 28,254, 43, - 4, 74,254, 22, 31, 47, 32, 17, 47, 83,115, 68,254, 90, 0, 2, 0, 61,255,236, 6, 6, 5,205, 0, 43, 0, 54, 0,100, 64, 62, - 50, 91, 20, 11,103, 56, 15, 56, 31, 56, 2, 41, 32, 34, 1, 34, 34, 49, 12, 91, 0,112, 31,128, 31,192, 31, 3, 31, 55, 31, 12, - 96, 49, 79, 43, 1, 15, 43,175, 43,255, 43, 3, 15, 37, 1, 8, 43, 37, 43, 37, 5, 17, 95, 20, 26, 19, 44, 95, 5, 4, 0, 63, -225, 63, 51,225, 17, 57, 57, 47, 47, 94, 93, 93,113, 51,225, 50, 1, 16,214, 93, 50,225, 50, 51, 47, 93,193, 93, 16,246, 50,225, - 49, 48, 1, 62, 3, 51, 50, 22, 22, 18, 21, 21, 33, 30, 3, 51, 50, 54, 55, 21, 14, 3, 35, 34, 46, 2, 39, 34, 38, 53, 52, 54, - 55, 51, 6, 6, 21, 20, 51, 1, 34, 14, 2, 7, 33, 52, 46, 2, 1,102, 10, 91,156,221,141,153,214,136, 62,252, 37, 7, 63,116, -169,112,128,207, 91, 42, 91,105,124, 76,152,235,164, 92, 9,143,154, 18, 11,156, 6, 15,103, 2,137, 91,149,110, 65, 7, 3, 18, - 37, 86,139, 3, 57,154,244,171, 91,107,197,254,235,171, 69,122,194,134, 71, 44, 32,170, 15, 26, 18, 10, 97,179,253,155,117,122, - 42, 66, 23, 15, 62, 35, 97, 1,240, 65,126,185,120,117,184,128, 67, 0, 0, 2, 0, 51,255,236, 4,182, 4, 94, 0, 44, 0, 53, - 0,132, 64, 43, 49, 72, 39, 30, 87, 55,255, 55, 1,144, 55,176, 55, 2, 31, 55,127, 55, 2, 48, 31, 72, 5, 15,223, 8, 1, 8, - 8, 19, 0, 5, 16, 5, 32, 5, 3, 64, 5, 80, 5, 2, 5,184,255,192, 64, 40, 16, 19, 72, 5, 54, 5, 31, 80, 48, 27, 18, 43, - 18, 2, 15, 18, 1, 27, 11, 43, 11, 2, 15, 11, 1, 6, 18, 11, 18, 11, 34, 45, 80, 24, 16, 34, 81, 39, 0, 22, 0, 63, 50,225, - 63,225, 18, 57, 57, 47, 47, 94, 93, 93, 93, 93, 51,225, 50, 1, 16,198, 43, 93,113, 50, 50, 47, 93,193, 16,225, 50, 93, 93, 93, - 16,246, 50,225, 49, 48, 5, 34, 46, 2, 39, 38, 38, 53, 52, 54, 55, 51, 6, 6, 21, 20, 22, 51, 51, 62, 3, 51, 50, 30, 2, 21, - 21, 33, 22, 22, 51, 50, 62, 2, 55, 21, 14, 3, 3, 34, 6, 7, 33, 52, 46, 2, 3, 53,107,179,130, 75, 4,133,142, 18, 9,149, - 6, 14, 49, 49, 27, 14, 76,116,152, 90, 99,158,110, 59,253, 76, 5,153,151, 51, 87, 81, 76, 39, 40, 77, 81, 87, 96,114,133, 11, - 1,236, 27, 57, 89, 20, 70,136,199,129, 2,111,114, 39, 63, 21, 14, 58, 34, 47, 49,108,169,117, 62, 71,129,181,110,113,193,182, - 10, 19, 29, 18,162, 19, 28, 18, 8, 3,219,156,149, 68,113, 80, 44, 0, 0, 2, 0, 61,254,127, 6, 6, 5,205, 0, 46, 0, 57, - 0,114, 64, 70, 27, 90, 28, 28, 34, 53, 91, 20, 11,103, 59, 15, 59, 31, 59, 2, 44, 32, 37, 1, 37, 37, 52, 12, 91, 0,112, 34, -128, 34,192, 34, 3, 34, 58, 34, 12, 96, 52, 79, 46, 1, 15, 46, 63, 46,175, 46, 3, 15, 40, 1, 8, 46, 40, 46, 40, 5, 26, 20, - 17, 96, 29, 18, 27,251, 47, 95, 5, 4, 0, 63,225, 63, 63,225, 51, 51, 18, 57, 57, 47, 47, 94, 93, 93,113, 51,225, 50, 1, 16, -214, 93, 50,225, 50, 51, 47, 93,193, 93, 16,246, 50,225, 18, 57, 47,225, 49, 48, 1, 62, 3, 51, 50, 22, 22, 18, 21, 21, 33, 30, - 3, 51, 50, 54, 55, 21, 14, 3, 7, 17, 35, 17, 46, 3, 39, 34, 38, 53, 52, 54, 55, 51, 6, 6, 21, 20, 51, 1, 34, 14, 2, 7, - 33, 52, 46, 2, 1,102, 10, 91,156,221,141,153,214,136, 62,252, 37, 7, 63,116,169,112,128,207, 91, 37, 78, 88,100, 58,182,128, -196,138, 77, 8,143,154, 18, 11,156, 6, 15,103, 2,137, 91,149,110, 65, 7, 3, 18, 37, 86,139, 3, 57,154,244,171, 91,107,197, -254,235,171, 69,122,194,134, 71, 44, 32,170, 14, 23, 17, 11, 2,254,145, 1,115, 16,109,176,235,142,117,122, 42, 66, 23, 15, 62, - 35, 97, 1,240, 65,126,185,120,117,184,128, 67, 0, 2, 0, 51,254,131, 4,182, 4, 94, 0, 45, 0, 54, 0,146, 64, 48, 4, 71, - 5, 5, 11, 50, 72, 45, 36, 87, 56,255, 56, 1,144, 56,176, 56, 2, 31, 56,127, 56, 2, 49, 37, 72, 11, 21,223, 14, 1, 14, 14, - 25, 0, 11, 16, 11, 32, 11, 3, 64, 11, 80, 11, 2, 11,184,255,192, 64, 43, 16, 19, 72, 11, 55, 11, 37, 80, 49, 27, 24, 43, 24, - 2, 15, 24, 1, 27, 17, 43, 17, 2, 15, 17, 1, 6, 24, 17, 24, 17, 40, 46, 80, 30, 16, 40, 81, 45, 3, 6, 22, 4,251, 0, 63, - 63, 51, 51,225, 63,225, 18, 57, 57, 47, 47, 94, 93, 93, 93, 93, 51,225, 50, 1, 16,198, 43, 93,113, 50, 50, 47, 93,193, 16,225, - 50, 93, 93, 93, 16,246, 50,225, 18, 57, 47,225, 49, 48, 37, 6, 6, 7, 17, 35, 17, 46, 3, 39, 38, 38, 53, 52, 54, 55, 51, 6, - 6, 21, 20, 22, 51, 51, 62, 3, 51, 50, 30, 2, 21, 21, 33, 22, 22, 51, 50, 62, 2, 55, 1, 34, 6, 7, 33, 52, 46, 2, 4,133, - 66,128, 76,182, 84,137, 99, 56, 3,133,142, 18, 9,149, 6, 14, 49, 49, 27, 14, 76,116,152, 90, 99,158,110, 59,253, 76, 5,153, -151, 51, 87, 81, 76, 39,254,131,114,133, 11, 1,236, 27, 57, 89, 53, 32, 35, 4,254,149, 1,117, 17, 84,132,178,111, 2,111,114, - 39, 63, 21, 14, 58, 34, 47, 49,108,169,117, 62, 71,129,181,110,113,193,182, 10, 19, 29, 18, 2,240,156,149, 68,113, 80, 44, 0, -255,255, 0, 82, 0, 0, 2,100, 5,182, 2, 6, 0, 44, 0, 0,255,255, 0, 4, 0, 0, 6,129, 7,105, 2, 38, 1,176, 0, 0, - 1, 7, 2, 54, 0,244, 1, 82, 0, 19, 64, 11, 1, 23, 5, 38, 1, 0, 28, 18, 17, 10, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0, 4, 0, 0, 5,190, 6, 23, 2, 38, 1,208, 0, 0, 1, 7, 2, 54, 0,147, 0, 0, 0, 19, 64, 11, 1, 23, 17, 38, 1, 0, - 28, 18, 14, 7, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,199,254, 0, 4,225, 5,182, 0, 37, 0,103, 64, 63, 27, 27, 5, 33, - 91, 17, 9, 10, 16, 10, 64, 12, 24, 72, 10, 10, 4, 17, 39, 16, 39, 64, 39, 2, 11, 8, 8, 4, 90, 5,100, 38, 31, 95, 28, 22, - 28, 8, 3, 0, 96, 47, 12, 95, 12,239, 12,255, 12, 4, 12, 64, 16, 21, 72, 12, 12, 5, 9, 6, 3, 5, 18, 0, 63, 63, 51, 18, - 57, 47, 43, 93,225, 51, 51, 63, 51,225, 1, 16,246,225, 50, 17, 51, 93, 16,206, 17, 57, 47, 43, 56, 51, 16,225, 17, 57, 47, 49, - 48, 1, 34, 6, 7, 17, 35, 17, 51, 17, 1, 51, 1, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 39, 53, 22, 22, 51, 32, 17, - 52, 46, 2, 2, 70, 65, 92, 40,186,186, 2, 53,207,253,209, 6,154,240,165, 86, 82,146,201,118, 49, 78, 67, 61, 31, 63,127, 72, - 1,119, 67,124,174, 2,111, 17, 14,253,176, 5,182,253, 60, 2,196,253, 88, 85,163,236,151,170,248,162, 79, 6, 12, 19, 12,162, - 23, 24, 1,239,121,179,118, 58, 0, 1, 0,174,254, 10, 3,233, 4, 74, 0, 35, 0,114, 64, 71, 11, 8, 27, 8, 2, 34, 35, 16, - 31, 35, 1, 35, 35, 29, 5, 13, 13, 30, 20, 72, 5, 37, 15, 37, 1, 95, 37,111, 37,127, 37,159, 37,191, 37,223, 37,255, 37, 7, - 0, 33, 33, 29, 71, 30, 84, 36, 33, 28, 25, 81, 11, 0, 27, 0, 2, 7, 0, 0, 30, 34, 31, 15, 30, 21, 17, 81, 14, 10, 27, 0, - 63, 51,225, 63, 63, 51, 18, 57, 47, 94, 93,225, 51, 51, 1, 16,246,225, 50, 17, 51, 93,113, 16,222,225, 17, 57, 47, 17, 18, 57, - 47,113, 56, 51, 49, 48, 0, 93, 1, 30, 3, 21, 20, 14, 2, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 53, 52, 46, 2, 35, 34, 6, - 7, 17, 35, 17, 51, 17, 1, 51, 2, 43, 94,163,120, 69, 63,111,150, 87, 76,105, 47, 44,105, 67,118,117, 35, 74,114, 78, 32, 85, - 41,180,180, 1,152,196, 2,106, 5, 64,132,208,148,150,213,136, 64, 31, 29,161, 24, 37,195,210,106,151, 96, 45, 16, 13,254, 80, - 4, 74,254, 10, 1,246, 0, 1, 0, 0,254,127, 5, 86, 5,182, 0, 35, 0,115,177, 7, 2,184,255,248, 64, 70, 20, 23, 72, 2, - 90,137, 24, 1, 24, 16, 24,224, 29, 1,180, 29,196, 29,212, 29, 3, 0, 29, 80, 29, 2, 7, 29, 29, 31, 15, 33, 34, 34, 0, 90, - 35, 32, 31, 37,144, 37,192, 37,240, 37, 3, 15, 37, 31, 37,127, 37, 3, 8, 15, 33,251, 2, 95, 29, 3, 19, 96, 12, 19, 31, 95, - 0, 18, 0, 63,225, 63,225, 63,225, 63, 1, 47, 94, 93, 93, 16,212, 50, 50,225, 57, 47, 51, 17, 18, 57, 47, 94, 93, 93, 93, 51, - 56, 93,225, 43, 50, 49, 48, 33, 17, 33, 14, 3, 7, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 55, 54, 54, 18, 18, 55, - 33, 17, 51, 3, 35, 19, 3,217,254,133, 15, 32, 33, 33, 16, 20, 53, 79,110, 78, 35, 74, 28, 23, 58, 32, 48, 62, 42, 26, 12, 12, - 32, 39, 43, 22, 2,208,195,143,217,165, 5, 18,113,245,235,212, 81,103,162,111, 59, 14, 11,154, 13, 16, 63, 98,117, 54, 57,200, - 1, 6, 1, 58,170,250,240,253,217, 1,129, 0, 0, 1, 0, 16,254,131, 4,102, 4, 74, 0, 24, 0, 88, 64, 56, 2, 70,212, 18, -228, 18, 2, 96, 18,112, 18,160, 18,176, 18, 4, 52, 18, 1, 18, 18, 10, 22, 23, 23, 0, 71, 24, 21, 20, 85, 26, 32, 26,176, 26, - 2, 15, 26, 1, 8, 10, 22,251, 2, 80, 18, 15, 13, 79, 7, 22, 20, 80, 0, 21, 0, 63,225, 63,225, 63,225, 63, 1, 47, 94, 93, - 93, 16,244, 50, 50,225, 57, 47, 51, 17, 57, 47, 93, 93, 93,225, 49, 48, 33, 17, 33, 2, 2, 6, 6, 35, 34, 38, 39, 53, 22, 51, - 50, 54, 54, 18, 55, 33, 17, 51, 3, 35, 19, 2,250,254,254, 20, 64, 95,130, 86, 28, 49, 16, 22, 28, 55, 89, 69, 51, 18, 2, 84, -182,122,183,123, 3,176,254,253,254,148,230,105, 6, 6,131, 6,117,241, 1,111,250,252, 80,253,233, 1,125, 0, 0, 1, 0,229, -254, 0, 4,244, 5,182, 0, 27, 0, 75, 64, 43, 5, 5, 16, 20, 12, 90, 23,101, 29,192, 29, 1,191, 29, 1, 32, 29, 1, 19, 15, - 90, 16,100, 28, 14, 95, 15, 19, 1, 8, 19, 19, 16, 21, 17, 3, 16, 18, 9, 95, 6, 0, 28, 0, 63, 50,225, 63, 63, 51, 18, 57, - 47, 94, 93,225, 1, 16,246,225, 50, 93, 93, 93, 16,246,225, 50, 17, 57, 47, 49, 48, 1, 34, 46, 2, 39, 53, 22, 22, 51, 50, 54, - 53, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 20, 14, 2, 2,209, 49, 78, 68, 61, 31, 63,127, 72,187,198,253,103,187,187, 2, -153,187, 82,146,201,254, 0, 6, 12, 19, 12,162, 23, 24,240,247, 2, 31,253, 86, 5,182,253,152, 2,104,250,221,170,248,162, 79, - 0, 1, 0,174,254, 10, 4, 59, 4, 74, 0, 27, 0,105, 64, 26, 3, 3, 16, 20, 12, 71, 23, 85, 29, 0, 29, 32, 29, 2, 48, 29, - 64, 29, 80, 29,208, 29,240, 29, 5, 29,184,255,192, 64, 40, 14, 17, 72, 19, 15, 71, 16, 84, 28, 14, 80,235, 19, 1,169, 19,185, - 19, 2, 15, 19, 31, 19, 47, 19, 3, 6, 19, 19, 16, 21, 17, 15, 16, 21, 7, 81, 4, 0, 27, 0, 63, 50,225, 63, 63, 51, 18, 57, - 47, 94, 93, 93, 93,225, 1, 16,246,225, 50, 43, 93,113, 16,246,225, 50, 17, 57, 47, 49, 48, 1, 34, 38, 39, 53, 22, 22, 51, 50, - 62, 2, 53, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 20, 14, 2, 2,160, 76,105, 47, 44,105, 66, 59, 91, 61, 31,253,223,182, -182, 2, 33,182, 63,111,150,254, 10, 31, 29,161, 24, 37, 45, 97,150,105, 1,178,254, 23, 4, 74,254, 57, 1,199,251,243,150,213, -136, 64, 0, 1, 0,229,254,127, 5,182, 5,182, 0, 15, 0, 82, 64, 50, 2, 3, 3, 13, 5, 90, 4, 1, 0, 17, 16, 17, 32, 17, - 64, 17,128, 17,192, 17,224, 17,240, 17, 7, 12, 8, 90, 9,100, 16, 7, 95, 15, 12, 1, 8, 12, 12, 5, 14, 10, 3, 9, 0, 95, - 5, 18, 2,251, 0, 63, 63,225, 51, 63, 51, 18, 57, 47, 94, 93,225, 1, 16,246,225, 50, 93, 16,212, 50, 50,225, 50, 57, 47, 51, - 49, 48, 37, 51, 3, 35, 19, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 4,244,194,143,217,166,187,253,103,187,187, 2,153,187, -166,253,217, 1,129, 2,170,253, 86, 5,182,253,152, 2,104, 0, 0, 1, 0,174,254,131, 4,242, 4, 74, 0, 15, 0,118, 64, 79, - 13, 14, 14, 8, 0, 71, 15, 12,171, 11,187, 11, 2, 11, 17, 4, 17, 36, 17, 2,212, 17,244, 17, 2,176, 17, 1, 2, 48, 17, 64, - 17, 80, 17,128, 17,144, 17,160, 17, 6, 7, 3, 71, 4, 84, 16, 13,251, 2, 80,235, 7, 1,169, 7,185, 7, 2, 15, 7, 31, 7, - 47, 7, 3, 6, 7, 7, 0, 9, 5, 15, 11, 80, 4, 0, 21, 0, 63, 50,225, 63, 51, 18, 57, 47, 94, 93, 93, 93,225, 63, 1, 16, -246,225, 50, 93, 95, 93, 93,113, 16,212, 93, 50, 50,225, 50, 57, 47, 51, 49, 48, 33, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, - 51, 3, 35, 19, 3,133,253,223,182,182, 2, 33,182,183,123,182,122, 1,233,254, 23, 4, 74,254, 57, 1,199,252, 80,253,233, 1, -125, 0, 0, 1, 0,166,254,127, 4,129, 5,182, 0, 29, 0, 89, 64, 33, 29, 90, 26, 26, 22, 0, 90, 25,101, 31,112, 31,160, 31, - 2, 47, 31, 1, 16, 31, 1, 14, 90, 96, 11,112, 11,160, 11,176, 11, 4, 11,184,255,192, 64, 20, 7, 10, 72, 11, 22, 17, 95, 6, - 6, 12, 26, 27,251, 29, 95, 26, 18, 23, 12, 3, 0, 63, 51, 63,225, 63, 17, 18, 57, 47,225, 51, 1, 47, 43, 93,225, 93, 93, 93, - 16,246,225, 50, 50, 47,225, 49, 48, 37, 17, 14, 3, 35, 34, 46, 2, 53, 17, 51, 17, 20, 22, 51, 50, 62, 2, 55, 17, 51, 17, 35, - 17, 35, 17, 3,199, 58,105, 99, 97, 49, 93,146,101, 53,186,105,123, 45, 90, 94,102, 56,186,186,176,166, 1,176, 22, 34, 22, 12, - 49, 94,139, 89, 2, 71,253,209,115,116, 10, 20, 30, 20, 2,198,250, 74,254,127, 2, 39, 0, 1, 0,154,254,131, 3,254, 4, 74, - 0, 28, 0, 64, 64, 37, 27, 71, 24, 24, 20, 28, 71, 23, 85, 30, 16, 30, 96, 30,128, 30, 3, 13, 71, 10, 84, 29, 25,251, 20, 15, - 80, 5, 5, 11, 27, 80, 24, 21, 21, 11, 15, 0, 63, 51, 63,225, 18, 57, 47,225, 51, 63, 1, 16,246,225, 93, 16,246,225, 50, 50, - 47,225, 49, 48, 1, 14, 3, 35, 34, 46, 2, 53, 17, 51, 17, 20, 51, 50, 62, 2, 55, 17, 51, 17, 35, 17, 35, 17, 51, 3, 72, 44, - 80, 85, 94, 58, 78,122, 82, 43,182,184, 45, 80, 76, 77, 42,182,160,182,160, 1,233, 30, 48, 32, 17, 47, 84,115, 68, 1,166,254, -102,174, 15, 28, 43, 29, 1,213,251,182,254,131, 2, 23, 0, 1, 0,199,254,127, 6,242, 5,182, 0, 31, 0,154,182, 54, 31, 1, - 57, 0, 1, 31,184,255,248, 64, 44, 12, 15, 72, 31, 0, 8, 12, 15, 72, 0, 13, 13, 12, 16, 9, 18, 19, 19, 14, 8, 12, 15, 72, - 57, 14, 1, 14, 29, 21, 90, 20, 17, 16, 33, 32, 33,192, 33, 2, 15, 33, 1, 8, 11,184,255,248, 64, 16, 12, 15, 72, 38, 11, 1, - 11, 2, 8, 90, 9,100, 32, 16, 95, 12,184,255,240, 64, 22, 9, 18, 72, 0, 9, 12, 3, 21, 18, 18,251, 30, 1, 1, 16, 9, 18, - 72, 1, 14, 10, 3, 0, 63, 51, 51, 43, 17, 51, 63, 63, 23, 51, 43,225, 1, 16,246,225, 50, 50, 93, 43, 94, 93, 93, 16,212, 50, - 50,225, 50, 50, 93, 43, 57, 47, 51, 17, 18, 57, 57, 17, 51, 43, 51, 43, 49, 48, 93, 93, 33, 1, 35, 22, 23, 22, 22, 21, 17, 35, - 17, 33, 1, 51, 1, 33, 17, 51, 3, 35, 19, 35, 17, 52, 62, 2, 55, 54, 55, 35, 1, 3, 35,254, 69, 8, 5, 4, 4, 6,172, 1, - 20, 1,156, 6, 1,158, 1, 20,195,144,217,166,186, 1, 2, 2, 2, 3, 4, 8,254, 65, 5, 0, 74, 73, 63,139, 57,252,150, 5, -182,251, 88, 4,168,250,240,253,217, 1,129, 3,119, 25, 61, 65, 66, 30, 71, 73,251, 2, 0, 1, 0,174,254,131, 5,199, 4, 74, - 0, 36, 0,135, 64, 90, 8, 7, 24, 24, 16, 32, 34, 35, 35, 30, 0, 70, 36, 33,175, 32,191, 32, 2, 32, 38,224, 38, 1,207, 38, - 1, 48, 38, 64, 38, 80, 38,160, 38, 4, 15, 38, 1, 6, 18, 15, 70, 16, 84, 37, 34,251, 1, 59, 14, 75, 14, 91, 14, 3, 11, 14, - 27, 14, 43, 14, 3, 14, 14, 30, 17, 15, 32, 80, 52, 24, 68, 24, 84, 24, 3, 5, 24, 21, 24, 37, 24, 3, 8, 16, 24, 3, 0, 21, - 0, 63, 23, 50, 93, 93,225, 63, 51, 51, 47, 93, 93, 51, 63, 1, 16,246,225, 50, 94, 93, 93, 93, 93, 16,212, 93, 50, 50,225, 50, - 57, 47, 51, 17, 18, 57, 17, 51, 51, 49, 48, 33, 17, 14, 3, 7, 1, 35, 1, 46, 3, 39, 17, 35, 17, 51, 1, 30, 3, 23, 62, 3, - 55, 1, 51, 17, 51, 3, 35, 19, 4,111, 6, 17, 20, 18, 7,254,248,135,254,247, 5, 17, 20, 18, 7,162,221, 1, 11, 13, 22, 19, - 14, 5, 6, 14, 19, 22, 13, 1, 14,217,183,123,182,122, 3,129, 21, 57, 59, 54, 18,253, 80, 2,176, 13, 49, 59, 62, 26,252,127, - 4, 74,253, 71, 34, 67, 60, 50, 16, 17, 49, 59, 65, 33, 2,189,252, 80,253,233, 1,125,255,255, 0, 82, 0, 0, 2,100, 5,182, - 2, 6, 0, 44, 0, 0,255,255, 0, 0, 0, 0, 4,221, 7,105, 2, 38, 0, 36, 0, 0, 1, 7, 2, 54, 0, 33, 1, 82, 0, 19, - 64, 11, 2, 26, 5, 38, 2, 0, 31, 21, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 94,255,236, 3,161, 6, 23, 2, 38, - 0, 68, 0, 0, 1, 6, 2, 54,212, 0, 0, 19, 64, 11, 2, 56, 17, 38, 2, 37, 61, 51, 12, 34, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0, 0, 0, 0, 4,221, 7, 43, 2, 38, 0, 36, 0, 0, 1, 7, 0,106, 0, 33, 1, 82, 0, 23, 64, 13, 3, 2, 30, 5, - 38, 3, 2, 1, 21, 41, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 94,255,236, 3,156, 5,217, 2, 38, 0, 68, - 0, 0, 1, 6, 0,106,222, 0, 0, 23, 64, 13, 3, 2, 60, 17, 38, 3, 2, 47, 51, 71, 12, 34, 37, 1, 43, 53, 53, 0, 43, 53, - 53, 0,255,255,255,254, 0, 0, 6, 86, 5,182, 2, 6, 0,136, 0, 0,255,255, 0, 94,255,236, 6, 68, 4, 94, 2, 6, 0,168, - 0, 0,255,255, 0,199, 0, 0, 3,200, 7,105, 2, 38, 0, 40, 0, 0, 1, 7, 2, 54,255,251, 1, 82, 0, 19, 64, 11, 1, 17, - 5, 38, 1, 6, 22, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 3,225, 6, 23, 2, 38, 0, 72, 0, 0, - 1, 6, 2, 54,234, 0, 0, 19, 64, 11, 2, 45, 17, 38, 2, 15, 50, 40, 5, 15, 37, 1, 43, 53, 0, 43, 53, 0, 0, 2, 0,113, -255,236, 5, 18, 5,205, 0, 30, 0, 41, 0, 73, 64, 47, 36, 26, 91, 14,103, 43, 15, 43,143, 43,175, 43,191, 43, 4, 43, 64, 11, - 15, 72, 37, 91, 3, 25,102, 42, 37, 95, 47, 25, 95, 25,127, 25, 3, 25, 25, 9, 31, 95, 19, 19, 3, 0, 95, 9, 4, 0, 63,225, - 51, 63,225, 17, 57, 47, 93,225, 1, 16,246, 50,225, 43, 93, 16,246,225, 50, 49, 48, 1, 34, 6, 7, 53, 62, 3, 51, 50, 22, 22, - 18, 21, 20, 2, 6, 6, 35, 34, 38, 38, 2, 53, 53, 33, 46, 3, 3, 50, 62, 2, 55, 33, 20, 30, 2, 2,121,128,207, 91, 42, 90, -105,125, 76,160,244,165, 84, 81,157,232,150,153,215,135, 62, 3,219, 7, 64,115,169, 67, 91,149,109, 66, 7,252,237, 38, 85,140, - 5, 41, 44, 32,170, 15, 26, 19, 10,108,198,254,233,171,174,254,235,194,104,107,196, 1, 21,171, 70,122,193,134, 71,251,102, 65, -126,185,120,117,184,127, 68, 0, 0, 2, 0,102,255,236, 3,215, 4, 94, 0, 30, 0, 39, 0, 67, 64, 41, 34, 17, 72, 5, 87, 41, -176, 41, 1, 63, 41, 1, 35, 72, 25, 16, 86, 40, 35, 80,159, 16,175, 16,207, 16,223, 16, 4, 16, 16, 0, 31, 80, 10, 22, 25, 20, - 81, 0, 16, 0, 63,225, 51, 63,225, 17, 57, 47, 93,225, 1, 16,246, 50,225, 93, 93, 16,246,225, 50, 49, 48, 1, 50, 30, 2, 21, - 20, 14, 2, 35, 34, 46, 2, 53, 53, 33, 38, 38, 35, 34, 14, 2, 7, 53, 62, 3, 19, 50, 54, 55, 33, 20, 30, 2, 1,231,110,182, -131, 73, 66,120,167,102, 99,158,110, 59, 2,181, 5,154,151, 51, 87, 80, 76, 39, 40, 76, 81, 87, 96,115,133, 11,254, 20, 27, 57, - 88, 4, 94, 74,142,210,135,136,214,149, 78, 71,129,181,110,113,192,182, 10, 19, 28, 18,161, 19, 28, 18, 9,252, 37,156,149, 68, -113, 80, 44, 0,255,255, 0,113,255,236, 5, 18, 7, 43, 2, 38, 2,225, 0, 0, 1, 7, 0,106, 0, 70, 1, 82, 0, 25,182, 3, - 2, 51, 5, 38, 3, 2,184,255,211,180, 42, 62, 24, 14, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,102,255,236, 3,215, - 5,217, 2, 38, 2,226, 0, 0, 1, 6, 0,106,196, 0, 0, 25,182, 3, 2, 49, 17, 38, 3, 2,184,255,244,180, 40, 60, 15, 5, - 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 4, 0, 0, 6,129, 7, 43, 2, 38, 1,176, 0, 0, 1, 7, 0,106, 0,244, - 1, 82, 0, 23, 64, 13, 2, 1, 27, 5, 38, 2, 1, 0, 18, 38, 17, 10, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 4, - 0, 0, 5,190, 5,217, 2, 38, 1,208, 0, 0, 1, 7, 0,106, 0,145, 0, 0, 0, 25,182, 2, 1, 27, 17, 38, 2, 1,184,255, -255,180, 18, 38, 14, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 72,255,236, 3,236, 7, 43, 2, 38, 1,177, 0, 0, - 1, 7, 0,106,255,191, 1, 82, 0, 25,182, 2, 1, 67, 5, 38, 2, 1,184,255,244,180, 58, 78, 19, 11, 37, 1, 43, 53, 53, 0, - 43, 53, 53, 0,255,255, 0, 68,255,236, 3, 82, 5,217, 2, 38, 1,209, 0, 0, 1, 7, 0,106,255, 85, 0, 0, 0, 25,182, 2, - 1, 67, 17, 38, 2, 1,184,255,217,180, 58, 78, 41, 33, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 1, 0, 72,255,236, 3,236, - 5,182, 0, 32, 0,114, 64, 45, 0, 91, 27, 28, 91, 32, 32, 64, 16, 24, 72, 29, 27, 32, 32, 27, 29, 3, 13, 22, 91, 5,103, 34, -159, 34, 1,112, 13,128, 13, 2, 63, 13, 79, 13, 95, 13, 3, 13, 32, 29, 95, 30, 27,184,255,240, 64, 24, 7, 13, 72, 27, 25,170, - 0, 1,120, 0, 1, 15, 0, 1, 8, 0, 0, 30, 3, 19, 96, 14, 10, 19, 0, 63, 51,225, 63, 57, 47, 94, 93, 93, 93, 51, 51, 43, - 16,225, 50, 1, 47, 93, 93, 93, 16,246,225, 18, 23, 57, 47, 47, 47, 43, 16,225, 16,225, 49, 48, 1, 30, 3, 21, 20, 14, 2, 35, - 34, 38, 39, 53, 30, 3, 51, 50, 54, 53, 52, 38, 35, 35, 53, 1, 33, 53, 33, 21, 1,244,115,186,132, 71, 67,136,205,137,110,192, - 85, 43, 96, 99, 99, 46,178,176,207,186,123, 1,166,253,166, 3, 61, 3, 59, 5, 53,100,151,102, 96,160,116, 64, 34, 45,170, 23, - 36, 24, 13,148,135,135,129,151, 1,209,166,145, 0, 1, 0, 27,254, 20, 3,117, 4, 74, 0, 36, 0,100, 64, 62, 0, 74, 31, 32, - 74, 36, 36, 64, 19, 24, 72, 33, 31, 36, 36, 31, 33, 3, 13, 24, 71, 5, 87, 38,111, 38,159, 38, 2, 48, 38, 1, 15, 38, 1, 7, - 13, 64, 12, 17, 72, 13, 36, 33, 80, 34, 31, 29, 0, 32, 9, 12, 72, 0, 0, 34, 15, 19, 80, 14, 10, 27, 0, 63, 51,225, 63, 57, - 47, 43, 51, 51, 16,225, 50, 1, 47, 43, 94, 93, 93, 93, 16,246,225, 18, 23, 57, 47, 47, 47, 43, 16,225, 16,225, 49, 48, 1, 30, - 3, 21, 20, 14, 2, 35, 34, 38, 39, 53, 30, 3, 51, 50, 62, 2, 53, 52, 46, 2, 35, 35, 53, 1, 33, 53, 33, 21, 1,168, 95,168, -125, 73, 71,132,186,115,115,181, 58, 31, 78, 91,102, 54, 71,119, 86, 48, 55, 99,139, 84,109, 1,146,253,198, 3, 6, 1,213, 7, - 65,117,166,108,110,183,132, 73, 36, 34,166, 16, 31, 24, 15, 46, 87,125, 78, 86,125, 82, 39,125, 1,237,154,133,255,255, 0,201, - 0, 0, 5, 16, 6,193, 2, 38, 1,178, 0, 0, 1, 7, 1, 77, 0,176, 1, 82, 0, 21,180, 1, 26, 5, 38, 1,184,255,254,180, - 24, 25, 0, 12, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,174, 0, 0, 4, 59, 5,111, 2, 38, 1,210, 0, 0, 1, 6, 1, 77, - 57, 0, 0, 21,180, 1, 14, 17, 38, 1,184,255,255,180, 12, 13, 10, 4, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,201, 0, 0, - 5, 16, 7, 43, 2, 38, 1,178, 0, 0, 1, 7, 0,106, 0,156, 1, 82, 0, 25,182, 2, 1, 33, 5, 38, 2, 1,184,255,254,180, - 24, 44, 0, 12, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,174, 0, 0, 4, 59, 5,217, 2, 38, 1,210, 0, 0, 1, 6, - 0,106, 37, 0, 0, 25,182, 2, 1, 21, 17, 38, 2, 1,184,255,255,180, 12, 32, 10, 4, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, -255,255, 0,125,255,236, 5,113, 7, 43, 2, 38, 0, 50, 0, 0, 1, 7, 0,106, 0,170, 1, 82, 0, 23, 64, 13, 3, 2, 49, 5, - 38, 3, 2, 1, 40, 60, 10, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,113,255,236, 4, 45, 5,217, 2, 38, 0, 82, - 0, 0, 1, 6, 0,106,249, 0, 0, 25,182, 3, 2, 41, 17, 38, 3, 2,184,255,249,180, 32, 52, 10, 0, 37, 1, 43, 53, 53, 0, - 43, 53, 53, 0,255,255, 0,125,255,236, 5,113, 5,205, 2, 6, 2,126, 0, 0,255,255, 0,113,255,236, 4, 45, 4, 94, 2, 6, - 2,127, 0, 0,255,255, 0,125,255,236, 5,113, 7, 43, 2, 38, 2,126, 0, 0, 1, 7, 0,106, 0,170, 1, 82, 0, 23, 64, 13, - 4, 3, 51, 5, 38, 4, 3, 1, 42, 62, 10, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,113,255,236, 4, 45, 5,217, - 2, 38, 2,127, 0, 0, 1, 6, 0,106, 0, 0, 0, 23, 64, 13, 4, 3, 43, 17, 38, 4, 3, 0, 34, 54, 10, 0, 37, 1, 43, 53, - 53, 0, 43, 53, 53, 0,255,255, 0, 59,255,236, 4, 68, 7, 43, 2, 38, 1,199, 0, 0, 1, 7, 0,106,255,151, 1, 82, 0, 25, -182, 2, 1, 46, 5, 38, 2, 1,184,255,166,180, 37, 57, 4, 12, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 55,255,236, - 3, 66, 5,217, 2, 38, 1,231, 0, 0, 1, 7, 0,106,255, 56, 0, 0, 0, 25,182, 2, 1, 48, 17, 38, 2, 1,184,255,202,180, - 39, 59, 3, 34, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 25,255,236, 4,174, 6,193, 2, 38, 1,189, 0, 0, 1, 7, - 1, 77, 0, 39, 1, 82, 0, 21,180, 1, 36, 5, 38, 1,184,255,254,180, 34, 35, 19, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0, 10,254, 20, 3,223, 5,111, 2, 38, 0, 92, 0, 0, 1, 6, 1, 77,187, 0, 0, 19, 64, 11, 1, 37, 17, 38, 1, 1, 35, 36, - 0, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 25,255,236, 4,174, 7, 43, 2, 38, 1,189, 0, 0, 1, 7, 0,106, 0, 18, - 1, 82, 0, 25,182, 2, 1, 43, 5, 38, 2, 1,184,255,253,180, 34, 54, 19, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, - 0, 10,254, 20, 3,223, 5,217, 2, 38, 0, 92, 0, 0, 1, 6, 0,106,167, 0, 0, 23, 64, 13, 2, 1, 44, 17, 38, 2, 1, 1, - 35, 55, 0, 15, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 25,255,236, 4,174, 7,115, 2, 38, 1,189, 0, 0, 1, 7, - 1, 83, 0,102, 1, 82, 0, 23, 64, 13, 2, 1, 46, 5, 38, 2, 1, 81, 34, 54, 19, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, -255,255, 0, 10,254, 20, 3,223, 6, 33, 2, 38, 0, 92, 0, 0, 1, 6, 1, 83, 0, 0, 0, 23, 64, 13, 2, 1, 47, 17, 38, 2, - 1, 90, 35, 55, 0, 15, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,166, 0, 0, 4,129, 7, 43, 2, 38, 1,193, 0, 0, - 1, 7, 0,106, 0, 84, 1, 82, 0, 23, 64, 13, 2, 1, 31, 5, 38, 2, 1, 15, 22, 42, 10, 0, 37, 1, 43, 53, 53, 0, 43, 53, - 53, 0,255,255, 0,154, 0, 0, 3,254, 5,217, 2, 38, 1,225, 0, 0, 1, 6, 0,106, 6, 0, 0, 23, 64, 13, 2, 1, 34, 17, - 38, 2, 1, 8, 25, 45, 23, 10, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 1, 0,199,254,127, 3,190, 5,182, 0, 9, 0,100, - 64, 11, 20, 0, 1,228, 0, 1,208, 0, 1, 2, 0,184,255,192, 64, 53, 8, 19, 72, 0, 0, 11, 47, 11, 79, 11,111, 11,143, 11, - 4, 11, 64, 17, 24, 72, 7, 90,191, 4,207, 4, 2,132, 4, 1, 15, 4, 31, 4, 2, 7, 4, 4, 3, 90, 8,100, 10, 2, 95, 9, - 3, 3, 95, 7, 18, 6,251, 0, 63, 63,225, 63,225, 1, 16,246,225, 50, 47, 94, 93, 93, 93,225, 43, 93, 17, 51, 47, 43, 95, 93, - 93,113, 49, 48, 1, 21, 33, 17, 51, 17, 35, 17, 35, 17, 3,190,253,195,176,176,186, 5,182,166,251,150,253,217, 1,129, 5,182, - 0, 1, 0,174,254,131, 3, 10, 4, 74, 0, 9, 0, 78, 64, 50, 32, 2, 48, 2, 2, 2, 2, 11,192, 11, 1,161, 11, 1,112, 11, - 1, 9, 71,191, 6,207, 6, 2,132, 6, 1, 15, 6, 31, 6, 2, 7, 6, 6, 5, 71, 0, 84, 10, 5, 80, 9, 21, 8,251, 4, 80, - 1, 15, 0, 63,225, 63, 63,225, 1, 16,246,225, 50, 47, 94, 93, 93, 93,225, 93, 93, 93, 17, 51, 47, 93, 49, 48, 51, 17, 33, 21, - 33, 17, 51, 17, 35, 17,174, 2, 92,254, 90,160,182, 4, 74,154,252,234,253,233, 1,125,255,255, 0,199, 0, 0, 5,207, 7, 43, - 2, 38, 1,197, 0, 0, 1, 7, 0,106, 0,252, 1, 82, 0, 23, 64, 13, 4, 3, 39, 5, 38, 4, 3, 0, 30, 50, 6, 28, 37, 1, - 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,174, 0, 0, 5, 80, 5,217, 2, 38, 1,229, 0, 0, 1, 7, 0,106, 0,176, 0, 0, - 0, 23, 64, 13, 4, 3, 39, 17, 38, 4, 3, 0, 30, 50, 10, 13, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 47,254,109, - 3,190, 5,182, 2, 38, 2,155, 0, 0, 1, 7, 3,128, 0,166, 0, 0, 0, 10,179, 1, 31, 31, 7, 1, 16, 60, 17, 53,255,255, - 0, 18,254,109, 3, 10, 4, 74, 2, 38, 2,156, 0, 0, 1, 7, 3,129, 0,137, 0, 0, 0, 10,179, 1, 31, 31, 13, 1, 16, 60, - 17, 53,255,255, 0, 0,254,109, 4,154, 5,182, 0, 38, 0, 59, 0, 0, 1, 7, 3,128, 3, 35, 0, 0, 0, 23,177, 1, 29,184, -255,192,178, 19, 21, 72,184,255,158,180, 29, 29, 0, 0, 37, 1, 43, 43, 53, 0,255,255, 0, 35,254,109, 4, 17, 4, 74, 0, 38, - 0, 91, 0, 0, 1, 7, 3,129, 2,154, 0, 0, 0, 18,179, 1, 80, 29, 1,184,255,154,180, 29, 29, 7, 7, 37, 1, 43, 93, 53, - 0, 1, 0, 0, 0, 0, 4, 96, 5,182, 0, 17, 0,178, 64, 39, 70, 15, 86, 15, 2, 73, 9, 89, 9, 2, 54, 0, 1, 57, 6, 1, - 6, 9, 15, 0, 4, 12, 3, 3, 1, 48, 17, 1, 63, 7, 1, 7, 17, 7, 17, 5, 1, 11, 10,184,255,240,179, 10, 10, 4, 5,184, -255,240, 64, 20, 5, 13, 14, 16, 14, 14, 2, 1, 16, 0, 1, 1,112, 1,128, 1,192, 1, 3, 1,184,255,192, 64, 39, 7, 10, 72, - 1, 1, 19, 15, 19, 31, 19, 47, 19,127, 19, 4, 8, 0, 6, 95, 15, 9, 40, 3, 1, 39, 12, 1, 3, 12, 10, 9, 9, 1, 13, 10, - 3, 5, 1, 18, 0, 63, 51, 63, 51, 18, 57, 47, 17, 57, 57, 93, 93, 17, 51,225, 50, 1, 94, 93, 17, 51, 47, 43, 93,113, 56, 51, - 51, 47, 56, 51, 47, 56, 51, 51, 47, 56, 51, 17, 18, 57, 57, 47, 47, 93, 93, 17, 57, 61, 47, 51, 23, 51, 93, 93, 93, 93, 49, 48, - 1, 1, 35, 1, 1, 35, 1, 33, 53, 33, 1, 51, 1, 1, 51, 1, 33, 21, 2,197, 1,155,211,254,158,254,145,188, 1,154,254,223, - 1, 20,254,146,198, 1, 76, 1, 78,190,254,142, 1, 28, 2,180,253, 76, 2,123,253,133, 2,180,164, 2, 94,253,209, 2, 47,253, -162,164, 0, 1, 0, 35, 0, 0, 3,219, 4, 74, 0, 17, 1, 23, 64,191,128, 8,144, 8, 2, 8, 0, 8, 0, 11, 15, 6, 5, 1, -247, 5, 1,229, 5, 1, 54, 5, 1, 5, 6, 7, 10, 10, 4, 13, 1, 16, 16, 13, 9, 3, 1,248, 3, 1,234, 3, 1, 57, 3, 1, - 3, 2,107, 6,123, 6, 2, 87, 6, 1, 58, 6, 74, 6, 2,100, 2,116, 2, 2, 88, 2, 1, 53, 2, 69, 2, 2, 6, 2, 13, 2, - 13, 6, 3, 15, 6, 12, 1,247, 12, 1,229, 12, 1, 54, 12, 1, 12, 11, 64, 22, 25, 72, 11, 64, 14, 17, 72,107, 11,123, 11, 2, - 87, 11, 1, 58, 11, 74, 11, 2, 11, 11, 19, 16, 19, 48, 19, 2,144, 19,176, 19, 2, 15, 19, 1, 9, 14, 1,248, 14, 1,234, 14, - 1, 57, 14, 1, 14,107, 15,123, 15, 2, 88, 15, 1, 53, 15, 69, 15, 2, 15, 13, 10, 16, 79, 4, 7,239, 1, 1, 11, 1, 27, 1, - 43, 1, 91, 1,107, 1, 5, 6, 1, 1, 2, 15, 11, 21, 5, 2, 15, 0, 63, 51, 63, 51, 18, 57, 47, 94, 93, 93, 51, 51,225, 50, - 50, 1, 47, 93, 93, 93,193, 93, 93, 93,113, 93, 93,113, 16,206, 47, 93, 93, 93, 43, 43,193, 93, 93, 93,113, 18, 23, 57, 61, 47, - 24, 47, 47, 93, 93, 93, 93, 93, 93, 16,193, 93, 93, 93,113, 17, 51, 17, 51, 17, 51, 51, 17, 51, 16,193, 93, 93, 93,113, 17, 18, - 57, 57, 47, 47, 93, 49, 48, 19, 33, 1, 51, 19, 19, 51, 1, 33, 21, 33, 1, 35, 1, 1, 35, 1, 33,104, 1, 0,254,207,207,250, -250,207,254,205, 1, 4,254,247, 1, 74,207,254,244,254,242,207, 1, 74,254,251, 2,123, 1,207,254,102, 1,154,254, 49,137,254, - 14, 1,180,254, 76, 1,242, 0, 0, 2, 0,137, 0, 0, 3,246, 5,182, 0, 14, 0, 25, 0, 64, 64, 41, 6, 25, 90, 9,101, 27, -159, 27, 1, 16, 27, 1, 21, 91, 0,102, 26, 15, 95, 63, 6, 79, 6,111, 6,159, 6,191, 6,223, 6, 6, 6, 6, 7, 25, 95, 9, - 18, 7, 3, 0, 63, 63,225, 17, 57, 47, 93,225, 1, 16,246,225, 93, 93, 16,246,225, 50, 49, 48, 19, 52, 62, 2, 51, 51, 17, 51, - 17, 33, 34, 46, 2, 1, 35, 34, 14, 2, 21, 20, 22, 51, 51,137, 55,127,207,152,149,187,254,149,134,194,126, 60, 2,178,129, 93, -138, 91, 46,163,175,159, 1,172, 87,152,113, 66, 2,104,250, 74, 61,112,158, 1, 95, 27, 60, 97, 70,136,132, 0,255,255, 0,113, -255,236, 4, 2, 6, 20, 2, 6, 0, 71, 0, 0, 0, 2, 0,137,255,236, 6, 59, 5,182, 0, 35, 0, 50, 0, 99, 64, 63, 24, 9, - 50, 90, 26, 26, 17, 34, 90, 1,101, 52, 15, 52, 1,111, 52,159, 52,239, 52, 3, 64, 52, 80, 52, 2, 15, 52, 1, 6, 42, 91, 17, -102, 51, 36, 95, 23, 35, 35, 63, 23, 79, 23,111, 23,191, 23,223, 23, 5, 23, 23, 24, 3, 29, 45, 96, 9, 6, 14, 19, 0, 63, 51, - 51,225, 50, 63, 57, 47, 93, 51, 47, 16,225, 1, 16,246,225, 94, 93, 93, 93,113, 16,246,225, 17, 57, 47,225, 57, 50, 49, 48, 1, - 17, 20, 14, 2, 35, 34, 38, 39, 14, 3, 35, 34, 38, 53, 52, 62, 2, 51, 51, 17, 51, 17, 20, 22, 51, 50, 62, 2, 53, 17, 5, 35, - 34, 14, 2, 21, 20, 22, 51, 50, 62, 2, 53, 6, 59, 45, 91,140, 94,114,153, 43, 24, 63, 82,103, 63,215,228, 65,138,215,150,122, -187,103, 97, 44, 72, 51, 28,253,186,129, 93,139, 91, 45,126,134, 67, 91, 56, 23, 3, 80,254, 24, 81,139,102, 58, 97, 77, 38, 63, - 46, 25,210,214,103,163,114, 60, 2,104,251,178,112,105, 30, 57, 80, 50, 1,232,166, 30, 67,107, 77,128,130, 37, 62, 77, 41, 0, - 0, 2, 0,113,255,236, 6, 90, 6, 20, 0, 50, 0, 67, 0, 92, 64, 57, 16, 44, 56, 71, 80, 46, 1, 46, 46, 27, 3, 71, 6, 85, - 69,111, 69,127, 69,159, 69,207, 69,239, 69, 5, 64, 69, 1, 15, 69, 47, 69, 2, 6, 65, 72, 27, 86, 68, 4, 4, 51, 62, 80, 37, - 32, 16, 44, 0, 0, 51, 80, 16, 11, 22, 22, 0, 63, 51, 51,225, 50, 63, 63, 51,225, 18, 57, 47, 1, 16,246,225, 94, 93, 93, 93, - 16,246,225, 17, 57, 47, 93,225, 50, 57, 49, 48, 37, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 39, 35, 14, 3, 35, 34, - 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 23, 51, 38, 39, 38, 38, 53, 17, 51, 17, 30, 3, 33, 50, 62, 2, 55, 53, 52, 46, 2, 35, - 34, 6, 21, 20, 22, 4,211,111, 98,182, 47, 92,139, 91, 65,103, 81, 61, 23, 6, 27, 68, 91,121, 81, 93,154,110, 60, 60,110,154, - 93, 59, 96, 77, 59, 23, 12, 3, 3, 2, 4,182, 1, 15, 44, 81,253,166, 76,105, 65, 31, 2, 27, 65,108, 81,135,127,127,131,130, -130, 1, 53,254,193,105,152, 98, 46, 30, 54, 74, 44, 41, 74, 55, 32, 72,143,212,140,141,213,144, 73, 26, 44, 58, 32, 34, 31, 26, - 54, 17, 1,180,251,146, 62,106, 78, 45, 46, 94,140, 95, 41,101,157,107, 55,218,204,209,205, 0, 0, 1, 0, 78,255,236, 6, 68, - 5,203, 0, 63, 0,133, 64, 86, 13, 91, 32, 0, 91, 43, 37, 32, 7, 32, 43, 43, 32, 7, 3, 22, 51, 90, 54,101, 65,127, 65,143, - 65,159, 65,239, 65,255, 65, 5, 0, 65, 32, 65, 48, 65, 3,112, 22,128, 22, 2, 63, 22, 79, 22, 2, 22, 22, 64, 37, 6, 96, 7, - 0, 52, 1, 52, 52,223, 7, 1,170, 7, 1,120, 7, 1, 15, 7, 1, 8, 7, 7, 27, 48, 95, 59, 19, 21, 18, 96, 27, 4, 0, 63, -225, 51, 63,225, 17, 57, 47, 94, 93, 93, 93, 93, 51, 47, 93, 16,225, 57, 17, 1, 51, 47, 93, 93, 93, 93, 16,246,225, 17, 23, 57, - 47, 47, 47, 18, 57, 16,225, 16,225, 49, 48, 1, 52, 46, 2, 35, 35, 53, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 6, 7, 39, 62, - 3, 51, 50, 30, 2, 21, 20, 14, 2, 7, 21, 30, 3, 21, 20, 30, 2, 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 3, - 41, 53,101,146, 93,191,176, 92,142, 97, 50, 37, 68, 95, 58,110,169, 75, 92, 38, 98,116,131, 71,109,166,113, 57, 51, 91,125, 75, - 87,138, 94, 50, 24, 50, 79, 55,111, 98,183, 56,102,145, 89, 87,148,108, 60, 1,135, 77,109, 70, 33,151, 39, 72,100, 62, 54, 83, - 58, 30, 67, 54,125, 31, 54, 41, 24, 54, 97,133, 79, 74,119, 88, 57, 12, 6, 11, 57, 89,119, 72, 74,104, 65, 30,119,129, 1,201, -254, 45,105,152, 98, 46, 47,100,156, 0, 0, 1, 0, 80,255,236, 5,162, 4, 94, 0, 59, 0,129, 64, 35, 21, 71, 0, 32, 70, 49, - 54, 49, 25, 0, 49, 25, 25, 49, 0, 3, 39, 8, 71, 11, 85, 61, 15, 61, 1,208, 61, 1,191, 61, 1, 48, 61, 1, 39,184,255,192, - 64, 41, 18, 21, 72, 95, 39, 1, 39, 39, 60, 54, 25, 80, 26, 9, 9,223, 26, 1,153, 26,169, 26, 2, 11, 26, 27, 26, 2, 7, 26, - 26, 5, 38, 35, 80, 44, 16, 5, 80, 16, 22, 0, 63,225, 63,225, 51, 18, 57, 47, 94, 93, 93, 93, 51, 47, 16,225, 57, 17, 1, 51, - 47, 93, 43, 93, 93, 93,113, 16,246,225, 17, 23, 57, 47, 47, 47, 17, 18, 57, 16,225, 16,225, 49, 48, 1, 20, 30, 2, 51, 50, 54, - 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, 52, 38, 35, 35, 53, 51, 50, 62, 2, 53, 52, 38, 35, 34, 6, 7, 39, 62, 3, 51, - 50, 30, 2, 21, 20, 14, 2, 7, 21, 30, 3, 3, 82, 21, 49, 80, 59,105, 96,182, 47, 95,143, 96, 92,144,100, 53,133,138,129, 97, - 61,100, 72, 39,115,108, 71,129, 75, 63, 40, 77, 82, 90, 53, 86,144,105, 58, 28, 51, 70, 43, 50, 83, 60, 34, 1, 76, 39, 73, 56, - 33,130,130, 1, 53,254,193,105,152, 98, 46, 43, 84,123, 79, 94, 91,153, 18, 39, 64, 45, 77, 77, 38, 34,147, 19, 29, 19, 9, 38, - 74,109, 70, 50, 77, 59, 41, 14, 11, 9, 41, 62, 82, 0, 0, 1, 0, 78,254,127, 4,156, 5,203, 0, 49, 0,131, 64, 84, 15, 91, - 39, 9, 34, 9, 34, 9, 24, 1, 90,112, 46,128, 46, 2, 46, 46, 0, 90, 47, 47, 51, 0, 51, 1,192, 51,208, 51, 2,159, 51, 1, - 0, 51, 32, 51, 48, 51, 3,112, 24,128, 24, 2, 63, 24, 79, 24, 2, 24, 24, 50, 48,251, 39, 8, 96,223, 9, 1,170, 9, 1,120, - 9, 1, 15, 9, 1, 8, 9, 9, 1, 23, 20, 96, 29, 4, 46, 95, 1, 18, 0, 63,225, 63,225, 51, 18, 57, 47, 94, 93, 93, 93, 93, -225, 57, 63, 17, 1, 51, 47, 93, 93, 93, 93, 93,113, 17, 51, 47,225, 50, 47, 93,225, 18, 57, 57, 47, 47, 18, 57,225, 49, 48, 33, - 35, 17, 52, 46, 2, 35, 35, 53, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 6, 7, 39, 62, 3, 51, 50, 30, 2, 21, 20, 14, 2, 7, - 21, 30, 3, 21, 21, 51, 17, 35, 3,236,187, 56,103,149, 93,191,176, 92,142, 97, 50, 37, 68, 95, 58,110,169, 75, 92, 38, 98,116, -131, 71,109,166,113, 57, 51, 91,125, 75, 87,138, 94, 50,176,176, 1,160, 67,100, 65, 32,151, 39, 72,100, 62, 54, 83, 58, 30, 67, - 54,125, 31, 54, 41, 24, 54, 97,133, 79, 74,119, 88, 57, 12, 6, 11, 57, 89,119, 72,250,253,217, 0, 1, 0, 80,254,131, 3,242, - 4, 94, 0, 45, 0,141, 64, 26, 12, 70, 29, 34, 29, 6, 29, 6, 29, 19, 0, 71, 41, 41, 45, 71, 32, 42, 48, 42, 64, 42, 96, 42, - 4, 42,184,255,192, 64, 14, 15, 19, 72, 42, 42, 47,192, 47,208, 47,224, 47, 3, 19,184,255,192, 64, 45, 18, 21, 72, 95, 19, 1, - 19, 19, 46, 43,251, 34, 5, 80,223, 6, 1,153, 6,169, 6, 2, 79, 6, 95, 6, 2, 11, 6, 27, 6, 2, 7, 6, 6, 0, 18, 15, - 80, 24, 16, 41, 80, 0, 21, 0, 63,225, 63,225, 51, 18, 57, 47, 94, 93, 93, 93, 93,233, 57, 63, 17, 1, 51, 47, 93, 43, 93, 17, - 51, 47, 43, 93,225, 50, 47,225, 18, 57, 57, 47, 47, 18, 57, 16,225, 49, 48, 33, 17, 52, 38, 35, 35, 53, 51, 50, 62, 2, 53, 52, - 38, 35, 34, 6, 7, 39, 62, 3, 51, 50, 30, 2, 21, 20, 14, 2, 7, 21, 30, 3, 21, 21, 51, 17, 35, 17, 2,156,129,138,129, 97, - 61,100, 72, 39,115,108, 71,129, 75, 63, 40, 77, 82, 90, 53, 86,144,105, 58, 28, 51, 70, 43, 44, 82, 63, 38,160,183, 1, 43, 94, -101,153, 18, 39, 64, 45, 77, 77, 38, 34,147, 19, 29, 19, 9, 38, 74,109, 70, 50, 77, 59, 41, 14, 11, 14, 44, 66, 91, 61,145,253, -233, 1,125, 0, 0, 1, 0, 0,255,233, 6,236, 5,182, 0, 49, 0,146, 64,101,215, 6,231, 6, 2, 6, 7, 1, 1,215, 1,247, - 1, 2, 1, 90, 28, 23, 16, 16, 24, 72,139, 23, 1, 23, 16, 7, 14, 72, 23, 28, 49, 90, 30,176, 30, 1,224, 28, 1,180, 28,196, - 28,212, 28, 3, 0, 28, 80, 28,144, 28,160, 28, 4, 7, 28, 30, 28, 30, 14, 36, 90, 39,101, 51, 79, 51,111, 51,127, 51,159, 51, -175, 51,223, 51, 6, 32, 51, 1, 15, 51, 1, 14, 37, 37, 18, 1, 95, 28, 3, 33, 18, 96, 44, 11, 19, 0, 63, 51,225, 50, 63,225, - 18, 57, 47, 1, 47, 93, 93, 93, 16,246,225, 17, 57, 57, 47, 47, 94, 93, 93, 93, 93, 16,225, 17, 51, 43, 93, 43, 16,225, 93,113, - 50, 93, 49, 48, 1, 33, 14, 3, 7, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 55, 54, 54, 18, 18, 55, 33, 17, 20, 22, - 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, 3,217,254,133, 15, 32, 33, 33, 16, 20, 53, 79,110, 78, 35, 74, 28, - 23, 58, 32, 48, 62, 42, 26, 12, 12, 32, 39, 43, 22, 2,208, 99,110,111, 98,183, 56,102,145, 89, 87,146,104, 58, 5, 18,113,245, -235,212, 81,103,162,111, 59, 14, 11,154, 13, 16, 63, 98,117, 54, 57,200, 1, 6, 1, 58,170,251,209,129,119,119,129, 1,201,254, - 45,105,152, 98, 46, 44, 96,153,108, 0, 0, 1, 0, 16,255,236, 6, 0, 4, 74, 0, 40, 0, 92, 64, 57, 1, 70, 17, 40, 71, 19, -160, 19, 1,219, 17, 1,196, 17, 1,144, 17,160, 17, 2, 36, 17, 1, 16, 17, 1, 17, 19, 17, 19, 9, 27, 71, 30, 85, 42,127, 42, -207, 42,239, 42, 3, 9, 28, 28, 12, 1, 80, 17, 15, 24, 12, 79, 35, 6, 22, 0, 63, 51,225, 50, 63,225, 18, 57, 47, 1, 47, 93, - 16,246,225, 17, 57, 57, 47, 47, 93, 93, 93, 93, 93, 93, 16,225, 16,225, 49, 48, 1, 33, 2, 2, 6, 6, 35, 34, 38, 39, 53, 22, - 51, 50, 54, 54, 18, 55, 33, 17, 20, 30, 2, 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, 2,250,254,254, 20, 64, - 95,130, 86, 28, 49, 16, 22, 28, 55, 89, 69, 51, 18, 2, 84, 21, 49, 80, 59,105, 96,182, 47, 95,143, 96, 92,145,102, 54, 3,176, -254,253,254,148,230,105, 6, 6,131, 6,117,241, 1,111,250,253, 61, 65, 98, 65, 32,130,130, 1, 53,254,193,105,152, 98, 46, 46, - 98,150,105, 0, 0, 1, 0,199,255,236, 7, 45, 5,182, 0, 29, 0, 92, 64, 55, 27, 19, 90,160, 0, 1, 0, 0, 23, 6, 90, 9, -101, 31,192, 31, 1,175, 31,191, 31, 2, 32, 31, 1, 15, 31, 1, 26, 22, 90, 23,100, 30, 21, 95, 26, 7, 7, 15, 26, 1, 8, 26, - 26, 23, 28, 24, 3, 23, 18, 3, 95, 14, 19, 0, 63,225, 63, 63, 51, 18, 57, 47, 94, 93, 51, 47, 16,225, 1, 16,246,225, 50, 93, - 93, 93, 93, 16,246,225, 17, 57, 47, 93,225, 50, 49, 48, 1, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, - 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 4,213, 98,111,110, 99,182, 56,102,144, 89, 88,145,104, 58,253,102,186,186, 2,154,186, - 1,135,129,119,119,129, 1,201,254, 45,105,152, 98, 46, 44, 96,153,108, 1, 45,253, 86, 5,182,253,152, 2,104, 0, 1, 0,174, -255,236, 6,139, 4, 74, 0, 31, 0,108, 64, 71, 2, 26, 71, 5, 5, 30, 13, 71, 16, 85, 33, 0, 33, 32, 33, 2, 64, 33, 80, 33, -128, 33,144, 33,176, 33,240, 33, 6, 15, 33, 1, 1, 29, 71, 30, 84, 32, 28, 80, 1, 14, 14,235, 1, 1,169, 1,185, 1, 2, 15, - 1, 31, 1, 47, 1, 3, 6, 1, 1, 30, 3, 31, 15, 30, 21, 10, 80, 21, 22, 0, 63,225, 63, 63, 51, 18, 57, 47, 94, 93, 93, 93, - 51, 47, 16,225, 1, 16,246,225, 50, 93, 93,113, 16,246,225, 17, 57, 47,225, 50, 49, 48, 1, 17, 33, 17, 51, 17, 20, 30, 2, 51, - 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, 53, 33, 17, 35, 17, 1,100, 2, 33,182, 21, 49, 80, 59,106, 95,182, 47, - 95,143, 96, 91,146,102, 54,253,223,182, 4, 74,254, 57, 1,199,253, 61, 65, 98, 65, 32,130,130, 1, 53,254,193,105,152, 98, 46, - 46, 98,150,105,110,254, 23, 4, 74, 0, 0, 1, 0,125,255,236, 5, 82, 5,203, 0, 42, 0, 71, 64, 41, 42, 42, 12, 41, 91, 1, - 20, 64, 9, 14, 72, 20, 20, 1,103, 44,191, 44, 1,112, 44, 1, 31, 91, 12,102, 43, 42, 95, 0, 0, 36, 26, 95, 21, 17, 4, 36, - 95, 7, 19, 0, 63,225, 63, 51,225, 18, 57, 47,225, 1, 16,246,225, 93, 93, 16,230, 50, 47, 43, 16,225, 18, 57, 47, 49, 48, 1, - 33, 21, 20, 2, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 36, 51, 50, 22, 23, 7, 46, 3, 35, 34, 14, 2, 21, 20, 30, 2, 51, - 50, 62, 2, 53, 33, 3, 23, 2, 59, 66,142,222,156,157,242,166, 86, 95,182, 1, 11,171,111,204, 88, 72, 36, 83, 88, 93, 46,122, -188,127, 66, 54,112,171,117,108,149, 93, 41,254,136, 2,246, 86,168,254,254,175, 91,105,195, 1, 23,174,172, 1, 22,195,105, 44, - 42,162, 17, 30, 23, 14, 81,152,218,137,130,216,156, 86, 66,119,166,100, 0, 1, 0,113,255,236, 4,123, 4, 94, 0, 40, 0,129, - 64, 90, 40, 40, 12, 39, 71, 1, 20, 64, 12, 17, 72, 20, 20, 1, 87, 42, 20, 42, 36, 42, 2,228, 42,244, 42, 2,208, 42, 1, 2, - 64, 42, 80, 42,128, 42,160, 42,192, 42, 5, 29, 72, 12, 86, 41, 40, 80, 0, 64, 21, 25, 72,203, 0,219, 0,235, 0, 3,169, 0, -185, 0, 2,143, 0,159, 0, 2, 11, 0, 27, 0, 43, 0, 3, 6, 0, 0, 34, 24, 80, 21, 17, 16, 34, 80, 7, 22, 0, 63,225, 63, - 51,225, 18, 57, 47, 94, 93, 93, 93, 93, 43,225, 1, 16,246,225, 93, 95, 93, 93,113, 16,230, 50, 47, 43, 16,225, 18, 57, 47, 49, - 48, 1, 33, 21, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, 20, 30, 2, 51, 50, - 62, 2, 53, 33, 2,123, 2, 0, 57,120,186,129,135,203,136, 68, 76,149,219,143,111,173, 77, 62, 60,148, 91, 97,149,101, 52, 41, - 86,135, 94, 81,116, 74, 35,254,184, 2, 74, 68,130,200,137, 71, 79,147,211,132,130,211,148, 80, 37, 39,141, 29, 41, 58,109,157, - 98, 93,155,112, 62, 45, 80,112, 68, 0, 0, 1, 0, 20,255,236, 4,201, 5,182, 0, 25, 0,101, 64, 47, 6, 90, 9,101, 27, 79, - 27,127, 27,159, 27,175, 27, 4, 0, 27, 1,175, 24,239, 24, 2,132, 24, 1, 24, 24, 0, 90, 19, 64, 21, 1, 15, 21, 1, 8, 21, - 21, 87, 19,103, 19,119, 19, 3, 19,184,255,192, 64, 16, 7, 10, 72, 19, 25, 21, 95, 22, 7, 7, 22, 3, 3, 95, 14, 19, 0, 63, -225, 63, 57, 47, 16,225, 50, 1, 47, 43, 93, 51, 47, 94, 93, 93, 16,225, 50, 47, 93, 93, 93, 93, 16,246,225, 49, 48, 1, 20, 22, - 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, 17, 33, 53, 33, 21, 33, 2,113, 98,111,110, 98,183, 56,102,144, 89, - 88,145,105, 58,254, 94, 3,254,254, 95, 1,135,129,119,119,129, 1,201,254, 45,105,152, 98, 46, 44, 96,153,108, 3,149,164,164, - 0, 1, 0, 41,255,236, 4,111, 4, 74, 0, 27, 0,109, 64, 74, 13, 71, 16, 85, 29, 15, 29, 1,207, 29,239, 29,255, 29, 3, 48, - 29, 64, 29, 96, 29, 3, 15, 29, 31, 29, 2, 15, 3, 1,204, 3, 1, 15, 3,191, 3, 2, 6, 3, 3, 5, 71, 26, 96, 0,112, 0, -208, 0, 3, 31, 0, 1, 0, 0, 0, 26, 16, 26, 2, 26, 14, 14, 1, 10, 80, 21, 22, 4, 0, 80, 1, 15, 0, 63,225, 50, 63,225, - 17, 57, 47, 1, 47, 93, 51, 47, 93, 93, 16,225, 50, 47, 94, 93, 93,113, 93, 93, 93,113, 16,246,225, 49, 48, 19, 53, 33, 21, 33, - 17, 20, 30, 2, 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, 17, 41, 3, 53,254,193, 21, 49, 80, 59,105, 95,183, - 47, 95,143, 96, 92,146,102, 54, 3,176,154,154,253,215, 65, 98, 65, 32,130,130, 1, 53,254,193,105,152, 98, 46, 46, 98,150,105, - 2, 53, 0, 1, 0,111,255,236, 4, 12, 5,203, 0, 57, 0, 93,180, 19, 91, 52, 26, 0,184,255,192, 64, 46, 23, 26, 72, 0, 26, - 0, 26, 47, 10, 10, 39, 59,159, 59, 1, 32, 91, 47,102, 58, 52, 27, 96,170, 24, 1,120, 24, 1, 15, 24, 1, 8, 24, 24, 5, 35, - 96, 38, 42, 19, 14, 96, 11, 5, 4, 0, 63, 51,225, 63, 51,225, 17, 57, 47, 94, 93, 93, 93,225, 57, 1, 16,246,225, 93, 16,206, - 50, 47, 18, 57, 57, 47, 47, 43, 18, 57,225, 49, 48, 19, 52, 62, 2, 51, 50, 30, 2, 23, 7, 38, 38, 35, 34, 14, 2, 21, 20, 30, - 2, 51, 51, 21, 35, 34, 14, 2, 21, 20, 22, 51, 50, 54, 55, 21, 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 55, 53, 46, 3,156, 59, -115,169,109, 72,123,105, 90, 38, 92, 75,162,103, 57, 95, 68, 38, 44, 87,130, 87,195,191, 93,146,101, 53,170,164,108,204, 83, 83, -192,128,128,195,131, 66, 49, 95,137, 87, 74,120, 84, 45, 4, 96, 79,133, 97, 54, 24, 41, 54, 31,125, 54, 67, 30, 58, 83, 54, 62, -100, 72, 39,151, 33, 67,101, 67,137,142, 49, 43,170, 38, 37, 60,111,156, 96, 72,123, 94, 61, 11, 6, 12, 57, 88,119, 0, 0, 1, - 0, 92,255,236, 3,106, 4, 94, 0, 55, 0,109,180, 50, 70, 30, 1, 35,184,255,192, 64, 61, 23, 26, 72, 35, 1, 35, 1, 24, 43, - 15, 57,208, 57,224, 57,240, 57, 3,143, 57, 1, 64, 57, 1, 5, 71, 24, 86, 56, 29, 2, 80,239, 55, 1,169, 55,185, 55, 2, 15, - 55, 31, 55, 47, 55, 3, 6, 55, 55, 10, 47, 80, 44, 40, 16, 10, 80, 15, 19, 22, 0, 63, 51,225, 63, 51,225, 18, 57, 47, 94, 93, - 93, 93,225, 57, 1, 16,246,225, 93, 93, 93, 16,206, 50, 17, 57, 57, 47, 47, 43, 18, 57,225, 49, 48, 1, 21, 35, 34, 6, 21, 20, - 30, 2, 51, 50, 62, 2, 55, 21, 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 55, 53, 46, 3, 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, - 38, 35, 34, 6, 21, 20, 30, 2, 51, 2,158,129,138,133, 41, 70, 96, 55, 51, 97, 87, 77, 30, 60,175,115,110,162,107, 53, 40, 67, - 89, 48, 43, 73, 53, 30, 58,105,144, 86, 90,162, 80, 63, 75,131, 71,102,109, 38, 68, 95, 57, 2,135,153, 91, 94, 51, 69, 42, 18, - 14, 22, 30, 16,162, 29, 40, 48, 86,120, 71, 61, 91, 64, 41, 13, 11, 14, 41, 59, 77, 50, 70,109, 74, 38, 37, 39,147, 34, 38, 77, - 77, 45, 64, 39, 18, 0,255,255, 0, 0,254,109, 5, 47, 5,182, 2, 38, 1,181, 0, 0, 1, 7, 3,128, 3,184, 0, 0, 0, 13, -180, 1, 1, 49, 49, 0, 1, 16, 60, 17, 53, 0, 53, 0,255,255, 0, 16,254,109, 4, 76, 4, 74, 2, 38, 1,213, 0, 0, 1, 7, - 3,129, 2,213, 0, 0, 0, 13,180, 1, 1, 38, 38, 0, 1, 16, 60, 17, 53, 0, 53, 0,255,255, 0, 0,254,152, 4,221, 5,188, - 2, 38, 0, 36, 0, 0, 1, 7, 2,103, 4,211, 0, 0, 0, 19, 64, 11, 2, 24, 20, 39, 2, 0, 21, 27, 4, 7, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 0, 94,254,152, 3,156, 4, 94, 2, 38, 0, 68, 0, 0, 1, 7, 2,103, 4,111, 0, 0, 0, 19, 64, 11, - 2, 54, 23, 39, 2, 13, 51, 57, 12, 34, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0, 0, 0, 4,221, 7,225, 2, 38, 0, 36, - 0, 0, 1, 7, 2,102, 4,209, 1, 82, 0, 19, 64, 11, 2, 27, 5, 38, 2, 33, 42, 21, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0, 94,255,236, 3,156, 6,143, 2, 38, 0, 68, 0, 0, 1, 7, 2,102, 4,117, 0, 0, 0, 19, 64, 11, 2, 57, 17, 38, - 2, 54, 72, 51, 12, 34, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0, 0, 0, 4,221, 7,209, 2, 38, 0, 36, 0, 0, 1, 7, - 3,119, 4,203, 1, 82, 0, 25,182, 3, 2, 21, 5, 38, 3, 2,184,255,255,180, 29, 21, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, - 53, 0,255,255, 0, 94,255,236, 4, 71, 6,127, 2, 38, 0, 68, 0, 0, 1, 7, 3,119, 4,137, 0, 0, 0, 23, 64, 13, 3, 2, - 51, 17, 38, 3, 2, 51, 59, 51, 12, 34, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, 4,221, 7,209, 2, 38, - 0, 36, 0, 0, 1, 7, 3,120, 4,203, 1, 82, 0, 25,182, 3, 2, 29, 5, 38, 3, 2,184,255,255,180, 37, 29, 4, 7, 37, 1, - 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 18,255,236, 3,156, 6,127, 2, 38, 0, 68, 0, 0, 1, 7, 3,120, 4,137, 0, 0, - 0, 23, 64, 13, 3, 2, 59, 17, 38, 3, 2, 51, 67, 59, 12, 34, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, - 4,221, 8, 74, 2, 38, 0, 36, 0, 0, 1, 7, 3,121, 4,203, 1, 82, 0, 25,182, 3, 2, 21, 5, 38, 3, 2,184,255,255,180, - 29, 21, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 94,255,236, 4, 6, 6,248, 2, 38, 0, 68, 0, 0, 1, 7, - 3,121, 4,137, 0, 0, 0, 23, 64, 13, 3, 2, 51, 17, 38, 3, 2, 51, 59, 51, 12, 34, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, -255,255, 0, 0, 0, 0, 4,221, 8, 98, 2, 38, 0, 36, 0, 0, 1, 7, 3,122, 4,203, 1, 82, 0, 25,182, 3, 2, 29, 5, 38, - 3, 2,184,255,255,180, 37, 29, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 94,255,236, 3,156, 7, 16, 2, 38, - 0, 68, 0, 0, 1, 7, 3,122, 4,137, 0, 0, 0, 23, 64, 13, 3, 2, 59, 17, 38, 3, 2, 11, 59, 51, 12, 34, 37, 1, 43, 53, - 53, 0, 43, 53, 53, 0,255,255, 0, 0,254,152, 4,221, 7,115, 2, 38, 0, 36, 0, 0, 0, 39, 1, 75, 0, 31, 1, 82, 1, 7, - 2,103, 4,211, 0, 0, 0, 37, 64, 16, 3, 45, 20, 39, 2, 21, 5, 38, 3, 0, 42, 48, 4, 7, 37, 2,184,255,255,180, 29, 21, - 4, 7, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53, 0,255,255, 0, 94,254,152, 3,156, 6, 33, 2, 38, 0, 68, 0, 0, 0, 38, - 1, 75,212, 0, 1, 7, 2,103, 4,111, 0, 0, 0, 34, 64, 22, 3, 75, 23, 39, 2, 51, 17, 38, 3, 13, 72, 78, 12, 34, 37, 2, - 37, 59, 51, 12, 34, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53,255,255, 0, 0, 0, 0, 4,221, 8, 19, 2, 38, 0, 36, 0, 0, - 1, 7, 3,123, 4,203, 1, 82, 0, 23, 64, 13, 3, 2, 38, 5, 38, 3, 2, 0, 41, 33, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, - 53, 0,255,255, 0, 94,255,236, 3,156, 6,193, 2, 38, 0, 68, 0, 0, 1, 7, 3,123, 4,123, 0, 0, 0, 23, 64, 13, 3, 2, - 68, 17, 38, 3, 2, 30, 71, 63, 12, 34, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, 4,221, 8, 19, 2, 38, - 0, 36, 0, 0, 1, 7, 3,124, 4,203, 1, 82, 0, 23, 64, 13, 3, 2, 38, 5, 38, 3, 2, 0, 41, 33, 4, 7, 37, 1, 43, 53, - 53, 0, 43, 53, 53, 0,255,255, 0, 94,255,236, 3,156, 6,193, 2, 38, 0, 68, 0, 0, 1, 7, 3,124, 4,123, 0, 0, 0, 23, - 64, 13, 3, 2, 68, 17, 38, 3, 2, 30, 71, 63, 12, 34, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, 4,221, - 8, 88, 2, 38, 0, 36, 0, 0, 1, 7, 3,125, 4,203, 1, 82, 0, 23, 64, 13, 3, 2, 26, 5, 38, 3, 2, 0, 29, 21, 4, 7, - 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 94,255,236, 3,156, 7, 6, 2, 38, 0, 68, 0, 0, 1, 7, 3,125, 4,123, - 0, 0, 0, 23, 64, 13, 3, 2, 56, 17, 38, 3, 2, 30, 59, 51, 12, 34, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, - 0, 0, 4,221, 8, 98, 2, 38, 0, 36, 0, 0, 1, 7, 3,126, 4,203, 1, 82, 0, 23, 64, 13, 3, 2, 26, 5, 38, 3, 2, 0, - 29, 21, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 94,255,236, 3,156, 7, 16, 2, 38, 0, 68, 0, 0, 1, 7, - 3,126, 4,123, 0, 0, 0, 23, 64, 13, 3, 2, 56, 17, 38, 3, 2, 30, 80, 94, 12, 34, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, -255,255, 0, 0,254,152, 4,221, 7, 91, 2, 38, 0, 36, 0, 0, 0, 39, 1, 78, 0, 33, 1,109, 1, 7, 2,103, 4,211, 0, 0, - 0, 34, 64, 22, 3, 46, 20, 39, 2, 26, 5, 38, 3, 0, 43, 49, 4, 7, 37, 2, 0, 31, 21, 4, 7, 37, 1, 43, 53, 43, 53, 0, - 43, 53, 43, 53,255,255, 0, 94,254,152, 3,156, 5,238, 2, 38, 0, 68, 0, 0, 0, 38, 1, 78,212, 0, 1, 7, 2,103, 4,111, - 0, 0, 0, 34, 64, 22, 3, 76, 23, 39, 2, 56, 17, 38, 3, 13, 73, 79, 12, 34, 37, 2, 30, 61, 51, 12, 34, 37, 1, 43, 53, 43, - 53, 0, 43, 53, 43, 53,255,255, 0,199,254,152, 3,190, 5,182, 2, 38, 0, 40, 0, 0, 1, 7, 2,103, 4,170, 0, 0, 0, 19, - 64, 11, 1, 15, 20, 39, 1, 3, 12, 18, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,254,152, 3,225, 4, 94, 2, 38, - 0, 72, 0, 0, 1, 7, 2,103, 4,190, 0, 0, 0, 19, 64, 11, 2, 43, 23, 39, 2, 48, 40, 46, 5, 15, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0,199, 0, 0, 3,190, 7,225, 2, 38, 0, 40, 0, 0, 1, 7, 2,102, 4,145, 1, 82, 0, 19, 64, 11, 1, 18, - 5, 38, 1, 13, 33, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 3,225, 6,143, 2, 38, 0, 72, 0, 0, - 1, 7, 2,102, 4,152, 0, 0, 0, 19, 64, 11, 2, 46, 17, 38, 2, 45, 61, 40, 5, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0,199, 0, 0, 3,190, 7, 53, 2, 38, 0, 40, 0, 0, 1, 7, 1, 82,255,212, 1, 82, 0, 21,180, 1, 20, 5, 38, 1,184,255, -251,180, 21, 35, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,113,255,236, 3,225, 5,227, 2, 38, 0, 72, 0, 0, 1, 6, - 1, 82,222, 0, 0, 19, 64, 11, 2, 48, 17, 38, 2, 30, 49, 63, 5, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,199, 0, 0, - 4, 92, 7,209, 2, 38, 0, 40, 0, 0, 1, 7, 3,119, 4,158, 1, 82, 0, 25,182, 2, 1, 12, 5, 38, 2, 1,184,255,253,180, - 20, 12, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,113,255,236, 4, 71, 6,127, 2, 38, 0, 72, 0, 0, 1, 7, - 3,119, 4,137, 0, 0, 0, 23, 64, 13, 3, 2, 40, 17, 38, 3, 2, 3, 48, 40, 5, 15, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, -255,255, 0, 39, 0, 0, 3,190, 7,209, 2, 38, 0, 40, 0, 0, 1, 7, 3,120, 4,158, 1, 82, 0, 25,182, 2, 1, 20, 5, 38, - 2, 1,184,255,253,180, 28, 20, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 18,255,236, 3,225, 6,127, 2, 38, - 0, 72, 0, 0, 1, 7, 3,120, 4,137, 0, 0, 0, 23, 64, 13, 3, 2, 48, 17, 38, 3, 2, 3, 56, 48, 5, 15, 37, 1, 43, 53, - 53, 0, 43, 53, 53, 0,255,255, 0,199, 0, 0, 4, 27, 8, 74, 2, 38, 0, 40, 0, 0, 1, 7, 3,121, 4,158, 1, 82, 0, 25, -182, 2, 1, 12, 5, 38, 2, 1,184,255,253,180, 20, 12, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,113,255,236, - 4, 6, 6,248, 2, 38, 0, 72, 0, 0, 1, 7, 3,121, 4,137, 0, 0, 0, 23, 64, 13, 3, 2, 40, 17, 38, 3, 2, 3, 48, 40, - 5, 15, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,199, 0, 0, 3,190, 8, 98, 2, 38, 0, 40, 0, 0, 1, 7, 3,122, - 4,158, 1, 82, 0, 25,182, 2, 1, 20, 5, 38, 2, 1,184,255,253,180, 28, 20, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, -255,255, 0,113,255,236, 3,225, 7, 16, 2, 38, 0, 72, 0, 0, 1, 7, 3,122, 4,137, 0, 0, 0, 23, 64, 13, 3, 2, 48, 17, - 38, 3, 2, 3, 56, 48, 5, 15, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,199,254,152, 3,190, 7,115, 2, 38, 0, 40, - 0, 0, 0, 39, 1, 75,255,241, 1, 82, 1, 7, 2,103, 4,170, 0, 0, 0, 37, 64, 16, 2, 36, 20, 39, 1, 12, 5, 38, 2, 3, - 33, 39, 1, 0, 37, 1,184,255,253,180, 20, 12, 1, 0, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53, 0,255,255, 0,113,254,152, - 3,225, 6, 33, 2, 38, 0, 72, 0, 0, 0, 38, 1, 75,222, 0, 1, 7, 2,103, 4,170, 0, 0, 0, 34, 64, 22, 3, 64, 23, 39, - 2, 40, 17, 38, 3, 28, 61, 67, 5, 15, 37, 2, 3, 48, 40, 5, 15, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53,255,255, 0, 82, - 0, 0, 2,100, 7,225, 2, 38, 0, 44, 0, 0, 1, 7, 2,102, 3,176, 1, 82, 0, 19, 64, 11, 1, 18, 5, 38, 1, 19, 33, 12, - 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 98, 0, 0, 1,215, 6,143, 2, 38, 0,243, 0, 0, 1, 7, 2,102, 3, 94, - 0, 0, 0, 19, 64, 11, 1, 10, 17, 38, 1, 19, 25, 4, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82,254,152, 2,100, - 5,182, 2, 38, 0, 44, 0, 0, 1, 7, 2,103, 3,190, 0, 0, 0, 21,180, 1, 15, 20, 39, 1,184,255,255,180, 12, 18, 1, 0, - 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,158,254,152, 1,117, 5,229, 2, 38, 0, 76, 0, 0, 1, 7, 2,103, 3,109, 0, 0, - 0, 21,180, 2, 21, 23, 39, 2,184,255,254,180, 18, 24, 4, 12, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,254,152, 5,113, - 5,205, 2, 38, 0, 50, 0, 0, 1, 7, 2,103, 5, 92, 0, 0, 0, 19, 64, 11, 2, 43, 20, 39, 2, 0, 40, 46, 10, 0, 37, 1, - 43, 53, 0, 43, 53, 0,255,255, 0,113,254,152, 4, 45, 4, 94, 2, 38, 0, 82, 0, 0, 1, 7, 2,103, 4,178, 0, 0, 0, 21, -180, 2, 35, 23, 39, 2,184,255,255,180, 32, 38, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 5,113, 7,225, - 2, 38, 0, 50, 0, 0, 1, 7, 2,102, 5, 78, 1, 82, 0, 19, 64, 11, 2, 46, 5, 38, 2, 21, 61, 40, 10, 0, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 0,113,255,236, 4, 45, 6,143, 2, 38, 0, 82, 0, 0, 1, 7, 2,102, 4,164, 0, 0, 0, 19, 64, 11, - 2, 38, 17, 38, 2, 19, 53, 32, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 5,113, 7,209, 2, 38, 0, 50, - 0, 0, 1, 7, 3,119, 5, 88, 1, 82, 0, 23, 64, 13, 3, 2, 40, 5, 38, 3, 2, 5, 48, 40, 10, 0, 37, 1, 43, 53, 53, 0, - 43, 53, 53, 0,255,255, 0,113,255,236, 4,104, 6,127, 2, 38, 0, 82, 0, 0, 1, 7, 3,119, 4,170, 0, 0, 0, 25,182, 3, - 2, 32, 17, 38, 3, 2,184,255,250,180, 40, 32, 10, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,125,255,236, 5,113, - 7,209, 2, 38, 0, 50, 0, 0, 1, 7, 3,120, 5, 88, 1, 82, 0, 23, 64, 13, 3, 2, 48, 5, 38, 3, 2, 5, 56, 48, 10, 0, - 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 51,255,236, 4, 45, 6,127, 2, 38, 0, 82, 0, 0, 1, 7, 3,120, 4,170, - 0, 0, 0, 25,182, 3, 2, 40, 17, 38, 3, 2,184,255,250,180, 48, 40, 10, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, - 0,125,255,236, 5,113, 8, 74, 2, 38, 0, 50, 0, 0, 1, 7, 3,121, 5, 88, 1, 82, 0, 23, 64, 13, 3, 2, 40, 5, 38, 3, - 2, 5, 48, 40, 10, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,113,255,236, 4, 45, 6,248, 2, 38, 0, 82, 0, 0, - 1, 7, 3,121, 4,170, 0, 0, 0, 25,182, 3, 2, 32, 17, 38, 3, 2,184,255,250,180, 40, 32, 10, 0, 37, 1, 43, 53, 53, 0, - 43, 53, 53, 0,255,255, 0,125,255,236, 5,113, 8, 98, 2, 38, 0, 50, 0, 0, 1, 7, 3,122, 5, 88, 1, 82, 0, 23, 64, 13, - 3, 2, 48, 5, 38, 3, 2, 5, 56, 48, 10, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,113,255,236, 4, 45, 7, 16, - 2, 38, 0, 82, 0, 0, 1, 7, 3,122, 4,170, 0, 0, 0, 25,182, 3, 2, 40, 17, 38, 3, 2,184,255,250,180, 48, 40, 10, 0, - 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,125,254,152, 5,113, 7,115, 2, 38, 0, 50, 0, 0, 0, 39, 1, 75, 0,174, - 1, 82, 1, 7, 2,103, 5, 92, 0, 0, 0, 34, 64, 22, 3, 64, 20, 39, 2, 40, 5, 38, 3, 0, 61, 67, 10, 0, 37, 2, 5, 48, - 40, 10, 0, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53,255,255, 0,113,254,152, 4, 45, 6, 33, 2, 38, 0, 82, 0, 0, 0, 38, - 1, 75,251, 0, 1, 7, 2,103, 4,178, 0, 0, 0, 40, 64, 9, 3, 56, 23, 39, 2, 32, 17, 38, 3,184,255,255,181, 53, 59, 10, - 0, 37, 2,184,255,250,180, 40, 32, 10, 0, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53,255,255, 0,125,255,236, 6, 37, 7,115, - 2, 38, 2, 95, 0, 0, 1, 7, 0,118, 1, 6, 1, 82, 0, 19, 64, 11, 2, 65, 5, 38, 2, 2, 53, 59, 19, 1, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 0,113,255,236, 4,244, 6, 33, 2, 38, 2, 96, 0, 0, 1, 6, 0,118, 80, 0, 0, 21,180, 2, 58, 17, - 38, 2,184,255,235,180, 45, 51, 10, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 6, 37, 7,115, 2, 38, 2, 95, - 0, 0, 1, 7, 0, 67, 0, 84, 1, 82, 0, 21,180, 2, 53, 5, 38, 2,184,255, 81,180, 59, 53, 19, 1, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0,113,255,236, 4,244, 6, 33, 2, 38, 2, 96, 0, 0, 1, 6, 0,118, 80, 0, 0, 21,180, 2, 58, 17, 38, 2, -184,255,235,180, 45, 51, 10, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 6, 37, 7,225, 2, 38, 2, 95, 0, 0, - 1, 7, 2,102, 5, 78, 1, 82, 0, 21,180, 2, 60, 5, 38, 2,184,255,188,180, 74, 53, 19, 1, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0,113,255,236, 4,244, 6,143, 2, 38, 2, 96, 0, 0, 1, 7, 2,102, 4,164, 0, 0, 0, 21,180, 2, 52, 17, 38, 2, -184,255,176,180, 66, 45, 10, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 6, 37, 7, 53, 2, 38, 2, 95, 0, 0, - 1, 7, 1, 82, 0,125, 1, 82, 0, 21,180, 2, 61, 5, 38, 2,184,255,150,180, 62, 76, 19, 1, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0,113,255,236, 4, 45, 5,227, 2, 38, 0, 82, 0, 0, 1, 6, 1, 82,226, 0, 0, 21,180, 2, 40, 17, 38, 2,184,255, -253,180, 41, 55, 10, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,254,152, 6, 37, 6, 20, 2, 38, 2, 95, 0, 0, 1, 7, - 2,103, 5, 92, 0, 0, 0, 21,180, 2, 56, 20, 39, 2,184,255,167,180, 53, 59, 19, 1, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0,113,254,152, 4,244, 4,242, 2, 38, 2, 96, 0, 0, 1, 7, 2,103, 4,178, 0, 0, 0, 21,180, 2, 48, 23, 39, 2,184,255, -155,180, 45, 51, 10, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,184,254,152, 4,221, 5,184, 2, 38, 0, 56, 0, 0, 1, 7, - 2,103, 5, 47, 0, 0, 0, 19, 64, 11, 1, 27, 20, 39, 1, 0, 24, 30, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164, -254,152, 4, 8, 4, 74, 2, 38, 0, 88, 0, 0, 1, 7, 2,103, 4,184, 0, 0, 0, 21,180, 1, 30, 23, 39, 1,184,255,254,180, - 27, 33, 12, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,184,255,236, 4,221, 7,225, 2, 38, 0, 56, 0, 0, 1, 7, 2,102, - 5, 29, 1, 82, 0, 19, 64, 11, 1, 30, 5, 38, 1, 17, 45, 24, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164,255,236, - 4, 8, 6,143, 2, 38, 0, 88, 0, 0, 1, 7, 2,102, 4,166, 0, 0, 0, 19, 64, 11, 1, 33, 17, 38, 1, 14, 48, 27, 12, 25, - 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,184,255,236, 6, 78, 7,115, 2, 38, 2, 97, 0, 0, 1, 7, 0,118, 0,197, 1, 82, - 0, 21,180, 1, 49, 5, 38, 1,184,255,144,180, 37, 43, 24, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164,255,236, 5,121, - 6, 33, 2, 38, 2, 98, 0, 0, 1, 6, 0,118, 96, 0, 0, 17,177, 1, 1,184,255,159,180, 40, 46, 12, 33, 37, 1, 43, 53, 0, - 53, 0,255,255, 0,184,255,236, 6, 78, 7,115, 2, 38, 2, 97, 0, 0, 1, 7, 0, 67, 0, 61, 1, 82, 0, 21,180, 1, 37, 5, - 38, 1,184,255, 8,180, 43, 37, 24, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,164,255,236, 5,121, 6, 33, 2, 38, 2, 98, - 0, 0, 1, 6, 0, 67,163, 0, 0, 17,177, 1, 1,184,254,226,180, 46, 40, 12, 33, 37, 1, 43, 53, 0, 53, 0,255,255, 0,184, -255,236, 6, 78, 7,225, 2, 38, 2, 97, 0, 0, 1, 7, 2,102, 5, 29, 1, 82, 0, 17,177, 1, 1,184,255, 89,180, 58, 37, 24, - 8, 37, 1, 43, 53, 0, 53, 0,255,255, 0,164,255,236, 5,121, 6,143, 2, 38, 2, 98, 0, 0, 1, 7, 2,102, 4,166, 0, 0, - 0, 17,177, 1, 1,184,255, 86,180, 61, 40, 12, 33, 37, 1, 43, 53, 0, 53, 0,255,255, 0,184,255,236, 6, 78, 7, 53, 2, 38, - 2, 97, 0, 0, 1, 7, 1, 82, 0, 96, 1, 82, 0, 21,180, 1, 45, 5, 38, 1,184,255, 71,180, 46, 60, 24, 8, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 0,164,255,236, 5,121, 5,227, 2, 38, 2, 98, 0, 0, 1, 6, 1, 82,243, 0, 0, 17,177, 1, 1,184, -255, 78,180, 49, 63, 12, 33, 37, 1, 43, 53, 0, 53, 0,255,255, 0,184,254,152, 6, 78, 6, 20, 2, 38, 2, 97, 0, 0, 1, 7, - 2,103, 5, 47, 0, 0, 0, 21,180, 1, 40, 20, 39, 1,184,255, 72,180, 37, 43, 24, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0,164,254,152, 5,121, 4,242, 2, 38, 2, 98, 0, 0, 1, 7, 2,103, 4,184, 0, 0, 0, 21,180, 1, 43, 23, 39, 1,184,255, - 69,180, 40, 46, 12, 33, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0,254,152, 4, 55, 5,182, 2, 38, 0, 60, 0, 0, 1, 7, - 2,103, 4,127, 0, 0, 0, 21,180, 1, 12, 20, 39, 1,184,255,255,180, 9, 15, 7, 2, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0, 10,254, 20, 3,223, 4, 74, 2, 38, 0, 92, 0, 0, 1, 7, 2,103, 5,139, 0, 0, 0, 17,177, 1, 1,184, 1, 50,180, 35, - 41, 0, 15, 37, 1, 43, 53, 0, 53, 0,255,255, 0, 0, 0, 0, 4, 55, 7,225, 2, 38, 0, 60, 0, 0, 1, 7, 2,102, 4,113, - 1, 82, 0, 19, 64, 11, 1, 15, 5, 38, 1, 20, 30, 9, 7, 2, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 10,254, 20, 3,223, - 6,143, 2, 38, 0, 92, 0, 0, 1, 7, 2,102, 4, 74, 0, 0, 0, 19, 64, 11, 1, 41, 17, 38, 1, 20, 56, 35, 0, 15, 37, 1, - 43, 53, 0, 43, 53, 0,255,255, 0, 0, 0, 0, 4, 55, 7, 53, 2, 38, 0, 60, 0, 0, 1, 7, 1, 82,255,179, 1, 82, 0, 19, - 64, 11, 1, 17, 5, 38, 1, 1, 18, 32, 7, 2, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 10,254, 20, 3,223, 5,227, 2, 38, - 0, 92, 0, 0, 1, 6, 1, 82,140, 0, 0, 19, 64, 11, 1, 43, 17, 38, 1, 1, 44, 58, 0, 15, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0,113,254,188, 4,158, 6, 20, 2, 38, 0,211, 0, 0, 1, 7, 0, 66, 0,180, 0, 0, 0, 14,185, 0, 2,255,210,180, - 58, 57, 11, 35, 37, 1, 43, 53, 0, 2,251,219, 4,217,254,186, 6, 33, 0, 13, 0, 27, 0, 45, 64, 25, 20, 14, 14, 7, 64, 80, - 0, 1, 63, 0, 79, 0, 2, 0, 21, 7,146,128, 15, 15, 1, 95, 1, 2, 1, 0, 47, 93, 51, 26,237, 50, 1, 47, 93, 93, 26,205, - 57, 47,205, 49, 48, 1, 35, 46, 3, 39, 53, 51, 30, 3, 23, 5, 35, 46, 3, 39, 53, 51, 30, 3, 23,254,186,100, 35, 81, 77, 63, - 16,198, 16, 42, 47, 48, 21,254,150,100, 35, 82, 77, 63, 16,199, 16, 42, 47, 48, 21, 4,217, 28, 83, 88, 81, 27, 21, 35, 80, 81, - 76, 29, 27, 28, 83, 88, 81, 27, 21, 35, 80, 81, 76, 29, 0, 2,252,106, 4,217,255,190, 6,127, 0, 16, 0, 28, 0, 82, 64, 49, - 13, 12, 4, 16, 23, 1, 23, 64, 47, 28, 63, 28, 79, 28, 3, 28, 4, 4, 28, 47, 0, 95, 0,143, 0,159, 0, 4, 0,192, 8, 22, - 27, 27, 4,127, 12,143, 12, 2, 12,128, 0, 15, 8, 95, 8, 2, 8, 0, 47, 93, 51, 26,204, 93, 50, 57, 47,205, 1, 47, 26,204, - 93, 57, 57, 61, 47, 24, 47, 93, 26,205, 93, 17, 51, 51, 49, 48, 1, 35, 38, 38, 39, 6, 6, 7, 35, 53, 54, 54, 55, 51, 22, 22, - 23, 39, 62, 3, 55, 51, 21, 6, 6, 7, 35,254,217,100, 51,108, 52, 54,106, 51,101, 51,117, 48,192, 48,116, 51, 78, 20, 33, 29, - 29, 16,180, 45,106, 55,101, 4,217, 34, 84, 48, 48, 84, 34, 27, 59,132, 69, 69,132, 59,194, 25, 45, 46, 52, 33, 21, 60,103, 43, - 0, 2,251,137, 4,217,254,221, 6,127, 0, 16, 0, 28, 0, 74, 64, 42, 4, 3, 12, 31, 22, 1, 22, 64, 28, 12, 12, 28, 47, 8, - 95, 8,143, 8,159, 8, 4, 8,192, 0, 22, 18, 18, 12,127, 3,143, 3, 2, 3,128, 16, 15, 8, 95, 8, 2, 8, 0, 47, 93, 51, - 26,205, 93, 50, 57, 47,205, 1, 47, 26,204, 93, 57, 57, 61, 47, 24, 47, 26,205, 93, 17, 51, 51, 49, 48, 1, 54, 54, 55, 51, 22, - 22, 23, 21, 35, 38, 38, 39, 6, 6, 7, 35, 55, 35, 38, 38, 39, 53, 51, 30, 3, 23,252,111, 51,116, 48,192, 48,116, 51,100, 51, -106, 54, 53,107, 51,100, 77,100, 56,106, 45,180, 16, 29, 30, 32, 20, 4,244, 59,132, 69, 69,132, 59, 27, 34, 84, 48, 48, 84, 34, -195, 43,103, 60, 21, 33, 52, 46, 45, 25, 0, 2,252,106, 4,217,255,125, 6,248, 0, 16, 0, 40, 0, 94, 64, 56, 22, 25, 25, 32, - 6, 14, 72, 25, 28, 17,128, 47, 35, 63, 35, 79, 35, 3, 35, 4, 4, 35, 47, 0, 95, 0,143, 0,159, 0, 4, 0,192, 8, 22, 25, - 25, 31, 38, 24, 24, 4,127, 12,143, 12, 2, 12,128, 0, 15, 8, 95, 8, 2, 8, 0, 47, 93, 51, 26,204, 93, 50, 57, 47,204, 50, - 57, 17, 51, 1, 47, 26,204, 93, 57, 57, 61, 47, 24, 47, 93, 26,205, 50, 57, 43, 17, 51, 49, 48, 1, 35, 38, 38, 39, 6, 6, 7, - 35, 53, 54, 54, 55, 51, 22, 22, 23, 19, 20, 14, 2, 7, 7, 35, 39, 54, 54, 53, 52, 38, 35, 34, 6, 7, 53, 54, 54, 51, 50, 22, -254,217,100, 51,108, 52, 54,106, 51,101, 51,117, 48,192, 48,116, 51,164, 20, 34, 46, 25, 6, 86, 10, 55, 65, 57, 43, 22, 39, 11, - 11, 38, 31, 99,100, 4,217, 34, 84, 48, 48, 84, 34, 27, 59,132, 69, 69,132, 59, 1,118, 29, 43, 30, 21, 6, 81,131, 9, 31, 37, - 37, 25, 3, 3, 82, 3, 3, 69, 0, 2,252,100, 4,217,254,233, 7, 16, 0, 16, 0, 44, 0, 97, 64, 59, 4, 3, 12, 12, 0, 40, - 40, 47, 8, 95, 8,143, 8,159, 8, 4, 8, 0,192, 26, 26, 0, 39, 22,142,207, 31,223, 31,239, 31, 3, 31, 64, 9, 13, 72, 31, - 31, 36,142, 25, 17, 17, 12,127, 3,143, 3, 2, 3,128, 16, 15, 8, 95, 8, 2, 8, 0, 47, 93, 51, 26,205, 93, 50, 50, 47, 51, -225, 51, 47, 43, 93,225, 51, 1, 47, 51, 47, 26, 16,204, 93, 50, 47, 17, 57, 61, 47, 51, 51, 49, 48, 1, 54, 54, 55, 51, 22, 22, - 23, 21, 35, 38, 38, 39, 6, 6, 7, 35, 1, 34, 46, 2, 35, 34, 6, 7, 35, 62, 3, 51, 50, 30, 2, 51, 50, 54, 55, 51, 14, 3, -252,111, 51,116, 48,192, 48,116, 51,100, 51,106, 54, 53,107, 51,100, 1,190, 36, 71, 69, 64, 28, 40, 42, 14, 93, 5, 29, 48, 65, - 42, 37, 74, 69, 62, 26, 40, 42, 14, 92, 5, 28, 48, 65, 4,244, 59,132, 69, 69,132, 59, 27, 34, 84, 48, 48, 84, 34, 1, 90, 28, - 34, 28, 42, 50, 48, 81, 59, 33, 28, 34, 28, 43, 49, 48, 81, 59, 33, 0, 0, 2,252,115, 4,217,254,205, 6,193, 0, 11, 0, 31, - 0, 50, 64, 25, 6,128, 11, 11, 31, 47, 12, 1, 12,192, 21, 20, 5, 11, 11, 31, 20,128, 26, 15, 17, 95, 17, 2, 17, 0, 47, 93, - 51, 26,205, 50, 50, 47,204, 1, 47, 51, 26,204, 93, 50, 57, 47, 26,205, 49, 48, 1, 62, 3, 55, 51, 21, 6, 6, 7, 35, 37, 14, - 3, 35, 34, 38, 39, 51, 30, 3, 51, 50, 62, 2, 55,253, 94, 20, 32, 30, 29, 16,180, 45,106, 55,101, 1,111, 5, 43, 77,110, 70, -146,145, 6,108, 4, 27, 48, 68, 44, 36, 65, 51, 33, 5, 5,248, 25, 44, 46, 53, 33, 21, 60,103, 44, 6, 60, 99, 69, 38,140,126, - 43, 50, 25, 7, 9, 27, 49, 40, 0, 2,252,115, 4,217,254,205, 6,193, 0, 11, 0, 31, 0, 56, 64, 30, 5,128, 11, 64, 19, 22, - 72, 11, 11, 31, 47, 12, 1, 12,192, 21, 20, 5, 0, 0, 31, 20,128, 26, 15, 17, 95, 17, 2, 17, 0, 47, 93, 51, 26,205, 50, 50, - 47,205, 1, 47, 51, 26,204, 93, 50, 57, 47, 43, 26,205, 49, 48, 1, 35, 38, 38, 39, 53, 51, 30, 3, 23, 23, 14, 3, 35, 34, 38, - 39, 51, 30, 3, 51, 50, 62, 2, 55,253,209,100, 56,106, 45,180, 16, 29, 30, 32, 20,252, 5, 43, 77,110, 70,146,145, 6,108, 4, - 27, 48, 68, 44, 36, 65, 51, 33, 5, 5,221, 44,103, 60, 21, 33, 53, 46, 44, 25, 21, 60, 99, 69, 38,140,126, 43, 50, 25, 7, 9, - 27, 49, 40, 0, 0, 2,252,115, 4,217,254,205, 7, 6, 0, 19, 0, 42, 0, 66, 64, 33, 25, 28, 28, 31, 20,128, 37, 37, 19, 47, - 0, 1, 0, 9, 8, 25, 28, 28, 34, 40,192, 27, 27, 19, 8,128, 14, 15, 5, 95, 5, 2, 5, 0, 47, 93, 51, 26,205, 50, 57, 47, - 26,204, 50, 57, 17, 51, 1, 47, 51,204, 93, 50, 57, 47, 26,204, 50, 57, 17, 51, 49, 48, 1, 14, 3, 35, 34, 38, 39, 51, 30, 3, - 51, 50, 62, 2, 55, 39, 20, 14, 2, 7, 7, 35, 39, 54, 54, 53, 52, 38, 35, 34, 6, 7, 53, 54, 51, 50, 22,254,205, 5, 43, 77, -110, 70,146,145, 6,108, 4, 27, 48, 68, 44, 36, 65, 51, 33, 5, 43, 20, 34, 46, 25, 6, 86, 10, 56, 65, 57, 44, 21, 39, 11, 21, - 58,100, 99, 5,227, 60, 99, 69, 38,140,126, 43, 50, 25, 7, 9, 27, 49, 40,150, 29, 43, 31, 20, 6, 41, 90, 9, 32, 37, 37, 24, - 3, 3, 82, 6, 69, 0, 0, 2,252,100, 4,217,254,233, 7, 16, 0, 19, 0, 47, 0, 72, 64, 39, 28, 29, 29, 8, 42, 43, 43, 19, - 47, 0, 1, 0,192, 9, 8, 42, 25,207, 34,223, 34,239, 34, 3, 34, 39, 28, 20, 20, 19, 8,128, 14, 15, 5, 95, 5, 2, 5, 0, - 47, 93, 51, 26,205, 50, 50, 47, 51, 51,205, 93, 50, 50, 1, 47, 51, 26,204, 93, 50, 50, 47, 51, 17, 51, 47, 51, 49, 48, 1, 14, - 3, 35, 34, 38, 39, 51, 30, 3, 51, 50, 62, 2, 55, 39, 34, 46, 2, 35, 34, 6, 7, 35, 62, 3, 51, 50, 30, 2, 51, 50, 54, 55, - 51, 14, 3,254,205, 5, 43, 77,110, 70,146,145, 6,108, 4, 27, 48, 68, 44, 36, 65, 51, 33, 5, 47, 36, 71, 69, 64, 28, 40, 42, - 14, 93, 5, 29, 48, 65, 42, 37, 74, 69, 62, 26, 40, 42, 14, 92, 5, 28, 48, 65, 5,227, 60, 99, 69, 38,140,126, 43, 50, 25, 7, - 9, 27, 49, 40, 80, 28, 34, 28, 42, 50, 48, 81, 59, 33, 28, 34, 28, 43, 49, 48, 81, 59, 33, 0, 0, 1, 0, 49,254, 66, 1,113, - 0, 0, 0, 20, 0, 24, 64, 9, 15,128, 0, 8, 8, 2, 18, 11, 2, 0, 47, 47, 51, 1, 47, 51, 47, 51, 26,204, 49, 48, 23, 52, - 39, 51, 30, 3, 21, 20, 6, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54,219,139,129, 26, 57, 47, 30,101,100, 29, 64, 26, 14, 45, 25, - 34, 52,238,105,133, 19, 52, 64, 75, 42, 90,104, 8, 8,113, 4, 5, 43, 0, 1, 0, 16,254,109, 1,119, 0,166, 0, 17, 0, 18, -182, 9, 1, 16, 13, 6,250, 0, 0, 47, 63, 51, 1, 47, 51,196, 49, 48, 37, 17, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, - 53, 17, 1,119, 1, 26, 57, 89, 63, 38, 63, 22, 14, 59, 34, 46, 50,166,254,217, 66,102, 70, 36, 17, 9,150, 7, 14, 49, 49, 1, - 60, 0, 0, 1, 0, 16,254,109, 1,119, 0,154, 0, 17, 0, 18,182, 9, 1, 16, 13, 6,250, 0, 0, 47, 63, 51, 1, 47, 51,196, - 49, 48, 37, 17, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 53, 17, 1,119, 1, 26, 57, 89, 63, 38, 63, 22, 14, 59, 34, 46, - 50,154,254,229, 66,102, 70, 36, 17, 9,150, 7, 14, 49, 49, 1, 48, 0, 0, 0, 0, 0, 0, 27, 1, 74, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 52, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 10, 0, 52, 0, 1, 0, 0, 0, 0, 0, 2, 0, 7, 0, 62, 0, 1, - 0, 0, 0, 0, 0, 3, 0, 21, 0, 69, 0, 1, 0, 0, 0, 0, 0, 4, 0, 10, 0, 52, 0, 1, 0, 0, 0, 0, 0, 5, 0, 12, - 0, 90, 0, 1, 0, 0, 0, 0, 0, 6, 0, 9, 0,102, 0, 1, 0, 0, 0, 0, 0, 7, 0, 78, 0,111, 0, 1, 0, 0, 0, 0, - 0, 8, 0, 20, 0,189, 0, 1, 0, 0, 0, 0, 0, 10, 0,103, 0,209, 0, 1, 0, 0, 0, 0, 0, 13, 0, 46, 1, 56, 0, 1, - 0, 0, 0, 0, 0, 14, 0, 42, 1,102, 0, 1, 0, 0, 0, 0, 0, 18, 0, 10, 0, 52, 0, 3, 0, 1, 4, 9, 0, 0, 0,104, - 1,144, 0, 3, 0, 1, 4, 9, 0, 1, 0, 20, 1,248, 0, 3, 0, 1, 4, 9, 0, 2, 0, 14, 2, 12, 0, 3, 0, 1, 4, 9, - 0, 3, 0, 42, 2, 26, 0, 3, 0, 1, 4, 9, 0, 4, 0, 20, 1,248, 0, 3, 0, 1, 4, 9, 0, 5, 0, 44, 2, 68, 0, 3, - 0, 1, 4, 9, 0, 6, 0, 18, 2,112, 0, 3, 0, 1, 4, 9, 0, 7, 0,156, 2,130, 0, 3, 0, 1, 4, 9, 0, 8, 0, 40, - 3, 30, 0, 3, 0, 1, 4, 9, 0, 10, 0,206, 3, 70, 0, 3, 0, 1, 4, 9, 0, 11, 0, 56, 4, 20, 0, 3, 0, 1, 4, 9, - 0, 12, 0, 92, 4, 76, 0, 3, 0, 1, 4, 9, 0, 13, 0, 92, 4,168, 0, 3, 0, 1, 4, 9, 0, 14, 0, 84, 5, 4, 68,105, -103,105,116,105,122,101,100, 32,100, 97,116, 97, 32, 99,111,112,121,114,105,103,104,116, 32,169, 32, 50, 48, 48, 55, 44, 32, 71, -111,111,103,108,101, 32, 67,111,114,112,111,114, 97,116,105,111,110, 46, 68,114,111,105,100, 32, 83, 97,110,115, 82,101,103,117, -108, 97,114, 65,115, 99,101,110,100,101,114, 32, 45, 32, 68,114,111,105,100, 32, 83, 97,110,115, 86,101,114,115,105,111,110, 32, - 49, 46, 48, 48, 68,114,111,105,100, 83, 97,110,115, 68,114,111,105,100, 32,105,115, 32, 97, 32,116,114, 97,100,101,109, 97,114, -107, 32,111,102, 32, 71,111,111,103,108,101, 32, 97,110,100, 32,109, 97,121, 32, 98,101, 32,114,101,103,105,115,116,101,114,101, -100, 32,105,110, 32, 99,101,114,116, 97,105,110, 32,106,117,114,105,115,100,105, 99,116,105,111,110,115, 46, 65,115, 99,101,110, -100,101,114, 32, 67,111,114,112,111,114, 97,116,105,111,110, 68,114,111,105,100, 32, 83, 97,110,115, 32,105,115, 32, 97, 32,104, -117,109, 97,110,105,115,116, 32,115, 97,110,115, 32,115,101,114,105,102, 32,116,121,112,101,102, 97, 99,101, 32,100,101,115,105, -103,110,101,100, 32,102,111,114, 32,117,115,101,114, 32,105,110,116,101,114,102, 97, 99,101,115, 32, 97,110,100, 32,101,108,101, - 99,116,114,111,110,105, 99, 32, 99,111,109,109,117,110,105, 99, 97,116,105,111,110, 46, 76,105, 99,101,110,115,101,100, 32,117, -110,100,101,114, 32,116,104,101, 32, 65,112, 97, 99,104,101, 32, 76,105, 99,101,110,115,101, 44, 32, 86,101,114,115,105,111,110, - 32, 50, 46, 48,104,116,116,112, 58, 47, 47,119,119,119, 46, 97,112, 97, 99,104,101, 46,111,114,103, 47,108,105, 99,101,110,115, -101,115, 47, 76, 73, 67, 69, 78, 83, 69, 45, 50, 46, 48, 0, 68, 0,105, 0,103, 0,105, 0,116, 0,105, 0,122, 0,101, 0,100, - 0, 32, 0,100, 0, 97, 0,116, 0, 97, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0,114, 0,105, 0,103, 0,104, 0,116, 0, 32, - 0,169, 0, 32, 0, 50, 0, 48, 0, 48, 0, 55, 0, 44, 0, 32, 0, 71, 0,111, 0,111, 0,103, 0,108, 0,101, 0, 32, 0, 67, - 0,111, 0,114, 0,112, 0,111, 0,114, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 46, 0, 68, 0,114, 0,111, 0,105, 0,100, - 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 82, 0,101, 0,103, 0,117, 0,108, 0, 97, 0,114, 0, 65, 0,115, 0, 99, 0,101, - 0,110, 0,100, 0,101, 0,114, 0, 32, 0, 45, 0, 32, 0, 68, 0,114, 0,111, 0,105, 0,100, 0, 32, 0, 83, 0, 97, 0,110, - 0,115, 0, 86, 0,101, 0,114, 0,115, 0,105, 0,111, 0,110, 0, 32, 0, 49, 0, 46, 0, 48, 0, 48, 0, 32, 0, 98, 0,117, - 0,105, 0,108, 0,100, 0, 32, 0, 49, 0, 49, 0, 50, 0, 68, 0,114, 0,111, 0,105, 0,100, 0, 83, 0, 97, 0,110, 0,115, - 0, 68, 0,114, 0,111, 0,105, 0,100, 0, 32, 0,105, 0,115, 0, 32, 0, 97, 0, 32, 0,116, 0,114, 0, 97, 0,100, 0,101, - 0,109, 0, 97, 0,114, 0,107, 0, 32, 0,111, 0,102, 0, 32, 0, 71, 0,111, 0,111, 0,103, 0,108, 0,101, 0, 32, 0, 97, - 0,110, 0,100, 0, 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0,114, 0,101, 0,103, 0,105, 0,115, 0,116, - 0,101, 0,114, 0,101, 0,100, 0, 32, 0,105, 0,110, 0, 32, 0, 99, 0,101, 0,114, 0,116, 0, 97, 0,105, 0,110, 0, 32, - 0,106, 0,117, 0,114, 0,105, 0,115, 0,100, 0,105, 0, 99, 0,116, 0,105, 0,111, 0,110, 0,115, 0, 46, 0, 65, 0,115, - 0, 99, 0,101, 0,110, 0,100, 0,101, 0,114, 0, 32, 0, 67, 0,111, 0,114, 0,112, 0,111, 0,114, 0, 97, 0,116, 0,105, - 0,111, 0,110, 0, 68, 0,114, 0,111, 0,105, 0,100, 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 32, 0,105, 0,115, 0, 32, - 0, 97, 0, 32, 0,104, 0,117, 0,109, 0, 97, 0,110, 0,105, 0,115, 0,116, 0, 32, 0,115, 0, 97, 0,110, 0,115, 0, 32, - 0,115, 0,101, 0,114, 0,105, 0,102, 0, 32, 0,116, 0,121, 0,112, 0,101, 0,102, 0, 97, 0, 99, 0,101, 0, 32, 0,100, - 0,101, 0,115, 0,105, 0,103, 0,110, 0,101, 0,100, 0, 32, 0,102, 0,111, 0,114, 0, 32, 0,117, 0,115, 0,101, 0,114, - 0, 32, 0,105, 0,110, 0,116, 0,101, 0,114, 0,102, 0, 97, 0, 99, 0,101, 0,115, 0, 32, 0, 97, 0,110, 0,100, 0, 32, - 0,101, 0,108, 0,101, 0, 99, 0,116, 0,114, 0,111, 0,110, 0,105, 0, 99, 0, 32, 0, 99, 0,111, 0,109, 0,109, 0,117, - 0,110, 0,105, 0, 99, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 46, 0,104, 0,116, 0,116, 0,112, 0, 58, 0, 47, 0, 47, - 0,119, 0,119, 0,119, 0, 46, 0, 97, 0,115, 0, 99, 0,101, 0,110, 0,100, 0,101, 0,114, 0, 99, 0,111, 0,114, 0,112, - 0, 46, 0, 99, 0,111, 0,109, 0, 47, 0,104, 0,116, 0,116, 0,112, 0, 58, 0, 47, 0, 47, 0,119, 0,119, 0,119, 0, 46, - 0, 97, 0,115, 0, 99, 0,101, 0,110, 0,100, 0,101, 0,114, 0, 99, 0,111, 0,114, 0,112, 0, 46, 0, 99, 0,111, 0,109, - 0, 47, 0,116, 0,121, 0,112, 0,101, 0,100, 0,101, 0,115, 0,105, 0,103, 0,110, 0,101, 0,114, 0,115, 0, 46, 0,104, - 0,116, 0,109, 0,108, 0, 76, 0,105, 0, 99, 0,101, 0,110, 0,115, 0,101, 0,100, 0, 32, 0,117, 0,110, 0,100, 0,101, - 0,114, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 65, 0,112, 0, 97, 0, 99, 0,104, 0,101, 0, 32, 0, 76, 0,105, 0, 99, - 0,101, 0,110, 0,115, 0,101, 0, 44, 0, 32, 0, 86, 0,101, 0,114, 0,115, 0,105, 0,111, 0,110, 0, 32, 0, 50, 0, 46, - 0, 48, 0,104, 0,116, 0,116, 0,112, 0, 58, 0, 47, 0, 47, 0,119, 0,119, 0,119, 0, 46, 0, 97, 0,112, 0, 97, 0, 99, - 0,104, 0,101, 0, 46, 0,111, 0,114, 0,103, 0, 47, 0,108, 0,105, 0, 99, 0,101, 0,110, 0,115, 0,101, 0,115, 0, 47, - 0, 76, 0, 73, 0, 67, 0, 69, 0, 78, 0, 83, 0, 69, 0, 45, 0, 50, 0, 46, 0, 48, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, -255,102, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,130, 0, 0, 1, 2, 0, 2, - 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,172, - 0,163, 0,132, 0,133, 0,189, 0,150, 0,232, 0,134, 0,142, 0,139, 0,157, 0,169, 0,164, 1, 3, 0,138, 1, 4, 0,131, - 0,147, 0,242, 0,243, 0,141, 0,151, 0,136, 1, 5, 0,222, 0,241, 0,158, 0,170, 0,245, 0,244, 0,246, 0,162, 0,173, - 0,201, 0,199, 0,174, 0, 98, 0, 99, 0,144, 0,100, 0,203, 0,101, 0,200, 0,202, 0,207, 0,204, 0,205, 0,206, 0,233, - 0,102, 0,211, 0,208, 0,209, 0,175, 0,103, 0,240, 0,145, 0,214, 0,212, 0,213, 0,104, 0,235, 0,237, 0,137, 0,106, - 0,105, 0,107, 0,109, 0,108, 0,110, 0,160, 0,111, 0,113, 0,112, 0,114, 0,115, 0,117, 0,116, 0,118, 0,119, 0,234, - 0,120, 0,122, 0,121, 0,123, 0,125, 0,124, 0,184, 0,161, 0,127, 0,126, 0,128, 0,129, 0,236, 0,238, 0,186, 1, 6, - 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 0,253, 0,254, 1, 12, 1, 13, 1, 14, 1, 15, 0,255, 1, 0, 1, 16, 1, 17, 1, 18, - 1, 19, 1, 20, 1, 21, 1, 22, 1, 23, 1, 24, 1, 25, 1, 26, 1, 27, 1, 28, 1, 29, 1, 30, 1, 31, 0,248, 0,249, 1, 32, - 1, 33, 1, 34, 1, 35, 1, 36, 1, 37, 1, 38, 1, 39, 1, 40, 1, 41, 1, 42, 1, 43, 1, 44, 1, 45, 1, 46, 1, 47, 1, 48, - 0,215, 1, 49, 1, 50, 1, 51, 1, 52, 1, 53, 1, 54, 1, 55, 1, 56, 1, 57, 1, 58, 1, 59, 1, 60, 1, 61, 1, 62, 1, 63, - 0,226, 0,227, 1, 64, 1, 65, 1, 66, 1, 67, 1, 68, 1, 69, 1, 70, 1, 71, 1, 72, 1, 73, 1, 74, 1, 75, 1, 76, 1, 77, - 1, 78, 0,176, 0,177, 1, 79, 1, 80, 1, 81, 1, 82, 1, 83, 1, 84, 1, 85, 1, 86, 1, 87, 1, 88, 0,251, 0,252, 0,228, - 0,229, 1, 89, 1, 90, 1, 91, 1, 92, 1, 93, 1, 94, 1, 95, 1, 96, 1, 97, 1, 98, 1, 99, 1,100, 1,101, 1,102, 1,103, - 1,104, 1,105, 1,106, 1,107, 1,108, 1,109, 1,110, 0,187, 1,111, 1,112, 1,113, 1,114, 0,230, 0,231, 1,115, 0,166, - 1,116, 1,117, 1,118, 1,119, 1,120, 1,121, 1,122, 1,123, 0,216, 0,225, 1,124, 0,219, 0,220, 0,221, 0,224, 0,217, - 0,223, 1,125, 1,126, 1,127, 1,128, 1,129, 1,130, 1,131, 1,132, 1,133, 1,134, 1,135, 1,136, 1,137, 1,138, 1,139, - 1,140, 1,141, 1,142, 1,143, 1,144, 1,145, 1,146, 1,147, 1,148, 1,149, 1,150, 1,151, 1,152, 1,153, 1,154, 1,155, - 1,156, 1,157, 1,158, 1,159, 1,160, 1,161, 1,162, 1,163, 1,164, 1,165, 1,166, 1,167, 1,168, 1,169, 1,170, 1,171, - 1,172, 1,173, 1,174, 1,175, 1,176, 1,177, 1,178, 1,179, 1,180, 1,181, 0,155, 1,182, 1,183, 1,184, 1,185, 1,186, - 1,187, 1,188, 1,189, 1,190, 1,191, 1,192, 1,193, 1,194, 1,195, 1,196, 1,197, 1,198, 1,199, 1,200, 1,201, 1,202, - 1,203, 1,204, 1,205, 1,206, 1,207, 1,208, 1,209, 1,210, 1,211, 1,212, 1,213, 1,214, 1,215, 1,216, 1,217, 1,218, - 1,219, 1,220, 1,221, 1,222, 1,223, 1,224, 1,225, 1,226, 1,227, 1,228, 1,229, 1,230, 1,231, 1,232, 1,233, 1,234, - 1,235, 1,236, 1,237, 1,238, 1,239, 1,240, 1,241, 1,242, 1,243, 1,244, 1,245, 1,246, 1,247, 1,248, 1,249, 1,250, - 1,251, 1,252, 1,253, 1,254, 1,255, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, - 2, 11, 2, 12, 2, 13, 2, 14, 2, 15, 2, 16, 2, 17, 2, 18, 2, 19, 2, 20, 2, 21, 2, 22, 2, 23, 2, 24, 2, 25, 2, 26, - 2, 27, 2, 28, 2, 29, 2, 30, 2, 31, 2, 32, 2, 33, 2, 34, 2, 35, 2, 36, 2, 37, 2, 38, 2, 39, 2, 40, 2, 41, 0,178, - 0,179, 2, 42, 2, 43, 0,182, 0,183, 0,196, 2, 44, 0,180, 0,181, 0,197, 0,130, 0,194, 0,135, 0,171, 0,198, 2, 45, - 2, 46, 0,190, 0,191, 2, 47, 0,188, 2, 48, 0,247, 2, 49, 2, 50, 2, 51, 2, 52, 2, 53, 2, 54, 0,140, 0,159, 2, 55, - 2, 56, 2, 57, 2, 58, 2, 59, 0,152, 2, 60, 0,154, 0,153, 0,239, 0,165, 0,146, 0,156, 0,167, 0,143, 0,148, 0,149, - 0,185, 2, 61, 2, 62, 2, 63, 2, 64, 2, 65, 2, 66, 2, 67, 2, 68, 2, 69, 2, 70, 2, 71, 2, 72, 2, 73, 2, 74, 2, 75, - 2, 76, 2, 77, 2, 78, 2, 79, 2, 80, 2, 81, 2, 82, 2, 83, 2, 84, 2, 85, 2, 86, 2, 87, 2, 88, 2, 89, 2, 90, 2, 91, - 2, 92, 2, 93, 2, 94, 2, 95, 2, 96, 2, 97, 2, 98, 2, 99, 2,100, 2,101, 2,102, 2,103, 2,104, 2,105, 2,106, 2,107, - 2,108, 2,109, 2,110, 2,111, 2,112, 2,113, 2,114, 2,115, 2,116, 2,117, 2,118, 2,119, 2,120, 2,121, 2,122, 2,123, - 2,124, 2,125, 2,126, 2,127, 2,128, 2,129, 2,130, 2,131, 2,132, 2,133, 2,134, 2,135, 2,136, 2,137, 2,138, 2,139, - 2,140, 2,141, 2,142, 2,143, 2,144, 2,145, 2,146, 2,147, 2,148, 2,149, 2,150, 2,151, 2,152, 2,153, 2,154, 2,155, - 2,156, 2,157, 2,158, 2,159, 2,160, 2,161, 2,162, 2,163, 2,164, 2,165, 2,166, 2,167, 2,168, 2,169, 2,170, 2,171, - 2,172, 2,173, 2,174, 2,175, 2,176, 2,177, 2,178, 2,179, 2,180, 2,181, 2,182, 2,183, 2,184, 2,185, 2,186, 2,187, - 2,188, 2,189, 2,190, 2,191, 2,192, 2,193, 2,194, 2,195, 2,196, 2,197, 2,198, 2,199, 2,200, 2,201, 2,202, 2,203, - 2,204, 2,205, 2,206, 2,207, 2,208, 2,209, 2,210, 2,211, 2,212, 2,213, 2,214, 2,215, 2,216, 2,217, 2,218, 2,219, - 2,220, 2,221, 2,222, 2,223, 2,224, 2,225, 2,226, 2,227, 2,228, 2,229, 2,230, 2,231, 2,232, 2,233, 2,234, 2,235, + 0, 0, 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, 9, 12, 5, 2, 7, 3, 0,111, 5, 10, 7,111, 12,110, 14, 16,252,252, 60,212,236, 50, 17, 57, + 17, 18, 57, 49, 0, 16,244, 60,236, 50, 57, 57, 48, 75, 83, 88, 7, 16, 4,237, 7, 16, 8,237, 7, 16, 8,237, 7, 16, 4,237, + 7, 16, 4,237, 7, 16, 8,237, 7, 16, 8,237, 7, 16, 4,237, 89, 34, 1, 21, 9, 1, 21, 1, 53, 19, 21, 9, 1, 21, 1, 53, + 4, 37,254,211, 1, 45,254, 43, 35,254,211, 1, 45,254, 43, 4, 35,191,254,244,254,244,191, 1,162, 82, 1,162,191,254,244,254, +244,191, 1,162, 82, 0, 0, 0, 0, 1, 0,217, 1, 31, 5,219, 3, 94, 0, 5, 0, 23, 64, 10, 4,156, 2, 0, 6, 3, 23, 1, + 0, 6, 16,220,212,236, 49, 0, 16,212,196,236, 48, 19, 33, 17, 35, 17, 33,217, 5, 2,168,251,166, 3, 94,253,193, 1,149, 0, + 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, 4, 1, 27, 0, 0, 6,229, 5,205, 0, 23, 0, 47, 0, 56, 0, 76, 0, 96, + 64, 54, 69, 66, 67, 63, 50,201, 72, 48,201, 57, 74, 67,202, 12, 57,202, 0,201, 24,200, 12,201, 36, 72, 69, 51, 48, 4, 49, 66, + 60, 63, 57, 54, 73, 49, 96, 75, 54, 96, 67, 60, 94, 18, 9, 30, 75, 94, 6, 9, 30, 95, 42, 77, 16,220,228,252,236, 16,254,253, +196,238, 16,238, 50, 17, 57, 57, 18, 57, 18, 23, 57, 49, 0, 47,238,246,254,237, 16,237, 50, 16,238,214,238, 57, 18, 57, 57, 48, + 1, 34, 6, 7, 14, 1, 21, 20, 22, 23, 30, 1, 51, 50, 54, 55, 62, 1, 53, 52, 38, 39, 46, 1, 39, 50, 4, 23, 22, 18, 21, 20, + 2, 7, 6, 4, 35, 34, 36, 39, 38, 2, 53, 52, 18, 55, 54, 36, 19, 35, 17, 51, 50, 54, 53, 52, 38, 39, 50, 22, 21, 20, 6, 7, + 30, 1, 31, 1, 35, 39, 46, 1, 43, 1, 17, 35, 17, 4, 0,131,226, 94, 94, 96, 96, 94, 94,226,131,132,227, 94, 93, 93, 94, 92, + 94,227,132,152, 1, 7,109,109,108,108,109,109,254,249,152,152,254,249,109,109,108,108,109,109, 1, 7,125,123,123,110, 87, 88, +102,176,174,105, 96, 24, 67, 46,137,172,129, 59, 73, 54, 66,155, 5,102, 94, 94, 94,229,130,129,227, 94, 94, 95, 95, 94, 93,226, +131,133,227, 93, 94, 94,103,110,109,109,254,250,154,152,254,251,109,109,110,110,109,109, 1, 5,152,154, 1, 6,109,109,110,254, + 98,254,236, 62, 75, 76, 63,103,119,121, 86,112, 17, 8, 77, 73,223,209, 96, 51,254,156, 3, 68, 0, 1, 0,213, 5, 98, 3, 43, + 5,246, 0, 3, 0, 47,183, 2,239, 0,238, 4, 1, 0, 4, 16,212,204, 49, 0, 16,252,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, 19, 33, 21, 33,213, 2, 86,253,170, 5,246, +148, 0, 0, 0, 0, 2, 0,195, 3,117, 3, 61, 5,240, 0, 11, 0, 26, 0, 32, 64, 17, 6,195, 21,196, 0,195, 12,145, 27, 9, + 90, 18, 91, 3, 90, 24, 27, 16,220,236,252,236, 49, 0, 16,244,236,252,236, 48, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, + 39, 50, 22, 23, 30, 1, 21, 20, 6, 35, 34, 38, 53, 52, 54, 2, 0, 80,110,110, 80, 80,110,111, 79, 64,118, 43, 46, 46,185,134, +135,180,184, 5,111,111, 80, 79,109,109, 79, 79,112,129, 49, 46, 45,114, 66,132,183,180,135,134,186, 0, 0, 0, 0, 2, 0,217, + 0, 0, 5,219, 5, 4, 0, 11, 0, 15, 0, 46, 64, 24, 5,208, 7, 3,156, 0,208, 9, 1, 12,156, 14, 13, 2, 21, 4, 0, 23, + 12, 8, 21, 10, 6, 16, 16,212, 60,236, 50,252, 60,236, 50, 49, 0, 47,236,212, 60,236,252, 60,236, 48, 1, 17, 33, 21, 33, 17, + 35, 17, 33, 53, 33, 17, 1, 33, 21, 33, 3,174, 2, 45,253,211,168,253,211, 2, 45,253,211, 5, 2,250,254, 5, 4,254,125,170, +254,125, 1,131,170, 1,131,251,166,170, 0, 0, 0, 1, 0, 94, 2,156, 2,180, 5,240, 0, 24, 0, 74, 64, 36, 0,125, 6, 4, + 0, 23,125, 6, 6, 4, 66, 4, 2, 0, 14,221, 15, 0,221, 2,247, 11,221, 15, 18,145, 25, 0, 14, 8,126, 1, 21, 14, 3, 25, + 16,220,196,212,196,236, 17, 57, 49, 0, 16,244,196,236,252,236, 16,238, 17, 18, 57, 48, 75, 83, 88, 7, 16, 5,237, 23, 50, 7, + 5,237, 89, 34, 1, 33, 21, 33, 53, 54, 55, 0, 53, 52, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 21, 20, 1, 6, 1, 12, 1, +168,253,170, 34, 63, 1, 88,104, 85, 52,122, 72, 77,133, 57,145,174,254,181, 56, 3, 14,114,110, 31, 56, 1, 49, 94, 66, 81, 35, + 35,123, 28, 28,132,108,139,254,228, 48, 0, 0, 0, 1, 0, 98, 2,141, 2,205, 5,240, 0, 40, 0, 72, 64, 39, 0, 21, 19, 10, +221, 9, 31,221, 32, 19,221, 21, 13,221, 9,248, 6,247, 28,221, 32,248, 35,145, 41, 22, 19, 0, 20, 25,126, 38, 16,126, 3, 20, + 31, 9, 41, 16,220,196,196,212,236,212,236, 17, 57, 57, 57, 49, 0, 16,244,228,236,252,228,236,212,236, 16,238, 16,238, 17, 18, + 57, 48, 1, 30, 1, 21, 20, 6, 35, 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, 22, 21, 20, 6, 2, 12, 92,101,190,177, 57,125, 70, 52,119, 67,109,120,111,108, 86, 94, 94, 97,100, + 95, 40,102, 81, 73,128, 55,144,169, 90, 4, 96, 18,109, 82,124,134, 21, 20,121, 27, 26, 79, 70, 74, 76,108, 63, 60, 58, 61, 18, + 23,115, 17, 18,118, 99, 69, 96, 0, 1, 1,115, 4,238, 3, 82, 6,102, 0, 3, 0, 49, 64, 9, 2,180, 0,179, 4, 3, 68, 1, + 4, 16,212,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, 1, 51, 1, 35, 2,139,199,254,186,153, 6,102,254,136, 0, 0, 0, 0, 1, 0,174,254, 86, 4,229, + 4, 96, 0, 32, 0, 77, 64, 37, 19, 25, 31, 3, 22, 6, 3, 9, 12, 3, 1, 18, 15, 6,135, 28, 22,140, 10, 1,188, 0,189, 33, + 25, 9, 18, 9, 8, 11, 78, 31, 2, 8, 0, 70, 33, 16,252,236, 50,244,236,196, 18, 57, 49, 0, 16,228,228, 50,244, 60,236,220, +196, 17, 23, 57, 17, 18, 23, 57, 48,182, 31, 34, 96, 34,207, 34, 3, 1, 93, 19, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, + 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 39, 14, 1, 35, 34, 38, 39, 17,174,184,138,135,148,149,184, 35, 37, 9, 32, 28, + 41, 73, 35, 69, 82, 15, 50,145, 98,102,143, 42,254, 86, 6, 10,253, 72,145,148,168,168, 2,141,252,162, 60, 57, 11, 12,148, 23, + 22, 78, 80, 79, 79, 78, 78,253,215, 0, 0, 0, 0, 1, 0,158,255, 59, 4, 57, 5,213, 0, 13, 0, 37, 64, 18, 8, 2, 4,193, + 0,129, 6, 2, 14, 0, 7, 93, 5, 3, 93, 1, 11, 14, 16,212,212,252,220,236, 57, 49, 0, 16,196, 50,244,236, 17, 57, 48, 1, + 33, 17, 35, 17, 35, 17, 35, 17, 46, 1, 53, 52, 36, 2,121, 1,192,141,190,142,215,235, 1, 4, 5,213,249,102, 6, 31,249,225, + 3, 78, 17,221,184,190,232, 0, 0, 1, 0,219, 2, 72, 1,174, 3, 70, 0, 3, 0, 18,183, 2,131, 0, 4, 1, 25, 0, 4, 16, +212,236, 49, 0, 16,212,236, 48, 19, 51, 21, 35,219,211,211, 3, 70,254, 0, 0, 0, 1, 1, 35,254,117, 2,193, 0, 0, 0, 19, + 0, 31, 64, 14, 9, 6, 10, 13,243, 6, 0, 19, 0, 16, 39, 3, 9, 20, 16,220,212,236,212,204, 49, 0, 47,212,252,196, 18, 57, + 48, 33, 30, 1, 21, 20, 6, 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 53, 52, 38, 39, 2, 84, 55, 54,120,118, 46, 87, 43, 34, 74, + 47, 59, 60, 43, 45, 62,105, 48, 89, 91, 12, 12,131, 17, 15, 48, 46, 30, 87, 61, 0, 1, 0,137, 2,156, 2,197, 5,223, 0, 10, + 0, 44, 64, 24, 7, 0,221, 9, 3,221, 4, 2,221, 9,247, 5,145, 11, 8,124, 6, 93, 3,124, 1,124, 0, 11, 16,220,244,228, +252,228, 49, 0, 16,244,236,236,212,236, 16,238, 50, 48, 19, 51, 17, 7, 53, 55, 51, 17, 51, 21, 33,156,204,223,230,137,205,253, +215, 3, 10, 2, 99, 41,116, 39,253, 43,110, 0, 0, 3, 0, 96, 1,213, 3,100, 5,240, 0, 3, 0, 15, 0, 27, 0, 46, 64, 25, + 2,227, 0,225, 22,221, 10,224, 16,221, 4,145, 28, 0, 19, 13, 1, 25,107, 7,108, 19,107, 13, 28, 16,220,236,252,236, 57, 17, + 18, 57, 49, 0, 16,244,236,244,236,252,236, 48, 19, 33, 21, 33, 1, 50, 22, 21, 20, 6, 35, 34, 38, 53, 52, 54, 23, 34, 6, 21, + 20, 22, 51, 50, 54, 53, 52, 38,139, 2,176,253, 80, 1, 88,179,206,206,179,179,208,208,179,105,126,127,104,105,125,124, 2, 80, +123, 4, 27,221,191,191,219,220,190,191,221,115,161,136,133,160,160,133,137,160, 0, 2, 0,193, 0,141, 4, 72, 4, 35, 0, 6, + 0, 13, 0,134, 64, 73, 12,232, 13, 12, 9, 10, 9, 11,232, 10, 10, 9, 13,232, 7, 8, 7, 12,232, 11, 12, 8, 8, 7, 5,232, + 6, 5, 2, 3, 2, 4,232, 3, 3, 2, 6,232, 0, 1, 0, 5,232, 4, 5, 1, 1, 0, 66, 12, 5, 10, 3,231, 7, 0,166, 14, + 12, 8, 1, 5, 0, 8,111, 10, 7, 1,111, 3, 0,112, 14, 16,252, 60,252,212, 60,236, 18, 57, 17, 18, 57, 49, 0, 16,244, 60, +236, 50, 57, 57, 48, 75, 83, 88, 7, 16, 8,237, 7, 16, 4,237, 7, 16, 4,237, 7, 16, 8,237, 7, 16, 8,237, 7, 16, 4,237, + 7, 16, 4,237, 7, 16, 8,237, 89, 34, 19, 1, 21, 1, 53, 9, 1, 37, 1, 21, 1, 53, 9, 1,193, 1,213,254, 43, 1, 45,254, +211, 1,178, 1,213,254, 43, 1, 45,254,211, 4, 35,254, 94, 82,254, 94,191, 1, 12, 1, 12,191,254, 94, 82,254, 94,191, 1, 12, + 1, 12, 0, 0,255,255, 0,137,255,227, 7,127, 5,240, 16, 39, 5,206, 4,139,253,100, 16, 38, 0,123, 0, 0, 16, 7, 6, 90, + 3, 53, 0, 0,255,255, 0,137,255,227, 7, 63, 5,240, 16, 38, 0,123, 0, 0, 16, 39, 6, 90, 3, 53, 0, 0, 16, 7, 0,116, + 4,139,253,100,255,255, 0, 98,255,227, 7,127, 5,240, 16, 39, 5,206, 4,139,253,100, 16, 38, 0,117, 0, 0, 16, 7, 6, 90, + 3, 53, 0, 0, 0, 2, 0,143,255,227, 3,172, 5,213, 0, 32, 0, 36, 0,134, 64, 47, 32, 26, 5, 2, 4, 6, 25, 0, 16,134, + 15,136, 12, 0, 33,131, 35, 12,149, 19,140, 35,129, 37, 6, 34, 25, 22, 9, 5, 1, 0, 26, 34, 9, 0, 28, 1, 34, 28, 33, 38, + 15, 9, 28, 22, 37, 16,220,236,212,252,236,212,236, 17, 18, 57, 17, 18, 57, 17, 18, 57, 18, 57, 49, 0, 16,228,244,236, 16,254, +205, 16,244,238, 18, 57, 57, 23, 57, 48, 1, 75,176, 16, 84, 75,176, 18, 84, 91, 75,176, 19, 84, 91, 88,189, 0, 37,255,192, 0, + 1, 0, 37, 0, 37, 0, 64, 56, 17, 55, 56, 89, 64, 11,116, 4,116, 5,116, 6,116, 7,118, 28, 5, 93, 1, 51, 21, 20, 6, 15, + 1, 14, 1, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 53, 52, 54, 63, 1, 62, 1, 55, 62, 1, 53, 19, 35, 53, 51, 1, +244,190, 55, 90, 90, 58, 51,131,109, 78,180, 96, 94,192,103,184,224, 73, 89, 88, 48, 38, 8, 7, 6,196,202,202, 4, 68,156,101, +130, 87, 88, 53, 94, 49, 89,110, 70, 67,188, 57, 56,194,159, 76,137, 86, 86, 47, 53, 25, 21, 60, 54, 1, 14,254,255,255, 0, 16, + 0, 0, 5,104, 5,213, 18, 38, 0, 36, 0, 0, 16, 7, 6,135, 4,188, 1,117,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 38, + 0, 36, 0, 0, 16, 7, 6,133, 4,188, 1,117,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 38, 0, 36, 0, 0, 17, 7, 6,136, + 4,188, 1,117, 0, 16,180, 5, 13, 17, 10, 7, 43, 64, 5, 15, 13, 0, 17, 2, 93, 49, 0, 0,255,255, 0, 16, 0, 0, 5,104, + 5,213, 18, 38, 0, 36, 0, 0, 17, 7, 6,134, 4,188, 1,117, 0, 20,180, 10, 20, 35, 5, 7, 43, 64, 9, 64, 20, 79, 35, 32, + 20, 47, 35, 4, 93, 49, 0, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 38, 0, 36, 0, 0, 17, 7, 6,132, 4,188, 1,117, + 0, 20,180, 10, 18, 13, 5, 7, 43, 64, 9, 48, 18, 63, 13, 0, 18, 15, 13, 4, 93, 49, 0, 0, 0, 3, 0, 16, 0, 0, 5,104, + 7,109, 0, 11, 0, 14, 0, 33, 0,203, 64, 84, 12, 17, 13, 12, 27, 28, 27, 14, 17, 28, 27, 30, 17, 28, 27, 29, 17, 28, 28, 27, + 13, 17, 33, 15, 33, 12, 17, 14, 12, 15, 15, 33, 32, 17, 15, 33, 31, 17, 33, 15, 33, 66, 12, 27, 15, 13, 9, 3,193, 21, 9, 30, +149, 13, 9,142, 32, 28, 30, 29, 28, 24, 32, 31, 33, 13, 18, 6, 14, 24, 12, 6, 27, 0, 86, 24, 28, 15, 6, 86, 18, 28, 33, 34, + 16,212,196,212,236, 50, 16,212,238, 50, 17, 57, 17, 57, 17, 18, 57, 17, 57, 57, 17, 18, 57, 57, 49, 0, 47, 60,230,214,238, 16, +212,238, 17, 18, 57, 57, 57, 48, 75, 83, 88, 7, 16, 5,237, 7, 5,237, 7, 16, 8,237, 7, 16, 5,237, 7, 16, 5,237, 7, 5, +237, 7, 5,237, 7, 16, 8,237, 89, 34,178, 32, 35, 1, 1, 93, 64, 32, 26, 12,115, 12,155, 12, 3, 7, 15, 8, 27, 80, 35,102, + 13,105, 14,117, 13,123, 14,121, 28,121, 29,118, 32,118, 33,128, 35, 12, 93, 0, 93, 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, + 54, 3, 1, 33, 1, 46, 1, 53, 52, 54, 51, 50, 22, 21, 20, 6, 7, 1, 35, 3, 33, 3, 35, 3, 84, 89, 63, 64, 87, 88, 63, 63, + 89,152,254,240, 2, 33,254, 88, 61, 62,159,115,114,161, 63, 60, 2, 20,210,136,253, 95,136,213, 6, 90, 63, 89, 87, 65, 63, 88, + 88,254,243,253, 25, 3, 78, 41,115, 73,115,160,161,114, 70,118, 41,250,139, 1,127,254,129, 0, 0, 2, 0, 8, 0, 0, 7, 72, + 5,213, 0, 15, 0, 19, 0,135, 64, 57, 17, 17, 14, 15, 14, 16, 17, 15, 15, 14, 13, 17, 15, 14, 12, 17, 14, 15, 14, 66, 5,149, + 3, 11,149, 17, 1,149, 16,149, 0,129, 17, 7,149, 3,173, 13, 9, 17, 16, 15, 13, 12, 5, 14, 10, 0, 4, 8, 6, 2, 28, 18, + 10, 14, 20, 16,212,212, 60,236, 50,212,196,196, 17, 18, 23, 57, 49, 0, 47, 60,236,236,196,244,236,236, 16,238, 16,238, 48, 75, + 83, 88, 7, 16, 5,237, 7, 5,237, 7, 16, 5,237, 7, 16, 5,237, 89, 34,178,128, 21, 1, 1, 93, 64, 19,103, 17,119, 16,119, + 17,134, 12,133, 16,150, 17,144, 21,160, 21,191, 21, 9, 93, 1, 21, 33, 17, 33, 21, 33, 17, 33, 21, 33, 17, 33, 3, 35, 1, 23, + 1, 33, 17, 7, 53,253, 27, 2,199,253, 57, 2,248,252, 61,253,240,160,205, 2,113,139,254,182, 1,203, 5,213,170,254, 70,170, +253,227,170, 1,127,254,129, 5,213,158,252,240, 3, 16, 0, 0,255,255, 0,115,254,117, 5, 39, 5,240, 18, 38, 0, 38, 0, 0, + 16, 7, 0,122, 1, 45, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 18, 38, 0, 40, 0, 0, 16, 7, 6,135, 4,158, 1,117, +255,255, 0,201, 0, 0, 4,139, 5,213, 18, 38, 0, 40, 0, 0, 16, 7, 6,133, 4,158, 1,117,255,255, 0,201, 0, 0, 4,139, + 5,213, 18, 38, 0, 40, 0, 0, 17, 7, 6,136, 4,158, 1,117, 0, 7, 64, 3, 64, 12, 1, 93, 49, 0, 0, 0,255,255, 0,201, + 0, 0, 4,139, 5,213, 18, 38, 0, 40, 0, 0, 17, 7, 6,132, 4,158, 1,117, 0, 9, 64, 5, 64, 12, 64, 16, 2, 93, 49, 0, +255,255, 0,201, 0, 0, 1,147, 5,213, 18, 38, 0, 44, 0, 0, 16, 7, 6,135, 3, 47, 1,117,255,255, 0,201, 0, 0, 1,147, + 5,213, 18, 38, 0, 44, 0, 0, 16, 7, 6,133, 3, 47, 1,117,255,255, 0,201, 0, 0, 1,147, 5,213, 18, 38, 0, 44, 0, 0, + 17, 7, 6,136, 3, 47, 1,117, 0, 8,180, 1, 6, 10, 0, 7, 43, 49, 0, 0,255,255, 0,201, 0, 0, 1,147, 5,213, 18, 38, + 0, 44, 0, 0, 17, 7, 6,132, 3, 47, 1,117, 0, 8,180, 0, 10, 7, 1, 7, 43, 49, 0, 0, 0, 2, 0, 10, 0, 0, 5,186, + 5,213, 0, 12, 0, 25, 0,103, 64, 32, 16, 9,169, 11, 13,149, 0,129, 18,149, 14, 11, 7, 7, 1, 25, 19, 4, 15, 13, 22, 25, + 4, 50, 10, 17, 13, 28, 8, 0,121, 26, 16,244, 60,236, 50,196,244,236, 16,196, 23, 57, 49, 0, 47,198, 50,238,246,238, 16,238, + 50, 48, 64, 40, 32, 27,127, 27,176, 27, 3,159, 9,159, 10,159, 11,159, 12,159, 14,159, 15,159, 16,159, 17,191, 9,191, 10,191, + 11,191, 12,191, 14,191, 15,191, 16,191, 17, 16, 93, 1, 93, 19, 33, 32, 0, 17, 16, 0, 41, 1, 17, 35, 53, 51, 19, 17, 33, 21, + 33, 17, 51, 32, 0, 17, 16, 0, 33,211, 1,160, 1,177, 1,150,254,105,254, 80,254, 96,201,201,203, 1, 80,254,176,243, 1, 53, + 1, 31,254,225,254,203, 5,213,254,151,254,128,254,126,254,150, 2,188,144, 1,227,254, 29,144,253,234, 1, 24, 1, 46, 1, 44, + 1, 23, 0, 0,255,255, 0,201, 0, 0, 5, 51, 5,213, 18, 38, 0, 49, 0, 0, 17, 7, 6,134, 4,254, 1,117, 0, 20,180, 0, + 19, 34, 4, 7, 43, 64, 9, 48, 19, 63, 34, 16, 19, 31, 34, 4, 93, 49, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 18, 38, + 0, 50, 0, 0, 16, 7, 6,135, 5, 39, 1,117,255,255, 0,115,255,227, 5,217, 5,240, 18, 38, 0, 50, 0, 0, 16, 7, 6,133, + 5, 39, 1,117,255,255, 0,115,255,227, 5,217, 5,240, 18, 38, 0, 50, 0, 0, 17, 7, 6,136, 5, 39, 1,117, 0, 16,180, 15, + 26, 30, 21, 7, 43, 64, 5, 31, 26, 16, 30, 2, 93, 49, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 18, 38, 0, 50, 0, 0, + 17, 7, 6,134, 5, 39, 1,117, 0, 24,180, 3, 33, 48, 9, 7, 43, 64, 13, 48, 33, 63, 48, 32, 33, 47, 48, 16, 33, 31, 48, 6, + 93, 49, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 18, 38, 0, 50, 0, 0, 17, 7, 6,132, 5, 39, 1,117, 0, 20,180, 3, + 31, 26, 9, 7, 43, 64, 9, 64, 31, 79, 26, 16, 31, 31, 26, 4, 93, 49, 0, 0, 0, 1, 1, 25, 0, 63, 5,156, 4,197, 0, 11, + 0,133, 64, 77, 10,156, 11, 10, 7, 8, 7, 9,156, 8, 8, 7, 4,156, 3, 4, 7, 7, 6, 5,156, 6, 7, 6, 4,156, 5, 4, + 1, 2, 1, 3,156, 2, 2, 1, 11,156, 0, 1, 0, 10,156, 9, 10, 1, 1, 0, 66, 10, 8, 7, 6, 4, 2, 1, 0, 8, 5, 3, + 11, 9, 12, 11, 10, 9, 7, 5, 4, 3, 1, 8, 2, 0, 8, 6, 12, 16,212, 60,204, 50, 23, 57, 49, 0, 16,212, 60,204, 50, 23, + 57, 48, 75, 83, 88, 7, 16, 8,237, 7, 16, 5,237, 7, 16, 5,237, 7, 16, 8,237, 7, 16, 5,237, 7, 16, 8,237, 7, 16, 5, +237, 7, 16, 8,237, 89, 34, 9, 2, 7, 9, 1, 39, 9, 1, 55, 9, 1, 5,156,254, 55, 1,201,119,254, 53,254, 53,118, 1,200, +254, 56,118, 1,203, 1,203, 4, 76,254, 53,254, 55,121, 1,203,254, 53,121, 1,201, 1,203,121,254, 53, 1,203, 0, 3, 0,102, +255,186, 5,229, 6, 23, 0, 9, 0, 19, 0, 43, 0,158, 64, 60, 29, 31, 26, 13, 43, 44, 19, 10, 1, 0, 4, 13, 41, 38, 32, 20, + 13, 4, 42, 38, 30, 26, 4,149, 38, 13,149, 26,145, 38,140, 44, 43, 44, 42, 20, 23, 16, 32, 30, 35, 19, 10, 1, 0, 4, 29, 41, + 16, 7, 31, 7, 25, 35, 51, 16, 25, 23, 16, 44, 16,252,236,252,236,192, 17, 18, 57, 57, 23, 57, 18, 57, 57, 17, 18, 57, 57, 17, + 57, 49, 0, 16,228,244,236, 16,238, 16,192, 16,192, 17, 18, 57, 57, 18, 57, 18, 23, 57, 18, 57, 17, 18, 57, 57, 48, 64, 42, 87, + 0, 90, 21, 87, 25, 85, 33,106, 21,101, 33,123, 21,118, 28,117, 33, 9, 70, 19, 89, 0, 86, 19,106, 0,100, 19,100, 28,106, 40, +124, 0,115, 19,118, 28,122, 40, 11, 93, 1, 93, 9, 1, 30, 1, 51, 50, 0, 17, 52, 38, 39, 46, 1, 35, 34, 0, 17, 20, 22, 23, + 7, 38, 2, 53, 16, 0, 33, 50, 22, 23, 55, 23, 7, 22, 18, 21, 16, 0, 33, 34, 38, 39, 7, 39, 4,182,253, 51, 62,161, 95,220, + 1, 1, 39,121, 61,161, 95,220,254,253, 39, 39,134, 78, 79, 1,121, 1, 59,130,221, 87,162,102,170, 78, 80,254,136,254,198,128, +221, 91,162,103, 4, 88,252,178, 64, 67, 1, 72, 1, 26,112,184,184, 64, 67,254,184,254,229,112,188, 68,158,102, 1, 8,160, 1, + 98, 1,165, 77, 75,191, 89,198,103,254,246,158,254,159,254, 91, 75, 75,191, 88,255,255, 0,178,255,227, 5, 41, 5,213, 18, 38, + 0, 56, 0, 0, 16, 7, 6,135, 4,238, 1,117,255,255, 0,178,255,227, 5, 41, 5,213, 18, 38, 0, 56, 0, 0, 16, 7, 6,133, + 4,238, 1,117,255,255, 0,178,255,227, 5, 41, 5,213, 18, 38, 0, 56, 0, 0, 17, 7, 6,136, 4,238, 1,117, 0, 20,180, 10, + 20, 24, 0, 7, 43, 64, 9, 47, 20, 32, 24, 31, 20, 16, 24, 4, 93, 49, 0, 0,255,255, 0,178,255,227, 5, 41, 5,213, 18, 38, + 0, 56, 0, 0, 17, 7, 6,132, 4,238, 1,117, 0, 28,180, 1, 25, 20, 9, 7, 43, 64, 17, 80, 25, 95, 20, 64, 25, 79, 20, 32, + 25, 47, 20, 16, 25, 31, 20, 8, 93, 49, 0, 0,255,255,255,252, 0, 0, 4,231, 5,213, 18, 38, 0, 60, 0, 0, 16, 7, 6,133, + 4,115, 1,117, 0, 2, 0,201, 0, 0, 4,141, 5,213, 0, 12, 0, 21, 0, 61, 64, 27, 14,149, 9, 13,149, 2,246, 0,129, 11, + 21, 15, 9, 3, 4, 1, 18, 25, 6, 63, 13, 10, 1, 28, 0, 4, 22, 16,252,236, 50, 50,252,236, 17, 23, 57, 49, 0, 47,244,252, +236,212,236, 48, 64, 9, 15, 23, 31, 23, 63, 23, 95, 23, 4, 1, 93, 19, 51, 17, 51, 50, 4, 21, 20, 4, 43, 1, 17, 35, 19, 17, + 51, 50, 54, 53, 52, 38, 35,201,202,254,251, 1, 1,254,255,251,254,202,202,254,141,154,153,142, 5,213,254,248,225,220,220,226, +254,174, 4, 39,253,209,146,134,134,145, 0, 0, 0, 1, 0,186,255,227, 4,172, 6, 20, 0, 47, 0,154, 64, 48, 45, 39, 33, 12, + 4, 6, 13, 32, 0, 4, 42, 22,134, 23, 26,185, 19, 42,185, 3,151, 19,140, 46, 12, 9, 13, 29, 32, 33, 39, 9, 8, 36, 39, 8, + 6, 29, 8, 36, 16, 22, 45, 8, 16, 0, 70, 48, 16,252,196,252,204, 16,198,238,212,238, 16,238, 17, 57, 57, 18, 57, 18, 57, 49, + 0, 47,228,254,238, 16,254,213,238, 18, 23, 57, 23, 57, 48, 64, 64, 15, 5, 15, 6, 15, 7, 15, 39, 15, 40,138, 12,138, 13, 7, + 10, 6, 10, 7, 10, 11, 10, 12, 10, 13, 10, 31, 13, 32, 10, 33, 12, 34, 4, 38, 25, 13, 25, 31, 25, 32, 58, 32, 58, 33, 77, 31, + 77, 32, 73, 33, 73, 34,106, 31,106, 32,165, 6,165, 7,166, 32, 24, 93, 1, 93, 19, 52, 54, 51, 50, 22, 23, 14, 1, 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, 55, 46, 1, 35, 34, + 6, 21, 17, 35,186,239,218,208,219, 3,151,168, 58, 65, 57,166, 96,225,211, 64,136, 73, 80,140, 65,116,120, 59,101, 92, 96, 87, +167,151, 8,131,113,130,136,187, 4,113,200,219,232,224, 8,115, 96, 47, 81, 42, 37,106,142,100,172,183, 25, 24,164, 30, 29, 95, + 91, 63, 84, 62, 55, 59,135, 91,127,172, 29,103,112,139,131,251,147, 0, 0, 0,255,255, 0,123,255,227, 4, 45, 6,102, 18, 38, + 0, 68, 0, 0, 17, 6, 0, 67, 82, 0, 0, 11, 64, 7, 63, 38, 47, 38, 31, 38, 3, 93, 49, 0,255,255, 0,123,255,227, 4, 45, + 6,102, 18, 38, 0, 68, 0, 0, 17, 6, 0,118, 82, 0, 0, 11, 64, 7, 63, 38, 47, 38, 31, 38, 3, 93, 49, 0,255,255, 0,123, +255,227, 4, 45, 6,102, 18, 38, 0, 68, 0, 0, 17, 6, 2, 31, 82, 0, 0, 8,180, 11, 40, 44, 20, 7, 43, 49,255,255, 0,123, +255,227, 4, 45, 6, 55, 18, 38, 0, 68, 0, 0, 17, 6, 2, 53, 82, 0, 0, 20,180, 20, 46, 60, 11, 7, 43, 64, 9, 32, 46, 47, + 60, 16, 46, 31, 60, 4, 93, 49,255,255, 0,123,255,227, 4, 45, 6, 16, 18, 38, 0, 68, 0, 0, 17, 6, 0,106, 82, 0, 0, 32, +180, 20, 45, 40, 11, 7, 43, 64, 21,127, 40,111, 40, 80, 45, 95, 40, 64, 45, 79, 40, 48, 45, 63, 40, 0, 45, 15, 40, 10, 93, 49, +255,255, 0,123,255,227, 4, 45, 7, 6, 18, 38, 0, 68, 0, 0, 17, 6, 2, 51, 82, 0, 0, 37, 64, 14, 38, 44, 20, 44, 38, 11, + 7, 50, 56, 20, 56, 50, 11, 7, 43, 16,196, 43, 16,196, 49, 0, 64, 9, 63, 53, 63, 47, 15, 53, 15, 47, 4, 93, 48, 0, 0, 0, + 0, 3, 0,123,255,227, 7,111, 4,123, 0, 6, 0, 51, 0, 62, 1, 3, 64, 67, 39, 45, 37, 61, 14, 13, 0, 52,169, 37, 22,134, + 21,136, 18, 0,169, 14, 58, 18,185, 28, 25, 46,134, 45,186, 42, 3,185, 14,187, 7, 49, 10,184, 31, 25,140, 37, 63, 52, 55, 38, + 6, 15, 0, 37, 55, 28, 7, 38, 15, 21, 0, 8, 13, 61, 38, 8, 15, 45, 55, 8, 34, 69, 63, 16,252,236,204,212,252, 60,212,236, +196, 17, 18, 57, 57, 17, 57, 17, 18, 57, 17, 18, 57, 49, 0, 16,196,228, 50,244, 60,196,228,252, 60,244,236, 16,196,238, 50, 16, +238, 16,244,238, 16,238, 17, 57, 17, 57, 17, 18, 57, 48, 64,129, 48, 43, 48, 44, 48, 45, 48, 46, 48, 47, 48, 48, 64, 43, 64, 44, + 64, 45, 64, 46, 64, 47, 64, 48, 80, 43, 80, 44, 80, 45, 80, 46, 80, 47, 80, 48,133, 43,133, 48,128, 64,144, 64,160, 64,176, 64, +192, 64,208, 64,224, 64,224, 64,240, 64, 29, 63, 0, 63, 6, 63, 13, 63, 14, 63, 15, 5, 48, 44, 48, 45, 48, 46, 48, 47, 64, 44, + 64, 45, 64, 46, 64, 47, 80, 44, 80, 45, 80, 46, 80, 47,111, 0,111, 6,111, 13,111, 14,111, 15, 96, 44, 96, 45, 96, 46, 96, 47, +112, 44,112, 45,112, 46,112, 47,128, 44,128, 45,128, 46,128, 47, 29, 93,113, 1, 93, 1, 46, 1, 35, 34, 6, 7, 3, 62, 1, 51, + 50, 0, 29, 1, 33, 30, 1, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 39, 14, 1, 35, 34, 38, 53, 52, 54, 51, 33, 53, 52, 38, 35, + 34, 6, 7, 53, 62, 1, 51, 50, 22, 3, 34, 6, 21, 20, 22, 51, 50, 54, 61, 1, 6,182, 1,165,137,153,185, 14, 68, 74,212,132, +226, 1, 8,252,178, 12,204,183,104,200,100,100,208,106,167,248, 77, 73,216,143,189,210,253,251, 1, 2,167,151, 96,182, 84,101, +190, 90,142,213,239,223,172,129,111,153,185, 2,148,151,180,174,158, 1, 48, 90, 94,254,221,250, 90,191,200, 53, 53,174, 42, 44, +121,119,120,120,187,168,189,192, 18,127,139, 46, 46,170, 39, 39, 96,254, 24,102,123, 98,115,217,180, 41, 0, 0,255,255, 0,113, +254,117, 3,231, 4,123, 18, 38, 0, 70, 0, 0, 16, 7, 0,122, 0,143, 0, 0,255,255, 0,113,255,227, 4,127, 6,102, 18, 38, + 0, 72, 0, 0, 16, 7, 0, 67, 0,139, 0, 0,255,255, 0,113,255,227, 4,127, 6,102, 18, 38, 0, 72, 0, 0, 16, 7, 0,118, + 0,139, 0, 0,255,255, 0,113,255,227, 4,127, 6,102, 18, 38, 0, 72, 0, 0, 17, 7, 2, 31, 0,139, 0, 0, 0, 8,180, 21, + 30, 34, 27, 7, 43, 49, 0, 0,255,255, 0,113,255,227, 4,127, 6, 16, 18, 38, 0, 72, 0, 0, 17, 7, 0,106, 0,139, 0, 0, + 0, 7, 64, 3, 64, 32, 1, 93, 49, 0, 0, 0,255,255,255,199, 0, 0, 1,166, 6,102, 18, 38, 0,243, 0, 0, 16, 7, 0, 67, +255, 29, 0, 0,255,255, 0,144, 0, 0, 2,111, 6,102, 18, 38, 0,243, 0, 0, 16, 7, 0,118,255, 29, 0, 0,255,255,255,222, + 0, 0, 2, 92, 6,102, 18, 38, 0,243, 0, 0, 17, 7, 2, 31,255, 29, 0, 0, 0, 8,180, 1, 6, 10, 0, 7, 43, 49, 0, 0, +255,255,255,244, 0, 0, 2, 70, 6, 16, 18, 38, 0,243, 0, 0, 17, 7, 0,106,255, 29, 0, 0, 0, 8,180, 0, 10, 7, 1, 7, + 43, 49, 0, 0, 0, 2, 0,113,255,227, 4,117, 6, 20, 0, 14, 0, 40, 1, 39, 64, 94, 37,123, 38, 37, 30, 35, 30, 36,123, 35, + 35, 30, 15,123, 35, 30, 40,123, 39, 40, 30, 35, 30, 38, 39, 40, 39, 37, 36, 37, 40, 40, 39, 34, 35, 34, 31, 32, 31, 33, 32, 32, + 31, 66, 40, 39, 38, 37, 34, 33, 32, 31, 8, 35, 30, 3, 15, 35, 3,185, 27, 9,185, 21,140, 27, 35,177, 41, 38, 39, 18, 12, 33, + 32, 24, 40, 37, 35, 34, 31, 5, 30, 15, 6, 12, 18, 18, 81, 6, 18, 24, 69, 41, 16,252,236,244,236, 17, 57, 57, 23, 57, 18, 57, + 57, 17, 18, 57, 57, 49, 0, 16,236,196,244,236, 16,238, 18, 57, 18, 57, 18, 23, 57, 48, 75, 83, 88, 7, 16, 14,201, 7, 16, 8, +201, 7, 16, 8,201, 7, 16, 14,201, 7, 16, 8,237, 7, 14,237, 7, 16, 5,237, 7, 16, 8,237, 89, 34,178, 63, 42, 1, 1, 93, + 64,118, 22, 37, 43, 31, 40, 34, 47, 35, 47, 36, 41, 37, 45, 38, 45, 39, 42, 40, 54, 37, 70, 37, 88, 32, 88, 33, 96, 32, 96, 33, +102, 34,117, 32,117, 33,117, 34, 19, 37, 35, 37, 36, 38, 38, 38, 39, 39, 40, 54, 36, 54, 37, 70, 36, 69, 37, 90, 32, 90, 33, 98, + 32, 98, 33,127, 0,127, 1,127, 2,122, 3,123, 9,127, 10,127, 11,127, 12,127, 13,127, 14,127, 15,127, 16,127, 17,127, 18,127, + 19,127, 20,123, 21,122, 27,122, 28,127, 29,127, 30,118, 32,118, 33,120, 34,160, 42,240, 42, 39, 93, 0, 93, 1, 46, 1, 35, 34, + 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 19, 22, 18, 21, 20, 0, 35, 34, 0, 17, 52, 0, 51, 50, 22, 23, 39, 5, 39, 37, 39, 51, + 23, 37, 23, 5, 3, 70, 50, 88, 41,167,185,174,146,145,174, 54, 9,126,114,254,228,230,231,254,229, 1, 20,221, 18, 52, 42,159, +254,193, 33, 1, 25,181,228,127, 1, 77, 33,254,217, 3,147, 17, 16,216,195,188,222,222,188,122,188, 1, 38,143,254,224,173,255, +254,201, 1, 55, 0,255,250, 1, 55, 5, 5,180,107, 99, 92,204,145,111, 97, 98,255,255, 0,186, 0, 0, 4,100, 6, 55, 18, 38, + 0, 81, 0, 0, 16, 7, 2, 53, 0,152, 0, 0,255,255, 0,113,255,227, 4,117, 6,102, 18, 38, 0, 82, 0, 0, 16, 6, 0, 67, +115, 0, 0, 0,255,255, 0,113,255,227, 4,117, 6,102, 18, 38, 0, 82, 0, 0, 16, 6, 0,118,115, 0, 0, 0,255,255, 0,113, +255,227, 4,117, 6,102, 18, 38, 0, 82, 0, 0, 17, 6, 2, 31,115, 0, 0, 8,180, 15, 26, 30, 21, 7, 43, 49,255,255, 0,113, +255,227, 4,117, 6, 55, 18, 38, 0, 82, 0, 0, 17, 6, 2, 53,115, 0, 0, 20,180, 21, 32, 46, 15, 7, 43, 64, 9, 32, 32, 47, + 46, 16, 32, 31, 46, 4, 93, 49,255,255, 0,113,255,227, 4,117, 6, 16, 18, 38, 0, 82, 0, 0, 17, 6, 0,106,115, 0, 0, 20, +180, 3, 31, 26, 9, 7, 43, 64, 9, 64, 31, 79, 26, 48, 31, 63, 26, 4, 93, 49, 0, 3, 0,217, 0,150, 5,219, 4,111, 0, 3, + 0, 7, 0, 11, 0, 41, 64, 20, 0,234, 2, 6,234, 4, 2, 8,156, 4, 10, 12, 9, 5, 1,114, 4, 0, 8, 12, 16,220,212, 60, +252, 60,196, 49, 0, 16,212,196,252,196, 16,238, 16,238, 48, 1, 51, 21, 35, 17, 51, 21, 35, 1, 33, 21, 33, 2,223,246,246,246, +246,253,250, 5, 2,250,254, 4,111,246,254, 18,245, 2, 65,170, 0, 3, 0, 72,255,162, 4,156, 4,188, 0, 9, 0, 19, 0, 43, + 0,228, 64, 60, 43, 44, 38, 31, 29, 26, 19, 10, 1, 0, 4, 13, 41, 38, 32, 20, 13, 4, 42, 38, 30, 26, 4,185, 38, 13,185, 26, +184, 38,140, 44, 43, 44, 42, 20, 23, 16, 32, 30, 35, 19, 10, 1, 0, 4, 16, 7, 31, 29, 7, 18, 35, 81, 41, 16, 18, 23, 69, 44, + 16,252,236, 50,244,236, 50,192, 17, 18, 23, 57, 18, 57, 57, 17, 18, 57, 57, 17, 57, 49, 0, 16,228,244,236, 16,238, 16,192, 16, +192, 17, 18, 57, 57, 18, 57, 18, 23, 57, 17, 57, 57, 17, 18, 57, 48, 64,112, 40, 1, 63, 45, 89, 20, 86, 28, 85, 29, 86, 32,106, + 21,102, 33,127, 0,123, 4,127, 5,127, 6,127, 7,127, 8,127, 9,127, 10,127, 11,127, 12,123, 13,122, 21,123, 26,127, 27,127, + 28,127, 29,127, 30,127, 31,127, 32,123, 33,127, 34,127, 35,127, 36,127, 37,123, 38,155, 25,149, 37,168, 25,160, 45,240, 45, 38, + 89, 0, 86, 19, 85, 29, 90, 40,105, 0,102, 19,101, 28,106, 40,122, 0,116, 19,118, 28,122, 40,137, 30,149, 24,154, 36,162, 24, +173, 36, 17, 93, 1, 93, 9, 1, 30, 1, 51, 50, 54, 53, 52, 38, 39, 46, 1, 35, 34, 6, 21, 20, 22, 23, 7, 46, 1, 53, 16, 0, + 51, 50, 22, 23, 55, 23, 7, 30, 1, 21, 16, 0, 35, 34, 38, 39, 7, 39, 3,137,254, 25, 41,103, 65,147,172, 20, 92, 42,103, 62, +151,169, 19, 20,125, 54, 54, 1, 17,241, 93,159, 67,139, 95,146, 53, 54,254,238,240, 96,161, 63,139, 96, 3, 33,253,176, 42, 40, +232,200, 79,117,154, 41, 41,235,211, 72,110, 46,151, 77,197,119, 1, 20, 1, 56, 51, 52,168, 79,179, 77,198,120,254,237,254,199, + 52, 51,168, 78,255,255, 0,174,255,227, 4, 88, 6,102, 18, 38, 0, 88, 0, 0, 16, 6, 0, 67,123, 0, 0, 0,255,255, 0,174, +255,227, 4, 88, 6,102, 18, 38, 0, 88, 0, 0, 16, 6, 0,118,123, 0, 0, 0,255,255, 0,174,255,227, 4, 88, 6,102, 18, 38, + 0, 88, 0, 0, 17, 6, 2, 31,123, 0, 0, 8,180, 11, 22, 26, 1, 7, 43, 49,255,255, 0,174,255,227, 4, 88, 6, 16, 18, 38, + 0, 88, 0, 0, 17, 6, 0,106,123, 0, 0, 24,180, 2, 26, 23, 10, 7, 43, 64, 13, 64, 26, 79, 23, 48, 26, 63, 23, 0, 26, 15, + 23, 6, 93, 49,255,255, 0, 61,254, 86, 4,127, 6,102, 18, 38, 0, 92, 0, 0, 16, 6, 0,118, 94, 0, 0, 0, 0, 2, 0,186, +254, 86, 4,164, 6, 20, 0, 16, 0, 28, 0, 62, 64, 27, 20,185, 5, 8, 26,185, 0, 14,140, 8,184, 1,189, 3,151, 29, 17, 18, + 11, 71, 23, 4, 0, 8, 2, 70, 29, 16,252,236, 50, 50,244,236, 49, 0, 16,236,228,228,244,196,236, 16,198,238, 48, 64, 9, 96, + 30,128, 30,160, 30,224, 30, 4, 1, 93, 37, 17, 35, 17, 51, 17, 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, 7,190,253,162,100, 97,254,188,254,248,254,248,254,188, 97, 1,235,203,231,231,203,203,231,231, 0, 0,255,255, 0, 61, +254, 86, 4,127, 6, 16, 18, 38, 0, 92, 0, 0, 17, 6, 0,106, 94, 0, 0, 22,180, 24, 23, 18, 25, 7, 43, 64, 11, 48, 23, 63, + 18, 32, 23, 47, 18, 31, 18, 5, 93, 49, 0, 0,255,255, 0, 16, 0, 0, 5,104, 7, 49, 16, 39, 0,113, 0,188, 1, 59, 19, 6, + 0, 36, 0, 0, 0, 16,180, 14, 3, 2, 9, 7, 43, 64, 5, 64, 3, 79, 2, 2, 93, 49, 0, 0,255,255, 0,123,255,227, 4, 45, + 5,246, 16, 38, 0,113, 74, 0, 19, 6, 0, 68, 0, 0, 0, 16,180, 24, 3, 2, 15, 7, 43, 64, 5,111, 2,127, 3, 2, 93, 49, +255,255, 0, 16, 0, 0, 5,104, 7,146, 16, 39, 2, 49, 0,206, 1, 74, 19, 6, 0, 36, 0, 0, 0, 18,180, 24, 0, 8, 19, 7, + 43, 49, 0, 64, 5,111, 0,111, 8, 2, 93, 48,255,255, 0,123,255,227, 4, 45, 6, 31, 16, 38, 2, 49, 79,215, 19, 6, 0, 68, + 0, 0, 0, 8,180, 34, 0, 8, 25, 7, 43, 49,255,255, 0, 16,254,117, 5,165, 5,213, 16, 39, 2, 52, 2,228, 0, 0, 18, 6, + 0, 36, 0, 0,255,255, 0,123,254,117, 4,128, 4,123, 16, 39, 2, 52, 1,191, 0, 0, 18, 6, 0, 68, 0, 0,255,255, 0,115, +255,227, 5, 39, 5,240, 18, 38, 0, 38, 0, 0, 16, 7, 6,133, 5, 45, 1,117,255,255, 0,113,255,227, 3,231, 6,102, 18, 38, + 0, 70, 0, 0, 16, 7, 0,118, 0,137, 0, 0,255,255, 0,115,255,227, 5, 39, 5,240, 16, 39, 6,136, 5, 76, 1,117, 19, 6, + 0, 38, 0, 0, 0, 9,178, 4, 4, 30, 16, 60, 61, 47, 49, 0,255,255, 0,113,255,227, 3,231, 6,102, 16, 39, 2, 31, 0,164, + 0, 0, 18, 6, 0, 70, 0, 0,255,255, 0,115,255,227, 5, 39, 5,240, 16, 39, 6,140, 5, 76, 1,117, 18, 6, 0, 38, 0, 0, +255,255, 0,113,255,227, 3,231, 6, 16, 16, 39, 2, 50, 0,164, 0, 0, 18, 6, 0, 70, 0, 0,255,255, 0,115,255,227, 5, 39, + 5,240, 18, 38, 0, 38, 0, 0, 17, 7, 6,137, 5, 45, 1,117, 0, 7, 64, 3, 31, 29, 1, 93, 49, 0, 0, 0,255,255, 0,113, +255,227, 3,231, 6,102, 18, 38, 0, 70, 0, 0, 16, 7, 2, 32, 0,137, 0, 0,255,255, 0,201, 0, 0, 5,176, 5,213, 16, 38, + 0, 39, 0, 0, 16, 7, 6,137, 4,236, 1,137,255,255, 0,113,255,227, 4, 90, 6, 20, 18, 38, 0, 71, 0, 0, 17, 7, 6,131, + 5, 20, 0, 0, 0, 11, 64, 7, 95, 29, 63, 29, 31, 29, 3, 93, 49, 0, 0, 0,255,255, 0, 10, 0, 0, 5,186, 5,213, 16, 6, + 0,146, 0, 0, 0, 2, 0,113,255,227, 4,244, 6, 20, 0, 24, 0, 36, 0, 74, 64, 36, 7, 3,211, 9, 1,249, 34,185, 0, 22, + 28,185, 13, 16,140, 22,184, 5,151, 11, 2, 31, 12, 4, 3, 0, 8, 8, 10, 6, 71, 25, 18, 19, 69, 37, 16,252,236,244, 60,196, +252, 23, 60,196, 49, 0, 47,236,228,244,196,236, 16,196,238,253, 60,238, 50, 48,182, 96, 38,128, 38,160, 38, 3, 1, 93, 1, 17, + 33, 53, 33, 53, 51, 21, 51, 21, 35, 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,254,186, 1, 70,184,154,154,184, 58,177,124,203,255, 0,255,203,124,177,253,199,167,146,146,168,168,146,146, +167, 3,182, 1, 78,125,147,147,125,250,252,168,100, 97, 1, 68, 1, 8, 1, 8, 1, 68, 97,254, 21,203,231,231,203,203,231,231, +255,255, 0,201, 0, 0, 4,139, 7, 51, 16, 39, 0,113, 0,161, 1, 61, 18, 6, 0, 40, 0, 0,255,255, 0,113,255,227, 4,127, + 5,246, 16, 39, 0,113, 0,150, 0, 0, 19, 6, 0, 72, 0, 0, 0, 7, 64, 3,112, 0, 1, 93, 49, 0, 0, 0,255,255, 0,201, + 0, 0, 4,139, 5,213, 16, 39, 6,139, 4,161, 1,117, 19, 6, 0, 40, 0, 0, 0, 7, 64, 3, 64, 0, 1, 93, 49, 0, 0, 0, +255,255, 0,113,255,227, 4,127, 6, 72, 16, 39, 2, 49, 0,150, 0, 0, 19, 6, 0, 72, 0, 0, 0, 7, 64, 3,112, 0, 1, 93, + 49, 0, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 16, 39, 6,140, 4,161, 1,117, 18, 6, 0, 40, 0, 0,255,255, 0,113, +255,227, 4,127, 6, 16, 16, 39, 2, 50, 0,150, 0, 0, 18, 6, 0, 72, 0, 0,255,255, 0,201,254,117, 4,141, 5,213, 16, 39, + 2, 52, 1,204, 0, 0, 18, 6, 0, 40, 0, 0,255,255, 0,113,254,117, 4,127, 4,123, 16, 39, 2, 52, 1,120, 0, 0, 18, 6, + 0, 72, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 18, 38, 0, 40, 0, 0, 17, 7, 6,137, 4,166, 1,111, 0, 7, 64, 3, + 64, 12, 1, 93, 49, 0, 0, 0,255,255, 0,113,255,227, 4,127, 6, 97, 18, 38, 0, 72, 0, 0, 17, 7, 2, 32, 0,148,255,251, + 0, 16,180, 0, 33, 29, 15, 7, 43, 64, 5, 15, 33, 0, 29, 2, 93, 49, 0, 0,255,255, 0,115,255,227, 5,139, 5,240, 16, 39, + 6,136, 5, 92, 1,117, 19, 6, 0, 42, 0, 0, 0, 9,178, 4, 4, 21, 16, 60, 61, 47, 49, 0,255,255, 0,113,254, 86, 4, 90, + 6,102, 16, 38, 2, 31,104, 0, 19, 6, 0, 74, 0, 0, 0, 9,178, 4, 4, 10, 16, 60, 61, 47, 49, 0, 0, 0,255,255, 0,115, +255,227, 5,139, 5,240, 18, 38, 0, 42, 0, 0, 16, 7, 6,139, 5, 27, 1,117,255,255, 0,113,254, 86, 4, 90, 6, 72, 18, 38, + 0, 74, 0, 0, 16, 7, 2, 49, 0,139, 0, 0,255,255, 0,115,255,227, 5,139, 5,240, 16, 39, 6,140, 5, 92, 1,117, 19, 6, + 0, 42, 0, 0, 0, 8, 0, 64, 3, 63, 0, 1, 93, 48, 0, 0,255,255, 0,113,254, 86, 4, 90, 6, 16, 16, 38, 2, 50,104, 0, + 18, 6, 0, 74, 0, 0, 0, 0,255,255, 0,115,254, 1, 5,139, 5,240, 16, 39, 2,110, 5, 94,255,237, 18, 6, 0, 42, 0, 0, +255,255, 0,113,254, 86, 4, 90, 6, 52, 16, 39, 2, 90, 3,224, 1, 12, 18, 6, 0, 74, 0, 0,255,255, 0,201, 0, 0, 5, 59, + 5,213, 16, 39, 6,136, 5, 2, 1,117, 19, 6, 0, 43, 0, 0, 0, 20,180, 12, 2, 6, 7, 7, 43, 64, 9, 47, 2, 32, 6, 31, + 2, 16, 6, 4, 93, 49, 0, 0,255,255, 0,186, 0, 0, 4,100, 6, 20, 16, 39, 6,136, 3, 22, 1,117, 19, 6, 0, 75, 0, 0, + 0, 42,180, 20, 2, 6, 19, 7, 43, 49, 0, 75,176, 14, 81, 88,187, 0, 20,255,192, 0, 19,255,192, 56, 56, 89, 64, 13,144, 20, +144, 19,128, 20,128, 19, 64, 20, 64, 19, 6, 93, 0, 2, 0,201, 0, 0, 6,139, 5,213, 0, 19, 0, 23, 0, 58, 64, 30, 6, 2, + 18,149, 9, 20, 17, 12,149, 21,173, 4, 0,129, 14, 10, 7, 12, 23, 4, 28, 5, 56, 18, 13, 20, 1, 28, 0, 24, 16,220,236, 50, + 50,204,252,236, 50, 50,204, 49, 0, 47, 60,228, 50,252,236,220, 50, 50,236, 50, 50, 48, 1, 51, 21, 33, 53, 51, 21, 51, 21, 35, + 17, 35, 17, 33, 17, 35, 17, 35, 53, 51, 23, 21, 33, 53, 1,113,202, 2,222,202,168,168,202,253, 34,202,168,168,202, 2,222, 5, +213,224,224,224,164,251,175, 2,199,253, 57, 4, 81,164,164,224,224, 0, 0, 0, 0, 1, 0,120, 0, 0, 4,159, 6, 20, 0, 27, + 0, 62, 64, 33, 3, 9, 0, 3, 22, 1, 14, 18,135, 13, 21, 6,135, 22, 25,184, 16,151, 10, 1, 2, 8, 0, 78, 19, 14, 17, 21, + 9, 8, 16, 11, 28, 16,220, 50,236, 50, 50,204,204,244,236, 49, 0, 47, 60,236,244,196,236,220, 50,236, 50, 17, 18, 23, 57, 48, + 1, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 35, 53, 51, 53, 51, 21, 33, 21, 33, 17, 62, 1, 51, 50, 22, 4,159,184,124, +124,149,172,185,125,125,185, 1, 96,254,160, 66,179,117,193,198, 2,164,253, 92, 2,158,159,158,190,164,253,135, 4,246,164,122, +122,164,254,188,101,100,239, 0,255,255, 0,201, 0, 0, 1,147, 5,213, 16, 39, 6,134, 3, 46, 1,117, 19, 6, 0, 44, 0, 0, + 0, 8,180, 30, 9, 24, 31, 7, 43, 49, 0, 0,255,255,255,211, 0, 0, 2,103, 6, 55, 16, 39, 2, 53,255, 29, 0, 0, 19, 6, + 0,243, 0, 0, 0, 8,180, 28, 8, 22, 29, 7, 43, 49, 0, 0,255,255, 0, 3, 0, 0, 2, 89, 7, 49, 16, 39, 0,113,255, 46, + 1, 59, 19, 6, 0, 44, 0, 0, 0, 8,180, 4, 3, 2, 5, 7, 43, 49, 0, 0,255,255,255,242, 0, 0, 2, 72, 5,245, 16, 39, + 0,113,255, 29,255,255, 19, 6, 0,243, 0, 0, 0, 8,180, 4, 3, 2, 5, 7, 43, 49, 0, 0,255,255, 0,201, 0, 0, 1,147, + 5,213, 16, 39, 6,139, 3, 46, 1,117, 19, 6, 0, 44, 0, 0, 0, 8,180, 14, 0, 8, 15, 7, 43, 49, 0, 0,255,255,255,228, + 0, 0, 2, 86, 6, 72, 16, 39, 2, 49,255, 29, 0, 0, 19, 6, 0,243, 0, 0, 0, 8,180, 14, 0, 8, 15, 7, 43, 49, 0, 0, +255,255, 0,176,254,117, 2, 37, 5,213, 16, 39, 2, 52,255,100, 0, 0, 18, 6, 0, 44, 0, 0,255,255, 0,150,254,117, 2, 11, + 6, 20, 16, 39, 2, 52,255, 74, 0, 0, 18, 6, 0, 76, 0, 0,255,255, 0,201, 0, 0, 1,147, 5,213, 18, 38, 0, 44, 0, 0, + 17, 7, 6,140, 3, 47, 1,117, 0, 19,179, 6, 1, 7, 0, 16, 60, 16, 60, 49, 0,180, 63, 7, 63, 6, 2, 93, 48, 0, 0, 0, + 0, 1, 0,193, 0, 0, 1,121, 4, 96, 0, 3, 0, 32,183, 0,191, 2, 1, 8, 0, 70, 4, 16,252,236, 49, 0, 47,236, 48, 64, + 11, 16, 5, 64, 5, 80, 5, 96, 5,112, 5, 5, 1, 93, 19, 51, 17, 35,193,184,184, 4, 96,251,160, 0, 0, 0,255,255, 0,201, +254,102, 3,239, 5,213, 16, 39, 0, 45, 2, 92, 0, 0, 17, 6, 0, 44, 0, 0, 0, 8, 64, 3, 17, 4, 1, 16,236, 49, 0, 0, +255,255, 0,193,254, 86, 3,177, 6, 20, 16, 39, 0, 77, 2, 56, 0, 0, 17, 6, 0, 76, 0, 0, 0, 8, 64, 3, 25, 70, 1, 16, +236, 49, 0, 0,255,255,255,150,254,102, 1,147, 5,213, 16, 39, 6,136, 3, 46, 1,117, 19, 6, 0, 45, 0, 0, 0, 8,180, 8, + 2, 6, 7, 7, 43, 49, 0, 0,255,255,255,219,254, 86, 2, 92, 6,102, 16, 39, 2, 31,255, 29, 0, 0, 19, 6, 1,249, 0, 0, + 0, 8,180, 8, 2, 6, 7, 7, 43, 49, 0, 0,255,255, 0,201,254, 30, 5,106, 5,213, 16, 39, 2,110, 5, 27, 0, 10, 18, 6, + 0, 46, 0, 0,255,255, 0,186,254, 30, 4,156, 6, 20, 16, 39, 2,110, 4,172, 0, 10, 18, 6, 0, 78, 0, 0, 0, 1, 0,186, + 0, 0, 4,156, 4, 96, 0, 10, 0,187, 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,188, 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, 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, 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, 4, 96,254, + 27, 1,229,253,242,253,174, 2, 33,253,223, 0,255,255, 0,201, 0, 0, 4,106, 5,213, 16, 39, 6,133, 3,110, 1,118, 18, 6, + 0, 47, 0, 0,255,255, 0,193, 0, 0, 1,121, 6, 20, 16, 39, 6,133, 3, 90, 1,118, 19, 6, 0, 79, 0, 0, 0, 30,177, 3, + 4, 16, 60, 49, 0, 75,176, 14, 81, 88,185, 0, 0, 0, 64, 56, 89, 64, 7,159, 0,143, 0, 79, 0, 3, 93, 48,255,255, 0,201, +254, 30, 4,106, 5,213, 16, 39, 2,110, 4,155, 0, 10, 18, 6, 0, 47, 0, 0,255,255, 0,136,254, 30, 1,174, 6, 20, 16, 39, + 2,110, 3, 30, 0, 10, 19, 6, 0, 79, 0, 0, 0, 7, 64, 3, 64, 0, 1, 93, 49, 0, 0, 0,255,255, 0,201, 0, 0, 4,106, + 5,213, 16, 39, 6,131, 2,159,255,195, 18, 6, 0, 47, 0, 0,255,255, 0,193, 0, 0, 1,121, 6, 20, 16, 39, 6,131, 2, 57, + 0, 2, 17, 6, 0, 79, 0, 0, 0, 9, 64, 5,143, 0, 31, 0, 2, 93, 49, 0,255,255, 0,201, 0, 0, 4,106, 5,213, 16, 39, + 0,121, 2, 49, 0,119, 18, 6, 0, 47, 0, 0,255,255, 0,193, 0, 0, 2,132, 6, 20, 16, 39, 0,121, 0,214, 0,115, 17, 6, + 0, 79, 0, 0, 0, 23, 75,176, 13, 81, 75,176, 17, 83, 75,176, 24, 81, 90, 91, 88,185, 0, 0, 0, 64, 56, 89, 49, 0, 0, 0, + 0, 1,255,242, 0, 0, 4,117, 5,213, 0, 13, 0, 63, 64, 30, 12, 11, 10, 4, 3, 2, 6, 0, 6,149, 0,129, 8, 3, 4, 1, + 11, 14, 0, 4, 5, 1, 28, 12, 7, 58, 9, 0,121, 14, 16,244, 60,236,196,252, 60,196, 17, 18, 57, 17, 18, 57, 49, 0, 47,228, +236, 17, 23, 57, 48,180, 48, 15, 80, 15, 2, 1, 93, 19, 51, 17, 37, 23, 1, 17, 33, 21, 33, 17, 7, 39, 55,211,203, 1, 57, 80, +254,119, 2,215,252, 94,148, 77,225, 5,213,253,152,219,111,254,238,253,227,170, 2, 59,106,110,158, 0, 0, 0, 0, 1, 0, 2, + 0, 0, 2, 72, 6, 20, 0, 11, 0, 94, 64, 26, 10, 9, 8, 4, 3, 2, 6, 0,151, 6, 3, 4, 1, 9, 10, 0, 4,122, 5, 1, + 8, 10,122, 7, 0, 12, 16,212, 60,228,252, 60,228, 17, 18, 57, 17, 18, 57, 49, 0, 47,236, 23, 57, 48, 1, 75,176, 16, 84, 88, +189, 0, 12, 0, 64, 0, 1, 0, 12, 0, 12,255,192, 56, 17, 55, 56, 89, 64, 19, 16, 13, 64, 13, 80, 13, 96, 13,115, 4,122, 10, +112, 13,224, 13,240, 13, 9, 93, 19, 51, 17, 55, 23, 7, 17, 35, 17, 7, 39, 55,199,184,125, 76,201,184,123, 74,197, 6, 20,253, +166, 90,106,141,252,227, 2,154, 88,106,141, 0,255,255, 0,201, 0, 0, 5, 51, 5,213, 16, 39, 6,133, 4,197, 1,118, 19, 6, + 0, 49, 0, 0, 0, 7, 64, 3, 79, 0, 1, 93, 49, 0, 0, 0,255,255, 0,186, 0, 0, 4,100, 6,109, 16, 38, 0,118, 66, 7, + 19, 6, 0, 81, 0, 0, 0, 9, 64, 5, 63, 0, 79, 0, 2, 93, 49, 0, 0, 0,255,255, 0,201,254, 30, 5, 51, 5,213, 16, 39, + 2,110, 5, 0, 0, 10, 18, 6, 0, 49, 0, 0,255,255, 0,186,254, 30, 4,100, 4,123, 16, 39, 2,110, 4,144, 0, 10, 18, 6, + 0, 81, 0, 0,255,255, 0,201, 0, 0, 5, 51, 5,213, 18, 38, 0, 49, 0, 0, 17, 7, 6,137, 4,245, 1,103, 0, 20,180, 4, + 15, 11, 0, 7, 43, 64, 9, 47, 15, 32, 11, 31, 15, 16, 11, 4, 93, 49, 0, 0,255,255, 0,186, 0, 0, 4,100, 6,102, 18, 38, + 0, 81, 0, 0, 17, 7, 2, 32, 0,141, 0, 0, 0, 16,180, 0, 25, 21, 12, 7, 43, 64, 5, 15, 25, 0, 21, 2, 93, 49, 0, 0, +255,255, 0,205, 0, 0, 5,185, 5,213, 16, 39, 0, 81, 1, 85, 0, 0, 16, 6, 2, 21, 27, 0, 0, 1, 0,213,254, 86, 5, 39, + 5,213, 0, 19, 0, 74, 64, 33, 17, 17, 1, 2, 1, 2, 17, 16, 17, 16, 66, 11,149, 10, 17, 2, 3, 0,175, 16, 19, 11, 16, 1, + 17, 2, 28, 4, 54, 17, 28, 0, 20, 16,220,236,252,236, 17, 57, 57,204, 49, 0, 47, 60,236, 50, 57, 57,220,236, 48, 75, 83, 88, + 7, 16, 4,237, 7, 16, 4,237, 89, 34,178, 31, 21, 1, 1, 93, 19, 51, 1, 17, 51, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, + 53, 1, 17, 35,213,184, 2,226,184, 82, 81,181,254,233,105, 38, 38,253, 30,184, 5,213,251,131, 4,125,250, 23,214, 96, 96,156, + 48, 49,173, 4,125,251,131, 0, 0, 1, 0,186,254, 86, 4,100, 4,123, 0, 31, 0, 59, 64, 28, 13, 19, 0, 3, 24, 21, 7,135, + 6, 16,135, 24, 28,184, 22,188, 21, 7, 13, 8, 0, 78, 19, 23, 8, 22, 70, 32, 16,252,236, 50,244,236,196, 49, 0, 47,228,244, +196,236,212,236, 17, 18, 23, 57, 48,180, 96, 33,207, 33, 2, 1, 93, 1, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, + 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 54, 55, 54, 51, 50, 23, 22, 4,100, 82, 81,181,254,233,105, 38, 38,124,124,149,172,185, +185, 66, 89, 90,117,193, 99, 99, 2,164,253, 72,214, 96, 96,156, 48, 49,153, 2,178,159,158,190,164,253,135, 4, 96,174,101, 50, + 50,119,120, 0,255,255, 0,115,255,227, 5,217, 7, 49, 16, 39, 0,113, 1, 39, 1, 59, 19, 6, 0, 50, 0, 0, 0, 16,180, 13, + 2, 3, 7, 7, 43, 64, 5, 31, 2, 16, 3, 2, 93, 49, 0, 0,255,255, 0,113,255,227, 4,117, 5,245, 16, 38, 0,113,115,255, + 19, 6, 0, 82, 0, 0, 0, 8,180, 19, 2, 3, 25, 7, 43, 49,255,255, 0,115,255,227, 5,217, 5,240, 16, 39, 6,139, 5, 39, + 1,117, 19, 6, 0, 50, 0, 0, 0, 16,180, 17, 0, 8, 23, 7, 43, 64, 5, 16, 0, 31, 8, 2, 93, 49, 0, 0,255,255, 0,113, +255,227, 4,117, 6, 72, 16, 38, 2, 49,115, 0, 19, 6, 0, 82, 0, 0, 0, 8,180, 29, 8, 0, 35, 7, 43, 49,255,255, 0,115, +255,227, 5,217, 5,240, 16, 39, 6,141, 5, 39, 1,117, 18, 6, 0, 50, 0, 0,255,255, 0,113,255,227, 4,117, 6,102, 16, 39, + 2, 54, 0,160, 0, 0, 18, 6, 0, 82, 0, 0, 0, 2, 0,115, 0, 0, 8, 12, 5,213, 0, 16, 0, 25, 0, 59, 64, 31, 5,149, + 3, 17, 1,149, 0,129, 24, 7,149, 3,173, 9, 24, 18, 16, 10, 21, 6, 2, 28, 17, 0, 4, 8, 21, 25, 13, 16, 26, 16,252,236, +212,196,196,212,236, 50, 18, 57, 57, 57, 57, 49, 0, 47,236,236, 50,244,236, 50, 16,238, 48, 1, 21, 33, 17, 33, 21, 33, 17, 33, + 21, 33, 32, 0, 17, 16, 0, 33, 23, 35, 32, 0, 17, 16, 0, 33, 51, 7,250,253, 26, 2,199,253, 57, 2,248,251,215,254, 79,254, + 65, 1,191, 1,177,103,129,254,191,254,192, 1, 64, 1, 65,129, 5,213,170,254, 70,170,253,227,170, 1,124, 1,112, 1,109, 1, +124,170,254,225,254,224,254,223,254,223, 0, 0, 0, 3, 0,113,255,227, 7,195, 4,123, 0, 6, 0, 39, 0, 51, 0,132, 64, 49, + 7, 8, 0, 16,134, 15,136, 12, 0,169, 8, 46, 12,185, 22, 19, 40, 3,185, 8,187, 34, 37, 31,184, 25, 19,140, 52, 6, 0, 22, + 34, 49, 9, 15, 0, 8, 7, 75, 49, 18, 9, 81, 43, 18, 28, 69, 52, 16,252,236,244,252,244,236,196, 17, 18, 57, 57, 18, 57, 49, + 0, 16,228, 50,244, 60,196,228,236, 50, 16,196,238, 50, 16,238, 16,244,238, 17, 18, 57, 48, 64, 37, 63, 53, 95, 53,112, 53,159, + 53,207, 53,208, 53,240, 53, 7, 63, 0, 63, 6, 63, 7, 63, 8, 63, 9, 5,111, 0,111, 6,111, 7,111, 8,111, 9, 5, 93,113, + 1, 93, 1, 46, 1, 35, 34, 6, 7, 5, 21, 33, 30, 1, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 39, 14, 1, 35, 34, 0, 17, 16, + 0, 51, 50, 22, 23, 62, 1, 51, 50, 0, 37, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 7, 10, 2,164,137,153,185, 14, 3, 72, +252,178, 12,204,183,106,200, 98,100,208,106,160,242, 81, 71,209,140,241,254,239, 1, 17,241,140,211, 66, 78,232,143,226, 1, 8, +250,176,148,172,171,149,147,172,172, 2,148,152,179,174,158, 53, 90,190,199, 52, 52,174, 42, 44,110,109,110,109, 1, 57, 1, 19, + 1, 20, 1, 56,111,108,107,112,254,221,135,231,201,201,231,232,200,199,233, 0,255,255, 0,201, 0, 0, 5, 84, 5,213, 16, 39, + 6,133, 4,149, 1,118, 18, 6, 0, 53, 0, 0,255,255, 0,186, 0, 0, 3,149, 6,109, 16, 38, 0,118, 66, 7, 18, 6, 0, 85, + 0, 0, 0, 0,255,255, 0,201,254, 30, 5, 84, 5,213, 16, 39, 2,110, 5, 16, 0, 10, 18, 6, 0, 53, 0, 0,255,255, 0,130, +254, 30, 3, 74, 4,123, 16, 39, 2,110, 3, 24, 0, 10, 18, 6, 0, 85, 0, 0,255,255, 0,201, 0, 0, 5, 84, 5,213, 18, 38, + 0, 53, 0, 0, 17, 7, 6,137, 4,125, 1,103, 0, 8, 0, 64, 3, 95, 29, 1, 93, 48, 0, 0,255,255, 0,186, 0, 0, 3, 90, + 6,102, 18, 38, 0, 85, 0, 0, 17, 6, 2, 32, 27, 0, 0, 16,180, 17, 23, 19, 9, 7, 43, 64, 5, 15, 23, 0, 19, 2, 93, 49, +255,255, 0,135,255,227, 4,162, 5,240, 16, 39, 6,133, 4,149, 1,118, 18, 6, 0, 54, 0, 0,255,255, 0,111,255,227, 3,199, + 6,109, 16, 38, 0,118, 66, 7, 18, 6, 0, 86, 0, 0, 0, 0,255,255, 0,135,255,227, 4,162, 5,240, 16, 39, 6,136, 4,147, + 1,117, 19, 6, 0, 54, 0, 0, 0, 11,180, 4, 32, 21, 41, 41, 16, 73, 99, 58, 49, 0, 0, 0,255,255, 0,111,255,227, 3,199, + 6,102, 16, 38, 2, 31, 37, 0, 19, 6, 0, 86, 0, 0, 0, 11,180, 4, 32, 21, 41, 41, 16, 73, 99, 58, 49, 0,255,255, 0,135, +254,117, 4,162, 5,240, 18, 38, 0, 54, 0, 0, 16, 7, 0,122, 0,139, 0, 0,255,255, 0,111,254,117, 3,199, 4,123, 18, 38, + 0, 86, 0, 0, 16, 6, 0,122, 23, 0, 0, 0,255,255, 0,135,255,227, 4,162, 5,240, 18, 38, 0, 54, 0, 0, 17, 7, 6,137, + 4,139, 1,117, 0, 11,180, 43, 32, 14, 34, 34, 16, 73, 99, 58, 49, 0, 0, 0,255,255, 0,111,255,227, 3,199, 6,102, 18, 38, + 0, 86, 0, 0, 17, 6, 2, 32, 23, 0, 0, 11,180, 43, 32, 14, 34, 34, 16, 73, 99, 58, 49, 0,255,255,255,250,254,117, 4,233, + 5,213, 16, 38, 0,122, 80, 0, 18, 6, 0, 55, 0, 0, 0, 0,255,255, 0, 55,254,117, 2,242, 5,158, 16, 38, 0,122,225, 0, + 18, 6, 0, 87, 0, 0, 0, 0,255,255,255,250, 0, 0, 4,233, 5,213, 18, 38, 0, 55, 0, 0, 17, 7, 6,137, 4,115, 1,103, + 0, 16,180, 1, 13, 9, 0, 7, 43, 49, 0, 64, 3, 95, 8, 1, 93, 48, 0, 0,255,255, 0, 55, 0, 0, 2,242, 5,158, 18, 38, + 0, 87, 0, 0, 17, 7, 6,131, 2, 55, 0,112, 0, 7, 64, 3,143, 20, 1, 93, 49, 0, 0, 0, 0, 1,255,250, 0, 0, 4,233, + 5,213, 0, 15, 0, 70, 64, 24, 7, 11,149, 4, 12, 9, 3, 15,149, 0,129, 9, 5, 1, 64, 7, 3, 28, 12, 0, 64, 10, 14, 16, + 16,212, 60,228,204,252, 60,228,204, 49, 0, 47,244,236, 50, 16,212, 60,236, 50, 48, 1, 64, 19, 0, 17, 31, 0, 16, 1, 16, 2, + 31, 15, 16, 17, 64, 17,112, 17,159, 17, 9, 93, 3, 33, 21, 33, 17, 33, 21, 33, 17, 35, 17, 33, 53, 33, 17, 33, 6, 4,239,253, +238, 1, 9,254,247,203,254,247, 1, 9,253,238, 5,213,170,253,192,170,253,191, 2, 65,170, 2, 64, 0, 0, 0, 0, 1, 0, 55, + 0, 0, 2,242, 5,158, 0, 29, 0, 67, 64, 31, 8, 22,169, 5, 23, 4, 26,169, 0, 1, 27,188, 13,135, 16, 16, 13, 14, 2, 6, + 8, 4, 0, 8, 23, 27, 21, 25, 29, 70, 30, 16,252, 60, 60,196, 50,252, 60, 60,196,196, 50, 57, 57, 49, 0, 47,236,244, 60,196, +252, 60,220, 60,236, 50, 48,178,175, 31, 1, 1, 93, 1, 17, 33, 21, 33, 21, 51, 21, 35, 21, 20, 23, 22, 59, 1, 21, 35, 34, 39, + 38, 61, 1, 35, 53, 51, 53, 35, 53, 51, 17, 1,119, 1,123,254,133,190,190, 37, 38,115,189,189,213, 81, 81,135,135,135,135, 5, +158,254,194,143,233,142,233,137, 39, 39,154, 80, 79,210,233,142,233,143, 1, 62,255,255, 0,178,255,227, 5, 41, 5,213, 16, 39, + 6,134, 4,238, 1,117, 19, 6, 0, 56, 0, 0, 0, 16,180, 31, 9, 24, 39, 7, 43, 64, 5, 16, 9, 31, 24, 2, 93, 49, 0, 0, +255,255, 0,174,255,227, 4, 88, 6, 55, 16, 39, 2, 53, 0,131, 0, 0, 19, 6, 0, 88, 0, 0, 0, 8,180, 30, 8, 22, 38, 7, + 43, 49, 0, 0,255,255, 0,178,255,227, 5, 41, 7, 49, 16, 39, 0,113, 0,238, 1, 59, 19, 6, 0, 56, 0, 0, 0, 20,180, 5, + 3, 2, 13, 7, 43, 64, 9, 47, 2, 32, 3, 31, 2, 16, 3, 4, 93, 49, 0, 0,255,255, 0,174,255,227, 4, 88, 5,245, 16, 39, + 0,113, 0,131,255,255, 19, 6, 0, 88, 0, 0, 0, 8,180, 6, 3, 2, 14, 7, 43, 49, 0, 0,255,255, 0,178,255,227, 5, 41, + 5,213, 16, 39, 6,139, 4,238, 1,117, 19, 6, 0, 56, 0, 0, 0, 16,180, 15, 0, 8, 23, 7, 43, 64, 5, 16, 0, 31, 8, 2, + 93, 49, 0, 0,255,255, 0,174,255,227, 4, 88, 6, 72, 16, 39, 2, 49, 0,131, 0, 0, 19, 6, 0, 88, 0, 0, 0, 8,180, 16, + 0, 8, 24, 7, 43, 49, 0, 0,255,255, 0,178,255,227, 5, 41, 8, 75, 18, 38, 0, 56, 0, 0, 17, 7, 2, 51, 0,240, 1, 69, + 0, 9, 64, 5, 64, 30, 64, 18, 2, 93, 49, 0,255,255, 0,174,255,227, 4, 88, 6,202, 18, 38, 0, 88, 0, 0, 17, 6, 2, 51, +124,196, 0, 9, 64, 5, 64, 20, 64, 32, 2, 93, 49, 0, 0, 0,255,255, 0,178,255,227, 5, 41, 5,213, 16, 39, 6,141, 4,238, + 1,117, 18, 6, 0, 56, 0, 0,255,255, 0,174,255,227, 4, 94, 6,102, 16, 39, 2, 54, 0,176, 0, 0, 18, 6, 0, 88, 0, 0, +255,255, 0,178,254,101, 5, 41, 5,213, 18, 38, 0, 56, 0, 0, 16, 7, 2, 52, 0,250,255,240,255,255, 0,174,254,117, 4,232, + 4, 96, 18, 38, 0, 88, 0, 0, 16, 7, 2, 52, 2, 39, 0, 0,255,255, 0, 68, 0, 0, 7,166, 5,213, 16, 39, 6,136, 5,245, + 1,124, 19, 6, 0, 58, 0, 0, 0, 8,180, 21, 2, 6, 20, 7, 43, 49, 0, 0,255,255, 0, 86, 0, 0, 6, 53, 6,109, 16, 39, + 2, 31, 1, 69, 0, 7, 19, 6, 0, 90, 0, 0, 0, 8,180, 21, 2, 6, 20, 7, 43, 49, 0, 0,255,255,255,252, 0, 0, 4,231, + 5,213, 16, 39, 6,136, 4,114, 1,124, 19, 6, 0, 60, 0, 0, 0, 8,180, 11, 2, 6, 7, 7, 43, 49, 0, 0,255,255, 0, 61, +254, 86, 4,127, 6,109, 16, 38, 2, 31, 94, 7, 19, 6, 0, 92, 0, 0, 0, 8,180, 24, 2, 6, 23, 7, 43, 49,255,255,255,252, + 0, 0, 4,231, 5,213, 18, 38, 0, 60, 0, 0, 17, 7, 6,132, 4,115, 1,117, 0, 8,180, 0, 16, 11, 4, 7, 43, 49, 0, 0, +255,255, 0, 92, 0, 0, 5, 31, 5,213, 16, 39, 6,133, 4,149, 1,118, 18, 6, 0, 61, 0, 0,255,255, 0, 88, 0, 0, 3,219, + 6,109, 16, 38, 0,118, 66, 7, 18, 6, 0, 93, 0, 0, 0, 0,255,255, 0, 92, 0, 0, 5, 31, 5,213, 16, 39, 6,140, 4,168, + 1, 98, 18, 6, 0, 61, 0, 0,255,255, 0, 88, 0, 0, 3,219, 6, 16, 16, 38, 2, 50, 0, 0, 18, 6, 0, 93, 0, 0, 0, 0, +255,255, 0, 92, 0, 0, 5, 31, 5,213, 18, 38, 0, 61, 0, 0, 16, 7, 6,137, 4,190, 1,117,255,255, 0, 88, 0, 0, 3,219, + 6,102, 18, 38, 0, 93, 0, 0, 17, 6, 2, 32, 27, 0, 0, 16,180, 1, 15, 11, 0, 7, 43, 64, 5, 15, 15, 0, 11, 2, 93, 49, + 0, 1, 0, 47, 0, 0, 2,248, 6, 20, 0, 16, 0, 35, 64, 18, 11,135, 10,151, 1, 2,169, 5,188, 1, 10, 16, 8, 4, 6, 2, + 76, 17, 16,252, 60,204,252,204, 49, 0, 47,244,236, 16,244,236, 48, 33, 35, 17, 35, 53, 51, 53, 52, 54, 59, 1, 21, 35, 34, 7, + 6, 21, 1,152,185,176,176,174,189,174,176, 99, 39, 38, 3,209,143, 78,187,171,153, 40, 41,103, 0, 2, 0, 32,255,227, 4,164, + 6, 20, 0, 15, 0, 44, 0, 68, 64, 37, 4,185, 16, 20, 12,185, 32, 28,140, 20,184, 34, 41, 37,169, 44, 36, 39,151, 34, 46, 69, + 0, 18, 24, 71, 42, 32, 6, 44, 40, 8, 37, 35, 39, 70, 45, 16,252, 60,204,236, 50, 50, 50,204,244,236,236, 49, 0, 47,244,220, + 60,236, 50, 16,228,244,196,236, 16,198,238, 48, 1, 52, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 51, 50, 55, 54, 1, 54, 55, 54, + 51, 50, 23, 22, 17, 16, 7, 6, 35, 34, 39, 38, 39, 21, 35, 17, 35, 53, 51, 53, 51, 21, 33, 21, 33, 3,229, 83, 84,146,146, 84, + 83, 83, 84,146,146, 84, 83,253,142, 58, 89, 88,123,204,127,128,128,127,204,123, 88, 89, 58,185,154,154,185, 1, 69,254,187, 2, + 47,203,116,115,115,116,203,203,116,115,115,116, 2, 82,100, 48, 49,162,162,254,248,254,248,162,162, 49, 48,100,168, 5, 4,125, +147,147,125, 0, 0, 3,255,151, 0, 0, 5, 80, 5,213, 0, 8, 0, 17, 0, 41, 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, 42, 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, 17, 34, 6, 29, 1, 35, + 53, 52, 54, 1,247, 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,132,118,156,192, 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, 5, 48, 95,105, 49, 70,181,163, 0, 0, 0,255,255, 0,201, 0, 0, 4,236, 5,213, 18, 6, 3, 46, 0, 0, 0, 2, 0,186, +255,227, 4,164, 6, 20, 0, 22, 0, 38, 0, 56, 64, 31, 27,185, 0, 4, 35,185, 16, 12,140, 4,184, 18, 22,169, 19,151, 18, 40, + 69, 20, 23, 18, 8, 71, 16, 31, 22, 8, 19, 70, 39, 16,252,236, 50, 50,244,236,196,236, 49, 0, 47,244,236, 16,228,244,196,236, + 16,198,238, 48, 1, 54, 55, 54, 51, 50, 23, 22, 17, 16, 7, 6, 35, 34, 39, 38, 39, 21, 35, 17, 33, 21, 37, 1, 52, 39, 38, 35, + 34, 7, 6, 21, 20, 23, 22, 51, 50, 55, 54, 1,115, 58, 89, 88,123,204,127,128,128,127,204,123, 88, 89, 58,185, 3, 78,253,107, + 2,114, 83, 84,146,146, 84, 83, 83, 84,146,146, 84, 83, 3,182,100, 48, 49,162,162,254,248,254,248,162,162, 49, 48,100,168, 6, + 20,166, 1,252,192,203,116,115,115,116,203,203,116,115,115,116, 0, 2, 0, 0, 0, 0, 4,236, 5,213, 0, 10, 0, 23, 0, 51, + 64, 12, 23, 11, 25, 0, 25, 16, 46, 5, 11, 28, 21, 22, 47,220,236, 50,252,236,196, 16,204, 49, 64, 9, 5,149, 12,173, 11,129, + 6,149, 20, 0, 47,236,228,244,236,179, 21, 21, 11, 20, 17, 18, 57, 47, 48, 1, 52, 39, 38, 35, 33, 17, 33, 50, 55, 54, 1, 17, + 33, 50, 4, 21, 20, 4, 35, 33, 17, 35, 1, 4, 23, 79, 78,163,254,188, 1, 68,163, 78, 79,253,124, 1, 78,251, 1, 16,254,240, +251,253,232,201, 1, 56, 1,183,139, 68, 67,253,221, 68, 67, 4,168,253,154,218,222,221,218, 4, 68, 1,145, 0, 0, 2, 0, 0, +255,227, 4,164, 6, 21, 0, 18, 0, 30, 0, 62, 64, 13, 17, 18, 32, 19, 18, 6, 71, 13, 25, 18, 8, 15, 16, 47,220,236, 50, 50, +244,236,196, 16,204, 49, 64, 14, 0, 22,185, 3,184, 14, 12, 28,185, 9,140, 17,151, 14, 0, 47,228,244,236,196, 16,244,236,196, +179, 15, 15, 17, 14, 17, 18, 57, 47, 48, 1, 62, 1, 51, 50, 0, 17, 16, 2, 35, 34, 38, 39, 21, 35, 17, 35, 1, 51, 1, 52, 38, + 35, 34, 6, 21, 20, 22, 51, 50, 54, 1,115, 58,177,123,204, 0,255,255,204,123,177, 58,185,186, 1, 34, 81, 2,114,167,146,146, +167,167,146,146,167, 3,182,100, 97,254,188,254,248,254,248,254,188, 97,100,168, 4, 68, 1,209,252, 26,203,231,231,203,203,231, +231, 0, 0, 0, 0, 1, 0,115,255,227, 5, 39, 5,240, 0, 25, 0, 48, 64, 27, 25,134, 0,136, 22,149, 3,145, 26, 13,134, 12, +136, 16,149, 9,140, 26, 27, 16, 19, 25, 6, 48, 13, 0, 26, 16,220, 60,244,236,236, 49, 0, 16,244,236,244,236, 16,244,236,244, +236, 48, 19, 62, 1, 51, 32, 0, 17, 16, 0, 33, 34, 38, 39, 53, 30, 1, 51, 32, 0, 17, 16, 0, 33, 34, 6, 7,115,104,237,134, + 1, 83, 1,134,254,122,254,173,132,237,106,102,231,130, 1, 0, 1, 16,254,240,255, 0,130,231,102, 5, 98, 71, 71,254, 97,254, +152,254,153,254, 97, 72, 72,211, 95, 94, 1, 57, 1, 39, 1, 40, 1, 57, 94, 95, 0, 1, 0,115,255,227, 6, 90, 7,100, 0, 36, + 0, 0, 1, 54, 55, 54, 59, 1, 21, 35, 34, 6, 29, 1, 46, 1, 35, 32, 0, 17, 16, 0, 33, 50, 54, 55, 21, 14, 1, 35, 32, 0, + 17, 16, 0, 33, 50, 23, 22, 4, 97, 16, 83,102,227, 77, 63,134,110,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,118, 13, 5,197,195, 98,122,170,150,194,213, 95, 94,254,199,254,216,254,217,254,199, + 94, 95,211, 72, 72, 1,159, 1,103, 1,104, 1,159, 36, 3, 0, 0, 1, 0,113,255,227, 4,205, 5,203, 0, 33, 0, 0, 1, 54, + 55, 54, 59, 1, 21, 35, 34, 6, 29, 1, 46, 1, 35, 34, 6, 16, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 0, 17, 16, 0, 33, 50, + 3, 49, 9, 70, 82,181, 70, 49,105, 76, 78,157, 80,179,198,198,179, 80,157, 78, 77,165, 93,253,254,214, 1, 45, 1, 6, 72, 4, +111,169, 83, 96,156, 97,153,172, 43, 43,227,254,102,227, 43, 43,170, 36, 36, 1, 62, 1, 14, 1, 18, 1, 58, 0,255,255, 0, 10, + 0, 0, 5,186, 5,213, 16, 6, 0,146, 0, 0, 0, 2,255,151, 0, 0, 6, 20, 5,213, 0, 8, 0, 26, 0, 46, 64, 21, 0,149, + 9,129, 1,149, 16, 8, 2, 16, 10, 0, 5, 25, 13, 50, 0, 28, 9, 4, 27, 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, 17, 34, 6, 29, + 1, 35, 53, 52, 54, 1,247,244, 1, 53, 1, 31,254,225,254,203,254, 66, 1,159, 1,178, 1,150,254,104,254, 80,254, 97,132,118, +156,192, 5, 47,251,119, 1, 24, 1, 46, 1, 44, 1, 23,166,254,151,254,128,254,126,254,150, 5, 48, 95,105, 49, 70,181,163, 0, + 0, 2, 0,201, 0, 0, 4,236, 5,213, 0, 7, 0, 20, 0, 46, 64, 12, 22, 8, 4, 19, 28, 10, 46, 0, 25, 14, 16, 21, 16,252, +236,244,236, 50,196,196, 49, 64, 12, 19,149, 9,129, 10, 4,149, 18,173, 3,149, 10, 0, 47,236,244,236, 16,244,236, 48, 1, 16, + 41, 1, 17, 33, 34, 6, 17, 33, 17, 33, 34, 36, 53, 52, 36, 51, 33, 17, 33, 1,158, 1, 64, 1, 68,254,188,163,157, 3, 78,253, +232,251,254,240, 1, 16,251, 1, 78,253,124, 1,183,254,239, 2, 35,135, 3,147,250, 43,218,222,221,218, 1,192, 0, 2, 0,113, +255,227, 4, 90, 6, 20, 0, 17, 0, 25, 0, 0, 1, 17, 5, 53, 33, 17, 35, 53, 14, 1, 35, 34, 2, 16, 0, 51, 50, 22, 0, 16, + 22, 32, 54, 16, 38, 32, 3,162,253,107, 3, 77,184, 58,177,123,204,255, 0,255,204,123,177,253,200,167, 1, 36,167,167,254,220, + 3,182, 1,185, 1,166,249,236,168,100, 97, 1, 68, 2, 16, 1, 68, 97,254,224,254,106,231,231, 1,150,231, 0, 0, 2, 0,113, +254, 86, 4,117, 4, 99, 0, 28, 0, 45, 0, 0, 23, 22, 51, 50, 53, 52, 37, 38, 39, 38, 17, 16, 55, 54, 51, 50, 23, 22, 17, 20, + 7, 6, 7, 22, 21, 16, 33, 34, 39, 1, 54, 55, 54, 53, 52, 39, 38, 35, 34, 6, 21, 20, 23, 22, 23, 22,250,102,239,253,254,248, +208,117,142,137,137,240,239,138,137,137, 53, 75,156,254, 71,221,120, 1,232, 68, 55, 86, 85, 86,149,147,172, 91, 97,126, 64,203, + 70,117, 92, 48, 37,112,135, 1, 21, 1, 9,156,157,157,156,254,237,204,165, 64, 36, 79,141,254,240, 70, 1,216, 29, 73,113,204, +203,114,115,232,190,199, 96,103, 11, 6, 0, 0, 0, 1, 0,131, 0, 0, 4, 69, 5,213, 0, 11, 0, 43, 64, 9, 13, 5, 9, 28, + 0, 11, 7, 2, 12, 16,220,196,196,212,236, 50,196, 49, 64, 12, 10,149, 11,129, 2, 6,149, 7,173, 3,149, 2, 0, 47,236,244, +236, 16,244,236, 48, 1, 17, 33, 53, 33, 17, 33, 53, 33, 17, 33, 53, 4, 69,252, 62, 2,248,253, 57, 2,199,253, 26, 5,213,250, + 43,170, 2, 29,170, 1,186,170, 0, 2, 0,117,255,227, 5,217, 5,240, 0, 19, 0, 26, 0, 68, 64, 38, 1, 20, 0, 8,161, 7, +174, 4, 0,149, 20, 23,149, 17, 0,149, 20,173, 4,149, 11,145, 17,140, 27, 1, 20, 26, 26, 25, 15, 51, 20, 25, 7, 0, 16, 27, + 16,252,196,236,244,236, 17, 18, 57, 49, 0, 16,228,244,236,244,228, 16,238, 16,238, 16,244,238, 17, 18, 57, 48, 19, 33, 16, 0, + 33, 34, 6, 7, 53, 54, 36, 51, 32, 0, 17, 16, 0, 33, 32, 0, 55, 22, 0, 51, 50, 0, 55,117, 4,143,254,237,254,238,139,252, +112,111, 1, 7,146, 1, 94, 1,139,254,136,254,198,254,183,254,151,220, 13, 0,255,202,202, 0,255, 13, 3, 12, 1, 12, 1, 50, + 96, 95,215, 70, 72,254,103,254,146,254,159,254, 91, 1,183,204,195,254,228, 1, 28,195, 0, 0, 0, 1, 0,164,255,227, 4,123, + 5,240, 0, 40, 0, 64, 64, 36, 10,134, 9,136, 13,149, 6,145, 41, 0, 22,149, 19,173, 41, 31,134, 32,136, 28,149, 35,140, 41, + 42, 20, 9, 31, 16, 25, 3, 25, 25, 38, 16, 41, 16,252,236,212,236,212,196,196,204, 49, 0, 16,244,236,244,236, 16,244,236, 57, + 16,244,236,244,236, 48, 1, 46, 1, 53, 52, 36, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 21, 20, 22, 59, 1, 21, 35, 34, 6, 21, + 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 32, 36, 53, 52, 54, 1,216,131,142, 1, 12,230, 89,201,115,114,190, 83,152,163,158,149, +182,174,165,185,199,190,109,200, 84,106,199, 94,254,232,254,208,163, 3, 37, 33,171,124,178,209, 32, 32,180, 38, 36,123,115,112, +119,166,149,132,143,150, 50, 49,195, 37, 37,242,221,144,196, 0, 0, 1,255,150,254,102, 4, 35, 5,213, 0, 17, 0, 65, 64, 31, + 17, 8, 18, 13,149, 12,176, 18, 6,149, 4, 2,149, 0,129, 4,173, 18, 17, 8, 0, 7, 12, 5, 1, 7, 3, 28, 0, 4, 18, 16, +252,236, 50,212,196,196, 17, 18, 57, 57, 49, 0, 16,236,244,236, 16,238, 16,244,236, 16, 57, 57, 48,178, 15, 11, 1, 1, 93, 19, + 33, 21, 33, 17, 33, 21, 33, 17, 16, 6, 43, 1, 53, 51, 50, 54, 53,201, 3, 90,253,112, 2, 80,253,176,205,227, 77, 63,134,110, + 5,213,170,254, 72,170,253,159,254,242,244,170,150,194, 0, 0, 0, 1,255,127,254, 86, 2,248, 6, 20, 0, 27, 0,101, 64, 35, + 19, 10, 15,135, 13,189, 29, 5, 24, 1, 20, 8,169, 6, 1,135, 0,151, 22, 6,188, 28, 2, 27, 7, 0, 7, 9, 5, 8, 21, 23, + 19, 76, 28, 16,252, 75,176, 10, 84, 88,185, 0, 19, 0, 64, 56, 89, 75,176, 22, 84, 88,185, 0, 19,255,192, 56, 89, 60,196,252, + 60,196,196, 18, 57, 57, 49, 0, 16,228, 50,252,236, 16,238, 50, 18, 57, 57, 16,244,236, 57, 57, 48, 1,182, 64, 29, 80, 29,160, + 29, 3, 93, 1, 21, 35, 34, 6, 29, 1, 33, 21, 33, 17, 20, 6, 43, 1, 53, 51, 50, 54, 53, 17, 35, 53, 51, 53, 52, 54, 51, 2, +248,176, 99, 77, 1, 47,254,209,174,189,174,176, 99, 77,176,176,174,189, 6, 20,153, 80,104, 99,143,251,235,187,171,153, 80,104, + 4, 42,143, 78,187,171, 0, 0, 0, 1, 0,115,255,227, 6,151, 7,100, 0, 38, 0, 70, 64, 39, 22,149, 21, 39, 0, 5, 36, 1, +149, 3, 36,149, 8, 26,161, 27, 30,149, 14,145, 8,140, 39, 21, 2, 0, 28, 4, 17, 28, 26, 52, 4, 51, 33, 25, 11, 70, 39, 16, +252,236,252,244,236, 16,252,196,196, 49, 0, 16,228,244,252,244,204, 16,254,212,238, 17, 57, 57, 16,220,236, 48, 37, 17, 33, 53, + 33, 17, 6, 4, 35, 32, 0, 17, 16, 0, 33, 50, 22, 23, 52, 54, 59, 1, 21, 35, 34, 6, 29, 1, 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, 91,163, 68,201,227, 77, 63,134,110,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, 25, 25,188,234,170, +150,194,215, 95, 96,254,206,254,209,254,210,254,206, 37, 0, 0, 0, 2, 0, 8,254, 82, 5,118, 5,213, 0, 15, 0, 37, 0,149, + 64, 13, 39, 80, 18, 1, 18, 4, 25, 23, 12, 25, 31, 36, 38, 16,212,212,236,212,236,212, 93,196,181, 16, 8, 0, 3, 4, 12, 17, + 18, 23, 57, 49, 64, 10, 0,149, 27,189, 17, 37, 18, 36,129, 38, 0, 16,228, 50, 50, 50,244,236,179, 31, 23, 8, 27, 17, 18, 57, + 57, 48, 64, 12, 19, 17, 17, 18, 18, 8, 35, 37, 17, 36, 36, 8, 7, 5, 16,236, 60, 7, 16,236, 60,182, 19, 17, 8, 18, 8, 36, + 8, 7, 8, 16,236,182, 35, 17, 8, 36, 8, 18, 8, 7, 8, 16,236,180, 16, 37, 19, 17, 35, 15, 64, 16, 22, 21, 20, 3, 23, 19, + 36, 8, 34, 33, 32, 3, 31, 35, 18, 8, 4, 7, 17, 18, 23, 57, 7, 17, 18, 23, 57, 1, 50, 55, 54, 53, 52, 39, 38, 39, 6, 7, + 6, 21, 20, 23, 22, 19, 1, 51, 1, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 55, 1, 51, 2,191, 54, 44, 28, + 31, 51, 44, 44, 51, 31, 28, 44, 54, 1,217,222,253,186,104, 67, 46, 75,100,155,155,100, 75, 46, 67,104,253,186,222,254,253, 32, + 20, 66, 57, 73,121, 92, 92,121, 73, 57, 66, 20, 32, 3,122, 3, 94,251,207,200,174,119, 66,139, 65, 87, 87, 65,139, 66,119,174, +200, 4, 49, 0, 0, 1, 0,186, 0, 0, 7, 71, 6, 20, 0, 67, 0, 0, 1, 52, 38, 35, 34, 6, 7, 17, 35, 17, 51, 17, 52, 54, + 51, 50, 22, 21, 17, 20, 23, 22, 59, 1, 50, 63, 1, 53, 51, 63, 2, 53, 51, 55, 53, 51, 53, 55, 51, 53, 63, 2, 54, 53, 52, 39, + 38, 39, 33, 22, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 35, 7, 6, 39, 38, 53, 4,100,198,193,117,179, 66,185,185,172,149,124, +124, 81, 82,181, 70,225,142, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 35, 30, 66, 54, 56,114,254,190, 46, 76, 77, 55, 15, 24, + 66, 88, 88,144, 51,103, 40, 38, 2,164,232,239,100,101, 2, 98,249,236, 2,121,164,190,158,156,254,245,214, 96, 96,146, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 42, 47,119,161,136,110,113,100, 12, 44, 45, 72, 21, 36,100,146,158, 98, 97, 1, 2, 50, + 49,153, 0, 0, 0, 1, 0,201, 0, 0, 2,198, 5,213, 0, 11, 0, 46, 64, 16, 11, 2, 0, 6,149, 0,129, 7, 5, 8, 6, 1, + 28, 0, 4, 12, 16,252, 75,176, 16, 84, 88,185, 0, 0, 0, 64, 56, 89,236,196, 57, 57, 49, 0, 47,228,236, 17, 57, 57, 48, 1, + 19, 51, 17, 20, 22, 59, 1, 21, 35, 34, 38, 17,201,202,110,134, 63, 77,227,205, 5,213,252, 45,194,150,170,244, 1, 14, 0, 0, + 0, 1, 0, 10, 0, 0, 2, 82, 5,213, 0, 11, 0, 69, 64, 17, 2, 11,149, 5, 8, 0,175, 6, 3, 5, 1, 28, 10, 8, 0, 4, + 12, 16,252, 60,196, 75,176, 16, 84, 88,187, 0, 8, 0, 64, 0, 0, 0, 64, 56, 56, 89,236, 50,196, 49, 0, 47,236,220, 60,244, + 50, 48, 1, 64, 13, 48, 13, 64, 13, 80, 13, 96, 13,143, 13,159, 13, 6, 93, 19, 51, 17, 51, 21, 35, 17, 35, 17, 35, 53, 51,201, +202,191,191,202,191,191, 5,213,253, 22,170,253,191, 2, 65,170, 0, 1, 0,201, 0, 0, 5,221, 5,222, 0, 18, 0, 0, 1, 54, + 31, 1, 55, 39, 38, 7, 6, 7, 1, 17, 35, 17, 51, 17, 1, 33, 1, 4, 80, 62, 58,172,105,237, 96, 76, 53, 71,253,203,202,202, + 2,205, 1, 10,252,230, 4,254, 59, 33,141,116,176, 72, 39, 27, 67,253,236, 2,119,250, 43, 2,207,253, 49, 3, 29, 0, 0, 0, + 0, 1, 0,185, 0, 0, 4,156, 6, 20, 0, 18, 0,193, 64, 44, 16, 17, 13, 14, 13, 15, 17, 14, 14, 13, 11, 17, 12, 13, 12, 10, + 17, 13, 13, 12, 66, 16, 13, 10, 3, 6,149, 3,151, 11,188, 17, 14, 4, 13, 9, 12, 14, 16, 9, 8, 0, 70, 19, 16,252,236, 50, +212,196, 17, 57,196, 49, 0, 47, 60,228,252,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, 10, 10, 16, 22, 10, 39, 10, 41, 13, 43, 16, 86, 10,102, 10,103, 16,115, 10, +119, 13,130, 10,137, 13,142, 16,147, 10,150, 13,151, 16,163, 10, 18, 17, 5, 17, 6, 10, 11, 11, 10, 15, 40, 11, 39, 12, 40, 13, + 43, 14, 43, 15, 64, 20,104, 11, 96, 20,137, 11,133, 12,137, 13,141, 14,143, 15,154, 11,151, 15,170, 11,167, 13,182, 15,197, 15, +214, 15,247, 11,240, 11,247, 12,240, 12, 26, 93,113, 0, 93, 19, 52, 54, 59, 1, 21, 35, 34, 6, 21, 17, 1, 51, 9, 1, 35, 1, + 17, 35,185,163,181,191,168,105, 76, 2, 37,235,253,174, 2,107,240,253,199,185, 4,126,214,192,156, 97,153,253,255, 1,227,253, +244,253,172, 2, 35,253,221, 0, 0, 1, 0, 10, 0, 0, 2, 42, 6, 20, 0, 11, 0, 50, 64, 7, 5, 1, 8, 8, 0, 70, 12, 16, +252, 60,236, 50, 49, 0, 64, 8, 2, 11,169, 5, 8, 0,151, 6, 47,236,212, 60,236, 50, 48, 64, 13, 16, 13, 64, 13, 80, 13, 96, + 13,112, 13,240, 13, 6, 1, 93, 19, 51, 17, 51, 21, 35, 17, 35, 17, 35, 53, 51,193,184,177,177,184,183,183, 6, 20,253, 56,144, +253, 68, 2,188,144, 0, 0, 0, 0, 1, 0, 61, 0, 0, 4,127, 6, 20, 0, 15, 0, 0, 51, 1, 39, 5, 39, 37, 39, 51, 23, 37, + 23, 5, 1, 35, 9, 1, 61, 1,235, 71,254,212, 33, 1, 41, 75,200, 52, 1, 58, 33,254,201, 1,237,195,254,198,254,126, 4, 50, +188,101, 99, 99,197,138,104, 97,104,250,215, 3, 60,252,196, 0, 0, 1, 0,178,255,227, 7, 39, 5,213, 0, 35, 0, 0, 37, 14, + 1, 35, 34, 38, 53, 17, 51, 17, 20, 23, 22, 51, 50, 54, 53, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, + 34, 38, 3,166, 69,192,130,175,190,203, 39, 57,117,143,166,203,114,119,123,166,203,203, 63,176,121,122,171,213,124,118,245,226, + 4, 27,251,239,186, 53, 78,190,164, 3,236,251,239,162,155,191,163, 3,236,250, 41,174,103, 98,124, 0, 0, 0, 0, 1,255,150, +254,102, 5, 51, 5,213, 0, 17, 0,140, 64, 41, 7, 17, 1, 2, 1, 2, 17, 6, 7, 6, 66, 8, 17, 0, 13,149, 12,176, 18, 7, + 2, 3, 0,175, 5, 6, 1, 7, 2, 28, 4, 54, 11, 14, 12, 57, 7, 28, 0, 4, 18, 16,252,236,228, 57, 57,252,236, 17, 57, 57, + 49, 0, 47,236, 50, 57, 57, 16,252,236, 17, 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, 19, 16, 93, 0, 93, 19, 33, 1, 17, 51, 17, 33, 1, 17, 16, + 6, 43, 1, 53, 51, 50, 54, 53,201, 1, 16, 2,150,196,254,240,253,106,205,227, 71, 63,134,110, 5,213,251, 31, 4,225,250, 43, + 4,225,251,135,254,242,244,170,150,194, 0, 0,255,255, 0,186,254, 86, 4,100, 4,123, 16, 6, 2,213, 0, 0, 0, 3, 0,115, +255,227, 5,217, 5,240, 0, 11, 0, 18, 0, 25, 0, 47, 64, 11, 25, 16, 25, 6, 51, 15, 19, 25, 0, 16, 26, 16,252,236, 50,244, +236, 50, 49, 0, 64, 14, 22,149, 9, 15,149, 19,173, 12,149, 3,145, 9,140, 26, 16,228,244,236,244,228, 16,236, 48, 19, 16, 0, + 33, 32, 0, 17, 16, 0, 33, 32, 0, 1, 34, 2, 7, 33, 38, 2, 1, 22, 0, 51, 50, 0, 55,115, 1,121, 1, 59, 1, 58, 1,120, +254,136,254,198,254,197,254,135, 2,180,232,239, 6, 3,186, 6,239,253, 66, 13, 0,255,202,202, 0,255, 13, 2,233, 1, 98, 1, +165,254, 91,254,158,254,159,254, 91, 1,164, 3,197,254,172,236,236, 1, 84,253, 26,195,254,228, 1, 28,195, 0,255,255, 0,103, +255,227, 6,195, 5,240, 16, 38, 0, 50,244, 0, 16, 7, 2, 99, 6, 72, 0, 11,255,255, 0,118,255,227, 4,211, 4,235, 16, 39, + 2, 99, 4, 88, 0, 11, 16, 6, 0, 82, 5, 0, 0, 2, 0,115,255,227, 6,207, 5,240, 0, 10, 0, 30, 0, 0, 1, 34, 0, 17, + 16, 0, 51, 50, 55, 17, 38, 1, 17, 52, 38, 35, 17, 6, 33, 32, 0, 16, 0, 33, 50, 23, 33, 50, 22, 25, 1, 3, 39,220,254,253, + 1, 3,220,175,128,138, 2, 57,110,122,188,254,198,254,197,254,135, 1,121, 1, 59,112, 97, 1, 39,227,205, 5, 76,254,184,254, +229,254,230,254,184,164, 3,125,164,250,180, 3,211,194,150,251,139,211, 1,164, 2,196, 1,165, 27,244,254,242,252, 45, 0, 0, + 0, 2, 0,113,254, 86, 5, 89, 4,123, 0, 9, 0, 30, 0, 0, 1, 38, 7, 6, 16, 22, 32, 55, 17, 38, 1, 17, 52, 38, 35, 17, + 6, 35, 34, 0, 17, 16, 0, 51, 50, 23, 51, 50, 22, 21, 17, 2,115,147, 87, 86,171, 1, 42, 44, 44, 1,153, 76,105,137,240,241, +254,239, 1, 17,241,100, 82,216,181,163, 3,223, 2,117,116,254,110,231, 89, 2,168, 95,250,119, 4,116,153, 97,252,188,157, 1, + 57, 1, 19, 1, 20, 1, 56, 27,192,214,251,140, 0, 2,255,151, 0, 0, 4,241, 5,213, 0, 8, 0, 28, 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, 29, 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, 17, 34, 6, 29, 1, 35, 53, 52, 54, 1,247,254,141,154,154,141,254, 56, 1,200,251, 1, + 1,254,255,251,254,202,132,118,156,192, 5, 47,253,207,146,135,134,146,166,227,219,221,226,253,168, 5, 48, 95,105, 49, 70,181, +163, 0, 0, 0, 0, 2, 0,184,254, 86, 4,164, 6, 20, 0, 24, 0, 36, 0, 79, 64, 36, 35,185, 0, 23, 29,185, 14, 17,184, 23, +140, 1,189, 37, 3, 12, 9,169, 6,151, 37, 26, 18, 20, 71, 6, 9, 3, 7, 32, 12, 0, 8, 2, 70, 37, 16,252,236, 50, 50,204, + 17, 57, 57,244,236, 49, 0, 16,244,236, 57, 57, 16,228,228,244,196,236, 16,196,238, 48, 64, 9, 96, 39,128, 39,160, 39,224, 39, + 4, 1, 93, 37, 17, 35, 3, 52, 54, 59, 1, 21, 35, 34, 6, 29, 1, 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, 1,163,181,254,231,105, 76, 58,177,123,204, 0,255,255,204,123,177, 2, 56,167,146, +146,167,167,146,146,167,168,253,174, 6, 40,214,192,156, 97,153,200,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,201,254, 86, 4,166, 5,213, 0, 29, 0, 38, 0, 0, 19, 51, 17, 51, 50, 4, 16, 7, + 6, 7, 22, 23, 19, 22, 23, 22, 59, 1, 21, 35, 34, 39, 38, 39, 3, 38, 43, 1, 17, 35, 1, 51, 50, 54, 16, 38, 43, 1, 17,201, +202,254,251, 1, 1,129,101,178, 10, 9,144, 54, 39, 42, 76, 59, 98,127, 71, 74, 78,153, 21, 46,119,202, 1, 2,198,141,154,153, +142,254, 5,213,254,248,225,254, 72,113, 89, 19, 20, 23,254,146,136, 34, 36,154, 61, 63,198, 1,133, 53,254,174, 1,248,146, 1, + 12,145,253,209, 0, 1, 0, 69,255,227, 4, 96, 5,240, 0, 39, 0, 0, 19, 62, 1, 51, 50, 4, 21, 20, 6, 15, 1, 14, 1, 21, + 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 32, 36, 53, 52, 54, 63, 1, 62, 1, 53, 52, 38, 35, 34, 6, 7,159,114,218,105,245, 1, + 23,202,226,123,154,135,188,173,114,236,123,128,239,106,254,231,254,221,215,226,122,166,119,179,165, 95,204,115, 5,164, 38, 38, +228,198,171,192, 45, 24, 31,124,110,126,136, 70, 69,208, 47, 48,224,217,182,217, 43, 25, 31,101, 99,118,128, 54, 55, 0, 0, 0, + 0, 1, 0,100,255,227, 3,188, 4,123, 0, 39, 0,207, 64, 17, 10, 30, 29, 9, 13, 33, 20, 33, 8, 6, 13, 8, 0, 82, 26, 69, + 40, 16,252,228,236,212,236,196, 17, 18, 57, 57, 57, 57, 49, 64, 25, 30, 29, 10, 9, 4, 19, 0,134, 39,137, 36, 20,134, 19,137, + 16,185, 23, 36,185, 3,184, 23,140, 40, 0, 16,228,244,236, 16,254,245,238, 16,245,238, 18, 23, 57, 48, 64, 18, 27, 28, 2, 26, + 29, 83, 9, 10, 32, 31, 2, 33, 30, 83, 10, 10, 9, 66, 75, 83, 88, 7, 16, 14,237, 17, 23, 57, 7, 14,237, 17, 23, 57, 89, 34, +178, 0, 1, 1, 1, 93, 64, 17, 47, 41, 63, 41, 95, 41,127, 41,128, 41,144, 41,160, 41,240, 41, 8, 93, 64, 37, 32, 0, 32, 39, + 36, 38, 40, 30, 40, 29, 42, 21, 47, 20, 47, 19, 42, 18, 40, 10, 40, 9, 41, 8, 41, 7, 36, 1,134, 30,134, 29,134, 28,134, 27, + 18, 0, 93, 64, 23, 28, 30, 28, 29, 28, 28, 46, 31, 44, 30, 44, 29, 44, 28, 59, 31, 59, 30, 59, 29, 59, 28, 11,113, 19, 62, 1, + 51, 50, 22, 21, 20, 6, 15, 1, 14, 1, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 53, 52, 54, 63, 1, 62, 1, 53, 52, + 38, 35, 34, 6, 7,160, 76,180,102,206,224,152,171, 64,171,101,140,130, 97,198,102,108,195, 90,216,247,165,196, 63,148, 98,137, +137, 90,168, 78, 4, 63, 30, 30,172,158,130,149, 36, 15, 37, 80, 75, 81, 89, 53, 53,190, 35, 35,182,156,137,153, 42, 14, 33, 73, + 64, 84, 84, 40, 40, 0, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 16, 6, 2,193, 0, 0, 0, 2,254,242,254, 86, 2,215, + 6, 20, 0, 8, 0, 33, 0, 0, 19, 38, 39, 38, 35, 34, 7, 6, 51, 5, 3, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 53, 17, 35, + 32, 53, 52, 33, 50, 23, 22, 23, 51, 21,180, 7, 18, 33,110,124, 3, 3,119, 1,120, 2, 39, 37,100,176,174,195, 81, 87,190,254, +242, 1, 47,181, 82, 53, 18,191, 5, 4, 45, 23, 48, 65, 51,154,251, 61,103, 41, 40,153, 86, 92,180, 4,174,210,216, 96, 64,111, +155, 0, 0, 0, 0, 1, 0, 55,254, 86, 2,242, 5,158, 0, 29, 0, 0, 1, 17, 33, 21, 33, 17, 20, 22, 59, 1, 21, 20, 6, 43, + 1, 53, 51, 50, 54, 61, 1, 35, 34, 38, 53, 17, 35, 53, 51, 17, 1,119, 1,123,254,133, 75,115,189,164,180, 70, 48,106, 76, 5, +213,162,135,135, 5,158,254,194,143,253,160,137, 78,174,214,192,156, 97,153, 20,159,210, 2, 96,143, 1, 62, 0, 0, 1, 0, 24, + 0, 0, 4,233, 5,213, 0, 15, 0, 88, 64, 21, 13, 10, 12, 6, 2,149, 0,129, 4, 0, 7, 1, 64, 3, 28, 5, 11, 28, 13, 5, + 16, 16,212,212,236, 16,252,228, 57, 57, 49, 0, 47,244,236, 50,196, 57, 57, 48, 1, 75,176, 10, 84, 88,189, 0, 16, 0, 64, 0, + 1, 0, 16, 0, 16,255,192, 56, 17, 55, 56, 89, 64, 19, 0, 17, 31, 0, 16, 1, 16, 2, 31, 7, 16, 17, 64, 17,112, 17,159, 17, + 9, 93, 1, 33, 21, 33, 17, 35, 17, 35, 34, 6, 29, 1, 35, 53, 52, 54, 1,174, 3, 59,253,238,203, 94,132,118,156,192, 5,213, +170,250,213, 5, 43, 90,105, 49, 70,181,163, 0, 0, 1, 0, 55, 0, 0, 2,242, 6, 20, 0, 27, 0, 73, 64, 16, 25, 22, 11, 8, + 4, 23, 9, 2, 4, 0, 8, 16, 19, 14, 70, 28, 16,252, 60,196,252, 60,196, 50, 50, 23, 57, 49, 0, 64, 19, 19, 0, 25,135, 22, +151, 10, 14, 5, 8, 15, 3,169, 17, 1,188, 8,135, 10, 47,236,244, 60,236, 50, 17, 57, 57, 16,244,236, 57, 57, 48,178,175, 21, + 1, 1, 93, 1, 21, 33, 21, 33, 17, 20, 22, 59, 1, 21, 35, 34, 38, 53, 17, 35, 53, 51, 53, 52, 54, 59, 1, 21, 35, 34, 6, 1, +119, 1,123,254,133, 75,115,189,189,213,162,135,135,174,189,174,176, 99, 77, 4,195, 99,143,253,160,137, 78,154,159,210, 2, 96, +143, 78,187,171,153, 81, 0, 0, 0, 1,255,250,254,102, 4,233, 5,213, 0, 15, 0, 84, 64, 20, 7,149, 10,189, 16, 14, 2,149, + 0,129, 16, 8, 1, 64, 3, 28, 0, 64, 13, 16, 16,212,228,252,228,196, 49, 0, 16,244,236, 50, 16,244,236, 48, 1, 75,176, 10, + 84, 88,189, 0, 16, 0, 64, 0, 1, 0, 16, 0, 16,255,192, 56, 17, 55, 56, 89, 64, 19, 0, 17, 31, 0, 16, 1, 16, 2, 31, 15, + 16, 17, 64, 17,112, 17,159, 17, 17, 93, 3, 33, 21, 33, 17, 20, 22, 59, 1, 21, 35, 34, 38, 25, 1, 33, 6, 4,239,253,238,110, +134, 63, 78,227,205,253,238, 5,213,170,251, 61,194,150,170,244, 1, 14, 4,195,255,255, 0,173,255,247, 6, 95, 5,233, 16, 38, + 0, 56,251, 20, 16, 7, 2, 99, 5,228, 0, 11,255,255, 0,176,255,227, 5,105, 4,235, 16, 39, 2, 99, 4,238, 0, 11, 16, 6, + 0, 88, 2, 0, 0, 1, 0, 78,255,227, 5,207, 5,202, 0, 31, 0, 58, 64, 16, 3, 6, 25, 40, 16, 0, 28, 51, 22, 15, 12, 25, + 18, 22, 16, 32, 16,252,196,252,196, 16,244,196,236,252,196, 49, 0, 64, 14, 19, 15, 31, 3,149, 2, 16,129, 32, 9,149, 25,140, + 32, 16,244,236, 16,252, 60,236, 50, 50, 50, 48, 1, 53, 33, 21, 22, 18, 21, 20, 0, 35, 34, 0, 53, 52, 18, 55, 53, 33, 21, 33, + 6, 2, 21, 16, 0, 33, 32, 0, 17, 52, 2, 39, 5,207,253,168,177,198,254,248,216,216,254,247,199,178,253,168, 1, 63,158,145, + 1,127, 1, 49, 1, 47, 1,129,142,161, 5, 24,178,178, 97,254,180,202,240,254,222, 1, 35,239,202, 1, 76, 97,178,178,139,254, +214,184,254,194,254,118, 1,137, 1, 53,194, 1, 40,141, 0, 0, 0, 1, 0,201,255,254, 5,118, 5,213, 0, 26, 0, 0, 37, 35, + 34, 38, 53, 17, 35, 17, 16, 23, 22, 31, 1, 32, 0, 17, 52, 2, 47, 1, 21, 22, 23, 22, 21, 20, 0, 2,198, 63,134,110,202,103, + 97,232, 77, 1, 47, 1,129,142,161,179,110, 65, 99,254,248,170,150,194, 3,211,252, 45,254,242,122,116, 6, 2, 1,137, 1, 53, +194, 1, 40,141, 1, 68, 87,109,166,202,240,254,222, 0, 0, 0, 0, 1,255,252, 0, 0, 5,220, 5,237, 0, 16, 0, 0, 9, 1, + 54, 55, 54, 23, 5, 7, 39, 6, 7, 1, 17, 35, 17, 1, 51, 2,115, 1, 72, 52, 49, 66,109, 1, 13, 78,198, 85, 38,254,138,203, +253,240,217, 3,111, 1,235, 78, 40, 54, 49,122,135,101, 6, 57,253,205,253, 57, 2,199, 3, 14, 0, 1, 0, 61,254, 86, 5,150, + 4,112, 0, 23, 0, 0, 5, 14, 1, 43, 1, 53, 51, 50, 54, 63, 1, 1, 51, 9, 1, 54, 55, 54, 31, 1, 7, 39, 38, 7, 2,147, + 78,148,124,147,108, 76, 84, 51, 33,254, 59,195, 1, 94, 1, 23, 50, 81, 97,101,215, 53,195, 81, 28,104,200,122,154, 72,134, 84, + 4, 78,252,148, 2,187,126, 41, 50, 48,101,147, 94, 39, 69, 0, 0, 1, 0, 92, 0, 0, 5, 31, 5,213, 0, 17, 0, 0, 19, 33, + 21, 1, 33, 21, 33, 1, 33, 21, 33, 53, 1, 33, 53, 33, 1, 33,115, 4,149,254,112, 1, 25,254,115,254, 84, 3,199,251, 61, 1, +185,254,213, 1,159, 1,131,252,103, 5,213,154,254, 17,144,253,238,170,154, 2, 34,144, 1,223, 0, 1, 0, 88, 0, 0, 3,219, + 4, 96, 0, 17, 0, 0, 19, 33, 21, 3, 51, 21, 33, 1, 33, 21, 33, 53, 1, 35, 53, 33, 1, 33,113, 3,106,251,194,254,194,254, +195, 2,180,252,125, 1, 43,212, 1, 80, 1, 13,253,101, 4, 96,168,254,220,144,254,143,147,168, 1, 92,144, 1, 57, 0, 0, 0, + 0, 1, 0,160,255,193, 4,248, 5,213, 0, 37, 0, 0, 37, 50, 55, 54, 53, 52, 39, 38, 43, 1, 53, 1, 33, 53, 33, 21, 1, 50, + 23, 22, 23, 22, 21, 20, 15, 1, 6, 7, 6, 33, 34, 39, 38, 39, 53, 22, 23, 22, 2,168,192, 99,100, 92, 93,165,174, 1,129,252, +252, 4, 0,254,101,106,128, 98, 86, 81, 59, 28, 20, 45,152,254,232,119,125,126,134,106,127,126,107, 75, 75,143,134, 73, 74,166, + 1,220,170,168,254, 36, 56, 42,109,104,138,151, 85, 41, 29, 36,121, 19, 18, 37,195, 49, 25, 25, 0, 1, 0, 92,255,193, 4,180, + 5,213, 0, 37, 0, 0, 37, 50, 55, 54, 55, 21, 6, 7, 6, 35, 32, 39, 38, 47, 1, 38, 53, 52, 55, 54, 55, 54, 51, 1, 53, 33, + 21, 33, 1, 21, 35, 34, 7, 6, 21, 20, 23, 22, 2,172,137,126,127,106,134,126,125,119,254,232,152, 45, 20, 28, 59, 81, 86, 98, +128,106,254,101, 4, 0,252,252, 1,129,174,165, 93, 92,100, 99,107, 25, 25, 49,195, 37, 18, 19,121, 36, 29, 41, 85,151,138,104, +109, 42, 56, 1,220,168,170,254, 36,166, 74, 73,134,143, 75, 75, 0, 1, 0,104,254, 76, 4, 63, 4, 96, 0, 36, 0, 0, 1, 34, + 7, 6, 7, 6, 21, 20, 31, 1, 22, 23, 22, 33, 50, 55, 54, 55, 53, 14, 1, 35, 34, 39, 38, 53, 52, 55, 54, 59, 1, 53, 1, 33, + 53, 33, 21, 2, 91,106,128, 98, 86, 81, 59, 28, 28, 37,152, 1, 24, 94, 99,100,106, 84,200,109,190, 99,100, 92, 93,165,174,254, + 82, 2,155,252,150, 1,220, 56, 42,109,104,138,138, 98, 41, 36, 29,121, 18, 19, 37,195, 49, 50, 75, 75,143,132, 75, 74,166, 1, +243,147,168, 0, 0, 1, 0,113,254, 86, 3,232, 4, 96, 0, 31, 0, 0, 1, 50, 55, 54, 55, 21, 6, 7, 6, 35, 32, 17, 52, 37, + 36, 53, 52, 35, 33, 1, 33, 53, 33, 21, 1, 32, 21, 16, 5, 6, 21, 20, 2,127, 84, 77, 79, 81, 87, 80, 86, 97,254, 32, 1,150, + 1, 28,235,254,222, 1,229,253,101, 3,106,254,158, 1,111,254, 48,226,254,238, 21, 21, 44,179, 32, 13, 14, 1, 25,238, 53, 37, + 98,124, 2, 56,147,168,254,100,229,254,236, 49, 24, 97,139, 0, 0, 1, 0,150, 0, 0, 4, 74, 5,240, 0, 34, 0, 0, 37, 33, + 21, 33, 53, 1, 55, 33, 53, 33, 54, 55, 54, 53, 52, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 4, 21, 20, 7, 6, 7, 51, 21, 35, + 7, 1,137, 2,193,252, 76, 1, 58,115,254,167, 1,226, 95, 37, 39,167,134, 95,211,120,122,212, 88,232, 1, 20, 34, 31, 74,104, +236, 48,170,170,170, 1, 64,117,144,109, 72, 76, 73,119,150, 66, 67,204, 49, 50,232,194, 92, 82, 73, 96,144, 49, 0, 1, 0, 93, +255,193, 4,249, 5,213, 0, 40, 0, 0, 1, 50, 23, 22, 23, 22, 21, 20, 15, 1, 6, 7, 6, 33, 32, 39, 38, 47, 1, 38, 53, 51, + 20, 23, 22, 32, 55, 54, 53, 52, 39, 38, 35, 33, 21, 35, 17, 33, 21, 33, 17, 3, 6,104,130, 99, 85, 81, 59, 28, 20, 45,152,254, +232,254,220,152, 45, 20, 28, 59,201,100, 99, 1,124, 99,100, 92, 93,165,254,193,202, 3,161,253, 41, 3, 81, 56, 43,108,104,138, +151, 85, 41, 29, 36,121,121, 36, 29, 41, 85,151,143, 75, 75, 75, 75,143,134, 73, 74, 1, 3, 45,170,254, 37, 0, 0, 1, 0,104, +254, 76, 4, 63, 4, 96, 0, 37, 0, 0, 1, 50, 23, 22, 23, 22, 21, 20, 15, 1, 6, 7, 6, 33, 34, 39, 38, 39, 53, 30, 1, 51, + 50, 55, 54, 53, 52, 39, 38, 35, 33, 53, 51, 19, 33, 21, 33, 3, 2, 76,105,129, 99, 85, 81, 59, 28, 20, 45,152,254,232, 94, 99, +100,106, 84,200,109,190, 99,100, 92, 93,165,254,158, 1, 3, 3, 22,253,162, 3, 1,220, 56, 43,108,104,138,151, 85, 41, 29, 36, +121, 18, 19, 37,195, 49, 50, 75, 75,143,134, 73, 74,168, 2,132,170,254, 38, 0, 0, 1, 0, 88,255,227, 3,165, 5,158, 0, 36, + 0, 0, 1, 7, 22, 23, 22, 21, 20, 7, 6, 33, 34, 39, 38, 39, 53, 22, 23, 22, 51, 50, 55, 54, 55, 52, 39, 38, 43, 1, 19, 35, + 53, 51, 17, 51, 17, 51, 21, 2, 33, 2,170,112,108,110,137,254,237, 85, 81, 81, 76, 73, 84, 78, 80,179, 99, 57, 1, 58, 86,192, + 62, 2,229,229,202,231, 3,230,125, 30,119,115,170,186,125,157, 18, 17, 35,172, 40, 24, 22,114, 65,133, 98, 76,114, 1, 15,164, + 1, 20,254,236,164, 0, 0, 0, 0, 2, 0,186,254, 86, 4,164, 4,123, 0, 14, 0, 23, 0, 0, 5, 17, 35, 17, 51, 21, 54, 55, + 54, 51, 50, 23, 22, 21, 16, 1, 0, 53, 52, 39, 38, 35, 34, 7, 1,115,185,185, 52,135, 81,210,184, 77, 78,252,207, 2,114, 57, + 56,120,220,173,122,254,208, 6, 10,170, 66, 82, 49,112,113,153,254, 87,254,228, 1,144,249,133, 66, 65,239, 0, 0, 1, 0,201, +254, 86, 1,147, 5,213, 0, 3, 0, 0, 19, 51, 17, 35,201,202,202, 5,213,248,129, 0, 0, 0,255,255, 0,201,254, 86, 3, 39, + 5,213, 16, 39, 1,130, 1,148, 0, 0, 16, 6, 1,130, 0, 0, 0, 1, 0, 20,254, 86, 3,156, 5,213, 0, 19, 0, 0, 1, 51, + 17, 33, 21, 33, 21, 33, 21, 33, 17, 35, 17, 33, 53, 33, 53, 33, 53, 33, 1,115,202, 1, 95,254,161, 1, 95,254,161,202,254,161, + 1, 95,254,161, 1, 95, 5,213,253,151,168,240,170,253, 44, 2,212,170,240,168,255,255, 0,201, 0, 0, 1,148, 5,213, 16, 6, + 0, 4,148, 0,255,255, 0,201, 0, 0, 10,208, 5,213, 16, 39, 1, 63, 5,177, 0, 0, 16, 6, 0, 39, 0, 0,255,255, 0,201, + 0, 0, 9,176, 6,102, 16, 39, 1, 64, 5,213, 0, 0, 16, 6, 0, 39, 0, 0,255,255, 0,113,255,227, 8,145, 6,102, 16, 39, + 1, 64, 4,182, 0, 0, 16, 6, 0, 71, 0, 0,255,255, 0,201,254,102, 6, 36, 5,213, 16, 39, 0, 45, 4,145, 0, 0, 16, 6, + 0, 47, 0, 0,255,255, 0,201,254, 86, 5,222, 6, 20, 16, 39, 0, 77, 4,101, 0, 0, 16, 6, 0, 47, 0, 0,255,255, 0,193, +254, 86, 2,239, 6, 20, 16, 39, 0, 77, 1,118, 0, 0, 16, 6, 0, 79, 0, 0,255,255, 0,201,254,102, 6,242, 5,213, 16, 39, + 0, 45, 5, 95, 0, 0, 16, 6, 0, 49, 0, 0,255,255, 0,201,254, 86, 6,183, 6, 20, 16, 39, 0, 77, 5, 62, 0, 0, 16, 6, + 0, 49, 0, 0,255,255, 0,186,254, 86, 5,222, 6, 20, 16, 39, 0, 77, 4,101, 0, 0, 16, 6, 0, 81, 0, 0,255,255, 0, 16, + 0, 0, 5,104, 5,213, 18, 38, 0, 36, 0, 0, 17, 7, 6,137, 4,190, 1,117, 0, 6,177, 14, 0, 16, 60, 49,255,255, 0,123, +255,227, 4, 45, 6,102, 18, 38, 0, 68, 0, 0, 17, 6, 2, 32, 90, 0, 0, 8,180, 11, 43, 39, 20, 7, 43, 49,255,255, 0,201, + 0, 0, 1,147, 5,213, 18, 38, 0, 44, 0, 0, 17, 7, 6,137, 3, 47, 1,117, 0, 11,180, 7, 32, 1, 0, 0, 16, 73, 99, 58, + 49, 0, 0, 0,255,255,255,224, 0, 0, 2, 94, 6,102, 18, 38, 0,243, 0, 0, 17, 7, 2, 32,255, 31, 0, 0, 0, 11,180, 7, + 32, 1, 0, 0, 16, 73, 99, 58, 49, 0, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 18, 38, 0, 50, 0, 0, 16, 7, 6,137, + 5, 39, 1,117,255,255, 0,113,255,227, 4,117, 6,102, 18, 38, 0, 82, 0, 0, 17, 6, 2, 32,118, 0, 0, 6,177, 27, 12, 16, + 60, 49, 0, 0,255,255, 0,178,255,227, 5, 41, 5,213, 18, 38, 0, 56, 0, 0, 17, 7, 6,137, 4,246, 1,117, 0, 6,177, 21, + 5, 16, 60, 49,255,255, 0,174,255,227, 4, 88, 6,102, 18, 38, 0, 88, 0, 0, 17, 6, 2, 32,118, 0, 0, 11,180, 23, 32, 11, + 1, 1, 16, 73, 99, 58, 49, 0,255,255, 0,178,255,227, 5, 41, 5,213, 16, 38, 6,143, 48, 0, 18, 2, 0, 56, 0, 0, 0, 0, +255,255, 0,174,255,227, 4, 88, 7, 49, 16, 39, 0,113, 0,123, 1, 59, 18, 6, 0,190, 0, 0,255,255, 0,178,255,227, 5, 41, + 5,213, 16, 38, 0, 56, 0, 0, 16, 6, 6,146, 54, 0, 0, 0,255,255, 0,174,255,227, 4, 88, 4, 96, 16, 38, 0, 88, 0, 0, + 16, 7, 6,146,255,190,254,200,255,255, 0,178,255,227, 5, 41, 5,213, 16, 38, 0, 56, 0, 0, 16, 6, 6,151, 48, 0, 0, 0, +255,255, 0,174,255,227, 4, 88, 4, 96, 16, 38, 0, 88, 0, 0, 16, 7, 6,151,255,196,254,200,255,255, 0,178,255,227, 5, 41, + 5,213, 16, 38, 0, 56, 0, 0, 16, 6, 6,147, 48, 6, 0, 0,255,255, 0,174,255,227, 4, 88, 4, 96, 16, 38, 0, 88, 0, 0, + 16, 7, 6,147,255,190,254,200,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 16, 6, 2, 4, 0, 0,255,255, 0, 16, 0, 0, 5,104, + 5,213, 18, 34, 0, 36, 0, 0, 16, 6, 6,143, 0, 0, 0, 0,255,255, 0,123,255,227, 4, 45, 7, 49, 18, 38, 0,166, 0, 0, + 16, 7, 0,113, 0, 82, 1, 59,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 34, 0, 36, 0, 0, 16, 6, 6,145, 0, 0, 0, 0, +255,255, 0,123,255,227, 4, 45, 4,123, 18, 34, 0, 68, 0, 0, 16, 7, 6,145,255,147,254,193,255,255, 0, 8, 0, 0, 7, 72, + 7, 52, 16, 39, 0,113, 2,215, 1, 62, 18, 6, 0,136, 0, 0,255,255, 0,123,255,227, 7,111, 5,242, 16, 39, 0,113, 1,232, +255,252, 18, 6, 0,168, 0, 0, 0, 1, 0,115,255,227, 6, 4, 5,240, 0, 37, 0, 0, 1, 21, 6, 4, 35, 32, 0, 17, 16, 0, + 33, 50, 4, 23, 21, 46, 1, 35, 32, 0, 17, 16, 0, 33, 50, 54, 55, 53, 35, 53, 51, 53, 33, 53, 33, 17, 51, 21, 5,139,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, 67,253,253,254,182, + 2, 18,121, 1,138,255, 83, 85, 1,153, 1,109, 1,110, 1,153, 72, 70,215, 95, 96,254,206,254,209,254,210,254,206, 37, 39,181, + 88,132,166,254,214, 88, 0, 0, 0, 2, 0,113,254, 86, 4,250, 4,123, 0, 11, 0, 52, 0, 0, 1, 52, 38, 35, 34, 6, 21, 20, + 22, 51, 50, 54, 3, 54, 61, 1, 14, 1, 35, 34, 2, 17, 16, 18, 51, 50, 22, 23, 53, 51, 17, 20, 7, 51, 21, 35, 6, 7, 6, 33, + 34, 38, 39, 53, 30, 1, 51, 50, 55, 54, 55, 5, 53, 3,162,165,149,148,165,165,148,149,165, 22, 22, 57,178,124,206,252,252,206, +124,178, 57,184, 19,179,198, 31, 58,127,254,250, 97,172, 81, 81,158, 82,181, 90, 21, 17,253,132, 2, 61,200,220,220,200,199,220, +220,254, 79, 71, 94, 91, 99, 98, 1, 58, 1, 3, 1, 4, 1, 58, 98, 99,170,252, 43,110, 88, 70, 93, 64,140, 29, 30,179, 44, 42, + 95, 23, 28, 1, 70, 0, 0, 0,255,255, 0,115,255,227, 5,139, 5,240, 18, 34, 0, 42, 0, 0, 17, 7, 6,137, 5, 74, 1,117, + 0, 16,177, 33, 14, 16, 60, 64, 7,148, 33, 84, 33, 36, 33, 3, 93, 49, 0, 0,255,255, 0,113,254, 86, 4, 90, 6, 99, 16, 34, + 2, 32, 74,253, 18, 2, 0, 74, 0, 0, 0, 0,255,255, 0,201, 0, 0, 5,106, 5,213, 16, 39, 6,137, 4,162, 1,117, 18, 2, + 0, 46, 0, 0,255,255, 0,186, 0, 0, 4,156, 6, 20, 18, 34, 0, 78, 0, 0, 17, 7, 6,137, 3, 26, 1,117, 0, 42,180, 1, + 16, 12, 0, 7, 43, 49, 0, 75,176, 14, 81, 88,187, 0, 1,255,192, 0, 0,255,192, 56, 56, 89, 64, 13,144, 1,144, 0,128, 1, +128, 0, 64, 1, 64, 0, 6, 93,255,255, 0,115,254,101, 5,217, 5,240, 16, 39, 2, 52, 1, 52,255,240, 18, 6, 0, 50, 0, 0, +255,255, 0,113,254,101, 4,117, 4,123, 16, 39, 2, 52, 0,128,255,240, 18, 6, 0, 82, 0, 0,255,255, 0,115,254,101, 5,217, + 7, 49, 16, 39, 0,113, 1, 39, 1, 59, 18, 6, 1,172, 0, 0,255,255, 0,113,254,101, 4,117, 5,245, 16, 38, 0,113,115,255, + 18, 6, 1,173, 0, 0, 0, 0,255,255, 0,160,255,193, 4,248, 5,213, 16, 39, 6,137, 4,190, 1,117, 18, 2, 1,121, 0, 0, +255,255, 0,220, 4,238, 3, 90, 6,102, 16, 38, 2, 32, 27, 0, 16, 6, 2, 8, 0, 0, 0, 0,255,255,255,219,254, 86, 2,100, + 6,102, 16, 39, 2, 32,255, 37, 0, 0, 17, 6, 1,249, 0, 0, 0, 11,180, 3, 32, 8, 7, 7, 16, 73, 99, 58, 49, 0, 0, 0, +255,255, 0,201, 0, 0, 10,208, 5,213, 16, 39, 0, 61, 5,177, 0, 0, 16, 6, 0, 39, 0, 0,255,255, 0,201, 0, 0, 9,176, + 5,213, 16, 39, 0, 93, 5,213, 0, 0, 16, 6, 0, 39, 0, 0,255,255, 0,113,255,227, 8,145, 6, 20, 16, 39, 0, 93, 4,182, + 0, 0, 16, 6, 0, 71, 0, 0,255,255, 0,115,255,227, 5,139, 7,107, 18, 34, 0, 42, 0, 0, 16, 67, 0,118, 1, 22, 2,240, + 64, 0, 44,204,255,255, 0,113,254, 86, 4, 90, 6, 99, 18, 34, 0, 74, 0, 0, 16, 2, 0,118, 27,253, 0, 0, 0, 1, 0,201, +255,227, 8, 45, 5,213, 0, 29, 0, 0, 1, 17, 20, 7, 6, 33, 32, 39, 38, 53, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 20, + 23, 22, 23, 50, 55, 54, 53, 17, 8, 45,100, 96,254,230,254,237,103,100,253, 34,202,202, 2,222,202, 62, 61,153,148, 66, 62, 4, + 96,253, 90,223,128,120,120,118,233, 1, 13,253, 57, 5,213,253,156, 2,100,251,236,159, 80, 78, 1, 79, 75,164, 2,159, 0, 0, + 0, 2, 0,201,254, 86, 5, 2, 5,240, 0, 14, 0, 23, 0, 0, 37, 17, 35, 17, 51, 21, 54, 55, 54, 51, 50, 23, 22, 21, 16, 1, + 0, 17, 52, 39, 38, 35, 34, 3, 1,147,202,202, 56,145, 87,226,198, 83, 84,252,145, 2,161, 61, 60,129,237,186,156,253,186, 7, +127,185, 72, 87, 53,120,122,164,254, 55,254,206, 1,174, 1, 12,143, 71, 70,254,255, 0, 0, 0,255,255, 0,201, 0, 0, 5, 51, + 5,213, 16, 39, 6,135, 5, 30, 1,117, 18, 2, 0, 49, 0, 0,255,255, 0,186, 0, 0, 4,100, 6,100, 18, 34, 0, 81, 0, 0, + 16, 3, 0, 67, 1, 24,255,254,255,255, 0, 16, 0, 0, 5,104, 7,109, 16, 34, 0,135, 0, 0, 16, 7, 6,133, 6, 92, 1,125, +255,255, 0,123,255,227, 4, 45, 7, 6, 16, 34, 0,167, 0, 0, 16, 7, 6,133, 5,236, 1,125,255,255, 0, 8, 0, 0, 7, 72, + 5,213, 16, 39, 6,133, 6, 92, 1,118, 18, 2, 0,136, 0, 0,255,255, 0,123,255,227, 7,111, 6, 99, 18, 34, 0,168, 0, 0, + 16, 3, 0,118, 1,101,255,253,255,255, 0,102,255,186, 5,229, 6, 23, 16, 39, 6,133, 4,254, 1,118, 18, 2, 0,154, 0, 0, +255,255, 0, 72,255,162, 4,156, 6, 99, 18, 34, 0,186, 0, 0, 16, 2, 0,118, 28,253, 0, 0,255,255, 0, 16, 0, 0, 5,104, + 5,213, 18, 34, 0, 36, 0, 0, 16, 7, 6,142, 4,229, 1,122,255,255, 0,123,255,227, 4, 45, 6,100, 16, 35, 2, 87, 4,152, +255,254, 18, 2, 0, 68, 0, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 34, 0, 36, 0, 0, 16, 7, 6,138, 4,188, 1, 62, +255,255, 0,123,255,227, 4, 45, 6, 72, 16, 35, 2, 89, 4,101, 0, 0, 18, 6, 0, 68, 0, 0,255,255, 0,201, 0, 0, 4,139, + 5,213, 18, 34, 0, 40, 0, 0, 16, 7, 6,142, 4,165, 1,122,255,255, 0,113,255,227, 4,127, 6, 99, 16, 35, 2, 87, 4,186, +255,253, 18, 2, 0, 72, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 18, 34, 0, 40, 0, 0, 16, 7, 6,138, 4,166, 1, 62, +255,255, 0,113,255,227, 4,127, 6, 72, 16, 35, 2, 89, 4,169, 0, 0, 18, 2, 0, 72, 0, 0,255,255, 0,201, 0, 0, 1,147, + 5,213, 18, 34, 0, 44, 0, 0, 16, 7, 6,142, 3, 89, 1,122,255,255,255,195, 0, 0, 2,129, 6, 99, 16, 35, 2, 87, 3,102, +255,253, 18, 2, 0,243, 0, 0,255,255, 0,201, 0, 0, 1,147, 5,213, 18, 34, 0, 44, 0, 0, 16, 7, 6,138, 3, 62, 1, 62, +255,255,255,227, 0, 0, 2, 86, 6, 72, 16, 35, 2, 89, 3, 36, 0, 0, 18, 2, 0,243, 0, 0,255,255, 0,115,255,227, 5,217, + 5,240, 18, 34, 0, 50, 0, 0, 16, 7, 6,142, 5, 65, 1,122,255,255, 0,113,255,227, 4,117, 6,100, 16, 35, 2, 87, 4,159, +255,254, 18, 2, 0, 82, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, 16, 7, 6,138, 5, 28, 1, 62, +255,255, 0,113,255,227, 4,117, 6, 72, 16, 35, 2, 89, 4,152, 0, 0, 18, 2, 0, 82, 0, 0,255,255, 0,201, 0, 0, 5, 84, + 5,213, 18, 34, 0, 53, 0, 0, 16, 7, 6,142, 4,121, 1,122,255,255, 0,130, 0, 0, 3, 74, 6, 99, 16, 35, 2, 87, 4, 37, +255,253, 18, 2, 0, 85, 0, 0,255,255, 0,201, 0, 0, 5, 84, 5,213, 18, 34, 0, 53, 0, 0, 16, 7, 6,138, 4,128, 1, 62, +255,255, 0,186, 0, 0, 3, 94, 6, 72, 16, 35, 2, 89, 4, 45, 0, 0, 18, 2, 0, 85, 0, 0,255,255, 0,178,255,227, 5, 41, + 5,213, 18, 34, 0, 56, 0, 0, 16, 7, 6,142, 5, 21, 1,122,255,255, 0,174,255,227, 4, 88, 6,100, 16, 35, 2, 87, 4,212, +255,254, 18, 2, 0, 88, 0, 0,255,255, 0,178,255,227, 5, 41, 5,213, 18, 34, 0, 56, 0, 0, 16, 7, 6,138, 4,236, 1, 62, +255,255, 0,174,255,227, 4, 88, 6, 72, 16, 35, 2, 89, 4,171, 0, 0, 18, 2, 0, 88, 0, 0,255,255, 0,135,254, 20, 4,162, + 5,240, 16, 39, 2,110, 4,118, 0, 0, 18, 6, 0, 54, 0, 0,255,255, 0,111,254, 20, 3,199, 4,123, 16, 39, 2,110, 4, 44, + 0, 0, 18, 6, 0, 86, 0, 0,255,255,255,250,254, 20, 4,233, 5,213, 16, 39, 2,110, 4, 83, 0, 0, 18, 6, 0, 55, 0, 0, +255,255, 0, 55,254, 20, 2,242, 5,158, 16, 39, 2,110, 4, 0, 0, 0, 18, 6, 0, 87, 0, 0, 0, 1, 0,156,254, 82, 4,115, + 5,240, 0, 49, 0, 0, 19, 54, 55, 54, 55, 54, 53, 52, 38, 35, 34, 15, 1, 53, 55, 54, 55, 54, 53, 52, 39, 38, 7, 34, 7, 6, + 7, 53, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 7, 22, 23, 22, 21, 20, 7, 6, 5, 6, 7,156,199,194,165,126, 98,146, 91, + 63, 70,240,248,142,106, 79, 81, 95, 99,105,113, 89,120,119, 96,129,101,192,132,134, 71, 82,120,138, 81, 89,150,130,254,208,218, +181,254,242, 64, 88, 75,121, 94,142,113,134, 31,106,171,106, 61,118, 88,144,123, 53, 63, 1, 58, 46, 80,190, 66, 42, 56,104,105, +178,170, 99,113, 77, 19,109,119,113,218,142,123,129, 92, 40, 0, 0, 1, 0, 71,254, 79, 3,188, 4,123, 0, 50, 0, 0, 19, 54, + 55, 54, 55, 54, 53, 52, 39, 38, 35, 34, 15, 1, 53, 55, 54, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 7, 53, 54, 55, 54, 51, 50, + 23, 22, 21, 20, 7, 6, 7, 22, 23, 22, 21, 20, 7, 6, 5, 6, 7, 71,178,176,148,114, 88, 66, 65, 82, 57, 63,216,223,124, 99, + 71, 73, 78, 96, 92,104, 79,109, 96, 98,115, 91,171,121,120, 64, 73,108,124, 73, 80,135,120,254,241,196,163,254,209, 51, 72, 60, + 99, 76,115, 91, 55, 54, 25, 86,139, 85, 47, 99, 71,116, 96, 47, 50, 47, 35, 67,154, 48, 39, 46, 85, 85,144,137, 81, 91, 63, 15, + 88, 97, 91,177,115,102,102, 74, 33, 0, 0, 0,255,255, 0,201, 0, 0, 5, 59, 5,213, 16, 39, 6,137, 5, 4, 1,117, 18, 2, + 0, 43, 0, 0,255,255, 0,186, 0, 0, 4,100, 6, 20, 16, 39, 6,137, 3, 33, 1,117, 19, 2, 0, 75, 0, 0, 0, 42,180, 20, + 5, 1, 19, 7, 43, 49, 0, 75,176, 14, 81, 88,187, 0, 20,255,192, 0, 19,255,192, 56, 56, 89, 64, 13,144, 20,144, 19,128, 20, +128, 19, 64, 20, 64, 19, 6, 93, 0, 1, 0,201,254, 86, 5, 25, 5,240, 0, 23, 0, 0, 1, 17, 35, 17, 52, 39, 38, 35, 34, 7, + 6, 21, 17, 35, 17, 51, 21, 54, 55, 54, 51, 50, 23, 22, 5, 25,201, 78, 76,153,179,109,106,202,202, 78,105,105,154,227,116,117, + 3,125,250,217, 5, 41,212,109,107,129,126,222,252,178, 5,213,241,135, 66, 67,159,159, 0, 0, 0, 3, 0,113,255,112, 6, 68, + 6, 20, 0, 7, 0, 40, 0, 52, 0, 0, 37, 22, 51, 50, 53, 52, 39, 34, 7, 54, 51, 50, 21, 16, 33, 34, 39, 6, 7, 35, 54, 55, + 38, 53, 6, 7, 6, 35, 34, 39, 38, 16, 55, 54, 51, 50, 23, 22, 23, 17, 51, 0, 16, 23, 22, 32, 55, 54, 16, 39, 38, 32, 7, 4, +182, 17, 37,160, 52, 52,202,110,136,244,254,170, 73, 53, 34, 24,196, 29, 67, 48, 58, 88, 89,124,203,128,127,127,128,203,124, 89, + 88, 58,184,252,213, 83, 84, 1, 36, 84, 84, 84, 84,254,220, 84,130, 5,175, 45, 1, 32,184,206,254,191, 15, 72, 58, 69,147, 60, + 36,100, 48, 49,162,162, 2, 16,162,162, 49, 48,100, 2, 94,252,230,254,106,116,115,115,116, 1,150,116,115,115, 0, 2, 0,113, +255,227, 5, 37, 5,240, 0, 12, 0, 59, 0, 0, 1, 34, 7, 6, 16, 23, 22, 32, 55, 54, 53, 52, 38, 3, 14, 1, 21, 20, 23, 22, + 51, 50, 55, 54, 53, 52, 39, 38, 39, 53, 50, 23, 22, 21, 20, 6, 7, 22, 23, 22, 21, 20, 7, 6, 32, 39, 38, 53, 52, 55, 54, 55, + 38, 39, 38, 53, 52, 55, 54, 33, 2,203,184,106,107,107,106, 1,112,107,107,212,244,130,170, 95, 59,204,168, 95, 96, 76,109,130, +228,150,139,170,152,172, 95, 96,156,155,253,186,155,156, 96, 97,171,171, 67, 85,130,116, 1, 1, 2,197, 77, 77,254,242, 77, 77, + 77, 78,134,135,154, 2, 39, 3,124, 79, 69, 72, 45, 65, 65,136,158, 43, 77, 8,100,104, 97,186,128,178, 32, 34, 99, 99,143,217, +116,116,116,116,217,143, 99, 99, 34, 31, 70, 89, 88,130, 83, 74, 0, 2, 0,113,255,227, 4,113, 5, 47, 0, 13, 0, 52, 0, 0, + 1, 34, 7, 6, 16, 23, 22, 32, 55, 54, 53, 52, 39, 38, 19, 22, 21, 20, 7, 6, 7, 22, 23, 22, 21, 20, 7, 6, 32, 39, 38, 53, + 52, 54, 55, 38, 39, 38, 53, 52, 55, 23, 6, 20, 23, 22, 51, 50, 55, 54, 53, 52, 39, 2,113,144, 83, 82, 82, 83, 1, 32, 83, 83, + 83, 82,254, 58, 52, 73,129,146, 82, 81,133,132,254, 18,132,133,164,146,142, 61, 52, 63,161, 43, 73, 72,131,130, 73, 74, 44, 2, +197, 77, 77,254,242, 77, 77, 77, 78,134,135, 77, 77, 2,106, 82,112,153, 64, 89, 32, 34, 99, 99,143,217,116,116,116,116,217,143, +198, 34, 35, 86, 75,142,106, 88, 32, 65,232, 65, 65, 65, 65,116,119, 62, 0, 0, 0, 1, 0, 92,254, 86, 5, 31, 5,213, 0, 21, + 0, 0, 5, 16, 7, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 33, 53, 1, 33, 53, 33, 21, 1, 33, 5, 31,158, 72,114,254,233,105, + 38, 38,251,245, 3,176,252,103, 4,149,252, 80, 3,199, 20,254,223, 80, 37,156, 48, 49,153, 20,154, 4,145,170,154,251,111, 0, + 0, 1, 0, 88,254, 86, 3,219, 4, 96, 0, 21, 0, 0, 5, 16, 7, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 33, 53, 1, 33, 53, + 33, 21, 1, 33, 3,219,158, 72,114,254,233,105, 38, 38,253, 53, 2,180,253,101, 3,106,253, 76, 2,180, 20,254,223, 80, 37,156, + 48, 49,153, 20,168, 3, 37,147,168,252,219, 0,255,255, 0, 16, 0, 0, 5,104, 7, 80, 18, 34, 0, 36, 0, 0, 16, 3, 2, 50, + 0,196, 1, 64,255,255, 0,123,255,227, 4, 45, 6, 18, 18, 34, 0, 68, 0, 0, 16, 2, 2, 50, 95, 2, 0, 0,255,255, 0,201, +254,117, 4,139, 5,213, 18, 34, 0, 40, 0, 0, 16, 3, 0,122, 0,162, 0, 0,255,255, 0,113,254,117, 4,127, 4,123, 18, 34, + 0, 72, 0, 0, 16, 2, 0,122,123, 0, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, 16, 6, 6,143, + 98, 0, 0, 0,255,255, 0,113,255,227, 4,117, 7, 49, 18, 38, 0,184, 0, 0, 16, 7, 0,113, 0,115, 1, 59,255,255, 0,115, +255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, 16, 6, 6,150,105, 0, 0, 0,255,255, 0,113,255,227, 4,117, 4,123, 16, 38, + 0, 82, 0, 0, 16, 7, 6,150,255,181,254,182,255,255, 0,115,255,227, 5,217, 5,240, 16, 39, 6,140, 5, 39, 1,116, 18, 6, + 0, 50, 0, 0,255,255, 0,113,255,227, 4,117, 6, 16, 16, 38, 2, 50,115, 0, 18, 6, 0, 82, 0, 0, 0, 0,255,255, 0,115, +255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, 16, 6, 6,145,106, 0, 0, 0,255,255, 0,113,255,227, 4,117, 7, 49, 18, 38, + 1,241, 0, 0, 16, 7, 0,113, 0,115, 1, 59,255,255,255,252, 0, 0, 4,231, 7, 49, 16, 39, 0,113, 0,114, 1, 59, 18, 6, + 0, 60, 0, 0,255,255, 0, 61,254, 86, 4,127, 5,245, 16, 38, 0,113, 94,255, 18, 6, 0, 92, 0, 0, 0, 0, 0, 2, 0,138, +255,112, 3, 92, 6, 14, 0, 7, 0, 25, 0, 0, 37, 22, 51, 50, 53, 52, 39, 34, 7, 54, 51, 50, 21, 16, 33, 34, 39, 6, 7, 35, + 54, 55, 38, 55, 17, 51, 1,206, 17, 37,160, 52, 52,202,110,136,244,254,170, 73, 53, 34, 24,196, 29, 67, 49, 1,184,130, 5,175, + 45, 1, 32,184,206,254,191, 15, 72, 58, 69,147, 60, 90, 5, 48, 0, 2, 0,186,255,112, 6, 78, 4,123, 0, 7, 0, 43, 0, 0, + 37, 22, 51, 50, 53, 52, 39, 34, 7, 54, 51, 50, 21, 16, 33, 34, 39, 6, 7, 35, 54, 55, 38, 55, 17, 52, 38, 35, 34, 6, 21, 17, + 35, 17, 51, 21, 54, 55, 54, 51, 50, 23, 22, 21, 4,192, 17, 37,160, 52, 52,202,110,136,244,254,170, 73, 53, 34, 24,196, 29, 67, + 49, 1,124,124,149,172,185,185, 66, 89, 90,117,193, 99, 99,130, 5,175, 45, 1, 32,184,206,254,191, 15, 72, 58, 69,147, 60, 90, + 1,192,159,158,190,164,253,135, 4, 96,174,101, 50, 50,119,120,232, 0, 0, 0, 0, 2, 0, 55,255,112, 3, 97, 5,158, 0, 7, + 0, 33, 0, 0, 37, 22, 51, 50, 53, 52, 39, 34, 7, 54, 51, 50, 21, 16, 33, 34, 39, 6, 7, 35, 54, 55, 38, 53, 17, 35, 53, 51, + 17, 51, 17, 33, 21, 33, 1,211, 17, 37,160, 52, 52,202,110,136,244,254,170, 73, 54, 33, 24,196, 29, 67, 49,135,135,185, 1,123, +254,133,130, 5,175, 45, 1, 32,184,206,254,191, 15, 72, 58, 69,147, 60, 90, 2,243,143, 1, 62,254,194,143, 0, 0, 1,255,219, +254, 86, 1,121, 4, 96, 0, 11, 0, 56, 64, 21, 11, 2, 7, 0, 7,135, 5,189, 0,188, 12, 8, 12, 5, 6, 79, 1, 8, 0, 70, + 12, 16,252,236,228, 57, 18, 57, 49, 0, 16,228,244,236, 17, 18, 57, 57, 48, 64, 11, 16, 13, 64, 13, 80, 13, 96, 13,112, 13, 5, + 1, 93, 19, 51, 17, 20, 6, 43, 1, 53, 51, 50, 54, 53,193,184,163,181, 70, 49,105, 76, 4, 96,251,140,214,192,156, 97,153, 0, + 0, 3, 0,113,255,227, 7,140, 6, 20, 0, 7, 0, 37, 0, 45, 0, 0, 0, 16, 22, 32, 54, 16, 38, 32, 5, 62, 1, 51, 50, 0, + 16, 2, 35, 34, 38, 39, 21, 43, 1, 53, 14, 1, 35, 34, 2, 16, 0, 51, 50, 22, 23, 17, 59, 1, 0, 16, 38, 32, 6, 16, 22, 32, + 1, 47,167, 1, 36,168,168,254,220, 2,133, 58,177,123,204, 0,255,255,204,123,177, 58, 1,184, 58,177,124,203,255, 0,255,203, +124,177, 58,184, 1, 2,114,167,254,220,167,167, 1, 36, 2,250,254,106,231,231, 1,150,231, 43,100, 97,254,188,253,240,254,188, + 97,100,168,168,100, 97, 1, 68, 2, 16, 1, 68, 97,100, 2, 94,251, 80, 1,150,231,231,254,106,231, 0, 0, 0, 0, 3, 0,113, +254, 86, 7,140, 4,123, 0, 7, 0, 37, 0, 45, 0, 0, 0, 16, 38, 32, 6, 16, 22, 32, 37, 17, 43, 1, 17, 14, 1, 35, 34, 2, + 16, 0, 51, 50, 22, 23, 53, 59, 1, 21, 62, 1, 51, 50, 0, 16, 2, 35, 34, 38, 0, 16, 22, 32, 54, 16, 38, 32, 6,205,167,254, +220,167,167, 1, 36,254, 53, 1,184, 58,177,124,203,255, 0,255,203,124,177, 58,184, 1, 58,177,123,204, 0,255,255,204,123,177, +252,154,167, 1, 36,168,168,254,220, 1,100, 1,150,231,231,254,106,231, 43,253,174, 2, 82,100, 97, 1, 68, 2, 16, 1, 68, 97, +100,170,170,100, 97,254,188,253,240,254,188, 97, 2,182,254,106,231,231, 1,150,231, 0, 0, 0, 0, 3,255,253,255,186, 5,124, + 6, 23, 0, 18, 0, 22, 0, 25, 0, 0, 1, 51, 19, 1, 23, 9, 1, 35, 3, 33, 15, 1, 35, 7, 39, 35, 55, 39, 55, 9, 1, 51, + 1, 3, 33, 3, 2, 74,229,134, 1, 97,102,254,112, 1,124,210,136,253,214,205, 50, 70, 59, 82, 2, 1, 20, 47, 2,144,254,238, + 22, 1,111,189, 1, 93,106, 5,213,254,161, 1,161, 89,254, 39,252, 27, 1,127,241,142, 70, 70, 1, 17, 56, 4,196,253, 25, 1, +177,254, 79, 1, 31, 0, 0, 0, 0, 2, 0, 11,255,186, 5,139, 6, 23, 0, 31, 0, 40, 0, 0, 23, 39, 19, 38, 17, 16, 0, 33, + 50, 23, 22, 23, 55, 23, 7, 21, 38, 39, 1, 22, 23, 22, 33, 50, 54, 55, 21, 14, 1, 35, 32, 39, 19, 1, 35, 38, 35, 32, 0, 17, + 20,114,102,220,117, 1,134, 1, 83,134,118, 61, 58,101,102, 99, 46, 49,252,244, 9, 11,136, 1, 0,130,231,102,106,237,132,254, +180,194, 57, 2,216, 1,116,130,255, 0,254,240, 70, 88, 1, 5,187, 1, 23, 1,104, 1,159, 36, 18, 27,120, 89,118,187, 43, 33, +252,102, 13, 12,157, 94, 95,211, 72, 72,199, 1, 21, 3, 92, 47,254,199,254,216,173, 0, 0, 0, 0, 2, 0, 9,255,162, 4, 93, + 4,188, 0, 31, 0, 39, 0, 0, 23, 39, 55, 38, 53, 16, 0, 33, 50, 23, 22, 23, 55, 23, 7, 21, 38, 39, 1, 22, 23, 22, 51, 50, + 54, 55, 21, 14, 1, 35, 34, 39, 19, 1, 38, 35, 34, 6, 21, 20,105, 96,189, 85, 1, 45, 1, 6, 85, 81, 46, 45, 89, 95,118, 25, + 24,253,211, 7, 6, 99,179, 80,157, 78, 77,165, 93,240,147, 55, 1,238, 71, 71,179,198, 94, 78,230,141,204, 1, 18, 1, 58, 17, + 10, 16,108, 79,143, 85, 14, 11,253, 94, 8, 8,113, 43, 43,170, 36, 36,144, 1, 5, 2, 86, 17,227,205,103, 0, 0, 1, 0, 10, + 0, 0, 4,106, 5,213, 0, 13, 0, 0, 19, 51, 17, 51, 21, 35, 17, 33, 21, 33, 17, 35, 53, 51,201,202,191,191, 2,215,252, 95, +191,191, 5,213,253,119,144,253,238,170, 2,188,144, 0, 0, 0, 0, 2,255,178,255,186, 5, 49, 6, 23, 0, 15, 0, 18, 0, 0, + 3, 39, 55, 23, 33, 21, 33, 17, 1, 7, 1, 17, 35, 17, 1, 35, 1, 17, 33, 6, 72,102, 56, 4,153,253,238, 2, 90,103,254, 13, +203,254, 34, 52, 2, 18,254,212, 5,105, 85, 89, 66,170,253,174,253, 57, 88, 2, 77,253,249, 2,247, 2, 52,254,158, 1, 98, 0, + 0, 1, 0,111,254, 16, 4, 25, 4,123, 0, 55, 0, 0, 1, 52, 38, 47, 1, 46, 1, 53, 52, 54, 51, 50, 22, 23, 21, 46, 1, 35, + 34, 6, 21, 20, 22, 31, 1, 22, 23, 22, 21, 20, 7, 6, 7, 31, 1, 22, 51, 21, 35, 34, 39, 38, 47, 1, 38, 39, 38, 39, 38, 39, + 53, 30, 1, 51, 50, 54, 3, 10,101,171, 64,171,152,224,206,102,180, 76, 78,168, 90,137,137, 98,148, 63,198, 80, 83,123, 87,132, +159,147, 42, 76, 39, 84,114, 71, 89,237, 30, 36, 16, 17, 97,108,102,198, 97,130,140, 1, 39, 75, 80, 37, 15, 36,149,130,158,172, + 30, 30,174, 40, 40, 84, 84, 64, 73, 33, 14, 44, 75, 76,137,156, 91, 64, 19,159,126, 36,154, 61, 38, 91,243, 30, 16, 3, 2, 18, + 35,190, 53, 53, 89, 0, 0, 0, 0, 1, 0, 88,254, 16, 4, 51, 4, 96, 0, 24, 0, 0, 19, 33, 21, 1, 22, 23, 1, 23, 22, 59, + 1, 21, 35, 34, 39, 38, 47, 1, 38, 43, 1, 61, 1, 1, 33,113, 3,106,253, 78, 92, 49, 1, 8,147, 42, 76,108,147, 84,114, 71, + 89,237, 61, 90, 94, 2,180,253,101, 4, 96,168,252,221, 16, 49,254,248,126, 36,154, 61, 38, 91,243, 63,156, 12, 3, 37, 0, 0, + 0, 1, 0, 80, 0, 0, 4,141, 5,213, 0, 25, 0, 0, 1, 51, 50, 54, 16, 38, 43, 1, 34, 7, 6, 7, 53, 54, 55, 54, 59, 1, + 50, 4, 16, 4, 43, 1, 17, 35, 1,160,241,141,154,153,142,254, 69, 90, 86, 78, 76, 81, 81, 85,254,251, 1, 1,254,255,251, 39, +202, 3, 0,146, 1, 12,145, 22, 21, 43,182, 35, 17, 18,225,254, 72,226,253,166, 0, 1, 0,117, 2,156, 2,197, 6, 4, 0, 19, + 0, 48, 64, 7, 21, 0, 3, 14, 10, 11, 20, 16,212,220, 60, 47,204,204, 75,176, 13, 81, 88,177, 21, 64, 56, 89, 49,178,127, 21, + 1, 93, 0, 64, 6, 6, 17, 12, 2, 11, 20, 16,212, 60,196,212,204, 48, 1, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, + 17, 62, 1, 51, 50, 22, 2,196,116, 78, 78, 94,108,117,117, 41,113, 74,121,125, 4, 23,254,133, 1,119, 89, 89,107, 92,254,158, + 3,103,254,171, 56, 56,134, 0, 0, 1, 0,117, 2,156, 2,197, 6, 4, 0, 27, 0, 59, 64, 8, 29, 0, 3, 16, 22, 10, 11, 28, + 16,212,220, 60,204, 47,204,204, 75,176, 13, 81, 88,177, 29, 64, 56, 89, 49,178,127, 29, 1, 93, 0, 64, 7, 6, 25, 17, 15, 2, + 11, 28, 16,212, 60,212,204,212,204,180, 13,131, 25,131, 6, 93, 48, 1, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 52, 54, + 59, 1, 21, 35, 34, 6, 29, 1, 62, 1, 51, 50, 22, 2,196,116, 78, 78, 94,108,117,103,114,160,146, 66, 48, 41,113, 74,121,125, + 4, 23,254,133, 1,119, 89, 89,107, 92,254,158, 2,132,120,107, 87, 54, 86,114, 56, 56,134, 0, 0, 2,255,233, 1,173, 0,238, + 6, 3, 0, 13, 0, 17, 0, 35, 64, 7, 19, 15, 1, 8, 14, 0, 18, 16,220, 60,204,220, 60,204, 49, 0, 64, 7, 14, 17, 0, 8, + 7, 0, 18, 16,212,212,204, 16,220,204, 48, 19, 51, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 51, 21, 35,122,116, 52, + 51,114, 44, 31, 66, 24, 24,116,116, 5, 15,253,130,120, 54, 54, 88, 27, 27, 86, 3,114,130, 0, 0, 1, 0,117, 2,156, 2, 19, + 5, 31, 0, 17, 0, 31, 64, 5, 17, 11, 7, 8, 18, 16,220,204, 0,204, 49, 0, 64, 7, 0, 17, 7, 3, 14, 9, 8, 47,196,212, +204, 16,212,204, 48, 1, 46, 1, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 22, 23, 2, 18, 19, 46, 28, 98,105,117,117, + 36,117, 84, 12, 29, 18, 4,175, 10, 9,113,107,254,182, 2,115, 97, 57, 55, 2, 3, 0, 0, 0, 0, 1, 0, 71, 2,141, 1,228, + 5, 15, 0, 21, 0, 0, 19, 22, 23, 22, 51, 50, 55, 54, 53, 17, 51, 17, 35, 53, 6, 7, 6, 35, 34, 39, 38, 39, 71, 20, 23, 23, + 27, 99, 52, 53,116,116, 37, 58, 59, 84, 12, 14, 15, 17, 2,252, 10, 5, 4, 57, 56,107, 1, 74,253,141, 97, 57, 27, 28, 1, 2, + 2, 0, 0, 0, 0, 1, 0, 71, 1,173, 2,117, 5, 15, 0, 32, 0, 0, 19, 22, 23, 22, 51, 50, 55, 54, 53, 17, 51, 17, 21, 20, + 22, 59, 1, 21, 35, 34, 38, 61, 1, 35, 53, 6, 7, 6, 35, 34, 39, 38, 39, 71, 20, 23, 23, 27, 99, 52, 53,116, 48, 66, 31, 44, +114,102, 1, 37, 58, 60, 83, 12, 14, 15, 17, 2,252, 10, 5, 4, 57, 56,107, 1, 74,253,141, 11, 86, 54, 88,108,120, 11, 97, 57, + 27, 28, 1, 2, 2, 0, 0, 0, 0, 2, 0, 32, 2,156, 2,143, 5, 15, 0, 22, 0, 33, 0, 0, 1, 30, 1, 21, 20, 7, 6, 43, + 1, 17, 51, 17, 51, 50, 55, 54, 63, 1, 51, 7, 6, 7, 6, 1, 51, 50, 55, 54, 53, 52, 39, 38, 43, 1, 1,155, 67, 70, 67, 68, +137,244,116,107, 61, 37, 37, 40,102,123,110, 33, 33, 34,254,215,125, 75, 39, 41, 41, 39, 75,125, 3,233, 15, 78, 59, 91, 45, 45, + 2,115,254,247, 21, 20, 63,161,171, 53, 30, 30,255, 0, 23, 24, 47, 46, 24, 25, 0, 1, 0, 54, 2,156, 3,233, 5, 15, 0, 12, + 0, 0, 19, 51, 27, 1, 51, 27, 1, 51, 3, 35, 11, 1, 35, 54,116,145,144,137,145,144,116,185,136,152,153,136, 5, 15,254, 23, + 1,233,254, 23, 1,233,253,141, 2, 2,253,254, 0, 1, 0, 38, 1,173, 2,213, 5, 15, 0, 17, 0, 0, 1, 6, 7, 6, 43, 1, + 53, 51, 50, 55, 54, 63, 1, 1, 51, 27, 1, 51, 1,159, 49, 47, 46, 78, 93, 68, 48, 26, 27, 32, 21,254,226,123,221,220,123, 2, + 98,112, 34, 35, 87, 20, 20, 75, 47, 2,105,254, 22, 1,234, 0,255,255, 0,197, 3,170, 1,111, 5,213, 18, 2, 0, 10, 0, 0, +255,255, 0,197, 3,170, 2,233, 5,213, 18, 2, 0, 5, 0, 0,255,255, 0,174, 3,233, 1,211, 5,213, 16, 6, 5,141, 0, 0, +255,255, 0,178, 3,254, 1,215, 5,213, 16, 6, 5,142, 0, 0, 0, 1, 0,196, 4,238, 1,233, 6,218, 0, 5, 0, 0, 1, 21, + 19, 35, 3, 53, 1,151, 82,129,164, 6,218,172,254,192, 1, 64,172, 0, 0, 0, 0, 1, 0,117, 3,239, 1,135, 6, 20, 0, 16, + 0, 0, 19, 52, 53, 50, 54, 53, 52, 38, 35, 52, 53, 50, 23, 22, 20, 7, 6,117, 64, 88, 88, 64,115, 80, 79, 79, 80, 3,239, 61, + 62, 88, 64, 63, 88, 61, 62, 80, 79,230, 80, 80, 0, 1, 0,117, 3,239, 1,135, 6, 20, 0, 16, 0, 0, 1, 34, 39, 38, 52, 55, + 54, 51, 20, 21, 34, 6, 21, 20, 22, 51, 20, 1,135,115, 80, 79, 79, 80,115, 64, 88, 88, 64, 3,239, 80, 80,230, 79, 80, 62, 61, + 88, 63, 64, 88, 62, 0, 0, 0, 0, 1, 0,117, 2,156, 2,137, 6, 2, 0, 28, 0, 0, 1, 51, 50, 55, 54, 53, 38, 39, 38, 35, + 34, 7, 6, 7, 53, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 7, 17, 35, 1, 20, 39,121, 55, 36, 1, 35, 63,113, 50, 50, 49, + 49, 48, 51, 51, 53,174, 87, 68, 68, 70,107,128, 4, 91, 64, 42, 55, 75, 36, 64, 12, 12, 24, 96, 20, 9, 10, 88, 70,104, 95, 64, + 67, 17,254,147, 0, 1, 0,117, 2,156, 2,137, 6, 2, 0, 28, 0, 0, 1, 17, 35, 17, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, + 22, 23, 21, 38, 39, 38, 35, 34, 7, 6, 7, 20, 23, 22, 51, 1,234,127,107, 71, 68, 69, 87,173, 53, 51, 51, 48, 49, 50, 49, 50, +113, 62, 36, 1, 37, 54,121, 4, 91,254, 65, 1,109, 17, 67, 64, 95,104, 70, 88, 10, 9, 20, 96, 24, 12, 12, 64, 36, 75, 55, 42, + 64, 0, 0, 0, 0, 1, 1, 11, 4, 50, 2,245, 6,176, 0, 6, 0, 0, 1, 37, 21, 13, 1, 21, 37, 1, 11, 1,234,254,153, 1, +103,254, 22, 5,187,245,139,180,180,139,245, 0, 0, 1, 1, 11, 4, 50, 2,245, 6,176, 0, 6, 0, 0, 1, 5, 53, 45, 1, 53, + 5, 2,245,254, 22, 1,103,254,153, 1,234, 5, 39,245,139,180,180,139,245, 0, 0, 1, 0,193, 4,124, 3, 63, 6,102, 0, 6, + 0, 0, 1, 3, 51, 27, 1, 51, 3, 1,182,245,139,180,180,139,245, 4,124, 1,234,254,153, 1,103,254, 22, 0, 0, 1, 0,193, + 4,124, 3, 63, 6,102, 0, 6, 0, 0, 1, 51, 19, 35, 11, 1, 35, 1,182,148,245,139,180,180,139, 6,102,254, 22, 1,103,254, +153, 0, 0, 0, 0, 1, 0,193, 4,238, 3, 63, 6,102, 0, 6, 0, 55, 64, 12, 4, 5, 2,180, 0,179, 7, 4, 2,117, 6, 7, + 16,220,236, 57, 49, 0, 16,244,236, 50, 57, 48, 0, 75,176, 9, 84, 75,176, 14, 84, 91, 88,189, 0, 7,255,192, 0, 1, 0, 7, + 0, 7, 0, 64, 56, 17, 55, 56, 89, 1, 51, 19, 35, 39, 7, 35, 1,182,148,245,139,180,180,139, 6,102,254,136,245,245, 0, 0, + 0, 1, 0,193, 4,238, 3, 63, 6,102, 0, 6, 0, 55, 64, 12, 3, 0,180, 4, 1,179, 7, 3, 5,117, 1, 7, 16,220,236, 57, + 49, 0, 16,244, 60,236, 57, 48, 0, 75,176, 9, 84, 75,176, 14, 84, 91, 88,189, 0, 7,255,192, 0, 1, 0, 7, 0, 7, 0, 64, + 56, 17, 55, 56, 89, 1, 3, 51, 23, 55, 51, 3, 1,182,245,139,180,180,139,245, 4,238, 1,120,245,245,254,136, 0, 1, 0,214, + 3,231, 1, 94, 6, 18, 0, 3, 0, 19, 64, 4, 5, 0, 3, 4, 16,220,220,204, 49, 0, 64, 2, 3, 2, 47,196, 48, 1, 17, 35, + 17, 1, 94,136, 6, 18,253,213, 2, 43, 0, 0,255,255, 0,213, 5, 98, 3, 43, 5,246, 16, 6, 0,113, 0, 0, 0, 1, 1,115, + 4,238, 3, 82, 6,102, 0, 3, 0, 0, 1, 51, 1, 35, 2,139,199,254,186,153, 6,102,254,136, 0, 1, 0,170, 4,240, 2,137, + 6,102, 0, 3, 0, 0, 9, 1, 35, 1, 1,111, 1, 26,153,254,186, 6,102,254,138, 1,118, 0, 0, 1, 0,214,254,209, 1, 94, + 0,252, 0, 3, 0, 19, 64, 4, 5, 0, 3, 4, 16,220,220,204, 49, 0, 64, 2, 3, 2, 47,196, 48, 37, 17, 35, 17, 1, 94,136, +252,253,213, 2, 43, 0, 0, 0,255,255, 0,213,254,192, 3, 43,255, 84, 16, 7, 0,113, 0, 0,249, 94, 0, 0, 0, 1, 0,170, +254, 28, 2,137,255,146, 0, 3, 0, 0, 5, 1, 35, 1, 1,111, 1, 26,153,254,186,110,254,138, 1,118, 0, 0, 0, 1, 1,115, +254, 28, 3, 82,255,148, 0, 3, 0, 0, 5, 51, 1, 35, 2,139,199,254,186,153,108,254,136, 0, 0, 2, 0,111, 0, 0, 1,212, + 4, 35, 0, 2, 0, 5, 0, 0, 1, 3, 33, 3, 19, 33, 1, 33,178, 1,101,179,179,254,155, 2,217, 1, 74,253, 39,254,182, 0, + 0, 1, 0,111, 2,216, 1,212, 4, 35, 0, 2, 0, 0, 1, 3, 33, 1, 33,178, 1,101, 2,217, 1, 74, 0, 0,255,255, 0,117, + 1,254, 1,135, 4, 35, 16, 7, 2, 23, 0, 0,254, 15, 0, 0,255,255, 0,117, 1,254, 1,135, 4, 35, 16, 7, 2, 24, 0, 0, +254, 15, 0, 0, 0, 1, 1, 31, 1,212, 2,225, 3,150, 0, 7, 0, 0, 1, 21, 33, 53, 51, 17, 51, 17, 2,225,254, 62,150,150, + 2,106,150,150, 1, 44,254,212, 0, 1, 1, 31, 1,212, 2,225, 3,150, 0, 7, 0, 0, 1, 53, 33, 21, 35, 17, 35, 17, 1, 31, + 1,194,150,150, 3, 0,150,150,254,212, 1, 44, 0, 1, 0,193, 1,137, 3, 23, 3,223, 0, 11, 0, 0, 1, 53, 51, 21, 51, 21, + 35, 21, 35, 53, 35, 53, 1,162,148,225,225,148,225, 2,254,225,225,148,225,225,148, 0, 0, 0, 0, 1, 1, 31, 2,106, 2,225, + 3, 0, 0, 3, 0, 0, 1, 33, 53, 33, 2,225,254, 62, 1,194, 2,106,150, 0, 0, 1, 0,199, 5, 41, 3, 57, 6, 72, 0, 13, + 0, 87, 64, 14, 11,240, 4, 7, 0,179, 14, 7, 86, 8, 1, 86, 0, 14, 16,220,236,212,236, 49, 0, 16,244, 60,212,236, 48, 0, + 75,176, 9, 84, 88,189, 0, 14,255,192, 0, 1, 0, 14, 0, 14, 0, 64, 56, 17, 55, 56, 89, 0, 75,176, 15, 84, 75,176, 16, 84, + 91, 75,176, 17, 84, 91, 88,189, 0, 14, 0, 64, 0, 1, 0, 14, 0, 14,255,192, 56, 17, 55, 56, 89, 19, 51, 30, 1, 51, 50, 54, + 55, 51, 14, 1, 35, 34, 38,199,118, 11, 97, 87, 86, 96, 13,118, 10,158,145,145,158, 6, 72, 75, 75, 74, 76,143,144,144, 0, 0, + 0, 1, 1,154, 5, 68, 2,102, 6, 16, 0, 3, 0, 21, 64, 9, 2,131, 0,205, 4, 1, 25, 0, 4, 16,212,236, 49, 0, 16,252, +236, 48, 0, 1, 51, 21, 35, 1,154,204,204, 6, 16,204, 0, 0, 0, 2, 0,238, 4,225, 3, 18, 7, 6, 0, 11, 0, 23, 0, 32, + 64, 17, 3,193, 21,242, 9,193, 15,241, 24, 0, 86, 12,120, 6, 86, 18, 24, 16,212,236,244,236, 49, 0, 16,244,236,244,236, 48, + 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 55, 20, 6, 35, 34, 38, 53, 52, 54, 51, 50, 22, 2,152, 88, 64, 65, 87, 87, 65, + 64, 88,122,159,115,115,159,159,115,115,159, 5,244, 63, 88, 87, 64, 65, 87, 88, 64,115,160,160,115,115,159,159, 0, 1, 1, 76, +254,117, 2,193, 0, 0, 0, 19, 0, 32, 64, 15, 11, 14, 10, 7,243, 14,244, 0, 1, 0, 10, 4, 39, 17, 20, 16,212,236,196,212, +204, 49, 0, 47,252,252,196, 18, 57, 48, 33, 51, 14, 1, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 53, 52, 54, 1,184, +119, 45, 43, 55, 54, 32, 62, 31, 38, 68, 30,122,115, 53, 61, 88, 31, 46, 46, 15, 15,133, 10, 10, 87, 93, 48,105, 0, 1, 0,182, + 5, 29, 3, 74, 6, 55, 0, 27, 0, 99, 64, 36, 0, 18, 7, 14, 11, 4, 1, 18, 7, 15, 11, 4, 18,195, 25, 7, 4,195, 21, 11, +237, 28, 15, 1, 14, 0, 7, 21, 86, 22,119, 7, 86, 8,118, 28, 16,244,236,252,236, 17, 57, 57, 57, 57, 49, 0, 16,252, 60,252, +212, 60,236, 17, 18, 57, 17, 18, 57, 17, 18, 57, 17, 18, 57, 48, 0, 75,176, 9, 84, 75,176, 12, 84, 91, 88,189, 0, 28,255,192, + 0, 1, 0, 28, 0, 28, 0, 64, 56, 17, 55, 56, 89, 1, 39, 46, 1, 35, 34, 6, 7, 35, 62, 1, 51, 50, 22, 31, 1, 30, 1, 51, + 50, 54, 55, 51, 14, 1, 35, 34, 38, 1,252, 57, 22, 33, 13, 38, 36, 2,125, 2,102, 91, 38, 64, 37, 57, 22, 33, 13, 38, 36, 2, +125, 2,102, 91, 38, 64, 5, 90, 55, 20, 19, 73, 82,135,147, 28, 33, 55, 20, 19, 73, 82,135,147, 28, 0, 0, 0, 0, 2, 0,240, + 4,238, 3,174, 6,102, 0, 3, 0, 7, 0, 66, 64, 17, 6, 2,180, 4, 0,179, 8, 4, 7, 3, 0, 5, 1, 3, 5, 7, 8, 16, +212,220,212,204, 17, 57, 17, 18, 57, 49, 0, 16,244, 60,236, 50, 48, 0, 75,176, 9, 84, 75,176, 14, 84, 91, 88,189, 0, 8,255, +192, 0, 1, 0, 8, 0, 8, 0, 64, 56, 17, 55, 56, 89, 1, 51, 3, 35, 3, 51, 3, 35, 2,252,178,248,135,129,170,223,137, 6, +102,254,136, 1,120,254,136, 0, 0, 1,255,255, 1,222, 2,173, 4, 8, 0, 15, 0, 0, 3, 37, 51, 21, 20, 23, 22, 59, 1, 21, + 35, 34, 39, 38, 53, 5, 1, 1, 22,184, 38, 38,105, 43, 64,175, 87, 82,254,235, 3,100,164,148,153, 49, 48,156, 96, 90,200,162, + 0, 1, 0,239, 4,238, 3, 16, 6,102, 0, 11, 0, 0, 1, 39, 7, 35, 55, 39, 51, 23, 55, 51, 7, 23, 2, 92, 92, 93,180,181, +181,180, 93, 92,180,182,182, 4,238, 97, 97,187,189, 96, 96,189,187, 0, 0, 0, 0, 2, 0,117, 1,170, 2,253, 5, 15, 0, 13, + 0, 21, 0, 0, 1, 22, 21, 20, 7, 4, 39, 38, 55, 3, 51, 23, 55, 51, 1, 6, 23, 22, 51, 50, 55, 52, 2, 5,178,242,254,246, + 1, 1,182,250,137,191,183,137,254,188,140, 3, 2,134,128, 1, 3,220,249,180,129, 3, 3,135,192,241, 1, 47,224,224,254,138, +174,152, 77, 77,140, 0, 0, 0, 0, 1, 0,121, 2,156, 0,238, 6, 4, 0, 3, 0, 13,177, 2, 3, 47,204, 49, 0,177, 0, 3, + 47,196, 48, 19, 51, 17, 35,122,116,116, 6, 3,252,153, 0, 0, 0, 1, 0,117, 2,156, 2,144, 5, 47, 0, 50, 0, 0, 1, 21, + 38, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 31, 1, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 39, 53, 22, 23, 22, 51, 50, 54, + 53, 52, 39, 38, 47, 1, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 2,106, 49, 53, 52, 57, 87, 43, 43, 31, 31, 93, 40,125, 50, + 52, 78, 77,136, 57, 62, 61, 68, 64, 63, 62, 61, 82, 88, 32, 28,111, 40,108, 48, 48, 71, 70,130, 64, 57, 57, 5, 13, 97, 22, 11, + 11, 23, 24, 47, 36, 20, 21, 18, 8, 24, 42, 43, 77, 87, 51, 51, 10, 10, 19,107, 30, 15, 15, 50, 45, 42, 23, 20, 23, 8, 21, 41, + 42, 73, 88, 48, 49, 9, 8, 0, 0, 1, 0,117, 2,156, 3, 33, 5, 15, 0, 11, 0, 0, 1, 3, 1, 35, 39, 7, 35, 1, 3, 51, + 23, 55, 3, 20,255, 1, 12,137,205,205,137, 1, 18,251,137,187,187, 5, 15,254,207,254,190,246,246, 1, 72, 1, 43,223,223, 0, + 0, 1, 0,117, 2,156, 2,137, 6, 2, 0, 28, 0, 0, 1, 17, 35, 17, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 23, 21, 38, + 39, 38, 35, 34, 7, 6, 7, 20, 23, 22, 51, 1,234,127,107, 71, 68, 69, 87,173, 53, 51, 51, 48, 49, 50, 49, 50,113, 62, 36, 1, + 37, 54,121, 4, 91,254, 65, 1,109, 17, 67, 64, 95,104, 70, 88, 10, 9, 20, 96, 24, 12, 12, 64, 36, 75, 55, 42, 64, 0, 0, 0, + 0, 1, 0,214, 0, 0, 3, 29, 5, 88, 0, 5, 0, 21, 64, 9, 1,169, 3, 0, 0, 8, 4, 2, 6, 16,196,212,236, 49, 0, 47, +212,236, 48, 33, 17, 33, 53, 33, 17, 2,149,254, 65, 2, 71, 4,208,136,250,168, 0, 1, 0,214, 0, 0, 3, 29, 5, 88, 0, 7, + 0, 39, 64, 24, 63, 4, 63, 1, 47, 4, 47, 1, 31, 4, 31, 1, 6, 1,169, 4, 5, 0, 0, 4, 8, 6, 2, 8, 16,196,212,236, + 50, 49, 0, 47,212,220,236, 93, 48, 33, 17, 33, 53, 33, 17, 51, 17, 2,149,254, 65, 1,191,136, 3,156,136, 1, 52,250,168, 0, + 0, 1, 0,214, 0, 0, 3, 29, 5, 88, 0, 7, 0, 25, 64, 11, 1,169, 4, 5, 0, 0, 4, 8, 6, 2, 8, 16,196,212,236, 50, + 49, 0, 47,212,220,236, 48, 33, 17, 33, 53, 33, 17, 51, 17, 2,149,254, 65, 1,191,136, 2,104,136, 2,104,250,168, 0, 0, 0, + 0, 1, 0,214, 0, 0, 3, 29, 5, 88, 0, 7, 0, 39, 64, 24,112, 4,112, 1, 48, 4, 48, 1, 16, 4, 16, 1, 6, 4,169, 1, + 5, 0, 0, 4, 8, 6, 2, 8, 16,196,212,236, 50, 49, 0, 47,212,220,236, 93, 48, 33, 17, 33, 53, 33, 17, 51, 17, 2,149,254, + 65, 1,191,136, 1, 52,136, 3,156,250,168, 0, 0, 1, 0,214, 0, 0, 3, 29, 5, 88, 0, 5, 0, 21, 64, 9, 1, 0,169, 4, + 0, 8, 2, 4, 6, 16,196,212,236, 49, 0, 47,236,196, 48, 37, 17, 51, 17, 33, 53, 2,149,136,253,185,136, 4,208,250,168,136, +255,255, 0,193,253,236, 3, 63,255,214, 16, 3, 2, 29, 0, 0,249,112, 0, 0,255,255, 0,213, 4,226, 3, 43, 6,118, 18, 35, + 0,113, 0, 0, 0,128, 18, 2, 0,113, 0,128, 0, 2, 1, 21, 4,238, 2,235, 6,102, 0, 3, 0, 7, 0, 0, 1, 51, 17, 35, + 1, 51, 17, 35, 1, 21,150,150, 1, 64,150,150, 6,102,254,136, 1,120,254,136,255,255, 0,238,253, 46, 3, 18,255, 83, 16, 7, + 2, 51, 0, 0,248, 77, 0, 0, 0, 1, 0,182,254,118, 3, 74,255,144, 0, 27, 0, 0, 1, 39, 46, 1, 35, 34, 6, 7, 35, 62, + 1, 51, 50, 22, 31, 1, 30, 1, 51, 50, 54, 55, 51, 14, 1, 35, 34, 38, 1,252, 57, 22, 33, 13, 38, 36, 2,125, 2,102, 91, 38, + 64, 37, 57, 22, 33, 13, 38, 36, 2,125, 2,102, 91, 38, 64,254,179, 55, 20, 19, 73, 82,135,147, 28, 33, 55, 20, 19, 73, 82,135, +147, 28, 0, 0,255,255,252,168, 4,240,254,135, 6,102, 16, 7, 0, 67,251,254, 0, 0, 0, 0,255,255,253,113, 4,238,255, 80, + 6,102, 16, 7, 0,118,251,254, 0, 0, 0, 0,255,255,252,191, 4,238,255, 61, 6,102, 16, 7, 2, 31,251,254, 0, 0, 0, 0, +255,255,252,180, 5, 29,255, 72, 6, 55, 16, 7, 2, 53,251,254, 0, 0, 0, 0,255,255,252,217, 5, 98,255, 47, 5,246, 16, 7, + 0,113,252, 4, 0, 0, 0, 0,255,255,251,236, 5,124, 0, 20, 6, 11, 16, 7, 5,171,252, 0, 0, 0, 0, 0,255,255,252,191, + 5, 41,255, 49, 6, 72, 16, 7, 2, 49,251,248, 0, 0, 0, 0,255,255,253,164, 5, 68,254,112, 6, 16, 16, 7, 2, 50,252, 10, + 0, 0, 0, 0,255,255,252,213, 5, 70,255, 39, 6, 16, 16, 7, 0,106,251,254, 0, 0, 0, 0, 0, 1,253, 55, 4,242,254,247, + 6,123, 0, 25, 0, 34, 64, 9, 20, 86, 64, 5,128, 12, 86, 25, 13, 47,204,236, 26,220, 26,236, 49, 0, 64, 6, 23,193, 64, 2, +192, 13, 47, 26,220, 26,236, 48, 1, 54, 51, 50, 22, 21, 20, 15, 1, 6, 7, 6, 21, 35, 53, 52, 54, 63, 1, 54, 53, 52, 38, 35, + 34, 7,253, 55,112,105,104,127, 88, 44, 35, 4, 7,119, 30, 51, 45, 46, 62, 71, 90,100, 6, 72, 51, 85, 67, 61, 65, 32, 26, 9, + 16, 32, 12, 40, 54, 37, 34, 34, 40, 21, 36, 52,255,255,252,236, 4,225,255, 16, 7, 6, 16, 7, 2, 51,251,254, 0, 0, 0, 0, +255,255,252,244, 4,238,255,178, 6,102, 16, 7, 2, 54,252, 4, 0, 0, 0, 0,255,255,252,197, 4,238,255, 67, 6,102, 16, 7, + 2, 32,252, 4, 0, 0, 0, 0, 0, 1,253,188, 4,236,254, 68, 6,168, 0, 3, 0, 0, 1, 17, 35, 17,254, 68,136, 6,168,254, + 68, 1,188, 0,255,255,252,240, 4,236,255, 16, 6,168, 16, 39, 2, 85,255, 52, 0, 0, 16, 7, 2, 85, 0,204, 0, 0, 0, 0, + 0, 2,252, 93, 4,238,255, 27, 6,102, 0, 3, 0, 7, 0, 0, 1, 19, 35, 3, 33, 19, 35, 3,253, 15,205,135,248, 2, 0,190, +137,223, 6,102,254,136, 1,120,254,136, 1,120,255,255,252,191, 5, 41,255, 49, 6,214, 16, 39, 2, 50,252, 4, 0,198, 16, 7, + 2, 49,251,248, 0, 0, 0, 0,255,255,252,191, 5, 41,255, 49, 6, 72, 16, 15, 2, 49,255,248, 11,113,192, 0, 0, 1,254, 31, + 3,233,255, 68, 5, 40, 0, 3, 0, 10, 64, 3, 2, 1, 4, 0, 16,212,204, 48, 1, 35, 19, 51,254,242,211,164,129, 3,233, 1, + 63, 0, 0, 0, 0, 1,253,144, 4,194,254,130, 6,193, 0, 8, 0, 0, 1, 16, 35, 53, 22, 53, 35, 53, 51,254,130,242,112,112, +242, 5,195,254,255,123, 3,137,254, 0, 0, 0, 0, 1,253,144, 4,194,254,130, 6,193, 0, 8, 0, 0, 1, 53, 51, 21, 35, 20, + 55, 21, 34,253,144,241,111,112,242, 5,195,254,254,137, 3,123, 0, 1,255,121, 4,154, 0,135, 6, 18, 0, 3, 0, 0, 3, 51, + 3, 35, 64,199,117,153, 6, 18,254,136, 0, 0,255,255,252,168,253,223,254,135,255, 85, 16, 7, 0, 67,251,254,248,239, 0, 0, +255,255,253,113,253,221,255, 80,255, 85, 16, 7, 0,118,251,254,248,239, 0, 0, 0, 1,253, 12,253, 38,254, 68,255, 16, 0, 7, + 0, 0, 1, 53, 51, 17, 35, 53, 35, 53,253,188,136,136,176,254, 95,177,254, 22,177,136, 0, 0, 0, 1,253,188,253, 38,254,244, +255, 16, 0, 7, 0, 0, 1, 51, 21, 35, 21, 35, 17, 51,254, 68,176,176,136,136,254, 95,136,177, 1,234, 0, 0, 0, 1,254, 85, + 5,134, 0, 63, 7,112, 0, 5, 0, 0, 3, 33, 53, 33, 17, 35, 73,254,158, 1,234,136, 6,232,136,254, 22, 0, 0, 1,254,240, + 3,107, 0,123, 4,224, 0, 19, 0, 49, 64, 6, 7, 86, 14, 4, 17, 0, 47, 75,176, 12, 84, 75,176, 13, 84, 91, 75,176, 14, 84, + 91, 88,185, 0, 0, 0, 64, 56, 89,220, 50,220,236, 49, 0, 64, 5, 10, 4,193, 0, 17, 47,196,252,204, 48, 1, 53, 30, 1, 51, + 50, 54, 53, 52, 38, 39, 51, 30, 1, 21, 20, 6, 35, 34, 38,254,240, 61, 88, 31, 46, 46, 15, 15,133, 10, 10, 87, 93, 48,105, 3, +215,119, 45, 43, 55, 54, 32, 62, 31, 38, 68, 30,122,115, 53, 0, 0, 1,253,129,252,235,254,147,255, 16, 0, 16, 0, 0, 5, 20, + 21, 34, 6, 21, 20, 22, 51, 20, 21, 34, 39, 38, 52, 55, 54,254,147, 64, 88, 88, 64,115, 80, 79, 79, 80,240, 62, 61, 88, 64, 63, + 88, 62, 61, 79, 80,230, 80, 80, 0, 1,253, 11,253,215,254,245,255, 16, 0, 7, 0, 0, 1, 51, 21, 33, 53, 51, 53, 51,254, 68, +177,254, 22,177,136,254, 95,136,136,177, 0, 0, 0, 1,253, 11,253,215,254,245,255, 16, 0, 7, 0, 0, 1, 35, 53, 33, 21, 35, + 21, 35,253,188,177, 1,234,177,136,254,136,136,136,177, 0, 0, 0, 1,253, 11,253, 38,254,245,255, 16, 0, 11, 0, 0, 1, 35, + 53, 51, 53, 51, 21, 51, 21, 35, 21, 35,253,188,177,177,136,177,177,136,253,215,136,177,177,136,177, 0, 0, 0, 0, 1,253, 11, +254,136,254,245,255, 16, 0, 3, 0, 0, 1, 53, 33, 21,253, 11, 1,234,254,136,136,136, 0, 0, 0, 1,253,122,254, 86,255,208, + 0,128, 0, 13, 0, 0, 39, 21, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 48, 82, 81,181,254,233,105, 38, 38,128,148,214, + 96, 96,156, 48, 49,153,148, 0, 0, 1,253,119,254, 86,255,205, 0,128, 0, 13, 0, 0, 37, 51, 21, 20, 23, 22, 59, 1, 21, 35, + 34, 39, 38, 53,253,119,184, 38, 38,105,233,254,181, 81, 82,128,148,153, 49, 48,156, 96, 96,214,255,255,253,154,254,135,254,102, +255, 83, 16, 7, 2, 50,252, 0,249, 67, 0, 0,255,255,252,213,254,137,255, 39,255, 83, 16, 7, 0,106,251,254,249, 67, 0, 0, +255,255,252,236,253, 46,255, 16,255, 83, 16, 7, 2, 51,251,254,248, 77, 0, 0, 0, 1,253,106,254, 20,254,143,255, 84, 0, 3, + 0, 10, 64, 3, 3, 0, 4, 0, 16,212,204, 48, 5, 51, 3, 35,253,188,211,164,129,172,254,192,255,255,253, 35,254,117,254,193, + 0, 0, 16, 7, 0,122,252, 0, 0, 0, 0, 0,255,255,253, 76,254,117,254,193, 0, 0, 16, 7, 2, 52,252, 0, 0, 0, 0, 0, + 0, 1,253,188,253,152,254, 68,255, 84, 0, 3, 0, 0, 5, 17, 35, 17,254, 68,136,172,254, 68, 1,188, 0, 0, 0, 1,252,240, +254, 10,255, 23,255, 84, 0, 7, 0, 0, 7, 17, 35, 53, 33, 21, 35, 17,233,137,254,235,137,172,254,182,194,194, 1, 74, 0, 0, + 0, 1,252, 99,254, 57,255,152,255, 88, 0, 20, 0, 0, 1, 6, 35, 34, 3, 52, 53, 51, 22, 51, 50, 55, 51, 22, 23, 50, 55, 51, + 2, 7, 34,253,254, 60,116,218, 17,117, 14,104,101, 15,118, 12,105,102, 15,118, 15,220,116,254,139, 82, 1, 26, 2, 3,150,150, +149, 1,150,254,226, 1, 0, 0,255,255,252,197,253,218,255, 67,255, 82, 16, 7, 2, 32,252, 4,248,236, 0, 0,255,255,252,191, +253,221,255, 61,255, 85, 16, 7, 2, 31,251,254,248,239, 0, 0,255,255,252,191,254, 57,255, 49,255, 88, 16, 7, 2, 49,251,248, +249, 16, 0, 0,255,255,252,191,254, 54,255, 49,255, 85, 16, 15, 2, 49,255,248, 4,126,192, 0,255,255,252,180,254, 57,255, 72, +255, 83, 16, 7, 2, 53,251,254,249, 28, 0, 0,255,255,252,217,254,192,255, 47,255, 84, 16, 7, 2, 38,252, 4, 0, 0, 0, 0, +255,255,251,236,254, 29, 0, 20,254,172, 16, 7, 0, 66,252, 0, 0, 0, 0, 0,255,255,251,236,254, 29, 0, 20,255,238, 16, 7, + 5,140,252, 0, 0, 0, 0, 0, 0, 1,251,140, 1,236,255,173, 3, 12, 0, 27, 0, 0, 3, 21, 14, 1, 35, 34, 39, 38, 39, 46, + 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 22, 23, 22, 51, 50, 54, 83, 75,143, 79, 90,113, 22, 11, 77,103, 51, 79,141, 73, + 78,146, 83, 53,100, 74, 12, 21,116, 93, 70,137, 3, 12,174, 59, 55, 51, 10, 4, 33, 24, 59, 63,174, 60, 54, 22, 31, 5, 10, 55, + 61, 0, 0, 0, 0, 1,253,119, 1,196,255,136, 2,104, 0, 3, 0, 0, 3, 21, 33, 53,120,253,240, 2,104,164,164, 0, 0, 0, + 0, 1,250,237, 1,196,255,255, 2,104, 0, 3, 0, 0, 1, 53, 33, 21,250,237, 5, 18, 1,196,164,164, 0, 0, 0, 1,251,104, +255,162,255,188, 4,188, 0, 3, 0, 0, 5, 39, 1, 23,251,200, 96, 3,245, 95, 94, 78, 4,204, 79, 0, 0, 0, 0, 1,250, 18, +255,186,255,145, 6, 23, 0, 3, 0, 0, 5, 39, 1, 23,250,121,103, 5, 25,102, 70, 88, 6, 5, 89, 0, 0, 0,255,255,253,249, +253, 59,255, 11,255, 96, 16, 15, 2,100,252,140,252, 75,192, 0,255,255,252,241,254, 91,255, 24,255,165, 16, 15, 2,114,252, 8, +253,175,192, 0, 0, 2,252,240,253, 46,255, 23,255, 84, 0, 3, 0, 7, 0, 0, 7, 17, 33, 17, 1, 17, 33, 17,233,253,217, 1, +158,254,235,172,253,218, 2, 38,254, 98, 1, 22,254,234, 0, 0, 0, 1,252, 99,254, 57,255,152,255, 88, 0, 20, 0, 0, 5, 54, + 51, 50, 19, 20, 21, 35, 38, 35, 34, 7, 35, 38, 39, 34, 7, 35, 18, 55, 50,253,254, 59,116,218, 17,118, 13,103,102, 16,118, 11, +105,102, 15,118, 15,220,116,250, 82,254,230, 2, 3,150,150,149, 1,150, 1, 30, 1, 0, 0, 0, 0, 1,253, 42, 4,242,254,230, + 6,174, 0, 11, 0, 0, 1, 7, 39, 55, 39, 55, 23, 55, 23, 7, 23, 7,254, 8,125, 96,125,125, 96,125,125, 96,125,125, 96, 5, +112,125, 96,125,125, 96,125,125, 96,125,125, 96, 0, 1,254, 6, 4,194,255, 32, 6,210, 0, 29, 0, 0, 1, 46, 1, 53, 52, 54, + 55, 21, 14, 1, 21, 20, 23, 22, 31, 1, 30, 1, 21, 20, 6, 7, 53, 62, 1, 53, 52, 39, 38, 39,254, 67, 33, 28,147,135, 82, 73, + 9, 12, 18, 55, 33, 28,147,135, 82, 73, 9, 12, 18, 5,199, 28, 48, 28, 80, 81, 2,110, 2, 27, 28, 10, 12, 15, 14, 43, 28, 48, + 28, 80, 81, 2,110, 2, 27, 28, 10, 12, 15, 14,255,255,251,236, 4, 58, 0, 20, 6, 11, 16, 39, 5,171,252, 0, 0, 0, 16, 7, + 5,171,252, 0,254,190, 0, 0,255,255,252,168, 4,240,254,135, 6,102, 16, 7, 0, 67,251,254, 0, 0, 0, 0,255,255,253,113, + 4,238,255, 80, 6,102, 16, 7, 0,118,251,254, 0, 0, 0, 0,255,255,252,180, 5, 29,255, 72, 6, 55, 16, 7, 2, 53,251,254, + 0, 0, 0, 0,255,255,253,132, 4,194,254,118, 6, 97, 16, 7, 5,114,251,254, 0, 0, 0, 0,255,255,252,231, 5, 70,255, 98, + 7,210, 16, 7, 2,166,252, 16, 0, 0, 0, 0,255,255,253,198,254, 86,254,162,255,164, 16, 7, 2,163,252, 16, 0, 0, 0, 0, + 0, 1,252,213, 5, 29,255, 43, 6, 73, 0, 7, 0, 0, 3, 35, 53, 33, 21, 35, 17, 33,213,150,254,214,150, 2, 86, 5, 29,150, +150, 1, 44, 0, 0, 2,253, 31,254, 50,254,225,255,184, 0, 3, 0, 7, 0, 0, 1, 33, 53, 33, 53, 33, 53, 33,254,225,254, 62, + 1,194,254, 62, 1,194,254, 50,120,150,120, 0, 0, 2,253, 21,254, 20,254,235,255,140, 0, 3, 0, 7, 0, 0, 5, 51, 17, 35, + 1, 51, 17, 35,253, 21,150,150, 1, 64,150,150,116,254,136, 1,120,254,136, 0, 0, 1,253, 31,254, 20,254,225,255,214, 0, 5, + 0, 0, 5, 33, 17, 35, 17, 33,253, 31, 1,194,150,254,212, 42,254, 62, 1, 44, 0, 1,252,182, 4,238,255, 74, 6,102, 0, 39, + 0, 0, 1, 55, 51, 7, 22, 23, 22, 51, 50, 55, 54, 55, 51, 6, 7, 6, 35, 34, 39, 38, 39, 7, 35, 55, 38, 39, 38, 35, 34, 7, + 6, 7, 35, 54, 55, 54, 51, 50, 23, 22,253,255, 66,109,107, 11, 22, 16, 13, 38, 18, 18, 2,125, 2, 51, 51, 91, 38, 32, 30, 33, + 66,110,107, 13, 20, 16, 13, 38, 18, 18, 2,125, 2, 51, 51, 91, 38, 32, 30, 5,255,103,169, 9, 14, 10, 36, 37, 82,135, 74, 73, + 14, 13, 29,103,168, 11, 13, 10, 36, 37, 82,135, 74, 73, 14, 13, 0, 2,253, 72, 4,137,254,176, 6,204, 0, 3, 0, 7, 0, 0, + 1, 51, 21, 35, 19, 51, 21, 35,253, 72,150,150,210,150,150, 5, 31,150, 2, 67,150, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0, + 0, 0, 16, 34, 6,134, 0,183, 16, 3, 6,134, 0, 0, 0,167, 0, 1,252, 99,254, 40,255,157,255,194, 0, 13, 0, 0, 1, 55, + 33, 23, 35, 39, 55, 51, 7, 33, 39, 51, 23, 7,254,112,132,254, 25,132,127,175,175,127,132, 1,231,132,126,175,175,254, 40,155, +155,205,205,155,155,205,205, 0, 0, 1,253, 51,254, 20,254,205,255,164, 0, 8, 0, 0, 1, 35, 53, 7, 53, 55, 23, 21, 39,254, + 50,100,155,205,205,155,254, 20,231,132,126,175,175,126,132, 0, 0, 1,253,120, 4,225,254,136, 7, 6, 0, 16, 0, 0, 1, 6, + 7, 6, 21, 20, 23, 22, 23, 21, 38, 39, 38, 52, 55, 54, 55,254,136, 64, 42, 44, 44, 42, 64,114, 78, 80, 80, 78,114, 6,139, 1, + 42, 44, 64, 65, 43, 43, 1,123, 1, 79, 80,230, 80, 78, 1, 0,255,255,252,191, 5, 41,255, 49, 6,216, 16, 39, 2, 89, 0, 0, + 0,144, 16, 6, 2, 79, 0,229,255,255,253, 42,253, 84,254,230,255, 16, 16, 7, 2,133, 0, 0,248, 98, 0, 0, 0, 1,253,120, + 4,225,254,136, 7, 6, 0, 16, 0, 0, 1, 53, 22, 23, 22, 20, 7, 6, 7, 53, 54, 55, 54, 53, 52, 39, 38,253,120,114, 78, 80, + 80, 78,114, 64, 42, 44, 44, 42, 6,139,123, 1, 78, 80,230, 80, 79, 1,123, 1, 43, 43, 65, 64, 44, 42, 0, 0,255,255,255, 46, + 5, 68,255,250, 6, 16, 16, 7, 2, 50,253,148, 0, 0, 0, 0,255,255,252,112,254, 27, 3,144,255,133, 16, 7, 5,172,252,201, + 0, 0, 0, 0,255,255,252,112, 6,107, 3,144, 7,213, 16, 7, 5,172,252,201, 8, 80, 0, 0, 0, 1,253, 42, 5, 29, 2,214, + 6, 55, 0, 35, 0, 0, 3, 39, 38, 39, 38, 35, 34, 7, 6, 7, 35, 54, 55, 54, 51, 50, 23, 22, 31, 1, 22, 23, 22, 51, 50, 55, + 54, 55, 51, 6, 7, 6, 35, 34, 39, 38, 4,144, 28, 79, 44, 36,101, 53, 70, 5,162, 4,113,112,200, 91, 63, 57, 90,144, 28, 79, + 44, 36, 97, 57, 71, 4,162, 4,113,112,200, 91, 63, 57, 5, 90, 55, 11, 18, 10, 36, 48, 71,135, 74, 73, 14, 13, 34, 55, 11, 18, + 10, 36, 44, 75,135, 74, 73, 14, 13, 0, 0, 0,255,255,252,112, 6, 4, 3,144, 7,110, 16, 7, 5,173,252,201, 0, 0, 0, 0, + 0, 1,252,119,254, 40, 3,147,255,194, 0, 8, 0, 0, 1, 53, 33, 39, 51, 23, 7, 35, 55,252,119, 6,115,132,126,175,175,126, +132,254,195,100,155,205,205,155, 0, 1, 0,160, 4,116, 1,159, 6,102, 0, 3, 0, 17, 64, 6, 1, 0, 4, 2, 0, 4, 16,212, +204, 49, 0, 16,212,204, 48, 27, 1, 51, 3,160, 65,190,110, 4,116, 1,242,254, 14, 0, 0, 0, 0, 1, 0,160,254, 86, 1,159, + 0, 72, 0, 3, 0, 17, 64, 6, 2, 3, 4, 0, 2, 4, 16,212,204, 49, 0, 16,212,204, 48, 37, 3, 35, 19, 1,159, 65,190,110, + 72,254, 14, 1,242, 0, 0, 0, 0, 1, 1,182,254, 86, 2,146,255,164, 0, 13, 0, 0, 1, 35, 34, 39, 38, 61, 1, 51, 21, 20, + 23, 22, 59, 1, 2,146,148, 26, 26, 20,149, 10, 12, 14, 35,254, 86, 33, 26, 46,229,229, 14, 12, 13, 0, 0, 0,255,255, 0,158, +255, 18, 1,195, 4, 35, 18, 6, 0, 30, 0, 0, 0, 1, 1,115, 4,238, 3, 82, 6,102, 0, 3, 0, 49, 64, 9, 2,180, 0,179, + 4, 3, 68, 1, 4, 16,212,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, 1, 51, 1, 35, 2,139,199,254,186,153, 6,102,254,136, 0, 0, 0,255,255, 0,215, + 5, 70, 3, 82, 7,210, 18, 38, 0,106, 0, 0, 17, 7, 2,165, 0, 0, 1,108, 0, 20, 0, 64, 7,175, 8,159, 8, 95, 8, 3, + 93, 64, 5, 95, 8, 15, 8, 2,113, 48, 0, 0,255,255, 0, 16, 0, 0, 5,104, 6,102, 16, 39, 2,165,254,218, 0, 0, 16, 6, + 2,176, 0, 0,255,255, 0,219, 2, 72, 1,174, 3, 70, 18, 6, 0,121, 0, 0,255,255,255,231, 0, 0, 5,117, 6,102, 16, 39, + 2,165,254,116, 0, 0, 16, 7, 2,180, 0,234, 0, 0, 0, 0,255,255,255,243, 0, 0, 6, 31, 6,102, 16, 39, 2,165,254,128, + 0, 0, 16, 7, 2,182, 0,228, 0, 0, 0, 0,255,255,255,237, 0, 0, 2,125, 6,102, 16, 39, 2,165,254,122, 0, 0, 16, 7, + 2,184, 0,234, 0, 0, 0, 0,255,255,255,242,255,227, 6, 1, 6,102, 16, 39, 2,165,254,127, 0, 0, 16, 6, 2,190, 40, 0, +255,255,255,225, 0, 0, 6,145, 6,102, 16, 39, 2,165,254,110, 0, 0, 16, 7, 2,195, 1,170, 0, 0, 0, 0,255,255,255,219, + 0, 0, 6, 5, 6,102, 16, 39, 2,165,254,104, 0, 0, 16, 6, 2,199, 54, 0,255,255, 0, 5, 0, 0, 2,128, 7,210, 16, 39, + 2,166,255, 46, 0, 0, 18, 6, 2,215, 15, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 6, 0, 36, 0, 0,255,255, 0,201, + 0, 0, 4,236, 5,213, 18, 6, 0, 37, 0, 0, 0, 1, 0,201, 0, 0, 4,106, 5,213, 0, 5, 0, 25, 64, 12, 4,149, 1,129, + 0, 7, 2, 4, 28, 1, 4, 6, 16,252,252,204,196, 49, 0, 47,244,236, 48, 51, 17, 33, 21, 33, 17,201, 3,161,253, 41, 5,213, +170,250,213, 0, 0, 2, 0, 16, 0, 0, 5,104, 5,213, 0, 2, 0, 6, 0, 61, 64, 12, 66, 0,149, 4,129, 1,149, 3, 8, 6, + 3, 7, 16,212,196,196, 49, 0, 47,236,244,236, 48, 75, 83, 88, 64, 18, 0, 17, 5, 4, 3, 2, 17, 6, 6, 5, 0, 17, 4, 1, + 17, 3, 3, 4, 5, 7, 16,236, 16,236, 7, 16,236, 8, 16,236, 89, 9, 1, 33, 5, 1, 51, 1, 2,188,254,102, 3, 53,251,185, + 2, 58,229, 2, 57, 5, 14,251,154,168, 5,213,250, 43, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 18, 6, 0, 40, 0, 0, +255,255, 0, 92, 0, 0, 5, 31, 5,213, 18, 6, 0, 61, 0, 0,255,255, 0,201, 0, 0, 5, 59, 5,213, 18, 6, 0, 43, 0, 0, + 0, 3, 0,115,255,227, 5,217, 5,240, 0, 3, 0, 18, 0, 33, 0, 50, 64, 28, 4,149, 19,145, 34, 3,149, 0,173, 34, 11,149, + 26,140, 34, 35, 16, 1, 15, 25, 22, 51, 0, 8, 25, 30, 16, 34, 16,252,236,196,244,236,196,236, 49, 0, 16,244,236, 16,244,236, + 16,244,236, 48, 1, 33, 21, 33, 1, 34, 7, 6, 17, 16, 0, 51, 50, 55, 54, 17, 16, 39, 38, 39, 32, 0, 17, 16, 7, 6, 33, 32, + 39, 38, 17, 16, 55, 54, 1,197, 2,194,253, 62, 1, 98,220,129,130, 1, 3,220,220,129,128,128,129,220, 1, 58, 1,120,188,188, +254,198,254,197,188,189,189,188, 3,112,170, 2,134,164,164,254,229,254,230,254,184,164,164, 1, 26, 1, 27,164,164,164,254, 91, +254,158,254,159,210,211,210,210, 1, 98, 1, 98,211,210, 0, 0,255,255, 0,201, 0, 0, 1,147, 5,213, 18, 6, 0, 44, 0, 0, +255,255, 0,201, 0, 0, 5,106, 5,213, 18, 6, 0, 46, 0, 0, 0, 1, 0, 16, 0, 0, 5,104, 5,213, 0, 6, 0, 60, 64, 11, + 66, 6,149, 2,129, 5, 1, 8, 4, 1, 7, 16,212,196,196, 49, 0, 47, 60,244,236, 48, 75, 83, 88, 64, 18, 6, 17, 3, 2, 1, + 5, 17, 4, 4, 3, 6, 17, 2, 0, 17, 1, 1, 2, 5, 7, 16,236, 16,236, 7, 16,236, 8, 16,236, 89, 51, 35, 1, 51, 1, 35, + 1,229,213, 2, 58,229, 2, 57,210,254, 38, 5,213,250, 43, 5, 14, 0, 0, 0,255,255, 0,201, 0, 0, 6, 31, 5,213, 18, 6, + 0, 48, 0, 0,255,255, 0,201, 0, 0, 5, 51, 5,213, 18, 6, 0, 49, 0, 0, 0, 3, 0,201, 0, 0, 4, 98, 5,213, 0, 3, + 0, 7, 0, 11, 0, 42, 64, 22, 7,149, 4,129, 11, 3,149, 0,173, 8,149, 11, 13, 4, 1, 9, 5, 0, 8, 4, 4, 12, 16,252, + 60,196,212, 60,196,236, 49, 0, 47,236,244,236, 16,244,236, 48, 1, 33, 21, 33, 3, 33, 21, 33, 17, 33, 21, 33, 1, 50, 2,199, +253, 57,105, 3,153,252,103, 3,153,252,103, 3,113,170, 3, 14,170,251,127,170,255,255, 0,115,255,227, 5,217, 5,240, 18, 6, + 0, 50, 0, 0,255,255, 0,201, 0, 0, 5, 59, 5,213, 18, 6, 3, 60, 0, 0,255,255, 0,201, 0, 0, 4,141, 5,213, 18, 6, + 0, 51, 0, 0, 0, 1, 0,201, 0, 0, 4,139, 5,213, 0, 11, 0, 70, 64, 17, 66, 10, 6,149, 7,129, 0, 4,149, 3, 13, 1, + 8, 4, 7, 4, 12, 16,252, 60,212, 60,204, 49, 0, 47,236, 50,244,236, 50, 48, 75, 83, 88, 64, 18, 11, 17, 5, 5, 4, 10, 17, + 6, 6, 5, 11, 17, 5, 0, 17, 4, 5, 4, 5, 7, 16,236, 16,236, 7, 16,236, 8, 16,236, 89, 37, 33, 21, 33, 53, 9, 1, 53, + 33, 21, 33, 1, 1,177, 2,218,252, 62, 1,223,254, 33, 3,176,253, 56, 1,223,170,170,170, 2,112, 2, 17,170,170,253,243, 0, +255,255,255,250, 0, 0, 4,233, 5,213, 18, 6, 0, 55, 0, 0,255,255,255,252, 0, 0, 4,231, 5,213, 18, 6, 0, 60, 0, 0, +255,255, 0,115, 0, 0, 5,217, 5,213, 18, 6, 3, 65, 0, 0,255,255, 0, 61, 0, 0, 5, 59, 5,213, 18, 6, 0, 59, 0, 0, + 0, 1, 0,115, 0, 0, 5,219, 5,213, 0, 29, 0, 46, 64, 23, 16, 13,149, 27, 2, 21, 14, 7,129, 0, 31, 21, 28, 22, 2, 14, + 28, 27, 15, 8, 28, 7, 30, 16,220,236,212, 60,252, 60,212,236,204, 49, 0, 47,228, 50, 50,220, 60,236, 50, 48, 33, 54, 39, 34, + 39, 38, 3, 17, 51, 17, 16, 23, 22, 23, 17, 51, 17, 54, 55, 54, 25, 1, 51, 17, 2, 7, 6, 35, 6, 23, 2,194, 1, 1,214,188, +184, 5,213,130,110,138,202,138,110,130,213, 5,184,188,214, 1, 1,134,176,210,204, 1,104, 1,153,254,103,254,230,164,140, 14, + 3,241,252, 15, 14,140,164, 1, 26, 1,153,254,103,254,152,204,210, 72,238, 0, 0, 1, 0, 78, 0, 0, 5,207, 5,231, 0, 38, + 0, 51, 64, 27, 11,149, 30,145, 38, 3, 18, 21,149, 2, 20, 3, 7, 25, 40, 16, 0, 34, 51, 26, 18, 14, 25, 21, 26, 16, 39, 16, +252,196,252,196, 16,244,196,236,252,196, 49, 0, 47, 60,236, 50, 50, 50,244,236, 48, 37, 21, 33, 53, 54, 55, 54, 53, 52, 39, 38, + 35, 34, 0, 21, 20, 23, 22, 23, 21, 33, 53, 33, 38, 39, 38, 53, 16, 55, 54, 33, 32, 23, 22, 17, 20, 7, 6, 7, 5,207,253,168, +177, 99, 99,132,132,216,216,254,247, 99,100,178,253,168, 1, 63,158, 73, 72,192,191, 1, 49, 1, 47,193,192, 71, 71,161,178,178, +178, 97,166,166,202,240,145,145,254,221,239,202,166,166, 97,178,178,139,149,149,184, 1, 62,197,197,197,196,254,203,194,148,148, +141, 0, 0, 0,255,255, 0,201, 0, 0, 1,147, 5,213, 16, 39, 6,132, 3, 47, 1,117, 19, 6, 2,184, 0, 0, 0, 8,180, 9, + 3, 6, 8, 7, 43, 49, 0, 0,255,255,255,252, 0, 0, 4,231, 5,213, 16, 39, 6,132, 4,113, 1,117, 19, 6, 2,195, 0, 0, + 0, 8,180, 12, 2, 7, 8, 7, 43, 49, 0, 0,255,255, 0,113,255,230, 4,229, 6,102, 18, 38, 2,207, 0, 0, 16, 6, 2,165, +110, 0, 0, 0,255,255, 0,133,255,227, 3,200, 6,102, 16, 38, 2,165, 80, 0, 18, 6, 2,211, 0, 0, 0, 0,255,255, 0,186, +254, 86, 4,100, 6,102, 16, 39, 2,165, 0,198, 0, 0, 18, 6, 2,213, 0, 0,255,255, 0,166, 0, 0, 2,152, 6,102, 18, 38, + 2,215, 0, 0, 16, 7, 2,165,255, 70, 0, 0,255,255, 0,149,255,226, 4, 42, 7,210, 18, 38, 2,227, 0, 0, 16, 6, 2,166, + 27, 0, 0, 0, 0, 2, 0,113,255,230, 4,229, 4,122, 0, 13, 0, 42, 0,200, 64, 11, 18, 17, 7, 44, 16, 23, 7, 18, 37, 69, + 43, 16,252,236,212,196,196, 18, 57, 57, 64, 10, 63, 16, 47, 16, 31, 16, 3,143, 16, 1, 93,113, 0, 64, 17, 18, 17, 11, 3,185, + 41,184, 25, 11,185, 33,140, 15,188, 22,135, 25, 47,236,228,244,236, 16,244,236, 17, 57, 57, 5, 64, 20, 29, 17, 0, 17, 14, 17, + 18, 17, 17, 16, 15, 17, 14, 17, 0, 17, 29, 17, 17, 16, 7, 16, 60,236,236,236, 8, 7, 16, 60,236,236, 49, 48, 1, 64, 11,132, + 18,134, 17,136, 1,137, 13,128, 16, 5, 93, 64, 19, 73, 19, 73, 18, 73, 28, 74, 29, 78, 13, 76, 0, 78, 1, 73, 14, 75, 17, 9, + 93, 64, 17, 58, 14, 57, 18, 58, 17, 56, 29, 56, 17, 63, 13, 60, 0, 62, 1, 8, 93, 64, 11, 43, 13, 43, 1, 42, 0, 41, 14, 41, + 17, 5, 93, 64, 13, 25, 15, 24, 14, 27, 13, 27, 1, 26, 0, 25, 17, 6, 93, 0, 64, 5, 43, 30, 43, 31, 2, 93, 1, 39, 38, 39, + 38, 7, 6, 21, 20, 23, 22, 51, 50, 55, 27, 1, 51, 3, 23, 22, 23, 22, 59, 1, 21, 35, 34, 39, 38, 39, 6, 7, 6, 39, 38, 39, + 38, 17, 16, 55, 54, 55, 36, 3, 78, 44, 45,178,134, 61, 77, 75, 76,121,134, 72,164, 99,164,205, 40, 9, 35, 41, 32, 88,110, 94, + 84, 41, 17, 44, 96, 44,143,234,115,117,127,141,198, 1, 55, 2, 9,231,236, 1, 1,111,137,183,220,105,107,213, 1,231, 1, 37, +253,161,219, 49, 41, 48,156, 84, 42, 88,107, 91, 42, 1, 2,150,156, 1, 20, 1, 41,135,151, 3, 5, 0, 0, 0, 0, 2, 0,191, +254, 86, 4,137, 6, 33, 0, 14, 0, 28, 0, 55, 64, 15, 24, 18, 7, 30, 69, 19, 18, 11, 22, 0, 28, 8, 3, 70, 29, 16,252,236, + 50,196,212,236,228,212,236, 49, 0, 64, 14, 26,185, 5, 9, 21,185, 22, 17,185, 13,140, 2,189, 29, 16,236,244,236,212,252, 57, +212,236, 48, 37, 17, 35, 17, 16, 33, 32, 19, 18, 7, 4, 19, 18, 37, 38, 3, 22, 55, 32, 17, 16, 5, 53, 4, 17, 52, 7, 32, 17, + 1,121,185, 1,170, 1,176, 2, 3,175, 1, 23, 1, 2,254, 28,212, 89,111,197, 1, 32,254, 48, 1,107,234,254,251, 69,254, 17, + 6, 3, 1,200,254,127,254,238,100, 90,254,245,254, 37, 1, 1, 1, 73,174, 1, 1, 58, 1, 26, 22,170, 6, 1, 70,220, 1,254, +200, 0, 0, 0, 0, 1, 0, 32,254, 86, 4,127, 4, 96, 0, 14, 0, 64, 64, 7, 16, 3, 7, 8, 4, 12, 15, 16,212,212,252,212, +196, 49, 0, 64, 7, 2, 12,191, 6,189, 4, 7, 47, 60,236,228, 50, 48, 5, 64, 18, 1, 17, 8, 7, 2, 17, 3, 4, 3, 14, 13, + 1, 17, 0, 17, 7, 8, 7, 7, 16,236,236, 57, 57, 7, 16,236, 8,236, 1, 19, 1, 51, 1, 17, 35, 17, 1, 38, 43, 1, 53, 51, + 50, 1,105,245, 1, 94,195,254, 59,184,254,218, 44, 95, 49, 70,197, 3,176,253, 76, 3,100,251,160,254, 86, 1,170, 3, 68,126, +158, 0, 0, 0, 0, 2, 0,113,255,227, 4,117, 5,240, 0, 28, 0, 45, 0, 84, 64, 20, 6, 5, 40, 4, 47, 69, 28, 40, 18, 10, + 81, 18, 4, 18, 24, 33, 18, 18, 69, 46, 16,252,236,212,236, 16,244,178,127, 10, 1, 93,236,196,236, 17, 18, 57, 57, 0, 64, 14, + 6, 5, 37, 2, 28, 0, 2,185, 26, 37,185, 14,140, 46, 16,244,236,212,252,212,204, 17, 18, 57, 57, 64, 6, 22, 29, 83, 5, 6, + 5, 7, 14, 16,236, 57, 49, 48, 1, 38, 35, 34, 21, 20, 5, 22, 23, 22, 17, 16, 7, 6, 35, 34, 39, 38, 17, 52, 55, 54, 55, 38, + 53, 16, 33, 50, 23, 1, 6, 7, 6, 21, 20, 23, 22, 51, 50, 54, 53, 52, 39, 38, 39, 38, 3,236,102,239,253, 1, 8,208,117,142, +137,137,240,239,138,137,137, 53, 75,156, 1,185,221,120,254, 24, 68, 55, 86, 85, 86,149,147,172, 91, 97,126, 64, 5, 17, 70,117, + 92, 48, 37,112,135,254,235,254,247,156,157,157,156, 1, 19,204,165, 64, 36, 79,141, 1, 16, 70,254, 40, 29, 73,113,204,203,114, +115,232,190,199, 96,103, 11, 6, 0, 1, 0,133,255,227, 3,200, 4,124, 0, 50, 0, 61, 64, 34, 12,134, 11,136, 16,185, 8,184, + 51, 27,169, 24, 51, 39,134, 40,136, 35,185, 44,140, 51, 52, 25, 11, 39, 20, 8, 4, 31, 8, 48, 69, 51, 16,252,236,212,236,212, +196,196,196, 49, 0, 16,244,236,244,236, 16,212,236, 16,244,236,244,236, 48, 1, 38, 39, 38, 53, 52, 55, 54, 51, 50, 22, 23, 21, + 38, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 59, 1, 21, 35, 34, 7, 6, 21, 20, 23, 22, 51, 50, 55, 54, 55, 21, 6, 7, 6, 35, + 34, 39, 38, 53, 52, 54, 1,139,112, 60, 60,114,113,196, 76,170, 98, 97, 80, 81, 71,119, 69, 70, 68, 67,116,155,148,137, 72, 78, + 84, 85,151, 93, 85, 85, 71, 90, 84, 85, 80,238,129,129,138, 2, 92, 24, 65, 64, 93,141, 79, 78, 24, 24,167, 29, 13, 13, 46, 46, + 64, 70, 45, 44,152, 51, 56, 88, 90, 56, 56, 18, 19, 37,171, 28, 14, 14, 91, 91,173,108,146, 0, 0, 1, 0,107,254, 82, 3,248, + 6, 20, 0, 29, 0, 62, 64, 11, 10, 14, 18, 31, 4, 25, 24, 28, 18, 20, 30, 16,212,236,212,212,212,196,252,204, 75,176, 16, 81, + 88,185, 0, 22, 0, 64, 56, 89, 49, 0, 64, 14, 8,185, 10, 0,185, 18,140, 30, 26, 23,135, 24,151, 30, 16,244,236, 50, 16,244, +236,220,236, 48, 37, 22, 23, 22, 21, 20, 7, 6, 35, 52, 53, 22, 55, 54, 53, 52, 39, 38, 35, 32, 3, 16, 1, 33, 53, 33, 21, 0, + 17, 16, 2,202,132, 79, 84, 74, 80,163, 69, 42, 32, 32, 31, 58,253,162, 1, 2, 59,253,236, 3,102,253, 44,127, 1, 75, 79,120, +115, 80, 87, 75, 76, 5, 44, 35, 37, 53, 44, 42, 2, 51, 1,236, 1, 89,185,185,254,148,254, 39,254,105, 0, 0, 0, 1, 0,186, +254, 86, 4,100, 4,123, 0, 21, 0, 49, 64, 22, 6,135, 14, 18,184, 12,188, 2,189, 11, 23, 70, 3, 8, 0, 78, 9, 13, 8, 12, + 70, 22, 16,252,236, 50,244,236,236, 49, 0, 47,236,228,244,196,236, 48, 64, 5,160, 23,128, 23, 2, 1, 93, 1, 17, 35, 17, 52, + 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 54, 55, 54, 51, 50, 23, 22, 4,100,184,124,124,149,172,185,185, 66, 89, 90,117,193, 99, + 99, 2,164,251,178, 4, 72,159,158,190,164,253,135, 4, 96,174,101, 50, 50,119,120, 0, 0, 0, 0, 3, 0,113,255,233, 4,117, + 6, 36, 0, 8, 0, 17, 0, 33, 0, 63, 64, 27, 13,185, 18,151, 34, 1,149, 17, 34, 5,185, 26,140, 34, 35, 69, 0, 9, 18, 22, + 81, 1, 17, 18, 30, 69, 34, 16,252,236, 50,244,178,127, 22, 1, 93,236, 50,236, 49, 0, 16,244,236, 16,212,236, 16,244,236, 48, + 64, 5,160, 35,128, 35, 2, 1, 93, 1, 33, 18, 23, 22, 51, 50, 55, 54, 19, 2, 39, 38, 35, 34, 7, 6, 3, 1, 50, 23, 22, 17, + 16, 7, 6, 35, 34, 39, 38, 17, 16, 55, 54, 3,177,253,131, 15, 69, 86,149,150, 83, 73, 9, 28, 54, 86,147,153, 81, 64, 19, 1, + 61,240,137,137,137,137,240,241,136,137,137,136, 2,198,254,213,127,156,157,138, 1,201, 1, 28,100,158,156,126,254,252, 2,180, +212,211,254,138,254,139,212,213,213,212, 1,117, 1,118,211,212, 0, 1, 0,166, 0, 0, 2,110, 4, 96, 0, 13, 0, 27, 64, 7, + 15, 6, 0, 8, 13, 70, 14, 16,252,252,212,196, 49, 0, 64, 5, 13,188, 5,135, 8, 47,236,228, 48, 1, 17, 20, 23, 22, 59, 1, + 21, 35, 34, 39, 38, 53, 3, 1, 99, 34, 36,108, 89,111,180, 82, 82, 1, 4, 96,253, 43,145, 46, 48,156, 96, 98,212, 2,202, 0, + 0, 1, 0,191, 0, 0, 4,133, 4, 96, 0, 11, 0, 73, 64, 9, 13, 6, 4, 9, 1, 8, 11, 70, 12, 16,252,236, 50,196,212,196, + 49, 0, 64, 5, 3, 0,188, 7, 11, 47, 60,228, 50, 48, 64, 22, 8, 17, 9, 4, 5, 7, 17, 6, 6, 5, 8, 5, 9, 4, 3, 17, + 4, 2, 17, 9, 9, 4, 7, 16, 4,236, 16, 5,236, 9, 60, 60, 7, 16, 5,236, 16, 8,236, 19, 51, 17, 1, 51, 9, 1, 35, 1, + 7, 17, 35,191,190, 1,227,224,254, 71, 1,254,225,254, 98,137,190, 4, 96,254, 47, 1,209,254, 90,253, 70, 2, 66,129,254, 63, + 0, 1, 0, 61, 0, 0, 4,127, 6, 21, 0, 13, 0, 70, 64, 5, 15, 1, 11, 5, 14, 16,212,196,212,196, 49, 0, 64, 6, 10,135, + 11,151, 2, 5, 47, 60,244,236, 48, 64, 24, 3, 17, 1, 0, 6, 4, 17, 5, 6, 5, 7, 17, 6, 17, 3, 17, 1, 0, 0, 2, 17, + 0, 1, 0, 7, 16, 5,236, 16, 9,236,236, 5,236, 7, 16, 5,236, 16, 8,236, 9, 1, 35, 9, 1, 35, 1, 39, 38, 43, 1, 53, + 23, 22, 2,122, 2, 5,195,254,198,254,126,195, 1,235, 74, 47,107, 96,117,226, 5,101,250,155, 3, 60,252,196, 4, 50,198,126, +158, 2, 3, 0,255,255, 0,174,254, 86, 4,229, 4, 96, 16, 6, 0,119, 0, 0, 0, 1, 0, 74, 0, 0, 4, 24, 4, 96, 0, 21, + 0, 65, 64, 7, 23, 7, 18, 17, 0, 1, 22, 16,212,196,212,236,196, 49, 64, 4, 11, 1,188, 0, 0, 47,228, 50, 48, 64, 21, 20, + 19, 18, 17, 21, 17, 6, 5, 4, 3, 7, 3, 17, 1, 0, 0, 2, 17, 1, 1, 0, 7, 16, 5,236, 16, 9,236, 18, 23, 57, 5,236, + 18, 23, 57, 33, 1, 51, 1, 54, 55, 54, 55, 54, 39, 38, 39, 51, 49, 22, 23, 22, 21, 20, 7, 6, 7, 1,160,254,170,198, 1, 33, +120,100, 76, 4, 2, 24, 28,106,186, 69, 46, 42,136,177,123, 4, 96,252, 84,124,172,129,112, 53,100,119,131, 89,124,114, 78,196, +175,228,116, 0, 0, 1, 0,107,254, 82, 4, 1, 6, 20, 0, 38, 0, 64, 64, 15, 10, 14, 18, 40, 4, 34, 29, 28, 32, 18, 24, 37, + 18, 20, 39, 16,212,236,212,236,212,212,196,212,196,252,204, 49, 64, 18, 8,185, 10, 0,185, 18,140, 39, 22, 35,135, 34, 30, 27, +135, 28,151, 39, 0, 16,244,252, 60,212,236, 57, 16,244,236,220,236, 48, 37, 22, 23, 22, 21, 20, 7, 6, 35, 52, 53, 22, 55, 54, + 53, 52, 39, 38, 35, 32, 17, 16, 37, 36, 17, 52, 55, 35, 53, 33, 21, 32, 17, 20, 5, 21, 36, 19, 18, 2,218,132, 79, 84, 74, 80, +163, 69, 42, 32, 32, 31, 58,253,145, 1, 77,254,232,220,208, 3, 21,253,139, 2, 16,253,198, 2, 1,127, 1, 75, 79,120,115, 80, + 87, 75, 76, 5, 44, 35, 37, 53, 44, 42, 1,181, 1, 44, 88, 36, 1, 4,197, 82,185,185,254,221,191, 9,170, 22,254,188,254,241, +255,255, 0,113,255,227, 4,117, 4,123, 18, 6, 0, 82, 0, 0, 0, 1, 0, 74,255,217, 4,152, 4, 96, 0, 23, 0, 47, 64, 11, + 25, 10, 1, 18, 8, 3, 19, 8, 0, 22, 24, 16,220,196,236,212,236,196,196,204, 49, 64, 12, 7,135, 14,140, 21, 3, 19, 23,135, + 0,188, 21, 0, 47,244,236, 50, 50, 16,244,236, 48, 19, 33, 21, 35, 17, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 53, 17, + 33, 17, 35, 17, 35, 74, 4, 49,141, 49, 55, 15, 44, 7, 35, 74, 37,120, 92,254, 99,188,143, 4, 96,184,253, 80, 72, 63, 5, 1, +133, 13, 12,131,176, 2,156,252, 88, 3,168, 0, 0, 2, 0,186,254, 86, 4,164, 4,123, 0, 17, 0, 29, 0, 49, 64, 25, 21,185, + 4,184, 30, 27,185, 10,140, 15,189, 30, 31, 69, 18, 18, 7, 81, 13, 8, 24, 18, 16, 70, 30, 16,252,236,236,244,178,127, 7, 1, + 93,236,236, 49, 0, 16,236,244,236, 16,244,236, 48, 1, 54, 55, 54, 51, 50, 0, 17, 16, 2, 35, 34, 38, 39, 17, 35, 17, 52, 5, + 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 1, 20, 61,151, 59,182,204, 0,255,255,204,123,177, 58,185, 3, 43,167,146,146,167, +167,146,146,167, 3,152,102, 90, 35,254,188,254,248,254,248,254,188, 97,100,253,174, 3,207,231,221,203,231,231,203,203,231,231, + 0, 1, 0,113,254, 82, 3,231, 4,123, 0, 36, 0, 54, 64, 12, 29, 33, 18, 23, 38, 9, 72, 16, 18, 3, 69, 37, 16,252,236,244, +204,212,252,196, 49, 64, 17, 27,185, 29, 19,185, 0,140, 37, 9,134, 10,136, 13,185, 6,184, 37, 0, 16,244,252,244,236, 16,244, +236,220,236, 48, 5, 32, 0, 17, 16, 0, 33, 50, 22, 23, 21, 46, 1, 35, 34, 6, 21, 20, 22, 51, 50, 23, 22, 21, 20, 7, 6, 35, + 52, 53, 22, 55, 54, 53, 52, 39, 38, 2,168,254,243,254,214, 1, 45, 1, 6, 85,162, 76, 78,157, 80,179,198,198,175,131, 80, 84, + 74, 80,163, 69, 42, 32, 32, 31, 29, 1, 62, 1, 14, 1, 18, 1, 58, 35, 35,172, 43, 43,227,205,205,227, 76, 79,120,115, 80, 87, + 75, 76, 5, 44, 35, 37, 53, 44, 42, 0, 0, 0, 0, 2, 0,113,255,227, 4,214, 4, 98, 0, 13, 0, 30, 0, 49, 64, 11, 32, 15, + 10, 18, 19, 81, 4, 18, 27, 69, 31, 16,252,236,244,178,127, 19, 1, 93,236,212,196, 49, 64, 12, 7,185, 23,140, 31, 17,135, 0, +185, 14,188, 31, 0, 16,244,236,236, 16,244,236, 48, 1, 34, 7, 6, 21, 20, 22, 51, 50, 54, 53, 52, 39, 38, 39, 5, 21, 35, 22, + 21, 16, 7, 6, 35, 34, 39, 38, 17, 16, 55, 54, 2,115,152, 82, 86,171,149,147,172, 86, 79,154, 2, 99,206,109,137,137,240,241, +136,137,137,114, 3,206,110,115,190,201,231,232,200,183,122,110,147, 1,184,156,221,254,237,156,157,157,156, 1, 19, 1, 20,156, +130, 0, 0, 0, 0, 1, 0,100, 0, 0, 4,109, 4, 96, 0, 17, 0, 35, 64, 8, 19, 13, 3, 15, 8, 12, 10, 18, 16,212,196,252, +196,196,196, 49, 0, 64, 8, 15, 11,135, 12,188, 2,185, 5, 47,236,244,236, 50, 48, 37, 22, 59, 1, 21, 35, 34, 39, 38, 53, 17, + 33, 53, 33, 21, 33, 17, 20, 2,230, 36,108, 89,111,180, 82, 82,254, 92, 4, 9,254, 87,204, 48,156, 96, 98,212, 2, 18,184,184, +253,227,145, 0, 0, 1, 0,149,255,226, 4, 42, 4, 96, 0, 28, 0, 43, 64, 10, 30, 69, 9, 18, 19, 0, 8, 28, 70, 29, 16,252, +236,212,236,228, 64, 7, 63, 30, 63, 9, 63, 19, 3, 93, 49, 0, 64, 6, 13, 28,188, 5,185, 23, 47,236,244, 60, 48, 1, 17, 20, + 23, 22, 51, 50, 55, 54, 55, 54, 39, 38, 39, 51, 49, 22, 23, 22, 21, 20, 7, 6, 39, 34, 39, 38, 53, 3, 1, 82, 50, 55,107,150, +105, 59, 15, 8, 30, 28,106,186, 70, 45, 42,128,156,254,179,101, 98, 1, 4, 96,253, 43,135, 64, 69,208,118,187,102,128,119,131, + 90,123,115,154,253,187,228, 1,120,118,197, 2,202, 0, 0, 0, 0, 2, 0,111,254, 86, 4,210, 4,104, 0, 10, 0, 41, 0, 61, + 64, 16, 43, 69, 7, 18, 15, 19, 2, 8, 30, 22, 40, 35, 18, 26, 69, 42, 16,252,236,212, 60,204,252, 60,212,236,236, 49, 0, 64, + 16, 0, 31,185, 11, 30,184, 42, 3, 39,135, 19, 22,140, 21,189, 42, 16,236,244, 60,236, 50, 16,244, 60,236, 50, 48, 1, 34, 21, + 17, 50, 55, 54, 39, 38, 39, 38, 39, 50, 23, 22, 19, 18, 7, 6, 35, 17, 35, 17, 34, 39, 38, 17, 2, 55, 54, 55, 21, 6, 7, 6, + 23, 22, 23, 22, 51, 17, 16, 3, 61, 65, 94, 96, 86, 1, 1, 85, 70, 54,144,123,133, 4, 4,141,133,199,183,199,134,136, 1,137, +104,164, 66, 58, 87, 1, 1, 85, 76,113, 3,203,145,253, 82,104, 93,223,208,112, 91,157,132,141,254,217,254,241,161,152,254,110, + 1,145,153,156, 1, 19, 1, 30,146,109, 28,163, 23, 78,115,190,202,115,103, 2,175, 1, 46, 0, 0, 1, 0, 59,254, 85, 4,100, + 4, 97, 0, 23, 0,118, 64, 12, 17, 16, 5, 4, 4, 9, 25, 20, 15, 3, 9, 24, 16,212,196,212,196,196, 18, 23, 57, 0, 64, 18, + 17, 16, 5, 4, 4, 19, 8,135, 14, 9,188, 24, 19,135, 22, 3,189, 24, 16,244, 60,236, 16,244, 60,236, 17, 23, 57, 5, 64, 20, + 14, 17, 15, 16, 15, 12, 17, 5, 5, 4, 2, 17, 3, 4, 3, 0, 17, 17, 17, 16, 7, 16,236, 7, 16,236, 7, 16,236, 7, 16,236, + 64, 20, 16, 17, 12, 15, 2, 13, 17, 12, 14, 3, 4, 14, 3, 5, 0, 1, 15, 2, 5, 0, 15, 15, 15, 15, 49, 48, 5, 3, 1, 35, + 1, 3, 38, 43, 1, 53, 23, 4, 23, 19, 1, 51, 1, 19, 22, 59, 1, 21, 39, 36, 2,220,149,254,205,217, 1,178,182, 49,154, 49, + 70, 1, 2, 65,148, 1, 51,217,254, 78,182, 49,154, 49, 70,254,254,250, 1,127,253,208, 3, 24, 1,215,126,158, 2, 7,167,254, +129, 2, 48,252,232,254, 41,126,158, 2, 7, 0, 0, 1, 0,112,254, 86, 4,209, 4, 96, 0, 27, 0, 54, 64, 13, 29, 19, 8, 20, + 25, 13, 8, 0, 12, 6, 8, 5, 28, 16,220,236,212, 60,252, 60,212,236,204, 49, 0, 64, 14, 19, 12, 5,188, 28, 14, 11,135, 25, + 0,140, 27,189, 28, 16,236,244, 60,236, 50, 16,244, 60, 60, 48, 5, 38, 39, 38, 53, 17, 51, 17, 20, 23, 22, 23, 17, 51, 17, 54, + 55, 54, 53, 17, 51, 17, 20, 7, 6, 7, 17, 35, 2, 69,231,107,131,186, 85, 74,124,183,131, 67, 85,186,131,118,220,183, 25, 37, + 97,119,243, 2,137,253,126,183, 76, 66, 14, 3,213,252, 44, 14, 66, 84,175, 2,129,253,120,252,110, 99, 35,254,110, 0, 0, 0, + 0, 1, 0,135,255,226, 6, 40, 4, 96, 0, 26, 0, 56, 64, 20, 18, 18, 19, 28, 69, 16, 18, 21, 11, 8, 12, 7, 18, 2, 5, 18, + 4, 2, 69, 27, 16,252,220,236, 16,236,212,252,212,236,236,220,236, 49, 0, 64, 9, 11, 18, 4,188, 14, 9,135, 23, 0, 47, 60, +236, 50,244, 60,196, 48, 5, 32, 17, 52, 19, 51, 2, 21, 2, 51, 50, 3, 51, 2, 55, 54, 17, 52, 3, 51, 18, 21, 18, 37, 36, 3, + 2, 2, 38,254, 97,155,198,143, 1,223,207, 4,170, 4,207,222,143,198,155, 2,254, 95,254,241, 34, 41, 29, 2, 82,235, 1, 64, +254,192,240,254, 79, 2, 26,253,227, 3, 2, 1,175,240, 1, 64,254,192,235,253,173, 1, 1, 1, 42,254,213, 0,255,255, 0, 5, + 0, 0, 2,125, 6, 16, 18, 38, 2,215, 15, 0, 16, 7, 0,106,255, 46, 0, 0,255,255, 0,149,255,226, 4, 42, 6, 16, 16, 38, + 0,106, 29, 0, 18, 6, 2,227, 0, 0, 0, 0,255,255, 0,113,255,227, 4,117, 6,102, 16, 38, 2,165,125, 0, 18, 6, 2,221, + 0, 0, 0, 0,255,255, 0,149,255,226, 4, 42, 6,102, 16, 38, 2,165, 34, 0, 18, 6, 2,227, 0, 0, 0, 0,255,255, 0,135, +255,226, 6, 40, 6,102, 18, 38, 2,231, 0, 0, 16, 7, 2,165, 1, 89, 0, 0, 0, 3, 0,166,255,233, 4, 77, 6, 36, 0, 13, + 0, 37, 0, 53, 0, 0, 1, 50, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 7, 6, 1, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, + 3, 2, 55, 54, 23, 22, 23, 22, 23, 22, 7, 6, 7, 6, 7, 6, 35, 16, 23, 22, 51, 50, 55, 54, 55, 52, 39, 38, 1,105, 80, 84, +119, 68,121, 36, 50,117,122, 93, 54, 1,238, 96, 59, 91, 59,126,246,252,139,111, 1, 1,120,134,210,164,107,111, 1, 1, 55, 38, +251, 67, 93, 74, 78, 58, 80,174,143, 87, 24, 1, 79, 94, 3,112, 1, 3, 61,108,147, 87, 53, 73, 9, 10,196,112,254,203, 65, 75, +117,143,130, 95,213,213,168, 1,161, 1,139,190,213, 1, 1,111,115,155,128,107, 75,150, 15, 3, 2,254,234,128,176,156, 45, 86, +123, 72, 86, 0, 0, 2, 0,112,255,233, 4,118, 6, 36, 0, 11, 0, 40, 0, 0, 1, 54, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, + 5, 4, 39, 38, 17, 52, 55, 54, 51, 50, 23, 22, 3, 2, 7, 6, 35, 34, 39, 38, 19, 23, 2, 23, 22, 51, 50, 55, 54, 3,174, 6, + 55, 75,140, 83, 64, 56,121, 74, 1, 19,254,204,131,211,104,104,175,209,135,128, 9, 9,128,137,240,237,140,149, 12,195, 33,117, + 85,150,144, 89, 95, 3,112,246,126,170, 71, 66, 90,153,107, 65,160, 9, 74,120, 1, 39,160,110,112,212,200,254,127,254,125,198, +213,213,225, 1,210, 1,254,130,215,155,156,166, 0, 1, 0, 87, 0, 0, 5, 81, 5,223, 0, 27, 0, 0, 1, 6, 3, 6, 21, 17, + 35, 17, 52, 39, 2, 39, 38, 7, 53, 54, 23, 4, 19, 18, 37, 54, 23, 22, 7, 6, 39, 38, 4, 70,160, 82, 42,203, 42, 82,160,116, +120, 67,160, 1, 67, 72,107, 1, 31,111, 64,120, 54, 33,117, 86, 5, 17, 72,254,243,141,165,253,118, 2,138,165,141, 1, 13, 72, + 52, 26,170, 21, 24, 48,254,114, 1,123, 67, 26, 49, 93,150, 86, 26, 18, 0, 0,255,255,255,225, 0, 0, 6,161, 6,102, 16, 39, + 2,165,254,110, 0, 0, 16, 7, 2,239, 1, 80, 0, 0, 0, 0,255,255, 0, 87, 0, 0, 5, 81, 5,223, 16, 39, 6,132, 4,197, + 1,117, 18, 6, 2,239, 0, 0, 0, 3, 0,112,254, 86, 4,209, 6, 20, 0, 21, 0, 30, 0, 39, 0, 65, 64, 16, 41, 26, 18, 6, + 9, 1, 30, 8, 12, 20, 32, 36, 18, 16, 69, 40, 16,252,236,212, 60, 60,252, 60, 60,212,236,196, 49, 64, 18, 30, 32,135, 1, 20, +184, 40, 22, 31,135, 9, 12,140, 21,151, 11,189, 40, 0, 16,236,228,244, 60,252, 60, 16,244, 60,252, 60, 48, 1, 17, 50, 23, 22, + 17, 16, 7, 6, 35, 17, 35, 17, 34, 39, 38, 17, 16, 55, 54, 51, 17, 19, 50, 55, 54, 55, 54, 39, 38, 35, 3, 17, 34, 7, 6, 23, + 22, 23, 22, 2,252,199,133,137,137,133,199,183,199,134,136,136,134,199,183,113, 77, 84, 1, 1, 86, 77,113,183,113, 76, 87, 1, + 1, 85, 76, 6, 20,254, 99,153,156,254,237,254,237,156,153,254,111, 1,145,153,156, 1, 19, 1, 19,156,153, 1,157,250,119,103, +115,202,200,117,103,252,184, 3, 72,103,117,200,202,115,103, 0, 0, 2, 0, 65,255,226, 6,109, 4, 96, 0, 16, 0, 30, 0, 0, + 19, 53, 33, 21, 35, 22, 21, 16, 37, 36, 3, 2, 33, 32, 17, 52, 55, 41, 1, 6, 21, 16, 51, 50, 3, 51, 2, 55, 54, 17, 52, 65, + 6, 44,147, 77,254, 97,254,241, 34, 41,254,248,254, 97, 77, 4, 58,252,146, 71,222,207, 4,170, 4,207,222, 3,168,184,184,207, +164,253,173, 1, 1, 1, 42,254,213, 2, 82,164,207,209,167,254, 79, 2, 26,253,227, 3, 3, 1,174,167, 0, 0, 0, 1, 0,111, +254, 91, 4,206, 4,103, 0, 47, 0, 0, 5, 38, 39, 38, 55, 7, 2, 7, 6, 39, 38, 55, 54, 55, 54, 39, 38, 35, 34, 7, 53, 54, + 23, 22, 23, 22, 7, 55, 18, 55, 54, 23, 22, 7, 6, 7, 6, 23, 22, 51, 50, 55, 2, 7, 6, 39, 53, 4, 3,249,246, 33, 21, 24, +189, 96,200,141, 3, 1, 61, 96,136, 91, 43, 26,142, 57, 91, 82,126,246, 33, 19, 42,189, 96,200,141, 3, 1, 61, 96,136, 91, 43, + 26,142, 57, 91, 38,205,152,173, 1, 55, 10, 32,240,156, 99,108,254,247,124, 89,145, 68, 84,132,124,203,169,104,108,224, 61, 17, + 34,238,140,112,108, 1, 9,124, 89,145, 68, 84,132,124,203,169,104,108,253,224,102, 77, 90,160,160, 0, 0, 0, 0, 2, 0,115, +254, 88, 5,217, 5,240, 0, 15, 0, 25, 0, 0, 5, 17, 35, 17, 38, 39, 38, 16, 0, 33, 32, 0, 17, 16, 7, 6, 2, 32, 0, 17, + 16, 0, 32, 0, 17, 16, 3,132,184,252,160,189, 1,121, 1, 59, 1, 58, 1,120,188,159,123,254, 72,254,253, 1, 3, 1,184, 1, + 1, 24,254,112, 1,144, 26,179,210, 2,196, 1,165,254, 91,254,158,254,159,210,179, 5, 73,254,184,254,229,254,230,254,184, 1, + 72, 1, 26, 1, 27, 0, 0, 0, 0, 2, 0,113,254, 86, 4,117, 4,123, 0, 10, 0, 27, 0, 0, 1, 34, 6, 16, 22, 51, 50, 54, + 53, 52, 38, 3, 17, 35, 17, 38, 39, 38, 17, 16, 0, 51, 50, 0, 17, 16, 7, 6, 2,115,148,172,171,149,147,172,172, 57,170,190, +107,137, 1, 17,241,240, 1, 18,137,106, 3,223,231,254,110,231,232,200,199,233,252, 9,254,110, 1,146, 27,125,156, 1, 19, 1, + 20, 1, 56,254,200,254,236,254,237,156,123, 0, 0, 1, 0,139,254, 82, 4,171, 5,213, 0, 36, 0, 0, 1, 32, 7, 6, 17, 16, + 23, 22, 51, 50, 23, 22, 21, 20, 7, 6, 35, 52, 53, 22, 55, 54, 53, 52, 39, 38, 35, 32, 39, 38, 17, 16, 55, 54, 41, 1, 21, 3, + 70,254,243, 96,123, 91,109,200,122, 89, 84, 74, 80,163, 69, 42, 32, 32, 31, 58,254,192,142,149,185,138, 1,120, 1,101, 5, 43, +119,152,254,205,254,181,127,152, 84, 79,120,115, 80, 87, 75, 76, 5, 44, 35, 37, 53, 44, 42,203,214, 1,101, 1, 78,237,177,170, + 0, 1, 0,113,254, 82, 4, 81, 4, 97, 0, 34, 0, 0, 1, 34, 7, 6, 21, 20, 22, 51, 50, 23, 22, 21, 20, 7, 6, 35, 52, 53, + 22, 55, 54, 53, 52, 39, 38, 35, 34, 0, 17, 52, 55, 54, 5, 33, 21, 2,172,216, 62, 99,198,110,131, 80, 84, 74, 80,163, 69, 42, + 32, 32, 32, 57,204,254,214,151,104, 1, 52, 1,173, 3,168, 72,113,192,205,227, 76, 79,120,115, 80, 87, 75, 76, 5, 44, 35, 37, + 53, 44, 42, 1, 62, 1, 14,243,188,131, 1,184,255,255, 0,201, 0, 0, 4, 35, 5,213, 18, 6, 0, 41, 0, 0, 0, 1,255, 64, +254, 86, 3, 70, 6, 20, 0, 35, 0, 0, 51, 17, 52, 55, 54, 51, 50, 22, 23, 21, 46, 1, 35, 34, 7, 6, 21, 17, 33, 21, 33, 17, + 20, 7, 6, 35, 34, 38, 39, 53, 30, 1, 51, 50, 55, 54,238,136, 96,169, 49, 99, 51, 36, 82, 44,120, 58, 75, 1, 65,254,191,139, + 98,173, 57,102, 46, 49,100, 48, 87, 64, 82, 4,130,160,142,100, 18, 18,164, 28, 29, 62, 81,111,254,201,143,253, 63,146,165,115, + 21, 22,164, 31, 33, 75, 95, 0, 0, 1, 0,179,255,252, 4,212, 5,213, 0, 23, 0, 0, 1, 3, 1, 3, 6, 23, 22, 55, 21, 34, + 39, 38, 55, 19, 1, 19, 54, 39, 38, 7, 53, 50, 23, 22, 2, 54,110, 3, 12,234, 39, 27, 66,131,230, 81, 95, 19,154,253, 6,172, + 39, 27, 66,131,230, 81, 95, 4,135,254, 91, 1,126,253, 44, 96, 42,108, 35,189, 70, 82,182, 1,218,254,145, 2,144, 96, 42,108, + 35,189, 70, 82, 0, 1, 0,191, 0, 0, 4,136, 6, 19, 0, 7, 0, 0, 9, 1, 35, 19, 33, 1, 51, 3, 4,136,254,231,184,226, +253, 38, 1, 25,184,226, 3,112,252,144, 2,198, 3, 77,253, 93, 0, 1, 0,114,254, 86, 6, 96, 5,241, 0, 33, 0, 0, 1, 17, + 35, 17, 6, 7, 53, 54, 5, 4, 19, 18, 17, 16, 3, 35, 0, 17, 16, 39, 6, 7, 6, 23, 17, 35, 54, 17, 52, 63, 1, 38, 37, 38, + 2, 81,170,205,104,208, 1,130, 1,217,237,214,246,225, 1, 4, 82, 56,121, 69, 5,205, 2,182,187,208,254,164, 48, 5, 58,253, +140, 2, 73, 75,105,198,215, 8, 10,254,216,254,241,253,189,254, 88,254,146, 1, 76, 1,202, 1,209,125, 32, 92, 52,208,253,198, + 33, 2, 20,247,143,141,249, 11, 1, 0, 0, 0, 0, 1, 0,119,254,144, 4,150, 4,120, 0, 22, 0, 0, 1, 3, 35, 1, 38, 39, + 1, 35, 1, 38, 39, 38, 35, 53, 32, 23, 22, 19, 18, 17, 35, 16, 39, 3,110,239,185, 1,100, 14, 50,254, 70,185, 2, 31, 98, 46, +188,211, 1, 45,242,224,172,116,168, 96, 1, 52,254,204, 1,192, 35, 77,253,208, 2,176,127, 33,132,164,216,200,254, 80,254,223, +254,137, 1, 94,246, 0, 0, 0, 0, 1, 0,115,254, 75, 7, 5, 5,213, 0, 61, 0, 0, 1, 52, 3, 38, 39, 35, 22, 19, 22, 21, + 16, 7, 6, 35, 34, 39, 38, 61, 1, 35, 21, 20, 7, 6, 35, 34, 39, 38, 17, 52, 55, 18, 55, 35, 6, 7, 2, 21, 16, 23, 22, 51, + 50, 55, 54, 55, 22, 23, 22, 23, 6, 7, 6, 7, 23, 54, 55, 36, 55, 54, 55, 54, 7, 5,100, 56, 95,250, 84,135, 67, 71, 65,134, +116, 70, 70,199, 71, 72,114,125, 73, 72, 67,135, 84,249, 93, 59,100,123,121,211,146,101,100, 39, 39,100, 68,103,164,205,121,138, + 97,140,118, 1, 20,180,219, 68, 61, 2,224,194, 1, 21,156,130, 70,254,191,159,183,254,217,119,109,105,104,198,241,241,198,104, +105,109,107, 1, 51,183,159, 1, 65, 70,127,159,254,242,201,254,104,180,177, 94, 94,173,173, 94, 65, 23,128, 81, 48, 24,133, 23, + 42,100,136,166,230,203, 0, 0, 0, 1, 0,135,254, 85, 6, 40, 4, 96, 0, 37, 0, 0, 33, 36, 3, 2, 33, 32, 17, 52, 19, 51, + 2, 21, 2, 23, 22, 3, 51, 2, 55, 54, 17, 52, 3, 51, 18, 21, 22, 7, 6, 7, 6, 7, 6, 7, 39, 54, 55, 54, 4,136,254,237, + 30, 35,254,242,254, 97,135,218,143, 1,223,208, 5,170, 3,206,222,143,218,135, 1, 57,105,197,154,210,107,112, 91, 81,139,199, + 1, 1, 13,254,242, 2, 53,235, 1, 64,254,192,240,254,151, 1, 1, 1,212,254, 43, 2, 2, 1,104,240, 1, 64,254,192,235,209, +132,244,158,123, 73, 37, 16,108, 11, 43, 63, 0, 0, 1, 0,115,254, 86, 5, 72, 5,240, 0, 29, 0, 0, 1, 6, 7, 6, 17, 20, + 23, 22, 51, 50, 55, 54, 25, 1, 51, 17, 35, 17, 6, 7, 6, 35, 32, 39, 38, 17, 16, 19, 54, 37, 2,236,180, 96,133,110, 98,195, +196, 98, 99,217,217, 68,104,104,170,255, 0,156,162,186,151, 1, 40, 5, 74, 18,132,185,254,238,249,171,152,152,153, 1, 11, 2, +236,248,129, 2,144,132, 64, 63,213,221, 1, 71, 1, 54, 1, 8,213, 1, 0, 0, 0, 1, 0,113,254, 86, 4,140, 4,123, 0, 26, + 0, 0, 1, 6, 7, 6, 21, 20, 23, 22, 32, 54, 53, 17, 51, 17, 35, 17, 14, 1, 35, 34, 39, 38, 53, 52, 55, 54, 51, 2,139,154, + 80,114, 94, 83, 1, 76,168,184,184, 58,177,144,218,133,137,158,127,253, 3,253, 14, 99,141,208,189,129,116,231,203, 2, 49,249, +246, 2, 82,100, 97,162,168,248,236,200,162, 0, 0, 1, 0,201,254, 75, 5,226, 5,213, 0, 37, 0, 0, 1, 32, 23, 22, 17, 20, + 7, 6, 7, 6, 7, 6, 7, 39, 54, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 21, 17, 35, 17, 51, 17, 54, 55, 54, + 3, 76, 1, 39,177,190, 60, 67,170,195,241,185, 73, 97,134,125,217,152,136, 44, 54,126,115,205,203,115,113,202,202, 78,105,105, + 4,123,179,194,254,253,204,161,178,128,147, 69, 53, 12,133, 22, 50, 87,122,109,104,127,192,157,150,134,129,126,222,254, 39, 5, +213,253,154,135, 66, 67, 0, 0, 0, 2, 0, 45,255,227, 4,146, 4,154, 0, 23, 0, 77, 0, 0, 1, 38, 35, 34, 7, 6, 7, 6, + 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 51, 50, 55, 54, 55, 54, 37, 22, 21, 20, 7, 6, 33, 34, 39, 38, 35, 34, 7, 39, 54, 51, + 50, 23, 22, 51, 50, 55, 54, 53, 52, 39, 6, 7, 6, 7, 6, 39, 38, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, + 50, 23, 54, 55, 23, 6, 3, 44,127,141, 31, 55, 29, 37, 29, 16, 14, 12, 15, 24, 26, 35, 32, 30, 25, 71, 59, 73, 36, 1, 11,108, +127,111,254,247,141, 99, 75, 53, 65, 81, 84,135, 95,130, 82, 63, 91,157, 79, 75, 49, 27, 31, 70,117,102, 71, 41, 72, 50, 64, 48, + 41, 30, 29, 31, 46, 62, 80,101, 94,210,144, 56, 42,136, 55, 3, 68,152, 22, 11, 33, 26, 32, 27, 33, 32, 21, 28, 17, 20, 6, 5, + 25, 20, 49, 24, 50,192,212,176,156,136, 46, 35, 65,147, 76, 46, 35, 94, 89,127,140,113, 25, 23, 52, 43, 38, 2, 1, 10, 7, 34, + 26, 72, 52, 66, 59, 59, 61, 47, 63, 34, 43,159, 86,104, 80,146, 0, 1, 0, 79,254, 86, 5, 11, 5,246, 0, 33, 0, 0, 5, 4, + 33, 32, 1, 0, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 7, 35, 54, 55, 54, 33, 32, 23, 22, 21, 20, 7, 0, 1, 22, 51, 32, 55, + 4,250,255, 0,254,237,254,175,254,185, 2,186,179,108,108, 99,164,180, 94, 35, 24,240, 44, 86,163, 1, 24, 1, 19,161,162,162, +254,247,254, 24,156,213, 1, 41,232,236,190, 1,163, 1,241,219,132,156,141,101, 93,146, 54, 63,161,102,194,144,145,241,216,182, +254,242,254,133,181,179, 0, 0, 0, 1, 0,100,254, 86, 4,106, 4,123, 0, 32, 0, 0, 1, 6, 35, 32, 1, 0, 55, 54, 53, 52, + 39, 38, 35, 34, 7, 6, 7, 35, 54, 55, 54, 51, 50, 4, 21, 20, 7, 6, 1, 22, 51, 50, 55, 4, 92,218,234,254,238,254,222, 2, + 66,167, 92, 92, 84,139,153, 80, 30, 20,204, 37, 73,139,238,232, 1, 20,138,175,254, 47,145,169,253,197,254,239,153, 1,121, 1, + 89,194,107,125,111, 83, 75,117, 44, 50,129, 82,156,232,194,164,156,197,254,224,186,144, 0, 0, 0, 2, 0,115, 0, 0, 5,182, + 5,239, 0, 2, 0, 53, 0, 0, 37, 33, 9, 3, 38, 39, 38, 35, 34, 15, 1, 53, 54, 55, 54, 51, 50, 23, 22, 23, 9, 1, 54, 55, + 54, 51, 50, 23, 22, 23, 21, 39, 38, 35, 34, 7, 6, 7, 9, 1, 22, 23, 22, 59, 1, 21, 33, 53, 51, 50, 55, 54, 1,218, 2,110, +254,205,254, 20, 1,128,254,220, 19, 26, 34, 63, 25, 22, 69, 33, 32, 31, 28,114, 75, 44, 47, 1, 2, 1, 9, 52, 39, 75,114, 29, + 30, 32, 33, 68, 23, 24, 60, 38, 19, 26,254,210, 1,116, 6, 7, 29, 69, 71,250,195, 71, 72, 26, 12,170, 1,202,254,104, 2, 61, + 1,187, 29, 26, 34, 4, 10,187, 11, 5, 5, 67, 40, 70,254,129, 1,127, 75, 35, 67, 5, 5, 11,187, 10, 4, 34, 17, 38,254, 69, +253,195, 9, 8, 33,170,170, 33, 15, 0, 0, 0, 0, 3, 0, 54, 0, 0, 4,203, 4,123, 0, 0, 0, 3, 0, 54, 0, 0, 37, 41, + 1, 3, 9, 1, 3, 38, 39, 38, 35, 34, 15, 1, 53, 54, 55, 54, 51, 50, 23, 22, 23, 27, 1, 54, 55, 54, 51, 50, 23, 22, 23, 21, + 39, 38, 35, 34, 7, 6, 7, 3, 1, 22, 23, 22, 59, 1, 21, 33, 53, 51, 50, 55, 54, 4,203,252,207, 1,204,228,254, 91, 1, 57, +239, 21, 17, 29, 54, 21, 19, 58, 28, 27, 26, 24,131, 64, 37, 40,197,197, 40, 37, 64,131, 24, 26, 27, 28, 58, 19, 21, 54, 29, 17, + 21,246, 1, 45, 6, 5, 25, 58, 73,251,107, 73, 58, 25, 5,158, 1, 56,254,238, 1,164, 1, 61, 28, 14, 25, 3, 7,141, 8, 4, + 4, 51, 30, 53,254,250, 1, 6, 53, 30, 51, 4, 4, 8,141, 7, 3, 25, 14, 28,254,184,254,103, 8, 5, 25,158,158, 25, 5, 0, + 0, 2, 0,115,255,227, 5, 37, 6, 16, 0, 29, 0, 43, 0, 0, 1, 36, 7, 6, 7, 54, 55, 54, 51, 50, 0, 16, 0, 33, 32, 39, + 38, 17, 16, 55, 54, 33, 50, 55, 54, 55, 21, 6, 7, 6, 18, 16, 38, 35, 34, 7, 6, 21, 20, 23, 22, 51, 50, 55, 3, 42,254,214, + 87, 56, 22, 81, 85,123,130,245, 1, 50,254,206,254,249,254,206,164,163,139,124, 1,176,115,149,160, 75, 94,151,108,142,200,186, +188,104,105,105,101,191,188, 98, 5, 45, 2,115, 74,160, 86, 34, 49,254,188,253,240,254,188,156,155, 1, 80, 1,222,210,187, 10, + 10, 39,177, 36, 8, 6,252, 65, 1,130,230,115,116,192,189,120,115,115, 0, 0, 0, 2, 0,113,255,227, 4, 91, 6, 16, 0, 31, + 0, 47, 0, 0, 1, 38, 7, 6, 7, 54, 55, 54, 51, 50, 23, 22, 16, 7, 6, 35, 34, 39, 38, 17, 16, 55, 54, 33, 50, 55, 54, 55, + 21, 6, 7, 6, 19, 52, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 51, 50, 55, 54, 2,155,227, 73, 44, 20, 41,101, 91,120,204,127, +128,128,127,219,255,137,136,116,103, 1, 79, 95, 92, 83, 71, 93, 69, 90,168, 83, 84,146,149, 86, 88, 88, 84,151,148, 82, 83, 5, + 55, 2,120, 74,169, 70, 54, 49,162,162,253,240,162,162,156,155, 1, 80, 1,222,210,187, 10, 10, 39,167, 39, 5, 6,252,248,205, +114,115,115,116,203,199,120,115,115,116, 0, 0, 0, 1, 0, 44,254, 86, 4,183, 5,213, 0, 15, 0, 0, 1, 17, 35, 53, 33, 17, + 35, 17, 33, 21, 35, 17, 33, 17, 51, 17, 4,183,203,254,235,203,254,235,203, 1,224,203, 4, 96,254,242,100,250,160, 5, 96,100, + 1, 14, 1,117,254,139, 0, 0, 0, 1, 0, 55,254, 85, 4, 20, 5,207, 0, 15, 0, 0, 1, 17, 35, 53, 35, 17, 35, 17, 35, 21, + 35, 17, 33, 17, 51, 17, 4, 20,173,229,185,229,173, 1,146,185, 4, 95,255, 0,112,250,134, 5,122,112, 1, 0, 1,112,254,144, + 0, 1, 0,111,255,242, 4,206, 4,103, 0, 43, 0, 0, 1, 2, 7, 6, 39, 38, 55, 54, 55, 54, 39, 38, 35, 34, 7, 53, 54, 23, + 22, 23, 22, 7, 55, 18, 55, 54, 23, 22, 7, 6, 7, 6, 23, 22, 51, 50, 55, 21, 6, 39, 38, 39, 38, 55, 2, 40, 96,200,141, 3, + 1, 61, 96,136, 91, 43, 26,142, 57, 91, 82,126,246, 33, 19, 42,189, 96,200,141, 3, 1, 61, 96,136, 91, 43, 26,142, 57, 91, 82, +126,246, 33, 19, 42, 1,153,254,247,124, 89,145, 68, 84,132,124,203,169,104,108,224, 61, 17, 32,240,140,112,108, 1, 9,124, 89, +145, 68, 84,132,124,203,169,104,108,224, 61, 17, 32,240,140,112, 0, 2, 0,183,254, 86, 4,164, 4,123, 0, 21, 0, 29, 0, 0, + 19, 54, 55, 54, 55, 54, 51, 50, 0, 16, 2, 35, 34, 38, 39, 18, 41, 1, 21, 33, 32, 19, 36, 16, 38, 32, 6, 16, 22, 32,186, 2, + 88, 61,151, 59,182,204, 0,255,255,204,123,177, 58, 5, 1, 32, 1,244,254, 28,254, 10, 6, 3, 45,167,254,220,167,167, 1, 36, + 2, 37,204,167,102, 90, 35,254,188,253,240,254,188, 97,100,254, 88,170, 2,218, 52, 1,150,231,231,254,106,231,255,255, 0,113, +255,227, 3,231, 4,123, 18, 6, 0, 70, 0, 0,255,255,255,219,254, 86, 1,121, 6, 20, 18, 6, 0, 77, 0, 0, 0, 3, 0,115, +255,227, 5,217, 5,240, 0, 7, 0, 15, 0, 26, 0, 0, 1, 33, 18, 23, 22, 32, 55, 54, 19, 38, 39, 38, 32, 7, 6, 7, 1, 32, + 0, 17, 16, 0, 33, 32, 0, 16, 0, 5, 3,252, 69, 8,122,129, 1,184,129,119, 1, 22, 98,129,254, 72,129, 96, 25, 1,214, 1, + 58, 1,120,254,136,254,198,254,197,254,135, 1,121, 2,198,254,255,154,164,164,153, 1,172,186,126,164,164,121,191, 2,128,254, + 91,254,158,254,159,254, 91, 1,164, 2,196, 1,165, 0, 0, 0, 0, 1, 0,113,255,227, 3,216, 4,123, 0, 33, 0, 0, 1, 38, + 39, 38, 35, 34, 7, 6, 7, 33, 21, 33, 22, 23, 22, 51, 50, 63, 1, 21, 7, 6, 35, 32, 39, 38, 16, 55, 54, 33, 50, 23, 22, 23, + 3,216, 37, 37, 99,106,183,102, 95, 18, 2,165,253, 91, 18, 95,102,183,128, 77, 74, 79,104,107,254,244,156,157,157,156, 1, 12, +101,110, 40, 39, 3,174, 13, 10, 26, 99, 92,169,144,169, 92, 99, 26, 25,167, 18, 22,156,156, 2, 40,156,156, 22, 8, 12, 0, 0, + 0, 1, 0,196,255,227, 4, 43, 4,123, 0, 33, 0, 0, 19, 53, 54, 55, 54, 51, 32, 23, 22, 16, 7, 6, 33, 34, 47, 1, 53, 23, + 22, 51, 50, 55, 54, 55, 33, 53, 33, 38, 39, 38, 35, 34, 7, 6,196, 39, 40,110,101, 1, 12,156,157,157,156,254,244,107,104, 79, + 74, 77,128,183,102, 95, 18,253, 91, 2,165, 18, 95,102,183,106, 99, 37, 3,174,163, 12, 8, 22,156,156,253,216,156,156, 22, 18, +167, 25, 26, 99, 92,169,144,169, 92, 99, 26, 10,255,255, 0,201, 0, 0, 4,141, 5,213, 18, 6, 0,160, 0, 0,255,255, 0,186, +254, 86, 4,164, 6, 20, 18, 6, 0,192, 0, 0,255,255, 0,115,255,227, 5, 39, 5,240, 18, 6, 0, 38, 0, 0, 0, 1, 0,201, + 0, 0, 6, 31, 5,213, 0, 12, 0, 0, 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,254, 33, 1,223,250, 43, 5, 31,254, 25, 1,231,250,225, 0, 0, 1, 0,127,254, 86, 4,179, + 4, 96, 0, 12, 0, 0, 19, 33, 19, 1, 33, 17, 35, 17, 1, 35, 1, 17, 35,127, 1, 27,254, 1, 0, 1, 27,185,254,236,153,254, +235,185, 4, 96,254,123, 1,133,251,160, 3,178,254, 96, 1,160,250,164, 0, 0, 0, 2, 0, 85,254, 86, 4,164, 4,123, 0, 24, + 0, 32, 0, 0, 23, 17, 52, 55, 54, 55, 54, 51, 50, 0, 16, 2, 35, 34, 38, 39, 17, 33, 21, 33, 21, 35, 53, 35, 53, 0, 16, 38, + 32, 6, 16, 22, 32,186, 90, 61,151, 59,182,204, 0,255,255,204,123,177, 58, 1,229,254, 27,185,101, 3,144,167,254,220,167,167, + 1, 36,144, 2,181,231,140,102, 90, 35,254,188,253,240,254,188, 97,100,254,200,170,112,112,170, 1,244, 1,150,231,231,254,106, +231, 0, 0, 0,255,255, 0,115,255,227, 5, 39, 5,240, 18, 6, 1, 72, 0, 0,255,255, 0,115,255,227, 5, 39, 5,240, 18, 38, + 3, 22, 0, 0, 16, 7, 0,121, 2, 51, 0, 0,255,255, 0,115,255,227, 5, 39, 5,240, 16, 39, 0,121, 0,228, 0, 0, 18, 6, + 3, 26, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 18, 38, 3, 50, 0, 0, 16, 7, 6,135, 4,238, 1,117,255,255, 0,201, + 0, 0, 4,139, 5,213, 18, 38, 3, 50, 0, 0, 16, 7, 6,132, 4,229, 1,117, 0, 1,255,250,254,102, 5,172, 5,213, 0, 29, + 0, 0, 37, 16, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 38, 35, 33, 17, 35, 17, 33, 53, 33, 21, 33, 17, 33, 50, 23, 22, 21, + 5,172,204,228, 76, 62,134, 56, 55,124,124,254,136,203,254, 82, 4,139,253,238, 1,161,186,113,109,104,254,242,244,170, 75, 75, +194, 1, 34,159,158,253, 57, 5, 43,170,170,254, 70,119,114,238,255,255, 0,201, 0, 0, 4,106, 5,213, 18, 38, 3, 48, 0, 0, + 16, 7, 6,133, 4,174, 1,117, 0, 1, 0,115,255,227, 5, 39, 5,240, 0, 36, 0, 58, 64, 32, 36,149, 35,173, 37, 26,161, 25, +174, 30,149, 21,145, 37, 8,161, 9,174, 4,149, 13,140, 37, 38, 35, 25, 8, 34, 0, 25, 17, 37, 16,220,236, 50,212, 60,204,204, + 49, 0, 16,244,236,244,236, 16,244,236,244,236, 16,244,236, 48, 1, 18, 23, 22, 33, 50, 55, 54, 55, 21, 6, 7, 6, 35, 32, 39, + 38, 17, 16, 55, 54, 33, 50, 23, 22, 23, 21, 38, 39, 38, 35, 32, 7, 6, 7, 33, 21, 1, 72, 7,129,136, 1, 0,130,116,115,102, +106,119,118,132,254,173,195,195,195,195, 1, 83,134,118,119,104,102,115,116,130,255, 0,136,103, 25, 2,178, 2,199,254,242,147, +157, 47, 47, 95,211, 72, 36, 36,207,208, 1,103, 1,104,207,208, 36, 35, 71,213, 95, 47, 47,156,119,198,170, 0,255,255, 0,135, +255,227, 4,162, 5,240, 18, 6, 0, 54, 0, 0,255,255, 0,201, 0, 0, 1,147, 5,213, 18, 6, 0, 44, 0, 0,255,255, 0,201, + 0, 0, 1,147, 5,213, 18, 38, 3, 35, 0, 0, 17, 7, 6,132, 3, 47, 1,117, 0, 8,180, 0, 10, 7, 1, 7, 43, 49, 0, 0, +255,255,255,150,254,102, 1,147, 5,213, 18, 6, 0, 45, 0, 0, 0, 2, 0, 54,255,227, 8, 47, 5,213, 0, 22, 0, 33, 0, 0, + 1, 33, 21, 16, 3, 6, 5, 53, 54, 55, 18, 25, 1, 33, 17, 51, 50, 4, 21, 20, 4, 35, 33, 1, 52, 39, 38, 43, 1, 17, 51, 50, + 55, 54, 4,112,254, 27,132, 98,254,145,212, 67,117, 3,120,234,251, 1, 16,254,240,251,254, 76, 2,234, 79, 78,163,224,224,161, + 80, 79, 5, 43,213,254, 24,254,170,253, 56,167, 46,168, 1, 37, 2, 53, 1, 27,253,154,218,222,221,218, 1,183,139, 68, 67,253, +221, 68, 67, 0, 0, 2, 0,201, 0, 0, 7,204, 5,213, 0, 18, 0, 29, 0, 0, 33, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, + 51, 50, 4, 21, 20, 4, 35, 1, 52, 39, 38, 43, 1, 17, 51, 50, 55, 54, 4, 13,253,134,202,202, 2,122,202,234,251, 1, 16,254, +240,251, 1, 54, 79, 78,163,224,224,161, 80, 79, 2,199,253, 57, 5,213,253,156, 2,100,253,154,218,222,221,218, 1,183,139, 68, + 67,253,221, 68, 67, 0, 0, 0, 0, 1,255,250, 0, 0, 5,172, 5,213, 0, 20, 0, 0, 1, 50, 23, 22, 21, 17, 35, 17, 52, 38, + 35, 33, 17, 35, 17, 33, 53, 33, 21, 33, 17, 4, 20,186,113,109,201,124,124,254,136,203,254, 82, 4,139,253,238, 3,113,119,114, +238,254,102, 1,138,159,158,253, 57, 5, 43,170,170,254, 70, 0,255,255, 0,201, 0, 0, 5,106, 5,213, 18, 38, 3, 55, 0, 0, + 16, 7, 6,133, 4,238, 1,117,255,255, 0,201, 0, 0, 5, 51, 5,213, 18, 38, 3, 53, 0, 0, 16, 7, 6,135, 4,229, 1,117, +255,255, 0, 35,255,227, 4,189, 5,213, 16, 39, 6,139, 4,114, 1,117, 18, 6, 3, 64, 0, 0, 0, 1, 0,201,254, 86, 5, 59, + 5,213, 0, 11, 0, 0, 41, 1, 17, 51, 17, 33, 17, 51, 17, 33, 17, 35, 2,188,254, 13,202, 2,222,202,254, 74,201, 5,213,250, +213, 5, 43,250, 43,254, 86, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 6, 0, 36, 0, 0, 0, 2, 0,201, 0, 0, 4,236, + 5,213, 0, 10, 0, 23, 0, 44, 64, 24, 13,149, 23,129, 22, 5,149, 14,173, 6,149, 22, 25, 11, 0, 25, 18, 46, 5, 13, 28, 23, + 4, 24, 16,252,236, 50,244,236,196,204, 49, 0, 47,236,244,236, 16,244,236, 48, 1, 52, 39, 38, 35, 33, 17, 33, 50, 55, 54, 17, + 21, 33, 17, 33, 50, 4, 21, 20, 4, 35, 33, 17, 4, 23, 79, 78,163,254,188, 1, 68,163, 78, 79,253,124, 1, 78,251, 1, 16,254, +240,251,253,232, 1,183,139, 68, 67,253,221, 68, 67, 4,168,166,254, 64,218,222,221,218, 5,213,255,255, 0,201, 0, 0, 4,236, + 5,213, 18, 6, 0, 37, 0, 0, 0, 1, 0,201, 0, 0, 4,106, 5,213, 0, 5, 0, 25, 64, 12, 4,149, 1,129, 0, 7, 2, 4, + 28, 1, 4, 6, 16,252,252,204,196, 49, 0, 47,244,236, 48, 51, 17, 33, 21, 33, 17,201, 3,161,253, 41, 5,213,170,250,213, 0, + 0, 2, 0, 49,254, 86, 6, 3, 5,213, 0, 7, 0, 23, 0, 53, 64, 15, 2, 28, 14, 25, 19, 28, 16, 23, 3, 28, 13, 20, 28, 23, + 24, 16,220,236,212,236, 16,212,236,204,212,236, 49, 0, 64, 12, 3,149, 13,129, 18, 22,189, 15, 0, 23,149, 20, 47,236, 50, 50, +236, 50,244,236, 48, 37, 33, 17, 33, 21, 16, 3, 6, 5, 54, 55, 18, 25, 1, 33, 17, 51, 17, 35, 17, 33, 17, 35, 17, 1,200, 2, +168,254, 27,132, 24,254,168,132, 50,117, 3,120,201,201,251,192,201,170, 4,129,212,254, 17,254,177, 61, 50, 57,126, 1, 37, 2, + 53, 1, 26,250,213,253,172, 1,170,254, 86, 2, 84, 0, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 18, 6, 0, 40, 0, 0, + 0, 1, 0, 59, 0, 0, 6,173, 5,213, 0, 21, 0,110, 64, 22, 66, 2, 20, 16,129, 14, 8, 12,149, 0, 18,173, 6, 10, 14, 23, + 8, 21, 28, 11, 20, 22, 16,212, 60,252, 60,196, 49, 0, 47, 60, 60,244, 60,236, 50, 16,244, 60, 60, 48, 75, 83, 88, 64, 36, 4, + 17, 7, 2, 1, 5, 17, 6, 7, 6, 4, 17, 1, 3, 17, 2, 2, 1, 15, 17, 18, 13, 12, 16, 17, 17, 18, 17, 15, 17, 12, 14, 17, + 13, 13, 12, 5, 7, 16,236, 16,236, 7, 16,236, 8, 16,236, 5, 7, 16,236, 16,236, 7, 16,236, 8, 16,236, 89, 1, 51, 1, 51, + 9, 1, 35, 1, 35, 17, 35, 17, 35, 1, 35, 9, 1, 51, 1, 51, 17, 51, 3,217,149, 1, 52,217,254,162, 1,144,217,254,155,150, +202,150,254,155,217, 1,144,254,162,217, 1, 52,149,202, 3,113, 2,100,253, 71,252,228, 2,199,253, 57, 2,199,253, 57, 3, 28, + 2,185,253,156, 2,100, 0, 0,255,255, 0,156,255,227, 4,115, 5,240, 18, 6, 0, 22, 0, 0, 0, 1, 0,201, 0, 0, 5, 51, + 5,213, 0, 9, 0,121, 64, 30, 3, 17, 9, 9, 8, 8, 17, 4, 4, 3, 66, 8, 3, 9, 6,175, 2, 5, 9, 4, 7, 3, 28, 0, + 54, 7, 28, 6, 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, 8, 56, 3, 72, 8, 71, 3,105, 8,102, 3,128, 8, 7, 6, 4, 9, 9, 21, + 4, 26, 9, 70, 4, 73, 9, 87, 4, 88, 9,101, 4,105, 9,121, 9,133, 4,138, 9,149, 4,154, 9,159, 11, 16, 93, 0, 93, 1, + 17, 35, 17, 1, 33, 17, 51, 17, 1, 5, 51,196,253,106,254,240,196, 2,150, 5,213,250, 43, 4,225,251, 31, 5,213,251, 31, 4, +225, 0, 0, 0,255,255, 0,201, 0, 0, 5, 51, 5,213, 16, 39, 6,139, 4,245, 1,117, 18, 6, 3, 53, 0, 0,255,255, 0,201, + 0, 0, 5,106, 5,213, 18, 6, 0, 46, 0, 0, 0, 1, 0, 54,255,228, 5, 58, 5,213, 0, 15, 0, 38, 64, 20, 11,149, 6,129, + 9, 1,149, 0,140, 9, 17, 4, 10, 28, 7, 11, 28, 6, 1, 16, 16,212,212,236,212,236,236, 49, 0, 47,244,236, 16,244,236, 48, + 23, 53, 54, 55, 18, 25, 1, 33, 17, 35, 17, 33, 21, 16, 3, 6, 54,212, 67,117, 3,120,202,254, 27,132, 98, 28,167, 46,168, 1, + 37, 2, 53, 1, 26,250, 43, 5, 43,212,254, 24,254,170,253, 0,255,255, 0,201, 0, 0, 6, 31, 5,213, 18, 6, 0, 48, 0, 0, +255,255, 0,201, 0, 0, 5, 59, 5,213, 18, 6, 0, 43, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 18, 6, 0, 50, 0, 0, + 0, 1, 0,201, 0, 0, 5, 59, 5,213, 0, 7, 0, 31, 64, 16, 4,149, 7,129, 2, 6, 9, 4, 3, 28, 0, 4, 28, 7, 4, 8, + 16,252,236,212,236,236, 49, 0, 47, 60,244,236, 48, 1, 17, 35, 17, 33, 17, 35, 17, 5, 59,202,253, 34,202, 5,213,250, 43, 5, + 43,250,213, 5,213, 0, 0, 0,255,255, 0,201, 0, 0, 4,141, 5,213, 18, 6, 0, 51, 0, 0,255,255, 0,115,255,227, 5, 39, + 5,240, 18, 6, 0, 38, 0, 0,255,255,255,250, 0, 0, 4,233, 5,213, 18, 6, 0, 55, 0, 0, 0, 1, 0, 35,255,227, 4,189, + 5,213, 0, 17, 0, 65, 64, 14, 66, 6,149, 5,140, 16, 13,129, 18, 19, 17, 6, 13, 18, 16,212,196,212,196, 49, 0, 16,228, 50, +244,236, 48, 75, 83, 88, 64, 18, 15, 17, 0, 13, 12, 16, 17, 17, 17, 0, 15, 17, 12, 14, 17, 13, 13, 12, 5, 7, 16,236, 16,236, + 7, 16,236, 8, 16,236, 89, 37, 6, 7, 6, 43, 1, 53, 51, 50, 55, 54, 63, 1, 1, 51, 9, 1, 51, 2,143, 22, 31,103,227, 77, + 63,140, 49, 14, 8, 45,254, 33,217, 1,115, 1,117,217,181, 51, 37,122,170, 75, 22, 18,106, 4,107,252,148, 3,108, 0, 0, 0, + 0, 3, 0,115, 0, 0, 5,217, 5,213, 0, 8, 0, 17, 0, 39, 0, 59, 64, 31, 17, 0,149, 29, 26, 27,129, 39, 9, 8,149, 37, + 18, 39, 41, 16, 13, 25, 33, 18, 0, 27, 28, 37, 17, 28, 4, 25, 22, 16, 40, 16,252,236,212, 60, 60,252, 60, 60,212,236,236, 49, + 0, 47,220, 60,236, 50, 16,244,220, 60,236, 50, 48, 1, 6, 7, 6, 21, 20, 23, 22, 23, 51, 54, 55, 54, 53, 52, 39, 38, 39, 3, + 38, 39, 38, 17, 16, 55, 54, 55, 53, 51, 21, 22, 23, 22, 17, 16, 7, 6, 7, 21, 35, 2,194,150, 98,130,130, 98,150,202,150, 98, +128,128, 98,150,202,244,158,189,189,157,245,202,244,157,188,188,157,244,202, 4,142, 21, 87,115,198,197,115, 87, 21, 21, 87,115, +197,198,115, 87, 21,252, 16, 22,134,160, 1, 15, 1, 15,161,135, 22,159,159, 23,134,161,254,241,254,242,161,134, 23,157, 0, 0, +255,255, 0, 61, 0, 0, 5, 59, 5,213, 18, 6, 0, 59, 0, 0, 0, 1, 0,201,254, 86, 6, 4, 5,213, 0, 11, 0, 40, 64, 21, + 6, 2,129, 11,189, 8, 4,149, 1, 13, 0, 28, 9, 6, 28, 7, 3, 28, 2, 4, 12, 16,252,236,212,236,212,236,204, 49, 0, 47, +236, 50,236,244, 60, 48, 41, 1, 17, 51, 17, 33, 17, 51, 17, 51, 17, 35, 5, 59,251,142,202, 2,222,202,201,201, 5,213,250,213, + 5, 43,250,213,253,172, 0, 0, 0, 1, 0,175, 0, 0, 4,179, 5,213, 0, 16, 0, 35, 64, 18, 2,149, 12,173, 14, 7,129, 0, + 18, 4, 1, 14, 28, 15, 8, 28, 7, 17, 16,220,236,212,236, 50,236, 49, 0, 47,228, 50,244,236, 48, 33, 17, 33, 34, 39, 38, 53, + 17, 51, 17, 20, 22, 51, 33, 17, 51, 17, 3,232,254, 95,186,113,109,201,124,124, 1,120,203, 2,199,119,114,238, 1, 55,254,217, +159,158, 2,100,250, 43, 0, 0, 0, 1, 0,201, 0, 0, 7, 57, 5,213, 0, 11, 0, 40, 64, 21, 10, 2, 6,129, 0, 8,149, 5, + 13, 4, 2, 28, 3, 10, 28, 11, 7, 28, 6, 4, 12, 16,252,236,212,252,212,236,236, 49, 0, 47,236, 50,244, 60,196, 48, 37, 33, + 17, 51, 17, 33, 17, 51, 17, 33, 17, 51, 4,102, 2, 9,202,249,144,202, 2, 9,202,170, 5, 43,250, 43, 5,213,250,213, 4,221, + 0, 1, 0,201,254, 86, 8, 2, 5,213, 0, 15, 0, 49, 64, 26, 6, 10, 2,129, 15,189, 12, 8, 4,149, 1, 17, 0, 28, 13, 10, + 28, 11, 6, 28, 7, 3, 28, 2, 4, 16, 16,252,236,212,252,212,236,212,236,204, 49, 0, 47,236, 50, 50,236,244, 60,196, 48, 41, + 1, 17, 51, 17, 33, 17, 51, 17, 33, 17, 51, 17, 51, 17, 35, 7, 57,249,144,202, 2, 9,202, 2, 9,202,201,201, 5,213,250,213, + 4,221,251, 35, 5, 43,250,213,253,172, 0, 0, 0, 2, 0, 50, 0, 0, 6, 24, 5,213, 0, 12, 0, 23, 0, 42, 64, 22, 2,149, + 3,129, 0, 18,149, 5,173, 19,149, 0, 16, 13, 25, 9, 18, 4, 28, 1, 3, 24, 16,204,220,236, 50,212,236,204, 49, 0, 47,236, +244,236, 16,244,236, 48, 33, 17, 33, 53, 33, 17, 33, 50, 4, 21, 20, 4, 35, 1, 52, 39, 38, 35, 33, 17, 33, 50, 55, 54, 1,245, +254, 61, 2,141, 1, 78,251, 1, 16,254,240,251, 1, 54, 79, 78,163,254,188, 1, 68,161, 80, 79, 5, 43,170,253,154,218,222,221, +218, 1,183,139, 68, 67,253,221, 68, 67, 0, 0,255,255, 0,201, 0, 0, 6, 70, 5,213, 16, 39, 0, 44, 4,179, 0, 0, 17, 6, + 3, 73, 0, 0, 0, 13, 64, 6, 27, 4, 1, 28, 0, 21, 16,220,252,236, 49, 0, 0, 2, 0,201, 0, 0, 4,236, 5,213, 0, 10, + 0, 21, 0, 36, 64, 19, 5,149, 13,173, 11,129, 6,149, 21, 23, 0, 25, 17, 5, 12, 28, 11, 4, 22, 16,252,236, 50,212,236,204, + 49, 0, 47,236,228,244,236, 48, 1, 52, 39, 38, 35, 33, 17, 33, 50, 55, 54, 1, 51, 17, 33, 50, 4, 21, 20, 4, 35, 33, 4, 23, + 79, 78,163,254,188, 1, 68,163, 78, 79,252,178,202, 1, 78,251, 1, 16,254,240,251,253,232, 1,183,139, 68, 67,253,221, 68, 67, + 4,168,253,154,218,222,221,218, 0, 1, 0,111,255,227, 5, 35, 5,240, 0, 36, 0, 58, 64, 32, 1,149, 2,173, 37, 11,161, 12, +174, 7,149, 16,145, 37, 29,161, 28,174, 33,149, 24,140, 37, 38, 0, 3, 25, 20, 2, 29, 12, 37, 16,220, 60,204,212,236, 50,204, + 49, 0, 16,244,236,244,236, 16,244,236,244,236, 16,244,236, 48, 1, 33, 53, 33, 38, 39, 38, 33, 34, 7, 6, 7, 53, 54, 55, 54, + 51, 32, 23, 22, 17, 16, 7, 6, 33, 34, 39, 38, 39, 53, 22, 23, 22, 51, 32, 55, 54, 4, 78,253, 70, 2,178, 25,103,136,255, 0, +130,116,115,102,104,119,118,134, 1, 83,195,195,195,195,254,173,132,118,119,106,102,115,116,130, 1, 0,136,129, 2,199,170,198, +119,156, 47, 47, 95,213, 71, 35, 36,208,207,254,152,254,153,208,207, 36, 36, 72,211, 95, 47, 47,157,147, 0, 0, 0, 2, 0,211, +255,227, 7,204, 5,240, 0, 15, 0, 38, 0, 56, 64, 31, 0,149, 20,145, 39, 8,149, 28,140, 39, 33,149, 38,173, 36,129, 35, 40, + 12, 25, 24, 4, 25, 32, 16, 33, 37, 28, 36, 4, 39, 16,252,236, 50,212, 60,236,212,236,204, 49, 0, 47,228,244,236, 16,244,236, + 16,244,236, 48, 1, 34, 7, 6, 17, 16, 23, 22, 51, 50, 55, 54, 17, 16, 39, 38, 1, 18, 55, 54, 33, 32, 23, 22, 17, 16, 7, 6, + 33, 32, 39, 38, 3, 35, 17, 35, 17, 51, 17, 5, 26,220,130,129,129,130,220,220,128,129,129,128,252,119, 30,151,189, 1, 59, 1, + 58,188,188,188,188,254,198,254,197,189,179, 9,201,202,202, 5, 76,164,164,254,229,254,230,164,164,164,164, 1, 26, 1, 27,164, +164,254, 37, 1, 5,168,210,210,211,254,158,254,159,210,211,210,200, 1, 74,253, 57, 5,213,253,156, 0, 0, 0, 0, 2, 0, 59, + 0, 0, 4,198, 5,213, 0, 19, 0, 28, 0, 69, 64, 22, 66, 21,149, 6,129, 16, 11,149, 27,173, 9, 16, 30, 4, 10, 20, 28, 7, + 24, 25, 3, 29, 16,212,236,212,236, 50,236, 49, 0, 47, 60,244,236, 16,244,236, 48, 75, 83, 88, 64, 13, 13, 12, 11, 3, 10, 14, + 17, 17, 15, 17, 16, 17, 16, 5, 7, 16,236, 16,236, 17, 23, 57, 89, 1, 46, 1, 53, 52, 54, 41, 1, 17, 35, 17, 35, 34, 6, 7, + 3, 35, 19, 62, 1, 1, 35, 34, 6, 21, 20, 22, 59, 1, 2, 2,125,131,252, 1, 0, 1,200,202,220,120,139, 74,191,217,205, 62, +123, 2, 59,254,146,149,149,146,254, 2,188, 36,186,141,216,214,250, 43, 2,119, 98,150,254,129, 1,152,126,144, 2,137,133,131, +131,135, 0, 0,255,255, 0,123,255,227, 4, 45, 4,123, 18, 6, 0, 68, 0, 0, 0, 2, 0,113,255,227, 4,117, 5,240, 0, 28, + 0, 45, 0, 73, 64, 40, 29, 22, 44,185, 6, 46, 0,134, 28,136, 2,185, 26, 46, 37,185, 14,140, 46, 29, 40, 22, 33, 4, 47, 69, + 28, 40, 18, 10, 81, 18, 4, 18, 24, 33, 18, 18, 69, 46, 16,252,236,212,236, 16,244,236,196,236, 17, 18, 57, 18, 57, 49, 0, 16, +244,236, 16,212,236,244,236, 16,212,236, 57, 57, 48, 1, 38, 35, 34, 21, 20, 5, 22, 23, 22, 17, 16, 7, 6, 35, 34, 39, 38, 17, + 52, 55, 54, 55, 38, 53, 16, 33, 50, 23, 1, 6, 7, 6, 21, 20, 23, 22, 51, 50, 54, 53, 52, 39, 38, 39, 38, 3,236,102,239,253, + 1, 8,208,117,142,137,137,240,239,138,137,137, 53, 75,156, 1,185,221,120,254, 24, 68, 55, 86, 85, 86,149,147,172, 91, 97,126, + 64, 5, 17, 70,117, 92, 48, 37,112,135,254,235,254,247,156,157,157,156, 1, 19,204,165, 64, 36, 79,141, 1, 16, 70,254, 40, 29, + 73,113,204,203,114,115,232,190,199, 96,103, 11, 6, 0, 0, 0, 0, 3, 0,186, 0, 0, 4, 62, 4, 96, 0, 10, 0, 21, 0, 38, + 0, 45, 64, 24, 0,169, 12, 38, 11,169, 22,188, 1,169, 38, 17, 18, 26, 40, 6, 18, 33, 0, 11, 8, 22, 70, 39, 16,252,236, 50, +212,236,204,212,236, 49, 0, 47,236,244,236, 16,212,236, 48, 1, 17, 33, 50, 55, 54, 53, 52, 39, 38, 35, 1, 17, 51, 50, 55, 54, + 53, 52, 39, 38, 35, 37, 33, 50, 22, 21, 20, 7, 6, 7, 30, 1, 21, 20, 7, 6, 35, 33, 1,114, 1, 6,129, 66, 63, 63, 69,126, +254,250,242,117, 61, 58, 58, 61,117,254, 86, 1,182,197,212, 54, 54,106,127,140,116,115,214,254, 57, 2, 2,254,151, 46, 44, 91, + 94, 41, 45, 1,197,254,218, 38, 36, 75, 72, 36, 37,153,144,133,103, 60, 61, 15, 24,152,114,150, 82, 82, 0, 0, 0, 1, 0,186, + 0, 0, 3,208, 4, 96, 0, 5, 0, 25, 64, 12, 4,169, 1,188, 0, 7, 2, 4, 8, 1, 70, 6, 16,252,252,204,196, 49, 0, 47, +244,236, 48, 51, 17, 33, 21, 33, 17,186, 3, 22,253,162, 4, 96,170,252, 74, 0, 0, 2, 0, 50,254, 86, 5, 46, 4, 96, 0, 7, + 0, 23, 0, 53, 64, 15, 2, 8, 14, 25, 19, 8, 16, 23, 3, 8, 13, 20, 8, 23, 24, 16,220,236,212,236, 16,212,236,204,212,236, + 49, 0, 64, 12, 3,169, 13,188, 18, 22,189, 15, 0, 23,169, 20, 47,236, 50, 50,236, 50,244,236, 48, 37, 33, 17, 33, 21, 16, 7, + 6, 5, 54, 55, 54, 17, 53, 33, 17, 51, 17, 35, 17, 33, 17, 35, 17, 1,166, 2, 24,254,123,118, 20,254,237, 91, 40, 98, 2,245, +184,184,252,116,184,153, 3, 46,134,254,109,223, 17, 37, 40, 85,211, 1,163,212,252, 57,253,189, 1,170,254, 86, 2, 67, 0, 0, +255,255, 0,113,255,227, 4,127, 4,123, 18, 6, 0, 72, 0, 0, 0, 1, 0, 50, 0, 0, 5,173, 4, 96, 0, 21, 0,109, 64, 21, + 66, 2, 20, 16,188, 14, 8, 12,169, 0, 18, 6, 10, 14, 23, 8, 21, 8, 11, 20, 22, 16,212, 60,252, 60,196, 49, 0, 47, 60, 60, +212, 60,236, 50, 16,244, 60, 60, 48, 75, 83, 88, 64, 36, 4, 17, 7, 2, 1, 5, 17, 6, 7, 6, 4, 17, 1, 3, 17, 2, 2, 1, + 15, 17, 18, 13, 12, 16, 17, 17, 18, 17, 15, 17, 12, 14, 17, 13, 13, 12, 5, 7, 16,236, 16,236, 7, 16,236, 8, 16,236, 5, 7, + 16,236, 16,236, 7, 16,236, 8, 16,236, 89, 1, 51, 1, 51, 9, 1, 35, 1, 35, 17, 35, 17, 35, 1, 35, 9, 1, 51, 1, 51, 17, + 51, 3, 75,113, 1, 2,196,254,215, 1, 84,197,254,213,114,183,114,254,213,197, 1, 84,254,215,196, 1, 2,113,183, 2,161, 1, +191,253,245,253,171, 2, 9,253,247, 2, 9,253,247, 2, 85, 2, 11,254, 65, 1,191, 0, 0, 0, 0, 1, 0,133,255,227, 3,200, + 4,124, 0, 49, 0, 60, 64, 33, 38,134, 39,136, 34,185, 42,184, 50, 24,169, 25, 50, 11,134, 10,136, 15,185, 6,140, 50, 30, 18, + 46, 51, 19, 18, 3, 25, 39, 11, 50, 16,220,196,196,212,236,204,212,236, 49, 0, 16,244,236,252,236, 16,212,236, 16,244,236,252, +236, 48, 1, 30, 1, 21, 20, 4, 35, 34, 39, 38, 39, 53, 22, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 43, 1, 53, 51, 50, 55, 54, + 53, 52, 39, 38, 35, 34, 7, 6, 7, 53, 62, 1, 51, 50, 23, 22, 21, 20, 7, 6, 2,194,124,138,254,254,238, 80, 85, 84, 90, 71, + 85, 85, 93,151, 85, 84, 78, 72,137,148,155,116, 67, 68, 70, 69,119, 71, 81, 80, 97, 98,170, 76,196,113,114, 60, 60, 2, 92, 24, +146,108,173,182, 14, 14, 28,171, 37, 19, 18, 56, 56, 90, 88, 56, 51,152, 44, 45, 70, 64, 46, 46, 13, 13, 29,167, 24, 24, 78, 79, +141, 93, 64, 65, 0, 1, 0,193, 0, 0, 4,128, 4, 96, 0, 9, 0, 63, 64, 21, 66, 8, 3, 9, 6,188, 2, 5, 11, 70, 9, 4, + 7, 3, 8, 0, 7, 8, 6, 70, 10, 16,252,236,212,236, 17, 57, 57,236, 49, 0, 47, 60,228, 50, 57, 57, 48, 75, 83, 88, 64, 10, + 3, 17, 9, 9, 8, 8, 17, 4, 4, 3, 7, 16,236, 7, 16,236, 89, 1, 17, 35, 17, 1, 35, 17, 51, 17, 1, 4,128,183,253,228, +236,183, 2, 27, 4, 96,251,160, 3,131,252,125, 4, 96,252,127, 3,129, 0, 0,255,255, 0,193, 0, 0, 4,128, 6, 20, 16, 39, + 2, 49, 0,160,255,204, 18, 6, 3, 85, 0, 0, 0, 1, 0,191, 0, 0, 4,161, 4, 96, 0, 10, 0, 70, 64, 17, 66, 3, 0,188, + 7, 10, 12, 5, 1, 4, 6, 8, 1, 8, 0, 70, 11, 16,252,236, 50,212,196, 17, 57,196, 49, 0, 47, 60,228, 50, 48, 75, 83, 88, + 64, 16, 7, 17, 6, 8, 17, 5, 6, 5, 2, 17, 5, 3, 17, 4, 5, 4, 5, 7, 16,236, 4, 16,236, 7, 16,236, 5, 16,236, 89, + 19, 51, 17, 1, 51, 9, 1, 35, 1, 17, 35,191,185, 2, 37,235,253,174, 2,107,240,253,199,185, 4, 96,254, 29, 1,227,253,244, +253,172, 2, 35,253,221, 0, 0, 0, 1, 0, 46,255,227, 4,115, 4, 96, 0, 15, 0, 38, 64, 20, 11,169, 6,188, 9, 1,169, 0, +140, 9, 17, 70, 10, 8, 7, 11, 8, 6, 1, 16, 16,212,212,236,212,236,236, 49, 0, 47,244,236, 16,244,236, 48, 23, 53, 54, 55, + 54, 17, 53, 33, 17, 35, 17, 33, 21, 16, 3, 6, 46,179, 59, 98, 2,245,184,254,123,118, 94, 29,153, 27,127,207, 1,167,212,251, +160, 3,199,134,254,146,254,252,207, 0, 0, 0, 0, 1, 0,193, 0, 0, 5, 72, 4, 96, 0, 12, 0, 77, 64, 22, 66, 10, 7, 2, + 3, 8, 3, 0,188, 9, 6, 12, 14, 70, 7, 8, 4, 10, 8, 0, 70, 13, 16,252,236,220,236,236, 49, 0, 47, 60,196,236, 50, 17, + 23, 57, 48, 75, 83, 88, 64, 18, 2, 17, 8, 10, 9, 3, 17, 7, 8, 7, 2, 17, 9, 1, 17, 10, 10, 9, 5, 7, 16,237, 16,237, + 7, 16,237, 8, 16,237, 89, 19, 33, 9, 1, 33, 17, 35, 17, 1, 35, 1, 17, 35,193, 1, 6, 1, 62, 1, 63, 1, 4,178,254,203, +184,254,202,178, 4, 96,253, 18, 2,238,251,160, 3,176,253, 39, 2,217,252, 80, 0, 1, 0,193, 0, 0, 4,136, 4, 96, 0, 11, + 0, 39, 64, 20, 9,169, 2, 4, 0,188, 7, 11, 13, 70, 8, 4, 8, 5, 9, 1, 8, 0, 70, 12, 16,252,236, 50,220,236, 50,236, + 49, 0, 47, 60,228, 50,220,236, 48, 19, 51, 17, 33, 17, 51, 17, 35, 17, 33, 17, 35,193,184, 2, 87,184,184,253,169,184, 4, 96, +254, 51, 1,205,251,160, 2, 4,253,252, 0, 0,255,255, 0,113,255,227, 4,117, 4,123, 18, 6, 0, 82, 0, 0, 0, 1, 0,193, + 0, 0, 4,136, 4, 96, 0, 7, 0, 40, 64, 16, 4,169, 7,188, 2, 6, 3, 8, 9, 70, 0, 4, 8, 7, 70, 8, 16,252,236,212, +236,236, 49, 0, 47, 60,244,236, 48, 64, 5,160, 9,128, 9, 2, 1, 93, 1, 17, 35, 17, 33, 17, 35, 17, 4,136,184,253,169,184, + 4, 96,251,160, 3,198,252, 58, 4, 96, 0, 0,255,255, 0,186,254, 86, 4,164, 4,123, 18, 6, 0, 83, 0, 0,255,255, 0,113, +255,227, 3,231, 4,123, 18, 6, 0, 70, 0, 0, 0, 1, 0, 5, 0, 0, 4, 54, 4, 96, 0, 7, 0, 37, 64, 13, 3, 7,169, 0, +188, 5, 9, 1, 3, 8, 0, 6, 8, 16,212,204,252,204,204, 49, 0, 47,244,236, 50, 48, 64, 5,160, 9,128, 9, 2, 1, 93, 19, + 33, 21, 33, 17, 35, 17, 33, 5, 4, 49,254, 66,181,254, 66, 4, 96,170,252, 74, 3,182, 0, 0,255,255, 0, 61,254, 86, 4,127, + 4, 96, 18, 6, 0, 92, 0, 0, 0, 3, 0,113,254, 86, 6,228, 5,213, 0, 15, 0, 52, 0, 67, 0, 64, 64, 35, 57, 12,185, 39, + 28,184, 33,151, 68, 64, 4,185, 47, 21,140, 16,189, 68, 69, 69, 53, 18, 43, 17, 8, 33, 8, 51, 61, 34, 0, 18, 25, 69, 68, 16, +252,236,212, 60, 60,252, 60, 60,212,236,236, 49, 0, 16,236,244, 60,236, 50, 16,228,244, 60,236, 50, 48, 1, 20, 23, 22, 51, 50, + 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 1, 17, 6, 7, 6, 35, 34, 39, 38, 17, 16, 18, 51, 50, 23, 22, 23, 17, 51, 17, 54, 55, + 54, 51, 50, 23, 22, 17, 16, 7, 6, 35, 34, 39, 38, 39, 17, 1, 52, 39, 38, 35, 34, 7, 6, 21, 20, 22, 51, 50, 55, 54, 1, 52, + 68, 67,133,133, 69, 68, 68, 69,133,133, 67, 68, 2, 26, 45, 77, 76,101,201,116,117,232,202,100, 77, 76, 46,185, 46, 77, 76,100, +203,115,116,116,116,202,102, 76, 77, 44, 2, 28, 67, 68,133,134, 69, 69,138,134,133, 68, 67, 2, 47,214,109,109,109,110,213,213, +110,109,109,109,251, 81, 2, 57, 83, 44, 45,155,156, 1, 17, 1, 22, 1, 58, 43, 44, 83, 2, 4,253,252, 83, 44, 43,157,157,254, +234,254,239,156,155, 43, 44, 83,253,201, 3,217,214,109,109,109,110,213,212,220,109,109, 0, 0,255,255, 0, 59, 0, 0, 4,121, + 4, 96, 18, 6, 0, 91, 0, 0, 0, 1, 0,193,254, 86, 5, 64, 4, 96, 0, 11, 0, 40, 64, 21, 6, 2,188, 11,189, 8, 4,169, + 1, 13, 0, 8, 9, 6, 8, 7, 3, 8, 2, 70, 12, 16,252,236,212,236,212,236,204, 49, 0, 47,236, 50,236,244, 60, 48, 41, 1, + 17, 51, 17, 33, 17, 51, 17, 51, 17, 35, 4,136,252, 57,184, 2, 87,184,184,184, 4, 96,252, 57, 3,199,252, 57,253,189, 0, 0, + 0, 1, 0,150, 0, 0, 4, 0, 4, 96, 0, 17, 0, 34, 64, 17, 2,169, 13, 15, 7,188, 0, 19, 70, 1, 15, 8, 16, 8, 8, 7, + 18, 16,220,236,212,236, 50,236, 49, 0, 47,228, 50,212,236, 48, 33, 17, 33, 34, 39, 38, 61, 1, 51, 21, 20, 23, 22, 51, 33, 17, + 51, 17, 3, 72,254,169,153,102, 92,184, 52, 53,104, 1, 41,184, 2, 9, 95, 86,184,234,211,117, 59, 59, 1,190,251,160, 0, 0, + 0, 1, 0,193, 0, 0, 6, 58, 4, 96, 0, 11, 0, 40, 64, 21, 10, 2, 6,188, 0, 8,169, 5, 13, 70, 2, 8, 3, 10, 8, 11, + 7, 8, 6, 70, 12, 16,252,236,212,252,212,236,236, 49, 0, 47,236, 50,244, 60,196, 48, 37, 33, 17, 51, 17, 33, 17, 51, 17, 33, + 17, 51, 3,217, 1,169,184,250,135,184, 1,168,184,153, 3,199,251,160, 4, 96,252, 57, 3,140, 0, 1, 0,193,254, 86, 6,242, + 4, 96, 0, 15, 0, 49, 64, 26, 6, 10, 2,188, 15,189, 12, 8, 4,169, 1, 17, 0, 8, 13, 10, 8, 11, 6, 8, 7, 3, 8, 2, + 70, 16, 16,252,236,212,252,212,236,212,236,204, 49, 0, 47,236, 50, 50,236,244, 60,196, 48, 41, 1, 17, 51, 17, 33, 17, 51, 17, + 33, 17, 51, 17, 51, 17, 35, 6, 58,250,135,184, 1,168,184, 1,169,184,184,184, 4, 96,252, 57, 3,140,252,116, 3,199,252, 57, +253,189, 0, 0, 0, 2, 0, 42, 0, 0, 5, 46, 4, 96, 0, 10, 0, 25, 0, 42, 64, 22, 12,169, 13,188, 25, 5,169, 15, 6,169, + 25, 27, 69, 0, 18, 20, 5, 14, 8, 11, 13, 26, 16,204,220,236, 50,212,236,236, 49, 0, 47,236,212,236, 16,244,236, 48, 1, 52, + 39, 38, 35, 33, 17, 33, 50, 55, 54, 1, 33, 53, 33, 17, 33, 50, 23, 22, 21, 20, 7, 6, 35, 33, 4,106, 62, 67,128,254,249, 1, + 7,129, 66, 62,253, 64,254,128, 2, 56, 1, 15,208,121,116,116,115,214,254, 57, 1, 76, 94, 42, 46,254,151, 46, 43, 2,212,154, +254, 59, 85, 82,168,168, 82, 82,255,255, 0,193, 0, 0, 5,105, 4, 96, 16, 38, 3,105, 0, 0, 17, 7, 0,243, 3,240, 0, 0, + 0, 13, 64, 6, 29, 70, 25, 8, 24, 18, 16,220,252,236, 49, 0, 0, 2, 0,193, 0, 0, 4, 69, 4, 96, 0, 10, 0, 23, 0, 36, + 64, 19, 5,169, 13, 11,188, 6,169, 23, 25, 69, 0, 18, 18, 5, 12, 8, 11, 70, 24, 16,252,236, 50,212,236,236, 49, 0, 47,236, +228,212,236, 48, 1, 52, 39, 38, 35, 33, 17, 33, 50, 55, 54, 1, 51, 17, 33, 50, 23, 22, 21, 20, 7, 6, 35, 33, 3,129, 62, 67, +128,254,249, 1, 7,129, 66, 62,253, 64,184, 1, 15,208,121,116,116,115,214,254, 57, 1, 76, 94, 42, 46,254,151, 46, 43, 3,110, +254, 59, 85, 82,168,168, 82, 82, 0, 1, 0,113,255,227, 3,231, 4,123, 0, 28, 0, 0, 1, 34, 7, 21, 54, 51, 50, 23, 22, 23, + 33, 21, 33, 6, 7, 6, 35, 34, 39, 21, 22, 51, 32, 55, 54, 17, 16, 39, 38, 1,180,166,157,161,154,230, 92, 34, 12,254, 52, 1, +212, 13,158, 85,120,157,158,147,189, 1, 11,148,135,151,148, 4,123, 70,172, 86,180, 65, 87,143,244, 94, 51, 86,170, 72,172,157, + 1, 3, 1, 17,157,158, 0, 0, 0, 2, 0,193,255,227, 6, 16, 4,123, 0, 14, 0, 36, 0, 56, 64, 31, 0,185, 19,184, 37, 8, +185, 26,140, 37, 31,169, 36, 34,188, 33, 38, 69, 11, 18, 22, 4, 18, 30, 15, 31, 35, 8, 34, 70, 37, 16,252,236, 50,212, 60,236, +212,236,236, 49, 0, 47,228,212,236, 16,244,236, 16,244,236, 48, 1, 34, 7, 6, 21, 20, 23, 22, 51, 50, 54, 53, 52, 39, 38, 1, + 54, 55, 54, 51, 50, 0, 17, 16, 7, 6, 35, 34, 39, 38, 39, 35, 17, 35, 17, 51, 17, 4, 14,148, 86, 86, 85, 86,149,147,172, 86, + 86,253,113, 19,112,137,240,240, 1, 18,137,137,240,241,136,127, 9,148,184,184, 3,223,115,116,201,201,116,115,232,200,199,116, +117,254,194,190,128,156,254,200,254,236,254,237,156,157,157,145,248,253,247, 4, 96,254, 65, 0, 0, 2, 0, 50, 0, 0, 4, 15, + 4, 96, 0, 22, 0, 33, 0, 68, 64, 21, 66, 24,169, 7,188, 18, 12,169, 32, 10, 18, 35, 70, 11, 23, 8, 8, 28, 18, 3, 34, 16, +212,236,212,236, 50,236, 49, 0, 47, 60,212,236, 16,244,236, 48, 75, 83, 88, 64, 13, 15, 14, 13, 3, 12, 16, 17, 19, 17, 17, 18, + 19, 18, 5, 7, 16,236, 16,236, 17, 23, 57, 89, 1, 46, 1, 53, 52, 55, 54, 51, 33, 17, 35, 17, 35, 34, 7, 6, 7, 3, 35, 19, + 54, 55, 54, 1, 35, 34, 7, 6, 21, 20, 23, 22, 59, 1, 1,181,106,112,107,108,217, 1,132,185,169, 97, 59, 59, 63,162,195,174, + 53, 52, 53, 1,216,198,119, 63, 64, 64, 63,119,198, 2, 13, 27,140,105,162, 81, 80,251,160, 1,217, 37, 36,113,254,225, 1, 50, + 94, 54, 54, 1,201, 42, 42, 84, 83, 43, 43, 0,255,255, 0,113,255,227, 4,127, 6,107, 16, 38, 0, 67, 90, 5, 18, 6, 3, 82, + 0, 0, 0, 0,255,255, 0,113,255,227, 4,127, 6, 16, 16, 39, 0,106, 0,150, 0, 0, 18, 6, 3, 82, 0, 0, 0, 1, 0, 40, +254, 86, 4,107, 6, 20, 0, 40, 0, 0, 19, 35, 53, 51, 53, 51, 21, 33, 21, 33, 17, 54, 55, 54, 51, 50, 23, 22, 21, 17, 20, 7, + 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 38, 35, 34, 7, 6, 21, 17, 35,193,153,153,185, 1, 70,254,186, 66, 89, 90,117,185, +107, 99, 82, 81,181, 70, 49,110, 33, 38,124,124,154, 81, 86,185, 5, 4,125,147,147,125,254, 87,101, 50, 50,119,110,242,253,159, +214, 96, 96,156, 48, 55,147, 2, 91,159,158, 95,101,158,253,222,255,255, 0,186, 0, 0, 3,216, 6,109, 16, 39, 0,118, 0,134, + 0, 7, 18, 6, 3, 80, 0, 0, 0, 1, 0,113,255,227, 3,231, 4,123, 0, 28, 0, 58, 64, 33, 2,134, 3,136, 5, 19,134, 18, +136, 16,185, 21, 10,169, 11,187, 5,185, 0,184, 21,140, 29, 10, 12, 9, 18, 18, 2, 72, 25, 69, 29, 16,252,228, 50,252, 50,204, + 49, 0, 16,228,244,236,244,238, 16,254,244,238, 16,245,238, 48, 1, 50, 23, 21, 38, 35, 34, 7, 6, 7, 33, 21, 33, 22, 23, 22, + 51, 50, 55, 21, 6, 35, 32, 39, 38, 17, 16, 55, 54, 2,164,166,157,161,154,230, 92, 34, 12, 1,204,254, 44, 13,158, 85,120,157, +158,147,188,254,243,148,134,151,149, 4,123, 70,172, 86,180, 65, 87,143,244, 94, 51, 86,170, 72,173,157, 1, 2, 1, 17,157,158, +255,255, 0,111,255,227, 3,199, 4,123, 18, 6, 0, 86, 0, 0,255,255, 0,193, 0, 0, 1,121, 6, 20, 18, 6, 0, 76, 0, 0, +255,255,255,244, 0, 0, 2, 70, 6, 16, 18, 38, 0,243, 0, 0, 17, 7, 0,106,255, 29, 0, 0, 0, 8,180, 0, 10, 7, 1, 7, + 43, 49, 0, 0,255,255,255,219,254, 86, 1,121, 6, 20, 18, 6, 0, 77, 0, 0, 0, 2, 0, 46,255,227, 6,190, 4, 96, 0, 23, + 0, 34, 0, 0, 1, 33, 21, 16, 3, 6, 5, 53, 54, 55, 54, 17, 53, 33, 17, 51, 50, 23, 22, 16, 7, 6, 35, 33, 1, 52, 39, 38, + 43, 1, 17, 51, 50, 55, 54, 3,158,254,152,118, 94,254,204,179, 59, 98, 2,216,171,208,121,116,116,115,214,254,157, 2, 92, 62, + 67,128,163,163,129, 66, 62, 3,199,134,254,146,254,252,207, 29,153, 27,127,207, 1,167,212,254, 59, 85, 82,254,176, 82, 82, 1, + 76, 94, 42, 46,254,151, 46, 43, 0, 2, 0,193, 0, 0, 6,188, 4, 96, 0, 10, 0, 30, 0, 0, 1, 52, 39, 38, 43, 1, 17, 51, + 50, 55, 54, 5, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 51, 50, 23, 22, 16, 7, 6, 35, 5,248, 62, 66,129,163,163,129, 66, + 62,253,164,253,221,184,184, 2, 35,184,171,208,121,116,116,115,214, 1, 76, 95, 42, 45,254,151, 46, 43,242, 2, 2,253,254, 4, + 96,254, 59, 1,197,254, 59, 85, 82,254,176, 82, 82, 0, 0, 0, 0, 1, 0, 40, 0, 0, 4,107, 6, 20, 0, 30, 0, 0, 19, 35, + 53, 51, 53, 51, 21, 33, 21, 33, 17, 54, 55, 54, 51, 50, 23, 22, 21, 17, 35, 17, 52, 38, 35, 34, 7, 6, 21, 17, 35,193,153,153, +185, 1, 70,254,186, 66, 89, 90,117,189,103, 99,184,124,124,152, 83, 86,185, 5, 4,125,147,147,125,254, 87,101, 50, 50,119,115, +237,253,179, 2, 71,159,158, 95, 98,161,253,222,255,255, 0,191, 0, 0, 4,161, 6,109, 16, 39, 0,118, 0,228, 0, 7, 18, 6, + 3, 87, 0, 0,255,255, 0,193, 0, 0, 4,128, 6,107, 16, 38, 0, 67,100, 5, 18, 6, 3, 85, 0, 0, 0, 0,255,255, 0, 61, +254, 86, 4,127, 6, 20, 16, 38, 2, 49, 94,204, 18, 6, 3, 96, 0, 0, 0, 0, 0, 1, 0,193,254, 86, 4,136, 4, 96, 0, 11, + 0, 0, 33, 17, 35, 17, 33, 17, 51, 17, 33, 17, 51, 17, 2,255,184,254,122,184, 2, 87,184,254, 86, 1,170, 4, 96,252, 58, 3, +198,251,160, 0, 0, 1, 0,115,255,227, 7, 5, 5,213, 0, 52, 0, 0, 1, 22, 51, 50, 55, 54, 61, 1, 51, 21, 20, 23, 22, 51, + 50, 55, 54, 17, 52, 39, 2, 39, 51, 22, 23, 18, 21, 16, 7, 6, 35, 34, 39, 38, 39, 6, 7, 6, 35, 34, 39, 38, 17, 52, 19, 54, + 55, 51, 6, 3, 6, 21, 16, 1,146, 73,125,114, 72, 71,199, 70, 70,116,134, 65, 71, 67,135, 84,250, 95, 56,100,123,123,209,146, +101,100, 39, 39,100,101,146,211,121,123,100, 59, 93,249, 84,135, 67, 1, 90,109,105,104,198,241,241,198,104,105,109,119, 1, 39, +183,159, 1, 65, 70,130,156,254,231,190,254,102,178,177, 94, 94,173,173, 94, 94,177,180, 1,152,201, 1, 14,159,127, 70,254,191, +159,183,254,205,255,255, 0,135,255,226, 6, 40, 4, 96, 16, 2, 2,231, 0, 0,255,255, 0, 33, 0, 0, 4,236, 5,213, 16, 2, + 3,168, 0, 0, 0, 2, 0, 58, 0, 0, 4, 69, 5,213, 0, 19, 0, 30, 0, 0, 1, 17, 33, 50, 23, 22, 16, 7, 6, 35, 33, 17, + 35, 53, 51, 17, 51, 17, 51, 21, 1, 52, 39, 38, 35, 33, 17, 33, 50, 55, 54, 1,121, 1, 15,208,121,116,116,115,214,254, 57,135, +135,184,175, 1, 89, 62, 67,128,254,249, 1, 7,129, 66, 62, 3,209,254,202, 85, 82,254,176, 82, 82, 3,209,143, 1,117,254,139, +143,253,123, 94, 42, 46,254,151, 46, 43, 0, 0, 0, 1, 0,211,255,227, 7, 27, 5,240, 0, 43, 0, 0, 1, 17, 35, 17, 51, 17, + 51, 18, 55, 54, 33, 50, 23, 22, 23, 21, 38, 39, 38, 35, 32, 7, 6, 7, 33, 21, 33, 18, 23, 22, 33, 50, 55, 54, 55, 21, 6, 7, + 6, 35, 32, 39, 38, 3, 1,157,202,202,210, 30,157,195, 1, 83,134,118,119,104,102,115,116,130,255, 0,136,103, 25, 2,178,253, + 70, 7,129,137, 0,255,130,116,115,102,106,119,118,132,254,173,195,186, 9, 2,199,253, 57, 5,213,253,156, 1, 8,167,208, 36, + 35, 71,213, 95, 47, 47,156,119,198,170,254,243,148,157, 47, 47, 95,211, 72, 36, 36,207,198, 1, 79, 0, 0, 0, 0, 1, 0,193, +255,227, 5,129, 4,123, 0, 35, 0, 0, 1, 50, 23, 21, 38, 35, 34, 7, 6, 7, 33, 21, 33, 22, 23, 22, 51, 50, 55, 21, 6, 35, + 32, 39, 38, 39, 35, 17, 35, 17, 51, 17, 51, 54, 55, 54, 4, 62,166,157,161,154,230, 92, 34, 12, 1,204,254, 44, 13,158, 85,120, +157,158,147,188,254,243,148,123, 10,147,184,184,152, 23,122,151, 4,123, 70,172, 86,180, 65, 87,143,244, 94, 51, 86,170, 72,173, +144,228,253,252, 4, 96,254, 51,202,128,158, 0, 0, 2, 0, 16, 0, 0, 6,248, 5,213, 0, 3, 0, 15, 0, 0, 1, 11, 1, 31, + 1, 17, 35, 17, 39, 1, 35, 1, 51, 1, 35, 1, 4,106,230,231,231,102,202,222,254,175,225, 3, 2,229, 3, 1,225,254,175, 3, + 63, 1,192,254, 64,119,172,253,228, 2, 27,114,253,115, 5,213,250, 43, 2,142, 0, 2, 0, 51, 0, 0, 6, 17, 4, 96, 0, 3, + 0, 15, 0, 0, 1, 11, 1, 31, 1, 17, 35, 17, 39, 1, 35, 1, 51, 1, 35, 1, 3,226,192,192,192, 93,184,179,254,226,195, 2, +142,195, 2,141,195,254,226, 2,112, 1, 74,254,182, 87,131,254,106, 1,149, 81,254, 26, 4, 96,251,160, 1,231, 0, 2, 0,201, + 0, 0, 9, 20, 5,213, 0, 3, 0, 23, 0, 0, 1, 11, 1, 23, 5, 33, 17, 35, 17, 51, 17, 33, 1, 51, 1, 35, 1, 7, 17, 35, + 17, 39, 1, 35, 6,134,230,231,231,253,251,253,248,202,202, 2, 95, 1, 60,229, 3, 1,225,254,175,220,202,222,254,175,225, 3, + 63, 1,192,254, 64,119, 1,253, 57, 5,213,253,156, 2,100,250, 43, 2,142,114,253,228, 2, 27,114,253,115, 0, 0, 2, 0,193, + 0, 0, 7,208, 4, 96, 0, 3, 0, 23, 0, 0, 1, 11, 1, 23, 5, 33, 17, 35, 17, 51, 17, 33, 1, 51, 1, 35, 1, 7, 17, 35, + 17, 39, 1, 35, 5,161,192,192,192,254, 45,254,107,184,184, 1,233, 1, 30,195, 2,141,195,254,226,177,184,179,254,226,195, 2, +112, 1, 74,254,182, 87, 50,254, 25, 4, 96,254, 23, 1,233,251,160, 1,231, 81,254,106, 1,149, 81,254, 26, 0, 0, 2, 0,115, + 0, 0, 5,217, 5,213, 0, 23, 0, 26, 0, 0, 1, 17, 35, 17, 6, 7, 6, 17, 35, 16, 55, 54, 55, 1, 33, 1, 22, 23, 22, 17, + 35, 16, 39, 38, 39, 1, 33, 3,139,202,147,100,130,213,189,120,170,254, 81, 5, 18,254, 80,164,116,188,213,128, 96,248, 1, 62, +253,131, 2, 89,253,167, 2, 89, 28,126,164,254,229, 1, 98,210,134, 49, 2,234,253, 19, 50,130,210,254,158, 1, 30,161,122,202, + 2, 40, 0, 0, 0, 2, 0,107, 0, 0, 4,123, 4, 96, 0, 2, 0, 26, 0, 0, 1, 33, 19, 9, 1, 22, 23, 22, 17, 35, 52, 39, + 38, 39, 17, 35, 17, 6, 7, 6, 21, 35, 16, 55, 54, 55, 1, 3, 69,254, 93,209, 2, 8,254,187,107, 75,137,195, 86, 58, 86,184, + 83, 56, 86,194,137, 74,108,254,187, 3,182,254,150, 2, 20,253,204, 38, 86,156,254,236,199,116, 79, 26,254, 92, 1,162, 26, 75, +116,201, 1, 20,156, 85, 39, 2, 52, 0, 0, 0, 0, 2, 0,201, 0, 0, 7,196, 5,213, 0, 30, 0, 33, 0, 0, 9, 1, 33, 1, + 22, 23, 22, 17, 35, 16, 39, 38, 39, 17, 35, 17, 6, 7, 6, 17, 35, 16, 55, 54, 55, 33, 17, 35, 17, 51, 17, 5, 1, 33, 3,239, +254,159, 5, 18,254, 80,164,116,188,213,128, 96,153,202,147,100,130,213,189, 85,110,253,181,202,202, 3,132, 1, 62,253,131, 3, +113, 2,100,253, 19, 50,130,210,254,158, 1, 30,161,122, 32,253,167, 2, 89, 28,126,164,254,229, 1, 98,210, 95, 52,253, 57, 5, +213,253,156,110, 2, 40, 0, 0, 0, 2, 0,193, 0, 0, 6, 46, 4, 96, 0, 30, 0, 33, 0, 0, 9, 1, 33, 1, 22, 23, 22, 17, + 35, 52, 39, 38, 39, 17, 35, 17, 6, 7, 6, 21, 35, 16, 55, 54, 55, 33, 17, 35, 17, 51, 17, 1, 33, 19, 3, 55,254,231, 4, 16, +254,187,107, 75,137,195, 86, 58, 86,184, 83, 56, 86,194,137, 27, 31,254,146,184,184, 3,127,254, 93,209, 2,119, 1,233,253,204, + 38, 86,156,254,236,199,116, 79, 26,254, 92, 1,162, 26, 75,116,201, 1, 20,156, 31, 24,254, 25, 4, 96,254, 23, 1, 63,254,150, + 0, 1, 0,115,254, 86, 4,115, 5,240, 0, 75, 0, 0, 5, 50, 23, 22, 23, 21, 38, 39, 38, 35, 32, 39, 38, 53, 52, 55, 54, 51, + 50, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 43, 1, 53, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 6, 7, 53, 54, 55, 54, 51, 50, + 23, 22, 21, 20, 7, 6, 7, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 2,187, 60, 91, 96, 86, + 71,103,134, 25,254,205,114,163, 63, 71, 99, 46,132, 73,100, 91, 85, 63, 92, 91,167,174,182,149, 79, 79, 81, 82,152, 83,190,114, +115,100,101, 89,230,134,134, 71, 71,131,147, 80, 81,115,152,198, 86, 76, 85, 42, 40, 32, 24,117, 94,209, 6, 6, 38,167, 41, 8, + 10, 67, 96,147,144, 72, 81, 45, 25, 90, 65,121,122, 74, 73,166, 59, 60,112,115, 61, 62, 36, 38,180, 32, 16, 16,104,105,178,124, + 85, 86, 33, 31, 96, 98,134,208,102,136, 36, 42, 36, 27, 67, 87, 39, 32, 0, 0, 0, 2, 0, 91,254,116, 3,200, 6,102, 0, 73, + 0, 80, 0, 0, 37, 50, 55, 54, 53, 52, 39, 38, 43, 1, 53, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 7, 53, 62, 1, 51, + 50, 23, 22, 21, 20, 7, 6, 7, 30, 1, 21, 20, 6, 39, 38, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 51, 50, 23, 22, 23, 21, 38, + 39, 38, 35, 32, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 11, 1, 51, 23, 55, 51, 3, 2, 75, 87, 59, 54, 78, 72,137,148,155,116, + 67, 68, 70, 69,119, 71, 81, 80, 97, 98,170, 76,196,113,114, 60, 60,112,124,138,238,168, 78, 59, 75, 32, 36, 25, 19, 98,106,140, + 82, 46, 93, 59, 59, 88,132, 1,254,254, 96,137, 52, 58, 86, 51,103, 62, 62,245,139,180,180,139,245,153, 49, 45, 91, 76, 56, 51, +152, 44, 45, 70, 64, 46, 46, 13, 13, 29,167, 24, 24, 78, 79,141, 93, 64, 65, 24, 24,146, 96,161,182, 5, 2, 28, 35, 30, 23, 76, + 99, 25, 27, 5, 11, 26,139, 34, 6, 9, 56, 81,152,141, 59, 68, 36, 21, 4, 85, 1,120,245,245,254,136, 0, 0,255,255, 0,115, + 0, 0, 5,219, 5,213, 18, 2, 2,198, 0, 0,255,255, 0,112,254, 86, 4,209, 4, 96, 18, 2, 2,230, 0, 0, 0, 3, 0,115, +255,227, 5,217, 5,240, 0, 9, 0, 20, 0, 35, 0, 0, 1, 5, 39, 5, 18, 23, 22, 32, 55, 54, 17, 38, 39, 38, 35, 34, 7, 6, + 7, 37, 23, 3, 32, 23, 22, 17, 16, 7, 6, 33, 32, 39, 38, 16, 55, 54, 5, 4,254,104,230,254,194, 8,122,129, 1,184,129,120, + 25, 95,129,220,218,131, 98, 24, 1,144,230,159, 1, 58,188,188,188,188,254,198,254,197,188,189,189,188, 2,199,110,200, 90,254, +255,155,164,164,152, 1,174,189,122,164,164,123,188,110,200, 2,217,210,211,254,158,254,159,210,211,210,210, 2,196,211,210, 0, + 0, 3, 0,113,255,227, 4,117, 4,123, 0, 10, 0, 21, 0, 36, 0, 0, 1, 37, 23, 55, 38, 39, 38, 35, 34, 7, 6, 3, 22, 23, + 22, 51, 50, 55, 54, 55, 5, 39, 19, 50, 0, 17, 16, 7, 6, 35, 34, 39, 38, 17, 16, 55, 54, 1, 57, 1, 7,150,213, 17, 62, 86, +147,149, 85, 63, 22, 8, 76, 86,149,147, 86, 76, 9,254,243,150,101,240, 1, 18,137,137,240,241,136,137,137,136, 2,148, 70,120, + 50,129, 85,117,115, 85,254,237,173,101,115,116,103,170, 70,130, 2, 59,254,200,254,236,254,237,156,157,157,156, 1, 19, 1, 20, +156,156, 0, 0, 0, 1, 0, 16, 0, 0, 6, 39, 5,240, 0, 20, 0, 0, 33, 35, 1, 51, 9, 1, 18, 55, 54, 51, 50, 22, 23, 21, + 39, 38, 35, 34, 7, 6, 7, 3, 47,229,253,198,211, 1,217, 1, 56,115, 96, 78,148, 31, 62, 33, 68, 22, 25, 73, 34, 71, 84, 5, +213,251, 23, 3, 61, 1, 50, 82, 67, 10, 11,187, 10, 4, 34, 67,221, 0, 0, 0, 0, 1, 0, 50, 0, 0, 5, 31, 4,123, 0, 21, + 1, 56, 64, 5, 23, 8, 4, 19, 22, 16, 75,176, 10, 84, 88,185, 0, 19, 0, 64, 56, 89, 75,176, 20, 84, 75,176, 21, 84, 91, 88, +185, 0, 19,255,192, 56, 89,212,212,196,196,180, 21, 17, 18, 4, 19, 17, 18, 57, 57, 57, 49, 64, 10, 9,134, 8, 12,185, 4,184, + 19,188, 18, 0, 47,228,244,228,212,236, 48,182, 21, 17, 20, 17, 19, 19, 18, 7, 5, 16,236, 4,236,183, 3, 2, 1, 0, 17, 16, + 16, 17, 7, 5, 16,236, 50, 50, 50, 64, 26, 12, 15, 15, 9, 15, 8, 11, 16, 10, 3, 10, 2, 12, 1, 10, 0, 8, 21, 9, 17, 8, + 18, 8, 20, 7, 19, 64, 16, 25, 16, 25, 0, 31, 22, 26, 17, 29, 18, 28, 21, 29, 20, 29, 19, 64, 12, 43, 1, 41, 16, 41, 0, 40, + 21, 38, 20, 38, 19, 64, 18, 51, 15, 52, 1, 50, 16, 51, 0, 54, 21, 54, 20, 54, 19, 55, 17, 52, 18, 64, 24, 74, 2, 74, 16, 74, + 0, 77, 1, 72, 21, 70, 19, 70, 20, 70, 17, 74, 18, 79, 9, 79, 8, 79, 23, 64, 28, 90, 2, 92, 1, 91, 16, 91, 0, 95, 22, 93, + 21, 94, 20, 95, 19, 94, 18, 90, 17, 90, 15, 95, 23, 95, 9, 95, 8, 64, 26,107, 15,107, 2,105, 1,111, 1,106, 16,106, 0,105, + 21,102, 20,102, 19,105, 18,111, 9,111, 8,111, 23, 64, 18,124, 2,127, 1,122, 16,122, 21,122, 0,119, 17,124, 18,117, 20,118, + 19,176, 84, 1, 93, 64, 17, 6, 21, 25, 21, 39, 21, 54, 21, 74, 21, 91, 21,106, 21,127, 21, 8, 0, 93, 1, 54, 55, 54, 51, 50, + 23, 22, 23, 21, 39, 38, 35, 34, 7, 6, 7, 1, 35, 1, 51, 1, 3, 59, 80,102, 66,129, 26, 26, 27, 28, 58, 19, 21, 54, 29, 65, + 61,254,228,250,254, 92,195, 1, 94, 3, 36,213, 79, 51, 4, 4, 8,141, 7, 3, 25, 55,162,253, 10, 4, 96,252, 84, 0, 0, 0, + 0, 3, 0, 16, 0, 0, 6, 39, 7,108, 0, 3, 0, 7, 0, 28, 0, 0, 1, 19, 35, 3, 37, 19, 35, 3, 19, 35, 1, 51, 9, 1, + 18, 55, 54, 51, 50, 22, 23, 21, 39, 38, 35, 34, 7, 6, 7, 1,253,144,135,174, 1,238,134,137,157,137,229,253,198,211, 1,217, + 1, 56,115, 96, 78,148, 31, 62, 33, 68, 22, 25, 73, 34, 71, 84, 7,107,254,248, 1, 8, 1,254,247, 1, 9,248,148, 5,213,251, + 23, 3, 61, 1, 50, 82, 67, 10, 11,187, 10, 4, 34, 67,221, 0,255,255, 0, 50, 0, 0, 5, 31, 6,102, 16, 35, 2, 87, 4,194, + 0, 0, 18, 2, 3,146, 0, 0,255,255, 0,113,255,227, 5, 37, 5,240, 16, 2, 1,228, 0, 0,255,255, 0,113,255,227, 4,113, + 5, 47, 16, 2, 1,229, 0, 0, 0, 2, 0,115,255,227, 7, 45, 5,240, 0, 41, 0, 82, 0, 0, 37, 51, 50, 55, 54, 53, 52, 39, + 38, 43, 1, 6, 7, 6, 7, 6, 34, 39, 38, 39, 38, 39, 35, 34, 7, 6, 21, 20, 23, 22, 59, 1, 54, 55, 54, 55, 54, 50, 23, 22, + 23, 22, 7, 35, 32, 39, 38, 16, 55, 54, 33, 51, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 51, 32, 23, 22, 17, 16, 7, 6, 33, + 35, 6, 7, 6, 7, 6, 34, 39, 38, 39, 38, 4, 93, 30,235,114,128,128,114,235, 30, 11, 15, 22, 27, 26, 62, 26, 27, 22, 16, 10, + 46,235,114,130,130,114,235, 46, 10, 16, 22, 27, 26, 62, 26, 27, 22, 16,254, 46,254,161,152,189,189,152, 1, 95, 45, 11, 16, 22, + 27, 26, 62, 26, 31, 18, 16, 11, 29, 1, 94,152,188,188,152,254,162, 29, 10, 17, 22, 27, 26, 62, 26, 31, 18, 16,194,145,164,242, +243,164,145, 20, 14, 21, 12, 11, 11, 12, 21, 16, 18,145,164,243,242,164,145, 18, 16, 21, 12, 11, 11, 12, 21, 16,161,170,210, 2, +116,211,170, 21, 15, 21, 12, 11, 11, 14, 19, 17, 19,170,211,254,198,254,199,210,171, 19, 17, 21, 12, 11, 11, 14, 19, 17, 0, 0, + 0, 2, 0,113,255,227, 5,161, 4,123, 0, 38, 0, 80, 0, 0, 37, 51, 50, 55, 54, 53, 52, 39, 38, 43, 1, 6, 7, 14, 1, 34, + 38, 39, 38, 39, 35, 34, 7, 6, 21, 20, 23, 22, 59, 1, 54, 55, 62, 1, 50, 23, 22, 23, 22, 7, 35, 32, 39, 38, 53, 52, 55, 54, + 33, 51, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 51, 32, 23, 22, 21, 20, 7, 6, 33, 35, 6, 7, 6, 7, 6, 34, 39, 38, 39, + 38, 3,114, 45,161, 72, 86, 86, 63,170, 45, 7, 10, 18, 44, 52, 44, 18, 10, 7, 45,163, 71, 86, 85, 72,163, 45, 7, 10, 18, 44, + 52, 22, 27, 13, 9,201, 46,254,255,120,137,137,116, 1, 5, 46, 7, 9, 13, 27, 22, 52, 22, 27, 13, 9, 7, 46, 1, 2,119,137, +137,116,254,251, 46, 7, 9, 13, 27, 22, 52, 22, 27, 13, 9,164, 96,116,183,167,131, 97, 11, 10, 17, 20, 20, 17, 10, 11, 95,116, +184,188,112, 95, 11, 10, 17, 20, 10, 12, 15, 10,147,137,156,238,233,162,136, 10, 10, 15, 12, 10, 10, 12, 15, 10, 10,136,156,239, +232,162,137, 10, 10, 15, 12, 10, 10, 12, 15, 10,255,255, 0,115,255,227, 7, 5, 7,183, 16, 35, 3,160, 6, 44, 1, 61, 16, 2, + 3,125, 0, 0,255,255, 0,135,255,226, 6, 40, 6,100, 16, 35, 3,160, 5,196,255,234, 16, 2, 3,126, 0, 0, 0, 2, 0,115, +255,227, 7, 5, 7, 51, 0, 11, 0, 64, 0, 0, 1, 7, 35, 39, 35, 7, 35, 39, 35, 7, 35, 39, 3, 22, 51, 50, 55, 54, 61, 1, + 51, 21, 20, 23, 22, 51, 50, 55, 54, 17, 52, 39, 2, 39, 51, 22, 23, 18, 21, 16, 7, 6, 35, 34, 39, 38, 39, 6, 7, 6, 35, 34, + 39, 38, 17, 52, 19, 54, 55, 51, 6, 3, 6, 21, 16, 5,126,100, 50, 50,175, 50, 50, 50,175, 50, 50,100,104, 73,125,114, 72, 71, +199, 70, 70,116,134, 65, 71, 67,135, 84,250, 95, 56,100,123,123,209,146,101,100, 39, 39,100,101,146,211,121,123,100, 59, 93,249, + 84,135, 67, 7, 51,200,100,100,100,100,200,250, 39,109,105,104,198,241,241,198,104,105,109,119, 1, 39,183,159, 1, 65, 70,130, +156,254,231,190,254,102,178,177, 94, 94,173,173, 94, 94,177,180, 1,152,201, 1, 14,159,127, 70,254,191,159,183,254,205, 0, 0, + 0, 2, 0,135,255,226, 6, 40, 5,224, 0, 11, 0, 38, 0, 0, 1, 7, 35, 39, 35, 7, 35, 39, 35, 7, 35, 39, 19, 32, 17, 52, + 19, 51, 2, 21, 2, 51, 50, 3, 51, 2, 55, 54, 17, 52, 3, 51, 18, 21, 18, 37, 36, 3, 2, 5, 27,100, 50, 50,175, 50, 50, 50, +175, 50, 50,100,143,254, 97,155,198,143, 1,223,207, 4,170, 4,207,222,143,198,155, 2,254, 95,254,241, 34, 41, 5,224,200,100, +100,100,100,200,250, 3, 2, 82,235, 1, 64,254,192,240,254, 79, 2, 26,253,227, 3, 2, 1,175,240, 1, 64,254,192,235,253,173, + 1, 1, 1, 42,254,213, 0, 0, 0, 1, 0,115,254, 86, 5, 39, 5,240, 0, 25, 0, 0, 33, 35, 32, 39, 38, 17, 16, 0, 33, 50, + 22, 23, 21, 46, 1, 35, 32, 0, 17, 16, 23, 22, 51, 33, 17, 35, 3,250,174,254,165,187,195, 1,134, 1, 83,134,237,104,102,231, +130,255, 0,254,240,136,152,240, 1,107,201,198,208, 1, 83, 1,104, 1,159, 71, 71,213, 95, 94,254,199,254,216,254,211,130,148, +253,176, 0, 0, 0, 1, 0,113,254, 86, 3,231, 4,123, 0, 24, 0, 0, 33, 32, 39, 38, 53, 16, 0, 33, 50, 22, 23, 21, 46, 1, + 35, 34, 6, 21, 20, 22, 59, 1, 17, 35, 17, 2,152,254,251,141,149, 1, 45, 1, 6, 85,162, 76, 78,157, 80,179,198,198,179,245, +201,150,159,250, 1, 18, 1, 58, 35, 35,172, 43, 43,227,205,185,227,253,195, 1,170, 0, 0, 0, 0, 1, 0, 50, 0, 52, 4,142, + 5,188, 0, 27, 0, 0, 1, 55, 39, 55, 23, 55, 23, 7, 23, 7, 39, 7, 23, 7, 39, 7, 23, 7, 39, 7, 39, 55, 39, 55, 23, 55, + 39, 55, 2, 59,105,216,100,216,125,174,125,216,100,216,105,216,100,216,105,216,100,216,125,174,125,216,100,216,105,216,100, 3, +129,181,125,174,125,216,100,216,125,174,125,181,125,174,125,181,125,174,125,216,100,216,125,174,125,181,125,174, 0, 1,251,218, + 4,222,255, 66, 6,122, 0, 47, 0, 0, 1, 33, 20, 7, 6, 7, 6, 7, 6, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, + 55, 54, 51, 33, 52, 55, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6,254,185,254, 51, 10, 11, + 19, 20, 25, 24, 56, 24, 25, 20, 19, 11, 10, 10, 11, 19, 20, 25, 24, 28, 1,205, 10, 11, 19, 20, 25, 24, 56, 24, 25, 20, 20, 10, + 10, 10, 11, 19, 20, 25, 24, 5,103, 27, 25, 27, 18, 19, 11, 10, 10, 11, 19, 18, 27, 25, 27, 28, 25, 27, 18, 19, 11, 10, 27, 25, + 27, 18, 19, 11, 10, 10, 11, 19, 21, 24, 25, 28, 27, 25, 27, 18, 19, 11, 10, 0, 0, 1,251,247, 5, 41,254,249, 6, 77, 0, 17, + 0, 0, 1, 54, 51, 50, 23, 22, 23, 51, 38, 39, 38, 35, 34, 7, 6, 7, 21, 54,253, 18, 93, 91, 70, 56, 48, 11,118, 10, 79, 86, +138,124,120, 72,141,138, 5,149, 47, 42, 36, 77,143, 72, 77, 67, 41, 40,134, 23, 0, 1,252, 34, 4,227,254,248, 6,117, 0, 7, + 0, 0, 1, 21, 33, 21, 35, 17, 51, 21,254,248,253,192,150,150, 5,247,150,126, 1,146,126, 0, 0, 1,252, 34, 4,227,254,248, + 6,117, 0, 7, 0, 0, 1, 33, 53, 51, 17, 35, 53, 33,252, 34, 2, 64,150,150,253,192, 5,247,126,254,110,126,255,255,247,214, +254,144, 3, 70, 7, 96, 16, 43, 2, 49,255,142, 4,216,192, 0, 16, 43, 2, 49,251, 15, 8,177,192, 0, 16, 43, 2, 49, 4, 13, + 8,177,192, 0, 16, 43, 2, 49,252, 96, 5,249,192, 0, 16, 43, 2, 49, 2,188, 5,249,192, 0, 16, 43, 2, 49,252, 96, 11,105, +192, 0, 16, 43, 2, 49, 2,188, 11,105,192, 0, 16, 11, 2, 49,255,142, 12,137,192, 0, 0, 0, 0, 8,248, 88,253,195, 2,194, + 8, 45, 0, 5, 0, 11, 0, 17, 0, 23, 0, 29, 0, 35, 0, 41, 0, 47, 0, 0, 39, 55, 23, 19, 7, 3, 1, 7, 39, 3, 55, 19, + 1, 39, 55, 37, 23, 5, 1, 23, 7, 5, 39, 37, 1, 53, 51, 5, 21, 45, 1, 21, 35, 37, 53, 5, 1, 35, 53, 19, 51, 11, 1, 51, + 21, 3, 35, 19,107,150,121,111, 92,169,251,119,150,121,111, 92,169, 5, 31,150,122, 1, 86, 92,254,227,250, 76,149,121,254,169, + 91, 1, 28, 6, 96,172, 1, 64,254,192,248,194,172,254,192, 1, 64, 4, 95,211,164,129, 82,211,211,164,129, 82, 90,150,121,254, +169, 92, 1, 29, 5,181,150,121, 1, 87, 92,254,227,254,241,149,122,110, 91,169,251,119,150,121,111, 92,168, 2, 24,212,164,130, + 82,212,212,164,130, 82, 2,223,172, 1, 64,254,192,248,194,172,254,192, 1, 64, 0, 1, 0,201,254, 86, 5,252, 5,213, 0, 14, + 0, 0, 33, 35, 17, 1, 33, 17, 51, 17, 1, 33, 17, 51, 21, 1, 35, 5, 51,196,253,106,254,240,196, 2,150, 1, 16,201,254,146, +134, 4,225,251, 31, 5,213,251, 31, 4,225,250,213,170,254, 86, 0, 2, 0,193,254, 86, 5, 56, 6, 20, 0, 14, 0, 28, 0, 0, + 33, 35, 17, 1, 35, 17, 51, 17, 1, 51, 17, 51, 21, 1, 35, 1, 51, 30, 1, 51, 50, 54, 55, 51, 14, 1, 35, 34, 38, 4,128,183, +253,228,236,183, 2, 27,237,184,254,222,123,253,205,118, 10, 98, 86, 86, 96, 14,118, 10,158,146,144,158, 3,131,252,125, 4, 96, +252,127, 3,129,252, 57,153,254, 86, 7,190, 75, 75, 74, 76,143,144,144, 0, 0, 0, 2, 0, 33, 0, 0, 4,236, 5,213, 0, 18, + 0, 29, 0, 0, 1, 21, 33, 50, 4, 21, 20, 4, 35, 33, 17, 35, 53, 51, 53, 51, 21, 51, 21, 1, 52, 39, 38, 35, 33, 17, 33, 50, + 55, 54, 1,147, 1, 78,251, 1, 16,254,240,251,253,232,168,168,202,168, 1,220, 79, 78,163,254,188, 1, 68,163, 78, 79, 4, 81, +226,218,222,221,218, 4, 81,164,224,224,164,253,102,139, 68, 67,253,221, 68, 67, 0, 2, 0, 38, 0, 0, 4, 69, 5,158, 0, 10, + 0, 30, 0, 0, 1, 52, 39, 38, 35, 33, 17, 33, 50, 55, 54, 1, 17, 33, 50, 23, 22, 16, 7, 6, 35, 33, 17, 35, 53, 51, 17, 51, + 17, 51, 21, 3,129, 62, 67,128,254,249, 1, 7,129, 66, 62,253,248, 1, 15,208,121,116,116,115,214,254, 57,155,155,184,157, 1, + 76, 94, 42, 46,254,151, 46, 43, 2,223,254,202, 85, 82,254,176, 82, 82, 3,209,143, 1, 62,254,194,143, 0, 0, 0, 2, 0,201, + 0, 0, 4,225, 5,213, 0, 14, 0, 27, 0, 0, 1, 23, 7, 39, 6, 43, 1, 17, 35, 17, 33, 50, 4, 21, 20, 39, 54, 55, 52, 38, + 43, 1, 17, 51, 50, 55, 39, 55, 4, 85,140,106,146,126,214,254,202, 1,200,251, 1, 1,226, 12, 1,154,141,254,254,114, 71,215, +106, 3, 35,117,126,123, 83,253,168, 5,213,227,219,146, 45, 44, 57,134,146,253,207, 47,180,126, 0, 2, 0,186,254, 86, 4,164, + 4,123, 0, 13, 0, 35, 0, 0, 37, 39, 55, 23, 54, 53, 52, 38, 32, 6, 16, 22, 51, 50, 5, 23, 7, 39, 6, 35, 34, 38, 39, 17, + 35, 17, 51, 21, 62, 1, 51, 50, 0, 16, 7, 6, 3, 42,140,110,138, 79,167,254,220,167,167,146, 70, 1, 27,147,111,149, 87,108, +123,177, 58,185,185, 58,177,123,204, 0,255,128, 12,152,167, 93,165,115,197,203,231,231,254,106,231, 20,174, 93,179, 46, 97,100, +253,174, 6, 10,170,100, 97,254,188,253,240,162, 15, 0, 0, 0, 0, 1, 0,201, 0, 0, 4,106, 7, 7, 0, 7, 0, 27, 64, 13, + 3, 6,149, 1,129, 0, 3, 4, 6, 28, 1, 4, 8, 16,252,252,220,204, 49, 0, 47,244,236,204, 48, 51, 17, 33, 17, 51, 17, 33, + 17,201, 2,216,201,253, 41, 5,213, 1, 50,254, 36,250,213, 0, 0, 1, 0,186, 0, 0, 3,208, 5,154, 0, 7, 0, 27, 64, 13, + 3, 6,169, 1,188, 0, 3, 4, 6, 8, 1, 70, 8, 16,252,252,220,204, 49, 0, 47,244,236,204, 48, 51, 17, 33, 17, 51, 17, 33, + 17,186, 2, 94,184,253,162, 4, 96, 1, 58,254, 28,252, 74, 0, 0, 1, 0, 71, 0, 0, 4,106, 5,213, 0, 13, 0, 0, 19, 51, + 17, 33, 21, 33, 17, 33, 21, 33, 17, 35, 17, 35, 71,130, 3,161,253, 41, 2, 35,253,221,202,130, 3,232, 1,237,170,254,189,170, +252,194, 3, 62, 0, 1, 0, 56, 0, 0, 3,208, 4, 96, 0, 13, 0, 0, 51, 17, 35, 53, 51, 17, 33, 21, 33, 17, 33, 21, 33, 17, +186,130,130, 3, 22,253,162, 1,160,254, 96, 1,244,170, 1,194,170,254,232,170,254, 12, 0, 0, 0, 1, 0,201,254,102, 4,204, + 5,213, 0, 27, 0, 0, 1, 17, 35, 17, 33, 21, 33, 17, 33, 50, 23, 22, 21, 17, 16, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, + 38, 35, 1,147,202, 3,161,253, 41, 1,161,186,113,109,204,228, 76, 62,134, 56, 55,124,124, 2,199,253, 57, 5,213,170,254, 70, +119,114,238,254,206,254,242,244,170, 75, 75,194, 1, 34,159,158, 0, 1, 0,186,254, 86, 4, 11, 4, 96, 0, 29, 0, 0, 1, 17, + 35, 17, 33, 21, 33, 17, 51, 32, 23, 22, 21, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 39, 38, 35, 1,114,184, 3, + 22,253,162,250, 1, 7, 70, 82, 82, 81,181,193,172,110, 33, 38, 38, 49,134, 1,231,254, 25, 4, 96,170,254,193, 71, 81,229,254, +242,214, 96, 96,156, 48, 55,147, 1, 8,170, 32, 41, 0, 0, 0, 0, 1, 0, 59,254, 86, 6,194, 5,213, 0, 25, 0, 0, 37, 51, + 17, 35, 17, 35, 1, 35, 17, 35, 17, 35, 1, 35, 9, 1, 51, 1, 51, 17, 51, 17, 51, 1, 51, 1, 6, 87,107,197, 41,254,155,150, +202,150,254,155,217, 1,144,254,162,217, 1, 52,149,202,149, 1, 52,217,254,162,170,253,172, 1,170, 2,199,253, 57, 2,199,253, + 57, 3, 28, 2,185,253,156, 2,100,253,156, 2,100,253, 71, 0, 0, 1, 0, 50,254, 86, 5,193, 4, 96, 0, 25, 0, 0, 37, 51, + 17, 35, 17, 35, 1, 35, 17, 35, 17, 35, 1, 35, 9, 1, 51, 1, 51, 17, 51, 17, 51, 1, 51, 1, 5, 85,108,184, 33,254,213,114, +183,114,254,213,197, 1, 84,254,215,196, 1, 2,113,183,113, 1, 2,196,254,215,153,253,189, 1,170, 2, 9,253,247, 2, 9,253, +247, 2, 85, 2, 11,254, 65, 1,191,254, 65, 1,191,253,245, 0,255,255, 0,156,254,117, 4,115, 5,240, 16, 38, 0,122, 57, 0, + 16, 6, 3, 52, 0, 0, 0, 0,255,255, 0,133,254,117, 3,200, 4,124, 16, 38, 0,122,206, 0, 16, 6, 3, 84, 0, 0, 0, 0, + 0, 1, 0,201,254, 86, 5,106, 5,213, 0, 14, 0, 0, 37, 51, 17, 35, 17, 35, 1, 17, 35, 17, 51, 17, 1, 33, 1, 4,193,169, +197, 69,253, 51,202,202, 2,158, 1, 4,253, 27,170,253,172, 1,170, 2,207,253, 49, 5,213,253,137, 2,119,253, 72, 0, 0, 0, + 0, 1, 0,191,254, 86, 4,161, 4, 96, 0, 14, 0, 0, 37, 51, 17, 35, 17, 35, 1, 17, 35, 17, 51, 17, 1, 51, 1, 4, 2,159, +184, 56,253,199,185,185, 2, 37,235,253,174,153,253,189, 1,170, 2, 35,253,221, 4, 96,254, 29, 1,227,253,244, 0, 1, 0,201, + 0, 0, 5,106, 5,213, 0, 18, 0, 0, 1, 39, 17, 35, 17, 51, 17, 55, 17, 51, 21, 1, 33, 9, 1, 33, 1, 21, 35, 1,224, 77, +202,202, 77,100, 1,237, 1, 4,253, 27, 3, 26,254,246,253,228,100, 2,130, 77,253, 49, 5,213,253,137, 73, 1, 81,243, 1,208, +253, 72,252,227, 2, 30,248, 0, 0, 1, 0,191, 0, 0, 4,161, 4, 96, 0, 18, 0, 0, 1, 21, 35, 53, 39, 17, 35, 17, 51, 17, + 55, 53, 55, 21, 1, 51, 9, 1, 35, 2, 29,101, 64,185,185, 64,101, 1,128,235,253,174, 2,107,240, 1,132,138,235, 62,253,221, + 4, 96,254, 29, 56,217, 2,130, 1, 82,253,244,253,172, 0, 0, 0, 1, 0, 33, 0, 0, 5,106, 5,213, 0, 18, 0, 0, 19, 35, + 53, 51, 53, 51, 21, 51, 21, 35, 21, 1, 33, 9, 1, 33, 1, 17, 35,201,168,168,202,168,168, 2,158, 1, 4,253, 27, 3, 26,254, +246,253, 51,202, 4, 81,164,224,224,164,243, 2,119,253, 72,252,227, 2,207,253, 49, 0, 0, 0, 0, 1, 0, 61, 0, 0, 4,156, + 6, 20, 0, 18, 0, 0, 1, 17, 1, 51, 9, 1, 35, 1, 17, 35, 17, 35, 53, 51, 53, 51, 21, 33, 21, 1,115, 2, 37,235,253,174, + 2,107,240,253,199,185,125,125,185, 1, 96, 4,246,253,135, 1,227,253,244,253,172, 2, 35,253,221, 4,246,164,122,122,164, 0, + 0, 1, 0, 50, 0, 0, 6,150, 5,213, 0, 12, 0, 0, 1, 33, 53, 33, 17, 1, 33, 9, 1, 33, 1, 17, 35, 1,245,254, 61, 2, +141, 2,158, 1, 4,253, 27, 3, 26,254,246,253, 51,202, 5, 43,170,253,137, 2,119,253, 72,252,227, 2,207,253, 49, 0, 0, 0, + 0, 1, 0, 42, 0, 0, 5,139, 4, 96, 0, 12, 0, 0, 1, 33, 53, 33, 17, 1, 51, 9, 1, 35, 1, 17, 35, 1,169,254,129, 2, + 56, 2, 37,235,253,174, 2,107,240,253,199,185, 3,198,154,254, 29, 1,227,253,244,253,172, 2, 35,253,221, 0, 0, 1, 0,201, +254, 86, 6, 4, 5,213, 0, 15, 0, 0, 33, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 51, 17, 35, 17, 4,113,253, 34,202,202, + 2,222,202,201,201, 2,199,253, 57, 5,213,253,156, 2,100,250,213,253,172, 1,170, 0, 0, 0, 0, 1, 0,193,254, 86, 5, 64, + 4, 96, 0, 15, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 4,136,184,184,184,253,169,184,184, 2, + 87,184,153,253,189, 1,170, 2, 4,253,252, 4, 96,254, 51, 1,205, 0, 0, 0, 0, 1, 0,201, 0, 0, 8, 18, 5,213, 0, 13, + 0, 0, 1, 17, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 33, 21, 5, 59,202,253, 34,202,202, 2,222, 3,161, 5, 43,250,213, 2, +199,253, 57, 5,213,253,156, 2,100,170, 0, 0, 0, 1, 0,193, 0, 0, 6,230, 4, 96, 0, 13, 0, 0, 1, 17, 35, 17, 33, 17, + 35, 17, 51, 17, 33, 17, 33, 21, 4,136,184,253,169,184,184, 2, 87, 3, 22, 3,182,252, 74, 2, 4,253,252, 4, 96,254, 51, 1, +205,170, 0, 0, 0, 1, 0,201,254,102, 8,116, 5,213, 0, 29, 0, 0, 1, 17, 35, 17, 33, 17, 35, 17, 33, 17, 33, 50, 23, 22, + 21, 17, 16, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 38, 35, 5, 59,202,253, 34,202, 4,114, 1,161,186,113,109,204,228, 76, + 62,134, 56, 55,124,124, 2,199,253, 57, 5, 43,250,213, 5,213,253,156,119,114,238,254,206,254,242,244,170, 75, 75,194, 1, 34, +159,158, 0, 0, 0, 1, 0,193,254, 86, 7, 33, 4, 96, 0, 31, 0, 0, 1, 17, 35, 17, 33, 17, 35, 17, 33, 17, 51, 32, 23, 22, + 21, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 39, 38, 7, 4,136,184,253,169,184, 3,199,250, 1, 7, 70, 82, 82, + 81,181,193,172,110, 33, 38, 38, 49,134, 1,231,254, 25, 3,198,252, 58, 4, 96,254, 23, 71, 81,229,254,242,214, 96, 96,156, 48, + 55,147, 1, 8,164, 38, 46, 5, 0, 2, 0,115,255, 45, 6, 39, 5,240, 0, 50, 0, 64, 0, 0, 37, 38, 17, 52, 55, 54, 51, 50, + 22, 21, 20, 7, 6, 7, 22, 51, 50, 55, 21, 6, 35, 4, 39, 6, 35, 36, 39, 38, 17, 16, 55, 54, 33, 50, 23, 22, 23, 21, 38, 39, + 38, 35, 32, 7, 6, 17, 16, 23, 22, 51, 50, 55, 54, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 21, 16, 3, 69,100, 96, 95,169,168, +192,102, 74,120,117,142, 84, 71, 73, 82,254,233,190, 68, 76,254,197,188,189,195,195, 1, 83,117,135,129, 94, 92,125,125,121,255, + 0,136,136,130,129,220, 15,217, 73, 48, 97, 43, 43, 73, 74, 43, 43,136,185, 1, 19,220,125,125,250,220,214,157,115, 63, 93, 24, +166, 22, 1,192, 10, 1,209,210, 1, 98, 1,104,207,208, 36, 34, 62,183, 55, 47, 47,156,157,254,216,254,232,166,164, 46, 36, 63, +127,214,120, 69, 71, 69, 70,121,254,228, 0, 0, 0, 2, 0,113,255, 82, 5, 4, 4,123, 0, 12, 0, 63, 0, 0, 37, 54, 55, 54, + 53, 52, 38, 35, 34, 7, 6, 21, 20, 7, 38, 53, 52, 55, 54, 51, 22, 23, 22, 21, 20, 7, 6, 7, 22, 51, 50, 55, 21, 6, 35, 34, + 39, 6, 35, 32, 39, 38, 17, 16, 55, 54, 33, 50, 23, 22, 23, 21, 38, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 51, 3, 87, 33, 22, + 86, 48, 41, 44, 24, 27,143, 51, 77, 78,131,132, 78, 77,137, 39, 56, 72,101, 90, 62, 70, 82,235,137, 53, 60,254,253,138,137,151, +150, 1, 6, 85, 81, 81, 76, 67, 90, 73, 85,179, 99, 99, 85, 84,171,173, 21, 29,113,135, 72, 84, 42, 46, 78,179,155,133,194,155, + 87, 88, 1, 88, 87,165,181,154, 44, 30, 52, 20,158, 18,151, 6,157,156, 1, 19, 1, 18,157,157, 17, 18, 35,152, 25, 22, 19,113, +114,205,201,116,115, 0, 0, 0,255,255, 0,115,254,117, 5, 39, 5,240, 16, 39, 0,122, 1, 45, 0, 0, 16, 6, 3, 62, 0, 0, +255,255, 0,113,254,117, 3,231, 4,123, 16, 39, 0,122, 0,143, 0, 0, 16, 6, 3, 94, 0, 0, 0, 1,255,250,254, 86, 4,233, + 5,213, 0, 11, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 53, 33, 21, 33, 2,215,201,201,203,253,238, 4,239,253,238,170,253,172, + 1,170, 5, 43,170,170, 0, 0, 0, 1, 0, 5,254, 86, 4, 54, 4, 96, 0, 11, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 53, 33, + 21, 33, 2,120,184,184,181,254, 66, 4, 49,254, 66,153,253,189, 1,170, 3,182,170,170, 0, 0,255,255,255,252, 0, 0, 4,231, + 5,213, 18, 6, 0, 60, 0, 0, 0, 1, 0, 61,254, 86, 4,127, 4, 96, 0, 8, 0, 0, 37, 17, 35, 17, 1, 51, 9, 1, 51, 2, +197,195,254, 59,195, 1, 94, 1, 94,195, 18,254, 68, 1,188, 4, 78,252,148, 3,108, 0, 0, 0, 0, 1,255,252, 0, 0, 4,231, + 5,213, 0, 14, 0, 0, 9, 1, 51, 9, 1, 51, 1, 33, 21, 33, 17, 35, 17, 33, 53, 2, 12,253,240,217, 1,158, 1,155,217,253, +240, 2, 12,253,244,203,253,244, 2,199, 3, 14,253,154, 2,102,252,242,170,253,227, 2, 29,170, 0, 1, 0, 61,254, 86, 4,127, + 4, 96, 0, 14, 0, 0, 5, 17, 35, 17, 33, 53, 33, 1, 51, 9, 1, 51, 1, 33, 21, 2,197,195,254, 59, 1,197,254, 59,195, 1, + 94, 1, 94,195,254, 70, 1,186,124,254,210, 1, 46,142, 4, 78,252,148, 3,108,251,178,142, 0, 0, 1, 0, 61,254, 86, 5, 59, + 5,213, 0, 15, 0, 0, 37, 51, 17, 35, 17, 35, 9, 1, 35, 9, 1, 51, 9, 1, 51, 1, 4,203,112,197, 20,254, 92,254, 89,218, + 2, 21,254, 47,217, 1,115, 1,117,217,254, 32,170,253,172, 1,170, 2,123,253,133, 3, 29, 2,184,253,213, 2, 43,253, 51, 0, + 0, 1, 0, 59,254, 86, 4,121, 4, 96, 0, 15, 0, 0, 37, 51, 17, 35, 17, 35, 9, 1, 35, 9, 1, 51, 9, 1, 51, 1, 4, 8, +113,184, 33,254,186,254,186,217, 1,179,254,114,217, 1, 41, 1, 41,217,254,107,153,253,189, 1,170, 1,184,254, 72, 2, 74, 2, + 22,254,113, 1,143,253,223, 0, 0, 1,255,250,254, 86, 7, 71, 5,213, 0, 15, 0, 0, 37, 33, 17, 51, 17, 51, 17, 35, 17, 33, + 17, 33, 53, 33, 21, 33, 2,214, 2,222,202,201,201,251,142,253,238, 4,239,253,238,170, 5, 43,250,213,253,172, 1,170, 5, 43, +170,170, 0, 0, 0, 1, 0, 5,254, 86, 6, 66, 4, 96, 0, 15, 0, 0, 37, 33, 17, 51, 17, 51, 17, 35, 17, 33, 17, 33, 53, 33, + 21, 33, 2,120, 2, 90,184,184,184,252, 57,254, 66, 4, 49,254, 66,153, 3,199,252, 57,253,189, 1,170, 3,182,170,170, 0, 0, + 0, 1, 0,175,254, 86, 5,124, 5,213, 0, 20, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 34, 39, 38, 53, 17, 51, 17, 20, 22, 51, + 33, 17, 51, 4,179,201,201,203,254, 95,186,113,109,201,124,124, 1,120,203,170,253,172, 1,170, 2,199,119,114,238, 1, 55,254, +217,159,158, 2,100, 0, 0, 0, 0, 1, 0,150,254, 86, 4,184, 4, 96, 0, 21, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 34, 39, + 38, 61, 1, 51, 21, 20, 23, 22, 51, 33, 17, 51, 4, 0,184,184,184,254,169,153,102, 92,184, 52, 53,104, 1, 41,184,153,253,189, + 1,170, 2, 9, 95, 86,184,234,211,117, 59, 59, 1,190, 0, 0, 0, 1, 0,175, 0, 0, 4,179, 5,213, 0, 24, 0, 0, 1, 35, + 34, 39, 38, 53, 17, 51, 17, 20, 22, 59, 1, 17, 51, 17, 51, 17, 51, 17, 35, 17, 35, 17, 35, 2,130, 59,186,113,109,201,124,124, + 18,144,214,203,203,214,144, 2,199,119,114,238, 1, 55,254,217,159,158, 1, 57,254,199, 2,100,250, 43, 2,199,254,207, 0, 0, + 0, 1, 0,150, 0, 0, 4, 0, 4, 96, 0, 24, 0, 0, 1, 53, 51, 21, 51, 17, 51, 17, 35, 17, 35, 21, 35, 53, 35, 34, 39, 38, + 61, 1, 51, 21, 20, 23, 22, 1,249,160,175,184,184,175,160, 8,153,102, 92,184, 52, 43, 2,164,194,196, 1,190,251,160, 2, 9, +196,196, 95, 86,184,234,211,117, 59, 48, 0, 0, 0, 1, 0,175, 0, 0, 4,179, 5,213, 0, 16, 0, 0, 1, 17, 33, 50, 23, 22, + 21, 17, 35, 17, 52, 38, 35, 33, 17, 35, 17, 1,122, 1,161,186,113,109,201,124,124,254,136,203, 5,213,253,156,119,114,238,254, +102, 1,138,159,158,253, 57, 5,213, 0, 0, 0,255,255, 0,186, 0, 0, 4,100, 6, 20, 16, 6, 0, 75, 0, 0, 0, 2, 0, 20, +255,227, 7, 20, 5,240, 0, 33, 0, 41, 0, 0, 1, 18, 55, 54, 33, 32, 23, 22, 19, 33, 16, 0, 33, 50, 54, 55, 21, 6, 4, 35, + 32, 39, 38, 3, 6, 39, 38, 61, 1, 51, 21, 20, 23, 22, 37, 33, 38, 39, 38, 32, 7, 6, 1,178, 34,150,188, 1, 58, 1, 67,181, +187, 1,251,112, 1, 18, 1, 18,139,252,112,111,254,249,146,254,162,197,188, 10,170,118,122,170, 75, 66, 1, 64, 3,173, 24, 98, +130,254, 72,128, 97, 3,109, 1, 7,170,210,210,219,254,132,254,244,254,206, 96, 95,215, 70, 72,205,194, 1, 85, 1,103,107,223, + 76, 62,157, 68, 57, 2,191,124,164,164,124, 0, 0, 2, 0, 15,255,226, 5,102, 4,123, 0, 34, 0, 41, 0, 0, 1, 34, 39, 38, + 61, 1, 51, 21, 20, 23, 22, 51, 54, 55, 54, 33, 50, 0, 29, 1, 33, 30, 1, 51, 50, 54, 55, 21, 6, 7, 6, 39, 36, 39, 38, 1, + 46, 1, 35, 34, 6, 7, 1, 88,144, 89, 96,156, 48, 57, 74, 26,116,146, 0,255,226, 1, 7,252,178, 12,205,183,106,199, 98, 99, +104,110,101,254,243,156,148, 3, 78, 2,165,136,154,185, 14, 2, 4, 82, 90,172, 70, 49,151, 33, 38,197,130,161,254,221,250, 90, +190,199, 52, 52,174, 42, 22, 23, 1, 5,151,144, 1,133,151,180,174,158, 0, 0,255,255, 0, 20,254,117, 7, 20, 5,240, 16, 39, + 2, 52, 2,188, 0, 0, 16, 6, 3,216, 0, 0,255,255, 0, 15,254,117, 5,102, 4,123, 16, 39, 2, 52, 1,231, 0, 0, 16, 6, + 3,217, 0, 0,255,255, 0,193, 0, 0, 1,121, 6, 20, 16, 6, 0, 79, 0, 0,255,255, 0, 59, 0, 0, 6,173, 5,213, 16, 39, + 6,139, 5,116, 1,117, 17, 6, 3, 51, 0, 0, 0, 8,180, 34, 0, 8, 35, 7, 43, 49, 0, 0,255,255, 0, 50, 0, 0, 5,173, + 6, 72, 16, 39, 2, 49, 0,240, 0, 0, 19, 6, 3, 83, 0, 0, 0, 8,180, 34, 0, 8, 35, 7, 43, 49, 0, 0, 0, 1, 0,201, +254,102, 5, 53, 5,213, 0, 28, 0, 0, 1, 51, 50, 23, 22, 21, 17, 16, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 38, 35, 33, + 17, 35, 17, 51, 17, 1, 33, 2,169,139,186,113,109,204,228, 76, 62,134, 56, 55,124,124,254,136,202,202, 2,158, 1, 4, 3,113, +119,114,238,254,206,254,242,244,170, 75, 75,194, 1, 34,159,158,253, 57, 5,213,253,137, 2,119, 0, 1, 0,191,254, 86, 4,136, + 4, 96, 0, 30, 0, 0, 1, 51, 32, 23, 22, 21, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 39, 38, 35, 33, 17, 35, + 17, 51, 17, 1, 51, 2, 94, 20, 1, 5, 72, 82, 82, 81,181,193,172,110, 33, 38, 38, 44,139,254,252,185,185, 2, 37,235, 2,119, + 71, 81,229,254,242,214, 96, 96,156, 48, 55,147, 1, 8,166, 36, 41,254, 25, 4, 96,254, 29, 1,227, 0, 0, 0, 0, 1, 0, 54, +254, 86, 6, 3, 5,213, 0, 20, 0, 0, 33, 35, 17, 33, 21, 16, 3, 6, 5, 53, 54, 55, 18, 25, 1, 33, 17, 51, 21, 1, 35, 5, + 58,202,254, 27,132, 98,254,145,212, 67,117, 3,120,201,254,146,134, 5, 43,212,254, 24,254,170,253, 56,167, 46,168, 1, 37, 2, + 53, 1, 26,250,213,170,254, 86, 0, 2, 0, 46,254, 86, 5, 43, 4, 96, 0, 0, 0, 21, 0, 0, 9, 1, 51, 21, 1, 35, 19, 35, + 17, 33, 21, 16, 3, 6, 5, 53, 54, 55, 54, 17, 53, 33,253,180, 6,191,184,254,222,123,229,184,254,123,118, 94,254,204,179, 59, + 98, 2,245, 8, 0,248,153,153,254, 86, 1,170, 3,199,134,254,146,254,252,207, 29,153, 27,127,207, 1,167,212, 0, 1, 0,201, +254,102, 5, 59, 5,213, 0, 21, 0, 0, 37, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 16, 7, 6, 43, 1, 53, 51, 50, 55, 54, + 4,113,253, 34,202,202, 2,222,202,103,103,227, 76, 62,134, 56, 55,104, 2, 95,253, 57, 5,213,253,156, 2,100,250,147,254,242, +122,122,170, 75, 75, 0, 0, 0, 0, 1, 0,193,254, 86, 4,136, 4, 96, 0, 21, 0, 0, 5, 17, 33, 17, 35, 17, 51, 17, 33, 17, + 51, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 3,208,253,169,184,184, 2, 87,184, 82, 81,181,193,172,110, 33, 38, 20, 2, 24, +253,252, 4, 96,254, 51, 1,205,251,140,214, 96, 96,156, 48, 55, 0, 1, 0,201,254, 86, 6, 4, 5,213, 0, 16, 0, 0, 33, 35, + 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 51, 21, 1, 35, 5, 59,202,253, 34,202,202, 2,222,202,201,254,146,134, 2,199,253, + 57, 5,213,253,156, 2,100,250,213,170,254, 86, 0, 1, 0,193,254, 86, 5, 64, 4, 96, 0, 16, 0, 0, 33, 35, 17, 33, 17, 35, + 17, 51, 17, 33, 17, 51, 17, 51, 21, 1, 35, 4,136,184,253,169,184,184, 2, 87,184,184,254,222,123, 2, 4,253,252, 4, 96,254, + 51, 1,205,252, 57,153,254, 86, 0, 1, 0,175,254, 86, 4,179, 5,213, 0, 20, 0, 0, 37, 17, 33, 34, 39, 38, 53, 17, 51, 17, + 20, 22, 51, 33, 17, 51, 17, 35, 17, 35, 17, 3,232,254, 95,186,113,109,201,124,124, 1,120,203,203,201,170, 2, 29,119,114,238, + 1, 55,254,217,159,158, 2,100,250, 43,254, 86, 2, 84, 0, 0, 0, 1, 0,150,254, 86, 4, 0, 4, 96, 0, 21, 0, 0, 37, 17, + 33, 34, 39, 38, 61, 1, 51, 21, 20, 23, 22, 51, 33, 17, 51, 17, 35, 17, 35, 17, 3, 72,254,169,153,102, 92,184, 52, 53,104, 1, + 41,184,184,184,153, 1,112, 95, 86,184,234,211,117, 59, 59, 1,190,251,160,254, 86, 2, 67, 0, 0, 1, 0,201,254, 86, 6,232, + 5,213, 0, 17, 0, 0, 37, 51, 21, 1, 35, 1, 35, 17, 1, 35, 1, 17, 35, 17, 33, 9, 1, 33, 6, 31,201,254,146,134, 1, 43, +197,254,127,203,254,127,196, 1, 45, 1,125, 1,127, 1, 45,170,170,254, 86, 1,170, 5, 31,252, 0, 4, 0,250,225, 5,213,252, + 8, 3,248, 0, 0, 1, 0,193,254, 86, 6, 0, 4, 96, 0, 17, 0, 0, 37, 51, 21, 1, 35, 19, 35, 17, 1, 35, 1, 17, 35, 17, + 33, 9, 1, 33, 5, 72,184,254,222,123,229,178,254,203,184,254,202,178, 1, 6, 1, 62, 1, 63, 1, 4,153,153,254, 86, 1,170, + 3,176,253, 39, 2,217,252, 80, 4, 96,253, 18, 2,238, 0, 0,255,255, 0, 16, 0, 0, 5,104, 7,146, 16, 39, 2, 49, 0,206, + 1, 74, 17, 6, 3, 45, 0, 0, 0, 18,180, 24, 0, 8, 19, 7, 43, 49, 0, 64, 5,111, 0,111, 8, 2, 93, 48,255,255, 0,123, +255,227, 4, 45, 6, 31, 16, 38, 2, 49, 79,215, 19, 6, 3, 77, 0, 0, 0, 8,180, 34, 0, 8, 25, 7, 43, 49,255,255, 0, 16, + 0, 0, 5,104, 5,213, 16, 38, 3, 45, 0, 0, 17, 7, 6,132, 4,188, 1,117, 0, 20,180, 10, 18, 13, 5, 7, 43, 64, 9, 48, + 18, 63, 13, 0, 18, 15, 13, 4, 93, 49, 0, 0,255,255, 0,123,255,227, 4, 45, 6, 16, 18, 38, 3, 77, 0, 0, 17, 6, 0,106, + 82, 0, 0, 32,180, 20, 45, 40, 11, 7, 43, 64, 21,127, 40,111, 40, 80, 45, 95, 40, 64, 45, 79, 40, 48, 45, 63, 40, 0, 45, 15, + 40, 10, 93, 49,255,255, 0, 8, 0, 0, 7, 72, 5,213, 18, 6, 0,136, 0, 0,255,255, 0,123,255,227, 7,111, 4,123, 18, 6, + 0,168, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 16, 39, 6,139, 4,161, 1,117, 17, 6, 3, 50, 0, 0, 0, 7, 64, 3, + 64, 0, 1, 93, 49, 0, 0, 0,255,255, 0,113,255,227, 4,127, 6, 72, 16, 39, 2, 49, 0,150, 0, 0, 19, 6, 3, 82, 0, 0, + 0, 7, 64, 3,112, 0, 1, 93, 49, 0, 0, 0,255,255, 0,117,255,227, 5,217, 5,240, 16, 6, 1, 81, 0, 0,255,255, 0, 0, + 0, 0, 0, 0, 0, 0, 16, 6, 2, 4, 0, 0,255,255, 0,117,255,227, 5,217, 5,240, 16, 39, 6,132, 5, 32, 1,117, 16, 6, + 3,243, 0, 0,255,255, 1, 43, 5, 70, 3,125, 6, 16, 16, 38, 0,106, 84, 0, 16, 6, 3,244, 0, 0, 0, 0,255,255, 0, 59, + 0, 0, 6,173, 5,213, 16, 39, 6,132, 5,116, 1,117, 17, 6, 3, 51, 0, 0, 0, 8,180, 28, 7, 2, 29, 7, 43, 49, 0, 0, +255,255, 0, 50, 0, 0, 5,173, 6, 16, 16, 39, 0,106, 0,240, 0, 0, 18, 6, 3, 83, 0, 0,255,255, 0,156,255,227, 4,115, + 5,240, 16, 39, 6,132, 4,135, 1,117, 16, 6, 3, 52, 0, 0,255,255, 0,133,255,227, 3,200, 6, 16, 16, 38, 0,106, 58, 0, + 16, 6, 3, 84, 0, 0, 0, 0,255,255, 0,160,255,193, 4,248, 5,213, 16, 6, 1,121, 0, 0,255,255, 0, 0, 0, 0, 0, 0, + 0, 0, 16, 6, 2, 8, 0, 0,255,255, 0,201, 0, 0, 5, 51, 7, 49, 16, 39, 0,113, 0,245, 1, 59, 16, 6, 3, 53, 0, 0, +255,255, 0,193, 0, 0, 4,128, 5,245, 16, 39, 0,113, 0,137,255,255, 16, 6, 3, 85, 0, 0,255,255, 0,201, 0, 0, 5, 51, + 5,213, 16, 39, 6,132, 4,245, 1,117, 16, 6, 3, 53, 0, 0,255,255, 0,193, 0, 0, 4,128, 6, 16, 16, 39, 0,106, 0,137, + 0, 0, 16, 6, 3, 85, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 16, 38, 3, 59, 0, 0, 17, 7, 6,132, 5, 39, 1,117, + 0, 20,180, 3, 31, 26, 9, 7, 43, 64, 9, 64, 31, 79, 26, 16, 31, 31, 26, 4, 93, 49, 0, 0,255,255, 0,113,255,227, 4,117, + 6, 16, 18, 38, 3, 91, 0, 0, 17, 6, 0,106,115, 0, 0, 20,180, 3, 31, 26, 9, 7, 43, 64, 9, 64, 31, 79, 26, 48, 31, 63, + 26, 4, 93, 49,255,255, 0,115,255,227, 5,217, 5,240, 16, 6, 3, 17, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 16, 6, + 2, 7, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 18, 38, 4, 3, 0, 0, 16, 7, 6,132, 5, 39, 1,117,255,255, 1, 74, + 5, 70, 3,156, 6, 16, 18, 38, 4, 4, 0, 0, 16, 6, 0,106,115, 0, 0, 0,255,255, 0,111,255,227, 5, 35, 5,240, 16, 39, + 6,132, 4,103, 1,117, 16, 6, 3, 74, 0, 0,255,255, 0,113,255,227, 3,231, 6, 16, 16, 38, 0,106,226, 0, 16, 6, 3,106, + 0, 0, 0, 0,255,255, 0, 35,255,227, 4,189, 7, 49, 16, 39, 0,113, 0,114, 1, 59, 16, 6, 3, 64, 0, 0,255,255, 0, 61, +254, 86, 4,127, 5,245, 16, 38, 0,113, 94,255, 16, 6, 3, 96, 0, 0, 0, 0,255,255, 0, 35,255,227, 4,189, 5,213, 16, 39, + 6,132, 4,114, 1,117, 16, 6, 3, 64, 0, 0,255,255, 0, 61,254, 86, 4,127, 6, 16, 16, 38, 0,106, 94, 0, 16, 6, 3, 96, + 0, 0, 0, 0,255,255, 0, 35,255,227, 4,189, 5,213, 16, 39, 6,141, 4,114, 1,117, 16, 6, 3, 64, 0, 0,255,255, 0, 61, +254, 86, 4,127, 6,102, 16, 38, 2, 54, 94, 0, 16, 6, 3, 96, 0, 0, 0, 0,255,255, 0,175, 0, 0, 4,179, 5,213, 16, 39, + 6,132, 4,204, 1,117, 16, 6, 3, 68, 0, 0,255,255, 0,150, 0, 0, 4, 0, 6, 16, 16, 38, 0,106, 94, 0, 16, 6, 3,100, + 0, 0, 0, 0, 0, 1, 0,201,254, 86, 4,106, 5,213, 0, 9, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 21, 33, 1,147,201,201, +202, 3,161,253, 41,170,253,172, 1,170, 5,213,170, 0, 0, 0, 0, 1, 0,186,254, 86, 3,208, 4, 96, 0, 9, 0, 0, 37, 51, + 17, 35, 17, 35, 17, 33, 21, 33, 1,114,184,184,184, 3, 22,253,162,153,253,189, 1,170, 4, 96,170, 0, 0, 0,255,255, 0,201, + 0, 0, 6, 70, 5,213, 18, 38, 3, 72, 0, 0, 16, 7, 6,132, 5,183, 1,117,255,255, 0,193, 0, 0, 5,105, 6, 16, 16, 38, + 3,104, 0, 0, 16, 7, 0,106, 1, 8, 0, 0, 0, 2, 0,145, 0, 0, 4,180, 5,213, 0, 10, 0, 21, 0, 0, 1, 20, 23, 22, + 51, 33, 17, 33, 34, 7, 6, 1, 17, 33, 34, 36, 53, 52, 36, 51, 33, 17, 1,102, 79, 78,163, 1, 68,254,188,163, 78, 79, 3, 78, +253,232,251,254,240, 1, 16,251, 1, 78, 1,183,138, 67, 68, 2, 35, 67, 68, 3,147,250, 43,218,221,222,218, 2,102, 0, 0, 0, + 0, 2, 0,113, 0, 0, 3,245, 4, 96, 0, 10, 0, 22, 0, 0, 1, 20, 23, 22, 51, 33, 17, 33, 34, 7, 6, 1, 17, 33, 34, 39, + 38, 16, 55, 54, 51, 33, 17, 1, 53, 62, 66,129, 1, 7,254,249,128, 67, 62, 2,192,254, 57,214,115,116,116,121,208, 1, 15, 1, + 76, 90, 43, 46, 1,105, 46, 42, 2,182,251,160, 82, 82, 1, 80, 82, 85, 1,197, 0, 2, 0,145,255,227, 7, 67, 5,213, 0, 12, + 0, 48, 0, 0, 1, 33, 34, 7, 6, 16, 23, 22, 51, 50, 55, 54, 53, 19, 6, 7, 6, 7, 6, 35, 34, 39, 38, 53, 52, 36, 51, 33, + 17, 51, 3, 20, 23, 22, 51, 50, 55, 54, 53, 17, 51, 17, 20, 7, 6, 35, 34, 39, 38, 3,234,254,188,163, 78, 79, 79, 95,129,180, + 75, 86, 33, 12, 14, 51,106, 94,110,238,129,136, 1, 16,251, 1, 78,202, 1, 63, 52,112,105, 59, 63,202,110,104,215,217,102, 49, + 2,201, 67, 68,254,234, 80, 95,109,125,159,254,221, 29, 28, 96, 54, 49,129,137,202,222,218, 2,102,251,236,143, 91, 74, 74, 79, +155, 2,159,253, 90,224,127,120,120, 57, 0, 0, 0, 2, 0,113,255,227, 6,115, 4, 96, 0, 12, 0, 46, 0, 0, 1, 33, 34, 7, + 6, 21, 20, 22, 51, 50, 55, 54, 53, 19, 6, 7, 6, 35, 34, 38, 53, 52, 55, 54, 51, 33, 17, 51, 17, 20, 23, 22, 51, 50, 55, 54, + 53, 17, 51, 17, 20, 7, 6, 35, 34, 39, 38, 3, 61,254,249,128, 67, 62,129,106,148, 92, 45, 49, 67, 93, 94,136,172,203,116,121, +208, 1, 15,184, 62, 60,106,104, 60, 62,184,100,104,206,211,100, 31, 2, 2, 46, 42, 94, 92,115,109, 52,156,254,246,108, 48, 49, +193,166,170, 82, 85, 1,197,253, 97,159, 80, 79, 79, 82,157, 1, 65,254,184,236,115,120,120, 37, 0, 1, 0,201,255,227, 7, 3, + 5,240, 0, 55, 0, 0, 1, 52, 39, 38, 43, 1, 53, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 6, 7, 53, 54, 55, 54, 51, 50, 23, + 22, 21, 20, 7, 6, 7, 22, 23, 22, 21, 20, 23, 22, 51, 50, 55, 54, 53, 17, 51, 17, 20, 7, 6, 35, 34, 39, 38, 39, 38, 3,170, + 92, 93,165,174,182,149, 79, 79, 81, 82,152, 83,190,114,115,100,101, 89,230,134,134, 71, 71,131,145, 82, 81, 63, 52,112,105, 59, + 63,202,110,104,215,217,102, 48, 28, 33, 1,178,132, 74, 75,166, 59, 60,112,115, 61, 62, 36, 38,180, 32, 16, 16,104,105,178,124, + 85, 86, 33, 31, 98, 98,144,128, 91, 74, 74, 79,155, 2,159,253, 90,224,127,120,120, 56, 80, 97, 0, 1, 0,171,255,227, 6, 70, + 4,124, 0, 53, 0, 0, 1, 52, 39, 38, 43, 1, 53, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 7, 53, 62, 1, 51, 50, 23, + 22, 21, 20, 7, 6, 7, 22, 23, 22, 21, 20, 23, 22, 51, 50, 55, 54, 53, 17, 51, 17, 20, 7, 6, 35, 34, 39, 38, 3, 19, 78, 72, +137,148,155,116, 67, 68, 70, 69,119, 71, 81, 80, 97, 98,170, 76,196,113,114, 60, 60,112,129, 64, 69, 62, 61,105,104, 60, 62,184, +100,104,206,199,112, 98, 1, 56,102, 56, 51,152, 44, 45, 70, 64, 46, 46, 13, 13, 29,167, 24, 24, 78, 79,141, 93, 64, 65, 24, 25, + 72, 79, 72, 88, 68, 69, 79, 82,157, 1, 65,254,184,236,115,120,117,101, 0, 0, 0, 1, 0,201,254, 86, 5, 60, 5,240, 0, 41, + 0, 0, 33, 35, 17, 52, 39, 38, 43, 1, 53, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 6, 7, 53, 54, 55, 54, 51, 50, 23, 22, 21, + 20, 7, 6, 7, 22, 23, 22, 21, 17, 51, 17, 35, 4,115,201, 92, 93,165,174,182,149, 79, 79, 81, 82,152, 83,190,114,115,100,101, + 89,230,134,134, 71, 71,131,145, 82, 81,201,201, 1,177,133, 74, 75,166, 59, 60,112,115, 61, 62, 36, 38,180, 32, 16, 16,104,105, +178,124, 85, 86, 33, 31, 98, 97,146,254,249,253,172, 0, 0, 0, 0, 1, 0,171,254, 86, 4,131, 4,124, 0, 41, 0, 0, 37, 51, + 17, 35, 17, 35, 17, 52, 39, 38, 43, 1, 53, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 7, 53, 62, 1, 51, 50, 23, 22, 21, + 20, 7, 6, 7, 22, 23, 22, 21, 3,200,187,184,184, 78, 72,137,148,155,116, 67, 68, 70, 69,119, 71, 81, 80, 97, 98,170, 76,196, +113,114, 60, 60,112,126, 67, 69,153,253,189, 1,170, 1, 70, 88, 56, 51,152, 44, 45, 70, 64, 46, 46, 13, 13, 29,167, 24, 24, 78, + 79,141, 93, 64, 65, 24, 24, 73, 75,106, 0, 0, 0, 1, 0, 54,255,227, 7,202, 5,213, 0, 33, 0, 0, 1, 17, 20, 23, 22, 51, + 50, 55, 54, 53, 17, 51, 17, 20, 7, 6, 35, 34, 39, 38, 53, 17, 33, 21, 16, 3, 6, 5, 53, 54, 55, 18, 25, 1, 5, 58, 63, 52, +112,105, 59, 63,202,110,104,215,214,105,110,254, 27,132, 98,254,145,212, 67,117, 5,213,251,236,143, 91, 74, 74, 79,155, 2,159, +253, 90,224,127,120,120,125,226, 3,113,212,254, 24,254,170,253, 56,167, 46,168, 1, 37, 2, 53, 1, 26, 0, 0, 0, 1, 0, 46, +255,227, 6,238, 4, 96, 0, 32, 0, 0, 1, 17, 20, 22, 51, 50, 55, 54, 53, 17, 51, 17, 20, 7, 6, 35, 34, 39, 38, 53, 17, 33, + 21, 16, 3, 6, 5, 53, 54, 55, 54, 17, 53, 4,115,122,103,104, 60, 62,184,100,104,206,199,112, 98,254,123,118, 94,254,204,179, + 59, 98, 4, 96,253, 4, 87,138, 79, 82,157, 1, 65,254,184,236,115,120,117,101,123, 2,143,134,254,146,254,252,207, 29,153, 27, +127,207, 1,167,212, 0, 0, 0,255,255, 0,201,255,227, 8, 45, 5,213, 16, 2, 1,184, 0, 0, 0, 1, 0,193,255,227, 7, 3, + 4, 96, 0, 28, 0, 0, 1, 17, 20, 22, 51, 50, 55, 54, 53, 17, 51, 17, 20, 7, 6, 35, 34, 39, 38, 61, 1, 33, 17, 35, 17, 51, + 17, 33, 17, 4,136,122,103,104, 60, 62,184,100,104,206,199,112, 98,253,169,184,184, 2, 87, 4, 96,253, 4, 87,138, 79, 82,157, + 1, 65,254,184,236,115,120,117,101,123,204,253,252, 4, 96,254, 51, 1,205, 0,255,255, 0,115,255,227, 5,139, 5,240, 16, 2, + 0, 42, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 16, 2, 2, 5, 0, 0, 0, 1,255,250,255,227, 5,102, 5,213, 0, 25, + 0, 0, 1, 17, 20, 23, 22, 51, 50, 55, 54, 53, 17, 51, 17, 20, 7, 6, 35, 34, 39, 38, 53, 17, 33, 53, 33, 21, 2,215, 63, 52, +111,105, 59, 63,202,110,104,215,214,105,110,253,238, 4,239, 5, 43,252,150,143, 91, 74, 74, 79,155, 2,159,253, 90,224,127,120, +120,125,226, 3,113,170,170, 0, 0, 1, 0, 5,255,227, 4,246, 4, 96, 0, 25, 0, 0, 1, 17, 20, 23, 22, 51, 50, 55, 54, 53, + 17, 51, 17, 20, 7, 6, 35, 34, 39, 38, 53, 17, 33, 53, 33, 21, 2,120, 62, 61,105,104, 60, 62,184,100,104,206,199,112, 98,254, + 66, 4, 49, 3,182,253,174, 86, 70, 69, 79, 82,157, 1, 65,254,184,236,115,120,117,101,123, 2,126,170,170, 0, 0, 1, 0,178, +255,227, 6,160, 5,213, 0, 33, 0, 0, 37, 6, 7, 6, 33, 32, 0, 25, 1, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, 7, + 51, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 35, 4,239, 42, 45,144,254,230,254,229,254,223,203,174,195,194,174,203, 9, 44,148, + 96, 96,156, 48, 55, 81,248, 82, 46,149, 1, 42, 1, 36, 3,164,252,117,240,211,211,240, 3,139,252, 92, 71, 67, 91, 91,171, 70, + 49,108, 42, 49, 0, 1, 0,178, 0, 0, 5, 41, 5,242, 0, 32, 0, 0, 33, 35, 17, 16, 0, 33, 32, 23, 22, 17, 21, 35, 53, 52, + 38, 35, 34, 6, 29, 1, 33, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 35, 33, 1,125,203, 1, 33, 1, 27, 1, 23,147,145,203,174, +194,195,174, 2, 88,149, 95, 96,156, 48, 55, 81,253,168, 3,164, 1, 36, 1, 42,149,146,254,217, 57, 32,240,211,211,240,157, 91, + 91,171, 70, 49,108, 42, 49, 0, 0, 2, 0,178, 0, 0, 6,196, 5,242, 0, 28, 0, 40, 0, 0, 1, 51, 50, 23, 22, 29, 1, 35, + 53, 52, 39, 38, 43, 1, 17, 35, 17, 33, 34, 39, 38, 53, 52, 55, 54, 33, 32, 0, 17, 3, 17, 52, 38, 35, 34, 6, 21, 20, 23, 22, + 51, 5, 41, 71,149, 95, 96,156, 48, 55, 81, 71,203,254, 42,201,159,110,144,152, 1, 19, 1, 27, 1, 33,203,174,195,194,174, 53, + 90,166, 2,114, 91, 91,171, 70, 49,108, 42, 49,254, 61, 1,195,179,124,224,253,142,149,254,214,254,220,254,206, 1, 25,240,211, +211,175,149, 73,124, 0, 0, 0, 0, 1, 0,178, 0, 0, 6,196, 5,242, 0, 32, 0, 0, 1, 51, 50, 23, 22, 29, 1, 35, 53, 52, + 39, 38, 43, 1, 17, 35, 17, 52, 38, 35, 34, 7, 6, 29, 1, 35, 53, 16, 0, 33, 32, 23, 22, 5, 23, 89,149, 95, 96,156, 48, 55, + 81, 71,203,174,194,195, 87, 87,203, 1, 33, 1, 27, 1, 26,144, 90, 4, 96, 91, 91,171, 70, 49,108, 42, 49,252, 79, 3,139,240, +211,106,106,239, 32, 57, 1, 36, 1, 42,149, 92, 0, 1, 0,178,255,227, 5, 41, 5,213, 0, 32, 0, 0, 19, 16, 0, 33, 32, 55, + 54, 61, 1, 35, 21, 20, 6, 35, 34, 38, 53, 17, 33, 50, 23, 22, 29, 1, 51, 53, 52, 39, 38, 35, 33, 17, 35,178, 1, 33, 1, 27, + 1, 23,147,145,203,174,194,195,174, 2, 88, 81, 55, 48,156, 96, 95,149,253,168,203, 2, 49,254,220,254,214,149,146,227, 57, 32, +172,211,211,240, 1,103, 49, 42,108, 49, 70,171, 91, 91, 1,117, 0, 2, 0,155,255, 8, 4,186, 5,240, 0, 33, 0, 43, 0, 0, + 37, 33, 54, 55, 6, 7, 6, 35, 34, 0, 53, 52, 0, 51, 32, 23, 22, 3, 2, 3, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 35, 33, + 17, 51, 18, 32, 54, 53, 52, 38, 32, 6, 21, 20, 1,102, 1, 15,232, 60, 48, 28, 73,124,224,254,251, 1, 16,226, 1, 8,131,155, + 58, 52,231,149, 95, 96,156, 48, 55, 81,253, 53,203,167, 1, 16,159,159,254,240,159,175,225,208, 39, 17, 46, 1, 15,235,230, 1, + 22,198,234,254,169,254,207,254,247, 91, 91,171, 70, 49,108, 42, 49, 1, 76, 1, 76,186,162,161,187,187,161,162, 0, 1, 0,178, +255, 8, 5, 41, 5,213, 0, 29, 0, 0, 37, 33, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 35, 33, 17, 51, 17, 33, 50, 23, 22, 29, + 1, 35, 53, 52, 39, 38, 35, 33, 1,125, 1,133,149, 95, 96,156, 48, 55, 81,253,176,203, 2, 88,149, 95, 96,156, 48, 55, 81,253, +168,175, 91, 91,171, 70, 49,108, 42, 49, 5,213,254,139, 91, 91,171, 70, 49,108, 42, 49, 0, 0, 0, 1, 0,178,255, 8, 5, 41, + 5,242, 0, 31, 0, 0, 51, 17, 16, 0, 33, 32, 23, 22, 17, 21, 35, 53, 52, 38, 35, 34, 7, 6, 21, 17, 33, 50, 23, 22, 29, 1, + 35, 53, 52, 39, 38, 35,178, 1, 33, 1, 27, 1, 19,151,145,203,174,194,197, 85, 87, 2, 88,149, 95, 96,156, 48, 55, 81, 3,164, + 1, 36, 1, 42,149,142,254,213, 57, 32,240,211,106,108,237,253, 36, 91, 91,171, 70, 49,108, 42, 49, 0, 0, 0, 0, 2, 0,178, + 0, 0, 6,142, 5,242, 0, 43, 0, 56, 0, 0, 1, 35, 21, 20, 7, 6, 7, 6, 39, 38, 39, 38, 55, 54, 51, 33, 38, 39, 38, 35, + 34, 6, 21, 17, 35, 17, 16, 0, 33, 32, 23, 22, 23, 51, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 33, 35, 34, 21, 20, 23, 22, 51, + 50, 55, 54, 53, 52, 5, 58, 17,103,105,152,146,109,130, 2, 1, 73, 78, 75, 1, 40, 22, 42, 87,194,195,174,203, 1, 33, 1, 27, + 1, 19,151, 92, 33, 37,149, 95, 96,156, 48, 53,254,208,187,153, 57, 58, 69, 53, 58, 46, 3,177, 32,223,114,115, 10, 10, 84,102, +189,147, 76, 81, 82, 50,106,211,240,252,117, 3,164, 1, 36, 1, 42,149, 91,162, 91, 91,171, 70, 49,106, 44, 49,135,105, 45, 45, + 81, 64,147, 17, 0, 2, 0,178, 0, 0, 6,196, 5,242, 0, 28, 0, 40, 0, 0, 1, 35, 17, 16, 0, 33, 32, 39, 38, 17, 52, 55, + 54, 51, 33, 17, 51, 17, 51, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 41, 1, 34, 7, 6, 21, 20, 22, 51, 50, 54, 53, 5,112, 71, +254,223,254,229,254,237,152,144,110,159,201, 1,214,203, 71,149, 95, 96,156, 48, 55,254,157,254, 84,166, 90, 53,174,194,195,174, + 3,177,254,157,254,220,254,214,149,142, 1, 46,224,124,179, 1,146,254,110, 91, 91,171, 70, 49,108, 42, 49,125, 72,149,224,211, +211,240, 0, 0, 0, 1, 0,178, 0, 0, 5, 41, 5,213, 0, 20, 0, 0, 19, 51, 17, 54, 51, 32, 23, 22, 17, 21, 35, 53, 52, 38, + 35, 34, 7, 6, 21, 17, 35,178,203,160,209, 1, 19,151,145,203,174,194,193, 89, 87,203, 5,213,254, 59,100,149,142,254,213, 75, + 50,240,211,106,103,242,253,243, 0, 1, 0,178,255, 8, 4, 86, 5,213, 0, 15, 0, 0, 1, 17, 33, 50, 23, 22, 29, 1, 35, 53, + 52, 39, 38, 35, 33, 17, 1,125, 1,133,149, 95, 96,156, 48, 55, 81,253,176, 5,213,250,218, 91, 91,171, 70, 49,108, 42, 49, 5, +213, 0, 0, 0, 0, 1, 0,178,255,227, 5,231, 5,213, 0, 27, 0, 0, 1, 17, 16, 23, 22, 51, 50, 55, 54, 53, 17, 51, 17, 20, + 7, 6, 35, 34, 39, 38, 25, 1, 33, 17, 35, 17, 51, 17, 3,124, 37, 51,120,129, 42, 37,203,113, 88,210,198,100,113,254,204,203, +203, 4, 96,253,215,254,229, 62, 87, 87, 75,135, 2,176,253, 55,213,125, 98, 98,112, 1,105, 1,147,252, 79, 5,213,254,139, 0, + 0, 2, 0, 65,255,227, 7,153, 6,205, 0, 34, 0, 47, 0, 0, 1, 22, 17, 16, 0, 33, 32, 0, 17, 16, 55, 35, 6, 39, 38, 61, + 1, 51, 21, 20, 23, 22, 51, 33, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 35, 37, 34, 7, 6, 17, 16, 0, 32, 0, 17, 16, 39, 38, + 5,214,201,254,136,254,198,254,197,254,135,195,103,148, 96, 96,156, 48, 55, 81, 4,176,149, 95, 96,156, 48, 55, 81,253,168,225, +124,130, 1, 3, 1,184, 1, 1,128,121, 5, 38,225,254,164,254,159,254, 91, 1,164, 1, 98, 1, 99,218, 1, 92, 91,171, 70, 49, +108, 42, 49, 91, 91,171, 70, 49,108, 42, 49, 32,158,164,254,229,254,230,254,184, 1, 72, 1, 26, 1, 22,169,158, 0, 1, 0,178, + 0, 0, 5, 41, 5,213, 0, 20, 0, 0, 33, 35, 17, 6, 35, 32, 39, 38, 25, 1, 51, 17, 20, 22, 51, 50, 55, 54, 61, 1, 51, 5, + 41,203,160,209,254,237,152,144,203,174,194,193, 89, 87,203, 1,197,100,149,142, 1, 43, 2, 38,253,243,240,211,105,104,242,152, + 0, 1, 0,178,255, 8, 5, 41, 5,213, 0, 18, 0, 0, 9, 2, 33, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 35, 33, 53, 9, 1, + 3,117, 1,119,252,201, 2, 32,149, 95, 96,156, 48, 55, 81,252,221, 3, 49,254,107, 5,213,254,174,252, 44, 91, 91,171, 70, 49, +108, 42, 49,175, 3,192, 1,102, 0, 3, 0,143,255,210, 4,201, 5,240, 0, 38, 0, 44, 0, 54, 0, 0, 37, 6, 35, 34, 39, 38, + 55, 54, 51, 50, 23, 54, 55, 6, 7, 6, 35, 34, 0, 53, 52, 0, 51, 32, 23, 22, 3, 2, 7, 6, 7, 22, 55, 54, 55, 21, 6, 7, + 6, 37, 38, 7, 6, 23, 22, 18, 32, 54, 53, 52, 38, 32, 6, 21, 20, 2,174,110, 86,172, 73,103, 2, 5,201,178,148,131,114, 48, + 28, 73,124,224,254,251, 1, 16,226, 1, 8,131,155, 58, 55,190, 32, 36, 84, 46,129,126,103,152,154,254,206, 93, 42, 86, 31, 24, +181, 1, 16,159,159,254,240,159, 28, 64, 35, 50,110,245,154,119,239, 39, 17, 46, 1, 15,235,230, 1, 22,198,234,254,169,254,191, +204, 34, 37, 22, 3, 7,100,192, 89, 1, 3,198, 81, 4, 8, 60, 45, 2, 38,186,162,161,187,187,161,162, 0, 0, 0, 1, 0,178, +255, 8, 6,196, 5,242, 0, 30, 0, 0, 33, 17, 52, 38, 35, 34, 7, 6, 29, 1, 35, 53, 16, 0, 33, 32, 0, 25, 1, 51, 50, 23, + 22, 29, 1, 35, 53, 52, 39, 38, 35, 4, 94,174,194,197, 85, 87,203, 1, 33, 1, 27, 1, 26, 1, 33, 71,149, 95, 96,156, 48, 55, + 81, 3,139,240,211,106,106,239, 32, 57, 1, 36, 1, 42,254,214,254,220,253, 11, 91, 91,171, 70, 49,108, 42, 49, 0, 2, 0, 92, +255,226, 5,133, 5,213, 0, 13, 0, 43, 0, 0, 1, 17, 20, 22, 51, 50, 55, 54, 61, 1, 52, 39, 38, 35, 33, 35, 53, 51, 53, 52, + 55, 54, 51, 33, 21, 33, 34, 7, 6, 21, 33, 50, 23, 22, 21, 17, 35, 53, 6, 35, 32, 39, 38, 17, 1,217,174,194,193, 89, 87, 48, + 55, 81,253, 12,178,178, 96, 95,149, 3, 35,253, 12, 81, 55, 48, 2, 88,149, 95, 96,203,160,209,254,231,146,144, 3,177,254,152, +240,211,106,103,242,161,108, 42, 49,175, 20,171, 91, 91,175, 49, 42,107, 91, 91,171,253, 1, 70,100,149,148, 1, 37, 0, 0, 0, + 0, 1, 0,178,255,227, 6,196, 5,213, 0, 29, 0, 0, 1, 17, 16, 0, 33, 32, 0, 25, 1, 51, 17, 20, 22, 51, 50, 54, 53, 17, + 33, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 35, 5, 41,254,223,254,230,254,229,254,223,203,174,195,194,174, 1, 18,149, 95, 96, +156, 48, 55, 81, 5, 38,253, 11,254,220,254,214, 1, 42, 1, 36, 3,164,252,117,240,211,211,240, 3,139, 91, 91,171, 70, 49,108, + 42, 49, 0, 0, 0, 1, 0,140,255,227, 5, 83, 5,242, 0, 44, 0, 0, 19, 52, 55, 54, 33, 32, 23, 22, 21, 20, 7, 6, 7, 30, + 1, 21, 20, 4, 32, 36, 53, 51, 20, 23, 22, 32, 54, 53, 52, 38, 35, 33, 53, 33, 50, 54, 53, 52, 39, 38, 35, 34, 7, 6, 7,173, +155,144, 1, 23, 1, 20,147,155, 73, 73,129,146,163,254,247,253, 74,254,248,202, 82, 83, 1,232,166,165,245,253,191, 2, 65,230, +147, 99, 97,181,181, 97, 87, 11, 4,171,143, 96, 88, 88, 96,143,128, 91, 89, 32, 34,198,175,245,232,231,246,162, 78, 77,155,162, +167,154,159,130,116, 89, 49, 48, 48, 43, 74, 0, 0, 1, 0, 92,255,227, 6,110, 6,205, 0, 30, 0, 0, 1, 17, 20, 22, 51, 50, + 55, 54, 61, 1, 51, 21, 16, 0, 33, 32, 0, 25, 1, 35, 34, 39, 38, 61, 1, 51, 21, 20, 23, 22, 51, 2,194,174,194,197, 85, 87, +203,254,223,254,229,254,230,254,223, 71,149, 95, 96,156, 48, 55, 81, 5,213,252,117,240,211,105,107,239, 32, 57,254,220,254,214, + 1, 42, 1, 36, 2,245, 91, 91,171, 70, 49,108, 42, 49, 0, 0, 0, 1, 0,178,255,225, 5, 41, 6,147, 0, 32, 0, 0, 1, 20, + 23, 22, 51, 50, 55, 54, 61, 1, 51, 21, 16, 7, 6, 37, 36, 39, 38, 53, 16, 55, 54, 37, 55, 37, 53, 5, 21, 5, 4, 7, 6, 1, +122, 90, 91,190,195, 87, 87,203,145,159,254,244,254,208,123,144, 61,129, 1,115,150,253, 57, 4, 17,254,164,254,153, 87, 47, 2, + 7,175,104,105,105,107,239, 32, 57,254,220,149,165, 16, 18,131,155,234, 1, 38,100,224,161, 65,140,190,190,190,156,161,158, 85, + 0, 1, 0,178, 0, 0, 5, 41, 5,242, 0, 17, 0, 0, 51, 17, 16, 0, 33, 32, 0, 25, 1, 35, 17, 52, 38, 35, 34, 6, 21, 17, +178, 1, 33, 1, 27, 1, 26, 1, 33,203,174,194,195,174, 3,164, 1, 36, 1, 42,254,214,254,220,252, 92, 3,139,240,211,211,240, +252,117, 0, 0, 0, 1, 0,178,255, 66, 5, 41, 5,244, 0, 32, 0, 0, 1, 52, 39, 38, 35, 34, 7, 6, 29, 1, 35, 53, 16, 55, + 54, 5, 4, 23, 22, 21, 16, 7, 6, 5, 7, 5, 21, 37, 53, 37, 36, 55, 54, 4, 97, 90, 91,190,195, 87, 87,203,144,160, 1, 12, + 1, 48,122,145, 61,129,254,141,150, 2,199,251,239, 1, 92, 1,103, 87, 47, 3,206,175,103,106,106,106,239, 32, 57, 1, 36,149, +165, 16, 18,131,155,234,254,218,100,224,161, 65,140,190,190,190,156,161,158, 85, 0, 1, 0,178, 0, 0, 5,161, 5,242, 0, 24, + 0, 0, 1, 17, 35, 17, 6, 7, 6, 29, 1, 35, 53, 16, 55, 54, 33, 32, 23, 22, 25, 1, 35, 17, 52, 39, 38, 3,144,203,136, 75, +117,203,174,145, 1, 57, 1, 41,159,175,203,117, 66, 5, 71,252,148, 3,108, 19, 80,124,221, 32, 57, 1, 5,180,149,149,163,254, +234,252, 92, 3,139,204,141, 80, 0, 2, 0,155,255, 8, 4,186, 5,240, 0, 29, 0, 43, 0, 0, 37, 38, 39, 38, 17, 52, 0, 51, + 32, 23, 22, 3, 2, 3, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 35, 33, 17, 51, 21, 33, 55, 54, 55, 54, 39, 38, 39, 38, 32, 6, + 21, 20, 23, 22, 2,162, 69,240,202, 1, 16,226, 1, 8,131,155, 58, 52,231,149, 95, 96,156, 48, 55, 81,253, 53,203, 1, 20,171, +101, 15, 63, 28, 25, 55, 79,254,240,159,151,163,220,220,170,142, 1, 4,230, 1, 22,198,234,254,169,254,207,254,247, 91, 91,171, + 70, 49,108, 42, 49, 1, 76,157,195,194, 44,189,215,190, 64, 94,187,161,170,116,126, 0, 0, 0, 0, 1, 0,178, 0, 0, 6,196, + 5,242, 0, 31, 0, 0, 1, 51, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 43, 1, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, + 16, 0, 33, 32, 23, 22, 5, 23, 89,149, 95, 96,156, 48, 55, 81, 71,203,174,194,195,174,203, 1, 33, 1, 27, 1, 26,144, 90, 4, + 96, 91, 91,171, 70, 49,108, 42, 49,252, 79, 3,139,240,211,211,240,252,117, 3,164, 1, 36, 1, 42,149, 92, 0,255,255, 0,178, +255,227, 5, 41, 5,213, 18, 6, 0, 56, 0, 0, 0, 1, 0,178,255, 8, 6,196, 5,213, 0, 32, 0, 0, 41, 1, 50, 23, 22, 29, + 1, 51, 53, 52, 39, 38, 43, 1, 17, 35, 17, 20, 7, 6, 35, 34, 38, 61, 1, 35, 21, 16, 23, 22, 33, 50, 55, 4, 94, 1, 18, 81, + 55, 48,156, 96, 95,149, 71,203, 87, 89,193,194,174,203,144,152, 1, 19,209,160, 49, 42,108, 49, 70,171, 91, 91, 5, 38,253,243, +242,104,105,211,240,152,177,254,215,144,149,100,255,255, 0,135,255,227, 4,162, 5,240, 18, 6, 0, 54, 0, 0, 0, 1, 0,178, + 0, 0, 5, 41, 5,242, 0, 18, 0, 0, 51, 17, 16, 0, 33, 32, 23, 22, 17, 21, 35, 53, 52, 38, 35, 34, 6, 21, 17,178, 1, 33, + 1, 27, 1, 19,151,145,203,174,194,195,174, 3,164, 1, 36, 1, 42,149,142,254,213, 57, 32,240,211,211,240,252,117, 0, 0, 0, + 0, 2, 0,140,255,227, 5, 83, 5,242, 0, 43, 0, 57, 0, 0, 1, 30, 1, 21, 20, 4, 32, 36, 53, 51, 20, 23, 22, 32, 54, 53, + 52, 38, 35, 34, 7, 6, 7, 34, 35, 54, 55, 54, 55, 38, 39, 38, 53, 52, 55, 54, 33, 32, 23, 22, 21, 20, 7, 6, 1, 34, 7, 6, + 21, 20, 22, 51, 50, 54, 53, 52, 39, 38, 4, 30,146,163,254,247,253, 74,254,248,202, 82, 83, 1,232,166,165,245,226,101, 31, 5, +102,103, 3, 35, 82,146,129, 72, 74,155,147, 1, 19, 1, 20,147,155, 73, 73,254, 80,180, 97, 99,147,229,230,147, 99, 97, 3, 87, + 34,198,175,245,232,231,246,162, 78, 77,155,162,167,154, 77, 28, 12, 28, 42, 99, 34, 32, 89, 91,128,143, 96, 88, 88, 94,145,128, + 91, 89, 1,217, 48, 49, 89,116,130,130,116, 89, 49, 48, 0, 0, 0, 1, 0,178, 0, 0, 6, 12, 5,213, 0, 21, 0, 0, 1, 53, + 52, 38, 35, 34, 7, 6, 21, 17, 35, 17, 51, 17, 54, 51, 32, 23, 22, 23, 51, 21, 4, 94,174,194,193, 89, 87,203,203,160,209, 1, + 19,151,117, 24,231, 1,219, 50,240,211,106,103,242,253,243, 5,213,254, 59,100,149,115,226,175,255,255, 0,115, 0, 0, 5,217, + 5,213, 18, 6, 2,196, 0, 0, 0, 2, 0, 92, 0, 0, 5,227, 5,242, 0, 44, 0, 60, 0, 0, 1, 17, 52, 55, 54, 51, 50, 23, + 22, 21, 20, 7, 6, 35, 34, 39, 21, 33, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 35, 33, 17, 35, 17, 35, 34, 39, 38, 61, 1, 51, + 21, 20, 23, 22, 51, 1, 6, 7, 6, 21, 20, 23, 22, 23, 22, 55, 54, 53, 52, 39, 38, 1,208,146,141,235,244,132,145,145,132,244, +246, 73, 1,244,149, 95, 96,156, 48, 55, 81,254, 12,203, 32,149, 95, 96,156, 48, 55, 81, 2, 42,138, 93, 87, 87, 93,138,136, 95, + 87, 87, 95, 2,114, 2, 8,149,115,112,112,122,144,149,122,112, 83,218, 91, 91,171, 70, 49,108, 42, 49,254, 61, 1,195, 91, 91, +171, 70, 49,108, 42, 49, 2,220, 1, 65, 62, 84, 93, 61, 66, 1, 1, 68, 61, 91, 86, 62, 67, 0,255,255, 0,115,255,227, 5,217, + 5,240, 18, 6, 0, 50, 0, 0, 0, 3, 0,135,255,227, 4,162, 5,240, 0, 8, 0, 19, 0, 46, 0, 0, 1, 17, 54, 55, 54, 53, + 52, 39, 38, 1, 17, 52, 39, 34, 7, 6, 21, 20, 23, 22, 5, 23, 30, 1, 21, 20, 4, 33, 34, 38, 39, 53, 22, 23, 22, 23, 17, 38, + 39, 38, 53, 52, 55, 54, 51, 50, 21, 2,185,113, 71, 94, 67, 67,254,188, 57, 53, 43, 26, 60, 38, 1, 5, 48,226,215,254,221,254, +231,106,239,128,123,118, 69, 66,190, 91,101, 75, 91,165,231, 2,148,253,248, 11, 52, 68,126,110, 62, 61, 1, 18, 1,132, 62, 2, + 64, 37,145, 99, 51, 31, 65, 10, 43,217,182,217,224, 48, 47,208, 69, 35, 20, 10, 2, 44, 44, 87, 96,171,215, 97,114,201, 0, 0, +255,255, 0,117, 3,239, 1,135, 6, 20, 16, 6, 2, 24, 0, 0,255,255, 0,178, 3,254, 1,215, 5,213, 16, 6, 2, 21, 0, 0, + 0, 1, 0, 94, 4,241, 3,169, 6,194, 0, 3, 0, 0, 1, 35, 1, 51, 1, 51,213, 2,118,213, 4,241, 1,209, 0, 1, 0,120, + 4,241, 3,134, 7, 37, 0, 17, 0, 0, 1, 34, 7, 6, 21, 35, 52, 55, 54, 51, 50, 55, 54, 53, 51, 20, 7, 6, 1,255, 91, 82, + 66,152,104,106,181, 91, 82, 66,152,104,106, 5,205, 84, 68, 68,130,106,108, 84, 68, 68,130,106,108, 0, 0, 0,255,255, 0,158, + 4,240, 2,125, 6,102, 16, 6, 0, 67,244, 0, 0, 1, 0, 94, 4,229, 3,189, 7, 55, 0, 21, 0, 0, 19, 35, 52, 55, 18, 33, + 32, 23, 18, 33, 34, 17, 51, 20, 51, 50, 39, 38, 39, 38, 7, 6,252,158, 32,113, 1, 51, 1, 85, 55, 75,254,193,251,152, 97,121, + 38, 34,205,206, 57, 25, 4,241,211, 83, 1, 32,252,254,170, 1, 8,122,158,140, 2, 1,179, 78, 0, 1, 0, 90, 4,241, 3,178, + 7, 37, 0, 5, 0, 0, 27, 1, 51, 3, 33, 21, 90,170,170,125, 2,129, 4,241, 2, 52,254, 98,150, 0, 0, 0, 0, 1, 0,186, +255,230, 7, 29, 4, 98, 0, 38, 0, 94, 64, 17, 0, 18, 20, 30, 27, 8, 29, 80, 18, 8, 20, 80, 10, 8, 8, 70, 39, 16,252,236, +252,252,252,252, 60, 17, 18, 57, 49, 64, 22, 7, 20, 10, 26, 17, 0, 6, 31, 8, 13, 23,135, 31, 4, 35,140, 29, 27, 18, 8,188, + 29, 0, 47,244, 60, 60, 16,244, 60,196,236, 50, 17, 18, 23, 57, 48, 64, 19, 48, 40, 80, 40,112, 40,144, 40,160, 40,160, 40,191, + 40,223, 40,255, 40, 9, 1, 93, 37, 6, 7, 6, 35, 34, 38, 53, 17, 51, 17, 20, 22, 51, 50, 55, 54, 53, 17, 51, 17, 20, 22, 51, + 50, 54, 53, 17, 51, 17, 35, 53, 6, 7, 6, 35, 34, 39, 38, 3,174, 69, 96, 96,130,175,190,185,114,117,143, 83, 83,185,114,119, +141,166,185,185, 63, 88, 88,121,122, 86, 85,216,124, 58, 60,246,226, 2,164,253, 98,162,156, 96, 94,164, 2,122,253, 98,162,156, +192,162, 2,122,251,160,174,104, 48, 50, 62, 62, 0, 1, 0,186,254, 86, 4,100, 4,123, 0, 23, 0, 63, 64, 30, 1, 7, 22, 3, + 16, 10, 4,135, 16, 19,184, 14,188, 10, 23, 9,169, 10, 0, 8, 9, 22, 78, 11, 15, 7, 8, 13, 70, 24, 16,252,236, 50, 50,244, + 60,236, 49, 0, 47,252,204, 16,228,244,196,236, 17, 18, 23, 57, 48,180, 96, 25,207, 25, 2, 1, 93, 1, 17, 52, 38, 35, 34, 6, + 21, 17, 33, 21, 33, 17, 35, 17, 51, 21, 62, 1, 51, 50, 22, 21, 17, 3,172,124,124,149,172, 2,241,253, 15,185,185, 66,179,117, +193,198, 1, 44, 1,114,159,158,190,164,254, 54,175,254, 86, 6, 10,174,101,100,239,232,254,136, 0, 2, 0,113,254, 86, 5, 47, + 4,123, 0, 11, 0, 32, 0, 60, 64, 14, 34, 30, 26, 14, 6, 8, 12, 28, 71, 0, 18, 20, 69, 33, 16,252,236,244, 60,236, 50, 50, +220,212, 49, 64, 18, 3,185, 14, 17, 9,185, 26, 23,184, 17,140, 30,169, 12,189, 27,188, 33, 0, 16,228,228,236,228,244,196,236, + 16,198,238, 48, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 1, 35, 17, 14, 1, 35, 34, 2, 17, 16, 0, 51, 50, 22, 23, 53, + 51, 17, 51, 21, 35, 1, 47,167,146,146,168,168,146,146,167, 3, 43,184, 58,177,124,203,255, 0,255,203,124,177, 58,184,213,213, + 2, 47,203,231,231,203,203,231,231,251, 92, 2, 82,100, 97, 1, 68, 1, 8, 1, 8, 1, 68, 97,100,170,252, 79,175, 0, 0, 0, + 0, 1, 0,186,254, 86, 5, 57, 4,123, 0, 23, 0, 61, 64, 13, 25, 22, 3, 8, 0, 21, 78, 9, 13, 8, 12, 70, 24, 16,252,236, + 50,244, 60,236,220,196, 49, 64, 13, 6,135, 14, 17,184, 12,188, 2,189, 21,169, 11, 0, 0, 47, 60,236,236,228,244,196,236,181, + 9, 3, 20, 3, 14, 10, 17, 18, 23, 57, 48, 33, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 22, 21, + 17, 51, 21, 4,100,184,124,124,149,172,185,185, 66,179,117,193,198,213,254, 86, 4, 72,159,158,190,164,253,135, 4, 96,174,101, +100,239,232,254, 11,175, 0, 0, 0, 1, 0,174,255,227, 4, 88, 6, 20, 0, 26, 0, 63, 64, 30, 7, 15, 0, 3, 20, 3, 11,135, + 20, 23,140, 18, 17, 5,169, 4,188, 18, 19, 15, 8, 4, 17, 78, 6, 2, 8, 0, 70, 27, 16,252,236, 50,244, 60,236, 50, 49, 0, + 47,244,252,204, 16,244,196,236, 17, 18, 23, 57, 48,180, 96, 28,207, 28, 2, 1, 93, 19, 17, 51, 17, 33, 21, 33, 17, 20, 23, 22, + 51, 50, 55, 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 39, 38,174,184, 2,242,253, 14, 62, 62,124,152, 84, 86,184,184, 67,177, +117,193,100,100, 1,186, 4, 90,254, 76,170,254, 11,159, 80, 79, 95, 98,161, 1, 59,252,224,172,102, 99,120,120, 0, 2, 0,113, +254, 86, 5, 47, 4,123, 0, 18, 0, 30, 0, 60, 64, 13, 32, 1, 16, 4, 25, 8, 18, 71, 19, 18, 10, 69, 31, 16,252,236,244,236, + 50, 50,220,212, 49, 64, 19, 22,185, 4, 7, 28,185, 16, 13,184, 7,140, 31, 1,169, 2,189, 17,188, 31, 0, 16,228,244,236, 16, +228,244,196,236, 16,198,238, 48, 1, 51, 21, 33, 17, 14, 1, 35, 34, 2, 17, 16, 0, 51, 50, 22, 23, 53, 51, 1, 20, 22, 51, 50, + 54, 53, 52, 38, 35, 34, 6, 4, 90,213,254,115, 58,177,124,203,255, 0,255,203,124,177, 58,184,252,213,167,146,146,168,168,146, +146,167,254,248,162, 2, 82,100, 97, 1, 68, 1, 8, 1, 8, 1, 68, 97,100,170,253,207,203,231,231,203,203,231,231, 0, 0, 0, + 0, 1, 0,174,255, 26, 3,224, 6, 20, 0, 19, 0, 44, 64, 12, 21, 5, 15, 18, 14, 5, 8, 3, 8, 1, 70, 20, 16,252,252, 60, +220,212,236, 16,196, 49, 64, 10, 7,169, 4,188, 14, 9,169, 2,151, 1, 0, 47,228,236,204,244,236, 48, 41, 1, 17, 51, 17, 33, + 21, 33, 17, 51, 50, 23, 22, 29, 1, 35, 53, 52, 39, 38, 2, 83,254, 91,184, 2,122,253,134,237,152, 77, 96,156, 48, 49, 6, 20, +254, 76,170,252,249, 73, 91,171, 70, 49,105, 38, 38, 0, 0, 0, 0, 1, 0,186,254, 86, 4,100, 4,123, 0, 21, 0, 62, 64, 30, + 1, 7, 20, 3, 14, 21, 4,135, 14, 17,184, 12,188, 21, 9,169, 10,189, 21, 0, 8, 9, 20, 78, 13, 7, 8, 11, 70, 22, 16,252, +236, 50,244, 60,236, 49, 0, 47,252,236, 16,228,244,196,236, 17, 18, 23, 57, 48,180, 96, 23,207, 23, 2, 1, 93, 33, 17, 52, 38, + 35, 34, 6, 21, 17, 33, 21, 33, 17, 51, 21, 62, 1, 51, 50, 22, 21, 17, 3,172,124,124,149,172, 2,241,252, 86,185, 66,179,117, +193,198, 2,158,159,158,190,164,252,140,175, 6, 10,174,101,100,239,232,253, 92, 0, 2, 0,186,254, 86, 5, 54, 4,123, 0, 32, + 0, 41, 0,117, 64, 12, 43, 19, 1, 18, 18, 71, 7, 11, 8, 9, 70, 42, 16,252,236, 50,244,236,220,196,179, 36, 18, 29, 7, 16, +220,252,179, 33, 18, 21, 18, 16,212,236,178, 0, 33, 36, 73, 83, 88,179, 29, 9, 36, 7, 16, 60, 16, 60, 89, 49, 64, 15, 38,185, + 25,140, 42, 4,185, 12, 15,184, 11,188, 9,189, 42, 0, 16,236,228,244,196,236, 16,244,236, 64, 6, 18, 1,169, 21, 33, 38, 16, +220, 60,252, 60,178, 0, 4, 1, 73, 83, 88,181, 18, 1,169, 21, 33, 38, 16, 60, 60,252, 60, 89, 48, 1, 51, 52, 38, 35, 34, 6, + 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 0, 17, 51, 21, 35, 6, 7, 6, 7, 6, 39, 38, 53, 52, 55, 54, 5, 35, 34, 23, 22, 51, + 50, 55, 54, 3, 35,194,167,146,146,167,185,185, 58,177,123,204, 0,255,146,162, 29, 53, 96,172,160, 52,120, 66,100, 1, 66,152, +159, 5, 5,139, 74, 52, 28, 2, 47,203,231,231,203,252, 39, 6, 10,170,100, 97,254,188,254,248,175,161, 90,161, 1, 2, 43,104, +124,123, 78,118,175,144,113,113, 60, 0, 0, 0, 0, 2, 0,113,255,227, 5, 47, 6, 20, 0, 12, 0, 31, 0, 52, 64, 13, 33, 30, + 0, 27, 8, 13, 29, 71, 5, 18, 21, 69, 32, 16,252,236,244, 60,236, 50,220,196, 49, 64, 14, 8,185, 18,140, 32, 31, 0,169, 26, + 29,188, 28,151, 32, 0, 16,228,244, 60,252, 60, 16,244,236, 48, 1, 33, 34, 7, 6, 21, 20, 22, 51, 50, 55, 54, 53, 19, 17, 16, + 5, 6, 35, 34, 2, 17, 52, 55, 54, 51, 33, 17, 51, 17, 51, 21, 3,162,254,198,136, 98, 79,167,146,154, 77, 83,184,254,236, 75, +149,246,255,127,125,249, 1, 60,184,213, 3,182,122, 97,172,203,231,107,115,212, 1,135,254, 67,254,175,154, 43, 1, 68, 1, 8, +223,171,167, 1,180,254, 76,170, 0, 1, 0,186,254, 86, 4,100, 6, 20, 0, 19, 0, 53, 64, 26, 3, 9, 0, 3, 14, 1, 6,135, + 14, 17,184, 12,151, 10,189, 1, 2, 8, 0, 78, 13, 9, 8, 11, 70, 20, 16,252,236, 50,244,236, 49, 0, 47,236,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,251,221, 7,190,253,158,101,100,239, + 0, 1, 0,193,254, 86, 2,215, 4, 96, 0, 5, 0, 32, 64, 7, 7, 1, 5, 8, 3, 70, 6, 16,252,252,212,196, 49, 0, 64, 8, + 4,188, 6, 0,169, 3,189, 6, 16,244,228, 16,228, 48, 1, 33, 21, 33, 17, 51, 1,121, 1, 94,253,234,184,254,248,162, 6, 10, + 0, 1, 0,186,254, 86, 7, 28, 6, 20, 0, 40, 0,105, 64, 15, 32, 29, 8, 31, 80, 40, 8, 20, 80, 8, 11, 8, 9, 70, 41, 16, +252,236, 50,244,252,244,252, 60, 49, 64, 18, 4,135, 12, 16,184, 31, 25,135, 33, 36,140, 29,188, 10,151, 8,189, 31, 0, 47,236, +228,228,244,196,236, 16,244,196,236,181, 40, 21, 28, 3, 33, 29, 17, 18, 23, 57,181, 20, 0, 7, 3, 12, 32, 17, 18, 23, 57, 48, + 64, 19, 48, 41, 80, 41,112, 41,144, 41,160, 41,160, 41,191, 41,223, 41,255, 41, 9, 1, 93, 1, 52, 39, 38, 35, 34, 6, 21, 17, + 35, 17, 51, 17, 54, 55, 54, 51, 50, 23, 22, 29, 1, 20, 23, 22, 51, 50, 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 39, 38, 53, + 3,143, 62, 62,124,120,172,185,185, 99, 38, 89,107,193, 99, 99, 62, 56,110,140,173,184,184, 67,177,108,175, 98,100, 2,158,159, + 79, 79,190,164,251,221, 7,190,253,158,129, 22, 50,119,120,232,227,151, 88, 79,190,164, 2,123,251,160,172,102, 99,120,123,228, + 0, 2, 0,113,255,226, 4,188, 6, 20, 0, 14, 0, 48, 0, 92, 64, 11, 50, 32, 12, 18, 36, 71, 5, 18, 44, 69, 49, 16,252,236, +244,236,220,196,180, 18, 18, 27, 23, 44, 16,220,220,236, 49, 64, 17, 1, 32,169, 48, 31,188, 49, 24,169, 23,151, 49, 8,185, 40, +140, 49, 0, 16,244,236, 16,244,236, 16,244, 60,252, 60, 48,180, 33, 30, 34, 29, 34, 5, 7, 16, 60, 60,181, 0, 17, 33, 15, 17, + 30, 16,236, 16,236,178, 14, 16, 0, 16, 60, 60, 1, 35, 34, 7, 6, 21, 20, 22, 51, 50, 55, 54, 55, 54, 39, 1, 39, 38, 53, 52, + 55, 54, 59, 1, 21, 35, 38, 23, 22, 31, 1, 33, 21, 33, 19, 22, 21, 20, 7, 6, 39, 38, 39, 38, 17, 52, 55, 54, 51, 2,195, 91, +165, 65, 83,167,146,173, 93, 46, 3, 2, 23,254,221, 83, 22, 68, 56, 49,147, 78, 47, 1, 1, 15, 86, 1,144,254,201,174, 33,133, +135,226,247,127,127,127,113,218, 3,182, 90,115,186,203,231,150, 73, 82, 92, 43, 2, 43,152, 40, 86, 76, 45, 37,175, 1, 41, 36, + 27,158,170,254,182, 63,137,166,141,143, 1, 1,161,162, 1, 8,235,174,152, 0, 0, 1, 0,174,254, 86, 4, 88, 6, 20, 0, 19, + 0, 58, 64, 28, 3, 9, 0, 3, 14, 10, 6,135, 14, 17,140, 1,151, 10,188, 12,189, 20, 13, 9, 8, 11, 78, 2, 8, 0, 70, 20, + 16,252,236,244,236, 50, 49, 0, 16,236,228,228,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, 17, 14, 1, 35, 34, 38,174,184,124,124,149,173,184,184, 67,177,117,193,200, 1,186, 4, + 90,251,173,159,159,190,164, 2,123,249,246, 2, 86,102, 99,240,255,255, 0,186, 0, 0, 4,100, 6, 20, 18, 6, 0, 75, 0, 0, + 0, 2, 0,113,255,227, 4, 90, 6, 20, 0, 11, 0, 52, 0,101, 64, 10, 18, 6, 8, 16, 71, 0, 18, 25, 69, 53, 16,252,236,244, +252, 60, 64, 13, 40, 18, 39, 39, 42, 37, 37, 18, 42, 30, 18, 51, 16, 16,220,252,212,236, 17, 18, 57, 47,236,178, 12, 16, 28, 17, + 18, 57, 49, 64, 16, 46,169, 32, 9,185, 28,184, 18, 3,185, 19, 22,140, 39,151, 18, 0, 47,228,244,196,236, 16,244,236,220,236, +178, 12, 9, 28, 17, 18, 57, 48, 64, 9, 96, 54,128, 54,160, 54,224, 54, 4, 1, 93, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, + 6, 1, 22, 23, 22, 25, 1, 35, 53, 14, 1, 35, 34, 2, 17, 16, 0, 51, 50, 53, 38, 43, 1, 34, 39, 38, 53, 52, 55, 51, 6, 21, + 20, 23, 22, 59, 1, 50, 23, 22, 21, 20, 1, 47,167,146,146,168,168,146,146,167, 1,233,110, 68,144,184, 58,177,124,203,255, 1, + 0,202, 87, 1, 67,118, 62, 31, 30, 33,184, 37, 8, 17, 26,147, 55, 41, 29, 2, 47,203,231,231,203,203,231,231, 1,107, 29, 80, +168,254,219,253,213,168,100, 97, 1, 68, 1, 8, 1, 8, 1, 69, 60, 54, 29, 29,112, 71, 53, 80, 48, 14, 7, 15, 44, 33, 75, 55, + 0, 1, 0,186,254, 86, 5, 57, 4,123, 0, 21, 0, 59, 64, 12, 23, 0, 3, 8, 21, 78, 9, 13, 8, 12, 70, 22, 16,252,236, 50, +244,236,220,196, 49, 64, 13, 6,135, 14, 17,184, 12,188, 11, 0,169, 2,189, 11, 0, 47,252,236, 16,228,244,196,236,181, 9, 3, + 20, 3, 14, 10, 17, 18, 23, 57, 48, 1, 21, 33, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 22, 21, 17, 5, + 57,254,115,124,124,149,172,185,185, 66,179,117,193,198,254,248,162, 4, 72,159,158,190,164,253,135, 4, 96,174,101,100,239,232, +252, 84, 0, 0, 0, 2, 0,174,255,227, 4, 88, 6, 20, 0, 29, 0, 45, 0, 98, 64, 12, 2, 40, 8, 20, 0, 78, 32, 8, 14, 10, + 70, 46, 16,252, 60,236,244, 60,236, 50,182, 16, 13, 45, 26, 4, 0, 14, 17, 18, 23, 57,183, 25, 8, 16, 30, 8, 13, 16, 13, 7, + 16,236, 16,236, 1,176, 13, 47, 49, 64, 18, 37,135, 3, 6,140, 1, 30, 14,169, 25, 15,188, 1, 21,134, 20,151, 1, 0, 47,244, +236, 16,244, 60,252, 60, 16,244,196,236,181, 33, 10, 40, 3, 15, 3, 17, 18, 23, 57, 48, 1, 17, 35, 53, 14, 1, 35, 34, 39, 38, + 61, 1, 52, 55, 35, 53, 51, 54, 55, 36, 55, 21, 6, 7, 6, 7, 51, 50, 23, 22, 37, 6, 29, 1, 20, 23, 22, 51, 50, 54, 61, 1, + 52, 39, 38, 35, 4, 88,184, 67,177,117,195, 98,100,122,122,218,112,152, 1, 27,173,141,221, 62, 66,105,176,130, 79,253,152,138, + 62, 65,121,149,173, 26, 99, 87, 2, 32,253,224,172,102, 99,120,123,228, 73,233,202,170,128, 96,174, 38,175, 36,132, 37, 56,195, +118,143,198,229, 74,162, 77, 79,190,164, 59,207, 41,158, 0, 0, 0, 1, 0,174,255,227, 5, 10, 6, 20, 0, 43, 0, 63, 64, 15, + 45, 23, 17, 18, 28, 37, 9, 8, 36, 78, 2, 8, 0, 70, 44, 16,252,236,244,236, 50,220,236,220,196, 49, 64, 19, 0, 3, 9, 3, + 38, 1, 23,169, 22,151, 36, 6,135, 38, 41,140, 1,188, 36, 0, 47,228,244,196,236, 16,244,236, 17, 18, 23, 57, 48, 19, 17, 51, + 17, 20, 22, 51, 50, 54, 53, 17, 52, 39, 38, 47, 1, 38, 55, 54, 55, 54, 59, 1, 21, 35, 34, 7, 6, 21, 20, 31, 1, 22, 23, 22, + 21, 17, 35, 53, 14, 1, 35, 34, 38,174,184,124,124,149,173, 3, 3, 10, 77, 46, 1, 4, 61, 60,139,236,236, 40, 21, 24, 17, 96, + 19, 4, 7,184, 67,177,117,193,200, 1,186, 2,166,253, 97,159,159,190,164, 1,151, 19, 22, 32, 23,188,112, 48,129, 46, 45,175, + 9, 11, 23, 31, 42,243, 47, 23, 40, 20,252,132,172,102, 99,240,255,255,255,219,254, 86, 1,121, 4, 96, 18, 6, 1,249, 0, 0, + 0, 1, 0, 49,255,227, 5, 90, 6, 20, 0, 35, 0, 71, 64, 15, 37, 14, 11, 8, 12, 78, 3, 8, 22, 27, 33, 0, 18, 27, 36, 16, +212,252,204, 16,220,236,244,236, 50,196, 49, 64, 23, 10, 4, 21, 3, 15, 12, 33,169, 32,151, 13, 22,169, 3, 12,188, 13, 7,135, + 15, 18,140, 13, 0, 47,244,196,236, 16,244, 60,236, 16,244,236, 17, 18, 23, 57, 48, 19, 20, 59, 1, 17, 20, 22, 51, 50, 54, 53, + 17, 51, 17, 35, 53, 14, 1, 35, 34, 38, 53, 17, 35, 34, 39, 38, 55, 54, 55, 54, 59, 1, 21, 35, 34,242,131,243,124,124,149,173, +184,184, 67,177,117,193,200, 59,149, 94, 83, 3, 3, 87,115,118, 89, 89,131, 4,234,138,253, 97,159,159,190,164, 2,123,251,160, +172,102, 99,240,231, 1,252, 94, 83,145,131, 66, 87,175, 0, 0, 0, 1, 0,159,254, 86, 3,150, 4,124, 0, 31, 0, 84, 64, 12, + 33, 69, 16, 18, 5, 29, 2, 18, 11, 22, 70, 32, 16,252, 60,236,212, 60,236,228, 49, 64, 13, 5,169, 6,189, 32, 22,134, 23, 20, +185, 25,184, 32, 0, 16,244,236,212,236, 16,252,236, 48, 64, 10, 0, 31, 29, 31, 17, 0, 17, 13, 14, 13, 7, 5, 16,236,236, 1, + 73, 80, 88,177, 31, 29, 16, 60, 89,179, 30, 31, 14, 13, 7, 4, 16, 60, 5, 6, 21, 20, 51, 33, 21, 33, 34, 39, 38, 39, 38, 55, + 1, 54, 39, 38, 39, 38, 7, 6, 7, 53, 54, 23, 22, 23, 22, 21, 20, 7, 1,134, 14, 47, 1,238,253,195, 87, 58, 37, 2, 2, 38, + 1,205, 68, 1, 1, 47, 67,141,120,188,188,161,195,132, 81, 69,192, 19, 21, 32,162, 69, 44, 65, 56, 56, 2,173,102, 93, 68, 64, + 90, 1, 1,120,198,106, 1, 1,170,104,136,154,101, 0, 0, 0,255,255, 0,186, 0, 0, 4,100, 4,123, 18, 6, 0, 81, 0, 0, + 0, 1, 0, 70,254, 86, 3, 59, 4, 96, 0, 37, 0, 88, 64, 17, 16, 18, 35, 35, 5, 26, 39, 5, 11, 26, 30, 18, 21, 2, 18, 11, + 38, 16,212,236,220,236,204, 16,220,196, 17, 18, 57, 47,236, 49, 64, 14, 35, 16, 5, 27, 27,169, 26,188, 38, 5,169, 6,189, 38, + 0, 16,252,236, 16,244,236, 17, 18, 57, 57, 48,182, 37, 17, 0, 17, 13, 14, 13, 7, 4, 16,236,236,182, 19, 17, 18, 17, 32, 33, + 32, 7, 4, 16,236,236, 5, 6, 21, 20, 51, 33, 21, 33, 34, 39, 38, 53, 52, 55, 1, 54, 55, 54, 47, 1, 38, 53, 52, 55, 54, 59, + 1, 21, 35, 38, 21, 20, 31, 1, 22, 21, 20, 7, 1, 40, 14, 51, 1,238,253,195, 87, 58, 39, 36, 1, 70, 31, 1, 2, 91,149, 76, + 22, 50,214,115,101, 96, 54,142,103, 43,182, 17, 33, 32,162, 69, 47, 62, 65, 47, 1,173, 40, 60, 69, 99,163, 83,101, 40, 50,122, +175, 1, 58, 46, 59,155,112,110,117, 57, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 16, 6, 2, 6, 0, 0, 0, 2, 0,159, +254, 86, 3,150, 4,123, 0, 27, 0, 41, 0, 99, 64, 14, 43, 69, 40, 18, 5, 25, 2, 18, 11, 34, 18, 17, 69, 42, 16,252,236, 60, +236,212, 60,236,228, 49, 64, 10, 5,169, 6,189, 42, 30,185, 21,184, 42, 0, 16,244,236, 16,252,236, 48, 64, 11, 26, 27, 27, 17, + 0, 17, 37, 14, 13, 38, 13, 7, 5, 16, 60, 60,236,236, 4, 16, 60,178, 0, 27, 25, 1, 73, 80, 88,177, 27, 25, 16, 60, 89, 64, + 9, 37, 17, 36, 17, 14, 38, 13, 15, 14, 7, 8, 16,236,236, 5, 6, 21, 20, 51, 33, 21, 33, 34, 39, 38, 39, 38, 63, 1, 3, 38, + 53, 52, 55, 54, 51, 50, 23, 22, 21, 20, 7, 3, 38, 35, 34, 7, 6, 21, 20, 23, 27, 1, 54, 39, 38, 1,134, 14, 47, 1,238,253, +195, 87, 58, 37, 2, 2, 38,145,141, 40, 96, 91,175,212,115, 68, 69,159, 72,100, 59, 54, 59, 33, 88,191, 68, 1, 1,192, 19, 21, + 32,162, 69, 44, 65, 55, 57,217, 1,228,137, 70,163,109,103,171,101,139,154,101, 1,139, 89, 45, 49,103, 60,120,254,191, 1, 26, +101, 94, 89, 0, 0, 1, 0,186, 0, 0, 4,116, 4,123, 0, 28, 0,103, 64, 13, 28, 9, 2, 18, 25, 21, 78, 13, 9, 8, 11, 70, + 29, 16,252,236, 50,244, 60,236, 16,220, 49, 64, 12, 6,135, 14, 17,184, 12,188, 28, 25,169, 26, 10, 0, 47, 60,236, 50,228,244, +196,236,181, 21, 2, 9, 3, 14, 10, 17, 18, 23, 57, 48,177, 23, 0, 16, 60, 64, 8, 23, 17, 0, 24, 17, 28, 0, 28, 7, 5, 16, +236, 16,236, 1,178, 0, 23, 21, 73, 80, 88,177, 23, 21, 16, 60, 89,180, 96, 30,207, 30, 2, 1, 93, 1, 54, 55, 54, 39, 38, 35, + 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 23, 22, 21, 20, 7, 1, 33, 21, 33, 53, 3, 82, 90, 1, 1, 64, 62,124,149,172, +185,185, 66,179,117,205,127, 65, 71,254,250, 1, 87,253,223, 1,232,110,132, 96, 82, 79,190,164,253,135, 4, 96,174,101,100,185, + 94,119,176, 85,254,199,175,175,255,255, 0,174,255,227, 4, 88, 4, 96, 18, 6, 0, 88, 0, 0, 0, 1, 0,174,254, 86, 5, 45, + 6, 20, 0, 21, 0, 61, 64, 12, 23, 13, 15, 9, 8, 11, 78, 2, 8, 0, 70, 22, 16,252,236,244,236, 50,220,196, 49, 64, 21, 3, + 9, 0, 3, 16, 1, 6,135, 16, 19,140, 10,151, 1,188, 22, 13,169, 15,189, 22, 0, 16,252,236, 16,228,228,244,196,236, 17, 18, + 23, 57, 48, 19, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 51, 21, 33, 17, 14, 1, 35, 34, 38,174,184,124,124,149,173,184, +213,254,115, 67,177,117,193,200, 1,186, 2,166,253, 97,159,159,190,164, 4, 47,248,228,162, 2, 86,102, 99,240, 0, 1, 0,174, +255,227, 7, 28, 4,123, 0, 37, 0,105, 64, 15, 12, 8, 10, 80, 21, 1, 8, 2, 20, 80, 31, 8, 29, 70, 38, 16,252,236,252, 60, +252, 60,252,236, 49, 64, 17, 15,135, 3, 6,184, 10, 34,135, 22, 25,140, 10, 1, 29,188, 20, 10, 0, 47, 60,244, 60, 16,244,196, +236, 16,244,196,236,181, 28, 31, 0, 3, 22, 29, 17, 18, 23, 57,181, 9, 12, 19, 3, 3, 10, 17, 18, 23, 57, 48, 64, 19, 48, 39, + 80, 39,112, 39,144, 39,160, 39,160, 39,191, 39,223, 39,255, 39, 9, 1, 93, 1, 17, 51, 21, 62, 1, 51, 50, 22, 21, 17, 35, 17, + 52, 38, 35, 34, 7, 6, 21, 17, 35, 53, 14, 1, 35, 34, 38, 53, 17, 51, 17, 20, 22, 51, 50, 55, 54, 3,143,184, 66,179, 89,193, +198,184,124,124,122, 85, 86,184, 67,177,100,193,200,184,124,124,130, 88, 87, 1,229, 2,123,174,101,100,239,232,253, 92, 2,158, +159,158, 95, 96,163,253,135,172,102, 99,240,231, 2,166,253, 97,159,159, 95, 92, 0, 1, 0,186,254, 86, 4,100, 4,123, 0, 19, + 0, 55, 64, 26, 3, 9, 0, 3, 14, 1, 6,135, 14, 17,184, 12,188, 10,189, 1, 2, 8, 0, 78, 13, 9, 8, 11, 70, 20, 16,252, +236, 50,244,236, 49, 0, 47,236,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,251,221, 6, 10,174,101,100,239, 0, 0, 0,255,255, 0,113,254, 86, 4, 90, 4,123, 18, 6, 0, 74, 0, 0, + 0, 1, 0,193, 0, 0, 2,215, 4, 96, 0, 5, 0, 29, 64, 7, 7, 1, 5, 8, 3, 70, 6, 16,252,252,212,196, 49, 0, 64, 6, + 4,188, 3, 1,169, 2, 47,236, 16,228, 48, 37, 33, 21, 33, 17, 51, 1,121, 1, 94,253,234,184,175,175, 4, 96, 0, 1, 0,174, +254, 86, 7, 28, 6, 20, 0, 37, 0,107, 64, 15, 12, 8, 10, 80, 21, 1, 8, 2, 20, 80, 31, 8, 29, 70, 38, 16,252,236,252, 60, +252, 60,252,236, 49, 64, 19, 15,135, 3, 6,184, 10, 34,135, 22, 25,140, 10, 29,188, 1,151, 20,189, 10, 0, 47,236,228,244, 16, +244,196,236, 16,244,196,236,181, 28, 31, 0, 3, 22, 29, 17, 18, 23, 57,181, 9, 12, 19, 3, 3, 10, 17, 18, 23, 57, 48, 64, 19, + 48, 39, 80, 39,112, 39,144, 39,160, 39,160, 39,191, 39,223, 39,255, 39, 9, 1, 93, 1, 17, 51, 17, 62, 1, 51, 50, 22, 21, 17, + 35, 17, 52, 38, 35, 34, 7, 6, 21, 17, 35, 17, 14, 1, 35, 34, 38, 53, 17, 51, 17, 20, 22, 51, 50, 55, 54, 3,143,184, 66,179, + 89,193,198,184,124,124,118, 89, 86,184, 67,177,100,193,200,184,124,124,130, 88, 87, 1,229, 4, 47,253,158,101,100,239,232,253, + 92, 2,158,159,158, 95, 92,167,251,221, 2, 86,102, 99,240,231, 2,166,253, 97,159,159, 95, 92, 0, 2, 0, 0,254, 86, 4,191, + 4,123, 0, 24, 0, 36, 0, 85, 64, 16, 38, 69, 11, 19, 25, 18, 11, 71, 31, 22, 4, 18, 8, 23, 2, 1, 47,220, 60,236, 50, 50, + 50,244,236,196, 16,228, 49, 64, 22, 34,185, 17, 14, 28,185, 5, 8,184, 14,140, 37, 20, 24,169, 18, 2, 22,189, 3,188, 37, 0, + 16,228,236,220, 60,252, 60, 16,228,244,196,236, 16,196,238,178, 0, 22, 24, 73, 80, 88,177, 22, 24, 16, 60, 89, 48, 21, 53, 51, + 17, 51, 21, 62, 1, 51, 50, 0, 17, 16, 2, 35, 34, 38, 39, 17, 33, 21, 33, 21, 35, 53, 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, + 50, 54,213,185, 58,177,123,204, 0,255,255,204,123,177, 58, 2,233,253, 23,185, 3, 43,167,146,146,167,167,146,146,167,250,150, + 4,196,170,100, 97,254,188,254,248,254,248,254,188, 97,100,254,244,150,176,176, 3, 41,203,231,231,203,203,231,231, 0, 0, 0, +255,255, 0,113,255,227, 4,117, 4,123, 18, 6, 0, 82, 0, 0, 0, 3, 0,122,254, 86, 4,150, 6, 43, 0, 34, 0, 45, 0, 54, + 0,117, 64, 17, 56, 51, 18, 28, 32, 22, 46, 8, 0, 35, 10, 42, 18, 5, 14, 69, 55, 16,252, 60,236,220, 60, 60,252, 60, 60,220, +236,196, 49, 64, 18, 5,134, 4, 38,185, 18,151, 55, 47, 9,135, 4, 32, 0,140, 34,189, 55, 0, 16,236,244, 60,196,236, 50, 16, +244,236, 16,236,179, 23, 35, 0, 18, 17, 18, 57, 57,178, 14, 35, 18, 17, 18, 57,182, 26, 51, 46, 10, 4, 32, 23, 17, 18, 23, 57, + 48,180, 23, 35, 24, 24, 44, 7, 4, 16, 60, 60,181, 46, 17, 23, 10, 17, 35, 16,236, 16,236, 5, 38, 39, 38, 39, 53, 22, 23, 22, + 23, 17, 38, 39, 38, 53, 52, 55, 54, 55, 54, 23, 22, 21, 17, 23, 22, 23, 22, 21, 16, 7, 6, 35, 17, 35, 25, 1, 52, 39, 38, 7, + 6, 21, 22, 23, 22, 5, 17, 50, 55, 54, 53, 52, 39, 38, 2, 44, 68,100,125,141, 49,211, 75, 99,231,102,101,112, 95,152,123, 53, + 83, 35,194, 97,108,146,126,162,184, 69, 85, 24, 64, 1, 59, 39, 1, 71, 93, 55, 95, 69, 56, 24, 2, 17, 21, 71,187, 31, 73, 26, + 1, 2,163, 45, 97, 96,165,147,113, 96, 1, 2, 52, 79,148,254,169, 7, 45, 98,108,235,254,218,105, 90,254,110, 5,141, 1, 33, +115, 3, 2, 29, 79, 59,115, 58, 36,246,253,129, 43, 73,191,179, 74, 62, 0, 0, 0, 1, 0,174,255,227, 5,182, 6, 20, 0, 21, + 0, 56, 64, 12, 23, 13, 15, 9, 8, 11, 78, 2, 8, 0, 70, 22, 16,252,236,244,236, 50,220,196, 49, 64, 18, 3, 9, 0, 3, 16, + 10, 6,135, 16, 19,140, 1,151, 10,188, 13,169, 15, 0, 47,236,228,228,244,196,236, 17, 18, 23, 57, 48, 19, 17, 51, 17, 20, 22, + 51, 50, 54, 53, 17, 51, 17, 33, 21, 33, 53, 14, 1, 35, 34, 38,174,184,124,124,149,173,184, 1, 94,253,234, 67,177,117,193,200, + 1,186, 4, 90,251,173,159,159,190,164, 2,123,252, 79,175,172,102, 99,240, 0, 0, 2, 0,240, 0, 0, 1,195, 3, 82, 0, 3, + 0, 7, 0, 29, 64, 7, 5, 1, 3, 4, 0, 24, 8, 16,252, 60,236, 50, 49, 0, 64, 6, 6,131, 4, 0,131, 2, 47,236, 47,236, + 48, 55, 51, 21, 35, 17, 51, 21, 35,240,211,211,211,211,254,254, 3, 82,254, 0, 0, 1, 0, 96, 1,164, 3, 33, 2,238, 0, 11, + 0, 0, 1, 30, 1, 55, 21, 14, 1, 34, 38, 39, 51, 22, 1, 85, 32,222,205, 44,228,255,157, 20,167, 16, 2, 99, 24, 1, 65,162, + 14, 55,170,159, 87, 0, 0, 0, 0, 1, 0,219, 0, 0, 2, 0, 1,236, 0, 5, 0, 0, 33, 35, 53, 19, 51, 3, 1,174,211,164, +129, 82,172, 1, 64,254,192, 0,255,255, 0, 16,253, 46, 5,104, 5,213, 16, 39, 2, 70, 0,183, 0, 0, 18, 2, 0, 36, 0, 0, +255,255, 0,123,253, 46, 4, 45, 4,123, 16, 38, 2, 70,107, 0, 18, 2, 0, 68, 0, 0, 0, 0,255,255, 0,201, 0, 0, 4,236, + 7, 80, 18, 34, 0, 37, 0, 0, 16, 3, 2, 50, 0,173, 1, 64,255,255, 0,186,255,227, 4,164, 7,133, 16, 39, 2, 79, 3, 22, + 1,117, 18, 6, 0, 69, 0, 0,255,255, 0,201,254,135, 4,236, 5,213, 18, 34, 0, 37, 0, 0, 16, 3, 2,107, 4,165, 0, 0, +255,255, 0,186,254,135, 4,164, 6, 20, 18, 34, 0, 69, 0, 0, 16, 3, 2,107, 4,154, 0, 0,255,255, 0,201,254,192, 4,236, + 5,213, 18, 34, 0, 37, 0, 0, 16, 3, 2, 38, 0,151, 0, 0,255,255, 0,186,254,192, 4,164, 6, 20, 18, 34, 0, 69, 0, 0, + 16, 3, 2, 38, 0,143, 0, 0,255,255, 0,115,254,117, 5, 39, 7,107, 18, 34, 0,137, 0, 0, 16, 67, 0,118, 0,254, 2,240, + 64, 0, 44,204,255,255, 0,113,254,117, 3,231, 6,102, 18, 34, 0,169, 0, 0, 16, 2, 0,118, 67, 0, 0, 0,255,255, 0,201, + 0, 0, 5,176, 7, 80, 18, 34, 0, 39, 0, 0, 16, 3, 2, 50, 0,253, 1, 64,255,255, 0,113,255,227, 4,110, 7,133, 16, 39, + 2, 79, 5,254, 1,117, 18, 6, 0, 71, 0, 0,255,255, 0,201,254,135, 5,176, 5,213, 16, 35, 2,107, 4,174, 0, 0, 16, 2, + 0, 39, 0, 0,255,255, 0,113,254,135, 4, 90, 6, 20, 16, 35, 2,107, 4,122, 0, 0, 16, 2, 0, 71, 0, 0,255,255, 0,201, +254,192, 5,176, 5,213, 18, 34, 0, 39, 0, 0, 16, 3, 2, 38, 0,232, 0, 0,255,255, 0,113,254,192, 4, 90, 6, 20, 18, 34, + 0, 71, 0, 0, 16, 2, 2, 38, 79, 0, 0, 0,255,255, 0,201,254,119, 5,176, 5,213, 18, 34, 0, 39, 0, 0, 16, 2, 0,122, + 91, 2, 0, 0,255,255, 0,113,254,117, 4, 90, 6, 20, 18, 34, 0, 71, 0, 0, 16, 2, 0,122,246, 0, 0, 0,255,255, 0,201, +254, 24, 5,176, 5,213, 16, 39, 2, 31, 0,166,249, 42, 18, 6, 0, 39, 0, 0,255,255, 0,113,254, 24, 4, 90, 6, 20, 16, 39, + 2, 31, 0, 94,249, 42, 18, 6, 0, 71, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 18, 34, 0, 40, 0, 0, 16, 6, 6,149, +238, 0, 0, 0,255,255, 0,113,255,227, 4,127, 4,123, 16, 39, 6,149,255,217,255, 4, 16, 6, 0, 72, 0, 0,255,255, 0,201, + 0, 0, 4,139, 5,213, 18, 34, 0, 40, 0, 0, 16, 6, 6,148,236, 0, 0, 0,255,255, 0,113,255,227, 4,127, 4,123, 16, 38, + 0, 72, 0, 0, 16, 7, 6,148,255,215,255, 4,255,255, 0,201,253,221, 4,139, 5,213, 18, 34, 0, 40, 0, 0, 16, 3, 2,117, + 4,177, 0, 0,255,255, 0,113,253,221, 4,127, 4,123, 18, 34, 0, 72, 0, 0, 16, 3, 2,117, 4,176, 0, 0,255,255, 0,201, +254,118, 4,139, 5,213, 18, 34, 0, 40, 0, 0, 16, 3, 2, 71, 0,179, 0, 0,255,255, 0,113,254,118, 4,127, 4,123, 18, 34, + 0, 72, 0, 0, 16, 3, 2, 71, 0,155, 0, 0,255,255, 0,201,254,117, 4,139, 7,102, 18, 34, 0, 40, 0, 0, 16, 99, 2, 49, + 0,218, 1,190, 64, 0, 57,153, 16, 3, 0,122, 0,190, 0, 0,255,255, 0,113,254,117, 4,127, 6, 72, 18, 34, 0, 72, 0, 0, + 16, 35, 2, 49, 0,135, 0, 0, 16, 2, 0,122, 75, 0, 0, 0,255,255, 0,201, 0, 0, 4, 35, 7, 80, 18, 34, 0, 41, 0, 0, + 16, 3, 2, 50, 0,118, 1, 64,255,255, 0, 47, 0, 0, 2,248, 7, 80, 18, 34, 0, 73, 0, 0, 16, 3, 2, 50, 0, 12, 1, 64, +255,255, 0,115,255,227, 5,139, 7, 24, 18, 34, 0, 42, 0, 0, 16, 3, 2, 34, 1, 50, 1, 34,255,255, 0,113,254, 86, 4, 90, + 5,246, 18, 34, 0, 74, 0, 0, 16, 2, 2, 34, 73, 0, 0, 0,255,255, 0,201, 0, 0, 5, 59, 7, 80, 18, 34, 0, 43, 0, 0, + 16, 3, 2, 50, 1, 20, 1, 64,255,255, 0,186, 0, 0, 4,100, 7,133, 16, 39, 2, 79, 3, 22, 1,117, 18, 6, 0, 75, 0, 0, +255,255, 0,201,254,135, 5, 59, 5,213, 16, 35, 2,107, 5, 2, 0, 0, 16, 2, 0, 43, 0, 0,255,255, 0,186,254,135, 4,100, + 6, 20, 16, 35, 2,107, 4,143, 0, 0, 16, 2, 0, 75, 0, 0,255,255, 0,201, 0, 0, 5, 59, 7, 80, 18, 34, 0, 43, 0, 0, + 16, 3, 0,106, 1, 8, 1, 64,255,255,255,235, 0, 0, 4,100, 7,133, 16, 39, 2, 80, 3, 22, 1,117, 18, 6, 0, 75, 0, 0, +255,255, 0, 17,254,116, 5, 59, 5,213, 18, 34, 0, 43, 0, 0, 16, 3, 0,122,254,238,255,255,255,255, 0, 2,254,116, 4,100, + 6, 20, 18, 34, 0, 75, 0, 0, 16, 3, 0,122,254,223,255,255,255,255, 0,201,254, 57, 5, 59, 5,213, 18, 34, 0, 43, 0, 0, + 16, 3, 2,118, 5, 10, 0, 0,255,255, 0,186,254, 57, 4,100, 6, 20, 18, 34, 0, 75, 0, 0, 16, 3, 2,118, 4,149, 0, 0, +255,255, 0, 0,254,118, 2,148, 5,213, 18, 34, 0, 44, 0, 0, 16, 3, 2, 71,255, 74, 0, 0,255,255, 0, 39,254,118, 2, 56, + 6, 20, 18, 34, 0, 76, 0, 0, 16, 66, 2, 71,150, 0, 51, 51, 64, 0, 0, 0,255,255, 0,201, 0, 0, 1,147, 5,213, 18, 34, + 0, 44, 0, 0, 16, 7, 6,146,254,116, 0, 0,255,255, 0,193, 0, 0, 1,121, 4, 96, 18, 34, 0,243, 0, 0, 16, 7, 6,146, +254, 97,254,188,255,255, 0,201, 0, 0, 5,106, 7,107, 18, 34, 0, 46, 0, 0, 16, 67, 0,118, 0,164, 2,240, 64, 0, 44,204, +255,255, 0,186, 0, 0, 4,156, 6, 20, 16, 39, 6,133, 3, 90, 1,118, 18, 2, 0, 78, 0, 0,255,255, 0,201,254,135, 5,106, + 5,213, 18, 34, 0, 46, 0, 0, 16, 3, 2,107, 4,220, 0, 0,255,255, 0,186,254,135, 4,156, 6, 20, 18, 34, 0, 78, 0, 0, + 16, 3, 2,107, 4,145, 0, 0,255,255, 0,201,254,192, 5,106, 5,213, 18, 34, 0, 46, 0, 0, 16, 3, 2, 38, 1, 13, 0, 0, +255,255, 0,186,254,192, 4,156, 6, 20, 18, 34, 0, 78, 0, 0, 16, 2, 2, 38,118, 0, 0, 0,255,255, 0,201,254,135, 4,106, + 5,213, 16, 35, 2,107, 4,154, 0, 0, 16, 2, 0, 47, 0, 0,255,255, 0,182,254,135, 1,131, 6, 20, 16, 35, 2,107, 3, 28, + 0, 0, 16, 2, 0, 79, 0, 0,255,255, 0, 3,254,136, 4,106, 7,107, 16, 39, 2, 76, 3, 42, 1,117, 16, 39, 2,107, 4,153, + 0, 1, 18, 6, 0, 47, 0, 0,255,255,255,241,254,135, 2, 72, 7, 49, 16, 35, 0,113,255, 28, 1, 59, 16, 2, 4,179, 0, 0, +255,255, 0,201,254,192, 4,106, 5,213, 18, 34, 0, 47, 0, 0, 16, 3, 2, 38, 0,142, 0, 0,255,255, 0, 39,254,192, 2, 7, + 6, 20, 18, 34, 0, 79, 0, 0, 16, 67, 2, 38,255,125, 0, 0, 51, 51, 64, 0,255,255, 0,201,254, 23, 4,106, 5,213, 16, 39, + 2, 31, 0,151,249, 41, 18, 6, 0, 47, 0, 0,255,255,255,222,254, 23, 2, 92, 6, 20, 16, 39, 2, 31,255, 29,249, 41, 18, 6, + 0, 79, 0, 0,255,255, 0,201, 0, 0, 6, 31, 7,107, 18, 34, 0, 48, 0, 0, 16, 67, 0,118, 1, 66, 2,240, 64, 0, 44,204, +255,255, 0,186, 0, 0, 7, 29, 6,102, 18, 34, 0, 80, 0, 0, 16, 3, 0,118, 1,148, 0, 0,255,255, 0,201, 0, 0, 6, 31, + 7, 80, 18, 34, 0, 48, 0, 0, 16, 3, 2, 50, 1,119, 1, 64,255,255, 0,186, 0, 0, 7, 29, 6, 16, 16, 39, 2, 50, 2, 70, + 0, 0, 18, 6, 0, 80, 0, 0,255,255, 0,201,254,135, 6, 31, 5,213, 16, 35, 2,107, 5,116, 0, 0, 16, 2, 0, 48, 0, 0, +255,255, 0,186,254,135, 7, 29, 4,123, 16, 35, 2,107, 5,230, 0, 0, 16, 2, 0, 80, 0, 0,255,255, 0,201, 0, 0, 5, 51, + 5,213, 16, 39, 6,140, 4,254, 1, 92, 18, 6, 0, 49, 0, 0,255,255, 0,186, 0, 0, 4,100, 5,193, 16, 39, 2, 50, 0,143, +255,177, 18, 6, 0, 81, 0, 0,255,255, 0,201,254,135, 5, 51, 5,213, 16, 35, 2,107, 4,254, 0, 0, 16, 2, 0, 49, 0, 0, +255,255, 0,186,254,135, 4,100, 4,123, 16, 35, 2,107, 4,143, 0, 0, 16, 2, 0, 81, 0, 0,255,255, 0,201,254,192, 5, 51, + 5,213, 18, 34, 0, 49, 0, 0, 16, 3, 2, 38, 0,247, 0, 0,255,255, 0,186,254,192, 4,100, 4,123, 18, 34, 0, 81, 0, 0, + 16, 3, 2, 38, 0,140, 0, 0,255,255, 0,201,254, 21, 5, 51, 5,213, 16, 39, 2, 31, 0,254,249, 39, 18, 6, 0, 49, 0, 0, +255,255, 0,186,254, 21, 4,100, 4,123, 16, 39, 2, 31, 0,149,249, 39, 18, 6, 0, 81, 0, 0,255,255, 0,115,255,227, 5,217, + 5,240, 18, 34, 0, 50, 0, 0, 16, 6, 6,154,102, 0, 0, 0,255,255, 0,113,255,227, 4,117, 4,123, 18, 34, 0, 82, 0, 0, + 16, 7, 6,154,255,178,254,178,255,255, 0,115,255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, 16, 6, 6,152,108, 0, 0, 0, +255,255, 0,113,255,227, 4,117, 7, 15, 18, 34, 0, 82, 0, 0, 16, 39, 0,106, 0,111, 0,255, 16, 7, 6,134, 4,114, 0, 18, +255,255, 0,115,255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, 16, 6, 6,149,106, 0, 0, 0,255,255, 0,113,255,227, 4,117, + 4,123, 16, 38, 0, 82, 0, 0, 16, 7, 6,149,255,181,255, 4,255,255, 0,115,255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, + 16, 6, 6,148,104, 0, 0, 0,255,255, 0,113,255,227, 4,117, 4,123, 16, 39, 6,148,255,185,255, 4, 16, 6, 0, 82, 0, 0, +255,255, 0,201, 0, 0, 4,141, 7,107, 18, 34, 0, 51, 0, 0, 16, 67, 0,118, 0, 65, 2,240, 64, 0, 44,204,255,255, 0,186, +254, 86, 4,164, 6,102, 18, 34, 0, 83, 0, 0, 16, 2, 0,118, 50, 0, 0, 0,255,255, 0,201, 0, 0, 4,141, 7, 80, 18, 34, + 0, 51, 0, 0, 16, 3, 2, 50, 0,132, 1, 64,255,255, 0,186,254, 86, 4,164, 6, 16, 16, 39, 2, 50, 0,217, 0, 0, 18, 6, + 0, 83, 0, 0,255,255, 0,201, 0, 0, 5, 84, 7, 80, 18, 34, 0, 53, 0, 0, 16, 3, 2, 50, 0,131, 1, 64,255,255, 0,186, + 0, 0, 3, 74, 6, 18, 18, 34, 0, 85, 0, 0, 16, 2, 2, 50, 19, 2, 0, 0,255,255, 0,201,254,135, 5, 84, 5,213, 16, 35, + 2,107, 4,125, 0, 0, 16, 2, 0, 53, 0, 0,255,255, 0,186,254,135, 3, 74, 4,123, 16, 35, 2,107, 3, 32, 0, 0, 16, 2, + 0, 85, 0, 0,255,255, 0,201,254,135, 5, 84, 7, 51, 16, 99, 0,113, 0,122, 1, 50, 64, 0, 64,110, 16, 2, 4,214, 0, 0, +255,255, 0,186,254,135, 3, 74, 5,245, 16, 34, 0,113, 24,255, 16, 2, 4,215, 0, 0, 0, 0,255,255, 0,201,254,192, 5, 84, + 5,213, 18, 34, 0, 53, 0, 0, 16, 3, 2, 38, 0,229, 0, 0,255,255, 0, 84,254,192, 3, 74, 4,123, 18, 34, 0, 85, 0, 0, + 16, 3, 2, 38,255,127, 0, 0,255,255, 0,135,255,227, 4,162, 7, 80, 18, 34, 0, 54, 0, 0, 16, 3, 2, 50, 0,184, 1, 64, +255,255, 0,111,255,227, 3,199, 6, 16, 16, 38, 2, 50, 37, 0, 18, 6, 0, 86, 0, 0, 0, 0,255,255, 0,135,254,135, 4,162, + 5,240, 16, 35, 2,107, 4,138, 0, 0, 16, 2, 0, 54, 0, 0,255,255, 0,111,254,135, 3,199, 4,123, 16, 35, 2,107, 4, 21, + 0, 0, 16, 2, 0, 86, 0, 0,255,255, 0,135,255,227, 4,162, 7,107, 18, 34, 0, 54, 0, 0, 16, 35, 2, 50,255,164, 1, 90, + 16, 67, 0,118, 0,242, 2,240, 64, 0, 44,204,255,255, 0,111,255,227, 3,226, 6,102, 18, 34, 0, 86, 0, 0, 16, 34, 2, 50, +140, 86, 16, 3, 0,118, 0,144, 0, 0, 0, 0,255,255, 0,135,255,227, 4,162, 5,240, 16, 38, 6,153,228, 0, 18, 2, 0, 54, + 0, 0, 0, 0,255,255, 0,111,255,227, 3,199, 7,176, 16, 38, 1, 35, 0, 0, 16, 7, 2, 50, 0, 34, 1,160,255,255, 0,135, +254,135, 4,162, 7, 80, 18, 34, 4,222, 0, 0, 16, 3, 2, 50, 0,155, 1, 64,255,255, 0,111,254,135, 3,199, 6, 18, 18, 34, + 4,223, 0, 0, 16, 2, 2, 50, 42, 2, 0, 0,255,255,255,250, 0, 0, 4,233, 7, 80, 18, 34, 0, 55, 0, 0, 16, 3, 2, 50, + 0,114, 1, 64,255,255, 0, 55, 0, 0, 2,242, 7, 47, 18, 34, 0, 87, 0, 0, 16, 3, 2, 50,255, 35, 1, 31,255,255,255,250, +254,135, 4,233, 5,213, 16, 35, 2,107, 4,113, 0, 0, 16, 2, 0, 55, 0, 0,255,255, 0, 55,254,135, 2,242, 5,158, 16, 35, + 2,107, 3,232, 0, 0, 16, 2, 0, 87, 0, 0,255,255,255,250,254,192, 4,233, 5,213, 18, 34, 0, 55, 0, 0, 16, 2, 2, 38, + 98, 0, 0, 0,255,255, 0, 55,254,192, 2,242, 5,158, 18, 34, 0, 87, 0, 0, 16, 66, 2, 38, 60, 0, 51, 51, 64, 0, 0, 0, +255,255,255,250,254, 21, 4,233, 5,213, 16, 39, 2, 31, 0,114,249, 39, 18, 6, 0, 55, 0, 0,255,255, 0, 55,254, 20, 3, 39, + 5,158, 16, 39, 2, 31,255,232,249, 38, 18, 6, 0, 87, 0, 0,255,255, 0,178,254,137, 5, 41, 5,213, 16, 35, 2,108, 4,240, + 0, 0, 18, 2, 0, 56, 0, 0,255,255, 0,174,254,137, 4, 88, 4, 96, 16, 35, 2,108, 4,123, 0, 0, 18, 2, 0, 88, 0, 0, +255,255, 0,178,254,118, 5, 41, 5,213, 18, 34, 0, 56, 0, 0, 16, 3, 2, 71, 0,242, 0, 0,255,255, 0,174,254,118, 4, 88, + 4, 96, 18, 34, 0, 88, 0, 0, 16, 3, 2, 71, 0,143, 0, 0,255,255, 0,178,253,221, 5, 41, 5,213, 18, 34, 0, 56, 0, 0, + 16, 3, 2,117, 4,224, 0, 0,255,255, 0,174,253,221, 4, 88, 4, 96, 18, 34, 0, 88, 0, 0, 16, 3, 2,117, 4,117, 0, 0, +255,255, 0,178,255,227, 5, 41, 5,213, 16, 38, 6,154, 46, 0, 18, 2, 0, 56, 0, 0, 0, 0,255,255, 0,174,255,227, 4, 88, + 7,236, 16, 38, 1, 43, 0, 0, 16, 7, 0,118, 0,150, 1,134,255,255, 0,178,255,227, 5, 41, 5,213, 16, 38, 6,144, 50, 0, + 18, 2, 0, 56, 0, 0, 0, 0,255,255, 0,174,255,227, 4, 88, 4, 96, 16, 39, 6,144,255,200,254,192, 18, 2, 0, 88, 0, 0, +255,255, 0, 16, 0, 0, 5,104, 7,125, 18, 34, 0, 57, 0, 0, 16, 3, 2, 53, 0,237, 1, 70,255,255, 0, 61, 0, 0, 4,127, + 6, 55, 18, 34, 0, 89, 0, 0, 16, 2, 2, 53,109, 0, 0, 0,255,255, 0, 16,254,135, 5,104, 5,213, 16, 38, 0, 57, 0, 0, + 16, 7, 2,107, 4,188, 0, 0,255,255, 0, 61,254,135, 4,127, 4, 96, 16, 38, 0, 89, 0, 0, 16, 7, 2,107, 4, 94, 0, 0, +255,255, 0, 68, 0, 0, 7,166, 5,213, 16, 39, 6,135, 5,245, 1,124, 18, 6, 0, 58, 0, 0,255,255, 0, 86, 0, 0, 6, 53, + 6,107, 16, 39, 0, 67, 1, 9, 0, 5, 18, 6, 0, 90, 0, 0,255,255, 0, 68, 0, 0, 7,166, 5,213, 16, 39, 6,133, 5,245, + 1,124, 18, 6, 0, 58, 0, 0,255,255, 0, 86, 0, 0, 6, 53, 6,109, 16, 39, 0,118, 1,134, 0, 7, 18, 6, 0, 90, 0, 0, +255,255, 0, 68, 0, 0, 7,166, 7, 52, 16, 39, 0,106, 1,245, 1, 36, 18, 6, 0, 58, 0, 0,255,255, 0, 86, 0, 0, 6, 53, + 5,191, 16, 39, 0,106, 1, 69,255,175, 18, 6, 0, 90, 0, 0,255,255, 0, 68, 0, 0, 7,166, 7, 80, 18, 34, 0, 58, 0, 0, + 16, 3, 2, 50, 1,245, 1, 64,255,255, 0, 86, 0, 0, 6, 53, 6, 18, 18, 34, 0, 90, 0, 0, 16, 3, 2, 50, 1, 71, 0, 2, +255,255, 0, 68,254,135, 7,166, 5,213, 18, 34, 0, 58, 0, 0, 16, 3, 2,107, 5,251, 0, 0,255,255, 0, 86,254,135, 6, 53, + 4, 96, 18, 34, 0, 90, 0, 0, 16, 3, 2,107, 5, 74, 0, 0,255,255, 0, 61, 0, 0, 5, 59, 7, 80, 18, 34, 0, 59, 0, 0, + 16, 3, 2, 50, 0,202, 1, 64,255,255, 0, 59, 0, 0, 4,121, 6, 18, 18, 34, 0, 91, 0, 0, 16, 2, 2, 50,103, 2, 0, 0, +255,255, 0, 61, 0, 0, 5, 59, 7, 78, 18, 34, 0, 59, 0, 0, 16, 3, 0,106, 0,202, 1, 62,255,255, 0, 59, 0, 0, 4,121, + 6, 16, 18, 34, 0, 91, 0, 0, 16, 2, 0,106,102, 0, 0, 0,255,255,255,252, 0, 0, 4,231, 7, 80, 18, 34, 0, 60, 0, 0, + 16, 3, 2, 50, 0,112, 1, 64,255,255, 0, 61,254, 86, 4,127, 6, 16, 18, 34, 0, 92, 0, 0, 16, 2, 2, 50,102, 0, 0, 0, +255,255, 0, 92, 0, 0, 5, 31, 7,107, 18, 34, 0, 61, 0, 0, 16, 67, 2, 31, 0,190, 2,240, 64, 0, 44,204,255,255, 0, 88, + 0, 0, 3,219, 6,102, 18, 34, 0, 93, 0, 0, 16, 2, 2, 31, 26, 0, 0, 0,255,255, 0, 92,254,135, 5, 31, 5,213, 18, 34, + 0, 61, 0, 0, 16, 3, 2,107, 4,217, 0, 0,255,255, 0, 88,254,135, 3,219, 4, 96, 18, 34, 0, 93, 0, 0, 16, 3, 2,107, + 4, 49, 0, 0,255,255, 0, 92,254,192, 5, 31, 5,213, 18, 34, 0, 61, 0, 0, 16, 3, 2, 38, 0,199, 0, 0,255,255, 0, 88, +254,192, 3,219, 4, 96, 18, 34, 0, 93, 0, 0, 16, 2, 2, 38, 27, 0, 0, 0,255,255, 0,186,254,192, 4,100, 6, 20, 18, 34, + 0, 75, 0, 0, 16, 2, 2, 38,102, 0, 0, 0,255,255, 0, 4, 0, 0, 2,242, 7, 78, 18, 34, 0, 87, 0, 0, 16, 3, 0,106, +255, 45, 1, 62,255,255, 0, 86, 0, 0, 6, 53, 7, 6, 18, 34, 0, 90, 0, 0, 16, 3, 2, 51, 1, 66, 0, 0,255,255, 0, 61, +254, 86, 4,127, 7, 6, 18, 34, 0, 92, 0, 0, 16, 3, 2, 51, 0,129, 0, 0,255,255, 0,123,255,227, 5, 97, 6, 20, 18, 34, + 0, 68, 0, 0, 16, 3, 2, 23, 3,218, 0, 0,255,255, 0, 47, 0, 0, 2,248, 7, 80, 18, 34, 1, 65, 0, 0, 16, 3, 2, 50, +255,253, 1, 64,255,255, 0, 16,254,135, 5,104, 5,213, 16, 35, 2,107, 4,183, 0, 0, 18, 2, 0, 36, 0, 0,255,255, 0,123, +254,135, 4, 45, 4,123, 16, 35, 2,107, 4, 33, 0, 0, 18, 2, 0, 68, 0, 0,255,255, 0, 16, 0, 0, 5,104, 7,240, 18, 38, + 0, 36, 0, 0, 16, 7, 2, 81, 4,188, 1,117,255,255, 0,123,255,227, 4, 45, 6,123, 18, 38, 0, 68, 0, 0, 16, 7, 2, 81, + 4, 84, 0, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 34, 0, 36, 0, 0, 16, 6, 6,155, 0, 0, 0, 0,255,255, 0,123, +255,227, 4, 45, 4,123, 16, 39, 6,155,255,151,254,139, 16, 6, 0, 68, 0, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 34, + 0, 36, 0, 0, 16, 6, 6,156, 0, 0, 0, 0,255,255, 0,123,255,227, 4, 45, 4,123, 16, 38, 0, 68, 0, 0, 16, 7, 6,156, +255,148,254,140,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 34, 0, 36, 0, 0, 16, 6, 6,162, 0, 0, 0, 0,255,255, 0,123, +255,227, 4, 45, 4,123, 16, 39, 6,162,255,150,254,139, 16, 6, 0, 68, 0, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 34, + 0, 36, 0, 0, 16, 6, 6,157, 0, 0, 0, 0,255,255, 0,123,255,227, 4, 45, 4,123, 16, 39, 6,157,255,150,254,139, 16, 6, + 0, 68, 0, 0,255,255, 0, 16,254,135, 5,104, 5,213, 16, 35, 2,107, 4,175, 0, 0, 18, 2, 0,132, 0, 0,255,255, 0,123, +254,135, 4, 45, 6,102, 18, 34, 0,164, 0, 0, 16, 3, 2,107, 4, 34, 0, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 34, + 0, 36, 0, 0, 16, 6, 6,159, 0, 0, 0, 0,255,255, 0,123,255,227, 4, 45, 4,123, 16, 39, 6,159,255,145,254,170, 16, 6, + 0, 68, 0, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 34, 0, 36, 0, 0, 16, 6, 6,160, 0, 0, 0, 0,255,255, 0,123, +255,227, 4, 45, 4,123, 16, 39, 6,160,255,146,254,170, 16, 6, 0, 68, 0, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 34, + 0, 36, 0, 0, 16, 6, 6,161, 0, 0, 0, 0,255,255, 0,123,255,227, 4, 45, 4,123, 16, 39, 6,161,255,148,254,170, 16, 6, + 0, 68, 0, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 18, 34, 0, 36, 0, 0, 16, 6, 6,158, 0, 0, 0, 0,255,255, 0,123, +255,227, 4, 45, 4,123, 16, 38, 0, 68, 0, 0, 16, 7, 6,158,255,146,254,170,255,255, 0, 16,254,135, 5,104, 7,146, 18, 34, + 0,196, 0, 0, 16, 3, 2,107, 4,192, 0, 0,255,255, 0,123,254,135, 4, 45, 6, 31, 18, 34, 0,197, 0, 0, 16, 3, 2,107, + 4, 51, 0, 0,255,255, 0,201,254,135, 4,139, 5,213, 16, 38, 0, 40, 0, 0, 16, 7, 2,107, 4,158, 0, 0,255,255, 0,113, +254,135, 4,127, 4,123, 16, 38, 0, 72, 0, 0, 16, 7, 2,107, 4,139, 0, 0,255,255, 0,201, 0, 0, 4,139, 7,240, 18, 38, + 0, 40, 0, 0, 16, 7, 2, 81, 4,158, 1,117,255,255, 0,113,255,227, 4,127, 6,123, 18, 38, 0, 72, 0, 0, 16, 7, 2, 81, + 4,141, 0, 0,255,255, 0,201, 0, 0, 4,139, 7, 69, 16, 99, 2, 53, 0,185, 2, 76, 64, 0, 51, 51, 18, 2, 0, 40, 0, 0, +255,255, 0,113,255,227, 4,127, 6, 55, 16, 35, 2, 53, 0,151, 0, 0, 18, 2, 0, 72, 0, 0,255,255, 0,201, 0, 0, 4,139, + 5,213, 18, 34, 0, 40, 0, 0, 16, 6, 6,155, 0, 0, 0, 0,255,255, 0,113,255,227, 4,127, 4,123, 16, 39, 6,155,255,208, +254,139, 16, 6, 0, 72, 0, 0,255,255, 0,201, 0, 0, 4,139, 5,213, 18, 34, 0, 40, 0, 0, 16, 6, 6,156,238, 0, 0, 0, +255,255, 0,113,255,227, 4,127, 4,123, 16, 39, 6,156,255,208,254,140, 16, 6, 0, 72, 0, 0,255,255, 0,201, 0, 0, 4,139, + 5,213, 18, 34, 0, 40, 0, 0, 16, 6, 6,162,238, 0, 0, 0,255,255, 0,113,255,227, 4,127, 4,123, 16, 38, 0, 72, 0, 0, + 16, 7, 6,162,255,208,254,139,255,255, 0,201, 0, 0, 4,139, 5,213, 18, 34, 0, 40, 0, 0, 16, 6, 6,157,234, 0, 0, 0, +255,255, 0,113,255,227, 4,127, 4,123, 16, 39, 6,157,255,209,254,139, 16, 6, 0, 72, 0, 0,255,255, 0,201,254,135, 4,139, + 5,213, 18, 34, 0,140, 0, 0, 16, 7, 2,107, 4,158, 0, 0,255,255, 0,113,254,135, 4,127, 6,102, 16, 39, 2,107, 4,139, + 0, 0, 16, 38, 5, 49, 0, 0, 16, 7, 2, 31, 0,139, 0, 0,255,255, 0, 90, 0, 0, 2, 26, 7,240, 18, 38, 0, 44, 0, 0, + 16, 7, 2, 81, 3, 35, 1,117,255,255, 0, 68, 0, 0, 2, 4, 6,124, 18, 34, 0,243, 0, 0, 16, 7, 2, 81, 3, 13, 0, 1, +255,255, 0,200,254,135, 1,148, 5,213, 16, 38, 0, 44, 0, 0, 16, 7, 2,107, 3, 46, 0, 0,255,255, 0,183,254,135, 1,131, + 6, 20, 16, 38, 0, 76, 0, 0, 16, 7, 2,107, 3, 29, 0, 0,255,255, 0,115,254,135, 5,217, 5,240, 16, 38, 0, 50, 0, 0, + 16, 7, 2,107, 5, 39, 0, 0,255,255, 0,113,254,135, 4,117, 4,123, 16, 38, 0, 82, 0, 0, 16, 7, 2,107, 4,115, 0, 0, +255,255, 0,115,255,227, 5,217, 7,240, 18, 38, 0, 50, 0, 0, 16, 7, 2, 81, 5, 39, 1,117,255,255, 0,113,255,227, 4,117, + 6,123, 18, 38, 0, 82, 0, 0, 16, 7, 2, 81, 4,125, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, + 16, 6, 6,155,108, 0, 0, 0,255,255, 0,113,255,227, 4,117, 4,123, 16, 39, 6,155,255,182,254,139, 16, 6, 0, 82, 0, 0, +255,255, 0,115,255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, 16, 6, 6,156,106, 0, 0, 0,255,255, 0,113,255,227, 4,117, + 4,123, 16, 39, 6,156,255,181,254,140, 16, 6, 0, 82, 0, 0,255,255, 0,115,255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, + 16, 6, 6,162,106, 0, 0, 0,255,255, 0,113,255,227, 4,117, 4,123, 16, 39, 6,162,255,182,254,139, 16, 6, 0, 82, 0, 0, +255,255, 0,115,255,227, 5,217, 5,240, 18, 34, 0, 50, 0, 0, 16, 6, 6,157,101, 0, 0, 0,255,255, 0,113,255,227, 4,117, + 4,123, 16, 39, 6,157,255,182,254,139, 16, 6, 0, 82, 0, 0,255,255, 0,115,254,135, 5,217, 5,240, 18, 34, 0,150, 0, 0, + 16, 7, 2,107, 5, 39, 0, 0,255,255, 0,113,254,135, 4,117, 6,102, 16, 39, 2,107, 4,115, 0, 0, 16, 38, 5, 69, 0, 0, + 16, 6, 2, 31,115, 0, 0, 0,255,255, 0,103,255,227, 6,195, 5,240, 16, 39, 6,133, 5, 39, 1,117, 18, 2, 1, 98, 0, 0, +255,255, 0,118,255,227, 4,211, 6,102, 16, 38, 0,118,115, 0, 18, 2, 1, 99, 0, 0, 0, 0,255,255, 0,103,255,227, 6,195, + 5,240, 16, 39, 6,135, 5, 39, 1,117, 18, 2, 1, 98, 0, 0,255,255, 0,118,255,227, 4,211, 6,102, 16, 38, 0, 67,115, 0, + 18, 2, 1, 99, 0, 0, 0, 0,255,255, 0,103,255,227, 6,195, 7,240, 18, 34, 1, 98, 0, 0, 16, 7, 2, 81, 5, 39, 1,117, +255,255, 0,118,255,227, 4,211, 6,123, 18, 38, 1, 99, 0, 0, 16, 7, 2, 81, 4,125, 0, 0,255,255, 0,103,255,227, 6,195, + 5,240, 16, 39, 6,134, 5, 39, 1,117, 18, 2, 1, 98, 0, 0,255,255, 0,118,255,227, 4,211, 6, 55, 16, 38, 2, 53,115, 0, + 18, 2, 1, 99, 0, 0, 0, 0,255,255, 0,103,254,135, 6,195, 5,240, 18, 34, 1, 98, 0, 0, 16, 7, 2,107, 5, 39, 0, 0, +255,255, 0,118,254,135, 4,211, 4,235, 18, 34, 1, 99, 0, 0, 16, 7, 2,107, 4,115, 0, 0,255,255, 0,178,254,135, 5, 41, + 5,213, 16, 38, 0, 56, 0, 0, 16, 7, 2,107, 4,245, 0, 0,255,255, 0,174,254,135, 4, 88, 4, 96, 16, 38, 0, 88, 0, 0, + 16, 7, 2,107, 4,123, 0, 0,255,255, 0,178,255,227, 5, 41, 7,240, 18, 38, 0, 56, 0, 0, 16, 7, 2, 81, 4,238, 1,117, +255,255, 0,174,255,227, 4, 88, 6,123, 18, 38, 0, 88, 0, 0, 16, 7, 2, 81, 4,125, 0, 0,255,255, 0,173,255,247, 6, 95, + 5,233, 16, 39, 6,133, 4,238, 1,117, 18, 2, 1,113, 0, 0,255,255, 0,176,255,227, 5,105, 6,102, 16, 38, 0,118,123, 0, + 18, 2, 1,114, 0, 0, 0, 0,255,255, 0,173,255,247, 6, 95, 5,233, 16, 39, 6,135, 4,238, 1,117, 18, 2, 1,113, 0, 0, +255,255, 0,176,255,227, 5,105, 6,102, 16, 38, 0, 67,123, 0, 18, 2, 1,114, 0, 0, 0, 0,255,255, 0,173,255,247, 6, 95, + 7,240, 18, 34, 1,113, 0, 0, 16, 7, 2, 81, 4,238, 1,117,255,255, 0,176,255,227, 5,105, 6,123, 18, 34, 1,114, 0, 0, + 16, 7, 2, 81, 4,125, 0, 0,255,255, 0,173,255,247, 6, 95, 5,233, 16, 39, 6,134, 4,238, 1,117, 18, 2, 1,113, 0, 0, +255,255, 0,176,255,227, 5,105, 6, 55, 16, 35, 2, 53, 0,128, 0, 0, 18, 2, 1,114, 0, 0,255,255, 0,173,254,135, 6, 95, + 5,233, 18, 34, 1,113, 0, 0, 16, 7, 2,107, 4,245, 0, 0,255,255, 0,176,254,135, 5,105, 4,235, 18, 34, 1,114, 0, 0, + 16, 7, 2,107, 4,123, 0, 0,255,255,255,252, 0, 0, 4,231, 5,213, 18, 38, 0, 60, 0, 0, 16, 7, 6,135, 4,114, 1,124, +255,255, 0, 61,254, 86, 4,127, 6,107, 18, 38, 0, 92, 0, 0, 16, 6, 0, 67, 33, 5, 0, 0,255,255,255,252,254,130, 4,231, + 5,213, 16, 35, 2,107, 4,118,255,251, 18, 2, 0, 60, 0, 0,255,255, 0, 61,254, 86, 4,127, 4, 96, 16, 35, 2,107, 5,116, + 0, 0, 18, 2, 0, 92, 0, 0,255,255,255,252, 0, 0, 4,231, 7,247, 18, 38, 0, 60, 0, 0, 16, 7, 2, 81, 4,114, 1,124, +255,255, 0, 61,254, 86, 4,127, 6,130, 18, 38, 0, 92, 0, 0, 16, 7, 2, 81, 4, 96, 0, 7,255,255,255,252, 0, 0, 4,231, + 7, 69, 16, 99, 2, 53, 0,121, 2, 76, 64, 0, 51, 51, 18, 2, 0, 60, 0, 0,255,255, 0, 61,254, 86, 4,127, 6, 55, 16, 34, + 2, 53,119, 0, 18, 2, 0, 92, 0, 0, 0, 0, 0, 1, 1,134, 4,194, 2,120, 6, 97, 0, 8, 0, 72,180, 5, 8, 7, 2, 9, + 16,212, 60,220,178, 63, 8, 1, 93,192, 49,182, 0, 6, 7, 6, 3, 2, 9, 0, 16,212,180, 63, 2, 95, 2, 2, 93,176, 17, 75, + 80, 88,204, 27,192, 89,204,204,178, 63, 7, 1, 93, 17, 57, 48,177, 6, 3, 73,177, 7, 6, 73, 80, 88,179, 5, 64, 6, 64, 56, + 56, 89, 1, 16, 35, 53, 22, 53, 35, 53, 51, 2,120,242,134,133,241, 5,205,254,245,103, 3,157,158, 0, 0, 0,255,255, 1,115, + 4,238, 3, 82, 6,102, 16, 6, 0,118, 0, 0, 0, 1, 1,134, 4,194, 2,120, 6, 97, 0, 8, 0, 72,180, 2, 7, 4, 0, 9, + 16,212,192,220,178, 63, 7, 1, 93, 60, 49,182, 0, 3, 2, 3, 6, 7, 9, 0, 16,212,180, 63, 7, 95, 7, 2, 93,176, 17, 75, + 80, 88,204, 27,192, 89,204,204,178, 63, 2, 1, 93, 17, 57, 48,177, 3, 6, 73,177, 2, 3, 73, 80, 88,179, 3, 64, 4, 64, 56, + 56, 89, 1, 53, 51, 21, 35, 20, 55, 21, 34, 1,134,242,134,134,242, 5,205,148,158,157, 3,103, 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,255,255, 0,100, 1,223, 2,127, 2,131, 18, 6, 5,133, 0, 0, 0, 1, 0, 0, 1,233, 4, 0, 2,121, 0, 3, + 0, 16,182, 2,169, 0,233, 4, 1, 0, 47,198, 49, 0, 16,252,236, 48, 17, 33, 21, 33, 4, 0,252, 0, 2,121,144, 0, 0, 0, + 0, 1, 0, 0, 1,233, 4, 0, 2,121, 0, 3, 0, 16,182, 2,169, 0,233, 4, 1, 0, 47,198, 49, 0, 16,252,236, 48, 17, 33, + 21, 33, 4, 0,252, 0, 2,121,144, 0, 0, 0, 0, 1, 0, 0, 1,233, 8, 0, 2,121, 0, 3, 0, 15,181, 2,169, 0, 4, 1, + 0, 47,204, 49, 0, 16,212,236, 48, 17, 33, 21, 33, 8, 0,248, 0, 2,121,144, 0, 1, 0, 0, 1,233, 8, 0, 2,121, 0, 3, + 0, 15,181, 2,169, 0, 4, 1, 0, 47,204, 49, 0, 16,212,236, 48, 17, 33, 21, 33, 8, 0,248, 0, 2,121,144,255,255, 1, 4, +254, 29, 2,248, 6, 29, 16, 34, 0, 95, 0, 0, 16, 3, 0, 95, 1, 74, 0, 0,255,255,255,236,254, 29, 4, 20,255,238, 16, 38, + 0, 66, 0, 0, 16, 7, 0, 66, 0, 0, 1, 66, 0, 1, 0,174, 3,233, 1,211, 5,213, 0, 5, 0, 24, 64, 11, 0,158, 3,129, + 6, 3, 4, 0, 25, 1, 6, 16,220,252,212,204, 49, 0, 16,244,236, 48, 1, 35, 53, 19, 51, 3, 1,129,211,164,129, 82, 3,233, +173, 1, 63,254,193, 0, 0, 0, 0, 1, 0,178, 3,254, 1,215, 5,213, 0, 5, 0, 24, 64, 11, 3,158, 0,129, 6, 3, 4, 1, + 25, 0, 6, 16,220,236,212,204, 49, 0, 16,244,236, 48, 1, 51, 21, 3, 35, 19, 1, 4,211,164,129, 82, 5,213,152,254,193, 1, + 63, 0, 0, 0, 0, 1, 0,174,255, 18, 1,211, 0,254, 0, 5, 0, 24, 64, 11, 3,158, 0,131, 6, 3, 4, 1, 25, 0, 6, 16, +212,236,212,204, 49, 0, 16,252,236, 48, 37, 51, 21, 3, 35, 19, 1, 0,211,164,129, 82,254,172,254,192, 1, 64, 0, 1, 0,178, + 3,254, 1,215, 5,213, 0, 5, 0, 0, 1, 21, 19, 35, 3, 53, 1,133, 82,129,164, 5,213,152,254,193, 1, 63,152, 0, 0, 0, + 0, 2, 0,174, 3,233, 3,109, 5,213, 0, 5, 0, 11, 0, 39, 64, 19, 6, 0,158, 9, 3,129, 12, 9, 10, 6, 25, 7, 3, 4, + 7, 0, 25, 1, 12, 16,220,252,204,212,204, 16,254,212,206, 49, 0, 16,244, 60,236, 50, 48, 1, 35, 53, 19, 51, 3, 5, 35, 53, + 19, 51, 3, 1,129,211,164,129, 82, 1,154,211,164,129, 82, 3,233,173, 1, 63,254,193,173,173, 1, 63,254,193, 0, 2, 0,174, + 3,233, 3,109, 5,213, 0, 5, 0, 11, 0, 39, 64, 19, 9, 3,158, 6, 0,129, 12, 9, 10, 7, 25, 6, 1, 3, 4, 1, 25, 0, + 12, 16,220,236,212,204, 16,220,238,212,206, 49, 0, 16,244, 60,236, 50, 48, 1, 51, 21, 3, 35, 19, 37, 51, 21, 3, 35, 19, 1, + 0,211,164,129, 82, 1,154,211,164,129, 82, 5,213,172,254,192, 1, 64,172,172,254,192, 1, 64, 0, 2, 0,174,255, 18, 3,109, + 0,254, 0, 5, 0, 11, 0, 39, 64, 19, 9, 3,158, 6, 0,131, 12, 3, 4, 1, 25, 0, 7, 9, 10, 7, 25, 6, 12, 16,220,236, +212,204, 16,220,238,212,206, 49, 0, 16,252, 60,236, 50, 48, 37, 51, 21, 3, 35, 19, 37, 51, 21, 3, 35, 19, 2,154,211,164,129, + 82,254,102,211,164,129, 82,254,172,254,192, 1, 64,172,172,254,192, 1, 64, 0, 0, 2, 0,174, 3,233, 3,109, 5,213, 0, 5, + 0, 11, 0, 0, 1, 21, 19, 35, 3, 53, 33, 21, 19, 35, 3, 53, 1,129, 82,129,164, 2,109, 82,129,164, 5,213,173,254,193, 1, + 63,173,173,254,193, 1, 63,173, 0, 1, 0, 57,255, 59, 3,199, 5,213, 0, 11, 0, 39, 64, 20, 8, 4,185, 10, 2, 0,129, 6, +194, 12, 3, 89, 5, 1, 87, 9, 89, 7, 0, 12, 16,212, 60,236,252, 60,236, 49, 0, 16,228,244,212, 60,236, 50, 48, 1, 51, 17, + 33, 21, 33, 17, 35, 17, 33, 53, 33, 1,168,176, 1,111,254,145,176,254,145, 1,111, 5,213,254, 92,153,251,163, 4, 93,153, 0, + 0, 1, 0, 57,255, 59, 3,199, 5,213, 0, 19, 0, 62, 64, 32, 18, 6,185, 0, 16, 8,185, 10, 4, 0, 2, 14, 10, 12,129, 2, +194, 20, 15, 0, 89, 17, 13, 1, 87, 9, 5, 89, 11, 7, 3, 20, 16,212, 60, 60,236, 50,252, 60, 60,236, 50, 49, 0, 16,228,244, +196, 50, 16,196, 50, 16,238, 50, 16,238, 50, 48, 37, 33, 17, 35, 17, 33, 53, 33, 17, 33, 53, 33, 17, 51, 17, 33, 21, 33, 17, 33, + 3,199,254,145,176,254,145, 1,111,254,145, 1,111,176, 1,111,254,145, 1,111,223,254, 92, 1,164,154, 2, 31,153, 1,164,254, + 92,153,253,225, 0, 1, 1, 51, 1,209, 3,133, 4, 33, 0, 11, 0, 18,183, 9,199, 3, 12, 6, 92, 0, 12, 16,212,236, 49, 0, + 16,212,236, 48, 1, 52, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 1, 51,173,126,124,171,172,125,125,172, 2,250,124,171,171,124, +125,172,172, 0, 0, 1, 1, 51, 1,129, 3,213, 4,113, 0, 2, 0, 0, 1, 17, 1, 1, 51, 2,162, 1,129, 2,240,254,136, 0, + 0, 1, 0,236, 0, 0, 1,193, 0,254, 0, 3, 0, 0, 55, 51, 21, 35,236,213,213,254,254, 0, 0, 2, 0,236, 0, 0, 4,107, + 0,254, 0, 3, 0, 7, 0, 0, 37, 51, 21, 35, 37, 51, 21, 35, 3,150,213,213,253, 86,213,213,254,254,254,254, 0, 3, 0,236, + 0, 0, 7, 20, 0,254, 0, 3, 0, 7, 0, 11, 0, 35, 64, 17, 8, 4, 0,131, 10, 6, 2, 4, 25, 5, 0, 25, 1, 9, 25, 8, + 12, 16,212,252,212,236,212,236, 49, 0, 47, 60, 60,236, 50, 50, 48, 37, 51, 21, 35, 37, 51, 21, 35, 37, 51, 21, 35, 3,150,212, +212, 2,169,213,213,250,173,213,213,254,254,254,254,254,254, 0, 0, 1, 0,220, 2,107, 1,175, 3,105, 0, 3, 0, 0, 19, 51, + 21, 35,220,211,211, 3,105,254, 0, 7, 0,113,255,227, 10, 76, 5,240, 0, 11, 0, 23, 0, 35, 0, 39, 0, 51, 0, 63, 0, 75, + 0,174, 64, 68, 36, 15, 37, 38, 37, 38, 15, 39, 36, 39, 66, 64, 0,146, 12, 46,146, 30,141, 40,146, 24, 70, 6,146, 52, 12,141, + 58, 38, 18,140, 36, 24,145, 76, 37, 73, 67, 39, 49, 43, 67, 13, 61, 9, 13, 15, 14, 3, 13, 21, 49, 13, 27, 61, 14, 73, 13, 21, + 55, 43, 13, 27, 14, 33, 11, 76, 16,252,228,236,212,196,236,228, 16,238, 16,238,246,238, 16,238, 17, 18, 57, 17, 18, 57, 49, 0, + 16,228, 50,244, 60, 60,228, 50,236, 50, 16,238,246,238, 16,238, 50, 48, 75, 83, 88, 7, 16, 5,237, 7, 16, 5,237, 89, 34, 1, + 75,176, 20, 84, 75,176, 9, 84, 91, 75,176, 11, 84, 91, 75,176, 12, 84, 91, 75,176, 13, 84, 91, 75,176, 14, 84, 91, 88,189, 0, + 76, 0, 64, 0, 1, 0, 76, 0, 76,255,192, 56, 17, 55, 56, 89, 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, 50, 22, 21, 20, 6, 35, 34, 38, 53, 52, 54, 33, 51, 1, 35, 19, 34, 6, 21, 20, 22, 51, 50, + 54, 53, 52, 38, 1, 50, 22, 21, 20, 6, 35, 34, 38, 53, 52, 54, 23, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 8,244, 87,100, +100, 87, 85, 99, 99, 85,158,186,187,157,160,186,187,249,116,158,188,187,159,159,185,186, 4, 37,160,252, 90,160, 31, 86, 99, 98, + 87, 87, 99,100, 3,178,158,186,187,157,160,186,187,159, 87, 99, 99, 87, 85, 99, 99, 2,145,148,132,130,149,149,130,131,149,127, +220,187,187,219,219,187,188,219, 2,224,219,187,189,218,219,188,186,220,249,243, 5,142,149,130,132,148,148,132,129,150,253,159, +220,187,187,219,219,187,188,219,127,148,132,130,149,149,130,131,149, 0, 0, 0, 0, 9, 0,113,255,227, 13,114, 5,240, 0, 11, + 0, 22, 0, 34, 0, 45, 0, 55, 0, 59, 0, 69, 0, 80, 0, 92, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 39, 50, + 22, 16, 6, 35, 34, 38, 53, 52, 54, 5, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 39, 50, 22, 16, 6, 35, 34, 38, 53, 52, 54, + 0, 32, 22, 21, 20, 6, 32, 38, 53, 52, 37, 51, 1, 35, 18, 34, 6, 21, 20, 22, 50, 54, 53, 52, 1, 50, 22, 16, 6, 35, 34, 38, + 53, 52, 54, 23, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 12, 26, 87,100,100, 87, 85, 99, 99, 85,158,186,187,157,160,186,187, +253,121, 87,100,100, 87, 85, 99, 99, 85,158,186,187,157,160,186,187,248,214, 1, 60,188,187,254,194,185, 4,223,160,252, 90,160, +117,172, 99, 98,174, 99, 3, 78,158,186,187,157,160,186,187,159, 87, 99, 99, 87, 85, 99, 99, 2,145,148,132,130,149,149,130,131, +149,127,220,254,138,219,219,187,188,219,127,148,132,130,149,149,130,131,149,127,220,254,138,219,219,187,188,219, 2,224,219,187, +189,218,219,188,186,220,249,243, 5,142,149,130,132,148,148,132,129,254, 53,220,254,138,219,219,187,188,219,127,148,132,130,149, +149,130,131,149, 0, 1, 0, 40, 4, 96, 1,160, 5,213, 0, 3, 0, 0, 27, 1, 51, 1, 40,173,203,254,223, 4, 96, 1,117,254, +139, 0, 0, 0,255,255, 0, 40, 4, 96, 2,204, 5,213, 16, 38, 5,159, 0, 0, 16, 7, 5,159, 1, 44, 0, 0,255,255, 0, 40, + 4, 96, 3,248, 5,213, 16, 39, 5,159, 1, 44, 0, 0, 16, 38, 5,159, 0, 0, 16, 7, 5,159, 2, 88, 0, 0, 0, 1, 0, 40, + 4, 96, 1,160, 5,213, 0, 3, 0, 0, 1, 35, 1, 51, 1,160, 87,254,223,203, 4, 96, 1,117,255,255, 0, 40, 4, 96, 2,204, + 5,213, 16, 38, 5,162, 0, 0, 16, 7, 5,162, 1, 44, 0, 0,255,255, 0, 40, 4, 96, 3,248, 5,213, 16, 38, 5,162, 0, 0, + 16, 39, 5,162, 2, 88, 0, 0, 16, 7, 5,162, 1, 44, 0, 0, 0, 1, 0, 11,254, 29, 2,171,255,195, 0, 5, 0, 0, 1, 35, + 39, 7, 35, 1, 2,171,148,187,188,149, 1, 82,254, 29,249,249, 1,166, 0, 0, 0, 1, 0,158, 0,141, 2,115, 4, 35, 0, 6, + 0, 71, 64, 37, 3,232, 4, 5, 4, 2,232, 1, 2, 5, 5, 4, 2,232, 3, 2, 6, 0, 6, 1,232, 0, 6, 66, 2, 4,231, 0, +166, 7, 2, 3, 0,111, 5,110, 7, 16,252,236, 50, 57, 49, 0, 16,244,236, 57, 48, 75, 83, 88, 7, 4,237, 7, 16, 8,237, 7, + 16, 8,237, 7, 16, 4,237, 89, 34, 1, 21, 9, 1, 21, 1, 53, 2,115,254,211, 1, 45,254, 43, 4, 35,191,254,244,254,244,191, + 1,162, 82, 0, 0, 1, 0,193, 0,141, 2,150, 4, 35, 0, 6, 0, 73, 64, 38, 5,232, 6, 5, 2, 3, 2, 4,232, 3, 3, 2, + 6,232, 0, 1, 0, 5,232, 4, 5, 1, 1, 0, 66, 5, 3,231, 0,166, 7, 5, 1,111, 3, 0,112, 7, 16,252, 60,236, 57, 49, + 0, 16,244,236, 57, 48, 75, 83, 88, 7, 16, 8,237, 7, 16, 4,237, 7, 16, 4,237, 7, 16, 8,237, 89, 34, 19, 1, 21, 1, 53, + 9, 1,193, 1,213,254, 43, 1, 45,254,211, 4, 35,254, 94, 82,254, 94,191, 1, 12, 1, 12, 0,255,255, 0,195, 0, 4, 5,235, + 5,204, 18, 34, 0,153, 0, 75, 16, 35, 0, 17,255,232, 2, 78, 16, 35, 0, 17, 2, 22, 0, 4, 16, 35, 0, 17, 4, 61, 2, 78, + 16, 3, 0, 17, 2, 22, 4,206,255,255, 0,147, 0, 0, 3, 79, 5,213, 16, 39, 0, 4,255, 94, 0, 0, 16, 7, 0, 4, 1, 79, + 0, 0, 0, 0, 0, 3, 0,147, 0, 0, 3,176, 5,240, 0, 23, 0, 27, 0, 36, 0, 0, 1, 35, 17, 6, 7, 6, 7, 53, 62, 1, + 51, 50, 22, 21, 20, 6, 15, 1, 14, 1, 7, 14, 1, 21, 3, 51, 21, 35, 19, 17, 55, 62, 1, 53, 52, 39, 38, 2, 76,191, 31, 32, + 90, 97, 94,193,103,184,223, 72, 90, 88, 47, 39, 8, 6, 6,197,203,203,197, 45, 57, 51, 65, 37, 1,145, 3,173, 8, 13, 35, 67, +188, 57, 56,194,159, 76,137, 86, 86, 47, 53, 25, 21, 60, 52,254,242,254, 5, 66,254, 82, 45, 53, 94, 49, 89, 55, 31, 0, 0, 0, +255,255,255,236, 5,124, 4, 20, 6, 11, 16, 7, 0, 66, 0, 0, 7, 95, 0, 0, 0, 1,255,167,254, 27, 6,199,255,133, 0, 13, + 0, 37,179, 4, 15, 10, 14, 16,196,212,196,179, 7, 0, 15, 14, 17, 18, 57, 57, 49, 64, 7, 11, 3, 10, 4, 7, 0, 14, 0, 16, +212,220,220, 60,204, 50, 48, 1, 50, 36, 55, 21, 6, 4, 35, 34, 36, 39, 53, 22, 4, 3, 54,231, 1,197,229,235,254, 58,224,223, +254, 60,236,230, 1,194,254,181,104,104,126,118,118,117,119,126,105,103, 0, 0, 0, 1,255,167, 6, 4, 6,199, 7,110, 0, 13, + 0, 37,179, 4, 15, 10, 14, 16,196,212,196,179, 7, 0, 15, 14, 17, 18, 57, 57, 49, 64, 7, 10, 4, 11, 3, 0, 7, 14, 0, 16, +212,220,220, 60,204, 50, 48, 1, 50, 4, 23, 21, 38, 36, 35, 34, 4, 7, 53, 54, 36, 3, 54,224, 1,198,235,229,254, 59,231,231, +254, 62,230,236, 1,196, 7,110,118,118,126,104,104,103,105,126,119,117, 0, 0, 0, 1,255,170,254, 29, 2, 73, 1,213, 0, 7, + 0, 0, 1, 51, 9, 1, 35, 11, 1, 35, 1,231, 98,254,226, 1, 30, 98,237,237, 99, 1,213,254, 36,254, 36, 1,138,254,118, 0, +255,255, 0, 61,255,197, 7,195, 6,131, 16, 35, 0, 13, 0, 0,253,123, 16, 35, 0, 13, 4, 0,253,123, 16, 3, 0, 13, 2, 0, + 0,147, 0, 0,255,255, 0,221, 2,129, 3, 51, 3, 95, 18, 67, 2, 34, 0, 8,250,110, 64, 0, 96, 0, 0, 0, 0, 1,254,137, +255,227, 2,205, 5,240, 0, 3, 0, 43, 64, 19, 0, 15, 1, 2, 1, 2, 15, 3, 0, 3, 66, 2,140, 0,145, 4, 1, 3, 4, 16, +212,204, 49, 0, 16,228,228, 48, 75, 83, 88, 7, 16, 5,237, 7, 16, 5,237, 89, 34, 1, 51, 1, 35, 2, 45,160,252, 92,160, 5, +240,249,243, 0, 0, 1, 0,176,254,242, 2, 88, 6, 20, 0, 11, 0, 0, 1, 17, 51, 21, 33, 17, 33, 21, 35, 17, 51, 21, 1,104, +240,254, 88, 1,168,240,240, 2, 94,253, 35,143, 7, 34,143,253, 35, 74, 0, 0, 0, 1, 0,176,254,242, 2, 88, 6, 20, 0, 11, + 0, 0, 19, 53, 51, 17, 35, 53, 33, 17, 33, 53, 51, 17,176,240,240, 1,168,254, 88,240, 2, 94, 74, 2,221,143,248,222,143, 2, +221, 0, 0, 0,255,255, 0, 73, 0, 0, 7, 23, 5,240, 16, 38, 0, 34,182, 0, 16, 7, 0, 34, 3,102, 0, 0,255,255, 0,147, + 0, 0, 5, 74, 5,240, 16, 38, 0, 34, 0, 0, 16, 7, 0, 4, 3, 74, 0, 0,255,255, 0,147, 0, 0, 5, 74, 5,240, 16, 39, + 0, 4,255, 94, 0, 0, 16, 7, 0, 34, 1,154, 0, 0, 0, 0, 0, 1, 0,111, 0, 0, 3,161, 4,132, 0, 19, 0, 0, 37, 51, + 21, 35, 53, 7, 35, 19, 35, 53, 33, 19, 33, 53, 33, 21, 3, 51, 21, 35, 1,254,169,209, 3,180,224,249, 1, 36,168,253,157, 3, + 50,195,165,208,102,102, 7, 7, 2, 15,102, 1,139,132, 67,254, 52,102, 0, 0, 0, 1, 0,236,255, 59, 4,135, 5,213, 0, 13, + 0, 0, 1, 33, 17, 51, 17, 51, 17, 51, 17, 62, 1, 53, 52, 36, 2,172,254, 64,141,190,142,215,235,254,252, 5,213,249,102, 6, + 31,249,225, 3, 78, 17,221,184,190,232, 0, 0, 0, 2, 0,216, 1,194, 3, 40, 4, 18, 0, 3, 0, 11, 0, 0, 1, 51, 17, 7, + 43, 1, 34, 38, 53, 52, 54, 51, 2,121,175,175,118, 2,125,172,173,126, 4, 18,253,177, 1,172,125,124,171, 0, 0, 2, 0,216, + 1,194, 3, 40, 4, 18, 0, 3, 0, 11, 0, 0, 1, 39, 17, 59, 1, 50, 22, 21, 20, 6, 43, 1, 1,135,175,175,118,126,173,172, +125, 2, 1,194, 1, 2, 79,171,124,125,172, 0,255,255, 0, 61,255,197, 3,195, 3,107, 18, 3, 0, 13, 0, 0,253,123, 0, 0, + 0, 2, 1, 29,255, 18, 2, 66, 4, 35, 0, 3, 0, 9, 0, 0, 1, 35, 21, 51, 17, 35, 21, 19, 51, 3, 1,240,211,211,211,164, +129, 82, 4, 35,254,253,217,172,254,192, 1, 64,255,255,255,167,254, 27, 6,199, 7,110, 16, 38, 5,172, 0, 0, 16, 6, 5,173, + 0, 0, 0, 0,255,255, 0, 61,255,242, 3,195, 7,111, 18, 35, 0, 13, 0, 0,253,168, 16, 3, 0, 13, 0, 0, 1,127, 0, 0, +255,255, 0,145,255, 66, 3, 67, 5,213, 16, 35, 0, 18, 0,145, 0, 0, 16, 35, 0, 17, 1,142, 0, 0, 16, 3, 0, 17,255,217, + 4, 72, 0, 0,255,255, 0,217, 1,211, 5,219, 3, 49, 18, 2, 0, 97, 0, 0,255,255,255,167,254, 20, 6,199,255,126, 16, 7, + 5,173, 0, 0,248, 16, 0, 0, 0, 1, 1, 56, 0,200, 5,124, 5, 13, 0, 23, 0, 0, 1, 17, 35, 17, 7, 39, 55, 33, 53, 33, + 39, 55, 23, 17, 51, 17, 55, 23, 7, 33, 21, 33, 23, 7, 3,170,160,249,113,249,254,159, 1, 97,250,113,250,160,250,113,250, 1, + 97,254,159,250,113, 2, 41,254,159, 1, 96,249,114,249,160,250,114,251, 1, 98,254,158,250,113,250,160,249,114, 0, 3, 0,250, + 1, 50, 3,182, 4,182, 0, 3, 0, 7, 0, 11, 0, 0, 19, 53, 51, 21, 1, 53, 51, 21, 3, 53, 51, 21,250,200, 1, 44,200,200, +200, 2,144,200,200,254,162,200,200, 2,188,200,200, 0, 0, 0,255,255, 0, 40, 4, 96, 5, 36, 5,213, 16, 39, 5,159, 1, 44, + 0, 0, 16, 38, 5,159, 0, 0, 16, 39, 5,159, 3,132, 0, 0, 16, 7, 5,159, 2, 88, 0, 0, 0, 4, 1,102, 1, 0, 5, 78, + 4,232, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, 1, 53, 51, 21, 33, 53, 51, 21, 1, 53, 51, 21, 3, 53, 51, 21, 1,102,200, 2, + 88,200,253,168,200,200,200, 2,144,200,200,200,200,254,112,200,200, 3, 32,200,200, 0, 0, 0, 0, 5, 1,102, 0,246, 5, 78, + 4,222, 0, 3, 0, 7, 0, 11, 0, 15, 0, 19, 0, 0, 1, 53, 51, 21, 19, 53, 51, 21, 3, 53, 51, 21, 1, 53, 51, 21, 3, 53, + 51, 21, 2,246,200,200,200,200,200,252, 44,200,220,200, 2,134,200,200,254,112,200,200, 3, 32,200,200,252,244,200,200, 3, 12, +200,200, 0, 0, 0, 2, 0,219, 0, 0, 1,174, 5,213, 0, 3, 0, 7, 0, 0, 19, 51, 21, 35, 17, 51, 21, 35,219,211,211,211, +211, 5,213,254,252, 39,254, 0, 0, 4, 0,100,254,229, 5,253, 6,239, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, 19, 51, 21, 35, + 37, 51, 21, 35, 1, 51, 21, 35, 17, 51, 21, 35,100,211,211, 4,198,211,211,253,157,211,211,211,211, 3,105,254,254,254, 4,132, +254,249,242,254, 0, 5, 0,112, 0, 0, 6, 68, 5,213, 0, 3, 0, 7, 0, 11, 0, 15, 0, 27, 0, 0, 37, 53, 51, 21, 3, 53, + 51, 21, 1, 53, 51, 21, 3, 53, 51, 21, 1, 17, 35, 17, 33, 53, 33, 17, 51, 17, 33, 21, 4,134,200,200,200,252, 44,200,220,200, + 1,124,160,253,102, 2,154,160, 2,154,246,200,200, 3, 32,200,200,252,244,200,200, 3, 12,200,200,254,132,253,102, 2,154,160, + 2,155,253,101,160, 0, 0, 0, 0, 3, 0,219, 0, 80, 1,174, 5, 62, 0, 3, 0, 7, 0, 11, 0, 0, 19, 51, 21, 35, 17, 51, + 21, 35, 17, 51, 21, 35,219,211,211,211,211,211,211, 5, 62,254,253, 14,254, 2,246,254, 0, 0, 0, 4, 0,219, 0, 17, 1,174, + 5,119, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, 19, 51, 21, 35, 17, 51, 21, 35, 17, 51, 21, 35, 17, 51, 21, 35,219,211,211,211, +211,211,211,211,211, 2,137,254, 3,236,254,252,150,254, 3,240,254, 0, 0, 0, 0, 2, 0, 87, 2,141, 2,238, 5,240, 0, 13, + 0, 25, 0, 0, 0, 34, 7, 6, 21, 20, 23, 22, 50, 55, 54, 53, 52, 47, 1, 50, 22, 21, 20, 6, 35, 34, 38, 53, 52, 54, 2, 8, +202, 50, 51, 51, 50,202, 50, 51, 51,151,161,170,170,161,162,170,170, 5,151, 86, 86,172,173, 86, 86, 86, 86,173,172, 86,175,222, +211,212,222,222,212,211,222, 0, 0, 2, 0,121, 2,156, 0,238, 6, 4, 0, 3, 0, 7, 0, 31, 64, 6, 9, 5, 1, 4, 0, 8, + 16,220, 60,220, 60,204, 49, 0, 64, 6, 4, 7, 0, 3, 0, 8, 16,212,196, 16,220,204, 48, 19, 51, 17, 35, 17, 51, 21, 35,122, +116,116,116,116, 5, 15,253,141, 3,103,130, 0, 0, 2, 0, 63, 2,156, 2,244, 5,223, 0, 2, 0, 13, 0,212, 64, 22, 0, 3, + 11, 7,221, 5, 1, 9,247, 3,145, 14, 1, 12, 10, 0, 93, 6, 8, 4, 12, 14, 16,220,212, 60,196,236, 50, 17, 57, 49, 0, 16, +244,252,212, 60,236, 50, 18, 57, 48, 1, 75,176, 14, 84, 75,176, 15, 84, 91, 75,176, 16, 84, 91, 75,176, 17, 84, 91, 75,176, 11, + 84, 91, 75,176, 10, 84, 91, 88,189, 0, 14, 0, 64, 0, 1, 0, 14, 0, 14,255,192, 56, 17, 55, 56, 89, 0, 75,176, 17, 84, 75, +176, 14, 84, 91, 88,189, 0, 14,255,192, 0, 1, 0, 14, 0, 14, 0, 64, 56, 17, 55, 56, 89, 64, 84, 11, 1, 29, 1, 47, 1, 57, + 1, 73, 1, 70, 3, 89, 3,105, 3,139, 3,171, 3,187, 3, 11, 1, 0, 15, 1, 15, 2, 15, 5, 15, 6, 15, 7, 15, 8, 15, 11, + 15, 12, 15, 13, 19, 0, 31, 1, 31, 2, 31, 5, 31, 6, 31, 7, 31, 8, 31, 11, 31, 12, 31, 13, 34, 0, 53, 0, 71, 0, 75, 13, + 83, 0, 91, 13,101, 0,132, 0,165, 0,181, 0, 30, 93, 1, 93, 9, 1, 33, 3, 51, 17, 51, 21, 35, 21, 35, 53, 33, 53, 1,221, +254,203, 1, 53, 22,166,135,135,144,254, 98, 5,102,254, 93, 2, 28,253,228,109,186,186,121, 0, 0, 1, 0,102, 2,141, 2,211, + 5,223, 0, 32, 0, 0, 19, 33, 21, 33, 21, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 35, 34, 38, 39, 53, 22, 23, 22, 51, 50, + 54, 52, 38, 35, 34, 6, 7,142, 1,254,254,121, 28, 29, 28, 28,161, 94, 94, 97, 96,176, 60,126, 66, 57, 62, 62, 69,111,130,130, +111, 52,104, 54, 5,223, 95,204, 9, 4, 4, 77, 76,131,135, 75, 74, 18, 18,113, 27, 14, 13,102,174,102, 20, 21, 0, 2, 0, 92, + 2,141, 2,243, 5,240, 0, 15, 0, 47, 0, 0, 1, 34, 7, 6, 21, 20, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 19, 21, 38, 39, + 38, 35, 34, 7, 6, 7, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 35, 34, 38, 53, 52, 55, 54, 51, 50, 23, 22, 1,179, 88, 51, + 51, 51, 51, 88, 87, 51, 51, 51, 51,171, 49, 50, 50, 49,128, 68, 68, 10, 38, 57, 58, 68,145, 84, 84, 88, 87,145,167,176,108,108, +182, 49, 50, 50, 4,109, 52, 53, 91, 90, 52, 53, 53, 52, 90, 91, 53, 52, 1, 98,103, 20, 10, 11, 75, 76,153, 49, 26, 26, 76, 77, +132,127, 79, 78,222,212,198,117,118, 8, 9, 0, 0, 1, 0,108, 2,156, 2,213, 5,223, 0, 6, 0, 0, 19, 33, 21, 1, 35, 1, + 33,108, 2,105,254,164,136, 1, 72,254, 51, 5,223, 48,252,237, 2,228, 0, 0, 0, 3, 0, 89, 2,141, 2,236, 5,240, 0, 12, + 0, 42, 0, 58, 0, 0, 0, 34, 7, 6, 21, 20, 22, 51, 50, 55, 54, 52, 39, 37, 38, 39, 38, 53, 52, 54, 32, 23, 22, 21, 20, 7, + 6, 7, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 55, 20, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, + 6, 2, 0,186, 53, 53,106, 93, 92, 54, 53, 53,254,236, 84, 46, 47,164, 1, 30, 82, 81, 46, 47, 83, 90, 56, 53, 85, 86,158,159, + 85, 86, 53, 54, 45, 47, 46, 85, 81, 49, 48, 48, 47, 83, 83, 48, 47, 4, 42, 44, 43, 75, 76, 86, 44, 43,150, 43, 93, 18, 49, 50, + 72,100,116, 58, 58,100, 74, 48, 49, 18, 18, 58, 55, 80,121, 65, 65, 65, 65,121, 78, 57, 56,198, 63, 38, 37, 37, 36, 65, 63, 38, + 37, 37, 36, 0, 0, 2, 0, 83, 2,141, 2,233, 5,240, 0, 31, 0, 46, 0, 0, 19, 53, 22, 23, 22, 51, 50, 55, 54, 55, 6, 7, + 6, 35, 34, 38, 53, 52, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 19, 50, 54, 53, 52, 39, 38, 35, 34, 7, 6, 21, + 20, 23, 22,145, 49, 50, 50, 48,129, 68, 67, 10, 35, 60, 57, 69,144,168, 87, 88,145,167, 87, 88,107,108,182, 49, 50, 50,204, 88, +102, 51, 51, 88, 85, 53, 52, 52, 51, 2,174,103, 20, 11, 10, 75, 75,154, 47, 27, 26,152,132,129, 77, 78,111,111,212,198,117,118, + 8, 9, 1,114,104, 92, 90, 52, 53, 53, 52, 90, 92, 52, 52, 0, 0, 1, 0,137, 2,156, 3,176, 5,107, 0, 11, 0, 0, 1, 17, + 33, 21, 33, 17, 35, 17, 33, 53, 33, 17, 2, 81, 1, 95,254,161,105,254,161, 1, 95, 5,107,254,200, 95,254,200, 1, 56, 95, 1, + 56, 0, 0, 0, 0, 1, 0,137, 3,212, 3,176, 4, 51, 0, 3, 0, 0, 19, 33, 21, 33,137, 3, 39,252,217, 4, 51, 95, 0, 0, + 0, 2, 0,137, 3, 97, 3,176, 4,165, 0, 3, 0, 7, 0, 0, 19, 33, 21, 33, 21, 33, 21, 33,137, 3, 39,252,217, 3, 39,252, +217, 4,165, 94,135, 95, 0, 0, 0, 1, 0,111, 2, 5, 1,144, 6, 2, 0, 13, 0, 0, 1, 14, 1, 16, 22, 23, 35, 38, 39, 38, + 52, 55, 54, 55, 1,144, 84, 82, 82, 84,101, 94, 47, 47, 47, 46, 95, 6, 2,129,252,254,254,254,128,131,128,127,250,127,126,132, + 0, 1, 0,103, 2, 5, 1,136, 6, 2, 0, 15, 0, 0, 19, 51, 22, 23, 22, 20, 7, 6, 7, 35, 54, 55, 54, 16, 39, 38,103,101, + 95, 47, 46, 46, 47, 95,101, 84, 41, 42, 42, 41, 6, 2,132,126,127,250,127,128,131,128,127,127, 1, 2,126,126, 0, 1, 0,117, + 2,156, 2,197, 5, 31, 0, 19, 0, 48, 64, 7, 21, 0, 3, 14, 10, 11, 20, 16,212,220, 60, 47,204,204, 75,176, 13, 81, 88,177, + 21, 64, 56, 89, 49,178,127, 21, 1, 93, 0, 64, 6, 6, 17, 12, 2, 11, 20, 16,212, 60,196,212,204, 48, 1, 17, 35, 17, 52, 38, + 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 22, 2,196,116, 78, 78, 94,108,117,117, 41,113, 74,121,125, 4, 23,254,133, + 1,119, 89, 89,107, 92,254,158, 2,115, 97, 56, 56,134, 0, 0,255,255, 0, 87,255,241, 2,238, 3, 84, 16, 7, 5,204, 0, 0, +253,100, 0, 0,255,255, 0,137, 0, 0, 2,197, 3, 67, 16, 7, 0,123, 0, 0,253,100, 0, 0,255,255, 0, 94, 0, 0, 2,180, + 3, 84, 16, 7, 0,116, 0, 0,253,100, 0, 0,255,255, 0, 98,255,241, 2,205, 3, 84, 16, 7, 0,117, 0, 0,253,100, 0, 0, +255,255, 0, 63, 0, 0, 2,244, 3, 67, 16, 7, 5,206, 0, 0,253,100, 0, 0,255,255, 0,102,255,241, 2,211, 3, 67, 16, 7, + 5,207, 0, 0,253,100, 0, 0,255,255, 0, 92,255,241, 2,243, 3, 84, 16, 7, 5,208, 0, 0,253,100, 0, 0,255,255, 0,108, + 0, 0, 2,213, 3, 67, 16, 7, 5,209, 0, 0,253,100, 0, 0,255,255, 0, 89,255,241, 2,236, 3, 84, 16, 7, 5,210, 0, 0, +253,100, 0, 0,255,255, 0, 83,255,241, 2,233, 3, 84, 16, 7, 5,211, 0, 0,253,100, 0, 0,255,255, 0,137, 0, 0, 3,176, + 2,207, 16, 7, 5,212, 0, 0,253,100, 0, 0,255,255, 0,137, 1, 56, 3,176, 1,151, 16, 7, 5,213, 0, 0,253,100, 0, 0, +255,255, 0,137, 0,197, 3,176, 2, 9, 16, 7, 5,214, 0, 0,253,100, 0, 0,255,255, 0,111,255,105, 1,144, 3,102, 16, 7, + 5,215, 0, 0,253,100, 0, 0,255,255, 0,103,255,105, 1,136, 3,102, 16, 7, 5,216, 0, 0,253,100, 0, 0, 0, 1, 0, 86, + 0, 0, 6,174, 5,214, 0, 35, 0, 0, 1, 14, 1, 35, 34, 0, 16, 0, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 16, 22, 51, 50, + 54, 55, 17, 33, 21, 33, 17, 33, 21, 33, 17, 33, 21, 33, 3,221, 79,178, 99,254,254,219, 1, 37,254,101,177, 78, 76,173, 98,192, +204,204,192, 98,173, 76, 2,196,253,211, 2, 22,253,234, 2, 58,253, 47, 1,184, 54, 54, 1, 55, 2, 28, 1, 55, 53, 54,159, 71, + 70,234,254, 68,234, 70, 71, 2, 10,128,254,181,128,254,107,128, 0, 3, 0,115,255,166, 4,190, 6, 57, 0, 39, 0, 46, 0, 52, + 0, 0, 1, 22, 23, 55, 51, 7, 22, 23, 21, 38, 39, 1, 51, 50, 54, 55, 21, 14, 1, 35, 34, 39, 7, 35, 55, 38, 39, 7, 35, 55, + 38, 39, 38, 17, 16, 55, 54, 37, 55, 51, 7, 6, 7, 6, 17, 20, 23, 1, 38, 39, 1, 22, 23, 3,104, 65, 62, 30,155, 47, 40, 37, + 58, 64,254,193, 18,119,211, 93, 97,216,121, 27, 26, 18,155, 25, 65, 57, 38,155, 65, 19, 17,178,178,160, 1, 8, 21,156,227,145, + 88,125, 82, 2, 52, 62, 67,254,193, 53, 65, 5,235, 8, 19,105,165, 22, 28,213, 60, 41,251,151, 94, 95,211, 72, 72, 2, 63, 87, + 18, 30,135,230, 18, 21,207, 1,103, 1,104,208,185, 20, 75,252, 31,112,157,254,216,238,148, 3,203, 19, 4,251,149, 40, 21, 0, + 0, 1, 0, 96,255,228, 4,179, 5,240, 0, 44, 0, 0, 37, 54, 55, 54, 55, 21, 14, 1, 35, 32, 0, 17, 16, 0, 33, 50, 22, 23, + 21, 46, 1, 35, 34, 2, 17, 16, 23, 22, 23, 17, 51, 21, 62, 1, 51, 50, 22, 31, 1, 46, 1, 35, 34, 6, 21, 3, 46, 97, 88,106, + 93, 97,217,121,254,202,254,155, 1,101, 1, 54,123,217, 95, 93,212,119,234,249,124, 94,153,152, 48,154,110, 15, 38, 23, 1, 26, + 60, 36,128,139,138, 7, 39, 47, 95,211, 72, 71, 1,158, 1,103, 1,104, 1,159, 71, 71,213, 95, 94,254,199,254,216,254,217,156, +117, 30, 3, 93,157, 92, 89, 4, 5,170, 16, 15,182,171, 0, 0, 0, 1, 0,133, 0, 0, 4,203, 5,213, 0, 17, 0, 0, 1, 17, + 33, 21, 33, 17, 33, 21, 33, 17, 51, 21, 35, 17, 35, 17, 35, 53, 1,113, 3, 90,253,112, 2, 80,253,176,250,250,202,236, 1,126, + 4, 87,170,254, 72,170,254,181, 69,254,199, 1, 57, 69, 0, 0, 0, 1, 0,129, 0, 0, 4, 98, 5,240, 0, 35, 0, 0, 1, 17, + 33, 21, 33, 53, 51, 17, 35, 53, 51, 53, 35, 53, 51, 53, 16, 54, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 29, 1, 33, 21, 33, 21, + 33, 21, 2, 53, 2, 45,252, 31,236,191,191,199,199,214,232, 61,151, 79, 76,136, 61,148,116, 1,135,254,121, 1,143, 1,236,254, +190,170,170, 1, 66,143,143,143, 95, 1, 5,243, 31, 29,182, 41, 41,155,212, 72,143,143,143, 0, 0, 1, 0,186,255,189, 7, 29, + 4,171, 0, 42, 0, 0, 1, 22, 23, 62, 1, 51, 50, 22, 21, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 52, 39, 1, 35, 1, + 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 23, 55, 51, 3,204, 61, 32, 69,192,130,175,190,185,114,117,143,166,185, + 14,254,240,128, 1, 59, 53, 81,141,166,185,185, 63,176,121, 74, 60, 22,128, 4, 33, 59, 93,124,118,245,226,253, 92, 2,158,161, +156,190,164,253,135, 2,158, 82, 60,252,145, 3,250, 36,191,163,253,135, 4, 96,174,103, 98, 23, 71, 0, 0, 0, 0, 5, 0,117, + 0, 0, 5,135, 5,213, 0, 2, 0, 6, 0, 34, 0, 38, 0, 41, 0, 0, 1, 39, 21, 19, 39, 35, 21, 3, 33, 19, 51, 17, 51, 17, + 51, 21, 35, 21, 51, 21, 35, 17, 33, 3, 35, 17, 35, 17, 35, 53, 51, 53, 35, 53, 51, 5, 23, 51, 53, 3, 23, 53, 2, 75, 79,182, + 56,126,196, 1, 16,211,229,196,195,195,195,195,254,240,211,229,196,195,195,195,195, 2, 18, 56,126, 79, 79, 3,175,206,206,254, +242,147,147, 3, 52,253,218, 2, 38,253,218,123,147,123,253,218, 2, 38,253,218, 2, 38,123,147,123,123,147,147,254,242,206,206, + 0, 2, 0,201,255,227, 9,206, 5,213, 0, 8, 0, 80, 0, 0, 1, 17, 51, 50, 54, 53, 52, 38, 35, 1, 6, 7, 6, 43, 1, 17, + 35, 17, 33, 50, 23, 22, 23, 51, 17, 51, 17, 33, 21, 33, 17, 20, 22, 59, 1, 53, 30, 1, 51, 50, 54, 53, 52, 38, 47, 1, 46, 1, + 53, 52, 54, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 21, 20, 22, 31, 1, 30, 1, 21, 20, 6, 35, 34, 38, 39, 53, 35, 34, 38, 53, + 17, 1,135,239,133,145,145,133, 1,221, 6,113,122,236,239,190, 1,173,236,122, 87, 24, 81,174, 1,101,254,155, 71,108,171, 96, +187, 91,122,132, 95,161, 60,161,143,211,194, 96,169, 72, 74,158, 85,129,129, 93,139, 59,185,155,233,203, 85,183,102,171,201,152, + 5, 47,253,207,146,135,134,146,254,204,200,106,113,253,168, 5,213,113, 82,136, 1, 62,254,194,143,253,160,137, 78, 35, 53, 53, + 89, 81, 75, 80, 37, 15, 36,149,130,158,172, 30, 30,174, 40, 40, 84, 84, 64, 73, 33, 14, 42,153,137,156,182, 35, 35, 1,159,210, + 2, 96, 0, 0, 0, 2, 0,201,255,227, 8, 51, 5,213, 0, 7, 0, 69, 0, 0, 1, 17, 51, 50, 54, 16, 38, 35, 1, 23, 35, 3, + 46, 1, 43, 1, 17, 35, 17, 33, 32, 22, 21, 20, 6, 7, 30, 1, 31, 1, 22, 23, 22, 51, 50, 54, 53, 52, 38, 47, 1, 46, 1, 53, + 52, 54, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 21, 20, 22, 31, 1, 30, 1, 21, 20, 6, 35, 34, 39, 38, 1,147,254,146,149,149, +146, 2,191, 4,217,191, 74,139,120,220,202, 1,200, 1, 0,252,131,125, 65,123, 62, 91, 98, 96, 99, 97,130,140,101,171, 64,171, +152,224,206,102,180, 76, 78,168, 90,137,137, 98,148, 63,196,165,247,216, 90, 97, 44, 5, 47,253,238,135, 1, 6,133,250,216, 7, + 1,127,150, 98,253,137, 5,213,214,216,141,186, 36, 22,144,126,180, 51, 25, 27, 89, 81, 75, 80, 37, 15, 36,149,130,158,172, 30, + 30,174, 40, 40, 84, 84, 64, 73, 33, 14, 42,153,137,156,182, 18, 8, 0, 0, 0, 0, 6, 0, 59, 0, 0, 7,174, 5,213, 0, 31, + 0, 34, 0, 38, 0, 41, 0, 45, 0, 49, 0, 0, 19, 39, 35, 53, 51, 39, 51, 23, 33, 55, 51, 23, 33, 55, 51, 7, 51, 21, 35, 7, + 51, 21, 35, 3, 35, 3, 35, 3, 35, 3, 35, 53, 5, 27, 1, 1, 23, 33, 55, 1, 27, 2, 7, 51, 39, 33, 23, 33, 55,182, 30, 93, + 58, 49,204, 48, 2, 19, 48,227, 48, 2, 19, 48,205, 49, 57, 93, 29,122,158,225,254,218,195,220,254,224,159, 4,192,165,165,254, +117, 29, 1,145, 29,251, 32,165,165,229, 29,125, 28,253, 76, 29, 1,145, 29, 4, 15,117,143,194,194,194,194,194,194,143,117,143, +252,128, 3,128,252,128, 3,128,143,143,253,103, 2,153, 1, 4,117,117,254,252,253,103, 2,153, 1, 4,117,117,117,117, 0, 0, + 0, 2, 0, 95,255,227, 5,241, 5,213, 0, 13, 0, 27, 0, 0, 19, 37, 32, 0, 25, 1, 35, 17, 52, 38, 35, 33, 17, 35, 41, 1, + 34, 0, 25, 1, 51, 17, 20, 22, 51, 33, 3, 51, 95, 2, 7, 0,255, 1, 6,184,157,176,254,177,184, 5,142,253,253,255,254,250, +184,157,176, 1, 83, 4,184, 5,210, 3,254,214,254,220,254,145, 1, 86,240,211,250,178, 1, 42, 1, 36, 1,111,254,170,240,211, + 5, 78, 0, 0,255,255, 0,129,254,192, 5, 4, 6, 20, 18, 34, 0,211, 16, 0, 16, 3, 2, 38, 0,138, 0, 0, 0, 1, 0, 0, +255,227, 4,143, 5,240, 0, 49, 1, 28, 64, 58, 32, 18,211, 34, 16, 43, 7,211, 9, 25,161, 26,174, 22,149, 29, 1,161, 0,174, + 4,149, 47,145, 29,140, 41, 9, 50, 43, 34, 33, 41, 35, 38, 18, 16, 10, 3, 13, 9, 17, 8, 44, 32, 38, 19, 7, 17, 8, 17, 13, + 28, 25, 0, 38, 42, 33, 47, 60,212,196, 50,252,196,196, 18, 57, 57, 18, 57, 57, 17, 18, 57, 17, 23, 57, 18, 57, 57, 17, 57, 57, + 49, 0, 16,196, 50,228,244,236,244,236, 16,238,246,238, 16,238, 50,221, 60,238, 50, 48, 1, 75,176, 9, 84, 75,176, 12, 84, 91, + 75,176, 13, 84, 91, 75,176, 15, 84, 91, 75,176, 23, 84, 91, 75,176, 24, 84, 91, 88,189, 0, 50,255,192, 0, 1, 0, 50, 0, 50, + 0, 64, 56, 17, 55, 56, 89, 64,122, 14, 0, 14, 1, 11, 2, 11, 49, 84, 20,105, 12,108, 14,110, 15,111, 16,111, 17,111, 18,111, + 19,105, 20,107, 31,111, 32,111, 33,111, 34,111, 35,110, 36,108, 37,105, 39,105, 45,159, 7,159, 8,159, 9,159, 10,159, 11,159, + 12,159, 13,159, 14,159, 15,159, 16,159, 17,159, 18,159, 19,150, 31,159, 32,159, 33,159, 34,159, 35,159, 36,159, 37,159, 38,159, + 39,159, 40,159, 41,159, 42,159, 43,159, 44,157, 45, 50, 0, 8, 0, 9, 16, 8, 16, 9, 32, 8, 32, 9, 85, 21, 83, 30,106, 21, +103, 31, 10, 93, 0, 93, 1, 21, 46, 1, 35, 34, 6, 7, 33, 7, 33, 14, 1, 21, 20, 22, 23, 33, 7, 33, 30, 1, 51, 50, 54, 55, + 21, 14, 1, 35, 34, 0, 3, 35, 55, 51, 52, 38, 53, 52, 54, 53, 35, 55, 51, 18, 0, 51, 50, 22, 4,143, 91,169,102,157,202, 32, + 2, 65, 55,253,230, 2, 1, 1, 2, 1,190, 56,254,138, 32,202,157,102,169, 91, 89,185, 96,237,254,203, 40,211, 55,139, 1, 1, +194, 55,156, 40, 1, 54,236, 98,185, 5, 98,213,105, 90,200,187,123, 24, 46, 35, 32, 46, 24,123,187,202, 90,105,211, 72, 72, 1, + 34, 1, 3,123, 23, 47, 32, 35, 47, 23,123, 1, 1, 1, 34, 71, 0, 1, 0, 40, 0, 0, 5, 22, 5,213, 0, 17, 0, 0, 19, 17, + 51, 17, 1, 51, 1, 33, 21, 33, 1, 35, 1, 17, 35, 17, 35, 53,191,189, 2,117,243,253,128, 1,170,254, 88, 2,176,249,253, 95, +189,151, 3, 84, 2,129,253,137, 2,119,253,127,115,253, 31, 2,207,253, 49, 2,225,115, 0, 0, 0, 1, 0, 20, 0, 0, 5, 3, + 5,213, 0, 23, 0, 0, 1, 17, 33, 53, 33, 21, 33, 17, 55, 23, 5, 21, 55, 23, 5, 17, 35, 17, 7, 39, 37, 53, 7, 39, 2, 38, +253,238, 4,239,253,238,229, 80,254,203,230, 80,254,202,203,231, 77, 1, 52,232, 77, 3,141, 1,158,170,170,254,241,161,111,216, +136,162,111,217,253,184, 1,186,161,110,217,136,162,110, 0, 0, 0, 4, 0, 27,254,117, 8, 90, 5,200, 0, 23, 0, 35, 0, 48, + 0, 59, 0, 0, 51, 55, 51, 54, 55, 19, 34, 6, 29, 1, 7, 16, 55, 54, 33, 51, 50, 0, 21, 16, 3, 6, 4, 33, 55, 51, 32, 0, + 17, 52, 38, 43, 1, 3, 2, 6, 1, 19, 26, 1, 51, 32, 17, 16, 0, 35, 34, 39, 3, 19, 22, 51, 50, 18, 53, 52, 35, 34, 3, 7, + 28,148, 56,116, 42,172,130,150,194,160,160, 1,138, 64,226, 1, 4,238,124,254,172,254,212, 48,118, 1, 24, 1, 68,150,128, 80, +134, 52, 74, 2,140,160, 74,230,192, 1, 72,254,178,224, 52, 92, 86,124, 74, 74,132,176,150,156, 68, 26,160, 82,211, 3, 95,166, +145, 24, 94, 1, 17,159,161,254,234,241,254,119,254,218,152,122,160, 1,168, 1,110,174,208,253, 88,254,255,161,253,139, 3, 44, + 1,115, 1, 66,254,165,254,206,254, 55, 35,254, 82, 2,109, 78, 1, 67,246,245,254,185,130, 0, 0, 4, 0, 68, 0, 0, 4,162, + 5,213, 0, 29, 0, 36, 0, 43, 0, 49, 0, 0, 19, 53, 35, 53, 51, 17, 33, 50, 23, 22, 23, 51, 21, 35, 22, 20, 7, 51, 21, 35, + 6, 7, 6, 43, 1, 17, 35, 17, 35, 53, 5, 33, 21, 51, 50, 55, 54, 1, 33, 38, 39, 38, 43, 1, 5, 33, 21, 33, 54, 52,151, 82, + 82, 1,200,251,129, 76, 31, 92, 72, 1, 1, 71, 90, 31, 77,129,251,254,202, 83, 3, 28,254, 1,254,141, 77, 23,254, 17, 1,255, + 16, 23, 77,141,254, 2, 35,253,221, 2, 35, 2, 3,236, 86,116, 1, 31,113, 68,106,116, 21, 44, 21,116,107, 68,113,253,168, 3, +120,116,116,122, 73, 22, 1, 89, 27, 21, 73,237, 86, 21, 44, 0, 0, 1, 0,117,255,227, 5,188, 5,240, 0, 54, 0, 0, 1, 54, + 55, 54, 55, 33, 53, 33, 54, 55, 54, 53, 52, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 4, 21, 20, 7, 51, 21, 33, 6, 15, 1, 33, + 21, 33, 6, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 32, 36, 53, 52, 55, 35, 53, 1, 92, 4, 22, 74,128,254, 53, 3,146, 12, + 13, 59,179,165, 95,204,115,114,218,105,245, 1, 23, 25,175,254,253,103,216, 67, 2,133,252, 83, 49,188,173,114,236,123,128,239, +106,254,231,254,221, 18,168, 2,161, 7, 22, 74, 44,123, 8, 9, 43,107,118,128, 54, 55,197, 38, 38,228,198, 85, 66,123, 92, 42, + 13,123, 59, 94,126,136, 70, 69,208, 47, 48,224,217, 75, 63,123, 0, 2, 0,170,254,211, 4,119, 6, 20, 0, 33, 0, 44, 0, 0, + 1, 21, 38, 39, 38, 35, 17, 50, 55, 54, 55, 21, 6, 7, 6, 7, 17, 35, 17, 38, 39, 38, 17, 53, 16, 55, 54, 55, 53, 55, 21, 22, + 23, 22, 1, 3, 6, 7, 6, 7, 6, 23, 22, 23, 22, 4,119, 91, 84, 85,101,101, 85, 84, 91, 89, 92, 89, 91,100,185,115,212,212, +121,178,101, 93, 89, 92,254,138, 1, 91, 67,118, 15, 14, 14, 25,108, 67, 4,164,213,105, 45, 45,251,241, 45, 45,105,211, 72, 36, + 34, 2,254,240, 1, 21, 23,117,214, 1, 57, 17, 1, 66,203,116, 23,230, 2,226, 2, 34, 35,251,163, 3,249, 23, 66,117,170,161, +102,180,108, 67, 0, 1,252, 61, 4,122,255,203, 6, 20, 0, 8, 0, 0, 3, 33, 23, 35, 39, 55, 51, 7, 33, 53,253, 27,132,126, +175,175,126,132, 2,229, 5, 21,155,205,205,155, 0, 1,252, 61, 4,122,255,203, 6, 20, 0, 8, 0, 0, 1, 53, 33, 39, 51, 23, + 7, 35, 55,252, 61, 2,229,132,126,175,175,126,132, 5, 21,100,155,205,205,155, 0, 4, 0, 67,255,207, 7,216, 6, 4, 0, 10, + 0, 36, 0, 40, 0, 66, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 61, 1, 55, 17, 35, 53, 14, 1, 35, 34, 38, 53, 52, 54, 51, + 23, 52, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 37, 51, 1, 35, 1, 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, 2, 15,160,112, 83, 72,102,127,188,188, 3,153,109,141,166,205,198,169,111,103, 68, +129, 99, 92,148, 71,194,193, 2,176,216,252, 68,216, 5,169, 94,111, 56,121,137,137,121, 56,111, 94, 73,130, 73,202,236,238,209, + 67,128, 3,246, 66, 82, 67, 73,148,130, 10, 77,254, 13, 62, 5, 79,158,129,150,155, 6, 87, 92, 32, 55,178, 36, 30,202,250,249, +203, 3,132,178, 52, 30,156,148,147,157, 31, 52,177, 34, 27,250,209,212,249, 27,255,255, 0,195,255,240, 8,140, 5,240, 16, 38, + 0,114, 0, 0, 16, 71, 0, 38, 3, 70, 0, 12, 65,117, 62, 82, 0, 2,255,214, 0, 0, 5, 24, 5,213, 0, 8, 0, 43, 0,153, +184, 0, 44, 47,184, 0, 45, 47,184, 0, 21,220,184, 0, 0,220,184, 0, 44, 16,184, 0, 40,208,184, 0, 40, 47,184, 0, 4,220, + 65, 27, 0, 22, 0, 4, 0, 38, 0, 4, 0, 54, 0, 4, 0, 70, 0, 4, 0, 86, 0, 4, 0,102, 0, 4, 0,118, 0, 4, 0,134, + 0, 4, 0,150, 0, 4, 0,166, 0, 4, 0,182, 0, 4, 0,198, 0, 4, 0,214, 0, 4, 0, 13, 93, 65, 5, 0,229, 0, 4, 0, +245, 0, 4, 0, 2, 93,184, 0, 0, 16,184, 0, 9,208,184, 0, 21, 16,184, 0, 11,208,184, 0, 21, 16,184, 0, 31,208,184, 0, + 0, 16,184, 0, 35,208, 0,184, 0, 10, 47,186, 0, 33, 0, 34, 0, 3, 43,184, 0, 33, 16, 48, 49, 1, 6, 7, 6, 21, 20, 23, + 22, 23, 17, 53, 51, 21, 22, 23, 22, 23, 21, 38, 39, 38, 39, 17, 54, 55, 54, 55, 21, 6, 7, 6, 7, 21, 33, 21, 33, 53, 38, 39, + 38, 17, 16, 55, 54, 1,119, 73, 51, 99, 99, 51, 73,202, 56, 54, 81, 76, 78, 78, 55, 56, 56, 55, 78, 78, 77, 82, 52, 56, 2,215, +252, 95,161,107,149,151,105, 4,179, 29, 58,114,205,205,113, 59, 29, 3,212,122,110, 4, 11, 18, 35,172, 43, 22, 15, 4,252,164, + 4, 16, 21, 43,170, 36, 18, 11, 4, 42,170,222, 32,114,159, 1, 14, 1, 18,157,110, 0, 0, 0, 0, 4, 0, 60,255,207, 7,229, + 6, 4, 0, 25, 0, 29, 0, 40, 0, 50, 0, 0, 1, 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, 37, 51, 1, 35, 1, 34, 6, 21, 20, 22, 51, 50, 54, 16, 38, 36, 32, 22, 21, 20, 6, 32, 38, 53, 52, 3, + 6, 94,111, 56,121,137,137,121, 56,111, 94, 73,130, 73,202,236,238,209, 67,128, 2,221,216,252, 68,216, 4,107, 97,118,118, 97, + 96,119,119,254,223, 1,130,218,218,254,126,217, 5,151,178, 52, 30,156,148,147,157, 31, 52,177, 34, 29,252,209,212,249, 27, 75, +249,203, 3, 4,158,146,145,159,160, 1, 32,160,157,248,213,212,248,248,212,213, 0, 3, 0, 60,255,207, 8, 77, 6, 4, 0, 19, + 0, 45, 0, 49, 0, 0, 1, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 38, 1, 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, 37, 51, 1, 35, 5, 92,188, 81, 80, 99,117,188, +188, 6,144, 96,158,161,253,170, 94,111, 56,121,137,137,121, 56,111, 94, 73,130, 73,202,236,238,209, 67,128, 2,221,216,252, 68, +216, 1, 76, 2, 16,253,245,114,105,129,117, 1,240,252,144, 68, 9, 80,193, 4,255,178, 52, 30,156,148,147,157, 31, 52,177, 34, + 29,252,209,212,249, 27, 75,249,203, 0, 0, 0,255,255, 0,195, 0, 0, 7, 38, 5,240, 16, 34, 0,114, 0, 0, 16, 3, 0, 41, + 3, 3, 0, 0, 0, 1, 0, 72, 0, 0, 4,135, 6, 20, 0, 25, 0, 0, 1, 3, 35, 19, 62, 1, 53, 52, 38, 35, 34, 6, 7, 3, + 35, 1, 51, 3, 62, 1, 51, 50, 22, 21, 20, 6, 4,117,131,185,131, 9, 10,106, 95,148,217, 32,121,184, 1, 47,184,119, 70,218, +120,148,163, 9, 2,164,253, 92, 2,157, 47, 72, 21, 84, 94,200,166,253,147, 6, 20,253,156, 94,109,160,145, 36, 82, 0, 0, 0, + 0, 1, 0, 34, 0, 0, 4, 98, 6, 20, 0, 29, 0, 0, 1, 54, 55, 54, 51, 50, 23, 22, 7, 3, 35, 19, 54, 38, 35, 34, 6, 7, + 3, 35, 19, 35, 55, 51, 55, 51, 7, 33, 7, 33, 1,148, 85, 99,100,117,193, 76, 75, 45,131,184,130, 31, 93,124,149,209, 32,123, +185,249,154, 25,154, 28,185, 28, 2, 64, 25,253,192, 3,178,101, 50, 50,119,120,232,253, 92, 2,158,159,158,190,164,253,135, 5, + 4,125,147,147,125, 0, 0, 0, 0, 2, 0,106,255,227, 5, 70, 5,240, 0, 33, 0, 50, 0, 0, 63, 1, 54, 51, 50, 23, 22, 51, + 50, 55, 54, 53, 52, 39, 38, 53, 52, 63, 1, 6, 21, 20, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 35, 34, 19, 54, 51, 50, 23, 22, + 51, 50, 55, 7, 6, 35, 34, 38, 35, 34, 7,106,140,111,117, 57,132,144, 33,121,100, 71, 62, 80, 80,213, 80, 80, 53,202,186,242, + 54,129,133, 56, 94,110,109,141,123,127,122,128,125,125,200,139,111,143,214,143,122,128, 90,165, 39, 80, 86,137, 97, 75,126,112, +146,109,100,160,140,139,121,107,148, 98,188, 94,242,222, 79, 80, 5, 54, 56, 49, 47, 58,170, 58, 98, 58, 0, 0, 0, 2,255,228, +255,227, 2,210, 5,240, 0, 28, 0, 38, 0, 0, 1, 22, 51, 50, 55, 51, 6, 7, 6, 35, 34, 39, 7, 35, 54, 55, 38, 53, 52, 55, + 18, 55, 54, 51, 50, 21, 6, 7, 2, 1, 18, 19, 54, 53, 52, 35, 6, 3, 6, 1, 48, 41, 87, 58, 75,133, 60, 70, 76, 70,156, 63, + 75,156,108, 80, 10, 31,117,104, 72,123,125, 1, 18, 72,254,184,187, 57, 30, 25,109, 97, 27, 1, 12,200,115,102, 53, 57,139,110, +147,137, 78, 85,152,152, 2, 59,117, 81,173, 78, 93,254,131,254,247, 1, 92, 1, 22,147, 38, 69, 87,253,250,145,255,255, 0,201, + 0, 0, 8,240, 5,240, 16, 39, 0,124, 5,140, 0, 0, 16, 6, 0, 49, 0, 0, 0, 4, 1, 27, 0, 0, 6,229, 5,202, 0, 12, + 0, 25, 0, 34, 0, 45, 0, 0, 1, 22, 17, 16, 0, 33, 32, 0, 3, 16, 0, 33, 32, 6, 33, 32, 0, 17, 18, 0, 33, 32, 0, 17, + 16, 39, 5, 17, 51, 50, 54, 53, 52, 38, 35, 37, 33, 50, 22, 21, 20, 6, 43, 1, 17, 35, 6, 11,218,254, 74,254,209,254,207,254, + 82, 6, 1,180, 1, 49, 1, 50, 41,254,247,254,250,254,134, 5, 1,117, 1, 6, 1, 7, 1,121,187,253,211,178, 99,107,107, 99, +254,193, 1, 63,176,180,180,176,178,141, 4,241,219,254,206,254,208,254, 76, 1,180, 1, 48, 1, 48, 1,182,101,254,133,254,249, +254,251,254,135, 1,121, 1, 5, 1, 9,187,119,254,175, 88, 81, 80, 88,100,137,131,133,135,254,152, 0, 0, 0, 0, 2, 0,110, +254, 59, 5, 67, 3,246, 0, 48, 0, 60, 0, 0, 1, 6, 21, 20, 23, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 35, 34, 39, 54, + 55, 22, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 1, 18, 21, 20, 7, 6, 35, 34, 39, 38, 53, 16, 55, 38, 53, 52, 55, 3, 6, 21, + 20, 23, 22, 23, 50, 55, 54, 53, 52, 2, 53,136, 31, 91,171,219,132,131, 70, 73,156,121,174,101, 76, 18, 9, 41,113,122, 93, 69, + 38, 32, 74,189,254,159,135, 69, 89,131,113, 58, 63,223, 46,232,148,129, 31, 48, 46, 65, 28, 32, 3,198,130,190, 77,107,101,148, +189, 76, 80,171,218,215,167, 60, 43, 29, 40,140,104,195,124, 72, 61,254,121,254,222,124,157,110,142, 61, 66,134, 1, 11,252,158, +127,238,164,252,239,198,123,117, 46, 70, 1, 47, 52, 95, 78, 0, 0, 2, 0, 83,255,227, 6,108, 5,241, 0, 73, 0, 88, 0, 0, + 5, 38, 53, 52, 39, 38, 35, 34, 15, 1, 21, 20, 7, 6, 35, 34, 39, 38, 53, 22, 23, 20, 23, 22, 50, 55, 54, 53, 17, 52, 39, 38, + 35, 34, 7, 6, 20, 23, 22, 51, 23, 34, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 23, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 7, + 50, 23, 22, 23, 22, 21, 20, 23, 55, 23, 1, 22, 21, 17, 55, 54, 55, 54, 53, 52, 39, 38, 35, 34, 7, 5, 2, 82, 22, 40, 79, 42, + 92,120,103,103,140,141,102,103, 45, 46, 64, 64,144, 63, 64, 64, 63, 92, 81, 65, 64, 64, 64, 83, 54,151,102,103,103,102,151,162, +101, 30, 16,211,187,112, 47, 36,126, 65, 66,125, 58, 49, 36, 27, 32, 45,144, 42,252,164, 21,154,144, 77, 74, 74, 24, 31, 64,102, + 29,183,159,140, 91,166, 43, 56,199,206,118,117,117,118,176, 12, 12,122, 86, 87, 87, 87,150, 2,155,149, 88, 87, 87, 86,202, 86, + 87, 92,117,118,156,157,117,117,117, 35, 32, 98, 87, 14, 49,177, 87,123,124, 94, 49, 36,104,123,131,128,118, 67, 91, 4, 83, 75, + 92,254,149, 71, 67,104,102,121,151, 32, 10, 47, 0, 5, 0,118, 0, 0, 5,225, 5,213, 0, 7, 0, 27, 0, 31, 0, 39, 0, 48, + 0, 0, 1, 22, 23, 19, 51, 3, 38, 39, 32, 43, 1, 17, 33, 17, 33, 32, 22, 21, 20, 6, 7, 30, 1, 23, 19, 33, 3, 38, 1, 17, + 51, 17, 1, 17, 38, 35, 33, 17, 33, 50, 55, 54, 55, 54, 53, 52, 39, 38, 39, 3, 46, 78,102,142,200,142, 96, 90,254,164,120, 20, +254,110, 2,168, 1, 0,252,132,124, 64,124, 62,204,254, 72,190, 74,253,186,198, 1,238, 34, 38,254,194, 1, 62, 38,138, 58, 40, + 94, 94, 38, 60, 2,119, 47,201,254,229, 1, 27,192, 56,253,137, 5,213,214,216,141,186, 36, 22,144,126,254,104, 1,127,150, 3, + 92,250,243, 5, 13,253,110, 2,142, 4,253,106, 27, 21, 37, 84,164,158, 88, 36, 20, 0, 0, 0, 0, 2, 0,169, 0, 0, 6,131, + 5,213, 0, 8, 0, 31, 0,167,184, 0, 32, 47,184, 0, 33, 47,184, 0, 32, 16,184, 0, 14,208,184, 0, 14, 47,184, 0, 13,220, +184, 0, 0,208,184, 0, 33, 16,184, 0, 19,220,184, 0, 5,220, 65, 5, 0,234, 0, 5, 0,250, 0, 5, 0, 2, 93, 65, 27, 0, + 25, 0, 5, 0, 41, 0, 5, 0, 57, 0, 5, 0, 73, 0, 5, 0, 89, 0, 5, 0,105, 0, 5, 0,121, 0, 5, 0,137, 0, 5, 0, +153, 0, 5, 0,169, 0, 5, 0,185, 0, 5, 0,201, 0, 5, 0,217, 0, 5, 0, 13, 93,184, 0, 9,208,184, 0, 9, 47,186, 0, + 30, 0, 14, 0, 19, 17, 18, 57, 0,184, 0, 13, 47,184, 0, 26, 47,184, 0, 29, 47,186, 0, 15, 0, 0, 0, 3, 43,184, 0, 15, + 16,186, 0, 2, 0, 11, 0, 3, 43,184, 0, 2, 16, 48, 49, 1, 17, 51, 50, 54, 53, 52, 38, 35, 1, 6, 43, 1, 17, 35, 17, 33, + 50, 4, 21, 20, 7, 23, 55, 51, 9, 1, 35, 11, 1, 35, 1, 1,115,254,141,154,154,141, 1, 32,115,173,254,202, 1,200,251, 1, + 1, 78,174,190,232,254,205, 1, 67,233,207,212,232, 1, 73, 5, 47,253,207,146,135,134,146,253, 95, 54,253,168, 5,213,227,219, +172,107,219,234,254,134,254,107, 1, 4,254,252, 1,149, 0, 0, 0, 2, 1, 3, 3,139, 6, 40, 5,216, 0, 39, 0, 52, 0, 0, + 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, 55, 51, 27, 1, 51, 17, 35, 17, 3, 35, 3, 17, 35, 2,230, 85, 87, 39, 65, 71, 47, 69, 56,112, +105,144,140, 52,115, 71, 91,100, 47, 69, 75, 55, 63, 56,112, 99,138,124, 51,105,208,184,161,162,184,138,140,135,141,137, 5,183, + 89, 34, 19, 42, 47, 40, 32, 11, 9, 18, 86, 65, 79, 91, 19, 21, 96, 42, 24, 44, 50, 44, 42, 10, 9, 18, 77, 61, 72, 92, 15, 5, +254,172, 1, 84,253,200, 1,148,254,216, 1, 40,254,108, 0, 0, 0, 3,255,252, 0, 0, 8, 48, 4, 96, 0, 7, 0, 19, 0, 25, + 0, 0, 3, 33, 21, 33, 17, 35, 17, 33, 5, 33, 21, 33, 17, 33, 21, 33, 17, 33, 21, 33, 1, 51, 17, 33, 21, 33, 4, 3,179,254, +114,152,254,115, 2,224, 2,111,254, 22, 1,213,254, 43, 1,246,253,133, 2,239,133, 1,224,253,155, 4, 96,128,252, 32, 3,224, + 96,102,254,247,102,254,187,102, 3,128,252,230,102, 0, 0, 0, 0, 2, 1, 39, 3,147, 6, 70, 5,213, 0, 12, 0, 20, 0, 62, + 64, 33, 1, 6, 7, 16, 10, 4, 18, 14, 9, 3, 6,201, 13, 2, 0,129, 21, 1, 9, 5, 98, 3, 9, 98, 11, 13, 99, 15, 98, 19, + 99, 17, 21, 16,212,228,252,228,212,236,212,236, 17, 57, 49, 0, 16,244, 60, 60,236, 23, 50,212, 60, 60,196, 17, 57, 48, 1, 27, + 1, 51, 17, 35, 17, 3, 35, 3, 17, 35, 17, 35, 21, 35, 17, 35, 17, 35, 53, 4, 74,174,164,170,113,195, 55,203,114,113,203,114, +201, 5,213,255, 0, 1, 0,253,190, 1,228,254,209, 1, 47,254, 28, 2, 66, 94,254, 28, 1,228, 94, 0, 0, 0,255,255, 0, 78, + 0, 0, 5,207, 5,231, 16, 6, 2,199, 0, 0, 0, 1, 0, 78,255,227, 5,207, 5,202, 0, 30, 0, 0, 1, 53, 33, 21, 22, 18, + 21, 20, 0, 32, 0, 53, 52, 18, 55, 53, 33, 21, 33, 6, 2, 21, 16, 0, 33, 32, 0, 17, 52, 2, 39, 5,207,253,168,177,198,254, +248,254, 80,254,247,199,178,253,168, 1, 63,158,145, 1,127, 1, 49, 1, 47, 1,129,142,161, 5, 24,178,178, 97,254,180,202,240, +254,222, 1, 35,239,202, 1, 76, 97,178,178,139,254,214,184,254,194,254,118, 1,137, 1, 53,194, 1, 40,141, 0,255,255, 0,201, + 0, 0, 5,106, 5,213, 16, 6, 0, 46, 0, 0,255,255, 0, 16, 0, 0, 5,104, 7,109, 16, 6, 0,135, 0, 0, 0, 2, 0,125, +255,231, 6, 89, 5, 45, 0, 26, 0, 41, 0, 0, 37, 22, 23, 22, 32, 55, 54, 55, 51, 6, 7, 6, 32, 36, 2, 53, 52, 18, 36, 51, + 50, 4, 18, 21, 33, 34, 21, 53, 20, 51, 33, 50, 53, 17, 38, 39, 38, 35, 34, 7, 6, 7, 1,144, 67, 93,150, 1, 74,152,106, 77, +111, 95,142,179,254,122,254,155,198,201, 1,103,190,189, 1,103,202,251, 74, 19, 19, 3,144, 20, 70, 95,152,159,160,152, 95, 68, +228, 77, 51, 84, 84, 60, 96,120, 71, 90,179, 1, 65,175,176, 1, 69,174,174,254,187,176, 19, 73, 19, 19, 1,112, 80, 51, 82, 81, + 52, 79, 0, 0, 0, 1, 0,201, 0, 0, 4, 35, 5,213, 0, 9, 0, 0, 41, 1, 53, 33, 17, 33, 53, 33, 17, 51, 4, 35,252,166, + 2,144,253,176, 2, 80,202,170, 1,184,170, 2,201, 0, 0, 0, 0, 2, 0,104,255,231, 3, 74, 3, 41, 0, 11, 0, 23, 0, 0, + 1, 52, 38, 35, 34, 2, 21, 20, 22, 51, 50, 18, 3, 50, 22, 21, 20, 2, 35, 34, 38, 53, 52, 18, 2,169, 87, 79,109,141, 86, 80, +109,141,194,152,203,221,162,152,203,221, 1,247,116,125,254,254,207,116,123, 1, 4, 1,253,216,163,198,254,255,216,163,198, 1, + 1, 0, 0, 0, 0, 1, 0,103,255,227, 5,178, 5,240, 0, 54, 0, 0, 9, 1, 22, 21, 20, 7, 52, 39, 1, 7, 6, 31, 1, 22, + 21, 20, 7, 6, 43, 1, 53, 54, 53, 52, 47, 1, 38, 53, 52, 63, 1, 39, 38, 53, 52, 55, 20, 23, 9, 1, 39, 38, 53, 52, 55, 20, + 31, 1, 22, 21, 20, 7, 52, 47, 1, 3,196, 1,139, 99,144, 50,252,251,155, 62, 66,172,100, 61, 86, 69,245,196, 47, 98, 53,140, +154,241, 99,144, 50, 2,108, 1, 25,116, 99,144, 50,182, 99,144, 50, 18, 2,208,254,117, 99, 49,130, 76, 83, 50, 3, 5,156, 63, + 66,172,100,106,108, 44, 62, 56, 63, 93, 29, 47, 99, 54,103, 85,141,155,241, 99, 49,130, 76, 83, 50,253,150, 1, 25,116, 99, 49, +130, 76, 83, 50,182, 99, 49,130, 76, 83, 50, 18, 0, 4, 0,151, 0, 0, 9, 76, 4, 96, 0, 9, 0, 12, 0, 20, 0, 32, 0, 0, + 19, 33, 21, 33, 17, 33, 21, 33, 17, 35, 1, 3, 33, 1, 51, 1, 35, 39, 33, 7, 35, 1, 51, 27, 1, 51, 9, 1, 35, 9, 1, 35, + 1,151, 2,131,254, 20, 1,188,254, 68,151, 3,131,181, 1,106,255, 0,151, 1,119,138, 90,254, 68, 90,140, 3,214,143,245,246, +144,254,195, 1, 82,144,254,235,254,233,144, 1, 96, 4, 96,128,254,182,127,253,233, 3, 8,254, 67, 2, 53,252,128,230,230, 3, +128,254,179, 1, 77,254, 82,254, 46, 1,125,254,131, 1,222, 0, 0, 2, 0, 59,255,227, 5,184, 5,240, 0, 38, 0, 48, 0, 0, + 9, 1, 14, 1, 7, 35, 54, 18, 55, 1, 51, 23, 62, 1, 51, 50, 0, 21, 20, 6, 7, 30, 1, 21, 20, 6, 35, 34, 38, 39, 53, 30, + 1, 51, 50, 54, 53, 52, 38, 55, 62, 1, 53, 52, 38, 35, 34, 6, 7, 3,186,254, 4, 59, 66, 6,186, 12,104, 93,254,233,252,143, +104,228,131,241, 1, 50,134,134, 48, 50,222,184, 83,165, 85, 87,158, 68,105,131, 59, 50, 91, 85,212,160, 95,166, 73, 2, 64, 2, + 8, 89,203,114,132, 1, 2,126, 1, 29,147, 89, 87,254,237,215,128,225, 99, 63,125, 60,162,197, 36, 36,182, 47, 49,111, 88, 51, +103,206, 81,161, 88,146,194, 63, 64, 0, 0, 0,255,255, 0,137,255,227, 7, 88, 5,240, 16, 34, 0,123, 0, 0, 16, 39, 6, 90, + 3, 53, 0, 0, 16, 3, 0,117, 4,139,253,100,255,255, 0, 94,255,227, 7, 88, 5,240, 16, 34, 0,116, 0, 0, 16, 39, 6, 90, + 3, 53, 0, 0, 16, 3, 0,117, 4,139,253,100,255,255, 0,137,255,227, 7, 94, 5,240, 16, 34, 0,123, 0, 0, 16, 39, 6, 90, + 3, 53, 0, 0, 16, 3, 5,207, 4,139,253,100,255,255, 0, 94,255,227, 7, 94, 5,240, 16, 34, 0,116, 0, 0, 16, 39, 6, 90, + 3, 53, 0, 0, 16, 3, 5,207, 4,139,253,100,255,255, 0, 98,255,227, 7, 94, 5,240, 16, 34, 0,117, 0, 0, 16, 39, 6, 90, + 3, 53, 0, 0, 16, 3, 5,207, 4,139,253,100,255,255, 0, 63,255,227, 7, 94, 5,240, 16, 34, 5,206, 0, 0, 16, 39, 6, 90, + 3, 53, 0, 0, 16, 3, 5,207, 4,139,253,100,255,255, 0,137,255,227, 7,126, 5,240, 16, 34, 0,123, 0, 0, 16, 39, 6, 90, + 3, 53, 0, 0, 16, 3, 5,208, 4,139,253,100,255,255, 0,102,255,227, 7,126, 5,240, 16, 34, 5,207, 0, 0, 16, 39, 6, 90, + 3, 53, 0, 0, 16, 3, 5,208, 4,139,253,100,255,255, 0,137,255,227, 7,119, 5,240, 16, 34, 0,123, 0, 0, 16, 39, 6, 90, + 3, 53, 0, 0, 16, 3, 5,210, 4,139,253,100,255,255, 0, 98,255,227, 7,119, 5,240, 16, 34, 0,117, 0, 0, 16, 39, 6, 90, + 3, 53, 0, 0, 16, 3, 5,210, 4,139,253,100,255,255, 0,102,255,227, 7,119, 5,240, 16, 34, 5,207, 0, 0, 16, 39, 6, 90, + 3, 53, 0, 0, 16, 3, 5,210, 4,139,253,100,255,255, 0,108,255,227, 7,119, 5,240, 16, 34, 5,209, 0, 0, 16, 39, 6, 90, + 3, 53, 0, 0, 16, 3, 5,210, 4,139,253,100,255,255, 0,137,255,227, 6, 2, 5,240, 16, 34, 0,123, 0, 0, 16, 7, 6, 90, + 3, 53, 0, 0,255,255, 0,201, 0, 0, 1,147, 5,213, 16, 6, 0, 44, 0, 0,255,255, 0,201, 0, 0, 3, 39, 5,213, 16, 38, + 0, 44, 0, 0, 16, 7, 0, 44, 1,148, 0, 0,255,255, 0,201, 0, 0, 4,187, 5,213, 16, 38, 0, 44, 0, 0, 16, 39, 0, 44, + 1,148, 0, 0, 16, 7, 0, 44, 3, 40, 0, 0,255,255, 0,201, 0, 0, 7, 81, 5,213, 16, 38, 0, 44, 0, 0, 16, 7, 0, 57, + 1,233, 0, 0,255,255, 0, 16, 0, 0, 5,104, 5,213, 16, 6, 0, 57, 0, 0,255,255, 0, 16, 0, 0, 6,152, 5,213, 16, 38, + 0, 57, 0, 0, 16, 7, 0, 44, 5, 5, 0, 0,255,255, 0, 16, 0, 0, 8, 44, 5,213, 16, 38, 0, 57, 0, 0, 16, 39, 0, 44, + 5, 5, 0, 0, 16, 7, 0, 44, 6,153, 0, 0,255,255, 0, 16, 0, 0, 9,192, 5,213, 16, 38, 0, 57, 0, 0, 16, 39, 0, 44, + 5, 5, 0, 0, 16, 39, 0, 44, 6,153, 0, 0, 16, 7, 0, 44, 8, 45, 0, 0,255,255, 0,201, 0, 0, 7, 23, 5,213, 16, 38, + 0, 44, 0, 0, 16, 7, 0, 59, 1,220, 0, 0,255,255, 0, 61, 0, 0, 5, 59, 5,213, 16, 6, 0, 59, 0, 0,255,255, 0, 61, + 0, 0, 6,174, 5,213, 16, 38, 0, 59, 0, 0, 16, 7, 0, 44, 5, 27, 0, 0,255,255, 0, 61, 0, 0, 8, 66, 5,213, 16, 38, + 0, 59, 0, 0, 16, 39, 0, 44, 5, 27, 0, 0, 16, 7, 0, 44, 6,175, 0, 0,255,255, 0,201, 0, 0, 4,106, 5,213, 16, 6, + 0, 47, 0, 0,255,255, 0,115,255,227, 5, 39, 5,240, 16, 6, 0, 38, 0, 0,255,255, 0,201, 0, 0, 5,176, 5,213, 16, 6, + 0, 39, 0, 0,255,255, 0,201, 0, 0, 6, 31, 5,213, 16, 6, 0, 48, 0, 0,255,255, 0,193, 0, 0, 1,121, 6, 20, 16, 6, + 0, 76, 0, 0,255,255, 0,193, 0, 0, 2,233, 6, 20, 16, 38, 0, 76, 0, 0, 16, 7, 0, 76, 1,112, 0, 0,255,255, 0,193, + 0, 0, 4, 89, 6, 20, 16, 38, 0, 76, 0, 0, 16, 39, 0, 76, 1,112, 0, 0, 16, 7, 0, 76, 2,224, 0, 0,255,255, 0,193, + 0, 0, 6, 65, 6, 20, 16, 38, 0, 76, 0, 0, 16, 7, 0, 89, 1,194, 0, 0,255,255, 0, 61, 0, 0, 4,127, 4, 96, 16, 6, + 0, 89, 0, 0,255,255, 0, 61, 0, 0, 5,189, 6, 20, 16, 38, 0, 89, 0, 0, 16, 7, 0, 76, 4, 68, 0, 0,255,255, 0, 61, + 0, 0, 7, 45, 6, 20, 16, 38, 0, 89, 0, 0, 16, 39, 0, 76, 4, 68, 0, 0, 16, 7, 0, 76, 5,180, 0, 0,255,255, 0, 61, + 0, 0, 8,157, 6, 20, 16, 38, 0, 89, 0, 0, 16, 39, 0, 76, 4, 68, 0, 0, 16, 39, 0, 76, 5,180, 0, 0, 16, 7, 0, 76, + 7, 36, 0, 0,255,255, 0,193, 0, 0, 6, 74, 6, 20, 16, 38, 0, 76, 0, 0, 16, 7, 0, 91, 1,209, 0, 0,255,255, 0, 59, + 0, 0, 4,121, 4, 96, 16, 6, 0, 91, 0, 0,255,255, 0, 59, 0, 0, 5,212, 6, 20, 16, 38, 0, 91, 0, 0, 16, 7, 0, 76, + 4, 91, 0, 0,255,255, 0, 59, 0, 0, 7, 68, 6, 20, 16, 38, 0, 91, 0, 0, 16, 39, 0, 76, 4, 91, 0, 0, 16, 7, 0, 76, + 5,203, 0, 0,255,255, 0,193, 0, 0, 1,121, 6, 20, 16, 6, 0, 79, 0, 0,255,255, 0,113,255,227, 3,231, 4,123, 16, 6, + 0, 70, 0, 0,255,255, 0,113,255,227, 4, 90, 6, 20, 16, 6, 0, 71, 0, 0,255,255, 0,186, 0, 0, 7, 29, 4,123, 16, 6, + 0, 80, 0, 0, 0, 3, 0,121,255,255, 9,125, 5,213, 0, 13, 0, 22, 0, 31, 0, 0, 1, 32, 0, 17, 16, 0, 41, 1, 32, 0, + 17, 16, 0, 33, 1, 51, 32, 0, 17, 16, 0, 33, 35, 3, 17, 35, 32, 0, 17, 16, 0, 33, 6, 53, 1,178, 1,150,254,104,254, 80, +253,140,254, 80,254,104, 1,150, 1,178, 1,159,244, 1, 53, 1, 31,254,225,254,203,244,202,244,254,203,254,225, 1, 31, 1, 53, + 5,213,254,151,254,128,254,126,254,150, 1,106, 1,130, 1,128, 1,105,250,209, 1, 24, 1, 46, 1, 44, 1, 23,251,119, 4,137, +254,233,254,212,254,210,254,232, 0, 3, 0,201, 0, 0, 5,176, 5,213, 0, 17, 0, 26, 0, 35, 0,251,186, 0, 9, 0, 27, 0, + 3, 43,184, 0, 9, 16,186, 0, 14, 0, 23, 0, 3, 43,184, 0, 14, 16,186, 0, 31, 0, 5, 0, 3, 43,184, 0, 31, 16,184, 0, + 9, 16,184, 0, 0,208, 65, 5, 0,234, 0, 5, 0,250, 0, 5, 0, 2, 93, 65, 27, 0, 25, 0, 5, 0, 41, 0, 5, 0, 57, 0, + 5, 0, 73, 0, 5, 0, 89, 0, 5, 0,105, 0, 5, 0,121, 0, 5, 0,137, 0, 5, 0,153, 0, 5, 0,169, 0, 5, 0,185, 0, + 5, 0,201, 0, 5, 0,217, 0, 5, 0, 13, 93,184, 0, 9, 16,184, 0, 18,208, 65, 5, 0,234, 0, 23, 0,250, 0, 23, 0, 2, + 93, 65, 27, 0, 25, 0, 23, 0, 41, 0, 23, 0, 57, 0, 23, 0, 73, 0, 23, 0, 89, 0, 23, 0,105, 0, 23, 0,121, 0, 23, 0, +137, 0, 23, 0,153, 0, 23, 0,169, 0, 23, 0,185, 0, 23, 0,201, 0, 23, 0,217, 0, 23, 0, 13, 93,184, 0, 31, 16,184, 0, + 37,220, 0,186, 0, 2, 0, 34, 0, 3, 43,184, 0, 2, 16,186, 0, 28, 0, 8, 0, 3, 43,184, 0, 28, 16,186, 0, 19, 0, 0, + 0, 3, 43,184, 0, 19, 16,186, 0, 10, 0, 18, 0, 3, 43,184, 0, 10, 16, 48, 49, 1, 21, 51, 32, 0, 17, 16, 0, 33, 35, 21, + 51, 32, 22, 21, 20, 6, 35, 3, 17, 51, 50, 54, 53, 52, 38, 35, 1, 33, 32, 0, 17, 16, 0, 41, 1, 1,147,244, 1, 53, 1, 31, +254,225,254,203,244, 72, 1, 0,240,241,255, 72, 78,159,147,147,159,254,232, 1,159, 1,178, 1,150,254,104,254, 80,254, 97, 1, + 89,179, 1, 24, 1, 46, 1, 44, 1, 23,178,194,207,208,195, 2,158,253,232,129,140,138,129, 1,222,254,151,254,128,254,126,254, +150, 0, 0, 0, 0, 5, 0,121,255,255, 9,125, 5,213, 0, 17, 0, 26, 0, 40, 0, 49, 0, 67, 0, 0, 1, 51, 32, 0, 17, 16, + 0, 33, 35, 53, 51, 32, 54, 53, 52, 38, 33, 35, 25, 1, 51, 50, 22, 21, 20, 6, 35, 19, 32, 0, 17, 16, 0, 41, 1, 32, 0, 17, + 16, 0, 33, 19, 35, 34, 38, 53, 52, 54, 59, 1, 53, 35, 32, 6, 21, 20, 22, 33, 51, 21, 35, 32, 0, 17, 16, 0, 33, 51, 5, 96, +244, 1, 53, 1, 31,254,225,254,203,244, 72, 0,255,241,240,255, 0, 72, 78,159,147,147,159,135, 1,176, 1,152,254,106,254, 78, +253,140,254, 78,254,106, 1,152, 1,176,213, 78,159,147,147,159, 78, 72,255, 0,240,241, 0,255, 72,244,254,203,254,225, 1, 31, + 1, 53,244, 5, 47,254,233,254,212,254,210,254,232,179,195,208,207,194,253, 98, 2, 24,129,138,140,129,254, 33, 1,106, 1,130, + 1,128, 1,105,254,151,254,128,254,126,254,150, 1,223,129,140,138,129,134,194,207,208,195,179, 1, 24, 1, 46, 1, 44, 1, 23, +255,255, 0,115,255,227, 5, 39, 5,240, 16, 6, 1, 72, 0, 0, 0, 1, 0,100, 0,204, 6, 63, 4, 56, 0, 9, 0,129,180, 2, + 9, 6, 0, 10, 16,212,212,204, 50, 64, 9, 64, 2, 64, 9, 48, 2, 48, 9, 4, 93, 49, 64, 10, 2, 5, 9, 1, 0, 6, 5,156, + 6, 10, 0, 16,212,236, 17, 57, 57,204, 16,204, 48, 64, 12, 8, 9, 9, 0, 8, 7, 8, 7,156, 0, 9, 0, 7, 5, 16,252, 60, + 8, 6, 16, 60, 64, 12, 3, 2, 2, 1, 3, 4, 3, 4,156, 1, 2, 1, 7, 5, 16,252, 60, 8, 6, 16, 60,176, 16, 75, 83, 88, + 0,179, 3, 2, 8, 9, 16, 60, 16, 60,180, 8,156, 9, 9, 0, 7, 5, 16,236,180, 3,156, 2, 2, 1, 7, 5, 16,236, 89, 19, + 53, 1, 23, 7, 33, 21, 33, 23, 7,100, 1,137,120,233, 4,195,251, 61,233,120, 2, 85, 90, 1,137,120,233,170,233,120, 0, 0, + 0, 1, 1,163, 0, 0, 5, 15, 5,220, 0, 9, 0,129, 64, 10, 2, 5, 9, 1, 0, 6, 5,156, 6, 10, 16,212,236, 17, 57, 57, +204, 16,204, 49, 0,180, 2, 9, 6, 0, 10, 16,212,212,204, 50, 64, 9, 79, 2, 79, 9, 63, 2, 63, 9, 4, 93, 48, 64, 12, 8, + 9, 9, 0, 8, 7, 8, 7,156, 0, 9, 0, 7, 4, 16,252, 60, 8, 6, 16, 60, 64, 12, 3, 2, 2, 1, 3, 4, 3, 4,156, 1, + 2, 1, 7, 4, 16,252, 60, 8, 6, 16, 60,176, 16, 75, 83, 88, 1,179, 3, 2, 8, 9, 16, 60, 16, 60,180, 8,156, 9, 9, 0, + 7, 4, 16,236,180, 3,156, 2, 2, 1, 7, 4, 16,236, 89, 1, 51, 1, 7, 39, 17, 35, 17, 7, 39, 3, 45, 90, 1,136,120,232, +170,234,120, 5,220,254,118,120,234,251, 60, 4,196,234,120, 0, 0, 1, 0,117, 0,204, 6, 80, 4, 56, 0, 9, 0,129,180, 2, + 9, 0, 6, 10, 16,212,212,204, 50, 64, 9, 79, 2, 79, 9, 95, 2, 95, 9, 4, 93, 49, 64, 10, 9, 6, 2, 1, 0, 5, 6,156, + 5, 10, 0, 16,212,236, 17, 57, 57,204, 16,204, 48, 64, 12, 8, 9, 9, 0, 8, 7, 8, 7,156, 0, 9, 0, 7, 5, 16,252, 60, + 8, 6, 16, 60, 64, 12, 3, 2, 2, 1, 3, 4, 3, 4,156, 1, 2, 1, 7, 5, 16,252, 60, 8, 6, 16, 60,176, 16, 75, 83, 88, + 0,179, 3, 2, 8, 9, 16, 60, 16, 60,180, 8,156, 9, 9, 0, 7, 5, 16,236,180, 3,156, 2, 2, 1, 7, 5, 16,236, 89, 1, + 21, 1, 39, 55, 33, 53, 33, 39, 55, 6, 80,254,119,120,233,251, 61, 4,195,233,120, 2,175, 90,254,119,120,233,170,233,120, 0, + 0, 1, 1,163,255,249, 5, 15, 5,213, 0, 9, 0,129, 64, 10, 9, 6, 2, 1, 0, 5, 6,156, 5, 10, 16,212,236, 17, 57, 57, +204, 16,204, 49, 0,180, 2, 9, 0, 6, 10, 16,212,212,204, 50, 64, 9, 64, 2, 64, 9, 80, 2, 80, 9, 4, 93, 48, 64, 12, 8, + 9, 9, 0, 8, 7, 8, 7,156, 0, 9, 0, 7, 4, 16,252, 60, 8, 6, 16, 60, 64, 12, 3, 2, 2, 1, 3, 4, 3, 4,156, 1, + 2, 1, 7, 4, 16,252, 60, 8, 6, 16, 60,176, 16, 75, 83, 88, 1,179, 3, 2, 8, 9, 16, 60, 16, 60,180, 8,156, 9, 9, 0, + 7, 4, 16,236,180, 3,156, 2, 2, 1, 7, 4, 16,236, 89, 5, 35, 1, 55, 23, 17, 51, 17, 55, 23, 3,135, 90,254,118,120,234, +170,232,120, 7, 1,138,120,234, 4,196,251, 60,234,120, 0, 0, 0, 1, 0,100, 0,204, 6, 80, 4, 56, 0, 15, 0,218,182, 7, + 10, 9, 2, 15, 0, 16, 16,212,204, 50,212,204, 50, 64, 13, 80, 2, 80, 15, 95, 10, 95, 7, 79, 10, 79, 7, 6, 93, 49, 0, 64, + 15, 7, 2, 4, 10, 15, 0, 1, 8, 9, 4, 13, 4,156, 13, 16, 16,212,236, 17, 23, 57,204, 50, 16,204, 50, 48, 64, 12, 14, 15, + 15, 0, 14, 13, 14, 13,156, 0, 15, 0, 7, 5, 16,252, 60, 8, 6, 16, 60, 64, 12, 3, 2, 2, 1, 3, 4, 3, 4,156, 1, 2, + 1, 7, 5, 16,252, 60, 8, 6, 16, 60, 64, 12, 11, 10, 10, 9, 11, 12, 11, 12,156, 9, 9, 10, 7, 5, 16,252, 60, 8, 6, 16, + 60, 64, 12, 6, 7, 7, 8, 6, 5, 6, 5,156, 8, 7, 8, 7, 5, 16,252, 60, 8, 6, 16, 60,176, 16, 75, 83, 88, 0,183, 11, + 10, 6, 7, 3, 2, 14, 15, 16, 60, 16, 60, 16, 60, 16, 60,180, 14,156, 15, 15, 0, 7, 5, 16,236,180, 3,156, 2, 2, 1, 7, + 5, 16,236,180, 11,156, 10, 10, 9, 7, 5, 16,236,180, 6,156, 7, 7, 8, 7, 5, 16,236, 89, 19, 53, 1, 23, 7, 33, 39, 55, + 1, 21, 1, 39, 55, 33, 23, 7,100, 1,137,120,233, 3,188,233,120, 1,137,254,119,120,233,252, 68,233,120, 2, 85, 90, 1,137, +120,233,233,120,254,119, 90,254,119,120,233,233,120, 0, 0, 0, 0, 1, 1,163,255,239, 5, 15, 5,220, 0, 15, 0,222, 64, 15, + 7, 2, 4, 10, 15, 0, 1, 8, 9, 4, 13, 4,156, 13, 16, 16,212,236, 17, 23, 57,204, 50, 16,204, 50, 49, 0,182, 7, 10, 9, + 2, 15, 0, 16, 16,212,204, 50,212,204, 50, 64, 17, 95, 2, 95, 15, 80, 10, 80, 7, 79, 2, 79, 15, 64, 10, 64, 7, 8, 93, 48, + 64, 12, 14, 15, 15, 0, 14, 13, 14, 13,156, 0, 15, 0, 7, 4, 16,252, 60, 8, 6, 16, 60, 64, 12, 3, 2, 2, 1, 3, 4, 3, + 4,156, 1, 2, 1, 7, 4, 16,252, 60, 8, 6, 16, 60, 64, 12, 11, 10, 10, 9, 11, 12, 11, 12,156, 9, 9, 10, 7, 4, 16,252, + 60, 8, 6, 16, 60, 64, 12, 6, 7, 7, 8, 6, 5, 6, 5,156, 8, 7, 8, 7, 4, 16,252, 60, 8, 6, 16, 60,176, 16, 75, 83, + 88, 1,183, 11, 10, 6, 7, 3, 2, 14, 15, 16, 60, 16, 60, 16, 60, 16, 60,180, 14,156, 15, 15, 0, 7, 4, 16,236,180, 3,156, + 2, 2, 1, 7, 4, 16,236,180, 11,156, 10, 10, 9, 7, 4, 16,236,180, 6,156, 7, 7, 8, 7, 4, 16,236, 89, 1, 51, 1, 7, + 39, 17, 55, 23, 1, 35, 1, 55, 23, 17, 7, 39, 3, 45, 90, 1,136,120,232,232,120,254,120, 90,254,118,120,234,234,120, 5,220, +254,118,120,234,252, 67,234,120,254,118, 1,138,120,234, 3,189,234,120, 0, 0, 0, 1, 1, 32, 0, 52, 5,159, 4,179, 0, 9, + 0, 0, 1, 55, 33, 21, 33, 1, 7, 1, 17, 35, 1, 32, 63, 2, 44,254,182, 3, 94,120,252,162,169, 4,116, 63,169,252,162,120, + 3, 94,254,182, 0, 1, 1, 32, 0, 52, 5,159, 4,179, 0, 9, 0, 0, 1, 23, 17, 35, 17, 1, 39, 1, 33, 53, 5, 96, 63,169, +252,162,120, 3, 94,254,182, 4,179, 63,253,212, 1, 74,252,162,120, 3, 94,169, 0, 1, 1, 32, 0, 52, 5,159, 4,179, 0, 9, + 0, 0, 37, 7, 33, 53, 33, 1, 55, 1, 17, 51, 5,159, 63,253,212, 1, 74,252,162,120, 3, 94,169,115, 63,169, 3, 94,120,252, +162, 1, 74, 0, 0, 1, 1, 32, 0, 52, 5,159, 4,179, 0, 9, 0, 0, 37, 39, 17, 51, 17, 1, 23, 1, 33, 21, 1, 95, 63,169, + 3, 94,120,252,162, 1, 74, 52, 63, 2, 44,254,182, 3, 94,120,252,162,169, 0, 0, 1, 0,100, 0,204, 5, 63, 5, 3, 0, 11, + 0, 0, 1, 33, 23, 7, 1, 53, 1, 23, 7, 33, 17, 51, 5, 63,252, 61,233,120,254,119, 1,137,120,233, 3, 25,170, 2, 45,233, +120, 1,137, 90, 1,137,120,233, 2, 44, 0, 0, 0, 1, 0,217, 2, 45, 5,219, 2,215, 0, 3, 0, 17,182, 0,156, 2, 4, 1, + 0, 4, 16,212,196, 49, 0, 16,212,236, 48, 19, 33, 21, 33,217, 5, 2,250,254, 2,215,170, 0, 0, 2, 0,217, 0, 0, 5,219, + 5, 4, 0, 11, 0, 15, 0, 0, 33, 35, 17, 33, 53, 33, 17, 51, 17, 33, 21, 33, 1, 53, 33, 21, 3,174,168,253,211, 2, 45,168, + 2, 45,253,211,253, 43, 5, 2, 1,131,170, 1,131,254,125,170, 2,215,170,170, 0, 2, 0,217, 0, 0, 5,219, 5,213, 0, 11, + 0, 15, 0, 87,186, 0, 5, 0, 6, 0, 3, 43,184, 0, 5, 16,184, 0, 0,208,184, 0, 6, 16,184, 0, 10,208,184, 0, 6, 16, +184, 0, 12,208,184, 0, 5, 16,184, 0, 13,208, 0,184, 0, 5, 47,186, 0, 13, 0, 14, 0, 3, 43,184, 0, 13, 16,186, 0, 2, + 0, 3, 0, 3, 43,184, 0, 2, 16,184, 0, 3, 16,184, 0, 7,208,184, 0, 2, 16,184, 0, 9,208, 48, 49, 1, 17, 33, 21, 33, + 17, 35, 17, 33, 53, 33, 25, 1, 51, 21, 35, 3,174, 2, 45,253,211,168,253,211, 2, 45,168,168, 4,160,254, 5,170,254, 5, 1, +251,170, 1,251, 1, 53,204, 0, 0, 1,254,137,255,227, 2,205, 5,240, 0, 3, 0, 43, 64, 19, 0, 15, 1, 2, 1, 2, 15, 3, + 0, 3, 66, 2,140, 0,145, 4, 1, 3, 4, 16,212,204, 49, 0, 16,228,228, 48, 75, 83, 88, 7, 16, 5,237, 7, 16, 5,237, 89, + 34, 1, 51, 1, 35, 2, 45,160,252, 92,160, 5,240,249,243, 0,255,255, 1,138,255,146, 4, 60, 6, 37, 16, 3, 0, 63, 1,138, + 0, 80, 0, 0,255,255, 0,190, 0,175, 4, 68, 4, 85, 16, 7, 0, 13, 0,129,254,101, 0, 0,255,255, 1, 68, 1, 71, 3,190, + 3,194, 16, 7, 0,114, 0,129,253,210, 0, 0, 0, 1, 0,219, 2, 72, 1,174, 3, 70, 0, 3, 0, 18,183, 2,131, 0, 4, 1, + 25, 0, 4, 16,212,236, 49, 0, 16,212,236, 48, 19, 51, 21, 35,219,211,211, 3, 70,254, 0, 0, 0, 1, 0, 61,255,215, 5, 25, + 6,125, 0, 10, 0, 42, 64, 24, 10, 9, 8, 7, 6, 5, 11, 2, 4, 2, 0, 11, 10, 9, 7, 6, 5, 4, 3, 0, 8, 1, 8, 11, + 16,212,204, 23, 57, 49, 0, 16,212,204,196, 17, 18, 23, 57, 48, 1, 51, 21, 35, 1, 35, 1, 7, 39, 37, 1, 4, 92,189,115,253, +174, 66,254,193,125, 25, 1, 27, 1, 0, 6,125, 96,249,186, 3,115, 45, 80, 98,253, 59, 0, 0,255,255, 0, 61,255,215, 5, 25, + 7,208, 18, 34, 6, 95, 0, 0, 16, 3, 0,117, 0,115, 1,224,255,255, 0, 61,255,215, 5, 25, 7,191, 18, 34, 6, 95, 0, 0, + 16, 3, 5,206, 0,115, 1,224, 0, 2, 0,221, 0,221, 4,141, 3,238, 0, 11, 0, 37, 0, 0, 1, 46, 1, 35, 34, 6, 21, 20, + 22, 51, 50, 54, 1, 34, 38, 39, 14, 1, 35, 34, 38, 53, 52, 54, 51, 50, 22, 23, 62, 1, 51, 21, 34, 6, 7, 30, 1, 51, 3, 25, + 49,133, 85,102,127,118, 89, 82,134, 1,189, 73,149, 79, 70,157, 94,136,186,167,134, 95,153, 72, 68,158, 97, 43,133, 74, 49,134, + 67, 2,154, 88, 88,132,106,101,134,136,254,232,119,139,135,127,223,166,175,216,126,138,138,131,150,135,162, 88, 90, 0, 0, 0, + 0, 3, 0,221, 0,221, 5,207, 3,238, 0, 11, 0, 23, 0, 47, 0,255, 64, 29, 45, 27, 21, 9, 33, 3, 0, 36, 24, 4, 21, 15, + 39, 33, 21, 27, 15, 33, 48, 12, 0, 36, 24, 18, 6, 42, 18, 30, 48, 16,212,196,212,196, 17, 57, 57, 57, 57, 49, 0, 16,212,196, +212,196, 16,192, 17, 18, 23, 57, 18, 57, 17, 18, 57, 48, 64,190, 5, 2, 5, 3, 5, 4, 0, 5, 0, 6, 0, 7, 5, 8, 5, 9, + 5, 10, 10, 16, 15, 17, 15, 18, 15, 19, 10, 20, 21, 2, 21, 3, 21, 4, 16, 5, 16, 6, 16, 7, 21, 8, 21, 9, 21, 10, 26, 14, + 26, 15, 26, 16, 31, 17, 31, 18, 31, 19, 26, 20, 26, 21, 26, 22, 36, 2, 36, 3, 36, 4, 32, 5, 32, 6, 32, 7, 36, 8, 36, 9, + 36, 10, 42, 14, 42, 15, 42, 16, 47, 17, 47, 18, 47, 19, 42, 20, 42, 21, 42, 22, 53, 2, 53, 3, 53, 4, 48, 5, 48, 6, 48, 7, + 53, 8, 53, 9, 53, 10, 58, 14, 58, 15, 58, 16, 63, 17, 63, 18, 63, 19, 58, 20, 58, 21, 58, 22, 69, 2, 69, 3, 69, 4, 64, 5, + 64, 6, 64, 7, 69, 8, 69, 9, 69, 10, 74, 14, 74, 15, 74, 16, 79, 17, 79, 18, 79, 19, 74, 20, 74, 21, 74, 22, 86,180, 31,176, + 32,176, 33,176, 34,176, 38,176, 39,176, 40,180, 41, 8, 93, 1, 93, 1, 30, 1, 51, 50, 54, 53, 52, 38, 35, 34, 6, 7, 46, 1, + 35, 34, 6, 21, 20, 22, 51, 50, 54, 23, 14, 1, 35, 34, 38, 53, 52, 54, 51, 50, 22, 23, 62, 1, 51, 50, 22, 21, 20, 6, 35, 34, + 38, 3,147, 49,134, 84,101,128,118, 89, 82,133,196, 49,133, 85,102,127,118, 89, 82,134,144, 70,157, 94,136,186,167,134, 95,153, + 72, 68,158, 97,134,188,167,134, 94,149, 2, 47, 88, 90,135,105,101,134,135, 55, 88, 88,132,106,101,134,136, 22,135,127,223,166, +175,216,126,138,138,131,225,167,175,214,119, 0, 0, 6, 0,247, 0, 1, 7, 9, 6, 19, 0, 3, 0, 49, 0, 59, 0, 70, 0, 79, + 0, 89, 0, 0, 1, 33, 17, 33, 17, 21, 20, 6, 32, 38, 53, 52, 54, 59, 1, 17, 35, 34, 38, 53, 52, 54, 32, 22, 29, 1, 33, 53, + 52, 54, 51, 50, 22, 21, 20, 6, 43, 1, 17, 51, 50, 22, 21, 20, 6, 35, 34, 38, 61, 1, 1, 53, 52, 38, 35, 34, 6, 20, 22, 51, + 19, 35, 34, 6, 21, 20, 22, 51, 50, 54, 53, 1, 51, 50, 54, 52, 38, 34, 6, 21, 17, 21, 20, 22, 50, 54, 53, 52, 38, 35, 3,108, + 1, 40,254,216,185,254,252,184,184,127,170,170,127,184,184, 1, 4,185, 1, 40,185,130,131,183,183,128,170,170,128,183,183,131, +130,185,254, 68, 98, 69, 68, 98, 98, 69,166,166, 69, 98, 98, 69, 68, 98, 2, 80,167, 68, 98, 97,138, 98, 98,138, 97, 98, 68, 2, +118, 1, 40,254, 68,170,128,183,184,131,128,186, 1, 40,186,129,130,184,183,128,170,170,128,183,184,130,129,186,254,216,186,128, +131,184,183,128,170, 2, 80,167, 69, 97, 97,138, 98,253,176, 98, 68, 69, 98, 98, 68, 2,247, 98,138, 97, 97, 69,253, 9,167, 68, + 98, 98, 69, 68, 98, 0, 0, 0, 0, 1, 0,217, 1, 31, 5,219, 3, 94, 0, 5, 0, 0, 1, 33, 17, 51, 17, 33, 5,219,250,254, +168, 4, 90, 1, 31, 2, 63,254,107, 0, 0, 0, 0, 2, 0,172, 0, 0, 7, 84, 5,200, 0, 7, 0, 11, 0, 0, 19, 33, 1, 33, + 21, 33, 1, 33, 37, 33, 21, 33,172, 2, 66, 2,154, 1,204,253,188,253,102,254, 54, 3,244, 2,180,253, 76, 5,200,250,204,148, + 5, 52,148,148, 0, 1, 0,183,254,242, 2,123, 6, 18, 0, 5, 0, 0, 19, 1, 51, 9, 1, 35,183, 1, 26,170,254,230, 1, 26, +170, 2,130,252,112, 3,144, 3,144, 0, 0, 0, 0, 1, 0,164,254,242, 2,104, 6, 18, 0, 5, 0, 0, 9, 1, 35, 9, 1, 51, + 2,104,254,230,170, 1, 26,254,230,170, 2,130,252,112, 3,144, 3,144, 0, 0, 0, 3, 0,152,255,236, 6,148, 5,232, 0, 13, + 0, 27, 0, 38, 0,219,186, 0, 14, 0, 6, 0, 3, 43,184, 0, 14, 16,186, 0, 35, 0, 29, 0, 3, 43,184, 0, 35, 16,186, 0, + 0, 0, 20, 0, 3, 43,184, 0, 0, 16, 65, 27, 0, 22, 0, 14, 0, 38, 0, 14, 0, 54, 0, 14, 0, 70, 0, 14, 0, 86, 0, 14, + 0,102, 0, 14, 0,118, 0, 14, 0,134, 0, 14, 0,150, 0, 14, 0,166, 0, 14, 0,182, 0, 14, 0,198, 0, 14, 0,214, 0, 14, + 0, 13, 93, 65, 5, 0,229, 0, 14, 0,245, 0, 14, 0, 2, 93, 65, 5, 0,234, 0, 20, 0,250, 0, 20, 0, 2, 93, 65, 27, 0, + 25, 0, 20, 0, 41, 0, 20, 0, 57, 0, 20, 0, 73, 0, 20, 0, 89, 0, 20, 0,105, 0, 20, 0,121, 0, 20, 0,137, 0, 20, 0, +153, 0, 20, 0,169, 0, 20, 0,185, 0, 20, 0,201, 0, 20, 0,217, 0, 20, 0, 13, 93, 0,186, 0, 17, 0, 3, 0, 3, 43,184, + 0, 17, 16,186, 0, 10, 0, 24, 0, 3, 43,184, 0, 10, 16,186, 0, 36, 0, 37, 0, 3, 43,184, 0, 36, 16,184, 0, 28,208, 48, + 49, 1, 16, 0, 33, 32, 0, 17, 52, 18, 36, 51, 50, 4, 18, 5, 16, 0, 33, 32, 0, 17, 52, 2, 36, 35, 34, 4, 2, 1, 51, 17, + 7, 53, 37, 51, 17, 51, 21, 33, 6,148,254, 63,254,194,254,196,254, 63,206, 1,113,190,193, 1,113,205,250, 87, 1,143, 1, 28, + 1, 28, 1,143,182,254,184,173,173,254,184,182, 1,124,217,236, 1, 1,161,218,253,151, 2,234,254,193,254, 65, 1,191, 1, 63, +198, 1,114,198,198,254,144,200,254,228,254,112, 1,144, 1, 28,179, 1, 71,177,177,254,185,253,255, 2,126, 43,152, 47,252,230, +142, 0, 0, 0, 0, 3, 0,152,255,236, 6,148, 5,232, 0, 13, 0, 27, 0, 56, 1, 63,186, 0, 14, 0, 6, 0, 3, 43,184, 0, + 14, 16,186, 0, 51, 0, 38, 0, 3, 43,184, 0, 51, 16,186, 0, 0, 0, 20, 0, 3, 43,184, 0, 0, 16, 65, 27, 0, 22, 0, 14, + 0, 38, 0, 14, 0, 54, 0, 14, 0, 70, 0, 14, 0, 86, 0, 14, 0,102, 0, 14, 0,118, 0, 14, 0,134, 0, 14, 0,150, 0, 14, + 0,166, 0, 14, 0,182, 0, 14, 0,198, 0, 14, 0,214, 0, 14, 0, 13, 93, 65, 5, 0,229, 0, 14, 0,245, 0, 14, 0, 2, 93, + 65, 5, 0,234, 0, 20, 0,250, 0, 20, 0, 2, 93, 65, 27, 0, 25, 0, 20, 0, 41, 0, 20, 0, 57, 0, 20, 0, 73, 0, 20, 0, + 89, 0, 20, 0,105, 0, 20, 0,121, 0, 20, 0,137, 0, 20, 0,153, 0, 20, 0,169, 0, 20, 0,185, 0, 20, 0,201, 0, 20, 0, +217, 0, 20, 0, 13, 93,184, 0, 51, 16,184, 0, 29,208,184, 0, 29, 47, 65, 5, 0,234, 0, 38, 0,250, 0, 38, 0, 2, 93, 65, + 27, 0, 25, 0, 38, 0, 41, 0, 38, 0, 57, 0, 38, 0, 73, 0, 38, 0, 89, 0, 38, 0,105, 0, 38, 0,121, 0, 38, 0,137, 0, + 38, 0,153, 0, 38, 0,169, 0, 38, 0,185, 0, 38, 0,201, 0, 38, 0,217, 0, 38, 0, 13, 93,186, 0, 44, 0, 6, 0, 0, 17, + 18, 57, 0,186, 0, 17, 0, 3, 0, 3, 43,184, 0, 17, 16,186, 0, 10, 0, 24, 0, 3, 43,184, 0, 10, 16,186, 0, 29, 0, 30, + 0, 3, 43,184, 0, 29, 16,186, 0, 48, 0, 41, 0, 3, 43,184, 0, 48, 16, 48, 49, 1, 16, 0, 33, 32, 0, 17, 52, 18, 36, 51, + 50, 4, 18, 5, 16, 0, 33, 32, 0, 17, 52, 2, 36, 35, 34, 4, 2, 1, 33, 21, 33, 53, 54, 36, 55, 62, 1, 53, 52, 38, 35, 34, + 6, 7, 53, 62, 1, 51, 50, 22, 21, 20, 6, 7, 14, 1, 6,148,254, 63,254,194,254,196,254, 63,206, 1,113,190,193, 1,113,205, +250, 87, 1,143, 1, 28, 1, 28, 1,143,182,254,184,173,173,254,184,182, 2, 79, 1,180,253, 92, 82, 1, 6, 33, 62, 47, 95, 78, + 59,132,115, 97,145, 61,163,197, 48, 62, 17,178, 2,234,254,193,254, 65, 1,191, 1, 63,198, 1,114,198,198,254,144,200,254,228, +254,112, 1,144, 1, 28,179, 1, 71,177,177,254,185,253,255,142,129, 77,241, 34, 63, 85, 40, 63, 78, 38, 58,171, 36, 31,151,125, + 58,105, 70, 18,167, 0, 0, 0, 0, 3, 0,152,255,236, 6,148, 5,232, 0, 13, 0, 27, 0, 68, 1,181,186, 0, 14, 0, 6, 0, + 3, 43,184, 0, 14, 16,186, 0, 66, 0, 53, 0, 3, 43,184, 0, 66, 16,186, 0, 0, 0, 20, 0, 3, 43,184, 0, 0, 16, 65, 27, + 0, 22, 0, 14, 0, 38, 0, 14, 0, 54, 0, 14, 0, 70, 0, 14, 0, 86, 0, 14, 0,102, 0, 14, 0,118, 0, 14, 0,134, 0, 14, + 0,150, 0, 14, 0,166, 0, 14, 0,182, 0, 14, 0,198, 0, 14, 0,214, 0, 14, 0, 13, 93, 65, 5, 0,229, 0, 14, 0,245, 0, + 14, 0, 2, 93, 65, 5, 0,234, 0, 20, 0,250, 0, 20, 0, 2, 93, 65, 27, 0, 25, 0, 20, 0, 41, 0, 20, 0, 57, 0, 20, 0, + 73, 0, 20, 0, 89, 0, 20, 0,105, 0, 20, 0,121, 0, 20, 0,137, 0, 20, 0,153, 0, 20, 0,169, 0, 20, 0,185, 0, 20, 0, +201, 0, 20, 0,217, 0, 20, 0, 13, 93, 65, 5, 0,234, 0, 53, 0,250, 0, 53, 0, 2, 93, 65, 27, 0, 25, 0, 53, 0, 41, 0, + 53, 0, 57, 0, 53, 0, 73, 0, 53, 0, 89, 0, 53, 0,105, 0, 53, 0,121, 0, 53, 0,137, 0, 53, 0,153, 0, 53, 0,169, 0, + 53, 0,185, 0, 53, 0,201, 0, 53, 0,217, 0, 53, 0, 13, 93,186, 0, 28, 0, 53, 0, 66, 17, 18, 57,186, 0, 44, 0, 53, 0, + 66, 17, 18, 57,184, 0, 44, 47, 65, 5, 0,234, 0, 44, 0,250, 0, 44, 0, 2, 93, 65, 27, 0, 25, 0, 44, 0, 41, 0, 44, 0, + 57, 0, 44, 0, 73, 0, 44, 0, 89, 0, 44, 0,105, 0, 44, 0,121, 0, 44, 0,137, 0, 44, 0,153, 0, 44, 0,169, 0, 44, 0, +185, 0, 44, 0,201, 0, 44, 0,217, 0, 44, 0, 13, 93,184, 0, 31,220,186, 0, 38, 0, 6, 0, 0, 17, 18, 57,186, 0, 59, 0, + 6, 0, 0, 17, 18, 57, 0,186, 0, 17, 0, 3, 0, 3, 43,184, 0, 17, 16,186, 0, 10, 0, 24, 0, 3, 43,184, 0, 10, 16,186, + 0, 41, 0, 34, 0, 3, 43,184, 0, 41, 16,186, 0, 63, 0, 56, 0, 3, 43,184, 0, 63, 16,186, 0, 50, 0, 47, 0, 3, 43,184, + 0, 50, 16,186, 0, 28, 0, 47, 0, 50, 17, 18, 57, 48, 49, 1, 16, 0, 33, 32, 0, 17, 52, 18, 36, 51, 50, 4, 18, 5, 16, 0, + 33, 32, 0, 17, 52, 2, 36, 35, 34, 4, 2, 5, 30, 1, 21, 20, 6, 35, 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, 22, 21, 20, 6, 6,148,254, 63,254,194,254,196,254, 63,206, 1, +113,190,193, 1,113,205,250, 87, 1,143, 1, 28, 1, 28, 1,143,182,254,184,173,173,254,184,182, 3,185, 13,118,216,195, 64,136, + 88, 91,125, 68,117,115,107, 99,140,145, 90, 88, 92, 91, 52,121,107, 95,136, 61,161,193,104, 2,234,254,193,254, 65, 1,191, 1, + 63,198, 1,114,198,198,254,144,200,254,228,254,112, 1,144, 1, 28,179, 1, 71,177,177,254,185,150, 3,129, 93,141,156, 23, 27, +168, 48, 28, 79, 76, 71, 78,140, 60, 58, 60, 63, 21, 32,151, 24, 20,137,115, 81,114, 0, 0, 0, 0, 4, 0,152,255,236, 6,148, + 5,232, 0, 13, 0, 27, 0, 30, 0, 41, 0,243,186, 0, 14, 0, 6, 0, 3, 43,184, 0, 14, 16,186, 0, 32, 0, 28, 0, 3, 43, +184, 0, 32, 16,186, 0, 0, 0, 20, 0, 3, 43,184, 0, 0, 16, 65, 27, 0, 22, 0, 14, 0, 38, 0, 14, 0, 54, 0, 14, 0, 70, + 0, 14, 0, 86, 0, 14, 0,102, 0, 14, 0,118, 0, 14, 0,134, 0, 14, 0,150, 0, 14, 0,166, 0, 14, 0,182, 0, 14, 0,198, + 0, 14, 0,214, 0, 14, 0, 13, 93, 65, 5, 0,229, 0, 14, 0,245, 0, 14, 0, 2, 93, 65, 5, 0,234, 0, 20, 0,250, 0, 20, + 0, 2, 93, 65, 27, 0, 25, 0, 20, 0, 41, 0, 20, 0, 57, 0, 20, 0, 73, 0, 20, 0, 89, 0, 20, 0,105, 0, 20, 0,121, 0, + 20, 0,137, 0, 20, 0,153, 0, 20, 0,169, 0, 20, 0,185, 0, 20, 0,201, 0, 20, 0,217, 0, 20, 0, 13, 93,184, 0, 32, 16, +184, 0, 36,208,184, 0, 28, 16,184, 0, 38,208, 0,186, 0, 17, 0, 3, 0, 3, 43,184, 0, 17, 16,186, 0, 10, 0, 24, 0, 3, + 43,184, 0, 10, 16,186, 0, 34, 0, 35, 0, 3, 43,184, 0, 34, 16,184, 0, 29,208,184, 0, 35, 16,184, 0, 39,208, 48, 49, 1, + 16, 0, 33, 32, 0, 17, 52, 18, 36, 51, 50, 4, 18, 5, 16, 0, 33, 32, 0, 17, 52, 2, 36, 35, 34, 4, 2, 37, 1, 33, 3, 51, + 17, 51, 21, 35, 21, 35, 53, 33, 53, 6,148,254, 63,254,194,254,196,254, 63,206, 1,113,190,193, 1,113,205,250, 87, 1,143, 1, + 28, 1, 28, 1,143,182,254,184,173,173,254,184,182, 2,191,254,243, 1, 13, 24,206,141,141,182,254, 67, 2,234,254,193,254, 65, + 1,191, 1, 63,198, 1,114,198,198,254,144,200,254,228,254,112, 1,144, 1, 28,179, 1, 71,177,177,254,185, 79,254,130, 2, 72, +253,184,141,211,211,142, 0, 0, 0, 3, 0,152,255,236, 6,148, 5,232, 0, 13, 0, 27, 0, 57, 1, 75,186, 0, 14, 0, 6, 0, + 3, 43,184, 0, 14, 16,186, 0, 31, 0, 28, 0, 3, 43,184, 0, 31, 16,186, 0, 38, 0, 51, 0, 3, 43,184, 0, 38, 16,186, 0, + 0, 0, 20, 0, 3, 43,184, 0, 0, 16, 65, 27, 0, 22, 0, 14, 0, 38, 0, 14, 0, 54, 0, 14, 0, 70, 0, 14, 0, 86, 0, 14, + 0,102, 0, 14, 0,118, 0, 14, 0,134, 0, 14, 0,150, 0, 14, 0,166, 0, 14, 0,182, 0, 14, 0,198, 0, 14, 0,214, 0, 14, + 0, 13, 93, 65, 5, 0,229, 0, 14, 0,245, 0, 14, 0, 2, 93, 65, 5, 0,234, 0, 20, 0,250, 0, 20, 0, 2, 93, 65, 27, 0, + 25, 0, 20, 0, 41, 0, 20, 0, 57, 0, 20, 0, 73, 0, 20, 0, 89, 0, 20, 0,105, 0, 20, 0,121, 0, 20, 0,137, 0, 20, 0, +153, 0, 20, 0,169, 0, 20, 0,185, 0, 20, 0,201, 0, 20, 0,217, 0, 20, 0, 13, 93,186, 0, 45, 0, 6, 0, 0, 17, 18, 57, + 65, 5, 0,234, 0, 51, 0,250, 0, 51, 0, 2, 93, 65, 27, 0, 25, 0, 51, 0, 41, 0, 51, 0, 57, 0, 51, 0, 73, 0, 51, 0, + 89, 0, 51, 0,105, 0, 51, 0,121, 0, 51, 0,137, 0, 51, 0,153, 0, 51, 0,169, 0, 51, 0,185, 0, 51, 0,201, 0, 51, 0, +217, 0, 51, 0, 13, 93, 0,186, 0, 17, 0, 3, 0, 3, 43,184, 0, 17, 16,186, 0, 10, 0, 24, 0, 3, 43,184, 0, 10, 16,186, + 0, 48, 0, 41, 0, 3, 43,184, 0, 48, 16,186, 0, 29, 0, 30, 0, 3, 43,184, 0, 29, 16,186, 0, 35, 0, 54, 0, 3, 43,184, + 0, 35, 16, 48, 49, 1, 16, 0, 33, 32, 0, 17, 52, 18, 36, 51, 50, 4, 18, 5, 16, 0, 33, 32, 0, 17, 52, 2, 36, 35, 34, 4, + 2, 1, 33, 21, 33, 21, 6, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 53, 52, 38, 35, 34, 6, 7, 6, +148,254, 63,254,194,254,196,254, 63,206, 1,113,190,193, 1,113,205,250, 87, 1,143, 1, 28, 1, 28, 1,143,182,254,184,173,173, +254,184,182, 1,152, 2, 61,254,111, 3, 63, 31,176,207,213,190, 64,133, 88, 95,119, 68,104,118,118,104, 50,101, 89, 2,234,254, +193,254, 65, 1,191, 1, 63,198, 1,114,198,198,254,144,200,254,228,254,112, 1,144, 1, 28,179, 1, 71,177,177,254,185, 1, 25, +142,171, 1, 10,176,149,152,172, 20, 24,172, 47, 27, 97, 85, 86, 97, 20, 37, 0, 0, 4, 0,152,255,236, 6,148, 5,232, 0, 13, + 0, 27, 0, 39, 0, 64, 1,145,186, 0, 14, 0, 6, 0, 3, 43,184, 0, 14, 16,186, 0, 31, 0, 59, 0, 3, 43,184, 0, 31, 16, +186, 0, 53, 0, 37, 0, 3, 43,184, 0, 53, 16,186, 0, 0, 0, 20, 0, 3, 43,184, 0, 0, 16, 65, 27, 0, 22, 0, 14, 0, 38, + 0, 14, 0, 54, 0, 14, 0, 70, 0, 14, 0, 86, 0, 14, 0,102, 0, 14, 0,118, 0, 14, 0,134, 0, 14, 0,150, 0, 14, 0,166, + 0, 14, 0,182, 0, 14, 0,198, 0, 14, 0,214, 0, 14, 0, 13, 93, 65, 5, 0,229, 0, 14, 0,245, 0, 14, 0, 2, 93, 65, 5, + 0,234, 0, 20, 0,250, 0, 20, 0, 2, 93, 65, 27, 0, 25, 0, 20, 0, 41, 0, 20, 0, 57, 0, 20, 0, 73, 0, 20, 0, 89, 0, + 20, 0,105, 0, 20, 0,121, 0, 20, 0,137, 0, 20, 0,153, 0, 20, 0,169, 0, 20, 0,185, 0, 20, 0,201, 0, 20, 0,217, 0, + 20, 0, 13, 93, 65, 27, 0, 22, 0, 31, 0, 38, 0, 31, 0, 54, 0, 31, 0, 70, 0, 31, 0, 86, 0, 31, 0,102, 0, 31, 0,118, + 0, 31, 0,134, 0, 31, 0,150, 0, 31, 0,166, 0, 31, 0,182, 0, 31, 0,198, 0, 31, 0,214, 0, 31, 0, 13, 93, 65, 5, 0, +229, 0, 31, 0,245, 0, 31, 0, 2, 93, 65, 5, 0,234, 0, 37, 0,250, 0, 37, 0, 2, 93, 65, 27, 0, 25, 0, 37, 0, 41, 0, + 37, 0, 57, 0, 37, 0, 73, 0, 37, 0, 89, 0, 37, 0,105, 0, 37, 0,121, 0, 37, 0,137, 0, 37, 0,153, 0, 37, 0,169, 0, + 37, 0,185, 0, 37, 0,201, 0, 37, 0,217, 0, 37, 0, 13, 93,186, 0, 41, 0, 37, 0, 53, 17, 18, 57, 0,186, 0, 17, 0, 3, + 0, 3, 43,184, 0, 17, 16,186, 0, 10, 0, 24, 0, 3, 43,184, 0, 10, 16,186, 0, 34, 0, 56, 0, 3, 43,184, 0, 34, 16,186, + 0, 62, 0, 44, 0, 3, 43,184, 0, 62, 16,186, 0, 50, 0, 28, 0, 3, 43,184, 0, 50, 16, 48, 49, 1, 16, 0, 33, 32, 0, 17, + 52, 18, 36, 51, 50, 4, 18, 5, 16, 0, 33, 32, 0, 17, 52, 2, 36, 35, 34, 4, 2, 5, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, + 38, 19, 21, 46, 1, 35, 34, 6, 7, 6, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 53, 52, 18, 51, 50, 22, 6,148,254, 63,254,194, +254,196,254, 63,206, 1,113,190,193, 1,113,205,250, 87, 1,143, 1, 28, 1, 28, 1,143,182,254,184,173,173,254,184,182, 2,161, + 78, 92, 92, 78, 78, 92, 92,212, 84, 97, 47,119,127, 5, 9,128, 78,160,186,194,160,185,192,234,200, 53,106, 2,234,254,193,254, + 65, 1,191, 1, 63,198, 1,114,198,198,254,144,200,254,228,254,112, 1,144, 1, 28,179, 1, 71,177,177,254,185,159, 98, 91, 90, + 98, 98, 90, 91, 98, 1,157,156, 35, 22,148, 80, 11, 61,177,148,145,179,253,231,218, 1, 11, 19, 0, 3, 0,152,255,236, 6,148, + 5,232, 0, 13, 0, 27, 0, 34, 0,235,184, 0, 35, 47,184, 0, 36, 47,184, 0, 0,220,184, 0, 35, 16,184, 0, 6,208,184, 0, + 6, 47,184, 0, 14,220, 65, 27, 0, 22, 0, 14, 0, 38, 0, 14, 0, 54, 0, 14, 0, 70, 0, 14, 0, 86, 0, 14, 0,102, 0, 14, + 0,118, 0, 14, 0,134, 0, 14, 0,150, 0, 14, 0,166, 0, 14, 0,182, 0, 14, 0,198, 0, 14, 0,214, 0, 14, 0, 13, 93, 65, + 5, 0,229, 0, 14, 0,245, 0, 14, 0, 2, 93,184, 0, 0, 16,184, 0, 20,220, 65, 5, 0,234, 0, 20, 0,250, 0, 20, 0, 2, + 93, 65, 27, 0, 25, 0, 20, 0, 41, 0, 20, 0, 57, 0, 20, 0, 73, 0, 20, 0, 89, 0, 20, 0,105, 0, 20, 0,121, 0, 20, 0, +137, 0, 20, 0,153, 0, 20, 0,169, 0, 20, 0,185, 0, 20, 0,201, 0, 20, 0,217, 0, 20, 0, 13, 93,186, 0, 32, 0, 6, 0, + 0, 17, 18, 57,186, 0, 33, 0, 6, 0, 0, 17, 18, 57, 0,186, 0, 17, 0, 3, 0, 3, 43,184, 0, 17, 16,186, 0, 10, 0, 24, + 0, 3, 43,184, 0, 10, 16,186, 0, 29, 0, 33, 0, 3, 43,184, 0, 29, 16, 48, 49, 1, 16, 0, 33, 32, 0, 17, 52, 18, 36, 51, + 50, 4, 18, 5, 16, 0, 33, 32, 0, 17, 52, 2, 36, 35, 34, 4, 2, 1, 33, 21, 1, 35, 1, 33, 6,148,254, 63,254,194,254,196, +254, 63,206, 1,113,190,193, 1,113,205,250, 87, 1,143, 1, 28, 1, 28, 1,143,182,254,184,173,173,254,184,182, 1,107, 2,171, +254,148,193, 1, 81,254, 49, 2,234,254,193,254, 65, 1,191, 1, 63,198, 1,114,198,198,254,144,200,254,228,254,112, 1,144, 1, + 28,179, 1, 71,177,177,254,185, 1, 25, 75,252,163, 3, 26, 0, 0, 5, 0,152,255,236, 6,148, 5,232, 0, 13, 0, 27, 0, 39, + 0, 63, 0, 75, 2, 13,186, 0, 14, 0, 6, 0, 3, 43,184, 0, 14, 16,186, 0, 31, 0, 61, 0, 3, 43,184, 0, 31, 16,186, 0, + 49, 0, 70, 0, 3, 43,184, 0, 49, 16,186, 0, 0, 0, 20, 0, 3, 43,184, 0, 0, 16, 65, 27, 0, 22, 0, 14, 0, 38, 0, 14, + 0, 54, 0, 14, 0, 70, 0, 14, 0, 86, 0, 14, 0,102, 0, 14, 0,118, 0, 14, 0,134, 0, 14, 0,150, 0, 14, 0,166, 0, 14, + 0,182, 0, 14, 0,198, 0, 14, 0,214, 0, 14, 0, 13, 93, 65, 5, 0,229, 0, 14, 0,245, 0, 14, 0, 2, 93, 65, 5, 0,234, + 0, 20, 0,250, 0, 20, 0, 2, 93, 65, 27, 0, 25, 0, 20, 0, 41, 0, 20, 0, 57, 0, 20, 0, 73, 0, 20, 0, 89, 0, 20, 0, +105, 0, 20, 0,121, 0, 20, 0,137, 0, 20, 0,153, 0, 20, 0,169, 0, 20, 0,185, 0, 20, 0,201, 0, 20, 0,217, 0, 20, 0, + 13, 93, 65, 27, 0, 22, 0, 31, 0, 38, 0, 31, 0, 54, 0, 31, 0, 70, 0, 31, 0, 86, 0, 31, 0,102, 0, 31, 0,118, 0, 31, + 0,134, 0, 31, 0,150, 0, 31, 0,166, 0, 31, 0,182, 0, 31, 0,198, 0, 31, 0,214, 0, 31, 0, 13, 93, 65, 5, 0,229, 0, + 31, 0,245, 0, 31, 0, 2, 93, 65, 5, 0,234, 0, 70, 0,250, 0, 70, 0, 2, 93, 65, 27, 0, 25, 0, 70, 0, 41, 0, 70, 0, + 57, 0, 70, 0, 73, 0, 70, 0, 89, 0, 70, 0,105, 0, 70, 0,121, 0, 70, 0,137, 0, 70, 0,153, 0, 70, 0,169, 0, 70, 0, +185, 0, 70, 0,201, 0, 70, 0,217, 0, 70, 0, 13, 93,186, 0, 37, 0, 70, 0, 49, 17, 18, 57,184, 0, 37, 47, 65, 5, 0,234, + 0, 37, 0,250, 0, 37, 0, 2, 93, 65, 27, 0, 25, 0, 37, 0, 41, 0, 37, 0, 57, 0, 37, 0, 73, 0, 37, 0, 89, 0, 37, 0, +105, 0, 37, 0,121, 0, 37, 0,137, 0, 37, 0,153, 0, 37, 0,169, 0, 37, 0,185, 0, 37, 0,201, 0, 37, 0,217, 0, 37, 0, + 13, 93,186, 0, 43, 0, 61, 0, 31, 17, 18, 57,184, 0, 43, 47,186, 0, 52, 0, 70, 0, 49, 17, 18, 57,184, 0, 37, 16,184, 0, + 55,220,184, 0, 43, 16,184, 0, 64,220, 0,186, 0, 17, 0, 3, 0, 3, 43,184, 0, 17, 16,186, 0, 10, 0, 24, 0, 3, 43,184, + 0, 10, 16,186, 0, 34, 0, 58, 0, 3, 43,184, 0, 34, 16,186, 0, 46, 0, 73, 0, 3, 43,184, 0, 46, 16,186, 0, 67, 0, 28, + 0, 3, 43,184, 0, 67, 16,186, 0, 52, 0, 28, 0, 67, 17, 18, 57, 48, 49, 1, 16, 0, 33, 32, 0, 17, 52, 18, 36, 51, 50, 4, + 18, 5, 16, 0, 33, 32, 0, 17, 52, 2, 36, 35, 34, 4, 2, 5, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 37, 46, 1, 53, 52, + 54, 51, 50, 22, 21, 20, 6, 7, 30, 1, 21, 20, 6, 35, 34, 38, 53, 52, 54, 55, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 6, +148,254, 63,254,194,254,196,254, 63,206, 1,113,190,193, 1,113,205,250, 87, 1,143, 1, 28, 1, 28, 1,143,182,254,184,173,173, +254,184,182, 2,175, 84, 95, 95, 84, 84, 95, 95,254,198, 4,106,183,157,157,182,105, 4, 15,118,190,173,173,190,118, 87, 81, 77, + 75, 82, 82, 75, 77, 81, 2,234,254,193,254, 65, 1,191, 1, 63,198, 1,114,198,198,254,144,200,254,228,254,112, 1,144, 1, 28, +179, 1, 71,177,177,254,185,230, 80, 73, 73, 80, 81, 72, 73, 80, 73, 1,118, 83,116,136,136,116, 83,118, 1, 3,131, 92,138,151, +151,138, 92,131,193, 61, 66, 66, 61, 62, 66, 66, 0, 4, 0,152,255,236, 6,148, 5,232, 0, 13, 0, 27, 0, 52, 0, 64, 1,145, +186, 0, 14, 0, 6, 0, 3, 43,184, 0, 14, 16,186, 0, 62, 0, 41, 0, 3, 43,184, 0, 62, 16,186, 0, 0, 0, 20, 0, 3, 43, +184, 0, 0, 16,186, 0, 47, 0, 56, 0, 3, 43,184, 0, 47, 16, 65, 27, 0, 22, 0, 14, 0, 38, 0, 14, 0, 54, 0, 14, 0, 70, + 0, 14, 0, 86, 0, 14, 0,102, 0, 14, 0,118, 0, 14, 0,134, 0, 14, 0,150, 0, 14, 0,166, 0, 14, 0,182, 0, 14, 0,198, + 0, 14, 0,214, 0, 14, 0, 13, 93, 65, 5, 0,229, 0, 14, 0,245, 0, 14, 0, 2, 93, 65, 5, 0,234, 0, 20, 0,250, 0, 20, + 0, 2, 93, 65, 27, 0, 25, 0, 20, 0, 41, 0, 20, 0, 57, 0, 20, 0, 73, 0, 20, 0, 89, 0, 20, 0,105, 0, 20, 0,121, 0, + 20, 0,137, 0, 20, 0,153, 0, 20, 0,169, 0, 20, 0,185, 0, 20, 0,201, 0, 20, 0,217, 0, 20, 0, 13, 93, 65, 27, 0, 22, + 0, 62, 0, 38, 0, 62, 0, 54, 0, 62, 0, 70, 0, 62, 0, 86, 0, 62, 0,102, 0, 62, 0,118, 0, 62, 0,134, 0, 62, 0,150, + 0, 62, 0,166, 0, 62, 0,182, 0, 62, 0,198, 0, 62, 0,214, 0, 62, 0, 13, 93, 65, 5, 0,229, 0, 62, 0,245, 0, 62, 0, + 2, 93,186, 0, 29, 0, 41, 0, 62, 17, 18, 57, 65, 5, 0,234, 0, 56, 0,250, 0, 56, 0, 2, 93, 65, 27, 0, 25, 0, 56, 0, + 41, 0, 56, 0, 57, 0, 56, 0, 73, 0, 56, 0, 89, 0, 56, 0,105, 0, 56, 0,121, 0, 56, 0,137, 0, 56, 0,153, 0, 56, 0, +169, 0, 56, 0,185, 0, 56, 0,201, 0, 56, 0,217, 0, 56, 0, 13, 93, 0,186, 0, 17, 0, 3, 0, 3, 43,184, 0, 17, 16,186, + 0, 10, 0, 24, 0, 3, 43,184, 0, 10, 16,186, 0, 32, 0, 50, 0, 3, 43,184, 0, 32, 16,186, 0, 44, 0, 59, 0, 3, 43,184, + 0, 44, 16,186, 0, 53, 0, 38, 0, 3, 43,184, 0, 53, 16, 48, 49, 1, 16, 0, 33, 32, 0, 17, 52, 18, 36, 51, 50, 4, 18, 5, + 16, 0, 33, 32, 0, 17, 52, 2, 36, 35, 34, 4, 2, 1, 53, 30, 1, 51, 50, 54, 55, 54, 6, 35, 34, 38, 53, 52, 54, 51, 50, 22, + 21, 20, 2, 35, 34, 38, 19, 50, 54, 53, 52, 38, 35, 34, 6, 21, 20, 22, 6,148,254, 63,254,194,254,196,254, 63,206, 1,113,190, +193, 1,113,205,250, 87, 1,143, 1, 28, 1, 28, 1,143,182,254,184,173,173,254,184,182, 1,144, 85, 97, 46,119,127, 5, 10,128, + 79,159,186,194,160,185,191,233,200, 53,107,217, 78, 91, 91, 78, 78, 92, 92, 2,234,254,193,254, 65, 1,191, 1, 63,198, 1,114, +198,198,254,144,200,254,228,254,112, 1,144, 1, 28,179, 1, 71,177,177,254,185,253,139,156, 36, 21,147, 79, 13, 60,175,148,145, +180,253,232,218,254,246, 19, 1,180, 98, 91, 91, 98, 98, 91, 91, 98, 0, 0, 0, 0, 5, 0,152,255,236, 6,148, 5,232, 0, 13, + 0, 27, 0, 38, 0, 50, 0, 62, 1,155,186, 0, 14, 0, 6, 0, 3, 43,184, 0, 14, 16,186, 0, 35, 0, 29, 0, 3, 43,184, 0, + 35, 16,186, 0, 42, 0, 60, 0, 3, 43,184, 0, 42, 16,186, 0, 54, 0, 48, 0, 3, 43,184, 0, 54, 16,186, 0, 0, 0, 20, 0, + 3, 43,184, 0, 0, 16, 65, 27, 0, 22, 0, 14, 0, 38, 0, 14, 0, 54, 0, 14, 0, 70, 0, 14, 0, 86, 0, 14, 0,102, 0, 14, + 0,118, 0, 14, 0,134, 0, 14, 0,150, 0, 14, 0,166, 0, 14, 0,182, 0, 14, 0,198, 0, 14, 0,214, 0, 14, 0, 13, 93, 65, + 5, 0,229, 0, 14, 0,245, 0, 14, 0, 2, 93, 65, 5, 0,234, 0, 20, 0,250, 0, 20, 0, 2, 93, 65, 27, 0, 25, 0, 20, 0, + 41, 0, 20, 0, 57, 0, 20, 0, 73, 0, 20, 0, 89, 0, 20, 0,105, 0, 20, 0,121, 0, 20, 0,137, 0, 20, 0,153, 0, 20, 0, +169, 0, 20, 0,185, 0, 20, 0,201, 0, 20, 0,217, 0, 20, 0, 13, 93, 65, 5, 0,234, 0, 48, 0,250, 0, 48, 0, 2, 93, 65, + 27, 0, 25, 0, 48, 0, 41, 0, 48, 0, 57, 0, 48, 0, 73, 0, 48, 0, 89, 0, 48, 0,105, 0, 48, 0,121, 0, 48, 0,137, 0, + 48, 0,153, 0, 48, 0,169, 0, 48, 0,185, 0, 48, 0,201, 0, 48, 0,217, 0, 48, 0, 13, 93, 65, 5, 0,234, 0, 60, 0,250, + 0, 60, 0, 2, 93, 65, 27, 0, 25, 0, 60, 0, 41, 0, 60, 0, 57, 0, 60, 0, 73, 0, 60, 0, 89, 0, 60, 0,105, 0, 60, 0, +121, 0, 60, 0,137, 0, 60, 0,153, 0, 60, 0,169, 0, 60, 0,185, 0, 60, 0,201, 0, 60, 0,217, 0, 60, 0, 13, 93, 0,186, + 0, 17, 0, 3, 0, 3, 43,184, 0, 17, 16,186, 0, 10, 0, 24, 0, 3, 43,184, 0, 10, 16,186, 0, 45, 0, 57, 0, 3, 43,184, + 0, 45, 16,186, 0, 36, 0, 37, 0, 3, 43,184, 0, 36, 16,186, 0, 51, 0, 39, 0, 3, 43,184, 0, 51, 16,184, 0, 36, 16,184, + 0, 28,208, 48, 49, 1, 16, 0, 33, 32, 0, 17, 52, 18, 36, 51, 50, 4, 18, 5, 16, 0, 33, 32, 0, 17, 52, 2, 36, 35, 34, 4, + 2, 19, 51, 17, 7, 53, 55, 51, 17, 51, 21, 33, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 39, 50, 22, 21, 20, 6, 35, 34, + 38, 53, 52, 54, 6,148,254, 63,254,194,254,196,254, 63,206, 1,113,190,193, 1,113,205,250, 87, 1,143, 1, 28, 1, 28, 1,143, +182,254,184,173,173,254,184,182,205,158,172,188,117,159,254, 62, 3, 4, 64, 69, 69, 64, 63, 70, 70, 63,130,136,136,130,131,136, +136, 2,234,254,193,254, 65, 1,191, 1, 63,198, 1,114,198,198,254,144,200,254,228,254,112, 1,144, 1, 28,179, 1, 71,177,177, +254,185,254, 62, 2, 62, 39,137, 42,253, 54,128, 2,222,151,163,162,151,151,162,163,151,123,228,209,208,228,228,208,209,228, 0, + 0, 1, 0,170, 1,119, 6,130, 4, 99, 0, 5, 0, 11, 0,184, 0, 2, 47,184, 0, 5, 47, 48, 49, 19, 17, 37, 5, 17, 5,170, + 1,119, 4, 97,251,159, 2, 50, 1,117,188,188,254,139,187, 0, 0, 1, 0,170, 0, 0, 4,116, 5,217, 0, 19, 0, 31, 0,184, + 0, 5, 47,186, 0, 16, 0, 18, 0, 3, 43,184, 0, 16, 16,184, 0, 18, 16,184, 0, 13,208,184, 0, 13, 47, 48, 49, 1, 22, 21, + 20, 7, 3, 33, 3, 38, 53, 52, 55, 54, 39, 35, 53, 33, 23, 7, 22, 3,126,246, 8,238,254, 34,237, 9,246,127, 7,117, 1,218, + 1,119, 1, 4,224, 66,179, 32, 36,252, 89, 3,167, 38, 34,175, 66, 26,134, 89, 89, 1,135, 0, 0, 1, 0, 47, 0, 0, 5,170, + 6, 20, 0, 36, 0, 72, 64, 19, 38, 0, 7, 9, 5, 8, 12, 33, 24, 13, 30, 8, 17, 12, 33, 16, 20, 76, 37, 16,252, 60,196, 50, +196,252, 60,196, 16, 60,252, 60,196,196,196, 49, 0, 64, 17, 9, 13, 17,169, 18, 2, 26,135, 0, 24,151, 6, 31, 18,188, 11, 15, + 47, 60,230, 50, 50,254, 60,238, 50, 16,238, 50, 50, 48, 1, 21, 35, 34, 6, 29, 1, 33, 21, 33, 17, 35, 17, 33, 17, 35, 17, 35, + 53, 51, 53, 52, 54, 59, 1, 21, 35, 34, 7, 6, 29, 1, 33, 53, 52, 54, 51, 5,170,176, 99, 77, 1, 47,254,209,185,254, 7,185, +176,176,174,189,174,176, 99, 39, 38, 1,249,174,189, 6, 20,153, 80,104, 99,143,252, 47, 3,209,252, 47, 3,209,143, 78,187,171, +153, 40, 40,104, 99, 78,187,171, 0, 2, 0, 47, 0, 0, 4, 74, 6, 20, 0, 21, 0, 25, 0, 67, 64, 17, 27, 70, 0, 23, 8, 22, + 15, 20, 4, 8, 8, 3, 22, 10, 6, 76, 26, 16,252, 60,196, 50,196,252, 60,196, 16,254, 60,236, 49, 0, 64, 18, 8, 3,169, 0, + 16,135, 14, 24,190, 22,177, 14,151, 9, 0,188, 5, 1, 47, 60,230, 50,238,254,238, 16,238, 16,238, 50, 48, 1, 17, 35, 17, 33, + 17, 35, 17, 35, 53, 51, 53, 52, 54, 59, 1, 21, 35, 34, 6, 29, 1, 1, 51, 21, 35, 4, 74,185,254, 7,185,176,176,173,179,185, +176, 99, 77, 1,249,185,185, 4, 96,251,160, 3,209,252, 47, 3,209,143, 78,183,175,153, 80,104, 99, 1,178,233, 0, 1, 0, 47, + 0, 0, 4, 74, 6, 20, 0, 21, 0, 55, 64, 15, 23, 70, 1, 8, 4, 10, 12, 8, 8, 16, 4, 18, 14, 76, 22, 16,252, 60,196,196, +252, 60,196, 16,254,236, 49, 0, 64, 13, 15, 11,169, 9, 4,135, 0,151, 17, 9,188, 13, 2, 47, 60,230, 50,254,238, 16,238, 50, + 48, 1, 33, 17, 35, 17, 33, 34, 6, 29, 1, 33, 21, 33, 17, 35, 17, 35, 53, 51, 53, 52, 54, 2, 74, 2, 0,185,254,183, 99, 77, + 1, 47,254,209,185,176,176,174, 6, 20,249,236, 5,123, 80,104, 99,143,252, 47, 3,209,143, 78,187,171, 0, 0, 0, 2, 0, 47, + 0, 0, 6,252, 6, 20, 0, 41, 0, 45, 0, 90, 64, 24, 47, 70, 23, 43, 8, 42, 16, 27, 21, 8, 26, 42, 9, 0, 31, 6, 8, 36, + 30, 9, 34, 38, 76, 46, 16,252, 60,196, 50,196,252, 60,196, 16,196, 50,252, 60,196, 16,252, 60,236, 49, 0, 64, 23, 27, 31, 35, +169, 36, 17, 1,135, 0, 45,190, 42,177, 16, 0,151, 22, 7, 36,188, 25, 29, 33, 47, 60, 60,228, 50, 50,228, 50,244,236, 16,236, + 50, 16,236, 50, 50, 48, 1, 21, 35, 34, 7, 6, 29, 1, 33, 53, 52, 55, 54, 55, 54, 59, 1, 21, 35, 34, 6, 29, 1, 33, 17, 35, + 17, 33, 17, 35, 17, 33, 17, 35, 17, 35, 53, 51, 53, 52, 54, 51, 5, 51, 21, 35, 2,248,176, 99, 39, 38, 1,249, 87, 28, 39, 78, +131,174,176, 99, 77, 2,178,185,254, 7,185,254, 7,185,176,176,174,189, 3,249,185,185, 6, 20,153, 40, 40,104, 99, 78,187, 85, + 28, 19, 39,153, 80,104, 99,251,160, 3,209,252, 47, 3,209,252, 47, 3,209,143, 78,187,171, 2,233, 0, 0, 0, 0, 1, 0, 47, + 0, 0, 6,252, 6, 20, 0, 38, 0, 78, 64, 22, 40, 70, 13, 8, 16, 22, 24, 20, 8, 16, 9, 0, 28, 6, 8, 33, 27, 9, 31, 35, + 76, 39, 16,252, 60,196, 50,196,252, 60,196, 16,196,252, 60,196, 16,252,236, 49, 0, 64, 18, 24, 28, 32,169, 33, 17, 2,135, 12, + 38,151, 21, 7, 33,188, 15, 26, 30, 47, 60, 60,228, 50, 50,244, 60,236, 50, 16,236, 50, 50, 48, 1, 21, 35, 34, 7, 6, 29, 1, + 33, 53, 52, 54, 51, 33, 17, 35, 17, 33, 34, 6, 29, 1, 33, 21, 33, 17, 35, 17, 33, 17, 35, 17, 35, 53, 51, 53, 52, 54, 51, 2, +248,176, 99, 39, 38, 1,249,174,189, 2, 0,185,254,183, 99, 77, 1, 47,254,209,185,254, 7,185,176,176,174,189, 6, 20,153, 40, + 40,104, 99, 78,187,171,249,236, 5,123, 80,104, 99,143,252, 47, 3,209,252, 47, 3,209,143, 78,187,171, 0, 0, 0, 1, 0, 47, + 0, 0, 5, 76, 6, 20, 0, 45, 0, 0, 1, 53, 52, 39, 38, 43, 1, 34, 7, 6, 21, 17, 35, 17, 35, 53, 51, 53, 52, 55, 54, 59, + 1, 50, 23, 22, 29, 1, 33, 21, 33, 17, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 53, 17, 35, 53, 3, 24, 36, 37,101, 34, 99, 39, + 38,185,176,176, 87, 87,189, 30,189, 87, 85, 1,123,254,133, 37, 38,115,189,189,213, 81, 81,135, 4, 96, 99,104, 40, 40, 40, 40, +104,251, 61, 3,209,143, 78,187, 85, 86, 86, 83,189, 78,143,253,160,137, 39, 39,154, 80, 79,210, 2, 96,143, 0, 0, 1, 0,111, +255,227, 6,178, 5,240, 0, 89, 0, 0, 1, 21, 38, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 31, 1, 30, 1, 21, 20, 7, 6, 35, + 34, 39, 38, 39, 53, 22, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 47, 1, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 38, 53, 52, 55, + 54, 55, 50, 23, 22, 29, 1, 33, 21, 33, 17, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 53, 17, 35, 53, 51, 53, 52, 39, 38, 7, 34, + 7, 6, 21, 20, 3, 81, 86, 73, 84, 70,117, 63, 59, 49, 49,148, 63,195,166,123,124,216, 96, 92, 97,108,102, 99, 99, 97,130, 70, + 70, 50, 45,177, 64,171, 76, 76,102,112,181, 72, 77, 5, 92, 91,162,140, 98, 94, 1,123,254,133, 37, 38,115,189,189,213, 81, 81, +135,135, 48, 54, 68, 69, 54, 52, 4, 63,174, 43, 17, 20, 42, 39, 87, 64, 37, 36, 33, 14, 43,152,137,156, 91, 91, 17, 18, 35,190, + 53, 26, 27, 45, 44, 81, 75, 40, 35, 42, 15, 36, 74, 75,130,166, 78, 86, 11, 29, 31,135, 95, 93, 1, 96, 92,136, 76,143,253,160, +137, 39, 39,154, 80, 79,210, 2, 96,143, 78, 65, 43, 50, 1, 49, 48, 64, 61, 0, 0, 1, 0,170,255,227, 8,227, 6, 20, 0, 74, + 0, 0, 1, 22, 21, 17, 35, 53, 14, 1, 35, 34, 38, 53, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 52, 39, 33, 34, 39, 38, 55, 54, + 55, 54, 59, 1, 21, 35, 34, 21, 20, 51, 33, 39, 38, 55, 54, 59, 1, 21, 35, 38, 21, 20, 31, 1, 33, 3, 20, 23, 22, 51, 50, 54, + 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 38, 53, 17, 4, 79, 9,184, 67,177,117,193,200,184,124,124,149,173, 5,254, 83,149, 94, + 83, 3, 3, 87,115,118, 89, 89,131,131, 1,108, 23, 77, 32, 55,209,236,222, 96, 14, 59, 1,221, 1, 62, 62,124,149,173,184,184, + 67,177,117,193,200, 3,182, 37, 33,252,144,172,102, 99,240,231, 1,102,254,161,159,159,190,164, 1,145, 36, 28, 94, 83,145,131, + 66, 87,175,123,138, 56,186, 72,122,175, 1, 44, 39, 34,145,253, 97,160, 79, 79,190,164, 2,123,251,160,172,102, 99,240,231, 1, +252, 0, 0, 0, 0, 1, 0,174,255,227, 8,227, 6, 20, 0, 58, 0, 0, 1, 33, 38, 21, 20, 31, 1, 22, 21, 17, 35, 53, 14, 1, + 35, 34, 38, 53, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 52, 47, 1, 38, 55, 54, 51, 33, 17, 33, 21, 33, 17, 20, 22, 51, 50, 55, + 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 38, 53, 5, 57,254,243, 96, 14, 77, 49,184, 67,177,117,193,200,184,124,124,149,173, + 16, 77, 77, 32, 55,209, 1,211, 2,242,253, 14,124,124,152, 83, 87,184,184, 67,177,117,193,200, 5,101, 1, 44, 39, 34,188,120, + 77,252,144,172,102, 99,240,231, 2,166,253, 97,159,159,190,164, 1,145, 63, 39,188,187, 71,122,254, 76,170,254, 11,159,159, 95, + 98,161, 1, 59,252,224,172,102, 99,240,231, 0, 0, 1, 0,174,254, 86, 8,227, 6, 20, 0, 53, 0, 0, 1, 33, 38, 21, 20, 31, + 1, 22, 21, 17, 35, 53, 14, 1, 35, 34, 38, 53, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 52, 47, 1, 38, 55, 54, 51, 33, 17, 62, + 1, 51, 50, 22, 21, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 5, 57,254,243, 96, 14, 77, 49,184, 67,177,117,193,200,184,124, +124,149,173, 16, 77, 77, 32, 55,209, 1,212, 66,179,117,193,198,184,124,124,149,172,185, 5,101, 1, 44, 39, 34,188,120, 77,252, +144,172,102, 99,240,231, 2,166,253, 97,159,159,190,164, 1,145, 63, 39,188,187, 71,122,253,158,101,100,239,232,253, 92, 2,158, +159,158,190,164,251,221, 0, 0, 0, 2, 0,174,254, 86, 8,227, 6, 20, 0, 53, 0, 60, 0, 0, 1, 33, 34, 39, 38, 55, 54, 55, + 54, 51, 33, 17, 33, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 38, 53, 17, 35, 17, 51, 21, 33, 17, 14, 1, + 35, 34, 38, 53, 17, 51, 17, 20, 22, 51, 50, 55, 54, 53, 25, 1, 33, 34, 21, 20, 51, 3,160,254,219,149, 94, 83, 3, 3, 87,115, +118, 1,221, 1,153,124,124,149,173,184,184, 67,177,117,193,200,225,213,254,115, 67,177,117,193,200,184,124,124,149, 87, 86,254, +219,131,131, 3,182, 94, 83,145,131, 66, 87,254, 76,253, 97,159,159,190,164, 2,123,251,160,172,102, 99,240,231, 1,252,251, 66, +162, 2, 86,102, 99,240,231, 1,102,254,161,159,159, 95, 95,164, 2,123, 1, 5,123,138, 0, 0, 0, 1, 0,174,254, 86, 11,155, + 6, 20, 0, 72, 0, 0, 1, 33, 38, 21, 20, 31, 1, 22, 21, 17, 35, 53, 14, 1, 35, 34, 38, 53, 17, 51, 17, 20, 22, 51, 50, 54, + 53, 17, 52, 47, 1, 38, 55, 54, 51, 33, 17, 54, 55, 54, 51, 50, 22, 29, 1, 20, 23, 22, 51, 50, 54, 53, 17, 51, 17, 35, 53, 14, + 1, 35, 34, 39, 38, 61, 1, 52, 38, 35, 34, 6, 21, 17, 35, 5, 57,254,243, 96, 14, 77, 49,184, 67,177,117,193,200,184,124,124, +149,173, 16, 77, 77, 32, 55,209, 1,212, 99, 37, 90,107,193,198, 62, 56,110,140,173,184,184, 67,177,108,175, 98,100,124,124,120, +172,185, 5,101, 1, 44, 39, 34,188,120, 77,252,144,172,102, 99,240,231, 2,166,253, 97,159,159,190,164, 1,145, 63, 39,188,187, + 71,122,253,158,129, 22, 50,239,232,227,151, 88, 79,190,164, 2,123,251,160,172,102, 99,120,123,228,228,159,158,190,164,251,221, + 0, 3, 0, 30,255, 84, 8, 22, 7, 76, 0, 3, 0, 7, 0, 42, 0, 0, 9, 4, 21, 51, 53, 39, 53, 52, 54, 55, 54, 55, 54, 63, + 1, 54, 55, 54, 53, 52, 38, 35, 34, 6, 7, 21, 62, 1, 51, 50, 22, 21, 20, 6, 15, 1, 14, 1, 29, 1, 4, 26, 3,252,252, 4, +252, 4, 3,150,203, 6, 6, 6, 8, 19, 23, 44, 88, 92, 34, 36,223,184,103,193, 94, 97,179, 79,108,131, 51, 57, 90, 90, 56, 7, + 76,252, 4,252, 4, 3,252,253,174,254,254,147,123, 52, 60, 21, 25, 26, 31, 43, 86, 90, 64, 69, 76,159,194, 56, 57,188, 67, 70, +110, 89, 49, 94, 53, 89, 86,130,101,154, 0, 0, 0, 0, 0, 1, 0, 0, 60, 2, 0, 1, 9,254, 48, 0, 0, 11, 11,244, 0, 16, + 0, 36,255,211, 0, 16, 0, 37,255,183, 0, 16, 0, 42, 0, 75, 0, 16, 0, 45, 0,114, 0, 16, 0, 50, 0, 57, 0, 16, 0, 52, + 0, 75, 0, 16, 0, 55,255, 68, 0, 16, 0, 57,255,136, 0, 16, 0, 58,255,173, 0, 16, 0, 59,255,154, 0, 16, 0, 60,255, 13, + 0, 16, 0, 82, 0, 38, 0, 16, 0, 89,255,201, 0, 16, 0, 92,255,220, 0, 16, 0,130,255,211, 0, 16, 0,131,255,211, 0, 16, + 0,132,255,211, 0, 16, 0,133,255,211, 0, 16, 0,134,255,211, 0, 16, 0,148, 0, 57, 0, 16, 0,149, 0, 57, 0, 16, 0,150, + 0, 57, 0, 16, 0,151, 0, 57, 0, 16, 0,152, 0, 57, 0, 16, 0,159,255, 13, 0, 16, 0,180, 0, 38, 0, 16, 0,181, 0, 38, + 0, 16, 0,182, 0, 38, 0, 16, 0,183, 0, 38, 0, 16, 0,184, 0, 38, 0, 16, 0,191,255,220, 0, 16, 0,193,255,220, 0, 16, + 0,194,255,211, 0, 16, 0,196,255,211, 0, 16, 0,198,255,211, 0, 16, 0,224, 0, 75, 0, 16, 1, 38,255, 68, 0, 16, 1, 58, +255, 13, 0, 36, 0, 16,255,211, 0, 36, 0, 17,255,220, 0, 36, 0, 29,255,220, 0, 36, 0, 36, 0, 57, 0, 36, 0, 38,255,220, + 0, 36, 0, 42,255,220, 0, 36, 0, 50,255,220, 0, 36, 0, 52,255,220, 0, 36, 0, 55,255, 97, 0, 36, 0, 57,255,125, 0, 36, + 0, 58,255,144, 0, 36, 0, 60,255, 97, 0, 36, 0, 70,255,220, 0, 36, 0, 71,255,220, 0, 36, 0, 72,255,220, 0, 36, 0, 73, +255,183, 0, 36, 0, 82,255,220, 0, 36, 0, 84,255,220, 0, 36, 0, 87,255,220, 0, 36, 0, 89,255,136, 0, 36, 0, 90,255,173, + 0, 36, 0, 92,255,117, 0, 36, 0,109,255,183, 0, 36, 0,130, 0, 57, 0, 36, 0,131, 0, 57, 0, 36, 0,132, 0, 57, 0, 36, + 0,133, 0, 57, 0, 36, 0,134, 0, 57, 0, 36, 0,137,255,220, 0, 36, 0,148,255,220, 0, 36, 0,149,255,220, 0, 36, 0,150, +255,220, 0, 36, 0,151,255,220, 0, 36, 0,152,255,220, 0, 36, 0,159,255, 97, 0, 36, 0,169,255,220, 0, 36, 0,170,255,220, + 0, 36, 0,171,255,220, 0, 36, 0,172,255,220, 0, 36, 0,173,255,220, 0, 36, 0,180,255,220, 0, 36, 0,181,255,220, 0, 36, + 0,182,255,220, 0, 36, 0,183,255,220, 0, 36, 0,184,255,220, 0, 36, 0,191,255,117, 0, 36, 0,193,255,117, 0, 36, 0,194, + 0, 57, 0, 36, 0,196, 0, 57, 0, 36, 0,198, 0, 57, 0, 36, 0,200,255,220, 0, 36, 0,201,255,220, 0, 36, 0,202,255,220, + 0, 36, 0,203,255,220, 0, 36, 0,204,255,220, 0, 36, 0,205,255,220, 0, 36, 0,206,255,220, 0, 36, 0,207,255,220, 0, 36, + 0,209,255,220, 0, 36, 0,211,255,220, 0, 36, 0,213,255,220, 0, 36, 0,215,255,220, 0, 36, 0,217,255,220, 0, 36, 0,219, +255,220, 0, 36, 0,221,255,220, 0, 36, 0,222,255,220, 0, 36, 0,224,255,220, 0, 36, 0,226,255,220, 0, 36, 1, 14,255,220, + 0, 36, 1, 15,255,220, 0, 36, 1, 16,255,220, 0, 36, 1, 17,255,220, 0, 36, 1, 18,255,220, 0, 36, 1, 19,255,220, 0, 36, + 1, 36,255, 97, 0, 36, 1, 37,255,220, 0, 36, 1, 38,255, 97, 0, 36, 1, 39,255,220, 0, 36, 1, 54,255,144, 0, 36, 1, 55, +255,173, 0, 36, 1, 56,255, 97, 0, 36, 1, 57,255,117, 0, 36, 1, 58,255, 97, 0, 36, 1,136,255,220, 0, 36, 1,172,255,220, + 0, 36, 1,173,255,220, 0, 36, 1,174,255,220, 0, 36, 1,175,255,220, 0, 36, 1,220,255, 97, 0, 36, 1,221,255,220, 0, 36, + 1,240,255,220, 0, 36, 1,243,255,220, 0, 36, 1,244,255, 97, 0, 36, 1,245,255,117, 0, 36, 4,252,255,144, 0, 36, 4,253, +255,173, 0, 36, 4,254,255,144, 0, 36, 4,255,255,173, 0, 36, 5, 0,255,144, 0, 36, 5, 1,255,173, 0, 36, 5,106,255, 97, + 0, 36, 5,107,255,117, 0, 36, 5,145,254,248, 0, 36, 5,146,255, 3, 0, 36, 5,147, 0, 47, 0, 37, 0, 38,255,220, 0, 37, + 0, 42,255,220, 0, 37, 0, 50,255,220, 0, 37, 0, 54,255,220, 0, 37, 0, 57,255,193, 0, 37, 0, 58,255,183, 0, 37, 0, 60, +255,144, 0, 37, 0,109,255,193, 0, 37, 0,125,255,220, 0, 37, 0,137,255,220, 0, 37, 0,148,255,220, 0, 37, 0,149,255,220, + 0, 37, 0,150,255,220, 0, 37, 0,151,255,220, 0, 37, 0,152,255,220, 0, 37, 0,159,255,144, 0, 37, 0,200,255,220, 0, 37, + 0,202,255,220, 0, 37, 0,204,255,220, 0, 37, 0,206,255,220, 0, 37, 0,222,255,220, 0, 37, 0,224,255,220, 0, 37, 0,226, +255,220, 0, 37, 0,228,255,220, 0, 37, 1, 14,255,220, 0, 37, 1, 16,255,220, 0, 37, 1, 18,255,220, 0, 37, 1, 28,255,220, + 0, 37, 1, 30,255,220, 0, 37, 1, 32,255,220, 0, 37, 1, 34,255,220, 0, 37, 1, 54,255,183, 0, 37, 1, 56,255,144, 0, 37, + 1, 58,255,144, 0, 37, 1,172,255,220, 0, 37, 1,174,255,220, 0, 37, 1,218,255,220, 0, 37, 1,240,255,220, 0, 37, 4,252, +255,183, 0, 37, 4,254,255,183, 0, 37, 5, 0,255,183, 0, 37, 5,106,255,144, 0, 37, 5,145,255,144, 0, 37, 5,146,255,144, + 0, 37, 5,147,255,173, 0, 38, 0, 60,255,220, 0, 38, 0,109,255,220, 0, 38, 0,125,255,220, 0, 38, 0,159,255,220, 0, 38, + 1, 56,255,220, 0, 38, 1, 58,255,220, 0, 38, 1,244,255,220, 0, 38, 5,106,255,220, 0, 38, 5,146, 0, 38, 0, 39, 0, 36, +255,220, 0, 39, 0, 57,255,220, 0, 39, 0, 60,255,144, 0, 39, 0,109,255,220, 0, 39, 0,125,255,220, 0, 39, 0,130,255,220, + 0, 39, 0,131,255,220, 0, 39, 0,132,255,220, 0, 39, 0,133,255,220, 0, 39, 0,134,255,220, 0, 39, 0,159,255,144, 0, 39, + 0,194,255,220, 0, 39, 0,196,255,220, 0, 39, 0,198,255,220, 0, 39, 1, 56,255,144, 0, 39, 1, 58,255,144, 0, 39, 1,244, +255,144, 0, 39, 5,106,255,144, 0, 39, 5,145,255,211, 0, 39, 5,146,255,201, 0, 39, 5,147,255, 68, 0, 41, 0, 17,254,183, + 0, 41, 0, 29,255, 97, 0, 41, 0, 36,255, 68, 0, 41, 0, 54,255,220, 0, 41, 0, 55,255,220, 0, 41, 0, 68,255, 68, 0, 41, + 0, 72,255,144, 0, 41, 0, 76,255,107, 0, 41, 0, 82,255,183, 0, 41, 0, 85,255,107, 0, 41, 0, 88,255,144, 0, 41, 0, 92, +255, 68, 0, 41, 0,130,255, 68, 0, 41, 0,131,255, 68, 0, 41, 0,132,255, 68, 0, 41, 0,133,255, 68, 0, 41, 0,134,255, 68, + 0, 41, 0,162,255, 68, 0, 41, 0,163,255, 68, 0, 41, 0,164,255, 68, 0, 41, 0,165,255, 68, 0, 41, 0,166,255, 68, 0, 41, + 0,167,255, 68, 0, 41, 0,170,255,144, 0, 41, 0,171,255,144, 0, 41, 0,172,255,144, 0, 41, 0,173,255,144, 0, 41, 0,180, +255,183, 0, 41, 0,181,255,183, 0, 41, 0,182,255,183, 0, 41, 0,183,255,183, 0, 41, 0,184,255,183, 0, 41, 0,187,255,144, + 0, 41, 0,188,255,144, 0, 41, 0,189,255,144, 0, 41, 0,190,255,144, 0, 41, 0,191,255, 68, 0, 41, 0,193,255, 68, 0, 41, + 0,194,255, 68, 0, 41, 0,195,255, 68, 0, 41, 0,196,255, 68, 0, 41, 0,197,255, 68, 0, 41, 0,198,255, 68, 0, 41, 0,199, +255, 68, 0, 41, 0,213,255,144, 0, 41, 0,215,255,144, 0, 41, 0,217,255,144, 0, 41, 0,219,255,144, 0, 41, 0,221,255,144, + 0, 41, 0,241,255,107, 0, 41, 0,245,255,107, 0, 41, 1, 15,255,183, 0, 41, 1, 17,255,183, 0, 41, 1, 19,255,183, 0, 41, + 1, 23,255,107, 0, 41, 1, 25,255,107, 0, 41, 1, 27,255,107, 0, 41, 1, 28,255,220, 0, 41, 1, 30,255,220, 0, 41, 1, 32, +255,220, 0, 41, 1, 34,255,220, 0, 41, 1, 36,255,220, 0, 41, 1, 38,255,220, 0, 41, 1, 40,255,220, 0, 41, 1, 43,255,144, + 0, 41, 1, 45,255,144, 0, 41, 1, 47,255,144, 0, 41, 1, 49,255,144, 0, 41, 1, 51,255,144, 0, 41, 1, 53,255,144, 0, 41, + 1, 57,255, 68, 0, 41, 1,173,255,183, 0, 41, 1,175,255,183, 0, 41, 1,218,255,220, 0, 41, 1,220,255,220, 0, 41, 1,241, +255,183, 0, 41, 1,245,255, 68, 0, 41, 5,107,255, 68, 0, 41, 5,145,255,211, 0, 41, 5,147,254,136, 0, 42, 0, 55,255,183, + 0, 42, 0, 60,255,154, 0, 42, 0,109,255,220, 0, 42, 0,125,255,220, 0, 42, 0,159,255,154, 0, 42, 1, 38,255,183, 0, 42, + 1, 58,255,154, 0, 42, 5,145,255,211, 0, 42, 5,146,255,211, 0, 42, 5,147,255,201, 0, 43, 0, 17,255,220, 0, 43, 5,145, +255,183, 0, 43, 5,146,255,193, 0, 43, 5,147,255,183, 0, 45, 0, 16,255,183, 0, 45, 0, 36,255,220, 0, 45, 0,109,255,220, + 0, 45, 0,125,255,220, 0, 45, 0,130,255,220, 0, 45, 0,131,255,220, 0, 45, 0,132,255,220, 0, 45, 0,133,255,220, 0, 45, + 0,134,255,220, 0, 45, 5,145,255,183, 0, 45, 5,146,255,193, 0, 45, 5,147,255,144, 0, 46, 0, 16,255, 41, 0, 46, 0, 36, +255,220, 0, 46, 0, 38,255,144, 0, 46, 0, 50,255,144, 0, 46, 0, 55,255, 97, 0, 46, 0, 56,255,201, 0, 46, 0, 58,255,183, + 0, 46, 0, 60,255,183, 0, 46, 0, 68,255,220, 0, 46, 0, 72,255,154, 0, 46, 0, 82,255,154, 0, 46, 0, 88,255,154, 0, 46, + 0, 92,255,107, 0, 46, 0,109,255,125, 0, 46, 0,130,255,220, 0, 46, 0,131,255,220, 0, 46, 0,132,255,220, 0, 46, 0,133, +255,220, 0, 46, 0,134,255,220, 0, 46, 0,137,255,144, 0, 46, 0,148,255,144, 0, 46, 0,149,255,144, 0, 46, 0,150,255,144, + 0, 46, 0,151,255,144, 0, 46, 0,152,255,144, 0, 46, 0,155,255,201, 0, 46, 0,156,255,201, 0, 46, 0,157,255,201, 0, 46, + 0,158,255,201, 0, 46, 0,159,255,183, 0, 46, 0,162,255,220, 0, 46, 0,163,255,220, 0, 46, 0,164,255,220, 0, 46, 0,165, +255,220, 0, 46, 0,166,255,220, 0, 46, 0,167,255,220, 0, 46, 0,170,255,154, 0, 46, 0,171,255,154, 0, 46, 0,172,255,154, + 0, 46, 0,173,255,154, 0, 46, 0,180,255,154, 0, 46, 0,181,255,154, 0, 46, 0,182,255,154, 0, 46, 0,183,255,154, 0, 46, + 0,184,255,154, 0, 46, 0,187,255,154, 0, 46, 0,188,255,154, 0, 46, 0,189,255,154, 0, 46, 0,190,255,154, 0, 46, 0,191, +255,107, 0, 46, 0,193,255,107, 0, 46, 0,200,255,144, 0, 46, 0,206,255,144, 0, 46, 0,221,255,154, 0, 46, 1, 38,255, 97, + 0, 46, 1, 48,255,201, 0, 46, 1, 49,255,154, 0, 46, 1, 58,255,183, 0, 46, 5,145,255,193, 0, 46, 5,146,255,193, 0, 47, + 0, 16,255,220, 0, 47, 0, 36, 0, 47, 0, 47, 0, 50,255,183, 0, 47, 0, 55,254,230, 0, 47, 0, 56,255,154, 0, 47, 0, 57, +255, 31, 0, 47, 0, 58,255, 68, 0, 47, 0, 60,254,240, 0, 47, 0, 72,255,220, 0, 47, 0, 82,255,220, 0, 47, 0, 88,255,220, + 0, 47, 0, 92,255, 68, 0, 47, 0,130, 0, 47, 0, 47, 0,131, 0, 47, 0, 47, 0,132, 0, 47, 0, 47, 0,133, 0, 47, 0, 47, + 0,134, 0, 47, 0, 47, 0,148,255,183, 0, 47, 0,149,255,183, 0, 47, 0,150,255,183, 0, 47, 0,151,255,183, 0, 47, 0,152, +255,183, 0, 47, 0,155,255,154, 0, 47, 0,156,255,154, 0, 47, 0,157,255,154, 0, 47, 0,158,255,154, 0, 47, 0,159,254,240, + 0, 47, 0,170,255,220, 0, 47, 0,171,255,220, 0, 47, 0,172,255,220, 0, 47, 0,173,255,220, 0, 47, 0,180,255,220, 0, 47, + 0,181,255,220, 0, 47, 0,182,255,220, 0, 47, 0,183,255,220, 0, 47, 0,184,255,220, 0, 47, 0,187,255,220, 0, 47, 0,188, +255,220, 0, 47, 0,189,255,220, 0, 47, 0,190,255,220, 0, 47, 0,191,255, 68, 0, 47, 0,193,255, 68, 0, 47, 0,221,255,220, + 0, 47, 1, 38,254,230, 0, 47, 1, 48,255,154, 0, 47, 1, 49,255,220, 0, 47, 1, 58,254,240, 0, 47, 5,145,254, 97, 0, 47, + 5,146,253,230, 0, 50, 0, 16, 0, 57, 0, 50, 0, 17,255,173, 0, 50, 0, 29,255,220, 0, 50, 0, 36,255,220, 0, 50, 0, 57, +255,220, 0, 50, 0, 59,255,125, 0, 50, 0, 60,255,144, 0, 50, 0,109,255,220, 0, 50, 0,130,255,220, 0, 50, 0,131,255,220, + 0, 50, 0,132,255,220, 0, 50, 0,133,255,220, 0, 50, 0,134,255,220, 0, 50, 0,159,255,144, 0, 50, 1, 58,255,144, 0, 50, + 5,145,255,211, 0, 50, 5,146,255,220, 0, 50, 5,147,255, 68, 0, 51, 0, 16,255,211, 0, 51, 0, 17,254,193, 0, 51, 0, 36, +255,125, 0, 51, 0, 60,255,211, 0, 51, 0, 68,255,164, 0, 51, 0, 72,255,183, 0, 51, 0, 76,255,211, 0, 51, 0, 81,255,220, + 0, 51, 0, 82,255,183, 0, 51, 0, 85,255,220, 0, 51, 0, 86,255,220, 0, 51, 0, 88,255,220, 0, 51, 0,109,255,220, 0, 51, + 0,130,255,125, 0, 51, 0,131,255,125, 0, 51, 0,132,255,125, 0, 51, 0,133,255,125, 0, 51, 0,134,255,125, 0, 51, 0,159, +255,211, 0, 51, 0,162,255,164, 0, 51, 0,163,255,164, 0, 51, 0,164,255,164, 0, 51, 0,165,255,164, 0, 51, 0,166,255,164, + 0, 51, 0,167,255,164, 0, 51, 0,170,255,183, 0, 51, 0,171,255,183, 0, 51, 0,172,255,183, 0, 51, 0,173,255,183, 0, 51, + 0,179,255,220, 0, 51, 0,180,255,183, 0, 51, 0,181,255,183, 0, 51, 0,182,255,183, 0, 51, 0,183,255,183, 0, 51, 0,184, +255,183, 0, 51, 0,187,255,220, 0, 51, 0,188,255,220, 0, 51, 0,189,255,220, 0, 51, 0,190,255,220, 0, 51, 0,221,255,183, + 0, 51, 1, 10,255,220, 0, 51, 1, 23,255,220, 0, 51, 1, 27,255,220, 0, 51, 1, 33,255,220, 0, 51, 1, 35,255,220, 0, 51, + 1, 49,255,220, 0, 51, 1, 58,255,211, 0, 51, 5,145, 0, 38, 0, 51, 5,146, 0, 38, 0, 51, 5,147,254,183, 0, 52, 0, 16, + 0, 57, 0, 52, 5,145,255,211, 0, 52, 5,146,255,220, 0, 52, 5,147,255,125, 0, 53, 0, 16,255,173, 0, 53, 0, 17,255,183, + 0, 53, 0, 29,255,193, 0, 53, 0, 36,255,173, 0, 53, 0, 38,255,154, 0, 53, 0, 55,255,107, 0, 53, 0, 57,255,144, 0, 53, + 0, 58,255,173, 0, 53, 0, 60,255,125, 0, 53, 0, 68,255,211, 0, 53, 0, 72,255,164, 0, 53, 0, 82,255,164, 0, 53, 0, 88, +255,164, 0, 53, 0, 92,255,144, 0, 53, 0,109,255,144, 0, 53, 0,125,255,220, 0, 53, 0,130,255,173, 0, 53, 0,131,255,173, + 0, 53, 0,132,255,173, 0, 53, 0,133,255,173, 0, 53, 0,134,255,173, 0, 53, 0,137,255,154, 0, 53, 0,159,255,125, 0, 53, + 0,162,255,211, 0, 53, 0,163,255,211, 0, 53, 0,164,255,211, 0, 53, 0,165,255,211, 0, 53, 0,166,255,211, 0, 53, 0,167, +255,211, 0, 53, 0,170,255,164, 0, 53, 0,171,255,164, 0, 53, 0,172,255,164, 0, 53, 0,173,255,164, 0, 53, 0,180,255,164, + 0, 53, 0,181,255,164, 0, 53, 0,182,255,164, 0, 53, 0,183,255,164, 0, 53, 0,184,255,164, 0, 53, 0,187,255,164, 0, 53, + 0,188,255,164, 0, 53, 0,189,255,164, 0, 53, 0,190,255,164, 0, 53, 0,191,255,144, 0, 53, 0,193,255,144, 0, 53, 0,200, +255,154, 0, 53, 0,206,255,154, 0, 53, 0,221,255,164, 0, 53, 1, 38,255,107, 0, 53, 1, 49,255,164, 0, 53, 1, 58,255,125, + 0, 53, 5,145,255,107, 0, 53, 5,146,255,125, 0, 53, 5,147,255,220, 0, 54, 0, 36, 0, 38, 0, 54, 0,130, 0, 38, 0, 54, + 0,131, 0, 38, 0, 54, 0,132, 0, 38, 0, 54, 0,133, 0, 38, 0, 54, 0,134, 0, 38, 0, 55, 0, 16,255, 68, 0, 55, 0, 17, +255, 13, 0, 55, 0, 29,255, 31, 0, 55, 0, 36,255, 97, 0, 55, 0, 38,255,136, 0, 55, 0, 55,255,220, 0, 55, 0, 68,254,173, + 0, 55, 0, 70,254,164, 0, 55, 0, 72,254,164, 0, 55, 0, 76,255,193, 0, 55, 0, 82,254,164, 0, 55, 0, 85,254,211, 0, 55, + 0, 86,254,173, 0, 55, 0, 88,254,201, 0, 55, 0, 90,254,173, 0, 55, 0, 92,254,193, 0, 55, 0,109,255, 68, 0, 55, 0,125, +255,144, 0, 55, 0,130,255, 97, 0, 55, 0,131,255, 97, 0, 55, 0,132,255, 97, 0, 55, 0,133,255, 97, 0, 55, 0,134,255, 97, + 0, 55, 0,137,255,136, 0, 55, 0,162,254,173, 0, 55, 0,163,254,173, 0, 55, 0,164,254,173, 0, 55, 0,165,254,173, 0, 55, + 0,166,254,173, 0, 55, 0,167,254,173, 0, 55, 0,169,254,164, 0, 55, 0,170,254,164, 0, 55, 0,171,254,164, 0, 55, 0,172, +254,164, 0, 55, 0,173,254,164, 0, 55, 0,180,254,164, 0, 55, 0,181,254,164, 0, 55, 0,182,254,164, 0, 55, 0,183,254,164, + 0, 55, 0,184,254,164, 0, 55, 0,187,254,201, 0, 55, 0,188,254,201, 0, 55, 0,189,254,201, 0, 55, 0,190,254,201, 0, 55, + 0,191,254,193, 0, 55, 0,193,254,193, 0, 55, 0,200,255,136, 0, 55, 0,201,254,164, 0, 55, 0,206,255,136, 0, 55, 0,207, +254,164, 0, 55, 0,221,254,164, 0, 55, 1, 23,254,211, 0, 55, 1, 27,254,211, 0, 55, 1, 33,254,173, 0, 55, 1, 35,254,173, + 0, 55, 1, 38,255,220, 0, 55, 1, 49,254,201, 0, 55, 5,146,255,211, 0, 55, 5,147,254,248, 0, 56, 0, 61,255,220, 0, 56, + 1, 63,255,220, 0, 57, 0, 16,255,136, 0, 57, 0, 17,254,248, 0, 57, 0, 29,255, 89, 0, 57, 0, 36,255,125, 0, 57, 0, 50, +255,220, 0, 57, 0, 68,255, 97, 0, 57, 0, 72,255, 97, 0, 57, 0, 76,255,211, 0, 57, 0, 82,255, 97, 0, 57, 0, 88,255,117, + 0, 57, 0, 92,255,201, 0, 57, 0,109,255, 78, 0, 57, 0,125,255,144, 0, 57, 0,130,255,125, 0, 57, 0,131,255,125, 0, 57, + 0,132,255,125, 0, 57, 0,133,255,125, 0, 57, 0,134,255,125, 0, 57, 0,148,255,220, 0, 57, 0,149,255,220, 0, 57, 0,150, +255,220, 0, 57, 0,151,255,220, 0, 57, 0,152,255,220, 0, 57, 0,162,255, 97, 0, 57, 0,163,255, 97, 0, 57, 0,164,255, 97, + 0, 57, 0,165,255, 97, 0, 57, 0,166,255, 97, 0, 57, 0,167,255, 97, 0, 57, 0,170,255, 97, 0, 57, 0,171,255, 97, 0, 57, + 0,172,255, 97, 0, 57, 0,173,255, 97, 0, 57, 0,180,255, 97, 0, 57, 0,181,255, 97, 0, 57, 0,182,255, 97, 0, 57, 0,183, +255, 97, 0, 57, 0,184,255, 97, 0, 57, 0,187,255,117, 0, 57, 0,188,255,117, 0, 57, 0,189,255,117, 0, 57, 0,190,255,117, + 0, 57, 0,191,255,201, 0, 57, 0,193,255,201, 0, 57, 0,221,255, 97, 0, 57, 1, 49,255,117, 0, 57, 5,147,254,230, 0, 58, + 0, 16,255,173, 0, 58, 0, 17,255, 21, 0, 58, 0, 29,255,136, 0, 58, 0, 36,255,144, 0, 58, 0, 68,255,125, 0, 58, 0, 72, +255,136, 0, 58, 0, 76,255,211, 0, 58, 0, 82,255,136, 0, 58, 0, 85,255,164, 0, 58, 0, 88,255,183, 0, 58, 0, 92,255,220, + 0, 58, 0,109,255,144, 0, 58, 0,125,255,220, 0, 58, 0,130,255,144, 0, 58, 0,131,255,144, 0, 58, 0,132,255,144, 0, 58, + 0,133,255,144, 0, 58, 0,134,255,144, 0, 58, 0,162,255,125, 0, 58, 0,163,255,125, 0, 58, 0,164,255,125, 0, 58, 0,165, +255,125, 0, 58, 0,166,255,125, 0, 58, 0,167,255,125, 0, 58, 0,170,255,136, 0, 58, 0,171,255,136, 0, 58, 0,172,255,136, + 0, 58, 0,173,255,136, 0, 58, 0,180,255,136, 0, 58, 0,181,255,136, 0, 58, 0,182,255,136, 0, 58, 0,183,255,136, 0, 58, + 0,184,255,136, 0, 58, 0,187,255,183, 0, 58, 0,188,255,183, 0, 58, 0,189,255,183, 0, 58, 0,190,255,183, 0, 58, 0,191, +255,220, 0, 58, 0,193,255,220, 0, 58, 0,221,255,136, 0, 58, 1, 23,255,164, 0, 58, 1, 27,255,164, 0, 58, 1, 49,255,183, + 0, 58, 5,145,255,220, 0, 58, 5,147,254,248, 0, 59, 0, 16,255,154, 0, 59, 0, 38,255,107, 0, 59, 0, 50,255,125, 0, 59, + 0, 55,255,220, 0, 59, 0, 72,255,164, 0, 59, 0,109,255,144, 0, 59, 0,137,255,107, 0, 59, 0,148,255,125, 0, 59, 0,149, +255,125, 0, 59, 0,150,255,125, 0, 59, 0,151,255,125, 0, 59, 0,152,255,125, 0, 59, 0,170,255,164, 0, 59, 0,171,255,164, + 0, 59, 0,172,255,164, 0, 59, 0,173,255,164, 0, 59, 0,200,255,107, 0, 59, 0,206,255,107, 0, 59, 0,221,255,164, 0, 59, + 1, 38,255,220, 0, 59, 5,145,255, 97, 0, 59, 5,146,255,173, 0, 59, 5,147,255,211, 0, 60, 0, 16,255, 13, 0, 60, 0, 17, +254, 97, 0, 60, 0, 29,254,240, 0, 60, 0, 36,255, 97, 0, 60, 0, 38,255,144, 0, 60, 0, 50,255,144, 0, 60, 0, 68,254,230, + 0, 60, 0, 72,254,240, 0, 60, 0, 76,255,183, 0, 60, 0, 82,254,240, 0, 60, 0, 88,255, 21, 0, 60, 0,109,255, 31, 0, 60, + 0,125,255,107, 0, 60, 0,130,255, 97, 0, 60, 0,131,255, 97, 0, 60, 0,132,255, 97, 0, 60, 0,133,255, 97, 0, 60, 0,134, +255, 97, 0, 60, 0,137,255,144, 0, 60, 0,148,255,144, 0, 60, 0,149,255,144, 0, 60, 0,150,255,144, 0, 60, 0,151,255,144, + 0, 60, 0,152,255,144, 0, 60, 0,162,254,230, 0, 60, 0,163,254,230, 0, 60, 0,164,254,230, 0, 60, 0,165,254,230, 0, 60, + 0,166,254,230, 0, 60, 0,167,254,230, 0, 60, 0,170,254,240, 0, 60, 0,171,254,240, 0, 60, 0,172,254,240, 0, 60, 0,173, +254,240, 0, 60, 0,180,254,240, 0, 60, 0,181,254,240, 0, 60, 0,182,254,240, 0, 60, 0,183,254,240, 0, 60, 0,184,254,240, + 0, 60, 0,187,255, 21, 0, 60, 0,188,255, 21, 0, 60, 0,189,255, 21, 0, 60, 0,190,255, 21, 0, 60, 0,200,255,144, 0, 60, + 0,206,255,144, 0, 60, 0,221,254,240, 0, 60, 1, 49,255, 21, 0, 60, 5,145,255,144, 0, 60, 5,146,255,220, 0, 60, 5,147, +254,248, 0, 61, 0, 16,255,220, 0, 61, 5,145,255,220, 0, 61, 5,146,255,220, 0, 61, 5,147,255,220, 0, 72, 0, 91,255,220, + 0, 73, 0, 16,255,144, 0, 73, 0, 17,255,107, 0, 73, 0, 29,255,183, 0, 73, 0, 87,255,220, 0, 73, 0, 90,255,220, 0, 73, + 0, 92,255,220, 0, 73, 0,109,255,183, 0, 73, 0,125,255,220, 0, 73, 0,191,255,220, 0, 73, 0,193,255,220, 0, 73, 1, 39, +255,220, 0, 73, 5,145, 0, 65, 0, 73, 5,147,255, 21, 0, 78, 0, 68,255,220, 0, 78, 0, 72,255,183, 0, 78, 0, 82,255,183, + 0, 78, 0, 88,255,193, 0, 78, 0, 92,255,183, 0, 78, 0,162,255,220, 0, 78, 0,163,255,220, 0, 78, 0,164,255,220, 0, 78, + 0,165,255,220, 0, 78, 0,166,255,220, 0, 78, 0,167,255,220, 0, 78, 0,170,255,183, 0, 78, 0,171,255,183, 0, 78, 0,172, +255,183, 0, 78, 0,173,255,183, 0, 78, 0,180,255,183, 0, 78, 0,181,255,183, 0, 78, 0,182,255,183, 0, 78, 0,183,255,183, + 0, 78, 0,184,255,183, 0, 78, 0,187,255,193, 0, 78, 0,188,255,193, 0, 78, 0,189,255,193, 0, 78, 0,190,255,193, 0, 78, + 0,191,255,183, 0, 78, 0,193,255,183, 0, 78, 0,221,255,183, 0, 78, 1, 49,255,193, 0, 81, 5,145,255,107, 0, 81, 5,146, +255,144, 0, 81, 5,147,255,164, 0, 82, 0, 16, 0, 38, 0, 82, 0, 17,255,220, 0, 82, 0, 91,255,193, 0, 82, 5,145,255,107, + 0, 82, 5,146,255,183, 0, 82, 5,147,255,125, 0, 85, 0, 16,255,125, 0, 85, 0, 17,255, 68, 0, 85, 0, 29,255,220, 0, 85, + 0, 70,255,211, 0, 85, 0, 71,255,220, 0, 85, 0, 72,255,211, 0, 85, 0, 74,255,220, 0, 85, 0, 75,255,220, 0, 85, 0, 80, +255,220, 0, 85, 0, 81,255,220, 0, 85, 0, 82,255,211, 0, 85, 0, 84,255,220, 0, 85, 0, 85,255,220, 0, 85, 0, 91,255,201, + 0, 85, 0,109,255,183, 0, 85, 0,169,255,211, 0, 85, 0,170,255,211, 0, 85, 0,171,255,211, 0, 85, 0,172,255,211, 0, 85, + 0,173,255,211, 0, 85, 0,179,255,220, 0, 85, 0,180,255,211, 0, 85, 0,181,255,211, 0, 85, 0,182,255,211, 0, 85, 0,183, +255,211, 0, 85, 0,184,255,211, 0, 85, 0,201,255,211, 0, 85, 0,207,255,211, 0, 85, 0,209, 0, 72, 0, 85, 0,221,255,211, + 0, 85, 0,225,255,220, 0, 85, 1, 10,255,220, 0, 85, 1, 23,255,220, 0, 85, 1, 27,255,220, 0, 85, 5,146, 0, 86, 0, 85, + 5,147,254,201, 0, 89, 0, 16,255,201, 0, 89, 0, 17,255, 97, 0, 89, 0, 29,255,144, 0, 89, 0,109,255,220, 0, 89, 0,125, +255,220, 0, 89, 5,146,255,220, 0, 89, 5,147,254,240, 0, 90, 0, 17,255, 68, 0, 90, 0, 29,255,144, 0, 90, 0,109,255,220, + 0, 90, 0,125,255,220, 0, 90, 5,147,255, 41, 0, 91, 0, 70,255,220, 0, 91, 0, 72,255,193, 0, 91, 0, 82,255,193, 0, 91, + 0,169,255,220, 0, 91, 0,170,255,193, 0, 91, 0,171,255,193, 0, 91, 0,172,255,193, 0, 91, 0,173,255,193, 0, 91, 0,180, +255,193, 0, 91, 0,181,255,193, 0, 91, 0,182,255,193, 0, 91, 0,183,255,193, 0, 91, 0,184,255,193, 0, 91, 0,201,255,220, + 0, 91, 0,207,255,220, 0, 91, 0,221,255,193, 0, 92, 0, 16,255,220, 0, 92, 0, 17,254,220, 0, 92, 0, 29,255,107, 0, 92, + 0,109,255,220, 0, 92, 0,125,255,220, 0, 92, 5,147,254,211, 0,109, 0, 37,255,220, 0,109, 0, 38,255,220, 0,109, 0, 39, +255,220, 0,109, 0, 42,255,220, 0,109, 0, 45,255,220, 0,109, 0, 55,255,144, 0,109, 0, 57,255,144, 0,109, 0, 58,255,220, + 0,109, 0, 60,255,107, 0,109, 0, 89,255,220, 0,109, 0, 90,255,220, 0,109, 0, 92,255,220, 0,109, 0,136, 0,151, 0,109, + 0,137,255,220, 0,109, 0,159,255,107, 0,109, 0,191,255,220, 0,109, 0,193,255,220, 0,109, 0,200,255,220, 0,109, 0,206, +255,220, 0,109, 0,208,255,220, 0,109, 0,224,255,220, 0,109, 1, 38,255,144, 0,109, 1, 58,255,107, 0,125, 0, 36,255,183, + 0,125, 0, 37,255,183, 0,125, 0, 38,255,220, 0,125, 0, 39,255,220, 0,125, 0, 45,255,220, 0,125, 0, 50,255,220, 0,125, + 0, 55,255, 68, 0,125, 0, 57,255, 78, 0,125, 0, 58,255,144, 0,125, 0, 59,255,144, 0,125, 0, 60,255, 31, 0,125, 0, 89, +255,220, 0,125, 0, 90,255,220, 0,125, 0, 92,255,220, 0,125, 0,130,255,183, 0,125, 0,131,255,183, 0,125, 0,132,255,183, + 0,125, 0,133,255,183, 0,125, 0,134,255,183, 0,125, 0,137,255,220, 0,125, 0,148,255,220, 0,125, 0,149,255,220, 0,125, + 0,150,255,220, 0,125, 0,151,255,220, 0,125, 0,152,255,220, 0,125, 0,159,255, 31, 0,125, 0,191,255,220, 0,125, 0,193, +255,220, 0,125, 0,200,255,220, 0,125, 0,206,255,220, 0,125, 0,208,255,220, 0,125, 1, 38,255, 68, 0,125, 1, 58,255, 31, + 0,130, 0, 16,255,211, 0,130, 0, 17,255,220, 0,130, 0, 29,255,220, 0,130, 0, 36, 0, 57, 0,130, 0, 38,255,220, 0,130, + 0, 42,255,220, 0,130, 0, 50,255,220, 0,130, 0, 52,255,220, 0,130, 0, 55,255, 97, 0,130, 0, 57,255,125, 0,130, 0, 58, +255,144, 0,130, 0, 60,255, 97, 0,130, 0, 70,255,220, 0,130, 0, 71,255,220, 0,130, 0, 72,255,220, 0,130, 0, 73,255,183, + 0,130, 0, 82,255,220, 0,130, 0, 84,255,220, 0,130, 0, 87,255,220, 0,130, 0, 89,255,136, 0,130, 0, 90,255,173, 0,130, + 0, 92,255,117, 0,130, 0,109,255,183, 0,130, 0,130, 0, 57, 0,130, 0,131, 0, 57, 0,130, 0,132, 0, 57, 0,130, 0,133, + 0, 57, 0,130, 0,134, 0, 57, 0,130, 0,137,255,220, 0,130, 0,148,255,220, 0,130, 0,149,255,220, 0,130, 0,150,255,220, + 0,130, 0,151,255,220, 0,130, 0,152,255,220, 0,130, 0,159,255, 97, 0,130, 0,169,255,220, 0,130, 0,170,255,220, 0,130, + 0,171,255,220, 0,130, 0,172,255,220, 0,130, 0,173,255,220, 0,130, 0,180,255,220, 0,130, 0,181,255,220, 0,130, 0,182, +255,220, 0,130, 0,183,255,220, 0,130, 0,184,255,220, 0,130, 0,191,255,117, 0,130, 0,193,255,117, 0,130, 0,194, 0, 57, + 0,130, 0,196, 0, 57, 0,130, 0,198, 0, 57, 0,130, 0,200,255,220, 0,130, 0,201,255,220, 0,130, 0,202,255,220, 0,130, + 0,204,255,220, 0,130, 0,205,255,220, 0,130, 0,206,255,220, 0,130, 0,207,255,220, 0,130, 0,209,255,220, 0,130, 0,213, +255,220, 0,130, 0,215,255,220, 0,130, 0,217,255,220, 0,130, 0,219,255,220, 0,130, 0,221,255,220, 0,130, 0,222,255,220, + 0,130, 0,224,255,220, 0,130, 0,226,255,220, 0,130, 1, 14,255,220, 0,130, 1, 15,255,220, 0,130, 1, 16,255,220, 0,130, + 1, 17,255,220, 0,130, 1, 18,255,220, 0,130, 1, 19,255,220, 0,130, 1, 36,255, 97, 0,130, 1, 37,255,220, 0,130, 1, 38, +255, 97, 0,130, 1, 39,255,220, 0,130, 1, 54,255,144, 0,130, 1, 55,255,173, 0,130, 1, 56,255, 97, 0,130, 1, 57,255,117, + 0,130, 1, 58,255, 97, 0,130, 1,240,255,220, 0,130, 1,241,255,220, 0,130, 4,252,255,144, 0,130, 4,255,255,173, 0,130, + 5, 0,255,144, 0,130, 5, 1,255,173, 0,130, 5,106,255, 97, 0,130, 5,107,255,117, 0,130, 5,145,254,248, 0,130, 5,146, +255, 3, 0,130, 5,147, 0, 47, 0,131, 0, 16,255,211, 0,131, 0, 17,255,220, 0,131, 0, 29,255,220, 0,131, 0, 36, 0, 57, + 0,131, 0, 38,255,220, 0,131, 0, 42,255,220, 0,131, 0, 50,255,220, 0,131, 0, 52,255,220, 0,131, 0, 55,255, 97, 0,131, + 0, 57,255,125, 0,131, 0, 58,255,144, 0,131, 0, 60,255, 97, 0,131, 0, 70,255,220, 0,131, 0, 71,255,220, 0,131, 0, 72, +255,220, 0,131, 0, 73,255,183, 0,131, 0, 82,255,220, 0,131, 0, 84,255,220, 0,131, 0, 87,255,220, 0,131, 0, 89,255,136, + 0,131, 0, 90,255,173, 0,131, 0, 92,255,117, 0,131, 0,109,255,183, 0,131, 0,130, 0, 57, 0,131, 0,131, 0, 57, 0,131, + 0,132, 0, 57, 0,131, 0,133, 0, 57, 0,131, 0,134, 0, 57, 0,131, 0,137,255,220, 0,131, 0,148,255,220, 0,131, 0,149, +255,220, 0,131, 0,150,255,220, 0,131, 0,151,255,220, 0,131, 0,152,255,220, 0,131, 0,159,255, 97, 0,131, 0,169,255,220, + 0,131, 0,170,255,220, 0,131, 0,171,255,220, 0,131, 0,172,255,220, 0,131, 0,173,255,220, 0,131, 0,180,255,220, 0,131, + 0,181,255,220, 0,131, 0,182,255,220, 0,131, 0,183,255,220, 0,131, 0,184,255,220, 0,131, 0,191,255,117, 0,131, 0,193, +255,117, 0,131, 0,194, 0, 57, 0,131, 0,196, 0, 57, 0,131, 0,198, 0, 57, 0,131, 0,200,255,220, 0,131, 0,201,255,220, + 0,131, 0,202,255,220, 0,131, 0,204,255,220, 0,131, 0,205,255,220, 0,131, 0,206,255,220, 0,131, 0,207,255,220, 0,131, + 0,209,255,220, 0,131, 0,213,255,220, 0,131, 0,215,255,220, 0,131, 0,217,255,220, 0,131, 0,219,255,220, 0,131, 0,221, +255,220, 0,131, 0,222,255,220, 0,131, 0,224,255,220, 0,131, 0,226,255,220, 0,131, 1, 14,255,220, 0,131, 1, 15,255,220, + 0,131, 1, 16,255,220, 0,131, 1, 17,255,220, 0,131, 1, 18,255,220, 0,131, 1, 19,255,220, 0,131, 1, 36,255, 97, 0,131, + 1, 37,255,220, 0,131, 1, 38,255, 97, 0,131, 1, 39,255,220, 0,131, 1, 54,255,144, 0,131, 1, 55,255,173, 0,131, 1, 56, +255, 97, 0,131, 1, 57,255,117, 0,131, 1, 58,255, 97, 0,131, 1,240,255,220, 0,131, 1,241,255,220, 0,131, 4,252,255,144, + 0,131, 4,254,255,144, 0,131, 4,255,255,173, 0,131, 5, 0,255,144, 0,131, 5, 1,255,173, 0,131, 5,106,255, 97, 0,131, + 5,107,255,117, 0,131, 5,145,254,248, 0,131, 5,146,255, 3, 0,131, 5,147, 0, 47, 0,132, 0, 16,255,211, 0,132, 0, 17, +255,220, 0,132, 0, 29,255,220, 0,132, 0, 36, 0, 57, 0,132, 0, 38,255,220, 0,132, 0, 42,255,220, 0,132, 0, 50,255,220, + 0,132, 0, 52,255,220, 0,132, 0, 55,255, 97, 0,132, 0, 57,255,125, 0,132, 0, 58,255,144, 0,132, 0, 60,255, 97, 0,132, + 0, 70,255,220, 0,132, 0, 71,255,220, 0,132, 0, 72,255,220, 0,132, 0, 73,255,183, 0,132, 0, 82,255,220, 0,132, 0, 84, +255,220, 0,132, 0, 87,255,220, 0,132, 0, 89,255,136, 0,132, 0, 90,255,173, 0,132, 0, 92,255,117, 0,132, 0,109,255,183, + 0,132, 0,130, 0, 57, 0,132, 0,131, 0, 57, 0,132, 0,132, 0, 57, 0,132, 0,133, 0, 57, 0,132, 0,134, 0, 57, 0,132, + 0,137,255,220, 0,132, 0,148,255,220, 0,132, 0,149,255,220, 0,132, 0,150,255,220, 0,132, 0,151,255,220, 0,132, 0,152, +255,220, 0,132, 0,159,255, 97, 0,132, 0,169,255,220, 0,132, 0,170,255,220, 0,132, 0,171,255,220, 0,132, 0,172,255,220, + 0,132, 0,173,255,220, 0,132, 0,180,255,220, 0,132, 0,181,255,220, 0,132, 0,182,255,220, 0,132, 0,183,255,220, 0,132, + 0,184,255,220, 0,132, 0,191,255,117, 0,132, 0,193,255,117, 0,132, 0,194, 0, 57, 0,132, 0,196, 0, 57, 0,132, 0,198, + 0, 57, 0,132, 0,200,255,220, 0,132, 0,201,255,220, 0,132, 0,202,255,220, 0,132, 0,204,255,220, 0,132, 0,205,255,220, + 0,132, 0,206,255,220, 0,132, 0,207,255,220, 0,132, 0,209,255,220, 0,132, 0,213,255,220, 0,132, 0,215,255,220, 0,132, + 0,217,255,220, 0,132, 0,219,255,220, 0,132, 0,221,255,220, 0,132, 0,222,255,220, 0,132, 0,224,255,220, 0,132, 0,226, +255,220, 0,132, 1, 14,255,220, 0,132, 1, 15,255,220, 0,132, 1, 16,255,220, 0,132, 1, 17,255,220, 0,132, 1, 18,255,220, + 0,132, 1, 19,255,220, 0,132, 1, 36,255, 97, 0,132, 1, 37,255,220, 0,132, 1, 38,255, 97, 0,132, 1, 39,255,220, 0,132, + 1, 54,255,144, 0,132, 1, 55,255,173, 0,132, 1, 56,255, 97, 0,132, 1, 57,255,117, 0,132, 1, 58,255, 97, 0,132, 1,240, +255,220, 0,132, 1,241,255,220, 0,132, 4,252,255,144, 0,132, 4,254,255,144, 0,132, 4,255,255,173, 0,132, 5, 0,255,144, + 0,132, 5, 1,255,173, 0,132, 5,106,255, 97, 0,132, 5,107,255,117, 0,132, 5,145,254,248, 0,132, 5,146,255, 3, 0,132, + 5,147, 0, 47, 0,133, 0, 16,255,211, 0,133, 0, 17,255,220, 0,133, 0, 29,255,220, 0,133, 0, 36, 0, 57, 0,133, 0, 38, +255,220, 0,133, 0, 42,255,220, 0,133, 0, 50,255,220, 0,133, 0, 52,255,220, 0,133, 0, 55,255, 97, 0,133, 0, 57,255,125, + 0,133, 0, 58,255,144, 0,133, 0, 60,255, 97, 0,133, 0, 70,255,220, 0,133, 0, 71,255,220, 0,133, 0, 72,255,220, 0,133, + 0, 73,255,183, 0,133, 0, 82,255,220, 0,133, 0, 84,255,220, 0,133, 0, 87,255,220, 0,133, 0, 89,255,136, 0,133, 0, 90, +255,173, 0,133, 0, 92,255,117, 0,133, 0,109,255,183, 0,133, 0,130, 0, 57, 0,133, 0,131, 0, 57, 0,133, 0,132, 0, 57, + 0,133, 0,133, 0, 57, 0,133, 0,134, 0, 57, 0,133, 0,137,255,220, 0,133, 0,148,255,220, 0,133, 0,149,255,220, 0,133, + 0,150,255,220, 0,133, 0,151,255,220, 0,133, 0,152,255,220, 0,133, 0,159,255, 97, 0,133, 0,169,255,220, 0,133, 0,170, +255,220, 0,133, 0,171,255,220, 0,133, 0,172,255,220, 0,133, 0,173,255,220, 0,133, 0,180,255,220, 0,133, 0,181,255,220, + 0,133, 0,182,255,220, 0,133, 0,183,255,220, 0,133, 0,184,255,220, 0,133, 0,191,255,117, 0,133, 0,193,255,117, 0,133, + 0,194, 0, 57, 0,133, 0,196, 0, 57, 0,133, 0,198, 0, 57, 0,133, 0,200,255,220, 0,133, 0,201,255,220, 0,133, 0,202, +255,220, 0,133, 0,204,255,220, 0,133, 0,205,255,220, 0,133, 0,206,255,220, 0,133, 0,207,255,220, 0,133, 0,209,255,220, + 0,133, 0,213,255,220, 0,133, 0,215,255,220, 0,133, 0,217,255,220, 0,133, 0,219,255,220, 0,133, 0,221,255,220, 0,133, + 0,222,255,220, 0,133, 0,224,255,220, 0,133, 0,226,255,220, 0,133, 1, 14,255,220, 0,133, 1, 15,255,220, 0,133, 1, 16, +255,220, 0,133, 1, 17,255,220, 0,133, 1, 18,255,220, 0,133, 1, 19,255,220, 0,133, 1, 36,255, 97, 0,133, 1, 37,255,220, + 0,133, 1, 38,255, 97, 0,133, 1, 39,255,220, 0,133, 1, 54,255,144, 0,133, 1, 55,255,173, 0,133, 1, 56,255, 97, 0,133, + 1, 57,255,117, 0,133, 1, 58,255, 97, 0,133, 1,240,255,220, 0,133, 4,252,255,144, 0,133, 4,254,255,144, 0,133, 4,255, +255,173, 0,133, 5, 0,255,144, 0,133, 5, 1,255,173, 0,133, 5,106,255, 97, 0,133, 5,107,255,117, 0,133, 5,145,254,248, + 0,133, 5,146,255, 3, 0,133, 5,147, 0, 47, 0,134, 0, 16,255,211, 0,134, 0, 17,255,220, 0,134, 0, 29,255,220, 0,134, + 0, 36, 0, 57, 0,134, 0, 38,255,220, 0,134, 0, 42,255,220, 0,134, 0, 50,255,220, 0,134, 0, 52,255,220, 0,134, 0, 55, +255, 97, 0,134, 0, 57,255,125, 0,134, 0, 58,255,144, 0,134, 0, 60,255, 97, 0,134, 0, 70,255,220, 0,134, 0, 71,255,220, + 0,134, 0, 72,255,220, 0,134, 0, 73,255,183, 0,134, 0, 82,255,220, 0,134, 0, 84,255,220, 0,134, 0, 87,255,220, 0,134, + 0, 89,255,136, 0,134, 0, 90,255,173, 0,134, 0, 92,255,117, 0,134, 0,109,255,183, 0,134, 0,130, 0, 57, 0,134, 0,131, + 0, 57, 0,134, 0,132, 0, 57, 0,134, 0,133, 0, 57, 0,134, 0,134, 0, 57, 0,134, 0,137,255,220, 0,134, 0,148,255,220, + 0,134, 0,149,255,220, 0,134, 0,150,255,220, 0,134, 0,151,255,220, 0,134, 0,152,255,220, 0,134, 0,159,255, 97, 0,134, + 0,169,255,220, 0,134, 0,170,255,220, 0,134, 0,171,255,220, 0,134, 0,172,255,220, 0,134, 0,173,255,220, 0,134, 0,180, +255,220, 0,134, 0,181,255,220, 0,134, 0,182,255,220, 0,134, 0,183,255,220, 0,134, 0,184,255,220, 0,134, 0,191,255,117, + 0,134, 0,193,255,117, 0,134, 0,194, 0, 57, 0,134, 0,196, 0, 57, 0,134, 0,198, 0, 57, 0,134, 0,200,255,220, 0,134, + 0,201,255,220, 0,134, 0,202,255,220, 0,134, 0,204,255,220, 0,134, 0,205,255,220, 0,134, 0,206,255,220, 0,134, 0,207, +255,220, 0,134, 0,209,255,220, 0,134, 0,213,255,220, 0,134, 0,215,255,220, 0,134, 0,217,255,220, 0,134, 0,219,255,220, + 0,134, 0,221,255,220, 0,134, 0,222,255,220, 0,134, 0,224,255,220, 0,134, 0,226,255,220, 0,134, 1, 14,255,220, 0,134, + 1, 15,255,220, 0,134, 1, 16,255,220, 0,134, 1, 17,255,220, 0,134, 1, 18,255,220, 0,134, 1, 19,255,220, 0,134, 1, 36, +255, 97, 0,134, 1, 37,255,220, 0,134, 1, 38,255, 97, 0,134, 1, 39,255,220, 0,134, 1, 54,255,144, 0,134, 1, 55,255,173, + 0,134, 1, 56,255, 97, 0,134, 1, 57,255,117, 0,134, 1, 58,255, 97, 0,134, 1,240,255,220, 0,134, 1,241,255,220, 0,134, + 4,252,255,144, 0,134, 4,254,255,144, 0,134, 4,255,255,173, 0,134, 5, 0,255,144, 0,134, 5, 1,255,173, 0,134, 5,106, +255, 97, 0,134, 5,107,255,117, 0,134, 5,145,254,248, 0,134, 5,146,255, 3, 0,134, 5,147, 0, 47, 0,136, 5,145,255,173, + 0,136, 5,146,255,164, 0,136, 5,147,255,144, 0,137, 0, 60,255,220, 0,137, 0,109,255,220, 0,137, 0,125,255,220, 0,137, + 0,159,255,220, 0,137, 1, 58,255,220, 0,137, 5,146, 0, 38, 0,146, 0, 36,255,220, 0,146, 0, 57,255,220, 0,146, 0, 60, +255,144, 0,146, 0,109,255,220, 0,146, 0,125,255,220, 0,146, 0,130,255,220, 0,146, 0,131,255,220, 0,146, 0,132,255,220, + 0,146, 0,133,255,220, 0,146, 0,134,255,220, 0,146, 0,159,255,144, 0,146, 0,194,255,220, 0,146, 0,196,255,220, 0,146, + 0,198,255,220, 0,146, 1, 56,255,144, 0,146, 1, 58,255,144, 0,146, 1,244,255,144, 0,146, 5,106,255,144, 0,146, 5,145, +255,211, 0,146, 5,146,255,201, 0,146, 5,147,255, 68, 0,148, 0, 16, 0, 57, 0,148, 0, 17,255,173, 0,148, 0, 29,255,220, + 0,148, 0, 36,255,220, 0,148, 0, 57,255,220, 0,148, 0, 59,255,125, 0,148, 0, 60,255,144, 0,148, 0,109,255,220, 0,148, + 0,130,255,220, 0,148, 0,131,255,220, 0,148, 0,132,255,220, 0,148, 0,133,255,220, 0,148, 0,134,255,220, 0,148, 0,159, +255,144, 0,148, 1, 58,255,144, 0,148, 5,145,255,211, 0,148, 5,146,255,220, 0,148, 5,147,255, 68, 0,149, 0, 16, 0, 57, + 0,149, 0, 17,255,173, 0,149, 0, 29,255,220, 0,149, 0, 36,255,220, 0,149, 0, 57,255,220, 0,149, 0, 59,255,125, 0,149, + 0, 60,255,144, 0,149, 0,109,255,220, 0,149, 0,130,255,220, 0,149, 0,131,255,220, 0,149, 0,132,255,220, 0,149, 0,133, +255,220, 0,149, 0,134,255,220, 0,149, 0,159,255,144, 0,149, 1, 58,255,144, 0,149, 5,145,255,211, 0,149, 5,146,255,220, + 0,149, 5,147,255, 68, 0,150, 0, 16, 0, 57, 0,150, 0, 17,255,173, 0,150, 0, 29,255,220, 0,150, 0, 36,255,220, 0,150, + 0, 57,255,220, 0,150, 0, 59,255,125, 0,150, 0, 60,255,144, 0,150, 0,109,255,220, 0,150, 0,130,255,220, 0,150, 0,131, +255,220, 0,150, 0,132,255,220, 0,150, 0,133,255,220, 0,150, 0,134,255,220, 0,150, 0,159,255,144, 0,150, 1, 58,255,144, + 0,150, 5,145,255,211, 0,150, 5,146,255,220, 0,150, 5,147,255, 68, 0,151, 0, 16, 0, 57, 0,151, 0, 17,255,173, 0,151, + 0, 29,255,220, 0,151, 0, 36,255,220, 0,151, 0, 57,255,220, 0,151, 0, 59,255,125, 0,151, 0, 60,255,144, 0,151, 0,109, +255,220, 0,151, 0,130,255,220, 0,151, 0,131,255,220, 0,151, 0,132,255,220, 0,151, 0,133,255,220, 0,151, 0,134,255,220, + 0,151, 0,159,255,144, 0,151, 1, 58,255,144, 0,151, 5,145,255,211, 0,151, 5,146,255,220, 0,151, 5,147,255, 68, 0,152, + 0, 16, 0, 57, 0,152, 0, 17,255,173, 0,152, 0, 29,255,220, 0,152, 0, 36,255,220, 0,152, 0, 57,255,220, 0,152, 0, 59, +255,125, 0,152, 0, 60,255,144, 0,152, 0,109,255,220, 0,152, 0,130,255,220, 0,152, 0,131,255,220, 0,152, 0,132,255,220, + 0,152, 0,133,255,220, 0,152, 0,134,255,220, 0,152, 0,159,255,144, 0,152, 1, 58,255,144, 0,152, 5,145,255,211, 0,152, + 5,146,255,220, 0,152, 5,147,255, 68, 0,155, 0, 61,255,220, 0,155, 1, 63,255,220, 0,156, 0, 61,255,220, 0,156, 1, 63, +255,220, 0,157, 0, 61,255,220, 0,157, 1, 63,255,220, 0,158, 0, 61,255,220, 0,158, 1, 63,255,220, 0,159, 0, 16,255, 13, + 0,159, 0, 17,254, 97, 0,159, 0, 29,254,240, 0,159, 0, 36,255, 97, 0,159, 0, 38,255,144, 0,159, 0, 50,255,144, 0,159, + 0, 68,254,230, 0,159, 0, 72,254,240, 0,159, 0, 76,255,183, 0,159, 0, 82,254,240, 0,159, 0, 88,255, 21, 0,159, 0,109, +255, 31, 0,159, 0,125,255,107, 0,159, 0,130,255, 97, 0,159, 0,131,255, 97, 0,159, 0,132,255, 97, 0,159, 0,133,255, 97, + 0,159, 0,134,255, 97, 0,159, 0,137,255,144, 0,159, 0,148,255,144, 0,159, 0,149,255,144, 0,159, 0,150,255,144, 0,159, + 0,151,255,144, 0,159, 0,152,255,144, 0,159, 0,162,254,230, 0,159, 0,163,254,230, 0,159, 0,164,254,230, 0,159, 0,165, +254,230, 0,159, 0,166,254,230, 0,159, 0,167,254,230, 0,159, 0,170,254,240, 0,159, 0,171,254,240, 0,159, 0,172,254,240, + 0,159, 0,173,254,240, 0,159, 0,180,254,240, 0,159, 0,181,254,240, 0,159, 0,182,254,240, 0,159, 0,183,254,240, 0,159, + 0,184,254,240, 0,159, 0,187,255, 21, 0,159, 0,188,255, 21, 0,159, 0,189,255, 21, 0,159, 0,190,255, 21, 0,159, 0,200, +255,144, 0,159, 0,206,255,144, 0,159, 0,221,254,240, 0,159, 1, 49,255, 21, 0,159, 5,145,255,144, 0,159, 5,146,255,220, + 0,159, 5,147,254,248, 0,160, 0, 17,255,107, 0,160, 0, 29,255,183, 0,160, 5,145,255,220, 0,160, 5,147,255, 68, 0,161, + 0, 16, 0, 38, 0,161, 5,145,255,144, 0,161, 5,146,255,144, 0,161, 5,147,255,173, 0,170, 0, 91,255,220, 0,171, 0, 91, +255,220, 0,172, 0, 91,255,220, 0,173, 0, 91,255,220, 0,178, 5,145,255,164, 0,178, 5,146,255,144, 0,178, 5,147,255,183, + 0,179, 5,145,255,107, 0,179, 5,146,255,144, 0,179, 5,147,255,164, 0,180, 0, 16, 0, 38, 0,180, 0, 17,255,220, 0,180, + 0, 91,255,193, 0,180, 5,145,255,107, 0,180, 5,146,255,183, 0,180, 5,147,255,125, 0,181, 0, 16, 0, 38, 0,181, 0, 17, +255,220, 0,181, 0, 91,255,193, 0,181, 5,145,255,107, 0,181, 5,146,255,183, 0,181, 5,147,255,125, 0,182, 0, 16, 0, 38, + 0,182, 0, 17,255,220, 0,182, 0, 91,255,193, 0,182, 5,145,255,107, 0,182, 5,146,255,183, 0,182, 5,147,255,125, 0,183, + 0, 16, 0, 38, 0,183, 0, 17,255,220, 0,183, 0, 91,255,193, 0,183, 5,145,255,107, 0,183, 5,146,255,183, 0,183, 5,147, +255,125, 0,184, 0, 16, 0, 38, 0,184, 0, 17,255,220, 0,184, 0, 91,255,193, 0,184, 5,145,255,107, 0,184, 5,146,255,183, + 0,184, 5,147,255,125, 0,191, 0, 16,255,220, 0,191, 0, 17,254,220, 0,191, 0, 29,255,107, 0,191, 0,109,255,220, 0,191, + 0,125,255,220, 0,191, 5,147,254,211, 0,193, 0, 16,255,220, 0,193, 0, 17,254,220, 0,193, 0, 29,255,107, 0,193, 0,109, +255,220, 0,193, 0,125,255,220, 0,193, 5,147,254,211, 0,194, 0, 16,255,211, 0,194, 0, 17,255,220, 0,194, 0, 29,255,220, + 0,194, 0, 36, 0, 57, 0,194, 0, 38,255,220, 0,194, 0, 42,255,220, 0,194, 0, 50,255,220, 0,194, 0, 52,255,220, 0,194, + 0, 55,255, 97, 0,194, 0, 57,255,125, 0,194, 0, 58,255,144, 0,194, 0, 60,255, 97, 0,194, 0, 70,255,220, 0,194, 0, 71, +255,220, 0,194, 0, 72,255,220, 0,194, 0, 73,255,183, 0,194, 0, 82,255,220, 0,194, 0, 84,255,220, 0,194, 0, 87,255,220, + 0,194, 0, 89,255,136, 0,194, 0, 90,255,173, 0,194, 0, 92,255,117, 0,194, 0,109,255,183, 0,194, 0,130, 0, 57, 0,194, + 0,131, 0, 57, 0,194, 0,132, 0, 57, 0,194, 0,133, 0, 57, 0,194, 0,134, 0, 57, 0,194, 0,148,255,220, 0,194, 0,149, +255,220, 0,194, 0,150,255,220, 0,194, 0,151,255,220, 0,194, 0,152,255,220, 0,194, 0,159,255, 97, 0,194, 0,169,255,220, + 0,194, 0,170,255,220, 0,194, 0,171,255,220, 0,194, 0,172,255,220, 0,194, 0,173,255,220, 0,194, 0,180,255,220, 0,194, + 0,181,255,220, 0,194, 0,182,255,220, 0,194, 0,183,255,220, 0,194, 0,184,255,220, 0,194, 0,191,255,117, 0,194, 0,193, +255,117, 0,194, 0,194, 0, 57, 0,194, 0,196, 0, 57, 0,194, 0,198, 0, 57, 0,194, 0,200,255,220, 0,194, 0,202,255,220, + 0,194, 0,204,255,220, 0,194, 0,205,255,220, 0,194, 0,206,255,220, 0,194, 0,209,255,220, 0,194, 0,211,255,220, 0,194, + 0,213,255,220, 0,194, 0,215,255,220, 0,194, 0,217,255,220, 0,194, 0,219,255,220, 0,194, 0,221,255,220, 0,194, 0,222, +255,220, 0,194, 0,226,255,220, 0,194, 1, 14,255,220, 0,194, 1, 15,255,220, 0,194, 1, 16,255,220, 0,194, 1, 17,255,220, + 0,194, 1, 18,255,220, 0,194, 1, 19,255,220, 0,194, 1, 36,255, 97, 0,194, 1, 37,255,220, 0,194, 1, 38,255, 97, 0,194, + 1, 39,255,220, 0,194, 1, 54,255,144, 0,194, 1, 55,255,173, 0,194, 1, 56,255, 97, 0,194, 1, 57,255,117, 0,194, 1, 58, +255, 97, 0,194, 1,240,255,220, 0,194, 1,241,255,220, 0,194, 4,252,255,144, 0,194, 4,254,255,144, 0,194, 4,255,255,173, + 0,194, 5, 0,255,144, 0,194, 5, 1,255,173, 0,194, 5,106,255, 97, 0,194, 5,107,255,117, 0,194, 5,145,254,248, 0,194, + 5,146,255, 2, 0,194, 5,147, 0, 47, 0,196, 0, 16,255,211, 0,196, 0, 17,255,220, 0,196, 0, 29,255,220, 0,196, 0, 36, + 0, 57, 0,196, 0, 38,255,220, 0,196, 0, 42,255,220, 0,196, 0, 50,255,220, 0,196, 0, 52,255,220, 0,196, 0, 55,255, 97, + 0,196, 0, 57,255,125, 0,196, 0, 58,255,144, 0,196, 0, 60,255, 97, 0,196, 0, 70,255,220, 0,196, 0, 71,255,220, 0,196, + 0, 72,255,220, 0,196, 0, 73,255,183, 0,196, 0, 82,255,220, 0,196, 0, 84,255,220, 0,196, 0, 87,255,220, 0,196, 0, 89, +255,136, 0,196, 0, 90,255,173, 0,196, 0, 92,255,117, 0,196, 0,109,255,183, 0,196, 0,130, 0, 57, 0,196, 0,131, 0, 57, + 0,196, 0,132, 0, 57, 0,196, 0,133, 0, 57, 0,196, 0,134, 0, 57, 0,196, 0,148,255,220, 0,196, 0,149,255,220, 0,196, + 0,150,255,220, 0,196, 0,151,255,220, 0,196, 0,152,255,220, 0,196, 0,159,255, 97, 0,196, 0,169,255,220, 0,196, 0,170, +255,220, 0,196, 0,171,255,220, 0,196, 0,172,255,220, 0,196, 0,173,255,220, 0,196, 0,180,255,220, 0,196, 0,181,255,220, + 0,196, 0,182,255,220, 0,196, 0,183,255,220, 0,196, 0,184,255,220, 0,196, 0,191,255,117, 0,196, 0,193,255,117, 0,196, + 0,194, 0, 57, 0,196, 0,196, 0, 57, 0,196, 0,198, 0, 57, 0,196, 0,200,255,220, 0,196, 0,202,255,220, 0,196, 0,204, +255,220, 0,196, 0,205,255,220, 0,196, 0,206,255,220, 0,196, 0,209,255,220, 0,196, 0,211,255,220, 0,196, 0,213,255,220, + 0,196, 0,215,255,220, 0,196, 0,217,255,220, 0,196, 0,219,255,220, 0,196, 0,221,255,220, 0,196, 0,222,255,220, 0,196, + 0,226,255,220, 0,196, 1, 14,255,220, 0,196, 1, 15,255,220, 0,196, 1, 16,255,220, 0,196, 1, 17,255,220, 0,196, 1, 18, +255,220, 0,196, 1, 19,255,220, 0,196, 1, 36,255, 97, 0,196, 1, 37,255,220, 0,196, 1, 38,255, 97, 0,196, 1, 39,255,220, + 0,196, 1, 54,255,144, 0,196, 1, 55,255,173, 0,196, 1, 56,255, 97, 0,196, 1, 57,255,117, 0,196, 1, 58,255, 97, 0,196, + 1,240,255,220, 0,196, 1,241,255,220, 0,196, 4,252,255,144, 0,196, 4,254,255,144, 0,196, 4,255,255,173, 0,196, 5, 0, +255,144, 0,196, 5, 1,255,173, 0,196, 5,106,255, 97, 0,196, 5,107,255,117, 0,196, 5,145,254,248, 0,196, 5,146,255, 2, + 0,196, 5,147, 0, 47, 0,198, 0, 16,255,211, 0,198, 0, 17,255,220, 0,198, 0, 29,255,220, 0,198, 0, 36, 0, 57, 0,198, + 0, 38,255,220, 0,198, 0, 42,255,220, 0,198, 0, 50,255,220, 0,198, 0, 52,255,220, 0,198, 0, 55,255, 97, 0,198, 0, 57, +255,125, 0,198, 0, 58,255,144, 0,198, 0, 60,255, 97, 0,198, 0, 70,255,220, 0,198, 0, 71,255,220, 0,198, 0, 72,255,220, + 0,198, 0, 73,255,183, 0,198, 0, 82,255,220, 0,198, 0, 84,255,220, 0,198, 0, 87,255,220, 0,198, 0, 89,255,136, 0,198, + 0, 90,255,173, 0,198, 0,109,255,183, 0,198, 0,130, 0, 57, 0,198, 0,131, 0, 57, 0,198, 0,132, 0, 57, 0,198, 0,133, + 0, 57, 0,198, 0,134, 0, 57, 0,198, 0,148,255,220, 0,198, 0,149,255,220, 0,198, 0,150,255,220, 0,198, 0,151,255,220, + 0,198, 0,152,255,220, 0,198, 0,159,255, 97, 0,198, 0,169,255,220, 0,198, 0,170,255,220, 0,198, 0,171,255,220, 0,198, + 0,172,255,220, 0,198, 0,173,255,220, 0,198, 0,180,255,220, 0,198, 0,181,255,220, 0,198, 0,182,255,220, 0,198, 0,183, +255,220, 0,198, 0,184,255,220, 0,198, 0,194, 0, 57, 0,198, 0,196, 0, 57, 0,198, 0,198, 0, 57, 0,198, 0,200,255,220, + 0,198, 0,202,255,220, 0,198, 0,204,255,220, 0,198, 0,205,255,220, 0,198, 0,206,255,220, 0,198, 0,209,255,220, 0,198, + 0,211,255,220, 0,198, 0,213,255,220, 0,198, 0,215,255,220, 0,198, 0,217,255,220, 0,198, 0,219,255,220, 0,198, 0,221, +255,220, 0,198, 0,222,255,220, 0,198, 0,226,255,220, 0,198, 1, 14,255,220, 0,198, 1, 15,255,220, 0,198, 1, 16,255,220, + 0,198, 1, 17,255,220, 0,198, 1, 19,255,220, 0,198, 1, 36,255, 97, 0,198, 1, 37,255,220, 0,198, 1, 38,255, 97, 0,198, + 1, 39,255,220, 0,198, 1, 54,255,144, 0,198, 1, 55,255,173, 0,198, 1, 56,255, 97, 0,198, 1, 58,255, 97, 0,198, 1,240, +255,220, 0,198, 1,241,255,220, 0,198, 4,252,255,144, 0,198, 4,254,255,144, 0,198, 4,255,255,173, 0,198, 5, 0,255,144, + 0,198, 5, 1,255,173, 0,198, 5,106,255, 97, 0,198, 5,145,254,248, 0,198, 5,146,255, 2, 0,198, 5,147, 0, 47, 0,200, + 0, 60,255,220, 0,200, 0,109,255,220, 0,200, 0,125,255,220, 0,200, 0,159,255,220, 0,200, 1, 58,255,220, 0,200, 5,146, + 0, 38, 0,206, 0, 60,255,220, 0,206, 0,109,255,220, 0,206, 0,125,255,220, 0,206, 0,159,255,220, 0,206, 1, 58,255,220, + 0,206, 5,146, 0, 38, 0,208, 0, 36,255,220, 0,208, 0, 57,255,220, 0,208, 0, 60,255,144, 0,208, 0,109,255,220, 0,208, + 0,125,255,220, 0,208, 0,130,255,220, 0,208, 0,131,255,220, 0,208, 0,132,255,220, 0,208, 0,133,255,220, 0,208, 0,134, +255,220, 0,208, 0,159,255,144, 0,208, 0,194,255,220, 0,208, 0,196,255,220, 0,208, 0,198,255,220, 0,208, 1, 56,255,144, + 0,208, 1, 58,255,144, 0,208, 1,244,255,144, 0,208, 5,106,255,144, 0,208, 5,145,255,211, 0,208, 5,146,255,201, 0,208, + 5,147,255, 68, 0,210, 0, 36,255,220, 0,210, 0, 57,255,220, 0,210, 0, 60,255,144, 0,210, 0,109,255,220, 0,210, 0,125, +255,220, 0,210, 0,130,255,220, 0,210, 0,131,255,220, 0,210, 0,132,255,220, 0,210, 0,133,255,220, 0,210, 0,134,255,220, + 0,210, 0,159,255,144, 0,210, 1, 58,255,144, 0,210, 5,145,255,211, 0,210, 5,146,255,201, 0,210, 5,147,255, 68, 0,221, + 0, 91,255,220, 0,224, 0, 55,255,183, 0,224, 0, 60,255,154, 0,224, 0,109,255,220, 0,224, 0,125,255,220, 0,224, 0,159, +255,154, 0,224, 1, 38,255,183, 0,224, 1, 58,255,154, 0,224, 5,145,255,211, 0,224, 5,146,255,211, 0,224, 5,147,255,201, + 0,251, 0, 16,255,220, 0,251, 0, 36, 0, 47, 0,251, 0, 50,255,183, 0,251, 0, 55,254,230, 0,251, 0, 56,255,154, 0,251, + 0, 57,255, 31, 0,251, 0, 58,255, 68, 0,251, 0, 60,254,240, 0,251, 0, 72,255,220, 0,251, 0, 82,255,220, 0,251, 0, 88, +255,220, 0,251, 0, 92,255, 68, 0,251, 0,130, 0, 47, 0,251, 0,131, 0, 47, 0,251, 0,132, 0, 47, 0,251, 0,133, 0, 47, + 0,251, 0,134, 0, 47, 0,251, 0,148,255,183, 0,251, 0,149,255,183, 0,251, 0,150,255,183, 0,251, 0,151,255,183, 0,251, + 0,152,255,183, 0,251, 0,155,255,154, 0,251, 0,156,255,154, 0,251, 0,157,255,154, 0,251, 0,158,255,154, 0,251, 0,159, +254,240, 0,251, 0,170,255,220, 0,251, 0,171,255,220, 0,251, 0,172,255,220, 0,251, 0,173,255,220, 0,251, 0,180,255,220, + 0,251, 0,181,255,220, 0,251, 0,182,255,220, 0,251, 0,183,255,220, 0,251, 0,184,255,220, 0,251, 0,187,255,220, 0,251, + 0,188,255,220, 0,251, 0,189,255,220, 0,251, 0,190,255,220, 0,251, 0,191,255, 68, 0,251, 0,193,255, 68, 0,251, 0,221, +255,220, 0,251, 1, 38,254,230, 0,251, 1, 48,255,154, 0,251, 1, 49,255,220, 0,251, 1, 58,254,240, 0,251, 5,145,254, 97, + 0,251, 5,146,253,230, 0,255, 0, 16,255,220, 0,255, 0, 36, 0, 47, 0,255, 0, 50,255,183, 0,255, 0, 55,254,230, 0,255, + 0, 56,255,154, 0,255, 0, 57,255, 31, 0,255, 0, 58,255, 68, 0,255, 0, 60,254,240, 0,255, 0, 72,255,220, 0,255, 0, 82, +255,220, 0,255, 0, 88,255,220, 0,255, 0, 92,255, 68, 0,255, 0,130, 0, 47, 0,255, 0,131, 0, 47, 0,255, 0,132, 0, 47, + 0,255, 0,133, 0, 47, 0,255, 0,134, 0, 47, 0,255, 0,148,255,183, 0,255, 0,149,255,183, 0,255, 0,150,255,183, 0,255, + 0,151,255,183, 0,255, 0,152,255,183, 0,255, 0,155,255,154, 0,255, 0,156,255,154, 0,255, 0,157,255,154, 0,255, 0,158, +255,154, 0,255, 0,159,254,240, 0,255, 0,170,255,220, 0,255, 0,171,255,220, 0,255, 0,172,255,220, 0,255, 0,173,255,220, + 0,255, 0,180,255,220, 0,255, 0,181,255,220, 0,255, 0,182,255,220, 0,255, 0,183,255,220, 0,255, 0,184,255,220, 0,255, + 0,187,255,220, 0,255, 0,188,255,220, 0,255, 0,189,255,220, 0,255, 0,190,255,220, 0,255, 0,191,255, 68, 0,255, 0,193, +255, 68, 0,255, 0,221,255,220, 0,255, 1, 38,254,230, 0,255, 1, 48,255,154, 0,255, 1, 49,255,220, 0,255, 1, 58,254,240, + 0,255, 5,145,254, 97, 0,255, 5,146,253,230, 1, 2, 0, 79,255, 63, 1, 10, 5,145,255,107, 1, 10, 5,146,255,144, 1, 10, + 5,147,255,164, 1, 22, 0, 16,255,173, 1, 22, 0, 17,255,183, 1, 22, 0, 29,255,193, 1, 22, 0, 36,255,173, 1, 22, 0, 38, +255,154, 1, 22, 0, 55,255,107, 1, 22, 0, 57,255,144, 1, 22, 0, 58,255,173, 1, 22, 0, 60,255,125, 1, 22, 0, 68,255,211, + 1, 22, 0, 72,255,164, 1, 22, 0, 82,255,164, 1, 22, 0, 88,255,164, 1, 22, 0, 92,255,144, 1, 22, 0,109,255,144, 1, 22, + 0,125,255,220, 1, 22, 0,130,255,173, 1, 22, 0,131,255,173, 1, 22, 0,132,255,173, 1, 22, 0,133,255,173, 1, 22, 0,134, +255,173, 1, 22, 0,137,255,154, 1, 22, 0,159,255,125, 1, 22, 0,162,255,211, 1, 22, 0,163,255,211, 1, 22, 0,164,255,211, + 1, 22, 0,165,255,211, 1, 22, 0,166,255,211, 1, 22, 0,167,255,211, 1, 22, 0,170,255,164, 1, 22, 0,171,255,164, 1, 22, + 0,172,255,164, 1, 22, 0,173,255,164, 1, 22, 0,180,255,164, 1, 22, 0,181,255,164, 1, 22, 0,182,255,164, 1, 22, 0,183, +255,164, 1, 22, 0,184,255,164, 1, 22, 0,187,255,164, 1, 22, 0,188,255,164, 1, 22, 0,189,255,164, 1, 22, 0,190,255,164, + 1, 22, 0,191,255,144, 1, 22, 0,193,255,144, 1, 22, 0,200,255,154, 1, 22, 0,206,255,154, 1, 22, 0,221,255,164, 1, 22, + 1, 38,255,107, 1, 22, 1, 49,255,164, 1, 22, 1, 58,255,125, 1, 22, 5,145,255,107, 1, 22, 5,146,255,125, 1, 22, 5,147, +255,220, 1, 23, 0, 16,255,125, 1, 23, 0, 17,255, 68, 1, 23, 0, 29,255,220, 1, 23, 0, 70,255,211, 1, 23, 0, 71,255,220, + 1, 23, 0, 72,255,211, 1, 23, 0, 74,255,220, 1, 23, 0, 75,255,220, 1, 23, 0, 80,255,220, 1, 23, 0, 81,255,220, 1, 23, + 0, 82,255,211, 1, 23, 0, 84,255,220, 1, 23, 0, 85,255,220, 1, 23, 0, 91,255,201, 1, 23, 0,109,255,183, 1, 23, 0,169, +255,211, 1, 23, 0,170,255,211, 1, 23, 0,171,255,211, 1, 23, 0,172,255,211, 1, 23, 0,173,255,211, 1, 23, 0,179,255,220, + 1, 23, 0,180,255,211, 1, 23, 0,181,255,211, 1, 23, 0,182,255,211, 1, 23, 0,183,255,211, 1, 23, 0,184,255,211, 1, 23, + 0,201,255,211, 1, 23, 0,207,255,211, 1, 23, 0,209, 0, 72, 1, 23, 0,221,255,211, 1, 23, 0,225,255,220, 1, 23, 1, 10, +255,220, 1, 23, 1, 23,255,220, 1, 23, 1, 27,255,220, 1, 23, 5,146, 0, 86, 1, 23, 5,147,254,201, 1, 26, 0, 16,255,173, + 1, 26, 0, 17,255,183, 1, 26, 0, 29,255,193, 1, 26, 0, 36,255,173, 1, 26, 0, 38,255,154, 1, 26, 0, 55,255,107, 1, 26, + 0, 57,255,144, 1, 26, 0, 58,255,173, 1, 26, 0, 60,255,125, 1, 26, 0, 68,255,211, 1, 26, 0, 72,255,164, 1, 26, 0, 82, +255,164, 1, 26, 0, 88,255,164, 1, 26, 0, 92,255,144, 1, 26, 0,109,255,144, 1, 26, 0,125,255,220, 1, 26, 0,130,255,173, + 1, 26, 0,131,255,173, 1, 26, 0,132,255,173, 1, 26, 0,133,255,173, 1, 26, 0,134,255,173, 1, 26, 0,137,255,154, 1, 26, + 0,159,255,125, 1, 26, 0,162,255,211, 1, 26, 0,163,255,211, 1, 26, 0,164,255,211, 1, 26, 0,165,255,211, 1, 26, 0,166, +255,211, 1, 26, 0,167,255,211, 1, 26, 0,170,255,164, 1, 26, 0,171,255,164, 1, 26, 0,172,255,164, 1, 26, 0,173,255,164, + 1, 26, 0,180,255,164, 1, 26, 0,181,255,164, 1, 26, 0,182,255,164, 1, 26, 0,183,255,164, 1, 26, 0,184,255,164, 1, 26, + 0,187,255,164, 1, 26, 0,188,255,164, 1, 26, 0,189,255,164, 1, 26, 0,190,255,164, 1, 26, 0,191,255,144, 1, 26, 0,193, +255,144, 1, 26, 0,200,255,154, 1, 26, 0,206,255,154, 1, 26, 0,221,255,164, 1, 26, 1, 38,255,107, 1, 26, 1, 49,255,164, + 1, 26, 1, 58,255,125, 1, 26, 5,145,255,107, 1, 26, 5,146,255,125, 1, 26, 5,147,255,220, 1, 27, 0, 16,255,125, 1, 27, + 0, 17,255, 68, 1, 27, 0, 29,255,220, 1, 27, 0, 70,255,211, 1, 27, 0, 71,255,220, 1, 27, 0, 72,255,211, 1, 27, 0, 74, +255,220, 1, 27, 0, 75,255,220, 1, 27, 0, 80,255,220, 1, 27, 0, 81,255,220, 1, 27, 0, 82,255,211, 1, 27, 0, 84,255,220, + 1, 27, 0, 85,255,220, 1, 27, 0, 91,255,201, 1, 27, 0,109,255,183, 1, 27, 0,169,255,211, 1, 27, 0,170,255,211, 1, 27, + 0,171,255,211, 1, 27, 0,172,255,211, 1, 27, 0,173,255,211, 1, 27, 0,179,255,220, 1, 27, 0,180,255,211, 1, 27, 0,181, +255,211, 1, 27, 0,182,255,211, 1, 27, 0,183,255,211, 1, 27, 0,184,255,211, 1, 27, 0,201,255,211, 1, 27, 0,207,255,211, + 1, 27, 0,209,255,220, 1, 27, 0,221,255,211, 1, 27, 0,225,255,220, 1, 27, 1, 10,255,220, 1, 27, 1, 23,255,220, 1, 27, + 1, 27,255,220, 1, 27, 5,146, 0, 86, 1, 27, 5,147,254,201, 1, 32, 0, 36, 0, 38, 1, 32, 0,130, 0, 38, 1, 32, 0,131, + 0, 38, 1, 32, 0,132, 0, 38, 1, 32, 0,133, 0, 38, 1, 32, 0,134, 0, 38, 1, 34, 0, 36, 0, 38, 1, 34, 0,130, 0, 38, + 1, 34, 0,131, 0, 38, 1, 34, 0,132, 0, 38, 1, 34, 0,133, 0, 38, 1, 34, 0,134, 0, 38, 1, 38, 0, 16,255, 68, 1, 38, + 0, 17,255, 13, 1, 38, 0, 29,255, 31, 1, 38, 0, 36,255, 97, 1, 38, 0, 38,255,136, 1, 38, 0, 55,255,220, 1, 38, 0, 68, +254,173, 1, 38, 0, 70,254,164, 1, 38, 0, 72,254,164, 1, 38, 0, 76,255,193, 1, 38, 0, 82,254,164, 1, 38, 0, 85,254,211, + 1, 38, 0, 86,254,173, 1, 38, 0, 88,254,201, 1, 38, 0, 90,254,173, 1, 38, 0, 92,254,193, 1, 38, 0,109,255, 68, 1, 38, + 0,125,255,144, 1, 38, 0,130,255, 97, 1, 38, 0,131,255, 97, 1, 38, 0,132,255, 97, 1, 38, 0,133,255, 97, 1, 38, 0,134, +255, 97, 1, 38, 0,137,255,136, 1, 38, 0,162,254,173, 1, 38, 0,163,254,173, 1, 38, 0,164,254,173, 1, 38, 0,165,254,173, + 1, 38, 0,166,254,173, 1, 38, 0,167,254,173, 1, 38, 0,169,254,164, 1, 38, 0,170,254,164, 1, 38, 0,171,254,164, 1, 38, + 0,172,254,164, 1, 38, 0,173,254,164, 1, 38, 0,180,254,164, 1, 38, 0,181,254,164, 1, 38, 0,182,254,164, 1, 38, 0,183, +254,164, 1, 38, 0,184,254,164, 1, 38, 0,187,254,201, 1, 38, 0,188,254,201, 1, 38, 0,189,254,201, 1, 38, 0,190,254,201, + 1, 38, 0,191,254,193, 1, 38, 0,193,254,193, 1, 38, 0,200,255,136, 1, 38, 0,201,254,164, 1, 38, 0,206,255,136, 1, 38, + 0,207,254,164, 1, 38, 0,221,254,164, 1, 38, 1, 23,254,211, 1, 38, 1, 27,254,211, 1, 38, 1, 33,254,173, 1, 38, 1, 35, +254,173, 1, 38, 1, 38,255,220, 1, 38, 1, 49,254,201, 1, 38, 5,146,255,211, 1, 38, 5,147,254,248, 1, 48, 0, 61,255,220, + 1, 48, 1, 63,255,220, 1, 58, 0, 16,255, 13, 1, 58, 0, 17,254, 97, 1, 58, 0, 29,254,240, 1, 58, 0, 36,255, 97, 1, 58, + 0, 38,255,144, 1, 58, 0, 50,255,144, 1, 58, 0, 68,254,230, 1, 58, 0, 72,254,240, 1, 58, 0, 76,255,183, 1, 58, 0, 82, +254,240, 1, 58, 0, 88,255, 21, 1, 58, 0,109,255, 31, 1, 58, 0,125,255,107, 1, 58, 0,130,255, 97, 1, 58, 0,131,255, 97, + 1, 58, 0,132,255, 97, 1, 58, 0,133,255, 97, 1, 58, 0,134,255, 97, 1, 58, 0,137,255,144, 1, 58, 0,148,255,144, 1, 58, + 0,149,255,144, 1, 58, 0,150,255,144, 1, 58, 0,151,255,144, 1, 58, 0,152,255,144, 1, 58, 0,162,254,230, 1, 58, 0,163, +254,230, 1, 58, 0,164,254,230, 1, 58, 0,165,254,230, 1, 58, 0,166,254,230, 1, 58, 0,167,254,230, 1, 58, 0,170,254,240, + 1, 58, 0,171,254,240, 1, 58, 0,172,254,240, 1, 58, 0,173,254,240, 1, 58, 0,180,254,240, 1, 58, 0,181,254,240, 1, 58, + 0,182,254,240, 1, 58, 0,183,254,240, 1, 58, 0,184,254,240, 1, 58, 0,187,255, 21, 1, 58, 0,188,255, 21, 1, 58, 0,189, +255, 21, 1, 58, 0,190,255, 21, 1, 58, 0,200,255,144, 1, 58, 0,206,255,144, 1, 58, 0,221,254,240, 1, 58, 1, 49,255, 21, + 1, 58, 5,145,255,144, 1, 58, 5,146,255,220, 1, 58, 5,147,254,248, 1, 63, 0, 16,255,220, 1, 63, 5,145,255,220, 1, 63, + 5,146,255,220, 1, 63, 5,147,255,220, 5,133, 0, 36,255,211, 5,133, 0, 37,255,183, 5,133, 0, 42, 0, 75, 5,133, 0, 45, + 0,114, 5,133, 0, 50, 0, 57, 5,133, 0, 52, 0, 75, 5,133, 0, 55,255, 68, 5,133, 0, 57,255,136, 5,133, 0, 58,255,173, + 5,133, 0, 59,255,154, 5,133, 0, 60,255, 13, 5,133, 0, 82, 0, 38, 5,133, 0, 89,255,201, 5,133, 0, 92,255,220, 5,133, + 0,130,255,211, 5,133, 0,131,255,211, 5,133, 0,132,255,211, 5,133, 0,133,255,211, 5,133, 0,134,255,211, 5,133, 0,148, + 0, 57, 5,133, 0,149, 0, 57, 5,133, 0,150, 0, 57, 5,133, 0,151, 0, 57, 5,133, 0,152, 0, 57, 5,133, 0,159,255, 13, + 5,133, 0,180, 0, 38, 5,133, 0,181, 0, 38, 5,133, 0,182, 0, 38, 5,133, 0,183, 0, 38, 5,133, 0,184, 0, 38, 5,133, + 0,191,255,220, 5,133, 0,193,255,220, 5,133, 0,224, 0, 75, 5,133, 1, 38,255, 68, 5,133, 1, 58,255, 13, 5,145, 0, 36, +254,248, 5,145, 0, 37,255,193, 5,145, 0, 38,255,183, 5,145, 0, 39,255,193, 5,145, 0, 41,255,193, 5,145, 0, 42,255,183, + 5,145, 0, 43,255,193, 5,145, 0, 45,255,193, 5,145, 0, 46,255,193, 5,145, 0, 47,255,193, 5,145, 0, 50,255,183, 5,145, + 0, 51,255,193, 5,145, 0, 52,255,183, 5,145, 0, 53,255,193, 5,145, 0, 59,255,136, 5,145, 0, 61,255,220, 5,145, 0, 73, +255,183, 5,145, 0, 81,255,144, 5,145, 0, 82,255,107, 5,145, 0, 85,255,144, 5,145, 0, 89,255,183, 5,145, 0, 90,255,183, + 5,145, 0, 92,255,183, 5,145, 0,130,254,248, 5,145, 0,131,254,248, 5,145, 0,132,254,248, 5,145, 0,133,254,248, 5,145, + 0,134,254,248, 5,145, 0,136,254,125, 5,145, 0,137,255,183, 5,145, 0,148,255,183, 5,145, 0,149,255,183, 5,145, 0,150, +255,183, 5,145, 0,151,255,183, 5,145, 0,152,255,183, 5,145, 0,160,255,193, 5,145, 0,161,255,193, 5,145, 0,178,255,183, + 5,145, 0,179,255,144, 5,145, 0,180,255,107, 5,145, 0,181,255,107, 5,145, 0,182,255,107, 5,145, 0,183,255,107, 5,145, + 0,184,255,107, 5,145, 0,191,255,183, 5,145, 0,193,255,183, 5,145, 0,200,255,183, 5,145, 0,206,255,183, 5,145, 0,208, +255,193, 5,145, 0,224,255,183, 5,145, 0,251,255,193, 5,145, 0,255,255,193, 5,145, 1, 10,255,144, 5,145, 1, 22,255,193, + 5,145, 1, 23,255,144, 5,145, 1, 26,255,193, 5,145, 1, 27,255,144, 5,145, 1, 63,255,220, 5,147, 0, 36, 0, 38, 5,147, + 0, 37,255,183, 5,147, 0, 38,255,144, 5,147, 0, 39,255,183, 5,147, 0, 41,255,183, 5,147, 0, 42,255,183, 5,147, 0, 43, +255,183, 5,147, 0, 45, 0, 47, 5,147, 0, 46,255,183, 5,147, 0, 47,255,183, 5,147, 0, 50,255,144, 5,147, 0, 51,255,183, + 5,147, 0, 52,255,144, 5,147, 0, 53,255,183, 5,147, 0, 55,254,230, 5,147, 0, 57,254,136, 5,147, 0, 58,255, 3, 5,147, + 0, 59,255,183, 5,147, 0, 60,254,136, 5,147, 0, 73,255,220, 5,147, 0, 81,255,183, 5,147, 0, 82,255,183, 5,147, 0, 85, +255,183, 5,147, 0, 89,255, 21, 5,147, 0, 90,255, 60, 5,147, 0, 92,255,144, 5,147, 0,130, 0, 38, 5,147, 0,131, 0, 38, + 5,147, 0,132, 0, 38, 5,147, 0,133, 0, 38, 5,147, 0,134, 0, 38, 5,147, 0,136, 0, 38, 5,147, 0,137,255,144, 5,147, + 0,148,255,144, 5,147, 0,149,255,144, 5,147, 0,150,255,144, 5,147, 0,151,255,144, 5,147, 0,152,255,144, 5,147, 0,159, +254,136, 5,147, 0,160,255,183, 5,147, 0,161,255,183, 5,147, 0,178,255,183, 5,147, 0,179,255,183, 5,147, 0,180,255,183, + 5,147, 0,181,255,183, 5,147, 0,182,255,183, 5,147, 0,183,255,183, 5,147, 0,184,255,183, 5,147, 0,191,255,144, 5,147, + 0,193,255,144, 5,147, 0,200,255,144, 5,147, 0,206,255,144, 5,147, 0,208,255,183, 5,147, 0,224,255,183, 5,147, 0,251, +255,183, 5,147, 0,255,255,183, 5,147, 1, 10,255,183, 5,147, 1, 22,255,183, 5,147, 1, 23,255,183, 5,147, 1, 26,255,183, + 5,147, 1, 27,255,183, 5,147, 1, 38,254,230, 5,147, 1, 58,254,136, 0, 0, 0, 0, 0, 61, 2,226, 0, 1, 0, 0, 0, 0, + 0, 0, 0,152, 1, 50, 0, 1, 0, 0, 0, 0, 0, 1, 0, 11, 1,227, 0, 1, 0, 0, 0, 0, 0, 2, 0, 4, 1,249, 0, 1, + 0, 0, 0, 0, 0, 3, 0, 11, 2, 22, 0, 1, 0, 0, 0, 0, 0, 4, 0, 11, 2, 58, 0, 1, 0, 0, 0, 0, 0, 5, 0, 11, + 2, 94, 0, 1, 0, 0, 0, 0, 0, 6, 0, 10, 2,128, 0, 1, 0, 0, 0, 0, 0, 8, 0, 17, 2,175, 0, 1, 0, 0, 0, 0, + 0, 11, 0, 29, 2,253, 0, 1, 0, 0, 0, 0, 0, 13, 18,157, 40, 87, 0, 1, 0, 0, 0, 0, 0, 14, 0, 52, 59, 95, 0, 1, + 0, 0, 0, 0, 1, 0, 0, 24, 59,148, 0, 1, 0, 0, 0, 0, 1, 1, 0, 9, 60, 27, 0, 1, 0, 0, 0, 0, 1, 2, 0, 18, + 60, 76, 0, 1, 0, 0, 0, 0, 1, 3, 0, 9, 60,139, 0, 1, 0, 0, 0, 0, 1, 4, 0, 17, 60,167, 0, 1, 0, 0, 0, 0, + 1, 5, 0, 16, 61, 22, 0, 1, 0, 0, 0, 0, 1, 6, 0, 14, 61,125, 0, 1, 0, 0, 0, 0, 1, 7, 0, 7, 61,207, 0, 1, + 0, 0, 0, 0, 1, 8, 0, 18, 61,245, 0, 1, 0, 0, 0, 1, 1, 0, 0, 24, 59,173, 0, 1, 0, 0, 0, 1, 1, 1, 0, 9, + 60, 37, 0, 1, 0, 0, 0, 1, 1, 2, 0, 23, 60, 95, 0, 1, 0, 0, 0, 1, 1, 3, 0, 9, 60,149, 0, 1, 0, 0, 0, 1, + 1, 4, 0, 31, 60,185, 0, 1, 0, 0, 0, 1, 1, 5, 0, 18, 61, 39, 0, 1, 0, 0, 0, 1, 1, 6, 0, 15, 61,140, 0, 1, + 0, 0, 0, 1, 1, 7, 0, 21, 61,215, 0, 1, 0, 0, 0, 1, 1, 8, 0, 22, 62, 8, 0, 1, 0, 0, 0, 2, 1, 0, 0, 33, + 59,198, 0, 1, 0, 0, 0, 2, 1, 1, 0, 9, 60, 47, 0, 1, 0, 0, 0, 2, 1, 4, 0, 23, 60,217, 0, 1, 0, 0, 0, 2, + 1, 5, 0, 17, 61, 58, 0, 1, 0, 0, 0, 2, 1, 6, 0, 17, 61,156, 0, 1, 0, 0, 0, 2, 1, 8, 0, 16, 62, 31, 0, 1, + 0, 0, 0, 3, 1, 0, 0, 21, 59,232, 0, 1, 0, 0, 0, 3, 1, 1, 0, 8, 60, 57, 0, 1, 0, 0, 0, 3, 1, 4, 0, 17, + 60,241, 0, 1, 0, 0, 0, 3, 1, 5, 0, 19, 61, 76, 0, 1, 0, 0, 0, 3, 1, 6, 0, 13, 61,174, 0, 1, 0, 0, 0, 3, + 1, 8, 0, 18, 62, 48, 0, 1, 0, 0, 0, 4, 1, 0, 0, 28, 59,254, 0, 1, 0, 0, 0, 4, 1, 1, 0, 9, 60, 66, 0, 1, + 0, 0, 0, 4, 1, 2, 0, 19, 60,119, 0, 1, 0, 0, 0, 4, 1, 3, 0, 7, 60,159, 0, 1, 0, 0, 0, 4, 1, 4, 0, 18, + 61, 3, 0, 1, 0, 0, 0, 4, 1, 5, 0, 28, 61, 96, 0, 1, 0, 0, 0, 4, 1, 6, 0, 18, 61,188, 0, 1, 0, 0, 0, 4, + 1, 7, 0, 7, 61,237, 0, 1, 0, 0, 0, 4, 1, 8, 0, 17, 62, 67, 0, 3, 0, 1, 4, 9, 0, 0, 1, 48, 0, 0, 0, 3, + 0, 1, 4, 9, 0, 1, 0, 22, 1,203, 0, 3, 0, 1, 4, 9, 0, 2, 0, 8, 1,239, 0, 3, 0, 1, 4, 9, 0, 3, 0, 22, + 1,254, 0, 3, 0, 1, 4, 9, 0, 4, 0, 22, 2, 34, 0, 3, 0, 1, 4, 9, 0, 5, 0, 22, 2, 70, 0, 3, 0, 1, 4, 9, + 0, 6, 0, 20, 2,106, 0, 3, 0, 1, 4, 9, 0, 8, 0, 34, 2,139, 0, 3, 0, 1, 4, 9, 0, 11, 0, 58, 2,193, 0, 3, + 0, 1, 4, 9, 0, 13, 37, 58, 3, 27, 0, 3, 0, 1, 4, 9, 0, 14, 0,104, 58,245, 0, 67, 0,111, 0,112, 0,121, 0,114, + 0,105, 0,103, 0,104, 0,116, 0, 32, 0, 40, 0, 99, 0, 41, 0, 32, 0, 50, 0, 48, 0, 48, 0, 51, 0, 32, 0, 98, 0,121, + 0, 32, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 44, 0, 32, 0, 73, 0,110, 0, 99, 0, 46, + 0, 32, 0, 65, 0,108, 0,108, 0, 32, 0, 82, 0,105, 0,103, 0,104, 0,116, 0,115, 0, 32, 0, 82, 0,101, 0,115, 0,101, + 0,114, 0,118, 0,101, 0,100, 0, 46, 0, 10, 0, 67, 0,111, 0,112, 0,121, 0,114, 0,105, 0,103, 0,104, 0,116, 0, 32, + 0, 40, 0, 99, 0, 41, 0, 32, 0, 50, 0, 48, 0, 48, 0, 54, 0, 32, 0, 98, 0,121, 0, 32, 0, 84, 0, 97, 0,118, 0,109, + 0,106, 0,111, 0,110, 0,103, 0, 32, 0, 66, 0, 97, 0,104, 0, 46, 0, 32, 0, 65, 0,108, 0,108, 0, 32, 0, 82, 0,105, + 0,103, 0,104, 0,116, 0,115, 0, 32, 0, 82, 0,101, 0,115, 0,101, 0,114, 0,118, 0,101, 0,100, 0, 46, 0, 10, 0, 68, + 0,101, 0,106, 0, 97, 0, 86, 0,117, 0, 32, 0, 99, 0,104, 0, 97, 0,110, 0,103, 0,101, 0,115, 0, 32, 0, 97, 0,114, + 0,101, 0, 32, 0,105, 0,110, 0, 32, 0,112, 0,117, 0, 98, 0,108, 0,105, 0, 99, 0, 32, 0,100, 0,111, 0,109, 0, 97, + 0,105, 0,110, 0, 10, 0, 0, 67,111,112,121,114,105,103,104,116, 32, 40, 99, 41, 32, 50, 48, 48, 51, 32, 98,121, 32, 66,105, +116,115,116,114,101, 97,109, 44, 32, 73,110, 99, 46, 32, 65,108,108, 32, 82,105,103,104,116,115, 32, 82,101,115,101,114,118,101, +100, 46, 10, 67,111,112,121,114,105,103,104,116, 32, 40, 99, 41, 32, 50, 48, 48, 54, 32, 98,121, 32, 84, 97,118,109,106,111,110, +103, 32, 66, 97,104, 46, 32, 65,108,108, 32, 82,105,103,104,116,115, 32, 82,101,115,101,114,118,101,100, 46, 10, 68,101,106, 97, + 86,117, 32, 99,104, 97,110,103,101,115, 32, 97,114,101, 32,105,110, 32,112,117, 98,108,105, 99, 32,100,111,109, 97,105,110, 10, + 0, 0, 68, 0,101, 0,106, 0, 97, 0, 86, 0,117, 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 0, 68,101,106, 97, 86,117, 32, + 83, 97,110,115, 0, 0, 66, 0,111, 0,111, 0,107, 0, 0, 66,111,111,107, 0, 0, 68, 0,101, 0,106, 0, 97, 0, 86, 0,117, + 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 0, 68,101,106, 97, 86,117, 32, 83, 97,110,115, 0, 0, 68, 0,101, 0,106, 0, 97, + 0, 86, 0,117, 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 0, 68,101,106, 97, 86,117, 32, 83, 97,110,115, 0, 0, 86, 0,101, + 0,114, 0,115, 0,105, 0,111, 0,110, 0, 32, 0, 50, 0, 46, 0, 56, 0, 0, 86,101,114,115,105,111,110, 32, 50, 46, 56, 0, + 0, 68, 0,101, 0,106, 0, 97, 0, 86, 0,117, 0, 83, 0, 97, 0,110, 0,115, 0, 0, 68,101,106, 97, 86,117, 83, 97,110,115, + 0, 0, 68, 0,101, 0,106, 0, 97, 0, 86, 0,117, 0, 32, 0,102, 0,111, 0,110, 0,116, 0,115, 0, 32, 0,116, 0,101, 0, + 97, 0,109, 0, 0, 68,101,106, 97, 86,117, 32,102,111,110,116,115, 32,116,101, 97,109, 0, 0,104, 0,116, 0,116, 0,112, 0, + 58, 0, 47, 0, 47, 0,100, 0,101, 0,106, 0, 97, 0,118, 0,117, 0, 46, 0,115, 0,111, 0,117, 0,114, 0, 99, 0,101, 0, +102, 0,111, 0,114, 0,103, 0,101, 0, 46, 0,110, 0,101, 0,116, 0, 0,104,116,116,112, 58, 47, 47,100,101,106, 97,118,117, + 46,115,111,117,114, 99,101,102,111,114,103,101, 46,110,101,116, 0, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 32, 0, 97, 0, +114, 0,101, 0, 32, 0, 40, 0, 99, 0, 41, 0, 32, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, + 32, 0, 40, 0,115, 0,101, 0,101, 0, 32, 0, 98, 0,101, 0,108, 0,111, 0,119, 0, 41, 0, 46, 0, 32, 0, 68, 0,101, 0, +106, 0, 97, 0, 86, 0,117, 0, 32, 0, 99, 0,104, 0, 97, 0,110, 0,103, 0,101, 0,115, 0, 32, 0, 97, 0,114, 0,101, 0, + 32, 0,105, 0,110, 0, 32, 0,112, 0,117, 0, 98, 0,108, 0,105, 0, 99, 0, 32, 0,100, 0,111, 0,109, 0, 97, 0,105, 0, +110, 0, 46, 0, 32, 0, 71, 0,108, 0,121, 0,112, 0,104, 0,115, 0, 32, 0,105, 0,109, 0,112, 0,111, 0,114, 0,116, 0, +101, 0,100, 0, 32, 0,102, 0,114, 0,111, 0,109, 0, 32, 0, 65, 0,114, 0,101, 0,118, 0, 32, 0,102, 0,111, 0,110, 0, +116, 0,115, 0, 32, 0, 97, 0,114, 0,101, 0, 32, 0, 40, 0, 99, 0, 41, 0, 32, 0, 84, 0, 97, 0,118, 0,109, 0,106, 0, +117, 0,110, 0,103, 0, 32, 0, 66, 0, 97, 0,104, 0, 32, 0, 40, 0,115, 0,101, 0,101, 0, 32, 0, 98, 0,101, 0,108, 0, +111, 0,119, 0, 41, 0, 10, 0, 10, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 32, 0, 86, 0, +101, 0,114, 0, 97, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 32, 0, 67, 0,111, 0,112, 0,121, 0,114, 0,105, 0, +103, 0,104, 0,116, 0, 10, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, + 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, + 45, 0, 45, 0, 10, 0, 10, 0, 67, 0,111, 0,112, 0,121, 0,114, 0,105, 0,103, 0,104, 0,116, 0, 32, 0, 40, 0, 99, 0, + 41, 0, 32, 0, 50, 0, 48, 0, 48, 0, 51, 0, 32, 0, 98, 0,121, 0, 32, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0, +101, 0, 97, 0,109, 0, 44, 0, 32, 0, 73, 0,110, 0, 99, 0, 46, 0, 32, 0, 65, 0,108, 0,108, 0, 32, 0, 82, 0,105, 0, +103, 0,104, 0,116, 0,115, 0, 32, 0, 82, 0,101, 0,115, 0,101, 0,114, 0,118, 0,101, 0,100, 0, 46, 0, 32, 0, 66, 0, +105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 32, 0, 86, 0,101, 0,114, 0, 97, 0, 32, 0,105, 0,115, 0, + 10, 0, 97, 0, 32, 0,116, 0,114, 0, 97, 0,100, 0,101, 0,109, 0, 97, 0,114, 0,107, 0, 32, 0,111, 0,102, 0, 32, 0, + 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 44, 0, 32, 0, 73, 0,110, 0, 99, 0, 46, 0, 10, 0, + 10, 0, 80, 0,101, 0,114, 0,109, 0,105, 0,115, 0,115, 0,105, 0,111, 0,110, 0, 32, 0,105, 0,115, 0, 32, 0,104, 0, +101, 0,114, 0,101, 0, 98, 0,121, 0, 32, 0,103, 0,114, 0, 97, 0,110, 0,116, 0,101, 0,100, 0, 44, 0, 32, 0,102, 0, +114, 0,101, 0,101, 0, 32, 0,111, 0,102, 0, 32, 0, 99, 0,104, 0, 97, 0,114, 0,103, 0,101, 0, 44, 0, 32, 0,116, 0, +111, 0, 32, 0, 97, 0,110, 0,121, 0, 32, 0,112, 0,101, 0,114, 0,115, 0,111, 0,110, 0, 32, 0,111, 0, 98, 0,116, 0, + 97, 0,105, 0,110, 0,105, 0,110, 0,103, 0, 32, 0, 97, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0, 10, 0,111, 0,102, 0, + 32, 0,116, 0,104, 0,101, 0, 32, 0,102, 0,111, 0,110, 0,116, 0,115, 0, 32, 0, 97, 0, 99, 0, 99, 0,111, 0,109, 0, +112, 0, 97, 0,110, 0,121, 0,105, 0,110, 0,103, 0, 32, 0,116, 0,104, 0,105, 0,115, 0, 32, 0,108, 0,105, 0, 99, 0, +101, 0,110, 0,115, 0,101, 0, 32, 0, 40, 0, 34, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 34, 0, 41, 0, 32, 0, 97, 0, +110, 0,100, 0, 32, 0, 97, 0,115, 0,115, 0,111, 0, 99, 0,105, 0, 97, 0,116, 0,101, 0,100, 0, 10, 0,100, 0,111, 0, + 99, 0,117, 0,109, 0,101, 0,110, 0,116, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 32, 0,102, 0,105, 0,108, 0,101, 0, +115, 0, 32, 0, 40, 0,116, 0,104, 0,101, 0, 32, 0, 34, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0, +116, 0,119, 0, 97, 0,114, 0,101, 0, 34, 0, 41, 0, 44, 0, 32, 0,116, 0,111, 0, 32, 0,114, 0,101, 0,112, 0,114, 0, +111, 0,100, 0,117, 0, 99, 0,101, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,100, 0,105, 0,115, 0,116, 0,114, 0,105, 0, + 98, 0,117, 0,116, 0,101, 0, 32, 0,116, 0,104, 0,101, 0, 10, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0, +102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 44, 0, 32, 0,105, 0,110, 0, 99, 0,108, 0,117, 0,100, 0,105, 0,110, 0, +103, 0, 32, 0,119, 0,105, 0,116, 0,104, 0,111, 0,117, 0,116, 0, 32, 0,108, 0,105, 0,109, 0,105, 0,116, 0, 97, 0, +116, 0,105, 0,111, 0,110, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,114, 0,105, 0,103, 0,104, 0,116, 0,115, 0, 32, 0, +116, 0,111, 0, 32, 0,117, 0,115, 0,101, 0, 44, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0, 44, 0, 32, 0,109, 0,101, 0, +114, 0,103, 0,101, 0, 44, 0, 10, 0,112, 0,117, 0, 98, 0,108, 0,105, 0,115, 0,104, 0, 44, 0, 32, 0,100, 0,105, 0, +115, 0,116, 0,114, 0,105, 0, 98, 0,117, 0,116, 0,101, 0, 44, 0, 32, 0, 97, 0,110, 0,100, 0, 47, 0,111, 0,114, 0, + 32, 0,115, 0,101, 0,108, 0,108, 0, 32, 0, 99, 0,111, 0,112, 0,105, 0,101, 0,115, 0, 32, 0,111, 0,102, 0, 32, 0, +116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0, +101, 0, 44, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,116, 0,111, 0, 32, 0,112, 0,101, 0,114, 0,109, 0,105, 0,116, 0, + 10, 0,112, 0,101, 0,114, 0,115, 0,111, 0,110, 0,115, 0, 32, 0,116, 0,111, 0, 32, 0,119, 0,104, 0,111, 0,109, 0, + 32, 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0, +114, 0,101, 0, 32, 0,105, 0,115, 0, 32, 0,102, 0,117, 0,114, 0,110, 0,105, 0,115, 0,104, 0,101, 0,100, 0, 32, 0, +116, 0,111, 0, 32, 0,100, 0,111, 0, 32, 0,115, 0,111, 0, 44, 0, 32, 0,115, 0,117, 0, 98, 0,106, 0,101, 0, 99, 0, +116, 0, 32, 0,116, 0,111, 0, 32, 0,116, 0,104, 0,101, 0, 10, 0,102, 0,111, 0,108, 0,108, 0,111, 0,119, 0,105, 0, +110, 0,103, 0, 32, 0, 99, 0,111, 0,110, 0,100, 0,105, 0,116, 0,105, 0,111, 0,110, 0,115, 0, 58, 0, 10, 0, 10, 0, + 84, 0,104, 0,101, 0, 32, 0, 97, 0, 98, 0,111, 0,118, 0,101, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0,114, 0,105, 0, +103, 0,104, 0,116, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,116, 0,114, 0, 97, 0,100, 0,101, 0,109, 0, 97, 0,114, 0, +107, 0, 32, 0,110, 0,111, 0,116, 0,105, 0, 99, 0,101, 0,115, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,116, 0,104, 0, +105, 0,115, 0, 32, 0,112, 0,101, 0,114, 0,109, 0,105, 0,115, 0,115, 0,105, 0,111, 0,110, 0, 32, 0,110, 0,111, 0, +116, 0,105, 0, 99, 0,101, 0, 32, 0,115, 0,104, 0, 97, 0,108, 0,108, 0, 10, 0, 98, 0,101, 0, 32, 0,105, 0,110, 0, + 99, 0,108, 0,117, 0,100, 0,101, 0,100, 0, 32, 0,105, 0,110, 0, 32, 0, 97, 0,108, 0,108, 0, 32, 0, 99, 0,111, 0, +112, 0,105, 0,101, 0,115, 0, 32, 0,111, 0,102, 0, 32, 0,111, 0,110, 0,101, 0, 32, 0,111, 0,114, 0, 32, 0,109, 0, +111, 0,114, 0,101, 0, 32, 0,111, 0,102, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, + 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,116, 0,121, 0,112, 0,101, 0,102, 0, 97, 0, 99, 0, +101, 0,115, 0, 46, 0, 10, 0, 10, 0, 84, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0, +102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0,109, 0,111, 0, +100, 0,105, 0,102, 0,105, 0,101, 0,100, 0, 44, 0, 32, 0, 97, 0,108, 0,116, 0,101, 0,114, 0,101, 0,100, 0, 44, 0, + 32, 0,111, 0,114, 0, 32, 0, 97, 0,100, 0,100, 0,101, 0,100, 0, 32, 0,116, 0,111, 0, 44, 0, 32, 0, 97, 0,110, 0, +100, 0, 32, 0,105, 0,110, 0, 32, 0,112, 0, 97, 0,114, 0,116, 0,105, 0, 99, 0,117, 0,108, 0, 97, 0,114, 0, 10, 0, +116, 0,104, 0,101, 0, 32, 0,100, 0,101, 0,115, 0,105, 0,103, 0,110, 0,115, 0, 32, 0,111, 0,102, 0, 32, 0,103, 0, +108, 0,121, 0,112, 0,104, 0,115, 0, 32, 0,111, 0,114, 0, 32, 0, 99, 0,104, 0, 97, 0,114, 0, 97, 0, 99, 0,116, 0, +101, 0,114, 0,115, 0, 32, 0,105, 0,110, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, + 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0,109, 0,111, 0,100, 0,105, 0,102, 0,105, 0,101, 0,100, 0, + 32, 0, 97, 0,110, 0,100, 0, 10, 0, 97, 0,100, 0,100, 0,105, 0,116, 0,105, 0,111, 0,110, 0, 97, 0,108, 0, 32, 0, +103, 0,108, 0,121, 0,112, 0,104, 0,115, 0, 32, 0,111, 0,114, 0, 32, 0, 99, 0,104, 0, 97, 0,114, 0, 97, 0, 99, 0, +116, 0,101, 0,114, 0,115, 0, 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0, 97, 0,100, 0,100, 0,101, 0, +100, 0, 32, 0,116, 0,111, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 44, 0, 32, 0, +111, 0,110, 0,108, 0,121, 0, 32, 0,105, 0,102, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,102, 0,111, 0,110, 0,116, 0, +115, 0, 10, 0, 97, 0,114, 0,101, 0, 32, 0,114, 0,101, 0,110, 0, 97, 0,109, 0,101, 0,100, 0, 32, 0,116, 0,111, 0, + 32, 0,110, 0, 97, 0,109, 0,101, 0,115, 0, 32, 0,110, 0,111, 0,116, 0, 32, 0, 99, 0,111, 0,110, 0,116, 0, 97, 0, +105, 0,110, 0,105, 0,110, 0,103, 0, 32, 0,101, 0,105, 0,116, 0,104, 0,101, 0,114, 0, 32, 0,116, 0,104, 0,101, 0, + 32, 0,119, 0,111, 0,114, 0,100, 0,115, 0, 32, 0, 34, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0, +109, 0, 34, 0, 32, 0,111, 0,114, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,119, 0,111, 0,114, 0,100, 0, 10, 0, 34, 0, + 86, 0,101, 0,114, 0, 97, 0, 34, 0, 46, 0, 10, 0, 10, 0, 84, 0,104, 0,105, 0,115, 0, 32, 0, 76, 0,105, 0, 99, 0, +101, 0,110, 0,115, 0,101, 0, 32, 0, 98, 0,101, 0, 99, 0,111, 0,109, 0,101, 0,115, 0, 32, 0,110, 0,117, 0,108, 0, +108, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,118, 0,111, 0,105, 0,100, 0, 32, 0,116, 0,111, 0, 32, 0,116, 0,104, 0, +101, 0, 32, 0,101, 0,120, 0,116, 0,101, 0,110, 0,116, 0, 32, 0, 97, 0,112, 0,112, 0,108, 0,105, 0, 99, 0, 97, 0, + 98, 0,108, 0,101, 0, 32, 0,116, 0,111, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 32, 0,111, 0,114, 0, 32, 0, + 70, 0,111, 0,110, 0,116, 0, 10, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,116, 0,104, 0, + 97, 0,116, 0, 32, 0,104, 0, 97, 0,115, 0, 32, 0, 98, 0,101, 0,101, 0,110, 0, 32, 0,109, 0,111, 0,100, 0,105, 0, +102, 0,105, 0,101, 0,100, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,105, 0,115, 0, 32, 0,100, 0,105, 0,115, 0,116, 0, +114, 0,105, 0, 98, 0,117, 0,116, 0,101, 0,100, 0, 32, 0,117, 0,110, 0,100, 0,101, 0,114, 0, 32, 0,116, 0,104, 0, +101, 0, 32, 0, 34, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 10, 0, 86, 0,101, 0,114, 0, + 97, 0, 34, 0, 32, 0,110, 0, 97, 0,109, 0,101, 0,115, 0, 46, 0, 10, 0, 10, 0, 84, 0,104, 0,101, 0, 32, 0, 70, 0, +111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,109, 0, 97, 0,121, 0, + 32, 0, 98, 0,101, 0, 32, 0,115, 0,111, 0,108, 0,100, 0, 32, 0, 97, 0,115, 0, 32, 0,112, 0, 97, 0,114, 0,116, 0, + 32, 0,111, 0,102, 0, 32, 0, 97, 0, 32, 0,108, 0, 97, 0,114, 0,103, 0,101, 0,114, 0, 32, 0,115, 0,111, 0,102, 0, +116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,112, 0, 97, 0, 99, 0,107, 0, 97, 0,103, 0,101, 0, 32, 0, 98, 0,117, 0, +116, 0, 32, 0,110, 0,111, 0, 10, 0, 99, 0,111, 0,112, 0,121, 0, 32, 0,111, 0,102, 0, 32, 0,111, 0,110, 0,101, 0, + 32, 0,111, 0,114, 0, 32, 0,109, 0,111, 0,114, 0,101, 0, 32, 0,111, 0,102, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, + 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,116, 0,121, 0, +112, 0,101, 0,102, 0, 97, 0, 99, 0,101, 0,115, 0, 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0,115, 0, +111, 0,108, 0,100, 0, 32, 0, 98, 0,121, 0, 32, 0,105, 0,116, 0,115, 0,101, 0,108, 0,102, 0, 46, 0, 10, 0, 10, 0, + 84, 0, 72, 0, 69, 0, 32, 0, 70, 0, 79, 0, 78, 0, 84, 0, 32, 0, 83, 0, 79, 0, 70, 0, 84, 0, 87, 0, 65, 0, 82, 0, + 69, 0, 32, 0, 73, 0, 83, 0, 32, 0, 80, 0, 82, 0, 79, 0, 86, 0, 73, 0, 68, 0, 69, 0, 68, 0, 32, 0, 34, 0, 65, 0, + 83, 0, 32, 0, 73, 0, 83, 0, 34, 0, 44, 0, 32, 0, 87, 0, 73, 0, 84, 0, 72, 0, 79, 0, 85, 0, 84, 0, 32, 0, 87, 0, + 65, 0, 82, 0, 82, 0, 65, 0, 78, 0, 84, 0, 89, 0, 32, 0, 79, 0, 70, 0, 32, 0, 65, 0, 78, 0, 89, 0, 32, 0, 75, 0, + 73, 0, 78, 0, 68, 0, 44, 0, 32, 0, 69, 0, 88, 0, 80, 0, 82, 0, 69, 0, 83, 0, 83, 0, 10, 0, 79, 0, 82, 0, 32, 0, + 73, 0, 77, 0, 80, 0, 76, 0, 73, 0, 69, 0, 68, 0, 44, 0, 32, 0, 73, 0, 78, 0, 67, 0, 76, 0, 85, 0, 68, 0, 73, 0, + 78, 0, 71, 0, 32, 0, 66, 0, 85, 0, 84, 0, 32, 0, 78, 0, 79, 0, 84, 0, 32, 0, 76, 0, 73, 0, 77, 0, 73, 0, 84, 0, + 69, 0, 68, 0, 32, 0, 84, 0, 79, 0, 32, 0, 65, 0, 78, 0, 89, 0, 32, 0, 87, 0, 65, 0, 82, 0, 82, 0, 65, 0, 78, 0, + 84, 0, 73, 0, 69, 0, 83, 0, 32, 0, 79, 0, 70, 0, 32, 0, 77, 0, 69, 0, 82, 0, 67, 0, 72, 0, 65, 0, 78, 0, 84, 0, + 65, 0, 66, 0, 73, 0, 76, 0, 73, 0, 84, 0, 89, 0, 44, 0, 10, 0, 70, 0, 73, 0, 84, 0, 78, 0, 69, 0, 83, 0, 83, 0, + 32, 0, 70, 0, 79, 0, 82, 0, 32, 0, 65, 0, 32, 0, 80, 0, 65, 0, 82, 0, 84, 0, 73, 0, 67, 0, 85, 0, 76, 0, 65, 0, + 82, 0, 32, 0, 80, 0, 85, 0, 82, 0, 80, 0, 79, 0, 83, 0, 69, 0, 32, 0, 65, 0, 78, 0, 68, 0, 32, 0, 78, 0, 79, 0, + 78, 0, 73, 0, 78, 0, 70, 0, 82, 0, 73, 0, 78, 0, 71, 0, 69, 0, 77, 0, 69, 0, 78, 0, 84, 0, 32, 0, 79, 0, 70, 0, + 32, 0, 67, 0, 79, 0, 80, 0, 89, 0, 82, 0, 73, 0, 71, 0, 72, 0, 84, 0, 44, 0, 32, 0, 80, 0, 65, 0, 84, 0, 69, 0, + 78, 0, 84, 0, 44, 0, 10, 0, 84, 0, 82, 0, 65, 0, 68, 0, 69, 0, 77, 0, 65, 0, 82, 0, 75, 0, 44, 0, 32, 0, 79, 0, + 82, 0, 32, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 32, 0, 82, 0, 73, 0, 71, 0, 72, 0, 84, 0, 46, 0, 32, 0, 73, 0, + 78, 0, 32, 0, 78, 0, 79, 0, 32, 0, 69, 0, 86, 0, 69, 0, 78, 0, 84, 0, 32, 0, 83, 0, 72, 0, 65, 0, 76, 0, 76, 0, + 32, 0, 66, 0, 73, 0, 84, 0, 83, 0, 84, 0, 82, 0, 69, 0, 65, 0, 77, 0, 32, 0, 79, 0, 82, 0, 32, 0, 84, 0, 72, 0, + 69, 0, 32, 0, 71, 0, 78, 0, 79, 0, 77, 0, 69, 0, 10, 0, 70, 0, 79, 0, 85, 0, 78, 0, 68, 0, 65, 0, 84, 0, 73, 0, + 79, 0, 78, 0, 32, 0, 66, 0, 69, 0, 32, 0, 76, 0, 73, 0, 65, 0, 66, 0, 76, 0, 69, 0, 32, 0, 70, 0, 79, 0, 82, 0, + 32, 0, 65, 0, 78, 0, 89, 0, 32, 0, 67, 0, 76, 0, 65, 0, 73, 0, 77, 0, 44, 0, 32, 0, 68, 0, 65, 0, 77, 0, 65, 0, + 71, 0, 69, 0, 83, 0, 32, 0, 79, 0, 82, 0, 32, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 32, 0, 76, 0, 73, 0, 65, 0, + 66, 0, 73, 0, 76, 0, 73, 0, 84, 0, 89, 0, 44, 0, 32, 0, 73, 0, 78, 0, 67, 0, 76, 0, 85, 0, 68, 0, 73, 0, 78, 0, + 71, 0, 10, 0, 65, 0, 78, 0, 89, 0, 32, 0, 71, 0, 69, 0, 78, 0, 69, 0, 82, 0, 65, 0, 76, 0, 44, 0, 32, 0, 83, 0, + 80, 0, 69, 0, 67, 0, 73, 0, 65, 0, 76, 0, 44, 0, 32, 0, 73, 0, 78, 0, 68, 0, 73, 0, 82, 0, 69, 0, 67, 0, 84, 0, + 44, 0, 32, 0, 73, 0, 78, 0, 67, 0, 73, 0, 68, 0, 69, 0, 78, 0, 84, 0, 65, 0, 76, 0, 44, 0, 32, 0, 79, 0, 82, 0, + 32, 0, 67, 0, 79, 0, 78, 0, 83, 0, 69, 0, 81, 0, 85, 0, 69, 0, 78, 0, 84, 0, 73, 0, 65, 0, 76, 0, 32, 0, 68, 0, + 65, 0, 77, 0, 65, 0, 71, 0, 69, 0, 83, 0, 44, 0, 10, 0, 87, 0, 72, 0, 69, 0, 84, 0, 72, 0, 69, 0, 82, 0, 32, 0, + 73, 0, 78, 0, 32, 0, 65, 0, 78, 0, 32, 0, 65, 0, 67, 0, 84, 0, 73, 0, 79, 0, 78, 0, 32, 0, 79, 0, 70, 0, 32, 0, + 67, 0, 79, 0, 78, 0, 84, 0, 82, 0, 65, 0, 67, 0, 84, 0, 44, 0, 32, 0, 84, 0, 79, 0, 82, 0, 84, 0, 32, 0, 79, 0, + 82, 0, 32, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 87, 0, 73, 0, 83, 0, 69, 0, 44, 0, 32, 0, 65, 0, 82, 0, 73, 0, + 83, 0, 73, 0, 78, 0, 71, 0, 32, 0, 70, 0, 82, 0, 79, 0, 77, 0, 44, 0, 32, 0, 79, 0, 85, 0, 84, 0, 32, 0, 79, 0, + 70, 0, 10, 0, 84, 0, 72, 0, 69, 0, 32, 0, 85, 0, 83, 0, 69, 0, 32, 0, 79, 0, 82, 0, 32, 0, 73, 0, 78, 0, 65, 0, + 66, 0, 73, 0, 76, 0, 73, 0, 84, 0, 89, 0, 32, 0, 84, 0, 79, 0, 32, 0, 85, 0, 83, 0, 69, 0, 32, 0, 84, 0, 72, 0, + 69, 0, 32, 0, 70, 0, 79, 0, 78, 0, 84, 0, 32, 0, 83, 0, 79, 0, 70, 0, 84, 0, 87, 0, 65, 0, 82, 0, 69, 0, 32, 0, + 79, 0, 82, 0, 32, 0, 70, 0, 82, 0, 79, 0, 77, 0, 32, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 32, 0, 68, 0, 69, 0, + 65, 0, 76, 0, 73, 0, 78, 0, 71, 0, 83, 0, 32, 0, 73, 0, 78, 0, 32, 0, 84, 0, 72, 0, 69, 0, 10, 0, 70, 0, 79, 0, + 78, 0, 84, 0, 32, 0, 83, 0, 79, 0, 70, 0, 84, 0, 87, 0, 65, 0, 82, 0, 69, 0, 46, 0, 10, 0, 10, 0, 69, 0,120, 0, + 99, 0,101, 0,112, 0,116, 0, 32, 0, 97, 0,115, 0, 32, 0, 99, 0,111, 0,110, 0,116, 0, 97, 0,105, 0,110, 0,101, 0, +100, 0, 32, 0,105, 0,110, 0, 32, 0,116, 0,104, 0,105, 0,115, 0, 32, 0,110, 0,111, 0,116, 0,105, 0, 99, 0,101, 0, + 44, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,110, 0, 97, 0,109, 0,101, 0,115, 0, 32, 0,111, 0,102, 0, 32, 0, 71, 0, +110, 0,111, 0,109, 0,101, 0, 44, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 71, 0,110, 0,111, 0,109, 0,101, 0, 10, 0, + 70, 0,111, 0,117, 0,110, 0,100, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 44, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0, + 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 32, 0, 73, 0,110, 0, 99, 0, 46, 0, 44, 0, 32, 0, +115, 0,104, 0, 97, 0,108, 0,108, 0, 32, 0,110, 0,111, 0,116, 0, 32, 0, 98, 0,101, 0, 32, 0,117, 0,115, 0,101, 0, +100, 0, 32, 0,105, 0,110, 0, 32, 0, 97, 0,100, 0,118, 0,101, 0,114, 0,116, 0,105, 0,115, 0,105, 0,110, 0,103, 0, + 32, 0,111, 0,114, 0, 10, 0,111, 0,116, 0,104, 0,101, 0,114, 0,119, 0,105, 0,115, 0,101, 0, 32, 0,116, 0,111, 0, + 32, 0,112, 0,114, 0,111, 0,109, 0,111, 0,116, 0,101, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,115, 0, 97, 0,108, 0, +101, 0, 44, 0, 32, 0,117, 0,115, 0,101, 0, 32, 0,111, 0,114, 0, 32, 0,111, 0,116, 0,104, 0,101, 0,114, 0, 32, 0, +100, 0,101, 0, 97, 0,108, 0,105, 0,110, 0,103, 0,115, 0, 32, 0,105, 0,110, 0, 32, 0,116, 0,104, 0,105, 0,115, 0, + 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 10, 0,119, 0, +105, 0,116, 0,104, 0,111, 0,117, 0,116, 0, 32, 0,112, 0,114, 0,105, 0,111, 0,114, 0, 32, 0,119, 0,114, 0,105, 0, +116, 0,116, 0,101, 0,110, 0, 32, 0, 97, 0,117, 0,116, 0,104, 0,111, 0,114, 0,105, 0,122, 0, 97, 0,116, 0,105, 0, +111, 0,110, 0, 32, 0,102, 0,114, 0,111, 0,109, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 71, 0,110, 0,111, 0,109, 0, +101, 0, 32, 0, 70, 0,111, 0,117, 0,110, 0,100, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 32, 0,111, 0,114, 0, 32, 0, + 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 10, 0, 73, 0,110, 0, 99, 0, 46, 0, 44, 0, 32, 0, +114, 0,101, 0,115, 0,112, 0,101, 0, 99, 0,116, 0,105, 0,118, 0,101, 0,108, 0,121, 0, 46, 0, 32, 0, 70, 0,111, 0, +114, 0, 32, 0,102, 0,117, 0,114, 0,116, 0,104, 0,101, 0,114, 0, 32, 0,105, 0,110, 0,102, 0,111, 0,114, 0,109, 0, + 97, 0,116, 0,105, 0,111, 0,110, 0, 44, 0, 32, 0, 99, 0,111, 0,110, 0,116, 0, 97, 0, 99, 0,116, 0, 58, 0, 32, 0, +102, 0,111, 0,110, 0,116, 0,115, 0, 32, 0, 97, 0,116, 0, 32, 0,103, 0,110, 0,111, 0,109, 0,101, 0, 32, 0,100, 0, +111, 0,116, 0, 10, 0,111, 0,114, 0,103, 0, 46, 0, 32, 0, 10, 0, 10, 0, 65, 0,114, 0,101, 0,118, 0, 32, 0, 70, 0, +111, 0,110, 0,116, 0,115, 0, 32, 0, 67, 0,111, 0,112, 0,121, 0,114, 0,105, 0,103, 0,104, 0,116, 0, 10, 0, 45, 0, + 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, + 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 10, 0, 10, 0, 67, 0, +111, 0,112, 0,121, 0,114, 0,105, 0,103, 0,104, 0,116, 0, 32, 0, 40, 0, 99, 0, 41, 0, 32, 0, 50, 0, 48, 0, 48, 0, + 54, 0, 32, 0, 98, 0,121, 0, 32, 0, 84, 0, 97, 0,118, 0,109, 0,106, 0,111, 0,110, 0,103, 0, 32, 0, 66, 0, 97, 0, +104, 0, 46, 0, 32, 0, 65, 0,108, 0,108, 0, 32, 0, 82, 0,105, 0,103, 0,104, 0,116, 0,115, 0, 32, 0, 82, 0,101, 0, +115, 0,101, 0,114, 0,118, 0,101, 0,100, 0, 46, 0, 10, 0, 10, 0, 80, 0,101, 0,114, 0,109, 0,105, 0,115, 0,115, 0, +105, 0,111, 0,110, 0, 32, 0,105, 0,115, 0, 32, 0,104, 0,101, 0,114, 0,101, 0, 98, 0,121, 0, 32, 0,103, 0,114, 0, + 97, 0,110, 0,116, 0,101, 0,100, 0, 44, 0, 32, 0,102, 0,114, 0,101, 0,101, 0, 32, 0,111, 0,102, 0, 32, 0, 99, 0, +104, 0, 97, 0,114, 0,103, 0,101, 0, 44, 0, 32, 0,116, 0,111, 0, 32, 0, 97, 0,110, 0,121, 0, 32, 0,112, 0,101, 0, +114, 0,115, 0,111, 0,110, 0, 32, 0,111, 0, 98, 0,116, 0, 97, 0,105, 0,110, 0,105, 0,110, 0,103, 0, 10, 0, 97, 0, + 32, 0, 99, 0,111, 0,112, 0,121, 0, 32, 0,111, 0,102, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,102, 0,111, 0,110, 0, +116, 0,115, 0, 32, 0, 97, 0, 99, 0, 99, 0,111, 0,109, 0,112, 0, 97, 0,110, 0,121, 0,105, 0,110, 0,103, 0, 32, 0, +116, 0,104, 0,105, 0,115, 0, 32, 0,108, 0,105, 0, 99, 0,101, 0,110, 0,115, 0,101, 0, 32, 0, 40, 0, 34, 0, 70, 0, +111, 0,110, 0,116, 0,115, 0, 34, 0, 41, 0, 32, 0, 97, 0,110, 0,100, 0, 10, 0, 97, 0,115, 0,115, 0,111, 0, 99, 0, +105, 0, 97, 0,116, 0,101, 0,100, 0, 32, 0,100, 0,111, 0, 99, 0,117, 0,109, 0,101, 0,110, 0,116, 0, 97, 0,116, 0, +105, 0,111, 0,110, 0, 32, 0,102, 0,105, 0,108, 0,101, 0,115, 0, 32, 0, 40, 0,116, 0,104, 0,101, 0, 32, 0, 34, 0, + 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 34, 0, 41, 0, 44, 0, + 32, 0,116, 0,111, 0, 32, 0,114, 0,101, 0,112, 0,114, 0,111, 0,100, 0,117, 0, 99, 0,101, 0, 10, 0, 97, 0,110, 0, +100, 0, 32, 0,100, 0,105, 0,115, 0,116, 0,114, 0,105, 0, 98, 0,117, 0,116, 0,101, 0, 32, 0,116, 0,104, 0,101, 0, + 32, 0,109, 0,111, 0,100, 0,105, 0,102, 0,105, 0, 99, 0, 97, 0,116, 0,105, 0,111, 0,110, 0,115, 0, 32, 0,116, 0, +111, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 32, 0, + 86, 0,101, 0,114, 0, 97, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0, +114, 0,101, 0, 44, 0, 10, 0,105, 0,110, 0, 99, 0,108, 0,117, 0,100, 0,105, 0,110, 0,103, 0, 32, 0,119, 0,105, 0, +116, 0,104, 0,111, 0,117, 0,116, 0, 32, 0,108, 0,105, 0,109, 0,105, 0,116, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, + 32, 0,116, 0,104, 0,101, 0, 32, 0,114, 0,105, 0,103, 0,104, 0,116, 0,115, 0, 32, 0,116, 0,111, 0, 32, 0,117, 0, +115, 0,101, 0, 44, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0, 44, 0, 32, 0,109, 0,101, 0,114, 0,103, 0,101, 0, 44, 0, + 32, 0,112, 0,117, 0, 98, 0,108, 0,105, 0,115, 0,104, 0, 44, 0, 10, 0,100, 0,105, 0,115, 0,116, 0,114, 0,105, 0, + 98, 0,117, 0,116, 0,101, 0, 44, 0, 32, 0, 97, 0,110, 0,100, 0, 47, 0,111, 0,114, 0, 32, 0,115, 0,101, 0,108, 0, +108, 0, 32, 0, 99, 0,111, 0,112, 0,105, 0,101, 0,115, 0, 32, 0,111, 0,102, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, + 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 44, 0, 32, 0, 97, 0, +110, 0,100, 0, 32, 0,116, 0,111, 0, 32, 0,112, 0,101, 0,114, 0,109, 0,105, 0,116, 0, 10, 0,112, 0,101, 0,114, 0, +115, 0,111, 0,110, 0,115, 0, 32, 0,116, 0,111, 0, 32, 0,119, 0,104, 0,111, 0,109, 0, 32, 0,116, 0,104, 0,101, 0, + 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,105, 0, +115, 0, 32, 0,102, 0,117, 0,114, 0,110, 0,105, 0,115, 0,104, 0,101, 0,100, 0, 32, 0,116, 0,111, 0, 32, 0,100, 0, +111, 0, 32, 0,115, 0,111, 0, 44, 0, 32, 0,115, 0,117, 0, 98, 0,106, 0,101, 0, 99, 0,116, 0, 32, 0,116, 0,111, 0, + 10, 0,116, 0,104, 0,101, 0, 32, 0,102, 0,111, 0,108, 0,108, 0,111, 0,119, 0,105, 0,110, 0,103, 0, 32, 0, 99, 0, +111, 0,110, 0,100, 0,105, 0,116, 0,105, 0,111, 0,110, 0,115, 0, 58, 0, 10, 0, 10, 0, 84, 0,104, 0,101, 0, 32, 0, + 97, 0, 98, 0,111, 0,118, 0,101, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0,114, 0,105, 0,103, 0,104, 0,116, 0, 32, 0, + 97, 0,110, 0,100, 0, 32, 0,116, 0,114, 0, 97, 0,100, 0,101, 0,109, 0, 97, 0,114, 0,107, 0, 32, 0,110, 0,111, 0, +116, 0,105, 0, 99, 0,101, 0,115, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,116, 0,104, 0,105, 0,115, 0, 32, 0,112, 0, +101, 0,114, 0,109, 0,105, 0,115, 0,115, 0,105, 0,111, 0,110, 0, 32, 0,110, 0,111, 0,116, 0,105, 0, 99, 0,101, 0, + 10, 0,115, 0,104, 0, 97, 0,108, 0,108, 0, 32, 0, 98, 0,101, 0, 32, 0,105, 0,110, 0, 99, 0,108, 0,117, 0,100, 0, +101, 0,100, 0, 32, 0,105, 0,110, 0, 32, 0, 97, 0,108, 0,108, 0, 32, 0, 99, 0,111, 0,112, 0,105, 0,101, 0,115, 0, + 32, 0,111, 0,102, 0, 32, 0,111, 0,110, 0,101, 0, 32, 0,111, 0,114, 0, 32, 0,109, 0,111, 0,114, 0,101, 0, 32, 0, +111, 0,102, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0, +119, 0, 97, 0,114, 0,101, 0, 10, 0,116, 0,121, 0,112, 0,101, 0,102, 0, 97, 0, 99, 0,101, 0,115, 0, 46, 0, 10, 0, + 10, 0, 84, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0, +114, 0,101, 0, 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0,109, 0,111, 0,100, 0,105, 0,102, 0,105, 0, +101, 0,100, 0, 44, 0, 32, 0, 97, 0,108, 0,116, 0,101, 0,114, 0,101, 0,100, 0, 44, 0, 32, 0,111, 0,114, 0, 32, 0, + 97, 0,100, 0,100, 0,101, 0,100, 0, 32, 0,116, 0,111, 0, 44, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,105, 0,110, 0, + 10, 0,112, 0, 97, 0,114, 0,116, 0,105, 0, 99, 0,117, 0,108, 0, 97, 0,114, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, +100, 0,101, 0,115, 0,105, 0,103, 0,110, 0,115, 0, 32, 0,111, 0,102, 0, 32, 0,103, 0,108, 0,121, 0,112, 0,104, 0, +115, 0, 32, 0,111, 0,114, 0, 32, 0, 99, 0,104, 0, 97, 0,114, 0, 97, 0, 99, 0,116, 0,101, 0,114, 0,115, 0, 32, 0, +105, 0,110, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 32, 0,109, 0, 97, 0,121, 0, + 32, 0, 98, 0,101, 0, 10, 0,109, 0,111, 0,100, 0,105, 0,102, 0,105, 0,101, 0,100, 0, 32, 0, 97, 0,110, 0,100, 0, + 32, 0, 97, 0,100, 0,100, 0,105, 0,116, 0,105, 0,111, 0,110, 0, 97, 0,108, 0, 32, 0,103, 0,108, 0,121, 0,112, 0, +104, 0,115, 0, 32, 0,111, 0,114, 0, 32, 0, 99, 0,104, 0, 97, 0,114, 0, 97, 0, 99, 0,116, 0,101, 0,114, 0,115, 0, + 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0, 97, 0,100, 0,100, 0,101, 0,100, 0, 32, 0,116, 0,111, 0, + 32, 0,116, 0,104, 0,101, 0, 10, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 44, 0, 32, 0,111, 0,110, 0,108, 0,121, 0, + 32, 0,105, 0,102, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,102, 0,111, 0,110, 0,116, 0,115, 0, 32, 0, 97, 0,114, 0, +101, 0, 32, 0,114, 0,101, 0,110, 0, 97, 0,109, 0,101, 0,100, 0, 32, 0,116, 0,111, 0, 32, 0,110, 0, 97, 0,109, 0, +101, 0,115, 0, 32, 0,110, 0,111, 0,116, 0, 32, 0, 99, 0,111, 0,110, 0,116, 0, 97, 0,105, 0,110, 0,105, 0,110, 0, +103, 0, 32, 0,101, 0,105, 0,116, 0,104, 0,101, 0,114, 0, 10, 0,116, 0,104, 0,101, 0, 32, 0,119, 0,111, 0,114, 0, +100, 0,115, 0, 32, 0, 34, 0, 84, 0, 97, 0,118, 0,109, 0,106, 0,111, 0,110, 0,103, 0, 32, 0, 66, 0, 97, 0,104, 0, + 34, 0, 32, 0,111, 0,114, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,119, 0,111, 0,114, 0,100, 0, 32, 0, 34, 0, 65, 0, +114, 0,101, 0,118, 0, 34, 0, 46, 0, 10, 0, 10, 0, 84, 0,104, 0,105, 0,115, 0, 32, 0, 76, 0,105, 0, 99, 0,101, 0, +110, 0,115, 0,101, 0, 32, 0, 98, 0,101, 0, 99, 0,111, 0,109, 0,101, 0,115, 0, 32, 0,110, 0,117, 0,108, 0,108, 0, + 32, 0, 97, 0,110, 0,100, 0, 32, 0,118, 0,111, 0,105, 0,100, 0, 32, 0,116, 0,111, 0, 32, 0,116, 0,104, 0,101, 0, + 32, 0,101, 0,120, 0,116, 0,101, 0,110, 0,116, 0, 32, 0, 97, 0,112, 0,112, 0,108, 0,105, 0, 99, 0, 97, 0, 98, 0, +108, 0,101, 0, 32, 0,116, 0,111, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 10, 0,111, 0,114, 0, 32, 0, 70, 0, +111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,116, 0,104, 0, 97, 0, +116, 0, 32, 0,104, 0, 97, 0,115, 0, 32, 0, 98, 0,101, 0,101, 0,110, 0, 32, 0,109, 0,111, 0,100, 0,105, 0,102, 0, +105, 0,101, 0,100, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,105, 0,115, 0, 32, 0,100, 0,105, 0,115, 0,116, 0,114, 0, +105, 0, 98, 0,117, 0,116, 0,101, 0,100, 0, 32, 0,117, 0,110, 0,100, 0,101, 0,114, 0, 32, 0,116, 0,104, 0,101, 0, + 32, 0, 10, 0, 34, 0, 84, 0, 97, 0,118, 0,109, 0,106, 0,111, 0,110, 0,103, 0, 32, 0, 66, 0, 97, 0,104, 0, 32, 0, + 65, 0,114, 0,101, 0,118, 0, 34, 0, 32, 0,110, 0, 97, 0,109, 0,101, 0,115, 0, 46, 0, 10, 0, 10, 0, 84, 0,104, 0, +101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0, +109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0,115, 0,111, 0,108, 0,100, 0, 32, 0, 97, 0,115, 0, 32, 0,112, 0, + 97, 0,114, 0,116, 0, 32, 0,111, 0,102, 0, 32, 0, 97, 0, 32, 0,108, 0, 97, 0,114, 0,103, 0,101, 0,114, 0, 32, 0, +115, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,112, 0, 97, 0, 99, 0,107, 0, 97, 0,103, 0,101, 0, + 32, 0, 98, 0,117, 0,116, 0, 10, 0,110, 0,111, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0, 32, 0,111, 0,102, 0, 32, 0, +111, 0,110, 0,101, 0, 32, 0,111, 0,114, 0, 32, 0,109, 0,111, 0,114, 0,101, 0, 32, 0,111, 0,102, 0, 32, 0,116, 0, +104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, + 32, 0,116, 0,121, 0,112, 0,101, 0,102, 0, 97, 0, 99, 0,101, 0,115, 0, 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0, +101, 0, 32, 0,115, 0,111, 0,108, 0,100, 0, 32, 0, 98, 0,121, 0, 10, 0,105, 0,116, 0,115, 0,101, 0,108, 0,102, 0, + 46, 0, 10, 0, 10, 0, 84, 0, 72, 0, 69, 0, 32, 0, 70, 0, 79, 0, 78, 0, 84, 0, 32, 0, 83, 0, 79, 0, 70, 0, 84, 0, + 87, 0, 65, 0, 82, 0, 69, 0, 32, 0, 73, 0, 83, 0, 32, 0, 80, 0, 82, 0, 79, 0, 86, 0, 73, 0, 68, 0, 69, 0, 68, 0, + 32, 0, 34, 0, 65, 0, 83, 0, 32, 0, 73, 0, 83, 0, 34, 0, 44, 0, 32, 0, 87, 0, 73, 0, 84, 0, 72, 0, 79, 0, 85, 0, + 84, 0, 32, 0, 87, 0, 65, 0, 82, 0, 82, 0, 65, 0, 78, 0, 84, 0, 89, 0, 32, 0, 79, 0, 70, 0, 32, 0, 65, 0, 78, 0, + 89, 0, 32, 0, 75, 0, 73, 0, 78, 0, 68, 0, 44, 0, 10, 0, 69, 0, 88, 0, 80, 0, 82, 0, 69, 0, 83, 0, 83, 0, 32, 0, + 79, 0, 82, 0, 32, 0, 73, 0, 77, 0, 80, 0, 76, 0, 73, 0, 69, 0, 68, 0, 44, 0, 32, 0, 73, 0, 78, 0, 67, 0, 76, 0, + 85, 0, 68, 0, 73, 0, 78, 0, 71, 0, 32, 0, 66, 0, 85, 0, 84, 0, 32, 0, 78, 0, 79, 0, 84, 0, 32, 0, 76, 0, 73, 0, + 77, 0, 73, 0, 84, 0, 69, 0, 68, 0, 32, 0, 84, 0, 79, 0, 32, 0, 65, 0, 78, 0, 89, 0, 32, 0, 87, 0, 65, 0, 82, 0, + 82, 0, 65, 0, 78, 0, 84, 0, 73, 0, 69, 0, 83, 0, 32, 0, 79, 0, 70, 0, 10, 0, 77, 0, 69, 0, 82, 0, 67, 0, 72, 0, + 65, 0, 78, 0, 84, 0, 65, 0, 66, 0, 73, 0, 76, 0, 73, 0, 84, 0, 89, 0, 44, 0, 32, 0, 70, 0, 73, 0, 84, 0, 78, 0, + 69, 0, 83, 0, 83, 0, 32, 0, 70, 0, 79, 0, 82, 0, 32, 0, 65, 0, 32, 0, 80, 0, 65, 0, 82, 0, 84, 0, 73, 0, 67, 0, + 85, 0, 76, 0, 65, 0, 82, 0, 32, 0, 80, 0, 85, 0, 82, 0, 80, 0, 79, 0, 83, 0, 69, 0, 32, 0, 65, 0, 78, 0, 68, 0, + 32, 0, 78, 0, 79, 0, 78, 0, 73, 0, 78, 0, 70, 0, 82, 0, 73, 0, 78, 0, 71, 0, 69, 0, 77, 0, 69, 0, 78, 0, 84, 0, + 10, 0, 79, 0, 70, 0, 32, 0, 67, 0, 79, 0, 80, 0, 89, 0, 82, 0, 73, 0, 71, 0, 72, 0, 84, 0, 44, 0, 32, 0, 80, 0, + 65, 0, 84, 0, 69, 0, 78, 0, 84, 0, 44, 0, 32, 0, 84, 0, 82, 0, 65, 0, 68, 0, 69, 0, 77, 0, 65, 0, 82, 0, 75, 0, + 44, 0, 32, 0, 79, 0, 82, 0, 32, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 32, 0, 82, 0, 73, 0, 71, 0, 72, 0, 84, 0, + 46, 0, 32, 0, 73, 0, 78, 0, 32, 0, 78, 0, 79, 0, 32, 0, 69, 0, 86, 0, 69, 0, 78, 0, 84, 0, 32, 0, 83, 0, 72, 0, + 65, 0, 76, 0, 76, 0, 10, 0, 84, 0, 65, 0, 86, 0, 77, 0, 74, 0, 79, 0, 78, 0, 71, 0, 32, 0, 66, 0, 65, 0, 72, 0, + 32, 0, 66, 0, 69, 0, 32, 0, 76, 0, 73, 0, 65, 0, 66, 0, 76, 0, 69, 0, 32, 0, 70, 0, 79, 0, 82, 0, 32, 0, 65, 0, + 78, 0, 89, 0, 32, 0, 67, 0, 76, 0, 65, 0, 73, 0, 77, 0, 44, 0, 32, 0, 68, 0, 65, 0, 77, 0, 65, 0, 71, 0, 69, 0, + 83, 0, 32, 0, 79, 0, 82, 0, 32, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 32, 0, 76, 0, 73, 0, 65, 0, 66, 0, 73, 0, + 76, 0, 73, 0, 84, 0, 89, 0, 44, 0, 10, 0, 73, 0, 78, 0, 67, 0, 76, 0, 85, 0, 68, 0, 73, 0, 78, 0, 71, 0, 32, 0, + 65, 0, 78, 0, 89, 0, 32, 0, 71, 0, 69, 0, 78, 0, 69, 0, 82, 0, 65, 0, 76, 0, 44, 0, 32, 0, 83, 0, 80, 0, 69, 0, + 67, 0, 73, 0, 65, 0, 76, 0, 44, 0, 32, 0, 73, 0, 78, 0, 68, 0, 73, 0, 82, 0, 69, 0, 67, 0, 84, 0, 44, 0, 32, 0, + 73, 0, 78, 0, 67, 0, 73, 0, 68, 0, 69, 0, 78, 0, 84, 0, 65, 0, 76, 0, 44, 0, 32, 0, 79, 0, 82, 0, 32, 0, 67, 0, + 79, 0, 78, 0, 83, 0, 69, 0, 81, 0, 85, 0, 69, 0, 78, 0, 84, 0, 73, 0, 65, 0, 76, 0, 10, 0, 68, 0, 65, 0, 77, 0, + 65, 0, 71, 0, 69, 0, 83, 0, 44, 0, 32, 0, 87, 0, 72, 0, 69, 0, 84, 0, 72, 0, 69, 0, 82, 0, 32, 0, 73, 0, 78, 0, + 32, 0, 65, 0, 78, 0, 32, 0, 65, 0, 67, 0, 84, 0, 73, 0, 79, 0, 78, 0, 32, 0, 79, 0, 70, 0, 32, 0, 67, 0, 79, 0, + 78, 0, 84, 0, 82, 0, 65, 0, 67, 0, 84, 0, 44, 0, 32, 0, 84, 0, 79, 0, 82, 0, 84, 0, 32, 0, 79, 0, 82, 0, 32, 0, + 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 87, 0, 73, 0, 83, 0, 69, 0, 44, 0, 32, 0, 65, 0, 82, 0, 73, 0, 83, 0, 73, 0, + 78, 0, 71, 0, 10, 0, 70, 0, 82, 0, 79, 0, 77, 0, 44, 0, 32, 0, 79, 0, 85, 0, 84, 0, 32, 0, 79, 0, 70, 0, 32, 0, + 84, 0, 72, 0, 69, 0, 32, 0, 85, 0, 83, 0, 69, 0, 32, 0, 79, 0, 82, 0, 32, 0, 73, 0, 78, 0, 65, 0, 66, 0, 73, 0, + 76, 0, 73, 0, 84, 0, 89, 0, 32, 0, 84, 0, 79, 0, 32, 0, 85, 0, 83, 0, 69, 0, 32, 0, 84, 0, 72, 0, 69, 0, 32, 0, + 70, 0, 79, 0, 78, 0, 84, 0, 32, 0, 83, 0, 79, 0, 70, 0, 84, 0, 87, 0, 65, 0, 82, 0, 69, 0, 32, 0, 79, 0, 82, 0, + 32, 0, 70, 0, 82, 0, 79, 0, 77, 0, 10, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 32, 0, 68, 0, 69, 0, 65, 0, 76, 0, + 73, 0, 78, 0, 71, 0, 83, 0, 32, 0, 73, 0, 78, 0, 32, 0, 84, 0, 72, 0, 69, 0, 32, 0, 70, 0, 79, 0, 78, 0, 84, 0, + 32, 0, 83, 0, 79, 0, 70, 0, 84, 0, 87, 0, 65, 0, 82, 0, 69, 0, 46, 0, 10, 0, 10, 0, 69, 0,120, 0, 99, 0,101, 0, +112, 0,116, 0, 32, 0, 97, 0,115, 0, 32, 0, 99, 0,111, 0,110, 0,116, 0, 97, 0,105, 0,110, 0,101, 0,100, 0, 32, 0, +105, 0,110, 0, 32, 0,116, 0,104, 0,105, 0,115, 0, 32, 0,110, 0,111, 0,116, 0,105, 0, 99, 0,101, 0, 44, 0, 32, 0, +116, 0,104, 0,101, 0, 32, 0,110, 0, 97, 0,109, 0,101, 0, 32, 0,111, 0,102, 0, 32, 0, 84, 0, 97, 0,118, 0,109, 0, +106, 0,111, 0,110, 0,103, 0, 32, 0, 66, 0, 97, 0,104, 0, 32, 0,115, 0,104, 0, 97, 0,108, 0,108, 0, 32, 0,110, 0, +111, 0,116, 0, 10, 0, 98, 0,101, 0, 32, 0,117, 0,115, 0,101, 0,100, 0, 32, 0,105, 0,110, 0, 32, 0, 97, 0,100, 0, +118, 0,101, 0,114, 0,116, 0,105, 0,115, 0,105, 0,110, 0,103, 0, 32, 0,111, 0,114, 0, 32, 0,111, 0,116, 0,104, 0, +101, 0,114, 0,119, 0,105, 0,115, 0,101, 0, 32, 0,116, 0,111, 0, 32, 0,112, 0,114, 0,111, 0,109, 0,111, 0,116, 0, +101, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,115, 0, 97, 0,108, 0,101, 0, 44, 0, 32, 0,117, 0,115, 0,101, 0, 32, 0, +111, 0,114, 0, 32, 0,111, 0,116, 0,104, 0,101, 0,114, 0, 10, 0,100, 0,101, 0, 97, 0,108, 0,105, 0,110, 0,103, 0, +115, 0, 32, 0,105, 0,110, 0, 32, 0,116, 0,104, 0,105, 0,115, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0, +111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,119, 0,105, 0,116, 0,104, 0,111, 0,117, 0,116, 0, 32, 0, +112, 0,114, 0,105, 0,111, 0,114, 0, 32, 0,119, 0,114, 0,105, 0,116, 0,116, 0,101, 0,110, 0, 32, 0, 97, 0,117, 0, +116, 0,104, 0,111, 0,114, 0,105, 0,122, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 10, 0,102, 0,114, 0,111, 0,109, 0, + 32, 0, 84, 0, 97, 0,118, 0,109, 0,106, 0,111, 0,110, 0,103, 0, 32, 0, 66, 0, 97, 0,104, 0, 46, 0, 32, 0, 70, 0, +111, 0,114, 0, 32, 0,102, 0,117, 0,114, 0,116, 0,104, 0,101, 0,114, 0, 32, 0,105, 0,110, 0,102, 0,111, 0,114, 0, +109, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 44, 0, 32, 0, 99, 0,111, 0,110, 0,116, 0, 97, 0, 99, 0,116, 0, 58, 0, + 32, 0,116, 0, 97, 0,118, 0,109, 0,106, 0,111, 0,110, 0,103, 0, 32, 0, 64, 0, 32, 0,102, 0,114, 0,101, 0,101, 0, + 10, 0, 46, 0, 32, 0,102, 0,114, 0, 46, 0, 0, 70,111,110,116,115, 32, 97,114,101, 32, 40, 99, 41, 32, 66,105,116,115,116, +114,101, 97,109, 32, 40,115,101,101, 32, 98,101,108,111,119, 41, 46, 32, 68,101,106, 97, 86,117, 32, 99,104, 97,110,103,101,115, + 32, 97,114,101, 32,105,110, 32,112,117, 98,108,105, 99, 32,100,111,109, 97,105,110, 46, 32, 71,108,121,112,104,115, 32,105,109, +112,111,114,116,101,100, 32,102,114,111,109, 32, 65,114,101,118, 32,102,111,110,116,115, 32, 97,114,101, 32, 40, 99, 41, 32, 84, + 97,118,109,106,117,110,103, 32, 66, 97,104, 32, 40,115,101,101, 32, 98,101,108,111,119, 41, 10, 10, 66,105,116,115,116,114,101, + 97,109, 32, 86,101,114, 97, 32, 70,111,110,116,115, 32, 67,111,112,121,114,105,103,104,116, 10, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10, 10, 67,111,112,121,114,105,103,104, +116, 32, 40, 99, 41, 32, 50, 48, 48, 51, 32, 98,121, 32, 66,105,116,115,116,114,101, 97,109, 44, 32, 73,110, 99, 46, 32, 65,108, +108, 32, 82,105,103,104,116,115, 32, 82,101,115,101,114,118,101,100, 46, 32, 66,105,116,115,116,114,101, 97,109, 32, 86,101,114, + 97, 32,105,115, 10, 97, 32,116,114, 97,100,101,109, 97,114,107, 32,111,102, 32, 66,105,116,115,116,114,101, 97,109, 44, 32, 73, +110, 99, 46, 10, 10, 80,101,114,109,105,115,115,105,111,110, 32,105,115, 32,104,101,114,101, 98,121, 32,103,114, 97,110,116,101, +100, 44, 32,102,114,101,101, 32,111,102, 32, 99,104, 97,114,103,101, 44, 32,116,111, 32, 97,110,121, 32,112,101,114,115,111,110, + 32,111, 98,116, 97,105,110,105,110,103, 32, 97, 32, 99,111,112,121, 10,111,102, 32,116,104,101, 32,102,111,110,116,115, 32, 97, + 99, 99,111,109,112, 97,110,121,105,110,103, 32,116,104,105,115, 32,108,105, 99,101,110,115,101, 32, 40, 34, 70,111,110,116,115, + 34, 41, 32, 97,110,100, 32, 97,115,115,111, 99,105, 97,116,101,100, 10,100,111, 99,117,109,101,110,116, 97,116,105,111,110, 32, +102,105,108,101,115, 32, 40,116,104,101, 32, 34, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 34, 41, 44, 32,116,111, 32, +114,101,112,114,111,100,117, 99,101, 32, 97,110,100, 32,100,105,115,116,114,105, 98,117,116,101, 32,116,104,101, 10, 70,111,110, +116, 32, 83,111,102,116,119, 97,114,101, 44, 32,105,110, 99,108,117,100,105,110,103, 32,119,105,116,104,111,117,116, 32,108,105, +109,105,116, 97,116,105,111,110, 32,116,104,101, 32,114,105,103,104,116,115, 32,116,111, 32,117,115,101, 44, 32, 99,111,112,121, + 44, 32,109,101,114,103,101, 44, 10,112,117, 98,108,105,115,104, 44, 32,100,105,115,116,114,105, 98,117,116,101, 44, 32, 97,110, +100, 47,111,114, 32,115,101,108,108, 32, 99,111,112,105,101,115, 32,111,102, 32,116,104,101, 32, 70,111,110,116, 32, 83,111,102, +116,119, 97,114,101, 44, 32, 97,110,100, 32,116,111, 32,112,101,114,109,105,116, 10,112,101,114,115,111,110,115, 32,116,111, 32, +119,104,111,109, 32,116,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 32,105,115, 32,102,117,114,110,105,115, +104,101,100, 32,116,111, 32,100,111, 32,115,111, 44, 32,115,117, 98,106,101, 99,116, 32,116,111, 32,116,104,101, 10,102,111,108, +108,111,119,105,110,103, 32, 99,111,110,100,105,116,105,111,110,115, 58, 10, 10, 84,104,101, 32, 97, 98,111,118,101, 32, 99,111, +112,121,114,105,103,104,116, 32, 97,110,100, 32,116,114, 97,100,101,109, 97,114,107, 32,110,111,116,105, 99,101,115, 32, 97,110, +100, 32,116,104,105,115, 32,112,101,114,109,105,115,115,105,111,110, 32,110,111,116,105, 99,101, 32,115,104, 97,108,108, 10, 98, +101, 32,105,110, 99,108,117,100,101,100, 32,105,110, 32, 97,108,108, 32, 99,111,112,105,101,115, 32,111,102, 32,111,110,101, 32, +111,114, 32,109,111,114,101, 32,111,102, 32,116,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 32,116,121,112, +101,102, 97, 99,101,115, 46, 10, 10, 84,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 32,109, 97,121, 32, 98, +101, 32,109,111,100,105,102,105,101,100, 44, 32, 97,108,116,101,114,101,100, 44, 32,111,114, 32, 97,100,100,101,100, 32,116,111, + 44, 32, 97,110,100, 32,105,110, 32,112, 97,114,116,105, 99,117,108, 97,114, 10,116,104,101, 32,100,101,115,105,103,110,115, 32, +111,102, 32,103,108,121,112,104,115, 32,111,114, 32, 99,104, 97,114, 97, 99,116,101,114,115, 32,105,110, 32,116,104,101, 32, 70, +111,110,116,115, 32,109, 97,121, 32, 98,101, 32,109,111,100,105,102,105,101,100, 32, 97,110,100, 10, 97,100,100,105,116,105,111, +110, 97,108, 32,103,108,121,112,104,115, 32,111,114, 32, 99,104, 97,114, 97, 99,116,101,114,115, 32,109, 97,121, 32, 98,101, 32, + 97,100,100,101,100, 32,116,111, 32,116,104,101, 32, 70,111,110,116,115, 44, 32,111,110,108,121, 32,105,102, 32,116,104,101, 32, +102,111,110,116,115, 10, 97,114,101, 32,114,101,110, 97,109,101,100, 32,116,111, 32,110, 97,109,101,115, 32,110,111,116, 32, 99, +111,110,116, 97,105,110,105,110,103, 32,101,105,116,104,101,114, 32,116,104,101, 32,119,111,114,100,115, 32, 34, 66,105,116,115, +116,114,101, 97,109, 34, 32,111,114, 32,116,104,101, 32,119,111,114,100, 10, 34, 86,101,114, 97, 34, 46, 10, 10, 84,104,105,115, + 32, 76,105, 99,101,110,115,101, 32, 98,101, 99,111,109,101,115, 32,110,117,108,108, 32, 97,110,100, 32,118,111,105,100, 32,116, +111, 32,116,104,101, 32,101,120,116,101,110,116, 32, 97,112,112,108,105, 99, 97, 98,108,101, 32,116,111, 32, 70,111,110,116,115, + 32,111,114, 32, 70,111,110,116, 10, 83,111,102,116,119, 97,114,101, 32,116,104, 97,116, 32,104, 97,115, 32, 98,101,101,110, 32, +109,111,100,105,102,105,101,100, 32, 97,110,100, 32,105,115, 32,100,105,115,116,114,105, 98,117,116,101,100, 32,117,110,100,101, +114, 32,116,104,101, 32, 34, 66,105,116,115,116,114,101, 97,109, 10, 86,101,114, 97, 34, 32,110, 97,109,101,115, 46, 10, 10, 84, +104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 32,109, 97,121, 32, 98,101, 32,115,111,108,100, 32, 97,115, 32, +112, 97,114,116, 32,111,102, 32, 97, 32,108, 97,114,103,101,114, 32,115,111,102,116,119, 97,114,101, 32,112, 97, 99,107, 97,103, +101, 32, 98,117,116, 32,110,111, 10, 99,111,112,121, 32,111,102, 32,111,110,101, 32,111,114, 32,109,111,114,101, 32,111,102, 32, +116,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 32,116,121,112,101,102, 97, 99,101,115, 32,109, 97,121, 32, + 98,101, 32,115,111,108,100, 32, 98,121, 32,105,116,115,101,108,102, 46, 10, 10, 84, 72, 69, 32, 70, 79, 78, 84, 32, 83, 79, 70, + 84, 87, 65, 82, 69, 32, 73, 83, 32, 80, 82, 79, 86, 73, 68, 69, 68, 32, 34, 65, 83, 32, 73, 83, 34, 44, 32, 87, 73, 84, 72, 79, + 85, 84, 32, 87, 65, 82, 82, 65, 78, 84, 89, 32, 79, 70, 32, 65, 78, 89, 32, 75, 73, 78, 68, 44, 32, 69, 88, 80, 82, 69, 83, 83, + 10, 79, 82, 32, 73, 77, 80, 76, 73, 69, 68, 44, 32, 73, 78, 67, 76, 85, 68, 73, 78, 71, 32, 66, 85, 84, 32, 78, 79, 84, 32, 76, + 73, 77, 73, 84, 69, 68, 32, 84, 79, 32, 65, 78, 89, 32, 87, 65, 82, 82, 65, 78, 84, 73, 69, 83, 32, 79, 70, 32, 77, 69, 82, 67, + 72, 65, 78, 84, 65, 66, 73, 76, 73, 84, 89, 44, 10, 70, 73, 84, 78, 69, 83, 83, 32, 70, 79, 82, 32, 65, 32, 80, 65, 82, 84, 73, + 67, 85, 76, 65, 82, 32, 80, 85, 82, 80, 79, 83, 69, 32, 65, 78, 68, 32, 78, 79, 78, 73, 78, 70, 82, 73, 78, 71, 69, 77, 69, 78, + 84, 32, 79, 70, 32, 67, 79, 80, 89, 82, 73, 71, 72, 84, 44, 32, 80, 65, 84, 69, 78, 84, 44, 10, 84, 82, 65, 68, 69, 77, 65, 82, + 75, 44, 32, 79, 82, 32, 79, 84, 72, 69, 82, 32, 82, 73, 71, 72, 84, 46, 32, 73, 78, 32, 78, 79, 32, 69, 86, 69, 78, 84, 32, 83, + 72, 65, 76, 76, 32, 66, 73, 84, 83, 84, 82, 69, 65, 77, 32, 79, 82, 32, 84, 72, 69, 32, 71, 78, 79, 77, 69, 10, 70, 79, 85, 78, + 68, 65, 84, 73, 79, 78, 32, 66, 69, 32, 76, 73, 65, 66, 76, 69, 32, 70, 79, 82, 32, 65, 78, 89, 32, 67, 76, 65, 73, 77, 44, 32, + 68, 65, 77, 65, 71, 69, 83, 32, 79, 82, 32, 79, 84, 72, 69, 82, 32, 76, 73, 65, 66, 73, 76, 73, 84, 89, 44, 32, 73, 78, 67, 76, + 85, 68, 73, 78, 71, 10, 65, 78, 89, 32, 71, 69, 78, 69, 82, 65, 76, 44, 32, 83, 80, 69, 67, 73, 65, 76, 44, 32, 73, 78, 68, 73, + 82, 69, 67, 84, 44, 32, 73, 78, 67, 73, 68, 69, 78, 84, 65, 76, 44, 32, 79, 82, 32, 67, 79, 78, 83, 69, 81, 85, 69, 78, 84, 73, + 65, 76, 32, 68, 65, 77, 65, 71, 69, 83, 44, 10, 87, 72, 69, 84, 72, 69, 82, 32, 73, 78, 32, 65, 78, 32, 65, 67, 84, 73, 79, 78, + 32, 79, 70, 32, 67, 79, 78, 84, 82, 65, 67, 84, 44, 32, 84, 79, 82, 84, 32, 79, 82, 32, 79, 84, 72, 69, 82, 87, 73, 83, 69, 44, + 32, 65, 82, 73, 83, 73, 78, 71, 32, 70, 82, 79, 77, 44, 32, 79, 85, 84, 32, 79, 70, 10, 84, 72, 69, 32, 85, 83, 69, 32, 79, 82, + 32, 73, 78, 65, 66, 73, 76, 73, 84, 89, 32, 84, 79, 32, 85, 83, 69, 32, 84, 72, 69, 32, 70, 79, 78, 84, 32, 83, 79, 70, 84, 87, + 65, 82, 69, 32, 79, 82, 32, 70, 82, 79, 77, 32, 79, 84, 72, 69, 82, 32, 68, 69, 65, 76, 73, 78, 71, 83, 32, 73, 78, 32, 84, 72, + 69, 10, 70, 79, 78, 84, 32, 83, 79, 70, 84, 87, 65, 82, 69, 46, 10, 10, 69,120, 99,101,112,116, 32, 97,115, 32, 99,111,110,116, + 97,105,110,101,100, 32,105,110, 32,116,104,105,115, 32,110,111,116,105, 99,101, 44, 32,116,104,101, 32,110, 97,109,101,115, 32, +111,102, 32, 71,110,111,109,101, 44, 32,116,104,101, 32, 71,110,111,109,101, 10, 70,111,117,110,100, 97,116,105,111,110, 44, 32, + 97,110,100, 32, 66,105,116,115,116,114,101, 97,109, 32, 73,110, 99, 46, 44, 32,115,104, 97,108,108, 32,110,111,116, 32, 98,101, + 32,117,115,101,100, 32,105,110, 32, 97,100,118,101,114,116,105,115,105,110,103, 32,111,114, 10,111,116,104,101,114,119,105,115, +101, 32,116,111, 32,112,114,111,109,111,116,101, 32,116,104,101, 32,115, 97,108,101, 44, 32,117,115,101, 32,111,114, 32,111,116, +104,101,114, 32,100,101, 97,108,105,110,103,115, 32,105,110, 32,116,104,105,115, 32, 70,111,110,116, 32, 83,111,102,116,119, 97, +114,101, 10,119,105,116,104,111,117,116, 32,112,114,105,111,114, 32,119,114,105,116,116,101,110, 32, 97,117,116,104,111,114,105, +122, 97,116,105,111,110, 32,102,114,111,109, 32,116,104,101, 32, 71,110,111,109,101, 32, 70,111,117,110,100, 97,116,105,111,110, + 32,111,114, 32, 66,105,116,115,116,114,101, 97,109, 10, 73,110, 99, 46, 44, 32,114,101,115,112,101, 99,116,105,118,101,108,121, + 46, 32, 70,111,114, 32,102,117,114,116,104,101,114, 32,105,110,102,111,114,109, 97,116,105,111,110, 44, 32, 99,111,110,116, 97, + 99,116, 58, 32,102,111,110,116,115, 32, 97,116, 32,103,110,111,109,101, 32,100,111,116, 10,111,114,103, 46, 32, 10, 10, 65,114, +101,118, 32, 70,111,110,116,115, 32, 67,111,112,121,114,105,103,104,116, 10, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10, 10, 67,111,112,121,114,105,103,104,116, 32, 40, 99, 41, + 32, 50, 48, 48, 54, 32, 98,121, 32, 84, 97,118,109,106,111,110,103, 32, 66, 97,104, 46, 32, 65,108,108, 32, 82,105,103,104,116, +115, 32, 82,101,115,101,114,118,101,100, 46, 10, 10, 80,101,114,109,105,115,115,105,111,110, 32,105,115, 32,104,101,114,101, 98, +121, 32,103,114, 97,110,116,101,100, 44, 32,102,114,101,101, 32,111,102, 32, 99,104, 97,114,103,101, 44, 32,116,111, 32, 97,110, +121, 32,112,101,114,115,111,110, 32,111, 98,116, 97,105,110,105,110,103, 10, 97, 32, 99,111,112,121, 32,111,102, 32,116,104,101, + 32,102,111,110,116,115, 32, 97, 99, 99,111,109,112, 97,110,121,105,110,103, 32,116,104,105,115, 32,108,105, 99,101,110,115,101, + 32, 40, 34, 70,111,110,116,115, 34, 41, 32, 97,110,100, 10, 97,115,115,111, 99,105, 97,116,101,100, 32,100,111, 99,117,109,101, +110,116, 97,116,105,111,110, 32,102,105,108,101,115, 32, 40,116,104,101, 32, 34, 70,111,110,116, 32, 83,111,102,116,119, 97,114, +101, 34, 41, 44, 32,116,111, 32,114,101,112,114,111,100,117, 99,101, 10, 97,110,100, 32,100,105,115,116,114,105, 98,117,116,101, + 32,116,104,101, 32,109,111,100,105,102,105, 99, 97,116,105,111,110,115, 32,116,111, 32,116,104,101, 32, 66,105,116,115,116,114, +101, 97,109, 32, 86,101,114, 97, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 44, 10,105,110, 99,108,117,100,105,110, +103, 32,119,105,116,104,111,117,116, 32,108,105,109,105,116, 97,116,105,111,110, 32,116,104,101, 32,114,105,103,104,116,115, 32, +116,111, 32,117,115,101, 44, 32, 99,111,112,121, 44, 32,109,101,114,103,101, 44, 32,112,117, 98,108,105,115,104, 44, 10,100,105, +115,116,114,105, 98,117,116,101, 44, 32, 97,110,100, 47,111,114, 32,115,101,108,108, 32, 99,111,112,105,101,115, 32,111,102, 32, +116,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 44, 32, 97,110,100, 32,116,111, 32,112,101,114,109,105,116, + 10,112,101,114,115,111,110,115, 32,116,111, 32,119,104,111,109, 32,116,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97, +114,101, 32,105,115, 32,102,117,114,110,105,115,104,101,100, 32,116,111, 32,100,111, 32,115,111, 44, 32,115,117, 98,106,101, 99, +116, 32,116,111, 10,116,104,101, 32,102,111,108,108,111,119,105,110,103, 32, 99,111,110,100,105,116,105,111,110,115, 58, 10, 10, + 84,104,101, 32, 97, 98,111,118,101, 32, 99,111,112,121,114,105,103,104,116, 32, 97,110,100, 32,116,114, 97,100,101,109, 97,114, +107, 32,110,111,116,105, 99,101,115, 32, 97,110,100, 32,116,104,105,115, 32,112,101,114,109,105,115,115,105,111,110, 32,110,111, +116,105, 99,101, 10,115,104, 97,108,108, 32, 98,101, 32,105,110, 99,108,117,100,101,100, 32,105,110, 32, 97,108,108, 32, 99,111, +112,105,101,115, 32,111,102, 32,111,110,101, 32,111,114, 32,109,111,114,101, 32,111,102, 32,116,104,101, 32, 70,111,110,116, 32, + 83,111,102,116,119, 97,114,101, 10,116,121,112,101,102, 97, 99,101,115, 46, 10, 10, 84,104,101, 32, 70,111,110,116, 32, 83,111, +102,116,119, 97,114,101, 32,109, 97,121, 32, 98,101, 32,109,111,100,105,102,105,101,100, 44, 32, 97,108,116,101,114,101,100, 44, + 32,111,114, 32, 97,100,100,101,100, 32,116,111, 44, 32, 97,110,100, 32,105,110, 10,112, 97,114,116,105, 99,117,108, 97,114, 32, +116,104,101, 32,100,101,115,105,103,110,115, 32,111,102, 32,103,108,121,112,104,115, 32,111,114, 32, 99,104, 97,114, 97, 99,116, +101,114,115, 32,105,110, 32,116,104,101, 32, 70,111,110,116,115, 32,109, 97,121, 32, 98,101, 10,109,111,100,105,102,105,101,100, + 32, 97,110,100, 32, 97,100,100,105,116,105,111,110, 97,108, 32,103,108,121,112,104,115, 32,111,114, 32, 99,104, 97,114, 97, 99, +116,101,114,115, 32,109, 97,121, 32, 98,101, 32, 97,100,100,101,100, 32,116,111, 32,116,104,101, 10, 70,111,110,116,115, 44, 32, +111,110,108,121, 32,105,102, 32,116,104,101, 32,102,111,110,116,115, 32, 97,114,101, 32,114,101,110, 97,109,101,100, 32,116,111, + 32,110, 97,109,101,115, 32,110,111,116, 32, 99,111,110,116, 97,105,110,105,110,103, 32,101,105,116,104,101,114, 10,116,104,101, + 32,119,111,114,100,115, 32, 34, 84, 97,118,109,106,111,110,103, 32, 66, 97,104, 34, 32,111,114, 32,116,104,101, 32,119,111,114, +100, 32, 34, 65,114,101,118, 34, 46, 10, 10, 84,104,105,115, 32, 76,105, 99,101,110,115,101, 32, 98,101, 99,111,109,101,115, 32, +110,117,108,108, 32, 97,110,100, 32,118,111,105,100, 32,116,111, 32,116,104,101, 32,101,120,116,101,110,116, 32, 97,112,112,108, +105, 99, 97, 98,108,101, 32,116,111, 32, 70,111,110,116,115, 10,111,114, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, + 32,116,104, 97,116, 32,104, 97,115, 32, 98,101,101,110, 32,109,111,100,105,102,105,101,100, 32, 97,110,100, 32,105,115, 32,100, +105,115,116,114,105, 98,117,116,101,100, 32,117,110,100,101,114, 32,116,104,101, 32, 10, 34, 84, 97,118,109,106,111,110,103, 32, + 66, 97,104, 32, 65,114,101,118, 34, 32,110, 97,109,101,115, 46, 10, 10, 84,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, + 97,114,101, 32,109, 97,121, 32, 98,101, 32,115,111,108,100, 32, 97,115, 32,112, 97,114,116, 32,111,102, 32, 97, 32,108, 97,114, +103,101,114, 32,115,111,102,116,119, 97,114,101, 32,112, 97, 99,107, 97,103,101, 32, 98,117,116, 10,110,111, 32, 99,111,112,121, + 32,111,102, 32,111,110,101, 32,111,114, 32,109,111,114,101, 32,111,102, 32,116,104,101, 32, 70,111,110,116, 32, 83,111,102,116, +119, 97,114,101, 32,116,121,112,101,102, 97, 99,101,115, 32,109, 97,121, 32, 98,101, 32,115,111,108,100, 32, 98,121, 10,105,116, +115,101,108,102, 46, 10, 10, 84, 72, 69, 32, 70, 79, 78, 84, 32, 83, 79, 70, 84, 87, 65, 82, 69, 32, 73, 83, 32, 80, 82, 79, 86, + 73, 68, 69, 68, 32, 34, 65, 83, 32, 73, 83, 34, 44, 32, 87, 73, 84, 72, 79, 85, 84, 32, 87, 65, 82, 82, 65, 78, 84, 89, 32, 79, + 70, 32, 65, 78, 89, 32, 75, 73, 78, 68, 44, 10, 69, 88, 80, 82, 69, 83, 83, 32, 79, 82, 32, 73, 77, 80, 76, 73, 69, 68, 44, 32, + 73, 78, 67, 76, 85, 68, 73, 78, 71, 32, 66, 85, 84, 32, 78, 79, 84, 32, 76, 73, 77, 73, 84, 69, 68, 32, 84, 79, 32, 65, 78, 89, + 32, 87, 65, 82, 82, 65, 78, 84, 73, 69, 83, 32, 79, 70, 10, 77, 69, 82, 67, 72, 65, 78, 84, 65, 66, 73, 76, 73, 84, 89, 44, 32, + 70, 73, 84, 78, 69, 83, 83, 32, 70, 79, 82, 32, 65, 32, 80, 65, 82, 84, 73, 67, 85, 76, 65, 82, 32, 80, 85, 82, 80, 79, 83, 69, + 32, 65, 78, 68, 32, 78, 79, 78, 73, 78, 70, 82, 73, 78, 71, 69, 77, 69, 78, 84, 10, 79, 70, 32, 67, 79, 80, 89, 82, 73, 71, 72, + 84, 44, 32, 80, 65, 84, 69, 78, 84, 44, 32, 84, 82, 65, 68, 69, 77, 65, 82, 75, 44, 32, 79, 82, 32, 79, 84, 72, 69, 82, 32, 82, + 73, 71, 72, 84, 46, 32, 73, 78, 32, 78, 79, 32, 69, 86, 69, 78, 84, 32, 83, 72, 65, 76, 76, 10, 84, 65, 86, 77, 74, 79, 78, 71, + 32, 66, 65, 72, 32, 66, 69, 32, 76, 73, 65, 66, 76, 69, 32, 70, 79, 82, 32, 65, 78, 89, 32, 67, 76, 65, 73, 77, 44, 32, 68, 65, + 77, 65, 71, 69, 83, 32, 79, 82, 32, 79, 84, 72, 69, 82, 32, 76, 73, 65, 66, 73, 76, 73, 84, 89, 44, 10, 73, 78, 67, 76, 85, 68, + 73, 78, 71, 32, 65, 78, 89, 32, 71, 69, 78, 69, 82, 65, 76, 44, 32, 83, 80, 69, 67, 73, 65, 76, 44, 32, 73, 78, 68, 73, 82, 69, + 67, 84, 44, 32, 73, 78, 67, 73, 68, 69, 78, 84, 65, 76, 44, 32, 79, 82, 32, 67, 79, 78, 83, 69, 81, 85, 69, 78, 84, 73, 65, 76, + 10, 68, 65, 77, 65, 71, 69, 83, 44, 32, 87, 72, 69, 84, 72, 69, 82, 32, 73, 78, 32, 65, 78, 32, 65, 67, 84, 73, 79, 78, 32, 79, + 70, 32, 67, 79, 78, 84, 82, 65, 67, 84, 44, 32, 84, 79, 82, 84, 32, 79, 82, 32, 79, 84, 72, 69, 82, 87, 73, 83, 69, 44, 32, 65, + 82, 73, 83, 73, 78, 71, 10, 70, 82, 79, 77, 44, 32, 79, 85, 84, 32, 79, 70, 32, 84, 72, 69, 32, 85, 83, 69, 32, 79, 82, 32, 73, + 78, 65, 66, 73, 76, 73, 84, 89, 32, 84, 79, 32, 85, 83, 69, 32, 84, 72, 69, 32, 70, 79, 78, 84, 32, 83, 79, 70, 84, 87, 65, 82, + 69, 32, 79, 82, 32, 70, 82, 79, 77, 10, 79, 84, 72, 69, 82, 32, 68, 69, 65, 76, 73, 78, 71, 83, 32, 73, 78, 32, 84, 72, 69, 32, + 70, 79, 78, 84, 32, 83, 79, 70, 84, 87, 65, 82, 69, 46, 10, 10, 69,120, 99,101,112,116, 32, 97,115, 32, 99,111,110,116, 97,105, +110,101,100, 32,105,110, 32,116,104,105,115, 32,110,111,116,105, 99,101, 44, 32,116,104,101, 32,110, 97,109,101, 32,111,102, 32, + 84, 97,118,109,106,111,110,103, 32, 66, 97,104, 32,115,104, 97,108,108, 32,110,111,116, 10, 98,101, 32,117,115,101,100, 32,105, +110, 32, 97,100,118,101,114,116,105,115,105,110,103, 32,111,114, 32,111,116,104,101,114,119,105,115,101, 32,116,111, 32,112,114, +111,109,111,116,101, 32,116,104,101, 32,115, 97,108,101, 44, 32,117,115,101, 32,111,114, 32,111,116,104,101,114, 10,100,101, 97, +108,105,110,103,115, 32,105,110, 32,116,104,105,115, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 32,119,105,116,104, +111,117,116, 32,112,114,105,111,114, 32,119,114,105,116,116,101,110, 32, 97,117,116,104,111,114,105,122, 97,116,105,111,110, 10, +102,114,111,109, 32, 84, 97,118,109,106,111,110,103, 32, 66, 97,104, 46, 32, 70,111,114, 32,102,117,114,116,104,101,114, 32,105, +110,102,111,114,109, 97,116,105,111,110, 44, 32, 99,111,110,116, 97, 99,116, 58, 32,116, 97,118,109,106,111,110,103, 32, 64, 32, +102,114,101,101, 10, 46, 32,102,114, 46, 0, 0,104, 0,116, 0,116, 0,112, 0, 58, 0, 47, 0, 47, 0,100, 0,101, 0,106, 0, + 97, 0,118, 0,117, 0, 46, 0,115, 0,111, 0,117, 0,114, 0, 99, 0,101, 0,102, 0,111, 0,114, 0,103, 0,101, 0, 46, 0, +110, 0,101, 0,116, 0, 47, 0,119, 0,105, 0,107, 0,105, 0, 47, 0,105, 0,110, 0,100, 0,101, 0,120, 0, 46, 0,112, 0, +104, 0,112, 0, 47, 0, 76, 0,105, 0, 99, 0,101, 0,110, 0,115, 0,101, 0, 0,104,116,116,112, 58, 47, 47,100,101,106, 97, +118,117, 46,115,111,117,114, 99,101,102,111,114,103,101, 46,110,101,116, 47,119,105,107,105, 47,105,110,100,101,120, 46,112,104, +112, 47, 76,105, 99,101,110,115,101, 0, 65,108,108, 32, 84,121,112,111,103,114, 97,112,104,105, 99, 32, 70,101, 97,116,117,114, +101,115, 0, 70,111,110, 99,116,105,111,110,115, 32,116,121,112,111,103,114, 97,112,104,105,113,117,101,115, 0, 65,108,108,101, + 32,116,121,112,111,103,114, 97,102,105,115, 99,104,101,110, 32, 77,154,103,108,105, 99,104,107,101,105,116,101,110, 0, 70,117, +110,122,105,111,110,105, 32, 84,105,112,111,103,114, 97,102,105, 99,104,101, 0, 65,108,108,101, 32,116,121,112,111,103,114, 97, +102,105,115, 99,104,101, 32,107,101,110,109,101,114,107,101,110, 0, 76,105,103, 97,116,117,114,101,115, 0, 76,105,103, 97,116, +117,114,101,115, 0, 76,105,103, 97,116,117,114,101,110, 0, 76,101,103, 97,116,117,114,101, 0, 76,105,103, 97,116,117,114,101, +110, 0, 67,117,114,115,105,118,101, 32, 99,111,110,110,101, 99,116,105,111,110, 0, 67,111,110,110,101, 99,116,105,111,110, 32, +100,101,115, 32, 67,117,114,115,105,118,101,115, 0, 67,117,114,115,105,101,118,101, 32,118,101,114, 98,105,110,100,105,110,103, + 0, 70,114, 97, 99,116,105,111,110,115, 0, 70,114, 97, 99,116,105,111,110,115, 0, 66,114,101,117,107,101,110, 0, 65,108,108, + 32, 84,121,112,101, 32, 70,101, 97,116,117,114,101,115, 0, 84,111,117,116,101,115, 32,102,111,110, 99,116,105,111,110,115, 32, +116,121,112,111,103,114, 97,112,104,105,113,117,101,115, 0, 65,108,108,101, 32, 65,117,115,122,101,105, 99,104,110,117,110,103, +115, 97,114,116,101,110, 0, 84,117,116,116,101, 32,108,101, 32, 70,117,110,122,105,111,110,105, 0, 65,108,108,101, 32,116,121, +112,101,107,101,110,109,101,114,107,101,110, 0, 67,111,109,109,111,110, 32, 76,105,103, 97,116,117,114,101,115, 0, 76,105,103, + 97,116,117,114,101,115, 32, 85,115,117,101,108,108,101,115, 0, 78,111,114,109, 97,108,101, 32, 76,105,103, 97,116,117,114,101, +110, 0, 76,101,103, 97,116,117,114,101, 32,112,105,157, 32, 67,111,109,117,110,105, 0, 71,101,109,101,101,110,115, 99,104, 97, +112,112,101,108,105,106,107,101, 32, 76,105,103, 97,116,117,114,101,110, 0, 82, 97,114,101, 32, 76,105,103, 97,116,117,114,101, +115, 0, 76,105,103, 97,116,117,114,101,115, 32, 82, 97,114,101,115, 0, 83,101,108,116,101,110,101, 32, 76,105,103, 97,116,117, +114,101,110, 0, 76,101,103, 97,116,117,114,101, 32, 82, 97,114,101, 0, 90,101,108,100,122, 97,109,101, 32,108,105,103, 97,116, +117,114,101,110, 0, 67,117,114,115,105,118,101, 0, 80,108,101,105,110,101,109,101,110,116, 32, 99,111,110,110,101, 99,116,142, +101,115, 0, 67,117,114,115,105,101,102, 0, 68,105, 97,103,111,110, 97,108, 32, 70,114, 97, 99,116,105,111,110,115, 0, 70,114, + 97, 99,116,105,111,110,115, 32,101,110, 32, 68,105, 97,103,111,110, 97,108,101, 0, 68,105, 97,103,111,110, 97,108,101,114, 32, + 66,114,117, 99,104, 0, 70,114, 97,122,105,111,110,105, 32, 68,105, 97,103,111,110, 97,108,105, 0, 68,105, 97,103,111,110, 97, +108,101, 32, 98,114,101,117,107,101,110, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,255,171, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,163, 0, 0, 0, 1, 0, 2, 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,172, 0,163, 0,132, 0,133, 0,189, 0,150, 0,232, + 0,134, 0,142, 0,139, 0,157, 0,169, 0,164, 1, 2, 0,138, 0,218, 0,131, 0,147, 0,242, 0,243, 0,141, 0,151, 0,136, + 0,195, 0,222, 0,241, 0,158, 0,170, 0,245, 0,244, 0,246, 0,162, 0,173, 0,201, 0,199, 0,174, 0, 98, 0, 99, 0,144, + 0,100, 0,203, 0,101, 0,200, 0,202, 0,207, 0,204, 0,205, 0,206, 0,233, 0,102, 0,211, 0,208, 0,209, 0,175, 0,103, + 0,240, 0,145, 0,214, 0,212, 0,213, 0,104, 0,235, 0,237, 0,137, 0,106, 0,105, 0,107, 0,109, 0,108, 0,110, 0,160, + 0,111, 0,113, 0,112, 0,114, 0,115, 0,117, 0,116, 0,118, 0,119, 0,234, 0,120, 0,122, 0,121, 0,123, 0,125, 0,124, + 0,184, 0,161, 0,127, 0,126, 0,128, 0,129, 0,236, 0,238, 0,186, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 0,253, + 0,254, 1, 9, 1, 10, 1, 11, 1, 12, 0,255, 1, 0, 1, 13, 1, 14, 1, 15, 1, 1, 1, 16, 1, 17, 1, 18, 1, 19, 1, 20, + 1, 21, 1, 22, 1, 23, 1, 24, 1, 25, 1, 26, 1, 27, 0,248, 0,249, 1, 28, 1, 29, 1, 30, 1, 31, 1, 32, 1, 33, 1, 34, + 1, 35, 1, 36, 1, 37, 1, 38, 1, 39, 1, 40, 1, 41, 1, 42, 1, 43, 0,250, 0,215, 1, 44, 1, 45, 1, 46, 1, 47, 1, 48, + 1, 49, 1, 50, 1, 51, 1, 52, 1, 53, 1, 54, 1, 55, 1, 56, 1, 57, 1, 58, 0,226, 0,227, 1, 59, 1, 60, 1, 61, 1, 62, + 1, 63, 1, 64, 1, 65, 1, 66, 1, 67, 1, 68, 1, 69, 1, 70, 1, 71, 1, 72, 1, 73, 0,176, 0,177, 1, 74, 1, 75, 1, 76, + 1, 77, 1, 78, 1, 79, 1, 80, 1, 81, 1, 82, 1, 83, 0,251, 0,252, 0,228, 0,229, 1, 84, 1, 85, 1, 86, 1, 87, 1, 88, + 1, 89, 1, 90, 1, 91, 1, 92, 1, 93, 1, 94, 1, 95, 1, 96, 1, 97, 1, 98, 1, 99, 1,100, 1,101, 1,102, 1,103, 1,104, + 1,105, 0,187, 1,106, 1,107, 1,108, 1,109, 0,230, 0,231, 1,110, 1,111, 1,112, 1,113, 1,114, 1,115, 1,116, 1,117, + 1,118, 1,119, 1,120, 1,121, 1,122, 1,123, 1,124, 1,125, 1,126, 1,127, 1,128, 0,166, 1,129, 1,130, 1,131, 1,132, + 1,133, 1,134, 1,135, 1,136, 1,137, 1,138, 1,139, 1,140, 1,141, 1,142, 1,143, 1,144, 1,145, 1,146, 1,147, 1,148, + 1,149, 1,150, 1,151, 1,152, 1,153, 1,154, 1,155, 1,156, 1,157, 1,158, 1,159, 1,160, 1,161, 1,162, 1,163, 1,164, + 1,165, 1,166, 1,167, 1,168, 1,169, 1,170, 1,171, 1,172, 1,173, 1,174, 1,175, 1,176, 1,177, 1,178, 1,179, 1,180, + 1,181, 1,182, 1,183, 1,184, 1,185, 1,186, 1,187, 1,188, 1,189, 1,190, 1,191, 1,192, 1,193, 1,194, 1,195, 1,196, + 1,197, 1,198, 1,199, 1,200, 1,201, 1,202, 1,203, 1,204, 1,205, 1,206, 1,207, 1,208, 1,209, 1,210, 1,211, 1,212, + 1,213, 1,214, 1,215, 1,216, 1,217, 1,218, 1,219, 1,220, 1,221, 1,222, 1,223, 1,224, 1,225, 1,226, 1,227, 1,228, + 1,229, 1,230, 1,231, 1,232, 1,233, 1,234, 1,235, 1,236, 1,237, 1,238, 1,239, 1,240, 1,241, 1,242, 1,243, 1,244, + 1,245, 1,246, 1,247, 1,248, 1,249, 1,250, 1,251, 1,252, 1,253, 1,254, 1,255, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, + 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 12, 2, 13, 2, 14, 2, 15, 2, 16, 2, 17, 2, 18, 2, 19, 2, 20, + 2, 21, 2, 22, 2, 23, 2, 24, 2, 25, 2, 26, 2, 27, 2, 28, 2, 29, 2, 30, 2, 31, 2, 32, 2, 33, 2, 34, 2, 35, 2, 36, + 2, 37, 2, 38, 2, 39, 2, 40, 2, 41, 2, 42, 2, 43, 2, 44, 2, 45, 2, 46, 2, 47, 2, 48, 2, 49, 2, 50, 2, 51, 2, 52, + 2, 53, 2, 54, 2, 55, 2, 56, 2, 57, 2, 58, 2, 59, 2, 60, 2, 61, 2, 62, 2, 63, 2, 64, 2, 65, 2, 66, 2, 67, 2, 68, + 2, 69, 2, 70, 2, 71, 2, 72, 2, 73, 2, 74, 0,216, 0,225, 2, 75, 2, 76, 2, 77, 2, 78, 2, 79, 2, 80, 2, 81, 2, 82, + 2, 83, 2, 84, 2, 85, 2, 86, 2, 87, 2, 88, 2, 89, 2, 90, 0,219, 0,220, 0,221, 0,224, 0,217, 0,223, 2, 91, 2, 92, + 2, 93, 2, 94, 2, 95, 2, 96, 2, 97, 2, 98, 2, 99, 2,100, 2,101, 2,102, 2,103, 2,104, 2,105, 2,106, 2,107, 2,108, + 2,109, 2,110, 2,111, 2,112, 2,113, 2,114, 2,115, 2,116, 2,117, 2,118, 2,119, 2,120, 2,121, 2,122, 2,123, 2,124, + 2,125, 2,126, 2,127, 2,128, 2,129, 2,130, 2,131, 2,132, 2,133, 2,134, 2,135, 2,136, 2,137, 2,138, 2,139, 2,140, + 2,141, 2,142, 2,143, 2,144, 2,145, 2,146, 2,147, 2,148, 2,149, 2,150, 2,151, 2,152, 2,153, 2,154, 2,155, 2,156, + 2,157, 2,158, 2,159, 2,160, 2,161, 2,162, 2,163, 2,164, 2,165, 2,166, 2,167, 2,168, 2,169, 2,170, 2,171, 2,172, + 2,173, 2,174, 2,175, 2,176, 2,177, 2,178, 2,179, 2,180, 2,181, 2,182, 2,183, 2,184, 2,185, 2,186, 2,187, 2,188, + 2,189, 2,190, 2,191, 2,192, 2,193, 2,194, 2,195, 2,196, 2,197, 2,198, 2,199, 2,200, 2,201, 2,202, 2,203, 2,204, + 2,205, 2,206, 2,207, 2,208, 2,209, 2,210, 2,211, 2,212, 2,213, 2,214, 2,215, 2,216, 2,217, 2,218, 2,219, 2,220, + 2,221, 2,222, 2,223, 2,224, 2,225, 2,226, 2,227, 2,228, 2,229, 2,230, 2,231, 2,232, 2,233, 2,234, 0,159, 2,235, 2,236, 2,237, 2,238, 2,239, 2,240, 2,241, 2,242, 2,243, 2,244, 2,245, 2,246, 2,247, 2,248, 2,249, 2,250, 2,251, - 2,252, 2,253, 2,254, 2,255, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, 3, 11, - 3, 12, 3, 13, 3, 14, 3, 15, 3, 16, 3, 17, 3, 18, 3, 19, 3, 20, 3, 21, 3, 22, 3, 23, 3, 24, 3, 25, 3, 26, 3, 27, - 3, 28, 3, 29, 3, 30, 3, 31, 3, 32, 3, 33, 3, 34, 3, 35, 3, 36, 3, 37, 3, 38, 3, 39, 3, 40, 3, 41, 3, 42, 3, 43, - 3, 44, 3, 45, 3, 46, 3, 47, 3, 48, 3, 49, 3, 50, 3, 51, 3, 52, 3, 53, 3, 54, 3, 55, 3, 56, 3, 57, 3, 58, 3, 59, - 3, 60, 3, 61, 3, 62, 3, 63, 3, 64, 3, 65, 3, 66, 3, 67, 3, 68, 3, 69, 3, 70, 3, 71, 3, 72, 3, 73, 3, 74, 3, 75, - 3, 76, 3, 77, 3, 78, 3, 79, 3, 80, 3, 81, 3, 82, 3, 83, 3, 84, 3, 85, 3, 86, 3, 87, 3, 88, 3, 89, 3, 90, 3, 91, - 3, 92, 3, 93, 3, 94, 3, 95, 3, 96, 3, 97, 3, 98, 3, 99, 3,100, 3,101, 3,102, 3,103, 3,104, 3,105, 3,106, 3,107, - 3,108, 3,109, 3,110, 3,111, 3,112, 3,113, 3,114, 3,115, 3,116, 3,117, 3,118, 3,119, 3,120, 3,121, 3,122, 3,123, - 3,124, 3,125, 3,126, 3,127, 3,128, 3,129, 3,130, 3,131, 3,132, 3,133, 3,134, 3,135, 3,136, 3,137, 3,138, 5, 46, -110,117,108,108, 7,117,110,105, 48, 48, 65, 68, 9,111,118,101,114,115, 99,111,114,101, 14,112,101,114,105,111,100, 99,101,110, -116,101,114,101,100, 7, 65,109, 97, 99,114,111,110, 7, 97,109, 97, 99,114,111,110, 6, 65, 98,114,101,118,101, 6, 97, 98,114, -101,118,101, 7, 65,111,103,111,110,101,107, 7, 97,111,103,111,110,101,107, 11, 67, 99,105,114, 99,117,109,102,108,101,120, 11, - 99, 99,105,114, 99,117,109,102,108,101,120, 4, 67,100,111,116, 4, 99,100,111,116, 6, 68, 99, 97,114,111,110, 6,100, 99, 97, -114,111,110, 6, 68, 99,114,111, 97,116, 6,100, 99,114,111, 97,116, 7, 69,109, 97, 99,114,111,110, 7,101,109, 97, 99,114,111, -110, 6, 69, 98,114,101,118,101, 6,101, 98,114,101,118,101, 10, 69,100,111,116, 97, 99, 99,101,110,116, 10,101,100,111,116, 97, - 99, 99,101,110,116, 7, 69,111,103,111,110,101,107, 7,101,111,103,111,110,101,107, 6, 69, 99, 97,114,111,110, 6,101, 99, 97, -114,111,110, 11, 71, 99,105,114, 99,117,109,102,108,101,120, 11,103, 99,105,114, 99,117,109,102,108,101,120, 4, 71,100,111,116, - 4,103,100,111,116, 12, 71, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,103, 99,111,109,109, 97, 97, 99, 99,101,110,116, 11, - 72, 99,105,114, 99,117,109,102,108,101,120, 11,104, 99,105,114, 99,117,109,102,108,101,120, 4, 72, 98, 97,114, 4,104, 98, 97, -114, 6, 73,116,105,108,100,101, 6,105,116,105,108,100,101, 7, 73,109, 97, 99,114,111,110, 7,105,109, 97, 99,114,111,110, 6, - 73, 98,114,101,118,101, 6,105, 98,114,101,118,101, 7, 73,111,103,111,110,101,107, 7,105,111,103,111,110,101,107, 10, 73,100, -111,116, 97, 99, 99,101,110,116, 2, 73, 74, 2,105,106, 11, 74, 99,105,114, 99,117,109,102,108,101,120, 11,106, 99,105,114, 99, -117,109,102,108,101,120, 12, 75, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,107, 99,111,109,109, 97, 97, 99, 99,101,110,116, - 12,107,103,114,101,101,110,108, 97,110,100,105, 99, 6, 76, 97, 99,117,116,101, 6,108, 97, 99,117,116,101, 12, 76, 99,111,109, -109, 97, 97, 99, 99,101,110,116, 12,108, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 76, 99, 97,114,111,110, 6,108, 99, 97, -114,111,110, 4, 76,100,111,116, 4,108,100,111,116, 6, 78, 97, 99,117,116,101, 6,110, 97, 99,117,116,101, 12, 78, 99,111,109, -109, 97, 97, 99, 99,101,110,116, 12,110, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 78, 99, 97,114,111,110, 6,110, 99, 97, -114,111,110, 11,110, 97,112,111,115,116,114,111,112,104,101, 3, 69,110,103, 3,101,110,103, 7, 79,109, 97, 99,114,111,110, 7, -111,109, 97, 99,114,111,110, 6, 79, 98,114,101,118,101, 6,111, 98,114,101,118,101, 13, 79,104,117,110,103, 97,114,117,109,108, - 97,117,116, 13,111,104,117,110,103, 97,114,117,109,108, 97,117,116, 6, 82, 97, 99,117,116,101, 6,114, 97, 99,117,116,101, 12, - 82, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,114, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 82, 99, 97,114,111,110, - 6,114, 99, 97,114,111,110, 6, 83, 97, 99,117,116,101, 6,115, 97, 99,117,116,101, 11, 83, 99,105,114, 99,117,109,102,108,101, -120, 11,115, 99,105,114, 99,117,109,102,108,101,120, 12, 84, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,116, 99,111,109,109, - 97, 97, 99, 99,101,110,116, 6, 84, 99, 97,114,111,110, 6,116, 99, 97,114,111,110, 4, 84, 98, 97,114, 4,116, 98, 97,114, 6, - 85,116,105,108,100,101, 6,117,116,105,108,100,101, 7, 85,109, 97, 99,114,111,110, 7,117,109, 97, 99,114,111,110, 6, 85, 98, -114,101,118,101, 6,117, 98,114,101,118,101, 5, 85,114,105,110,103, 5,117,114,105,110,103, 13, 85,104,117,110,103, 97,114,117, -109,108, 97,117,116, 13,117,104,117,110,103, 97,114,117,109,108, 97,117,116, 7, 85,111,103,111,110,101,107, 7,117,111,103,111, -110,101,107, 11, 87, 99,105,114, 99,117,109,102,108,101,120, 11,119, 99,105,114, 99,117,109,102,108,101,120, 11, 89, 99,105,114, - 99,117,109,102,108,101,120, 11,121, 99,105,114, 99,117,109,102,108,101,120, 6, 90, 97, 99,117,116,101, 6,122, 97, 99,117,116, -101, 10, 90,100,111,116, 97, 99, 99,101,110,116, 10,122,100,111,116, 97, 99, 99,101,110,116, 5,108,111,110,103,115, 10, 65,114, -105,110,103, 97, 99,117,116,101, 10, 97,114,105,110,103, 97, 99,117,116,101, 7, 65, 69, 97, 99,117,116,101, 7, 97,101, 97, 99, -117,116,101, 11, 79,115,108, 97,115,104, 97, 99,117,116,101, 11,111,115,108, 97,115,104, 97, 99,117,116,101, 12, 83, 99,111,109, -109, 97, 97, 99, 99,101,110,116, 12,115, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6,109, 97, 99,114,111,110, 5,116,111,110, -111,115, 13,100,105,101,114,101,115,105,115,116,111,110,111,115, 10, 65,108,112,104, 97,116,111,110,111,115, 9, 97,110,111,116, -101,108,101,105, 97, 12, 69,112,115,105,108,111,110,116,111,110,111,115, 8, 69,116, 97,116,111,110,111,115, 9, 73,111,116, 97, -116,111,110,111,115, 12, 79,109,105, 99,114,111,110,116,111,110,111,115, 12, 85,112,115,105,108,111,110,116,111,110,111,115, 10, - 79,109,101,103, 97,116,111,110,111,115, 17,105,111,116, 97,100,105,101,114,101,115,105,115,116,111,110,111,115, 5, 65,108,112, -104, 97, 4, 66,101,116, 97, 5, 71, 97,109,109, 97, 7,117,110,105, 48, 51, 57, 52, 7, 69,112,115,105,108,111,110, 4, 90,101, -116, 97, 3, 69,116, 97, 5, 84,104,101,116, 97, 4, 73,111,116, 97, 5, 75, 97,112,112, 97, 6, 76, 97,109, 98,100, 97, 2, 77, -117, 2, 78,117, 2, 88,105, 7, 79,109,105, 99,114,111,110, 2, 80,105, 3, 82,104,111, 5, 83,105,103,109, 97, 3, 84, 97,117, - 7, 85,112,115,105,108,111,110, 3, 80,104,105, 3, 67,104,105, 3, 80,115,105, 7,117,110,105, 48, 51, 65, 57, 12, 73,111,116, - 97,100,105,101,114,101,115,105,115, 15, 85,112,115,105,108,111,110,100,105,101,114,101,115,105,115, 10, 97,108,112,104, 97,116, -111,110,111,115, 12,101,112,115,105,108,111,110,116,111,110,111,115, 8,101,116, 97,116,111,110,111,115, 9,105,111,116, 97,116, -111,110,111,115, 20,117,112,115,105,108,111,110,100,105,101,114,101,115,105,115,116,111,110,111,115, 5, 97,108,112,104, 97, 4, - 98,101,116, 97, 5,103, 97,109,109, 97, 5,100,101,108,116, 97, 7,101,112,115,105,108,111,110, 4,122,101,116, 97, 3,101,116, - 97, 5,116,104,101,116, 97, 4,105,111,116, 97, 5,107, 97,112,112, 97, 6,108, 97,109, 98,100, 97, 7,117,110,105, 48, 51, 66, - 67, 2,110,117, 2,120,105, 7,111,109,105, 99,114,111,110, 3,114,104,111, 6,115,105,103,109, 97, 49, 5,115,105,103,109, 97, - 3,116, 97,117, 7,117,112,115,105,108,111,110, 3,112,104,105, 3, 99,104,105, 3,112,115,105, 5,111,109,101,103, 97, 12,105, -111,116, 97,100,105,101,114,101,115,105,115, 15,117,112,115,105,108,111,110,100,105,101,114,101,115,105,115, 12,111,109,105, 99, -114,111,110,116,111,110,111,115, 12,117,112,115,105,108,111,110,116,111,110,111,115, 10,111,109,101,103, 97,116,111,110,111,115, - 9, 97,102,105,105, 49, 48, 48, 50, 51, 9, 97,102,105,105, 49, 48, 48, 53, 49, 9, 97,102,105,105, 49, 48, 48, 53, 50, 9, 97, -102,105,105, 49, 48, 48, 53, 51, 9, 97,102,105,105, 49, 48, 48, 53, 52, 9, 97,102,105,105, 49, 48, 48, 53, 53, 9, 97,102,105, -105, 49, 48, 48, 53, 54, 9, 97,102,105,105, 49, 48, 48, 53, 55, 9, 97,102,105,105, 49, 48, 48, 53, 56, 9, 97,102,105,105, 49, - 48, 48, 53, 57, 9, 97,102,105,105, 49, 48, 48, 54, 48, 9, 97,102,105,105, 49, 48, 48, 54, 49, 9, 97,102,105,105, 49, 48, 48, - 54, 50, 9, 97,102,105,105, 49, 48, 49, 52, 53, 9, 97,102,105,105, 49, 48, 48, 49, 55, 9, 97,102,105,105, 49, 48, 48, 49, 56, - 9, 97,102,105,105, 49, 48, 48, 49, 57, 9, 97,102,105,105, 49, 48, 48, 50, 48, 9, 97,102,105,105, 49, 48, 48, 50, 49, 9, 97, -102,105,105, 49, 48, 48, 50, 50, 9, 97,102,105,105, 49, 48, 48, 50, 52, 9, 97,102,105,105, 49, 48, 48, 50, 53, 9, 97,102,105, -105, 49, 48, 48, 50, 54, 9, 97,102,105,105, 49, 48, 48, 50, 55, 9, 97,102,105,105, 49, 48, 48, 50, 56, 9, 97,102,105,105, 49, - 48, 48, 50, 57, 9, 97,102,105,105, 49, 48, 48, 51, 48, 9, 97,102,105,105, 49, 48, 48, 51, 49, 9, 97,102,105,105, 49, 48, 48, - 51, 50, 9, 97,102,105,105, 49, 48, 48, 51, 51, 9, 97,102,105,105, 49, 48, 48, 51, 52, 9, 97,102,105,105, 49, 48, 48, 51, 53, - 9, 97,102,105,105, 49, 48, 48, 51, 54, 9, 97,102,105,105, 49, 48, 48, 51, 55, 9, 97,102,105,105, 49, 48, 48, 51, 56, 9, 97, -102,105,105, 49, 48, 48, 51, 57, 9, 97,102,105,105, 49, 48, 48, 52, 48, 9, 97,102,105,105, 49, 48, 48, 52, 49, 9, 97,102,105, -105, 49, 48, 48, 52, 50, 9, 97,102,105,105, 49, 48, 48, 52, 51, 9, 97,102,105,105, 49, 48, 48, 52, 52, 9, 97,102,105,105, 49, - 48, 48, 52, 53, 9, 97,102,105,105, 49, 48, 48, 52, 54, 9, 97,102,105,105, 49, 48, 48, 52, 55, 9, 97,102,105,105, 49, 48, 48, - 52, 56, 9, 97,102,105,105, 49, 48, 48, 52, 57, 9, 97,102,105,105, 49, 48, 48, 54, 53, 9, 97,102,105,105, 49, 48, 48, 54, 54, - 9, 97,102,105,105, 49, 48, 48, 54, 55, 9, 97,102,105,105, 49, 48, 48, 54, 56, 9, 97,102,105,105, 49, 48, 48, 54, 57, 9, 97, -102,105,105, 49, 48, 48, 55, 48, 9, 97,102,105,105, 49, 48, 48, 55, 50, 9, 97,102,105,105, 49, 48, 48, 55, 51, 9, 97,102,105, -105, 49, 48, 48, 55, 52, 9, 97,102,105,105, 49, 48, 48, 55, 53, 9, 97,102,105,105, 49, 48, 48, 55, 54, 9, 97,102,105,105, 49, - 48, 48, 55, 55, 9, 97,102,105,105, 49, 48, 48, 55, 56, 9, 97,102,105,105, 49, 48, 48, 55, 57, 9, 97,102,105,105, 49, 48, 48, - 56, 48, 9, 97,102,105,105, 49, 48, 48, 56, 49, 9, 97,102,105,105, 49, 48, 48, 56, 50, 9, 97,102,105,105, 49, 48, 48, 56, 51, - 9, 97,102,105,105, 49, 48, 48, 56, 52, 9, 97,102,105,105, 49, 48, 48, 56, 53, 9, 97,102,105,105, 49, 48, 48, 56, 54, 9, 97, -102,105,105, 49, 48, 48, 56, 55, 9, 97,102,105,105, 49, 48, 48, 56, 56, 9, 97,102,105,105, 49, 48, 48, 56, 57, 9, 97,102,105, -105, 49, 48, 48, 57, 48, 9, 97,102,105,105, 49, 48, 48, 57, 49, 9, 97,102,105,105, 49, 48, 48, 57, 50, 9, 97,102,105,105, 49, - 48, 48, 57, 51, 9, 97,102,105,105, 49, 48, 48, 57, 52, 9, 97,102,105,105, 49, 48, 48, 57, 53, 9, 97,102,105,105, 49, 48, 48, - 57, 54, 9, 97,102,105,105, 49, 48, 48, 57, 55, 9, 97,102,105,105, 49, 48, 48, 55, 49, 9, 97,102,105,105, 49, 48, 48, 57, 57, + 2,252, 2,253, 2,254, 2,255, 3, 0, 0,155, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, + 3, 11, 3, 12, 3, 13, 3, 14, 3, 15, 3, 16, 3, 17, 3, 18, 3, 19, 3, 20, 3, 21, 3, 22, 3, 23, 3, 24, 3, 25, 3, 26, + 3, 27, 3, 28, 3, 29, 3, 30, 3, 31, 3, 32, 3, 33, 3, 34, 3, 35, 3, 36, 3, 37, 3, 38, 3, 39, 3, 40, 3, 41, 3, 42, + 3, 43, 3, 44, 3, 45, 3, 46, 3, 47, 3, 48, 3, 49, 3, 50, 3, 51, 3, 52, 3, 53, 3, 54, 3, 55, 3, 56, 3, 57, 3, 58, + 3, 59, 3, 60, 3, 61, 3, 62, 3, 63, 3, 64, 3, 65, 3, 66, 3, 67, 3, 68, 3, 69, 3, 70, 3, 71, 3, 72, 3, 73, 3, 74, + 3, 75, 3, 76, 3, 77, 3, 78, 3, 79, 3, 80, 3, 81, 3, 82, 3, 83, 3, 84, 3, 85, 3, 86, 3, 87, 3, 88, 3, 89, 3, 90, + 3, 91, 3, 92, 3, 93, 3, 94, 3, 95, 3, 96, 3, 97, 3, 98, 3, 99, 3,100, 3,101, 3,102, 3,103, 3,104, 3,105, 3,106, + 3,107, 3,108, 3,109, 3,110, 3,111, 3,112, 3,113, 3,114, 3,115, 3,116, 3,117, 3,118, 3,119, 3,120, 3,121, 3,122, + 3,123, 3,124, 3,125, 3,126, 3,127, 3,128, 3,129, 3,130, 3,131, 3,132, 3,133, 3,134, 3,135, 3,136, 3,137, 3,138, + 3,139, 3,140, 3,141, 3,142, 3,143, 3,144, 3,145, 3,146, 3,147, 3,148, 3,149, 3,150, 3,151, 3,152, 3,153, 3,154, + 3,155, 3,156, 3,157, 3,158, 3,159, 3,160, 3,161, 3,162, 3,163, 3,164, 3,165, 3,166, 3,167, 3,168, 3,169, 3,170, + 3,171, 3,172, 3,173, 3,174, 3,175, 3,176, 3,177, 3,178, 3,179, 3,180, 3,181, 3,182, 3,183, 3,184, 3,185, 3,186, + 3,187, 3,188, 3,189, 3,190, 3,191, 3,192, 3,193, 3,194, 3,195, 3,196, 3,197, 3,198, 3,199, 3,200, 3,201, 3,202, + 3,203, 3,204, 3,205, 3,206, 3,207, 3,208, 3,209, 3,210, 3,211, 3,212, 3,213, 3,214, 3,215, 3,216, 3,217, 3,218, + 3,219, 3,220, 3,221, 3,222, 3,223, 3,224, 3,225, 3,226, 3,227, 3,228, 3,229, 3,230, 3,231, 3,232, 3,233, 3,234, + 3,235, 3,236, 3,237, 3,238, 3,239, 3,240, 3,241, 3,242, 3,243, 3,244, 3,245, 3,246, 3,247, 3,248, 3,249, 3,250, + 3,251, 3,252, 3,253, 3,254, 3,255, 4, 0, 4, 1, 4, 2, 4, 3, 4, 4, 4, 5, 4, 6, 4, 7, 4, 8, 4, 9, 4, 10, + 4, 11, 4, 12, 4, 13, 4, 14, 4, 15, 4, 16, 4, 17, 4, 18, 4, 19, 4, 20, 4, 21, 4, 22, 4, 23, 4, 24, 4, 25, 4, 26, + 4, 27, 4, 28, 4, 29, 4, 30, 4, 31, 4, 32, 4, 33, 4, 34, 4, 35, 4, 36, 4, 37, 4, 38, 4, 39, 4, 40, 4, 41, 4, 42, + 4, 43, 4, 44, 4, 45, 4, 46, 4, 47, 4, 48, 4, 49, 4, 50, 4, 51, 4, 52, 4, 53, 4, 54, 4, 55, 4, 56, 4, 57, 4, 58, + 4, 59, 4, 60, 4, 61, 4, 62, 4, 63, 4, 64, 4, 65, 4, 66, 4, 67, 4, 68, 4, 69, 4, 70, 4, 71, 4, 72, 4, 73, 4, 74, + 4, 75, 4, 76, 4, 77, 4, 78, 4, 79, 4, 80, 4, 81, 4, 82, 4, 83, 4, 84, 4, 85, 4, 86, 4, 87, 4, 88, 4, 89, 4, 90, + 4, 91, 4, 92, 4, 93, 4, 94, 4, 95, 4, 96, 4, 97, 4, 98, 4, 99, 4,100, 4,101, 4,102, 4,103, 4,104, 4,105, 4,106, + 4,107, 4,108, 4,109, 4,110, 4,111, 4,112, 4,113, 4,114, 4,115, 4,116, 4,117, 4,118, 4,119, 4,120, 4,121, 4,122, + 4,123, 4,124, 4,125, 4,126, 4,127, 4,128, 4,129, 4,130, 4,131, 4,132, 4,133, 4,134, 4,135, 4,136, 4,137, 4,138, + 4,139, 4,140, 4,141, 4,142, 4,143, 4,144, 4,145, 4,146, 4,147, 4,148, 4,149, 4,150, 4,151, 4,152, 4,153, 4,154, + 4,155, 4,156, 4,157, 4,158, 4,159, 4,160, 4,161, 4,162, 4,163, 4,164, 4,165, 4,166, 4,167, 4,168, 4,169, 4,170, + 4,171, 4,172, 4,173, 4,174, 4,175, 4,176, 4,177, 4,178, 4,179, 4,180, 4,181, 4,182, 4,183, 4,184, 4,185, 4,186, + 4,187, 4,188, 4,189, 4,190, 4,191, 4,192, 4,193, 4,194, 4,195, 4,196, 4,197, 4,198, 4,199, 4,200, 4,201, 4,202, + 4,203, 4,204, 4,205, 4,206, 4,207, 4,208, 4,209, 4,210, 4,211, 4,212, 4,213, 4,214, 4,215, 4,216, 4,217, 4,218, + 4,219, 4,220, 4,221, 4,222, 4,223, 4,224, 4,225, 4,226, 4,227, 4,228, 4,229, 4,230, 4,231, 4,232, 4,233, 4,234, + 4,235, 4,236, 4,237, 4,238, 4,239, 4,240, 4,241, 4,242, 4,243, 4,244, 4,245, 4,246, 4,247, 4,248, 4,249, 4,250, + 4,251, 4,252, 4,253, 4,254, 4,255, 5, 0, 5, 1, 5, 2, 5, 3, 5, 4, 5, 5, 5, 6, 5, 7, 5, 8, 5, 9, 5, 10, + 5, 11, 5, 12, 5, 13, 5, 14, 5, 15, 5, 16, 5, 17, 5, 18, 5, 19, 5, 20, 5, 21, 5, 22, 5, 23, 5, 24, 5, 25, 5, 26, + 5, 27, 5, 28, 5, 29, 5, 30, 5, 31, 5, 32, 5, 33, 5, 34, 5, 35, 5, 36, 5, 37, 5, 38, 5, 39, 5, 40, 5, 41, 5, 42, + 5, 43, 5, 44, 5, 45, 5, 46, 5, 47, 5, 48, 5, 49, 5, 50, 5, 51, 5, 52, 5, 53, 5, 54, 5, 55, 5, 56, 5, 57, 5, 58, + 5, 59, 5, 60, 5, 61, 5, 62, 5, 63, 5, 64, 5, 65, 5, 66, 5, 67, 5, 68, 5, 69, 5, 70, 5, 71, 5, 72, 5, 73, 5, 74, + 5, 75, 5, 76, 5, 77, 5, 78, 5, 79, 5, 80, 5, 81, 5, 82, 5, 83, 5, 84, 5, 85, 5, 86, 5, 87, 5, 88, 5, 89, 5, 90, + 5, 91, 5, 92, 5, 93, 5, 94, 5, 95, 5, 96, 5, 97, 5, 98, 5, 99, 5,100, 5,101, 5,102, 5,103, 5,104, 5,105, 5,106, + 5,107, 5,108, 5,109, 5,110, 5,111, 5,112, 5,113, 5,114, 5,115, 5,116, 5,117, 5,118, 5,119, 5,120, 5,121, 5,122, + 5,123, 5,124, 5,125, 5,126, 5,127, 5,128, 5,129, 5,130, 5,131, 5,132, 5,133, 5,134, 5,135, 5,136, 5,137, 5,138, + 5,139, 5,140, 5,141, 5,142, 5,143, 5,144, 5,145, 5,146, 5,147, 5,148, 5,149, 5,150, 5,151, 5,152, 5,153, 5,154, + 5,155, 5,156, 5,157, 5,158, 5,159, 5,160, 5,161, 5,162, 5,163, 5,164, 5,165, 5,166, 5,167, 5,168, 5,169, 0,178, + 0,179, 5,170, 5,171, 5,172, 0,182, 0,183, 0,196, 5,173, 0,180, 0,181, 0,197, 5,174, 0,130, 0,194, 0,135, 5,175, + 5,176, 5,177, 0,171, 5,178, 0,198, 5,179, 5,180, 5,181, 5,182, 5,183, 5,184, 5,185, 5,186, 0,190, 0,191, 5,187, + 5,188, 5,189, 5,190, 5,191, 5,192, 5,193, 5,194, 5,195, 0,188, 5,196, 5,197, 5,198, 5,199, 5,200, 5,201, 5,202, + 5,203, 5,204, 5,205, 5,206, 5,207, 5,208, 5,209, 5,210, 5,211, 5,212, 5,213, 5,214, 5,215, 5,216, 5,217, 5,218, + 5,219, 5,220, 5,221, 5,222, 5,223, 5,224, 5,225, 5,226, 5,227, 5,228, 5,229, 5,230, 5,231, 5,232, 5,233, 5,234, + 5,235, 5,236, 5,237, 5,238, 5,239, 5,240, 5,241, 5,242, 5,243, 5,244, 5,245, 5,246, 5,247, 5,248, 5,249, 5,250, + 5,251, 5,252, 5,253, 0,247, 5,254, 5,255, 6, 0, 6, 1, 6, 2, 6, 3, 6, 4, 6, 5, 6, 6, 6, 7, 6, 8, 6, 9, + 6, 10, 6, 11, 6, 12, 6, 13, 6, 14, 6, 15, 6, 16, 6, 17, 6, 18, 6, 19, 6, 20, 6, 21, 6, 22, 6, 23, 6, 24, 6, 25, + 6, 26, 6, 27, 6, 28, 6, 29, 6, 30, 6, 31, 6, 32, 0,140, 6, 33, 6, 34, 6, 35, 6, 36, 6, 37, 6, 38, 6, 39, 6, 40, + 6, 41, 6, 42, 6, 43, 6, 44, 6, 45, 6, 46, 6, 47, 6, 48, 6, 49, 6, 50, 6, 51, 6, 52, 6, 53, 6, 54, 6, 55, 6, 56, + 6, 57, 6, 58, 6, 59, 6, 60, 6, 61, 6, 62, 6, 63, 6, 64, 6, 65, 6, 66, 6, 67, 6, 68, 6, 69, 6, 70, 6, 71, 6, 72, + 6, 73, 6, 74, 6, 75, 6, 76, 6, 77, 6, 78, 6, 79, 6, 80, 6, 81, 6, 82, 6, 83, 6, 84, 6, 85, 6, 86, 6, 87, 6, 88, + 6, 89, 6, 90, 6, 91, 6, 92, 6, 93, 6, 94, 6, 95, 6, 96, 6, 97, 6, 98, 6, 99, 6,100, 6,101, 6,102, 0,239, 6,103, + 6,104, 0,188, 6,105, 6,106, 6,107, 0,195, 0,165, 6,108, 6,109, 6,110, 0,146, 6,111, 6,112, 6,113, 6,114, 6,115, + 6,116, 6,117, 6,118, 6,119, 6,120, 6,121, 6,122, 6,123, 6,124, 6,125, 6,126, 6,127, 6,128, 6,129, 0,192, 0,193, + 6,130, 6,131, 6,132, 6,133, 6,134, 6,135, 6,136, 6,137, 6,138, 6,139, 6,140, 6,141, 6,142, 6,143, 6,144, 6,145, + 6,146, 6,147, 6,148, 6,149, 6,150, 6,151, 6,152, 6,153, 6,154, 6,155, 6,156, 6,157, 6,158, 6,159, 6,160, 6,161, + 6,162, 6,163, 6,164, 6,165, 6,166, 6,167, 6,168, 6,169, 6,170, 6,171, 9,115,102,116,104,121,112,104,101,110, 7, 65, +109, 97, 99,114,111,110, 7, 97,109, 97, 99,114,111,110, 6, 65, 98,114,101,118,101, 6, 97, 98,114,101,118,101, 7, 65,111,103, +111,110,101,107, 7, 97,111,103,111,110,101,107, 11, 67, 99,105,114, 99,117,109,102,108,101,120, 11, 99, 99,105,114, 99,117,109, +102,108,101,120, 10, 67,100,111,116, 97, 99, 99,101,110,116, 10, 99,100,111,116, 97, 99, 99,101,110,116, 6, 68, 99, 97,114,111, +110, 6,100, 99, 97,114,111,110, 6, 68, 99,114,111, 97,116, 7, 69,109, 97, 99,114,111,110, 7,101,109, 97, 99,114,111,110, 6, + 69, 98,114,101,118,101, 6,101, 98,114,101,118,101, 10, 69,100,111,116, 97, 99, 99,101,110,116, 10,101,100,111,116, 97, 99, 99, +101,110,116, 7, 69,111,103,111,110,101,107, 7,101,111,103,111,110,101,107, 6, 69, 99, 97,114,111,110, 6,101, 99, 97,114,111, +110, 11, 71, 99,105,114, 99,117,109,102,108,101,120, 11,103, 99,105,114, 99,117,109,102,108,101,120, 10, 71,100,111,116, 97, 99, + 99,101,110,116, 10,103,100,111,116, 97, 99, 99,101,110,116, 12, 71, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,103, 99,111, +109,109, 97, 97, 99, 99,101,110,116, 11, 72, 99,105,114, 99,117,109,102,108,101,120, 11,104, 99,105,114, 99,117,109,102,108,101, +120, 4, 72, 98, 97,114, 4,104, 98, 97,114, 6, 73,116,105,108,100,101, 6,105,116,105,108,100,101, 7, 73,109, 97, 99,114,111, +110, 7,105,109, 97, 99,114,111,110, 6, 73, 98,114,101,118,101, 6,105, 98,114,101,118,101, 7, 73,111,103,111,110,101,107, 7, +105,111,103,111,110,101,107, 2, 73, 74, 2,105,106, 11, 74, 99,105,114, 99,117,109,102,108,101,120, 11,106, 99,105,114, 99,117, +109,102,108,101,120, 12, 75, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,107, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12, +107,103,114,101,101,110,108, 97,110,100,105, 99, 6, 76, 97, 99,117,116,101, 6,108, 97, 99,117,116,101, 12, 76, 99,111,109,109, + 97, 97, 99, 99,101,110,116, 12,108, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 76, 99, 97,114,111,110, 6,108, 99, 97,114, +111,110, 4, 76,100,111,116, 4,108,100,111,116, 6, 78, 97, 99,117,116,101, 6,110, 97, 99,117,116,101, 12, 78, 99,111,109,109, + 97, 97, 99, 99,101,110,116, 12,110, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 78, 99, 97,114,111,110, 6,110, 99, 97,114, +111,110, 11,110, 97,112,111,115,116,114,111,112,104,101, 3, 69,110,103, 3,101,110,103, 7, 79,109, 97, 99,114,111,110, 7,111, +109, 97, 99,114,111,110, 6, 79, 98,114,101,118,101, 6,111, 98,114,101,118,101, 13, 79,104,117,110,103, 97,114,117,109,108, 97, +117,116, 13,111,104,117,110,103, 97,114,117,109,108, 97,117,116, 6, 82, 97, 99,117,116,101, 6,114, 97, 99,117,116,101, 12, 82, + 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,114, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 82, 99, 97,114,111,110, 6, +114, 99, 97,114,111,110, 6, 83, 97, 99,117,116,101, 6,115, 97, 99,117,116,101, 11, 83, 99,105,114, 99,117,109,102,108,101,120, + 11,115, 99,105,114, 99,117,109,102,108,101,120, 12, 84, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,116, 99,111,109,109, 97, + 97, 99, 99,101,110,116, 6, 84, 99, 97,114,111,110, 6,116, 99, 97,114,111,110, 4, 84, 98, 97,114, 4,116, 98, 97,114, 6, 85, +116,105,108,100,101, 6,117,116,105,108,100,101, 7, 85,109, 97, 99,114,111,110, 7,117,109, 97, 99,114,111,110, 6, 85, 98,114, +101,118,101, 6,117, 98,114,101,118,101, 5, 85,114,105,110,103, 5,117,114,105,110,103, 13, 85,104,117,110,103, 97,114,117,109, +108, 97,117,116, 13,117,104,117,110,103, 97,114,117,109,108, 97,117,116, 7, 85,111,103,111,110,101,107, 7,117,111,103,111,110, +101,107, 11, 87, 99,105,114, 99,117,109,102,108,101,120, 11,119, 99,105,114, 99,117,109,102,108,101,120, 11, 89, 99,105,114, 99, +117,109,102,108,101,120, 11,121, 99,105,114, 99,117,109,102,108,101,120, 6, 90, 97, 99,117,116,101, 6,122, 97, 99,117,116,101, + 10, 90,100,111,116, 97, 99, 99,101,110,116, 10,122,100,111,116, 97, 99, 99,101,110,116, 5,108,111,110,103,115, 7,117,110,105, + 48, 49, 56, 48, 7,117,110,105, 48, 49, 56, 49, 7,117,110,105, 48, 49, 56, 50, 7,117,110,105, 48, 49, 56, 51, 7,117,110,105, + 48, 49, 56, 52, 7,117,110,105, 48, 49, 56, 53, 7,117,110,105, 48, 49, 56, 54, 7,117,110,105, 48, 49, 56, 55, 7,117,110,105, + 48, 49, 56, 56, 7,117,110,105, 48, 49, 56, 57, 7,117,110,105, 48, 49, 56, 65, 7,117,110,105, 48, 49, 56, 66, 7,117,110,105, + 48, 49, 56, 67, 7,117,110,105, 48, 49, 56, 68, 7,117,110,105, 48, 49, 56, 69, 7,117,110,105, 48, 49, 56, 70, 7,117,110,105, + 48, 49, 57, 48, 7,117,110,105, 48, 49, 57, 49, 7,117,110,105, 48, 49, 57, 51, 7,117,110,105, 48, 49, 57, 52, 7,117,110,105, + 48, 49, 57, 53, 7,117,110,105, 48, 49, 57, 54, 7,117,110,105, 48, 49, 57, 55, 7,117,110,105, 48, 49, 57, 56, 7,117,110,105, + 48, 49, 57, 57, 7,117,110,105, 48, 49, 57, 65, 7,117,110,105, 48, 49, 57, 66, 7,117,110,105, 48, 49, 57, 67, 7,117,110,105, + 48, 49, 57, 68, 7,117,110,105, 48, 49, 57, 69, 7,117,110,105, 48, 49, 57, 70, 5, 79,104,111,114,110, 5,111,104,111,114,110, + 7,117,110,105, 48, 49, 65, 50, 7,117,110,105, 48, 49, 65, 51, 7,117,110,105, 48, 49, 65, 52, 7,117,110,105, 48, 49, 65, 53, + 7,117,110,105, 48, 49, 65, 54, 7,117,110,105, 48, 49, 65, 55, 7,117,110,105, 48, 49, 65, 56, 7,117,110,105, 48, 49, 65, 57, + 7,117,110,105, 48, 49, 65, 65, 7,117,110,105, 48, 49, 65, 66, 7,117,110,105, 48, 49, 65, 67, 7,117,110,105, 48, 49, 65, 68, + 7,117,110,105, 48, 49, 65, 69, 5, 85,104,111,114,110, 5,117,104,111,114,110, 7,117,110,105, 48, 49, 66, 49, 7,117,110,105, + 48, 49, 66, 50, 7,117,110,105, 48, 49, 66, 51, 7,117,110,105, 48, 49, 66, 52, 7,117,110,105, 48, 49, 66, 53, 7,117,110,105, + 48, 49, 66, 54, 7,117,110,105, 48, 49, 66, 55, 7,117,110,105, 48, 49, 66, 56, 7,117,110,105, 48, 49, 66, 57, 7,117,110,105, + 48, 49, 66, 65, 7,117,110,105, 48, 49, 66, 66, 7,117,110,105, 48, 49, 66, 67, 7,117,110,105, 48, 49, 66, 68, 7,117,110,105, + 48, 49, 66, 69, 7,117,110,105, 48, 49, 66, 70, 7,117,110,105, 48, 49, 67, 48, 7,117,110,105, 48, 49, 67, 49, 7,117,110,105, + 48, 49, 67, 50, 7,117,110,105, 48, 49, 67, 51, 7,117,110,105, 48, 49, 67, 52, 7,117,110,105, 48, 49, 67, 53, 7,117,110,105, + 48, 49, 67, 54, 7,117,110,105, 48, 49, 67, 55, 7,117,110,105, 48, 49, 67, 56, 7,117,110,105, 48, 49, 67, 57, 7,117,110,105, + 48, 49, 67, 65, 7,117,110,105, 48, 49, 67, 66, 7,117,110,105, 48, 49, 67, 67, 7,117,110,105, 48, 49, 67, 68, 7,117,110,105, + 48, 49, 67, 69, 7,117,110,105, 48, 49, 67, 70, 7,117,110,105, 48, 49, 68, 48, 7,117,110,105, 48, 49, 68, 49, 7,117,110,105, + 48, 49, 68, 50, 7,117,110,105, 48, 49, 68, 51, 7,117,110,105, 48, 49, 68, 52, 7,117,110,105, 48, 49, 68, 53, 7,117,110,105, + 48, 49, 68, 54, 7,117,110,105, 48, 49, 68, 55, 7,117,110,105, 48, 49, 68, 56, 7,117,110,105, 48, 49, 68, 57, 7,117,110,105, + 48, 49, 68, 65, 7,117,110,105, 48, 49, 68, 66, 7,117,110,105, 48, 49, 68, 67, 7,117,110,105, 48, 49, 68, 68, 7,117,110,105, + 48, 49, 68, 69, 7,117,110,105, 48, 49, 68, 70, 7,117,110,105, 48, 49, 69, 48, 7,117,110,105, 48, 49, 69, 49, 7,117,110,105, + 48, 49, 69, 50, 7,117,110,105, 48, 49, 69, 51, 7,117,110,105, 48, 49, 69, 52, 7,117,110,105, 48, 49, 69, 53, 6, 71, 99, 97, +114,111,110, 6,103, 99, 97,114,111,110, 7,117,110,105, 48, 49, 69, 56, 7,117,110,105, 48, 49, 69, 57, 7,117,110,105, 48, 49, + 69, 65, 7,117,110,105, 48, 49, 69, 66, 7,117,110,105, 48, 49, 69, 67, 7,117,110,105, 48, 49, 69, 68, 7,117,110,105, 48, 49, + 69, 69, 7,117,110,105, 48, 49, 69, 70, 7,117,110,105, 48, 49, 70, 48, 7,117,110,105, 48, 49, 70, 49, 7,117,110,105, 48, 49, + 70, 50, 7,117,110,105, 48, 49, 70, 51, 7,117,110,105, 48, 49, 70, 52, 7,117,110,105, 48, 49, 70, 53, 7,117,110,105, 48, 49, + 70, 54, 7,117,110,105, 48, 49, 70, 55, 7,117,110,105, 48, 49, 70, 56, 7,117,110,105, 48, 49, 70, 57, 10, 65,114,105,110,103, + 97, 99,117,116,101, 10, 97,114,105,110,103, 97, 99,117,116,101, 7, 65, 69, 97, 99,117,116,101, 7, 97,101, 97, 99,117,116,101, + 11, 79,115,108, 97,115,104, 97, 99,117,116,101, 11,111,115,108, 97,115,104, 97, 99,117,116,101, 7,117,110,105, 48, 50, 48, 48, + 7,117,110,105, 48, 50, 48, 49, 7,117,110,105, 48, 50, 48, 50, 7,117,110,105, 48, 50, 48, 51, 7,117,110,105, 48, 50, 48, 52, + 7,117,110,105, 48, 50, 48, 53, 7,117,110,105, 48, 50, 48, 54, 7,117,110,105, 48, 50, 48, 55, 7,117,110,105, 48, 50, 48, 56, + 7,117,110,105, 48, 50, 48, 57, 7,117,110,105, 48, 50, 48, 65, 7,117,110,105, 48, 50, 48, 66, 7,117,110,105, 48, 50, 48, 67, + 7,117,110,105, 48, 50, 48, 68, 7,117,110,105, 48, 50, 48, 69, 7,117,110,105, 48, 50, 48, 70, 7,117,110,105, 48, 50, 49, 48, + 7,117,110,105, 48, 50, 49, 49, 7,117,110,105, 48, 50, 49, 50, 7,117,110,105, 48, 50, 49, 51, 7,117,110,105, 48, 50, 49, 52, + 7,117,110,105, 48, 50, 49, 53, 7,117,110,105, 48, 50, 49, 54, 7,117,110,105, 48, 50, 49, 55, 12, 83, 99,111,109,109, 97, 97, + 99, 99,101,110,116, 12,115, 99,111,109,109, 97, 97, 99, 99,101,110,116, 7,117,110,105, 48, 50, 49, 65, 7,117,110,105, 48, 50, + 49, 66, 7,117,110,105, 48, 50, 49, 67, 7,117,110,105, 48, 50, 49, 68, 7,117,110,105, 48, 50, 49, 69, 7,117,110,105, 48, 50, + 49, 70, 7,117,110,105, 48, 50, 50, 48, 7,117,110,105, 48, 50, 50, 49, 7,117,110,105, 48, 50, 50, 50, 7,117,110,105, 48, 50, + 50, 51, 7,117,110,105, 48, 50, 50, 52, 7,117,110,105, 48, 50, 50, 53, 7,117,110,105, 48, 50, 50, 54, 7,117,110,105, 48, 50, + 50, 55, 7,117,110,105, 48, 50, 50, 56, 7,117,110,105, 48, 50, 50, 57, 7,117,110,105, 48, 50, 50, 65, 7,117,110,105, 48, 50, + 50, 66, 7,117,110,105, 48, 50, 50, 67, 7,117,110,105, 48, 50, 50, 68, 7,117,110,105, 48, 50, 50, 69, 7,117,110,105, 48, 50, + 50, 70, 7,117,110,105, 48, 50, 51, 48, 7,117,110,105, 48, 50, 51, 49, 7,117,110,105, 48, 50, 51, 50, 7,117,110,105, 48, 50, + 51, 51, 7,117,110,105, 48, 50, 51, 52, 7,117,110,105, 48, 50, 51, 53, 7,117,110,105, 48, 50, 51, 54, 8,100,111,116,108,101, +115,115,106, 7,117,110,105, 48, 50, 51, 56, 7,117,110,105, 48, 50, 51, 57, 7,117,110,105, 48, 50, 51, 65, 7,117,110,105, 48, + 50, 51, 66, 7,117,110,105, 48, 50, 51, 67, 7,117,110,105, 48, 50, 51, 68, 7,117,110,105, 48, 50, 51, 69, 7,117,110,105, 48, + 50, 51, 70, 7,117,110,105, 48, 50, 52, 48, 7,117,110,105, 48, 50, 52, 49, 7,117,110,105, 48, 50, 53, 57, 7,117,110,105, 48, + 50, 54, 50, 7,117,110,105, 48, 50, 55, 48, 7,117,110,105, 48, 50, 55, 53, 7,117,110,105, 48, 50, 57, 50, 7,117,110,105, 48, + 50, 66, 48, 7,117,110,105, 48, 50, 66, 49, 7,117,110,105, 48, 50, 66, 50, 7,117,110,105, 48, 50, 66, 51, 7,117,110,105, 48, + 50, 66, 52, 7,117,110,105, 48, 50, 66, 53, 7,117,110,105, 48, 50, 66, 54, 7,117,110,105, 48, 50, 66, 55, 7,117,110,105, 48, + 50, 66, 56, 7,117,110,105, 48, 50, 66, 57, 7,117,110,105, 48, 50, 66, 65, 7,117,110,105, 48, 50, 66, 66, 9, 97,102,105,105, + 53, 55, 57, 50, 57, 9, 97,102,105,105, 54, 52, 57, 51, 55, 7,117,110,105, 48, 50, 66, 69, 7,117,110,105, 48, 50, 66, 70, 7, +117,110,105, 48, 50, 67, 48, 7,117,110,105, 48, 50, 67, 49, 7,117,110,105, 48, 50, 67, 50, 7,117,110,105, 48, 50, 67, 51, 7, +117,110,105, 48, 50, 67, 52, 7,117,110,105, 48, 50, 67, 53, 7,117,110,105, 48, 50, 67, 56, 7,117,110,105, 48, 50, 67, 57, 7, +117,110,105, 48, 50, 67, 65, 7,117,110,105, 48, 50, 67, 66, 7,117,110,105, 48, 50, 67, 67, 7,117,110,105, 48, 50, 67, 68, 7, +117,110,105, 48, 50, 67, 69, 7,117,110,105, 48, 50, 67, 70, 7,117,110,105, 48, 50, 68, 48, 7,117,110,105, 48, 50, 68, 49, 7, +117,110,105, 48, 50, 68, 50, 7,117,110,105, 48, 50, 68, 51, 7,117,110,105, 48, 50, 68, 52, 7,117,110,105, 48, 50, 68, 53, 7, +117,110,105, 48, 50, 68, 54, 7,117,110,105, 48, 50, 68, 55, 7,117,110,105, 48, 50, 68, 69, 7,117,110,105, 48, 50, 68, 70, 7, +117,110,105, 48, 50, 69, 48, 7,117,110,105, 48, 50, 69, 49, 7,117,110,105, 48, 50, 69, 50, 7,117,110,105, 48, 50, 69, 51, 7, +117,110,105, 48, 50, 69, 52, 7,117,110,105, 48, 50, 69, 53, 7,117,110,105, 48, 50, 69, 54, 7,117,110,105, 48, 50, 69, 55, 7, +117,110,105, 48, 50, 69, 56, 7,117,110,105, 48, 50, 69, 57, 7,117,110,105, 48, 50, 69, 67, 7,117,110,105, 48, 50, 69, 68, 7, +117,110,105, 48, 50, 69, 69, 7,117,110,105, 48, 50, 70, 51, 7,117,110,105, 48, 50, 70, 55, 9,103,114, 97,118,101, 99,111,109, + 98, 9, 97, 99,117,116,101, 99,111,109, 98, 7,117,110,105, 48, 51, 48, 50, 9,116,105,108,100,101, 99,111,109, 98, 7,117,110, +105, 48, 51, 48, 52, 7,117,110,105, 48, 51, 48, 53, 7,117,110,105, 48, 51, 48, 54, 7,117,110,105, 48, 51, 48, 55, 7,117,110, +105, 48, 51, 48, 56, 13,104,111,111,107, 97, 98,111,118,101, 99,111,109, 98, 7,117,110,105, 48, 51, 48, 65, 7,117,110,105, 48, + 51, 48, 66, 7,117,110,105, 48, 51, 48, 67, 7,117,110,105, 48, 51, 48, 68, 7,117,110,105, 48, 51, 48, 69, 7,117,110,105, 48, + 51, 48, 70, 7,117,110,105, 48, 51, 49, 48, 7,117,110,105, 48, 51, 49, 49, 7,117,110,105, 48, 51, 49, 50, 7,117,110,105, 48, + 51, 49, 51, 7,117,110,105, 48, 51, 49, 52, 7,117,110,105, 48, 51, 49, 53, 7,117,110,105, 48, 51, 49, 54, 7,117,110,105, 48, + 51, 49, 55, 7,117,110,105, 48, 51, 49, 56, 7,117,110,105, 48, 51, 49, 57, 7,117,110,105, 48, 51, 49, 65, 7,117,110,105, 48, + 51, 49, 66, 7,117,110,105, 48, 51, 49, 67, 7,117,110,105, 48, 51, 49, 68, 7,117,110,105, 48, 51, 49, 69, 7,117,110,105, 48, + 51, 49, 70, 7,117,110,105, 48, 51, 50, 48, 7,117,110,105, 48, 51, 50, 49, 7,117,110,105, 48, 51, 50, 50, 12,100,111,116, 98, +101,108,111,119, 99,111,109, 98, 7,117,110,105, 48, 51, 50, 52, 7,117,110,105, 48, 51, 50, 53, 7,117,110,105, 48, 51, 50, 54, + 7,117,110,105, 48, 51, 50, 55, 7,117,110,105, 48, 51, 50, 56, 7,117,110,105, 48, 51, 50, 57, 7,117,110,105, 48, 51, 50, 65, + 7,117,110,105, 48, 51, 50, 66, 7,117,110,105, 48, 51, 50, 67, 7,117,110,105, 48, 51, 50, 68, 7,117,110,105, 48, 51, 50, 69, + 7,117,110,105, 48, 51, 50, 70, 7,117,110,105, 48, 51, 51, 48, 7,117,110,105, 48, 51, 51, 49, 7,117,110,105, 48, 51, 51, 50, + 7,117,110,105, 48, 51, 51, 51, 7,117,110,105, 48, 51, 51, 52, 7,117,110,105, 48, 51, 51, 53, 7,117,110,105, 48, 51, 51, 54, + 7,117,110,105, 48, 51, 51, 55, 7,117,110,105, 48, 51, 51, 56, 7,117,110,105, 48, 51, 51, 57, 7,117,110,105, 48, 51, 51, 65, + 7,117,110,105, 48, 51, 51, 66, 7,117,110,105, 48, 51, 51, 67, 7,117,110,105, 48, 51, 51, 68, 7,117,110,105, 48, 51, 51, 69, + 7,117,110,105, 48, 51, 51, 70, 7,117,110,105, 48, 51, 52, 48, 7,117,110,105, 48, 51, 52, 49, 7,117,110,105, 48, 51, 52, 50, + 7,117,110,105, 48, 51, 52, 51, 7,117,110,105, 48, 51, 52, 52, 7,117,110,105, 48, 51, 52, 53, 7,117,110,105, 48, 51, 52, 54, + 7,117,110,105, 48, 51, 52, 55, 7,117,110,105, 48, 51, 52, 56, 7,117,110,105, 48, 51, 52, 57, 7,117,110,105, 48, 51, 52, 65, + 7,117,110,105, 48, 51, 52, 66, 7,117,110,105, 48, 51, 52, 67, 7,117,110,105, 48, 51, 52, 68, 7,117,110,105, 48, 51, 52, 69, + 7,117,110,105, 48, 51, 53, 49, 7,117,110,105, 48, 51, 53, 50, 7,117,110,105, 48, 51, 53, 51, 7,117,110,105, 48, 51, 53, 55, + 7,117,110,105, 48, 51, 53, 56, 7,117,110,105, 48, 51, 53, 67, 7,117,110,105, 48, 51, 53, 68, 7,117,110,105, 48, 51, 54, 48, + 7,117,110,105, 48, 51, 54, 49, 7,117,110,105, 48, 51, 54, 50, 7,117,110,105, 48, 51, 55, 52, 7,117,110,105, 48, 51, 55, 53, + 7,117,110,105, 48, 51, 55, 65, 7,117,110,105, 48, 51, 55, 69, 5,116,111,110,111,115, 13,100,105,101,114,101,115,105,115,116, +111,110,111,115, 10, 65,108,112,104, 97,116,111,110,111,115, 9, 97,110,111,116,101,108,101,105, 97, 12, 69,112,115,105,108,111, +110,116,111,110,111,115, 8, 69,116, 97,116,111,110,111,115, 9, 73,111,116, 97,116,111,110,111,115, 12, 79,109,105, 99,114,111, +110,116,111,110,111,115, 12, 85,112,115,105,108,111,110,116,111,110,111,115, 10, 79,109,101,103, 97,116,111,110,111,115, 17,105, +111,116, 97,100,105,101,114,101,115,105,115,116,111,110,111,115, 5, 65,108,112,104, 97, 4, 66,101,116, 97, 5, 71, 97,109,109, + 97, 7,117,110,105, 48, 51, 57, 52, 7, 69,112,115,105,108,111,110, 4, 90,101,116, 97, 3, 69,116, 97, 5, 84,104,101,116, 97, + 4, 73,111,116, 97, 5, 75, 97,112,112, 97, 6, 76, 97,109, 98,100, 97, 2, 77,117, 2, 78,117, 2, 88,105, 7, 79,109,105, 99, +114,111,110, 2, 80,105, 3, 82,104,111, 5, 83,105,103,109, 97, 3, 84, 97,117, 7, 85,112,115,105,108,111,110, 3, 80,104,105, + 3, 67,104,105, 3, 80,115,105, 12, 73,111,116, 97,100,105,101,114,101,115,105,115, 15, 85,112,115,105,108,111,110,100,105,101, +114,101,115,105,115, 10, 97,108,112,104, 97,116,111,110,111,115, 12,101,112,115,105,108,111,110,116,111,110,111,115, 8,101,116, + 97,116,111,110,111,115, 9,105,111,116, 97,116,111,110,111,115, 20,117,112,115,105,108,111,110,100,105,101,114,101,115,105,115, +116,111,110,111,115, 5, 97,108,112,104, 97, 4, 98,101,116, 97, 5,103, 97,109,109, 97, 5,100,101,108,116, 97, 7,101,112,115, +105,108,111,110, 4,122,101,116, 97, 3,101,116, 97, 5,116,104,101,116, 97, 4,105,111,116, 97, 5,107, 97,112,112, 97, 6,108, + 97,109, 98,100, 97, 7,117,110,105, 48, 51, 66, 67, 2,110,117, 2,120,105, 7,111,109,105, 99,114,111,110, 3,114,104,111, 6, +115,105,103,109, 97, 49, 5,115,105,103,109, 97, 3,116, 97,117, 7,117,112,115,105,108,111,110, 3,112,104,105, 3, 99,104,105, + 3,112,115,105, 5,111,109,101,103, 97, 12,105,111,116, 97,100,105,101,114,101,115,105,115, 15,117,112,115,105,108,111,110,100, +105,101,114,101,115,105,115, 12,111,109,105, 99,114,111,110,116,111,110,111,115, 12,117,112,115,105,108,111,110,116,111,110,111, +115, 10,111,109,101,103, 97,116,111,110,111,115, 7,117,110,105, 48, 51, 68, 48, 6,116,104,101,116, 97, 49, 8, 85,112,115,105, +108,111,110, 49, 7,117,110,105, 48, 51, 68, 51, 7,117,110,105, 48, 51, 68, 52, 4,112,104,105, 49, 6,111,109,101,103, 97, 49, + 7,117,110,105, 48, 51, 68, 55, 7,117,110,105, 48, 51, 68, 56, 7,117,110,105, 48, 51, 68, 57, 7,117,110,105, 48, 51, 68, 65, + 7,117,110,105, 48, 51, 68, 66, 7,117,110,105, 48, 51, 68, 67, 7,117,110,105, 48, 51, 68, 68, 7,117,110,105, 48, 51, 68, 69, + 7,117,110,105, 48, 51, 68, 70, 7,117,110,105, 48, 51, 69, 48, 7,117,110,105, 48, 51, 69, 49, 7,117,110,105, 48, 51, 69, 50, + 7,117,110,105, 48, 51, 69, 51, 7,117,110,105, 48, 51, 69, 52, 7,117,110,105, 48, 51, 69, 53, 7,117,110,105, 48, 51, 69, 54, + 7,117,110,105, 48, 51, 69, 55, 7,117,110,105, 48, 51, 69, 56, 7,117,110,105, 48, 51, 69, 57, 7,117,110,105, 48, 51, 69, 65, + 7,117,110,105, 48, 51, 69, 66, 7,117,110,105, 48, 51, 69, 67, 7,117,110,105, 48, 51, 69, 68, 7,117,110,105, 48, 51, 69, 69, + 7,117,110,105, 48, 51, 69, 70, 7,117,110,105, 48, 51, 70, 48, 7,117,110,105, 48, 51, 70, 49, 7,117,110,105, 48, 51, 70, 50, + 7,117,110,105, 48, 51, 70, 51, 7,117,110,105, 48, 51, 70, 52, 7,117,110,105, 48, 51, 70, 53, 7,117,110,105, 48, 51, 70, 54, + 7,117,110,105, 48, 51, 70, 55, 7,117,110,105, 48, 51, 70, 56, 7,117,110,105, 48, 51, 70, 57, 7,117,110,105, 48, 51, 70, 65, + 7,117,110,105, 48, 51, 70, 66, 7,117,110,105, 48, 51, 70, 67, 7,117,110,105, 48, 51, 70, 68, 7,117,110,105, 48, 51, 70, 69, + 7,117,110,105, 48, 51, 70, 70, 7,117,110,105, 48, 52, 48, 48, 9, 97,102,105,105, 49, 48, 48, 50, 51, 9, 97,102,105,105, 49, + 48, 48, 53, 49, 9, 97,102,105,105, 49, 48, 48, 53, 50, 9, 97,102,105,105, 49, 48, 48, 53, 51, 9, 97,102,105,105, 49, 48, 48, + 53, 52, 9, 97,102,105,105, 49, 48, 48, 53, 53, 9, 97,102,105,105, 49, 48, 48, 53, 54, 9, 97,102,105,105, 49, 48, 48, 53, 55, + 9, 97,102,105,105, 49, 48, 48, 53, 56, 9, 97,102,105,105, 49, 48, 48, 53, 57, 9, 97,102,105,105, 49, 48, 48, 54, 48, 9, 97, +102,105,105, 49, 48, 48, 54, 49, 7,117,110,105, 48, 52, 48, 68, 9, 97,102,105,105, 49, 48, 48, 54, 50, 9, 97,102,105,105, 49, + 48, 49, 52, 53, 9, 97,102,105,105, 49, 48, 48, 49, 55, 9, 97,102,105,105, 49, 48, 48, 49, 56, 9, 97,102,105,105, 49, 48, 48, + 49, 57, 9, 97,102,105,105, 49, 48, 48, 50, 48, 9, 97,102,105,105, 49, 48, 48, 50, 49, 9, 97,102,105,105, 49, 48, 48, 50, 50, + 9, 97,102,105,105, 49, 48, 48, 50, 52, 9, 97,102,105,105, 49, 48, 48, 50, 53, 9, 97,102,105,105, 49, 48, 48, 50, 54, 9, 97, +102,105,105, 49, 48, 48, 50, 55, 9, 97,102,105,105, 49, 48, 48, 50, 56, 9, 97,102,105,105, 49, 48, 48, 50, 57, 9, 97,102,105, +105, 49, 48, 48, 51, 48, 9, 97,102,105,105, 49, 48, 48, 51, 49, 9, 97,102,105,105, 49, 48, 48, 51, 50, 9, 97,102,105,105, 49, + 48, 48, 51, 51, 9, 97,102,105,105, 49, 48, 48, 51, 52, 9, 97,102,105,105, 49, 48, 48, 51, 53, 9, 97,102,105,105, 49, 48, 48, + 51, 54, 9, 97,102,105,105, 49, 48, 48, 51, 55, 9, 97,102,105,105, 49, 48, 48, 51, 56, 9, 97,102,105,105, 49, 48, 48, 51, 57, + 9, 97,102,105,105, 49, 48, 48, 52, 48, 9, 97,102,105,105, 49, 48, 48, 52, 49, 9, 97,102,105,105, 49, 48, 48, 52, 50, 9, 97, +102,105,105, 49, 48, 48, 52, 51, 9, 97,102,105,105, 49, 48, 48, 52, 52, 9, 97,102,105,105, 49, 48, 48, 52, 53, 9, 97,102,105, +105, 49, 48, 48, 52, 54, 9, 97,102,105,105, 49, 48, 48, 52, 55, 9, 97,102,105,105, 49, 48, 48, 52, 56, 9, 97,102,105,105, 49, + 48, 48, 52, 57, 9, 97,102,105,105, 49, 48, 48, 54, 53, 9, 97,102,105,105, 49, 48, 48, 54, 54, 9, 97,102,105,105, 49, 48, 48, + 54, 55, 9, 97,102,105,105, 49, 48, 48, 54, 56, 9, 97,102,105,105, 49, 48, 48, 54, 57, 9, 97,102,105,105, 49, 48, 48, 55, 48, + 9, 97,102,105,105, 49, 48, 48, 55, 50, 9, 97,102,105,105, 49, 48, 48, 55, 51, 9, 97,102,105,105, 49, 48, 48, 55, 52, 9, 97, +102,105,105, 49, 48, 48, 55, 53, 9, 97,102,105,105, 49, 48, 48, 55, 54, 9, 97,102,105,105, 49, 48, 48, 55, 55, 9, 97,102,105, +105, 49, 48, 48, 55, 56, 9, 97,102,105,105, 49, 48, 48, 55, 57, 9, 97,102,105,105, 49, 48, 48, 56, 48, 9, 97,102,105,105, 49, + 48, 48, 56, 49, 9, 97,102,105,105, 49, 48, 48, 56, 50, 9, 97,102,105,105, 49, 48, 48, 56, 51, 9, 97,102,105,105, 49, 48, 48, + 56, 52, 9, 97,102,105,105, 49, 48, 48, 56, 53, 9, 97,102,105,105, 49, 48, 48, 56, 54, 9, 97,102,105,105, 49, 48, 48, 56, 55, + 9, 97,102,105,105, 49, 48, 48, 56, 56, 9, 97,102,105,105, 49, 48, 48, 56, 57, 9, 97,102,105,105, 49, 48, 48, 57, 48, 9, 97, +102,105,105, 49, 48, 48, 57, 49, 9, 97,102,105,105, 49, 48, 48, 57, 50, 9, 97,102,105,105, 49, 48, 48, 57, 51, 9, 97,102,105, +105, 49, 48, 48, 57, 52, 9, 97,102,105,105, 49, 48, 48, 57, 53, 9, 97,102,105,105, 49, 48, 48, 57, 54, 9, 97,102,105,105, 49, + 48, 48, 57, 55, 7,117,110,105, 48, 52, 53, 48, 9, 97,102,105,105, 49, 48, 48, 55, 49, 9, 97,102,105,105, 49, 48, 48, 57, 57, 9, 97,102,105,105, 49, 48, 49, 48, 48, 9, 97,102,105,105, 49, 48, 49, 48, 49, 9, 97,102,105,105, 49, 48, 49, 48, 50, 9, 97, 102,105,105, 49, 48, 49, 48, 51, 9, 97,102,105,105, 49, 48, 49, 48, 52, 9, 97,102,105,105, 49, 48, 49, 48, 53, 9, 97,102,105, 105, 49, 48, 49, 48, 54, 9, 97,102,105,105, 49, 48, 49, 48, 55, 9, 97,102,105,105, 49, 48, 49, 48, 56, 9, 97,102,105,105, 49, - 48, 49, 48, 57, 9, 97,102,105,105, 49, 48, 49, 49, 48, 9, 97,102,105,105, 49, 48, 49, 57, 51, 9, 97,102,105,105, 49, 48, 48, - 53, 48, 9, 97,102,105,105, 49, 48, 48, 57, 56, 6, 87,103,114, 97,118,101, 6,119,103,114, 97,118,101, 6, 87, 97, 99,117,116, -101, 6,119, 97, 99,117,116,101, 9, 87,100,105,101,114,101,115,105,115, 9,119,100,105,101,114,101,115,105,115, 6, 89,103,114, - 97,118,101, 6,121,103,114, 97,118,101, 9, 97,102,105,105, 48, 48, 50, 48, 56, 13,117,110,100,101,114,115, 99,111,114,101,100, - 98,108, 13,113,117,111,116,101,114,101,118,101,114,115,101,100, 6,109,105,110,117,116,101, 6,115,101, 99,111,110,100, 9,101, -120, 99,108, 97,109,100, 98,108, 9,110,115,117,112,101,114,105,111,114, 9, 97,102,105,105, 48, 56, 57, 52, 49, 6,112,101,115, -101,116, 97, 4, 69,117,114,111, 9, 97,102,105,105, 54, 49, 50, 52, 56, 9, 97,102,105,105, 54, 49, 50, 56, 57, 9, 97,102,105, -105, 54, 49, 51, 53, 50, 9,101,115,116,105,109, 97,116,101,100, 9,111,110,101,101,105,103,104,116,104, 12,116,104,114,101,101, -101,105,103,104,116,104,115, 11,102,105,118,101,101,105,103,104,116,104,115, 12,115,101,118,101,110,101,105,103,104,116,104,115, - 5, 68,101,108,116, 97, 7,117,110,105, 70, 66, 48, 49, 7,117,110,105, 70, 66, 48, 50, 13, 99,121,114,105,108,108,105, 99, 98, -114,101,118,101, 8,100,111,116,108,101,115,115,106, 16, 99, 97,114,111,110, 99,111,109,109, 97, 97, 99, 99,101,110,116, 11, 99, -111,109,109, 97, 97, 99, 99,101,110,116, 17, 99,111,109,109, 97, 97, 99, 99,101,110,116,114,111,116, 97,116,101, 12,122,101,114, -111,115,117,112,101,114,105,111,114, 12,102,111,117,114,115,117,112,101,114,105,111,114, 12,102,105,118,101,115,117,112,101,114, -105,111,114, 11,115,105,120,115,117,112,101,114,105,111,114, 13,115,101,118,101,110,115,117,112,101,114,105,111,114, 13,101,105, -103,104,116,115,117,112,101,114,105,111,114, 12,110,105,110,101,115,117,112,101,114,105,111,114, 7,117,110,105, 50, 48, 48, 48, - 7,117,110,105, 50, 48, 48, 49, 7,117,110,105, 50, 48, 48, 50, 7,117,110,105, 50, 48, 48, 51, 7,117,110,105, 50, 48, 48, 52, - 7,117,110,105, 50, 48, 48, 53, 7,117,110,105, 50, 48, 48, 54, 7,117,110,105, 50, 48, 48, 55, 7,117,110,105, 50, 48, 48, 56, - 7,117,110,105, 50, 48, 48, 57, 7,117,110,105, 50, 48, 48, 65, 7,117,110,105, 50, 48, 48, 66, 7,117,110,105, 70, 69, 70, 70, - 7,117,110,105, 70, 70, 70, 67, 7,117,110,105, 70, 70, 70, 68, 7,117,110,105, 48, 49, 70, 48, 7,117,110,105, 48, 50, 66, 67, - 7,117,110,105, 48, 51, 68, 49, 7,117,110,105, 48, 51, 68, 50, 7,117,110,105, 48, 51, 68, 54, 7,117,110,105, 49, 69, 51, 69, - 7,117,110,105, 49, 69, 51, 70, 7,117,110,105, 49, 69, 48, 48, 7,117,110,105, 49, 69, 48, 49, 7,117,110,105, 49, 70, 52, 68, - 7,117,110,105, 48, 50, 70, 51, 9,100, 97,115,105, 97,111,120,105, 97, 7,117,110,105, 70, 66, 48, 51, 7,117,110,105, 70, 66, - 48, 52, 5, 79,104,111,114,110, 5,111,104,111,114,110, 5, 85,104,111,114,110, 5,117,104,111,114,110, 7,117,110,105, 48, 51, - 48, 48, 7,117,110,105, 48, 51, 48, 49, 7,117,110,105, 48, 51, 48, 51, 4,104,111,111,107, 8,100,111,116, 98,101,108,111,119, - 7,117,110,105, 48, 52, 48, 48, 7,117,110,105, 48, 52, 48, 68, 7,117,110,105, 48, 52, 53, 48, 7,117,110,105, 48, 52, 53, 68, - 7,117,110,105, 48, 52, 54, 48, 7,117,110,105, 48, 52, 54, 49, 7,117,110,105, 48, 52, 54, 50, 7,117,110,105, 48, 52, 54, 51, - 7,117,110,105, 48, 52, 54, 52, 7,117,110,105, 48, 52, 54, 53, 7,117,110,105, 48, 52, 54, 54, 7,117,110,105, 48, 52, 54, 55, - 7,117,110,105, 48, 52, 54, 56, 7,117,110,105, 48, 52, 54, 57, 7,117,110,105, 48, 52, 54, 65, 7,117,110,105, 48, 52, 54, 66, - 7,117,110,105, 48, 52, 54, 67, 7,117,110,105, 48, 52, 54, 68, 7,117,110,105, 48, 52, 54, 69, 7,117,110,105, 48, 52, 54, 70, - 7,117,110,105, 48, 52, 55, 48, 7,117,110,105, 48, 52, 55, 49, 7,117,110,105, 48, 52, 55, 50, 7,117,110,105, 48, 52, 55, 51, - 7,117,110,105, 48, 52, 55, 52, 7,117,110,105, 48, 52, 55, 53, 7,117,110,105, 48, 52, 55, 54, 7,117,110,105, 48, 52, 55, 55, - 7,117,110,105, 48, 52, 55, 56, 7,117,110,105, 48, 52, 55, 57, 7,117,110,105, 48, 52, 55, 65, 7,117,110,105, 48, 52, 55, 66, - 7,117,110,105, 48, 52, 55, 67, 7,117,110,105, 48, 52, 55, 68, 7,117,110,105, 48, 52, 55, 69, 7,117,110,105, 48, 52, 55, 70, - 7,117,110,105, 48, 52, 56, 48, 7,117,110,105, 48, 52, 56, 49, 7,117,110,105, 48, 52, 56, 50, 7,117,110,105, 48, 52, 56, 51, - 7,117,110,105, 48, 52, 56, 52, 7,117,110,105, 48, 52, 56, 53, 7,117,110,105, 48, 52, 56, 54, 7,117,110,105, 48, 52, 56, 56, - 7,117,110,105, 48, 52, 56, 57, 7,117,110,105, 48, 52, 56, 65, 7,117,110,105, 48, 52, 56, 66, 7,117,110,105, 48, 52, 56, 67, - 7,117,110,105, 48, 52, 56, 68, 7,117,110,105, 48, 52, 56, 69, 7,117,110,105, 48, 52, 56, 70, 7,117,110,105, 48, 52, 57, 50, + 48, 49, 48, 57, 7,117,110,105, 48, 52, 53, 68, 9, 97,102,105,105, 49, 48, 49, 49, 48, 9, 97,102,105,105, 49, 48, 49, 57, 51, + 7,117,110,105, 48, 52, 54, 48, 7,117,110,105, 48, 52, 54, 49, 9, 97,102,105,105, 49, 48, 49, 52, 54, 9, 97,102,105,105, 49, + 48, 49, 57, 52, 7,117,110,105, 48, 52, 54, 52, 7,117,110,105, 48, 52, 54, 53, 7,117,110,105, 48, 52, 54, 54, 7,117,110,105, + 48, 52, 54, 55, 7,117,110,105, 48, 52, 54, 56, 7,117,110,105, 48, 52, 54, 57, 7,117,110,105, 48, 52, 54, 65, 7,117,110,105, + 48, 52, 54, 66, 7,117,110,105, 48, 52, 54, 67, 7,117,110,105, 48, 52, 54, 68, 7,117,110,105, 48, 52, 54, 69, 7,117,110,105, + 48, 52, 54, 70, 7,117,110,105, 48, 52, 55, 48, 7,117,110,105, 48, 52, 55, 49, 9, 97,102,105,105, 49, 48, 49, 52, 55, 9, 97, +102,105,105, 49, 48, 49, 57, 53, 9, 97,102,105,105, 49, 48, 49, 52, 56, 9, 97,102,105,105, 49, 48, 49, 57, 54, 7,117,110,105, + 48, 52, 55, 54, 7,117,110,105, 48, 52, 55, 55, 7,117,110,105, 48, 52, 55, 56, 7,117,110,105, 48, 52, 55, 57, 7,117,110,105, + 48, 52, 55, 65, 7,117,110,105, 48, 52, 55, 66, 7,117,110,105, 48, 52, 55, 67, 7,117,110,105, 48, 52, 55, 68, 7,117,110,105, + 48, 52, 55, 69, 7,117,110,105, 48, 52, 55, 70, 7,117,110,105, 48, 52, 56, 48, 7,117,110,105, 48, 52, 56, 49, 7,117,110,105, + 48, 52, 56, 50, 7,117,110,105, 48, 52, 56, 51, 7,117,110,105, 48, 52, 56, 52, 7,117,110,105, 48, 52, 56, 53, 7,117,110,105, + 48, 52, 56, 54, 7,117,110,105, 48, 52, 56, 56, 7,117,110,105, 48, 52, 56, 57, 7,117,110,105, 48, 52, 56, 65, 7,117,110,105, + 48, 52, 56, 66, 7,117,110,105, 48, 52, 56, 67, 7,117,110,105, 48, 52, 56, 68, 7,117,110,105, 48, 52, 56, 69, 7,117,110,105, + 48, 52, 56, 70, 9, 97,102,105,105, 49, 48, 48, 53, 48, 9, 97,102,105,105, 49, 48, 48, 57, 56, 7,117,110,105, 48, 52, 57, 50, 7,117,110,105, 48, 52, 57, 51, 7,117,110,105, 48, 52, 57, 52, 7,117,110,105, 48, 52, 57, 53, 7,117,110,105, 48, 52, 57, 54, 7,117,110,105, 48, 52, 57, 55, 7,117,110,105, 48, 52, 57, 56, 7,117,110,105, 48, 52, 57, 57, 7,117,110,105, 48, 52, 57, 65, 7,117,110,105, 48, 52, 57, 66, 7,117,110,105, 48, 52, 57, 67, 7,117,110,105, 48, 52, 57, 68, 7,117,110,105, 48, 52, 57, 69, @@ -4544,1405 +5632,364 @@ char datatoc_bfont_ttf[]= { 7,117,110,105, 48, 52, 67, 51, 7,117,110,105, 48, 52, 67, 52, 7,117,110,105, 48, 52, 67, 53, 7,117,110,105, 48, 52, 67, 54, 7,117,110,105, 48, 52, 67, 55, 7,117,110,105, 48, 52, 67, 56, 7,117,110,105, 48, 52, 67, 57, 7,117,110,105, 48, 52, 67, 65, 7,117,110,105, 48, 52, 67, 66, 7,117,110,105, 48, 52, 67, 67, 7,117,110,105, 48, 52, 67, 68, 7,117,110,105, 48, 52, 67, 69, - 7,117,110,105, 48, 52, 67, 70, 7,117,110,105, 48, 52, 68, 48, 7,117,110,105, 48, 52, 68, 49, 7,117,110,105, 48, 52, 68, 50, - 7,117,110,105, 48, 52, 68, 51, 7,117,110,105, 48, 52, 68, 52, 7,117,110,105, 48, 52, 68, 53, 7,117,110,105, 48, 52, 68, 54, - 7,117,110,105, 48, 52, 68, 55, 7,117,110,105, 48, 52, 68, 56, 7,117,110,105, 48, 52, 68, 57, 7,117,110,105, 48, 52, 68, 65, - 7,117,110,105, 48, 52, 68, 66, 7,117,110,105, 48, 52, 68, 67, 7,117,110,105, 48, 52, 68, 68, 7,117,110,105, 48, 52, 68, 69, - 7,117,110,105, 48, 52, 68, 70, 7,117,110,105, 48, 52, 69, 48, 7,117,110,105, 48, 52, 69, 49, 7,117,110,105, 48, 52, 69, 50, - 7,117,110,105, 48, 52, 69, 51, 7,117,110,105, 48, 52, 69, 52, 7,117,110,105, 48, 52, 69, 53, 7,117,110,105, 48, 52, 69, 54, - 7,117,110,105, 48, 52, 69, 55, 7,117,110,105, 48, 52, 69, 56, 7,117,110,105, 48, 52, 69, 57, 7,117,110,105, 48, 52, 69, 65, - 7,117,110,105, 48, 52, 69, 66, 7,117,110,105, 48, 52, 69, 67, 7,117,110,105, 48, 52, 69, 68, 7,117,110,105, 48, 52, 69, 69, - 7,117,110,105, 48, 52, 69, 70, 7,117,110,105, 48, 52, 70, 48, 7,117,110,105, 48, 52, 70, 49, 7,117,110,105, 48, 52, 70, 50, - 7,117,110,105, 48, 52, 70, 51, 7,117,110,105, 48, 52, 70, 52, 7,117,110,105, 48, 52, 70, 53, 7,117,110,105, 48, 52, 70, 54, - 7,117,110,105, 48, 52, 70, 55, 7,117,110,105, 48, 52, 70, 56, 7,117,110,105, 48, 52, 70, 57, 7,117,110,105, 48, 52, 70, 65, - 7,117,110,105, 48, 52, 70, 66, 7,117,110,105, 48, 52, 70, 67, 7,117,110,105, 48, 52, 70, 68, 7,117,110,105, 48, 52, 70, 69, - 7,117,110,105, 48, 52, 70, 70, 7,117,110,105, 48, 53, 48, 48, 7,117,110,105, 48, 53, 48, 49, 7,117,110,105, 48, 53, 48, 50, - 7,117,110,105, 48, 53, 48, 51, 7,117,110,105, 48, 53, 48, 52, 7,117,110,105, 48, 53, 48, 53, 7,117,110,105, 48, 53, 48, 54, - 7,117,110,105, 48, 53, 48, 55, 7,117,110,105, 48, 53, 48, 56, 7,117,110,105, 48, 53, 48, 57, 7,117,110,105, 48, 53, 48, 65, - 7,117,110,105, 48, 53, 48, 66, 7,117,110,105, 48, 53, 48, 67, 7,117,110,105, 48, 53, 48, 68, 7,117,110,105, 48, 53, 48, 69, - 7,117,110,105, 48, 53, 48, 70, 7,117,110,105, 48, 53, 49, 48, 7,117,110,105, 48, 53, 49, 49, 7,117,110,105, 48, 53, 49, 50, - 7,117,110,105, 48, 53, 49, 51, 7,117,110,105, 49, 69, 65, 48, 7,117,110,105, 49, 69, 65, 49, 7,117,110,105, 49, 69, 65, 50, - 7,117,110,105, 49, 69, 65, 51, 7,117,110,105, 49, 69, 65, 52, 7,117,110,105, 49, 69, 65, 53, 7,117,110,105, 49, 69, 65, 54, - 7,117,110,105, 49, 69, 65, 55, 7,117,110,105, 49, 69, 65, 56, 7,117,110,105, 49, 69, 65, 57, 7,117,110,105, 49, 69, 65, 65, - 7,117,110,105, 49, 69, 65, 66, 7,117,110,105, 49, 69, 65, 67, 7,117,110,105, 49, 69, 65, 68, 7,117,110,105, 49, 69, 65, 69, - 7,117,110,105, 49, 69, 65, 70, 7,117,110,105, 49, 69, 66, 48, 7,117,110,105, 49, 69, 66, 49, 7,117,110,105, 49, 69, 66, 50, - 7,117,110,105, 49, 69, 66, 51, 7,117,110,105, 49, 69, 66, 52, 7,117,110,105, 49, 69, 66, 53, 7,117,110,105, 49, 69, 66, 54, - 7,117,110,105, 49, 69, 66, 55, 7,117,110,105, 49, 69, 66, 56, 7,117,110,105, 49, 69, 66, 57, 7,117,110,105, 49, 69, 66, 65, - 7,117,110,105, 49, 69, 66, 66, 7,117,110,105, 49, 69, 66, 67, 7,117,110,105, 49, 69, 66, 68, 7,117,110,105, 49, 69, 66, 69, - 7,117,110,105, 49, 69, 66, 70, 7,117,110,105, 49, 69, 67, 48, 7,117,110,105, 49, 69, 67, 49, 7,117,110,105, 49, 69, 67, 50, - 7,117,110,105, 49, 69, 67, 51, 7,117,110,105, 49, 69, 67, 52, 7,117,110,105, 49, 69, 67, 53, 7,117,110,105, 49, 69, 67, 54, - 7,117,110,105, 49, 69, 67, 55, 7,117,110,105, 49, 69, 67, 56, 7,117,110,105, 49, 69, 67, 57, 7,117,110,105, 49, 69, 67, 65, - 7,117,110,105, 49, 69, 67, 66, 7,117,110,105, 49, 69, 67, 67, 7,117,110,105, 49, 69, 67, 68, 7,117,110,105, 49, 69, 67, 69, - 7,117,110,105, 49, 69, 67, 70, 7,117,110,105, 49, 69, 68, 48, 7,117,110,105, 49, 69, 68, 49, 7,117,110,105, 49, 69, 68, 50, - 7,117,110,105, 49, 69, 68, 51, 7,117,110,105, 49, 69, 68, 52, 7,117,110,105, 49, 69, 68, 53, 7,117,110,105, 49, 69, 68, 54, - 7,117,110,105, 49, 69, 68, 55, 7,117,110,105, 49, 69, 68, 56, 7,117,110,105, 49, 69, 68, 57, 7,117,110,105, 49, 69, 68, 65, - 7,117,110,105, 49, 69, 68, 66, 7,117,110,105, 49, 69, 68, 67, 7,117,110,105, 49, 69, 68, 68, 7,117,110,105, 49, 69, 68, 69, - 7,117,110,105, 49, 69, 68, 70, 7,117,110,105, 49, 69, 69, 48, 7,117,110,105, 49, 69, 69, 49, 7,117,110,105, 49, 69, 69, 50, - 7,117,110,105, 49, 69, 69, 51, 7,117,110,105, 49, 69, 69, 52, 7,117,110,105, 49, 69, 69, 53, 7,117,110,105, 49, 69, 69, 54, - 7,117,110,105, 49, 69, 69, 55, 7,117,110,105, 49, 69, 69, 56, 7,117,110,105, 49, 69, 69, 57, 7,117,110,105, 49, 69, 69, 65, - 7,117,110,105, 49, 69, 69, 66, 7,117,110,105, 49, 69, 69, 67, 7,117,110,105, 49, 69, 69, 68, 7,117,110,105, 49, 69, 69, 69, - 7,117,110,105, 49, 69, 69, 70, 7,117,110,105, 49, 69, 70, 48, 7,117,110,105, 49, 69, 70, 49, 7,117,110,105, 49, 69, 70, 52, - 7,117,110,105, 49, 69, 70, 53, 7,117,110,105, 49, 69, 70, 54, 7,117,110,105, 49, 69, 70, 55, 7,117,110,105, 49, 69, 70, 56, - 7,117,110,105, 49, 69, 70, 57, 7,117,110,105, 50, 48, 65, 66, 7,117,110,105, 48, 51, 48, 70, 19, 99,105,114, 99,117,109,102, -108,101,120, 97, 99,117,116,101, 99,111,109, 98, 19, 99,105,114, 99,117,109,102,108,101,120,103,114, 97,118,101, 99,111,109, 98, - 18, 99,105,114, 99,117,109,102,108,101,120,104,111,111,107, 99,111,109, 98, 19, 99,105,114, 99,117,109,102,108,101,120,116,105, -108,100,101, 99,111,109, 98, 14, 98,114,101,118,101, 97, 99,117,116,101, 99,111,109, 98, 14, 98,114,101,118,101,103,114, 97,118, -101, 99,111,109, 98, 13, 98,114,101,118,101,104,111,111,107, 99,111,109, 98, 14, 98,114,101,118,101,116,105,108,100,101, 99,111, -109, 98, 16, 99,121,114,105,108,108,105, 99,104,111,111,107,108,101,102,116, 17, 99,121,114,105,108,108,105, 99, 98,105,103,104, -111,111,107, 85, 67, 17, 99,121,114,105,108,108,105, 99, 98,105,103,104,111,111,107, 76, 67, 0, 0, 0, 0, 2, 0, 5, 0, 2, -255,255, 0, 3, 0, 1, 0, 0, 0, 12, 0, 0, 0, 22, 0, 0, 0, 2, 0, 1, 0, 0, 3,129, 0, 1, 0, 4, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 10, 0, 30, 0, 44, 0, 1,108, 97,116,110, 0, 8, 0, 4, 0, 0, 0, 0,255,255, 0, 1, - 0, 0, 0, 1,107,101,114,110, 0, 8, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0, 2, 0, 8, 0, 1, 0, 8, 0, 1,165, 58, - 0, 4, 0, 0, 1,240, 3,234, 3,234, 7, 76, 7, 90, 8,212, 7, 90, 9, 50, 10,192, 11, 34, 12, 16, 13, 62, 14, 36, 15, 10, - 15,240, 17,126, 18,172, 19,130, 20,176, 20,222, 25, 96, 25,238, 29,144, 33, 54, 35,104, 39,130, 7, 76, 40,104, 40,104, 40,110, - 40,104, 40,128, 41, 26, 41, 48, 41, 54, 40,104, 40,104, 41, 72, 41, 86, 40,110, 41,212, 41,234, 41,234, 42, 0, 42,218, 42,240, - 7, 76, 43,186, 43,200, 43,214, 46, 36, 46, 36, 43,214, 48,102, 50,172, 11, 34, 52,254, 53,228, 52,254, 52,254, 14, 36, 14, 36, - 14, 36, 14, 36, 54,194, 55, 68, 55, 68, 55, 68, 55, 68, 55, 68, 17,126, 56,158, 56,158, 56,158, 56,158, 57,168, 40,104, 40,104, - 40,104, 40,104, 40,104, 40,104, 41, 72, 40,110, 62, 98, 62, 98, 62, 98, 62, 98, 62,108, 62,122, 62,122, 62,122, 62,122, 62,122, - 41, 72, 62,148, 62,148, 62,148, 62,148, 62,158, 64, 36, 9, 50, 40,104, 9, 50, 40,104, 64, 66, 40,104, 11, 34, 40,110, 40,110, - 40,110, 11, 34, 40,110, 65,212, 40,104, 40,104, 40,104, 66, 82, 40,104, 40,104, 14, 36, 66, 88, 14, 36, 15, 10, 41, 54, 15,240, - 15,240, 15,240, 65,212, 15,240, 15,240, 40,104, 40,104, 40,104, 17,126, 41, 72, 41, 72, 17,126, 41, 72, 41, 72, 40,110, 40,110, - 40,110, 67, 66, 40,110, 68, 76, 68, 76, 65,212, 25, 96, 25, 96, 25, 96, 25, 96, 29,144, 41,234, 35,104, 42,218, 72,194, 39,130, - 39,130, 77, 56, 80, 78, 9, 50, 40,104, 40,110, 81, 28, 81, 74, 81, 88, 81,134, 82, 24, 82, 38, 82,140, 83,202, 84, 40, 85,238, - 88,184, 88,218, 89,244, 90, 10, 90,180, 93,242, 94, 0, 95, 26, 95,244, 96,154,100, 64,100,246,101, 32,101,126,101,176,101,190, -102,112,106, 42,106, 48, 40,104,106, 74,106, 42,106,156,106,162,106,208,106,218,107, 8, 40,104,107,122,107,188,107,226,108, 24, -108, 54,108, 68,108, 90,108, 68,108,108,108,138,108,196,108,214, 41, 72,109, 44,109, 62, 41, 72, 41, 72,109,140,110,110,111,100, -114,182,115, 52,115, 74,115,180,116,146,117,100,118, 42,118,160,120, 86,121,244,124, 26,124,196,125, 74,127,136,128,146,129, 88, -129,242,131, 36,132,126,133,148,134,158,139,232,141,118,142, 32,142,218,143,156,144,150,145, 16,145,146,146, 32,146,150,146,252, -147,130,148, 20,148, 50,148,116,148,170,149, 44,149,162,150, 40,150,178,151, 0,151, 94,152, 32,152,178,153, 36,153,154,153,240, -154, 74, 40,110,154,176,155, 34,155,104, 40,110,155,170,155,184, 40,110, 40,110,156, 42,156, 52,156,186,157, 56,157, 62,157,176, -158, 38,148, 20, 29,144, 41,234, 29,144, 41,234, 29,144, 41,234, 35,104, 42,218,161,144,161,144,161,158,161,158, 9, 50, 9, 50, -164,172,164,238,148,116,131, 36,152, 32,145, 16,150, 40,133,148,151, 0,121,244,121,244,128,146,148,170,128,146,148,170,131, 36, -150, 40,132,126,131, 36,150, 40,139,232,152, 32,139,232,152, 32,152, 32,152, 32,131, 36,150, 40,131, 36,150, 40,131, 36,152, 32, -165, 48,142,218,153,154,145, 16,150, 40,132,126,150, 40,134,158,151, 94,118, 42,142,218,153,154,150, 40,142,218,153,154,128,146, -148,170,128,146,148,170,128,146,148,170,142,218,153,154,134,158,151, 94,118, 42,131, 36,150, 40,133,148,151, 0,134,158,151, 94, -134,158,152, 32,134,158,152, 32,142,218,153,154,142,218,153,154,142,218,153,154,118, 42,131, 36,131, 36,115, 74,128,146,148,170, -118, 42,142,218,153,154,142,218,153,154,142,218,153,154,115, 74,121,244,121,244,148,116,148,116,131, 36,150, 40,131, 36,150, 40, -128,146,148,170,131, 36,150, 40,131, 36,131, 36,150, 40,131, 36,150, 40,131, 36,150, 40,131, 36,150, 40,139,232,152, 32,139,232, -152, 32,139,232,152, 32,134,158,151, 94,134,158,151, 94,142,218,153,154,128,146,148,170,131, 36,150, 40,139,232,150, 40,142,218, -153,154,131, 36,150, 40,131, 36,150, 40,131, 36,150, 40,131, 36,150, 40,133,148,151, 0,142,218,153,154, 9, 50, 9, 50, 9, 50, - 9, 50, 9, 50, 9, 50, 9, 50, 9, 50, 9, 50, 9, 50, 9, 50, 9, 50, 40,104, 40,104, 40,104, 40,104, 40,104, 40,104, 40,104, - 40,104, 14, 36, 14, 36, 17,126, 41, 72, 17,126, 41, 72, 17,126, 41, 72, 17,126, 41, 72, 17,126, 41, 72, 17,126, 41, 72, 17,126, - 41, 72,164,172,164,172,164,172,164,172,164,172, 25, 96, 25, 96,164,238,164,238,164,238,164,238,164,238, 35,104, 42,218, 35,104, - 42,218, 35,104, 42,218, 0,216, 0, 36,255,174, 0, 44, 0, 41, 0, 55, 0, 82, 0, 57, 0, 82, 0, 58, 0,102, 0, 59, 0, 41, - 0, 60, 0, 82, 0, 61, 0, 41, 0, 70,255,195, 0, 71,255,195, 0, 72,255,195, 0, 74,255,215, 0, 82,255,195, 0, 84,255,195, - 0, 87, 0, 41, 0, 89, 0, 41, 0, 90, 0, 20, 0, 92, 0, 41, 0,130,255,174, 0,131,255,174, 0,132,255,174, 0,133,255,174, - 0,134,255,174, 0,135,255,174, 0,136,255, 92, 0,142, 0, 41, 0,143, 0, 41, 0,144, 0, 41, 0,145, 0, 41, 0,159, 0, 82, - 0,168,255,195, 0,169,255,195, 0,170,255,195, 0,171,255,195, 0,172,255,195, 0,173,255,195, 0,180,255,195, 0,181,255,195, - 0,182,255,195, 0,183,255,195, 0,184,255,195, 0,186,255,195, 0,191, 0, 41, 0,193, 0, 41, 0,194,255,174, 0,196,255,174, - 0,198,255,174, 0,201,255,195, 0,203,255,195, 0,205,255,195, 0,207,255,195, 0,213,255,195, 0,215,255,195, 0,217,255,195, - 0,219,255,195, 0,221,255,195, 0,236, 0, 41, 0,240, 0, 41, 0,242, 0, 41, 1, 15,255,195, 1, 17,255,195, 1, 19,255,195, - 1, 21,255,195, 1, 36, 0, 82, 1, 38, 0, 82, 1, 54, 0,102, 1, 55, 0, 20, 1, 56, 0, 82, 1, 57, 0, 41, 1, 58, 0, 82, - 1, 59, 0, 41, 1, 61, 0, 41, 1, 63, 0, 41, 1, 67,255,174, 1, 95,255,174, 1,105,255,174, 1,113, 0, 82, 1,121,255,195, - 1,126,255,195, 1,128, 0, 41, 1,130,255,195, 1,138, 0, 41, 1,140,255,195, 1,142,255,195, 1,144,255,195, 1,145, 0, 41, - 1,147,255,195, 1,148, 0, 41, 1,150,255,195, 1,153,255,195, 1,155,255,195, 1,157, 0, 82, 1,164,255,154, 1,166, 0, 82, - 1,168, 0, 61, 1,170,255,174, 1,174,255,133, 1,176, 0, 61, 1,177, 0, 20, 1,181,255,133, 1,188, 0, 82, 1,189, 0, 61, - 1,191, 0, 41, 1,196, 0, 82, 1,207,255,195, 1,216,255,195, 1,219,255,195, 1,220, 0, 41, 1,221, 0, 41, 1,222,255,195, - 1,234,255,195, 1,237,255,195, 1,250, 0,102, 1,251, 0, 20, 1,252, 0,102, 1,253, 0, 20, 1,254, 0,102, 1,255, 0, 20, - 2, 0, 0, 82, 2, 1, 0, 41, 2, 40,255,174, 2, 88,255,174, 2, 96,255,195, 2,106,255,195, 2,109, 0, 41, 2,114,255,174, - 2,118, 0, 61, 2,127,255,195, 2,129, 0, 41, 2,131, 0, 41, 2,133,255,195, 2,135,255,195, 2,137,255,195, 2,139, 0, 41, - 2,141,255,195, 2,159, 0, 61, 2,169, 0, 82, 2,170, 0, 41, 2,178,255,195, 2,180,255,195, 2,181, 0, 82, 2,182, 0, 41, - 2,183, 0, 82, 2,184, 0, 41, 2,185, 0, 82, 2,186, 0, 41, 2,187, 0, 61, 2,189, 0, 82, 2,202, 0, 61, 2,206,255,133, - 2,217,255,174, 2,219,255,174, 2,221,255,174, 2,224,255,195, 2,229, 0, 61, 2,240,255,195, 2,242,255,195, 2,244,255,195, - 2,247, 0, 61, 2,248, 0, 41, 2,249, 0, 61, 2,250, 0, 41, 2,251, 0, 61, 2,252, 0, 41, 3, 5, 0, 61, 3, 7, 0, 61, - 3, 10,255,195, 3, 12,255,195, 3, 14, 0, 41, 3, 16, 0, 41, 3, 17,255,133, 3, 22,255,195, 3, 23, 0, 82, 3, 24, 0, 41, - 3, 26,255,195, 3, 27,255,133, 3, 29,255,174, 3, 31,255,174, 3, 33,255,174, 3, 35,255,174, 3, 37,255,174, 3, 39,255,174, - 3, 41,255,174, 3, 43,255,174, 3, 45,255,174, 3, 47,255,174, 3, 49,255,174, 3, 51,255,174, 3, 54,255,195, 3, 56,255,195, - 3, 58,255,195, 3, 60,255,195, 3, 62,255,195, 3, 64,255,195, 3, 66,255,195, 3, 68,255,195, 3, 69, 0, 41, 3, 71, 0, 41, - 3, 74,255,195, 3, 76,255,195, 3, 78,255,195, 3, 80,255,195, 3, 82,255,195, 3, 84,255,195, 3, 86,255,195, 3, 88,255,195, - 3, 90,255,195, 3, 92,255,195, 3, 94,255,195, 3, 96,255,195, 3,111, 0, 82, 3,112, 0, 41, 3,113, 0, 82, 3,114, 0, 41, - 3,115, 0, 82, 3,116, 0, 41, 0, 3, 0, 45, 0,123, 0,246, 0,123, 1,163, 0,123, 0, 94, 0, 38,255,195, 0, 42,255,195, - 0, 50,255,195, 0, 52,255,195, 0, 55,255,154, 0, 56,255,215, 0, 57,255,154, 0, 58,255,174, 0, 60,255,154, 0,137,255,195, - 0,148,255,195, 0,149,255,195, 0,150,255,195, 0,151,255,195, 0,152,255,195, 0,154,255,195, 0,155,255,215, 0,156,255,215, - 0,157,255,215, 0,158,255,215, 0,159,255,154, 0,200,255,195, 0,206,255,195, 0,222,255,195, 0,224,255,195, 0,226,255,195, - 0,228,255,195, 1, 14,255,195, 1, 18,255,195, 1, 36,255,154, 1, 38,255,154, 1, 44,255,215, 1, 48,255,215, 1, 50,255,215, - 1, 52,255,215, 1, 54,255,174, 1, 56,255,154, 1, 58,255,154, 1,102,255,195, 1,109,255,195, 1,113,255,154, 1,184,255,195, - 1,187,255,195, 1,188,255,154, 1,250,255,174, 1,252,255,174, 1,254,255,174, 2, 0,255,154, 2, 95,255,195, 2, 97,255,215, - 2,108,255,195, 2,126,255,195, 2,132,255,195, 2,134,255,195, 2,136,255,195, 2,138,255,195, 2,140,255,195, 2,169,255,154, - 2,177,255,195, 2,179,255,195, 2,181,255,154, 2,183,255,154, 2,185,255,154, 2,189,255,154, 2,225,255,195, 2,227,255,195, - 2,239,255,195, 2,241,255,195, 2,243,255,195, 3, 21,255,195, 3, 23,255,154, 3, 25,255,195, 3, 73,255,195, 3, 75,255,195, - 3, 77,255,195, 3, 79,255,195, 3, 81,255,195, 3, 83,255,195, 3, 85,255,195, 3, 87,255,195, 3, 89,255,195, 3, 91,255,195, - 3, 93,255,195, 3, 95,255,195, 3, 97,255,215, 3, 99,255,215, 3,101,255,215, 3,103,255,215, 3,105,255,215, 3,107,255,215, - 3,109,255,215, 3,111,255,154, 3,113,255,154, 3,115,255,154, 0, 23, 0, 55,255,154, 1,113,255,154, 1,114,255,195, 1,176, -255,215, 1,181,255,215, 1,188,255,154, 1,196,255,174, 2,118,255,215, 2,159,255,215, 2,169,255,154, 2,181,255,154, 2,183, -255,154, 2,185,255,154, 2,187,255,215, 2,189,255,154, 2,202,255,215, 2,206,255,215, 2,229,255,215, 3, 5,255,215, 3, 7, -255,215, 3, 17,255,215, 3, 23,255,154, 3, 27,255,215, 0, 99, 0, 5,255,174, 0, 10,255,174, 0, 38,255,236, 0, 42,255,236, - 0, 50,255,236, 0, 52,255,236, 0, 55,255,133, 0, 56,255,236, 0, 57,255,195, 0, 58,255,215, 0, 60,255,154, 0,137,255,236, - 0,148,255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, - 0,157,255,236, 0,158,255,236, 0,159,255,154, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226,255,236, - 0,228,255,236, 1, 14,255,236, 1, 18,255,236, 1, 20,255,215, 1, 36,255,133, 1, 38,255,133, 1, 44,255,236, 1, 48,255,236, - 1, 50,255,236, 1, 52,255,236, 1, 54,255,215, 1, 56,255,154, 1, 58,255,154, 1,102,255,236, 1,109,255,236, 1,113,255,133, - 1,184,255,236, 1,187,255,236, 1,188,255,133, 1,250,255,215, 1,252,255,215, 1,254,255,215, 2, 0,255,154, 2, 7,255,174, - 2, 11,255,174, 2, 95,255,236, 2, 97,255,236, 2,108,255,236, 2,126,255,236, 2,132,255,236, 2,134,255,236, 2,136,255,236, - 2,138,255,236, 2,140,255,236, 2,169,255,133, 2,177,255,236, 2,179,255,236, 2,181,255,133, 2,183,255,133, 2,185,255,133, - 2,189,255,133, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, 3, 21,255,236, 3, 23,255,133, - 3, 25,255,236, 3, 73,255,236, 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, - 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, - 3,103,255,236, 3,105,255,236, 3,107,255,236, 3,109,255,236, 3,111,255,154, 3,113,255,154, 3,115,255,154, 0, 24, 0, 44, -255,236, 0, 55,255,236, 0, 57,255,236, 0, 59,255,236, 0, 60,255,236, 0,159,255,236, 1, 36,255,236, 1, 38,255,236, 1, 56, -255,236, 1, 58,255,236, 1,113,255,236, 1,188,255,236, 2, 0,255,236, 2,169,255,236, 2,181,255,236, 2,183,255,236, 2,185, -255,236, 2,189,255,236, 3, 23,255,236, 3, 69,255,236, 3, 71,255,236, 3,111,255,236, 3,113,255,236, 3,115,255,236, 0, 59, - 0, 5, 0, 41, 0, 10, 0, 41, 0, 12, 0, 41, 0, 38,255,215, 0, 42,255,215, 0, 50,255,215, 0, 52,255,215, 0, 64, 0, 41, - 0, 96, 0, 41, 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151,255,215, 0,152,255,215, 0,154,255,215, - 0,200,255,215, 0,206,255,215, 0,222,255,215, 0,224,255,215, 0,226,255,215, 0,228,255,215, 1, 14,255,215, 1, 18,255,215, - 1,102,255,215, 1,109,255,215, 1,184,255,215, 1,187,255,215, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,215, 2,108,255,215, - 2,126,255,215, 2,132,255,215, 2,134,255,215, 2,136,255,215, 2,138,255,215, 2,140,255,215, 2,177,255,215, 2,179,255,215, - 2,225,255,215, 2,227,255,215, 2,239,255,215, 2,241,255,215, 2,243,255,215, 3, 21,255,215, 3, 25,255,215, 3, 73,255,215, - 3, 75,255,215, 3, 77,255,215, 3, 79,255,215, 3, 81,255,215, 3, 83,255,215, 3, 85,255,215, 3, 87,255,215, 3, 89,255,215, - 3, 91,255,215, 3, 93,255,215, 3, 95,255,215, 0, 75, 0, 15,255,195, 0, 17,255,195, 0, 36,255,236, 0, 44,255,236, 0, 55, -255,195, 0, 57,255,236, 0, 58,255,236, 0, 59,255,236, 0, 60,255,215, 0, 61,255,236, 0,130,255,236, 0,131,255,236, 0,132, -255,236, 0,133,255,236, 0,134,255,236, 0,135,255,236, 0,136,255,195, 0,142,255,236, 0,143,255,236, 0,144,255,236, 0,145, -255,236, 0,159,255,215, 0,194,255,236, 0,196,255,236, 0,198,255,236, 0,236,255,236, 0,240,255,236, 0,242,255,236, 1, 36, -255,195, 1, 38,255,195, 1, 54,255,236, 1, 56,255,215, 1, 58,255,215, 1, 59,255,236, 1, 61,255,236, 1, 63,255,236, 1, 67, -255,236, 1, 95,255,236, 1,105,255,236, 1,113,255,195, 1,170,255,236, 1,188,255,195, 1,250,255,236, 1,252,255,236, 1,254, -255,236, 2, 0,255,215, 2, 40,255,236, 2, 88,255,236, 2,114,255,236, 2,169,255,195, 2,181,255,195, 2,183,255,195, 2,185, -255,195, 2,189,255,195, 2,217,255,236, 2,219,255,236, 2,221,255,236, 3, 23,255,195, 3, 29,255,236, 3, 31,255,236, 3, 33, -255,236, 3, 35,255,236, 3, 37,255,236, 3, 39,255,236, 3, 41,255,236, 3, 43,255,236, 3, 45,255,236, 3, 47,255,236, 3, 49, -255,236, 3, 51,255,236, 3, 69,255,236, 3, 71,255,236, 3,111,255,215, 3,113,255,215, 3,115,255,215, 0, 57, 0, 5, 0, 61, - 0, 10, 0, 61, 0, 12, 0, 41, 0, 15,255,154, 0, 17,255,154, 0, 34, 0, 41, 0, 36,255,215, 0, 57, 0, 20, 0, 58, 0, 20, - 0, 60, 0, 20, 0, 64, 0, 41, 0, 96, 0, 41, 0,130,255,215, 0,131,255,215, 0,132,255,215, 0,133,255,215, 0,134,255,215, - 0,135,255,215, 0,136,255,195, 0,159, 0, 20, 0,194,255,215, 0,196,255,215, 0,198,255,215, 1, 54, 0, 20, 1, 56, 0, 20, - 1, 58, 0, 20, 1, 67,255,215, 1, 95,255,215, 1,105,255,215, 1,170,255,215, 1,250, 0, 20, 1,252, 0, 20, 1,254, 0, 20, - 2, 0, 0, 20, 2, 7, 0, 61, 2, 11, 0, 61, 2, 40,255,215, 2, 88,255,215, 2,114,255,215, 2,217,255,215, 2,219,255,215, - 2,221,255,215, 3, 29,255,215, 3, 31,255,215, 3, 33,255,215, 3, 35,255,215, 3, 37,255,215, 3, 39,255,215, 3, 41,255,215, - 3, 43,255,215, 3, 45,255,215, 3, 47,255,215, 3, 49,255,215, 3, 51,255,215, 3,111, 0, 20, 3,113, 0, 20, 3,115, 0, 20, - 0, 57, 0, 5, 0, 41, 0, 10, 0, 41, 0, 38,255,236, 0, 42,255,236, 0, 50,255,236, 0, 52,255,236, 0,137,255,236, 0,148, -255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,200,255,236, 0,206,255,236, 0,222, -255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 14,255,236, 1, 18,255,236, 1, 20,255,236, 1,102,255,236, 1,109, -255,236, 1,184,255,236, 1,187,255,236, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,236, 2,108,255,236, 2,126,255,236, 2,132, -255,236, 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,140,255,236, 2,177,255,236, 2,179,255,236, 2,225,255,236, 2,227, -255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, 3, 21,255,236, 3, 25,255,236, 3, 73,255,236, 3, 75,255,236, 3, 77, -255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93, -255,236, 3, 95,255,236, 0, 57, 0, 5, 0, 41, 0, 10, 0, 41, 0, 38,255,215, 0, 42,255,215, 0, 50,255,215, 0, 52,255,215, - 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151,255,215, 0,152,255,215, 0,154,255,215, 0,200,255,215, - 0,206,255,215, 0,222,255,215, 0,224,255,215, 0,226,255,215, 0,228,255,215, 1, 14,255,215, 1, 18,255,215, 1, 20,255,215, - 1,102,255,215, 1,109,255,215, 1,184,255,215, 1,187,255,215, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,215, 2,108,255,215, - 2,126,255,215, 2,132,255,215, 2,134,255,215, 2,136,255,215, 2,138,255,215, 2,140,255,215, 2,177,255,215, 2,179,255,215, - 2,225,255,215, 2,227,255,215, 2,239,255,215, 2,241,255,215, 2,243,255,215, 3, 21,255,215, 3, 25,255,215, 3, 73,255,215, - 3, 75,255,215, 3, 77,255,215, 3, 79,255,215, 3, 81,255,215, 3, 83,255,215, 3, 85,255,215, 3, 87,255,215, 3, 89,255,215, - 3, 91,255,215, 3, 93,255,215, 3, 95,255,215, 0, 99, 0, 5,255,154, 0, 10,255,154, 0, 38,255,236, 0, 42,255,236, 0, 50, -255,236, 0, 52,255,236, 0, 55,255,133, 0, 56,255,236, 0, 57,255,174, 0, 58,255,195, 0, 60,255,154, 0,137,255,236, 0,148, -255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, 0,157, -255,236, 0,158,255,236, 0,159,255,154, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226,255,236, 0,228, -255,236, 1, 14,255,236, 1, 18,255,236, 1, 20,255,236, 1, 36,255,133, 1, 38,255,133, 1, 44,255,236, 1, 48,255,236, 1, 50, -255,236, 1, 52,255,236, 1, 54,255,195, 1, 56,255,154, 1, 58,255,154, 1,102,255,236, 1,109,255,236, 1,113,255,133, 1,184, -255,236, 1,187,255,236, 1,188,255,133, 1,250,255,195, 1,252,255,195, 1,254,255,195, 2, 0,255,154, 2, 7,255,154, 2, 11, -255,154, 2, 95,255,236, 2, 97,255,236, 2,108,255,236, 2,126,255,236, 2,132,255,236, 2,134,255,236, 2,136,255,236, 2,138, -255,236, 2,140,255,236, 2,169,255,133, 2,177,255,236, 2,179,255,236, 2,181,255,133, 2,183,255,133, 2,185,255,133, 2,189, -255,133, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, 3, 21,255,236, 3, 23,255,133, 3, 25, -255,236, 3, 73,255,236, 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87, -255,236, 3, 89,255,236, 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, 3,103, -255,236, 3,105,255,236, 3,107,255,236, 3,109,255,236, 3,111,255,154, 3,113,255,154, 3,115,255,154, 0, 75, 0, 15,255,195, - 0, 17,255,195, 0, 36,255,236, 0, 44,255,236, 0, 55,255,195, 0, 57,255,215, 0, 58,255,236, 0, 59,255,215, 0, 60,255,215, - 0, 61,255,236, 0,130,255,236, 0,131,255,236, 0,132,255,236, 0,133,255,236, 0,134,255,236, 0,135,255,236, 0,136,255,215, - 0,142,255,236, 0,143,255,236, 0,144,255,236, 0,145,255,236, 0,159,255,215, 0,194,255,236, 0,196,255,236, 0,198,255,236, - 0,236,255,236, 0,240,255,236, 0,242,255,236, 1, 36,255,195, 1, 38,255,195, 1, 54,255,236, 1, 56,255,215, 1, 58,255,215, - 1, 59,255,236, 1, 61,255,236, 1, 63,255,236, 1, 67,255,236, 1, 95,255,236, 1,105,255,236, 1,113,255,195, 1,170,255,236, - 1,188,255,195, 1,250,255,236, 1,252,255,236, 1,254,255,236, 2, 0,255,215, 2, 40,255,236, 2, 88,255,236, 2,114,255,236, - 2,169,255,195, 2,181,255,195, 2,183,255,195, 2,185,255,195, 2,189,255,195, 2,217,255,236, 2,219,255,236, 2,221,255,236, - 3, 23,255,195, 3, 29,255,236, 3, 31,255,236, 3, 33,255,236, 3, 35,255,236, 3, 37,255,236, 3, 39,255,236, 3, 41,255,236, - 3, 43,255,236, 3, 45,255,236, 3, 47,255,236, 3, 49,255,236, 3, 51,255,236, 3, 69,255,236, 3, 71,255,236, 3,111,255,215, - 3,113,255,215, 3,115,255,215, 0, 53, 0, 15,255, 51, 0, 17,255, 51, 0, 36,255,174, 0, 38,255,236, 0, 59,255,236, 0, 60, -255,236, 0, 61,255,215, 0,130,255,174, 0,131,255,174, 0,132,255,174, 0,133,255,174, 0,134,255,174, 0,135,255,174, 0,136, -255,113, 0,137,255,236, 0,159,255,236, 0,194,255,174, 0,196,255,174, 0,198,255,174, 0,200,255,236, 0,206,255,236, 1, 56, -255,236, 1, 58,255,236, 1, 59,255,215, 1, 61,255,215, 1, 63,255,215, 1, 67,255,174, 1, 95,255,174, 1,105,255,174, 1,170, -255,174, 1,187,255,236, 2, 0,255,236, 2, 40,255,174, 2, 88,255,174, 2,114,255,174, 2,217,255,174, 2,219,255,174, 2,221, -255,174, 3, 29,255,174, 3, 31,255,174, 3, 33,255,174, 3, 35,255,174, 3, 37,255,174, 3, 39,255,174, 3, 41,255,174, 3, 43, -255,174, 3, 45,255,174, 3, 47,255,174, 3, 49,255,174, 3, 51,255,174, 3,111,255,236, 3,113,255,236, 3,115,255,236, 0, 75, - 0, 15,255,195, 0, 17,255,195, 0, 36,255,236, 0, 44,255,236, 0, 55,255,195, 0, 57,255,215, 0, 58,255,236, 0, 59,255,215, - 0, 60,255,215, 0, 61,255,236, 0,130,255,236, 0,131,255,236, 0,132,255,236, 0,133,255,236, 0,134,255,236, 0,135,255,236, - 0,136,255,195, 0,142,255,236, 0,143,255,236, 0,144,255,236, 0,145,255,236, 0,159,255,215, 0,194,255,236, 0,196,255,236, - 0,198,255,236, 0,236,255,236, 0,240,255,236, 0,242,255,236, 1, 36,255,195, 1, 38,255,195, 1, 54,255,236, 1, 56,255,215, - 1, 58,255,215, 1, 59,255,236, 1, 61,255,236, 1, 63,255,236, 1, 67,255,236, 1, 95,255,236, 1,105,255,236, 1,113,255,195, - 1,170,255,236, 1,188,255,195, 1,250,255,236, 1,252,255,236, 1,254,255,236, 2, 0,255,215, 2, 40,255,236, 2, 88,255,236, - 2,114,255,236, 2,169,255,195, 2,181,255,195, 2,183,255,195, 2,185,255,195, 2,189,255,195, 2,217,255,236, 2,219,255,236, - 2,221,255,236, 3, 23,255,195, 3, 29,255,236, 3, 31,255,236, 3, 33,255,236, 3, 35,255,236, 3, 37,255,236, 3, 39,255,236, - 3, 41,255,236, 3, 43,255,236, 3, 45,255,236, 3, 47,255,236, 3, 49,255,236, 3, 51,255,236, 3, 69,255,236, 3, 71,255,236, - 3,111,255,215, 3,113,255,215, 3,115,255,215, 0, 11, 0, 55,255,236, 1, 36,255,236, 1, 38,255,236, 1,113,255,236, 1,188, -255,236, 2,169,255,236, 2,181,255,236, 2,183,255,236, 2,185,255,236, 2,189,255,236, 3, 23,255,236, 1, 32, 0, 5, 0, 82, - 0, 10, 0, 82, 0, 15,255,154, 0, 16,255,154, 0, 17,255,154, 0, 34, 0, 41, 0, 36,255,133, 0, 38,255,195, 0, 42,255,195, - 0, 50,255,195, 0, 52,255,195, 0, 54,255,236, 0, 55, 0, 20, 0, 68,255,133, 0, 70,255,133, 0, 71,255,133, 0, 72,255,133, - 0, 74,255,154, 0, 80,255,174, 0, 81,255,174, 0, 82,255,133, 0, 83,255,174, 0, 84,255,133, 0, 85,255,174, 0, 86,255,133, - 0, 88,255,174, 0, 89,255,195, 0, 90,255,195, 0, 91,255,195, 0, 92,255,195, 0, 93,255,195, 0,130,255,133, 0,131,255,133, - 0,132,255,133, 0,133,255,133, 0,134,255,133, 0,135,255,133, 0,136,255,113, 0,137,255,195, 0,148,255,195, 0,149,255,195, - 0,150,255,195, 0,151,255,195, 0,152,255,195, 0,154,255,195, 0,162,255,133, 0,163,255,133, 0,164,255,133, 0,165,255,133, - 0,166,255,133, 0,167,255,133, 0,168,255,133, 0,169,255,133, 0,170,255,133, 0,171,255,133, 0,172,255,133, 0,173,255,133, - 0,179,255,174, 0,180,255,133, 0,181,255,133, 0,182,255,133, 0,183,255,133, 0,184,255,133, 0,186,255,133, 0,187,255,174, - 0,188,255,174, 0,189,255,174, 0,190,255,174, 0,191,255,195, 0,193,255,195, 0,194,255,133, 0,195,255,133, 0,196,255,133, - 0,197,255,133, 0,198,255,133, 0,199,255,133, 0,200,255,195, 0,201,255,133, 0,203,255,133, 0,205,255,133, 0,206,255,195, - 0,207,255,133, 0,213,255,133, 0,215,255,133, 0,217,255,133, 0,219,255,133, 0,221,255,133, 0,222,255,195, 0,224,255,195, - 0,226,255,195, 0,228,255,195, 1, 6,255,174, 1, 8,255,174, 1, 10,255,174, 1, 14,255,195, 1, 15,255,133, 1, 17,255,133, - 1, 18,255,195, 1, 19,255,133, 1, 20,255,195, 1, 21,255,133, 1, 28,255,236, 1, 29,255,133, 1, 31,255,133, 1, 32,255,236, - 1, 33,255,133, 1, 34,255,236, 1, 35,255,133, 1, 36, 0, 20, 1, 38, 0, 20, 1, 55,255,195, 1, 57,255,195, 1, 64,255,195, - 1, 67,255,133, 1, 68,255,133, 1, 74,255,133, 1, 95,255,133, 1,102,255,195, 1,105,255,133, 1,109,255,195, 1,113, 0, 20, - 1,121,255,133, 1,123,255,174, 1,126,255,133, 1,128,255,195, 1,130,255,133, 1,132,255,174, 1,138,255,195, 1,140,255,133, - 1,142,255,133, 1,144,255,133, 1,145,255,195, 1,147,255,133, 1,148,255,195, 1,150,255,133, 1,153,255,133, 1,155,255,133, - 1,160,255,236, 1,170,255,133, 1,184,255,195, 1,187,255,195, 1,188, 0, 20, 1,202,255,133, 1,207,255,133, 1,216,255,133, - 1,219,255,133, 1,220,255,195, 1,221,255,195, 1,222,255,133, 1,234,255,133, 1,237,255,133, 1,238,255,133, 1,251,255,195, - 1,253,255,195, 1,255,255,195, 2, 1,255,195, 2, 2,255,174, 2, 3,255,154, 2, 7, 0, 82, 2, 11, 0, 82, 2, 40,255,133, - 2, 88,255,133, 2, 89,255,133, 2, 95,255,195, 2, 96,255,133, 2,106,255,133, 2,108,255,195, 2,109,255,195, 2,114,255,133, - 2,126,255,195, 2,127,255,133, 2,129,255,195, 2,131,255,195, 2,132,255,195, 2,133,255,133, 2,134,255,195, 2,135,255,133, - 2,136,255,195, 2,137,255,133, 2,138,255,195, 2,139,255,195, 2,140,255,195, 2,141,255,133, 2,169, 0, 20, 2,170,255,195, - 2,177,255,195, 2,178,255,133, 2,179,255,195, 2,180,255,133, 2,181, 0, 20, 2,182,255,195, 2,183, 0, 20, 2,184,255,195, - 2,185, 0, 20, 2,186,255,195, 2,189, 0, 20, 2,217,255,133, 2,218,255,133, 2,219,255,133, 2,220,255,133, 2,221,255,133, - 2,224,255,133, 2,225,255,195, 2,227,255,195, 2,239,255,195, 2,240,255,133, 2,241,255,195, 2,242,255,133, 2,243,255,195, - 2,244,255,133, 2,248,255,195, 2,250,255,195, 2,252,255,195, 3, 10,255,133, 3, 12,255,133, 3, 14,255,195, 3, 16,255,195, - 3, 21,255,195, 3, 22,255,133, 3, 23, 0, 20, 3, 24,255,195, 3, 25,255,195, 3, 26,255,133, 3, 29,255,133, 3, 30,255,133, - 3, 31,255,133, 3, 33,255,133, 3, 34,255,133, 3, 35,255,133, 3, 36,255,133, 3, 37,255,133, 3, 38,255,133, 3, 39,255,133, - 3, 40,255,133, 3, 41,255,133, 3, 42,255,133, 3, 43,255,133, 3, 44,255,133, 3, 45,255,133, 3, 46,255,133, 3, 47,255,133, - 3, 48,255,133, 3, 49,255,133, 3, 50,255,133, 3, 51,255,133, 3, 52,255,133, 3, 54,255,133, 3, 56,255,133, 3, 58,255,133, - 3, 60,255,133, 3, 62,255,133, 3, 64,255,133, 3, 66,255,133, 3, 68,255,133, 3, 73,255,195, 3, 74,255,133, 3, 75,255,195, - 3, 76,255,133, 3, 77,255,195, 3, 78,255,133, 3, 79,255,195, 3, 80,255,133, 3, 81,255,195, 3, 82,255,133, 3, 83,255,195, - 3, 84,255,133, 3, 85,255,195, 3, 86,255,133, 3, 87,255,195, 3, 88,255,133, 3, 89,255,195, 3, 90,255,133, 3, 91,255,195, - 3, 92,255,133, 3, 93,255,195, 3, 94,255,133, 3, 95,255,195, 3, 96,255,133, 3, 98,255,174, 3,100,255,174, 3,102,255,174, - 3,104,255,174, 3,106,255,174, 3,108,255,174, 3,110,255,174, 3,112,255,195, 3,114,255,195, 3,116,255,195, 0, 35, 0, 15, -255,215, 0, 17,255,215, 0, 36,255,236, 0,130,255,236, 0,131,255,236, 0,132,255,236, 0,133,255,236, 0,134,255,236, 0,135, -255,236, 0,136,255,215, 0,194,255,236, 0,196,255,236, 0,198,255,236, 1, 67,255,236, 1, 95,255,236, 1,105,255,236, 1,170, -255,236, 2, 40,255,236, 2, 88,255,236, 2,114,255,236, 2,217,255,236, 2,219,255,236, 2,221,255,236, 3, 29,255,236, 3, 31, -255,236, 3, 33,255,236, 3, 35,255,236, 3, 37,255,236, 3, 39,255,236, 3, 41,255,236, 3, 43,255,236, 3, 45,255,236, 3, 47, -255,236, 3, 49,255,236, 3, 51,255,236, 0,232, 0, 5, 0, 82, 0, 10, 0, 82, 0, 15,255,154, 0, 17,255,154, 0, 34, 0, 41, - 0, 36,255,195, 0, 38,255,215, 0, 42,255,215, 0, 50,255,215, 0, 52,255,215, 0, 68,255,195, 0, 70,255,195, 0, 71,255,195, - 0, 72,255,195, 0, 74,255,195, 0, 80,255,215, 0, 81,255,215, 0, 82,255,195, 0, 83,255,215, 0, 84,255,195, 0, 85,255,215, - 0, 86,255,215, 0, 88,255,215, 0,130,255,195, 0,131,255,195, 0,132,255,195, 0,133,255,195, 0,134,255,195, 0,135,255,195, - 0,136,255,133, 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151,255,215, 0,152,255,215, 0,154,255,215, - 0,162,255,195, 0,163,255,195, 0,164,255,195, 0,165,255,195, 0,166,255,195, 0,167,255,195, 0,168,255,195, 0,169,255,195, - 0,170,255,195, 0,171,255,195, 0,172,255,195, 0,173,255,195, 0,179,255,215, 0,180,255,195, 0,181,255,195, 0,182,255,195, - 0,183,255,195, 0,184,255,195, 0,186,255,195, 0,187,255,215, 0,188,255,215, 0,189,255,215, 0,190,255,215, 0,194,255,195, - 0,195,255,195, 0,196,255,195, 0,197,255,195, 0,198,255,195, 0,199,255,195, 0,200,255,215, 0,201,255,195, 0,203,255,195, - 0,205,255,195, 0,206,255,215, 0,207,255,195, 0,213,255,195, 0,215,255,195, 0,217,255,195, 0,219,255,195, 0,221,255,195, - 0,222,255,215, 0,224,255,215, 0,226,255,215, 0,228,255,215, 1, 6,255,215, 1, 8,255,215, 1, 10,255,215, 1, 14,255,215, - 1, 15,255,195, 1, 17,255,195, 1, 18,255,215, 1, 19,255,195, 1, 20,255,215, 1, 21,255,195, 1, 29,255,215, 1, 31,255,215, - 1, 33,255,215, 1, 35,255,215, 1, 67,255,195, 1, 68,255,195, 1, 74,255,215, 1, 95,255,195, 1,102,255,215, 1,105,255,195, - 1,109,255,215, 1,121,255,195, 1,123,255,215, 1,126,255,195, 1,130,255,195, 1,132,255,215, 1,140,255,195, 1,142,255,195, - 1,144,255,195, 1,147,255,195, 1,150,255,195, 1,153,255,195, 1,155,255,195, 1,170,255,195, 1,184,255,215, 1,187,255,215, - 1,202,255,195, 1,207,255,195, 1,216,255,195, 1,219,255,195, 1,222,255,195, 1,234,255,195, 1,237,255,195, 1,238,255,215, - 2, 7, 0, 82, 2, 11, 0, 82, 2, 40,255,195, 2, 88,255,195, 2, 89,255,195, 2, 95,255,215, 2, 96,255,195, 2,106,255,195, - 2,108,255,215, 2,114,255,195, 2,126,255,215, 2,127,255,195, 2,132,255,215, 2,133,255,195, 2,134,255,215, 2,135,255,195, - 2,136,255,215, 2,137,255,195, 2,138,255,215, 2,140,255,215, 2,141,255,195, 2,177,255,215, 2,178,255,195, 2,179,255,215, - 2,180,255,195, 2,217,255,195, 2,218,255,195, 2,219,255,195, 2,220,255,195, 2,221,255,195, 2,224,255,195, 2,225,255,215, - 2,227,255,215, 2,239,255,215, 2,240,255,195, 2,241,255,215, 2,242,255,195, 2,243,255,215, 2,244,255,195, 3, 10,255,195, - 3, 12,255,195, 3, 21,255,215, 3, 22,255,195, 3, 25,255,215, 3, 26,255,195, 3, 29,255,195, 3, 30,255,195, 3, 31,255,195, - 3, 33,255,195, 3, 34,255,195, 3, 35,255,195, 3, 36,255,195, 3, 37,255,195, 3, 38,255,195, 3, 39,255,195, 3, 40,255,195, - 3, 41,255,195, 3, 42,255,195, 3, 43,255,195, 3, 44,255,195, 3, 45,255,195, 3, 46,255,195, 3, 47,255,195, 3, 48,255,195, - 3, 49,255,195, 3, 50,255,195, 3, 51,255,195, 3, 52,255,195, 3, 54,255,195, 3, 56,255,195, 3, 58,255,195, 3, 60,255,195, - 3, 62,255,195, 3, 64,255,195, 3, 66,255,195, 3, 68,255,195, 3, 73,255,215, 3, 74,255,195, 3, 75,255,215, 3, 76,255,195, - 3, 77,255,215, 3, 78,255,195, 3, 79,255,215, 3, 80,255,195, 3, 81,255,215, 3, 82,255,195, 3, 83,255,215, 3, 84,255,195, - 3, 85,255,215, 3, 86,255,195, 3, 87,255,215, 3, 88,255,195, 3, 89,255,215, 3, 90,255,195, 3, 91,255,215, 3, 92,255,195, - 3, 93,255,215, 3, 94,255,195, 3, 95,255,215, 3, 96,255,195, 3, 98,255,215, 3,100,255,215, 3,102,255,215, 3,104,255,215, - 3,106,255,215, 3,108,255,215, 3,110,255,215, 0,233, 0, 5, 0,102, 0, 10, 0,102, 0, 15,255,174, 0, 17,255,174, 0, 36, -255,215, 0, 38,255,236, 0, 42,255,236, 0, 50,255,236, 0, 52,255,236, 0, 68,255,215, 0, 70,255,215, 0, 71,255,215, 0, 72, -255,215, 0, 74,255,236, 0, 80,255,236, 0, 81,255,236, 0, 82,255,215, 0, 83,255,236, 0, 84,255,215, 0, 85,255,236, 0, 86, -255,215, 0, 88,255,236, 0, 93,255,236, 0,130,255,215, 0,131,255,215, 0,132,255,215, 0,133,255,215, 0,134,255,215, 0,135, -255,215, 0,136,255,174, 0,137,255,236, 0,148,255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154, -255,236, 0,162,255,215, 0,163,255,215, 0,164,255,215, 0,165,255,215, 0,166,255,215, 0,167,255,215, 0,168,255,215, 0,169, -255,215, 0,170,255,215, 0,171,255,215, 0,172,255,215, 0,173,255,215, 0,179,255,236, 0,180,255,215, 0,181,255,215, 0,182, -255,215, 0,183,255,215, 0,184,255,215, 0,186,255,215, 0,187,255,236, 0,188,255,236, 0,189,255,236, 0,190,255,236, 0,194, -255,215, 0,195,255,215, 0,196,255,215, 0,197,255,215, 0,198,255,215, 0,199,255,215, 0,200,255,236, 0,201,255,215, 0,203, -255,215, 0,205,255,215, 0,206,255,236, 0,207,255,215, 0,213,255,215, 0,215,255,215, 0,217,255,215, 0,219,255,215, 0,221, -255,215, 0,222,255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 6,255,236, 1, 8,255,236, 1, 10,255,236, 1, 14, -255,236, 1, 15,255,215, 1, 17,255,215, 1, 18,255,236, 1, 19,255,215, 1, 20,255,236, 1, 21,255,215, 1, 29,255,215, 1, 31, -255,215, 1, 33,255,215, 1, 35,255,215, 1, 64,255,236, 1, 67,255,215, 1, 68,255,215, 1, 74,255,215, 1, 95,255,215, 1,102, -255,236, 1,105,255,215, 1,109,255,236, 1,121,255,215, 1,123,255,236, 1,126,255,215, 1,130,255,215, 1,132,255,236, 1,140, -255,215, 1,142,255,215, 1,144,255,215, 1,147,255,215, 1,150,255,215, 1,153,255,215, 1,155,255,215, 1,170,255,215, 1,184, -255,236, 1,187,255,236, 1,202,255,215, 1,207,255,215, 1,216,255,215, 1,219,255,215, 1,222,255,215, 1,234,255,215, 1,237, -255,215, 1,238,255,215, 2, 7, 0,102, 2, 11, 0,102, 2, 40,255,215, 2, 88,255,215, 2, 89,255,215, 2, 95,255,236, 2, 96, -255,215, 2,106,255,215, 2,108,255,236, 2,114,255,215, 2,126,255,236, 2,127,255,215, 2,132,255,236, 2,133,255,215, 2,134, -255,236, 2,135,255,215, 2,136,255,236, 2,137,255,215, 2,138,255,236, 2,140,255,236, 2,141,255,215, 2,177,255,236, 2,178, -255,215, 2,179,255,236, 2,180,255,215, 2,217,255,215, 2,218,255,215, 2,219,255,215, 2,220,255,215, 2,221,255,215, 2,224, -255,215, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,240,255,215, 2,241,255,236, 2,242,255,215, 2,243,255,236, 2,244, -255,215, 3, 10,255,215, 3, 12,255,215, 3, 21,255,236, 3, 22,255,215, 3, 25,255,236, 3, 26,255,215, 3, 29,255,215, 3, 30, -255,215, 3, 31,255,215, 3, 33,255,215, 3, 34,255,215, 3, 35,255,215, 3, 36,255,215, 3, 37,255,215, 3, 38,255,215, 3, 39, -255,215, 3, 40,255,215, 3, 41,255,215, 3, 42,255,215, 3, 43,255,215, 3, 44,255,215, 3, 45,255,215, 3, 46,255,215, 3, 47, -255,215, 3, 48,255,215, 3, 49,255,215, 3, 50,255,215, 3, 51,255,215, 3, 52,255,215, 3, 54,255,215, 3, 56,255,215, 3, 58, -255,215, 3, 60,255,215, 3, 62,255,215, 3, 64,255,215, 3, 66,255,215, 3, 68,255,215, 3, 73,255,236, 3, 74,255,215, 3, 75, -255,236, 3, 76,255,215, 3, 77,255,236, 3, 78,255,215, 3, 79,255,236, 3, 80,255,215, 3, 81,255,236, 3, 82,255,215, 3, 83, -255,236, 3, 84,255,215, 3, 85,255,236, 3, 86,255,215, 3, 87,255,236, 3, 88,255,215, 3, 89,255,236, 3, 90,255,215, 3, 91, -255,236, 3, 92,255,215, 3, 93,255,236, 3, 94,255,215, 3, 95,255,236, 3, 96,255,215, 3, 98,255,236, 3,100,255,236, 3,102, -255,236, 3,104,255,236, 3,106,255,236, 3,108,255,236, 3,110,255,236, 0,140, 0, 5, 0, 41, 0, 10, 0, 41, 0, 38,255,215, - 0, 42,255,215, 0, 50,255,215, 0, 52,255,215, 0, 70,255,236, 0, 71,255,236, 0, 72,255,236, 0, 82,255,236, 0, 84,255,236, - 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151,255,215, 0,152,255,215, 0,154,255,215, 0,168,255,236, - 0,169,255,236, 0,170,255,236, 0,171,255,236, 0,172,255,236, 0,173,255,236, 0,180,255,236, 0,181,255,236, 0,182,255,236, - 0,183,255,236, 0,184,255,236, 0,186,255,236, 0,200,255,215, 0,201,255,236, 0,203,255,236, 0,205,255,236, 0,206,255,215, - 0,207,255,236, 0,213,255,236, 0,215,255,236, 0,217,255,236, 0,219,255,236, 0,221,255,236, 0,222,255,215, 0,224,255,215, - 0,226,255,215, 0,228,255,215, 1, 14,255,215, 1, 15,255,236, 1, 17,255,236, 1, 18,255,215, 1, 19,255,236, 1, 20,255,215, - 1, 21,255,236, 1,102,255,215, 1,109,255,215, 1,121,255,236, 1,126,255,236, 1,130,255,236, 1,140,255,236, 1,142,255,236, - 1,144,255,236, 1,147,255,236, 1,150,255,236, 1,153,255,236, 1,155,255,236, 1,184,255,215, 1,187,255,215, 1,207,255,236, - 1,216,255,236, 1,219,255,236, 1,222,255,236, 1,234,255,236, 1,237,255,236, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,215, - 2, 96,255,236, 2,106,255,236, 2,108,255,215, 2,126,255,215, 2,127,255,236, 2,132,255,215, 2,133,255,236, 2,134,255,215, - 2,135,255,236, 2,136,255,215, 2,137,255,236, 2,138,255,215, 2,140,255,215, 2,141,255,236, 2,177,255,215, 2,178,255,236, - 2,179,255,215, 2,180,255,236, 2,224,255,236, 2,225,255,215, 2,227,255,215, 2,239,255,215, 2,240,255,236, 2,241,255,215, - 2,242,255,236, 2,243,255,215, 2,244,255,236, 3, 10,255,236, 3, 12,255,236, 3, 21,255,215, 3, 22,255,236, 3, 25,255,215, - 3, 26,255,236, 3, 54,255,236, 3, 56,255,236, 3, 58,255,236, 3, 60,255,236, 3, 62,255,236, 3, 64,255,236, 3, 66,255,236, - 3, 68,255,236, 3, 73,255,215, 3, 74,255,236, 3, 75,255,215, 3, 76,255,236, 3, 77,255,215, 3, 78,255,236, 3, 79,255,215, - 3, 80,255,236, 3, 81,255,215, 3, 82,255,236, 3, 83,255,215, 3, 84,255,236, 3, 85,255,215, 3, 86,255,236, 3, 87,255,215, - 3, 88,255,236, 3, 89,255,215, 3, 90,255,236, 3, 91,255,215, 3, 92,255,236, 3, 93,255,215, 3, 94,255,236, 3, 95,255,215, - 3, 96,255,236, 1, 6, 0, 5, 0, 82, 0, 10, 0, 82, 0, 15,255,154, 0, 17,255,154, 0, 34, 0, 41, 0, 36,255,154, 0, 38, -255,215, 0, 42,255,215, 0, 50,255,215, 0, 52,255,215, 0, 54,255,236, 0, 68,255,154, 0, 70,255,154, 0, 71,255,154, 0, 72, -255,154, 0, 74,255,154, 0, 80,255,195, 0, 81,255,195, 0, 82,255,154, 0, 83,255,195, 0, 84,255,154, 0, 85,255,195, 0, 86, -255,174, 0, 88,255,195, 0, 91,255,215, 0, 92,255,236, 0, 93,255,195, 0,130,255,154, 0,131,255,154, 0,132,255,154, 0,133, -255,154, 0,134,255,154, 0,135,255,154, 0,136,255,113, 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151, -255,215, 0,152,255,215, 0,154,255,215, 0,162,255,154, 0,163,255,154, 0,164,255,154, 0,165,255,154, 0,166,255,154, 0,167, -255,154, 0,168,255,154, 0,169,255,154, 0,170,255,154, 0,171,255,154, 0,172,255,154, 0,173,255,154, 0,179,255,195, 0,180, -255,154, 0,181,255,154, 0,182,255,154, 0,183,255,154, 0,184,255,154, 0,186,255,154, 0,187,255,195, 0,188,255,195, 0,189, -255,195, 0,190,255,195, 0,191,255,236, 0,193,255,236, 0,194,255,154, 0,195,255,154, 0,196,255,154, 0,197,255,154, 0,198, -255,154, 0,199,255,154, 0,200,255,215, 0,201,255,154, 0,203,255,154, 0,205,255,154, 0,206,255,215, 0,207,255,154, 0,213, -255,154, 0,215,255,154, 0,217,255,154, 0,219,255,154, 0,221,255,154, 0,222,255,215, 0,224,255,215, 0,226,255,215, 0,228, -255,215, 1, 6,255,195, 1, 8,255,195, 1, 10,255,195, 1, 14,255,215, 1, 15,255,154, 1, 17,255,154, 1, 18,255,215, 1, 19, -255,154, 1, 20,255,215, 1, 21,255,154, 1, 28,255,236, 1, 29,255,174, 1, 31,255,174, 1, 32,255,236, 1, 33,255,174, 1, 34, -255,236, 1, 35,255,174, 1, 57,255,236, 1, 64,255,195, 1, 67,255,154, 1, 68,255,154, 1, 74,255,174, 1, 95,255,154, 1,102, -255,215, 1,105,255,154, 1,109,255,215, 1,121,255,154, 1,123,255,195, 1,126,255,154, 1,128,255,236, 1,130,255,154, 1,132, -255,195, 1,138,255,236, 1,140,255,154, 1,142,255,154, 1,144,255,154, 1,147,255,154, 1,150,255,154, 1,153,255,154, 1,155, -255,154, 1,160,255,236, 1,170,255,154, 1,184,255,215, 1,187,255,215, 1,202,255,154, 1,207,255,154, 1,216,255,154, 1,219, -255,154, 1,221,255,236, 1,222,255,154, 1,234,255,154, 1,237,255,154, 1,238,255,174, 2, 1,255,236, 2, 7, 0, 82, 2, 11, - 0, 82, 2, 40,255,154, 2, 88,255,154, 2, 89,255,154, 2, 95,255,215, 2, 96,255,154, 2,106,255,154, 2,108,255,215, 2,109, -255,236, 2,114,255,154, 2,126,255,215, 2,127,255,154, 2,129,255,236, 2,131,255,236, 2,132,255,215, 2,133,255,154, 2,134, -255,215, 2,135,255,154, 2,136,255,215, 2,137,255,154, 2,138,255,215, 2,139,255,236, 2,140,255,215, 2,141,255,154, 2,177, -255,215, 2,178,255,154, 2,179,255,215, 2,180,255,154, 2,184,255,236, 2,186,255,236, 2,217,255,154, 2,218,255,154, 2,219, -255,154, 2,220,255,154, 2,221,255,154, 2,224,255,154, 2,225,255,215, 2,227,255,215, 2,239,255,215, 2,240,255,154, 2,241, -255,215, 2,242,255,154, 2,243,255,215, 2,244,255,154, 2,248,255,236, 2,250,255,236, 2,252,255,236, 3, 10,255,154, 3, 12, -255,154, 3, 14,255,236, 3, 16,255,236, 3, 21,255,215, 3, 22,255,154, 3, 25,255,215, 3, 26,255,154, 3, 29,255,154, 3, 30, -255,154, 3, 31,255,154, 3, 33,255,154, 3, 34,255,154, 3, 35,255,154, 3, 36,255,154, 3, 37,255,154, 3, 38,255,154, 3, 39, -255,154, 3, 40,255,154, 3, 41,255,154, 3, 42,255,154, 3, 43,255,154, 3, 44,255,154, 3, 45,255,154, 3, 46,255,154, 3, 47, -255,154, 3, 48,255,154, 3, 49,255,154, 3, 50,255,154, 3, 51,255,154, 3, 52,255,154, 3, 54,255,154, 3, 56,255,154, 3, 58, -255,154, 3, 60,255,154, 3, 62,255,154, 3, 64,255,154, 3, 66,255,154, 3, 68,255,154, 3, 73,255,215, 3, 74,255,154, 3, 75, -255,215, 3, 76,255,154, 3, 77,255,215, 3, 78,255,154, 3, 79,255,215, 3, 80,255,154, 3, 81,255,215, 3, 82,255,154, 3, 83, -255,215, 3, 84,255,154, 3, 85,255,215, 3, 86,255,154, 3, 87,255,215, 3, 88,255,154, 3, 89,255,215, 3, 90,255,154, 3, 91, -255,215, 3, 92,255,154, 3, 93,255,215, 3, 94,255,154, 3, 95,255,215, 3, 96,255,154, 3, 98,255,195, 3,100,255,195, 3,102, -255,195, 3,104,255,195, 3,106,255,195, 3,108,255,195, 3,110,255,195, 3,112,255,236, 3,114,255,236, 3,116,255,236, 0, 57, - 0, 5, 0, 41, 0, 10, 0, 41, 0, 38,255,236, 0, 42,255,236, 0, 50,255,236, 0, 52,255,236, 0,137,255,236, 0,148,255,236, - 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,200,255,236, 0,206,255,236, 0,222,255,236, - 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 14,255,236, 1, 18,255,236, 1, 20,255,215, 1,102,255,236, 1,109,255,236, - 1,184,255,236, 1,187,255,236, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,236, 2,108,255,236, 2,126,255,236, 2,132,255,236, - 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,140,255,236, 2,177,255,236, 2,179,255,236, 2,225,255,236, 2,227,255,236, - 2,239,255,236, 2,241,255,236, 2,243,255,236, 3, 21,255,236, 3, 25,255,236, 3, 73,255,236, 3, 75,255,236, 3, 77,255,236, - 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93,255,236, - 3, 95,255,236, 0, 1, 0, 10,255,215, 0, 4, 0, 5, 0, 61, 0, 10, 0, 61, 2, 7, 0, 61, 2, 11, 0, 61, 0, 38, 0, 5, - 0,102, 0, 10, 0,102, 0, 89, 0, 20, 0, 90, 0, 20, 0, 92, 0, 20, 0,191, 0, 20, 0,193, 0, 20, 1, 55, 0, 20, 1, 57, - 0, 20, 1,128, 0, 20, 1,138, 0, 20, 1,145, 0, 20, 1,148, 0, 20, 1,220, 0, 20, 1,221, 0, 20, 1,251, 0, 20, 1,253, - 0, 20, 1,255, 0, 20, 2, 1, 0, 20, 2, 7, 0,102, 2, 11, 0,102, 2,109, 0, 20, 2,129, 0, 20, 2,131, 0, 20, 2,139, - 0, 20, 2,170, 0, 20, 2,182, 0, 20, 2,184, 0, 20, 2,186, 0, 20, 2,248, 0, 20, 2,250, 0, 20, 2,252, 0, 20, 3, 14, - 0, 20, 3, 16, 0, 20, 3, 24, 0, 20, 3,112, 0, 20, 3,114, 0, 20, 3,116, 0, 20, 0, 5, 0, 5, 0, 41, 0, 10, 0, 41, - 0, 74, 0, 20, 2, 7, 0, 41, 2, 11, 0, 41, 0, 1, 0, 10,255,195, 0, 4, 0, 5, 0, 41, 0, 10, 0, 41, 2, 7, 0, 41, - 2, 11, 0, 41, 0, 3, 0, 91,255,215, 0, 93,255,236, 1, 64,255,236, 0, 31, 0, 5, 0,102, 0, 10, 0,102, 0, 68,255,236, - 0, 74,255,236, 0,162,255,236, 0,163,255,236, 0,164,255,236, 0,165,255,236, 0,166,255,236, 0,167,255,236, 0,195,255,236, - 0,197,255,236, 0,199,255,236, 1, 68,255,236, 1,202,255,236, 2, 7, 0,102, 2, 11, 0,102, 2, 89,255,236, 2,218,255,236, - 2,220,255,236, 3, 30,255,236, 3, 34,255,236, 3, 36,255,236, 3, 38,255,236, 3, 40,255,236, 3, 42,255,236, 3, 44,255,236, - 3, 46,255,236, 3, 48,255,236, 3, 50,255,236, 3, 52,255,236, 0, 5, 0, 5, 0, 82, 0, 10, 0, 82, 0, 87, 0, 20, 2, 7, - 0, 82, 2, 11, 0, 82, 0, 5, 0, 5, 0, 82, 0, 10, 0, 82, 0, 73, 0, 20, 2, 7, 0, 82, 2, 11, 0, 82, 0, 54, 0, 5, - 0, 41, 0, 10, 0, 41, 0, 82,255,215, 0,168,255,215, 0,180,255,215, 0,181,255,215, 0,182,255,215, 0,183,255,215, 0,184, -255,215, 0,186,255,215, 1, 15,255,215, 1, 17,255,215, 1, 19,255,215, 1, 21,255,215, 1,140,255,215, 1,142,255,215, 1,144, -255,215, 1,147,255,215, 1,150,255,215, 1,153,255,215, 1,155,255,215, 1,216,255,215, 1,222,255,215, 2, 7, 0, 41, 2, 11, - 0, 41, 2, 96,255,215, 2,106,255,215, 2,127,255,215, 2,133,255,215, 2,135,255,215, 2,137,255,215, 2,141,255,215, 2,178, -255,215, 2,180,255,215, 2,224,255,215, 2,240,255,215, 2,242,255,215, 2,244,255,215, 3, 10,255,215, 3, 12,255,215, 3, 22, -255,215, 3, 26,255,215, 3, 74,255,215, 3, 76,255,215, 3, 78,255,215, 3, 80,255,215, 3, 82,255,215, 3, 84,255,215, 3, 86, -255,215, 3, 88,255,215, 3, 90,255,215, 3, 92,255,215, 3, 94,255,215, 3, 96,255,215, 0, 5, 0, 5, 0, 61, 0, 10, 0, 61, - 0, 73, 0, 20, 2, 7, 0, 61, 2, 11, 0, 61, 0, 50, 0, 82,255,236, 0,168,255,236, 0,180,255,236, 0,181,255,236, 0,182, -255,236, 0,183,255,236, 0,184,255,236, 0,186,255,236, 1, 15,255,236, 1, 17,255,236, 1, 19,255,236, 1, 21,255,236, 1,140, -255,236, 1,142,255,236, 1,144,255,236, 1,147,255,236, 1,150,255,236, 1,153,255,236, 1,155,255,236, 1,216,255,236, 1,222, -255,236, 2, 96,255,236, 2,106,255,236, 2,127,255,236, 2,133,255,236, 2,135,255,236, 2,137,255,236, 2,141,255,236, 2,178, -255,236, 2,180,255,236, 2,224,255,236, 2,240,255,236, 2,242,255,236, 2,244,255,236, 3, 10,255,236, 3, 12,255,236, 3, 22, -255,236, 3, 26,255,236, 3, 74,255,236, 3, 76,255,236, 3, 78,255,236, 3, 80,255,236, 3, 82,255,236, 3, 84,255,236, 3, 86, -255,236, 3, 88,255,236, 3, 90,255,236, 3, 92,255,236, 3, 94,255,236, 3, 96,255,236, 0, 3, 1,113,255,215, 1,120,255,215, - 1,145, 0, 41, 0, 3, 1,113,255,154, 1,114,255,195, 1,120,255,195, 0,147, 0, 5,255,174, 0, 10,255,174, 0, 13,255,133, - 0, 15, 0, 68, 0, 30, 0, 68, 0, 34,255,195, 0, 38,255,236, 0, 42,255,236, 0, 45, 0, 94, 0, 50,255,236, 0, 52,255,236, - 0, 55,255,133, 0, 56,255,236, 0, 57,255,195, 0, 58,255,215, 0, 60,255,154, 0, 61, 0, 59, 0, 73,255,236, 0, 87,255,236, - 0, 89,255,215, 0, 90,255,236, 0, 92,255,215, 0,130,255,215, 0,137,255,236, 0,148,255,236, 0,149,255,236, 0,150,255,236, - 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, 0,157,255,236, 0,158,255,236, 0,159,255,154, - 0,191,255,215, 0,193,255,215, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, - 0,246, 0, 94, 1, 14,255,236, 1, 18,255,236, 1, 20,255,215, 1, 36,255,133, 1, 38,255,133, 1, 44,255,236, 1, 48,255,236, - 1, 50,255,236, 1, 52,255,236, 1, 54,255,215, 1, 55,255,236, 1, 56,255,154, 1, 57,255,215, 1, 58,255,154, 1, 59, 0, 59, - 1, 61, 0, 59, 1, 63, 0, 59, 1,102,255,236, 1,109,255,236, 1,113,255,133, 1,128,255,215, 1,138,255,215, 1,145,255,215, - 1,148,255,215, 1,163, 0, 94, 1,184,255,236, 1,187,255,236, 1,188,255,133, 1,220,255,215, 1,221,255,215, 1,250,255,215, - 1,251,255,236, 1,252,255,215, 1,253,255,236, 1,254,255,215, 1,255,255,236, 2, 0,255,154, 2, 1,255,215, 2, 7,255,174, - 2, 11,255,174, 2, 95,255,236, 2, 97,255,236, 2,108,255,236, 2,109,255,215, 2,126,255,236, 2,129,255,215, 2,131,255,215, - 2,132,255,236, 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,139,255,215, 2,140,255,236, 2,169,255,133, 2,170,255,215, - 2,177,255,236, 2,179,255,236, 2,181,255,133, 2,182,255,215, 2,183,255,133, 2,184,255,215, 2,185,255,133, 2,186,255,215, - 2,189,255,133, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, 2,248,255,215, 2,250,255,215, - 2,252,255,215, 3, 14,255,215, 3, 16,255,215, 3, 21,255,236, 3, 23,255,133, 3, 24,255,215, 3, 25,255,236, 3, 73,255,236, - 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, - 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, 3,103,255,236, 3,105,255,236, - 3,107,255,236, 3,109,255,236, 3,111,255,154, 3,112,255,215, 3,113,255,154, 3,114,255,215, 3,115,255,154, 3,116,255,215, - 0,144, 0, 5,255,174, 0, 10,255,174, 0, 13,255,133, 0, 15, 0, 68, 0, 30, 0, 68, 0, 34,255,195, 0, 38,255,236, 0, 42, -255,236, 0, 50,255,236, 0, 52,255,236, 0, 55,255,133, 0, 56,255,236, 0, 57,255,195, 0, 58,255,215, 0, 60,255,154, 0, 61, - 0, 59, 0, 73,255,236, 0, 87,255,236, 0, 89,255,215, 0, 90,255,236, 0, 92,255,215, 0,137,255,236, 0,148,255,236, 0,149, -255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, 0,157,255,236, 0,158, -255,236, 0,159,255,154, 0,191,255,215, 0,193,255,215, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226, -255,236, 0,228,255,236, 1, 14,255,236, 1, 18,255,236, 1, 20,255,215, 1, 36,255,133, 1, 38,255,133, 1, 44,255,236, 1, 48, -255,236, 1, 50,255,236, 1, 52,255,236, 1, 54,255,215, 1, 55,255,236, 1, 56,255,154, 1, 57,255,215, 1, 58,255,154, 1, 59, - 0, 59, 1, 61, 0, 59, 1, 63, 0, 59, 1,102,255,236, 1,109,255,236, 1,113,255,133, 1,128,255,215, 1,138,255,215, 1,145, -255,215, 1,148,255,215, 1,163, 0, 94, 1,184,255,236, 1,187,255,236, 1,188,255,133, 1,220,255,215, 1,221,255,215, 1,250, -255,215, 1,251,255,236, 1,252,255,215, 1,253,255,236, 1,254,255,215, 1,255,255,236, 2, 0,255,154, 2, 1,255,215, 2, 7, -255,174, 2, 11,255,174, 2, 95,255,236, 2, 97,255,236, 2,108,255,236, 2,109,255,215, 2,126,255,236, 2,129,255,215, 2,131, -255,215, 2,132,255,236, 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,139,255,215, 2,140,255,236, 2,169,255,133, 2,170, -255,215, 2,177,255,236, 2,179,255,236, 2,181,255,133, 2,182,255,215, 2,183,255,133, 2,184,255,215, 2,185,255,133, 2,186, -255,215, 2,189,255,133, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, 2,248,255,215, 2,250, -255,215, 2,252,255,215, 3, 14,255,215, 3, 16,255,215, 3, 21,255,236, 3, 23,255,133, 3, 24,255,215, 3, 25,255,236, 3, 73, -255,236, 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89, -255,236, 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, 3,103,255,236, 3,105, -255,236, 3,107,255,236, 3,109,255,236, 3,111,255,154, 3,112,255,215, 3,113,255,154, 3,114,255,215, 3,115,255,154, 3,116, -255,215, 0,145, 0, 5,255,174, 0, 10,255,174, 0, 13,255,127, 0, 15, 0, 68, 0, 30, 0, 68, 0, 34,255,215, 0, 38,255,236, - 0, 42,255,236, 0, 45, 0, 94, 0, 50,255,236, 0, 52,255,236, 0, 55,255,133, 0, 56,255,236, 0, 57,255,195, 0, 58,255,215, - 0, 60,255,154, 0, 61, 0, 59, 0, 87,255,229, 0, 89,255,213, 0, 90,255,229, 0, 92,255,219, 0,137,255,236, 0,148,255,236, - 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, 0,157,255,236, - 0,158,255,236, 0,159,255,154, 0,191,255,219, 0,193,255,219, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, - 0,226,255,236, 0,228,255,236, 0,246, 0, 94, 1, 14,255,236, 1, 18,255,236, 1, 20,255,215, 1, 36,255,133, 1, 38,255,133, - 1, 44,255,236, 1, 48,255,236, 1, 50,255,236, 1, 52,255,236, 1, 54,255,215, 1, 55,255,229, 1, 56,255,154, 1, 57,255,219, - 1, 58,255,154, 1, 59, 0, 59, 1, 61, 0, 59, 1, 63, 0, 59, 1,102,255,236, 1,109,255,236, 1,113,255,133, 1,128,255,219, - 1,138,255,213, 1,145,255,213, 1,148,255,213, 1,163, 0, 94, 1,184,255,236, 1,187,255,236, 1,188,255,133, 1,220,255,213, - 1,221,255,219, 1,250,255,215, 1,251,255,229, 1,252,255,215, 1,253,255,229, 1,254,255,215, 1,255,255,229, 2, 0,255,154, - 2, 1,255,219, 2, 7,255,174, 2, 11,255,174, 2, 95,255,236, 2, 97,255,236, 2,108,255,236, 2,109,255,219, 2,126,255,236, - 2,129,255,219, 2,131,255,219, 2,132,255,236, 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,139,255,219, 2,140,255,236, - 2,169,255,133, 2,170,255,213, 2,177,255,236, 2,179,255,236, 2,181,255,133, 2,182,255,213, 2,183,255,133, 2,184,255,219, - 2,185,255,133, 2,186,255,219, 2,189,255,133, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, - 2,248,255,219, 2,250,255,219, 2,252,255,219, 3, 14,255,219, 3, 16,255,219, 3, 21,255,236, 3, 23,255,133, 3, 24,255,213, - 3, 25,255,236, 3, 73,255,236, 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, - 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, - 3,103,255,236, 3,105,255,236, 3,107,255,236, 3,109,255,236, 3,111,255,154, 3,112,255,219, 3,113,255,154, 3,114,255,219, - 3,115,255,154, 3,116,255,219, 0,148, 0, 5,255,102, 0, 10,255,102, 0, 13,255,127, 0, 15, 0, 68, 0, 30, 0, 68, 0, 34, -255,215, 0, 38,255,236, 0, 42,255,236, 0, 45, 0, 94, 0, 50,255,236, 0, 52,255,236, 0, 55,255,133, 0, 56,255,236, 0, 57, -255,195, 0, 58,255,215, 0, 60,255,154, 0, 61, 0, 59, 0, 87,255,229, 0, 89,255,213, 0, 90,255,229, 0, 92,255,219, 0,137, -255,236, 0,148,255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156, -255,236, 0,157,255,236, 0,158,255,236, 0,159,255,154, 0,191,255,219, 0,193,255,219, 0,200,255,236, 0,206,255,236, 0,222, -255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 0,246, 0, 94, 1, 14,255,236, 1, 18,255,236, 1, 20,255,215, 1, 36, -255,133, 1, 38,255,133, 1, 44,255,236, 1, 48,255,236, 1, 50,255,236, 1, 52,255,236, 1, 54,255,215, 1, 55,255,229, 1, 56, -255,154, 1, 57,255,219, 1, 58,255,154, 1, 59, 0, 59, 1, 61, 0, 59, 1, 63, 0, 59, 1,102,255,236, 1,109,255,236, 1,113, -255,133, 1,128,255,219, 1,138,255,213, 1,145,255,213, 1,148,255,213, 1,163, 0, 94, 1,184,255,236, 1,187,255,236, 1,188, -255,133, 1,220,255,213, 1,221,255,219, 1,250,255,215, 1,251,255,229, 1,252,255,215, 1,253,255,229, 1,254,255,215, 1,255, -255,229, 2, 0,255,154, 2, 1,255,219, 2, 6,255,102, 2, 7,255,174, 2, 10,255,102, 2, 11,255,174, 2, 32,255,154, 2, 95, -255,236, 2, 97,255,236, 2,108,255,236, 2,109,255,219, 2,126,255,236, 2,129,255,219, 2,131,255,219, 2,132,255,236, 2,134, -255,236, 2,136,255,236, 2,138,255,236, 2,139,255,219, 2,140,255,236, 2,169,255,133, 2,170,255,213, 2,177,255,236, 2,179, -255,236, 2,181,255,133, 2,182,255,213, 2,183,255,133, 2,184,255,219, 2,185,255,133, 2,186,255,219, 2,189,255,133, 2,225, -255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, 2,248,255,219, 2,250,255,219, 2,252,255,219, 3, 14, -255,219, 3, 16,255,219, 3, 21,255,236, 3, 23,255,133, 3, 24,255,213, 3, 25,255,236, 3, 73,255,236, 3, 75,255,236, 3, 77, -255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93, -255,236, 3, 95,255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, 3,103,255,236, 3,105,255,236, 3,107,255,236, 3,109, -255,236, 3,111,255,154, 3,112,255,219, 3,113,255,154, 3,114,255,219, 3,115,255,154, 3,116,255,219, 0, 57, 0, 5, 0, 41, - 0, 10, 0, 41, 0, 16,255,215, 0, 38,255,236, 0, 50,255,236, 0, 52,255,236, 0,132,255,236, 0,137,255,236, 0,138,255,236, - 0,143,255,236, 0,148,255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,200,255,236, - 0,206,255,236, 0,246, 0, 61, 1, 14,255,236, 1, 18,255,236, 1,102,255,236, 1,109,255,236, 1,163, 0, 61, 1,184,255,236, - 1,187,255,236, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,236, 2,108,255,236, 2,126,255,236, 2,132,255,236, 2,134,255,236, - 2,136,255,236, 2,138,255,236, 2,140,255,236, 2,177,255,236, 2,179,255,236, 2,225,255,236, 2,227,255,236, 2,239,255,236, - 2,241,255,236, 2,243,255,236, 3, 21,255,236, 3, 25,255,236, 3, 73,255,236, 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, - 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, - 0, 55, 0, 5, 0, 41, 0, 10, 0, 41, 0, 16,255,215, 0, 38,255,236, 0, 50,255,236, 0, 52,255,236, 0,137,255,236, 0,139, -255,236, 0,148,255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,200,255,236, 0,206, -255,236, 0,246, 0, 61, 1, 14,255,236, 1, 18,255,236, 1,102,255,236, 1,109,255,236, 1,163, 0, 61, 1,184,255,236, 1,187, -255,236, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,236, 2,108,255,236, 2,126,255,236, 2,132,255,236, 2,134,255,236, 2,136, -255,236, 2,138,255,236, 2,140,255,236, 2,177,255,236, 2,179,255,236, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241, -255,236, 2,243,255,236, 3, 21,255,236, 3, 25,255,236, 3, 73,255,236, 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81, -255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 0, 32, - 0, 36,255,236, 0,130,255,236, 0,131,255,236, 0,132,255,236, 0,133,255,236, 0,134,255,236, 0,135,255,236, 0,194,255,236, - 0,196,255,236, 0,198,255,236, 1, 67,255,236, 1, 95,255,236, 1,105,255,236, 1,170,255,236, 2, 40,255,236, 2, 88,255,236, - 2,114,255,236, 2,217,255,236, 2,219,255,236, 2,221,255,236, 3, 29,255,236, 3, 31,255,236, 3, 33,255,236, 3, 35,255,236, - 3, 37,255,236, 3, 39,255,236, 3, 41,255,236, 3, 43,255,236, 3, 45,255,236, 3, 47,255,236, 3, 49,255,236, 3, 51,255,236, - 0, 86, 0, 12,255,215, 0, 15,255,195, 0, 17,255,195, 0, 36,255,236, 0, 44,255,236, 0, 45,255,246, 0, 54,255,236, 0, 55, -255,195, 0, 57,255,215, 0, 58,255,236, 0, 59,255,215, 0, 60,255,215, 0, 61,255,236, 0, 64,255,215, 0, 96,255,215, 0,130, -255,236, 0,131,255,236, 0,132,255,236, 0,133,255,236, 0,134,255,236, 0,135,255,236, 0,136,255,215, 0,142,255,236, 0,143, -255,236, 0,144,255,236, 0,145,255,236, 0,159,255,215, 0,194,255,236, 0,196,255,236, 0,198,255,236, 0,236,255,236, 0,240, -255,236, 0,242,255,236, 0,246,255,246, 1, 28,255,236, 1, 32,255,236, 1, 34,255,236, 1, 36,255,195, 1, 38,255,195, 1, 54, -255,236, 1, 56,255,215, 1, 58,255,215, 1, 59,255,236, 1, 61,255,236, 1, 63,255,236, 1, 67,255,236, 1, 95,255,236, 1,105, -255,236, 1,113,255,195, 1,160,255,236, 1,163,255,246, 1,170,255,236, 1,188,255,195, 1,250,255,236, 1,252,255,236, 1,254, -255,236, 2, 0,255,215, 2, 40,255,236, 2, 88,255,236, 2,114,255,236, 2,169,255,195, 2,181,255,195, 2,183,255,195, 2,185, -255,195, 2,189,255,195, 2,217,255,236, 2,219,255,236, 2,221,255,236, 3, 23,255,195, 3, 29,255,236, 3, 31,255,236, 3, 33, -255,236, 3, 35,255,236, 3, 37,255,236, 3, 39,255,236, 3, 41,255,236, 3, 43,255,236, 3, 45,255,236, 3, 47,255,236, 3, 49, -255,236, 3, 51,255,236, 3, 69,255,236, 3, 71,255,236, 3,111,255,215, 3,113,255,215, 3,115,255,215, 0, 66, 0, 15,255,215, - 0, 17,255,215, 0, 36,255,236, 0, 48,255,236, 0, 61,255,236, 0, 68,255,236, 0,130,255,236, 0,131,255,236, 0,132,255,236, - 0,133,255,236, 0,134,255,236, 0,135,255,236, 0,136,255,215, 0,162,255,236, 0,163,255,236, 0,164,255,236, 0,165,255,236, - 0,166,255,236, 0,167,255,236, 0,194,255,236, 0,195,255,236, 0,196,255,236, 0,197,255,236, 0,198,255,236, 0,199,255,236, - 1, 59,255,236, 1, 61,255,236, 1, 63,255,236, 1, 67,255,236, 1, 68,255,236, 1, 95,255,236, 1,105,255,236, 1,170,255,236, - 1,202,255,236, 2, 40,255,236, 2, 88,255,236, 2, 89,255,236, 2,114,255,236, 2,217,255,236, 2,218,255,236, 2,219,255,236, - 2,220,255,236, 2,221,255,236, 3, 29,255,236, 3, 30,255,236, 3, 31,255,236, 3, 33,255,236, 3, 34,255,236, 3, 35,255,236, - 3, 36,255,236, 3, 37,255,236, 3, 38,255,236, 3, 39,255,236, 3, 40,255,236, 3, 41,255,236, 3, 42,255,236, 3, 43,255,236, - 3, 44,255,236, 3, 45,255,236, 3, 46,255,236, 3, 47,255,236, 3, 48,255,236, 3, 49,255,236, 3, 50,255,236, 3, 51,255,236, - 3, 52,255,236, 1, 46, 0, 5, 0, 82, 0, 9,255,195, 0, 10, 0, 82, 0, 12, 0, 61, 0, 13, 0, 41, 0, 15,255,154, 0, 16, -255,154, 0, 17,255,154, 0, 34, 0, 41, 0, 36,255,154, 0, 38,255,215, 0, 42,255,215, 0, 45,255,190, 0, 48,255,195, 0, 50, -255,215, 0, 52,255,215, 0, 54,255,236, 0, 55, 0, 39, 0, 57, 0, 41, 0, 58, 0, 20, 0, 64, 0, 61, 0, 68,255,154, 0, 70, -255,154, 0, 71,255,154, 0, 72,255,154, 0, 73,255,229, 0, 74,255,154, 0, 80,255,195, 0, 81,255,195, 0, 82,255,154, 0, 83, -255,195, 0, 84,255,154, 0, 85,255,195, 0, 86,255,174, 0, 88,255,195, 0, 89,255,215, 0, 90,255,236, 0, 91,255,215, 0, 92, -255,236, 0, 93,255,195, 0, 96, 0, 61, 0,130,255,154, 0,131,255,154, 0,132,255,154, 0,133,255,154, 0,134,255,154, 0,135, -255,154, 0,136,255,113, 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151,255,215, 0,152,255,215, 0,154, -255,215, 0,162,255,154, 0,163,255,154, 0,164,255,154, 0,165,255,154, 0,166,255,154, 0,167,255,154, 0,168,255,154, 0,169, -255,154, 0,170,255,154, 0,171,255,154, 0,172,255,154, 0,173,255,154, 0,179,255,195, 0,180,255,154, 0,181,255,154, 0,182, -255,154, 0,183,255,154, 0,184,255,154, 0,186,255,154, 0,187,255,195, 0,188,255,195, 0,189,255,195, 0,190,255,195, 0,191, -255,236, 0,193,255,236, 0,194,255,154, 0,195,255,154, 0,196,255,154, 0,197,255,154, 0,198,255,154, 0,199,255,154, 0,200, -255,215, 0,201,255,154, 0,203,255,154, 0,205,255,154, 0,206,255,215, 0,207,255,154, 0,213,255,154, 0,215,255,154, 0,217, -255,154, 0,219,255,154, 0,221,255,154, 0,222,255,215, 0,224,255,215, 0,226,255,215, 0,228,255,215, 0,246,255,190, 1, 6, -255,195, 1, 8,255,195, 1, 10,255,195, 1, 14,255,215, 1, 15,255,154, 1, 17,255,154, 1, 18,255,215, 1, 19,255,154, 1, 20, -255,215, 1, 21,255,154, 1, 28,255,236, 1, 29,255,174, 1, 31,255,174, 1, 32,255,236, 1, 33,255,174, 1, 34,255,236, 1, 35, -255,174, 1, 36, 0, 39, 1, 38, 0, 39, 1, 54, 0, 20, 1, 55,255,236, 1, 57,255,236, 1, 64,255,195, 1, 67,255,154, 1, 68, -255,154, 1, 74,255,174, 1, 95,255,154, 1,102,255,215, 1,105,255,154, 1,109,255,215, 1,113, 0, 39, 1,121,255,154, 1,123, -255,195, 1,126,255,154, 1,128,255,236, 1,130,255,154, 1,132,255,195, 1,138,255,215, 1,140,255,154, 1,142,255,154, 1,144, -255,154, 1,145,255,215, 1,147,255,154, 1,148,255,215, 1,150,255,154, 1,153,255,154, 1,155,255,154, 1,160,255,236, 1,163, -255,190, 1,170,255,154, 1,184,255,215, 1,187,255,215, 1,188, 0, 39, 1,202,255,154, 1,207,255,154, 1,216,255,154, 1,219, -255,154, 1,220,255,215, 1,221,255,236, 1,222,255,154, 1,234,255,154, 1,237,255,154, 1,238,255,174, 1,250, 0, 20, 1,251, -255,236, 1,252, 0, 20, 1,253,255,236, 1,254, 0, 20, 1,255,255,236, 2, 1,255,236, 2, 7, 0, 82, 2, 11, 0, 82, 2, 40, -255,154, 2, 88,255,154, 2, 89,255,154, 2, 95,255,215, 2, 96,255,154, 2,106,255,154, 2,108,255,215, 2,109,255,236, 2,114, -255,154, 2,126,255,215, 2,127,255,154, 2,129,255,236, 2,131,255,236, 2,132,255,215, 2,133,255,154, 2,134,255,215, 2,135, -255,154, 2,136,255,215, 2,137,255,154, 2,138,255,215, 2,139,255,236, 2,140,255,215, 2,141,255,154, 2,169, 0, 39, 2,170, -255,215, 2,177,255,215, 2,178,255,154, 2,179,255,215, 2,180,255,154, 2,181, 0, 39, 2,182,255,215, 2,183, 0, 39, 2,184, -255,236, 2,185, 0, 39, 2,186,255,236, 2,189, 0, 39, 2,217,255,154, 2,218,255,154, 2,219,255,154, 2,220,255,154, 2,221, -255,154, 2,224,255,154, 2,225,255,215, 2,227,255,215, 2,239,255,215, 2,240,255,154, 2,241,255,215, 2,242,255,154, 2,243, -255,215, 2,244,255,154, 2,248,255,236, 2,250,255,236, 2,252,255,236, 3, 10,255,154, 3, 12,255,154, 3, 14,255,236, 3, 16, -255,236, 3, 21,255,215, 3, 22,255,154, 3, 23, 0, 39, 3, 24,255,215, 3, 25,255,215, 3, 26,255,154, 3, 29,255,154, 3, 30, -255,154, 3, 31,255,154, 3, 33,255,154, 3, 34,255,154, 3, 35,255,154, 3, 36,255,154, 3, 37,255,154, 3, 38,255,154, 3, 39, -255,154, 3, 40,255,154, 3, 41,255,154, 3, 42,255,154, 3, 43,255,154, 3, 44,255,154, 3, 45,255,154, 3, 46,255,154, 3, 47, -255,154, 3, 48,255,154, 3, 49,255,154, 3, 50,255,154, 3, 51,255,154, 3, 52,255,154, 3, 54,255,154, 3, 56,255,154, 3, 58, -255,154, 3, 60,255,154, 3, 62,255,154, 3, 64,255,154, 3, 66,255,154, 3, 68,255,154, 3, 73,255,215, 3, 74,255,154, 3, 75, -255,215, 3, 76,255,154, 3, 77,255,215, 3, 78,255,154, 3, 79,255,215, 3, 80,255,154, 3, 81,255,215, 3, 82,255,154, 3, 83, -255,215, 3, 84,255,154, 3, 85,255,215, 3, 86,255,154, 3, 87,255,215, 3, 88,255,154, 3, 89,255,215, 3, 90,255,154, 3, 91, -255,215, 3, 92,255,154, 3, 93,255,215, 3, 94,255,154, 3, 95,255,215, 3, 96,255,154, 3, 98,255,195, 3,100,255,195, 3,102, -255,195, 3,104,255,195, 3,106,255,195, 3,108,255,195, 3,110,255,195, 3,112,255,236, 3,114,255,236, 3,116,255,236, 0, 2, - 0, 5,255,152, 0, 10,255,215, 0, 3, 0, 5,255,152, 0, 10,255,215, 2, 11,255,215, 0, 6, 0, 5,255,111, 0, 10,255,111, - 0, 73,255,219, 0, 91,255,215, 0, 93,255,236, 1, 64,255,236, 0, 2, 0, 5,255,190, 0, 10,255,190, 0, 97, 0, 5, 0, 61, - 0, 10, 0, 61, 0, 15,255,190, 0, 17,255,190, 0, 34,255,180, 0, 70,255,246, 0, 71,255,246, 0, 72,255,246, 0, 73, 0, 20, - 0, 74,255,246, 0, 82,255,246, 0, 84,255,246, 0, 87, 0, 6, 0,168,255,246, 0,169,255,246, 0,170,255,246, 0,171,255,246, - 0,172,255,246, 0,173,255,246, 0,180,255,246, 0,181,255,246, 0,182,255,246, 0,183,255,246, 0,184,255,246, 0,186,255,246, - 0,201,255,246, 0,203,255,246, 0,205,255,246, 0,207,255,246, 0,213,255,246, 0,215,255,246, 0,217,255,246, 0,219,255,246, - 0,221,255,246, 1, 15,255,246, 1, 17,255,246, 1, 19,255,246, 1, 21,255,246, 1,121,255,246, 1,126,255,246, 1,130,255,246, - 1,140,255,246, 1,142,255,246, 1,144,255,246, 1,147,255,246, 1,150,255,246, 1,153,255,246, 1,155,255,246, 1,207,255,246, - 1,216,255,246, 1,219,255,246, 1,222,255,246, 1,234,255,246, 1,237,255,246, 2, 7, 0, 61, 2, 8,255,141, 2, 11, 0, 61, - 2, 12,255,141, 2, 16,255,129, 2, 21, 0, 12, 2, 96,255,246, 2,106,255,246, 2,127,255,246, 2,133,255,246, 2,135,255,246, - 2,137,255,246, 2,141,255,246, 2,178,255,246, 2,180,255,246, 2,224,255,246, 2,240,255,246, 2,242,255,246, 2,244,255,246, - 3, 10,255,246, 3, 12,255,246, 3, 22,255,246, 3, 26,255,246, 3, 54,255,246, 3, 56,255,246, 3, 58,255,246, 3, 60,255,246, - 3, 62,255,246, 3, 64,255,246, 3, 66,255,246, 3, 68,255,246, 3, 74,255,246, 3, 76,255,246, 3, 78,255,246, 3, 80,255,246, - 3, 82,255,246, 3, 84,255,246, 3, 86,255,246, 3, 88,255,246, 3, 90,255,246, 3, 92,255,246, 3, 94,255,246, 3, 96,255,246, - 0, 7, 0, 5, 0, 61, 0, 10, 0, 61, 0, 15,255,190, 0, 17,255,190, 0, 73, 0, 20, 2, 7, 0, 61, 2, 11, 0, 61, 0,100, - 0, 5,255,174, 0, 10,255,174, 0, 38,255,236, 0, 42,255,236, 0, 45, 0,225, 0, 50,255,236, 0, 52,255,236, 0, 55,255,133, - 0, 56,255,236, 0, 57,255,195, 0, 58,255,215, 0, 60,255,154, 0,137,255,236, 0,148,255,236, 0,149,255,236, 0,150,255,236, - 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, 0,157,255,236, 0,158,255,236, 0,159,255,154, - 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 14,255,236, 1, 18,255,236, - 1, 20,255,215, 1, 36,255,133, 1, 38,255,133, 1, 44,255,236, 1, 48,255,236, 1, 50,255,236, 1, 52,255,236, 1, 54,255,215, - 1, 56,255,154, 1, 58,255,154, 1,102,255,236, 1,109,255,236, 1,113,255,133, 1,184,255,236, 1,187,255,236, 1,188,255,133, - 1,250,255,215, 1,252,255,215, 1,254,255,215, 2, 0,255,154, 2, 7,255,174, 2, 11,255,174, 2, 95,255,236, 2, 97,255,236, - 2,108,255,236, 2,126,255,236, 2,132,255,236, 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,140,255,236, 2,169,255,133, - 2,177,255,236, 2,179,255,236, 2,181,255,133, 2,183,255,133, 2,185,255,133, 2,189,255,133, 2,225,255,236, 2,227,255,236, - 2,239,255,236, 2,241,255,236, 2,243,255,236, 3, 21,255,236, 3, 23,255,133, 3, 25,255,236, 3, 73,255,236, 3, 75,255,236, - 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, - 3, 93,255,236, 3, 95,255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, 3,103,255,236, 3,105,255,236, 3,107,255,236, - 3,109,255,236, 3,111,255,154, 3,113,255,154, 3,115,255,154, 0, 31, 0, 5, 0,102, 0, 10, 0,102, 0, 12, 0,143, 0, 34, - 0,164, 0, 64, 0,164, 0, 69, 0, 82, 0, 75, 0, 82, 0, 76, 0, 61, 0, 77, 0, 61, 0, 78, 0, 82, 0, 79, 0, 82, 0, 96, - 0,184, 0,174, 0,246, 0,176, 0,205, 0,177, 0,205, 0,231, 0, 82, 0,233, 0,164, 0,235, 1, 10, 0,237, 0,205, 0,239, - 0,246, 0,241, 0, 41, 0,245, 0, 61, 0,247, 0,225, 0,249, 0, 82, 0,252, 0, 82, 0,254, 0, 82, 1, 0, 0, 82, 1, 2, - 0, 82, 1, 4, 0, 82, 2, 7, 0,143, 2, 11, 0,143, 0, 1, 0, 45, 0,102, 0, 58, 0, 5, 0, 41, 0, 10, 0, 41, 0, 38, -255,236, 0, 42,255,236, 0, 45, 0, 82, 0, 50,255,236, 0, 52,255,236, 0,137,255,236, 0,148,255,236, 0,149,255,236, 0,150, -255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226, -255,236, 0,228,255,236, 1, 14,255,236, 1, 18,255,236, 1, 20,255,236, 1,102,255,236, 1,109,255,236, 1,184,255,236, 1,187, -255,236, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,236, 2,108,255,236, 2,126,255,236, 2,132,255,236, 2,134,255,236, 2,136, -255,236, 2,138,255,236, 2,140,255,236, 2,177,255,236, 2,179,255,236, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241, -255,236, 2,243,255,236, 3, 21,255,236, 3, 25,255,236, 3, 73,255,236, 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81, -255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 0, 66, - 0, 5, 0, 41, 0, 10, 0, 41, 0, 48, 0, 20, 0, 54,255,236, 0, 55,255,215, 0, 57,255,236, 0, 58,255,236, 0, 59,255,215, - 0, 60,255,215, 0, 89,255,236, 0, 92,255,236, 0,159,255,215, 0,191,255,236, 0,193,255,236, 1, 28,255,236, 1, 32,255,236, - 1, 34,255,236, 1, 35,255,236, 1, 36,255,215, 1, 38,255,215, 1, 54,255,236, 1, 56,255,215, 1, 57,255,236, 1, 58,255,215, - 1,113,255,215, 1,128,255,236, 1,138,255,236, 1,145,255,236, 1,148,255,236, 1,160,255,236, 1,188,255,215, 1,220,255,236, - 1,221,255,236, 1,250,255,236, 1,252,255,236, 1,254,255,236, 2, 0,255,215, 2, 1,255,236, 2, 7, 0, 41, 2, 11, 0, 41, - 2,109,255,236, 2,129,255,236, 2,131,255,236, 2,139,255,236, 2,169,255,215, 2,170,255,236, 2,181,255,215, 2,182,255,236, - 2,183,255,215, 2,184,255,236, 2,185,255,215, 2,186,255,236, 2,189,255,215, 2,248,255,236, 2,250,255,236, 2,252,255,236, - 3, 14,255,236, 3, 16,255,236, 3, 23,255,215, 3, 24,255,236, 3,111,255,215, 3,112,255,236, 3,113,255,215, 3,114,255,236, - 3,115,255,215, 3,116,255,236, 1, 29, 0, 5, 0, 82, 0, 10, 0, 82, 0, 15,255,154, 0, 17,255,154, 0, 34, 0, 41, 0, 36, -255,133, 0, 38,255,195, 0, 42,255,195, 0, 50,255,195, 0, 52,255,195, 0, 54,255,236, 0, 55, 0, 20, 0, 68,255,133, 0, 70, -255,133, 0, 71,255,133, 0, 72,255,133, 0, 74,255,154, 0, 80,255,174, 0, 81,255,174, 0, 82,255,133, 0, 83,255,174, 0, 84, -255,133, 0, 85,255,174, 0, 86,255,133, 0, 88,255,174, 0, 89,255,195, 0, 90,255,195, 0, 91,255,195, 0, 92,255,195, 0, 93, -255,195, 0,130,255,133, 0,131,255,133, 0,132,255,133, 0,133,255,133, 0,134,255,133, 0,135,255,133, 0,136,255,113, 0,137, -255,195, 0,148,255,195, 0,149,255,195, 0,150,255,195, 0,151,255,195, 0,152,255,195, 0,154,255,195, 0,162,255,133, 0,163, -255,133, 0,164,255,133, 0,165,255,133, 0,166,255,133, 0,167,255,133, 0,168,255,133, 0,169,255,133, 0,170,255,133, 0,171, -255,133, 0,172,255,133, 0,173,255,133, 0,179,255,174, 0,180,255,133, 0,181,255,133, 0,182,255,133, 0,183,255,133, 0,184, -255,133, 0,186,255,133, 0,187,255,174, 0,188,255,174, 0,189,255,174, 0,190,255,174, 0,191,255,195, 0,193,255,195, 0,194, -255,133, 0,195,255,133, 0,196,255,133, 0,197,255,133, 0,198,255,133, 0,199,255,133, 0,200,255,195, 0,201,255,133, 0,203, -255,133, 0,205,255,133, 0,206,255,195, 0,207,255,133, 0,213,255,133, 0,215,255,133, 0,217,255,133, 0,219,255,133, 0,221, -255,133, 0,222,255,195, 0,224,255,195, 0,226,255,195, 0,228,255,195, 1, 6,255,174, 1, 8,255,174, 1, 10,255,174, 1, 14, -255,195, 1, 15,255,133, 1, 17,255,133, 1, 18,255,195, 1, 19,255,133, 1, 20,255,195, 1, 21,255,133, 1, 28,255,236, 1, 29, -255,133, 1, 31,255,133, 1, 32,255,236, 1, 33,255,133, 1, 34,255,236, 1, 35,255,133, 1, 36, 0, 20, 1, 38, 0, 20, 1, 55, -255,195, 1, 57,255,195, 1, 64,255,195, 1, 67,255,133, 1, 68,255,133, 1, 74,255,133, 1, 95,255,133, 1,102,255,195, 1,105, -255,133, 1,109,255,195, 1,113, 0, 20, 1,121,255,133, 1,123,255,174, 1,126,255,133, 1,128,255,195, 1,130,255,133, 1,132, -255,174, 1,138,255,195, 1,140,255,133, 1,142,255,133, 1,144,255,133, 1,145,255,195, 1,147,255,133, 1,148,255,195, 1,150, -255,133, 1,153,255,133, 1,155,255,133, 1,160,255,236, 1,170,255,133, 1,184,255,195, 1,187,255,195, 1,188, 0, 20, 1,202, -255,133, 1,207,255,133, 1,216,255,133, 1,219,255,133, 1,220,255,195, 1,221,255,195, 1,222,255,133, 1,234,255,133, 1,237, -255,133, 1,238,255,133, 1,251,255,195, 1,253,255,195, 1,255,255,195, 2, 1,255,195, 2, 7, 0, 82, 2, 11, 0, 82, 2, 40, -255,133, 2, 88,255,133, 2, 89,255,133, 2, 95,255,195, 2, 96,255,133, 2,106,255,133, 2,108,255,195, 2,109,255,195, 2,114, -255,133, 2,126,255,195, 2,127,255,133, 2,129,255,195, 2,131,255,195, 2,132,255,195, 2,133,255,133, 2,134,255,195, 2,135, -255,133, 2,136,255,195, 2,137,255,133, 2,138,255,195, 2,139,255,195, 2,140,255,195, 2,141,255,133, 2,169, 0, 20, 2,170, -255,195, 2,177,255,195, 2,178,255,133, 2,179,255,195, 2,180,255,133, 2,181, 0, 20, 2,182,255,195, 2,183, 0, 20, 2,184, -255,195, 2,185, 0, 20, 2,186,255,195, 2,189, 0, 20, 2,217,255,133, 2,218,255,133, 2,219,255,133, 2,220,255,133, 2,221, -255,133, 2,224,255,133, 2,225,255,195, 2,227,255,195, 2,239,255,195, 2,240,255,133, 2,241,255,195, 2,242,255,133, 2,243, -255,195, 2,244,255,133, 2,248,255,195, 2,250,255,195, 2,252,255,195, 3, 10,255,133, 3, 12,255,133, 3, 14,255,195, 3, 16, -255,195, 3, 21,255,195, 3, 22,255,133, 3, 23, 0, 20, 3, 24,255,195, 3, 25,255,195, 3, 26,255,133, 3, 29,255,133, 3, 30, -255,133, 3, 31,255,133, 3, 33,255,133, 3, 34,255,133, 3, 35,255,133, 3, 36,255,133, 3, 37,255,133, 3, 38,255,133, 3, 39, -255,133, 3, 40,255,133, 3, 41,255,133, 3, 42,255,133, 3, 43,255,133, 3, 44,255,133, 3, 45,255,133, 3, 46,255,133, 3, 47, -255,133, 3, 48,255,133, 3, 49,255,133, 3, 50,255,133, 3, 51,255,133, 3, 52,255,133, 3, 54,255,133, 3, 56,255,133, 3, 58, -255,133, 3, 60,255,133, 3, 62,255,133, 3, 64,255,133, 3, 66,255,133, 3, 68,255,133, 3, 73,255,195, 3, 74,255,133, 3, 75, -255,195, 3, 76,255,133, 3, 77,255,195, 3, 78,255,133, 3, 79,255,195, 3, 80,255,133, 3, 81,255,195, 3, 82,255,133, 3, 83, -255,195, 3, 84,255,133, 3, 85,255,195, 3, 86,255,133, 3, 87,255,195, 3, 88,255,133, 3, 89,255,195, 3, 90,255,133, 3, 91, -255,195, 3, 92,255,133, 3, 93,255,195, 3, 94,255,133, 3, 95,255,195, 3, 96,255,133, 3, 98,255,174, 3,100,255,174, 3,102, -255,174, 3,104,255,174, 3,106,255,174, 3,108,255,174, 3,110,255,174, 3,112,255,195, 3,114,255,195, 3,116,255,195, 1, 29, - 0, 5, 0, 82, 0, 9,255,195, 0, 10, 0, 82, 0, 12, 0, 61, 0, 13, 0, 41, 0, 15,255,154, 0, 16,255, 92, 0, 17,255,154, - 0, 34, 0, 41, 0, 36,255,154, 0, 38,255,215, 0, 42,255,215, 0, 45,255,190, 0, 48,255,236, 0, 50,255,215, 0, 52,255,215, - 0, 54,255,236, 0, 55, 0, 39, 0, 64, 0, 61, 0, 68,255,154, 0, 70,255,154, 0, 71,255,154, 0, 72,255,154, 0, 73,255,229, - 0, 74,255,154, 0, 80,255,195, 0, 81,255,195, 0, 82,255,154, 0, 83,255,195, 0, 84,255,154, 0, 85,255,195, 0, 86,255,174, - 0, 88,255,195, 0, 91,255,215, 0, 92,255,236, 0, 93,255,195, 0, 96, 0, 61, 0,130,255,154, 0,131,255,154, 0,132,255,154, - 0,133,255,154, 0,134,255,154, 0,135,255,154, 0,136,255,113, 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, - 0,151,255,215, 0,152,255,215, 0,154,255,215, 0,162,255,154, 0,163,255,154, 0,164,255,154, 0,165,255,154, 0,166,255,154, - 0,167,255,154, 0,168,255,154, 0,169,255,154, 0,170,255,154, 0,171,255,154, 0,172,255,154, 0,173,255,154, 0,179,255,195, - 0,180,255,154, 0,181,255,154, 0,182,255,154, 0,183,255,154, 0,184,255,154, 0,186,255,154, 0,187,255,195, 0,188,255,195, - 0,189,255,195, 0,190,255,195, 0,191,255,236, 0,193,255,236, 0,194,255,154, 0,195,255,154, 0,196,255,154, 0,197,255,154, - 0,198,255,154, 0,199,255,154, 0,200,255,215, 0,201,255,154, 0,203,255,154, 0,205,255,154, 0,206,255,215, 0,207,255,154, - 0,213,255,154, 0,215,255,154, 0,217,255,154, 0,219,255,154, 0,221,255,154, 0,222,255,215, 0,224,255,215, 0,226,255,215, - 0,228,255,215, 0,246,255,190, 1, 6,255,195, 1, 8,255,195, 1, 10,255,195, 1, 14,255,215, 1, 15,255,154, 1, 17,255,154, - 1, 18,255,215, 1, 19,255,154, 1, 20,255,215, 1, 21,255,154, 1, 28,255,236, 1, 29,255,174, 1, 31,255,174, 1, 32,255,236, - 1, 33,255,174, 1, 34,255,236, 1, 35,255,174, 1, 36, 0, 39, 1, 38, 0, 39, 1, 57,255,236, 1, 64,255,195, 1, 67,255,154, - 1, 68,255,154, 1, 74,255,174, 1, 95,255,154, 1,102,255,215, 1,105,255,154, 1,109,255,215, 1,113, 0, 39, 1,121,255,154, - 1,123,255,195, 1,126,255,154, 1,128,255,236, 1,130,255,154, 1,132,255,195, 1,138,255,236, 1,140,255,154, 1,142,255,154, - 1,144,255,154, 1,147,255,154, 1,150,255,154, 1,153,255,154, 1,155,255,154, 1,160,255,236, 1,163,255,190, 1,170,255,154, - 1,184,255,215, 1,187,255,215, 1,188, 0, 39, 1,202,255,154, 1,207,255,154, 1,216,255,154, 1,219,255,154, 1,221,255,236, - 1,222,255,154, 1,234,255,154, 1,237,255,154, 1,238,255,174, 2, 1,255,236, 2, 7, 0, 82, 2, 11, 0, 82, 2, 15,255,215, - 2, 40,255,154, 2, 88,255,154, 2, 89,255,154, 2, 95,255,215, 2, 96,255,154, 2,106,255,154, 2,108,255,215, 2,109,255,236, - 2,114,255,154, 2,126,255,215, 2,127,255,154, 2,129,255,236, 2,131,255,236, 2,132,255,215, 2,133,255,154, 2,134,255,215, - 2,135,255,154, 2,136,255,215, 2,137,255,154, 2,138,255,215, 2,139,255,236, 2,140,255,215, 2,141,255,154, 2,169, 0, 39, - 2,177,255,215, 2,178,255,154, 2,179,255,215, 2,180,255,154, 2,181, 0, 39, 2,183, 0, 39, 2,184,255,236, 2,185, 0, 39, - 2,186,255,236, 2,189, 0, 39, 2,217,255,154, 2,218,255,154, 2,219,255,154, 2,220,255,154, 2,221,255,154, 2,224,255,154, - 2,225,255,215, 2,227,255,215, 2,239,255,215, 2,240,255,154, 2,241,255,215, 2,242,255,154, 2,243,255,215, 2,244,255,154, - 2,248,255,236, 2,250,255,236, 2,252,255,236, 3, 10,255,154, 3, 12,255,154, 3, 14,255,236, 3, 16,255,236, 3, 21,255,215, - 3, 22,255,154, 3, 23, 0, 39, 3, 25,255,215, 3, 26,255,154, 3, 29,255,154, 3, 30,255,154, 3, 31,255,154, 3, 33,255,154, - 3, 34,255,154, 3, 35,255,154, 3, 36,255,154, 3, 37,255,154, 3, 38,255,154, 3, 39,255,154, 3, 40,255,154, 3, 41,255,154, - 3, 42,255,154, 3, 43,255,154, 3, 44,255,154, 3, 45,255,154, 3, 46,255,154, 3, 47,255,154, 3, 48,255,154, 3, 49,255,154, - 3, 50,255,154, 3, 51,255,154, 3, 52,255,154, 3, 54,255,154, 3, 56,255,154, 3, 58,255,154, 3, 60,255,154, 3, 62,255,154, - 3, 64,255,154, 3, 66,255,154, 3, 68,255,154, 3, 73,255,215, 3, 74,255,154, 3, 75,255,215, 3, 76,255,154, 3, 77,255,215, - 3, 78,255,154, 3, 79,255,215, 3, 80,255,154, 3, 81,255,215, 3, 82,255,154, 3, 83,255,215, 3, 84,255,154, 3, 85,255,215, - 3, 86,255,154, 3, 87,255,215, 3, 88,255,154, 3, 89,255,215, 3, 90,255,154, 3, 91,255,215, 3, 92,255,154, 3, 93,255,215, - 3, 94,255,154, 3, 95,255,215, 3, 96,255,154, 3, 98,255,195, 3,100,255,195, 3,102,255,195, 3,104,255,195, 3,106,255,195, - 3,108,255,195, 3,110,255,195, 3,112,255,236, 3,114,255,236, 3,116,255,236, 0,197, 0, 5, 0, 41, 0, 10, 0, 41, 0, 16, -255,195, 0, 38,255,236, 0, 42,255,236, 0, 50,255,236, 0, 52,255,236, 0, 54,255,215, 0, 56,255,236, 0, 70,255,236, 0, 71, -255,236, 0, 72,255,236, 0, 82,255,236, 0, 84,255,236, 0, 89,255,215, 0, 90,255,215, 0, 92,255,215, 0,137,255,236, 0,148, -255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, 0,157, -255,236, 0,158,255,236, 0,168,255,236, 0,169,255,236, 0,170,255,236, 0,171,255,236, 0,172,255,236, 0,173,255,236, 0,180, -255,236, 0,181,255,236, 0,182,255,236, 0,183,255,236, 0,184,255,236, 0,186,255,236, 0,191,255,215, 0,193,255,215, 0,200, -255,236, 0,201,255,236, 0,203,255,236, 0,205,255,236, 0,206,255,236, 0,207,255,236, 0,213,255,236, 0,215,255,236, 0,217, -255,236, 0,219,255,236, 0,221,255,236, 0,222,255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 14,255,236, 1, 15, -255,236, 1, 17,255,236, 1, 18,255,236, 1, 19,255,236, 1, 20,255,215, 1, 21,255,236, 1, 28,255,215, 1, 32,255,215, 1, 34, -255,215, 1, 44,255,236, 1, 48,255,236, 1, 50,255,236, 1, 52,255,236, 1, 55,255,215, 1, 57,255,215, 1,102,255,236, 1,109, -255,236, 1,121,255,236, 1,126,255,236, 1,128,255,215, 1,130,255,236, 1,138,255,215, 1,140,255,236, 1,142,255,236, 1,144, -255,236, 1,145,255,215, 1,147,255,236, 1,148,255,215, 1,150,255,236, 1,153,255,236, 1,155,255,236, 1,160,255,215, 1,184, -255,236, 1,187,255,236, 1,207,255,236, 1,216,255,236, 1,219,255,236, 1,220,255,215, 1,221,255,215, 1,222,255,236, 1,234, -255,236, 1,237,255,236, 1,251,255,215, 1,253,255,215, 1,255,255,215, 2, 1,255,215, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95, -255,236, 2, 96,255,236, 2, 97,255,236, 2,106,255,236, 2,108,255,236, 2,109,255,215, 2,126,255,236, 2,127,255,236, 2,129, -255,215, 2,131,255,215, 2,132,255,236, 2,133,255,236, 2,134,255,236, 2,135,255,236, 2,136,255,236, 2,137,255,236, 2,138, -255,236, 2,139,255,215, 2,140,255,236, 2,141,255,236, 2,170,255,215, 2,177,255,236, 2,178,255,236, 2,179,255,236, 2,180, -255,236, 2,182,255,215, 2,184,255,215, 2,186,255,215, 2,224,255,236, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,240, -255,236, 2,241,255,236, 2,242,255,236, 2,243,255,236, 2,244,255,236, 2,248,255,215, 2,250,255,215, 2,252,255,215, 3, 10, -255,236, 3, 12,255,236, 3, 14,255,215, 3, 16,255,215, 3, 21,255,236, 3, 22,255,236, 3, 24,255,215, 3, 25,255,236, 3, 26, -255,236, 3, 54,255,236, 3, 56,255,236, 3, 58,255,236, 3, 60,255,236, 3, 62,255,236, 3, 64,255,236, 3, 66,255,236, 3, 68, -255,236, 3, 73,255,236, 3, 74,255,236, 3, 75,255,236, 3, 76,255,236, 3, 77,255,236, 3, 78,255,236, 3, 79,255,236, 3, 80, -255,236, 3, 81,255,236, 3, 82,255,236, 3, 83,255,236, 3, 84,255,236, 3, 85,255,236, 3, 86,255,236, 3, 87,255,236, 3, 88, -255,236, 3, 89,255,236, 3, 90,255,236, 3, 91,255,236, 3, 92,255,236, 3, 93,255,236, 3, 94,255,236, 3, 95,255,236, 3, 96, -255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, 3,103,255,236, 3,105,255,236, 3,107,255,236, 3,109,255,236, 3,112, -255,215, 3,114,255,215, 3,116,255,215, 0, 51, 0, 82,255,236, 0,168,255,236, 0,180,255,236, 0,181,255,236, 0,182,255,236, - 0,183,255,236, 0,184,255,236, 0,186,255,236, 1, 15,255,236, 1, 17,255,236, 1, 19,255,236, 1, 21,255,236, 1,140,255,236, - 1,142,255,236, 1,144,255,236, 1,147,255,236, 1,150,255,236, 1,153,255,236, 1,155,255,236, 1,216,255,236, 1,222,255,236, - 2, 11, 0, 20, 2, 96,255,236, 2,106,255,236, 2,127,255,236, 2,133,255,236, 2,135,255,236, 2,137,255,236, 2,141,255,236, - 2,178,255,236, 2,180,255,236, 2,224,255,236, 2,240,255,236, 2,242,255,236, 2,244,255,236, 3, 10,255,236, 3, 12,255,236, - 3, 22,255,236, 3, 26,255,236, 3, 74,255,236, 3, 76,255,236, 3, 78,255,236, 3, 80,255,236, 3, 82,255,236, 3, 84,255,236, - 3, 86,255,236, 3, 88,255,236, 3, 90,255,236, 3, 92,255,236, 3, 94,255,236, 3, 96,255,236, 0, 11, 1, 98, 0, 41, 1,102, -255,236, 1,105, 0, 41, 1,109,255,236, 1,113,255,133, 1,114,255,154, 1,115,255,215, 1,117,255,215, 1,120,255,154, 1,136, - 0, 41, 1,145,255,195, 0, 3, 1,102,255,236, 1,109,255,236, 1,115,255,236, 0, 11, 1, 95,255,236, 1,100,255,236, 1,103, -255,236, 1,108,255,236, 1,112,255,236, 1,113,255,195, 1,114,255,215, 1,116,255,215, 1,119,255,236, 1,120,255,215, 1,136, -255,236, 0, 36, 0, 16,255,195, 0,109,255,195, 1, 95,255,154, 1, 98,255,195, 1,102,255,215, 1,105,255,195, 1,115,255,215, - 1,118,255,215, 1,121,255,154, 1,122,255,154, 1,123,255,195, 1,125,255,195, 1,126,255,154, 1,129,255,174, 1,130,255,154, - 1,131,255,215, 1,132,255,195, 1,133,255,215, 1,134,255,195, 1,135,255,195, 1,137,255,195, 1,140,255,154, 1,142,255,154, - 1,143,255,154, 1,144,255,154, 1,146,255,195, 1,147,255,174, 1,148,255,215, 1,149,255,195, 1,150,255,174, 1,152,255,215, - 1,153,255,154, 1,154,255,195, 1,155,255,174, 2, 2,255,195, 2, 3,255,195, 0, 3, 1,113,255,195, 1,114,255,195, 1,120, -255,195, 0, 25, 1,121,255,215, 1,125,255,215, 1,126,255,215, 1,128,255,215, 1,129,255,215, 1,131,255,236, 1,133,255,215, - 1,134,255,215, 1,136, 0, 41, 1,138,255,215, 1,139,255,236, 1,140,255,215, 1,141,255,236, 1,143,255,236, 1,144,255,215, - 1,145,255,236, 1,146,255,215, 1,147,255,215, 1,148,255,236, 1,149,255,215, 1,150,255,236, 1,152,255,215, 1,153,255,215, - 1,154,255,215, 1,155,255,215, 0, 79, 0, 5,255,174, 0, 10,255,174, 0, 38,255,236, 0, 42,255,236, 0, 50,255,236, 0, 52, -255,236, 0, 55,255,133, 0, 56,255,236, 0, 57,255,195, 0, 58,255,215, 0, 60,255,154, 0,137,255,236, 0,148,255,236, 0,149, -255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, 0,157,255,236, 0,158, -255,236, 0,159,255,154, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 14, -255,236, 1, 18,255,236, 1, 20,255,215, 1, 36,255,133, 1, 38,255,133, 1, 44,255,236, 1, 48,255,236, 1, 50,255,236, 1, 52, -255,236, 1, 54,255,215, 1, 56,255,154, 1, 58,255,154, 1,102,255,236, 1,109,255,236, 1,113,255,133, 1,114,255,154, 1,115, -255,215, 1,117,255,195, 1,120,255,154, 1,145,255,195, 1,250,255,215, 1,252,255,215, 1,254,255,215, 2, 0,255,154, 2, 7, -255,174, 2, 11,255,174, 2, 95,255,236, 2, 97,255,236, 3, 73,255,236, 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81, -255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 3, 97, -255,236, 3, 99,255,236, 3,101,255,236, 3,103,255,236, 3,105,255,236, 3,107,255,236, 3,109,255,236, 3,111,255,154, 3,113, -255,154, 3,115,255,154, 0, 23, 0, 55,255,236, 0, 57,255,236, 0, 59,255,236, 0, 60,255,236, 0,159,255,236, 1, 36,255,236, - 1, 38,255,236, 1, 56,255,236, 1, 58,255,236, 1,103,255,236, 1,108,255,215, 1,112,255,236, 1,113,255,236, 1,114,255,236, - 1,116,255,236, 1,119,255,236, 1,120,255,236, 1,145,255,236, 1,148,255,236, 2, 0,255,236, 3,111,255,236, 3,113,255,236, - 3,115,255,236, 0,113, 0, 5,255,154, 0, 10,255,154, 0, 15,255,154, 0, 16,255,154, 0, 17,255,154, 0, 38,255,236, 0, 42, -255,236, 0, 50,255,236, 0, 52,255,236, 0, 55,255,133, 0, 56,255,236, 0, 57,255,174, 0, 58,255,195, 0, 60,255,154, 0,109, -255,154, 0,125,255,174, 0,137,255,236, 0,148,255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154, -255,236, 0,155,255,236, 0,156,255,236, 0,157,255,236, 0,158,255,236, 0,159,255,154, 0,200,255,236, 0,206,255,236, 0,222, -255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 14,255,236, 1, 18,255,236, 1, 20,255,236, 1, 36,255,133, 1, 38, -255,133, 1, 44,255,236, 1, 48,255,236, 1, 50,255,236, 1, 52,255,236, 1, 54,255,195, 1, 56,255,154, 1, 58,255,154, 1, 95, -255,133, 1, 98,255,154, 1,102,255,236, 1,105,255,154, 1,109,255,236, 1,115,255,174, 1,118,255,215, 1,121,255,133, 1,122, -255,133, 1,123,255,174, 1,126,255,133, 1,128,255,195, 1,129,255,154, 1,130,255,133, 1,132,255,195, 1,134,255,195, 1,135, -255,195, 1,137,255,195, 1,138,255,195, 1,140,255,133, 1,141,255,195, 1,142,255,154, 1,143,255,133, 1,144,255,133, 1,145, -255,195, 1,146,255,195, 1,147,255,133, 1,148,255,195, 1,149,255,195, 1,150,255,154, 1,151, 0, 41, 1,152,255,195, 1,153, -255,133, 1,154,255,195, 1,155,255,154, 1,250,255,195, 1,252,255,195, 1,254,255,195, 2, 0,255,154, 2, 2,255,154, 2, 3, -255,154, 2, 7,255,154, 2, 11,255,154, 2, 95,255,236, 2, 97,255,236, 3, 73,255,236, 3, 75,255,236, 3, 77,255,236, 3, 79, -255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93,255,236, 3, 95, -255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, 3,103,255,236, 3,105,255,236, 3,107,255,236, 3,109,255,236, 3,111, -255,154, 3,113,255,154, 3,115,255,154, 0,178, 0, 5, 0, 82, 0, 10, 0, 82, 0, 15,255,154, 0, 17,255,154, 0, 34, 0, 41, - 0, 36,255,195, 0, 38,255,215, 0, 42,255,215, 0, 50,255,215, 0, 52,255,215, 0, 68,255,195, 0, 70,255,195, 0, 71,255,195, - 0, 72,255,195, 0, 74,255,195, 0, 80,255,215, 0, 81,255,215, 0, 82,255,195, 0, 83,255,215, 0, 84,255,195, 0, 85,255,215, - 0, 86,255,215, 0, 88,255,215, 0,130,255,195, 0,131,255,195, 0,132,255,195, 0,133,255,195, 0,134,255,195, 0,135,255,195, - 0,136,255,133, 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151,255,215, 0,152,255,215, 0,154,255,215, - 0,162,255,195, 0,163,255,195, 0,164,255,195, 0,165,255,195, 0,166,255,195, 0,167,255,195, 0,168,255,195, 0,169,255,195, - 0,170,255,195, 0,171,255,195, 0,172,255,195, 0,173,255,195, 0,179,255,215, 0,180,255,195, 0,181,255,195, 0,182,255,195, - 0,183,255,195, 0,184,255,195, 0,186,255,195, 0,187,255,215, 0,188,255,215, 0,189,255,215, 0,190,255,215, 0,194,255,195, - 0,195,255,195, 0,196,255,195, 0,197,255,195, 0,198,255,195, 0,199,255,195, 0,200,255,215, 0,201,255,195, 0,203,255,195, - 0,205,255,195, 0,206,255,215, 0,207,255,195, 0,213,255,195, 0,215,255,195, 0,217,255,195, 0,219,255,195, 0,221,255,195, - 0,222,255,215, 0,224,255,215, 0,226,255,215, 0,228,255,215, 1, 6,255,215, 1, 8,255,215, 1, 10,255,215, 1, 14,255,215, - 1, 15,255,195, 1, 17,255,195, 1, 18,255,215, 1, 19,255,195, 1, 20,255,215, 1, 21,255,195, 1, 29,255,215, 1, 31,255,215, - 1, 33,255,215, 1, 35,255,215, 1, 67,255,195, 1, 68,255,195, 1, 74,255,215, 1, 98, 0, 20, 1,102,255,215, 1,109,255,215, - 1,113,255,154, 1,114,255,195, 1,115,255,215, 1,117,255,215, 1,120,255,195, 1,121,255,195, 1,136, 0, 41, 1,141,255,215, - 2, 7, 0, 82, 2, 11, 0, 82, 2, 40,255,195, 2, 88,255,195, 2, 89,255,195, 2, 95,255,215, 2, 96,255,195, 3, 29,255,195, - 3, 30,255,195, 3, 31,255,195, 3, 33,255,195, 3, 34,255,195, 3, 35,255,195, 3, 36,255,195, 3, 37,255,195, 3, 38,255,195, - 3, 39,255,195, 3, 40,255,195, 3, 41,255,195, 3, 42,255,195, 3, 43,255,195, 3, 44,255,195, 3, 45,255,195, 3, 46,255,195, - 3, 47,255,195, 3, 48,255,195, 3, 49,255,195, 3, 50,255,195, 3, 51,255,195, 3, 52,255,195, 3, 54,255,195, 3, 56,255,195, - 3, 58,255,195, 3, 60,255,195, 3, 62,255,195, 3, 64,255,195, 3, 66,255,195, 3, 68,255,195, 3, 73,255,215, 3, 74,255,195, - 3, 75,255,215, 3, 76,255,195, 3, 77,255,215, 3, 78,255,195, 3, 79,255,215, 3, 80,255,195, 3, 81,255,215, 3, 82,255,195, - 3, 83,255,215, 3, 84,255,195, 3, 85,255,215, 3, 86,255,195, 3, 87,255,215, 3, 88,255,195, 3, 89,255,215, 3, 90,255,195, - 3, 91,255,215, 3, 92,255,195, 3, 93,255,215, 3, 94,255,195, 3, 95,255,215, 3, 96,255,195, 3, 98,255,215, 3,100,255,215, - 3,102,255,215, 3,104,255,215, 3,106,255,215, 3,108,255,215, 3,110,255,215, 0, 8, 1,102,255,236, 1,109,255,236, 1,115, -255,236, 1,146,255,215, 1,149,255,215, 1,151, 0, 41, 1,152,255,215, 1,154,255,215, 0, 70, 0, 15,255,195, 0, 17,255,195, - 0, 36,255,236, 0, 44,255,236, 0, 55,255,195, 0, 57,255,215, 0, 58,255,236, 0, 59,255,215, 0, 60,255,215, 0, 61,255,236, - 0,130,255,236, 0,131,255,236, 0,132,255,236, 0,133,255,236, 0,134,255,236, 0,135,255,236, 0,136,255,215, 0,142,255,236, - 0,143,255,236, 0,144,255,236, 0,145,255,236, 0,159,255,215, 0,194,255,236, 0,196,255,236, 0,198,255,236, 0,236,255,236, - 0,240,255,236, 0,242,255,236, 1, 36,255,195, 1, 38,255,195, 1, 54,255,236, 1, 56,255,215, 1, 58,255,215, 1, 59,255,236, - 1, 61,255,236, 1, 63,255,236, 1, 67,255,236, 1, 95,255,236, 1, 98,255,215, 1,103,255,236, 1,105,255,236, 1,108,255,236, - 1,112,255,236, 1,113,255,195, 1,114,255,215, 1,116,255,215, 1,120,255,215, 1,250,255,236, 1,252,255,236, 1,254,255,236, - 2, 0,255,215, 2, 40,255,236, 2, 88,255,236, 3, 29,255,236, 3, 31,255,236, 3, 33,255,236, 3, 35,255,236, 3, 37,255,236, - 3, 39,255,236, 3, 41,255,236, 3, 43,255,236, 3, 45,255,236, 3, 47,255,236, 3, 49,255,236, 3, 51,255,236, 3, 69,255,236, - 3, 71,255,236, 3,111,255,215, 3,113,255,215, 3,115,255,215, 0, 5, 1,102,255,236, 1,109,255,236, 1,115,255,236, 1,129, -255,236, 1,136, 0, 41, 0, 42, 0, 5, 0, 41, 0, 10, 0, 41, 0, 38,255,215, 0, 42,255,215, 0, 50,255,215, 0, 52,255,215, - 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151,255,215, 0,152,255,215, 0,154,255,215, 0,200,255,215, - 0,206,255,215, 0,222,255,215, 0,224,255,215, 0,226,255,215, 0,228,255,215, 1, 14,255,215, 1, 18,255,215, 1, 20,255,215, - 1,102,255,215, 1,109,255,215, 1,115,255,174, 1,145,255,215, 1,151, 0, 41, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,215, - 3, 73,255,215, 3, 75,255,215, 3, 77,255,215, 3, 79,255,215, 3, 81,255,215, 3, 83,255,215, 3, 85,255,215, 3, 87,255,215, - 3, 89,255,215, 3, 91,255,215, 3, 93,255,215, 3, 95,255,215, 0,207, 0, 5,255,174, 0, 10,255,174, 0, 34, 0, 41, 0, 36, -255,195, 0, 38,255,236, 0, 42,255,236, 0, 50,255,236, 0, 52,255,236, 0, 55,255,133, 0, 56,255,236, 0, 57,255,195, 0, 58, -255,215, 0, 60,255,154, 0, 68,255,195, 0, 70,255,195, 0, 71,255,195, 0, 72,255,195, 0, 74,255,195, 0, 80,255,215, 0, 81, -255,215, 0, 82,255,195, 0, 83,255,215, 0, 84,255,195, 0, 85,255,215, 0, 86,255,215, 0, 88,255,215, 0,130,255,195, 0,131, -255,195, 0,132,255,195, 0,133,255,195, 0,134,255,195, 0,135,255,195, 0,136,255,133, 0,137,255,236, 0,148,255,236, 0,149, -255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, 0,157,255,236, 0,158, -255,236, 0,159,255,154, 0,162,255,195, 0,163,255,195, 0,164,255,195, 0,165,255,195, 0,166,255,195, 0,167,255,195, 0,168, -255,195, 0,169,255,195, 0,170,255,195, 0,171,255,195, 0,172,255,195, 0,173,255,195, 0,179,255,215, 0,180,255,195, 0,181, -255,195, 0,182,255,195, 0,183,255,195, 0,184,255,195, 0,186,255,195, 0,187,255,215, 0,188,255,215, 0,189,255,215, 0,190, -255,215, 0,194,255,195, 0,195,255,195, 0,196,255,195, 0,197,255,195, 0,198,255,195, 0,199,255,195, 0,200,255,236, 0,201, -255,195, 0,203,255,195, 0,205,255,195, 0,206,255,236, 0,207,255,195, 0,213,255,195, 0,215,255,195, 0,217,255,195, 0,219, -255,195, 0,221,255,195, 0,222,255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 6,255,215, 1, 8,255,215, 1, 10, -255,215, 1, 14,255,236, 1, 15,255,195, 1, 17,255,195, 1, 18,255,236, 1, 19,255,195, 1, 20,255,215, 1, 21,255,195, 1, 29, -255,215, 1, 31,255,215, 1, 33,255,215, 1, 35,255,215, 1, 36,255,133, 1, 38,255,133, 1, 44,255,236, 1, 48,255,236, 1, 50, -255,236, 1, 52,255,236, 1, 54,255,215, 1, 56,255,154, 1, 58,255,154, 1, 67,255,195, 1, 68,255,195, 1, 74,255,215, 1,102, -255,236, 1,109,255,236, 1,113,255,133, 1,114,255,154, 1,115,255,215, 1,117,255,195, 1,120,255,154, 1,145,255,215, 1,250, -255,215, 1,252,255,215, 1,254,255,215, 2, 0,255,154, 2, 7,255,174, 2, 11,255,174, 2, 40,255,195, 2, 88,255,195, 2, 89, -255,195, 2, 95,255,236, 2, 96,255,195, 2, 97,255,236, 3, 29,255,195, 3, 30,255,195, 3, 31,255,195, 3, 33,255,195, 3, 34, -255,195, 3, 35,255,195, 3, 36,255,195, 3, 37,255,195, 3, 38,255,195, 3, 39,255,195, 3, 40,255,195, 3, 41,255,195, 3, 42, -255,195, 3, 43,255,195, 3, 44,255,195, 3, 45,255,195, 3, 46,255,195, 3, 47,255,195, 3, 48,255,195, 3, 49,255,195, 3, 50, -255,195, 3, 51,255,195, 3, 52,255,195, 3, 54,255,195, 3, 56,255,195, 3, 58,255,195, 3, 60,255,195, 3, 62,255,195, 3, 64, -255,195, 3, 66,255,195, 3, 68,255,195, 3, 73,255,236, 3, 74,255,195, 3, 75,255,236, 3, 76,255,195, 3, 77,255,236, 3, 78, -255,195, 3, 79,255,236, 3, 80,255,195, 3, 81,255,236, 3, 82,255,195, 3, 83,255,236, 3, 84,255,195, 3, 85,255,236, 3, 86, -255,195, 3, 87,255,236, 3, 88,255,195, 3, 89,255,236, 3, 90,255,195, 3, 91,255,236, 3, 92,255,195, 3, 93,255,236, 3, 94, -255,195, 3, 95,255,236, 3, 96,255,195, 3, 97,255,236, 3, 98,255,215, 3, 99,255,236, 3,100,255,215, 3,101,255,236, 3,102, -255,215, 3,103,255,236, 3,104,255,215, 3,105,255,236, 3,106,255,215, 3,107,255,236, 3,108,255,215, 3,109,255,236, 3,110, -255,215, 3,111,255,154, 3,113,255,154, 3,115,255,154, 0, 3, 1,102,255,236, 1,109,255,236, 1,136, 0, 41, 0, 70, 0, 15, -255,195, 0, 17,255,195, 0, 36,255,236, 0, 44,255,236, 0, 55,255,195, 0, 57,255,215, 0, 58,255,236, 0, 59,255,215, 0, 60, -255,215, 0, 61,255,236, 0,130,255,236, 0,131,255,236, 0,132,255,236, 0,133,255,236, 0,134,255,236, 0,135,255,236, 0,136, -255,215, 0,142,255,236, 0,143,255,236, 0,144,255,236, 0,145,255,236, 0,159,255,215, 0,194,255,236, 0,196,255,236, 0,198, -255,236, 0,236,255,236, 0,240,255,236, 0,242,255,236, 1, 36,255,195, 1, 38,255,195, 1, 54,255,236, 1, 56,255,215, 1, 58, -255,215, 1, 59,255,236, 1, 61,255,236, 1, 63,255,236, 1, 67,255,236, 1, 95,255,236, 1,103,255,236, 1,105,255,236, 1,108, -255,236, 1,112,255,236, 1,113,255,195, 1,114,255,215, 1,116,255,215, 1,119,255,236, 1,120,255,215, 1,250,255,236, 1,252, -255,236, 1,254,255,236, 2, 0,255,215, 2, 40,255,236, 2, 88,255,236, 3, 29,255,236, 3, 31,255,236, 3, 33,255,236, 3, 35, -255,236, 3, 37,255,236, 3, 39,255,236, 3, 41,255,236, 3, 43,255,236, 3, 45,255,236, 3, 47,255,236, 3, 49,255,236, 3, 51, -255,236, 3, 69,255,236, 3, 71,255,236, 3,111,255,215, 3,113,255,215, 3,115,255,215, 0, 54, 0, 15,255, 51, 0, 17,255, 51, - 0, 36,255,174, 0, 38,255,236, 0, 59,255,236, 0, 60,255,236, 0, 61,255,215, 0,130,255,174, 0,131,255,174, 0,132,255,174, - 0,133,255,174, 0,134,255,174, 0,135,255,174, 0,136,255,113, 0,137,255,236, 0,159,255,236, 0,194,255,174, 0,196,255,174, - 0,198,255,174, 0,200,255,236, 0,206,255,236, 1, 56,255,236, 1, 58,255,236, 1, 59,255,215, 1, 61,255,215, 1, 63,255,215, - 1, 67,255,174, 1, 95,255,174, 1, 98,255,174, 1,100,255,236, 1,105,255,174, 1,116,255,236, 1,120,255,236, 1,129,255,215, - 1,136,255,215, 1,142,255,215, 2, 0,255,236, 2, 40,255,174, 2, 88,255,174, 3, 29,255,174, 3, 31,255,174, 3, 33,255,174, - 3, 35,255,174, 3, 37,255,174, 3, 39,255,174, 3, 41,255,174, 3, 43,255,174, 3, 45,255,174, 3, 47,255,174, 3, 49,255,174, - 3, 51,255,174, 3,111,255,236, 3,113,255,236, 3,115,255,236, 0, 41, 0, 5, 0, 41, 0, 10, 0, 41, 0, 38,255,215, 0, 42, -255,215, 0, 50,255,215, 0, 52,255,215, 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151,255,215, 0,152, -255,215, 0,154,255,215, 0,200,255,215, 0,206,255,215, 0,222,255,215, 0,224,255,215, 0,226,255,215, 0,228,255,215, 1, 14, -255,215, 1, 18,255,215, 1, 20,255,215, 1,102,255,215, 1,109,255,215, 1,115,255,215, 1,136, 0, 41, 2, 7, 0, 41, 2, 11, - 0, 41, 2, 95,255,215, 3, 73,255,215, 3, 75,255,215, 3, 77,255,215, 3, 79,255,215, 3, 81,255,215, 3, 83,255,215, 3, 85, -255,215, 3, 87,255,215, 3, 89,255,215, 3, 91,255,215, 3, 93,255,215, 3, 95,255,215, 0,233, 0, 5, 0, 82, 0, 10, 0, 82, - 0, 15,255,154, 0, 16,255,154, 0, 17,255,154, 0, 34, 0, 41, 0, 36,255,133, 0, 38,255,195, 0, 42,255,195, 0, 50,255,195, - 0, 52,255,195, 0, 54,255,236, 0, 55, 0, 20, 0, 68,255,133, 0, 70,255,133, 0, 71,255,133, 0, 72,255,133, 0, 74,255,154, - 0, 80,255,174, 0, 81,255,174, 0, 82,255,133, 0, 83,255,174, 0, 84,255,133, 0, 85,255,174, 0, 86,255,133, 0, 88,255,174, - 0, 89,255,195, 0, 90,255,195, 0, 91,255,195, 0, 92,255,195, 0, 93,255,195, 0,109,255,154, 0,125,255,215, 0,130,255,133, - 0,131,255,133, 0,132,255,133, 0,133,255,133, 0,134,255,133, 0,135,255,133, 0,136,255,113, 0,137,255,195, 0,148,255,195, - 0,149,255,195, 0,150,255,195, 0,151,255,195, 0,152,255,195, 0,154,255,195, 0,162,255,133, 0,163,255,133, 0,164,255,133, - 0,165,255,133, 0,166,255,133, 0,167,255,133, 0,168,255,133, 0,169,255,133, 0,170,255,133, 0,171,255,133, 0,172,255,133, - 0,173,255,133, 0,179,255,174, 0,180,255,133, 0,181,255,133, 0,182,255,133, 0,183,255,133, 0,184,255,133, 0,186,255,133, - 0,187,255,174, 0,188,255,174, 0,189,255,174, 0,190,255,174, 0,191,255,195, 0,193,255,195, 0,194,255,133, 0,195,255,133, - 0,196,255,133, 0,197,255,133, 0,198,255,133, 0,199,255,133, 0,200,255,195, 0,201,255,133, 0,203,255,133, 0,205,255,133, - 0,206,255,195, 0,207,255,133, 0,213,255,133, 0,215,255,133, 0,217,255,133, 0,219,255,133, 0,221,255,133, 0,222,255,195, - 0,224,255,195, 0,226,255,195, 0,228,255,195, 1, 6,255,174, 1, 8,255,174, 1, 10,255,174, 1, 14,255,195, 1, 15,255,133, - 1, 17,255,133, 1, 18,255,195, 1, 19,255,133, 1, 20,255,195, 1, 21,255,133, 1, 28,255,236, 1, 29,255,133, 1, 31,255,133, - 1, 32,255,236, 1, 33,255,133, 1, 34,255,236, 1, 35,255,133, 1, 36, 0, 20, 1, 38, 0, 20, 1, 55,255,195, 1, 57,255,195, - 1, 64,255,195, 1, 67,255,133, 1, 68,255,133, 1, 74,255,133, 1, 95,255,133, 1, 98,255,154, 1,102,255,195, 1,105,255,133, - 1,109,255,195, 1,113, 0, 20, 1,115,255,195, 1,118,255,195, 1,121,255,133, 1,122,255,133, 1,123,255,174, 1,125,255,174, - 1,126,255,133, 1,128,255,195, 1,129,255,174, 1,130,255,133, 1,132,255,174, 1,134,255,174, 1,135,255,174, 1,136, 0, 20, - 1,137,255,174, 1,138,255,195, 1,140,255,133, 1,142,255,133, 1,143,255,133, 1,144,255,133, 1,145,255,195, 1,146,255,174, - 1,147,255,133, 1,148,255,195, 1,149,255,174, 1,150,255,133, 1,151, 0, 61, 1,152,255,174, 1,153,255,133, 1,154,255,174, - 1,155,255,133, 1,251,255,195, 1,253,255,195, 1,255,255,195, 2, 1,255,195, 2, 2,255,154, 2, 3,255,154, 2, 7, 0, 82, - 2, 11, 0, 82, 2, 40,255,133, 2, 88,255,133, 2, 89,255,133, 2, 95,255,195, 2, 96,255,133, 3, 29,255,133, 3, 30,255,133, - 3, 31,255,133, 3, 33,255,133, 3, 34,255,133, 3, 35,255,133, 3, 36,255,133, 3, 37,255,133, 3, 38,255,133, 3, 39,255,133, - 3, 40,255,133, 3, 41,255,133, 3, 42,255,133, 3, 43,255,133, 3, 44,255,133, 3, 45,255,133, 3, 46,255,133, 3, 47,255,133, - 3, 48,255,133, 3, 49,255,133, 3, 50,255,133, 3, 51,255,133, 3, 52,255,133, 3, 54,255,133, 3, 56,255,133, 3, 58,255,133, - 3, 60,255,133, 3, 62,255,133, 3, 64,255,133, 3, 66,255,133, 3, 68,255,133, 3, 73,255,195, 3, 74,255,133, 3, 75,255,195, - 3, 76,255,133, 3, 77,255,195, 3, 78,255,133, 3, 79,255,195, 3, 80,255,133, 3, 81,255,195, 3, 82,255,133, 3, 83,255,195, - 3, 84,255,133, 3, 85,255,195, 3, 86,255,133, 3, 87,255,195, 3, 88,255,133, 3, 89,255,195, 3, 90,255,133, 3, 91,255,195, - 3, 92,255,133, 3, 93,255,195, 3, 94,255,133, 3, 95,255,195, 3, 96,255,133, 3, 98,255,174, 3,100,255,174, 3,102,255,174, - 3,104,255,174, 3,106,255,174, 3,108,255,174, 3,110,255,174, 3,112,255,195, 3,114,255,195, 3,116,255,195, 0, 45, 0, 15, -255,154, 0, 16,255,195, 0, 17,255,154, 0,109,255,195, 1, 95,255,154, 1, 98,255,195, 1,102,255,215, 1,105,255,154, 1,109, -255,215, 1,115,255,195, 1,118,255,215, 1,121,255,154, 1,122,255,174, 1,123,255,195, 1,124,255,236, 1,125,255,215, 1,126, -255,154, 1,127,255,215, 1,129,255,154, 1,130,255,174, 1,131,255,215, 1,132,255,195, 1,133,255,215, 1,134,255,195, 1,135, -255,195, 1,136, 0, 20, 1,137,255,195, 1,139,255,236, 1,140,255,154, 1,142,255,154, 1,143,255,154, 1,144,255,154, 1,145, -255,236, 1,146,255,195, 1,147,255,154, 1,148,255,215, 1,149,255,195, 1,150,255,174, 1,151, 0, 41, 1,152,255,195, 1,153, -255,154, 1,154,255,195, 1,155,255,174, 2, 2,255,195, 2, 3,255,195, 0, 10, 1, 95,255,215, 1, 98,255,215, 1,103,255,236, - 1,105,255,215, 1,113,255,195, 1,114,255,195, 1,116,255,195, 1,119,255,215, 1,120,255,195, 1,136,255,215, 0, 23, 1,102, -255,215, 1,109,255,215, 1,115,255,195, 1,121,255,236, 1,124,255,236, 1,125,255,236, 1,126,255,236, 1,129,255,236, 1,133, -255,236, 1,134,255,236, 1,136, 0, 20, 1,140,255,236, 1,143,255,236, 1,144,255,236, 1,145,255,215, 1,146,255,215, 1,147, -255,236, 1,149,255,215, 1,150,255,236, 1,152,255,215, 1,153,255,236, 1,154,255,215, 1,155,255,236, 0, 12, 0, 15,255,174, - 0, 17,255,174, 1, 95,255,195, 1, 98,255,215, 1,105,255,195, 1,129,255,215, 1,142,255,215, 1,144,255,236, 1,147,255,236, - 1,150,255,236, 1,153,255,236, 1,155,255,236, 0, 3, 1,113,255,195, 1,114,255,215, 1,120,255,215, 0, 44, 0, 5, 0, 41, - 0, 10, 0, 41, 0, 38,255,236, 0, 42,255,236, 0, 50,255,236, 0, 52,255,236, 0,137,255,236, 0,148,255,236, 0,149,255,236, - 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, - 0,226,255,236, 0,228,255,236, 1, 14,255,236, 1, 18,255,236, 1, 20,255,236, 1,102,255,236, 1,109,255,236, 1,115,255,215, - 1,128,255,236, 1,129,255,236, 1,136, 0, 20, 1,145,255,236, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,236, 3, 73,255,236, - 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, - 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 0,238, 0, 5, 0, 82, 0, 9,255,195, 0, 10, 0, 82, 0, 12, 0, 61, 0, 13, - 0, 41, 0, 15,255,154, 0, 16,255, 92, 0, 17,255,154, 0, 34, 0, 41, 0, 36,255,154, 0, 38,255,215, 0, 42,255,215, 0, 45, -255,190, 0, 48,255,236, 0, 50,255,215, 0, 52,255,215, 0, 54,255,236, 0, 55, 0, 39, 0, 64, 0, 61, 0, 68,255,154, 0, 70, -255,154, 0, 71,255,154, 0, 72,255,154, 0, 73,255,229, 0, 74,255,154, 0, 80,255,195, 0, 81,255,195, 0, 82,255,154, 0, 83, -255,195, 0, 84,255,154, 0, 85,255,195, 0, 86,255,174, 0, 88,255,195, 0, 91,255,215, 0, 92,255,236, 0, 93,255,195, 0, 96, - 0, 61, 0,109,255,195, 0,125,255,215, 0,130,255,154, 0,131,255,154, 0,132,255,154, 0,133,255,154, 0,134,255,154, 0,135, -255,154, 0,136,255,113, 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151,255,215, 0,152,255,215, 0,154, -255,215, 0,162,255,154, 0,163,255,154, 0,164,255,154, 0,165,255,154, 0,166,255,154, 0,167,255,154, 0,168,255,154, 0,169, -255,154, 0,170,255,154, 0,171,255,154, 0,172,255,154, 0,173,255,154, 0,179,255,195, 0,180,255,154, 0,181,255,154, 0,182, -255,154, 0,183,255,154, 0,184,255,154, 0,186,255,154, 0,187,255,195, 0,188,255,195, 0,189,255,195, 0,190,255,195, 0,191, -255,236, 0,193,255,236, 0,194,255,154, 0,195,255,154, 0,196,255,154, 0,197,255,154, 0,198,255,154, 0,199,255,154, 0,200, -255,215, 0,201,255,154, 0,203,255,154, 0,205,255,154, 0,206,255,215, 0,207,255,154, 0,213,255,154, 0,215,255,154, 0,217, -255,154, 0,219,255,154, 0,221,255,154, 0,222,255,215, 0,224,255,215, 0,226,255,215, 0,228,255,215, 0,246,255,190, 1, 6, -255,195, 1, 8,255,195, 1, 10,255,195, 1, 14,255,215, 1, 15,255,154, 1, 17,255,154, 1, 18,255,215, 1, 19,255,154, 1, 20, -255,215, 1, 21,255,154, 1, 28,255,236, 1, 29,255,174, 1, 31,255,174, 1, 32,255,236, 1, 33,255,174, 1, 34,255,236, 1, 35, -255,174, 1, 36, 0, 39, 1, 38, 0, 39, 1, 57,255,236, 1, 64,255,195, 1, 67,255,154, 1, 68,255,154, 1, 74,255,174, 1, 95, -255,154, 1, 98,255,195, 1,102,255,215, 1,105,255,154, 1,109,255,215, 1,115,255,195, 1,118,255,215, 1,121,255,154, 1,122, -255,174, 1,123,255,195, 1,124,255,236, 1,125,255,195, 1,126,255,154, 1,127,255,215, 1,128,255,236, 1,129,255,154, 1,130, -255,154, 1,131,255,215, 1,132,255,195, 1,134,255,195, 1,135,255,195, 1,137,255,195, 1,138,255,236, 1,139,255,236, 1,140, -255,154, 1,141,255,215, 1,142,255,154, 1,143,255,154, 1,144,255,154, 1,145,255,215, 1,146,255,195, 1,147,255,154, 1,148, -255,215, 1,149,255,195, 1,150,255,154, 1,151, 0, 41, 1,152,255,195, 1,153,255,154, 1,154,255,195, 1,155,255,154, 2, 1, -255,236, 2, 7, 0, 82, 2, 11, 0, 82, 2, 15,255,215, 2, 40,255,154, 2, 88,255,154, 2, 89,255,154, 2, 95,255,215, 2, 96, -255,154, 3, 29,255,154, 3, 30,255,154, 3, 31,255,154, 3, 33,255,154, 3, 34,255,154, 3, 35,255,154, 3, 36,255,154, 3, 37, -255,154, 3, 38,255,154, 3, 39,255,154, 3, 40,255,154, 3, 41,255,154, 3, 42,255,154, 3, 43,255,154, 3, 44,255,154, 3, 45, -255,154, 3, 46,255,154, 3, 47,255,154, 3, 48,255,154, 3, 49,255,154, 3, 50,255,154, 3, 51,255,154, 3, 52,255,154, 3, 54, -255,154, 3, 56,255,154, 3, 58,255,154, 3, 60,255,154, 3, 62,255,154, 3, 64,255,154, 3, 66,255,154, 3, 68,255,154, 3, 73, -255,215, 3, 74,255,154, 3, 75,255,215, 3, 76,255,154, 3, 77,255,215, 3, 78,255,154, 3, 79,255,215, 3, 80,255,154, 3, 81, -255,215, 3, 82,255,154, 3, 83,255,215, 3, 84,255,154, 3, 85,255,215, 3, 86,255,154, 3, 87,255,215, 3, 88,255,154, 3, 89, -255,215, 3, 90,255,154, 3, 91,255,215, 3, 92,255,154, 3, 93,255,215, 3, 94,255,154, 3, 95,255,215, 3, 96,255,154, 3, 98, -255,195, 3,100,255,195, 3,102,255,195, 3,104,255,195, 3,106,255,195, 3,108,255,195, 3,110,255,195, 3,112,255,236, 3,114, -255,236, 3,116,255,236, 0, 1, 1,136, 0, 41, 0, 6, 1,121,255,215, 1,126,255,236, 1,129,255,236, 1,140,255,236, 1,144, -255,236, 1,147,255,236, 0, 20, 1,121,255,236, 1,124,255,236, 1,125,255,236, 1,128,255,236, 1,129,255,236, 1,133,255,236, - 1,134,255,236, 1,136, 0, 41, 1,138,255,215, 1,140,255,236, 1,141,255,236, 1,143,255,236, 1,144,255,236, 1,145,255,215, - 1,146,255,236, 1,149,255,236, 1,151,255,236, 1,152,255,236, 1,153,255,236, 1,154,255,236, 0, 1, 1,148,255,236, 0, 11, - 0, 5, 0, 61, 0, 10, 0, 61, 0, 73, 0, 20, 1,129,255,236, 1,141, 0, 41, 1,142,255,236, 1,145, 0, 20, 1,148, 0, 20, - 1,150, 0, 20, 2, 7, 0, 61, 2, 11, 0, 61, 0, 2, 1,145,255,236, 1,148,255,215, 0, 11, 0, 5, 0, 61, 0, 10, 0, 61, - 1,121,255,215, 1,129,255,236, 1,140,255,215, 1,143,255,236, 1,144,255,215, 1,147,255,215, 1,153,255,215, 2, 7, 0, 61, - 2, 11, 0, 61, 0, 28, 1,121,255,174, 1,122,255,215, 1,125,255,215, 1,126,255,195, 1,128,255,215, 1,129,255,195, 1,130, -255,215, 1,131,255,215, 1,132,255,215, 1,133,255,215, 1,134,255,215, 1,135,255,236, 1,136, 0, 41, 1,138,255,215, 1,139, -255,215, 1,140,255,195, 1,141,255,195, 1,143,255,195, 1,144,255,195, 1,145,255,195, 1,146,255,195, 1,147,255,195, 1,149, -255,195, 1,150,255,195, 1,152,255,195, 1,153,255,195, 1,154,255,195, 1,155,255,195, 0, 16, 0, 5, 0, 82, 0, 10, 0, 82, - 1,121,255,215, 1,125,255,236, 1,126,255,236, 1,128,255,215, 1,133,255,215, 1,134,255,236, 1,136, 0, 41, 1,138,255,215, - 1,141,255,215, 1,145,255,215, 1,147,255,215, 1,151,255,236, 2, 7, 0, 82, 2, 11, 0, 82, 0, 9, 0, 5, 0, 41, 0, 10, - 0, 41, 1,121,255,215, 1,126,255,215, 1,129,255,215, 1,130,255,236, 1,140,255,236, 2, 7, 0, 41, 2, 11, 0, 41, 0, 13, - 0, 5, 0, 61, 0, 10, 0, 61, 0, 73, 0, 20, 1,125,255,236, 1,128,255,236, 1,133,255,215, 1,136, 0, 61, 1,138,255,215, - 1,141,255,215, 1,145,255,195, 1,148,255,215, 2, 7, 0, 61, 2, 11, 0, 61, 0, 7, 0, 5, 0, 61, 0, 10, 0, 61, 0, 73, - 0, 20, 1,141, 0, 20, 1,142,255,236, 2, 7, 0, 61, 2, 11, 0, 61, 0, 3, 0, 30, 0, 61, 1,126,255,236, 1,136, 0, 41, - 0, 5, 0, 91,255,215, 0, 93,255,236, 1, 64,255,236, 1,145,255,236, 1,148,255,215, 0, 4, 1,126,255,236, 1,128, 0, 20, - 1,138, 0, 41, 1,145, 0, 20, 0, 7, 0, 91,255,215, 0, 93,255,236, 1, 64,255,236, 1,128, 0, 20, 1,138, 0, 20, 1,141, - 0, 20, 1,145, 0, 41, 0, 14, 0, 5, 0, 82, 0, 10, 0, 82, 0, 73, 0, 20, 0,125, 0, 41, 1,128, 0, 20, 1,129,255,236, - 1,138, 0, 41, 1,140,255,215, 1,141, 0, 20, 1,143,255,215, 1,144,255,236, 1,145, 0, 20, 2, 7, 0, 82, 2, 11, 0, 82, - 0, 4, 0, 91,255,215, 0, 93,255,236, 1, 64,255,236, 1,148,255,236, 0, 21, 0, 5, 0, 82, 0, 10, 0, 82, 0, 73, 0, 20, - 1,121,255,215, 1,122,255,215, 1,126,255,215, 1,128, 0, 20, 1,129,255,215, 1,130,255,215, 1,133,255,236, 1,140,255,215, - 1,143,255,215, 1,144,255,215, 1,146,255,236, 1,147,255,236, 1,148, 0, 41, 1,149,255,215, 1,150,255,215, 1,153,255,236, - 2, 7, 0, 82, 2, 11, 0, 82, 0, 4, 0, 91,255,215, 0, 93,255,236, 1, 64,255,236, 1,128, 0, 20, 0, 19, 1,121,255,236, - 1,125,255,236, 1,126,255,215, 1,128,255,215, 1,129,255,236, 1,133,255,215, 1,136, 0, 41, 1,140,255,236, 1,141,255,215, - 1,143,255,236, 1,144,255,236, 1,145,255,215, 1,146,255,236, 1,148,255,236, 1,149,255,215, 1,152,255,236, 1,153,255,236, - 1,154,255,236, 1,155,255,236, 0, 56, 0, 5, 0, 41, 0, 10, 0, 41, 0, 16,255,215, 0, 38,255,236, 0, 45, 0, 61, 0, 50, -255,236, 0, 52,255,236, 0,132,255,236, 0,137,255,236, 0,138,255,236, 0,143,255,236, 0,148,255,236, 0,149,255,236, 0,150, -255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,200,255,236, 0,206,255,236, 0,246, 0, 61, 1, 14,255,236, 1, 18, -255,236, 1,184,255,236, 1,187,255,236, 1,190,255,236, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,236, 2,108,255,236, 2,126, -255,236, 2,132,255,236, 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,140,255,236, 2,177,255,236, 2,179,255,236, 2,225, -255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, 3, 21,255,236, 3, 25,255,236, 3, 73,255,236, 3, 75, -255,236, 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91, -255,236, 3, 93,255,236, 3, 95,255,236, 0, 61, 0, 5,255,195, 0, 10,255,195, 1,157,255,133, 1,166,255,133, 1,176,255,215, - 1,188,255,133, 1,189,255,215, 1,191,255,236, 1,193,255,195, 1,196,255,133, 1,220,255,195, 1,221,255,236, 1,223,255,236, - 1,225,255,195, 1,228,255,174, 2, 7,255,195, 2, 11,255,195, 2,109,255,236, 2,118,255,215, 2,124,255,195, 2,125,255,195, - 2,128,255,195, 2,129,255,236, 2,130,255,195, 2,131,255,236, 2,139,255,236, 2,159,255,215, 2,169,255,133, 2,170,255,195, - 2,181,255,133, 2,182,255,195, 2,183,255,133, 2,184,255,236, 2,185,255,133, 2,186,255,236, 2,187,255,215, 2,189,255,133, - 2,191,255,195, 2,192,255,195, 2,193,255,195, 2,194,255,195, 2,202,255,215, 2,212,255,195, 2,213,255,195, 2,229,255,215, - 2,247,255,215, 2,248,255,236, 2,249,255,215, 2,250,255,236, 2,251,255,215, 2,252,255,236, 2,253,255,195, 2,254,255,195, - 3, 5,255,215, 3, 7,255,215, 3, 13,255,195, 3, 14,255,236, 3, 15,255,195, 3, 16,255,236, 3, 23,255,133, 3, 24,255,195, - 0,212, 0, 5, 0, 82, 0, 10, 0, 82, 0, 16,255, 92, 0, 38,255,236, 0, 42,255,236, 0, 50,255,236, 0, 52,255,236, 0, 55, -255,133, 0, 56,255,236, 0, 57,255,174, 0, 58,255,195, 0, 60,255,154, 0,137,255,236, 0,148,255,236, 0,149,255,236, 0,150, -255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, 0,157,255,236, 0,158,255,236, 0,159, -255,154, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 14,255,236, 1, 18, -255,236, 1, 20,255,236, 1, 36,255,133, 1, 38,255,133, 1, 44,255,236, 1, 48,255,236, 1, 50,255,236, 1, 52,255,236, 1, 54, -255,195, 1, 56,255,154, 1, 58,255,154, 1,159,255,236, 1,164,255,154, 1,170,255,133, 1,174,255,133, 1,181,255,133, 1,184, -255,215, 1,187,255,236, 1,190,255,195, 1,202,255,133, 1,203,255,215, 1,204,255,195, 1,205,255,195, 1,206,255, 92, 1,207, -255,133, 1,208,255,195, 1,209,255,195, 1,210,255,195, 1,211,255,195, 1,212,255,195, 1,213,255, 92, 1,214,255,195, 1,215, -255,195, 1,216,255,133, 1,217,255,195, 1,218,255,195, 1,219,255,133, 1,220,255,195, 1,221,255,195, 1,222,255,133, 1,223, -255,195, 1,224,255,195, 1,225,255,195, 1,226,255,195, 1,227,255,195, 1,228,255,195, 1,229,255,195, 1,230,255,195, 1,231, -255,195, 1,232,255,195, 1,233,255,154, 1,234,255,133, 1,236,255,195, 1,237,255,133, 1,238,255,174, 1,240, 0, 61, 1,242, -255, 92, 1,243,255,195, 1,245,255,195, 1,247,255,195, 1,249,255,195, 1,250,255,195, 1,252,255,195, 1,254,255,195, 2, 0, -255,154, 2, 7, 0, 82, 2, 11, 0, 82, 2, 95,255,236, 2, 97,255,236, 2,106,255,133, 2,107,255,195, 2,108,255,215, 2,109, -255,195, 2,114,255,133, 2,125,255,195, 2,126,255,215, 2,127,255,133, 2,129,255,195, 2,131,255,195, 2,132,255,215, 2,133, -255,133, 2,134,255,215, 2,135,255,133, 2,136,255,215, 2,137,255,133, 2,138,255,215, 2,139,255,195, 2,140,255,215, 2,141, -255,133, 2,150,255,195, 2,154,255,195, 2,160,255,195, 2,164,255,195, 2,166,255,195, 2,170,255,195, 2,172,255,195, 2,174, -255,195, 2,176,255,195, 2,177,255,215, 2,178,255,133, 2,179,255,215, 2,180,255,133, 2,182,255,195, 2,184,255,195, 2,186, -255,195, 2,188,255,195, 2,192,255,195, 2,194,255,195, 2,196,255,195, 2,197,255,174, 2,198,255,113, 2,199,255,174, 2,203, -255,195, 2,206,255,133, 2,207,255, 92, 2,209,255,195, 2,211,255,195, 2,213,255,195, 2,215,255,195, 2,217,255,133, 2,218, -255,133, 2,219,255,133, 2,220,255,133, 2,221,255,133, 2,224,255,133, 2,225,255,215, 2,227,255,215, 2,230,255,195, 2,236, -255,195, 2,238,255,195, 2,239,255,215, 2,240,255,133, 2,241,255,215, 2,242,255,133, 2,243,255,215, 2,244,255,133, 2,248, -255,195, 2,250,255,195, 2,252,255,195, 2,254,255,195, 3, 0,255,195, 3, 6,255,195, 3, 8,255,195, 3, 9,255, 92, 3, 10, -255,133, 3, 11,255, 92, 3, 12,255,133, 3, 14,255,195, 3, 16,255,195, 3, 17,255,133, 3, 18,255, 92, 3, 20,255,195, 3, 21, -255,215, 3, 22,255,133, 3, 24,255,195, 3, 25,255,215, 3, 26,255,133, 3, 27,255,133, 3, 28,255, 92, 3, 73,255,236, 3, 75, -255,236, 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91, -255,236, 3, 93,255,236, 3, 95,255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, 3,103,255,236, 3,105,255,236, 3,107, -255,236, 3,109,255,236, 3,111,255,154, 3,113,255,154, 3,115,255,154, 0, 31, 0, 5, 0, 41, 0, 10, 0, 41, 1,159,255,215, - 1,184,255,236, 1,187,255,215, 1,190,255,236, 1,222,255,215, 1,225,255,215, 2, 7, 0, 41, 2, 11, 0, 41, 2,108,255,236, - 2,125,255,215, 2,126,255,236, 2,132,255,236, 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,140,255,236, 2,177,255,236, - 2,179,255,236, 2,192,255,215, 2,194,255,215, 2,213,255,215, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, - 2,243,255,236, 2,254,255,215, 3, 21,255,236, 3, 25,255,236, 0, 5, 1,160,255,236, 1,220,255,215, 2,170,255,215, 2,182, -255,215, 3, 24,255,215, 0, 26, 1,159,255,236, 1,220,255,215, 1,221,255,236, 1,225,255,215, 1,228,255,236, 2,109,255,236, - 2,125,255,215, 2,129,255,236, 2,131,255,236, 2,139,255,236, 2,170,255,215, 2,182,255,215, 2,184,255,236, 2,186,255,236, - 2,192,255,215, 2,194,255,215, 2,197,255,215, 2,199,255,215, 2,213,255,215, 2,248,255,236, 2,250,255,236, 2,252,255,236, - 2,254,255,215, 3, 14,255,236, 3, 16,255,236, 3, 24,255,215, 0, 55, 0, 5, 0, 41, 0, 10, 0, 41, 0, 38,255,236, 0, 42, -255,236, 0, 50,255,236, 0, 52,255,236, 0,137,255,236, 0,148,255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152, -255,236, 0,154,255,236, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 14, -255,236, 1, 18,255,236, 1, 20,255,236, 1,159,255,236, 1,184,255,236, 1,187,255,236, 2, 11, 0, 41, 2, 95,255,236, 2,108, -255,236, 2,126,255,236, 2,132,255,236, 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,140,255,236, 2,177,255,236, 2,179, -255,236, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, 3, 21,255,236, 3, 25,255,236, 3, 73, -255,236, 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89, -255,236, 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 0, 52, 0, 5,255,154, 0, 10,255,154, 1,166,255,133, 1,168,255,215, - 1,176,255,215, 1,181,255,236, 1,188,255,133, 1,189,255,236, 1,191,255,236, 1,193,255,174, 1,196,255,133, 1,220,255,215, - 1,225,255,215, 1,228,255,195, 2, 7,255,154, 2, 11,255,154, 2,118,255,215, 2,124,255,174, 2,125,255,215, 2,128,255,174, - 2,130,255,174, 2,159,255,215, 2,169,255,133, 2,170,255,215, 2,181,255,133, 2,182,255,215, 2,183,255,133, 2,185,255,133, - 2,187,255,215, 2,189,255,133, 2,191,255,174, 2,192,255,215, 2,193,255,174, 2,194,255,215, 2,202,255,215, 2,206,255,236, - 2,212,255,174, 2,213,255,215, 2,229,255,215, 2,247,255,236, 2,249,255,236, 2,251,255,236, 2,253,255,174, 2,254,255,215, - 3, 5,255,215, 3, 7,255,215, 3, 13,255,174, 3, 15,255,174, 3, 17,255,236, 3, 23,255,133, 3, 24,255,215, 3, 27,255,236, - 0, 49, 0, 5,255,154, 0, 10,255,154, 1,157,255,133, 1,166,255,133, 1,168,255,215, 1,176,255,236, 1,188,255,133, 1,189, -255,215, 1,193,255,174, 1,196,255,133, 1,220,255,215, 1,223,255,236, 1,225,255,236, 1,228,255,215, 2, 7,255,154, 2, 11, -255,154, 2,118,255,236, 2,124,255,174, 2,125,255,236, 2,128,255,174, 2,130,255,174, 2,159,255,236, 2,169,255,133, 2,170, -255,215, 2,181,255,133, 2,182,255,215, 2,183,255,133, 2,185,255,133, 2,187,255,236, 2,189,255,133, 2,191,255,174, 2,192, -255,236, 2,193,255,174, 2,194,255,236, 2,202,255,236, 2,212,255,174, 2,213,255,236, 2,229,255,236, 2,247,255,215, 2,249, -255,215, 2,251,255,215, 2,253,255,174, 2,254,255,236, 3, 5,255,236, 3, 7,255,236, 3, 13,255,174, 3, 15,255,174, 3, 23, -255,133, 3, 24,255,215, 0, 29, 1,157,255,154, 1,166,255,154, 1,196,255,133, 1,220,255,215, 1,221,255,236, 1,225,255,215, - 1,228,255,195, 1,246,255,236, 2,109,255,236, 2,125,255,215, 2,129,255,236, 2,131,255,236, 2,139,255,236, 2,170,255,215, - 2,182,255,215, 2,184,255,236, 2,186,255,236, 2,192,255,215, 2,194,255,215, 2,197,255,215, 2,199,255,215, 2,213,255,215, - 2,248,255,236, 2,250,255,236, 2,252,255,236, 2,254,255,215, 3, 14,255,236, 3, 16,255,236, 3, 24,255,215, 0,109, 0, 5, - 0, 41, 0, 10, 0, 41, 0, 38,255,215, 0, 42,255,215, 0, 50,255,215, 0, 52,255,215, 0,137,255,215, 0,148,255,215, 0,149, -255,215, 0,150,255,215, 0,151,255,215, 0,152,255,215, 0,154,255,215, 0,200,255,215, 0,206,255,215, 0,222,255,215, 0,224, -255,215, 0,226,255,215, 0,228,255,215, 1, 14,255,215, 1, 18,255,215, 1, 20,255,215, 1,159,255,215, 1,164, 0, 41, 1,181, - 0, 41, 1,184,255,215, 1,187,255,215, 1,190,255,174, 1,203,255,236, 1,206, 0, 20, 1,207,255,215, 1,216,255,215, 1,219, -255,215, 1,220,255,215, 1,221,255,215, 1,222,255,215, 1,225,255,195, 1,228,255,215, 1,234,255,215, 1,237,255,215, 2, 7, - 0, 41, 2, 11, 0, 41, 2, 95,255,215, 2,106,255,215, 2,108,255,215, 2,109,255,215, 2,125,255,195, 2,126,255,215, 2,127, -255,215, 2,129,255,215, 2,131,255,215, 2,132,255,215, 2,133,255,215, 2,134,255,215, 2,135,255,215, 2,136,255,215, 2,137, -255,215, 2,138,255,215, 2,139,255,215, 2,140,255,215, 2,141,255,215, 2,170,255,215, 2,177,255,215, 2,178,255,215, 2,179, -255,215, 2,180,255,215, 2,182,255,215, 2,184,255,215, 2,186,255,215, 2,192,255,195, 2,194,255,195, 2,206, 0, 41, 2,213, -255,195, 2,224,255,215, 2,225,255,215, 2,227,255,215, 2,239,255,215, 2,240,255,215, 2,241,255,215, 2,242,255,215, 2,243, -255,215, 2,244,255,215, 2,248,255,215, 2,250,255,215, 2,252,255,215, 2,254,255,195, 3, 10,255,215, 3, 12,255,215, 3, 14, -255,215, 3, 16,255,215, 3, 17, 0, 41, 3, 21,255,215, 3, 22,255,215, 3, 24,255,215, 3, 25,255,215, 3, 26,255,215, 3, 27, - 0, 41, 3, 73,255,215, 3, 75,255,215, 3, 77,255,215, 3, 79,255,215, 3, 81,255,215, 3, 83,255,215, 3, 85,255,215, 3, 87, -255,215, 3, 89,255,215, 3, 91,255,215, 3, 93,255,215, 3, 95,255,215, 0,103, 0, 5, 0, 82, 0, 10, 0, 82, 1,164,255,154, - 1,170,255,133, 1,174,255,113, 1,181,255,154, 1,187,255,215, 1,188, 0, 41, 1,190,255,215, 1,196, 0, 20, 1,201,255,236, - 1,202,255,174, 1,204,255,215, 1,205,255,215, 1,206,255, 92, 1,207,255,174, 1,209,255,215, 1,210,255,215, 1,211,255,215, - 1,212,255,215, 1,213,255, 92, 1,214,255,215, 1,215,255,215, 1,216,255,174, 1,217,255,215, 1,218,255,215, 1,219,255,174, - 1,222,255,174, 1,224,255,215, 1,225,255,215, 1,226,255,215, 1,227,255,215, 1,229,255,215, 1,230,255,215, 1,232,255,215, - 1,233,255,215, 1,234,255,215, 1,236,255,215, 1,237,255,174, 1,238,255,215, 1,240, 0, 82, 1,242,255,113, 1,243,255,215, - 1,245,255,215, 1,247,255,215, 1,249,255,215, 2, 7, 0, 82, 2, 11, 0, 82, 2,106,255,174, 2,107,255,215, 2,114,255,133, - 2,125,255,215, 2,127,255,174, 2,133,255,174, 2,135,255,174, 2,137,255,174, 2,141,255,174, 2,150,255,215, 2,154,255,215, - 2,164,255,215, 2,166,255,215, 2,169, 0, 41, 2,172,255,215, 2,174,255,215, 2,176,255,215, 2,178,255,174, 2,180,255,174, - 2,181, 0, 41, 2,183, 0, 41, 2,185, 0, 41, 2,189, 0, 41, 2,192,255,215, 2,194,255,215, 2,196,255,215, 2,206,255,154, - 2,207,255, 92, 2,209,255,215, 2,211,255,215, 2,213,255,215, 2,215,255,215, 2,217,255,133, 2,218,255,174, 2,219,255,133, - 2,220,255,174, 2,221,255,133, 2,224,255,174, 2,236,255,215, 2,238,255,215, 2,240,255,174, 2,242,255,174, 2,244,255,174, - 2,254,255,215, 3, 0,255,215, 3, 10,255,174, 3, 12,255,174, 3, 17,255,154, 3, 18,255, 92, 3, 20,255,215, 3, 22,255,174, - 3, 23, 0, 41, 3, 26,255,174, 3, 27,255,154, 3, 28,255, 92, 0,137, 0, 5,255,174, 0, 10,255,174, 0, 38,255,236, 0, 42, -255,236, 0, 50,255,236, 0, 52,255,236, 0, 55,255,133, 0, 56,255,236, 0, 57,255,195, 0, 58,255,215, 0, 60,255,154, 0,137, -255,236, 0,148,255,236, 0,149,255,236, 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156, -255,236, 0,157,255,236, 0,158,255,236, 0,159,255,154, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226, -255,236, 0,228,255,236, 1, 14,255,236, 1, 18,255,236, 1, 20,255,215, 1, 36,255,133, 1, 38,255,133, 1, 44,255,236, 1, 48, -255,236, 1, 50,255,236, 1, 52,255,236, 1, 54,255,215, 1, 56,255,154, 1, 58,255,154, 1,157,255,154, 1,159,255,236, 1,164, - 0, 61, 1,166,255,133, 1,174, 0, 41, 1,181, 0, 41, 1,184,255,236, 1,187,255,236, 1,188,255,133, 1,190,255,215, 1,193, -255,174, 1,196,255,154, 1,213, 0, 41, 1,220,255,215, 1,225,255,195, 1,228,255,195, 1,231, 0, 41, 1,242, 0, 41, 1,250, -255,215, 1,252,255,215, 1,254,255,215, 2, 0,255,154, 2, 7,255,174, 2, 11,255,174, 2, 95,255,236, 2, 97,255,236, 2,108, -255,236, 2,124,255,174, 2,125,255,195, 2,126,255,236, 2,128,255,174, 2,130,255,174, 2,132,255,236, 2,134,255,236, 2,136, -255,236, 2,138,255,236, 2,140,255,236, 2,169,255,133, 2,170,255,215, 2,177,255,236, 2,179,255,236, 2,181,255,133, 2,182, -255,215, 2,183,255,133, 2,185,255,133, 2,189,255,133, 2,191,255,174, 2,192,255,195, 2,193,255,174, 2,194,255,195, 2,197, -255,174, 2,198,255,195, 2,199,255,174, 2,206, 0, 41, 2,207, 0, 41, 2,212,255,174, 2,213,255,195, 2,225,255,236, 2,227, -255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, 2,253,255,174, 2,254,255,195, 3, 13,255,174, 3, 15,255,174, 3, 17, - 0, 41, 3, 18, 0, 41, 3, 21,255,236, 3, 23,255,133, 3, 24,255,215, 3, 25,255,236, 3, 27, 0, 41, 3, 28, 0, 41, 3, 73, -255,236, 3, 75,255,236, 3, 77,255,236, 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89, -255,236, 3, 91,255,236, 3, 93,255,236, 3, 95,255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, 3,103,255,236, 3,105, -255,236, 3,107,255,236, 3,109,255,236, 3,111,255,154, 3,113,255,154, 3,115,255,154, 0, 42, 1,157,255,215, 1,188,255,215, - 1,189,255,215, 1,191,255,236, 1,193,255,195, 1,196,255,215, 1,208,255,236, 1,220,255,215, 1,225,255,215, 1,228,255,215, - 2,124,255,195, 2,125,255,215, 2,128,255,195, 2,130,255,195, 2,160,255,236, 2,169,255,215, 2,170,255,215, 2,181,255,215, - 2,182,255,215, 2,183,255,215, 2,185,255,215, 2,188,255,236, 2,189,255,215, 2,191,255,195, 2,192,255,215, 2,193,255,195, - 2,194,255,215, 2,203,255,236, 2,212,255,195, 2,213,255,215, 2,230,255,236, 2,247,255,215, 2,249,255,215, 2,251,255,215, - 2,253,255,195, 2,254,255,215, 3, 6,255,236, 3, 8,255,236, 3, 13,255,195, 3, 15,255,195, 3, 23,255,215, 3, 24,255,215, - 0, 33, 0, 55,255,236, 0, 57,255,236, 0, 59,255,236, 0, 60,255,236, 0,159,255,236, 1, 36,255,236, 1, 38,255,236, 1, 56, -255,236, 1, 58,255,236, 1,176,255,236, 1,188,255,236, 1,189,255,236, 1,191,255,236, 2, 0,255,236, 2,118,255,236, 2,159, -255,236, 2,169,255,236, 2,181,255,236, 2,183,255,236, 2,185,255,236, 2,187,255,236, 2,189,255,236, 2,202,255,236, 2,229, -255,236, 2,247,255,236, 2,249,255,236, 2,251,255,236, 3, 5,255,236, 3, 7,255,236, 3, 23,255,236, 3,111,255,236, 3,113, -255,236, 3,115,255,236, 0,143, 0, 5, 0, 82, 0, 10, 0, 82, 0, 16,255, 92, 1,159,255,236, 1,164,255,154, 1,170,255,133, - 1,174,255,133, 1,181,255,133, 1,184,255,215, 1,190,255,195, 1,202,255,133, 1,204,255,195, 1,205,255,195, 1,206,255, 92, - 1,207,255,133, 1,208,255,195, 1,209,255,195, 1,210,255,195, 1,211,255,195, 1,212,255,195, 1,213,255, 92, 1,214,255,195, - 1,215,255,195, 1,216,255,133, 1,217,255,195, 1,218,255,195, 1,219,255,133, 1,220,255,195, 1,221,255,195, 1,222,255,133, - 1,223,255,195, 1,224,255,195, 1,225,255,195, 1,226,255,195, 1,227,255,195, 1,228,255,195, 1,229,255,195, 1,230,255,195, - 1,231,255,195, 1,232,255,195, 1,233,255,154, 1,234,255,133, 1,236,255,195, 1,237,255,133, 1,238,255,174, 1,240, 0, 61, - 1,242,255, 92, 1,243,255,195, 1,245,255,195, 1,247,255,195, 1,249,255,195, 2, 7, 0, 82, 2, 11, 0, 82, 2,106,255,133, - 2,107,255,195, 2,108,255,215, 2,109,255,195, 2,114,255,133, 2,125,255,195, 2,126,255,215, 2,127,255,133, 2,129,255,195, - 2,131,255,195, 2,132,255,215, 2,133,255,133, 2,134,255,215, 2,135,255,133, 2,136,255,215, 2,137,255,133, 2,138,255,215, - 2,139,255,195, 2,140,255,215, 2,141,255,133, 2,150,255,195, 2,154,255,195, 2,160,255,195, 2,164,255,195, 2,166,255,195, - 2,170,255,195, 2,172,255,195, 2,174,255,195, 2,176,255,195, 2,177,255,215, 2,178,255,133, 2,179,255,215, 2,180,255,133, - 2,182,255,195, 2,184,255,195, 2,186,255,195, 2,188,255,195, 2,192,255,195, 2,194,255,195, 2,196,255,195, 2,197,255,174, - 2,198,255,113, 2,199,255,174, 2,203,255,195, 2,206,255,133, 2,207,255, 92, 2,209,255,195, 2,211,255,195, 2,213,255,195, - 2,215,255,195, 2,217,255,133, 2,218,255,133, 2,219,255,133, 2,220,255,133, 2,221,255,133, 2,224,255,133, 2,225,255,215, - 2,227,255,215, 2,230,255,195, 2,236,255,195, 2,238,255,195, 2,239,255,215, 2,240,255,133, 2,241,255,215, 2,242,255,133, - 2,243,255,215, 2,244,255,133, 2,248,255,195, 2,250,255,195, 2,252,255,195, 2,254,255,195, 3, 0,255,195, 3, 6,255,195, - 3, 8,255,195, 3, 9,255, 92, 3, 10,255,133, 3, 11,255, 92, 3, 12,255,133, 3, 14,255,195, 3, 16,255,195, 3, 17,255,133, - 3, 18,255, 92, 3, 20,255,195, 3, 21,255,215, 3, 22,255,133, 3, 24,255,195, 3, 25,255,215, 3, 26,255,133, 3, 27,255,133, - 3, 28,255, 92, 0, 66, 1,157,255,215, 1,163, 0,246, 1,164, 0, 41, 1,166,255,215, 1,170, 0, 20, 1,174, 0, 41, 1,181, - 0, 41, 1,184,255,236, 1,187,255,236, 1,188,255,215, 1,190,255,236, 1,193,255,215, 1,196,255,215, 1,206, 0, 41, 1,213, - 0, 41, 1,225,255,215, 1,231, 0, 41, 1,241, 0,102, 1,242, 0, 41, 2,108,255,236, 2,114, 0, 20, 2,124,255,215, 2,125, -255,215, 2,126,255,236, 2,128,255,215, 2,130,255,215, 2,132,255,236, 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,140, -255,236, 2,169,255,215, 2,177,255,236, 2,179,255,236, 2,181,255,215, 2,183,255,215, 2,185,255,215, 2,189,255,215, 2,191, -255,215, 2,192,255,215, 2,193,255,215, 2,194,255,215, 2,198,255,215, 2,206, 0, 41, 2,207, 0, 41, 2,212,255,215, 2,213, -255,215, 2,217, 0, 20, 2,219, 0, 20, 2,221, 0, 20, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, 2,243, -255,236, 2,253,255,215, 2,254,255,215, 3, 13,255,215, 3, 15,255,215, 3, 17, 0, 41, 3, 18, 0, 41, 3, 21,255,236, 3, 23, -255,215, 3, 25,255,236, 3, 27, 0, 41, 3, 28, 0, 41, 0, 49, 0, 5, 0, 61, 0, 10, 0, 61, 0, 16,255,215, 1,159,255,215, - 1,164, 0, 41, 1,181, 0, 41, 1,184,255,215, 1,187,255,215, 1,190,255,195, 1,203,255,215, 1,213, 0, 41, 1,220,255,215, - 1,225,255,174, 1,242, 0, 41, 2, 7, 0, 61, 2, 11, 0, 61, 2,108,255,215, 2,125,255,174, 2,126,255,215, 2,132,255,215, - 2,134,255,215, 2,136,255,215, 2,138,255,215, 2,140,255,215, 2,170,255,215, 2,177,255,215, 2,179,255,215, 2,182,255,215, - 2,192,255,174, 2,194,255,174, 2,197,255,195, 2,198,255,154, 2,199,255,195, 2,206, 0, 41, 2,207, 0, 41, 2,213,255,174, - 2,225,255,215, 2,227,255,215, 2,239,255,215, 2,241,255,215, 2,243,255,215, 2,254,255,174, 3, 17, 0, 41, 3, 18, 0, 41, - 3, 21,255,215, 3, 24,255,215, 3, 25,255,215, 3, 27, 0, 41, 3, 28, 0, 41, 0, 38, 0, 5, 0, 41, 0, 10, 0, 41, 1,177, -255,236, 1,181,255,215, 1,188,255,215, 1,189,255,236, 1,190,255,236, 1,191,255,215, 1,193,255,236, 1,196,255,236, 1,199, -255,236, 2, 7, 0, 41, 2, 11, 0, 41, 2,124,255,236, 2,128,255,236, 2,130,255,236, 2,161,255,236, 2,169,255,215, 2,181, -255,215, 2,183,255,215, 2,185,255,215, 2,189,255,215, 2,191,255,236, 2,193,255,236, 2,206,255,215, 2,212,255,236, 2,231, -255,236, 2,233,255,236, 2,245,255,236, 2,247,255,236, 2,249,255,236, 2,251,255,236, 2,253,255,236, 3, 13,255,236, 3, 15, -255,236, 3, 17,255,215, 3, 23,255,215, 3, 27,255,215, 0, 76, 0, 5, 0, 41, 0, 10, 0, 41, 0, 16,255,215, 0, 38,255,215, - 0, 42,255,215, 0, 50,255,215, 0, 52,255,215, 0,137,255,215, 0,148,255,215, 0,149,255,215, 0,150,255,215, 0,151,255,215, - 0,152,255,215, 0,154,255,215, 0,200,255,215, 0,206,255,215, 0,222,255,215, 0,224,255,215, 0,226,255,215, 0,228,255,215, - 1, 14,255,215, 1, 18,255,215, 1, 20,255,215, 1,159,255,215, 1,164, 0, 61, 1,181, 0, 41, 1,184,255,215, 1,187,255,215, - 1,190,255,174, 1,203,255,215, 1,213, 0, 41, 1,225,255,174, 1,228,255,215, 1,242, 0, 41, 2, 7, 0, 41, 2, 11, 0, 41, - 2, 95,255,215, 2,108,255,215, 2,125,255,174, 2,126,255,215, 2,132,255,215, 2,134,255,215, 2,136,255,215, 2,138,255,215, - 2,140,255,215, 2,177,255,215, 2,179,255,215, 2,192,255,174, 2,194,255,174, 2,206, 0, 41, 2,207, 0, 41, 2,213,255,174, - 2,225,255,215, 2,227,255,215, 2,239,255,215, 2,241,255,215, 2,243,255,215, 2,254,255,174, 3, 17, 0, 41, 3, 18, 0, 41, - 3, 21,255,215, 3, 25,255,215, 3, 27, 0, 41, 3, 28, 0, 41, 3, 73,255,215, 3, 75,255,215, 3, 77,255,215, 3, 79,255,215, - 3, 81,255,215, 3, 83,255,215, 3, 85,255,215, 3, 87,255,215, 3, 89,255,215, 3, 91,255,215, 3, 93,255,215, 3, 95,255,215, - 0, 86, 0, 15,255,195, 0, 17,255,195, 0, 36,255,236, 0, 44,255,236, 0, 55,255,195, 0, 57,255,215, 0, 58,255,236, 0, 59, -255,215, 0, 60,255,215, 0, 61,255,236, 0,130,255,236, 0,131,255,236, 0,132,255,236, 0,133,255,236, 0,134,255,236, 0,135, -255,236, 0,136,255,215, 0,142,255,236, 0,143,255,236, 0,144,255,236, 0,145,255,236, 0,159,255,215, 0,194,255,236, 0,196, -255,236, 0,198,255,236, 0,236,255,236, 0,240,255,236, 0,242,255,236, 1, 36,255,195, 1, 38,255,195, 1, 54,255,236, 1, 56, -255,215, 1, 58,255,215, 1, 59,255,236, 1, 61,255,236, 1, 63,255,236, 1, 67,255,236, 1,157,255,215, 1,164,255,215, 1,166, -255,215, 1,170,255,236, 1,174,255,236, 1,176,255,215, 1,188,255,195, 1,191,255,236, 1,196,255,215, 1,250,255,236, 1,252, -255,236, 1,254,255,236, 2, 0,255,215, 2, 40,255,236, 2, 88,255,236, 2,114,255,236, 2,118,255,215, 2,159,255,215, 2,169, -255,195, 2,181,255,195, 2,183,255,195, 2,185,255,195, 2,187,255,215, 2,189,255,195, 2,202,255,215, 2,217,255,236, 2,219, -255,236, 2,221,255,236, 2,229,255,215, 3, 5,255,215, 3, 7,255,215, 3, 23,255,195, 3, 29,255,236, 3, 31,255,236, 3, 33, -255,236, 3, 35,255,236, 3, 37,255,236, 3, 39,255,236, 3, 41,255,236, 3, 43,255,236, 3, 45,255,236, 3, 47,255,236, 3, 49, -255,236, 3, 51,255,236, 3, 69,255,236, 3, 71,255,236, 3,111,255,215, 3,113,255,215, 3,115,255,215, 0, 69, 0, 5, 0, 61, - 0, 10, 0, 61, 0, 15,255, 51, 0, 17,255, 51, 0, 36,255,174, 0, 38,255,236, 0, 59,255,236, 0, 60,255,236, 0, 61,255,215, - 0,130,255,174, 0,131,255,174, 0,132,255,174, 0,133,255,174, 0,134,255,174, 0,135,255,174, 0,136,255,113, 0,137,255,236, - 0,159,255,236, 0,194,255,174, 0,196,255,174, 0,198,255,174, 0,200,255,236, 0,206,255,236, 1, 56,255,236, 1, 58,255,236, - 1, 59,255,215, 1, 61,255,215, 1, 63,255,215, 1, 67,255,174, 1,164,255,174, 1,170,255,174, 1,174,255,154, 1,181,255,154, - 1,187,255,236, 1,206,255,154, 1,213,255,174, 1,242,255,174, 2, 0,255,236, 2, 7, 0, 61, 2, 11, 0, 61, 2, 40,255,174, - 2, 88,255,174, 2,114,255,174, 2,206,255,154, 2,207,255,174, 2,217,255,174, 2,219,255,174, 2,221,255,174, 3, 9,255,174, - 3, 11,255,174, 3, 17,255,154, 3, 18,255,174, 3, 27,255,154, 3, 28,255,174, 3, 29,255,174, 3, 31,255,174, 3, 33,255,174, - 3, 35,255,174, 3, 37,255,174, 3, 39,255,174, 3, 41,255,174, 3, 43,255,174, 3, 45,255,174, 3, 47,255,174, 3, 49,255,174, - 3, 51,255,174, 3,111,255,236, 3,113,255,236, 3,115,255,236, 0, 66, 0, 5, 0, 41, 0, 10, 0, 41, 0, 12, 0, 41, 0, 38, -255,215, 0, 42,255,215, 0, 50,255,215, 0, 52,255,215, 0, 64, 0, 41, 0, 96, 0, 41, 0,137,255,215, 0,148,255,215, 0,149, -255,215, 0,150,255,215, 0,151,255,215, 0,152,255,215, 0,154,255,215, 0,200,255,215, 0,206,255,215, 0,222,255,215, 0,224, -255,215, 0,226,255,215, 0,228,255,215, 1, 14,255,215, 1, 18,255,215, 1,159,255,215, 1,184,255,215, 1,187,255,215, 1,190, -255,195, 1,225,255,195, 2, 7, 0, 41, 2, 11, 0, 41, 2, 95,255,215, 2,108,255,215, 2,125,255,195, 2,126,255,215, 2,132, -255,215, 2,134,255,215, 2,136,255,215, 2,138,255,215, 2,140,255,215, 2,177,255,215, 2,179,255,215, 2,192,255,195, 2,194, -255,195, 2,198,255,174, 2,213,255,195, 2,225,255,215, 2,227,255,215, 2,239,255,215, 2,241,255,215, 2,243,255,215, 2,254, -255,195, 3, 21,255,215, 3, 25,255,215, 3, 73,255,215, 3, 75,255,215, 3, 77,255,215, 3, 79,255,215, 3, 81,255,215, 3, 83, -255,215, 3, 85,255,215, 3, 87,255,215, 3, 89,255,215, 3, 91,255,215, 3, 93,255,215, 3, 95,255,215, 1, 82, 0, 5, 0, 82, - 0, 10, 0, 82, 0, 15,255,154, 0, 16,255,154, 0, 17,255,154, 0, 34, 0, 41, 0, 36,255,133, 0, 38,255,195, 0, 42,255,195, - 0, 50,255,195, 0, 52,255,195, 0, 54,255,236, 0, 55, 0, 20, 0, 68,255,133, 0, 70,255,133, 0, 71,255,133, 0, 72,255,133, - 0, 74,255,154, 0, 80,255,174, 0, 81,255,174, 0, 82,255,133, 0, 83,255,174, 0, 84,255,133, 0, 85,255,174, 0, 86,255,133, - 0, 88,255,174, 0, 89,255,195, 0, 90,255,195, 0, 91,255,195, 0, 92,255,195, 0, 93,255,195, 0,130,255,133, 0,131,255,133, - 0,132,255,133, 0,133,255,133, 0,134,255,133, 0,135,255,133, 0,136,255,113, 0,137,255,195, 0,148,255,195, 0,149,255,195, - 0,150,255,195, 0,151,255,195, 0,152,255,195, 0,154,255,195, 0,162,255,133, 0,163,255,133, 0,164,255,133, 0,165,255,133, - 0,166,255,133, 0,167,255,133, 0,168,255,133, 0,169,255,133, 0,170,255,133, 0,171,255,133, 0,172,255,133, 0,173,255,133, - 0,179,255,174, 0,180,255,133, 0,181,255,133, 0,182,255,133, 0,183,255,133, 0,184,255,133, 0,186,255,133, 0,187,255,174, - 0,188,255,174, 0,189,255,174, 0,190,255,174, 0,191,255,195, 0,193,255,195, 0,194,255,133, 0,195,255,133, 0,196,255,133, - 0,197,255,133, 0,198,255,133, 0,199,255,133, 0,200,255,195, 0,201,255,133, 0,203,255,133, 0,205,255,133, 0,206,255,195, - 0,207,255,133, 0,213,255,133, 0,215,255,133, 0,217,255,133, 0,219,255,133, 0,221,255,133, 0,222,255,195, 0,224,255,195, - 0,226,255,195, 0,228,255,195, 1, 6,255,174, 1, 8,255,174, 1, 10,255,174, 1, 14,255,195, 1, 15,255,133, 1, 17,255,133, - 1, 18,255,195, 1, 19,255,133, 1, 20,255,195, 1, 21,255,133, 1, 28,255,236, 1, 29,255,133, 1, 31,255,133, 1, 32,255,236, - 1, 33,255,133, 1, 34,255,236, 1, 35,255,133, 1, 36, 0, 20, 1, 38, 0, 20, 1, 55,255,195, 1, 57,255,195, 1, 64,255,195, - 1, 67,255,133, 1, 68,255,133, 1, 74,255,133, 1,159,255,195, 1,160,255,236, 1,164,255,174, 1,170,255,133, 1,174,255,154, - 1,181,255,154, 1,184,255,195, 1,187,255,195, 1,188, 0, 20, 1,190,255,195, 1,196, 0, 20, 1,202,255,133, 1,204,255,195, - 1,205,255,195, 1,206,255,113, 1,207,255,133, 1,208,255,195, 1,209,255,195, 1,210,255,195, 1,212,255,195, 1,213,255,113, - 1,214,255,195, 1,215,255,195, 1,216,255,133, 1,217,255,195, 1,218,255,195, 1,219,255,133, 1,220,255,195, 1,221,255,195, - 1,222,255,133, 1,223,255,195, 1,224,255,195, 1,225,255,195, 1,226,255,195, 1,227,255,195, 1,229,255,195, 1,230,255,195, - 1,232,255,195, 1,233,255,195, 1,234,255,133, 1,235, 0, 41, 1,236,255,195, 1,237,255,133, 1,238,255,133, 1,240, 0, 82, - 1,242,255,133, 1,243,255,195, 1,245,255,195, 1,247,255,195, 1,249,255,195, 1,251,255,195, 1,253,255,195, 1,255,255,195, - 2, 1,255,195, 2, 7, 0, 82, 2, 11, 0, 82, 2, 40,255,133, 2, 88,255,133, 2, 89,255,133, 2, 95,255,195, 2, 96,255,133, - 2,106,255,133, 2,107,255,195, 2,108,255,195, 2,109,255,195, 2,114,255,133, 2,125,255,195, 2,126,255,195, 2,127,255,133, - 2,129,255,195, 2,131,255,195, 2,132,255,195, 2,133,255,133, 2,134,255,195, 2,135,255,133, 2,136,255,195, 2,137,255,133, - 2,138,255,195, 2,139,255,195, 2,140,255,195, 2,141,255,133, 2,150,255,195, 2,154,255,195, 2,160,255,195, 2,164,255,195, - 2,166,255,195, 2,169, 0, 20, 2,170,255,195, 2,172,255,195, 2,174,255,195, 2,176,255,195, 2,177,255,195, 2,178,255,133, - 2,179,255,195, 2,180,255,133, 2,181, 0, 20, 2,182,255,195, 2,183, 0, 20, 2,184,255,195, 2,185, 0, 20, 2,186,255,195, - 2,188,255,195, 2,189, 0, 20, 2,192,255,195, 2,194,255,195, 2,196,255,195, 2,197,255,195, 2,198,255,133, 2,199,255,195, - 2,203,255,195, 2,206,255,154, 2,207,255,113, 2,209,255,195, 2,211,255,195, 2,213,255,195, 2,215,255,195, 2,217,255,133, - 2,218,255,133, 2,219,255,133, 2,220,255,133, 2,221,255,133, 2,224,255,133, 2,225,255,195, 2,227,255,195, 2,230,255,195, - 2,236,255,195, 2,238,255,195, 2,239,255,195, 2,240,255,133, 2,241,255,195, 2,242,255,133, 2,243,255,195, 2,244,255,133, - 2,248,255,195, 2,250,255,195, 2,252,255,195, 2,254,255,195, 3, 0,255,195, 3, 6,255,195, 3, 8,255,195, 3, 9,255,133, - 3, 10,255,133, 3, 11,255,133, 3, 12,255,133, 3, 14,255,195, 3, 16,255,195, 3, 17,255,154, 3, 18,255,113, 3, 20,255,195, - 3, 21,255,195, 3, 22,255,133, 3, 23, 0, 20, 3, 24,255,195, 3, 25,255,195, 3, 26,255,133, 3, 27,255,154, 3, 28,255,113, - 3, 29,255,133, 3, 30,255,133, 3, 31,255,133, 3, 33,255,133, 3, 34,255,133, 3, 35,255,133, 3, 36,255,133, 3, 37,255,133, - 3, 38,255,133, 3, 39,255,133, 3, 40,255,133, 3, 41,255,133, 3, 42,255,133, 3, 43,255,133, 3, 44,255,133, 3, 45,255,133, - 3, 46,255,133, 3, 47,255,133, 3, 48,255,133, 3, 49,255,133, 3, 50,255,133, 3, 51,255,133, 3, 52,255,133, 3, 54,255,133, - 3, 56,255,133, 3, 58,255,133, 3, 60,255,133, 3, 62,255,133, 3, 64,255,133, 3, 66,255,133, 3, 68,255,133, 3, 73,255,195, - 3, 74,255,133, 3, 75,255,195, 3, 76,255,133, 3, 77,255,195, 3, 78,255,133, 3, 79,255,195, 3, 80,255,133, 3, 81,255,195, - 3, 82,255,133, 3, 83,255,195, 3, 84,255,133, 3, 85,255,195, 3, 86,255,133, 3, 87,255,195, 3, 88,255,133, 3, 89,255,195, - 3, 90,255,133, 3, 91,255,195, 3, 92,255,133, 3, 93,255,195, 3, 94,255,133, 3, 95,255,195, 3, 96,255,133, 3, 98,255,174, - 3,100,255,174, 3,102,255,174, 3,104,255,174, 3,106,255,174, 3,108,255,174, 3,110,255,174, 3,112,255,195, 3,114,255,195, - 3,116,255,195, 0, 99, 0, 5, 0, 61, 0, 10, 0, 61, 0, 16,255,215, 1,159,255,215, 1,164,255,174, 1,170,255,154, 1,174, -255,133, 1,181,255,154, 1,187,255,215, 1,190,255,236, 1,196, 0, 41, 1,202,255,174, 1,204,255,195, 1,205,255,195, 1,206, -255,113, 1,207,255,195, 1,210,255,195, 1,211,255,195, 1,212,255,195, 1,213,255,113, 1,214,255,195, 1,215,255,195, 1,216, -255,154, 1,217,255,195, 1,218,255,195, 1,219,255,195, 1,222,255,174, 1,224,255,195, 1,225,255,195, 1,226,255,195, 1,227, -255,195, 1,229,255,195, 1,230,255,195, 1,232,255,195, 1,233,255,195, 1,234,255,195, 1,236,255,195, 1,237,255,195, 1,238, -255,195, 1,240, 0, 61, 1,242,255,133, 1,243,255,195, 1,245,255,195, 1,247,255,195, 1,249,255,195, 2, 7, 0, 61, 2, 11, - 0, 61, 2,106,255,154, 2,107,255,195, 2,114,255,154, 2,125,255,195, 2,127,255,154, 2,133,255,154, 2,135,255,154, 2,137, -255,154, 2,141,255,154, 2,150,255,195, 2,154,255,195, 2,164,255,195, 2,166,255,195, 2,172,255,195, 2,174,255,195, 2,176, -255,195, 2,178,255,154, 2,180,255,154, 2,192,255,195, 2,194,255,195, 2,196,255,195, 2,198,255,174, 2,206,255,154, 2,207, -255,113, 2,209,255,195, 2,211,255,195, 2,213,255,195, 2,215,255,195, 2,217,255,154, 2,218,255,174, 2,219,255,154, 2,220, -255,174, 2,221,255,154, 2,224,255,154, 2,236,255,195, 2,238,255,195, 2,240,255,154, 2,242,255,154, 2,244,255,154, 2,254, -255,195, 3, 0,255,195, 3, 9,255,133, 3, 10,255,154, 3, 11,255,133, 3, 12,255,154, 3, 17,255,154, 3, 18,255,113, 3, 20, -255,195, 3, 22,255,154, 3, 26,255,154, 3, 27,255,154, 3, 28,255,113, 0, 42, 1,157,255,215, 1,164,255,215, 1,166,255,195, - 1,168,255,236, 1,170,255,215, 1,174,255,215, 1,176,255,195, 1,181,255,215, 1,188,255,195, 1,191,255,215, 1,196,255,195, - 1,199,255,215, 1,206,255,195, 1,213,255,195, 1,242,255,195, 2,114,255,215, 2,118,255,195, 2,159,255,195, 2,161,255,215, - 2,169,255,195, 2,181,255,195, 2,183,255,195, 2,185,255,195, 2,187,255,195, 2,189,255,195, 2,202,255,195, 2,206,255,215, - 2,207,255,195, 2,217,255,215, 2,219,255,215, 2,221,255,215, 2,229,255,195, 2,231,255,215, 2,233,255,215, 2,245,255,215, - 3, 5,255,195, 3, 7,255,195, 3, 17,255,215, 3, 18,255,195, 3, 23,255,195, 3, 27,255,215, 3, 28,255,195, 0, 46, 0, 5, - 0, 41, 0, 10, 0, 41, 1,159,255,215, 1,164, 0, 61, 1,174, 0, 41, 1,181, 0, 41, 1,184,255,236, 1,187,255,215, 1,190, -255,215, 1,193,255,236, 1,225,255,195, 2, 7, 0, 41, 2, 11, 0, 41, 2,108,255,236, 2,124,255,236, 2,125,255,195, 2,126, -255,236, 2,128,255,236, 2,130,255,236, 2,132,255,236, 2,134,255,236, 2,136,255,236, 2,138,255,236, 2,140,255,236, 2,177, -255,236, 2,179,255,236, 2,191,255,236, 2,192,255,195, 2,193,255,236, 2,194,255,195, 2,206, 0, 41, 2,212,255,236, 2,213, -255,195, 2,225,255,236, 2,227,255,236, 2,239,255,236, 2,241,255,236, 2,243,255,236, 2,253,255,236, 2,254,255,195, 3, 13, -255,236, 3, 15,255,236, 3, 17, 0, 41, 3, 21,255,236, 3, 25,255,236, 3, 27, 0, 41, 0, 48, 1,163, 0,246, 1,164, 0, 41, - 1,170, 0, 20, 1,174, 0, 41, 1,181, 0, 41, 1,188,255,236, 1,190,255,236, 1,191, 0, 20, 1,193,255,236, 1,206, 0, 41, - 1,213, 0, 20, 1,225,255,215, 1,231, 0, 41, 1,241, 0,102, 1,242, 0, 41, 2,114, 0, 20, 2,124,255,236, 2,125,255,215, - 2,128,255,236, 2,130,255,236, 2,169,255,236, 2,181,255,236, 2,183,255,236, 2,185,255,236, 2,189,255,236, 2,191,255,236, - 2,192,255,215, 2,193,255,236, 2,194,255,215, 2,197,255,215, 2,198,255,215, 2,199,255,215, 2,206, 0, 41, 2,207, 0, 20, - 2,212,255,236, 2,213,255,215, 2,217, 0, 20, 2,219, 0, 20, 2,221, 0, 20, 2,253,255,236, 2,254,255,215, 3, 13,255,236, - 3, 15,255,236, 3, 17, 0, 41, 3, 18, 0, 20, 3, 23,255,236, 3, 27, 0, 41, 3, 28, 0, 20, 0, 62, 1,157,255,236, 1,163, - 0,225, 1,164, 0, 61, 1,170, 0, 41, 1,174, 0, 41, 1,181, 0, 41, 1,188,255,236, 1,189, 0, 41, 1,190,255,236, 1,191, - 0, 20, 1,193,255,236, 1,196,255,236, 1,199, 0, 20, 1,206, 0, 61, 1,209, 0, 20, 1,213, 0, 41, 1,220,255,236, 1,225, -255,215, 1,228,255,236, 1,231, 0, 41, 1,241, 0,102, 1,242, 0, 41, 2,114, 0, 41, 2,124,255,236, 2,125,255,215, 2,128, -255,236, 2,130,255,236, 2,161, 0, 20, 2,169,255,236, 2,170,255,236, 2,181,255,236, 2,182,255,236, 2,183,255,236, 2,185, -255,236, 2,189,255,236, 2,191,255,236, 2,192,255,215, 2,193,255,236, 2,194,255,215, 2,206, 0, 41, 2,207, 0, 41, 2,212, -255,236, 2,213,255,215, 2,217, 0, 41, 2,219, 0, 41, 2,221, 0, 41, 2,231, 0, 20, 2,233, 0, 20, 2,245, 0, 20, 2,247, - 0, 41, 2,249, 0, 41, 2,251, 0, 41, 2,253,255,236, 2,254,255,215, 3, 13,255,236, 3, 15,255,236, 3, 17, 0, 41, 3, 18, - 0, 41, 3, 23,255,236, 3, 24,255,236, 3, 27, 0, 41, 3, 28, 0, 41, 0, 30, 0, 5,255,195, 0, 10,255,195, 1,157,255,133, - 1,166,255,113, 1,168,255,215, 1,188,255,133, 1,193,255,195, 1,196,255,133, 1,220,255,215, 1,228,255,215, 2, 7,255,195, - 2, 11,255,195, 2,124,255,195, 2,128,255,195, 2,130,255,195, 2,169,255,133, 2,170,255,215, 2,181,255,133, 2,182,255,215, - 2,183,255,133, 2,185,255,133, 2,189,255,133, 2,191,255,195, 2,193,255,195, 2,212,255,195, 2,253,255,195, 3, 13,255,195, - 3, 15,255,195, 3, 23,255,133, 3, 24,255,215, 0, 32, 0, 5,255,154, 0, 10,255,154, 1,157,255,133, 1,166,255,133, 1,168, -255,215, 1,188,255,133, 1,193,255,195, 1,196,255,133, 1,220,255,215, 1,228,255,215, 2, 7,255,154, 2, 11,255,154, 2,124, -255,195, 2,128,255,195, 2,130,255,195, 2,169,255,133, 2,170,255,215, 2,181,255,133, 2,182,255,215, 2,183,255,133, 2,185, -255,133, 2,189,255,133, 2,191,255,195, 2,193,255,195, 2,197,255,195, 2,199,255,195, 2,212,255,195, 2,253,255,195, 3, 13, -255,195, 3, 15,255,195, 3, 23,255,133, 3, 24,255,215, 0, 35, 1,157,255,215, 1,164,255,215, 1,166,255,215, 1,168,255,215, - 1,174,255,215, 1,176,255,195, 1,177,255,236, 1,181,255,195, 1,188,255,215, 1,189,255,236, 1,191,255,215, 1,213,255,215, - 1,242,255,215, 2,118,255,195, 2,159,255,195, 2,169,255,215, 2,181,255,215, 2,183,255,215, 2,185,255,215, 2,187,255,195, - 2,189,255,215, 2,202,255,195, 2,206,255,195, 2,207,255,215, 2,229,255,195, 2,247,255,236, 2,249,255,236, 2,251,255,236, - 3, 5,255,195, 3, 7,255,195, 3, 17,255,195, 3, 18,255,215, 3, 23,255,215, 3, 27,255,195, 3, 28,255,215, 0, 29, 1,157, -255,215, 1,164,255,215, 1,166,255,215, 1,168,255,236, 1,174,255,215, 1,176,255,215, 1,177,255,236, 1,181,255,215, 1,189, -255,236, 1,191,255,215, 1,206,255,215, 1,213,255,215, 1,242,255,215, 2,118,255,215, 2,159,255,215, 2,187,255,215, 2,202, -255,215, 2,206,255,215, 2,207,255,215, 2,229,255,215, 2,247,255,236, 2,249,255,236, 2,251,255,236, 3, 5,255,215, 3, 7, -255,215, 3, 17,255,215, 3, 18,255,215, 3, 27,255,215, 3, 28,255,215, 0, 25, 0, 10,255,215, 1,220,255,215, 1,221,255,236, - 1,225,255,236, 1,228,255,215, 1,246,255,215, 2,109,255,236, 2,125,255,236, 2,129,255,236, 2,131,255,236, 2,139,255,236, - 2,170,255,215, 2,182,255,215, 2,184,255,236, 2,186,255,236, 2,192,255,236, 2,194,255,236, 2,213,255,236, 2,248,255,236, - 2,250,255,236, 2,252,255,236, 2,254,255,236, 3, 14,255,236, 3, 16,255,236, 3, 24,255,215, 0, 33, 1,206,255,215, 1,208, -255,215, 1,220,255,215, 1,221,255,215, 1,223,255,215, 1,225,255,236, 1,228,255,215, 1,246,255,215, 2,109,255,215, 2,125, -255,236, 2,129,255,215, 2,131,255,215, 2,139,255,215, 2,160,255,215, 2,170,255,215, 2,182,255,215, 2,184,255,215, 2,186, -255,215, 2,188,255,215, 2,192,255,236, 2,194,255,236, 2,203,255,215, 2,213,255,236, 2,230,255,215, 2,248,255,215, 2,250, -255,215, 2,252,255,215, 2,254,255,236, 3, 6,255,215, 3, 8,255,215, 3, 14,255,215, 3, 16,255,215, 3, 24,255,215, 0, 36, - 0, 5, 0, 61, 0, 10, 0, 61, 1,208,255,236, 1,220,255,215, 1,221,255,215, 1,223,255,215, 1,225,255,236, 1,228,255,215, - 1,246,255,215, 2, 7, 0, 61, 2, 11, 0, 61, 2,109,255,215, 2,125,255,236, 2,129,255,215, 2,131,255,215, 2,139,255,215, - 2,160,255,236, 2,170,255,215, 2,182,255,215, 2,184,255,215, 2,186,255,215, 2,188,255,236, 2,192,255,236, 2,194,255,236, - 2,203,255,236, 2,213,255,236, 2,230,255,236, 2,248,255,215, 2,250,255,215, 2,252,255,215, 2,254,255,236, 3, 6,255,236, - 3, 8,255,236, 3, 14,255,215, 3, 16,255,215, 3, 24,255,215, 0, 7, 1,206,255,154, 1,213,255,154, 1,237,255,236, 1,242, -255,154, 2,207,255,154, 3, 18,255,154, 3, 28,255,154, 0, 16, 1,202, 0, 20, 1,206, 0, 41, 1,220,255,215, 1,225,255,215, - 1,228,255,195, 1,241, 0,123, 2,125,255,215, 2,170,255,215, 2,182,255,215, 2,192,255,215, 2,194,255,215, 2,213,255,215, - 2,218, 0, 20, 2,220, 0, 20, 2,254,255,215, 3, 24,255,215, 0, 13, 0, 10,255,215, 1,208,255,215, 1,220,255,236, 1,223, -255,236, 2,160,255,215, 2,170,255,236, 2,182,255,236, 2,188,255,215, 2,203,255,215, 2,230,255,215, 3, 6,255,215, 3, 8, -255,215, 3, 24,255,236, 0, 32, 0, 5, 0, 41, 0, 10, 0, 41, 1,207,255,215, 1,216,255,215, 1,219,255,236, 1,222,255,215, - 1,225,255,215, 1,234,255,215, 1,237,255,215, 2, 7, 0, 41, 2, 11, 0, 41, 2,106,255,215, 2,125,255,215, 2,127,255,215, - 2,133,255,215, 2,135,255,215, 2,137,255,215, 2,141,255,215, 2,178,255,215, 2,180,255,215, 2,192,255,215, 2,194,255,215, - 2,213,255,215, 2,224,255,215, 2,240,255,215, 2,242,255,215, 2,244,255,215, 2,254,255,215, 3, 10,255,215, 3, 12,255,215, - 3, 22,255,215, 3, 26,255,215, 0, 29, 0, 5, 0, 61, 0, 10, 0, 61, 1,209,255,236, 1,220,255,236, 1,221,255,236, 1,223, -255,236, 1,225,255,215, 1,246,255,236, 2, 7, 0, 61, 2, 11, 0, 61, 2,109,255,236, 2,125,255,215, 2,129,255,236, 2,131, -255,236, 2,139,255,236, 2,170,255,236, 2,182,255,236, 2,184,255,236, 2,186,255,236, 2,192,255,215, 2,194,255,215, 2,213, -255,215, 2,248,255,236, 2,250,255,236, 2,252,255,236, 2,254,255,215, 3, 14,255,236, 3, 16,255,236, 3, 24,255,236, 0, 33, - 0, 5, 0, 41, 0, 10, 0, 41, 1,203,255,215, 1,207,255,215, 1,216,255,215, 1,219,255,215, 1,222,255,215, 1,225,255,215, - 1,234,255,215, 1,237,255,215, 2, 7, 0, 41, 2, 11, 0, 41, 2,106,255,215, 2,125,255,215, 2,127,255,215, 2,133,255,215, - 2,135,255,215, 2,137,255,215, 2,141,255,215, 2,178,255,215, 2,180,255,215, 2,192,255,215, 2,194,255,215, 2,213,255,215, - 2,224,255,215, 2,240,255,215, 2,242,255,215, 2,244,255,215, 2,254,255,215, 3, 10,255,215, 3, 12,255,215, 3, 22,255,215, - 3, 26,255,215, 0, 34, 0, 91,255,215, 0, 93,255,236, 1, 64,255,236, 1,208,255,215, 1,209,255,236, 1,213,255,236, 1,220, -255,215, 1,221,255,236, 1,223,255,215, 1,242,255,236, 1,246,255,236, 2,109,255,236, 2,129,255,236, 2,131,255,236, 2,139, -255,236, 2,160,255,215, 2,170,255,215, 2,182,255,215, 2,184,255,236, 2,186,255,236, 2,188,255,215, 2,203,255,215, 2,207, -255,236, 2,230,255,215, 2,248,255,236, 2,250,255,236, 2,252,255,236, 3, 6,255,215, 3, 8,255,215, 3, 14,255,236, 3, 16, -255,236, 3, 18,255,236, 3, 24,255,215, 3, 28,255,236, 0, 19, 1,208,255,215, 1,209,255,236, 1,213,255,236, 1,220,255,236, - 1,223,255,236, 1,228,255,236, 1,242,255,236, 2,160,255,215, 2,170,255,236, 2,182,255,236, 2,188,255,215, 2,203,255,215, - 2,207,255,236, 2,230,255,215, 3, 6,255,215, 3, 8,255,215, 3, 18,255,236, 3, 24,255,236, 3, 28,255,236, 0, 23, 0, 5, - 0, 61, 0, 10, 0, 61, 1,207,255,236, 1,216,255,236, 1,237,255,236, 2, 7, 0, 61, 2, 11, 0, 61, 2,106,255,236, 2,127, -255,236, 2,133,255,236, 2,135,255,236, 2,137,255,236, 2,141,255,236, 2,178,255,236, 2,180,255,236, 2,224,255,236, 2,240, -255,236, 2,242,255,236, 2,244,255,236, 3, 10,255,236, 3, 12,255,236, 3, 22,255,236, 3, 26,255,236, 0, 48, 0, 5, 0, 82, - 0, 10, 0, 82, 0, 73, 0, 20, 1,202,255,215, 1,206,255,154, 1,207,255,236, 1,213,255,195, 1,216,255,215, 1,219,255,215, - 1,221, 0, 20, 1,222,255,215, 1,237,255,215, 1,242,255,154, 1,246, 0, 20, 2, 7, 0, 82, 2, 11, 0, 82, 2,106,255,215, - 2,109, 0, 20, 2,127,255,215, 2,129, 0, 20, 2,131, 0, 20, 2,133,255,215, 2,135,255,215, 2,137,255,215, 2,139, 0, 20, - 2,141,255,215, 2,178,255,215, 2,180,255,215, 2,184, 0, 20, 2,186, 0, 20, 2,207,255,195, 2,218,255,215, 2,220,255,215, - 2,224,255,215, 2,240,255,215, 2,242,255,215, 2,244,255,215, 2,248, 0, 20, 2,250, 0, 20, 2,252, 0, 20, 3, 10,255,215, - 3, 12,255,215, 3, 14, 0, 20, 3, 16, 0, 20, 3, 18,255,195, 3, 22,255,215, 3, 26,255,215, 3, 28,255,195, 0, 36, 0, 5, - 0, 61, 0, 10, 0, 61, 0, 73, 0, 20, 1,202,255,236, 1,206,255,195, 1,213,255,195, 1,216,255,236, 1,220, 0, 20, 1,222, -255,236, 1,242,255,195, 2, 7, 0, 61, 2, 11, 0, 61, 2,106,255,236, 2,127,255,236, 2,133,255,236, 2,135,255,236, 2,137, -255,236, 2,141,255,236, 2,170, 0, 20, 2,178,255,236, 2,180,255,236, 2,182, 0, 20, 2,207,255,195, 2,218,255,236, 2,220, -255,236, 2,224,255,236, 2,240,255,236, 2,242,255,236, 2,244,255,236, 3, 10,255,236, 3, 12,255,236, 3, 18,255,195, 3, 22, -255,236, 3, 24, 0, 20, 3, 26,255,236, 3, 28,255,195, 0, 28, 0, 91,255,215, 0, 93,255,236, 1, 64,255,236, 1,208,255,215, - 1,209,255,236, 1,213,255,236, 1,220,255,215, 1,223,255,236, 1,225,255,236, 1,228,255,215, 1,242,255,215, 2,125,255,236, - 2,160,255,215, 2,170,255,215, 2,182,255,215, 2,188,255,215, 2,192,255,236, 2,194,255,236, 2,203,255,215, 2,207,255,236, - 2,213,255,236, 2,230,255,215, 2,254,255,236, 3, 6,255,215, 3, 8,255,215, 3, 18,255,236, 3, 24,255,215, 3, 28,255,236, - 0, 29, 1,203,255,236, 1,207,255,236, 1,216,255,236, 1,219,255,236, 1,222,255,236, 1,225,255,236, 1,234,255,236, 1,237, -255,236, 2,106,255,236, 2,125,255,236, 2,127,255,236, 2,133,255,236, 2,135,255,236, 2,137,255,236, 2,141,255,236, 2,178, -255,236, 2,180,255,236, 2,192,255,236, 2,194,255,236, 2,213,255,236, 2,224,255,236, 2,240,255,236, 2,242,255,236, 2,244, -255,236, 2,254,255,236, 3, 10,255,236, 3, 12,255,236, 3, 22,255,236, 3, 26,255,236, 0, 21, 1,206, 0, 41, 1,213, 0, 41, - 1,220,255,236, 1,225,255,236, 1,228,255,215, 1,231, 0, 41, 1,233, 0, 20, 1,241, 0,102, 1,242, 0, 41, 1,246, 0, 20, - 2,125,255,236, 2,170,255,236, 2,182,255,236, 2,192,255,236, 2,194,255,236, 2,207, 0, 41, 2,213,255,236, 2,254,255,236, - 3, 18, 0, 41, 3, 24,255,236, 3, 28, 0, 41, 0, 22, 1,206, 0, 61, 1,213, 0, 41, 1,220,255,236, 1,225,255,236, 1,228, -255,236, 1,231, 0, 20, 1,234,255,236, 1,237,255,236, 1,241, 0,102, 1,242, 0, 41, 1,246, 0, 20, 2,125,255,236, 2,170, -255,236, 2,182,255,236, 2,192,255,236, 2,194,255,236, 2,207, 0, 41, 2,213,255,236, 2,254,255,236, 3, 18, 0, 41, 3, 24, -255,236, 3, 28, 0, 41, 0, 25, 1,220,255,154, 1,221,255,215, 1,223,255,236, 1,225,255,215, 1,228,255,113, 1,246,255,195, - 2,109,255,215, 2,125,255,215, 2,129,255,215, 2,131,255,215, 2,139,255,215, 2,170,255,154, 2,182,255,154, 2,184,255,215, - 2,186,255,215, 2,192,255,215, 2,194,255,215, 2,213,255,215, 2,248,255,215, 2,250,255,215, 2,252,255,215, 2,254,255,215, - 3, 14,255,215, 3, 16,255,215, 3, 24,255,154, 0, 28, 0, 5, 0, 61, 0, 10, 0, 61, 1,220,255,154, 1,221,255,215, 1,223, -255,236, 1,225,255,215, 1,228,255,113, 2, 7, 0, 61, 2, 11, 0, 61, 2,109,255,215, 2,125,255,215, 2,129,255,215, 2,131, -255,215, 2,139,255,215, 2,170,255,154, 2,182,255,154, 2,184,255,215, 2,186,255,215, 2,192,255,215, 2,194,255,215, 2,213, -255,215, 2,248,255,215, 2,250,255,215, 2,252,255,215, 2,254,255,215, 3, 14,255,215, 3, 16,255,215, 3, 24,255,154, 0, 17, - 1,206,255,215, 1,208,255,215, 1,209,255,236, 1,213,255,236, 1,223,255,236, 1,228,255,215, 1,242,255,236, 1,246,255,215, - 2,160,255,215, 2,188,255,215, 2,203,255,215, 2,207,255,236, 2,230,255,215, 3, 6,255,215, 3, 8,255,215, 3, 18,255,236, - 3, 28,255,236, 0, 16, 1,206,255,215, 1,208,255,215, 1,209,255,236, 1,213,255,236, 1,223,255,236, 1,228,255,215, 1,246, -255,236, 2,160,255,215, 2,188,255,215, 2,203,255,215, 2,207,255,236, 2,230,255,215, 3, 6,255,215, 3, 8,255,215, 3, 18, -255,236, 3, 28,255,236, 0, 3, 0, 5,255,152, 0, 10,255,215, 1,223,255,236, 0, 28, 1,206,255,154, 1,207,255,215, 1,213, -255,154, 1,216,255,215, 1,219,255,236, 1,222,255,215, 1,234,255,215, 1,237,255,236, 1,242,255,154, 2,106,255,215, 2,127, -255,215, 2,133,255,215, 2,135,255,215, 2,137,255,215, 2,141,255,215, 2,178,255,215, 2,180,255,215, 2,207,255,154, 2,224, -255,215, 2,240,255,215, 2,242,255,215, 2,244,255,215, 3, 10,255,215, 3, 12,255,215, 3, 18,255,154, 3, 22,255,215, 3, 26, -255,215, 3, 28,255,154, 0, 2, 1,235, 0, 61, 1,244, 0, 61, 0, 33, 1,208,255,215, 1,220,255,154, 1,221,255,195, 1,222, -255,236, 1,223,255,236, 1,225,255,215, 1,228,255,154, 1,246,255,215, 2,109,255,195, 2,125,255,215, 2,129,255,195, 2,131, -255,195, 2,139,255,195, 2,160,255,215, 2,170,255,154, 2,182,255,154, 2,184,255,195, 2,186,255,195, 2,188,255,215, 2,192, -255,215, 2,194,255,215, 2,203,255,215, 2,213,255,215, 2,230,255,215, 2,248,255,195, 2,250,255,195, 2,252,255,195, 2,254, -255,215, 3, 6,255,215, 3, 8,255,215, 3, 14,255,195, 3, 16,255,195, 3, 24,255,154, 0, 31, 1,208,255,215, 1,220,255,154, - 1,221,255,195, 1,223,255,236, 1,225,255,215, 1,228,255,154, 2,109,255,195, 2,125,255,215, 2,129,255,195, 2,131,255,195, - 2,139,255,195, 2,160,255,215, 2,170,255,154, 2,182,255,154, 2,184,255,195, 2,186,255,195, 2,188,255,215, 2,192,255,215, - 2,194,255,215, 2,203,255,215, 2,213,255,215, 2,230,255,215, 2,248,255,195, 2,250,255,195, 2,252,255,195, 2,254,255,215, - 3, 6,255,215, 3, 8,255,215, 3, 14,255,195, 3, 16,255,195, 3, 24,255,154, 0, 1, 1,246,255,215, 0, 28, 0, 5, 0, 41, - 0, 10, 0, 41, 1,203,255,236, 1,207,255,215, 1,216,255,215, 1,219,255,236, 1,222,255,215, 1,234,255,215, 1,237,255,215, - 1,246,255,236, 2, 7, 0, 41, 2, 11, 0, 41, 2,106,255,215, 2,127,255,215, 2,133,255,215, 2,135,255,215, 2,137,255,215, - 2,141,255,215, 2,178,255,215, 2,180,255,215, 2,224,255,215, 2,240,255,215, 2,242,255,215, 2,244,255,215, 3, 10,255,215, - 3, 12,255,215, 3, 22,255,215, 3, 26,255,215, 0, 29, 1,202,255,215, 1,213,255,195, 1,216,255,236, 1,220, 0, 20, 1,242, -255,215, 2,106,255,236, 2,127,255,236, 2,133,255,236, 2,135,255,236, 2,137,255,236, 2,141,255,236, 2,170, 0, 20, 2,178, -255,236, 2,180,255,236, 2,182, 0, 20, 2,207,255,195, 2,218,255,215, 2,220,255,215, 2,224,255,236, 2,240,255,236, 2,242, -255,236, 2,244,255,236, 3, 10,255,236, 3, 12,255,236, 3, 18,255,195, 3, 22,255,236, 3, 24, 0, 20, 3, 26,255,236, 3, 28, -255,195, 0,218, 0, 5, 0, 82, 0, 10, 0, 82, 0, 16,255, 92, 0, 38,255,236, 0, 42,255,236, 0, 50,255,236, 0, 52,255,236, - 0, 55,255,133, 0, 56,255,236, 0, 57,255,174, 0, 58,255,195, 0, 60,255,154, 0,137,255,236, 0,148,255,236, 0,149,255,236, - 0,150,255,236, 0,151,255,236, 0,152,255,236, 0,154,255,236, 0,155,255,236, 0,156,255,236, 0,157,255,236, 0,158,255,236, - 0,159,255,154, 0,200,255,236, 0,206,255,236, 0,222,255,236, 0,224,255,236, 0,226,255,236, 0,228,255,236, 1, 14,255,236, - 1, 18,255,236, 1, 20,255,236, 1, 36,255,133, 1, 38,255,133, 1, 44,255,236, 1, 48,255,236, 1, 50,255,236, 1, 52,255,236, - 1, 54,255,195, 1, 56,255,154, 1, 58,255,154, 1,159,255,236, 1,164,255,154, 1,170,255,133, 1,174,255,133, 1,181,255,133, - 1,184,255,215, 1,187,255,236, 1,188,255,133, 1,190,255,195, 1,202,255,133, 1,204,255,195, 1,205,255,195, 1,206,255, 92, - 1,207,255,133, 1,208,255,195, 1,209,255,195, 1,210,255,195, 1,211,255,195, 1,212,255,195, 1,213,255, 92, 1,214,255,195, - 1,215,255,195, 1,216,255,133, 1,217,255,195, 1,218,255,195, 1,219,255,133, 1,220,255,195, 1,221,255,195, 1,222,255,133, - 1,223,255,195, 1,224,255,195, 1,225,255,195, 1,226,255,195, 1,227,255,195, 1,228,255,195, 1,229,255,195, 1,230,255,195, - 1,231,255,195, 1,232,255,195, 1,233,255,154, 1,234,255,133, 1,236,255,195, 1,237,255,133, 1,238,255,174, 1,240, 0, 61, - 1,242,255, 92, 1,243,255,195, 1,245,255,195, 1,247,255,195, 1,249,255,195, 1,250,255,195, 1,252,255,195, 1,254,255,195, - 2, 0,255,154, 2, 7, 0, 82, 2, 11, 0, 82, 2, 95,255,236, 2, 97,255,236, 2,106,255,133, 2,107,255,195, 2,108,255,215, - 2,109,255,195, 2,114,255,133, 2,125,255,195, 2,126,255,215, 2,127,255,133, 2,129,255,195, 2,131,255,195, 2,132,255,215, - 2,133,255,133, 2,134,255,215, 2,135,255,133, 2,136,255,215, 2,137,255,133, 2,138,255,215, 2,139,255,195, 2,140,255,215, - 2,141,255,133, 2,150,255,195, 2,154,255,195, 2,160,255,195, 2,164,255,195, 2,166,255,195, 2,169,255,133, 2,170,255,195, - 2,172,255,195, 2,174,255,195, 2,176,255,195, 2,177,255,215, 2,178,255,133, 2,179,255,215, 2,180,255,133, 2,181,255,133, - 2,182,255,195, 2,183,255,133, 2,184,255,195, 2,185,255,133, 2,186,255,195, 2,188,255,195, 2,189,255,133, 2,192,255,195, - 2,194,255,195, 2,196,255,195, 2,197,255,174, 2,198,255,113, 2,199,255,174, 2,203,255,195, 2,206,255,133, 2,207,255, 92, - 2,209,255,195, 2,211,255,195, 2,213,255,195, 2,215,255,195, 2,217,255,133, 2,218,255,133, 2,219,255,133, 2,220,255,133, - 2,221,255,133, 2,224,255,133, 2,225,255,215, 2,227,255,215, 2,230,255,195, 2,236,255,195, 2,238,255,195, 2,239,255,215, - 2,240,255,133, 2,241,255,215, 2,242,255,133, 2,243,255,215, 2,244,255,133, 2,248,255,195, 2,250,255,195, 2,252,255,195, - 2,254,255,195, 3, 0,255,195, 3, 6,255,195, 3, 8,255,195, 3, 9,255, 92, 3, 10,255,133, 3, 11,255, 92, 3, 12,255,133, - 3, 14,255,195, 3, 16,255,195, 3, 17,255,133, 3, 18,255, 92, 3, 20,255,195, 3, 21,255,215, 3, 22,255,133, 3, 23,255,133, - 3, 24,255,195, 3, 25,255,215, 3, 26,255,133, 3, 27,255,133, 3, 28,255, 92, 3, 73,255,236, 3, 75,255,236, 3, 77,255,236, - 3, 79,255,236, 3, 81,255,236, 3, 83,255,236, 3, 85,255,236, 3, 87,255,236, 3, 89,255,236, 3, 91,255,236, 3, 93,255,236, - 3, 95,255,236, 3, 97,255,236, 3, 99,255,236, 3,101,255,236, 3,103,255,236, 3,105,255,236, 3,107,255,236, 3,109,255,236, - 3,111,255,154, 3,113,255,154, 3,115,255,154, 0, 3, 0, 55,255,154, 1,113,255,154, 1,114,255,195, 0,195, 0, 36,255,174, - 0, 44, 0, 41, 0, 55, 0, 82, 0, 57, 0, 82, 0, 58, 0,102, 0, 59, 0, 41, 0, 60, 0, 82, 0, 61, 0, 41, 0, 70,255,195, - 0, 71,255,195, 0, 72,255,195, 0, 74,255,215, 0, 82,255,195, 0, 84,255,195, 0, 87, 0, 41, 0, 89, 0, 41, 0, 90, 0, 20, - 0,130,255,174, 0,131,255,174, 0,132,255,174, 0,133,255,174, 0,134,255,174, 0,135,255,174, 0,136,255, 92, 0,142, 0, 41, - 0,143, 0, 41, 0,144, 0, 41, 0,145, 0, 41, 0,159, 0, 82, 0,168,255,195, 0,169,255,195, 0,170,255,195, 0,171,255,195, - 0,172,255,195, 0,173,255,195, 0,180,255,195, 0,181,255,195, 0,182,255,195, 0,183,255,195, 0,184,255,195, 0,186,255,195, - 0,194,255,174, 0,196,255,174, 0,198,255,174, 0,201,255,195, 0,203,255,195, 0,205,255,195, 0,207,255,195, 0,213,255,195, - 0,215,255,195, 0,217,255,195, 0,219,255,195, 0,221,255,195, 0,236, 0, 41, 0,240, 0, 41, 0,242, 0, 41, 1, 15,255,195, - 1, 17,255,195, 1, 19,255,195, 1, 21,255,195, 1, 36, 0, 82, 1, 38, 0, 82, 1, 54, 0,102, 1, 55, 0, 20, 1, 56, 0, 82, - 1, 58, 0, 82, 1, 59, 0, 41, 1, 61, 0, 41, 1, 63, 0, 41, 1, 67,255,174, 1, 95,255,174, 1,105,255,174, 1,113, 0, 82, - 1,121,255,195, 1,126,255,195, 1,130,255,195, 1,138, 0, 41, 1,140,255,195, 1,142,255,195, 1,144,255,195, 1,145, 0, 41, - 1,147,255,195, 1,148, 0, 41, 1,150,255,195, 1,153,255,195, 1,155,255,195, 1,157, 0, 82, 1,164,255,154, 1,166, 0, 82, - 1,168, 0, 61, 1,170,255,174, 1,174,255,133, 1,176, 0, 61, 1,177, 0, 20, 1,181,255,133, 1,188, 0, 82, 1,189, 0, 61, - 1,191, 0, 41, 1,196, 0, 82, 1,207,255,195, 1,216,255,195, 1,219,255,195, 1,220, 0, 41, 1,222,255,195, 1,234,255,195, - 1,237,255,195, 1,250, 0,102, 1,251, 0, 20, 1,252, 0,102, 1,253, 0, 20, 1,254, 0,102, 1,255, 0, 20, 2, 0, 0, 82, - 2, 40,255,174, 2, 88,255,174, 2, 96,255,195, 2,106,255,195, 2,114,255,174, 2,118, 0, 61, 2,127,255,195, 2,133,255,195, - 2,135,255,195, 2,137,255,195, 2,141,255,195, 2,159, 0, 61, 2,169, 0, 82, 2,170, 0, 41, 2,178,255,195, 2,180,255,195, - 2,181, 0, 82, 2,182, 0, 41, 2,183, 0, 82, 2,185, 0, 82, 2,187, 0, 61, 2,189, 0, 82, 2,202, 0, 61, 2,206,255,133, - 2,217,255,174, 2,219,255,174, 2,221,255,174, 2,224,255,195, 2,229, 0, 61, 2,240,255,195, 2,242,255,195, 2,244,255,195, - 2,247, 0, 61, 2,249, 0, 61, 2,251, 0, 61, 3, 5, 0, 61, 3, 7, 0, 61, 3, 10,255,195, 3, 12,255,195, 3, 17,255,133, - 3, 22,255,195, 3, 23, 0, 82, 3, 24, 0, 41, 3, 26,255,195, 3, 27,255,133, 3, 29,255,174, 3, 31,255,174, 3, 33,255,174, - 3, 35,255,174, 3, 37,255,174, 3, 39,255,174, 3, 41,255,174, 3, 43,255,174, 3, 45,255,174, 3, 47,255,174, 3, 49,255,174, - 3, 51,255,174, 3, 54,255,195, 3, 56,255,195, 3, 58,255,195, 3, 60,255,195, 3, 62,255,195, 3, 64,255,195, 3, 66,255,195, - 3, 68,255,195, 3, 69, 0, 41, 3, 71, 0, 41, 3, 74,255,195, 3, 76,255,195, 3, 78,255,195, 3, 80,255,195, 3, 82,255,195, - 3, 84,255,195, 3, 86,255,195, 3, 88,255,195, 3, 90,255,195, 3, 92,255,195, 3, 94,255,195, 3, 96,255,195, 3,111, 0, 82, - 3,113, 0, 82, 3,115, 0, 82, 0, 16, 0, 69, 0, 61, 0, 73, 0,102, 0, 75, 0, 61, 0, 76, 0, 61, 0, 77, 0, 61, 0, 78, - 0, 61, 0, 79, 0, 61, 0, 87, 0,102, 0, 89, 0,102, 0, 90, 0,102, 0, 91, 0, 41, 0, 92, 0,102, 0, 93, 0, 41, 3,112, - 0,102, 3,114, 0,102, 3,116, 0,102, 0, 16, 0, 69, 0, 61, 0, 73, 0,102, 0, 75, 0, 61, 0, 76, 0, 61, 0, 77, 0, 61, - 0, 78, 0, 61, 0, 79, 0, 61, 0, 87, 0,102, 0, 89, 0,102, 0, 90, 0, 82, 0, 91, 0, 41, 0, 92, 0,102, 0, 93, 0, 20, - 3,112, 0,102, 3,114, 0,102, 3,116, 0,102, 0, 2, 3, 9,255,133, 3, 11,255,133, 0, 2, 0,150, 0, 5, 0, 5, 0, 0, - 0, 10, 0, 11, 0, 1, 0, 15, 0, 17, 0, 3, 0, 36, 0, 39, 0, 6, 0, 41, 0, 41, 0, 10, 0, 44, 0, 44, 0, 11, 0, 46, - 0, 47, 0, 12, 0, 50, 0, 53, 0, 14, 0, 55, 0, 62, 0, 18, 0, 68, 0, 70, 0, 26, 0, 72, 0, 75, 0, 29, 0, 78, 0, 78, - 0, 33, 0, 80, 0, 82, 0, 34, 0, 85, 0, 87, 0, 37, 0, 89, 0, 94, 0, 40, 0,109, 0,109, 0, 46, 0,125, 0,125, 0, 47, - 0,130, 0,135, 0, 48, 0,137, 0,146, 0, 54, 0,148, 0,152, 0, 64, 0,154, 0,159, 0, 69, 0,162, 0,173, 0, 75, 0,179, - 0,184, 0, 87, 0,186, 0,191, 0, 93, 0,193, 0,201, 0, 99, 0,203, 0,203, 0,108, 0,205, 0,207, 0,109, 0,209, 0,209, - 0,112, 0,213, 0,213, 0,113, 0,215, 0,215, 0,114, 0,217, 0,219, 0,115, 0,221, 0,221, 0,118, 0,236, 0,236, 0,119, - 0,240, 0,240, 0,120, 0,242, 0,242, 0,121, 0,248, 0,248, 0,122, 0,250, 0,251, 0,123, 0,253, 0,253, 0,125, 0,255, - 1, 1, 0,126, 1, 3, 1, 3, 0,129, 1, 6, 1, 6, 0,130, 1, 8, 1, 8, 0,131, 1, 10, 1, 10, 0,132, 1, 14, 1, 15, - 0,133, 1, 17, 1, 19, 0,135, 1, 21, 1, 21, 0,138, 1, 29, 1, 29, 0,139, 1, 31, 1, 31, 0,140, 1, 33, 1, 36, 0,141, - 1, 38, 1, 39, 0,145, 1, 44, 1, 44, 0,147, 1, 48, 1, 48, 0,148, 1, 50, 1, 50, 0,149, 1, 52, 1, 52, 0,150, 1, 54, - 1, 59, 0,151, 1, 61, 1, 61, 0,157, 1, 63, 1, 64, 0,158, 1, 67, 1, 68, 0,160, 1, 74, 1, 74, 0,162, 1, 86, 1, 86, - 0,163, 1, 90, 1, 98, 0,164, 1,100, 1,100, 0,173, 1,102, 1,105, 0,174, 1,108, 1,109, 0,178, 1,111, 1,124, 0,180, - 1,126, 1,132, 0,194, 1,134, 1,136, 0,201, 1,138, 1,142, 0,204, 1,144, 1,145, 0,209, 1,147, 1,151, 0,211, 1,153, - 1,153, 0,216, 1,155, 1,162, 0,217, 1,164, 1,168, 0,225, 1,170, 1,174, 0,230, 1,176, 1,177, 0,235, 1,180, 1,180, - 0,237, 1,184, 1,184, 0,238, 1,186, 1,192, 0,239, 1,195, 1,196, 0,246, 1,198, 1,200, 0,248, 1,202, 1,209, 0,251, - 1,212, 1,212, 1, 3, 1,216, 1,216, 1, 4, 1,218, 1,224, 1, 5, 1,227, 1,234, 1, 12, 1,236, 1,238, 1, 20, 1,240, - 1,240, 1, 23, 1,242, 1,246, 1, 24, 1,248, 2, 3, 1, 29, 2, 6, 2, 6, 1, 41, 2, 10, 2, 10, 1, 42, 2, 40, 2, 40, - 1, 43, 2, 88, 2, 88, 1, 44, 2, 96, 2, 96, 1, 45, 2, 98, 2, 98, 1, 46, 2,106, 2,106, 1, 47, 2,108, 2,114, 1, 48, - 2,116, 2,116, 1, 55, 2,118, 2,124, 1, 56, 2,126, 2,140, 1, 63, 2,149, 2,157, 1, 78, 2,159, 2,160, 1, 87, 2,162, - 2,175, 1, 89, 2,177, 2,192, 1,103, 2,195, 2,195, 1,119, 2,197, 2,197, 1,120, 2,199, 2,199, 1,121, 2,201, 2,204, - 1,122, 2,206, 2,207, 1,126, 2,210, 2,211, 1,128, 2,214, 2,217, 1,130, 2,219, 2,219, 1,134, 2,222, 2,222, 1,135, - 2,224, 2,233, 1,136, 2,239, 2,252, 1,146, 2,255, 3, 0, 1,160, 3, 3, 3, 8, 1,162, 3, 11, 3, 29, 1,168, 3, 31, - 3, 31, 1,187, 3, 33, 3, 33, 1,188, 3, 35, 3, 35, 1,189, 3, 37, 3, 37, 1,190, 3, 39, 3, 39, 1,191, 3, 41, 3, 41, - 1,192, 3, 43, 3, 43, 1,193, 3, 45, 3, 45, 1,194, 3, 47, 3, 47, 1,195, 3, 49, 3, 49, 1,196, 3, 51, 3, 51, 1,197, - 3, 54, 3, 54, 1,198, 3, 56, 3, 56, 1,199, 3, 58, 3, 58, 1,200, 3, 60, 3, 60, 1,201, 3, 62, 3, 62, 1,202, 3, 64, - 3, 64, 1,203, 3, 66, 3, 66, 1,204, 3, 68, 3, 69, 1,205, 3, 71, 3, 71, 1,207, 3, 73, 3, 86, 1,208, 3, 88, 3, 88, - 1,222, 3, 90, 3, 90, 1,223, 3, 92, 3, 92, 1,224, 3, 94, 3, 94, 1,225, 3, 96, 3, 97, 1,226, 3, 99, 3, 99, 1,228, - 3,102, 3,102, 1,229, 3,104, 3,104, 1,230, 3,106, 3,106, 1,231, 3,108, 3,108, 1,232, 3,110, 3,116, 1,233, 0, 0, - 0, 1, 0, 0, 0, 10, 0, 28, 0, 30, 0, 1,108, 97,116,110, 0, 8, 0, 4, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0, - 0}; + 7,117,110,105, 48, 52, 68, 48, 7,117,110,105, 48, 52, 68, 49, 7,117,110,105, 48, 52, 68, 50, 7,117,110,105, 48, 52, 68, 51, + 7,117,110,105, 48, 52, 68, 52, 7,117,110,105, 48, 52, 68, 53, 7,117,110,105, 48, 52, 68, 54, 7,117,110,105, 48, 52, 68, 55, + 7,117,110,105, 48, 52, 68, 56, 9, 97,102,105,105, 49, 48, 56, 52, 54, 7,117,110,105, 48, 52, 68, 65, 7,117,110,105, 48, 52, + 68, 66, 7,117,110,105, 48, 52, 68, 67, 7,117,110,105, 48, 52, 68, 68, 7,117,110,105, 48, 52, 68, 69, 7,117,110,105, 48, 52, + 68, 70, 7,117,110,105, 48, 52, 69, 48, 7,117,110,105, 48, 52, 69, 49, 7,117,110,105, 48, 52, 69, 50, 7,117,110,105, 48, 52, + 69, 51, 7,117,110,105, 48, 52, 69, 52, 7,117,110,105, 48, 52, 69, 53, 7,117,110,105, 48, 52, 69, 54, 7,117,110,105, 48, 52, + 69, 55, 7,117,110,105, 48, 52, 69, 56, 7,117,110,105, 48, 52, 69, 57, 7,117,110,105, 48, 52, 69, 65, 7,117,110,105, 48, 52, + 69, 66, 7,117,110,105, 48, 52, 69, 67, 7,117,110,105, 48, 52, 69, 68, 7,117,110,105, 48, 52, 69, 69, 7,117,110,105, 48, 52, + 69, 70, 7,117,110,105, 48, 52, 70, 48, 7,117,110,105, 48, 52, 70, 49, 7,117,110,105, 48, 52, 70, 50, 7,117,110,105, 48, 52, + 70, 51, 7,117,110,105, 48, 52, 70, 52, 7,117,110,105, 48, 52, 70, 53, 7,117,110,105, 48, 52, 70, 54, 7,117,110,105, 48, 52, + 70, 55, 7,117,110,105, 48, 52, 70, 56, 7,117,110,105, 48, 52, 70, 57, 7,117,110,105, 48, 53, 48, 48, 7,117,110,105, 48, 53, + 48, 49, 7,117,110,105, 48, 53, 48, 50, 7,117,110,105, 48, 53, 48, 51, 7,117,110,105, 48, 53, 48, 52, 7,117,110,105, 48, 53, + 48, 53, 7,117,110,105, 48, 53, 48, 54, 7,117,110,105, 48, 53, 48, 55, 7,117,110,105, 48, 53, 48, 56, 7,117,110,105, 48, 53, + 48, 57, 7,117,110,105, 48, 53, 48, 65, 7,117,110,105, 48, 53, 48, 66, 7,117,110,105, 48, 53, 48, 67, 7,117,110,105, 48, 53, + 48, 68, 7,117,110,105, 48, 53, 48, 69, 7,117,110,105, 48, 53, 48, 70, 7,117,110,105, 48, 53, 51, 49, 7,117,110,105, 48, 53, + 51, 50, 7,117,110,105, 48, 53, 51, 51, 7,117,110,105, 48, 53, 51, 52, 7,117,110,105, 48, 53, 51, 53, 7,117,110,105, 48, 53, + 51, 54, 7,117,110,105, 48, 53, 51, 55, 7,117,110,105, 48, 53, 51, 56, 7,117,110,105, 48, 53, 51, 57, 7,117,110,105, 48, 53, + 51, 65, 7,117,110,105, 48, 53, 51, 66, 7,117,110,105, 48, 53, 51, 67, 7,117,110,105, 48, 53, 51, 68, 7,117,110,105, 48, 53, + 51, 69, 7,117,110,105, 48, 53, 51, 70, 7,117,110,105, 48, 53, 52, 48, 7,117,110,105, 48, 53, 52, 49, 7,117,110,105, 48, 53, + 52, 50, 7,117,110,105, 48, 53, 52, 51, 7,117,110,105, 48, 53, 52, 52, 7,117,110,105, 48, 53, 52, 53, 7,117,110,105, 48, 53, + 52, 54, 7,117,110,105, 48, 53, 52, 55, 7,117,110,105, 48, 53, 52, 56, 7,117,110,105, 48, 53, 52, 57, 7,117,110,105, 48, 53, + 52, 65, 7,117,110,105, 48, 53, 52, 66, 7,117,110,105, 48, 53, 52, 67, 7,117,110,105, 48, 53, 52, 68, 7,117,110,105, 48, 53, + 52, 69, 7,117,110,105, 48, 53, 52, 70, 7,117,110,105, 48, 53, 53, 48, 7,117,110,105, 48, 53, 53, 49, 7,117,110,105, 48, 53, + 53, 50, 7,117,110,105, 48, 53, 53, 51, 7,117,110,105, 48, 53, 53, 52, 7,117,110,105, 48, 53, 53, 53, 7,117,110,105, 48, 53, + 53, 54, 7,117,110,105, 48, 53, 53, 57, 7,117,110,105, 48, 53, 53, 65, 7,117,110,105, 48, 53, 53, 66, 7,117,110,105, 48, 53, + 53, 67, 7,117,110,105, 48, 53, 53, 68, 7,117,110,105, 48, 53, 53, 69, 7,117,110,105, 48, 53, 53, 70, 7,117,110,105, 48, 53, + 54, 49, 7,117,110,105, 48, 53, 54, 50, 7,117,110,105, 48, 53, 54, 51, 7,117,110,105, 48, 53, 54, 52, 7,117,110,105, 48, 53, + 54, 53, 7,117,110,105, 48, 53, 54, 54, 7,117,110,105, 48, 53, 54, 55, 7,117,110,105, 48, 53, 54, 56, 7,117,110,105, 48, 53, + 54, 57, 7,117,110,105, 48, 53, 54, 65, 7,117,110,105, 48, 53, 54, 66, 7,117,110,105, 48, 53, 54, 67, 7,117,110,105, 48, 53, + 54, 68, 7,117,110,105, 48, 53, 54, 69, 7,117,110,105, 48, 53, 54, 70, 7,117,110,105, 48, 53, 55, 48, 7,117,110,105, 48, 53, + 55, 49, 7,117,110,105, 48, 53, 55, 50, 7,117,110,105, 48, 53, 55, 51, 7,117,110,105, 48, 53, 55, 52, 7,117,110,105, 48, 53, + 55, 53, 7,117,110,105, 48, 53, 55, 54, 7,117,110,105, 48, 53, 55, 55, 7,117,110,105, 48, 53, 55, 56, 7,117,110,105, 48, 53, + 55, 57, 7,117,110,105, 48, 53, 55, 65, 7,117,110,105, 48, 53, 55, 66, 7,117,110,105, 48, 53, 55, 67, 7,117,110,105, 48, 53, + 55, 68, 7,117,110,105, 48, 53, 55, 69, 7,117,110,105, 48, 53, 55, 70, 7,117,110,105, 48, 53, 56, 48, 7,117,110,105, 48, 53, + 56, 49, 7,117,110,105, 48, 53, 56, 50, 7,117,110,105, 48, 53, 56, 51, 7,117,110,105, 48, 53, 56, 52, 7,117,110,105, 48, 53, + 56, 53, 7,117,110,105, 48, 53, 56, 54, 7,117,110,105, 48, 53, 56, 55, 7,117,110,105, 48, 53, 56, 57, 7,117,110,105, 48, 53, + 56, 65, 9, 97,102,105,105, 53, 55, 51, 56, 56, 7,117,110,105, 49, 69, 48, 48, 7,117,110,105, 49, 69, 48, 49, 7,117,110,105, + 49, 69, 48, 50, 7,117,110,105, 49, 69, 48, 51, 7,117,110,105, 49, 69, 48, 52, 7,117,110,105, 49, 69, 48, 53, 7,117,110,105, + 49, 69, 48, 54, 7,117,110,105, 49, 69, 48, 55, 7,117,110,105, 49, 69, 48, 56, 7,117,110,105, 49, 69, 48, 57, 7,117,110,105, + 49, 69, 48, 65, 7,117,110,105, 49, 69, 48, 66, 7,117,110,105, 49, 69, 48, 67, 7,117,110,105, 49, 69, 48, 68, 7,117,110,105, + 49, 69, 48, 69, 7,117,110,105, 49, 69, 48, 70, 7,117,110,105, 49, 69, 49, 48, 7,117,110,105, 49, 69, 49, 49, 7,117,110,105, + 49, 69, 49, 50, 7,117,110,105, 49, 69, 49, 51, 7,117,110,105, 49, 69, 49, 52, 7,117,110,105, 49, 69, 49, 53, 7,117,110,105, + 49, 69, 49, 54, 7,117,110,105, 49, 69, 49, 55, 7,117,110,105, 49, 69, 49, 56, 7,117,110,105, 49, 69, 49, 57, 7,117,110,105, + 49, 69, 49, 65, 7,117,110,105, 49, 69, 49, 66, 7,117,110,105, 49, 69, 49, 67, 7,117,110,105, 49, 69, 49, 68, 7,117,110,105, + 49, 69, 49, 69, 7,117,110,105, 49, 69, 49, 70, 7,117,110,105, 49, 69, 50, 48, 7,117,110,105, 49, 69, 50, 49, 7,117,110,105, + 49, 69, 50, 50, 7,117,110,105, 49, 69, 50, 51, 7,117,110,105, 49, 69, 50, 52, 7,117,110,105, 49, 69, 50, 53, 7,117,110,105, + 49, 69, 50, 54, 7,117,110,105, 49, 69, 50, 55, 7,117,110,105, 49, 69, 50, 56, 7,117,110,105, 49, 69, 50, 57, 7,117,110,105, + 49, 69, 50, 65, 7,117,110,105, 49, 69, 50, 66, 7,117,110,105, 49, 69, 50, 67, 7,117,110,105, 49, 69, 50, 68, 7,117,110,105, + 49, 69, 50, 69, 7,117,110,105, 49, 69, 50, 70, 7,117,110,105, 49, 69, 51, 48, 7,117,110,105, 49, 69, 51, 49, 7,117,110,105, + 49, 69, 51, 50, 7,117,110,105, 49, 69, 51, 51, 7,117,110,105, 49, 69, 51, 52, 7,117,110,105, 49, 69, 51, 53, 7,117,110,105, + 49, 69, 51, 54, 7,117,110,105, 49, 69, 51, 55, 7,117,110,105, 49, 69, 51, 56, 7,117,110,105, 49, 69, 51, 57, 7,117,110,105, + 49, 69, 51, 65, 7,117,110,105, 49, 69, 51, 66, 7,117,110,105, 49, 69, 51, 67, 7,117,110,105, 49, 69, 51, 68, 7,117,110,105, + 49, 69, 51, 69, 7,117,110,105, 49, 69, 51, 70, 7,117,110,105, 49, 69, 52, 48, 7,117,110,105, 49, 69, 52, 49, 7,117,110,105, + 49, 69, 52, 50, 7,117,110,105, 49, 69, 52, 51, 7,117,110,105, 49, 69, 52, 52, 7,117,110,105, 49, 69, 52, 53, 7,117,110,105, + 49, 69, 52, 54, 7,117,110,105, 49, 69, 52, 55, 7,117,110,105, 49, 69, 52, 56, 7,117,110,105, 49, 69, 52, 57, 7,117,110,105, + 49, 69, 52, 65, 7,117,110,105, 49, 69, 52, 66, 7,117,110,105, 49, 69, 52, 67, 7,117,110,105, 49, 69, 52, 68, 7,117,110,105, + 49, 69, 52, 69, 7,117,110,105, 49, 69, 52, 70, 7,117,110,105, 49, 69, 53, 48, 7,117,110,105, 49, 69, 53, 49, 7,117,110,105, + 49, 69, 53, 50, 7,117,110,105, 49, 69, 53, 51, 7,117,110,105, 49, 69, 53, 52, 7,117,110,105, 49, 69, 53, 53, 7,117,110,105, + 49, 69, 53, 54, 7,117,110,105, 49, 69, 53, 55, 7,117,110,105, 49, 69, 53, 56, 7,117,110,105, 49, 69, 53, 57, 7,117,110,105, + 49, 69, 53, 65, 7,117,110,105, 49, 69, 53, 66, 7,117,110,105, 49, 69, 53, 67, 7,117,110,105, 49, 69, 53, 68, 7,117,110,105, + 49, 69, 53, 69, 7,117,110,105, 49, 69, 53, 70, 7,117,110,105, 49, 69, 54, 48, 7,117,110,105, 49, 69, 54, 49, 7,117,110,105, + 49, 69, 54, 50, 7,117,110,105, 49, 69, 54, 51, 7,117,110,105, 49, 69, 54, 52, 7,117,110,105, 49, 69, 54, 53, 7,117,110,105, + 49, 69, 54, 54, 7,117,110,105, 49, 69, 54, 55, 7,117,110,105, 49, 69, 54, 56, 7,117,110,105, 49, 69, 54, 57, 7,117,110,105, + 49, 69, 54, 65, 7,117,110,105, 49, 69, 54, 66, 7,117,110,105, 49, 69, 54, 67, 7,117,110,105, 49, 69, 54, 68, 7,117,110,105, + 49, 69, 54, 69, 7,117,110,105, 49, 69, 54, 70, 7,117,110,105, 49, 69, 55, 48, 7,117,110,105, 49, 69, 55, 49, 7,117,110,105, + 49, 69, 55, 50, 7,117,110,105, 49, 69, 55, 51, 7,117,110,105, 49, 69, 55, 52, 7,117,110,105, 49, 69, 55, 53, 7,117,110,105, + 49, 69, 55, 54, 7,117,110,105, 49, 69, 55, 55, 7,117,110,105, 49, 69, 55, 56, 7,117,110,105, 49, 69, 55, 57, 7,117,110,105, + 49, 69, 55, 65, 7,117,110,105, 49, 69, 55, 66, 7,117,110,105, 49, 69, 55, 67, 7,117,110,105, 49, 69, 55, 68, 7,117,110,105, + 49, 69, 55, 69, 7,117,110,105, 49, 69, 55, 70, 6, 87,103,114, 97,118,101, 6,119,103,114, 97,118,101, 6, 87, 97, 99,117,116, +101, 6,119, 97, 99,117,116,101, 9, 87,100,105,101,114,101,115,105,115, 9,119,100,105,101,114,101,115,105,115, 7,117,110,105, + 49, 69, 56, 54, 7,117,110,105, 49, 69, 56, 55, 7,117,110,105, 49, 69, 56, 56, 7,117,110,105, 49, 69, 56, 57, 7,117,110,105, + 49, 69, 56, 65, 7,117,110,105, 49, 69, 56, 66, 7,117,110,105, 49, 69, 56, 67, 7,117,110,105, 49, 69, 56, 68, 7,117,110,105, + 49, 69, 56, 69, 7,117,110,105, 49, 69, 56, 70, 7,117,110,105, 49, 69, 57, 48, 7,117,110,105, 49, 69, 57, 49, 7,117,110,105, + 49, 69, 57, 50, 7,117,110,105, 49, 69, 57, 51, 7,117,110,105, 49, 69, 57, 52, 7,117,110,105, 49, 69, 57, 53, 7,117,110,105, + 49, 69, 57, 54, 7,117,110,105, 49, 69, 57, 55, 7,117,110,105, 49, 69, 57, 56, 7,117,110,105, 49, 69, 57, 57, 7,117,110,105, + 49, 69, 57, 65, 7,117,110,105, 49, 69, 57, 66, 7,117,110,105, 49, 69, 65, 48, 7,117,110,105, 49, 69, 65, 49, 7,117,110,105, + 49, 69, 65, 50, 7,117,110,105, 49, 69, 65, 51, 7,117,110,105, 49, 69, 65, 52, 7,117,110,105, 49, 69, 65, 53, 7,117,110,105, + 49, 69, 65, 54, 7,117,110,105, 49, 69, 65, 55, 7,117,110,105, 49, 69, 65, 56, 7,117,110,105, 49, 69, 65, 57, 7,117,110,105, + 49, 69, 65, 65, 7,117,110,105, 49, 69, 65, 66, 7,117,110,105, 49, 69, 65, 67, 7,117,110,105, 49, 69, 65, 68, 7,117,110,105, + 49, 69, 65, 69, 7,117,110,105, 49, 69, 65, 70, 7,117,110,105, 49, 69, 66, 48, 7,117,110,105, 49, 69, 66, 49, 7,117,110,105, + 49, 69, 66, 50, 7,117,110,105, 49, 69, 66, 51, 7,117,110,105, 49, 69, 66, 52, 7,117,110,105, 49, 69, 66, 53, 7,117,110,105, + 49, 69, 66, 54, 7,117,110,105, 49, 69, 66, 55, 7,117,110,105, 49, 69, 66, 56, 7,117,110,105, 49, 69, 66, 57, 7,117,110,105, + 49, 69, 66, 65, 7,117,110,105, 49, 69, 66, 66, 7,117,110,105, 49, 69, 66, 67, 7,117,110,105, 49, 69, 66, 68, 7,117,110,105, + 49, 69, 66, 69, 7,117,110,105, 49, 69, 66, 70, 7,117,110,105, 49, 69, 67, 48, 7,117,110,105, 49, 69, 67, 49, 7,117,110,105, + 49, 69, 67, 50, 7,117,110,105, 49, 69, 67, 51, 7,117,110,105, 49, 69, 67, 52, 7,117,110,105, 49, 69, 67, 53, 7,117,110,105, + 49, 69, 67, 54, 7,117,110,105, 49, 69, 67, 55, 7,117,110,105, 49, 69, 67, 56, 7,117,110,105, 49, 69, 67, 57, 7,117,110,105, + 49, 69, 67, 65, 7,117,110,105, 49, 69, 67, 66, 7,117,110,105, 49, 69, 67, 67, 7,117,110,105, 49, 69, 67, 68, 7,117,110,105, + 49, 69, 67, 69, 7,117,110,105, 49, 69, 67, 70, 7,117,110,105, 49, 69, 68, 48, 7,117,110,105, 49, 69, 68, 49, 7,117,110,105, + 49, 69, 68, 50, 7,117,110,105, 49, 69, 68, 51, 7,117,110,105, 49, 69, 68, 52, 7,117,110,105, 49, 69, 68, 53, 7,117,110,105, + 49, 69, 68, 54, 7,117,110,105, 49, 69, 68, 55, 7,117,110,105, 49, 69, 68, 56, 7,117,110,105, 49, 69, 68, 57, 7,117,110,105, + 49, 69, 68, 65, 7,117,110,105, 49, 69, 68, 66, 7,117,110,105, 49, 69, 68, 67, 7,117,110,105, 49, 69, 68, 68, 7,117,110,105, + 49, 69, 68, 69, 7,117,110,105, 49, 69, 68, 70, 7,117,110,105, 49, 69, 69, 48, 7,117,110,105, 49, 69, 69, 49, 7,117,110,105, + 49, 69, 69, 50, 7,117,110,105, 49, 69, 69, 51, 7,117,110,105, 49, 69, 69, 52, 7,117,110,105, 49, 69, 69, 53, 7,117,110,105, + 49, 69, 69, 54, 7,117,110,105, 49, 69, 69, 55, 7,117,110,105, 49, 69, 69, 56, 7,117,110,105, 49, 69, 69, 57, 7,117,110,105, + 49, 69, 69, 65, 7,117,110,105, 49, 69, 69, 66, 7,117,110,105, 49, 69, 69, 67, 7,117,110,105, 49, 69, 69, 68, 7,117,110,105, + 49, 69, 69, 69, 7,117,110,105, 49, 69, 69, 70, 7,117,110,105, 49, 69, 70, 48, 7,117,110,105, 49, 69, 70, 49, 6, 89,103,114, + 97,118,101, 6,121,103,114, 97,118,101, 7,117,110,105, 49, 69, 70, 52, 7,117,110,105, 49, 69, 70, 53, 7,117,110,105, 49, 69, + 70, 54, 7,117,110,105, 49, 69, 70, 55, 7,117,110,105, 49, 69, 70, 56, 7,117,110,105, 49, 69, 70, 57, 7,117,110,105, 49, 70, + 66, 70, 7,117,110,105, 49, 70, 70, 68, 7,117,110,105, 49, 70, 70, 69, 7,117,110,105, 50, 48, 48, 48, 7,117,110,105, 50, 48, + 48, 49, 7,117,110,105, 50, 48, 48, 50, 7,117,110,105, 50, 48, 48, 51, 7,117,110,105, 50, 48, 48, 52, 7,117,110,105, 50, 48, + 48, 53, 7,117,110,105, 50, 48, 48, 54, 7,117,110,105, 50, 48, 48, 55, 7,117,110,105, 50, 48, 48, 56, 7,117,110,105, 50, 48, + 48, 57, 7,117,110,105, 50, 48, 48, 65, 7,117,110,105, 50, 48, 48, 66, 9, 97,102,105,105, 54, 49, 54, 54, 52, 7, 97,102,105, +105, 51, 48, 49, 7, 97,102,105,105, 50, 57, 57, 7, 97,102,105,105, 51, 48, 48, 7,117,110,105, 50, 48, 49, 48, 7,117,110,105, + 50, 48, 49, 49, 10,102,105,103,117,114,101,100, 97,115,104, 9, 97,102,105,105, 48, 48, 50, 48, 56, 7,117,110,105, 50, 48, 49, + 54, 13,117,110,100,101,114,115, 99,111,114,101,100, 98,108, 13,113,117,111,116,101,114,101,118,101,114,115,101,100, 7,117,110, +105, 50, 48, 49, 70, 7,117,110,105, 50, 48, 50, 51, 14,111,110,101,100,111,116,101,110,108,101, 97,100,101,114, 14,116,119,111, +100,111,116,101,110,108,101, 97,100,101,114, 7,117,110,105, 50, 48, 50, 55, 7,117,110,105, 50, 48, 51, 49, 6,109,105,110,117, +116,101, 6,115,101, 99,111,110,100, 7,117,110,105, 50, 48, 51, 52, 7,117,110,105, 50, 48, 51, 53, 7,117,110,105, 50, 48, 51, + 54, 7,117,110,105, 50, 48, 51, 55, 7,117,110,105, 50, 48, 51, 56, 7,117,110,105, 50, 48, 51, 66, 9,101,120, 99,108, 97,109, +100, 98,108, 7,117,110,105, 50, 48, 51, 68, 7,117,110,105, 50, 48, 51, 69, 7,117,110,105, 50, 48, 51, 70, 7,117,110,105, 50, + 48, 52, 48, 7,117,110,105, 50, 48, 52, 49, 7,117,110,105, 50, 48, 52, 50, 7,117,110,105, 50, 48, 52, 51, 7,117,110,105, 50, + 48, 52, 53, 7,117,110,105, 50, 48, 52, 54, 7,117,110,105, 50, 48, 52, 55, 7,117,110,105, 50, 48, 52, 56, 7,117,110,105, 50, + 48, 52, 57, 7,117,110,105, 50, 48, 52, 65, 7,117,110,105, 50, 48, 52, 66, 7,117,110,105, 50, 48, 52, 67, 7,117,110,105, 50, + 48, 52, 68, 7,117,110,105, 50, 48, 52, 69, 7,117,110,105, 50, 48, 52, 70, 7,117,110,105, 50, 48, 53, 48, 7,117,110,105, 50, + 48, 53, 49, 7,117,110,105, 50, 48, 53, 50, 7,117,110,105, 50, 48, 53, 51, 7,117,110,105, 50, 48, 53, 52, 7,117,110,105, 50, + 48, 53, 53, 7,117,110,105, 50, 48, 53, 54, 7,117,110,105, 50, 48, 53, 55, 7,117,110,105, 50, 48, 53, 56, 7,117,110,105, 50, + 48, 53, 57, 7,117,110,105, 50, 48, 53, 65, 7,117,110,105, 50, 48, 53, 66, 7,117,110,105, 50, 48, 53, 67, 7,117,110,105, 50, + 48, 53, 68, 7,117,110,105, 50, 48, 53, 69, 7,117,110,105, 50, 48, 55, 48, 7,117,110,105, 50, 48, 55, 49, 7,117,110,105, 50, + 48, 55, 52, 7,117,110,105, 50, 48, 55, 53, 7,117,110,105, 50, 48, 55, 54, 7,117,110,105, 50, 48, 55, 55, 7,117,110,105, 50, + 48, 55, 56, 7,117,110,105, 50, 48, 55, 57, 7,117,110,105, 50, 48, 55, 65, 7,117,110,105, 50, 48, 55, 66, 7,117,110,105, 50, + 48, 55, 67, 7,117,110,105, 50, 48, 55, 68, 7,117,110,105, 50, 48, 55, 69, 7,117,110,105, 50, 48, 55, 70, 7,117,110,105, 50, + 48, 56, 48, 7,117,110,105, 50, 48, 56, 49, 7,117,110,105, 50, 48, 56, 50, 7,117,110,105, 50, 48, 56, 51, 7,117,110,105, 50, + 48, 56, 52, 7,117,110,105, 50, 48, 56, 53, 7,117,110,105, 50, 48, 56, 54, 7,117,110,105, 50, 48, 56, 55, 7,117,110,105, 50, + 48, 56, 56, 7,117,110,105, 50, 48, 56, 57, 7,117,110,105, 50, 48, 56, 65, 7,117,110,105, 50, 48, 56, 66, 7,117,110,105, 50, + 48, 56, 67, 7,117,110,105, 50, 48, 56, 68, 7,117,110,105, 50, 48, 56, 69, 7,117,110,105, 50, 48, 65, 48, 13, 99,111,108,111, +110,109,111,110,101,116, 97,114,121, 7,117,110,105, 50, 48, 65, 50, 4,108,105,114, 97, 7,117,110,105, 50, 48, 65, 53, 7,117, +110,105, 50, 48, 65, 54, 6,112,101,115,101,116, 97, 7,117,110,105, 50, 48, 65, 56, 7,117,110,105, 50, 48, 65, 57, 9, 97,102, +105,105, 53, 55, 54, 51, 54, 4,100,111,110,103, 4, 69,117,114,111, 7,117,110,105, 50, 48, 65, 68, 7,117,110,105, 50, 48, 65, + 69, 7,117,110,105, 50, 48, 65, 70, 7,117,110,105, 50, 48, 66, 49, 7,117,110,105, 50, 48, 66, 52, 7,117,110,105, 50, 48, 66, + 53, 7,117,110,105, 50, 48, 68, 54, 7,117,110,105, 50, 48, 68, 55, 7,117,110,105, 50, 49, 48, 48, 7,117,110,105, 50, 49, 48, + 51, 7,117,110,105, 50, 49, 48, 52, 9, 97,102,105,105, 54, 49, 50, 52, 56, 7,117,110,105, 50, 49, 48, 54, 7,117,110,105, 50, + 49, 48, 57, 7,117,110,105, 50, 49, 48, 69, 7,117,110,105, 50, 49, 48, 70, 8, 73,102,114, 97,107,116,117,114, 9, 97,102,105, +105, 54, 49, 50, 56, 57, 9, 97,102,105,105, 54, 49, 51, 53, 50, 7,117,110,105, 50, 49, 49, 55, 11,119,101,105,101,114,115,116, +114, 97,115,115, 8, 82,102,114, 97,107,116,117,114, 7,117,110,105, 50, 49, 49, 68, 12,112,114,101,115, 99,114,105,112,116,105, +111,110, 7,117,110,105, 50, 49, 50, 48, 7,117,110,105, 50, 49, 50, 49, 7,117,110,105, 50, 49, 50, 54, 7,117,110,105, 50, 49, + 50, 55, 7,117,110,105, 50, 49, 50, 65, 7,117,110,105, 50, 49, 50, 66, 9,101,115,116,105,109, 97,116,101,100, 7,117,110,105, + 50, 49, 51, 50, 7,117,110,105, 50, 49, 51, 52, 5, 97,108,101,112,104, 7,117,110,105, 50, 49, 51, 66, 7,117,110,105, 50, 49, + 52, 66, 8,111,110,101,116,104,105,114,100, 9,116,119,111,116,104,105,114,100,115, 7,117,110,105, 50, 49, 53, 53, 7,117,110, +105, 50, 49, 53, 54, 7,117,110,105, 50, 49, 53, 55, 7,117,110,105, 50, 49, 53, 56, 7,117,110,105, 50, 49, 53, 57, 7,117,110, +105, 50, 49, 53, 65, 9,111,110,101,101,105,103,104,116,104, 12,116,104,114,101,101,101,105,103,104,116,104,115, 11,102,105,118, +101,101,105,103,104,116,104,115, 12,115,101,118,101,110,101,105,103,104,116,104,115, 7,117,110,105, 50, 49, 53, 70, 7,117,110, +105, 50, 49, 54, 48, 7,117,110,105, 50, 49, 54, 49, 7,117,110,105, 50, 49, 54, 50, 7,117,110,105, 50, 49, 54, 51, 7,117,110, +105, 50, 49, 54, 52, 7,117,110,105, 50, 49, 54, 53, 7,117,110,105, 50, 49, 54, 54, 7,117,110,105, 50, 49, 54, 55, 7,117,110, +105, 50, 49, 54, 56, 7,117,110,105, 50, 49, 54, 57, 7,117,110,105, 50, 49, 54, 65, 7,117,110,105, 50, 49, 54, 66, 7,117,110, +105, 50, 49, 54, 67, 7,117,110,105, 50, 49, 54, 68, 7,117,110,105, 50, 49, 54, 69, 7,117,110,105, 50, 49, 54, 70, 7,117,110, +105, 50, 49, 55, 48, 7,117,110,105, 50, 49, 55, 49, 7,117,110,105, 50, 49, 55, 50, 7,117,110,105, 50, 49, 55, 51, 7,117,110, +105, 50, 49, 55, 52, 7,117,110,105, 50, 49, 55, 53, 7,117,110,105, 50, 49, 55, 54, 7,117,110,105, 50, 49, 55, 55, 7,117,110, +105, 50, 49, 55, 56, 7,117,110,105, 50, 49, 55, 57, 7,117,110,105, 50, 49, 55, 65, 7,117,110,105, 50, 49, 55, 66, 7,117,110, +105, 50, 49, 55, 67, 7,117,110,105, 50, 49, 55, 68, 7,117,110,105, 50, 49, 55, 69, 7,117,110,105, 50, 49, 55, 70, 7,117,110, +105, 50, 49, 56, 48, 7,117,110,105, 50, 49, 56, 49, 7,117,110,105, 50, 49, 56, 50, 7,117,110,105, 50, 49, 56, 51, 9, 97,114, +114,111,119,108,101,102,116, 7, 97,114,114,111,119,117,112, 10, 97,114,114,111,119,114,105,103,104,116, 9, 97,114,114,111,119, +100,111,119,110, 9, 97,114,114,111,119, 98,111,116,104, 9, 97,114,114,111,119,117,112,100,110, 7,117,110,105, 50, 49, 57, 54, + 7,117,110,105, 50, 49, 57, 55, 7,117,110,105, 50, 49, 57, 56, 7,117,110,105, 50, 49, 57, 57, 14, 99, 97,114,114,105, 97,103, +101,114,101,116,117,114,110, 7,117,110,105, 50, 50, 49, 51, 7,117,110,105, 50, 50, 49, 52, 7,117,110,105, 50, 50, 49, 54, 12, + 97,115,116,101,114,105,115,107,109, 97,116,104, 7,117,110,105, 50, 50, 49, 56, 7,117,110,105, 50, 50, 49, 66, 7,117,110,105, + 50, 50, 49, 67, 12,112,114,111,112,111,114,116,105,111,110, 97,108, 7,117,110,105, 50, 51, 49, 56, 7,117,110,105, 50, 51, 49, + 57, 7,117,110,105, 50, 51, 50, 53, 9, 97,110,103,108,101,108,101,102,116, 10, 97,110,103,108,101,114,105,103,104,116, 7,117, +110,105, 50, 52, 54, 48, 7,117,110,105, 50, 52, 54, 49, 7,117,110,105, 50, 52, 54, 50, 7,117,110,105, 50, 52, 54, 51, 7,117, +110,105, 50, 52, 54, 52, 7,117,110,105, 50, 52, 54, 53, 7,117,110,105, 50, 52, 54, 54, 7,117,110,105, 50, 52, 54, 55, 7,117, +110,105, 50, 52, 54, 56, 7,117,110,105, 50, 52, 54, 57, 7,117,110,105, 50, 54, 66, 48, 7,117,110,105, 50, 54, 66, 49, 7,117, +110,105, 50, 56, 48, 48, 7,117,110,105, 70, 66, 48, 48, 7,117,110,105, 70, 66, 48, 51, 7,117,110,105, 70, 66, 48, 52, 7,117, +110,105, 70, 66, 48, 53, 7,117,110,105, 70, 66, 48, 54, 7,117,110,105, 70, 66, 49, 51, 7,117,110,105, 70, 66, 49, 52, 7,117, +110,105, 70, 66, 49, 53, 7,117,110,105, 70, 66, 49, 54, 7,117,110,105, 70, 66, 49, 55, 7,117,110,105, 70, 70, 70, 68, 9,100, +108, 76,116, 99, 97,114,111,110, 8, 68,105,101,114,101,115,105,115, 5, 65, 99,117,116,101, 5, 84,105,108,100,101, 5, 71,114, + 97,118,101, 10, 67,105,114, 99,117,109,102,108,101,120, 5, 67, 97,114,111,110, 12,117,110,105, 48, 51, 49, 49, 46, 99, 97,115, +101, 5, 66,114,101,118,101, 9, 68,111,116, 97, 99, 99,101,110,116, 12, 72,117,110,103, 97,114,117,109,108, 97,117,116, 11, 68, +111,117, 98,108,101, 97, 99,117,116,101, 11,117,110,105, 48, 51, 48, 56, 48, 51, 48, 52, 11,117,110,105, 48, 51, 48, 52, 48, 51, + 48, 56, 11,117,110,105, 48, 51, 48, 55, 48, 51, 48, 52, 11,117,110,105, 48, 51, 48, 56, 48, 51, 48, 49, 11,117,110,105, 48, 51, + 48, 56, 48, 51, 48, 48, 11,117,110,105, 48, 51, 48, 52, 48, 51, 48, 49, 11,117,110,105, 48, 51, 48, 52, 48, 51, 48, 48, 11,117, +110,105, 48, 51, 48, 51, 48, 51, 48, 52, 11,117,110,105, 48, 51, 48, 56, 48, 51, 48, 67, 11,117,110,105, 48, 51, 48, 51, 48, 51, + 48, 56, 11,117,110,105, 48, 51, 48, 67, 48, 51, 48, 55, 11,117,110,105, 48, 51, 48, 51, 48, 51, 48, 49, 11,117,110,105, 48, 51, + 48, 50, 48, 51, 48, 49, 11,117,110,105, 48, 51, 48, 50, 48, 51, 48, 48, 11,117,110,105, 48, 51, 48, 50, 48, 51, 48, 51, 11,117, +110,105, 48, 51, 48, 54, 48, 51, 48, 51, 11,117,110,105, 48, 51, 48, 54, 48, 51, 48, 49, 11,117,110,105, 48, 51, 48, 54, 48, 51, + 48, 48, 11,117,110,105, 48, 51, 48, 54, 48, 51, 48, 57, 11,117,110,105, 48, 51, 48, 50, 48, 51, 48, 57, 0, 0, 0, 2, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 20,108, 0, 0, 0, 16, 0, 0, 0, 7, 0, 1, 0, 2, 0, 0, 0, 1,255,255,255,255, + 0, 1, 0, 3, 0, 0, 0, 0,255,255,255,254, 0, 1, 0, 2, 0, 0, 0, 1,255,255,255,255, 0, 1, 0, 3, 0, 0, 0, 0, +255,255,255,254, 0, 1, 0, 4, 0, 0, 0, 2,255,255,255,255, 0, 1, 0, 5, 0, 0, 0, 0,255,255,255,253, 0, 1, 0, 4, + 0, 0, 0, 2,255,255,255,255, 0, 1, 0, 5, 0, 0, 0, 0,255,255,255,253, 0, 1, 0, 4, 0, 0, 0, 2,255,255,255,255, + 0, 1, 0, 5, 0, 0, 0, 0,255,255,255,253, 0, 2, 0, 2, 0, 0, 0, 4,255,255,255,255, 0, 2, 0, 0, 0, 0, 0, 0, +255,255,255,251, 0, 11, 0, 2, 0, 0, 0, 8,255,255,255,255, 0, 11, 0, 0, 0, 0, 0, 0,255,255,255,247, 0, 0, 0, 0, +255,255,255,255,255,255,255,255, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,176, 64, 0, 0, 1, 0, 0, 0, 4, + 0, 0, 0, 6, 0, 0, 0, 20, 0, 0, 0,242, 0, 0, 1, 34, 0, 0, 1, 98, 0, 4, 0, 6, 0, 10, 0, 48, 0, 3, 0, 12, + 2, 92, 2, 72, 0, 78, 2, 97, 2, 94, 0,120, 2,104, 2,100, 0,128, 2,110, 2,107, 0,138, 2,123, 2,113, 0,146, 2,138, + 2,129, 0,168, 2,140, 2,140, 0,188, 2,154, 2,142, 0,190, 4,123, 4,123, 0,216, 5,253, 5,252, 0,218,255,255,255,255, + 0, 0, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, + 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, + 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, + 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, + 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 4, 0, 5, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 2, 0, 0, 0, 1, 0, 2, 0, 3, 0, 3, 0, 4, 0, 3, 0, 5, 0, 4, 0, 6, 0, 6, 0, 7, 0, 6, 0, 5, + 0, 7, 0, 0, 0, 0,255,255,255,255, 0, 2,128, 0,255,255, 0, 0, 0, 1, 0, 0,255,255,255,255, 0, 0, 0, 0, 0, 1, +255,255, 0, 2, 0, 0,255,255,255,255, 0, 3,128, 0,255,255, 0, 2, 0, 0, 0, 0, 0, 3,255,255, 0, 3, 0, 0,255,255, +255,255, 0, 0, 0, 16, 0, 0, 0, 28, 0, 0, 0, 40, 0, 0, 0, 52, 0, 4, 0, 6, 0, 0, 0, 0,255,255, 0, 0, 0, 4, + 0, 6, 0, 0, 0, 0,255,255, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0,255,255, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0,255,255, + 0, 0, 0, 0, 0, 0, 4, 52, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 22, 0, 0, 0, 28, 0, 0, 0,160, 0, 0, 2,132, + 0, 0, 3, 38, 0, 0, 3,186, 0, 0, 4, 4, 0, 4, 0, 6, 0, 13, 0, 48, 0, 3, 0, 30, 0, 3, 0, 3, 0, 96, 0, 17, + 0, 17, 0, 98, 0, 41, 0, 41, 0,100, 0, 81, 0, 81, 0,102, 0,114, 0,114, 0,104, 2, 21, 2, 21, 0,106, 2, 73, 2, 73, + 0,108, 2, 76, 2, 75, 0,110, 2, 80, 2, 78, 0,114, 2, 83, 2, 82, 0,120, 2,112, 2,111, 0,124, 5,159, 5,159, 0,128, + 5,162, 5,162, 0,130,255,255,255,255, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, + 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 6, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 5, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 3, 0, 4, 0, 7, 0, 8, + 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, 0, 5, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 17, + 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 18, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 19, 0, 0, 0, 3, 0, 4, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 2, 0, 0, 0, 20, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 5, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 6, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, + 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 23, 0, 22, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 5, 0, 24, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, + 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 25, 0, 26, 0, 0, 0, 0, 0, 0, 0, 2,128, 0, 0, 0, + 0, 3,128, 0, 0, 0, 0, 5,128, 0, 0, 0, 0, 6,128, 0, 0, 0, 0, 7,128, 0, 0, 0, 0, 9,128, 0, 0, 0, 0, 0, +160, 0, 0, 0, 0, 0,160, 0, 0, 2, 0, 0,160, 0, 0, 4, 0, 0,160, 0, 0, 6, 0, 0,160, 0, 0, 8, 0, 0,160, 0, + 0, 10, 0, 0,160, 0, 0, 12, 0, 0,160, 0, 0, 14, 0, 0,160, 0, 0, 16, 0, 0,160, 0, 0, 18, 0, 4,128, 0, 0, 0, + 0, 0,160, 0, 0, 20, 0, 0,160, 0, 0, 23, 0, 0,160, 0, 0, 25, 0, 8,128, 0, 0, 0, 0, 0, 96, 0, 0, 27, 0, 0, +160, 0, 0, 29, 0, 10,128, 0, 0, 0, 0, 0, 96, 0, 0, 32, 0, 0,160, 0, 0, 34, 63,255,253,183,191,255,255,254, 63,255, +253,183,128, 0, 0, 0, 63,255,253,184,128, 0, 0, 2, 63,255,253,184,128, 0, 0, 4, 63,255,253,185,128, 0, 0, 6, 63,255, +253,186,128, 0, 0, 8, 63,255,253,186,128, 0, 0, 10, 63,255,253,187,128, 0, 0, 12, 63,255,253,161,128, 0, 0, 14, 63,255, +253,162,128, 0, 0, 16, 0, 0, 0, 3, 0, 0, 0, 4,128, 0, 0, 5, 63,255,255,238,191,255,255,166, 63,255,255,200,191,255, +254, 5, 63,255,250,124,191,255,250,125, 63,255,250,126, 63,255,250,127,191,255,250,128, 63,255,250,126,191,255,250,127, 63,255, +250,128, 63,255,250,129,191,255,250,130, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, + 0, 5, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 12, + 0, 0, 0, 13, 0, 0, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 16, 0,118, 2, 53, 0,113, 2, 49, 2, 50, 0,106, + 2, 51, 2, 54, 0,122, 2, 52, 5,155, 6, 3, 1, 11, 5,160, 5,161, 5,163, 5,164, 0, 0, 0, 0, 0,144, 0, 0, 0, 2, + 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 28, 0, 0, 0, 62, 0, 0, 0, 98, 0, 0, 0,116, 0, 0, 0,124, 0, 0, 0,128, + 0, 4, 0, 6, 0, 2, 0, 12, 0, 1, 0, 0, 4, 86, 4, 86, 0, 30, 4,115, 4,115, 0, 32,255,255,255,255, 0, 0, 0, 4, + 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2,128, 0, 0, 0, 0, 0,160, 0, 0, 0, 63,255,251,141,191,255,251,171, + 0, 0, 0, 0, 4,120, 0, 0, 0, 0, 1, 48, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 10, 0, 0, 0, 28, 0, 0, 0, 94, + 0, 0, 0,174, 0, 0, 0,222, 0, 0, 1, 6, 0, 0, 1, 26, 0, 4, 0, 6, 0, 6, 0, 24, 0, 2, 0, 12, 4, 86, 4, 86, + 0, 54, 4, 92, 4, 92, 0, 56, 4, 94, 4, 94, 0, 58, 4,101, 4,101, 0, 60, 4,103, 4,103, 0, 62, 4,111, 4,111, 0, 64, +255,255,255,255, 0, 0, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3, 0, 4, 0, 5, 0, 1, 0, 6, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, + 0, 2, 0, 0, 0, 0, 0, 0, 0, 2,128, 0, 0, 0, 0, 3,128, 0, 0, 0, 0, 0,160, 0, 0, 0, 0, 0,160, 0, 0, 2, + 0, 0,160, 0, 0, 4, 0, 0,160, 0, 0, 6, 0, 0,160, 0, 0, 8, 63,255,251,170,191,255,251,156, 63,255,251,166,191,255, +251,158, 63,255,251,166,191,255,251,160, 63,255,251,159,191,255,251,162, 63,255,251,161,191,255,251,154, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 6,126, 6,127, 6,129, 6,125, 6,128, 0, 0, 4,228, 0, 0, 0, 2, + 0, 0, 0, 2, 0, 0, 0, 23, 0, 0, 0, 28, 0, 0, 0,162, 0, 0, 3, 84, 0, 0, 3,246, 0, 0, 4,122, 0, 0, 4,188, + 0, 4, 0, 6, 0, 13, 0, 48, 0, 3, 0, 30, 0, 18, 0, 18, 0, 96, 0, 36, 0, 36, 0, 98, 0, 41, 0, 40, 0,100, 0, 48, + 0, 47, 0,104, 0, 55, 0, 53, 0,108, 0, 59, 0, 59, 0,114, 0, 68, 0, 68, 0,116, 0, 70, 0, 70, 0,118, 0, 73, 0, 73, + 0,120, 0, 76, 0, 76, 0,122, 0, 79, 0, 79, 0,124, 0, 82, 0, 82, 0,126, 0, 88, 0, 86, 0,128,255,255,255,255, 0, 0, + 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 3, 0, 4, + 0, 0, 0, 5, 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 3, 0, 4, 0, 0, 0, 5, 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 3, 0, 4, 0, 0, 0, 5, + 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 2, 0, 3, 0, 4, 0, 10, 0, 5, 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 3, 0, 4, 0, 0, 0, 5, 0, 6, 0, 7, + 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 12, + 0, 2, 0, 3, 0, 4, 0, 0, 0, 5, 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 13, 0, 1, 0, 0, 0, 0, 0, 2, 0, 3, 0, 4, 0, 0, 0, 5, 0, 6, 0, 7, 0, 0, 0, 0, + 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 14, 0, 0, 0, 2, 0, 3, + 0, 4, 0, 0, 0, 5, 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 3, 0, 4, 0, 0, 0, 5, 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 3, 0, 4, 0, 0, + 0, 5, 0, 16, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 2, 0, 3, 0, 4, 0, 0, 0, 5, 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 3, 0, 4, 0, 0, 0, 5, 0, 6, + 0, 7, 0, 0, 0, 0, 0, 18, 0, 8, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 2, 0, 3, 0, 4, 0, 0, 0, 5, 0, 6, 0, 20, 0, 21, 0, 22, 0, 0, 0, 8, 0, 0, 0, 0, 0, 23, 0, 23, + 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 23, 0, 24, + 0, 25, 0, 23, 0, 23, 0, 23, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, + 0, 3, 0, 4, 0, 0, 0, 5, 0, 6, 0, 7, 0, 0, 0, 0, 0, 0, 0, 8, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, +128, 0, 0, 0, 0, 4,128, 0, 0, 0, 0, 5,128, 0, 0, 0, 0, 6,128, 0, 0, 0, 0, 8,128, 0, 0, 0, 0, 10,128, 0, + 0, 0, 0, 12,128, 0, 0, 0, 0, 14,128, 0, 0, 0, 0, 3,128, 0, 0, 0, 0, 0,160, 0, 0, 0, 0, 0,160, 0, 0, 3, + 0, 0,160, 0, 0, 5, 0, 7,128, 0, 0, 0, 0, 0,160, 0, 0, 7, 0, 9,128, 0, 0, 0, 0, 0,160, 0, 0, 10, 0, 11, +128, 0, 0, 0, 0, 0,160, 0, 0, 13, 0, 0,160, 0, 0, 16, 0, 13,128, 0, 0, 0, 0, 0,160, 0, 0, 19, 0, 0,160, 0, + 0, 21, 0, 0, 96, 0, 0, 23, 0, 0,160, 0, 0, 25, 0, 0,160, 0, 0, 28, 0, 0,160, 0, 0, 31, 63,255,255,197, 63,255, +255,221,191,255,255,217, 63,255,255,173,191,255,255,207, 63,255,255,213,191,255,255,208, 63,255,255,216, 63,255,255,224,191,255, +255,210, 63,255,255,196, 63,255,255,249,191,255,255,200, 63,255,255,187, 63,255,255,252,191,255,255,201, 63,255,255,184, 63,255, +255,255,191,255,255,204, 63,255,255,199,191,255,255,203, 63,255,255,198,191,255,255,205, 63,255,255,206,191,255,255,207, 63,255, +255,205, 63,255,255,209,191,255,255,210, 63,255,255,205, 63,255,255,212,191,255,255,213, 63,255,255,200,191,255,255,202, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 5, 0, 0, + 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 11, 0, 0, 0, 12, + 6, 25, 5,241, 6, 14, 6, 15, 5,254, 6, 1, 6, 2, 6,119, 6,120, 6,118, 6,121, 6,122, 6,124, 0, 0, 0, 0, 0,220, + 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0, 28, 0, 0, 0, 62, 0, 0, 0,110, 0, 0, 0,152, 0, 0, 0,184, + 0, 0, 0,200, 0, 4, 0, 6, 0, 2, 0, 12, 0, 1, 0, 0, 0, 4, 0, 4, 0, 30, 0, 34, 0, 34, 0, 32,255,255,255,255, + 0, 0, 0, 4, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 6, 0, 0, 0, 0, 0, 0, 0, 2,128, 0, + 0, 0, 0, 3,128, 0, 0, 0, 0, 0,160, 0, 0, 0, 0, 0,160, 0, 0, 2, 0, 0,160, 0, 0, 4, 0, 0,160, 0, 0, 6, + 63,255,255,252,191,255,255,253, 63,255,255,224,191,255,255,255, 0, 0, 0, 0,191,255,255,227, 63,255,255,228,191,255,255,229, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 5,169, 5,182, 5,181, 5,180, 0, 0, 6, 56, 0, 0, 0, 2, + 0, 0, 0, 8, 0, 0, 0, 14, 0, 0, 0, 28, 0, 0, 0, 84, 0, 0, 2,132, 0, 0, 3,182, 0, 0, 5, 46, 0, 0, 5,234, + 0, 4, 0, 6, 0, 3, 0, 12, 0, 1, 0, 6, 0, 18, 0, 18, 0, 36, 0, 27, 0, 20, 0, 38, 5,177, 5,177, 0, 54,255,255, +255,255, 0, 0, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 2, 0, 3, 0, 4, 0, 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 0, 2, 0, 3, + 0, 4, 0, 5, 0, 0, 0, 6, 0, 0, 0, 8, 0, 9, 0, 9, 0, 9, 0, 9, 0, 9, 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, + 0, 14, 0, 9, 0, 15, 0, 9, 0, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, 0, 16, + 0, 22, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 0, 0, 6, 0, 0, 0, 24, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 25, 0, 4, 0, 26, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 27, 0, 4, 0, 28, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 29, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 0, 0, 6, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 2, 0, 3, 0, 31, 0, 32, 0, 0, 0, 6, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 3, + 0, 34, 0, 35, 0, 0, 0, 6, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, + 0, 0, 0, 6, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 39, 0, 0, 0, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 40, 0, 0, 0, 6, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 0, 0, 6, 0, 0, 0, 42, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 43, 0, 6, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 45, 0, 6, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 1, + 0, 2, 0, 3, 0, 4, 0, 5, 0, 0, 0, 6, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 3, + 0, 4, 0, 5, 0, 0, 0, 6, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, + 0, 0, 0, 6, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,128, 0, 0, 0, 0, 5,128, 0, 0, 0, 0, 8,128, 0, 0, 0, + 0, 11,128, 0, 0, 0, 0, 14,128, 0, 0, 0, 0, 17,128, 0, 0, 0, 0, 4,128, 0, 0, 0, 0, 3,128, 0, 0, 0, 0, 0, + 96, 0, 0, 0, 0, 0,160, 0, 0, 2, 0, 0,160, 0, 0, 5, 0, 0,160, 0, 0, 8, 0, 0,160, 0, 0, 11, 0, 0,160, 0, + 0, 14, 0, 0,160, 0, 0, 17, 0, 0, 96, 0, 0, 20, 0, 0,160, 0, 0, 22, 0, 0,160, 0, 0, 25, 0, 0,160, 0, 0, 28, + 0, 0,160, 0, 0, 31, 0, 0,160, 0, 0, 34, 0, 0,160, 0, 0, 37, 0, 7,128, 0, 0, 0, 0, 6,128, 0, 0, 0, 0, 0, +160, 0, 0, 40, 0, 0,160, 0, 0, 43, 0, 0,160, 0, 0, 46, 0, 0,160, 0, 0, 49, 0, 10,128, 0, 0, 0, 0, 9,128, 0, + 0, 0, 0, 0,160, 0, 0, 52, 0, 0,160, 0, 0, 55, 0, 0,160, 0, 0, 58, 0, 0,160, 0, 0, 61, 0, 0,160, 0, 0, 64, + 0, 0,160, 0, 0, 67, 0, 13,128, 0, 0, 0, 0, 12,128, 0, 0, 0, 0, 0,160, 0, 0, 70, 0, 0,160, 0, 0, 73, 0, 16, +128, 0, 0, 0, 0, 15,128, 0, 0, 0, 0, 0,160, 0, 0, 76, 0, 0,160, 0, 0, 79, 0, 0,160, 0, 0, 82, 0, 0,160, 0, + 0, 85, 0, 19,128, 0, 0, 0, 0, 18,128, 0, 0, 0, 0, 0,160, 0, 0, 88, 0, 0,160, 0, 0, 91, 63,255,250, 79,191,255, +255,237, 63,255,255,237, 63,255,250, 82,191,255,255,240, 63,255,255,239, 63,255,250, 85,191,255,255,243, 63,255,255,241, 63,255, +250, 88,191,255,255,246, 63,255,255,243, 63,255,250, 91,191,255,255,249, 63,255,255,245, 63,255,250, 94,191,255,255,252, 63,255, +255,246, 63,255,250, 97,191,255,255,255, 0, 0, 0, 2,128, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 5,128, 0, 0, 4, 0, 0, + 0, 3, 0, 0, 0, 8,128, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 11,128, 0, 0, 10, 0, 0, 0, 7, 0, 0, 0, 14,128, 0, + 0, 13, 0, 0, 0, 9, 0, 0, 0, 17,128, 0, 0, 16, 0, 0, 0, 10, 0, 0, 0, 20,128, 0, 0, 19, 0, 0, 0, 18, 63,255, +250,120,128, 0, 0, 21, 0, 0, 0, 19, 63,255,250,123,128, 0, 0, 24, 0, 0, 0, 24, 0, 0, 0, 29,128, 0, 0, 27, 0, 0, + 0, 25, 0, 0, 0, 32,128, 0, 0, 30, 0, 0, 0, 29, 63,255,250,132,128, 0, 0, 32, 0, 0, 0, 31, 63,255,250,135,128, 0, + 0, 35, 0, 0, 0, 31, 63,255,250,138,128, 0, 0, 38, 0, 0, 0, 38, 0, 0, 0, 44,128, 0, 0, 41, 0, 0, 0, 40, 0, 0, + 0, 47,128, 0, 0, 44, 0, 0, 0, 40, 0, 0, 0, 50,128, 0, 0, 47, 0, 0, 0, 46, 63,255,250,150,128, 0, 0, 49, 0, 0, + 0, 49, 0, 0, 0, 56,128, 0, 0, 52, 0, 0, 0, 51, 63,255,250,156,128, 0, 0, 54, 0, 0, 0, 52, 63,255,250,159,128, 0, + 0, 57, 0, 0, 0, 57, 0, 0, 0, 65,128, 0, 0, 60, 0, 0, 0, 58, 0, 0, 0, 68,128, 0, 0, 63, 0, 0, 0, 61, 63,255, +250,168,128, 0, 0, 64, 0, 0, 0, 64, 0, 0, 0, 74,128, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, + 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, + 0, 0, 0, 8, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, + 0, 13, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 18, + 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 23, 0, 0, + 0, 0, 0, 24, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, + 0, 29, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 31, 6, 39, 0,127, 6, 27, 0,126, 6, 29, 6, 33, 6, 35, 6, 39, 0,127, + 6, 27, 0,126, 6, 29, 6, 33, 6, 35, 6, 28, 6, 30, 6, 28, 6, 30, 0,128, 6, 31, 6, 36, 0,128, 6, 31, 6, 36, 6, 32, + 6, 32, 6, 34, 6, 37, 6, 34, 6, 37, 6, 38, 6, 38, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 60, 0, 0, 1, 0, 0, 1, 0, 2, 0, 0, 0, 64, 0, 0, 1, 1, 0, 2, 0, 1, 0, 0, 0, 72,192, 0, 1, 2, + 0, 11, 0, 1, 0, 0, 0, 76,192, 0, 1, 3, 0, 0, 1, 4, 0, 2, 1, 5, 0, 4, 1, 6, 0, 2, 1, 7, 0, 2, 1, 8, + 0, 2, 0, 0, 0, 1, 0, 0, 0, 2, 0, 6, 0, 97, 1,128, 0, 6, 0,198, 0, 3, 0, 3, 0, 10, 0, 5, 0, 4, 0, 11, + 0, 8, 0, 6, 0, 5, 0, 10, 0, 9, 0, 11, 0, 11, 0, 11, 17, 11, 0, 12, 0, 12, 31, 11, 0, 13, 0, 13, 0, 11, 0, 14, + 0, 14, 0, 4, 0, 15, 0, 15, 0, 7, 0, 16, 0, 16, 0, 4, 0, 18, 0, 17, 0, 7, 0, 28, 0, 19, 0, 3, 0, 29, 0, 29, + 0, 7, 0, 30, 0, 30, 0, 11, 0, 31, 0, 31, 18, 11, 0, 32, 0, 32, 0, 11, 0, 33, 0, 33, 30, 11, 0, 35, 0, 34, 0, 11, + 0, 62, 0, 62, 18, 11, 0, 63, 0, 63, 0, 11, 0, 64, 0, 64, 30, 11, 0, 67, 0, 65, 0, 11, 0, 94, 0, 94, 18, 11, 0, 95, + 0, 95, 0, 11, 0, 96, 0, 96, 30, 11, 0, 97, 0, 97, 0, 11, 0, 98, 0, 98, 0, 7, 0, 99, 0, 99, 0, 11, 0,103, 0,100, + 0, 5, 0,107, 0,104, 0, 11, 0,113, 0,109, 0, 11, 0,115, 0,114, 0, 5, 0,117, 0,116, 0, 3, 0,118, 0,118, 0, 11, + 0,122, 0,120, 0, 11, 0,123, 0,123, 0, 3, 0,129, 0,125, 0, 11, 0,153, 0,153, 0, 11, 0,185, 0,185, 0, 11, 2, 19, + 2, 18, 0, 11, 2, 40, 2, 27, 0, 11, 2, 56, 2, 43, 0, 11, 2, 68, 2, 62, 0, 11, 2, 71, 2, 70, 0, 11, 2,154, 2, 72, +128, 11, 2,156, 2,155, 0, 11, 2,160, 2,157,128, 11, 2,162, 2,161, 0, 11, 2,166, 2,164, 0, 11, 2,168, 2,168, 0, 11, + 3, 19, 3, 19, 0, 11, 3,163, 3,160,128, 11, 3,165, 3,164, 0, 11, 4,122, 4,122, 0, 11, 4,123, 4,123, 0, 7, 5,116, + 5,114, 0, 11, 5,127, 5,117, 0, 10, 5,130, 5,128, 0, 11, 5,132, 5,131, 0, 10, 5,156, 5,133, 0, 11, 5,161, 5,157, + 0, 5, 5,165, 5,162, 0, 11, 5,166, 5,166, 17, 11, 5,167, 5,167, 31, 11, 5,176, 5,168, 0, 11, 5,177, 5,177, 0, 7, + 5,178, 5,178, 17, 11, 5,179, 5,179, 31, 11, 5,203, 5,180, 0, 11, 5,204, 5,204, 0, 3, 5,211, 5,206, 0, 3, 5,213, + 5,212, 0, 4, 5,214, 5,214, 0, 11, 5,215, 5,215, 17, 11, 5,216, 5,216, 31, 11, 5,227, 5,218, 0, 3, 5,229, 5,228, + 0, 4, 5,230, 5,230, 0, 11, 5,231, 5,231, 17, 11, 5,232, 5,232, 31, 11, 5,251, 5,233, 0, 5, 5,253, 5,252,128, 11, + 6, 3, 5,254, 0, 11, 6, 10, 6, 8, 0, 11, 6, 16, 6, 13, 0, 11, 6, 18, 6, 18, 0, 11, 6, 21, 6, 21, 0, 5, 6, 22, + 6, 22, 0, 11, 6, 39, 6, 25, 0, 11, 6, 86, 6, 76, 0, 11, 6, 87, 6, 87, 0, 4, 6, 88, 6, 88, 0, 5, 6,102, 6, 89, + 0, 11, 6,103, 6,103, 17, 11, 6,104, 6,104, 31, 11, 6,116, 6,105, 0, 11, 6,130, 6,130, 0, 1,255,255,255,255, 0, 0, +}; diff --git a/source/blender/editors/datafiles/bmonofont.ttf.c b/source/blender/editors/datafiles/bmonofont.ttf.c index 26a45e76756..36f50403da2 100644 --- a/source/blender/editors/datafiles/bmonofont.ttf.c +++ b/source/blender/editors/datafiles/bmonofont.ttf.c @@ -3,3524 +3,9047 @@ */ /* DataToC output of file */ -int datatoc_bmonofont_ttf_size= 117072; +int datatoc_bmonofont_ttf_size= 309588; char datatoc_bmonofont_ttf[]= { - 0, 1, 0, 0, 0, 14, 0,128, 0, 3, 0, 96, 79, 83, 47, 50, -160,203,149,192, 0, 0, 1,104, 0, 0, 0, 96, 99,109, 97,112,233,125, 86, 20, 0, 0, 8,208, 0, 0, 7, 54, 99,118,116, 32, - 68,157, 77,114, 0, 0, 25,144, 0, 0, 2, 16,102,112,103,109,115,211, 35,176, 0, 0, 16, 8, 0, 0, 7, 5,103, 97,115,112, - 0, 4, 0, 7, 0, 1,201, 68, 0, 0, 0, 12,103,108,121,102,251,142, 20,149, 0, 0, 34,168, 0, 1,130,142,104,101, 97,100, -234, 37, 61,215, 0, 0, 0,236, 0, 0, 0, 54,104,104,101, 97, 11, 91, 2,150, 0, 0, 1, 36, 0, 0, 0, 36,104,109,116,120, -248,204,244, 91, 0, 0, 1,200, 0, 0, 7, 6,108,111, 99, 97,245, 66,148,216, 0, 0, 27,160, 0, 0, 7, 6,109, 97,120,112, - 5,235, 2,119, 0, 0, 1, 72, 0, 0, 0, 32,110, 97,109,101,123,244,226, 39, 0, 1,165, 56, 0, 0, 6,204,112,111,115,116, -216, 80,169, 40, 0, 1,172, 4, 0, 0, 29, 63,112,114,101,112, 65,189,218,130, 0, 0, 23, 16, 0, 0, 2,126, 0, 1, 0, 0, - 0, 1, 0, 0,136, 63, 64,110, 95, 15, 60,245, 0, 11, 8, 0, 0, 0, 0, 0,193,199,233, 84, 0, 0, 0, 0,197, 83, 9, 61, -254,200,253,213, 5, 35, 8,115, 0, 0, 0, 9, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 7,109,254, 29, 0, 0, 4,205, -254,200,255,170, 5, 35, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 3,130, 0,144, - 0, 18, 0, 82, 0, 5, 0, 2, 0, 16, 0, 47, 0, 90, 0, 0, 1,228, 1, 99, 0, 3, 0, 1, 0, 3, 4,205, 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, 9, 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, 0, 4,205, 0,193, 0, 0, 0, 0, - 0, 0, 1,231, 1, 29, 0, 45, 0,182, 0, 0, 0, 61, 1,240, 1, 39, 1, 41, 0,133, 0,152, 1,184, 1, 29, 1,207, 0,211, - 0,147, 0,225, 0,158, 0,131, 0, 61, 0,172, 0,154, 0,143, 0,156, 0,154, 1,231, 1,154, 0,152, 0,152, 0,152, 0,168, - 0, 31, 0, 33, 0,135, 0,129, 0,135, 0,217, 0,244, 0,117, 0,135, 0,225, 0,137, 0,211, 0,233, 0,113, 0,135, 0, 84, - 0,176, 0, 84, 0,186, 0,141, 0,102, 0,125, 0, 33, 0, 2, 0, 53, 0, 33, 0,102, 1,156, 0,211, 1, 33, 0,111,255,240, - 1,162, 0,135, 0,158, 0,172, 0,137, 0,133, 0,156, 0,102, 0,160, 0,197, 0,135, 0,215, 0,188, 0, 92, 0,160, 0,115, - 0,158, 0,137, 1, 8, 0,203, 0,139, 0,160, 0, 82,255,252, 0, 96, 0, 82, 0,182, 0,225, 2, 27, 0,227, 0,152, 0, 0, - 1,231, 0,172, 0,119, 0,174, 0, 78, 2, 27, 0,244, 1, 74, 0, 6, 1, 20, 0,197, 0,152, 1, 29, 0, 6,255,236, 1, 43, - 0,152, 1, 92, 1, 86, 1,162, 0,180, 0, 66, 1,231, 1,172, 1,111, 1, 25, 0,197, 0, 22, 0, 3, 0, 21, 0,168, 0, 33, - 0, 33, 0, 33, 0, 33, 0, 33, 0, 33, 0, 0, 0,129, 0,217, 0,217, 0,217, 0,217, 0,225, 0,225, 0,225, 0,225, 0, 0, - 0,135, 0, 84, 0, 84, 0, 84, 0, 84, 0, 84, 0,190, 0, 80, 0,125, 0,125, 0,125, 0,125, 0, 33, 0,176, 0,164, 0,135, - 0,135, 0,135, 0,135, 0,135, 0,135, 0, 45, 0,172, 0,133, 0,133, 0,133, 0,133, 0,197, 0,197, 0,197, 0,197, 0,135, - 0,160, 0,115, 0,115, 0,115, 0,115, 0,115, 0,152, 0,115, 0,160, 0,160, 0,160, 0,160, 0, 82, 0,158, 0, 82, 0, 33, - 0,135, 0, 33, 0,135, 0, 33, 0,135, 0,129, 0,172, 0,129, 0,172, 0,129, 0,172, 0,129, 0,172, 0,135, 0, 79, 0, 0, - 0,137, 0,217, 0,133, 0,217, 0,133, 0,217, 0,133, 0,217, 0,133, 0,217, 0,133, 0,117, 0,102, 0,117, 0,102, 0,117, - 0,102, 0,117, 0,102, 0,135, 0,160, 0, 0, 0, 4, 0,225, 0,197, 0,225, 0,197, 0,225, 0,197, 0,225, 0,197, 0,225, - 0,197, 0,156, 0,188, 0,137, 0,135, 0,211, 0,215, 0,215, 0,233, 0,188, 0,233, 0,188, 0,233, 0,188, 0,233, 0,188, - 0, 72, 0,188, 0,135, 0,160, 0,135, 0,160, 0,135, 0,160,255,240, 0,135, 0,160, 0, 84, 0,115, 0, 84, 0,115, 0, 84, - 0,115, 0, 20, 0, 57, 0,186, 1, 8, 0,186, 0,187, 0,186, 1, 8, 0,141, 0,203, 0,141, 0,203, 0,141, 0,203, 0,141, - 0,203, 0,102, 0,139, 0,102, 0,139, 0,102, 0,139, 0,125, 0,160, 0,125, 0,160, 0,125, 0,160, 0,125, 0,160, 0,125, - 0,160, 0,125, 0,160, 0, 2,255,252, 0, 33, 0, 82, 0, 33, 0,102, 0,182, 0,102, 0,182, 0,102, 0,182, 1,100, 0,215, - 0, 33, 0,135, 0, 0, 0, 45, 0, 80, 0,115, 0,141, 0,203, 1, 27, 1, 27, 1, 70, 1, 57, 1,252, 1,131, 1,158, 0,254, - 0,246, 1,223, 1, 43, 0, 33, 1,231,255,142,255,101,255,163,255,124,255, 19,255,122, 0,241, 0, 33, 0,135, 0,246, 0, 68, - 0,217, 0,102, 0,135, 0, 84, 0,225, 0,211, 0, 33, 0,113, 0,135, 0,111, 0, 84, 0,135, 0,176, 0,131, 0,102, 0, 33, - 0, 27, 0, 53, 0, 57, 0, 74, 0,225, 0, 33, 0,121, 0,201, 0,160, 1,172, 0,160, 0,121, 0,158, 0, 82, 0,135, 0,201, - 0,162, 0,160, 0,147, 1,172, 0,215, 0, 61, 0,160, 0, 61, 0,172, 0,115, 0, 14, 0,158, 0,172, 0,129, 0,106, 0,160, - 0, 74, 0, 43, 0, 80, 0, 90, 1, 3, 0,160, 0,115, 0,160, 0, 90, 0,217, 0, 23, 0,246, 0,129, 0,141, 0,225, 0,225, - 0,137, 0, 0, 0, 66, 0, 23, 0,211, 0, 27, 0,135, 0, 33, 0,135, 0,135, 0,246, 0, 6, 0,217, 0, 0, 0,139, 0,137, - 0,137, 0,211, 0, 4, 0,113, 0,135, 0, 84, 0,135, 0,176, 0,129, 0,102, 0, 27, 0, 27, 0, 53, 0,135, 0,135, 0,121, - 0, 61, 0, 27, 0, 96, 0,176, 0, 68, 0, 98, 0, 57, 0,135, 0,143, 0,176, 1, 35, 0, 33, 0,133, 0, 0, 0,201, 0,160, - 0,160, 0,215, 0, 31, 0,115, 0,160, 0,115, 0,160, 0,158, 0,172, 0,121, 0, 82, 0, 74, 0, 96, 0,152, 0,152, 0,125, - 0,109, 0, 43, 0,113, 0,217, 0,184, 0,123, 0,115, 0,133, 0, 4, 1, 35, 0,172, 0,203, 0,197, 0,197, 0,135, 0, 0, - 0,106, 0, 4, 0,215, 0, 82, 0,160, 0,246, 1, 35, 0, 2,255,252, 0, 2,255,252, 0, 2,255,252, 0, 33, 0, 82, 0,184, -255,250,255,250,255,236, 1,190, 1,190, 1,201, 1,190, 0,233, 0,233, 0,244, 0,240, 0,229, 1,123, 0, 78, 0, 4, 1,240, - 1, 29, 1,145, 1,145, 0,255, 0,170, 1, 61, 0,129, 0,119, 0, 82, 0, 96, 0, 8, 0,227, 0, 25, 0, 0, 0, 74, 0, 82, - 0, 18, 0, 11, 0, 24, 0, 28, 0,121, 0, 74, 0,156, 0, 74, 0,152, 0, 23, 0, 70, 0,236, 0,152, 0,152, 0,152, 0,152, - 0,125, 0, 49, 0, 49, 0,231, 0,135, 1,238, 1,227, 1,227, 1, 57, 1, 37, 1, 80, 1, 57, 1,111, 1, 49, 1, 57, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 4, 0,135, 1,190, - 0, 10, 0, 31, 0, 18, 0,113, 0, 92, 0, 33, 0,135,254,200, 1,131, 1, 45, 0, 66, 0, 66, 0, 84, 0,115, 0,125, 0,160, - 1,162, 1,162, 0,254, 1,172, 1,252, 0,217, 0,137, 0,133, 0,160, 0, 82,255,252, 0, 20, 0, 20, 0, 98, 0,160, 0, 0, - 0, 61, 0, 98, 0,123, 0, 0, 0, 10, 0, 92, 0,123, 0,117, 0,143, 0, 57, 0, 80, 0, 84, 0,115, 0, 63, 0, 82, 0, 63, - 0, 82, 0, 70, 0, 80, 0, 84, 0,115, 0, 82, 0, 88, 0, 82,255,252, 0,129, 0,172, 0, 94, 0,242, 0,242, 1,225, 1,225, - 0, 41, 0, 41, 0,137, 0,178, 0, 47, 0, 61, 0,176, 0,158, 0,147, 0,135, 0,160, 0,215, 0, 0, 0, 0, 0,139, 0,201, - 0,211, 0,215, 0,211, 0,215, 0, 59, 0, 59, 0, 23, 0, 43, 0,135, 0,160, 0,135, 0,160, 0,106, 0,127, 0, 84, 0,115, - 0,129, 0,172, 0,102, 0,121, 0, 33, 0, 82, 0, 33, 0, 82, 0, 53, 0, 96, 0, 23, 0, 20, 0,135, 0,152, 0,135, 0,152, - 0,135, 0,168,255,248,255,213,255,248,255,213, 0,225, 0, 0, 0, 0, 0,135, 0,215, 0, 4, 0, 31, 0,135, 0,160, 0,135, - 0,160, 0,135, 0,152, 0,113, 0,115, 0,225, 0, 33, 0,135, 0, 33, 0,135, 0, 0, 0, 45, 0,217, 0,133, 0, 84, 0,133, - 0, 84, 0,133, 0, 0, 0, 0, 0,139, 0,201, 0,158, 0,170, 0,137, 0,160, 0,137, 0,160, 0, 84, 0,115, 0, 84, 0,115, - 0, 84, 0,115, 0, 68, 0,184, 0, 27, 0, 82, 0, 27, 0, 82, 0, 27, 0, 82, 0,135, 0,152, 1, 43, 1, 35, 0, 96, 0,113, - 0,147, 0,135, 0, 53, 0, 96, 0, 53, 0, 96, 0,137, 0,137, 0, 49, 0, 49, 0, 35, 0, 43, 0, 39, 0, 80, 0, 0, 0, 0, - 0,121, 0,123, 0,117, 0,113, 0, 20, 0, 41, 0,166, 0,201, 0, 4, 0, 31, 0, 33, 0,135, 0, 33, 0,135, 0, 33, 0,135, - 0, 33, 0, 85, 0, 33, 0,135, 0, 33, 0,135, 0, 33, 0,135, 0, 33, 0,135, 0, 33, 0,135, 0, 33, 0,135, 0, 33, 0,135, - 0, 33, 0,135, 0,217, 0,133, 0,217, 0,133, 0,217, 0,133, 0,217, 0,133, 0, 89, 0, 76, 0,217, 0,133, 0,217, 0,133, - 0,217, 0,133, 0,225, 0,197, 0,225, 0,197, 0, 84, 0,115, 0, 84, 0,115, 0, 84, 0,115, 0, 74, 0, 74, 0, 84, 0,115, - 0, 84, 0,115, 0, 84, 0,115, 0, 84, 0,115, 0, 84, 0,115, 0, 84, 0,115, 0, 84, 0,115, 0, 84, 0,115, 0,125, 0,160, - 0,125, 0,160, 0,125, 0,160, 0,125, 0,160, 0,125, 0,160, 0,125, 0,160, 0,125, 0,160, 0, 33, 0, 82, 0, 33, 0, 82, - 0, 33, 0, 82, 0,137, 0,205, 0,188, 0,188, 0,221, 1, 35, 1, 57, 1, 57, 1, 57, 1, 35, 1,199, 1,178, 1,178, 0, 0, - 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 28, 0, 1, 0, 0, 0, 0, 5, 42, 0, 3, 0, 1, 0, 0, 0, 28, 0, 4, 5, 14, - 0, 0, 0,134, 0,128, 0, 6, 0, 6, 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,134, 5, 19, 30, 1, - 30, 63, 30,133, 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,136, 30, 0, 30, 62, 30,128, 30,160, 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, 0, 0,228, 88,228, 24,227,122, 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, 86, 1, 98, 0, 0, 0, 0, 0, 0, 2,114, 0, 0, 0, 0, 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, 8, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,230, 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, - 1,168, 1,169, 1,170, 1,171, 1,172, 1,173, 1,174, 1,175, 1,176, 1,177, 1,178, 1,179, 1,180, 1,181, 1,182, 1,183, - 1,184, 1,185, 1,186, 1,187, 1,188, 1,189, 1,190, 1,191, 1,192, 1,193, 1,194, 1,195, 1,196, 1,197, 1,198, 1,199, - 1,200, 1,201, 1,202, 1,203, 1,204, 1,205, 1,206, 1,207, 1,208, 1,209, 1,210, 1,211, 1,212, 1,213, 1,214, 1,215, - 1,216, 1,217, 1,218, 1,219, 1,220, 1,221, 1,222, 1,223, 1,224, 1,225, 1,226, 1,227, 1,228, 1,229, 1,230, 1,231, - 1,232, 1,233, 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,108, 2,109, 2,110, 2,111, 2,112, 2,113, 2,114, 2,115, 2,116, 2,117, 2,118, 2,119, 2,120, 2,121, - 2,122, 2,123, 2,124, 2,125, 2,126, 2,127, 2,128, 2,129, 2,130, 2,131, 2,132, 2,133, 2,134, 2,135, 2,136, 2,137, - 2,138, 2,139, 2,140, 2,141, 2,142, 2,143, 2,144, 2,145, 2,146, 2,147, 2,148, 2,149, 2,150, 2,151, 2,152, 2,153, - 2,154, 1,248, 1,249, 2,155, 2,156, 2,157, 2,158, 2,159, 2,160, 2,161, 2,162, 2,163, 2,164, 2,165, 2,166, 2,167, - 2,168, 2,169, 2,170, 2,171, 2,172, 2,173, 2,174, 2,175, 2,176, 2,177, 2,178, 2,179, 2,180, 2,181, 2,182, 2,183, - 2,184, 2,185, 2,186, 2,187, 2,188, 2,189, 2,190, 2,191, 2,192, 2,193, 2,194, 2,195, 2,196, 2,197, 2,198, 2,199, - 2,200, 2,201, 2,202, 2,203, 2,204, 2,205, 2,206, 2,207, 2,208, 2,209, 2,210, 2,211, 2,212, 2,213, 2,214, 2,215, - 2,216, 2,217, 2,218, 2,219, 2,220, 2,221, 2,222, 2,223, 2,224, 2,225, 2,226, 2,227, 2,228, 2,229, 2,230, 2,231, - 2,232, 2,233, 2,234, 2,235, 2,236, 2,237, 2,238, 2,239, 2,240, 2,241, 2,242, 2,243, 2,244, 2,245, 2,246, 2,247, - 2,248, 2,249, 2,250, 2,251, 2,252, 2,253, 2,254, 2,255, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3, 7, - 3, 8, 3, 9, 3, 10, 3, 11, 3, 12, 3, 13, 3, 14, 3, 15, 3, 16, 3, 17, 3, 18, 3, 19, 3, 20, 3, 21, 3, 22, 3, 23, - 3, 24, 3, 25, 3, 26, 3, 27, 3, 28, 3, 29, 3, 30, 3, 31, 3, 32, 3, 33, 3, 34, 3, 35, 3, 36, 3, 37, 3, 38, 3, 39, - 3, 40, 3, 41, 3, 42, 3, 43, 3, 44, 3, 45, 3, 46, 3, 47, 3, 48, 3, 49, 3, 50, 3, 51, 3, 52, 3, 53, 3, 54, 3, 55, - 3, 56, 3, 57, 3, 58, 3, 59, 3, 60, 3, 61, 3, 62, 3, 63, 3, 64, 3, 65, 3, 66, 3, 67, 3, 68, 3, 69, 3, 70, 3, 71, - 3, 72, 3, 73, 3, 74, 3, 75, 3, 76, 3, 77, 3, 78, 3, 79, 3, 80, 3, 81, 3, 82, 3, 83, 3, 84, 3, 85, 3, 86, 3, 87, - 3, 88, 3, 89, 3, 90, 3, 91, 3, 92, 3, 93, 3, 94, 3, 95, 3, 96, 3, 97, 3, 98, 3, 99, 3,100, 3,101, 3,102, 3,103, - 3,104, 3,105, 3,106, 3,107, 3,108, 3,109, 3,110, 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, 12, 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, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 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, 0,102, 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, 0, 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, 21,248, 3,255, 31,241,111, 26, 31, 47,239,111,239, 2,230,228, 51, 31,229,228, 25, 31,184, 1, 0, 64, 16, 51,255, 85,223, - 51,221, 85,222, 51, 3, 85,176,255,208,255, 2,184,255,192, 64,104,255, 9, 17, 70, 0,221, 32,221,112,221, 3,221, 1, 3, 85, -220, 3,255, 31,214,213, 51, 31,211,210, 25, 31,135,210, 1,254,194, 25, 31, 6,186, 22,186,230,186,246,186, 4, 15,178, 31,178, - 47,178, 3, 64,178, 15, 19, 70,167,177, 1,175, 83, 25, 31,174,173, 25, 31,172, 74, 25, 31,171,170, 25, 31,169, 3,255, 31,158, -157, 25, 31, 31,157, 1,112,156,128,156,144,156,208,156,224,156,240,156, 6, 15,153, 1,151,152, 1,184,255,248, 64, 56,152, 9, - 15, 70, 32,151,128,151,144,151,240,151, 4,169,150,185,150, 2, 56,150, 1,240,149, 1,191,149, 1, 32,149, 48,149, 64,149,128, -149,144,149,160,149, 6,148,146, 25, 31,147, 83, 25, 31, 15,146, 1,133, 71, 25, 31,197,189, 1, 7, 0, 1, 0,166, 1, 7, 0, -182, 1, 7,178, 2, 3,128,186, 1, 7, 0,144, 1, 7, 64,168, 2,118,117, 25, 31,116, 80, 25, 31,115, 80, 25, 31,111, 72, 25, - 31,110, 71, 25, 31, 26, 1, 24, 85, 25, 19,255, 31, 7, 4,255, 31, 6, 3,255, 31, 97, 96, 25, 31,101, 96, 1,100, 95, 1,255, -251, 1,239,251, 1,121,251, 1, 63,251, 79,251, 2, 24,250, 18, 24, 70, 79,250, 95,250,111,250, 3,212, 91,228, 91, 2, 91, 90, - 16, 31, 57, 90, 1, 6, 90, 1, 6, 19, 51, 18, 85, 5, 1, 3, 85, 4, 51, 3, 85, 15, 3,127, 3,239, 3, 3,224,253, 1,223, -253, 1, 81, 80, 25, 31, 15,252,191,252,207,252,223,252, 4, 3, 64,252, 12, 16, 70, 73, 70, 25, 31, 96, 72, 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,184, 1, 6, 64, 30, 27, 18, 31, -159, 15,223, 15, 2,207, 15,239, 15, 2,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, 9, 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,115,116, 43, 43, 43, 43, 43, 43, 43, 1, 95,115,115, 43, 43, 95,115, - 0, 43,115,115,115, 43, 43, 43, 1, 95,115,115, 43,115,115, 43,115,115,115,115, 0,115,115, 43, 43, 43, 43, 43, 1, 43, 43, 0, - 43, 43, 43,115, 95,115,115, 1, 43, 0,115, 43, 43, 1,115,115,115,115,115,115, 43,115,115, 0,115,115, 43, 43, 1, 43, 43, 0, - 43, 43, 1,115, 0, 43,115,115, 43, 1,115, 43, 0, 43, 43, 43,115, 43,115, 43, 43, 43, 43, 43,115, 1, 43, 0, 43, 24, 0, 0, - 6, 20, 0, 11, 0, 81, 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, 20, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 18, 1, 0, 0, 4, 0, 32, 70, 70, 84, 77, 76,195, 13,197, + 0, 0, 1, 44, 0, 0, 0, 28, 71, 68, 69, 70,107,171,118, 72, 0, 0, 1, 72, 0, 0, 0,174, 71, 80, 79, 83, 85,176, 56, 58, + 0, 0, 1,248, 0, 0, 53,184, 71, 83, 85, 66, 11, 72,224,153, 0, 0, 55,176, 0, 0, 4,240, 79, 83, 47, 50,135,252,137,178, + 0, 0, 60,160, 0, 0, 0, 86, 99,109, 97,112,173,161, 29,196, 0, 0, 60,248, 0, 0, 20,198, 99,118,116, 32,233,151, 7, 12, + 0, 0, 81,192, 0, 0, 2, 48,102,112,103,109, 91, 2,107,223, 0, 0, 83,240, 0, 0, 0,172,103, 97,115,112, 0, 7, 0, 7, + 0, 0, 84,156, 0, 0, 0, 12,103,108,121,102, 94, 39,215, 74, 0, 0, 84,168, 0, 3,133, 48,104,101, 97,100,233, 47, 44,226, + 0, 3,217,216, 0, 0, 0, 54,104,104,101, 97, 8,183, 2, 7, 0, 3,218, 16, 0, 0, 0, 36,104,109,116,120,224, 90,223, 8, + 0, 3,218, 52, 0, 0, 23,172,108,111, 99, 97, 19,189,108,128, 0, 3,241,224, 0, 0, 47, 76,109, 97,120,112, 17,120, 9,216, + 0, 4, 33, 44, 0, 0, 0, 32,110, 97,109,101, 96,229,233,137, 0, 4, 33, 76, 0, 0, 33, 21,112,111,115,116,106, 10,163,233, + 0, 4, 66,100, 0, 0,111,212,112,114,101,112, 58,199,192, 7, 0, 4,178, 56, 0, 0, 7, 27, 0, 0, 0, 1, 0, 0, 0, 0, +196, 21,105, 4, 0, 0, 0, 0,196, 86,210, 96, 0, 0, 0, 0,196, 86,210, 96, 0, 1, 0, 0, 0, 12, 0, 0, 0,166, 0, 0, + 0, 2, 0, 25, 0, 3, 2,123, 0, 1, 2,124, 2,141, 0, 3, 2,142, 2,142, 0, 1, 2,143, 2,149, 0, 3, 2,150, 2,151, + 0, 1, 2,152, 2,156, 0, 3, 2,157, 2,158, 0, 1, 2,159, 2,163, 0, 3, 2,164, 2,164, 0, 1, 2,165, 2,173, 0, 3, + 2,174, 2,180, 0, 1, 2,181, 2,186, 0, 3, 2,187, 2,187, 0, 1, 2,188, 2,188, 0, 3, 2,189, 4, 3, 0, 1, 4, 4, + 4, 15, 0, 3, 4, 16, 4,100, 0, 1, 4,101, 4,101, 0, 3, 4,102, 4,103, 0, 1, 4,104, 4,117, 0, 3, 4,118, 10,148, + 0, 1, 10,149, 10,150, 0, 2, 10,151, 11, 98, 0, 1, 11, 99, 11,106, 0, 2, 11,107, 11,209, 0, 1, 0, 4, 0, 0, 0, 2, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 10, 0,164, 0,236, 0, 6, 97,114, 97, 98, 0, 38, 99,121,114,108, 0, 52,100,102,108,116, + 0, 70,103,114,101,107, 0, 80,108, 97,111, 32, 0, 92,108, 97,116,110, 0,106, 0, 4, 0, 0, 0, 0,255,255, 0, 2, 0, 0, + 0, 3, 0, 10, 0, 1, 83, 82, 66, 32, 0, 10, 0, 0,255,255, 0, 1, 0, 1, 0, 4, 0, 0, 0, 0,255,255, 0, 0, 0, 4, + 0, 0, 0, 0,255,255, 0, 1, 0, 1, 0, 4, 0, 0, 0, 0,255,255, 0, 2, 0, 2, 0, 4, 0, 40, 0, 6, 73, 83, 77, 32, + 0, 40, 75, 83, 77, 32, 0, 40, 76, 83, 77, 32, 0, 40, 78, 83, 77, 32, 0, 40, 83, 75, 83, 32, 0, 40, 83, 83, 77, 32, 0, 40, + 0, 0,255,255, 0, 1, 0, 1, 0, 5,109, 97,114,107, 0, 32,109, 97,114,107, 0, 44,109, 97,114,107, 0, 52,109,107,109,107, + 0, 58,114,116, 98,100, 0, 66, 0, 0, 0, 4, 0, 2, 0, 3, 0, 4, 0, 5, 0, 0, 0, 2, 0, 6, 0, 7, 0, 0, 0, 1, + 0, 8, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 9, 0, 10, 0, 22, 0, 30, 0, 38, 0, 46, 0, 54, 0, 62, 0, 70, + 0, 80, 0, 88, 0, 96, 0, 6, 0, 1, 0, 1, 0, 82, 0, 6, 0, 1, 0, 1, 0,120, 0, 5, 0, 1, 0, 1, 0,192, 0, 4, + 0, 1, 0, 1, 1,154, 0, 5, 0, 1, 0, 1, 9,118, 0, 4, 0, 1, 0, 1, 10,152, 0, 4, 0, 0, 0, 2, 18,114, 27, 2, + 0, 1, 0, 0, 0, 1, 49,196, 0, 4, 0, 0, 0, 1, 49,236, 0, 1, 0, 8, 0, 1, 52, 84, 0, 1, 0, 28, 0, 22, 0, 1, + 0, 34, 0, 12, 0, 1, 0, 4, 0, 1, 2,112,253,228, 0, 1, 0, 1, 4, 14, 0, 1, 0, 1, 4, 9, 0, 1, 0, 0, 0, 6, + 0, 1, 2,104, 0, 0, 0, 1, 0, 38, 0, 30, 0, 1, 0, 48, 0, 12, 0, 2, 0, 6, 0, 12, 0, 1, 2, 99, 7, 34, 0, 1, + 2, 99, 6,224, 0, 1, 0, 2, 4, 10, 4, 13, 0, 1, 0, 3, 4, 7, 4, 8, 4, 11, 0, 3, 0, 0, 0, 14, 0, 0, 0, 20, + 0, 0, 0, 26, 0, 1, 2, 93, 4,106, 0, 1, 2, 93, 4,106, 0, 1, 2, 98, 4,106, 0, 1, 0,184, 0,174, 0, 1, 0,194, + 0, 12, 0, 8, 0, 18, 0, 36, 0, 54, 0, 72, 0, 90, 0,108, 0,126, 0,144, 0, 2, 0, 6, 0, 12, 0, 1, 3,224, 0, 80, + 0, 1, 3,124, 0, 72, 0, 2, 0, 6, 0, 12, 0, 1, 3, 48,255,224, 0, 1, 2,172,255,220, 0, 2, 0, 6, 0, 12, 0, 1, + 3,224, 0, 80, 0, 1, 3,124, 0, 72, 0, 2, 0, 6, 0, 12, 0, 1, 3, 60,255,136, 0, 1, 2, 80,255,132, 0, 2, 0, 6, + 0, 12, 0, 1, 3,168, 0, 44, 0, 1, 1, 32,253,220, 0, 2, 0, 6, 0, 12, 0, 1, 3, 84,255, 96, 0, 1, 1, 12,253,220, + 0, 2, 0, 6, 0, 12, 0, 1, 3,224, 0, 80, 0, 1, 3,124, 0, 72, 0, 2, 0, 6, 0, 12, 0, 1, 2, 12,255,164, 0, 1, + 3, 16, 0, 32, 0, 2, 0, 1, 11, 99, 11,106, 0, 0, 0, 1, 0, 3, 4, 6, 4, 9, 4, 14, 0, 3, 0, 0, 0, 14, 0, 0, + 0, 20, 0, 0, 0, 26, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 7,186, 7,110, 0, 1, + 7,196, 0, 12, 0,236, 1,218, 1,224, 1,230, 1,236, 1,242, 1,248, 1,254, 2, 4, 2, 10, 2, 16, 2, 22, 2, 28, 2, 34, + 2, 40, 2, 46, 2, 52, 2, 58, 2, 64, 2, 70, 2, 76, 2, 82, 2, 88, 2, 94, 2,100, 2,106, 2,112, 2,118, 2,124, 2,130, + 2,136, 2,142, 2,148, 2,154, 2,160, 2,166, 2,172, 2,178, 2,184, 2,190, 2,196, 2,202, 2,208, 2,214, 2,220, 2,226, + 2,232, 2,238, 2,244, 2,250, 3, 0, 3, 6, 3, 12, 3, 18, 3, 24, 3, 30, 3, 36, 3, 42, 3, 48, 3, 54, 3, 60, 3, 66, + 3, 72, 3, 78, 3, 84, 3, 90, 3, 96, 3,102, 3,108, 3,114, 3,120, 3,126, 3,132, 3,138, 3,144, 3,150, 3,156, 3,162, + 3,168, 3,174, 3,180, 3,186, 3,192, 3,198, 3,204, 3,210, 3,216, 3,222, 3,228, 3,234, 3,240, 3,246, 3,252, 4, 2, + 4, 8, 4, 14, 4, 20, 4, 26, 4, 32, 4, 38, 4, 44, 4, 50, 4, 56, 4, 62, 4, 68, 4, 74, 4, 80, 4, 86, 4, 92, 4, 98, + 4,104, 4,110, 4,116, 4,122, 4,128, 4,134, 4,140, 4,146, 4,152, 4,158, 4,164, 4,170, 4,176, 4,182, 4,188, 4,194, + 4,200, 4,206, 4,212, 4,218, 4,224, 4,230, 4,236, 4,242, 4,248, 4,254, 5, 4, 5, 10, 5, 16, 5, 22, 5, 28, 5, 34, + 5, 40, 5, 46, 5, 52, 5, 58, 5, 64, 5, 70, 5, 76, 5, 82, 5, 88, 5, 94, 5,100, 5,106, 5,112, 5,118, 5,124, 5,130, + 5,136, 5,142, 5,148, 5,154, 5,160, 5,166, 5,172, 5,178, 5,184, 5,190, 5,196, 5,202, 5,208, 5,214, 5,220, 5,226, + 5,232, 5,238, 5,244, 5,250, 6, 0, 6, 6, 6, 12, 6, 18, 6, 24, 6, 30, 6, 36, 6, 42, 6, 48, 6, 54, 6, 60, 6, 66, + 6, 72, 6, 78, 6, 84, 6, 90, 6, 96, 6,102, 6,108, 6,114, 6,120, 6,126, 6,132, 6,138, 6,144, 6,150, 6,156, 6,162, + 6,168, 6,174, 6,180, 6,186, 6,192, 6,198, 6,204, 6,210, 6,216, 6,222, 6,228, 6,234, 6,240, 6,246, 6,252, 7, 2, + 7, 8, 7, 14, 7, 20, 7, 26, 7, 32, 7, 38, 7, 44, 7, 50, 7, 56, 7, 62, 7, 68, 7, 74, 7, 80, 7, 86, 7, 92, 0, 1, + 2, 88, 0, 0, 0, 1, 2,100,253,223, 0, 1, 1,212, 2,124, 0, 1, 2,100,255,178, 0, 1, 2,104,254,136, 0, 1, 2, 48, +255, 96, 0, 1, 2,116,255, 88, 0, 1, 2,116,255, 88, 0, 1, 1,252,253,204, 0, 1, 2, 12,253,208, 0, 1, 2, 60,253,183, + 0, 1, 2, 8,255,124, 0, 1, 2, 8,255,140, 0, 1, 2, 48,253,224, 0, 1, 2, 48,253,236, 0, 1, 2,104,254, 76, 0, 1, + 2,160,254,132, 0, 1, 3, 40,254,220, 0, 1, 3, 32,254,192, 0, 1, 1, 84,255,112, 0, 1, 1,108,255,120, 0, 1, 2,144, +253,204, 0, 1, 2,136,253,208, 0, 1, 2, 96,255,120, 0, 1, 2, 60,255, 68, 0, 1, 2, 40,254, 68, 0, 1, 1,252,255,100, + 0, 1, 2, 20,254,124, 0, 1, 2,116,255, 88, 0, 1, 2, 76,254, 92, 0, 1, 2, 56,255, 40, 0, 1, 2, 80,253,220, 0, 1, + 2, 64,254,180, 0, 1, 2, 64,253,224, 0, 1, 2,116,255, 88, 0, 1, 2,116,255, 88, 0, 1, 2, 52,253,232, 0, 1, 2,120, +253,208, 0, 1, 2,116,255, 88, 0, 1, 2, 96,253,224, 0, 1, 2,116,255, 88, 0, 1, 2,100,253,236, 0, 1, 2, 68,253,216, + 0, 1, 1,244,253,208, 0, 1, 2, 12,253,231, 0, 1, 2, 52,253,220, 0, 1, 2, 52,253,224, 0, 1, 2, 88,253,220, 0, 1, + 2, 72,253,224, 0, 1, 2, 46,253,228, 0, 1, 2, 69,253,223, 0, 1, 2, 17,253,227, 0, 1, 1,212,255, 68, 0, 1, 2, 53, +255,106, 0, 1, 2, 84,255,106, 0, 1, 2, 8,254,110, 0, 1, 2, 96,255, 95, 0, 1, 2, 80,253,220, 0, 1, 2, 13,254,112, + 0, 1, 2, 13,254,112, 0, 1, 2,105,253,168, 0, 1, 2, 70,253,168, 0, 1, 2, 87,253,218, 0, 1, 2, 87,253,218, 0, 1, + 2,133,253,168, 0, 1, 2, 64,253,168, 0, 1, 2, 84,253,218, 0, 1, 2, 81,253,218, 0, 1, 2, 88,253,168, 0, 1, 2, 58, +253,168, 0, 1, 2, 66,253,218, 0, 1, 2, 96,253,218, 0, 1, 2,130,255,106, 0, 1, 2, 76,255,106, 0, 1, 2, 91,255,155, + 0, 1, 2, 90,255,156, 0, 1, 2, 91,255,106, 0, 1, 2, 73,255,106, 0, 1, 2, 87,255,156, 0, 1, 2, 84,255,156, 0, 1, + 2, 76,255,106, 0, 1, 2, 52,255,106, 0, 1, 2, 75,255,156, 0, 1, 2, 93,255,156, 0, 1, 1,212,255, 76, 0, 1, 1,148, +255, 64, 0, 1, 1,244,255,106, 0, 1, 2, 86,255,106, 0, 1, 1,224,255, 56, 0, 1, 1,136,255, 56, 0, 1, 1,244,255,106, + 0, 1, 2, 98,255,106, 0, 1, 2,116,253,168, 0, 1, 2, 92,253,168, 0, 1, 1,172,254, 12, 0, 1, 2, 88,254, 12, 0, 1, + 2, 84,253,168, 0, 1, 2, 72,253,168, 0, 1, 1,132,255, 6, 0, 1, 2, 88,255, 6, 0, 1, 2, 84,253,168, 0, 1, 2, 56, +253,167, 0, 1, 1,184,253,228, 0, 1, 2, 88,254, 12, 0, 1, 2,104,253,168, 0, 1, 2,100,253,168, 0, 1, 1,196,253,228, + 0, 1, 2, 88,254, 12, 0, 1, 1,244,254, 12, 0, 1, 1,244,254, 12, 0, 1, 1,244,254, 12, 0, 1, 1,244,254, 12, 0, 1, + 2, 63,255,106, 0, 1, 1,198,255,106, 0, 1, 1, 44,255,106, 0, 1, 1, 44,255,106, 0, 1, 2, 84,255, 95, 0, 1, 1,238, +255,106, 0, 1, 1, 44,255,106, 0, 1, 1, 44,255,106, 0, 1, 2, 84,255,100, 0, 1, 2, 84,255,100, 0, 1, 1,184,255,100, + 0, 1, 2, 16,255,100, 0, 1, 2, 76,254,112, 0, 1, 1,152,254,112, 0, 1, 2, 79,254,162, 0, 1, 2, 91,254,162, 0, 1, + 2,192, 0, 28, 0, 1, 2,100,253,216, 0, 1, 2,204,253,216, 0, 1, 2, 24,255,128, 0, 1, 2,100,255, 88, 0, 1, 2,100, +255,120, 0, 1, 2,176,255, 88, 0, 1, 2,100,254,104, 0, 1, 2, 28,254,104, 0, 1, 2, 68,254,140, 0, 1, 2, 88,254,140, + 0, 1, 2, 44,255, 76, 0, 1, 2,108,255,132, 0, 1, 2,108,255,132, 0, 1, 2, 84,255,112, 0, 1, 2, 60,255,132, 0, 1, + 2, 88,255,124, 0, 1, 2,108,255,132, 0, 1, 2, 72,255,128, 0, 1, 2, 72,255,124, 0, 1, 2, 84,255,116, 0, 1, 2, 0, +253,144, 0, 1, 2, 0,253,144, 0, 1, 2, 8,254,136, 0, 1, 2, 12,254,108, 0, 1, 2, 0,253,144, 0, 1, 2, 0,253,144, + 0, 1, 1, 60,255,132, 0, 1, 1, 84,255,112, 0, 1, 2, 0,253,144, 0, 1, 2, 0,253,144, 0, 1, 1,124,255,128, 0, 1, + 1, 68,255, 92, 0, 1, 2, 56,255, 92, 0, 1, 2, 56,255, 92, 0, 1, 2, 56,255, 92, 0, 1, 2, 56,255, 92, 0, 1, 1,188, +253,192, 0, 1, 1,140,253,189, 0, 1, 1,188,253,192, 0, 1, 1,156,253,188, 0, 1, 1,152,254, 12, 0, 1, 1, 88,254, 16, + 0, 1, 1, 44,255,108, 0, 1, 1, 16,255,100, 0, 1, 1, 92,254, 28, 0, 1, 1, 9,254, 24, 0, 1, 1, 44,255,108, 0, 1, + 1, 44,255,108, 0, 1, 1,120,254, 20, 0, 1, 1, 68,254, 17, 0, 1, 1, 44,255,108, 0, 1, 1, 44,255,108, 0, 1, 1, 76, +254, 16, 0, 1, 1, 32,254, 24, 0, 1, 1, 44,255,108, 0, 1, 1, 4,255,108, 0, 1, 0,240,255,108, 0, 1, 0,216,255,108, + 0, 1, 0,240,255,108, 0, 1, 0,208,255,112, 0, 1, 0,240,255,108, 0, 1, 0,208,255,104, 0, 1, 0,240,255,108, 0, 1, + 0,220,255,108, 0, 1, 1,122,253,215, 0, 1, 1,122,253,215, 0, 1, 1,224,255,147, 0, 1, 2, 94,255,141, 0, 1, 1,122, +253,215, 0, 1, 1,122,253,215, 0, 1, 1,146,255,159, 0, 1, 2, 94,255,159, 0, 1, 2, 94,255, 45, 0, 1, 2,100,255, 15, + 0, 1, 1,158,255,117, 0, 1, 2,106,255,129, 0, 1, 1,224,254, 25, 0, 1, 1,224,253,185, 0, 1, 1, 56,255,141, 0, 1, + 2,106,255,129, 0, 1, 2, 58,255, 75, 0, 1, 1,218,255, 81, 0, 1, 0,216,255,129, 0, 1, 0,162,255, 93, 0, 1, 2, 88, +254,109, 0, 1, 1,254,254, 97, 0, 1, 2,100,255,135, 0, 1, 2,106,255,117, 0, 1, 3, 18,255,117, 0, 1, 2,172,254,163, + 0, 1, 2, 70,255, 21, 0, 1, 2, 88,255, 39, 0, 1, 1,254,254, 85, 0, 1, 1,194,253,197, 0, 1, 2, 64,255,129, 0, 1, + 2, 76,255,123, 0, 1, 2, 82,255, 75, 0, 1, 2, 82,255,111, 0, 1, 1,176,255, 39, 0, 1, 2, 16,253,210, 0, 1, 2, 76, +253,233, 0, 1, 2, 4,253,209, 0, 1, 2, 46,254,145, 0, 1, 2, 28,253,173, 0, 1, 1,146,253,188, 0, 1, 2, 58,254,139, + 0, 1, 2, 82,254,133, 0, 2, 0, 12, 3,223, 3,223, 0, 0, 3,227, 4, 3, 0, 1, 4, 33, 4, 50, 0, 34, 4, 52, 4, 55, + 0, 52, 4, 57, 4, 60, 0, 56, 10,151, 10,210, 0, 60, 10,213, 10,216, 0,120, 10,219, 10,222, 0,124, 10,238, 10,238, 0,128, + 10,245, 10,246, 0,129, 10,249, 11, 93, 0,131, 11, 95, 11, 98, 0,232, 0, 1, 0, 3, 4, 6, 4, 9, 4, 14, 0, 3, 0, 0, + 0, 14, 0, 0, 0, 20, 0, 0, 0, 26, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 0,184, + 0,174, 0, 1, 0,206, 0, 12, 0, 8, 0, 18, 0, 36, 0, 54, 0, 72, 0, 90, 0,108, 0,126, 0,144, 0, 2, 0, 6, 0, 12, + 0, 1, 3,156, 6,104, 0, 1, 0,147, 7, 53, 0, 2, 0, 6, 0, 12, 0, 1, 3,156, 6,104, 0, 1, 0, 91, 7, 25, 0, 2, + 0, 6, 0, 12, 0, 1, 3,156, 6,104, 0, 1, 0,155, 7,246, 0, 2, 0, 6, 0, 12, 0, 1, 3, 84, 6,108, 0, 1, 0, 43, + 7,250, 0, 2, 0, 6, 0, 12, 0, 1, 3,156, 6,104, 0, 1, 0,223, 5,221, 0, 2, 0, 6, 0, 12, 0, 1, 3,156, 6,104, + 0, 1, 0,223, 5,221, 0, 2, 0, 6, 0, 12, 0, 1, 3,156, 6,104, 0, 1, 0,223, 5,221, 0, 2, 0, 6, 0, 12, 0, 1, + 3, 92, 6,104, 0, 1, 0,159, 5,221, 0, 2, 0, 1, 11, 99, 11,106, 0, 0, 0, 1, 0, 9, 4, 4, 4, 5, 4, 7, 4, 8, + 4, 10, 4, 11, 4, 12, 4, 13, 4, 15, 0, 9, 0, 0, 0, 38, 0, 0, 0, 44, 0, 0, 0, 50, 0, 0, 0, 56, 0, 0, 0, 62, + 0, 0, 0, 68, 0, 0, 0, 74, 0, 0, 0, 80, 0, 0, 0, 86, 0, 1, 2, 93, 4,106, 0, 1, 2, 93, 4,106, 0, 1, 2, 93, + 4,106, 0, 1, 2, 93, 4,106, 0, 1, 2, 93, 4,106, 0, 1, 2, 98, 4,106, 0, 1, 2, 93, 4,106, 0, 1, 2, 93, 4,106, + 0, 1, 2,104, 4,176, 0, 1, 7,112, 7, 30, 0, 1, 7,134, 0, 12, 0,226, 1,198, 1,204, 1,210, 1,216, 1,222, 1,228, + 1,234, 1,240, 1,246, 1,252, 2, 2, 2, 8, 2, 14, 2, 20, 2, 26, 2, 32, 2, 38, 2, 44, 2, 50, 2, 56, 2, 62, 2, 68, + 2, 74, 2, 80, 2, 86, 2, 92, 2, 98, 2,104, 2,110, 2,116, 2,122, 2,128, 2,134, 2,140, 2,146, 2,152, 2,158, 2,164, + 2,170, 2,176, 2,182, 2,188, 2,194, 2,200, 2,206, 2,212, 2,218, 2,224, 2,230, 2,236, 2,242, 2,248, 2,254, 3, 4, + 3, 10, 3, 16, 3, 22, 3, 28, 3, 34, 3, 40, 3, 46, 3, 52, 3, 58, 3, 64, 3, 70, 3, 76, 3, 82, 3, 88, 3, 94, 3,100, + 3,106, 3,112, 3,118, 3,124, 3,130, 3,136, 3,142, 3,148, 3,154, 3,160, 3,166, 3,172, 3,178, 3,184, 3,190, 3,196, + 3,202, 3,208, 3,214, 3,220, 3,226, 3,232, 3,238, 3,244, 3,250, 4, 0, 4, 6, 4, 12, 4, 18, 4, 24, 4, 30, 4, 36, + 4, 42, 4, 48, 4, 54, 4, 60, 4, 66, 4, 72, 4, 78, 4, 84, 4, 90, 4, 96, 4,102, 4,108, 4,114, 4,120, 4,126, 4,132, + 4,138, 4,144, 4,150, 4,156, 4,162, 4,168, 4,174, 4,180, 4,186, 4,192, 4,198, 4,204, 4,210, 4,216, 4,222, 4,228, + 4,234, 4,240, 4,246, 4,252, 5, 2, 5, 8, 5, 14, 5, 20, 5, 26, 5, 32, 5, 38, 5, 44, 5, 50, 5, 56, 5, 62, 5, 68, + 5, 74, 5, 80, 5, 86, 5, 92, 5, 98, 5,104, 5,110, 5,116, 5,122, 5,128, 5,134, 5,140, 5,146, 5,152, 5,158, 5,164, + 5,170, 5,176, 5,182, 5,188, 5,194, 5,200, 5,206, 5,212, 5,218, 5,224, 5,230, 5,236, 5,242, 5,248, 5,254, 6, 4, + 6, 10, 6, 16, 6, 22, 6, 28, 6, 34, 6, 40, 6, 46, 6, 52, 6, 58, 6, 64, 6, 70, 6, 76, 6, 82, 6, 88, 6, 94, 6,100, + 6,106, 6,112, 6,118, 6,124, 6,130, 6,136, 6,142, 6,148, 6,154, 6,160, 6,166, 6,172, 6,178, 6,184, 6,190, 6,196, + 6,202, 6,208, 6,214, 6,220, 6,226, 6,232, 6,238, 6,244, 6,250, 7, 0, 7, 6, 7, 12, 0, 1, 2,152, 4,132, 0, 1, + 2,100, 8,116, 0, 1, 2,208, 5, 32, 0, 1, 1,204, 4,184, 0, 1, 2,104, 6,168, 0, 1, 2,100, 2,252, 0, 1, 2, 56, + 4,160, 0, 1, 2,124, 3,212, 0, 1, 2, 36, 4,160, 0, 1, 1,244, 4,124, 0, 1, 2, 4, 4, 96, 0, 1, 2, 4, 5, 72, + 0, 1, 1,208, 4, 76, 0, 1, 1,192, 5, 68, 0, 1, 2, 4, 2,252, 0, 1, 1,152, 4, 32, 0, 1, 2, 92, 3,240, 0, 1, + 1,220, 5,116, 0, 1, 1, 64, 3,184, 0, 1, 1, 52, 4, 72, 0, 1, 0,232, 6,184, 0, 1, 0,236, 6,212, 0, 1, 1,156, + 5, 40, 0, 1, 1,124, 5,244, 0, 1, 2, 88, 4, 84, 0, 1, 2,252, 5,132, 0, 1, 2,156, 5,248, 0, 1, 1,240, 5,204, + 0, 1, 3,144, 6,196, 0, 1, 2,152, 4, 40, 0, 1, 1,248, 4,108, 0, 1, 1,240, 3,240, 0, 1, 2,116, 3,188, 0, 1, + 2,172, 4, 60, 0, 1, 2,152, 4, 48, 0, 1, 2,124, 3,212, 0, 1, 2,188, 4,218, 0, 1, 2,111, 4,126, 0, 1, 1, 24, + 5,120, 0, 1, 1,174, 5,120, 0, 1, 3,234, 8, 52, 0, 1, 2, 95, 4, 96, 0, 1, 2,212, 4,196, 0, 1, 1,159, 3, 12, + 0, 1, 1,135, 4,144, 0, 1, 2,105, 3,232, 0, 1, 2, 70, 3,232, 0, 1, 2, 87, 3,232, 0, 1, 2, 87, 3,232, 0, 1, + 2,133, 3,232, 0, 1, 2, 64, 3,232, 0, 1, 2, 84, 3,232, 0, 1, 2, 84, 3,232, 0, 1, 2, 91, 3,232, 0, 1, 2, 58, + 3,232, 0, 1, 2, 66, 3,232, 0, 1, 2, 96, 3,232, 0, 1, 2,130, 4, 76, 0, 1, 2, 76, 4, 76, 0, 1, 2, 91, 5, 19, + 0, 1, 2, 90, 5, 20, 0, 1, 2, 91, 4,157, 0, 1, 2, 73, 4,175, 0, 1, 2, 87, 5, 20, 0, 1, 2, 84, 5, 20, 0, 1, + 2, 76, 4,226, 0, 1, 2, 52, 4,226, 0, 1, 2, 75, 5,170, 0, 1, 2, 93, 5,170, 0, 1, 1,144, 5,108, 0, 1, 1, 56, + 4,244, 0, 1, 1,244, 6, 64, 0, 1, 2, 94, 5,170, 0, 1, 1, 32, 5, 32, 0, 1, 1, 8, 4,228, 0, 1, 1,244, 6, 64, + 0, 1, 2, 98, 5,170, 0, 1, 1,210, 3,232, 0, 1, 1,186, 3,232, 0, 1, 1,172, 3,232, 0, 1, 2, 88, 3,232, 0, 1, + 1,178, 3,232, 0, 1, 1,166, 3,232, 0, 1, 1,132, 3,232, 0, 1, 2, 88, 3,232, 0, 1, 1,178, 3,232, 0, 1, 1,150, + 3,231, 0, 1, 1,184, 3,232, 0, 1, 2, 88, 3,232, 0, 1, 1,198, 3,232, 0, 1, 1,194, 3,232, 0, 1, 1,196, 3,232, + 0, 1, 2, 88, 3,232, 0, 1, 2,111, 4, 77, 0, 1, 2,188, 4,226, 0, 1, 2,170, 4,191, 0, 1, 2,152, 4,241, 0, 1, + 2, 33, 5, 84, 0, 1, 1,177, 5, 25, 0, 1, 1,255, 6, 14, 0, 1, 1,241, 6, 14, 0, 1, 1,140, 5,120, 0, 1, 0,243, + 5,120, 0, 1, 0,250, 6,164, 0, 1, 0,250, 6,164, 0, 1, 2, 84, 4,128, 0, 1, 2, 84, 4,128, 0, 1, 1,184, 4,128, + 0, 1, 2, 16, 4,128, 0, 1, 1,204, 3, 38, 0, 1, 1,148, 2,126, 0, 1, 2, 79, 3,232, 0, 1, 2, 91, 3,232, 0, 1, + 2,176, 4,184, 0, 1, 2, 12, 8,216, 0, 1, 2, 88, 8,224, 0, 1, 2,140, 5, 80, 0, 1, 2, 88, 5, 68, 0, 1, 1,128, + 4,216, 0, 1, 1, 28, 3,244, 0, 1, 2, 44, 5, 97, 0, 1, 2, 68, 5,102, 0, 1, 2, 92, 6,216, 0, 1, 2, 80, 6,232, + 0, 1, 2,104, 3, 60, 0, 1, 2, 16, 2,232, 0, 1, 2, 12, 3,200, 0, 1, 2, 92, 3,156, 0, 1, 2, 4, 4,200, 0, 1, + 2, 92, 4,216, 0, 1, 2, 92, 3,244, 0, 1, 2, 48, 4, 20, 0, 1, 2, 44, 4,196, 0, 1, 2, 48, 4,224, 0, 1, 2, 64, + 4,240, 0, 1, 2, 44, 5, 0, 0, 1, 2, 32, 5,100, 0, 1, 2, 32, 5, 96, 0, 1, 1,248, 4,128, 0, 1, 1,212, 4,124, + 0, 1, 1,116, 4, 76, 0, 1, 1, 96, 4, 48, 0, 1, 1,220, 4,164, 0, 1, 1,200, 4,176, 0, 1, 1, 48, 4,144, 0, 1, + 1,128, 4,132, 0, 1, 1,220, 5, 64, 0, 1, 1,216, 5, 92, 0, 1, 1, 32, 4,224, 0, 1, 1, 24, 4,220, 0, 1, 2, 12, + 4,172, 0, 1, 2, 4, 4,184, 0, 1, 2, 8, 5, 84, 0, 1, 2, 20, 5, 96, 0, 1, 2, 64, 3, 20, 0, 1, 1,180, 3, 16, + 0, 1, 1,148, 4, 76, 0, 1, 1, 56, 4,136, 0, 1, 2, 52, 4, 15, 0, 1, 1,206, 3,183, 0, 1, 2, 53, 3,222, 0, 1, + 1,243, 3,197, 0, 1, 1, 24, 5, 68, 0, 1, 0,180, 5, 56, 0, 1, 1, 48, 5, 72, 0, 1, 1, 12, 5, 60, 0, 1, 1, 68, + 3,140, 0, 1, 0,220, 3, 60, 0, 1, 1,200, 3,152, 0, 1, 1,120, 3,136, 0, 1, 1, 40, 4, 76, 0, 1, 0,208, 4, 88, + 0, 1, 1, 36, 4, 84, 0, 1, 0,212, 4,116, 0, 1, 0,240, 6,216, 0, 1, 0,192, 6,220, 0, 1, 0,232, 6,220, 0, 1, + 0,192, 6,228, 0, 1, 0,236, 6,244, 0, 1, 0,208, 6,228, 0, 1, 0,240, 6,232, 0, 1, 0,200, 6,224, 0, 1, 1,132, + 5, 48, 0, 1, 1,168, 4, 84, 0, 1, 1,196, 5, 76, 0, 1, 2,104, 4,132, 0, 1, 1,132, 6, 48, 0, 1, 1,216, 5,112, + 0, 1, 1,128, 6, 76, 0, 1, 2,104, 5, 60, 0, 1, 2,248, 5,112, 0, 1, 2,248, 4,248, 0, 1, 1,172, 5,184, 0, 1, + 2,108, 5, 36, 0, 1, 2,100, 5,172, 0, 1, 2, 96, 4,212, 0, 1, 1, 48, 5,156, 0, 1, 2,104, 5, 56, 0, 1, 2, 60, + 6, 8, 0, 1, 1,224, 6, 0, 0, 1, 1,247, 5,239, 0, 1, 2, 10, 6, 20, 0, 1, 2, 80, 6, 20, 0, 1, 1,200, 6, 16, + 0, 1, 2, 76, 6,100, 0, 1, 2,104, 6,188, 0, 1, 2,140, 3,216, 0, 1, 2,120, 3,132, 0, 1, 2, 56, 3,132, 0, 1, + 2, 84, 3,180, 0, 1, 1,228, 4,136, 0, 1, 1,135, 3, 82, 0, 1, 2, 32, 4,109, 0, 1, 2, 36, 4,118, 0, 1, 1,234, + 3,136, 0, 1, 2, 50, 3,122, 0, 1, 1,175, 4, 96, 0, 1, 1,238, 3, 28, 0, 1, 2,131, 3, 77, 0, 1, 2, 59, 3, 41, + 0, 1, 1,252, 3, 82, 0, 1, 1,166, 2, 68, 0, 1, 2, 5, 3,104, 0, 1, 1,112, 2, 95, 0, 1, 2, 41, 3, 73, 0, 1, + 2, 32, 3, 82, 0, 2, 0, 13, 3,223, 3,223, 0, 0, 3,225, 3,226, 0, 1, 3,228, 4, 3, 0, 3, 4, 36, 4, 36, 0, 35, + 4, 48, 4, 49, 0, 36, 4, 53, 4, 55, 0, 38, 4, 57, 4, 60, 0, 41, 10,151, 10,210, 0, 45, 10,213, 10,216, 0,105, 10,219, + 10,222, 0,109, 10,238, 10,238, 0,113, 10,241, 10,244, 0,114, 10,247, 11, 98, 0,118, 0, 1, 0, 9, 4, 4, 4, 5, 4, 7, + 4, 8, 4, 10, 4, 11, 4, 12, 4, 13, 4, 15, 0, 9, 0, 0, 0, 38, 0, 0, 0, 44, 0, 0, 0, 50, 0, 0, 0, 56, 0, 0, + 0, 62, 0, 0, 0, 68, 0, 0, 0, 74, 0, 0, 0, 80, 0, 0, 0, 86, 0, 1, 2, 93, 4,106, 0, 1, 2, 93, 4,106, 0, 1, + 2, 93, 4,106, 0, 1, 2, 93, 4,106, 0, 1, 2, 93, 4,106, 0, 1, 2, 98, 4,106, 0, 1, 2, 93, 4,106, 0, 1, 2, 93, + 4,106, 0, 1, 2,104, 4,176, 0, 1, 8,126, 7,246, 0, 1, 8,132, 0, 12, 0,253, 1,252, 2, 2, 2, 8, 2, 14, 2, 20, + 2, 26, 2, 32, 2, 38, 2, 44, 2, 50, 2, 56, 2, 62, 2, 68, 2, 74, 2, 80, 2, 86, 2, 92, 2, 98, 2,104, 2,110, 2,116, + 2,122, 2,128, 2,134, 2,140, 2,146, 2,152, 2,158, 2,164, 2,170, 2,176, 2,182, 2,188, 2,194, 2,200, 2,206, 2,212, + 2,218, 2,224, 2,230, 2,236, 2,242, 2,248, 2,254, 3, 4, 3, 10, 3, 16, 3, 22, 3, 28, 3, 34, 3, 40, 3, 46, 3, 52, + 3, 58, 3, 64, 3, 70, 3, 76, 3, 82, 3, 88, 3, 94, 3,100, 3,106, 3,112, 3,118, 3,124, 3,130, 3,136, 3,142, 3,148, + 3,154, 3,160, 3,166, 3,172, 3,178, 3,184, 3,190, 3,196, 3,202, 3,208, 3,214, 3,220, 3,226, 3,232, 3,238, 3,244, + 3,250, 4, 0, 4, 6, 4, 12, 4, 18, 4, 24, 4, 30, 4, 36, 4, 42, 4, 48, 4, 54, 4, 60, 4, 66, 4, 72, 4, 78, 4, 84, + 4, 90, 4, 96, 4,102, 4,108, 4,114, 4,120, 4,126, 4,132, 4,138, 4,144, 4,150, 4,156, 4,162, 4,168, 4,174, 4,180, + 4,186, 4,192, 4,198, 4,204, 4,210, 4,216, 4,222, 4,228, 4,234, 4,240, 4,246, 4,252, 5, 2, 5, 8, 5, 14, 5, 20, + 5, 26, 5, 32, 5, 38, 5, 44, 5, 50, 5, 56, 5, 62, 5, 68, 5, 74, 5, 80, 5, 86, 5, 92, 5, 98, 5,104, 5,110, 5,116, + 5,122, 5,128, 5,134, 5,140, 5,146, 5,152, 5,158, 5,164, 5,170, 5,176, 5,182, 5,188, 5,194, 5,200, 5,206, 5,212, + 5,218, 5,224, 5,230, 5,236, 5,242, 5,248, 5,254, 6, 4, 6, 10, 6, 16, 6, 22, 6, 28, 6, 34, 6, 40, 6, 46, 6, 52, + 6, 58, 6, 64, 6, 70, 6, 76, 6, 82, 6, 88, 6, 94, 6,100, 6,106, 6,112, 6,118, 6,124, 6,130, 6,136, 6,142, 6,148, + 6,154, 6,160, 6,166, 6,172, 6,178, 6,184, 6,190, 6,196, 6,202, 6,208, 6,214, 6,220, 6,226, 6,232, 6,238, 6,244, + 6,250, 7, 0, 7, 6, 7, 12, 7, 18, 7, 24, 7, 30, 7, 36, 7, 42, 7, 48, 7, 54, 7, 60, 7, 66, 7, 72, 7, 78, 7, 84, + 7, 90, 7, 96, 7,102, 7,108, 7,114, 7,120, 7,126, 7,132, 7,138, 7,144, 7,150, 7,156, 7,162, 7,168, 7,174, 7,180, + 7,186, 7,192, 7,198, 7,204, 7,210, 7,216, 7,222, 7,228, 0, 1, 4, 68, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,179, + 0, 0, 0, 1, 1,120, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 1, 79, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 3,226, 0, 0, + 0, 1, 2,104, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 4, 28, 0, 0, 0, 1, + 3,228, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 1, 42, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 2,104, + 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 3,147, 0, 0, 0, 1, 4, 68, 0, 0, + 0, 1, 2,104, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 3,198, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,208, 0, 0, 0, 1, + 2,104, 0, 0, 0, 1, 2,118, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104,254, 86, 0, 1, 3,190, 0, 0, 0, 1, 2,104, + 0, 0, 0, 1, 1,185,254, 89, 0, 1, 4, 68, 0, 0, 0, 1, 3,120, 0, 0, 0, 1, 4, 27, 0, 0, 0, 1, 3,190, 0, 0, + 0, 1, 2,104, 0, 0, 0, 1, 1, 26,254, 86, 0, 1, 3,194,254, 86, 0, 1, 1,198, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, + 3,120, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 3,115, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 1, 26, +254, 86, 0, 1, 2,104, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 4, 68, 0, 0, + 0, 1, 4, 68, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, + 2,122, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2, 54, + 0, 0, 0, 1, 3,228, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, + 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, + 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 1, 52, 0, 0, 0, 1, 2, 54, 0, 0, 0, 1, 3,198, 0, 0, 0, 1, 3,198, + 0, 0, 0, 1, 3,198, 0, 0, 0, 1, 3,198, 0, 0, 0, 1, 3,198, 0, 0, 0, 1, 3,198, 0, 0, 0, 1, 2,118, 0, 0, + 0, 1, 2,118, 0, 0, 0, 1, 2,118, 0, 0, 0, 1, 2,118, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, + 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 3,190, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, + 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, + 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 1, 26,254, 86, 0, 1, 1, 26,254, 86, 0, 1, + 1, 26,254, 86, 0, 1, 4, 68, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 3,198, 0, 0, 0, 1, 2,179, 0, 0, 0, 1, 2,179, + 0, 0, 0, 1, 2,208, 0, 0, 0, 1, 2,179, 0, 0, 0, 1, 2,208, 0, 0, 0, 1, 2,179, 0, 0, 0, 1, 2,208, 0, 0, + 0, 1, 2, 54, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2, 54, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, + 2,118, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 2,118, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 2,118, 0, 0, 0, 1, 2,122, + 0, 0, 0, 1, 2,118, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 2,104,254, 86, 0, 1, 2,154, 0, 0, 0, 1, 2,104,254, 86, + 0, 1, 2,154, 0, 0, 0, 1, 2,104,254, 86, 0, 1, 2,104,254, 86, 0, 1, 3,226, 0, 0, 0, 1, 3,190, 0, 0, 0, 1, + 3,226, 0, 0, 0, 1, 3,190, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, + 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,154, 0, 0, + 0, 1, 1,185,254, 89, 0, 1, 4, 68, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 3,120, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, + 3,120, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 3,120, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 3,120, 0, 0, 0, 1, 3,228, + 0, 0, 0, 1, 3,190, 0, 0, 0, 1, 3,228, 0, 0, 0, 1, 3,190, 0, 0, 0, 1, 4, 57, 0, 0, 0, 1, 2,104,254, 86, + 0, 1, 2,104,254, 86, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, + 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 1,198, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 1,198, + 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, + 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 3,120, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 3,120, 0, 0, 0, 1, + 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, + 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 3,147, 0, 0, + 0, 1, 3,115, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 1, 26,254, 86, 0, 1, 2,104, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, + 2,104, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, + 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, + 0, 1, 2,104, 0, 0, 0, 1, 2, 10, 0, 0, 0, 1, 2,179, 0, 0, 0, 1, 2,208, 0, 0, 0, 1, 2, 54, 0, 0, 0, 1, + 2, 54, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104,254, 86, 0, 1, 2, 86, 0, 0, 0, 1, 2,104, + 0, 0, 0, 1, 2,179, 0, 0, 0, 1, 1, 34,254, 86, 0, 1, 1,104,254, 86, 0, 1, 2,154, 0, 0, 0, 1, 2,104,254, 86, + 0, 1, 3,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, 4, 68, 0, 0, 0, 1, + 3,120, 0, 0, 0, 1, 4, 8, 0, 0, 0, 1, 4, 28, 0, 0, 0, 1, 3,228, 0, 0, 0, 1, 3,190,254, 86, 0, 1, 2,104, + 0, 0, 0, 1, 1,249, 0, 0, 0, 1, 1,255, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 4, 88,254, 86, 0, 1, 1,210, 0, 0, + 0, 1, 1, 26,254, 86, 0, 1, 4,106,254,248, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 2, + 0, 22, 0, 36, 0, 61, 0, 0, 0, 68, 0, 93, 0, 26, 0,130, 0,135, 0, 52, 0,138, 0,152, 0, 58, 0,154, 0,167, 0, 73, + 0,170, 0,184, 0, 87, 0,186, 0,194, 0,102, 0,196, 0,197, 0,111, 0,200, 0,200, 0,113, 0,202, 0,217, 0,114, 0,220, + 0,227, 0,130, 0,229, 0,239, 0,138, 0,242, 0,243, 0,149, 0,246, 0,247, 0,151, 0,250, 0,252, 0,153, 0,255, 1, 6, + 0,156, 1, 9, 1, 19, 0,164, 1, 22, 1, 23, 0,175, 1, 26, 1, 31, 0,177, 1, 34, 1, 35, 0,183, 1, 38, 1, 51, 0,185, + 1, 54, 1,107, 0,199, 0, 1, 0, 1, 2,163, 0, 1, 0, 0, 0, 6, 0, 1, 2,124, 0, 0, 0, 1, 20,168, 20, 38, 0, 2, + 20,214, 0, 12, 1,127, 5,254, 6, 4, 6, 10, 6, 16, 6, 22, 6, 28, 6, 34, 6, 40, 6, 46, 6, 52, 6, 58, 6, 64, 6, 70, + 6, 76, 6, 82, 6, 88, 6, 94, 6,100, 6,106, 6,112, 6,118, 6,124, 6,130, 6,136, 6,142, 6,148, 6,154, 6,160, 6,166, + 6,172, 6,178, 6,184, 6,190, 6,196, 6,202, 6,208, 6,214, 6,220, 6,226, 6,232, 6,238, 6,244, 6,250, 7, 0, 7, 6, + 7, 12, 7, 18, 7, 24, 7, 30, 7, 36, 7, 42, 7, 48, 7, 54, 7, 60, 7, 66, 7, 72, 7, 78, 7, 84, 7, 90, 7, 96, 7,102, + 7,108, 7,114, 7,120, 7,126, 7,132, 7,138, 7,144, 0, 0, 7,150, 0, 0, 7,156, 7,162, 7,168, 7,174, 7,180, 7,186, + 7,192, 7,198, 7,204, 7,210, 7,216, 7,222, 7,228, 7,234, 7,240, 7,246, 7,252, 8, 2, 8, 8, 8, 14, 8, 20, 8, 26, + 8, 32, 8, 38, 8, 44, 8, 50, 8, 56, 8, 62, 8, 68, 8, 74, 8, 80, 8, 86, 8, 92, 0, 0, 8, 98, 0, 0, 8,104, 0, 0, + 8,110, 0, 0, 8,116, 0, 0, 8,122, 0, 0, 8,128, 8,134, 8,140, 8,146, 0, 0, 0, 0, 8,152, 0, 0, 8,158, 0, 0, + 8,164, 0, 0, 8,170, 0, 0, 8,176, 0, 0, 8,182, 0, 0, 8,188, 0, 0, 8,194, 8,200, 8,206, 0, 0, 8,212, 0, 0, + 8,218, 0, 0, 8,224, 0, 0, 8,230, 0, 0, 8,236, 0, 0, 8,242, 8,248, 8,254, 0, 0, 9, 4, 0, 0, 9, 10, 0, 0, + 9, 16, 0, 0, 9, 22, 0, 0, 9, 28, 9, 34, 9, 40, 9, 46, 9, 52, 0, 0, 9, 58, 0, 0, 9, 64, 0, 0, 9, 70, 0, 0, + 9, 76, 0, 0, 9, 82, 0, 0, 9, 88, 9, 94, 9,100, 9,106, 0, 0, 0, 0, 9,112, 0, 0, 9,118, 0, 0, 9,124, 0, 0, + 9,130, 0, 0, 9,136, 0, 0, 9,142, 0, 0, 9,148, 0, 0, 9,154, 0, 0, 9,160, 0, 0, 9,166, 0, 0, 9,172, 0, 0, + 9,178, 0, 0, 9,184, 0, 0, 9,190, 0, 0, 9,196, 9,202, 9,208, 0, 0, 9,214, 0, 0, 9,220, 0, 0, 9,226, 0, 0, + 9,232, 0, 0, 9,238, 9,244, 9,250, 0, 0, 10, 0, 0, 0, 10, 6, 0, 0, 10, 12, 0, 0, 10, 18, 10, 24, 0, 0, 10, 30, + 0, 0, 0, 0, 10, 36, 0, 0, 10, 42, 0, 0, 10, 48, 0, 0, 10, 54, 0, 0, 10, 60, 0, 0, 10, 66, 0, 0, 10, 72, 0, 0, + 10, 78, 0, 0, 10, 84, 10, 90, 10, 96, 10,102, 10,108, 0, 0, 10,114, 0, 0, 10,120, 0, 0, 10,126, 0, 0, 10,132, 0, 0, + 10,138, 0, 0, 10,144, 10,150, 0, 0, 10,156, 0, 0, 0, 0, 10,162, 0, 0, 10,168, 0, 0, 10,174, 0, 0, 10,180, 0, 0, + 10,186, 0, 0, 10,192, 0, 0, 10,198, 0, 0, 10,204, 10,210, 0, 0, 0, 0, 10,216, 0, 0, 10,222, 0, 0, 10,228, 10,234, + 10,240, 10,246, 10,252, 0, 0, 11, 2, 0, 0, 11, 8, 0, 0, 11, 14, 0, 0, 11, 20, 0, 0, 11, 26, 0, 0, 11, 32, 11, 38, + 0, 0, 0, 0, 11, 44, 11, 50, 11, 56, 0, 0, 11, 62, 0, 0, 11, 68, 11, 74, 0, 0, 11, 80, 0, 0, 11, 86, 11, 92, 0, 0, + 11, 98, 0, 0, 11,104, 11,110, 0, 0, 11,116, 0, 0, 0, 0, 11,122, 0, 0, 11,128, 11,134, 11,140, 11,146, 11,152, 11,158, + 11,164, 11,170, 11,176, 0, 0, 11,182, 0, 0, 11,188, 11,194, 0, 0, 11,200, 0, 0, 0, 0, 11,206, 0, 0, 11,212, 0, 0, + 11,218, 11,224, 11,230, 11,236, 11,242, 0, 0, 11,248, 0, 0, 11,254, 0, 0, 12, 4, 0, 0, 12, 10, 0, 0, 12, 16, 0, 0, + 12, 22, 12, 28, 12, 34, 12, 40, 12, 46, 0, 0, 12, 52, 0, 0, 12, 58, 12, 64, 0, 0, 12, 70, 0, 0, 0, 0, 12, 76, 12, 82, + 12, 88, 0, 0, 12, 94, 0, 0, 12,100, 0, 0, 12,106, 0, 0, 12,112, 12,118, 0, 0, 12,124, 0, 0, 0, 0, 12,130, 0, 0, + 12,136, 12,142, 0, 0, 12,148, 0, 0, 0, 0, 12,154, 0, 0, 12,160, 12,166, 12,172, 12,178, 12,184, 0, 0, 12,190, 0, 0, + 12,196, 0, 0, 12,202, 0, 0, 12,208, 0, 0, 12,214, 0, 0, 12,220, 0, 0, 12,226, 0, 0, 12,232, 0, 0, 12,238, 0, 0, + 12,244, 12,250, 0, 0, 13, 0, 0, 0, 0, 0, 13, 6, 0, 0, 13, 12, 0, 0, 13, 18, 0, 0, 13, 24, 0, 0, 13, 30, 0, 0, + 13, 36, 0, 0, 13, 42, 0, 0, 13, 48, 0, 0, 13, 54, 0, 0, 13, 60, 0, 0, 13, 66, 13, 72, 13, 78, 13, 84, 13, 90, 13, 96, + 13,102, 13,108, 13,114, 13,120, 13,126, 13,132, 13,138, 13,144, 13,150, 13,156, 13,162, 13,168, 13,174, 13,180, 13,186, 13,192, + 13,198, 13,204, 13,210, 13,216, 13,222, 13,228, 13,234, 13,240, 13,246, 13,252, 14, 2, 14, 8, 14, 14, 14, 20, 14, 26, 14, 32, + 14, 38, 14, 44, 14, 50, 14, 56, 14, 62, 14, 68, 14, 74, 14, 80, 14, 86, 14, 92, 14, 98, 14,104, 14,110, 14,116, 14,122, 14,128, + 14,134, 14,140, 14,146, 14,152, 14,158, 14,164, 14,170, 14,176, 14,182, 14,188, 14,194, 14,200, 14,206, 14,212, 14,218, 14,224, + 14,230, 14,236, 14,242, 14,248, 14,254, 15, 4, 15, 10, 15, 16, 15, 22, 15, 28, 15, 34, 15, 40, 15, 46, 15, 52, 15, 58, 15, 64, + 15, 70, 15, 76, 15, 82, 15, 88, 15, 94, 15,100, 15,106, 15,112, 15,118, 15,124, 15,130, 15,136, 15,142, 15,148, 15,154, 15,160, + 15,166, 15,172, 15,178, 15,184, 15,190, 15,196, 15,202, 15,208, 15,214, 15,220, 15,226, 15,232, 15,238, 15,244, 15,250, 16, 0, + 16, 6, 16, 12, 16, 18, 16, 24, 16, 30, 16, 36, 16, 42, 16, 48, 16, 54, 16, 60, 16, 66, 16, 72, 16, 78, 16, 84, 16, 90, 16, 96, + 16,102, 16,108, 16,114, 16,120, 16,126, 16,132, 16,138, 16,144, 16,150, 16,156, 16,162, 16,168, 16,174, 16,180, 16,186, 16,192, + 16,198, 16,204, 16,210, 16,216, 16,222, 16,228, 16,234, 16,240, 16,246, 16,252, 17, 2, 17, 8, 17, 14, 17, 20, 17, 26, 17, 32, + 17, 38, 17, 44, 17, 50, 17, 56, 17, 62, 17, 68, 17, 74, 17, 80, 17, 86, 17, 92, 17, 98, 17,104, 17,110, 17,116, 17,122, 17,128, + 17,134, 17,140, 17,146, 17,152, 17,158, 17,164, 17,170, 17,176, 17,182, 17,188, 17,194, 17,200, 17,206, 17,212, 17,218, 17,224, + 17,230, 17,236, 17,242, 17,248, 17,254, 18, 4, 18, 10, 18, 16, 18, 22, 18, 28, 18, 34, 18, 40, 18, 46, 18, 52, 18, 58, 18, 64, + 18, 70, 18, 76, 18, 82, 18, 88, 18, 94, 18,100, 18,106, 18,112, 18,118, 18,124, 18,130, 18,136, 18,142, 18,148, 18,154, 18,160, + 18,166, 18,172, 18,178, 18,184, 18,190, 18,196, 18,202, 18,208, 18,214, 18,220, 18,226, 18,232, 18,238, 18,244, 18,250, 19, 0, + 19, 6, 19, 12, 19, 18, 19, 24, 19, 30, 19, 36, 19, 42, 19, 48, 19, 54, 19, 60, 19, 66, 19, 72, 19, 78, 19, 84, 19, 90, 19, 96, + 19,102, 19,108, 19,114, 19,120, 19,126, 19,132, 19,138, 19,144, 19,150, 19,156, 19,162, 19,168, 19,174, 19,180, 19,186, 19,192, + 19,198, 19,204, 19,210, 19,216, 19,222, 19,228, 19,234, 19,240, 19,246, 19,252, 20, 2, 20, 8, 0, 0, 0, 0, 20, 14, 20, 20, + 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,179, 5,213, + 0, 1, 2,179, 0, 0, 0, 1, 2, 54, 5,213, 0, 1, 2, 54, 0, 0, 0, 1, 2,122, 5,213, 0, 1, 2,122, 0, 0, 0, 1, + 2,158, 5,213, 0, 1, 2,158, 0, 0, 0, 1, 2,154, 5,213, 0, 1, 2,154, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, + 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,154, 5,213, 0, 1, 2,154, 0, 0, 0, 1, 2,104, 5,213, + 0, 1, 2,104, 0, 0, 0, 1, 2,154, 5,213, 0, 1, 2,154, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, + 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, + 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2, 54, 5,213, 0, 1, 2, 54, 0, 0, 0, 1, 2,104, 5,213, + 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, + 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, + 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,154, 5,213, 0, 1, 2,154, 0, 0, 0, 1, 2,104, 4, 96, + 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, 2,104, 0, 0, 0, 1, 2,179, 4, 96, 0, 1, 2,179, 0, 0, 0, 1, + 2,104, 6, 20, 0, 1, 2,104, 0, 0, 0, 1, 2,118, 4, 96, 0, 1, 2,118, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, 2,104, + 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, 6, 20, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, + 0, 1, 2,104,254, 86, 0, 1, 2,154, 6, 20, 0, 1, 2,154, 0, 0, 0, 1, 2, 50, 6, 20, 0, 1, 2, 50, 0, 0, 0, 1, + 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, + 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, 4, 96, + 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, 2,104, 0, 0, 0, 1, + 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, + 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, 4, 96, + 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, + 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,122, 5,213, 0, 1, 2,122, 0, 0, 0, 1, 2,179, 5,213, 0, 1, 2,122, + 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, + 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2, 54, 5,213, 0, 1, 2, 54, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, + 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, + 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, + 0, 1, 2,104, 0, 0, 0, 1, 2, 54, 5,213, 0, 1, 2, 54, 0, 0, 0, 1, 2, 54, 5,213, 0, 1, 2, 54, 0, 0, 0, 1, + 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, + 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,179, 4, 96, 0, 1, 2,118, 0, 0, 0, 1, 2,118, 0, 0, + 0, 1, 2,118, 0, 0, 0, 1, 2,118, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, + 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, + 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, + 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104,254, 86, 0, 1, 2,104, 6, 20, 0, 1, + 2,104,254, 86, 0, 1, 2,104,254, 86, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, + 5,213, 0, 1, 2,104, 4, 96, 0, 1, 2,179, 0, 0, 0, 1, 2,179, 0, 0, 0, 1, 2,179, 0, 0, 0, 1, 2,179, 0, 0, + 0, 1, 2,179, 0, 0, 0, 1, 2,179, 0, 0, 0, 1, 2,179, 0, 0, 0, 1, 2, 54, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, + 2, 54, 5,213, 0, 1, 2, 54, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, 2,104, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 2,118, + 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 2,118, 0, 0, 0, 1, 2,122, 0, 0, 0, 1, 2,118, 0, 0, 0, 1, 2,122, 5,213, + 0, 1, 2,118, 4, 96, 0, 1, 2,122, 0, 0, 0, 1, 2,118, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 2,104,254, 86, 0, 1, + 2,154, 0, 0, 0, 1, 2,104,254, 86, 0, 1, 2,154, 0, 0, 0, 1, 2,104,254, 86, 0, 1, 2,154, 5,213, 0, 1, 2,104, +254, 86, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, + 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, + 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, + 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 2,104,254, 86, 0, 1, 2,104, 5,213, 0, 1, 2,154, 6, 20, 0, 1, 2,154, 4, 96, + 0, 1, 2,154, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 2, 50, 0, 0, 0, 1, 2,154, 5,213, 0, 1, 2, 50, 6, 20, 0, 1, + 2,154, 0, 0, 0, 1, 2, 50, 0, 0, 0, 1, 2,154, 5,213, 0, 1, 2,154, 0, 0, 0, 1, 2, 50, 6, 20, 0, 1, 2, 50, + 0, 0, 0, 1, 2,154, 5,213, 0, 1, 2,154, 0, 0, 0, 1, 2, 50, 6, 20, 0, 1, 2, 50, 0, 0, 0, 1, 2,104, 0, 0, + 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, + 2,227, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104,254, 86, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, + 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, + 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2, 54, 0, 0, 0, 1, + 2,104, 0, 0, 0, 1, 2, 54, 5,213, 0, 1, 2,104, 4, 96, 0, 1, 2, 54, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, + 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, + 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 6, 20, 0, 1, + 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, 2,104, + 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, + 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, + 2,104, 5,213, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, +254, 86, 0, 1, 2,104, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,154, 0, 0, 0, 1, 2,104, 0, 0, + 0, 1, 2,154, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, + 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, + 6, 20, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, 2,104, 0, 0, + 0, 1, 2, 10, 5,213, 0, 1, 2, 10, 0, 0, 0, 1, 2,179, 5,213, 0, 1, 2,179, 0, 0, 0, 1, 2,179, 4, 96, 0, 1, + 2,179, 0, 0, 0, 1, 2, 54, 5,213, 0, 1, 2, 54, 0, 0, 0, 1, 2, 54, 5,213, 0, 1, 2, 54, 0, 0, 0, 1, 2,104, + 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, + 0, 1, 2, 86, 5,213, 0, 1, 2, 86, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,179, 5,213, 0, 1, + 2,179, 0, 0, 0, 1, 3, 2, 5,213, 0, 1, 3, 2,254, 86, 0, 1, 2,104, 6, 20, 0, 1, 2,104,254, 86, 0, 1, 2,154, + 5,213, 0, 1, 2,154, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104,254, 86, 0, 1, 2,104, 6, 20, 0, 1, 2,104, 0, 0, + 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, + 2,104, 0, 0, 0, 1, 2,154, 6, 20, 0, 1, 2,154, 0, 0, 0, 1, 2, 50, 6, 20, 0, 1, 2, 50, 0, 0, 0, 1, 2,104, + 6, 20, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104,254, 86, + 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 1,249, 5,213, 0, 1, + 1,249, 0, 0, 0, 1, 1,255, 4, 96, 0, 1, 1,255, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, + 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,236, 5,213, 0, 1, 2,236, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, + 0, 1, 2, 54, 5,213, 0, 1, 2, 54,254, 86, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, + 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 5,213, 0, 1, 2,104, 0, 0, 0, 1, 2,104, + 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, + 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,140, 6, 20, 0, 1, 2,140, 0, 0, 0, 1, 2, 41, 4, 96, 0, 1, + 2, 41, 0, 0, 0, 1, 2,179, 4, 96, 0, 1, 2,179, 0, 0, 0, 1, 2, 89, 6, 20, 0, 1, 2, 89, 0, 0, 0, 1, 2,104, + 6, 20, 0, 1, 2,104, 0, 0, 0, 1, 2,118, 4, 96, 0, 1, 2,118, 0, 0, 0, 1, 2,118, 4, 96, 0, 1, 2,118, 0, 0, + 0, 1, 1,154, 4, 96, 0, 1, 1,154, 0, 0, 0, 1, 2,118, 4, 96, 0, 1, 2,118, 0, 0, 0, 1, 2, 90, 4, 96, 0, 1, + 2, 90, 0, 0, 0, 1, 1,114, 4, 96, 0, 1, 1,114, 0, 0, 0, 1, 2,118, 4, 96, 0, 1, 2,118, 0, 0, 0, 1, 2,177, + 4, 96, 0, 1, 2,177,254, 86, 0, 1, 2, 62, 6, 20, 0, 1, 2, 62,254, 86, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, + 0, 1, 2,149, 4, 96, 0, 1, 2,149, 0, 0, 0, 1, 2,110, 4, 96, 0, 1, 2,110,254, 86, 0, 1, 2,104, 4, 96, 0, 1, + 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,111, 6, 20, 0, 1, 2,111, 0, 0, 0, 1, 2,111, + 6, 20, 0, 1, 2,111,254, 86, 0, 1, 2, 68, 4, 96, 0, 1, 2, 68, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, + 0, 1, 2, 56, 6, 20, 0, 1, 2, 56, 0, 0, 0, 1, 2, 80, 6, 20, 0, 1, 2, 80, 0, 0, 0, 1, 2, 62, 6, 20, 0, 1, + 2, 62,254, 86, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, + 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,182, 4, 96, 0, 1, 2,182,254, 86, 0, 1, 1,252, 4,102, 0, 1, 2, 38,254, 86, + 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, + 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, 2,104,254, 86, 0, 1, 2,104, + 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, 2,104, 0, 0, 0, 1, 2, 54, 4, 96, 0, 1, 2, 54,254, 86, + 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2, 99, 4, 96, 0, 1, + 2, 99, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2, 0, 4, 96, 0, 1, 2, 0, 0, 0, 0, 1, 2, 0, + 4, 96, 0, 1, 2, 0, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,115, 6, 20, 0, 1, 2,115,254, 86, + 0, 1, 2,115, 6, 20, 0, 1, 2,115,254, 86, 0, 1, 2,120, 4, 96, 0, 1, 2,120,254, 86, 0, 1, 2,115, 6, 20, 0, 1, + 2,115,254, 86, 0, 1, 2,164, 4, 96, 0, 1, 2,164,254, 86, 0, 1, 2,104, 6, 20, 0, 1, 2,104,254, 86, 0, 1, 2,104, + 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, + 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, + 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2, 28, 4, 96, 0, 1, 2, 28,254, 86, 0, 1, 2,104, + 4, 96, 0, 1, 2,104,255,142, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, + 0, 1, 2, 36, 6, 20, 0, 1, 2, 36, 0, 0, 0, 1, 2,170, 6, 20, 0, 1, 2,170, 0, 0, 0, 1, 2, 36, 6, 20, 0, 1, + 2, 36, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2, 32, 4, 96, 0, 1, 2, 32, 0, 0, 0, 1, 2, 62, + 4, 96, 0, 1, 2, 62, 0, 0, 0, 1, 2, 26, 6, 20, 0, 1, 2, 26, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, + 0, 1, 2,104, 4, 96, 0, 1, 2,104,254, 86, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 6, 20, 0, 1, + 2,104,254, 86, 0, 1, 2, 36, 6, 20, 0, 1, 2, 36, 0, 0, 0, 1, 2,170, 6, 20, 0, 1, 2,170, 0, 0, 0, 1, 2,104, + 5,224, 0, 1, 2,104, 2,156, 0, 1, 2, 82, 5,224, 0, 1, 2, 82, 2,156, 0, 1, 2, 69, 5,224, 0, 1, 2, 69, 2,156, + 0, 1, 2, 94, 5,224, 0, 1, 2, 94, 2,156, 0, 1, 2,114, 5,224, 0, 1, 2,114, 2,156, 0, 1, 2,144, 5,224, 0, 1, + 2,144, 2,156, 0, 1, 2,104, 5,224, 0, 1, 2,104, 2,156, 0, 1, 2,104, 5,224, 0, 1, 2,104, 2,156, 0, 1, 2,188, + 5,224, 0, 1, 2,188, 2,156, 0, 1, 2, 63, 5,224, 0, 1, 2, 63, 2,156, 0, 1, 2, 97, 5,224, 0, 1, 2, 97, 2,156, + 0, 1, 2,105, 5,224, 0, 1, 2,105, 2,156, 0, 1, 2,104, 5,224, 0, 1, 2,104, 2,156, 0, 1, 2,104, 5,224, 0, 1, + 2,104, 2,156, 0, 1, 2,104, 5,224, 0, 1, 2,104, 2,156, 0, 1, 2, 71, 5,224, 0, 1, 2, 71, 2,156, 0, 1, 2, 27, + 5,224, 0, 1, 2, 27, 2,156, 0, 1, 2,104, 5,224, 0, 1, 2,104, 2,156, 0, 1, 2,104, 5,224, 0, 1, 2,104, 2,156, + 0, 1, 2,104, 5,224, 0, 1, 2,104, 2,156, 0, 1, 2, 54, 5,213, 0, 1, 2, 92, 2,156, 0, 1, 2,104, 5,213, 0, 2, + 0, 21, 0, 36, 0, 61, 0, 0, 0, 68, 0, 93, 0, 26, 0,130, 0,152, 0, 52, 0,154, 0,184, 0, 75, 0,186, 0,194, 0,106, + 0,196, 0,200, 0,115, 0,202, 0,240, 0,120, 0,242, 0,243, 0,159, 0,246, 1,107, 0,161, 1,205, 1,205, 1, 23, 1,226, + 1,226, 1, 24, 1,238, 2, 5, 1, 25, 2, 7, 2, 11, 1, 49, 2, 13, 2, 52, 1, 54, 2, 54, 2, 58, 1, 94, 2, 60, 2, 64, + 1, 99, 4,172, 4,172, 1,104, 4,174, 4,192, 1,105, 5, 22, 5, 22, 1,124, 6,169, 6,169, 1,125, 11,209, 11,209, 1,126, + 0, 2, 0, 7, 2,124, 2,141, 0, 0, 2,143, 2,149, 0, 18, 2,152, 2,156, 0, 25, 2,159, 2,162, 0, 30, 2,165, 2,173, + 0, 34, 2,181, 2,186, 0, 43, 2,188, 2,188, 0, 49, 0, 50, 0, 0, 0,202, 0, 0, 0,208, 0, 0, 0,214, 0, 0, 0,220, + 0, 0, 0,226, 0, 0, 0,232, 0, 0, 0,238, 0, 0, 0,244, 0, 0, 0,250, 0, 0, 1, 0, 0, 0, 1, 6, 0, 0, 1, 12, + 0, 0, 1, 18, 0, 0, 1, 24, 0, 0, 1, 30, 0, 0, 1, 36, 0, 0, 1, 42, 0, 0, 1, 48, 0, 0, 1, 54, 0, 0, 1, 60, + 0, 0, 1, 66, 0, 1, 1, 72, 0, 1, 1, 78, 0, 1, 1, 84, 0, 1, 1, 90, 0, 1, 1, 96, 0, 1, 1,102, 0, 1, 1,108, + 0, 1, 1,114, 0, 1, 1,120, 0, 1, 1,126, 0, 1, 1,132, 0, 1, 1,138, 0, 1, 1,144, 0, 1, 1,150, 0, 1, 1,156, + 0, 1, 1,162, 0, 1, 1,168, 0, 1, 1,174, 0, 1, 1,180, 0, 1, 1,186, 0, 1, 1,192, 0, 1, 1,198, 0, 1, 1,204, + 0, 1, 1,210, 0, 1, 1,216, 0, 1, 1,222, 0, 0, 1,228, 0, 0, 1,234, 0, 0, 1,240, 0, 1, 2,104, 4, 96, 0, 1, + 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, + 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, + 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, + 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 0, 0, 0, 1, 2,104, + 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, + 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, + 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, + 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, + 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 0, 0, 0, 1, 2,104, 4, 96, 0, 1, 2,104, 4, 96, 0, 1, + 2,104, 4, 96, 0, 1, 0, 8, 0, 4,251, 47, 0, 2, 0, 6, 2,124, 2,141, 0, 0, 2,143, 2,149, 0, 18, 2,152, 2,156, + 0, 25, 2,159, 2,173, 0, 30, 2,181, 2,186, 0, 45, 2,188, 2,188, 0, 51, 0, 1, 1,200, 1,190, 0, 2, 1,216, 0, 12, + 0, 27, 0,110, 0,116, 0,122, 0,128, 0,134, 0,140, 0,146, 0,152, 0,158, 0,164, 0,170, 0,176, 0,182, 0,188, 0,194, + 0,200, 0,206, 0,212, 0,218, 0,224, 0,230, 0,236, 0,242, 0,248, 0,254, 1, 4, 1, 10, 1, 16, 1, 22, 1, 28, 1, 34, + 1, 40, 1, 46, 1, 52, 1, 58, 1, 64, 1, 70, 1, 76, 1, 82, 1, 88, 1, 94, 1,100, 1,106, 1,112, 1,118, 1,124, 1,130, + 1,136, 1,142, 1,148, 1,154, 1,160, 1,166, 1,172, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, + 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209,254, 20, 0, 1, 4,209, 4,160, 0, 1, + 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209,254, 20, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, + 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209,254, 20, + 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, + 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,210, 6, 16, 0, 1, 4,209, 0, 0, 0, 1, 4,209, + 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,210, 6, 16, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, + 0, 1, 4,210, 6, 16, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 6, 16, 0, 1, + 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, + 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, + 0, 1, 4,209, 4,160, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,160, 0, 2, 0, 1, 4, 72, 4, 98, 0, 0, 0, 2, 0, 2, + 4,101, 4,101, 0, 0, 4,104, 4,117, 0, 1, 0, 15, 0, 1, 0, 62, 0, 1, 0, 68, 0, 1, 0, 74, 0, 1, 0, 80, 0, 1, + 0, 86, 0, 0, 0, 92, 0, 0, 0, 98, 0, 1, 0,104, 0, 0, 0,110, 0, 1, 0,116, 0, 1, 0,122, 0, 1, 0,128, 0, 1, + 0,134, 0, 1, 0,140, 0, 1, 0,146, 0, 1,255,247, 4,116, 0, 1, 4,209, 4,119, 0, 1, 4,209, 4,119, 0, 1, 4,209, + 4,119, 0, 1, 4,209, 4,119, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 0, 0, 0, 1, 4,209, 4,116, 0, 1, 4,209, 0, 0, + 0, 1, 4,209, 4, 96, 0, 1, 4,209, 4,126, 0, 1, 4,209, 4,126, 0, 1, 4,209, 4, 96, 0, 1, 4,209, 4,126, 0, 1, + 4,209, 4, 96, 0, 1, 0, 8, 0, 4,251, 47, 0, 2, 0, 2, 4,101, 4,101, 0, 0, 4,104, 4,117, 0, 1, 0, 1, 0, 0, + 0, 10, 0,192, 1, 58, 0, 6, 97,114, 97, 98, 0, 38, 99,121,114,108, 0, 60,100,102,108,116, 0, 88,103,114,101,107, 0, 98, +108, 97,111, 32, 0,110,108, 97,116,110, 0,120, 0, 4, 0, 0, 0, 0,255,255, 0, 6, 0, 2, 0, 3, 0, 4, 0, 5, 0, 8, + 0, 9, 0, 10, 0, 1, 83, 82, 66, 32, 0, 18, 0, 0,255,255, 0, 1, 0, 0, 0, 0,255,255, 0, 2, 0, 0, 0, 6, 0, 4, + 0, 0, 0, 0,255,255, 0, 0, 0, 4, 0, 0, 0, 0,255,255, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0,255,255, 0, 0, 0, 40, + 0, 6, 73, 83, 77, 32, 0, 50, 75, 83, 77, 32, 0, 50, 76, 83, 77, 32, 0, 50, 78, 83, 77, 32, 0, 50, 83, 75, 83, 32, 0, 50, + 83, 83, 77, 32, 0, 50, 0, 0,255,255, 0, 2, 0, 0, 0, 1, 0, 0,255,255, 0, 3, 0, 0, 0, 1, 0, 7, 0, 10, 99, 99, +109,112, 0, 62,100,108,105,103, 0, 68,102,105,110, 97, 0, 74,105,110,105,116, 0, 80,105,115,111,108, 0, 86,108,105,103, 97, + 0, 92,108,111, 99,108, 0, 98,108,111, 99,108, 0,104,109,101,100,105, 0,110,114,108,105,103, 0,116, 0, 0, 0, 1, 0, 1, + 0, 0, 0, 1, 0, 9, 0, 0, 0, 1, 0, 4, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 3, 0, 0, 0, 1, 0, 8, 0, 0, + 0, 1, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 1, 0, 7, 0, 11, 0, 24, 0, 32, 0, 40, 0, 48, + 0, 56, 0, 64, 0, 72, 0, 80, 0, 88, 0, 96, 0,104, 0, 1, 0, 0, 0, 1, 0, 88, 0, 6, 0, 0, 0, 1, 0, 92, 0, 1, + 0, 0, 0, 1, 0,228, 0, 1, 0, 9, 0, 1, 0,232, 0, 1, 0, 9, 0, 1, 0,236, 0, 1, 0, 9, 0, 1, 1,148, 0, 1, + 0, 9, 0, 1, 2, 46, 0, 4, 0, 9, 0, 1, 2,200, 0, 4, 0, 9, 0, 1, 2,230, 0, 4, 0, 0, 0, 1, 3, 36, 0, 1, + 0, 0, 0, 1, 3, 60, 0, 1, 0, 6, 10,197, 0, 1, 0, 1, 1, 12, 0, 2, 0, 20, 0, 28, 0, 36, 0, 36, 0, 4, 0, 0, + 0, 88, 0, 0, 0, 0, 0, 1, 0, 2, 0, 76, 0, 77, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 8, 0, 76, 0, 77, 0, 1, + 2,124, 2,145, 0, 2, 2,146, 2,149, 0, 3, 2,152, 2,156, 0, 3, 2,159, 2,175, 0, 3, 2,181, 2,184, 0, 3, 2,185, + 2,188, 0, 2, 2,191, 2,191, 0, 2, 0, 3, 0, 8, 0, 22, 0, 38, 0, 0, 0, 1, 0, 1, 0, 2, 0, 1, 0, 0, 0, 10, + 0, 0, 0, 1, 0, 2, 0, 3, 0, 2, 0, 1, 0, 0, 0, 10, 0, 0, 0, 1, 0, 3, 0, 3, 0, 3, 0, 2, 0, 1, 0, 0, + 0, 10, 0, 1, 0, 6, 7, 54, 0, 1, 0, 1, 3, 94, 0, 1, 0, 6, 6,149, 0, 1, 0, 1, 4, 50, 0, 2, 0,112, 0, 53, + 10,240, 10,242, 10,244, 10,246, 10,248, 10,252, 10,254, 11, 2, 11, 4, 11, 8, 11, 12, 11, 16, 11, 20, 11, 24, 11, 26, 11, 28, + 11, 30, 11, 32, 11, 36, 11, 40, 11, 44, 11, 48, 11, 52, 11, 56, 11, 60, 11, 64, 11, 68, 11, 72, 11, 76, 11, 80, 11, 84, 11, 88, + 11, 92, 11, 94, 11, 96, 10,172, 10,164, 10,152, 10,156, 10,168, 10,160, 10,188, 10,184, 10,192, 10,196, 10,202, 10,200, 10,176, + 10,204, 10,208, 10,212, 10,214, 10,220, 0, 2, 0, 10, 3,224, 3,248, 0, 0, 3,250, 4, 3, 0, 25, 4, 33, 4, 35, 0, 35, + 4, 38, 4, 40, 0, 38, 4, 43, 4, 44, 0, 41, 4, 46, 4, 48, 0, 43, 4, 50, 4, 50, 0, 46, 4, 52, 4, 54, 0, 47, 4, 56, + 4, 57, 0, 50, 4, 59, 4, 59, 0, 52, 0, 2, 0, 82, 0, 38, 10,250, 11, 0, 11, 6, 11, 10, 11, 14, 11, 18, 11, 22, 11, 34, + 11, 38, 11, 42, 11, 46, 11, 50, 11, 54, 11, 58, 11, 62, 11, 66, 11, 70, 11, 74, 11, 78, 11, 82, 11, 86, 11, 90, 11, 98, 10,174, + 10,166, 10,154, 10,158, 10,170, 10,162, 10,190, 10,186, 10,194, 10,198, 10,178, 10,206, 10,210, 10,216, 10,222, 0, 1, 0, 38, + 3,228, 3,230, 3,232, 3,233, 3,234, 3,235, 3,236, 3,241, 3,242, 3,243, 3,244, 3,245, 3,246, 3,247, 3,248, 3,250, + 3,251, 3,252, 3,253, 3,254, 3,255, 4, 0, 4, 3, 4, 33, 4, 34, 4, 35, 4, 38, 4, 39, 4, 40, 4, 43, 4, 44, 4, 46, + 4, 47, 4, 52, 4, 53, 4, 54, 4, 57, 4, 59, 0, 2, 0, 82, 0, 38, 10,249, 10,255, 11, 5, 11, 9, 11, 13, 11, 17, 11, 21, + 11, 33, 11, 37, 11, 41, 11, 45, 11, 49, 11, 53, 11, 57, 11, 61, 11, 65, 11, 69, 11, 73, 11, 77, 11, 81, 11, 85, 11, 89, 11, 97, + 10,173, 10,165, 10,153, 10,157, 10,169, 10,161, 10,189, 10,185, 10,193, 10,197, 10,177, 10,205, 10,209, 10,215, 10,221, 0, 1, + 0, 38, 3,228, 3,230, 3,232, 3,233, 3,234, 3,235, 3,236, 3,241, 3,242, 3,243, 3,244, 3,245, 3,246, 3,247, 3,248, + 3,250, 3,251, 3,252, 3,253, 3,254, 3,255, 4, 0, 4, 3, 4, 33, 4, 34, 4, 35, 4, 38, 4, 39, 4, 40, 4, 43, 4, 44, + 4, 46, 4, 47, 4, 52, 4, 53, 4, 54, 4, 57, 4, 59, 0, 1, 0, 30, 0, 2, 0, 10, 0, 20, 0, 1, 0, 4, 11,105, 0, 2, + 10,252, 0, 1, 0, 4, 11,106, 0, 2, 10,252, 0, 1, 0, 2, 11, 77, 11, 78, 0, 1, 0, 62, 0, 2, 0, 10, 0, 36, 0, 3, + 0, 8, 0, 14, 0, 20, 11,103, 0, 2, 10,246, 11,101, 0, 2, 10,242, 11, 99, 0, 2, 10,240, 0, 3, 0, 8, 0, 14, 0, 20, + 11,104, 0, 2, 10,246, 11,102, 0, 2, 10,242, 11,100, 0, 2, 10,240, 0, 1, 0, 2, 11, 77, 11, 78, 0, 1, 0, 26, 0, 1, + 0, 8, 0, 2, 0, 6, 0, 12, 10,150, 0, 2, 0, 79, 10,149, 0, 2, 0, 76, 0, 1, 0, 1, 0, 73, 0, 2, 0, 10, 0, 2, + 0,243, 1,226, 0, 1, 0, 2, 0, 76, 0, 77, 0, 1, 4,209, 1,144, 0, 5, 0, 0, 5, 51, 5,153, 0, 0, 1, 30, 5, 51, + 5,153, 0, 0, 3,215, 0,102, 2, 18, 0, 0, 2, 11, 6, 9, 3, 8, 4, 2, 2, 4,230, 0, 34,255,210, 0,249,251, 2, 0, + 0, 40, 0, 0, 0, 0, 80,102, 69,100, 0, 64, 0, 32,255,255, 6, 20,254, 20, 1,154, 7,109, 1,227, 96, 0, 0,223,255,223, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 44, 0, 0, 0, 4, 0, 0, 7,156, 0, 1, 0, 0, 0, 0, 18,188, + 0, 3, 0, 1, 0, 0, 0, 44, 0, 3, 0, 10, 0, 0, 7,156, 0, 4, 7,112, 0, 0, 1,216, 1, 0, 0, 7, 0,216, 0, 0, + 0,126, 1,185, 1,190, 1,195, 1,227, 1,240, 1,246, 1,249, 2, 27, 2, 33, 2, 65, 2, 69, 2,185, 2,193, 2,201, 2,205, + 2,211, 2,214, 2,222, 2,233, 2,243, 3, 63, 3, 67, 3, 88, 3, 97, 3,117, 3,122, 3,126, 3,138, 3,140, 3,161, 3,206, + 3,225, 4, 95, 4,155, 4,163, 4,179, 4,187, 4,196, 4,200, 4,204, 4,249, 6, 12, 6, 21, 6, 27, 6, 31, 6, 58, 6, 85, + 6, 90, 6,111, 6,116, 6,135, 6,146, 6,152, 6,161, 6,164, 6,169, 6,175, 6,181, 6,186, 6,190, 6,198, 6,204, 6,206, + 6,213, 6,249, 14,130, 14,132, 14,136, 14,138, 14,141, 14,151, 14,159, 14,163, 14,165, 14,167, 14,171, 14,185, 14,188, 14,205, + 16,252, 29, 2, 29, 9, 29, 20, 29, 23, 29, 31, 29, 46, 29, 60, 29, 91, 29,101, 29,120, 29,123, 29,133, 29,183, 29,191, 30, 19, + 30, 37, 30, 45, 30, 75, 30, 99, 30,119, 30,139, 30,143, 30,150, 30,155, 30,161, 30,177, 30,185, 30,189, 30,205, 30,229, 30,245, + 30,249, 31, 21, 31, 29, 31, 69, 31, 77, 31, 87, 31, 89, 31, 91, 31, 93, 31,125, 31,180, 31,196, 31,211, 31,219, 31,239, 31,244, + 31,254, 32, 10, 32, 21, 32, 35, 32, 38, 32, 49, 32, 58, 32, 62, 32, 73, 32, 95, 32,113, 32,142, 32,148, 32,166, 32,172, 32,177, + 32,181, 33, 2, 33, 14, 33, 22, 33, 34, 33, 38, 33, 43, 33, 95, 33,255, 34, 2, 34, 13, 34, 15, 34, 19, 34, 21, 34, 26, 34, 32, + 34, 45, 34, 61, 34,105, 34,139, 34,146, 34,161, 34,198, 34,205, 34,233, 34,239, 35, 6, 35, 21, 35, 25, 35, 33, 35, 40, 35, 43, + 35, 53, 35, 62, 35, 68, 35, 73, 35, 77, 35, 80, 35, 84, 35, 92, 35, 96, 35,101, 35,105, 35,112, 35,122, 35,125, 35,131, 35,139, + 35,149, 35,174, 35,207, 36, 35, 38, 47, 38,139, 38,156, 38,161, 38,177, 39, 4, 39, 9, 39, 39, 39, 75, 39, 77, 39, 82, 39, 86, + 39, 94, 39,117, 39,148, 39,175, 39,190, 39,224, 39,233, 41,235, 41,251, 42, 47, 43, 26, 44,119, 46, 24, 46, 46,246,197,251, 2, +251,129,251,149,251,159,251,173,251,233,251,255,254,116,254,252,254,255,255,253,255,255, 0, 0, 0, 0, 0, 32, 0,160, 1,187, + 1,192, 1,205, 1,230, 1,244, 1,248, 1,252, 2, 30, 2, 36, 2, 69, 2, 80, 2,187, 2,198, 2,204, 2,208, 2,214, 2,216, + 2,224, 2,243, 3, 0, 3, 67, 3, 88, 3, 97, 3,116, 3,122, 3,126, 3,132, 3,140, 3,142, 3,163, 3,208, 3,240, 4,144, + 4,162, 4,170, 4,186, 4,192, 4,199, 4,203, 4,207, 6, 12, 6, 21, 6, 27, 6, 31, 6, 33, 6, 64, 6, 90, 6, 96, 6,116, + 6,121, 6,145, 6,152, 6,161, 6,164, 6,169, 6,175, 6,181, 6,186, 6,190, 6,198, 6,204, 6,206, 6,213, 6,240, 14,129, + 14,132, 14,135, 14,138, 14,141, 14,148, 14,153, 14,161, 14,165, 14,167, 14,170, 14,173, 14,187, 14,200, 16,208, 29, 2, 29, 8, + 29, 20, 29, 22, 29, 29, 29, 44, 29, 48, 29, 62, 29, 98, 29,119, 29,123, 29,133, 29,155, 29,185, 30, 0, 30, 24, 30, 40, 30, 48, + 30, 86, 30,104, 30,126, 30,142, 30,146, 30,155, 30,160, 30,176, 30,184, 30,188, 30,202, 30,228, 30,242, 30,248, 31, 0, 31, 24, + 31, 32, 31, 72, 31, 80, 31, 89, 31, 91, 31, 93, 31, 95, 31,128, 31,182, 31,198, 31,214, 31,221, 31,242, 31,246, 32, 0, 32, 16, + 32, 23, 32, 38, 32, 47, 32, 57, 32, 60, 32, 69, 32, 95, 32,112, 32,116, 32,144, 32,166, 32,172, 32,177, 32,180, 33, 2, 33, 14, + 33, 22, 33, 34, 33, 38, 33, 42, 33, 83, 33,144, 34, 2, 34, 5, 34, 15, 34, 17, 34, 21, 34, 23, 34, 29, 34, 39, 34, 56, 34, 65, + 34,109, 34,143, 34,149, 34,197, 34,205, 34,218, 34,239, 35, 0, 35, 8, 35, 24, 35, 28, 35, 37, 35, 43, 35, 53, 35, 55, 35, 65, + 35, 71, 35, 75, 35, 80, 35, 82, 35, 87, 35, 94, 35, 99, 35,104, 35,107, 35,115, 35,125, 35,128, 35,136, 35,149, 35,155, 35,206, + 36, 35, 37, 0, 38, 56, 38,144, 38,160, 38,176, 39, 1, 39, 6, 39, 12, 39, 41, 39, 77, 39, 79, 39, 86, 39, 88, 39, 97, 39,148, + 39,152, 39,177, 39,224, 39,232, 41,235, 41,250, 42, 47, 43, 18, 44,117, 46, 24, 46, 46,246,197,251, 1,251, 82,251,138,251,158, +251,170,251,232,251,252,254,112,254,118,254,255,255,249,255,255, 0, 0,255,227,255,194,255,193,255,192,255,183,255,181,255,178, +255,177,255,175,255,173,255,171,255,168,255,158,255,157,255,153,255,151,255,149,255,147,255,146,255,145,255,136,255,124,255,121, +255,101,255, 93,255, 75,255, 71,255, 68,255, 63,255, 62,255, 61,255, 60,255, 59,255, 45,254,253,254,247,254,241,254,235,254,231, +254,229,254,227,254,225,253,207,253,199,253,194,253,191,253,190,253,185,253,181,253,176,253,172,253,168,253,159,253,154,253,146, +253,144,253,140,253,135,253,130,253,126,253,123,253,116,253,111,253,110,253,104,253, 78,245,199,245,198,245,196,245,195,245,193, +245,187,245,186,245,185,245,184,245,183,245,181,245,180,245,179,245,168,243,166,231,161,231,156,231,146,231,145,231,140,231,128, +231,127,231,126,231,120,231,103,231,101,231, 92,231, 71,231, 70,231, 6,231, 2,231, 0,230,254,230,244,230,240,230,234,230,232, +230,230,230,226,230,222,230,208,230,202,230,200,230,188,230,166,230,154,230,152,230,146,230,144,230,142,230,140,230,138,230,137, +230,136,230,135,230,134,230,132,230,131,230,130,230,128,230,127,230,125,230,124,230,123,230,118,230,117,230,115,230,107,230,100, +230, 99,230, 93,230, 72,230, 56,230, 54,230, 53,230, 36,230, 31,230, 27,230, 25,229,205,229,194,229,187,229,176,229,173,229,170, +229,131,229, 83,229, 81,229, 79,229, 78,229, 77,229, 76,229, 75,229, 73,229, 67,229, 57,229, 54,229, 51,229, 48,229, 46,229, 11, +229, 5,228,249,228,244,228,228,228,227,228,225,228,223,228,220,228,218,228,209,228,208,228,206,228,204,228,203,228,201,228,200, +228,198,228,197,228,195,228,193,228,192,228,190,228,188,228,186,228,182,228,173,228,168,228,137,228, 54,227, 90,227, 82,227, 78, +227, 75,227, 61,226,238,226,237,226,235,226,234,226,233,226,232,226,229,226,228,226,226,226,196,226,193,226,192,226,159,226,152, +224,151,224,137,224, 86,223,116,222, 26,220,122,220,101, 19,207, 15,148, 15, 69, 15, 61, 15, 53, 15, 43, 14,241, 14,223, 12,111, + 12,110, 12,108, 11,115, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 8, 0, 8,115, 0, 0, 0,178, 0,182, 0,188, 0,156, 0,213, 0, 0, 0, 0, 0, 0, 0,143, 0,131, - 0,151, 0,159, 0,125, 0,229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,186, 0,197, 0,186, 0, 0, 0, 0, 0,164, - 0,159, 0,143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176, 0,185, - 0,138, 0, 0, 0, 0, 0,155, 0,166, 0,143, 0,119, 0, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0,105, 0,110, 0,144, 0,192, 1,137, 0,219, 0,172, 0, 0, 0, 0, 0, 0, 0,102, 0,111, 0,120, 0,150, - 0,192, 0,213, 1, 72, 0,205, 1, 21, 2,151, 0,254, 1, 47, 0,237, 1, 78, 0,121, 1, 22, 1, 76, 1,245, 2, 39, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,226, 5,182, 0,150, 0,140, 0,229, 0,150, 0,137, 0,250, - 0, 0, 1, 24, 1, 12, 3, 29, 0,153, 2, 74, 0,120, 2,182, 0,141, 0,168, 0,140, 0, 0, 0, 0, 2,121, 0,217, 0,180, - 0, 0, 0, 0, 1, 90, 0,109, 0,127, 0,160, 0, 0, 0, 0, 0,109, 0,136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0,140, 0,160, 0, 0, 0,130, 0,137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,182,252,234, 0, 17,255,235, - 0,150, 0, 0, 0, 0, 0, 0, 0,115, 0,101, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0,188, 1,170, 3, 84, 1,170, 2, 29, - 0,188, 0,182, 0, 0, 0, 0, 0, 0, 0,150, 0, 0, 0, 0, 5,182,254,188, 0,152, 0,172, 1, 57, 1,245, 1,131, 3, 29, -255,243, 0,131, 0,122, 0,134, 0, 0, 0, 0,254,111, 0,137, 0, 0, 0, 40, 0, 40, 0, 40, 0, 40, 0, 90, 0,135, 1, 28, - 1,193, 2,108, 3, 39, 3, 66, 3,111, 3,156, 3,210, 3,250, 4, 45, 4, 74, 4,105, 4,135, 4,205, 4,250, 5, 77, 5,178, - 6, 2, 6, 85, 6,179, 6,233, 7,103, 7,196, 7,245, 8, 52, 8,122, 8,174, 8,243, 9, 75, 9,234, 10, 97, 10,190, 10,255, - 11, 55, 11,111, 11,175, 11,252, 12, 51, 12,110, 12,156, 13, 28, 13, 66, 13,194, 14, 26, 14, 85, 14,147, 14,238, 15, 79, 15,156, - 15,204, 15,254, 16,101, 17, 71, 17,196, 18, 54, 18,111, 18,156, 18,186, 18,231, 19, 22, 19, 45, 19, 79, 19,164, 19,241, 20, 44, - 20,122, 20,201, 21, 17, 21,159, 21,221, 22, 25, 22, 93, 22,185, 22,231, 23, 77, 23,134, 23,192, 24, 16, 24, 95, 24,149, 24,226, - 25, 49, 25,104, 25,189, 26,130, 26,246, 27, 87, 27,145, 27,237, 28, 5, 28, 96, 28,149, 28,149, 28,191, 29, 15, 29, 98, 29,208, - 30, 87, 30,123, 31, 4, 31, 58, 31,194, 32, 22, 32, 94, 32,132, 32,140, 33, 41, 33, 62, 33,169, 33,221, 34, 40, 34,150, 34,184, - 34,250, 35, 61, 35, 95, 35,156, 35,196, 35,252, 36, 68, 36,115, 36,166, 36,211, 37, 51, 37, 75, 37, 98, 37,121, 37,145, 37,171, - 37,209, 38, 58, 38, 76, 38,100, 38,123, 38,146, 38,171, 38,195, 38,218, 38,241, 39, 10, 39, 90, 39,113, 39,137, 39,160, 39,184, - 39,207, 39,232, 40, 55, 40,165, 40,189, 40,212, 40,235, 41, 4, 41, 27, 41, 93, 41,211, 41,234, 42, 2, 42, 26, 42, 54, 42, 84, - 42,108, 42,237, 42,255, 43, 22, 43, 50, 43, 72, 43, 96, 43,119, 43,141, 43,164, 43,189, 44, 53, 44, 75, 44, 98, 44,120, 44,143, - 44,165, 44,190, 45, 9, 45,127, 45,150, 45,172, 45,194, 45,218, 45,240, 46, 65, 46, 89, 46,113, 46,135, 46,159, 46,181, 46,206, - 46,237, 47, 4, 47, 27, 47, 60, 47, 82, 47,105, 47,127, 47,150, 47,172, 47,196, 47,224, 47,232, 48, 78, 48,102, 48,124, 48,147, - 48,169, 48,192, 48,214, 48,234, 48,254, 49, 21, 49, 43, 49, 66, 49, 89, 49,116, 49,139, 49,162, 49,184, 49,206, 49,228, 49,251, - 50, 18, 50,100, 50,182, 50,205, 50,228, 50,251, 51, 18, 51, 41, 51, 63, 51, 82, 51,101, 51,124, 51,168, 51,230, 52, 75, 52, 98, - 52,121, 52,144, 52,167, 53, 4, 53, 28, 53, 51, 53, 74, 53, 97, 53,117, 53,139, 53,159, 53,183, 54, 18, 54,124, 54,147, 54,169, - 54,192, 54,215, 54,239, 55, 5, 55, 78, 55,168, 55,238, 56, 5, 56, 27, 56, 51, 56, 73, 56, 98, 56,122, 56,208, 57, 73, 57, 97, - 57,119, 57,142, 57,174, 57,198, 57,221, 57,244, 58, 10, 58, 33, 58, 55, 58, 74, 58, 95, 58,118, 58,140, 58,163, 58,185, 58,208, - 58,230, 59, 48, 59,147, 59,170, 59,192, 59,216, 59,238, 60, 6, 60, 28, 60, 53, 60, 78, 60,103, 60,127, 60,146, 60,171, 60,194, - 60,217, 60,240, 61, 6, 61, 31, 61, 54, 61, 76, 61, 99, 61,121, 61,144, 61,166, 61,215, 62, 47, 62,104, 62,156, 62,179, 62,201, - 62,224, 62,246, 63, 12, 63, 35, 63, 87, 63,139, 63,185, 63,248, 64, 46, 64,154, 64,208, 65, 9, 65, 73, 65,110, 65,193, 65,218, - 65,252, 66, 26, 66, 56, 66, 81, 66,104, 66,127, 66,150, 66,171, 66,179, 66,187, 66,232, 67,111, 67,119, 67,127, 67,135, 67,231, - 67,239, 67,247, 68,111, 68,119, 68,127, 68,190, 68,198, 68,235, 68,243, 69, 78, 69, 86, 69, 94, 69,241, 69,249, 70, 95, 70,201, - 70,226, 70,251, 71, 18, 71, 40, 71, 62, 71, 84, 71,109, 71,199, 72, 43, 72,129, 72,226, 73, 57, 73,176, 73,232, 74, 65, 74,108, - 74,116, 74,211, 75, 20, 75,107, 75,248, 76, 0, 76, 94, 76,167, 77, 4, 77, 71, 77,143, 77,200, 78, 42, 78,211, 79, 51, 79,187, - 79,211, 79,236, 80, 2, 80, 24, 80, 46, 80, 71, 80,175, 80,198, 81, 19, 81, 27, 81, 35, 81, 60, 81, 68, 81,188, 82, 8, 82, 93, - 82,116, 82,139, 82,196, 82,204, 83, 9, 83, 17, 83, 25, 83,128, 83,136, 84, 21, 84,116, 84,197, 84,221, 85, 55, 85,141, 85,149, - 85,157, 85,165, 85,173, 85,181, 85,189, 85,197, 86, 66, 86, 74, 86, 82, 86,135, 86,188, 87, 1, 87, 93, 87,159, 87,239, 88, 44, - 88,124, 88,232, 89, 71, 89, 79, 89,166, 90, 5, 90, 45, 90,139, 90,147, 91, 62, 91,153, 91,246, 92, 18, 92,113, 92,246, 93,128, - 93,184, 93,192, 93,231, 93,239, 93,247, 94, 40, 94, 48, 94,144, 94,152, 94,204, 95, 1, 95, 69, 95,152, 95,220, 96, 52, 96,115, - 96,209, 97, 51, 97,142, 97,166, 98, 10, 98, 32, 98,121, 98,129, 98,137, 98,162, 98,170, 99, 26, 99,112, 99,120, 99,142, 99,164, - 99,222,100, 16,100, 58,100, 82,100,105,100,128,100,150,100,175,100,200,100,224,100,247,101, 16,101, 38,101, 60,101,110,101,150, -101,197,101,249,102, 32,102, 99,102,176,102,253,103, 49,103,122,103,164,103,246,104,185,104,193,104,201,104,254,105, 38,105, 68, -105,100,105,162,105,242,106,103,106,221,107, 80,107,228,108, 79,109, 10,109,109,109,117,109,195,109,254,110, 53,110,110,110,167, -110,250,111,124,111,168,112, 1,112, 27,112, 72,112,178,112,232,113, 65,113,157,113,235,114, 55,114,118,114,212,115, 31,115, 78, -115,130,115,162,115,195,115,228,116, 22,116, 97,116,182,116,255,117, 45,117,161,117,239,117,239,117,239,117,239,117,239,117,239, -117,239,117,239,117,239,117,239,117,239,117,239,117,239,117,239,119, 67,119,192,119,210,119,218,120,119,120,241,121,122,121,145, -121,167,121,191,121,215,121,252,122, 83,122,157,123, 25,123,148,123,253,124, 89,124,173,125, 17,125, 25,125, 33,125, 41,125,108, -125,140,125,164,125,188,125,211,125,234,126,126,127, 2,127, 86,127,172,128, 27,128,136,129, 6,129,155,130, 81,130,235,131, 85, -131,208,132, 81,132,226,133,190,134,162,134,170,134,178,135, 13,135, 89,135,179,136, 18,136, 44,136, 69,136,233,137,144,138, 28, -138,155,139,132,140, 86,141, 26,141,219,142, 45,142,120,142,249,143, 41,143, 90,143,138,143,188,144,100,145, 13,145,135,146, 22, -146,104,146,192,147, 48,147,193,147,244,148, 38,148,125,148,213,149, 58,149,151,149,170,149,191,150, 25,150, 95,150,199,151, 43, -151,138,151,241,152, 63,152,138,152,206,153, 21,153, 85,153,140,153,229,154, 74,154,245,155,170,155,190,155,209,156, 13,156, 63, -156, 71,156,158,157, 36,157,148,158, 8,158,139,158,196,159, 0,159, 71,159,146,159,233,160, 70,160,125,160,192,161, 60,161,185, -162, 67,162,204,162,212,162,235,163, 1,163,104,163,199,164, 37,164,112,164,196,165, 21,165, 93,165,159,165,235,166, 60,166,220, -167,126,167,134,167,158,167,180,167,206,167,230,167,238,167,246,168, 14,168, 36,168,133,168,230,168,255,169, 23,169, 49,169, 74, -169,100,169,125,169,212,170, 46,170, 69,170, 91,170,116,170,140,170,165,170,190,170,198,170,206,170,231,171, 0,171, 26,171, 51, -171, 74,171, 96,171,122,171,146,171,171,171,195,171,220,171,244,172, 37,172, 81,172,106,172,130,172,212,173, 37,173, 62,173, 90, -173,212,174, 93,174,156,174,164,175, 9,175,127,175,246,176,105,176,213,177, 62,177,175,178, 18,178,100,178,186,179, 28,179,120, -179,193,180, 10,180,127,180,135,180,143,180,151,180,173,180,195,180,218,180,240,181, 9,181, 33,181, 59,181, 84,181,109,181,133, -181,158,181,182,181,215,181,247,182, 16,182, 40,182, 65,182, 89,182,114,182,138,182,164,182,188,182,223,182,255,183, 21,183, 43, -183, 66,183, 88,183,111,183,133,183,158,183,182,183,208,183,233,184, 2,184, 26,184, 52,184, 76,184,109,184,141,184,164,184,186, -184,208,184,231,184,254,185, 20,185, 43,185, 65,185, 90,185,114,185,140,185,165,185,190,185,214,185,239,186, 7,186, 43,186, 75, -186, 98,186,117,186,141,186,162,186,186,186,209,186,233,186,254,187, 21,187, 44,187, 66,187, 88,187,111,187,133,187,157,187,178, -187,202,187,224,187,248,188, 15,188, 38,188, 57,188, 80,188,103,188,125,188,147,188,170,188,192,188,215,188,237,189,126,189,195, -190, 21,190,103,190,216,191, 79,191,152,191,225,192, 77,192,190,192,241,193, 28,193, 71, 0, 0, 0, 2, 0,193, 0, 0, 4, 10, - 5,182, 0, 3, 0, 7, 0, 39, 64, 21, 5, 96, 2, 1, 2, 2, 9, 4, 0, 3,112, 3,128, 3, 3, 3, 4, 3, 7, 0, 3, 0, - 63, 50, 47, 51, 1, 47, 93, 51, 17, 51, 47, 93, 51, 49, 48, 19, 33, 17, 33, 55, 33, 17, 33,193, 3, 73,252,183,104, 2,121,253, -135, 5,182,250, 74,104, 4,230, 0, 2, 1,231,255,227, 2,229, 5,182, 0, 3, 0, 11, 0, 52, 64, 28, 1, 0, 3, 6,150, 2, - 10, 10, 12, 13, 47, 0, 1, 0, 0, 2, 21, 4, 1, 6, 4, 1, 4,155, 8,168, 2, 3, 0, 63, 63,225, 93, 93, 17, 57, 47, 93, - 17, 18, 1, 57, 47, 51,225, 50, 57, 57, 49, 48, 1, 35, 3, 51, 3, 50, 21, 20, 35, 34, 53, 52, 2,164,121, 51,223,113,127,127, -127, 1,158, 4, 24,251, 68,139,140,140,139, 0, 0, 2, 1, 29, 3,166, 3,176, 5,182, 0, 3, 0, 7, 0, 46, 64, 28, 4,207, - 7, 1,160, 7, 1, 79, 7, 1, 7, 0, 32, 3, 48, 3,144, 3,160, 3, 4, 3, 6, 1,158, 7, 0, 3, 0, 63, 50,237, 50, 1, - 47, 93,193, 47, 93, 93, 93,193, 49, 48, 1, 3, 35, 3, 33, 3, 35, 3, 2, 10, 41,155, 41, 2,147, 41,155, 41, 5,182,253,240, - 2, 16,253,240, 2, 16, 0, 2, 0, 45, 0, 0, 4,160, 5,182, 0, 27, 0, 31, 0,184, 64,115, 28, 8, 20, 9,171, 10, 18, 15, - 14, 11, 4, 10, 19,170, 20, 4, 1, 0, 25, 4, 24, 5,170, 6, 22, 30, 29, 7, 4, 6, 23,171, 24, 31, 21, 10, 20, 64, 2, 80, - 2, 2, 16, 10, 20, 6, 24, 2, 2, 24, 6, 20, 10, 16, 6,208, 26,240, 26, 2,127, 26,159, 26, 2, 26,224, 12,240, 12, 2, 12, - 8, 4, 12,174, 13, 28, 1, 13, 31, 0, 16,174, 17, 25, 21, 17, 63, 17, 79, 17,127, 17,143, 17,159, 17, 5, 63, 13, 79, 13, 2, - 13, 17, 13, 17, 5, 23, 19, 3, 10, 5, 18, 0, 63, 51, 63, 51, 18, 57, 57, 47, 47, 93, 93, 17, 51, 51, 16,225, 50, 50, 17, 51, - 51, 16,225, 50, 50, 1, 47, 93, 47, 93, 93, 23, 57, 47, 47, 47, 47, 47, 47, 93, 17, 18, 57, 57, 16,225, 17, 23, 57, 16,225, 17, - 23, 57, 16,225, 17, 23, 57, 16,225, 17, 57, 57, 49, 48, 1, 3, 51, 21, 33, 3, 35, 19, 33, 3, 35, 19, 35, 53, 51, 19, 35, 53, - 33, 19, 51, 3, 33, 19, 51, 3, 51, 21, 1, 33, 19, 33, 3,168, 64,240,254,246, 82,148, 84,254,222, 82,144, 78,217,244, 65,233, - 1, 2, 82,147, 82, 1, 37, 84,144, 84,221,253, 20, 1, 35, 64,254,221, 3,125,254,184,137,254, 84, 1,172,254, 84, 1,172,137, - 1, 72,137, 1,176,254, 80, 1,176,254, 80,137,254,184, 1, 72, 0, 3, 0,182,255,137, 4, 20, 6, 18, 0, 28, 0, 34, 0, 39, - 0,205, 64,134, 19, 36, 1, 4, 36, 1, 19, 35, 1, 4, 35, 1, 19, 9, 1, 6, 9, 1, 3, 8, 19, 8, 2, 2, 3, 18, 3, 2, - 2, 2, 18, 2, 2, 4, 1, 20, 1, 2, 4, 0, 20, 0, 2, 36, 24, 18, 1,112, 29, 15, 8, 2, 2, 5, 72, 38, 88, 38,120, 38, - 3, 38,110, 20, 27, 64, 17, 20, 72, 64, 27, 80, 27, 2, 27, 41, 5, 5, 32,110, 0, 12,144, 12,160, 12,208, 12, 4, 12, 23, 30, -115, 15, 38, 35, 9, 24, 29, 32, 6, 3, 21, 18, 15, 95, 16,111, 16,127, 16, 3, 16, 16, 15, 15, 47, 15, 63, 15, 95, 15, 4, 15, - 36, 8,115, 3, 6, 3, 2, 2, 0, 3,184,255,192,179, 10, 14, 72, 3, 0, 47, 43, 51, 51, 47, 17, 51, 16,225, 50, 47, 93, 51, - 47, 93, 17, 51, 51, 18, 23, 57, 16,225, 50, 1, 47, 93,225, 51, 47, 16,222, 93, 43, 50,225, 93, 17, 57, 47, 51, 51, 51,225, 50, - 50, 50, 49, 48, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 37, 21, 35, 53, 34, 39, 53, 22, 51, 17, 38, 38, 53, 52, 54, 55, 53, - 51, 21, 22, 23, 7, 38, 39, 17, 22, 22, 21, 16, 1, 17, 6, 21, 20, 22, 23, 17, 54, 53, 52, 2,172,137,228,137,196,169,193,155, -184,164,137,187,149, 66,140,130,199,161,254, 15,172, 81,228,184,111,230,221, 70,172, 92, 1,178, 64,163,138,131,172, 20,180,176, - 9, 69,145, 62, 10,254, 90, 68,161,130,254,232, 2,176, 1,113, 29,145, 78, 86,250,254,139, 28,156,127, 0, 5, 0, 0,255,238, - 4,205, 5,199, 0, 11, 0, 19, 0, 23, 0, 35, 0, 43, 0,207,185, 0, 34,255,224,179, 9, 13, 72, 32,184,255,224, 64, 14, 9, - 13, 72, 28, 32, 9, 13, 72, 26, 32, 9, 13, 72, 10,184,255,224,179, 9, 13, 72, 8,184,255,224, 64, 33, 9, 13, 72, 4, 32, 9, - 13, 72, 2, 32, 9, 13, 72,103, 42,151, 42,167, 42, 3, 42,180, 27,181, 33, 21, 22, 23, 20, 0, 22, 1, 22,184,255,192, 64, 26, - 21, 24, 72, 15, 20, 1, 20, 64, 21, 24, 72, 22, 20, 22, 20, 3,104, 38,152, 38,168, 38, 3, 38,180, 33,184,255,192, 64, 46, 21, - 24, 72, 33, 45,104, 14,152, 14,168, 14, 3, 14,180, 9,181,103, 18,151, 18,167, 18, 3, 18,180, 3, 40,182, 30,183, 36,182, 24, - 25, 23, 6, 21, 24, 12,182, 0,183, 16,182, 6, 7, 0, 63,225,244,225, 63, 63, 63,225,244,225, 1, 47,225, 93,244,225, 93, 16, -212, 43,225, 93, 18, 57, 57, 47, 47, 43, 93, 43, 93, 17, 51, 17, 51, 16,244,225, 93, 49, 48, 43, 43, 43, 43, 43, 43, 43, 43, 1, - 34, 38, 53, 52, 54, 51, 50, 22, 21, 20, 6, 39, 50, 53, 52, 35, 34, 21, 20, 1, 1, 35, 1, 19, 34, 38, 53, 52, 54, 51, 50, 22, - 21, 20, 6, 39, 50, 53, 52, 35, 34, 21, 20, 1, 35,131,160,158,137,129,162,157,136,139,139,141, 3,137,253, 39,158, 2,217, 35, -130,161,158,137,129,162,157,136,139,139,141, 3, 16,189,160,164,182,186,160,162,187,119,230,225,225,230, 2, 47,250, 74, 5,182, -250, 56,189,159,164,182,186,160,161,187,118,230,225,225,230, 0, 0, 3, 0, 61,255,236, 4,203, 5,205, 0, 26, 0, 37, 0, 45, - 0,229, 64, 15, 17, 39, 38, 9, 4, 8, 19, 8, 27, 0, 1, 6, 4, 7, 36,184,255,240, 64, 48, 14, 17, 72, 64, 36, 1, 52, 36, - 1, 36, 71, 19, 30, 16, 14, 17, 72, 79, 30, 1, 59, 30, 1, 6, 30, 71, 25, 32, 19, 48, 19, 2,192, 25,208, 25, 2, 19, 25, 19, - 25, 14,121, 3, 1, 3, 71, 4,184,255,192, 64, 28, 9, 18, 72, 4, 4, 7, 7, 47, 41, 72, 14, 64, 10, 16, 72, 14, 70, 6, 1, - 70, 1, 86, 1, 2, 55, 1, 1, 27,184,255,248, 64, 55, 11, 14, 72, 27, 0, 1, 6, 4, 8, 33, 80, 22, 88, 9, 1, 88, 38, 1, - 56, 39, 88, 39, 2, 41, 39, 1, 40, 17, 1, 17, 39, 38, 9, 4, 8, 22, 15, 3, 31, 3, 79, 3,127, 3, 4, 3, 3, 22, 4, 44, - 81, 11, 22, 8, 21, 0, 63, 63,225, 63, 57, 47, 93, 17, 18, 23, 57, 93, 93, 93, 93, 93, 16,225, 17, 23, 57, 43, 93, 93, 93, 1, - 47, 43,225, 17, 51, 47, 51, 47, 43,225, 93, 18, 57, 57, 47, 47, 93, 93, 16,225, 95, 93, 93, 43, 16,225, 93, 93, 43, 17, 23, 57, - 51, 17, 18, 23, 57, 49, 48, 1, 1, 54, 55, 51, 6, 7, 19, 35, 39, 6, 35, 34, 38, 53, 52, 54, 55, 38, 53, 52, 54, 51, 50, 22, - 21, 20, 5, 54, 54, 53, 52, 38, 35, 34, 6, 21, 20, 1, 1, 6, 21, 20, 22, 51, 50, 2, 90, 1, 25, 71, 33,184, 53,125,234,217, -131,174,238,189,217,127,172,163,191,179,168,185,254,100,134, 99, 99, 81, 87, 99, 1,147,254,189,203,134, 93,160, 3, 8,254,164, -121,145,234,169,254,221,166,186,214,187,131,195,102,192,164,148,172,171,149,203, 65, 79,119, 74, 74, 92, 89, 81,118,253, 8, 1, -145,123,178,105,141, 0, 0, 1, 1,240, 3,166, 2,221, 5,182, 0, 3, 0, 24, 64, 13, 0,160, 3,224, 3,240, 3, 3, 3, 1, -158, 0, 3, 0, 63,237, 1, 47, 93,193, 49, 48, 1, 3, 35, 3, 2,221, 41,155, 41, 5,182,253,240, 2, 16, 0, 0, 1, 1, 39, -254,188, 3,164, 5,182, 0, 9, 0, 39, 64, 21, 6, 5, 5, 0, 1, 1, 11, 3,240, 31, 8,127, 8,143, 8, 3, 8, 6,249, 0, -248, 0, 63, 63, 1, 47, 93,225, 17, 51, 47, 51, 51, 17, 51, 49, 48, 1, 51, 0, 17, 16, 1, 35, 0, 17, 16, 2,227,193,254, 63, - 1,191,191,254, 68, 5,182,254,136,253,251,253,247,254,140, 1, 97, 2, 26, 2, 20, 0, 0, 1, 1, 41,254,188, 3,166, 5,182, - 0, 9, 0, 39, 64, 21, 3,240, 16, 8,112, 8,128, 8, 3, 8, 8, 11, 0, 1, 1, 6, 5, 6,248, 0,249, 0, 63, 63, 1, 47, - 51, 51, 17, 51, 17, 51, 47, 93,225, 49, 48, 1, 35, 0, 17, 16, 1, 51, 0, 17, 16, 1,233,190, 1,190,254, 64,192, 1,189,254, -188, 1,115, 2, 10, 2, 6, 1,119,254,151,253,234,253,228, 0, 0, 1, 0,133, 2,119, 4, 72, 6, 20, 0, 14, 0, 36, 64, 21, -244, 7, 1, 7, 5, 9, 7, 4, 10, 3, 11, 1, 13, 2, 12, 11, 8, 6, 6, 0, 0, 0, 63, 50, 47, 51, 23, 57, 1, 25, 47, 93, - 49, 48, 1, 3, 37, 23, 5, 19, 7, 3, 3, 39, 19, 37, 55, 5, 3, 2,203, 43, 1,141, 27,254,133,246,179,176,157,185,242,254, -137, 29, 1,135, 43, 6, 20,254,119,111,193, 28,254,186, 96, 1,102,254,154, 96, 1, 70, 28,193,111, 1,137, 0, 0, 1, 0,152, - 1, 6, 4, 51, 4,162, 0, 11, 0, 31, 64, 16, 9, 6,170, 0,192, 3,208, 3, 2, 3, 9, 0,173, 6, 3,179, 0, 63, 51,225, - 50, 1, 47, 93, 51,225, 50, 49, 48, 1, 33, 53, 33, 17, 51, 17, 33, 21, 33, 17, 35, 2, 27,254,125, 1,131,149, 1,131,254,125, -149, 2,135,150, 1,133,254,123,150,254,127, 0, 0, 1, 1,184,254,223, 3, 18, 1, 6, 0, 6, 0, 63, 64, 25, 25, 6, 41, 6, -233, 6,249, 6, 4, 6,152, 1,153,112, 4,128, 4,208, 4,224, 4,240, 4, 5, 4,184,255,192, 64, 15, 9, 12, 72, 4, 4, 7, - 8, 3,158, 31, 6, 47, 6, 2, 6, 0, 47, 93,237, 17, 18, 1, 57, 47, 43, 93,253,225, 93, 49, 48, 1, 23, 6, 3, 35, 18, 55, - 3, 2, 16, 57,137,152, 76, 35, 1, 6, 24,224,254,209, 1, 67,228, 0, 0, 1, 1, 29, 1,209, 3,176, 2,121, 0, 3, 0, 32, - 64, 18,128, 2,144, 2, 2, 2, 2, 5, 32, 0, 48, 0, 2, 0, 0,185, 1,189, 0, 63,225, 1, 47, 93, 17, 51, 47, 93, 49, 48, - 1, 53, 33, 21, 1, 29, 2,147, 1,209,168,168, 0, 1, 1,207,255,225, 2,254, 1, 45, 0, 7, 0, 29, 64, 15, 2,151, 48, 6, -176, 6, 2, 6, 6, 8, 9, 0,156, 4,168, 0, 63,237, 17, 18, 1, 57, 47, 93,237, 49, 48, 1, 50, 21, 20, 35, 34, 53, 52, 2, -102,152,152,151, 1, 45,166,166,166,166, 0, 1, 0,211, 0, 0, 3,248, 5,182, 0, 3, 0, 28, 64, 12, 3, 0, 0, 5, 1, 2, - 2, 4, 3, 3, 1, 18, 0, 63, 63, 17, 1, 51, 47, 51, 17, 51, 47, 50, 49, 48, 1, 1, 35, 1, 3,248,253,141,178, 2,115, 5, -182,250, 74, 5,182, 0, 0, 2, 0,147,255,236, 4, 57, 5,205, 0, 9, 0, 21, 0, 54, 64, 18, 13,111,208, 8, 1, 8, 23, 19, -111, 0, 3, 16, 3, 32, 3, 3, 7, 3,184,255,192, 64, 12, 21, 24, 72, 3, 16,115, 5, 7, 10,115, 0, 25, 0, 63,225, 63,225, - 1, 47, 43, 94, 93,225, 16,222, 93,225, 49, 48, 5, 34, 2, 17, 16, 33, 50, 18, 17, 16, 37, 50, 18, 17, 16, 2, 35, 34, 2, 17, - 16, 18, 2,100,229,236, 1,209,232,237,254, 43,147,138,138,147,145,135,135, 20, 1,131, 1,110, 2,240,254,125,254,147,253, 15, -155, 1, 25, 1, 61, 1, 59, 1, 25,254,233,254,195,254,194,254,232, 0, 0, 1, 0,225, 0, 0, 2,246, 5,182, 0, 10, 0, 43, - 64, 22, 9, 1, 8, 8, 0,110, 0, 1, 16, 1, 2, 6, 1, 1, 12, 11, 4, 7, 9, 6, 0, 24, 0, 63, 63,205, 57, 17, 18, 1, - 57, 47, 94, 93,225, 51, 47, 17, 51, 49, 48, 33, 35, 17, 52, 55, 6, 7, 7, 39, 1, 51, 2,246,176, 8, 39, 82,147, 97, 1,127, -150, 3,145,122,239, 43, 70,121,123, 1, 43, 0, 0, 1, 0,158, 0, 0, 4, 45, 5,203, 0, 23, 0, 85, 64, 29,144, 23,160, 23, -176, 23, 3, 23, 23, 6,111,255, 17, 1, 17, 64, 15, 19, 72, 17, 25,213, 22,229, 22,245, 22, 3, 22,184,255,232, 64, 23, 9, 12, - 72, 22, 12, 0, 1,176, 1, 2, 1, 6, 1, 11, 9,115, 14, 7, 2, 22,116, 1, 24, 0, 63,225, 50, 63,225, 51, 18, 57, 1, 47, - 93, 50, 50, 43, 93, 16,222, 43, 93,225, 51, 47, 93, 49, 48, 33, 33, 53, 1, 54, 54, 53, 52, 38, 35, 34, 7, 39, 54, 51, 50, 22, - 21, 20, 6, 7, 1, 21, 33, 4, 45,252,113, 1, 94,195,124,127,108,160,158,102,192,230,194,224,118,232,254,231, 2,176,156, 1, -125,213,209,126,113,131,137,119,172,212,179,119,250,250,254,213, 8, 0, 0, 1, 0,131,255,236, 4, 31, 5,203, 0, 34, 0, 95, - 64, 58, 11, 19, 27, 19, 2, 0, 16, 21,111, 32, 32, 3, 95, 16, 1, 16, 16, 8, 13,111,159, 3,175, 3, 2, 3, 36, 27,207, 8, -223, 8,239, 8, 3, 0, 8, 1, 8, 0, 16,115,104, 17, 1, 17, 17, 11, 26, 24,115, 29, 7, 11,115, 9, 6, 25, 0, 63, 51,225, - 63,225, 51, 18, 57, 47, 93,225, 57, 1, 47, 93, 93, 51, 16,222, 93,225, 17, 57, 47, 93, 17, 51, 47,225, 18, 57, 49, 48, 93, 1, - 21, 4, 17, 20, 4, 33, 34, 39, 53, 22, 51, 32, 17, 16, 33, 35, 53, 51, 50, 54, 53, 52, 38, 35, 34, 7, 39, 54, 51, 50, 22, 21, - 20, 6, 2,182, 1,105,254,236,254,251,242,145,184,199, 1, 98,254,131,133,133,160,176,136,114,178,166, 92,187,249,206,231,164, - 3, 2, 6, 47,254,211,203,233, 79,170, 96, 1, 33, 1, 2,151,152,125,102,119,121,125,150,198,165,138,186, 0, 0, 2, 0, 61, - 0, 0, 4,102, 5,190, 0, 10, 0, 18, 0, 86, 64, 24, 7, 16, 9, 15, 72, 11, 7, 3,110, 9, 0, 2, 64, 16, 19, 72, 0, 2, - 1, 2, 2, 19, 20, 18,184,255,240, 64, 24, 11, 15, 72, 18, 5, 64, 10, 16, 72, 5, 1, 4,116, 9, 6, 14, 7, 11, 11, 2, 7, - 6, 2, 24, 0, 63, 63, 18, 57, 47, 18, 57, 51, 51,225, 50, 1, 47, 43, 51, 43, 17, 18, 57, 47, 93, 43, 51, 51,225, 50, 50, 49, - 48, 43, 1, 35, 17, 35, 17, 33, 53, 1, 51, 17, 51, 33, 17, 52, 19, 35, 6, 7, 1, 4,102,213,176,253, 92, 2,152,188,213,254, -123, 13, 9, 36, 54,254,101, 1, 72,254,184, 1, 72,159, 3,215,252, 48, 1,100,176, 1, 0,102, 78,253,160, 0, 0, 1, 0,172, -255,236, 4, 31, 5,182, 0, 24, 0, 82, 64, 49, 13, 64, 11, 15, 72, 13, 13, 0, 5,111,159, 20,175, 20, 2, 20, 26, 14, 15, 15, - 11, 9, 10, 10, 0, 0,144, 0,160, 0,176, 0, 4, 0, 9, 7,115, 17, 17, 11, 3,115, 1, 23, 25, 14,116, 11, 6, 0, 63,225, - 63, 51,225, 17, 57, 47,225, 51, 1, 47, 93, 51, 47, 51, 51, 51, 17, 51, 16,222, 93,225, 18, 57, 47, 43, 49, 48, 55, 53, 22, 51, - 32, 17, 16, 33, 34, 7, 39, 19, 33, 21, 33, 3, 54, 51, 50, 4, 21, 20, 4, 35, 34,172,144,216, 1, 80,254,168, 89,142, 90, 55, - 2,178,253,236, 39,107,102,210, 1, 3,254,236,251,224, 59,172, 96, 1, 58, 1, 38, 26, 57, 2,176,166,254, 93, 20,229,199,234, -255, 0, 0, 2, 0,154,255,236, 4, 51, 5,203, 0, 21, 0, 33, 0, 79, 64, 22, 1, 64, 11, 15, 72, 1, 1, 18, 22,110,191, 12, - 1, 12, 35, 6, 28,111, 0, 18, 1, 18,184,255,192, 64, 22, 20, 24, 72, 18, 6, 25,117,127, 9, 1, 9, 9, 31, 3,115, 1, 20, - 7, 31,115, 15, 25, 0, 63,225, 63, 51,225, 18, 57, 47, 93,225, 50, 1, 47, 43, 93,225, 50, 16,222, 93,225, 18, 57, 47, 43, 49, - 48, 1, 21, 38, 35, 34, 2, 3, 51, 54, 51, 50, 22, 21, 20, 2, 35, 34, 0, 17, 16, 33, 50, 19, 52, 38, 35, 34, 6, 21, 20, 22, - 51, 50, 54, 3,197, 71, 95,224,225, 10, 12, 95,212,195,221,241,203,218,254,253, 2,127,104, 2,137,127,127,172,162,131,127,143, - 5,184,155, 24,254,230,254,206,170,238,206,228,254,249, 1, 81, 1, 52, 3, 90,252, 12,145,156,162,104,152,221,176, 0, 0, 1, - 0,143, 0, 0, 4, 59, 5,182, 0, 6, 0, 71, 64, 48,121, 6,137, 6, 2, 71, 6, 87, 6, 2, 7, 6, 23, 6, 39, 6, 3, 6, - 0, 0, 2, 8, 1, 24, 1, 40, 1, 3, 1, 5, 8, 0, 2,208, 2,224, 2,240, 2, 4, 2, 5, 2,116, 3, 6, 0, 24, 0, 63, - 63,225, 50, 1, 47, 93, 16,206, 50, 93, 17, 57, 47, 51, 93, 49, 48, 93, 93, 33, 1, 33, 53, 33, 21, 1, 1, 78, 2, 51,253, 14, - 3,172,253,213, 5, 16,166,145,250,219, 0, 3, 0,156,255,236, 4, 49, 5,205, 0, 19, 0, 30, 0, 41, 0,124, 64, 31, 10, 31, - 12, 38,110, 2, 20, 0, 2, 28,110, 12, 22,110, 18, 12, 18, 12, 18, 8,191, 2, 1, 2, 43, 33,110, 0, 8, 1, 8,184,255,192, -183, 20, 24, 72, 8,215, 20, 1, 20,184,255,240, 64, 34, 12, 15, 72, 7, 20, 23, 20, 2, 57, 31, 89, 31,105, 31,121, 31, 4, 42, - 31, 1, 31, 10, 0, 20, 4, 35, 25,115, 15, 7, 35,115, 5, 25, 0, 63,225, 63,225, 18, 23, 57, 93, 93, 93, 43, 93, 1, 47, 43, - 93,225, 16,206, 93, 17, 57, 57, 47, 47, 16,225, 16,225, 17, 57, 57, 16,225, 17, 57, 57, 49, 48, 1, 4, 21, 20, 6, 35, 34, 38, - 53, 16, 37, 38, 53, 52, 54, 51, 50, 22, 21, 20, 5, 54, 53, 52, 38, 35, 34, 6, 21, 20, 22, 23, 6, 21, 20, 33, 50, 54, 53, 52, - 38, 39, 2,252, 1, 53,252,207,216,242, 1, 26,235,233,178,184,228,254,102,232,126,110,106,125, 99,108,254, 1, 20,136,149,126, -151, 3, 6,160,233,181,220,207,186, 1, 1,136,146,223,161,189,190,162,230, 55,103,175,101,106,106,101, 90,125,215,121,204,240, -131,117, 90,139, 74, 0, 0, 2, 0,154,255,236, 4, 51, 5,203, 0, 21, 0, 33, 0, 78,185, 0, 1,255,192, 64, 20, 11, 15, 72, - 1, 1, 12, 6, 28,111,191, 18, 1, 18, 35, 22,110, 0, 12, 1, 12,184,255,192, 64, 19, 20, 24, 72, 12, 6, 25,117, 9, 9, 15, - 3,117, 1, 20, 25, 31,115, 15, 7, 0, 63,225, 63, 51,225, 17, 57, 47,225, 50, 1, 47, 43, 93,225, 16,222, 93,225, 50, 18, 57, - 47, 43, 49, 48, 5, 53, 22, 51, 50, 18, 19, 35, 6, 35, 34, 38, 53, 52, 18, 51, 50, 0, 17, 16, 33, 34, 3, 20, 22, 51, 50, 54, - 53, 52, 38, 35, 34, 6, 1, 8, 67, 99,224,225, 10, 12, 96,212,194,221,241,203,220, 1, 1,253,129,105, 1,137,127,127,172,160, -133,128,142, 2,156, 25, 1, 26, 1, 50,170,236,208,228, 1, 8,254,170,254,209,252,166, 3,243,145,156,163,103,151,222,174, 0, - 0, 2, 1,231,255,227, 2,229, 4,102, 0, 7, 0, 15, 0, 45, 64, 27, 10, 2,150, 14, 48, 6, 96, 6,176, 6,224, 6,240, 6, - 5, 6, 6, 16, 17, 8,155, 12,168, 4,155, 0, 16, 0, 63,237, 63,237, 17, 18, 1, 57, 47, 93, 51,237, 50, 49, 48, 1, 50, 21, - 20, 35, 34, 53, 52, 19, 50, 21, 20, 35, 34, 53, 52, 2,102,127,127,127,127,127,127,127, 4,102,139,139,139,139,252,148,139,140, -140,139, 0, 2, 1,154,254,248, 2,236, 4,102, 0, 7, 0, 14, 0, 68, 64, 46, 25, 14, 41, 14,233, 14,249, 14, 4, 14,152, 12, -153, 9, 9, 2,150, 48, 6, 96, 6,176, 6,224, 6,240, 6, 5, 6, 6, 15, 16, 11,157, 31, 14, 47, 14, 63, 14, 3, 14, 4,155, - 0, 16, 0, 63,237, 47, 93,237, 17, 18, 1, 57, 47, 93,237, 50, 47,237,225, 93, 49, 48, 1, 50, 21, 20, 35, 34, 53, 52, 19, 23, - 6, 3, 35, 54, 55, 2,109,127,127,127,215, 14, 51,125,137, 62, 38, 4,102,139,139,139,139,252,136, 23,197,254,230,255,247, 0, - 0, 1, 0,152, 0,221, 4, 51, 4,201, 0, 6, 0, 97, 64, 61,103, 6,119, 6,135, 6, 3,104, 4,120, 4,136, 4, 3,118, 5, -134, 5, 2, 5, 4, 1, 4, 0, 8, 1, 1, 7, 2, 1, 5, 5, 3, 6,224, 0, 1,223, 0, 1, 64, 0, 1, 63, 0, 1, 0, 0, - 1, 0, 0, 4, 32, 3,192, 3, 2, 15, 3, 1, 3, 0, 47, 93, 93, 51, 51, 47, 93, 93, 93, 93, 93, 50, 18, 57, 17, 51, 51, 17, - 1, 51, 47, 16,206, 50, 17, 18, 57, 93, 49, 48, 0, 93, 93, 37, 1, 53, 1, 21, 1, 1, 4, 51,252,101, 3,155,253, 53, 2,203, -221, 1,195,102, 1,195,160,254,170,254,170, 0, 0, 2, 0,152, 1,186, 4, 51, 3,233, 0, 3, 0, 7, 0, 64, 64, 39, 7, 2, - 9, 4, 0, 1, 1, 1, 1, 8, 5,173,112, 4, 1, 79, 4, 95, 4,111, 4, 3, 0, 4, 1, 4, 4, 0,173,143, 1, 1, 80, 1, - 1, 15, 1, 1, 1, 0, 47, 93, 93, 93,225, 51, 47, 93, 93, 93,225, 17, 1, 51, 47, 93, 51, 16,206, 50, 49, 48, 19, 53, 33, 21, - 1, 53, 33, 21,152, 3,155,252,101, 3,155, 3, 84,149,149,254,102,150,150, 0, 0, 1, 0,152, 0,221, 4, 51, 4,201, 0, 6, - 0, 95, 64, 60,104, 2,120, 2,136, 2, 3,103, 0,119, 0,135, 0, 3,121, 1,137, 1, 2, 1, 6, 4, 8, 2, 6, 6, 7, 5, - 4, 1, 1, 3, 0,224, 6, 1,223, 6, 1, 64, 6, 1, 63, 6, 1, 0, 6, 1, 6, 6, 2, 32, 3,192, 3, 2, 15, 3, 1, 3, - 0, 47, 93, 93, 51, 51, 47, 93, 93, 93, 93, 93, 51, 18, 57, 17, 51, 51, 17, 1, 51, 47, 51, 16,206, 17, 57, 93, 49, 48, 0, 93, - 93, 19, 1, 1, 53, 1, 21, 1,152, 2,202,253, 54, 3,155,252,101, 1,125, 1, 86, 1, 86,160,254, 61,102,254, 61, 0, 0, 2, - 0,168,255,227, 4, 35, 5,203, 0, 25, 0, 33, 0, 74, 64, 42, 25, 0, 0, 28,150, 32, 32, 13, 7, 71, 18, 35, 32, 35, 1, 0, - 13, 1, 13, 7, 15, 47, 0, 1, 0, 0, 15, 21, 26, 1, 6, 26, 1, 26,155, 30,168, 12, 10, 81, 15, 4, 0, 63,225, 51, 63,225, - 93, 93, 17, 57, 47, 93, 18, 57, 1, 47, 93, 93, 16,222,225, 17, 57, 47,229, 51, 17, 51, 49, 48, 1, 53, 52, 54, 55, 54, 54, 53, - 52, 38, 35, 34, 7, 39, 54, 51, 50, 22, 21, 20, 6, 7, 6, 6, 21, 21, 7, 50, 21, 20, 35, 34, 53, 52, 1,209, 92,115,130, 83, -149,132,174,197, 65,209,217,214,251,107,143,118, 66, 72,127,127,127, 1,158, 37,120,150, 82, 97,116,100, 92,115, 90,153, 97,195, -164,133,166,108, 87,108, 90, 18,164,139,140,140,139, 0, 0, 2, 0, 31,255, 74, 4,174, 5,182, 0, 46, 0, 56, 0,143, 64, 90, - 22, 52, 1, 52,211, 6, 0, 47, 24, 56, 1, 56,211, 14, 11, 30, 14, 28, 6, 1,212, 14, 1, 96, 14, 1, 25, 14, 1, 4, 14, 1, - 6, 14, 6, 14, 36, 9, 19, 1, 19,210, 42, 58, 6, 25, 1, 25,210, 36, 17, 54,213, 3, 45, 3, 49,213, 9, 63, 3, 79, 3,143, - 3,207, 3,223, 3, 5, 48, 9, 64, 9,208, 9, 3, 3, 9, 3, 9, 28, 22,214, 39, 3, 28,214, 30, 33, 0, 47, 51,225, 63,225, - 18, 57, 57, 47, 47, 93, 93, 16,225, 17, 51, 16,225, 50, 1, 47,225, 93, 16,214,225, 93, 17, 57, 57, 47, 47, 93, 93, 93, 93, 93, - 17, 57, 51, 16,225, 93, 50, 57, 16,225, 93, 49, 48, 1, 35, 6, 35, 34, 38, 53, 52, 54, 51, 50, 23, 3, 6, 21, 21, 20, 51, 50, - 17, 16, 2, 35, 34, 2, 17, 16, 0, 51, 50, 55, 21, 6, 35, 32, 0, 17, 16, 0, 33, 50, 0, 17, 20, 2, 35, 34, 3, 38, 35, 34, - 6, 21, 20, 51, 50, 19, 3, 31, 4, 74,156,120,140,194,158,137,119, 22, 2, 72,100,222,188,226,253, 1, 3,239,181,165,158,194, -254,214,254,177, 1, 78, 1, 32,248, 1, 41,128,114,128, 76, 54, 49, 89, 95,127,131, 14, 1,145,180,209,176,206,253, 47,254, 96, - 38, 31, 7,176, 1,127, 1, 22, 1, 60,254,128,254,177,254,200,254,171, 78,133, 82, 1,158, 1,114, 1,141, 1,207,254,120,254, -173,231,254,233, 2,182, 21,187,147,252, 1, 56, 0, 2, 0, 33, 0, 0, 4,172, 5,188, 0, 7, 0, 14, 0,168, 64, 10, 2, 14, - 3, 8, 1, 0,183, 6, 1, 6,184,255,248, 64, 98, 14, 17, 72, 71, 6, 1, 38, 6, 1, 23, 6, 1, 6, 6, 1, 6,184, 5, 1, - 5, 8, 14, 17, 72, 72, 5, 1, 41, 5, 1, 24, 5, 1, 9, 5, 1, 5, 11, 11, 4, 88, 0, 1, 72, 0, 1, 42, 0, 1, 9, 0, - 25, 0, 2, 0, 7, 7, 16, 87, 3, 1, 71, 3, 1, 37, 3, 1, 6, 3, 22, 3, 2, 3, 4, 2, 95, 11, 16, 17, 20, 72, 11, 16, - 11, 14, 72, 29, 11, 1, 11, 5, 14, 14, 5, 3, 4, 0, 18, 0, 63, 50, 63, 57, 47, 18, 57, 93, 43, 43,225, 1, 47, 51, 93, 93, - 93, 93, 17, 51, 47, 51, 93, 93, 93, 93, 18, 57, 61, 47, 51, 93, 93, 93, 93, 43, 93, 51, 93, 93, 93, 93, 43, 93, 18, 57, 57, 18, - 57, 57, 49, 48, 33, 3, 33, 3, 35, 1, 51, 1, 1, 3, 38, 39, 6, 7, 3, 3,236,144,254, 21,146,190, 1,227,195, 1,229,254, -123,133, 39, 23, 20, 26,144, 1,197,254, 59, 5,188,250, 68, 2,106, 1,168,124,102, 99, 84,254, 45, 0, 0, 3, 0,135, 0, 0, - 4,113, 5,182, 0, 14, 0, 23, 0, 30, 0, 82, 64, 50, 19, 91, 20, 7, 36, 7, 2, 7, 4, 4, 14, 28, 91, 10, 32, 15, 25, 90, - 0, 14, 1, 0, 14, 16, 14,240, 14, 3, 8, 14, 7, 24, 96,159, 15, 1,104, 15, 1, 15, 15, 0, 25, 96, 14, 18, 23, 96, 0, 3, - 0, 63,225, 63,225, 17, 57, 47, 93, 93,225, 57, 1, 47, 94, 93,113,225, 50, 16,222,225, 18, 57, 47, 57, 93,225, 49, 48, 19, 33, - 32, 22, 21, 20, 6, 7, 21, 4, 17, 20, 6, 35, 33, 19, 33, 50, 54, 53, 52, 38, 35, 33, 17, 17, 33, 32, 17, 52, 33,135, 1,184, - 1, 18,247,157,134, 1, 76,255,220,253,241,187, 1, 28,156,143,153,166,254,248, 1, 51, 1, 55,254,188, 5,182,175,195,128,170, - 18, 10, 54,254,224,198,226, 3, 74,110,127,120,104,253,151,253,240, 1, 18,254, 0, 1, 0,129,255,236, 4,156, 5,203, 0, 21, - 0, 49, 64, 28, 1, 64, 20, 24, 72, 1, 1, 6, 11, 23, 17, 91, 0, 6,240, 6, 2, 6, 12, 14, 95, 9, 4, 0, 20, 95, 3, 19, - 0, 63,225, 50, 63,225, 50, 1, 47, 93,225, 16,206, 17, 57, 47, 43, 49, 48, 37, 21, 6, 35, 32, 0, 17, 16, 0, 33, 50, 23, 7, - 38, 35, 34, 0, 17, 16, 18, 51, 50, 4,100,146,212,254,203,254,184, 1,102, 1, 54,220,163, 78,154,151,215,255, 0,240,231,130, -201,162, 59, 1,136, 1,105, 1, 90, 1,148, 86,156, 78,254,195,254,241,254,225,254,211, 0, 2, 0,135, 0, 0, 4,123, 5,182, - 0, 8, 0, 15, 0, 44, 64, 26, 13, 91, 5, 17, 10, 90, 0, 0, 1, 0, 0, 16, 0,240, 0, 3, 8, 0, 9, 96, 1, 3, 10, 96, - 0, 18, 0, 63,225, 63,225, 1, 47, 94, 93,113,225, 16,222,225, 49, 48, 51, 17, 33, 32, 0, 17, 16, 0, 33, 3, 17, 51, 32, 17, - 16, 33,135, 1, 86, 1, 61, 1, 97,254,146,254,167,114, 96, 2, 20,254, 19, 5,182,254,134,254,173,254,151,254,128, 5, 23,251, -137, 2, 67, 2, 52, 0, 0, 1, 0,217, 0, 0, 4, 35, 5,182, 0, 11, 0, 64, 64, 37, 8, 8, 1, 4, 0, 64, 18, 22, 72, 0, - 13, 6, 10, 90,240, 1, 1, 0, 1, 1, 1, 9, 95,104, 6, 1, 6, 6, 10, 5, 95, 2, 3, 10, 95, 1, 18, 0, 63,225, 63,225, - 18, 57, 47, 93,225, 1, 47, 93, 93,225, 50, 16,206, 43, 50, 17, 57, 47, 49, 48, 33, 33, 17, 33, 21, 33, 17, 33, 21, 33, 17, 33, - 4, 35,252,182, 3, 74,253,112, 2,105,253,151, 2,144, 5,182,164,254, 60,162,253,248, 0, 1, 0,244, 0, 0, 4, 61, 5,182, - 0, 9, 0, 87, 64, 22, 8, 8, 1,223, 3, 1,192, 3, 1, 3, 11, 6, 0, 90, 0, 1, 64, 1, 80, 1, 3, 1,184,255,192, 64, - 32, 21, 24, 72, 1, 9, 95,104, 6, 1, 47, 6, 95, 6,239, 6,255, 6, 4, 6, 64, 16, 21, 72, 6, 6, 0, 5, 95, 2, 3, 0, - 18, 0, 63, 63,225, 18, 57, 47, 43, 93, 93,225, 1, 47, 43, 93,225, 50, 16,206, 93, 93, 17, 57, 47, 48, 49, 33, 35, 17, 33, 21, - 33, 17, 33, 21, 33, 1,174,186, 3, 73,253,113, 2,105,253,151, 5,182,164,253,252,164, 0, 1, 0,117,255,236, 4, 70, 5,203, - 0, 24, 0, 63, 64, 37, 0, 7, 22, 90, 12, 2, 26, 18, 91, 0, 7, 1, 7, 24, 95, 47, 0, 95, 0, 2, 0, 64, 16, 24, 72, 0, - 0, 20, 15, 95, 13, 10, 4, 20, 95, 4, 19, 0, 63,225, 63, 51,225, 18, 57, 47, 43, 93,225, 1, 47, 93,225, 16,222, 50,225, 18, - 57, 49, 48, 1, 33, 17, 6, 35, 32, 0, 17, 16, 0, 33, 50, 23, 7, 38, 35, 34, 2, 17, 16, 33, 50, 55, 17, 35, 2,160, 1,166, -195,225,254,250,254,217, 1, 68, 1, 28,192,154, 72,146,134,192,214, 1,138, 97,105,237, 3, 4,253, 51, 75, 1,143, 1, 98, 1, - 95, 1,143, 86,162, 84,254,201,254,235,253,180, 29, 1,180, 0, 0, 1, 0,135, 0, 0, 4, 70, 5,182, 0, 11, 0, 63, 64, 38, - 9, 1, 90, 0, 13, 8, 4, 90, 16, 5, 32, 5, 2, 32, 5, 48, 5, 2, 5, 3, 95,152, 8, 1, 15, 8, 47, 8, 2, 6, 8, 8, - 10, 6, 3, 5, 0, 18, 0, 63, 50, 63, 51, 57, 47, 94, 93, 93,225, 1, 47, 93,113,225, 50, 16,222,225, 50, 49, 48, 33, 35, 17, - 33, 17, 35, 17, 51, 17, 33, 17, 51, 4, 70,187,253,183,187,187, 2, 73,187, 2,170,253, 86, 5,182,253,152, 2,104, 0, 0, 1, - 0,225, 0, 0, 3,233, 5,182, 0, 11, 0, 67, 64, 40, 11, 8, 10, 90, 5, 2,208, 3, 1,162, 3, 1,147, 3, 1, 3,142, 3, - 1, 4, 99, 3, 1, 5, 16, 3, 80, 3, 2, 3, 9, 4, 97, 6, 3, 3, 10, 97, 0, 18, 0, 63,225, 50, 63,225, 50, 1, 47, 93, - 95, 93, 95, 93, 95, 93, 93, 93, 51, 51,225, 50, 50, 49, 48, 33, 33, 53, 37, 17, 37, 53, 33, 21, 5, 17, 5, 3,233,252,248, 1, - 39,254,217, 3, 8,254,218, 1, 38,123, 20, 4,152, 20,123,123, 20,251,104, 20, 0, 1, 0,137,255,236, 3,211, 5,182, 0, 13, - 0, 43,178, 6, 90, 9,184,255,192, 64, 20, 9, 12, 72, 9, 15, 0, 0,224, 0,240, 0, 3, 0, 3, 95, 1, 12, 19, 7, 3, 0, - 63, 63, 51,225, 1, 47, 93, 16,222, 43,225, 49, 48, 55, 53, 22, 51, 50, 54, 53, 17, 51, 17, 20, 4, 35, 34,137,162,147,161,186, -186,254,231,237,217, 39,166, 62,159,147, 3,245,252, 13,216,255, 0, 1, 0,211, 0, 0, 4,174, 5,182, 0, 12, 0,201,183, 38, - 12, 54, 12, 70, 12, 3, 12,184,255,240, 64,137, 16, 24, 72,248, 10, 1,217, 10,233, 10, 2,200, 10, 1,185, 10, 1,168, 10, 1, -137, 10, 1, 10, 8, 12, 16, 72,121, 9, 1, 88, 9, 1, 25, 9, 1, 10, 9, 1,136, 1, 1, 1, 8, 20, 24, 72, 1, 8, 12, 15, - 72,232, 2, 1, 2, 16, 11, 22, 72, 71, 2, 1, 2, 12, 0, 8, 4, 90, 0, 5, 96, 5,112, 5,128, 5, 4, 5, 11, 16, 11, 11, -208, 0,240, 0, 2,127, 0, 1, 0, 0, 16, 0, 64, 0, 96, 0, 4, 0, 16, 0,166, 8,182, 8,198, 8, 3,119, 8,135, 8, 2, - 38, 8, 54, 8, 86, 8,102, 8, 4, 3, 2, 8, 12, 4, 5, 10, 6, 3, 5, 0, 18, 0, 63, 50, 63, 51, 18, 23, 57, 93, 93, 93, - 1, 47, 56, 93, 93, 93, 51, 47, 56, 47, 93,225, 50, 17, 57, 57, 93, 49, 48, 0, 43, 93, 1, 43, 43, 93, 93, 93, 93, 93, 43, 93, - 93, 93, 93, 93, 93, 43, 93, 33, 35, 1, 7, 17, 35, 17, 51, 17, 55, 1, 51, 1, 4,174,211,254, 62,140,186,186,121, 1,197,209, -253,247, 2,186,114,253,184, 5,182,253, 37,168, 2, 51,253,131, 0, 1, 0,233, 0, 0, 4, 31, 5,182, 0, 5, 0, 46, 64, 31, - 5, 64, 18, 22, 72, 5, 7, 3, 90, 0, 0, 80, 0, 96, 0,112, 0,208, 0,224, 0,240, 0, 7, 0, 1, 3, 3, 95, 0, 18, 0, - 63,225, 63, 1, 47, 93,225, 16,206, 43, 49, 48, 51, 17, 51, 17, 33, 21,233,187, 2,123, 5,182,250,240,166, 0, 0, 1, 0,113, - 0, 0, 4, 92, 5,182, 0, 19, 0,182, 64, 12,247, 19, 1,182, 19, 1,151, 19,167, 19, 2, 19,184,255,240, 64, 37, 13, 17, 72, - 39, 19, 1, 6, 19, 22, 19, 2,233, 11,249, 11, 2, 11, 32, 13, 22, 72, 58, 11, 1, 9, 11, 25, 11, 41, 11, 3,230, 8,246, 8, - 2, 8,184,255,224, 64, 77, 13, 22, 72, 53, 8, 1, 6, 8, 22, 8, 38, 8, 3,248, 0, 1,185, 0, 1,152, 0,168, 0, 2, 0, - 16, 13, 17, 72, 40, 0, 1, 9, 0, 25, 0, 2, 17, 14,250,224, 13,240, 13, 2, 15, 13, 1, 13, 21, 2, 5,250, 0, 6, 16, 6, - 64, 6, 80, 6, 4, 6, 11, 1, 7, 3, 18, 2, 14, 89, 9, 1, 9, 6, 0, 18, 0, 63, 50, 50, 93, 50, 46, 51, 63, 51, 51, 1, - 47, 93,225, 50, 16,222, 93, 93,225, 50, 49, 48, 93, 93, 43, 93, 93, 93, 93, 93, 43, 93, 93, 93, 43, 93, 93, 93, 43, 93, 93, 93, - 33, 1, 35, 18, 21, 17, 35, 17, 51, 19, 51, 19, 51, 17, 35, 17, 52, 19, 35, 1, 2, 20,254,234, 8, 18,151,247,248, 6,250,252, -153, 14, 8,254,229, 5, 0,254,246,140,252,150, 5,182,251, 88, 4,168,250, 74, 3,119,102, 1, 33,251, 2, 0, 0, 1, 0,135, - 0, 0, 4, 68, 5,182, 0, 15, 0,115,185, 0, 9,255,240, 64, 78, 16, 24, 72, 69, 9, 85, 9,101, 9, 3, 52, 9, 1, 21, 9, - 37, 9, 2, 6, 9, 1, 1, 16, 16, 24, 72, 74, 1, 90, 1,106, 1, 3, 59, 1, 1, 26, 1, 42, 1, 2, 9, 1, 1, 1, 14,251, - 15, 17, 9, 6,251, 0, 7,224, 7,240, 7, 3, 7, 14, 73, 2, 89, 2, 2, 2, 8, 3, 70, 10, 86, 10, 2, 10, 7, 0, 18, 0, - 63, 50, 50, 93, 63, 51, 93, 51, 1, 47, 93,225, 50, 16,222,225, 50, 49, 48, 93, 93, 93, 93, 43, 93, 93, 93, 93, 43, 33, 35, 1, - 35, 18, 21, 17, 35, 17, 51, 1, 51, 2, 53, 17, 51, 4, 68,215,253,188, 8, 18,172,213, 2, 66, 6, 14,174, 4,186,254,235,140, -252,231, 5,182,251, 76, 1, 47,101, 3, 32, 0, 0, 2, 0, 84,255,236, 4,123, 5,205, 0, 9, 0, 19, 0, 36, 64, 20, 13, 91, - 7, 21, 18, 91, 31, 2, 47, 2, 2, 2, 16, 95, 4, 4, 10, 95, 0, 19, 0, 63,225, 63,225, 1, 47, 93,225, 16,222,225, 49, 48, - 5, 32, 17, 16, 33, 32, 0, 17, 16, 0, 39, 50, 18, 17, 16, 2, 35, 32, 17, 16, 2,104,253,236, 2, 22, 1, 0, 1, 17,254,236, -255,173,161,163,169,254,175, 20, 2,243, 2,238,254,121,254,151,254,151,254,120,163, 1, 34, 1, 44, 1, 47, 1, 29,253,180,253, -178, 0, 0, 2, 0,176, 0, 0, 4, 70, 5,182, 0, 9, 0, 17, 0, 56, 64, 34, 14, 91,239, 6,255, 6, 2, 6, 19, 10, 1, 90, - 0, 2,144, 2,160, 2, 3, 2, 0, 96,159, 10, 1, 10, 10, 1, 17, 96, 3, 3, 1, 18, 0, 63, 63,225, 18, 57, 47, 93,225, 1, - 47, 93,225, 50, 16,222, 93,225, 49, 48, 1, 17, 35, 17, 33, 32, 17, 20, 4, 33, 39, 51, 50, 54, 53, 16, 33, 35, 1,106,186, 1, -148, 2, 2,254,235,254,248,191,170,198,171,254,174,201, 2, 57,253,199, 5,182,254, 84,219,246,158,144,153, 1, 23, 0, 0, 2, - 0, 84,254, 98, 4,123, 5,205, 0, 15, 0, 25, 0, 85,185, 0, 0,255,240, 64, 48, 13, 17, 72, 5, 0, 9, 19, 91, 14,108, 3, -124, 3,140, 3, 3, 3, 24, 11, 14, 72, 3, 2, 2, 14, 27, 24, 91, 31, 9, 47, 9, 2, 9, 22, 95, 11, 4, 16, 95, 7, 5, 7, - 3, 3, 0, 7, 19, 0, 63, 51, 51, 47, 17, 51, 16,225, 63,225, 1, 47, 93,225, 16,206, 50, 47, 51, 43, 93, 16,225, 18, 57, 57, - 49, 48, 43, 37, 22, 23, 7, 38, 39, 6, 35, 32, 17, 16, 33, 32, 0, 17, 16, 5, 50, 18, 17, 16, 2, 35, 32, 17, 16, 3, 94, 85, -194,121,236, 92, 36, 40,253,236, 2, 22, 1, 0, 1, 17,253,237,173,161,163,169,254,175, 39,180,131,142,171,229, 6, 2,243, 2, -238,254,121,254,151,253,242, 64, 1, 34, 1, 44, 1, 47, 1, 29,253,180,253,178, 0, 2, 0,186, 0, 0, 4,147, 5,182, 0, 11, - 0, 20, 0,115, 64, 75, 43, 14, 1, 26, 14, 1, 11, 8, 16, 24, 72, 41, 11, 1, 24, 11, 1, 10, 8, 18, 24, 72, 41, 10, 1, 8, - 10, 1, 10, 9, 16, 9, 9, 70, 8, 1, 11, 8, 1, 16, 91, 6, 64, 19, 22, 72, 6, 22, 12, 1, 90, 0, 2,128, 2,144, 2,160, - 2, 4, 2, 8, 3, 0, 96, 12, 12, 1, 20, 96, 3, 3, 10, 1, 18, 0, 63, 51, 63,225, 18, 57, 47,225, 17, 57, 1, 47, 93,225, - 50, 16,222, 43,225, 18, 57, 57, 93, 51, 47, 56, 51, 49, 48, 93, 93, 43, 93, 93, 43, 93, 93, 1, 17, 35, 17, 33, 32, 17, 16, 5, - 1, 35, 1, 39, 51, 50, 54, 53, 52, 38, 35, 35, 1,117,187, 1,101, 2, 8,254,223, 1,141,219,254,162,229,164,171,162,160,178, -159, 2, 92,253,164, 5,182,254, 97,254,225,105,253,113, 2, 92,158,132,144,141,124, 0, 0, 1, 0,141,255,236, 4, 63, 5,203, - 0, 31, 0, 56, 64, 31, 16, 16, 5, 90,176, 27,192, 27, 2, 27, 33, 21, 90, 11, 0, 0, 0, 11, 1, 11, 21, 5, 14, 3, 96, 30, - 19, 19, 95, 14, 4, 0, 63,225, 63,225, 18, 57, 57, 1, 47, 93, 51, 47, 16,225, 16,222, 93,225, 51, 47, 49, 48, 55, 53, 22, 51, - 32, 53, 52, 38, 39, 38, 38, 53, 52, 36, 51, 50, 23, 7, 38, 35, 32, 21, 20, 22, 23, 22, 22, 21, 20, 4, 35, 32,141,211,203, 1, - 94,141,215,208,181, 1, 1,224,229,187, 64,193,167,254,219,131,205,246,165,254,235,255,254,247, 49,178, 86,240,104,112, 77, 73, -203,162,174,197, 78,164, 78,209,102,124, 71, 88,187,147,192,219, 0, 1, 0,102, 0, 0, 4,100, 5,182, 0, 7, 0, 60, 64, 36, - 6, 6, 0, 90, 3,208, 1, 1,162, 1, 1,147, 1, 1, 3,142, 1, 1, 4, 99, 1, 1, 5, 16, 1, 80, 1, 2, 1, 7, 3, 95, - 4, 3, 0, 18, 0, 63, 63,225, 50, 1, 47, 93, 95, 93, 95, 93, 95, 93, 93, 93,198,241,194, 47, 49, 48, 33, 35, 17, 33, 53, 33, - 21, 33, 2,195,187,254, 94, 3,254,254, 95, 5, 18,164,164, 0, 0, 1, 0,125,255,236, 4, 80, 5,184, 0, 14, 0, 39, 64, 22, - 13, 90,224, 1,240, 1, 2, 1, 16, 9, 90, 0, 6, 1, 6, 11, 95, 4, 19, 7, 0, 3, 0, 63, 50, 63,225, 1, 47, 93,225, 16, -222, 93,225, 49, 48, 1, 17, 16, 2, 35, 32, 17, 17, 51, 17, 16, 33, 32, 19, 17, 4, 80,252,244,254, 29,186, 1, 51, 1, 39, 5, - 5,184,252, 76,254,252,254,236, 2, 28, 3,174,252, 92,254,125, 1,133, 3,164, 0, 1, 0, 33, 0, 0, 4,172, 5,182, 0, 10, - 0,153, 64, 24,103, 5, 1,184, 3, 1, 3, 8, 13, 17, 72, 41, 3, 1, 24, 3, 1, 9, 3, 1,183, 2, 1, 2,184,255,248, 64, - 59, 13, 17, 72, 38, 2, 1, 23, 2, 1, 6, 2, 1,104, 0, 1,232, 3, 1, 3,231, 2, 1, 2, 8, 8, 4, 72, 0, 88, 0, 2, - 42, 0, 1, 9, 0, 25, 0, 2, 0, 1, 1, 12, 71, 5, 87, 5, 2, 37, 5, 1, 6, 5, 22, 5, 2, 5, 4, 8,184,255,240, 64, - 14, 11, 24, 72, 18, 8, 1, 8, 3, 1, 4, 3, 2, 3, 18, 0, 63, 51, 63, 51, 18, 57, 93, 43, 1, 47, 51, 93, 93, 93, 17, 51, - 47, 51, 93, 93, 93, 18, 57, 61, 47, 51, 93, 51, 93, 49, 48, 93, 93, 93, 93, 43, 93, 93, 93, 93, 43, 93, 93, 1, 51, 1, 35, 1, - 51, 1, 22, 23, 54, 55, 3,229,199,254, 23,187,254, 25,196, 1, 39, 41, 47, 31, 62, 5,182,250, 74, 5,182,252, 97,127,207,145, -195, 0, 0, 1, 0, 2, 0, 0, 4,203, 5,182, 0, 25, 1, 99, 64, 84, 41, 25, 57, 25, 2, 8, 25, 24, 25, 2, 39, 21, 1, 21, - 21, 1, 6, 21, 1, 7, 20, 23, 20, 39, 20, 3, 38, 16, 54, 16, 2, 41, 10, 57, 10, 2, 40, 6, 1, 25, 6, 1, 8, 6, 1, 38, - 2, 54, 2, 2, 7, 2, 23, 2, 2, 72, 17,104, 17,168, 17,184, 17, 4, 41, 17, 57, 17, 2, 17,231, 16,247, 16, 2,198, 16,214, - 16, 2,180, 16, 1, 16,184,255,240, 64, 33, 15, 19, 72, 84, 16, 1, 69, 16, 1, 16, 23,230, 1, 1,199, 1,215, 1, 2,165, 1, -181, 1, 2,150, 1, 1,119, 1,135, 1, 2, 1,184,255,240, 64,140, 9, 15, 72, 1,233, 0, 1,200, 0,216, 0, 2,170, 0,186, - 0, 2,153, 0, 1,120, 0,136, 0, 2, 0, 16, 9, 15, 72, 0, 13,232, 10,248, 10, 2,201, 10,217, 10, 2,187, 10, 1,136, 10, -168, 10, 2,105, 10,121, 10, 2, 91, 10, 1, 74, 10, 1, 10,103, 9,167, 9,183, 9, 3, 38, 9, 54, 9, 70, 9, 3, 9, 4, 36, - 23, 52, 23,148, 23,164, 23, 4, 4, 4, 20, 4,100, 4,196, 4,212, 4, 5, 23, 13, 4, 4, 13, 23, 3, 18, 40, 7, 1, 7, 16, - 8, 1, 8, 8, 27, 39, 19, 1, 19, 18, 4, 23, 75, 13, 91, 13, 2, 13, 23, 17, 0, 0, 7, 10, 17, 18, 18, 7, 3, 0, 63, 51, - 63, 51, 18, 57, 47, 18, 57, 57, 93, 17, 51, 1, 47, 51, 93, 17, 51, 47, 93, 51, 93, 18, 23, 57, 61, 47, 47, 47, 93, 93, 17, 51, - 93, 93, 51, 93, 93, 93, 93, 93, 93, 93, 17, 51, 43, 93, 93, 93, 93, 93, 51, 43, 93, 93, 93, 93, 93, 17, 51, 93, 93, 43, 93, 93, - 93, 51, 93, 93, 49, 48, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 1, 51, 19, 22, 23, 54, 19, 19, 51, 3, 35, 3, 38, - 39, 6, 7, 3, 35, 3, 51, 19, 22, 18, 21, 54, 55, 2, 16,177,145, 61, 11, 2, 63, 70,170,187,190,168, 40, 26, 32, 33,156,190, -203,170, 88, 23, 34, 24, 46, 3,240,253,247,219, 88, 53, 2, 54, 2,151,250, 74, 2, 68,138,144,173,111,253,190, 5,182,253,105, -176,254,108, 39,151,161, 0, 1, 0, 53, 0, 0, 4,150, 5,182, 0, 11, 0,190, 64, 36, 8, 8, 9, 11, 11, 10, 0, 7, 0, 5, - 5, 4, 2, 2, 3, 1, 6, 1, 8, 8, 7, 5, 5, 6, 4, 9, 4, 11, 11, 0, 2, 2, 1, 3, 10, 7,184,255,248, 64, 23, 12, - 15, 72, 6, 7, 22, 7, 38, 7, 3, 9, 8, 12, 15, 72, 9, 9, 25, 9, 41, 9, 3, 3,184,255,248, 64, 60, 12, 15, 72, 6, 3, - 22, 3, 38, 3, 3, 1, 8, 12, 15, 72, 9, 1, 25, 1, 41, 1, 3, 11, 8, 2, 5, 4, 4, 9, 10, 1, 10,175, 0, 1, 0, 0, - 13, 7, 6, 3, 6, 4, 2, 5, 11, 8, 4, 7, 9, 10, 3, 6, 3, 1, 3, 4, 3, 0, 18, 0, 63, 23, 50, 63, 23, 51, 23, 57, - 1, 47, 51, 51, 47, 51, 17, 51, 47, 93, 50, 50, 47, 51, 17, 23, 57, 93, 43, 93, 43, 93, 43, 93, 43, 49, 48,135, 8,192, 8,192, - 16,135, 8,192, 8,192, 16,135, 8,192, 8,192, 16,135, 8,192, 8,192, 33, 35, 1, 1, 35, 1, 1, 51, 1, 1, 51, 1, 4,150, -211,254,157,254,146,189, 1,197,254, 90,199, 1, 75, 1, 78,191,254, 90, 2,123,253,133, 2,252, 2,186,253,209, 2, 47,253, 76, - 0, 1, 0, 33, 0, 0, 4,170, 5,182, 0, 8, 0,181,185, 0, 8,255,248, 64, 36, 13, 16, 72, 38, 8, 54, 8, 2, 23, 8, 1, -104, 1,120, 1, 2, 90, 1, 1, 72, 1, 1, 41, 1, 57, 1, 2, 24, 1, 1, 39, 0,183, 0, 2, 0,184,255,248,179, 13, 17, 72, - 8,184,255,248, 64, 74, 20, 24, 72, 8,175, 7,255, 7, 2, 89, 7, 1, 7, 5, 1, 8, 20, 24, 72, 1,224, 2,240, 2, 2,123, - 2, 1, 80, 2, 1, 2, 2, 0, 4, 90,208, 5, 1,162, 5, 1,147, 5, 1, 3,142, 5, 1, 4, 99, 5, 1, 5, 16, 5, 80, 5, - 2, 5, 6, 6, 52, 0, 1, 0, 3, 3, 1, 4, 18, 7, 1, 3, 0, 63, 51, 63, 18, 57, 47, 51, 93, 51, 47, 1, 47, 93, 95, 93, - 95, 93, 95, 93, 93, 93,241, 57,194, 47, 93, 93, 93, 50, 43, 16,198, 93, 93, 50, 43, 49, 48, 0, 43, 93, 1, 93, 93, 93, 93, 93, - 93, 93, 43, 1, 1, 51, 1, 17, 35, 17, 1, 51, 2,100, 1,125,201,254, 25,187,254, 25,203, 2,211, 2,227,252,131,253,199, 2, - 47, 3,135, 0, 0, 1, 0,102, 0, 0, 4,100, 5,182, 0, 9, 0, 68, 64, 40, 38, 8, 1, 7, 8, 23, 8, 2, 41, 3, 1, 8, - 3, 24, 3, 2, 3, 7, 7, 0, 0, 1, 0, 0, 11, 8, 2, 4, 4, 2, 7, 4, 95, 5, 3, 2, 8, 95, 1, 18, 0, 63,225, 50, - 63,225, 50, 1, 47, 51, 47, 17, 51, 17, 51, 47, 93, 51, 47, 51, 49, 48, 93, 93, 93, 93, 33, 33, 53, 1, 33, 53, 33, 21, 1, 33, - 4,100,252, 2, 3, 25,252,252, 3,213,252,231, 3, 45,145, 4,127,166,145,251,129, 0, 0, 1, 1,156,254,188, 3,172, 5,182, - 0, 7, 0, 51, 64, 32, 4, 0, 0, 1, 0, 0, 9, 6,241,127, 1,143, 1,191, 1,207, 1,223, 1, 5, 0, 1, 1, 1, 5,245, - 2,248, 6,245, 1,249, 0, 63,225, 63,225, 1, 47, 93, 93,225, 17, 51, 47, 93, 51, 49, 48, 1, 33, 17, 33, 21, 33, 17, 33, 3, -172,253,240, 2, 16,254,166, 1, 90,254,188, 6,250,149,250, 49, 0, 1, 0,211, 0, 0, 3,248, 5,182, 0, 3, 0, 28, 64, 12, - 2, 1, 1, 5, 0, 3, 3, 4, 2, 18, 0, 3, 0, 63, 63, 17, 1, 51, 47, 51, 17, 51, 47, 51, 49, 48, 1, 1, 35, 1, 1,133, - 2,115,178,253,141, 5,182,250, 74, 5,182, 0, 0, 1, 1, 33,254,188, 3, 49, 5,182, 0, 7, 0, 52,183, 1,241,112, 6,128, - 6, 2, 6,184,255,192, 64, 21, 20, 24, 72, 6, 6, 9, 3,224, 0,240, 0, 2, 0, 1,245, 6,249, 2,245, 5,248, 0, 63,225, - 63,225, 1, 47, 93, 51, 17, 51, 47, 43, 93,225, 49, 48, 5, 33, 17, 33, 53, 33, 17, 33, 1, 33, 1, 90,254,166, 2, 16,253,240, -174, 5,207,149,249, 6, 0, 1, 0,111, 2, 37, 4, 94, 5,193, 0, 6, 0, 51, 64, 25, 2, 1, 5, 32, 20, 24, 72, 5, 5, 0, - 4, 3, 8, 6, 0, 0, 7, 4, 0, 0, 5, 15, 1, 1, 1, 0, 47, 93, 51, 51, 47, 50, 17, 1, 51, 47, 50, 16,206, 50, 17, 57, - 61, 47, 43, 51, 51, 49, 48, 19, 1, 51, 1, 35, 1, 1,111, 1,168,102, 1,225,162,254,144,254,194, 2, 37, 3,156,252,100, 2, -223,253, 33, 0, 0, 1,255,240,254,188, 4,219,255, 72, 0, 3, 0, 18,182, 0, 0, 5, 1, 1,186, 2, 0, 47,225, 1, 47, 17, - 51, 47, 49, 48, 1, 33, 53, 33, 4,219,251, 21, 4,235,254,188,140, 0, 0, 1, 1,162, 4,217, 3, 43, 6, 33, 0, 7, 0, 31, - 64, 16, 5,135, 4,134, 1, 0, 0, 9, 5,146, 15, 1, 95, 1, 2, 1, 0, 47, 93,237, 17, 1, 51, 47, 51,253,225, 49, 48, 1, - 35, 38, 39, 53, 51, 22, 23, 3, 43,121,166,106,219, 86, 88, 4,217,142,165, 21,178,123, 0, 2, 0,135,255,236, 4, 2, 4, 94, - 0, 23, 0, 33, 0, 66, 64, 38, 11, 1, 33, 71,143, 23,159, 23, 2, 23, 35, 28, 72, 17, 0, 8, 16, 8, 2, 8, 8, 24, 82, 11, - 11, 30, 16, 14, 80, 19, 16, 1, 30, 78, 5, 22, 0, 21, 0, 63, 63,225, 50, 63,225, 51, 18, 57, 47,225, 1, 47, 94, 93, 51,225, - 16,222, 93,225, 50, 50, 49, 48, 33, 39, 35, 6, 6, 35, 34, 38, 53, 16, 37, 55, 53, 52, 35, 34, 7, 39, 54, 51, 50, 22, 21, 17, - 3, 7, 6, 6, 21, 20, 51, 50, 54, 53, 3,127, 37, 8, 77,162,128,163,185, 1,254,203,244,147,181, 63,196,187,227,203,180,162, -196,164,200,147,175,152, 97, 75,172,155, 1, 76, 16, 7, 69,236, 82,137, 96,174,192,253, 16, 2, 25, 7, 8,107,110,178,163,148, - 0, 2, 0,158,255,236, 4, 68, 6, 20, 0, 18, 0, 28, 0, 58, 64, 34, 24, 72,239, 14,255, 14, 2, 14, 30, 1, 8, 6, 19, 71, - 0, 3,176, 3, 2, 3, 1, 22, 80, 17, 22, 8, 26, 80, 11, 16, 4, 0, 3, 21, 0, 63, 63, 63,225, 50, 63,225, 50, 1, 47, 93, -225, 50, 50, 57, 16,222, 93,225, 49, 48, 37, 35, 7, 35, 17, 51, 17, 20, 7, 51, 54, 51, 50, 18, 17, 16, 2, 35, 34, 3, 20, 22, - 51, 32, 17, 16, 33, 34, 6, 1, 84, 12, 37,133,182, 8, 8,107,215,201,229,230,200,207,115,139,152, 1, 16,254,238,155,134,139, -139, 6, 20,254,136, 81,145,164,254,213,254,244,254,242,254,211, 2, 59,227,193, 1,166, 1,158,188, 0, 0, 1, 0,172,255,236, - 4, 37, 4, 94, 0, 19, 0, 43, 64, 23, 0, 0,143, 9, 1, 9, 21, 5, 72, 0, 15, 1, 15, 3, 81, 1, 18, 16, 9, 7, 81, 12, - 22, 0, 63,225, 51, 63, 51,225, 1, 47, 93,225, 16,206, 93, 50, 47, 49, 48, 1, 7, 38, 35, 32, 17, 16, 33, 50, 55, 21, 6, 35, - 32, 0, 17, 16, 0, 33, 50, 4, 37, 62,150,118,254,141, 1,105,157,164,134,195,254,255,254,228, 1, 34, 1, 7,178, 4, 35,158, - 57,254, 99,254,106, 62,160, 61, 1, 35, 1, 16, 1, 25, 1, 38, 0, 2, 0,137,255,236, 4, 47, 6, 20, 0, 18, 0, 29, 0, 58, - 64, 35, 20, 0, 14, 71,144, 17,160, 17, 2, 17, 31, 25, 72, 0, 6,224, 6,240, 6, 3, 6, 15, 0, 11, 23, 80, 9, 16, 1, 27, - 80, 3, 22, 18, 21, 0, 63, 63,225, 50, 63,225, 50, 63, 1, 47, 93,225, 16,222, 93,225, 50, 50, 49, 48, 37, 35, 6, 35, 34, 2, - 17, 16, 18, 51, 50, 23, 51, 38, 53, 17, 51, 17, 35, 3, 53, 52, 38, 35, 32, 17, 16, 33, 50, 54, 3,129, 8,113,209,201,229,230, -200,206,116, 12, 12,182,147, 35,139,152,254,240, 1, 18,152,133,147,167, 1, 43, 1, 12, 1, 14, 1, 45,160,129, 33, 1,180,249, -236, 1,250, 41,227,193,254, 90,254, 98,177, 0, 0, 2, 0,133,255,236, 4, 72, 4, 94, 0, 17, 0, 22, 0, 71, 64, 44, 19, 72, - 5, 15, 0, 31, 0, 2, 0, 24, 18, 1, 72, 0, 11, 16, 11, 2, 16, 11, 32, 11, 2, 11, 1, 80, 15, 18, 31, 18, 2, 7, 18, 18, - 3, 21, 80, 14, 16, 3, 81, 5, 8, 22, 0, 63, 51,225, 63,225, 18, 57, 47, 94, 93,225, 1, 47, 93,113,225, 50, 16,222,113, 50, -225, 49, 48, 1, 33, 18, 33, 50, 55, 21, 6, 35, 34, 0, 17, 16, 0, 51, 50, 18, 21, 37, 33, 16, 33, 32, 4, 72,252,250, 8, 1, - 80,195,175,166,198,245,254,218, 1, 15,227,212,253,252,254, 2, 61,254,240,254,237, 2, 2,254,137, 76,160, 75, 1, 43, 1, 6, - 1, 10, 1, 55,254,244,223, 35, 1, 49, 0, 1, 0,156, 0, 0, 4, 90, 6, 31, 0, 21, 0, 70, 64, 40, 0, 0, 13, 13, 23, 20, - 2, 71, 3, 7, 3,143, 5,239, 5, 2, 5, 5, 0, 3,176, 3,240, 3, 3, 3, 4, 1, 78, 7, 6, 20, 15, 16, 80, 14, 11, 1, - 2, 21, 0, 63, 63, 51,225, 63, 51, 51,225, 50, 1, 47, 93, 51, 47, 93, 17, 51, 16,225, 50, 17, 51, 47, 57, 47, 49, 48, 1, 33, - 17, 35, 17, 33, 53, 37, 53, 52, 54, 51, 50, 23, 7, 38, 35, 34, 6, 21, 21, 33, 4, 20,254,123,182,254,195, 1, 61,180,209,129, -123, 41,104,103,123, 88, 1,133, 3,193,252, 63, 3,193,110, 33, 96,193,174, 35,143, 28,100,115,104, 0, 0, 3, 0,102,254, 20, - 4,102, 4, 94, 0, 36, 0, 44, 0, 54, 0,128, 64, 47, 52, 17, 17, 2, 36, 9, 28, 4, 31, 39, 70, 1, 95, 4,223, 4,239, 4, -255, 4, 4, 4, 56, 11, 26, 26, 31, 48, 63, 22, 79, 22, 95, 22, 3, 22, 22, 43, 70,128, 31,144, 31,160, 31, 3, 31,184,255,192, - 64, 29, 6, 9, 72, 31, 28, 4, 34, 37, 82, 7, 7, 46, 41, 79, 34, 24, 46, 81, 13, 13, 34, 16, 50, 78, 19, 27, 2, 0, 15, 0, - 63, 50, 63,225, 63, 57, 47,225, 50, 16,225, 17, 57, 47,225, 18, 57, 57, 1, 47, 43, 93,225, 51, 47, 93,193, 17, 51, 47,193, 16, -222, 93, 50,225, 18, 23, 57, 51, 47,193, 49, 48, 1, 21, 7, 22, 21, 20, 6, 35, 34, 39, 6, 21, 20, 51, 51, 50, 22, 21, 16, 33, - 34, 38, 53, 52, 55, 38, 53, 52, 55, 38, 38, 53, 52, 54, 51, 50, 23, 3, 50, 53, 52, 35, 34, 21, 20, 1, 35, 34, 21, 20, 33, 32, - 53, 52, 38, 4,102,196, 65,213,190, 55, 31,100,161,187,174,184,253,203,218,227,240, 96,133, 89,102,213,197, 86, 64,154,223,225, -225, 1, 69,188,230, 1, 15, 1,139,100, 4, 74,113, 27, 85,128,161,191, 6, 56, 77, 84,154,143,254,135,161,145,212, 58, 47,107, -112, 80, 37,171,101,182,197, 20,253,188,230,239,242,227,254, 12,198,174,223, 88, 61, 0, 0, 1, 0,160, 0, 0, 4, 45, 6, 20, - 0, 17, 0, 60, 64, 38, 36, 15, 52, 15, 2, 0, 71,176, 17,192, 17, 2, 17, 19, 10, 6, 71, 0, 7, 16, 7, 32, 7,208, 7, 4, - 7, 7, 4, 3, 80, 14, 16, 8, 0, 7, 0, 21, 0, 63, 50, 63, 63,225, 50, 1, 47, 94, 93,225, 50, 16,222, 93,225, 49, 48, 93, - 33, 17, 16, 35, 32, 17, 17, 35, 17, 51, 17, 7, 51, 54, 51, 32, 17, 17, 3,119,238,254,205,182,182, 8, 10,103,233, 1,133, 2, -195, 1, 4,254,114,253,199, 6, 20,254, 50,144,168,254,111,253, 51, 0, 0, 2, 0,197, 0, 0, 4, 51, 6, 14, 0, 8, 0, 18, - 0, 51, 64, 28, 14, 2, 13, 71, 7, 10, 17, 3, 86, 18, 1, 18, 18, 20, 19, 13, 18, 78, 16, 21, 9, 78, 11, 15, 5, 83, 0, 0, - 0, 63,237, 63,225, 63,225, 50, 17, 18, 1, 57, 47, 93, 23, 51,225, 50, 50, 49, 48, 1, 50, 21, 20, 6, 35, 34, 53, 52, 19, 37, - 53, 33, 17, 5, 21, 33, 53, 37, 2,121,106, 63, 43,107, 15,254,243, 1,195, 1, 96,252,146, 1, 88, 6, 14,114, 58, 57,115,114, -253,172, 21,123,252, 69, 20,123,123, 20, 0, 2, 0,135,254, 20, 3, 86, 6, 14, 0, 7, 0, 23, 0, 57, 64, 32, 16, 8, 6, 14, - 71, 2,144, 19,160, 19, 2, 19, 19, 25, 24, 0, 8, 1, 8, 11, 80, 9, 22, 27, 15, 78, 18, 15, 4, 83, 0, 0, 0, 63,229, 63, -225, 63, 51,225, 1, 47, 93, 17, 18, 57, 47, 93, 51,225, 50, 17, 57, 49, 48, 1, 50, 21, 20, 35, 34, 53, 52, 1, 53, 22, 51, 50, - 54, 53, 17, 37, 53, 33, 17, 20, 6, 35, 34, 2,231,107,107,106,254, 10,134,155,117,131,254, 92, 2, 90,226,206,164, 6, 14,114, -115,115,114,248, 41,154, 39,114,101, 4, 57, 21,123,251, 65,180,195, 0, 0, 1, 0,215, 0, 0, 4,139, 6, 20, 0, 14, 0,118, - 64, 11, 25, 6, 41, 6, 57, 6, 3, 8, 6, 1, 4,184,255,224, 64, 62, 16, 20, 72, 70, 4, 86, 4, 2, 9, 2, 1, 9, 1, 1, - 27, 7, 43, 7, 59, 7, 3, 4, 7, 2, 3, 3, 6, 5, 32, 16, 19, 72, 0, 5, 96, 5, 2, 5, 5, 16, 12, 0, 9, 71, 0, 10, - 96, 10, 2, 10, 11, 0, 4, 7, 0, 7, 2, 10, 5, 21, 2, 15, 0, 63, 63, 51, 18, 57, 57, 17, 51, 63, 1, 47, 93,225, 50, 50, - 17, 51, 47, 93, 43, 51, 51, 47, 51, 57, 57, 49, 48, 0, 93, 1, 93, 93, 93, 43, 93, 93, 1, 55, 1, 51, 1, 1, 35, 1, 7, 17, - 35, 17, 51, 17, 3, 1,127,135, 1,139,222,254, 18, 2, 10,213,254, 86,129,180,180, 16, 2, 41,152, 1,137,254, 37,253,145, 1, -248, 82,254, 90, 6, 20,253, 54,254,223, 0, 1, 0,188, 0, 0, 4, 43, 6, 20, 0, 9, 0, 45, 64, 24, 5, 4, 71, 8, 1, 93, - 9, 1, 79, 9, 1, 9, 9, 11, 10, 9, 4, 78, 6, 21, 0, 78, 2, 0, 0, 63,225, 63,225, 50, 17, 18, 1, 57, 47, 93, 93, 51, - 51,225, 50, 49, 48, 1, 37, 53, 33, 17, 5, 21, 33, 53, 37, 2, 20,254,244, 1,195, 1, 96,252,145, 1, 88, 5,133, 21,122,250, -123, 20,123,123, 20, 0, 0, 1, 0, 92, 0, 0, 4,115, 4, 94, 0, 32, 0,107, 64, 69, 25,133, 8, 1,118, 8, 1,101, 8, 1, - 86, 8, 1, 55, 8, 71, 8, 2, 8, 71,139, 9, 1,122, 9, 1, 9, 9, 17, 0, 71,144, 32,160, 32,192, 32,208, 32, 4, 15, 32, - 1, 32, 34, 20, 16, 71, 64, 17, 80, 17, 2, 17, 26, 20, 17, 4, 12, 80, 28, 23, 16, 18, 15, 17, 9, 0, 21, 0, 63, 50, 50, 63, - 63, 51,225, 50, 18, 57, 57, 1, 47, 93,225, 50, 16,222, 93, 93,225, 17, 57, 47, 93, 93,225, 93, 93, 93, 93, 93, 50, 49, 48, 33, - 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 16, 35, 34, 6, 21, 17, 35, 17, 51, 23, 51, 54, 51, 50, 23, 51, 54, 51, 50, 22, 21, 17, - 3,209, 53, 62, 87, 79,161,125, 84, 72,162,127, 27, 10, 67,134,163, 50, 6, 76,143,128,116, 2,195,146,114,166,195,253,162, 2, -195, 1, 4,159,239,253,199, 4, 74,148,168,182,182,185,216,253, 51, 0, 0, 1, 0,160, 0, 0, 4, 45, 4, 94, 0, 16, 0, 54, - 64, 33, 0, 71,176, 16,192, 16, 2, 16, 18, 10, 6, 71, 0, 7, 16, 7, 32, 7,208, 7, 4, 7, 7, 11, 3, 80, 13, 16, 8, 15, - 7, 0, 21, 0, 63, 50, 63, 63,225, 50, 1, 47, 94, 93,225, 50, 16,222, 93,225, 49, 48, 33, 17, 16, 35, 32, 17, 17, 35, 17, 51, - 23, 51, 54, 51, 32, 17, 17, 3,119,238,254,205,182,147, 27, 10,103,233, 1,133, 2,195, 1, 4,254,114,253,199, 4, 74,148,168, -254,111,253, 51, 0, 2, 0,115,255,236, 4, 88, 4, 94, 0, 11, 0, 19, 0, 34, 64, 18, 14, 72, 9, 21, 18, 72, 0, 3, 1, 3, - 16, 80, 6, 16, 12, 80, 0, 22, 0, 63,225, 63,225, 1, 47, 93,225, 16,222,225, 49, 48, 5, 34, 0, 17, 16, 0, 51, 50, 0, 17, - 16, 0, 39, 32, 17, 16, 33, 32, 17, 16, 2, 98,216,254,233, 1, 15,230,218, 1, 22,254,238,224, 1, 54,254,200,254,203, 20, 1, - 55, 1, 4, 1, 7, 1, 48,254,202,254,255,254,247,254,206,151, 1,164, 1,160,254, 96,254, 92, 0, 2, 0,158,254, 20, 4, 68, - 4, 94, 0, 18, 0, 29, 0, 62, 64, 38, 25, 72, 15, 14, 31, 14, 2, 14, 31, 20, 1, 4, 71, 0, 5, 16, 5, 32, 5,208, 5, 4, - 7, 5, 0, 23, 80, 17, 22, 8, 27, 80, 11, 16, 6, 15, 4, 27, 0, 63, 63, 63,225, 50, 63,225, 50, 1, 47, 94, 93,225, 50, 50, - 16,222,113,225, 49, 48, 37, 35, 22, 21, 17, 35, 17, 51, 23, 51, 54, 51, 50, 18, 17, 16, 2, 35, 34, 3, 21, 20, 22, 51, 32, 17, - 16, 33, 34, 6, 1, 84, 12, 12,182,147, 27, 8,110,212,201,229,230,200,207,115,139,152, 1, 16,254,238,152,133,139,129, 33,254, - 43, 6, 54,148,168,254,213,254,244,254,242,254,211, 2,100, 41,227,193, 1,166, 1,158,176, 0, 0, 2, 0,137,254, 20, 4, 47, - 4, 94, 0, 18, 0, 29, 0, 60, 64, 37, 1, 8, 19, 3, 5, 71,144, 4,160, 4, 2, 4, 31, 25, 72, 0, 14,224, 14,240, 14, 3, - 14, 8, 27, 80, 11, 22, 4, 27, 1, 23, 80, 17, 16, 2, 15, 0, 63, 63,225, 50, 63, 63,225, 50, 1, 47, 93,225, 16,222, 93,225, - 23, 50, 49, 48, 1, 51, 55, 51, 17, 35, 17, 52, 55, 35, 6, 35, 34, 2, 17, 16, 18, 51, 50, 19, 53, 52, 38, 35, 32, 17, 16, 33, - 50, 54, 3,121, 8, 27,147,182, 12, 12,113,209,201,229,230,200,207,115,139,152,254,240, 1, 18,152,133, 3,182,148,249,202, 1, -213, 41,129,167, 1, 43, 1, 12, 1, 14, 1, 45,253,156, 41,227,193,254, 90,254, 98,177, 0, 1, 1, 8, 0, 0, 4, 35, 4, 94, - 0, 16, 0, 49, 64, 27,144, 0, 1, 0, 0, 18, 11, 7, 71, 47, 8, 1, 0, 8, 1, 8, 11, 7, 3, 81, 1, 15, 16, 9, 15, 7, - 21, 0, 63, 63, 63, 51,225, 18, 57, 1, 47, 93, 93,225, 50, 17, 51, 47, 93, 49, 48, 1, 7, 38, 35, 34, 6, 21, 17, 35, 17, 51, - 23, 51, 54, 54, 51, 50, 4, 35, 49,123,101,163,177,182,148, 22, 8, 76,174,127,118, 4, 49,166, 45,185,175,253,176, 4, 74,201, -119,102, 0, 1, 0,203,255,236, 4, 2, 4, 94, 0, 31, 0, 60, 64, 34, 16, 16, 5, 70, 27, 33, 21, 70, 11, 0, 0, 0, 11, 80, - 11, 96, 11,240, 11, 4, 11, 21, 5, 14, 3, 80, 1, 30, 22, 19, 80, 17, 14, 16, 0, 63, 51,225, 63, 51,225, 18, 57, 57, 1, 47, - 93, 51, 47, 16,225, 16,222,225, 51, 47, 49, 48, 55, 53, 22, 51, 32, 53, 52, 38, 39, 38, 38, 53, 52, 54, 51, 50, 23, 7, 38, 35, - 34, 21, 20, 22, 23, 22, 22, 21, 20, 6, 35, 34,203,193,177, 1, 19, 98,177,233,121,223,197,198,171, 60,182,137,236,101,182,211, -139,234,214,248, 49,166, 86,162, 57, 84, 64, 87,145, 99,136,155, 74,149, 72,133, 61, 73, 65, 77,149,108,150,171, 0, 1, 0,139, -255,236, 4, 2, 5,111, 0, 19, 0, 89, 64, 55, 12, 16, 71, 5, 9, 5, 32, 7, 1, 7, 7, 47, 5, 63, 5,127, 5,143, 5,207, - 5,223, 5, 6, 0, 5, 1, 5, 5, 20, 21, 14, 14,127, 1,143, 1,175, 1, 3, 1, 21, 6, 15, 78, 11, 9, 8, 12, 15, 18, 80, - 0, 3, 22, 0, 63, 51,225, 63, 51, 51, 51,225, 50, 1, 16,206, 93, 50, 47, 17, 18, 57, 47, 93, 93, 51, 47, 93, 17, 51, 16,225, - 50, 49, 48, 37, 21, 6, 35, 32, 17, 17, 33, 53, 37, 19, 51, 17, 33, 21, 33, 17, 20, 51, 50, 3,252,130,122,254,150,254,245, 1, - 11, 77,105, 1,182,254, 74,192, 93,150,138, 32, 1, 88, 2,125, 94, 49, 1, 31,254,219,137,253,131,195, 0, 1, 0,160,255,236, - 4, 45, 4, 74, 0, 17, 0, 48, 64, 28, 1, 14, 71,144, 17,160, 17, 2, 17, 19, 9, 71, 0, 6,176, 6, 2, 6, 15, 7, 15, 1, - 11, 80, 4, 22, 0, 21, 0, 63, 63,225, 50, 63, 51, 1, 47, 93,225, 16,222, 93,225, 50, 49, 48, 33, 39, 35, 6, 35, 32, 17, 17, - 51, 17, 16, 51, 50, 54, 53, 17, 51, 17, 3,154, 27, 10,105,229,254,121,182,236,161,148,182,147,167, 1,145, 2,205,253, 61,254, -252,185,212, 2, 58,251,182, 0, 0, 1, 0, 82, 0, 0, 4,121, 4, 74, 0, 11, 0,115, 64, 56, 38, 11, 1, 41, 0, 1, 55, 11, -103, 11,231, 11,247, 11, 4, 6, 11, 22, 11, 2, 11, 56, 0,104, 0,232, 0,248, 0, 4, 9, 0, 25, 0, 2, 0, 5, 5, 1, 9, - 8, 9, 12, 72, 9, 16, 10, 32, 10, 48, 10, 3, 10, 10, 13, 2,184,255,248, 64, 21, 9, 12, 72, 2, 47, 1, 63, 1, 2, 1, 70, - 5, 86, 5, 2, 5, 9, 1, 15, 0, 21, 0, 63, 63, 51, 57, 93, 1, 47, 93, 51, 43, 17, 51, 47, 93, 51, 43, 18, 57, 61, 47, 51, - 93, 93, 51, 93, 93, 49, 48, 93, 93, 33, 1, 51, 19, 22, 23, 51, 54, 19, 19, 51, 1, 1,242,254, 96,188,240, 85, 15, 6, 7, 94, -239,189,254, 96, 4, 74,253,116,231, 94, 44, 1, 25, 2,140,251,182, 0, 0, 1,255,252, 0, 0, 4,209, 4, 74, 0, 25, 1, 43, -185, 0, 25,255,240,182, 20, 24, 72,167, 25, 1, 25,184,255,240, 64, 24, 13, 18, 72, 9, 22, 25, 22, 41, 22, 3, 41, 21, 1, 39, - 17, 87, 17, 2, 6, 17, 22, 17, 2, 16,184,255,240, 64, 66, 13, 24, 72, 39, 16, 55, 16, 2, 15, 16, 13, 24, 72, 40, 15, 56, 15, - 2, 40, 14, 88, 14, 2, 9, 14, 25, 14, 2, 40, 13, 1, 38, 10, 1, 6, 9, 22, 9, 38, 9, 3, 6, 16, 20, 24, 72,168, 6, 1, -121, 6,137, 6,153, 6, 3, 40, 6, 72, 6, 88, 6,104, 6, 4, 5,184,255,240, 64, 10, 20, 24, 72,167, 5, 1, 38, 5, 1, 5, -184,255,240, 64, 42, 13, 18, 72, 7, 5, 1, 0, 16, 20, 24, 72,168, 0, 1, 41, 0, 1, 0, 16, 13, 18, 72, 8, 0, 1, 6, 5, - 11, 16, 15, 2, 25, 0, 20,148, 11,164, 11,180, 11, 3, 11,184,255,224, 64, 48, 11, 14, 72,155, 20,171, 20,187, 20, 3, 20, 32, - 11, 14, 72, 11, 2, 20, 20, 2, 11, 3, 7, 23, 16, 24, 1, 24, 8, 7, 20, 11, 91, 2, 1, 84, 11, 1, 2, 11, 6, 23, 15, 7, - 15, 0, 6, 21, 0, 63, 51, 63, 51, 51, 18, 57, 57, 93, 93, 17, 51, 1, 47, 51, 47, 93, 51, 18, 23, 57, 61, 47, 47, 47, 43, 93, - 43, 93, 17, 51, 51, 17, 51, 51, 17, 51, 51, 49, 48, 93, 43, 93, 93, 43, 93, 43, 93, 93, 43, 93, 93, 93, 43, 93, 93, 93, 93, 93, - 93, 43, 93, 43, 93, 93, 93, 93, 43, 93, 43, 33, 3, 3, 35, 3, 3, 35, 3, 51, 19, 22, 23, 51, 54, 55, 19, 51, 19, 22, 23, 51, - 54, 55, 19, 51, 3, 3, 45,131, 68, 6, 65,135,189,223,162, 98, 34, 23, 6, 31, 37,133,193,127, 43, 24, 6, 31, 29,102,158,225, - 2, 84, 1, 74,254,178,253,176, 4, 74,253,225,186,207,185,173, 2, 66,253,190,195,163,242,151, 2, 31,251,182, 0, 1, 0, 96, - 0, 0, 4,106, 4, 74, 0, 11, 0,169,183,196, 10,212, 10,228, 10, 3, 10,184,255,240, 64, 36, 11, 14, 72,203, 8,219, 8,235, - 8, 3, 8, 16, 11, 14, 72,203, 4,219, 4,235, 4, 3, 4, 16, 11, 14, 72,196, 2,212, 2,228, 2, 3, 6, 2,184,255,240, 64, - 20, 11, 14, 72, 73, 9, 1, 9, 16, 18, 23, 72, 10, 9, 26, 9, 2, 70, 3, 1, 3,184,255,240, 64, 45, 18, 23, 72, 5, 3, 21, - 3, 2, 4, 5, 5, 6, 3, 9, 0, 4, 11, 8, 0, 7, 16, 7, 2, 7, 7, 13, 2, 1, 10, 31, 11, 1, 11, 9, 6, 0, 3, 4, - 1, 11, 7, 21, 4, 1, 15, 0, 63, 51, 63, 51, 18, 23, 57, 1, 47, 93, 51, 51, 50, 17, 51, 47, 93, 51, 18, 23, 57, 51, 17, 51, - 49, 48, 0, 93, 43, 93, 93, 43, 93, 1, 43, 95, 93, 43, 93, 43, 93, 43, 93, 1, 1, 51, 1, 1, 51, 1, 1, 35, 1, 1, 35, 1, -254,254,119,207, 1, 34, 1, 35,207,254,117, 1,157,206,254,202,254,201,207, 2, 51, 2, 23,254,102, 1,154,253,233,253,205, 1, -180,254, 76, 0, 0, 1, 0, 82,254, 20, 4,121, 4, 74, 0, 22, 0,113, 64, 30, 56, 8, 1, 9, 8, 25, 8, 41, 8, 3, 55, 1, - 1, 6, 1, 22, 1, 38, 1, 3, 22, 16, 9, 12, 72, 22, 4, 4, 8, 9,184,255,192, 64, 18, 9, 12, 72, 9, 9, 24, 15, 15, 1, - 31, 0, 47, 0, 63, 0, 3, 0, 4,184,255,240, 64, 20, 11, 14, 72, 4, 4, 20, 4, 2, 4, 0, 22, 22, 18, 80, 16, 13, 27, 8, - 0, 15, 0, 63, 50, 63, 51,225, 63, 18, 57, 93, 43, 1, 47, 93, 50, 50, 47, 17, 51, 47, 43, 51, 57, 61, 47, 51, 43, 49, 48, 93, - 93, 93, 93, 19, 51, 1, 22, 23, 51, 54, 55, 19, 51, 1, 6, 6, 35, 34, 39, 53, 22, 51, 50, 54, 55, 55, 82,188, 1, 6, 82, 7, - 6, 23, 67,239,189,254, 37, 67,178,157, 86, 82, 62, 74, 96,107, 42, 58, 4, 74,253,114,205, 85,112,180, 2,140,251, 39,174,175, - 17,145, 12, 82,100,150, 0, 1, 0,182, 0, 0, 4, 20, 4, 74, 0, 9, 0, 70, 64, 14, 3, 8, 9, 12, 72, 3, 7, 7,112, 0, - 1, 0, 11, 8,184,255,248, 64, 24, 9, 12, 72, 8, 2, 4, 4,127, 2, 1, 0, 2, 1, 2, 7, 4, 78, 5, 15, 2, 8, 78, 1, - 21, 0, 63,225, 50, 63,225, 50, 1, 47, 93, 93, 51, 47, 17, 51, 43, 16,206, 93, 50, 47, 51, 43, 49, 48, 33, 33, 53, 1, 33, 53, - 33, 21, 1, 33, 4, 20,252,162, 2,148,253,141, 3, 43,253,121, 2,153,125, 3, 68,137,146,252,209, 0, 0, 1, 0,225,254,188, - 3,233, 5,182, 0, 25, 0, 98, 64, 63, 20, 0,241, 12, 22, 9,112, 6,128, 6, 2, 6, 6, 9, 16, 95, 3, 1, 64, 3, 1, 3, - 27,224, 9,240, 9, 2, 31, 9, 1, 9, 22, 9,245,239, 10,255, 10, 2,217, 10, 1, 15, 10, 47, 10,175, 10,191, 10, 4, 10, 10, - 3, 16,245, 15,248, 3,245, 4,249, 0, 63,225, 63,225, 18, 57, 47, 93, 93, 93,225, 57, 1, 47, 93, 93, 16,206, 93, 93, 50, 17, - 57, 47, 93, 18, 57, 51,225, 50, 49, 48, 5, 20, 22, 23, 21, 36, 17, 17, 52, 33, 53, 32, 53, 17, 16, 37, 21, 6, 6, 21, 17, 20, - 7, 21, 22, 21, 2,233,112,144,254, 74,254,174, 1, 82, 1,182,144,112,233,233, 16, 81, 75, 2,150, 6, 1, 31, 1, 78,189,155, -189, 1, 77, 1, 31, 6,149, 2, 75, 81,254,180,207, 41, 12, 41,207, 0, 0, 1, 2, 27,254, 20, 2,176, 6, 20, 0, 3, 0, 21, - 64, 10, 2,170, 79, 3, 1, 3, 2, 27, 0, 0, 0, 63, 63, 1, 47, 93,225, 49, 48, 1, 51, 17, 35, 2, 27,149,149, 6, 20,248, - 0, 0, 0, 1, 0,227,254,188, 3,236, 5,182, 0, 25, 0, 96, 64, 62, 5, 25,241, 13, 3,127, 19,143, 19, 2, 19, 19, 9,239, - 15,255, 15, 2, 16, 15, 1, 15, 27, 21, 80, 9, 1, 79, 9, 1, 9, 3, 16,245,239, 15,255, 15, 2,217, 15, 1, 15, 15, 47, 15, -175, 15,191, 15, 4, 15, 15, 10, 22,245, 21,249, 9,245, 10,248, 0, 63,225, 63,225, 17, 57, 47, 93, 93, 93,225, 57, 1, 47, 93, - 93, 51, 16,206, 93, 93, 17, 57, 47, 93, 57, 51,225, 50, 49, 48, 1, 52, 55, 53, 38, 53, 17, 52, 38, 39, 53, 4, 17, 17, 20, 33, - 21, 32, 21, 17, 16, 5, 53, 54, 54, 53, 1,227,234,234,113,143, 1,183, 1, 82,254,174,254, 73,143,113, 1, 59,207, 41, 12, 41, -207, 1, 76, 81, 76, 1,149, 6,254,225,254,179,189,155,189,254,178,254,225, 6,150, 1, 76, 81, 0, 1, 0,152, 2, 74, 4, 51, - 3, 90, 0, 17, 0, 47, 64, 26, 9, 19, 0, 0, 1, 0, 0, 18, 16,173, 9, 3,178, 7,173, 0,223, 12, 1,112, 12, 1, 63, 12, - 1, 12, 0, 47, 93, 93, 93, 51,225,253, 50,225, 17, 1, 51, 47, 93, 16,206, 49, 48, 19, 53, 54, 51, 50, 23, 22, 51, 50, 55, 21, - 6, 35, 34, 39, 38, 35, 34,152, 99,148,100,148,130, 71,108,119, 99,149,100,147,131, 70,108, 2, 74,162,108, 63, 56,121,162,108, - 63, 56, 0, 2, 1,231,254,139, 2,229, 4, 94, 0, 7, 0, 11, 0, 37, 64, 17, 8, 9, 10, 6,150, 11, 2, 2, 12, 13, 8, 8, - 10, 0,155, 4, 16, 0, 63,237, 47, 57, 47, 17, 18, 1, 57, 47, 51,225, 50, 57, 57, 49, 48, 1, 34, 53, 52, 51, 50, 21, 20, 7, - 51, 19, 35, 2,102,127,127,127,188,121, 51,223, 3, 72,139,139,139,139,164,251,231, 0, 0, 1, 0,172,255,236, 4, 37, 5,203, - 0, 23, 0, 78, 64, 24, 0, 14, 70, 21, 32, 17, 48, 17, 2, 17, 17, 19, 2,143, 12, 1, 12, 25, 7, 72, 0, 19, 1, 19,184,255, -192, 64, 18, 21, 24, 72, 19, 5, 80, 0, 21, 21, 22, 7, 17, 9, 81, 14, 14, 15, 22, 0, 63, 51, 47,225, 51, 63, 51, 47, 51,225, - 1, 47, 43, 93,225, 16,206, 93, 50, 17, 57, 47, 93, 51,225, 50, 49, 48, 1, 22, 23, 7, 38, 35, 32, 17, 16, 33, 50, 55, 21, 6, - 7, 21, 35, 53, 36, 17, 16, 37, 53, 51, 2,231,162,156, 62,150,118,254,141, 1,105,153,168,122,177,137,254, 78, 1,178,137, 5, - 39, 3, 56,158, 57,254, 98,254,107, 61,159, 59, 3,200,206, 69, 1,232, 1,238, 74,172, 0, 1, 0,119, 0, 0, 4, 86, 5,201, - 0, 27, 0, 82, 64, 49, 6, 10,111, 22, 18, 8, 18, 8, 15, 0, 13, 29, 20, 0, 15, 1, 15, 9, 20,117, 6, 47, 21, 95, 21,127, - 21,143, 21,175, 21,191, 21,223, 21, 7, 21, 21, 12, 3,115, 1, 26, 7, 16, 12,116, 15, 24, 0, 63,225, 50, 63, 51,225, 18, 57, - 47, 93, 51,225, 50, 1, 47, 93, 51, 16,206, 50, 17, 57, 57, 47, 47, 51,225, 50, 49, 48, 1, 7, 38, 35, 34, 21, 17, 33, 21, 33, - 21, 20, 7, 33, 21, 33, 53, 54, 53, 53, 35, 53, 51, 17, 52, 54, 51, 50, 4, 39, 66,141,131,223, 1,121,254,135,140, 2,236,252, - 33,200,198,198,217,181,192, 5,121,144, 72,246,254,217,137,211,196, 78,166,154, 49,235,213,137, 1, 68,168,201, 0, 2, 0,174, - 1, 29, 4, 31, 4,139, 0, 27, 0, 39, 0, 94, 64, 10, 37,171, 0, 26,176, 26,224, 26, 3, 26,184,255,192, 64, 29, 11, 15, 72, - 26, 26, 31,171,192, 12, 1, 79, 12, 95, 12,111, 12, 3, 12, 41, 28,174, 0, 19,176, 19,224, 19, 3, 19,184,255,192, 64, 21, 11, - 15, 72, 19, 19, 34,174, 31, 5, 63, 5, 79, 5,111, 5,191, 5,239, 5, 6, 5, 0, 47, 93,225, 51, 47, 43, 93,225, 1, 16,222, - 93, 93,225, 51, 47, 43, 93,225, 49, 48, 1, 39, 55, 23, 54, 51, 50, 23, 55, 23, 7, 22, 21, 20, 7, 23, 7, 39, 6, 35, 34, 39, - 7, 39, 55, 38, 53, 52, 1, 50, 54, 53, 52, 38, 35, 34, 6, 21, 20, 22, 1, 47,129, 98,127,101,114,114, 99,129, 99,129, 67, 67, -127, 97,129, 99,114,118, 97,127, 96,127, 65, 1,120,100,144,143,101, 99,140,141, 3,168,129, 98,129, 68, 68,129, 96,129,101,114, -120, 95,127, 96,127, 66, 68,127, 96,127, 95,118,114,254,158,140,100,101,143,142,102,100,140, 0, 0, 1, 0, 78, 0, 0, 4,125, - 5,182, 0, 22, 0,189,185, 0, 22,255,248, 64, 9, 10, 13, 72, 1, 8, 10, 13, 72, 0,184,255,232, 64, 60, 21, 24, 72,102, 0, -118, 0, 2, 18, 14, 18, 14, 12, 22,207, 21, 1,139, 21, 1,116, 21, 1, 21, 21, 12, 5, 9, 5, 9, 1, 2, 2,103, 0, 1, 0, - 7, 3, 11,110, 20, 16,192, 12,208, 12, 2,103, 12, 1, 16, 12, 1, 12, 12, 23, 24, 7, 15,184, 1, 7,180, 14, 10, 14, 6, 18, -184, 1, 7, 64, 29, 19, 3, 0, 19,159, 14, 1, 48, 14, 64, 14, 2, 15, 19, 31, 19,159, 19, 3, 14, 19, 14, 19, 1, 11, 18, 22, - 1, 6, 0, 63, 51, 63, 18, 57, 57, 47, 47, 93, 93, 93, 17, 51, 51, 16,225, 50, 17, 51, 16,225, 50, 17, 18, 1, 57, 47, 93, 93, - 93, 51, 51,225, 50, 50, 57, 93, 50, 47, 51, 57, 57, 47, 47, 17, 51, 47, 93, 93, 93, 51, 18, 57, 57, 47, 47, 49, 48, 0, 93, 43, - 1, 43, 43, 1, 1, 51, 1, 51, 21, 33, 21, 33, 21, 33, 17, 35, 17, 33, 53, 33, 53, 33, 53, 51, 1, 51, 2,100, 1, 90,191,254, -127,240,254,210, 1, 46,254,210,178,254,211, 1, 45,254,211,234,254,133,192, 2,211, 2,227,253, 0,137,158,137,254,250, 1, 6, -137,158,137, 3, 0, 0, 0, 2, 2, 27,254, 20, 2,176, 6, 20, 0, 3, 0, 7, 0, 33, 64, 16, 2, 6,170, 3, 79, 7, 1, 7, - 4, 3, 4, 3, 6, 27, 0, 0, 0, 63, 63, 57, 57, 47, 47, 1, 47, 93, 51,225, 50, 49, 48, 1, 51, 17, 35, 17, 51, 17, 35, 2, - 27,149,149,149,149, 6, 20,252,244,254, 25,252,243, 0, 0, 2, 0,244,255,246, 3,217, 6, 31, 0, 39, 0, 50, 0,125, 64, 43, - 8, 0, 1, 6, 20, 1, 9, 0, 1, 40, 20, 47, 22, 0, 45, 2, 72, 42, 1, 42, 73, 18, 18, 32, 70, 7, 22, 52, 71, 47, 1, 47, - 73, 38, 12, 70, 2, 2, 27, 0, 38, 1, 38,184,255,192, 64, 26, 12, 15, 72, 38, 38, 51, 20, 40, 0, 45, 12, 45, 40, 32, 4, 5, - 30, 78, 28, 25, 22, 10, 78, 8, 5, 1, 0, 63, 51,225, 63, 51,225, 17, 23, 57, 17, 51, 17, 51, 17, 1, 51, 47, 43, 93, 51, 51, - 47,225, 16,225, 93, 16,222, 50,225, 51, 47,225, 93, 17, 57, 57, 17, 18, 57, 57, 49, 48, 0, 93, 93, 1, 93, 1, 38, 53, 52, 54, - 51, 50, 23, 7, 38, 35, 34, 21, 20, 22, 23, 22, 22, 21, 20, 7, 22, 21, 20, 6, 35, 34, 39, 53, 22, 51, 50, 53, 52, 38, 39, 38, - 38, 53, 52, 1, 54, 53, 52, 38, 39, 6, 21, 20, 22, 23, 1,164,160,208,173,162,164, 56,156,120,201, 99,147,157,148,145,145,221, -197,204,119,171,152,240, 86,152,197,112, 1,197,114,147,133,133,113,151, 4, 43, 80,156,120,144, 72,139, 67,116, 54, 78, 61, 62, -155,113,182, 88, 80,145,138,161, 65,158, 82,141, 57, 80, 62, 84,150,104,179,254, 97, 76,109, 89,111, 48, 48,127, 73,107, 63, 0, - 0, 2, 1, 74, 5, 12, 3,129, 5,217, 0, 7, 0, 15, 0, 55, 64, 36, 2,133, 0, 6,112, 6,224, 6, 3, 6, 6, 14,133, 10, - 10, 17, 8, 0,147, 12, 79, 4,111, 4,127, 4,159, 4,175, 4,207, 4,223, 4, 7, 4, 0, 47, 93, 51,237, 50, 17, 1, 51, 47, -225, 51, 47, 93,225, 49, 48, 1, 50, 21, 20, 35, 34, 53, 52, 33, 50, 21, 20, 35, 34, 53, 52, 1,170, 96, 96, 96, 1,215, 96, 96, - 96, 5,217,102,103,103,102,102,103,103,102, 0, 0, 3, 0, 6,255,236, 4,199, 5,203, 0, 11, 0, 23, 0, 44, 0,111, 64, 70, - 41,197, 35, 25, 31, 30, 47, 30, 63, 30, 3, 30, 25, 30, 25, 9, 15,195, 3, 46, 21,195, 9, 43,201, 27, 24, 27, 38,201, 33, 36, - 33,111, 27,127, 27,143, 27, 3, 13, 27, 29, 27, 2, 96, 33,112, 33,128, 33, 3, 2, 33, 18, 33, 2, 27, 33, 27, 33, 0, 12,200, - 6, 19, 18,200, 0, 4, 0, 63,225, 63,225, 17, 57, 57, 47, 47, 93, 93, 93, 93, 17, 51, 16,225, 17, 51, 16,225, 1, 47,225, 16, -214,225, 17, 57, 57, 47, 47, 93, 17, 51,225, 49, 48, 1, 32, 0, 17, 16, 0, 33, 32, 0, 17, 16, 0, 1, 50, 0, 17, 16, 0, 35, - 34, 0, 17, 16, 0, 1, 21, 6, 35, 34, 38, 53, 52, 54, 51, 50, 23, 7, 38, 35, 34, 6, 21, 16, 51, 50, 2,102, 1, 30, 1, 67, -254,188,254,227,254,226,254,190, 1, 65, 1, 31,240, 1, 4,254,252,240,240,254,253, 1, 3, 1,244,107,114,195,210,220,191,128, -126, 61,110, 83,121,130,251, 94, 5,203,254,104,254,168,254,167,254,106, 1,151, 1, 88, 1, 87, 1,153,250,141, 1, 85, 1, 46, - 1, 46, 1, 85,254,170,254,211,254,211,254,170, 1,109,131, 50,247,214,209,246, 62,127, 54,171,151,254,189, 0, 0, 2, 1, 20, - 3, 16, 3,141, 5,199, 0, 20, 0, 30, 0, 71, 64, 37, 30, 1, 9,224,192, 19, 1, 47, 19,127, 19, 2, 19, 19, 24,224, 15, 48, - 5,160, 5, 2, 5, 30,229, 9, 9, 26, 14, 12,228, 17,222, 1, 26,228, 3,184, 1, 0,177, 0,255, 0, 63, 63,225, 50, 63,225, - 51, 18, 57, 47,225, 1, 47, 93, 51,225, 51, 47, 93, 93,225, 50, 50, 49, 48, 1, 39, 6, 35, 34, 53, 52, 54, 55, 55, 53, 52, 35, - 34, 7, 39, 54, 51, 32, 21, 17, 3, 6, 6, 21, 20, 51, 50, 54, 53, 53, 3, 31, 33,104,164,222,170,191,125,152,112,133, 41,138, -156, 1, 35,247,114,120,104,105,125, 3, 29,118,131,205,116,103, 6, 5, 10,133, 51,110, 58,238,254, 68, 1, 63, 2, 52, 75, 90, -110, 91, 20, 0, 0, 2, 0,197, 0,115, 4, 6, 3,199, 0, 6, 0, 13, 0, 71, 64, 42, 10,235, 7,236, 11,143, 9, 1, 96, 9, - 1, 9, 15, 3,235, 0,236, 64, 4, 0, 2, 48, 2, 96, 2,160, 2, 4, 2, 12, 5,238, 8, 1,238, 32, 0, 6, 10, 3, 3,239, - 0, 25, 63, 23, 51, 26,237, 50,237, 50, 1, 24, 47, 93, 51, 26,253,225, 16,222, 93, 93, 50,253,225, 49, 48, 19, 1, 23, 3, 19, - 7, 1, 37, 1, 23, 3, 19, 7, 1,197, 1, 53,117,238,238,117,254,203, 1,151, 1, 53,117,237,237,117,254,203, 2, 41, 1,158, - 78,254,164,254,164, 78, 1,155, 27, 1,158, 78,254,164,254,164, 78, 1,155, 0, 0, 1, 0,152, 1, 6, 4, 51, 3, 29, 0, 5, - 0, 44,183, 3,170, 0, 7, 0, 5, 1, 5,184,255,192, 64, 13, 21, 24, 72, 5, 5, 6, 3,173, 0, 1, 1, 0,179, 0, 63, 50, - 47, 16,225, 17, 1, 51, 47, 43, 93, 16,222,225, 49, 48, 1, 17, 35, 17, 33, 53, 4, 51,149,252,250, 3, 29,253,233, 1,129,150, -255,255, 1, 29, 1,209, 3,176, 2,121, 2, 6, 0, 16, 0, 0, 0, 4, 0, 6,255,236, 4,199, 5,203, 0, 11, 0, 23, 0, 35, - 0, 43, 0,150, 64, 94, 24, 34, 36, 29,197, 30, 26, 25, 25, 39,197, 34, 27, 34, 96, 30, 1, 96, 34, 1, 27, 34, 1, 30, 34, 30, - 34, 9, 15,195, 3, 45, 21,195, 9, 26, 30, 21, 36, 1, 36,201, 28, 24, 28, 43,201, 31,240, 30, 1,111, 30,127, 30,143, 30, 3, - 13, 30, 29, 30, 2, 34, 28, 1, 96, 31,112, 31,128, 31, 3, 2, 31, 18, 31, 2, 30, 28, 31, 31, 28, 30, 3, 0, 12,200, 6, 19, - 18,200, 0, 4, 0, 63,225, 63,225, 17, 23, 57, 47, 47, 47, 93, 93, 93, 93, 93, 93, 16,225, 17, 51, 16,225, 93, 17, 51, 1, 47, -225, 16,214,225, 17, 57, 57, 47, 47, 93, 93, 93, 18, 57, 16,225, 51, 17, 51, 16,225, 50, 17, 57, 49, 48, 1, 32, 0, 17, 16, 0, - 33, 32, 0, 17, 16, 0, 1, 50, 0, 17, 16, 0, 35, 34, 0, 17, 16, 0, 1, 19, 35, 3, 35, 17, 35, 17, 51, 32, 17, 20, 37, 51, - 50, 53, 52, 38, 35, 35, 2,102, 1, 30, 1, 67,254,188,254,227,254,226,254,190, 1, 65, 1, 31,240, 1, 4,254,252,240,240,254, -253, 1, 3, 1,118,237,178,207, 94,158,234, 1, 69,254,111, 72,170, 84, 89, 69, 5,203,254,104,254,168,254,167,254,106, 1,151, - 1, 88, 1, 87, 1,153,250,141, 1, 85, 1, 46, 1, 46, 1, 85,254,170,254,211,254,211,254,170, 2, 80,254,117, 1, 96,254,160, - 3,125,254,247,163, 18,141, 74, 59, 0, 0, 1,255,236, 6, 20, 4,225, 6,160, 0, 3, 0, 15,181, 1, 0, 3,186, 0, 0, 0, - 63,225, 1, 47, 47, 49, 48, 1, 33, 53, 33, 4,225,251, 11, 4,245, 6, 20,140, 0, 2, 1, 43, 3, 86, 3,162, 5,203, 0, 11, - 0, 23, 0,137, 64, 26,169, 10,185, 10, 2, 10, 16, 9, 15, 72,169, 8,185, 8, 2, 8, 16, 9, 15, 72,166, 4,182, 4, 2, 4, -184,255,240, 64, 9, 9, 15, 72,166, 2,182, 2, 2, 2,184,255,240, 64, 33, 9, 15, 72, 15,171,159, 3,175, 3,255, 3, 3, 3, - 25, 21,171, 0, 9, 32, 9, 48, 9,144, 9,160, 9,176, 9,240, 9, 7, 9, 12,184, 1, 2, 64, 12, 0, 6, 16, 6, 32, 6,224, - 6,240, 6, 5, 6,184,255,192,180, 16, 21, 72, 6, 18,184, 1, 2,177, 0, 4, 0, 63,225,212, 43, 93,225, 1, 47, 93,225, 16, -222, 93,225, 49, 48, 43, 93, 43, 93, 43, 93, 43, 93, 1, 50, 22, 21, 20, 6, 35, 34, 38, 53, 52, 54, 19, 50, 54, 53, 52, 38, 35, - 34, 6, 21, 20, 22, 2,102,129,187,186,130,131,184,185,130, 79,114,115, 78, 79,113,112, 5,203,187,129,129,184,185,128,129,187, -254, 6,112, 78, 81,114,115, 80, 78,112, 0, 2, 0,152, 0, 0, 4, 51, 4,162, 0, 11, 0, 15, 0, 41, 64, 22, 14, 9, 6,170, - 13, 0,192, 3,208, 3, 2, 3, 13,173, 12, 24, 9, 0,173, 6, 3,179, 0, 63, 51,225, 50, 63,225, 1, 47, 93, 51, 51,225, 50, - 50, 49, 48, 1, 33, 53, 33, 17, 51, 17, 33, 21, 33, 17, 35, 1, 53, 33, 21, 2, 27,254,125, 1,131,149, 1,131,254,125,149,254, -125, 3,155, 2,135,150, 1,133,254,123,150,254,127,254,250,150,150, 0, 0, 1, 1, 92, 2,160, 3,111, 5,197, 0, 21, 0, 77, - 64, 51, 21, 21, 6,224, 15, 16, 31, 16, 79, 16, 95, 16,127, 16,143, 16,159, 16, 7, 16, 16, 20, 11, 11, 0, 1, 96, 1,112, 1, -128, 1, 4, 1, 6, 1, 10, 16, 17, 24, 72, 10, 8,228, 13,222, 2, 20,228, 1,221, 0, 63,225, 50, 63,225, 51, 43, 18, 57, 1, - 47, 93, 50, 47, 50, 50, 47, 93,225, 51, 47, 49, 48, 1, 33, 53, 55, 54, 54, 53, 52, 35, 34, 7, 39, 54, 51, 50, 22, 21, 20, 6, - 7, 7, 33, 3,111,253,237,187,111, 61,111, 81, 83, 78,117,131,118,130, 70,129,135, 1,107, 2,160,102,199,118,101, 57,115, 76, - 86,103,120,104, 66,136,129,136, 0, 1, 1, 86, 2,143, 3, 78, 5,197, 0, 30, 0,132, 64, 79, 0, 16, 19,224, 23, 29, 1, 29, - 29, 2, 16, 16, 7, 12,224, 15, 2, 31, 2, 79, 2, 95, 2,127, 2,143, 2,159, 2, 7, 2, 2, 7, 24, 24, 0, 7, 96, 7,112, - 7, 3, 7, 0, 15,229,250, 16, 1,233, 16, 1,168, 16, 1,111, 16, 1, 11, 16, 27, 16, 2, 16, 16, 10, 23, 16, 17, 24, 72, 23, - 21,228, 26,222, 10,228, 8,184,255,240,181, 17, 24, 72, 8, 5,223, 0, 63, 51, 43,225, 63,225, 51, 43, 18, 57, 47, 93, 93, 93, - 93, 93,225, 57, 1, 47, 93, 51, 47, 17, 51, 47, 93,225, 18, 57, 47, 17, 51, 47, 93,225, 18, 57, 49, 48, 1, 22, 21, 20, 6, 35, - 34, 39, 53, 22, 51, 50, 53, 52, 35, 35, 53, 51, 50, 53, 52, 35, 34, 7, 39, 54, 51, 50, 22, 21, 20, 2,158,176,149,140,131, 84, -110, 93,149,147, 72, 70,123, 97, 71, 90, 66,111,127,109,128, 4, 61, 39,147,116,128, 50,124, 65,137,125,104,127,111, 70, 86, 93, -109, 94,139, 0, 0, 1, 1,162, 4,217, 3, 43, 6, 33, 0, 7, 0, 31, 64, 16, 6, 7,134, 2,135, 3, 3, 9, 2,146, 15, 6, - 95, 6, 2, 6, 0, 47, 93,237, 17, 1, 51, 47,225,237, 50, 49, 48, 1, 54, 55, 51, 21, 6, 7, 35, 1,162, 94, 80,219,112,160, -121, 4,244,133,168, 21,173,134, 0, 1, 0,180,254, 20, 4, 25, 4, 74, 0, 21, 0, 61, 64, 16, 10, 5, 71,143, 8, 1, 8, 23, - 15, 0, 18, 71, 0, 19, 1, 19,184,255,192, 64, 16, 17, 20, 72, 19, 18, 27, 10, 2, 80, 13, 22, 9, 21, 20, 6, 15, 0, 63, 51, - 63, 63,225, 50, 63, 1, 47, 43, 93,225, 50, 50, 16,222, 93,225, 50, 49, 48, 1, 16, 51, 50, 54, 53, 17, 51, 17, 35, 39, 35, 6, - 35, 34, 39, 22, 21, 17, 35, 17, 51, 1,106,218,148,138,183,148, 27, 10, 96,199,139, 74, 6,182,182, 1,135,254,252,182,215, 2, - 58,251,182,147,167, 88,153, 87,254,192, 6, 54, 0, 1, 0, 66,254,252, 4, 55, 6, 20, 0, 14, 0, 77,183, 4,154, 96, 5,240, - 5, 2, 5,184,255,192, 64, 37, 18, 22, 72, 34, 5, 50, 5, 2, 4, 5, 20, 5, 2, 5, 5, 10, 1,154, 0, 16, 10, 64, 10, 15, - 72, 10, 10, 15, 8, 8, 0, 2, 81, 14, 0, 5, 0, 0, 47, 50, 63,225, 18, 57, 47, 17, 1, 51, 47, 43, 16,222,225, 17, 57, 47, - 93, 93, 43, 93,225, 49, 48, 1, 35, 17, 35, 17, 35, 17, 6, 35, 32, 17, 16, 54, 51, 33, 4, 55,121,206,121, 61, 85,254, 93,217, -233, 2, 51,254,252, 6,121,249,135, 3, 51, 18, 1,245, 1, 3,255, 0, 0, 1, 1,231, 2, 72, 2,229, 3, 94, 0, 7, 0, 34, - 64, 20, 2,150, 48, 6, 96, 6,176, 6,224, 6,240, 6, 5, 6, 6, 8, 9, 0,155, 4, 0, 47,237, 17, 18, 1, 57, 47, 93,237, - 49, 48, 1, 50, 21, 20, 35, 34, 53, 52, 2,102,127,127,127, 3, 94,139,139,139,139, 0, 0, 1, 1,172,254, 20, 3, 33, 0, 0, - 0, 15, 0, 67,185, 0, 13,255,176, 64, 33, 11, 19, 72, 7, 48, 9, 14, 72, 8, 7, 9, 10, 7, 10, 0, 5,132, 12, 95, 0, 1, - 0, 0, 12, 12, 17, 10, 7, 8, 3,141, 14, 8, 0, 47, 47,225, 17, 57, 57, 17, 1, 51, 47, 51, 47, 93, 16,225, 17, 57, 57, 17, - 51, 17, 51, 49, 48, 43, 43, 1, 53, 22, 51, 50, 53, 52, 39, 55, 51, 7, 22, 21, 20, 33, 34, 1,172, 33, 47,151,172, 91,120, 57, -160,254,221, 34,254, 29,108, 6, 92, 74, 39,176,115, 37,135,205, 0, 1, 1,111, 2,160, 2,209, 5,180, 0, 10, 0, 33, 64, 15, - 10, 10, 2,224, 0, 3, 3, 11, 12, 2,221, 6, 9, 0,220, 0, 63,205, 57, 63, 17, 18, 1, 57, 47, 51,225, 51, 47, 49, 48, 1, - 51, 17, 35, 17, 52, 55, 6, 7, 7, 39, 2, 74,135,146, 9, 41, 33, 70, 73, 5,180,252,236, 1,209, 69,131, 44, 21, 51, 88, 0, - 0, 2, 1, 25, 3, 16, 3,180, 5,199, 0, 11, 0, 19, 0, 48, 64, 27, 14,224,176, 9, 1,127, 9, 1, 9, 9, 18,224, 32, 3, - 48, 3,160, 3, 3, 3, 16,230, 6,222, 12,230, 0,184, 1, 0, 0, 63,225, 63,225, 1, 47, 93,225, 51, 47, 93, 93,225, 49, 48, - 1, 34, 38, 53, 52, 54, 51, 50, 22, 21, 20, 6, 39, 50, 53, 52, 35, 34, 21, 20, 2,100,144,187,180,155,145,187,184,150,181,181, -182, 3, 16,186,163,162,184,185,161,165,184,119,230,225,225,230, 0, 2, 0,197, 0,115, 4, 6, 3,199, 0, 6, 0, 13, 0, 71, - 64, 42, 2, 4,236, 3,235, 63, 6,143, 6,159, 6,175, 6, 4, 6, 15, 9, 11,236, 64, 10,235,159, 13, 1, 0, 13, 1, 13, 12, - 5,238, 8, 1,238, 32, 0, 6, 10, 3, 3,239, 0, 25, 63, 23, 51, 26,237, 50,237, 50, 1, 24, 47, 93, 93,225, 26,237, 50, 16, -222, 93,225,237, 50, 49, 48, 1, 1, 39, 19, 3, 55, 1, 5, 1, 39, 19, 3, 55, 1, 4, 6,254,203,117,238,238,117, 1, 53,254, -105,254,202,116,237,237,116, 1, 54, 2, 14,254,101, 78, 1, 92, 1, 92, 78,254, 98, 27,254,101, 78, 1, 92, 1, 92, 78,254, 98, -255,255, 0, 22, 0, 0, 4,184, 5,182, 2, 39, 0,123,254,167, 0, 0, 0, 38, 2, 23, 0, 0, 1, 7, 2, 60, 1, 57,253, 89, - 0, 60, 64, 39, 3, 2, 18, 24, 3, 2,240, 18, 1,224, 18, 1,128, 18, 1,127, 18, 1, 16, 18, 1, 18, 0,240, 0, 1,224, 0, - 1,176, 0, 1, 80, 0, 1, 64, 0, 1, 0, 17, 93, 93, 93, 93, 93, 53, 17, 93, 93, 93, 93, 93, 53, 53, 0, 63, 53, 53,255,255, - 0, 3, 0, 0, 4,201, 5,182, 2, 39, 0,123,254,148, 0, 0, 0, 38, 2, 23,191, 0, 1, 7, 0,116, 1, 90,253, 97, 0, 68, - 64, 45, 2, 16, 24, 2,240, 16, 1,224, 16, 1,208, 16, 1,192, 16, 1, 16, 16, 1, 0, 16, 1, 16, 1,175, 13, 1,143, 13, 1, - 13, 0,240, 0, 1,224, 0, 1, 80, 0, 1, 64, 0, 1, 0, 17, 93, 93, 93, 93, 53, 17, 93, 93, 53, 17, 93, 93, 93, 93, 93, 93, - 53, 0, 63, 53,255,255, 0, 21, 0, 0, 4,205, 5,197, 2, 39, 0,117,254,191, 0, 0, 0, 38, 2, 23, 53, 0, 1, 7, 2, 60, - 1, 78,253, 89, 0, 56, 64, 36, 3, 2, 38, 24, 3, 2,240, 38, 1,224, 38, 1,128, 38, 1, 16, 38, 1, 38, 1,244, 33, 1,228, - 33, 1,212, 33, 1,196, 33, 1,176, 33, 1, 33, 17, 93, 93, 93, 93, 93, 53, 17, 93, 93, 93, 93, 53, 53, 0, 63, 53, 53, 0, 2, - 0,168,254,119, 4, 31, 4, 94, 0, 7, 0, 33, 0, 91, 64, 55, 33, 8, 8, 6,150, 64, 2, 80, 2, 2, 2, 2, 15,159, 21, 1, - 21, 35, 32, 35, 1, 15, 71,159, 26, 1, 0, 26, 1, 26, 15, 23, 32, 8, 1, 8, 8, 0, 20, 18, 81, 48, 23, 1, 23, 26, 0, 1, - 9, 0, 1, 0,155, 4, 16, 0, 63,225, 93, 93, 47, 93,225, 51, 18, 57, 47, 93, 18, 57, 1, 47, 93, 93,225, 93, 16,206, 93, 17, - 57, 47, 93,229, 50, 17, 51, 49, 48, 1, 34, 53, 52, 51, 50, 21, 20, 7, 21, 20, 6, 7, 6, 6, 21, 20, 22, 51, 50, 55, 23, 6, - 35, 34, 38, 53, 52, 54, 55, 54, 54, 53, 53, 2,162,127,127,127, 39, 89,118,129, 84,149,132,181,189, 62,219,203,217,248,107,143, -119, 65, 3, 72,139,139,139,139,164, 37,119,149, 84, 97,116,101, 93,113, 90,144,106,195,163,134,166,108, 87,107, 90, 19,255,255, - 0, 33, 0, 0, 4,172, 7,115, 2, 38, 0, 36, 0, 0, 1, 7, 0, 67,255,179, 1, 82, 0, 21,180, 2, 15, 5, 38, 2,184,255, -179,180, 18, 15, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 33, 0, 0, 4,172, 7,115, 2, 38, 0, 36, 0, 0, 1, 7, - 0,118, 0,102, 1, 82, 0, 19, 64, 11, 2, 21, 5, 38, 2,102, 15, 18, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 33, - 0, 0, 4,172, 7,115, 2, 38, 0, 36, 0, 0, 1, 7, 1, 75, 0, 0, 1, 82, 0, 19, 64, 11, 2, 15, 5, 38, 2, 0, 21, 15, - 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 33, 0, 0, 4,172, 7, 53, 2, 38, 0, 36, 0, 0, 1, 7, 1, 82,255,255, - 1, 82, 0, 21,180, 2, 15, 5, 38, 2,184,255,254,180, 16, 25, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 33, 0, 0, - 4,172, 7, 43, 2, 38, 0, 36, 0, 0, 1, 7, 0,106, 0, 0, 1, 82, 0, 25,182, 3, 2, 19, 5, 38, 3, 2,184,255,255,180, - 21, 25, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 33, 0, 0, 4,172, 7, 4, 2, 38, 0, 36, 0, 0, 1, 6, - 1, 80, 0,125, 0, 52, 64, 26, 3, 2,239, 26, 1,223, 26, 1, 80, 26, 1, 64, 26, 1, 32, 26, 1, 16, 26, 1, 0, 26, 1, 26, - 3, 2,184,255,255,180, 18, 24, 4, 7, 37, 1, 43, 53, 53, 0, 17, 93, 93, 93, 93, 93, 93, 93, 53, 53, 0, 2, 0, 0, 0, 0, - 4,186, 5,182, 0, 15, 0, 19, 0,134, 64, 84, 6, 8, 11, 14, 72, 16, 3, 19, 4,201, 19,217, 19,233, 19, 3, 55, 19, 1, 19, - 6, 10, 14, 90, 1, 17, 1, 15, 1, 1, 79, 1, 95, 1,127, 1,143, 1,239, 1,255, 1, 6, 6, 1, 11, 11, 1, 6, 3, 5, 8, - 0, 21, 4, 5, 3, 95, 16, 13, 95, 10,159, 16,207, 16, 2,104, 10, 1, 16, 10, 16, 10, 14, 19, 9, 95, 6, 3, 14, 95, 4, 1, - 0, 47, 51,225, 63,225, 50, 18, 57, 57, 47, 47, 93, 93, 16,225, 16,225, 1, 47, 51, 16,206, 50, 17, 23, 57, 47, 47, 47, 93,113, - 17, 51, 16,225, 50, 17, 51, 93, 93, 17, 18, 57, 57, 43, 49, 48, 33, 33, 17, 33, 3, 35, 1, 33, 21, 33, 17, 33, 21, 33, 17, 33, - 1, 51, 17, 35, 4,186,253,115,254,223, 96,172, 1, 82, 3,104,254, 35, 1,182,254, 74, 1,221,252,119,252,106, 1,197,254, 59, - 5,182,164,254, 60,162,253,248, 1,198, 2,168,255,255, 0,129,254, 20, 4,156, 5,203, 2, 38, 0, 38, 0, 0, 1, 6, 0,122, - 80, 0, 0, 11,182, 1, 40, 22, 34, 6, 11, 37, 1, 43, 53, 0,255,255, 0,217, 0, 0, 4, 35, 7,115, 2, 38, 0, 40, 0, 0, - 1, 7, 0, 67,255,183, 1, 82, 0, 21,180, 1, 12, 5, 38, 1,184,255,160,180, 15, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0,217, 0, 0, 4, 35, 7,115, 2, 38, 0, 40, 0, 0, 1, 7, 0,118, 0, 63, 1, 82, 0, 19, 64, 11, 1, 18, 5, 38, - 1, 39, 12, 15, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,217, 0, 0, 4, 35, 7,115, 2, 38, 0, 40, 0, 0, 1, 7, - 1, 75, 0, 35, 1, 82, 0, 19, 64, 11, 1, 12, 5, 38, 1, 11, 18, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,217, - 0, 0, 4, 35, 7, 43, 2, 38, 0, 40, 0, 0, 1, 7, 0,106, 0, 25, 1, 82, 0, 23, 64, 13, 2, 1, 16, 5, 38, 2, 1, 0, - 18, 22, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,225, 0, 0, 3,233, 7,115, 2, 38, 0, 44, 0, 0, 1, 7, - 0, 67,255,148, 1, 82, 0, 21,180, 1, 12, 5, 38, 1,184,255,150,180, 15, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0,225, 0, 0, 3,233, 7,115, 2, 38, 0, 44, 0, 0, 1, 7, 0,118, 0,119, 1, 82, 0, 19, 64, 11, 1, 18, 5, 38, 1,120, - 12, 15, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,225, 0, 0, 3,233, 7,115, 2, 38, 0, 44, 0, 0, 1, 7, 1, 75, - 0, 0, 1, 82, 0, 19, 64, 11, 1, 12, 5, 38, 1, 1, 18, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,225, 0, 0, - 3,233, 7, 43, 2, 38, 0, 44, 0, 0, 1, 7, 0,106, 0, 2, 1, 82, 0, 23, 64, 13, 2, 1, 16, 5, 38, 2, 1, 2, 18, 22, - 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 2, 0, 0, 0, 0, 4,123, 5,182, 0, 12, 0, 23, 0, 73, 64, 44, 16, 0, - 21, 91, 9, 25, 14, 18, 90, 4, 2, 0, 0,224, 0,240, 0, 3, 0, 17, 2, 95, 14,104, 3, 1, 47, 3,159, 3,207, 3, 3, 3, - 3, 18, 13, 96, 5, 3, 18, 96, 0, 18, 0, 63,225, 63,225, 18, 57, 47, 93, 93, 51,225, 50, 1, 47, 93,198, 51,225, 50, 16,222, -225, 17, 57, 49, 48, 51, 17, 35, 53, 51, 17, 33, 32, 0, 17, 16, 0, 33, 3, 17, 33, 21, 33, 17, 51, 32, 17, 16, 33,135,135,135, - 1, 86, 1, 61, 1, 97,254,146,254,167,114, 1,124,254,132, 96, 2, 20,254, 19, 2,147,162, 2,129,254,134,254,173,254,151,254, -128, 5, 23,254, 30,162,254, 13, 2, 67, 2, 52,255,255, 0,135, 0, 0, 4, 68, 7, 53, 2, 38, 0, 49, 0, 0, 1, 7, 1, 82, - 0, 4, 1, 82, 0, 19, 64, 11, 1, 16, 5, 38, 1, 4, 17, 26, 7, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 84,255,236, - 4,123, 7,115, 2, 38, 0, 50, 0, 0, 1, 7, 0, 67,255,175, 1, 82, 0, 21,180, 2, 20, 5, 38, 2,184,255,174,180, 23, 20, - 2, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 84,255,236, 4,123, 7,115, 2, 38, 0, 50, 0, 0, 1, 7, 0,118, 0, 90, - 1, 82, 0, 19, 64, 11, 2, 26, 5, 38, 2, 89, 20, 23, 2, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 84,255,236, 4,123, - 7,115, 2, 38, 0, 50, 0, 0, 1, 7, 1, 75, 0, 0, 1, 82, 0, 21,180, 2, 20, 5, 38, 2,184,255,255,180, 26, 20, 2, 7, - 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 84,255,236, 4,123, 7, 53, 2, 38, 0, 50, 0, 0, 1, 7, 1, 82, 0, 8, 1, 82, - 0, 19, 64, 11, 2, 20, 5, 38, 2, 6, 21, 30, 2, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 84,255,236, 4,123, 7, 43, - 2, 38, 0, 50, 0, 0, 1, 7, 0,106, 0, 2, 1, 82, 0, 23, 64, 13, 3, 2, 24, 5, 38, 3, 2, 0, 26, 30, 2, 7, 37, 1, - 43, 53, 53, 0, 43, 53, 53, 0, 0, 1, 0,190, 1, 45, 4, 14, 4,123, 0, 11, 0, 92,185, 0, 6,255,240,179, 15, 22, 72, 6, -184,255,248, 64, 24, 10, 14, 72, 0, 16, 15, 22, 72, 0, 8, 10, 14, 72, 9, 16, 15, 22, 72, 9, 8, 10, 14, 72, 3,184,255,240, -179, 15, 22, 72, 3,184,255,248, 64, 20, 10, 14, 72,128, 3,192, 3,208, 3,240, 3, 4, 31, 3, 1, 3,223, 0, 1, 0, 0, 25, - 47, 93, 1, 47, 93, 93, 49, 48, 0, 43, 43, 43, 43, 1, 43, 43, 43, 43, 1, 1, 55, 1, 1, 23, 1, 1, 7, 1, 1, 39, 1,252, -254,194,105, 1, 61, 1, 66,104,254,191, 1, 63,102,254,190,254,195,102, 2,211, 1, 63,105,254,194, 1, 62,103,254,191,254,192, -102, 1, 61,254,197,103, 0, 3, 0, 80,255,180, 4,133, 5,252, 0, 18, 0, 25, 0, 33, 0, 96,185, 0, 19,255,224, 64, 56, 9, - 23, 72, 26, 32, 9, 23, 72, 26, 20, 27, 19, 4, 24, 32, 91, 12, 9, 0, 3, 4, 5, 11, 14, 35, 24, 91, 2, 31, 5, 47, 5, 2, - 5, 27, 19, 26, 20, 4, 22, 29, 95, 0, 3, 12, 9, 4, 7, 1, 17, 19, 22, 95, 10, 7, 4, 0, 63, 51,225, 63, 51, 18, 23, 57, -225, 17, 23, 57, 1, 47, 93, 51,225, 16,222, 50, 17, 23, 57,225, 17, 23, 57, 49, 48, 0, 43, 43, 37, 7, 39, 55, 38, 17, 16, 33, - 50, 23, 55, 23, 7, 22, 17, 16, 0, 35, 34, 3, 1, 38, 35, 32, 17, 20, 1, 1, 22, 51, 50, 18, 17, 52, 1, 53, 92,137,121,117, - 2, 22,186,124, 92,137,125,115,254,236,255,189,108, 2, 3, 80,136,254,175, 2,122,254, 0, 80,133,173,161, 74,150, 78,197,184, - 1, 96, 2,238,105,152, 78,201,188,254,180,254,151,254,120, 1,155, 3, 68, 94,253,180,212, 2, 28,252,192, 86, 1, 34, 1, 44, -209, 0,255,255, 0,125,255,236, 4, 80, 7,115, 2, 38, 0, 56, 0, 0, 1, 7, 0, 67,255,187, 1, 82, 0, 21,180, 1, 15, 5, - 38, 1,184,255,187,180, 18, 15, 6, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4, 80, 7,115, 2, 38, 0, 56, - 0, 0, 1, 7, 0,118, 0, 76, 1, 82, 0, 19, 64, 11, 1, 21, 5, 38, 1, 76, 15, 18, 6, 0, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0,125,255,236, 4, 80, 7,115, 2, 38, 0, 56, 0, 0, 1, 7, 1, 75, 0, 0, 1, 82, 0, 19, 64, 11, 1, 15, 5, 38, - 1, 0, 21, 15, 6, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4, 80, 7, 43, 2, 38, 0, 56, 0, 0, 1, 7, - 0,106, 0, 2, 1, 82, 0, 23, 64, 13, 2, 1, 19, 5, 38, 2, 1, 1, 21, 25, 6, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, -255,255, 0, 33, 0, 0, 4,170, 7,115, 2, 38, 0, 60, 0, 0, 1, 7, 0,118, 0, 76, 1, 82, 0, 19, 64, 11, 1, 15, 5, 38, - 1, 77, 9, 12, 7, 2, 37, 1, 43, 53, 0, 43, 53, 0, 0, 2, 0,176, 0, 0, 4, 70, 5,182, 0, 11, 0, 19, 0, 62, 64, 36, - 16, 91,239, 8,255, 8, 2, 8, 21, 12, 5, 1, 90, 0, 2,144, 2,160, 2, 3, 2, 12, 96, 0, 19, 96, 5, 0, 5, 0, 5, 1, - 3, 3, 1, 18, 0, 63, 63, 18, 57, 57, 47, 47, 16,225, 16,225, 1, 47, 93,225, 50, 50, 16,222, 93,225, 49, 48, 1, 17, 35, 17, - 51, 21, 51, 32, 17, 20, 4, 33, 39, 51, 50, 54, 53, 16, 33, 35, 1,106,186,186,218, 2, 2,254,235,254,248,191,170,198,171,254, -174,201, 1, 61,254,195, 5,182,252,254, 84,219,246,158,144,153, 1, 23, 0, 1, 0,164,255,236, 4,127, 6, 31, 0, 42, 0,114, - 64, 75, 16, 22, 1, 11, 70, 32, 15, 71, 27, 29, 0, 1, 15, 0, 1, 79, 32, 95, 32, 2, 29, 32, 1, 15, 32, 1, 15, 27, 31, 27, -191, 27,207, 27,223, 27, 5, 0, 32, 27, 27, 32, 0, 3, 21, 5, 71, 38, 44, 20, 71, 0, 21,160, 21,176, 21, 3, 21, 5, 32, 15, - 3, 24, 3, 80, 1, 41, 22, 17, 80, 24, 1, 21, 21, 0, 63, 63,225, 63, 51,225, 18, 23, 57, 1, 47, 93,225, 16,222,225, 18, 23, - 57, 47, 47, 47, 93, 93, 93, 93, 93, 93, 16,225, 16,225, 49, 48, 0, 93, 37, 53, 22, 51, 50, 53, 52, 38, 39, 38, 38, 53, 52, 55, - 54, 53, 52, 35, 34, 21, 17, 35, 17, 16, 33, 50, 22, 21, 20, 7, 6, 6, 21, 20, 22, 23, 22, 22, 21, 20, 6, 35, 34, 1,223,143, -134,213, 91, 98,123,100,129,129,227,242,182, 1,168,194,217,133, 84, 49, 58,122,144, 94,200,183,182, 49,166, 86,174, 81,102, 61, - 78,122, 87,117,106,106, 90,164,215,251, 78, 4,176, 1,111,159,148,132,117, 74, 62, 33, 39, 60, 81, 95,156, 98,162,171,255,255, - 0,135,255,236, 4, 2, 6, 33, 2, 38, 0, 68, 0, 0, 1, 6, 0, 67,171, 0, 0, 21,180, 2, 34, 17, 38, 2,184,255,205,180, - 37, 34, 8, 22, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,135,255,236, 4, 2, 6, 33, 2, 38, 0, 68, 0, 0, 1, 6, 0,118, - 84, 0, 0, 23, 64, 14, 2, 40, 17, 38, 2, 80, 34, 1,118, 34, 37, 8, 22, 37, 1, 43, 93, 53, 0, 43, 53, 0,255,255, 0,135, -255,236, 4, 2, 6, 33, 2, 38, 0, 68, 0, 0, 1, 6, 1, 75, 8, 0, 0, 23, 64, 14, 2, 34, 17, 38, 2, 96, 40, 1, 42, 40, - 34, 8, 22, 37, 1, 43, 93, 53, 0, 43, 53, 0,255,255, 0,135,255,236, 4, 2, 5,227, 2, 38, 0, 68, 0, 0, 1, 6, 1, 82, - 10, 0, 0, 31, 64, 20, 2, 34, 17, 38, 2,128, 35, 1,112, 35, 1, 96, 35, 1, 43, 35, 44, 8, 22, 37, 1, 43, 93, 93, 93, 53, - 0, 43, 53, 0,255,255, 0,135,255,236, 4, 2, 5,217, 2, 38, 0, 68, 0, 0, 1, 6, 0,106, 12, 0, 0, 35, 64, 22, 3, 2, - 38, 17, 38, 3, 2, 80, 40, 1, 64, 40, 1, 48, 40, 1, 45, 40, 44, 8, 22, 37, 1, 43, 93, 93, 93, 53, 53, 0, 43, 53, 53, 0, -255,255, 0,135,255,236, 4, 2, 6,135, 2, 38, 0, 68, 0, 0, 1, 6, 1, 80,255, 0, 0, 23, 64, 13, 3, 2, 34, 17, 38, 3, - 2, 32, 37, 43, 8, 22, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 3, 0, 45,255,236, 4,162, 4, 94, 0, 34, 0, 41, 0, 51, - 0,104, 64, 60, 27, 10, 35, 17, 71, 0, 16, 51,192, 51, 2, 51, 51, 32, 36, 70, 23, 16, 64, 10, 22, 72, 11, 16, 1, 16, 53, 45, - 71, 6,224, 32,240, 32, 2, 32, 42, 17, 80, 0, 35, 35, 8, 27, 20, 48, 80, 22, 25, 25, 29, 22, 39, 10, 3, 80, 12, 5, 8, 16, - 0, 63, 51, 51,225, 50, 50, 63, 51, 17, 51,225, 50, 50, 17, 57, 47, 51,225, 50, 1, 47, 93, 51,225, 16,222, 93, 43, 50,225, 17, - 57, 47, 93, 51,225, 50, 57, 57, 49, 48, 1, 53, 52, 35, 34, 7, 39, 54, 51, 50, 23, 54, 51, 50, 18, 21, 21, 33, 22, 22, 51, 50, - 55, 21, 6, 35, 34, 39, 6, 35, 34, 38, 53, 16, 37, 37, 33, 52, 38, 35, 34, 6, 3, 7, 6, 21, 20, 22, 51, 50, 54, 53, 2, 10, -139,107,104, 57,131,145,188, 58, 78,162,137,172,254, 16, 3,128,105,111,122,107,134,222, 94,105,196,115,141, 1, 72, 1, 65, 1, - 60, 81, 71, 68, 90,180, 88,217, 64, 55, 82,104, 2,150, 69,236, 82,137, 96,178,178,254,241,220,113,192,183, 76,162, 73,229,229, -173,154, 1, 76, 16, 7,141,164,156,254,238, 7, 17,208, 83, 95,165,146,255,255, 0,172,254, 20, 4, 37, 4, 94, 2, 38, 0, 70, - 0, 0, 1, 6, 0,122, 49, 0, 0, 11,182, 1, 47, 20, 32, 15, 0, 37, 1, 43, 53, 0,255,255, 0,133,255,236, 4, 72, 6, 33, - 2, 38, 0, 72, 0, 0, 1, 6, 0, 67,212, 0, 0, 21,180, 2, 23, 17, 38, 2,184,255,212,180, 26, 23, 11, 0, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 0,133,255,236, 4, 72, 6, 33, 2, 38, 0, 72, 0, 0, 1, 6, 0,118, 82, 0, 0, 31, 64, 20, 2, 29, - 17, 38, 2,160, 23, 1, 16, 23, 1, 0, 23, 1, 82, 23, 26, 11, 0, 37, 1, 43, 93, 93, 93, 53, 0, 43, 53, 0,255,255, 0,133, -255,236, 4, 72, 6, 33, 2, 38, 0, 72, 0, 0, 1, 6, 1, 75, 16, 0, 0, 19, 64, 11, 2, 23, 17, 38, 2, 16, 29, 23, 11, 0, - 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,133,255,236, 4, 72, 5,217, 2, 38, 0, 72, 0, 0, 1, 6, 0,106, 18, 0, 0, 23, - 64, 13, 3, 2, 27, 17, 38, 3, 2, 17, 29, 33, 11, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,197, 0, 0, 4, 51, - 6, 33, 2, 38, 0,243, 0, 0, 1, 6, 0, 67,171, 0, 0, 21,180, 1, 10, 17, 38, 1,184,255,150,180, 13, 10, 7, 5, 37, 1, - 43, 53, 0, 43, 53, 0,255,255, 0,197, 0, 0, 4, 51, 6, 33, 2, 38, 0,243, 0, 0, 1, 6, 0,118,113, 0, 0, 19, 64, 11, - 1, 16, 17, 38, 1, 91, 10, 13, 7, 5, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,197, 0, 0, 4, 51, 6, 33, 2, 38, 0,243, - 0, 0, 1, 6, 1, 75, 0, 0, 0, 21,180, 1, 10, 17, 38, 1,184,255,235,180, 16, 10, 7, 5, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0,197, 0, 0, 4, 51, 5,217, 2, 38, 0,243, 0, 0, 1, 6, 0,106, 0, 0, 0, 25,182, 2, 1, 14, 17, 38, 2, 1, -184,255,234,180, 16, 20, 7, 5, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 2, 0,135,255,236, 4, 70, 6, 35, 0, 26, 0, 36, - 0,112,185, 0, 11,255,224, 64, 65, 15, 20, 72, 6, 32, 15, 19, 72, 1, 34, 72, 16, 14, 11, 3, 6, 8, 5, 13, 5, 13, 5, 13, - 22,239, 16,255, 16, 2, 16, 38, 29, 72, 0, 22,224, 22,240, 22, 3, 22, 0, 27, 80, 25, 14, 6, 11, 3, 48, 25, 1, 4, 25, 4, - 25, 9, 31, 80, 19, 22, 12, 12, 9, 1, 0, 63, 51, 47, 63,225, 18, 57, 57, 47, 47, 93, 23, 57, 16,225, 50, 1, 47, 93,225, 16, -206, 93, 17, 57, 57, 47, 47, 18, 23, 57, 16,225, 50, 49, 48, 43, 0, 43, 1, 55, 38, 39, 5, 39, 55, 38, 39, 55, 22, 23, 55, 23, - 7, 0, 17, 16, 0, 35, 34, 0, 53, 52, 18, 51, 50, 7, 32, 17, 16, 33, 50, 54, 53, 52, 38, 3,121, 8, 58,184,255, 0, 73,217, -104, 68, 69,143,103,227, 74,194, 1, 45,254,255,225,213,254,248,241,214,211,187,254,226, 1, 32,154,135,155, 3, 84, 4,226,165, -153,114,131, 71, 38,123, 70, 78,138,113,117,254,221,254, 45,254,235,254,196, 1, 11,230,234, 1, 4,148,254,160,254,172,199,196, -129,168,255,255, 0,160, 0, 0, 4, 45, 5,227, 2, 38, 0, 81, 0, 0, 1, 6, 1, 82, 6, 0, 0, 19, 64, 11, 1, 17, 17, 38, - 1, 5, 18, 27, 7, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115,255,236, 4, 88, 6, 33, 2, 38, 0, 82, 0, 0, 1, 6, - 0, 67,216, 0, 0, 21,180, 2, 20, 17, 38, 2,184,255,217,180, 23, 20, 3, 9, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115, -255,236, 4, 88, 6, 33, 2, 38, 0, 82, 0, 0, 1, 6, 0,118, 80, 0, 0, 19, 64, 11, 2, 26, 17, 38, 2, 81, 20, 23, 3, 9, - 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115,255,236, 4, 88, 6, 33, 2, 38, 0, 82, 0, 0, 1, 6, 1, 75,251, 0, 0, 21, -180, 2, 20, 17, 38, 2,184,255,252,180, 26, 20, 3, 9, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115,255,236, 4, 88, 5,227, - 2, 38, 0, 82, 0, 0, 1, 6, 1, 82, 0, 0, 0, 19, 64, 11, 2, 20, 17, 38, 2, 0, 21, 30, 3, 9, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0,115,255,236, 4, 88, 5,217, 2, 38, 0, 82, 0, 0, 1, 6, 0,106,249, 0, 0, 25,182, 3, 2, 24, 17, 38, - 3, 2,184,255,249,180, 26, 30, 3, 9, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 3, 0,152, 0,248, 4, 51, 4,172, 0, 7, - 0, 11, 0, 19, 0, 83, 64, 55, 64, 10, 1, 15, 10, 1, 10, 10, 14, 18, 6, 80, 9,240, 9, 2, 9, 9, 2,172, 31, 6, 95, 6, -159, 6, 3, 6, 12,175, 0, 16, 64, 16,112, 16,144, 16,160, 16,176, 16,240, 16, 7, 16, 16, 8, 4,175, 0, 8,173, 9,179, 0, - 63,225,220,225, 16,200, 47, 93,225, 1, 47, 93,225, 51, 47, 93, 17, 51, 50, 50, 47, 93, 93, 49, 48, 1, 50, 21, 20, 35, 34, 53, - 52, 1, 53, 33, 21, 5, 50, 21, 20, 35, 34, 53, 52, 2,100,115,115,114,254,166, 3,155,254, 49,115,115,114, 4,172,125,125,125, -125,253,219,150,150,149,125,125,125,125, 0, 3, 0,115,255,170, 4, 88, 4,156, 0, 19, 0, 27, 0, 35, 0,110,181, 21, 16, 9, - 21, 72, 29,184,255,240,179, 9, 21, 72, 20,184,255,240, 64, 54, 15, 20, 72, 28, 16, 15, 20, 72, 28, 21, 29, 20, 4, 26, 34, 72, - 13, 10, 0, 3, 4, 5, 12, 15, 37, 26, 72, 2, 0, 5, 1, 5, 29, 20, 28, 21, 4, 23, 31, 80, 10, 13, 3, 0, 4, 8, 1, 18, - 22, 23, 80, 11, 8, 16, 0, 63, 51,225, 63, 51, 18, 23, 57,225, 17, 23, 57, 1, 47, 93, 51,225, 16,222, 50, 17, 23, 57,225, 17, - 23, 57, 49, 48, 0, 43, 43, 1, 43, 43, 37, 7, 39, 55, 38, 17, 16, 0, 51, 50, 23, 55, 23, 7, 22, 17, 16, 0, 35, 34, 3, 1, - 38, 35, 34, 6, 21, 20, 1, 1, 22, 51, 50, 54, 53, 52, 1,121, 76,131, 84,139, 1, 10,235,128,108, 76,131, 84,137,254,243,233, -129,125, 1,150, 66, 90,161,142, 2, 57,254,107, 61, 93,161,142, 33,119, 84,131,158, 1, 8, 1, 10, 1, 45, 57,119, 84,131,156, -254,254,254,241,254,212, 1, 40, 2,144, 35,207,209,180, 1,190,253,115, 33,211,209,164,255,255, 0,160,255,236, 4, 45, 6, 33, - 2, 38, 0, 88, 0, 0, 1, 6, 0, 67,179, 0, 0, 21,180, 1, 18, 17, 38, 1,184,255,179,180, 21, 18, 6, 16, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 0,160,255,236, 4, 45, 6, 33, 2, 38, 0, 88, 0, 0, 1, 6, 0,118, 82, 0, 0, 19, 64, 11, 1, 24, - 17, 38, 1, 82, 18, 21, 6, 16, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160,255,236, 4, 45, 6, 33, 2, 38, 0, 88, 0, 0, - 1, 6, 1, 75, 8, 0, 0, 19, 64, 11, 1, 18, 17, 38, 1, 8, 24, 18, 6, 16, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160, -255,236, 4, 45, 5,217, 2, 38, 0, 88, 0, 0, 1, 6, 0,106, 2, 0, 0, 23, 64, 13, 2, 1, 22, 17, 38, 2, 1, 1, 24, 28, - 6, 16, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 82,254, 20, 4,121, 6, 33, 2, 38, 0, 92, 0, 0, 1, 6, 0,118, - 76, 0, 0, 19, 64, 11, 1, 29, 17, 38, 1, 77, 23, 26, 0, 9, 37, 1, 43, 53, 0, 43, 53, 0, 0, 2, 0,158,254, 20, 4, 68, - 6, 20, 0, 19, 0, 30, 0, 59, 64, 36, 26, 72,239, 5,255, 5, 2, 5, 32, 11, 17, 19, 21, 4, 14, 71, 0, 15,176, 15, 2, 15, - 16, 0, 14, 27, 10, 24, 80, 8, 22, 0, 28, 80, 2, 16, 0, 63,225, 50, 63,225, 50, 63, 63, 1, 47, 93,225, 23, 50, 16,222, 93, -225, 49, 48, 1, 54, 51, 50, 18, 17, 16, 2, 35, 34, 39, 35, 22, 21, 17, 35, 17, 51, 17, 7, 19, 21, 20, 22, 51, 32, 17, 16, 33, - 34, 6, 1, 84,110,212,201,229,230,200,207,115, 12, 12,182,182, 8, 8,139,152, 1, 16,254,238,152,133, 3,182,168,254,213,254, -244,254,242,254,211,159,129, 33,254, 43, 8, 0,254, 54,148,254,154, 41,227,193, 1,166, 1,158,176, 0,255,255, 0, 82,254, 20, - 4,121, 5,217, 2, 38, 0, 92, 0, 0, 1, 6, 0,106, 8, 0, 0, 23, 64, 13, 2, 1, 27, 17, 38, 2, 1, 8, 29, 33, 0, 9, - 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 33, 0, 0, 4,172, 6,193, 2, 38, 0, 36, 0, 0, 1, 7, 1, 77, 0, 0, - 1, 82, 0, 21,180, 2, 17, 5, 38, 2,184,255,255,180, 15, 16, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,135,255,236, - 4, 2, 5,111, 2, 38, 0, 68, 0, 0, 1, 6, 1, 77,247, 0, 0, 19, 64, 11, 2, 36, 17, 38, 2, 24, 34, 35, 8, 22, 37, 1, - 43, 53, 0, 43, 53, 0,255,255, 0, 33, 0, 0, 4,172, 7, 64, 2, 38, 0, 36, 0, 0, 1, 7, 1, 78,255,253, 1, 82, 0, 21, -180, 2, 18, 5, 38, 2,184,255,253,180, 20, 15, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,135,255,236, 4, 2, 5,238, - 2, 38, 0, 68, 0, 0, 1, 6, 1, 78,245, 0, 0, 19, 64, 11, 2, 37, 17, 38, 2, 22, 39, 34, 8, 22, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0, 33,254, 57, 4,190, 5,188, 2, 38, 0, 36, 0, 0, 1, 7, 1, 81, 1,143, 0, 0, 0, 24, 64, 16, 2, 32, - 23, 1, 16, 23, 1, 0, 23, 1, 0, 23, 23, 0, 0, 37, 1, 43, 93, 93, 93, 53,255,255, 0,135,254, 57, 4, 82, 4, 94, 2, 38, - 0, 68, 0, 0, 1, 7, 1, 81, 1, 35, 0, 0, 0, 36, 64, 25, 2,128, 42, 1,112, 42, 1, 96, 42, 1, 32, 42, 1, 16, 42, 1, - 0, 42, 1, 0, 42, 42, 0, 0, 37, 1, 43, 93, 93, 93, 93, 93, 93, 53,255,255, 0,129,255,236, 4,156, 7,115, 2, 38, 0, 38, - 0, 0, 1, 7, 0,118, 0,242, 1, 82, 0, 19, 64, 11, 1, 28, 5, 38, 1,202, 22, 25, 6, 11, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0,172,255,236, 4, 37, 6, 33, 2, 38, 0, 70, 0, 0, 1, 7, 0,118, 0,160, 0, 0, 0, 19, 64, 11, 1, 26, 17, 38, - 1,158, 20, 23, 15, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,129,255,236, 4,156, 7,115, 2, 38, 0, 38, 0, 0, 1, 7, - 1, 75, 0,160, 1, 82, 0, 39, 64, 26, 1, 22, 5, 38, 1,208, 28, 1,176, 28, 1,128, 28, 1,112, 28, 1, 80, 28, 1,120, 28, - 22, 6, 11, 37, 1, 43, 93, 93, 93, 93, 93, 53, 0, 43, 53, 0,255,255, 0,172,255,236, 4, 37, 6, 33, 2, 38, 0, 70, 0, 0, - 1, 6, 1, 75, 84, 0, 0, 19, 64, 11, 1, 20, 17, 38, 1, 82, 26, 20, 15, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,129, -255,236, 4,156, 7, 55, 2, 38, 0, 38, 0, 0, 1, 7, 1, 79, 0,164, 1, 82, 0, 19, 64, 11, 1, 26, 5, 38, 1,124, 28, 24, - 6, 11, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,172,255,236, 4, 37, 5,229, 2, 38, 0, 70, 0, 0, 1, 6, 1, 79, 84, 0, - 0, 19, 64, 11, 1, 24, 17, 38, 1, 82, 26, 22, 15, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,129,255,236, 4,156, 7,115, - 2, 38, 0, 38, 0, 0, 1, 7, 1, 76, 0,154, 1, 82, 0, 19, 64, 11, 1, 26, 5, 38, 1,114, 30, 22, 6, 11, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 0,172,255,236, 4, 37, 6, 33, 2, 38, 0, 70, 0, 0, 1, 6, 1, 76, 92, 0, 0, 19, 64, 11, 1, 24, - 17, 38, 1, 90, 28, 20, 15, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,135, 0, 0, 4,123, 7,115, 2, 38, 0, 39, 0, 0, - 1, 7, 1, 76,255,247, 1, 82, 0, 21,180, 2, 20, 5, 38, 2,184,255,221,180, 24, 16, 0, 5, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0, 79,255,236, 5, 35, 6, 20, 0, 38, 0, 71,198, 0, 1, 7, 2, 56, 2, 68, 0, 0, 0, 30, 64, 11, 2, 2,127, 30, - 1,111, 30, 1, 79, 30, 1,184, 2,136,180, 30, 34, 6, 16, 37, 1, 43, 93, 93, 93, 53, 0, 53,255,255, 0, 0, 0, 0, 4,123, - 5,182, 2, 6, 0,146, 0, 0, 0, 2, 0,137,255,236, 4,203, 6, 20, 0, 26, 0, 37, 0, 89, 64, 55, 16, 6, 0, 12, 15, 18, - 4, 27, 71, 23, 21,144, 25,160, 25, 2, 25, 39, 33, 72, 0, 6,224, 6,240, 6, 3, 6, 24, 16, 79, 21, 17, 17, 19, 12, 31, 80, - 0, 9, 16, 9, 32, 9, 3, 9, 9, 19, 0, 35, 80, 3, 22, 26, 21, 0, 63, 63,225, 63, 57, 47, 93,225, 50, 18, 57, 47, 51,225, - 50, 1, 47, 93,225, 16,222, 93, 50, 50,225, 23, 50, 17, 57, 49, 48, 37, 35, 6, 35, 34, 2, 17, 16, 18, 51, 50, 23, 51, 38, 53, - 53, 33, 53, 33, 53, 51, 21, 51, 21, 35, 17, 35, 3, 53, 52, 38, 35, 32, 17, 16, 33, 50, 54, 3,129, 8,113,209,201,229,230,200, -208,114, 12, 12,254,133, 1,123,182,156,156,147, 35,139,152,254,240, 1, 18,151,134,147,167, 1, 32, 1, 2, 1, 4, 1, 35,159, -126, 35,158,137,182,182,137,251, 43, 1,231, 39,216,184,254,110,254,119,166, 0,255,255, 0,217, 0, 0, 4, 35, 6,193, 2, 38, - 0, 40, 0, 0, 1, 7, 1, 77, 0, 10, 1, 82, 0, 21,180, 1, 14, 5, 38, 1,184,255,242,180, 12, 13, 1, 0, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 0,133,255,236, 4, 72, 5,111, 2, 38, 0, 72, 0, 0, 1, 6, 1, 77, 20, 0, 0, 19, 64, 11, 2, 25, - 17, 38, 2, 19, 23, 24, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,217, 0, 0, 4, 35, 7, 64, 2, 38, 0, 40, 0, 0, - 1, 7, 1, 78, 0, 29, 1, 82, 0, 19, 64, 11, 1, 15, 5, 38, 1, 5, 17, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0,133,255,236, 4, 72, 5,238, 2, 38, 0, 72, 0, 0, 1, 6, 1, 78, 16, 0, 0, 19, 64, 11, 2, 26, 17, 38, 2, 15, 28, 23, - 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,217, 0, 0, 4, 35, 7, 26, 2, 38, 0, 40, 0, 0, 1, 7, 1, 79, 0, 35, - 1, 53, 0, 19, 64, 11, 1, 16, 5, 38, 1, 11, 18, 14, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,133,255,236, 4, 72, - 5,229, 2, 38, 0, 72, 0, 0, 1, 6, 1, 79, 23, 0, 0, 19, 64, 11, 2, 27, 17, 38, 2, 23, 29, 25, 11, 0, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 0,217,254, 57, 4, 35, 5,182, 2, 38, 0, 40, 0, 0, 1, 7, 1, 81, 0,205, 0, 0, 0, 14,183, 1, - 1,181, 18, 12, 1, 0, 37, 1, 43, 53, 0, 53,255,255, 0,133,254, 88, 4, 72, 4, 94, 2, 38, 0, 72, 0, 0, 1, 7, 1, 81, - 0,227, 0, 31, 0, 14,183, 2, 2,227, 29, 23, 11, 0, 37, 1, 43, 53, 0, 53,255,255, 0,217, 0, 0, 4, 35, 7,115, 2, 38, - 0, 40, 0, 0, 1, 7, 1, 76, 0, 35, 1, 82, 0, 19, 64, 11, 1, 16, 5, 38, 1, 11, 20, 12, 1, 0, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0,133,255,236, 4, 72, 6, 33, 2, 38, 0, 72, 0, 0, 1, 6, 1, 76, 25, 0, 0, 19, 64, 11, 2, 27, 17, 38, - 2, 25, 31, 23, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,117,255,236, 4, 70, 7,115, 2, 38, 0, 42, 0, 0, 1, 7, - 1, 75, 0, 80, 1, 82, 0, 19, 64, 11, 1, 25, 5, 38, 1, 89, 31, 25, 7, 1, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,102, -254, 20, 4,102, 6, 33, 2, 38, 0, 74, 0, 0, 1, 6, 1, 75,247, 0, 0, 21,180, 3, 55, 17, 38, 3,184,255,248,180, 61, 55, - 22, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,117,255,236, 4, 70, 7, 64, 2, 38, 0, 42, 0, 0, 1, 7, 1, 78, 0, 98, - 1, 82, 0, 27, 64, 17, 1, 28, 5, 38, 1, 16, 30, 1, 0, 30, 1,106, 30, 25, 7, 1, 37, 1, 43, 93, 93, 53, 0, 43, 53, 0, -255,255, 0,102,254, 20, 4,102, 5,238, 2, 38, 0, 74, 0, 0, 1, 6, 1, 78,243, 0, 0, 21,180, 3, 58, 17, 38, 3,184,255, -243,180, 60, 55, 22, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,117,255,236, 4, 70, 7, 55, 2, 38, 0, 42, 0, 0, 1, 7, - 1, 79, 0,109, 1, 82, 0, 19, 64, 11, 1, 29, 5, 38, 1,118, 31, 27, 7, 1, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,102, -254, 20, 4,102, 5,229, 2, 38, 0, 74, 0, 0, 1, 6, 1, 79,255, 0, 0, 19, 64, 11, 3, 59, 17, 38, 3, 0, 61, 57, 22, 0, - 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,117,254, 59, 4, 70, 5,203, 2, 38, 0, 42, 0, 0, 1, 6, 2, 57, 57, 0, 0, 19, - 64, 11, 1, 27, 20, 39, 1, 65, 25, 28, 7, 1, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,102,254, 20, 4,102, 6, 33, 2, 38, - 0, 74, 0, 0, 1, 6, 2, 58, 45, 0, 0, 19, 64, 11, 3, 57, 17, 38, 3, 45, 58, 55, 22, 0, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0,135, 0, 0, 4, 70, 7,115, 2, 38, 0, 43, 0, 0, 1, 7, 1, 75, 0, 0, 1, 82, 0, 19, 64, 11, 1, 12, 5, 38, - 1, 0, 18, 12, 5, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160, 0, 0, 4, 45, 7,170, 2, 38, 0, 75, 0, 0, 1, 7, - 1, 75, 0, 14, 1,137, 0, 19, 64, 11, 1, 18, 2, 38, 1, 14, 24, 18, 7, 16, 37, 1, 43, 53, 0, 43, 53, 0, 0, 2, 0, 0, - 0, 0, 4,205, 5,182, 0, 19, 0, 23, 0, 88, 64, 48, 20, 4, 12, 90, 9, 7, 11, 25, 23, 3, 15, 90, 18, 0,224, 16,240, 16, - 2, 16, 14, 95, 23, 22, 10,104, 18, 1, 18, 96, 19, 7, 3, 19,104, 23, 1, 23, 19, 23, 19, 1, 16, 11, 18, 5, 1, 3, 0, 63, - 51, 63, 51, 18, 57, 57, 47, 47, 93, 17, 51, 51, 16,225, 93, 50, 50, 16,225, 1, 47, 93, 51, 51,225, 50, 50, 16,222, 50, 50,225, - 50, 50, 49, 48, 19, 53, 51, 21, 33, 53, 51, 21, 51, 21, 35, 17, 35, 17, 33, 17, 35, 17, 35, 53, 1, 53, 33, 21,135,187, 2, 73, -187,135,135,187,253,183,187,135, 3,139,253,183, 4,195,243,243,243,243,150,251,211, 2,170,253, 86, 4, 45,150,254,139,223,223, - 0, 1, 0, 4, 0, 0, 4, 45, 6, 20, 0, 27, 0, 82, 64, 49, 17, 8, 0, 71,144, 27,160, 27, 2, 27, 29, 15, 19, 20, 3, 7, - 71, 12, 10, 0, 8,176, 8, 2, 8, 18, 10, 79, 15, 11, 11, 13, 20, 3, 80, 0, 23, 16, 23, 32, 23, 3, 23, 23, 13, 0, 8, 0, - 21, 0, 63, 50, 63, 57, 47, 93,225, 50, 18, 57, 47, 51,225, 50, 1, 47, 93, 51, 51,225, 23, 50, 16,222, 93,225, 18, 57, 49, 48, - 33, 17, 16, 35, 34, 6, 21, 17, 35, 17, 35, 53, 51, 53, 51, 21, 33, 21, 33, 21, 7, 51, 54, 51, 50, 22, 21, 17, 3,119,236,162, -147,182,156,156,184, 1,162,254, 92, 10, 10,108,238,192,189, 2,154, 1, 4,187,211,253,240, 4,213,137,182,182,137,184,144,168, -191,210,253, 92,255,255, 0,225, 0, 0, 3,233, 7, 53, 2, 38, 0, 44, 0, 0, 1, 7, 1, 82, 0, 0, 1, 82, 0, 19, 64, 11, - 1, 12, 5, 38, 1, 0, 13, 22, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,197, 0, 0, 4, 51, 5,227, 2, 38, 0,243, - 0, 0, 1, 6, 1, 82,253, 0, 0, 21,180, 1, 10, 17, 38, 1,184,255,231,180, 11, 20, 7, 5, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0,225, 0, 0, 3,233, 6,193, 2, 38, 0, 44, 0, 0, 1, 7, 1, 77, 0, 2, 1, 82, 0, 19, 64, 11, 1, 14, 5, 38, - 1, 2, 12, 13, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,197, 0, 0, 4, 51, 5,111, 2, 38, 0,243, 0, 0, 1, 6, - 1, 77, 0, 0, 0, 21,180, 1, 12, 17, 38, 1,184,255,234,180, 10, 11, 7, 5, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,225, - 0, 0, 3,233, 7, 64, 2, 38, 0, 44, 0, 0, 1, 7, 1, 78, 0, 0, 1, 82, 0, 19, 64, 11, 1, 15, 5, 38, 1, 1, 17, 12, - 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,197, 0, 0, 4, 51, 5,238, 2, 38, 0,243, 0, 0, 1, 6, 1, 78, 25, 0, - 0, 19, 64, 11, 1, 13, 17, 38, 1, 3, 15, 0, 3, 5, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,225,254, 57, 3,233, 5,182, - 2, 38, 0, 44, 0, 0, 1, 6, 1, 81, 8, 0, 0, 14,183, 1, 1, 9, 18, 12, 1, 0, 37, 1, 43, 53, 0, 53,255,255, 0,197, -254, 57, 4, 51, 6, 14, 2, 38, 0, 76, 0, 0, 1, 6, 1, 81, 25, 0, 0, 14,183, 2, 2, 3, 25, 19, 16, 14, 37, 1, 43, 53, - 0, 53,255,255, 0,225, 0, 0, 3,233, 7, 55, 2, 38, 0, 44, 0, 0, 1, 7, 1, 79, 0, 0, 1, 82, 0, 19, 64, 11, 1, 16, - 5, 38, 1, 1, 18, 14, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,197, 0, 0, 4, 51, 4, 74, 0, 9, 0, 41, 64, 21, - 5, 4, 71, 8, 1, 86, 9, 1, 9, 9, 10, 11, 4, 9, 78, 7, 21, 0, 78, 2, 15, 0, 63,225, 63,225, 50, 17, 18, 1, 57, 47, - 93, 51, 51,225, 50, 49, 48, 1, 37, 53, 33, 17, 5, 21, 33, 53, 37, 2, 29,254,243, 1,195, 1, 96,252,146, 1, 88, 3,186, 21, -123,252, 69, 20,123,123, 20, 0, 0, 2, 0,156,255,236, 4, 35, 5,182, 0, 3, 0, 15, 0, 66, 64, 40, 2, 90, 1, 10, 90, 11, - 31, 4, 1,159, 11,175, 11, 2, 0, 1,224, 1,240, 1, 3, 1, 4, 11, 11, 4, 1, 3, 16, 17, 7, 96, 5, 14, 19, 10, 1, 3, - 0, 18, 0, 63, 63, 51, 63, 51,225, 17, 18, 1, 23, 57, 47, 47, 47, 93, 93, 93, 16,225, 16,225, 49, 48, 51, 17, 51, 17, 55, 53, - 22, 51, 50, 17, 17, 51, 17, 16, 33, 34,156,186,150, 93, 93,194,187,254,147,133, 5,182,250, 74, 23,163, 45, 1, 27, 4, 14,251, -254,254, 56, 0, 0, 4, 0,188,254, 20, 4, 14, 6, 14, 0, 8, 0, 17, 0, 21, 0, 36, 0, 88, 64, 50, 2, 20, 71, 21, 7, 21, - 16, 27, 71, 32, 11, 32, 0, 30, 1, 0, 22, 1, 0, 21, 1, 21, 22, 30, 32, 32, 30, 22, 21, 4, 37, 38, 25, 80, 23, 35, 27, 28, - 78, 18, 30, 15, 21, 21, 14, 5, 83, 9, 0, 0, 0, 63, 50,229, 50, 63, 63, 51,225, 63, 51,225, 17, 18, 1, 23, 57, 47, 47, 47, - 47, 93, 93, 93, 17, 51, 16,225, 50, 17, 51, 16,225, 50, 49, 48, 1, 50, 21, 20, 6, 35, 34, 53, 52, 33, 50, 21, 20, 6, 35, 34, - 53, 52, 1, 51, 17, 35, 1, 53, 22, 51, 50, 53, 17, 39, 53, 33, 17, 20, 6, 35, 34, 1, 39,106, 63, 43,107, 2,228,106, 63, 43, -107,253,150,182,182, 1, 43, 88,102,164,215, 1,141,170,151,123, 6, 14,114, 58, 57,115,114,114, 58, 57,115,114,254, 60,251,182, -254, 55,154, 39,215, 4, 57, 21,123,251, 65,182,193, 0,255,255, 0,137,255,236, 4,190, 7,115, 2, 38, 0, 45, 0, 0, 1, 7, - 1, 75, 1, 12, 1, 82, 0, 19, 64, 11, 1, 14, 5, 38, 1, 0, 20, 14, 7, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,135, -254, 20, 3,198, 6, 33, 2, 38, 1, 75, 20, 0, 1, 6, 2, 55, 0, 0, 0, 21,180, 1, 25, 23, 39, 1,184,255,116,180, 16, 26, - 6, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,211,254, 59, 4,174, 5,182, 2, 38, 0, 46, 0, 0, 1, 6, 2, 57, 27, 0, - 0, 21,180, 1, 15, 20, 39, 1,184,255,193,180, 13, 16, 5, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,215,254, 59, 4,139, - 6, 20, 2, 38, 0, 78, 0, 0, 1, 6, 2, 57, 2, 0, 0, 21,180, 1, 17, 23, 39, 1,184,255,183,180, 15, 18, 10, 5, 37, 1, - 43, 53, 0, 43, 53, 0, 0, 1, 0,215, 0, 0, 4,139, 4, 74, 0, 14, 0,119, 64, 11, 25, 6, 41, 6, 57, 6, 3, 8, 6, 1, - 4,184,255,224, 64, 62, 16, 20, 72, 70, 4, 86, 4, 2, 9, 2, 1, 9, 1, 1, 27, 7, 43, 7, 59, 7, 3, 7, 4, 5, 2, 3, - 3, 6, 5, 32, 16, 19, 72, 0, 5, 96, 5, 2, 5, 5, 16, 13, 0, 9, 70, 0, 10, 96, 10, 2, 10, 4, 7, 7, 0, 2, 10, 5, - 21, 11, 2, 15, 0, 63, 51, 63, 51, 18, 57, 57, 17, 51, 1, 47, 93,225, 50, 50, 17, 51, 47, 93, 43, 51, 51, 47, 51, 17, 57, 57, - 49, 48, 0, 93, 1, 93, 93, 93, 43, 93, 93, 1, 55, 1, 51, 1, 1, 35, 1, 7, 17, 35, 17, 51, 17, 3, 1,127,137, 1,146,213, -254, 18, 2, 10,213,254, 86,129,180,180, 16, 1,252,166, 1,168,254, 2,253,180, 1,213, 82,254,125, 4, 74,254,221,254,213, 0, -255,255, 0,233, 0, 0, 4, 31, 7,115, 2, 38, 0, 47, 0, 0, 1, 7, 0,118,255,101, 1, 82, 0, 21,180, 1, 12, 5, 38, 1, -184,255, 72,180, 6, 9, 0, 4, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,188, 0, 0, 4, 43, 7,172, 2, 38, 0, 79, 0, 0, - 1, 7, 0,118, 0, 78, 1,139, 0, 19, 64, 11, 1, 16, 2, 38, 1, 65, 10, 13, 7, 5, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0,233,254, 59, 4, 31, 5,182, 2, 38, 0, 47, 0, 0, 1, 6, 2, 57, 8, 0, 0, 21,180, 1, 8, 20, 39, 1,184,255,234,180, - 6, 9, 0, 4, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,188,254, 59, 4, 43, 6, 20, 2, 38, 0, 79, 0, 0, 1, 6, 2, 57, -234, 0, 0, 21,180, 1, 12, 23, 39, 1,184,255,221,180, 10, 13, 7, 5, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,233, 0, 0, - 4, 31, 5,183, 2, 38, 0, 47, 0, 0, 1, 7, 2, 56, 1, 0,255,163, 0, 14,183, 1, 1,226, 6, 10, 0, 4, 37, 1, 43, 53, - 0, 53,255,255, 0,188, 0, 0, 4, 82, 6, 20, 2, 38, 0, 79, 0, 0, 1, 7, 2, 56, 1,115, 0, 0, 0, 17,177, 1, 1,184, - 1,102,180, 10, 14, 7, 5, 37, 1, 43, 53, 0, 53, 0,255,255, 0,233, 0, 0, 4, 31, 5,182, 2, 38, 0, 47, 0, 0, 1, 7, - 1, 79, 0,242,253,148, 0, 14,183, 1, 1,212, 12, 8, 0, 4, 37, 1, 43, 53, 0, 53,255,255, 0,188, 0, 0, 4, 55, 6, 20, - 2, 38, 0, 79, 0, 0, 1, 7, 1, 79, 1,102,253, 56, 0, 21,180, 1, 1,127, 16, 1,184, 1, 89,180, 16, 12, 7, 5, 37, 1, - 43, 93, 53, 0, 53, 0, 0, 1, 0, 72, 0, 0, 4, 68, 5,182, 0, 13, 0,125, 64, 54, 10, 1, 2, 9, 2, 7, 4, 3, 8, 3, -121, 8,137, 8,153, 8, 3, 10, 8, 26, 8, 42, 8, 3,118, 2,134, 2,150, 2, 3, 5, 2, 21, 2, 37, 2, 3, 9, 9, 0, 13, - 15, 7, 11, 90, 0, 3, 4, 3, 0, 0, 1, 0,184,255,192, 64, 21, 12, 15, 72, 0, 1, 10, 4, 7, 4, 2, 8, 2, 8, 2, 0, - 5, 3, 11, 95, 0, 18, 0, 63,225, 63, 18, 57, 57, 47, 47, 18, 23, 57, 1, 47, 43, 93, 51, 51, 47, 16,225, 50, 16,206, 17, 57, - 47, 49, 48, 93, 93, 93, 93, 16,125,135, 4,196,196, 16,135,196,196, 33, 17, 7, 39, 55, 17, 51, 17, 37, 23, 5, 17, 33, 21, 1, - 14,125, 73,198,187, 1, 43, 78,254,135, 2,123, 1,236, 78,125,125, 3, 30,253, 88,189,125,238,254, 70,166, 0, 0, 1, 0,188, - 0, 0, 4, 43, 6, 20, 0, 17, 0,141, 64, 22,105, 11, 1,102, 3, 1, 11, 0, 1, 10, 1, 8, 3, 2, 9, 2, 10, 24, 13, 22, - 72, 2,184,255,232, 64, 60, 13, 22, 72, 13,111, 10,127, 10, 2, 10, 10, 8, 12, 71, 17, 3, 5, 16, 3, 17, 64, 2,208, 2,224, - 2, 3, 2, 2, 93, 17, 1, 79, 17, 1, 17, 17, 18, 19, 17, 12, 78, 14, 0, 11, 3, 8, 4, 1, 9, 1, 9, 1, 6, 14, 21, 4, - 78, 6, 0, 0, 63,225, 63, 18, 57, 57, 47, 47, 18, 23, 57, 16,225, 50, 17, 18, 1, 57, 47, 93, 93, 51, 47, 93, 17, 23, 51, 16, -225, 50, 50, 47, 93, 50, 49, 48, 0, 43, 43, 16,125,135,196,196, 16,135,196,196, 0, 93, 93, 1, 7, 39, 55, 17, 37, 53, 33, 17, - 55, 23, 7, 17, 5, 21, 33, 53, 37, 2, 20,141, 78,219,254,244, 1,195,164, 77,241, 1, 96,252,145, 1, 88, 2, 80, 92,121,143, - 2,137, 21,122,253, 95,108,121,159,253,200, 20,123,123, 20, 0,255,255, 0,135, 0, 0, 4, 68, 7,115, 2, 38, 0, 49, 0, 0, - 1, 7, 0,118, 0, 98, 1, 82, 0, 19, 64, 11, 1, 22, 5, 38, 1, 99, 16, 19, 7, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0,160, 0, 0, 4, 45, 6, 33, 2, 38, 0, 81, 0, 0, 1, 6, 0,118,111, 0, 0, 19, 64, 11, 1, 23, 17, 38, 1,111, 17, 20, - 7, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,135,254, 59, 4, 68, 5,182, 2, 38, 0, 49, 0, 0, 1, 6, 2, 57,206, 0, - 0, 21,180, 1, 18, 20, 39, 1,184,255,207,180, 16, 19, 7, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160,254, 59, 4, 45, - 4, 94, 2, 38, 0, 81, 0, 0, 1, 6, 2, 57,228, 0, 0, 21,180, 1, 19, 23, 39, 1,184,255,228,180, 17, 20, 7, 15, 37, 1, - 43, 53, 0, 43, 53, 0,255,255, 0,135, 0, 0, 4, 68, 7,115, 2, 38, 0, 49, 0, 0, 1, 7, 1, 76,255,253, 1, 82, 0, 21, -180, 1, 20, 5, 38, 1,184,255,254,180, 24, 16, 7, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160, 0, 0, 4, 45, 6, 33, - 2, 38, 0, 81, 0, 0, 1, 6, 1, 76, 12, 0, 0, 19, 64, 11, 1, 21, 17, 38, 1, 12, 25, 17, 7, 15, 37, 1, 43, 53, 0, 43, - 53, 0, 0, 2,255,240, 0, 0, 4,106, 5,182, 0, 6, 0, 24, 0, 55, 64, 30, 7, 71, 24, 26, 17, 13, 71, 47, 14, 1, 14, 6, - 1,252, 3, 4, 17, 10, 80, 21, 16, 15, 15, 24, 14, 21, 3,253, 6, 0, 0, 63,237, 63, 51, 63, 63,225, 50, 1, 47, 51,237, 50, - 47, 93,225, 50, 16,222,225, 49, 48, 1, 23, 6, 3, 35, 54, 19, 1, 17, 16, 35, 32, 17, 17, 35, 17, 51, 23, 51, 54, 54, 51, 32, - 17, 17, 1, 27, 14, 50,126,137, 60, 40, 3, 96,219,254,227,182,148, 26, 10, 42,173,103, 1,110, 5,182, 22,197,254,230,242, 1, - 3,250, 74, 2,195, 1, 4,254,114,253,199, 4, 74,148, 78, 90,254,111,253, 51, 0, 1, 0,135,254,123, 4, 68, 5,182, 0, 24, - 0, 98,181, 24, 8, 14, 24, 72, 7,184,255,240, 64, 54, 16, 24, 72, 69, 7, 85, 7,101, 7, 3, 52, 7, 1, 21, 7, 37, 7, 2, - 6, 7, 1, 19, 19, 5, 24, 8, 12,251, 13, 26, 7, 1, 4,251, 0, 5,224, 5,240, 5, 3, 5, 22, 95, 20, 17, 12, 0, 6, 3, - 24, 8, 5, 18, 0, 63, 51, 51, 63, 51, 51, 47, 51,225, 1, 47, 93,225, 50, 50, 16,222,225, 50, 50, 17, 57, 47, 49, 48, 93, 93, - 93, 93, 43, 43, 1, 35, 18, 21, 17, 35, 17, 51, 1, 51, 2, 53, 17, 51, 17, 20, 6, 35, 34, 39, 53, 22, 51, 50, 53, 1, 41, 8, - 18,172,213, 2, 66, 10, 18,174,200,187, 94, 62, 77, 81,211, 4,186,254,235,140,252,231, 5,182,251,152, 1, 18,129, 2,213,250, - 94,198,211, 24,160, 20,225, 0, 0, 1, 0,160,254, 20, 4, 45, 4, 94, 0, 24, 0, 60, 64, 35, 14, 14, 1, 19, 71,144, 10,160, - 10, 2, 10, 26, 4, 0, 71, 0, 1,176, 1, 2, 1, 17, 80, 15, 12, 27, 4, 22, 80, 7, 16, 2, 15, 1, 21, 0, 63, 63, 63,225, - 50, 63, 51,225, 1, 47, 93,225, 50, 16,222, 93,225, 17, 57, 47, 49, 48, 33, 35, 17, 51, 23, 51, 54, 51, 32, 17, 17, 16, 33, 34, - 39, 53, 22, 51, 50, 53, 17, 16, 35, 32, 17, 1, 86,182,147, 27, 10,103,233, 1,133,254,221, 81, 52, 54, 61,127,238,254,205, 4, - 74,148,168,254,111,252,149,254,178, 25,148, 21,170, 3,109, 1, 4,254,114, 0,255,255, 0, 84,255,236, 4,123, 6,193, 2, 38, - 0, 50, 0, 0, 1, 7, 1, 77, 0, 4, 1, 82, 0, 19, 64, 11, 2, 22, 5, 38, 2, 2, 20, 21, 2, 7, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0,115,255,236, 4, 88, 5,111, 2, 38, 0, 82, 0, 0, 1, 6, 1, 77, 0, 0, 0, 19, 64, 11, 2, 22, 17, 38, - 2, 0, 20, 21, 3, 9, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 84,255,236, 4,123, 7, 64, 2, 38, 0, 50, 0, 0, 1, 7, - 1, 78,255,255, 1, 82, 0, 21,180, 2, 23, 5, 38, 2,184,255,254,180, 25, 20, 2, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0,115,255,236, 4, 88, 5,238, 2, 38, 0, 82, 0, 0, 1, 6, 1, 78, 0, 0, 0, 19, 64, 11, 2, 23, 17, 38, 2, 0, 25, 20, - 3, 9, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 84,255,236, 4,123, 7,115, 2, 38, 0, 50, 0, 0, 1, 7, 1, 83, 0, 80, - 1, 82, 0, 23, 64, 13, 3, 2, 26, 5, 38, 3, 2, 78, 20, 31, 2, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,115, -255,236, 4, 88, 6, 33, 2, 38, 0, 82, 0, 0, 1, 6, 1, 83, 82, 0, 0, 23, 64, 13, 3, 2, 26, 17, 38, 3, 2, 82, 20, 31, - 3, 9, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 2, 0, 20,255,236, 4,203, 5,205, 0, 19, 0, 28, 0, 73, 64, 41, 14, 18, - 90, 16, 20, 1, 20, 16, 20, 16, 6, 12, 0, 30, 25, 90, 6, 17, 95,104, 14, 1, 14, 14, 19, 12, 95, 11, 3, 23, 95, 8, 4, 27, - 95, 4, 19, 19, 95, 0, 18, 0, 63,225, 63,225, 63,225, 63,225, 18, 57, 47, 93,225, 1, 47,225, 16,206, 50, 17, 57, 57, 47, 47, - 93,225, 50, 49, 48, 33, 33, 7, 6, 35, 32, 17, 16, 33, 50, 23, 33, 21, 33, 17, 33, 21, 33, 17, 33, 37, 17, 38, 35, 32, 17, 16, - 33, 50, 4,203,253,194, 48, 51, 46,254, 24, 2, 0, 82, 72, 2, 29,254,114, 1,103,254,153, 1,142,253,192, 58, 73,254,201, 1, - 53, 70, 10, 10, 2,243, 2,238, 23,164,254, 60,162,253,248, 12, 4, 88, 33,253,180,253,178, 0, 0, 3, 0, 57,255,236, 4,150, - 4, 94, 0, 26, 0, 36, 0, 41, 0,108, 64, 41, 10, 0, 41, 17, 71, 16, 29, 64, 29, 80, 29,112, 29,128, 29,176, 29,192, 29,208, - 29, 8, 29, 29, 5, 37, 70, 22, 16, 64, 10, 22, 72, 11, 16, 1, 16, 43, 34, 71, 5,184,255,192, 64, 24, 18, 24, 72, 5, 17, 80, - 41, 41, 27, 39, 10, 31, 80, 12, 8, 16, 19, 0, 27, 80, 24, 21, 2, 22, 0, 63, 51, 51,225, 50, 50, 63, 51,225, 50, 50, 18, 57, - 47,225, 1, 47, 43,225, 16,222, 93, 43, 50,225, 17, 57, 47, 93,225, 50, 57, 57, 49, 48, 37, 6, 35, 34, 2, 17, 16, 18, 51, 50, - 23, 54, 51, 50, 18, 21, 21, 33, 18, 51, 50, 55, 21, 6, 35, 34, 38, 37, 50, 17, 16, 35, 34, 6, 21, 20, 22, 1, 16, 35, 34, 3, - 2,139, 88,178,146,182,176,154,171, 89, 84,158,131,154,254, 73, 3,186,108, 96, 94,123, 87,143,254,228,168,170, 90, 78, 79, 2, -179,123,125, 12,201,221, 1, 51, 1, 8, 1, 12, 1, 43,217,217,254,245,224,113,254,137, 76,162, 73,118, 33, 1,154, 1,170,206, -210,211,209, 2, 19, 1, 49,254,207, 0,255,255, 0,186, 0, 0, 4,147, 7,115, 2, 38, 0, 53, 0, 0, 1, 7, 0,118, 0, 29, - 1, 82, 0, 21,180, 2, 27, 5, 38, 2,184,255,221,180, 21, 24, 2, 9, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 1, 8, 0, 0, - 4, 35, 6, 33, 2, 38, 0, 85, 0, 0, 1, 6, 0,118, 92, 0, 0, 19, 64, 11, 1, 23, 17, 38, 1, 45, 17, 20, 8, 0, 37, 1, - 43, 53, 0, 43, 53, 0,255,255, 0,186,254, 59, 4,147, 5,182, 2, 38, 0, 53, 0, 0, 1, 6, 2, 57,253, 0, 0, 21,180, 2, - 23, 20, 39, 2,184,255,189,180, 21, 24, 2, 9, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,187,254, 59, 4, 35, 4, 94, 2, 38, - 0, 85, 0, 0, 1, 7, 2, 57,254,216, 0, 0, 0, 38, 64, 17, 1, 19, 23, 39, 1, 95, 17, 1, 63, 17, 1, 31, 17, 1, 15, 17, - 1,184,254,169,180, 17, 20, 8, 0, 37, 1, 43, 93, 93, 93, 93, 53, 0, 43, 53,255,255, 0,186, 0, 0, 4,147, 7,115, 2, 38, - 0, 53, 0, 0, 1, 7, 1, 76,255,226, 1, 82, 0, 21,180, 2, 25, 5, 38, 2,184,255,162,180, 29, 21, 2, 9, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 1, 8, 0, 0, 4, 35, 6, 33, 2, 38, 0, 85, 0, 0, 1, 6, 1, 76, 12, 0, 0, 21,180, 1, 21, 17, - 38, 1,184,255,221,180, 25, 17, 8, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,141,255,236, 4, 63, 7,115, 2, 38, 0, 54, - 0, 0, 1, 7, 0,118, 0, 96, 1, 82, 0, 19, 64, 11, 1, 38, 5, 38, 1, 96, 32, 35, 0, 27, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0,203,255,236, 4, 2, 6, 33, 2, 38, 0, 86, 0, 0, 1, 6, 0,118, 94, 0, 0, 19, 64, 11, 1, 38, 17, 38, 1, 94, - 32, 35, 0, 27, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,141,255,236, 4, 63, 7,115, 2, 38, 0, 54, 0, 0, 1, 7, 1, 75, - 0, 20, 1, 82, 0, 19, 64, 11, 1, 32, 5, 38, 1, 20, 38, 32, 0, 27, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,203,255,236, - 4, 2, 6, 33, 2, 38, 0, 86, 0, 0, 1, 6, 1, 75, 23, 0, 0, 19, 64, 11, 1, 32, 17, 38, 1, 23, 38, 32, 0, 27, 37, 1, - 43, 53, 0, 43, 53, 0,255,255, 0,141,254, 20, 4, 63, 5,203, 2, 38, 0, 54, 0, 0, 1, 6, 0,122,234, 0, 0, 14,185, 0, - 1,255,235,180, 32, 44, 0, 27, 37, 1, 43, 53,255,255, 0,203,254, 20, 4, 2, 4, 94, 2, 38, 0, 86, 0, 0, 1, 6, 0,122, -247, 0, 0, 17,177, 1, 1,184,255,247,180, 32, 44, 0, 27, 37, 1, 43, 53, 0, 53, 0,255,255, 0,141,255,236, 4, 63, 7,115, - 2, 38, 0, 54, 0, 0, 1, 7, 1, 76, 0, 31, 1, 82, 0, 19, 64, 11, 1, 36, 5, 38, 1, 31, 40, 32, 0, 27, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 0,203,255,236, 4, 2, 6, 33, 2, 38, 0, 86, 0, 0, 1, 6, 1, 76, 10, 0, 0, 19, 64, 11, 1, 36, - 17, 38, 1, 10, 40, 32, 0, 27, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,102,254, 59, 4,100, 5,182, 2, 38, 0, 55, 0, 0, - 1, 6, 2, 57,222, 0, 0, 21,180, 1, 10, 20, 39, 1,184,255,223,180, 8, 11, 3, 5, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0,139,254, 59, 4, 2, 5,111, 2, 38, 0, 87, 0, 0, 1, 6, 2, 57, 6, 0, 0, 19, 64, 11, 1, 22, 23, 39, 1, 37, 20, 23, - 7, 13, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,102, 0, 0, 4,100, 7,115, 2, 38, 0, 55, 0, 0, 1, 7, 1, 76,255,255, - 1, 82, 0, 19, 64, 11, 1, 12, 5, 38, 1, 0, 16, 8, 3, 5, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,139,255,236, 4, 16, - 6, 20, 2, 38, 0, 87, 0, 0, 1, 7, 2, 56, 1, 49, 0, 0, 0, 17,177, 1, 1,184, 1, 81,180, 20, 24, 7, 13, 37, 1, 43, - 53, 0, 53, 0, 0, 1, 0,102, 0, 0, 4,100, 5,182, 0, 15, 0, 89, 64, 51, 9, 9, 11, 5, 5, 7, 11, 90, 12, 14, 14, 2, - 0,208, 12, 1,162, 12, 1,147, 12, 1, 3,142, 12, 1, 4, 99, 12, 1, 5, 16, 12, 80, 12, 2, 12, 10, 14, 96, 7, 15, 15, 3, - 11, 18, 6, 2, 95, 3, 3, 0, 63,225, 50, 63, 18, 57, 47, 51,225, 50, 1, 47, 93, 95, 93, 95, 93, 95, 93, 93, 93, 51,196, 57, - 47, 16,241, 50,192, 47, 17, 57, 47, 49, 48, 1, 17, 33, 53, 33, 21, 33, 17, 33, 21, 33, 17, 35, 17, 33, 53, 2, 8,254, 94, 3, -254,254, 95, 1, 38,254,218,187,254,215, 3, 51, 1,223,164,164,254, 33,149,253, 98, 2,158,149, 0, 1, 0,139,255,236, 4, 2, - 5,111, 0, 27, 0,112, 64, 67, 22, 18, 20, 16, 24, 71, 5, 7, 5, 32, 11, 1, 11, 11, 13, 9, 47, 5, 63, 5,127, 5,143, 5, -207, 5,223, 5, 6, 0, 5, 1, 5, 5, 28, 29, 18, 18,127, 1,143, 1,175, 1, 3, 1, 29, 6, 23, 78, 9, 20, 20, 26, 10, 19, - 78, 15, 13, 12, 16, 15, 26, 80, 0, 3, 22, 0, 63, 51,225, 63, 51, 51, 51,225, 50, 18, 57, 47, 51,225, 50, 1, 16,206, 93, 50, - 47, 17, 18, 57, 47, 93, 93, 51, 51, 51, 47, 93, 18, 57, 16,225, 50, 50, 17, 57, 49, 48, 37, 21, 6, 35, 32, 17, 53, 35, 53, 51, - 53, 33, 53, 37, 19, 51, 17, 33, 21, 33, 21, 33, 21, 33, 21, 20, 51, 50, 3,252,130,122,254,150,162,162,254,245, 1, 11, 77,105, - 1,182,254, 74, 1, 51,254,205,192, 93,150,138, 32, 1, 88,251,138,248, 94, 49, 1, 31,254,219,137,248,138,251,195, 0,255,255, - 0,125,255,236, 4, 80, 7, 53, 2, 38, 0, 56, 0, 0, 1, 7, 1, 82, 0, 6, 1, 82, 0, 19, 64, 11, 1, 15, 5, 38, 1, 5, - 16, 25, 6, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160,255,236, 4, 45, 5,227, 2, 38, 0, 88, 0, 0, 1, 6, 1, 82, - 2, 0, 0, 19, 64, 11, 1, 18, 17, 38, 1, 1, 19, 28, 6, 16, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4, 80, - 6,193, 2, 38, 0, 56, 0, 0, 1, 7, 1, 77, 0, 0, 1, 82, 0, 21,180, 1, 17, 5, 38, 1,184,255,255,180, 15, 16, 6, 0, - 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160,255,236, 4, 45, 5,111, 2, 38, 0, 88, 0, 0, 1, 6, 1, 77, 2, 0, 0, 19, - 64, 11, 1, 20, 17, 38, 1, 1, 18, 19, 6, 16, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4, 80, 7, 64, 2, 38, - 0, 56, 0, 0, 1, 7, 1, 78,255,255, 1, 82, 0, 21,180, 1, 18, 5, 38, 1,184,255,255,180, 20, 15, 6, 0, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 0,160,255,236, 4, 45, 5,238, 2, 38, 0, 88, 0, 0, 1, 6, 1, 78, 0, 0, 0, 19, 64, 11, 1, 21, - 17, 38, 1, 0, 23, 18, 6, 16, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4, 80, 7,217, 2, 38, 0, 56, 0, 0, - 1, 7, 1, 80, 0, 2, 1, 82, 0, 23, 64, 13, 2, 1, 15, 5, 38, 2, 1, 1, 18, 24, 6, 0, 37, 1, 43, 53, 53, 0, 43, 53, - 53, 0,255,255, 0,160,255,236, 4, 45, 6,135, 2, 38, 0, 88, 0, 0, 1, 6, 1, 80,253, 0, 0, 25,182, 2, 1, 18, 17, 38, - 2, 1,184,255,252,180, 21, 27, 6, 16, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,125,255,236, 4, 80, 7,115, 2, 38, - 0, 56, 0, 0, 1, 7, 1, 83, 0, 76, 1, 82, 0, 23, 64, 13, 2, 1, 21, 5, 38, 2, 1, 75, 15, 26, 6, 0, 37, 1, 43, 53, - 53, 0, 43, 53, 53, 0,255,255, 0,160,255,236, 4, 45, 6, 33, 2, 38, 0, 88, 0, 0, 1, 6, 1, 83, 80, 0, 0, 23, 64, 13, - 2, 1, 24, 17, 38, 2, 1, 79, 18, 29, 6, 16, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,125,254, 57, 4, 80, 5,184, - 2, 38, 0, 56, 0, 0, 1, 6, 1, 81, 27, 0, 0, 14,183, 1, 1, 27, 21, 15, 6, 0, 37, 1, 43, 53, 0, 53,255,255, 0,160, -254, 57, 4,100, 4, 74, 2, 38, 0, 88, 0, 0, 1, 7, 1, 81, 1, 53, 0, 0, 0, 23, 64, 14, 1, 1, 16, 26, 1, 0, 26, 1, - 0, 26, 26, 0, 0, 37, 1, 43, 93, 93, 53, 0, 53, 0,255,255, 0, 2, 0, 0, 4,203, 7,115, 2, 38, 0, 58, 0, 0, 1, 7, - 1, 75, 0, 2, 1, 82, 0, 19, 64, 11, 1, 26, 5, 38, 1, 2, 32, 26, 18, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255,255,252, - 0, 0, 4,209, 6, 33, 2, 38, 0, 90, 0, 0, 1, 6, 1, 75,253, 0, 0, 21,180, 1, 26, 17, 38, 1,184,255,253,180, 32, 26, - 7, 24, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 33, 0, 0, 4,170, 7,115, 2, 38, 0, 60, 0, 0, 1, 7, 1, 75,255,255, - 1, 82, 0, 19, 64, 11, 1, 9, 5, 38, 1, 0, 15, 9, 7, 2, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82,254, 20, 4,121, - 6, 33, 2, 38, 0, 92, 0, 0, 1, 6, 1, 75, 2, 0, 0, 19, 64, 11, 1, 23, 17, 38, 1, 3, 29, 23, 0, 9, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 0, 33, 0, 0, 4,170, 7, 43, 2, 38, 0, 60, 0, 0, 1, 7, 0,106, 0, 2, 1, 82, 0, 23, 64, 13, - 2, 1, 13, 5, 38, 2, 1, 2, 15, 19, 7, 2, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,102, 0, 0, 4,100, 7,115, - 2, 38, 0, 61, 0, 0, 1, 7, 0,118, 0, 57, 1, 82, 0, 19, 64, 11, 1, 16, 5, 38, 1, 58, 10, 13, 1, 0, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 0,182, 0, 0, 4, 20, 6, 33, 2, 38, 0, 93, 0, 0, 1, 6, 0,118, 78, 0, 0, 19, 64, 11, 1, 16, - 17, 38, 1, 79, 10, 13, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,102, 0, 0, 4,100, 7, 55, 2, 38, 0, 61, 0, 0, - 1, 7, 1, 79, 0, 16, 1, 82, 0, 19, 64, 11, 1, 14, 5, 38, 1, 17, 16, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0,182, 0, 0, 4, 20, 5,229, 2, 38, 0, 93, 0, 0, 1, 6, 1, 79, 16, 0, 0, 19, 64, 11, 1, 14, 17, 38, 1, 17, 16, 12, - 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,102, 0, 0, 4,100, 7,115, 2, 38, 0, 61, 0, 0, 1, 7, 1, 76,255,255, - 1, 82, 0, 19, 64, 11, 1, 14, 5, 38, 1, 0, 18, 10, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,182, 0, 0, 4, 20, - 6, 33, 2, 38, 0, 93, 0, 0, 1, 6, 1, 76, 12, 0, 0, 19, 64, 11, 1, 14, 17, 38, 1, 13, 18, 10, 1, 0, 37, 1, 43, 53, - 0, 43, 53, 0, 0, 1, 1,100, 0, 0, 3,250, 6, 31, 0, 13, 0, 46, 64, 28, 7, 71, 79, 8, 95, 8,191, 8,239, 8,255, 8, - 5, 8, 8, 14, 32, 0, 1, 0, 15, 3, 80, 1, 12, 1, 7, 21, 0, 63, 63, 51,225, 1, 16,206, 93, 18, 57, 47, 93,225, 49, 48, - 1, 7, 38, 35, 34, 6, 21, 17, 35, 17, 52, 54, 51, 50, 3,250, 41,105,122,119, 92,183,180,209,125, 5,252,143, 28, 96,119,251, - 78, 4,176,190,177, 0, 0, 1, 0,215,254, 20, 3,246, 5,203, 0, 31, 0, 82, 64, 42, 22, 30, 22, 30, 33, 0, 14, 7, 14, 7, - 32, 29, 0,111, 13, 14, 14, 16, 31, 13, 1, 13, 13, 32, 33, 13, 0,117, 16, 29, 29, 9, 25,115, 23, 20, 7, 9,115, 7, 4, 27, - 0, 63, 51,225, 63, 51,225, 18, 57, 47, 51,225, 50, 17, 18, 1, 57, 47, 93, 51, 51, 47, 16,225, 50, 18, 57, 57, 47, 47, 17, 18, - 57, 57, 47, 47, 49, 48, 1, 17, 20, 6, 35, 34, 39, 53, 22, 51, 50, 54, 53, 17, 35, 53, 55, 53, 52, 54, 51, 50, 23, 7, 38, 35, - 34, 6, 21, 21, 51, 21, 2,156,153,179, 51, 70, 59, 56, 92, 63,194,194,153,179, 97,100, 47, 79, 65, 92, 63,245, 3, 68,252, 63, -190,177, 15,153, 18,102,113, 3,195, 75, 68,137,190,177, 37,141, 28,102,113,145,137, 0,255,255, 0, 33, 0, 0, 4,172, 8,115, - 2, 38, 0, 36, 0, 0, 0, 38, 1, 80, 2,125, 1, 7, 0,118, 0, 72, 2, 82, 0, 82, 64, 48, 4,176, 40, 1, 96, 40, 1, 80, - 40, 1, 64, 40, 1, 40, 68, 3, 2,239, 26, 1,223, 26, 1, 80, 26, 1, 64, 26, 1, 32, 26, 1, 16, 26, 1, 0, 26, 1, 26, 4, - 30, 38, 41, 18, 24, 37, 3, 2,184,255,255,180, 18, 24, 4, 7, 37, 1, 43, 53, 53, 43, 53, 0, 17, 93, 93, 93, 93, 93, 93, 93, - 53, 53, 63, 93, 93, 93, 93, 53,255,255, 0,135,255,236, 4, 2, 8, 0, 2, 38, 0, 68, 0, 0, 0, 38, 1, 80, 0, 0, 1, 7, - 0,118, 0, 94, 1,223, 0, 72, 64, 49, 4,240, 64, 1,239, 64, 1,223, 64, 1,207, 64, 1, 96, 64, 1, 31, 64, 1, 64, 3, 2, -240, 34, 1,224, 34, 1,208, 34, 1, 34, 17, 38, 4, 30, 64, 60, 37, 43, 37, 3, 2, 33, 37, 43, 8, 22, 37, 1, 43, 53, 53, 43, - 53, 0, 43, 93, 93, 93, 53, 53, 17, 93, 93, 93, 93, 93, 93, 53,255,255, 0, 0, 0, 0, 4,186, 7,115, 2, 38, 0,136, 0, 0, - 1, 7, 0,118, 0,213, 1, 82, 0, 19, 64, 11, 2, 26, 5, 38, 2,222, 20, 23, 5, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0, 45,255,236, 4,162, 6, 33, 2, 38, 0,168, 0, 0, 1, 6, 0,118,113, 0, 0, 19, 64, 11, 3, 58, 17, 38, 3,112, 52, 55, - 32, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 80,255,180, 4,133, 7,115, 2, 38, 0,154, 0, 0, 1, 7, 0,118, 0, 57, - 1, 82, 0, 19, 64, 11, 3, 40, 5, 38, 3, 53, 34, 37, 2, 11, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115,255,170, 4, 88, - 6, 33, 2, 38, 0,186, 0, 0, 1, 6, 0,118, 80, 0, 0, 19, 64, 11, 3, 42, 17, 38, 3, 81, 36, 39, 5, 15, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 0,141,254, 59, 4, 63, 5,203, 2, 38, 0, 54, 0, 0, 1, 6, 2, 57, 0, 0, 0, 19, 64, 11, 1, 34, - 20, 39, 1, 0, 32, 35, 0, 27, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,203,254, 59, 4, 2, 4, 94, 2, 38, 0, 86, 0, 0, - 1, 6, 2, 57,228, 0, 0, 21,180, 1, 34, 23, 39, 1,184,255,228,180, 32, 35, 0, 27, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, - 1, 27, 4,217, 3,178, 6, 33, 0, 15, 0, 43, 64, 21, 12, 11, 3, 3, 5, 6,149, 1, 0, 0, 17, 3, 11,146, 6, 15, 0, 95, - 0, 2, 0, 0, 47, 93, 50,237, 57, 17, 1, 51, 47, 51,228, 50, 57, 25, 47, 51, 51, 49, 48, 1, 35, 38, 39, 6, 7, 35, 53, 54, - 55, 54, 55, 51, 22, 23, 23, 3,178,121, 85,126,133, 78,120, 25, 34,139, 37,193, 37,139, 59, 4,217, 56,130,136, 50, 27, 29, 38, -155, 79, 79,155, 67, 0, 0, 1, 1, 27, 4,217, 3,178, 6, 33, 0, 15, 0, 43, 64, 21, 5, 4, 12, 12, 10, 9,149, 14, 15, 15, - 17, 12, 14, 9,146, 15, 5, 95, 5, 2, 5, 0, 47, 93,228, 50, 57, 17, 1, 51, 47, 51,228, 50, 57, 25, 47, 51, 51, 49, 48, 1, - 6, 7, 6, 7, 35, 38, 39, 39, 53, 51, 22, 23, 54, 55, 51, 3,178, 25, 34,141, 35,193, 35,141, 59,120, 82,129,122, 89,121, 6, - 6, 29, 38,158, 76, 76,158, 67, 27, 54,133,128, 59, 0, 0, 1, 1, 70, 4,217, 3,133, 5,111, 0, 3, 0, 65, 64, 24, 31, 1, -223, 1,239, 1,255, 1, 4, 1, 1, 5,112, 0,128, 0,208, 0,224, 0,240, 0, 5, 0,184,255,192, 64, 17, 9, 12, 72, 0, 0, - 4, 1,143, 15, 2, 1, 2, 64, 12, 24, 72, 2, 0, 47, 43, 93,225, 17, 1, 51, 47, 43, 93, 17, 51, 47, 93, 49, 48, 1, 33, 21, - 33, 1, 70, 2, 63,253,193, 5,111,150, 0, 1, 1, 57, 4,217, 3,147, 5,238, 0, 11, 0, 76, 64, 18, 6,131, 0, 5, 16, 5, - 32, 5, 96, 5,112, 5,128, 5,160, 5, 7, 5,184,255,192, 64, 32, 21, 24, 72, 5, 5, 11,131, 31, 0,143, 0,175, 0,239, 0, -255, 0, 5, 0, 0, 13, 11, 5,148, 9,143, 15, 3, 95, 3, 2, 3, 0, 47, 93,225,237, 50, 17, 1, 51, 47, 93,225, 51, 47, 43, - 93,225, 49, 48, 1, 6, 6, 35, 32, 3, 51, 22, 22, 51, 50, 55, 3,147, 9,160,136,254,232, 17,109, 7, 79,104,181, 10, 5,238, -127,150, 1, 21, 76, 49,125, 0, 0, 1, 1,252, 5, 0, 2,209, 5,229, 0, 7, 0, 74, 64, 52,230, 6, 1, 6,133, 2,219, 2, - 1,201, 2, 1,173, 2, 1,137, 2, 1, 91, 2, 1, 66, 2, 1, 38, 2, 1, 27, 2, 1, 2, 9, 0,147, 79, 4,111, 4,127, 4, -159, 4,175, 4,207, 4,223, 4,239, 4, 8, 4, 0, 47, 93,237, 17, 1, 51, 93, 93, 93, 93, 93, 93, 93, 93, 16,225, 93, 49, 48, - 1, 50, 21, 20, 35, 34, 53, 52, 2,102,107,107,106, 5,229,114,115,115,114, 0, 0, 2, 1,131, 4,217, 3, 72, 6,135, 0, 11, - 0, 22, 0,141,181,164, 10,180, 10, 2, 10,184,255,224, 64, 9, 12, 15, 72,164, 8,180, 8, 2, 8,184,255,224, 64, 24, 12, 15, - 72,171, 4,187, 4, 2, 4, 32, 12, 15, 72,171, 2,187, 2, 2, 2, 32, 12, 15, 72, 15,184,255,240, 64, 42, 19, 24, 72, 15,131, - 0, 3, 16, 3, 32, 3, 3, 3, 20, 16, 19, 24, 72, 20,131, 9, 24, 12, 8, 21, 24, 72, 12,140, 15, 6, 31, 6, 47, 6,127, 6, -207, 6, 5, 6, 17,184,255,240, 64, 11, 21, 24, 72, 17,140, 15, 0, 95, 0, 2, 0, 0, 47, 93,225, 43,220, 93,225, 43, 1, 16, -222,225, 43,220, 93,225, 43, 49, 48, 43, 93, 43, 93, 43, 93, 43, 93, 1, 34, 38, 53, 52, 54, 51, 50, 22, 21, 20, 6, 3, 34, 6, - 21, 20, 51, 50, 54, 53, 52, 38, 2, 98,102,121,121,102,101,129,127,103, 49, 63,112, 50, 63, 63, 4,217,116, 99, 99,116,118, 95, - 98,119, 1, 72, 60, 53,113, 60, 53, 53, 60, 0, 0, 1, 1,158,254, 57, 3, 47, 0, 0, 0, 14, 0, 56, 64, 34, 45, 7, 61, 7, - 77, 7, 3, 5, 48, 11, 19, 72, 8, 9, 0, 11,132, 79, 6, 95, 6, 2, 6, 6, 0, 0, 16, 8, 13,142, 32, 3, 1, 3, 0, 47, - 93,225, 47, 17, 1, 51, 47, 51, 47, 93,225, 17, 57, 57, 49, 48, 43, 93, 1, 21, 6, 35, 34, 38, 53, 52, 55, 51, 6, 21, 20, 51, - 50, 3, 47, 73, 83,119,126,190,131,170,127, 66,254,193,113, 23,109, 94,144,108,125,113, 96, 0, 0, 1, 0,254, 4,217, 3,205, - 5,227, 0, 17, 0, 51, 64, 30, 0,130, 0, 1,144, 1,176, 1,192, 1, 4, 1, 1, 9,130, 10, 10, 19, 16,143, 9, 3,148, 7, -143, 0, 15, 12, 1, 12, 0, 47, 93, 51,225,253, 50,225, 17, 1, 51, 47,225, 51, 47, 93,225, 49, 48, 1, 35, 18, 51, 50, 23, 22, - 51, 50, 55, 51, 2, 35, 34, 39, 38, 35, 34, 1,102,104, 25,186, 58,103,102, 34, 80, 26,105, 27,184, 57,100,100, 40, 82, 4,217, - 1, 8, 56, 56,114,254,248, 57, 56, 0, 0, 2, 0,246, 4,217, 3,213, 6, 33, 0, 7, 0, 15, 0, 67, 64, 42, 14, 15,134, 11, - 6, 7,134, 2,135, 64, 3, 80, 3, 2, 3, 3, 10,135, 79, 11, 95, 11,111, 11,175, 11,223, 11, 5, 11, 11, 17, 10, 2,146, 14, - 15, 6, 95, 6, 2, 6, 0, 47, 93, 51,237, 50, 17, 1, 51, 47, 93,225, 51, 47, 93,225,237, 50, 16,237, 50, 49, 48, 19, 54, 55, - 51, 21, 6, 7, 35, 37, 54, 55, 51, 21, 6, 7, 35,246, 94, 80,198,112,160,100, 1,106, 87, 87,199,112,160,101, 4,244,133,168, - 21,173,134, 27,118,183, 21,173,134, 0, 0, 1, 1,223, 4,217, 2,236, 6, 33, 0, 9, 0, 32, 64, 16, 8, 9, 9, 3,133, 4, - 4, 11, 3,146, 15, 8, 95, 8, 2, 8, 0, 47, 93,237, 17, 1, 51, 47,225, 51, 47, 51, 49, 48, 1, 55, 54, 55, 51, 21, 20, 6, - 7, 35, 1,223, 30, 30, 10,199, 99, 61,109, 4,244,107,114, 80, 21, 16,208, 83, 0, 3, 1, 43, 5, 12, 3,160, 6,180, 0, 7, - 0, 16, 0, 24, 0, 87, 64, 57, 6, 7, 2,135, 3, 6, 7, 22, 7, 2, 7, 3, 7, 3, 19, 10,133, 0, 15, 16, 15, 32, 15,224, - 15,240, 15, 5, 15, 15, 23,133, 19, 2,146, 6, 6, 17, 8,147, 21, 79, 13,111, 13,127, 13,159, 13,175, 13,207, 13,223, 13, 7, - 13, 0, 47, 93, 51,237, 50, 57, 47,237, 1, 47,225, 51, 47, 93,225, 18, 57, 57, 47, 47, 93, 16,225, 17, 51, 49, 48, 1, 54, 55, - 51, 21, 6, 7, 35, 39, 50, 21, 20, 6, 35, 34, 53, 52, 33, 50, 21, 20, 35, 34, 53, 52, 2, 20, 50, 41,206, 93,122, 82,137, 97, - 56, 41, 96, 2, 20, 97, 97, 96, 5,135,139,162, 20,164,143,108,102, 49, 54,103,102,102,103,103,102, 0,255,255, 0, 33, 0, 0, - 4,172, 5,188, 2, 38, 0, 36, 0, 0, 1, 7, 1, 84,254, 69,255,151, 0, 24,182, 2, 18, 3, 2, 16, 15, 1,184,254, 68,180, - 15, 19, 4, 7, 37, 1, 43, 93, 53, 0, 63, 53, 0, 1, 1,231, 2, 72, 2,229, 3, 94, 0, 7, 0, 34, 64, 20, 2,150, 48, 6, - 96, 6,176, 6,224, 6,240, 6, 5, 6, 6, 8, 9, 0,155, 4, 0, 47,237, 17, 18, 1, 57, 47, 93,237, 49, 48, 1, 50, 21, 20, - 35, 34, 53, 52, 2,102,127,127,127, 3, 94,139,139,139,139, 0,255,255,255,142, 0, 0, 4, 35, 5,184, 2, 38, 0, 40, 0, 0, - 1, 7, 1, 84,253,175,255,151, 0, 33, 64, 13, 1, 15, 3, 1, 32, 12, 1, 16, 12, 1, 0, 12, 1,184,253,151,180, 12, 16, 1, - 0, 37, 1, 43, 93, 93, 93, 53, 0, 63, 53, 0,255,255,255,101, 0, 0, 4, 70, 5,184, 2, 38, 0, 43, 0, 0, 1, 7, 1, 84, -253,134,255,151, 0, 33, 64, 13, 1, 15, 3, 1, 32, 12, 1, 16, 12, 1, 0, 12, 1,184,253,133,180, 12, 16, 5, 0, 37, 1, 43, - 93, 93, 93, 53, 0, 63, 53, 0,255,255,255,163, 0, 0, 3,233, 5,184, 2, 38, 0, 44, 0, 0, 1, 7, 1, 84,253,196,255,151, - 0, 24,182, 1, 15, 3, 1, 0, 12, 1,184,253,197,180, 12, 16, 1, 0, 37, 1, 43, 93, 53, 0, 63, 53,255,255,255,124,255,236, - 4,123, 5,205, 2, 38, 0, 50, 0, 0, 1, 7, 1, 84,253,157,255,151, 0, 20,179, 2, 23, 3, 2,184,253,155,180, 20, 24, 2, - 7, 37, 1, 43, 53, 0, 63, 53,255,255,255, 19, 0, 0, 4,170, 5,184, 2, 38, 0, 60, 0, 0, 1, 7, 1, 84,253, 52,255,151, - 0, 20,179, 1, 12, 3, 1,184,253, 52,180, 9, 13, 7, 2, 37, 1, 43, 53, 0, 63, 53,255,255,255,122, 0, 0, 4,135, 5,205, - 2, 38, 1,118, 0, 0, 1, 7, 1, 84,253,155,255,151, 0, 20,179, 1, 29, 3, 1,184,253,152,180, 26, 30, 2, 15, 37, 1, 43, - 53, 0, 63, 53,255,255, 0,241,255,236, 3,248, 6,180, 2, 38, 1,134, 0, 0, 1, 6, 1, 85,198, 0, 0, 18,178, 3, 2, 1, -184,255, 90,180, 27, 31, 10, 5, 37, 1, 43, 53, 53, 53,255,255, 0, 33, 0, 0, 4,172, 5,188, 2, 6, 0, 36, 0, 0,255,255, - 0,135, 0, 0, 4,113, 5,182, 2, 6, 0, 37, 0, 0, 0, 1, 0,246, 0, 0, 4, 47, 5,182, 0, 5, 0, 57, 64, 16, 0, 64, - 18, 22, 72, 0, 7, 3, 90, 80, 4, 1, 0, 4, 1, 4,184,255,192,179, 21, 24, 72, 4,184,255,192, 64, 10, 13, 16, 72, 4, 2, - 95, 5, 3, 3, 18, 0, 63, 63,225, 1, 47, 43, 43, 93,113,225, 16,206, 43, 49, 48, 1, 21, 33, 17, 35, 17, 4, 47,253,129,186, - 5,182,166,250,240, 5,182, 0, 0, 2, 0, 68, 0, 0, 4,135, 5,182, 0, 5, 0, 12, 0,213,185, 0, 9,255,240, 64, 27, 15, - 19, 72,184, 4, 1, 4, 8, 14, 17, 72, 72, 4, 1, 41, 4, 1, 24, 4, 1, 9, 4, 1,183, 5, 1, 5,184,255,248, 64, 32, 14, - 17, 72, 71, 5, 1, 38, 5, 1, 23, 5, 1, 6, 5, 1, 10, 16, 15, 19, 72,232, 4, 1,231, 5, 1, 5, 4, 6, 6, 1, 9,184, -255,240, 64, 84, 20, 24, 72, 87, 9, 1, 71, 9, 1, 37, 9, 1, 6, 9, 22, 9, 2, 9, 96, 2, 1, 2, 10, 16, 20, 24, 72, 88, - 10, 1, 72, 10, 1, 42, 10, 1, 9, 10, 25, 10, 2, 10,128, 1,160, 1,240, 1, 3, 47, 1, 79, 1,111, 1, 3, 1, 91, 6, 1, - 41, 6, 57, 6, 73, 6, 3, 6, 16, 17, 20, 72, 29, 6, 1, 6, 4, 3, 0, 3, 9, 95, 2, 18, 0, 63,225, 57, 57, 63, 51, 93, - 43, 93, 93, 1, 47, 93, 93, 51, 93, 93, 93, 93, 43, 47, 93, 51, 93, 93, 93, 93, 43, 18, 57, 61, 47, 51, 51, 93, 93, 49, 48, 43, - 93, 93, 93, 93, 43, 93, 93, 93, 93, 93, 43, 93, 43, 37, 21, 33, 53, 1, 51, 7, 6, 7, 3, 33, 3, 38, 4,135,251,189, 1,194, -187, 95, 51, 37,254, 2,174,252, 52,125,125,133, 5, 49,205,223,110,253, 10, 2,240,155,255,255, 0,217, 0, 0, 4, 35, 5,182, - 2, 6, 0, 40, 0, 0,255,255, 0,102, 0, 0, 4,100, 5,182, 2, 6, 0, 61, 0, 0,255,255, 0,135, 0, 0, 4, 70, 5,182, - 2, 6, 0, 43, 0, 0, 0, 3, 0, 84,255,236, 4,123, 5,205, 0, 9, 0, 19, 0, 23, 0, 97, 64, 64,116, 21,132, 21, 2, 47, - 21, 63, 21, 2,123, 20,139, 20, 2, 32, 20, 48, 20, 2, 21, 20, 21, 20, 2, 88, 13, 1, 13, 91, 7, 25, 87, 18, 1, 18, 91, 31, - 2, 47, 2, 2, 2, 23, 96,159, 20,207, 20, 2,104, 20, 1, 20, 20, 10, 16, 95, 4, 4, 10, 95, 0, 19, 0, 63,225, 63,225, 18, - 57, 47, 93, 93,225, 1, 47, 93,225, 93, 16,222,225, 93, 18, 57, 57, 47, 47, 93, 93, 93, 93, 49, 48, 5, 32, 17, 16, 33, 32, 0, - 17, 16, 0, 39, 50, 18, 17, 16, 2, 35, 32, 17, 16, 19, 33, 21, 33, 2,104,253,236, 2, 22, 1, 0, 1, 17,254,236,255,173,161, -163,169,254,175,129, 1,155,254,101, 20, 2,243, 2,238,254,121,254,151,254,151,254,120,163, 1, 34, 1, 44, 1, 47, 1, 29,253, -180,253,178, 2,170,161,255,255, 0,225, 0, 0, 3,233, 5,182, 2, 6, 0, 44, 0, 0,255,255, 0,211, 0, 0, 4,174, 5,182, - 2, 6, 0, 46, 0, 0, 0, 1, 0, 33, 0, 0, 4,172, 5,182, 0, 10, 0,190,185, 0, 7,255,240, 64, 27, 15, 19, 72,184, 9, - 1, 9, 8, 14, 17, 72, 72, 9, 1, 41, 9, 1, 24, 9, 1, 9, 9, 1,183, 10, 1, 10,184,255,248, 64, 31, 14, 17, 72, 71, 10, - 1, 38, 10, 1, 23, 10, 1, 6, 10, 1, 2, 16, 15, 19, 72,232, 9, 1,231, 10, 1, 10, 9, 4, 4, 7,184,255,240, 64, 68, 20, - 24, 72, 87, 7, 1, 71, 7, 1, 37, 7, 1, 6, 7, 22, 7, 2, 7, 8, 1, 16, 20, 24, 72, 88, 1, 1, 72, 1, 1, 42, 1, 1, - 9, 1, 25, 1, 2, 1, 47, 0,127, 0,207, 0,239, 0, 4, 0, 4, 16, 17, 20, 72, 4, 16, 11, 14, 72, 29, 4, 1, 4, 9, 3, - 8, 0, 18, 0, 63, 50, 63, 51, 93, 43, 43, 1, 47, 93, 50, 93, 93, 93, 93, 43, 47, 51, 93, 93, 93, 93, 43, 57, 61, 47, 51, 51, - 93, 93, 49, 48, 43, 93, 93, 93, 93, 43, 93, 93, 93, 93, 93, 43, 93, 43, 33, 35, 1, 38, 39, 6, 7, 1, 35, 1, 51, 4,172,199, -254,220, 63, 30, 45, 43,254,217,196, 1,231,187, 3,154,199,141,200,134,252, 96, 5,182,255,255, 0,113, 0, 0, 4, 92, 5,182, - 2, 6, 0, 48, 0, 0,255,255, 0,135, 0, 0, 4, 68, 5,182, 2, 6, 0, 49, 0, 0, 0, 3, 0,111, 0, 0, 4, 92, 5,182, - 0, 3, 0, 7, 0, 11, 0, 71, 64, 41, 47, 5, 63, 5, 2, 32, 4, 48, 4, 2, 4, 5, 4, 5, 10, 1, 1, 9, 13, 0, 0, 1, - 0, 0, 10, 7, 95,104, 4, 1, 4, 4, 0, 11, 95, 10, 18, 3, 95, 0, 3, 0, 63,225, 63,225, 17, 57, 47, 93,225, 1, 47, 51, - 47,113, 16,206, 50, 47, 17, 57, 57, 47, 47, 93, 93, 49, 48, 19, 33, 21, 33, 19, 33, 21, 33, 1, 21, 33, 53,152, 3,155,252,101, - 81, 2,248,253, 8, 3,115,252, 19, 5,182,164,254, 60,162,253,248,164,164, 0,255,255, 0, 84,255,236, 4,123, 5,205, 2, 6, - 0, 50, 0, 0, 0, 1, 0,135, 0, 0, 4, 70, 5,182, 0, 7, 0, 37, 64, 21, 1, 90, 0, 9, 4, 90, 0, 5,224, 5,240, 5, - 3, 5, 3, 95, 6, 3, 5, 0, 18, 0, 63, 50, 63,225, 1, 47, 93,225, 16,222,225, 49, 48, 33, 35, 17, 33, 17, 35, 17, 33, 4, - 70,187,253,183,187, 3,191, 5, 18,250,238, 5,182, 0,255,255, 0,176, 0, 0, 4, 70, 5,182, 2, 6, 0, 51, 0, 0, 0, 1, - 0,131, 0, 0, 4, 72, 5,182, 0, 11, 0,128, 64, 87, 55, 9,215, 9,231, 9,247, 9, 4, 38, 9, 1, 7, 9, 23, 9, 2, 55, - 7,215, 7,231, 7,247, 7, 4, 38, 7, 1, 7, 7, 23, 7, 2, 56, 2,216, 2,232, 2,248, 2, 4, 25, 2, 41, 2, 2, 8, 2, - 1, 8, 2, 2, 0, 6,239, 10,255, 10, 2, 10, 13, 7, 3, 3, 9, 0, 0,240, 0, 2, 0, 3, 7, 95, 4, 8, 2, 2, 4, 3, - 1, 9, 95, 0, 18, 0, 63,225, 57, 63, 57, 61, 47, 51, 16,225, 57, 1, 24, 47, 93, 51, 51, 17, 51, 16,206, 93, 50, 17, 57, 47, - 51, 49, 48, 93, 93, 93, 93, 93, 93, 93, 93, 93, 51, 53, 1, 1, 53, 33, 21, 33, 1, 1, 33, 21,131, 1,158,254,110, 3,125,253, - 88, 1,133,254,103, 2,248,152, 2,102, 2, 37,147,164,253,238,253,164,164, 0,255,255, 0,102, 0, 0, 4,100, 5,182, 2, 6, - 0, 55, 0, 0,255,255, 0, 33, 0, 0, 4,170, 5,182, 2, 6, 0, 60, 0, 0, 0, 3, 0, 27,255,236, 4,180, 5,203, 0, 21, - 0, 30, 0, 39, 0,180, 64, 89, 6, 19, 22, 19, 38, 19, 3, 9, 15, 25, 15, 41, 15, 3, 9, 8, 25, 8, 41, 8, 3, 6, 4, 22, - 4, 38, 4, 3, 22, 2, 11, 90, 39, 21,169, 12, 1,154, 12, 1,139, 12, 1, 3,114, 12, 1, 5, 64, 12, 80, 12, 96, 12, 3, 52, - 12, 1, 6, 12, 12, 17, 26, 8, 12, 17, 72, 26, 90, 15, 6, 47, 6, 63, 6,111, 6,143, 6,191, 6,239, 6,255, 6, 8, 6, 41, - 35,184,255,248, 64, 36, 12, 17, 72, 35, 90, 17, 39, 22, 96, 13, 80, 10,224, 10,240, 10, 3, 10, 10, 11, 19, 30, 31, 96, 2, 96, - 21,112, 21,128, 21, 3, 21, 21, 0, 4, 0, 63, 50, 47, 93, 51,225, 50, 63, 51, 47, 93, 51,225, 50, 1, 47,225, 43, 16,222, 93, -225, 43, 18, 57, 47, 95, 93, 93, 95, 93, 95, 93, 93, 93, 51, 51,225, 50, 50, 49, 48, 0, 93, 93, 93, 93, 1, 51, 21, 51, 50, 18, - 21, 20, 2, 35, 35, 21, 35, 53, 35, 34, 2, 53, 52, 18, 51, 51, 19, 51, 50, 54, 53, 52, 38, 43, 3, 34, 6, 21, 20, 22, 51, 51, - 2, 20,166, 47,213,246,253,228, 25,166, 24,230,251,245,213, 47,166, 7,155,172,158,143, 33,166, 32,143,158,172,155, 6, 5,203, -180,254,203,236,236,254,195,225,225, 1, 62,235,235, 1, 54,252, 83,213,187,172,209,209,172,187,213, 0,255,255, 0, 53, 0, 0, - 4,150, 5,182, 2, 6, 0, 59, 0, 0, 0, 1, 0, 57, 0, 0, 4,150, 5,182, 0, 27, 0,117, 64, 78, 21, 5, 90, 18,169, 6, - 1, 6, 22, 18, 73,139, 6, 1, 3,114, 6, 1, 5, 80, 6, 96, 6, 2, 52, 6, 68, 6, 2, 6, 6, 6, 11, 25, 90, 15, 0, 47, - 0, 63, 0,111, 0,143, 0, 5, 0, 29, 14, 90,144, 11,160, 11,192, 11,208, 11, 4, 11, 21,119, 18,135, 18, 2, 18, 96, 4, 7, - 7, 5, 26, 19, 12, 3, 5, 18, 0, 63, 63, 51, 51, 18, 57, 47, 51,225, 93, 50, 1, 47, 93,225, 16,222, 93,225, 17, 57, 47, 95, - 93, 93, 95, 93, 95, 93, 43, 93, 51,225, 50, 49, 48, 1, 16, 6, 35, 35, 17, 35, 17, 35, 34, 38, 17, 17, 51, 17, 20, 22, 51, 51, - 17, 51, 17, 51, 50, 54, 53, 17, 51, 4,150,232,227, 17,166, 16,230,229,172,138,149, 16,166, 17,149,137,173, 3,215,254,225,250, -254, 66, 1,190,251, 1, 26, 1,227,254, 33,231,148, 3, 90,252,166,144,231, 1,227, 0, 0, 1, 0, 74, 0, 0, 4,135, 5,205, - 0, 25, 0,119,185, 0, 14,255,232, 64, 78, 10, 20, 72, 14,192, 18,208, 18, 2, 79, 18, 95, 18,127, 18,143, 18,191, 18, 5, 9, - 18, 25, 18, 2, 18, 4, 24, 10, 20, 72, 4, 64, 0, 80, 0, 2, 3, 0, 19, 0, 2, 0, 0, 6, 88, 20, 1, 20, 91, 15, 12, 27, - 87, 24, 1, 24, 91, 3, 31, 6, 47, 6, 2, 6, 22, 95, 9, 4, 0, 14, 18, 3, 3, 95, 17, 2, 18, 0, 63, 51,225, 23, 50, 63, -225, 1, 47, 93, 51,225, 93, 16,222, 50,225, 93, 18, 57, 47, 93, 93, 51, 43,198, 93, 93, 93, 50, 43, 49, 48, 37, 21, 33, 53, 33, - 38, 17, 16, 0, 51, 50, 0, 17, 16, 5, 33, 21, 33, 53, 36, 17, 16, 33, 32, 17, 16, 2, 29,254, 45, 1, 10,254, 1, 24,250,250, - 1, 25,255, 0, 1, 12,254, 43, 1, 4,254,176,254,177,147,147,164,235, 1,170, 1, 56, 1, 92,254,164,254,200,254, 83,232,164, -147,231, 1,187, 1,244,254, 12,254, 69,255,255, 0,225, 0, 0, 3,233, 7, 43, 2, 38, 0, 44, 0, 0, 1, 7, 0,106, 0, 2, - 1, 82, 0, 23, 64, 13, 2, 1, 16, 5, 38, 2, 1, 2, 18, 22, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 33, - 0, 0, 4,170, 7, 43, 2, 38, 0, 60, 0, 0, 1, 7, 0,106, 0, 2, 1, 82, 0, 23, 64, 13, 2, 1, 13, 5, 38, 2, 1, 2, - 15, 19, 7, 2, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,121,255,236, 4,154, 6, 33, 2, 38, 1,126, 0, 0, 1, 6, - 1, 84, 16, 0, 0, 21,180, 2, 46, 17, 38, 2,184,255,236,180, 38, 42, 22, 11, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,201, -255,236, 4, 8, 6, 33, 2, 38, 1,130, 0, 0, 1, 6, 1, 84, 96, 0, 0, 19, 64, 11, 1, 40, 17, 38, 1, 93, 32, 36, 14, 24, - 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160,254, 20, 4, 45, 6, 33, 2, 38, 1,132, 0, 0, 1, 6, 1, 84, 80, 0, 0, 19, - 64, 11, 1, 25, 17, 38, 1, 79, 17, 21, 7, 15, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 1,172,255,236, 3,248, 6, 33, 2, 38, - 1,134, 0, 0, 1, 6, 1, 84,247, 0, 0, 19, 64, 11, 1, 20, 17, 38, 1, 42, 12, 12, 11, 11, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0,160,255,236, 4, 59, 6,180, 2, 38, 1,146, 0, 0, 1, 6, 1, 85,253, 0, 0, 25,181, 3, 2, 1, 3, 2, 1,184, -255,245,180, 33, 37, 0, 12, 37, 1, 43, 53, 53, 53, 0, 53, 53, 53, 0, 0, 2, 0,121,255,236, 4,154, 4, 94, 0, 26, 0, 37, - 0, 61, 64, 34, 16, 0, 28, 71, 11,127, 7,143, 7, 2, 7, 39, 33, 72, 0, 22, 1, 22, 16, 9, 35, 80, 11, 14, 14, 19, 22, 0, - 31, 80, 25, 16, 3, 15, 0, 63, 63,225, 50, 63, 51, 17, 51,225, 50, 50, 1, 47, 93,225, 16,220, 93, 50,225, 50, 50, 49, 48, 1, - 51, 54, 55, 51, 6, 17, 17, 20, 51, 50, 55, 21, 6, 35, 34, 39, 35, 6, 35, 34, 2, 17, 16, 18, 51, 50, 19, 53, 52, 38, 35, 32, - 17, 16, 33, 50, 54, 3, 94, 12, 30, 38,143, 51, 84, 29, 31, 52, 63,159, 40, 12,108,205,195,223,230,206,210, 85,134,147,254,250, - 1, 8,148,127, 3,182,103, 45,166,254,239,254, 93,111, 10,133, 26,167,167, 1, 41, 1, 14, 1, 17, 1, 42,253,182, 15,227,193, -254, 90,254, 98,184, 0, 0, 2, 0,158,254, 20, 4, 80, 6, 31, 0, 19, 0, 38, 0, 81, 64, 46, 42, 31, 1, 0, 17, 15, 29, 1, - 29, 29, 9, 33, 72, 17, 17, 24, 71, 3, 40, 20, 9, 71, 0, 10,176, 10, 2, 10, 0, 28, 80, 29, 29, 6, 14, 9, 27, 22, 80, 20, - 6, 22, 36, 80, 14, 1, 0, 63,225, 63, 51,225, 63, 17, 18, 57, 47,225, 57, 1, 47, 93,225, 50, 16,222,225, 51, 47,225, 18, 57, - 47, 93, 18, 57, 49, 48, 93, 1, 21, 4, 17, 20, 6, 35, 34, 39, 17, 35, 17, 52, 54, 51, 50, 22, 21, 20, 6, 1, 22, 51, 32, 17, - 52, 38, 35, 35, 53, 51, 50, 54, 53, 52, 38, 35, 32, 17, 2,211, 1,125,245,216,186,117,182,238,208,198,236,161,253,231,135,154, - 1, 37,190,159, 94, 70,142,161,134,114,254,248, 3, 61, 6, 48,254,151,205,229, 63,253,233, 6, 52,226,245,210,183,136,182,253, -121, 80, 1, 43,146,165,152,150,126,118,132,254,182, 0, 0, 1, 0, 82,254, 20, 4,121, 4, 74, 0, 15, 0,107, 64, 37, 2, 72, - 3, 5, 0, 3, 68, 10, 84, 10,116, 10,132, 10,180, 10, 5, 10, 10, 6, 14, 8, 9, 12, 72, 14, 16, 15, 32, 15, 48, 15, 3, 15, - 15, 17, 7,184,255,248, 64, 16, 9, 12, 72, 7, 47, 6, 63, 6, 2, 6, 6, 16, 14, 6, 15, 10,184,255,240, 64, 9, 9, 12, 72, - 10, 0, 5, 21, 2, 27, 0, 63, 63, 51, 51, 43, 63, 51, 17, 1, 51, 47, 93, 51, 43, 17, 51, 47, 93, 51, 43, 18, 57, 25, 47, 93, - 57, 51, 51, 16,225, 49, 48, 37, 2, 17, 35, 52, 19, 1, 51, 19, 22, 23, 51, 54, 55, 19, 51, 2,227,110,191,101,254, 55,192,242, - 71, 36, 6, 26, 72,229,189, 63,254,232,254,237,207, 1, 41, 4, 62,253,176,174,146,104,191, 2,105, 0, 0, 2, 0,135,255,236, - 4, 70, 6, 31, 0, 25, 0, 34, 0, 79, 64, 49, 43, 0, 1, 9, 0, 25, 0, 2, 13, 70, 0, 26, 2, 2, 24, 33, 72, 7,239, 18, -255, 18, 2, 18, 36, 28, 72, 0, 24,224, 24,240, 24, 3, 24, 16, 0, 26, 3, 5, 31, 80, 21, 22, 10, 80, 8, 5, 1, 0, 63, 51, -225, 63,225, 17, 23, 57, 1, 47, 93,225, 16,222, 93, 50,225, 17, 57, 47, 57, 57,225, 49, 48, 93, 93, 1, 38, 53, 52, 54, 51, 50, - 23, 7, 38, 35, 34, 6, 21, 20, 22, 23, 4, 17, 20, 0, 35, 34, 36, 53, 16, 37, 4, 17, 20, 22, 51, 32, 17, 52, 2, 45,254,182, -160,199,194, 73,169,159, 74, 86, 84,172, 1,105,254,253,225,213,254,250, 2, 37,254,156,152,130, 1, 39, 3,170,145,203,133,148, -109,145,106, 73, 64, 63,103,100,206,254,200,246,254,240,247,211, 1,116, 44,100,254,192,135,168, 1, 94,244, 0, 0, 1, 0,201, -255,236, 4, 8, 4, 94, 0, 31, 0, 81, 64, 47, 17, 19, 0, 0, 14, 24,127, 9,143, 9, 2, 9, 33, 29, 71, 19, 19, 4, 71, 0, - 14, 1, 14, 17, 2, 80,191, 31, 1,121, 31,137, 31, 2, 31, 31, 6, 27, 80, 25, 22, 16, 6, 80, 8, 11, 22, 0, 63, 51,225, 63, - 51,225, 18, 57, 47, 93, 93,225, 57, 1, 47, 93,225, 51, 47,225, 16,206, 93, 50, 17, 57, 47, 18, 57, 49, 48, 1, 21, 35, 32, 21, - 20, 33, 50, 55, 21, 6, 35, 34, 38, 53, 52, 55, 53, 38, 53, 52, 54, 51, 50, 23, 7, 38, 35, 34, 21, 20, 33, 3, 72,160,254,211, - 1, 27,196,170,134,243,211,239,237,202,224,189,216,167, 63,161,155,243, 1, 20, 2,135,153,185,180, 86,160, 75,168,151,193, 75, - 11, 66,183,135,156, 76,147, 72,154,166, 0, 1, 0,162,254,111, 4, 43, 6, 20, 0, 28, 0,137, 64, 87, 10, 20, 26, 20, 42, 20, - 3, 6, 9, 22, 9, 38, 9, 3, 11, 25, 27, 25, 43, 25, 3, 25, 2, 2, 16, 16, 9, 14, 72, 16, 70, 14,144, 11, 1, 11, 30, 28, - 5, 72, 0, 22,160, 22, 2, 22,153, 19, 1,123, 19,139, 19, 2,109, 19, 1, 73, 19, 1, 59, 19, 1, 45, 19, 1,121, 8,137, 8, - 2,107, 8, 1, 73, 8, 1, 59, 8, 1, 45, 8, 1, 19, 8, 0, 13,184, 1, 6,180, 2, 28, 80, 0, 0, 0, 63,225, 50, 63, 18, - 57, 57, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 1, 47, 93,225, 51, 16,222, 93, 50,225, 43, 51, 47, 51, 93, 49, 48, 0, 93, - 93, 19, 33, 21, 0, 0, 17, 20, 22, 23, 22, 22, 21, 20, 7, 35, 54, 53, 52, 38, 39, 38, 38, 53, 16, 0, 37, 6, 35, 33,223, 3, - 70,254,116,254,197,166,229,171,151,121,170,121,103,194,229,209, 1, 66, 1,120,215,137,254,227, 6, 20,141,254,224,254,118,255, - 0,153,129, 39, 30,101,111,149,166,162, 98, 57, 65, 29, 35,223,201, 1, 1, 1,186,247, 12, 0, 0, 1, 0,160,254, 20, 4, 45, - 4, 94, 0, 16, 0, 49, 64, 29, 0, 71,144, 16,160, 16, 2, 16, 18, 11, 6, 71, 0, 7,176, 7, 2, 7, 11, 3, 80, 13, 16, 8, - 15, 7, 21, 0, 27, 0, 63, 63, 63, 63,225, 50, 1, 47, 93,225, 50, 16,222, 93,225, 49, 48, 1, 17, 16, 35, 32, 17, 17, 35, 17, - 51, 23, 51, 54, 51, 32, 17, 17, 3,119,238,254,205,182,147, 27, 10,102,234, 1,133,254, 20, 4,175, 1, 4,254,114,253,199, 4, - 74,148,168,254,111,251, 71, 0, 0, 3, 0,147,255,236, 4, 57, 5,195, 0, 10, 0, 17, 0, 24, 0, 79, 64, 50, 12, 59, 18, 1, - 6, 40, 18, 1, 18, 72, 9, 26, 11, 39, 19, 55, 19, 2, 19, 71, 0, 3, 1, 3, 19, 79,202, 11,234, 11, 2,152, 11, 1, 47, 11, -255, 11, 2, 11, 11, 22, 15, 80, 6, 4, 22, 80, 0, 22, 0, 63,225, 63,225, 18, 57, 47, 93, 93, 93,225, 1, 47, 93,225, 93, 50, - 16,222,225, 93, 95, 93, 50, 49, 48, 5, 34, 2, 17, 16, 18, 51, 50, 18, 17, 16, 1, 33, 2, 2, 35, 34, 6, 1, 33, 18, 18, 51, - 50, 18, 2,100,229,236,228,237,231,238,253, 19, 2, 51, 7,133,143,139,133, 2, 43,253,205, 6,132,142,142,135, 20, 1,127, 1, -110, 1,124, 1,110,254,131,254,147,253, 19, 3, 59, 1, 4, 1, 0,250,254,109,254,234,254,251, 1, 0, 0, 1, 1,172,255,236, - 3,248, 4, 74, 0, 11, 0, 38, 64, 20, 1, 71, 0, 10, 1, 10, 10, 12,111, 5, 1, 5, 13, 5, 3, 80, 8, 22, 0, 15, 0, 63, - 63,225, 51, 1, 16,206, 93, 18, 57, 47, 93,225, 49, 48, 1, 17, 20, 51, 50, 55, 21, 6, 35, 32, 17, 17, 2, 98,193,112,101, 93, -132,254,149, 4, 74,252,250,195, 21,138, 32, 1, 88, 3, 6, 0,255,255, 0,215, 0, 0, 4,139, 4, 74, 2, 6, 0,250, 0, 0, - 0, 1, 0, 61,255,236, 4,160, 6, 33, 0, 31, 0, 85, 64, 51, 13, 1, 27, 24, 14, 27, 14, 0, 18, 20, 18, 36, 18, 2, 6, 18, - 1, 18, 33, 31, 7, 0, 32, 13, 16, 72, 47, 0, 63, 0, 2, 0, 31, 21, 72, 27, 1, 27, 1, 13, 3, 10, 16, 80, 18, 21, 22, 5, - 80, 10, 1, 0, 63,225, 63, 51,225, 17, 23, 57, 93, 63, 1, 47, 93, 43, 51, 51, 17, 51, 93, 93, 17, 18, 57, 57, 17, 51, 17, 51, - 51, 49, 48, 51, 1, 39, 38, 38, 35, 34, 7, 53, 54, 51, 50, 22, 23, 1, 22, 51, 50, 55, 21, 6, 35, 34, 38, 39, 3, 38, 39, 35, - 6, 7, 1, 61, 1,248, 53, 34, 86, 73, 56, 48, 65, 62,142,142, 70, 1, 70, 37, 65, 29, 31, 50, 65, 82, 87, 28,135, 69, 25, 6, - 36, 83,254,244, 4, 59,160,104, 72, 12,145, 17,135,211,252, 41,111, 10,133, 26, 80, 87, 1,162,214,122,138,183,253,188, 0, 1, - 0,160,254, 20, 4, 45, 4, 74, 0, 21, 0, 58, 64, 35, 10, 5, 71,144, 8,160, 8, 2, 8, 23, 0, 18, 71, 0, 19,176, 19, 2, - 19, 18, 27, 0, 5, 10, 15, 4, 2, 80, 13, 22, 9, 21, 20, 6, 15, 0, 63, 51, 63, 63,225, 23, 50, 63, 1, 47, 93,225, 50, 16, -222, 93,225, 50, 49, 48, 1, 16, 51, 50, 54, 53, 17, 51, 17, 35, 39, 35, 6, 35, 34, 39, 22, 21, 17, 35, 17, 51, 1, 86,238,160, -147,182,147, 27, 10, 97,204,173, 75, 6,182,182, 1,135,254,252,186,211, 2, 58,251,182,147,167, 88,153, 87,254,192, 6, 54, 0, - 0, 1, 0, 61, 0, 0, 4, 74, 4, 74, 0, 13, 0,116, 64, 70, 13, 16, 10, 16, 72, 8, 13, 1, 53, 12, 69, 12, 85, 12, 3, 36, - 12, 1, 21, 12, 1, 25, 6, 41, 6, 57, 6, 3, 13,149, 12,165, 12, 2,134, 12, 1, 99, 12,115, 12, 2, 5, 12, 1, 12, 20, 4, - 68, 4,116, 4, 3, 4, 4, 0, 8, 71, 9, 15, 7, 1, 1, 1, 0, 64, 10, 16, 72, 0,184,255,240,182, 0, 4, 13, 21, 8, 0, - 15, 0, 63, 50, 63, 51, 1, 47, 56, 43, 50, 93, 16,222,225, 18, 57, 61, 47, 93, 51, 93, 93, 93, 93, 51, 49, 48, 93, 93, 93, 93, - 93, 43, 19, 51, 19, 18, 23, 51, 54, 18, 17, 51, 16, 2, 7, 35, 61,189,223,110, 11, 6,157,158,183,201,225,187, 4, 74,253,182, -254,223, 69,164, 1,154, 1,114,254,147,254, 22,243, 0, 0, 1, 0,172,254,111, 4, 43, 6, 20, 0, 44, 0,151, 64, 95, 41, 70, - 34, 26, 31, 0,159, 36, 1, 95, 28, 1,159, 0, 1, 28, 0, 36, 36, 0, 28, 3, 22, 17, 70,144, 12, 1, 12, 46, 5, 72, 0, 22, - 1, 22,123, 20, 1,109, 20, 1, 73, 20, 1, 59, 20, 1, 45, 20, 1, 8, 20, 24, 20, 2, 20, 8, 21, 24, 72,121, 9, 1,107, 9, - 1, 73, 9, 1, 59, 9, 1, 45, 9, 1, 20, 9, 14, 35, 26, 2, 79, 47, 44, 1, 44, 44, 14, 37, 34, 80, 35, 0, 14,184, 1, 6, - 0, 63, 63,225, 50, 18, 57, 47, 93,225, 57, 17, 18, 57, 57, 93, 93, 93, 93, 93, 43, 93, 93, 93, 93, 93, 93, 1, 47, 93,225, 16, -222, 93,225, 18, 23, 57, 47, 47, 47, 93, 93, 93, 18, 57, 57, 51,225, 49, 48, 1, 21, 35, 34, 6, 21, 20, 22, 22, 23, 22, 22, 21, - 20, 7, 35, 54, 53, 52, 38, 39, 36, 17, 52, 54, 55, 53, 38, 53, 52, 54, 55, 6, 35, 35, 53, 33, 21, 35, 34, 4, 21, 20, 22, 51, - 3,217,201,207,217, 76,139,179,162,151,121,170,121, 99,188,254, 74,151,132,215,150,185,176,104, 62, 2,252, 69,217,254,217,183, -196, 3,119,137,163,149, 91,105, 56, 32, 29,100,111,149,166,162,100, 53, 65, 29, 68, 1, 90,134,211, 42, 12, 59,220,114,150, 51, - 12,153,153,160,139,113,104, 0,255,255, 0,115,255,236, 4, 88, 4, 94, 2, 6, 0, 82, 0, 0, 0, 1, 0, 14,255,236, 4,190, - 4, 74, 0, 20, 0,121, 64, 53, 75, 11, 91, 11,107, 11, 3, 58, 11, 1, 40, 11, 1, 11, 11, 1, 11, 8, 71, 9, 84, 15, 1, 69, - 15, 1, 54, 15, 1, 39, 15, 1, 4, 15, 20, 15, 2, 15, 0, 0, 5, 71, 17, 0, 9, 64, 9, 80, 9, 96, 9, 4, 17,184,255,192, - 64, 23, 18, 22, 72, 9, 17, 9, 17, 21, 22, 12, 16, 7, 10, 80, 13, 15, 9, 21, 19, 80, 0, 3, 22, 0, 63, 51,225, 63, 63,225, - 50, 50, 57, 17, 18, 1, 57, 57, 47, 47, 43, 93, 16,225, 51, 17, 51, 93, 93, 93, 93, 93, 16,225, 51, 93, 93, 93, 93, 49, 48, 37, - 21, 6, 35, 34, 17, 17, 33, 17, 35, 17, 35, 53, 55, 33, 21, 35, 17, 20, 51, 50, 4,160, 52, 85,226,254,109,182,222,138, 4, 38, -210, 90, 46,150,144, 26, 1, 6, 2,190,252, 80, 3,176, 74, 80,154,253, 78,125, 0, 2, 0,158,254, 20, 4, 59, 4, 94, 0, 16, - 0, 27, 0, 53, 64, 31, 22, 72, 12, 64, 21, 24, 72, 12, 29, 17, 1, 4, 71, 0, 5,176, 5, 2, 5, 17, 0, 19, 80, 15, 22, 25, - 80, 9, 16, 4, 27, 0, 63, 63,225, 63,225, 50, 50, 1, 47, 93,225, 50, 50, 16,222, 43,225, 49, 48, 37, 35, 22, 21, 17, 35, 17, - 16, 18, 51, 50, 18, 17, 16, 2, 35, 34, 39, 22, 51, 50, 54, 53, 52, 38, 35, 32, 17, 1, 84, 6, 6,182,253,218,206,248,247,215, -168,113,112,171,144,128,130,144,254,231, 70,174, 97,254,221, 4, 19, 1, 7, 1, 48,254,205,254,252,254,242,254,211,251,100,211, -209,209,207,254,116, 0, 0, 1, 0,172,254,111, 4, 41, 4, 94, 0, 23, 0,103, 64, 66, 12, 3, 70, 1,144, 22, 1, 22, 25, 17, - 72, 0, 8, 1, 8,153, 6, 1,123, 6,139, 6, 2,109, 6, 1, 73, 6, 1, 59, 6, 1, 44, 6, 1, 8, 6, 24, 6, 2,121, 20, -137, 20, 2,107, 20, 1, 73, 20, 1, 59, 20, 1, 44, 20, 1, 6, 20, 0, 15, 81, 13, 10, 16, 0,184, 1, 6, 0, 63, 63, 51,225, - 18, 57, 57, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 1, 47, 93,225, 16,222, 93, 50,225, 51, 49, 48, 1, 35, 54, 53, 52, - 38, 39, 36, 17, 16, 33, 50, 23, 7, 38, 35, 32, 17, 20, 22, 23, 4, 21, 20, 3,172,166,121,132,163,254, 84, 2, 55,164,158, 62, -158,114,254,145,155,192, 1,102,254,111,163, 99, 60, 59, 28, 71, 1,181, 2, 90, 59,158, 57,254, 72,187,134, 35, 66,186,141, 0, - 0, 2, 0,129,255,236, 4,150, 4, 74, 0, 12, 0, 24, 0, 50, 64, 30, 2, 23, 72, 1,223, 4,239, 4,255, 4, 3, 4, 26, 17, - 72, 0, 10,240, 10, 2, 10, 2, 14, 80, 12, 15, 20, 80, 7, 22, 0, 63,225, 63,225, 50, 1, 47, 93,225, 16,222, 93, 50,225, 57, - 49, 48, 1, 21, 33, 22, 21, 20, 0, 35, 34, 2, 17, 16, 33, 23, 35, 34, 6, 21, 20, 22, 51, 50, 54, 53, 16, 4,150,254,245,178, -254,255,224,221,254, 2, 43, 59, 59,199,168,153,142,139,146, 4, 74,154,195,245,235,254,223, 1, 31, 1, 1, 2, 62,154,195,225, -185,208,191,174, 1, 13, 0, 1, 0,106,255,229, 4, 57, 4, 74, 0, 16, 0, 83, 64, 29, 10, 14, 26, 14, 2, 14, 3, 71,253, 12, - 1, 12, 64, 20, 23, 72, 61, 12, 1, 47, 12, 1, 0, 12, 1, 12, 12, 17, 1,184,255,232, 64, 20, 9, 18, 72, 1, 95, 7, 1, 7, - 18, 15, 2, 13, 80, 16, 15, 7, 5, 80, 10, 22, 0, 63,225, 51, 63,225, 50, 57, 1, 16,206, 93, 50, 43, 18, 57, 47, 93, 93, 93, - 43, 93,225, 51, 93, 49, 48, 1, 21, 33, 17, 20, 51, 50, 55, 21, 6, 35, 32, 17, 17, 33, 53, 55, 4, 57,254, 37,209,107, 84, 84, -136,254,150,254,194,134, 4, 74,154,253,162,215, 20,135, 35, 1, 88, 2,115, 74, 80, 0, 0, 1, 0,160,255,236, 4, 59, 4, 74, - 0, 17, 0, 51,179, 10, 70, 9, 9,184,255,208, 64, 23, 16, 24, 72, 9, 7, 71, 12, 19, 2, 71, 0, 17,176, 17, 2, 17, 4, 80, - 15, 22, 9, 0, 15, 0, 63, 50, 63,225, 1, 47, 93,225, 16,222,225, 51, 43, 16,229, 49, 48, 19, 51, 17, 16, 33, 50, 54, 53, 52, - 39, 51, 22, 21, 16, 2, 35, 32, 17,160,182, 1, 18,150,135, 63,182, 63,230,243,254, 62, 4, 74,253,178,254,133,232,247,237,253, -245,253,254,194,254,210, 2, 6, 0, 2, 0, 74,254, 20, 4,131, 4, 94, 0, 21, 0, 28, 0, 92, 64, 58, 22, 86, 21,102, 21, 2, - 71, 21, 1, 21, 73, 11, 6, 0, 0, 3, 24, 70, 15, 17, 1, 17, 30, 9, 73, 80, 3,144, 3,160, 3,192, 3,208, 3, 5, 47, 3, - 63, 3, 2, 3, 6, 26, 80, 14, 5, 5, 14, 16, 22, 11, 80, 20, 1, 22, 0, 27, 0, 63, 63, 51,225, 50, 63, 51, 47, 16,225, 57, - 1, 47, 93, 93,225, 16,222, 93,225, 17, 57, 47, 51, 51,225, 93, 93, 50, 49, 48, 1, 17, 36, 17, 16, 55, 23, 6, 6, 21, 16, 5, - 17, 16, 33, 50, 18, 21, 16, 2, 7, 17, 17, 36, 17, 16, 35, 34, 21, 2, 12,254, 62,207,120, 97, 68, 1, 32, 1, 25,164,186,250, -223, 1, 49,176,129,254, 20, 1,218, 25, 2, 28, 1, 58,245, 90,129,206,134,254,129, 33, 2, 94, 1,125,254,217,252,254,248,254, -201, 14,254, 38, 2,111, 29, 1,153, 1,142,228, 0, 1, 0, 43,254, 20, 4,141, 4, 78, 0, 30, 0,230, 64, 92, 3, 30, 4, 16, - 20, 15, 17, 2, 17, 0, 30, 4, 19, 20, 15, 18, 1, 18, 16, 19, 20, 15, 20, 3, 0, 30, 4, 30, 6, 30, 22, 30, 38, 30, 3, 73, - 20, 89, 20,201, 20, 3, 21, 17, 1, 6, 17, 38, 17,198, 17, 3, 9, 15, 25, 15, 41, 15, 3, 70, 4, 86, 4,198, 4, 3, 26, 1, - 1, 9, 1, 41, 1,201, 1, 3, 20, 30, 4, 15, 30, 15, 25, 9, 19, 16, 0, 3, 4, 18, 1, 2,184,255,192,181, 13, 16, 72, 2, - 2, 9,184,255,192, 64, 43, 9, 12, 72, 9, 9, 32, 17, 18, 18, 0, 25, 1, 25, 25, 31, 20, 15, 12, 22, 80, 30, 4, 9, 24, 27, - 15, 0, 19, 3, 16, 4, 1, 17, 18, 27, 9, 7, 80, 12, 27, 2, 1, 15, 0, 63, 51, 63,225, 51, 63, 51, 18, 23, 57, 63, 51, 18, - 57, 57,225, 17, 57, 57, 17, 1, 51, 47, 93, 51, 47, 51, 17, 51, 47, 43, 51, 47, 43, 51, 18, 23, 57, 17, 18, 57, 57, 17, 51, 17, - 51, 93, 93, 93, 93, 93, 93, 93, 93, 16,125,135,196,196, 16,135,196,196, 16,135, 8,196, 8,196, 16,135, 8,196, 8,196, 49, 48, - 1, 1, 51, 1, 19, 22, 22, 51, 50, 55, 21, 6, 35, 34, 38, 39, 3, 1, 35, 1, 3, 38, 35, 34, 7, 53, 54, 51, 50, 22, 23, 2, -125, 1, 55,178,254, 95,186, 46, 80, 64, 44, 36, 66, 52,102,135, 71,147,254,158,195, 1,219,180, 68, 84, 29, 34, 53, 76, 81,110, - 55, 1,250, 2, 80,252,248,254, 51,114, 89, 8,139, 19, 90,177, 1,121,253,124, 3, 62, 1,190,168, 10,143, 17,109,139, 0, 1, - 0, 80,254, 20, 4,131, 6, 18, 0, 22, 0,105, 64, 22, 1, 86, 11,102, 11, 2, 71, 11, 1, 11, 73, 21, 12, 12, 16, 3, 70, 8, - 6, 70, 5, 5,184,255,208, 64, 43, 16, 24, 72, 5, 15, 8, 1, 8, 24, 19, 70, 64, 16, 80, 16,144, 16,160, 16,192, 16,208, 16, - 6, 47, 16, 63, 16, 2, 16, 6, 17, 15, 1, 21, 80, 10, 13, 22, 11, 27, 0, 0, 0, 63, 63, 63, 51,225, 50, 63, 51, 1, 47, 93, - 93,225, 16,206, 93, 50, 43, 16,229, 16,225, 17, 57, 47, 51,225, 93, 93, 50, 49, 48, 1, 17, 36, 17, 52, 3, 51, 18, 21, 16, 5, - 17, 35, 17, 38, 2, 17, 17, 51, 17, 16, 5, 17, 2,170, 1, 45, 63,172, 63,254, 39,158,233,211,172, 1, 16, 6, 18,250,115, 28, - 1,152,250, 1, 23,254,236,247,253,201, 26,254, 38, 1,218, 8, 1, 14, 1, 39, 2, 31,253,239,254, 90, 16, 5,143, 0, 0, 1, - 0, 90,255,236, 4,117, 4, 74, 0, 31, 0,170, 64, 16, 86, 19,230, 19,246, 19, 3, 71, 19, 1, 54, 19, 1, 19, 18, 18,184,255, -240, 64, 99, 15, 18, 72, 87, 18, 1, 54, 18, 70, 18, 2, 18, 21, 25, 86, 11,102, 11, 2, 71, 11, 1, 11, 73, 8, 8, 30, 16, 73, - 15, 21, 63, 21, 2, 21, 33, 89, 0,233, 0,249, 0, 3, 72, 0, 1, 57, 0, 1, 0, 1, 1, 16, 15, 18, 72, 88, 1, 1, 57, 1, - 73, 1, 2, 1, 3, 73, 48, 30, 64, 30, 80, 30,144, 30,160, 30,192, 30,208, 30, 7, 47, 30, 1, 30, 9, 9, 0, 25, 14, 5, 80, - 23, 28, 22, 18, 0, 15, 0, 63, 50, 63, 51,225, 50, 50, 17, 57, 47, 1, 47, 93, 93,225, 51, 93, 93, 43, 17, 51, 93, 93, 93, 16, -222, 93,225, 17, 57, 47,225, 93, 93, 57, 17, 51, 93, 93, 43, 17, 51, 93, 93, 93, 49, 48, 19, 51, 2, 17, 16, 51, 50, 54, 53, 17, - 51, 17, 20, 22, 51, 50, 17, 16, 3, 51, 18, 17, 16, 33, 34, 39, 35, 6, 35, 32, 17, 16,195,165,104,139, 67, 75,157, 79, 63,139, -105,166,105,254,223,181, 50, 11, 50,181,254,223, 4, 74,254,250,254,208,254,111,142,126, 1, 50,254,206,130,138, 1,145, 1, 50, - 1, 4,254,254,254,204,253,216,178,178, 2, 40, 1, 46,255,255, 1, 3,255,236, 3,248, 5,217, 2, 38, 1,134, 0, 0, 1, 6, - 0,106,185, 0, 0, 23, 64, 13, 2, 1, 16, 17, 38, 2, 1, 23, 18, 22, 11, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, - 0,160,255,236, 4, 59, 5,217, 2, 38, 1,146, 0, 0, 1, 6, 0,106, 0, 0, 0, 25,182, 2, 1, 22, 17, 38, 2, 1,184,255, -248,180, 24, 28, 0, 12, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,115,255,236, 4, 88, 6, 33, 2, 38, 0, 82, 0, 0, - 1, 6, 1, 84, 72, 0, 0, 19, 64, 11, 2, 28, 17, 38, 2, 72, 20, 24, 3, 9, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160, -255,236, 4, 59, 6, 33, 2, 38, 1,146, 0, 0, 1, 6, 1, 84, 39, 0, 0, 19, 64, 11, 1, 26, 17, 38, 1, 31, 18, 22, 0, 12, - 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 90,255,236, 4,117, 6, 33, 2, 38, 1,150, 0, 0, 1, 6, 1, 84, 51, 0, 0, 19, - 64, 11, 1, 40, 17, 38, 1, 49, 32, 36, 30, 21, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,217, 0, 0, 4, 35, 7, 43, 2, 38, - 0, 40, 0, 0, 1, 7, 0,106, 0, 25, 1, 82, 0, 23, 64, 13, 2, 1, 16, 5, 38, 2, 1, 0, 18, 22, 1, 0, 37, 1, 43, 53, - 53, 0, 43, 53, 53, 0, 0, 1, 0, 23,255,236, 4,141, 5,182, 0, 27, 0,125,182, 18, 16, 16,128, 16, 2, 16,184,255,192, 64, - 73, 21, 24, 72, 16, 16, 10, 90, 11,255, 13, 1, 13, 13,224, 11,240, 11, 2, 70, 11, 86, 11, 2, 55, 11, 1, 47, 0, 63, 0, 2, - 11, 0, 1, 11, 0, 11, 0, 28, 5, 90, 23, 29, 9, 95, 64, 18,160, 18,176, 18,208, 18,224, 18,240, 18, 6, 18, 18, 14, 3, 95, - 1, 26, 19, 17, 12, 95, 14, 3, 11, 18, 0, 63, 63,225, 50, 63, 51,225, 17, 57, 47, 93,225, 1, 16,222,225, 18, 57, 57, 47, 47, - 93, 93, 93, 93, 93, 51, 47, 93, 16,225, 50, 47, 43, 93, 50, 49, 48, 37, 53, 22, 51, 50, 53, 53, 52, 35, 35, 17, 35, 17, 33, 53, - 33, 21, 33, 17, 33, 50, 22, 21, 21, 20, 6, 35, 34, 2,152, 68, 67,180,227,244,186,254,213, 3, 73,254,156, 1, 8,187,206,189, -171, 88, 4,160, 21,226,133,231,253, 35, 5, 18,164,164,254,111,193,178,137,196,213, 0,255,255, 0,246, 0, 0, 4, 47, 7,115, - 2, 38, 1, 97, 0, 0, 1, 7, 0,118, 0,109, 1, 82, 0, 19, 64, 11, 1, 12, 5, 38, 1, 58, 6, 9, 4, 0, 37, 1, 43, 53, - 0, 43, 53, 0, 0, 1, 0,129,255,236, 4,156, 5,203, 0, 23, 0, 68, 64, 39, 7, 64, 20, 24, 72, 7, 1, 7, 1, 13, 18, 25, - 0, 3, 91, 0, 13,240, 13, 2, 13, 3, 95,104, 0, 1, 0, 0, 5, 21, 95, 19, 16, 4, 5, 95, 7, 10, 19, 0, 63, 51,225, 63, - 51,225, 18, 57, 47, 93,225, 1, 47, 93,225, 50, 16,206, 17, 57, 57, 47, 47, 43, 49, 48, 1, 33, 21, 33, 18, 33, 50, 55, 21, 6, - 35, 32, 0, 17, 16, 0, 33, 50, 23, 7, 38, 35, 34, 6, 1, 76, 2,117,253,133, 23, 1,192,130,197,146,212,254,203,254,184, 1, -102, 1, 54,220,163, 78,154,151,188,250, 3, 78,162,253,227, 58,162, 59, 1,136, 1,105, 1, 90, 1,148, 86,156, 78,249,255,255, - 0,141,255,236, 4, 63, 5,203, 2, 6, 0, 54, 0, 0,255,255, 0,225, 0, 0, 3,233, 5,182, 2, 6, 0, 44, 0, 0,255,255, - 0,225, 0, 0, 3,233, 7, 43, 2, 38, 0, 44, 0, 0, 1, 7, 0,106, 0, 2, 1, 82, 0, 23, 64, 13, 2, 1, 16, 5, 38, 2, - 1, 2, 18, 22, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,137,255,236, 3,211, 5,182, 2, 6, 0, 45, 0, 0, - 0, 2, 0, 0,255,236, 4,184, 5,182, 0, 24, 0, 32, 0,132, 64, 88, 1, 8, 9, 14, 72, 1,120, 0, 1, 87, 0,103, 0, 2, - 0,250, 14, 12, 8, 20, 24, 72,153, 12,169, 12, 2,120, 12,136, 12, 2, 12, 16, 9, 15, 72, 12, 14, 16, 25, 90, 23, 96, 14,144, - 14,160, 14,224, 14,240, 14, 5, 71, 23, 1, 14, 23, 14, 23, 6, 28,251, 19, 34, 0, 6, 1, 6, 32, 95, 16, 16, 14, 25, 96, 23, - 18, 0, 95, 14, 3, 9, 97, 7, 4, 19, 0, 63, 51,225, 63,225, 63,225, 17, 57, 47,225, 1, 47, 93, 16,214,225, 17, 57, 57, 47, - 47, 93, 93, 16,225, 50, 17, 51, 43, 93, 93, 43, 16,225, 93, 93, 50, 43, 49, 48, 1, 3, 2, 6, 35, 34, 39, 53, 22, 51, 50, 54, - 54, 18, 55, 33, 17, 51, 32, 17, 20, 6, 35, 35, 17, 19, 51, 32, 17, 52, 38, 35, 35, 1,119, 20, 20,127,112, 56, 40, 32, 36, 35, - 53, 25, 41, 3, 1,242, 39, 1,190,228,216,207,166, 45, 1, 12,138,155, 20, 5, 18,253,220,253,195,197, 18,145, 14, 70,184, 3, - 97,214,253,152,254, 94,208,220, 5, 18,251,142, 1, 12,134,120, 0, 2, 0, 66, 0, 0, 4,176, 5,182, 0, 18, 0, 26, 0, 67, - 64, 37, 11, 19, 90, 8, 0, 0, 4, 22,251, 15, 28, 7, 3, 90, 4, 64, 10, 15, 72, 4, 26, 2, 95, 11,104, 7, 1, 7, 7, 9, - 5, 3, 19, 96, 3, 0, 18, 0, 63, 50,225, 63, 51, 57, 47, 93, 51,225, 50, 1, 47, 43,225, 50, 16,214,225, 17, 57, 47, 51,225, - 50, 49, 48, 33, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 51, 50, 22, 21, 20, 6, 35, 39, 51, 32, 17, 52, 38, 35, 35, 2, 37, -254,194,165,165, 1, 62,166, 39,219,227,228,216, 41, 45, 1, 12,138,155, 20, 2,170,253, 86, 5,182,253,152, 2,104,253,152,215, -203,208,220,160, 1, 12,134,120, 0, 1, 0, 23, 0, 0, 4,141, 5,182, 0, 18, 0,105,181, 16, 17,128, 17, 2, 17,184,255,192, - 64, 59, 21, 24, 72, 17, 17, 0, 11, 90, 12,255, 14, 1, 14, 14,224, 12,240, 12, 2, 70, 12, 86, 12, 2, 55, 12, 1, 12, 12, 19, - 6, 90, 5, 20, 18, 13, 95, 15, 10, 95, 48, 0, 64, 0,160, 0,176, 0,208, 0, 5, 0, 0, 12, 15, 3, 6, 12, 18, 0, 63, 51, - 63, 18, 57, 47, 93,225, 16,225, 50, 1, 16,222,225, 18, 57, 47, 93, 93, 93, 51, 47, 93, 16,225, 50, 50, 47, 43, 93, 49, 48, 1, - 33, 50, 22, 21, 17, 35, 17, 52, 35, 35, 17, 35, 17, 33, 53, 33, 21, 33, 1,252, 1, 8,187,206,186,227,244,186,254,213, 3, 73, -254,156, 3,129,193,178,253,242, 1,246,231,253, 35, 5, 18,164,164, 0,255,255, 0,211, 0, 0, 4,174, 7,115, 2, 38, 1,180, - 0, 0, 1, 7, 0,118, 0,156, 1, 82, 0, 19, 64, 11, 1, 17, 5, 38, 1, 66, 11, 14, 4, 0, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0, 27,255,236, 4,176, 7,105, 2, 38, 1,189, 0, 0, 1, 7, 2, 54, 0, 6, 1, 82, 0, 19, 64, 11, 1, 26, 5, 38, - 1, 6, 29, 24, 14, 0, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,135,254,127, 4, 70, 5,182, 0, 11, 0, 67, 64, 42, 2, 90, - 0, 3, 16, 3,144, 3,160, 3,192, 3,208, 3, 6, 3, 3, 5, 9, 90, 0, 13, 8, 90, 0, 5,224, 5,240, 5, 3, 5, 10, 6, - 3, 8, 95, 5, 3, 3, 1, 5, 0, 47, 51, 51, 47, 16,225, 63, 51, 1, 47, 93,225, 16,222,225, 17, 57, 47, 93,225, 49, 48, 33, - 33, 17, 35, 17, 33, 17, 51, 17, 33, 17, 51, 4, 70,254,118,176,254,123,187, 2, 73,187,254,127, 1,129, 5,182,250,240, 5, 16, -255,255, 0, 33, 0, 0, 4,172, 5,188, 2, 6, 0, 36, 0, 0, 0, 2, 0,135, 0, 0, 4,111, 5,182, 0, 11, 0, 19, 0, 51, - 64, 29, 15, 91, 3, 8, 21, 5, 12, 90, 0, 0,224, 0,240, 0, 3, 0, 19, 95, 5, 5, 12, 4, 95, 1, 3, 12, 96, 0, 18, 0, - 63,225, 63,225, 18, 57, 47,225, 1, 47, 93,225, 50, 16,222, 50,225, 49, 48, 51, 17, 33, 21, 33, 17, 33, 32, 17, 20, 4, 35, 37, - 33, 32, 17, 52, 38, 35, 35,135, 3,144,253, 43, 1, 16, 2, 29,254,249,251,254,213, 1, 26, 1, 82,171,198,251, 5,182,164,254, - 60,254, 94,208,220,160, 1, 12,133,121,255,255, 0,135, 0, 0, 4,113, 5,182, 2, 6, 0, 37, 0, 0,255,255, 0,246, 0, 0, - 4, 47, 5,182, 2, 6, 1, 97, 0, 0, 0, 2, 0, 6,254,127, 4,197, 5,182, 0, 13, 0, 19, 0,129, 64, 25, 9, 16, 18, 24, - 72, 11, 18, 1, 18, 32, 11, 24, 72, 11, 8, 1, 8, 32, 11, 24, 72, 25, 10, 1, 19,184,255,240, 64, 13, 9, 24, 72, 19, 91, 7, - 16, 90, 10, 20, 7, 1, 10,184,255,192, 64, 37, 10, 24, 72, 2, 10, 1, 7, 10, 7, 10, 5, 12, 1,251, 0, 0, 14, 90, 12, 21, - 4,251, 5, 16, 95, 10, 3, 19, 12, 6, 95, 3, 0, 5, 5, 3, 18, 0, 63, 51, 47, 51, 16,225, 50, 50, 63,225, 1, 47,225, 16, -220,225, 51, 47,225, 17, 18, 57, 57, 47, 47, 93, 43, 93, 16,225, 16,225, 43, 93, 49, 48, 43, 93, 43, 93, 43, 1, 35, 17, 33, 17, - 35, 17, 51, 54, 18, 19, 33, 17, 51, 33, 17, 35, 2, 2, 7, 4,197,177,252,162,176,113,129,174, 12, 2, 80,195,254,131,242, 17, -163,107,254,127, 1,129,254,127, 2, 39,236, 2,204, 1, 88,250,240, 4,106,254,246,253,107,203,255,255, 0,217, 0, 0, 4, 35, - 5,182, 2, 6, 0, 40, 0, 0, 0, 1, 0, 0, 0, 0, 4,205, 5,182, 0, 17, 0,203, 64, 76,103, 9,119, 9,135, 9, 3, 6, - 9, 22, 9, 54, 9, 70, 9, 86, 9, 5, 9, 5, 5, 70, 13, 86, 13,246, 13, 3, 55, 13, 1, 5, 13, 21, 13, 2, 13, 90,104, 0, -120, 0,136, 0, 3, 9, 0, 25, 0, 57, 0, 73, 0, 89, 0, 5, 0, 4, 4,103, 14, 1, 9, 14, 25, 14, 2, 14, 14, 17, 10,103, - 2, 1, 2, 1,184,255,240, 64, 9, 1, 1,103, 16,135, 16, 2, 16, 17,184,255,240, 64, 50, 17,104, 7,136, 7, 2, 7, 8, 16, - 8, 8,104, 11,136, 11, 2, 11, 16, 10, 64, 10, 80, 10,144, 10,160, 10,192, 10,208, 10, 7, 10, 16, 10, 12, 15, 6, 3, 15, 3, - 1, 17, 14, 10, 18, 7, 4, 1, 3, 0, 63, 51, 51, 63, 51, 51, 18, 57, 57, 17, 51, 17, 51, 1, 47, 56, 93, 51, 93, 51, 47, 56, - 51, 93, 47, 56, 51, 93, 51, 47, 56, 50, 93, 17, 18, 57, 47, 93, 93, 51, 17, 51, 93, 93,225, 93, 93, 93, 50, 17, 51, 93, 93, 49, - 48, 1, 1, 51, 1, 17, 51, 17, 1, 51, 1, 1, 35, 1, 17, 35, 17, 1, 35, 1,117,254,151,178, 1, 93,155, 1, 86,178,254,156, - 1,115,185,254,162,155,254,155,182, 2,242, 2,196,253, 60, 2,196,253, 60, 2,196,253, 60,253, 14, 2,229,253, 27, 2,229,253, - 27, 0, 0, 1, 0,139,255,236, 4, 47, 5,203, 0, 35, 0, 81, 64, 46, 6, 0, 22, 0, 2, 0, 17, 22, 91, 33, 33, 4, 17, 17, - 9, 14, 91, 4, 37, 28, 0, 9, 1, 9, 0, 17, 96,104, 18, 1,159, 18, 1, 18, 18, 12, 27, 25, 96, 30, 4, 12, 96, 10, 7, 19, - 0, 63, 51,225, 63,225, 51, 18, 57, 47, 93, 93,225, 57, 1, 47, 93, 51, 16,222,225, 17, 57, 47, 17, 51, 47,225, 18, 57, 93, 49, - 48, 1, 21, 22, 22, 21, 20, 4, 33, 34, 39, 53, 22, 51, 32, 17, 16, 33, 35, 53, 51, 50, 54, 53, 52, 38, 35, 34, 7, 39, 54, 33, - 50, 22, 21, 20, 6, 2,190,178,191,254,228,254,251,242,145,184,199, 1, 99,254,118,190,176,180,201,140,118,186,168, 93,194, 1, - 5,209,235,179, 3, 2, 6, 23,182,143,203,233, 79,170, 96, 1, 27, 1, 8,151,148,125,103,122,121,125,150,198,165,137,186, 0, - 0, 1, 0,137, 0, 0, 4, 70, 5,182, 0, 16, 0, 98,185, 0, 15,255,240, 64, 64, 14, 24, 72, 53, 15, 69, 15, 2, 7, 16, 14, - 24, 72, 58, 7, 74, 7, 2, 13, 9, 7, 25, 7, 41, 7, 3, 7, 10,251,224, 9,240, 9, 2, 9,105, 18, 6, 15, 22, 15, 38, 15, - 3, 15, 5, 1,251, 0, 0,224, 0,240, 0, 3, 0, 16, 5, 9, 18, 13, 7, 0, 3, 0, 63, 50, 50, 63, 51, 51, 1, 47, 93,225, - 50, 50, 93, 16,254, 93,225, 50, 93, 50, 49, 48, 93, 43, 93, 43, 19, 51, 17, 20, 7, 7, 51, 1, 51, 17, 35, 17, 52, 19, 35, 1, - 35,137,174, 7, 7, 6, 2, 66,213,172, 18, 8,253,188,215, 5,182,252,224,142,112,150, 4,180,250, 74, 3, 25,140, 1, 21,251, - 70, 0,255,255, 0,137, 0, 0, 4, 70, 7,105, 2, 38, 1,178, 0, 0, 1, 7, 2, 54, 0, 0, 1, 82, 0, 21,180, 1, 19, 5, - 38, 1,184,255,255,180, 22, 17, 0, 8, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,211, 0, 0, 4,174, 5,182, 0, 10, 0,130, - 64, 96, 5, 7, 21, 7, 37, 7,213, 7,229, 7,245, 7, 6, 10, 2, 26, 2, 42, 2,218, 2,234, 2,250, 2, 6, 39, 10, 1, 10, - 7, 7, 3, 90, 0, 4, 96, 4,112, 4,128, 4, 4, 4, 41, 8,217, 8,233, 8,249, 8, 4, 8, 9, 16, 9, 9, 41, 1,217, 1, -233, 1,249, 1, 4, 1,208, 0,240, 0, 2,127, 0, 1, 0, 0, 16, 0, 64, 0, 96, 0, 4, 0, 16, 0, 7, 2, 8, 5, 3, 4, - 0, 18, 0, 63, 50, 63, 51, 57, 57, 1, 47, 56, 93, 93, 93, 50, 93, 50, 47, 56, 51, 93, 47, 93,225, 50, 17, 51, 93, 49, 48, 0, - 93, 93, 33, 35, 1, 17, 35, 17, 51, 17, 1, 51, 1, 4,174,219,253,186,186,186, 2, 54,206,253,203, 2,229,253, 27, 5,182,253, - 60, 2,196,253, 66, 0, 0, 1, 0, 4,255,233, 4, 70, 5,182, 0, 15, 0,111, 64, 33, 13, 64, 20, 24, 72,173, 13, 1,124, 13, -140, 13,156, 13, 3, 90, 13,106, 13, 2, 45, 13, 61, 13, 77, 13, 3, 11, 13, 27, 13, 2, 5,184,255,240, 64, 16, 9, 24, 72, 4, - 24, 9, 24, 72, 3, 90, 0, 14, 16, 14, 2, 14,184,255,192, 64, 22, 13, 24, 72, 14, 14, 8, 1, 90, 0, 17, 8, 3, 95, 14, 3, - 11, 96, 9, 6, 19, 0, 18, 0, 63, 63, 51,225, 63,225, 1, 47, 16,222,225, 18, 57, 47, 43, 93,225, 49, 48, 43, 43, 93, 93, 93, - 93, 93, 43, 33, 35, 17, 33, 2, 2, 35, 34, 39, 53, 22, 51, 50, 18, 19, 33, 4, 70,187,254,215,117,177,175, 71, 66, 57, 56,102, -110,126, 2,127, 5, 18,252, 47,254,168, 25,150, 25, 1,105, 3,206, 0,255,255, 0,113, 0, 0, 4, 92, 5,182, 2, 6, 0, 48, - 0, 0,255,255, 0,135, 0, 0, 4, 70, 5,182, 2, 6, 0, 43, 0, 0,255,255, 0, 84,255,236, 4,123, 5,205, 2, 6, 0, 50, - 0, 0,255,255, 0,135, 0, 0, 4, 70, 5,182, 2, 6, 1,110, 0, 0,255,255, 0,176, 0, 0, 4, 70, 5,182, 2, 6, 0, 51, - 0, 0,255,255, 0,129,255,236, 4,156, 5,203, 2, 6, 0, 38, 0, 0,255,255, 0,102, 0, 0, 4,100, 5,182, 2, 6, 0, 55, - 0, 0, 0, 1, 0, 27,255,236, 4,176, 5,182, 0, 23, 0,162, 64, 9, 8, 13, 24, 13, 2, 13, 1, 20, 20,184,255,224,179, 20, - 24, 72, 20,184,255,224, 64, 89, 15, 18, 72, 7, 20, 7, 20, 14,232, 23, 1, 73, 23, 89, 23, 2, 56, 23, 1, 41, 23, 1, 26, 23, - 1, 9, 23, 1, 23, 0, 0, 25,231, 15, 1, 70, 15, 86, 15, 2, 55, 15, 1, 38, 15, 1, 21, 15, 1, 6, 15, 1, 15, 31, 14, 79, - 14, 95, 14,111, 14, 4, 14, 14, 24,101, 20, 1, 54, 20,230, 20, 2, 37, 20, 1, 13, 1, 20, 3, 0, 10, 95, 8, 5, 19, 14, 0, - 3, 0, 63, 50, 63, 51,225, 17, 23, 57, 93, 93, 93, 17, 1, 51, 47, 93, 51, 93, 93, 93, 93, 93, 93, 17, 51, 47, 51, 93, 93, 93, - 93, 93, 93, 18, 57, 57, 61, 47, 24, 47, 43, 43, 17, 51, 51, 93, 49, 48, 1, 1, 14, 2, 35, 34, 39, 53, 22, 51, 50, 54, 55, 1, - 51, 1, 22, 23, 22, 23, 51, 55, 1, 4,176,254, 84, 76,120,178,126,104, 74, 85, 93,110,121, 54,253,238,204, 1,127, 12, 8, 8, - 9, 2, 39, 1, 56, 5,182,251,250,183,171, 98, 30,185, 45,103,122, 4, 63,252,215, 25, 22, 25, 20,109, 3, 24,255,255, 0, 27, -255,236, 4,180, 5,203, 2, 6, 1,115, 0, 0,255,255, 0, 53, 0, 0, 4,150, 5,182, 2, 6, 0, 59, 0, 0, 0, 1, 0,135, -254,127, 4,186, 5,182, 0, 11, 0, 58, 64, 34, 3,251, 2, 2, 9, 90,127, 0,143, 0, 2, 0, 13, 8, 90, 0, 5,224, 5,240, - 5, 3, 5, 10, 6, 3, 0, 8, 95, 5, 3, 3, 5, 18, 0, 63, 51, 47, 16,225, 50, 63, 51, 1, 47, 93,225, 16,220, 93,225, 51, - 47,225, 49, 48, 37, 51, 17, 35, 17, 33, 17, 51, 17, 33, 17, 51, 4, 10,176,176,252,125,187, 2, 14,186,166,253,217, 1,129, 5, -182,250,240, 5, 16, 0, 0, 1, 0,135, 0, 0, 4, 70, 5,182, 0, 16, 0, 47, 64, 26, 14, 1, 90, 0, 18, 9, 90, 0, 6,224, - 6,240, 6, 3, 6, 14, 12, 95, 4, 4, 1, 15, 7, 3, 1, 18, 0, 63, 63, 51, 18, 57, 47,225, 51, 1, 47, 93,225, 16,222,225, - 50, 49, 48, 33, 35, 17, 6, 35, 32, 17, 17, 51, 17, 20, 22, 51, 50, 55, 17, 51, 4, 70,187,227,166,254,133,187,103,110,153,219, -187, 2, 86, 90, 1,115, 2, 71,253,209,130,101, 80, 2,198, 0, 0, 1, 0,121, 0, 0, 4, 86, 5,182, 0, 11, 0, 92, 64, 64, -101, 8, 1, 86, 8, 1, 55, 8, 71, 8,247, 8, 3,123, 5,139, 5, 2, 8, 90, 5, 5, 1, 9, 90,192, 0,208, 0, 2, 15, 0, - 63, 0, 2, 0, 13, 4, 90, 0, 1, 16, 1, 48, 1, 64, 1, 80, 1,144, 1,160, 1, 7, 1, 10, 6, 2, 3, 8, 4, 95, 1, 18, - 0, 63,225, 50, 63, 51, 51, 1, 47, 93,225, 16,222, 93, 93,225, 17, 57, 47,225, 93, 93, 93, 93, 49, 48, 33, 33, 17, 51, 17, 51, - 17, 51, 17, 51, 17, 51, 4, 86,252, 35,166,245,166,246,166, 5,182,250,240, 5, 16,250,240, 5, 16, 0, 0, 1, 0, 61,254,127, - 4,205, 5,182, 0, 15, 0,127, 64, 89,101, 12, 1, 86, 12, 1, 55, 12, 71, 12,247, 12, 3,123, 9,139, 9, 2, 12, 90, 9, 9, - 5, 0, 3,251, 0, 2,144, 2,160, 2,176, 2,224, 2,240, 2, 6, 2, 2, 13, 90,191, 0,239, 0,255, 0, 3, 15, 0, 63, 0, -159, 0,175, 0, 4, 0, 17, 8, 90,144, 5,160, 5, 2, 47, 5,111, 5,127, 5, 3, 5, 14, 10, 6, 3, 12, 0, 8, 95, 5, 3, - 3, 5, 18, 0, 63, 51, 47, 16,225, 50, 50, 63, 51, 51, 1, 47, 93, 93,225, 16,221, 93, 93,225, 51, 47, 93,225, 17, 18, 57, 47, -225, 93, 93, 93, 93, 49, 48, 37, 51, 17, 35, 17, 33, 17, 51, 17, 51, 17, 51, 17, 51, 17, 51, 4, 27,178,176,252, 32,166,246,166, -246,166,166,253,217, 1,129, 5,182,250,240, 5, 16,250,240, 5, 16, 0, 0, 2, 0, 27, 0, 0, 4,117, 5,182, 0, 12, 0, 20, - 0, 59, 64, 33, 5, 13, 90, 31, 0,143, 0,255, 0, 3, 0, 0, 2, 16, 91, 9, 22, 2, 2, 21, 20, 95, 5, 5, 13, 2, 95, 3, - 3, 13, 96, 0, 18, 0, 63,225, 63,225, 18, 57, 47,225, 17, 1, 51, 47, 16,222,225, 17, 57, 47, 93,225, 50, 49, 48, 33, 17, 33, - 53, 33, 17, 51, 32, 4, 21, 20, 4, 33, 39, 51, 32, 17, 52, 38, 35, 35, 1, 70,254,213, 1,229, 68, 1, 14, 1, 35,254,235,254, -254, 94, 98, 1, 82,171,197, 68, 5, 18,164,253,152,218,200,202,226,160, 1, 12,132,122, 0, 3, 0, 96, 0, 0, 4,109, 5,182, - 0, 9, 0, 17, 0, 21, 0, 83, 64, 53, 73, 13, 1, 13,251, 0, 6, 16, 6, 48, 6,112, 6,128, 6,240, 6, 6, 6, 6, 0, 18, -251, 15, 21, 63, 21, 2, 21, 23, 3, 10, 90, 32, 0, 48, 0, 2, 0, 0, 22, 17, 95, 3, 3, 19, 1, 3, 10, 96, 18, 0, 18, 0, - 63, 50,225, 63, 51, 57, 47,225, 17, 1, 51, 47, 93,225, 50, 16,222, 93,225, 17, 57, 47, 93,225, 93, 49, 48, 51, 17, 51, 17, 51, - 32, 17, 20, 4, 35, 39, 51, 32, 17, 52, 38, 35, 35, 1, 17, 51, 17, 96,166, 47, 2, 29,254,249,251, 74, 78, 1, 82,171,198, 47, - 2,193,166, 5,182,253,152,254, 94,208,220,160, 1, 12,133,121,253, 86, 5,182,250, 74, 0, 2, 0,176, 0, 0, 4, 70, 5,182, - 0, 9, 0, 17, 0, 60, 64, 16, 13, 91,239, 6,255, 6, 2, 6, 19, 3, 10, 90, 0, 0, 1, 0,184,255,192, 64, 16, 18, 22, 72, - 0, 0, 18, 17, 95, 3, 3, 1, 3, 10, 96, 0, 18, 0, 63,225, 63, 57, 47,225, 17, 1, 51, 47, 43, 93,225, 50, 16,222, 93,225, - 49, 48, 51, 17, 51, 17, 51, 32, 17, 20, 4, 35, 39, 51, 32, 17, 52, 38, 35, 35,176,186,191, 2, 29,254,249,251,218,201, 1, 82, -171,198,170, 5,182,253,152,254, 94,208,220,160, 1, 12,133,121, 0, 1, 0, 68,255,236, 4, 76, 5,203, 0, 23, 0, 74, 64, 43, -127, 17,143, 17, 2, 17, 17, 11, 19, 16, 91,255, 6, 1, 6, 25, 1, 31, 11, 47, 11, 2, 11, 11, 24, 17, 95,104, 18, 1, 18, 18, - 3, 14, 95, 12, 9, 19, 22, 95, 0, 3, 4, 0, 63, 51,225, 63, 51,225, 17, 57, 47, 93,225, 17, 1, 51, 47, 93, 51, 16,222, 93, -225, 50, 18, 57, 47, 93, 49, 48, 19, 39, 54, 51, 32, 0, 17, 16, 0, 33, 34, 39, 53, 22, 51, 32, 19, 33, 53, 33, 38, 38, 35, 34, -145, 77,161,222, 1, 48, 1, 89,254,170,254,196,212,146,197,131, 1,217, 16,253,139, 2,113, 19,237,190,152, 4,217,156, 86,254, -123,254,176,254,139,254,107, 59,162, 58, 2, 29,162,222,251, 0, 0, 2, 0, 98,255,236, 4,135, 5,205, 0, 18, 0, 30, 0,110, - 64, 43, 28,251, 7, 15, 0, 47, 0, 79, 0, 95, 0,127, 0,143, 0, 6, 0, 64, 21, 24, 72, 0, 0, 3, 22,251, 13, 64, 9, 14, - 72, 13, 32, 6, 55, 2, 1, 2, 90,102, 3, 1, 3,184,255,192, 64, 26, 11, 14, 72, 3, 3, 31, 1, 95,104, 6, 1, 6, 6, 10, - 19, 95, 16, 19, 25, 95, 10, 4, 4, 3, 2, 18, 0, 63, 63, 63,225, 63,225, 17, 57, 47, 93,225, 17, 1, 51, 47, 43, 93,225, 93, - 50, 16,222, 43,225, 18, 57, 47, 43, 93, 51,225, 49, 48, 1, 35, 17, 35, 17, 51, 17, 51, 18, 18, 51, 50, 18, 17, 16, 2, 35, 34, - 2, 5, 50, 54, 17, 16, 38, 35, 34, 6, 17, 16, 22, 1,147,139,166,166,144, 18,175,183,192,183,184,193,190,179, 1,113,106, 95, - 96,105,108, 94, 93, 2,170,253, 86, 5,182,253,152, 1, 93, 1, 34,254,159,254,113,254,115,254,156, 1, 59,152,233, 1,101, 1, -104,228,237,254,161,254,164,242, 0, 2, 0, 57, 0, 0, 4, 18, 5,182, 0, 11, 0, 19, 0,113, 64, 31, 11, 4, 27, 4, 2, 11, - 6, 27, 6, 2, 3, 16, 12, 17, 72, 3, 0, 5, 19, 10, 90,143, 9,159, 9,175, 9, 3, 9, 21, 1,184,255,240,180, 12, 17, 72, - 1, 2,184,255,240,183, 2, 2, 15, 91, 0, 5, 1, 5,184,255,192, 64, 19, 19, 22, 72, 5, 5, 20, 3, 0, 96, 18, 18, 1, 13, - 96, 7, 3, 10, 1, 18, 0, 63, 51, 63,225, 18, 57, 47,225, 50, 17, 1, 51, 47, 43, 93,225, 51, 47, 56, 51, 43, 16,222, 93,225, - 50, 17, 57, 57, 43, 49, 48, 93, 93, 1, 1, 35, 1, 36, 17, 16, 33, 33, 17, 35, 17, 17, 35, 32, 17, 20, 22, 51, 51, 2, 98,254, -178,219, 1,125,254,240, 1,248, 1,116,186,188,254,202,164,154,180, 2, 92,253,164, 2,143, 98, 1, 54, 1,143,250, 74, 2, 92, - 2,187,255, 0,137,148,255,255, 0,135,255,236, 4, 2, 4, 94, 2, 6, 0, 68, 0, 0, 0, 2, 0,143,255,236, 4, 59, 6, 35, - 0, 22, 0, 31, 0, 62, 64, 37, 27, 72, 1, 11, 64, 21, 24, 72, 11, 33, 5, 23, 72, 0, 17,208, 17,224, 17,240, 17, 4, 17, 23, - 5, 29, 80, 8, 8, 0, 25, 80, 14, 22, 1, 0, 1, 0, 63, 50, 63,225, 17, 57, 47,225, 50, 50, 1, 47, 93,225, 50, 16,222, 43, - 50,225, 49, 48, 1, 23, 4, 6, 6, 7, 51, 54, 51, 50, 18, 21, 16, 2, 35, 34, 2, 17, 52, 18, 62, 2, 1, 16, 33, 32, 17, 16, - 35, 34, 6, 4, 16, 33,254,115,205,127, 8, 12,116,220,186,213,250,221,219,250, 62,104,138,202,254,195, 1, 37, 1, 10,240, 95, -177, 6, 35,160, 67, 65,217,210,170,254,249,229,254,252,254,222, 1,104, 1, 63,212, 1, 32,176,106, 57,252,181,253,244, 1,119, - 1,108,127, 0, 0, 3, 0,176, 0, 0, 4, 84, 4, 74, 0, 12, 0, 20, 0, 28, 0, 91,181, 4, 4, 20, 4, 2, 10,184,255,208, - 64, 49, 9, 12, 72, 0, 14, 18, 70, 11, 11, 25, 70, 3, 30, 14, 22, 71, 0, 7,144, 7,160, 7,176, 7, 4, 7, 0, 21, 80,191, - 14, 1,137, 14, 1,120, 14, 1, 14, 14, 22, 13, 80, 8, 15, 22, 80, 7, 21, 0, 63,225, 63,225, 18, 57, 47, 93, 93, 93,225, 57, - 1, 47, 93,225, 50, 16,222,225, 51, 47,225, 18, 57, 49, 48, 43, 93, 1, 21, 4, 21, 20, 6, 35, 33, 17, 33, 32, 17, 20, 1, 17, - 33, 50, 54, 53, 52, 35, 1, 17, 33, 50, 53, 52, 38, 35, 3, 76, 1, 8,212,208,254, 0, 1,254, 1,131,253, 53, 1, 37,134,114, -217,254,188, 1, 62,254,130,128, 2, 70, 7, 35,223,149,168, 4, 74,254,235,197, 1, 64,254,215, 72, 84,141,254, 62,254,168,180, - 92, 72, 0, 1, 1, 35, 0, 0, 4, 14, 4, 74, 0, 5, 0, 46, 64, 28, 2, 71, 31, 3,111, 3,127, 3,143, 3, 4,127, 0,143, - 0, 2, 3, 0, 3, 0, 6, 7, 1, 80, 4, 15, 2, 21, 0, 63, 63,225, 17, 18, 1, 57, 57, 47, 47, 93, 93,225, 49, 48, 1, 33, - 17, 35, 17, 33, 4, 14,253,203,182, 2,235, 3,176,252, 80, 4, 74, 0, 0, 2, 0, 33,254,131, 4,104, 4, 74, 0, 12, 0, 17, - 0,116, 64, 9, 40, 8, 1, 9, 8, 25, 8, 2, 17,184,255,240,179, 15, 24, 72, 17,184,255,224, 64, 53, 11, 14, 72, 17, 7, 15, - 9, 80, 9,128, 9, 2, 18, 9, 1, 7, 9, 7, 9, 5, 11, 1, 70, 0, 0, 13, 71, 79, 11, 95, 11,111, 11, 3, 11, 19, 4, 71, - 5, 15, 78, 9, 15, 17, 11, 6, 80, 3, 1, 4, 4, 3, 21, 0, 63, 51, 47, 51, 16,225, 50, 50, 63,225, 1, 47,225, 16,220, 93, -225, 51, 47,225, 17, 18, 57, 57, 47, 47, 93, 93, 17, 51, 17, 51, 43, 43, 49, 48, 93, 93, 1, 35, 17, 33, 17, 35, 17, 51, 0, 19, - 33, 17, 51, 33, 17, 35, 2, 3, 4,104,176,253, 25,176, 86, 1, 6, 4, 2, 80,151,254,179,250, 36,198,254,131, 1,125,254,131, - 2, 23, 1,133, 2, 43,252, 80, 3, 36,254, 31,254,189,255,255, 0,133,255,236, 4, 72, 4, 94, 2, 6, 0, 72, 0, 0, 0, 1, - 0, 0, 0, 0, 4,205, 4, 74, 0, 17, 1, 8, 64,140,105, 15,121, 15,137, 15, 3, 75, 15, 91, 15, 2, 41, 15, 57, 15, 2, 26, - 15, 1, 9, 15, 1,102, 6,118, 6,134, 6, 3, 68, 6, 84, 6, 2, 38, 6, 54, 6, 2, 21, 6, 1, 6, 6, 1,166, 6, 1, 6, - 3,247, 10, 1, 86, 10,102, 10, 2, 23, 10, 55, 10, 71, 10, 3, 6, 10, 1, 10, 71,169, 15, 1, 15, 0, 24, 11, 1, 9, 11, 1, - 11, 11, 14, 7,104, 4,120, 4,136, 4, 3, 4, 16, 11, 14, 72, 4, 5, 16, 5, 5,136, 8, 1, 8, 16, 11, 16, 72, 8, 16, 7, - 64, 7, 80, 7,144, 7,160, 7,192, 7,208, 7, 7, 7, 16, 7, 7, 19,103, 17,119, 17,135, 17, 3, 17,184,255,240,180, 11, 14, - 72, 17, 16,184,255,240,181, 16, 16,135, 13, 1, 13,184,255,240,180, 11, 16, 72, 13, 14,184,255,240, 64, 18, 14, 14, 18, 9, 12, - 3, 0, 12, 0, 1, 14, 11, 7, 21, 16, 4, 1, 15, 0, 63, 51, 51, 63, 51, 51, 18, 57, 57, 17, 51, 17, 51, 17, 1, 51, 47, 56, - 51, 43, 93, 51, 47, 56, 51, 43, 93, 17, 51, 47, 56, 93, 51, 43, 93, 51, 47, 56, 51, 43, 93, 17, 18, 57, 47, 93, 93, 51, 51, 93, -225, 93, 93, 93, 93, 50, 50, 93, 49, 48, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 1, 17, 51, 17, 1, 51, 1, 1, 35, 1, 17, 35, - 17, 1, 35, 1, 1, 51, 2, 23,159, 1, 94,185,254,145, 1,109,195,254,174,159,254,174,195, 1,111,254,143,184, 2, 53, 2, 21, -253,235, 2, 21,253,235,253,203, 2, 45,253,211, 2, 45,253,211, 2, 53, 2, 21, 0, 1, 0,201,255,236, 4, 8, 4, 94, 0, 32, - 0, 87, 64, 51, 15, 13, 32, 32, 8, 3, 70, 13, 13, 28, 70, 18, 34, 8, 0, 23, 96, 23,112, 23,128, 23, 4, 23, 23, 33, 15, 31, - 80,191, 32, 1,137, 32, 1,120, 32, 1, 32, 32, 10, 26, 80, 24, 21, 22, 7, 5, 80, 10, 16, 0, 63,225, 51, 63, 51,225, 17, 57, - 47, 93, 93, 93,225, 57, 17, 1, 51, 47, 93, 51, 16,222,225, 51, 47,225, 17, 57, 47, 18, 57, 49, 48, 1, 50, 54, 53, 52, 35, 34, - 7, 39, 54, 51, 50, 22, 21, 20, 7, 21, 22, 21, 20, 6, 35, 34, 39, 53, 22, 51, 32, 53, 52, 33, 35, 53, 1,250,172,145,250,134, -175, 63,160,210,205,221,192,227,241,224,235,127,180,186, 1, 27,254,201,150, 2,135, 79, 87,154, 72,147, 76,149,140,186, 57, 11, - 65,207,151,172, 69,166, 86,180,185,153, 0, 1, 0,160, 0, 0, 4, 45, 4, 74, 0, 11, 0,132,185, 0, 9,255,240,179, 18, 24, - 72, 9,184,255,224, 64, 80, 11, 14, 72, 5, 9, 21, 9, 2, 3, 16, 18, 24, 72, 3, 32, 11, 14, 72, 10, 3, 26, 3, 2,139, 8, - 1,105, 8,121, 8, 2,132, 2, 1,102, 2,118, 2, 2, 8,136, 3, 1,105, 3, 1, 3, 6, 70,144, 5,160, 5, 2, 5, 13,135, - 9, 1,102, 9, 1, 9, 2, 0, 70, 0, 11,176, 11, 2, 11, 8, 3, 11, 15, 6, 2, 10, 21, 0, 63, 51, 51, 63, 51, 51, 1, 47, - 93,225, 50, 50, 93, 93, 16,222, 93,225, 50, 93, 93, 50, 49, 48, 0, 93, 93, 93, 93, 1, 93, 43, 43, 93, 43, 43, 1, 17, 7, 1, - 51, 17, 35, 17, 19, 1, 35, 17, 1, 76, 13, 2, 5,233,172, 10,253,254,233, 4, 74,253,100,252, 3,152,251,182, 2,135, 1, 15, -252,106, 4, 74,255,255, 0,160, 0, 0, 4, 45, 6, 23, 2, 38, 1,210, 0, 0, 1, 6, 2, 54, 37, 0, 0, 31, 64, 20, 1, 14, - 17, 38, 1,176, 17, 1,128, 17, 1,112, 17, 1, 36, 17, 12, 10, 4, 37, 1, 43, 93, 93, 93, 53, 0, 43, 53, 0, 0, 1, 0,215, - 0, 0, 4,150, 4, 74, 0, 10, 0,139, 64, 78, 88, 4, 1, 4, 16, 10, 13, 72,230, 2,246, 2, 2,212, 2, 1,150, 2,166, 2, -198, 2, 3,133, 2, 1,118, 2, 1,101, 2, 1, 70, 2, 86, 2, 2, 53, 2, 1, 22, 2, 38, 2, 2, 7, 2, 1, 88, 0, 1, 0, - 16, 10, 13, 72, 6, 10, 1, 9, 5, 1, 0, 1, 1, 4, 3, 12, 10, 2, 6, 71, 0, 7,240, 7, 2, 7,184,255,192, 64, 14, 15, - 20, 72, 7, 5, 10, 2, 3, 7, 3, 21, 8, 0, 15, 0, 63, 50, 63, 51, 23, 57, 1, 47, 43, 93,225, 50, 50, 16,206, 50, 50, 47, - 51, 49, 48, 0, 93, 93, 1, 43, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 43, 93, 1, 51, 1, 1, 35, 1, 17, 35, 17, 51, 17, - 3,145,222,253,241, 2, 54,232,253,221,180,180, 4, 74,253,241,253,197, 2, 45,253,211, 4, 74,253,235, 0, 1, 0, 31,255,242, - 4, 16, 4, 74, 0, 15, 0,206, 64, 11, 12, 32, 20, 24, 72,153, 12,169, 12, 2, 5,184,255,240, 64,111, 21, 24, 72,181, 5, 1, -166, 5, 1,149, 5, 1, 84, 5,100, 5, 2, 50, 5, 66, 5, 2, 4, 5, 20, 5, 36, 5, 3, 4, 32, 12, 24, 72, 9, 4, 25, 4, - 41, 4, 3, 4, 3,153, 3, 1,120, 3,136, 3, 2, 57, 3, 73, 3,105, 3, 3, 3,235, 13,251, 13, 2,202, 13,218, 13, 2,153, - 13,169, 13,185, 13, 3,138, 13, 1, 13, 32, 13, 16, 72, 25, 13, 41, 13, 57, 13, 3, 8, 13, 1, 13,192, 14,208, 14, 2,161, 14, - 1, 16, 14, 32, 14, 48, 14, 3, 14,184,255,192, 64, 25, 15, 18, 72, 14, 14, 8, 1, 71,143, 0, 1, 0, 17, 8, 3, 80, 14, 15, - 11, 79, 9, 6, 22, 0, 21, 0, 63, 63, 51,225, 63,225, 1, 47, 16,222, 93,225, 18, 57, 47, 43, 93, 93, 93, 51, 93, 93, 43, 93, - 93, 93, 93, 51, 93, 93, 93, 17, 51, 93, 43, 49, 48, 93, 93, 93, 93, 93, 93, 43, 93, 43, 33, 35, 17, 33, 2, 2, 35, 34, 39, 53, - 22, 51, 50, 18, 19, 33, 4, 16,182,254,172, 37,178,180, 62, 30, 21, 28,111,135, 36, 2,166, 3,176,254, 19,254, 47, 12,131, 6, - 1,219, 1,244, 0, 1, 0,115, 0, 0, 4, 90, 4, 74, 0, 24, 0,187, 64, 27, 24, 8, 72, 8, 2, 23, 7, 71, 7, 2,234, 8, -250, 8, 2, 8, 8, 17, 20, 72, 8,229, 7,245, 7, 2, 7,184,255,248, 64, 55, 17, 20, 72, 7, 18, 18, 13,218, 23,234, 23,250, - 23, 3, 23, 16, 17, 21, 72, 92, 23,108, 23,124, 23, 3, 58, 23, 74, 23, 2, 25, 23, 41, 23, 2, 23, 1, 73,176, 0, 1, 15, 0, - 1, 0, 26,213, 15,229, 15,245, 15, 3, 15,184,255,240, 64, 48, 17, 21, 72, 83, 15, 99, 15,115, 15, 3, 53, 15, 69, 15, 2, 22, - 15, 38, 15, 2, 15, 12, 73, 0, 13, 16, 13, 64, 13, 80, 13,112, 13,128, 13, 6, 13, 2, 11, 11, 23, 14, 15, 18, 8, 1, 13, 21, - 0, 63, 51, 51, 51, 63, 51, 51, 17, 51, 1, 47, 93,225, 50, 93, 93, 93, 43, 93, 16,222, 93, 93,225, 50, 93, 93, 93, 43, 93, 18, - 57, 61, 47, 51, 43, 93, 51, 43, 93, 49, 48, 93, 93, 33, 35, 17, 6, 7, 6, 7, 3, 35, 3, 38, 39, 17, 35, 17, 51, 19, 22, 23, - 54, 55, 54, 55, 19, 51, 4, 90,151, 8, 25, 22, 13,213,135,213, 8, 60,151,211,215, 25, 48, 5, 48, 10, 11,219,207, 3,129, 27, -100, 85, 38,253,121, 2,135, 25,225,252,127, 4, 74,253,112, 77,191, 13,178, 39, 34, 2,148, 0, 0, 1, 0,160, 0, 0, 4, 45, - 4, 74, 0, 11, 0, 63, 64, 38, 2, 6, 71,144, 5,160, 5, 2, 5, 13, 1, 9, 71, 0, 10,176, 10, 2, 10, 8, 80,191, 1, 1, -137, 1, 1,120, 1, 1, 1, 1, 10, 5, 21, 3, 0, 15, 0, 63, 50, 63, 51, 57, 47, 93, 93, 93,225, 1, 47, 93,225, 50, 16,222, - 93,225, 50, 49, 48, 1, 17, 33, 17, 51, 17, 35, 17, 33, 17, 35, 17, 1, 86, 2, 33,182,182,253,223,182, 4, 74,254, 57, 1,199, -251,182, 1,233,254, 23, 4, 74,255,255, 0,115,255,236, 4, 88, 4, 94, 2, 6, 0, 82, 0, 0, 0, 1, 0,160, 0, 0, 4, 45, - 4, 74, 0, 7, 0, 41, 64, 24, 5, 71,144, 4,160, 4, 2, 4, 9, 0, 71, 0, 1,176, 1, 2, 1, 7, 80, 2, 15, 5, 0, 21, - 0, 63, 50, 63,225, 1, 47, 93,225, 16,222, 93,225, 49, 48, 33, 35, 17, 33, 17, 35, 17, 33, 1, 86,182, 3,141,182,253,223, 4, - 74,251,182, 3,176, 0,255,255, 0,158,254, 20, 4, 68, 4, 94, 2, 6, 0, 83, 0, 0,255,255, 0,172,255,236, 4, 37, 4, 94, - 2, 6, 0, 70, 0, 0, 0, 1, 0,121, 0, 0, 4, 82, 4, 74, 0, 7, 0, 60, 64, 37,159, 0,175, 0, 2, 0, 0, 2, 71, 3, -224, 5, 1, 5, 5, 16, 3,144, 3,160, 3,192, 3,208, 3, 5, 3, 3, 8, 9, 1, 5, 80, 6, 15, 2, 21, 0, 63, 63,225, 50, - 17, 18, 1, 57, 47, 93, 51, 47, 93, 16,225, 50, 47, 93, 49, 48, 1, 33, 17, 35, 17, 33, 53, 33, 4, 82,254,111,183,254,111, 3, -217, 3,176,252, 80, 3,176,154,255,255, 0, 82,254, 20, 4,121, 4, 74, 2, 6, 0, 92, 0, 0, 0, 3, 0, 74,254, 20, 4,129, - 6, 20, 0, 13, 0, 18, 0, 23, 0, 93, 64, 59, 20, 0, 86, 5,102, 5, 2, 71, 5, 1, 5, 73, 14, 11, 6, 6, 9, 22, 73, 15, - 2, 1, 2, 25, 17, 73, 80, 9,144, 9,160, 9,192, 9,208, 9, 5, 47, 9, 63, 9, 2, 9, 12, 0, 19, 15, 80, 0, 11, 16, 20, - 14, 80, 4, 7, 22, 5, 27, 0, 63, 63, 51,225, 50, 63, 51,225, 50, 63, 1, 47, 93, 93,225, 16,222, 93,225, 17, 57, 47, 51, 51, -225, 93, 93, 50, 50, 49, 48, 1, 4, 17, 16, 5, 17, 35, 17, 36, 17, 16, 37, 17, 51, 3, 17, 4, 17, 16, 1, 17, 36, 17, 16, 2, -182, 1,203,254, 53,157,254, 49, 1,207,157,157,254,217, 1,196, 1, 35, 4, 90, 50,253,255,253,243, 42,254, 36, 1,220, 45, 2, - 10, 2, 10, 41, 1,186,250,115, 3, 60, 29,254,129,254,126, 3, 28,252,198, 33, 1,127, 1,121,255,255, 0, 96, 0, 0, 4,106, - 4, 74, 2, 6, 0, 91, 0, 0, 0, 1, 0,152,254,131, 4,156, 4, 74, 0, 11, 0, 56, 64, 32, 1, 71, 0, 0, 7, 71,111, 10, -127, 10,143, 10, 3, 10, 13, 6, 71, 0, 3, 1, 3, 8, 4, 15, 10, 6, 80, 3, 1, 1, 3, 21, 0, 63, 51, 47, 16,225, 50, 63, - 51, 1, 47, 93,225, 16,220, 93,225, 51, 47,225, 49, 48, 1, 35, 17, 33, 17, 51, 17, 33, 17, 51, 17, 51, 4,156,176,252,172,182, - 1,248,182,160,254,131, 1,125, 4, 74,252, 80, 3,176,252, 80, 0, 1, 0,152, 0, 0, 4, 37, 4, 74, 0, 16, 0, 47, 64, 25, - 5, 9, 71,144, 8, 1, 8, 18, 1, 71, 0, 15, 1, 15, 10, 5, 3, 80, 12, 12, 8, 21, 6, 0, 15, 0, 63, 50, 63, 57, 47,225, - 50, 50, 1, 47, 93,225, 16,222, 93,225, 50, 49, 48, 1, 17, 20, 51, 50, 55, 17, 51, 17, 35, 17, 6, 35, 34, 38, 53, 17, 1, 78, -205,171,169,182,182,181,200,160,186, 4, 74,254,102,174,115, 1,213,251,182, 1,233,127,175,139, 1,166, 0, 1, 0,125, 0, 0, - 4, 82, 4, 74, 0, 11, 0, 90, 64, 63, 70, 0, 86, 0,102, 0, 3, 0, 73, 9, 9, 5, 55, 1,247, 1, 2, 1, 73,192, 4,208, - 4, 2, 15, 4, 63, 4, 2, 4, 13, 56, 8,248, 8, 2, 8, 73, 0, 5, 16, 5, 48, 5, 64, 5, 80, 5,144, 5,160, 5, 7, 5, - 0, 8, 80, 5, 21, 10, 6, 2, 15, 0, 63, 51, 51, 63,225, 50, 1, 47, 93,225, 93, 16,222, 93, 93,225, 93, 17, 57, 47,225, 93, - 49, 48, 37, 51, 17, 51, 17, 33, 17, 51, 17, 51, 17, 51, 2,184,248,162,252, 43,162,248,161,154, 3,176,251,182, 4, 74,252, 80, - 3,176, 0, 1, 0,109,254,131, 4,184, 4, 74, 0, 15, 0,109, 64, 73, 7, 73, 6, 6, 4, 70, 0, 86, 0,102, 0, 3, 0, 73, - 13, 13, 9, 55, 1,247, 1, 2, 1, 73,239, 4,255, 4, 2,192, 4, 1, 15, 4, 63, 4, 2, 4, 17, 56, 12,248, 12, 2, 12, 73, - 16, 9, 48, 9, 64, 9, 80, 9,144, 9,160, 9, 6, 9, 4, 0, 12, 80, 9, 7, 7, 9, 21, 14, 10, 2, 15, 0, 63, 51, 51, 63, - 51, 47, 16,225, 50, 50, 1, 47, 93,225, 93, 16,220, 93, 93, 93,225, 93, 17, 57, 47,225, 93, 17, 51, 47,225, 49, 48, 37, 51, 17, - 51, 17, 51, 17, 35, 17, 33, 17, 51, 17, 51, 17, 51, 2,168,248,162,118,161,252, 86,161,248,162,154, 3,176,252, 80,253,233, 1, -125, 4, 74,252, 80, 3,176, 0, 0, 2, 0, 43, 0, 0, 4,131, 4, 74, 0, 10, 0, 18, 0, 67, 64, 41, 0, 12, 71,176, 6,192, - 6,208, 6, 3, 6, 6, 8, 15, 73, 3, 20,207, 8,223, 8,239, 8, 3, 8, 11, 80,191, 0, 1, 0, 0, 12, 8, 80, 9, 15, 12, - 80, 6, 21, 0, 63,225, 63,225, 18, 57, 47, 93,225, 1, 47, 93, 16,222,225, 17, 57, 47, 93,225, 50, 49, 48, 1, 51, 32, 17, 16, - 33, 33, 17, 33, 53, 33, 17, 17, 51, 50, 53, 52, 38, 35, 2, 74,153, 1,160,254, 92,254,180,254,152, 2, 31,137,254,118,140, 2, -135,254,201,254,176, 3,176,154,253,164,254,168,172, 90, 82, 0, 0, 3, 0,113, 0, 0, 4, 90, 4, 74, 0, 8, 0, 16, 0, 20, - 0, 99, 64, 66, 73, 13, 89, 13,105, 13, 3, 13, 73, 96, 3,112, 3,128, 3, 3, 6, 3, 1, 3, 3, 6, 55, 18,247, 18, 2, 18, - 73, 56, 17, 1, 17, 22, 0, 56, 10,248, 10, 2, 10, 73, 55, 6, 1, 0, 6, 16, 6, 2, 6, 9, 80,191, 0, 1, 0, 0, 19, 7, - 15, 10, 80, 18, 6, 21, 0, 63, 51,225, 63, 51, 57, 47, 93,225, 1, 47, 93, 93,225, 93, 50, 16,222, 93,225, 93, 17, 57, 47, 93, - 93,225, 93, 49, 48, 1, 51, 32, 17, 16, 33, 33, 17, 51, 17, 17, 51, 50, 53, 52, 38, 35, 1, 35, 17, 51, 1, 18,134, 1,159,254, - 92,254,222,161,138,254,118,140, 2,194,162,162, 2,135,254,201,254,176, 4, 74,253,164,254,168,172, 90, 82,254, 18, 4, 74, 0, - 0, 2, 0,217, 0, 0, 4, 68, 4, 74, 0, 8, 0, 16, 0, 62, 64, 18, 13, 70,239, 3,255, 3, 2, 3, 18, 0, 10, 71, 0, 6, -240, 6, 2, 6,184,255,192, 64, 17, 15, 20, 72, 6, 9, 80,191, 0, 1, 0, 0, 7, 15, 10, 80, 6, 21, 0, 63,225, 63, 57, 47, - 93,225, 1, 47, 43, 93,225, 50, 16,222, 93,225, 49, 48, 1, 33, 32, 17, 16, 33, 33, 17, 51, 17, 17, 33, 50, 53, 52, 38, 35, 1, -143, 1, 21, 1,160,254, 92,254, 57,182, 1, 4,254,118,140, 2,135,254,201,254,176, 4, 74,253,164,254,168,172, 90, 82, 0, 1, - 0,184,255,236, 4, 37, 4, 94, 0, 22, 0,105,182, 54, 1, 1, 57, 12, 1, 20,184,255,224,179, 9, 12, 72, 16,184,255,224, 64, - 49, 9, 12, 72, 7, 7, 0, 8, 5, 72,144, 18, 1, 18, 24, 13, 0, 0,128, 0, 2, 0, 0, 23, 6, 81, 47, 7,191, 7, 2,137, - 7, 1,120, 7, 1, 7, 7, 15, 3, 81, 1, 21, 22, 12, 10, 81, 15, 16, 0, 63,225, 51, 63, 51,225, 17, 57, 47, 93, 93, 93,225, - 17, 1, 51, 47, 93, 51, 16,222, 93,225, 50, 18, 57, 47, 49, 48, 43, 43, 0, 93, 93, 55, 53, 22, 51, 32, 19, 33, 53, 33, 2, 33, - 34, 7, 39, 54, 51, 32, 0, 17, 16, 0, 33, 34,190,163,153, 1, 95, 17,253,230, 2, 24, 27,254,175,108,154, 62,153,179, 1, 11, - 1, 22,254,226,254,247,187, 41,160, 62, 1, 92,154, 1, 61, 57,158, 59,254,220,254,229,254,241,254,220, 0, 2, 0,123,255,236, - 4,141, 4, 94, 0, 15, 0, 27, 0,102, 64, 33, 25, 73, 0,127, 7,143, 7,207, 7,223, 7, 4, 7, 7, 3, 19, 73, 12, 64, 9, - 17, 72, 12, 29, 6, 56, 2,248, 2, 2, 2, 73, 3,184,255,192, 64, 30, 9, 17, 72, 3, 1, 80,191, 6, 1,137, 6, 1,120, 6, - 1, 6, 6, 9, 16, 80, 14, 22, 22, 80, 9, 16, 4, 15, 3, 21, 0, 63, 63, 63,225, 63,225, 17, 57, 47, 93, 93, 93,225, 1, 47, - 43,225, 93, 50, 16,222, 43,225, 18, 57, 47, 93, 51,225, 49, 48, 1, 35, 17, 35, 17, 51, 17, 51, 18, 33, 50, 18, 17, 16, 33, 32, - 37, 50, 54, 53, 52, 38, 35, 34, 6, 21, 20, 22, 1,178,149,162,162,151, 35, 1, 76,171,191,254,144,254,177, 1, 83,103, 93, 92, -106,104, 93, 93, 1,233,254, 23, 4, 74,254, 57, 1,219,254,216,254,241,253,197,151,195,225,218,198,192,224,221,199, 0, 0, 2, - 0,115, 0, 0, 4, 10, 4, 74, 0, 12, 0, 19, 0,111, 64, 36, 2, 8, 15, 18, 72, 41, 2, 1, 24, 2, 1, 9, 2, 1, 2, 12, - 4, 13, 10, 71,127, 9,143, 9, 2, 9, 21, 87, 0,119, 0,135, 0, 3, 0, 1,184,255,240, 64, 32,175, 1, 1, 1, 1, 55, 17, - 1, 17, 71, 0, 4,144, 4,160, 4, 3, 4, 2, 7, 12, 80, 19, 19, 0, 15, 80, 7, 15, 10, 0, 21, 0, 63, 50, 63,225, 18, 57, - 47,225, 17, 57, 1, 47, 93,225, 93, 51, 47, 93, 56, 51, 93, 16,222, 93,225, 50, 17, 57, 57, 93, 93, 93, 43, 49, 48, 33, 35, 1, - 38, 53, 52, 54, 51, 33, 17, 35, 17, 33, 37, 17, 33, 34, 21, 20, 51, 1, 57,198, 1, 35,234,204,173, 1,229,182,254,227, 1, 29, -254,217,211,238, 1,205, 67,248,150,172,251,182, 1,176,154, 1,102,172,186, 0,255,255, 0,133,255,236, 4, 72, 5,217, 2, 38, - 0, 72, 0, 0, 1, 6, 0,106, 18, 0, 0, 23, 64, 13, 3, 2, 27, 17, 38, 3, 2, 17, 29, 33, 11, 0, 37, 1, 43, 53, 53, 0, - 43, 53, 53, 0, 0, 1, 0, 4,254, 20, 4, 45, 6, 20, 0, 34, 0, 98, 64, 58, 22, 31, 13, 0, 0, 13, 5, 71,144, 31,160, 31, - 2, 31, 36, 20, 24, 25, 3, 12, 71, 17, 0, 13,176, 13, 2, 13, 3, 80, 33, 27, 25, 8, 80, 28, 23, 15, 79, 16, 20, 16, 0, 28, - 16, 28, 32, 28, 3, 28, 16, 28, 16, 13, 18, 0, 13, 21, 0, 63, 63, 18, 57, 57, 47, 47, 93, 17, 51, 16,225, 50, 16,225, 51, 63, -237, 1, 47, 93, 51,225, 23, 50, 16,222, 93,225, 17, 57, 47, 17, 18, 57, 49, 48, 1, 53, 22, 51, 50, 53, 17, 16, 35, 34, 6, 21, - 17, 35, 17, 35, 53, 51, 53, 51, 21, 33, 21, 33, 21, 7, 51, 54, 51, 32, 17, 17, 16, 33, 34, 2,133, 54, 61,127,236,162,147,182, -156,156,182, 1,123,254,133, 8, 10,106,228, 1,135,254,221, 81,254, 45,148, 21,170, 3, 68, 1, 4,187,211,253,240, 4,213,137, -182,182,137,184,144,168,254,111,252,190,254,178,255,255, 1, 35, 0, 0, 4, 14, 6, 33, 2, 38, 1,205, 0, 0, 1, 6, 0,118, -104, 0, 0, 19, 64, 11, 1, 12, 17, 38, 1, 54, 6, 9, 3, 0, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,172,255,236, 4, 37, - 4, 94, 0, 22, 0, 93, 64, 58, 54, 1, 1, 57, 12, 1, 11, 20, 27, 20, 2, 11, 16, 27, 16, 2, 7, 7, 18, 0,143, 13, 1, 13, - 24, 5, 8, 72, 0, 18, 1, 18, 8, 81, 47, 5,191, 5, 2,137, 5, 1,120, 5, 1, 5, 5, 10, 3, 81, 1, 21, 16, 10, 81, 12, - 15, 22, 0, 63, 51,225, 63, 51,225, 18, 57, 47, 93, 93, 93,225, 1, 47, 93,225, 50, 16,206, 93, 50, 17, 57, 47, 49, 48, 93, 93, - 0, 93, 93, 1, 7, 38, 35, 32, 3, 33, 21, 33, 18, 33, 50, 55, 21, 6, 35, 32, 0, 17, 16, 0, 33, 50, 4, 37, 62,150,112,254, -165, 30, 2, 25,253,229, 20, 1, 93,153,162,133,186,254,247,254,226, 1, 35, 1, 12,178, 4, 35,158, 57,254,195,154,254,164, 62, -160, 61, 1, 36, 1, 15, 1, 27, 1, 36,255,255, 0,203,255,236, 4, 2, 4, 94, 2, 6, 0, 86, 0, 0,255,255, 0,197, 0, 0, - 4, 51, 6, 14, 2, 6, 0, 76, 0, 0,255,255, 0,197, 0, 0, 4, 51, 5,217, 2, 38, 0,243, 0, 0, 1, 6, 0,106, 0, 0, - 0, 25,182, 2, 1, 14, 17, 38, 2, 1,184,255,234,180, 16, 20, 7, 5, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,135, -254, 20, 3, 86, 6, 14, 2, 6, 0, 77, 0, 0, 0, 2, 0, 0,255,242, 4,156, 4, 74, 0, 22, 0, 30, 0,121, 64, 78,216, 9, -232, 9,248, 9, 3, 9, 16, 17, 21, 72,122, 9, 1, 9, 16, 9, 14, 72, 9, 8, 8, 20, 24, 18, 24, 72, 20, 16, 9, 17, 72, 20, - 21, 0, 24, 71, 6, 96, 21, 1, 21, 6, 21, 6, 14, 27, 73,207, 3,223, 3, 2, 3, 32, 0, 14, 1, 14, 23, 80, 0, 0, 17, 8, - 80, 21, 15, 17, 79, 15, 12, 22, 24, 80, 6, 21, 0, 63,225, 63, 51,225, 63,225, 18, 57, 47,225, 1, 47, 93, 16,214, 93,225, 17, - 57, 57, 47, 47, 93, 16,225, 50, 17, 51, 43, 43, 51, 17, 51, 43, 49, 48, 93, 43, 93, 1, 51, 32, 17, 16, 33, 35, 17, 35, 2, 2, - 6, 35, 34, 39, 53, 22, 51, 50, 54, 18, 19, 33, 17, 17, 51, 50, 53, 52, 38, 35, 2,201, 51, 1,160,254, 92,209,186, 33, 52, 92, - 96, 62, 30, 22, 27, 41, 49, 45, 35, 1,238, 55,254,118,140, 2,135,254,201,254,176, 3,176,254, 38,254,135,107, 12,131, 6, 84, - 1,126, 1,253,253,164,254,168,172, 90, 82, 0, 0, 2, 0,106, 0, 0, 4,172, 4, 74, 0, 16, 0, 24, 0, 86, 64, 25, 5, 56, - 18,248, 18, 2, 18, 73, 2, 11, 11, 15, 21, 73, 8, 26, 1, 56, 14,248, 14, 2, 14, 73, 15,184,255,192, 64, 23, 10, 13, 72, 15, - 15, 21, 17, 13, 80, 5,191, 1, 1, 1, 1, 0, 18, 80, 11, 21, 3, 0, 15, 0, 63, 50, 63,225, 17, 57, 47, 93, 51,225, 50, 63, - 1, 47, 43,225, 93, 50, 16,214,225, 17, 57, 47, 51,225, 93, 50, 49, 48, 1, 17, 33, 17, 51, 17, 51, 32, 17, 16, 33, 35, 17, 33, - 17, 35, 17, 1, 17, 51, 50, 53, 52, 38, 35, 1, 12, 1, 43,162, 51, 1,160,254, 92,209,254,213,162, 2,111, 55,254,118,140, 4, - 74,254, 57, 1,199,254, 61,254,201,254,176, 1,233,254, 23, 4, 74,253,164,254,168,172, 90, 82,255,255, 0, 4, 0, 0, 4, 45, - 6, 20, 2, 6, 0,233, 0, 0,255,255, 0,215, 0, 0, 4,139, 6, 33, 2, 38, 0,250, 0, 0, 1, 6, 0,118, 90, 0, 0, 19, - 64, 11, 1, 21, 17, 38, 1, 15, 15, 18, 10, 5, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82,254, 20, 4,121, 6, 23, 2, 38, - 0, 92, 0, 0, 1, 6, 2, 54, 10, 0, 0, 19, 64, 11, 1, 25, 17, 38, 1, 10, 28, 23, 0, 9, 37, 1, 43, 53, 0, 43, 53, 0, - 0, 1, 0,160,254,131, 4, 45, 4, 74, 0, 11, 0, 68, 64, 43, 6, 71, 0, 7, 16, 7,176, 7,192, 7,208, 7, 5, 7, 7, 9, - 1, 71,144, 4,160, 4, 2, 4, 13, 0, 71, 0, 9,176, 9, 2, 9, 7, 7, 5, 0, 80, 9, 21, 10, 2, 15, 0, 63, 51, 63,225, - 51, 51, 47, 1, 47, 93,225, 16,222, 93,225, 17, 57, 47, 93,225, 49, 48, 37, 33, 17, 51, 17, 33, 17, 35, 17, 33, 17, 51, 1, 86, - 2, 33,182,254,158,183,254,140,182,154, 3,176,251,182,254,131, 1,125, 4, 74, 0, 1, 0,246, 0, 0, 4, 35, 6,227, 0, 7, - 0, 62, 64, 15, 0,251, 3, 64, 18, 22, 72, 3, 9, 5, 90, 0, 6, 1, 6,184,255,192,179, 21, 24, 72, 6,184,255,192, 64, 13, - 13, 16, 72, 6, 4, 95, 7, 1, 1, 7, 3, 5, 18, 0, 63, 63, 51, 47, 16,225, 1, 47, 43, 43, 93,225, 16,222, 43,225, 49, 48, - 1, 17, 51, 17, 33, 17, 35, 17, 3,115,176,253,141,186, 5,182, 1, 45,254, 45,250,240, 5,182, 0, 1, 1, 35, 0, 0, 3,250, - 5,137, 0, 7, 0, 45, 64, 27, 5, 71,111, 0,127, 0,143, 0, 3, 0, 9, 2, 71,127, 3,143, 3, 2, 3, 6, 6, 1, 79, 4, - 15, 2, 21, 0, 63, 63,225, 51, 47, 1, 47, 93,225, 16,222, 93,225, 49, 48, 1, 33, 17, 35, 17, 33, 17, 51, 3,250,253,223,182, - 2, 33,182, 3,193,252, 63, 4, 74, 1, 63, 0,255,255, 0, 2, 0, 0, 4,203, 7,115, 2, 38, 0, 58, 0, 0, 1, 7, 0, 67, -255,175, 1, 82, 0, 21,180, 1, 26, 5, 38, 1,184,255,175,180, 29, 26, 18, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255,255,252, - 0, 0, 4,209, 6, 33, 2, 38, 0, 90, 0, 0, 1, 6, 0, 67,142, 0, 0, 21,180, 1, 26, 17, 38, 1,184,255,142,180, 29, 26, - 7, 24, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 2, 0, 0, 4,203, 7,115, 2, 38, 0, 58, 0, 0, 1, 7, 0,118, 0, 82, - 1, 82, 0, 19, 64, 11, 1, 32, 5, 38, 1, 82, 26, 29, 18, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255,255,252, 0, 0, 4,209, - 6, 33, 2, 38, 0, 90, 0, 0, 1, 6, 0,118,104, 0, 0, 19, 64, 11, 1, 32, 17, 38, 1,104, 26, 29, 7, 24, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 0, 2, 0, 0, 4,203, 7, 43, 2, 38, 0, 58, 0, 0, 1, 7, 0,106, 0, 4, 1, 82, 0, 23, 64, 13, - 2, 1, 30, 5, 38, 2, 1, 3, 32, 36, 18, 8, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255,255,252, 0, 0, 4,209, 5,217, - 2, 38, 0, 90, 0, 0, 1, 6, 0,106,255, 0, 0, 25,182, 2, 1, 30, 17, 38, 2, 1,184,255,254,180, 32, 36, 7, 24, 37, 1, - 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 33, 0, 0, 4,170, 7,115, 2, 38, 0, 60, 0, 0, 1, 7, 0, 67,255,142, 1, 82, - 0, 21,180, 1, 9, 5, 38, 1,184,255,143,180, 12, 9, 7, 2, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82,254, 20, 4,121, - 6, 33, 2, 38, 0, 92, 0, 0, 1, 6, 0, 67,151, 0, 0, 21,180, 1, 23, 17, 38, 1,184,255,152,180, 26, 23, 0, 9, 37, 1, - 43, 53, 0, 43, 53, 0, 0, 1, 0,184, 1,209, 4, 20, 2,121, 0, 3, 0, 24, 64, 11, 2, 2, 5, 0, 0, 1, 0, 0,185, 1, -189, 0, 63,225, 1, 47, 93, 17, 51, 47, 49, 48, 19, 53, 33, 21,184, 3, 92, 1,209,168,168, 0, 0, 1,255,250, 1,209, 4,211, - 2,121, 0, 3, 0, 19,183, 2, 2, 5, 0, 0,185, 1,189, 0, 63,225, 1, 47, 17, 51, 47, 49, 48, 3, 53, 33, 21, 6, 4,217, - 1,209,168,168, 0, 1,255,250, 1,209, 4,211, 2,121, 0, 3, 0, 19,183, 2, 2, 5, 0, 0,185, 1,189, 0, 63,225, 1, 47, - 17, 51, 47, 49, 48, 3, 53, 33, 21, 6, 4,217, 1,209,168,168, 0, 2,255,236,254, 49, 4,225,255,211, 0, 3, 0, 7, 0, 60, - 64, 37, 4, 0, 9, 5, 1,247, 6, 1, 38, 6, 1, 23, 6, 1, 6,186, 32, 5,240, 5, 2, 5,248, 1, 1, 41, 1, 1, 24, 1, - 1, 1,186,239, 2, 1, 2, 0, 47, 93,225, 93, 93, 93, 47, 93,225, 93, 93, 93, 1, 47, 51, 16,196, 50, 49, 48, 5, 33, 53, 33, - 17, 33, 53, 33, 4,225,251, 11, 4,245,251, 11, 4,245,184,139,254, 94,139, 0, 0, 1, 1,190, 3,193, 3, 12, 5,182, 0, 6, - 0, 42, 64, 26, 22, 6, 38, 6,230, 6,246, 6, 4, 6,152, 4,153,111, 1,191, 1, 2, 1, 1, 7, 8, 6,157, 3,169, 0, 63, -237, 17, 18, 1, 57, 47, 93,237,225, 93, 49, 48, 1, 39, 54, 19, 51, 6, 7, 1,205, 15, 54,123,157, 62, 38, 3,193, 22,206, 1, - 17,255,246, 0, 0, 1, 1,190, 3,193, 3, 12, 5,182, 0, 6, 0, 56, 64, 40, 25, 6, 41, 6,233, 6,249, 6, 4, 6,152, 1, -153, 0, 4, 32, 4, 48, 4,112, 4,128, 4,144, 4,208, 4,224, 4,240, 4, 9, 4, 4, 7, 8, 3,157, 6,169, 0, 63,237, 17, - 18, 1, 57, 47, 93,253,225, 93, 49, 48, 1, 23, 6, 3, 35, 18, 55, 2,254, 14, 55,121,158, 65, 36, 5,182, 22,213,254,246, 1, - 10,235, 0, 1, 1,201,254,248, 3, 2, 0,238, 0, 6, 0, 67, 64, 49, 25, 6, 41, 6,233, 6,249, 6, 4, 6,152, 1,153, 0, - 4, 32, 4, 48, 4,112, 4,128, 4,144, 4,208, 4,224, 4,240, 4, 9, 4, 4, 7, 8, 3,158,209, 6, 1, 31, 6, 47, 6, 63, - 6, 3, 6, 0, 47, 93, 93,237, 17, 18, 1, 57, 47, 93,253,225, 93, 49, 48, 37, 23, 6, 3, 35, 18, 55, 2,244, 14, 55,121,137, - 71, 29,238, 23,213,254,246, 1, 36,210, 0, 1, 1,190, 3,193, 3, 12, 5,182, 0, 6, 0, 40, 64, 24, 22, 0, 38, 0,230, 0, -246, 0, 4, 0,152, 2,153,111, 5, 1, 5, 5, 7, 8, 3,157, 0,169, 0, 63,237, 17, 18, 1, 57, 47, 93,237,225, 93, 49, 48, - 1, 18, 23, 35, 2, 39, 55, 2,168, 40, 60,157,124, 53, 15, 5,182,254,253,242, 1, 18,205, 22, 0, 2, 0,233, 3,193, 3,225, - 5,182, 0, 6, 0, 13, 0, 74, 64, 50, 22, 6, 38, 6,230, 6,246, 6, 4, 6,152, 4,153, 47, 1,127, 1, 2, 1, 1, 22, 13, - 38, 13,230, 13,246, 13, 4, 13,152, 11,153, 0, 8,224, 8,240, 8, 3, 8, 8, 15, 14, 13, 6,157, 10, 3,169, 0, 63, 51,237, - 50, 17, 18, 1, 57, 47, 93,237,225, 93, 51, 47, 93,237,225, 93, 49, 48, 1, 39, 54, 19, 51, 6, 7, 33, 39, 54, 19, 51, 6, 7, - 2,162, 15, 54,123,157, 62, 38,253,123, 15, 54,123,157, 62, 38, 3,193, 22,206, 1, 17,255,246, 22,206, 1, 17,255,246, 0, 2, - 0,233, 3,193, 3,225, 5,182, 0, 6, 0, 13, 0, 92, 64, 65, 25, 13, 41, 13,233, 13,249, 13, 4, 13,152, 8,153, 47, 11,127, - 11, 2, 11, 11, 4, 25, 6, 41, 6,233, 6,249, 6, 4, 6,152, 1,153,224, 4,240, 4, 2,191, 4,207, 4, 2, 0, 4, 64, 4, - 80, 4,112, 4,128, 4, 5, 4, 4, 15, 14, 10, 3,157, 13, 6,169, 0, 63, 51,237, 50, 17, 18, 1, 57, 47, 93, 93, 93,253,225, - 93, 17, 51, 47, 93,253,225, 93, 49, 48, 1, 23, 6, 3, 35, 18, 55, 33, 23, 6, 3, 35, 18, 55, 2, 41, 14, 55,121,158, 65, 36, - 2,133, 14, 55,121,158, 65, 36, 5,182, 22,213,254,246, 1, 10,235, 22,213,254,246, 1, 10,235, 0, 2, 0,244,254,248, 3,215, - 0,238, 0, 6, 0, 13, 0, 93, 64, 64, 25, 13, 41, 13, 2, 13,152, 8,153, 63, 11, 1, 11, 11, 4, 25, 6, 41, 6, 2, 6,152, - 1,153,224, 4,240, 4, 2,191, 4,207, 4, 2, 0, 4, 64, 4, 80, 4,112, 4,128, 4, 5, 4, 4, 15, 14, 10, 3,158, 13,208, - 6, 1, 31, 6, 47, 6, 63, 6, 3, 6, 0, 47, 93, 93, 51,237, 50, 17, 18, 1, 57, 47, 93, 93, 93,253,225, 93, 17, 51, 47, 93, -253,225, 93, 49, 48, 37, 23, 6, 3, 35, 18, 55, 33, 23, 6, 3, 35, 18, 55, 2, 31, 14, 55,121,137, 71, 29, 2,113, 14, 51,125, -137, 71, 29,238, 23,213,254,246, 1, 36,210, 23,197,254,230, 1, 36,210, 0, 1, 0,240, 0, 0, 3,221, 6, 20, 0, 11, 0, 47, - 64, 25, 9, 0, 2,190, 8, 5,159, 3,175, 3, 2, 3, 3, 12, 13, 0, 5,191, 11, 6,254, 8, 0, 2, 21, 0, 63, 63,246, 50, -225, 50, 17, 18, 1, 57, 47, 93, 51, 51,225, 50, 50, 49, 48, 1, 37, 19, 35, 19, 5, 53, 5, 3, 51, 3, 37, 3,221,254,180, 56, -217, 55,254,201, 1, 55, 55,217, 56, 1, 76, 3,221, 31,252, 4, 3,252, 31,180, 30, 1,161,254, 95, 30, 0, 1, 0,229, 0, 0, - 3,231, 6, 20, 0, 21, 0, 55, 64, 28, 19, 16, 2, 4,190, 15, 12, 7, 5, 5, 22, 23, 19, 12,191, 18, 13,194, 15, 0, 8, 1, -191, 7, 2,194, 4, 21, 0, 63,246, 50,225, 50, 63,246, 50,225, 50, 17, 18, 1, 57, 47, 51, 51, 51,225, 50, 50, 50, 49, 48, 1, - 37, 21, 37, 19, 35, 19, 5, 53, 5, 3, 19, 5, 53, 5, 3, 51, 3, 37, 21, 37, 19, 2,156, 1, 75,254,181, 55,217, 55,254,180, - 1, 76, 47, 47,254,180, 1, 76, 55,217, 55, 1, 75,254,181, 47, 1,240, 30,180, 31,254,135, 1,121, 31,180, 30, 1, 34, 1, 19, - 31,180, 30, 1,120,254,136, 30,180, 31,254,237, 0, 1, 1,123, 1,229, 3, 82, 3,242, 0, 9, 0, 42, 64, 28, 16, 8, 80, 8, - 96, 8,144, 8,160, 8,224, 8, 6, 8, 95, 2,111, 2,175, 2, 3, 64, 2, 1, 2, 11, 0, 5, 0, 47,205, 1, 16,222, 93, 93, -205, 93, 49, 48, 1, 50, 17, 20, 6, 35, 34, 38, 53, 16, 2,102,236,127,109,111,124, 3,242,254,250,128,135,134,129, 1, 6, 0, - 0, 3, 0, 78,255,227, 4,127, 0,250, 0, 7, 0, 15, 0, 23, 0, 95, 64, 61, 52, 18, 1, 37, 18, 1, 6, 18, 22, 18, 2, 18, -150, 22, 22, 14, 52, 2, 1, 37, 2, 1, 6, 2, 22, 2, 2, 2,150, 6, 6, 52, 10, 1, 37, 10, 1, 6, 10, 22, 10, 2, 10,150, -224, 14,240, 14, 2, 14, 14, 24, 25, 16, 0, 8,155, 20, 4, 12,168, 0, 63, 51, 51,225, 50, 50, 17, 18, 1, 57, 47, 93,225, 93, - 93, 93, 51, 47,225, 93, 93, 93, 17, 51, 47,225, 93, 93, 93, 49, 48, 55, 50, 21, 20, 35, 34, 53, 52, 33, 50, 21, 20, 35, 34, 53, - 52, 33, 50, 21, 20, 35, 34, 53, 52,205,127,127,127, 2, 24,127,127,127, 2, 25,127,127,127,250,139,140,140,139,139,140,140,139, -139,140,140,139, 0, 7, 0, 4, 0, 0, 4,184, 5,201, 0, 9, 0, 21, 0, 25, 0, 35, 0, 47, 0, 57, 0, 69, 0,180, 64,118, - 67,180, 0, 51, 16, 51, 2, 51, 56, 45,180, 0, 29, 16, 29, 2, 29, 39,180, 25, 22,144, 34,160, 34, 2,111, 34,127, 34,143, 34, - 3,143, 22,159, 22,175, 22,207, 22, 4, 34, 22, 34, 22, 3, 61,180, 15, 56, 1, 56, 71, 23, 24, 24, 3, 13,180, 15, 8, 31, 8, - 2, 8, 19,180, 3, 58, 36,182, 26, 64, 42,182, 53, 31, 26, 22, 25, 24, 23,112, 25,128, 25,192, 25,224, 25,240, 25, 5,175, 23, -191, 23,239, 23,255, 23, 4, 25, 23, 25, 23, 5, 48, 26, 25, 10,182, 0, 16,182, 5, 7, 0, 63,225,212,225, 63, 51, 18, 57, 57, - 47, 47, 93, 93, 17, 51, 17, 51, 16,212, 50,225, 50, 16,225, 50, 1, 47,225,212, 93,225, 17, 51, 47, 51, 16,222, 93,225, 18, 57, - 57, 47, 47, 93, 93, 93, 17, 51,225,212, 93,225, 16,212, 93,225, 49, 48, 1, 34, 38, 53, 16, 51, 50, 22, 21, 16, 39, 50, 54, 53, - 52, 38, 35, 34, 6, 21, 20, 22, 5, 1, 39, 1, 1, 34, 38, 53, 16, 51, 50, 22, 21, 16, 39, 50, 54, 53, 52, 38, 35, 34, 6, 21, - 20, 22, 5, 34, 38, 53, 16, 51, 50, 22, 21, 16, 39, 50, 54, 53, 52, 38, 35, 34, 6, 21, 20, 22, 1, 4,114,126,244,113,127,242, - 63, 42, 47, 58, 59, 47, 43, 2, 32,253, 70, 41, 2,186,254,244,114,125,243,113,127,242, 63, 42, 47, 58, 59, 47, 43, 2, 80,115, -125,244,112,127,241, 63, 41, 44, 60, 60, 47, 44, 3, 92,163,148, 1, 54,161,149,254,201,107,100,104,116, 85, 89,112,104,100,123, -254,225, 98, 1, 33,252, 80,163,148, 1, 54,161,149,254,201,106,101,104,116, 85, 89,112,104,101,106,163,148, 1, 54,162,148,254, -201,106,101,104,114, 87, 88,113,104,101,255,255, 1,240, 3,166, 2,221, 5,182, 2, 6, 0, 10, 0, 0,255,255, 1, 29, 3,166, - 3,176, 5,182, 2, 6, 0, 5, 0, 0, 0, 1, 1,145, 0,115, 3, 59, 3,199, 0, 6, 0, 63, 64, 38, 3,235, 0,236, 4,239, - 2,255, 2, 2,192, 2, 1,159, 2,175, 2, 2,112, 2, 1, 79, 2, 95, 2, 2, 2, 8, 64, 6, 5,238, 1,238, 32, 0, 3,239, - 0, 25, 63, 51, 26,237,237, 51, 1, 26, 24, 16,222, 93, 93, 93, 93, 93, 50,253,225, 49, 48, 1, 1, 23, 3, 19, 7, 1, 1,145, - 1, 54,116,237,237,116,254,202, 2, 41, 1,158, 78,254,164,254,164, 78, 1,155, 0, 1, 1,145, 0,115, 3, 59, 3,199, 0, 6, - 0, 37, 64, 17, 2, 4,236, 3,235, 0, 8, 64, 6, 5,238, 1,238, 32, 0, 3,239, 0, 25, 63, 51, 26,237,237, 51, 1, 26, 24, - 16,222,225,237, 50, 49, 48, 1, 1, 39, 19, 3, 55, 1, 3, 59,254,203,117,238,238,117, 1, 53, 2, 14,254,101, 78, 1, 92, 1, - 92, 78,254, 98,255,255, 0,255,255,227, 3,204, 5,182, 2, 39, 0, 4, 0,231, 0, 0, 1, 7, 0, 4,255, 24, 0, 0, 0, 32, - 64, 21, 3, 2,208, 22, 1,192, 22, 1,176, 22, 1, 64, 22, 1, 48, 22, 1, 32, 22, 1, 22, 17, 93, 93, 93, 93, 93, 93, 53, 53, - 0, 1, 0,170, 0, 0, 4, 33, 5,182, 0, 3, 0, 32, 64, 15, 3, 0, 0, 5, 1, 0, 2, 1, 2, 2, 4, 3, 6, 1, 24, 0, - 63, 63, 17, 1, 51, 47, 93, 51, 17, 51, 47, 50, 49, 48, 1, 1, 35, 1, 4, 33,253, 39,158, 2,217, 5,182,250, 74, 5,182, 0, - 0, 1, 1, 61, 3, 29, 3,143, 5,199, 0, 18, 0, 60, 64, 40, 0,224, 47, 18, 63, 18, 2, 18, 18, 11, 7,224, 16, 8, 32, 8, - 48, 8,128, 8,144, 8,160, 8,224, 8,240, 8, 8, 8, 11, 3,230, 14,222, 9,220, 7, 0,255, 0, 63, 50, 63, 63,225, 50, 1, - 47, 93,225, 50, 51, 47, 93,225, 49, 48, 1, 17, 52, 35, 34, 6, 21, 17, 35, 17, 51, 23, 51, 54, 51, 50, 22, 21, 17, 2,252,127, -100, 72,148,125, 17, 8, 68,139,110,127, 3, 29, 1,157,150,106,119,254,174, 2,153,104,121,130,120,254, 80, 0, 0, 1, 0,129, - 0, 0, 4, 33, 5,182, 0, 17, 0, 96, 64, 58, 2, 4, 16, 16, 5,159, 11,175, 11, 2, 11, 19, 14, 0, 4,110, 9, 7,128, 5, -240, 5, 2, 5, 9, 0,117, 3, 6, 3, 17,116, 14, 47, 14, 95, 14,239, 14,255, 14, 4, 14, 64, 16, 21, 72, 3, 14, 3, 14, 4, - 13,116, 10, 3, 4, 18, 0, 63, 63,225, 18, 57, 57, 47, 47, 43, 93, 16,225, 17, 51, 16,225, 50, 1, 47, 93,198, 51,225, 50, 50, - 16,206, 93, 17, 57, 47, 18, 57, 49, 48, 1, 33, 21, 33, 17, 35, 17, 35, 53, 51, 17, 33, 21, 33, 17, 33, 21, 33, 1,227, 1, 37, -254,219,178,176,176, 2,240,253,194, 2, 23,253,233, 1,143,137,254,250, 1, 6,137, 4, 39,164,253,252,164, 0, 0, 1, 0,119, - 0, 0, 4, 86, 5,201, 0, 35, 0,133, 64, 81, 9, 6, 14,111, 30, 27, 23, 12, 7, 23, 7, 23, 7, 19, 0, 18, 37, 29, 24, 16, - 0, 19, 1, 19, 9, 28,117, 29, 6, 29, 10, 25,117, 24, 14, 24, 15, 29, 31, 29, 63, 29, 79, 29,127, 29,143, 29,175, 29,191, 29, -207, 29, 9,134, 24,150, 24, 2,119, 24, 1,111, 24, 1, 29, 24, 29, 24, 16, 3,115, 1, 34, 7, 20, 16,116, 19, 24, 0, 63,225, - 50, 63, 51,225, 18, 57, 57, 47, 47, 93, 93, 93, 93, 17, 51, 16,225, 50, 17, 51, 16,225, 50, 1, 47, 93, 51, 51, 51, 16,206, 50, - 17, 57, 57, 47, 47, 17, 51, 17, 51, 51,225, 50, 50, 49, 48, 1, 7, 38, 35, 34, 21, 21, 33, 21, 33, 21, 33, 21, 33, 21, 20, 7, - 33, 21, 33, 53, 54, 53, 53, 35, 53, 51, 53, 35, 53, 51, 53, 52, 54, 51, 50, 4, 39, 66,141,131,223, 1,121,254,135, 1,121,254, -135,140, 2,236,252, 33,200,198,198,198,198,217,181,192, 5,121,144, 72,246,192,137,158,137, 19,196, 78,166,154, 49,235, 21,137, -158,137,221,168,201, 0, 0, 3, 0, 82,255,236, 4,166, 5,182, 0, 9, 0, 16, 0, 36, 0,122, 64, 75, 6, 90, 13, 26, 24, 22, -112, 33, 29, 33, 33, 64, 16, 19, 72, 32, 13, 48, 13, 2, 13, 33, 13, 33, 2, 31, 31, 17, 64, 9, 14, 72, 17, 38, 10, 1, 90, 31, - 2, 47, 2, 63, 2, 3, 2, 35,117, 17, 20, 25, 23, 32,117, 25, 26, 28, 3, 29, 29, 0,117, 15, 10, 31, 10, 2, 10, 10, 2, 16, - 96, 3, 6, 2, 24, 0, 63, 63,225, 18, 57, 47, 93,225, 51, 47, 23, 51,225, 50, 63, 51,225, 1, 47, 93,225, 50, 16,206, 43, 50, - 47, 17, 57, 57, 47, 47, 93, 43, 17, 51, 16,225, 50, 50, 16,225, 49, 48, 19, 17, 35, 17, 51, 32, 17, 20, 6, 35, 39, 51, 32, 17, - 16, 33, 35, 1, 21, 6, 35, 34, 17, 17, 35, 53, 55, 55, 51, 21, 51, 21, 35, 17, 20, 51, 50,240,158,205, 1,194,230,226, 41, 41, - 1, 36,254,244, 65, 3,182, 64,102,221,115,115, 65, 86,209,209,113, 62, 2, 57,253,199, 5,182,254, 84,221,244,146, 1, 53, 1, - 35,251,102,125, 32, 1, 26, 1,100, 70, 51,215,211,125,254,164,153, 0, 0, 1, 0, 96,255,236, 4,106, 5,203, 0, 39, 0,106, - 64, 20, 11, 2, 2, 7, 34, 17, 41, 27, 22, 22, 12, 0, 7, 90, 29, 25, 21, 24, 9, 23,184, 1, 7,180, 22, 12, 22, 3, 27,184, - 1, 7, 64, 29, 28, 0, 28, 15, 28, 31, 28, 47, 28, 95, 28,159, 28,223, 28, 6, 22, 28, 22, 28, 14, 37, 95, 32, 4, 14, 95, 19, - 19, 0, 63,225, 63,225, 18, 57, 57, 47, 47, 93, 17, 51, 16,225, 50, 17, 51, 16,225, 50, 1, 47, 51, 51, 51,225, 50, 50, 51, 47, - 51, 16,206, 50, 17, 57, 17, 51, 49, 48, 1, 33, 21, 33, 20, 7, 7, 21, 20, 23, 33, 21, 33, 18, 33, 50, 55, 21, 6, 35, 32, 3, - 35, 53, 51, 39, 55, 35, 53, 51, 18, 0, 51, 50, 23, 7, 38, 35, 34, 6, 1,186, 1,176,254, 66, 1, 1, 2, 1,129,254,145, 73, - 1, 40,136,132,122,160,254, 65, 94,164,148, 2, 2,148,160, 39, 1, 25,219,191,144, 79,122,120,136,194, 3,166,137, 15, 14, 25, - 62, 20, 22,137,254,153, 58,162, 59, 2, 10,137, 38,120,137, 1, 6, 1, 31, 92,146, 74,199, 0, 0, 4, 0, 8,255,248, 4,199, - 5,193, 0, 19, 0, 23, 0, 35, 0, 43, 0,164,185, 0, 34,255,224,179, 9, 13, 72, 32,184,255,224, 64, 30, 9, 13, 72, 28, 32, - 9, 13, 72, 26, 32, 9, 13, 72,102, 42,150, 42,166, 42, 3, 42,180, 27,181, 33, 21, 22, 23, 20, 22,184,255,192, 64, 69, 21, 24, - 72, 20, 64, 21, 24, 72, 22, 20, 22, 20, 15,105, 38,153, 38,169, 38, 3, 38,180, 33, 45, 0, 16, 9, 32, 9, 80, 9,144, 9,160, - 9, 5, 9,102, 5,150, 5,166, 5, 3, 5,180, 15, 40,182, 30,183, 36,182, 24, 25, 23, 6, 21, 24, 9, 7,182, 12,183, 3,182, - 1, 18, 7, 0, 63, 51,225,244,225, 51, 63, 63, 63,225,244,225, 1, 47,225, 93,196, 93, 50, 16,214,225, 93, 18, 57, 57, 47, 47, - 43, 43, 17, 51, 17, 51, 16,244,225, 93, 49, 48, 43, 43, 43, 43, 1, 7, 38, 35, 34, 21, 20, 51, 50, 55, 21, 6, 35, 34, 38, 53, - 52, 54, 51, 50, 5, 1, 35, 1, 19, 34, 38, 53, 52, 54, 51, 50, 22, 21, 20, 6, 39, 50, 53, 52, 35, 34, 21, 20, 2, 20, 32, 82, - 68,198,194,103, 73, 74,108,156,176,180,162, 99, 2, 81,253, 39,157, 2,217, 33,132,170,166,140,131,170,164,139,155,155,158, 5, -156,107, 33,234,229, 33,107, 37,175,163,171,176, 11,250, 74, 5,182,250, 66,185,157,161,181,187,155,158,184,108,234,231,231,234, - 0, 2, 0,227,255,236, 3,231, 5,203, 0, 25, 0, 33, 0,106, 64, 62, 26, 22,110, 6, 12, 6, 9, 9, 6, 28,112, 19, 0,112, - 1, 63, 6, 1, 0, 6, 1, 63, 19,159, 19,175, 19,191, 19, 4, 32, 1, 1, 6, 19, 1, 1, 19, 6, 3, 34, 35, 9, 7, 21,118, - 12, 10, 26, 26, 24, 30,118, 16, 6, 24,117, 3, 1, 1, 3, 25, 0, 63, 51, 47, 16,225, 63,225, 18, 57, 47, 51, 51,225, 50, 50, - 17, 18, 1, 23, 57, 47, 47, 47, 93, 93, 93, 93, 16,225, 16,225, 17, 51, 47, 17, 51, 16,225, 50, 49, 48, 1, 51, 2, 33, 34, 38, - 53, 53, 6, 7, 53, 54, 55, 17, 52, 54, 51, 50, 22, 21, 16, 5, 17, 20, 51, 50, 1, 54, 17, 52, 35, 34, 6, 21, 3,117,114, 18, -254,244,139,154, 86,107, 72,121,137,133,110,126,254,172,145,144,254,223,207,103, 53, 51, 1, 76,254,160,183,173,231, 31, 26,121, - 19, 40, 1,238,140,159,165,136,254,157,186,254,211,221, 2,139,121, 1, 29,188, 81,107, 0, 4, 0, 25, 0, 0, 4,184, 5,182, - 0, 15, 0, 26, 0, 38, 0, 42, 0,240, 64, 21, 20, 25, 36, 25, 2, 20, 23, 36, 23, 2, 27, 20, 43, 20, 2, 27, 18, 43, 18, 2, - 9,184,255,208, 64, 40, 18, 21, 72,116, 9,132, 9, 2, 86, 9,102, 9, 2, 55, 9, 71, 9, 2, 1, 48, 18, 21, 72,123, 1,139, - 1, 2, 89, 1,105, 1, 2, 56, 1, 72, 1, 2, 39, 36,184, 1, 3,179, 19, 11, 1, 14,184, 1, 3, 64, 24, 15,111, 19,159, 19, -175, 19,207, 19,223, 19, 5, 19, 15, 19, 15, 7, 42, 64, 21, 24, 72, 42, 30,184, 1, 3,180, 24, 44, 9, 3, 6,184, 1, 3, 64, - 49, 7, 27,182, 16, 33,182, 21, 15, 16, 31, 16, 2, 16, 21, 16, 21, 14, 75, 2, 91, 2, 2, 2, 64, 9, 12, 72, 2, 8, 3,133, - 40, 1, 86, 40,102, 40,118, 40, 3, 40, 97, 39, 68, 10, 84, 10, 2, 10,184,255,192,182, 9, 12, 72, 10, 1, 7, 18, 0, 63, 51, - 51, 43, 93, 51,224, 93, 93, 63, 51, 43, 93, 51, 57, 57, 47, 47, 93, 16,225, 16,225, 1, 47,225, 50, 50, 16,214,225,196, 43, 18, - 57, 57, 47, 47, 93, 16,225, 50, 50, 16,225,196, 49, 48, 93, 93, 93, 43, 93, 93, 93, 43, 93, 93, 93, 93, 33, 35, 1, 35, 22, 21, - 17, 35, 17, 51, 1, 51, 2, 53, 17, 51, 1, 34, 38, 53, 16, 51, 50, 22, 21, 20, 6, 39, 50, 54, 53, 52, 38, 35, 34, 6, 21, 20, - 22, 3, 53, 33, 21, 2,137,174,254,187, 9, 19,135,176, 1, 67, 6, 14,133, 1, 49,114,135,253,114,136,132,120, 63, 48, 48, 63, - 64, 48, 48,147, 1,158, 4,145,253,164,253, 16, 5,182,251,117, 1, 47,100, 2,248,251, 92,187,162, 1, 90,183,163,168,181,121, -115,113,114,109,110,113,112,116,254,117,147,147, 0, 2, 0, 0, 2,229, 4,156, 5,182, 0, 7, 0, 25, 0,107, 64, 63, 24, 17, - 20,196, 19, 15, 9, 12,196, 13,191, 13, 1, 6, 13, 6, 13, 1, 31, 19, 1, 19, 27,182, 3,198, 3, 2,155, 3,171, 3, 2,122, - 3,138, 3, 2, 3, 0,196, 0, 1, 1, 1, 7, 3,200, 4, 16, 9, 24, 3, 4, 20, 13, 8, 1, 1, 17, 14, 4, 3, 0, 63, 51, - 51, 51, 47, 51, 51, 51, 18, 23, 57, 16,225, 50, 1, 47, 93,225, 51, 93, 93, 93, 16,206, 93, 17, 57, 57, 47, 47, 93, 16,225, 50, - 50, 16,225, 50, 50, 49, 48, 1, 35, 17, 35, 53, 33, 21, 35, 1, 3, 35, 23, 17, 35, 17, 51, 19, 19, 51, 17, 35, 17, 52, 55, 35, - 3, 1, 47,127,176, 1,225,178, 1,238,146, 12, 10,123,187,139,149,179,127, 10, 12,154, 2,229, 2,101,108,108,253,155, 2, 37, -180,254,143, 2,209,253,234, 2, 22,253, 47, 1, 86, 87,120,253,219, 0,255,255, 0, 74, 0, 0, 4,135, 5,205, 2, 6, 1,118, - 0, 0, 0, 2, 0, 82,255,221, 4,119, 4, 72, 0, 19, 0, 26, 0, 60, 64, 26, 20, 7, 0, 28, 26, 1, 31, 13, 47, 13, 63, 13, - 3, 13, 1,119, 26, 26, 4, 23,119, 16, 15, 4,119, 6,184,255,224,181, 9, 12, 72, 6, 10, 25, 0, 63, 51, 43,225, 63,225, 18, - 57, 47,225, 1, 47, 93, 51, 50, 16,206, 50, 50, 49, 48, 1, 33, 17, 22, 51, 50, 55, 23, 6, 6, 35, 34, 0, 53, 16, 0, 51, 50, - 0, 21, 39, 17, 38, 35, 34, 7, 17, 4,119,252,196,123,174,254,142, 71, 97,219,151,240,254,222, 1, 51,223,231, 1, 44,232,121, -180,171,124, 2, 18,254,156,123,234, 41,156,123, 1, 68,241, 1, 5, 1, 49,254,202,251, 81, 1, 21,119,117,254,233, 0,255,255, - 0, 18,255,246, 4,182, 5,182, 2, 39, 0,123,254,163, 0, 0, 0, 38, 2, 23,200, 0, 1, 7, 2, 64, 1, 86,253,103, 0, 84, - 64, 55, 4, 3, 2, 20, 24, 4, 3, 2,240, 20, 1,128, 20, 1, 16, 20, 1, 0, 20, 1, 20, 1,171, 13, 1,148, 13, 1,100, 13, - 1, 84, 13, 1, 68, 13, 1, 13, 0,240, 0, 1,224, 0, 1,176, 0, 1, 80, 0, 1, 64, 0, 1, 0, 17, 93, 93, 93, 93, 93, 53, - 17, 93, 93, 93, 93, 93, 53, 17, 93, 93, 93, 93, 53, 53, 53, 0, 63, 53, 53, 53,255,255, 0, 11,255,246, 4,202, 5,197, 2, 39, - 0,117,254,181, 0, 0, 0, 38, 2, 23,239, 0, 1, 7, 2, 64, 1,106,253,103, 0, 76, 64, 49, 4, 3, 2, 40, 24, 4, 3, 2, -240, 40, 1,176, 40, 1,128, 40, 1, 16, 40, 1, 0, 40, 1, 40, 1,244, 33, 1,212, 33, 1,196, 33, 1,180, 33, 1,148, 33, 1, - 33, 0,192, 0, 1,127, 0, 1, 0, 17, 93, 93, 53, 17, 93, 93, 93, 93, 93, 53, 17, 93, 93, 93, 93, 93, 53, 53, 53, 0, 63, 53, - 53, 53,255,255, 0, 24,255,246, 4,202, 5,182, 2, 39, 2, 61,254,200, 0, 0, 0, 38, 2, 23,239, 0, 1, 7, 2, 64, 1,106, -253,103, 0, 80, 64, 52, 4, 3, 2, 34, 24, 4, 3, 2,240, 34, 1,176, 34, 1,128, 34, 1, 16, 34, 1, 0, 34, 1, 34, 1,244, - 27, 1,212, 27, 1,196, 27, 1,180, 27, 1,148, 27, 1, 27, 0,224, 0, 1,208, 0, 1,192, 0, 1, 0, 17, 93, 93, 93, 53, 17, - 93, 93, 93, 93, 93, 53, 17, 93, 93, 93, 93, 93, 53, 53, 53, 0, 63, 53, 53, 53,255,255, 0, 28,255,246, 4,202, 5,182, 2, 39, - 2, 63,254,173, 0, 0, 0, 38, 2, 23,175, 0, 1, 7, 2, 64, 1,106,253,103, 0, 80, 64, 52, 4, 3, 2, 16, 24, 4, 3, 2, -240, 16, 1,176, 16, 1,128, 16, 1, 16, 16, 1, 0, 16, 1, 16, 1,171, 9, 1,107, 9, 1, 91, 9, 1, 75, 9, 1, 52, 9, 1, - 36, 9, 1, 9, 0,192, 0, 1,127, 0, 1, 0, 17, 93, 93, 53, 17, 93, 93, 93, 93, 93, 93, 53, 17, 93, 93, 93, 93, 93, 53, 53, - 53, 0, 63, 53, 53, 53, 0, 2, 0,121,255,236, 4, 82, 5,197, 0, 20, 0, 31, 0, 57, 64, 30, 6, 6, 16, 21, 1, 70, 11, 33, - 27, 72, 0, 16, 1, 16, 21, 0, 24, 78, 19, 19, 9, 29, 80, 14, 22, 6, 4, 80, 9, 4, 0, 63,225, 51, 63,225, 17, 57, 47,225, - 50, 50, 1, 47, 93,225, 16,222,225, 50, 17, 57, 47, 49, 48, 1, 55, 54, 38, 35, 34, 7, 53, 54, 51, 32, 17, 16, 0, 33, 32, 17, - 52, 0, 51, 50, 19, 38, 38, 35, 34, 2, 21, 20, 51, 50, 18, 3,156, 2, 9,133,153,131,127,134,149, 1,176,254,175,254,226,254, -150, 1, 20,244,184, 66, 22,127, 76,160,197,187,138,219, 3, 94, 40,181,242, 84,174, 62,253,225,254,123,253,203, 1,139,249, 1, -130,254,182, 85,105,254,192,181,236, 1, 50, 0, 0, 2, 0, 74, 0, 0, 4,131, 5,182, 0, 5, 0, 12, 0,200,181, 12, 16, 15, - 19, 72, 11,184,255,240,182, 15, 19, 72,183, 2, 1, 2,184,255,248, 64, 68, 13, 17, 72, 38, 2, 1, 23, 2, 1, 6, 2, 1,184, - 1, 1, 1, 8, 13, 17, 72, 41, 1, 1, 24, 1, 1, 9, 1, 1,231, 2, 1, 2,232, 1, 1, 1, 8, 8, 0, 12, 16, 20, 24, 72, - 72, 12, 88, 12, 2, 42, 12, 1, 9, 12, 25, 12, 2, 12, 95, 3,111, 3, 2, 3, 3, 14, 11,184,255,240, 64, 54, 20, 24, 72, 71, - 11, 87, 11, 2, 37, 11, 1, 6, 11, 22, 11, 2, 11, 80, 0, 96, 0,224, 0,240, 0, 4, 0, 0, 3, 11, 95, 5, 18, 8, 16, 17, - 24, 72, 91, 8, 1, 41, 8, 57, 8, 73, 8, 3, 29, 8, 1, 8, 1, 3, 0, 63, 51, 93, 93, 93, 43, 63,225, 57, 57, 1, 47, 93, - 51, 93, 93, 93, 43, 17, 51, 47, 93, 51, 93, 93, 93, 43, 18, 57, 61, 47, 51, 93, 51, 93, 49, 48, 93, 93, 93, 43, 93, 93, 93, 93, - 43, 93, 43, 43, 55, 1, 51, 1, 21, 33, 1, 38, 39, 6, 7, 3, 33, 74, 1,190,187, 1,192,251,199, 2,119, 59, 34, 45, 43,250, - 2,166,113, 5, 69,250,185,111, 3,154,182,158,200,134,253, 4, 0, 1, 0,156,254, 20, 4, 88, 5,182, 0, 7, 0, 49, 64, 15, - 0, 90,224, 7,240, 7, 2, 7, 9, 3, 90, 0, 4, 1, 4,184,255,192, 64, 11, 20, 24, 72, 4, 2, 95, 5, 3, 4, 0, 27, 0, - 63, 50, 63,225, 1, 47, 43, 93,225, 16,222, 93,225, 49, 48, 1, 17, 33, 17, 35, 17, 33, 17, 3,158,253,184,186, 3,188,254, 20, - 6,252,249, 4, 7,162,248, 94, 0, 1, 0, 74,254, 20, 4,145, 5,182, 0, 11, 0,122, 64, 82, 55, 9,215, 9,231, 9,247, 9, - 4, 38, 9, 1, 7, 9, 23, 9, 2, 55, 7,215, 7,231, 7,247, 7, 4, 38, 7, 1, 7, 7, 23, 7, 2, 56, 2,216, 2,232, 2, -248, 2, 4, 25, 2, 41, 2, 2, 8, 2, 1, 8, 2, 2, 0, 6, 10, 13, 7, 3, 3, 9, 0, 64, 10, 13, 72, 0, 3, 7, 95, 4, - 8, 2, 2, 4, 3, 1, 9, 95, 0, 27, 0, 63,225, 57, 63, 57, 61, 47, 51, 16,225, 57, 1, 24, 47, 43, 51, 51, 17, 51, 16,206, - 50, 17, 57, 47, 51, 49, 48, 93, 93, 93, 93, 93, 93, 93, 93, 93, 19, 53, 1, 1, 53, 33, 21, 33, 1, 1, 33, 21, 74, 2, 71,253, -201, 3,246,253, 14, 2, 17,253,213, 3, 77,254, 20,115, 3,146, 3, 43,114,164,253, 9,252,157,164, 0, 0, 1, 0,152, 2,135, - 4, 51, 3, 29, 0, 3, 0, 26, 64, 12, 2, 5, 0, 1, 1, 1, 1, 4, 0,173, 1,179, 0, 63,225, 17, 1, 51, 47, 93, 16,206, - 49, 48, 19, 53, 33, 21,152, 3,155, 2,135,150,150, 0, 0, 1, 0, 23,255,242, 4,182, 6,160, 0, 8, 0, 46, 64, 21, 1, 0, - 6, 6, 7, 8, 8, 10, 5, 2, 2, 3, 3,174, 4, 4, 15, 7, 1, 7, 0, 0, 47, 47, 93, 57, 47,225, 1, 47, 50, 47, 51, 17, - 51, 47, 51, 57, 25, 47, 51, 51, 49, 48, 5, 35, 1, 35, 53, 33, 19, 1, 51, 2,100,133,254,236,180, 1, 40,230, 2, 0,145, 14, - 3, 10,143,253,105, 5,172, 0, 0, 3, 0, 70, 1,145, 4,133, 4, 14, 0, 19, 0, 29, 0, 39, 0, 95,185, 0, 16,255,224,179, - 9, 12, 72, 14,184,255,224, 64, 50, 9, 12, 72, 6, 32, 9, 12, 72, 4, 32, 9, 12, 72, 30, 10, 0, 20, 4, 5, 35,171, 15, 15, - 1, 15, 41, 25,171, 5, 38, 22,174, 10, 0, 2, 12, 8, 8, 32, 28,174, 18, 63, 2,143, 2,223, 2, 3, 2, 0, 47, 93, 51,225, - 50, 51, 47, 51, 18, 57, 57,225, 50, 1, 47,225, 16,222, 93,225, 17, 23, 57, 49, 48, 43, 43, 43, 43, 1, 6, 35, 34, 38, 53, 52, - 54, 51, 50, 23, 54, 51, 50, 22, 21, 20, 6, 35, 34, 3, 38, 35, 34, 6, 21, 20, 22, 51, 50, 55, 22, 51, 50, 54, 53, 52, 38, 35, - 34, 2, 98,118,154,119,149,149,119,166,108,116,165,118,146,151,113,171,181, 82,109, 65, 80, 80, 67,104,228, 86,107, 65, 80, 84, - 64,103, 2,109,213,174,141,134,181,219,213,172,143,131,185, 1, 66,184,107, 79, 81,101,178,185,109, 78, 79,103, 0, 1, 0,236, -254, 20, 3,225, 6, 20, 0, 20, 0, 41, 64, 21, 1, 6,170, 12, 16, 16, 1, 16, 16, 21, 22, 3,174, 1, 19, 0, 14,174, 12, 9, - 27, 0, 63, 51,225, 63, 51,225, 17, 18, 1, 57, 47, 93, 51,225, 50, 49, 48, 1, 21, 38, 35, 34, 21, 17, 20, 6, 35, 34, 39, 53, - 22, 51, 50, 53, 17, 16, 33, 50, 3,225, 56, 58,172,178,160, 78, 55, 60, 56,180, 1, 74, 88, 6, 2,147, 26,233,250,215,174,181, - 19,147, 24,233, 5, 39, 1, 98, 0, 2, 0,152, 1,123, 4, 51, 4, 37, 0, 17, 0, 35, 0, 72, 64, 41, 28, 9, 37, 18, 0, 0, - 1, 0, 0, 36, 34,173, 27, 21,178, 30, 16,173, 9, 3,178, 7,173, 0, 63, 12, 1, 12, 12, 25,173, 18,223, 30, 1, 80, 30,160, - 30, 2, 30, 0, 47, 93, 93, 51,225, 51, 47, 93, 51,225,253, 50,225, 16,253, 50,225, 17, 1, 51, 47, 93, 51, 16,206, 50, 49, 48, - 19, 53, 54, 51, 50, 23, 22, 51, 50, 55, 21, 6, 35, 34, 39, 38, 35, 34, 3, 53, 54, 51, 50, 23, 22, 51, 50, 55, 21, 6, 35, 34, - 39, 38, 35, 34,152, 98,149, 98,150,127, 74,109,118, 97,151,100,147,128, 73,112,115, 99,148,100,148,130, 71,108,119, 99,149,100, -147,131, 70,108, 3, 20,162,109, 64, 55,121,162,108, 63, 55,253,238,162,108, 63, 56,121,162,108, 63, 56, 0, 1, 0,152, 0,164, - 4, 51, 5, 4, 0, 19, 0,110, 64, 65, 7, 4, 3, 0, 4, 19, 8, 8, 10, 13, 14, 17, 4, 18, 9, 18, 19, 9, 19, 9, 19, 6, - 15, 11, 21, 2, 0, 6, 1, 6, 6, 20, 15, 2,173, 16,112, 1, 1, 79, 1, 95, 1,111, 1, 3, 0, 1, 1, 1, 1, 12, 5,173, - 11,143, 6, 1, 80, 6, 1, 15, 6, 1, 6, 0, 47, 93, 93, 93, 51,225, 50, 51, 47, 93, 93, 93, 51,225, 50, 17, 1, 51, 47, 93, - 51, 16,206, 50, 17, 57, 57, 47, 47, 17, 51, 17, 18, 23, 57, 51, 17, 18, 23, 57, 49, 48, 1, 35, 53, 33, 19, 33, 53, 33, 19, 23, - 7, 51, 21, 33, 3, 33, 21, 33, 3, 39, 1,143,247, 1, 61,121,254, 74, 1,251,134,137,105,250,254,193,123, 1,186,254, 0,129, -137, 1,186,150, 1, 4,149, 1, 27, 59,224,149,254,252,150,254,234, 57, 0, 2, 0,152, 0, 0, 4, 51, 4,201, 0, 6, 0, 10, - 0,101, 64, 63,103, 6,119, 6,135, 6, 3,104, 4,120, 4,136, 4, 3,118, 5,134, 5, 2, 5, 4, 1, 4, 9, 0, 12, 8, 1, - 1, 11, 2, 1, 5, 5, 3, 6,224, 0, 1,223, 0, 1, 64, 0, 1, 63, 0, 1, 0, 0, 1, 0, 0, 4, 32, 3,192, 3, 2, 15, - 3, 1, 3, 0, 47, 93, 93, 51, 51, 47, 93, 93, 93, 93, 93, 50, 18, 57, 17, 51, 51, 17, 1, 51, 47, 51, 16,206, 50, 50, 17, 18, - 57, 93, 49, 48, 0, 93, 93, 37, 1, 53, 1, 21, 9, 2, 53, 33, 21, 4, 51,252,101, 3,155,253, 53, 2,203,252,101, 3,155,221, - 1,195,102, 1,195,160,254,170,254,170,254,131,150,150, 0, 2, 0,152, 0, 0, 4, 51, 4,201, 0, 6, 0, 10, 0, 99, 64, 62, -104, 2,120, 2,136, 2, 3,103, 0,119, 0,135, 0, 3,121, 1,137, 1, 2, 1, 6, 9, 4, 12, 8, 2, 6, 6, 11, 5, 4, 1, - 1, 3, 0,224, 6, 1,223, 6, 1, 64, 6, 1, 63, 6, 1, 0, 6, 1, 6, 6, 2, 32, 3,192, 3, 2, 15, 3, 1, 3, 0, 47, - 93, 93, 51, 51, 47, 93, 93, 93, 93, 93, 51, 18, 57, 17, 51, 51, 17, 1, 51, 47, 51, 51, 16,206, 50, 17, 57, 93, 49, 48, 0, 93, - 93, 19, 1, 1, 53, 1, 21, 1, 21, 53, 33, 21,152, 2,202,253, 54, 3,155,252,101, 3,155, 1,125, 1, 86, 1, 86,160,254, 61, -102,254, 61,221,150,150, 0, 2, 0,125, 0, 0, 4, 80, 5,195, 0, 5, 0, 9, 0, 68, 64, 31, 2, 1, 9, 9, 5, 4, 7, 7, - 3, 6, 0, 11, 8, 0, 3, 1, 3, 3, 10, 0, 6, 6, 3, 8, 8, 1, 7, 4, 3, 9, 1, 0, 47, 51, 63, 51, 18, 57, 61, 47, - 51, 51, 17, 51, 17, 1, 51, 24, 47, 93, 51, 16,206, 50, 17, 57, 61, 47, 51, 51, 51, 47, 51, 51, 49, 48, 1, 1, 35, 1, 1, 51, - 9, 3, 4, 80,254, 59, 76,254, 62, 1,194, 76, 1, 13,254,206,254,207, 1, 49, 2,225,253, 31, 2,223, 2,228,253, 30, 2, 0, -254, 0,253,254, 0, 3, 0, 49, 0, 0, 4, 43, 6, 31, 0, 21, 0, 30, 0, 34, 0, 82, 64, 43, 29, 32, 71, 31, 13, 0, 0, 3, - 24, 31, 36, 20, 2, 71, 3, 7, 3, 5, 5, 3, 27, 83,175, 22, 1, 22, 22, 11, 4, 1, 79, 33, 7, 20, 15, 16, 80, 14, 11, 1, - 32, 2, 21, 0, 63, 51, 63, 51,225, 63, 51, 51,225, 50, 18, 57, 47, 93,237, 1, 47, 51, 47, 17, 51, 16,225, 50, 16,206, 50, 17, - 57, 47, 57, 16,225, 50, 49, 48, 1, 35, 17, 35, 17, 35, 53, 55, 53, 52, 54, 51, 50, 23, 7, 38, 35, 34, 6, 21, 21, 51, 1, 50, - 21, 20, 6, 35, 34, 53, 52, 19, 35, 17, 51, 2,160,246,182,195,195,153,178, 97,100, 47, 79, 64, 92, 64,246, 1, 33,106, 63, 43, -107,197,183,183, 3,193,252, 63, 3,193, 75, 68, 96,190,177, 37,141, 28,101,114,104, 1,155,114, 58, 57,115,114,250, 27, 4, 74, - 0, 2, 0, 49, 0, 0, 4, 27, 6, 31, 0, 21, 0, 25, 0, 66, 64, 34, 13, 22, 0, 0, 3, 23, 71, 22, 27, 20, 2, 71, 3, 7, - 3, 5, 5, 3, 24, 0, 4, 1, 79, 7, 20, 15, 16, 80, 14, 11, 1, 23, 2, 21, 0, 63, 51, 63, 51,225, 63, 51,225, 50, 63, 1, - 47, 51, 47, 17, 51, 16,225, 50, 16,222,225, 18, 57, 47, 18, 57, 49, 48, 1, 35, 17, 35, 17, 35, 53, 55, 53, 52, 54, 51, 50, 23, - 7, 38, 35, 34, 6, 21, 21, 51, 1, 35, 17, 51, 2,160,246,182,195,195,153,178, 97,100, 47, 79, 64, 92, 64,246, 1,123,183,183, - 3,193,252, 63, 3,193, 75, 68, 96,190,177, 37,141, 28,101,114,104,251,182, 6, 20, 0, 0, 1, 0,231, 4,217, 3,229, 6, 23, - 0, 11, 0, 45, 64, 16, 6,136, 0, 5, 1, 5, 5, 11,136, 0, 0, 13, 5, 0,146, 9,184, 1, 1,181, 15, 2, 95, 2, 2, 2, - 0, 47, 93,225,228, 50, 17, 1, 51, 47,225, 51, 47, 93,225, 49, 48, 1, 2, 33, 34, 38, 39, 51, 22, 22, 51, 50, 55, 3,229, 20, -254,143,195,172, 10,170, 8, 84,119,194, 17, 6, 23,254,194,148,170,102, 85,187, 0, 1, 0,135,254, 20, 3, 86, 4, 74, 0, 15, - 0, 47, 64, 26, 8, 0, 6, 71,144, 11,160, 11, 2, 11, 11, 16, 17, 0, 0, 1, 0, 3, 80, 1, 14, 27, 7, 78, 10, 15, 0, 63, -225, 63, 51,225, 1, 47, 93, 17, 18, 57, 47, 93,225, 17, 57, 49, 48, 19, 53, 22, 51, 50, 54, 53, 17, 37, 53, 33, 17, 20, 6, 35, - 34,135,134,155,117,131,254, 92, 2, 90,226,206,164,254, 55,154, 39,114,101, 4, 57, 21,123,251, 65,180,195, 0, 0, 1, 1,238, - 4,205, 2,223, 6, 20, 0, 9, 0, 22, 64, 9, 9, 9, 4, 4, 11, 8,146, 3, 0, 0, 63,237, 17, 1, 51, 47, 51, 47, 49, 48, - 1, 55, 54, 55, 51, 21, 20, 6, 7, 35, 1,238, 26, 26, 9,180, 84, 61, 96, 4,231,107,116, 78, 20, 14,198, 95, 0, 1, 1,227, -254, 59, 2,233,255,131, 0, 8, 0, 27, 64, 13, 8, 8, 3, 3, 10, 7,146, 15, 2, 31, 2, 2, 2, 0, 47, 93,237, 17, 1, 51, - 47, 51, 47, 49, 48, 1, 54, 55, 51, 21, 20, 6, 7, 35, 1,227, 62, 22,178, 96, 67, 99,254, 86,140,161, 20, 22,204, 82, 0, 1, - 1,227, 4,217, 2,233, 6, 33, 0, 8, 0, 27, 64, 13, 3, 3, 8, 8, 10, 7,146, 15, 2, 95, 2, 2, 2, 0, 47, 93,237, 17, - 1, 51, 47, 51, 47, 49, 48, 1, 6, 7, 35, 53, 52, 54, 55, 51, 2,233, 63, 20,179, 91, 73, 98, 6, 6,153,148, 21, 17,201, 89, - 0, 2, 1, 57, 2, 57, 3,147, 5,199, 0, 9, 0, 17, 0, 34, 64, 18, 12,224, 48, 8, 1, 8, 8, 16,224, 3, 14,230, 5,222, - 10,230, 0,223, 0, 63,225, 63,225, 1, 47,225, 51, 47, 93,225, 49, 48, 1, 34, 38, 53, 16, 33, 50, 22, 21, 16, 37, 50, 17, 16, - 35, 34, 17, 16, 2,100,142,157, 1, 43,149,154,254,209,156,156,151, 2, 57,234,223, 1,197,236,217,254, 55,131, 1, 70, 1, 68, -254,188,254,186, 0, 2, 1, 37, 2,168, 3,127, 5,195, 0, 10, 0, 17, 0, 86, 64, 52, 17, 95, 6,207, 6, 2, 6, 6, 9,104, - 0,120, 0, 2, 0, 32, 11, 14, 72, 0, 2,224, 11, 7, 31, 3,143, 3, 2, 3, 3, 18, 19, 4, 1,228, 17, 6, 14, 7, 11, 9, - 27, 9, 2, 9, 9, 2, 7,222, 2,223, 0, 63, 63, 18, 57, 47, 93, 18, 57, 51, 51,225, 50, 17, 18, 1, 57, 47, 93, 51, 51,225, - 50, 43, 93, 50, 51, 47, 93, 51, 49, 48, 1, 35, 21, 35, 53, 33, 53, 1, 51, 17, 51, 35, 53, 52, 55, 6, 7, 7, 3,127, 84,143, -254,137, 1,121,141, 84,227, 6, 40, 40,156, 3, 86,174,174, 98, 2, 11,254, 4,176, 82, 90, 73, 58,217, 0, 1, 1, 80, 2,145, - 3, 68, 5,182, 0, 24, 0, 92, 64, 57, 14, 15, 15, 11, 12, 64, 16, 24, 72, 10, 12, 10, 12, 0, 5,224, 15, 20, 31, 20, 79, 20, - 95, 20,127, 20,143, 20,159, 20, 7, 20, 20,207, 0, 1,112, 0, 1, 0, 10, 9, 9, 7,229, 17, 17, 11, 3,228, 1, 23,223, 14, -228, 11,220, 0, 63,225, 63, 51,225, 17, 57, 47,225, 51, 18, 57, 1, 47, 93, 93, 51, 47, 93,225, 18, 57, 57, 47, 47, 43, 51, 51, - 17, 51, 49, 48, 1, 53, 22, 51, 50, 53, 52, 35, 34, 7, 39, 19, 33, 21, 33, 7, 54, 51, 50, 22, 21, 20, 6, 35, 34, 1, 80,102, -105,162,166, 52, 73, 62, 31, 1,141,254,224, 17, 35, 61,118,147,150,145,124, 2,193,129, 68,147,146, 17, 39, 1,125,110,193, 6, -130,109,127,142, 0, 2, 1, 57, 2, 57, 3,147, 5,213, 0, 16, 0, 27, 0, 56, 64, 30, 3, 22,224, 15, 1, 15, 17,224, 48, 9, - 1, 9, 9, 15, 3, 19,228, 0, 6, 1, 6, 6, 0, 25,230, 12,223, 1, 0,222, 0, 63, 50, 63,225, 17, 57, 47, 93,225, 50, 1, - 47, 51, 47, 93,225, 18, 57, 16,225, 50, 49, 48, 1, 23, 4, 7, 51, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 53, 16, 1, 52, 35, - 34, 6, 21, 20, 22, 51, 50, 54, 3, 29, 45,254,183, 52, 10, 61,140,112,131,165,134,135,168, 1,205,147, 74, 98, 93, 75, 68, 83, - 5,213,109,110,215, 92,153,128,133,168,187,157, 1,151,254, 60,172, 87, 64, 86,113, 92, 0, 1, 1,111, 2,160, 3,147, 5,182, - 0, 6, 0, 53, 64, 34, 6, 0, 0, 1, 15, 5, 79, 5,127, 5, 3, 5, 5, 0, 2, 80, 2, 96, 2,112, 2,176, 2,208, 2, 6, - 2, 5, 2,230, 3,220, 0,221, 0, 63, 63,225, 50, 1, 47, 93, 50, 47, 93, 51, 57, 47, 51, 49, 48, 1, 1, 33, 53, 33, 21, 1, - 1,195, 1, 53,254,119, 2, 36,254,203, 2,160, 2,157,121,100,253, 78, 0, 3, 1, 49, 2,143, 3, 96, 5,195, 0, 19, 0, 27, - 0, 36, 0,125, 64, 83, 10, 28, 12, 34,224, 2, 20, 0, 2, 26,224, 12, 22,224, 18, 12, 18, 12, 18, 8, 15, 2,127, 2,191, 2, - 3, 2, 2, 30,224, 31, 8,239, 8, 2, 8,105, 20, 1,184, 0,200, 0,216, 0, 3,105, 0, 1,184, 10,200, 10,216, 10, 3,105, - 10, 1,105, 28,185, 28,201, 28,217, 28, 4, 28, 10, 0, 20, 4, 5, 24,229, 15,222, 32,229, 5,223, 0, 63,225, 63,225, 18, 23, - 57, 93, 93, 93, 93, 93, 93, 1, 47, 93,225, 51, 47, 93, 18, 57, 57, 47, 47, 16,225, 16,225, 17, 57, 57, 16,225, 17, 57, 57, 49, - 48, 1, 22, 21, 20, 6, 35, 34, 38, 53, 52, 55, 38, 53, 52, 54, 51, 50, 22, 21, 20, 7, 54, 53, 52, 35, 34, 21, 20, 23, 6, 21, - 20, 51, 50, 53, 52, 39, 2,186,166,152,124,136,147,139,114,144,112,111,141,252,106,108,107, 92,118,131,135,135, 4, 66, 85,122, -103,125,118,104,130, 74, 79,114, 91,110,108, 93,116, 19, 49, 84, 96, 96, 81,161, 63, 90,117,117, 89, 58, 0, 2, 1, 57, 2, 57, - 3,147, 5,201, 0, 20, 0, 31, 0, 57, 64, 31, 5, 26,224, 1, 11, 48, 17, 1, 17, 17, 21,224, 11, 5, 23,228, 15, 8, 1, 8, - 8, 14, 3,228, 1, 19,223, 29,230, 14,222, 0, 63,225, 63, 51,225, 17, 57, 47, 93,225, 50, 1, 47,225, 51, 47, 93, 18, 57,225, - 50, 49, 48, 1, 53, 22, 51, 32, 19, 35, 6, 35, 34, 38, 53, 52, 54, 51, 50, 22, 21, 16, 33, 34, 19, 20, 51, 50, 54, 53, 52, 38, - 35, 34, 6, 1,135, 39, 62, 1, 16, 14, 8, 71,126,122,138,160,131,142,169,254, 99, 62, 13,149, 73, 97, 89, 77, 68, 85, 2, 72, -125, 23, 1, 59, 98,149,126,133,170,205,186,253,247, 2, 99,164, 87, 56, 80,123, 94, 0, 0, 18, 0, 55,254,129, 4,150, 5,238, - 0, 19, 0, 37, 0, 57, 0, 69, 0, 75, 0, 81, 0, 87, 0, 93, 0, 97, 0,101, 0,105, 0,109, 0,113, 0,117, 0,121, 0,125, - 0,134, 0,143, 1, 6, 64, 46, 98,122,101,125,122,125, 76, 93, 63, 19, 19, 69, 9,135,127,127, 37,139,131,131, 24, 15, 33, 95, - 33,111, 33, 3, 33, 33, 37, 42, 55, 79, 9, 95, 9, 2, 16, 37, 32, 37, 96, 37, 3, 37,184,255,192, 64,100, 21, 24, 72, 64, 55, - 80, 55,224, 55, 3, 9, 37, 55, 55, 37, 9, 3, 70, 85, 85,118,114,110, 93, 70,107,103, 95, 76,116,104,112, 96,120,108,104, 96, -108,108, 96,104, 3, 76, 71, 41, 57, 57, 38, 27,126,126,135, 32, 15, 19, 72,135,135, 20,127,127, 96, 37, 1, 37, 37,143, 20, 20, - 14,240, 38, 1,111, 38, 1, 38, 38, 52, 45, 60,255, 4, 1, 4, 4, 66, 14, 45, 14, 45, 14, 88, 83, 88,122, 76, 83, 99, 71, 0, - 47, 51, 51, 47, 51, 51, 17, 18, 57, 57, 47, 47, 17, 51, 51, 47, 93, 51, 17, 51, 51, 47, 93, 93, 18, 57, 47, 51, 51, 47, 93, 51, - 17, 18, 57, 47, 43, 51, 18, 57, 17, 51, 17, 51, 17, 18, 23, 57, 47, 47, 47, 17, 51, 17, 51, 17, 51, 1, 47, 50, 50, 50, 50, 47, - 51, 51, 51, 51, 17, 18, 23, 57, 47, 47, 47, 93, 43, 93, 93, 17, 51, 17, 51, 47, 93, 51, 51, 17, 51, 17, 51, 17, 51, 17, 51, 51, - 47, 51, 17, 18, 57, 57, 17, 51, 17, 51, 49, 48, 0, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 21, 3, 51, 50, 22, - 21, 20, 6, 7, 21, 30, 3, 21, 20, 6, 35, 35, 23, 33, 21, 35, 21, 20, 6, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 53, 53, 35, - 0, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 21, 37, 17, 33, 21, 35, 21, 3, 17, 51, 21, 51, 21, 1, 53, 33, 17, 35, 53, 3, 53, - 51, 53, 51, 17, 1, 35, 17, 51, 1, 53, 33, 21, 1, 35, 17, 51, 17, 35, 17, 51, 1, 35, 17, 51, 17, 35, 17, 51, 17, 35, 17, 51, - 1, 53, 33, 21, 3, 21, 51, 50, 54, 53, 52, 38, 35, 39, 51, 50, 54, 53, 52, 38, 35, 35, 2,160, 25, 52, 78, 54, 54, 79, 51, 25, - 25, 51, 79, 54, 54, 78, 52, 25,137,137, 88, 88, 37, 35, 18, 31, 23, 14, 87, 75,165,223, 1, 10, 72, 88, 69, 31, 43, 12, 12, 39, - 24, 29, 39, 94,254,108, 53, 56, 57, 51, 51, 57, 56, 53,254,213, 1, 47,192,111,111,192, 2, 0, 1, 48,109,195,195,109,252, 16, -111,111, 1, 57, 1, 15,253,184,111,111,111,111, 3,240,109,109,109,109,109,109,253, 73, 1, 15,117, 59, 38, 30, 30, 42, 55, 51, - 37, 29, 33, 37, 47, 4, 5, 88, 64, 35, 35, 64, 88, 54, 55, 89, 63, 35, 35, 63, 89, 55,254,224, 53, 66, 40, 54, 7, 4, 3, 14, - 25, 38, 28, 65, 72, 52, 77,242, 80, 76, 5, 3, 82, 2, 4, 29, 41,244, 3, 44, 83, 83, 74, 75, 83, 83, 75,131, 1, 48,111,193, -249,195, 1, 47,194,109, 6,254,111,254,208,193,249, 2,109,194,254,209, 3, 45, 1, 16, 2,193,111,111,250,168, 1, 14, 2, 2, - 1, 15,253,104, 1, 16,253,105, 1, 14, 2, 2, 1, 15,250, 59,109,109, 3,145,122, 34, 31, 25, 32, 80, 27, 25, 27, 24, 0, 3, - 0, 4,254,193, 4,203, 6, 20, 0, 3, 0, 41, 0, 57, 0, 78, 64, 38, 4, 41, 41, 42,113, 50, 1, 80, 50, 96, 50, 2, 50, 50, - 42, 23, 23,127, 42, 1, 42, 42, 2, 30, 15, 15, 2, 55, 45, 41, 41, 45, 45, 3, 27, 18, 18, 3, 0, 25, 47, 51, 24, 47, 51, 17, - 51, 47, 51, 47, 17, 51, 1, 25, 47, 51, 24, 47, 51, 17, 51, 47, 93, 51, 47, 17, 51, 47, 93, 93, 17, 51, 47, 51, 49, 48, 9, 3, - 5, 53, 52, 62, 2, 55, 62, 3, 53, 52, 38, 35, 34, 14, 2, 7, 23, 54, 54, 51, 50, 22, 21, 20, 14, 2, 7, 14, 3, 21, 21, 7, - 20, 22, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 6, 2,102, 2,101,253,155,253,158, 2,152, 7, 20, 35, 28, 35, 53, 35, 18,152, -135, 35, 72, 70, 65, 28, 66, 55,102, 45, 53, 50, 11, 24, 38, 28, 31, 43, 27, 13, 21, 65, 50, 21, 41, 32, 19, 19, 32, 41, 21, 50, - 65, 6, 20,252, 86,252, 87, 3,169,233, 43, 23, 34, 33, 34, 23, 33, 57, 62, 71, 46,124,136, 14, 25, 33, 18,160, 31, 41, 53, 42, - 26, 40, 36, 37, 24, 28, 51, 54, 59, 36, 55,246, 65, 58, 14, 30, 47, 32, 34, 47, 29, 13, 56, 0,255,255, 0,135,254, 20, 3,169, - 6, 33, 2, 38, 2, 55, 0, 0, 1, 6, 1, 76,247, 0, 0, 11,182, 1,111, 24, 16, 0, 10, 37, 1, 43, 53, 0,255,255, 1,190, - 3,193, 3, 12, 5,182, 2, 6, 2, 7, 0, 0, 0, 2, 0, 10,255,236, 4,178, 6, 43, 0, 12, 0, 79, 0, 93, 64, 55, 8, 70, - 67, 67, 26, 0, 59, 71, 77,144, 16,160, 16, 2, 16, 16, 81, 15, 81,175, 81, 2, 51, 70,144, 26, 1, 26, 62, 79, 79, 78, 0, 78, - 34, 78, 41, 0, 41, 16, 41, 2, 78, 41, 78, 41, 56, 5, 78, 72, 1, 56, 78, 21, 22, 0, 63,225, 63,225, 18, 57, 57, 47, 47, 93, - 16,225, 17, 51, 16,225, 50, 1, 47, 93,225, 93, 17, 51, 47, 93, 51,225, 50, 17, 57, 47,225, 49, 48, 1, 46, 3, 35, 34, 6, 21, - 20, 30, 2, 5, 22, 22, 21, 20, 2, 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 53, 52, 38, 35, 34, 6, 7, 39, 54, 54, 51, 50, 30, - 2, 21, 20, 14, 2, 21, 20, 30, 2, 51, 50, 18, 17, 52, 38, 39, 46, 3, 53, 52, 62, 2, 51, 50, 30, 2, 23, 51, 21, 3,106, 13, - 57, 77, 91, 48, 76, 86, 46,106,171, 1, 60, 2, 2, 64,129,196,131,111,146, 86, 34, 10, 11, 10, 31, 31, 24, 54, 16, 37, 37,100, - 54, 50, 69, 44, 19, 10, 11, 10, 21, 48, 78, 58,164,164, 2, 2,174,242,150, 67, 39, 81,127, 89,104,161,117, 75, 18,143, 3,209, -108,170,116, 61, 88, 72, 56,105, 82, 51,138, 22, 58, 31,159,254,238,201,115, 55, 95,125, 69, 40, 93, 89, 75, 24, 45, 33, 15, 10, -127, 17, 26, 28, 50, 68, 40, 35, 86, 93, 97, 45, 42, 74, 54, 31, 1, 50, 1, 48, 23, 62, 20, 2, 75,120,154, 81, 67,112, 82, 46, - 84,156,223,139,137, 0, 0, 1, 0, 31, 0, 0, 4,184, 5,195, 0, 32, 0,141,185, 0, 32,255,248,179, 20, 24, 72, 32,184,255, -248, 64, 70, 13, 16, 72, 38, 32, 54, 32, 2, 23, 32, 1, 32,175, 31,255, 31, 2, 89, 31, 1, 31, 0, 84, 13, 1, 41, 13, 1, 13, - 27, 90,208, 30, 1,162, 30, 1,147, 30, 1, 3,142, 30, 1, 4, 99, 30, 1, 5, 16, 30, 80, 30, 2, 30, 17, 10, 10, 59, 27, 1, - 59, 30, 1, 39, 0,183, 0, 2, 0,184,255,248, 64, 12, 13, 17, 72, 0, 30, 27, 3, 29, 31, 3, 29, 18, 0, 63, 63, 18, 23, 57, - 43, 93, 93, 93, 51, 17, 51, 1, 47, 93, 95, 93, 95, 93, 95, 93, 93, 93,225, 50, 93, 93, 57,205, 93, 93, 50, 93, 93, 43, 43, 49, - 48, 1, 62, 3, 55, 62, 3, 51, 50, 22, 23, 21, 38, 38, 35, 34, 6, 7, 14, 5, 7, 17, 35, 17, 1, 51, 2,100, 25, 75, 78, 73, - 24, 22, 46, 54, 64, 41, 34, 43, 17, 12, 33, 12, 28, 62, 35, 12, 47, 58, 66, 63, 56, 19,187,254, 25,202, 2,219, 75,168,160,137, - 44, 40, 61, 39, 20, 9, 8,145, 3, 5, 47, 60, 21, 83,110,129,136,134, 60,253,227, 2, 47, 3,135, 0, 0, 2, 0, 18,255,236, - 4,180, 4, 74, 0, 32, 0, 64, 0, 95, 64, 60, 30, 29, 86, 56,102, 56, 2, 71, 56, 1, 56, 73, 55, 55, 5, 33, 73, 16, 21, 32, - 21, 2, 21, 21, 66, 44, 73, 64, 5, 80, 5,144, 5,160, 5,192, 5,208, 5, 6, 47, 5, 1, 5, 55, 55, 49, 39, 16, 10, 80, 13, - 15, 60, 30, 49, 80, 26, 0, 22, 0, 63, 50,225, 50, 50, 63,225, 50, 50, 18, 57, 47, 1, 47, 93, 93,225, 17, 51, 47, 93,225, 17, - 57, 47,225, 93, 93, 57, 57, 49, 48, 5, 34, 46, 2, 53, 52, 62, 2, 55, 35, 53, 55, 33, 21, 35, 30, 3, 21, 20, 14, 2, 35, 34, - 38, 39, 35, 6, 6, 1, 52, 46, 2, 39, 33, 14, 3, 21, 20, 30, 2, 51, 50, 62, 2, 53, 53, 51, 21, 20, 22, 51, 50, 62, 2, 1, -123, 79,110, 69, 31, 10, 22, 35, 25,164,134, 4, 28,155, 24, 35, 23, 10, 31, 69,110, 79, 94,111, 26, 11, 26,111, 1,246, 10, 23, - 35, 24,253,233, 25, 35, 22, 10, 16, 35, 52, 36, 36, 54, 35, 17,157, 79, 63, 36, 52, 35, 16, 20, 68,128,181,114, 67,116,110,114, - 66, 74, 80,154, 66,114,110,116, 67,114,181,128, 68, 87, 91, 91, 87, 1,235, 62,114,112,118, 67, 67,118,112,114, 62, 91,129, 82, - 38, 41, 72, 98, 57,203,203,130,138, 38, 82,129,255,255, 0,113, 0, 0, 4, 92, 7,117, 2, 38, 0, 48, 0, 0, 1, 7, 0,118, - 0,100, 1, 84, 0, 19, 64, 11, 1, 26, 5, 38, 1,100, 20, 23, 6, 12, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 92, 0, 0, - 4,115, 6, 33, 2, 38, 0, 80, 0, 0, 1, 6, 0,118,127, 0, 0, 19, 64, 11, 1, 39, 17, 38, 1,126, 33, 36, 17, 31, 37, 1, - 43, 53, 0, 43, 53, 0,255,255, 0, 33,253,213, 4,172, 5,188, 2, 38, 0, 36, 0, 0, 1, 6, 2, 91, 2, 0, 0, 23, 64, 13, - 3, 2, 30, 20, 39, 3, 2, 1, 25, 15, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,135,253,213, 4, 2, 4, 94, - 2, 38, 0, 68, 0, 0, 1, 6, 2, 91,251, 0, 0, 23, 64, 13, 3, 2, 49, 23, 39, 3, 2, 28, 44, 34, 8, 22, 37, 1, 43, 53, - 53, 0, 43, 53, 53, 0,255,255,254,200,255,236, 5, 12, 5,205, 0, 39, 0, 50, 0,145, 0, 0, 1, 7, 2, 92,253,155, 0, 0, - 0, 45, 64, 21, 3, 2, 43, 3, 3, 2, 96, 51, 1, 80, 51, 1, 64, 51, 1, 32, 51, 1, 0, 51, 1,184,255, 24,180, 51, 51, 2, - 2, 37, 1, 43, 93, 93, 93, 93, 93, 53, 53, 0, 63, 53, 53, 0, 0, 2, 1,131,253,213, 3, 72,255,131, 0, 19, 0, 31, 0, 77, - 64, 16, 20, 16, 19, 24, 72, 20,131, 15, 0, 31, 0, 47, 0, 3, 0, 26,184,255,240,182, 19, 24, 72, 26,131, 10, 29,184,255,248, - 64, 25, 21, 24, 72, 29,140, 0, 5, 16, 5, 32, 5,112, 5,192, 5, 5, 5, 23, 8, 21, 24, 72, 23,140, 15, 0, 47,225, 43,220, - 93,225, 43, 1, 47,225, 43,220, 93,225, 43, 49, 48, 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 7, 52, 38, - 35, 34, 6, 21, 20, 22, 51, 50, 54, 3, 72, 35, 62, 84, 49, 50, 82, 59, 32, 32, 59, 82, 50, 48, 84, 62, 36,117, 63, 50, 49, 63, - 57, 55, 50, 63,254,174, 51, 81, 56, 29, 29, 56, 79, 51, 51, 79, 56, 29, 29, 55, 79, 52, 53, 60, 60, 53, 53, 60, 60, 0, 0, 2, - 1, 45, 4,104, 3,139, 5,199, 0, 17, 0, 31, 0, 48, 64, 26, 64, 0, 1, 0, 64, 12, 12, 18, 32, 9, 12, 72, 18,128, 24, 23, - 30, 23, 30, 79, 3, 95, 3, 2, 3, 15, 0, 47,204, 93, 57, 57, 47, 47, 1, 47, 26,205, 43, 50, 47, 26,205, 93, 49, 48, 1, 52, - 54, 55, 21, 6, 6, 21, 20, 30, 2, 21, 20, 6, 35, 34, 38, 5, 62, 3, 55, 51, 21, 14, 3, 7, 35, 1, 45,120,122, 60, 57, 31, - 36, 31, 50, 46, 59, 68, 1, 53, 11, 25, 24, 22, 8,207, 18, 48, 56, 62, 31, 82, 4,231, 78,115, 31, 76, 22, 46, 24, 19, 18, 16, - 26, 28, 37, 39, 70, 37, 30, 75, 79, 81, 36, 20, 32, 77, 80, 81, 37, 0, 0, 2, 0, 66, 0, 0, 4, 41, 6, 31, 0, 39, 0, 52, - 0, 99, 64, 55, 22, 41, 28, 28, 39, 39, 2, 41, 6, 38, 3, 3, 6, 6, 10,223, 2, 1, 2, 2, 54, 40, 7, 7, 13, 0, 10, 16, - 10, 80, 10,160, 10,176, 10, 5, 10, 10, 7, 3, 82, 40, 13, 38, 15, 47, 32, 78, 19, 25, 1, 9, 5, 1, 21, 0, 63, 51, 51, 63, - 51,225, 50, 63, 51, 51,225, 50, 50, 1, 47, 93, 51, 51, 17, 51, 17, 51, 47, 93, 18, 57, 47, 51, 17, 51, 17, 51, 17, 51, 17, 51, - 17, 18, 57, 49, 48, 33, 35, 17, 35, 17, 35, 17, 35, 17, 35, 17, 35, 53, 55, 53, 52, 62, 2, 51, 50, 22, 23, 54, 54, 51, 50, 22, - 23, 7, 38, 38, 35, 34, 14, 2, 21, 21, 33, 33, 51, 53, 52, 55, 38, 38, 35, 34, 14, 2, 21, 4, 41,164,203,163,205,164,100,100, - 40, 77,112, 72, 49, 87, 34, 38,102, 63, 52, 91, 37, 41, 29, 69, 37, 38, 55, 36, 17, 1,111,253, 33,205, 24, 20, 45, 23, 35, 53, - 35, 18, 3,203,252, 53, 3,203,252, 53, 3,203, 65, 62, 82,106,141, 84, 35, 22, 13, 29, 27, 23, 14,131, 11, 17, 22, 52, 87, 64, -104,102,115, 78, 6, 8, 22, 52, 87, 64, 0, 2, 0, 66, 0, 0, 4, 41, 6, 31, 0, 39, 0, 52, 0, 97, 64, 54, 44, 20, 41, 26, - 26, 29, 41, 4, 38, 1, 1, 4, 4, 8,223, 29, 1, 29, 29, 54, 40, 5, 5, 11, 0, 8, 16, 8, 80, 8,160, 8,176, 8, 5, 8, - 8, 5, 1, 82, 40, 11, 38, 15, 7, 3, 28, 21, 47, 32, 78, 17, 23, 1, 0, 63, 51,225, 50, 63, 51, 51, 63, 51, 51,225, 50, 50, - 1, 47, 93, 51, 51, 17, 51, 17, 51, 47, 93, 18, 57, 47, 51, 17, 51, 17, 51, 17, 51, 17, 18, 57, 57, 49, 48, 1, 35, 17, 35, 17, - 35, 17, 35, 17, 35, 53, 55, 53, 52, 62, 2, 51, 50, 22, 23, 54, 54, 51, 50, 23, 51, 17, 35, 17, 38, 38, 35, 34, 14, 2, 21, 21, - 51, 33, 51, 53, 52, 55, 38, 38, 35, 34, 14, 2, 21, 3, 72,142,163,205,164,100,100, 40, 77,112, 72, 49, 87, 34, 38,102, 63, 48, - 46,131,164, 14, 29, 14, 38, 55, 36, 17,142,254, 2,205, 24, 20, 45, 23, 35, 53, 35, 18, 3,203,252, 53, 3,203,252, 53, 3,203, - 65, 62, 82,106,141, 84, 35, 22, 13, 29, 27, 11,249,236, 5,141, 3, 3, 22, 52, 87, 64,104,102,115, 78, 6, 8, 22, 52, 87, 64, - 0, 2, 0, 84,255,236, 4,246, 6, 20, 0, 32, 0, 52, 0, 51, 64, 28, 23, 91, 25, 43, 91, 30, 18, 0, 54, 33, 91, 31, 10, 47, - 10, 2, 10, 30, 48, 95, 23, 18, 15, 4, 38, 95, 5, 19, 0, 63,225, 63, 51,206,225, 50, 1, 47, 93,225, 16,222, 50, 50,225,214, -225, 49, 48, 1, 20, 2, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, 62, 3, 55, 51, 23, 14, 3, 7, 22, 22, - 5, 20, 30, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 14, 2, 4,123, 64,132,200,135,142,201,129, 60, 60,129,203,142,124,187, - 66, 18, 23, 13, 6, 2,198, 15, 11, 33, 49, 68, 46, 42, 42,252,158, 36, 79,128, 92, 93,128, 78, 35, 35, 78,127, 92, 93,128, 80, - 36, 2,221,169,254,234,198,108,108,198, 1, 23,170,170, 1, 21,196,107, 90, 86, 19, 52, 63, 73, 40, 22, 52, 99, 87, 74, 28, 91, -233,137,137,219,153, 81, 81,153,219,137,138,218,151, 81, 81,151,218, 0, 0, 2, 0,115,255,236, 4,246, 4,242, 0, 32, 0, 43, - 0, 53, 64, 28, 18, 30, 30, 0, 23, 74, 25, 38, 72, 0, 45, 33, 72, 0, 10, 1, 10, 30, 41, 80, 23, 18, 15, 16, 36, 80, 5, 22, - 0, 63,225, 63, 51,198,225, 50, 1, 47, 93,225, 16,222,225,220,225, 17, 51, 17, 51, 48, 49, 1, 20, 14, 2, 35, 34, 46, 2, 53, - 52, 62, 2, 51, 50, 22, 23, 62, 3, 53, 51, 23, 14, 3, 7, 22, 22, 5, 20, 22, 51, 32, 17, 52, 38, 35, 34, 6, 4, 88, 74,133, -184,111,103,180,134, 78, 73,132,185,111, 97,171, 66, 38, 43, 21, 5,198, 15, 15, 42, 57, 75, 49, 38, 42,252,215,157,154, 1, 54, -157,155,154,155, 2, 39,137,213,145, 76, 76,145,213,137,136,211,145, 75, 66, 65, 16, 56, 72, 87, 48, 23, 69,114, 91, 67, 21, 66, -165, 99,211,209, 1,164,210,206,206, 0, 0, 1, 0,125,255,236, 5, 23, 6, 20, 0, 38, 0, 54, 64, 30, 6, 91, 96, 8,112, 8, - 2, 8, 37, 90, 1, 14, 40, 27, 90, 0, 24, 1, 24, 13, 1, 1, 38, 6, 25, 3, 32, 95, 19, 19, 0, 63,225, 63,206, 51, 51, 47, - 51, 1, 47, 93,225, 16,222, 50,225,220, 93,225, 49, 48, 1, 21, 62, 3, 53, 51, 23, 14, 3, 7, 17, 20, 14, 2, 35, 34, 46, 2, - 53, 17, 51, 17, 20, 30, 2, 51, 50, 62, 2, 53, 17, 3,182, 47, 55, 29, 9,198, 15, 15, 48, 82,121, 87, 45, 99,159,115,108,154, - 99, 46,186, 24, 54, 89, 65, 67, 86, 49, 19, 5,182,194, 8, 52, 77, 97, 54, 22, 69,127,105, 75, 17,253,102,114,183,129, 69, 65, -126,186,122, 3,215,252, 51, 87,130, 86, 43, 48, 90,129, 82, 3,202, 0, 0, 1, 0,160,255,236, 5, 23, 4,242, 0, 39, 0, 87, -183, 31, 74, 0, 33, 16, 33, 2, 33,184,255,192,179, 20, 23, 72, 33,184,255,192, 64, 35, 14, 17, 72, 33, 1, 0, 23, 71, 26, 38, - 41, 14, 71, 0, 13,176, 13, 2, 13, 38, 26, 26, 13, 31, 31, 24, 13, 15, 2, 18, 80, 7, 22, 0, 21, 0, 63, 63,225, 50, 63, 51, - 51, 47, 17, 51, 47, 51, 1, 47, 93,225, 16,222, 50,225, 50, 50,221, 43, 43, 93,225, 48, 49, 33, 39, 35, 14, 3, 35, 34, 46, 2, - 53, 17, 51, 17, 20, 22, 51, 50, 62, 2, 53, 17, 51, 21, 62, 3, 53, 51, 23, 14, 3, 7, 17, 3, 18, 26, 8, 22, 60, 72, 80, 41, - 79,119, 79, 40,182, 84, 90, 66, 90, 56, 24,182, 52, 62, 32, 10,198, 15, 15, 50, 85,127, 92,147, 43, 63, 41, 20, 46, 98,152,105, - 2,205,253, 61,130,130, 52,101,148, 96, 2, 58,123, 6, 50, 78,101, 56, 23, 70,136,110, 72, 7,252,176,255,255, 1,162, 4,217, - 3, 43, 6, 33, 2, 6, 0, 67, 0, 0,255,255, 1,162, 4,217, 3, 43, 6, 33, 2, 6, 0,118, 0, 0,255,255, 0,254, 4,217, - 3,205, 5,227, 2, 6, 1, 82, 0, 0, 0, 1, 1,172, 4,184, 3, 33, 6,143, 0, 27, 0, 46, 64, 23, 7, 5, 8, 8, 21, 13, -132, 0, 0, 21, 5, 8, 8, 6, 18,141, 15, 25, 31, 25, 2, 25, 6, 0, 47,220, 93,225, 18, 57, 47, 51, 1, 47, 51, 47,225, 17, - 57, 47, 51, 51, 48, 49, 1, 20, 14, 2, 7, 7, 35, 39, 62, 3, 53, 52, 46, 2, 35, 34, 6, 7, 53, 54, 54, 51, 50, 22, 3, 33, - 27, 45, 60, 34, 10,113, 14, 37, 59, 42, 23, 20, 36, 50, 29, 28, 52, 16, 16, 50, 41,133,133, 5,211, 39, 58, 41, 26, 8,111,176, - 6, 16, 24, 33, 24, 24, 32, 19, 7, 3, 3,108, 3, 5, 91, 0, 0, 1, 1,252,254,152, 2,209,255,125, 0, 13, 0, 15,181, 6, -135, 0, 11,145, 3, 0, 47,237, 1, 47,237, 48, 49, 5, 52, 54, 51, 50, 22, 21, 20, 14, 2, 35, 34, 38, 1,252, 61, 45, 44, 63, - 17, 29, 39, 22, 45, 61,246, 60, 55, 55, 60, 29, 43, 28, 14, 55,255,255, 0,217, 0, 0, 4, 35, 7,115, 2, 38, 0, 40, 0, 0, - 1, 7, 0, 67,255,183, 1, 82, 0, 21,180, 1, 12, 5, 38, 1,184,255,160,180, 15, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0,137, 0, 0, 4, 70, 7,115, 2, 38, 1,178, 0, 0, 1, 7, 0, 67,255,181, 1, 82, 0, 21,180, 1, 17, 5, 38, 1, -184,255,180,180, 20, 17, 0, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,133,255,236, 4, 72, 6, 33, 2, 38, 0, 72, 0, 0, - 1, 6, 0, 67,212, 0, 0, 21,180, 2, 23, 17, 38, 2,184,255,212,180, 26, 23, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0,160, 0, 0, 4, 45, 6, 33, 2, 38, 1,210, 0, 0, 1, 6, 0, 67,179, 0, 0, 21,180, 1, 12, 17, 38, 1,184,255,179,180, - 15, 12, 10, 4, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0, 82,255,236, 4,123, 5,201, 0, 60, 0,117, 64, 31, 12, 15, 13,191, - 13, 2, 13, 64, 12, 17, 72, 13, 13, 19, 29, 0,251, 58, 58, 39, 7,251, 19, 62, 46, 0, 45,176, 45, 2, 45,184,255,192, 64, 34, - 12, 17, 72, 45, 45, 51,251, 47, 39, 1, 39, 59, 59, 56, 42, 12, 46, 46, 10, 48, 95, 16, 42, 4, 0, 58, 58, 29, 2, 56, 95, 24, - 34, 19, 0, 63, 51,225, 50, 50, 50, 17, 51, 63, 51,241, 50,194, 47, 50, 17, 18, 57, 47, 1, 47, 93,225, 50, 47, 43, 93, 51, 16, -222,225, 17, 57, 47,225, 57, 17, 51, 47, 43, 93, 51, 49, 48, 37, 22, 51, 50, 62, 2, 53, 16, 2, 35, 34, 7, 39, 54, 54, 51, 50, - 18, 17, 20, 2, 6, 6, 35, 34, 46, 2, 39, 14, 3, 35, 34, 38, 38, 2, 53, 16, 18, 51, 50, 22, 23, 7, 38, 35, 34, 2, 17, 20, - 30, 2, 51, 50, 55, 17, 51, 2,188, 39, 56, 48, 67, 42, 19, 78, 66, 55, 41, 47, 34, 88, 48,146,147, 34, 78,128, 94, 33, 54, 46, - 43, 23, 22, 42, 46, 53, 33, 94,128, 79, 35,147,146, 48, 88, 34, 47, 41, 56, 66, 77, 19, 43, 68, 48, 57, 37,170,186, 43, 89,164, -229,141, 1, 19, 1, 20, 29,152, 23, 18,254,153,254,154,192,254,219,198,101, 13, 24, 37, 24, 24, 37, 24, 13,101,198, 1, 37,192, - 1,102, 1,103, 18, 23,152, 29,254,236,254,237,141,229,164, 89, 43, 1,220, 0, 0, 1,255,252, 0, 0, 4,137, 4, 74, 0, 42, - 0,122, 64, 46, 7, 13, 1, 13, 38, 14, 33, 21,253, 34, 1,187, 34, 1, 34, 34, 27, 15, 73, 95, 14, 1, 14, 14, 1, 27, 73, 12, - 28, 1, 28, 44, 42, 6, 0, 0, 1,166, 0,182, 0, 2,148, 0, 1, 0,184,255,192, 64, 23, 11, 15, 72, 0, 0, 2, 73, 1, 38, - 13, 13, 0, 27, 14, 1, 15, 21, 34, 34, 7, 79, 0, 21, 0, 63,225, 51, 17, 51, 63, 51, 51, 18, 57, 17, 51, 1, 47,225, 51, 47, - 43, 93, 93,113, 51, 51, 16,222, 93,225, 17, 57, 47, 93,225, 17, 51, 47, 93, 93, 51, 51, 18, 57, 57, 93, 49, 48, 33, 1, 51, 19, - 22, 22, 23, 51, 62, 3, 55, 19, 3, 51, 19, 30, 3, 23, 51, 62, 2, 18, 53, 51, 20, 2, 2, 6, 7, 35, 3, 38, 38, 39, 6, 6, - 7, 3, 1, 27,254,225,160,163, 20, 34, 8, 4, 5, 15, 18, 20, 10, 86,109,150,137, 8, 22, 23, 22, 7, 6, 63, 79, 45, 16,153, - 26, 66,113, 88,163, 84, 7, 11, 3, 5, 16, 8,106, 4, 74,253, 92, 85,157, 51, 18, 56, 65, 67, 30, 1, 16, 1,205,253,176, 33, - 96,103, 96, 33,104,210,230, 1, 2,151,163,254,224,254,245,253,127, 1, 84, 26, 56, 20, 20, 62, 22,254,174, 0, 0, 2, 0, 20, - 0, 0, 4,117, 6, 20, 0, 22, 0, 33, 0, 65, 64, 33, 19, 0, 23, 90, 16, 12, 12, 14, 27, 91, 21, 6, 35, 14, 33, 95, 0, 22, - 14, 95, 15, 19, 15, 0, 15, 0, 15, 17, 0, 23, 96, 12, 18, 0, 63,225, 63, 57, 57, 47, 47, 17, 51, 16,225, 50, 16,225, 1, 47, - 16,222,204,225, 17, 57, 47, 51,225, 50, 50, 48, 49, 1, 51, 50, 30, 2, 21, 20, 14, 2, 35, 33, 17, 33, 53, 33, 17, 51, 17, 33, - 21, 33, 17, 51, 50, 54, 53, 52, 46, 2, 35, 35, 1,250, 94,152,207,127, 55, 60,126,194,134,254,204,254,213, 1, 43,187, 1,137, -254,119,104,175,163, 46, 91,138, 93, 74, 3, 78, 66,113,152, 87, 97,158,112, 61, 4, 96,164, 1, 16,254,240,164,252, 64,132,136, - 70, 97, 60, 27, 0, 2, 0, 20, 0, 0, 4, 88, 5, 39, 0, 20, 0, 33, 0, 67, 64, 34, 0, 0, 28, 19, 2, 22, 71, 16, 12, 12, - 14, 28, 70, 6, 35, 14, 1, 13, 80, 16, 21, 80, 2, 2, 19, 16, 17, 17, 16, 15, 22, 80, 12, 21, 0, 63,225, 63, 51, 47, 17, 51, - 57, 47,225, 16,225, 50, 1, 47, 16,222,225, 17, 57, 47, 51,225, 50, 50, 17, 57, 47, 48, 49, 1, 33, 17, 33, 50, 22, 21, 20, 14, - 2, 35, 33, 17, 35, 53, 51, 53, 51, 21, 33, 1, 17, 51, 50, 62, 2, 53, 52, 46, 2, 35, 2,227,254,213, 1, 0,212,204, 47,101, -159,113,254, 78,238,238,182, 1, 43,254,213,240, 55, 93, 68, 38, 33, 65, 96, 64, 3,176,254,215,156,155, 77,124, 88, 47, 3,176, -154,221,221,253,164,254,168, 17, 41, 66, 48, 49, 66, 40, 17, 0, 0, 1, 0, 98,255,236, 4,182, 5,203, 0, 45, 0, 86, 64, 48, - 5, 8, 34, 27, 64, 9, 12, 72, 15, 7, 1, 27, 7, 17, 17, 7, 27, 3, 30, 42, 47, 33, 29,251, 30, 8, 28, 95, 5, 33, 33, 13, - 43, 0, 95, 42, 39, 4, 31, 3, 30, 18, 16, 13, 95, 17, 22, 19, 0, 63, 51,225, 50, 63, 63, 63, 51,225, 50, 18, 57, 47, 51,225, - 50, 1, 47,225, 50, 16,206, 17, 23, 57, 47, 47, 47, 93, 43, 51,201, 50, 48, 49, 1, 34, 14, 2, 7, 33, 21, 33, 30, 3, 51, 50, - 54, 55, 21, 14, 3, 35, 34, 38, 38, 2, 39, 35, 17, 35, 17, 51, 17, 51, 62, 3, 51, 50, 22, 23, 7, 38, 38, 3,145, 68,114, 85, - 55, 9, 1,211,254, 41, 3, 45, 85,125, 82, 66,116, 57, 30, 59, 64, 73, 44,120,178,120, 62, 4,139,166,166,144, 11, 76,128,178, -112, 84,149, 60, 73, 45,106, 5, 39, 64,122,176,111,162,130,201,138, 72, 35, 23,162, 15, 23, 14, 7,100,184, 1, 3,159,253, 86, - 5,182,253,152,143,235,167, 92, 44, 42,156, 32, 46, 0, 0, 1, 0,160,255,236, 4,123, 4, 94, 0, 45, 0, 85, 64, 47, 31, 34, - 73, 12, 15, 5, 31, 5, 2, 5, 33, 5, 33, 8, 43, 22, 47, 11, 7, 73, 0, 8, 1, 8, 23, 28, 81, 17, 34, 6, 80, 31, 11, 11, - 22, 17, 16, 9, 15, 8, 21, 42, 39, 81, 43, 0, 22, 0, 63, 50,225, 50, 63, 63, 63, 51, 57, 47, 51,237, 50, 16,225, 50, 1, 47, - 93,225, 50, 16,206, 50, 17, 57, 57, 47, 47, 93, 51,225, 50, 48, 49, 5, 34, 46, 2, 39, 35, 17, 35, 17, 51, 17, 51, 62, 3, 51, - 50, 30, 2, 23, 7, 46, 3, 35, 34, 6, 7, 33, 21, 33, 30, 3, 51, 50, 54, 55, 21, 6, 6, 3,127, 85,149,114, 70, 6,149,162, -162,151, 11, 75,114,147, 83, 34, 68, 64, 57, 21, 47, 21, 50, 52, 51, 23,123,129, 12, 1,162,254, 92, 4, 36, 64, 93, 61, 72,115, - 48, 47,110, 20, 58,123,193,135,254, 23, 4, 74,254, 57,128,181,114, 52, 9, 16, 22, 12,154, 10, 19, 15, 9,151,166,154, 92,132, - 84, 40, 37, 25,162, 29, 30, 0, 0, 2, 0, 0, 0, 0, 4,205, 5,182, 0, 11, 0, 20, 0,169, 64, 32, 16, 15, 14, 13, 8, 7, - 17, 7, 14, 15, 16, 3, 17, 7, 8, 7, 24, 7, 2, 7, 6, 7, 5, 1,199, 5,215, 5,231, 5, 3, 5,184,255,248, 64, 64, 10, - 16, 72, 5, 17, 18, 19, 20, 1, 2, 17, 2, 20, 19, 18, 3, 2, 8, 4, 1,200, 4,216, 4,232, 4, 3, 4, 8, 10, 16, 72, 4, - 17, 17, 21, 6, 10,251, 21, 11, 1, 11, 11, 3, 6, 2, 3, 9, 8, 1, 96, 13, 12, 12, 2, 17, 95, 4, 3, 11, 7, 2, 18, 0, - 63, 51, 51, 63,225, 18, 57, 47, 51,225, 50, 50, 1, 47, 51, 47, 18, 57, 47, 93,225, 17, 18, 57, 17, 51, 43, 93,113, 18, 0, 23, - 57, 16,125,135, 5,196,196,196,196, 17, 1, 51, 43, 93,113, 17, 51, 93, 17, 18, 0, 23, 57, 16,135, 5,196,196,196,196,196, 49, - 48, 1, 35, 3, 35, 1, 51, 1, 35, 3, 35, 17, 35, 3, 33, 39, 38, 38, 39, 6, 6, 7, 2, 16,112,238,178, 2, 8,187, 2, 10, -182,238,115,166, 55, 1, 29, 39, 37, 51, 19, 18, 60, 28, 2,170,253, 86, 5,182,250, 74, 2,170,253, 86, 3, 68,110,105,170, 75, - 75,183, 92, 0, 0, 2, 0, 61, 0, 0, 4,141, 4, 74, 0, 11, 0, 23, 0,210, 64,108, 18, 19, 20, 21, 22, 8, 9, 17, 21, 20, - 19, 18, 4, 17, 71, 9, 1, 9, 71, 10, 5, 73, 6,168, 11,184, 11, 2,138, 11,154, 11, 2, 11, 8, 12, 16, 72, 11, 23, 12, 13, - 14, 15, 17, 2, 17, 15, 14, 13, 12, 4, 2,198, 0, 1,179, 0, 1,165, 0, 1,134, 0,150, 0, 2,117, 0, 1, 70, 0, 86, 0, -102, 0, 3, 55, 0, 1, 0, 17, 17,134, 6,150, 6, 2, 21, 6, 37, 6, 2, 6, 6, 1, 10, 72, 2, 1, 2, 1, 4, 3, 8, 80, - 23, 22,184,255,192, 64, 20, 9, 12, 72, 22, 22, 1, 11, 16, 17, 82, 11, 15, 9, 21, 2, 21, 10, 6, 1, 21, 0, 63, 51, 51, 63, - 63, 63,241,196, 17, 18, 57, 47, 43, 51,225, 50, 50, 1, 47,193, 93, 47, 18, 57, 47, 93, 93, 57, 17, 51, 93, 93, 93, 93, 93, 93, - 93, 18, 0, 23, 57, 16,125,135, 5,196,196,196,196,196, 1, 51, 43, 93, 93, 16,225, 16,241, 93, 17, 0, 23, 57,135, 5,196,196, -196,196,196,196, 49, 48, 1, 1, 35, 3, 35, 17, 35, 17, 35, 3, 35, 1, 18, 46, 2, 39, 35, 14, 3, 7, 51, 2,217, 1,180,188, -184, 99,162,104,184,183, 1,181,225, 35, 35, 29, 8, 12, 8, 30, 34, 34, 13,252, 4, 74,251,182, 1,233,254, 23, 1,233,254, 23, - 4, 74,254, 92, 90, 93, 86, 30, 29, 87, 93, 91, 34, 0, 0, 2, 0, 98, 0, 0, 4,252, 5,182, 0, 19, 0, 28, 1, 4, 64,138, -198, 13, 1,183, 13, 1,166, 13, 1,119, 13, 1, 13, 25,136, 21, 1, 89, 21,105, 21, 2, 24, 23, 22, 21, 16, 15, 25, 15, 22, 23, - 24, 3, 25, 15, 86, 20,102, 20,134, 20, 3, 26, 27, 28, 20, 1, 2, 25, 2, 28, 27, 26, 3, 2,216, 12, 1,201, 12, 1,120, 12, -168, 12,184, 12, 3, 12, 25, 25, 14, 3, 6, 18, 1, 18,251, 19, 1,204, 19, 1,181, 19, 1,166, 19, 1, 90, 19,106, 19,138, 19, - 3, 5, 19, 1, 19, 19, 7, 15, 0, 14, 1, 14, 23, 2, 1, 2, 50, 3, 1, 41, 3, 1, 24, 3, 1, 3, 3, 10, 6,251, 7, 17, - 16, 1, 96, 20, 21, 20, 80, 20, 1, 20,184,255,192, 64, 20, 9, 12, 72, 20, 4, 5, 96, 11, 10, 10, 2, 25, 12, 8, 3, 19, 15, - 7, 2, 18, 0, 63, 51, 51, 51, 63, 51,192, 18, 57, 47, 51,225, 50, 51, 43, 93, 17, 51, 16,237, 50, 50, 1, 47,225, 50, 50, 47, - 93, 93, 93,193, 93, 47, 93,193, 18, 57, 47, 93, 93, 93, 93, 93, 93,193, 93, 17, 18, 57, 17, 51, 93, 93, 93, 18, 0, 23, 57, 16, -125,135, 5,196,196,196,196,196, 1, 93, 17, 18, 0, 23, 57, 16,135, 5,196,196,196,196,196, 1, 93, 93, 17, 51, 93, 93, 93, 93, - 48, 49, 1, 35, 3, 35, 19, 33, 17, 35, 17, 51, 17, 33, 19, 51, 1, 35, 3, 35, 17, 35, 3, 51, 39, 38, 38, 39, 6, 6, 7, 2, -215, 47,168,168,176,255, 0,166,166, 1, 39,162,174, 1,125,168,172, 45,164, 8,182, 18, 22, 40, 12, 12, 38, 20, 2,170,253, 86, - 2,170,253, 86, 5,182,253,148, 2,108,250, 74, 2,170,253, 86, 3, 74, 84, 97,153, 75, 75,153, 91, 0, 0, 2, 0,123, 0, 0, - 5, 10, 4, 74, 0, 19, 0, 31, 0,200, 64,122, 17, 13, 73, 14,102, 5, 1, 84, 5, 1, 5, 73, 4, 6, 20, 6, 52, 6, 68, 6, - 4,244, 6, 1,203, 6, 1,188, 6, 1,165, 6, 1,106, 6, 1, 89, 6, 1, 69, 6, 1, 51, 6, 1, 27, 6, 1, 6, 6, 1, 0, - 14, 16, 14, 2, 14, 18, 11, 10, 19, 10, 19, 8, 24, 30, 9, 3, 25, 30, 2, 0,100, 30, 1, 30, 30, 2, 9,192, 10, 1, 15, 10, - 1, 0, 10, 1, 10, 2, 0, 1, 80, 1, 2, 1, 30, 4, 3, 8, 80, 24, 25, 24, 24, 11, 12, 80, 18, 17, 17, 1, 19, 15, 15, 9, - 2, 14, 10, 6, 1, 21, 0, 63, 51, 51, 51, 47, 47, 63, 51, 18, 57, 47, 51,225, 50, 51, 17, 51, 16,225, 50, 50, 47, 1, 47, 93, -193, 47, 93,113,113,193, 17, 57, 25, 47, 93, 51,135,192,192,135,192,192, 1, 51, 16,125,135,196,196, 1, 24, 47, 93, 18, 57, 47, - 93, 93, 93, 93, 93, 93, 93, 93, 93,113,225, 93, 93, 16,225, 50, 49, 48, 1, 1, 35, 3, 35, 17, 35, 17, 35, 3, 35, 19, 35, 17, - 35, 17, 51, 17, 33, 19, 22, 14, 2, 7, 51, 46, 3, 39, 35, 3,158, 1,108,168,155, 58,161, 58,158,165,163,245,162,162, 1, 39, -151, 92, 21, 26, 27, 12,183, 12, 28, 26, 21, 4, 2, 4, 74,251,182, 1,233,254, 23, 1,233,254, 23, 1,233,254, 23, 4, 74,254, - 57, 1,199,144, 86, 96, 94, 35, 35, 94, 96, 86, 25, 0, 0, 2, 0, 0, 0, 0, 4,205, 5,182, 0, 35, 0, 38, 0, 83, 64, 44, - 36, 11, 26,251, 6, 74, 27, 90, 27, 2, 22, 27, 1, 27, 27, 40, 0, 37, 10, 10, 18, 40, 38, 7, 7, 35, 39, 0, 25, 29, 97, 36, - 11, 6, 6, 0, 38, 95, 8, 3, 27, 18, 0, 18, 0, 63, 50, 50, 63,225, 18, 57, 47, 51, 51,225, 50, 1, 47, 17, 51, 51, 47, 51, - 17, 51, 51, 47, 51, 17, 18, 57, 47, 93, 93, 51,225, 50, 57, 48, 49, 49, 19, 62, 3, 55, 1, 53, 33, 21, 1, 30, 3, 23, 19, 35, - 3, 46, 3, 35, 35, 17, 35, 17, 35, 34, 14, 2, 7, 3, 1, 1, 33,113, 21, 49, 76,114, 86,254,178, 3,213,254,178, 89,113, 74, - 47, 21,113,170,113, 18, 34, 49, 70, 54, 23,168, 22, 54, 70, 49, 34, 18,113, 1,192, 1, 37,253,181, 1,197, 85,136, 98, 58, 6, - 1,231,139,139,254, 25, 6, 56, 98,137, 86,254, 59, 1,193, 72, 95, 57, 23,253, 72, 2,184, 23, 57, 95, 72,254, 63, 3, 96, 1, -178, 0, 0, 2, 0, 10, 0, 0, 4,195, 4, 74, 0, 35, 0, 38, 0,117, 64, 68, 36,102, 11, 1, 11, 26, 73, 6,183, 27, 1,165, - 27, 1,148, 27, 1,139, 27, 1,122, 27, 1, 89, 27, 1, 75, 27, 1, 27, 27, 39, 17, 38, 0, 7, 1, 7, 7, 35, 39, 37, 15, 10, - 1, 10, 10, 17, 10, 7, 7, 8, 25, 28, 82, 36, 11, 6, 6, 0, 38, 80, 8, 15, 27, 18, 0, 21, 0, 63, 50, 50, 63,225, 18, 57, - 47, 51, 51,225, 50, 17, 51, 17, 51, 1, 47, 51, 47, 93, 51, 17, 51, 51, 47, 93, 51, 17, 18, 57, 47, 93, 93, 93, 93, 93, 93, 93, - 51,225, 50, 93, 57, 48, 49, 51, 19, 62, 3, 55, 1, 53, 33, 21, 1, 30, 3, 23, 19, 35, 3, 46, 3, 35, 35, 17, 35, 17, 35, 34, - 14, 2, 7, 3, 1, 19, 33, 10,119, 21, 42, 66,100, 80,254,215, 3,181,254,210, 80,100, 66, 44, 22,119,181,118, 20, 36, 47, 66, - 51, 4,164, 4, 51, 66, 48, 36, 20,119, 1,168,246,254, 25, 1, 84, 61,101, 77, 49, 9, 1,100,105,105,254,156, 8, 49, 76,102, - 62,254,172, 1, 80, 54, 72, 43, 17,253,246, 2, 10, 17, 43, 72, 54,254,176, 2,131, 1, 45, 0, 0, 2, 0, 92, 0, 0, 4,233, - 5,182, 0, 40, 0, 43, 0,115, 64, 64, 41, 16, 31,251, 11, 5, 32, 1, 32, 32, 0, 23,251, 22, 42, 91, 15, 15, 0, 22, 1, 22, - 43, 90, 12, 12, 40,251, 4, 47, 0, 1, 0, 0, 6,251, 32, 7, 48, 7, 2, 7, 15, 12, 12, 13, 13, 8, 34, 30, 5, 96, 41, 10, - 10, 0, 43, 8, 3, 32, 23, 7, 0, 18, 0, 63, 50, 50, 50, 63,192, 18, 57, 47,196,237, 50, 50, 17, 51, 17, 51, 17, 51, 1, 47, - 93,225, 50, 47, 93, 51,225, 51, 47,225, 47, 93, 51, 47,225, 16,225, 17, 57, 47, 93, 51,225, 50, 57, 49, 48, 33, 19, 54, 54, 55, - 35, 17, 35, 17, 51, 17, 33, 3, 53, 33, 21, 1, 30, 3, 23, 19, 35, 3, 46, 3, 35, 35, 17, 35, 17, 35, 34, 14, 2, 7, 3, 1, - 19, 33, 1, 96, 56, 9, 19, 23,201,166,166, 1,127,246, 3, 58,254,254, 65, 83, 52, 29, 10, 55,170, 55, 9, 16, 28, 46, 38, 8, -164, 8, 39, 45, 28, 16, 9, 56, 1, 27,223,254, 66, 1,197, 81,108, 40,253, 86, 5,182,253,148, 1,225,139,139,254, 25, 6, 56, - 97,137, 87,254, 59, 1,193, 73, 95, 56, 23,253, 72, 2,184, 23, 56, 95, 73,254, 63, 3, 90, 1,184, 0, 0, 2, 0,123, 0, 0, - 5, 10, 4, 74, 0, 40, 0, 43, 0,149, 64, 91, 41, 16, 31, 73, 26, 11, 1, 9, 11, 1, 11, 5, 32, 1,245, 32, 1,196, 32, 1, -182, 32, 1,117, 32, 1,104, 32, 1, 6, 32, 1, 32, 32, 22, 0, 42, 72, 15, 15, 23, 73, 0, 22, 1, 22, 43, 72, 96, 12, 1, 12, - 12, 40, 73, 42, 4, 1, 4,175, 0, 1, 0, 0, 10, 6, 73, 0, 7, 16, 7, 2, 7, 30, 34, 34, 5, 80, 41, 10, 10, 0, 43, 13, - 8, 15, 32, 23, 7, 0, 21, 0, 63, 50, 50, 50, 63, 51,192, 18, 57, 47, 51,241,192, 47, 50, 1, 47, 93,225, 50, 50, 47, 93, 51, - 93,225, 51, 47, 93,225, 47, 93,225, 51, 47,225, 17, 18, 57, 47, 93, 93, 93, 93, 93, 93,113, 51, 93, 93,225, 50, 57, 49, 48, 33, - 19, 54, 54, 55, 35, 17, 35, 17, 51, 17, 33, 3, 53, 33, 21, 3, 30, 3, 23, 19, 35, 3, 46, 3, 35, 35, 17, 35, 17, 35, 34, 14, - 2, 7, 3, 1, 19, 33, 1,115, 73, 11, 26, 17,213,162,162, 1,129,230, 3, 11,238, 61, 78, 51, 32, 14, 73,164, 73, 12, 19, 28, - 41, 33, 9,161, 9, 33, 41, 27, 20, 12, 76, 1, 41,193,254,125, 1, 84, 50, 67, 32,254, 23, 4, 74,254, 57, 1, 94,105,105,254, -158, 8, 49, 77,103, 62,254,172, 1, 80, 53, 71, 44, 18,253,246, 2, 10, 18, 44, 71, 53,254,176, 2,131, 1, 45, 0, 1, 0,117, -254, 70, 4, 39, 6,213, 0,118, 0,131, 64, 68, 98, 71, 81, 81, 77, 89, 89,108, 57, 91,103,103, 44, 91,114, 18, 18,114,120, 78, - 0, 77, 1, 77, 77, 67, 68, 68, 34, 50, 50, 5, 90, 34, 90, 93, 64, 86, 86, 78,128, 67, 62, 97, 98,108, 50, 97, 51, 51, 81, 71, - 68, 98, 4, 39, 96, 0, 18, 15, 10, 95, 24, 19, 29, 29, 0, 19, 0, 63, 50, 47, 51, 51,225, 50, 50, 16,225, 63, 51, 51, 51, 57, - 47,225, 57, 16,225, 50, 26,204, 50, 47, 26,205, 50, 1, 47,225, 51, 47, 17, 51, 47, 51, 51, 47, 93, 51, 16,206, 50, 47, 16,225, - 51, 47,225, 50, 51, 47, 18, 57, 17, 51, 51, 48, 49, 5, 34, 14, 2, 21, 20, 30, 2, 51, 50, 62, 2, 51, 50, 22, 23, 21, 46, 3, - 35, 34, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 62, 2, 53, 52, 46, 2, 35, 35, 53, 51, 50, 62, 2, 53, 52, 46, 2, 35, - 34, 14, 2, 7, 39, 54, 54, 55, 46, 3, 39, 53, 51, 22, 22, 23, 62, 3, 51, 50, 22, 23, 21, 38, 38, 35, 34, 14, 2, 7, 30, 3, - 21, 20, 14, 2, 7, 21, 30, 3, 21, 20, 14, 2, 2, 29, 71, 91, 52, 20, 14, 36, 61, 47, 65, 97, 84, 81, 50, 86, 94, 25, 8, 32, - 53, 78, 53, 49, 71, 74, 92, 70,104,135, 80, 31, 49,102,157,107, 89,128, 81, 38, 56,104,144, 89,190,176, 92,142, 97, 50, 38, 68, - 95, 57, 55, 97, 86, 79, 38, 92, 59,167,102, 24, 55, 54, 50, 20,121, 51, 98, 54, 26, 58, 67, 75, 42, 31, 47, 14, 11, 33, 17, 22, - 49, 48, 46, 20, 83,125, 85, 43, 51, 91,125, 75, 88,137, 95, 49, 66,132,195, 20, 18, 32, 41, 24, 22, 36, 26, 14, 4, 4, 4, 24, - 15,182, 7, 18, 16, 12, 3, 3, 2, 41, 72, 96, 55, 60, 98, 70, 38, 38, 72,106, 67, 71,101, 63, 29,151, 39, 72,101, 61, 54, 83, - 58, 30, 18, 31, 45, 27,125, 48, 75, 17, 30, 66, 63, 57, 23, 27, 34, 97, 56, 36, 70, 56, 35, 9, 5,119, 5, 7, 23, 41, 56, 33, - 13, 63, 92,118, 69, 73,120, 88, 57, 12, 6, 11, 57, 89,119, 72, 96,160,116, 64, 0, 1, 0,143,254,115, 4, 8, 5, 82, 0,110, - 0,166, 64, 96, 20, 75, 70, 26,136, 96, 1,105, 96,121, 96, 2, 58, 96, 1, 41, 96, 1, 96,197, 10, 1,103, 10,119, 10, 2, 69, - 10, 85, 10, 2, 39, 10, 1, 10,106,106, 93, 86, 70, 15, 4, 4, 15, 15, 49, 49, 26,112, 64,103,102,102, 92, 93, 93, 65, 79, 79, - 36, 73, 65, 7, 82, 0, 0,103,128, 92, 89, 78, 96, 21, 79, 80, 80, 80,106, 93, 10, 96, 16, 70, 78, 31, 49, 46, 41, 80, 55, 50, - 60, 60, 31, 22, 0, 63, 51, 47, 51, 51,225, 50, 50, 16,225, 63, 51, 51, 51, 57, 47,225, 57, 16,225, 50, 26,205, 50, 47,225, 1, - 47,225, 51, 47, 17, 51, 47, 51, 51, 47, 51, 26, 16,206, 50, 47, 50, 47, 51, 47, 16,225, 18, 57, 17, 51, 93, 93, 93, 93, 51, 93, - 93, 93, 93, 16,225, 50, 48, 49, 1, 50, 22, 23, 21, 38, 38, 35, 34, 6, 7, 30, 3, 21, 20, 14, 2, 7, 21, 30, 3, 21, 20, 14, - 2, 35, 34, 14, 2, 21, 20, 30, 2, 51, 50, 62, 2, 51, 50, 22, 23, 21, 46, 3, 35, 34, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, - 51, 50, 62, 2, 53, 52, 38, 35, 35, 53, 51, 50, 62, 2, 53, 52, 38, 35, 34, 6, 7, 39, 54, 54, 55, 46, 3, 39, 53, 51, 22, 22, - 23, 62, 3, 3,125, 22, 31, 17, 14, 22, 14, 46, 92, 42, 59, 98, 69, 38, 28, 50, 71, 43, 47, 83, 61, 36, 55,121,191,135, 74, 89, - 47, 15, 15, 37, 64, 48, 54,109,102, 90, 36, 72, 78, 14, 10, 36, 43, 46, 21, 34, 92,108,119, 60, 95,122, 69, 26, 35, 85,145,110, - 81,125, 85, 45,154,159,148,121, 59,111, 86, 53,129,121, 79,147, 83, 63, 62,118, 70, 21, 47, 48, 45, 20,121, 54,101, 56, 28, 61, - 71, 83, 5, 82, 4, 6,117, 3, 3, 75, 62, 12, 46, 68, 92, 59, 50, 78, 59, 41, 13, 11, 13, 43, 66, 92, 62, 67,117, 86, 49, 14, - 26, 38, 23, 22, 35, 24, 13, 3, 4, 3, 22, 19,151, 10, 15, 10, 6, 3, 3, 3, 43, 69, 87, 45, 51, 90, 67, 40, 19, 43, 69, 51, - 94, 91,153, 11, 35, 66, 54, 77, 77, 38, 34,147, 28, 34, 8, 28, 57, 56, 51, 21, 27, 35, 96, 56, 34, 70, 57, 36,255,255, 0, 57, - 0, 0, 4,150, 5,182, 2, 6, 1,117, 0, 0,255,255, 0, 80,254, 20, 4,131, 6, 18, 2, 6, 1,149, 0, 0, 0, 3, 0, 84, -255,236, 4,123, 5,205, 0, 19, 0, 30, 0, 41, 0, 43, 64, 22, 25, 37, 91, 0, 43, 36, 26, 91, 10, 26, 96, 36, 36, 20, 31, 95, - 15, 4, 20, 95, 5, 19, 0, 63,225, 63,225, 18, 57, 47,225, 1, 47,225, 50, 16,222,225, 50, 48, 49, 1, 20, 2, 6, 6, 35, 34, - 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 22, 18, 1, 50, 62, 2, 55, 33, 30, 3, 19, 34, 14, 2, 7, 33, 46, 3, 4,123, 64, -132,200,135,142,201,129, 60, 60,129,203,142,135,199,131, 64,253,237, 87,123, 79, 39, 4,253,103, 4, 40, 80,123, 88, 85,122, 81, - 42, 5, 2,153, 5, 42, 79,120, 2,221,169,254,234,198,108,108,198, 1, 23,170,170, 1, 21,196,107,107,197,254,235,253, 7, 71, -134,194,122,122,194,134, 71, 4,154, 67,128,184,117,117,184,128, 67, 0, 0, 3, 0,115,255,236, 4, 88, 4, 94, 0, 19, 0, 25, - 0, 30, 0, 43, 64, 22, 29, 22, 72, 0, 32, 28, 23, 72, 10, 23, 80, 28, 28, 20, 26, 80, 15, 16, 20, 80, 5, 22, 0, 63,225, 63, -225, 18, 57, 47,225, 1, 47,225, 50, 16,222,225, 50, 48, 49, 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 1, - 32, 19, 33, 22, 22, 19, 32, 3, 33, 2, 4, 88, 74,133,184,111,103,180,134, 78, 73,132,185,111,103,181,134, 78,254, 14, 1, 26, - 26,253,151, 11,156,140,254,239, 32, 2,101, 35, 2, 39,137,213,145, 76, 76,145,213,137,136,211,145, 75, 75,145,211,253,212, 1, -100,179,177, 3, 68,254,186, 1, 70, 0, 0, 1, 0, 63, 0, 0, 5, 33, 5,195, 0, 28, 0, 79, 64, 47, 26, 26, 5, 25, 6, 55, - 6, 1, 38, 6, 1, 6, 24, 7, 56, 7, 2, 7, 13, 17, 13, 8, 0, 25, 48, 25, 80, 25, 96, 25, 4, 25, 9, 8, 26, 0, 97, 25, - 22, 4, 8, 3, 13, 7, 18, 6, 18, 0, 63, 63, 51, 63, 63, 51,225, 50, 1, 47, 51, 47, 93, 18, 57, 57, 17, 51, 93, 51, 93, 93, - 17, 18, 57, 50, 47, 48, 49, 1, 34, 14, 2, 7, 1, 35, 1, 51, 1, 22, 22, 23, 54, 54, 55, 19, 62, 3, 51, 50, 22, 23, 21, 38, - 38, 4,180, 35, 53, 42, 36, 18,254,215,209,254, 61,197, 1, 10, 26, 45, 17, 14, 42, 26,142, 32, 60, 76,103, 75, 35, 68, 26, 23, - 54, 5, 45, 37, 72,103, 66,251,233, 5,182,252,109, 93,185, 79, 78,188, 97, 2, 0,113,156, 98, 43, 13, 8,151, 9, 13, 0, 1, - 0, 82, 0, 0, 4,174, 4, 82, 0, 35, 0, 80, 64, 51, 33, 24, 34,102, 34,118, 34, 2, 23, 34, 55, 34, 71, 34, 87, 34, 4, 34, - 24, 35, 40, 35, 56, 35, 3, 35, 9, 16, 9, 0, 47, 24, 1, 24, 1, 64, 0, 80, 0, 2, 0, 34, 9, 35, 21, 28, 79, 21, 15, 0, - 15, 0, 63, 63,225, 63, 51, 51, 1, 47, 93, 51, 47, 93, 18, 57, 57, 17, 51, 93, 51, 93, 93, 17, 18, 57, 48, 49, 19, 51, 19, 30, - 5, 23, 51, 62, 3, 55, 19, 62, 3, 51, 50, 22, 23, 21, 38, 38, 35, 34, 14, 2, 7, 1, 35, 82,188,224, 8, 21, 24, 24, 20, 16, - 3, 6, 7, 25, 30, 31, 12,102, 30, 53, 65, 83, 60, 26, 44, 14, 11, 32, 18, 26, 40, 32, 29, 15,254,246,231, 4, 74,253,162, 22, - 63, 70, 74, 67, 57, 18, 30, 93,103,101, 37, 1, 64, 93,117, 67, 24, 7, 3,135, 3, 5, 19, 40, 65, 46,252,225,255,255, 0, 63, - 0, 0, 5, 33, 7,115, 2, 38, 2,128, 0, 0, 1, 7, 3,118,255,224, 1, 82, 0, 25,182, 2, 1, 29, 5, 38, 2, 1,184,255, -109,180, 49, 29, 8, 25, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 82, 0, 0, 4,174, 6, 33, 2, 38, 2,129, 0, 0, - 1, 6, 3,118,212, 0, 0, 25,182, 2, 1, 36, 17, 38, 2, 1,184,255,145,180, 56, 36, 0, 24, 37, 1, 43, 53, 53, 0, 43, 53, - 53, 0, 0, 3, 0, 70,254, 20, 4,215, 5,205, 0, 19, 0, 39, 0, 72, 0,111, 64, 68,136, 72,152, 72, 2, 72, 16, 11, 16, 72, - 72, 47, 40, 55, 65, 65, 39, 41, 1, 6, 41, 1, 41,250, 6, 40, 1, 40, 40, 30,250, 15, 0, 1, 0, 0, 10, 40, 54, 1, 9, 54, - 1, 54,250,240, 55, 1, 55, 20,250, 10, 72, 47, 73, 68, 61, 28, 54, 40, 15, 35, 95, 15, 4, 25, 5, 19, 0, 63,193, 63,225, 63, - 51, 63,205, 17, 51, 51, 1, 47,225, 47, 93,225, 93, 93, 18, 57, 47, 93,225, 51, 47, 93,225, 93, 93, 51, 47, 17, 18, 57, 57, 43, - 93, 49, 48, 1, 20, 2, 6, 6, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 22, 18, 5, 20, 30, 2, 51, 50, 62, 2, 53, - 52, 46, 2, 35, 34, 14, 2, 37, 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 51, 3, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, - 55, 55, 2,106, 16, 56,109, 93, 93,109, 56, 16, 16, 57,109, 94, 93,108, 56, 15,254,121, 10, 26, 46, 35, 36, 46, 25, 10, 9, 26, - 45, 35, 36, 46, 27, 10, 1,176,156,100, 4, 9, 9, 8, 3, 4, 2, 5, 7, 7, 4,106,156,242, 15, 41, 62, 88, 62, 37, 48, 21, - 20, 47, 25, 49, 63, 19, 24, 2,221,182,254,231,191, 99, 98,192, 1, 26,183,177, 1, 23,193,101,101,193,254,232,178,137,219,153, - 81, 81,153,219,137,138,218,151, 81, 81,151,218,227,253,159, 23, 56, 61, 63, 30, 25, 62, 64, 60, 22, 2, 97,251, 14, 78,120, 83, - 43, 11, 6,145, 5, 7, 87, 99,136, 0, 0, 3, 0, 80,254, 20, 4,205, 4, 94, 0, 19, 0, 29, 0, 62, 0,151, 64,100, 88, 62, -104, 62, 2, 57, 62, 73, 62, 2, 40, 62, 1, 37, 62, 45, 21, 31, 1, 31, 73, 30, 0, 30, 1, 30, 0, 0, 54, 1, 54, 54,137, 25, - 1, 88, 25,104, 25,120, 25, 3, 25, 73, 89, 0, 1, 15, 0, 1, 0, 0, 10, 88, 44, 1, 73, 44, 1, 56, 44, 1, 25, 44, 1, 8, - 44, 1, 44, 73, 45,133, 20, 1,102, 20,118, 20, 2, 20, 73, 10, 37, 62, 30, 58, 80, 51, 27, 44, 30, 15, 28, 80, 15, 16, 23, 80, - 5, 22, 0, 63,225, 63,225, 63, 51, 63,225, 17, 57, 57, 1, 47,225, 93, 93, 47,225, 93, 93, 93, 93, 93, 18, 57, 47, 93, 93,225, - 93, 93, 51, 47, 93, 17, 51, 93, 16,225, 93, 18, 57, 57, 93, 93, 93, 48, 49, 1, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, - 50, 30, 2, 5, 20, 22, 51, 50, 17, 52, 38, 35, 34, 37, 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 51, 3, 14, 3, 35, 34, 38, 39, - 53, 22, 22, 51, 50, 54, 55, 55, 2,115, 38, 71,102, 64, 61,100, 72, 39, 40, 73,101, 60, 57,100, 73, 43,254,123, 59, 57,117, 60, - 57,116, 1,155,156,100, 4, 9, 9, 8, 3, 4, 2, 5, 6, 8, 4,106,156,242, 15, 41, 62, 88, 62, 37, 48, 22, 20, 48, 25, 49, - 63, 19, 24, 2, 39,168,221,130, 52, 52,130,221,168,168,219,129, 51, 51,129,219,168,211,209, 1,164,210,206,131,253,159, 23, 56, - 61, 63, 30, 25, 62, 64, 60, 22, 2, 97,251, 14, 78,120, 83, 43, 11, 6,145, 5, 7, 87, 99,136, 0, 2, 0, 84,255,139, 4,123, - 6, 41, 0, 31, 0, 63, 0, 94, 64, 53, 37, 11, 11, 59, 21, 43, 5, 5, 53, 27, 21, 27, 16, 48, 91, 0, 65, 32, 91, 31, 16, 47, - 16, 2, 16, 59, 79, 56, 95, 56, 2, 56, 56, 53, 95, 24, 21, 27, 3, 43, 64, 40, 80, 40, 2, 40, 40, 37, 95, 8, 5, 11, 18, 0, - 63, 51,205,225, 50, 47, 93, 50, 63, 51,205,225, 50, 47, 93, 50, 1, 47, 93,225, 16,222,225, 18, 57, 57, 17, 51, 51, 17, 51, 17, - 51, 51, 17, 51, 48, 49, 1, 20, 14, 2, 7, 6, 6, 35, 34, 38, 39, 46, 3, 53, 52, 62, 2, 55, 54, 54, 51, 50, 22, 23, 30, 3, - 5, 20, 30, 2, 23, 54, 54, 51, 50, 22, 23, 62, 3, 53, 52, 46, 2, 39, 6, 6, 35, 34, 38, 39, 14, 3, 4,123, 48, 97,147, 99, - 14, 74, 54, 58, 71, 14,103,146, 94, 44, 44, 94,146,103, 14, 71, 58, 54, 74, 14, 99,147, 97, 48,252,158, 22, 47, 75, 54, 17, 67, - 51, 48, 69, 17, 55, 77, 48, 22, 22, 48, 77, 55, 16, 70, 48, 52, 68, 17, 53, 74, 47, 22, 2,221,146,247,190,126, 26, 62, 53, 53, - 62, 26,126,190,248,147,146,246,189,125, 25, 62, 49, 50, 59, 26,126,189,247,147,108,182,142,101, 28, 45, 37, 39, 45, 26,100,143, -184,110,110,183,143, 99, 26, 48, 40, 38, 46, 27,101,141,180, 0, 0, 2, 0,115,255,152, 4, 88, 4,174, 0, 33, 0, 54, 0, 88, - 64, 47, 36, 11, 11, 53, 21, 42, 5, 5, 47, 29, 21, 29, 16, 44, 72, 0, 56, 34, 72, 0, 16, 1, 16, 53, 95, 50, 1, 50, 50, 47, - 81, 24, 21, 29, 15, 80, 39, 1, 39, 39, 36, 42, 81, 11, 8, 5, 21, 0, 63,205, 51,225, 50, 50, 47, 93, 63, 51,205,225, 50, 47, - 93, 50, 1, 47, 93,225, 16,222,225, 18, 57, 57, 17, 51, 51, 17, 51, 17, 51, 51, 17, 51, 48, 49, 1, 20, 14, 2, 7, 6, 6, 35, - 34, 38, 39, 46, 3, 53, 52, 62, 2, 55, 54, 54, 51, 50, 30, 2, 23, 30, 3, 5, 16, 23, 54, 54, 51, 50, 22, 23, 54, 17, 52, 38, - 39, 6, 6, 35, 34, 38, 39, 6, 4, 88, 54, 98,139, 86, 9, 60, 54, 58, 59, 8, 81,136, 99, 56, 53, 97,138, 84, 10, 58, 57, 27, - 42, 30, 20, 4, 81,139,100, 57,252,215,191, 11, 56, 51, 48, 57, 12,195, 99, 96, 12, 57, 48, 51, 55, 12,191, 2, 39,117,188,141, - 92, 19, 54, 44, 44, 54, 20, 92,141,188,116,115,187,141, 91, 19, 54, 40, 9, 21, 36, 28, 19, 91,141,187,115,254,184, 71, 38, 29, - 31, 38, 71, 1, 74,165,197, 35, 42, 29, 31, 40, 71, 0, 0, 3, 0, 82,255,236, 4,123, 8, 61, 0, 21, 0, 39, 0,102, 0,180, - 64,107, 53, 15, 54, 63, 54, 79, 54, 95, 54,127, 54,143, 54, 6, 54, 54, 48,251, 60, 40, 70, 29, 22, 34, 25, 11, 12, 70, 34, 1, - 34, 12, 12, 34, 1, 3, 80, 60,104, 87, 0, 86, 48, 86, 64, 86, 80, 86,112, 86,128, 86, 6, 86, 86, 92,251, 80, 53, 87, 87, 51, - 89, 95, 83, 54, 86, 86, 83, 29, 37, 26, 26, 79, 25, 95, 25,111, 25, 3, 25, 83, 37, 37, 2, 7, 16, 16, 11, 0, 79, 2, 1, 2, - 2, 57, 83, 4,102,102, 43, 97, 95, 70, 65, 75, 19, 0, 63, 51, 51,225, 50, 50, 47, 63, 51, 51, 47, 93, 51, 51, 51, 47, 51, 17, - 51, 47, 16,198, 93, 50, 47, 18, 57, 17, 51, 17, 51, 16,225, 50, 50, 17, 51, 1, 47,225, 50, 47, 93, 51, 16,206, 17, 23, 57, 47, - 47, 47, 18, 57, 17, 51, 50, 16,221,205, 17, 51, 16,225, 50, 47, 93, 51, 49, 48, 1, 21, 35, 34, 46, 2, 35, 34, 6, 21, 21, 35, - 53, 52, 54, 51, 50, 30, 2, 51, 7, 20, 6, 7, 53, 54, 54, 53, 52, 46, 2, 53, 52, 54, 51, 50, 22, 3, 22, 22, 51, 50, 62, 2, - 53, 16, 2, 35, 34, 7, 39, 54, 54, 51, 50, 18, 17, 20, 2, 6, 6, 35, 34, 46, 2, 39, 14, 3, 35, 34, 38, 38, 2, 53, 16, 18, - 51, 50, 22, 23, 7, 38, 35, 34, 2, 17, 20, 30, 2, 51, 50, 62, 2, 55, 3,221, 14, 80,135,114, 94, 38, 43, 55,133,118,103, 54, -106,112,125, 74,232,119,122, 60, 56, 31, 36, 31, 50, 46, 59, 68,125, 36, 90, 51, 48, 67, 42, 19, 78, 66, 55, 41, 47, 34, 88, 48, -146,147, 34, 78,128, 94, 33, 54, 46, 43, 23, 22, 42, 46, 53, 33, 94,128, 79, 35,147,146, 48, 88, 34, 47, 41, 56, 66, 77, 19, 43, - 68, 48, 27, 45, 41, 40, 21, 7,203,129, 36, 42, 36, 45, 53, 16, 35,107,101, 36, 42, 36,226, 77,115, 31, 76, 22, 45, 25, 19, 18, - 16, 26, 28, 37, 38, 70,249,232, 57, 66, 89,164,229,141, 1, 19, 1, 20, 29,152, 23, 18,254,153,254,154,192,254,219,198,101, 9, - 20, 33, 24, 24, 33, 20, 9,101,198, 1, 37,192, 1,102, 1,103, 18, 23,152, 29,254,236,254,237,141,229,164, 89, 17, 32, 46, 28, - 0, 3, 0, 88,255,236, 4,115, 7, 8, 0, 59, 0, 81, 0, 98, 0,156, 64, 41, 15, 47,191, 47,255, 47, 3, 47, 64, 11, 17, 72, - 47, 47, 41, 73, 33, 3, 11, 55,100, 70, 73, 88, 82, 93, 93, 85, 85, 61, 61, 72, 11, 0, 19,176, 19,240, 19, 3, 19,184,255,192, - 64, 45, 11, 17, 72, 19, 19, 25, 73, 11, 88, 96, 86, 85, 96, 96, 72, 67, 76, 60, 61, 61, 15, 72, 1, 72, 72, 85, 46, 44, 44, 20, - 22, 81, 50, 47, 19, 16, 16, 38, 33, 28, 81, 3, 0, 6, 22, 0, 63, 51, 51,225, 50, 50, 63, 51, 51, 51,225, 50, 50, 17, 51,206, - 50, 47, 93, 51, 47, 51,205, 50, 17, 51, 47, 16,205, 17, 57, 1, 47,225, 50, 47, 43, 93, 16,196, 50, 47, 50, 47, 51, 47,221,201, - 47, 51, 16,222, 17, 57, 57,225, 50, 47, 43, 93, 49, 48, 5, 34, 38, 39, 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, - 7, 38, 35, 34, 6, 21, 20, 22, 51, 50, 62, 2, 55, 30, 3, 51, 50, 54, 53, 52, 38, 35, 34, 7, 39, 54, 54, 51, 50, 30, 2, 21, - 20, 14, 2, 19, 21, 35, 34, 46, 2, 35, 34, 6, 21, 21, 35, 53, 52, 54, 51, 50, 30, 2, 51, 7, 20, 6, 7, 53, 54, 53, 52, 46, - 2, 53, 52, 54, 51, 50, 22, 3, 29, 62, 91, 32, 32, 88, 60, 76,127, 91, 50, 40, 76,109, 68, 46, 95, 35, 51, 49, 62, 73, 68,102, - 95, 26, 46, 40, 34, 15, 16, 35, 40, 47, 28, 94,101, 68, 74, 58, 50, 51, 35, 94, 45, 70,109, 75, 39, 51, 90,126,105, 8, 80,129, -110, 96, 46, 43, 55,134,118,104, 62,108,108,119, 74,232,120,121,116, 31, 36, 31, 50, 46, 59, 68, 20, 35, 32, 32, 35, 60,133,215, -155,157,219,137, 62, 20, 25,145, 30,201,212,211,195, 14, 24, 30, 16, 16, 30, 24, 14,195,211,212,201, 30,145, 25, 20, 62,137,219, -157,150,213,137, 63, 6,170,130, 36, 43, 36, 46, 52, 17, 23,108,113, 36, 42, 36,226, 77,115, 31, 76, 41, 51, 19, 18, 16, 26, 27, - 38, 38, 70, 0, 0, 2, 0, 82,255,236, 4,123, 7, 4, 0, 13, 0, 74, 0,173, 64,100, 27, 27, 14,251, 72, 0, 59, 32, 59, 2, - 59, 59, 5, 72, 1,197, 72,213, 72, 2, 6, 72,150, 72,166, 72, 3, 72, 72, 53, 21,251, 4, 2, 3, 5, 6, 6, 8, 7, 9, 10, - 10, 11, 11, 7, 3, 3, 12, 15, 1, 31, 1, 2, 1, 33, 76, 0, 12, 16, 12, 2, 12, 65,251, 53, 73, 73, 56, 70, 26, 60, 60, 24, - 62, 95, 56, 27, 59, 59, 56, 13, 5, 9, 7, 3, 11, 30, 56, 4, 14, 72, 72, 16, 70, 95, 43, 38, 48, 19, 0, 63, 51, 51,225, 50, - 50, 17, 51, 63, 51,222, 50, 50,221, 50,205, 17, 51, 17, 51, 16,225, 50, 50, 17, 51, 17, 18, 57, 47, 1, 47,225,196, 93, 16,222, -196, 93, 17, 23, 57, 17, 51, 17, 51, 17, 51, 51, 17, 51, 17, 51, 51,225, 17, 57, 47, 93, 93,113, 51, 47, 93, 16,225, 50, 47, 49, - 48, 1, 21, 7, 35, 39, 35, 7, 35, 39, 35, 7, 35, 39, 53, 1, 22, 51, 50, 62, 2, 53, 16, 2, 35, 34, 7, 39, 54, 54, 51, 50, - 18, 17, 20, 2, 6, 6, 35, 34, 46, 2, 39, 14, 3, 35, 34, 38, 38, 2, 53, 16, 18, 51, 50, 22, 23, 7, 38, 35, 34, 2, 17, 20, - 30, 2, 51, 50, 55, 17, 51, 3,221, 82, 35, 49,143, 49, 35, 49,144, 49, 35, 79, 1,204, 39, 56, 48, 67, 42, 19, 78, 66, 55, 41, - 47, 34, 88, 48,146,147, 34, 78,128, 94, 33, 54, 46, 43, 23, 22, 42, 46, 53, 33, 94,128, 79, 35,147,146, 48, 88, 34, 47, 41, 56, - 66, 77, 19, 43, 68, 48, 57, 37,170, 7, 4, 27,172,103,103,103,103,172, 27,249,182, 43, 89,164,229,141, 1, 19, 1, 20, 29,152, - 23, 18,254,153,254,154,192,254,219,198,101, 13, 24, 37, 24, 24, 37, 24, 13,101,198, 1, 37,192, 1,102, 1,103, 18, 23,152, 29, -254,236,254,237,141,229,164, 89, 43, 1,220, 0, 0, 2,255,252, 0, 0, 4,137, 5,164, 0, 13, 0, 56, 0,204, 64, 25, 22, 47, - 1, 47, 35, 48, 29, 73, 6, 56, 22, 56, 2, 22, 56, 38, 56, 70, 56, 86, 56,214, 56, 5, 56,184,255,240, 64,102, 17, 20, 72, 56, - 20, 14, 8, 48, 1,152, 48,184, 48,216, 48,232, 48, 4, 25, 48, 41, 48, 73, 48, 89, 48,105, 48, 5, 27, 52, 48, 3, 41, 14, 15, - 40, 28, 56, 28, 2, 10, 28, 1, 28, 28, 15, 41, 73, 4, 2, 3, 5, 6, 6, 8, 7, 9, 10, 10, 11, 11, 7, 3, 3, 12, 15, 1, - 1, 1, 42, 58, 0, 12, 80, 12, 2, 12, 16, 73, 15, 35, 48, 21, 52, 27, 27, 15, 14, 13, 5, 9, 7, 3, 11, 41, 28, 15, 15, 20, - 14, 21, 0, 63, 51, 63, 51, 51,222, 50, 50,221, 50,205, 17, 18, 57, 17, 51, 63, 51, 1, 47,225,198, 93, 16,222,198, 93, 17, 23, - 57, 17, 51, 17, 51, 17, 51, 51, 17, 51, 17, 51, 51,237, 17, 57, 47, 93, 93, 18, 57, 18, 23, 57, 93, 93,113, 17, 51, 51, 43, 93, -113,225, 17, 51, 51, 93, 48, 49, 1, 21, 7, 35, 39, 35, 7, 35, 39, 35, 7, 35, 39, 53, 19, 1, 51, 19, 22, 22, 23, 51, 62, 3, - 55, 19, 3, 51, 19, 30, 3, 23, 51, 62, 2, 18, 53, 51, 20, 2, 2, 6, 7, 35, 3, 38, 38, 39, 6, 6, 7, 3, 3,207, 82, 35, - 49,143, 50, 34, 50,143, 49, 35, 80, 58,254,225,160,163, 20, 34, 8, 4, 5, 15, 18, 20, 10, 86,109,150,137, 8, 22, 23, 22, 7, - 6, 63, 79, 45, 16,153, 26, 66,113, 88,163, 84, 7, 11, 3, 5, 16, 8,106, 5,164, 27,172,103,103,103,103,172, 27,250, 92, 4, - 74,253, 92, 85,157, 51, 18, 56, 65, 67, 30, 1, 16, 1,205,253,176, 33, 96,103, 96, 33,104,210,230, 1, 2,151,163,254,224,254, -245,253,127, 1, 84, 26, 56, 20, 20, 62, 22,254,174, 0, 0, 1, 0,129,254, 20, 4,156, 5,203, 0, 35, 0, 52, 64, 27, 16, 90, - 17, 17, 24, 33, 32, 32, 37, 5, 91, 0, 24, 1, 24, 33, 0, 95, 32, 29, 4, 15, 10, 95, 19, 19, 16, 0, 47, 63,225, 50, 63, 51, -225, 50, 1, 47, 93,225, 17, 51, 47, 51, 18, 57, 47,225, 48, 49, 1, 34, 14, 2, 21, 20, 30, 2, 51, 50, 62, 2, 55, 17, 35, 17, - 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, 7, 38, 38, 3, 29,107,174,123, 67, 59,118,176,118, 29, 45, 40, 37, 21, -187, 16,164,240,157, 76, 87,170,249,162,108,196, 79, 78, 63,148, 5, 39, 81,152,218,137,141,219,150, 78, 4, 9, 13, 9,253, 98, - 1,216,108,198, 1, 22,169,166, 1, 20,198,110, 44, 42,156, 32, 46, 0, 0, 1, 0,172,254, 20, 4, 37, 4, 94, 0, 31, 0, 53, - 64, 28, 29, 71, 30, 30, 5, 14, 13, 13, 33, 20, 72, 0, 5, 1, 5, 29, 27, 14, 17, 81, 13, 10, 16, 28, 25, 81, 0, 22, 0, 63, -225, 50, 63, 51,225, 50, 63, 1, 47, 93,225, 17, 51, 47, 51, 18, 57, 47,225, 48, 49, 5, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, - 23, 7, 38, 38, 35, 34, 6, 21, 20, 30, 2, 51, 50, 54, 55, 17, 35, 17, 2,197,113,196,145, 83, 84,149,206,122, 90,172, 66, 62, - 58,131, 79,190,181, 49, 94,135, 87, 53, 85, 34,182, 20, 63,137,213,150,157,219,137, 62, 34, 25,158, 22, 35,204,209,105,154, 99, - 48, 19, 14,253,104, 1,216, 0, 0, 1, 0, 94,255,250, 4,111, 5, 10, 0, 19, 0,168, 64, 75, 6, 9, 10, 13, 4, 14, 5, 14, - 3, 0, 19, 16, 4, 4, 15, 15, 2, 63, 1, 79, 1, 95, 1,175, 1, 4, 1, 1, 18, 17, 21, 12, 48, 11, 64, 11, 80, 11,160, 11, - 4, 11, 11, 7, 4, 5, 5, 8, 7, 13, 16, 12, 17, 10, 19, 11, 18, 11, 12, 6, 3, 7, 2, 7, 9, 0, 1, 8, 8, 12, 64, 21, - 26, 72, 12,184,255,192, 64, 9, 12, 12, 15, 14, 17, 18, 18, 1, 2,184,255,192,182, 21, 26, 72, 2, 2, 5, 4, 0, 47, 51, 51, - 47, 43, 51, 51, 47, 51, 47, 51, 51, 47, 56, 43, 51, 47, 18, 57, 57, 51, 17, 18, 57, 57, 17, 51, 17, 18, 57, 57, 17, 18, 57, 57, - 1, 47, 51, 51, 47, 51, 17, 51, 47, 93, 51, 16,206, 50, 50, 47, 93, 51, 50, 47, 18, 23, 57, 51, 17, 18, 23, 57, 48, 49, 1, 5, - 7, 37, 3, 39, 19, 37, 55, 5, 19, 37, 55, 5, 19, 23, 3, 5, 7, 37, 2, 66, 1, 28, 71,254,227,180,129,180,254,229, 70, 1, - 31,198,254,228, 71, 1, 29,182,127,182, 1, 31, 74,254,229, 1,176,166,123,164,254,199, 74, 1, 59,164,123,164, 1, 90,164,125, -164, 1, 57, 73,254,196,164,123,164, 0, 0, 1, 0,242, 4,143, 3,217, 5,184, 0, 21, 0, 23, 64, 9, 4, 10, 16, 0, 19, 15, -141, 4, 7, 0, 47,221,253,204, 1, 47, 51, 47, 51, 48, 49, 1, 20, 6, 35, 33, 6, 6, 35, 34, 38, 53, 52, 62, 2, 51, 33, 54, - 54, 51, 50, 22, 3,217, 43, 57,254, 63, 6, 44, 48, 56, 40, 9, 23, 38, 28, 1,192, 5, 46, 48, 56, 42, 5, 80, 57, 41, 44, 51, - 51, 56, 28, 37, 22, 9, 45, 49, 50, 0, 0, 1, 0,242, 4,229, 3,221, 5,217, 0, 21, 0, 31, 64, 14, 20, 10,132, 15, 8, 1, - 8, 21, 20, 20, 14, 5,128, 10, 0, 47, 26,204, 50, 51, 47, 51, 1, 47, 93,225, 47, 49, 48, 1, 50, 62, 2, 51, 50, 22, 21, 21, - 35, 53, 52, 38, 35, 34, 14, 2, 35, 35, 53, 1, 0, 78,133,119,112, 58,109,124,133, 58, 46, 42,101,121,145, 85, 16, 5,102, 36, - 43, 36,101,108, 35, 17, 52, 46, 36, 43, 36,129, 0, 1, 1,225, 4,215, 2,211, 6, 53, 0, 17, 0, 35, 64, 18, 15, 64, 9, 12, - 72, 15, 11, 6, 0, 11, 3, 14,140, 15,127, 3, 1, 3, 0, 47, 93, 47,225, 18, 57, 1, 47,205,205,205, 43, 48, 49, 1, 52, 54, - 51, 50, 22, 21, 20, 14, 2, 21, 20, 22, 23, 21, 38, 38, 1,225, 68, 59, 47, 50, 31, 37, 31, 57, 60,122,120, 5,182, 57, 70, 38, - 38, 27, 26, 16, 18, 19, 25, 46, 21, 76, 31,115, 0, 1, 1,225, 4,215, 2,211, 6, 53, 0, 17, 0, 38,178, 12, 7, 3,184,255, -192, 64, 14, 9, 12, 72, 3, 0, 7, 3,127, 15, 1, 15, 4,140, 3, 0, 47,225, 47, 93, 18, 57, 1, 47,205, 43,205,205, 48, 49, - 1, 20, 6, 7, 53, 54, 54, 53, 52, 46, 2, 53, 52, 54, 51, 50, 22, 2,211,120,122, 60, 57, 31, 36, 31, 50, 46, 59, 68, 5,182, - 77,115, 31, 76, 21, 46, 25, 19, 18, 16, 26, 27, 38, 38, 70, 0, 0, 8, 0, 41, 0, 47, 4,164, 4, 53, 0, 13, 0, 27, 0, 41, - 0, 55, 0, 69, 0, 83, 0, 99, 0,113, 0, 0, 1, 50, 22, 23, 35, 38, 38, 35, 34, 6, 7, 35, 54, 54, 19, 50, 22, 23, 35, 38, - 38, 35, 34, 6, 7, 35, 54, 54, 37, 50, 22, 23, 35, 38, 38, 35, 34, 6, 7, 35, 54, 54, 33, 50, 22, 23, 35, 38, 38, 35, 34, 6, - 7, 35, 54, 54, 1, 50, 22, 23, 35, 38, 38, 35, 34, 6, 7, 35, 54, 54, 33, 50, 22, 23, 35, 38, 38, 35, 34, 6, 7, 35, 54, 54, - 1, 50, 22, 23, 35, 46, 3, 35, 34, 6, 7, 35, 54, 54, 33, 50, 22, 23, 35, 38, 38, 35, 34, 6, 7, 35, 54, 54, 2, 96, 65, 66, - 6, 69, 5, 37, 26, 28, 32, 3, 72, 2, 67, 66, 65, 66, 6, 69, 5, 37, 26, 28, 32, 3, 72, 2, 67, 1,144, 62, 70, 3, 73, 4, - 33, 25, 28, 30, 3, 74, 3, 67,253,167, 65, 69, 6, 72, 5, 37, 26, 27, 31, 3, 70, 4, 62, 2,219, 62, 70, 3, 73, 4, 33, 25, - 28, 30, 3, 74, 3, 67,253,167, 65, 69, 6, 72, 5, 37, 26, 27, 31, 3, 70, 4, 62, 3, 72, 63, 71, 3, 74, 1, 12, 17, 22, 11, - 29, 28, 3, 73, 3, 65,252,212, 65, 69, 3, 73, 4, 35, 25, 26, 30, 3, 74, 3, 67, 4, 53, 77, 62, 32, 17, 15, 34, 63, 76,252, -131, 75, 62, 32, 17, 15, 34, 63, 74,162, 79, 62, 34, 17, 16, 35, 63, 78, 79, 62, 34, 17, 16, 35, 63, 78, 2, 57, 79, 62, 32, 17, - 15, 34, 63, 78, 79, 62, 32, 17, 15, 34, 63, 78,254,232, 78, 65, 17, 20, 11, 3, 16, 35, 66, 77, 78, 65, 34, 17, 16, 35, 66, 77, - 0, 8, 0, 41,255,231, 4,164, 4, 98, 0, 8, 0, 19, 0, 32, 0, 43, 0, 54, 0, 63, 0, 74, 0, 85, 0, 62, 64, 30, 43, 36, - 13, 0, 9, 4, 54, 26, 31, 74, 68, 53, 47, 19, 12, 26, 33, 20, 37, 85, 62, 7, 15, 79, 31, 79, 2, 79, 58, 4, 0, 47,198,196, - 93,214,198,198,212, 50,205, 50, 47,205,196,196,198,196, 1, 47,198,198,212, 50,205, 50, 47,205, 48, 49, 37, 6, 6, 7, 35, 54, - 54, 55, 51, 3, 54, 54, 55, 51, 14, 3, 7, 35, 1, 30, 3, 23, 21, 46, 3, 39, 53, 5, 38, 38, 39, 53, 30, 3, 23, 21, 1, 54, - 54, 55, 23, 14, 3, 7, 39, 1, 6, 6, 7, 39, 54, 54, 55, 23, 3, 38, 38, 39, 55, 30, 3, 23, 7, 1, 22, 22, 23, 7, 46, 3, - 39, 55, 2,184, 12, 45, 25, 79, 17, 23, 5,100,145, 11, 45, 23, 84, 7, 14, 13, 10, 3,100, 1,164, 22, 53, 57, 58, 27, 30, 64, - 62, 57, 23,253, 76, 46,117, 56, 26, 63, 65, 60, 21, 2, 19, 54,111, 44, 63, 21, 55, 56, 52, 18, 70,254,127, 47,113, 51, 64, 41, -109, 55, 72,119, 29, 53, 18, 61, 17, 37, 36, 32, 13, 71, 2, 80, 31, 50, 19, 59, 18, 38, 36, 33, 13, 74,195, 47,119, 54, 87,114, - 35, 2,180, 48,117, 54, 28, 63, 62, 58, 24,254,254, 6, 17, 21, 24, 12, 84, 7, 14, 14, 10, 2,100,145, 12, 45, 25, 82, 6, 13, - 13, 11, 2,103, 1,105, 31, 52, 17, 59, 14, 36, 38, 35, 14, 71,253,176, 24, 55, 19, 59, 25, 74, 39, 74, 1,221, 53,111, 45, 63, - 27, 58, 53, 47, 17, 72,254,129, 53,111, 47, 63, 27, 58, 54, 47, 18, 72, 0, 2, 0,137,254,127, 5, 8, 7,104, 0, 27, 0, 49, - 0, 92, 64, 50, 25, 26, 27, 27, 24, 23, 49,251, 28, 28, 39,251, 38, 38, 9, 21, 0,251, 23, 51, 64, 8, 12,251, 0, 9,224, 9, -240, 9, 3, 9, 49, 39,128, 44, 33, 21, 7, 11, 3, 19, 8, 18, 26, 26, 23, 95, 0, 18, 0, 63,225, 51, 47, 63, 51, 63, 51, 51, -222, 50, 26,204, 50, 1, 47, 93,225, 50, 26, 16,221,225, 50, 17, 57, 47,225, 51, 47,225, 16,205, 50, 16,205, 50, 49, 48, 33, 17, - 52, 54, 55, 54, 55, 35, 1, 35, 17, 51, 17, 20, 14, 2, 7, 6, 7, 51, 1, 51, 17, 51, 3, 35, 19, 3, 14, 3, 35, 34, 46, 2, - 39, 51, 30, 3, 51, 50, 62, 2, 55, 3,154, 5, 4, 4, 5, 8,253,188,215,174, 1, 2, 2, 2, 4, 3, 6, 2, 66,213,194,143, -217,166, 97, 6, 48, 93,142,100,103,140, 87, 42, 5,170, 5, 27, 51, 75, 53, 44, 73, 54, 35, 5, 3, 25, 57,142, 65, 76, 77,251, - 70, 5,182,252,224, 26, 62, 67, 67, 32, 74, 76, 4,180,250,240,253,217, 1,129, 7,104, 77,119, 80, 41, 39, 79,119, 80, 57, 72, - 41, 16, 18, 44, 71, 53, 0, 2, 0,178,254,131, 4,193, 6, 23, 0, 15, 0, 37, 0,164,185, 0, 3,255,240,179, 18, 24, 72, 3, -184,255,224, 64, 96, 11, 14, 72, 37, 3, 53, 3, 2, 9, 16, 18, 24, 72, 9, 32, 11, 14, 72, 42, 9, 58, 9, 2,171, 2, 1,137, - 2,153, 2, 2,164, 8, 1,134, 8,150, 8, 2, 13, 14, 15, 15, 12, 11, 37, 70, 16, 16, 27, 70, 26, 26, 4, 9, 0, 70, 11, 39, - 64, 3, 6, 70, 0, 4, 16, 4, 32, 4,176, 4,192, 4,208, 4, 6, 7, 4, 37, 27,128, 32, 21, 9, 2, 6, 15, 8, 3, 21, 14, - 14, 11, 80, 0, 21, 0, 63,225, 51, 47, 63, 51, 63, 51, 51,222, 50, 26,204, 50, 1, 47, 94, 93,225, 50, 26, 16,220,225, 50, 17, - 57, 47,225, 51, 47,225, 16,205, 50, 16,205, 50, 49, 48, 0, 93, 93, 93, 93, 1, 93, 43, 43, 93, 43, 43, 33, 17, 19, 1, 35, 17, - 51, 17, 7, 1, 51, 17, 51, 3, 35, 19, 3, 14, 3, 35, 34, 46, 2, 39, 51, 30, 3, 51, 50, 62, 2, 55, 3, 94, 10,254, 58,240, -172, 12, 1,201,239,183,123,183,123, 37, 6, 48, 93,142,100,103,140, 87, 42, 5,170, 5, 27, 51, 75, 53, 44, 73, 54, 35, 5, 2, -135, 1, 15,252,106, 4, 74,253,100,252, 3,152,252, 80,253,233, 1,125, 6, 23, 78,118, 81, 41, 39, 80,119, 80, 57, 73, 41, 16, - 19, 43, 72, 53, 0, 2, 0, 47, 0, 0, 4, 70, 5,182, 0, 22, 0, 33, 0, 65, 64, 33, 21, 21, 23, 27, 91, 6, 35, 19, 0, 23, - 90, 16, 14, 12, 33, 95, 0, 22, 14, 95, 15, 19, 15, 0, 15, 0, 15, 17, 3, 23, 96, 12, 18, 0, 63,225, 63, 57, 57, 47, 47, 17, - 51, 16,225, 50, 16,225, 1, 47,198, 51,225, 50, 50, 16,222,225, 17, 57, 47, 48, 49, 1, 51, 50, 30, 2, 21, 20, 14, 2, 35, 33, - 17, 35, 53, 51, 53, 51, 21, 33, 21, 33, 17, 51, 50, 54, 53, 52, 46, 2, 35, 35, 1,129,168,152,207,127, 55, 60,126,194,134,254, -131,152,152,186, 1, 78,254,178,178,175,163, 46, 91,139, 93,147, 3, 78, 66,113,152, 87, 97,158,112, 61, 4, 96,164,178,178,164, -252, 64,132,136, 70, 97, 60, 27, 0, 2, 0, 61, 0, 0, 4, 68, 6, 20, 0, 20, 0, 33, 0, 73, 64, 39, 15, 2, 1, 2, 2, 14, - 28, 70, 8, 35, 4, 0, 22, 71, 18, 16, 14, 21, 80, 4, 3, 16, 79, 17, 0, 17, 47, 4, 1, 4, 17, 4, 17, 19, 0, 22, 80, 14, - 21, 0, 63,225, 63, 57, 57, 47, 47, 93, 17, 51, 16,225, 50, 16,225, 1, 47,198, 51,225, 50, 50, 16,222,225, 17, 57, 47, 93, 48, - 49, 1, 33, 21, 33, 17, 33, 50, 22, 21, 20, 14, 2, 35, 33, 17, 35, 53, 51, 53, 51, 17, 17, 33, 50, 62, 2, 53, 52, 46, 2, 35, - 1,143, 1, 23,254,233, 1, 21,212,204, 47,101,159,113,254, 57,156,156,182, 1, 4, 56, 93, 67, 38, 33, 65, 96, 64, 5, 33,137, -253,239,156,155, 77,124, 88, 47, 4,152,137,243,251,218,254,168, 17, 41, 66, 48, 49, 66, 40, 17, 0, 2, 0,176, 0, 0, 4, 70, - 5,182, 0, 20, 0, 35, 0,108, 64, 59, 25, 8, 26, 7, 7, 28, 5, 27, 6, 6, 31, 91,239, 0,255, 0, 2, 0, 37, 27, 26, 26, - 21, 13, 90, 0, 14,144, 14,160, 14, 3, 14, 25, 8, 26, 7, 26, 28, 5, 6, 27, 27, 21, 6, 7, 7, 12, 96, 22, 21, 21, 13, 35, - 96, 15, 3, 13, 18, 0, 63, 63,225, 18, 57, 47, 51,225, 50, 47, 51, 17, 51, 47, 18, 57, 57, 51, 17, 18, 57, 57, 1, 47, 93,225, - 50, 50, 47, 51, 16,222, 93,225, 51, 47, 18, 57, 57, 51, 17, 18, 57, 57, 48, 49, 1, 20, 14, 2, 7, 23, 7, 39, 6, 6, 35, 35, - 17, 35, 17, 33, 50, 30, 2, 1, 51, 50, 54, 55, 39, 55, 23, 54, 54, 53, 52, 38, 35, 35, 4, 70, 24, 51, 82, 58,104,106,125, 44, - 98, 57,191,186, 1,148,134,194,126, 60,253, 36,170, 32, 59, 26, 94,109,118, 60, 59,163,175,201, 4, 10, 61,115,102, 85, 32,147, - 78,176, 11, 10,253,199, 5,182, 57,109,160,254,103, 3, 5,135, 76,170, 34,121, 93,142,137, 0, 0, 2, 0,158,254, 20, 4, 68, - 4, 94, 0, 35, 0, 57, 0,120, 64, 67, 50, 33, 51, 32, 32, 53, 30, 52, 31, 31, 55, 72, 15, 27, 31, 27, 2, 27, 59, 52, 51, 51, - 42, 16, 15, 6, 12, 71, 0, 13, 16, 13, 32, 13,208, 13, 4, 7, 13, 36, 80, 16, 22, 16, 14, 15, 12, 27, 50, 33, 51, 32, 51, 53, - 30, 31, 52, 52, 47, 80, 0, 31, 32, 32, 5, 0, 22, 0, 63, 50, 50, 47, 51, 16,225, 50, 47, 18, 57, 57, 51, 17, 18, 57, 57, 63, - 63, 63, 51,225, 1, 47, 94, 93,225, 50, 50, 50, 50, 50, 47, 51, 16,222,113,225, 51, 47, 18, 57, 57, 51, 17, 18, 57, 57, 48, 49, - 5, 34, 46, 2, 39, 35, 22, 23, 22, 22, 21, 17, 35, 17, 51, 23, 51, 62, 3, 51, 50, 30, 2, 21, 20, 6, 7, 23, 7, 39, 6, 6, - 3, 34, 14, 2, 7, 21, 20, 30, 2, 51, 50, 54, 55, 39, 55, 23, 54, 53, 52, 38, 2,150, 61, 98, 79, 61, 23, 12, 3, 3, 2, 4, -182,147, 27, 8, 23, 60, 79, 99, 61, 97,158,113, 62, 95, 84,107,107,116, 32, 68, 68, 79,109, 67, 32, 2, 28, 68,111, 84, 18, 34, - 15,106,108,111, 92,132, 20, 26, 43, 58, 32, 34, 31, 26, 55, 16,254, 43, 6, 54,148, 35, 61, 45, 27, 72,143,212,140,177,242, 69, -151, 78,166, 9, 11, 3,219, 46, 94,140, 95, 41,101,157,107, 55, 3, 5,152, 76,160,104,242,208,206, 0, 0, 1, 0,147, 0, 0, - 4,100, 5,182, 0, 13, 0, 49, 64, 24, 5, 5, 8, 0, 15, 3, 7, 90, 12, 10, 8, 6, 10, 95, 3, 11, 11, 7, 2, 95, 13, 3, - 7, 18, 0, 63, 63,225, 18, 57, 47, 51,225, 50, 1, 47,198, 51,225, 50, 16,206, 17, 57, 47, 48, 49, 1, 21, 33, 17, 33, 21, 33, - 17, 35, 17, 35, 53, 51, 17, 4,100,253,129, 1, 80,254,176,186,152,152, 5,182,166,254, 21,162,253,125, 2,131,162, 2,145, 0, - 0, 1, 0,135, 0, 0, 4, 14, 4, 74, 0, 13, 0, 49, 64, 24, 11, 11, 0, 6, 15, 9, 13, 71, 4, 2, 0, 12, 2, 79, 9, 3, - 3, 0, 8, 80, 5, 15, 0, 21, 0, 63, 63,225, 18, 57, 47, 51,225, 50, 1, 47,198, 51,225, 50, 16,206, 17, 57, 47, 48, 49, 33, - 17, 35, 53, 51, 17, 33, 21, 33, 17, 33, 21, 33, 17, 1, 35,156,156, 2,235,253,203, 1, 23,254,233, 1,225,137, 1,224,154,254, -186,137,254, 31, 0, 1, 0,160,254, 0, 4,113, 5,182, 0, 38, 0, 56, 64, 29, 8, 8, 34, 91, 18, 40, 10, 4, 90, 28, 0, 5, - 1, 5, 29, 32, 95, 28, 23, 0, 13, 13, 5, 9, 95, 6, 3, 5, 18, 0, 63, 63,225, 18, 57, 47,193, 47, 51,225, 50, 1, 47, 93, -198,225, 50, 16,222,241,192, 47, 48, 49, 1, 34, 6, 7, 17, 35, 17, 33, 21, 33, 17, 54, 54, 51, 50, 30, 2, 21, 20, 14, 2, 35, - 34, 46, 2, 39, 53, 22, 22, 51, 32, 17, 52, 46, 2, 1,213, 37, 60, 26,186, 2,248,253,194, 29, 72, 45,153,240,165, 87, 82,146, -201,118, 49, 78, 68, 60, 32, 63,127, 72, 1,119, 67,123,174, 2,131, 5, 5,253,135, 5,182,166,254, 11, 5, 3, 92,171,242,151, -170,248,162, 79, 6, 12, 19, 12,162, 23, 24, 1,239,121,185,126, 64, 0, 0, 1, 0,215,254, 10, 4, 88, 4, 74, 0, 41, 0, 53, - 64, 28, 27, 27, 16, 72, 37, 43, 29, 23, 70, 5, 0, 24, 1, 24, 19, 81, 32, 32, 24, 28, 80, 25, 15, 24, 21, 11, 81, 0, 0, 47, -225, 63, 63,225, 18, 57, 47,225, 1, 47, 93,198,225, 50, 16,214,241,192, 47, 48, 49, 1, 34, 46, 2, 39, 53, 30, 3, 51, 50, 62, - 2, 53, 52, 38, 35, 34, 6, 7, 17, 35, 17, 33, 21, 33, 17, 54, 54, 51, 50, 30, 2, 21, 20, 14, 2, 2,127, 41, 65, 55, 49, 26, - 25, 48, 52, 61, 38, 70,110, 77, 40,181,198, 32, 83, 35,180, 2,168,254, 12, 34, 78, 42,125,208,148, 82, 76,129,172,254, 10, 7, - 15, 23, 15,161, 13, 22, 17, 9, 48, 99,153,105,211,203, 6, 6,254, 47, 4, 74,154,254,195, 5, 5, 62,138,219,157,151,214,135, - 63, 0, 0, 1, 0, 0,254,127, 4,205, 5,182, 0, 21, 0,114, 64, 64, 17, 14, 3,250, 11, 8, 16, 4, 1, 4, 4, 7, 21,251, - 20, 20, 15, 47, 16, 63, 16, 2, 16, 16, 1,171, 18, 1,105, 18, 1, 66, 18, 1, 11, 18, 1, 18, 23, 6, 22, 10, 9, 9, 7, 17, - 5, 2, 8, 8, 6, 15, 12, 10, 3, 21, 21, 4, 6, 18, 18, 95, 1, 18, 0, 63,225, 63, 51, 51, 47, 63, 51, 51, 18, 57, 17, 51, - 51, 51, 1, 47, 51, 47, 51, 17, 51, 16,205, 93, 93, 93, 93, 50, 50, 47, 93, 51, 50, 47,225, 17, 57, 47, 93, 51, 51,225, 50, 50, - 49, 48, 33, 35, 1, 17, 35, 17, 1, 35, 1, 1, 51, 1, 17, 51, 17, 1, 51, 1, 1, 51, 17, 35, 4, 29, 49,254,182,156,254,176, -182, 1, 96,254,172,178, 1, 72,156, 1, 65,179,254,176, 1, 16,119,176, 2,229,253, 27, 2,229,253, 27, 2,242, 2,196,253, 60, - 2,196,253, 60, 2,196,253, 60,253,180,253,217, 0, 1, 0, 0,254,131, 4,184, 4, 74, 0, 21, 0, 98, 64, 53, 5, 22, 16, 13, - 2, 73, 10, 7, 3, 3, 8, 20, 73, 0, 27, 17, 1, 17, 15,144, 19,160, 19, 2,127, 19, 1, 16, 19, 1, 19, 9, 6, 8, 16, 13, - 7, 10, 10, 8, 19, 19, 22, 14, 11, 8, 15, 17, 80, 0, 0, 3, 6, 0, 47, 51, 51, 16,225, 63, 51, 51, 17, 51, 47, 18, 57, 17, - 51, 51, 51, 1, 47, 50, 50, 47, 93, 93, 93, 51,205, 93, 50,225, 17, 57, 47, 51, 51,225, 50, 50, 17, 51, 49, 48, 33, 1, 17, 35, - 17, 1, 35, 1, 1, 51, 1, 17, 51, 17, 1, 51, 1, 19, 51, 17, 35, 17, 3,223,254,195,160,254,195,195, 1, 90,254,164,184, 1, - 74,160, 1, 74,184,254,166,250,116,161, 2, 45,253,211, 2, 45,253,211, 2, 53, 2, 21,253,235, 2, 21,253,235, 2, 21,253,235, -254,101,253,233, 1,125,255,255, 0,139,254, 66, 4, 47, 5,203, 2, 38, 1,177, 0, 0, 1, 6, 3,127,247, 0, 0, 14,183, 1, - 1, 0, 50, 44, 9, 4, 37, 1, 43, 53, 0, 53,255,255, 0,201,254, 66, 4, 8, 4, 94, 2, 38, 1,209, 0, 0, 1, 6, 3,127, -245, 0, 0, 17,177, 1, 1,184,255,243,180, 47, 41, 8, 18, 37, 1, 43, 53, 0, 53, 0, 0, 1, 0,211,254,127, 4,186, 5,182, - 0, 14, 0,120, 64, 77,135, 14, 1,117, 14, 1, 54, 14, 86, 14, 2, 14, 11, 7, 90, 0, 8, 96, 8,112, 8,128, 8, 4, 8, 12, - 87, 13, 1, 64, 13, 1, 37, 13, 1, 7, 13, 1, 13, 13, 40, 5, 1, 5, 85, 0, 1, 54, 0, 1, 36, 0, 1, 5, 0, 1, 0, 3, -251,127, 2, 1, 2, 6, 14, 14, 7, 12, 10, 3, 5, 7, 3, 3, 0, 7, 18, 0, 63,196, 51, 47, 17, 51, 63, 51, 18, 57, 17, 51, - 1, 47, 93,225,205, 93, 93, 93, 93, 50, 93, 51, 47, 93, 93, 93, 93, 51, 47, 93,225, 50, 50, 93, 93, 93, 49, 48, 37, 51, 17, 35, - 17, 35, 1, 17, 35, 17, 51, 17, 1, 51, 1, 4, 43,143,176, 55,253,186,186,186, 2, 54,206,253,203,166,253,217, 1,129, 2,229, -253, 27, 5,182,253, 60, 2,196,253, 66, 0, 1, 0,215,254,131, 4,156, 4, 74, 0, 14, 0, 77, 64, 44, 7, 8, 8, 0, 10, 13, - 70,128, 12, 1, 12, 9, 6, 2, 71, 0, 3, 16, 3, 32, 3,128, 3,208, 3, 5, 7, 3, 1, 9, 9, 2, 7, 5, 15, 10, 80, 0, - 0, 2, 13, 13, 2, 21, 0, 63, 51, 47, 17, 51, 16,225, 63, 51, 18, 57, 17, 51, 1, 47, 94, 93,225, 50, 50, 47, 93,225,205, 50, - 50, 47, 51, 49, 48, 33, 1, 17, 35, 17, 51, 17, 1, 51, 1, 1, 51, 17, 35, 17, 3,174,253,221,180,180, 2, 6,222,253,241, 1, -158,158,176, 2, 45,253,211, 4, 74,253,235, 2, 21,253,241,254, 95,253,233, 1,125, 0, 0, 1, 0,211, 0, 0, 4,174, 5,182, - 0, 18, 0,139,183, 11, 7, 90, 8, 18, 15, 2, 3,184, 1, 3, 64, 73, 12, 5, 38, 4, 1, 12, 4, 28, 4, 2, 4, 4, 0, 0, - 8, 96, 8,112, 8,128, 8, 4, 8, 16, 17, 17, 1,208, 0,240, 0, 2,127, 0, 1, 0, 0, 16, 0, 64, 0, 96, 0, 4, 0, 16, - 0, 2, 18, 18, 5, 6, 17, 3, 15, 12, 16, 11, 16, 11, 6, 6, 9, 8, 4, 13, 4, 13, 9, 3, 8, 0, 18, 0, 63, 50, 63, 57, - 57, 47, 47, 17, 18, 57, 17, 51, 50, 17, 18, 57, 57, 63, 18, 57, 57, 17, 51, 1, 47, 56, 93, 93, 93, 51, 51, 47, 51, 47, 93, 18, - 57, 47, 93, 93, 51, 51,225, 50, 50, 50, 16,225, 50, 48, 49, 33, 35, 1, 21, 35, 17, 7, 17, 35, 17, 51, 17, 55, 17, 51, 21, 1, - 51, 1, 4,174,211,254,174,133,119,186,186,119,133, 1, 66,209,253,247, 1,244,205, 1,100, 98,253,215, 5,182,253, 6,164, 1, - 99,179, 1,166,253,101, 0, 1, 0,215, 0, 0, 4,150, 4, 74, 0, 18, 0,127, 64, 75, 13, 10, 17, 73, 7, 22, 18, 1, 12, 18, - 1, 18, 18, 3, 14, 11, 12, 12, 15,164, 14, 1,123, 14,139, 14,155, 14, 3, 0, 14, 96, 14, 2, 14, 16, 14, 6, 2, 71, 0, 3, - 96, 3, 2, 3, 10, 7, 11, 13, 11, 4, 16, 0, 15, 1, 13, 13, 8, 63, 18, 1, 48, 8, 1, 18, 8, 18, 8, 2, 4, 15, 15, 2, - 21, 0, 63, 51, 63, 18, 57, 57, 47, 47, 93, 93, 18, 57, 17, 51, 18, 57, 57, 17, 51, 17, 18, 57, 57, 1, 47, 93,225, 50, 47, 56, - 93, 93, 93, 51, 51, 47, 51, 17, 18, 57, 47, 93, 93, 51,225, 50, 50, 49, 48, 1, 39, 17, 35, 17, 51, 17, 55, 17, 51, 21, 1, 51, - 1, 1, 35, 1, 21, 35, 2, 16,133,180,180,133,125, 1, 4,222,253,241, 2, 54,232,254,223,125, 1,166,135,253,211, 4, 74,253, -235,137, 1, 56,185, 1, 13,253,241,253,197, 1, 39,205, 0, 1, 0, 59, 0, 0, 4,174, 5,182, 0, 20, 0,119, 64, 74, 14, 14, - 5, 0, 20, 2, 19, 16, 12, 4, 90, 9, 7, 0, 5, 96, 5,112, 5,128, 5, 4, 5, 72, 18, 88, 18, 2, 18, 19, 19, 1,208, 0, -240, 0, 2,127, 0, 1, 0, 0, 16, 0, 64, 0, 96, 0, 4, 0, 16, 0, 20, 16, 2, 3, 15, 7, 95, 12, 3,159, 8,175, 8, 2, - 8, 8, 18, 10, 3, 5, 0, 18, 0, 63, 50, 63, 51, 57, 47, 93, 57, 51,225, 50, 17, 51, 51, 51, 1, 47, 56, 93, 93, 93, 51, 51, - 47, 51, 93, 47, 93,198, 51,225, 50, 50, 17, 57, 57, 17, 18, 57, 47, 49, 48, 33, 35, 1, 7, 17, 35, 17, 35, 53, 51, 53, 51, 21, - 51, 21, 35, 17, 55, 1, 51, 1, 4,174,211,254, 62,140,186,152,152,186,213,213,121, 1,197,209,253,247, 2,186,114,253,184, 4, - 96,164,178,178,164,254,123,168, 2, 51,253,131, 0, 1, 0, 59, 0, 0, 4,139, 6, 20, 0, 22, 0,122, 64, 73,118, 14,150, 14, - 2,101, 14, 1, 86, 14, 1, 69, 14, 1, 14, 17, 6, 6, 13, 7, 3, 19, 71, 22, 1, 0, 20, 1, 20, 12, 13, 13, 16, 15, 32, 16, - 19, 72, 0, 15, 96, 15, 2, 15, 16, 15, 14, 17, 89, 17, 1, 17,118, 9, 1, 9, 18, 18, 12, 16, 19, 21, 6, 22, 79, 4, 1, 1, - 2, 12, 15, 2, 0, 0, 63, 63, 18, 57, 47, 51,237, 50, 63, 51, 18, 57, 17, 51, 93, 51, 93, 17, 51, 1, 47, 56, 93, 43, 51, 51, - 47, 51, 47, 93, 51,206,225, 50, 50, 17, 57, 47, 57, 57, 93, 93, 93, 93, 49, 48, 19, 51, 53, 51, 21, 33, 21, 33, 17, 3, 51, 55, - 1, 51, 1, 1, 35, 1, 7, 17, 35, 17, 35, 59,156,180, 1,123,254,133, 16, 4,135, 1,139,222,254, 18, 2, 10,213,254, 86,129, -180,156, 5, 94,182,182,137,254,117,254,223,152, 1,137,254, 37,253,145, 1,248, 82,254, 90, 4,213, 0, 0, 1, 0, 23, 0, 0, - 4,174, 5,182, 0, 14, 0, 95,181, 7, 14, 23, 14, 2, 14,184,255,248, 64, 46, 13, 18, 72, 14, 2, 13, 10, 4, 90, 5, 5, 0, - 7, 12, 13, 8, 13, 13, 1, 0, 16, 0, 14, 2,184, 2, 1,169, 2, 1, 88, 2, 1, 2, 10, 3, 3, 5, 12, 7, 95, 8, 3, 5, - 0, 18, 0, 63, 50, 63,225, 51, 18, 57, 17, 51, 51, 93, 93, 93, 17, 51, 1, 47, 56, 51, 51, 47, 56, 51, 47, 18, 57, 47,225, 50, - 17, 57, 57, 43,113, 48, 49, 33, 35, 1, 7, 17, 35, 17, 33, 53, 33, 17, 55, 1, 51, 1, 4,174,203,254,162,137,186,254,213, 1, -229,104, 1,117,195,254,100, 2,184,153,253,225, 5, 18,164,253, 8,170, 2, 78,253,135, 0, 1, 0, 43, 0, 0, 4,203, 4, 74, - 0, 12, 0, 92, 64, 54,167, 0, 1,150, 0, 1, 0, 1, 16, 1, 1, 40, 4, 56, 4, 2, 4, 14, 12, 11,103, 2, 1, 86, 2, 1, - 71, 2, 1, 2, 6, 71, 0, 7, 1, 7, 7, 3, 9, 3, 16, 3, 5, 2, 2, 7, 9, 80, 0, 10, 15, 7, 3, 21, 0, 63, 51, 63, - 51,225, 18, 57, 17, 51, 1, 47, 56, 47, 18, 57, 47, 93,225, 50, 93, 93, 93, 50, 50, 17, 51, 93, 51, 47, 56, 51, 93, 93, 48, 49, - 1, 51, 1, 1, 35, 1, 17, 35, 17, 33, 53, 33, 17, 3,223,197,254, 96, 1,199,207,254, 76,181,254,152, 2, 29, 4, 74,253,241, -253,197, 2, 45,253,211, 3,176,154,253,235, 0, 0, 1, 0,135,254,127, 4,186, 5,182, 0, 15, 0, 78, 64, 47, 12, 8, 90, 0, - 9, 1, 0, 9, 16, 9,240, 9, 3, 8, 9, 13, 5, 90,159, 0,175, 0, 2, 0, 4,251,127, 1,207, 1, 2, 1, 6, 95, 12, 12, - 8, 14, 10, 3, 5, 8, 3, 3, 0, 8, 18, 0, 63,192, 51, 47, 17, 51, 63, 51, 18, 57, 47,225, 1, 47, 93,225,221, 93,225, 50, - 47, 94, 93,113,225, 50, 48, 49, 37, 51, 17, 35, 17, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 4, 10,176,176,186,253,242,187, -187, 2, 14,186,166,253,217, 1,129, 2,170,253, 86, 5,182,253,152, 2,104, 0, 0, 1, 0,160,254,131, 4,156, 4, 74, 0, 15, - 0, 85, 64, 53, 8, 0, 71, 11, 15, 70, 15, 12, 1,239, 12, 1,160, 12,192, 12, 2, 79, 12,111, 12, 2, 12, 7, 3, 71, 0, 4, - 16, 4, 32, 4,208, 4, 4, 7, 4, 1, 80, 7, 7, 9, 6, 15, 11, 80, 0, 0, 3, 14, 14, 3, 21, 0, 63, 51, 47, 17, 51, 16, -225, 63, 51, 57, 47,225, 1, 47, 94, 93,225, 50, 47, 93, 93, 93,113,225,221,225, 50, 48, 49, 33, 17, 33, 17, 35, 17, 51, 17, 33, - 17, 51, 17, 51, 17, 35, 17, 3, 70,254, 16,182,182, 1,240,182,160,176, 1,233,254, 23, 4, 74,254, 57, 1,199,252, 80,253,233, - 1,125, 0, 1, 0,135, 0, 0, 4,182, 5,182, 0, 13, 0, 75, 64, 47, 9, 1, 90, 63, 0, 79, 0,191, 0, 3, 0, 64, 26, 29, - 72, 0,143, 11, 1, 11, 8, 4, 90, 0, 5, 1, 0, 5, 16, 5,240, 5, 3, 8, 5, 3, 95, 8, 8, 0, 13, 10, 6, 3, 5, 0, - 18, 0, 63, 50, 63, 51,192, 18, 57, 47,225, 1, 47, 94, 93,113,225, 50, 47, 93,220, 43, 93,225, 50, 49, 48, 33, 35, 17, 33, 17, - 35, 17, 51, 17, 33, 17, 33, 21, 33, 3,156,187,254, 97,187,187, 1,159, 1,213,254,230, 2,170,253, 86, 5,182,253,152, 2,104, -164, 0, 0, 1, 0,160, 0, 0, 4,182, 4, 74, 0, 13, 0, 59, 64, 34, 9, 1, 71, 0, 79, 11, 1, 11, 8, 4, 71, 0, 5, 16, - 5, 32, 5,208, 5, 4, 7, 5, 3, 80, 8, 8, 0, 13, 10, 6, 15, 5, 0, 21, 0, 63, 50, 63, 51,192, 18, 57, 47,225, 1, 47, - 94, 93,225, 50, 47, 93,220,225, 50, 48, 49, 33, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 33, 21, 35, 3,199,183,254, 70,182,182, - 1,186, 1,166,239, 1,233,254, 23, 4, 74,254, 57, 1,199,154, 0, 1, 0,106,254, 0, 4,156, 5,182, 0, 36, 0, 68, 64, 38, - 16, 16, 0, 29,251, 30, 30, 34, 23,251, 8, 64, 9, 14, 72, 8, 38, 33,251, 48, 34, 1, 34, 26, 3, 3, 33, 32, 95, 35, 3, 30, - 33, 18, 20, 95, 13, 19, 0, 63,225, 63, 51, 63,225, 18, 57, 47,201, 1, 47, 93,225, 16,222, 43,225, 17, 57, 47,241, 50,192, 47, - 49, 48, 1, 54, 54, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 53, 52, 38, 35, 34, 7, 17, 35, 17, - 33, 17, 35, 17, 33, 2,203, 18, 49, 25, 98,141, 91, 43, 51, 94,134, 84, 54, 85, 43, 38, 73, 47,115,100,103,112, 51, 27,166,254, -235,166, 2, 97, 3, 23, 5, 7, 92,171,242,151,170,248,162, 79, 19, 20,162, 16, 21,247,248,243,253, 12,253,137, 5, 18,250,238, - 5,182, 0, 1, 0,127,254, 10, 4,131, 4, 74, 0, 41, 0, 78, 64, 44, 29, 21, 73, 22, 3, 3, 96, 22, 1, 22, 22, 26, 12, 73, - 15, 37, 31, 37, 2, 37, 43, 25, 73, 0, 26, 1, 26, 17, 81, 32, 32, 26, 24, 80, 27, 15, 22, 26, 21, 4, 7, 81, 3, 0, 0, 47, - 50,225, 50, 63, 51, 63,225, 18, 57, 47,225, 1, 47, 93,225, 16,222, 93,225, 17, 57, 47, 93, 51, 47, 16,225, 50, 49, 48, 1, 34, - 38, 39, 53, 22, 22, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 6, 7, 17, 35, 17, 33, 17, 35, 17, 33, 17, 54, 54, 51, 50, 30, 2, - 21, 20, 14, 2, 3, 57, 60, 92, 40, 42, 82, 56, 50, 70, 44, 20, 20, 47, 76, 57, 23, 45, 20,162,254,254,162, 2, 70, 21, 48, 23, - 78,131, 93, 52, 48, 87,121,254, 10, 22, 21,162, 22, 23, 47, 98,153,107,107,156,102, 49, 4, 6,254, 45, 3,176,252, 80, 4, 74, -254, 39, 6, 6, 57,133,221,165,155,215,133, 60, 0, 2, 0, 84,255,172, 4,162, 5,205, 0, 65, 0, 83, 0,107, 64, 61, 51, 18, - 5, 79, 79, 0, 76, 91, 16, 56, 32, 56, 2, 56, 56, 26, 35, 34, 34, 66, 91, 0, 0, 11, 11, 85, 43, 91, 31, 26, 47, 26, 2, 26, - 71, 96,112, 61,128, 61, 2, 61, 61, 38, 95, 31, 4, 79, 51, 48, 95, 21, 11, 8, 95, 12, 15, 18, 5, 21, 19, 0, 63, 51, 51,220, - 50,225, 50, 16,225, 50, 50, 63,241,202, 47, 93,225, 1, 47, 93,225, 17, 51, 47, 51, 47,225, 50, 47, 51, 17, 57, 47,113,225, 18, - 57, 17, 51, 51, 51, 49, 48, 1, 20, 14, 2, 7, 22, 22, 51, 50, 54, 55, 21, 6, 6, 35, 34, 38, 39, 6, 6, 35, 34, 38, 38, 2, - 53, 52, 18, 54, 54, 51, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, 20, 30, 2, 51, 50, 54, 55, 46, 3, 53, 52, 62, 2, 51, 50, - 30, 2, 7, 52, 46, 2, 35, 34, 14, 2, 21, 20, 22, 23, 62, 3, 4,123, 31, 54, 71, 39, 23, 55, 35, 31, 59, 31, 29, 68, 32, 69, -131, 62, 41, 85, 59,126,196,134, 70, 69,134,196,127, 50, 93, 38, 56, 28, 61, 34, 81,124, 84, 42, 46, 88,126, 80, 20, 19, 16, 37, - 56, 38, 19, 41, 80,115, 74, 74,115, 80, 42,197, 11, 27, 44, 32, 32, 44, 26, 11, 56, 48, 30, 46, 31, 16, 2,190,106,184,151,115, - 37, 13, 10, 14, 11,170, 13, 12, 44, 52, 17, 15, 95,188, 1, 21,183,193, 1, 30,189, 94, 20, 15,154, 11, 14, 68,145,227,158,157, -221,139, 63, 3, 4, 54,117,132,149, 86,132,192,124, 60, 55,118,188,143, 86,132, 89, 45, 52, 96,136, 84,144,228, 79, 33,101,124, -139, 0, 0, 2, 0,115,255,197, 4,115, 4, 94, 0, 15, 0, 80, 0,137, 64, 57, 72, 52, 19, 5, 5, 67, 87, 0, 1, 0, 72, 32, - 57, 1, 89, 57, 1, 72, 57, 1, 57, 57, 27, 36, 35, 35, 8, 72, 67, 78, 78, 15, 67, 1, 67, 82, 44, 72, 0, 27, 16, 27, 2, 27, - 13, 78, 80, 62, 1,144, 62,160, 62,176, 62, 3, 62,184,255,192, 64, 23, 9, 12, 72, 62, 62, 49, 36, 39, 80, 35, 32, 16, 5, 49, - 80, 22, 72, 74, 80, 16, 19, 22, 22, 0, 63, 51,212,225, 50, 16,225, 50, 63, 51,225, 50, 18, 57, 47, 43, 93,113,225, 1, 47, 93, -225, 16,206, 93, 50, 47, 16,225, 50, 47, 51, 17, 57, 47, 93, 93,113,225, 93, 18, 57, 17, 51, 51, 51, 49, 48, 1, 20, 30, 2, 23, - 54, 54, 53, 52, 46, 2, 35, 34, 6, 1, 34, 38, 39, 6, 6, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, 38, 35, 34, - 14, 2, 21, 20, 30, 2, 51, 50, 50, 55, 46, 3, 53, 52, 62, 2, 51, 50, 30, 2, 21, 20, 14, 2, 7, 22, 51, 50, 54, 55, 21, 6, - 6, 2,172, 19, 33, 43, 24, 57, 66, 13, 29, 44, 31, 62, 63, 1, 82, 65,124, 57, 38, 83, 47,111,182,129, 71, 67,127,185,118, 57, - 79, 32, 45, 25, 56, 42, 81,117, 75, 36, 39, 77,115, 76, 10, 10, 9, 34, 52, 36, 19, 48, 84,114, 65, 65,110, 82, 46, 27, 48, 64, - 37, 39, 53, 26, 57, 28, 23, 63, 1,244, 52, 91, 77, 64, 26, 45,160,107, 51, 84, 58, 32,122,253,104, 30, 37, 14, 14, 76,145,209, -133,129,212,151, 83, 15, 11,146, 8, 13, 56,108,159,103, 97,152,105, 56, 2, 39, 80, 90,103, 61, 94,136, 89, 43, 39, 86,138, 99, - 70,119, 99, 79, 30, 19, 6, 8,147, 9, 7, 0,255,255, 0,129,254, 66, 4,156, 5,203, 2, 38, 0, 38, 0, 0, 1, 7, 3,127, - 0,158, 0, 0, 0, 14,183, 1, 1,118, 36, 30, 6, 11, 37, 1, 43, 53, 0, 53,255,255, 0,172,254, 66, 4, 37, 4, 94, 2, 38, - 0, 70, 0, 0, 1, 6, 3,127, 55, 0, 0, 14,183, 1, 1, 53, 34, 28, 15, 0, 37, 1, 43, 53, 0, 53, 0, 1, 0,102,254,127, - 4,100, 5,182, 0, 11, 0, 74, 64, 44, 10,251, 11, 1, 6, 6, 8, 90, 3,208, 1, 1,162, 1, 1,147, 1, 1, 3,142, 1, 1, - 4, 99, 1, 1, 5, 16, 1, 80, 1, 2, 1, 7, 3, 95, 4, 3, 11, 11, 8, 95, 1, 18, 0, 63,225, 51, 47, 63,225, 50, 1, 47, - 93, 95, 93, 95, 93, 95, 93, 93, 93,198,241,194, 47, 16,222,225, 48, 49, 33, 35, 17, 33, 53, 33, 21, 33, 17, 51, 17, 35, 2,195, -187,254, 94, 3,254,254, 95,176,176, 5, 18,164,164,251,148,253,217, 0, 0, 1, 0,121,254,131, 4, 82, 4, 74, 0, 11, 0, 54, - 64, 32, 9, 71, 10, 0, 5, 5, 7, 71, 2, 16, 0, 80, 0,144, 0,160, 0,208, 0, 5, 0, 6, 2, 80, 3, 15, 10, 10, 7, 80, - 0, 21, 0, 63,225, 51, 47, 63,225, 50, 1, 47, 93,206,241,202, 47, 16,222,225, 49, 48, 33, 17, 33, 53, 33, 21, 33, 17, 51, 17, - 35, 17, 2, 10,254,111, 3,217,254,111,159,182, 3,176,154,154,252,234,253,233, 1,125,255,255, 0, 33, 0, 0, 4,170, 5,182, - 2, 6, 0, 60, 0, 0, 0, 1, 0, 82,254, 20, 4,121, 4, 74, 0, 19, 0, 99, 64, 62, 55, 4, 71, 4, 2, 38, 4, 1, 4,141, - 3, 1, 3, 1, 72, 17, 1, 41, 17, 1, 17,207, 18, 1, 18, 18, 10, 0, 71,208, 1, 1,160, 1, 1,147, 1, 1, 3,123, 1, 1, - 99, 1, 1, 5, 16, 1, 80, 1, 2, 1, 19, 10, 2, 2, 1, 17, 3, 15, 1, 27, 0, 63, 63, 51, 18, 57, 17, 51, 51, 1, 47, 93, - 95, 93, 93, 95, 93, 93, 93,241, 57,202, 47, 93, 50, 93, 93, 16,206, 93, 50, 93, 93, 49, 48, 1, 35, 17, 1, 51, 19, 30, 3, 23, - 51, 62, 3, 55, 19, 51, 1, 2,193,183,254, 72,190,238, 12, 31, 28, 24, 5, 6, 6, 23, 29, 31, 12,239,189,254, 72,254, 20, 1, -236, 4, 74,253,145, 32, 90, 93, 86, 29, 29, 86, 93, 90, 32, 2,111,251,182, 0, 0, 1, 0, 33, 0, 0, 4,170, 5,182, 0, 16, - 0,202,185, 0, 16,255,248, 64, 36, 13, 16, 72, 38, 16, 54, 16, 2, 23, 16, 1,104, 1,120, 1, 2, 90, 1, 1, 72, 1, 1, 41, - 1, 57, 1, 2, 24, 1, 1, 39, 0,183, 0, 2, 0,184,255,248,179, 13, 17, 72, 16,184,255,248, 64, 84, 20, 24, 72, 16,175, 15, -255, 15, 2, 89, 15, 1, 15, 9, 1, 8, 20, 24, 72, 1,224, 2,240, 2, 2,123, 2, 1, 80, 2, 1, 2, 2, 8, 0, 9, 8, 6, - 6, 4, 8, 90, 13, 11,208, 9, 1,162, 9, 1,147, 9, 1, 3,142, 9, 1, 4, 99, 9, 1, 5, 16, 9, 80, 9, 2, 9, 3, 0, - 14, 14, 7, 11, 95, 4, 12, 12, 1, 8, 18, 15, 1, 3, 0, 63, 51, 63, 18, 57, 47, 51,225, 50, 51, 17, 51, 51, 1, 47, 93, 95, - 93, 95, 93, 95, 93, 93, 93,206, 51,241, 50,202, 47, 17, 18, 57, 16,200, 47, 93, 93, 93, 50, 43, 16,204, 93, 93, 50, 43, 48, 49, - 0, 43, 93, 1, 93, 93, 93, 93, 93, 93, 93, 43, 1, 1, 51, 1, 21, 33, 21, 33, 17, 35, 17, 33, 53, 33, 53, 1, 51, 2,100, 1, -125,201,254, 25, 1, 38,254,218,187,254,217, 1, 39,254, 25,203, 2,211, 2,227,252,131, 61,164,254,168, 1, 88,164, 51, 3,135, - 0, 1, 0, 82,254, 20, 4,121, 4, 74, 0, 25, 0,136, 64, 11,135, 10,151, 10,167, 10, 3,118, 10, 1, 10,184,255,248, 64, 71, - 11, 15, 72, 10, 9, 4,168, 23, 1,121, 23, 1, 23, 8, 11, 15, 72, 23,207, 24, 1, 24, 24, 3, 16, 4, 25, 3, 1, 1, 3, 71, - 8, 6,208, 4, 1,162, 4, 1,147, 4, 1, 3,142, 4, 1, 4, 99, 4, 1, 5, 16, 4, 80, 4, 2, 4, 2, 6, 79, 25, 16, 7, - 7, 3, 23, 9, 15, 3, 27, 0, 63, 63, 51, 18, 57, 47, 51, 51,225, 50, 1, 47, 93, 95, 93, 95, 93, 95, 93, 93, 93,206, 51,241, -202, 47, 17, 51, 18, 57, 16,200, 47, 93, 50, 43, 93, 93, 16,204, 50, 43, 93, 93, 48, 49, 33, 21, 33, 17, 35, 17, 33, 53, 33, 1, - 51, 19, 30, 3, 23, 51, 62, 3, 55, 19, 51, 1, 3,203,254,246,183,254,246, 1, 10,254, 72,190,238, 12, 31, 28, 24, 5, 6, 6, - 23, 29, 31, 12,239,189,254, 72,137,254,157, 1, 99,137, 4, 74,253,145, 32, 90, 93, 86, 29, 29, 86, 93, 90, 32, 2,111,251,182, - 0, 1, 0, 53,254,127, 4,186, 5,182, 0, 15, 0,160, 64, 21, 71, 15, 87, 15,167, 15, 3, 15, 72, 9,104, 9,120, 9, 3, 9, - 6, 12, 12, 14, 11,184,255,248, 64, 14, 12, 15, 72, 6, 11, 22, 11, 38, 11, 3, 11, 10, 10, 7,184,255,248, 64, 64, 12, 15, 72, - 6, 7, 22, 7, 38, 7, 3, 7, 8, 13, 8, 12, 15, 72, 9, 13, 25, 13, 41, 13, 3, 13, 14, 14, 1, 5, 8, 12, 15, 72, 9, 5, - 25, 5, 41, 5, 3, 5, 0, 0, 4,251, 1, 15, 12, 6, 9, 9, 7, 13, 10, 3, 0, 95, 5, 5, 7, 3, 3, 7, 18, 0, 63, 51, - 47, 17, 51, 16,225, 63, 51, 18, 57, 17, 51, 51, 51, 1, 47,225, 51, 17, 51, 93, 43, 17, 51, 47, 51, 93, 43, 47, 51, 93, 43, 51, - 47, 51, 93, 43, 18, 57, 17, 51, 51, 93, 51, 93, 48, 49, 37, 51, 17, 35, 17, 35, 1, 1, 35, 1, 1, 51, 1, 1, 51, 1, 4, 51, -135,176, 71,254,157,254,146,189, 1,197,254, 90,199, 1, 75, 1, 78,191,254, 90,166,253,217, 1,129, 2,123,253,133, 2,252, 2, -186,253,209, 2, 47,253, 76, 0, 0, 1, 0, 96,254,131, 4,156, 4, 74, 0, 15, 0,189,183,196, 14,212, 14,228, 14, 3, 14,184, -255,240, 64, 36, 11, 14, 72,203, 12,219, 12,235, 12, 3, 12, 16, 11, 14, 72,203, 4,219, 4,235, 4, 3, 4, 16, 11, 14, 72,196, - 2,212, 2,228, 2, 3, 6, 2,184,255,240, 64, 20, 11, 14, 72, 73, 13, 1, 13, 16, 18, 23, 72, 10, 13, 26, 13, 2, 70, 3, 1, - 3,184,255,240, 64, 51, 18, 23, 72, 5, 3, 21, 3, 2, 13, 6, 0, 3, 3, 5, 2, 1, 1, 14, 31, 15, 1, 15, 12, 7, 7, 8, - 4, 5, 5, 11, 70, 8, 7, 80, 12, 12, 14, 13, 6, 3, 0, 0, 1, 14, 10, 10, 14, 21, 4, 1, 15, 0, 63, 51, 63, 51, 47, 17, - 18, 57, 17, 51, 51, 51, 17, 51, 16,225, 1, 47,225, 51, 47, 51, 17, 51, 17, 51, 47, 93, 51, 51, 47, 51, 18, 57, 17, 51, 51, 51, - 48, 49, 0, 93, 43, 93, 93, 43, 93, 1, 43, 95, 93, 43, 93, 43, 93, 43, 93, 1, 1, 51, 1, 1, 51, 1, 1, 51, 17, 35, 17, 35, - 1, 1, 35, 1,254,254,119,207, 1, 34, 1, 35,207,254,117, 1, 45,162,176, 80,254,202,254,201,207, 2, 51, 2, 23,254,102, 1, -154,253,233,254,103,253,233, 1,125, 1,180,254, 76, 0, 0, 1, 0, 23,254,127, 4,186, 5,182, 0, 15, 0, 57, 64, 31, 0, 14, - 48, 14, 2, 14, 14, 15, 90, 11, 10, 1, 90, 4, 7,251, 6, 15, 10, 95, 2, 12, 3, 4, 0, 95, 9, 7, 7, 9, 18, 0, 63, 51, - 47, 16,225, 50, 63, 51,225, 50, 1, 47,225,221,225, 47,205,241,201, 47, 93, 48, 49, 37, 33, 17, 51, 17, 51, 17, 35, 17, 33, 17, - 35, 53, 33, 21, 35, 1,188, 1,148,186,176,176,252,248,235, 2,145,236,166, 5, 16,250,240,253,217, 1,129, 5, 18,164,164, 0, - 0, 1, 0, 20,254,131, 4,156, 4, 74, 0, 15, 0, 63, 64, 36, 11, 71, 13, 2, 70,160, 15,176, 15, 2, 15, 64, 8, 1, 1, 8, - 1, 8, 8, 10, 71, 5, 3, 12, 4, 80, 6, 15, 14, 10, 80, 3, 1, 1, 3, 21, 0, 63, 51, 47, 16,225, 50, 63,225, 51, 1, 47, -206,241,202, 47, 93, 93, 47, 93,225,222,225, 48, 49, 1, 35, 17, 33, 17, 35, 53, 33, 21, 35, 17, 33, 17, 51, 17, 51, 4,156,176, -253, 6,222, 2,121,229, 1,158,182,160,254,131, 1,125, 3,176,154,154,252,234, 3,176,252, 80, 0, 1, 0,135,254,127, 4,186, - 5,182, 0, 25, 0, 61, 64, 34, 15, 90, 0, 12, 1, 12, 23, 5, 90, 0, 3,251,127, 2,207, 2, 2, 2, 23, 20, 95, 6, 9, 9, - 24, 13, 3, 0, 95, 5, 3, 3, 5, 18, 0, 63, 51, 47, 16,225, 63, 51, 57, 47, 51,225, 50, 1, 47, 93,225,221,225, 50, 47, 93, -225, 48, 49, 37, 51, 17, 35, 17, 35, 17, 6, 6, 35, 34, 38, 53, 17, 51, 17, 20, 30, 2, 51, 50, 54, 55, 17, 51, 4, 10,176,176, -186, 81,169, 84,187,192,187, 20, 50, 82, 61, 77,152, 84,186,166,253,217, 1,129, 2, 63, 29, 38,191,180, 2, 71,253,209, 57, 87, - 58, 29, 31, 28, 2,219, 0, 1, 0,152,254,131, 4,156, 4, 74, 0, 27, 0, 65, 64, 37, 20, 1, 71, 23, 27, 70,160, 24, 1, 47, - 24, 1, 24, 14, 71, 0, 11,192, 11, 2, 11, 20, 17, 80, 1, 6, 6, 0, 21, 12, 15, 26, 26, 23, 80, 0, 21, 0, 63,225, 51, 47, - 63, 51, 18, 57, 47, 51,225, 50, 1, 47, 93,225, 47, 93, 93,225,221,225, 50, 48, 49, 33, 17, 14, 3, 35, 34, 46, 2, 53, 17, 51, - 17, 20, 22, 51, 50, 54, 55, 17, 51, 17, 51, 17, 35, 17, 3, 70, 39, 78, 82, 90, 51, 82,129, 88, 47,182,105,100, 78,148, 73,182, -160,176, 1,207, 25, 37, 26, 13, 47, 84,115, 68, 1,166,254,102, 88, 86, 45, 43, 1,240,252, 80,253,233, 1,125, 0, 1, 0,135, - 0, 0, 4, 70, 5,182, 0, 29, 0, 81,177, 24, 6,184, 1, 3, 64, 38, 22, 7, 7, 12, 27, 1, 90, 0, 31, 15, 90, 0, 12, 16, - 12, 2, 12, 27, 24, 22, 22, 20, 95, 9, 8, 9, 7, 7, 5, 2, 9, 9, 1, 28, 13, 3, 1, 18, 0, 63, 63, 51, 18, 57, 47, 51, - 51, 51, 47, 17, 51, 16,237, 50, 47, 50, 50, 1, 47, 93,225, 16,222,225, 50, 17, 57, 47, 51,225, 50, 49, 48, 33, 35, 17, 6, 6, - 7, 17, 35, 17, 35, 34, 38, 53, 17, 51, 17, 20, 30, 2, 51, 51, 17, 51, 17, 54, 54, 55, 17, 51, 4, 70,187, 65,109, 53,133, 33, -187,192,187, 20, 50, 82, 61, 12,133, 51,113, 63,187, 2, 86, 25, 36, 11,254,199, 1, 39,191,180, 2, 71,253,209, 57, 87, 58, 29, - 1, 88,254,180, 9, 36, 23, 2,198, 0, 0, 1, 0,152, 0, 0, 4, 37, 4, 74, 0, 28, 0, 95, 64, 55, 8, 19, 73, 6, 64, 20, - 80, 20,112, 20,128, 20, 4, 20, 20, 27, 10, 14, 71, 13, 30, 1, 71, 0, 27, 16, 27, 2, 27, 21, 22, 20, 20, 18, 15, 4, 80, 22, - 22, 14, 11, 28, 15, 14, 21, 10, 8, 5, 15, 6, 1, 6, 6, 5, 21, 0, 63, 51, 47, 93, 17, 51, 51, 63, 63, 51, 18, 57, 47,225, - 51, 51, 51, 47, 17, 51, 1, 47, 93,225, 16,222,225, 50, 17, 57, 47, 93, 51,225, 50, 48, 49, 1, 17, 20, 22, 51, 51, 17, 51, 17, - 54, 55, 17, 51, 17, 35, 17, 6, 6, 7, 21, 35, 53, 35, 34, 46, 2, 53, 17, 1, 78,105,100, 6,125,104,105,182,182, 53,101, 55, -125, 47, 82,129, 88, 47, 4, 74,254,102, 88, 86, 1, 45,254,227, 29, 70, 1,213,251,182, 1,233, 37, 51, 16,254,231, 47, 84,115, - 68, 1,166, 0, 0, 1, 0,135, 0, 0, 4, 70, 5,182, 0, 19, 0, 43, 64, 22, 10, 90, 9, 21, 2, 18, 90, 0, 19, 1, 19, 17, - 14, 95, 2, 5, 5, 19, 9, 18, 0, 3, 0, 63, 63, 51, 57, 47, 51,225, 50, 1, 47, 93,225, 50, 16,222,225, 48, 49, 19, 51, 17, - 54, 54, 51, 50, 22, 21, 17, 35, 17, 52, 38, 35, 34, 6, 7, 17, 35,135,187,110,188, 95,183,196,187,100,117, 86,175,107,187, 5, -182,253,170, 45, 45,188,182,253,184, 2, 47,116,116, 40, 40,253, 57, 0, 0, 1, 0,168, 0, 0, 4, 53, 4, 74, 0, 23, 0, 59, - 64, 36, 0, 71,176, 23,192, 23, 2, 23, 25, 12, 8, 71, 0, 9, 16, 9, 32, 9,192, 9,208, 9, 5, 7, 9, 7, 4, 80, 12, 17, - 17, 10, 15, 9, 0, 21, 0, 63, 50, 63, 57, 47, 51,225, 50, 1, 47, 94, 93,225, 50, 16,222, 93,225, 48, 49, 33, 17, 52, 38, 35, - 34, 6, 7, 17, 35, 17, 51, 17, 62, 3, 51, 50, 30, 2, 21, 17, 3,127,105,100, 90,166, 84,182,182, 44, 87, 92,101, 57, 82,129, - 88, 47, 1,154, 88, 86, 58, 57,254, 43, 4, 74,254, 22, 31, 47, 32, 17, 47, 83,115, 68,254, 90, 0, 2,255,248,255,236, 4,123, - 5,205, 0, 45, 0, 56, 0, 84, 64, 47, 52, 91, 5, 18, 18, 5, 58, 35,134, 38, 1,103, 38,119, 38, 2, 38,251, 31, 51, 7, 91, - 40, 31, 28, 1, 28, 34, 31, 28, 7, 96, 51, 34, 40, 40, 0, 17, 12, 95, 18, 23, 19, 46, 95, 0, 4, 0, 63,225, 63, 51,225, 50, - 17, 57, 47,204, 51,225, 50, 1, 47, 51,221, 93, 50,225, 50, 16,225, 93, 93, 50, 16,206, 50, 47, 16,225, 48, 49, 1, 50, 22, 22, - 18, 21, 21, 33, 30, 3, 51, 50, 62, 2, 55, 21, 14, 3, 35, 34, 46, 2, 39, 38, 38, 53, 52, 54, 55, 51, 6, 6, 21, 20, 51, 51, - 62, 3, 23, 34, 14, 2, 7, 33, 52, 46, 2, 2,221,125,160, 93, 36,253, 96, 5, 36, 75,120, 90, 47, 79, 71, 65, 33, 33, 65, 76, - 92, 60,126,179,118, 60, 8,144,143, 17, 11,156, 6, 14,102, 21, 11, 60,109,162,110, 64, 92, 62, 33, 5, 1,223, 16, 48, 87, 5, -205,101,189,254,241,170, 90,122,194,134, 71, 12, 20, 28, 16,170, 15, 26, 18, 10, 93,177,254,160, 3,114,122, 42, 66, 23, 15, 62, - 35, 97,154,244,171, 91,164, 65,126,185,120,117,184,128, 67, 0, 0, 2,255,213,255,236, 4, 88, 4, 94, 0, 44, 0, 53, 0, 94, - 64, 56, 49, 72, 30, 40, 40, 30, 55, 12,149, 15, 1,102, 15,118, 15,134, 15, 3, 15, 73, 8, 48, 31, 72, 19, 31, 5, 47, 5, 2, - 5, 11, 8, 64, 24, 27, 72, 8, 5, 31, 80, 48, 11, 18, 18, 34, 45, 80, 24, 16, 39, 34, 81, 40, 0, 22, 0, 63, 50,225, 50, 63, -225, 18, 57, 47,204, 51,225, 50, 1, 47, 43, 51,221, 93, 50,225, 50, 16,225, 93, 93, 50, 16,206, 50, 47, 16,225, 48, 49, 5, 34, - 46, 2, 39, 38, 38, 53, 52, 54, 55, 51, 6, 6, 21, 20, 22, 51, 51, 62, 3, 51, 50, 30, 2, 21, 21, 33, 22, 22, 51, 50, 62, 2, - 55, 21, 14, 3, 3, 34, 6, 7, 33, 52, 46, 2, 2,215,108,178,131, 75, 4,133,141, 17, 10,149, 6, 14, 48, 50, 27, 14, 75,117, -152, 90, 99,158,110, 59,253, 76, 5,152,152, 51, 87, 80, 77, 39, 40, 77, 81, 87, 96,115,132, 11, 1,235, 27, 56, 88, 20, 70,136, -199,129, 2,111,114, 39, 63, 21, 14, 58, 34, 47, 49,108,170,117, 61, 71,129,181,110,113,193,182, 10, 19, 29, 18,162, 19, 28, 18, - 8, 3,219,156,149, 68,113, 80, 44, 0, 0, 2,255,248,254,127, 4,123, 5,205, 0, 48, 0, 59, 0,103, 64, 57, 24,251, 25, 25, - 31, 55, 91, 5, 18, 18, 5, 61, 38,134, 41, 1,103, 41,119, 41, 2, 41,251, 34, 54, 7, 91, 44, 31, 31, 1, 31, 37, 34, 31, 7, - 96, 54, 37, 43, 43, 0, 17, 12, 95, 23, 26, 23, 24, 24, 18, 23, 19, 49, 95, 0, 4, 0, 63,225, 63, 51, 51, 47, 17, 51, 16,225, - 50, 17, 57, 47,204, 51,225, 50, 1, 47, 51,221, 93, 50,225, 50, 16,225, 93, 93, 50, 16,206, 50, 47, 16,225, 18, 57, 47,225, 48, - 49, 1, 50, 22, 22, 18, 21, 21, 33, 30, 3, 51, 50, 62, 2, 55, 21, 14, 3, 7, 17, 35, 17, 46, 3, 39, 38, 38, 53, 52, 54, 55, - 51, 6, 6, 21, 20, 51, 51, 62, 3, 23, 34, 14, 2, 7, 33, 52, 46, 2, 2,221,125,160, 93, 36,253, 96, 5, 36, 75,120, 90, 47, - 79, 71, 65, 33, 30, 59, 67, 78, 49,176, 90,130, 86, 46, 6,144,143, 17, 11,156, 6, 14,102, 21, 11, 60,109,162,110, 64, 92, 62, - 33, 5, 1,223, 16, 48, 87, 5,205,101,189,254,241,170, 90,122,194,134, 71, 12, 20, 28, 16,170, 14, 23, 18, 12, 2,254,147, 1, -125, 23,111,170,226,138, 3,114,122, 42, 66, 23, 15, 62, 35, 97,154,244,171, 91,164, 65,126,185,120,117,184,128, 67, 0, 0, 2, -255,213,254,131, 4, 88, 4, 94, 0, 45, 0, 54, 0,113, 64, 66, 20, 70, 21, 21, 27, 50, 72, 6, 16, 16, 6, 56, 34,149, 37, 1, -102, 37,118, 37,134, 37, 3, 37, 73, 30, 49, 7, 72, 41, 31, 27, 47, 27, 2, 27, 33, 30, 64, 24, 27, 72, 30, 27, 7, 80, 49, 33, - 40, 40, 0, 15, 10, 81, 19, 22, 19, 20, 20, 16, 19, 22, 46, 80, 0, 16, 0, 63,225, 63, 51, 51, 47, 17, 51, 16,225, 50, 17, 57, - 47,204, 51,225, 50, 1, 47, 43, 51,221, 93, 50,225, 50, 16,225, 93, 93, 50, 16,206, 50, 47, 16,225, 18, 57, 47,225, 49, 48, 1, - 50, 30, 2, 21, 21, 33, 22, 22, 51, 50, 62, 2, 55, 21, 6, 6, 7, 17, 35, 17, 46, 3, 39, 38, 38, 53, 52, 54, 55, 51, 6, 6, - 21, 20, 22, 51, 51, 62, 3, 23, 34, 6, 7, 33, 52, 46, 2, 2,174, 99,158,110, 59,253, 76, 5,152,152, 51, 87, 80, 77, 39, 66, -133, 78,176, 84,136, 99, 57, 3,133,141, 17, 10,149, 6, 14, 48, 50, 27, 14, 75,117,152, 86,115,132, 11, 1,235, 27, 56, 88, 4, - 94, 71,129,181,110,113,193,182, 10, 19, 29, 18,162, 32, 34, 5,254,149, 1,117, 17, 84,132,178,111, 2,111,114, 39, 63, 21, 14, - 58, 34, 47, 49,108,170,117, 61,151,156,149, 68,113, 80, 44, 0,255,255, 0,225, 0, 0, 3,233, 5,182, 2, 6, 0, 44, 0, 0, -255,255, 0, 0, 0, 0, 4,205, 7,105, 2, 38, 1,176, 0, 0, 1, 7, 2, 54, 0, 0, 1, 82, 0, 19, 64, 11, 1, 20, 5, 38, - 1, 0, 23, 18, 17, 10, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 0, 0, 0, 4,205, 6, 23, 2, 38, 1,208, 0, 0, 1, 6, - 2, 54, 0, 0, 0, 19, 64, 11, 1, 20, 17, 38, 1, 0, 23, 18, 16, 5, 37, 1, 43, 53, 0, 43, 53, 0, 0, 1, 0,135,254, 0, - 4, 88, 5,182, 0, 37, 0, 88, 64, 49,134, 11, 1, 23, 11, 55, 11,103, 11, 3,119, 8, 1, 9, 10, 10, 33, 91, 17, 39, 11, 8, - 4, 90, 5, 27, 27, 0, 5, 1, 5, 8, 11, 97, 3, 0, 0, 4, 9, 6, 3, 28, 31, 95, 27, 22, 22, 4, 18, 0, 63, 51, 47, 51, -225, 50, 63, 51, 18, 57, 47, 51,225, 50, 1, 47, 93, 51, 47, 16,225, 50, 50, 16,222,225, 51, 47, 51, 48, 49, 0, 93, 1, 93, 93, - 1, 34, 6, 7, 17, 35, 17, 51, 17, 1, 51, 1, 51, 50, 30, 2, 21, 20, 14, 2, 35, 34, 46, 2, 39, 53, 22, 22, 51, 32, 17, 52, - 46, 2, 1,240, 57, 82, 35,187,187, 2, 53,207,253,209, 6,127,210,151, 83, 82,146,200,119, 49, 78, 68, 60, 31, 63,126, 73, 1, -118, 69,115,152, 2,125, 15, 14,253,160, 5,182,253, 60, 2,196,253, 88, 81,161,237,156,170,248,162, 79, 6, 12, 19, 12,162, 23, - 24, 1,239,129,186,119, 56, 0, 0, 1, 0,215,254, 10, 4, 88, 4, 74, 0, 34, 0, 85, 64, 48, 34, 16, 25, 33, 1, 33, 34, 34, - 20, 72, 5, 36, 32, 22, 0, 54, 0, 70, 0, 3, 0, 28, 70, 29, 13, 13, 0, 29, 1, 29, 32, 0, 78, 27, 25, 25, 29, 33, 30, 15, - 14, 17, 81, 13, 10, 10, 29, 21, 0, 63, 51, 47, 51,225, 50, 63, 51, 18, 57, 47, 51,225, 50, 1, 47, 93, 51, 47, 16,225, 50, 93, - 50, 16,222,225, 51, 47, 51, 93, 56, 48, 49, 1, 30, 3, 21, 20, 14, 2, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 53, 52, 46, 2, - 35, 34, 7, 17, 35, 17, 51, 17, 1, 51, 2,106,100,180,135, 79, 74,129,176,102, 76,105, 47, 44,105, 66,149,157, 52, 97,137, 85, - 83, 75,180,180, 1,228,215, 2, 98, 2, 61,130,207,149,150,213,136, 64, 31, 29,161, 24, 37,195,210,106,152, 98, 46, 29,254, 76, - 4, 74,254, 6, 1,250, 0, 1, 0, 4,254,127, 4,203, 5,182, 0, 35, 0, 75, 64, 42, 12, 20, 7,250, 29, 20, 0, 34,144, 34, -160, 34, 3, 34, 34, 5, 20, 3, 91, 2, 1, 5, 90, 0, 4, 1, 7, 95, 34, 3, 21, 24, 97, 20, 17, 19, 3, 3, 0, 95, 5, 18, - 0, 63,225, 51, 47, 63, 51,225, 50, 63,225, 1, 47, 51,221,225, 16,221,225, 47, 18, 57, 47, 93, 18, 57,225, 17, 57, 48, 49, 37, - 51, 3, 35, 19, 35, 17, 35, 14, 3, 7, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 62, 2, 55, 54, 54, 18, 18, 55, 33, 4, 8, -195,144,217,166,186,236, 14, 32, 33, 34, 16, 20, 53, 79,110, 78, 35, 74, 28, 22, 59, 32, 48, 64, 42, 26, 10, 11, 33, 39, 43, 22, - 2, 65,166,253,217, 1,129, 5, 18,113,244,236,212, 81,103,162,111, 59, 14, 11,150, 10, 15, 63, 98,117, 54, 57,200, 1, 6, 1, - 58,170, 0, 1, 0, 31,254,131, 4,174, 4, 74, 0, 24, 0, 63, 64, 33, 9, 15, 7, 73, 20, 15, 23, 23, 5, 15, 3, 71, 2, 1, - 5, 71, 0, 4, 1, 7, 80, 23, 15, 18, 79, 12, 22, 3, 3, 0, 80, 5, 21, 0, 63,225, 51, 47, 63,225, 63,225, 1, 47, 51,221, -225, 16,221,225, 47, 18, 57, 47, 18, 57,225, 17, 57, 48, 49, 37, 51, 3, 35, 19, 35, 17, 33, 2, 2, 6, 6, 35, 34, 38, 39, 53, - 22, 51, 50, 54, 54, 18, 55, 33, 3,248,182,123,182,123,182,254,196, 20, 64, 95,130, 86, 28, 49, 15, 21, 28, 55, 89, 69, 51, 18, - 2,142,154,253,233, 1,125, 3,176,254,253,254,148,230,105, 6, 6,131, 6,117,241, 1,111,250, 0, 1, 0,135,254, 0, 4, 70, - 5,182, 0, 27, 0, 78, 64, 46, 20, 12, 90, 23, 29, 19, 15, 90, 16, 5, 5, 16, 16, 32, 16, 2, 32, 16, 48, 16, 2, 16, 14, 95, -152, 19, 1, 15, 19, 47, 19, 2, 6, 19, 19, 16, 21, 17, 3, 16, 18, 6, 9, 95, 5, 0, 0, 47, 50,225, 50, 63, 63, 51, 18, 57, - 47, 94, 93, 93,225, 1, 47, 93,113, 51, 47, 16,225, 50, 16,222,225, 50, 48, 49, 1, 34, 46, 2, 39, 53, 22, 22, 51, 50, 54, 53, - 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 20, 14, 2, 2, 88, 45, 71, 61, 54, 29, 56,110, 63,164,174,253,183,187,187, 2, 73, -187, 74,132,181,254, 0, 6, 12, 19, 12,162, 23, 24,240,247, 2, 31,253, 86, 5,182,253,152, 2,104,250,221,170,248,162, 79, 0, - 0, 1, 0,160,254, 10, 4, 45, 4, 74, 0, 27, 0, 72, 64, 42, 20, 12, 71,176, 23,192, 23, 2, 23, 29, 19, 15, 71, 16, 3, 3, - 0, 16, 16, 16, 32, 16,208, 16, 4, 7, 16, 14, 80, 19, 19, 16, 21, 17, 15, 16, 21, 4, 7, 81, 3, 0, 0, 47, 50,225, 50, 63, - 63, 51, 18, 57, 47,225, 1, 47, 94, 93, 51, 47, 16,225, 50, 16,222, 93,225, 50, 48, 49, 1, 34, 38, 39, 53, 22, 22, 51, 50, 62, - 2, 53, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 20, 14, 2, 2,145, 75,105, 47, 43,106, 66, 59, 91, 61, 31,253,223,182,182, - 2, 33,182, 63,111,151,254, 10, 31, 29,161, 24, 37, 45, 97,150,105, 1,178,254, 23, 4, 74,254, 57, 1,199,251,243,150,213,136, - 64, 0, 0, 1, 0,135,254,127, 4,203, 5,182, 0, 15, 0, 84, 64, 49, 12, 8, 90, 16, 9, 32, 9, 2, 32, 9, 48, 9, 2, 9, - 3, 91, 2, 1, 13, 5, 90, 0, 4, 1, 6, 95,152, 12, 1, 15, 12, 47, 12, 2, 6, 12, 12, 9, 14, 10, 3, 0, 5, 5, 9, 3, - 3, 9, 18, 0, 63, 51, 47, 17, 51, 16,205, 63, 51, 18, 57, 47, 94, 93, 93,225, 1, 47, 51,221,225, 50, 16,221,225, 47, 93,113, -225, 50, 48, 49, 37, 51, 3, 35, 19, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 4, 8,195,144,217,166,186,253,244,187,187, 2, - 12,186,166,253,217, 1,129, 2,170,253, 86, 5,182,253,152, 2,104, 0, 0, 1, 0,160,254,131, 4,174, 4, 74, 0, 15, 0, 73, - 64, 41, 14, 71, 13, 12, 8, 0, 71, 11, 15, 12, 7, 3, 71, 0, 4, 16, 4, 32, 4,208, 4, 4, 7, 4, 2, 80, 7, 7, 4, 9, - 5, 15, 11, 80, 0, 0, 4, 14, 14, 4, 21, 0, 63, 51, 47, 17, 51, 16,225, 63, 51, 18, 57, 47,225, 1, 47, 94, 93,225, 50, 47, - 51,221,225, 50, 16,221,237, 48, 49, 33, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 51, 3, 35, 19, 3, 66,254, 20,182,182, 1, -236,182,182,123,182,123, 1,233,254, 23, 4, 74,254, 57, 1,199,252, 80,253,233, 1,125, 0, 1, 0,135,254,127, 4, 70, 5,182, - 0, 29, 0, 61, 64, 32, 28,251, 27, 27, 22, 0, 90, 25, 31, 12, 90, 0, 9, 1, 9, 1, 6, 95, 22, 17, 17, 10, 29, 95, 26, 27, - 27, 26, 18, 23, 10, 3, 0, 63, 51, 63, 51, 47, 16,225, 17, 57, 47, 51,225, 50, 1, 47, 93,225, 16,222,225, 50, 50, 47,225, 48, - 49, 37, 17, 14, 3, 35, 34, 38, 53, 17, 51, 17, 20, 30, 2, 51, 50, 62, 2, 55, 17, 51, 17, 35, 17, 35, 17, 3,139, 57,101, 94, - 92, 49,187,192,187, 20, 50, 82, 61, 45, 86, 89, 96, 56,187,187,176,166, 1,176, 22, 34, 22, 12,191,180, 2, 71,253,209, 57, 87, - 58, 29, 10, 20, 30, 20, 2,198,250, 74,254,127, 2, 39, 0, 1, 0,152,254,131, 4, 37, 4, 74, 0, 27, 0, 75, 64, 45, 25, 70, - 24, 24, 19, 27, 71,176, 22, 1, 22, 29, 13, 71, 0, 10, 16, 10, 32, 10,208, 10, 4, 7, 10, 5, 80, 15, 16, 31, 16, 2, 16, 16, - 11, 26, 80, 23, 24, 24, 23, 21, 20, 11, 15, 0, 63, 51, 63, 51, 47, 16,225, 17, 57, 47, 93,225, 1, 47, 94, 93,225, 16,222, 93, -225, 50, 50, 47,225, 48, 49, 1, 14, 3, 35, 34, 46, 2, 53, 17, 51, 17, 20, 22, 51, 50, 54, 55, 17, 51, 17, 35, 17, 35, 17, 51, - 3,111, 44, 87, 92,101, 57, 82,129, 88, 47,182,105,100, 89,167, 84,182,166,176,160, 1,233, 30, 48, 32, 17, 47, 84,115, 68, 1, -166,254,102, 88, 86, 58, 57, 1,213,251,182,254,131, 2, 23, 0, 0, 1, 0,113,254,127, 4,203, 5,182, 0, 29, 0,219, 64, 60, - 27, 14, 1, 10, 14, 1,252, 14, 1,237, 14, 1,220, 14, 1,185, 14,201, 14, 2,138, 14,154, 14,170, 14, 3,108, 14,124, 14, 2, - 91, 14, 1, 58, 14, 74, 14, 2, 25, 14, 41, 14, 2, 3, 11, 19, 11, 2,241, 11, 1,226, 11, 1,212, 11, 1, 11,184,255,232, 64, - 88, 17, 21, 72, 99, 11,115, 11, 2, 84, 11, 1, 53, 11, 69, 11, 2, 22, 11, 38, 11, 2, 19,251, 18, 17, 29, 0, 12, 12, 8, 27, - 22, 10, 14, 1, 14, 21,250, 15, 16, 1,191, 16,207, 16,223, 16, 3, 16, 17, 5, 11, 1, 11, 7, 2, 8,250, 0, 9, 16, 9, 2, - 9, 16, 95, 21, 18, 28, 14, 2, 11, 3, 5, 12, 1, 3, 12, 13, 0, 1, 1, 0, 8, 19, 19, 8, 18, 0, 63, 51, 47, 17, 51, 95, - 93, 50, 95, 93, 63, 51, 51, 51, 63,225, 1, 47, 93,225, 50, 50, 50, 93, 47,221, 93,113,225, 50, 93, 50, 50, 17, 57, 17, 51, 51, - 16,221,237, 48, 49, 93, 93, 93, 93, 43, 93, 93, 93,113, 93, 93, 93, 93, 93, 93, 93, 93, 93,113,113, 33, 1, 35, 22, 23, 22, 22, - 21, 17, 35, 17, 51, 19, 51, 19, 51, 17, 51, 3, 35, 19, 35, 17, 52, 54, 55, 54, 55, 35, 1, 1,254,254,250, 8, 5, 4, 4, 5, -145,237,236, 6,239,242,154,185,176,166,108, 4, 3, 4, 3, 8,254,248, 5, 0, 74, 73, 63,139, 57,252,150, 5,182,251, 88, 4, -168,250,240,253,217, 1,129, 3,119, 52,134, 61, 71, 73,251, 2, 0, 1, 0,115,254,131, 4,174, 4, 74, 0, 36, 0,204, 64,140, -184, 36,200, 36,216, 36, 3,153, 36,169, 36, 2,138, 36, 1,105, 36, 1, 90, 36, 1, 72, 36, 1, 41, 36, 57, 36, 2, 26, 36, 1, - 9, 36, 1,213, 24, 1,198, 24, 1,165, 24,181, 24, 2,150, 24, 1, 85, 24,101, 24,133, 24, 3, 70, 24, 1, 55, 24, 1, 38, 24, - 1, 21, 24, 1, 6, 24, 1, 8, 15, 1, 8, 14, 1, 7, 13, 1, 7, 12, 1, 3, 14, 13, 30, 30, 6, 24, 21, 73, 4, 22, 20, 22, - 36, 22, 3, 22, 4, 3, 2, 36, 6, 73, 1, 5,123, 2,203, 2,219, 2,235, 2, 4, 2, 7, 36, 36, 20, 24, 15, 30, 14, 15, 14, - 1, 2, 14, 21, 4, 4, 21, 21, 1, 80, 6, 21, 0, 63,225, 63, 51, 47, 17, 51, 95, 93, 17, 51, 63, 51, 51, 17, 51, 1, 47, 93, - 51,221,225, 50, 16,221,205, 47, 93,225, 50, 17, 57, 17, 51, 51, 48, 49, 95, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 1, 17, 51, 3, 35, 19, 35, 17, 14, 3, 7, 3, 35, 3, 46, 3, 39, 17, 35, 17, 51, 19, - 30, 3, 23, 62, 3, 55, 19, 4, 29,145,123,168,123,123, 4, 16, 17, 17, 5,199,131,196, 4, 16, 18, 18, 6,145,204,197, 10, 21, - 18, 15, 4, 5, 14, 17, 19, 10,203, 4, 74,252, 80,253,233, 1,125, 3,129, 21, 69, 74, 68, 18,253,121, 2,135, 14, 62, 73, 75, - 26,252,127, 4, 74,253,112, 34, 81, 75, 62, 16, 17, 61, 74, 78, 34, 2,148, 0,255,255, 0,225, 0, 0, 3,233, 5,182, 2, 6, - 0, 44, 0, 0,255,255, 0, 33, 0, 0, 4,172, 7,105, 2, 38, 0, 36, 0, 0, 1, 7, 2, 54,255,255, 1, 82, 0, 21,180, 2, - 17, 5, 38, 2,184,255,255,180, 20, 15, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,135,255,236, 4, 2, 6, 23, 2, 38, - 0, 68, 0, 0, 1, 6, 2, 54, 4, 0, 0, 19, 64, 11, 2, 36, 17, 38, 2, 37, 39, 34, 8, 22, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0, 33, 0, 0, 4,172, 7, 43, 2, 38, 0, 36, 0, 0, 1, 7, 0,106, 0, 0, 1, 82, 0, 25,182, 3, 2, 19, 5, 38, - 3, 2,184,255,255,180, 21, 25, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,135,255,236, 4, 2, 5,217, 2, 38, - 0, 68, 0, 0, 1, 6, 0,106, 12, 0, 0, 23, 64, 13, 3, 2, 38, 17, 38, 3, 2, 45, 40, 44, 8, 22, 37, 1, 43, 53, 53, 0, - 43, 53, 53, 0,255,255, 0, 0, 0, 0, 4,186, 5,182, 2, 6, 0,136, 0, 0,255,255, 0, 45,255,236, 4,162, 4, 94, 2, 6, - 0,168, 0, 0,255,255, 0,217, 0, 0, 4, 35, 7,105, 2, 38, 0, 40, 0, 0, 1, 7, 2, 54, 0, 23, 1, 82, 0, 21,180, 1, - 14, 5, 38, 1,184,255,255,180, 17, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,133,255,236, 4, 72, 6, 23, 2, 38, - 0, 72, 0, 0, 1, 6, 2, 54, 16, 0, 0, 19, 64, 11, 2, 25, 17, 38, 2, 15, 28, 23, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0, - 0, 2, 0, 84,255,236, 4,123, 5,205, 0, 30, 0, 41, 0, 63, 64, 36, 36, 26, 91, 14, 43, 37, 91, 24, 32, 3, 48, 3, 2, 3, - 3, 31, 24, 47, 24, 2, 24, 37, 95, 25, 25, 9, 31, 95, 19, 19, 3, 0, 95, 4, 9, 4, 0, 63, 51,225, 50, 63,225, 17, 57, 47, -225, 1, 47, 93, 51, 47, 93, 16,225, 16,222,225, 50, 48, 49, 1, 34, 6, 7, 53, 62, 3, 51, 50, 22, 22, 18, 21, 20, 2, 6, 6, - 35, 34, 38, 38, 2, 53, 53, 33, 46, 3, 3, 50, 62, 2, 55, 33, 30, 3, 2, 35,111,179, 79, 38, 80, 93,111, 67,141,217,147, 75, - 73,141,208,135,137,192,122, 55, 3, 98, 6, 55,100,145, 48, 77,125, 90, 54, 6,253, 99, 2, 35, 75,119, 5, 41, 44, 32,170, 15, - 26, 19, 10,108,198,254,233,171,174,254,235,194,104,103,192, 1, 17,171, 82,122,193,134, 71,251,102, 65,126,185,120,117,184,127, - 68, 0, 0, 2, 0,133,255,236, 4, 72, 4, 94, 0, 30, 0, 39, 0, 73, 64, 43, 34, 17, 72, 15, 5, 1,255, 5, 1, 5, 41, 35, - 72, 15, 25, 25, 0, 15, 1, 0, 15, 16, 15,240, 15, 3, 8, 15, 35, 80, 16, 16, 0, 31, 80, 10, 22, 25, 20, 81, 26, 0, 16, 0, - 63, 50,225, 50, 63,225, 17, 57, 47,225, 1, 47, 94, 93,113, 51, 47, 16,225, 16,222, 93,113,225, 50, 49, 48, 1, 50, 30, 2, 21, - 20, 14, 2, 35, 34, 46, 2, 53, 53, 33, 38, 38, 35, 34, 14, 2, 7, 53, 62, 3, 19, 50, 54, 55, 33, 20, 30, 2, 2, 45,119,198, -143, 79, 72,131,184,111,108,173,120, 64, 3, 6, 5,171,168, 56, 97, 89, 84, 44, 43, 83, 87, 96,100,133,156, 12,253,195, 32, 66, -103, 4, 94, 74,142,210,135,136,214,148, 79, 71,129,181,110,113,193,181, 10, 19, 28, 18,159, 20, 28, 19, 9,252, 37,156,149, 68, -113, 80, 44, 0,255,255, 0, 84,255,236, 4,123, 7, 43, 2, 38, 2,225, 0, 0, 1, 7, 0,106, 0, 2, 1, 82, 0, 23, 64, 13, - 3, 2, 46, 5, 38, 3, 2, 0, 48, 52, 24, 14, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,133,255,236, 4, 72, 5,217, - 2, 38, 2,226, 0, 0, 1, 6, 0,106, 2, 0, 0, 23, 64, 13, 3, 2, 44, 17, 38, 3, 2, 1, 46, 50, 15, 5, 37, 1, 43, 53, - 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, 4,205, 7, 43, 2, 38, 1,176, 0, 0, 1, 7, 0,106, 0, 0, 1, 82, 0, 25, -182, 2, 1, 22, 5, 38, 2, 1,184,255,255,180, 24, 28, 17, 10, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 0, 0, 0, - 4,205, 5,217, 2, 38, 1,208, 0, 0, 1, 6, 0,106, 0, 0, 0, 25,182, 2, 1, 22, 17, 38, 2, 1,184,255,255,180, 24, 28, - 16, 5, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,139,255,236, 4, 47, 7, 43, 2, 38, 1,177, 0, 0, 1, 7, 0,106, -255,237, 1, 82, 0, 25,182, 2, 1, 40, 5, 38, 2, 1,184,255,246,180, 42, 46, 9, 4, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, -255,255, 0,201,255,236, 4, 8, 5,217, 2, 38, 1,209, 0, 0, 1, 6, 0,106,253, 0, 0, 25,182, 2, 1, 37, 17, 38, 2, 1, -184,255,250,180, 39, 43, 8, 18, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 1, 0,158,255,236, 4, 66, 5,182, 0, 32, 0, 75, - 64, 41, 87, 0, 1, 70, 0, 1, 28, 91, 32, 32, 5, 0, 91, 26, 26, 13, 22, 5, 34, 29, 29, 0, 13, 1, 13, 32, 29, 95, 30, 0, - 97, 26, 26, 30, 3, 14, 19, 96, 13, 10, 19, 0, 63, 51,225, 50, 63, 57, 47,225, 16,225, 50, 1, 47, 93, 51, 47, 16,222,193, 17, - 57, 47,225, 17, 51, 47,225, 48, 49, 93, 93, 1, 30, 3, 21, 20, 14, 2, 35, 34, 38, 39, 53, 30, 3, 51, 50, 54, 53, 52, 38, 35, - 35, 53, 1, 33, 53, 33, 21, 2, 74,115,186,132, 71, 67,136,205,137,110,192, 85, 43, 96, 99, 99, 46,178,176,207,186,123, 1,166, -253,166, 3, 61, 3, 59, 4, 54,100,151,102, 96,160,116, 64, 34, 45,170, 23, 36, 24, 13,148,135,135,129,151, 1,209,166,145, 0, - 0, 1, 0,170,254, 20, 4, 59, 4, 74, 0, 36, 0, 70, 64, 38, 32, 74, 36, 36, 5, 0, 74, 0, 30, 1, 30, 30, 13, 24, 70, 5, - 38, 33, 0, 13, 1, 13, 31, 0, 78, 30, 30, 19, 33, 80, 34, 15, 14, 19, 80, 13, 10, 27, 0, 63, 51,225, 50, 63,225, 18, 57, 47, -225, 50, 1, 47, 93, 51, 16,222,225, 17, 57, 47, 93,225, 17, 51, 47,225, 48, 49, 1, 30, 3, 21, 20, 14, 2, 35, 34, 38, 39, 55, - 30, 3, 51, 50, 62, 2, 53, 52, 46, 2, 35, 35, 53, 1, 33, 53, 33, 21, 2, 72,104,182,135, 78, 76,139,198,123,122,193, 62, 2, - 33, 84, 98,111, 59, 77,128, 92, 51, 59,108,151, 91,119, 1,182,253,150, 3, 61, 1,213, 7, 64,114,164,108,110,185,134, 75, 36, - 34,166, 16, 31, 24, 15, 48, 89,127, 78, 86,123, 80, 37,125, 1,237,154,133, 0,255,255, 0,137, 0, 0, 4, 70, 6,193, 2, 38, - 1,178, 0, 0, 1, 7, 1, 77, 0, 2, 1, 82, 0, 19, 64, 11, 1, 19, 5, 38, 1, 0, 17, 18, 0, 8, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0,160, 0, 0, 4, 45, 5,111, 2, 38, 1,210, 0, 0, 1, 6, 1, 77, 2, 0, 0, 19, 64, 11, 1, 14, 17, 38, - 1, 1, 12, 13, 10, 4, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,137, 0, 0, 4, 70, 7, 43, 2, 38, 1,178, 0, 0, 1, 7, - 0,106, 0, 2, 1, 82, 0, 23, 64, 13, 2, 1, 21, 5, 38, 2, 1, 0, 23, 27, 0, 8, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, -255,255, 0,160, 0, 0, 4, 45, 5,217, 2, 38, 1,210, 0, 0, 1, 6, 0,106, 2, 0, 0, 23, 64, 13, 2, 1, 16, 17, 38, 2, - 1, 1, 18, 22, 10, 4, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 84,255,236, 4,123, 7, 43, 2, 38, 0, 50, 0, 0, - 1, 7, 0,106, 0, 2, 1, 82, 0, 23, 64, 13, 3, 2, 24, 5, 38, 3, 2, 0, 26, 30, 2, 7, 37, 1, 43, 53, 53, 0, 43, 53, - 53, 0,255,255, 0,115,255,236, 4, 88, 5,217, 2, 38, 0, 82, 0, 0, 1, 6, 0,106,249, 0, 0, 25,182, 3, 2, 24, 17, 38, - 3, 2,184,255,249,180, 26, 30, 3, 9, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 84,255,236, 4,123, 5,205, 2, 6, - 2,126, 0, 0,255,255, 0,115,255,236, 4, 88, 4, 94, 2, 6, 2,127, 0, 0,255,255, 0, 84,255,236, 4,123, 7, 43, 2, 38, - 2,126, 0, 0, 1, 7, 0,106, 0, 2, 1, 82, 0, 23, 64, 13, 4, 3, 46, 5, 38, 4, 3, 0, 48, 52, 10, 0, 37, 1, 43, 53, - 53, 0, 43, 53, 53, 0,255,255, 0,115,255,236, 4, 88, 5,217, 2, 38, 2,127, 0, 0, 1, 6, 0,106,249, 0, 0, 25,182, 4, - 3, 35, 17, 38, 4, 3,184,255,249,180, 37, 41, 10, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 68,255,236, 4, 76, - 7, 43, 2, 38, 1,199, 0, 0, 1, 7, 0,106,255,136, 1, 82, 0, 25,182, 2, 1, 28, 5, 38, 2, 1,184,255,166,180, 30, 34, - 1, 6, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,184,255,236, 4, 37, 5,217, 2, 38, 1,231, 0, 0, 1, 6, 0,106, -208, 0, 0, 25,182, 2, 1, 27, 17, 38, 2, 1,184,255,199,180, 29, 33, 13, 18, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, - 0, 27,255,236, 4,176, 6,193, 2, 38, 1,189, 0, 0, 1, 7, 1, 77, 0, 8, 1, 82, 0, 19, 64, 11, 1, 26, 5, 38, 1, 8, - 24, 25, 14, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82,254, 20, 4,121, 5,111, 2, 38, 0, 92, 0, 0, 1, 6, 1, 77, - 2, 0, 0, 19, 64, 11, 1, 25, 17, 38, 1, 2, 23, 24, 0, 9, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 27,255,236, 4,176, - 7, 43, 2, 38, 1,189, 0, 0, 1, 7, 0,106,255,255, 1, 82, 0, 25,182, 2, 1, 28, 5, 38, 2, 1,184,255,255,180, 30, 34, - 14, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 82,254, 20, 4,121, 5,217, 2, 38, 0, 92, 0, 0, 1, 6, 0,106, - 8, 0, 0, 23, 64, 13, 2, 1, 27, 17, 38, 2, 1, 8, 29, 33, 0, 9, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 27, -255,236, 4,176, 7,115, 2, 38, 1,189, 0, 0, 1, 7, 1, 83, 0, 82, 1, 82, 0, 23, 64, 13, 2, 1, 30, 5, 38, 2, 1, 82, - 24, 35, 14, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 82,254, 20, 4,121, 6, 33, 2, 38, 0, 92, 0, 0, 1, 6, - 1, 83, 94, 0, 0, 23, 64, 13, 2, 1, 29, 17, 38, 2, 1, 94, 23, 34, 0, 9, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, - 0,135, 0, 0, 4, 70, 7, 43, 2, 38, 1,193, 0, 0, 1, 7, 0,106, 0, 2, 1, 82, 0, 23, 64, 13, 2, 1, 21, 5, 38, 2, - 1, 1, 23, 27, 6, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,152, 0, 0, 4, 37, 5,217, 2, 38, 1,225, 0, 0, - 1, 6, 0,106,251, 0, 0, 23, 64, 13, 2, 1, 21, 17, 38, 2, 1, 2, 23, 27, 15, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, - 0, 1, 1, 43,254,127, 4,100, 5,182, 0, 9, 0, 56, 64, 35, 0, 11, 5,251, 6, 6, 3, 90, 0, 8, 1, 0, 8, 32, 8, 48, - 8,144, 8,160, 8,240, 8, 6, 8, 2, 95, 9, 3, 5, 5, 3, 95, 8, 18, 0, 63,225, 51, 47, 63,225, 1, 47, 93,113,225, 50, - 47,225, 16,206, 49, 48, 1, 21, 33, 17, 51, 17, 35, 17, 35, 17, 4,100,253,129,177,177,186, 5,182,166,251,150,253,217, 1,129, - 5,182, 0, 1, 1, 35,254,131, 4, 14, 4, 74, 0, 9, 0, 46, 64, 26, 2, 11, 7, 70, 8, 8, 5, 71, 0, 0,144, 0,160, 0, - 3, 0, 4, 80, 1, 15, 7, 7, 5, 80, 0, 21, 0, 63,225, 51, 47, 63,225, 1, 47, 93,225, 50, 47,225, 16,206, 48, 49, 33, 17, - 33, 21, 33, 17, 51, 17, 35, 17, 1, 35, 2,235,253,203,160,176, 4, 74,154,252,234,253,233, 1,125, 0,255,255, 0, 96, 0, 0, - 4,109, 7, 43, 2, 38, 1,197, 0, 0, 1, 7, 0,106, 0, 2, 1, 82, 0, 23, 64, 13, 4, 3, 26, 5, 38, 4, 3, 1, 28, 32, - 0, 20, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,113, 0, 0, 4, 90, 5,217, 2, 38, 1,229, 0, 0, 1, 6, 0,106, - 2, 0, 0, 23, 64, 13, 4, 3, 25, 17, 38, 4, 3, 2, 27, 31, 6, 17, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, 0, 1, 0,147, -254,109, 4,100, 5,182, 0, 29, 0, 72, 64, 38, 15, 4, 1, 4, 4, 7, 0, 31, 16, 9,250, 23, 23, 2, 7, 90, 28, 26, 24, 19, - 6, 26, 95, 3, 27, 27, 7, 2, 95, 29, 3, 7, 95, 24, 18, 19, 96, 12, 0, 47,225, 63,225, 63,225, 18, 57, 47, 51,225, 50, 1, - 47, 47,206, 51,225, 50, 50, 47,225,206, 16,206, 17, 57, 47, 93, 48, 49, 1, 21, 33, 17, 33, 21, 33, 17, 51, 17, 20, 6, 35, 34, - 38, 39, 53, 22, 22, 51, 50, 54, 53, 53, 35, 17, 35, 53, 51, 17, 4,100,253,129, 1, 80,254,176,156,110,125, 39, 63, 21, 14, 58, - 34, 47, 49,186,152,152, 5,182,166,254, 21,162,254, 35,254,217,132,142, 17, 9,150, 7, 14, 49, 49,150, 2,131,162, 2,145, 0, - 0, 1, 0,135,254,109, 4, 14, 4, 74, 0, 29, 0, 72, 64, 37, 10, 10, 13, 6, 31, 25, 22, 15, 73, 29, 29, 9, 13, 71, 4, 2, - 0, 22, 25, 80, 21, 18, 12, 2, 79, 9, 3, 3, 13, 8, 80, 5, 15, 13, 81, 0, 21, 0, 63,225, 63,225, 18, 57, 47, 51,225, 50, - 47, 51,225, 50, 1, 47,206, 51,225, 50, 50, 47,225,206, 47, 16,206, 17, 57, 47, 48, 49, 33, 17, 35, 53, 51, 17, 33, 21, 33, 17, - 33, 21, 33, 17, 51, 17, 20, 6, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 53, 53, 1, 35,156,156, 2,235,253,203, 1, 23,254,233, -156,110,126, 38, 63, 22, 14, 59, 34, 46, 50, 1,225,137, 1,224,154,254,186,137,254,197,254,217,132,142, 17, 9,150, 7, 14, 49, - 49,150,255,255, 0, 53,254,109, 4,205, 5,182, 2, 38, 0, 59, 0, 0, 1, 7, 3,128, 1,180, 0, 0, 0, 23,182, 1, 1, 0, - 21,176, 21, 2,184, 1,180,180, 21, 12, 4, 0, 37, 1, 43, 93, 53, 0, 53, 0,255,255, 0, 96,254,109, 4,119, 4, 74, 2, 38, - 0, 91, 0, 0, 1, 7, 3,129, 1, 94, 0, 0, 0, 30,181, 1, 1, 80, 21, 1, 21,184,255,192,178, 9, 12, 54,184, 1, 94,180, - 21, 12, 11, 7, 37, 1, 43, 43, 93, 53, 0, 53, 0, 1, 0, 53, 0, 0, 4,150, 5,182, 0, 17, 0,164,185, 0, 11,255,248, 64, - 23, 12, 15, 72, 6, 11, 22, 11, 38, 11, 3, 13, 8, 12, 15, 72, 9, 13, 25, 13, 41, 13, 3, 4,184,255,248, 64, 32, 12, 15, 72, - 6, 4, 22, 4, 38, 4, 3, 2, 8, 12, 15, 72, 9, 2, 25, 2, 41, 2, 3, 15, 9, 6, 3, 0, 12, 12, 14, 11, 10,184,255,240, - 64, 10, 10, 10, 5, 7, 17, 7, 17, 1, 4, 5,184,255,240, 64, 25, 5, 13, 14, 16, 14, 14, 2, 1, 16, 1, 3, 0, 7, 95, 15, - 12, 8, 8, 1, 13, 10, 3, 5, 1, 18, 0, 63, 51, 63, 51, 18, 57, 47, 51, 51,225, 50, 50, 1, 47, 56, 51, 51, 47, 56, 51, 47, - 56, 51, 18, 57, 57, 47, 47, 17, 51, 47, 56, 51, 18, 57, 17, 51, 51, 51, 51, 51, 93, 43, 93, 43, 93, 43, 93, 43, 48, 49, 1, 1, - 35, 1, 1, 35, 1, 33, 53, 33, 1, 51, 1, 1, 51, 1, 33, 21, 2,250, 1,156,211,254,157,254,146,189, 1,154,254,223, 1, 21, -254,145,199, 1, 75, 1, 78,191,254,141, 1, 29, 2,180,253, 76, 2,123,253,133, 2,180,162, 2, 96,253,209, 2, 47,253,160,162, - 0, 1, 0, 96, 0, 0, 4,106, 4, 74, 0, 17, 0,194,183,196, 14,212, 14,228, 14, 3, 14,184,255,240, 64, 36, 11, 14, 72,203, - 12,219, 12,235, 12, 3, 12, 16, 11, 14, 72,203, 5,219, 5,235, 5, 3, 5, 16, 11, 14, 72,196, 3,212, 3,228, 3, 3, 6, 3, -184,255,240, 64, 20, 11, 14, 72, 73, 13, 1, 13, 16, 18, 23, 72, 10, 13, 26, 13, 2, 70, 4, 1, 4,184,255,240, 64, 55, 18, 23, - 72, 5, 4, 21, 4, 2, 17, 9, 17, 9, 15, 11, 16, 13, 10, 7, 1, 4, 4, 6, 3, 2, 2, 14, 31, 15, 1, 15, 5, 6, 6, 12, - 0, 11, 16, 11, 2, 11, 13, 10, 17, 79, 7, 4, 0, 0, 2, 15, 11, 21, 5, 2, 15, 0, 63, 51, 63, 51, 18, 57, 47, 51, 51,225, - 50, 50, 1, 47, 93, 51, 51, 47, 51, 47, 93, 51, 51, 47, 51, 18, 57, 17, 51, 51, 51, 51, 51, 17, 18, 57, 57, 47, 47, 48, 49, 0, - 93, 43, 93, 93, 43, 93, 1, 43, 95, 93, 43, 93, 43, 93, 43, 93, 19, 33, 1, 51, 1, 1, 51, 1, 33, 21, 33, 1, 35, 1, 1, 35, - 1, 33,166, 1, 41,254,166,207, 1, 34, 1, 35,207,254,164, 1, 45,254,207, 1,114,206,254,202,254,201,207, 1,115,254,211, 2, -123, 1,207,254,102, 1,154,254, 49,137,254, 14, 1,180,254, 76, 1,242, 0, 2, 0,137, 0, 0, 3,246, 5,182, 0, 14, 0, 25, - 0, 42, 64, 22, 6, 25, 90, 9, 27, 21, 91, 0, 0, 1, 0, 16, 95, 5, 5, 7, 24, 96, 10, 18, 7, 3, 0, 63, 63,225, 17, 57, - 47,225, 1, 47, 93,225, 16,222,225, 50, 48, 49, 19, 52, 62, 2, 51, 51, 17, 51, 17, 33, 34, 46, 2, 1, 35, 34, 14, 2, 21, 20, - 22, 51, 51,137, 55,127,207,152,149,187,254,149,133,194,126, 61, 2,178,129, 93,138, 91, 46,163,175,159, 1,172, 87,152,113, 66, - 2,104,250, 74, 61,112,158, 1, 95, 27, 60, 97, 70,136,132, 0,255,255, 0,137,255,236, 4, 47, 6, 20, 2, 6, 0, 71, 0, 0, - 0, 2, 0, 49,255,236, 4,131, 5,182, 0, 33, 0, 48, 0, 61, 64, 33, 9, 24,251, 21, 48, 48, 15, 32,251, 15, 1, 63, 1, 2, - 1, 50, 40, 90, 15, 35, 95, 33, 20, 20, 22, 3, 27, 9, 43, 96, 6, 12, 19, 0, 63, 51,225, 50, 50, 63, 57, 47, 51,225, 1, 47, -225, 16,222, 93,225, 17, 57, 47, 51,225, 57, 49, 48, 1, 17, 20, 14, 2, 35, 34, 38, 39, 6, 6, 35, 34, 38, 53, 52, 62, 2, 51, - 51, 17, 51, 17, 20, 22, 51, 50, 62, 2, 53, 17, 5, 35, 34, 14, 2, 21, 20, 22, 51, 50, 62, 2, 53, 4,131, 30, 67,109, 79, 92, -109, 34, 35,122, 97,165,167, 49,104,161,112, 82,174, 65, 68, 30, 44, 29, 14,254, 88, 80, 66, 94, 60, 28, 78, 94, 48, 60, 35, 13, - 3, 80,254, 24, 84,140,101, 55, 87, 87, 79, 93,209,215,103,163,114, 60, 2,104,251,178,114,103, 23, 51, 83, 60, 1,232,166, 30, - 67,107, 77,128,130, 35, 60, 79, 43, 0, 0, 2, 0, 49,255,236, 4,131, 6, 20, 0, 44, 0, 61, 0, 62, 64, 33, 14, 40, 70, 37, - 50, 50, 23, 3, 70, 15, 6, 1, 6, 63, 59, 70, 23, 31, 56, 80, 28, 16, 4, 4, 38, 0, 14, 0, 45, 80, 11, 20, 22, 0, 63, 51, -225, 50, 50, 63, 57, 47, 63,225, 50, 1, 47,225, 16,222, 93,225, 17, 57, 47, 51,225, 57, 48, 49, 37, 50, 54, 53, 17, 51, 17, 20, - 14, 2, 35, 34, 38, 39, 35, 14, 3, 35, 34, 2, 17, 52, 62, 2, 51, 50, 22, 23, 51, 38, 39, 38, 38, 53, 17, 51, 17, 20, 30, 2, - 33, 50, 62, 2, 55, 53, 52, 46, 2, 35, 34, 6, 21, 20, 22, 3, 88, 66, 59,174, 34, 68,101, 67,110,129, 34, 4, 19, 43, 60, 83, - 59,154,141, 42, 77,107, 65, 82,104, 31, 8, 2, 2, 2, 2,174, 9, 26, 50,254, 85, 46, 63, 39, 19, 1, 17, 39, 64, 48, 83, 77, - 77,131,124,130, 1, 59,254,193,105,152, 98, 46, 99,103, 41, 74, 55, 32, 1, 30, 1, 25,141,214,144, 72, 74, 65, 34, 31, 26, 55, - 16, 1,159,251,146, 61,107, 78, 45, 46, 94,141, 94, 41,101,157,107, 55,217,205,209,205, 0, 1, 0, 35,255,236, 4, 84, 5,203, - 0, 57, 0, 80, 64, 42, 37,251, 0, 0, 31, 26,251, 11, 11, 18, 45,251, 15, 48, 1, 48, 59, 17, 18, 6, 6, 18, 31, 6, 97, 7, - 46, 46, 7, 7, 21, 42, 95, 53, 19, 18, 17, 17, 14, 96, 21, 4, 0, 63,225, 50, 17, 51, 63,225, 17, 57, 47, 51, 47, 16,225, 57, - 1, 47, 51, 47, 17, 51, 16,222, 93,225, 17, 57, 47,225, 51, 51, 47,225, 48, 49, 1, 52, 46, 2, 35, 35, 53, 51, 50, 54, 53, 52, - 38, 35, 34, 6, 7, 39, 54, 54, 51, 50, 30, 2, 21, 20, 14, 2, 7, 21, 30, 3, 21, 20, 30, 2, 51, 50, 54, 53, 17, 51, 17, 20, - 14, 2, 35, 34, 46, 2, 1,254, 16, 42, 72, 56,156,156, 83, 91, 88, 86, 60, 94, 53, 82, 65,151,103, 81,121, 79, 39, 30, 56, 80, - 49, 57, 84, 56, 28, 14, 31, 47, 33, 66, 59,174, 40, 77,109, 69, 69,112, 79, 43, 1,135, 77,109, 70, 33,151,134,125,124,115, 33, - 41,117, 54, 57, 54, 97,133, 79, 73,116, 85, 58, 16, 6, 13, 51, 83,121, 84, 74,103, 65, 29,115,133, 1,201,254, 45,107,152, 97, - 45, 38, 94,159, 0, 1, 0, 43,255,236, 4, 94, 4, 92, 0, 57, 0, 71, 64, 37, 37, 26, 70, 31, 0, 11, 11, 18, 45, 70, 15, 48, - 1, 48, 59, 17, 18, 6, 6, 18, 31, 6, 80, 46, 7, 7, 21, 42, 81, 53, 22, 17, 14, 78, 18, 21, 16, 0, 63, 51,225, 50, 63,225, - 17, 57, 47,196,225, 57, 1, 47, 51, 47, 17, 51, 16,222, 93,225, 17, 57, 47, 51, 51,225, 50, 48, 49, 1, 46, 3, 35, 35, 53, 51, - 50, 54, 53, 52, 38, 35, 34, 6, 7, 39, 54, 54, 51, 50, 30, 2, 21, 20, 14, 2, 7, 21, 30, 3, 23, 30, 3, 51, 50, 54, 53, 17, - 51, 17, 20, 14, 2, 35, 34, 46, 2, 2, 10, 3, 18, 41, 70, 56,139,139, 83, 91, 75, 87, 66,113, 63, 61, 65,156,101, 81,120, 79, - 39, 30, 56, 80, 49, 53, 81, 56, 31, 4, 3, 15, 29, 45, 33, 66, 59,174, 40, 76,110, 69, 69,107, 76, 43, 1, 27, 56, 80, 51, 24, -153, 86, 80, 82, 74, 36, 32,141, 36, 38, 42, 73,100, 57, 55, 86, 64, 43, 14, 4, 6, 30, 56, 85, 61, 54, 75, 47, 21,115,133, 1, - 53,254,193,107,152, 97, 45, 28, 69,117, 0, 1, 0, 39,254,127, 4,117, 5,203, 0, 49, 0, 80, 64, 43, 1, 90, 46, 46, 49, 39, - 15, 91, 34, 34, 49,251, 0, 47, 80, 47, 2, 47, 23, 24, 8, 8, 24, 24, 23, 23, 20, 96, 29, 39, 8, 97, 9, 9, 29, 4, 46, 95, - 1, 48, 48, 1, 18, 0, 63, 51, 47, 16,225, 63, 57, 47,225, 57, 16,225, 50, 17, 51, 1, 47, 51, 47, 17, 51, 47, 93,225, 50, 47, -225, 50, 17, 51, 47,225, 49, 48, 33, 35, 17, 52, 46, 2, 35, 35, 53, 51, 50, 62, 2, 53, 52, 46, 2, 35, 34, 6, 7, 39, 62, 3, - 51, 50, 30, 2, 21, 20, 14, 2, 7, 21, 30, 3, 21, 21, 51, 17, 35, 3,197,187, 56,103,149, 93,191,176, 92,142, 97, 50, 37, 68, - 95, 58,110,169, 75, 92, 38, 98,116,131, 72,109,166,112, 57, 51, 91,125, 75, 87,138, 94, 50,176,176, 1,160, 68, 99, 65, 32,151, - 39, 72,101, 61, 54, 83, 58, 30, 67, 54,125, 31, 54, 41, 24, 54, 97,133, 79, 73,120, 88, 57, 12, 6, 11, 57, 89,119, 72,250,253, -217, 0, 0, 1, 0, 80,254,131, 4, 92, 4, 94, 0, 47, 0, 78, 64, 41, 36, 14, 70, 31, 31, 0, 71, 43, 43, 47, 70, 44, 49, 22, - 23, 8, 8, 23, 23, 48, 22, 17, 80, 26, 36, 7, 80, 48, 8, 1, 8, 8, 23, 26, 16, 45, 45, 43, 80, 0, 21, 0, 63,225, 51, 47, - 63, 51, 57, 47, 93,225, 57, 16,225, 50, 17, 1, 51, 47, 51, 47, 17, 51, 16,222,225, 50, 47,225, 51, 47,225, 50, 48, 49, 33, 17, - 52, 46, 2, 35, 35, 53, 51, 50, 62, 2, 53, 52, 38, 35, 34, 14, 2, 7, 39, 54, 54, 51, 50, 30, 2, 21, 20, 14, 2, 7, 21, 30, - 3, 21, 21, 51, 17, 35, 17, 3, 6, 27, 62,102, 75,236,203, 62,100, 72, 39,140,131, 47, 82, 80, 80, 45, 63, 93,201,115, 99,160, -113, 61, 28, 51, 71, 43, 54, 84, 58, 31,160,176, 1, 43, 47, 73, 49, 26,153, 18, 39, 64, 45, 77, 77, 10, 18, 27, 17,147, 39, 37, - 36, 72,106, 70, 53, 81, 59, 41, 14, 11, 13, 44, 66, 91, 62,145,253,233, 1,125, 0, 1, 0, 0,255,236, 4,131, 5,182, 0, 48, - 0, 83, 64, 46, 22, 13, 27,250, 1, 29,251, 48, 6, 13, 0, 1, 16, 1, 2, 1, 48, 1, 48, 13, 35,251, 15, 38, 1, 38, 50, 13, - 32, 95, 43, 19, 36, 36, 17, 1, 95, 27, 3, 14, 14, 17, 96, 13, 11, 19, 0, 63, 51,225, 50, 47, 63,225, 18, 57, 47, 63,225, 1, - 47, 16,222, 93,225, 17, 57, 57, 47, 47, 93, 18, 57, 16,225, 16,237, 17, 57, 48, 49, 1, 35, 14, 3, 7, 14, 3, 35, 34, 39, 53, - 22, 22, 51, 50, 62, 2, 55, 54, 54, 18, 18, 55, 33, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, 2, - 45,164, 9, 20, 21, 19, 9, 10, 27, 48, 78, 62, 51, 39, 14, 26, 17, 25, 31, 21, 14, 6, 7, 19, 23, 26, 15, 1,231, 59, 66, 68, - 57,174, 42, 78,109, 68, 67,110, 80, 44, 5, 18,116,245,234,210, 81,103,161,110, 58, 22,154, 8, 9, 60, 93,113, 54, 59,196, 1, - 2, 1, 57,177,251,209,129,119,119,129, 1,201,254, 45,105,152, 98, 46, 44, 96,153,108, 0, 1, 0, 0,255,236, 4,131, 4, 74, - 0, 41, 0, 73, 64, 40, 20, 73, 1, 22, 70, 41, 0, 1, 16, 1, 2, 1, 41, 1, 41, 11, 28, 70, 15, 31, 1, 31, 43, 11, 29, 29, - 15, 1, 80, 20, 15, 25, 12, 12, 15, 79, 36, 11, 8, 22, 0, 63, 51, 51,225, 50, 17, 51, 63,225, 18, 57, 47, 1, 47, 16,222, 93, -225, 17, 57, 57, 47, 47, 93, 16,225, 16,225, 49, 48, 1, 35, 6, 2, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 54, 18, 55, - 33, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, 2, 45,174, 10, 29, 38, 48, 58, 69, 41, 26, 49, 15, - 8, 17, 8, 37, 61, 48, 37, 13, 1,246, 55, 72, 65, 58,174, 36, 73,110, 74, 71,113, 79, 42, 3,176,186,254,226,213,145, 89, 39, - 6, 6,131, 3, 3,117,241, 1,111,250,253, 61,135,125,123,137, 1, 53,254,193,105,152, 98, 46, 37, 87,142,104, 0, 1, 0,121, -255,236, 4,131, 5,182, 0, 29, 0, 72, 64, 42, 27, 0,251, 19, 19, 23, 6,251, 56, 9, 1, 15, 9, 1, 9, 31, 26, 22,251, 71, - 23, 1, 0, 23, 16, 23, 2, 23, 21, 95, 7, 26, 26, 28, 24, 3, 23, 18, 3, 95, 14, 19, 0, 63,225, 63, 63, 51, 57, 47, 51,225, - 1, 47, 93, 93,225, 50, 16,222, 93, 93,225, 17, 57, 47,225, 51, 48, 49, 1, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, - 34, 46, 2, 53, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 2,219, 62, 69, 69, 58,166, 37, 74,111, 75, 75,110, 72, 36,254,234,166, -166, 1, 22,166, 1,135,129,119,119,129, 1,201,254, 45,105,152, 98, 46, 44, 96,153,108, 1, 45,253, 86, 5,182,253,152, 2,104, - 0, 1, 0,123,255,236, 4,123, 4, 74, 0, 29, 0, 80, 64, 49, 5, 73, 2, 71, 24, 87, 24, 2, 24, 24, 28, 11, 73, 72, 14, 88, - 14,168, 14, 3, 15, 14, 1, 14, 31, 1, 27, 73, 0, 28, 16, 28, 2, 28, 28, 21, 26, 80, 12, 1, 1, 0, 8, 80, 19, 22, 3, 0, - 15, 0, 63, 50, 63,225, 17, 57, 47,196,225, 63, 1, 47, 93,225, 50, 16,222, 93, 93,225, 17, 57, 47, 93, 51,225, 48, 49, 1, 17, - 33, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, 53, 33, 17, 35, 17, 1, 29, 1, 34,162, 55, - 72, 63, 58,162, 35, 70,105, 71, 67,108, 76, 40,254,222,162, 4, 74,254, 57, 1,199,253, 61,131,129,130,130, 1, 53,254,193,105, -152, 98, 46, 37, 87,142,104,139,254, 23, 4, 74, 0, 1, 0,117,255,236, 4,111, 5,203, 0, 40, 0, 73, 64, 42, 40, 40, 12, 39, - 90, 2, 21, 20, 20, 2, 42, 29, 91, 0, 12, 1, 12, 21, 24, 95, 17, 40, 95, 47, 0, 95, 0, 2, 0, 64, 16, 24, 72, 0, 0, 20, - 17, 4, 34, 95, 7, 19, 0, 63,225, 63, 51, 57, 47, 43, 93,225, 16,225, 50, 1, 47, 93,225, 16,206, 50, 47, 51, 16,225, 17, 57, - 47, 48, 49, 1, 33, 21, 20, 14, 2, 35, 34, 38, 38, 2, 53, 52, 18, 54, 54, 51, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, 20, - 30, 2, 51, 50, 62, 2, 53, 33, 2,160, 1,207, 52,111,173,121,138,210,141, 72, 80,151,216,136,115,181, 75, 72, 58,153, 94, 86, -140,100, 55, 45, 89,132, 87, 82,109, 66, 27,254,234, 2,246,142,167,241,155, 73,105,195, 1, 23,174,172, 1, 22,195,105, 44, 42, -162, 34, 50, 81,152,218,137,132,217,154, 85, 55,111,170,115, 0, 0, 1, 0,113,255,236, 4, 92, 4, 94, 0, 40, 0, 65, 64, 35, - 40, 40, 12, 1, 21, 63, 20, 1, 20, 20, 39, 71, 1, 42, 29, 72, 0, 12, 1, 12, 21, 24, 78, 17, 40, 80, 0, 0, 20, 17, 16, 34, - 78, 7, 22, 0, 63,225, 63, 51, 57, 47,225, 16,225, 50, 1, 47, 93,225, 16,222,225, 51, 47, 93, 51, 17, 18, 57, 47, 48, 49, 1, - 33, 21, 20, 14, 2, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 22, 23, 7, 38, 38, 35, 34, 14, 2, 21, 20, 30, 2, 51, 50, 62, 2, - 53, 33, 2,123, 1,225, 50,113,179,129,135,200,132, 65, 71,140,208,138,111,172, 77, 61, 60,148, 91, 91,139, 92, 47, 37, 83,132, - 94, 81,110, 66, 28,254,215, 2, 74, 68,130,200,137, 71, 79,147,211,132,131,210,148, 80, 37, 39,145, 29, 45, 58,109,157, 98, 93, -155,112, 62, 45, 80,113, 67, 0, 0, 1, 0, 20,255,236, 4,131, 5,182, 0, 25, 0, 64, 64, 38, 6, 90, 15, 9, 1, 9, 27, 48, - 24, 1, 24, 24, 0, 90,159, 21, 1, 21, 48, 19,128, 19,144, 19, 3, 19, 25, 21, 95, 22, 7, 7, 22, 3, 3, 95, 14, 19, 0, 63, -225, 63, 57, 47, 16,225, 50, 1, 47, 93,206, 93,241,202, 47, 93, 16,222, 93,225, 48, 49, 1, 20, 22, 51, 50, 54, 53, 17, 51, 17, - 20, 14, 2, 35, 34, 46, 2, 53, 17, 33, 53, 33, 21, 33, 2,113, 82, 92, 92, 82,182, 50, 93,132, 81, 80,133, 95, 53,254, 94, 3, -254,254, 95, 1,135,129,119,119,129, 1,201,254, 45,105,152, 98, 46, 39, 93,154,115, 3,149,164,164, 0, 0, 1, 0, 41,255,236, - 4,111, 4, 74, 0, 27, 0, 60, 64, 35, 13, 71, 16, 29,143, 3,159, 3, 2, 3, 3, 5, 71, 31, 0, 1, 0, 0, 26, 16, 26, 2, - 26, 14, 14, 1, 10, 80, 21, 22, 4, 0, 80, 1, 15, 0, 63,225, 50, 63,225, 17, 57, 47, 1, 47, 93,206, 93,241,202, 47, 93, 16, -222,225, 48, 49, 19, 53, 33, 21, 33, 17, 20, 30, 2, 51, 50, 54, 53, 17, 51, 17, 20, 14, 2, 35, 34, 46, 2, 53, 17, 41, 3, 53, -254,193, 21, 49, 80, 59,105, 95,183, 47, 95,143, 96, 91,146,102, 55, 3,176,154,154,253,215, 65, 98, 65, 32,130,130, 1, 53,254, -193,105,152, 98, 46, 46, 98,150,105, 2, 53, 0, 0, 1, 0,166,255,236, 4, 68, 5,203, 0, 59, 0, 73, 64, 39, 28, 28, 49, 39, - 39, 11, 10, 61, 21, 90, 0, 0, 32, 91, 0, 49, 1, 49, 54, 29, 97,159, 26, 1, 26, 26, 5, 38, 35, 96, 39, 44, 19, 11, 16, 96, - 10, 5, 4, 0, 63, 51,225, 50, 63, 51,225, 50, 17, 57, 47, 93,225, 57, 1, 47, 93,225, 51, 47,225, 16,206, 50, 50, 47, 17, 57, - 47, 48, 49, 19, 52, 62, 2, 51, 50, 30, 2, 23, 7, 46, 3, 35, 34, 14, 2, 21, 20, 30, 2, 51, 51, 21, 35, 34, 6, 21, 20, 22, - 51, 50, 54, 55, 21, 14, 3, 35, 34, 46, 2, 53, 52, 62, 2, 55, 53, 46, 3,211, 60,115,169,109, 71,123,105, 90, 39, 93, 37, 77, - 83, 91, 52, 57, 95, 68, 38, 44, 87,131, 87,194,190,186,208,170,164,109,203, 84, 42, 88, 99,111, 64,128,195,131, 66, 50, 94,137, - 88, 75,120, 84, 45, 4, 96, 79,133, 97, 54, 24, 41, 54, 31,125, 27, 45, 31, 18, 30, 58, 83, 54, 61,101, 72, 39,151,133,135,137, -142, 49, 43,170, 19, 28, 19, 9, 60,111,156, 96, 72,123, 94, 61, 11, 6, 12, 57, 88,120,255,255, 0,201,255,236, 4, 8, 4, 94, - 2, 6, 1,130, 0, 0,255,255, 0, 4,255,233, 4, 70, 5,182, 2, 6, 1,181, 0, 0,255,255, 0, 31,255,242, 4, 16, 4, 74, - 2, 6, 1,213, 0, 0,255,255, 0, 33,254,152, 4,172, 5,188, 2, 38, 0, 36, 0, 0, 1, 6, 2,103, 0, 0, 0, 19, 64, 11, - 2, 18, 20, 39, 2, 0, 15, 21, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,135,254,152, 4, 2, 4, 94, 2, 38, 0, 68, - 0, 0, 1, 6, 2,103,237, 0, 0, 19, 64, 11, 2, 37, 23, 39, 2, 15, 34, 40, 8, 22, 37, 1, 43, 53, 0, 43, 53, 0,255,255, - 0, 33, 0, 0, 4,172, 7,225, 2, 38, 0, 36, 0, 0, 1, 7, 2,102, 0, 33, 1, 82, 0, 19, 64, 11, 2, 21, 5, 38, 2, 33, - 36, 15, 4, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,135,255,236, 4, 2, 6,143, 2, 38, 0, 68, 0, 0, 1, 6, 2,102, - 25, 0, 0, 19, 64, 11, 2, 40, 17, 38, 2, 59, 55, 34, 8, 22, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 33, 0, 0, 4,172, - 7,209, 2, 38, 0, 36, 0, 0, 1, 7, 3,119, 0,121, 1, 82, 0, 23, 64, 13, 3, 2, 15, 5, 38, 3, 2,120, 23, 38, 4, 7, - 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,135,255,236, 4,141, 6,127, 2, 38, 0, 68, 0, 0, 1, 6, 3,119,125, 0, - 0, 23, 64, 13, 3, 2, 34, 17, 38, 3, 2,158, 42, 57, 8, 22, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 33, 0, 0, - 4,172, 7,209, 2, 38, 0, 36, 0, 0, 1, 7, 3,120,255,148, 1, 82, 0, 25,182, 3, 2, 23, 5, 38, 3, 2,184,255,148,180, - 36, 22, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 85,255,236, 4, 2, 6,127, 2, 38, 0, 68, 0, 0, 1, 6, - 3,120,153, 0, 0, 25,182, 3, 2, 42, 17, 38, 3, 2,184,255,187,180, 55, 41, 8, 22, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, -255,255, 0, 33, 0, 0, 4,172, 8, 74, 2, 38, 0, 36, 0, 0, 1, 7, 3,121, 0, 88, 1, 82, 0, 23, 64, 13, 3, 2, 15, 5, - 38, 3, 2, 88, 23, 32, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,135,255,236, 4, 76, 6,248, 2, 38, 0, 68, - 0, 0, 1, 6, 3,121, 92, 0, 0, 23, 64, 13, 3, 2, 34, 17, 38, 3, 2,126, 42, 51, 8, 22, 37, 1, 43, 53, 53, 0, 43, 53, - 53, 0,255,255, 0, 33, 0, 0, 4,172, 8, 98, 2, 38, 0, 36, 0, 0, 1, 7, 3,122, 0, 8, 1, 82, 0, 23, 64, 13, 3, 2, - 23, 5, 38, 3, 2, 7, 41, 55, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,135,255,236, 4, 2, 7, 16, 2, 38, - 0, 68, 0, 0, 1, 6, 3,122, 12, 0, 0, 23, 64, 13, 3, 2, 42, 17, 38, 3, 2, 45, 60, 74, 8, 22, 37, 1, 43, 53, 53, 0, - 43, 53, 53, 0,255,255, 0, 33,254,152, 4,172, 7,115, 2, 38, 0, 36, 0, 0, 0, 39, 1, 75, 0, 0, 1, 82, 1, 6, 2,103, - 0, 0, 0, 34, 64, 22, 3, 34, 20, 39, 2, 15, 5, 38, 3, 0, 31, 37, 4, 7, 37, 2, 0, 21, 15, 4, 7, 37, 1, 43, 53, 43, - 53, 0, 43, 53, 43, 53,255,255, 0,135,254,152, 4, 2, 6, 33, 2, 38, 0, 68, 0, 0, 0, 38, 1, 75, 8, 0, 1, 6, 2,103, -237, 0, 0, 34, 64, 22, 3, 53, 23, 39, 2, 34, 17, 38, 3, 15, 50, 56, 8, 22, 37, 2, 42, 40, 34, 8, 22, 37, 1, 43, 53, 43, - 53, 0, 43, 53, 43, 53,255,255, 0, 33, 0, 0, 4,172, 8, 19, 2, 38, 0, 36, 0, 0, 1, 7, 3,123, 0, 0, 1, 82, 0, 23, - 64, 13, 3, 2, 32, 5, 38, 3, 2, 0, 35, 27, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,135,255,236, 4, 2, - 6,193, 2, 38, 0, 68, 0, 0, 1, 6, 3,123,255, 0, 0, 23, 64, 13, 3, 2, 51, 17, 38, 3, 2, 32, 54, 46, 8, 22, 37, 1, - 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 33, 0, 0, 4,172, 8, 19, 2, 38, 0, 36, 0, 0, 1, 7, 3,124, 0, 0, 1, 82, - 0, 23, 64, 13, 3, 2, 32, 5, 38, 3, 2, 0, 35, 27, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,135,255,236, - 4, 2, 6,193, 2, 38, 0, 68, 0, 0, 1, 6, 3,124,255, 0, 0, 23, 64, 13, 3, 2, 51, 17, 38, 3, 2, 32, 54, 46, 8, 22, - 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 33, 0, 0, 4,172, 8, 88, 2, 38, 0, 36, 0, 0, 1, 7, 3,125, 0, 0, - 1, 82, 0, 23, 64, 13, 3, 2, 20, 5, 38, 3, 2, 0, 23, 15, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,135, -255,236, 4, 2, 7, 6, 2, 38, 0, 68, 0, 0, 1, 6, 3,125,255, 0, 0, 23, 64, 13, 3, 2, 39, 17, 38, 3, 2, 32, 42, 34, - 8, 22, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 33, 0, 0, 4,172, 8, 98, 2, 38, 0, 36, 0, 0, 1, 7, 3,126, - 0, 0, 1, 82, 0, 25,182, 3, 2, 20, 5, 38, 3, 2,184,255,255,180, 44, 58, 4, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, -255,255, 0,135,255,236, 4, 2, 7, 16, 2, 38, 0, 68, 0, 0, 1, 6, 3,126,255, 0, 0, 23, 64, 13, 3, 2, 39, 17, 38, 3, - 2, 32, 63, 77, 8, 22, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 33,254,152, 4,172, 7, 64, 2, 38, 0, 36, 0, 0, - 0, 39, 1, 78,255,253, 1, 82, 1, 6, 2,103, 0, 0, 0, 37, 64, 16, 3, 30, 20, 39, 2, 18, 5, 38, 3, 0, 27, 33, 4, 7, - 37, 2,184,255,253,180, 20, 15, 4, 7, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53, 0,255,255, 0,135,254,152, 4, 2, 5,238, - 2, 38, 0, 68, 0, 0, 0, 38, 1, 78,245, 0, 1, 6, 2,103,237, 0, 0, 34, 64, 22, 3, 49, 23, 39, 2, 37, 17, 38, 3, 15, - 46, 52, 8, 22, 37, 2, 22, 39, 34, 8, 22, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53,255,255, 0,217,254,152, 4, 35, 5,182, - 2, 38, 0, 40, 0, 0, 1, 6, 2,103, 23, 0, 0, 19, 64, 11, 1, 15, 20, 39, 1, 0, 12, 18, 1, 0, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0,133,254,152, 4, 72, 4, 94, 2, 38, 0, 72, 0, 0, 1, 6, 2,103, 23, 0, 0, 19, 64, 11, 2, 26, 23, 39, - 2, 23, 23, 29, 11, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,217, 0, 0, 4, 35, 7,225, 2, 38, 0, 40, 0, 0, 1, 7, - 2,102, 0, 39, 1, 82, 0, 19, 64, 11, 1, 18, 5, 38, 1, 15, 33, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,133, -255,236, 4, 72, 6,143, 2, 38, 0, 72, 0, 0, 1, 6, 2,102, 57, 0, 0, 19, 64, 11, 2, 29, 17, 38, 2, 57, 44, 23, 11, 0, - 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,217, 0, 0, 4, 35, 7, 53, 2, 38, 0, 40, 0, 0, 1, 7, 1, 82, 0, 25, 1, 82, - 0, 19, 64, 11, 1, 12, 5, 38, 1, 0, 13, 22, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,133,255,236, 4, 72, 5,227, - 2, 38, 0, 72, 0, 0, 1, 6, 1, 82, 33, 0, 0, 19, 64, 11, 2, 23, 17, 38, 2, 32, 24, 33, 11, 0, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0,217, 0, 0, 4,145, 7,209, 2, 38, 0, 40, 0, 0, 1, 7, 3,119, 0,129, 1, 82, 0, 23, 64, 13, 2, 1, - 12, 5, 38, 2, 1,105, 20, 35, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,133,255,236, 4,133, 6,127, 2, 38, - 0, 72, 0, 0, 1, 6, 3,119,117, 0, 0, 23, 64, 13, 3, 2, 23, 17, 38, 3, 2,116, 31, 46, 11, 0, 37, 1, 43, 53, 53, 0, - 43, 53, 53, 0,255,255, 0, 89, 0, 0, 4, 35, 7,209, 2, 38, 0, 40, 0, 0, 1, 7, 3,120,255,157, 1, 82, 0, 25,182, 2, - 1, 20, 5, 38, 2, 1,184,255,133,180, 33, 19, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 76,255,236, 4, 72, - 6,127, 2, 38, 0, 72, 0, 0, 1, 6, 3,120,144, 0, 0, 25,182, 3, 2, 31, 17, 38, 3, 2,184,255,144,180, 44, 30, 11, 0, - 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,217, 0, 0, 4, 80, 8, 74, 2, 38, 0, 40, 0, 0, 1, 7, 3,121, 0, 96, - 1, 82, 0, 23, 64, 13, 2, 1, 12, 5, 38, 2, 1, 72, 20, 29, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,133, -255,236, 4, 72, 6,248, 2, 38, 0, 72, 0, 0, 1, 6, 3,121, 84, 0, 0, 23, 64, 13, 3, 2, 23, 17, 38, 3, 2, 84, 31, 40, - 11, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,217, 0, 0, 4, 35, 8, 98, 2, 38, 0, 40, 0, 0, 1, 7, 3,122, - 0, 16, 1, 82, 0, 25,182, 2, 1, 20, 5, 38, 2, 1,184,255,248,180, 38, 52, 1, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0, -255,255, 0,133,255,236, 4, 72, 7, 16, 2, 38, 0, 72, 0, 0, 1, 6, 3,122, 4, 0, 0, 23, 64, 13, 3, 2, 31, 17, 38, 3, - 2, 3, 49, 63, 11, 0, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,217,254,152, 4, 35, 7,115, 2, 38, 0, 40, 0, 0, - 0, 39, 1, 75, 0, 35, 1, 82, 1, 6, 2,103, 23, 0, 0, 34, 64, 22, 2, 31, 20, 39, 1, 12, 5, 38, 2, 0, 28, 34, 1, 0, - 37, 1, 11, 18, 12, 1, 0, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53,255,255, 0,133,254,152, 4, 72, 6, 33, 2, 38, 0, 72, - 0, 0, 0, 38, 1, 75, 16, 0, 1, 6, 2,103, 23, 0, 0, 34, 64, 22, 3, 42, 23, 39, 2, 23, 17, 38, 3, 23, 39, 45, 11, 0, - 37, 2, 16, 29, 23, 11, 0, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53,255,255, 0,225, 0, 0, 3,233, 7,225, 2, 38, 0, 44, - 0, 0, 1, 7, 2,102, 0, 31, 1, 82, 0, 19, 64, 11, 1, 18, 5, 38, 1, 32, 33, 12, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0,197, 0, 0, 4, 51, 6,143, 2, 38, 0,243, 0, 0, 1, 6, 2,102, 47, 0, 0, 19, 64, 11, 1, 16, 17, 38, 1, 25, - 31, 10, 7, 5, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,225,254,152, 3,233, 5,182, 2, 38, 0, 44, 0, 0, 1, 6, 2,103, - 0, 0, 0, 19, 64, 11, 1, 15, 20, 39, 1, 1, 12, 18, 1, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,197,254,152, 4, 51, - 6, 14, 2, 38, 0, 76, 0, 0, 1, 6, 2,103, 20, 0, 0, 21,180, 2, 22, 23, 39, 2,184,255,255,180, 19, 25, 16, 14, 37, 1, - 43, 53, 0, 43, 53, 0,255,255, 0, 84,254,152, 4,123, 5,205, 2, 38, 0, 50, 0, 0, 1, 6, 2,103, 0, 0, 0, 21,180, 2, - 23, 20, 39, 2,184,255,255,180, 20, 26, 2, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115,254,152, 4, 88, 4, 94, 2, 38, - 0, 82, 0, 0, 1, 6, 2,103, 0, 0, 0, 19, 64, 11, 2, 23, 23, 39, 2, 1, 20, 26, 3, 9, 37, 1, 43, 53, 0, 43, 53, 0, -255,255, 0, 84,255,236, 4,123, 7,225, 2, 38, 0, 50, 0, 0, 1, 7, 2,102, 0, 23, 1, 82, 0, 19, 64, 11, 2, 26, 5, 38, - 2, 22, 41, 20, 2, 7, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115,255,236, 4, 88, 6,143, 2, 38, 0, 82, 0, 0, 1, 6, - 2,102, 31, 0, 0, 19, 64, 11, 2, 26, 17, 38, 2, 32, 41, 20, 3, 9, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 84,255,236, - 4,131, 7,209, 2, 38, 0, 50, 0, 0, 1, 7, 3,119, 0,115, 1, 82, 0, 23, 64, 13, 3, 2, 20, 5, 38, 3, 2,113, 28, 43, - 2, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,115,255,236, 4,131, 6,127, 2, 38, 0, 82, 0, 0, 1, 6, 3,119, -115, 0, 0, 23, 64, 13, 3, 2, 20, 17, 38, 3, 2,115, 28, 43, 3, 9, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 74, -255,236, 4,123, 7,209, 2, 38, 0, 50, 0, 0, 1, 7, 3,120,255,142, 1, 82, 0, 25,182, 3, 2, 28, 5, 38, 3, 2,184,255, -141,180, 41, 27, 2, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0, 74,255,236, 4, 88, 6,127, 2, 38, 0, 82, 0, 0, - 1, 6, 3,120,142, 0, 0, 25,182, 3, 2, 28, 17, 38, 3, 2,184,255,143,180, 41, 27, 3, 9, 37, 1, 43, 53, 53, 0, 43, 53, - 53, 0,255,255, 0, 84,255,236, 4,123, 8, 74, 2, 38, 0, 50, 0, 0, 1, 7, 3,121, 0, 82, 1, 82, 0, 23, 64, 13, 3, 2, - 20, 5, 38, 3, 2, 81, 28, 37, 2, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,115,255,236, 4, 88, 6,248, 2, 38, - 0, 82, 0, 0, 1, 6, 3,121, 82, 0, 0, 23, 64, 13, 3, 2, 20, 17, 38, 3, 2, 83, 28, 37, 3, 9, 37, 1, 43, 53, 53, 0, - 43, 53, 53, 0,255,255, 0, 84,255,236, 4,123, 8, 98, 2, 38, 0, 50, 0, 0, 1, 7, 3,122, 0, 2, 1, 82, 0, 23, 64, 13, - 3, 2, 28, 5, 38, 3, 2, 0, 46, 60, 2, 7, 37, 1, 43, 53, 53, 0, 43, 53, 53, 0,255,255, 0,115,255,236, 4, 88, 7, 16, - 2, 38, 0, 82, 0, 0, 1, 6, 3,122, 2, 0, 0, 23, 64, 13, 3, 2, 28, 17, 38, 3, 2, 2, 46, 60, 3, 9, 37, 1, 43, 53, - 53, 0, 43, 53, 53, 0,255,255, 0, 84,254,152, 4,123, 7,115, 2, 38, 0, 50, 0, 0, 0, 39, 1, 75, 0, 0, 1, 82, 1, 6, - 2,103, 0, 0, 0, 40, 64, 9, 3, 39, 20, 39, 2, 20, 5, 38, 3,184,255,255,181, 36, 42, 2, 7, 37, 2,184,255,255,180, 26, - 20, 2, 7, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53,255,255, 0,115,254,152, 4, 88, 6, 33, 2, 38, 0, 82, 0, 0, 0, 38, - 1, 75, 0, 0, 1, 6, 2,103, 0, 0, 0, 34, 64, 22, 3, 39, 23, 39, 2, 20, 17, 38, 3, 1, 36, 42, 3, 9, 37, 2, 1, 26, - 20, 3, 9, 37, 1, 43, 53, 43, 53, 0, 43, 53, 43, 53,255,255, 0, 84,255,236, 4,246, 7,115, 2, 38, 2, 95, 0, 0, 1, 7, - 0,118, 0, 90, 1, 82, 0, 19, 64, 11, 2, 59, 5, 38, 2, 27, 53, 56, 10, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115, -255,236, 4,246, 6, 33, 2, 38, 2, 96, 0, 0, 1, 6, 0,118, 80, 0, 0, 14,183, 2, 2, 2, 44, 47, 10, 25, 37, 1, 43, 53, - 0, 53,255,255, 0, 84,255,236, 4,246, 7,115, 2, 38, 2, 95, 0, 0, 1, 7, 0, 67,255,175, 1, 82, 0, 21,180, 2, 53, 5, - 38, 2,184,255,113,180, 56, 53, 10, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115,255,236, 4,246, 6, 33, 2, 38, 2, 96, - 0, 0, 1, 6, 0, 67,216, 0, 0, 17,177, 2, 2,184,255,138,180, 47, 44, 10, 25, 37, 1, 43, 53, 0, 53, 0,255,255, 0, 84, -255,236, 4,246, 7,225, 2, 38, 2, 95, 0, 0, 1, 7, 2,102, 0, 23, 1, 82, 0, 21,180, 2, 60, 5, 38, 2,184,255,217,180, - 74, 53, 10, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115,255,236, 4,246, 6,143, 2, 38, 2, 96, 0, 0, 1, 6, 2,102, - 31, 0, 0, 21,180, 2, 51, 17, 38, 2,184,255,209,180, 65, 44, 10, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 84,255,236, - 4,246, 7, 53, 2, 38, 2, 95, 0, 0, 1, 7, 1, 82, 0, 8, 1, 82, 0, 21,180, 2, 53, 5, 38, 2,184,255,201,180, 54, 63, - 10, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,115,255,236, 4,246, 5,227, 2, 38, 2, 96, 0, 0, 1, 6, 1, 82, 0, 0, - 0, 17,177, 2, 2,184,255,177,180, 45, 54, 10, 25, 37, 1, 43, 53, 0, 53, 0,255,255, 0, 84,254,152, 4,246, 6, 20, 2, 38, - 2, 95, 0, 0, 1, 6, 2,103, 0, 0, 0, 21,180, 2, 56, 20, 39, 2,184,255,194,180, 53, 59, 10, 25, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0,115,254,152, 4,246, 4,242, 2, 38, 2, 96, 0, 0, 1, 6, 2,103, 0, 0, 0, 21,180, 2, 47, 23, 39, 2, -184,255,178,180, 44, 50, 10, 25, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,254,152, 4, 80, 5,184, 2, 38, 0, 56, 0, 0, - 1, 6, 2,103, 0, 0, 0, 19, 64, 11, 1, 18, 20, 39, 1, 0, 15, 21, 6, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160, -254,152, 4, 45, 4, 74, 2, 38, 0, 88, 0, 0, 1, 6, 2,103, 0, 0, 0, 19, 64, 11, 1, 21, 23, 39, 1, 0, 18, 24, 6, 16, - 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 4, 80, 7,225, 2, 38, 0, 56, 0, 0, 1, 7, 2,102, 0, 23, 1, 82, - 0, 19, 64, 11, 1, 21, 5, 38, 1, 23, 36, 15, 6, 0, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160,255,236, 4, 45, 6,143, - 2, 38, 0, 88, 0, 0, 1, 6, 2,102, 29, 0, 0, 19, 64, 11, 1, 24, 17, 38, 1, 29, 39, 18, 6, 16, 37, 1, 43, 53, 0, 43, - 53, 0,255,255, 0,125,255,236, 5, 23, 7,115, 2, 38, 2, 97, 0, 0, 1, 7, 0,118,255,255, 1, 82, 0, 21,180, 1, 45, 5, - 38, 1,184,255,156,180, 39, 42, 24, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160,255,236, 5, 23, 6, 33, 2, 38, 2, 98, - 0, 0, 1, 6, 0,118,255, 0, 0, 17,177, 1, 1,184,255,138,180, 40, 43, 12, 33, 37, 1, 43, 53, 0, 53, 0,255,255, 0,125, -255,236, 5, 23, 7,115, 2, 38, 2, 97, 0, 0, 1, 7, 0, 67,255,110, 1, 82, 0, 21,180, 1, 39, 5, 38, 1,184,255, 11,180, - 42, 39, 24, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160,255,236, 5, 23, 6, 33, 2, 38, 2, 98, 0, 0, 1, 7, 0, 67, -255,107, 0, 0, 0, 17,177, 1, 1,184,254,246,180, 43, 40, 12, 33, 37, 1, 43, 53, 0, 53, 0,255,255, 0,125,255,236, 5, 23, - 7,225, 2, 38, 2, 97, 0, 0, 1, 7, 2,102,255,218, 1, 82, 0, 21,180, 1, 46, 5, 38, 1,184,255,119,180, 60, 39, 24, 8, - 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160,255,236, 5, 23, 6,143, 2, 38, 2, 98, 0, 0, 1, 6, 2,102,226, 0, 0, 21, -180, 1, 46, 17, 38, 1,184,255,109,180, 61, 40, 12, 33, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,125,255,236, 5, 23, 7, 53, - 2, 38, 2, 97, 0, 0, 1, 7, 1, 82,255,198, 1, 82, 0, 19, 64, 11, 1, 39, 5, 38, 1, 36, 40, 49, 24, 14, 37, 1, 43, 53, - 0, 43, 53, 0,255,255, 0,160,255,236, 5, 23, 5,227, 2, 38, 2, 98, 0, 0, 1, 6, 1, 82,206, 0, 0, 14,183, 1, 1, 33, - 41, 50, 12, 39, 37, 1, 43, 53, 0, 53,255,255, 0,125,254,152, 5, 23, 6, 20, 2, 38, 2, 97, 0, 0, 1, 6, 2,103,185, 0, - 0, 21,180, 1, 42, 20, 39, 1,184,255, 86,180, 39, 45, 24, 8, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0,160,254,152, 5, 23, - 4,242, 2, 38, 2, 98, 0, 0, 1, 6, 2,103,189, 0, 0, 21,180, 1, 43, 23, 39, 1,184,255, 72,180, 40, 46, 12, 33, 37, 1, - 43, 53, 0, 43, 53, 0,255,255, 0, 33,254,152, 4,170, 5,182, 2, 38, 0, 60, 0, 0, 1, 6, 2,103,255, 0, 0, 19, 64, 11, - 1, 12, 20, 39, 1, 0, 9, 15, 7, 2, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82,254, 20, 4,121, 4, 74, 2, 38, 0, 92, - 0, 0, 1, 7, 2,103, 1, 47, 0, 0, 0, 17,177, 1, 1,184, 1, 48,180, 23, 29, 0, 9, 37, 1, 43, 53, 0, 53, 0,255,255, - 0, 33, 0, 0, 4,170, 7,225, 2, 38, 0, 60, 0, 0, 1, 7, 2,102, 0, 20, 1, 82, 0, 19, 64, 11, 1, 15, 5, 38, 1, 21, - 30, 9, 7, 2, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 82,254, 20, 4,121, 6,143, 2, 38, 0, 92, 0, 0, 1, 6, 2,102, - 20, 0, 0, 19, 64, 11, 1, 29, 17, 38, 1, 21, 44, 23, 0, 9, 37, 1, 43, 53, 0, 43, 53, 0,255,255, 0, 33, 0, 0, 4,170, - 7, 53, 2, 38, 0, 60, 0, 0, 1, 7, 1, 82, 0, 12, 1, 82, 0, 19, 64, 11, 1, 9, 5, 38, 1, 12, 10, 19, 7, 2, 37, 1, - 43, 53, 0, 43, 53, 0,255,255, 0, 82,254, 20, 4,121, 5,227, 2, 38, 0, 92, 0, 0, 1, 6, 1, 82, 12, 0, 0, 19, 64, 11, - 1, 23, 17, 38, 1, 12, 24, 33, 0, 9, 37, 1, 43, 53, 0, 43, 53, 0, 0, 3, 0,137,254,188, 4,203, 6, 20, 0, 3, 0, 43, - 0, 60, 0,118, 64, 71, 33, 33, 15, 50, 43, 35, 26, 4, 32, 71, 39, 41, 37, 3, 3,144, 41,160, 41, 2, 41, 62, 58, 72, 15, 2, - 2, 0, 15,224, 15,240, 15, 3, 15, 43, 21, 41, 32, 79, 38, 35, 35, 20, 36, 0, 25, 55, 80, 0, 20, 16, 20, 32, 20,176, 20,192, - 20, 5, 20, 15, 4, 44, 80, 10, 1, 78, 2, 10, 22, 0, 63,222,225, 16,225, 50, 63, 93,225, 50, 63, 18, 57, 47, 51,225, 50, 63, - 1, 47, 93, 51, 47, 16,225, 16,206, 93, 50, 47, 50, 16,205,225, 50, 50, 50, 50, 50, 17, 57, 47, 48, 49, 1, 33, 53, 33, 3, 35, - 14, 3, 35, 34, 46, 2, 53, 52, 62, 2, 51, 50, 30, 2, 23, 51, 38, 39, 38, 38, 53, 53, 33, 53, 33, 53, 51, 21, 51, 21, 35, 17, - 35, 37, 50, 62, 2, 55, 53, 52, 46, 2, 35, 34, 6, 21, 20, 22, 4, 47,252,152, 3,104,174, 8, 23, 61, 78, 98, 62, 97,158,113, - 62, 62,113,158, 97, 61, 98, 79, 61, 23, 12, 3, 3, 2, 4,254,133, 1,123,182,156,156,147,254,188, 79,109, 67, 32, 2, 28, 68, -111, 84,140,132,132,254,188,140, 1, 75, 34, 61, 46, 26, 70,138,204,134,135,206,139, 71, 25, 44, 58, 32, 33, 31, 26, 55, 16,158, -137,182,182,137,251, 43,131, 44, 89,133, 90, 39, 97,149,102, 52,206,196,198,195, 0, 2, 0,205, 4,217, 3,172, 6, 33, 0, 13, - 0, 27, 0, 48, 64, 24, 15,130, 14, 14, 20, 1,130, 0, 0, 8,133, 95, 6, 1, 6, 6, 22,133, 20, 21, 7,128, 15, 0, 0, 47, - 50, 26,205, 50, 1, 47,225, 51, 47, 93,225, 51, 47,225, 17, 51, 47,225, 48, 49, 1, 35, 46, 3, 39, 53, 51, 30, 3, 23, 5, 35, - 46, 3, 39, 53, 51, 30, 3, 23, 3,172,100, 34, 82, 77, 64, 16,199, 16, 43, 46, 48, 21,254,150,101, 34, 82, 77, 63, 16,198, 16, - 43, 46, 48, 22, 4,217, 28, 83, 88, 81, 27, 21, 34, 81, 81, 76, 29, 27, 28, 83, 88, 81, 27, 21, 34, 81, 81, 76, 29, 0, 0, 2, - 0,188, 4,217, 4, 16, 6,127, 0, 16, 0, 28, 0, 68, 64, 35, 22,136, 23, 23, 27,130, 63, 28, 79, 28,111, 28, 3, 28, 28, 13, - 13, 12, 4, 4, 8, 1, 0, 0, 7, 8, 22,128, 27, 64, 4, 12,128, 7, 0, 0, 47, 50, 26,205, 50, 26,222, 26,205, 1, 47, 51, - 51, 47, 51, 18, 57, 17, 51, 51, 17, 51, 47, 93,225, 51, 47,225, 48, 49, 1, 35, 38, 38, 39, 6, 6, 7, 35, 53, 54, 54, 55, 51, - 22, 22, 23, 39, 62, 3, 55, 51, 21, 6, 6, 7, 35, 3, 43,100, 51,108, 52, 54,106, 51,101, 51,116, 48,193, 48,116, 51, 78, 20, - 32, 30, 29, 16,180, 45,106, 55,101, 4,217, 34, 84, 48, 48, 84, 34, 27, 59,132, 69, 69,132, 59,194, 26, 44, 46, 52, 33, 21, 60, -103, 43, 0, 2, 0,188, 4,217, 4, 16, 6,127, 0, 16, 0, 28, 0, 68, 64, 35, 23,136, 22, 64, 18,130, 48, 17, 64, 17, 96, 17, - 3, 17, 17, 3, 3, 4, 12, 12, 16, 9, 8, 8, 15, 16, 23,128, 18, 64, 12, 3,128, 9, 15, 0, 47, 51, 26,205, 50, 26,220, 26, -205, 1, 47, 51, 51, 47, 51, 18, 57, 17, 51, 51, 17, 51, 47, 93,225, 26,221,225, 48, 49, 1, 54, 54, 55, 51, 22, 22, 23, 21, 35, - 38, 38, 39, 6, 6, 7, 35, 55, 35, 38, 38, 39, 53, 51, 30, 3, 23, 1,162, 51,116, 48,192, 48,116, 51,100, 51,106, 54, 53,107, - 51,100, 78,101, 55,107, 45,181, 16, 29, 29, 33, 20, 4,244, 59,132, 69, 69,132, 59, 27, 34, 84, 48, 48, 84, 34,195, 43,103, 60, - 21, 33, 52, 46, 44, 26, 0, 2, 0,221, 4,217, 3,240, 6,248, 0, 16, 0, 41, 0, 95, 64, 52, 23,130, 24, 24, 36, 28,130, 15, - 17, 31, 17, 2, 17, 17, 15, 36, 31, 36, 2, 36, 64, 12, 15, 72, 36, 36, 13, 13, 12, 4, 4, 8, 1, 0, 0, 7, 8, 22, 25, 25, - 24, 33,140, 39, 39, 24, 64, 4, 12,128, 1, 7, 0, 47, 51, 26,205, 50, 26,204, 50, 47,237, 18, 57, 47, 51, 1, 47, 51, 51, 47, - 51, 18, 57, 17, 51, 51, 17, 51, 47, 43, 93, 51, 47, 93,225, 17, 57, 47,225, 48, 49, 1, 35, 38, 38, 39, 6, 6, 7, 35, 53, 54, - 54, 55, 51, 22, 22, 23, 19, 20, 14, 2, 7, 7, 35, 39, 54, 54, 53, 52, 46, 2, 35, 34, 6, 7, 53, 54, 51, 50, 22, 3, 76,101, - 51,107, 53, 54,105, 51,101, 51,116, 48,193, 48,116, 51,164, 20, 35, 45, 25, 6, 86, 11, 56, 65, 15, 27, 37, 21, 22, 39, 11, 21, - 59, 99,100, 4,217, 34, 84, 48, 48, 84, 34, 27, 59,132, 69, 69,132, 59, 1,118, 29, 43, 30, 21, 6, 81,131, 9, 31, 37, 19, 24, - 14, 5, 3, 3, 82, 6, 69, 0, 0, 2, 1, 35, 4,217, 3,168, 7, 16, 0, 16, 0, 44, 0,102, 64, 36, 20, 26, 39,130, 40, 34, - 25, 40, 4, 3, 12, 12, 16, 9, 8, 8, 15, 40, 31, 40, 47, 40, 3, 40, 40, 25,130, 26, 15, 16, 16, 26, 39, 39, 31, 31,184, 1, - 1,179, 22, 25, 64, 36,184, 1, 1,183, 17, 17, 25, 12, 3,128, 9, 15, 0, 47, 51, 26,221, 50,198, 50, 47,225, 26, 16,218,225, - 47, 50, 47, 1, 47, 51, 47, 51, 16,237, 51, 47, 93, 51, 47, 51, 18, 57, 17, 51, 51, 17, 18, 57, 16,237, 17, 57, 49, 48, 1, 54, - 54, 55, 51, 22, 22, 23, 21, 35, 38, 38, 39, 6, 6, 7, 35, 1, 34, 46, 2, 35, 34, 6, 7, 35, 62, 3, 51, 50, 30, 2, 51, 50, - 54, 55, 51, 14, 3, 1, 45, 51,116, 48,193, 48,116, 51,101, 51,106, 54, 52,108, 51,100, 1,191, 36, 72, 69, 63, 29, 40, 42, 14, - 92, 5, 28, 48, 66, 41, 38, 74, 69, 62, 26, 40, 42, 14, 92, 4, 29, 48, 66, 4,244, 59,132, 69, 69,132, 59, 27, 34, 84, 48, 48, - 84, 34, 1, 90, 28, 34, 28, 42, 50, 48, 81, 59, 33, 28, 34, 28, 43, 49, 48, 81, 59, 33, 0, 2, 1, 57, 4,217, 3,147, 6,193, - 0, 11, 0, 31, 0, 45, 64, 22, 0, 11, 1, 11, 64, 7, 31,131, 12, 12, 21,131, 20, 5,128, 11, 11, 31, 20, 26,143, 17, 0, 47, -253,204, 50, 50, 47, 26,204, 1, 47,225, 51, 47,225,214, 26,205, 93, 48, 49, 1, 62, 3, 55, 51, 21, 6, 6, 7, 35, 37, 14, 3, - 35, 34, 38, 39, 51, 30, 3, 51, 50, 62, 2, 55, 2, 37, 20, 32, 30, 29, 16,180, 45,106, 56,100, 1,110, 4, 44, 76,110, 71,146, -144, 7,109, 4, 27, 48, 68, 43, 36, 66, 51, 34, 4, 5,248, 25, 44, 46, 53, 33, 21, 60,103, 44, 6, 60, 99, 69, 38,139,127, 43, - 49, 26, 7, 9, 27, 49, 40, 0, 0, 2, 1, 57, 4,217, 3,147, 6,193, 0, 11, 0, 31, 0, 47, 64, 23, 31,131, 12, 12, 20, 15, - 0, 1, 0, 64, 4, 21,131, 20, 5,128, 1, 1, 31, 20, 26,143, 17, 0, 47,253,204, 50, 50, 47, 26,205, 1, 47,225,214, 26,205, - 93, 17, 51, 47,225, 48, 49, 1, 35, 38, 38, 39, 53, 51, 30, 3, 23, 23, 14, 3, 35, 34, 38, 39, 51, 30, 3, 51, 50, 62, 2, 55, - 2,152,101, 56,106, 45,181, 16, 29, 29, 33, 20,251, 4, 44, 76,110, 71,146,144, 7,109, 4, 27, 48, 68, 43, 36, 66, 51, 34, 4, - 5,221, 44,103, 60, 21, 33, 53, 46, 44, 25, 21, 60, 99, 69, 38,139,127, 43, 49, 26, 7, 9, 27, 49, 40, 0, 2, 1, 57, 4,217, - 3,147, 7, 6, 0, 19, 0, 43, 0, 86, 64, 48, 26, 26, 27, 27, 37, 37, 31, 20, 64, 9, 12, 72, 20, 20, 0, 9,131, 8, 19,131, - 31, 0, 1, 0, 25, 28, 28, 27, 34,140, 41,128,143, 27,159, 27,175, 27, 3, 27, 27, 14, 19, 8, 8, 14,143, 5, 0, 47,241,200, - 47, 50, 16,202, 47, 93, 26,220,225, 18, 57, 17, 51, 1, 47, 93,225, 47,225, 18, 57, 47, 43,193, 51, 47, 57, 47, 51, 47, 48, 49, - 1, 14, 3, 35, 34, 38, 39, 51, 30, 3, 51, 50, 62, 2, 55, 39, 20, 14, 2, 7, 7, 35, 39, 54, 54, 53, 52, 38, 35, 34, 6, 7, - 53, 54, 54, 51, 50, 22, 3,147, 4, 44, 76,110, 71,146,144, 7,109, 4, 27, 48, 68, 43, 36, 66, 51, 34, 4, 43, 20, 35, 45, 25, - 6, 86, 11, 56, 65, 57, 43, 22, 39, 11, 11, 38, 31, 99,100, 5,227, 60, 99, 69, 38,139,127, 43, 49, 26, 7, 9, 27, 49, 40,150, - 29, 43, 31, 20, 6, 41, 90, 9, 32, 37, 37, 24, 3, 3, 82, 3, 3, 69, 0, 2, 1, 35, 4,217, 3,168, 7, 16, 0, 19, 0, 47, - 0, 88, 64, 24, 25, 34, 20, 39, 34, 39, 43, 28,130, 29, 29, 9,131, 8, 42,130, 43, 43, 19,131, 0, 42, 42, 34,184, 1, 1,178, - 25, 29, 39,184, 1, 1, 64, 12, 64, 20, 20, 29, 8, 19, 19, 8,128, 14,143, 5, 0, 47,225, 26,205, 50, 47, 16,198, 50, 47, 26, -237, 16,220,237, 50, 47, 1, 47,225, 51, 47,225, 47,225, 51, 47,225, 18, 57, 57, 17, 51, 17, 51, 49, 48, 1, 14, 3, 35, 34, 38, - 39, 51, 30, 3, 51, 50, 62, 2, 55, 39, 34, 46, 2, 35, 34, 6, 7, 35, 62, 3, 51, 50, 30, 2, 51, 50, 54, 55, 51, 14, 3, 3, -139, 4, 44, 76,110, 71,146,145, 6,109, 4, 27, 48, 67, 44, 36, 65, 51, 34, 5, 47, 36, 72, 69, 63, 29, 40, 42, 14, 92, 5, 28, - 48, 66, 41, 38, 74, 69, 62, 26, 40, 42, 14, 92, 4, 29, 48, 66, 5,227, 60, 99, 69, 38,139,127, 43, 49, 26, 7, 9, 27, 49, 40, - 80, 28, 34, 28, 42, 50, 48, 81, 59, 33, 28, 34, 28, 43, 49, 48, 81, 59, 33, 0, 0, 1, 1,199,254, 66, 3, 6, 0, 0, 0, 20, - 0, 34, 64, 18, 3, 15, 2, 31, 2, 47, 2, 3, 2, 2, 14, 8,132, 0, 18,142, 11, 2, 0, 47, 47,225, 1, 47,237,204, 51, 47, - 93, 51, 48, 49, 5, 52, 39, 51, 30, 3, 21, 20, 6, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 2,113,140,129, 26, 57, 47, 30,100, -101, 29, 63, 26, 14, 45, 25, 34, 52,238,106,132, 19, 52, 64, 75, 42, 90,104, 8, 8,113, 4, 5, 43, 0, 0, 1, 1,178,254,109, - 3, 25, 0,166, 0, 17, 0, 24, 64, 10, 9, 1, 73, 16, 10, 13, 80, 9, 6, 0, 0, 47, 47, 51,225, 50, 1, 47,225,204, 48, 49, - 37, 17, 14, 3, 35, 34, 38, 39, 53, 22, 22, 51, 50, 54, 53, 17, 3, 25, 1, 26, 57, 89, 63, 38, 63, 22, 14, 59, 34, 46, 50,166, -254,217, 66,102, 70, 36, 17, 9,150, 7, 14, 49, 49, 1, 60, 0, 0, 1, 1,178,254,109, 3, 25, 0,154, 0, 17, 0, 24, 64, 10, - 9, 1, 73, 16, 10, 13, 80, 9, 6, 0, 0, 47, 47, 51,237, 50, 1, 47,225,204, 48, 49, 37, 17, 14, 3, 35, 34, 38, 39, 53, 22, - 22, 51, 50, 54, 53, 17, 3, 25, 1, 26, 57, 89, 63, 38, 63, 22, 14, 59, 34, 46, 50,154,254,229, 66,102, 70, 36, 17, 9,150, 7, - 14, 49, 49, 1, 48, 0, 0, 0, 0, 0, 0, 27, 1, 74, 0, 1, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 1, 0, 15, 0, 52, 0, 1, 0, 0, 0, 0, 0, 2, 0, 7, 0, 67, 0, 1, 0, 0, 0, 0, 0, 3, 0, 26, 0, 74, 0, 1, - 0, 0, 0, 0, 0, 4, 0, 15, 0, 52, 0, 1, 0, 0, 0, 0, 0, 5, 0, 12, 0,100, 0, 1, 0, 0, 0, 0, 0, 6, 0, 13, - 0,112, 0, 1, 0, 0, 0, 0, 0, 7, 0, 78, 0,125, 0, 1, 0, 0, 0, 0, 0, 8, 0, 20, 0,203, 0, 1, 0, 0, 0, 0, - 0, 10, 0,103, 0,223, 0, 1, 0, 0, 0, 0, 0, 13, 0, 46, 1, 70, 0, 1, 0, 0, 0, 0, 0, 14, 0, 42, 1,116, 0, 1, - 0, 0, 0, 0, 0, 18, 0, 15, 0, 52, 0, 3, 0, 1, 4, 9, 0, 0, 0,104, 1,158, 0, 3, 0, 1, 4, 9, 0, 1, 0, 30, - 2, 6, 0, 3, 0, 1, 4, 9, 0, 2, 0, 14, 2, 36, 0, 3, 0, 1, 4, 9, 0, 3, 0, 52, 2, 50, 0, 3, 0, 1, 4, 9, - 0, 4, 0, 30, 2, 6, 0, 3, 0, 1, 4, 9, 0, 5, 0, 44, 2,102, 0, 3, 0, 1, 4, 9, 0, 6, 0, 26, 2,146, 0, 3, - 0, 1, 4, 9, 0, 7, 0,156, 2,172, 0, 3, 0, 1, 4, 9, 0, 8, 0, 40, 3, 72, 0, 3, 0, 1, 4, 9, 0, 10, 0,206, - 3,112, 0, 3, 0, 1, 4, 9, 0, 11, 0, 56, 4, 62, 0, 3, 0, 1, 4, 9, 0, 12, 0, 92, 4,118, 0, 3, 0, 1, 4, 9, - 0, 13, 0, 92, 4,210, 0, 3, 0, 1, 4, 9, 0, 14, 0, 84, 5, 46, 68,105,103,105,116,105,122,101,100, 32,100, 97,116, 97, - 32, 99,111,112,121,114,105,103,104,116, 32,169, 32, 50, 48, 48, 55, 44, 32, 71,111,111,103,108,101, 32, 67,111,114,112,111,114, - 97,116,105,111,110, 46, 68,114,111,105,100, 32, 83, 97,110,115, 32, 77,111,110,111, 82,101,103,117,108, 97,114, 65,115, 99,101, -110,100,101,114, 32, 45, 32, 68,114,111,105,100, 32, 83, 97,110,115, 32, 77,111,110,111, 86,101,114,115,105,111,110, 32, 49, 46, - 48, 48, 68,114,111,105,100, 83, 97,110,115, 77,111,110,111, 68,114,111,105,100, 32,105,115, 32, 97, 32,116,114, 97,100,101,109, - 97,114,107, 32,111,102, 32, 71,111,111,103,108,101, 32, 97,110,100, 32,109, 97,121, 32, 98,101, 32,114,101,103,105,115,116,101, -114,101,100, 32,105,110, 32, 99,101,114,116, 97,105,110, 32,106,117,114,105,115,100,105, 99,116,105,111,110,115, 46, 65,115, 99, -101,110,100,101,114, 32, 67,111,114,112,111,114, 97,116,105,111,110, 68,114,111,105,100, 32, 83, 97,110,115, 32,105,115, 32, 97, - 32,104,117,109, 97,110,105,115,116, 32,115, 97,110,115, 32,115,101,114,105,102, 32,116,121,112,101,102, 97, 99,101, 32,100,101, -115,105,103,110,101,100, 32,102,111,114, 32,117,115,101,114, 32,105,110,116,101,114,102, 97, 99,101,115, 32, 97,110,100, 32,101, -108,101, 99,116,114,111,110,105, 99, 32, 99,111,109,109,117,110,105, 99, 97,116,105,111,110, 46, 76,105, 99,101,110,115,101,100, - 32,117,110,100,101,114, 32,116,104,101, 32, 65,112, 97, 99,104,101, 32, 76,105, 99,101,110,115,101, 44, 32, 86,101,114,115,105, -111,110, 32, 50, 46, 48,104,116,116,112, 58, 47, 47,119,119,119, 46, 97,112, 97, 99,104,101, 46,111,114,103, 47,108,105, 99,101, -110,115,101,115, 47, 76, 73, 67, 69, 78, 83, 69, 45, 50, 46, 48, 0, 68, 0,105, 0,103, 0,105, 0,116, 0,105, 0,122, 0,101, - 0,100, 0, 32, 0,100, 0, 97, 0,116, 0, 97, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0,114, 0,105, 0,103, 0,104, 0,116, - 0, 32, 0,169, 0, 32, 0, 50, 0, 48, 0, 48, 0, 55, 0, 44, 0, 32, 0, 71, 0,111, 0,111, 0,103, 0,108, 0,101, 0, 32, - 0, 67, 0,111, 0,114, 0,112, 0,111, 0,114, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 46, 0, 68, 0,114, 0,111, 0,105, - 0,100, 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 32, 0, 77, 0,111, 0,110, 0,111, 0, 82, 0,101, 0,103, 0,117, 0,108, - 0, 97, 0,114, 0, 65, 0,115, 0, 99, 0,101, 0,110, 0,100, 0,101, 0,114, 0, 32, 0, 45, 0, 32, 0, 68, 0,114, 0,111, - 0,105, 0,100, 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 32, 0, 77, 0,111, 0,110, 0,111, 0, 86, 0,101, 0,114, 0,115, - 0,105, 0,111, 0,110, 0, 32, 0, 49, 0, 46, 0, 48, 0, 48, 0, 32, 0, 98, 0,117, 0,105, 0,108, 0,100, 0, 32, 0, 49, - 0, 49, 0, 50, 0, 68, 0,114, 0,111, 0,105, 0,100, 0, 83, 0, 97, 0,110, 0,115, 0, 77, 0,111, 0,110, 0,111, 0, 68, - 0,114, 0,111, 0,105, 0,100, 0, 32, 0,105, 0,115, 0, 32, 0, 97, 0, 32, 0,116, 0,114, 0, 97, 0,100, 0,101, 0,109, - 0, 97, 0,114, 0,107, 0, 32, 0,111, 0,102, 0, 32, 0, 71, 0,111, 0,111, 0,103, 0,108, 0,101, 0, 32, 0, 97, 0,110, - 0,100, 0, 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0,114, 0,101, 0,103, 0,105, 0,115, 0,116, 0,101, - 0,114, 0,101, 0,100, 0, 32, 0,105, 0,110, 0, 32, 0, 99, 0,101, 0,114, 0,116, 0, 97, 0,105, 0,110, 0, 32, 0,106, - 0,117, 0,114, 0,105, 0,115, 0,100, 0,105, 0, 99, 0,116, 0,105, 0,111, 0,110, 0,115, 0, 46, 0, 65, 0,115, 0, 99, - 0,101, 0,110, 0,100, 0,101, 0,114, 0, 32, 0, 67, 0,111, 0,114, 0,112, 0,111, 0,114, 0, 97, 0,116, 0,105, 0,111, - 0,110, 0, 68, 0,114, 0,111, 0,105, 0,100, 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 32, 0,105, 0,115, 0, 32, 0, 97, - 0, 32, 0,104, 0,117, 0,109, 0, 97, 0,110, 0,105, 0,115, 0,116, 0, 32, 0,115, 0, 97, 0,110, 0,115, 0, 32, 0,115, - 0,101, 0,114, 0,105, 0,102, 0, 32, 0,116, 0,121, 0,112, 0,101, 0,102, 0, 97, 0, 99, 0,101, 0, 32, 0,100, 0,101, - 0,115, 0,105, 0,103, 0,110, 0,101, 0,100, 0, 32, 0,102, 0,111, 0,114, 0, 32, 0,117, 0,115, 0,101, 0,114, 0, 32, - 0,105, 0,110, 0,116, 0,101, 0,114, 0,102, 0, 97, 0, 99, 0,101, 0,115, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,101, - 0,108, 0,101, 0, 99, 0,116, 0,114, 0,111, 0,110, 0,105, 0, 99, 0, 32, 0, 99, 0,111, 0,109, 0,109, 0,117, 0,110, - 0,105, 0, 99, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 46, 0,104, 0,116, 0,116, 0,112, 0, 58, 0, 47, 0, 47, 0,119, - 0,119, 0,119, 0, 46, 0, 97, 0,115, 0, 99, 0,101, 0,110, 0,100, 0,101, 0,114, 0, 99, 0,111, 0,114, 0,112, 0, 46, - 0, 99, 0,111, 0,109, 0, 47, 0,104, 0,116, 0,116, 0,112, 0, 58, 0, 47, 0, 47, 0,119, 0,119, 0,119, 0, 46, 0, 97, - 0,115, 0, 99, 0,101, 0,110, 0,100, 0,101, 0,114, 0, 99, 0,111, 0,114, 0,112, 0, 46, 0, 99, 0,111, 0,109, 0, 47, - 0,116, 0,121, 0,112, 0,101, 0,100, 0,101, 0,115, 0,105, 0,103, 0,110, 0,101, 0,114, 0,115, 0, 46, 0,104, 0,116, - 0,109, 0,108, 0, 76, 0,105, 0, 99, 0,101, 0,110, 0,115, 0,101, 0,100, 0, 32, 0,117, 0,110, 0,100, 0,101, 0,114, - 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 65, 0,112, 0, 97, 0, 99, 0,104, 0,101, 0, 32, 0, 76, 0,105, 0, 99, 0,101, - 0,110, 0,115, 0,101, 0, 44, 0, 32, 0, 86, 0,101, 0,114, 0,115, 0,105, 0,111, 0,110, 0, 32, 0, 50, 0, 46, 0, 48, - 0,104, 0,116, 0,116, 0,112, 0, 58, 0, 47, 0, 47, 0,119, 0,119, 0,119, 0, 46, 0, 97, 0,112, 0, 97, 0, 99, 0,104, - 0,101, 0, 46, 0,111, 0,114, 0,103, 0, 47, 0,108, 0,105, 0, 99, 0,101, 0,110, 0,115, 0,101, 0,115, 0, 47, 0, 76, - 0, 73, 0, 67, 0, 69, 0, 78, 0, 83, 0, 69, 0, 45, 0, 50, 0, 46, 0, 48, 0, 2, 0, 0, 0, 0, 0, 0,255,102, 0,102, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,130, 0, 0, 1, 2, 0, 2, 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,172, 0,163, 0,132, - 0,133, 0,189, 0,150, 0,232, 0,134, 0,142, 0,139, 0,157, 0,169, 0,164, 1, 3, 0,138, 1, 4, 0,131, 0,147, 0,242, - 0,243, 0,141, 0,151, 0,136, 1, 5, 0,222, 0,241, 0,158, 0,170, 0,245, 0,244, 0,246, 0,162, 0,173, 0,201, 0,199, - 0,174, 0, 98, 0, 99, 0,144, 0,100, 0,203, 0,101, 0,200, 0,202, 0,207, 0,204, 0,205, 0,206, 0,233, 0,102, 0,211, - 0,208, 0,209, 0,175, 0,103, 0,240, 0,145, 0,214, 0,212, 0,213, 0,104, 0,235, 0,237, 0,137, 0,106, 0,105, 0,107, - 0,109, 0,108, 0,110, 0,160, 0,111, 0,113, 0,112, 0,114, 0,115, 0,117, 0,116, 0,118, 0,119, 0,234, 0,120, 0,122, - 0,121, 0,123, 0,125, 0,124, 0,184, 0,161, 0,127, 0,126, 0,128, 0,129, 0,236, 0,238, 0,186, 1, 6, 1, 7, 1, 8, - 1, 9, 1, 10, 1, 11, 0,253, 0,254, 1, 12, 1, 13, 1, 14, 1, 15, 0,255, 1, 0, 1, 16, 1, 17, 1, 18, 1, 19, 1, 20, - 1, 21, 1, 22, 1, 23, 1, 24, 1, 25, 1, 26, 1, 27, 1, 28, 1, 29, 1, 30, 1, 31, 0,248, 0,249, 1, 32, 1, 33, 1, 34, - 1, 35, 1, 36, 1, 37, 1, 38, 1, 39, 1, 40, 1, 41, 1, 42, 1, 43, 1, 44, 1, 45, 1, 46, 1, 47, 1, 48, 0,215, 1, 49, - 1, 50, 1, 51, 1, 52, 1, 53, 1, 54, 1, 55, 1, 56, 1, 57, 1, 58, 1, 59, 1, 60, 1, 61, 1, 62, 1, 63, 0,226, 0,227, - 1, 64, 1, 65, 1, 66, 1, 67, 1, 68, 1, 69, 1, 70, 1, 71, 1, 72, 1, 73, 1, 74, 1, 75, 1, 76, 1, 77, 1, 78, 0,176, - 0,177, 1, 79, 1, 80, 1, 81, 1, 82, 1, 83, 1, 84, 1, 85, 1, 86, 1, 87, 1, 88, 0,251, 0,252, 0,228, 0,229, 1, 89, - 1, 90, 1, 91, 1, 92, 1, 93, 1, 94, 1, 95, 1, 96, 1, 97, 1, 98, 1, 99, 1,100, 1,101, 1,102, 1,103, 1,104, 1,105, - 1,106, 1,107, 1,108, 1,109, 1,110, 0,187, 1,111, 1,112, 1,113, 1,114, 0,230, 0,231, 1,115, 0,166, 1,116, 1,117, - 1,118, 1,119, 1,120, 1,121, 1,122, 1,123, 0,216, 0,225, 1,124, 0,219, 0,220, 0,221, 0,224, 0,217, 0,223, 1,125, - 1,126, 1,127, 1,128, 1,129, 1,130, 1,131, 1,132, 1,133, 1,134, 1,135, 1,136, 1,137, 1,138, 1,139, 1,140, 1,141, - 1,142, 1,143, 1,144, 1,145, 1,146, 1,147, 1,148, 1,149, 1,150, 1,151, 1,152, 1,153, 1,154, 1,155, 1,156, 1,157, - 1,158, 1,159, 1,160, 1,161, 1,162, 1,163, 1,164, 1,165, 1,166, 1,167, 1,168, 1,169, 1,170, 1,171, 1,172, 1,173, - 1,174, 1,175, 1,176, 1,177, 1,178, 1,179, 1,180, 1,181, 0,155, 1,182, 1,183, 1,184, 1,185, 1,186, 1,187, 1,188, - 1,189, 1,190, 1,191, 1,192, 1,193, 1,194, 1,195, 1,196, 1,197, 1,198, 1,199, 1,200, 1,201, 1,202, 1,203, 1,204, - 1,205, 1,206, 1,207, 1,208, 1,209, 1,210, 1,211, 1,212, 1,213, 1,214, 1,215, 1,216, 1,217, 1,218, 1,219, 1,220, - 1,221, 1,222, 1,223, 1,224, 1,225, 1,226, 1,227, 1,228, 1,229, 1,230, 1,231, 1,232, 1,233, 1,234, 1,235, 1,236, - 1,237, 1,238, 1,239, 1,240, 1,241, 1,242, 1,243, 1,244, 1,245, 1,246, 1,247, 1,248, 1,249, 1,250, 1,251, 1,252, - 1,253, 1,254, 1,255, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 12, - 2, 13, 2, 14, 2, 15, 2, 16, 2, 17, 2, 18, 2, 19, 2, 20, 2, 21, 2, 22, 2, 23, 2, 24, 2, 25, 2, 26, 2, 27, 2, 28, - 2, 29, 2, 30, 2, 31, 2, 32, 2, 33, 2, 34, 2, 35, 2, 36, 2, 37, 2, 38, 2, 39, 2, 40, 2, 41, 0,178, 0,179, 2, 42, - 2, 43, 0,182, 0,183, 0,196, 2, 44, 0,180, 0,181, 0,197, 0,130, 0,194, 0,135, 0,171, 0,198, 2, 45, 2, 46, 0,190, - 0,191, 2, 47, 0,188, 2, 48, 0,247, 2, 49, 2, 50, 2, 51, 2, 52, 2, 53, 2, 54, 0,140, 0,159, 2, 55, 2, 56, 2, 57, - 2, 58, 2, 59, 0,152, 2, 60, 0,154, 0,153, 0,239, 0,165, 0,146, 0,156, 0,167, 0,143, 0,148, 0,149, 0,185, 2, 61, - 2, 62, 2, 63, 2, 64, 2, 65, 2, 66, 2, 67, 2, 68, 2, 69, 2, 70, 2, 71, 2, 72, 2, 73, 2, 74, 2, 75, 2, 76, 2, 77, - 2, 78, 2, 79, 2, 80, 2, 81, 2, 82, 2, 83, 2, 84, 2, 85, 2, 86, 2, 87, 2, 88, 2, 89, 2, 90, 2, 91, 2, 92, 2, 93, - 2, 94, 2, 95, 2, 96, 2, 97, 2, 98, 2, 99, 2,100, 2,101, 2,102, 2,103, 2,104, 2,105, 2,106, 2,107, 2,108, 2,109, - 2,110, 2,111, 2,112, 2,113, 2,114, 2,115, 2,116, 2,117, 2,118, 2,119, 2,120, 2,121, 2,122, 2,123, 2,124, 2,125, - 2,126, 2,127, 2,128, 2,129, 2,130, 2,131, 2,132, 2,133, 2,134, 2,135, 2,136, 2,137, 2,138, 2,139, 2,140, 2,141, - 2,142, 2,143, 2,144, 2,145, 2,146, 2,147, 2,148, 2,149, 2,150, 2,151, 2,152, 2,153, 2,154, 2,155, 2,156, 2,157, - 2,158, 2,159, 2,160, 2,161, 2,162, 2,163, 2,164, 2,165, 2,166, 2,167, 2,168, 2,169, 2,170, 2,171, 2,172, 2,173, - 2,174, 2,175, 2,176, 2,177, 2,178, 2,179, 2,180, 2,181, 2,182, 2,183, 2,184, 2,185, 2,186, 2,187, 2,188, 2,189, - 2,190, 2,191, 2,192, 2,193, 2,194, 2,195, 2,196, 2,197, 2,198, 2,199, 2,200, 2,201, 2,202, 2,203, 2,204, 2,205, - 2,206, 2,207, 2,208, 2,209, 2,210, 2,211, 2,212, 2,213, 2,214, 2,215, 2,216, 2,217, 2,218, 2,219, 2,220, 2,221, - 2,222, 2,223, 2,224, 2,225, 2,226, 2,227, 2,228, 2,229, 2,230, 2,231, 2,232, 2,233, 2,234, 2,235, 2,236, 2,237, - 2,238, 2,239, 2,240, 2,241, 2,242, 2,243, 2,244, 2,245, 2,246, 2,247, 2,248, 2,249, 2,250, 2,251, 2,252, 2,253, - 2,254, 2,255, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, 3, 11, 3, 12, 3, 13, - 3, 14, 3, 15, 3, 16, 3, 17, 3, 18, 3, 19, 3, 20, 3, 21, 3, 22, 3, 23, 3, 24, 3, 25, 3, 26, 3, 27, 3, 28, 3, 29, - 3, 30, 3, 31, 3, 32, 3, 33, 3, 34, 3, 35, 3, 36, 3, 37, 3, 38, 3, 39, 3, 40, 3, 41, 3, 42, 3, 43, 3, 44, 3, 45, - 3, 46, 3, 47, 3, 48, 3, 49, 3, 50, 3, 51, 3, 52, 3, 53, 3, 54, 3, 55, 3, 56, 3, 57, 3, 58, 3, 59, 3, 60, 3, 61, - 3, 62, 3, 63, 3, 64, 3, 65, 3, 66, 3, 67, 3, 68, 3, 69, 3, 70, 3, 71, 3, 72, 3, 73, 3, 74, 3, 75, 3, 76, 3, 77, - 3, 78, 3, 79, 3, 80, 3, 81, 3, 82, 3, 83, 3, 84, 3, 85, 3, 86, 3, 87, 3, 88, 3, 89, 3, 90, 3, 91, 3, 92, 3, 93, - 3, 94, 3, 95, 3, 96, 3, 97, 3, 98, 3, 99, 3,100, 3,101, 3,102, 3,103, 3,104, 3,105, 3,106, 3,107, 3,108, 3,109, - 3,110, 3,111, 3,112, 3,113, 3,114, 3,115, 3,116, 3,117, 3,118, 3,119, 3,120, 3,121, 3,122, 3,123, 3,124, 3,125, - 3,126, 3,127, 3,128, 3,129, 3,130, 3,131, 3,132, 3,133, 3,134, 3,135, 3,136, 3,137, 3,138, 5, 46,110,117,108,108, - 7,117,110,105, 48, 48, 65, 68, 9,111,118,101,114,115, 99,111,114,101, 14,112,101,114,105,111,100, 99,101,110,116,101,114,101, -100, 7, 65,109, 97, 99,114,111,110, 7, 97,109, 97, 99,114,111,110, 6, 65, 98,114,101,118,101, 6, 97, 98,114,101,118,101, 7, - 65,111,103,111,110,101,107, 7, 97,111,103,111,110,101,107, 11, 67, 99,105,114, 99,117,109,102,108,101,120, 11, 99, 99,105,114, - 99,117,109,102,108,101,120, 4, 67,100,111,116, 4, 99,100,111,116, 6, 68, 99, 97,114,111,110, 6,100, 99, 97,114,111,110, 6, - 68, 99,114,111, 97,116, 6,100, 99,114,111, 97,116, 7, 69,109, 97, 99,114,111,110, 7,101,109, 97, 99,114,111,110, 6, 69, 98, -114,101,118,101, 6,101, 98,114,101,118,101, 10, 69,100,111,116, 97, 99, 99,101,110,116, 10,101,100,111,116, 97, 99, 99,101,110, -116, 7, 69,111,103,111,110,101,107, 7,101,111,103,111,110,101,107, 6, 69, 99, 97,114,111,110, 6,101, 99, 97,114,111,110, 11, - 71, 99,105,114, 99,117,109,102,108,101,120, 11,103, 99,105,114, 99,117,109,102,108,101,120, 4, 71,100,111,116, 4,103,100,111, -116, 12, 71, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,103, 99,111,109,109, 97, 97, 99, 99,101,110,116, 11, 72, 99,105,114, - 99,117,109,102,108,101,120, 11,104, 99,105,114, 99,117,109,102,108,101,120, 4, 72, 98, 97,114, 4,104, 98, 97,114, 6, 73,116, -105,108,100,101, 6,105,116,105,108,100,101, 7, 73,109, 97, 99,114,111,110, 7,105,109, 97, 99,114,111,110, 6, 73, 98,114,101, -118,101, 6,105, 98,114,101,118,101, 7, 73,111,103,111,110,101,107, 7,105,111,103,111,110,101,107, 10, 73,100,111,116, 97, 99, - 99,101,110,116, 2, 73, 74, 2,105,106, 11, 74, 99,105,114, 99,117,109,102,108,101,120, 11,106, 99,105,114, 99,117,109,102,108, -101,120, 12, 75, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,107, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,107,103,114, -101,101,110,108, 97,110,100,105, 99, 6, 76, 97, 99,117,116,101, 6,108, 97, 99,117,116,101, 12, 76, 99,111,109,109, 97, 97, 99, - 99,101,110,116, 12,108, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 76, 99, 97,114,111,110, 6,108, 99, 97,114,111,110, 4, - 76,100,111,116, 4,108,100,111,116, 6, 78, 97, 99,117,116,101, 6,110, 97, 99,117,116,101, 12, 78, 99,111,109,109, 97, 97, 99, - 99,101,110,116, 12,110, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 78, 99, 97,114,111,110, 6,110, 99, 97,114,111,110, 11, -110, 97,112,111,115,116,114,111,112,104,101, 3, 69,110,103, 3,101,110,103, 7, 79,109, 97, 99,114,111,110, 7,111,109, 97, 99, -114,111,110, 6, 79, 98,114,101,118,101, 6,111, 98,114,101,118,101, 13, 79,104,117,110,103, 97,114,117,109,108, 97,117,116, 13, -111,104,117,110,103, 97,114,117,109,108, 97,117,116, 6, 82, 97, 99,117,116,101, 6,114, 97, 99,117,116,101, 12, 82, 99,111,109, -109, 97, 97, 99, 99,101,110,116, 12,114, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 82, 99, 97,114,111,110, 6,114, 99, 97, -114,111,110, 6, 83, 97, 99,117,116,101, 6,115, 97, 99,117,116,101, 11, 83, 99,105,114, 99,117,109,102,108,101,120, 11,115, 99, -105,114, 99,117,109,102,108,101,120, 12, 84, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,116, 99,111,109,109, 97, 97, 99, 99, -101,110,116, 6, 84, 99, 97,114,111,110, 6,116, 99, 97,114,111,110, 4, 84, 98, 97,114, 4,116, 98, 97,114, 6, 85,116,105,108, -100,101, 6,117,116,105,108,100,101, 7, 85,109, 97, 99,114,111,110, 7,117,109, 97, 99,114,111,110, 6, 85, 98,114,101,118,101, - 6,117, 98,114,101,118,101, 5, 85,114,105,110,103, 5,117,114,105,110,103, 13, 85,104,117,110,103, 97,114,117,109,108, 97,117, -116, 13,117,104,117,110,103, 97,114,117,109,108, 97,117,116, 7, 85,111,103,111,110,101,107, 7,117,111,103,111,110,101,107, 11, - 87, 99,105,114, 99,117,109,102,108,101,120, 11,119, 99,105,114, 99,117,109,102,108,101,120, 11, 89, 99,105,114, 99,117,109,102, -108,101,120, 11,121, 99,105,114, 99,117,109,102,108,101,120, 6, 90, 97, 99,117,116,101, 6,122, 97, 99,117,116,101, 10, 90,100, -111,116, 97, 99, 99,101,110,116, 10,122,100,111,116, 97, 99, 99,101,110,116, 5,108,111,110,103,115, 10, 65,114,105,110,103, 97, - 99,117,116,101, 10, 97,114,105,110,103, 97, 99,117,116,101, 7, 65, 69, 97, 99,117,116,101, 7, 97,101, 97, 99,117,116,101, 11, - 79,115,108, 97,115,104, 97, 99,117,116,101, 11,111,115,108, 97,115,104, 97, 99,117,116,101, 12, 83, 99,111,109,109, 97, 97, 99, - 99,101,110,116, 12,115, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6,109, 97, 99,114,111,110, 5,116,111,110,111,115, 13,100, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 12, 0, 0, 0, 0, 11, 32, 0, 0, 0, 0, 0, 0, 0,236, 0, 0, 0, 32, 0, 0, 0,126, 0, 0, 0, 3, 0, 0, 0,160, + 0, 0, 1,185, 0, 0, 0, 98, 0, 0, 1,187, 0, 0, 1,190, 0, 0, 1,124, 0, 0, 1,192, 0, 0, 1,195, 0, 0, 1,128, + 0, 0, 1,205, 0, 0, 1,227, 0, 0, 1,132, 0, 0, 1,230, 0, 0, 1,240, 0, 0, 1,155, 0, 0, 1,244, 0, 0, 1,246, + 0, 0, 1,166, 0, 0, 1,248, 0, 0, 1,249, 0, 0, 1,169, 0, 0, 1,252, 0, 0, 2, 27, 0, 0, 1,171, 0, 0, 2, 30, + 0, 0, 2, 33, 0, 0, 1,203, 0, 0, 2, 36, 0, 0, 2, 65, 0, 0, 1,207, 0, 0, 2, 69, 0, 0, 2, 69, 0, 0, 1,237, + 0, 0, 2, 80, 0, 0, 2,185, 0, 0, 1,238, 0, 0, 2,187, 0, 0, 2,193, 0, 0, 2, 88, 0, 0, 2,198, 0, 0, 2,201, + 0, 0, 2, 95, 0, 0, 2,204, 0, 0, 2,205, 0, 0, 2, 99, 0, 0, 2,208, 0, 0, 2,211, 0, 0, 2,101, 0, 0, 2,214, + 0, 0, 2,214, 0, 0, 2,105, 0, 0, 2,216, 0, 0, 2,222, 0, 0, 2,106, 0, 0, 2,224, 0, 0, 2,233, 0, 0, 2,113, + 0, 0, 2,243, 0, 0, 2,243, 0, 0, 2,123, 0, 0, 3, 0, 0, 0, 3, 63, 0, 0, 2,124, 0, 0, 3, 67, 0, 0, 3, 67, + 0, 0, 2,188, 0, 0, 3, 88, 0, 0, 3, 88, 0, 0, 2,189, 0, 0, 3, 97, 0, 0, 3, 97, 0, 0, 2,190, 0, 0, 3,116, + 0, 0, 3,117, 0, 0, 2,191, 0, 0, 3,122, 0, 0, 3,122, 0, 0, 2,193, 0, 0, 3,126, 0, 0, 3,126, 0, 0, 2,194, + 0, 0, 3,132, 0, 0, 3,138, 0, 0, 2,195, 0, 0, 3,140, 0, 0, 3,140, 0, 0, 2,202, 0, 0, 3,142, 0, 0, 3,161, + 0, 0, 2,203, 0, 0, 3,163, 0, 0, 3,206, 0, 0, 2,223, 0, 0, 3,208, 0, 0, 3,225, 0, 0, 3, 11, 0, 0, 3,240, + 0, 0, 4, 95, 0, 0, 3, 29, 0, 0, 4,144, 0, 0, 4,155, 0, 0, 3,141, 0, 0, 4,162, 0, 0, 4,163, 0, 0, 3,153, + 0, 0, 4,170, 0, 0, 4,179, 0, 0, 3,155, 0, 0, 4,186, 0, 0, 4,187, 0, 0, 3,165, 0, 0, 4,192, 0, 0, 4,196, + 0, 0, 3,167, 0, 0, 4,199, 0, 0, 4,200, 0, 0, 3,172, 0, 0, 4,203, 0, 0, 4,204, 0, 0, 3,174, 0, 0, 4,207, + 0, 0, 4,249, 0, 0, 3,176, 0, 0, 6, 12, 0, 0, 6, 12, 0, 0, 3,219, 0, 0, 6, 21, 0, 0, 6, 21, 0, 0, 3,220, + 0, 0, 6, 27, 0, 0, 6, 27, 0, 0, 3,221, 0, 0, 6, 31, 0, 0, 6, 31, 0, 0, 3,222, 0, 0, 6, 33, 0, 0, 6, 58, + 0, 0, 3,223, 0, 0, 6, 64, 0, 0, 6, 85, 0, 0, 3,249, 0, 0, 6, 90, 0, 0, 6, 90, 0, 0, 4, 15, 0, 0, 6, 96, + 0, 0, 6,111, 0, 0, 4, 16, 0, 0, 6,116, 0, 0, 6,116, 0, 0, 4, 32, 0, 0, 6,121, 0, 0, 6,135, 0, 0, 4, 33, + 0, 0, 6,145, 0, 0, 6,146, 0, 0, 4, 48, 0, 0, 6,152, 0, 0, 6,152, 0, 0, 4, 50, 0, 0, 6,161, 0, 0, 6,161, + 0, 0, 4, 51, 0, 0, 6,164, 0, 0, 6,164, 0, 0, 4, 52, 0, 0, 6,169, 0, 0, 6,169, 0, 0, 4, 53, 0, 0, 6,175, + 0, 0, 6,175, 0, 0, 4, 54, 0, 0, 6,181, 0, 0, 6,181, 0, 0, 4, 55, 0, 0, 6,186, 0, 0, 6,186, 0, 0, 4, 56, + 0, 0, 6,190, 0, 0, 6,190, 0, 0, 4, 57, 0, 0, 6,198, 0, 0, 6,198, 0, 0, 4, 58, 0, 0, 6,204, 0, 0, 6,204, + 0, 0, 4, 59, 0, 0, 6,206, 0, 0, 6,206, 0, 0, 4, 60, 0, 0, 6,213, 0, 0, 6,213, 0, 0, 4, 61, 0, 0, 6,240, + 0, 0, 6,249, 0, 0, 4, 62, 0, 0, 14,129, 0, 0, 14,130, 0, 0, 4, 72, 0, 0, 14,132, 0, 0, 14,132, 0, 0, 4, 74, + 0, 0, 14,135, 0, 0, 14,136, 0, 0, 4, 75, 0, 0, 14,138, 0, 0, 14,138, 0, 0, 4, 77, 0, 0, 14,141, 0, 0, 14,141, + 0, 0, 4, 78, 0, 0, 14,148, 0, 0, 14,151, 0, 0, 4, 79, 0, 0, 14,153, 0, 0, 14,159, 0, 0, 4, 83, 0, 0, 14,161, + 0, 0, 14,163, 0, 0, 4, 90, 0, 0, 14,165, 0, 0, 14,165, 0, 0, 4, 93, 0, 0, 14,167, 0, 0, 14,167, 0, 0, 4, 94, + 0, 0, 14,170, 0, 0, 14,171, 0, 0, 4, 95, 0, 0, 14,173, 0, 0, 14,185, 0, 0, 4, 97, 0, 0, 14,187, 0, 0, 14,188, + 0, 0, 4,110, 0, 0, 14,200, 0, 0, 14,205, 0, 0, 4,112, 0, 0, 16,208, 0, 0, 16,252, 0, 0, 4,118, 0, 0, 29, 2, + 0, 0, 29, 2, 0, 0, 4,163, 0, 0, 29, 8, 0, 0, 29, 9, 0, 0, 4,164, 0, 0, 29, 20, 0, 0, 29, 20, 0, 0, 4,166, + 0, 0, 29, 22, 0, 0, 29, 23, 0, 0, 4,167, 0, 0, 29, 29, 0, 0, 29, 31, 0, 0, 4,169, 0, 0, 29, 44, 0, 0, 29, 46, + 0, 0, 4,172, 0, 0, 29, 48, 0, 0, 29, 60, 0, 0, 4,175, 0, 0, 29, 62, 0, 0, 29, 91, 0, 0, 4,188, 0, 0, 29, 98, + 0, 0, 29,101, 0, 0, 4,218, 0, 0, 29,119, 0, 0, 29,120, 0, 0, 4,222, 0, 0, 29,123, 0, 0, 29,123, 0, 0, 4,224, + 0, 0, 29,133, 0, 0, 29,133, 0, 0, 4,225, 0, 0, 29,155, 0, 0, 29,183, 0, 0, 4,226, 0, 0, 29,185, 0, 0, 29,191, + 0, 0, 4,255, 0, 0, 30, 0, 0, 0, 30, 19, 0, 0, 5, 6, 0, 0, 30, 24, 0, 0, 30, 37, 0, 0, 5, 26, 0, 0, 30, 40, + 0, 0, 30, 45, 0, 0, 5, 40, 0, 0, 30, 48, 0, 0, 30, 75, 0, 0, 5, 46, 0, 0, 30, 86, 0, 0, 30, 99, 0, 0, 5, 74, + 0, 0, 30,104, 0, 0, 30,119, 0, 0, 5, 88, 0, 0, 30,126, 0, 0, 30,139, 0, 0, 5,104, 0, 0, 30,142, 0, 0, 30,143, + 0, 0, 5,118, 0, 0, 30,146, 0, 0, 30,150, 0, 0, 5,120, 0, 0, 30,155, 0, 0, 30,155, 0, 0, 5,125, 0, 0, 30,160, + 0, 0, 30,161, 0, 0, 5,126, 0, 0, 30,176, 0, 0, 30,177, 0, 0, 5,128, 0, 0, 30,184, 0, 0, 30,185, 0, 0, 5,130, + 0, 0, 30,188, 0, 0, 30,189, 0, 0, 5,132, 0, 0, 30,202, 0, 0, 30,205, 0, 0, 5,134, 0, 0, 30,228, 0, 0, 30,229, + 0, 0, 5,138, 0, 0, 30,242, 0, 0, 30,245, 0, 0, 5,140, 0, 0, 30,248, 0, 0, 30,249, 0, 0, 5,144, 0, 0, 31, 0, + 0, 0, 31, 21, 0, 0, 5,146, 0, 0, 31, 24, 0, 0, 31, 29, 0, 0, 5,168, 0, 0, 31, 32, 0, 0, 31, 69, 0, 0, 5,174, + 0, 0, 31, 72, 0, 0, 31, 77, 0, 0, 5,212, 0, 0, 31, 80, 0, 0, 31, 87, 0, 0, 5,218, 0, 0, 31, 89, 0, 0, 31, 89, + 0, 0, 5,226, 0, 0, 31, 91, 0, 0, 31, 91, 0, 0, 5,227, 0, 0, 31, 93, 0, 0, 31, 93, 0, 0, 5,228, 0, 0, 31, 95, + 0, 0, 31,125, 0, 0, 5,229, 0, 0, 31,128, 0, 0, 31,180, 0, 0, 6, 4, 0, 0, 31,182, 0, 0, 31,196, 0, 0, 6, 57, + 0, 0, 31,198, 0, 0, 31,211, 0, 0, 6, 72, 0, 0, 31,214, 0, 0, 31,219, 0, 0, 6, 86, 0, 0, 31,221, 0, 0, 31,239, + 0, 0, 6, 92, 0, 0, 31,242, 0, 0, 31,244, 0, 0, 6,111, 0, 0, 31,246, 0, 0, 31,254, 0, 0, 6,114, 0, 0, 32, 0, + 0, 0, 32, 10, 0, 0, 6,123, 0, 0, 32, 16, 0, 0, 32, 21, 0, 0, 6,134, 0, 0, 32, 23, 0, 0, 32, 35, 0, 0, 6,140, + 0, 0, 32, 38, 0, 0, 32, 38, 0, 0, 6,153, 0, 0, 32, 47, 0, 0, 32, 49, 0, 0, 6,154, 0, 0, 32, 57, 0, 0, 32, 58, + 0, 0, 6,157, 0, 0, 32, 60, 0, 0, 32, 62, 0, 0, 6,159, 0, 0, 32, 69, 0, 0, 32, 73, 0, 0, 6,162, 0, 0, 32, 95, + 0, 0, 32, 95, 0, 0, 6,167, 0, 0, 32,112, 0, 0, 32,113, 0, 0, 6,168, 0, 0, 32,116, 0, 0, 32,142, 0, 0, 6,170, + 0, 0, 32,144, 0, 0, 32,148, 0, 0, 6,197, 0, 0, 32,166, 0, 0, 32,166, 0, 0, 6,202, 0, 0, 32,172, 0, 0, 32,172, + 0, 0, 6,203, 0, 0, 32,177, 0, 0, 32,177, 0, 0, 6,204, 0, 0, 32,180, 0, 0, 32,181, 0, 0, 6,205, 0, 0, 33, 2, + 0, 0, 33, 2, 0, 0, 6,207, 0, 0, 33, 14, 0, 0, 33, 14, 0, 0, 6,208, 0, 0, 33, 22, 0, 0, 33, 22, 0, 0, 6,209, + 0, 0, 33, 34, 0, 0, 33, 34, 0, 0, 6,210, 0, 0, 33, 38, 0, 0, 33, 38, 0, 0, 6,211, 0, 0, 33, 42, 0, 0, 33, 43, + 0, 0, 6,212, 0, 0, 33, 83, 0, 0, 33, 95, 0, 0, 6,214, 0, 0, 33,144, 0, 0, 33,255, 0, 0, 6,227, 0, 0, 34, 2, + 0, 0, 34, 2, 0, 0, 7, 83, 0, 0, 34, 5, 0, 0, 34, 13, 0, 0, 7, 84, 0, 0, 34, 15, 0, 0, 34, 15, 0, 0, 7, 93, + 0, 0, 34, 17, 0, 0, 34, 19, 0, 0, 7, 94, 0, 0, 34, 21, 0, 0, 34, 21, 0, 0, 7, 97, 0, 0, 34, 23, 0, 0, 34, 26, + 0, 0, 7, 98, 0, 0, 34, 29, 0, 0, 34, 32, 0, 0, 7,102, 0, 0, 34, 39, 0, 0, 34, 45, 0, 0, 7,106, 0, 0, 34, 56, + 0, 0, 34, 61, 0, 0, 7,113, 0, 0, 34, 65, 0, 0, 34,105, 0, 0, 7,119, 0, 0, 34,109, 0, 0, 34,139, 0, 0, 7,160, + 0, 0, 34,143, 0, 0, 34,146, 0, 0, 7,191, 0, 0, 34,149, 0, 0, 34,161, 0, 0, 7,195, 0, 0, 34,197, 0, 0, 34,198, + 0, 0, 7,208, 0, 0, 34,205, 0, 0, 34,205, 0, 0, 7,210, 0, 0, 34,218, 0, 0, 34,233, 0, 0, 7,211, 0, 0, 34,239, + 0, 0, 34,239, 0, 0, 7,227, 0, 0, 35, 0, 0, 0, 35, 6, 0, 0, 7,228, 0, 0, 35, 8, 0, 0, 35, 21, 0, 0, 7,235, + 0, 0, 35, 24, 0, 0, 35, 25, 0, 0, 7,249, 0, 0, 35, 28, 0, 0, 35, 33, 0, 0, 7,251, 0, 0, 35, 37, 0, 0, 35, 40, + 0, 0, 8, 1, 0, 0, 35, 43, 0, 0, 35, 43, 0, 0, 8, 5, 0, 0, 35, 53, 0, 0, 35, 53, 0, 0, 8, 6, 0, 0, 35, 55, + 0, 0, 35, 62, 0, 0, 8, 7, 0, 0, 35, 65, 0, 0, 35, 68, 0, 0, 8, 15, 0, 0, 35, 71, 0, 0, 35, 73, 0, 0, 8, 19, + 0, 0, 35, 75, 0, 0, 35, 77, 0, 0, 8, 22, 0, 0, 35, 80, 0, 0, 35, 80, 0, 0, 8, 25, 0, 0, 35, 82, 0, 0, 35, 84, + 0, 0, 8, 26, 0, 0, 35, 87, 0, 0, 35, 92, 0, 0, 8, 29, 0, 0, 35, 94, 0, 0, 35, 96, 0, 0, 8, 35, 0, 0, 35, 99, + 0, 0, 35,101, 0, 0, 8, 38, 0, 0, 35,104, 0, 0, 35,105, 0, 0, 8, 41, 0, 0, 35,107, 0, 0, 35,112, 0, 0, 8, 43, + 0, 0, 35,115, 0, 0, 35,122, 0, 0, 8, 49, 0, 0, 35,125, 0, 0, 35,125, 0, 0, 8, 57, 0, 0, 35,128, 0, 0, 35,131, + 0, 0, 8, 58, 0, 0, 35,136, 0, 0, 35,139, 0, 0, 8, 62, 0, 0, 35,149, 0, 0, 35,149, 0, 0, 8, 66, 0, 0, 35,155, + 0, 0, 35,174, 0, 0, 8, 67, 0, 0, 35,206, 0, 0, 35,207, 0, 0, 8, 87, 0, 0, 36, 35, 0, 0, 36, 35, 0, 0, 8, 89, + 0, 0, 37, 0, 0, 0, 38, 47, 0, 0, 8, 90, 0, 0, 38, 56, 0, 0, 38,139, 0, 0, 9,138, 0, 0, 38,144, 0, 0, 38,156, + 0, 0, 9,222, 0, 0, 38,160, 0, 0, 38,161, 0, 0, 9,235, 0, 0, 38,176, 0, 0, 38,177, 0, 0, 9,237, 0, 0, 39, 1, + 0, 0, 39, 4, 0, 0, 9,239, 0, 0, 39, 6, 0, 0, 39, 9, 0, 0, 9,243, 0, 0, 39, 12, 0, 0, 39, 39, 0, 0, 9,247, + 0, 0, 39, 41, 0, 0, 39, 75, 0, 0, 10, 19, 0, 0, 39, 77, 0, 0, 39, 77, 0, 0, 10, 54, 0, 0, 39, 79, 0, 0, 39, 82, + 0, 0, 10, 55, 0, 0, 39, 86, 0, 0, 39, 86, 0, 0, 10, 59, 0, 0, 39, 88, 0, 0, 39, 94, 0, 0, 10, 60, 0, 0, 39, 97, + 0, 0, 39,117, 0, 0, 10, 67, 0, 0, 39,148, 0, 0, 39,148, 0, 0, 10, 88, 0, 0, 39,152, 0, 0, 39,175, 0, 0, 10, 89, + 0, 0, 39,177, 0, 0, 39,190, 0, 0, 10,113, 0, 0, 39,224, 0, 0, 39,224, 0, 0, 10,127, 0, 0, 39,232, 0, 0, 39,233, + 0, 0, 10,128, 0, 0, 41,235, 0, 0, 41,235, 0, 0, 10,130, 0, 0, 41,250, 0, 0, 41,251, 0, 0, 10,131, 0, 0, 42, 47, + 0, 0, 42, 47, 0, 0, 10,133, 0, 0, 43, 18, 0, 0, 43, 26, 0, 0, 10,134, 0, 0, 44,117, 0, 0, 44,119, 0, 0, 10,143, + 0, 0, 46, 24, 0, 0, 46, 24, 0, 0, 10,146, 0, 0, 46, 46, 0, 0, 46, 46, 0, 0, 10,147, 0, 0,246,197, 0, 0,246,197, + 0, 0, 10,148, 0, 0,251, 1, 0, 0,251, 2, 0, 0, 10,149, 0, 0,251, 82, 0, 0,251,129, 0, 0, 10,151, 0, 0,251,138, + 0, 0,251,149, 0, 0, 10,199, 0, 0,251,158, 0, 0,251,159, 0, 0, 10,211, 0, 0,251,170, 0, 0,251,173, 0, 0, 10,213, + 0, 0,251,232, 0, 0,251,233, 0, 0, 10,217, 0, 0,251,252, 0, 0,251,255, 0, 0, 10,219, 0, 0,254,112, 0, 0,254,116, + 0, 0, 10,223, 0, 0,254,118, 0, 0,254,252, 0, 0, 10,228, 0, 0,254,255, 0, 0,254,255, 0, 0, 11,107, 0, 0,255,249, + 0, 0,255,253, 0, 0, 11,108, 0, 1,214,112, 0, 1,214,163, 0, 0, 11,113, 0, 1,215,246, 0, 1,215,255, 0, 0, 11,165, + 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, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 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, 6,149, 0,114, 0,100, 0,101, 0,105, 6,151, 0,120, 0,161, 0,112, 0,107, 6,210, + 0,118, 0,106, 7,150, 0,136, 0,154, 7,103, 0,115, 7,154, 7,155, 0,103, 0,119, 7, 83, 7, 94, 7, 93, 2,252, 7,110, + 0,108, 0,124, 2,229, 0,168, 0,186, 0,129, 0, 99, 0,110, 7,101, 1, 84, 7,126, 7, 85, 0,109, 0,125, 6,153, 0, 98, + 0,130, 0,133, 0,151, 1, 20, 1, 21, 6,137, 6,138, 6,145, 6,146, 6,141, 6,142, 0,185, 9, 36, 0,193, 1, 58, 0, 0, + 6,203, 6,157, 6,158, 10,149, 10,150, 6,150, 0,121, 6,143, 6,147, 6,155, 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, 2, 95, 2,110, 0,113, 2,106, 2,107, + 2,108, 0,122, 2,111, 2,109, 2, 96, 0, 0, 0,184, 0,203, 0,184, 0,203, 0,170, 1,145, 0,184, 0,102, 0, 0, 0,184, + 0,135, 2,127, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,184, 0,195, 0,203, 0, 2, 0,203, 0,184, 0,184, 1,203, 1,137, + 1,186, 0,203, 0,166, 0,252, 0,203, 0,131, 0,242, 1, 10, 3,199, 1, 55, 0,131, 0,190, 0, 0, 0, 88, 4, 33, 0,203, + 0,143, 0,156, 0, 2, 0, 2, 0,143, 3,231, 0,117, 3,188, 0,211, 0,201, 0,219, 0,117, 3,231, 1, 57, 3,186, 0,203, + 1,211, 0, 33, 1,223, 0,184, 0,137, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 3,190, 0,137, 0,195, 3,190, 0,123, 3,190, + 3, 88, 1, 31, 1,109, 0,164, 1,174, 0, 0, 0,123, 0,184, 1,111, 0,127, 2,123, 0,184, 2, 82, 0,143, 0,205, 4,209, + 0, 0, 0,205, 0,135, 0,135, 0,147, 0,164, 0,111, 0,205, 0,203, 0,184, 0,131, 1,145, 0,221, 0,180, 0,139, 0,244, + 0,152, 2,233, 0, 90, 0,180, 0,186, 0,197, 4, 33, 0,254, 0, 14, 0, 2, 0, 2, 0, 2, 1,213, 0,246, 0,127, 2,170, + 2, 61, 2,102, 0,139, 0,197, 0,143, 0,154, 0,154, 1,131, 0,213, 0,115, 4, 0, 1, 10, 0,254, 0,225, 5,213, 2, 43, + 0,164, 0,180, 0,156, 0, 0, 0, 98, 0,156, 5,213, 5,152, 0,135, 2,127, 5,213, 5,213, 5,240, 0,164, 0, 0, 0, 29, + 6,184, 6, 20, 7, 35, 1,211, 0,184, 0,203, 0,166, 1,188, 1, 49, 2, 78, 0,211, 1, 10, 0,123, 0, 84, 3, 92, 3,113, + 3,219, 1,133, 4, 35, 4,119, 3,233, 0,143, 2, 0, 3, 96, 0,106, 0,207, 5,213, 6, 20, 0,143, 7, 35, 0,143, 6,102, + 1,121, 4, 96, 4, 96, 4, 96, 4,123, 0, 0, 0,123, 2,119, 4, 96, 1,170, 0,233, 6, 20, 7, 98, 3,248, 0,123, 2, 33, + 0,197, 0,156, 0,127, 2,123, 0, 0, 0,180, 2, 82, 5, 78, 5, 78, 4,209, 0,102, 0,156, 0,156, 0,102, 0,156, 0,143, + 0,102, 0,156, 0,143, 6, 16, 0,205, 3,250, 0,131, 0,145, 2,254, 1, 72, 4, 70, 3, 63, 0,143, 0,123, 4, 76, 0,152, + 0,162, 0, 0, 0, 39, 0,111, 0, 0, 0,111, 3, 53, 0,106, 0,111, 0,123, 5,141, 5,141, 5,141, 5,141, 0,170, 0,170, + 0, 45, 5,141, 3,150, 2,123, 0,246, 0,127, 2,170, 1, 51, 2, 61, 0,156, 2,102, 1,139, 0,143, 2,246, 0,205, 0,111, + 3, 68, 0, 55, 0,102, 0, 29, 5,238, 0,133, 1,180, 6, 20, 0, 0, 7,125, 0,115, 5,213, 0, 0, 20, 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,184, 1, 23, 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, 0, 0, 2, 0, 8, 0, 2,255,255, 0, 3, 0, 2, 0,104,254,150, 4,104, 5,164, 0, 3, + 0, 7, 0, 31,188, 0, 4, 1, 20, 0, 0, 0, 6, 1, 20,182, 1, 8, 5,131, 2, 4, 0, 47,196,212,236, 49, 0, 16,212,236, +212,236, 48, 19, 17, 33, 17, 37, 33, 17, 33,104, 4, 0,252,115, 3, 27,252,229,254,150, 7, 14,248,242,114, 6, 41, 0, 0, 0, + 0, 2, 2, 4, 0, 0, 2,207, 5,213, 0, 5, 0, 9, 0, 31, 64, 15, 3,135, 6,134, 0,136, 8, 4, 3, 7, 1, 3, 6, 0, + 10, 16,212, 60,236, 50, 57, 57, 49, 0, 47,228,252,236, 48, 1, 51, 17, 3, 35, 3, 17, 51, 21, 35, 2, 4,203, 21,161, 21,203, +203, 5,213,253,113,254,155, 1,101,253,184,254, 0, 2, 1, 82, 3,170, 3,127, 5,213, 0, 3, 0, 7, 0, 29, 64, 14, 5, 1, +137, 4, 0,136, 8, 0, 4, 2, 6, 4, 4, 8, 16,212,236,220,236, 49, 0, 16,244, 60,236, 50, 48, 1, 17, 35, 17, 35, 17, 35, + 17, 3,127,174,209,174, 5,213,253,213, 2, 43,253,213, 2, 43, 0, 2, 0, 2, 0, 0, 4,205, 5,190, 0, 27, 0, 31, 0, 74, + 64, 48, 28, 23, 7,140, 3, 0, 25, 5, 1, 30, 21, 9,140, 19, 15, 11, 17, 13, 31, 30, 29, 28, 27, 26, 24, 23, 22, 19, 18, 17, + 16, 15, 14, 13, 12, 10, 9, 8, 5, 4, 3, 2, 1, 0, 26, 6, 20, 32, 16,212,204, 23, 57, 49, 0, 47, 60,212, 60, 60,252, 60, + 60,212, 60, 60,196, 50,236, 50, 50, 48, 1, 3, 51, 19, 51, 3, 51, 21, 33, 3, 51, 21, 33, 3, 35, 19, 35, 3, 35, 19, 33, 53, + 33, 19, 33, 53, 33, 19, 1, 35, 3, 51, 2,172,104,245,105,160,105,244,254,231, 84,250,254,223,104,160,105,246,105,159,104,254, +254, 1, 41, 84,254,246, 1, 47,104, 1, 8,245, 84,246, 5,190,254, 97, 1,159,254, 97,154,254,178,153,254, 98, 1,158,254, 98, + 1,158,153, 1, 78,154, 1,159,253,199,254,178, 0, 3, 0,190,254,211, 4, 90, 6, 20, 0, 6, 0, 13, 0, 47, 0,100, 64, 57, + 8, 40, 36, 0, 7, 41, 24, 4, 37, 20, 47, 16, 23, 19, 1, 37,139, 36,142, 31, 40,143, 30, 20,139, 19,142, 1,143, 14, 33, 30, + 16, 4, 6, 36, 8, 44, 5, 0, 11, 6, 27, 19, 5, 40, 32, 14, 3, 0, 7, 30, 23, 15, 3, 7, 48, 16,212, 23, 60,236, 23, 50, +252, 60,236, 16,252,228,238, 49, 0, 47,198, 50,196,238,246,238, 16,238,198,246,238, 17, 18, 57, 17, 57, 17, 18, 23, 57, 17, 18, + 57, 48, 1, 17, 62, 1, 53, 52, 38, 39, 17, 14, 1, 21, 20, 22, 19, 35, 3, 46, 1, 39, 53, 30, 1, 23, 17, 46, 1, 53, 52, 54, + 55, 53, 51, 23, 30, 1, 23, 21, 46, 1, 39, 17, 30, 1, 21, 20, 6, 7, 2,180,110,124,112,222,104,117,109,212,100, 1,102,201, + 98,100,203, 99,200,202,211,191,100, 1, 79,162, 84, 85,161, 80,206,216,233,188, 2, 68,254, 78, 3,116,100, 93,103,209, 1,157, + 4,112, 94, 86,100,251,192, 1, 45, 5, 46, 41,180, 62, 66, 2, 1,202, 31,182,150,157,187, 14,235,235, 5, 30, 26,173, 43, 47, + 4,254, 81, 31,194,154,154,206, 9, 0, 0, 0, 0, 5, 0, 33, 0, 0, 4,176, 5,152, 0, 11, 0, 26, 0, 30, 0, 42, 0, 57, + 0, 86, 64, 47, 30, 55, 29, 40, 34, 28, 15, 27, 3, 9,146, 15, 34,146, 55,147, 40,146, 46,145, 15,147, 3,146, 24, 28, 27, 43, + 31, 30, 29, 6, 10, 21, 11, 0, 10, 12, 37, 10, 52, 11, 31, 10, 43, 12, 58, 16,196,212,236,252,236, 16,238,254,238, 57, 57, 17, + 18, 57, 57, 49, 0, 47,238,238,246,238,254,238, 16,238, 17, 57, 17, 57, 17, 18, 57, 18, 57, 48, 1, 20, 22, 51, 50, 54, 53, 52, + 38, 35, 34, 6, 7, 52, 54, 51, 50, 22, 23, 30, 1, 21, 20, 6, 35, 34, 38, 1, 39, 1, 23, 37, 20, 22, 51, 50, 54, 53, 52, 38, + 35, 34, 6, 7, 52, 54, 51, 50, 22, 23, 30, 1, 21, 20, 6, 35, 34, 38, 2,184,105, 78, 77,107,108, 76, 78,105,135,184,134, 64, +115, 46, 46, 50,186,135,136,182,254, 72, 35, 4, 18, 41,252, 23,105, 79, 77,108,108, 77, 77,107,135,184,135, 64,117, 45, 45, 49, +186,134,135,184, 1, 63, 78,106,107, 77, 77,108,106, 79,135,185, 48, 46, 47,116, 63,133,186,183, 1, 26, 96, 1,162, 96,229, 79, +105,107, 77, 77,107,106, 78,135,185, 48, 45, 45,117, 65,134,185,184, 0, 0, 0, 0, 2, 0, 57,255,227, 4,197, 5,240, 0, 42, + 0, 55, 0,179, 64, 98, 17, 16, 2, 18, 15, 23, 12, 13, 12, 14, 23, 13, 13, 12, 45, 44, 2, 46, 43, 23, 0, 1, 0, 50, 51, 52, + 53, 54, 5, 49, 55, 23, 1, 1, 0, 66, 55, 12, 9, 6, 1, 5, 7, 15, 49, 13, 24, 0, 43, 3, 34, 7, 49,151, 18, 34, 33, 37, +151, 30,150, 18,153, 7, 13, 0, 40, 1, 7, 6, 3, 33, 12, 8, 4, 55, 43, 33, 24, 40, 27, 15, 33, 4, 19, 8, 40, 18, 33, 27, + 8, 13, 16, 27, 46, 18, 21, 56, 16,220,236,196,252,196, 16,198,238, 16,238, 17, 57, 17, 18, 57, 17, 57, 57, 17, 18, 57, 18, 23, + 57, 17, 57, 49, 0, 47,198,228,246,238,214,206, 16,238, 17, 18, 23, 57, 17, 18, 57, 17, 23, 57, 48, 75, 83, 88, 7, 16, 14,237, + 17, 23, 57, 7, 16, 14,237, 17, 23, 57, 7, 16, 5,237, 7, 16, 5,237, 17, 23, 57, 89, 34, 9, 1, 62, 1, 53, 52, 47, 1, 51, + 21, 20, 6, 7, 23, 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, 7, 14, 1, 21, 20, 22, 51, 50, 54, 55, 62, 1, 55, 2, 35, 1,160, 39, 38, 3, 1,164, 74, 75,170,213, 78, 83,186,106, +216,254,230,138,139, 50, 48,199,173, 65,131, 70, 59,125, 69, 97,112, 58, 54, 92, 91,200,155, 42, 92, 44, 27, 35, 16, 3,139,253, +209, 49,150,104, 32, 70, 7, 39,161,243, 88,229,109, 70, 68, 1, 13,204,137,234,100, 72,138, 71,150,174, 24, 23,183, 39, 37, 91, + 77, 59,129,207, 73,163, 92,151,199, 24, 23, 15, 23, 13, 0, 0, 0, 1, 2, 16, 3,170, 2,190, 5,213, 0, 3, 0, 18,183, 1, + 0,136, 4, 0, 4, 2, 4, 16,212,236, 49, 0, 16,244,196, 48, 1, 17, 35, 17, 2,190,174, 5,213,253,213, 2, 43, 0, 0, 0, + 0, 1, 1,170,254,242, 3,117, 6, 18, 0, 13, 0, 31, 64, 15, 6,156, 0,155, 14, 13, 7, 0, 3, 18, 6, 0, 24, 10, 14, 16, +212,236, 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, 3,117,133,131,131, +133,160,151,148,148,151, 6, 18,228,254, 59,230,229,254, 58,230,238, 1,195,224,223, 1,196,236, 0, 1, 1, 92,254,242, 3, 39, + 6, 18, 0, 13, 0, 31, 64, 15, 7,156, 0,155, 14, 7, 1, 11, 8, 0, 24, 4, 18, 11, 14, 16,212,252,236, 50, 17, 57, 57, 49, + 0, 16,252,236, 48, 1, 51, 22, 18, 21, 20, 2, 7, 35, 54, 18, 53, 52, 2, 1, 92,160,151,148,148,151,160,133,131,131, 6, 18, +236,254, 60,223,225,254, 60,236,232, 1,198,227,228, 1,198, 0, 0, 1, 0,166, 2, 74, 4, 43, 5,240, 0, 17, 0, 78, 64, 44, + 16, 13, 11, 0, 4, 12, 9, 7, 4, 2, 4, 8, 3,157, 5, 17, 12,157, 10, 1, 14,150, 18, 8, 12, 10, 3, 9, 6, 17, 3, 1, + 3, 2, 0, 25, 15, 4, 11, 9, 25, 13, 6, 18, 16,212, 60,236, 50,220, 60,236, 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, 4, 43, +254,154, 1,102, 57,254,176,115,254,176, 57, 1,102,254,154, 57, 1, 80,115, 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, 88, 0,113, 4,121, 4,147, 0, 11, 0, 39, 64, 20, 0,161, 9, 1, +160, 5,161, 7, 3, 12, 2, 26, 4, 0, 28, 8, 26, 10, 6, 12, 16,212, 60,236,252, 60,236, 49, 0, 16,212, 60,236,252, 60,236, + 48, 1, 17, 33, 21, 33, 17, 35, 17, 33, 53, 33, 17, 2,188, 1,189,254, 67,168,254, 68, 1,188, 4,147,254, 68,170,254, 68, 1, +188,170, 1,188, 0, 1, 1,147,254,225, 2,242, 1, 47, 0, 5, 0, 24, 64, 11, 3,163, 0,162, 6, 3, 4, 1, 29, 0, 6, 16, +212,236,212,204, 49, 0, 16,252,236, 48, 1, 51, 21, 3, 35, 19, 1,246,252,197,154, 99, 1, 47,207,254,129, 1,127, 0, 0, 0, + 0, 1, 1,100, 1,223, 3,109, 2,131, 0, 3, 0, 17,182, 0,160, 2, 4, 1, 0, 4, 16,212,196, 49, 0, 16,212,236, 48, 1, + 33, 21, 33, 1,100, 2, 9,253,247, 2,131,164, 0, 1, 1,233, 0, 0, 2,229, 1, 49, 0, 3, 0, 16,182, 0,162, 2, 1, 29, + 0, 4, 16,212,236, 49, 0, 47,236, 48, 1, 51, 17, 35, 1,233,252,252, 1, 49,254,207, 0, 0, 0, 1, 0,102,255, 66, 4, 55, + 5,213, 0, 3, 0, 24, 64, 11, 2, 0,136, 4, 1, 30, 0, 2, 30, 3, 4, 16,212,236,212,236, 49, 0, 16,244,196, 48, 1, 51, + 1, 35, 3,121,190,252,238,191, 5,213,249,109, 0, 3, 0,133,255,227, 4, 76, 5,240, 0, 11, 0, 23, 0, 35, 1, 10, 64, 26, + 3,165, 9, 18,151, 30, 12,151, 24,150, 30,153, 36, 21, 30, 27, 6, 33, 0, 27, 34, 15, 30, 33, 31, 36, 16,252,236,236,212,236, + 16,238, 49, 0, 16,228,244,236, 16,238,212,238, 48, 64,214, 47, 0, 47, 1, 47, 2, 47, 3, 47, 4, 47, 5, 47, 6, 47, 7, 47, + 8, 47, 9, 47, 10, 47, 11, 63, 0, 63, 1, 63, 2, 63, 3, 63, 4, 63, 5, 63, 6, 63, 7, 63, 8, 63, 9, 63, 10, 63, 11, 79, + 0, 79, 1, 79, 2, 79, 10, 79, 11, 95, 0, 95, 1, 95, 2, 95, 10, 95, 11,159, 0,159, 1,159, 2,159, 3,159, 4,159, 5,159, + 6,159, 7,159, 8,159, 9,159, 10,159, 11,175, 0,175, 1,175, 2,175, 3,175, 4,175, 5,175, 6,175, 7,175, 8,175, 9,175, + 10,175, 11,191, 0,191, 1,191, 2,191, 3,191, 4,191, 5,191, 6,191, 7,191, 8,191, 9,191, 10,191, 11, 70, 47, 0, 47, 1, + 47, 2, 47, 3, 47, 4, 47, 5, 47, 6, 47, 7, 47, 8, 47, 9, 47, 10, 47, 11, 95, 0, 95, 1, 95, 2, 95, 3, 95, 4, 95, 5, + 95, 6, 95, 7, 95, 8, 95, 9, 95, 10, 95, 11,191, 0,191, 1,191, 2,191, 3,191, 4,191, 5,191, 6,191, 7,191, 8,191, 9, +191, 10,191, 11, 36, 93, 1, 93, 1, 52, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 19, 34, 2, 17, 16, 18, 51, 50, 18, 17, 16, 2, + 39, 50, 18, 17, 16, 2, 35, 34, 2, 17, 16, 18, 1,227, 77, 54, 56, 80, 79, 57, 56, 75,133,141,139,139,141,142,139,139,142,239, +245,245,239,239,244,244, 2,238, 55, 80, 80, 55, 56, 78, 76, 2,156,254,208,254,201,254,202,254,208, 1, 48, 1, 54, 1, 55, 1, + 48,160,254,120,254,129,254,130,254,120, 1,136, 1,126, 1,127, 1,136, 0, 0, 0, 1, 0,246, 0, 0, 4, 70, 5,213, 0, 10, + 0, 38, 64, 20, 3,151, 4, 2,151, 5,136, 7, 0,151, 9, 8, 35, 6, 30, 3, 0, 35, 1, 11, 16,212,236,196,252,236, 49, 0, + 47,236, 50,244,236,212,236, 48, 37, 33, 17, 5, 53, 37, 51, 17, 33, 21, 33, 1, 14, 1, 58,254,174, 1, 80,202, 1, 54,252,200, +170, 4,117, 76,184, 74,250,213,170, 0, 0, 0, 0, 1, 0,152, 0, 0, 4, 35, 5,240, 0, 28, 0, 81, 64, 41, 0, 28, 37, 5, + 6, 5, 24, 25, 26, 3, 23, 27, 37, 6, 6, 5, 66, 16, 17,167, 13,151, 20,150, 4, 0,151, 2, 0, 16, 10, 2, 1, 10, 30, 23, + 34, 16, 3, 36, 29, 16,252,196,252,236,192,192, 17, 18, 57, 49, 0, 47,236, 50,244,236,244,204, 48, 75, 83, 88, 7, 16, 5,237, + 17, 23, 57, 7, 16, 5,237, 23, 50, 89, 34, 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, 14, 1, 1,117, 2,174,252,117,187, 1, 24, 53,100, 70,147,128, 91,200,112,103,199, 97,219, 1, 11, 89, +100, 56,213,170,170,170,197, 1, 46, 62,122,151, 79,125,142, 66, 67,204, 49, 50,233,189, 96,192,116, 65,230, 0, 0, 1, 0,137, +255,227, 4, 55, 5,240, 0, 40, 0, 71, 64, 41, 0, 19,151, 21, 10,139, 9,166, 13,151, 6, 31,139, 32,166, 28,151, 35,150, 6, +153, 21,169, 41, 22, 19, 0, 3, 20, 25, 30, 38, 16, 30, 3, 34, 31, 20, 9, 31, 41, 16,252,196,196,252,236,212,236, 17, 23, 57, + 49, 0, 16,236,228,244,236,244,236, 16,238,246,238, 16,238, 57, 48, 1, 30, 1, 21, 20, 4, 35, 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, 8,147,156,254,235, +245,103,214,103,102,198, 98,166,178,178,152,154,154,139,156,145,134, 89,190,104,121,189, 73,218, 1, 5,137, 3, 31, 39,199,149, +206,235, 38, 36,201, 53, 52,150,141,130,153,166,122,109,115,123, 40, 40,186, 32, 32,219,181,123,164, 0, 0, 0, 0, 2, 0,102, + 0, 0, 4,111, 5,213, 0, 2, 0, 13, 0, 66, 64, 31, 1, 13, 3, 13, 0, 3, 3, 13, 66, 0, 3, 11, 7,151, 5, 1, 3,136, + 9, 1, 12, 10, 0, 30, 8, 4, 6, 15, 12, 36, 14, 16,252,252,212, 60,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, 9, 1, 33, 3, 51, 17, 51, 21, 35, 17, 35, 17, 33, 53, 2,223,254, 41, + 1,215, 33,234,199,199,201,253,135, 5, 29,252,235, 3,205,252, 51,164,254,156, 1,100,191, 0, 0, 1, 0,143,255,227, 4, 45, + 5,213, 0, 29, 0, 61, 64, 34, 4, 7, 29, 26,151, 7, 17,139, 16,142, 20,151, 13, 2,151, 0,136, 13,153, 7,170, 30, 3, 30, + 0, 23, 30, 1, 10, 34, 0, 16, 31, 30, 16,252,196,252,196,236, 16,238, 49, 0, 16,228,228,244,236, 16,238,246,238, 16,254,196, + 18, 57, 48, 19, 33, 21, 33, 17, 62, 1, 51, 50, 0, 21, 20, 0, 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 53, 52, 38, 35, 34, 6, + 7,207, 2,244,253,196, 43, 87, 44,232, 1, 16,254,227,247,119,197, 78, 92,186, 97,167,181,187,167, 81,154, 70, 5,213,170,254, +145, 16, 15,254,238,234,236,254,240, 32, 32,205, 50, 49,176,162,160,178, 37, 37, 0, 2, 0,133,255,227, 4, 76, 5,240, 0, 24, + 0, 36, 0, 61, 64, 35, 7, 31, 25,151, 10, 31,151, 16, 10,171, 4, 1,139, 0,142, 4,151, 22,150, 16,153, 37, 34, 30, 0, 38, + 13, 34, 7, 6, 28, 1, 19, 31, 37, 16,252,236,236,252,228,236, 49, 0, 16,228,244,236,244,236, 16,229, 16,238, 16,238, 17, 57, + 48, 1, 21, 46, 1, 35, 34, 2, 17, 62, 1, 51, 50, 18, 21, 20, 2, 35, 32, 2, 17, 16, 0, 33, 50, 22, 1, 34, 6, 21, 20, 22, + 51, 50, 54, 53, 52, 38, 3,223, 63,142, 77,192,198, 48,170,110,216,237,244,221,254,252,242, 1, 35, 1, 20, 74,148,254,221,129, +148,148,129,134,136,136, 5,180,186, 37, 39,254,223,254,231,100,107,254,247,243,242,254,246, 1,117, 1,145, 1,122, 1,141, 31, +253,108,186,164,164,186,177,173,174,176, 0, 0, 0, 1, 0,139, 0, 0, 4, 55, 5,213, 0, 6, 0, 53, 64, 25, 5, 37, 2, 3, + 2, 3, 37, 4, 5, 4, 66, 5,151, 0,136, 3, 5, 3, 1, 4, 1, 34, 0, 31, 7, 16,252,236,196, 17, 57, 57, 49, 0, 47,244, +236, 48, 75, 83, 88, 7, 16, 5,237, 7, 16, 5,237, 89, 34, 19, 33, 21, 1, 35, 1, 33,139, 3,172,253,234,211, 2, 8,253, 53, + 5,213, 86,250,129, 5, 43, 0, 0, 3, 0,131,255,227, 4, 78, 5,240, 0, 11, 0, 35, 0, 47, 0, 67, 64, 37, 24, 12, 0,151, + 39, 6,151, 30, 45,151, 18,150, 30,153, 39,169, 48, 24, 12, 36, 42, 30, 21, 36, 30, 15, 9, 30, 21, 27, 34, 3, 30, 15, 33, 31, + 48, 16,252,196,236,252,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, 54, 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,104,135,147,149,133,136,147,149,254,202,129,145,242,208,209,242,145,129, +150,159,254,254,228,228,254,255,159, 77,128,121,122,128,127,123,121,128, 2,197,151,138,138,153,151,140,137,152, 84, 33,180,127, +178,209,209,178,127,180, 33, 33,200,159,202,228,227,201,160,201, 1, 98,120,126,126,120,122,128,129, 0, 0, 0, 0, 2, 0,127, +255,227, 4, 70, 5,240, 0, 11, 0, 36, 0, 59, 64, 34, 19, 6, 0,151, 22,171, 16, 13,139, 12,142, 16,151, 34, 6,151, 28,150, + 34,153, 37, 19, 6, 3, 1, 31, 34, 9, 30, 12, 38, 25, 31, 37, 16,252,228,236,252,236,236, 49, 0, 16,228,244,236, 16,238,246, +238, 16,245,238, 17, 57, 48, 1, 50, 54, 53, 52, 38, 35, 34, 6, 21, 20, 22, 3, 53, 30, 1, 51, 50, 18, 17, 14, 1, 35, 34, 2, + 53, 52, 18, 51, 32, 18, 17, 16, 0, 33, 34, 38, 2, 84,129,147,147,129,134,136,135,225, 63,142, 77,192,197, 47,170,110,216,237, +243,222, 1, 4,242,254,221,254,235, 73,148, 2,150,186,164,164,186,177,173,174,176,253,137,186, 37, 39, 1, 33, 1, 25,100,107, + 1, 10,244,241, 1, 9,254,138,254,111,254,135,254,115, 31, 0, 0, 2, 1,233, 0, 0, 2,229, 4, 39, 0, 3, 0, 7, 0, 27, + 64, 13, 2,162, 0,172, 4,162, 6, 5, 1, 29, 4, 0, 8, 16,212, 60,236, 50, 49, 0, 47,236,244,236, 48, 1, 51, 17, 35, 17, + 51, 17, 35, 1,233,252,252,252,252, 4, 39,254,209,254, 57,254,207, 0, 0, 0, 0, 2, 1,147,254,225, 2,242, 4, 39, 0, 5, + 0, 9, 0, 37, 64, 19, 8,162, 6, 3,163, 0,162, 6,172, 10, 3, 4, 0, 29, 1, 7, 29, 6, 10, 16,212,252,212,252,212,204, + 49, 0, 16,228,252,236, 16,238, 48, 1, 51, 21, 3, 35, 19, 3, 51, 17, 35, 1,246,252,197,154, 99, 13,252,252, 1, 47,207,254, +129, 1,127, 3,199,254,209, 0, 0, 1, 0, 88, 0,141, 4,121, 4,119, 0, 6, 0, 33, 64, 18, 5, 4, 2, 1, 0, 5, 3,174, + 6,173, 7, 1, 2, 0, 40, 4, 39, 7, 16,252,236, 50, 57, 49, 0, 16,244,236, 23, 57, 48, 9, 2, 21, 1, 53, 1, 4,121,252, +174, 3, 82,251,223, 4, 33, 3,193,254,192,254,195,183, 1,162,166, 1,162, 0, 0, 2, 0, 88, 1, 96, 4,121, 3,162, 0, 3, + 0, 7, 0, 27, 64, 12, 4,160, 6, 2,160, 0, 8, 5, 1, 4, 0, 8, 16,212, 60,196, 50, 49, 0, 16,212,236,212,236, 48, 19, + 33, 21, 33, 17, 33, 21, 33, 88, 4, 33,251,223, 4, 33,251,223, 2, 12,172, 2, 66,170, 0, 0, 0, 1, 0, 88, 0,141, 4,121, + 4,119, 0, 6, 0, 33, 64, 18, 6, 5, 3, 2, 0, 5, 4,174, 1,173, 7, 6, 2, 40, 4, 0, 39, 7, 16,252, 60,236, 57, 49, + 0, 16,244,236, 23, 57, 48, 19, 53, 1, 21, 1, 53, 1, 88, 4, 33,251,223, 3, 82, 3,193,182,254, 94,166,254, 94,183, 1, 61, + 0, 2, 0,244, 0, 0, 4, 16, 5,240, 0, 30, 0, 34, 0,123, 64, 66, 11, 10, 9, 8, 7, 5, 12, 6, 37, 25, 26, 25, 3, 4, + 2, 2, 5, 37, 26, 26, 25, 66, 29, 26, 5, 2, 4, 6, 25, 15, 0, 31, 16,139, 15,141, 12,151, 19,150, 31,134, 33, 6, 32, 25, + 22, 9, 5, 1, 0, 26, 32, 9, 0, 3, 1, 9, 41, 22, 15, 1, 32, 3, 31, 35, 16,212,236,196,212,212,236, 16,238, 17, 18, 57, + 17, 18, 57, 17, 18, 57, 18, 57, 49, 0, 47,238,246,254,244,238, 16,205, 17, 57, 57, 23, 57, 48, 75, 83, 88, 7, 16, 4,237, 17, + 23, 57, 7, 16, 4,237, 17, 23, 57, 89, 34, 1, 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, 29, 1, 3, 51, 21, 35, 2,172,190, 61, 84, 90, 62, 47,131,109, 78,178, 98, 94,191,104,186,221, + 67, 94, 88, 69, 38,197,203,203, 1,145,154, 98,137, 82, 89, 59, 88, 49, 89,110, 69, 68,188, 57, 56,192,161, 76,131, 92, 86, 66, + 84, 61, 47,254,242,254, 0, 0, 0, 2, 0, 27,254,193, 4,154, 5,115, 0, 11, 0, 52, 0,112, 64, 49, 40, 43, 36, 26, 23, 3, + 14, 12, 9, 27, 52, 3,175, 23, 9,175, 12, 17, 39, 36,175, 43, 23, 30,175, 49, 43, 53, 39, 13, 6, 40, 12, 0, 6, 43, 20, 0, + 26, 13, 46, 12, 20, 33, 43, 12, 45, 46, 53, 16,220,236,252,196, 16,254, 60,196, 16,238, 17, 18, 57, 17, 18, 57, 49, 0, 16,196, +212,252,196, 16,254,196,213,196,238, 16,238, 57, 57, 17, 18, 57, 17, 18, 57, 17, 18, 57, 48, 64, 13,128, 5,128, 6,128, 7,128, + 19,128, 20,128, 21, 6, 1, 93, 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 19, 35, 53, 14, 1, 35, 34, 38, 53, 52, 54, 51, + 50, 22, 23, 53, 52, 38, 35, 34, 0, 17, 16, 0, 33, 50, 54, 55, 23, 14, 1, 35, 32, 0, 17, 16, 0, 33, 50, 18, 21, 4, 14,128, +107,107,129,129,107,107,128,140,144, 37,131, 82,161,211,211,161, 80,134, 36,176,145,246,254,221, 1, 74, 1, 18, 54,108, 57, 48, + 63,123, 58,254,155,254, 93, 1,120, 1, 60,209,250, 2, 33,129,155,155,129,130,155,155,254,232,111, 63, 68,242,188,188,242, 70, + 61, 63,156,190,254,129,254,185,254,183,254,122, 20, 21,135, 25, 24, 1,210, 1,140, 1,134, 1,206,254,246,224, 0, 2, 0, 37, + 0, 0, 4,172, 5,213, 0, 2, 0, 10, 0,152, 64, 65, 0, 37, 1, 0, 4, 5, 4, 2, 37, 5, 4, 7, 37, 5, 4, 6, 37, 5, + 5, 4, 9, 37, 3, 10, 8, 37, 3, 10, 1, 37, 10, 3, 10, 0, 37, 2, 0, 3, 3, 10, 66, 0, 3, 7,151, 1,176, 3,136, 9, + 5, 9, 8, 7, 6, 4, 3, 2, 1, 0, 9, 5, 47, 10, 11, 16,220,236, 23, 57, 49, 0, 47, 60,228,252,236, 18, 57, 48, 75, 83, + 88, 7, 16, 8,237, 7, 16, 5,237, 7, 5,237, 7, 5,237, 7, 16, 5,237, 7, 5,237, 7, 5,237, 7, 16, 8,237, 89, 34,178, + 7, 3, 1, 1, 93, 64, 26, 10, 0, 15, 0,143, 0,143, 0, 4, 3, 1, 11, 2, 4, 3, 12, 4, 9, 7, 6, 8,134, 1,137, 2, + 8, 93, 0, 93, 1, 3, 33, 1, 51, 1, 35, 3, 33, 3, 35, 2,104,213, 1,170,254,177,245, 1,201,209,110,253,245,108,209, 5, + 35,253, 4, 3,174,250, 43, 1,133,254,123, 0, 0, 3, 0,166, 0, 0, 4,113, 5,213, 0, 8, 0, 17, 0, 32, 0, 61, 64, 35, + 25, 0,151, 10, 9,151, 18,136, 1,151, 10,177, 31, 17, 11, 25, 31, 19, 8, 2, 5, 0, 14, 30, 22, 5, 50, 28, 49, 9, 0, 30, + 18, 48, 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, 1, 17, 51, 50, 54, + 53, 52, 38, 35, 3, 17, 51, 50, 54, 53, 52, 38, 35, 37, 33, 50, 22, 21, 20, 6, 7, 30, 1, 21, 20, 4, 41, 1, 1,113,239,176, +150,158,168,239,235,146,131,129,148,254, 74, 1,186,229,248,131,131,147,167,254,246,254,249,254, 70, 2,201,253,221,123,141,146, +137, 2,102,254, 62,112,125,113,100,166,198,181,137,158, 20, 22,207,160,203,207, 0, 1, 0,139,255,227, 4, 49, 5,240, 0, 25, + 0, 46, 64, 26, 25,179, 0,178, 22,151, 3, 13,179, 12,178, 16,151, 9,150, 3,153, 26, 19, 50, 12, 0, 49, 6, 48, 26, 16,252, +236, 50,236, 49, 0, 16,228,244,236,244,236, 16,238,246,238, 48, 37, 14, 1, 35, 32, 0, 17, 16, 0, 33, 50, 22, 23, 21, 46, 1, + 35, 34, 2, 17, 16, 18, 51, 50, 54, 55, 4, 49, 77,162, 91,254,225,254,195, 1, 63, 1, 29, 91,162, 77, 74,170, 86,197,196,196, +197, 88,169, 73, 53, 41, 41, 1,150, 1,112, 1,110, 1,153, 41, 41,207, 61, 64,254,208,254,205,254,206,254,208, 64, 61, 0, 0, + 0, 2, 0,137, 0, 0, 4, 82, 5,213, 0, 8, 0, 17, 0, 40, 64, 21, 6,151, 9,136, 0,151, 15, 6, 0, 15, 9, 7, 3, 50, + 12, 49, 7, 30, 16, 48, 18, 16,252,236,252,236, 17, 57, 57, 57, 57, 49, 0, 47,236,244,236, 48, 37, 32, 54, 17, 16, 38, 33, 35, + 17, 19, 32, 0, 17, 16, 0, 41, 1, 17, 1,180, 0,255,202,201,255, 0, 96,100, 1, 86, 1, 68,254,188,254,170,254,209,166,251, + 1, 72, 1, 75,251,251,119, 5, 47,254,148,254,128,254,130,254,149, 5,213, 0, 0, 1, 0,197, 0, 0, 4, 78, 5,213, 0, 11, + 0, 41, 64, 22, 6,151, 4, 2,151, 0,136, 8,151, 4,177, 10, 1, 5, 9, 49, 7, 3, 30, 0, 51, 12, 16,252,236, 50,252,196, +196, 49, 0, 47,236,236,244,236, 16,238, 48, 19, 33, 21, 33, 17, 33, 21, 33, 17, 33, 21, 33,197, 3,118,253, 84, 2,142,253,114, + 2,191,252,119, 5,213,170,254, 70,170,253,227,170, 0, 0, 0, 0, 1, 0,233, 0, 0, 4, 88, 5,213, 0, 9, 0, 36, 64, 19, + 6,151, 4, 2,151, 0,136, 4,177, 8, 5, 1, 49, 7, 3, 30, 0, 52, 10, 16,252,236, 50,252,196, 49, 0, 47,236,244,236, 16, +238, 48, 19, 33, 21, 33, 17, 33, 21, 33, 17, 35,233, 3,111,253, 92, 2,101,253,155,203, 5,213,170,254, 72,170,253, 55, 0, 0, + 0, 1, 0,102,255,227, 4, 80, 5,240, 0, 29, 0, 60, 64, 33, 25, 26, 0, 22, 3, 26,151, 28, 22,151, 3, 13,179, 12,178, 16, +151, 9,150, 3,153, 30, 27, 25, 30, 12, 0, 54, 19, 50, 6, 53, 30, 16,252,236,252,196,252,196, 49, 0, 16,228,244,236,244,236, + 16,254,212,238, 17, 18, 57, 17, 57, 48, 37, 14, 1, 35, 32, 0, 17, 16, 0, 33, 50, 22, 23, 21, 46, 1, 35, 34, 2, 17, 16, 18, + 51, 50, 54, 55, 17, 35, 53, 33, 4, 80, 81,203,118,254,228,254,196, 1, 64, 1, 29, 94,172, 80, 81,170, 95,197,197,191,198, 67, +101, 41,217, 1,154,123, 75, 77, 1,151, 1,111, 1,110, 1,153, 53, 54,207, 77, 73,254,207,254,206,254,201,254,213, 31, 33, 1, +145,166, 0, 0, 0, 1, 0,137, 0, 0, 4, 72, 5,213, 0, 11, 0, 38, 64, 20, 8,151, 2,177, 4, 0,136, 10, 6, 7, 3, 30, + 5, 49, 9, 1, 30, 0, 48, 12, 16,252,236, 50,252,236, 50, 49, 0, 47, 60,228, 50,252,236, 48, 19, 51, 17, 33, 17, 51, 17, 35, + 17, 33, 17, 35,137,203, 2, 41,203,203,253,215,203, 5,213,253,156, 2,100,250, 43, 2,199,253, 57, 0, 0, 0, 0, 1, 0,201, + 0, 0, 4, 6, 5,213, 0, 11, 0, 37, 64, 19, 10, 2,151, 0,136, 8, 4,151, 6, 5, 1, 55, 3, 30, 7, 0, 55, 9, 12, 16, +212,236, 50,252,236, 50, 49, 0, 47,236, 50,244,236, 50, 48, 19, 33, 21, 33, 17, 33, 21, 33, 53, 33, 17, 33,201, 3, 61,254,199, + 1, 57,252,195, 1, 57,254,199, 5,213,170,251,127,170,170, 4,129, 0, 0, 0, 0, 1, 0,109,255,227, 3,188, 5,213, 0, 17, + 0, 44, 64, 23, 12, 7, 8, 1, 0,178, 4,151, 15, 8,151, 10,136, 15,153, 18, 9, 7, 30, 11, 0, 53, 18, 16,252,212,252,196, + 49, 0, 16,228,244,236, 16,238,246,206, 17, 57, 57, 48, 55, 53, 30, 1, 51, 50, 54, 53, 17, 33, 53, 33, 17, 16, 6, 35, 34, 38, +109, 91,194,104,143,113,254,131, 2, 71,211,247, 96,190, 61,236, 81, 81,149,203, 3, 68,170,252, 18,254,230,234, 44, 0, 0, 0, + 0, 1, 0,137, 0, 0, 4,201, 5,213, 0, 11, 0,151, 64, 33, 8, 37, 9, 8, 5, 6, 5, 7, 37, 6, 5, 66, 8, 5, 2, 3, + 3, 0,180, 10, 6, 8, 5, 4, 3, 6, 1, 9, 1, 30, 0, 48, 12, 16,252,236, 50, 16,192, 23, 57, 49, 0, 47, 60,236, 50, 23, + 57, 48, 75, 83, 88, 7, 5,237, 7, 16, 8,237, 89, 34,178, 8, 4, 1, 1, 93, 64, 76, 7, 5, 22, 5, 23, 8, 38, 5, 38, 8, + 54, 2, 70, 2, 85, 2, 87, 8, 88, 9,100, 2,122, 5,121, 8,123, 9, 14, 2, 3, 1, 4, 7, 5, 0, 6, 2, 7, 22, 5, 23, + 8, 39, 5, 44, 6, 43, 7, 38, 8, 58, 3, 73, 3, 71, 6, 71, 7, 91, 3, 87, 5, 88, 6, 88, 7, 87, 8,107, 3,122, 3,120, + 7, 23, 93, 0, 93, 19, 51, 17, 1, 51, 9, 1, 35, 1, 7, 17, 35,137,203, 2,119,237,253,187, 2, 86,244,254, 25,154,203, 5, +213,253,104, 2,152,253,158,252,141, 2,236,164,253,184, 0, 0, 0, 1, 0,215, 0, 0, 4,115, 5,213, 0, 5, 0, 24, 64, 12, + 2,151, 0,136, 4, 1, 30, 3, 49, 0, 52, 6, 16,252,236,236, 49, 0, 47,228,236, 48, 19, 51, 17, 33, 21, 33,215,203, 2,209, +252,100, 5,213,250,213,170, 0, 0, 1, 0, 86, 0, 0, 4,121, 5,213, 0, 12, 0,133, 64, 44, 8, 2, 3, 2, 7, 3, 3, 2, + 10, 1, 2, 1, 9, 2, 2, 1, 66, 10, 7, 2, 3, 0, 8, 3, 0,180, 11, 5, 9, 8, 3, 2, 1, 5, 10, 6, 6, 4, 47, 10, + 6, 0, 48, 13, 16,252,236,252,236, 17, 23, 57, 49, 0, 47, 60,236, 50,196, 17, 23, 57, 48, 75, 83, 88, 7, 16, 5,201, 7, 16, + 4,201, 7, 16, 4,201, 7, 16, 5,201, 89, 34,178, 15, 10, 1, 0, 93, 64, 36, 5, 8, 10, 9, 23, 1, 24, 3, 23, 8, 24, 9, + 38, 1, 41, 3, 38, 8, 41, 9, 54, 1, 57, 3, 54, 8, 56, 9, 14, 15, 7, 15, 7, 15, 10, 3, 93, 1, 93, 19, 33, 9, 1, 33, + 17, 35, 17, 1, 35, 1, 17, 35, 86, 1, 14, 1, 2, 1, 4, 1, 15,187,254,246,153,254,245,186, 5,213,253, 8, 2,248,250, 43, + 5, 39,252,237, 3, 19,250,217, 0, 1, 0,139, 0, 0, 4, 70, 5,213, 0, 9, 0,109, 64, 28, 7, 1, 2, 1, 2, 6, 7, 6, + 66, 7, 2, 3, 0,180, 8, 5, 6, 1, 7, 2, 17, 4, 49, 7, 17, 0, 48, 10, 16,252,236,252,236, 17, 57, 57, 49, 0, 47, 60, +236, 50, 57, 57, 48, 75, 83, 88, 7, 16, 4,201, 7, 16, 4,201, 89, 34,178, 23, 1, 1, 1, 93, 64, 38, 23, 2, 24, 7, 41, 2, + 38, 7, 56, 7, 87, 2,100, 2,106, 7,117, 2,122, 7, 10, 24, 6, 38, 1, 41, 6, 70, 1, 73, 6, 87, 1,103, 1,104, 6, 8, + 93, 0, 93, 19, 33, 1, 17, 51, 17, 33, 1, 17, 35,139, 1, 0, 1,248,195,255, 0,254, 8,195, 5,213,251, 51, 4,205,250, 43, + 4,205,251, 51, 0, 2, 0,117,255,227, 4, 92, 5,240, 0, 11, 0, 23, 0, 35, 64, 19, 9,151, 15, 3,151, 21,150, 15,153, 24, + 0, 50, 12, 54, 6, 50, 18, 53, 24, 16,252,236,252,236, 49, 0, 16,228,244,236, 16,238, 48, 1, 16, 2, 35, 34, 2, 17, 16, 18, + 51, 50, 18, 19, 16, 2, 35, 34, 2, 17, 16, 18, 51, 50, 18, 3,137,135,154,153,135,135,153,154,135,211,247,253,253,246,247,252, +253,247, 2,233, 1, 73, 1, 26,254,230,254,183,254,184,254,230, 1, 25, 1, 73,254,122,254,128, 1,126, 1,136, 1,135, 1,128, +254,128, 0, 0, 0, 2, 0,197, 0, 0, 4,117, 5,213, 0, 8, 0, 19, 0, 43, 64, 24, 1,151, 16, 0,151, 9,136, 18, 16, 10, + 8, 2, 4, 0, 5, 50, 13, 56, 17, 0, 30, 9, 51, 20, 16,252,236, 50,252,236, 17, 23, 57, 49, 0, 47,244,236,212,236, 48, 1, + 17, 51, 50, 54, 53, 52, 38, 35, 37, 33, 50, 4, 21, 20, 4, 43, 1, 17, 35, 1,143,234,140,157,156,141,254, 76, 1,180,250, 1, + 2,254,255,251,234,202, 5, 47,253,207,148,133,133,147,166,227,219,221,226,253,168, 0, 0, 0, 0, 2, 0,117,254,242, 4, 92, + 5,240, 0, 17, 0, 29, 0, 61, 64, 32, 0, 30, 16, 17, 15, 27,151, 3, 21,151, 9,150, 3,153, 17, 30, 17, 24, 16, 12, 15, 0, + 24, 18, 50, 12, 54, 24, 50, 6, 53, 30, 16,252,236,252,236, 17, 57, 57, 17, 57, 17, 57, 49, 0, 16,196,228,244,236, 16,238, 57, + 18, 57, 18, 57, 48, 5, 34, 6, 35, 34, 2, 17, 16, 18, 51, 50, 18, 17, 16, 2, 7, 23, 7, 19, 16, 2, 35, 34, 2, 17, 16, 18, + 51, 50, 18, 2,143, 7, 26, 8,250,247,247,252,253,247,137,139,200,151, 16,135,154,153,135,135,153,154,135, 27, 2, 1,128, 1, +134, 1,135, 1,128,254,128,254,121,254,218,254,153, 72,190,100, 3,247, 1, 73, 1, 26,254,230,254,183,254,184,254,230, 1, 25, + 0, 2, 0,143, 0, 0, 4,209, 5,213, 0, 19, 0, 28, 0,106, 64, 56, 9, 8, 7, 3, 10, 6, 37, 3, 4, 3, 5, 37, 4, 4, + 3, 66, 6, 4, 0, 21, 3, 4, 21,151, 9, 20,151, 13,136, 11, 4, 5, 17, 22, 9, 6, 3, 10, 3, 17, 0, 28, 14, 3, 10, 25, + 50, 4, 17, 49, 20, 10, 30, 12, 48, 29, 16,252,236, 50,252,196,236, 17, 23, 57, 17, 57, 17, 23, 57, 17, 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, 14,237, 17, 23, 57, 89, 34, 1, 30, 1, 23, 19, 35, + 3, 46, 1, 43, 1, 17, 35, 17, 33, 50, 4, 21, 20, 6, 1, 17, 51, 50, 54, 53, 52, 38, 35, 2,248, 78,110, 82,203,217,178, 77, +123, 99,193,203, 1,160,246, 1, 6,161,253,208,221,145,142,151,144, 2,193, 20,111,166,254,104, 1,121,161, 93,253,137, 5,213, +222,210,148,187, 2, 89,253,238,130,134,129,137, 0, 1, 0,139,255,227, 4, 74, 5,240, 0, 39, 0,132, 64, 61, 13, 12, 2, 14, + 11, 37, 30, 31, 30, 8, 9, 2, 7, 10, 37, 31, 31, 30, 66, 10, 11, 30, 31, 4, 1, 21,179, 20,167, 24,151, 17, 1,179, 0,167, + 4,151, 37,150, 17,153, 40, 30, 10, 11, 31, 27, 7, 0, 38, 27, 57, 14, 49, 20, 7, 57, 34, 48, 40, 16,252,236,196,252,236,228, + 17, 18, 57, 57, 57, 57, 49, 0, 16,228,244,236,244,236, 16,238,246,238, 17, 23, 57, 48, 75, 83, 88, 7, 16, 14,237, 17, 23, 57, + 7, 16, 14,237, 17, 23, 57, 89, 34,178, 8, 2, 1, 1, 93, 64, 10, 7, 0, 7, 1, 7, 2, 3, 7, 2, 1, 93, 0, 93, 1, 21, + 46, 1, 35, 34, 6, 21, 20, 22, 31, 1, 30, 1, 21, 20, 4, 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 53, 52, 38, 47, 1, 46, 1, + 53, 52, 36, 51, 50, 22, 3,244, 92,185, 94,143,166,109,149,106,210,192,254,248,252,105,212,107,115,205,104,153,170,117,145,108, +208,188, 1, 13,223, 86,190, 5,162,205, 59, 60,133,113, 99,104, 35, 24, 49,210,181,213,224, 45, 45,215, 73, 68,137,123,112,118, + 32, 25, 47,190,160,200,241, 39, 0, 1, 0, 47, 0, 0, 4,162, 5,213, 0, 7, 0, 28, 64, 14, 6, 2,151, 0,136, 4, 1, 58, + 3, 30, 0, 58, 5, 8, 16,212,236,252,236, 49, 0, 47,244,236, 50, 48, 19, 33, 21, 33, 17, 35, 17, 33, 47, 4,115,254, 45,203, +254, 43, 5,213,170,250,213, 5, 43, 0, 0, 0, 0, 1, 0,147,255,227, 4, 61, 5,213, 0, 29, 0, 41, 64, 23, 15, 3, 18, 0, + 4, 1, 9,151, 24,153, 16, 1,136, 30, 15, 30, 17, 49, 2, 30, 0, 48, 30, 16,252,236,252,236, 49, 0, 16,228, 50,244,236, 17, + 23, 57, 48, 19, 17, 51, 17, 20, 22, 23, 30, 1, 51, 50, 54, 55, 62, 1, 53, 17, 51, 17, 20, 6, 7, 14, 1, 35, 34, 38, 39, 46, + 1,147,203, 12, 15, 32,121, 86, 87,120, 33, 15, 12,202, 57, 70, 66,170,106,105,170, 67, 69, 58, 2, 61, 3,152,252, 12,109, 93, + 25, 59, 60, 60, 59, 25, 92,108, 3,246,252,104,229,193, 63, 59, 58, 58, 59, 62,197, 0, 0, 0, 0, 1, 0, 57, 0, 0, 4,152, + 5,213, 0, 6, 0, 76, 64, 41, 1, 37, 2, 3, 2, 0, 37, 6, 0, 3, 3, 2, 0, 37, 1, 0, 4, 5, 4, 6, 37, 5, 5, 4, + 66, 0, 5, 1,180, 3, 6, 4, 3, 1, 0, 5, 2, 47, 5, 48, 7, 16,252,236, 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, 37, 1, 51, 1, 35, 1, 51, 2,104, 1, 95,209,254, 75, +245,254, 75,209,170, 5, 43,250, 43, 5,213, 0, 0, 1, 0, 0, 0, 0, 4,209, 5,213, 0, 12, 0,225, 64, 68, 5, 6, 5, 9, + 10, 9, 4, 10, 9, 3, 10, 11, 10, 2, 1, 2, 11, 11, 10, 6, 37, 7, 8, 7, 5, 37, 4, 5, 8, 8, 7, 2, 37, 3, 2, 12, + 0, 12, 1, 37, 0, 12, 66, 10, 5, 2, 3, 8, 3, 6, 0,180, 11, 8, 12, 11, 10, 9, 8, 6, 5, 4, 3, 2, 1, 11, 7, 0, + 47,204, 23, 57, 49, 0, 47, 60,252, 60,196, 17, 23, 57, 48, 75, 83, 88, 7, 5,237, 7, 16, 8,237, 7, 16, 8,237, 7, 16, 5, +237, 7, 16, 8,201, 7, 16, 5,201, 7, 5,201, 7, 16, 8,201, 89, 34,178, 24, 9, 1, 1, 93, 64, 94, 31, 3, 31, 4, 31, 10, + 47, 3, 47, 4, 43, 10, 63, 3, 63, 4, 56, 10, 90, 2, 90, 5, 11, 23, 11, 38, 2, 42, 3, 37, 4, 42, 5, 40, 8, 43, 9, 37, + 11, 38, 12, 53, 2, 58, 3, 53, 4, 58, 5, 59, 8, 58, 9, 52, 11, 54, 12, 84, 0, 84, 1, 90, 2, 88, 3, 87, 4, 86, 5, 91, + 6, 91, 7, 82, 8, 87, 9, 88, 11, 93, 12,103, 8,104, 12,121, 3,118, 4,121, 9,118, 11, 35, 93, 0, 93, 17, 51, 27, 1, 51, + 27, 1, 51, 3, 35, 11, 1, 35,197,143,170,211,172,143,197,223,191,203,202,191, 5,213,251, 68, 3, 34,252,220, 4,190,250, 43, + 3,119,252,137, 0, 1, 0, 18, 0, 0, 4,190, 5,213, 0, 11, 0,198, 64, 75, 9, 37, 10, 11, 10, 8, 37, 7, 8, 11, 11, 10, + 8, 37, 9, 8, 5, 6, 5, 7, 37, 6, 6, 5, 3, 37, 4, 5, 4, 2, 37, 1, 2, 5, 5, 4, 2, 37, 3, 2, 11, 0, 11, 1, + 37, 0, 0, 11, 66, 11, 8, 5, 2, 4, 3, 0,180, 9, 6, 11, 8, 7, 5, 2, 5, 0, 4, 59, 6, 47, 0, 59, 10, 48, 12, 16, +252,228,252,228, 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,178, 55, 2, 1, 0, 93, 64, 56, 13, 5, 4, + 11, 24, 5, 39, 1, 40, 3, 41, 5, 38, 11, 88, 11,120, 2,121, 5,119, 11, 11, 0, 2, 0, 2, 15, 8, 15, 8, 20, 2, 26, 8, + 33, 2, 37, 5, 43, 8, 37, 11, 53, 2, 85, 2, 89, 8, 88, 11,101, 2,115, 2, 16, 93, 1, 93, 19, 51, 9, 1, 51, 9, 1, 35, + 9, 1, 35, 1, 86,217, 1, 72, 1, 78,217,254, 65, 1,223,217,254,146,254,117,218, 1,244, 5,213,253,205, 2, 51,253, 66,252, +233, 2,131,253,125, 3, 23, 0, 0, 1, 0, 37, 0, 0, 4,172, 5,213, 0, 8, 0, 89, 64, 46, 3, 37, 4, 5, 4, 2, 37, 1, + 2, 5, 5, 4, 2, 37, 3, 2, 8, 0, 8, 1, 37, 0, 0, 8, 66, 2, 3, 0,180, 6, 2, 7, 3, 5, 4, 1, 7, 0, 4, 60, + 5, 30, 0, 60, 7, 9, 16,212,236,252,236, 17, 18, 57, 17, 18, 57, 17, 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, 19, 51, 9, 1, 51, 1, 17, 35, 17, 37,215, 1,108, 1,107,217,254, + 33,203, 5,213,253,109, 2,147,252,201,253, 98, 2,158, 0, 0, 0, 1, 0,156, 0, 0, 4,145, 5,213, 0, 9, 0, 69, 64, 28, + 8, 37, 2, 3, 2, 3, 37, 7, 8, 7, 66, 8,151, 0,136, 3,151, 5, 8, 3, 0, 1, 4, 47, 0, 6, 48, 10, 16,252,196,252, +196, 17, 57, 57, 49, 0, 47,236,244,236, 48, 75, 83, 88, 7, 16, 5,237, 7, 16, 5,237, 89, 34,178, 8, 8, 1, 1, 93,178, 7, + 3, 1, 93, 19, 33, 21, 1, 33, 21, 33, 53, 1, 33,178, 3,201,252,244, 3, 34,252, 11, 2,247,253, 31, 5,213,154,251,111,170, +154, 4,145, 0, 0, 1, 1,207,254,242, 3,119, 6, 20, 0, 7, 0, 30, 64, 15, 4,182, 6,183, 2,182, 0,181, 8, 5, 1, 3, + 61, 0, 8, 16,212,252,196, 50, 49, 0, 16,252,236,244,236, 48, 1, 33, 21, 35, 17, 51, 21, 33, 1,207, 1,168,240,240,254, 88, + 6, 20,143,249,252,143, 0, 0, 0, 1, 0,102,255, 66, 4, 55, 5,213, 0, 3, 0, 24, 64, 11, 1, 0,136, 4, 1, 30, 2, 0, + 30, 3, 4, 16,212,236,212,236, 49, 0, 16,244,196, 48, 9, 1, 35, 1, 1, 37, 3, 18,190,252,237, 5,213,249,109, 6,147, 0, + 0, 1, 1, 90,254,242, 3, 2, 6, 20, 0, 7, 0, 30, 64, 15, 3,182, 1,183, 5,182, 0,181, 8, 0, 61, 6, 2, 4, 8, 16, +212,196, 50,236, 49, 0, 16,252,236,244,236, 48, 1, 17, 33, 53, 51, 17, 35, 53, 3, 2,254, 88,240,240, 6, 20,248,222,143, 6, + 4,143, 0, 0, 0, 1, 0, 72, 3,168, 4,137, 5,213, 0, 6, 0, 24, 64, 10, 3, 4, 1, 0,136, 7, 3, 1, 5, 7, 16,212, +204, 57, 49, 0, 16,244,204, 50, 57, 48, 9, 1, 35, 9, 1, 35, 1, 2,193, 1,200,178,254,145,254,146,178, 1,200, 5,213,253, +211, 1,139,254,117, 2, 45, 0, 0, 1, 0, 0,254, 29, 4,209,254,109, 0, 3, 0, 15,181, 0,184, 1, 4, 0, 2, 47,204, 49, + 0, 16,212,236, 48, 1, 21, 33, 53, 4,209,251, 47,254,109, 80, 80, 0, 0, 0, 0, 1, 1, 23, 4,238, 2,246, 6,102, 0, 3, + 0, 37, 64, 9, 1,186, 0,185, 4, 1, 60, 3, 4, 16,212,236, 49, 0, 16,244, 75,176, 9, 84, 75,176, 14, 84, 91, 88,185, 0, + 0, 0, 64, 56, 89,236, 48, 9, 1, 35, 1, 1,221, 1, 25,154,254,187, 6,102,254,136, 1,120, 0, 2, 0,133,255,227, 4, 35, + 4,123, 0, 11, 0, 41, 0,110, 64, 42, 10, 7, 0, 26, 32, 12, 24, 15, 7, 0,182, 24, 7,140, 18, 33,139, 32,191, 29,140, 36, +190, 18,153, 24, 13, 1, 24, 4, 25, 14, 10, 6, 12, 68, 32, 4, 6, 21, 62, 42, 16,244,236,196,252,236, 50, 50, 17, 57, 57, 49, + 0, 47,196,228,244,252,244,236, 16,238, 16,238, 17, 57, 17, 57, 18, 57, 17, 18, 57, 48, 64, 29, 48, 31, 48, 32, 48, 33, 48, 34, +160, 0,160, 1,160, 2,160, 10,160, 11,162, 22,160, 23,160, 24,160, 25,160, 26, 14, 93, 1, 35, 34, 6, 21, 20, 22, 51, 50, 54, + 55, 53, 55, 17, 35, 53, 14, 1, 35, 34, 38, 53, 52, 54, 59, 1, 53, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 30, 1, + 2,190, 61,161,163,122,108,152,174, 1,185,185, 59,179,128,171,204,251,243,247, 1,134,147, 94,192, 91,102,187, 88,139,197, 61, + 38, 32, 2, 51,113,112,101,112,211,186, 41, 76,253,129,166,100, 95,193,162,187,194, 29,134,121, 54, 52,184, 39, 39, 82, 82, 50, +147, 0, 0, 0, 0, 2, 0,193,255,227, 4, 88, 6, 20, 0, 11, 0, 28, 0, 48, 64, 26, 24, 12, 9, 3,140, 15, 9,140, 21,153, + 15,190, 27,155, 25, 0, 18, 18, 71, 24, 12, 6, 6, 26, 70, 29, 16,244,236, 50, 50,252,236, 49, 0, 47,236,228,244,236, 16,238, + 17, 57, 57, 48, 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 1, 62, 1, 51, 50, 18, 17, 16, 2, 35, 34, 38, 39, 21, 35, 17, + 51, 3,150,136,133,134,138,138,134,133,136,253,227, 44,155,102,202,232,233,203,100,153, 46,184,184, 2, 47,214,218,219,213,212, +220,218, 2,120, 82, 88,254,201,254,239,254,235,254,197, 87, 83,141, 6, 20, 0, 0, 1, 0,195,255,227, 4, 37, 4,123, 0, 25, + 0, 47, 64, 26, 12,139, 13,192, 16, 0,139, 25,192, 22,140, 3, 16,140, 9,190, 3,153, 26, 19, 18, 12, 0, 6, 70, 26, 16,244, +196, 50,236, 49, 0, 16,228,244,236, 16,254,244,238, 16,245,238, 48, 37, 14, 1, 35, 32, 0, 17, 16, 0, 33, 50, 22, 23, 21, 46, + 1, 35, 34, 6, 21, 20, 22, 51, 50, 54, 55, 4, 37, 74,157, 82,254,252,254,219, 1, 37, 1, 4, 81,154, 78, 73,147, 93,173,186, +187,172, 96,152, 65, 57, 43, 43, 1, 56, 1, 20, 1, 20, 1, 56, 42, 44,193, 65, 58,224,208,207,225, 59, 62, 0, 0, 2, 0,123, +255,227, 4, 18, 6, 20, 0, 16, 0, 28, 0, 48, 64, 26, 5, 0, 20, 26,140, 14, 20,140, 8,153, 14,190, 1,155, 3, 23, 4, 0, + 6, 2, 71, 17, 18, 11, 72, 29, 16,244,236,252,236, 50, 50, 49, 0, 47,236,228,244,236, 16,238, 17, 57, 57, 48, 1, 17, 51, 17, + 35, 53, 14, 1, 35, 34, 2, 17, 16, 18, 51, 50, 22, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 3, 90,184,184, 46,153,100, +203,233,234,202,101,154,254, 15,136,133,133,139,139,133,133,136, 3,209, 2, 67,249,236,141, 83, 87, 1, 59, 1, 21, 1, 17, 1, + 55, 87,254, 11,214,218,220,212,213,219,218, 0, 0, 2, 0,123,255,227, 4, 88, 4,123, 0, 21, 0, 28, 0, 69, 64, 38, 0, 22, + 3, 1, 10,139, 9,141, 6, 22,182, 1, 6,140, 13, 1,193, 25,140, 19,190, 13,153, 29, 3, 2, 28, 16, 9, 22, 6, 0, 73, 28, + 18, 16, 72, 29, 16,244,236,252,236,196, 17, 18, 57, 57, 49, 0, 16,228,244,236,228, 16,238, 16,238, 16,244,238, 18, 57, 17, 57, + 48, 1, 21, 33, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 32, 0, 17, 16, 0, 51, 50, 18, 7, 46, 1, 35, 34, 6, 7, 4, 88, +252,227,191,174, 88,192,109,105,195, 91,254,251,254,218, 1, 32,240,214,247,184, 4,145,136,133,172, 16, 2, 94, 90, 6,183,200, + 56, 57,183, 43, 43, 1, 57, 1, 19, 1, 12, 1, 64,254,222,197,162,169,176,156, 0, 1, 0,195, 0, 0, 4, 39, 6, 20, 0, 19, + 0, 52, 64, 26, 5, 16, 1, 12, 8,182, 6, 1,140, 0,155, 14, 6,194, 10, 2, 19, 7, 0, 9, 5, 6, 13, 15, 11, 20, 16,212, + 60,196,252, 60,196, 50, 57, 57, 49, 0, 47,228, 50,252,236, 16,238, 50, 18, 57, 57, 48, 1, 21, 35, 34, 6, 29, 1, 33, 21, 33, + 17, 35, 17, 33, 53, 33, 53, 52, 54, 51, 4, 39,209, 99, 77, 1,129,254,127,184,254,213, 1, 43,169,179, 6, 20,153, 81,103, 99, +143,252, 47, 3,209,143, 78,184,174, 0, 0, 0, 0, 2, 0,123,254, 72, 4, 18, 4,123, 0, 11, 0, 41, 0, 72, 64, 39, 25, 12, + 30, 27, 39, 9, 3, 18,139, 19, 22, 9,140, 30, 22,140, 15, 3,140, 36,190, 30, 15,195, 40,194, 42, 39, 25, 0, 6, 12, 71, 6, + 18, 18, 33, 72, 42, 16,244,196,236,252,236, 50, 50, 49, 0, 16,228,228,196,244,236, 16,238, 16,238, 16,213,238, 17, 18, 57, 57, + 17, 57, 57, 48, 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 19, 20, 2, 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 61, 2, 14, + 1, 35, 34, 2, 17, 16, 18, 51, 50, 22, 23, 53, 51, 3, 90,135,129,135,142,143,136,127,135,184,238,231, 76,166, 83, 98,160, 67, +149,136, 44,152,109,196,234,234,196,108,150, 47,184, 2, 57,207,215,215,207,207,217,218,254,221,252,254,252, 28, 27,182, 46, 44, +162,176, 8,125, 94, 92, 1, 58, 1, 7, 1, 8, 1, 58, 86, 90,145, 0, 0, 0, 0, 1, 0,195, 0, 0, 4, 27, 6, 20, 0, 19, + 0, 44, 64, 24, 9, 14, 3, 0, 3, 1, 6,140, 17,190, 12,155, 10, 1, 2, 6, 0, 74, 13, 9, 6, 11, 70, 20, 16,244,236, 50, +252,236, 49, 0, 47, 60,236,244,236, 17, 23, 57, 57, 48, 1, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 17, 62, 1, 51, + 50, 22, 4, 27,185,106,113,129,139,184,184, 49,168,115,171,169, 2,182,253, 74, 2,182,151,142,183,171,253,135, 6, 20,253,164, + 96, 99,225, 0, 0, 2, 0,178, 0, 0, 4, 68, 6, 20, 0, 9, 0, 13, 0, 46, 64, 25, 8,182, 0, 12,196, 10,155, 0,194, 6, + 2,182, 4, 3, 76, 11, 1, 6, 5, 76, 0, 75, 10, 7, 14, 16,212, 60,228,236,252, 60,236, 49, 0, 47,236, 50,228,252,236, 16, +238, 48, 1, 33, 17, 33, 21, 33, 53, 33, 17, 33, 1, 51, 21, 35, 1, 0, 1,215, 1,109,252,110, 1,109,254,225, 1, 31,184,184, + 4, 96,252, 47,143,143, 3, 66, 2, 67,233, 0, 0, 2, 0,186,254, 86, 3, 16, 6, 20, 0, 13, 0, 17, 0, 56, 64, 29, 5, 0, + 1, 10,140, 8, 1,182, 3, 16,196, 14,155, 3,194, 8,195, 18, 11, 8, 2, 9, 2, 15, 4, 6, 14, 0, 18, 16,212, 60,236, 50, +196,196, 18, 57, 57, 49, 0, 16,228,228,252,236, 16,238, 16,238, 17, 57, 57, 48, 5, 17, 33, 53, 33, 17, 20, 6, 43, 1, 53, 51, + 50, 54, 17, 51, 21, 35, 2, 88,254,195, 1,245,179,165,254,234, 90, 90,184,184, 20, 3,229,143,251,140,195,211,156,125, 6,165, +233, 0, 0, 0, 0, 1, 0,236, 0, 0, 4,178, 6, 20, 0, 11, 0,197, 64, 58, 8, 23, 9, 8, 5, 6, 5, 7, 23, 6, 6, 5, + 9, 23, 3, 2, 8, 23, 7, 8, 3, 2, 5, 23, 6, 5, 2, 3, 2, 4, 23, 3, 3, 2, 66, 8, 5, 2, 3, 3,194, 0,155, 10, + 6, 8, 5, 4, 3, 6, 9, 1, 6, 6, 68, 0, 69, 12, 16,244,236,236, 50, 17, 23, 57, 49, 0, 47, 60,236,228, 23, 57, 48, 75, + 83, 88, 7, 16, 5,237, 7, 16, 8,237, 7, 8,237, 7, 4,237, 7, 16, 5,237, 7, 16, 8,237, 89, 34,178, 8, 7, 1, 1, 93, + 64, 82, 6, 2, 8, 8, 22, 2, 24, 5, 24, 8, 53, 2, 52, 5, 54, 8, 70, 2,102, 2,117, 2,118, 5, 12, 9, 3, 8, 8, 25, + 3, 23, 4, 24, 5, 25, 6, 26, 7, 24, 8, 40, 3, 39, 5, 40, 7, 59, 3, 59, 4, 55, 5, 57, 7, 55, 8, 74, 3, 73, 7, 89, + 6, 89, 7,107, 3,105, 4,105, 6,105, 7,121, 3,120, 5,121, 6,121, 7, 28, 93, 0, 93, 19, 51, 17, 1, 51, 9, 1, 35, 1, + 7, 17, 35,236,190, 1,227,224,254, 71, 1,254,225,254, 98,137,190, 6, 20,252,123, 1,209,254, 90,253, 70, 2, 66,129,254, 63, + 0, 1, 0,160, 0, 0, 4, 10, 6, 31, 0, 13, 0, 38, 64, 19, 9, 0, 3, 10,182, 12,197, 3,182, 5, 3, 6, 4, 0, 6, 11, + 76, 9, 14, 16,212,236,252,204, 57, 57, 49, 0, 47,236,252,236, 17, 57, 57, 48, 1, 20, 22, 59, 1, 21, 35, 34, 38, 53, 17, 33, + 53, 33, 2,127, 91, 89,215,233,165,181,254,217, 1,223, 1,150,124,126,156,212,194, 3,249,144, 0, 1, 0,109, 0, 0, 4,111, + 4,123, 0, 34, 0,163, 64, 39, 24, 18, 15, 9, 4, 7, 0, 29, 27, 6, 7, 21, 12,140, 32, 3,190, 27,194, 25, 16, 7, 0, 17, + 15, 8, 77, 6, 78, 17, 77, 15, 78, 28, 24, 77, 26, 69, 35, 16,244, 75,176, 12, 84, 75,176, 17, 84, 91, 88,185, 0, 26,255,192, + 56, 89,252, 60,252,236,252,236, 17, 18, 57, 49, 0, 47, 60, 60,228,244, 60,236, 50, 17, 57, 17, 57, 57, 17, 23, 57, 48, 64, 71, + 48, 4, 48, 5, 48, 6, 48, 7, 48, 8, 48, 9, 48, 10, 48, 11, 63, 22, 63, 23, 63, 24, 63, 25, 63, 26, 63, 27, 63, 28, 63, 29, + 63, 30,128, 3,128, 4,128, 5,128, 6,128, 7,128, 8,128, 9,128, 10,128, 11,143, 22,143, 23,143, 24,143, 25,143, 26,143, 27, +143, 28,143, 29,143, 30, 35, 1, 93, 1, 62, 1, 51, 50, 22, 25, 1, 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, 2,164, 34,105, 74,135,111,168, 53, 70, 80, 59,168, 57, 74, 73, 57,167,167, 33, + 99, 63, 76,101, 3,238, 72, 69,209,254,223,253,119, 2,129,237,115,123,229,253,127, 2,129,240,112,123,229,253,127, 4, 96, 96, + 60, 63, 70, 0, 0, 1, 0,195, 0, 0, 4, 27, 4,123, 0, 19, 0, 44, 64, 24, 9, 14, 3, 0, 3, 1, 6,140, 17,190, 12,194, + 10, 1, 2, 6, 0, 74, 13, 9, 6, 11, 70, 20, 16,244,236, 50,252,236, 49, 0, 47, 60,228,244,236, 17, 23, 57, 57, 48, 1, 17, + 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 22, 4, 27,185,106,113,129,139,184,184, 49,168,115,171,169, + 2,182,253, 74, 2,182,151,142,183,171,253,135, 4, 96,168, 96, 99,225, 0, 0, 0, 2, 0,137,255,227, 4, 72, 4,123, 0, 11, + 0, 23, 0, 35, 64, 19, 6,140, 18, 0,140, 12,190, 18,153, 24, 9, 18, 15, 68, 3, 18, 21, 62, 24, 16,244,236,252,236, 49, 0, + 16,228,244,236, 16,238, 48, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 39, 50, 18, 17, 16, 2, 35, 34, 2, 17, 16, 18, 2, +104,140,144,144,140,141,144,144,141,233,247,246,234,233,246,246, 3,223,218,214,213,219,219,213,214,218,156,254,210,254,226,254, +225,254,211, 1, 45, 1, 31, 1, 30, 1, 46, 0, 0, 2, 0,190,254, 86, 4, 84, 4,123, 0, 16, 0, 28, 0, 51, 64, 28, 5, 0, + 20, 26,140, 14, 20,140, 8,190, 14,153, 1,195, 3,194, 29, 17, 18, 11, 71, 23, 4, 0, 6, 2, 70, 29, 16,244,236, 50, 50,252, +236, 49, 0, 16,228,228,228,244,236, 16,238, 17, 57, 57, 48, 37, 17, 35, 17, 51, 21, 62, 1, 51, 50, 18, 17, 16, 2, 35, 34, 38, + 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 1,119,185,185, 46,153,100,203,231,232,202,102,153, 1,240,135,133,134,138,138, +134,133,135,141,253,201, 6, 10,143, 83, 87,254,198,254,234,254,239,254,201, 87, 1,245,214,218,219,213,212,220,218, 0, 0, 0, + 0, 2, 0,137,254, 82, 4, 31, 4,119, 0, 11, 0, 28, 0, 51, 64, 28, 24, 12, 9, 3,140, 15, 9,140, 21,190, 15,153, 27,195, + 25,194, 29, 24, 12, 6, 6, 26, 71, 0, 18, 18, 62, 29, 16,244,236,252,236, 50, 50, 49, 0, 16,228,228,228,244,236, 16,238, 17, + 57, 57, 48, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 1, 14, 1, 35, 34, 2, 17, 16, 18, 51, 50, 22, 23, 53, 51, 17, 35, + 1, 76,135,133,133,137,137,133,133,135, 2, 26, 45,153,101,201,233,232,202,100,153, 46,185,185, 2, 43,214,218,219,213,213,219, +218,253,138, 83, 89, 1, 55, 1, 17, 1, 22, 1, 58, 87, 83,143,249,246, 0, 0, 0, 1, 1,106, 0, 0, 4,131, 4,123, 0, 17, + 0, 79, 64, 19, 6, 7, 11, 3, 0, 17, 3,151, 14,190, 9,194, 7, 10, 6, 6, 0, 8, 18, 16,212,196,236, 50, 49, 0, 47,228, +244,236,212,204, 17, 57, 17, 57, 48, 64, 37, 16, 0, 16, 1, 16, 17, 32, 0, 32, 1, 32, 17, 48, 0, 48, 1, 51, 16, 48, 17, 64, + 0, 64, 1, 67, 16, 64, 17, 80, 0, 80, 1, 80, 16, 80, 17, 18, 93, 1, 46, 1, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, + 50, 22, 23, 4,131, 59,122, 73,172,182,185,185, 46,191,131, 68,118, 54, 3,121, 46, 42,216,204,253,211, 4, 96,219,119,127, 34, + 36, 0, 0, 0, 0, 1, 0,213,255,227, 4, 6, 4,123, 0, 39, 0,117, 64, 64, 13, 12, 2, 14, 11, 23, 31, 30, 8, 9, 2, 7, + 10, 23, 30, 31, 30, 66, 29, 30, 24, 10, 11, 30, 31, 4, 21, 0,139, 1,192, 4, 20,139, 21,192, 24,140, 17, 4,140, 37,190, 17, +153, 40, 29, 10, 11, 31, 27, 7, 0, 79, 27, 6, 14, 73, 7, 6, 20, 34, 69, 40, 16,244,196,236,252,236,228, 17, 18, 57, 57, 57, + 57, 49, 0, 16,228,244,236, 16,254,245,238, 16,245,238, 18, 23, 57, 17, 18, 57, 48, 75, 83, 88, 7, 16, 14,237, 17, 23, 57, 7, + 14,237, 17, 23, 57, 89, 34, 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, 47, 2, 46, 1, 53, 52, 54, 51, 50, 22, 3,205, 79,160, 83,125,123, 92,183, 74,137,141,236,210, 83,182,106,103, +188, 84,122,134,245, 8, 69,159,146,218,202, 90,166, 4, 57,180, 46, 46, 81, 83, 75, 74, 35, 14, 26,156,125,166,187, 35, 35,190, + 53, 53, 99, 89,128, 49, 2, 14, 31,147,127,161,175, 33, 0, 0, 0, 1, 0,131, 0, 0, 4, 8, 5,158, 0, 19, 0, 49, 64, 24, + 14, 5, 8, 15, 3,182, 0, 17, 1,194, 8,182, 10, 8, 11, 9, 2, 4, 0, 6, 16, 18, 14, 20, 16,212, 60,196,252, 60,196, 50, + 57, 57, 49, 0, 47,236,244, 60,196,236, 50, 17, 57, 57, 48, 1, 17, 33, 21, 33, 17, 20, 22, 59, 1, 21, 35, 34, 38, 53, 17, 33, + 53, 33, 17, 2,102, 1,162,254, 94, 94,117,207,225,207,170,254,213, 1, 43, 5,158,254,194,143,253,160,124, 98,147,166,203, 2, + 96,143, 1, 62, 0, 1, 0,195,255,227, 4, 27, 4, 94, 0, 19, 0, 44, 64, 24, 9, 14, 3, 0, 3, 1, 6,140, 17,153, 10, 1, +194, 12, 13, 9, 6, 11, 74, 2, 6, 0, 70, 20, 16,244,236,252,236, 50, 49, 0, 47,228, 50,244,236, 17, 23, 57, 57, 48, 19, 17, + 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 38,195,184,107,112,130,138,185,185, 49,169,113,172,168, 1, +168, 2,182,253, 74,151,142,183,171, 2,121,251,162,168, 97,100,225, 0, 0, 0, 0, 1, 0,100, 0, 0, 4,109, 4, 96, 0, 6, + 0,101, 64, 41, 3, 23, 4, 5, 4, 2, 23, 1, 2, 5, 5, 4, 2, 23, 3, 2, 6, 0, 6, 1, 23, 0, 0, 6, 66, 2, 3, 0, +194, 5, 6, 5, 3, 2, 1, 5, 4, 73, 0, 69, 7, 16,244,236, 23, 57, 49, 0, 47,228, 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, 39, 2, 1, 0, 93, 64, 14, 7, 0, 7, 1, 8, 3, 8, 4, 4, 5, + 2, 37, 2, 2, 93, 1, 93, 19, 51, 9, 1, 51, 1, 35,100,191, 1, 69, 1, 70,191,254,114,237, 4, 96,252, 84, 3,172,251,160, + 0, 1, 0, 0, 0, 0, 4,209, 4, 96, 0, 12, 1, 17, 64, 69, 11, 2, 3, 2, 10, 9, 10, 3, 3, 2, 10, 11, 10, 4, 5, 4, + 9, 5, 5, 4, 6, 23, 7, 8, 7, 5, 23, 4, 5, 8, 8, 7, 2, 23, 3, 2, 12, 0, 12, 1, 23, 0, 12, 66, 10, 5, 2, 3, + 8, 3, 6, 0,194, 11, 8, 12, 11, 10, 9, 8, 6, 5, 4, 3, 2, 1, 11, 7, 0, 47,204, 23, 57, 49, 0, 47, 60,244, 60,196, + 17, 23, 57, 48, 75, 83, 88, 7, 5,237, 7, 16, 8,237, 7, 16, 8,237, 7, 16, 5,237, 7, 16, 5,201, 7, 16, 8,201, 7, 16, + 8,201, 7, 16, 5,201, 89, 34,178, 15, 10, 1, 0, 93, 64,140, 11, 9, 4, 11, 31, 0, 31, 1, 29, 2, 26, 3, 28, 4, 25, 5, + 28, 9, 27, 10, 26, 11, 31, 12, 38, 0, 38, 1, 41, 2, 38, 5, 41, 6, 41, 7, 35, 8, 44, 12, 57, 2, 54, 5, 57, 6, 57, 7, + 51, 8, 60, 12, 69, 8, 73, 9, 70, 11, 74, 12, 86, 8, 88, 9, 87, 11, 89, 12,102, 2,105, 3,102, 4,105, 5,106, 9,101, 11, +118, 2,122, 5,120, 8,124, 9,114, 11, 45, 15, 10, 25, 2, 31, 3, 31, 4, 25, 5, 31, 10, 31, 10, 43, 2, 43, 5, 62, 2, 62, + 5, 60, 10, 72, 10, 89, 10,106, 2,105, 5,104, 10,123, 2,127, 3,121, 4,127, 4,122, 5,124, 10,127, 10, 24, 93, 1, 93, 17, + 51, 27, 1, 51, 27, 1, 51, 1, 35, 11, 1, 35,182,195,160,157,162,195,182,254,250,176,179,178,176, 4, 96,252,119, 2, 66,253, +190, 3,137,251,160, 2,102,253,154, 0, 0, 0, 0, 1, 0, 76, 0, 0, 4,133, 4, 96, 0, 11, 0,169, 64, 72, 5, 23, 6, 7, + 6, 4, 23, 3, 4, 7, 7, 6, 4, 23, 5, 4, 1, 2, 1, 3, 23, 2, 2, 1, 11, 23, 0, 1, 0, 10, 23, 9, 10, 1, 1, 0, + 10, 23, 11, 10, 7, 8, 7, 9, 23, 8, 8, 7, 66, 10, 7, 4, 1, 4, 8, 0,194, 5, 2, 10, 7, 4, 1, 4, 8, 0, 2, 73, + 8, 6, 69, 12, 16,244,196,252,196, 17, 23, 57, 49, 0, 47, 60,228, 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,178, 7, 10, 1, 0, 93, + 64, 30, 9, 1, 6, 7,102, 1,105, 7,118, 1,121, 7, 6, 7, 1, 7, 7, 6, 10, 21, 10, 58, 4, 52, 10, 90, 4, 86, 10, 8, + 93, 1, 93, 9, 2, 35, 9, 1, 35, 9, 1, 51, 9, 1, 4, 94,254,111, 1,184,213,254,184,254,185,213, 1,184,254,111,204, 1, + 41, 1, 39, 4, 96,253,232,253,184, 1,193,254, 63, 2, 72, 2, 24,254,107, 1,149, 0, 0, 0, 0, 1, 0,104,254, 86, 4,129, + 4, 96, 0, 18, 0,160, 64, 69, 13, 23, 14, 13, 2, 3, 2, 10, 11, 2, 9, 12, 23, 3, 3, 2, 17, 23, 18, 0, 18, 16, 23, 15, + 16, 0, 0, 18, 16, 23, 17, 16, 13, 14, 13, 15, 23, 14, 14, 13, 66, 16, 19, 13, 0, 14, 9,140, 7,195, 17, 14,194, 19, 17, 16, + 15, 13, 10, 7, 0, 7, 18, 8, 18, 73, 14, 69, 19, 16,244,236,196, 17, 23, 57, 49, 0, 16,228, 50,244,236, 17, 57, 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, 5,237, 17, 23, 57, 7, 16, 8,237, 89, + 34,178, 56, 18, 1, 1, 93, 64, 26, 4, 16,118, 16, 2, 8, 17, 8, 18, 25, 12, 25, 13, 38, 14, 38, 15, 56, 17, 73, 17, 73, 18, + 89, 13, 10, 93, 0, 93, 1, 6, 7, 2, 7, 14, 1, 43, 1, 53, 51, 50, 54, 55, 1, 51, 9, 1, 51, 3, 90, 46, 71, 99, 34, 46, +138, 92,148,109, 81, 92, 71,254, 79,195, 1, 76, 1, 71,195, 1,104,117,191,254,248, 58, 78, 78,154, 94,196, 4, 78,252,148, 3, +108, 0, 0, 0, 0, 1, 0,203, 0, 0, 4, 16, 4, 98, 0, 9, 0, 88, 64, 28, 3, 23, 7, 8, 7, 8, 23, 2, 3, 2, 66, 8, +182, 0,194, 3,182, 5, 8, 3, 0, 4, 1, 73, 0, 6, 69, 10, 16,244,196,236, 50, 17, 57, 57, 49, 0, 47,236,244,236, 48, 75, + 83, 88, 7, 16, 5,237, 7, 16, 5,237, 89, 34,178, 56, 8, 1, 1, 93, 64, 21, 54, 3, 56, 8, 69, 3, 74, 8, 87, 3, 88, 8, +101, 3,106, 8,117, 3,122, 8, 10, 93, 19, 33, 21, 1, 33, 21, 33, 53, 1, 33,227, 3, 45,253,125, 2,131,252,187, 2,131,253, +149, 4, 98,168,252,220,150,170, 3, 37, 0, 0, 0, 1, 0,221,254,178, 3,244, 6, 20, 0, 36, 0,102, 64, 53, 25, 15, 21, 11, + 6, 37, 9, 26, 16, 21, 29, 11, 5, 32, 33, 3, 0, 11,182, 9, 0,182, 1,198, 9,199, 21,182, 19,181, 37, 12, 9, 10, 5, 36, + 22, 25, 0, 29, 10, 5, 19, 2, 20, 0, 32, 25, 61, 10, 15, 5, 37, 16,212, 60,196,252, 60,196, 50, 57, 57, 17, 18, 57, 17, 18, + 57, 57, 17, 18, 57, 57, 49, 0, 16,252,236,228,244,236, 16,238, 18, 23, 57, 18, 57, 17, 57, 57, 17, 18, 57, 17, 18, 57, 57, 48, + 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, 3,244, 64,249,169,107,140, 62, 62,141,106,169,249, 64, 70,140, 85, 91,110,111, 90, 85,140,190,144,148,221, +239,151,116,143,114,150,240,221,147,143, 87,142,248,157,142, 25, 27,142,156,248,143, 86, 0, 0, 0, 1, 2, 18,254, 29, 2,190, + 6, 29, 0, 3, 0, 18,183, 1, 0,181, 4, 0, 4, 2, 4, 16,212,236, 49, 0, 16,252,204, 48, 1, 17, 35, 17, 2,190,172, 6, + 29,248, 0, 8, 0, 0, 0, 0, 0, 1, 0,221,254,178, 3,244, 6, 20, 0, 36, 0,106, 64, 55, 31, 37, 27, 22, 12, 15, 8, 27, + 11, 21, 25, 15, 4, 5, 32, 3, 0, 25,182, 27, 0,182, 35,198, 27,199, 15,182, 17,181, 37, 28, 25, 26, 21, 15, 1, 4, 0, 8, + 26, 21, 35, 18, 4, 0, 26, 31, 21, 61, 16, 0, 11, 4, 37, 16,212, 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,228,244,236, 16,238, 18, 23, 57, 17, 18, 57, 57, 17, 57, 17, 57, 57, 17, 18, 57, 48, + 23, 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,221, 68,141, 86, 90,111,110, 91, 86,141, 68, 62,249,168,107,141, 64, 64,141,107,168,249, 62,190, 88,141,248, +156,142, 27, 25,142,157,248,141, 88,143,147,221,240,150,114,143,116,151,239,221,148, 0, 0, 0, 0, 1, 0, 88, 1,236, 4,121, + 3, 12, 0, 27, 0, 38, 64, 18, 1, 11, 4, 15, 0, 14, 4,160, 25, 18, 0,160, 11, 28, 0, 14, 39, 28, 16,252,196, 49, 0, 16, +212,252, 60,212,236, 50, 18, 57, 17, 18, 57, 48, 1, 21, 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, + 22, 23, 22, 23, 22, 51, 50, 54, 4,121, 75,143, 79, 90,113, 22, 11, 77,103, 51, 79,141, 73, 78,146, 83, 53,100, 74, 12, 21,116, + 93, 70,137, 3, 12,174, 59, 55, 51, 10, 4, 33, 24, 59, 63,174, 60, 54, 22, 31, 5, 10, 55, 61, 0, 2, 2, 4, 0, 0, 2,207, + 5,213, 0, 3, 0, 9, 0, 30, 64, 14, 6, 0,134, 1,136, 4, 7, 6, 8, 2, 3, 4, 0, 10, 16,212, 60,236, 50, 57, 57, 49, + 0, 47,244,252,204, 48, 1, 53, 51, 21, 3, 17, 19, 51, 19, 17, 2, 4,203,203, 21,161, 21, 4,215,254,254,251, 41, 2,143, 1, +101,254,155,253,113, 0, 0, 0, 0, 2, 0,213,254,199, 4, 37, 5,152, 0, 26, 0, 33, 0, 78, 64, 42, 27, 8, 5, 4, 28, 0, +139, 1,141, 28, 9,139, 8,141, 5,203, 12, 28,203, 22, 24, 21,190, 15, 12,153, 13, 34, 27, 21, 14, 7, 23, 12, 4, 8, 0, 31, + 30, 18, 69, 34, 16,244,236,212, 60,212, 60, 60,236, 50, 50, 49, 0, 16,196,228, 50,244, 60,196,236, 16,254,244,238, 16,245,238, + 17, 57, 17, 18, 57, 48, 1, 21, 46, 1, 39, 17, 62, 1, 55, 21, 14, 1, 7, 17, 35, 17, 38, 0, 53, 52, 0, 55, 17, 51, 17, 30, + 1, 1, 17, 14, 1, 21, 20, 22, 4, 37, 67,130, 63, 63,131, 66, 73,130, 57,103,225,254,252, 1, 7,222,103, 57,130,254,222,132, +160,160, 4, 53,172, 40, 44, 4,252,154, 5, 45, 40,172, 31, 34, 3,254,226, 1, 30, 22, 1, 57,251,250, 1, 61, 19, 1, 31,254, +225, 3, 34,252, 43, 3, 96, 12,236,184,184,235, 0, 1, 0,139, 0, 0, 4, 88, 5,240, 0, 27, 0, 62, 64, 32, 7, 22, 1, 18, + 10,182, 20, 8, 12, 1,139, 0,167, 4,151, 25,150, 16, 12,151, 14, 0, 13, 9, 11, 7, 30, 15, 19, 21, 17, 28, 16,212, 60,196, +196,252, 60,196,212,196, 49, 0, 47,236, 50,244,236,244,236, 16,212, 60,238, 50, 18, 57, 57, 48, 1, 21, 46, 1, 35, 34, 6, 29, + 1, 33, 21, 33, 17, 33, 21, 33, 53, 51, 17, 35, 53, 51, 53, 52, 54, 51, 50, 22, 4, 68, 62,127, 67,134,127, 1,115,254,141, 2, + 25,252, 51,236,199,199,219,223, 65,137, 5,182,184, 44, 44,179,192,217,143,254, 47,170,170, 1,209,143,238,254,250, 29, 0, 0, + 0, 2, 0,205, 0,195, 4, 76, 4, 66, 0, 11, 0, 47, 0,129, 64, 26, 32, 22, 27, 23, 14, 40, 45, 13, 24, 30, 27, 9, 42, 12, + 45, 39, 33, 21, 15, 4, 3, 9,255, 31, 23, 27,184, 1, 0, 64, 39, 3,255, 41, 13, 45, 48, 31, 41, 36, 32, 13, 23, 18, 14, 33, + 39, 36, 6, 15, 21, 18, 42, 30, 24, 12, 4, 6, 0,120, 22, 14, 18,121, 6,120, 40, 32, 36, 48, 16,212,196, 50,236,252,196, 50, +236, 17, 23, 57, 17, 57, 57, 17, 18, 57, 57, 17, 18, 57, 57, 17, 18, 57, 57, 49, 0, 16,212,196, 50,236,252,196, 50,236, 17, 23, + 57, 18, 57, 57, 17, 18, 57, 57, 17, 18, 57, 57, 17, 18, 57, 57, 48, 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 3, 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, 3,100,124, 91, 90,125,125, 90, 91,124, 24,166, 90,166, 30, 29, 30, 31,168, 94,166, 46, 91, 50, 48, 96, 48,164, 92,166, 31, + 29, 31, 31,168, 94,166, 46, 91, 51, 46, 94, 2,131, 90,123,123, 90, 92,125,126, 1,116,166, 93,166, 49, 93, 48, 50, 91, 45,166, + 94,167, 31, 30, 29, 28,163, 90,166, 51, 93, 46, 50, 93, 45,166, 95,168, 31, 30, 29, 0, 0, 0, 0, 1, 0, 37, 0, 0, 4,172, + 5,213, 0, 24, 0,127, 64, 68, 3, 37, 4, 9, 4, 2, 37, 1, 2, 9, 9, 4, 2, 37, 3, 2, 20, 0, 20, 1, 37, 0, 0, 20, + 66, 2, 7, 5, 16, 12,231, 18, 10, 23, 5,231, 21, 7, 3, 0,136, 14, 24, 1, 17, 2, 15, 8, 5, 3, 3, 6, 4, 60, 11, 6, +101, 13, 9, 30, 22, 17,101, 0, 60, 19, 15, 25, 16,212, 60,236,236, 50,252, 60,236, 50,236, 18, 23, 57, 18, 57, 17, 57, 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, 19, 51, 9, 1, 51, 1, 51, 21, 33, 7, 21, 33, 21, 33, 17, 35, 17, 33, 53, 33, 53, 39, 33, 53, 51, 37,215, + 1,108, 1,107,217,254,182,252,254,197, 86, 1,145,254,111,203,254,113, 1,143, 90,254,203,243, 5,213,253,109, 2,147,253,207, +111,151, 35,111,253,244, 2, 12,111, 35,151,111, 0, 2, 2, 18,254,162, 2,190, 5,152, 0, 3, 0, 7, 0, 33,188, 0, 5, 1, + 7, 0, 4, 0, 0, 1, 7,183, 1, 8, 4, 0, 4, 6, 2, 8, 16,212, 60,236, 50, 49, 0, 16,212,236,212,236, 48, 1, 17, 35, + 17, 19, 17, 35, 17, 2,190,172,172,172, 5,152,253, 10, 2,246,252, 0,253, 10, 2,246, 0, 0, 0, 2, 0,199,255, 61, 4, 12, + 5,240, 0, 50, 0, 62, 0,106, 64, 60, 35, 36, 30, 57, 51, 11, 17, 36, 42, 4, 1, 27,143, 26,206, 30,207, 23, 1,143, 0,206, + 4,207, 48,150, 23, 63, 35, 7, 17, 60, 33, 42, 54, 11, 36, 57, 51, 4, 7, 33, 85, 20, 7, 85, 45, 20, 60, 85, 0, 38, 14, 45, + 26, 38, 54, 85, 39, 63, 16,212,236,228,196,212,228,236,196, 16,238, 16,238, 17, 23, 57, 18, 57, 17, 18, 57, 18, 57, 49, 0, 16, +196,244,236,244,236, 16,238,246,238, 17, 23, 57, 57, 57, 17, 18, 57, 48, 1, 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, 14, 1, 21, 20, 22, 23, 62, 1, 53, 52, 38, 3,168, 83,143, 57, 97,107,205, 26, 14,212,130, 91, 93, 61, + 58,204,173, 73,155, 87, 87,148, 57,102,113,221, 24,214,128, 93, 91, 60, 59,200,167, 72,153,254,141, 62, 61,141,247, 62, 60,143, + 5,182,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,253,213, 45, 90, 47, 76,135,133, 45, 90, 47, 76,136, 0, 0, 0, 0, 2, 1, 63, + 5, 70, 3,145, 6, 16, 0, 3, 0, 7, 0, 29, 64, 14, 6, 2,222, 4, 0,221, 8, 5, 97, 4, 1, 97, 0, 8, 16,212,252,212, +236, 49, 0, 16,244, 60,236, 50, 48, 1, 51, 21, 35, 37, 51, 21, 35, 1, 63,203,203, 1,136,202,202, 6, 16,202,202,202, 0, 0, + 0, 3, 0, 0, 0,125, 4,209, 5, 78, 0, 25, 0, 49, 0, 73, 0, 68, 64, 39, 13,218, 14, 10,218, 17,220, 38,212, 62, 1,218, + 0, 4,218, 23,217, 26,212, 62,211, 50,209, 74, 7, 92, 20, 13, 0, 94, 44, 7, 56, 20, 32, 7, 56, 89, 68, 47,230,254,197, 16, +254,229, 50, 16,238, 49, 0, 16,244,236,252,244,236,212,236, 16,254,253,238,214,238, 48, 1, 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, 39, 34, 6, 7, 14, 1, 21, 20, 22, 23, 30, 1, 51, 50, 54, 55, + 62, 1, 53, 52, 38, 39, 46, 1, 39, 50, 22, 23, 30, 1, 21, 20, 6, 7, 14, 1, 35, 34, 38, 39, 46, 1, 53, 52, 54, 55, 62, 1, + 3, 96, 58,111, 58,117,135,140,130, 56,103, 50, 52,114, 61,180,207,208,179, 61,114,196,106,181, 75, 75, 77, 77, 75, 76,181,105, +106,181, 76, 76, 75, 76, 75, 75,181,107,127,218, 90, 90, 92, 91, 91, 91,218,126,125,218, 91, 91, 91, 92, 90, 90,218, 4, 47,108, + 28, 27,149,128,132,142, 25, 26,104, 23, 22,200,172,173,202, 22,161, 74, 75, 75,184,106,104,183, 75, 76, 76, 76, 76, 76,181,105, +106,184, 75, 75, 74,103, 90, 90, 91,220,126,125,218, 91, 91, 91, 91, 91, 91,218,125,126,220, 91, 90, 90, 0, 0, 0, 3, 1, 14, + 1,213, 3,193, 5,240, 0, 10, 0, 37, 0, 41, 0,100, 64, 54, 9, 6, 0, 25, 31, 11, 23, 14, 6, 0, 40,243, 38, 0,237, 23, + 38,241, 6,237, 12, 17, 32,239, 31,238, 28,237, 17,240, 35,150, 42, 38, 31, 20, 0, 23, 9, 3, 40, 39, 24, 13, 9,106, 11,107, + 31, 3,106, 20,105, 42, 16,252,236,196,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, 17, 18, 57, 48, 1, 34, 6, 21, 20, 22, 51, 50, 54, 61, 1, 55, 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, 1, 33, 21, 33, 2,172,144,124, + 87, 72,105,131,143,143, 49,131, 82,129,150,187,172,182,119,117, 51,125, 67, 68,135, 63,184,172,253,107, 2,156,253,100, 4, 80, + 68, 78, 64, 77,143,115, 29, 61,254, 64,112, 65, 66,136,116,129,140, 4, 90, 92, 35, 33,127, 28, 28,172,253, 12,123, 0, 0, 0, + 0, 2, 0,119, 0,141, 4, 18, 4, 35, 0, 6, 0, 13, 0, 47, 64, 23, 9, 2, 11, 4,252, 7, 0,172, 14, 2, 12, 5, 9, 0, + 10, 7,118, 12, 3, 0,118, 5, 14, 16,212,252, 60,212,236, 50, 17, 57, 17, 18, 57, 49, 0, 16,244, 60,236, 50, 57, 57, 48, 1, + 21, 9, 1, 21, 1, 53, 1, 21, 9, 1, 21, 1, 53, 2, 76,254,211, 1, 45,254, 43, 3,155,254,211, 1, 45,254, 43, 4, 35,191, +254,244,254,244,191, 1,162, 82, 1,162,191,254,244,254,244,191, 1,162, 82, 0, 0, 1, 0, 88, 1,115, 4,121, 3, 94, 0, 5, + 0, 24, 64, 11, 4,160, 2, 0, 6, 3, 28, 1, 0, 39, 6, 16,252,212,236, 49, 0, 16,212,196,236, 48, 19, 33, 17, 35, 17, 33, + 88, 4, 33,168,252,135, 3, 94,254, 21, 1, 63, 0, 1, 1,100, 1,223, 3,109, 2,131, 0, 3, 0, 17,182, 0,160, 2, 4, 1, + 0, 4, 16,212,196, 49, 0, 16,212,236, 48, 1, 33, 21, 33, 1,100, 2, 9,253,247, 2,131,164, 0, 4, 0, 0, 0,125, 4,209, + 5, 78, 0, 19, 0, 28, 0, 52, 0, 76, 0,133, 64, 73, 15, 14, 13, 3, 16, 12, 93, 9, 10, 9, 11, 93, 10, 10, 9, 66, 12, 10, + 6, 22, 9, 10, 22,215, 15, 20,215, 0, 17, 10,214, 65,212, 41, 0,213, 53,212, 41,211, 29,209, 77, 23, 20, 15, 12, 4, 0, 6, + 16, 9, 26, 3, 21, 16, 92, 18, 26, 92, 10, 3, 91, 71, 7, 35, 18, 88, 59, 7, 35, 89, 47, 47,230,254,229, 16,254,245,196,238, + 16,238, 50, 17, 18, 57, 17, 57, 57, 23, 57, 49, 0, 16,244,236,252,228, 16,254,237, 50, 16,238,214,238, 18, 57, 18, 57, 18, 57, + 48, 75, 83, 88, 7, 16, 5,237, 7, 16, 4,237, 17, 23, 57, 89, 34, 1, 50, 22, 21, 20, 6, 7, 30, 1, 31, 1, 35, 39, 46, 1, + 43, 1, 17, 35, 17, 23, 35, 21, 51, 50, 54, 53, 52, 38, 3, 50, 22, 23, 30, 1, 21, 20, 6, 7, 14, 1, 35, 34, 38, 39, 46, 1, + 53, 52, 54, 55, 62, 1, 23, 34, 6, 7, 14, 1, 21, 20, 22, 23, 30, 1, 51, 50, 54, 55, 62, 1, 53, 52, 38, 39, 46, 1, 2, 88, +147,144, 88, 80, 19, 58, 38,114,143,107, 49, 61, 45, 55,130,232,102,102, 90, 74, 74, 68,127,218, 90, 90, 92, 91, 91, 91,218,126, +125,218, 91, 91, 91, 92, 90, 90,218,126,106,181, 75, 75, 77, 77, 75, 76,181,105,106,181, 76, 76, 75, 76, 75, 75,181, 4, 76, 98, +101, 71, 93, 14, 5, 67, 59,186,174, 80, 42,254,216, 2,182, 84,232, 54, 63, 62, 53, 1, 86, 90, 90, 91,220,126,125,218, 91, 91, + 91, 91, 91, 91,218,125,126,220, 91, 90, 90,103, 74, 75, 75,184,106,104,183, 75, 76, 76, 76, 76, 76,181,105,106,184, 75, 75, 74, + 0, 1, 1, 61, 5, 98, 3,147, 5,246, 0, 3, 0, 17,182, 2,182, 0, 4, 1, 0, 4, 16,212,204, 49, 0, 16,212,236, 48, 1, + 33, 21, 33, 1, 61, 2, 86,253,170, 5,246,148, 0, 2, 1, 43, 3,117, 3,166, 5,240, 0, 14, 0, 26, 0, 32, 64, 17, 21,204, + 9,205, 15,204, 0,150, 27, 24, 83, 6, 84, 18, 83, 12, 27, 16,212,236,252,236, 49, 0, 16,244,236,252,236, 48, 1, 50, 22, 23, + 30, 1, 21, 20, 6, 35, 34, 38, 53, 52, 54, 23, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 2,104, 65,117, 44, 45, 47,186,134, +135,180,184,133, 79,111,109, 79, 80,113,112, 5,240, 49, 46, 45,114, 66,132,183,180,135,134,186,129,111, 80, 80,108,110, 78, 79, +112, 0, 0, 0, 0, 2, 0, 88, 0, 0, 4,121, 4,147, 0, 3, 0, 15, 0, 46, 64, 24, 9,227, 11, 7,160, 4,227, 13, 5, 0, +160, 2, 6, 1, 26, 8, 4, 28, 12, 0, 26, 14, 10, 16, 16,212, 60,236, 50,252, 60,236, 50, 49, 0, 47,236,212, 60,236,252, 60, +236, 48, 55, 33, 21, 33, 1, 17, 33, 21, 33, 17, 35, 17, 33, 53, 33, 17, 88, 4, 33,251,223, 2,100, 1,189,254, 67,168,254, 68, + 1,188,170,170, 4,147,254,183,170,254,180, 1, 76,170, 1, 73, 0, 1, 1, 66, 2,156, 3,125, 5,240, 0, 24, 0, 97, 64, 19, + 0, 87, 4, 5, 4, 22, 23, 2, 21, 24, 87, 5, 5, 4, 66, 5, 24, 14, 0, 65, 9, 1, 9, 0, 2, 0, 14, 1, 9, 0, 15, 0, + 2, 1, 10, 0, 11, 1, 9, 64, 14, 18,150, 25, 5, 0, 24, 14, 8,127, 1, 21, 14, 3, 25, 16,212,196,212,196,236, 17, 57, 57, + 57, 49, 0, 16,244,236,228,212,236, 16,238, 17, 57, 57, 48, 75, 83, 88, 7, 16, 4,237, 17, 23, 57, 7, 16, 5,237, 89, 34, 1, + 33, 21, 33, 53, 55, 62, 1, 53, 52, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 21, 20, 6, 7, 1,227, 1,154,253,197,231,101, + 81,100, 82, 49,113, 63, 65,121, 59,142,172, 74,119, 3, 14,114,110,226, 97,122, 51, 61, 76, 36, 36,125, 28, 28,133,107, 57,119, +117, 0, 0, 0, 0, 1, 1, 70, 2,141, 3,156, 5,240, 0, 40, 0, 92, 65, 20, 0, 0, 0, 19, 1, 9, 0, 21, 0, 10, 1, 9, + 0, 9, 1, 11, 0, 21, 0, 13, 1, 9, 0, 6, 0, 31, 1, 9, 0, 32, 1, 11, 0, 6, 1, 10, 0, 28, 1, 9, 64, 19, 35,150, + 41, 22, 19, 13, 0, 3, 20, 25,127, 38, 16,127, 3, 31, 20, 9, 41, 16,212,196,196,212,236,212,236, 17, 23, 57, 57, 49, 0, 16, +244,236,228,244,236, 16,238,198,246,238, 16,238, 57, 48, 1, 30, 1, 21, 20, 6, 35, 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, 22, 21, 20, 6, 2,219, 94, 99,190,177, 58,114, 59, + 69,113, 45,101,118,110,109, 66, 74, 93, 98, 96, 87, 44,112, 59, 69,117, 50,145,168, 88, 4, 96, 21,108, 80,124,134, 21, 20,121, + 27, 26, 81, 68, 74, 76,108, 63, 60, 56, 63, 24, 23,121, 17, 18,118, 99, 71, 93, 0, 1, 1,219, 4,238, 3,186, 6,102, 0, 3, + 0, 37, 64, 9, 2,186, 0,185, 4, 1, 60, 3, 4, 16,212,236, 49, 0, 16,244, 75,176, 9, 84, 75,176, 14, 84, 91, 88,185, 0, + 0, 0, 64, 56, 89,236, 48, 1, 51, 1, 35, 2,244,198,254,187,154, 6,102,254,136, 0, 0, 0, 0, 1, 0,195,254, 84, 4,158, + 4, 96, 0, 32, 0, 76, 64, 42, 19, 25, 31, 3, 22, 6, 3, 9, 12, 3, 1, 18, 6,140, 15,139, 28, 22,153, 0,195, 10, 1,194, + 33, 25, 11, 9, 32, 31, 2, 0, 18, 9, 6, 11, 74, 2, 6, 0, 70, 33, 16,244,236,252,236,196, 17, 18, 57, 57, 17, 18, 57, 49, + 0, 16,228, 50,228,244, 60,236,252,196, 17, 23, 57, 17, 18, 23, 57, 48, 19, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, + 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 39, 14, 1, 35, 34, 38, 39, 17,195,184,120,111,127,129,185, 32, 33, 9, 29, 28, 38, + 68, 34, 62, 75, 12, 46,133, 89, 92,127, 44,254, 84, 6, 12,253, 72,142,151,170,166, 2,141,252,160, 59, 56, 10, 13,148, 23, 22, + 79, 79, 80, 78, 76, 80,253,213, 0, 1, 0,106,255, 59, 4, 6, 5,213, 0, 13, 0, 35, 64, 17, 4, 8, 0,136, 6, 2, 14, 0, + 7, 87, 5, 3, 87, 1, 49, 11, 14, 16,220,252,252,212,236, 57, 49, 0, 16,196, 50,244,196,204, 48, 1, 33, 17, 35, 17, 35, 17, + 35, 17, 46, 1, 53, 52, 36, 2, 70, 1,192,141,191,141,215,236, 1, 5, 5,213,249,102, 6, 31,249,225, 3, 78, 17,221,184,190, +232, 0, 0, 0, 0, 1, 1,233, 2, 47, 2,229, 3, 96, 0, 3, 0, 21,185, 0, 2, 1, 1,181, 0, 4, 1, 29, 0, 4, 16,212, +236, 49, 0, 16,212,236, 48, 1, 51, 17, 35, 1,233,252,252, 3, 96,254,207, 0,255,255, 1,139,254,117, 3, 41, 0, 0, 16, 6, + 2,163, 0, 0, 0, 1, 1, 88, 2,156, 3,147, 5,223, 0, 10, 0, 57, 65, 11, 0, 7, 0, 0, 1, 9, 0, 9, 0, 3, 1, 9, + 0, 4, 0, 9, 1, 10, 0, 2, 1, 9, 64, 13, 5,150, 11, 8, 97, 6, 87, 3,125, 0, 97, 1, 11, 16,212,236,236,252,236, 49, + 0, 16,244,236,228,212,236, 16,238, 50, 48, 1, 51, 17, 7, 53, 55, 51, 17, 51, 21, 33, 1,106,205,223,229,138,204,253,215, 3, + 10, 2, 99, 41,116, 39,253, 43,110, 0, 0, 0, 0, 3, 0,244, 1,213, 3,221, 5,240, 0, 11, 0, 23, 0, 27, 0, 51, 64, 28, + 26,243, 24,241, 6,237, 18,240, 0,237, 12,150, 28, 25, 15, 9, 24, 21, 3, 9,106, 15,107, 3,106, 21,105, 28, 16,252,236,252, +236, 17, 18, 57, 17, 18, 57, 49, 0, 16,244,236,244,236,252,236, 48, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 39, 50, 22, + 21, 20, 6, 35, 34, 38, 53, 52, 54, 3, 33, 21, 33, 2,104,102,115,115,102,101,117,115,103,170,203,202,171,170,202,203,171, 2, +164,253, 92, 5,123,156,139,139,154,157,136,139,156,117,224,188,187,223,223,187,188,224,252, 96,123, 0, 0, 0, 0, 2, 0,193, + 0,141, 4, 92, 4, 35, 0, 6, 0, 13, 0, 47, 64, 23, 12, 5, 10, 3,252, 7, 0,172, 14, 5, 8, 1, 12, 7, 1,118, 3, 0, + 8,118, 10, 7, 14, 16,212, 60,252,212, 60,236, 18, 57, 17, 18, 57, 49, 0, 16,244, 60,236, 50, 57, 57, 48, 9, 1, 21, 1, 53, + 9, 1, 37, 1, 21, 1, 53, 9, 1, 2,135, 1,213,254, 43, 1, 45,254,211,254, 58, 1,213,254, 43, 1, 45,254,211, 4, 35,254, + 94, 82,254, 94,191, 1, 12, 1, 12,191,254, 94, 82,254, 94,191, 1, 12, 1, 12,255,255, 0, 27,254,242, 4, 90, 6,123, 16, 39, + 6,170, 0,184,252, 86, 16, 39, 0,123,254,254, 0,156, 16, 6, 11,182, 0, 0,255,255, 0, 27,254,242, 4, 90, 6,123, 16, 39, + 0,123,254,254, 0,156, 16, 38, 11,182, 0, 0, 16, 7, 0,116, 0,201,252, 86,255,255, 0, 27,254,242, 4, 90, 6,140, 16, 39, + 6,170, 0,184,252, 86, 16, 39, 0,117,255, 29, 0,156, 16, 6, 11,182, 0, 0, 0, 2, 0,193,255,229, 3,221, 5,213, 0, 33, + 0, 37, 0,130, 64, 71, 11, 10, 9, 8, 7, 5, 12, 6, 37, 25, 26, 25, 3, 4, 2, 2, 5, 37, 26, 26, 25, 66, 33, 26, 5, 2, + 4, 6, 25, 0, 16,139, 15,141, 12, 0, 34,134, 36, 12,151, 19,153, 36,136, 38, 6, 35, 25, 22, 9, 31, 5, 0, 3, 29, 1, 26, + 35, 9, 41, 22, 15, 29, 3, 1, 15, 34, 30, 35, 38, 16,212,252,196,212,236, 16,214,238, 17, 57, 17, 18, 23, 57, 17, 18, 57, 18, + 57, 49, 0, 16,228,244,236, 16,254,205, 16,244,238, 18, 57, 57, 23, 57, 48, 75, 83, 88, 7, 16, 4,237, 17, 23, 57, 7, 16, 4, +237, 17, 23, 57, 89, 34, 1, 51, 21, 20, 6, 15, 1, 14, 1, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 53, 52, 54, 63, + 1, 62, 1, 53, 52, 53, 54, 53, 19, 35, 53, 51, 2, 37,190, 61, 84, 90, 62, 47,131,109, 78,178, 98, 94,191,104,186,221, 67, 94, + 88, 67, 38, 2,196,202,202, 4, 68,154, 98,137, 82, 89, 59, 88, 49, 89,110, 69, 68,188, 57, 56,192,161, 76,131, 92, 86, 64, 84, + 63, 1, 4, 23, 19, 1, 14,254,255,255, 0, 37, 0, 0, 4,172, 7,107, 16, 38, 0, 36, 0, 0, 17, 7, 11,179, 0, 0, 1,117, + 0, 7, 64, 3, 79, 11, 1, 93, 49, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7,107, 16, 38, 0, 36, 0, 0, 17, 7, 11,177, + 0, 0, 1,117, 0, 7, 64, 3, 79, 11, 1, 93, 49, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7,109, 16, 38, 0, 36, 0, 0, + 17, 7, 11,180, 0, 0, 1,117, 0, 20,180, 5, 13, 17, 10, 7, 43, 64, 9, 32, 17, 47, 13, 0, 17, 15, 13, 4, 93, 49, 0, 0, +255,255, 0, 37, 0, 0, 4,172, 7, 94, 16, 38, 0, 36, 0, 0, 17, 7, 11,178, 0, 0, 1,117, 0, 16,180, 5, 35, 20, 10, 7, + 43, 64, 5, 79, 35, 64, 20, 2, 93, 49, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7, 78, 16, 38, 0, 36, 0, 0, 17, 7, 11,176, + 0, 0, 1,117, 0, 28,180, 5, 17, 14, 10, 7, 43, 64, 17,112, 14,127, 17, 48, 14, 63, 17, 32, 14, 47, 17, 0, 14, 15, 17, 8, + 93, 49, 0, 0, 0, 3, 0, 37, 0, 0, 4,172, 7,109, 0, 11, 0, 14, 0, 33, 0,193, 64, 87, 12, 37, 13, 12, 27, 28, 27, 14, + 37, 28, 27, 30, 37, 28, 27, 29, 37, 28, 28, 27, 32, 37, 15, 33, 31, 37, 15, 33, 13, 37, 33, 15, 33, 12, 37, 14, 12, 15, 15, 33, + 66, 12, 27, 15, 9, 30,151, 13, 3,200, 21, 9,144, 13,201, 32, 28, 29, 28, 24, 32, 33, 31, 13, 18, 6, 30, 14, 24, 12, 6, 27, + 0, 80, 24, 15, 6, 80, 18, 24, 75, 28, 47, 18, 75, 33, 34, 16,220,228,252,228, 16,238, 50, 16,238, 50, 17, 57, 17, 57, 57, 17, + 18, 57, 57, 17, 57, 17, 18, 57, 49, 0, 47, 60,230,230,214,238, 16,238, 18, 57, 57, 57, 48, 75, 83, 88, 7, 16, 8,237, 7, 16, + 5,237, 7, 5,237, 7, 5,237, 7, 16, 5,237, 7, 5,237, 7, 5,237, 7, 16, 8,237, 89, 34,178,128, 31, 1, 0, 93, 64, 20, +133, 13,138, 14,138, 30,133, 31, 4,143, 12,143, 12,128, 13,128, 14,128, 30, 5, 93, 1, 93, 1, 52, 38, 35, 34, 6, 21, 20, 22, + 51, 50, 54, 7, 3, 33, 1, 46, 1, 53, 52, 54, 51, 50, 22, 21, 20, 6, 7, 1, 35, 3, 33, 3, 35, 3, 0, 89, 63, 64, 87, 88, + 63, 63, 89,152,213, 1,170,254,148, 58, 65,160,114,114,161, 64, 59, 1,172,209,110,253,245,108,209, 6, 90, 63, 89, 87, 65, 63, + 88, 88,252,253, 8, 3, 80, 33,121, 73,114,161,161,114, 73,118, 36,250,137, 1,133,254,123, 0, 0, 2, 0, 0, 0, 0, 4,156, + 5,213, 0, 15, 0, 19, 0,103, 64, 55, 13, 37, 15, 14, 12, 37, 15, 14, 17, 37, 14, 15, 14, 16, 37, 15, 15, 14, 66, 5,151, 3, + 11,151, 17, 16, 1,151, 0,136, 7,151, 17,176, 3,177, 13, 9, 17, 16, 15, 13, 12, 5, 14, 10, 0, 4, 8, 6, 2, 99, 18, 10, + 14, 47,212, 60,238, 50,214,196,196, 17, 18, 23, 57, 49, 0, 47, 60,238,238,238,244,238, 50, 16,238, 16,238, 48, 75, 83, 88, 7, + 16, 5,237, 7, 16, 5,237, 7, 5,237, 7, 5,237, 89, 34, 1, 21, 33, 17, 33, 21, 33, 17, 33, 21, 33, 17, 33, 3, 35, 1, 23, + 3, 33, 17, 4,137,254,174, 1, 51,254,205, 1,101,253,225,254,160,101,184, 1,154,120,202, 1, 53, 5,213,170,254, 70,170,253, +227,170, 1,127,254,129, 5,213,170,252,252, 3, 4, 0, 0, 0,255,255, 0,139,254,117, 4, 49, 5,240, 16, 38, 2,163,100, 0, + 16, 6, 0, 38, 0, 0, 0, 0,255,255, 0,197, 0, 0, 4, 78, 7,107, 16, 38, 0, 40, 0, 0, 16, 7, 11,179, 0, 18, 1,117, +255,255, 0,197, 0, 0, 4, 78, 7,107, 16, 38, 0, 40, 0, 0, 16, 7, 11,177, 0, 18, 1,117,255,255, 0,197, 0, 0, 4, 78, + 7,109, 16, 38, 0, 40, 0, 0, 16, 7, 11,180, 0, 18, 1,117,255,255, 0,197, 0, 0, 4, 78, 7, 78, 16, 38, 0, 40, 0, 0, + 16, 7, 11,176, 0, 18, 1,117,255,255, 0,201, 0, 0, 4, 6, 7,107, 16, 38, 0, 44, 0, 0, 16, 7, 11,179, 0, 0, 1,117, +255,255, 0,201, 0, 0, 4, 6, 7,107, 16, 38, 0, 44, 0, 0, 16, 7, 11,177, 0, 0, 1,117,255,255, 0,201, 0, 0, 4, 6, + 7,109, 16, 38, 0, 44, 0, 0, 17, 7, 11,180, 0, 0, 1,117, 0, 11,180, 16, 32, 1, 0, 0, 16, 73, 99, 58, 49, 0, 0, 0, +255,255, 0,201, 0, 0, 4, 6, 7, 78, 16, 38, 0, 44, 0, 0, 17, 7, 11,176, 0, 0, 1,117, 0, 8,180, 1, 18, 15, 0, 7, + 43, 49, 0, 0, 0, 2, 0, 8, 0, 0, 4, 78, 5,213, 0, 12, 0, 25, 0, 59, 64, 33, 23, 8,182, 10, 19,151, 0,136, 13,151, + 21, 10, 6, 19, 13, 6, 0, 4, 22, 20, 16, 50, 3, 49, 9, 48, 24, 20, 30, 11, 7, 48, 26, 16,252, 60,236, 50,236,252,236, 16, +196, 23, 57, 49, 0, 47,198, 50,238,246,238, 16,238, 50, 48, 1, 32, 0, 17, 16, 0, 41, 1, 17, 35, 53, 51, 17, 1, 32, 54, 17, + 16, 38, 33, 35, 17, 33, 21, 33, 17, 1,180, 1, 86, 1, 68,254,187,254,171,254,209,125,125, 1, 47, 0,255,202,201,255, 0, 96, + 1, 8,254,248, 5,213,254,148,254,128,254,130,254,149, 2,197,149, 2,123,250,209,251, 1, 72, 1, 75,251,254, 43,149,253,225, +255,255, 0,139, 0, 0, 4, 70, 7, 98, 16, 38, 0, 49, 0, 0, 17, 7, 11,178, 0, 0, 1,121, 0, 16,180, 4, 34, 19, 0, 7, + 43, 64, 5, 79, 34, 64, 19, 2, 93, 49, 0, 0,255,255, 0,117,255,227, 4, 92, 7,107, 16, 38, 0, 50, 0, 0, 17, 7, 11,179, + 0, 0, 1,117, 0, 7, 64, 3, 79, 24, 1, 93, 49, 0, 0, 0,255,255, 0,117,255,227, 4, 92, 7,107, 16, 38, 0, 50, 0, 0, + 17, 7, 11,177, 0, 0, 1,117, 0, 7, 64, 3, 79, 24, 1, 93, 49, 0, 0, 0,255,255, 0,117,255,227, 4, 92, 7,109, 16, 38, + 0, 50, 0, 0, 17, 7, 11,180, 0, 0, 1,117, 0, 20,180, 12, 26, 30, 18, 7, 43, 64, 9, 32, 30, 47, 26, 0, 30, 15, 26, 4, + 93, 49, 0, 0,255,255, 0,117,255,227, 4, 92, 7, 94, 16, 38, 0, 50, 0, 0, 17, 7, 11,178, 0, 0, 1,117, 0, 16,180, 12, + 48, 33, 18, 7, 43, 64, 5, 79, 48, 64, 33, 2, 93, 49, 0, 0,255,255, 0,117,255,227, 4, 92, 7, 78, 16, 38, 0, 50, 0, 0, + 17, 7, 11,176, 0, 0, 1,117, 0, 28,180, 12, 30, 27, 18, 7, 43, 64, 17,112, 27,127, 30, 48, 27, 63, 30, 32, 27, 47, 30, 0, + 27, 15, 30, 8, 93, 49, 0, 0, 0, 1, 0,150, 0,174, 4, 59, 4, 84, 0, 11, 0, 46, 64, 28, 10, 8, 7, 6, 4, 2, 1, 0, + 8, 11, 9, 5, 3, 12, 11, 10, 9, 8, 7, 5, 4, 3, 1, 9, 6, 2, 0, 12, 16,212, 60,204, 23, 57, 49, 0, 16,212, 60,204, + 50, 23, 57, 48, 19, 9, 1, 55, 9, 1, 23, 9, 1, 7, 9, 1,150, 1, 94,254,162,116, 1, 94, 1, 95,116,254,162, 1, 92,116, +254,163,254,164, 1, 37, 1, 92, 1, 94,117,254,162, 1, 94,117,254,162,254,164,119, 1, 94,254,162, 0, 0, 0, 0, 3, 0, 8, +255,186, 4,176, 6, 23, 0, 9, 0, 19, 0, 43, 0,107, 64, 58, 43, 41, 38, 11, 10, 9, 0, 4, 14, 29, 31, 32, 20, 14, 3, 42, + 38, 30, 3,151, 26, 14,151, 38,150, 26,153, 31, 31, 30, 44, 32, 35, 17, 42, 20, 23, 11, 10, 9, 0, 4, 6, 29, 35, 17, 41, 6, + 43, 6, 50, 23, 54, 17, 50, 35, 53, 44, 16,252,236,252,236,192, 18, 57, 17, 18, 57, 18, 23, 57, 17, 57, 57, 17, 18, 57, 17, 57, + 57, 49, 0, 47,228,244,236, 16,238,192, 16,192, 17, 18, 57, 57, 18, 57, 18, 23, 57, 17, 57, 57, 48, 1, 30, 1, 51, 50, 18, 17, + 52, 38, 39, 9, 1, 46, 1, 35, 34, 2, 17, 20, 22, 1, 22, 18, 21, 16, 2, 35, 34, 38, 39, 7, 39, 55, 38, 2, 53, 16, 18, 51, + 50, 22, 23, 55, 23, 1,115, 30,131, 84,154,135, 10, 10,253,221, 1,248, 25,115, 86,157,131, 5, 2,187, 41, 43,247,253,121,180, + 61,143,103,178, 32, 37,247,252,115,173, 57,139,100, 1, 47, 78, 90, 1, 25, 1, 73,110,136, 45,253,203, 2,207, 81, 85,254,220, +254,134, 80,101, 2,230, 81,254,254,163,254,122,254,128, 81, 81,203, 70,252, 73, 1, 6,158, 1,135, 1,128, 82, 80,201, 74, 0, +255,255, 0,147,255,227, 4, 61, 7,107, 16, 38, 0, 56, 0, 0, 17, 7, 11,179, 0, 0, 1,117, 0, 7, 64, 3, 79, 31, 1, 93, + 49, 0, 0, 0,255,255, 0,147,255,227, 4, 61, 7,107, 16, 38, 0, 56, 0, 0, 17, 7, 11,177, 0, 0, 1,117, 0, 7, 64, 3, + 79, 31, 1, 93, 49, 0, 0, 0,255,255, 0,147,255,227, 4, 61, 7,109, 16, 38, 0, 56, 0, 0, 17, 7, 11,180, 0, 0, 1,117, + 0, 20,180, 17, 32, 36, 1, 7, 43, 64, 9, 32, 36, 47, 32, 0, 36, 15, 32, 4, 93, 49, 0, 0,255,255, 0,147,255,227, 4, 61, + 7, 78, 16, 38, 0, 56, 0, 0, 17, 7, 11,176, 0, 0, 1,117, 0, 28,180, 17, 36, 33, 1, 7, 43, 64, 17,112, 33,127, 36, 48, + 33, 63, 36, 32, 33, 47, 36, 0, 33, 15, 36, 8, 93, 49, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7,107, 16, 38, 0, 60, 0, 0, + 17, 7, 11,177, 0, 0, 1,117, 0, 7, 64, 3, 32, 9, 1, 93, 49, 0, 0, 0, 0, 2, 0,201, 0, 0, 4,141, 5,213, 0, 8, + 0, 21, 0, 52,181, 1,151, 18, 0,151, 11,184, 1, 8, 64, 19, 9,136, 20, 8, 2, 18, 12, 0, 5, 50, 15, 56, 19, 10, 0, 30, + 9, 51, 22, 16,252,236, 50, 50,252,236, 17, 57, 57, 57, 57, 49, 0, 47,244,252,236,212,236, 48, 1, 17, 51, 50, 54, 53, 52, 38, + 35, 1, 51, 17, 51, 32, 22, 21, 20, 6, 33, 35, 17, 35, 1,147,234,158,157,157,158,254, 76,202,254, 1, 4,248,248,254,252,254, +202, 4, 33,253,243,132,131,131,131, 1,180,254,242,210,218,219,209,254,145, 0, 0, 1, 0,188,255,227, 4,125, 6, 20, 0, 47, + 0, 86, 64, 49, 45, 39, 33, 12, 4, 6, 13, 32, 0, 4, 42, 22,139, 23, 26,140, 19, 42,140, 3,155, 19,153, 46, 12, 9, 13, 29, + 32, 33, 39, 9, 1, 36, 39, 6, 6, 29, 6, 36, 16, 22, 45, 6, 16, 68, 0, 70, 48, 16,244,236,252,204, 16,198,238,212,238, 16, +238, 17, 57, 57, 18, 57, 18, 57, 49, 0, 47,228,254,238, 16,254,213,238, 18, 23, 57, 23, 57, 48, 19, 52, 54, 51, 50, 22, 23, 14, + 1, 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, 55, + 46, 1, 35, 34, 6, 21, 17, 35,188,210,216,204,210, 2,155,168, 55, 67, 58,151,111,224,196, 69,135, 66, 76,133, 59,108,128, 65, +120, 67, 92, 91,162,156, 2,121,113,121,114,187, 4,113,213,206,221,216, 14,124,100, 49, 77, 42, 37, 93,164,116,154,178, 25, 24, +164, 31, 30, 97, 81, 71, 95, 74, 39, 56,133, 79,128,171, 35,107,114,131,139,251,147, 0, 0, 0,255,255, 0,133,255,227, 4, 35, + 6,102, 16, 38, 0, 68, 0, 0, 16, 6, 0, 67, 0, 0, 0, 0,255,255, 0,133,255,227, 4, 35, 6,102, 16, 38, 0, 68, 0, 0, + 16, 6, 0,118, 0, 0, 0, 0,255,255, 0,133,255,227, 4, 35, 6,102, 16, 38, 0, 68, 0, 0, 16, 6, 2, 95, 0, 0, 0, 0, +255,255, 0,133,255,227, 4, 35, 6, 55, 16, 38, 0, 68, 0, 0, 16, 6, 2,110, 0, 0, 0, 0,255,255, 0,133,255,227, 4, 35, + 6, 16, 16, 38, 0, 68, 0, 0, 16, 6, 0,106, 0, 0, 0, 0,255,255, 0,133,255,227, 4, 35, 7, 6, 16, 38, 0, 68, 0, 0, + 16, 6, 2,108, 0, 0, 0, 0, 0, 3, 0, 41,255,227, 4,176, 4,123, 0, 10, 0, 19, 0, 67, 0,143, 64, 73, 61, 55, 15, 48, + 12, 18, 3, 54, 11, 37, 8, 0, 30, 67, 11, 1, 31,139, 30,141, 27, 8,140, 34, 55,139, 54,191, 15, 46, 11,182, 20, 1,193, 51, + 15,140, 64, 58,190, 40, 34,153, 68, 2, 5, 0, 24, 37, 61, 3, 47, 18, 46, 5, 21, 18, 77, 47, 0,117, 30, 11, 77, 20, 67, 5, + 77, 54, 43,115, 68, 16,244,196,236,252,236,196,252,196,236, 50, 18, 57, 17, 18, 23, 57, 17, 18, 57, 49, 0, 16,228, 50,244, 60, +236, 50,244, 60,236, 50, 16,244,238, 16,254, 60,244,238, 17, 18, 57, 18, 57, 17, 57, 17, 18, 23, 57, 17, 18, 57, 48, 64, 9, 48, + 53, 48, 54, 48, 55, 48, 56, 4, 93, 1, 53, 35, 34, 6, 21, 20, 22, 51, 50, 54, 1, 53, 52, 38, 35, 34, 6, 29, 1, 5, 33, 14, + 1, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 39, 14, 1, 35, 34, 38, 53, 52, 54, 59, 1, 53, 52, 38, 35, 34, 6, 7, + 53, 62, 1, 51, 50, 22, 23, 62, 1, 51, 50, 22, 17, 2, 31, 49,169,120, 89, 83, 92, 74, 1,237, 77, 87, 87, 76, 1,235,254, 21, + 1, 1,101,112, 79,129, 50, 55,132, 71,110,149, 32, 39,133, 97,156,163,200,191,117, 99, 94, 56,132, 62, 77,132, 60, 91,124, 37, + 33,132, 89,174,145, 1,186, 72, 90,113, 89, 97,133, 1,143, 52,151,133,136,157, 43,143, 15, 35, 34,161,144, 51, 51,172, 41, 43, + 82, 78, 80, 80,172,164,171,179, 88,120,128, 43, 39,168, 35, 33, 63, 64, 61, 66,237,254,206, 0,255,255, 0,195,254,117, 4, 37, + 4,123, 16, 38, 2,163,104, 0, 16, 6, 0, 70, 0, 0, 0, 0,255,255, 0,123,255,227, 4, 88, 6,102, 16, 38, 0, 72, 0, 0, + 16, 6, 0, 67, 14, 0, 0, 0,255,255, 0,123,255,227, 4, 88, 6,102, 16, 38, 0, 72, 0, 0, 16, 6, 0,118, 14, 0, 0, 0, +255,255, 0,123,255,227, 4, 88, 6,102, 16, 38, 0, 72, 0, 0, 16, 6, 2, 95, 14, 0, 0, 0,255,255, 0,123,255,227, 4, 88, + 6, 16, 16, 38, 0, 72, 0, 0, 17, 6, 0,106, 14, 0, 0, 7, 64, 3, 64, 29, 1, 93, 49, 0,255,255, 0,178, 0, 0, 4, 68, + 6,102, 16, 38, 0,243, 0, 0, 16, 6, 0, 67, 0, 0, 0, 0,255,255, 0,178, 0, 0, 4, 68, 6,102, 16, 38, 0,243, 0, 0, + 16, 6, 0,118, 0, 0, 0, 0,255,255, 0,178, 0, 0, 4, 68, 6,102, 16, 38, 0,243, 0, 0, 17, 6, 2, 95, 0, 0, 0, 9, + 64, 5, 64, 10, 48, 10, 2, 93, 49, 0, 0, 0,255,255, 0,178, 0, 0, 4, 68, 6, 16, 16, 38, 0,243, 0, 0, 17, 6, 0,106, + 24, 0, 0, 8,180, 3, 16, 13, 6, 7, 43, 49, 0, 2, 0,137,255,227, 4, 72, 6, 20, 0, 26, 0, 41, 0,139, 64, 79, 18, 23, + 19, 18, 1, 0, 13, 14, 15, 16, 4, 17, 23, 0, 1, 0, 22, 23, 23, 24, 23, 21, 23, 20, 21, 24, 24, 23, 66, 26, 25, 24, 21, 20, + 19, 6, 22, 15, 30, 18, 0, 22, 30,140, 12, 36,140, 6,153, 12, 22,155, 42, 18, 21, 24, 3, 39, 20, 19, 22, 3, 33, 9, 26, 25, + 3, 15, 0, 33, 39, 18, 3, 68, 33, 18, 9, 62, 42, 16,244,236,252,236, 17, 57, 57, 17, 57, 57, 17, 18, 23, 57, 17, 23, 57, 49, + 0, 16,236,204,244,236, 16,238, 18, 57, 57, 18, 57, 18, 23, 57, 48, 75, 83, 88, 7, 16, 8,237, 7, 16, 5,237, 7, 16, 5,237, + 23, 57, 7, 8,237, 89, 34, 1, 22, 18, 21, 16, 2, 35, 34, 2, 17, 16, 18, 51, 50, 22, 23, 46, 1, 39, 5, 39, 55, 39, 51, 23, + 37, 23, 3, 46, 1, 35, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 2,205,197,182,251,229,228,251,251,224, 34, 35, 15, 33, 72, + 38,254,233, 30,237,182,219,127, 1, 33, 33,174, 35, 82, 45,146,153,148,136,137,148, 58, 5, 47,212,254,132,200,254,244,254,216, + 1, 40, 1, 12, 1, 9, 1, 40, 2, 2, 45, 89, 44, 92, 98, 80,200,145, 94, 98,254, 23, 13, 13,210,199,196,212,212,196,110,203, +255,255, 0,195, 0, 0, 4, 27, 6, 55, 16, 38, 0, 81, 0, 0, 16, 6, 2,110, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, + 6,102, 16, 38, 0, 82, 0, 0, 16, 6, 0, 67, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, 6,102, 16, 38, 0, 82, 0, 0, + 16, 6, 0,118, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, 6,102, 16, 38, 0, 82, 0, 0, 17, 6, 2, 95, 0, 0, 0, 16, +180, 15, 26, 30, 21, 7, 43, 64, 5, 15, 26, 0, 30, 2, 93, 49,255,255, 0,137,255,227, 4, 72, 6, 55, 16, 38, 0, 82, 0, 0, + 17, 6, 2,110, 0, 0, 0, 24,180, 15, 46, 32, 21, 7, 43, 64, 13, 48, 32, 63, 46, 32, 32, 47, 46, 16, 32, 31, 46, 6, 93, 49, +255,255, 0,137,255,227, 4, 72, 6, 16, 16, 38, 0, 82, 0, 0, 17, 6, 0,106, 0, 0, 0, 24,180, 9, 30, 27, 3, 7, 43, 64, + 13,127, 30,112, 27, 95, 30, 80, 27, 79, 30, 64, 27, 6, 93, 49, 0, 3, 0, 88, 0,150, 4,121, 4,111, 0, 3, 0, 7, 0, 11, + 0, 39, 64, 19, 2,254, 0, 4,254, 6, 8,160, 0, 10, 12, 9, 5, 1,119, 8, 4, 0, 12, 16,212, 60,196,252, 60,196, 49, 0, + 16,212,196,252,212,236, 16,238, 48, 1, 51, 21, 35, 17, 51, 21, 35, 5, 33, 21, 33, 1,238,245,245,245,245,254,106, 4, 33,251, +223, 1,139,245, 3,217,246,162,170, 0, 0, 0, 0, 3, 0, 47,255,160, 4,150, 4,188, 0, 9, 0, 19, 0, 43, 0,115, 64, 62, + 43, 44, 38, 31, 29, 26, 19, 10, 1, 0, 4, 13, 41, 38, 32, 20, 13, 4, 42, 38, 30, 26, 4,140, 38, 13,140, 26,190, 38,153, 44, + 43, 44, 42, 20, 23, 16, 32, 30, 35, 19, 10, 1, 0, 4, 7, 41, 23, 16, 29, 7, 31, 7, 18, 35, 68, 16, 18, 23, 62, 44, 16,244, +236,252,236,192, 18, 57, 17, 18, 57, 18, 23, 57, 17, 57, 57, 17, 18, 57, 57, 17, 57, 49, 0, 16,228,244,236, 16,238, 16,192, 16, +192, 17, 18, 57, 57, 18, 57, 18, 23, 57, 17, 57, 57, 17, 18, 57, 48, 9, 1, 30, 1, 51, 50, 54, 53, 52, 38, 39, 46, 1, 35, 34, + 6, 21, 20, 22, 23, 7, 46, 1, 53, 16, 18, 51, 50, 22, 23, 55, 23, 7, 30, 1, 21, 16, 2, 35, 34, 38, 39, 7, 39, 3,109,254, + 49, 36,101, 65,141,144, 12, 72, 35, 99, 67,139,149, 14, 14,139, 39, 41,246,233,100,158, 60,147, 93,164, 42, 44,246,234,103,157, + 57,160, 92, 3, 12,253,209, 47, 47,219,213, 52,111,175, 48, 46,214,202, 48,116, 71,160, 71,195,113, 1, 30, 1, 46, 55, 56,176, + 77,195, 66,193,122,254,225,254,211, 59, 60,186, 76, 0, 0, 0,255,255, 0,195,255,227, 4, 27, 6,102, 16, 38, 0, 88, 0, 0, + 16, 6, 0, 67, 0, 0, 0, 0,255,255, 0,195,255,227, 4, 27, 6,102, 16, 38, 0, 88, 0, 0, 16, 6, 0,118, 0, 0, 0, 0, +255,255, 0,195,255,227, 4, 27, 6,102, 16, 38, 0, 88, 0, 0, 17, 6, 2, 95, 0, 0, 0, 16,180, 11, 22, 26, 1, 7, 43, 64, + 5, 15, 22, 0, 26, 2, 93, 49,255,255, 0,195,255,227, 4, 27, 6, 16, 16, 38, 0, 88, 0, 0, 17, 6, 0,106, 0, 0, 0, 24, +180, 10, 26, 23, 2, 7, 43, 64, 13,127, 26,112, 23, 95, 26, 80, 23, 79, 26, 64, 23, 6, 93, 49,255,255, 0,104,254, 86, 4,129, + 6,102, 16, 38, 0, 92, 0, 0, 16, 6, 0,118, 0, 0, 0, 0, 0, 2, 0,190,254, 86, 4, 84, 6, 31, 0, 16, 0, 28, 0, 51, + 64, 28, 5, 0, 26, 20,140, 8, 26,140, 14,153, 8,190, 1,195, 3,197, 29, 17, 18, 11, 71, 23, 4, 0, 6, 2, 70, 29, 16,244, +236, 50, 50,252,236, 49, 0, 16,236,228,228,244,236, 16,238, 17, 57, 57, 48, 37, 17, 35, 17, 51, 17, 62, 1, 51, 50, 18, 17, 16, + 2, 35, 34, 38, 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 1,119,185,185, 46,153,100,203,231,232,202,102,153, 1,240,135, +133,134,138,138,134,133,135,141,253,201, 7,201,253,178, 83, 87,254,198,254,234,254,239,254,201, 87, 1,245,214,218,219,213,212, +220,218, 0, 0,255,255, 0,104,254, 86, 4,129, 6, 16, 16, 38, 0, 92, 0, 0, 16, 6, 0,106, 0, 0, 0, 0,255,255, 0, 37, + 0, 0, 4,172, 7, 48, 16, 38, 11,189, 0, 0, 17, 6, 0, 36, 0, 0, 0, 20,180, 9, 2, 3, 14, 7, 43, 64, 9, 64, 3, 79, + 2, 32, 3, 47, 2, 4, 93, 49,255,255, 0,133,255,227, 4, 35, 5,246, 16, 38, 2,128, 0, 0, 16, 6, 0, 68, 0, 0, 0, 0, +255,255, 0, 37, 0, 0, 4,172, 7,109, 16, 38, 11,184, 0, 0, 17, 6, 0, 36, 0, 0, 0, 24,180, 19, 8, 0, 24, 7, 43, 64, + 13, 95, 8, 80, 0, 79, 8, 64, 0, 47, 8, 32, 0, 6, 93, 49,255,255, 0,133,255,227, 4, 35, 6, 72, 16, 38, 2,130, 0, 0, + 16, 6, 0, 68, 0, 0, 0, 0,255,255, 0, 37,254,117, 4,224, 5,213, 16, 39, 2,109, 1,199, 0, 0, 16, 6, 0, 36, 0, 0, +255,255, 0,133,254,117, 4,114, 4,123, 16, 39, 2,109, 1, 89, 0, 0, 16, 6, 0, 68, 0, 0,255,255, 0,139,255,227, 4, 49, + 7,107, 16, 38, 0, 38, 0, 0, 16, 7, 11,177, 0, 90, 1,117,255,255, 0,195,255,227, 4, 37, 6,102, 16, 38, 0, 70, 0, 0, + 16, 6, 0,118, 90, 0, 0, 0,255,255, 0,139,255,227, 4, 49, 7,116, 16, 39, 11,180, 0,126, 1,124, 16, 6, 0, 38, 0, 0, +255,255, 0,195,255,227, 4, 37, 6,102, 16, 38, 2, 95, 90, 0, 16, 6, 0, 70, 0, 0, 0, 0,255,255, 0,139,255,227, 4, 49, + 7, 80, 16, 38, 11,185, 75, 0, 16, 6, 0, 38, 0, 0, 0, 0,255,255, 0,195,255,227, 4, 37, 6, 16, 16, 38, 2,131, 75, 0, + 16, 6, 0, 70, 0, 0, 0, 0,255,255, 0,139,255,227, 4, 49, 7,109, 16, 38, 0, 38, 0, 0, 16, 7, 11,181, 0, 90, 1,117, +255,255, 0,195,255,227, 4, 37, 6,102, 16, 38, 0, 70, 0, 0, 16, 6, 2, 96, 90, 0, 0, 0,255,255, 0,137, 0, 0, 4, 82, + 7,103, 16, 38, 0, 39, 0, 0, 16, 7, 11,181,255,178, 1,111,255,255, 0,123,255,227, 5, 32, 6, 21, 16, 39, 11,175, 2, 58, +255,175, 17, 6, 0, 71, 0, 0, 0, 13,185, 0, 0, 0, 64, 56, 64, 3,127, 0, 1, 93, 49, 0,255,255, 0, 8, 0, 0, 4, 78, + 5,213, 16, 6, 0,146, 0, 0, 0, 2, 0,123,255,227, 4,209, 6, 20, 0, 24, 0, 36, 0, 72, 64, 9, 13, 0, 34, 28, 7, 3, +231, 9, 1,184, 1, 12, 64, 28, 34,140, 22, 28,140, 16,153, 22,190, 5,155, 11, 2, 31, 12, 4, 3, 0, 6, 8, 10, 6, 71, 25, + 18, 19, 72, 37, 16,244,236,252, 60,196,252, 23, 60,196, 49, 0, 47,236,228,244,236, 16,238,253, 60,238, 50, 17, 18, 57, 57, 48, + 1, 17, 33, 53, 33, 53, 51, 21, 51, 21, 35, 17, 35, 53, 14, 1, 35, 34, 2, 17, 16, 18, 51, 50, 22, 1, 20, 22, 51, 50, 54, 53, + 52, 38, 35, 34, 6, 3, 90,254,207, 1, 49,184,191,191,184, 46,153,100,203,233,234,202,101,154,254, 15,136,133,133,139,139,133, +133,136, 3,209, 1, 53,121,149,149,121,250,250,141, 83, 87, 1, 59, 1, 21, 1, 17, 1, 55, 87,254, 11,214,218,220,212,213,219, +218, 0, 0, 0,255,255, 0,197, 0, 0, 4, 78, 7, 48, 16, 38, 11,189, 18, 0, 16, 6, 0, 40, 0, 0, 0, 0,255,255, 0,123, +255,227, 4, 88, 5,246, 16, 38, 2,128, 35, 0, 16, 6, 0, 72, 0, 0, 0, 0,255,255, 0,197, 0, 0, 4, 78, 7,109, 16, 38, + 11,184, 18, 0, 16, 6, 0, 40, 0, 0, 0, 0,255,255, 0,123,255,227, 4, 88, 6, 72, 16, 38, 2,130, 14, 0, 16, 6, 0, 72, + 0, 0, 0, 0,255,255, 0,197, 0, 0, 4, 78, 7, 80, 16, 38, 11,185, 18, 0, 16, 6, 0, 40, 0, 0, 0, 0,255,255, 0,123, +255,227, 4, 88, 6, 16, 16, 38, 2,131, 14, 0, 16, 6, 0, 72, 0, 0, 0, 0,255,255, 0,197,254,117, 4, 78, 5,213, 16, 39, + 2,109, 1, 49, 0, 0, 16, 6, 0, 40, 0, 0,255,255, 0,123,254,117, 4, 88, 4,123, 16, 39, 2,109, 0,246, 0, 0, 16, 6, + 0, 72, 0, 0,255,255, 0,197, 0, 0, 4, 78, 7,103, 16, 38, 0, 40, 0, 0, 16, 7, 11,181, 0, 36, 1,111,255,255, 0,123, +255,227, 4, 88, 6, 97, 16, 38, 0, 72, 0, 0, 16, 6, 2, 96, 35,251, 0, 0,255,255, 0,102,255,227, 4, 80, 7,109, 16, 39, + 11,180, 0, 0, 1,117, 16, 6, 0, 42, 0, 0,255,255, 0,123,254, 72, 4, 18, 6,102, 16, 38, 2, 95, 0, 0, 16, 6, 0, 74, + 0, 0, 0, 0,255,255, 0,102,255,227, 4, 80, 7,109, 16, 38, 11,184, 50, 0, 16, 6, 0, 42, 0, 0, 0, 0,255,255, 0,123, +254, 72, 4, 18, 6, 72, 16, 38, 2,130, 0, 0, 16, 6, 0, 74, 0, 0, 0, 0,255,255, 0,102,255,227, 4, 80, 7, 80, 16, 38, + 11,185, 50, 0, 16, 6, 0, 42, 0, 0, 0, 0,255,255, 0,123,254, 72, 4, 18, 6, 16, 16, 38, 2,131, 0, 0, 16, 6, 0, 74, + 0, 0, 0, 0,255,255, 0,102,253,195, 4, 80, 5,240, 16, 39, 2,162, 0,128,255,225, 16, 6, 0, 42, 0, 0,255,255, 0,123, +254, 72, 4, 18, 6, 78, 16, 39, 2,142, 0, 17, 1, 46, 16, 6, 0, 74, 0, 0,255,255, 0,137, 0, 0, 4, 72, 7,109, 16, 39, + 11,180, 0, 0, 1,117, 17, 6, 0, 43, 0, 0, 0, 20,180, 12, 2, 6, 7, 7, 43, 64, 9, 32, 6, 47, 2, 0, 6, 15, 2, 4, + 93, 49, 0, 0,255,255, 0,195, 0, 0, 4, 27, 7,109, 16, 39, 11,180, 0, 0, 1,117, 17, 6, 0, 75, 0, 0, 0, 24, 0, 75, +176, 18, 81, 88,185, 0, 0, 0, 64, 56, 89, 64, 7,112, 0, 96, 0, 79, 0, 3, 93, 48, 0, 0, 0, 2, 0, 3, 0, 0, 4,206, + 5,213, 0, 19, 0, 23, 0, 63, 64, 33, 6, 2, 18,151, 9, 20, 17, 12,151, 21,177, 4, 0,136, 14, 10, 7, 12, 23, 4, 30, 9, + 5, 49, 18, 13, 20, 1, 30, 16, 0, 48, 24, 16,252, 60,236, 50, 50,204,252, 60,236, 50, 50,204, 49, 0, 47, 60,228, 50,252,236, +220, 60, 60,236, 50, 50, 48, 19, 51, 21, 33, 53, 51, 21, 51, 21, 35, 17, 35, 17, 33, 17, 35, 17, 35, 53, 51, 23, 21, 33, 53,137, +202, 2, 42,202,135,135,202,253,214,202,134,134,202, 2, 42, 5,213,224,224,224,164,251,175, 2,199,253, 57, 4, 81,164,164,224, +224, 0, 0, 0, 0, 1, 0, 70, 0, 0, 4, 27, 6, 20, 0, 27, 0, 63, 64, 34, 9, 22, 3, 0, 3, 1, 18, 14,182, 21, 13, 6, +140, 25,190, 16,155, 10, 1, 2, 6, 0, 74, 16, 19, 17, 21, 9, 6, 14, 16, 11, 70, 28, 16,244, 60,204,252, 50, 50,204, 16,252, +236, 49, 0, 47, 60,236,244,236,220, 60,236, 50, 17, 23, 57, 57, 48, 1, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 35, 53, + 51, 53, 51, 21, 33, 21, 33, 17, 62, 1, 51, 50, 22, 4, 27,185,106,113,129,139,184,125,125,184, 1, 97,254,159, 49,168,115,171, +169, 2,182,253, 74, 2,182,151,142,183,171,253,135, 4,246,164,122,122,164,254,194, 96, 99,225,255,255, 0,201, 0, 0, 4, 6, + 7, 94, 16, 39, 11,178, 0, 0, 1,117, 17, 6, 0, 44, 0, 0, 0, 24,180, 31, 24, 9, 30, 7, 43, 64, 13, 79, 24, 64, 9, 63, + 24, 48, 9, 47, 24, 32, 9, 6, 93, 49, 0, 0,255,255, 0,178, 0, 0, 4, 68, 6, 55, 16, 38, 2,110, 0, 0, 16, 6, 0,243, + 0, 0, 0, 0,255,255, 0,201, 0, 0, 4, 6, 7, 48, 16, 38, 11,189, 0, 0, 17, 6, 0, 44, 0, 0, 0, 16,180, 5, 2, 3, + 4, 7, 43, 64, 5, 79, 2, 64, 3, 2, 93, 49,255,255, 0,178, 0, 0, 4, 68, 5,246, 16, 38, 2,128, 0, 0, 16, 6, 0,243, + 0, 0, 0, 0,255,255, 0,201, 0, 0, 4, 6, 7,109, 16, 38, 11,184, 0, 0, 17, 6, 0, 44, 0, 0, 0, 16,180, 15, 8, 0, + 14, 7, 43, 64, 5, 79, 8, 64, 0, 2, 93, 49,255,255, 0,178, 0, 0, 4, 68, 6, 72, 16, 38, 2,130, 0, 0, 16, 6, 0,243, + 0, 0, 0, 0,255,255, 0,201,254,117, 4, 6, 5,213, 16, 38, 0, 44, 0, 0, 16, 6, 2,109, 70, 0, 0, 0,255,255, 0,178, +254,117, 4, 68, 6, 20, 16, 38, 0, 76, 0, 0, 16, 6, 2,109, 80, 0, 0, 0,255,255, 0,201, 0, 0, 4, 6, 7, 80, 16, 38, + 11,185, 0, 0, 16, 6, 0, 44, 0, 0, 0, 0, 0, 1, 0,178, 0, 0, 4, 68, 4, 96, 0, 9, 0, 34, 64, 18, 8,182, 0,194, + 6, 2,182, 4, 3, 76, 1, 6, 5, 76, 0, 75, 7, 10, 16,212,228,236,252,236, 49, 0, 47,236, 50,244,236, 48, 1, 33, 17, 33, + 21, 33, 53, 33, 17, 33, 1, 0, 1,215, 1,109,252,110, 1,109,254,225, 4, 96,252, 47,143,143, 3, 66, 0, 0, 0, 2,255,255, +255,230, 4,204, 5,216, 0, 20, 0, 32, 0, 61, 64, 31, 1, 0,178, 4,151, 17,153, 33, 10, 24, 32,151, 11, 21,136, 25, 29,151, + 27, 1, 11, 9, 12, 34, 26, 22, 24, 29, 21, 31, 33, 16,212,204, 50,220,204, 50, 16,212,204,196,196, 49, 0, 47,236, 50,244, 60, +236, 50, 50, 16,244,236,244,204, 48, 37, 53, 30, 1, 51, 50, 55, 54, 53, 17, 33, 53, 33, 17, 16, 7, 6, 35, 34, 39, 38, 1, 33, + 21, 35, 17, 51, 21, 33, 53, 51, 17, 35, 2,140, 61,132, 71, 97, 39, 38,254,253, 1,141, 72, 72,168, 65, 65, 64,253, 45, 2, 93, +228,228,253,163,228,228, 64,236, 81, 81, 74, 75,203, 3, 68,170,252, 18,254,230,117,117, 22, 22, 5,195,170,251,127,170,170, 4, +129, 0, 0, 0, 0, 4,255,251,254, 75, 4,138, 6, 20, 0, 13, 0, 17, 0, 27, 0, 31, 0, 73, 64, 38, 10,140, 9,195, 32, 2, + 27,182, 18, 17, 31,196, 14, 28,155, 3, 18,194, 20, 24,182, 23, 10, 3, 14, 1, 6, 15, 4, 33, 21, 29, 19, 24, 18, 28, 26, 32, + 16,212, 60,196,204,220, 60,204, 16,220, 60,252, 60,196,196, 49, 0, 47,236, 50,228, 50,252, 60,236, 50, 16,238, 50, 16,244,236, + 48, 5, 17, 33, 53, 33, 17, 20, 6, 43, 1, 53, 51, 50, 54, 17, 51, 21, 35, 5, 33, 17, 33, 21, 33, 53, 33, 17, 35, 19, 51, 21, + 35, 3,210,254,195, 1,245,179,165,254,234, 90, 90,184,184,252,105, 1,130, 1, 44,253, 18, 1, 43,235,235,151,151, 31, 3,229, +143,251,140,195,211,156,125, 6,165,233,192,252, 47,143,143, 3, 66, 2, 67,233,255,255, 0,109,255,227, 3,202, 7,109, 16, 39, + 11,180, 0, 48, 1,117, 16, 6, 0, 45, 0, 0,255,255, 0,186,254, 86, 3,168, 6,102, 16, 38, 2, 95, 0, 0, 16, 6, 1,226, + 0, 0, 0, 0,255,255, 0,137,253,224, 4,201, 5,213, 16, 38, 2,162,106,254, 16, 6, 0, 46, 0, 0, 0, 0,255,255, 0,236, +253,224, 4,178, 6, 20, 16, 39, 2,162, 0,144,255,254, 16, 6, 0, 78, 0, 0, 0, 1, 0,236, 0, 0, 4,178, 4, 96, 0, 11, + 0,196, 64, 57, 8, 23, 9, 8, 5, 6, 5, 7, 23, 6, 6, 5, 9, 23, 3, 2, 8, 23, 7, 8, 3, 2, 5, 23, 6, 5, 2, 3, + 2, 4, 23, 3, 3, 2, 66, 8, 5, 2, 3, 3, 0,194, 10, 6, 8, 5, 4, 3, 6, 9, 1, 6, 6, 68, 0, 69, 12, 16,244,236, +236, 50, 17, 23, 57, 49, 0, 47, 60,236, 50, 23, 57, 48, 75, 83, 88, 7, 16, 5,237, 7, 16, 8,237, 7, 8,237, 7, 4,237, 7, + 16, 5,237, 7, 16, 8,237, 89, 34,178, 8, 7, 1, 1, 93, 64, 82, 6, 2, 8, 8, 22, 2, 24, 5, 24, 8, 53, 2, 52, 5, 54, + 8, 70, 2,102, 2,117, 2,118, 5, 12, 9, 3, 8, 8, 25, 3, 23, 4, 24, 5, 25, 6, 26, 7, 24, 8, 40, 3, 39, 5, 40, 7, + 59, 3, 59, 4, 55, 5, 57, 7, 55, 8, 74, 3, 73, 7, 89, 6, 89, 7,107, 3,105, 4,105, 6,105, 7,121, 3,120, 5,121, 6, +121, 7, 28, 93, 0, 93, 19, 51, 17, 1, 51, 9, 1, 35, 1, 7, 17, 35,236,190, 1,227,224,254, 71, 1,254,225,254, 98,137,190, + 4, 96,254, 47, 1,209,254, 90,253, 70, 2, 66,129,254, 63, 0,255,255, 0,200, 0, 0, 4,115, 7,108, 16, 39, 11,177,254,237, + 1,118, 17, 6, 0, 47, 0, 0, 0, 7, 64, 3, 32, 0, 1, 93, 49, 0, 0, 0,255,255, 0,160, 0, 0, 4, 10, 7,108, 16, 39, + 11,177,255,161, 1,118, 17, 6, 0, 79, 0, 0, 0, 24, 0, 75,176, 14, 81, 88,185, 0, 0, 0, 64, 56, 89, 64, 7,159, 0,143, + 0, 79, 0, 3, 93, 48, 0, 0,255,255, 0,215,253,224, 4,115, 5,213, 16, 38, 2,162,102,254, 16, 6, 0, 47, 0, 0, 0, 0, +255,255, 0,160,253,224, 4, 10, 6, 31, 16, 38, 2,162,251,254, 16, 6, 0, 79, 0, 0, 0, 0,255,255, 0,215, 0, 0, 4,115, + 5,213, 16, 39, 11,175, 0,174,255,109, 16, 6, 0, 47, 0, 0,255,255, 0,160, 0, 0, 4,134, 6, 31, 16, 39, 11,175, 1,160, +255,185, 16, 6, 0, 79, 0, 0,255,255, 0,215, 0, 0, 4,115, 5,213, 16, 39, 0,121, 1, 96, 0,134, 16, 6, 0, 47, 0, 0, +255,255, 0,160, 0, 0, 4,188, 6, 31, 16, 39, 0,121, 1,215, 0,144, 16, 6, 0, 79, 0, 0, 0, 1,255,246, 0, 0, 4,115, + 5,213, 0, 13, 0, 55, 64, 30, 12, 11, 10, 4, 3, 2, 6, 0, 6,151, 0,136, 8, 3, 4, 7, 1, 11, 14, 0, 12, 5, 1, 30, + 7, 49, 9, 0, 52, 14, 16,252, 60,236,236, 50, 46, 17, 18, 57, 17, 18, 57, 57, 49, 0, 47,228,236, 17, 23, 57, 48, 19, 51, 17, + 37, 23, 1, 17, 33, 21, 33, 17, 7, 39, 55,215,203, 1, 59, 78,254,119, 2,209,252,100,145, 80,225, 5,213,253,152,219,111,254, +238,253,227,170, 2, 59,106,110,158, 0, 0, 0, 0, 1, 0, 76, 0, 0, 4, 10, 6, 31, 0, 21, 0, 62, 64, 33, 20, 19, 18, 12, + 11, 10, 6, 9, 0, 3, 14,182, 16,197, 3,182, 5, 11, 12, 22, 15, 19, 3, 6, 20, 4, 17, 0, 6, 15, 13, 9, 22, 16,212, 60, +204,252, 60,204, 50, 57, 57, 57, 17, 18, 57, 57, 49, 0, 47,236,252,236, 17, 57, 57, 23, 57, 48, 1, 20, 22, 59, 1, 21, 35, 34, + 38, 53, 17, 5, 39, 1, 17, 33, 53, 33, 17, 37, 23, 1, 2,127, 91, 89,215,233,165,181,254,213, 80, 1,123,254,217, 1,223, 1, + 59, 80,254,117, 1,150,124,126,156,212,194, 1, 36,209,111, 1, 8, 2, 47,144,253,190,219,110,254,237, 0, 0,255,255, 0,139, + 0, 0, 4, 70, 7,107, 16, 39, 11,177, 0, 33, 1,117, 16, 6, 0, 49, 0, 0,255,255, 0,195, 0, 0, 4, 27, 6,109, 16, 38, + 0,118, 20, 7, 16, 6, 0, 81, 0, 0, 0, 0,255,255, 0,139,253,224, 4, 70, 5,213, 16, 38, 2,162, 42,254, 16, 6, 0, 49, + 0, 0, 0, 0,255,255, 0,195,253,224, 4, 27, 4,123, 16, 38, 2,162, 48,254, 16, 6, 0, 81, 0, 0, 0, 0,255,255, 0,139, + 0, 0, 4, 70, 7,109, 16, 38, 0, 49, 0, 0, 16, 7, 11,181, 0, 42, 1,117,255,255, 0,195, 0, 0, 4, 27, 6,102, 16, 38, + 0, 81, 0, 0, 16, 6, 2, 96,244, 0, 0, 0,255,255, 0, 24, 0, 0, 4,150, 6, 20, 16, 38, 0, 81,123, 0, 16, 7, 2, 89, +254, 73, 0, 0, 0, 1, 0,147,254, 86, 4, 61, 5,242, 0, 29, 0, 50, 64, 28, 24, 19, 13, 0, 4, 21, 16,151, 27,150, 22,136, + 21, 7,151, 6, 21, 7, 13, 30, 0, 49, 19, 23, 30, 22, 48, 30, 16,244,236, 50,252,236,196, 49, 0, 47,212,236, 16,228,244,236, + 17, 23, 57, 48, 1, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, + 50, 18, 4, 61, 89, 90,165,205,167, 90, 45, 44,116,124,141,152,202,202, 54,184,126,187,185, 3,231,252, 5,195,105,106,156, 62, + 62,146, 3,241,180,169,218,203,252, 87, 5,213,198,111,116,254,251, 0, 0, 0, 0, 1, 0,195,254, 86, 4, 27, 4,123, 0, 32, + 0, 50, 64, 28, 25, 20, 13, 0, 4, 22, 16,140, 29,190, 23,194, 22, 6,182, 7, 22, 7, 13, 6, 0, 74, 20, 24, 6, 23, 70, 33, + 16,244,236, 50,252,236,196, 49, 0, 47,212,236, 16,228,244,236, 17, 23, 57, 48, 1, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, + 53, 17, 52, 38, 35, 34, 7, 6, 21, 17, 35, 17, 51, 21, 54, 55, 54, 51, 50, 23, 22, 4, 27, 89, 90,165,205,185, 90, 45, 44,106, +113,129, 70, 69,184,184, 49, 84, 84,115,171, 84, 85, 2,182,253, 54,195,105,106,156, 62, 62,126, 2,202,151,142, 91, 92,171,253, +135, 4, 96,168, 96, 50, 49,113,112, 0, 0, 0,255,255, 0,117,255,227, 4, 92, 7, 48, 16, 38, 11,189, 0, 0, 17, 6, 0, 50, + 0, 0, 0, 20,180, 16, 2, 3, 22, 7, 43, 64, 9, 79, 2, 64, 3, 47, 2, 32, 3, 4, 93, 49,255,255, 0,137,255,227, 4, 72, + 5,246, 16, 38, 2,128, 0, 0, 17, 6, 0, 82, 0, 0, 0, 8,180, 19, 2, 3, 25, 7, 43, 49,255,255, 0,117,255,227, 4, 92, + 7,109, 16, 38, 11,184, 0, 0, 17, 6, 0, 50, 0, 0, 0, 16,180, 26, 8, 0, 32, 7, 43, 64, 5, 47, 8, 32, 0, 2, 93, 49, +255,255, 0,137,255,227, 4, 72, 6, 72, 16, 38, 2,130, 0, 0, 17, 6, 0, 82, 0, 0, 0, 16,180, 29, 8, 0, 35, 7, 43, 64, + 5, 15, 8, 0, 0, 2, 93, 49,255,255, 0,117,255,227, 4, 92, 7,107, 16, 38, 11,186, 0, 0, 16, 6, 0, 50, 0, 0, 0, 0, +255,255, 0,137,255,227, 4, 72, 6,102, 16, 38, 2,135, 0, 0, 16, 6, 0, 82, 0, 0, 0, 0, 0, 2, 0, 72, 0, 0, 4,193, + 5,213, 0, 16, 0, 25, 0, 59, 64, 31, 14,151, 12, 17, 10,151, 8,136, 23, 0,151, 12,177, 1, 23, 17, 8, 2, 20, 15, 11, 30, + 24, 9, 13, 0, 45, 20, 30, 5, 26, 16,220,236,252,196,196,212,236, 50, 18, 57, 57, 57, 57, 49, 0, 47,236,236, 50,244,236, 50, + 16,238, 48, 37, 21, 33, 32, 2, 17, 16, 18, 41, 1, 21, 33, 17, 33, 21, 33, 17, 1, 34, 6, 17, 16, 22, 59, 1, 17, 4,193,253, +163,254,217,245,244, 1, 40, 2, 82,254,154, 1, 72,254,184,254,254,177,139,139,177, 61,170,170, 1, 77, 1,156, 1,161, 1, 75, +170,254, 70,170,253,227, 4,129,230,254,164,254,166,229, 4,129, 0, 3, 0, 14,255,227, 4,186, 4,123, 0, 10, 0, 22, 0, 56, + 0,105, 64, 57, 50, 47, 9, 6, 0, 25, 31, 23, 38, 32, 11, 56, 23, 0, 32,139, 31,141, 11, 0,182, 23, 28, 11,140, 35, 23,193, + 17, 6,140, 53, 47,190, 41, 35,153, 57, 0, 3, 50, 38, 24, 9, 77, 14,117, 31, 3, 77, 23, 67, 20, 77, 44,115, 57, 16,244,236, +252,236,196,252,236, 50, 57, 57, 17, 57, 49, 0, 16,228, 50,244, 60,236, 50,228, 16,238, 50, 16,238, 16,244,238, 17, 18, 57, 17, + 18, 57, 17, 18, 57, 17, 18, 57, 17, 57, 48, 1, 52, 54, 53, 52, 38, 35, 34, 6, 29, 1, 1, 50, 54, 53, 16, 38, 35, 34, 6, 17, + 16, 22, 1, 33, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 39, 14, 1, 35, 34, 2, 17, 16, 18, 51, 50, 22, 23, 62, 1, + 51, 50, 22, 17, 4, 23, 2, 80, 86, 87, 77,254,166,102, 82, 80,104,103, 80, 80, 3,172,254, 21, 99,112, 80,131, 47, 59,125, 74, + 98,147, 48, 52,128, 84,189,170,170,189, 89,128, 47, 37,130, 87,175,144, 2,145, 11, 38, 9,145,135,137,158, 43,253,234,168,239, + 1, 35,174,167,254,243,254,243,167, 1,135, 84,163,144, 53, 51,172, 43, 41, 67, 66, 68, 65, 1, 20, 1, 56, 1, 56, 1, 20, 62, + 65, 62, 65,237,254,206, 0, 0,255,255, 0,143, 0, 0, 4,209, 7,107, 16, 39, 11,177,255,181, 1,117, 16, 6, 0, 53, 0, 0, +255,255, 1,106, 0, 0, 4,136, 6,109, 16, 39, 0,118, 0,206, 0, 7, 16, 6, 0, 85, 0, 0,255,255, 0,143,253,224, 4,209, + 5,213, 16, 38, 2,162,114,254, 16, 6, 0, 53, 0, 0, 0, 0,255,255, 1, 32,253,224, 4,131, 4,123, 16, 38, 2,162,136,254, + 16, 6, 0, 85, 0, 0, 0, 0,255,255, 0,143, 0, 0, 4,209, 7,103, 16, 38, 0, 53, 0, 0, 16, 7, 11,181,255,196, 1,111, +255,255, 1,106, 0, 0, 4,131, 6,102, 16, 38, 0, 85, 0, 0, 16, 6, 2, 96, 90, 0, 0, 0,255,255, 0,139,255,227, 4, 74, + 7,107, 16, 39, 11,177, 0, 25, 1,117, 16, 6, 0, 54, 0, 0,255,255, 0,213,255,227, 4, 6, 6,109, 16, 38, 0,118, 26, 7, + 16, 6, 0, 86, 0, 0, 0, 0,255,255, 0,139,255,227, 4, 74, 7,109, 16, 39, 11,180, 0, 0, 1,117, 16, 6, 0, 54, 0, 0, +255,255, 0,213,255,227, 4, 6, 6,102, 16, 38, 2, 95, 0, 0, 16, 6, 0, 86, 0, 0, 0, 0,255,255, 0,139,254,117, 4, 74, + 5,240, 16, 38, 2,163, 0, 0, 16, 6, 0, 54, 0, 0, 0, 0,255,255, 0,213,254,117, 4, 6, 4,123, 16, 38, 2,163, 0, 0, + 16, 6, 0, 86, 0, 0, 0, 0,255,255, 0,139,255,227, 4, 74, 7,109, 16, 38, 0, 54, 0, 0, 16, 7, 11,181, 0, 0, 1,117, +255,255, 0,213,255,227, 4, 6, 6,102, 16, 38, 0, 86, 0, 0, 16, 6, 2, 96, 0, 0, 0, 0,255,255, 0, 47,254,117, 4,162, + 5,213, 16, 38, 2,163, 0, 0, 16, 6, 0, 55, 0, 0, 0, 0,255,255, 0,131,254,117, 4, 8, 5,158, 16, 38, 2,163,121, 0, + 16, 6, 0, 87, 0, 0, 0, 0,255,255, 0, 47, 0, 0, 4,162, 7,109, 16, 38, 0, 55, 0, 0, 17, 7, 11,181, 0, 6, 1,117, + 0, 8,180, 1, 13, 9, 0, 7, 43, 49, 0, 0,255,255, 0,131, 0, 0, 4, 8, 6,126, 16, 38, 0, 87, 0, 0, 16, 7, 11,175, + 1, 20, 0, 24, 0, 1, 0, 47, 0, 0, 4,162, 5,213, 0, 15, 0, 45, 64, 23, 4, 12,151, 7, 11, 3, 15,151, 0,136, 8, 1, + 58, 5, 7, 3, 30, 12, 0, 58, 10, 14, 16, 16,212, 60,236,204,252, 60,204,236, 49, 0, 47,244,236, 50,212, 60,236, 50, 48, 19, + 33, 21, 33, 17, 33, 21, 33, 17, 35, 17, 33, 53, 33, 17, 33, 47, 4,115,254, 45, 1, 9,254,247,203,254,247, 1, 9,254, 43, 5, +213,170,253,192,170,253,191, 2, 65,170, 2, 64, 0, 1, 0,131, 0, 0, 4, 8, 5,158, 0, 27, 0, 66, 64, 33, 18, 9, 12, 5, + 21,182, 8, 20, 4, 24,182, 27, 1, 25,194, 12,182, 15, 12, 15, 13, 2, 6, 8, 4, 0, 6, 21, 25, 19, 23, 27, 28, 16,212, 60, + 60,196,196,252, 60, 60,196,196, 50, 57, 57, 49, 0, 47,236,244, 60,196,236, 50,212, 60,236, 50, 17, 57, 57, 48, 1, 17, 33, 21, + 33, 21, 51, 21, 35, 21, 20, 22, 59, 1, 21, 35, 34, 38, 61, 1, 35, 53, 51, 53, 33, 53, 33, 17, 2,102, 1,162,254, 94,229,229, + 94,117,207,225,207,170,229,229,254,213, 1, 43, 5,158,254,194,143,233,142,233,124, 98,147,166,203,233,142,233,143, 1, 62, 0, +255,255, 0,147,255,227, 4, 61, 7, 94, 16, 39, 11,178, 0, 0, 1,117, 17, 6, 0, 56, 0, 0, 0, 16,180, 47, 24, 9, 31, 7, + 43, 64, 5, 79, 24, 64, 9, 2, 93, 49, 0, 0,255,255, 0,195,255,227, 4, 27, 6, 55, 16, 38, 2,110, 0, 0, 17, 6, 0, 88, + 0, 0, 0, 16,180, 39, 22, 8, 29, 7, 43, 64, 5, 47, 22, 32, 8, 2, 93, 49,255,255, 0,147,255,227, 4, 61, 7, 48, 16, 38, + 11,189, 0, 0, 17, 6, 0, 56, 0, 0, 0, 20,180, 21, 2, 3, 5, 7, 43, 64, 9, 79, 2, 64, 3, 47, 2, 32, 3, 4, 93, 49, +255,255, 0,195,255,227, 4, 27, 5,246, 16, 38, 2,128, 0, 0, 17, 6, 0, 88, 0, 0, 0, 8,180, 15, 1, 0, 5, 7, 43, 49, +255,255, 0,147,255,227, 4, 61, 7,109, 16, 38, 11,184, 0, 0, 17, 6, 0, 56, 0, 0, 0, 16,180, 31, 8, 0, 15, 7, 43, 64, + 5, 47, 8, 32, 0, 2, 93, 49,255,255, 0,195,255,227, 4, 27, 6, 72, 16, 38, 2,130, 0, 0, 17, 6, 0, 88, 0, 0, 0, 16, +180, 25, 8, 0, 15, 7, 43, 64, 5, 15, 8, 0, 0, 2, 93, 49,255,255, 0,147,255,227, 4, 61, 8, 85, 16, 38, 0, 56, 0, 0, + 16, 7, 2,108, 0, 10, 1, 79,255,255, 0,195,255,227, 4, 27, 6,217, 16, 38, 0, 88, 0, 0, 16, 6, 2,108, 15,211, 0, 0, +255,255, 0,147,255,227, 4, 61, 7,107, 16, 38, 11,186, 0, 0, 16, 6, 0, 56, 0, 0, 0, 0,255,255, 0,195,255,227, 4, 27, + 6,102, 16, 38, 2,135, 0, 0, 16, 6, 0, 88, 0, 0, 0, 0,255,255, 0,147,254,101, 4, 61, 5,213, 16, 38, 0, 56, 0, 0, + 16, 6, 2,109, 28,240, 0, 0,255,255, 0,195,254,117, 4,176, 4, 94, 16, 38, 0, 88, 0, 0, 16, 7, 2,109, 1,151, 0, 0, +255,255, 0, 0, 0, 0, 4,209, 7,116, 16, 39, 11,180, 0, 0, 1,124, 17, 6, 0, 58, 0, 0, 0, 8,180, 14, 2, 6, 7, 7, + 43, 49, 0, 0,255,255, 0, 0, 0, 0, 4,209, 6,109, 16, 38, 2, 95, 0, 7, 17, 6, 0, 90, 0, 0, 0, 8,180, 14, 2, 6, + 7, 7, 43, 49,255,255, 0, 37, 0, 0, 4,172, 7,116, 16, 39, 11,180, 0, 0, 1,124, 17, 6, 0, 60, 0, 0, 0, 8,180, 11, + 2, 6, 7, 7, 43, 49, 0, 0,255,255, 0,104,254, 86, 4,129, 6,109, 16, 38, 2, 95, 12, 7, 16, 6, 0, 92, 0, 0, 0, 0, +255,255, 0, 37, 0, 0, 4,172, 7, 78, 16, 38, 0, 60, 0, 0, 17, 7, 11,176, 0, 0, 1,117, 0, 8,180, 4, 15, 12, 0, 7, + 43, 49, 0, 0,255,255, 0,156, 0, 0, 4,145, 7,107, 16, 39, 11,177, 0, 27, 1,117, 16, 6, 0, 61, 0, 0,255,255, 0,203, + 0, 0, 4, 16, 6,109, 16, 38, 0,118, 86, 7, 16, 6, 0, 93, 0, 0, 0, 0,255,255, 0,156, 0, 0, 4,145, 7, 80, 16, 38, + 11,185, 50, 0, 16, 6, 0, 61, 0, 0, 0, 0,255,255, 0,203, 0, 0, 4, 16, 6, 16, 16, 38, 2,131, 0, 0, 16, 6, 0, 93, + 0, 0, 0, 0,255,255, 0,156, 0, 0, 4,145, 7,109, 16, 38, 0, 61, 0, 0, 16, 7, 11,181, 0, 0, 1,117,255,255, 0,203, + 0, 0, 4, 16, 6,102, 16, 38, 0, 93, 0, 0, 16, 6, 2, 96, 0, 0, 0, 0, 0, 1, 0,195, 0, 0, 4, 39, 6, 20, 0, 15, + 0, 44, 64, 22, 0, 7, 12, 4,182, 5, 12,140, 11,155, 5,194, 2, 13, 10, 11, 0, 6, 5, 3, 7, 16, 16,212, 60,196,252,196, + 57, 57, 49, 0, 47,228,252,236, 16,238, 18, 57, 57, 48, 1, 17, 35, 17, 33, 53, 33, 53, 52, 54, 59, 1, 21, 35, 34, 6, 2,166, +184,254,213, 1, 43,169,179,221,209, 99, 77, 4,195,251, 61, 3,209,143, 78,184,174,153, 81, 0, 0, 2, 0, 70,255,227, 4, 88, + 6, 20, 0, 26, 0, 37, 0, 0, 1, 62, 1, 51, 50, 18, 17, 16, 2, 35, 34, 38, 39, 21, 35, 17, 35, 53, 51, 53, 51, 21, 51, 33, + 21, 33, 35, 0, 16, 38, 35, 34, 6, 21, 20, 22, 51, 50, 1,121, 44,155,102,202,232,233,203,100,153, 46,184,123,123,184, 2, 1, + 97,254,159, 2, 2, 29,136,133,134,138,138,134,133, 3,209, 82, 88,254,201,254,239,254,235,254,197, 87, 83,141, 4,246,164,122, +122,164,252, 99, 1,172,218,219,213,212,220, 0, 0, 3, 0, 20, 0, 0, 4,165, 5,213, 0, 8, 0, 17, 0, 41, 0, 63, 64, 36, + 25, 0,151, 10, 9,151, 18,136, 1,151, 10,177, 31, 17, 11, 25, 31, 19, 8, 2, 7, 0, 14, 30, 22, 5, 50, 28, 9, 0, 30, 18, + 33, 36, 39, 43, 16,212,220,212, 57,236, 50,220,236,212,236, 17, 23, 57, 49, 0, 47,236,236,244,236, 16,238, 57, 48, 1, 17, 51, + 50, 54, 53, 52, 38, 35, 3, 17, 51, 50, 54, 53, 52, 38, 35, 37, 33, 50, 22, 21, 20, 6, 7, 30, 1, 21, 20, 4, 41, 1, 17, 34, + 6, 29, 1, 35, 53, 52, 54, 2, 28,120,176,150,158,168,120,116,146,131,129,148,254,194, 1, 66,229,248,131,131,147,167,254,246, +254,249,254,190, 62,100,156,169, 2,201,253,221,123,141,146,137, 2,102,254, 62,112,125,113,100,166,198,181,137,158, 20, 22,207, +160,203,207, 5, 47, 87,112, 49, 70,159,185, 0,255,255, 0,166, 0, 0, 4,113, 5,213, 16, 6, 3, 62, 0, 0, 0, 2, 0,193, +255,227, 4, 88, 6, 20, 0, 18, 0, 29, 0, 0, 1, 62, 1, 51, 50, 18, 17, 16, 2, 35, 34, 38, 39, 21, 35, 17, 33, 21, 33, 0, + 16, 38, 35, 34, 6, 21, 20, 22, 51, 50, 1,121, 44,155,102,202,232,233,203,100,153, 46,184, 2,240,253,200, 2, 29,136,133,134, +138,138,134,133, 3,209, 82, 88,254,201,254,239,254,235,254,197, 87, 83,141, 6, 20,184,251,253, 1,172,218,219,213,212,220, 0, + 0, 2, 0, 48, 0, 0, 4,161, 5,213, 0, 10, 0, 24, 0, 0, 1, 17, 51, 50, 55, 54, 53, 52, 39, 38, 35, 39, 51, 4, 23, 22, + 21, 20, 7, 6, 41, 1, 17, 39, 1, 1,161,239,176, 75, 75, 79, 79,168,239,235, 1,123,101, 53,133,133,254,249,254, 70,166, 1, +113, 2,201,253,221, 62, 61,141,146, 68, 69,164, 15,191,100,161,203,103,104, 3,180,228, 1, 61, 0, 2, 0, 60,255,227, 4,148, + 6, 20, 0, 12, 0, 33, 0, 0, 0, 16, 38, 35, 34, 7, 6, 21, 20, 23, 22, 51, 50, 1, 62, 1, 51, 50, 23, 22, 17, 16, 7, 6, + 35, 34, 39, 38, 39, 21, 35, 17, 39, 1, 3,210,136,132,134, 70, 68, 68, 70,134,132,254,108, 44,154,102,202,116,116,116,116,204, +100, 76, 76, 46,184,194, 1,122, 1, 89, 1,172,218,109,110,213,212,110,110, 3, 82, 82, 88,155,156,254,239,254,235,158,157, 43, + 44, 83,141, 3,180,228, 1,124, 0, 1, 0,139,255,227, 4, 49, 5,240, 0, 25, 0, 47, 64, 7, 19, 50, 6, 49, 0, 12, 26, 16, +220, 60,244,236, 49, 0, 64, 18, 13,179, 12,178, 16,151, 9, 25,179, 0,178, 22,151, 3,150, 9,153, 26, 16,228,244,236,244,236, + 16,238,246,238, 48, 19, 62, 1, 51, 32, 0, 17, 16, 0, 33, 34, 38, 39, 53, 30, 1, 51, 50, 18, 17, 16, 2, 35, 34, 6, 7,139, + 77,162, 91, 1, 29, 1, 63,254,195,254,225, 91,162, 77, 73,169, 88,197,196,196,197, 86,170, 74, 5,158, 41, 41,254,103,254,146, +254,144,254,106, 41, 41,207, 61, 64, 1, 48, 1, 50, 1, 51, 1, 48, 64, 61, 0, 0, 1, 0, 60,255,227, 4,149, 6,103, 0, 34, + 0, 0, 37, 14, 1, 35, 32, 0, 17, 16, 0, 33, 50, 23, 54, 55, 54, 59, 1, 21, 34, 7, 6, 29, 1, 46, 1, 35, 34, 2, 21, 16, + 18, 51, 50, 54, 55, 3,226, 77,162, 91,254,225,254,195, 1, 63, 1, 29, 90, 79, 23, 42, 90,165, 20, 84, 51, 44, 74,170, 86,197, +196,196,197, 88,169, 73, 53, 41, 41, 1,150, 1,112, 1, 42, 1,153, 20, 51, 50,106,156, 62, 53,135, 70, 61, 64,254,208,239,254, +206,254,208, 64, 61, 0, 0, 0, 0, 1, 0, 94,255,227, 4,115, 5,142, 0, 33, 0, 0, 37, 14, 1, 35, 32, 0, 16, 0, 33, 50, + 23, 54, 55, 54, 59, 1, 21, 34, 7, 6, 29, 1, 46, 1, 35, 34, 6, 21, 20, 22, 51, 50, 54, 55, 3,192, 74,157, 82,254,252,254, +219, 1, 37, 1, 4, 70, 67, 19, 61, 90,165, 20, 90, 45, 44, 73,147, 93,173,186,187,172, 96,152, 65, 57, 43, 43, 1, 56, 2, 40, + 1, 56, 16,114, 71,106,156, 62, 62,126,148, 65, 58,224,208,207,225, 59, 62, 0,255,255, 0, 8, 0, 0, 4, 78, 5,213, 16, 6, + 0,146, 0, 0, 0, 2, 0, 8, 0, 0, 4,201, 5,213, 0, 18, 0, 27, 0, 0, 1, 51, 32, 0, 17, 16, 0, 33, 35, 17, 34, 7, + 6, 29, 1, 35, 53, 52, 54, 1, 32, 54, 17, 16, 38, 33, 35, 17, 1, 70,233, 1, 86, 1, 68,254,188,254,170,233, 54, 60, 48,156, +192, 1, 99, 0,255,202,201,255, 0, 26, 5,213,254,148,254,128,254,130,254,149, 5, 47, 47, 38,114, 49, 70,181,163,250,209,251, + 1, 72, 1, 75,251,251,119, 0, 0, 2, 0,131, 0, 0, 4, 78, 5,213, 0, 8, 0, 22, 0, 0, 1, 35, 34, 6, 21, 20, 22, 59, + 1, 1, 53, 33, 17, 33, 32, 36, 53, 52, 55, 54, 37, 51, 17, 3,131,239,168,158,150,176,239,253, 69, 3,134,254, 70,254,249,254, +246, 53,101, 1,123,235, 2,201,137,146,141,123, 4,137,166,250, 43,207,203,161,100,191, 15, 1,194, 0, 0, 0, 0, 2, 0,157, +255,227, 4, 52, 6, 20, 0, 10, 0, 29, 0, 0, 0, 16, 22, 51, 50, 54, 53, 52, 38, 35, 34, 3, 53, 33, 17, 35, 53, 14, 1, 35, + 34, 2, 17, 16, 18, 51, 50, 22, 23, 17, 1, 95,136,133,134,138,138,134,133,163, 2,240,184, 46,153,100,203,233,232,202,102,155, + 44, 3, 5,254, 84,218,220,212,213,219, 1,125,184,249,236,141, 83, 87, 1, 59, 1, 21, 1, 17, 1, 55, 88, 82, 1,139, 0, 0, + 0, 2, 0,136,254, 61, 4, 71, 4,123, 0, 11, 0, 55, 0, 0, 37, 50, 54, 53, 52, 38, 35, 34, 6, 21, 20, 22, 5, 22, 23, 22, + 21, 20, 7, 6, 35, 34, 47, 1, 53, 22, 23, 22, 51, 50, 51, 55, 54, 63, 1, 54, 53, 52, 39, 38, 39, 38, 39, 38, 39, 38, 17, 16, + 18, 51, 50, 18, 17, 16, 7, 6, 2,104,140,144,144,140,141,144,144, 1,167, 19, 40, 62,118,119,197,102, 50,151, 66, 70, 75, 73, + 9, 10, 32, 73, 60, 39, 27, 13, 17, 41, 24,105,235,121,124,246,234,233,246,123, 31,127,218,214,213,219,219,213,214,218, 76, 9, + 40, 61, 92,136, 82, 82, 12, 36,173, 24, 15, 15, 1, 2, 43, 28, 24, 46, 33, 19, 24, 21, 13, 1, 3,148,151, 1, 30, 1, 31, 1, + 45,254,211,254,225,254,226,151, 38, 0, 0, 0, 0, 1, 0,197, 0, 0, 4, 78, 5,213, 0, 11, 0, 43, 64, 10, 8, 4, 30, 0, + 49, 11, 6, 3, 51, 12, 16,252,196,196,252,236, 50, 49, 0, 64, 12, 6,151, 8, 10,151, 0,136, 4,151, 8,177, 2, 47,236,236, +244,236, 16,238, 48, 1, 17, 33, 53, 33, 17, 33, 53, 33, 17, 33, 53, 4, 78,252,119, 2,191,253,114, 2,142,253, 84, 5,213,250, + 43,170, 2, 29,170, 1,186,170, 0, 2, 0,117,255,227, 4, 92, 5,240, 0, 21, 0, 28, 0, 61, 64, 12, 3, 2, 28, 50, 16, 54, + 9, 22, 50, 0, 53, 29, 16,244,236,196,244,236, 57, 57, 49, 0, 64, 20, 0, 22, 3, 1, 10,179, 9, 6,151, 13,150, 29, 22,151, + 1, 25,151, 19,153, 29, 16,244,236,212,238, 16,244,244,212,238, 18, 57, 17, 57, 48, 19, 53, 33, 53, 52, 2, 35, 34, 6, 7, 53, + 62, 1, 51, 50, 18, 17, 16, 2, 35, 34, 2, 19, 20, 18, 51, 50, 18, 55,117, 3, 19,138,150, 86,170, 74, 77,162, 91,253,247,247, +253,253,246,215,140,148,148,126, 9, 2,233, 83, 8,241, 1, 23, 64, 61,207, 41, 41,254,128,254,121,254,122,254,128, 1,126, 1, + 35,248,254,251, 0,255,254, 0, 0, 1, 0,137,255,227, 4, 55, 5,240, 0, 40, 0, 62, 64, 11, 20, 9, 31, 16, 50, 3, 25, 50, + 38, 48, 41, 16,252,236,212,236,212,196,196, 49, 0, 64, 22, 10,179, 9, 13,151, 6,150, 41, 0, 22,151, 19,177, 41, 31,179, 32, + 28,151, 35,153, 41, 16,244,236,212,236, 16,244,236, 57, 16,244,236,212,236, 48, 1, 46, 1, 53, 52, 36, 51, 50, 22, 23, 21, 46, + 1, 35, 34, 6, 21, 20, 22, 59, 1, 21, 35, 34, 6, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 36, 53, 52, 54, 1,184,131, +137, 1, 5,218, 73,189,121,104,190, 89,134,145,156,139,154,154,152,178,178,166, 98,198,102,103,214,103,245,254,235,156, 3, 31, + 34,162,123,181,221, 32, 32,186, 40, 40,123,115,109,122,166,153,130,141,150, 52, 53,201, 36, 38,235,206,149,199, 0, 1, 0, 63, +254, 86, 4,146, 5,213, 0, 19, 0, 0, 1, 33, 21, 33, 17, 33, 21, 33, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 1,124, + 3, 22,253,181, 2, 12,253,244, 89, 90,165,176,138, 90, 45, 44, 5,213,170,254, 72,170,253, 35,195,105,106,156, 62, 62,126, 0, + 0, 1, 0,195,254, 86, 4, 39, 6, 20, 0, 36, 0, 0, 1, 21, 43, 1, 34, 7, 6, 29, 1, 33, 21, 33, 17, 20, 7, 6, 43, 1, + 53, 51, 50, 55, 54, 53, 3, 33, 53, 33, 53, 52, 55, 54, 55, 54, 59, 2, 4, 39,209, 2, 97, 39, 38, 1,129,254,127, 81, 82,181, + 70, 49,105, 38, 38, 2,254,215, 1, 40, 87, 37, 60, 70, 97, 9, 3, 6, 20,153, 41, 40,103, 99,143,252, 27,214, 96, 96,156, 48, + 49,153, 3,229,143, 78,180, 92, 39, 21, 26, 0, 0, 1, 0, 52,255,227, 4,157, 6,103, 0, 40, 0, 0, 37, 14, 1, 35, 32, 0, + 17, 16, 0, 33, 50, 23, 22, 23, 54, 55, 54, 59, 1, 21, 34, 7, 6, 7, 21, 46, 1, 35, 34, 2, 17, 16, 18, 51, 50, 54, 55, 17, + 35, 53, 33, 4, 30, 82,202,118,254,228,254,196, 1, 64, 1, 28, 94, 86, 17, 17, 15, 21, 90,166, 19, 84, 51, 43, 1, 80,170, 96, +196,198,192,198, 66,102, 40,216, 1,154,123, 75, 77, 1,151, 1,111, 1,110, 1,153, 26, 6, 6, 26, 25,106,156, 62, 54,134, 27, + 77, 73,254,207,254,206,254,201,254,213, 31, 33, 1,145,166, 0, 0, 2, 0, 28,254, 82, 4,182, 5, 73, 0, 13, 0, 21, 0, 0, + 1, 0, 17, 20, 33, 32, 53, 16, 9, 1, 51, 9, 1, 51, 1, 2, 17, 20, 51, 50, 53, 16, 2,218, 1, 68,254, 96,254, 72, 1, 38, +254, 48,216, 1,116, 1,116,218,253,162,198,216,204, 2,138,254, 63,254,117,236,236, 1,111, 1,228, 2,184,253,213, 2, 43,252, +166,254,211,254,188,138,138, 1, 69, 0, 0, 0, 0, 1, 0, 65, 0, 0, 4,144, 6, 20, 0, 38, 0, 0, 1, 17, 35, 20, 23, 22, + 55, 54, 55, 54, 53, 17, 51, 17, 20, 6, 35, 34, 39, 38, 53, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 17, 54, 55, 54, 51, 50, + 22, 2,243, 1, 34, 38, 55, 19, 54, 47,167,152,154,127, 74, 73, 95, 66, 71,125,166,166, 77, 17, 75, 85,118,152, 2,182,254,224, +153, 49, 52, 4, 2, 73, 66,156, 1,155,254,101,228,225, 96, 96,214, 1, 32,151,142,183,171,253,135, 6, 20,253,164,134, 12, 49, +225, 0, 0, 0, 0, 1, 0,201, 0, 0, 4, 58, 5,213, 0, 17, 0, 0, 1, 33, 53, 33, 21, 33, 17, 20, 23, 22, 59, 1, 23, 35, + 34, 39, 38, 53, 2, 2,254,199, 3, 61,254,199, 44, 45, 90,185, 1,217,170, 92, 89, 5, 43,170,170,252,122,127, 61, 62,171,106, +102,198, 0, 0, 0, 1, 0,201, 0, 0, 4, 6, 5,213, 0, 21, 0, 0, 19, 33, 21, 33, 17, 51, 33, 21, 33, 35, 17, 33, 21, 33, + 53, 33, 17, 33, 53, 33, 17, 33,201, 3, 61,254,199, 2, 1, 9,254,247, 2, 1, 57,252,195, 1, 57,254,249, 1, 7,254,199, 5, +213,170,253,192,170,254,105,170,170, 1,151,170, 2, 64, 0, 0, 0, 1, 0,110, 0, 0, 4,195, 5,213, 0, 25, 0, 0, 1, 54, + 55, 54, 51, 50, 31, 1, 7, 39, 38, 35, 34, 7, 6, 15, 1, 1, 35, 1, 7, 17, 35, 17, 51, 17, 2,135,161,105, 21, 20,126, 92, + 47,106, 33, 45, 60, 17, 19, 66,109,164, 2, 86,244,254, 25,154,203,203, 4,156,170, 12, 3, 99, 51,114, 37, 51, 4, 15,115,172, +252,141, 2,236,164,253,184, 5,213,253,104, 0, 0, 1, 0,236, 0, 0, 4,178, 6, 20, 0, 23, 0, 0, 19, 53, 52, 55, 54, 59, + 1, 21, 35, 34, 7, 6, 21, 51, 17, 1, 51, 9, 1, 35, 1, 7, 17, 35,236, 89, 90,165,205,185, 90, 45, 44, 5, 1,227,224,254, + 71, 1,254,225,254, 98,137,190, 3,234,148,195,105,106,156, 62, 62,126,254, 17, 1,209,254, 90,253, 70, 2, 66,129,254, 63, 0, + 0, 1, 0,160, 0, 0, 4, 10, 6, 31, 0, 23, 0, 0, 1, 20, 22, 59, 1, 21, 35, 34, 38, 61, 1, 35, 53, 51, 17, 33, 53, 33, + 17, 59, 1, 21, 43, 1, 2,127, 91, 89,215,233,165,181,228,228,254,217, 1,223, 9,221,221, 9, 1,150,124,126,156,212,194,196, +142, 2,167,144,252,201,142, 0, 0, 1, 0, 49, 0, 0, 4,109, 5,213, 0, 15, 0, 0, 1, 37, 23, 9, 1, 35, 9, 1, 35, 1, + 39, 5, 39, 1, 3, 51, 2, 67, 1, 92, 80,254,141, 1,241,191,254,191,254,182,191, 1,169, 34,254,150, 80, 1,129,174,191, 4, +189,242,110,254,254,251,193, 2,192,253, 64, 3,145, 74,251,111, 1, 10, 1,124, 0, 1, 0,109,255,229, 4,111, 5,213, 0, 34, + 0, 0, 37, 14, 1, 35, 34, 38, 25, 1, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 53, + 14, 1, 35, 34, 38, 2, 56, 34,105, 74,135,111,168, 53, 70, 80, 59,168, 57, 74, 73, 57,167,167, 33, 99, 63, 76,101,114, 72, 69, +209, 1, 33, 3,254,252, 10,237,115,123,229, 3,246,252, 10,240,112,123,229, 3,246,250, 43, 96, 60, 63, 70, 0, 0, 1, 0, 29, +254, 86, 4, 25, 5,213, 0, 18, 0, 0, 19, 51, 1, 17, 51, 17, 35, 1, 17, 20, 7, 6, 43, 1, 53, 50, 55, 54, 53,190,230, 1, +198,175,230,254, 59, 81, 81,148, 27, 81, 40, 40, 5,213,251, 51, 4,205,250, 43, 4,205,251, 31,195,105,106,156, 62, 61,127, 0, + 0, 1, 0,195,254, 82, 4, 27, 4,123, 0, 19, 0, 0, 1, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, + 50, 22, 4, 27,185,106,113,129,139,184,184, 49,168,115,171,169, 2,182,251,156, 4,100,151,142,183,171,253,135, 4, 96,168, 96, + 99,225, 0, 0, 0, 3, 0,117,255,227, 4, 92, 5,240, 0, 10, 0, 19, 0, 28, 0, 0, 1, 16, 2, 32, 2, 17, 16, 18, 51, 50, + 18, 3, 2, 39, 38, 35, 34, 7, 6, 3, 23, 22, 23, 22, 51, 50, 55, 54, 55, 4, 92,247,254, 6,246,247,252,253,247,212, 8, 58, + 68,154,153, 67, 59, 8, 1, 9, 57, 67,153,154, 68, 56, 9, 2,233,254,122,254,128, 1,126, 1,136, 1,135, 1,128,254,128,254, +204, 1, 8,123,141,141,123,254,248,184,250,118,141,141,117,251,255,255, 0, 6,255,227, 4,167, 6, 21, 16, 39, 2,151, 1,121, + 1,164, 16, 6, 0, 50,145, 0,255,255, 0, 32,255,227, 4,178, 4,123, 16, 39, 2,151, 1,132, 0, 0, 16, 6, 0, 82,151, 0, + 0, 2, 0, 45,255,227, 4,164, 5,240, 0, 16, 0, 27, 0, 0, 19, 16, 37, 54, 51, 50, 23, 55, 51, 17, 35, 17, 7, 17, 6, 32, + 2, 1, 38, 35, 34, 2, 17, 16, 18, 51, 50, 55, 45, 1, 78, 53, 62,206,111,147,230,175,180,111,254, 56,221, 2,136, 61,138,138, +121,121,138,138, 61, 2,233, 2,160, 89, 14,158,131,250, 43, 4,205,160,252,118,192, 1,126, 3, 94,141,254,230,254,183,254,184, +254,230,141, 0, 0, 2, 0, 86,254, 82, 4,171, 4,123, 0, 19, 0, 32, 0, 0, 19, 16, 55, 54, 51, 50, 23, 21, 55, 51, 17, 35, + 17, 7, 17, 6, 35, 34, 39, 38, 55, 16, 23, 22, 51, 50, 55, 17, 38, 35, 34, 3, 6, 86,250, 80,101,210,111,126,231,176,181,110, +211,234,111, 86,176,215, 19, 21,127, 65, 65,127,206, 40, 9, 2, 47, 1,180,115, 37,151, 43,110,250, 43, 4,205,157,253,248,151, +188,146,254,254,117, 34, 3,109, 2,134,109,254,226, 66, 0, 0, 0, 2, 0, 56, 0, 0, 4,153, 5,213, 0, 23, 0, 33, 0, 0, + 1, 16, 5, 6, 43, 1, 17, 35, 17, 34, 7, 6, 29, 1, 35, 53, 52, 55, 54, 51, 33, 32, 19, 22, 1, 50, 55, 54, 53, 52, 38, 43, + 1, 17, 4,153,254,200, 86,110, 93,202, 54, 60, 48,156, 96, 96,126, 1, 39, 1,151, 82, 19,254, 4,211, 64, 22,156,141, 93, 4, + 23,254,164, 77, 22,253,168, 5, 47, 47, 38,114, 49, 70,181, 82, 81,254,220, 69,254,146,157, 56, 68,133,147,253,207, 0, 0, 0, + 0, 2, 0,190,254, 86, 4, 84, 5,152, 0, 14, 0, 42, 0, 0, 1, 16, 23, 22, 51, 50, 54, 53, 16, 39, 34, 35, 34, 3, 6, 17, + 54, 55, 50, 51, 50, 18, 17, 16, 2, 35, 34, 38, 39, 17, 35, 17, 16, 55, 54, 59, 1, 21, 35, 34, 7, 6, 21, 1,119,209, 29, 34, +133,135,251, 9, 8,214, 46, 12, 91,194, 7, 7,203,231,232,202,102,153, 44,185,203, 63, 78,205,185,169, 9, 1, 2, 47,254,137, + 50, 7,218,214, 1,162, 14,254,239, 70, 1, 73,164, 6,254,198,254,234,254,239,254,201, 87, 83,253,201, 5,172, 1, 46, 79, 25, +156,221, 14, 15, 0, 2, 0,143,254,248, 4,209, 5,213, 0, 22, 0, 31, 0, 0, 1, 22, 23, 22, 23, 19, 35, 3, 46, 1, 43, 1, + 17, 35, 17, 51, 17, 51, 50, 4, 21, 20, 6, 1, 17, 51, 50, 54, 53, 52, 38, 35, 2,248, 78, 55, 54, 83,203,217,178, 77,123, 99, +193,203,203,213,246, 1, 6,161,253,208,221,145,142,151,144, 1,185, 20, 55, 55,167,254,104, 1,121,161, 93,254,145, 5,213,254, +248,222,210,148,187, 2, 89,253,238,130,134,129,137, 0, 0, 0, 0, 1, 0,139,255,227, 4, 74, 5,240, 0, 39, 0, 0, 19, 62, + 1, 51, 50, 4, 21, 20, 6, 15, 1, 14, 1, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 36, 53, 52, 54, 63, 1, 62, 1, 53, + 52, 38, 35, 34, 6, 7,225,105,190, 86,223, 1, 13,188,208,108,145,117,170,153,104,205,115,107,212,105,252,254,248,192,210,106, +149,109,166,143, 94,185, 92, 5,162, 39, 39,241,200,160,190, 47, 25, 32,118,112,123,137, 68, 73,215, 45, 45,224,213,181,210, 49, + 24, 35,104, 99,113,133, 60, 59, 0, 1, 0,213,255,227, 4, 6, 4,123, 0, 39, 0, 0, 1, 62, 1, 51, 50, 22, 21, 20, 6, 15, + 2, 6, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 53, 52, 54, 63, 1, 62, 1, 53, 52, 38, 35, 34, 6, 7, 1, 14, 80, +166, 90,202,218,146,159, 69, 8,245,134,122, 84,188,103,106,182, 83,210,236,141,137, 74,183, 92,123,125, 83,160, 79, 4, 57, 33, + 33,175,161,127,147, 31, 14, 2, 49,128, 89, 99, 53, 53,190, 35, 35,187,166,125,156, 26, 14, 35, 74, 75, 83, 81, 46, 46, 0, 0, +255,255, 0,120, 0, 0, 4,109, 5,213, 16, 6, 2,223, 0, 0, 0, 2, 0,118,254, 86, 4, 91, 6, 20, 0, 8, 0, 33, 0, 0, + 1, 38, 39, 38, 35, 34, 7, 6, 51, 5, 3, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 53, 17, 35, 32, 53, 52, 33, 50, 23, 22, 23, + 51, 21, 2, 56, 7, 18, 33,110,124, 3, 3,119, 1,120, 2, 39, 37,100,176,174,195, 81, 87,190,254,242, 1, 47,181, 82, 53, 18, +191, 5, 4, 45, 23, 48, 65, 51,154,251, 61,103, 41, 40,153, 86, 92,180, 4,174,210,216, 96, 64,111,155, 0, 0, 0, 1, 0,131, +254, 86, 4, 8, 5,158, 0, 32, 0, 0, 1, 17, 33, 21, 33, 17, 20, 22, 59, 1, 29, 1, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, + 61, 1, 35, 34, 38, 53, 17, 33, 53, 33, 17, 2,102, 1,162,254, 94, 94,117,207, 89, 90,165,205,185, 90, 45, 44, 40,207,170,254, +213, 1, 43, 5,158,254,194,143,253,160,124, 98,147, 20,195,105,106,156, 62, 62,126, 20,166,203, 2, 96,143, 1, 62, 0, 0, 0, + 0, 1, 0, 47, 0, 0, 4,162, 5,213, 0, 16, 0, 0, 1, 38, 7, 6, 29, 1, 35, 53, 52, 54, 51, 33, 21, 33, 17, 35, 17, 1, +197,131, 70, 49,156,192,214, 2,221,254, 45,203, 5, 47, 8, 55, 38,114, 49, 70,181,163,170,250,213, 5, 43, 0, 0, 1, 0,131, + 0, 0, 4, 8, 6, 20, 0, 29, 0, 0, 1, 33, 21, 33, 17, 20, 22, 59, 1, 21, 35, 34, 38, 53, 17, 33, 53, 33, 53, 52, 55, 54, + 59, 1, 21, 35, 34, 7, 6, 21, 2,102, 1,162,254, 94, 94,117,207,225,207,170,254,213, 1, 42, 89, 90,165,205,185, 90, 45, 44, + 4, 96,143,253,160,124, 98,147,166,203, 2, 96,143, 30,195,105,106,156, 62, 62,126, 0, 0, 0, 0, 1, 0, 47,254, 86, 4,162, + 5,213, 0, 21, 0, 0, 19, 33, 21, 33, 17, 29, 1, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 61, 2, 17, 33, 47, 4,115,254, 45, + 44, 45, 90,185,223,165, 90, 89,254, 43, 5,213,170,251, 85,128, 20,126, 62, 62,156,106,105,195, 20,128, 4,171,255,255, 0, 9, +255,227, 4,200, 6, 25, 16, 39, 2,151, 1,154, 1,168, 16, 7, 0, 56,255,118, 0, 0, 0, 0,255,255, 0, 39,255,227, 4,170, + 4,113, 16, 39, 2,151, 1,124, 0, 0, 16, 7, 0, 88,255,100, 0, 0, 0, 0, 0, 1, 0, 74, 0, 0, 4,135, 5,180, 0, 30, + 0, 0, 1, 21, 35, 22, 18, 21, 16, 0, 35, 34, 0, 17, 52, 18, 55, 35, 53, 33, 21, 6, 2, 21, 20, 18, 32, 18, 53, 52, 2, 39, + 53, 4,135,245,123,110,254,224,240,242,254,223,111,123,248, 1,207,120,134,180, 1, 52,179,134,120, 5,180,172,134,254,224,188, +254,201,254,145, 1,110, 1, 56,188, 1, 33,133,172,172, 76,254,183,222,230,254,247, 1, 9,230,222, 1, 73, 76,172, 0, 0, 0, + 0, 1, 0,154, 0, 0, 4, 42, 5,213, 0, 24, 0, 0, 33, 34, 39, 38, 53, 17, 51, 17, 20, 23, 22, 51, 50, 18, 53, 52, 2, 39, + 51, 22, 18, 21, 16, 7, 6, 1,250,170, 92, 90,204, 44, 44, 90,154,180,134,120,218,122,110,144,147,106,102,198, 4, 63,251,208, +126, 62, 62, 1, 9,230,222, 1, 73, 76,134,254,224,188,254,201,184,188, 0, 0, 0, 1, 0, 17, 0, 0, 4,192, 5,215, 0, 22, + 0, 0, 1, 3, 17, 35, 17, 1, 51, 1, 19, 54, 55, 54, 51, 50, 31, 1, 7, 39, 38, 35, 34, 7, 6, 3,107,246,183,254, 83,193, + 1, 72,199, 99,109, 46, 45, 80, 75, 25, 71, 10, 34, 40, 28, 31, 51, 4,116,254, 42,253, 98, 2,158, 3, 55,253,109, 1,145,200, + 42, 18, 57, 19,134, 9, 31, 16, 24, 0, 0, 0, 0, 1, 0, 24,254, 86, 4,201, 4,109, 0, 28, 0, 0, 5, 6, 7, 6, 43, 1, + 53, 51, 50, 54, 63, 1, 1, 51, 9, 1, 54, 55, 54, 51, 50, 31, 1, 7, 39, 38, 35, 34, 7, 2,110, 81, 71, 74,124,147,108, 76, + 84, 51, 33,254, 59,195, 1, 94, 1, 23, 50, 81, 43, 51, 49, 55, 48, 53, 28, 28, 22, 43, 16,104,203, 58, 61,154, 72,134, 84, 4, + 78,252,148, 2,187,126, 41, 22, 20, 17,147, 10, 11, 41, 0, 0, 0, 1, 0,156, 0, 0, 4,145, 5,213, 0, 18, 0, 0, 19, 33, + 21, 1, 51, 21, 33, 35, 1, 33, 21, 33, 53, 1, 35, 53, 33, 1, 33,178, 3,201,254,117,232,254,247, 80,254,240, 3, 34,252, 11, + 1, 19,180, 1, 34, 1,118,253, 31, 5,213,154,253,176,170,254,105,170,154, 1,167,170, 2, 64, 0, 1, 0,156, 0, 0, 4, 53, + 4, 98, 0, 18, 0, 0, 19, 33, 21, 1, 33, 21, 33, 35, 3, 33, 21, 33, 53, 19, 33, 53, 33, 1, 33,222, 3, 45,254,242, 1, 56, +254,158, 89,242, 2,131,252,187,225,254,245, 1,142, 1, 31,253,149, 4, 98,168,254,174,164,254,210,150,170, 1, 26,164, 1,103, + 0, 1, 0, 26,255,228, 4,183, 5,213, 0, 31, 0, 0, 19, 20, 23, 22, 32, 55, 54, 53, 52, 39, 38, 43, 1, 53, 1, 33, 53, 33, + 21, 1, 50, 23, 22, 23, 22, 21, 20, 4, 33, 32, 36, 53,228,100, 99, 1,123,100,100, 92, 94,164,174, 1,114,253, 30, 3,202,254, +136,104,130, 98, 86, 80,254,208,254,232,254,220,254,208, 1,179,143, 75, 75, 75, 75,143,134, 73, 74,166, 1,185,170,168,254, 71, + 56, 43,108,104,138,221,242,242,221, 0, 0, 0, 0, 1, 0, 26,255,228, 4,183, 5,213, 0, 31, 0, 0, 1, 51, 20, 4, 33, 32, + 36, 53, 52, 55, 54, 55, 54, 51, 1, 53, 33, 21, 33, 1, 21, 35, 34, 7, 6, 21, 20, 23, 22, 32, 55, 54, 3,238,200,254,208,254, +220,254,232,254,208, 82, 85, 99,129,105,254,136, 3,200,253, 32, 1,114,174,166, 92, 92,100, 99, 1,123,100,100, 1,179,221,242, +242,221,138,104,108, 43, 56, 1,185,168,170,254, 71,166, 74, 73,134,143, 75, 75, 75, 75, 0, 0, 0, 1, 0,125,254, 76, 4, 84, + 4, 96, 0, 32, 0, 0, 9, 1, 53, 33, 21, 33, 1, 21, 35, 34, 7, 6, 21, 20, 23, 22, 51, 50, 54, 55, 21, 6, 7, 6, 35, 32, + 36, 53, 52, 55, 54, 55, 54, 2,112,254,101, 3,106,253,101, 1,174,174,165, 93, 92,100, 99,190,109,200, 84,106,100, 99, 94,254, +232,254,208, 81, 86, 98,128, 1,220, 1,220,168,147,254, 13,166, 74, 75,132,143, 75, 75, 50, 49,195, 37, 19, 18,242,221,138,104, +109, 42, 56, 0, 0, 1, 0,152, 0, 0, 4, 35, 5,240, 0, 32, 0, 0, 19, 54, 51, 50, 4, 21, 20, 7, 6, 7, 51, 21, 35, 7, + 1, 33, 21, 33, 53, 1, 33, 53, 33, 54, 55, 54, 53, 52, 39, 38, 35, 34, 7,164,208,191,219, 1, 11, 45, 34, 66, 80,230, 56,254, +187, 2,174,252,117, 1,126,254,229, 1,178,105, 30, 22,150, 57, 68,181,222, 5,141, 99,233,189, 96, 96, 74, 85,170, 63,254,168, +170,170, 1,151,170,130, 84, 60, 62,185, 60, 22,133, 0, 0, 0, 0, 1, 0, 26,255,228, 4,182, 5,213, 0, 32, 0, 0, 37, 32, + 55, 54, 53, 52, 39, 38, 35, 33, 17, 33, 21, 33, 17, 33, 50, 23, 22, 23, 22, 21, 20, 4, 33, 32, 3, 38, 53, 51, 20, 23, 22, 2, +104, 1, 60, 61, 13, 92, 94,164,254, 71, 3,156,253, 47, 1, 34,105,129, 99, 85, 80,254,208,254,232,254, 82,122, 44,202,158, 91, +142,199, 43, 51,134, 73, 74, 3, 9,170,254, 73, 56, 43,108,101,141,221,242, 1, 0, 91,116,181, 71, 41, 0, 0, 0, 1, 0,125, +254, 76, 4, 84, 4, 96, 0, 28, 0, 0, 1, 32, 55, 54, 53, 52, 39, 38, 35, 33, 17, 33, 21, 33, 17, 55, 54, 23, 22, 23, 22, 21, + 20, 4, 33, 34, 39, 53, 22, 2, 6, 1, 55, 63, 15, 92, 93,165,254,212, 2,240,253,200,168,103,131, 99, 85, 81,254,208,254,232, +187,212,170,254,246,195, 45, 53,134, 73, 74, 3, 44,184,254, 51, 1, 1, 57, 43,108,104,138,221,242, 74,195, 99, 0, 1, 0,194, +255,227, 4, 15, 5,158, 0, 32, 0, 0, 1, 52, 39, 38, 43, 1, 17, 35, 53, 51, 17, 51, 17, 51, 21, 35, 21, 22, 23, 22, 21, 20, + 7, 6, 33, 34, 39, 53, 22, 51, 50, 55, 54, 3, 77, 74, 89,173, 62,229,229,202,231,231,165,108,117,110,138,254,238,171,152,156, +159,179, 99, 57, 1,183,114, 79, 95, 1, 15,164, 1, 20,254,236,164,125, 29,110,119,176,185,126,157, 70,172, 86,114, 65, 0, 0, + 0, 1, 2, 3, 0, 0, 2,206, 5,213, 0, 3, 0, 0, 1, 51, 17, 35, 2, 4,202,202, 5,213,250, 43, 0, 0,255,255, 1, 57, + 0, 0, 3,152, 5,213, 16, 39, 1,128,255, 54, 0, 0, 16, 7, 1,128, 0,202, 0, 0, 0, 0, 0, 1, 0,164, 0, 0, 4, 45, + 5,213, 0, 19, 0, 0, 1, 51, 17, 33, 21, 33, 21, 33, 21, 33, 17, 35, 17, 33, 53, 33, 53, 33, 53, 33, 2, 4,202, 1, 94,254, +162, 1, 94,254,162,202,254,160, 1, 96,254,160, 1, 96, 5,213,254,108,168,240,170,254, 1, 1,255,170,240,168,255,255, 2, 3, + 0, 0, 2,206, 5,213, 16, 6, 0, 4,255, 0,255,255, 0, 37, 0, 0, 4,172, 7,109, 16, 38, 0, 36, 0, 0, 16, 7, 11,181, + 0, 0, 1,117,255,255, 0,133,255,227, 4, 35, 6,102, 16, 38, 0, 68, 0, 0, 16, 6, 2, 96, 0, 0, 0, 0,255,255, 0,201, + 0, 0, 4, 6, 7,109, 16, 38, 0, 44, 0, 0, 16, 7, 11,181, 0, 0, 1,117,255,255, 0,178, 0, 0, 4, 68, 6,102, 16, 38, + 0,243, 0, 0, 16, 6, 2, 96, 0, 0, 0, 0,255,255, 0,117,255,227, 4, 92, 7,109, 16, 38, 0, 50, 0, 0, 16, 7, 11,181, + 0, 0, 1,117,255,255, 0,137,255,227, 4, 72, 6,102, 16, 38, 0, 82, 0, 0, 16, 6, 2, 96, 0, 0, 0, 0,255,255, 0,147, +255,227, 4, 61, 7,109, 16, 38, 0, 56, 0, 0, 17, 7, 11,181, 0, 0, 1,117, 0, 20,180, 17, 35, 31, 1, 7, 43, 64, 9, 32, + 31, 47, 35, 0, 31, 15, 35, 4, 93, 49, 0, 0,255,255, 0,195,255,227, 4, 27, 6,102, 16, 38, 0, 88, 0, 0, 16, 6, 2, 96, + 0, 0, 0, 0,255,255, 0,147,255,227, 4, 61, 7,160, 16, 39, 11,176, 0, 0, 0,249, 16, 38, 0, 56, 0, 0, 16, 7, 2, 98, + 0, 0, 1,170,255,255, 0,195,255,227, 4, 27, 7, 50, 16, 38, 2,132, 0, 0, 16, 38, 0, 88, 0, 0, 16, 7, 0,113, 0, 0, + 1, 60, 0, 0,255,255, 0,147,255,227, 4, 61, 7,249, 16, 39, 11,176, 0, 0, 0,249, 16, 38, 0, 56, 0, 0, 16, 7, 11,177, + 0, 0, 2, 3,255,255, 0,195,255,227, 4, 27, 7,162, 16, 38, 2,132, 0, 0, 16, 38, 0, 88, 0, 0, 16, 7, 2,125, 0, 0, + 1, 60, 0, 0,255,255, 0,147,255,227, 4, 61, 7,251, 16, 39, 11,176, 0, 0, 0,249, 16, 38, 0, 56, 0, 0, 16, 7, 11,181, + 0, 0, 2, 3,255,255, 0,195,255,227, 4, 27, 7,162, 16, 38, 2,132, 0, 0, 16, 38, 0, 88, 0, 0, 16, 7, 2,136, 0, 0, + 1, 60, 0, 0,255,255, 0,147,255,227, 4, 61, 7,249, 16, 39, 11,176, 0, 0, 0,249, 16, 38, 0, 56, 0, 0, 16, 7, 11,179, + 0, 0, 2, 3,255,255, 0,195,255,227, 4, 27, 7,162, 16, 39, 2,124, 0, 0, 1, 60, 16, 6, 0,190, 0, 0,255,255, 0,122, +255,227, 4, 87, 4,123, 18, 6, 1,247, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7,160, 16, 39, 11,176, 0, 0, 0,249, 16, 39, + 2, 98, 0, 0, 1,170, 16, 6, 0, 36, 0, 0,255,255, 0,133,255,227, 4, 35, 7, 50, 16, 39, 0,113, 0, 0, 1, 60, 16, 6, + 0,166, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7,160, 16, 39, 2, 98, 0, 0, 1,170, 16, 38, 11,185, 0,132, 16, 6, 0, 36, + 0, 0, 0, 0,255,255, 0,133,255,227, 4, 35, 7, 50, 16, 39, 0,113, 0, 0, 1, 60, 18, 6, 1,210, 0, 0,255,255, 0, 0, + 0, 0, 4,156, 7, 48, 16, 39, 11,189, 0,170, 0, 0, 16, 6, 0,136, 0, 0,255,255, 0, 41,255,227, 4,176, 5,246, 16, 38, + 2,128, 0, 0, 16, 6, 0,168, 0, 0, 0, 0,255,255, 0,102,255,227, 4, 80, 7,109, 16, 39, 11,181, 0, 0, 1,117, 16, 6, + 0, 42, 0, 0,255,255, 0,123,254, 72, 4, 18, 6,102, 16, 38, 2, 96, 0, 0, 16, 6, 0, 74, 0, 0, 0, 0,255,255, 0,137, + 0, 0, 4,201, 7,109, 16, 39, 11,181, 0, 0, 1,117, 16, 6, 0, 46, 0, 0,255,255, 0,236, 0, 0, 4,178, 7,109, 16, 39, + 11,181, 0, 0, 1,117, 16, 6, 0, 78, 0, 0,255,255, 0,117,254,101, 4, 92, 5,240, 16, 38, 2,109, 28,240, 16, 6, 0, 50, + 0, 0, 0, 0,255,255, 0,137,254,101, 4, 72, 4,123, 16, 38, 2,109, 28,240, 16, 6, 0, 82, 0, 0, 0, 0,255,255, 0,117, +254,101, 4, 92, 7, 48, 16, 38, 11,189, 0, 0, 16, 6, 1,159, 0, 0, 0, 0,255,255, 0,137,254,101, 4, 72, 5,246, 16, 38, + 2,128, 0, 0, 16, 6, 1,160, 0, 0, 0, 0,255,255, 0, 26,255,228, 4,183, 7,109, 16, 39, 11,181, 0, 0, 1,117, 16, 6, + 1,121, 0, 0,255,255, 0,125,254, 76, 4, 84, 6,102, 16, 38, 2, 96, 0, 0, 16, 6, 2, 48, 0, 0, 0, 0,255,255, 0,186, +254, 86, 3,203, 6, 97, 16, 38, 2, 96, 35,251, 16, 6, 1,226, 0, 0, 0, 0,255,255, 0,102,255,227, 4, 80, 7,107, 16, 39, + 11,177, 0, 90, 1,117, 16, 6, 0, 42, 0, 0,255,255, 0,123,254, 72, 4, 18, 6,102, 16, 38, 0,118, 0, 0, 16, 6, 0, 74, + 0, 0, 0, 0, 0, 1, 0, 61,255,227, 4,148, 5,213, 0, 29, 0, 0, 37, 50, 55, 54, 25, 1, 51, 17, 16, 7, 6, 35, 34, 39, + 38, 17, 53, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 16, 23, 22, 3,109, 54, 25, 33,182,104, 57,133,128, 72,134,254,213,182,182, + 1, 43,183, 82, 23,135, 79,102, 1, 14, 1, 39,254,192,254,139,140, 77, 83,153, 1, 98,150,253, 57, 5,213,253,156, 2,100,252, +117,254,239,139, 39, 0, 0, 0,255,255, 0,139, 0, 0, 4, 70, 7,107, 16, 39, 11,179, 0, 0, 1,117, 16, 6, 0, 49, 0, 0, +255,255, 0,195, 0, 0, 4, 27, 6,102, 16, 38, 0, 67, 0, 0, 16, 6, 0, 81, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 4,156, + 7,107, 16, 39, 11,177, 0,240, 1,117, 16, 6, 0,136, 0, 0,255,255, 0, 41,255,227, 4,176, 6,102, 16, 38, 0,118, 0, 0, + 16, 6, 0,168, 0, 0, 0, 0,255,255, 0, 8,255,186, 4,176, 7,107, 16, 39, 11,177, 0, 0, 1,117, 16, 6, 0,154, 0, 0, +255,255, 0, 47,255,160, 4,150, 6,102, 16, 38, 0,118, 0, 0, 16, 6, 0,186, 0, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, + 7,107, 16, 38, 11,187, 0, 0, 16, 6, 0, 36, 0, 0, 0, 0,255,255, 0,133,255,227, 4, 35, 6,102, 16, 38, 2,139, 0, 0, + 16, 6, 0, 68, 0, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7,109, 16, 38, 11,183, 0, 0, 16, 6, 0, 36, 0, 0, 0, 0, +255,255, 0,133,255,227, 4, 35, 6, 72, 16, 38, 2,141, 0, 0, 16, 6, 0, 68, 0, 0, 0, 0,255,255, 0,187, 0, 0, 4, 78, + 7,107, 16, 38, 11,187, 0, 0, 16, 6, 0, 40, 0, 0, 0, 0,255,255, 0,123,255,227, 4, 88, 6,102, 16, 38, 2,139, 14, 0, + 16, 6, 0, 72, 0, 0, 0, 0,255,255, 0,197, 0, 0, 4, 78, 7,109, 16, 38, 11,183, 0, 0, 16, 6, 0, 40, 0, 0, 0, 0, +255,255, 0,123,255,227, 4, 88, 6, 72, 16, 38, 2,141, 14, 0, 16, 6, 0, 72, 0, 0, 0, 0,255,255, 0,187, 0, 0, 4, 6, + 7,107, 16, 38, 11,187, 0, 0, 16, 6, 0, 44, 0, 0, 0, 0,255,255, 0,178, 0, 0, 4, 68, 6,102, 16, 38, 2,139, 0, 0, + 16, 6, 0,243, 0, 0, 0, 0,255,255, 0,201, 0, 0, 4, 6, 7,109, 16, 38, 11,183, 0, 0, 16, 6, 0, 44, 0, 0, 0, 0, +255,255, 0,178, 0, 0, 4, 68, 6, 72, 16, 38, 2,141, 0, 0, 16, 6, 0,243, 0, 0, 0, 0,255,255, 0,117,255,227, 4, 92, + 7,107, 16, 38, 11,187, 0, 0, 16, 6, 0, 50, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, 6,102, 16, 38, 2,139, 0, 0, + 16, 6, 0, 82, 0, 0, 0, 0,255,255, 0,117,255,227, 4, 92, 7,109, 16, 38, 11,183, 0, 0, 16, 6, 0, 50, 0, 0, 0, 0, +255,255, 0,137,255,227, 4, 72, 6, 72, 16, 38, 2,141, 0, 0, 16, 6, 0, 82, 0, 0, 0, 0,255,255, 0,137, 0, 0, 4,209, + 7,107, 16, 38, 11,187,206, 0, 16, 6, 0, 53, 0, 0, 0, 0,255,255, 1,104, 0, 0, 4,131, 6,102, 16, 39, 2,139, 0,150, + 0, 0, 16, 6, 0, 85, 0, 0,255,255, 0,143, 0, 0, 4,209, 7,109, 16, 38, 11,183,206, 0, 16, 6, 0, 53, 0, 0, 0, 0, +255,255, 1,106, 0, 0, 4,131, 6, 72, 16, 39, 2,141, 0,150, 0, 0, 16, 6, 0, 85, 0, 0,255,255, 0,147,255,227, 4, 61, + 7,107, 16, 38, 11,187, 0, 0, 16, 6, 0, 56, 0, 0, 0, 0,255,255, 0,195,255,227, 4, 27, 6,102, 16, 38, 2,139, 0, 0, + 16, 6, 0, 88, 0, 0, 0, 0,255,255, 0,147,255,227, 4, 61, 7,109, 16, 38, 11,183, 0, 0, 16, 6, 0, 56, 0, 0, 0, 0, +255,255, 0,195,255,227, 4, 27, 6, 72, 16, 38, 2,141, 0, 0, 16, 6, 0, 88, 0, 0, 0, 0,255,255, 0,139,253,226, 4, 74, + 5,240, 16, 38, 2,162, 0, 0, 16, 6, 0, 54, 0, 0, 0, 0,255,255, 0,213,253,226, 4, 6, 4,123, 16, 38, 2,162, 0, 0, + 16, 6, 0, 86, 0, 0, 0, 0,255,255, 0, 47,253,226, 4,162, 5,213, 16, 38, 2,162, 0, 0, 16, 6, 0, 55, 0, 0, 0, 0, +255,255, 0,131,253,226, 4, 8, 5,158, 16, 38, 2,162, 89, 0, 16, 6, 0, 87, 0, 0, 0, 0,255,255, 0,137, 0, 0, 4, 72, + 7,109, 16, 39, 11,181, 0, 0, 1,117, 16, 6, 0, 43, 0, 0,255,255, 0,195, 0, 0, 4, 27, 7,109, 16, 39, 11,181, 0, 0, + 1,117, 16, 6, 0, 75, 0, 0, 0, 1, 0,147,254, 82, 4, 61, 5,242, 0, 19, 0, 0, 1, 17, 35, 17, 52, 38, 35, 34, 6, 21, + 17, 35, 17, 51, 21, 62, 1, 51, 50, 18, 4, 61,203,116,124,141,152,202,202, 54,184,126,187,185, 3,231,250,107, 5,159,180,169, +218,203,252, 87, 5,213,198,111,116,254,251, 0, 0, 3, 0, 18,255,108, 4,159, 6, 20, 0, 6, 0, 40, 0, 49, 0, 0, 37, 22, + 55, 50, 55, 54, 34, 39, 20, 23, 54, 55, 54, 21, 16, 35, 34, 39, 6, 7, 35, 55, 38, 47, 1, 6, 7, 6, 39, 38, 39, 38, 17, 16, + 18, 51, 50, 22, 23, 17, 51, 0, 16, 22, 50, 54, 53, 52, 38, 34, 3,109, 12, 66,123, 3, 4,128,169, 13,114,104,164,250, 71, 48, + 30, 20,119, 68, 32, 38, 16, 28, 56, 77,100,163, 92, 93,187,161, 80,123, 35,184,253,153,108,212,111,111,212,144, 18, 1,155, 62, + 62,116, 35,244, 1, 2,218,254,199, 17, 79, 57,194, 13, 89, 37, 90, 53, 72, 1, 2,155,158, 1, 21, 1, 17, 1, 55, 87, 83, 2, + 67,252,241,254, 84,218,220,212,213,219, 0, 0, 0, 1, 0,156,254, 86, 4,146, 5,213, 0, 23, 0, 0, 19, 33, 21, 1, 33, 21, + 51, 21, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 33, 53, 1, 33,178, 3,201,252,244, 3, 34, 1, 89, 90,165,205,185, 90, + 45, 44,252,195, 2,247,253, 31, 5,213,154,251,111, 42,148,195,105,106,156, 62, 62,126, 20,154, 4,145, 0, 0, 0, 1, 0,203, +254, 86, 4, 16, 4, 98, 0, 23, 0, 0, 19, 33, 21, 1, 33, 21, 35, 21, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 33, 53, + 1, 33,227, 3, 45,253,125, 2,131, 8, 89, 90,165,205,185, 90, 45, 44,253,124, 2,131,253,149, 4, 98,168,252,220,150, 20,195, +105,106,156, 62, 62,126, 20,170, 3, 37, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 36, + 0, 0, 0, 0,255,255, 0,133,255,227, 4, 35, 6, 16, 16, 38, 2,131, 0, 0, 16, 6, 0, 68, 0, 0, 0, 0,255,255, 0,197, +254,117, 4, 78, 5,213, 16, 38, 2,163, 50, 0, 16, 6, 0, 40, 0, 0, 0, 0,255,255, 0,123,254,117, 4, 88, 4,123, 16, 38, + 2,163, 50, 0, 16, 6, 0, 72, 0, 0, 0, 0,255,255, 0,117,255,227, 4, 92, 7,160, 16, 39, 11,176, 0, 0, 0,249, 16, 39, + 2, 98, 0, 0, 1,170, 16, 6, 0, 50, 0, 0,255,255, 0,137,255,227, 4, 72, 7, 50, 16, 39, 0,113, 0, 0, 1, 60, 16, 6, + 0,184, 0, 0,255,255, 0,117,255,227, 4, 92, 7,160, 16, 38, 0, 50, 0, 0, 16, 39, 11,178, 0, 0, 0,245, 16, 7, 2, 98, + 0, 0, 1,170,255,255, 0,137,255,227, 4, 72, 7, 50, 16, 39, 0,113, 0, 4, 1, 60, 16, 6, 0,183, 0, 0,255,255, 0,117, +255,227, 4, 92, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 50, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, 6, 16, 16, 38, + 2,131, 0, 0, 16, 6, 0, 82, 0, 0, 0, 0,255,255, 0,117,255,227, 4, 92, 7,160, 16, 39, 2, 98, 0, 0, 1,170, 16, 38, + 11,185, 0,132, 16, 6, 0, 50, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, 7, 50, 16, 39, 0,113, 0, 0, 1, 60, 16, 6, + 1,218, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7, 48, 16, 38, 11,189, 0, 0, 16, 6, 0, 60, 0, 0, 0, 0,255,255, 0,104, +254, 86, 4,129, 5,246, 16, 38, 2,128, 0, 0, 16, 6, 0, 92, 0, 0, 0, 0, 0, 2, 0,160,255,108, 4, 10, 6, 31, 0, 6, + 0, 29, 0, 0, 37, 22, 55, 50, 55, 54, 34, 3, 6, 7, 35, 55, 38, 39, 38, 53, 17, 33, 53, 33, 17, 20, 23, 54, 55, 54, 21, 16, + 35, 34, 2,216, 12, 66,123, 3, 4,128,144, 29, 20,119, 68, 19, 51, 39,254,217, 1,223, 13,114,104,164,250, 70,144, 18, 1,155, + 62,254,156, 79, 57,194, 5, 97, 74,184, 3,249,144,251,119,116, 35,244, 1, 2,218,254,199, 0, 0, 2, 0,106,255,108, 4,103, + 4,123, 0, 6, 0, 46, 0, 0, 37, 22, 55, 50, 55, 54, 34, 39, 20, 23, 54, 55, 54, 23, 20, 21, 16, 7, 34, 39, 6, 7, 35, 55, + 38, 39, 38, 61, 1, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 23, 22, 17, 3, 52, 12, 66,123, 3, 4,128,185, + 22,122,103,159, 5,250, 71, 49, 29, 20,119, 68, 19, 51, 39, 53, 90, 73, 57,167,167, 33, 99, 63,133, 57, 56,144, 18, 1,155, 62, + 62,114, 46,252, 2, 2,206, 6, 6,254,200, 1, 17, 79, 57,194, 5, 97, 74,184,235,237,115,123,229,253,127, 4, 96, 96, 60, 63, +105,101,254,220, 0, 2, 0,131,255,108, 4, 8, 5,158, 0, 6, 0, 35, 0, 0, 37, 22, 55, 50, 55, 54, 34, 39, 20, 23, 54, 55, + 54, 21, 16, 35, 34, 39, 6, 7, 35, 55, 38, 39, 38, 53, 17, 33, 53, 33, 17, 51, 17, 33, 21, 33, 2,191, 12, 66,123, 3, 4,128, +169, 13,114,104,164,250, 71, 48, 30, 20,119, 68, 19, 51, 39,254,213, 1, 43,184, 1,162,254, 94,144, 18, 1,155, 62, 62,116, 35, +244, 1, 2,218,254,199, 17, 79, 57,194, 5, 97, 74,184, 2, 59,143, 1, 62,254,194,143, 0, 0, 0, 1, 0,186,254, 86, 3, 16, + 4, 96, 0, 13, 0, 44, 64, 22, 5, 0, 1, 10,140, 8, 1,182, 3,194, 8,195, 14, 11, 8, 2, 9, 2, 4, 6, 0, 14, 16,212, +236,196,196, 18, 57, 57, 49, 0, 16,228,244,238, 16,238, 17, 57, 57, 48, 5, 17, 33, 53, 33, 17, 20, 6, 43, 1, 53, 51, 50, 54, + 2, 88,254,195, 1,245,179,165,254,234, 90, 90, 20, 3,229,143,251,140,195,211,156,125, 0, 0, 0, 3, 0,120,255,227, 4, 89, + 6, 20, 0, 8, 0, 19, 0, 49, 0, 0, 18, 16, 22, 50, 54, 53, 52, 38, 34, 0, 16, 38, 35, 34, 6, 21, 20, 22, 51, 50, 3, 62, + 1, 51, 50, 18, 17, 16, 2, 35, 34, 38, 39, 21, 35, 53, 14, 1, 35, 34, 2, 17, 16, 18, 51, 50, 22, 23, 17, 51,237, 81,160, 83, + 83,160, 2,166, 81, 80, 81, 82, 82, 81, 80,243, 26, 93, 61,122,139,140,122, 60, 92, 27,111, 27, 92, 60,122,140,141,121, 60, 93, + 26,111, 3, 5,254, 84,218,220,212,213,219,253,122, 1,172,218,219,213,212,220, 3, 82, 82, 88,254,201,254,239,254,235,254,197, + 87, 83,141,141, 83, 87, 1, 59, 1, 21, 1, 17, 1, 55, 87, 83, 2, 67, 0, 0, 0, 3, 0,120,254, 74, 4, 89, 4,123, 0, 8, + 0, 19, 0, 49, 0, 0, 0, 16, 38, 34, 6, 21, 20, 22, 50, 0, 16, 22, 51, 50, 54, 53, 52, 38, 35, 34, 19, 14, 1, 35, 34, 2, + 17, 16, 18, 51, 50, 22, 23, 53, 51, 21, 62, 1, 51, 50, 18, 17, 16, 2, 35, 34, 38, 39, 17, 35, 3,228, 81,160, 83, 83,160,253, + 90, 81, 80, 80, 83, 83, 80, 80,243, 26, 93, 61,121,140,140,122, 60, 92, 27,111, 27, 92, 60,122,140,141,121, 61, 92, 26,111, 1, + 89, 1,172,218,220,212,213,219, 2,134,254, 84,218,219,213,212,220,252,174, 82, 88, 1, 55, 1, 17, 1, 21, 1, 59, 87, 83,141, +141, 83, 87,254,197,254,235,254,239,254,201, 87, 83,253,189, 0, 0, 3, 0, 8,255,186, 4,176, 6, 23, 0, 15, 0, 18, 0, 21, + 0, 0, 1, 51, 19, 1, 23, 9, 1, 35, 3, 33, 15, 1, 35, 7, 39, 55, 1, 33, 3, 39, 11, 1, 1,238,245, 96, 1, 9,100,254, +193, 1, 59,209,110,254, 67,130, 56, 86, 49,103, 52, 1,230, 1, 27, 81, 43, 89,207, 5,213,254,199, 1,123, 74,254, 56,251,251, + 1,133,186,203, 70, 70, 74, 1,221, 1, 33,155, 1, 64,253, 25, 0, 2, 0, 8,255,186, 4,176, 6, 23, 0, 8, 0, 41, 0, 0, + 9, 1, 39, 38, 35, 34, 2, 17, 20, 1, 14, 1, 35, 32, 47, 1, 7, 39, 19, 38, 17, 16, 0, 33, 50, 23, 22, 23, 55, 23, 7, 21, + 38, 39, 1, 22, 23, 22, 51, 50, 54, 55, 1,112, 2, 52, 18, 85, 86,197,196, 2,211, 77,162, 91,254,225,158, 9,178,103,212, 81, + 1, 63, 1, 29, 91, 81, 59, 56, 70,100,127, 16, 17,253,139, 16, 21, 98,197, 88,169, 73, 2, 2, 3, 36, 6, 32,254,208,254,205, +126,253,202, 41, 41,203, 11,255, 70, 1, 47,179, 1, 7, 1,110, 1,153, 20, 15, 26,100, 74,181, 73, 13, 12,252,126, 39, 32,152, + 64, 61, 0, 0, 0, 2, 0, 47,255,160, 4,150, 4,188, 0, 7, 0, 40, 0, 0, 9, 1, 38, 35, 34, 6, 21, 20, 1, 14, 1, 35, + 32, 47, 1, 7, 39, 19, 38, 53, 16, 0, 33, 50, 23, 22, 23, 55, 23, 7, 21, 38, 39, 1, 22, 23, 22, 51, 50, 54, 55, 1,149, 1, +220, 62, 71,173,186, 2,160, 74,157, 82,254,252,146, 8,195, 92,216, 68, 1, 37, 1, 4, 81, 77, 40, 40, 95, 93,113, 34, 33,253, +228, 13, 15, 94,172, 96,152, 65, 1,150, 2, 55, 18,224,208, 83,254, 93, 43, 43,156, 9,232, 76, 1, 2,132,189, 1, 20, 1, 56, + 21, 11, 17,114, 77,134,133, 30, 22,253,127, 21, 18,113, 59, 62, 0, 1, 0, 21, 0, 0, 4,188, 5,213, 0, 13, 0, 0, 1, 51, + 17, 33, 21, 33, 17, 33, 21, 33, 17, 33, 53, 33, 1, 32,203, 1, 7,254,249, 2,209,252,100,254,245, 1, 11, 5,213,253, 22,170, +254,105,170, 2, 65,170, 0, 0, 0, 2, 0, 33,255,186, 4,201, 6, 23, 0, 2, 0, 18, 0, 0, 1, 19, 35, 3, 17, 33, 53, 33, + 55, 23, 7, 21, 35, 1, 17, 35, 17, 1, 39, 2,205,243,243,203,254, 45, 4, 8, 46,100, 39, 74,254,117,203,254,134,103, 3,208, + 1, 91,253,132, 2,124,170, 66, 74, 56,106,253,205,253, 8, 1,214,253,228, 70, 0, 1, 0,213,254, 16, 4, 25, 4,123, 0, 53, + 0, 0, 1, 21, 46, 1, 35, 34, 6, 21, 20, 22, 31, 1, 30, 1, 21, 20, 7, 6, 7, 31, 1, 22, 51, 21, 35, 34, 39, 38, 47, 1, + 38, 47, 1, 53, 54, 23, 22, 51, 50, 54, 53, 52, 47, 2, 38, 39, 38, 53, 52, 54, 51, 50, 22, 3,205, 79,160, 83,125,123, 92,183, + 74,137,141,118,104,176,152,147, 42, 76, 39, 84,114, 71, 89,237, 51,101, 50,123,122, 68, 62,122,134,245, 8, 69,161, 71, 73,218, +202, 90,166, 4, 57,180, 46, 46, 81, 83, 75, 74, 35, 14, 26,156,125,166, 94, 82, 10,152,126, 36,154, 61, 38, 91,243, 53, 35, 16, +190, 5, 96, 15, 99, 89,128, 49, 2, 14, 33, 71, 74,127,161,175, 33, 0, 0, 0, 0, 1, 0,203,254, 16, 4, 16, 4, 98, 0, 23, + 0, 0, 19, 33, 21, 1, 22, 23, 1, 23, 22, 59, 1, 21, 35, 34, 39, 38, 47, 1, 38, 35, 61, 1, 1, 33,227, 3, 45,253,106, 49, + 32, 1, 8,147, 42, 76, 52, 91, 84,114, 71, 89,237, 61, 90, 2,131,253,149, 4, 98,168,252,203, 17, 32,254,248,126, 36,154, 61, + 38, 91,243, 63,156, 14, 3, 37, 0, 1, 0, 55, 0, 0, 4,154, 5,213, 0, 26, 0, 0, 1, 34, 7, 6, 29, 1, 35, 53, 52, 54, + 51, 33, 50, 4, 21, 20, 4, 35, 17, 35, 17, 51, 50, 54, 16, 38, 35, 1,118, 54, 60, 48,156,192,126, 1, 39,250, 1, 2,254,255, +251,202,202,140,157,156,141, 5, 47, 47, 38,114, 49, 70,181,163,227,219,221,226,253,168, 2,254,148, 1, 10,147, 0, 1, 0, 57, + 0, 0, 4,152, 5,213, 0, 6, 0, 0, 9, 1, 35, 1, 51, 1, 35, 2,105,254,161,209, 1,181,245, 1,181,209, 5, 43,250,213, + 5,213,250, 43, 0, 2, 0,154,255,227, 4, 56, 4,123, 0, 11, 0, 41, 0, 0, 1, 51, 50, 54, 53, 52, 38, 35, 34, 6, 29, 1, + 7, 17, 51, 21, 62, 1, 51, 50, 22, 21, 20, 6, 43, 1, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 39, 46, 1, 1,254, + 62,160,164,122,108,152,176,184,184, 60,178,128,172,204,252,242,248,136,146, 94,192, 92,102,188, 88,138,198, 60, 38, 32, 2, 43, +113,112,101,112,211,186, 41, 76, 2,127,166,100, 95,193,162,187,194, 29,134,121, 54, 52,184, 39, 39, 82, 82, 50,147, 0, 0, 0, + 0, 2, 0,123,255,227, 4, 18, 4,123, 0, 16, 0, 28, 0, 48, 64, 26, 5, 0, 20, 26,140, 14, 20,140, 8,153, 14,190, 1,194, + 3, 23, 4, 0, 6, 2, 71, 17, 18, 11, 72, 29, 16,244,236,252,236, 50, 50, 49, 0, 47,236,228,244,236, 16,238, 17, 57, 57, 48, + 1, 53, 51, 17, 35, 53, 14, 1, 35, 34, 2, 17, 16, 18, 51, 50, 22, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 3, 90,184, +184, 46,153,100,203,233,234,202,101,154,254, 15,136,133,133,139,139,133,133,136, 3,209,141,251,162,141, 83, 87, 1, 59, 1, 21, + 1, 17, 1, 55, 87,254, 11,214,218,220,212,213,219,218, 0, 0, 0, 2, 0,192,255,225, 4, 87, 4,121, 0, 11, 0, 28, 0, 48, + 64, 26, 24, 12, 9, 3,140, 15, 9,140, 21,153, 15,190, 27,194, 25, 0, 18, 18, 71, 24, 12, 6, 6, 26, 70, 29, 16,244,236, 50, + 50,252,236, 49, 0, 47,236,228,244,236, 16,238, 17, 57, 57, 48, 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 1, 62, 1, 51, + 50, 18, 17, 16, 2, 35, 34, 38, 39, 21, 35, 17, 51, 3,149,136,133,133,139,139,133,133,136,253,227, 46,153,100,203,233,234,202, +101,154, 44,184,184, 2, 45,214,218,220,212,213,219,218, 2,120, 83, 87,254,197,254,235,254,239,254,201, 87, 83,139, 4, 94, 0, + 0, 2, 0,193,255,227, 4, 88, 6, 20, 0, 11, 0, 36, 0, 57, 64, 31, 3,140, 12, 15, 9,140, 24, 21,153, 15,190, 25, 33,140, + 30,155, 25, 0, 18, 18, 71, 30, 33, 31, 24, 12, 6, 6, 26, 70, 37, 16,252,236, 50, 50,196, 57, 57,244,236, 49, 0, 47,252,236, + 16,228,244,196,236, 16,198,238, 48, 1, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 1, 62, 1, 51, 50, 18, 17, 16, 2, 35, 34, + 38, 39, 21, 35, 17, 52, 54, 59, 1, 21, 35, 34, 6, 21, 3,150,136,133,134,138,138,134,133,136,253,227, 44,155,102,202,232,233, +203,100,153, 46,184,179,165,204,184, 90, 90, 2, 47,214,218,219,213,212,220,218, 2,120, 82, 88,254,201,254,239,254,235,254,197, + 87, 83,141, 4,126,195,211,156,125,125, 0, 0, 0, 1, 0,184,255,227, 4, 26, 4,123, 0, 25, 0, 48, 64, 6, 19, 18, 6, 0, + 12, 26, 16,220, 60,212,236, 49, 0, 64, 19, 0,139, 25,192, 22, 12,139, 13,192, 16,140, 9, 22,140, 3,190, 9,153, 26, 16,228, +244,236, 16,254,244,238, 16,245,238, 48, 19, 62, 1, 51, 32, 0, 17, 16, 0, 33, 34, 38, 39, 53, 30, 1, 51, 50, 54, 53, 52, 38, + 35, 34, 6, 7,184, 74,156, 82, 1, 4, 1, 38,254,218,254,252, 80,154, 78, 72,148, 92,174,186,188,172, 96,152, 64, 4, 37, 43, + 43,254,200,254,236,254,236,254,200, 42, 44,193, 65, 58,224,208,207,225, 59, 62, 0, 2, 0,195,255,115, 4, 58, 4,123, 0, 33, + 0, 41, 0, 0, 5, 52, 55, 38, 39, 38, 17, 16, 0, 33, 50, 22, 23, 21, 46, 1, 35, 34, 6, 21, 20, 23, 22, 23, 54, 51, 32, 21, + 20, 33, 34, 39, 6, 21, 19, 22, 51, 50, 53, 52, 35, 34, 1,180, 13, 57, 48,149, 1, 37, 1, 4, 81,154, 78, 73,147, 93,173,186, + 99, 7, 6, 85,195, 1, 45,254,178, 82, 71, 6, 43, 60, 74,146,132,101,141,104, 81, 35, 51,161, 1, 12, 1, 20, 1, 56, 42, 44, +193, 65, 58,224,208,220, 99, 7, 7,176,246,189, 17, 57, 68, 1, 31, 19, 57, 75, 0, 2, 0,123,254, 86, 4, 56, 6, 20, 0, 8, + 0, 36, 0, 0, 0, 16, 22, 50, 54, 53, 52, 38, 34, 5, 17, 51, 17, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 61, 1, 6, 7, 6, + 35, 34, 2, 17, 16, 18, 51, 50, 22, 1, 60,109,213,112,112,213, 1, 69,181, 35, 36, 72, 6, 56,132, 72, 71, 37, 61, 61, 80,180, +207,208,179, 81,123, 3, 5,254, 84,218,220,212,213,219, 14, 2, 67,249,216,126, 62, 62,156,106,105,195,161, 83, 44, 43, 1, 59, + 1, 21, 1, 17, 1, 55, 87, 0, 0, 2, 0,123,255,227, 4, 55, 6, 20, 0, 10, 0, 38, 0, 0, 0, 16, 22, 51, 50, 54, 53, 52, + 38, 35, 34, 37, 53, 52, 55, 54, 59, 1, 21, 35, 34, 7, 6, 21, 17, 35, 53, 14, 1, 35, 34, 2, 17, 16, 18, 51, 50, 22, 23, 1, + 59,109,106,107,111,111,107,106, 1, 68, 71, 72,132, 56, 5, 72, 36, 35,183, 36,123, 80,180,206,207,179, 81,123, 35, 3, 5,254, + 84,218,220,212,213,219, 11,148,195,105,106,156, 62, 62,126,251,130,141, 83, 87, 1, 59, 1, 21, 1, 17, 1, 55, 87, 83, 0, 0, + 0, 2, 0,122,255,227, 4, 87, 4,123, 0, 21, 0, 28, 0, 0, 19, 52, 18, 51, 50, 0, 17, 16, 0, 33, 34, 38, 39, 53, 30, 1, + 51, 50, 54, 61, 1, 33, 55, 33, 46, 1, 35, 34, 6,122,247,214,240, 1, 32,254,218,254,251, 91,195,105,109,192, 88,174,191,252, +227,184, 2, 94, 16,172,133,136,149, 2, 94,251, 1, 34,254,192,254,244,254,237,254,199, 43, 43,183, 57, 56,200,183, 6,143,156, +176,170, 0, 0, 0, 2, 0,122,255,227, 4, 87, 4,123, 0, 21, 0, 28, 0, 63, 64, 12, 3, 2, 28, 18, 16, 73, 9, 22, 6, 0, + 72, 29, 16,244,236,196,244,236, 57, 57, 49, 0, 64, 22, 0, 22, 3, 1, 10,139, 9,141, 6,140, 13,190, 29, 22,182, 1,193, 25, +140, 19,153, 29, 16,244,236,244,238, 16,244,244,244,238, 18, 57, 17, 57, 48, 19, 53, 33, 53, 52, 38, 35, 34, 6, 7, 53, 62, 1, + 51, 32, 0, 17, 16, 0, 35, 34, 2, 55, 20, 22, 51, 50, 54, 55,122, 3, 29,191,174, 88,192,109,105,195, 91, 1, 5, 1, 38,254, +224,240,214,247,184,149,136,133,172, 16, 2, 0, 90, 6,183,200, 56, 57,183, 43, 43,254,199,254,237,254,244,254,192, 1, 34,198, +162,170,176,156, 0, 2, 0, 30,255,227, 4,179, 4,123, 0, 9, 0, 41, 0, 0, 37, 54, 53, 52, 39, 1, 22, 23, 22, 50, 3, 50, + 23, 55, 51, 21, 20, 22, 59, 1, 21, 35, 34, 38, 53, 7, 22, 21, 16, 2, 32, 39, 38, 39, 1, 38, 39, 38, 32, 7, 53, 54, 2, 66, + 76, 7,254, 43, 23, 25, 62,231,151,252,119,154,140, 57, 80, 33, 49,132,129,106, 23,226,254,148, 99, 71, 20, 2, 70, 15, 20, 58, +254,194,147,154,214,138,207, 62, 56,254,156, 69, 35, 90, 3,252,232,117,148,153, 97,156,186,200, 81, 96,118,254,237,254,189,145, +103,156, 1,187, 40, 34, 99,104,174, 86, 0, 0, 0, 1, 0,169,255,234, 4, 40, 4,123, 0, 48, 0, 57, 64, 31, 11,140, 12, 16, +140, 7,190, 50, 27,182, 23, 50, 38,140, 37, 33,140, 42,153, 50, 24, 11, 38, 19, 18, 4, 29, 18, 46, 70, 49, 16,252,236,212,236, +212,196,196, 49, 0, 16,244,236,212,236, 16,212,236, 16,244,236,212,236, 48, 1, 38, 39, 38, 53, 52, 54, 51, 50, 23, 22, 23, 21, + 38, 39, 38, 35, 34, 6, 21, 20, 23, 22, 59, 1, 21, 35, 34, 6, 21, 20, 23, 22, 51, 50, 55, 54, 55, 21, 6, 7, 6, 35, 34, 39, + 38, 53, 52, 54, 1,193,119, 65, 64,244,209, 81, 91, 92,105,104, 87, 86, 76,138,148, 72, 72,135,166,159,150,168, 90, 91,173, 99, + 91, 91, 77, 97, 90, 91, 86,254,139,138,148, 2, 95, 25, 65, 64, 94,134,158, 12, 12, 24,167, 27, 13, 12, 86, 74, 61, 43, 44,144, +110, 81, 98, 53, 52, 18, 17, 34,173, 28, 14, 14, 91, 92,166,109,148, 0, 0, 0, 0, 1, 0,169,255,234, 4, 40, 4,123, 0, 40, + 0, 60, 64, 33, 32,139, 31,192, 28,140, 35,190, 41, 0, 20,182, 21, 41, 9,139, 10,192, 13,140, 6,153, 41, 25, 18, 38, 16, 18, + 3, 21, 32, 10, 41, 16,220,196,196,212,236,212,236, 49, 0, 16,244,252,252,236, 16,212,236, 57, 16,244,252,253,238, 48, 1, 30, + 1, 21, 20, 4, 35, 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, 22, 21, 20, 6, 3, 15,132,149,254,235,255, 85,182, 96, 76,182,100,173,181,169,150,158,165,136,144,149,138, 75,173, +104,105,183, 80,210,244,130, 2, 95, 23,148,109,166,183, 28, 28,173, 34, 35,105, 98, 81,110,144, 87, 61, 74, 86, 25, 27,167, 24, + 24,158,134, 94,129, 0, 0, 0, 0, 1, 0, 56,255,234, 4,153, 4,123, 0, 66, 0, 0, 1, 22, 23, 22, 21, 20, 7, 6, 35, 34, + 38, 39, 53, 22, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 43, 1, 53, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 7, 53, 54, + 55, 54, 51, 50, 23, 22, 23, 55, 51, 21, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 53, 7, 53, 7, 6, 2, 5, 99, 56, 56,104,104, +191, 64,136, 72, 57, 68, 68, 75,130, 67, 69, 64, 63,113,118,124,102, 54, 54, 56, 56,104, 56, 65, 65, 78, 79, 68, 69, 60,158, 91, + 75, 14,169,138, 29, 28, 79, 32, 48,131, 65, 61,211, 5, 49, 2, 95, 23, 74, 74,109,166, 92, 91, 28, 28,173, 34, 17, 18, 52, 53, + 98, 81, 55, 55,144, 44, 43, 61, 74, 43, 43, 12, 13, 27,167, 24, 12, 12, 79, 65,102,131,148,153, 49, 48,156, 96, 90,200,162, 1, + 6, 65, 0, 0, 0, 2, 0,176,255,213, 4, 34, 4,121, 0, 20, 0, 40, 0, 0, 1, 32, 17, 16, 33, 50, 55, 54, 53, 52, 39, 38, + 43, 1, 53, 51, 50, 55, 54, 52, 38, 37, 54, 51, 50, 22, 21, 20, 6, 7, 30, 1, 21, 20, 6, 35, 34, 39, 36, 17, 16, 2,158,254, +173, 1, 83,118, 60, 59, 59, 33,139,136,136,139, 33, 59,121,254,177, 85,161,160,201,107, 98, 98,107,203,160,159, 85,254,237, 3, +216,254, 94,254, 65, 59, 59, 76, 76, 54, 30,157, 30, 55,154,115,115, 46,173,148,103,142, 27, 28,142,103,148,174, 61,194, 1, 88, + 1,138, 0, 0, 0, 1, 0,186,254, 86, 4,113, 4, 94, 0, 21, 0, 0, 1, 21, 33, 17, 20, 6, 43, 1, 53, 51, 50, 54, 53, 17, + 33, 53, 33, 17, 33, 53, 33, 17, 4,113,254,159,179,165,254,234, 90, 90,254,129, 1,127,254,195, 1,245, 2,104,164,254, 40,195, +211,156,125,125, 1,216,164, 1,103,143,254, 10, 0, 2, 0,123,254, 72, 4, 52, 6, 20, 0, 38, 0, 48, 0, 0, 1, 53, 52, 55, + 54, 59, 1, 21, 35, 34, 7, 6, 21, 17, 20, 7, 6, 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 61, 2, 14, 1, 35, 34, 2, 17, 52, + 18, 51, 19, 17, 35, 34, 6, 16, 22, 51, 50, 54, 2,237, 72, 72,134, 49, 26, 58, 29, 28,104,104,206, 62,134, 67, 79,130, 54,120, +110, 35,123, 88,174,208,208,174,247,214,109,115,115,110,103,110, 4, 94, 32,195,105,106,156, 62, 62,126,251,202,251,131,130, 28, + 27,182, 46, 44,162,176, 8,125, 94, 92, 1, 58, 1, 7,233, 1, 60,253,219, 1,167,216,254, 98,217,218, 0, 0, 0, 2, 0,157, +254, 72, 4, 52, 4, 94, 0, 9, 0, 36, 0, 0, 1, 17, 33, 34, 6, 16, 22, 51, 50, 54, 19, 20, 2, 35, 34, 38, 39, 53, 30, 1, + 51, 50, 54, 61, 2, 14, 1, 35, 34, 2, 17, 52, 55, 54, 51, 33, 3,124,254,248,135,142,143,136,127,135,184,238,231, 76,166, 83, + 98,160, 67,149,136, 44,152,109,196,234,117,113,200, 1,233, 2, 57, 1,167,216,254, 98,217,218,254,221,252,254,252, 28, 27,182, + 46, 44,162,176, 8,125, 94, 92, 1, 58, 1, 7,225,165,159, 0, 0, 1, 0,122, 0, 0, 4, 88, 4,152, 0, 32, 0, 0, 37, 17, + 35, 53, 33, 17, 6, 7, 6, 35, 34, 0, 17, 16, 0, 33, 50, 23, 22, 23, 21, 38, 39, 38, 35, 34, 7, 6, 16, 23, 22, 51, 50, 3, +178,156, 1, 66, 72, 88, 78,202,252,254,214, 1, 44, 1, 6, 62,104,104,128,120,112, 86, 72,178,100, 98, 98,100,178,174,178, 1, + 26,140,253,240, 34, 20, 18, 1, 62, 1, 14, 1, 18, 1, 58, 18, 17, 75,172, 77, 27, 22,114,113,254,102,113,114, 0, 2, 0,102, +254, 81, 4,107, 4, 94, 0, 18, 0, 27, 0, 0, 1, 0, 17, 20, 14, 2, 34, 46, 2, 53, 16, 9, 1, 51, 9, 1, 51, 0, 50, 54, + 53, 16, 3, 2, 17, 20, 2,226, 1, 28, 43, 93,159,220,158, 94, 43, 1, 32,254,114,218, 1, 46, 1, 36,216,253,135,227, 97,203, +219, 2, 60,254, 84,254,179, 56, 86, 65, 34, 34, 65, 86, 56, 1, 84, 1,172, 2, 27,254,114, 1,142,250,150, 76, 69, 1, 34, 1, + 29,254,208,254,241, 69, 0, 0, 0, 2, 0,102, 0, 0, 4,106, 4, 94, 0, 12, 0, 20, 0, 0, 1, 22, 16, 33, 32, 53, 52, 55, + 1, 51, 9, 1, 51, 1, 6, 21, 20, 51, 50, 53, 52, 2,214,178,254,227,254,209,184,254,114,218, 1, 40, 1, 42,216,253,246,117, +123,113, 2, 63,241,254,178,167,177,242, 2, 20,254,115, 1,141,253, 90,158, 59,104,104, 63, 0, 0, 1, 0,188,254, 82, 4, 21, + 4, 94, 0, 19, 0, 0, 19, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 17, 14, 1, 35, 34, 38,188,184,108,112,130,138, +184,184, 50,168,114,172,168, 1,168, 2,182,253, 74,151,142,183,171, 2,121,249,244, 2, 86, 97,100,225, 0, 0, 0, 1, 0,195, + 0, 0, 4, 27, 6, 20, 0, 30, 0, 0, 1, 7, 62, 1, 51, 50, 22, 21, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 53, 52, + 55, 54, 59, 1, 21, 35, 34, 6, 21, 1,125, 2, 50,168,114,172,168,184,106,114,128,140,184, 90, 90,164,206,186, 90, 88, 3,194, + 10, 96, 99,225,228,253, 74, 2,182,151,142,183,171,253,135, 3,234,148,195,105,106,156,124,126, 0, 1, 0,195,254, 86, 4, 27, + 6, 20, 0, 40, 0, 0, 1, 7, 62, 1, 51, 50, 22, 21, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 38, 35, 34, 6, + 21, 17, 35, 17, 53, 52, 55, 54, 59, 1, 21, 35, 34, 6, 21, 1,125, 2, 49,169,114,171,169, 88, 91,165,204,184, 91, 45, 44,106, +114,128,140,184, 90, 90,164,206,186, 90, 88, 3,194, 10, 96, 99,225,228,253, 54,195,105,106,156, 62, 62,126, 2,202,151,142,183, +171,253,135, 3,234,148,195,105,106,156,124,126, 0, 2, 0,142, 0, 0, 4, 50, 6, 20, 0, 3, 0, 21, 0, 0, 1, 51, 21, 35, + 5, 33, 17, 33, 21, 33, 17, 33, 21, 33, 53, 33, 17, 33, 53, 33, 17, 33, 2, 12,184,184,254,226, 1,214, 1, 98,254,158, 1,110, +252,110, 1,108,254,130, 1,126,254,226, 6, 20,233,205,254, 10,164,254,203,143,143, 1, 53,164, 1,105, 0, 0, 0, 1, 0,198, + 0, 0, 4, 10, 4, 94, 0, 14, 0, 0, 33, 35, 34, 39, 38, 53, 17, 33, 53, 33, 17, 20, 22, 59, 1, 4, 10,204,166, 90, 88,254, +224, 1,216, 88, 90,186,106,102,198, 2, 59,141,253, 56,126,124, 0, 1, 0,160, 0, 0, 4, 50, 4, 94, 0, 11, 0, 0, 19, 33, + 21, 33, 17, 33, 21, 33, 53, 33, 17, 33,160, 3,146,254,146, 1,110,252,110, 1,108,254,148, 4, 94,141,252,190,143,143, 3, 66, + 0, 1, 0, 88, 0, 0, 4,121, 6, 31, 0, 38, 0, 0, 1, 20, 23, 22, 59, 1, 21, 35, 34, 38, 61, 1, 38, 35, 34, 6, 7, 53, + 62, 1, 51, 50, 23, 17, 33, 53, 33, 17, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 39, 2,146, 46, 72, 62,216,234,164,182, 46, 47, + 79,141, 73, 78,146, 83, 41, 38,254,218, 1,222,114, 92, 70,137, 74, 75,143, 79, 85,105, 1,150,147, 40, 63,156,212,194,198, 10, + 59, 63,174, 60, 54, 6, 2,137,144,252,167, 53, 61, 62,174, 59, 55, 45, 0, 0, 0, 2, 0,157, 0, 0, 4, 52, 6, 31, 0, 25, + 0, 32, 0, 0, 1, 20, 22, 59, 1, 21, 35, 34, 38, 61, 1, 35, 32, 53, 52, 51, 50, 23, 17, 33, 53, 33, 17, 51, 21, 35, 39, 38, + 35, 34, 21, 20, 51, 2,170, 91, 89,214,232,165,181, 62,254,233,246, 53, 42,254,217, 1,223,250,250,184, 23, 71, 78, 92, 1,150, +124,126,156,212,194,220,189,246, 25, 1,131,144,252,243,160,160,132, 75, 57, 0, 0, 1, 0,160,254, 86, 4, 10, 6, 31, 0, 13, + 0, 0, 5, 20, 22, 59, 1, 21, 35, 34, 38, 53, 17, 33, 53, 33, 2,127, 91, 89,215,233,165,181,254,217, 1,223, 20,124,126,156, +212,194, 5,163,144, 0, 0, 0, 0, 1, 0, 40,254, 76, 4,168, 6, 31, 0, 45, 0, 0, 1, 20, 22, 59, 1, 21, 35, 34, 38, 53, + 17, 35, 53, 33, 17, 33, 21, 1, 50, 23, 22, 23, 22, 21, 20, 6, 35, 34, 39, 38, 39, 53, 30, 1, 51, 50, 54, 53, 52, 39, 38, 43, + 1, 53, 1, 33, 1,168, 72, 72,172,187,132,145,236, 1,128, 2,186,254,183, 84,103, 79, 69, 64,243,224, 75, 79, 80, 85, 67,160, + 87,152,160, 74, 74,132,140, 1, 88,253,236, 1,150,124,126,156,212,194, 3,249,144,254, 65,168,254, 36, 56, 43,108,104,138,221, +242, 18, 19, 37,195, 49, 50,150,143,132, 75, 74,166, 1,243, 0, 0, 1, 0,104, 0, 0, 4,106, 4,123, 0, 33, 0, 0, 37, 14, + 1, 35, 34, 38, 25, 1, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, 22, 50, 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 38, + 2, 50, 34,104, 74,136,110,168, 52, 70, 80, 60,168, 56,148, 56,168,168, 32,100, 62, 76,102,141, 72, 69,209, 1, 33, 2,137,253, +127,237,115,123,229, 2,129,253,127,240,112,123,229, 2,129,251,160, 96, 60, 63, 70, 0, 0, 0, 0, 1, 0,104,254, 82, 4,106, + 4,123, 0, 33, 0, 0, 37, 14, 1, 35, 34, 38, 25, 1, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, 22, 50, 54, 53, 17, 51, + 17, 35, 17, 14, 1, 35, 34, 38, 2, 50, 34,104, 74,136,110,168, 52, 70, 80, 60,168, 56,148, 56,168,168, 32,100, 62, 76,102,141, + 72, 69,209, 1, 33, 2,137,253,127,237,115,123,229, 2,129,253,127,240,112,123,229, 2,129,249,215, 2, 41, 60, 63, 70, 0, 0, + 0, 1, 0,103,254, 86, 4,105, 4,123, 0, 43, 0, 0, 1, 62, 1, 51, 50, 22, 25, 1, 20, 6, 43, 1, 53, 51, 50, 54, 53, 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, 23, 22, 2,158, 34,105, 74,135, +111,161,150,186,168, 83, 78, 53, 70, 80, 59,168, 57, 74, 73, 57,167,167, 33, 99, 63, 83, 44, 53, 3,238, 72, 69,209,254,223,253, + 99,194,212,156,124,126, 2,149,237,115,123,229,253,127, 2,129,240,112,123,229,253,127, 4, 94, 94, 64, 59, 35, 43, 0, 0, 0, + 0, 1, 0,178,254, 86, 4, 77, 4,123, 0, 31, 0, 0, 5, 20, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 51, 21, 54, 55, 54, 51, + 50, 23, 22, 21, 17, 35, 17, 52, 38, 35, 34, 7, 6, 21, 1,234,123,136, 53, 2, 68, 28, 28,186, 49, 68, 67, 87,168, 86, 86,185, + 92, 94,111, 65, 64, 20,214,192,156, 48, 49,153, 4,114,172,101, 50, 50,119,120,232,253, 92, 2,158,159,158, 95, 95,164, 0, 0, + 0, 1, 0,136,254, 86, 4, 30, 4,123, 0, 32, 0, 0, 5, 17, 52, 39, 38, 35, 34, 7, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, + 50, 23, 22, 21, 17, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 2,232, 46, 47, 93,112, 64, 65,181,181, 50,134, 88,168, 86, 86, 29, + 29, 63, 4, 52,136, 60, 62, 20, 2,178,159, 79, 79, 95, 95,164,253,135, 4, 94,172,101,100,119,120,232,253, 72,153, 49, 48,156, + 96, 96, 0, 0, 0, 1, 0,144, 0, 0, 4, 65, 4,123, 0, 9, 0, 0, 19, 33, 1, 17, 51, 17, 33, 1, 17, 35,144, 1, 16, 1, +221,196,254,240,254, 35,196, 4,123,252,121, 3,135,251,133, 3,135,252,121, 0, 0, 3, 0,137,255,227, 4, 72, 4,123, 0, 10, + 0, 19, 0, 28, 0, 0, 0, 32, 18, 17, 16, 2, 35, 34, 2, 17, 16, 37, 34, 7, 6, 7, 33, 38, 39, 38, 19, 33, 22, 23, 22, 51, + 50, 55, 54, 1,127, 1,210,247,246,234,233,246, 1,223,140, 72, 63, 8, 2, 55, 8, 63, 72,138,253,211, 14, 52, 72,140,141, 72, + 52, 4,123,254,210,254,226,254,225,254,211, 1, 45, 1, 31, 1, 30,146,109, 95,176,176, 95,109,253,224,132, 79,109,109, 79, 0, + 0, 2, 0, 69, 0, 0, 4,140, 4, 96, 0, 18, 0, 29, 0, 0, 1, 21, 33, 17, 33, 21, 33, 17, 33, 21, 33, 34, 39, 38, 17, 16, + 55, 54, 51, 23, 35, 34, 7, 6, 21, 20, 23, 22, 59, 1, 4,129,254,139, 1,100,254,156, 1,128,253,168,243,126,126,126,126,243, + 32, 23,151, 75, 75, 75, 75,151, 23, 4, 96,170,254,237,155,254,164,172,142,143, 1, 20, 1, 18,142,143,147,104,103,207,208,104, +105, 0, 0, 0, 0, 2, 0,170,255,226, 4, 38, 4,123, 0, 22, 0, 46, 0, 0, 1, 52, 39, 38, 35, 34, 7, 6, 21, 16, 51, 50, + 55, 54, 61, 1, 51, 21, 20, 23, 22, 51, 50, 19, 20, 7, 6, 35, 34, 39, 38, 39, 6, 7, 6, 35, 34, 39, 38, 53, 16, 55, 18, 33, + 50, 23, 22, 3,128, 57, 80,145,131, 72, 74,124, 34, 41, 22,117, 23, 41, 32,125,166, 48, 55,137, 95, 67, 27, 16, 16, 27, 67, 95, +118, 68, 56, 64,106, 1, 21,235,120, 90, 1,254,156,113,161,111,115,231,254,200, 79, 43,185,182,182,185, 43, 79, 1, 8,171,136, +158,122, 50,101,101, 50,122,154,124,183, 0,255,173, 1, 32,237,176, 0, 0, 0, 0, 3, 0,137,254, 86, 4, 72, 6, 19, 0, 29, + 0, 38, 0, 47, 0, 0, 1, 35, 53, 33, 21, 35, 21, 22, 23, 22, 17, 16, 7, 6, 7, 21, 51, 21, 33, 53, 51, 53, 38, 39, 38, 17, + 16, 55, 54, 55, 23, 17, 54, 55, 54, 53, 52, 39, 38, 3, 17, 6, 7, 6, 21, 20, 23, 22, 2, 20,240, 2,152,240,161, 95,124,123, + 95,162,240,253,104,240,172,100,123,123,100,172,184, 69, 44, 72, 72, 44,253, 79, 49, 72, 72, 49, 5,111,164,164,252, 26,117,151, +254,226,254,225,150,117, 26,240,165,165,237, 23,123,150, 1, 31, 1, 30,151,123, 23,168,252,194, 26, 66,110,213,214,109, 66,252, +215, 3, 72, 24, 73,109,214,213,110, 73, 0, 0, 0, 1, 0,152,255,229, 3,177, 4, 94, 0, 17, 0, 0, 55, 30, 1, 51, 50, 54, + 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 38, 39,152, 59,122, 73,172,182,185,185, 46,191,131, 68,118, 54,231, 46, 42,216,204, 2, + 43,251,162,219,119,127, 34, 36, 0, 1, 0,152,255,229, 3,177, 6, 31, 0, 17, 0, 0, 55, 30, 1, 51, 50, 54, 53, 17, 51, 17, + 35, 53, 14, 1, 35, 34, 38, 39,152, 59,122, 73,172,182,185,185, 46,191,131, 68,118, 54,231, 46, 42,216,204, 3,236,249,225,219, +119,127, 34, 36, 0, 1, 0,102,254, 86, 4,128, 4, 94, 0, 25, 0, 0, 5, 20, 22, 59, 1, 21, 35, 34, 38, 61, 1, 14, 1, 35, + 34, 38, 39, 53, 30, 1, 51, 50, 54, 53, 17, 51, 3,127, 89, 90, 78, 98,165,179, 46,191,131, 68,118, 54, 59,122, 73,172,182,185, + 20,125,125,156,211,195,239,119,127, 34, 36,188, 46, 42,216,204, 2, 43, 0, 0, 0, 1, 1,106,254, 86, 4,131, 4,123, 0, 17, + 0, 0, 1, 46, 1, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 22, 23, 4,131, 59,122, 73,172,182,185,185, 46,191,131, + 68,118, 54, 3,121, 46, 42,216,204,252, 41, 6, 8,217,119,127, 34, 36, 0, 0, 0, 1, 1,106,254, 86, 4,131, 4,123, 0, 27, + 0, 0, 5, 20, 23, 22, 59, 1, 21, 35, 34, 38, 53, 17, 51, 21, 62, 1, 51, 50, 22, 23, 21, 46, 1, 35, 34, 7, 6, 21, 2, 35, + 44, 44, 91,234,254,165,179,185, 46,191,131, 68,118, 54, 59,122, 73,172, 91, 91, 20,125, 63, 62,156,211,195, 4,114,217,119,127, + 34, 36,188, 46, 42,108,108,204, 0, 1, 0,160, 0, 0, 4, 50, 4,123, 0, 17, 0, 0, 1, 52, 55, 54, 59, 1, 21, 35, 34, 7, + 6, 21, 17, 33, 21, 33, 53, 33, 2, 8, 82, 82,180,210,188,106, 38, 36, 1,112,252,110, 1,104, 2,229,212, 98, 96,156, 48, 50, +152,253,170,143,143, 0, 0, 0, 0, 1, 0,160, 0, 0, 4, 50, 4,123, 0, 16, 0, 0, 1, 17, 33, 21, 33, 53, 33, 17, 52, 38, + 43, 1, 53, 51, 50, 23, 22, 2,200, 1,106,252,110, 1,110, 72,108,186,208,180, 82, 82, 2,229,253,170,143,143, 2, 86,154, 96, +156, 96, 98, 0, 0, 2, 0,122, 0, 0, 4, 87, 4, 94, 0, 22, 0, 33, 0, 0, 1, 22, 23, 22, 23, 19, 35, 3, 38, 39, 38, 43, + 1, 17, 35, 17, 33, 50, 23, 22, 21, 20, 6, 1, 17, 51, 50, 55, 54, 53, 52, 39, 38, 35, 2,212, 55, 53, 52, 53,174,195,162, 63, + 59, 59, 97,169,185, 1,132,217,108,107,112,253,245,198,119, 63, 64, 64, 63,119, 2, 13, 17, 54, 54, 94,254,206, 1, 31,113, 36, + 37,254, 39, 4, 94, 78, 77,166,105,140, 1,157,254,175, 43, 43, 83, 84, 42, 42, 0, 2, 0,122, 0, 0, 4, 87, 4, 94, 0, 22, + 0, 33, 0, 0, 1, 30, 1, 21, 20, 7, 6, 35, 33, 17, 51, 17, 51, 50, 55, 54, 55, 19, 51, 3, 6, 7, 6, 1, 51, 50, 55, 54, + 53, 52, 39, 38, 43, 1, 2,212,106,112,107,108,217,254,124,185,169, 97, 59, 59, 63,162,195,174, 53, 52, 53,254, 40,198,119, 63, + 64, 64, 63,119,198, 2, 83, 27,140,105,162, 81, 80, 4, 94,254, 41, 37, 36,113, 1, 29,254,208, 94, 54, 54,254, 55, 42, 42, 84, + 83, 43, 43, 0, 0, 1, 0,188,254, 86, 4, 20, 4,123, 0, 56, 0, 0, 1, 21, 46, 1, 35, 34, 7, 6, 21, 20, 23, 22, 31, 1, + 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 20, 23, 22, 59, 1, 21, 35, 34, 38, 61, 1, 22, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, + 47, 1, 38, 39, 38, 53, 52, 54, 51, 50, 22, 3,216, 78,167, 91,136, 68, 70, 50, 48,148, 64,196, 82, 82,122,124,216,104,106, 38, + 34,110,232,254,180,164,102,100, 98, 98,130, 70, 70, 50, 52,170, 64,172, 76, 76,224,206,102,181, 4, 63,174, 40, 40, 42, 42, 84, + 64, 37, 36, 33, 14, 42, 77, 76,137,157, 90, 91, 21,159, 55, 48,156,192,214,251, 53, 26, 27, 45, 44, 81, 75, 40, 40, 37, 15, 36, + 74, 75,130,158,172, 30, 0, 0, 0, 1, 0,125,254, 86, 4, 84, 6, 20, 0, 19, 0, 0, 5, 20, 6, 43, 1, 53, 51, 50, 54, 53, + 17, 52, 54, 59, 1, 21, 35, 34, 6, 21, 2,211,179,165,254,234, 90, 90,169,179,221,209, 99, 77, 20,195,211,156,125,125, 4,194, +184,174,153, 81,103, 0, 0, 0, 0, 1, 0,125,254, 86, 4, 84, 6, 20, 0, 31, 0, 0, 1, 21, 33, 17, 20, 6, 43, 1, 53, 51, + 50, 54, 53, 17, 33, 53, 33, 17, 33, 53, 33, 53, 52, 54, 59, 1, 21, 35, 34, 6, 21, 17, 4, 52,254,159,179,165,254,234, 90, 90, +254,129, 1,127,254,195, 1, 61,169,179,221,209, 99, 77, 2,104,164,254, 40,195,211,156,125,125, 1,216,164, 1,105,141, 80,184, +174,153, 81,103,253,165, 0, 0, 0, 1, 0,125,254, 86, 4, 84, 4, 94, 0, 21, 0, 0, 1, 17, 20, 23, 22, 59, 1, 21, 35, 34, + 38, 53, 17, 52, 39, 38, 43, 1, 53, 51, 50, 22, 2,211, 39, 38, 99,209,221,179,169, 45, 45, 90,234,254,165,179, 2,200,252,223, +103, 40, 41,153,174,184, 3, 12,124, 64, 62,156,211, 0, 0, 0, 0, 2, 0,118,254, 86, 4, 91, 6, 20, 0, 8, 0, 33, 0, 0, + 5, 35, 34, 21, 20, 51, 50, 55, 54, 55, 51, 21, 35, 6, 7, 6, 35, 32, 53, 52, 33, 51, 17, 52, 55, 54, 59, 1, 21, 35, 34, 7, + 6, 21, 2, 56,179,116,127,110, 33, 18,202,183,191, 18, 53, 82,181,254,209, 1, 14,190, 87, 81,195,174,176,100, 37, 39,154, 51, + 65, 48, 23,199,155,111, 64, 96,216,210, 4,174,180, 92, 86,153, 40, 41,103, 0, 0, 1, 0,166,254,194, 4, 43, 4, 96, 0, 19, + 0, 0, 1, 17, 33, 53, 33, 17, 52, 38, 43, 1, 53, 51, 50, 22, 21, 17, 33, 21, 33, 17, 2, 72,254, 94, 1,162, 94,117,207,225, +207,170, 1, 43,254,213,254,194, 1, 62,143, 2, 96,124, 98,147,166,203,253,160,143,254,194, 0, 0, 1, 0,131,254, 87, 4, 8, + 5,158, 0, 19, 0, 0, 1, 17, 33, 21, 33, 17, 20, 22, 59, 1, 21, 35, 34, 38, 53, 17, 33, 53, 33, 17, 2,102, 1,162,254, 94, + 94,117,207,225,207,170,254,213, 1, 43, 5,158,254,194,143,251,247,124, 98,147,166,203, 4, 9,143, 1, 62, 0, 0, 2, 0, 0, +255,227, 4,209, 4, 96, 0, 23, 0, 33, 0, 0, 17, 53, 51, 17, 51, 17, 33, 17, 51, 17, 51, 21, 35, 17, 35, 53, 6, 7, 6, 35, + 34, 38, 61, 1, 41, 1, 21, 20, 23, 22, 51, 50, 55, 54,142,184, 2, 58,184,153,153,184, 67, 89, 89,117,193,199, 2,241,253,199, + 62, 62,124,149, 87, 77, 1,196,164, 1,248,254, 8, 1,248,254, 8,164,254, 60,172,102, 50, 49,240,231, 10, 3,159, 80, 79, 95, + 85, 0, 0, 0, 0, 1, 0, 95,255,226, 4,114, 4, 96, 0, 35, 0, 0, 19, 53, 33, 21, 6, 7, 6, 21, 20, 22, 32, 55, 54, 53, + 52, 39, 38, 39, 53, 33, 21, 35, 22, 23, 22, 21, 20, 0, 32, 39, 38, 53, 52, 55, 54, 55, 95, 1,186,109, 63, 66,176, 1, 32, 88, + 88, 66, 71,100, 1,180,236,114, 56, 54,254,228,254, 62,142,142, 52, 53,119, 3,188,164,220, 69,105,111,135,159,194, 97, 98,158, +146,100,111, 63,220,164,100,113,110,136,235,254,220,145,146,228,147,107,109,104, 0, 1, 0, 65, 0, 0, 4,119, 4, 96, 0, 32, + 0, 0, 1, 33, 22, 23, 22, 21, 20, 0, 43, 1, 34, 39, 38, 53, 17, 35, 53, 33, 17, 20, 23, 22, 63, 1, 50, 55, 54, 53, 52, 39, + 38, 39, 38, 2, 85, 1, 66,114, 56, 54,254,228,225, 70,181, 82, 81,155, 1, 83, 38, 40,103, 51,144, 88, 88, 66, 79, 92, 76, 3, +218,100,113,110,136,235,254,220, 96, 96,214, 2, 59,143,253, 54,153, 49, 50, 2, 1, 97, 98,158,146,100,119, 55, 44, 0, 0, 0, + 0, 1, 0, 72, 0, 0, 4,138, 4, 96, 0, 6, 0, 0, 33, 35, 9, 1, 35, 1, 51, 4,138,196,254,162,254,162,194, 1,164,250, + 3,172,252, 84, 4, 96, 0, 0, 0, 1, 0, 15, 0, 0, 4,194, 4, 96, 0, 12, 0, 0, 33, 35, 11, 1, 35, 11, 1, 35, 19, 51, + 27, 1, 51, 4,194,148,184,183,173,184,184,147,235,173,193,194,173, 3,106,252,150, 3,106,252,150, 4, 96,252,106, 3,150, 0, + 0, 1, 0, 72, 0, 0, 4,138, 6, 10, 0, 15, 0, 0, 1, 62, 1, 59, 1, 21, 35, 34, 6, 15, 1, 1, 35, 9, 1, 35, 2, 52, + 78,148,124,146,108, 76, 84, 50, 34, 1,198,196,254,162,254,162,194, 4,200,200,122,154, 72,134, 84,251,178, 3,108,252,148, 0, + 0, 1, 0,102, 0, 0, 4,107, 4,125, 0, 8, 0, 0, 19, 51, 9, 1, 51, 1, 17, 35, 17,102,217, 1, 37, 1, 46,217,254, 93, +203, 4,125,254, 56, 1,200,253,144,253,243, 2, 13, 0, 0, 0, 0, 1, 0,194,254, 86, 4, 15, 4, 96, 0, 20, 0, 0, 19, 33, + 21, 1, 33, 23, 20, 23, 22, 59, 1, 21, 35, 34, 38, 61, 1, 33, 53, 1, 33,213, 2,167,253,249, 2, 25, 1, 21, 21, 59, 27, 52, +136,122,253,233, 2, 7,254, 12, 4, 96,168,252,219,167,153, 49, 48,156,192,214, 20,168, 3, 37, 0, 2, 0,167,255,145, 4, 42, + 4, 96, 0, 20, 0, 27, 0, 0, 33, 6, 21, 35, 52, 55, 33, 53, 1, 33, 53, 33, 21, 1, 51, 18, 51, 50, 23, 22, 33, 39, 51, 50, + 53, 52, 35, 6, 2,170, 3,153, 3,254,150, 2,180,253,101, 3,106,253, 76,175, 60,219,227, 1, 1,254,178, 20, 20,174, 70, 88, + 51, 60, 59, 52,168, 3, 37,147,168,252,219, 1, 32,246,189,147, 54, 91, 2, 0, 0, 1, 0,125,254, 76, 4, 84, 4, 96, 0, 32, + 0, 0, 1, 50, 23, 22, 23, 22, 21, 20, 4, 33, 34, 39, 38, 39, 53, 30, 1, 51, 50, 55, 54, 53, 52, 39, 38, 43, 1, 53, 1, 33, + 53, 33, 21, 2, 97,106,128, 98, 86, 81,254,208,254,232, 94, 99,100,106, 84,200,109,190, 99,100, 92, 93,165,174, 1,174,253,101, + 3,106, 1,220, 56, 42,109,104,138,221,242, 18, 19, 37,195, 49, 50, 75, 75,143,132, 75, 74,166, 1,243,147,168, 0, 2, 0,105, +254, 76, 4,104, 4, 96, 0, 36, 0, 45, 0, 0, 1, 32, 55, 54, 5, 22, 23, 54, 53, 52, 39, 38, 43, 1, 53, 1, 33, 53, 33, 21, + 1, 50, 23, 22, 23, 22, 21, 20, 7, 22, 21, 35, 52, 39, 48, 7, 6, 55, 38, 35, 34, 7, 20, 51, 50, 55, 1,227,254,177, 2, 2, + 1, 42,246,158, 12, 92, 94,164,174, 1,174,253,101, 3,106,254,101,105,129,100, 84, 81, 39,100,153, 40, 20,151, 9,125,197,131, + 1,158,190, 99,254, 76,189,251, 5, 4, 59, 42, 49,133, 74, 74,166, 1,243,147,168,254, 36, 56, 43,108,103,139,113, 85,101,164, + 82, 56, 17,121,250, 42, 75, 47, 75, 0, 0, 0, 0, 1, 0,194, 0, 0, 4, 15, 6, 18, 0, 28, 0, 0, 1, 51, 50, 55, 54, 53, + 52, 39, 38, 35, 34, 7, 6, 7, 53, 54, 55, 54, 51, 32, 23, 22, 21, 20, 7, 6, 7, 17, 35, 1,190, 63,191, 87, 58, 58,102,176, + 80, 79, 78, 78, 76, 81, 81, 85, 1, 19,138,109,108,112,170,203, 3, 30,114, 76, 98,133, 65,114, 22, 21, 43,172, 35, 17, 18,157, +125,186,170,115,119, 30,253,116, 0, 1, 0,194, 0, 0, 4, 15, 6, 18, 0, 28, 0, 0, 1, 17, 35, 17, 38, 39, 38, 53, 52, 55, + 54, 33, 50, 23, 22, 23, 21, 38, 39, 38, 35, 34, 7, 6, 7, 20, 23, 22, 51, 3, 18,202,170,112,108,110,137, 1, 19, 85, 81, 81, + 76, 78, 79, 78, 80,179, 99, 57, 1, 58, 86,192, 3, 30,252,226, 2,140, 30,119,115,170,186,125,157, 18, 17, 35,172, 43, 21, 22, +114, 65,133, 98, 76,114, 0, 0, 0, 1, 0,194, 0, 0, 4, 15, 6, 18, 0, 28, 0, 0, 1, 17, 51, 17, 22, 23, 22, 21, 20, 7, + 6, 33, 34, 39, 38, 39, 53, 22, 23, 22, 51, 50, 55, 54, 55, 52, 39, 38, 35, 1,190,203,170,112,108,109,138,254,237, 85, 81, 81, + 76, 78, 78, 79, 80,179, 99, 57, 1, 58, 86,192, 2,244, 3, 30,253,116, 30,119,115,170,186,125,157, 18, 17, 35,172, 43, 21, 22, +114, 65,133, 98, 76,114, 0, 0, 0, 1, 0,194,254, 74, 4, 15, 6, 18, 0, 35, 0, 0, 19, 52, 55, 54, 33, 50, 23, 22, 23, 21, + 38, 39, 38, 35, 34, 7, 6, 7, 17, 22, 23, 22, 51, 50, 55, 54, 55, 21, 6, 7, 6, 35, 32, 39, 38, 53,194,110,137, 1, 19, 85, + 81, 81, 76, 78, 79, 78, 80,179, 99, 57, 1, 1, 57, 99,179, 80, 78, 79, 78, 76, 81, 81, 85,254,237,137,110, 4, 62,186,125,157, + 18, 17, 35,172, 43, 21, 22,114, 65,133,251,224,133, 65,114, 22, 21, 43,172, 35, 17, 18,157,125,186, 0, 0, 0, 0, 3, 0, 95, + 0, 45, 4,115, 4, 66, 0, 12, 0, 26, 0, 40, 0, 0, 19, 52, 55, 54, 51, 50, 23, 22, 21, 20, 0, 32, 0, 55, 20, 23, 22, 32, + 54, 53, 52, 39, 38, 35, 34, 7, 6, 23, 52, 55, 54, 51, 50, 23, 22, 21, 20, 6, 34, 39, 38, 95,154,154,216,212,154,154,254,209, +254, 79,254,204,181,101,100, 1, 26,198,100,101,138,141,100,101,227, 34, 33, 47, 46, 34, 33, 66, 94, 33, 34, 2, 53,212,156,157, +157,156,212,216,254,208, 1, 48,217,141, 99, 99,198,141,138,102,102,102,102,137, 46, 34, 34, 34, 34, 46, 47, 66, 33, 33, 0, 0, + 0, 3, 0,209, 0, 0, 4, 0, 4,125, 0, 8, 0, 17, 0, 32, 0, 45, 64, 24, 25, 0,182, 10, 32, 9,182, 18,194, 1,182, 32, + 14, 18, 22, 5, 18, 28, 0, 9, 6, 18, 70, 33, 16,252,236, 50,212,236,212,236, 49, 0, 47,236,244,236, 16,212,236, 57, 48, 1, + 17, 51, 50, 54, 53, 52, 38, 35, 3, 17, 51, 50, 54, 53, 52, 38, 35, 37, 33, 50, 22, 21, 20, 6, 7, 30, 1, 21, 20, 6, 35, 33, + 1,155,221, 93, 95, 90, 94,225,210, 85, 84, 84, 86,254,101, 1,141,178,192, 98, 96,115,127,209,193,254, 99, 2, 18,254,152,105, + 63, 92,100, 1,194,254,232, 85, 63, 46, 86,169,148,136,105,125, 15, 25,156,117,154,168, 0, 0, 0, 2, 0,176,255,213, 4, 34, + 4,121, 0, 21, 0, 43, 0, 0, 1, 34, 7, 6, 20, 23, 22, 59, 1, 21, 35, 34, 7, 6, 21, 20, 23, 22, 51, 36, 17, 16, 39, 4, + 17, 16, 5, 6, 39, 34, 39, 38, 53, 52, 54, 55, 46, 1, 53, 52, 55, 54, 51, 50, 2, 50,115, 57, 64, 60, 32,138,137,137,138, 32, + 60, 64, 55,117, 1, 84,120, 1, 20,254,236, 86,147,173,100,100,106, 98, 98,106,100,100,173,150, 3,216, 54, 61,154, 55, 30,157, + 30, 54, 78, 74, 64, 54, 1, 1,190, 1,162,115,151,254,120,254,168,194, 62, 2, 87, 86,148,103,142, 28, 27,142,103,148, 87, 86, + 0, 1, 0, 54, 0, 0, 4,108, 6, 18, 0, 48, 0, 0, 37, 17, 35, 53, 33, 17, 6, 7, 6, 35, 34, 39, 38, 17, 16, 55, 54, 51, + 50, 23, 22, 23, 53, 52, 55, 54, 59, 1, 21, 35, 34, 7, 6, 29, 1, 35, 21, 38, 39, 38, 35, 34, 7, 6, 16, 23, 22, 51, 50, 2, +206,116, 1, 30, 1,163, 58,152,212,123,125,127,124,219, 51, 72, 24, 13, 62, 60,136,190,129, 78, 30, 28, 2, 29,189, 63, 55,134, + 75, 74, 74, 75,134,130,178, 1, 26,140,253,240, 4, 50, 18,159,160, 1, 13, 1, 15,160,157, 18, 6, 5, 1,216, 94, 96,156, 48, + 51,151,148,106, 38, 66, 22,114,113,254,102,113,114, 0, 0, 0, 0, 1, 0,144, 0, 0, 4, 65, 4,123, 0, 11, 0, 0, 19, 51, + 17, 33, 17, 51, 17, 35, 17, 33, 17, 35,144,202, 2, 29,202,202,253,227,202, 4,123,254, 65, 1,191,251,133, 2, 18,253,238, 0, + 0, 3, 0,202,254, 86, 4, 7, 6, 20, 0, 3, 0, 20, 0, 29, 0, 0, 1, 51, 21, 35, 23, 17, 51, 21, 35, 6, 7, 6, 35, 32, + 53, 52, 33, 51, 17, 33, 53, 1, 35, 34, 23, 22, 51, 50, 55, 54, 2,154,184,184,184,180,190, 19, 53, 81,181,254,208, 1, 14,194, +254,194, 1, 51,181,119, 3, 3,123,106, 38, 17, 6, 20,233,203,251,160,155,112, 63, 96,221,205, 3,209,143,251, 6, 51, 65, 48, + 23, 0, 0, 0, 0, 1, 0,119,254, 76, 4, 90, 4, 96, 0, 10, 0, 0, 1, 35, 17, 1, 35, 9, 1, 51, 1, 17, 51, 4, 90,186, +253,220,236, 2, 82,253,150,240, 2, 56,186,254, 76, 3,151,254, 29, 2, 12, 2, 84,253,221, 2, 35, 0, 0, 0, 0, 1, 0,245, + 0, 0, 3,220, 4,123, 0, 5, 0, 0, 19, 51, 17, 33, 21, 33,245,202, 2, 29,253, 25, 4,123,252, 47,170, 0, 0, 2, 0, 35, +254, 86, 4,124, 6, 18, 0, 29, 0, 41, 0, 0, 37, 6, 7, 6, 35, 34, 39, 38, 16, 55, 54, 51, 50, 23, 22, 23, 53, 52, 55, 54, + 59, 1, 21, 35, 34, 7, 6, 21, 17, 35, 0, 16, 23, 22, 50, 55, 54, 16, 39, 38, 34, 7, 2,187, 44, 66, 67, 93,174,110,109,109, +110,174, 93, 67, 66, 44, 61, 61,136,190,127, 79, 29, 28,185,254, 41, 63, 63,219, 63, 63, 63, 63,219, 63,168,100, 48, 49,162,162, + 2, 16,162,162, 49, 48,100,198,214, 96, 96,156, 48, 49,153,249,218, 4,164,254,106,116,115,115,116, 1,150,116,115,115, 0, 0, + 0, 1, 0,194, 0, 0, 4, 15, 6, 18, 0, 36, 0, 0, 1, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 7, 53, 54, 55, 54, + 51, 32, 23, 22, 21, 20, 7, 6, 7, 21, 51, 21, 35, 17, 35, 17, 35, 53, 51, 1,190, 63,191, 87, 58, 58,102,176, 80, 79, 78, 78, + 76, 81, 81, 85, 1, 19,138,109,108,112,170,231,231,202,229,228, 3, 30,114, 76, 98,133, 65,114, 22, 21, 43,172, 35, 17, 18,157, +125,186,170,115,119, 30,212,164,254,236, 1, 20,164, 0, 0, 0, 0, 1, 0,194, 0, 0, 4, 15, 6, 18, 0, 36, 0, 0, 1, 53, + 38, 39, 38, 53, 52, 55, 54, 33, 50, 23, 22, 23, 21, 38, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 59, 1, 17, 51, 21, 35, 17, 35, + 17, 35, 53, 2, 72,170,112,108,110,137, 1, 19, 85, 81, 81, 76, 78, 79, 78, 80,176,102, 58, 58, 87,191, 62,229,229,202,231, 1, +184,212, 30,119,115,170,186,125,157, 18, 17, 35,172, 43, 21, 22,114, 65,133, 98, 76,114,254,154,164,254,236, 1, 20,164, 0, 0, + 0, 3, 0, 29,255,227, 4,154, 6, 20, 0, 7, 0, 32, 0, 35, 0, 0, 18, 16, 22, 50, 54, 16, 38, 34, 5, 17, 51, 17, 33, 21, + 1, 33, 21, 33, 43, 1, 53, 6, 7, 6, 35, 34, 2, 16, 18, 51, 50, 23, 22, 23, 17, 1,168,100,175,101,101,175, 1, 20,110, 2, + 11,254, 97, 1,159,253,245, 16, 94, 33, 59, 56, 78,128,161,161,128, 78, 56, 58,144, 1,143, 2,250,254,106,231,231, 1,150,231, + 43, 2, 94,254, 76,168,252,219,147,168, 97, 51, 49, 1, 68, 2, 16, 1, 68, 49, 48, 77,252,251, 3, 5, 0, 0, 0, 2, 0, 27, +254, 76, 4,180, 6, 20, 0, 13, 0, 67, 0, 0, 18, 16, 23, 22, 51, 50, 55, 54, 16, 39, 38, 35, 34, 7, 37, 19, 35, 53, 6, 7, + 6, 35, 34, 39, 38, 16, 55, 54, 51, 50, 23, 22, 23, 17, 51, 3, 33, 21, 3, 50, 23, 22, 23, 22, 21, 20, 6, 35, 34, 39, 38, 39, + 53, 30, 1, 51, 50, 55, 54, 53, 52, 39, 38, 43, 1, 53, 1, 33,141, 50, 50, 88, 87, 51, 50, 50, 51, 87, 88, 50, 1,180, 1,111, + 35, 53, 53, 74,122, 76, 77, 77, 76,122, 74, 53, 53, 35,111, 1, 2, 12,246, 63, 77, 59, 51, 49,182,168, 57, 59, 60, 64, 51,120, + 65,114, 59, 60, 55, 56, 99,104, 1, 2,254,113, 2,250,254,106,116,115,115,116, 1,150,116,115,115, 95,252, 51,168,100, 48, 49, +162,162, 2, 16,162,162, 49, 48,100, 2, 94,254, 76,168,254, 36, 56, 42,109,104,138,221,242, 18, 19, 37,195, 49, 50, 75, 75,143, +132, 75, 74,166, 1,243, 0, 0, 0, 4, 0, 54,255,145, 4,153, 6, 20, 0, 7, 0, 11, 0, 44, 0, 51, 0, 0, 18, 16, 22, 50, + 54, 16, 38, 34, 5, 19, 1, 33, 53, 33, 21, 1, 51, 18, 51, 50, 21, 22, 43, 1, 6, 21, 35, 52, 55, 39, 35, 53, 14, 1, 35, 34, + 2, 16, 18, 51, 50, 22, 23, 17, 51, 1, 51, 50, 53, 52, 35, 6,169,100,175,101,101,175, 1,127, 3, 1,141,254,115, 2, 9,254, + 97,105, 36,132,136, 1,200, 25, 2, 92, 1,216, 92, 35,106, 75,121,153,153,121, 75,106, 35,110, 1, 48, 12,104, 42, 53, 2,250, +254,106,231,231, 1,150,231, 20,252,254, 3, 2,147,168,252,219, 1, 32,246,189, 51, 60, 83, 27, 1,168,100, 97, 1, 68, 2, 16, + 1, 68, 97,100, 2, 94,250,127, 54, 91, 2, 0, 0, 1, 0,153,255,227, 4, 56, 5,158, 0, 62, 0, 0, 1, 21, 46, 1, 35, 34, + 6, 21, 20, 22, 31, 1, 22, 23, 22, 21, 20, 6, 35, 34, 39, 38, 39, 21, 35, 34, 38, 53, 17, 35, 53, 51, 17, 51, 17, 51, 21, 35, + 17, 20, 22, 59, 1, 53, 30, 1, 51, 50, 54, 53, 52, 39, 38, 47, 1, 46, 1, 53, 52, 54, 51, 50, 22, 4, 20, 47,101, 54, 82, 82, + 59, 89, 37,119, 48, 50,148,130, 54, 58, 56, 62,113,128, 97, 81, 81,111,227,227, 45, 69,107, 62,118, 59, 78, 84, 31, 27,106, 38, +103, 91,135,123, 61,108, 4, 63,174, 40, 40, 84, 84, 64, 73, 33, 14, 44, 75, 76,137,156,182, 17, 17, 33, 38,159,210, 2, 96,143, + 1, 62,254,194,143,253,160,137, 78, 77, 53, 53, 89, 81, 75, 40, 36, 41, 15, 36,149,130,158,172, 30, 0, 0, 0, 0, 2, 0,153, +254, 86, 4, 52, 6, 20, 0, 37, 0, 46, 0, 0, 1, 17, 33, 53, 52, 55, 54, 59, 1, 21, 35, 34, 7, 6, 21, 19, 20, 7, 6, 43, + 1, 53, 51, 50, 55, 54, 61, 1, 35, 34, 39, 38, 53, 17, 35, 53, 51, 17, 1, 2, 17, 33, 17, 20, 23, 22, 51, 1,137, 1, 25, 65, + 60,147,130,132, 74, 28, 30, 2, 61, 61,136, 53, 37, 78, 29, 29,141,161, 59, 61,101,101, 1,165, 1,254,231, 28, 29, 85, 5,158, +254,194, 78,182, 90, 86,153, 40, 41,103,251, 41,215, 95, 96,156, 48, 50,152, 20, 80, 77,212, 2, 96,143, 1, 62,250,252, 1, 23, + 2, 32,253,160,138, 38, 39, 0, 0, 3, 0,181,255,112, 4, 18, 5,158, 0, 46, 0, 54, 0, 64, 0, 0, 1, 17, 51, 21, 54, 51, + 50, 23, 22, 23, 21, 38, 39, 38, 35, 34, 7, 6, 16, 23, 22, 23, 54, 51, 50, 23, 20, 35, 34, 39, 6, 21, 7, 52, 55, 38, 39, 21, + 35, 34, 38, 53, 17, 35, 53, 51, 17, 1, 22, 51, 50, 53, 52, 35, 34, 7, 38, 53, 16, 55, 35, 17, 20, 22, 51, 1,117,228, 90,157, + 51, 49, 48, 46, 47, 47, 47, 48,108, 59, 59, 59, 4, 4, 50,118,179, 1,200, 49, 43, 3, 92, 7, 33, 28,114,128, 97, 81, 81, 1, +254, 36, 45, 87, 79, 61,213, 77, 84,221, 45, 69, 5,158,254,194,130,157, 17, 18, 35,172, 43, 22, 21,113,114,254,102,114, 7, 7, +176,246,189, 17, 57, 68, 3,104, 84, 34, 50,128,159,210, 2, 96,143, 1, 62,250,244, 19, 57, 75,105,157,248, 1, 7,155,253,160, +137, 78, 0, 0, 0, 1, 0,135,254, 86, 4, 72, 6, 20, 0, 51, 0, 0, 1, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, + 52, 38, 35, 34, 6, 21, 17, 35, 17, 35, 17, 35, 17, 35, 53, 51, 53, 52, 54, 59, 1, 21, 35, 34, 6, 29, 1, 59, 2, 21, 54, 55, + 54, 51, 50, 23, 22, 4, 71, 49, 49,108,153,140, 63, 23, 23, 75, 74, 89,104,111,180,110,106,106,104,113,105,106, 59, 47,180, 2, +109, 40, 53, 54, 70,116, 60, 59, 2,164,253, 72,214, 96, 96,156, 48, 49,153, 2,178,159,158,190,164,253,135, 3,209,252, 47, 3, +209,143, 78,187,171,153, 80,104, 99,174,101, 50, 50,119,120, 0, 0, 2, 0,230,255,227, 3,235, 6, 20, 0, 37, 0, 55, 0, 0, + 1, 21, 38, 39, 38, 35, 34, 6, 21, 20, 23, 22, 31, 1, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 39, 21, 35, 17, 51, 17, 54, + 55, 54, 51, 50, 23, 22, 1, 17, 22, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 47, 1, 38, 39, 38, 3,190, 59, 62, 65, 66,103,102, + 36, 38,110, 47,149, 60, 62, 93, 91,163, 65, 76, 79, 68,138,138, 8, 75, 84,155, 76, 68, 67,253,235, 75, 69, 74, 73, 97, 53, 52, + 37, 34,133, 48,128, 57, 50, 4, 63,174, 41, 19, 20, 84, 84, 63, 38, 36, 33, 14, 44, 75, 76,137,155, 92, 91, 17, 21, 29, 38, 6, + 20,253, 58,138, 77, 86, 15, 15,254,183,253,206, 51, 23, 27, 45, 43, 82, 75, 40, 35, 42, 15, 36, 74, 65, 0, 0, 0, 2, 0,219, + 0, 0, 3,244, 6, 20, 0, 10, 0, 13, 0, 0, 19, 51, 17, 33, 21, 1, 33, 21, 33, 43, 1, 19, 17, 1,219,138, 2,143,253,249, + 2, 7,253,113, 20,118,138, 1,243, 6, 20,254, 76,168,252,219,147, 3,205,252,250, 3, 6, 0, 0, 2, 0,143,255,226, 4, 66, + 5, 32, 0, 12, 0, 25, 0, 0, 19, 51, 27, 1, 51, 27, 1, 51, 3, 35, 11, 1, 35, 3, 51, 27, 1, 51, 27, 1, 51, 3, 35, 11, + 1, 35,143,116,145,144,137,145,144,116,185,136,152,153,136,185,116,145,144,137,145,144,116,185,136,152,153,136, 2, 85,254, 23, + 1,233,254, 23, 1,233,253,141, 2, 2,253,254, 5, 61,254, 23, 1,233,254, 23, 1,233,253,141, 2, 2,253,254, 0, 2, 0,143, + 0,173, 4, 66, 5, 31, 0, 7, 0, 15, 0, 0, 19, 33, 17, 35, 17, 33, 17, 35, 17, 33, 17, 35, 17, 33, 17, 35,143, 3,179,143, +253,107,143, 3,179,143,253,107,143, 2, 85,254, 88, 1, 5,254,251, 4,114,254, 88, 1, 5,254,251, 0, 0, 0, 0, 1, 0,178, +254, 74, 4, 31, 6, 20, 0, 24, 0, 0, 5, 32, 25, 1, 52, 38, 43, 1, 53, 51, 50, 22, 21, 17, 16, 51, 50, 54, 53, 17, 51, 17, + 35, 17, 6, 2,132,254,219, 57, 79, 37, 53,136,122,186,112,129,138,138, 99, 29, 1,215, 2,196,153, 97,156,192,214,253, 66,254, +195,190,164, 2,121,249,236, 2, 98,201, 0, 0, 0, 1, 0,197,254, 86, 4, 12, 6, 20, 0, 34, 0, 0, 1, 16, 51, 50, 54, 53, + 17, 51, 17, 6, 22, 59, 1, 21, 35, 34, 39, 38, 39, 53, 6, 35, 34, 25, 1, 52, 39, 38, 43, 1, 53, 51, 50, 22, 21, 1,190,148, + 90,103,111, 2, 48, 62, 30, 42,109, 47, 50, 1, 79,138,235, 23, 23, 63, 29, 42,109, 98, 1,192,254,195,190,164, 2,121,251,142, +148,102,156, 92,103,231,172,201, 1,215, 2,196,153, 49, 48,156,192,214, 0, 0, 0, 1, 1, 65, 2,156, 3,144, 6, 4, 0, 19, + 0, 32, 64, 6, 0, 3, 14, 10, 11, 20, 16,212,220, 60, 47,204, 75, 49, 0, 64, 6, 6, 17, 12, 2, 11, 20, 16,212, 60,196,212, +204, 48, 1, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 17, 62, 1, 51, 50, 22, 3,144,116, 78, 78, 94,108,117,117, 41, +113, 74,121,125, 4, 23,254,133, 1,119, 89, 89,107, 92,254,158, 3,103,254,171, 56, 56,134, 0, 0, 1, 1, 65, 2,154, 3,144, + 6, 2, 0, 31, 0, 0, 1, 51, 62, 1, 51, 50, 22, 21, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 53, 52, 55, 54, 59, 1, + 21, 35, 34, 7, 6, 21, 1,181, 1, 41,113, 74,121,125,116, 78, 78, 94,108,117, 52, 51,114,160,147, 66, 24, 24, 4,172, 57, 56, +134,130,254,134, 1,119, 89, 88,106, 92,254,158, 2, 49, 83,119, 54, 54, 87, 27, 28, 85, 0, 0, 0, 2, 1,230, 1,173, 2,235, + 6, 4, 0, 11, 0, 15, 0, 0, 1, 51, 17, 20, 6, 43, 1, 53, 51, 50, 54, 53, 17, 51, 21, 35, 2,119,116,103,114, 44, 31, 66, + 48,116,116, 5, 15,253,130,120,108, 88, 54, 86, 3,114,130, 0, 0, 1, 1,153, 2,156, 3, 56, 5, 31, 0, 17, 0, 0, 1, 46, + 1, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 22, 23, 3, 55, 19, 46, 28, 98,106,116,116, 37,117, 84, 12, 29, 18, 4, +175, 10, 9,113,107,254,182, 2,115, 97, 57, 55, 2, 3, 0, 0, 0, 1, 1,153, 2,140, 3, 56, 5, 16, 0, 17, 0, 0, 1, 30, + 1, 51, 50, 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 38, 39, 1,154, 19, 46, 28, 98,106,116,116, 37,117, 84, 12, 29, 18, 2, +252, 10, 9,113,107, 1, 74,253,141, 97, 57, 55, 3, 2, 0, 0, 0, 1, 1, 81, 1,173, 3,128, 5, 16, 0, 31, 0, 0, 1, 30, + 1, 51, 50, 54, 53, 17, 51, 17, 29, 1, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 61, 1, 35, 53, 14, 1, 35, 34, 38, 39, 1, 81, + 20, 46, 28, 98,105,117, 24, 24, 66, 31, 45,114, 51, 51, 1, 36,118, 83, 12, 29, 18, 2,252, 10, 9,113,107, 1, 74,253,213, 72, + 11, 86, 27, 27, 88, 54, 54,120, 11, 97, 57, 55, 3, 2, 0, 0, 0, 2, 1, 48, 2,156, 3,161, 5, 16, 0, 22, 0, 33, 0, 0, + 1, 30, 1, 21, 20, 7, 6, 43, 1, 17, 51, 17, 51, 50, 55, 54, 63, 1, 51, 7, 6, 7, 6, 1, 51, 50, 55, 54, 53, 52, 39, 38, + 43, 1, 2,172, 67, 71, 68, 68,137,244,117,106, 61, 37, 37, 40,102,123,110, 33, 33, 33,254,215,124, 75, 40, 40, 40, 40, 75,124, + 3,233, 15, 78, 59, 91, 45, 45, 2,115,254,247, 21, 20, 63,161,171, 53, 30, 30,255, 0, 23, 24, 47, 46, 24, 25, 0, 1, 0,143, + 2,156, 4, 66, 5, 16, 0, 12, 0, 0, 19, 51, 27, 1, 51, 27, 1, 51, 3, 35, 11, 1, 35,143,116,145,144,137,145,144,116,185, +136,152,153,136, 5, 15,254, 23, 1,233,254, 23, 1,233,253,141, 2, 2,253,254, 0, 1, 1, 17, 1,173, 3,192, 5, 16, 0, 15, + 0, 0, 1, 14, 1, 43, 1, 53, 51, 50, 54, 63, 1, 1, 51, 27, 1, 51, 2,138, 49, 93, 79, 92, 68, 48, 53, 32, 21,254,226,123, +220,221,123, 2, 98,112, 69, 87, 40, 75, 47, 2,105,254, 22, 1,234, 0, 0, 0,255,255, 1,236, 4,116, 2,235, 6,102, 16, 6, + 2,191, 0, 0,255,255, 1,207, 3,199, 3, 45, 6, 20, 16, 6, 6,141, 0, 0,255,255, 1,207, 3,199, 3, 45, 6, 20, 16, 6, + 6,142, 0, 0,255,255, 1,240, 4,194, 2,225, 6,193, 16, 6, 2,144, 0, 0, 0, 1, 1,223, 3,239, 2,242, 6, 20, 0, 16, + 0, 0, 1, 52, 53, 50, 54, 53, 52, 38, 35, 52, 53, 50, 23, 22, 20, 7, 6, 1,224, 64, 88, 88, 64,114, 80, 80, 80, 80, 3,239, + 61, 62, 88, 64, 63, 88, 61, 62, 80, 79,230, 80, 80, 0, 0, 0, 0, 1, 1,223, 3,239, 2,242, 6, 20, 0, 16, 0, 0, 1, 34, + 39, 38, 52, 55, 54, 51, 20, 21, 34, 6, 21, 20, 22, 51, 20, 2,242,116, 80, 78, 78, 80,116, 64, 88, 88, 64, 3,239, 80, 80,230, + 79, 80, 62, 61, 88, 63, 64, 88, 62, 0, 0, 0, 0, 1, 1, 94, 3,142, 3,115, 6,245, 0, 28, 0, 0, 1, 51, 50, 55, 54, 53, + 52, 39, 38, 35, 34, 7, 6, 7, 53, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 7, 17, 35, 1,253, 40,121, 54, 36, 36, 62,113, + 51, 49, 50, 49, 48, 51, 51, 54,173, 87, 69, 68, 71,107,127, 5, 77, 64, 42, 55, 75, 36, 64, 12, 12, 24, 96, 20, 9, 10, 88, 70, +104, 95, 64, 67, 17,254,147, 0, 0, 1, 1, 94, 3,142, 3,115, 6,245, 0, 28, 0, 0, 1, 17, 35, 17, 38, 39, 38, 53, 52, 55, + 54, 51, 50, 23, 22, 23, 21, 38, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 51, 2,211,127,107, 71, 68, 70, 86,173, 54, 51, 51, 48, + 49, 50, 49, 51,113, 62, 36, 36, 54,121, 5, 77,254, 65, 1,109, 17, 67, 64, 95,104, 70, 88, 10, 9, 20, 96, 24, 12, 12, 64, 36, + 75, 55, 42, 64, 0, 1, 1, 41, 4,238, 3,168, 6,102, 0, 6, 0, 55, 64, 12, 4, 5, 2,186, 0,185, 7, 4, 2, 11, 6, 7, + 16,212,236, 57, 49, 0, 16,244,236, 50, 57, 48, 0, 75,176, 9, 84, 75,176, 14, 84, 91, 88,189, 0, 7,255,192, 0, 1, 0, 7, + 0, 7, 0, 64, 56, 17, 55, 56, 89, 1, 51, 19, 35, 39, 7, 35, 2, 31,147,246,139,181,180,139, 6,102,254,136,245,245, 0, 0, + 0, 1, 1, 41, 4,238, 3,168, 6,102, 0, 6, 0, 55, 64, 12, 3, 0,186, 4, 1,185, 7, 3, 5, 11, 1, 7, 16,212,236, 57, + 49, 0, 16,244, 60,236, 57, 48, 0, 75,176, 9, 84, 75,176, 14, 84, 91, 88,189, 0, 7,255,192, 0, 1, 0, 7, 0, 7, 0, 64, + 56, 17, 55, 56, 89, 1, 3, 51, 23, 55, 51, 3, 2, 31,246,139,180,181,139,246, 4,238, 1,120,245,245,254,136, 0, 1, 2, 36, + 3,231, 2,173, 6, 18, 0, 3, 0, 19, 64, 3, 0, 3, 4, 16,212,204, 49, 0, 64, 3, 3, 2, 4, 16,212,196, 48, 1, 17, 35, + 17, 2,172,136, 6, 18,253,213, 2, 43, 0, 0,255,255, 1, 61, 5, 98, 3,147, 5,246, 16, 6, 2,128, 0, 0, 0, 1, 2, 36, +254,209, 2,173, 0,252, 0, 3, 0, 19, 64, 3, 0, 3, 4, 16,212,204, 49, 0, 64, 3, 3, 2, 4, 16,212,196, 48, 37, 17, 35, + 17, 2,172,136,252,253,213, 2, 43, 0, 0, 0,255,255, 1, 61,254,155, 3,148,255, 47, 16, 6, 2,173, 0, 0, 0, 2, 1,182, + 0, 0, 3, 27, 4, 35, 0, 2, 0, 5, 0, 0, 1, 3, 33, 3, 19, 33, 2,104,178, 1,101,179,179,254,155, 2,217, 1, 74,253, + 39,254,182, 0, 0, 1, 1,182, 2,216, 3, 27, 4, 35, 0, 2, 0, 0, 1, 3, 33, 2,104,178, 1,101, 2,217, 1, 74, 0, 0, +255,255, 1,223, 1,254, 2,242, 4, 35, 16, 7, 2, 91, 0, 0,254, 15, 0, 0,255,255, 1,223, 1,254, 2,242, 4, 35, 16, 7, + 2, 92, 0, 0,254, 15, 0, 0, 0, 1, 0,193, 1,137, 3, 23, 3,223, 0, 11, 0, 0, 1, 53, 51, 21, 51, 21, 35, 21, 35, 53, + 35, 53, 1,162,148,225,225,148,225, 2,254,225,225,148,225,225,148, 0, 0, 0,255,255, 1, 47, 5, 41, 3,162, 6, 72, 16, 6, + 2,130, 0, 0,255,255, 2, 1, 5, 68, 2,206, 6, 16, 16, 6, 2,131, 0, 0, 0, 2, 1, 86, 4,225, 3,123, 7, 6, 0, 11, + 0, 23, 0, 87,178, 15,200, 9,184, 1, 4, 64, 12, 21,200, 3, 24, 12, 80, 0,123, 18, 80, 6, 24, 16,212,236,244,236, 49, 0, + 16,212,236,244,236, 48, 0, 75,176, 9, 84, 75,176, 12, 84, 91, 88,189, 0, 24,255,192, 0, 1, 0, 24, 0, 24, 0, 64, 56, 17, + 55, 56, 89, 1, 75,176, 9, 84, 88,189, 0, 24, 0, 64, 0, 1, 0, 24, 0, 24,255,192, 56, 17, 55, 56, 89, 1, 20, 6, 35, 34, + 38, 53, 52, 54, 51, 50, 22, 7, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 3,123,159,116,115,159,159,115,116,159,123, 88, 64, + 64, 87, 87, 64, 64, 88, 5,244,115,160,160,115,115,159,159,115, 63, 88, 87, 64, 65, 87, 88, 0, 0, 1, 1,164,254,117, 3, 25, + 0, 0, 0, 19, 0, 34,179, 11, 14, 10, 7,184, 1, 6, 64, 9, 14, 0, 1, 0, 10, 4,124, 17, 20, 16,212,236,196,212,204, 49, + 0, 47,212,252,196, 18, 57, 48, 33, 51, 14, 1, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 53, 52, 54, 2, 16,119, 45, + 43, 55, 54, 32, 62, 31, 38, 68, 30,122,115, 53, 61, 88, 31, 46, 46, 15, 15,133, 10, 10, 87, 93, 48,105, 0, 0, 0, 1, 1, 31, + 5, 29, 3,178, 6, 55, 0, 27, 0,187, 64, 33, 0, 18, 7, 14, 11, 4, 1, 18, 7, 15, 11, 4, 18,204, 25, 7, 4,204, 21, 11, + 28, 15, 1, 14, 0, 7, 21, 80, 22, 7, 80, 8, 28, 16,212,236,212,236, 17, 57, 57, 57, 57, 49, 0, 16,212, 60,252,212, 60,236, + 17, 18, 57, 17, 18, 57, 17, 18, 57, 17, 18, 57, 48, 0, 75,176, 9, 84, 75,176, 12, 84, 91, 88,189, 0, 28,255,192, 0, 1, 0, + 28, 0, 28, 0, 64, 56, 17, 55, 56, 89, 0, 75,176, 15, 84, 88,189, 0, 28, 0, 64, 0, 1, 0, 28, 0, 28,255,192, 56, 17, 55, + 56, 89, 64, 63, 9, 0, 12, 10, 12, 11, 12, 12, 11, 15, 11, 16, 15, 17, 15, 18, 15, 19, 15, 20, 15, 21, 15, 22, 15, 23, 9, 27, + 25, 0, 25, 1, 27, 10, 27, 11, 27, 12, 27, 13, 27, 14, 27, 15, 27, 16, 27, 17, 27, 18, 27, 19, 31, 20, 31, 21, 31, 22, 26, 23, + 25, 27, 31, 1, 93, 1, 39, 46, 1, 35, 34, 6, 7, 35, 62, 1, 51, 50, 22, 31, 1, 30, 1, 51, 50, 54, 55, 51, 14, 1, 35, 34, + 38, 2,100, 57, 21, 33, 14, 38, 36, 2,124, 1,102, 91, 39, 64, 37, 57, 21, 33, 13, 39, 36, 1,125, 1,102, 91, 39, 64, 5, 90, + 55, 20, 19, 74, 81,134,148, 28, 33, 55, 20, 19, 74, 81,134,148, 28, 0, 0, 0,255,255, 1, 88, 4,238, 4, 23, 6,102, 16, 6, + 2,135, 0, 0, 0, 1,254,161, 1,222, 3,115, 4, 8, 0, 15, 0, 0, 1, 37, 51, 21, 20, 23, 22, 59, 1, 21, 33, 34, 39, 38, + 53, 5,254,161, 2,107,184, 38, 38,105,250,254,241,175, 87, 82,253,150, 3,100,164,148,153, 49, 48,156, 96, 90,200,162, 0, 0, + 0, 2, 1, 37, 1,170, 3,172, 5, 15, 0, 13, 0, 21, 0, 0, 1, 22, 21, 20, 7, 4, 39, 38, 55, 3, 51, 23, 55, 51, 1, 6, + 23, 22, 51, 50, 53, 54, 2,181,178,242,254,246, 1, 1,182,250,136,191,184,136,254,188,139, 3, 1,135,128, 1, 3,220,249,180, +129, 3, 3,135,192,241, 1, 47,224,224,254,138,174,152, 77, 77,140, 0, 0, 0, 0, 1, 1, 86, 2,156, 3,124, 6, 10, 0, 13, + 0, 0, 1, 20, 22, 59, 1, 21, 35, 34, 38, 53, 17, 35, 53, 33, 2,132, 56, 56,136,146,104,114,186, 1, 46, 3,127, 69, 71, 87, +119,108, 2, 58, 81, 0, 0, 0, 0, 1, 1, 91, 2,156, 3,118, 5, 47, 0, 41, 0, 0, 1, 21, 46, 1, 35, 34, 6, 21, 20, 22, + 31, 1, 22, 23, 22, 21, 20, 6, 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 53, 52, 39, 38, 47, 1, 46, 1, 53, 52, 54, 51, 50, 22, + 3, 80, 49,106, 56, 87, 86, 62, 93, 40,125, 50, 52,155,137, 56,123, 68, 64,125, 61, 82, 88, 32, 28,111, 41,107, 96,141,130, 64, +113, 5, 13, 97, 22, 22, 47, 47, 36, 41, 18, 8, 24, 42, 43, 77, 87,102, 20, 19,107, 30, 30, 50, 45, 42, 23, 20, 23, 8, 21, 83, + 73, 88, 97, 17, 0, 1, 1, 18, 2,156, 3,191, 5, 15, 0, 11, 0, 0, 1, 3, 1, 35, 39, 7, 35, 1, 3, 51, 23, 55, 3,177, +255, 1, 13,137,206,205,137, 1, 18,250,136,188,187, 5, 15,254,207,254,190,246,246, 1, 72, 1, 43,223,223, 0, 0, 1, 1, 94, + 2,156, 3,115, 6, 2, 0, 28, 0, 0, 1, 17, 35, 17, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 23, 21, 38, 39, 38, 35, 34, + 7, 6, 21, 20, 23, 22, 51, 2,211,127,107, 71, 68, 70, 86,173, 54, 51, 51, 48, 49, 50, 49, 51,113, 62, 36, 36, 54,121, 4, 91, +254, 65, 1,109, 17, 67, 64, 95,104, 70, 88, 10, 9, 20, 96, 24, 12, 12, 64, 36, 75, 55, 42, 64, 0, 1, 0,214, 0, 0, 3, 29, + 5, 88, 0, 5, 0, 0, 33, 17, 33, 53, 33, 17, 2,149,254, 65, 2, 71, 4,208,136,250,168, 0, 0, 1, 0,214, 0, 0, 3, 29, + 5, 88, 0, 7, 0, 0, 33, 17, 33, 53, 33, 17, 51, 17, 2,149,254, 65, 1,191,136, 3,156,136, 1, 52,250,168, 0, 1, 0,214, + 0, 0, 3, 29, 5, 88, 0, 7, 0, 0, 1, 17, 51, 17, 35, 17, 33, 53, 2,149,136,136,254, 65, 2,240, 2,104,250,168, 2,104, +136, 0, 0, 0, 0, 1, 0,214, 0, 0, 3, 29, 5, 88, 0, 7, 0, 0, 1, 17, 51, 17, 35, 17, 33, 53, 2,149,136,136,254, 65, + 1,188, 3,156,250,168, 1, 52,136, 0, 0, 0, 0, 1, 0,214, 0, 0, 3, 29, 5, 88, 0, 5, 0, 0, 37, 17, 51, 17, 33, 53, + 2,149,136,253,185,136, 4,208,250,168,136, 0,255,255, 1,141,254, 10, 3, 68,255,193, 16, 6, 2,161, 0, 0,255,255, 1, 23, + 4,238, 2,246, 6,102, 16, 6, 0, 67, 0, 0,255,255, 1,219, 4,238, 3,186, 6,102, 16, 6, 0,118, 0, 0,255,255, 1, 41, + 4,238, 3,168, 6,102, 16, 6, 2, 95, 0, 0,255,255, 1, 31, 5, 29, 3,178, 6, 55, 16, 6, 2,110, 0, 0, 0, 1, 1, 61, + 5, 98, 3,147, 5,246, 0, 3, 0, 17,182, 2,182, 0, 4, 1, 0, 4, 16,212,204, 49, 0, 16,212,236, 48, 1, 33, 21, 33, 1, + 61, 2, 86,253,170, 5,246,148,255,255, 0, 0, 5,187, 4,209, 6, 11, 16, 6, 6,161, 0, 0, 0, 1, 1, 47, 5, 41, 3,162, + 6, 72, 0, 13, 0, 32,185, 0, 11, 1, 3, 64, 12, 4, 7, 0,185, 14, 7, 80, 8, 1, 80, 0, 14, 16,212,236,220,236, 49, 0, + 16,244, 60,212,236, 48, 1, 51, 30, 1, 51, 50, 54, 55, 51, 14, 1, 35, 34, 38, 1, 47,119, 11, 96, 87, 85, 96, 14,119, 11,158, +145,144,158, 6, 72, 76, 74, 74, 76,143,144,144, 0, 1, 2, 1, 5, 68, 2,206, 6, 16, 0, 3, 0, 20, 64, 9, 2,222, 0,221, + 4, 1, 97, 0, 4, 16,212,236, 49, 0, 16,244,236, 48, 1, 51, 21, 35, 2, 1,205,205, 6, 16,204, 0, 0, 0,255,255, 1, 63, + 5, 70, 3,145, 6, 16, 16, 6, 0,106, 0, 0, 0, 1, 1,153, 4,242, 3, 56, 6,198, 0, 21, 0, 0, 1, 50, 23, 22, 21, 20, + 7, 6, 7, 21, 35, 53, 54, 55, 54, 53, 52, 35, 34, 7, 53, 54, 2, 74,230, 7, 1, 28, 50, 52,148, 67, 49, 22,120, 90, 64, 86, + 6,198,170, 5, 5, 64, 36, 67, 33, 88,108, 22, 48, 20, 53, 94, 32,131, 24, 0,255,255, 1, 86, 4,225, 3,123, 7, 6, 16, 6, + 2,108, 0, 0, 0, 2, 1, 88, 4,238, 4, 23, 6,102, 0, 3, 0, 7, 0, 37, 64, 17, 6, 2,186, 4, 0,185, 8, 0, 7, 3, + 4, 1, 5, 7, 1, 3, 8, 16,212,220,212,204, 17, 57, 17, 18, 57, 49, 0, 16,244, 60,236, 50, 48, 1, 51, 3, 35, 1, 51, 3, + 35, 2, 23,170,224,137, 2, 12,179,248,135, 6,102,254,136, 1,120,254,136, 0,255,255, 1, 41, 4,238, 3,168, 6,102, 16, 6, + 2, 96, 0, 0, 0, 1, 2, 34, 4,238, 2,170, 6,170, 0, 3, 0, 0, 1, 17, 35, 17, 2,170,136, 6,170,254, 68, 1,188, 0, +255,255, 1, 86, 4,238, 3,118, 6,170, 16, 39, 2,137, 0,204, 0, 0, 16, 7, 2,137,255, 52, 0, 0, 0, 0, 0, 2, 0,210, + 4,238, 3,144, 6,102, 0, 3, 0, 7, 0, 0, 1, 19, 35, 3, 33, 19, 35, 3, 1,132,205,135,248, 2, 0,190,137,223, 6,102, +254,136, 1,120,254,136, 1,120,255,255, 1, 47, 5, 41, 3,162, 6,220, 16, 39, 2,107, 0, 0, 0,204, 16, 6, 2,106, 0, 0, + 0, 1, 1, 47, 5, 41, 3,162, 6, 72, 0, 13, 0, 0, 1, 62, 1, 51, 50, 22, 23, 35, 46, 1, 35, 34, 6, 7, 1, 47, 11,158, +144,145,158, 11,119, 14, 96, 85, 87, 96, 11, 5, 41,143,144,144,143, 76, 74, 74, 76, 0, 0, 0, 0, 1, 1,213, 3,199, 3, 34, + 5, 32, 0, 3, 0, 0, 1, 35, 19, 51, 2,196,239,187,146, 3,199, 1, 89, 0, 0, 1, 1,239, 4,194, 2,226, 6,193, 0, 8, + 0, 0, 1, 16, 35, 53, 22, 53, 35, 53, 51, 2,225,241,112,112,241, 5,195,254,255,123, 3,137,254, 0, 0, 0, 0, 1, 1,240, + 4,194, 2,225, 6,193, 0, 8, 0, 0, 1, 53, 51, 21, 35, 20, 51, 21, 34, 1,240,241,112,112,241, 5,195,254,254,134,123, 0, + 0, 1, 1,219, 4,238, 2,230, 6,102, 0, 3, 0, 0, 1, 51, 3, 35, 2, 32,198,113,154, 6,102,254,136, 0,255,255, 1,121, +253,184, 3, 88,255, 48, 16, 7, 0, 67, 0, 98,248,202, 0, 0,255,255, 1,121,253,184, 3, 88,255, 48, 16, 7, 0,118,255,158, +248,202, 0, 0, 0, 1, 1,156,253, 1, 2,212,254,235, 0, 7, 0, 0, 1, 53, 51, 17, 35, 53, 35, 53, 2, 76,136,136,176,254, + 58,177,254, 22,177,136, 0, 0, 0, 1, 1,204,253, 1, 3, 4,254,235, 0, 7, 0, 0, 1, 21, 35, 17, 51, 21, 51, 21, 2, 84, +136,136,176,253,178,177, 1,234,177,136, 0, 0, 0, 1, 1,115, 5,134, 3, 94, 7,112, 0, 5, 0, 0, 1, 33, 53, 33, 17, 35, + 2,214,254,158, 1,234,136, 6,232,136,254, 22, 0, 1, 1,163, 2,252, 3, 46, 4,113, 0, 19, 0, 0, 1, 53, 30, 1, 51, 50, + 54, 53, 52, 38, 39, 51, 30, 1, 21, 20, 6, 35, 34, 38, 1,163, 61, 88, 31, 46, 46, 15, 15,133, 10, 10, 87, 93, 48,105, 3,104, +119, 45, 43, 55, 54, 32, 62, 31, 38, 68, 30,122,115, 53, 0, 0, 0, 1, 1,250,254, 10, 2,214,255,193, 0, 12, 0, 0, 1, 21, + 34, 38, 52, 54, 51, 21, 34, 6, 21, 20, 22, 2,214, 93,127,127, 93, 51, 71, 71,254,108, 98,128,184,127, 98, 71, 50, 51, 71, 0, + 0, 1, 1, 98,253,178, 3, 76,254,235, 0, 7, 0, 0, 1, 51, 21, 33, 53, 51, 53, 51, 2,155,177,254, 22,177,136,254, 58,136, +136,177, 0, 0, 0, 1, 1, 94,253,178, 3, 72,254,235, 0, 7, 0, 0, 1, 35, 53, 33, 21, 35, 21, 35, 2, 15,177, 1,234,177, +136,254, 99,136,136,177, 0, 0, 0, 1, 1, 95,253, 1, 3, 73,254,235, 0, 11, 0, 0, 1, 35, 53, 51, 53, 51, 21, 51, 21, 35, + 21, 35, 2, 16,177,177,136,177,177,136,253,178,136,177,177,136,177, 0, 0, 0, 0, 1, 1,115,254, 99, 3, 94,254,235, 0, 3, + 0, 0, 1, 53, 33, 21, 1,116, 1,234,254, 99,136,136, 0, 0, 0, 1, 1,246,254, 86, 4, 27, 0,128, 0, 13, 0, 0, 37, 21, + 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 4, 27, 89, 90,165,205,185, 90, 45, 44,128,148,195,105,106,156, 62, 62,126,148, + 0, 1, 0,182,254, 86, 2,219, 0,128, 0, 13, 0, 0, 55, 51, 21, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 53,182,185, 44, 45, + 90,185,205,165, 90, 89,128,148,126, 62, 62,156,106,105,195, 0, 0, 1, 2, 1,254, 99, 2,206,255, 47, 0, 3, 0, 19, 64, 8, + 2,222, 0, 4, 1, 97, 0, 4, 16,212,236, 49, 0, 16,212,236, 48, 5, 51, 21, 35, 2, 1,205,205,209,204, 0, 0, 2, 1, 63, +254,100, 3,146,255, 46, 0, 3, 0, 7, 0, 28, 64, 13, 6, 2,222, 4, 0, 8, 5, 97, 4, 1, 97, 0, 8, 16,212,252,212,236, + 49, 0, 16,212, 60,236, 50, 48, 5, 51, 21, 35, 37, 51, 21, 35, 1, 64,202,202, 1,136,202,202,210,202,202,202, 0, 2, 1,141, +254, 10, 3, 68,255,193, 0, 11, 0, 23, 0, 29,181, 12, 0, 18, 0, 6, 24, 16,212,204,204, 16,204, 49, 0,181, 15, 9, 21, 9, + 3, 24, 16,212,204,204, 16,204, 48, 1, 20, 6, 35, 34, 38, 53, 52, 54, 51, 50, 22, 7, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, + 54, 3, 68,127, 93, 92,127,127, 92, 93,127, 98, 71, 51, 51, 70, 70, 51, 51, 71,254,230, 92,128,128, 92, 92,127,127, 92, 50, 71, + 70, 51, 52, 70, 71, 0, 0, 0, 0, 1, 1,152,253,226, 2,229,255, 59, 0, 3, 0, 17, 64, 6, 0, 3, 4, 1, 3, 4, 16,212, +204, 49, 0, 16,212,204, 48, 5, 51, 3, 35, 1,246,239,187,146,197,254,167, 0, 0, 1, 1,139,254,117, 3, 41, 0, 0, 0, 19, + 0, 56,179, 9, 6, 10, 13,186, 1, 6, 0, 6, 1, 5, 64, 9, 0, 9, 16, 19, 0, 16,124, 3, 20, 16,212,236,212,204, 16,196, + 49, 0, 47,246,254,197, 18, 57, 48, 1, 64, 13, 73, 1, 89, 1,105, 1,121, 1,137, 1,153, 1, 6, 93, 33, 30, 1, 21, 20, 6, + 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 53, 52, 38, 39, 2,188, 56, 53,120,118, 45, 87, 44, 34, 75, 47, 58, 61, 44, 44, 62,105, + 48, 89, 91, 12, 12,131, 17, 15, 48, 46, 30, 87, 61, 0, 0, 0,255,255, 1,174,254,117, 3, 35, 0, 0, 16, 6, 2,109, 10, 0, + 0, 1, 2, 36,253,115, 2,173,255, 47, 0, 3, 0, 0, 5, 17, 35, 17, 2,172,136,209,254, 68, 1,188, 0, 0, 0, 1, 1, 85, +253,229, 3,124,255, 47, 0, 7, 0, 0, 5, 17, 35, 53, 33, 21, 35, 17, 3,124,137,254,235,137,209,254,182,194,194, 1, 74, 0, + 0, 1, 0,206,254, 57, 4, 3,255, 88, 0, 20, 0, 0, 1, 6, 35, 34, 3, 52, 53, 51, 22, 51, 50, 55, 51, 22, 23, 50, 55, 51, + 2, 7, 34, 2,104, 59,116,218, 17,118, 13,103,102, 16,118, 11,105,102, 15,118, 15,220,116,254,139, 82, 1, 26, 2, 3,150,150, +149, 1,150,254,226, 1, 0, 0, 0, 1, 1, 41,254, 27, 3,168,255,147, 0, 6, 0, 25, 64, 11, 3, 0,186, 4, 1, 7, 3, 5, + 11, 1, 7, 16,212,236, 57, 49, 0, 16,212, 60,236, 57, 48, 1, 3, 51, 23, 55, 51, 3, 2, 31,246,139,180,181,139,246,254, 27, + 1,120,245,245,254,136, 0, 0, 0, 1, 1, 41,254, 27, 3,168,255,147, 0, 6, 0, 25, 64, 11, 4, 5, 2,186, 0, 7, 4, 2, + 11, 6, 7, 16,212,236, 57, 49, 0, 16,212,236, 50, 57, 48, 5, 51, 19, 35, 39, 7, 35, 2, 31,147,246,139,181,180,139,109,254, +136,245,245, 0, 0, 1, 1, 47,254, 25, 3,162,255, 56, 0, 13, 0, 32,185, 0, 11, 1, 3, 64, 12, 4, 7, 0,185, 14, 7, 80, + 8, 1, 80, 0, 14, 16,212,236,220,236, 49, 0, 16,244, 60,212,236, 48, 5, 51, 30, 1, 51, 50, 54, 55, 51, 14, 1, 35, 34, 38, + 1, 47,119, 11, 96, 87, 85, 96, 14,119, 11,158,145,144,158,200, 76, 74, 74, 76,143,144,144, 0, 0, 1, 1, 47,254, 27, 3,162, +255, 58, 0, 13, 0, 0, 1, 35, 46, 1, 35, 34, 6, 7, 35, 62, 1, 51, 50, 22, 3,162,119, 11, 96, 87, 85, 96, 14,119, 11,158, +145,144,158,254, 27, 76, 74, 74, 76,143,144,144, 0, 1, 1, 31,254, 27, 3,178,255, 53, 0, 27, 0,134, 64, 33, 0, 18, 7, 14, + 11, 4, 1, 18, 7, 15, 11, 4, 18,204, 25, 7, 4,204, 21, 11, 28, 15, 1, 14, 0, 7, 21, 80, 22, 7, 80, 8, 28, 16,212,236, +212,236, 17, 57, 57, 57, 57, 49, 0, 16,212, 60,252,212, 60,236, 17, 18, 57, 17, 18, 57, 17, 18, 57, 17, 18, 57, 48, 64, 63, 9, + 0, 12, 10, 12, 11, 12, 12, 11, 15, 11, 16, 15, 17, 15, 18, 15, 19, 15, 20, 15, 21, 15, 22, 15, 23, 9, 27, 25, 0, 25, 1, 27, + 10, 27, 11, 27, 12, 27, 13, 27, 14, 27, 15, 27, 16, 27, 17, 27, 18, 27, 19, 31, 20, 31, 21, 31, 22, 26, 23, 25, 27, 31, 1, 93, + 1, 39, 46, 1, 35, 34, 6, 7, 35, 62, 1, 51, 50, 22, 31, 1, 30, 1, 51, 50, 54, 55, 51, 14, 1, 35, 34, 38, 2,100, 57, 21, + 33, 14, 38, 36, 2,124, 1,102, 91, 39, 64, 37, 57, 21, 33, 13, 39, 36, 1,125, 1,102, 91, 39, 64,254, 88, 55, 20, 19, 74, 81, +134,148, 28, 33, 55, 20, 19, 74, 81,134,148, 28, 0, 1, 1, 61,254,155, 3,148,255, 47, 0, 3, 0, 17,182, 2,182, 0, 4, 1, + 0, 4, 16,212,204, 49, 0, 16,220,236, 48, 5, 33, 21, 33, 1, 62, 2, 86,253,170,209,148, 0,255,255, 0, 0,254, 29, 4,209, +254,109, 16, 6, 0, 66, 0, 0,255,255, 0, 0,254, 29, 4,209,255, 93, 16, 6, 6,140, 0, 0,255,255, 0, 88, 1,236, 4,121, + 3, 12, 16, 6, 0, 97, 0, 0, 0, 1, 0,141, 1,196, 4, 38, 2,104, 0, 3, 0, 0, 1, 21, 33, 53, 4, 38,252,104, 2,104, +164,164, 0, 0, 0, 1, 0, 0, 1,196, 4,209, 2,104, 0, 3, 0, 0, 17, 53, 33, 21, 4,209, 1,196,164,164, 0, 1, 0, 47, +255,160, 4,150, 4,188, 0, 3, 0, 0, 23, 39, 1, 23,139, 92, 4, 10, 93, 96, 76, 4,208, 77, 0, 1, 0, 8,255,186, 4,176, + 6, 23, 0, 3, 0, 0, 23, 39, 1, 23,111,103, 4, 68,100, 70, 70, 6, 23, 74, 0, 1, 1,250,254, 10, 2,214,255,193, 0, 12, + 0, 0, 1, 50, 54, 53, 52, 38, 35, 53, 50, 22, 20, 6, 35, 1,250, 51, 71, 71, 51, 93,127,127, 93,254,108, 71, 51, 50, 71, 98, +127,184,128, 0, 0, 1, 1, 85,254,128, 3,124,255,202, 0, 7, 0, 0, 1, 17, 51, 21, 33, 53, 51, 17, 1, 85,137, 1, 21,137, +254,128, 1, 74,194,194,254,182, 0, 2, 1, 85,253, 9, 3,124,255, 47, 0, 3, 0, 7, 0, 0, 5, 17, 33, 17, 1, 17, 33, 17, + 3,124,253,217, 1,158,254,235,209,253,218, 2, 38,254, 98, 1, 22,254,234, 0, 0, 1, 0,206,254, 57, 4, 3,255, 88, 0, 20, + 0, 0, 5, 54, 51, 50, 19, 20, 21, 35, 38, 35, 34, 7, 35, 38, 39, 34, 7, 35, 18, 55, 50, 2,104, 60,116,218, 17,117, 14,104, +101, 15,118, 12,105,102, 15,118, 15,220,116,250, 82,254,230, 2, 3,150,150,149, 1,150, 1, 30, 1, 0, 0, 0, 0, 1, 1,139, + 4,203, 3, 70, 6,135, 0, 11, 0, 0, 1, 7, 39, 55, 39, 55, 23, 55, 23, 7, 23, 7, 2,104,125, 96,125,125, 96,125,126, 96, +125,125, 96, 5, 73,125, 96,125,125, 97,126,126, 97,125,125, 96, 0, 1, 1,219, 4,194, 2,246, 6,210, 0, 29, 0, 0, 1, 46, + 1, 53, 52, 54, 55, 21, 14, 1, 21, 20, 23, 22, 31, 1, 30, 1, 21, 20, 6, 7, 53, 62, 1, 53, 52, 39, 38, 39, 2, 24, 32, 28, +146,136, 82, 74, 10, 11, 19, 54, 34, 28,148,134, 82, 72, 9, 11, 18, 5,199, 28, 48, 28, 80, 81, 2,110, 2, 27, 28, 10, 12, 15, + 14, 43, 28, 48, 28, 80, 81, 2,110, 2, 27, 28, 10, 12, 15, 14,255,255, 0, 0, 4,203, 4,209, 6, 11, 16, 38, 6,161, 0, 0, + 16, 7, 6,161, 0, 0,255, 16,255,255, 1,239, 4,194, 2,226, 6,193, 16, 6, 2,143, 0, 0,255,255, 4, 2, 5, 68, 4,207, + 6, 16, 16, 7, 2,107, 2, 1, 0, 0, 0, 0, 0, 1,255, 19, 5,240, 5,190, 7, 55, 0, 15, 0, 0, 0, 34, 5, 4, 7, 35, + 52, 37, 54, 50, 23, 4, 21, 35, 38, 37, 2,160,110,254,226,254,244,126,118, 1,252,228,233,229, 1,252,118,127,254,243, 6,174, + 25, 23,142,240, 60, 27, 27, 60,240,142, 23, 0, 0, 1, 1,236, 4,116, 2,235, 6,102, 0, 3, 0, 0, 1, 19, 51, 3, 1,236, + 65,190,110, 4,116, 1,242,254, 14, 0, 0, 0, 0, 1, 1,230,254, 86, 2,229, 0, 72, 0, 3, 0, 0, 37, 3, 35, 19, 2,229, + 65,190,110, 72,254, 14, 1,242, 0, 1, 2, 30,254, 86, 2,250,255,164, 0, 9, 0, 0, 1, 35, 34, 61, 1, 51, 21, 20, 59, 1, + 2,250,132, 88,149, 51, 20,254, 86,183,151,164,104, 0, 0, 0,255,255, 1,147,254,225, 2,242, 4, 39, 16, 6, 0, 30, 0, 0, +255,255, 1,219, 4,238, 3,186, 6,102, 16, 6, 0,118, 0, 0,255,255, 1, 63, 5, 70, 3,186, 7,216, 16, 38, 0,106, 0, 0, + 16, 7, 2,195, 0, 0, 1,114,255,255, 0, 25, 0, 0, 4,172, 6,102, 16, 38, 2,206, 0, 0, 16, 7, 2,195,254, 62, 0, 0, +255,255, 1,233, 2, 47, 2,229, 3, 96, 16, 6, 0,121, 0, 0,255,255,255, 31, 0, 0, 4, 78, 6,102, 16, 38, 2,210, 0, 0, + 16, 7, 2,195,253, 68, 0, 0,255,255,254,237, 0, 0, 4, 72, 6,102, 16, 38, 2,212, 0, 0, 16, 7, 2,195,253, 18, 0, 0, +255,255,255, 31, 0, 0, 4, 6, 6,102, 16, 38, 2,214, 0, 0, 16, 7, 2,195,253, 68, 0, 0,255,255,255,181,255,227, 4, 92, + 6,102, 16, 38, 2,220, 0, 0, 16, 7, 2,195,253,218, 0, 0,255,255,254,112, 0, 0, 4,172, 6,102, 16, 38, 2,225, 0, 0, + 16, 7, 2,195,252,149, 0, 0,255,255,255,206, 0, 0, 4,135, 6,102, 16, 38, 2,229, 0, 0, 16, 7, 2,195,253,243, 0, 0, +255,255, 1, 54, 0, 0, 3,207, 7,216, 16, 38, 2,245, 0, 0, 16, 6, 2,196, 0, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, + 5,213, 16, 6, 0, 36, 0, 0,255,255, 0,166, 0, 0, 4,113, 5,213, 16, 6, 0, 37, 0, 0,255,255, 0,215, 0, 0, 4,115, + 5,213, 16, 6, 3, 64, 0, 0, 0, 2, 0, 37, 0, 0, 4,172, 5,213, 0, 2, 0, 6, 0, 49,180, 3, 47, 4, 48, 7, 16,244, +228, 49, 0,180, 5,180, 2,151, 4, 47,236,228, 48, 5, 64, 16, 1, 37, 5, 4, 0, 37, 3, 6, 3, 2, 37, 1, 37, 4, 5, 4, + 7, 16,236,236, 7, 16,236, 8,236, 37, 9, 1, 5, 33, 1, 51, 3,170,254,190,254,190, 3,134,251,121, 1,201,245,170, 4,121, +251,135,170, 5,213, 0, 0, 0,255,255, 0,197, 0, 0, 4, 78, 5,213, 16, 6, 0, 40, 0, 0,255,255, 0,156, 0, 0, 4,145, + 5,213, 16, 6, 0, 61, 0, 0,255,255, 0,137, 0, 0, 4, 72, 5,213, 16, 6, 0, 43, 0, 0, 0, 3, 0,117,255,227, 4, 92, + 5,240, 0, 3, 0, 15, 0, 27, 0, 54, 64, 11, 3, 4, 50, 16, 54, 2, 10, 50, 22, 53, 28, 16,252,236,196,252,236,196,178,128, + 3, 1, 93, 49, 0, 64, 15, 7,151, 25,150, 28, 1,151, 2,177, 28, 13,151, 19,153, 28, 16,244,236, 16,244,236, 16,244,236, 48, + 1, 33, 53, 33, 23, 16, 2, 35, 34, 2, 17, 16, 18, 51, 50, 18, 19, 16, 2, 35, 34, 2, 17, 16, 18, 51, 50, 18, 3, 48,254,113, + 1,143, 89,135,154,153,135,135,153,154,135,211,247,253,253,246,247,252,253,247, 2,199,170,136, 1, 73, 1, 26,254,230,254,183, +254,184,254,230, 1, 25, 1, 73,254,122,254,128, 1,126, 1,136, 1,135, 1,128,254,128, 0, 0,255,255, 0,201, 0, 0, 4, 6, + 5,213, 16, 6, 0, 44, 0, 0,255,255, 0,137, 0, 0, 4,201, 5,213, 16, 6, 0, 46, 0, 0, 0, 1, 0, 37, 0, 0, 4,172, + 5,213, 0, 6, 0, 48,180, 4, 47, 1, 48, 7, 16,244,228, 49, 0,179, 2,180, 5, 1, 47, 60,228, 48, 5, 64, 16, 6, 37, 2, + 1, 5, 37, 3, 4, 3, 6, 37, 0, 37, 1, 2, 1, 7, 16,236,236, 7, 16,236, 8,236, 51, 35, 1, 51, 1, 35, 1,246,209, 1, +201,245, 1,201,209,254,141, 5,213,250, 43, 5, 35, 0, 0, 0,255,255, 0, 86, 0, 0, 4,121, 5,213, 16, 6, 0, 48, 0, 0, +255,255, 0,139, 0, 0, 4, 70, 5,213, 16, 6, 0, 49, 0, 0, 0, 3, 0,137, 0, 0, 4, 72, 5,213, 0, 3, 0, 7, 0, 11, + 0, 40,183, 7, 8, 0, 49, 6, 11, 3, 12, 16,212, 60,196,244, 60,196, 49, 0, 64, 12, 2,151, 3,136, 10, 5,151, 6,177, 11, +151, 10, 47,236,244,236, 16,244,236, 48, 1, 21, 33, 53, 1, 33, 53, 33, 19, 21, 33, 53, 4, 72,252, 65, 2,244,253,215, 2, 41, +203,252, 65, 5,213,170,170,252,242,170,253, 57,170,170, 0, 0,255,255, 0,117,255,227, 4, 92, 5,240, 16, 6, 0, 50, 0, 0, +255,255, 0,137, 0, 0, 4, 72, 5,213, 16, 6, 3, 76, 0, 0,255,255, 0,197, 0, 0, 4,117, 5,213, 16, 6, 0, 51, 0, 0, + 0, 1, 0,120, 0, 0, 4,109, 5,213, 0, 11, 0, 60,181, 2, 9, 49, 5, 8, 12, 16,212, 60,228, 50, 49, 0, 64, 9, 11, 7, +151, 8,136, 1, 5,151, 4, 47,236, 50,244,236, 50, 48, 5, 64, 16, 0, 37, 6, 5, 11, 37, 6, 7, 6, 0, 37, 1, 37, 5, 6, + 5, 7, 16,236,236, 7, 16,236, 8,236, 9, 1, 33, 21, 33, 53, 9, 1, 53, 33, 21, 33, 3, 18,254, 57, 3, 34,252, 11, 1,198, +254, 58, 3,245,252,222, 2,235,253,191,170,170, 2, 65, 2, 64,170,170, 0, 0,255,255, 0, 47, 0, 0, 4,162, 5,213, 16, 6, + 0, 55, 0, 0,255,255, 0, 37, 0, 0, 4,172, 5,213, 16, 6, 0, 60, 0, 0, 0, 3, 0,117, 0, 0, 4, 90, 5,213, 0, 29, + 0, 38, 0, 47, 0, 77, 64, 19, 34, 50, 5, 11, 28, 9, 38, 0, 30, 14, 27, 25, 44, 50, 20, 16, 40, 25, 48, 16,212, 60, 60,220, +236, 16,196, 50,252, 60, 60,196, 50,220,236, 49, 0, 64, 20, 38, 40,151, 1, 24, 0, 26,151, 27,136, 13, 30, 39,151, 9, 16, 10, + 14,151, 13, 47,252, 60,220, 60,236, 50, 16,244,252, 60,220, 60,236, 50, 48, 1, 21, 22, 23, 22, 21, 20, 7, 6, 7, 21, 51, 21, + 33, 53, 51, 53, 38, 39, 38, 53, 52, 55, 54, 55, 53, 35, 53, 33, 21, 3, 54, 55, 54, 53, 52, 39, 38, 39, 3, 17, 6, 7, 6, 21, + 20, 23, 22, 2,205,176, 97,124,123, 97,177,147,254, 15,147,177, 97,123,123, 98,176,147, 1,241,147, 76, 43, 67, 67, 43, 76,203, + 76, 42, 68, 68, 42, 5, 43,118, 19, 91,115,235,235,115, 90, 19,116,170,170,116, 19, 90,115,235,235,115, 91, 19,118,170,170,252, +163, 16, 42, 68,157,158, 68, 42, 16,253,201, 2, 55, 16, 42, 68,158,157, 68, 42,255,255, 0, 18, 0, 0, 4,190, 5,213, 16, 6, + 0, 59, 0, 0, 0, 1, 0,117, 0, 0, 4, 90, 5,213, 0, 31, 0, 57, 64, 15, 6, 30, 7, 14, 12, 0, 30, 17, 31, 25, 30, 24, + 19, 31, 32, 16,212, 60,212,236, 16,196,252, 60,196,212,236, 49, 0, 64, 13, 1, 30,151, 12, 19, 13, 17,151, 6, 31, 24,136, 16, + 47,228, 50, 50,252, 60,220, 60,236, 50, 48, 1, 17, 54, 55, 54, 25, 1, 51, 17, 16, 7, 6, 7, 21, 51, 21, 33, 53, 51, 53, 38, + 39, 38, 25, 1, 51, 17, 16, 23, 22, 23, 17, 2,205, 73, 46, 75,203,123, 98,176,147,254, 15,147,176, 98,123,203, 76, 45, 73, 5, +213,252, 91, 34, 87,145, 1, 68, 1, 87,254,169,254,120,191,151, 32,214,170,170,214, 32,151,191, 1,136, 1, 87,254,169,254,188, +145, 87, 34, 3,165, 0, 0, 0, 0, 1, 0, 74, 0, 0, 4,135, 5,180, 0, 31, 0, 64, 64, 23, 2, 30, 27, 14, 17,113, 21, 30, +113, 27, 15,114, 21,111, 11,112, 0,114, 27,111, 5,108, 32, 16,244,236,228,244,236,228, 16,228, 16,228, 57, 17, 18, 57, 49, 0, + 64, 12, 24,248, 8,247, 30, 18, 14, 3, 1,249, 16, 0, 47, 60,238, 23, 50,246,238, 48, 51, 53, 51, 38, 2, 53, 16, 0, 51, 50, + 0, 17, 20, 2, 7, 51, 21, 33, 53, 54, 18, 53, 52, 2, 35, 34, 2, 21, 20, 18, 23, 21, 74,245,123,110, 1, 32,240,242, 1, 33, +111,123,248,254, 49,120,134,180,154,154,179,134,120,172,134, 1, 32,188, 1, 55, 1,111,254,146,254,200,188,254,223,133,172,172, + 76, 1, 73,222,230, 1, 9,254,247,230,222,254,183, 76,172, 0,255,255, 0,201, 0, 0, 4, 6, 7, 78, 16, 39, 11,176, 0, 0, + 1,117, 16, 6, 2,214, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7, 78, 16, 39, 11,176, 0, 0, 1,117, 16, 6, 2,225, 0, 0, +255,255, 0, 70,255,230, 4,149, 6,102, 16, 38, 2,237, 0, 0, 16, 6, 2,195, 0, 0, 0, 0,255,255, 0,169,255,234, 4, 40, + 6,102, 16, 38, 2,241, 0, 0, 16, 6, 2,195, 0, 0, 0, 0,255,255, 0,195,254, 86, 4, 27, 6,102, 16, 38, 2,243, 0, 0, + 16, 6, 2,195, 0, 0, 0, 0,255,255, 1, 54, 0, 0, 3,207, 6,102, 16, 38, 2,245, 0, 0, 16, 6, 2,195, 0, 0, 0, 0, +255,255, 0, 51,255,255, 4,105, 7,216, 16, 38, 3, 1, 0, 0, 16, 6, 2,196, 0, 0, 0, 0, 0, 2, 0, 70,255,230, 4,149, + 4,122, 0, 13, 0, 42, 0, 0, 1, 39, 38, 39, 38, 7, 6, 21, 20, 23, 22, 51, 50, 55, 18, 27, 1, 51, 3, 23, 22, 23, 22, 59, + 1, 21, 35, 34, 39, 38, 39, 6, 7, 6, 39, 38, 39, 38, 17, 16, 55, 54, 55, 2,254, 44, 45,177, 98, 61, 77, 74, 77, 85,133, 72, +105, 59, 99,164,205, 40, 9, 35, 41, 32, 88,110, 94, 84, 41, 17, 46, 92, 45,143,198,114,118,126,143,161, 2, 9,231,236, 1, 1, +111,137,183,220,105,107,213, 3, 42,254,189, 1, 37,253,161,219, 49, 41, 48,156, 84, 42, 88,109, 89, 42, 1, 2,150,156, 1, 20, + 1, 41,135,151, 3, 0, 0, 0, 0, 2, 0,151,254, 86, 4, 97, 6, 35, 0, 14, 0, 28, 0, 0, 37, 17, 35, 17, 16, 5, 4, 17, + 2, 7, 4, 19, 18, 5, 6, 3, 22, 23, 4, 17, 16, 5, 53, 4, 17, 52, 39, 36, 17, 1, 81,185, 1,205, 1,143, 1,171, 1, 22, + 2, 4,254, 26,130,171, 81,227, 1, 32,254, 48, 1,107,234,254,251, 69,254, 17, 6, 3, 1,231, 31, 27,254,154,254,236, 98, 54, +254,209,254, 61, 23, 6, 1,113,141, 21, 25, 1, 39, 1, 26, 22,170, 6, 1, 48,189, 13, 15,254,224, 0, 0, 0, 0, 1, 0, 32, +254, 86, 4,109, 4, 96, 0, 14, 0, 0, 19, 38, 43, 1, 53, 51, 50, 23, 9, 1, 51, 1, 17, 35, 17,220, 45, 94, 49, 70,194, 65, + 0,255, 1, 70,191,254, 91,190, 3, 68,126,158,176,253, 83, 3, 93,251,160,254, 86, 1,170, 0, 0, 2, 0,137,255,227, 4, 72, + 6, 34, 0, 11, 0, 52, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 37, 38, 39, 38, 53, 52, 54, 51, 50, 31, 1, 21, + 38, 39, 38, 15, 1, 6, 15, 1, 6, 21, 20, 23, 22, 23, 22, 23, 22, 23, 22, 17, 16, 2, 35, 34, 2, 17, 16, 55, 54, 2,104,140, +144,144,140,141,144,144,254, 89, 19, 40, 62,237,197,102, 50,151, 66, 70, 85, 82, 32, 73, 60, 39, 27, 13, 17, 41, 24,105,235,121, +124,246,234,233,246,123, 31, 3,223,218,214,213,219,219,213,214,218, 76, 9, 40, 61, 92,136,164, 12, 36,173, 24, 15, 17, 2, 1, + 2, 43, 28, 24, 46, 33, 19, 24, 21, 13, 1, 3,148,151,254,226,254,225,254,211, 1, 45, 1, 31, 1, 30,151, 38,255,255, 0,169, +255,234, 4, 40, 4,123, 16, 6, 1,249, 0, 0, 0, 1, 0,152,254, 82, 4, 38, 6, 20, 0, 29, 0, 0, 37, 22, 23, 22, 21, 20, + 7, 6, 35, 52, 53, 22, 55, 54, 53, 52, 39, 38, 35, 32, 3, 2, 1, 33, 53, 33, 21, 0, 19, 18, 2,248,132, 79, 84, 74, 80,163, + 69, 42, 32, 32, 31, 58,253,181, 20, 17, 2, 76,253,236, 3,102,252,254, 46, 44,127, 1, 75, 79,120,115, 80, 87, 75, 76, 5, 44, + 35, 37, 53, 44, 42, 2, 51, 1,224, 1,101,185,185,254, 97,254, 90,254,105, 0, 0, 1, 0,195,254, 86, 4, 27, 4,123, 0, 19, + 0, 46, 64, 10, 2, 6, 0, 74, 13, 9, 6, 11, 70, 20, 16,244,236, 50,252,236, 49, 64, 15, 9, 14, 3, 0, 4, 10, 6,140, 17, +190, 12,194, 1,195, 10, 0, 47,228,228,244,236, 17, 23, 57, 48, 1, 17, 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, + 1, 51, 50, 22, 4, 27,185,106,113,129,139,184,184, 49,168,115,171,169, 2,182,251,160, 4, 96,151,142,183,171,253,135, 4, 96, +168, 96, 99,225, 0, 3, 0,137,255,227, 4, 72, 5,220, 0, 8, 0, 17, 0, 29, 0, 57, 64, 11, 9, 0, 18, 21, 68, 10, 8, 18, + 27, 62, 30, 16,244,236, 50,252,236, 50, 49, 64, 14, 9,182, 0, 14,140, 24, 0, 4,140, 18,155, 24,153, 30, 0, 16,228,244,236, +196, 16,236,182,239, 0,191, 0, 64, 0, 3, 93, 16,236, 48, 1, 38, 39, 38, 35, 34, 7, 6, 7, 5, 33, 22, 23, 22, 51, 50, 55, + 54, 1, 50, 18, 17, 16, 2, 35, 34, 2, 17, 16, 18, 3,131, 7, 63, 72,141,140, 72, 63, 7, 2, 53,253,203, 6, 64, 72,140,141, + 72, 64,254,235,233,247,246,234,233,246,246, 3, 60,226,135,153,153,135,226,184,224,137,154,154,137, 4, 56,254,119,254,141,254, +138,254,121, 1,135, 1,118, 1,115, 1,137, 0, 0, 1, 1, 54, 0, 0, 3,207, 4, 96, 0, 15, 0, 29, 64, 6, 6, 0, 6, 15, + 13, 16, 16,212,204,252,204, 49, 64, 7, 13,182, 0,194, 6,182, 7, 0, 47,236,244,236, 48, 1, 17, 20, 23, 22, 59, 1, 21, 35, + 34, 39, 38, 39, 17, 35, 53, 2,196, 34, 36,108, 89,111,180, 82, 81, 1,210, 4, 96,253, 43,145, 46, 48,156, 96, 98,212, 2, 59, +143, 0, 0, 0,255,255, 0,236, 0, 0, 4,178, 4, 96, 18, 6, 0,250, 0, 0, 0, 1, 0, 68, 0, 0, 4,134, 6, 21, 0, 13, + 0, 0, 9, 1, 35, 9, 1, 35, 1, 39, 38, 7, 35, 53, 23, 4, 2,130, 2, 4,195,254,198,254,126,195, 1,235, 74, 47,154, 49, + 70, 1, 18, 5,101,250,155, 3, 60,252,196, 4, 50,198,127, 1,158, 2, 7, 0,255,255, 0,195,254, 84, 4,158, 4, 96, 16, 6, + 0,119, 0, 0, 0, 1, 0,116, 0, 0, 4, 66, 4, 96, 0, 21, 0, 0, 33, 1, 51, 1, 54, 55, 54, 55, 54, 39, 38, 39, 51, 49, + 22, 23, 22, 21, 20, 7, 6, 7, 1,202,254,170,198, 1, 33,120,100, 76, 4, 2, 24, 28,106,186, 69, 46, 42,136,177,123, 4, 96, +252, 84,124,172,129,112, 53,100,119,131, 89,124,114, 78,196,175,228,116, 0, 0, 0, 1, 0,161,254, 82, 4, 56, 6, 20, 0, 38, + 0, 0, 37, 22, 23, 22, 21, 20, 7, 6, 35, 52, 53, 22, 55, 54, 53, 52, 39, 38, 35, 32, 3, 52, 37, 36, 17, 52, 55, 35, 53, 33, + 21, 32, 17, 20, 5, 21, 4, 23, 18, 3, 17,132, 79, 84, 74, 80,163, 69, 42, 32, 32, 32, 57,253,146, 1, 1, 77,254,232,220,208, + 3, 21,253,139, 2, 16,253,199, 1, 2,127, 1, 75, 79,120,115, 80, 87, 75, 76, 5, 44, 35, 37, 53, 44, 42, 1,225,232,112, 36, + 1, 4,197, 82,185,185,254,221,191, 9,170, 38,220,254,191, 0,255,255, 0,137,255,227, 4, 72, 4,123, 16, 6, 0, 82, 0, 0, + 0, 1, 0, 80,255,217, 4,158, 4, 96, 0, 23, 0, 0, 19, 33, 21, 35, 17, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 53, + 17, 33, 17, 35, 17, 35, 80, 4, 49,141, 49, 55, 15, 44, 7, 35, 74, 37,113, 92,254, 84,180,143, 4, 96,184,253, 80, 72, 63, 5, + 1,133, 13, 12,131,176, 2,156,252, 88, 3,168, 0, 2, 0,190,254, 86, 4, 84, 4,124, 0, 16, 0, 28, 0, 46, 64, 10, 17, 18, + 4, 71, 23, 10, 6, 12, 70, 29, 16,244,236, 50,252,236, 49, 64, 14, 10, 20, 26,140, 7, 20,140, 0,190, 7,153, 11,195, 29, 0, + 16,228,228,244,236, 16,238, 17, 57, 48, 1, 54, 23, 22, 17, 16, 2, 35, 34, 38, 39, 17, 35, 17, 16, 55, 54, 1, 52, 38, 35, 34, + 6, 21, 20, 22, 51, 50, 54, 2,132,232,116,116,232,202,102,153, 44,185,110,131, 1,228,135,133,134,138,138,134,133,135, 4,123, + 1,158,157,254,234,254,239,254,201, 87, 83,253,201, 3,198, 1, 60,134,157,253,180,214,218,219,213,212,220,218, 0, 1, 0,195, +254, 82, 4, 37, 4,123, 0, 36, 0, 0, 37, 22, 23, 22, 21, 20, 7, 6, 35, 52, 53, 22, 55, 54, 53, 52, 39, 38, 35, 32, 0, 16, + 0, 33, 50, 22, 23, 21, 46, 1, 35, 34, 6, 21, 20, 23, 22, 2,236,132, 79, 84, 74, 80,163, 69, 42, 32, 32, 31, 58,254,252,254, +219, 1, 37, 1, 4, 81,154, 78, 73,147, 93,173,186, 93, 94,127, 1, 75, 79,120,115, 80, 87, 75, 76, 5, 44, 35, 37, 53, 44, 42, + 1, 56, 2, 40, 1, 56, 42, 44,193, 65, 58,224,208,209,110,111, 0, 2, 0,137,255,226, 4,107, 4, 96, 0, 13, 0, 29, 0, 50, + 64, 10, 29, 10, 18, 16, 68, 4, 18, 23, 62, 30, 16,244,236,244,236,196,179, 14, 27, 23, 16, 17, 18, 57, 57, 49, 64, 11, 7,140, + 20, 0, 14,182, 27,194, 20,153, 30, 0, 16,228,244,236, 50, 16,236, 48, 1, 34, 7, 6, 21, 20, 22, 51, 50, 54, 53, 52, 39, 38, + 55, 22, 17, 20, 7, 6, 39, 34, 2, 17, 16, 55, 54, 51, 33, 21, 2, 97,135, 70, 72,144,140,141,144,172, 60,221,206,151,114,215, +233,246,123,115,241, 2, 3, 3,167, 80, 83,213,213,219,219,146,249,129, 45, 21,162,254,230,228,167,127, 1, 1, 45, 1, 31, 1, + 9,153,143,184, 0, 1, 0,159, 0, 0, 4, 50, 4, 94, 0, 17, 0, 33, 64, 7, 13, 3, 15, 6, 12, 10, 18, 16,212,204,252,196, +204, 49, 0, 64, 8, 15, 11,140, 12,194, 3,182, 4, 47,236,244,236, 50, 48, 37, 22, 59, 1, 21, 35, 34, 39, 38, 53, 17, 33, 53, + 33, 21, 33, 17, 20, 2,230, 36,108, 89,111,180, 82, 82,254,152, 3,146,254,146,204, 48,156, 96, 98,212, 2, 18,182,182,253,227, +145, 0, 0, 0, 0, 1, 0, 51,255,255, 4,105, 4, 96, 0, 30, 0, 0, 37, 50, 55, 54, 55, 54, 39, 38, 39, 51, 49, 22, 23, 22, + 21, 20, 7, 6, 37, 34, 39, 38, 53, 3, 35, 53, 33, 17, 20, 23, 22, 2,116,150, 90, 59, 15, 8, 30, 28,106,186, 70, 45, 42,128, +133,254,250,180, 82, 82, 1,210, 1,143, 34, 35,156,179,118,187,102,128,119,131, 90,123,115,154,225,203,211, 1, 96, 98,212, 2, + 59,143,253, 43,145, 46, 48, 0, 0, 2, 0, 76,254, 86, 4,133, 4,104, 0, 10, 0, 41, 0, 79, 64, 13, 7, 18, 15, 19, 3, 6, + 30, 22, 39, 35, 18, 26, 42, 16,176, 10, 75, 81, 88,220, 27,212, 89,236,212,180, 48, 39,128, 39, 2, 93, 60,196,252, 60,212,180, + 48, 15,128, 15, 2, 93,236, 49, 64, 16, 3, 39,140, 22, 31, 0,140, 30, 11,190, 19, 22,153, 21,195, 42, 0, 16,236,228, 50,244, + 60,236, 50, 16,236, 50, 48, 1, 34, 21, 17, 50, 55, 54, 53, 52, 39, 38, 39, 50, 23, 22, 17, 16, 7, 6, 35, 17, 35, 17, 34, 39, + 38, 17, 16, 55, 54, 55, 21, 6, 7, 6, 21, 20, 23, 22, 51, 17, 16, 3, 5, 65, 92, 86, 77, 77, 71, 42,138,119,127,127,129,193, +183,199,124,126,126,104,154, 65, 49, 76, 76, 78,101, 3,203,145,253, 82,104, 93,223,221, 99, 91,157,132,141,254,217,254,230,150, +152,254,110, 1,145,153,155, 1, 20, 1, 44,132,109, 28,163, 26, 75,115,190,216,101,103, 2,175, 1, 46, 0, 0, 0, 1, 0, 89, +254, 86, 4,120, 4, 96, 0, 23, 0, 0, 5, 3, 1, 35, 1, 3, 38, 43, 1, 53, 51, 32, 23, 19, 1, 51, 1, 19, 22, 59, 1, 21, + 35, 32, 2,238,142,254,247,191, 1,116,183, 47,156, 49, 70, 1, 0, 67,143, 1, 10,191,254,139,182, 47,157, 49, 70,254,255,250, + 1,122,253,214, 3, 9, 1,229,126,158,176,254,132, 2, 44,252,244,254, 30,126,158, 0, 0, 0, 0, 1, 0,131,254, 86, 4, 78, + 4, 96, 0, 27, 0, 0, 37, 54, 55, 54, 53, 17, 51, 17, 20, 7, 6, 7, 17, 35, 17, 38, 39, 38, 53, 17, 51, 17, 20, 23, 22, 23, + 17, 51, 2,196, 63, 62, 84,185,130,121,143,183,143,121,130,185, 84, 62, 63,183,140, 22, 64, 87,166, 2,129,253,120,216,145,135, + 1,254,111, 1,145, 1,135,145,216, 2,136,253,127,166, 87, 64, 22, 3,212, 0, 0, 1, 0, 70,255,227, 4,140, 4, 96, 0, 38, + 0, 0, 1, 18, 16, 7, 6, 35, 34, 38, 39, 14, 1, 35, 34, 39, 38, 16, 19, 51, 2, 17, 6, 23, 22, 55, 54, 55, 54, 17, 51, 16, + 23, 22, 23, 22, 55, 54, 39, 16, 3, 4, 9,131, 50, 75,186, 85,130, 21, 20,128, 88,186, 75, 50,131,190,126, 1, 18, 41, 64, 86, + 34, 25,170, 25, 34, 86, 64, 41, 18, 1,126, 4, 96,254,248,253,191,123,185,103, 76, 72,107,185,123, 2, 65, 1, 8,254,237,254, +225,226, 62,145, 2, 2,111, 82, 1,121,254,135, 82,111, 2, 2,145, 62,226, 1, 31, 1, 19, 0,255,255, 1, 54, 0, 0, 3,207, + 6, 16, 16, 38, 2,245, 0, 0, 16, 6, 0,106, 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, 6, 16, 16, 38, 3, 1, 0, 0, + 16, 6, 0,106, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, 6,102, 16, 38, 2,251, 0, 0, 16, 6, 2,195, 0, 0, 0, 0, +255,255, 0, 51,255,255, 4,105, 6,102, 16, 38, 3, 1, 0, 0, 16, 6, 2,195, 0, 0, 0, 0,255,255, 0, 70,255,227, 4,140, + 6,102, 16, 38, 3, 5, 0, 0, 16, 6, 2,195, 0, 0, 0, 0, 0, 3, 0,149,255,232, 4, 67, 6, 36, 0, 9, 0, 25, 0, 35, + 0, 0, 1, 32, 55, 54, 39, 38, 7, 6, 7, 6, 5, 4, 3, 6, 37, 36, 39, 38, 3, 2, 55, 54, 51, 32, 19, 22, 5, 6, 39, 18, + 23, 22, 55, 54, 55, 54, 1, 93, 1, 12, 78,147, 26, 31,172,142, 73, 53, 1,237, 1,124,192,117,255, 0,254,237,116,102, 10, 9, +128,134,210, 1, 77, 50, 27,254,142, 67,240, 6, 54, 82,165,175, 54, 87, 3,112, 65,123,137,161, 6, 5,165,122,253,250,254,137, +225, 12, 15,198,178, 1,151, 1,127,202,212,254,130,205,255, 30, 10,254,253,105,161, 4, 4,152,245, 0, 0, 0, 0, 2, 0,114, +255,233, 4, 83, 6, 36, 0, 9, 0, 36, 0, 0, 1, 54, 39, 38, 39, 38, 7, 6, 23, 22, 23, 4, 39, 38, 55, 18, 33, 50, 23, 22, + 3, 2, 7, 6, 35, 34, 39, 38, 19, 23, 18, 23, 22, 51, 50, 55, 54, 3,139, 4, 53, 74,103,172, 31, 26,147, 78,233,254,221,110, +240, 29, 45, 1, 82,171,135,128, 9, 9,128,137,228,193,159,149, 13,195, 7, 78,114, 94,121,100, 80, 3,112,191,119,166, 4, 6, +161,137,123, 65,170, 10, 75,164,251, 1,126,212,200,254,127,254,125,198,213,213,200, 1,235, 1,254, 83,106,156,157,126, 0, 0, + 0, 1, 0, 34, 0, 0, 4,185, 5,225, 0, 27, 0, 0, 1, 6, 3, 6, 21, 17, 35, 17, 52, 39, 2, 39, 38, 7, 53, 54, 23, 4, + 19, 18, 55, 54, 23, 22, 7, 6, 39, 38, 3,173,113, 79, 42,203, 42,100, 92,116,120, 76,151, 1, 15, 74,115,229,111, 64,122, 56, + 32,118, 86, 5, 17, 79,254,250,141,165,253,118, 2,138,180,126, 1, 42, 43, 52, 26,170, 24, 27, 48,254,114, 1,137, 53, 26, 49, + 95,148, 84, 24, 18, 0, 0, 0,255,255,254,112, 0, 0, 4,185, 6,102, 16, 38, 3, 13, 0, 0, 16, 7, 2,195,252,149, 0, 0, +255,255, 0, 34, 0, 0, 4,185, 7, 78, 16, 38, 3, 13, 0, 0, 16, 7, 11,176, 0, 0, 1,117, 0, 3, 0,109,254, 86, 4,100, + 5,213, 0, 21, 0, 30, 0, 39, 0, 0, 1, 35, 17, 38, 39, 38, 17, 16, 55, 54, 55, 17, 51, 17, 22, 23, 22, 17, 16, 7, 6, 7, + 53, 54, 55, 54, 53, 52, 39, 38, 39, 3, 17, 6, 7, 6, 21, 20, 23, 22, 2,196,184,179,104,132,132, 93,190,184,178,105,133,133, + 94,189, 86, 53, 82, 82, 42, 97,184, 87, 52, 81, 81, 40,254, 86, 1,147, 24,121,150, 1, 31, 1, 14,167,118, 26, 1, 97,254,159, + 24,120,151,254,226,254,242,167,120, 25,165, 23, 71,110,213,188,135, 70, 25,252,189, 3, 67, 22, 73,109,214,185,138, 68, 0, 0, + 0, 2, 0, 57,255,255, 4,152, 4, 96, 0, 13, 0, 30, 0, 0, 1, 33, 6, 7, 2, 51, 50, 3, 51, 2, 55, 54, 3, 38, 55, 22, + 23, 18, 37, 38, 3, 2, 35, 32, 19, 54, 55, 35, 53, 33, 21, 3,146,253,176, 39, 3, 4, 84,177, 5,170, 3,175, 81, 1, 1,157, + 48, 6, 14,254,228,238, 39, 40,237,254,231, 11, 4, 48, 65, 4, 95, 3,168,144,253,254,171, 1,211,254, 43, 2, 1, 1, 84,253, +144,145,247,253,223, 1, 1, 1, 51,254,204, 2, 32,239,153,184,184, 0, 0, 0, 0, 1, 0, 51,254, 91, 4,146, 4,103, 0, 47, + 0, 0, 5, 38, 39, 38, 55, 7, 2, 7, 6, 39, 38, 55, 54, 55, 54, 39, 38, 35, 34, 7, 53, 54, 23, 22, 23, 22, 7, 55, 18, 55, + 54, 23, 22, 7, 6, 7, 6, 23, 22, 51, 50, 55, 2, 7, 6, 39, 53, 4, 3,189,246, 33, 21, 24,189, 96,200,141, 3, 1, 61, 96, +136, 91, 43, 26,142, 57, 91, 82,126,246, 33, 19, 42,189, 96,200,141, 3, 1, 61, 96,136, 91, 43, 26,142, 57, 91, 38,205,152,173, + 1, 55, 10, 32,240,156, 99,108,254,247,124, 89,145, 68, 84,132,124,203,169,104,108,224, 61, 17, 34,238,140,112,108, 1, 9,124, + 89,145, 68, 84,132,124,203,169,104,108,253,224,102, 77, 90,160,160, 0, 0, 0, 0, 2, 0,117,254, 86, 4, 92, 5,240, 0, 10, + 0, 27, 0, 0, 0, 16, 2, 35, 34, 2, 17, 16, 18, 51, 50, 1, 17, 38, 39, 38, 17, 16, 18, 51, 50, 18, 17, 16, 7, 6, 7, 17, + 3,137,135,154,153,135,135,153,154,255, 0,179, 95,123,247,252,253,247,124, 94,181, 1,160, 2,146, 1, 26,254,230,254,183,254, +184,254,230,253,207, 1,150, 34,148,191, 1,136, 1,135, 1,128,254,128,254,121,254,124,194,149, 34,254,106, 0, 0, 2, 0,137, +254, 86, 4, 72, 4,123, 0, 11, 0, 27, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 3, 17, 35, 17, 38, 39, 38, 17, + 16, 18, 32, 18, 17, 16, 7, 6, 2,104,140,144,144,140,141,144,144, 49,184,168, 96,123,246, 1,210,247,123, 95, 3,223,218,214, +213,219,219,213,214,218,252, 10,254,109, 1,147, 26,119,150, 1, 31, 1, 30, 1, 46,254,210,254,226,254,225,150,118, 0, 0, 0, + 0, 1, 0,139,254, 82, 4, 76, 5,213, 0, 35, 0, 0, 1, 34, 7, 6, 17, 16, 18, 51, 50, 23, 22, 21, 20, 7, 6, 35, 52, 53, + 22, 55, 54, 53, 52, 39, 38, 35, 34, 39, 38, 17, 16, 55, 54, 41, 1, 21, 2,231,218, 77, 98,176,129,122, 89, 84, 74, 80,163, 69, + 42, 32, 32, 32, 57,234,159,123,159,139, 1, 50, 1,101, 5, 43,119,152,254,205,254,206,254,208, 84, 79,120,115, 80, 87, 75, 76, + 5, 44, 35, 37, 53, 44, 42,203,158, 1,157, 1,110,205,177,170, 0, 1, 0,155,254, 82, 4, 41, 4, 96, 0, 35, 0, 0, 1, 33, + 34, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 35, 52, 53, 22, 55, 54, 53, 52, 39, 38, 35, 34, 0, 17, 16, 55, 54, + 41, 1, 4, 41,254,155,193, 73, 93, 93, 95, 98,133, 78, 84, 74, 80,163, 69, 42, 32, 32, 32, 57,187,254,219,147,138, 1, 12, 1, +101, 3,196, 85,108,212,209,110,111, 2, 2, 74, 79,120,115, 80, 87, 75, 76, 5, 44, 35, 37, 53, 44, 42, 1, 56, 1, 20, 1, 40, +136,129, 0, 0,255,255, 0,233, 0, 0, 4, 88, 5,213, 18, 6, 0, 41, 0, 0, 0, 1, 0, 0,254, 86, 4, 6, 6, 20, 0, 35, + 0, 0, 33, 17, 52, 55, 54, 51, 50, 22, 23, 21, 46, 1, 35, 34, 7, 6, 21, 17, 33, 21, 33, 17, 20, 7, 6, 35, 34, 38, 39, 53, + 30, 1, 51, 50, 55, 54, 1,174,136, 96,169, 49, 99, 51, 36, 82, 44,120, 58, 75, 1, 65,254,191,139, 98,173, 57,102, 46, 49,100, + 48, 87, 64, 82, 4,130,160,142,100, 18, 18,164, 28, 29, 62, 81,111,254,201,143,253, 63,146,165,115, 21, 22,164, 31, 33, 75, 95, + 0, 1, 0, 96,255,252, 4,129, 5,213, 0, 23, 0, 0, 1, 3, 1, 3, 6, 23, 22, 55, 21, 34, 39, 38, 55, 19, 1, 19, 54, 39, + 38, 7, 53, 50, 23, 22, 1,227,110, 3, 12,234, 39, 27, 66,131,230, 81, 95, 19,154,253, 6,172, 39, 27, 66,131,230, 81, 95, 4, +135,254, 91, 1,126,253, 44, 96, 42,108, 35,189, 70, 82,182, 1,218,254,145, 2,144, 96, 42,108, 35,189, 70, 82, 0, 1, 0,132, + 0, 0, 4, 77, 6, 19, 0, 7, 0, 0, 9, 1, 35, 19, 33, 1, 51, 3, 4, 77,254,231,184,226,253, 38, 1, 25,184,226, 3,112, +252,144, 2,198, 3, 77,253, 93, 0, 1, 0, 33,254, 86, 4,154, 5,241, 0, 33, 0, 0, 1, 17, 35, 17, 6, 7, 53, 54, 5, 4, + 19, 18, 17, 16, 3, 35, 18, 17, 16, 39, 48, 7, 6, 21, 17, 35, 48, 17, 16, 63, 1, 38, 39, 38, 1,129,170, 98, 84,155, 1, 5, + 1, 66,215,192,224,225,238, 60,102, 90,203,208,112,140,157, 75, 5, 75,253,140, 2, 73, 10, 77,198,102, 5, 7,254,213,254,241, +253,189,254, 55,254,179, 1, 76, 1,202, 1,243, 91, 79, 70,235,253,198, 2, 53, 1, 2,177, 96,182, 52, 25, 0, 0, 1, 0, 89, +254,144, 4,120, 4,120, 0, 22, 0, 0, 1, 3, 35, 1, 38, 39, 1, 35, 1, 38, 39, 38, 35, 53, 32, 23, 22, 19, 18, 17, 35, 16, + 39, 3, 80,239,185, 1,100, 14, 50,254, 70,185, 2, 31, 98, 46,188,211, 1, 45,242,224,172,116,168, 96, 1, 52,254,204, 1,192, + 35, 77,253,208, 2,176,127, 33,132,164,216,200,254, 80,254,223,254,137, 1, 94,246, 0, 0, 0, 0, 1, 0, 52,255,242, 4,145, + 4,103, 0, 51, 0, 0, 1, 2, 7, 6, 35, 34, 53, 52, 1, 54, 53, 52, 39, 38, 35, 34, 7, 53, 54, 51, 50, 23, 4, 17, 20, 7, + 55, 18, 55, 54, 51, 50, 21, 20, 1, 6, 21, 20, 23, 22, 51, 50, 55, 21, 6, 35, 34, 39, 36, 17, 52, 55, 1,236, 96,200, 55, 34, + 55, 1, 36, 62, 14, 26,142, 57, 91, 64, 91, 26, 27, 1, 29, 29,189, 96,200, 55, 34, 55,254,220, 62, 14, 26,142, 57, 91, 64, 91, + 26, 27,254,227, 29, 1,153,254,247,124, 34, 79,154, 1, 9,138,122, 58, 54,104,108,224, 48, 4, 37,254,193, 91, 77,108, 1, 9, +124, 34, 79,154,254,247,138,122, 58, 54,104,108,224, 48, 4, 37, 1, 63, 91, 77, 0, 2, 0,190,254, 86, 4, 84, 4,124, 0, 21, + 0, 32, 0, 0, 19, 16, 55, 54, 51, 54, 23, 22, 17, 16, 2, 35, 34, 38, 39, 18, 41, 1, 21, 33, 32, 17, 36, 16, 38, 35, 34, 6, + 21, 20, 22, 51, 50,190,110,129,215,232,116,116,232,202,102,153, 44, 5, 1, 28, 1,168,254,104,254, 22, 2,213,135,133,134,138, +138,134,133, 2, 28, 1, 60,134,157, 1,158,157,254,234,254,239,254,201, 87, 83,254,115,170, 2,218, 41, 1,172,218,219,213,212, +220, 0, 0, 0,255,255, 0,195,255,227, 4, 37, 4,123, 18, 6, 0, 70, 0, 0,255,255, 0,186,254, 86, 3, 16, 6, 20, 18, 6, + 0, 77, 0, 0, 0, 3, 0,117,255,227, 4, 92, 5,240, 0, 8, 0, 17, 0, 28, 0, 0, 1, 38, 39, 38, 35, 34, 7, 6, 7, 5, + 33, 18, 23, 22, 51, 50, 55, 54, 19, 16, 2, 32, 2, 17, 16, 18, 51, 50, 18, 3,134, 11, 53, 68,154,153, 67, 54, 11, 2, 62,253, +191, 2, 66, 67,153,154, 68, 64,214,247,254, 6,246,247,252,253,247, 3,113,223,111,141,141,112,222,170,254,213,136,141,141,134, + 1, 79,254,122,254,128, 1,126, 1,136, 1,135, 1,128,254,128, 0, 1, 0,162,255,227, 4, 9, 4,123, 0, 33, 0, 0, 1, 38, + 39, 38, 35, 34, 7, 6, 7, 33, 21, 33, 22, 23, 22, 51, 50, 63, 1, 21, 7, 6, 35, 32, 39, 38, 16, 55, 54, 33, 50, 23, 22, 23, + 4, 9, 37, 37, 99,106,183,102, 95, 18, 2,165,253, 91, 18, 95,102,183,128, 77, 74, 79,104,107,254,244,156,157,157,156, 1, 12, +101,110, 40, 39, 3,174, 13, 10, 26, 99, 92,169,144,169, 92, 99, 26, 25,167, 18, 22,156,156, 2, 40,156,156, 22, 8, 12, 0, 0, + 0, 1, 0,162,255,227, 4, 9, 4,123, 0, 34, 0, 0, 19, 48, 53, 54, 55, 54, 51, 32, 23, 22, 16, 7, 6, 33, 34, 47, 1, 53, + 23, 22, 51, 50, 55, 54, 55, 33, 53, 33, 38, 39, 38, 35, 34, 7, 6,162, 39, 40,110,101, 1, 12,156,157,157,156,254,244,107,104, + 79, 74, 77,128,183,102, 95, 18,253, 91, 2,165, 18, 95,102,183,106, 99, 37, 3,174,163, 12, 8, 22,156,156,253,216,156,156, 22, + 18,167, 25, 26, 99, 92,169,144,169, 92, 99, 26, 10, 0, 0, 0,255,255, 0,201, 0, 0, 4,141, 5,213, 18, 6, 0,160, 0, 0, +255,255, 0,190,254, 86, 4, 84, 6, 31, 18, 6, 0,192, 0, 0,255,255, 0,139,255,227, 4, 49, 5,240, 18, 6, 0, 38, 0, 0, + 0, 1, 0, 86, 0, 0, 4,121, 5,213, 0, 12, 0, 0, 19, 33, 9, 1, 33, 17, 35, 17, 1, 35, 1, 17, 35, 86, 1, 14, 1, 2, + 1, 4, 1, 15,187,254,246,153,254,245,186, 5,213,254,123, 1,133,250, 43, 5, 39,254, 96, 1,160,250,217, 0, 0, 1, 0,127, +254, 86, 4, 79, 4, 96, 0, 12, 0, 0, 19, 33, 27, 1, 33, 17, 35, 17, 3, 35, 3, 17, 35,127, 1, 27,204,206, 1, 27,185,226, +153,227,185, 4, 96,254,123, 1,133,251,160, 3,178,254, 96, 1,160,250,164, 0, 0, 2, 0, 85,254, 86, 4, 84, 4,124, 0, 24, + 0, 35, 0, 0, 1, 21, 35, 53, 35, 53, 51, 17, 16, 55, 54, 51, 54, 23, 22, 17, 16, 2, 35, 34, 38, 39, 17, 33, 21, 18, 16, 38, + 35, 34, 6, 21, 20, 22, 51, 50, 1,119,185,105,105,110,131,213,232,116,116,232,202,102,153, 44, 1,225, 59,135,133,134,138,138, +134,133,254,198,112,112,170, 2,172, 1, 62,132,157, 1,158,157,254,234,254,239,254,201, 87, 83,254,227,170, 2,147, 1,172,218, +219,213,212,220, 0, 1, 0,139,255,227, 4, 49, 5,240, 0, 25, 0, 0, 55, 53, 30, 1, 51, 50, 18, 17, 16, 2, 35, 34, 6, 7, + 53, 62, 1, 51, 32, 0, 17, 16, 0, 33, 34, 38,139, 73,169, 88,197,196,196,197, 86,170, 74, 77,162, 91, 1, 29, 1, 63,254,195, +254,225, 91,162, 53,207, 61, 64, 1, 48, 1, 50, 1, 51, 1, 48, 64, 61,207, 41, 41,254,103,254,146,254,144,254,106, 41, 0, 0, +255,255, 0,139,255,227, 4, 49, 5,240, 18, 38, 3, 38, 0, 0, 16, 7, 0,121, 0,139, 0, 0,255,255, 0,139,255,227, 4, 49, + 5,240, 16, 39, 0,121,255, 99, 0, 0, 16, 6, 3, 42, 0, 0,255,255, 0,197, 0, 0, 4, 78, 7,107, 16, 39, 11,179, 0, 0, + 1,117, 16, 6, 3, 66, 0, 0,255,255, 0,197, 0, 0, 4, 78, 7, 78, 16, 39, 11,176, 0, 56, 1,117, 16, 6, 3, 66, 0, 0, + 0, 1,255,190,254, 42, 4,111, 5,215, 0, 47, 0, 0, 1, 23, 22, 51, 50, 54, 53, 17, 52, 38, 35, 34, 7, 6, 7, 6, 21, 17, + 35, 17, 35, 53, 33, 21, 33, 17, 54, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 17, 16, 7, 6, 35, 34, 39, 52, 2, 61, + 78, 13, 12,143,113,106,113,106, 87, 46, 22, 69,203,246, 3,126,254, 67, 37, 48, 34, 14, 64,149, 26, 22,160, 88, 14, 11, 85,107, +105,247, 83, 17,254,225, 17, 2,149,203, 1,160,151,142, 42, 21, 28, 92,171,254,111, 5, 45,170,170,253,243, 42, 24, 17, 9, 37, + 10, 2, 84, 13, 16,112,228,254, 70,254,232,119,117, 2, 2, 0,255,255, 0,215, 0, 0, 4,115, 7,107, 16, 39, 11,177, 0, 72, + 1,117, 16, 6, 3, 64, 0, 0, 0, 1, 0,139,255,227, 4, 49, 5,240, 0, 24, 0, 76, 64, 33, 0,151, 22,177, 25, 5,179, 6, +178, 3,151, 8, 17,179, 16,178, 19,151, 14,150, 8,153, 25, 23, 0, 22, 50, 17, 6, 49, 11, 48, 25, 16,252,236, 50,252, 50,204, + 49, 0, 16,228,244,236,244,236, 16,238,246,238, 16,252,238,177, 22, 19, 73,177, 3, 0, 73, 80, 88,179, 22, 0, 64, 2, 23, 56, + 89, 48, 1, 22, 18, 51, 50, 55, 21, 6, 35, 32, 0, 17, 16, 0, 33, 50, 23, 21, 38, 35, 34, 2, 3, 33, 21, 1, 94, 4,192,189, +188,150,154,176,254,225,254,195, 1, 63, 1, 29,176,154,152,190,190,163, 23, 2,115, 2,149,228,254,214,125,207, 82, 1,150, 1, +111, 1,111, 1,153, 82,207,125,254,244,254,255,170, 0, 0, 0,255,255, 0,139,255,227, 4, 74, 5,240, 16, 6, 0, 54, 0, 0, +255,255, 0,201, 0, 0, 4, 6, 5,213, 16, 6, 0, 44, 0, 0,255,255, 0,201, 0, 0, 4, 6, 7, 78, 16, 38, 3, 51, 0, 0, + 17, 7, 11,176, 0, 0, 1,117, 0, 8,180, 1, 18, 15, 0, 7, 43, 49, 0, 0,255,255, 0,109,255,227, 3,188, 5,213, 16, 6, + 0, 45, 0, 0, 0, 2,255,237, 0, 0, 4,199, 5,213, 0, 7, 0, 29, 0, 0, 37, 51, 50, 54, 16, 38, 43, 1, 25, 1, 51, 50, + 4, 16, 4, 43, 1, 17, 35, 21, 16, 2, 6, 35, 53, 50, 54, 18, 25, 1, 3, 33, 21, 90,125,121, 94, 21, 21,144, 1, 1,254,254, +143,207,172, 24,202,236,138,118, 20,166,142, 1, 14,149, 2,254,253,168,226,254, 72,227, 5, 43,250,254,198,253,247,238,164,143, + 1,161, 1, 87, 1,170, 0, 0, 0, 2, 0, 34, 0, 0, 4,199, 5,213, 0, 8, 0, 28, 0, 0, 37, 51, 50, 54, 53, 52, 38, 43, + 1, 3, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 51, 50, 23, 22, 21, 20, 4, 35, 3, 33, 21, 90,125,120, 95, 21,186,254,117, +186,186, 1,139,186, 21,179,119,103,254,254,143,166,142,130,140,149,253, 41, 2,199,253, 57, 5,213,253,156, 2,100,253,168,113, + 99,234,220,227, 0, 1,255,190, 0, 0, 4,111, 5,215, 0, 34, 0, 0, 1, 17, 54, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, + 22, 21, 17, 35, 17, 52, 38, 35, 34, 7, 6, 7, 6, 21, 17, 35, 17, 35, 53, 33, 21, 1,127, 37, 48, 34, 14, 64,149, 26, 22,160, + 88, 14, 11, 85,203,106,113,106, 87, 46, 22, 69,203,246, 3,126, 5, 45,253,243, 42, 24, 17, 9, 37, 10, 2, 84, 13, 16,112,228, +254, 24, 1,206,151,142, 42, 21, 28, 92,171,254,111, 5, 45,170,170, 0, 0, 0,255,255, 0,137, 0, 0, 4,201, 7,107, 16, 39, + 11,177, 0, 27, 1,117, 16, 6, 3, 71, 0, 0,255,255, 0,139, 0, 0, 4, 70, 7,107, 16, 39, 11,179, 0, 0, 1,117, 16, 6, + 3, 69, 0, 0,255,255, 0,104, 0, 0, 4,129, 7,109, 16, 38, 11,184, 0, 0, 16, 6, 3, 80, 0, 0, 0, 0, 0, 1, 0,137, +254,190, 4, 72, 5,213, 0, 11, 0, 0, 51, 17, 51, 17, 33, 17, 51, 17, 33, 17, 35, 17,137,203, 2, 41,203,254,118,171, 5,213, +250,213, 5, 43,250, 43,254,190, 1, 66, 0, 0,255,255, 0, 37, 0, 0, 4,172, 5,213, 16, 6, 0, 36, 0, 0, 0, 2, 0,166, + 0, 0, 4,113, 5,213, 0, 8, 0, 23, 0, 50, 64, 28, 0,151, 12, 9,151, 22,136, 1,151, 12, 20, 20, 12, 8, 2, 4, 0, 23, + 5, 50, 16, 49, 10, 0, 30, 22, 48, 24, 16,252,236, 50,252,236,196, 17, 23, 57, 49, 0, 47,204,236,244,236, 16,236, 48, 1, 17, + 51, 50, 54, 53, 52, 38, 35, 1, 33, 17, 51, 4, 23, 22, 21, 20, 7, 6, 41, 1, 17, 33, 1,113,239,176,150,158,168, 1,204,253, + 69,235, 1,123,101, 53,133,133,254,249,254, 70, 3,134, 2,201,253,221,123,141,146,137, 2,102,254, 62, 15,191,100,161,203,103, +104, 5,213, 0,255,255, 0,166, 0, 0, 4,113, 5,213, 16, 6, 0, 37, 0, 0, 0, 1, 0,215, 0, 0, 4,115, 5,213, 0, 5, + 0, 24,182, 2, 49, 4, 30, 1, 52, 6, 16,252,236,236, 49, 0,180, 3,151, 1,136, 5, 47,244,236, 48, 51, 17, 33, 21, 33, 17, +215, 3,156,253, 47, 5,213,170,250,213, 0, 0, 0, 2, 0, 33,254,190, 4,176, 5,213, 0, 15, 0, 26, 0, 48, 64, 13, 4, 30, + 1, 16, 30, 15, 18, 30, 13, 5, 30, 8, 27, 16,212,236,220,236,212,236,220,236, 49, 0, 64, 11, 17,151, 14,136, 1, 26, 8,151, + 3, 7, 5, 47,204, 50,236, 50, 50,244,236, 48, 37, 51, 17, 35, 17, 33, 17, 35, 17, 51, 50, 19, 18, 25, 1, 33, 7, 33, 17, 20, + 3, 2, 6, 21, 20, 51, 33, 4, 55,121,170,252,197,170, 77, 48, 39, 30, 3, 84,203,254, 66, 28, 27, 11, 47, 1,209,170,254, 20, + 1, 66,254,190, 1,236, 1, 76, 1, 0, 1, 13, 1,210,170,254,215,224,254,225,254,225, 28, 8, 22, 0, 0, 0,255,255, 0,197, + 0, 0, 4, 78, 5,213, 16, 6, 0, 40, 0, 0, 0, 1, 0, 15, 0, 0, 4,194, 5,213, 0, 19, 0,120, 64, 11, 8, 5, 4, 3, + 6, 9, 1, 30, 12, 0, 20, 16,220, 60,252, 60,192, 23, 57, 49, 0, 64, 12, 66, 8, 5, 2, 3, 17, 3, 0,180, 15, 10, 6, 47, + 60, 60,236, 50, 50, 23, 57, 48, 75, 83, 88, 64, 9, 8, 37, 9, 8, 5, 7, 37, 6, 5, 7, 5,237, 16, 8,237, 89, 1, 64, 19, + 13, 0, 8, 14, 0, 7, 15, 0, 6, 16, 0, 5, 17, 0, 4, 18, 0, 3, 1, 16, 73, 58, 73, 58, 73, 58, 73, 58, 73, 58, 73, 58, + 0,183, 12, 9, 13, 8, 16, 5, 19, 2, 16, 60, 16, 60, 16, 60, 16, 60, 1, 51, 17, 1, 51, 9, 1, 35, 3, 7, 17, 35, 17, 39, + 3, 35, 9, 1, 51, 1, 2, 11,187, 1, 28,207,254,225, 1, 48,197,222, 89,187, 89,222,197, 1, 48,254,225,207, 1, 28, 5,213, +253,173, 2, 83,253,166,252,133, 2,138,186,254, 48, 1,208,186,253,118, 3,123, 2, 90,253,173,255,255, 0,137,255,227, 4, 55, + 5,240, 16, 6, 0, 22, 0, 0, 0, 1, 0,139, 0, 0, 4, 70, 5,213, 0, 9, 0, 60, 64, 28, 8, 4, 3, 4, 3, 9, 8, 9, + 66, 8, 2, 3, 5,180, 7, 0, 9, 4, 3, 8, 17, 6, 49, 3, 17, 1, 48, 10, 16,252,236,252,236, 17, 57, 57, 49, 0, 47, 60, +236, 50, 57, 57, 48, 75, 83, 88, 7, 16, 4,201, 7, 16, 4,201, 89, 34, 51, 17, 51, 17, 1, 33, 17, 35, 17, 1,139,195, 1,248, + 1, 0,195,254, 8, 5,213,251, 51, 4,205,250, 43, 4,205,251, 51, 0, 0, 0,255,255, 0,139, 0, 0, 4, 70, 7,109, 16, 38, + 11,184, 0, 0, 16, 6, 3, 69, 0, 0, 0, 0,255,255, 0,137, 0, 0, 4,201, 5,213, 16, 6, 0, 46, 0, 0, 0, 1, 0, 4, + 0, 0, 4, 70, 5,213, 0, 15, 0, 36, 64, 8, 15, 30, 12, 1, 30, 10, 6, 16, 16,212,220,236,212,236, 49, 0, 64, 9, 6,151, + 5, 0,151, 11,136, 14, 5, 47, 60,244,236, 16,236, 48, 1, 21, 16, 2, 6, 35, 53, 50, 54, 18, 25, 1, 33, 17, 35, 17, 1,227, + 23,203,253,138,118, 20, 3, 46,203, 5, 43,250,254,187,254, 2,238,164,143, 1,161, 1, 87, 1,170,250, 43, 5, 43, 0, 0, 0, +255,255, 0, 86, 0, 0, 4,121, 5,213, 16, 6, 0, 48, 0, 0,255,255, 0,137, 0, 0, 4, 72, 5,213, 16, 6, 0, 43, 0, 0, +255,255, 0,117,255,227, 4, 92, 5,240, 16, 6, 0, 50, 0, 0, 0, 1, 0,137, 0, 0, 4, 72, 5,213, 0, 7, 0, 30, 64, 9, + 4, 30, 1, 49, 5, 30, 0, 48, 8, 16,252,236,252,236, 49, 0,181, 4,151, 0,136, 6, 2, 47, 60,244,236, 48, 19, 33, 17, 35, + 17, 33, 17, 35,137, 3,191,203,253,215,203, 5,213,250, 43, 5, 43,250,213, 0,255,255, 0,197, 0, 0, 4,117, 5,213, 16, 6, + 0, 51, 0, 0,255,255, 0,139,255,227, 4, 49, 5,240, 16, 6, 0, 38, 0, 0,255,255, 0, 47, 0, 0, 4,162, 5,213, 16, 6, + 0, 55, 0, 0, 0, 1, 0,104, 0, 0, 4,129, 5,213, 0, 20, 0, 63, 64, 13, 66, 8,151, 7,153, 19, 16,136, 21, 20, 8, 16, + 21, 16,212,196,196, 49, 0, 16,228, 50,244,236, 48, 75, 83, 88, 64, 18, 18, 37, 0, 16, 15, 19, 37, 20, 20, 0, 18, 37, 15, 17, + 37, 16, 16, 15, 5, 7, 16,236, 16,236, 7, 16,236, 8, 16,236, 89, 1, 6, 7, 6, 7, 6, 43, 1, 53, 51, 50, 55, 54, 55, 54, + 55, 1, 51, 9, 1, 51, 2,229, 59, 69, 44, 76, 69, 92,148,109, 81, 46, 45, 34, 14, 15,254, 88,217, 1, 55, 1, 52,213, 1,169, +158,111, 74, 43, 39,172, 47, 46, 77, 32, 42, 4, 53,252,194, 3, 62, 0, 0, 0, 0, 3, 0, 66, 0, 0, 4,143, 5,213, 0, 6, + 0, 24, 0, 31, 0,103, 64, 15, 28, 50, 12, 15, 31, 9, 30, 24, 4, 50, 21, 18, 1, 24, 32, 16,212, 60, 60,212,236, 16,252, 60, + 60,212,236, 49, 0, 64, 14, 31, 1,151, 9, 24, 7,136, 17, 25, 0,151, 15, 18, 17, 47,220, 60,236, 50, 16,244,220, 60,236, 50, + 48, 1,176, 13, 75, 84,176, 16, 75, 84, 91,176, 21, 75, 84, 91,176, 25, 75, 84, 91, 88,191, 0, 33, 0, 32,255,192, 0, 2, 0, + 0, 0, 32, 0, 32, 0, 64, 56, 18, 54, 23, 56, 89, 1, 17, 14, 1, 21, 20, 22, 19, 51, 21, 4, 18, 17, 16, 2, 5, 21, 35, 53, + 38, 2, 17, 16, 18, 37, 19, 62, 1, 53, 52, 38, 39, 2, 3,165, 73, 73,165,203, 1, 11,182,182,254,245,203,250,199,184, 1, 9, +203,165, 73, 73,165, 1, 60, 3,123, 26,220,199,200,220, 4,127,122, 10,254,170,254,255,254,252,254,172, 10,152,152, 10, 1, 87, + 1, 1, 1, 4, 1, 83, 10,251,225, 26,220,200,199,220, 26, 0,255,255, 0, 18, 0, 0, 4,190, 5,213, 16, 6, 0, 59, 0, 0, + 0, 1, 0, 80,254,190, 4,149, 5,213, 0, 11, 0, 36, 64, 18, 6, 2,136, 10, 8, 4,151, 11, 11, 30, 8, 4, 30, 6, 3, 30, + 0, 12, 16,212,236,212,236,220,236, 49, 0, 47,236, 50,204,236, 50, 48, 51, 17, 51, 17, 33, 17, 51, 17, 51, 17, 35, 17, 80,203, + 2, 41,203,134,170, 5,213,250,213, 5, 43,250,213,254, 20, 1, 66, 0, 0, 0, 0, 1, 0,137, 0, 0, 4, 68, 5,213, 0, 19, + 0, 32, 64, 16, 17,151, 6, 1, 10,136, 13, 14, 9, 30, 11, 3, 30, 0, 48, 20, 16,252,236,212,236, 50, 49, 0, 47,236, 50,220, +236, 48, 19, 17, 51, 17, 20, 22, 51, 50, 54, 55, 17, 51, 17, 35, 17, 14, 1, 35, 34, 38,137,203,110,109,117,122, 91,203,203,118, +150,126,183,175, 3,212, 2, 1,254, 25,163, 80, 29, 69, 2,120,250, 43, 2,146, 58, 23,196, 0, 0, 1, 0,114, 0, 0, 4, 96, + 5,213, 0, 11, 0, 38, 64, 10, 11, 30, 10, 8, 30, 6, 3, 30, 1, 12, 16,212,236,220,236,220,236, 49, 0, 64, 8, 6, 11, 2, +136, 8, 4,151, 1, 47,236, 50,252, 60, 60, 48, 41, 1, 17, 51, 17, 51, 17, 51, 17, 51, 17, 51, 4, 96,252, 18,186,224,186,224, +186, 5,213,250,213, 5, 43,250,213, 5, 43, 0, 0, 1, 0, 60,254,190, 4,176, 5,213, 0, 15, 0, 47, 64, 13, 15, 30, 12, 11, + 30, 9, 7, 30, 5, 3, 30, 1, 16, 16,212,236,220,236,220,252,220,236, 49, 0, 64, 10, 6, 9, 2,136, 11, 8, 4,151, 14, 0, + 47,204,236, 50, 50,252, 60, 60, 48, 51, 17, 51, 17, 51, 17, 51, 17, 51, 17, 51, 17, 51, 17, 35, 17, 60,186,224,186,224,186,134, +170, 5,213,250,213, 5, 43,250,213, 5, 43,250,213,254, 20, 1, 66, 0, 0, 0, 0, 2, 0, 32, 0, 0, 4,117, 5,213, 0, 8, + 0, 21, 0, 42, 64, 9, 4, 50, 18, 14, 0, 30, 9, 11, 22, 16,212,220,236, 50, 47,236, 49, 0, 64, 12, 14,151, 8,177, 22, 10, +182, 13,136, 0,151, 9, 47,236,244,236, 16,244,236, 48, 37, 51, 50, 54, 53, 52, 38, 43, 1, 3, 17, 33, 53, 33, 17, 51, 50, 4, + 21, 20, 4, 35, 1,239,138,141,156,157,140,138,202,254,251, 1,207,138,251, 1, 1,254,254,250,166,147,133,133,148,253, 41, 5, + 43,170,253,168,226,221,219,227, 0, 3, 0, 65, 0, 0, 4,110, 5,213, 0, 3, 0, 13, 0, 24, 0, 44, 64, 11, 3, 30, 0, 9, + 50, 21, 17, 4, 30, 14, 25, 16,212,236, 50, 47,236,220,236, 49, 0, 64, 11, 17,151, 13,177, 4,151, 1, 15,136, 14, 0, 47, 60, +228, 50,236,244,236, 48, 33, 17, 51, 17, 37, 51, 50, 55, 54, 53, 52, 38, 43, 1, 3, 17, 51, 17, 51, 50, 4, 21, 20, 4, 35, 3, +163,203,252,157, 91,102, 78, 60,121,119, 91,202,202, 91,194, 1, 1,254,254,193, 5,213,250, 43,166, 74, 56,150,133,148,253, 41, + 5,213,253,168,226,221,219,227, 0, 2, 0,197, 0, 0, 4,117, 5,213, 0, 8, 0, 21, 0, 43, 64, 24, 8,151, 12, 0,151, 10, +136, 9, 21, 13, 1, 7, 4, 0, 4, 50, 17, 56, 0, 12, 30, 10, 51, 22, 16,252,236, 50,252,236, 17, 23, 57, 49, 0, 47,228,236, +212,236, 48, 37, 51, 50, 54, 53, 52, 38, 43, 1, 3, 17, 51, 17, 51, 50, 23, 22, 21, 20, 7, 6, 35, 1,143,234,141,156,157,140, +234,202,202,234,251,128,129,129,129,250,166,147,133,133,148,253, 41, 5,213,253,168,113,113,221,219,113,114, 0, 0, 1, 0,139, +255,227, 4, 49, 5,240, 0, 27, 0, 77, 64, 9, 11, 9, 12, 50, 25, 49, 19, 2, 29, 16,220, 60,244,236, 50,196, 49, 0, 64, 23, + 9,151, 12,177, 29, 3,179, 2,178, 5,151, 0, 18,179, 19,178, 16,151, 21,150, 0,153, 28, 16,228,244,236,244,236, 16,238,246, +238, 16,252,238,177, 12, 16, 73,177, 5, 9, 73, 80, 88,179, 9, 12, 64, 2, 23, 56, 89, 48, 5, 34, 39, 53, 22, 51, 50, 55, 54, + 55, 33, 53, 33, 2, 39, 38, 35, 34, 7, 53, 54, 51, 32, 23, 22, 16, 7, 6, 1,213,176,154,150,188,189, 96, 95, 5,253,136, 2, +115, 30, 63, 98,188,187,152,154,176, 1, 29,160,159,159,158, 29, 82,207,125,147,148,231,170, 1, 20, 97,152,125,207, 82,204,205, +253, 34,203,203, 0, 2, 0, 60,255,227, 4,149, 5,240, 0, 11, 0, 30, 0, 64, 64, 36, 24, 23, 15, 14, 4, 16, 22, 3,151, 16, +150, 9,151, 22,153, 28, 26,151, 12,177, 30,136, 28, 0, 30, 19, 28, 5, 30, 25, 13, 26, 12, 30, 28, 31, 16,212,236, 50,212, 50, +236, 16,212,236, 49, 0, 47,228,252,238, 16,228,238,244,236, 17, 18, 23, 57, 48, 1, 16, 2, 35, 34, 2, 17, 16, 18, 51, 50, 18, + 1, 51, 26, 1, 51, 50, 18, 17, 16, 2, 35, 34, 2, 3, 35, 17, 35, 17, 51, 3,207, 95,107,107, 95, 95,107,107, 95,253, 56,111, + 10,187,202,202,198,198,202,203,186, 10,111,203,203, 2,233, 1, 73, 1, 26,254,230,254,183,254,184,254,230, 1, 25, 1,164, 1, + 67, 1,105,254,128,254,121,254,122,254,128, 1,106, 1, 77,253,102, 5,213, 0, 0, 2, 0, 76, 0, 0, 4,109, 5,213, 0, 8, + 0, 22, 0, 67, 64, 13, 10, 20, 0, 5, 20, 30, 17, 49, 0, 50, 13, 9, 23, 16,212,212,236,244,236, 50, 18, 17, 57, 49, 0, 64, + 11, 66, 10, 4,151, 21, 5,151, 17,136, 19, 9, 47, 60,244,236,212,236, 57, 48, 75, 83, 88,183, 21, 37, 10, 22, 37, 9, 9, 10, + 7, 16, 5,237, 16,237, 89, 1, 20, 22, 51, 33, 17, 33, 34, 6, 9, 1, 46, 1, 53, 52, 36, 51, 33, 17, 35, 17, 33, 1, 1,116, +142,145, 1, 15,254,249,144,151,254,216, 1,113,108,178, 1, 6,246, 1,210,203,254,222,254,162, 4, 37,134,130, 2, 18,137,251, + 90, 2,154, 39,178,178,210,222,250, 43, 2,119,253,137, 0, 0,255,255, 0,133,255,227, 4, 35, 4,123, 16, 6, 0, 68, 0, 0, + 0, 2, 0,125,255,227, 4, 72, 6, 55, 0, 8, 0, 42, 0, 54, 64, 13, 34, 35, 0, 18, 14, 68, 4, 18, 9, 6, 20, 62, 43, 16, +244,236,236,252,236,212,196, 49, 0, 64, 16, 7,140, 17, 34,182, 35, 30,182, 40, 2,140, 11,190, 17,153, 43, 16,228,244,236,220, +236,212,236, 16,238, 48, 1, 16, 33, 32, 17, 20, 22, 51, 32, 1, 54, 51, 50, 18, 17, 16, 2, 35, 34, 2, 19, 54, 47, 1, 38, 52, + 55, 54, 55, 54, 55, 54, 37, 54, 55, 23, 6, 15, 1, 6, 7, 6, 7, 3,133,254,227,254,228,144,140, 1, 29,253,152,120,222,222, +247,246,234,233,251, 5, 1, 1, 7, 5, 2, 20, 36, 91,167,128, 1, 28, 51, 35, 70, 35, 51,240, 98, 74,197, 21, 2, 47, 1,176, +254, 80,213,219, 3,129,123,254,210,254,225,254,226,254,211, 1, 51, 1, 25, 45, 17,167,119, 82, 15,149, 73,185, 85, 65, 12, 2, + 16,142, 13, 5, 24, 10, 43,116,154, 0, 0, 0, 0, 3, 0,209, 0, 0, 4, 0, 4, 96, 0, 8, 0, 17, 0, 32, 0, 45, 64, 24, + 25, 0,182, 10, 32, 9,182, 18,194, 1,182, 32, 14, 18, 22, 5, 18, 28, 0, 9, 6, 18, 70, 33, 16,252,236, 50,212,236,212,236, + 49, 0, 47,236,244,236, 16,212,236, 57, 48, 1, 17, 51, 50, 54, 53, 52, 38, 35, 3, 17, 51, 50, 54, 53, 52, 38, 35, 37, 33, 50, + 22, 21, 20, 6, 7, 30, 1, 21, 20, 6, 35, 33, 1,137,239, 95,101, 85,107,243,228, 85, 84, 84, 86,254,101, 1,141,170,200, 95, + 99,133,109,209,193,254, 99, 2, 3,254,147,112, 80, 79, 94, 1,199,254,207, 85, 67, 67, 86,150,154,112,111,129, 14, 25,136,117, +154,168, 0, 0, 0, 1, 1, 1, 0, 0, 3,241, 4, 96, 0, 5, 0, 22, 64, 10, 0,182, 3,194, 1, 4, 0, 6, 2, 6, 16,220, +236,196, 49, 0, 47,252,236, 48, 1, 17, 35, 17, 33, 21, 1,185,184, 2,240, 3,202,252, 54, 4, 96,150, 0, 0, 0, 2, 0,105, +254,226, 4,104, 4, 96, 0, 14, 0, 24, 0, 48, 64, 13, 4, 6, 2, 15, 6, 14, 17, 6, 12, 5, 6, 8, 25, 16,212,236,220,236, +212,236,220,236, 49, 0, 64, 11, 16,182, 13,194, 1, 15, 8,182, 3, 7, 5, 47,204, 50,236, 50, 50,244,236, 48, 37, 51, 17, 35, + 17, 33, 17, 35, 17, 51, 50, 18, 53, 17, 33, 3, 17, 33, 17, 20, 7, 14, 1, 20, 51, 3,239,121,150,253, 45,150, 67, 55, 32, 2, +236,185,254,132, 20, 8, 14, 34,150,254, 76, 1, 30,254,226, 1,180, 1,198,100, 1,160,252, 54, 3, 52,254,242,100,247,144, 33, + 26, 0, 0, 0,255,255, 0,123,255,227, 4, 88, 4,123, 16, 6, 0, 72, 0, 0, 0, 1, 0, 59, 0, 0, 4,151, 4, 96, 0, 19, + 0,120, 64, 11, 8, 5, 4, 3, 6, 9, 1, 30, 6, 0, 20, 16,220, 60,252, 60,192, 23, 57, 49, 0, 64, 12, 66, 8, 5, 2, 3, + 17, 3, 0,194, 15, 10, 6, 47, 60, 60,236, 50, 50, 23, 57, 48, 75, 83, 88, 64, 9, 8, 23, 9, 8, 5, 7, 23, 6, 5, 7, 5, +237, 16, 8,237, 89, 1, 64, 19, 13, 0, 8, 14, 0, 7, 15, 0, 6, 16, 0, 5, 17, 0, 4, 18, 0, 3, 1, 16, 73, 58, 73, 58, + 73, 58, 73, 58, 73, 58, 73, 58, 0,183, 12, 9, 13, 8, 16, 5, 19, 2, 16, 60, 16, 60, 16, 60, 16, 60, 1, 51, 17, 1, 51, 3, + 1, 35, 3, 7, 17, 35, 17, 39, 3, 35, 1, 3, 51, 1, 2, 21,168, 0,255,199,239, 1, 3,179,191,104,168,104,191,179, 1, 3, +239,199, 0,255, 4, 96,254, 80, 1,176,254,108,253, 52, 2, 16,177,254,161, 1, 95,177,253,240, 2,204, 1,148,254, 80, 0, 0, +255,255, 0,169,255,234, 4, 40, 4,123, 16, 6, 1,250, 0, 0, 0, 1, 0,195, 0, 0, 4, 26, 4, 96, 0, 9, 0, 61, 64, 10, + 6, 0, 6, 8, 1, 5, 6, 2, 70, 10, 16,252,236, 50,212,236, 50, 49, 0, 64, 8, 66, 0, 5, 7, 3,194, 9, 2, 47, 60,236, + 50, 57, 57, 48, 75, 83, 88, 64, 10, 0, 23, 6, 5, 6, 5, 23, 1, 0, 1, 7, 0, 16,233, 7, 16,233, 89, 9, 1, 35, 17, 51, + 17, 1, 51, 17, 35, 3, 98,254, 25,184,184, 1,231,184,184, 3, 41,252,215, 4, 96,252,215, 3, 41,251,160, 0,255,255, 0,195, + 0, 0, 4, 26, 6, 72, 16, 38, 2,130, 0, 0, 16, 6, 3,101, 0, 0, 0, 0,255,255, 0,236, 0, 0, 4,178, 4, 96, 18, 6, + 0,250, 0, 0, 0, 1, 0, 30, 0, 0, 4, 26, 4, 96, 0, 17, 0, 34, 64, 8, 4, 6, 1, 5, 6, 17, 11, 18, 16,212,220,236, +212,236, 49, 0, 64, 8, 5,182, 0,194, 12,182, 11, 2, 47, 60,236,244,236, 48, 1, 33, 17, 35, 17, 33, 21, 20, 2, 6, 43, 1, + 53, 51, 50, 54, 18, 53, 1, 9, 3, 17,184,254, 95, 27,151,186, 55, 35, 85, 94, 21, 4, 96,251,160, 3,202,245,189,254,209,233, +150,118, 1, 24,174, 0, 0, 0, 0, 1, 0, 61, 0, 0, 4,155, 4, 96, 0, 12, 0, 78, 64, 21, 66, 10, 7, 2, 8, 3, 0,194, + 9, 6, 12, 3, 7, 6, 4, 13, 1, 10, 6, 0, 13, 16,220,236, 50, 16,220,236, 50, 49, 0, 47, 60,196,236, 50, 17, 23, 57, 48, + 75, 83, 88, 64, 16, 8, 23, 3, 7, 23, 3, 2, 3, 9, 23, 2, 10, 23, 2, 2, 1, 4, 7, 16,237, 16, 5,237, 4, 7, 16,237, + 16, 5,237, 89, 19, 51, 9, 1, 51, 17, 35, 17, 1, 35, 1, 17, 35, 61,184, 1,119, 1,119,184,184,254,229,184,254,229,184, 4, + 96,253, 77, 2,179,251,160, 2,229,254, 31, 1,225,253, 27, 0, 0, 1, 0,195, 0, 0, 4, 26, 4, 96, 0, 11, 0, 36, 64, 18, + 1,182, 6, 9, 4,194, 10, 2, 0, 8, 6, 9, 1, 5, 6, 3, 70, 12, 16,252,236, 50,212,236, 50, 49, 0, 47, 60,228, 50,212, +236, 48, 1, 33, 17, 35, 17, 51, 17, 33, 17, 51, 17, 35, 3, 98,254, 25,184,184, 1,231,184,184, 2, 3,253,253, 4, 96,254, 57, + 1,199,251,160,255,255, 0,137,255,227, 4, 72, 4,123, 16, 6, 0, 82, 0, 0, 0, 1, 0,195, 0, 0, 4, 26, 4, 96, 0, 7, + 0, 28, 64, 14, 1,182, 4,194, 6, 2, 0, 6, 5, 1, 6, 3, 70, 8, 16,252,236,212,236, 49, 0, 47, 60,244,236, 48, 1, 33, + 17, 35, 17, 33, 17, 35, 3, 98,254, 25,184, 3, 87,184, 3,202,252, 54, 4, 96,251,160, 0, 0,255,255, 0,190,254, 86, 4, 84, + 4,123, 16, 6, 0, 83, 0, 0,255,255, 0,195,255,227, 4, 37, 4,123, 16, 6, 0, 70, 0, 0, 0, 1, 0,225, 0, 0, 4, 7, + 4, 96, 0, 7, 0, 28, 64, 13, 0, 3,182, 5,194, 1, 7, 1, 4, 3, 6, 1, 8, 16,220,252,204, 16,204, 49, 0, 47,252,252, + 60, 48, 1, 17, 35, 17, 33, 53, 33, 21, 2,208,184,254,201, 3, 38, 3,202,252, 54, 3,202,150,150, 0, 0, 0,255,255, 0,104, +254, 86, 4,129, 4, 96, 16, 6, 0, 92, 0, 0, 0, 3, 0, 99,254, 86, 4,101, 6, 20, 0, 6, 0, 24, 0, 31, 0, 99, 64, 17, + 29, 18, 19, 13, 10, 22, 25, 16, 6, 13, 3, 18, 10, 7, 0, 13, 32, 16,212, 60, 60,212,236, 16,252, 60, 60, 73, 59,236, 49, 0, + 64, 17, 25, 0,140, 16, 13,190, 26, 6,140, 22, 7,153, 24,195, 14,155, 32, 16,236,236,244, 60,236, 50,244, 60,236, 50, 48, 1, +176, 13, 75, 84,176, 16, 75, 84, 91, 88,191, 0, 33, 0, 32,255,192, 0, 2, 0, 0, 0, 32, 0, 32, 0, 64, 56, 18, 54, 23, 56, + 89, 1, 14, 1, 21, 20, 22, 23, 21, 38, 2, 17, 16, 18, 55, 17, 51, 17, 22, 18, 17, 16, 2, 7, 17, 35, 19, 17, 62, 1, 53, 52, + 38, 2, 8,120,106,106,120,220,201,199,222,184,222,199,201,220,184,184,120,106,106, 3,214, 25,153,245,245,162, 25,156, 22, 1, + 11, 1, 43, 1, 43, 1, 11, 22, 1,153,254,103, 22,254,245,254,213,254,213,254,245, 22,254,115, 5,128,252,169, 25,162,245,245, +153, 0, 0, 0,255,255, 0, 76, 0, 0, 4,133, 4, 96, 16, 6, 0, 91, 0, 0, 0, 1, 0,124,254,226, 4, 94, 4, 96, 0, 11, + 0, 36, 64, 18, 9, 5,194, 2, 0, 8,182, 3, 3, 6, 0, 8, 6, 10, 7, 6, 5, 12, 16,220,236,212,236,220,236, 49, 0, 47, +236, 50,204,236, 50, 48, 37, 17, 35, 17, 33, 17, 51, 17, 33, 17, 51, 17, 4, 94,150,252,180,184, 1,230,184,150,254, 76, 1, 30, + 4, 96,252, 54, 3,202,252, 54, 0, 1, 0,195, 0, 0, 4, 27, 4, 98, 0, 19, 0, 33, 64, 9, 14, 9, 6, 11, 3, 6, 0, 70, + 20, 16,252,236,212,236, 50, 49, 0,182, 17,182, 6, 10, 1,194, 13, 47,236, 50,220,236, 48, 19, 17, 51, 17, 20, 22, 51, 50, 54, + 55, 17, 51, 17, 35, 17, 14, 1, 35, 34, 38,195,184,107,110, 88,114, 69,184,184, 53,140,139,140,200, 2,243, 1,111,254,145,100, + 93, 20, 39, 1,245,251,158, 1,210, 21, 43,163, 0, 1, 0,125, 0, 0, 4, 85, 4, 96, 0, 11, 0, 36, 64, 18, 6, 11, 2,194, + 8, 4,182, 1, 11, 6, 10, 8, 6, 6, 3, 6, 1, 12, 16,220,236,220,236,220,236, 49, 0, 47,236, 50,252, 60,196, 48, 41, 1, + 17, 51, 17, 51, 17, 51, 17, 51, 17, 51, 4, 85,252, 40,168,240,168,240,168, 4, 96,252, 54, 3,202,252, 54, 3,202, 0, 0, 0, + 0, 1, 0, 80,254,226, 4,184, 4, 96, 0, 15, 0, 45, 64, 13, 0, 6, 13, 11, 6, 10, 8, 6, 6, 3, 6, 1, 16, 16,220,236, +220,236,220,252,220,236, 49, 0, 64, 9, 6, 11, 2,194, 8, 4,182, 15, 1, 47,204,236, 50,252, 60,196, 48, 41, 1, 17, 51, 17, + 51, 17, 51, 17, 51, 17, 51, 17, 51, 17, 35, 4, 34,252, 46,168,240,168,240,168,144,150, 4, 96,252, 54, 3,202,252, 54, 3,202, +252, 54,254, 76, 0, 2, 0, 30, 0, 0, 4,140, 4, 96, 0, 8, 0, 21, 0, 41, 64, 9, 4, 18, 18, 14, 0, 6, 9, 11, 22, 16, +212,220,236, 50, 47,236, 49, 0, 64, 11, 8,182, 14, 22, 10,182, 13,194, 0,182, 9, 47,236,244,236, 16,212,236, 48, 37, 51, 50, + 54, 53, 52, 38, 43, 1, 3, 17, 35, 53, 33, 17, 33, 50, 22, 21, 20, 6, 35, 1,206,248,124,134,137,121,248,184,248, 1,176, 1, + 0,209,237,232,214,156, 88, 90, 90, 90,253,254, 3,202,150,254, 59,167,168,168,164, 0, 0, 0, 0, 3, 0,104, 0, 0, 4,105, + 4, 96, 0, 3, 0, 12, 0, 23, 0, 43, 64, 11, 3, 6, 0, 9, 18, 21, 16, 4, 6, 13, 24, 16,212,236, 50, 47,236,220,236, 49, + 0, 64, 10, 12,182, 16, 4,182, 1, 14,194, 13, 0, 47, 60,228, 50,236,212,236, 48, 33, 17, 51, 17, 37, 51, 50, 54, 53, 52, 38, + 43, 1, 3, 17, 51, 17, 51, 50, 22, 21, 20, 6, 35, 3,177,184,252,181, 83,124,134,137,121, 83,182,182, 91,209,237,232,214, 4, + 96,251,160,154, 89, 91, 91, 91,253,252, 4, 96,254, 59,167,168,168,164, 0, 0, 0, 2, 0,195, 0, 0, 4, 56, 4, 96, 0, 8, + 0, 19, 0, 42, 64, 23, 8,182, 12, 0,182, 10,194, 9, 19, 13, 1, 7, 4, 0, 4, 18, 16, 0, 12, 6, 10, 70, 20, 16,252,236, + 50,220,236, 17, 23, 57, 49, 0, 47,228,236,212,236, 48, 37, 51, 50, 54, 53, 52, 38, 43, 1, 3, 17, 51, 17, 33, 50, 22, 21, 20, + 6, 35, 1,123,248,129,128,129,128,248,184,184, 1, 0,208,237,231,214,153, 89, 90, 94, 88,253,254, 4, 96,254, 59,167,168,168, +164, 0, 0, 0, 0, 1, 0,195,255,227, 4, 37, 4,123, 0, 31, 0, 75, 64, 8, 10, 11, 8, 18, 25, 19, 0, 32, 16,220, 60,212, +236, 50,196, 49, 0, 64, 22, 19,139, 18,192, 15, 0,139, 1,192, 4,140, 29, 10,182, 8, 15,140, 22,190, 29,153, 32, 16,228,244, +236,220,238, 16,254,244,238, 16,245,238,177, 10, 15, 73,177, 4, 8, 73, 80, 88,179, 10, 8, 64, 2, 23, 56, 89, 48, 55, 53, 30, + 1, 51, 50, 55, 54, 55, 33, 53, 33, 38, 39, 38, 35, 34, 6, 7, 53, 62, 1, 51, 32, 0, 17, 16, 7, 6, 33, 34, 38,195, 65,152, + 96,172, 94, 83, 9,253,226, 2, 25, 18, 69, 94,172, 93,147, 73, 78,154, 81, 1, 4, 1, 37,147,146,254,252, 82,157, 57,191, 62, + 59,113,100,176,144,137, 82,112, 58, 65,193, 44, 42,254,200,254,236,254,236,156,156, 43, 0, 0, 0, 2, 0, 78,255,227, 4,144, + 4,123, 0, 11, 0, 30, 0, 63, 64, 35, 24, 23, 15, 14, 4, 16, 22, 3,140, 16,190, 9,140, 22,153, 28, 26,182, 12, 30,194, 28, + 0, 6, 19, 28, 5, 6, 25, 13, 26, 12, 6, 28, 31, 16,220,236, 50,212, 50,236, 16,212,236, 49, 0, 47,228,220,238, 16,228,238, +244,236, 17, 18, 23, 57, 48, 1, 52, 38, 35, 34, 6, 21, 20, 22, 55, 50, 54, 1, 51, 26, 1, 51, 50, 18, 17, 16, 2, 35, 34, 2, + 39, 35, 17, 35, 17, 51, 3,205,112, 76, 76,113,106, 85, 85,101,253, 57,142, 17,210,157,157,223,230,154,153,211, 16,142,184,184, + 2, 63,198,217,244,193,193,234, 1,250, 1, 1, 1, 0, 1, 1,254,220,254,211,254,210,254,231, 1, 20,237,254, 28, 4, 96, 0, + 0, 2, 0,168, 0, 0, 3,216, 4, 96, 0, 8, 0, 22, 0, 66, 64, 12, 10, 20, 0, 5, 20, 8, 17, 0, 18, 13, 9, 23, 16,220, +212,236,212,236, 50, 18, 17, 57, 49, 0, 64, 11, 66, 10, 4,182, 21, 5,182, 17,194, 19, 9, 47, 60,244,236,212,236, 57, 48, 75, + 83, 88,183, 21, 23, 10, 22, 23, 9, 9, 10, 7, 16, 5,237, 16,237, 89, 1, 20, 22, 59, 1, 17, 35, 34, 6, 3, 1, 46, 1, 53, + 52, 54, 51, 33, 17, 35, 17, 35, 1, 1,147,114, 55,228,227, 56,114,235, 1, 16, 53,170,220,150, 1,141,184,193,254,254, 3, 19, + 97, 85, 1,109, 86,252,140, 1,223, 22,130,167,168,154,251,160, 1,199,254, 57,255,255, 0,123,255,227, 4, 88, 6,109, 16, 38, + 3, 98, 0, 0, 16, 6, 0, 67,226, 7, 0, 0,255,255, 0,123,255,227, 4, 88, 5,191, 16, 38, 3, 98, 0, 0, 16, 6, 0,106, + 35,175, 0, 0, 0, 1, 0, 35,254, 86, 4, 84, 6, 20, 0, 31, 0, 0, 19, 53, 51, 17, 51, 17, 33, 21, 33, 17, 62, 1, 51, 50, + 22, 21, 16, 2, 7, 53, 54, 18, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 35,190,184, 1,192,254, 64, 49,168,124,176,182,250,237, +121,173,106,123,138,139,184, 3,209,143, 1,180,254, 76,143,254,115, 96, 99,230,223,254,180,254,142, 46,165, 25, 1, 24, 1, 22, +152,141,183,171,254,251, 3,209,255,255, 1, 1, 0, 0, 4, 11, 6,109, 16, 38, 3, 96, 0, 0, 16, 6, 0,118, 81, 7, 0, 0, + 0, 1, 0,195,255,227, 4, 37, 4,123, 0, 31, 0, 76, 64, 32, 13,139, 14,192, 17, 0,139, 31,192, 28,140, 3, 22,182, 24, 17, +140, 10,190, 3,153, 32, 22, 0, 21, 24, 18, 13, 0, 7, 70, 32, 16,244,196, 50,252, 50, 16,196, 49, 0, 16,228,244,236,220,238, + 16,254,244,238, 16,245,238,177, 22, 17, 73,177, 28, 24, 73, 80, 88,179, 22, 24, 64, 2, 23, 56, 89, 48, 37, 14, 1, 35, 32, 39, + 38, 17, 16, 0, 33, 50, 22, 23, 21, 46, 1, 35, 34, 7, 6, 7, 37, 21, 33, 22, 23, 22, 51, 50, 54, 55, 4, 37, 74,157, 82,254, +252,146,147, 1, 37, 1, 4, 81,154, 78, 73,147, 93,173, 93, 69, 18, 2, 25,253,226, 9, 83, 94,172, 96,152, 65, 57, 43, 43,156, +156, 1, 20, 1, 20, 1, 56, 42, 44,193, 65, 58,112, 83,137, 1,144,176,100,113, 59, 62, 0, 0,255,255, 0,213,255,227, 4, 6, + 4,123, 16, 6, 0, 86, 0, 0,255,255, 0,178, 0, 0, 4, 68, 6, 20, 16, 6, 0, 76, 0, 0,255,255, 0,178, 0, 0, 4, 68, + 6, 16, 16, 38, 0,243, 0, 0, 17, 6, 0,106, 24, 0, 0, 8,180, 3, 16, 13, 6, 7, 43, 49,255,255, 0,186,254, 86, 3, 16, + 6, 20, 16, 6, 0, 77, 0, 0, 0, 2, 0, 10, 0, 0, 4,203, 4, 96, 0, 5, 0, 30, 0, 0, 37, 50, 16, 43, 1, 17, 23, 35, + 17, 35, 21, 20, 2, 7, 6, 43, 1, 53, 51, 50, 54, 18, 53, 17, 33, 17, 51, 50, 22, 16, 6, 3, 55,208,208, 13, 21,189,229, 27, + 82, 67,188, 39, 35, 85, 94, 21, 2, 53, 21,159,237,232,153, 1,105,254,151,153, 3,202,245,189,254,209,128,105,150,118, 1, 24, +174, 1,142,254, 59,167,254,176,164, 0, 0, 0, 0, 2, 0, 65, 0, 0, 4,158, 4, 96, 0, 6, 0, 24, 0, 0, 37, 50, 53, 52, + 43, 1, 25, 1, 51, 50, 22, 16, 6, 43, 1, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 3, 10,208,208, 13, 21,159,237,232,164,189, +254,148,168,168, 1,108,168,153,181,180,254,151, 2, 2,167,254,176,164, 2, 3,253,253, 4, 96,254, 57, 1,199, 0, 1, 0, 35, + 0, 0, 4, 57, 6, 20, 0, 27, 0, 0, 19, 53, 51, 17, 51, 17, 33, 21, 33, 17, 62, 1, 51, 50, 22, 21, 17, 35, 17, 52, 38, 35, + 34, 6, 21, 17, 35, 17, 35,190,184, 1,192,254, 64, 49,168,115,171,169,185,106,113,129,139,184, 3,209,143, 1,180,254, 76,143, +254,115, 96, 99,225,228,254,190, 1, 66,151,142,183,171,254,251, 3,209, 0, 0,255,255, 0,236, 0, 0, 4,178, 6,109, 16, 38, + 3,103, 0, 0, 16, 6, 0,118, 48, 7, 0, 0,255,255, 0,195, 0, 0, 4, 26, 6,109, 16, 38, 3,101, 0, 0, 16, 6, 0, 67, + 64, 7, 0, 0,255,255, 0,104,254, 86, 4,129, 6, 72, 16, 38, 2,130, 0, 0, 16, 6, 3,112, 0, 0, 0, 0, 0, 1, 0,195, +254,226, 4, 26, 4, 96, 0, 11, 0, 0, 51, 17, 51, 17, 33, 17, 51, 17, 33, 17, 35, 17,195,184, 1,231,184,254,160,151, 4, 96, +252, 54, 3,202,251,160,254,226, 1, 30, 0, 0, 0, 1, 0,215, 0, 0, 4,115, 7, 7, 0, 7, 0, 28, 64, 14, 3, 5,151, 1, +136, 7, 3, 4, 49, 6, 30, 1, 52, 8, 16,252,236,252,204, 49, 0, 47,244,236,204, 48, 51, 17, 33, 19, 51, 17, 33, 17,215, 2, +242, 3,167,253, 47, 5,213, 1, 50,254, 36,250,213, 0, 0, 0, 0, 1, 1, 1, 0, 0, 3,242, 5,154, 0, 7, 0, 26, 64, 12, + 5, 0,182, 3,194, 1, 4, 7, 0, 6, 2, 8, 16,220,236,220,204, 49, 0, 47,252,236,204, 48, 1, 17, 35, 17, 33, 17, 51, 3, + 1,185,184, 2, 56,185, 1, 3,168,252, 88, 4, 96, 1, 58,254, 14, 0, 0, 0, 0, 1, 0, 85, 0, 0, 4,115, 5,213, 0, 13, + 0, 0, 19, 51, 17, 33, 21, 33, 17, 33, 21, 33, 17, 35, 17, 35, 85,130, 3,156,253, 47, 2, 35,253,221,203,130, 3,232, 1,237, +170,254,189,170,252,194, 3, 62, 0, 1, 0,127, 0, 0, 3,241, 4, 96, 0, 13, 0, 0, 33, 17, 35, 53, 51, 17, 33, 21, 33, 17, + 33, 21, 33, 17, 1, 1,130,130, 2,240,253,200, 1,160,254, 96, 1,244,170, 1,194,184,254,246,170,254, 12, 0, 0, 1, 0,215, +254,102, 4,115, 5,213, 0, 28, 0, 0, 1, 17, 35, 17, 33, 21, 33, 17, 33, 50, 23, 22, 21, 17, 16, 7, 6, 43, 1, 53, 51, 50, + 55, 54, 53, 17, 52, 38, 35, 1,162,203, 3,156,253, 47, 1, 55,186,113,111,104,102,228, 76, 62,134, 56, 55,124,124, 2,199,253, + 57, 5,213,170,254, 70,119,114,238,254,206,254,244,124,122,170, 75, 75,194, 1, 34,159,158, 0, 0, 1, 1, 1,254, 86, 4, 82, + 4, 96, 0, 29, 0, 0, 1, 17, 35, 17, 33, 21, 33, 17, 51, 32, 23, 22, 21, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, + 52, 39, 38, 35, 1,185,184, 2,240,253,200,250, 1, 5, 72, 82, 82, 81,181,193,172,110, 33, 38, 38, 49,134, 1,231,254, 25, 4, + 96,184,254,207, 71, 81,229,254,242,214, 96, 96,156, 48, 55,147, 1, 8,170, 32, 41, 0, 0, 0, 0, 1, 0, 15,254,190, 4,194, + 5,213, 0, 23, 0, 0, 51, 9, 1, 51, 1, 17, 51, 17, 1, 51, 1, 19, 51, 17, 35, 17, 35, 3, 7, 17, 35, 17, 39, 3, 15, 1, + 48,254,225,207, 1, 28,187, 1, 28,207,254,225,246, 58,170, 27,222, 89,187, 89,222, 3,123, 2, 90,253,173, 2, 83,253,173, 2, + 83,253,166,253, 47,254, 20, 1, 66, 2,138,186,254, 48, 1,208,186,253,118, 0, 0, 1, 0, 59,254,226, 4,174, 4, 96, 0, 23, + 0, 0, 51, 1, 3, 51, 1, 17, 51, 17, 1, 51, 3, 19, 51, 17, 35, 17, 35, 3, 7, 17, 35, 17, 39, 3, 59, 1, 3,239,199, 0, +255,168, 0,255,199,239,205, 77,150, 52,191,104,168,104,191, 2,204, 1,148,254, 80, 1,176,254, 80, 1,176,254,108,253,202,254, + 76, 1, 30, 2, 16,177,254,161, 1, 95,177,253,240, 0, 0, 0,255,255, 0,137,254,117, 4, 55, 5,240, 16, 38, 2,163,183, 0, + 16, 6, 3, 68, 0, 0, 0, 0,255,255, 0,169,254,117, 4, 40, 4,123, 16, 38, 2,163,189, 0, 16, 6, 3,100, 0, 0, 0, 0, + 0, 1, 0,137,254,190, 4,201, 5,213, 0, 15, 0, 0, 37, 51, 17, 35, 17, 35, 1, 7, 17, 35, 17, 51, 17, 1, 51, 1, 4, 86, +114,212, 31,254, 25,154,203,203, 2,119,237,253,187,170,254, 20, 1, 66, 2,236,164,253,184, 5,213,253,104, 2,152,253,158, 0, + 0, 1, 0,236,254,226, 4,178, 4, 96, 0, 15, 0, 0, 37, 51, 17, 35, 17, 35, 1, 7, 17, 35, 17, 51, 17, 1, 51, 1, 4, 44, +134,196, 29,254, 98,137,190,190, 1,227,224,254, 71,184,254, 42, 1, 30, 2, 66,129,254, 63, 4, 96,254, 47, 1,209,254, 90, 0, + 0, 1, 0, 31,254,190, 4,179, 5,213, 0, 15, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 3,222, +213,213,203,253,215,203,203, 2, 41,203,170,254, 20, 1, 66, 2,199,253, 57, 5,213,253,156, 2,100, 0, 0, 0, 0, 1, 0, 98, +254,226, 4,124, 4, 96, 0, 15, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 3,185,195,195,184,254, + 25,184,184, 1,231,184,184,254, 42, 1, 30, 1,249,254, 7, 4, 96,254, 67, 1,189, 0, 0, 0,255,255, 0,139,254,117, 4, 49, + 5,240, 16, 38, 2,163,100, 0, 16, 6, 3, 78, 0, 0, 0, 0,255,255, 0,195,254,117, 4, 37, 4,123, 16, 38, 2,163,104, 0, + 16, 6, 3,110, 0, 0, 0, 0, 0, 1, 0, 47,254,190, 4,162, 5,213, 0, 11, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 53, 33, + 21, 33, 2,207,213,213,203,254, 43, 4,115,254, 45,170,254, 20, 1, 66, 5, 43,170,170, 0, 0, 0, 1, 0,225,254,226, 4, 7, + 4, 96, 0, 11, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 53, 33, 21, 33, 2,208,195,195,184,254,201, 3, 38,254,201,184,254, 42, + 1, 30, 3,174,178,178, 0, 0,255,255, 0, 37, 0, 0, 4,172, 5,213, 16, 6, 0, 60, 0, 0, 0, 1, 0, 92,254, 86, 4,116, + 4, 96, 0, 8, 0, 0, 19, 51, 9, 1, 51, 1, 17, 35, 17, 92,195, 1, 73, 1, 73,195,254, 84,192, 4, 96,252,148, 3,108,251, +178,254, 68, 1,188, 0, 0, 0, 0, 1, 0, 37, 0, 0, 4,172, 5,213, 0, 16, 0, 0, 19, 51, 9, 1, 51, 1, 21, 33, 21, 33, + 17, 35, 17, 33, 53, 33, 53, 37,215, 1,108, 1,107,217,254, 33, 1, 10,254,246,203,254,248, 1, 8, 5,213,253,109, 2,147,252, +201, 80,170,254, 92, 1,164,170, 80, 0, 0, 0, 0, 1, 0, 92,254, 86, 4,116, 4, 96, 0, 16, 0, 0, 19, 51, 9, 1, 51, 1, + 21, 51, 21, 35, 21, 35, 53, 35, 53, 51, 53, 92,195, 1, 73, 1, 73,195,254, 84,200,200,192,200,200, 4, 96,252,148, 3,108,251, +178, 53,150,241,241,150, 53, 0, 0, 1, 0, 18,254,190, 4,191, 5,213, 0, 15, 0, 0, 37, 51, 17, 35, 17, 35, 9, 1, 35, 9, + 1, 51, 9, 1, 51, 1, 4, 88,102,212, 5,254,146,254,117,218, 1,244,254, 80,217, 1, 72, 1, 78,217,254, 65,170,254, 20, 1, + 66, 2,131,253,125, 3, 23, 2,190,253,205, 2, 51,253, 66, 0, 0, 1, 0, 76,254,226, 4,134, 4, 96, 0, 15, 0, 0, 37, 51, + 17, 35, 17, 35, 9, 1, 35, 9, 1, 51, 9, 1, 51, 1, 3,250,140,196, 18,254,184,254,185,213, 1,184,254,111,204, 1, 41, 1, + 39,207,254,111,184,254, 42, 1, 30, 1,193,254, 63, 2, 72, 2, 24,254,107, 1,149,253,232, 0, 0, 1, 0,140, 0, 0, 4, 71, + 5,215, 0, 28, 0, 0, 1, 17, 35, 17, 52, 38, 35, 34, 7, 6, 7, 6, 21, 17, 35, 17, 51, 17, 54, 63, 1, 54, 63, 1, 50, 23, + 22, 23, 22, 4, 71,203,106,113,106, 87, 46, 22, 69,203,203, 35, 50, 48, 64,149, 48,160, 88, 14, 11, 85, 1,244,254, 12, 1,218, +151,142, 42, 21, 28, 92,171,254, 99, 5,215,253, 85, 39, 27, 26, 37, 10, 2, 84, 13, 16,112, 0,255,255, 0,195, 0, 0, 4, 27, + 6, 20, 16, 6, 0, 75, 0, 0,255,255, 0,201, 0, 0, 4, 6, 5,213, 16, 6, 0, 44, 0, 0,255,255, 0, 15, 0, 0, 4,194, + 7,109, 16, 38, 11,184, 0, 0, 16, 6, 3, 67, 0, 0, 0, 0,255,255, 0, 59, 0, 0, 4,151, 6, 72, 16, 38, 2,130, 0, 0, + 16, 6, 3, 99, 0, 0, 0, 0, 0, 1, 0,137,254,102, 4,184, 5,213, 0, 30, 0, 0, 1, 51, 50, 23, 22, 21, 17, 16, 7, 6, + 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 38, 43, 1, 7, 17, 35, 17, 51, 17, 1, 51, 2,115, 24,183,116,111,104,102,228, 76, 62, +134, 56, 55,124,124,151,119,203,203, 2,119,237, 3,113,119,114,238,254,206,254,244,124,122,170, 75, 75,194, 1, 34,159,158,127, +253,184, 5,213,253,104, 2,152, 0, 1, 0,236,254, 86, 4,109, 4, 96, 0, 31, 0, 0, 1, 51, 32, 23, 22, 21, 17, 20, 7, 6, + 43, 1, 53, 51, 50, 55, 54, 53, 17, 52, 39, 38, 43, 1, 7, 17, 35, 17, 51, 17, 1, 51, 2,106, 58, 1, 5, 72, 82, 82, 81,181, +193,172,110, 33, 38, 38, 49,134,221, 39,190,190, 1,227,224, 2,119, 71, 81,229,254,242,214, 96, 96,156, 48, 55,147, 1, 8,170, + 32, 41, 38,254, 63, 4, 96,254, 47, 1,209, 0, 0, 1, 0,137,254,102, 4, 72, 5,213, 0, 21, 0, 0, 37, 16, 7, 6, 43, 1, + 53, 51, 50, 55, 54, 53, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 4, 72,104,103,227, 76, 62,134, 56, 55,253,215,203,203, 2, 41, +203,104,254,242,122,122,170, 75, 75,194, 2, 95,253, 57, 5,213,253,156, 2,100, 0, 1, 0,195,254, 86, 4, 26, 4, 96, 0, 21, + 0, 0, 5, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 17, 33, 17, 35, 17, 51, 17, 33, 17, 51, 4, 26, 82, 81,181,193,172,110, + 33, 38,254, 25,184,184, 1,231,184, 20,214, 96, 96,156, 48, 55,147, 2, 13,254, 7, 4, 96,254, 67, 1,189, 0, 0, 1, 0,140, +254,190, 4, 71, 5,215, 0, 32, 0, 0, 37, 17, 6, 15, 1, 6, 15, 1, 34, 39, 38, 39, 38, 53, 17, 51, 17, 20, 22, 51, 50, 55, + 54, 55, 54, 53, 17, 51, 17, 35, 17, 35, 17, 3,124, 35, 51, 47, 64,149, 48,160, 88, 14, 12, 84,203,106,113,106, 87, 46, 21, 70, +203,203,213,170, 2, 36, 39, 27, 26, 37, 10, 2, 84, 13, 16,112,228, 1,209,254, 73,151,142, 42, 21, 28, 92,171, 1,122,250, 41, +254,190, 1,236, 0, 1, 0,195,254,226, 4, 27, 4, 98, 0, 26, 0, 0, 37, 17, 6, 7, 54, 7, 6, 35, 34, 38, 53, 17, 51, 17, + 20, 22, 51, 50, 54, 61, 1, 51, 17, 35, 17, 35, 17, 3, 99, 27, 60, 3, 49, 84,115,171,169,185,106,113,129,139,184,184,195,184, + 1,126, 51, 36, 1, 28, 50,225,228, 1, 11,254,245,151,142,183,171,206,251,158,254,226, 1,214, 0, 1, 1,199, 0, 0, 2,127, + 6, 31, 0, 3, 0, 0, 1, 17, 35, 17, 2,127,184, 6, 31,249,225, 6, 31, 0,255,255, 0, 37, 0, 0, 4,172, 7,109, 16, 38, + 11,184, 0, 0, 17, 6, 3, 61, 0, 0, 0, 24,180, 19, 8, 0, 24, 7, 43, 64, 13, 95, 8, 80, 0, 79, 8, 64, 0, 47, 8, 32, + 0, 6, 93, 49,255,255, 0,133,255,227, 4, 35, 6, 72, 16, 38, 2,130, 0, 0, 16, 6, 3, 93, 0, 0, 0, 0,255,255, 0, 37, + 0, 0, 4,172, 7, 78, 16, 38, 3, 61, 0, 0, 17, 7, 11,176, 0, 0, 1,117, 0, 28,180, 5, 17, 14, 10, 7, 43, 64, 17,112, + 14,127, 17, 48, 14, 63, 17, 32, 14, 47, 17, 0, 14, 15, 17, 8, 93, 49, 0, 0,255,255, 0,133,255,227, 4, 35, 6, 16, 16, 38, + 0,106, 0, 0, 16, 6, 3, 93, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 4,156, 5,213, 16, 6, 0,136, 0, 0,255,255, 0, 41, +255,227, 4,176, 4,123, 16, 6, 0,168, 0, 0,255,255, 0,197, 0, 0, 4, 78, 7,109, 16, 38, 11,184, 18, 0, 16, 6, 3, 66, + 0, 0, 0, 0,255,255, 0,123,255,227, 4, 88, 6, 72, 16, 38, 2,130, 14, 0, 16, 6, 3, 98, 0, 0, 0, 0,255,255, 0,117, +255,227, 4, 92, 5,240, 18, 6, 1, 81, 0, 0,255,255, 0,122,255,227, 4, 87, 4,123, 18, 6, 1,247, 0, 0,255,255, 0,117, +255,227, 4, 92, 7, 78, 16, 39, 11,176, 0, 0, 1,117, 16, 6, 3,185, 0, 0,255,255, 0,122,255,227, 4, 87, 6, 16, 16, 38, + 0,106, 0, 0, 16, 6, 3,186, 0, 0, 0, 0,255,255, 0, 15, 0, 0, 4,194, 7, 78, 16, 39, 11,176, 0, 0, 1,117, 16, 6, + 3, 67, 0, 0,255,255, 0, 59, 0, 0, 4,151, 6, 16, 16, 38, 0,106, 0, 0, 16, 6, 3, 99, 0, 0, 0, 0,255,255, 0,137, +255,227, 4, 55, 7, 78, 16, 39, 11,176,255,239, 1,117, 16, 6, 3, 68, 0, 0,255,255, 0,169,255,234, 4, 40, 6, 16, 16, 38, + 0,106,241, 0, 16, 6, 3,100, 0, 0, 0, 0,255,255, 0, 26,255,228, 4,183, 5,213, 16, 6, 1,121, 0, 0,255,255, 0,125, +254, 76, 4, 84, 4, 96, 16, 6, 2, 48, 0, 0,255,255, 0,139, 0, 0, 4, 70, 7, 48, 16, 38, 11,189, 0, 0, 16, 6, 3, 69, + 0, 0, 0, 0,255,255, 0,195, 0, 0, 4, 26, 5,246, 16, 38, 2,128, 0, 0, 16, 6, 3,101, 0, 0, 0, 0,255,255, 0,139, + 0, 0, 4, 70, 7, 78, 16, 39, 11,176, 0, 0, 1,117, 16, 6, 3, 69, 0, 0,255,255, 0,195, 0, 0, 4, 26, 6, 16, 16, 38, + 0,106, 0, 0, 16, 6, 3,101, 0, 0, 0, 0,255,255, 0,117,255,227, 4, 92, 7, 78, 16, 38, 3, 75, 0, 0, 17, 7, 11,176, + 0, 0, 1,117, 0, 28,180, 12, 30, 27, 18, 7, 43, 64, 17,112, 27,127, 30, 48, 27, 63, 30, 32, 27, 47, 30, 0, 27, 15, 30, 8, + 93, 49, 0, 0,255,255, 0,137,255,227, 4, 72, 6, 16, 16, 38, 3,107, 0, 0, 17, 6, 0,106, 0, 0, 0, 20,180, 15, 30, 27, + 21, 7, 43, 64, 9,127, 30,112, 27, 79, 30, 64, 27, 4, 93, 49,255,255, 0,117,255,227, 4, 92, 5,240, 16, 6, 3, 33, 0, 0, +255,255, 0,137,255,227, 4, 72, 4,123, 16, 6, 2, 19, 0, 0,255,255, 0,117,255,227, 4, 92, 7, 78, 16, 39, 11,176, 0, 0, + 1,117, 16, 6, 3,201, 0, 0,255,255, 0,137,255,227, 4, 72, 6, 16, 16, 38, 0,106, 0, 0, 16, 6, 3,202, 0, 0, 0, 0, +255,255, 0,139,255,227, 4, 49, 7, 78, 16, 39, 11,176,255,223, 1,117, 16, 6, 3, 90, 0, 0,255,255, 0,195,255,227, 4, 37, + 6, 16, 16, 38, 0,106,236, 0, 16, 6, 3,122, 0, 0, 0, 0,255,255, 0,104, 0, 0, 4,129, 7, 48, 16, 38, 11,189, 0, 0, + 16, 6, 3, 80, 0, 0, 0, 0,255,255, 0,104,254, 86, 4,129, 5,246, 16, 38, 2,128, 0, 0, 16, 6, 3,112, 0, 0, 0, 0, +255,255, 0,104, 0, 0, 4,129, 7, 78, 16, 39, 11,176, 0, 0, 1,117, 16, 6, 3, 80, 0, 0,255,255, 0,104,254, 86, 4,129, + 6, 16, 16, 38, 0,106, 0, 0, 16, 6, 3,112, 0, 0, 0, 0,255,255, 0,104, 0, 0, 4,129, 7,107, 16, 38, 11,186, 0, 0, + 16, 6, 3, 80, 0, 0, 0, 0,255,255, 0,104,254, 86, 4,129, 6,102, 16, 38, 2,135, 0, 0, 16, 6, 3,112, 0, 0, 0, 0, +255,255, 0,137, 0, 0, 4, 68, 7, 78, 16, 39, 11,176, 0, 0, 1,117, 16, 6, 3, 84, 0, 0,255,255, 0,195, 0, 0, 4, 27, + 6, 16, 16, 38, 0,106, 0, 0, 16, 6, 3,116, 0, 0, 0, 0, 0, 1, 0,215,254,190, 4,115, 5,213, 0, 9, 0, 0, 37, 51, + 17, 35, 17, 35, 17, 33, 21, 33, 1,162,213,213,203, 3,156,253, 47,170,254, 20, 1, 66, 5,213,170, 0, 0, 0, 0, 1, 1, 1, +254,226, 3,241, 4, 96, 0, 9, 0, 0, 37, 51, 17, 35, 17, 35, 17, 33, 21, 33, 1,185,195,195,184, 2,240,253,200,184,254, 42, + 1, 30, 4, 96,184, 0, 0, 0,255,255, 0, 65, 0, 0, 4,110, 7, 78, 16, 39, 11,176, 0, 0, 1,117, 16, 6, 3, 88, 0, 0, +255,255, 0,104, 0, 0, 4,105, 6, 16, 16, 38, 0,106, 0, 0, 16, 6, 3,120, 0, 0, 0, 0, 0, 1, 1,214, 0, 0, 2,251, + 1,236, 0, 5, 0, 0, 33, 35, 53, 19, 51, 3, 2,169,211,164,129, 82,172, 1, 64,254,192, 0, 0, 2, 1,100, 4,253, 3,109, + 6,241, 0, 10, 0, 27, 0, 0, 1, 51, 50, 55, 54, 53, 52, 39, 6, 7, 6, 23, 43, 1, 53, 51, 17, 51, 17, 54, 55, 54, 23, 22, + 21, 20, 7, 6, 2, 53, 55, 77, 23, 53, 30, 15, 57, 51, 23,175,112, 81,102, 36,104, 63, 70, 65, 64, 54, 5, 98, 13, 33, 21, 31, + 16, 4, 22, 20,169,101, 1,143,254,191, 73, 40, 24, 26, 25, 82, 91, 50, 42, 0, 0, 2, 1,214, 0, 0, 2,251, 5, 17, 0, 5, + 0, 9, 0, 0, 1, 35, 53, 19, 51, 11, 1, 51, 21, 35, 2,169,211,164,129, 82,211,211,211, 3, 37,172, 1, 64,254,192,253, 45, +254, 0, 0, 0, 0, 2, 0,218, 0, 0, 3,247, 5,240, 0, 3, 0, 36, 0, 0, 37, 21, 35, 53, 55, 53, 52, 38, 39, 46, 1, 47, + 1, 46, 1, 53, 52, 54, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 21, 20, 22, 31, 1, 30, 1, 29, 1, 3, 3,203, 6, 6, 6, 8, + 39, 47, 88, 90, 72,223,184,103,193, 94, 97,179, 79,108,131, 51, 57, 90, 90, 56,254,254,254,147,123, 52, 60, 21, 25, 53, 47, 86, + 86,137, 76,159,194, 56, 57,188, 67, 70,110, 89, 49, 94, 53, 89, 86,130,101,154, 0, 1, 1,178, 0, 85, 4, 45, 3,222, 0, 34, + 0, 0, 37, 53, 54, 55, 54, 55, 38, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 21, 38, 7, 6, 7, 6, 23, 20, 23, 22, 55, 54, + 55, 21, 6, 7, 6, 1,178, 47, 83, 68, 52,142, 51, 53, 21, 30,103, 99, 98,110, 90,100, 70, 51, 49, 96, 1,200, 57, 58, 72, 58, + 90,205,231, 85,176, 6, 25, 20, 33, 24, 76, 79, 84, 65, 75,118, 63, 61, 22,185, 31, 2, 1, 26, 48,112,115, 50, 14, 15, 19, 35, +185, 60, 80, 90,255,255, 1, 0, 0, 0, 3,208, 7,131, 16, 38, 3,229, 0, 0, 16, 7, 4, 12, 0, 0, 1,194,255,255, 1,189, + 0, 0, 3, 20, 7,254, 16, 38, 3,229, 0, 0, 16, 7, 4, 13, 0, 0, 1,134,255,255, 0, 76,254, 12, 4, 51, 4,182, 16, 38, + 4, 1, 0, 0, 16, 7, 4, 13, 0, 99,254, 62,255,255, 1,189,254, 12, 3, 20, 6, 20, 16, 38, 3,229, 0, 0, 16, 6, 4, 14, + 0, 0, 0, 0,255,255, 0, 25,254,243, 4,209, 4, 92, 16, 38, 4, 2, 0, 0, 16, 7, 4, 13,255,114,253,228, 0, 1, 2, 12, + 0, 0, 2,196, 6, 20, 0, 3, 0, 0, 1, 51, 17, 35, 2, 12,184,184, 6, 20,249,236, 0, 0,255,255, 0, 69,254,200, 4,176, + 2, 27, 16, 39, 11,195, 2, 44,254,200, 16, 6, 4, 30, 0, 0,255,255, 0,222,255,198, 3,243, 4, 26, 16, 39, 11,196, 1,113, + 3,132, 16, 6, 4, 0, 0, 0,255,255, 0, 69,255,235, 4,176, 3, 32, 16, 39, 11,196, 1,184, 2,138, 16, 6, 4, 30, 0, 0, +255,255, 0, 69,255,235, 4,176, 4, 26, 16, 39, 11,197, 1,164, 2,138, 16, 6, 4, 30, 0, 0,255,255, 0, 88,254, 11, 4,173, + 3,103, 16, 39, 11,195, 2,151, 0, 13, 16, 6, 3,235, 0, 0, 0, 1, 0, 88,254, 11, 4,173, 3,103, 0, 30, 0, 0, 19, 36, + 23, 4, 23, 21, 36, 7, 6, 21, 20, 23, 22, 5, 50, 55, 21, 6, 7, 4, 39, 38, 53, 16, 55, 54, 55, 38, 7, 6, 7, 88, 1, 20, +195, 1, 36,196,254,218,215,224, 74,129, 1, 19,193,212,150,250,254,148,169,131,212, 96,137,101,159,135, 95, 3, 39, 64, 1, 1, + 53,154, 13,180,188,247,137, 94,163, 1,118,184, 98, 1, 2,196,152,222, 1, 2,223,101, 52, 3, 22, 19, 41, 0,255,255, 0, 88, +254, 11, 4,173, 4,176, 16, 39, 11,195, 1,202, 4, 26, 16, 6, 3,235, 0, 0, 0, 1, 0,232,255,218, 3,232, 3,106, 0, 25, + 0, 0, 37, 54, 55, 54, 53, 52, 39, 38, 39, 51, 22, 23, 22, 21, 20, 7, 6, 5, 6, 35, 34, 39, 53, 22, 51, 50, 2, 84,174, 33, + 8, 60, 73,166,227,107, 72, 82, 32, 80,254,250, 46, 94,151,103,115,133, 82,151, 50,111, 27, 42, 91,103,120,179,108,131,152,105, + 99, 75,195, 40, 7, 38,184, 42,255,255, 0,232,255,218, 3,232, 4,200, 16, 39, 11,195, 2, 28, 4, 50, 16, 6, 3,237, 0, 0, + 0, 1,255,204,254, 8, 4, 68, 2, 34, 0, 17, 0, 0, 37, 54, 53, 52, 39, 51, 22, 21, 20, 7, 2, 5, 4, 5, 53, 32, 55, 36, + 3,133, 10, 53,184, 50, 8, 41,254,181,254,239,254, 21, 1,188,220, 0,255,154, 58, 72,126,136,118,132, 82, 62,254,181,173,143, + 9,184,128,146,255,255,255,204,254, 8, 4, 68, 3,182, 16, 39, 11,195, 3, 85, 3, 32, 16, 6, 3,239, 0, 0, 0, 1,255, 33, +254, 20, 4,152, 2,238, 0, 63, 0, 0, 37, 6, 7, 6, 7, 6, 35, 34, 39, 38, 55, 54, 55, 51, 6, 23, 22, 23, 22, 51, 50, 55, + 54, 55, 54, 39, 52, 47, 1, 51, 23, 22, 23, 22, 23, 22, 55, 54, 53, 51, 6, 23, 22, 51, 50, 25, 1, 51, 17, 20, 7, 6, 7, 6, + 35, 34, 39, 38, 39, 6, 7, 6, 7, 6, 1,140, 9, 29, 38, 60, 71,114, 95,101,117, 18, 19, 61,164, 88, 6, 7, 33, 47, 47, 54, + 50, 34, 26, 24, 2, 16, 42,160, 18, 16, 22, 48, 40, 46, 46, 36,164, 4, 38, 31, 43,104,164, 62, 33, 85, 22, 78, 66, 24, 65, 25, + 31, 69, 51, 73, 48, 60,168, 94,121, 77, 92,100,115,213,232,130,225,137,172, 43, 59, 72, 50,122,109,165, 94, 92,234,156,145, 35, + 80, 3, 3,125,103,194,163,141,120, 1, 24, 1, 38,254,170,159,153, 82, 34, 9, 25, 67,126,109, 56, 40, 2, 2,255,255,255, 33, +254, 20, 4,152, 4,176, 16, 39, 11,197, 1, 99, 3, 32, 16, 6, 3,241, 0, 0, 0, 2,255, 16,254, 20, 4,192, 2,143, 0, 12, + 0, 61, 0, 0, 37, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 7, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 43, 1, 34, + 39, 38, 53, 20, 7, 6, 7, 6, 35, 34, 39, 38, 53, 52, 55, 51, 6, 21, 20, 23, 22, 55, 54, 55, 54, 53, 52, 39, 38, 39, 51, 20, + 23, 22, 2, 72,128,141, 73,106, 40, 36, 64, 71,103, 76,196, 75, 49,142,154,172, 90, 88,184,127,127,218, 37, 53, 44, 48, 46, 51, + 99, 77,130, 91,124,100,172,104, 60, 50, 61, 66, 37, 65, 9, 33, 13,170, 14, 10,184, 46, 68, 70, 45, 37, 33,109, 78, 6,128, 60, +177, 82, 78,121,190,109, 75, 30, 26, 16,175,131,129, 43, 86, 90,127,203,188,172,204,156,145, 50, 41, 3, 4, 59,106,136,104, 62, +212, 72, 15, 55, 40, 0, 0, 0,255,255,255, 16,254, 20, 4,192, 3, 77, 16, 39, 11,195, 1, 79, 2,183, 16, 6, 3,243, 0, 0, + 0, 2, 0, 10, 0, 0, 4,164, 6, 20, 0, 12, 0, 31, 0, 0, 37, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 19, 33, 35, + 53, 51, 17, 51, 17, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 2, 44,129,140, 73,106, 40, 36, 63, 71,104, 75,136,253,251,224, +224,184, 76, 49,142,154,171, 91, 87,184,126,184, 46, 68, 70, 45, 37, 33,109, 78,254,216,184, 5, 92,251, 14,128, 60,177, 82, 78, +121,190,109, 75,255,255, 0, 10, 0, 0, 4,164, 6, 20, 16, 39, 11,195, 2, 89, 3, 22, 16, 6, 3,245, 0, 0, 0, 1, 0,122, +254, 12, 4,183, 4, 42, 0, 42, 0, 0, 5, 22, 33, 50, 55, 21, 6, 35, 32, 39, 38, 53, 52, 55, 54, 55, 38, 39, 38, 53, 52, 55, + 54, 51, 21, 34, 7, 6, 21, 20, 23, 22, 51, 50, 55, 54, 55, 21, 4, 7, 6, 21, 20, 1, 88,119, 1, 83,193,212,150,250,254, 91, +166, 98, 87,113, 77, 51, 47, 88,204,124,252,195,116, 93, 48, 45, 46, 40, 41,158,254,254,239,236,209,177,158,118,184, 99,188,111, +201,177,101,131, 25, 4, 30, 56,130,208,127, 77,169, 65, 52,104, 75, 25, 24, 18, 69, 29,184, 26,149,131,185,117,255,255, 0,122, +254, 12, 4,183, 5, 70, 16, 39, 11,195, 1,125, 4,176, 16, 6, 3,247, 0, 0, 0, 1,255,236, 0, 0, 4,229, 0,184, 0, 3, + 0, 0, 35, 53, 33, 21, 20, 4,249,184,184, 0,255,255,255,181,255,164, 4,140, 4,204, 16, 39, 11,195, 2,252, 4, 54, 16, 6, + 4, 51, 0, 0,255,255, 0, 31,254,124, 4,116, 5, 20, 16, 39, 11,196, 2, 83, 4,126, 16, 6, 4, 31, 0, 0, 0, 2, 0, 8, +255,200, 4,159, 6, 20, 0, 33, 0, 61, 0, 0, 1, 21, 6, 7, 6, 21, 20, 23, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 53, 22, + 51, 50, 55, 54, 53, 52, 39, 38, 39, 38, 55, 54, 55, 54, 1, 54, 25, 1, 51, 17, 16, 7, 6, 7, 6, 35, 6, 39, 38, 53, 52, 55, + 51, 6, 21, 22, 23, 22, 51, 50, 55, 54, 2,123, 74, 38, 80, 14, 12, 68,102, 88, 82, 78, 66, 56, 68, 45, 60, 57, 60, 78, 74, 18, + 32, 1, 2, 75, 85, 1,171, 52,184, 86,130, 67,155,184,173,163,217, 16,184, 14, 2,152,121, 87,127, 62,119, 4, 76, 82, 4, 14, + 30, 33, 28, 18, 16, 10, 15, 88,110, 42, 39, 11, 88, 10, 26, 26, 30, 38, 17, 16, 28, 47, 46, 81, 38, 43,252,209, 56, 1, 18, 3, +177,252, 79,254,154, 92,136, 25, 55, 2, 57, 76,184, 75, 53, 58, 44, 93, 45, 35, 27, 52, 0, 0, 0, 1, 0, 66,254,200, 4, 75, + 6, 20, 0, 27, 0, 0, 37, 54, 25, 1, 51, 17, 16, 7, 6, 7, 6, 35, 34, 39, 38, 3, 38, 55, 51, 6, 21, 20, 23, 22, 51, 50, + 55, 54, 3,117, 30,184, 50,108,101,150,162, 99,119,242, 1, 1, 64,184, 65,166, 40, 73,105, 84, 99, 73, 57, 1, 40, 4,106,251, +150,254,122, 71,156, 49, 72, 42, 86, 1, 3,138, 92,115,115,126, 66, 16, 34, 41, 0, 2, 0,130,254, 20, 4, 84, 2,243, 0, 17, + 0, 46, 0, 0, 1, 22, 51, 50, 55, 54, 53, 52, 39, 38, 39, 38, 35, 34, 7, 6, 21, 20, 7, 38, 7, 6, 21, 17, 35, 17, 52, 55, + 54, 51, 38, 53, 52, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 35, 6, 2, 88,122, 76, 44, 21, 53, 6, 21, 59, 40, 46, 59, + 27, 68,110, 50, 75, 25,200,120, 65, 90, 2,162, 77, 92, 77, 79,182, 28, 8, 98,120, 88,178, 1, 39, 42, 22, 57, 58, 24, 20, 88, + 17, 12, 27, 68, 68, 40,193, 28, 78, 26, 79,254, 20, 1,236,173,102, 55, 42, 40,148,132, 63, 36, 83,167, 45, 56,146, 65, 80, 2, +255,255, 0, 54,254,181, 4,141, 3, 96, 16, 39, 11,195, 1,234, 2,202, 16, 6, 4, 56, 0, 0, 0, 2, 0,222,255,198, 3,243, + 2,222, 0, 15, 0, 31, 0, 0, 1, 34, 7, 6, 23, 22, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 39, 50, 23, 22, 21, 6, 7, 6, + 35, 34, 39, 38, 53, 52, 55, 54, 2, 14, 66, 33, 26, 1, 1, 55, 57, 57, 91, 93, 75, 66,123,152,198,182,141, 1,147,165,132, 96, + 81,167, 37, 84, 2, 42, 87, 69,123, 82, 44, 44, 57, 46, 85, 77, 65,120,179,160,124,148,200, 75, 85, 35, 74,239,181, 78,185, 0, + 0, 2, 0, 76,254, 12, 4, 51, 2,134, 0, 11, 0, 38, 0, 0, 1, 34, 7, 6, 21, 20, 23, 22, 23, 52, 39, 38, 1, 16, 7, 6, + 7, 6, 33, 53, 32, 55, 54, 55, 38, 39, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 23, 22, 2,225, 63, 44, 24, 51, 47,192, 86, + 37, 1, 46,172, 45,186,190,254,106, 1,115,161,224, 49,118, 45,139, 51,116,211, 57, 62, 89, 72,131, 24, 17, 1,196, 57, 33, 36, + 55, 43, 40, 4,184, 59, 25,254,244,254,218,174, 46, 84, 86,184, 76,104,139, 3, 7, 24, 43, 98,137,217, 90, 24, 51, 91,142,102, + 0, 1, 0, 25,254,243, 4,209, 3, 28, 0, 53, 0, 0, 37, 6, 7, 6, 35, 34, 39, 36, 17, 52, 55, 51, 6, 23, 22, 23, 22, 51, + 50, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 55, 54, 55, 54, 51, 50, 23, 22, 23, 35, 52, 39, 38, 7, 6, 7, 6, 21, 20, 23, 22, + 23, 22, 23, 22, 4,121,132,224,177, 93,129, 72,254,219, 63,184, 66, 1, 2,164, 75, 83,120,108,107, 65, 59, 27, 34,132, 98, 1, + 1, 94, 77, 96,143, 55, 50, 17,184, 19, 27, 39, 20, 24, 35,125, 91, 55, 31, 1, 1, 12,195, 48, 38, 26,104, 1, 5,117,113,131, + 99,147, 45, 20, 35, 35, 78, 71, 34, 46, 42, 51, 58, 44,131,150, 61, 50, 73, 66,137, 61, 25, 34, 4, 2, 20, 30, 57, 41, 44, 32, +103, 58, 94, 77,255,255, 0, 25,254, 12, 4,209, 3, 28, 16, 39, 11,196, 1,114,254, 12, 16, 6, 4, 2, 0, 0, 0, 2, 1, 68, + 4,186, 3,140, 6,154, 0, 3, 0, 7, 0, 0, 1, 53, 37, 21, 1, 53, 37, 21, 1, 68, 2, 72,253,184, 2, 72, 5,170,110,130, +110,254,142,110,130,110, 0, 0, 0, 2, 1, 68, 4,186, 3,140, 6,253, 0, 38, 0, 53, 0, 0, 1, 54, 55, 38, 39, 38, 53, 52, + 55, 54, 51, 50, 23, 22, 21, 20, 7, 22, 51, 22, 51, 21, 34, 47, 1, 6, 7, 6, 35, 34, 39, 38, 53, 51, 20, 23, 22, 51, 50, 55, + 54, 55, 54, 53, 52, 38, 35, 34, 7, 6, 21, 20, 23, 22, 2,116, 36, 22, 33, 23,108, 68, 29, 63, 73, 39, 56, 13, 19, 14, 19, 19, + 46, 20, 52, 26, 76, 84, 94,115, 55, 16, 90, 12, 36, 48, 56,158, 4, 2, 10, 34, 20, 24, 10, 18, 44, 20, 5,100, 36, 42, 7, 13, + 57, 94, 87, 52, 21, 39, 54, 79, 39, 38, 1, 1,110, 2, 5, 61, 78, 86,154, 41,113, 97, 26, 75,238, 7, 7, 21, 24, 34, 28, 9, + 13, 28, 37, 18, 8, 0, 0, 0, 0, 2, 1, 68,254, 22, 3,140,255,246, 0, 3, 0, 7, 0, 0, 1, 53, 37, 21, 37, 53, 37, 21, + 1, 68, 2, 72,253,184, 2, 72,254, 22,110,130,110,110,110,130,110, 0, 0, 0, 0, 1, 1, 68, 4,186, 3,140, 5,170, 0, 3, + 0, 0, 1, 53, 37, 21, 1, 68, 2, 72, 4,186,110,130,110, 0, 0, 2, 1, 68, 4,185, 3,140, 6,253, 0, 31, 0, 47, 0, 0, + 1, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 21, 20, 7, 22, 51, 22, 51, 21, 34, 39, 38, 39, 6, 7, 6, 35, 53, 50, 55, 54, + 55, 54, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 2,146, 9, 19,108, 68, 29, 63, 73, 39, 56, 15, 17, 18, 19, 19, + 34, 32, 31, 27, 43, 69,201,147,153,139, 22, 86, 4, 2, 10, 18, 16, 20, 24, 10, 18, 44, 20, 5,186, 2, 10, 56, 95, 87, 52, 21, + 39, 54, 79, 32, 45, 1, 1,110, 2, 2, 3, 61, 42,123,110,109, 18,112, 7, 7, 21, 24, 34, 14, 14, 9, 13, 28, 37, 18, 8, 0, + 0, 1, 1, 68,254,232, 3,140,255,216, 0, 3, 0, 0, 1, 53, 37, 21, 1, 68, 2, 72,254,232,110,130,110, 0, 0, 1, 1, 48, + 4,202, 3,161, 6,244, 0, 40, 0, 0, 1, 6, 7, 6, 7, 6, 39, 38, 53, 52, 55, 51, 6, 23, 22, 23, 22, 55, 54, 55, 54, 53, + 51, 20, 23, 22, 55, 54, 53, 52, 39, 51, 22, 7, 6, 7, 6, 7, 6, 39, 38, 2,120, 15, 33, 57, 69, 79, 41, 34, 16, 97, 12, 1, + 3, 22, 19, 50, 61, 4, 2, 96, 3, 14, 75, 71, 13,103, 15, 3, 3, 24, 38, 90, 71, 31, 27, 5,132, 77, 39, 68, 1, 2, 65, 50, +111,109, 98,125, 56, 84, 34, 28, 23, 26,168, 82, 89, 36, 54,197, 2, 1,173,115, 57, 73,116,133, 54, 88, 11, 9, 33, 30, 0, 0, + 0, 2, 1, 86, 4,225, 3,122, 7, 6, 0, 9, 0, 19, 0, 0, 1, 52, 38, 34, 6, 21, 20, 22, 50, 62, 1, 20, 6, 35, 34, 38, + 52, 54, 51, 50, 3, 0, 88,128, 88, 88,128, 88,122,158,116,114,160,160,114,116, 5,244, 63, 88, 87, 64, 65, 87, 88,179,230,160, +160,230,159, 0, 0, 1, 1, 0, 4,185, 3,208, 5,193, 0, 18, 0, 0, 1, 55, 22, 23, 22, 51, 50, 55, 54, 55, 21, 6, 7, 6, + 35, 34, 38, 39, 7, 1, 0,160,103, 67, 42, 54, 58, 42,107, 87, 90, 90, 66, 54, 34,152, 68,166, 5, 54,123, 83, 21, 13, 16, 41, + 76,125, 64, 29, 22, 34, 70,128,255,255, 1,189, 4,191, 3, 20, 6,120, 16, 6, 4, 32, 0,141,255,255, 1,189,254, 12, 3, 20, +255,197, 16, 7, 4, 32, 0, 0,248,218, 0, 0, 0, 1, 1, 92, 4,238, 3,118, 6, 52, 0, 6, 0, 0, 1, 3, 51, 23, 55, 51, + 3, 2, 30,194,138,130,130,140,196, 4,238, 1, 70,195,195,254,186, 0, 0, 0, 0, 1, 1,250, 1,194, 2,214, 2,188, 0, 3, + 0, 0, 1, 51, 21, 35, 1,250,220,220, 2,188,250, 0, 0, 0, 0, 1, 1,150, 0, 0, 3, 60, 5, 20, 0, 9, 0, 0, 33, 35, + 16, 39, 2, 3, 51, 18, 19, 22, 3, 60,180, 38, 49,155,196,121, 73, 32, 1,169,220, 1, 33, 1,110,254,221,254,148,155, 0, 0, + 0, 1, 0,154, 0, 0, 4, 56, 5, 20, 0, 24, 0, 0, 1, 22, 23, 22, 17, 35, 16, 39, 2, 3, 51, 22, 23, 22, 51, 22, 55, 54, + 55, 51, 6, 7, 2, 35, 34, 1,237, 28, 23, 32,180, 38, 49,155,198, 67, 3, 82,180,122, 54, 32, 8,180, 8, 42, 98,244,111, 3, + 97,106,114,155,254, 22, 1,169,220, 1, 33, 1,110,155, 5,152, 2,149, 85, 80,121,109,254,250, 0, 1, 0,134, 0, 0, 4, 76, + 5, 20, 0, 37, 0, 0, 1, 22, 23, 22, 17, 35, 16, 39, 2, 3, 51, 22, 23, 22, 55, 54, 55, 54, 53, 51, 20, 23, 22, 23, 22, 55, + 54, 53, 51, 16, 7, 6, 35, 34, 39, 6, 7, 6, 1,228, 24, 16, 32,180, 38, 49,155,196, 47, 40, 19, 48, 72, 8, 6,180, 14, 21, + 47, 60, 14, 14,180, 40, 70,156,132, 33, 51, 52, 46, 3, 53, 87, 89,190,254, 57, 1,169,220, 1, 33, 1,110,114,124, 62, 8, 12, + 64, 50,166,222, 25, 37, 2, 2, 44, 42,202,254,207, 59,108, 62, 51, 12, 10, 0, 0, 1, 0,236,255,236, 3,228, 5, 32, 0, 42, + 0, 0, 1, 21, 6, 7, 6, 21, 20, 23, 22, 23, 21, 34, 7, 6, 21, 20, 23, 22, 23, 50, 55, 54, 55, 21, 6, 7, 6, 35, 34, 39, + 38, 53, 52, 55, 54, 55, 38, 39, 38, 39, 38, 55, 54, 3, 96,121,103,136, 92, 78, 78, 89,135,112, 48, 60, 74, 98, 88,126, 86, 72, +124,101,101,150,112,100,108, 64, 88, 72, 44, 55, 1, 1,225,113, 5, 32,168, 17, 52, 67, 64, 35, 57, 48, 4,164, 76, 64,114, 82, + 60, 74, 1, 23, 33, 43,196, 37, 28, 23,125,112,165,134,128, 76, 24, 32, 48, 58, 63,150,128, 63, 0, 2, 0,202,255,236, 4, 8, + 5, 37, 0, 13, 0, 28, 0, 0, 0, 34, 7, 6, 7, 6, 23, 22, 32, 55, 54, 39, 38, 39, 3, 22, 19, 22, 21, 16, 7, 6, 32, 39, + 38, 17, 52, 55, 18, 2,171,133, 86, 79, 3, 5, 71, 41, 0,255, 40, 72, 4, 4, 78,154,191,135, 90, 86,104,254, 61,105, 84, 90, +135, 4,104,212,192,174,199,115, 66, 66,115,199,174,192, 1,144, 1,254,161,235,179,254,203,117,144,144,117, 1, 53,179,235, 1, + 97, 0, 0, 0, 0, 1, 0,154, 0, 0, 4, 55, 5, 20, 0, 17, 0, 0, 1, 16, 19, 18, 19, 35, 2, 3, 2, 39, 6, 35, 34, 39, + 53, 22, 51, 50, 3,147, 37, 29, 98,196, 85, 31, 28, 2, 96,142,178,167,180,165,210, 5, 20,254,220,254,159,254,235,254,134, 1, + 68, 1, 75, 1, 42,145, 28, 50,180, 50, 0, 0, 0, 1, 0,126, 0, 0, 4, 82, 5, 20, 0, 18, 0, 0, 33, 38, 3, 2, 39, 51, + 18, 19, 22, 23, 54, 55, 18, 19, 51, 2, 3, 2, 7, 2, 14, 16, 98,160,126,196,154, 90, 48, 2, 2, 48, 90,154,196,164,120, 86, + 30,246, 1, 58, 1,254,230,254,202,254,197,168, 11, 11,168, 1, 59, 1, 54,254,211,254, 73,254,202,250, 0, 0, 0, 1, 0,126, + 0, 0, 4, 82, 5, 20, 0, 18, 0, 0, 1, 51, 22, 19, 18, 19, 35, 2, 3, 38, 39, 6, 7, 2, 3, 35, 54, 19, 18, 2, 14,180, + 30, 86,120,164,196,154, 90, 48, 2, 2, 48, 90,154,196,126,160, 98, 5, 20,250,254,202,254, 73,254,211, 1, 54, 1, 59,168, 11, + 11,168,254,197,254,202,230, 1,254, 1, 58, 0, 0, 2, 0,161, 0, 0, 4, 48, 5, 31, 0, 20, 0, 35, 0, 0, 1, 38, 39, 38, + 39, 38, 39, 38, 55, 54, 23, 22, 23, 22, 23, 22, 23, 18, 19, 35, 2, 3, 39, 38, 39, 38, 35, 34, 7, 6, 23, 22, 23, 22, 23, 22, + 2,252,205, 61,165, 66,103, 2, 4, 99,126,146,154, 92,128, 14, 10, 18, 36, 91,196, 92, 36, 7, 10, 34, 56,107, 78, 58, 58, 2, + 1, 59, 33, 77, 79, 2, 85, 3, 15, 41, 65,101,123,142, 98,126, 1, 1, 84,118,167,135,150,254,205,254,164, 1,156, 1,110, 87, +108, 60, 97, 55, 54, 71, 57, 54, 31, 13, 14, 0, 0, 3, 0,200, 0, 0, 4, 10, 5, 20, 0, 3, 0, 7, 0, 11, 0, 0, 37, 51, + 21, 35, 1, 51, 21, 35, 37, 51, 1, 35, 3, 70,180,180,253,144,180,180, 2,148,160,253, 94,160,250,250, 5, 20,250,250,250,236, + 0, 1, 1, 54,255, 31, 3,155, 2,139, 0, 17, 0, 0, 5, 54, 55, 54, 55, 54, 53, 52, 39, 51, 22, 21, 20, 7, 6, 7, 6, 7, + 1, 54,168,113,107, 47, 25, 21,150, 24, 75, 79,165,106,188, 70, 5,113,109,143, 80, 79, 96, 96, 78,111,170,160,166,113, 72, 6, + 0, 1, 1,214, 3,254, 2,251, 5,213, 0, 5, 0, 0, 1, 51, 21, 3, 35, 19, 2, 40,211,164,129, 82, 5,213,152,254,193, 1, + 63, 0, 0, 0, 0, 1, 0,146, 0,206, 4, 64, 4, 76, 0, 9, 0, 0, 19, 33, 27, 1, 33, 5, 19, 37, 5, 19,146, 1,103,111, +113, 1,103,254,221,112,254,219,254,221,111, 2,247, 1, 85,254,171,212,254,171,211,211, 1, 85, 0, 1, 0, 69,255,235, 4,176, + 2, 27, 0, 25, 0, 0, 1, 22, 21, 20, 7, 6, 5, 6, 39, 38, 53, 52, 55, 51, 6, 21, 20, 23, 22, 51, 50, 55, 54, 53, 52, 39, + 4,150, 26,166,152,254,233,223,154,157, 41,184, 43,117, 98,132,188,106,123, 25, 2, 27, 71,132,123,121,111, 1, 1, 57, 59,225, + 62,124,138, 48,108, 30, 25, 65, 76,106, 64, 71, 0, 2, 0, 31,254,124, 4,116, 3,217, 0, 15, 0, 56, 0, 0, 1, 54, 53, 52, + 39, 38, 7, 6, 7, 6, 7, 20, 23, 22, 51, 50, 1, 54, 55, 54, 17, 6, 35, 34, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, + 23, 22, 21, 20, 7, 6, 7, 6, 39, 38, 39, 38, 53, 52, 55, 51, 6, 7, 20, 23, 22, 3,129, 41, 66, 31, 44, 52, 40, 40, 1, 55, + 40, 42, 72,254, 91,212, 98,203, 63,122,133, 75, 98, 8, 23,150, 78, 76, 99, 57,103, 39, 33, 46, 57,165,187,233,206,138, 77, 82, +183, 86, 2, 18, 86, 2, 25, 43, 77, 59, 51, 25, 1, 1, 42, 41, 51, 80, 38, 25,253, 59, 2,102,212, 1, 52, 75, 67, 87,129, 45, + 51,148, 69, 36, 50, 90,119,102,160,252,142,179,131,148, 1, 1,191,106,125,180,216,187,153, 72, 40,176, 0, 0, 0, 1, 1,189, + 5, 50, 3, 20, 6,235, 0, 24, 0, 0, 1, 55, 38, 39, 38, 55, 54, 55, 54, 23, 22, 23, 21, 38, 35, 34, 7, 6, 21, 20, 23, 22, + 55, 21, 5, 1,189, 78, 44, 16, 17, 1, 2, 54, 56, 94, 61, 53, 51, 63, 66, 17, 29, 94, 33,120,254,169, 5,150, 18, 20, 36, 37, + 45, 95, 44, 46, 1, 1, 32,100, 33, 18, 32, 26, 77, 27, 10, 29,102, 77, 0, 0,255,255, 0, 69,255,235, 4,176, 4,153, 16, 39, + 3,220, 0, 42,253,168, 16, 6, 4, 30, 0, 0,255,255, 0, 69,255,235, 4,176, 4, 26, 16, 39, 11,204, 2, 22, 3,132, 16, 6, + 4, 30, 0, 0,255,255, 0, 69,254, 12, 4,176, 2, 27, 16, 39, 11,204, 2, 16,255, 6, 16, 6, 4, 30, 0, 0,255,255, 0, 69, +254, 12, 4,176, 3, 32, 16, 39, 11,208, 1,152,254, 12, 16, 38, 4, 30, 0, 0, 16, 7, 11,196, 1,184, 2,138,255,255, 0, 69, +255,235, 4,176, 3,182, 16, 39, 11,203, 1,169, 3, 32, 16, 6, 4, 30, 0, 0,255,255, 0, 69,254, 12, 4,176, 2, 27, 16, 39, + 11,203, 1,158,255, 6, 16, 6, 4, 30, 0, 0,255,255, 0, 69,255,235, 4,176, 4, 26, 16, 39, 11,205, 1,164, 3,132, 16, 6, + 4, 30, 0, 0,255,255, 0, 69,254, 12, 4,176, 2, 27, 16, 39, 11,205, 1,158,255, 6, 16, 6, 4, 30, 0, 0,255,255, 0, 88, +254, 11, 4,173, 5,176, 16, 39, 4, 13,255,174,255, 56, 16, 6, 3,235, 0, 0,255,255, 0, 88,254, 11, 4,173, 5,170, 16, 39, + 11,204, 1,194, 5, 20, 16, 6, 3,235, 0, 0,255,255, 0, 88,254, 11, 4,173, 3,103, 16, 39, 11,196, 2, 42, 0, 81, 16, 6, + 3,235, 0, 0,255,255, 0, 88,254, 11, 4,173, 3,103, 16, 39, 11,204, 2,203, 0,175, 16, 6, 3,235, 0, 0,255,255, 0, 88, +254, 11, 4,173, 5,170, 16, 39, 11,197, 1, 84, 4, 26, 16, 6, 3,235, 0, 0,255,255, 0, 88,254, 11, 4,173, 3,103, 16, 39, + 11,203, 2,106, 0,150, 16, 6, 3,235, 0, 0,255,255, 0, 88,254, 11, 4,173, 3,103, 16, 39, 11,205, 2, 98, 0,175, 16, 6, + 3,235, 0, 0,255,255,255,204,254, 8, 4,208, 4,168, 16, 38, 3,239, 0, 0, 16, 7, 3,220, 1, 98,253,183,255,255,255,204, +254, 8, 4,181, 4, 6, 16, 38, 3,239, 0, 0, 16, 7, 4, 15, 1, 62,253,210,255,255,255,204,254, 8, 4,101, 4,113, 16, 39, + 11,197, 2,213, 2,225, 16, 6, 3,239, 0, 0, 0, 2,255,181,255,164, 4,140, 3,120, 0, 14, 0, 57, 0, 0, 1, 54, 53, 52, + 39, 38, 7, 34, 6, 7, 20, 23, 22, 51, 50, 19, 6, 7, 6, 35, 34, 39, 38, 3, 38, 55, 51, 6, 21, 20, 23, 22, 51, 50, 55, 54, + 55, 54, 55, 6, 35, 34, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 16, 3,163, 41, 66, 31, 44, 52, 80, 1, 55, + 38, 44, 72,157,105,167,178,165,163,114,244, 2, 2, 36,184, 36,120, 90,131,127, 84,188, 48, 65, 38, 63,122,133, 75, 98, 8, 23, +150, 78, 76, 90, 66, 96, 46, 23, 1,184, 44, 76, 57, 53, 26, 2, 84, 50, 82, 36, 26,254,166, 84, 38, 40, 41, 88, 1, 21,138, 92, + 94,136,147, 45, 34, 22, 50, 28, 40,104, 76, 68, 86,130, 44, 52,148, 68, 36, 50, 72,102, 51,139,254,187, 0, 0,255,255,255,181, +255,164, 4,140, 5,153, 16, 39, 11,197, 2,112, 4, 9, 16, 6, 4, 51, 0, 0, 0, 1, 0, 10,255,167, 5, 93, 6, 20, 0, 42, + 0, 0, 37, 50, 54, 55, 54, 53, 52, 47, 1, 38, 53, 52, 55, 54, 55, 1, 21, 1, 6, 21, 20, 31, 1, 22, 21, 20, 7, 6, 7, 6, + 35, 34, 39, 36, 17, 52, 55, 51, 6, 21, 20, 23, 22, 2, 38,162,218, 54, 52, 95,183, 62, 18, 46, 86, 2, 15,254,104, 71, 32,148, +142,104, 82,164, 99,207,112,108,254,182, 63,184, 65,203, 79, 88,106, 60, 57, 85, 57,105,202, 68, 71, 84, 31, 79, 65, 1,142,209, +254,194, 55, 46, 63, 35,162,155,111,157,117, 92, 78, 47, 32, 98, 1, 11,138, 92, 94,136,120, 72, 28, 0, 0, 0,255,255, 0, 10, +255,167, 5, 97, 7, 56, 16, 39, 11,206, 2,170, 0, 0, 16, 6, 4, 53, 0, 0,255,255, 0, 66,254,200, 4,250, 7,196, 16, 39, + 4, 15, 1,132, 1,144, 16, 6, 3,253, 0, 0, 0, 1, 0, 54,254,181, 4,141, 2,176, 0, 29, 0, 0, 1, 20, 7, 6, 7, 6, + 35, 34, 39, 38, 17, 52, 55, 51, 6, 21, 20, 23, 22, 51, 50, 55, 54, 55, 54, 53, 52, 39, 51, 22, 4,141,100, 71,142,140,129,172, +123,234, 53,184, 55,161, 57,129, 84, 63,157, 58, 34, 70,184, 72, 0,255,187,164,116, 60, 59, 63,120, 1, 18,174,142,174,142,180, + 67, 24, 20, 51,167, 98, 96,249,152,159, 0, 0, 0, 3, 0, 0,255,189, 4,147, 3,229, 0, 38, 0, 54, 0, 70, 0, 0, 40, 1, + 39, 38, 53, 52, 55, 51, 6, 21, 20, 23, 22, 51, 50, 55, 38, 39, 38, 53, 52, 55, 54, 23, 38, 39, 53, 22, 23, 4, 23, 22, 21, 20, + 7, 6, 35, 34, 39, 55, 54, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 37, 22, 21, 20, 7, 6, 7, 22, 51, 50, 55, + 54, 53, 52, 39, 38, 1,221,254,220, 67,118, 16,184, 14, 30, 45, 40, 59, 71, 45, 15, 18, 45, 48, 77, 44, 81,219,220, 1, 5, 59, + 14, 40, 74,175,131,154, 21, 36, 34, 39, 15, 22, 58, 65, 23, 22, 7, 21, 1, 71, 6, 98, 12, 17, 52, 49,126, 16, 7, 33, 29, 36, + 64,128, 75, 53, 58, 44, 43, 11, 16, 11,105, 69, 78, 64, 84, 83, 90, 9, 39, 14,185, 67,180,214,217, 52, 57,103, 61,113,108,228, + 27, 64, 72, 61, 46, 37, 52, 45, 43, 35, 30, 37,118,188, 37, 39,138,114, 14, 19, 46, 67, 30, 33, 60, 78, 69, 0,255,255, 0, 76, +254, 12, 4, 51, 4, 72, 16, 39, 4, 15, 0,112,254, 20, 16, 6, 4, 1, 0, 0,255,255, 0, 25,254,243, 4,209, 3, 28, 16, 6, + 4, 2, 0, 0,255,255, 0, 25,254,243, 4,209, 4, 20, 16, 39, 4, 15,255, 40,253,224, 16, 6, 4, 2, 0, 0,255,255, 0,222, +255,198, 3,243, 2,222, 16, 6, 4, 0, 0, 0,255,255, 1,250, 1,194, 2,214, 2,188, 16, 6, 4, 16, 0, 0,255,255, 1,150, + 0, 0, 3, 60, 5, 20, 16, 6, 4, 17, 0, 0,255,255, 0,154, 0, 0, 4, 56, 5, 20, 16, 6, 4, 18, 0, 0,255,255, 0,134, + 0, 0, 4, 76, 5, 20, 16, 6, 4, 19, 0, 0, 0, 1, 0,175, 0, 0, 4, 34, 5, 37, 0, 39, 0, 0, 1, 38, 53, 52, 55, 54, + 51, 50, 23, 21, 38, 7, 6, 7, 6, 21, 20, 23, 22, 55, 54, 55, 21, 6, 35, 34, 39, 22, 23, 22, 17, 35, 16, 39, 2, 3, 51, 22, + 23, 22, 2, 37, 4, 88, 92,108, 84, 88, 92, 68, 56, 30, 31, 25, 47, 48, 69,141,195, 61,141,146, 27, 23, 32,180, 37, 49,156,199, + 66, 3, 27, 4, 20, 15, 19,120, 58, 61, 25,156, 36, 2, 1, 33, 34, 21, 52, 21, 39, 2, 2, 17,180, 26, 81,106,114,155,254, 22, + 1,169,220, 1, 33, 1,110,155, 5, 56, 0, 0, 0, 2, 0,172,255,244, 4, 37, 5, 36, 0, 19, 0, 39, 0, 0, 1, 22, 51, 50, + 55, 54, 53, 52, 39, 38, 34, 7, 6, 21, 20, 23, 22, 51, 50, 55, 23, 6, 39, 38, 39, 38, 53, 16, 55, 18, 51, 50, 19, 22, 19, 22, + 7, 6, 7, 6, 2,194, 45, 50, 34, 18, 27, 87, 90,174, 91, 86, 27, 15, 37, 51, 44, 90, 40,145,160, 46, 53, 95,179,170,162,187, + 94, 1, 1, 53, 51,156,144, 1, 90,161, 74,107, 86,215,216,224,224,213,218, 60,133, 74,161,208,151, 2, 2,156,181,124, 1, 38, +196, 1,118,254,138,187,254,209,141,164,157, 1, 2, 0, 0, 0, 0, 1, 1, 8, 0, 0, 3,200, 5, 32, 0, 32, 0, 0, 33, 18, + 55, 54, 55, 34, 39, 38, 53, 52, 55, 54, 55, 54, 23, 21, 38, 35, 34, 7, 6, 21, 20, 23, 22, 51, 50, 55, 21, 6, 7, 6, 7, 1, + 8, 66,110, 68,100, 78, 46,134, 98,112,140,121, 87, 86,116, 62, 48, 66, 55, 44,103,140, 96,225,111,134, 54, 0,255,181,111, 85, + 37,109,151,175, 96,109, 2, 2, 33,180, 51, 47, 65, 98, 77, 51, 41, 41,180, 73,152,183,225, 0,255,255, 0,126, 0, 0, 4, 82, + 5, 20, 16, 6, 4, 23, 0, 0,255,255, 0,126, 0, 0, 4, 82, 5, 20, 16, 6, 4, 24, 0, 0,255,255, 0,161, 0, 0, 4, 48, + 5, 31, 16, 6, 4, 25, 0, 0, 0, 3, 0, 62,255,235, 4,100, 4,123, 0, 7, 0, 15, 0, 42, 0, 62, 64, 13, 35, 6, 37, 10, + 2, 27, 20, 14, 6, 22, 6, 16, 43, 16,220,236,204,204,220, 60,204,204, 47,236, 49, 0, 64, 7, 0, 22, 4, 18,153, 37, 43, 16, + 60,244,204,220,204, 64, 9, 12, 25, 8, 40,140, 29, 33,190, 44, 16,252, 60,236,204,220,204, 48, 37, 38, 21, 20, 55, 54, 39, 38, + 3, 38, 21, 20, 55, 54, 39, 38, 19, 20, 35, 34, 53, 52, 55, 17, 6, 35, 34, 53, 52, 51, 50, 23, 54, 51, 32, 25, 1, 35, 17, 52, + 35, 34, 7, 1, 20, 63, 63, 66, 1, 1, 76, 63, 63, 66, 1, 1,162,198,230,244, 21, 21,202,202,145, 44, 76,189, 1,150,184,226, +137, 87,244, 2, 66, 65, 1, 1, 63, 62, 3, 5, 2, 66, 65, 1, 1, 63, 62,252,195,205,201,202, 6, 1,112, 8,208,191, 81, 81, +254,190,252,199, 3, 57,170,142, 0, 2, 0,108,255,221, 4,174, 4,141, 0, 3, 0, 44, 0, 0, 0, 34, 20, 50, 7, 34, 53, 52, + 55, 54, 55, 36, 19, 22, 5, 7, 4, 23, 22, 51, 50, 54, 51, 50, 23, 7, 38, 35, 34, 6, 35, 32, 39, 52, 37, 55, 54, 53, 52, 5, + 6, 7, 22, 23, 20, 1,130,128,128, 68,210,188,187,151, 1,229, 1, 2,254,152,182,254,227, 3, 5,231, 74,214, 80,158,138,134, +105, 63, 51,204,107,254, 93, 1, 1,180,178,214,254,200, 75, 77, 63, 1, 3,111,128,148,228,137, 97, 98, 1, 2,254,169,237,117, + 59, 92, 83,102,142,213, 97,145,127,249,198,142, 58, 70,130,189, 3, 1, 55, 56, 85,216, 0, 0, 0, 3, 0,121,255,235, 4, 80, + 4,141, 0, 7, 0, 17, 0, 56, 0, 0, 1, 22, 51, 50, 55, 38, 39, 34, 19, 22, 39, 38, 35, 34, 23, 20, 21, 22, 37, 52, 55, 38, + 55, 54, 36, 23, 4, 18, 25, 1, 35, 17, 16, 38, 7, 14, 1, 23, 54, 55, 32, 7, 20, 35, 34, 39, 6, 23, 22, 23, 54, 51, 50, 21, + 20, 7, 4, 1, 89, 54, 5, 23, 48, 73, 1, 18,127, 54, 2, 3, 49, 54, 2, 1,254,174, 42, 44, 3, 6, 1, 11,229, 1, 33,191, +184,127,169,177,155, 3, 42, 58, 1, 5, 1,250, 57, 20, 31, 3, 2, 20, 23,171,204,204,254,117, 2, 96, 20, 18, 17, 1,254, 16, + 1, 48, 39, 34, 1, 3, 47,220,127,128, 54, 79,211,217, 1, 1,254,224,254,214,253,191, 2, 65, 1, 1,183, 3, 3,184, 75, 18, + 1,165,165, 11, 37, 91, 57, 46,141,200,181, 1, 1, 0, 0, 0, 0, 2, 0,246,254, 24, 3,219, 4,140, 0, 25, 0, 33, 0, 0, + 19, 52, 54, 51, 32, 25, 1, 16, 6, 35, 34, 38, 39, 55, 22, 51, 50, 53, 17, 16, 35, 22, 21, 6, 39, 38, 19, 38, 23, 6, 55, 22, + 39, 54,247,162,221, 1,101,155,204,214,116, 13,189, 33,121,175,130, 2, 6,215,209,215, 67, 3, 2, 66, 66, 2, 1, 3,166,113, +117,253,244,253,143,254,249,240,208,141, 10,209,243, 2,223, 1,104, 21, 33,207, 1, 1, 1, 9, 1, 65, 67, 3, 2, 66, 66, 0, + 0, 2, 0,124,255,255, 4, 85, 4,154, 0, 11, 0, 41, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 3, 50, 23, 22, + 25, 1, 7, 19, 52, 39, 20, 39, 38, 53, 52, 51, 50, 23, 16, 5, 6, 7, 6, 29, 1, 35, 53, 52, 55, 54, 2,110, 36, 28, 32, 32, + 37, 27, 32, 42,250,124,123,184, 1,101,200,217,218,244, 54,254,196,207, 76, 17,184, 30,106, 2, 96, 32, 32, 37, 27, 34, 30, 37, + 27, 2, 58,121,120,254,217,253,126, 1, 1, 41,142, 82,166, 1, 2,183,192,104, 1,149, 5, 4,134, 30,134, 75, 75,170, 62,220, + 0, 2, 0, 97,254, 25, 4,201, 4,131, 0, 11, 0, 57, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 3, 38, 53, 52, + 53, 54, 55, 54, 55, 36, 19, 22, 13, 1, 6, 23, 22, 51, 50, 55, 54, 51, 50, 21, 20, 19, 48, 7, 2, 17, 6, 33, 32, 53, 52, 45, + 1, 54, 53, 52, 5, 6, 7, 22, 23, 6, 1, 54, 36, 28, 32, 32, 37, 27, 32, 35,210, 2,229,118,202, 1,201, 2, 1,254,138,254, +251,169, 5, 4,199,179, 93, 35,120,151,134,144,176, 46,254,164,254,127, 1, 62, 1, 1,229,254,226,114, 62, 62, 1, 36, 3,111, + 32, 32, 37, 27, 34, 30, 37, 27,254,236, 16,209, 2, 1,133,125, 64, 1, 2,254,188,214,126, 89, 57,112,101,183, 68,216,243,254, +181, 81, 1, 99, 1, 70,211,248,226,108, 87, 78,110,169, 3, 1, 45, 55, 86,188, 0, 2, 0,114,255,238, 4, 92, 4,150, 0, 11, + 0, 44, 0, 0, 1, 50, 54, 53, 52, 38, 39, 38, 6, 21, 20, 22, 3, 20, 33, 32, 25, 1, 51, 17, 16, 37, 36, 17, 52, 53, 54, 55, + 38, 55, 18, 5, 22, 21, 20, 7, 6, 39, 22, 23, 22, 55, 21, 7, 6, 1,215, 36, 28, 33, 31, 37, 27, 32,130, 1, 47, 1, 64,184, +254, 8,254, 15, 3,162,166, 1, 1, 1,108,180,192,126, 46, 2, 90, 65,144,141,147, 3,164, 32, 32, 36, 27, 1, 1, 33, 32, 36, + 28,253,140,174, 1,184, 2, 63,253,193,253,180, 1, 1, 1, 61, 2, 1,145, 81,109,234, 1, 46, 2, 1,176,186, 2, 1,117,189, + 71, 52, 12,161, 23, 24, 0, 0, 0, 2, 0,123,255,227, 4, 86, 4,124, 0, 7, 0, 28, 0, 44, 64, 9, 27, 6, 8, 6, 16, 2, + 21, 6, 14, 47,252,204,220,204, 47,236, 49, 0, 64, 12, 11,140, 24,190, 29, 0, 14, 4, 18,153, 28, 29, 16, 60,244,204,220,204, + 16,252,252, 48, 37, 34, 21, 20, 51, 50, 53, 52, 5, 17, 52, 5, 4, 21, 17, 36, 23, 22, 35, 34, 53, 17, 52, 36, 55, 54, 4, 21, + 17, 1,102, 64, 64, 64, 1,248,254,202,254,203, 1, 24, 1, 1,231,235, 1, 19,218,197, 1, 41,235, 64, 64, 64, 64,235, 3, 31, +201, 3, 3,195,254, 80, 27,223,200,200, 2,142,199,121, 2, 2,120,204,252,199, 0, 2, 0,149,255,226, 4,111, 4,161, 0, 11, + 0, 42, 0, 0, 37, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 19, 34, 2, 35, 34, 7, 3, 32, 21, 20, 35, 34, 53, 17, 16, 51, + 50, 18, 51, 50, 18, 55, 50, 25, 1, 35, 17, 52, 35, 34, 2, 1,128, 36, 28, 32, 32, 37, 27, 32,228,122,119, 15, 54, 1, 1, 1, + 25,213,251,242,131, 94, 34, 36, 74,133,242,184, 55, 22,102,241, 32, 32, 37, 27, 34, 30, 37, 27, 1,250, 1, 38,225,254, 80,196, +218,210, 2,150, 1, 87,254,224, 1, 31, 1,254,169,252,182, 3, 48,219,254,224, 0, 3, 0, 26,254, 20, 4, 62, 4,124, 0, 3, + 0, 7, 0, 35, 0, 0, 36, 34, 20, 50, 0, 34, 20, 50, 19, 50, 23, 22, 35, 34, 53, 17, 6, 35, 38, 53, 54, 55, 54, 23, 54, 51, + 32, 22, 21, 17, 35, 17, 52, 35, 34, 7, 2, 38,128,128,254,237,128,128,166,241, 2, 2,218,211, 33, 31,167, 1,179,145, 55,121, +139, 1, 6,158,184,244,123, 94,220,128, 3,166,128,253,221,185,195,227, 2, 73, 7, 2,190,178, 1, 1,101,100,213,109,250,219, + 5, 37,163,139, 0, 2, 0,106,255,226, 4,104, 4,124, 0, 7, 0, 39, 0, 62, 64, 7, 6, 12, 2, 8, 36, 6, 15, 47,252, 60, +204,220,204, 64, 7, 20, 6, 32, 24, 6, 26, 41, 16,220,236,220,236, 49, 0, 64, 6, 17,140, 34,153, 26, 41, 16, 60,244,236, 64, + 9, 4, 38, 0, 29,140, 22, 10,190, 41, 16,252, 60,236,204,220,204, 48, 1, 38, 23, 6, 55, 22, 39, 54, 5, 52, 51, 50, 21, 20, + 6, 21, 20, 51, 50, 53, 17, 52, 23, 4, 21, 17, 35, 17, 52, 7, 6, 21, 3, 2, 37, 36, 17, 16, 55, 34, 1, 54, 67, 3, 2, 66, + 67, 3, 2,254,244,202,216,254,170,178,252, 1, 0,164, 98, 82, 1, 1,254,172,254,176,216,214, 4, 18, 2, 66, 67, 3, 1, 65, + 67, 75,177,173,202,224,212,216,188, 2, 74,254, 1, 1,251,252,129, 3,127,106, 3, 3,101,253,183,254,173, 1, 1, 1,104, 1, + 48,154, 0, 0, 0, 2, 0, 75,255,227, 4, 84, 4,141, 0, 5, 0, 32, 0, 0, 0, 50, 52, 35, 34, 7, 3, 53, 51, 50, 54, 53, + 17, 36, 53, 52, 55, 54, 21, 17, 22, 55, 54, 53, 17, 51, 17, 16, 33, 34, 39, 6, 35, 1, 3,128, 64, 62, 2,184,122, 93, 85,254, +232,226,238, 93,120,152,184,254,180,174, 84,114,217, 3,115,128, 64,252, 48,143,101,156, 1,103, 8,204,221, 1, 1,219,253,117, +169, 1, 1,177, 3, 47,252,209,254,178,115,115, 0, 2, 0,124,255,238, 4, 84, 4,125, 0, 3, 0, 25, 0, 0, 0, 34, 20, 50, + 1, 52, 55, 38, 55, 54, 23, 22, 7, 6, 0, 21, 22, 37, 32, 25, 1, 51, 17, 16, 37, 36, 1,169,128,128,254,212,182,183, 1, 1, +229,237, 1, 1,254,236, 1, 1, 37, 1, 60,184,254, 12,254, 29, 3,238,128,253,210,218,196, 38,182,196, 2, 2,188,151,254,209, +168,204, 1, 1, 39, 2,180,253, 76,254, 66, 1, 1, 0, 0, 0, 0, 2, 0,124,255,238, 4, 84, 6, 20, 0, 3, 0, 25, 0, 0, + 0, 34, 20, 50, 1, 52, 55, 38, 55, 54, 23, 22, 7, 6, 0, 21, 22, 33, 32, 25, 1, 51, 17, 16, 37, 36, 1,169,128,128,254,212, +182,183, 1, 1,229,237, 1, 1,254,236, 1, 1, 37, 1, 60,184,254, 12,254, 29, 3,238,128,253,210,218,196, 38,182,196, 2, 2, +188,151,254,209,168,203, 1, 39, 4,104,251,152,254, 66, 1, 1, 0, 3, 0, 99,255,239, 4,246, 5, 27, 0, 11, 0, 23, 0, 74, + 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 5, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 1, 43, 1, 38, 39, 6, + 35, 34, 39, 38, 53, 17, 52, 51, 50, 21, 6, 39, 16, 21, 20, 51, 50, 53, 17, 51, 17, 20, 55, 54, 53, 17, 38, 55, 52, 23, 22, 23, + 54, 53, 38, 39, 55, 22, 23, 22, 7, 19, 20, 7, 6, 3,132, 36, 28, 32, 32, 37, 27, 32,253,146, 36, 28, 32, 32, 38, 26, 32, 1, +224, 2, 2, 99,103,101,133,126, 80, 76,210,216, 1,241,102,138,184,114,116,243, 1,208,179, 27, 30, 1, 74,119, 84, 1, 3,152, + 2, 92, 85, 3,250, 32, 32, 38, 26, 34, 30, 36, 28, 1, 32, 32, 37, 27, 34, 30, 37, 27,251,246, 1, 73, 74, 84, 79,154, 2, 98, +223,197,199, 23,254,111, 59,132,132, 1, 52,254,203,139, 5, 5,130, 1,204, 8,168,209, 1, 1,152, 22, 80, 54, 65, 94,103, 91, +195,111,254, 6,164, 80, 73, 0, 0, 2, 0, 99,255,239, 4, 98, 6, 20, 0, 36, 0, 48, 0, 0, 1, 20, 7, 6, 43, 2, 38, 39, + 6, 35, 34, 39, 38, 53, 17, 52, 51, 50, 21, 6, 39, 16, 21, 20, 51, 50, 53, 17, 51, 17, 20, 55, 54, 53, 17, 51, 1, 34, 6, 21, + 20, 22, 51, 50, 54, 53, 52, 38, 4, 98, 92, 85,123, 2, 2, 99,103,101,133,126, 80, 76,210,216, 1,241,102,138,184,114,116,184, +252,212, 36, 28, 32, 32, 38, 26, 32, 1, 44,164, 80, 73, 1, 73, 74, 84, 79,154, 2, 98,223,197,199, 23,254,111, 59,132,132, 1, + 52,254,203,139, 5, 5,130, 4,232,253,229, 32, 32, 37, 27, 34, 30, 37, 27, 0, 0, 2, 0,101,255,238, 4,108, 4,126, 0, 11, + 0, 44, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 19, 50, 53, 17, 51, 17, 6, 55, 54, 53, 17, 51, 17, 16, 37, 38, + 39, 6, 35, 32, 17, 52, 55, 38, 55, 54, 23, 22, 7, 6, 0, 23, 20, 1, 98, 36, 28, 32, 32, 36, 28, 32, 48,110,184, 1,117,104, +184,254,224,105,103,101,143,254,222,152,138, 2, 2,228,237, 1, 2,254,214, 2, 3,210, 32, 32, 37, 27, 34, 30, 37, 27,252,179, +167, 1, 52,254,203,174, 5, 5,165, 3, 47,252,209,254,192, 3, 1, 73, 74, 1, 61,240,166, 37,158,249, 1, 1,219,143,254,170, +144,167, 0, 0, 0, 2, 0,101,255,238, 4,108, 6, 20, 0, 11, 0, 44, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, + 19, 50, 53, 17, 51, 17, 6, 55, 54, 53, 17, 51, 17, 16, 37, 38, 39, 6, 35, 32, 17, 52, 55, 38, 55, 54, 23, 22, 7, 6, 0, 23, + 20, 1, 98, 36, 28, 32, 32, 36, 28, 32, 48,110,184, 1,117,104,184,254,224,105,103,101,143,254,222,152,138, 2, 2,228,237, 1, + 2,254,214, 2, 3,210, 32, 32, 37, 27, 34, 30, 37, 27,252,179,167, 1, 52,254,203,175, 6, 5,165, 4,232,251, 24,254,192, 3, + 1, 73, 74, 1, 61,240,166, 37,158,249, 1, 1,219,143,254,170,144,167, 0, 0, 0, 1, 0, 16,255,227, 4, 96, 4, 96, 0, 23, + 0, 0, 1, 51, 17, 16, 51, 50, 25, 1, 51, 17, 16, 33, 34, 39, 6, 35, 34, 53, 52, 51, 50, 7, 50, 53, 1, 99,184,189,208,184, +254,120,240, 41, 51,182,198,156,144, 2, 41, 4, 96,253, 44,254,237, 1, 19, 2,212,252,197,254,190, 56, 56,156,150,123,139, 0, + 0, 2, 0,114,255,238, 4, 92, 6, 20, 0, 11, 0, 44, 0, 0, 1, 50, 54, 53, 52, 38, 39, 38, 6, 21, 20, 22, 3, 20, 33, 32, + 25, 1, 51, 17, 16, 37, 36, 17, 52, 53, 54, 55, 38, 55, 18, 5, 22, 21, 20, 7, 6, 39, 22, 23, 22, 55, 21, 7, 6, 1,215, 36, + 28, 33, 31, 37, 27, 32,130, 1, 47, 1, 64,184,254, 8,254, 15, 3,162,166, 1, 1, 1,108,180,192,126, 46, 2, 90, 65,144,141, +147, 3,164, 32, 32, 36, 27, 1, 1, 33, 32, 36, 28,253,140,174, 1,184, 3,218,252, 38,253,180, 1, 1, 1, 61, 2, 1,145, 81, +109,234, 1, 46, 2, 1,176,186, 2, 1,117,189, 71, 52, 12,161, 23, 24, 0, 0, 0, 2, 0,100,255,238, 4,109, 4,140, 0, 11, + 0, 43, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 5, 38, 33, 32, 19, 18, 33, 32, 23, 7, 38, 7, 4, 23, 22, 5, + 4, 3, 2, 37, 36, 38, 55, 54, 23, 22, 21, 20, 7, 22, 55, 54, 1, 61, 36, 28, 32, 32, 36, 28, 32, 2, 87, 1,254,189,253,243, + 1, 1, 2, 21, 1, 54,184,116,177,211,254,169, 3, 5, 1,109, 1,225, 3, 2,254, 50,254,167,223, 1, 1,210,224, 22, 74,142, +219, 1, 88, 32, 32, 36, 28, 32, 32, 36, 28, 16,232, 1, 56, 1, 36,220,123,188, 1, 2,138,158, 1, 1,254,144,254,154, 1, 1, +178,123,204, 1, 1,209, 78, 20, 38, 1, 2, 0, 0, 2, 0, 96,255,238, 4,112, 4,141, 0, 11, 0, 46, 0, 0, 37, 34, 6, 21, + 20, 22, 51, 50, 54, 53, 52, 38, 1, 4, 25, 1, 20, 37, 38, 2, 39, 38, 7, 22, 7, 6, 39, 38, 55, 18, 33, 50, 18, 55, 54, 53, + 17, 16, 33, 34, 7, 6, 7, 39, 54, 55, 54, 1, 70, 37, 27, 32, 32, 36, 28, 32, 1, 8, 2, 2,254,244,232, 87,139, 68, 12,227, + 2, 2,207,250, 1, 1, 1, 78,232, 98,102, 80,254,198,229, 39, 26, 2,183, 6, 17, 71,248, 33, 31, 36, 28, 32, 32, 36, 27, 3, +149, 1,254,137,253,212,250, 1, 1, 1,221, 2, 1, 84, 1,183,214, 1, 1,235, 1,137,254, 30, 2, 2,174, 1,168, 1, 24,114, + 74, 99, 20,111, 60,249, 0, 0, 0, 2, 0,111,255,228, 4, 98, 4,123, 0, 5, 0, 31, 0, 0, 1, 34, 20, 51, 50, 54, 1, 18, + 33, 32, 25, 1, 16, 37, 38, 36, 39, 52, 23, 50, 23, 22, 7, 22, 51, 32, 53, 17, 52, 33, 32, 7, 1, 80, 64, 64, 60, 8,254,244, + 41, 1,189, 1,244,254, 34,240,254,220, 1,229,217, 4, 1, 70, 25,127, 1, 30,254,204,254,233, 24, 1, 84,128,128, 1,206, 1, + 89,254,215,253,184,254,217, 2, 1,156,143,211, 1,215, 61, 73, 8,216, 1,196,204,213, 0, 0, 0, 3, 0, 97,255,238, 5, 35, + 5,156, 0, 11, 0, 50, 0, 58, 0, 0, 37, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 37, 17, 6, 33, 36, 55, 54, 33, 32, 23, + 54, 39, 38, 39, 55, 22, 23, 22, 7, 17, 20, 37, 38, 2, 39, 38, 7, 22, 7, 6, 39, 38, 55, 18, 33, 50, 18, 55, 54, 1, 32, 53, + 52, 33, 32, 21, 20, 1, 72, 38, 26, 32, 32, 36, 28, 32, 2, 74, 70,254,234,254, 10, 2, 2, 1,242, 1,142,114, 28, 2, 11, 99, +158,128, 2, 2,178,254,244,232, 88,138, 68, 12,226, 2, 2,206,251, 1, 2, 1, 78,232, 98,102, 80,254,164, 1,116,254,140,254, +182,248, 33, 31, 36, 28, 32, 32, 36, 27, 61, 1,153, 14, 1,252,233,154, 49, 18, 84,132,118,174,160,146,151,253,195,250, 1, 1, + 1,221, 2, 1, 84, 1,183,214, 1, 1,235, 1,137,254, 30, 2, 2, 2,209, 69,109, 77,100, 0, 0, 3, 0, 19,255,231, 4,189, + 4,154, 0, 6, 0, 13, 0, 54, 0, 0, 0, 34, 21, 6, 51, 50, 55, 36, 34, 21, 6, 51, 50, 55, 3, 36, 17, 16, 55, 38, 55, 54, + 23, 22, 7, 14, 1, 17, 20, 51, 54, 53, 17, 6, 43, 1, 38, 55, 54, 51, 50, 23, 54, 55, 54, 25, 1, 35, 17, 52, 35, 34, 7, 19, + 16, 1, 26,128, 1, 65, 63, 1, 1,145,128, 1, 65, 63, 1,238,254, 96,130,140, 1, 1,198,190, 1, 1,186,223,225, 20, 29, 2, +185, 1, 1,166,162, 53, 64, 86,247,184, 67, 63, 47, 1, 4, 26, 64, 64, 64, 76, 64, 64, 64,252, 2, 1, 1, 69, 1, 62,169, 47, +153,181, 1, 1,178,125,204,254,159,182, 1,181, 2, 8, 9, 6,183,169, 99, 98, 1, 4,254,186,252,169, 3, 87,157, 90,253,154, +254,179, 0, 0, 0, 3, 0,119,255,238, 4,106, 4,141, 0, 11, 0, 37, 0, 45, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, + 52, 38, 55, 36, 17, 16, 5, 4, 25, 1, 20, 37, 38, 39, 38, 55, 54, 23, 22, 21, 20, 7, 22, 51, 32, 53, 17, 6, 19, 52, 5, 4, + 7, 6, 5, 4, 1, 92, 36, 28, 32, 32, 37, 27, 32,244,254, 7, 1,249, 1,250,254, 10,202,170,134, 1, 1,220,237, 61, 65, 56, + 1, 41, 83, 85,254,196,254,192, 1, 1, 1, 66, 1, 60, 1, 83, 32, 32, 37, 27, 34, 30, 36, 28,208, 1, 1, 51, 1, 54, 1, 1, +254,209,253,140,251, 2, 1, 72, 57,170,215, 1, 1,216, 71, 41, 35,175, 1, 36, 54, 1, 55,156, 1, 1,154,159, 1, 1, 0, 0, + 0, 2, 0, 84,255,238, 4,218, 4,216, 0, 11, 0, 54, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 1, 36, 39, 38, + 37, 36, 55, 54, 33, 50, 23, 22, 51, 50, 19, 23, 2, 7, 6, 39, 38, 35, 34, 23, 22, 5, 4, 3, 2, 37, 36, 39, 38, 55, 54, 23, + 22, 21, 20, 21, 6, 7, 22, 1, 50, 36, 28, 32, 32, 37, 27, 32, 1, 0, 1, 84, 1, 1,254,192,253,254, 3, 3, 1,158,136, 92, +111, 69,104, 64,148, 77,243,135,113, 75, 85,210, 5, 5, 1, 80, 1,230, 1, 1,253,240,254,236,136,110, 1, 1,224,215, 1, 94, +153, 1,139, 32, 32, 37, 27, 34, 30, 37, 27,254,249, 2,254,195, 43, 68,231,252, 89,108, 1, 4, 48,254,149, 1, 1,121, 80, 94, +100, 54, 81,254,193,254,113, 2, 1,116, 94,125,223, 1, 1,214, 2, 1, 93, 70, 28, 0, 0, 0, 0, 2, 0, 48,255, 38, 4,169, + 4,161, 0, 3, 0, 36, 0, 0, 0, 34, 20, 50, 3, 39, 1, 0, 39, 38, 15, 1, 6, 39, 36, 3, 2, 33, 32, 7, 6, 39, 38, 53, + 34, 21, 20, 51, 50, 63, 1, 54, 23, 22, 21, 20, 1, 2, 42,128,128,202,129, 2, 43, 1, 24, 61, 25,120,165,130,215,254,226, 7, + 9, 1,136, 1, 15, 1, 1,211,212, 35,101,115, 90,140,175,104,224,254,225, 4, 13,128,251,153,134, 2, 78, 1, 41, 61, 25,137, +187,147, 1, 1, 1,109, 1,144,206,216, 3, 4,205,205,195,100,157,196, 2, 5,189,157,254,207,255,255, 0, 90,255,229, 4,101, + 4,128, 16, 39, 4,101, 4,209,250,201, 16, 7, 4,101, 4,209,253,117, 0, 0, 0, 2,251,137, 5, 28,255,148, 7, 11, 0, 19, + 0, 26, 0, 0, 3, 2, 33, 32, 38, 55, 54, 23, 50, 7, 6, 7, 22, 51, 36, 53, 52, 39, 55, 22, 4, 52, 7, 34, 21, 6, 23,109, + 2,254, 5,254,182,195, 1, 1,229,241, 3, 1, 35, 33, 65, 1, 28, 86,138,168,253, 28, 66, 56, 1, 63, 6, 29,254,255,168,107, +217, 1,216, 80, 36, 4, 1, 85, 46, 70,138,143,140,126, 1, 62, 61, 1, 0, 0, 0, 2, 0,157, 0, 0, 4, 33, 4,123, 0, 16, + 0, 22, 0, 0, 1, 32, 25, 1, 35, 17, 16, 35, 34, 7, 50, 21, 20, 35, 34, 53, 16, 18, 20, 51, 50, 52, 35, 2,106, 1,183,184, +255,164, 61,218,229,225,166, 59, 67, 62, 4,123,254,106,253, 27, 2,203, 1, 25, 86,193,199,199, 1,174,254,137,110,110, 0, 0, +255,255,252,197, 0, 0, 4, 33, 6,114, 16, 38, 4,102, 0, 0, 16, 7, 4,117,251, 47, 0, 0, 0, 1, 0, 83, 4,236, 4,126, + 7,105, 0, 17, 0, 0, 1, 20, 33, 21, 32, 17, 16, 33, 32, 17, 16, 33, 53, 32, 55, 52, 33, 32, 1, 18, 1, 36,254, 30, 2, 38, + 2, 4,254, 62, 1, 2, 2,254,186,254,152, 6, 37,187,126, 1, 63, 1, 62,254,194,254,193,126,187,197, 0, 0, 0, 1, 0, 83, + 4,230, 5, 19, 7,105, 0, 21, 0, 0, 1, 20, 33, 21, 32, 17, 16, 33, 32, 17, 20, 7, 51, 21, 33, 61, 1, 32, 55, 52, 33, 32, + 1, 17, 1, 37,254, 29, 2, 38, 2, 4, 62,212,253,169, 1, 1, 2,254,186,254,152, 6, 37,187,126, 1, 63, 1, 62,254,194,119, + 74,132, 6,126,187,197, 0, 0, 0, 2, 0, 83, 4,236, 4,126, 7,105, 0, 17, 0, 21, 0, 0, 1, 20, 33, 21, 32, 17, 16, 33, + 32, 17, 16, 33, 53, 32, 55, 52, 33, 32, 5, 21, 35, 53, 1, 18, 1, 36,254, 30, 2, 38, 2, 4,254, 62, 1, 2, 2,254,186,254, +152, 1,222,238, 6, 37,187,126, 1, 63, 1, 62,254,194,254,193,126,187,197, 78,220,220, 0, 0, 0, 2, 0, 83, 4,230, 5, 19, + 7,105, 0, 21, 0, 25, 0, 0, 1, 20, 33, 21, 32, 17, 16, 33, 32, 17, 20, 7, 51, 21, 33, 61, 1, 32, 55, 52, 33, 32, 5, 21, + 35, 53, 1, 17, 1, 37,254, 29, 2, 38, 2, 4, 62,212,253,169, 1, 1, 2,254,186,254,152, 1,221,238, 6, 37,187,126, 1, 63, + 1, 62,254,194,119, 74,132, 6,126,187,197, 84,220,220, 0, 0, 0, 2, 1,207,253, 51, 3,135,255,178, 0, 4, 0, 21, 0, 0, + 4, 34, 20, 51, 54, 3, 54, 53, 52, 39, 6, 35, 34, 53, 52, 51, 50, 23, 22, 21, 20, 7, 2,191,130, 65, 65, 92,144, 5, 40, 68, +179,170,101, 78, 91,204,188,129, 1,254,207,111, 91, 17, 16, 36,158,186, 78, 91,139,117,214, 0, 0, 2, 1,120,253,142, 3,153, +255,175, 0, 5, 0, 26, 0, 0, 4, 34, 20, 51, 50, 53, 19, 34, 53, 52, 55, 38, 53, 52, 50, 21, 20, 6, 21, 20, 51, 50, 53, 17, + 51, 17, 20, 2, 5, 44, 23, 21,114,243, 62, 74,234,109,130,158,132,178, 44, 21,254, 87,146,115, 62, 10, 91,121,117, 63,123, 69, + 66, 88, 1, 70,254,186,195, 0, 0, 2, 0, 68, 5, 28, 4,141, 7, 11, 0, 20, 0, 27, 0, 0, 1, 22, 7, 39, 54, 53, 54, 37, + 34, 7, 22, 7, 6, 7, 6, 39, 38, 55, 54, 33, 32, 0, 52, 7, 34, 23, 20, 51, 4,140, 1,168,138, 86, 1,254,165, 65, 33, 46, + 10, 21,217,229, 1, 1,123,120, 1, 26, 2, 57,252,225, 60, 63, 1, 56, 6, 10, 95,143,138, 70, 46, 85, 1, 4, 68, 87,176, 1, + 1,217, 84, 95, 96,254,174,126, 1, 63, 61, 0, 0, 2,255,240,253,199, 4,225,255,177, 0, 7, 0, 26, 0, 0, 19, 50, 53, 52, + 35, 34, 21, 20, 5, 34, 2, 35, 22, 21, 20, 35, 34, 53, 16, 33, 50, 18, 51, 50, 55, 23, 6,176, 48, 48, 43, 2,201,218,172,184, + 92,196,184, 1, 76,222,222, 96, 93,166,134,191,254, 78, 48, 47, 46, 49,105, 1, 51, 32,114,191,167, 1, 67,254,208,198,114,240, + 0, 1, 2, 14, 4,241, 2,195, 6, 86, 0, 3, 0, 0, 1, 51, 17, 35, 2, 14,180,180, 6, 86,254,155, 0, 0, 0, 2, 0, 86, + 4,224, 4,123, 7, 33, 0, 7, 0, 27, 0, 0, 19, 22, 39, 54, 7, 34, 23, 6, 37, 20, 2, 41, 1, 53, 54, 53, 6, 55, 52, 23, + 22, 29, 1, 20, 7, 32, 54, 53,241, 42, 1, 1, 42, 44, 2, 2, 3,181,214,254,132,254, 85,144,183, 1,157,145, 71, 1,177,243, + 6,109, 1, 43, 43, 2, 41, 44,125,229,254,221,133, 46,112, 7,157,136, 1, 1,131,183, 92, 40,141,250, 0, 0, 0, 1, 0, 95, + 4,199, 5, 80, 6,243, 0, 52, 0, 0, 1, 34, 17, 16, 33, 50, 22, 55, 54, 55, 54, 51, 50, 21, 20, 7, 22, 55, 54, 55, 51, 6, + 7, 6, 33, 35, 53, 54, 53, 52, 35, 34, 7, 6, 39, 38, 39, 38, 35, 34, 21, 20, 59, 1, 38, 53, 52, 51, 22, 7, 6, 7, 6, 1, + 80,240, 1, 36, 50,126, 42, 38, 74, 72, 72,220,158,132, 66, 80, 4,154, 2,104, 40,254,226,196,208, 76, 24, 66, 68, 92,106, 36, + 62, 24,146,102, 62, 46, 96,104, 2, 2, 62, 52, 4,200, 1, 20, 1, 23,130, 1, 1, 65, 63,215,126, 61, 4, 13, 16,104,130, 92, + 36,133,107, 98, 56, 58, 59, 1, 1, 45, 70,144,161, 2, 95, 90, 1,107,102, 50, 41, 0, 0, 0, 0, 1, 1, 73, 4,224, 3,136, + 7, 30, 0, 11, 0, 0, 1, 53, 51, 53, 51, 21, 51, 21, 35, 21, 35, 53, 1, 74,216,142,216,216,142, 5,184,142,216,216,142,216, +216, 0, 0, 0,255,255,255,240, 5, 23, 4,225, 7, 1, 16, 7, 4,111, 0, 0, 7, 80, 0, 0, 0, 2, 1,150, 4,246, 3, 59, + 6,114, 0, 7, 0, 12, 0, 0, 1, 52, 51, 50, 21, 20, 35, 34, 18, 20, 51, 50, 52, 1,150,212,208,212,208,132, 76, 84, 5,190, +180,180,200, 1, 16,144,144, 0, 0, 1, 0,160, 0, 0, 4, 51, 4,122, 0, 21, 0, 0, 1, 2, 33, 32, 17, 52, 55, 51, 6, 21, + 16, 33, 32, 17, 52, 39, 36, 3, 51, 22, 23, 4, 4, 51, 1,254, 49,254, 61, 80,190, 85, 1, 15, 1, 17,189,254,220, 2,181, 1, +126, 1,105, 1,239,254, 17, 1,201,105, 98, 99, 87,254,183, 1, 79,214, 74,102, 1, 20,161, 51,130, 0, 0, 0, 0, 2, 0,158, + 0, 0, 4, 52, 6, 22, 0, 18, 0, 26, 0, 0, 1, 16, 33, 32, 3, 18, 37, 53, 54, 39, 38, 53, 51, 20, 23, 22, 29, 1, 4, 3, + 18, 33, 4, 17, 16, 33, 32, 4, 52,254, 60,254, 49, 3, 3, 1,131, 1,163,141,181,126,161, 1,107,188, 1,254,239,254,241, 1, + 22, 1, 9, 2, 32,253,224, 2, 33, 1,171, 84,138,120, 28, 27,189, 89, 27, 57,185,144,118,254,119, 1,115, 3,254,149,254,107, + 0, 2, 0,110,254, 87, 4, 98, 4, 21, 0, 25, 0, 33, 0, 0, 37, 16, 33, 32, 17, 18, 37, 54, 55, 52, 35, 34, 23, 20, 23, 7, + 38, 53, 16, 33, 32, 3, 20, 7, 21, 4, 3, 16, 37, 32, 3, 16, 37, 4, 4, 97,254, 9,254, 4, 1, 2, 28,108, 2,213,183, 1, + 15,137, 46, 1, 95, 1,139, 1,122, 1, 45,179,254,190,254,182, 2, 1, 70, 1, 72, 43,254, 44, 1,212, 1,205, 5, 83,169,142, +139, 46, 43, 82, 76,111, 1, 9,254,219,164, 84, 20,110,254,181, 1, 66, 1,254,189,254,192, 1, 1, 0, 0, 0, 0, 2, 0, 55, +254, 87, 4,154, 4, 12, 0, 33, 0, 44, 0, 0, 23, 54, 55, 53, 0, 17, 16, 5, 50, 23, 51, 54, 51, 32, 17, 21, 16, 33, 32, 17, + 53, 52, 43, 1, 34, 17, 21, 16, 0, 23, 7, 38, 36, 7, 1, 53, 52, 43, 1, 34, 29, 1, 16, 51, 50,221, 40, 84,254,222, 1, 88, + 91, 80, 20, 60,170, 1,102,254,166,254,170, 73, 43,129, 2,121,104,202, 90,254,203,116, 2,212,149, 71,119,186,153,225, 44, 18, + 11, 1, 22, 1,200, 1,198, 1, 98, 98,254, 43, 20,254, 6, 2, 15,234, 93,254,196,109,254, 76,254,255,200, 1,167, 14, 86, 3, + 3,212,241,182,247,254,232, 0, 0, 1, 0,160,254, 87, 4, 51, 4, 22, 0, 26, 0, 0, 5, 2, 33, 32, 17, 52, 55, 51, 6, 21, + 16, 33, 32, 53, 17, 16, 32, 21, 20, 23, 7, 38, 53, 16, 5, 32, 19, 4, 51, 1,254, 73,254, 37,141,188,144, 1, 36, 1, 6,254, + 38, 62,176, 56, 1,150, 1,157, 1, 32,254,119, 1,146,143,106,115,133,254,251,241, 2,164, 1, 13,222,111,101, 1, 75,133, 1, +114, 1,254,100, 0, 1, 0,158,254, 87, 4, 50, 4, 21, 0, 39, 0, 0, 5, 16, 33, 32, 3, 54, 55, 51, 6, 21, 16, 33, 32, 61, + 1, 52, 43, 1, 53, 51, 22, 55, 52, 35, 32, 7, 22, 23, 35, 38, 53, 16, 33, 32, 17, 20, 7, 21, 22, 17, 4, 50,254, 52,254, 58, + 2, 2,105,192,112, 1, 13, 1, 20,237, 73, 73,226, 1,225,254,252, 1, 1, 45,161, 60, 1,177, 1,158,229,237, 45,254,132, 1, +152, 93,109,120, 82,254,246,223, 98,243,140, 1,240,243,202, 88,120, 82,126, 1, 88,254,123,209, 92, 20, 43,254,254, 0, 0, 0, + 0, 3, 0,158, 0, 0, 4, 50, 6, 20, 0, 17, 0, 24, 0, 32, 0, 0, 1, 2, 33, 32, 17, 16, 55, 53, 38, 55, 2, 33, 32, 17, + 6, 7, 21, 4, 3, 16, 5, 4, 19, 2, 32, 3, 52, 39, 34, 21, 6, 23, 54, 4, 50, 1,254, 53,254, 56,200,200, 1, 1, 1, 84, + 1, 87, 1, 92, 1, 70,185,254,235,254,245, 1, 1, 2, 32,205,190,168, 1,186,175, 1,248,254, 8, 1,249, 1, 73, 74, 20, 58, +233, 1, 81,254,189,155, 85, 20, 45,254, 92, 1,112, 2, 1,254,144,254,152, 4, 33,212, 2,214,218, 1, 1, 0, 0, 2, 0, 55, + 0, 0, 4,154, 4, 11, 0, 26, 0, 37, 0, 0, 1, 21, 16, 7, 35, 54, 17, 53, 16, 43, 1, 34, 29, 1, 16, 33, 32, 17, 53, 16, + 33, 50, 23, 51, 54, 51, 32, 1, 17, 54, 35, 7, 38, 17, 21, 16, 51, 50, 4,154,239,162,212,132, 33, 83,254,203,254,135, 1,125, +146, 71, 14, 74,116, 1, 65,253,170, 2, 70, 87,180,165,172, 2, 72, 67,254,162,167,174, 1, 66,117, 1, 25,182,220,254, 20, 2, + 7, 30, 1,230, 99, 99,253,121, 1,105,145, 1, 1,254,239,189,254,225, 0, 0, 0, 1, 0,159, 0, 0, 4, 51, 4, 21, 0, 17, + 0, 0, 1, 16, 7, 35, 18, 3, 16, 33, 32, 17, 16, 19, 35, 38, 19, 2, 33, 32, 4, 50,240,146,201, 1,254,252,254,230,198,148, +238, 2, 2, 1,210, 1,195, 2, 35,254,165,200, 1, 4, 1, 31, 1, 99,254,160,254,230,254,244,207, 1, 90, 1,236, 0, 0, 0, + 0, 1, 0,158,254, 89, 4, 52, 4, 2, 0, 31, 0, 0, 5, 2, 33, 32, 17, 52, 55, 51, 6, 21, 16, 33, 32, 61, 1, 16, 43, 1, + 53, 51, 50, 53, 52, 33, 53, 32, 17, 22, 5, 21, 4, 19, 4, 52, 1,254, 67,254, 40,112,173, 98, 1, 29, 1, 2,238, 65, 65,228, +254, 90, 2, 90, 1,254,245, 1, 26, 2, 30,254,119, 1,167,139,102,113,128,254,230,252, 50, 1, 16,152,198,230,154,254,128,208, + 49, 20, 49,254,216, 0, 0, 0, 0, 1, 0,160,254, 87, 4, 50, 4, 21, 0, 27, 0, 0, 1, 32, 17, 16, 0, 21, 35, 38, 36, 7, + 39, 54, 63, 1, 2, 17, 16, 33, 32, 17, 20, 6, 23, 7, 38, 54, 53, 16, 2,108,254,237, 2, 95,190, 36,254,179, 94, 77, 62,112, + 13,249, 1,204, 1,198,118, 20,159, 20, 92, 3,136,254,189,254, 89,254, 49,120,176, 79,104, 95, 91, 13, 14, 1, 5, 1,130, 1, +203,254, 41,101,181,156, 1,157,168,117, 1, 71, 0, 2, 0,158, 0, 0, 4, 52, 6, 21, 0, 21, 0, 28, 0, 0, 1, 16, 33, 32, + 17, 16, 33, 50, 23, 51, 17, 52, 33, 6, 29, 1, 35, 53, 16, 33, 32, 17, 3, 16, 32, 17, 2, 33, 32, 4, 52,254, 69,254, 37, 1, +203,196, 68, 20,254,228,232,187, 1,163, 1,203,188,253,226, 1, 1, 30, 1, 1, 1,239,254, 17, 2, 13, 2, 9,125, 1, 2,237, + 1,152, 62, 62, 1, 38,254,134,253, 84, 1,151,254,137,254,130, 0, 2, 0,158, 0, 0, 4, 51, 5,251, 0, 17, 0, 25, 0, 0, + 1, 18, 33, 32, 25, 1, 2, 41, 1, 21, 33, 34, 21, 17, 51, 54, 51, 4, 3, 16, 33, 32, 17, 16, 37, 4, 4, 50, 1,254, 50,254, + 58, 1, 1, 77, 1,206,254, 30,141, 35, 64,184, 1,205,185,254,234,254,239, 1, 17, 1, 22, 2, 36,253,220, 1,234, 2,182, 1, + 91,143,176,254,218,128, 1,254, 12, 1,103,254,133,254,132, 1, 1, 0, 0, 0, 0, 1, 0, 55, 0, 0, 4,154, 4, 11, 0, 35, + 0, 0, 1, 20, 7, 35, 54, 53, 17, 52, 7, 35, 34, 21, 17, 35, 17, 52, 43, 1, 34, 21, 17, 6, 23, 35, 38, 61, 1, 16, 33, 50, + 23, 51, 54, 51, 32, 17, 4,154,188,179,179,153, 75, 64,160, 66, 77,148, 2,203,194,199, 1,123,104, 73, 17, 70, 96, 1,128, 1, +198,236,218,192,207, 1, 25,215, 1,207,254,235, 1, 21,207,228,254,252,214,192,225,236,102, 1,216,104,104,254, 38, 0, 0, 0, + 0, 1, 0,159, 0, 0, 4, 52, 6, 15, 0, 33, 0, 0, 1, 16, 33, 32, 19, 52, 55, 51, 6, 21, 16, 33, 32, 17, 16, 33, 35, 53, + 51, 50, 55, 52, 37, 36, 53, 51, 20, 23, 4, 17, 20, 7, 21, 22, 4, 52,254, 68,254, 39, 1,101,175, 91, 1, 31, 1, 0,254,236, + 63, 82,215, 1,254,233,254,220,172,239, 1, 87,186,232, 1,218,254, 38, 1,178,183, 90,126,147,254,223, 1, 73, 1, 74,135,200, +149, 33, 54,176, 71, 41, 41,254,251,203, 61, 20,105, 0, 0, 0, 0, 1, 0,159,254, 89, 4, 51, 4, 50, 0, 23, 0, 0, 5, 2, + 33, 32, 3, 51, 6, 33, 32, 25, 1, 5, 21, 22, 21, 16, 5, 53, 32, 39, 18, 37, 53, 37, 4, 51, 1,254, 48,254, 62, 1,187, 1, + 1, 4, 1, 39,254, 77,221,253,241, 1,104, 1, 1,254,152, 3,148, 18,254,107, 1,111,227, 1, 11, 3,168, 52, 60, 89,238,254, +206, 1,167,140, 1, 3, 75,130,129, 0, 0, 0, 0, 1, 0, 55, 0, 0, 4,154, 6, 21, 0, 41, 0, 0, 1, 21, 20, 7, 35, 54, + 61, 1, 16, 43, 1, 34, 21, 17, 35, 19, 54, 43, 1, 34, 17, 21, 20, 23, 35, 38, 17, 53, 52, 0, 37, 23, 4, 3, 51, 55, 50, 23, + 51, 54, 51, 32, 4,154,208,197,216,132, 88, 65,160, 1, 1, 74,124,103,230,210,210, 1, 90, 1,167, 25,254,150,218, 24, 86,165, + 72, 15, 73,160, 1, 58, 2, 84,142,244,210,184,219,193, 1, 42,167,254,195, 1, 61,167,254,219,165,252,184,210, 1, 24,103,251, + 2, 78,123,148, 82,254,159, 61, 98, 98, 0, 0, 0, 1, 0,159, 0, 0, 4, 51, 5,241, 0, 21, 0, 0, 1, 16, 33, 32, 25, 1, + 51, 17, 16, 33, 32, 17, 52, 36, 53, 52, 55, 23, 6, 21, 20, 4, 4, 51,254, 61,254, 47,182, 1, 27, 1, 9,254,241,206, 87,142, + 1, 50, 2, 3,253,253, 2, 3, 3,238,252, 18,254,142, 1,114,175,161,103,148,125,124, 56, 59, 67,188, 0, 0, 0, 2, 0, 45, +254, 89, 4,164, 4,234, 0, 10, 0, 21, 0, 0, 19, 16, 37, 3, 51, 3, 4, 17, 2, 33, 32, 19, 16, 33, 32, 17, 16, 37, 19, 35, + 19, 4, 45, 1,250, 15,166, 15, 1,245, 2,253,202,253,193,188, 1,127, 1,134,254,193, 15,165, 14,254,194, 1, 34, 2,117, 82, + 1, 1,254,251, 78,253,133,253, 61, 2,201,253,195, 2, 61, 1,231,111,253,229, 2, 26,110, 0, 0, 1, 0, 55,254, 89, 4, 74, + 4, 12, 0, 41, 0, 0, 5, 2, 33, 32, 17, 52, 55, 51, 6, 21, 16, 33, 32, 53, 17, 52, 35, 6, 17, 7, 35, 39, 16, 39, 14, 1, + 35, 34, 39, 55, 22, 51, 50, 54, 51, 50, 23, 51, 54, 23, 36, 19, 4, 74, 2,254, 77,254, 31,145,179,138, 1, 39, 1, 3,130,132, + 10,133, 9,110, 62, 62, 62, 72, 83, 50, 62, 43, 51, 60, 76,103, 69, 20, 72,137, 1, 43, 1, 43,254,132, 1,164,159, 90,123,126, +254,232,240, 2,234,191, 1,254,242,193,193, 1, 14, 1, 1,134, 95,181, 98, 99,184,184, 1, 1,254,179, 0, 0, 0, 2, 0, 55, +254, 87, 4,157, 4, 11, 0, 45, 0, 56, 0, 0, 5, 16, 33, 35, 32, 17, 51, 20, 59, 1, 32, 61, 1, 52, 39, 35, 53, 51, 54, 61, + 1, 52, 43, 1, 34, 29, 1, 16, 33, 4, 17, 53, 16, 33, 50, 23, 51, 54, 51, 32, 17, 20, 7, 21, 22, 21, 1, 52, 43, 1, 34, 17, + 21, 16, 51, 50, 17, 4,157,254, 52, 56,254, 82,183,249, 47, 1, 22, 57, 80, 80, 54,100, 83, 59,254,190,254,142, 1,119,138, 67, + 17, 96,139, 1, 35,158,161,253,165, 94, 77,162,176,157, 61,254,148, 1,133,247,222,101,166, 2,151, 1,148,182,204,123,202,254, + 32, 1, 1,153,128, 1,154, 99, 99,254,109,251, 84, 20, 91,142, 2,171,167,254,250,120,254,215, 1, 5, 0, 0, 0, 1, 0,160, +254, 87, 4, 49, 5,241, 0, 30, 0, 0, 37, 16, 33, 32, 17, 52, 55, 23, 6, 21, 16, 33, 32, 3, 19, 16, 5, 38, 21, 20, 23, 35, + 38, 53, 16, 33, 22, 23, 51, 19, 51, 4, 49,254, 84,254, 27,134,176,125, 1, 41, 1, 1, 1, 2,254,223,197, 82,179, 70, 1,113, +142,124, 17, 1,173, 67,254, 20, 1,169,132,100, 1,121,113,254,232, 1, 94, 1, 40, 2, 30, 3, 3,164,182, 89,111,160, 1, 49, + 1,189, 2,153, 0, 1, 0, 55,254, 86, 4,154, 4, 12, 0, 43, 0, 0, 23, 54, 55, 53, 0, 17, 53, 16, 33, 22, 23, 51, 54, 55, + 4, 17, 21, 20, 15, 1, 54, 61, 1, 52, 43, 1, 34, 21, 17, 35, 17, 52, 43, 1, 34, 17, 21, 16, 0, 23, 39, 38, 36, 7,237, 57, + 65,254,208, 1, 95,131, 74, 16, 70,149, 1, 76,169,140,120,134,100, 58,160, 65, 76,151, 2,150, 69,203, 25,254,196,130,201, 83, + 2, 22, 1, 5, 1, 39, 80, 1,238, 1,103,103, 1, 1,254, 63, 70,244,177, 1,167,174,219,240,175,254,203, 1, 53,175,254,250, +138,254,141,254,179,216, 1,142,112,122, 0, 0, 0, 1, 0,158,254, 89, 4, 50, 3,247, 0, 26, 0, 0, 5, 16, 33, 32, 17, 51, + 16, 5, 36, 61, 1, 35, 6, 35, 32, 17, 16, 37, 51, 4, 21, 16, 33, 32, 53, 17, 51, 4, 50,254, 70,254, 38,188, 1, 30, 1, 7, + 20, 88,175,254, 58, 1, 23,216,254,204, 1, 11, 1, 27,179, 47,254,136, 1,144,254,252, 1, 1,240,244, 98, 1,229, 1, 4,167, +206,221,254,175,235, 2, 9, 0, 0, 2, 0, 55, 0, 0, 4, 52, 6, 20, 0, 31, 0, 39, 0, 0, 1, 16, 33, 32, 3, 16, 37, 22, + 23, 51, 17, 52, 35, 34, 29, 1, 35, 53, 52, 35, 34, 21, 35, 16, 51, 50, 23, 51, 54, 51, 32, 11, 1, 2, 33, 32, 19, 2, 33, 50, + 4, 52,254, 89,254, 18, 1, 1,198,193, 70, 20,142,141,157,160, 85,155,220,186, 63, 20, 58,172, 1, 46, 2,184, 1,254,233,254, +247, 1, 1, 1, 56,232, 1,221,254, 35, 2, 13, 2, 8, 1, 1,129, 1, 33,213,210, 33, 35,208,226, 1,108,193,193,254,192,253, + 47, 1,133,254,133,254,132, 0, 0, 2, 0,158, 0, 0, 4, 52, 6, 20, 0, 19, 0, 29, 0, 0, 1, 22, 19, 2, 5, 35, 36, 19, + 16, 37, 36, 25, 1, 35, 19, 16, 33, 32, 19, 22, 39, 38, 35, 34, 21, 17, 51, 54, 5, 54, 3, 77,230, 1, 1,254,233,178, 1, 14, + 1,254,250,254,221,178, 2, 1,112, 1,127, 30, 1,164, 30,217,195, 30, 63, 1, 37, 56, 3,218,104,254,146,254,184,188,199, 1, + 65, 1,106, 1, 19,254,197,253,181, 4,190, 1, 86,254,199, 96, 77,191,214,254,228,128, 30,134, 0, 1, 0, 86,254, 89, 4,122, + 4, 37, 0, 35, 0, 0, 1, 20, 7, 21, 22, 21, 2, 33, 32, 17, 53, 16, 19, 23, 6, 3, 21, 18, 33, 32, 3, 54, 43, 1, 53, 51, + 50, 39, 54, 39, 38, 39, 51, 20, 23, 22, 4, 92,171,201, 2,253,247,253,231,209,145,164, 1, 1, 1, 92, 1, 88, 1, 1,183,184, +176,164, 1, 1,161,143, 1,183,130,167, 2,133,153, 88, 20,123,191,254, 19, 2,195, 97, 1, 68, 1,100, 76,250,254,219,158,253, +201, 1,130,218,136,184,119, 47, 46,173,125, 46, 56, 0, 0, 0, 0, 2, 0,158, 0, 0, 4, 52, 5,241, 0, 11, 0, 19, 0, 0, + 1, 18, 33, 32, 17, 16, 33, 50, 23, 51, 17, 51, 3, 16, 33, 32, 17, 16, 33, 32, 4, 51, 2,254, 47,254, 58, 1,198,215, 50, 20, +178,186,254,234,254,246, 1, 9, 1, 23, 2, 5,253,251, 1,253, 2, 25,115, 2, 78,252, 22, 1,128,254,118,254,148, 0, 0, 0, + 0, 2, 0,160, 0, 0, 4,156, 6, 20, 0, 31, 0, 39, 0, 0, 19, 2, 33, 50, 23, 51, 54, 51, 50, 17, 35, 52, 35, 34, 29, 1, + 35, 53, 52, 35, 34, 21, 17, 51, 54, 55, 32, 17, 2, 5, 32, 17, 55, 18, 51, 36, 3, 18, 5, 32,161, 2, 1, 48,172, 58, 20, 63, +186,218,153, 85,160,157,141,142, 20, 70,193, 1,193, 1,254, 43,254, 69,186, 1,252, 1, 34, 1, 1,254,249,254,233, 4,212, 1, + 64,193,193,254,148,226,208, 35, 33,210,213,254,223,129, 1,253,238,253,253, 1, 2, 15, 38,254, 92, 1, 1,114, 1,133, 1, 0, + 0, 2, 0,159,254, 89, 4, 52, 5,241, 0, 37, 0, 45, 0, 0, 5, 16, 33, 32, 19, 52, 55, 23, 6, 21, 20, 5, 32, 3, 52, 39, + 38, 39, 7, 32, 17, 16, 33, 23, 17, 51, 17, 22, 23, 51, 21, 35, 20, 15, 1, 22, 23, 22, 1, 20, 51, 22, 39, 54, 35, 38, 4, 52, +254, 52,254, 54, 2, 81,143, 38, 1, 14, 1, 17, 1,176,113, 3, 89,254,203, 1, 65, 77,157, 94, 1,184,189, 82, 1, 1,172,141, +253, 66,163,171, 1, 1,162,172, 20,254,109, 1,149,105, 94,105, 36, 73,250, 1, 1, 8,160, 99,111,102, 19, 1, 72, 1, 77, 9, + 1,180,254, 1, 59,105,162,105, 55, 72, 65,105, 97, 2, 66,201, 3,204,193, 1, 0, 2, 0,159, 0, 0, 4, 52, 5,241, 0, 11, + 0, 19, 0, 0, 1, 2, 33, 32, 25, 1, 51, 17, 51, 54, 51, 4, 3, 16, 33, 32, 17, 16, 33, 32, 4, 52, 1,254, 57,254, 51,171, + 41, 74,175, 1,200,187,254,242,254,238, 1, 20, 1, 12, 2, 13,253,243, 2, 13, 3,228,253,161,132, 1,253,248, 1,123,254,131, +254,134, 0, 0, 0, 1, 0,159,254, 89, 4, 52, 4,215, 0, 31, 0, 0, 37, 16, 33, 32, 17, 52, 55, 23, 6, 21, 16, 5, 32, 17, + 54, 39, 38, 39, 53, 37, 53, 5, 53, 51, 17, 5, 21, 37, 21, 20, 23, 22, 4, 52,254, 46,254, 61,107,144, 64, 1, 8, 1, 22, 1, +194,170, 1,254,185, 1, 71,146, 1, 80,254,176,215,190, 41,254, 48, 1,207,125,140, 89,105, 71,254,190, 1, 1, 66,173,157,171, +135,160,120,180,128,232,254,243,127,177,134,125, 72,186,183, 0, 0, 1, 0,158, 0, 0, 4, 52, 6, 20, 0, 43, 0, 0, 1, 16, + 33, 32, 17, 53, 51, 21, 2, 33, 32, 39, 52, 39, 35, 53, 51, 50, 53, 54, 43, 1, 53, 51, 50, 55, 52, 37, 38, 53, 51, 20, 5, 22, + 21, 20, 7, 21, 22, 21, 20, 7, 21, 22, 4, 52,254, 55,254, 51,188, 1, 1, 12, 1, 21, 2,108,251,251,100, 1,101,251,249, 91, + 1,255, 0,233,166, 1, 20,233,144,154,148,158, 1,104,254,152, 1,160,101,101,254,236,212,174, 1,150,122,115,152,132, 85, 32, + 33,208,120, 26, 26,190,140, 47, 20, 54,137,126, 58, 20, 95, 0, 0, 1, 0,118,254, 89, 4, 51, 6, 20, 0, 61, 0, 0, 5, 2, + 33, 32, 17, 16, 19, 54, 3, 51, 18, 3, 6, 3, 18, 33, 50, 39, 52, 39, 35, 53, 51, 54, 53, 52, 43, 1, 53, 51, 50, 53, 52, 7, + 35, 53, 51, 50, 53, 38, 39, 38, 39, 51, 20, 23, 22, 23, 6, 7, 21, 22, 23, 6, 7, 21, 22, 23, 6, 7, 21, 22, 4, 51, 1,254, + 84,253,240, 55, 54,104,185, 84, 37, 49, 1, 1, 1, 84,251, 2,134,136,136,134,132,138,138,132,134,136,136,134, 1,185,145, 1, +166,189,156, 1, 1,178,178, 1, 1,178,178, 1, 2,177,178,124,254,213, 1,216, 1, 43, 1, 13,227, 1, 63,254,249,254,229,225, +254,169,254,179,160,198, 2,142, 1,134,164,138,156,132, 1,145,142, 82, 33, 34,178, 72, 54, 49,152,165, 34, 20, 40,159,187, 30, + 20, 38,183,146, 48, 20, 58, 0, 0, 2, 0,160,254,243, 4, 52, 4, 22, 0, 17, 0, 25, 0, 0, 23, 50, 55, 36, 17, 18, 37, 32, + 17, 16, 5, 22, 55, 21, 36, 39, 6, 7, 19, 16, 5, 36, 3, 18, 33, 32,201,149, 80,254,242, 3, 1,197, 1,204,254,231, 92,143, +254,248,150,193,222,144, 1, 15, 1, 18, 1, 1,254,233,254,246, 60, 89,170, 1, 64, 2, 14, 1,253,241,254,192,170, 94, 5,209, + 69,194,193, 70, 3, 20,254,196, 85, 85, 1, 60, 1,127, 0, 0, 0, 1, 0,159,254, 87, 4, 52, 4, 21, 0, 29, 0, 0, 5, 2, + 5, 32, 17, 55, 23, 7, 18, 33, 32, 17, 53, 16, 5, 35, 53, 51, 32, 19, 39, 5, 21, 35, 17, 37, 16, 5, 4, 17, 4, 52, 1,254, + 48,254, 60, 31,180, 21, 1, 1, 10, 1, 14,254,194,114,114, 1, 30, 1, 2,254, 32,173, 3,108,254,236, 1, 20, 20,254,109, 2, + 1,149,111, 20, 91,254,249, 1, 7, 32, 1, 43, 1,160, 1,101, 74, 30,204, 1, 93, 29,254, 48,185,113,254,241, 0, 1, 0,159, +254, 87, 4, 52, 6, 22, 0, 36, 0, 0, 5, 16, 33, 32, 17, 51, 16, 33, 32, 17, 53, 52, 33, 35, 53, 51, 36, 17, 6, 35, 4, 17, + 16, 5, 21, 32, 21, 20, 33, 50, 55, 17, 18, 5, 21, 4, 21, 4, 52,254, 52,254, 55,190, 1, 11, 1, 13,254,237,156,156, 1, 20, +125,143,254, 53, 1,203,254,200, 1, 54,238,221, 1,254,203, 1, 53, 20,254,107, 1,149,254,248, 1, 8, 55,236,157, 11, 1,158, + 37, 3, 1,100, 1,133, 1,142,246,210,168,254,248,254,117,105, 20, 62,246, 0, 0, 3, 0,139, 0, 0, 4,124, 6, 21, 0, 23, + 0, 31, 0, 39, 0, 0, 1, 21, 16, 33, 32, 17, 16, 37, 33, 53, 33, 36, 17, 16, 33, 32, 17, 21, 51, 21, 35, 21, 51, 21, 37, 33, + 32, 21, 20, 33, 32, 53, 1, 20, 41, 1, 53, 52, 33, 32, 4, 10,254, 73,254, 56, 1,196, 1, 17,254,239,254, 60, 1,204, 1,179, +114,114,114,254,228,254,239,254,250, 1, 14, 1, 9,253,233, 1, 6, 1, 17,254,247,254,242, 2, 5,182,254,177, 1, 79, 1,102, + 2,161, 1, 1,107, 1, 81,254,175,216,148,161,178, 30,206,201,211, 3, 99,214,216,195, 0, 0, 0, 2, 0, 55,254, 88, 4,154, + 4, 22, 0, 33, 0, 44, 0, 0, 1, 16, 33, 34, 39, 35, 21, 2, 33, 53, 50, 39, 17, 52, 35, 7, 38, 21, 17, 20, 51, 21, 36, 17, + 53, 16, 33, 50, 23, 51, 54, 51, 4, 17, 3, 17, 52, 43, 1, 34, 21, 17, 20, 51, 50, 4,154,254,205,126, 26, 15, 11,254,179,183, + 9, 77, 97,115,128,254,194, 1, 49,183, 68, 16, 62,182, 1, 51,189,136, 76, 73,167,118, 1,150,254,106,116,152,254,124,142,231, + 3, 9,178, 1, 1,189,254,193,217,148, 3, 1,120,240, 1,140,145,145, 1,254,117,254,174, 1,161,175,167,254,131,211, 0, 0, + 0, 1, 0,107,254, 89, 4,102, 4, 22, 0, 31, 0, 0, 33, 2, 33, 32, 3, 16, 37, 36, 53, 52, 35, 34, 7, 23, 7, 39, 16, 33, + 32, 17, 6, 5, 4, 17, 2, 33, 32, 19, 52, 39, 55, 22, 4,102, 1,253,245,254, 18, 1, 1, 71, 1, 68,152,181, 1, 5,165, 10, + 1, 96, 1, 85, 1,254,175,254,200, 1, 1, 54, 1, 73, 1, 64,154, 98,254, 89, 1,167, 1,115,114,103,127,188,159, 56, 21, 65, + 1, 58,254,168,212,131, 77,254,238,254,220, 1, 41,123, 54, 92,108, 0, 0, 0, 0, 1, 0,161,254, 89, 4, 52, 4, 40, 0, 27, + 0, 0, 19, 51, 17, 22, 33, 32, 17, 52, 37, 55, 4, 19, 16, 37, 35, 34, 39, 35, 21, 2, 37, 32, 17, 51, 2, 33, 32, 17,161,173, + 1, 1, 35, 1, 7,254,249,171, 1, 22, 1,254, 62, 2,185, 85, 20, 2, 1, 38, 1, 7,187, 1,254, 59,254, 51, 3,254,253,204, +191, 1, 48,253,177, 63,226,254,245,254, 55, 1, 89,227,254,251, 1, 1, 4,254,112, 1,140, 0, 0, 2, 0,109,254, 87, 4, 99, + 4, 36, 0, 22, 0, 30, 0, 0, 19, 2, 33, 4, 17, 16, 5, 4, 21, 20, 23, 54, 61, 1, 51, 21, 2, 33, 32, 17, 52, 55, 36, 19, + 22, 5, 36, 53, 16, 33, 32,110, 1, 2, 0, 1,246,254,150,254,218,158,195,178, 1,254,140,254,170,239,254,100,191, 1, 1, 63, + 1, 59,254,197,254,192, 2,107, 1,185, 1,254, 72,254,235,169,117,158,181, 1, 1,140, 76, 76,254,230, 1, 56,231, 84, 87, 1, + 74,255, 38, 41,252, 1, 42, 0, 0, 1, 0,160,255,121, 4, 51, 4, 22, 0, 26, 0, 0, 5, 53, 52, 38, 35, 34, 7, 39, 54, 55, + 53, 38, 17, 16, 37, 4, 1, 39, 0, 37, 32, 3, 30, 1, 23, 22, 23, 2,239,116, 95,130, 67,130, 67,116,236, 1,228, 2,167,254, +121,145, 1, 17,254, 96,254,220, 1, 3, 94,113,178,124,135, 1, 5,121,116, 74,102, 24, 30,173, 1, 73, 1,181, 1, 56,253, 5, + 61, 2, 92, 11,254,219,163,202, 98, 42,147, 0, 0, 3, 1, 35, 0, 50, 3,174, 3,227, 0, 3, 0, 7, 0, 11, 0, 0, 1, 51, + 21, 35, 5, 51, 21, 35, 5, 51, 21, 35, 1, 35,192,192, 1,209,186,186,254, 47,189,189, 3,227,176,189,174,232,174, 0, 0, 0, + 0, 2, 1,149, 2,245, 3, 60, 6, 20, 0, 15, 0, 23, 0, 0, 1, 50, 3, 16, 7, 34, 25, 1, 52, 59, 1, 21, 37, 34, 29, 1, + 23, 52, 35, 34, 7, 20, 51, 50, 2,108,208, 1,213,209,185,235,254,254, 70,237,124,112, 1,117,120, 5, 36,254,239,254,227, 1, + 1, 30, 1, 76,181, 82, 2, 81,158,194,180,186,201, 0, 0, 0, 0, 3, 0, 41,255,227, 4,176, 4,123, 0, 10, 0, 18, 0, 66, + 0, 0, 1, 21, 51, 50, 54, 53, 52, 38, 35, 34, 6, 1, 21, 20, 22, 50, 54, 61, 1, 37, 33, 62, 1, 53, 52, 38, 35, 34, 6, 7, + 53, 62, 1, 51, 50, 22, 23, 62, 1, 51, 50, 22, 21, 20, 6, 43, 1, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 39, 14, + 1, 35, 34, 38, 17, 2,186, 49,169,120, 89, 83, 92, 74,254, 19, 77,174, 76,254, 21, 1,235, 1, 1,101,112, 79,129, 50, 55,132, + 71,110,149, 32, 39,133, 97,156,163,200,191,117, 99, 94, 56,132, 62, 77,132, 60, 91,124, 37, 33,132, 89,174,145, 2,164, 72, 90, +113, 89, 97,133,254,113, 52,151,133,136,157, 43,143, 15, 35, 34,161,144, 51, 51,172, 41, 43, 82, 78, 80, 80,172,164,171,179, 88, +120,128, 43, 39,168, 35, 33, 63, 64, 61, 66,237, 1, 50, 0, 0, 0, 1, 0,169,255,234, 4, 40, 4,123, 0, 48, 0, 0, 1, 22, + 23, 22, 21, 20, 6, 35, 34, 39, 38, 39, 53, 22, 23, 22, 51, 50, 54, 53, 52, 39, 38, 43, 1, 53, 51, 50, 54, 53, 52, 39, 38, 35, + 34, 7, 6, 7, 53, 54, 55, 54, 51, 50, 23, 22, 21, 20, 6, 3, 16,119, 65, 64,244,209, 81, 91, 92,105,104, 87, 86, 76,138,148, + 72, 72,135,166,159,150,168, 90, 91,173, 99, 91, 91, 77, 97, 90, 91, 86,254,139,138,148, 2, 6, 25, 65, 64, 94,134,158, 12, 12, + 24,167, 27, 13, 12, 86, 74, 61, 43, 44,144,110, 81, 98, 53, 52, 18, 17, 34,173, 28, 14, 14, 91, 92,166,109,148, 0, 2, 0,178, +254, 80, 4, 68, 4,100, 0, 9, 0, 13, 0, 0, 37, 33, 17, 33, 53, 33, 21, 33, 17, 33, 1, 35, 53, 51, 3,246,254, 41,254,147, + 3,146,254,147, 1, 31,254,225,184,184, 4, 3,209,143,143,252,190,253,189,233, 0, 3, 0, 14,255,227, 4,186, 4,123, 0, 10, + 0, 21, 0, 54, 0, 0, 19, 20, 6, 21, 20, 22, 51, 50, 54, 61, 1, 1, 34, 6, 21, 16, 22, 51, 50, 54, 16, 38, 1, 33, 53, 52, + 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 62, 1, 51, 50, 18, 16, 2, 35, 34, 38, 39, 14, 1, 35, 34, 38, 17,177, 2, 80, + 86, 87, 77, 1, 90,102, 82, 80,104,103, 80, 80,252, 84, 1,235, 99,112, 80,131, 47, 59,125, 74, 98,147, 48, 52,128, 84,189,170, +170,189, 89,128, 47, 37,130, 87,175,144, 1,205, 11, 38, 9,145,135,137,158, 43, 2, 22,168,239,254,221,174,167, 2, 26,167,254, +121, 84,163,144, 53, 51,172, 43, 41, 67, 66, 68, 65,254,236,253,144,254,236, 62, 65, 62, 65,237, 1, 50, 0, 0, 0, 1, 0,137, + 2, 47, 4, 72, 4,123, 0, 12, 0, 0, 19, 16, 18, 32, 18, 17, 35, 52, 38, 35, 34, 6, 21,137,246, 1,210,247,195,144,141,140, +144, 2, 47, 1, 30, 1, 46,254,210,254,226,214,218,218,214, 0, 0, 1, 0,136,255,227, 4, 71, 2, 47, 0, 12, 0, 0, 1, 16, + 2, 32, 2, 17, 51, 20, 22, 51, 50, 54, 53, 4, 71,246,254, 46,247,195,144,141,140,144, 2, 47,254,226,254,210, 1, 46, 1, 30, +214,218,218,214, 0, 1, 0, 43, 0, 2, 4,166, 3, 91, 0, 19, 0, 0, 37, 33, 53, 33, 50, 54, 53, 52, 38, 35, 33, 53, 33, 21, + 35, 30, 1, 21, 20, 6, 2,225,253, 74, 2,182,151,142,183,171,253,135, 4, 94,168, 97,100,225, 2,184,108,112,130,138,184,184, + 50,168,114,172,168, 0, 0, 0, 0, 3, 0, 63,255,254, 4,146, 3, 87, 0, 3, 0, 7, 0, 27, 0, 0, 55, 53, 51, 21, 3, 53, + 51, 21, 1, 33, 53, 33, 50, 54, 53, 52, 38, 35, 33, 53, 33, 21, 35, 30, 1, 21, 20, 6, 63,142,142,142, 2,136,254, 26, 1,230, +105,100,128,120,254, 69, 3, 15,118, 68, 70,158,122,204,204, 1,136,202,202,253,252,184,108,112,130,138,184,184, 50,168,114,172, +168, 0, 0, 0, 0, 1, 0, 43, 0, 1, 4,166, 4, 3, 0, 34, 0, 0, 1, 30, 1, 21, 20, 6, 41, 1, 53, 33, 50, 54, 53, 52, + 38, 35, 33, 53, 33, 50, 54, 53, 52, 38, 35, 33, 53, 33, 21, 35, 30, 1, 21, 20, 6, 4, 25, 72, 69,209,254,223,253,119, 2,129, +237,115,123,229,253,127, 2,129,240,112,123,229,253,127, 4, 96, 96, 60, 63, 70, 1,204, 34,105, 74,135,111,168, 53, 70, 80, 59, +168, 57, 74, 73, 57,167,167, 33, 99, 63, 76,101, 0, 2, 0,252, 2,156, 3,214, 5,224, 0, 2, 0, 10, 0, 0, 1, 3, 33, 3, + 51, 1, 35, 39, 33, 7, 35, 2,104,134, 1, 12,210,154, 1, 32,132, 68,254,182, 68,132, 5,124,254, 85, 2, 15,252,188,218,218, + 0, 2, 0,245, 2,156, 3,220, 5,224, 0, 15, 0, 19, 0, 0, 1, 21, 35, 21, 51, 21, 35, 17, 51, 21, 33, 53, 35, 7, 35, 1, + 23, 3, 51, 17, 3,208,213,194,194,225,254,170,221, 64,116, 1, 2, 76,127,194, 5,224, 95,248, 95,254,209, 95,214,214, 3, 68, + 95,254, 80, 1,176, 0, 0, 0, 0, 3, 1, 55, 2,156, 3,154, 5,224, 0, 8, 0, 17, 0, 32, 0, 0, 1, 17, 51, 50, 54, 53, + 52, 38, 35, 3, 21, 51, 50, 54, 53, 52, 38, 35, 37, 33, 50, 22, 21, 20, 6, 7, 30, 1, 21, 20, 6, 35, 33, 1,182,151,111, 94, + 99,106,151,149, 91, 83, 81, 93,254,236, 1, 22,144,157, 83, 83, 93,105,167,166,254,234, 4, 43,254,206, 69, 79, 82, 76, 1, 88, +252, 63, 70, 63, 56, 93,111,101, 77, 88, 12, 12,116, 89,114,116, 0, 2, 1, 55, 2,156, 3,154, 5,224, 0, 8, 0, 17, 0, 0, + 1, 50, 54, 53, 52, 38, 43, 1, 17, 19, 50, 22, 21, 20, 6, 43, 1, 17, 1,244,160,128,127,161, 61, 63,216,204,204,216,191, 2, +249,141,183,186,140,253,118, 2,231,204,215,214,203, 3, 68, 0, 0, 1, 1, 76, 2,156, 3,134, 5,224, 0, 11, 0, 0, 1, 33, + 21, 33, 21, 33, 21, 33, 17, 33, 21, 33, 1, 76, 2, 46,254, 80, 1,156,254,100, 1,188,253,198, 5,224, 95,248, 95,254,209, 95, + 0, 1, 1, 76, 2,156, 3,134, 5,224, 0, 11, 0, 0, 1, 33, 21, 33, 21, 33, 21, 33, 17, 33, 21, 33, 3,134,253,210, 1,174, +254,100, 1,156,254, 70, 2, 58, 5,224, 95,248, 95,254,209, 95, 0, 1, 1, 44, 2,140, 3,164, 5,239, 0, 28, 0, 0, 1, 14, + 1, 35, 34, 38, 16, 54, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 21, 20, 22, 51, 50, 54, 55, 53, 35, 53, 33, 3,164, 52,126, 76, +178,200,202,180, 60,108, 50, 52,106, 60,124,124,120,124, 42, 64, 26,136, 1, 2, 2,225, 42, 43,228, 1,154,229, 29, 31,116, 43, + 41,170,172,174,167, 17, 18,225, 93, 0, 0, 0, 0, 1, 1, 58, 2,156, 3,150, 5,224, 0, 11, 0, 0, 1, 51, 17, 33, 17, 51, + 17, 35, 17, 33, 17, 35, 1, 58,128, 1, 94,126,126,254,162,128, 5,224,254,169, 1, 87,252,188, 1,142,254,114, 0, 1, 1,100, + 2,156, 3,110, 5,224, 0, 11, 0, 0, 1, 33, 21, 35, 17, 51, 21, 33, 53, 51, 17, 35, 1,100, 2, 10,198,198,253,246,196,196, + 5,224, 95,253,122, 95, 95, 2,134, 0, 0, 0, 0, 1, 1, 94, 2,140, 3,115, 5,224, 0, 17, 0, 0, 1, 53, 30, 1, 51, 50, + 54, 53, 17, 35, 53, 33, 17, 20, 6, 35, 34, 38, 1, 94, 57,122, 66, 90, 71,240, 1,111,133,155, 61,119, 2,190,132, 45, 45, 83, +114, 1,212, 95,253,205,158,131, 24, 0, 0, 0, 0, 1, 1, 18, 2,156, 3,192, 5,224, 0, 11, 0, 0, 1, 51, 17, 1, 51, 9, + 1, 35, 1, 7, 17, 35, 1, 18,128, 1,142,148,254,146, 1,122,154,254,204, 96,128, 5,224,254,140, 1,116,254,170,254, 18, 1, +163, 92,254,185, 0, 1, 1, 69, 2,156, 3,140, 5,224, 0, 5, 0, 0, 1, 51, 17, 33, 21, 33, 1, 69,128, 1,199,253,185, 5, +224,253, 27, 95, 0, 1, 1, 27, 2,156, 3,182, 5,224, 0, 12, 0, 0, 1, 51, 27, 1, 51, 17, 35, 17, 3, 35, 3, 17, 35, 1, + 27,170,163,164,170,117,168, 96,169,117, 5,224,254, 86, 1,170,252,188, 2,227,254, 71, 1,185,253, 29, 0, 0, 0, 1, 1, 60, + 2,156, 3,149, 5,224, 0, 9, 0, 0, 1, 51, 1, 17, 51, 17, 35, 1, 17, 35, 1, 60,161, 1, 61,123,161,254,194,122, 5,224, +253, 80, 2,176,252,188, 2,176,253, 80, 0, 0, 0, 1, 1, 60, 2,156, 3,149, 5,224, 0, 9, 0, 0, 1, 35, 1, 17, 35, 17, + 51, 1, 17, 51, 3,149,161,254,194,122,161, 1, 61,123, 5,224,253, 80, 2,176,252,188, 2,176,253, 80, 0, 0, 0, 2, 1, 46, + 2,140, 3,163, 5,239, 0, 10, 0, 19, 0, 0, 0, 16, 38, 35, 34, 6, 21, 20, 22, 51, 50, 19, 20, 6, 32, 38, 16, 54, 32, 22, + 3, 30, 85, 97, 96, 85, 85, 96, 97,218,156,254,194,155,155, 1, 62,156, 3,133, 1,112,158,158,184,183,158, 1, 85,218,215,214, + 1,182,215,215, 0, 2, 1, 63, 2,156, 3,146, 5,224, 0, 8, 0, 18, 0, 0, 1, 17, 51, 50, 54, 53, 52, 38, 35, 37, 33, 50, + 22, 20, 6, 43, 1, 17, 35, 1,190,148, 88, 99, 98, 89,254,237, 1, 19,157,163,162,158,148,127, 5,131,254,198, 83, 74, 75, 82, + 93,127,246,127,254,176, 0, 0, 0, 2, 1, 17, 2,156, 3,192, 5,224, 0, 19, 0, 28, 0, 0, 1, 30, 1, 31, 1, 35, 39, 46, + 1, 43, 1, 17, 35, 17, 33, 50, 22, 21, 20, 6, 1, 17, 51, 50, 54, 53, 52, 38, 35, 2,150, 49, 69, 52,128,137,112, 49, 77, 62, +122,128, 1, 6,155,165,101,254,159,139, 92, 89, 95, 91, 4, 39, 11, 63, 93,228,211, 90, 52,254,159, 3, 68,124,118, 83,104, 1, + 80,254,215, 73, 75, 72, 77, 0, 0, 1, 1, 2, 2,156, 3,207, 5,224, 0, 7, 0, 0, 1, 33, 21, 33, 17, 35, 17, 33, 1, 2, + 2,205,254,218,128,254,217, 5,224, 95,253, 27, 2,229, 0, 0, 0, 1, 1, 65, 2,140, 3,144, 5,224, 0, 29, 0, 0, 1, 17, + 51, 17, 20, 22, 23, 30, 1, 51, 50, 54, 55, 62, 1, 53, 17, 51, 17, 20, 6, 7, 14, 1, 35, 34, 38, 39, 46, 1, 1, 65,127, 8, + 10, 20, 76, 54, 55, 75, 21, 10, 7,128, 36, 44, 42,107, 67, 66,107, 42, 44, 36, 3,221, 2, 3,253,201, 61, 52, 14, 33, 33, 33, + 33, 14, 52, 60, 2, 56,253,253,128,108, 36, 33, 32, 32, 33, 35,110, 0, 0, 0, 0, 1, 0,228, 2,156, 3,237, 5,224, 0, 12, + 0, 0, 19, 51, 27, 1, 51, 27, 1, 51, 3, 35, 11, 1, 35,228,124, 90,107,133,109, 90,124,141,120,128,127,121, 5,224,253, 89, + 1,193,254, 62, 2,168,252,188, 1,241,254, 15, 0, 2, 1, 69, 2,140, 3,140, 5, 30, 0, 11, 0, 41, 0, 0, 1, 35, 34, 6, + 21, 20, 22, 51, 50, 54, 55, 53, 55, 17, 35, 53, 14, 1, 35, 34, 38, 53, 52, 54, 59, 1, 53, 46, 1, 35, 34, 6, 7, 53, 62, 1, + 51, 50, 22, 23, 30, 1, 2,171, 38,102,102, 77, 68, 95,110, 1,116,116, 38,112, 81,108,128,158,153,156, 1, 84, 93, 59,121, 58, + 65,118, 55, 88,124, 38, 24, 20, 3,215, 63, 63, 56, 63,118,104, 23, 43,254,154, 93, 56, 53,108, 91,104,109, 16, 75, 68, 30, 29, +103, 21, 22, 46, 46, 28, 82, 0, 0, 2, 1, 69, 2,140, 3,140, 5, 30, 0, 11, 0, 41, 0, 0, 1, 51, 50, 54, 53, 52, 38, 35, + 34, 6, 7, 21, 7, 17, 51, 21, 62, 1, 51, 50, 22, 21, 20, 6, 43, 1, 21, 30, 1, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 39, + 46, 1, 2, 38, 38,102,102, 77, 68, 95,110, 1,116,116, 38,112, 81,108,128,158,153,156, 1, 84, 93, 59,121, 58, 65,118, 55, 88, +124, 38, 24, 20, 3,211, 63, 63, 56, 63,118,104, 23, 43, 1,102, 93, 56, 53,108, 90,105,109, 16, 75, 68, 30, 29,103, 21, 22, 46, + 46, 28, 82, 0, 0, 2, 1, 71, 2,140, 3,138, 5, 30, 0, 16, 0, 26, 0, 0, 1, 53, 51, 17, 35, 53, 14, 1, 35, 34, 38, 53, + 52, 54, 51, 50, 22, 4, 20, 22, 51, 50, 54, 52, 38, 35, 34, 3, 22,116,116, 29, 96, 63,128,147,147,128, 63, 97,254,199, 86, 84, + 83, 88, 88, 83, 84, 4,191, 78,253,143, 79, 47, 48,176,155,153,174, 48,161,240,122,123,238,123, 0, 3, 0,251, 2,140, 3,214, + 5, 30, 0, 10, 0, 18, 0, 66, 0, 0, 1, 21, 51, 50, 54, 53, 52, 38, 35, 34, 6, 5, 21, 20, 22, 50, 54, 61, 1, 37, 33, 52, + 54, 53, 52, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 62, 1, 51, 50, 22, 21, 20, 6, 43, 1, 21, 20, 22, 51, 50, 54, 55, + 21, 14, 1, 35, 34, 38, 39, 14, 1, 35, 34, 38, 53, 2,153, 31,107, 75, 56, 52, 58, 47,254,202, 48,110, 48,254,202, 1, 54, 1, + 64, 70, 50, 81, 32, 35, 83, 45, 69, 94, 20, 25, 84, 61, 98,103,126,121, 73, 62, 59, 35, 84, 39, 49, 83, 38, 57, 78, 24, 20, 84, + 56,109, 92, 4, 23, 41, 51, 63, 50, 54, 74,224, 29, 85, 74, 76, 88, 24, 80, 9, 19, 19, 90, 81, 28, 29, 96, 23, 24, 46, 43, 45, + 44, 96, 92, 96,100, 49, 67, 72, 24, 22, 94, 20, 18, 35, 36, 34, 37,132,172, 0, 0, 2, 1, 71, 2,140, 3,138, 6, 3, 0, 7, + 0, 24, 0, 0, 0, 52, 38, 34, 6, 20, 22, 50, 3, 62, 1, 51, 50, 22, 21, 20, 6, 35, 34, 38, 39, 21, 35, 17, 51, 3, 16, 86, +168, 87, 87,168,255, 28, 97, 65,127,146,147,128, 63, 96, 29,116,116, 3, 93,240,122,123,238,123, 1,220, 46, 49,174,153,155,176, + 48, 47, 79, 3,103, 0, 0, 0, 0, 2, 1, 71, 2,140, 3,138, 6, 3, 0, 16, 0, 26, 0, 0, 1, 17, 51, 17, 35, 53, 14, 1, + 35, 34, 38, 53, 52, 54, 51, 50, 22, 4, 20, 22, 51, 50, 54, 52, 38, 35, 34, 3, 22,116,116, 29, 96, 63,128,147,147,128, 63, 97, +254,199, 86, 84, 83, 88, 88, 83, 84, 4,191, 1, 68,252,153, 79, 47, 48,176,155,153,174, 48,161,240,122,123,238,123, 0, 0, 0, + 0, 2, 1, 49, 2,140, 3,160, 5, 30, 0, 21, 0, 28, 0, 0, 1, 21, 33, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, + 53, 52, 54, 51, 50, 22, 7, 46, 1, 35, 34, 6, 7, 3,160,254, 10,120,110, 55,121, 69, 66,123, 57,165,185,181,152,134,156,116, + 2, 92, 85, 84,109, 10, 3,239, 50, 3,103,112, 31, 32,102, 24, 24,175,154,150,179,162,110, 90, 95, 99, 87, 0, 0, 2, 1, 49, + 2,140, 3,160, 5, 30, 0, 21, 0, 28, 0, 0, 1, 53, 33, 53, 52, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 21, 20, 6, 35, + 34, 38, 55, 30, 1, 51, 50, 54, 55, 1, 49, 1,246,120,110, 55,121, 69, 66,123, 57,165,185,181,152,134,156,116, 2, 92, 85, 84, +109, 10, 3,187, 50, 3,103,112, 31, 32,102, 24, 24,175,154,150,179,162,110, 90, 95, 99, 87, 0, 0, 1, 1, 79, 2,144, 3,130, + 5, 30, 0, 40, 0, 0, 1, 46, 1, 53, 52, 54, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 21, 20, 22, 59, 1, 21, 35, 34, 6, 21, + 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 53, 52, 54, 1,255, 75, 81,153,132, 51,115, 67, 66,109, 48, 87, 93, 91, 85,104, +100, 94,106,114,109, 62,115, 48, 61,114, 54,160,174, 93, 3,240, 14, 72, 53, 75, 88, 13, 14, 93, 15, 14, 48, 42, 34, 48, 81, 62, + 45, 55, 59, 20, 19, 97, 16, 15,102, 93, 61, 83, 0, 1, 1, 79, 2,144, 3,130, 5, 30, 0, 40, 0, 0, 1, 30, 1, 21, 20, 6, + 35, 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, 22, + 21, 20, 6, 2,210, 75, 81,153,132, 51,115, 67, 66,109, 48, 87, 93, 91, 85,104,100, 94,106,114,109, 62,115, 48, 61,114, 54,160, +174, 93, 3,190, 14, 72, 53, 75, 88, 13, 14, 93, 15, 14, 48, 42, 34, 48, 81, 62, 45, 55, 59, 20, 19, 97, 16, 15,102, 93, 61, 83, + 0, 2, 1, 71, 1,166, 3,138, 5, 30, 0, 9, 0, 39, 0, 0, 0, 52, 38, 35, 34, 6, 20, 22, 51, 50, 23, 20, 6, 35, 34, 38, + 39, 53, 30, 1, 51, 50, 54, 61, 2, 14, 1, 35, 34, 38, 53, 52, 54, 51, 50, 22, 23, 53, 51, 3, 22, 85, 81, 85, 90, 90, 86, 80, +201,150,145, 48,105, 52, 62,100, 43, 93, 86, 28, 95, 69,124,147,147,124, 68, 94, 30,116, 3,103,232,120,120,232,122, 41,141,145, + 15, 15,102, 25, 25, 91, 98, 5, 70, 53, 51,175,148,147,176, 48, 50, 81, 0, 0, 0, 2, 1, 73, 1,170, 3,136, 5, 17, 0, 9, + 0, 13, 0, 0, 1, 33, 17, 35, 53, 33, 21, 35, 17, 51, 3, 35, 53, 51, 3, 87,254,216,230, 2, 63,230,181,181,115,115, 2,158, + 2, 35, 80, 80,254, 45,254,188,131, 0, 0, 0, 0, 1, 1, 56, 2,156, 3,153, 6, 3, 0, 11, 0, 0, 1, 51, 17, 1, 51, 5, + 1, 35, 1, 7, 21, 35, 1, 56,120, 1, 48,141,254,234, 1, 66,142,254,251, 86,120, 6, 3,254, 8, 1, 4,236,254,121, 1, 68, + 73,251, 0, 0, 0, 1, 1, 37, 2,156, 3,172, 5, 30, 0, 34, 0, 0, 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, 2,139, 21, 66, 47, 85, 70,106, 34, 44, 50, + 37,106, 36, 47, 46, 35,106,106, 20, 63, 39, 48, 64, 4,207, 41, 38,117,162,254,149, 1,103,133, 64, 69,128,254,153, 1,103,134, + 63, 69,128,254,153, 2,115, 54, 34, 35, 39, 0, 0, 1, 1, 91, 1,173, 3,118, 5, 30, 0, 31, 0, 0, 1, 17, 20, 7, 6, 43, + 1, 53, 51, 50, 55, 54, 53, 17, 52, 38, 35, 34, 7, 6, 21, 17, 35, 17, 51, 21, 54, 55, 54, 51, 50, 22, 3,118, 56, 57,104,129, +117, 57, 28, 28, 67, 71, 82, 44, 43,116,116, 31, 53, 52, 73,108,106, 4, 33,254,112,109, 59, 60, 88, 35, 34, 71, 1,144, 84, 80, + 51, 52, 96,254,158, 2,115, 94, 54, 28, 27,126, 0, 2, 1, 58, 2,140, 3,151, 5, 30, 0, 11, 0, 22, 0, 0, 1, 34, 6, 21, + 20, 22, 51, 50, 54, 53, 52, 46, 1, 32, 22, 21, 20, 6, 35, 34, 38, 53, 52, 2,104, 88, 91, 91, 88, 89, 91, 91,236, 1, 38,156, +155,148,147,155, 4,199,122,120,119,123,123,119,120,122, 87,169,160,161,168,168,161,160, 0, 0, 0, 1, 1, 88, 2,140, 3,121, + 5, 30, 0, 23, 0, 0, 1, 62, 1, 51, 50, 22, 16, 6, 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 52, 38, 35, 34, 6, 7, 1, 88, + 46, 99, 52,164,184,184,164, 51, 97, 49, 46, 92, 59,109,117,118,108, 61, 95, 41, 4,238, 24, 24,174,254,202,174, 23, 25,108, 36, + 33,126,232,126, 33, 35, 0, 0, 0, 1, 1, 58, 3,213, 3,151, 5, 30, 0, 12, 0, 0, 1, 52, 54, 32, 22, 21, 35, 52, 38, 35, + 34, 6, 21, 1, 58,155, 1, 38,156,123, 91, 89, 88, 91, 3,213,160,169,169,160,120,122,122,120, 0, 1, 1, 58, 2,140, 3,151, + 3,213, 0, 12, 0, 0, 1, 20, 6, 32, 38, 53, 51, 20, 22, 51, 50, 54, 53, 3,151,155,254,218,156,123, 91, 89, 88, 91, 3,213, +160,169,169,160,120,122,122,120, 0, 2, 1, 71, 1,173, 3,138, 5, 30, 0, 16, 0, 24, 0, 0, 1, 17, 35, 17, 51, 21, 62, 1, + 51, 50, 22, 21, 20, 6, 35, 34, 38, 36, 52, 38, 34, 6, 20, 22, 50, 1,188,117,117, 29, 96, 63,128,146,146,128, 64, 96, 1, 56, + 85,168, 87, 87,168, 2,235,254,194, 3, 98, 80, 47, 48,176,155,153,174, 48,161,240,122,123,238,123, 0, 0, 0, 0, 1, 1, 77, + 2,156, 3,132, 5,193, 0, 19, 0, 0, 1, 21, 33, 21, 33, 17, 20, 22, 59, 1, 21, 35, 34, 38, 53, 17, 35, 53, 51, 53, 2,125, + 1, 7,254,249, 59, 74,130,141,131,107,188,188, 5,193,178, 80,254,172, 70, 55, 82, 93,114, 1, 84, 80,178, 0, 0, 1, 1, 91, + 2,140, 3,118, 5, 14, 0, 19, 0, 0, 1, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 38, 1, 91, +116, 67, 71, 82, 87,116,116, 31,107, 71,108,106, 3,137, 1,133,254,123, 84, 80,103, 96, 1, 98,253,142, 94, 54, 56,126, 0, 0, + 0, 1, 0,255, 2,157, 3,210, 4,125, 0, 19, 0, 0, 1, 33, 53, 33, 50, 54, 53, 52, 38, 35, 33, 53, 33, 21, 35, 30, 1, 21, + 20, 6, 2,180,254, 75, 1,181, 96, 89,115,108,254,113, 2,193,106, 61, 63,142, 2,157,103, 60, 63, 73, 77,104,104, 27, 95, 63, + 97, 94, 0, 0, 0, 1, 1, 37, 2,156, 3,172, 5, 30, 0, 34, 0, 0, 1, 14, 1, 35, 34, 38, 53, 17, 51, 17, 20, 22, 51, 50, + 54, 53, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 53, 14, 1, 35, 34, 38, 2, 70, 21, 66, 47, 85, 70,106, 34, 44, 50, + 37,106, 36, 47, 46, 35,106,106, 20, 63, 39, 48, 64, 2,235, 40, 39,117,162, 1,107,254,153,132, 65, 69,128, 1,103,254,153,134, + 63, 69,128, 1,103,253,141, 54, 34, 35, 39, 0, 0, 1, 1, 35, 2,156, 3,174, 5, 15, 0, 6, 0, 0, 1, 51, 27, 1, 51, 3, + 35, 1, 35,120,205,206,120,251,149, 5, 15,253,242, 2, 14,253,141, 0, 0, 0,255,255, 1, 72, 0, 0, 3,136, 3,103, 16, 7, + 6,169, 0, 0,253,100, 0, 0,255,255, 1,153, 0, 0, 3, 56, 2,131, 16, 7, 2, 81, 0, 0,253,100, 0, 0,255,255, 1, 91, +255,240, 3,118, 2,114, 16, 7, 4,214, 0, 0,253,100, 0, 0,255,255, 1, 35, 0, 0, 3,174, 2,115, 16, 7, 4,217, 0, 0, +253,100, 0, 0, 0, 2, 0,123,254, 72, 4, 18, 4,123, 0, 10, 0, 40, 0, 0, 37, 20, 22, 51, 50, 54, 16, 38, 35, 34, 6, 3, + 52, 18, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 29, 2, 62, 1, 51, 50, 18, 17, 16, 2, 35, 34, 38, 39, 21, 35, 1, 51,135,129, +135,142,143,136,127,135,184,238,231, 76,166, 83, 98,160, 67,149,136, 44,152,109,196,234,234,196,108,150, 47,184,138,207,215,215, + 1,158,217,218, 1, 35,252, 1, 4, 28, 27,182, 46, 44,162,176, 8,125, 94, 92,254,198,254,249,254,248,254,198, 86, 90,145, 0, +255,255, 1, 58, 2,156, 3,150, 5,224, 16, 6, 4,179, 0, 0, 0, 1, 0,156, 0, 0, 4, 53, 4, 96, 0, 19, 0, 0, 1, 21, + 33, 17, 33, 21, 33, 53, 33, 17, 33, 53, 33, 17, 33, 53, 33, 21, 33, 17, 4, 53,254,143, 1,110,252,110, 1,108,254,144, 1,112, +254,148, 3,146,254,146, 2,104,164,254,203,143,143, 1, 53,164, 1,105,143,143,254,151, 0, 0, 0, 1, 0,160,254, 86, 4, 10, + 6, 31, 0, 27, 0, 0, 1, 20, 22, 59, 1, 29, 2, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 35, 34, 38, 53, 17, 33, 53, + 33, 2,127, 91, 89,215, 89, 90,165,205,185, 90, 45, 44, 48,165,181,254,217, 1,223, 1,150,124,126, 28,128, 20,195,105,106,156, + 62, 62,126, 20,212,194, 3,249,144, 0, 0, 0, 0, 2, 1, 71, 2,140, 3,138, 5, 30, 0, 16, 0, 26, 0, 0, 1, 21, 35, 17, + 51, 21, 62, 1, 51, 50, 22, 21, 20, 6, 35, 34, 38, 36, 52, 38, 35, 34, 6, 20, 22, 51, 50, 1,187,116,116, 29, 96, 63,128,147, +147,128, 63, 97, 1, 57, 86, 84, 83, 88, 88, 83, 84, 2,235, 78, 2,113, 79, 47, 48,176,155,153,174, 48,161,240,122,123,238,123, + 0, 1, 1, 88, 2,140, 3,121, 5, 30, 0, 24, 0, 0, 1, 14, 1, 35, 34, 38, 16, 54, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, + 21, 20, 22, 51, 50, 54, 55, 3,121, 46, 99, 52,164,184,184,164, 51, 97, 49, 46, 92, 59,109,117,118,108, 61, 95, 41, 2,188, 24, + 24,174, 1, 54,174, 23, 25,108, 36, 33,125,117,116,126, 33, 35, 0, 2, 1, 81, 2, 73, 3,128, 5, 28, 0, 7, 0, 43, 0, 0, + 1, 22, 51, 50, 53, 38, 35, 34, 7, 6, 21, 7, 52, 55, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 23, 21, 46, 1, 35, 34, 7, + 6, 20, 23, 22, 23, 54, 51, 50, 23, 20, 35, 34, 2,100, 38, 47, 92, 1, 82, 64, 53, 3, 97, 8, 36, 30, 94, 96, 94,165, 54, 51, + 51, 48, 50, 98, 51,113, 62, 62, 62, 4, 4, 53,124,188, 1,210, 52, 2,236, 11, 32, 42,154, 32, 38, 2, 58, 47, 20, 29, 90,150, +153, 88, 88, 9, 11, 19, 96, 24, 24, 64, 63,230, 64, 4, 3, 98,138,106, 0, 0, 0, 2, 1, 58, 2,140, 3,151, 6, 3, 0, 26, + 0, 41, 0, 0, 1, 30, 1, 21, 20, 6, 35, 34, 38, 53, 52, 54, 51, 50, 22, 23, 46, 1, 39, 7, 39, 55, 39, 51, 23, 55, 23, 3, + 46, 1, 35, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 2,168,124,115,159,144,143,159,159,141, 21, 22, 10, 21, 46, 24,175, 19, +149,115,138, 80,183, 20,109, 22, 52, 28, 92, 97, 94, 85, 86, 94, 37, 5,131,119,212,112,150,166,166,150,148,166, 1, 1, 25, 50, + 24, 51, 55, 44,112, 81, 53, 55,254,238, 7, 8,118,111,110,119,119,110, 61,114, 0, 1, 1, 79, 2,144, 3,130, 5, 30, 0, 40, + 0, 0, 1, 30, 1, 21, 20, 6, 35, 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, 22, 21, 20, 6, 2,209, 84, 93,174,161, 53,115, 60, 47,115, 63,109,114,106, 95, 99,104, 85, 91, 94, + 87, 47,109, 66, 67,115, 50,133,153, 82, 3,240, 13, 83, 61, 93,102, 15, 16, 97, 19, 20, 59, 55, 45, 62, 81, 48, 34, 42, 48, 14, + 15, 93, 14, 13, 88, 75, 53, 72, 0, 1, 1, 87, 2,156, 3,122, 6, 3, 0, 19, 0, 0, 1, 21, 35, 34, 6, 29, 1, 51, 21, 35, + 17, 35, 17, 35, 53, 51, 53, 52, 54, 51, 3,122,132, 62, 49,243,243,116,188,188,107,113, 6, 3, 85, 46, 57, 56, 80,253,221, 2, + 35, 80, 44,103, 97, 0, 0, 0, 0, 1, 1, 98, 1,173, 3,111, 5, 15, 0, 23, 0, 0, 1, 53, 51, 17, 35, 53, 33, 17, 51, 21, + 35, 21, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 1,206,153,200, 1, 60,148,148, 57, 56,104,160,147, 57, 28, 29, 2,156, + 92, 1,199, 80,253,233, 92, 11,109, 59, 60, 88, 35, 35, 70, 11, 0, 2, 1, 71, 1,166, 3,138, 5, 13, 0, 10, 0, 36, 0, 0, + 1, 48, 53, 39, 34, 6, 20, 22, 51, 50, 54, 23, 20, 6, 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 61, 2, 14, 1, 35, 34, 38, 53, + 52, 54, 51, 33, 3, 22,166, 85, 90, 90, 86, 80, 85,116,150,145, 48,105, 52, 62,100, 43, 93, 86, 28, 95, 69,124,147,145,126, 1, + 52, 3,219,119,117,120,232,122,122,163,141,145, 15, 15,102, 25, 25, 91, 98, 5, 70, 53, 51,175,148,127,179, 0, 0, 1, 1, 91, + 1,171, 3,118, 5, 14, 0, 19, 0, 0, 1, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 17, 14, 1, 35, 34, 38, 1, 91, +116, 67, 71, 82, 87,116,116, 31,107, 71,108,106, 3,137, 1,133,254,123, 84, 80,103, 96, 1, 98,252,157, 1, 79, 54, 56,126, 0, + 0, 2, 1, 67, 2,156, 3,142, 6, 3, 0, 3, 0, 21, 0, 0, 1, 51, 21, 35, 7, 33, 17, 51, 21, 35, 21, 51, 21, 33, 53, 51, + 53, 35, 53, 51, 53, 35, 2, 52,116,116,181, 1, 41,223,223,230,253,192,230,241,241,181, 6, 3,130,114,254,230, 92,173, 80, 80, +173, 92,202, 0, 0, 1, 1, 97, 2,156, 3,112, 5, 15, 0, 13, 0, 0, 1, 35, 34, 38, 53, 17, 35, 53, 33, 17, 6, 22, 59, 1, + 3,112,129,104,113,181, 1, 41, 1, 57, 57,117, 2,156,117,110, 1, 64, 80,254,112, 70, 70, 0, 0, 1, 1, 73, 2,156, 3,136, + 5, 15, 0, 11, 0, 0, 1, 33, 21, 35, 17, 51, 21, 33, 53, 51, 17, 35, 1, 73, 2, 63,230,230,253,193,230,230, 5, 15, 80,254, + 45, 80, 80, 1,211, 0, 0, 0, 0, 1, 1, 71, 2,156, 3,138, 5, 15, 0, 19, 0, 0, 1, 21, 35, 21, 51, 21, 33, 53, 51, 53, + 35, 53, 51, 53, 35, 53, 33, 21, 35, 21, 3,138,232,230,253,193,230,232,232,230, 2, 63,230, 3,245, 92,173, 80, 80,173, 92,202, + 80, 80,202, 0, 0, 3, 1,100, 1,173, 3,109, 6, 3, 0, 3, 0, 18, 0, 28, 0, 0, 1, 51, 21, 35, 3, 34, 53, 52, 59, 1, + 17, 51, 17, 51, 21, 35, 6, 7, 6, 39, 48, 35, 34, 23, 22, 51, 50, 55, 54, 2,135,116,116,100,191,170,121,116,114,120, 12, 33, + 51, 21,114, 74, 1, 3, 77, 66, 24, 11, 6, 3,130,252, 44,124,115, 2,115,253,141, 87, 63, 35, 53,152, 29, 36, 27, 13, 0, 0, + 0, 1, 1, 85, 1,173, 3,124, 6, 10, 0, 13, 0, 0, 1, 20, 22, 59, 1, 21, 35, 34, 38, 53, 17, 35, 53, 33, 2,131, 57, 56, +136,147,100,118,186, 1, 46, 2,145, 70, 70, 88,116,112, 3, 40, 81, 0, 0, 0, 0, 1, 1, 85, 1,173, 3,124, 6, 10, 0, 25, + 0, 0, 1, 20, 22, 59, 1, 21, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 35, 34, 38, 53, 17, 35, 53, 33, 2,131, 57, 56, +136, 56, 57,104,129,116, 57, 29, 27, 30,104,114,186, 1, 46, 3,127, 69, 71, 98,109, 59, 60, 88, 35, 34, 71, 11,119,108, 2, 58, + 81, 0, 0, 0, 0, 1, 1,126, 2,156, 3, 83, 5, 30, 0, 5, 0, 0, 1, 51, 17, 33, 21, 33, 1,126,128, 1, 85,254, 43, 5, + 30,253,221, 95, 0, 1, 1, 37, 1,173, 3,171, 5, 30, 0, 48, 0, 0, 1, 62, 1, 51, 50, 23, 22, 21, 17, 21, 20, 7, 6, 43, + 1, 53, 51, 50, 55, 54, 61, 1, 49, 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, 2,138, 22, 66, 46, 86, 34, 35, 50, 51, 95,117,106, 51, 26, 25, 34, 44, 50, 37,106, 36, 47, 46, 36,105,105, 21, 62, + 40, 48, 64, 4,207, 41, 38, 58, 59,162,254,221, 83,109, 59, 60, 88, 35, 34, 71, 11, 1,103,133, 64, 69,128,254,153, 1,103,134, + 63, 69,128,254,153, 2,115, 54, 34, 35, 39, 0, 0, 1, 1, 37, 1,171, 3,172, 5, 30, 0, 34, 0, 0, 1, 14, 1, 35, 34, 38, + 53, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 20, 22, 51, 50, 54, 53, 17, 51, 17, 35, 17, 14, 1, 35, 34, 38, 2, 70, 21, + 66, 47, 85, 70,106, 34, 44, 50, 37,106, 36, 47, 46, 35,106,106, 20, 63, 39, 48, 64, 2,235, 40, 39,117,162, 1,107,254,153,132, + 65, 69,128, 1,103,254,153,134, 63, 69,128, 1,103,252,141, 1, 54, 34, 35, 39, 0, 1, 1, 85, 1,173, 3,124, 5, 30, 0, 27, + 0, 0, 1, 20, 6, 43, 1, 53, 51, 50, 54, 53, 17, 51, 21, 62, 1, 51, 50, 22, 21, 17, 35, 17, 52, 38, 35, 34, 6, 21, 2, 24, + 77, 85, 33, 23, 49, 36, 88, 31, 84, 56, 91, 93, 86, 59, 59, 70, 81, 2,145,120,108, 88, 54, 86, 2,126, 97, 56, 56,134,129,254, +133, 1,119, 89, 89,107, 92, 0, 0, 1, 1, 85, 1,173, 3,124, 5, 30, 0, 36, 0, 0, 1, 53, 17, 52, 39, 38, 35, 34, 7, 6, + 21, 17, 35, 17, 51, 21, 54, 55, 54, 51, 50, 23, 22, 21, 17, 29, 1, 20, 22, 59, 1, 21, 35, 34, 39, 38, 53, 2,185, 29, 30, 58, + 71, 40, 41, 87, 87, 31, 42, 43, 55, 91, 47, 47, 36, 49, 23, 33, 85, 38, 39, 2,156, 72, 1, 47, 89, 44, 45, 53, 54, 92,254,158, + 2,115, 97, 56, 28, 28, 66, 68,129,254,205, 72, 11, 86, 54, 88, 54, 54,120, 0, 0, 1, 1, 63, 2,156, 3,146, 5, 30, 0, 9, + 0, 0, 1, 51, 1, 17, 51, 17, 35, 1, 17, 35, 1, 63,171, 1, 45,123,171,254,211,123, 5, 30,254, 7, 1,249,253,126, 1,250, +254, 6, 0, 0, 0, 3, 1, 58, 2,140, 3,151, 5, 30, 0, 14, 0, 23, 0, 32, 0, 0, 0, 32, 23, 22, 21, 20, 7, 6, 35, 34, + 39, 38, 53, 52, 55, 23, 34, 7, 6, 7, 33, 38, 39, 38, 19, 33, 22, 23, 22, 51, 50, 55, 54, 1,213, 1, 38, 78, 78, 78, 77,148, +147, 77, 78, 78,224, 88, 45, 40, 5, 1,101, 5, 40, 45, 87,254,161, 9, 33, 45, 88, 89, 45, 33, 5, 30, 84, 85,160,161, 84, 84, + 84, 84,161,160, 85, 3, 61, 53, 99, 99, 53, 61,254,207, 74, 44, 61, 61, 44, 0, 0, 3, 1, 58, 1,174, 3,151, 6, 3, 0, 29, + 0, 38, 0, 47, 0, 0, 1, 35, 53, 33, 21, 35, 21, 22, 23, 22, 21, 20, 7, 6, 7, 21, 51, 21, 33, 53, 51, 53, 38, 39, 38, 53, + 52, 55, 54, 55, 23, 17, 54, 55, 54, 53, 52, 39, 38, 3, 17, 6, 7, 6, 21, 20, 23, 22, 2, 51,151, 1,162,151,102, 60, 78, 78, + 60,102,151,254, 94,151,108, 63, 78, 78, 63,108,116, 44, 27, 46, 46, 27,160, 50, 30, 46, 46, 30, 5,167, 92, 92,141, 15, 65, 85, +160,161, 84, 65, 15,134, 92, 92,133, 13, 68, 84,161,160, 85, 68, 13, 93,254, 47, 14, 37, 62,119,120, 61, 37,254, 59, 1,214, 13, + 41, 61,120,119, 62, 41, 0, 0, 0, 1, 1, 91, 1,173, 3,118, 5, 30, 0, 60, 0, 0, 1, 21, 46, 1, 35, 34, 7, 6, 21, 20, + 23, 22, 31, 1, 22, 23, 22, 21, 20, 7, 6, 35, 34, 47, 1, 21, 20, 22, 59, 1, 21, 35, 34, 39, 38, 61, 3, 22, 23, 22, 51, 50, + 54, 53, 52, 39, 38, 47, 1, 46, 1, 53, 52, 55, 54, 51, 50, 23, 22, 3, 80, 49,106, 56, 87, 42, 44, 31, 31, 93, 40,123, 52, 52, + 77, 78,137, 56, 62, 13, 48, 66,147,160,114, 51, 52, 64, 62, 63, 61, 82, 88, 31, 33,107, 41,107, 96, 70, 71,130, 64, 57, 56, 4, +253, 98, 23, 22, 23, 24, 47, 36, 21, 20, 18, 8, 24, 43, 42, 77, 87, 51, 51, 9, 3, 7, 86, 54, 88, 54, 54,120, 34, 49, 57, 29, + 15, 15, 50, 45, 42, 23, 22, 21, 8, 20, 84, 73, 88, 48, 48, 8, 8, 0, 0, 0, 0, 1, 1,120, 1,173, 3, 89, 6, 3, 0, 20, + 0, 0, 1, 2, 3, 52, 54, 59, 1, 21, 35, 34, 6, 21, 19, 20, 6, 43, 1, 53, 51, 50, 54, 2, 9, 1, 1,106,123,109,111, 62, + 49, 2,103,114, 44, 31, 66, 48, 2,145, 1, 93, 1, 77,101, 99, 85, 45, 58,253, 74,120,108, 88, 54, 0, 0, 0, 0, 1, 1, 77, + 1,173, 3,132, 5,193, 0, 33, 0, 0, 1, 21, 33, 21, 33, 17, 20, 23, 22, 59, 1, 21, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, + 61, 1, 35, 34, 39, 38, 53, 17, 35, 53, 51, 53, 2,125, 1, 7,254,249, 30, 29, 74,130, 56, 56,104,130,117, 57, 28, 28, 25,131, + 53, 54,188,188, 5,193,178, 80,254,172, 70, 27, 28, 93,109, 59, 60, 88, 35, 34, 71, 11, 46, 47,114, 1, 84, 80,178, 0, 0, 0, + 0, 2, 0,208, 2,140, 4, 1, 5, 15, 0, 23, 0, 33, 0, 0, 19, 53, 51, 17, 51, 17, 33, 17, 51, 17, 51, 21, 35, 21, 35, 53, + 6, 7, 6, 35, 34, 38, 61, 1, 41, 1, 21, 20, 23, 22, 51, 50, 55, 54,208,109,116, 1,103,116,117,117,116, 42, 56, 55, 74,122, +126, 1,219,254,153, 39, 39, 78, 94, 55, 49, 3,153, 92, 1, 26,254,230, 1, 26,254,230, 92,253, 96, 57, 28, 27,134,130, 5, 2, + 89, 44, 45, 54, 47, 0, 0, 0, 0, 1, 1, 32, 2,139, 3,177, 5, 15, 0, 29, 0, 0, 1, 53, 33, 21, 14, 1, 21, 20, 22, 50, + 54, 53, 52, 38, 39, 53, 33, 21, 35, 30, 1, 21, 20, 6, 32, 38, 53, 52, 54, 55, 1, 32, 1, 22, 68, 82,111,182,111, 87, 63, 1, + 19,149, 72, 69,178,254,228,179, 66, 75, 4,179, 92,123, 39,121, 75, 89,109,109, 89, 82,118, 35,123, 92, 56,125, 76,131,164,163, +128, 82,121, 58, 0, 1, 1, 70, 2,156, 3,139, 5, 15, 0, 26, 0, 0, 1, 51, 49, 30, 1, 21, 20, 6, 43, 1, 34, 38, 53, 17, + 51, 17, 20, 22, 63, 1, 50, 54, 53, 52, 38, 39, 38, 2, 51,203, 72, 69,179,141, 45,114,102,116, 49, 65, 32, 91,110, 91, 58, 48, + 4,196, 56,125, 76,131,164,108,119, 1,144,254,112, 85, 56, 1, 1,109, 89, 81,123, 31, 24, 0, 0, 1, 1, 17, 2,156, 3,192, + 5, 15, 0, 6, 0, 0, 1, 35, 11, 1, 35, 1, 51, 3,192,123,221,220,123, 1, 9,157, 2,156, 2, 14,253,242, 2,115, 0, 0, + 0, 1, 1, 97, 2,156, 3,112, 5, 16, 0, 9, 0, 0, 1, 33, 21, 1, 33, 21, 33, 53, 1, 33, 1,112, 2, 0,254,107, 1,149, +253,241, 1,149,254,122, 5, 16, 94,254, 62, 84, 95, 1,195, 0, 0, 1, 1, 94, 1,173, 3,115, 5, 15, 0, 22, 0, 0, 1, 33, + 21, 1, 33, 21, 35, 21, 20, 22, 59, 1, 21, 35, 34, 39, 38, 61, 1, 33, 53, 1, 33, 1,106, 1,157,254,185, 1, 71, 1, 36, 50, + 23, 33, 86, 38, 39,254,175, 1, 71,254,197, 5, 15, 94,254, 61, 82, 11, 86, 54, 88, 54, 54,120, 11, 94, 1,195, 0, 2, 1, 77, + 2, 94, 3,132, 5, 15, 0, 20, 0, 28, 0, 0, 1, 6, 21, 35, 52, 55, 35, 53, 1, 33, 53, 33, 21, 1, 51, 54, 51, 50, 21, 22, + 35, 39, 48, 51, 50, 53, 52, 35, 6, 2,146, 2, 97, 3,229, 1,180,254, 92, 2, 39,254, 76,110, 38,138,143, 1,210, 13, 13,109, + 44, 56, 2,156, 29, 33, 33, 29, 94, 1,195, 82, 94,254, 61,162,138,106, 82, 31, 51, 1, 0, 0, 0, 1, 1, 51, 1,168, 3,158, + 5, 15, 0, 28, 0, 0, 1, 50, 23, 30, 1, 21, 20, 6, 35, 34, 38, 39, 53, 30, 1, 51, 50, 54, 53, 52, 38, 43, 1, 53, 1, 33, + 53, 33, 21, 2,100, 67, 80, 62,105,191,177, 59,125, 67, 53,126, 68,120,126,117,104,110, 1, 15,254, 92, 2, 39, 3,167, 32, 23, +120, 77,124,135, 21, 20,109, 27, 28, 84, 80, 74, 83, 93, 1, 24, 82, 94, 0, 0, 0, 3, 1, 58, 2,140, 3,151, 5,228, 0, 6, + 0, 13, 0, 24, 0, 0, 1, 46, 1, 35, 34, 6, 7, 5, 33, 30, 1, 51, 50, 54, 0, 32, 22, 21, 20, 6, 35, 34, 38, 53, 52, 3, + 26, 4, 85, 89, 88, 85, 4, 1, 99,254,157, 3, 86, 88, 89, 86,254,190, 1, 38,156,155,148,147,155, 4,108,126,162,162,126,103, +126,163,163, 2, 93,220,208,209,219,219,209,208,255,255, 0, 37,254, 10, 4,172, 5,213, 16, 38, 2,161, 0, 0, 16, 6, 0, 36, + 0, 0, 0, 0,255,255, 0,133,254, 10, 4, 35, 4,123, 16, 38, 2,161, 0, 0, 16, 6, 0, 68, 0, 0, 0, 0,255,255, 0,166, + 0, 0, 4,113, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 37, 0, 0, 0, 0,255,255, 0,193,255,227, 4, 88, 6, 20, 16, 38, + 2,131, 50, 0, 16, 6, 0, 69, 0, 0, 0, 0,255,255, 0,166,254, 99, 4,113, 5,213, 16, 38, 2,159, 0, 0, 16, 6, 0, 37, + 0, 0, 0, 0,255,255, 0,193,254, 99, 4, 88, 6, 20, 16, 38, 2,159, 0, 0, 16, 6, 0, 69, 0, 0, 0, 0,255,255, 0,166, +254,155, 4,113, 5,213, 16, 38, 2,173, 0, 0, 16, 6, 0, 37, 0, 0, 0, 0,255,255, 0,193,254,155, 4, 88, 6, 20, 16, 38, + 2,173, 0, 0, 16, 6, 0, 69, 0, 0, 0, 0,255,255, 0,139,254,117, 4, 49, 7,107, 16, 39, 11,177, 0, 90, 1,117, 16, 38, + 2,163,100, 0, 16, 6, 0, 38, 0, 0, 0, 0,255,255, 0,195,254,117, 4, 37, 6,102, 16, 38, 0,118, 90, 0, 16, 38, 2,163, +104, 0, 16, 6, 0, 70, 0, 0,255,255, 0,137, 0, 0, 4, 82, 7, 80, 16, 38, 11,185,206, 0, 16, 6, 0, 39, 0, 0, 0, 0, +255,255, 0,123,255,227, 4, 18, 6, 20, 16, 38, 2,131,206, 0, 16, 6, 0, 71, 0, 0, 0, 0,255,255, 0,137,254, 99, 4, 82, + 5,213, 16, 38, 2,159,206, 0, 16, 6, 0, 39, 0, 0, 0, 0,255,255, 0,123,254, 99, 4, 18, 6, 20, 16, 38, 2,159, 0, 0, + 16, 6, 0, 71, 0, 0, 0, 0,255,255, 0,137,254,155, 4, 82, 5,213, 16, 38, 2,173,206, 0, 16, 6, 0, 39, 0, 0, 0, 0, +255,255, 0,123,254,155, 4, 18, 6, 20, 16, 38, 2,173, 0, 0, 16, 6, 0, 71, 0, 0, 0, 0,255,255, 0,125,254,117, 4, 82, + 5,213, 16, 39, 2,163,254,242, 0, 0, 18, 6, 0, 39, 0, 0,255,255, 0,123,254,117, 4, 18, 6, 20, 16, 38, 2,163,236, 0, + 18, 6, 0, 71, 0, 0, 0, 0,255,255, 0,137,254, 27, 4, 82, 5,213, 16, 38, 2,169,206, 0, 16, 6, 0, 39, 0, 0, 0, 0, +255,255, 0,123,254, 27, 4, 18, 6, 20, 16, 38, 2,169, 0, 0, 16, 6, 0, 71, 0, 0, 0, 0,255,255, 0,197,254, 27, 4, 78, + 5,213, 16, 38, 2,169, 18, 0, 16, 6, 0, 40, 0, 0, 0, 0,255,255, 0,123,254, 27, 4, 88, 4,123, 16, 38, 2,169, 14, 0, + 16, 6, 0, 72, 0, 0, 0, 0,255,255, 0,197,254, 27, 4, 78, 5,213, 16, 38, 2,172, 18, 0, 16, 6, 0, 40, 0, 0, 0, 0, +255,255, 0,123,254, 27, 4, 88, 4,123, 16, 38, 2,172, 14, 0, 16, 6, 0, 72, 0, 0, 0, 0,255,255, 0,197,254,117, 4, 78, + 7,109, 16, 38, 11,184, 18, 0, 16, 38, 0, 40, 0, 0, 16, 6, 2,163, 50, 0,255,255, 0,123,254,117, 4, 88, 6, 72, 16, 38, + 2,130, 14, 0, 16, 38, 0, 72, 0, 0, 16, 6, 2,163, 50, 0,255,255, 0,233, 0, 0, 4, 88, 7, 80, 16, 38, 11,185, 54, 0, + 16, 6, 0, 41, 0, 0, 0, 0,255,255, 0,195, 0, 0, 4, 39, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 73, 0, 0, 0, 0, +255,255, 0,102,255,227, 4, 80, 7, 48, 16, 38, 11,189, 50, 0, 16, 6, 0, 42, 0, 0, 0, 0,255,255, 0,123,254, 72, 4, 18, + 5,246, 16, 38, 2,128, 0, 0, 16, 6, 0, 74, 0, 0, 0, 0,255,255, 0,137, 0, 0, 4, 72, 7, 80, 16, 38, 11,185, 0, 0, + 16, 6, 0, 43, 0, 0, 0, 0,255,255, 0,195, 0, 0, 4, 27, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 75, 0, 0, 0, 0, +255,255, 0,137,254, 99, 4, 72, 5,213, 16, 38, 2,159, 0, 0, 16, 6, 0, 43, 0, 0, 0, 0,255,255, 0,195,254, 99, 4, 27, + 6, 20, 16, 38, 2,159, 0, 0, 16, 6, 0, 75, 0, 0, 0, 0,255,255, 0, 20,254,117, 4, 72, 5,213, 16, 39, 2,163,254,137, + 0, 0, 16, 6, 0, 43, 0, 0,255,255, 0, 55,254,117, 4, 27, 6, 20, 16, 39, 2,163,254,172, 0, 0, 16, 6, 0, 75, 0, 0, +255,255, 0,137,254, 25, 4, 72, 5,213, 16, 38, 2,170, 0, 0, 16, 6, 0, 43, 0, 0, 0, 0,255,255, 0,195,254, 25, 4, 27, + 6, 20, 16, 38, 2,170, 0, 0, 16, 6, 0, 75, 0, 0, 0, 0,255,255, 0,201,254, 27, 4, 6, 5,213, 16, 38, 2,172, 0, 0, + 16, 6, 0, 44, 0, 0, 0, 0,255,255, 0,178,254, 27, 4, 68, 6, 20, 16, 38, 2,172, 0, 0, 16, 6, 0, 76, 0, 0, 0, 0, +255,255, 0,137, 0, 0, 4,201, 7,107, 16, 39, 11,177, 0, 0, 1,117, 16, 6, 0, 46, 0, 0,255,255, 0,236, 0, 0, 4,178, + 7,107, 16, 39, 11,177,255, 37, 1,117, 16, 6, 0, 78, 0, 0,255,255, 0,137,254, 99, 4,201, 5,213, 16, 38, 2,159, 0, 0, + 16, 6, 0, 46, 0, 0, 0, 0,255,255, 0,236,254, 99, 4,178, 6, 20, 16, 38, 2,159, 50, 0, 16, 6, 0, 78, 0, 0, 0, 0, +255,255, 0,137,254,155, 4,201, 5,213, 16, 38, 2,173, 0, 0, 16, 6, 0, 46, 0, 0, 0, 0,255,255, 0,236,254,155, 4,178, + 6, 20, 16, 38, 2,173, 50, 0, 16, 6, 0, 78, 0, 0, 0, 0,255,255, 0,215,254, 99, 4,115, 5,213, 16, 38, 2,159, 50, 0, + 16, 6, 0, 47, 0, 0, 0, 0,255,255, 0,160,254, 99, 4, 10, 6, 31, 16, 38, 2,159, 0, 0, 16, 6, 0, 79, 0, 0, 0, 0, +255,255, 0,215,254, 99, 4,115, 7, 48, 16, 38, 11,189, 0, 0, 16, 6, 5, 52, 0, 0, 0, 0,255,255, 0,160,254, 99, 4, 10, + 7, 48, 16, 38, 11,189, 0, 0, 16, 6, 5, 53, 0, 0, 0, 0,255,255, 0,215,254,155, 4,115, 5,213, 16, 38, 2,173, 50, 0, + 16, 6, 0, 47, 0, 0, 0, 0,255,255, 0,160,254,155, 4, 10, 6, 31, 16, 38, 2,173, 0, 0, 16, 6, 0, 79, 0, 0, 0, 0, +255,255, 0,215,254, 27, 4,115, 5,213, 16, 38, 2,169, 50, 0, 16, 6, 0, 47, 0, 0, 0, 0,255,255, 0,160,254, 27, 4, 10, + 6, 31, 16, 38, 2,169, 0, 0, 16, 6, 0, 79, 0, 0, 0, 0,255,255, 0, 86, 0, 0, 4,121, 7,107, 16, 39, 11,177, 0, 0, + 1,117, 16, 6, 0, 48, 0, 0,255,255, 0,109, 0, 0, 4,111, 6,102, 16, 38, 0,118, 0, 0, 16, 6, 0, 80, 0, 0, 0, 0, +255,255, 0, 86, 0, 0, 4,121, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 48, 0, 0, 0, 0,255,255, 0,109, 0, 0, 4,111, + 6, 16, 16, 38, 2,131, 0, 0, 18, 6, 0, 80, 0, 0, 0, 0,255,255, 0, 86,254, 99, 4,121, 5,213, 16, 38, 2,159, 0, 0, + 16, 6, 0, 48, 0, 0, 0, 0,255,255, 0,109,254, 99, 4,111, 4,123, 16, 38, 2,159, 0, 0, 16, 6, 0, 80, 0, 0, 0, 0, +255,255, 0,139, 0, 0, 4, 70, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 49, 0, 0, 0, 0,255,255, 0,195, 0, 0, 4, 27, + 6, 16, 16, 38, 2,131, 0, 0, 16, 6, 0, 81, 0, 0, 0, 0,255,255, 0,139,254, 99, 4, 70, 5,213, 16, 38, 2,159, 0, 0, + 16, 6, 0, 49, 0, 0, 0, 0,255,255, 0,195,254, 99, 4, 27, 4,123, 16, 38, 2,159, 0, 0, 16, 6, 0, 81, 0, 0, 0, 0, +255,255, 0,139,254,155, 4, 70, 5,213, 16, 38, 2,173, 0, 0, 16, 6, 0, 49, 0, 0, 0, 0,255,255, 0,195,254,155, 4, 27, + 4,123, 16, 38, 2,173, 0, 0, 16, 6, 0, 81, 0, 0, 0, 0,255,255, 0,139,254, 27, 4, 70, 5,213, 16, 38, 2,169, 0, 0, + 16, 6, 0, 49, 0, 0, 0, 0,255,255, 0,195,254, 27, 4, 27, 4,123, 16, 38, 2,169, 0, 0, 16, 6, 0, 81, 0, 0, 0, 0, +255,255, 0,197, 0, 0, 4,117, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 51, 0, 0, 0, 0,255,255, 0,190,254, 86, 4, 84, + 6, 16, 16, 38, 2,131, 0, 0, 18, 6, 0, 83, 0, 0, 0, 0,255,255, 0,143, 0, 0, 4,209, 7, 80, 16, 38, 11,185,206, 0, + 16, 6, 0, 53, 0, 0, 0, 0,255,255, 1,106, 0, 0, 4,131, 6, 16, 16, 38, 2,131, 0, 0, 16, 6, 0, 85, 0, 0, 0, 0, +255,255, 0,143,254, 99, 4,209, 5,213, 16, 38, 2,159,206, 0, 16, 6, 0, 53, 0, 0, 0, 0,255,255, 1,106,254, 99, 4,131, + 4,123, 16, 38, 2,159, 0, 0, 16, 6, 0, 85, 0, 0, 0, 0,255,255, 0,143,254, 99, 4,209, 7, 48, 16, 38, 11,189,206, 0, + 16, 6, 5, 78, 0, 0, 0, 0,255,255, 1, 61,254, 99, 4,131, 5,246, 16, 38, 2,128, 0, 0, 16, 6, 5, 79, 0, 0, 0, 0, +255,255, 0,143,254,155, 4,209, 5,213, 16, 38, 2,173, 0, 0, 16, 6, 0, 53, 0, 0, 0, 0,255,255, 1, 61,254,155, 4,131, + 4,123, 16, 38, 2,173, 0, 0, 16, 6, 0, 85, 0, 0, 0, 0,255,255, 0,139,255,227, 4, 74, 7, 80, 16, 38, 11,185, 0, 0, + 16, 6, 0, 54, 0, 0, 0, 0,255,255, 0,213,255,227, 4, 6, 6, 16, 16, 38, 2,131, 0, 0, 18, 6, 0, 86, 0, 0, 0, 0, +255,255, 0,139,254, 99, 4, 74, 5,240, 16, 38, 2,159, 0, 0, 16, 6, 0, 54, 0, 0, 0, 0,255,255, 0,213,254, 99, 4, 6, + 4,123, 16, 38, 2,159, 0, 0, 16, 6, 0, 86, 0, 0, 0, 0,255,255, 0,139,254, 99, 4, 74, 7, 80, 16, 38, 11,185, 0, 0, + 16, 38, 0, 54, 0, 0, 16, 6, 2,159, 0, 0,255,255, 0,213,254, 99, 4, 6, 6, 16, 16, 38, 2,131, 0, 0, 16, 38, 0, 86, + 0, 0, 16, 6, 2,159, 0, 0,255,255, 0, 47, 0, 0, 4,162, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 55, 0, 0, 0, 0, +255,255, 0,131, 0, 0, 4, 8, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 87, 0, 0, 0, 0,255,255, 0, 47,254, 99, 4,162, + 5,213, 16, 38, 2,159, 0, 0, 16, 6, 0, 55, 0, 0, 0, 0,255,255, 0,131,254, 99, 4, 8, 5,158, 16, 38, 2,159, 0, 0, + 16, 6, 0, 87, 0, 0, 0, 0,255,255, 0, 47,254,155, 4,162, 5,213, 16, 38, 2,173, 0, 0, 16, 6, 0, 55, 0, 0, 0, 0, +255,255, 0,131,254,155, 4, 8, 5,158, 16, 38, 2,173, 0, 0, 16, 6, 0, 87, 0, 0, 0, 0,255,255, 0, 47,254, 27, 4,162, + 5,213, 16, 38, 2,169, 0, 0, 16, 6, 0, 55, 0, 0, 0, 0,255,255, 0,131,254, 27, 4, 8, 5,158, 16, 38, 2,169, 0, 0, + 16, 6, 0, 87, 0, 0, 0, 0,255,255, 0,147,254,100, 4, 61, 5,213, 16, 38, 2,160, 0, 0, 16, 6, 0, 56, 0, 0, 0, 0, +255,255, 0,195,254,100, 4, 27, 4, 94, 16, 38, 2,160, 0, 0, 16, 6, 0, 88, 0, 0, 0, 0,255,255, 0,147,254, 27, 4, 61, + 5,213, 16, 38, 2,172, 0, 0, 16, 6, 0, 56, 0, 0, 0, 0,255,255, 0,195,254, 27, 4, 27, 4, 94, 16, 38, 2,172, 0, 0, + 16, 6, 0, 88, 0, 0, 0, 0,255,255, 0,147,254, 27, 4, 61, 5,213, 16, 38, 2,169, 0, 0, 16, 6, 0, 56, 0, 0, 0, 0, +255,255, 0,195,254, 27, 4, 27, 4, 94, 16, 38, 2,169, 0, 0, 16, 6, 0, 88, 0, 0, 0, 0,255,255, 0, 57,254, 99, 4,152, + 5,213, 16, 38, 2,159, 0, 0, 16, 6, 0, 57, 0, 0, 0, 0,255,255, 0,100,254, 99, 4,109, 4, 96, 16, 38, 2,159, 0, 0, + 16, 6, 0, 89, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 4,209, 7,114, 16, 39, 11,179, 0, 0, 1,124, 16, 6, 0, 58, 0, 0, +255,255, 0, 0, 0, 0, 4,209, 6,109, 16, 38, 0, 67,192, 7, 16, 6, 0, 90, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 4,209, + 7,114, 16, 39, 11,177, 0, 0, 1,124, 16, 6, 0, 58, 0, 0,255,255, 0, 0, 0, 0, 4,209, 6,109, 16, 38, 0,118, 64, 7, + 16, 6, 0, 90, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 4,209, 7, 52, 16, 39, 0,106, 0, 0, 1, 36, 16, 6, 0, 58, 0, 0, +255,255, 0, 0, 0, 0, 4,209, 5,191, 16, 38, 0,106, 0,175, 16, 6, 0, 90, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 4,209, + 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 58, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 4,209, 6, 16, 16, 38, 2,131, 0, 0, + 16, 6, 0, 90, 0, 0, 0, 0,255,255, 0, 0,254, 99, 4,209, 5,213, 16, 38, 2,159, 0, 0, 16, 6, 0, 58, 0, 0, 0, 0, +255,255, 0, 0,254, 99, 4,209, 4, 96, 16, 38, 2,159, 0, 0, 16, 6, 0, 90, 0, 0, 0, 0,255,255, 0, 18, 0, 0, 4,190, + 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 59, 0, 0, 0, 0,255,255, 0, 76, 0, 0, 4,133, 6, 16, 16, 38, 2,131, 0, 0, + 16, 6, 0, 91, 0, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7, 80, 16, 38, 11,185, 0, 0, 16, 6, 0, 60, 0, 0, 0, 0, +255,255, 0,104,254, 86, 4,129, 6, 16, 16, 38, 2,131, 0, 0, 16, 6, 0, 92, 0, 0, 0, 0,255,255, 0,156,254, 99, 4,145, + 5,213, 16, 38, 2,159, 50, 0, 18, 6, 0, 61, 0, 0, 0, 0,255,255, 0,203,254, 99, 4, 16, 4, 98, 16, 38, 2,159, 0, 0, + 18, 6, 0, 93, 0, 0, 0, 0,255,255, 0,156,254,155, 4,145, 5,213, 16, 38, 2,173, 50, 0, 16, 6, 0, 61, 0, 0, 0, 0, +255,255, 0,203,254,155, 4, 16, 4, 98, 16, 38, 2,173, 0, 0, 16, 6, 0, 93, 0, 0, 0, 0,255,255, 0,195,254,155, 4, 27, + 6, 20, 16, 38, 2,173, 0, 0, 16, 6, 0, 75, 0, 0, 0, 0,255,255, 0,195, 0, 0, 4, 39, 7, 80, 16, 38, 11,185, 0, 0, + 16, 6, 1, 65, 0, 0, 0, 0,255,255, 0, 37,254, 99, 4,172, 5,213, 16, 38, 2,159, 0, 0, 16, 6, 0, 36, 0, 0, 0, 0, +255,255, 0,133,254, 99, 4, 35, 4,123, 16, 38, 2,159, 0, 0, 16, 6, 0, 68, 0, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, + 7,249, 16, 38, 11,184, 0,128, 16, 38, 0, 36, 0, 0, 16, 7, 11,179, 0, 0, 2, 3, 0, 0,255,255, 0,133,255,227, 4, 35, + 7,162, 16, 39, 2,124, 0, 0, 1, 60, 18, 6, 0,197, 0, 0,255,255, 0,197,254, 99, 4, 78, 5,213, 16, 38, 2,159, 18, 0, + 16, 6, 0, 40, 0, 0, 0, 0,255,255, 0,123,254, 99, 4, 88, 4,123, 16, 38, 2,159, 14, 0, 16, 6, 0, 72, 0, 0, 0, 0, +255,255, 0,197, 0, 0, 4, 78, 7, 94, 16, 39, 11,178, 0, 42, 1,117, 16, 6, 0, 40, 0, 0,255,255, 0,123,255,227, 4, 88, + 6, 55, 16, 38, 2,110, 0, 0, 16, 6, 0, 72, 0, 0, 0, 0,255,255, 0,201,254, 99, 4, 6, 5,213, 16, 38, 2,159, 0, 0, + 16, 6, 0, 44, 0, 0, 0, 0,255,255, 0,178,254, 99, 4, 68, 6, 20, 16, 38, 2,159, 0, 0, 16, 6, 0, 76, 0, 0, 0, 0, +255,255, 0,117,254, 99, 4, 92, 5,240, 16, 38, 2,159, 0, 0, 16, 6, 0, 50, 0, 0, 0, 0,255,255, 0,137,254, 99, 4, 72, + 4,123, 16, 38, 2,159, 0, 0, 16, 6, 0, 82, 0, 0, 0, 0,255,255, 0,147,254, 99, 4, 61, 5,213, 16, 38, 2,159, 0, 0, + 16, 6, 0, 56, 0, 0, 0, 0,255,255, 0,195,254, 99, 4, 27, 4, 94, 16, 38, 2,159, 0, 0, 16, 6, 0, 88, 0, 0, 0, 0, +255,255, 0, 37, 0, 0, 4,172, 7,114, 16, 39, 11,179, 0, 0, 1,124, 16, 6, 0, 60, 0, 0,255,255, 0,104,254, 86, 4,129, + 6,109, 16, 38, 0, 67,204, 7, 16, 6, 0, 92, 0, 0, 0, 0,255,255, 0, 37,254, 99, 4,172, 5,213, 16, 38, 2,159, 0, 0, + 16, 6, 0, 60, 0, 0, 0, 0,255,255, 0,104,254, 86, 4,129, 4, 96, 16, 39, 2,159, 0,250, 0, 0, 16, 6, 0, 92, 0, 0, +255,255, 0, 37, 0, 0, 4,172, 7, 94, 16, 39, 11,178, 0, 0, 1,117, 16, 6, 0, 60, 0, 0,255,255, 0,104,254, 86, 4,129, + 6, 55, 16, 38, 2,110, 0, 0, 16, 6, 0, 92, 0, 0, 0, 0,255,255, 0, 70,255,230, 4,149, 6,114, 16, 38, 2,237, 0, 0, + 16, 6, 6, 66, 0, 0, 0, 0,255,255, 0, 70,255,230, 4,149, 6,114, 16, 38, 2,237, 0, 0, 16, 6, 6,122, 0, 0, 0, 0, +255,255, 0, 70,255,230, 4,149, 6,114, 16, 38, 2,237, 0, 0, 16, 6, 6, 79, 0, 0, 0, 0,255,255, 0, 70,255,230, 4,149, + 6,114, 16, 38, 2,237, 0, 0, 16, 6, 6, 92, 0, 0, 0, 0,255,255, 0, 70,255,230, 4,149, 6,114, 16, 38, 2,237, 0, 0, + 16, 6, 6, 80, 0, 0, 0, 0,255,255, 0, 70,255,230, 4,149, 6,114, 16, 38, 2,237, 0, 0, 16, 6, 6, 93, 0, 0, 0, 0, +255,255, 0, 70,255,230, 4,149, 7,209, 16, 38, 2,237, 0, 0, 16, 6, 6, 81, 0, 0, 0, 0,255,255, 0, 70,255,230, 4,149, + 7,209, 16, 38, 2,237, 0, 0, 16, 6, 6, 94, 0, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, 6,114, 16, 38, 2,206, 0, 0, + 16, 7, 6, 66,254,162, 0, 0,255,255, 0, 37, 0, 0, 4,172, 6,114, 16, 38, 2,206, 0, 0, 16, 7, 6,122,254,112, 0, 0, +255,255,254,107, 0, 0, 4,172, 6,114, 16, 38, 2,206, 0, 0, 16, 7, 6, 79,253,118, 0, 0,255,255,254,107, 0, 0, 4,172, + 6,114, 16, 38, 2,206, 0, 0, 16, 7, 6, 92,253,118, 0, 0,255,255,255, 26, 0, 0, 4,172, 6,114, 16, 38, 2,206, 0, 0, + 16, 7, 6, 80,253,243, 0, 0,255,255,255, 6, 0, 0, 4,172, 6,114, 16, 38, 2,206, 0, 0, 16, 7, 6, 93,253,243, 0, 0, +255,255,255,193, 0, 0, 4,172, 7,209, 16, 38, 2,206, 0, 0, 16, 7, 6, 81,254,162, 0, 0,255,255,255,143, 0, 0, 4,172, + 7,209, 16, 38, 2,206, 0, 0, 16, 7, 6, 94,254,112, 0, 0,255,255, 0,169,255,234, 4, 40, 6,114, 16, 38, 2,241, 0, 0, + 16, 6, 6, 66, 0, 0, 0, 0,255,255, 0,169,255,234, 4, 40, 6,114, 16, 38, 2,241, 0, 0, 16, 6, 6,122, 0, 0, 0, 0, +255,255, 0,169,255,234, 4, 40, 6,114, 16, 38, 2,241, 0, 0, 16, 6, 6, 79, 0, 0, 0, 0,255,255, 0,169,255,234, 4, 40, + 6,114, 16, 38, 2,241, 0, 0, 16, 6, 6, 92, 0, 0, 0, 0,255,255, 0,169,255,234, 4, 40, 6,114, 16, 38, 2,241, 0, 0, + 16, 6, 6, 80, 0, 0, 0, 0,255,255, 0,169,255,234, 4, 40, 6,114, 16, 38, 2,241, 0, 0, 16, 6, 6, 93, 0, 0, 0, 0, +255,255,255,126, 0, 0, 4, 78, 6,114, 16, 38, 2,210, 0, 0, 16, 7, 6, 66,253,143, 0, 0,255,255,255,126, 0, 0, 4, 78, + 6,114, 16, 38, 2,210, 0, 0, 16, 7, 6,122,253,143, 0, 0,255,255,253,138, 0, 0, 4, 78, 6,114, 16, 38, 2,210, 0, 0, + 16, 7, 6, 79,252,149, 0, 0,255,255,253,138, 0, 0, 4, 78, 6,114, 16, 38, 2,210, 0, 0, 16, 7, 6, 92,252,149, 0, 0, +255,255,254, 7, 0, 0, 4, 78, 6,114, 16, 38, 2,210, 0, 0, 16, 7, 6, 80,252,224, 0, 0,255,255,253,243, 0, 0, 4, 78, + 6,114, 16, 38, 2,210, 0, 0, 16, 7, 6, 93,252,224, 0, 0,255,255, 0,195,254, 86, 4, 27, 6,114, 16, 38, 2,243, 0, 0, + 16, 6, 6, 66, 0, 0, 0, 0,255,255, 0,195,254, 86, 4, 27, 6,114, 16, 38, 2,243, 0, 0, 16, 6, 6,122, 0, 0, 0, 0, +255,255, 0,195,254, 86, 4, 27, 6,114, 16, 38, 2,243, 0, 0, 16, 6, 6, 79, 0, 0, 0, 0,255,255, 0,195,254, 86, 4, 27, + 6,114, 16, 38, 2,243, 0, 0, 16, 6, 6, 92, 0, 0, 0, 0,255,255, 0,195,254, 86, 4, 30, 6,114, 16, 38, 2,243, 0, 0, + 16, 6, 6, 80, 0, 0, 0, 0,255,255, 0,195,254, 86, 4, 30, 6,114, 16, 38, 2,243, 0, 0, 16, 6, 6, 93, 0, 0, 0, 0, +255,255, 0,195,254, 86, 4, 27, 7,209, 16, 38, 2,243, 0, 0, 16, 6, 6, 81, 0, 0, 0, 0,255,255, 0,195,254, 86, 4, 27, + 7,209, 16, 38, 2,243, 0, 0, 16, 6, 6, 94, 0, 0, 0, 0,255,255,255, 76, 0, 0, 4, 72, 6,114, 16, 38, 2,212, 0, 0, + 16, 7, 6, 66,253, 93, 0, 0,255,255,255, 76, 0, 0, 4, 72, 6,114, 16, 38, 2,212, 0, 0, 16, 7, 6,122,253, 93, 0, 0, +255,255,253, 63, 0, 0, 4, 72, 6,114, 16, 38, 2,212, 0, 0, 16, 7, 6, 79,252, 74, 0, 0,255,255,253, 63, 0, 0, 4, 72, + 6,114, 16, 38, 2,212, 0, 0, 16, 7, 6, 92,252, 74, 0, 0,255,255,253,163, 0, 0, 4, 72, 6,114, 16, 38, 2,212, 0, 0, + 16, 7, 6, 80,252,124, 0, 0,255,255,253,143, 0, 0, 4, 72, 6,114, 16, 38, 2,212, 0, 0, 16, 7, 6, 93,252,124, 0, 0, +255,255,254, 99, 0, 0, 4, 72, 7,209, 16, 38, 2,212, 0, 0, 16, 7, 6, 81,253, 68, 0, 0,255,255,254, 99, 0, 0, 4, 72, + 7,209, 16, 38, 2,212, 0, 0, 16, 7, 6, 94,253, 68, 0, 0,255,255, 1, 54, 0, 0, 3,207, 6,114, 16, 38, 2,245, 0, 0, + 16, 6, 6, 66, 0, 0, 0, 0,255,255, 1, 54, 0, 0, 3,207, 6,114, 16, 38, 2,245, 0, 0, 16, 6, 6,122, 0, 0, 0, 0, +255,255, 0,245, 0, 0, 3,240, 6,114, 16, 38, 2,245, 0, 0, 16, 6, 6, 79, 0, 0, 0, 0,255,255, 0,245, 0, 0, 3,240, + 6,114, 16, 38, 2,245, 0, 0, 16, 6, 6, 92, 0, 0, 0, 0,255,255, 1, 39, 0, 0, 4, 30, 6,114, 16, 38, 2,245, 0, 0, + 16, 6, 6, 80, 0, 0, 0, 0,255,255, 1, 19, 0, 0, 4, 30, 6,114, 16, 38, 2,245, 0, 0, 16, 6, 6, 93, 0, 0, 0, 0, +255,255, 1, 31, 0, 0, 3,207, 7,209, 16, 38, 2,245, 0, 0, 16, 6, 6, 81, 0, 0, 0, 0,255,255, 1, 31, 0, 0, 3,207, + 7,209, 16, 38, 2,245, 0, 0, 16, 6, 6, 94, 0, 0, 0, 0,255,255,255,126, 0, 0, 4, 6, 6,114, 16, 38, 2,214, 0, 0, + 16, 7, 6, 66,253,143, 0, 0,255,255,255,126, 0, 0, 4, 6, 6,114, 16, 38, 2,214, 0, 0, 16, 7, 6,122,253,143, 0, 0, +255,255,253,163, 0, 0, 4, 6, 6,114, 16, 38, 2,214, 0, 0, 16, 7, 6, 79,252,174, 0, 0,255,255,253,163, 0, 0, 4, 6, + 6,114, 16, 38, 2,214, 0, 0, 16, 7, 6, 92,252,174, 0, 0,255,255,254, 7, 0, 0, 4, 6, 6,114, 16, 38, 2,214, 0, 0, + 16, 7, 6, 80,252,224, 0, 0,255,255,253,243, 0, 0, 4, 6, 6,114, 16, 38, 2,214, 0, 0, 16, 7, 6, 93,252,224, 0, 0, +255,255,254,174, 0, 0, 4, 6, 7,209, 16, 38, 2,214, 0, 0, 16, 7, 6, 81,253,143, 0, 0,255,255,254,174, 0, 0, 4, 6, + 7,209, 16, 38, 2,214, 0, 0, 16, 7, 6, 94,253,143, 0, 0,255,255, 0,137,255,227, 4, 72, 6,114, 16, 38, 2,251, 0, 0, + 16, 6, 6, 66, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, 6,114, 16, 38, 2,251, 0, 0, 16, 6, 6,122, 0, 0, 0, 0, +255,255, 0,137,255,227, 4, 72, 6,114, 16, 38, 2,251, 0, 0, 16, 6, 6, 79, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, + 6,114, 16, 38, 2,251, 0, 0, 16, 6, 6, 92, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, 6,114, 16, 38, 2,251, 0, 0, + 16, 6, 6, 80, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, 6,114, 16, 38, 2,251, 0, 0, 16, 6, 6, 93, 0, 0, 0, 0, +255,255,255,201,255,227, 4, 92, 6,114, 16, 38, 2,220, 0, 0, 16, 7, 6, 66,253,218, 0, 0,255,255,255,126,255,227, 4, 92, + 6,114, 16, 38, 2,220, 0, 0, 16, 7, 6,122,253,143, 0, 0,255,255,253,138,255,227, 4, 92, 6,114, 16, 38, 2,220, 0, 0, + 16, 7, 6, 79,252,149, 0, 0,255,255,253,138,255,227, 4, 92, 6,114, 16, 38, 2,220, 0, 0, 16, 7, 6, 92,252,149, 0, 0, +255,255,254,157,255,227, 4, 92, 6,114, 16, 38, 2,220, 0, 0, 16, 7, 6, 80,253,118, 0, 0,255,255,254,137,255,227, 4, 92, + 6,114, 16, 38, 2,220, 0, 0, 16, 7, 6, 93,253,118, 0, 0,255,255, 0, 51,255,255, 4,105, 6,114, 16, 38, 3, 1, 0, 0, + 16, 6, 6, 66, 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, 6,114, 16, 38, 3, 1, 0, 0, 16, 6, 6,122, 0, 0, 0, 0, +255,255, 0, 51,255,255, 4,105, 6,114, 16, 38, 3, 1, 0, 0, 16, 6, 6, 79, 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, + 6,114, 16, 38, 3, 1, 0, 0, 16, 6, 6, 92, 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, 6,114, 16, 38, 3, 1, 0, 0, + 16, 6, 6, 80, 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, 6,114, 16, 38, 3, 1, 0, 0, 16, 6, 6, 93, 0, 0, 0, 0, +255,255, 0, 51,255,255, 4,105, 7,209, 16, 38, 3, 1, 0, 0, 16, 6, 6, 81, 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, + 7,209, 16, 38, 3, 1, 0, 0, 16, 6, 6, 94, 0, 0, 0, 0,255,255,254,232, 0, 0, 4,172, 6,114, 16, 38, 2,225, 0, 0, + 16, 7, 6,122,252,249, 0, 0,255,255,253, 63, 0, 0, 4,172, 6,114, 16, 38, 2,225, 0, 0, 16, 7, 6, 92,252, 74, 0, 0, +255,255,253, 68, 0, 0, 4,172, 6,114, 16, 38, 2,225, 0, 0, 16, 7, 6, 93,252, 49, 0, 0,255,255,254, 24, 0, 0, 4,172, + 7,209, 16, 38, 2,225, 0, 0, 16, 7, 6, 94,252,249, 0, 0,255,255, 0, 70,255,227, 4,140, 6,114, 16, 38, 3, 5, 0, 0, + 16, 6, 6, 66, 0, 0, 0, 0,255,255, 0, 70,255,227, 4,140, 6,114, 16, 38, 3, 5, 0, 0, 16, 6, 6,122, 0, 0, 0, 0, +255,255, 0, 70,255,227, 4,140, 6,114, 16, 38, 3, 5, 0, 0, 16, 6, 6, 79, 0, 0, 0, 0,255,255, 0, 70,255,227, 4,140, + 6,114, 16, 38, 3, 5, 0, 0, 16, 6, 6, 92, 0, 0, 0, 0,255,255, 0, 70,255,227, 4,140, 6,114, 16, 38, 3, 5, 0, 0, + 16, 6, 6, 80, 0, 0, 0, 0,255,255, 0, 70,255,227, 4,140, 6,114, 16, 38, 3, 5, 0, 0, 16, 6, 6, 93, 0, 0, 0, 0, +255,255, 0, 70,255,227, 4,140, 7,209, 16, 38, 3, 5, 0, 0, 16, 6, 6, 81, 0, 0, 0, 0,255,255, 0, 70,255,227, 4,140, + 7,209, 16, 38, 3, 5, 0, 0, 16, 6, 6, 94, 0, 0, 0, 0,255,255,255,201, 0, 0, 4,135, 6,114, 16, 38, 2,229, 0, 0, + 16, 7, 6, 66,253,218, 0, 0,255,255,255,101, 0, 0, 4,135, 6,114, 16, 38, 2,229, 0, 0, 16, 7, 6,122,253,118, 0, 0, +255,255,253,138, 0, 0, 4,135, 6,114, 16, 38, 2,229, 0, 0, 16, 7, 6, 79,252,149, 0, 0,255,255,253,138, 0, 0, 4,135, + 6,114, 16, 38, 2,229, 0, 0, 16, 7, 6, 92,252,149, 0, 0,255,255,254,182, 0, 0, 4,135, 6,114, 16, 38, 2,229, 0, 0, + 16, 7, 6, 80,253,143, 0, 0,255,255,254,162, 0, 0, 4,135, 6,114, 16, 38, 2,229, 0, 0, 16, 7, 6, 93,253,143, 0, 0, +255,255,254,249, 0, 0, 4,135, 7,209, 16, 38, 2,229, 0, 0, 16, 7, 6, 81,253,218, 0, 0,255,255,254,174, 0, 0, 4,135, + 7,209, 16, 38, 2,229, 0, 0, 16, 7, 6, 94,253,143, 0, 0,255,255, 0, 70,255,230, 4,149, 6,102, 16, 38, 2,237, 0, 0, + 16, 6, 0, 67, 0, 0, 0, 0,255,255, 0, 70,255,230, 4,149, 6,102, 16, 6, 2,232, 0, 0,255,255, 0,169,255,234, 4, 40, + 6,102, 16, 38, 2,241, 0, 0, 16, 6, 0, 67, 0, 0, 0, 0,255,255, 0,169,255,234, 4, 40, 6,102, 16, 6, 2,233, 0, 0, +255,255, 0,195,254, 86, 4, 27, 6,102, 16, 38, 2,243, 0, 0, 16, 6, 0, 67, 0, 0, 0, 0,255,255, 0,195,254, 86, 4, 27, + 6,102, 16, 6, 2,234, 0, 0,255,255, 1, 23, 0, 0, 3,207, 6,102, 16, 38, 2,245, 0, 0, 16, 6, 0, 67, 0, 0, 0, 0, +255,255, 1, 54, 0, 0, 3,207, 6,102, 16, 6, 2,235, 0, 0,255,255, 0,137,255,227, 4, 72, 6,102, 16, 38, 2,251, 0, 0, + 16, 6, 0, 67, 0, 0, 0, 0,255,255, 0,137,255,227, 4, 72, 6,102, 16, 6, 3, 8, 0, 0,255,255, 0, 51,255,255, 4,105, + 6,102, 16, 38, 3, 1, 0, 0, 16, 6, 0, 67, 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, 6,102, 16, 6, 3, 9, 0, 0, +255,255, 0, 70,255,227, 4,140, 6,102, 16, 38, 3, 5, 0, 0, 16, 6, 0, 67, 0, 0, 0, 0,255,255, 0, 70,255,227, 4,140, + 6,102, 16, 6, 3, 10, 0, 0,255,255, 0, 70,254, 86, 4,149, 6,114, 16, 38, 5,146, 0, 0, 16, 6, 2,193,156, 0, 0, 0, +255,255, 0, 70,254, 86, 4,149, 6,114, 16, 38, 5,147, 0, 0, 16, 6, 2,193,156, 0, 0, 0,255,255, 0, 70,254, 86, 4,149, + 6,114, 16, 38, 5,148, 0, 0, 16, 6, 2,193,156, 0, 0, 0,255,255, 0, 70,254, 86, 4,149, 6,114, 16, 38, 5,149, 0, 0, + 16, 6, 2,193,156, 0, 0, 0,255,255, 0, 70,254, 86, 4,149, 6,114, 16, 38, 2,193,156, 0, 16, 6, 5,150, 0, 0, 0, 0, +255,255, 0, 70,254, 86, 4,149, 6,114, 16, 38, 2,193,156, 0, 16, 6, 5,151, 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,149, + 7,209, 16, 38, 5,152, 0, 0, 16, 6, 2,193,156, 0, 0, 0,255,255, 0, 70,254, 86, 4,149, 7,209, 16, 38, 5,153, 0, 0, + 16, 6, 2,193,156, 0, 0, 0,255,255, 0, 37,254, 86, 4,172, 6,114, 16, 38, 5,154, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0, +255,255, 0, 37,254, 86, 4,172, 6,114, 16, 38, 5,155, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0,255,255,254,107,254, 86, 4,172, + 6,114, 16, 38, 5,156, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0,255,255,254,107,254, 86, 4,172, 6,114, 16, 38, 5,157, 0, 0, + 16, 6, 6, 65, 0, 0, 0, 0,255,255,255, 26,254, 86, 4,172, 6,114, 16, 38, 6, 65, 0, 0, 16, 6, 5,158, 0, 0, 0, 0, +255,255,255, 6,254, 86, 4,172, 6,114, 16, 38, 6, 65, 0, 0, 16, 6, 5,159, 0, 0, 0, 0,255,255,255,193,254, 86, 4,172, + 7,209, 16, 38, 5,160, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0,255,255,255,143,254, 86, 4,172, 7,209, 16, 38, 5,161, 0, 0, + 16, 6, 6, 65, 0, 0, 0, 0,255,255, 0,195,254, 86, 4, 27, 6,114, 16, 38, 5,174, 0, 0, 16, 7, 2,193,254,200, 0, 0, +255,255, 0,195,254, 86, 4, 27, 6,114, 16, 38, 5,175, 0, 0, 16, 7, 2,193,254,200, 0, 0,255,255, 0,195,254, 86, 4, 27, + 6,114, 16, 38, 5,176, 0, 0, 16, 7, 2,193,254,200, 0, 0,255,255, 0,195,254, 86, 4, 27, 6,114, 16, 38, 5,177, 0, 0, + 16, 7, 2,193,254,200, 0, 0,255,255, 0,195,254, 86, 4, 30, 6,114, 16, 39, 2,193,254,200, 0, 0, 16, 6, 5,178, 0, 0, +255,255, 0,195,254, 86, 4, 30, 6,114, 16, 39, 2,193,254,200, 0, 0, 16, 6, 5,179, 0, 0,255,255, 0,195,254, 86, 4, 27, + 7,209, 16, 38, 5,180, 0, 0, 16, 7, 2,193,254,200, 0, 0,255,255, 0,195,254, 86, 4, 27, 7,209, 16, 38, 5,181, 0, 0, + 16, 7, 2,193,254,200, 0, 0,255,255,255, 76,254, 86, 4, 72, 6,114, 16, 38, 5,182, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0, +255,255,255, 76,254, 86, 4, 72, 6,114, 16, 38, 5,183, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0,255,255,253, 63,254, 86, 4, 72, + 6,114, 16, 38, 5,184, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0,255,255,253, 63,254, 86, 4, 72, 6,114, 16, 38, 5,185, 0, 0, + 16, 6, 6, 65, 0, 0, 0, 0,255,255,253,163,254, 86, 4, 72, 6,114, 16, 38, 6, 65, 0, 0, 16, 6, 5,186, 0, 0, 0, 0, +255,255,253,143,254, 86, 4, 72, 6,114, 16, 38, 6, 65, 0, 0, 16, 6, 5,187, 0, 0, 0, 0,255,255,254, 99,254, 86, 4, 72, + 7,209, 16, 38, 5,188, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0,255,255,254, 99,254, 86, 4, 72, 7,209, 16, 38, 5,189, 0, 0, + 16, 6, 6, 65, 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,140, 6,114, 16, 38, 5,230, 0, 0, 16, 6, 2,193, 0, 0, 0, 0, +255,255, 0, 70,254, 86, 4,140, 6,114, 16, 38, 5,231, 0, 0, 16, 6, 2,193, 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,140, + 6,114, 16, 38, 5,232, 0, 0, 16, 6, 2,193, 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,140, 6,114, 16, 38, 5,233, 0, 0, + 16, 6, 2,193, 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,140, 6,114, 16, 38, 2,193, 0, 0, 16, 6, 5,234, 0, 0, 0, 0, +255,255, 0, 70,254, 86, 4,140, 6,114, 16, 38, 2,193, 0, 0, 16, 6, 5,235, 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,140, + 7,209, 16, 38, 5,236, 0, 0, 16, 6, 2,193, 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,140, 7,209, 16, 38, 5,237, 0, 0, + 16, 6, 2,193, 0, 0, 0, 0,255,255,255,201,254, 86, 4,135, 6,114, 16, 38, 5,238, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0, +255,255,255,101,254, 86, 4,135, 6,114, 16, 38, 5,239, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0,255,255,253,138,254, 86, 4,135, + 6,114, 16, 38, 5,240, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0,255,255,253,138,254, 86, 4,135, 6,114, 16, 38, 5,241, 0, 0, + 16, 6, 6, 65, 0, 0, 0, 0,255,255,254,182,254, 86, 4,135, 6,114, 16, 38, 6, 65, 0, 0, 16, 6, 5,242, 0, 0, 0, 0, +255,255,254,162,254, 86, 4,135, 6,114, 16, 38, 6, 65, 0, 0, 16, 6, 5,243, 0, 0, 0, 0,255,255,254,249,254, 86, 4,135, + 7,209, 16, 38, 5,244, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0,255,255,254,174,254, 86, 4,135, 7,209, 16, 38, 5,245, 0, 0, + 16, 6, 6, 65, 0, 0, 0, 0,255,255, 0, 70,255,230, 4,149, 6, 72, 16, 38, 2,130, 0, 0, 16, 6, 2,237, 0, 0, 0, 0, +255,255, 0, 70,255,230, 4,149, 5,246, 16, 38, 2,128, 0, 0, 16, 6, 2,237, 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,149, + 6,102, 16, 38, 5,246, 0, 0, 16, 6, 2,193,156, 0, 0, 0,255,255, 0, 70,254, 86, 4,149, 4,122, 16, 38, 2,237, 0, 0, + 16, 6, 2,193,156, 0, 0, 0,255,255, 0, 70,254, 86, 4,149, 6,102, 16, 38, 2,232, 0, 0, 16, 6, 2,193,156, 0, 0, 0, +255,255, 0, 70,255,230, 4,149, 6, 55, 16, 38, 2,237, 0, 0, 16, 6, 6, 67, 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,149, + 6, 55, 16, 38, 6, 57, 0, 0, 16, 6, 2,193,156, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7,109, 16, 38, 11,184, 0, 0, + 16, 6, 2,206, 0, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7, 48, 16, 38, 11,189, 0, 0, 16, 6, 2,206, 0, 0, 0, 0, +255,255,255,135, 0, 0, 4,172, 6,102, 16, 38, 2,206, 0, 0, 16, 7, 6,110,254,112, 0, 0,255,255, 0, 25, 0, 0, 4,172, + 6,102, 16, 6, 2,197, 0, 0,255,255, 0, 37,254, 86, 4,172, 5,213, 16, 38, 2,206, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0, +255,255, 1,239, 4,194, 2,225, 6,114, 16, 6, 6, 66, 0, 0,255,255, 2, 30,254, 86, 2,250,255,164, 16, 6, 2,193, 0, 0, + 0, 1, 1,239, 4,194, 2,225, 6,114, 0, 8, 0, 0, 1, 16, 35, 53, 50, 53, 35, 53, 51, 2,225,241,142,142,241, 5,195,254, +255,100,157,175,255,255, 1, 31, 5, 29, 3,178, 6, 55, 16, 6, 2,110, 0, 0,255,255, 1, 31, 5, 70, 3,178, 7,139, 16, 38, + 0,106, 0, 0, 16, 7, 6, 67, 0, 0, 1, 84,255,255, 0,195,254, 86, 4, 27, 6,102, 16, 38, 5,250, 0, 0, 16, 7, 2,193, +254,200, 0, 0,255,255, 0,195,254, 86, 4, 27, 4,123, 16, 38, 2,243, 0, 0, 16, 7, 2,193,254,200, 0, 0,255,255, 0,195, +254, 86, 4, 27, 6,102, 16, 38, 2,234, 0, 0, 16, 7, 2,193,254,200, 0, 0,255,255, 0,195,254, 86, 4, 27, 6, 55, 16, 38, + 2,243, 0, 0, 16, 6, 6, 67, 0, 0, 0, 0,255,255, 0,195,254, 86, 4, 27, 6, 55, 16, 38, 6, 72, 0, 0, 16, 7, 2,193, +254,200, 0, 0,255,255,254,141, 0, 0, 4, 78, 6,102, 16, 38, 2,210, 0, 0, 16, 7, 6,110,253,118, 0, 0,255,255,255, 31, + 0, 0, 4, 78, 6,102, 16, 6, 2,199, 0, 0,255,255,254, 91, 0, 0, 4, 72, 6,102, 16, 38, 2,212, 0, 0, 16, 7, 6,110, +253, 68, 0, 0,255,255,254,237, 0, 0, 4, 72, 6,102, 16, 6, 2,200, 0, 0,255,255, 0,137,254, 86, 4, 72, 5,213, 16, 38, + 2,212, 0, 0, 16, 6, 6, 65, 0, 0, 0, 0,255,255, 0,245, 4,194, 3,240, 6,114, 16, 39, 6, 66,255, 6, 0, 0, 16, 7, + 6,110, 0,250, 0, 0, 0, 0,255,255, 1, 39, 4,194, 4, 30, 6,114, 16, 39, 6, 66,255, 56, 0, 0, 16, 6, 6,121,100, 0, +255,255, 1, 31, 4,194, 3,178, 7,209, 16, 38, 6, 66, 0, 0, 16, 7, 6, 67, 0, 0, 1,154,255,255, 1, 47, 0, 0, 3,207, + 6, 72, 16, 38, 2,130, 0, 0, 16, 6, 2,245, 0, 0, 0, 0,255,255, 1, 54, 0, 0, 3,207, 5,246, 16, 38, 2,128, 0, 0, + 16, 6, 2,245, 0, 0, 0, 0,255,255, 1, 23, 0, 0, 3,207, 7,216, 16, 38, 2,245, 0, 0, 16, 6, 6,108, 0, 0, 0, 0, +255,255, 1, 54, 0, 0, 3,207, 7,216, 16, 6, 2,205, 0, 0,255,255, 1, 31, 0, 0, 3,207, 6, 55, 16, 38, 2,245, 0, 0, + 16, 6, 6, 67, 0, 0, 0, 0,255,255, 1, 31, 0, 0, 3,207, 7,139, 16, 38, 2,245, 0, 0, 16, 6, 6, 68, 0, 0, 0, 0, +255,255, 0,201, 0, 0, 4, 6, 7,109, 16, 38, 11,184, 0, 0, 16, 6, 2,214, 0, 0, 0, 0,255,255, 0,201, 0, 0, 4, 6, + 7, 48, 16, 38, 11,189, 0, 0, 16, 6, 2,214, 0, 0, 0, 0,255,255,254,191, 0, 0, 4, 6, 6,102, 16, 38, 2,214, 0, 0, + 16, 7, 6,110,253,168, 0, 0,255,255,255, 31, 0, 0, 4, 6, 6,102, 16, 6, 2,201, 0, 0,255,255, 0,245, 4,194, 3,240, + 6,114, 16, 39, 6,122,255, 6, 0, 0, 16, 7, 6,110, 0,250, 0, 0, 0, 0,255,255, 1, 19, 4,194, 4, 30, 6,114, 16, 39, + 6,122,255, 36, 0, 0, 16, 6, 6,121,100, 0,255,255, 1, 31, 4,194, 3,178, 7,209, 16, 38, 6,122, 0, 0, 16, 7, 6, 67, + 0, 0, 1,154,255,255, 0, 51,255,255, 4,105, 6, 72, 16, 38, 2,130, 0, 0, 16, 6, 3, 1, 0, 0, 0, 0,255,255, 0, 51, +255,255, 4,105, 5,246, 16, 38, 2,128, 0, 0, 16, 6, 3, 1, 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, 7,216, 16, 38, + 3, 1, 0, 0, 16, 6, 6,108, 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, 7,216, 16, 6, 2,236, 0, 0,255,255, 0,190, +254, 86, 4, 84, 6,114, 16, 38, 2,253, 0, 0, 16, 6, 6, 66, 0, 0, 0, 0,255,255, 0,190,254, 86, 4, 84, 6,114, 16, 38, + 2,253, 0, 0, 16, 6, 6,122, 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, 6, 55, 16, 38, 3, 1, 0, 0, 16, 6, 6, 67, + 0, 0, 0, 0,255,255, 0, 51,255,255, 4,105, 7,139, 16, 38, 3, 1, 0, 0, 16, 6, 6, 68, 0, 0, 0, 0,255,255, 0, 37, + 0, 0, 4,172, 7,109, 16, 38, 11,184, 0, 0, 16, 6, 2,225, 0, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7, 48, 16, 38, + 11,189, 0, 0, 16, 6, 2,225, 0, 0, 0, 0,255,255,254, 91, 0, 0, 4,172, 6,102, 16, 38, 2,225, 0, 0, 16, 7, 6,110, +253, 68, 0, 0,255,255,254,112, 0, 0, 4,172, 6,102, 16, 6, 2,203, 0, 0,255,255,255,126, 0, 0, 4,117, 6,114, 16, 38, + 2,222, 0, 0, 16, 7, 6,122,253,143, 0, 0,255,255, 1, 23, 5, 70, 3,145, 7,216, 16, 38, 0,106, 0, 0, 16, 7, 6,110, + 0, 0, 1,114,255,255, 1, 63, 5, 70, 3,186, 7,216, 16, 6, 2,196, 0, 0,255,255, 1, 23, 4,238, 2,246, 6,102, 16, 6, + 0, 67, 0, 0,255,255, 0, 70,254, 86, 4,140, 6,102, 16, 38, 6, 2, 0, 0, 16, 6, 2,193, 0, 0, 0, 0,255,255, 0, 70, +254, 86, 4,140, 4, 96, 16, 38, 3, 5, 0, 0, 16, 6, 2,193, 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,140, 6,102, 16, 38, + 3, 10, 0, 0, 16, 6, 2,193, 0, 0, 0, 0,255,255, 0, 70,255,227, 4,140, 6, 55, 16, 38, 3, 5, 0, 0, 16, 6, 6, 67, + 0, 0, 0, 0,255,255, 0, 70,254, 86, 4,140, 6, 55, 16, 38, 6,114, 0, 0, 16, 6, 2,193, 0, 0, 0, 0,255,255,254,166, +255,227, 4, 92, 6,102, 16, 38, 2,220, 0, 0, 16, 7, 6,110,253,143, 0, 0,255,255,255,181,255,227, 4, 92, 6,102, 16, 6, + 2,202, 0, 0,255,255,254,166, 0, 0, 4,135, 6,102, 16, 38, 2,229, 0, 0, 16, 7, 6,110,253,143, 0, 0,255,255,255,206, + 0, 0, 4,135, 6,102, 16, 6, 2,204, 0, 0,255,255, 0, 74,254, 86, 4,135, 5,180, 16, 38, 2,229, 0, 0, 16, 6, 6, 65, + 0, 0, 0, 0,255,255, 1,219, 4,238, 3,186, 6,102, 16, 6, 0,118, 0, 0, 0, 1, 1,239, 4,194, 2,225, 6,114, 0, 8, + 0, 0, 1, 53, 51, 21, 35, 6, 51, 21, 34, 1,240,240,141, 1,143,241, 5,195,175,175,157,100, 0, 1, 1,100, 1,223, 3,109, + 2,131, 0, 3, 0, 17,182, 0,160, 2, 4, 1, 0, 4, 16,212,196, 49, 0, 16,212,236, 48, 1, 33, 21, 33, 1,100, 2, 9,253, +247, 2,131,164,255,255, 1,100, 1,223, 3,109, 2,131, 16, 6, 6,134, 0, 0, 0, 1, 0, 0, 1,236, 4,209, 2,121, 0, 3, + 0, 16,182, 2,182, 0,253, 4, 1, 0, 47,198, 49, 0, 16,252,236, 48, 17, 33, 21, 33, 4,209,251, 47, 2,121,141, 0, 0, 0, + 0, 1, 0, 0, 1,236, 4,209, 2,121, 0, 3, 0, 16,182, 2,182, 0,253, 4, 1, 0, 47,198, 49, 0, 16,252,236, 48, 17, 33, + 21, 33, 4,209,251, 47, 2,121,141, 0, 0, 0, 0, 1, 0, 0, 1,236, 4,209, 2,121, 0, 3, 0, 15,181, 2,182, 0, 4, 1, + 0, 47,196, 49, 0, 16,212,236, 48, 17, 33, 21, 33, 4,209,251, 47, 2,121,141, 0, 1, 0, 0, 1,236, 4,209, 2,121, 0, 3, + 0, 15,181, 2,182, 0, 4, 1, 0, 47,196, 49, 0, 16,212,236, 48, 17, 33, 21, 33, 4,209,251, 47, 2,121,141,255,255, 0, 0, +254, 29, 4,209,255, 93, 16, 38, 0, 66, 0, 0, 16, 7, 0, 66, 0, 0, 0,240, 0, 1, 1,207, 3,199, 3, 45, 6, 20, 0, 5, + 0, 24, 64, 11, 0,163, 3,181, 6, 3, 4, 0, 29, 1, 6, 16,212,252,212,204, 49, 0, 16,252,236, 48, 1, 35, 53, 19, 51, 3, + 2,203,252,196,154, 98, 3,199,207, 1,126,254,130, 0, 0, 0, 0, 1, 1,207, 3,199, 3, 45, 6, 20, 0, 5, 0, 24, 64, 11, + 3,163, 0,181, 6, 3, 4, 1, 29, 0, 6, 16,212,236,212,204, 49, 0, 16,252,236, 48, 1, 51, 21, 3, 35, 19, 2, 49,252,197, +153, 98, 6, 20,206,254,129, 1,127, 0, 0, 0, 0, 1, 1,147,254,225, 2,242, 1, 47, 0, 5, 0, 26,178, 3,163, 0,184, 1, + 1,182, 6, 3, 4, 1, 29, 0, 6, 16,212,236,212,204, 49, 0, 16,252,236, 48, 1, 51, 21, 3, 35, 19, 1,246,252,197,154, 99, + 1, 47,207,254,129, 1,127, 0, 0, 1, 1,207, 3,199, 3, 45, 6, 20, 0, 5, 0, 0, 1, 21, 19, 35, 3, 53, 2,203, 98,153, +197, 6, 20,206,254,129, 1,127,206, 0, 0, 0, 0, 2, 0,211, 3,199, 3,254, 6, 20, 0, 5, 0, 11, 0, 37, 64, 18, 6, 0, +163, 9, 3,181, 12, 3, 4, 0, 29, 1, 7, 29, 6, 9, 10, 12, 16,212,204,212,236,212,252,212,204, 49, 0, 16,252, 60,236, 50, + 48, 1, 35, 53, 19, 51, 3, 5, 35, 53, 19, 51, 3, 3,156,252,196,154, 98,254, 53,254,199,153, 98, 3,199,207, 1,126,254,130, +207,207, 1,126,254,130, 0, 0, 0, 2, 0,211, 3,199, 3,252, 6, 20, 0, 5, 0, 11, 0, 39, 64, 19, 9, 3,163, 6, 0,181, + 12, 9, 10, 6, 3, 4, 1, 29, 0, 6, 29, 7, 12, 16,212,236,212,236,212,204, 16,212,206, 49, 0, 16,252, 60,236, 50, 48, 1, + 51, 21, 3, 35, 19, 37, 51, 21, 3, 35, 19, 3, 0,252,197,153, 98,254, 53,252,196,154, 98, 6, 20,206,254,129, 1,127,206,206, +254,129, 1,127, 0, 2, 0,211,254,225, 3,252, 1, 47, 0, 5, 0, 11, 0, 42,180, 9, 3,163, 6, 0,184, 1, 1, 64, 13, 12, + 9, 10, 6, 3, 4, 1, 29, 0, 6, 29, 7, 12, 16,212,236,212,236,212,204, 16,212,206, 49, 0, 16,252, 60,236, 50, 48, 1, 51, + 21, 3, 35, 19, 37, 51, 21, 3, 35, 19, 3, 0,252,197,153, 98,254, 53,252,196,154, 98, 1, 47,207,254,129, 1,127,207,207,254, +129, 1,127, 0, 0, 2, 0,211, 3,199, 3,252, 6, 20, 0, 5, 0, 11, 0, 0, 1, 21, 19, 35, 3, 53, 33, 21, 19, 35, 3, 53, + 1,207, 98,153,197, 2,199, 98,154,196, 6, 20,206,254,129, 1,127,206,206,254,129, 1,127,206, 0, 1, 0,162,255, 59, 4, 47, + 5,213, 0, 11, 0, 39, 64, 20, 8, 4,203, 10, 2, 0,136, 6,202, 12, 3, 82, 5, 1, 81, 9, 82, 7, 0, 12, 16,212, 60,236, +252, 60,236, 49, 0, 16,228,244,212, 60,236, 50, 48, 1, 51, 17, 33, 21, 33, 17, 35, 17, 33, 53, 33, 2, 16,177, 1,110,254,146, +177,254,146, 1,110, 5,213,254, 92,153,251,163, 4, 93,153, 0, 0, 1, 0,162,255, 59, 4, 47, 5,213, 0, 19, 0, 60, 64, 31, + 18, 6,203, 0, 16, 8,203, 14, 10, 12, 4, 0, 2,202, 12,136, 20, 15, 0, 82, 17, 13, 1, 81, 9, 5, 82, 11, 7, 3, 20, 16, +212, 60, 60,236, 50,252, 60, 60,236, 50, 49, 0, 16,228,244,196, 50, 16,212, 60,238, 50, 16,238, 50, 48, 37, 33, 17, 35, 17, 33, + 53, 33, 17, 33, 53, 33, 17, 51, 17, 33, 21, 33, 17, 33, 4, 47,254,146,177,254,146, 1,110,254,146, 1,110,177, 1,110,254,146, + 1,110,223,254, 92, 1,164,154, 2, 31,153, 1,164,254, 92,153,253,225, 0, 0, 0, 1, 1, 63, 1,209, 3,145, 4, 33, 0, 11, + 0, 18,183, 9,208, 3, 12, 6, 86, 0, 12, 16,212,236, 49, 0, 16,212,228, 48, 1, 52, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, + 1, 63,172,125,124,173,174,125,124,171, 2,250,124,171,172,123,124,173,171, 0, 0, 1, 1, 63, 1,129, 3,225, 4,113, 0, 2, + 0, 0, 1, 17, 1, 1, 63, 2,162, 1,129, 2,240,254,136, 0, 0, 3, 0, 80, 0, 0, 4,127, 1, 49, 0, 3, 0, 7, 0, 11, + 0, 35, 64, 17, 8, 4, 0,162, 10, 6, 2, 4, 29, 5, 8, 29, 9, 1, 29, 0, 12, 16,212,252,212,236,212,236, 49, 0, 47, 60, + 60,236, 50, 50, 48, 19, 51, 17, 35, 1, 51, 17, 35, 1, 51, 17, 35, 80,252,252, 3, 51,252,252,254,102,252,252, 1, 49,254,207, + 1, 49,254,207, 1, 49,254,207, 0, 7, 0, 0, 0, 0, 4,209, 5,152, 0, 3, 0, 15, 0, 27, 0, 39, 0, 51, 0, 63, 0, 75, + 0,116, 64, 14, 3, 2, 37, 31, 1, 49, 0, 61, 13,200, 19, 31,200, 49,184, 1, 2,181, 37,200, 43,145, 67, 19,184, 1, 2, 64, + 38, 55, 7,200, 73, 25, 3, 70, 2, 58, 52, 1, 40, 0, 28, 16, 58, 80, 70,122, 52, 80, 64, 10, 80, 22,122, 4, 80, 16, 34, 80, + 46,122, 16, 28, 80, 64, 40, 47,196,236,196,244,236, 16,238,246,238, 16,238,246,238, 17, 18, 57, 18, 57, 17, 18, 57, 17, 57, 49, + 0, 47, 60,238, 50,238, 50,246,238,254,238, 16,238, 50, 57, 18, 57, 17, 18, 57, 57, 48, 19, 39, 1, 23, 1, 20, 22, 51, 50, 54, + 53, 52, 38, 35, 34, 6, 7, 52, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 19, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 7, 52, + 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 7, 52, 54, 51, 50, 22, 21, 20, 6, 35, + 34, 38, 72, 37, 4, 20, 39,252, 72, 95, 69, 68, 98, 99, 67, 69, 95,121,165,120,120,166,167,119,121,164, 76, 97, 69, 69, 97, 99, + 67, 69, 97,121,166,121,120,166,166,120,121,166, 3, 12, 97, 69, 70, 96, 98, 68, 69, 97,121,166,121,120,167,167,120,121,166, 2, + 55, 97, 1,159, 96,253, 74, 71, 97, 99, 69, 67, 99, 97, 69,121,165,166,120,121,168,166, 3,211, 69, 97, 97, 69, 67, 99, 97, 69, +120,167,167,120,121,168,167,253, 34, 71, 97, 97, 71, 67, 99, 97, 69,120,166,166,120,121,168,167, 0, 7, 0, 0, 0, 0, 4,209, + 5,152, 0, 11, 0, 21, 0, 25, 0, 68, 0, 80, 0, 92, 0,104, 0, 0, 17, 52, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 54, 20, + 22, 50, 54, 53, 52, 38, 35, 34, 3, 39, 1, 23, 1, 52, 54, 50, 23, 22, 23, 54, 55, 54, 51, 50, 23, 22, 23, 54, 55, 54, 51, 50, + 22, 21, 20, 6, 35, 34, 39, 38, 39, 6, 7, 6, 35, 34, 39, 38, 39, 6, 7, 6, 35, 34, 38, 55, 20, 22, 51, 50, 54, 53, 52, 38, + 35, 34, 6, 5, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 5, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6,166,121,120,166,166, +120,121,166,121, 97,138, 97, 99, 67, 69,146, 37, 4, 20, 39,251,162,138,200, 69, 10, 9, 9, 10, 70,101,100, 69, 11, 8, 9, 10, + 70,101,100,139,139,100,101, 70, 10, 9, 8, 11, 69,100,101, 70, 10, 9, 9, 10, 70, 99,101,137,101, 79, 58, 56, 82, 82, 56, 58, + 79, 1,120, 81, 58, 58, 80, 82, 56, 58, 81, 1,122, 81, 58, 58, 80, 82, 56, 58, 81, 4,121,120,167,167,120,121,168,167,191,138, + 97, 97, 69, 67, 99,253, 24, 97, 1,159, 96,253, 74,121,165, 83, 12, 14, 14, 12, 83, 83, 12, 13, 13, 12, 83,166,120,121,168, 84, + 12, 13, 13, 12, 84, 84, 12, 14, 13, 13, 84,166,123, 71, 97, 99, 69, 67, 99, 97, 69, 71, 97, 97, 71, 67, 99, 97, 69, 71, 97, 97, + 71, 67, 99, 97, 0, 1, 1, 90, 0,141, 3, 47, 4, 35, 0, 6, 0, 26, 64, 12, 2, 4,252, 0,172, 7, 2, 3, 0,118, 5, 7, + 16,212,236, 50, 57, 49, 0, 16,244,236, 57, 48, 1, 21, 9, 1, 21, 1, 53, 3, 47,254,211, 1, 45,254, 43, 4, 35,191,254,244, +254,244,191, 1,162, 82, 0, 0, 0, 1, 1,164, 0,141, 3,121, 4, 35, 0, 6, 0, 26, 64, 12, 5, 3,252, 0,172, 7, 5, 1, +118, 3, 0, 7, 16,212, 60,236, 57, 49, 0, 16,244,236, 57, 48, 9, 1, 21, 1, 53, 9, 1, 1,164, 1,213,254, 43, 1, 45,254, +211, 4, 35,254, 94, 82,254, 94,191, 1, 12, 1, 12, 0, 0, 0,255,255, 0,208, 0, 0, 4, 3, 5,213, 16, 39, 0, 4,254,204, + 0, 0, 16, 7, 0, 4, 1, 52, 0, 0, 0, 0, 0, 3, 0,244, 0, 0, 4, 16, 5,240, 0, 23, 0, 27, 0, 37, 0, 0, 1, 35, + 17, 6, 7, 6, 7, 53, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 15, 1, 14, 1, 21, 3, 53, 51, 21, 3, 17, 55, 54, 55, 54, + 53, 52, 39, 38, 2,172,190, 31, 32, 89, 98, 94, 96, 95,104,186,111,110, 34, 33, 94, 88, 69, 38,197,203, 6, 45, 62, 23, 24, 66, + 37, 1,145, 3,173, 8, 12, 35, 68,188, 57, 28, 28, 96, 96,161, 76, 65, 66, 92, 86, 66, 84, 61,253,197,254,254, 5, 66,254, 82, + 45, 59, 44, 44, 49, 89, 55, 31,255,255, 0, 0, 5,187, 4,209, 6, 11, 16, 7, 0, 66, 0, 0, 7,158, 0, 0, 0, 1, 1,207, +254,242, 3,119, 6, 20, 0, 11, 0, 0, 1, 33, 21, 35, 17, 51, 21, 35, 17, 51, 21, 33, 1,207, 1,168,240,240,240,240,254, 88, + 6, 20,143,253, 69,143,253, 70,143, 0, 0, 0, 0, 1, 1, 90,254,242, 3, 2, 6, 20, 0, 11, 0, 0, 1, 17, 33, 53, 51, 17, + 35, 53, 51, 17, 35, 53, 3, 2,254, 88,240,240,240,240, 6, 20,248,222,143, 2,186,143, 2,187,143, 0, 0, 0,255,255, 0, 33, + 0, 0, 4,177, 5,241, 16, 39, 11,188,254,188, 0, 0, 16, 7, 11,188, 1, 28, 0, 0, 0, 0,255,255, 0, 33, 0, 0, 4, 3, + 5,241, 16, 39, 11,188,254,188, 0, 0, 16, 7, 0, 4, 1, 52, 0, 0, 0, 0,255,255, 0,208, 0, 0, 4,177, 5,241, 16, 39, + 0, 4,254,204, 0, 0, 16, 7, 11,188, 1, 28, 0, 0, 0, 0, 0, 3, 1, 61, 2,141, 3,149, 5,240, 0, 12, 0, 28, 0, 44, + 0, 0, 0, 52, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 34, 19, 34, 7, 6, 21, 20, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 39, + 50, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 2, 22, 24, 23, 34, 37, 23, 24, 24, 25, 70, 36, 87, 43, 44, 44, 43, + 87, 88, 43, 44, 44, 43, 88,149, 76, 76, 76, 76,149,150, 74, 75, 75, 76, 4, 32, 64, 23, 22, 22, 23, 32, 33, 20, 21, 1,161, 85, + 85,175,174, 85, 85, 85, 85,174,175, 85, 85, 89,110,109,215,214,110,109,109,110,214,215,109,110, 0, 2, 1, 72, 2,156, 3,136, + 6, 3, 0, 9, 0, 13, 0, 0, 1, 33, 17, 51, 21, 33, 53, 51, 17, 35, 19, 51, 21, 35, 1,122, 1, 40,230,253,192,230,180,180, +116,116, 5, 15,253,221, 80, 80, 1,211, 1, 68,130, 0, 0, 0, 0, 2, 1, 12, 2,156, 3,141, 5,223, 0, 10, 0, 13, 0, 53, +179, 11, 0, 12, 2,184, 1, 9,178, 8, 4, 6,186, 1, 10, 0, 0, 1, 21, 64, 11, 14, 12, 9, 11, 7, 87, 3, 5, 1, 9, 14, + 16,212,212, 60,196,236, 50, 17, 57, 49, 0, 16,244,244,212, 60,236, 50, 17, 57, 48, 1, 51, 17, 51, 21, 35, 21, 35, 53, 33, 53, + 9, 1, 33, 2,119,162,116,116,138,254,125, 1,131,254,238, 1, 18, 5,223,253,230,111,186,186,121, 1,147,254, 99, 0, 0, 0, + 0, 1, 1, 63, 2,141, 3,125, 5,223, 0, 33, 0, 0, 1, 33, 21, 33, 21, 62, 1, 51, 50, 23, 22, 21, 20, 7, 6, 35, 34, 38, + 39, 53, 22, 23, 22, 51, 50, 54, 53, 52, 38, 35, 34, 7, 6, 7, 1,102, 1,214,254,157, 26, 54, 28,144, 84, 84, 88, 89,153, 74, +122, 48, 52, 63, 57, 60,104,112,116,103, 51, 47, 48, 44, 5,223, 95,204, 9, 8, 77, 76,131,132, 76, 76, 18, 18,114, 26, 15, 14, + 98, 91, 89,100, 10, 11, 20, 0, 0, 2, 1, 73, 2,141, 3,161, 5,240, 0, 29, 0, 41, 0, 0, 1, 21, 46, 1, 35, 34, 7, 6, + 21, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 35, 34, 38, 53, 52, 54, 51, 50, 23, 22, 3, 34, 6, 20, 22, 51, 50, 55, 54, 52, + 39, 38, 3, 93, 39, 88, 48,119, 62, 61, 32, 50, 53, 68,135, 73, 74, 76, 76,137,161,150,180,171, 46, 46, 46,180, 80, 92, 92, 80, + 83, 42, 42, 42, 42, 5,207,104, 20, 22, 81, 81,158, 59, 28, 30, 74, 74,137,135, 75, 74,208,225,212,222, 9, 8,254,142,104,184, +104, 50, 49,194, 49, 50, 0, 0, 0, 1, 1, 61, 2,156, 3,133, 5,223, 0, 6, 0, 0, 1, 33, 21, 1, 35, 1, 33, 1, 61, 2, + 72,254,180,131, 1, 67,254, 68, 5,223, 48,252,237, 2,228, 0, 0, 3, 1, 59, 2,140, 3,150, 5,238, 0, 14, 0, 46, 0, 61, + 0, 0, 1, 34, 7, 6, 20, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 21, 20, 7, + 6, 7, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 55, 20, 23, 22, 51, 50, 55, 54, 53, 52, 38, 35, 34, 7, 6, + 2,104, 84, 45, 46, 46, 47, 82, 85, 45, 46, 46, 47,192, 80, 45, 45, 75, 75,129,130, 75, 75, 45, 45, 80, 93, 49, 50, 80, 80,142, +141, 80, 80, 50, 49, 48, 39, 40, 75, 76, 40, 39, 78, 77, 75, 40, 39, 4, 41, 43, 42,154, 43, 43, 42, 43, 78, 77, 42, 43, 47, 18, + 50, 51, 71, 99, 59, 58, 58, 59, 99, 71, 51, 50, 18, 19, 56, 56, 89,113, 63, 64, 63, 64,112, 90, 56, 56,198, 67, 35, 36, 36, 35, + 67, 68, 72, 36, 36, 0, 0, 0, 0, 2, 1, 48, 2,141, 3,136, 5,240, 0, 15, 0, 46, 0, 0, 1, 50, 55, 54, 53, 52, 39, 38, + 35, 34, 7, 6, 21, 20, 23, 22, 3, 53, 30, 1, 51, 50, 55, 54, 53, 14, 1, 35, 34, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 21, + 20, 7, 6, 35, 34, 39, 38, 2, 83, 80, 45, 46, 46, 45, 80, 83, 43, 42, 42, 42,140, 40, 88, 47,120, 61, 61, 29,106, 68,136, 72, + 73, 75, 76,137,162, 75, 75, 90, 91,172, 45, 46, 46, 4, 15, 52, 52, 93, 92, 52, 52, 50, 49, 97, 98, 50, 49,254,159,104, 20, 22, + 81, 80,158, 56, 60, 74, 75,137,135, 74, 74,104,105,225,211,111,111, 8, 9, 0, 0, 1, 1, 28, 2,219, 3,182, 5, 44, 0, 11, + 0, 0, 1, 21, 33, 21, 33, 21, 35, 53, 33, 53, 33, 53, 2,158, 1, 24,254,232,106,254,232, 1, 24, 5, 44,249, 95,249,249, 95, +249, 0, 0, 0, 0, 1, 1, 28, 3,212, 3,182, 4, 51, 0, 3, 0, 0, 1, 33, 21, 33, 1, 28, 2,154,253,102, 4, 51, 95, 0, + 0, 2, 1, 28, 3, 97, 3,182, 4,165, 0, 3, 0, 7, 0, 0, 1, 33, 21, 33, 17, 33, 21, 33, 1, 28, 2,154,253,102, 2,154, +253,102, 3,193, 96, 1, 68, 95, 0, 1, 1,216, 2, 5, 2,250, 6, 2, 0, 12, 0, 0, 1, 14, 1, 21, 20, 22, 23, 35, 46, 1, + 52, 54, 55, 2,250, 84, 84, 84, 84,102, 94, 94, 94, 94, 6, 2,127,254,129,128,254,129,133,253,250,253,132, 0, 0, 1, 1,216, + 2, 5, 2,249, 6, 2, 0, 13, 0, 0, 1, 51, 30, 1, 21, 20, 6, 7, 35, 62, 1, 53, 52, 38, 1,216,101, 95, 93, 93, 95,101, + 84, 83, 83, 6, 2,132,253,125,126,253,132,130,254,127,128,254, 0, 1, 1, 65, 2,156, 3,144, 5, 31, 0, 19, 0, 32, 64, 6, + 0, 3, 14, 10, 11, 20, 16,212,220, 60, 47,204, 75, 49, 0, 64, 6, 6, 17, 12, 2, 11, 20, 16,212, 60,196,212,204, 48, 1, 17, + 35, 17, 52, 38, 35, 34, 6, 21, 17, 35, 17, 51, 21, 62, 1, 51, 50, 22, 3,144,116, 78, 78, 94,108,117,117, 41,113, 74,121,125, + 4, 23,254,133, 1,119, 89, 89,107, 92,254,158, 2,115, 97, 56, 56,134, 0, 0,255,255, 1, 61,255,241, 3,149, 3, 84, 16, 7, + 6,168, 0, 0,253,100, 0, 0,255,255, 1, 88, 0, 0, 3,147, 3, 67, 16, 7, 0,123, 0, 0,253,100, 0, 0,255,255, 1, 66, + 0, 0, 3,125, 3, 84, 16, 7, 0,116, 0, 0,253,100, 0, 0,255,255, 1, 70,255,241, 3,156, 3, 84, 16, 7, 0,117, 0, 0, +253,100, 0, 0,255,255, 1, 12, 0, 0, 3,141, 3, 67, 16, 7, 6,170, 0, 0,253,100, 0, 0,255,255, 1, 63,255,241, 3,125, + 3, 67, 16, 7, 6,171, 0, 0,253,100, 0, 0,255,255, 1, 73,255,241, 3,161, 3, 84, 16, 7, 6,172, 0, 0,253,100, 0, 0, +255,255, 1, 61, 0, 0, 3,133, 3, 67, 16, 7, 6,173, 0, 0,253,100, 0, 0,255,255, 1, 59,255,240, 3,150, 3, 82, 16, 7, + 6,174, 0, 0,253,100, 0, 0,255,255, 1, 48,255,241, 3,136, 3, 84, 16, 7, 6,175, 0, 0,253,100, 0, 0,255,255, 1, 28, + 0, 63, 3,182, 2,144, 16, 7, 6,176, 0, 0,253,100, 0, 0,255,255, 1, 28, 1, 56, 3,182, 1,151, 16, 7, 6,177, 0, 0, +253,100, 0, 0,255,255, 1, 28, 0,197, 3,182, 2, 9, 16, 7, 6,178, 0, 0,253,100, 0, 0,255,255, 1,216,255,105, 2,250, + 3,102, 16, 7, 6,179, 0, 0,253,100, 0, 0,255,255, 1,216,255,105, 2,249, 3,102, 16, 7, 6,180, 0, 0,253,100, 0, 0, +255,255, 1, 69,255,240, 3,140, 2,130, 16, 7, 4,193, 0, 0,253,100, 0, 0,255,255, 1, 49,255,240, 3,160, 2,130, 16, 7, + 4,199, 0, 0,253,100, 0, 0,255,255, 1, 58,255,240, 3,151, 2,130, 16, 7, 4,208, 0, 0,253,100, 0, 0,255,255, 1, 18, + 0, 0, 3,191, 2,115, 16, 7, 2,116, 0, 0,253,100, 0, 0,255,255, 1, 49,255,240, 3,160, 2,130, 16, 7, 4,200, 0, 0, +253,100, 0, 0, 0, 5, 0, 0, 0, 0, 4,209, 5,213, 0, 2, 0, 6, 0, 34, 0, 38, 0, 41, 0, 0, 1, 39, 21, 19, 39, 35, + 21, 3, 33, 19, 51, 17, 51, 17, 51, 21, 35, 21, 51, 21, 35, 17, 33, 3, 35, 17, 35, 17, 35, 53, 51, 53, 35, 53, 51, 5, 23, 51, + 53, 3, 23, 53, 1,181, 79,183, 57,126,196, 1, 16,211,230,196,162,162,162,162,254,240,211,230,196,162,162,162,162, 2, 18, 57, +126, 79, 79, 3,175,206,206,254,242,147,147, 3, 52,253,218, 2, 38,253,218,123,147,123,253,218, 2, 38,253,218, 2, 38,123,147, +123,123,147,147,254,242,206,206, 0, 1, 0, 37,255,227, 4, 37, 5,240, 0, 51, 0,112, 64, 60, 13, 0,231, 49, 15, 38, 24,231, + 22, 31,179, 32,178, 28,151, 40, 22, 35, 7,179, 6,178, 10,151, 3,150, 35,153, 52, 51, 40, 39, 49, 41, 45, 24, 22, 16, 3, 19, + 15, 23, 14, 38, 0, 45, 25, 13, 23, 19, 14, 50, 39, 19, 30, 31, 6, 23, 45, 52, 16,212,196,196, 50,236,196, 50,196, 17, 18, 57, + 57, 18, 57, 57, 17, 18, 57, 17, 23, 57, 18, 57, 57, 17, 57, 57, 49, 0, 16,228,244,236,244,236, 16,198, 50,238,246,238, 16,238, + 50,213, 60,238, 50, 48, 19, 18, 0, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 7, 33, 7, 33, 14, 1, 21, 20, 22, 23, 33, 7, 33, + 30, 1, 51, 50, 54, 55, 21, 14, 1, 35, 34, 0, 3, 35, 55, 51, 38, 39, 38, 53, 52, 55, 54, 55, 35, 55,211, 48, 1, 18,223, 84, +147, 74, 66,159, 78,146,174, 24, 1,225, 49,254, 70, 2, 1, 1, 1, 1,105, 49,254,211, 23,174,147, 79,157, 67, 72,148, 85,226, +254,237, 44,174, 49,117, 1, 1, 2, 2, 1, 1,166, 49, 3,180, 1, 27, 1, 33, 40, 42,207, 61, 68,208,204,108, 20, 45, 46, 15, + 38, 23,110,203,209, 67, 62,207, 42, 40, 1, 32, 1, 28,110, 12, 20, 45, 15, 18, 47, 19, 11,108, 0, 4, 0,106, 0, 0, 4,209, + 5,213, 0, 26, 0, 31, 0, 36, 0, 41, 0, 0, 19, 33, 32, 19, 51, 21, 35, 22, 7, 51, 21, 35, 6, 7, 6, 43, 1, 17, 35, 17, + 35, 53, 51, 53, 35, 53, 51, 55, 21, 33, 38, 35, 19, 33, 21, 51, 50, 55, 54, 39, 33, 21,197, 1,180, 1,130, 94,120, 95, 9, 8, + 94,114, 38, 97,126,225,234,202, 91, 91, 91, 91,202, 1,220, 77,165,253,254, 25,234,177,117, 7, 9,253,242, 5,213,254,247,116, + 58, 57,115,123, 70, 89,253,168, 3,114,115,115,116, 99, 99, 99,254, 67,116,231, 59, 56,115, 0, 0, 1, 0, 0,255,227, 4,209, + 5,240, 0, 54, 0, 0, 1, 54, 55, 54, 53, 52, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 4, 21, 20, 7, 51, 21, 35, 6, 15, 1, + 33, 21, 33, 6, 21, 20, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 36, 53, 52, 55, 35, 53, 51, 54, 55, 54, 55, 33, 53, 3, 63, 10, + 9, 55,166,143, 94,185, 92,105,190, 86,223, 1, 13, 21,156,233, 94,204, 39, 2, 58,252,167, 44,170,153,104,205,115,107,212,105, +252,254,248, 18,157,217, 9, 9, 72,136,254, 69, 3,175, 7, 9, 52, 99,113,133, 60, 59,205, 39, 39,241,200, 75, 61,123, 91, 47, + 9,123, 57, 98,123,137, 68, 73,215, 45, 45,224,213, 78, 64,123, 11, 10, 79, 47,123, 0, 0, 0, 0, 2, 0,130,254,211, 4, 79, + 6, 20, 0, 33, 0, 44, 0, 0, 1, 21, 38, 39, 38, 35, 17, 50, 55, 54, 55, 21, 6, 7, 6, 7, 17, 35, 17, 38, 39, 38, 17, 53, + 16, 55, 54, 55, 53, 55, 21, 22, 23, 22, 1, 3, 6, 7, 6, 7, 6, 23, 22, 23, 22, 4, 79, 91, 84, 85,101,101, 85, 84, 91, 89, + 92, 89, 91,100,185,115,212,212,121,178,101, 93, 89, 92,254,138, 1, 91, 67,118, 15, 14, 14, 25,108, 67, 4,164,213,105, 45, 45, +251,241, 45, 45,105,211, 72, 36, 34, 2,254,240, 1, 21, 23,117,214, 1, 57, 17, 1, 66,203,116, 23,230, 2,226, 2, 34, 35,251, +163, 3,249, 23, 66,117,170,161,102,180,108, 67, 0, 2, 0,140,255,228, 4, 49, 5,240, 0, 23, 0, 32, 0, 0, 37, 22, 51, 50, + 54, 55, 21, 14, 1, 35, 32, 0, 17, 16, 0, 33, 50, 22, 23, 21, 46, 1, 34, 15, 1, 6, 7, 6, 17, 16, 23, 22, 23, 2, 1, 95, +124,100,157, 84, 9,200,132,254,248,254,184, 1, 69, 1, 22,125,144, 61, 91,126,232,111,105, 8, 11,137,134, 12, 10,131, 55, 64, + 44,131, 5, 76, 1,168, 1, 93, 1,114, 1,149, 52, 30,130, 42, 58, 48, 78, 8, 14,178,254,175,254,204,190, 17, 11, 0, 0, 0, + 0, 1, 0, 84, 0, 0, 4, 72, 6, 20, 0, 26, 0, 0, 1, 3, 35, 19, 54, 55, 54, 53, 52, 38, 35, 34, 6, 7, 3, 35, 1, 51, + 3, 62, 1, 51, 50, 22, 21, 20, 6, 4, 51,135,184,135, 1, 2, 15, 93, 87,127,178, 33,123,184, 1, 47,184,116, 75,175, 98,139, +154, 11, 2,182,253, 74, 2,183, 4, 10, 71, 39, 81, 87,186,168,253,135, 6, 20,253,164, 97, 98,145,130, 32, 94, 0, 4, 0, 10, + 0, 0, 4,199, 5,213, 0, 3, 0, 9, 0, 13, 0, 35, 0, 0, 0, 32, 16, 32, 19, 34, 16, 51, 50, 16, 3, 33, 21, 33, 1, 17, + 51, 19, 17, 52, 54, 51, 21, 34, 6, 21, 17, 35, 3, 17, 20, 6, 35, 53, 50, 54, 3,101, 1, 98,254,158,177, 50, 50, 51,228, 1, + 98,254,158,253, 32,245,204, 87,220, 85, 38,245,204, 87,220, 85, 38, 3, 12,253,234, 1,149,254,236, 1, 20,254, 9,148, 1, 49, + 4,164,251, 81, 3,126,131,174,184, 62, 59,251, 92, 4,175,252,130,131,174,184, 62, 0, 0, 0, 0, 2, 0, 0, 3,147, 4,102, + 5,213, 0, 7, 0, 20, 0,104, 64, 54, 15, 9, 10, 9, 14, 10, 10, 9, 17, 8, 9, 8, 16, 9, 9, 8, 66, 17, 14, 9, 3, 1, + 15, 18, 12, 3, 5, 1,215, 10, 8, 0,136, 21, 16, 15, 10, 9, 8, 5, 17, 13, 96, 11, 17, 96, 19, 0, 95, 2, 96, 4, 95, 6, + 47,252,254,236,213,238,214,238, 17, 23, 57, 49, 0, 16,244, 60, 60,236, 50,212, 60, 60,196, 17, 23, 57, 48, 75, 83, 88, 7, 16, + 5,201, 7, 16, 4,201, 7, 16, 4,201, 7, 16, 5,201, 89, 34, 1, 21, 35, 17, 35, 17, 35, 53, 33, 27, 1, 51, 17, 35, 17, 3, + 35, 3, 17, 35, 17, 1,182,162,114,162, 2,180,137,125,172,114,156, 55,166,113, 5,213, 94,254, 28, 1,228, 94,255, 0, 1, 0, +253,190, 1,226,254,211, 1, 45,254, 30, 2, 66,255,255, 0, 74, 0, 0, 4,135, 5,180, 16, 6, 2,229, 0, 0,255,255, 0,137, + 0, 0, 4,201, 5,213, 16, 6, 0, 46, 0, 0,255,255, 0, 37, 0, 0, 4,172, 7,109, 16, 6, 0,135, 0, 0,255,255, 0, 27, +254,227, 4,101, 6,123, 16, 39, 0,117, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 0,123,254,254, 0,156,255,255, 0, 27, +254,227, 4,101, 6,140, 16, 39, 0,117, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 0,116,254,254, 0,156,255,255, 0, 27, +254,227, 4, 90, 6,123, 16, 39, 6,171, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 0,123,254,254, 0,156,255,255, 0, 27, +254,227, 4, 90, 6,140, 16, 39, 6,171, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 0,116,254,254, 0,156,255,255, 0, 27, +254,227, 4, 90, 6,140, 16, 39, 6,171, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 0,117,254,254, 0,156,255,255, 0, 10, +254,227, 4, 90, 6,123, 16, 39, 6,171, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 6,170,254,254, 0,156,255,255, 0, 27, +254,227, 4,106, 6,123, 16, 39, 6,172, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 0,123,254,254, 0,156,255,255, 0, 27, +254,227, 4,106, 6,123, 16, 39, 6,172, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 6,171,254,254, 0,156,255,255, 0, 27, +254,226, 4, 95, 6,123, 16, 39, 6,174, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 0,123,254,254, 0,156,255,255, 0, 27, +254,226, 4, 95, 6,140, 16, 39, 6,174, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 0,117,254,254, 0,156,255,255, 0, 27, +254,226, 4, 95, 6,123, 16, 39, 6,174, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 6,171,254,254, 0,156,255,255, 0, 27, +254,226, 4, 95, 6,123, 16, 39, 6,174, 0,201,252, 86, 16, 38, 11,182, 0, 0, 16, 7, 6,173,254,254, 0,156,255,255, 0, 27, + 1,248, 4, 90, 6,123, 16, 38, 11,182, 0, 0, 16, 7, 0,123,254,254, 0,156, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 9, + 0, 0, 19, 53, 1, 23, 7, 33, 21, 33, 23, 7, 66, 1, 35, 90,160, 3,112,252,144,160, 90, 2, 8, 82, 1, 35, 90,160,164,160, + 90, 0, 0, 0, 0, 1, 1, 28, 0, 0, 3,181, 4, 77, 0, 9, 0, 0, 9, 1, 7, 39, 17, 35, 17, 7, 39, 1, 2,146, 1, 34, + 90,160,164,160, 90, 1, 36, 4, 77,254,221, 90,160,252,144, 3,112,160, 90, 1, 35, 0, 0, 0, 0, 1, 0, 66, 0,229, 4,143, + 3,125, 0, 9, 0, 0, 9, 1, 39, 55, 33, 53, 33, 39, 55, 1, 4,143,254,221, 90,160,252,144, 3,112,160, 90, 1, 35, 2, 8, +254,221, 90,160,164,160, 90,254,221, 0, 0, 0, 0, 1, 1, 28, 0, 0, 3,181, 4, 77, 0, 9, 0, 0, 33, 1, 55, 23, 17, 51, + 17, 55, 23, 1, 2, 64,254,220, 90,160,164,160, 90,254,222, 1, 35, 90,160, 3,112,252,144,160, 90,254,221, 0, 0, 1, 0, 66, + 0,229, 4,143, 3,125, 0, 15, 0, 0, 1, 33, 23, 7, 1, 53, 1, 23, 7, 33, 39, 55, 1, 21, 1, 39, 3,178,253,109,160, 90, +254,221, 1, 35, 90,160, 2,147,160, 90, 1, 35,254,221, 90, 1,223,160, 90, 1, 35, 82, 1, 35, 90,160,160, 90,254,221, 82,254, +221, 90, 0, 0, 0, 1, 1, 28, 0, 0, 3,181, 4, 77, 0, 15, 0, 0, 37, 55, 23, 1, 35, 1, 55, 23, 17, 7, 39, 1, 51, 1, + 7, 39, 2,186,160, 90,254,222, 82,254,220, 90,160,160, 90, 1, 36, 82, 1, 34, 90,160,221,160, 90,254,221, 1, 35, 90,160, 2, +147,160, 90, 1, 35,254,221, 90,160, 0, 0, 0, 0, 1, 0,184, 0, 0, 4, 25, 3, 97, 0, 9, 0, 0, 19, 55, 33, 21, 35, 1, + 7, 1, 21, 35,184, 58, 1,156,227, 2,110,116,253,146,127, 3, 39, 58,127,253,146,116, 2,110,227, 0, 0, 0, 0, 1, 0,184, + 0, 0, 4, 25, 3, 97, 0, 9, 0, 0, 1, 17, 35, 53, 1, 39, 1, 35, 53, 33, 4, 25,127,253,146,116, 2,110,227, 1,156, 3, + 39,254,100,227,253,146,116, 2,110,127, 0, 0, 0, 1, 0,184, 0, 0, 4, 25, 3, 97, 0, 9, 0, 0, 41, 1, 53, 51, 1, 55, + 1, 53, 51, 17, 3,223,254,100,227,253,146,116, 2,110,127,127, 2,110,116,253,146,227,254,100, 0, 1, 0,184, 0, 0, 4, 25, + 3, 97, 0, 9, 0, 0, 55, 17, 51, 21, 1, 23, 1, 51, 21, 33,184,127, 2,110,116,253,146,227,254,100, 58, 1,156,227, 2,110, +116,253,146,127, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 17, 0, 0, 1, 51, 21, 33, 7, 39, 55, 33, 23, 7, 1, 53, 1, 23, + 7, 33, 55, 23, 3,193,206,254,209,147,142, 99,254,125,160, 90,254,221, 1, 35, 90,160, 1,227,148,142, 2,131,164,250, 82,168, +160, 90, 1, 35, 82, 1, 35, 90,160,250, 82, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 17, 0, 0, 1, 35, 53, 33, 55, 23, + 7, 33, 39, 55, 1, 21, 1, 39, 55, 33, 7, 39, 1, 16,206, 1, 47,147,142, 99, 1,131,160, 90, 1, 35,254,221, 90,160,254, 29, +148,142, 1,223,164,250, 82,168,160, 90,254,221, 82,254,221, 90,160,250, 82, 0, 0, 1, 0, 89, 1,139, 4,120, 3, 97, 0, 53, + 0, 0, 1, 22, 23, 22, 23, 22, 51, 50, 55, 54, 55, 54, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 7, 38, 39, 38, 39, + 38, 35, 34, 7, 14, 1, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 47, 1, 21, 35, 17, 55, 33, 21, 1, 36, 7,102, 18, 32, 25, 33, + 31, 26, 24, 26, 21, 13, 17, 43, 33, 51, 45, 54, 56, 43, 50, 34, 44, 24,106, 5, 33, 17, 33, 24, 33, 28, 28, 25, 51, 10, 14, 46, + 30, 54, 43, 56, 53, 46, 48, 36,109,127, 58, 1,156, 2,226, 12,119, 21, 18, 15, 15, 12, 29, 22, 39, 48, 55, 41, 27, 23, 23, 28, + 40, 54, 59, 67, 18, 43, 22, 19, 14, 14, 12, 58, 32, 44, 58, 39, 29, 24, 24, 25, 43,128,224, 1,156, 58,127, 0, 0, 1, 0, 89, + 1,139, 4,120, 3, 97, 0, 53, 0, 0, 1, 33, 53, 33, 23, 17, 35, 53, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 46, 1, 39, + 38, 35, 34, 7, 6, 7, 6, 7, 39, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 23, 22, 23, 22, 51, 50, 55, 54, 55, 54, + 3,173,254,245, 1,156, 58,127,109, 36, 48, 46, 53, 56, 43, 54, 30, 46, 14, 10, 51, 25, 28, 28, 33, 24, 33, 17, 33, 5,106, 24, + 44, 34, 50, 43, 56, 54, 45, 51, 33, 43, 17, 13, 21, 26, 24, 26, 31, 33, 25, 32, 18,102, 2,226,127, 58,254,100,224,128, 43, 25, + 24, 24, 29, 39, 58, 44, 32, 58, 12, 14, 14, 19, 22, 43, 18, 67, 59, 54, 40, 28, 23, 23, 27, 41, 55, 48, 39, 22, 29, 12, 15, 15, + 18, 21,119, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 17, 0, 0, 1, 33, 21, 33, 23, 7, 39, 35, 23, 7, 1, 53, 1, 23, + 7, 51, 55, 23, 2,105, 2, 38,253,218,160, 90,250,150,160, 90,254,221, 1, 35, 90,160,150,250, 90, 2,131,164,160, 90,250,160, + 90, 1, 35, 82, 1, 35, 90,160,250, 90, 0, 0, 0, 1, 1, 28, 0, 0, 3,181, 4, 77, 0, 17, 0, 0, 1, 7, 39, 55, 53, 7, + 39, 1, 51, 1, 7, 39, 21, 23, 7, 39, 17, 35, 2, 22,160, 90,250,160, 90, 1, 36, 82, 1, 34, 90,160,250, 90,160,164, 2, 38, +160, 90,250,150,160, 90, 1, 35,254,221, 90,160,150,250, 90,160,253,218, 0, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 17, + 0, 0, 1, 39, 55, 23, 51, 39, 55, 1, 21, 1, 39, 55, 35, 7, 39, 55, 33, 53, 2,104,160, 90,250,150,160, 90, 1, 35,254,221, + 90,160,150,250, 90,160,253,218, 2,131,160, 90,250,160, 90,254,221, 82,254,221, 90,160,250, 90,160,164, 0, 0, 0, 1, 1, 28, + 0, 0, 3,181, 4, 77, 0, 17, 0, 0, 1, 55, 23, 7, 21, 55, 23, 1, 35, 1, 55, 23, 53, 39, 55, 23, 17, 51, 2,186,160, 90, +250,160, 90,254,222, 82,254,220, 90,160,250, 90,160,164, 2, 39,160, 90,250,150,160, 90,254,221, 1, 35, 90,160,150,250, 90,160, + 2, 38, 0, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 14, 0, 0, 1, 23, 7, 39, 33, 23, 7, 1, 53, 1, 23, 7, 33, 55, + 23, 3,157,242, 90,250,253,228,160, 90,254,221, 1, 35, 90,160, 2, 28,250, 90, 2, 49,242, 90,250,160, 90, 1, 35, 82, 1, 35, + 90,160,250, 90, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 14, 0, 0, 1, 39, 55, 23, 33, 39, 55, 1, 21, 1, 39, 55, 33, 7, + 39, 1, 52,242, 90,250, 2, 28,160, 90, 1, 35,254,221, 90,160,253,228,250, 90, 2, 49,242, 90,250,160, 90,254,221, 82,254,221, + 90,160,250, 90, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 13, 0, 0, 1, 53, 51, 17, 35, 53, 33, 23, 7, 1, 53, 1, 23, 7, + 3,235,164,164,253, 52,160, 90,254,221, 1, 35, 90,160, 2,131,250,253,104,250,160, 90, 1, 35, 82, 1, 35, 90,160, 0, 0, 0, + 0, 1, 1, 28, 0, 0, 3,181, 4, 77, 0, 13, 0, 0, 37, 17, 7, 39, 1, 51, 1, 7, 39, 17, 51, 21, 33, 53, 2, 22,160, 90, + 1, 36, 82, 1, 34, 90,160,250,253,104,164, 2,204,160, 90, 1, 35,254,221, 90,160,253, 52,164,164, 0, 0, 0, 0, 1, 0, 66, + 0,229, 4,143, 3,125, 0, 13, 0, 0, 19, 33, 39, 55, 1, 21, 1, 39, 55, 33, 21, 35, 17, 51,230, 2,204,160, 90, 1, 35,254, +221, 90,160,253, 52,164,164, 2,131,160, 90,254,221, 82,254,221, 90,160,250, 2,152, 0, 0, 0, 0, 1, 1, 28, 0, 0, 3,181, + 4, 77, 0, 13, 0, 0, 1, 17, 55, 23, 1, 35, 1, 55, 23, 17, 35, 53, 33, 21, 2,186,160, 90,254,222, 82,254,220, 90,160,250, + 2,152, 3,169,253, 52,160, 90,254,221, 1, 35, 90,160, 2,204,164,164, 0, 0, 0, 1, 1, 28, 0, 0, 3,181, 4, 77, 0, 19, + 0, 0, 37, 39, 55, 23, 17, 7, 39, 1, 51, 1, 7, 39, 17, 55, 23, 7, 51, 21, 33, 53, 2, 22,250, 90,160,160, 90, 1, 36, 82, + 1, 34, 90,160,160, 90,250,250,253,104,164,250, 90,160, 2, 24,160, 90, 1, 35,254,221, 90,160,253,232,160, 90,250,164,164, 0, + 0, 1, 0, 66, 0,229, 4,143, 4, 35, 0, 40, 0, 0, 1, 50, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 39, 38, 35, 53, + 50, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 33, 23, 7, 1, 53, 1, 23, 7, 3,100, 30, 26, 23, 19, 17, 10, 10, + 9, 10, 18, 16, 26, 23, 25, 62, 98, 45, 42, 22, 22, 21, 20, 44, 37, 58, 48, 31,253,147,160, 90,254,221, 1, 35, 90,160, 2,131, + 10, 9, 18, 17, 23, 24, 25, 27, 21, 23, 18, 16, 11, 10,164, 42, 43, 40, 53, 52, 60, 56, 53, 50, 46, 38, 26, 21,160, 90, 1, 35, + 82, 1, 35, 90,160, 0, 0, 0, 0, 1, 0, 66, 0,229, 4,143, 4, 35, 0, 41, 0, 0, 1, 33, 39, 55, 1, 21, 1, 39, 55, 33, + 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 21, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, + 1,109, 2, 69,160, 90, 1, 35,254,221, 90,160,253,147, 31, 48, 58, 37, 44, 20, 21, 22, 22, 42, 45, 49, 49, 62, 25, 23, 26, 16, + 18, 10, 9, 10, 10, 17, 19, 23, 26, 2,131,160, 90,254,221, 82,254,221, 90,160, 21, 26, 38, 46, 50, 53, 56, 60, 52, 53, 40, 43, + 21, 21,164, 10, 11, 16, 18, 23, 21, 27, 25, 24, 23, 17, 18, 9, 10, 0, 0, 0, 0, 2, 0, 66, 0,229, 4,143, 4, 35, 0, 36, + 0, 62, 0, 0, 1, 50, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 43, 1, 21, 35, 53, 33, 23, 7, 1, 53, 1, 23, 7, + 33, 53, 52, 55, 54, 55, 54, 55, 54, 23, 34, 7, 6, 7, 6, 7, 6, 29, 1, 51, 50, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, + 38, 39, 38, 3,108, 62, 98, 45, 42, 22, 22, 21, 20, 44, 37, 58, 48, 31,151,164,254,206,160, 90,254,221, 1, 35, 90,160, 1, 50, + 21, 22, 41, 45, 48, 49, 57, 17, 26, 22, 18, 15, 12, 9,111, 30, 26, 23, 19, 17, 10, 10, 9, 10, 18, 16, 26, 23, 4, 35, 42, 43, + 40, 53, 52, 60, 56, 53, 50, 46, 38, 26, 21,213,213,160, 90, 1, 35, 82, 1, 35, 90,160,125, 59, 52, 55, 40, 43, 21, 20,163, 10, + 10, 17, 15, 27, 22, 26,125, 10, 9, 18, 17, 23, 24, 25, 27, 21, 23, 18, 16, 11, 10, 0, 0, 0, 0, 2, 0, 65, 0,229, 4,143, + 4, 35, 0, 37, 0, 63, 0, 0, 1, 22, 23, 22, 23, 22, 23, 22, 29, 1, 33, 39, 55, 1, 21, 1, 39, 55, 33, 21, 35, 53, 35, 34, + 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 23, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 59, 1, + 53, 52, 39, 38, 39, 38, 39, 38, 1,101, 57, 49, 48, 45, 41, 22, 21, 1, 50,160, 90, 1, 35,254,221, 90,160,254,206,164,151, 31, + 48, 58, 37, 44, 20, 21, 22, 22, 42, 45, 49, 49, 62, 25, 23, 26, 16, 18, 10, 9, 10, 10, 17, 19, 23, 26, 30,111, 9, 12, 15, 18, + 22, 26, 4, 35, 1, 20, 21, 43, 40, 55, 52, 59,125,160, 90,254,221, 82,254,221, 90,160,213,213, 21, 26, 38, 46, 50, 53, 56, 60, + 52, 53, 40, 43, 21, 21,164, 10, 11, 16, 18, 23, 21, 27, 25, 24, 23, 17, 18, 9, 10,125, 26, 22, 27, 15, 17, 10, 10, 0, 0, 0, + 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 88, 0, 0, 1, 51, 22, 23, 22, 23, 30, 1, 50, 54, 55, 54, 55, 54, 55, 54, 55, 54, + 51, 50, 23, 22, 23, 22, 23, 22, 23, 30, 1, 50, 54, 55, 54, 55, 54, 63, 1, 39, 55, 1, 21, 1, 39, 55, 35, 38, 7, 6, 7, 6, + 7, 6, 34, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, 34, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 34, 39, 38, 39, 38, 39, 38, 7, + 35, 23, 7, 1, 53, 1, 23, 1, 31, 8, 33, 24, 24, 25, 7, 16, 19, 16, 7, 7, 4, 11, 22, 23, 26, 27, 31, 33, 25, 30, 19, 22, + 11, 3, 7, 7, 17, 18, 17, 7, 30, 19, 23, 26, 15,160, 90, 1, 35,254,221, 90,160, 6, 12, 6, 9, 7, 27, 21, 27, 62, 27, 27, + 22, 25, 8, 3, 7, 7, 9, 8, 19, 8, 8, 7, 7, 3, 8, 26, 21, 28, 26, 62, 27, 24, 25, 7, 9, 6, 11, 7,160, 90,254,221, + 1, 35, 90, 2,131, 3, 16, 17, 34, 9, 11, 11, 9, 12, 12, 42, 33, 35, 16, 17, 17, 21, 30, 36, 39, 12, 12, 9, 11, 11, 9, 42, + 9, 12, 4, 3,160, 90,254,221, 82,254,221, 90,160, 1, 5, 5, 10, 37, 13, 17, 17, 18, 32, 39, 37, 12, 11, 10, 5, 6, 6, 5, + 10, 8, 15, 37, 39, 32, 18, 17, 17, 16, 34, 10, 5, 5, 1,160, 90, 1, 35, 82, 1, 35, 90, 0, 0, 1, 0, 66, 0,209, 4,143, + 3,145, 0, 23, 0, 0, 1, 33, 3, 39, 55, 35, 23, 7, 1, 53, 1, 23, 7, 33, 19, 23, 7, 51, 39, 55, 1, 21, 1, 39, 3,178, +254,232, 60,140, 50,229,160, 90,254,221, 1, 35, 90,160, 1, 6, 60,140, 50,247,160, 90, 1, 35,254,221, 90, 1,223,254,242, 32, +238,160, 90, 1, 35, 82, 1, 35, 90,160, 1, 14, 32,238,160, 90,254,221, 82,254,221, 90, 0, 0, 0, 1, 0,113, 0, 0, 4, 96, + 5,149, 0, 13, 0, 0, 37, 55, 23, 5, 39, 3, 55, 23, 19, 1, 19, 23, 3, 1, 3, 93,184, 74,254,177, 81,239,103,132,122,253, + 61,151,160, 90, 2,195,211,132,104,239, 13, 1, 80, 74,185, 2,212,254, 86, 3,125, 30,253,236, 1,170, 0, 0, 0, 1, 0,183, + 0, 0, 4, 26, 5,101, 0, 11, 0, 0, 1, 23, 7, 1, 53, 1, 23, 7, 33, 17, 35, 17, 1,148,160, 90,254,222, 1, 34, 90,160, + 2,134,164, 3,199,160, 90, 1, 35, 82, 1, 35, 90,160,251,149, 3,199, 0, 0, 0, 1, 0,183, 0, 0, 4, 26, 5,101, 0, 11, + 0, 0, 1, 33, 17, 35, 17, 33, 39, 55, 1, 21, 1, 39, 3, 60,254, 32,164, 2,132,160, 90, 1, 36,254,220, 90, 3,199,252, 57, + 4,107,160, 90,254,221, 82,254,221, 90, 0, 0, 0, 1, 0,183, 0, 0, 4, 26, 5,101, 0, 11, 0, 0, 1, 33, 17, 51, 17, 33, + 23, 7, 1, 53, 1, 23, 1,148, 1,226,164,253,122,160, 90,254,222, 1, 34, 90, 1,158, 3,199,251,149,160, 90, 1, 35, 82, 1, + 35, 90, 0, 0, 0, 1, 0,183, 0, 0, 4, 26, 5,101, 0, 11, 0, 0, 1, 39, 55, 1, 21, 1, 39, 55, 33, 17, 51, 17, 3, 60, +160, 90, 1, 36,254,220, 90,160,253,124,164, 1,158,160, 90,254,221, 82,254,221, 90,160, 4,107,252, 57, 0, 0, 0, 1, 0,186, + 0, 0, 4, 23, 4, 82, 0, 11, 0, 0, 37, 17, 33, 53, 33, 17, 55, 23, 1, 35, 1, 55, 2,121,254, 65, 2, 99,160, 90,254,221, + 82,254,221, 90,221, 2,209,164,252,139,160, 90,254,221, 1, 35, 90, 0, 0, 0, 0, 1, 0, 63, 0, 0, 4,146, 3, 93, 0, 11, + 0, 0, 1, 33, 17, 51, 17, 33, 23, 7, 1, 53, 1, 23, 1, 28, 2,210,164,252,138,160, 90,254,222, 1, 34, 90, 1,158, 1,191, +253,157,160, 90, 1, 35, 82, 1, 35, 90, 0, 0, 0, 1, 0, 81, 1, 88, 4,128, 3,229, 0, 41, 0, 0, 1, 55, 54, 55, 54, 55, + 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 23, 35, 52, 39, 38, 39, 38, 39, 38, 7, 6, 7, 6, 7, 6, 7, 6, 23, 21, 55, 23, + 1, 35, 1, 55, 1, 75, 1, 1, 36, 30, 60, 57, 74, 71, 84, 87, 68, 76, 55, 58, 32, 30, 1,152, 19, 19, 37, 35, 48, 40, 55, 57, + 41, 46, 37, 36, 20, 17, 2,160, 90,254,221, 82,254,221, 90, 2, 53, 24, 78, 83, 72, 59, 57, 30, 29, 29, 33, 54, 58, 73, 70, 84, + 55, 47, 48, 39, 36, 23, 19, 1, 1, 18, 20, 38, 36, 50, 40, 71, 23,160, 90,254,221, 1, 35, 90, 0, 1, 0, 81, 1, 88, 4,128, + 3,229, 0, 42, 0, 0, 1, 55, 23, 1, 35, 1, 55, 23, 53, 54, 39, 38, 39, 38, 39, 38, 39, 38, 7, 6, 7, 6, 7, 6, 21, 48, + 35, 54, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 23, 3,134,160, 90,254,221, 82,254,221, 90,160, 2, 17, 20, 36, + 37, 46, 41, 57, 55, 40, 48, 35, 37, 19, 19,152, 1, 30, 32, 58, 55, 76, 68, 87, 84, 71, 74, 57, 60, 30, 36, 1, 2, 53,160, 90, +254,221, 1, 35, 90,160, 23, 71, 40, 50, 36, 38, 20, 18, 1, 1, 19, 23, 36, 39, 48, 47, 55, 84, 70, 73, 58, 54, 33, 29, 29, 30, + 57, 59, 72, 83, 78, 0, 0, 0, 0, 2, 0, 50, 0, 0, 4,159, 4, 26, 0, 9, 0, 13, 0, 0, 19, 55, 33, 21, 35, 1, 7, 1, + 21, 35, 3, 53, 33, 21,184, 58, 1,156,227, 2,110,116,253,146,127,134, 4,108, 3, 39, 58,127,253,146,116, 2,110,227, 2, 63, + 80, 80, 0, 0, 0, 2, 0, 66, 0, 0, 4,143, 4,214, 0, 13, 0, 27, 0, 0, 19, 1, 23, 7, 33, 21, 33, 23, 7, 1, 17, 35, + 17, 51, 1, 17, 51, 17, 35, 17, 1, 39, 55, 33, 53, 33, 39, 55,230, 1, 35, 90,160, 2,204,253, 52,160, 90,254,221,164,164, 3, + 5,164,164,254,221, 90,160,253, 52, 2,204,160, 90, 3,179, 1, 35, 90,160,164,160, 90, 1, 35,254,221, 2,152,252,159, 1, 35, +253,104, 1, 35,254,221, 90,160,164,160, 90, 0, 0, 1, 0, 88, 0, 0, 4,121, 3,249, 0, 54, 0, 0, 1, 23, 22, 23, 22, 21, + 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 23, 6, 7, 6, 21, 20, 22, 23, 22, 23, 22, 50, + 55, 54, 55, 62, 1, 53, 52, 39, 38, 47, 1, 21, 35, 17, 55, 33, 21, 3,149, 29, 74, 37, 37, 37, 39, 72, 68, 95, 83,108,104, 88, + 91, 72, 74, 37, 37, 37, 37, 74,119, 52, 24, 25, 50, 50, 45, 65, 56,144, 59, 62, 49, 49, 50, 25, 30, 45, 33,127, 58, 1,156, 3, +122, 29, 74, 90, 91,103,104, 88, 92, 72, 67, 43, 37, 37, 39, 71, 75, 89, 91,101,103, 91, 87, 77,115, 50, 61, 62, 70, 68,123, 50, + 44, 30, 25, 25, 27, 47, 50,123, 68, 70, 62, 72, 39, 28,227, 1,156, 58,127, 0, 0, 1, 0, 88, 0, 0, 4,121, 3,249, 0, 54, + 0, 0, 1, 35, 53, 33, 23, 17, 35, 53, 7, 6, 7, 6, 21, 20, 22, 23, 22, 23, 22, 50, 55, 54, 55, 62, 1, 53, 52, 39, 38, 39, + 55, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 1, 60,227, 1,156, 58,127, + 33, 45, 30, 25, 50, 49, 49, 62, 59,144, 56, 65, 45, 50, 50, 25, 24, 52,119, 74, 37, 37, 37, 37, 74, 72, 91, 88,104,108, 83, 95, + 68, 72, 39, 38, 38, 38, 73, 3,122,127, 58,254,100,227, 28, 39, 72, 62, 70, 68,123, 50, 47, 27, 25, 25, 30, 44, 50,123, 68, 70, + 62, 61, 50,115, 77, 87, 91,103,101, 91, 89, 75, 71, 39, 37, 37, 43, 67, 72, 92, 88,104,103, 91, 91, 73, 0, 0, 0, 1, 0, 66, + 1,223, 4,143, 3,125, 0, 6, 0, 0, 19, 53, 1, 23, 7, 33, 21, 66, 1, 35, 90,160, 3,112, 1,223,123, 1, 35, 90,160,164, + 0, 1, 0, 66, 0,229, 4,143, 2,131, 0, 6, 0, 0, 19, 33, 21, 33, 23, 7, 1, 66, 4, 77,252,144,160, 90,254,221, 2,131, +164,160, 90, 1, 35, 0, 0, 0, 0, 1, 2, 22, 0, 0, 3,181, 4, 77, 0, 6, 0, 0, 1, 51, 1, 7, 39, 17, 35, 2, 22,124, + 1, 34, 90,160,164, 4, 77,254,221, 90,160,252,144, 0, 0, 0, 0, 1, 1, 28, 0, 0, 2,187, 4, 77, 0, 6, 0, 0, 1, 17, + 35, 17, 7, 39, 1, 2,186,164,160, 90, 1, 36, 4, 77,251,179, 3,112,160, 90, 1, 35, 0, 0, 0, 1, 0, 66, 1,223, 4,143, + 3,125, 0, 6, 0, 0, 1, 33, 53, 33, 39, 55, 1, 4,143,251,179, 3,112,160, 90, 1, 35, 1,223,164,160, 90,254,221, 0, 0, + 0, 1, 0, 66, 0,229, 4,143, 2,131, 0, 6, 0, 0, 1, 21, 1, 39, 55, 33, 53, 4,143,254,221, 90,160,252,144, 2,131,123, +254,221, 90,160,164, 0, 0, 0, 0, 1, 2, 22, 0, 0, 3,181, 4, 77, 0, 6, 0, 0, 33, 17, 51, 17, 55, 23, 1, 2, 22,164, +160, 90,254,222, 4, 77,252,144,160, 90,254,221, 0, 1, 1, 71, 0, 0, 2,229, 4, 77, 0, 6, 0, 0, 33, 35, 1, 55, 23, 17, + 51, 2,229,123,254,221, 90,160,164, 1, 35, 90,160, 3,112, 0, 0, 2, 0, 66, 0, 0, 4,143, 4,124, 0, 9, 0, 19, 0, 0, + 9, 1, 39, 55, 33, 53, 33, 39, 55, 9, 1, 53, 1, 23, 7, 33, 21, 33, 23, 7, 4,143,254,221, 90,160,252,144, 3,112,160, 90, + 1, 35,251,179, 1, 35, 90,160, 3,112,252,144,160, 90, 3, 7,254,221, 90,160,164,160, 90,254,221,253,202, 82, 1, 35, 90,160, +164,160, 90, 0, 0, 2, 0, 42, 0, 0, 4,167, 4, 77, 0, 9, 0, 19, 0, 0, 33, 1, 55, 23, 17, 51, 17, 55, 23, 9, 1, 51, + 1, 7, 39, 17, 35, 17, 7, 39, 3, 50,254,220, 90,160,164,160, 90,254,222,253,202, 82, 1, 34, 90,160,164,160, 90, 1, 35, 90, +160, 3,112,252,144,160, 90,254,221, 4, 77,254,221, 90,160,252,144, 3,112,160, 90, 0, 0, 0, 0, 2, 0, 66, 0, 0, 4,143, + 4,124, 0, 9, 0, 19, 0, 0, 1, 21, 1, 39, 55, 33, 53, 33, 39, 55, 37, 1, 23, 7, 33, 21, 33, 23, 7, 1, 4,143,254,221, + 90,160,252,144, 3,112,160, 90,252,214, 1, 35, 90,160, 3,112,252,144,160, 90,254,221, 1,117, 82,254,221, 90,160,164,160, 90, +193, 1, 35, 90,160,164,160, 90, 1, 35, 0, 0, 0, 1, 0, 66, 0, 0, 4,143, 4,124, 0, 17, 0, 0, 1, 39, 53, 1, 23, 7, + 33, 21, 33, 23, 7, 33, 21, 33, 23, 7, 1, 53, 1, 11,201, 1, 35, 90,160, 3,112,252,144,160,160, 3,112,252,144,160, 90,254, +221, 2, 62,201, 82, 1, 35, 90,160,164,160,160,164,160, 90, 1, 35, 82, 0, 0, 0, 1, 0, 42, 0, 0, 4,167, 4, 77, 0, 17, + 0, 0, 1, 55, 51, 1, 7, 39, 17, 35, 17, 7, 39, 17, 35, 17, 7, 39, 1, 51, 2,104,202, 82, 1, 34, 90,160,164,160,160,164, +160, 90, 1, 36, 82, 3,132,201,254,221, 90,160,252,144, 3,112,160,160,252,144, 3,112,160, 90, 1, 35, 0, 0, 0, 1, 0, 66, + 0, 0, 4,143, 4,124, 0, 17, 0, 0, 1, 23, 21, 1, 39, 55, 33, 53, 33, 39, 55, 33, 53, 33, 39, 55, 1, 21, 3,198,201,254, +221, 90,160,252,144, 3,112,160,160,252,144, 3,112,160, 90, 1, 35, 2, 62,201, 82,254,221, 90,160,164,160,160,164,160, 90,254, +221, 82, 0, 0, 0, 1, 0, 42, 0, 0, 4,167, 4, 77, 0, 17, 0, 0, 37, 7, 35, 1, 55, 23, 17, 51, 17, 55, 23, 17, 51, 17, + 55, 23, 1, 35, 2,104,200, 82,254,220, 90,160,164,160,160,164,160, 90,254,222, 82,201,201, 1, 35, 90,160, 3,112,252,144,160, +160, 3,112,252,144,160, 90,254,221, 0, 0, 0, 0, 2, 0, 66, 0, 65, 4,143, 4, 33, 0, 6, 0, 13, 0, 0, 1, 21, 1, 39, + 55, 33, 61, 2, 1, 23, 7, 33, 21, 4,143,254,221, 90,160,252,144, 1, 35, 90,160, 3,112, 1,223,123,254,221, 90,160,164,164, +123, 1, 35, 90,160,164, 0, 0, 0, 2, 0, 66, 0, 65, 4,143, 4, 33, 0, 6, 0, 13, 0, 0, 19, 33, 21, 33, 23, 7, 9, 1, + 33, 53, 33, 39, 55, 1, 66, 4, 77,252,144,160, 90,254,221, 4, 77,251,179, 3,112,160, 90, 1, 35, 1,223,164,160, 90, 1, 35, + 1, 31,164,160, 90,254,221, 0, 0, 2, 0, 66, 0,229, 4,143, 3,125, 0, 21, 0, 26, 0, 0, 1, 33, 55, 23, 7, 51, 21, 33, + 7, 33, 21, 33, 7, 39, 55, 35, 23, 7, 1, 53, 1, 23, 5, 33, 7, 23, 33, 1,113, 1,163, 86, 97, 54,250,254,210, 90, 1,136, +254, 69, 86, 96, 54,227, 78, 90,254,221, 1, 35, 90, 1, 34,254, 62, 82, 82, 1,106, 2,213,168, 59,109, 82,164, 82,166, 58,108, + 78, 90, 1, 35, 82, 1, 35, 90,160, 82, 82, 0, 0, 3, 0, 66, 0,229, 4,143, 3,175, 0, 4, 0, 28, 0, 33, 0, 0, 1, 33, + 7, 23, 51, 55, 51, 39, 55, 1, 21, 1, 39, 55, 35, 7, 39, 55, 35, 23, 7, 1, 53, 1, 23, 7, 51, 55, 23, 3, 7, 33, 55, 39, + 2, 33,254,254, 82, 82,223,200,154, 78, 90, 1, 35,254,221, 90, 78,227, 31,140, 27,124, 78, 90,254,221, 1, 35, 90, 78,194, 46, +140, 57, 35, 1, 33, 82, 82, 2,131, 82, 82,246, 78, 90,254,221, 82,254,221, 90, 78,158, 32,126, 78, 90, 1, 35, 82, 1, 35, 90, + 78,218, 32,254,244,164, 82, 82, 0, 2, 0, 66, 0,229, 4,143, 3,125, 0, 21, 0, 26, 0, 0, 1, 33, 7, 39, 55, 35, 53, 33, + 55, 33, 53, 33, 55, 23, 7, 51, 39, 55, 1, 21, 1, 39, 37, 33, 55, 39, 33, 3, 96,254, 93, 86, 97, 54,250, 1, 46, 90,254,120, + 1,187, 86, 96, 54,227, 78, 90, 1, 35,254,221, 90,254,222, 1,194, 82, 82,254,150, 1,141,168, 59,109, 82,164, 82,166, 58,108, + 78, 90,254,221, 82,254,221, 90,160, 82, 82, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 14, 0, 0, 1, 7, 23, 33, 21, 33, + 23, 7, 1, 53, 1, 23, 7, 33, 21, 1, 31, 82, 82, 3,112,252,226, 78, 90,254,221, 1, 35, 90, 78, 3, 30, 2,131, 82, 82, 82, + 78, 90, 1, 35, 82, 1, 35, 90, 78, 82, 0, 0, 0, 1, 1, 28, 0, 0, 3,181, 4, 77, 0, 14, 0, 0, 1, 17, 35, 17, 7, 39, + 1, 51, 1, 7, 39, 17, 35, 19, 39, 2, 22, 82, 78, 90, 1, 36, 82, 1, 34, 90, 78, 82, 1, 83, 3,112,252,144, 3, 30, 78, 90, + 1, 35,254,221, 90, 78,252,226, 3,112, 82, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 14, 0, 0, 1, 33, 53, 33, 39, 55, + 1, 21, 1, 39, 55, 33, 53, 33, 55, 3,178,252,144, 3, 30, 78, 90, 1, 35,254,221, 90, 78,252,226, 3,112, 82, 2,131, 82, 78, + 90,254,221, 82,254,221, 90, 78, 82, 82, 0, 0, 0, 1, 1, 28, 0, 0, 3,181, 4, 77, 0, 14, 0, 0, 37, 3, 51, 17, 55, 23, + 1, 35, 1, 55, 23, 17, 51, 17, 23, 2,187, 1, 82, 78, 90,254,222, 82,254,220, 90, 78, 82, 82,221, 3,112,252,226, 78, 90,254, +221, 1, 35, 90, 78, 3, 30,252,144, 82, 0, 0, 0, 2, 0, 66, 0,229, 4,143, 3,125, 0, 5, 0, 21, 0, 0, 1, 33, 7, 23, + 33, 55, 47, 1, 55, 1, 21, 1, 39, 55, 33, 23, 7, 1, 53, 1, 23, 7, 3,178,253,109, 82, 82, 2,147, 82,164, 78, 90, 1, 35, +254,221, 90, 78,254, 17, 78, 90,254,221, 1, 35, 90, 78, 2,131, 82, 82, 82,164, 78, 90,254,221, 82,254,221, 90, 78, 78, 90, 1, + 35, 82, 1, 35, 90, 78, 0, 0, 0, 2, 1, 28, 0, 0, 3,181, 4, 77, 0, 5, 0, 21, 0, 0, 1, 39, 7, 17, 23, 55, 19, 17, + 55, 23, 1, 35, 1, 55, 23, 17, 7, 39, 1, 51, 1, 7, 2,187, 83, 82, 82, 83, 81, 78, 90,254,222, 82,254,220, 90, 78, 78, 90, + 1, 36, 82, 1, 34, 90, 3,112, 82, 82,253,109, 82, 82, 2, 65,254, 17, 78, 90,254,221, 1, 35, 90, 78, 1,239, 78, 90, 1, 35, +254,221, 90, 0, 0, 1, 0,155,255,198, 4, 54, 3, 97, 0, 14, 0, 0, 1, 35, 21, 1, 7, 1, 21, 35, 17, 55, 33, 21, 35, 1, + 7, 1,142,116, 2,110, 58,253,204,127, 58, 1,156,110, 2, 51, 58, 2,226,116,253,146, 58, 2, 53,112, 1,156, 58,127,253,204, + 58, 0, 0, 0, 0, 1, 0,155,255,198, 4, 54, 3, 97, 0, 14, 0, 0, 9, 1, 39, 1, 35, 53, 33, 23, 17, 35, 53, 1, 39, 1, + 53, 3, 67,253,146, 58, 2, 51,110, 1,156, 58,127,253,204, 58, 2,110, 2,226,253,146, 58, 2, 52,127, 58,254,100,112,253,203, + 58, 2,110,116, 0, 1, 0,155, 0, 0, 4, 54, 3,155, 0, 14, 0, 0, 37, 1, 55, 1, 53, 51, 17, 7, 33, 53, 51, 1, 55, 1, + 51, 3,183,253,146, 58, 2, 52,127, 58,254,100,112,253,203, 58, 2,110,116,243, 2,110, 58,253,205,110,254,100, 58,127, 2, 52, + 58,253,146, 0, 0, 1, 0,155, 0, 0, 4, 54, 3,155, 0, 14, 0, 0, 37, 1, 23, 1, 51, 21, 33, 39, 17, 51, 21, 1, 23, 1, + 21, 1,142, 2,110, 58,253,205,110,254,100, 58,127, 2, 52, 58,253,146,127, 2,110, 58,253,204,127, 58, 1,156,112, 2, 53, 58, +253,146,116, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 15, 0, 0, 1, 7, 1, 53, 1, 23, 33, 21, 33, 7, 33, 21, 33, 23, + 33, 21, 1,191, 90,254,221, 1, 35, 90, 2,208,252,222,119, 3,153,252,103,119, 3, 34, 1, 63, 90, 1, 35, 82, 1, 35, 90, 82, +119, 82,119, 82, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 15, 0, 0, 1, 33, 53, 33, 55, 33, 53, 33, 39, 33, 53, 33, 55, 1, + 21, 1, 3, 18,253, 48, 3, 34,119,252,103, 3,153,119,252,222, 2,208, 90, 1, 35,254,221, 1, 63, 82,119, 82,119, 82, 90,254, +221, 82,254,221, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 22, 0, 0, 1, 51, 23, 55, 23, 55, 23, 55, 51, 21, 7, 39, 7, 39, + 7, 39, 35, 23, 7, 1, 53, 1, 23, 1, 31,129, 58,151,150,150,150, 59, 33, 92,150,150,150,151, 91, 96,160, 90,254,221, 1, 35, + 90, 2,131, 67,173,173,173,173, 67,164,106,173,173,173,173,106,160, 90, 1, 35, 82, 1, 35, 90, 0, 1, 0, 66, 0,229, 4,143, + 3,125, 0, 22, 0, 0, 1, 39, 55, 1, 21, 1, 39, 55, 35, 7, 39, 7, 39, 7, 39, 53, 51, 23, 55, 23, 55, 23, 55, 3,178,160, + 90, 1, 35,254,221, 90,160, 96, 91,151,150,150,150, 92, 33, 59,150,150,150,151, 58, 2,131,160, 90,254,221, 82,254,221, 90,160, +106,173,173,173,173,106,164, 67,173,173,173,173, 67, 0, 0, 0, 0, 1, 1, 28, 0, 0, 3,181, 4, 77, 0, 25, 0, 0, 37, 21, + 35, 53, 35, 53, 51, 53, 35, 53, 51, 53, 7, 39, 1, 51, 1, 7, 39, 21, 51, 21, 35, 21, 51, 21, 2,186,164,250,250,250,250,160, + 90, 1, 36, 82, 1, 34, 90,160,250,250,250,188,188,188,164,116,164,248,160, 90, 1, 35,254,221, 90,160,248,164,116,164, 0, 0, + 0, 1, 1, 28, 0, 0, 3,181, 4, 77, 0, 25, 0, 0, 1, 53, 51, 21, 51, 21, 35, 21, 51, 21, 35, 21, 55, 23, 1, 35, 1, 55, + 23, 53, 35, 53, 51, 53, 35, 53, 2, 22,164,250,250,250,250,160, 90,254,222, 82,254,220, 90,160,250,250,250, 3,144,189,189,164, +116,164,247,160, 90,254,221, 1, 35, 90,160,247,164,116,164, 0, 0, 3, 0, 66, 0,229, 4,143, 3,125, 0, 9, 0, 13, 0, 17, + 0, 0, 1, 21, 33, 23, 7, 1, 53, 1, 23, 7, 5, 53, 51, 21, 51, 53, 51, 21, 2, 33,254,254,160, 90,254,221, 1, 35, 90,160, + 1,127,187,123,187, 2,131,164,160, 90, 1, 35, 82, 1, 35, 90,160,164,164,164,164,164, 0, 0, 0, 3, 1, 28, 0, 0, 3,181, + 4, 77, 0, 9, 0, 13, 0, 17, 0, 0, 1, 17, 7, 39, 1, 51, 1, 7, 39, 19, 7, 23, 35, 55, 19, 21, 35, 55, 2, 22,160, 90, + 1, 36, 82, 1, 34, 90,160, 1, 1, 1,165, 1,163,164, 1, 2,110, 1, 2,160, 90, 1, 35,254,221, 90,160,254,254,125,187,187, +254,202,187,187, 0, 3, 0, 66, 0,229, 4,143, 3,125, 0, 9, 0, 13, 0, 17, 0, 0, 1, 33, 39, 55, 1, 21, 1, 39, 55, 33, + 43, 1, 53, 51, 5, 35, 53, 51, 2,176, 1, 2,160, 90, 1, 35,254,221, 90,160,254,254,125,187,187,254,202,187,187, 2,131,160, + 90,254,221, 82,254,221, 90,160,164,164,164, 0, 0, 3, 1, 28, 0, 0, 3,181, 4, 77, 0, 9, 0, 13, 0, 17, 0, 0, 1, 17, + 55, 23, 1, 35, 1, 55, 23, 17, 55, 39, 51, 21, 3, 39, 51, 21, 2,186,160, 90,254,222, 82,254,220, 90,160, 1, 1,164,163, 1, +164, 1,223,254,254,160, 90,254,221, 1, 35, 90,160, 1, 2,125,187,187, 1, 54,187,187, 0, 0, 0, 1, 0, 66, 0,229, 4,143, + 3,125, 0, 13, 0, 0, 19, 1, 23, 7, 33, 21, 33, 23, 7, 1, 17, 35, 17, 51,230, 1, 35, 90,160, 2,204,253, 52,160, 90,254, +221,164,164, 2, 90, 1, 35, 90,160,164,160, 90, 1, 35,254,221, 2,152, 0, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 13, + 0, 0, 1, 17, 51, 17, 35, 17, 1, 39, 55, 33, 53, 33, 39, 55, 3,235,164,164,254,221, 90,160,253, 52, 2,204,160, 90, 2, 90, + 1, 35,253,104, 1, 35,254,221, 90,160,164,160, 90, 0, 0, 0, 0, 2, 0, 25, 0,188, 4,143, 3,166, 0, 6, 0, 13, 0, 0, + 1, 7, 23, 53, 33, 53, 33, 19, 9, 1, 21, 33, 17, 33, 1, 63,194,194, 3, 10,252,246, 79,254,139, 1,117, 3, 1,252,255, 2, +244,195,195, 93,204,254, 37, 1,117, 1,117,201,254,168, 0, 0, 0, 2, 0,243, 0, 0, 3,222, 4,118, 0, 6, 0, 13, 0, 0, + 1, 51, 17, 51, 17, 51, 39, 1, 35, 17, 33, 17, 35, 1, 1,166, 92,204, 94,196, 1,118,202,254,168,200, 1,116, 3, 80,252,246, + 3, 10,194,254,239,252,255, 3, 1, 1,117, 0, 0, 2, 0, 66, 0,188, 4,185, 3,166, 0, 6, 0, 13, 0, 0, 1, 21, 33, 21, + 33, 21, 55, 1, 53, 33, 17, 33, 53, 1, 3,146,252,246, 3, 10,194,254,240,252,254, 3, 2, 1,116, 2,244, 93,204, 93,195,254, +139,201, 1, 88,201,254,139, 0, 0, 2, 0,243, 0, 0, 3,222, 4,118, 0, 6, 0, 13, 0, 0, 1, 35, 17, 35, 17, 35, 23, 1, + 51, 17, 33, 17, 51, 1, 3, 44, 94,204, 92,194,254,140,200, 1, 88,202,254,138, 1, 38, 3, 10,252,246,194, 1, 17, 3, 1,252, +255,254,139, 0, 0, 4, 0,243, 0, 0, 3,222, 4,118, 0, 6, 0, 10, 0, 14, 0, 21, 0, 0, 1, 17, 51, 39, 7, 51, 25, 1, + 21, 51, 53, 37, 33, 17, 33, 25, 1, 35, 9, 1, 35, 17, 2,206, 94,196,194, 92,204,254,238, 1, 88,254,168,200, 1,116, 1,118, +202, 1,224, 1,112,194,194,254,144,254,242,140,140, 70,254,232, 1,154, 1,103, 1,117,254,139,254,153, 0, 0, 0, 2, 0,243, + 0, 0, 3,222, 4,118, 0, 10, 0, 21, 0, 0, 37, 17, 51, 39, 7, 51, 17, 35, 21, 33, 53, 37, 17, 35, 9, 1, 35, 17, 51, 17, + 33, 17, 2,206, 94,196,194, 92,200, 2, 94,254, 36,200, 1,116, 1,118,202,202,253, 22,210, 2,126,194,194,253,130,140,140, 70, + 1,233, 1,117,254,139,254, 23,254,232, 1, 24, 0, 3, 0,243, 0, 0, 3,222, 4,118, 0, 11, 0, 14, 0, 25, 0, 0, 1, 35, + 7, 51, 17, 35, 21, 33, 53, 35, 17, 51, 47, 1, 7, 3, 17, 35, 9, 1, 35, 17, 51, 17, 33, 17, 2,224,240, 74, 92,200, 2, 94, +202, 94,124, 72, 71,101,200, 1,116, 1,118,202,202,253, 22, 3,154, 74,253,130,140,140, 2,126,123, 71, 71,253, 77, 1,233, 1, +117,254,139,254, 23,254,232, 1, 24, 0, 0, 0, 0, 3, 0,243, 0, 0, 3,222, 4,118, 0, 6, 0, 13, 0, 24, 0, 0, 1, 7, + 51, 17, 35, 21, 33, 19, 17, 33, 53, 35, 17, 51, 1, 17, 35, 9, 1, 35, 17, 51, 17, 33, 17, 2, 70,160, 92,200, 1, 12, 70, 1, + 12,202, 94,254,144,200, 1,116, 1,118,202,202,253, 22, 3,239,159,253,130,140, 3,169,252, 87,140, 2,126,253,200, 1,233, 1, +117,254,139,254, 23,254,232, 1, 24, 0, 0, 0, 0, 3, 0,243, 0, 0, 3,222, 4,118, 0, 6, 0, 12, 0, 23, 0, 0, 1, 51, + 39, 7, 51, 17, 51, 3, 51, 39, 7, 51, 55, 7, 35, 9, 1, 35, 23, 35, 17, 33, 17, 35, 2,206, 94,196,194, 92,204, 8,102,196, +194,100, 94,172,200, 1,116, 1,118,202,202,202,254,168,200, 2,136,194,194,253,190, 3, 10,194,194, 94,173, 1,117,254,139,200, +253,199, 2, 57, 0, 3, 0,243, 0, 0, 3,222, 4,118, 0, 10, 0, 16, 0, 31, 0, 0, 1, 17, 35, 21, 33, 53, 35, 17, 51, 39, + 7, 37, 51, 39, 7, 51, 55, 3, 35, 55, 35, 9, 1, 35, 23, 35, 17, 51, 17, 33, 17, 51, 2, 2,200, 2, 94,202, 94,196,194, 1, + 32,102,196,194,100, 94,172,200,200,200, 1,116, 1,118,202,202,202,202,253, 22,200, 2,136,254, 74,140,140, 1,182,194,194,200, +194,194, 94,254,139,200, 1,117,254,139,200,254,223,254,232, 1, 24, 0, 0, 0, 0, 2, 0, 66, 0,188, 4,185, 3,166, 0, 10, + 0, 21, 0, 0, 1, 39, 35, 17, 51, 53, 33, 21, 55, 39, 21, 1, 21, 33, 17, 33, 21, 33, 53, 9, 1, 53, 1, 21, 1,140,140, 2, +126,194,194,253,200,254,232, 1, 24, 1,234, 1,116,254,140, 2,151,201,253,162,201, 93,195,195, 93,254,238,201, 2,234,201,201, +254,139,254,139,201, 0, 0, 0, 0, 2, 0, 69, 0, 0, 4,140, 4, 70, 0, 9, 0, 15, 0, 0, 1, 55, 33, 21, 35, 1, 7, 1, + 21, 35, 1, 21, 33, 17, 35, 17, 1, 42, 58, 1,156,227, 2,110,116,253,146,127, 3, 97,252, 4, 73, 3, 39, 58,127,253,146,116, + 2,110,227, 2,187, 73,252, 3, 4, 70, 0, 0, 0, 2, 0, 69, 0, 0, 4,140, 4, 70, 0, 9, 0, 15, 0, 0, 37, 33, 53, 51, + 1, 55, 1, 53, 51, 17, 19, 17, 33, 53, 33, 17, 3,108,254,100,228,253,146,116, 2,110,126,230,251,186, 3,252,229,127, 2,110, +116,253,146,227,254,100, 3, 38,251,187, 73, 3,252, 0, 0, 0, 0, 2, 0,243, 0, 0, 3,222, 4,118, 0, 9, 0, 19, 0, 0, + 1, 17, 35, 23, 55, 35, 17, 51, 39, 7, 23, 35, 9, 1, 35, 17, 51, 9, 1, 51, 2, 2, 92,194,196, 94, 94,196,194, 22,200, 1, +116, 1,118,202,202,254,138,254,140,200, 3, 80,253,214,194,194, 2, 42,194,194, 79, 1,117,254,139,254,116,254,139, 1,117, 0, + 0, 3, 0, 66, 0,229, 4,143, 3,125, 0, 30, 0, 39, 0, 48, 0, 0, 1, 6, 7, 6, 35, 34, 39, 38, 39, 35, 53, 51, 54, 55, + 54, 51, 50, 22, 23, 22, 23, 22, 23, 51, 39, 55, 1, 21, 1, 39, 55, 37, 38, 39, 38, 35, 34, 7, 6, 7, 5, 33, 22, 23, 22, 51, + 50, 55, 54, 2,197, 19, 52, 82,118,120, 78, 49, 18,107,107, 19, 50, 79,119, 57,103, 39, 32, 28, 6, 4,237,160, 90, 1, 35,254, +221, 90,160,254,153, 11, 17, 48, 71, 68, 50, 18, 11, 1, 38,254,219, 12, 15, 43, 74, 68, 53, 17, 1,223, 64, 51, 80, 79, 50, 66, +164, 66, 52, 82, 44, 40, 32, 58, 12, 14,160, 90,254,221, 82,254,221, 90,160,164, 20, 17, 49, 49, 17, 20,164, 19, 17, 47, 48, 16, + 0, 2, 0, 42, 0, 0, 4,167, 4, 77, 0, 9, 0, 19, 0, 0, 33, 35, 1, 55, 23, 17, 51, 17, 55, 23, 19, 1, 7, 39, 17, 35, + 17, 7, 39, 1, 1,160, 82,254,220, 90,160,164,160, 90,194, 1, 34, 90,160,164,160, 90, 1, 36, 1, 35, 90,160, 3,112,252,144, +160, 90, 3, 42,254,221, 90,160,252,144, 3,112,160, 90, 1, 35, 0, 1, 0, 66,255, 1, 4,143, 5, 97, 0, 25, 0, 0, 1, 55, + 33, 53, 33, 39, 55, 33, 53, 33, 39, 55, 1, 21, 7, 23, 21, 7, 23, 21, 1, 39, 55, 33, 53, 33, 3, 18,160,252,144, 3,112,160, +160,252,144, 3,112,160, 90, 1, 35,201,201,201,201,254,221, 90,160,252,144, 3,112, 1, 63,160,164,160,160,164,160, 90,254,221, + 82,201,201, 82,201,201, 82,254,221, 90,160,164, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 17, 0, 0, 1, 21, 35, 53, 33, 23, + 7, 1, 53, 1, 23, 7, 33, 53, 51, 21, 33, 21, 3, 30,164,254,165,160, 90,254,221, 1, 35, 90,160, 1, 91,164, 1,113, 1,223, +250,250,160, 90, 1, 35, 82, 1, 35, 90,160,250,250,164, 0, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 17, 0, 0, 1, 33, + 53, 33, 53, 51, 21, 33, 39, 55, 1, 21, 1, 39, 55, 33, 21, 35, 1,178,254,144, 1,112,164, 1, 92,160, 90, 1, 35,254,221, 90, +160,254,164,164, 1,223,164,250,250,160, 90,254,221, 82,254,221, 90,160,250, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 23, + 0, 0, 1, 35, 23, 7, 1, 53, 1, 23, 7, 51, 53, 51, 21, 51, 39, 55, 1, 21, 1, 39, 55, 35, 21, 35, 2, 22,247,160, 90,254, +221, 1, 35, 90,160,247,164,248,160, 90, 1, 35,254,221, 90,160,248,164, 1,223,160, 90, 1, 35, 82, 1, 35, 90,160,250,250,160, + 90,254,221, 82,254,221, 90,160,250, 0, 0, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 25, 0, 0, 1, 21, 35, 53, 35, 21, + 35, 53, 35, 23, 7, 1, 53, 1, 23, 7, 51, 53, 51, 21, 51, 53, 51, 21, 51, 21, 3,210,164,116,164,247,160, 90,254,221, 1, 35, + 90,160,247,164,116,164,189, 1,223,250,250,250,250,160, 90, 1, 35, 82, 1, 35, 90,160,250,250,250,250,164, 0, 0, 1, 0, 66, + 0,229, 4,143, 3,125, 0, 25, 0, 0, 19, 35, 53, 51, 53, 51, 21, 51, 53, 51, 21, 51, 39, 55, 1, 21, 1, 39, 55, 35, 21, 35, + 53, 35, 21, 35,254,188,188,164,116,164,248,160, 90, 1, 35,254,221, 90,160,248,164,116,164, 1,223,164,250,250,250,250,160, 90, +254,221, 82,254,221, 90,160,250,250,250, 0, 0, 0, 1, 0, 66, 0,229, 4,143, 3,125, 0, 31, 0, 0, 1, 23, 7, 1, 53, 1, + 23, 7, 51, 53, 51, 21, 51, 53, 51, 21, 51, 39, 55, 1, 21, 1, 39, 55, 35, 21, 35, 53, 35, 21, 35, 53, 1, 31,160, 90,254,221, + 1, 35, 90,160,167,134, 56,134,168,160, 90, 1, 35,254,221, 90,160,168,134, 56,134, 1,223,160, 90, 1, 35, 82, 1, 35, 90,160, +250,250,250,250,160, 90,254,221, 82,254,221, 90,160,250,250,250,250, 0, 0, 0, 0, 2, 0, 25, 0,188, 4,143, 3,166, 0, 2, + 0, 9, 0, 0, 1, 7, 23, 19, 33, 21, 33, 17, 9, 1, 1, 63,194,194, 79, 3, 1,252,255,254,139, 1,117, 2,244,195,195, 1, + 21,164,254,221, 1,117, 1,117, 0, 2, 0, 66, 0,188, 4,184, 3,166, 0, 2, 0, 9, 0, 0, 1, 17, 55, 37, 17, 9, 1, 17, + 33, 53, 3,146,194,254,239, 1,117,254,139,252,255, 2,244,254,122,195, 82, 1, 35,254,139,254,139, 1, 35,164, 0, 3, 0, 25, + 0,188, 4,184, 3,166, 0, 2, 0, 5, 0, 15, 0, 0, 1, 7, 23, 1, 17, 55, 5, 17, 9, 1, 17, 33, 17, 9, 1, 17, 1, 63, +194,194, 2, 83,194,253, 58,254,139, 1,117, 1,181, 1,117,254,139, 2,244,195,195, 1,134,254,122,195, 82,254,221, 1,117, 1, +117,254,221, 1, 35,254,139,254,139, 1, 35, 0, 0, 2, 0,190,255,231, 4, 23, 5, 45, 0, 29, 0, 41, 0, 58, 64, 14, 0, 39, + 33, 9, 27, 6, 39, 21, 6, 15, 33, 27, 15, 21,184, 1, 13, 64, 10, 42, 12, 36, 3, 0, 30, 18, 36, 24, 42, 16,212,204,220,204, + 57, 57, 17, 57, 49, 0, 16,228,204,220,204, 16,206, 16,206, 17, 18, 57, 17, 18, 57, 48, 1, 62, 1, 53, 52, 38, 35, 34, 6, 35, + 34, 38, 53, 52, 54, 51, 50, 18, 17, 16, 0, 35, 34, 38, 53, 52, 18, 51, 50, 22, 7, 52, 38, 35, 34, 2, 21, 20, 22, 51, 50, 18, + 3, 74, 15, 15, 73, 72, 55,144, 36, 36, 48,144,101,180,214,254,223,213,152,203,221,162,101,130, 11, 87, 79,109,141, 86, 80,109, +141, 2,109, 87,163, 75,129,131,116, 44, 31, 62, 98,254,202,254,249,254,177,254, 70,216,163,198, 1, 1, 91,224,116,125,254,254, +207,116,123, 1, 4, 0, 0, 0, 0, 3, 0, 73, 0, 98, 4,138, 4,163, 0, 33, 0, 48, 0, 63, 0, 0, 1, 23, 7, 22, 23, 22, + 21, 20, 7, 6, 7, 14, 1, 34, 39, 38, 39, 7, 39, 55, 38, 39, 38, 53, 52, 55, 54, 55, 62, 1, 50, 23, 22, 23, 6, 34, 7, 6, + 7, 14, 1, 21, 20, 23, 22, 23, 1, 38, 39, 23, 1, 22, 23, 22, 50, 55, 54, 55, 62, 1, 53, 52, 39, 38, 4, 38, 99,118, 45, 26, + 39, 39, 39, 79, 79,190,221, 95, 64, 56,118, 99,117, 45, 27, 39, 39, 39, 79, 79,190,221, 95, 65, 58,247,163, 71, 69, 58, 59, 57, + 28, 17, 26, 2, 40, 36, 40,175,253,216, 35, 38, 71,163, 70, 70, 58, 59, 57, 28, 16, 4,162, 99,118, 56, 64, 95,112,109, 95, 95, + 79, 78, 80, 40, 26, 45,118, 99,117, 58, 65, 95,109,112, 95, 95, 79, 79, 80, 40, 28, 45, 28, 30, 30, 57, 59,140, 83, 80, 70, 40, + 36, 2, 40, 26, 17,142,253,216, 25, 16, 30, 30, 30, 57, 59,140, 80, 83, 70, 39, 0, 2,255,250, 0, 0, 4,217, 5,143, 0, 3, + 0, 6, 0, 79, 64, 42, 4,105, 5, 4, 2, 3, 2, 6,105, 3, 3, 2, 5,105, 0, 1, 0, 4,105, 6, 4, 1, 1, 0, 66, 4, + 1, 5,249, 1,251, 0, 6, 5, 4, 2, 1, 5, 7, 3, 0, 7, 16,212,204, 17, 23, 57, 49, 0, 47,228,236, 17, 57, 48, 75, 83, + 88, 7, 16, 8,237, 7, 16, 5,237, 7, 16, 5,237, 7, 16, 8,237, 89, 34, 35, 1, 51, 9, 2, 33, 6, 2, 6,209, 2, 8,253, +143,254,144, 2,225, 5,143,250,113, 4,195,251,233, 0, 0, 0, 0, 2,255,250, 0, 0, 4,217, 5,143, 0, 3, 0, 6, 0, 0, + 3, 33, 1, 35, 55, 1, 33, 6, 4,223,253,248,209,104, 1,113,253, 31, 5,143,250,113,204, 4, 23, 0, 0, 0, 0, 1, 0,129, + 0, 0, 4, 80, 5,184, 0, 26, 0, 0, 1, 22, 23, 30, 1, 51, 33, 21, 33, 34, 38, 2, 16, 18, 54, 51, 33, 21, 33, 34, 7, 6, + 7, 6, 7, 33, 21, 1, 48, 8, 34, 44,152, 90, 1,216,254, 40,136,232,134,134,232,136, 1,216,254, 40, 92, 74, 78, 42, 34, 8, + 3, 30, 2,135,102, 95,130,150,170,196, 1, 81, 1,142, 1, 81,196,170, 75, 77,128, 95,102,170, 0, 3, 0,129,255, 79, 4, 80, + 6,105, 0, 28, 0, 37, 0, 43, 0, 0, 37, 22, 51, 33, 21, 33, 34, 39, 7, 39, 55, 38, 39, 38, 16, 18, 54, 59, 1, 55, 23, 7, + 51, 21, 35, 3, 33, 21, 33, 19, 35, 34, 7, 6, 7, 6, 7, 33, 7, 35, 22, 23, 22, 23, 2, 76, 21, 23, 1,216,254, 40, 48, 44, + 58,163, 67,121, 69, 66,134,232,136,170, 54,163, 39,124,176,144, 1, 62,254,142, 18,118, 92, 74, 75, 45, 34, 8, 1, 46, 52,250, + 8, 34, 36, 58,174, 4,170, 12,189, 49,221, 99,172,169, 1,142, 1, 81,196,177, 50,127,170,254, 35,170, 2,135, 75, 75,130, 95, +102,170,102, 95,108, 70, 0, 0, 0, 1, 0,130, 0,165, 4, 79, 4, 93, 0, 23, 0, 66, 0,176, 8, 47,176, 9, 51,176, 10, 51, +177, 5, 4,237,177, 6, 4,237,177, 7, 4,237,176, 1,176, 5, 16,222,176, 2, 50,177, 0, 4,237,177, 23, 4,237,176, 18,176, + 0, 16,222,176, 19, 50,176, 20, 50,177, 15, 4,237,177, 16, 4,237,177, 17, 4,237, 1, 48, 49, 1, 21, 33, 22, 23, 22, 51, 33, + 21, 33, 34, 46, 1, 16, 62, 1, 51, 33, 21, 33, 34, 7, 6, 7, 4, 78,252,237, 22, 61, 99,133, 1,216,254, 40,136,230,134,134, +230,136, 1,216,254, 40,133, 99, 61, 22, 2,214,170, 73, 57, 91,170,127,220, 1, 2,220,127,170, 91, 57, 73, 0, 0, 1, 0,129, + 0, 0, 4, 80, 5,184, 0, 26, 0, 0, 1, 38, 39, 46, 1, 35, 33, 53, 33, 50, 22, 18, 16, 2, 6, 35, 33, 53, 33, 50, 55, 54, + 55, 54, 55, 33, 53, 3,160, 8, 32, 44,152, 90,254, 40, 1,216,136,232,134,134,232,136,254, 40, 1,216, 92, 74, 76, 44, 32, 8, +252,226, 3, 49,102, 95,130,150,170,196,254,175,254,114,254,175,196,170, 75, 77,128, 95,102,170, 0, 3, 0,129,255, 79, 4, 80, + 6,105, 0, 28, 0, 37, 0, 43, 0, 0, 1, 38, 35, 33, 53, 33, 50, 23, 55, 23, 7, 22, 23, 22, 16, 2, 6, 43, 1, 7, 39, 55, + 35, 53, 51, 19, 33, 53, 33, 3, 51, 50, 55, 54, 55, 54, 55, 33, 55, 51, 38, 39, 38, 39, 2,133, 21, 22,254, 40, 1,216, 47, 45, + 57,163, 67,121, 68, 68,134,232,136,171, 54,163, 39,123,174,146,254,192, 1,114, 18,120, 92, 74, 74, 46, 32, 8,254,211, 52,249, + 8, 32, 37, 58, 5, 10, 4,170, 12,189, 49,221, 99,172,169,254,114,254,175,196,177, 50,127,170, 1,221,170,253,121, 75, 75,130, + 95,102,170,102, 95,108, 70, 0, 0, 1, 0,130, 0,165, 4, 79, 4, 93, 0, 23, 0, 0, 19, 53, 33, 38, 39, 38, 35, 33, 53, 33, + 50, 30, 1, 16, 14, 1, 35, 33, 53, 33, 50, 55, 54, 55,131, 3, 19, 22, 62, 98,134,254, 40, 1,216,136,230,134,134,230,136,254, + 40, 1,216,134, 98, 62, 22, 2, 44,170, 73, 57, 91,170,127,220,254,254,220,127,170, 91, 57, 73, 0, 1, 0,152,254, 76, 4, 57, + 5,238, 0, 7, 0, 31,185, 0, 5, 1, 15, 64, 11, 1, 3, 0, 8, 4,128, 2, 6,128, 0, 8, 16,212,236,212,236, 49, 0, 16, +196, 50,212,236, 48, 19, 17, 33, 17, 35, 17, 33, 17,152, 3,161,155,253,149,254, 76, 7,162,248, 94, 7, 30,248,226, 0, 0, 0, + 0, 1, 0,143,254, 76, 4, 61, 5,238, 0, 11, 0, 55,180, 11, 5, 12, 9, 0,191, 1, 15, 0, 2, 0, 9, 1, 15, 0, 7, 1, + 14, 0, 2, 1, 16, 64, 11, 12, 11, 10, 8, 5, 0, 5, 1, 6, 3, 12, 16,212, 60,196, 23, 57, 49, 0, 16,228,244,236, 16,238, + 17, 18, 57, 57, 48, 1, 33, 21, 33, 53, 9, 1, 53, 33, 21, 33, 1, 1, 76, 2,241,252, 82, 2, 37,253,219, 3,154,253, 35, 2, + 10,254,213,137, 92, 3,151, 3, 80, 95,140,252,221, 0, 0, 0, 0, 1, 0, 88, 2, 45, 4,121, 2,215, 0, 3, 0, 17,182, 0, +160, 2, 4, 1, 0, 4, 16,212,196, 49, 0, 16,212,236, 48, 19, 33, 21, 33, 88, 4, 33,251,223, 2,215,170, 0, 0, 2, 0, 88, + 0, 0, 4,121, 4,147, 0, 3, 0, 15, 0, 0, 1, 33, 53, 33, 1, 17, 33, 53, 33, 17, 51, 17, 33, 21, 33, 17, 4,121,251,223, + 4, 33,253,155,254, 68, 1,188,168, 1,189,254, 67, 3,233,170,251,109, 1, 73,170, 1, 76,254,180,170,254,183, 0, 1, 0,102, +255, 66, 4, 55, 5,213, 0, 3, 0, 24, 64, 11, 2, 0,136, 4, 1, 30, 0, 2, 30, 3, 4, 16,212,236,212,236, 49, 0, 16,244, +196, 48, 1, 51, 1, 35, 3,121,190,252,238,191, 5,213,249,109,255,255, 0,166, 0,175, 4, 43, 4, 85, 16, 7, 0, 13, 0, 0, +254,101, 0, 0,255,255, 1, 43, 1, 71, 3,166, 3,194, 16, 7, 0,114, 0, 0,253,210, 0, 0,255,255, 1, 63, 1,154, 3,145, + 3,234, 16, 6, 6,151, 0,201, 0, 1, 0, 59,255,217, 4,160, 6,160, 0, 10, 0, 47, 64, 26, 10, 3, 2, 1, 0, 5, 11, 5, + 4, 8, 6, 11, 10, 9, 8, 7, 4, 3, 2, 7, 5, 0, 11, 5, 1, 11, 16,212,196, 18, 57, 17, 23, 57, 49, 0, 16,212,196,192, +192, 18, 23, 57, 48, 19, 39, 37, 19, 1, 51, 21, 35, 1, 35, 3,100, 41, 1, 35,219, 1,211,148, 47,254, 6,127,246, 2,221,125, + 98,253, 37, 5,191,131,249,188, 3, 57, 0, 0, 0, 2, 0,186, 0,250, 4, 23, 3,240, 0, 11, 0, 37, 0, 0, 1, 46, 1, 35, + 34, 6, 21, 20, 22, 51, 50, 54, 1, 34, 38, 39, 14, 1, 35, 34, 38, 53, 52, 54, 51, 50, 22, 23, 62, 1, 51, 21, 34, 6, 7, 30, + 1, 51, 2,170, 56, 92, 60, 72, 90, 82, 68, 68,106, 1,154, 80,128, 78, 66,132, 84,126,166,158,132, 94,136, 56, 46,148, 90, 56, +104, 46, 56, 92, 58, 2,123,134, 99,133,106,109,129,118,254,253,100,131,124,107,214,165,173,206,115,129,117,127,140,117,124,136, +100, 0, 0, 0, 0, 3, 0, 41, 0,250, 4,168, 3,240, 0, 11, 0, 23, 0, 47, 0, 55, 64, 28, 36, 24, 9, 21, 3,225, 39, 33, +226, 15, 9,225, 45, 27,223, 48, 12, 0, 36, 24, 18, 6,100, 30, 18,100, 42, 48, 16,212,236,212,236, 17, 57, 57, 57, 57, 49, 0, + 16,252, 60,236, 50,252, 60,236, 50, 17, 57, 57, 48, 1, 30, 1, 51, 50, 54, 53, 52, 38, 35, 34, 6, 7, 46, 1, 35, 34, 6, 21, + 20, 22, 51, 50, 54, 19, 62, 1, 51, 50, 22, 21, 20, 6, 35, 34, 38, 39, 14, 1, 35, 34, 38, 53, 52, 54, 51, 50, 22, 2,182, 57, + 91, 61, 71, 91, 84, 70, 66,105,203, 56, 92, 61, 71, 91, 83, 68, 67,106,126, 47,147, 91,119,172,163,126, 83,128, 78, 65,132, 85, +125,166,157,132, 94,136, 2,115,136,100,134,108,107,128,117,116,134, 99,133,106,109,129,118, 0,255,117,127,219,160,167,212,100, +131,124,107,214,165,173,206,115, 0, 1, 0,125, 1, 31, 4, 84, 4,245, 0, 5, 0, 0, 1, 33, 17, 51, 17, 33, 4, 84,252, 42, +170, 3, 44, 1, 31, 3,214,252,212, 0, 0, 0, 0, 1, 0,125, 1, 31, 4, 84, 4,245, 0, 5, 0, 0, 1, 33, 1, 51, 1, 33, + 4, 84,252, 42, 3, 24,170,253,112, 2,164, 1, 31, 3,214,252,212, 0, 0, 0, 0, 1, 0,164, 0, 0, 4, 44, 4,162, 0, 6, + 0, 0, 51, 1, 51, 1, 35, 9, 1,164, 1, 78,237, 1, 77,191,254,251,254,251, 4,162,251, 94, 3,172,252, 84, 0, 1, 0,164, + 0, 0, 4, 44, 4,162, 0, 6, 0, 0, 19, 51, 9, 1, 51, 1, 35,164,191, 1, 5, 1, 5,191,254,179,237, 4,162,252, 84, 3, +172,251, 94, 0, 0, 1, 0,164, 0, 0, 4, 44, 4,162, 0, 36, 0, 0, 19, 52, 55, 54, 55, 54, 55, 54, 51, 50, 22, 23, 22, 23, + 22, 21, 17, 35, 17, 52, 39, 38, 39, 38, 39, 38, 35, 34, 7, 6, 7, 6, 7, 6, 21, 17, 35,164, 25, 26, 59, 57, 95, 85,105,106, +170, 66, 57, 29, 24,172, 12, 10, 7, 29, 75, 71, 76, 86, 60, 83, 21, 13, 4, 12,173, 2, 68,230, 98,103, 58, 56, 32, 29, 58, 59, + 51,108, 92,238,253,188, 2,162, 93, 65, 57, 14, 57, 32, 30, 30, 41, 48, 33, 38,112, 48,253, 96, 0, 1, 0,164, 0, 0, 4, 44, + 4,162, 0, 36, 0, 0, 19, 17, 51, 17, 20, 23, 22, 23, 22, 23, 22, 51, 50, 55, 54, 55, 54, 55, 54, 53, 17, 51, 17, 20, 7, 6, + 7, 14, 1, 35, 34, 39, 38, 39, 38, 39, 38,164,173, 12, 4, 13, 21, 83, 60, 86, 76, 71, 75, 29, 7, 10, 12,172, 24, 29, 57, 66, +170,106,105, 85, 95, 57, 59, 26, 25, 2, 94, 2, 68,253, 96, 48,112, 38, 33, 48, 41, 30, 30, 32, 57, 14, 57, 65, 93, 2,162,253, +188,238, 92,108, 51, 59, 58, 29, 32, 56, 58,103, 98, 0, 0, 0, 0, 1, 0,129,254,136, 4, 80, 6,249, 0, 23, 0, 26, 64, 5, + 12, 13, 6, 1, 0, 47, 60,252, 60, 49, 0, 64, 6, 5,140, 10, 22,140, 17, 47,236, 47,236, 48, 5, 17, 52, 55, 54, 55, 54, 23, + 7, 38, 7, 6, 21, 17, 20, 7, 6, 7, 6, 39, 55, 22, 55, 54, 2, 12, 94, 65,145,134,142,106, 92, 78,120, 93, 65,145,134,142, +106, 92, 78,119, 68, 6, 34,106,100, 69, 7, 6,113,113, 67, 3, 5,146,249,222,106,100, 69, 7, 6,113,113, 67, 3, 5, 0, 0, + 0, 2, 0, 63,254,124, 4,145, 7, 5, 0, 23, 0, 47, 0, 0, 5, 17, 52, 55, 54, 51, 50, 23, 7, 38, 7, 6, 21, 3, 20, 7, + 6, 35, 34, 39, 55, 22, 55, 54, 37, 19, 52, 55, 54, 51, 50, 23, 7, 38, 7, 6, 21, 17, 20, 7, 6, 35, 34, 39, 55, 22, 55, 54, + 2,228, 57, 67,109,106, 90, 67, 67, 58, 53, 1, 57, 67,109,106, 90, 67, 77, 48, 54,254, 80, 1, 57, 67,109,106, 90, 67, 67, 58, + 54, 57, 67,109,106, 90, 67, 77, 48, 53, 68, 6, 34, 98, 92,105, 57,127, 38, 10, 9,155,249,222, 98, 92,105, 57,127, 43, 15, 17, +147, 6, 34, 98, 92,105, 57,127, 38, 10, 9,155,249,222, 98, 92,105, 57,127, 43, 15, 17, 0, 0, 0, 3, 0, 53,254,150, 4,157, + 6,235, 0, 23, 0, 47, 0, 71, 0, 0, 5, 17, 52, 55, 54, 55, 54, 23, 7, 38, 35, 34, 21, 17, 20, 7, 6, 7, 6, 39, 55, 22, + 51, 50, 37, 17, 52, 55, 54, 55, 54, 23, 7, 38, 35, 34, 21, 17, 20, 7, 6, 7, 6, 39, 55, 22, 51, 50, 37, 17, 52, 55, 54, 55, + 54, 23, 7, 38, 35, 34, 21, 17, 20, 7, 6, 7, 6, 39, 55, 22, 51, 50, 3, 82, 49, 45,113, 50, 74, 36, 34, 50, 27, 50, 45,113, + 50, 74, 36, 34, 50, 28,254,188, 49, 45,113, 50, 74, 36, 34, 50, 27, 50, 45,113, 50, 74, 36, 34, 50, 28,254,186, 50, 45,113, 50, + 74, 36, 34, 50, 28, 49, 45,113, 50, 74, 36, 34, 50, 27,127, 6, 93,109, 83, 74, 2, 1, 29,142, 14, 78,249,163,111, 81, 74, 2, + 1, 29,142, 14, 78, 6, 93,109, 83, 74, 2, 1, 29,142, 14, 78,249,163,111, 81, 74, 2, 1, 29,142, 14, 78, 6, 93,109, 83, 74, + 2, 1, 29,142, 14, 78,249,163,111, 81, 74, 2, 1, 29,142, 14,255,255, 0, 88, 2, 45, 4,121, 4,132, 16, 38, 7, 95, 0, 0, + 16, 7, 7,208, 0, 2, 1, 36, 0, 3, 0, 74, 0,134, 4,135, 4,132, 0, 3, 0, 7, 0, 11, 0, 0, 1, 51, 17, 35, 3, 51, + 17, 35, 1, 33, 21, 33, 3,139,252,252, 2,252,252,252,193, 2,234,253, 22, 4,132,254,207,254,100,254,207, 2, 81,170, 0, 0, +255,255, 0, 87, 0,134, 4,125, 4,132, 16, 38, 7, 95, 0, 0, 16, 39, 7,208, 1,148, 1, 36, 16, 39, 7,208, 1,152,254, 87, + 16, 39, 7,208,254,111, 1, 36, 16, 7, 7,208,254,110,254, 87,255,255, 0, 88, 0,134, 4,121, 4,132, 16, 38, 7,117, 0, 0, + 16, 39, 7,208, 0, 2, 1, 36, 16, 7, 7,208, 0, 1,254, 87, 0, 1, 0, 88, 1,241, 4,121, 3, 18, 0, 27, 0, 0, 1, 21, + 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 22, 23, 22, 51, 50, 54, 4,121, 75,143, 79, 90, +113, 22, 11, 77,103, 51, 79,141, 73, 78,146, 83, 53,100, 75, 10, 22,116, 93, 70,137, 3, 18,175, 59, 55, 51, 10, 4, 34, 24, 59, + 64,174, 60, 55, 22, 32, 4, 11, 54, 60, 0, 0, 0, 1, 0, 88, 1,241, 4,121, 3, 18, 0, 27, 0, 0, 19, 30, 1, 51, 50, 55, + 54, 55, 62, 1, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, 7, 6, 7, 6, 35, 34, 38, 39, 88, 74,137, 70, 93,116, 22, 10, 75,100, + 53, 83,146, 78, 73,141, 79, 51,103, 77, 11, 22,113, 90, 79,143, 75, 3, 18, 63, 60, 54, 11, 4, 32, 22, 55, 60,174, 64, 59, 24, + 34, 4, 10, 51, 55, 59, 0, 0, 0, 1, 0, 88, 0,174, 4,121, 4, 71, 0, 31, 0, 0, 1, 38, 39, 38, 35, 34, 6, 7, 53, 62, + 1, 51, 50, 23, 22, 23, 19, 23, 3, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 39, 3, 39, 2, 24, 29, 23, 52, 51, 79,141, 73, 78, +146, 83, 54, 49, 45, 29, 78,136, 83, 88, 73, 70,137, 74, 75,143, 79, 81,100, 83,136, 2, 80, 11, 5, 12, 59, 64,174, 60, 55, 11, + 11, 12, 1, 87, 31,254,145, 34, 60, 63,175, 59, 55, 41,254,148, 31, 0, 0, 0, 0, 2, 0, 88, 1, 49, 4,121, 3,162, 0, 3, + 0, 29, 0, 0, 19, 33, 21, 33, 5, 21, 14, 1, 35, 34, 47, 1, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 23, 51, 23, 22, 51, + 50, 54, 88, 4, 33,251,223, 4, 33, 75,143, 79, 90,113, 33, 83, 99, 49, 78,141, 74, 79,146, 82, 96,130, 1, 33,116, 93, 68,138, + 3,162,170,164,176, 59, 56, 51, 15, 36, 23, 60, 65,174, 62, 55, 55, 15, 55, 61, 0, 2, 0, 88, 1, 96, 4,121, 3,195, 0, 3, + 0, 31, 0, 0, 19, 33, 21, 33, 1, 21, 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 22, 23, + 22, 51, 50, 54, 88, 4, 33,251,223, 4, 33, 75,143, 79, 90,113, 22, 11, 77,103, 51, 79,141, 73, 78,146, 83, 53,100, 75, 10, 22, +116, 93, 70,137, 2, 12,172, 2, 99,175, 59, 55, 51, 10, 4, 34, 24, 59, 64,174, 60, 55, 22, 32, 4, 11, 54, 60, 0, 1, 0, 88, + 0, 98, 4,122, 4,213, 0, 39, 0, 0, 1, 3, 22, 55, 54, 55, 21, 6, 7, 6, 35, 34, 39, 7, 33, 21, 33, 7, 39, 55, 35, 53, + 33, 55, 38, 39, 38, 7, 6, 7, 53, 54, 55, 54, 55, 54, 31, 2, 19, 3,199,167,102, 89, 85, 69, 53,107, 73, 81, 37, 92,110, 2, + 42,253,120,152,114, 89,233, 1, 81,146, 77,111, 73, 70, 92, 60, 91, 69, 84, 70, 82,130, 13, 29,198, 4,113,254,224, 19, 36, 34, + 66,178, 50, 40, 26, 30,178,171,254,100,154,171,231, 37, 5, 4, 31, 40, 57,172, 76, 19, 22, 2, 3, 53, 5, 16, 1, 88, 0, 0, + 0, 3, 0, 88, 0,192, 4,121, 4,143, 0, 3, 0, 7, 0, 36, 0, 0, 19, 33, 21, 33, 21, 33, 21, 33, 1, 21, 14, 1, 35, 34, + 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 23, 22, 23, 22, 23, 22, 51, 50, 54, 88, 4, 33,251,223, 4, 33,251,223, + 4, 33, 75,143, 79, 90,113, 22, 11, 77,103, 51, 79,141, 73, 78,146, 83, 53, 50, 39, 86, 10, 22,116, 93, 70,137, 2,216,172,192, +172, 3,207,175, 59, 55, 51, 10, 4, 34, 24, 59, 64,174, 60, 55, 11, 9, 34, 4, 11, 54, 60, 0, 0, 2, 0, 88, 0, 49, 4,121, + 4,143, 0, 19, 0, 48, 0, 0, 37, 35, 53, 33, 55, 33, 53, 33, 55, 23, 7, 51, 21, 33, 7, 33, 21, 33, 7, 39, 1, 21, 14, 1, + 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 23, 22, 23, 22, 23, 22, 51, 50, 54, 1, 81,249, 1,117,139,254, + 0, 2,123,104,113, 44,249,254,139,139, 2, 0,253,132,103,113, 3, 84, 75,143, 79, 90,113, 22, 11, 77,103, 51, 79,141, 73, 78, +146, 83, 53, 50, 39, 86, 10, 22,116, 93, 70,137,192,172,192,172,143, 82, 61,172,192,172,143, 82, 4, 12,175, 59, 55, 51, 10, 4, + 34, 24, 59, 64,174, 60, 55, 11, 9, 34, 4, 11, 54, 60, 0, 0, 0, 1, 0, 88, 0, 0, 4,121, 5, 46, 0, 49, 0, 0, 37, 33, + 53, 33, 55, 33, 53, 33, 55, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 23, 22, 31, 1, 55, 23, 7, 22, 51, 50, 54, 55, + 21, 14, 1, 35, 34, 39, 7, 33, 21, 33, 7, 33, 21, 33, 7, 39, 1,104,254,240, 1, 77, 69,254,110, 1,208, 75, 9, 6, 77,103, + 51, 79,141, 73, 78,146, 83, 53, 50, 51, 74, 58, 86,155, 81, 11, 12, 70,137, 74, 75,143, 79, 31, 33, 56, 1,161,254, 33, 69, 2, + 36,253,159, 70,156,192,172,192,172,209, 4, 2, 34, 24, 59, 64,174, 60, 55, 11, 11, 32, 25,238, 56,225, 1, 60, 63,175, 59, 55, + 6,156,172,192,172,192, 55, 0, 0, 2, 0, 88, 1, 49, 4,121, 3,195, 0, 27, 0, 55, 0, 75, 64, 38, 29, 39, 32, 49, 48, 43, + 3, 53, 28, 1, 11, 4, 15, 25, 11,160, 18, 0, 25,160, 14, 4, 42, 32,160, 53, 39,160, 46, 28, 56, 49, 48, 28, 0, 42, 14, 56, + 16,212, 60,196, 50, 57, 57, 49, 0, 16,212, 60,236,212,236, 50,220, 60,252,212, 60,236, 18, 57, 17, 18, 57, 17, 18, 23, 57, 17, + 18, 57, 48, 1, 21, 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 22, 23, 22, 51, 50, 54, 19, + 21, 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 23, 51, 22, 23, 22, 51, 50, 54, 4,121, 75,143, 79, + 90,113, 22, 11, 77,103, 51, 79,141, 73, 78,146, 83, 53,100, 75, 10, 22,116, 93, 70,137, 74, 75,143, 79, 90,113, 22, 11, 83, 99, + 49, 78,141, 74, 79,146, 82, 96,130, 1, 11, 22,116, 93, 68,138, 3,195,175, 59, 55, 51, 10, 4, 34, 24, 59, 64,174, 60, 55, 22, + 32, 4, 11, 54, 60,254,208,176, 59, 56, 51, 10, 5, 36, 23, 60, 65,174, 62, 55, 55, 5, 10, 55, 61, 0, 0, 0, 0, 1, 0, 88, + 0, 48, 4,121, 4,195, 0, 56, 0, 0, 1, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 23, 55, 38, 39, 38, 35, 34, 6, 7, 53, 62, + 1, 51, 50, 23, 22, 23, 19, 23, 3, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 39, 7, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 47, + 1, 3, 39, 1,221, 48, 48, 78,141, 74, 79,146, 82, 58, 71, 54, 55, 39, 52, 51, 79,141, 73, 78,146, 83, 53, 50, 48, 78, 93,138, + 97, 57, 49, 70,137, 74, 75,143, 79, 63, 74, 52,114, 91, 68,138, 75, 75,143, 79,100,103, 31, 98,138, 1,163, 11, 60, 65,174, 62, + 55, 20,178, 22, 9, 12, 59, 64,174, 60, 55, 11, 11, 33, 1, 55, 41,254,189, 15, 60, 63,175, 59, 55, 25,175, 53, 61, 64,176, 59, + 56, 51, 16,254,188, 41, 0, 0, 0, 3, 0, 88, 0,192, 4,121, 4,147, 0, 27, 0, 55, 0, 59, 0, 0, 1, 21, 14, 1, 35, 34, + 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 22, 23, 22, 51, 50, 54, 19, 21, 14, 1, 35, 34, 39, 38, 39, 46, + 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 23, 51, 22, 23, 22, 51, 50, 54, 1, 33, 21, 33, 4,121, 75,143, 79, 90,113, 22, 11, 77, +103, 51, 79,141, 73, 78,146, 83, 53,100, 75, 10, 22,116, 93, 70,137, 74, 75,143, 79, 90,113, 22, 11, 83, 99, 49, 78,141, 74, 79, +146, 82, 96,130, 1, 11, 22,116, 93, 68,138,252, 42, 4, 33,251,223, 4,147,175, 59, 55, 51, 10, 4, 34, 24, 59, 64,174, 60, 55, + 22, 32, 4, 11, 54, 60,254,208,176, 59, 56, 51, 10, 5, 36, 23, 60, 65,174, 62, 55, 55, 5, 10, 55, 61,254,136,172, 0, 0, 0, + 0, 3, 0, 88, 0,149, 4,121, 4,147, 0, 27, 0, 55, 0, 83, 0, 0, 1, 21, 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, + 7, 53, 62, 1, 51, 50, 23, 51, 22, 23, 22, 51, 50, 54, 19, 21, 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, + 51, 50, 22, 23, 22, 23, 22, 51, 50, 54, 19, 21, 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 23, 51, + 22, 23, 22, 51, 50, 54, 4,121, 75,143, 79, 90,113, 22, 11, 83, 99, 49, 78,141, 74, 79,146, 82, 96,130, 1, 11, 22,116, 93, 68, +138, 75, 75,143, 79, 90,113, 22, 11, 77,103, 51, 79,141, 73, 78,146, 83, 53,100, 75, 10, 22,116, 93, 70,137, 74, 75,143, 79, 90, +113, 22, 11, 83, 99, 49, 78,141, 74, 79,146, 82, 96,130, 1, 11, 22,116, 93, 68,138, 1,184,176, 59, 56, 51, 10, 5, 36, 23, 60, + 65,174, 62, 55, 55, 5, 10, 55, 61, 3, 27,175, 59, 55, 51, 10, 4, 34, 24, 59, 64,174, 60, 55, 22, 32, 4, 11, 54, 60,254,208, +176, 59, 56, 51, 10, 5, 36, 23, 60, 65,174, 62, 55, 55, 5, 10, 55, 61, 0, 0, 0, 3, 0, 88, 0,192, 4,121, 4,143, 0, 3, + 0, 7, 0, 36, 0, 0, 1, 21, 33, 53, 1, 21, 33, 53, 17, 30, 1, 51, 50, 55, 54, 55, 54, 55, 54, 51, 50, 22, 23, 21, 46, 1, + 35, 34, 6, 7, 6, 7, 6, 35, 34, 38, 39, 4,121,251,223, 4, 33,251,223, 74,137, 70, 93,116, 22, 10, 86, 39, 50, 53, 83,146, + 78, 73,141, 79, 51,103, 77, 11, 22,113, 90, 79,143, 75, 2,216,172,172,254,148,172,172, 3, 35, 63, 60, 54, 11, 4, 34, 9, 11, + 55, 60,174, 64, 59, 24, 34, 4, 10, 51, 55, 59, 0, 2, 0, 87, 0,221, 4,121, 4, 39, 0, 8, 0, 17, 0, 0, 0, 32, 37, 53, + 4, 23, 50, 37, 21, 0, 32, 5, 21, 36, 39, 34, 5, 53, 3, 49,254,112,254,182, 1, 90,184,185, 1, 86,253, 40, 1,144, 1, 73, +254,167,184,185,254,169, 2,217,156,178,156, 7,163,178,254,182,156,178,156, 7,163,178, 0, 0, 0, 2, 0, 88, 0, 68, 4,122, + 4,190, 0, 29, 0, 59, 0, 0, 37, 22, 55, 54, 55, 54, 55, 33, 21, 35, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 35, 53, + 33, 22, 23, 22, 23, 22, 19, 6, 7, 6, 7, 6, 7, 33, 53, 51, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 51, 21, 33, 38, + 39, 38, 39, 38, 2,105, 49, 42, 43, 27, 21, 4, 1, 86,225, 9, 25, 27, 87, 74, 82, 78, 77, 82, 32, 25, 9,225, 1, 87, 4, 21, + 26, 44, 33, 58, 58, 33, 44, 26, 21, 4,254,169,225, 6, 28, 22, 92, 72, 83, 76, 80, 77, 37, 23, 11,225,254,170, 3, 22, 27, 43, + 42,223, 3, 37, 39, 72, 58, 94,168, 50, 58, 65, 60, 51, 51, 54, 71, 56, 52,168, 94, 58, 72, 39, 30, 3, 64, 4, 30, 39, 72, 63, + 89,168, 32, 76, 61, 64, 51, 51, 47, 78, 48, 60,168, 94, 58, 72, 39, 37, 0, 0, 0, 2, 0, 88, 1, 96, 4,122, 4,190, 0, 29, + 0, 33, 0, 0, 1, 6, 7, 6, 7, 6, 7, 33, 53, 51, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 51, 21, 33, 38, 39, 38, + 39, 38, 1, 33, 21, 33, 2,105, 58, 33, 44, 26, 21, 4,254,169,225, 6, 28, 22, 92, 72, 83, 76, 80, 77, 37, 23, 11,225,254,170, + 3, 22, 27, 43, 42,253,190, 4, 33,251,223, 4, 35, 4, 30, 39, 72, 63, 89,168, 32, 76, 61, 64, 51, 51, 47, 78, 48, 60,168, 94, + 58, 72, 39, 37,253,228,170, 0,255,255, 0, 88, 1, 96, 4,121, 5, 25, 16, 38, 0, 32, 0, 0, 16, 7, 7,208, 0, 2, 1,185, +255,255, 0, 88,255,233, 4,121, 5, 25, 16, 38, 0, 32, 0, 0, 16, 39, 7,208, 0, 2, 1,185, 16, 39, 7,208, 0, 2, 1,185, + 16, 7, 7,208, 0, 1,253,186,255,255, 0, 88,255,236, 4,121, 5, 25, 16, 39, 7,208, 1,148,253,189, 16, 38, 0, 32, 0, 0, + 16, 7, 7,208,254,111, 1,185,255,255, 0, 87,255,236, 4,122, 5, 25, 16, 39, 7,208, 1,148, 1,185, 16, 38, 0, 32, 0, 0, + 16, 7, 7,208,254,110,253,189, 0, 4, 0, 74, 1, 46, 4,135, 3,213, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, 19, 51, 17, 35, + 17, 51, 17, 35, 5, 21, 33, 53, 1, 21, 33, 53, 74,236,236,236,236, 4, 61,252,251, 3, 5,252,251, 2, 62,254,240, 2,167,254, +240,185,172,172, 1,150,170,170, 0, 4, 0, 74, 1, 46, 4,135, 3,213, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, 1, 17, 35, 17, + 19, 17, 35, 17, 1, 33, 21, 33, 17, 33, 21, 33, 4,135,236,236,236,252,175, 3, 5,252,251, 3, 5,252,251, 2, 62,254,240, 1, + 16, 1,151,254,240, 1, 16,254, 55,172, 2, 66,170, 0, 0, 0, 0, 2, 0, 88, 1, 96, 4,121, 3,162, 0, 9, 0, 27, 0, 0, + 1, 6, 21, 20, 23, 51, 54, 53, 38, 39, 23, 33, 21, 33, 53, 33, 38, 53, 52, 55, 33, 53, 33, 21, 33, 22, 21, 20, 2, 37, 52, 51, +145, 52, 1, 52,141, 1, 56,251,223, 1, 62, 25, 27,254,192, 4, 33,254,201, 26, 2,250, 48, 73, 71, 48, 48, 71, 71, 50,240,170, +170, 63, 56, 62, 59,168,168, 26, 95, 56, 0, 0, 0, 4, 0, 88, 1, 96, 4,121, 6, 21, 0, 3, 0, 7, 0, 17, 0, 32, 0, 0, + 19, 33, 21, 33, 17, 33, 21, 33, 1, 34, 6, 21, 20, 22, 50, 54, 52, 38, 39, 50, 22, 23, 30, 1, 21, 20, 6, 35, 34, 38, 53, 52, + 54, 88, 4, 33,251,223, 4, 33,251,223, 2, 17, 73,100,100,146,100,101, 72, 58,108, 39, 42, 42,169,122,123,164,168, 2, 12,172, + 2, 66,170, 2,172, 98, 70, 69, 96, 96,139, 98,113, 43, 40, 40,100, 58,115,161,158,118,118,163, 0, 3, 0, 88, 1, 96, 4,121, + 5, 75, 0, 3, 0, 7, 0, 17, 0, 0, 19, 33, 21, 33, 17, 33, 21, 33, 1, 50, 23, 21, 38, 39, 6, 7, 53, 54, 88, 4, 33,251, +223, 4, 33,251,223, 2, 18,230,203,215,218,216,220,210, 2, 12,172, 2, 66,170, 2, 83,151,178,151, 9, 2,158,178,151, 0, 0, + 0, 3, 0, 88, 1, 96, 4,121, 6, 68, 0, 3, 0, 7, 0, 14, 0, 0, 19, 33, 21, 33, 17, 33, 21, 33, 55, 19, 51, 19, 35, 11, + 1, 88, 4, 33,251,223, 4, 33,251,223,214,234,162,233,143,171,166, 2, 12,172, 2, 66,170,242, 2, 90,253,166, 1,170,254, 86, + 0, 3, 0, 88, 1, 96, 4,121, 6, 68, 0, 3, 0, 7, 0, 14, 0, 0, 19, 33, 21, 33, 17, 33, 21, 33, 19, 51, 27, 1, 51, 3, + 35, 88, 4, 33,251,223, 4, 33,251,223,214,149,166,171,143,233,162, 2, 12,172, 2, 66,170, 3, 76,254, 86, 1,170,253,166, 0, + 0, 3, 0, 88, 1, 96, 4,121, 6,165, 0, 3, 0, 7, 0, 17, 0, 0, 19, 33, 21, 33, 17, 33, 21, 33, 19, 33, 27, 1, 33, 7, + 19, 39, 7, 19, 88, 4, 33,251,223, 4, 33,251,223,176, 1, 13, 84, 85, 1, 12,218, 85,220,219, 84, 2, 12,172, 2, 66,170, 2, +173, 1, 0,255, 0,158,255, 0,159,159, 1, 0, 0, 4, 0, 88, 1, 96, 4,121, 6,176, 0, 3, 0, 7, 0, 10, 0, 14, 0, 0, + 19, 33, 21, 33, 17, 33, 21, 33, 1, 3, 33, 3, 51, 1, 33, 88, 4, 33,251,223, 4, 33,251,223, 2, 16,150, 1, 45,201,101, 1, + 4,253,147, 2, 12,172, 2, 66,170, 3, 21,254,122, 2, 40,253,105, 0, 0, 0, 0, 7, 0, 69, 1, 96, 4,140, 6, 29, 0, 3, + 0, 7, 0, 27, 0, 48, 0, 55, 0, 71, 0, 79, 0, 0, 19, 33, 21, 33, 17, 33, 21, 33, 1, 21, 35, 34, 6, 29, 1, 51, 21, 35, + 17, 35, 17, 35, 53, 51, 53, 52, 54, 51, 3, 21, 33, 30, 1, 51, 50, 54, 55, 21, 14, 1, 35, 34, 38, 53, 52, 54, 51, 50, 22, 7, + 46, 1, 35, 34, 6, 7, 39, 53, 51, 17, 35, 53, 14, 1, 35, 34, 38, 52, 54, 51, 50, 22, 6, 20, 22, 50, 54, 52, 38, 34, 88, 4, + 33,251,223, 4, 33,251,223, 4, 52, 64, 35, 28,109,109, 67, 63, 63, 63, 68,237,254,208, 4, 74, 66, 38, 71, 36, 36, 75, 38, 97, +113,107, 91, 81, 95, 66, 1, 59, 49, 56, 66, 5,199, 67, 67, 21, 63, 45, 73, 92, 92, 73, 45, 63,204, 60,105, 60, 60,105, 2, 12, +172, 2, 66,170, 3, 36, 55, 29, 37, 36, 51,254,160, 1, 96, 51, 28, 68, 61,254,170, 32, 68, 72, 19, 18, 62, 15, 16,112, 96, 99, +116,105, 70, 54, 65, 63, 57,105,218,253,208, 61, 36, 35,116,190,117, 35,103,147, 83, 83,147, 83, 0, 3, 0, 88, 1, 96, 4,121, + 6, 20, 0, 3, 0, 7, 0, 42, 0, 0, 19, 33, 21, 33, 17, 33, 21, 33, 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, 88, 4, 33,251,223, 4, 33,251,223, 2, 46, + 34, 93, 63, 84, 92, 89, 56, 56, 69, 81, 89, 55, 58, 68, 81, 89, 89, 31, 85, 59, 59, 82, 2, 12,172, 2, 66,170, 2,165, 61, 58, +120,111,254,181, 1, 72, 79, 77, 93, 81,254,202, 1, 72, 80, 76, 94, 80,254,202, 2, 37, 85, 50, 48, 61, 0, 0, 0, 4, 0, 88, + 1, 96, 4,121, 6,218, 0, 3, 0, 7, 0, 11, 0, 44, 0, 0, 19, 33, 21, 33, 17, 33, 21, 33, 1, 51, 21, 35, 55, 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, 88, 4, 33, +251,223, 4, 33,251,223, 1,195,102,102, 99, 96, 28, 45, 45, 29, 25, 65, 54, 40, 89, 49, 47, 97, 51, 92,112, 36, 45, 44, 24, 19, + 4, 3, 3, 2, 12,172, 2, 66,170, 1,105,127,200, 78, 50, 65, 43, 44, 27, 47, 24, 45, 55, 35, 33, 94, 28, 28, 97, 79, 38, 69, + 43, 43, 23, 27, 13, 10, 30, 26, 0, 1, 0, 88, 0, 37, 4,121, 4,221, 0, 19, 0, 60, 64, 32, 13, 12, 10, 3, 2, 4, 0,160, + 6, 12, 14, 10,160, 18, 6, 16, 8, 20, 18, 14, 13, 12, 8, 4, 3, 2, 8, 9, 5, 15, 0, 20, 16,212, 60,196, 50, 23, 57, 49, + 0, 16,212, 60,196, 50,252, 60,196, 16,254, 60,196, 57, 17, 18, 57, 48, 19, 33, 19, 23, 7, 51, 21, 33, 7, 33, 21, 33, 3, 39, + 55, 35, 53, 33, 55, 33, 88, 2,135,246,125,164,203,254,178,184, 2, 6,253,121,248,125,164,201, 1, 74,184,253,254, 3,162, 1, + 59,102,213,170,236,172,254,197,104,211,172,236, 0, 3, 0, 88, 0,192, 4,121, 4, 66, 0, 3, 0, 7, 0, 11, 0, 0, 19, 33, + 21, 33, 21, 33, 21, 33, 17, 33, 21, 33, 88, 4, 33,251,223, 4, 33,251,223, 4, 33,251,223, 2,216,172,192,172, 3,130,170, 0, + 0, 1, 0, 88, 0, 10, 4,121, 4,250, 0, 27, 0, 0, 37, 35, 53, 33, 55, 33, 53, 33, 55, 33, 53, 33, 55, 23, 7, 51, 21, 33, + 7, 33, 21, 33, 7, 33, 21, 33, 7, 39, 1, 71,239, 1, 61, 88,254,107, 1,229, 88,253,195, 2,139, 85,141, 55,235,254,200, 89, + 1,145,254, 32, 90, 2, 58,253,119, 83,141,192,172,192,172,192,170,184, 65,119,170,192,172,192,172,182, 64, 0, 0, 4, 0, 88, + 0, 0, 4,121, 4,238, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, 55, 33, 21, 33, 17, 33, 21, 33, 21, 33, 21, 33, 17, 33, 21, 33, + 88, 4, 33,251,223, 4, 33,251,223, 4, 33,251,223, 4, 33,251,223,172,172, 3,132,172,192,172, 3,130,170, 0, 0, 2, 0, 88, + 0, 0, 4,121, 4, 63, 0, 6, 0, 10, 0, 40, 64, 22, 6, 5, 3, 2, 0, 5, 1,229, 4,228, 7,160, 8, 6, 7, 4, 0, 40, + 9, 2, 39, 11, 16,252, 60,236, 50, 50, 57, 49, 0, 47,236,244,236, 23, 57, 48, 1, 21, 1, 53, 1, 21, 5, 1, 21, 33, 53, 4, +121,251,223, 4, 33,252,223, 3, 33,251,223, 1,182,182, 1, 76,168, 1, 75,184,231,254, 10,170,170, 0, 0, 0, 0, 2, 0, 88, + 0, 0, 4,121, 4, 63, 0, 6, 0, 10, 0, 40, 64, 22, 5, 4, 2, 1, 0, 5, 6,229, 3,228, 7,160, 9, 1, 8, 4, 40, 7, + 2, 0, 39, 11, 16,252, 60, 60,236, 50, 57, 49, 0, 47,236,244,236, 23, 57, 48, 19, 45, 1, 53, 1, 21, 1, 21, 33, 21, 33, 88, + 3, 35,252,221, 4, 33,251,223, 4, 33,251,223, 1,182,234,231,184,254,181,168,254,180, 86,170, 0, 3, 0, 86,255, 84, 4,119, + 4,159, 0, 3, 0, 10, 0, 14, 0, 0, 51, 33, 21, 33, 1, 21, 1, 53, 1, 21, 5, 1, 21, 33, 53, 86, 4, 33,251,223, 4, 33, +251,223, 4, 33,252,223, 3, 33,251,223,172, 2,194,182, 1, 76,168, 1, 75,184,231,254, 10,170,170, 0, 0, 0, 0, 3, 0, 86, +255, 84, 4,119, 4,159, 0, 3, 0, 10, 0, 14, 0, 0, 51, 33, 21, 33, 17, 45, 1, 53, 1, 21, 1, 5, 21, 33, 53, 86, 4, 33, +251,223, 3, 33,252,223, 4, 33,251,223, 4, 33,251,223,172, 2,194,234,231,184,254,181,168,254,180, 86,170,170, 0, 2, 0, 86, +254,181, 4,119, 4,159, 0, 19, 0, 26, 0, 0, 5, 35, 53, 33, 55, 33, 53, 33, 55, 23, 7, 51, 21, 33, 7, 33, 21, 33, 7, 39, + 1, 21, 1, 53, 1, 21, 5, 1, 32,202, 1,112, 91,254, 53, 2,109,154,123, 42,201,254,149, 91, 1,198,253,148,153,121, 3,126, +251,223, 4, 33,252,223,172,172, 96,170,161,117, 44,170, 96,172,159,118, 2,235,182, 1, 76,168, 1, 75,184,231, 0, 2, 0, 86, +254,181, 4,119, 4,159, 0, 19, 0, 26, 0, 0, 5, 35, 53, 33, 55, 33, 53, 33, 55, 23, 7, 51, 21, 33, 7, 33, 21, 33, 7, 39, + 3, 45, 1, 53, 1, 21, 1, 1, 32,202, 1,112, 91,254, 53, 2,109,154,123, 42,201,254,149, 91, 1,198,253,148,153,121,163, 3, + 33,252,223, 4, 33,251,223,172,172, 96,170,161,117, 44,170, 96,172,159,118, 2,235,234,231,184,254,181,168,254,180, 0, 0, 0, + 0, 1, 0, 87, 0, 0, 4,121, 5, 4, 0, 27, 0, 0, 1, 38, 37, 53, 4, 55, 19, 23, 3, 54, 55, 21, 6, 15, 1, 22, 5, 21, + 36, 7, 3, 39, 19, 6, 7, 53, 54, 55, 2, 52,189,254,224, 1, 91,216,194,154,130,122,154,216,162, 98,190, 1, 31,254,165,216, +193,154,129,124,152,219,160, 2,219, 18,136,178,170, 8, 1,127, 77,254,254, 41, 73,178,103, 35,194, 18,136,178,170, 8,254,129, + 77, 1, 2, 40, 74,178,104, 35, 0, 2, 0, 88,255,227, 4,121, 5, 32, 0, 15, 0, 18, 0, 0, 1, 37, 53, 37, 19, 23, 7, 37, + 21, 5, 3, 5, 21, 37, 3, 39, 19, 5, 23, 1,225,254,119, 2, 50,114,153, 75, 1, 47,254,146,100, 1,210,253,254,116,153,228, +254,217,233, 1,148,155,166,222, 1,109, 48,241,120,182,138,254,187,174,183,203,254,139, 48, 2,221,111, 86, 0, 0, 2, 0, 88, +255,227, 4,121, 5, 32, 0, 15, 0, 18, 0, 0, 1, 5, 21, 5, 3, 39, 55, 5, 53, 37, 19, 37, 53, 5, 19, 23, 3, 37, 39, 2, +240, 1,137,253,206,114,153, 75,254,209, 1,110,100,254, 46, 2, 2,116,153,228, 1, 39,233, 3,111,155,166,222,254,147, 48,241, +120,182,138, 1, 69,174,183,203, 1,117, 48,253, 35,111, 86, 0, 0, 2, 0, 88,255, 13, 4,121, 5, 8, 0, 2, 0, 26, 0, 0, + 1, 5, 23, 3, 33, 53, 33, 19, 37, 53, 37, 19, 23, 7, 37, 21, 5, 7, 5, 21, 37, 7, 33, 21, 33, 7, 39, 2, 88,255, 0,211, +199,254,244, 1, 67, 95,254, 94, 2, 63,115,161, 77, 1, 27,254,164, 78, 1,170,254, 35, 78, 2, 43,253,158, 80,162, 2,234, 74, + 62,253,158,170, 1, 31,131,168,180, 1, 96, 53,237, 89,184,100,241,124,182,150,236,170,243, 53, 0, 2, 0, 88,255, 13, 4,121, + 5, 8, 0, 23, 0, 26, 0, 0, 1, 5, 21, 5, 7, 33, 21, 33, 7, 39, 55, 35, 53, 51, 55, 5, 53, 37, 55, 37, 53, 5, 19, 23, + 3, 55, 39, 2,224, 1,153,253,203, 78, 2,131,253, 69, 79,162, 62,179,235, 58,254,219, 1,102, 76,254, 78, 1,230,116,161,208, +248,206, 3,116,128,168,177,241,170,243, 53,190,170,178, 92,182,104,236,125,184,152, 1, 97, 53,253,133, 72, 60, 0, 2, 0, 86, +255,212, 4,119, 4, 63, 0, 28, 0, 35, 0, 0, 37, 21, 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, + 23, 22, 23, 22, 23, 22, 51, 50, 54, 19, 21, 1, 53, 1, 21, 5, 4,119, 75,143, 79, 90,113, 22, 11, 77,103, 51, 79,141, 73, 78, +146, 83, 53, 50, 39, 86, 10, 22,116, 93, 70,137, 74,251,223, 4, 33,252,223,245,175, 59, 55, 51, 10, 4, 34, 24, 59, 64,174, 60, + 55, 11, 9, 34, 4, 11, 54, 60, 1, 0,182, 1, 76,168, 1, 75,184,231, 0, 0, 0, 2, 0, 86,255,212, 4,119, 4, 63, 0, 33, + 0, 40, 0, 0, 37, 21, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 35, 34, 7, 6, 7, 53, 54, 55, 54, 51, 50, 23, 22, 23, 22, + 23, 22, 51, 50, 55, 54, 1, 45, 1, 53, 1, 21, 1, 4,119, 75, 72, 71, 79, 90,113, 22, 11, 77, 51, 52, 51, 79, 70, 71, 73, 78, + 73, 73, 83, 53, 50, 39, 86, 10, 22,116, 93, 70, 68, 69,252, 41, 3, 33,252,223, 4, 33,251,223,245,175, 59, 27, 28, 51, 10, 4, + 34, 12, 12, 29, 30, 64,174, 60, 28, 27, 11, 9, 34, 4, 11, 54, 30, 30, 1, 0,234,231,184,254,181,168,254,180, 0, 2, 0, 86, +255, 13, 4,119, 5, 8, 0, 43, 0, 46, 0, 0, 37, 34, 6, 7, 53, 62, 1, 51, 50, 23, 55, 37, 53, 37, 19, 23, 7, 37, 21, 5, + 7, 5, 21, 37, 7, 22, 23, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 39, 38, 39, 38, 39, 3, 39, 1, 5, 23, 1,125, 81,141, 73, + 78,146, 83, 21, 21, 69,254, 94, 2, 65,115,161, 77, 1, 25,254,167, 80, 1,169,254, 35, 66, 24, 29,116, 93, 70,137, 74, 75,143, + 79, 90,113, 22, 11, 32, 28, 95,162, 1, 52,254,253,213, 79, 59, 64,174, 60, 55, 2,214,131,168,181, 1, 95, 53,236, 88,184, 99, +242,124,182,150,207, 8, 15, 54, 60, 63,175, 59, 55, 51, 10, 4, 14, 11,254,223, 53, 3,169, 75, 62, 0, 0, 0, 0, 2, 0, 86, +255, 13, 4,119, 5, 8, 0, 2, 0, 50, 0, 0, 1, 55, 39, 55, 5, 21, 5, 7, 22, 23, 22, 23, 22, 51, 50, 55, 54, 55, 21, 6, + 7, 6, 35, 34, 39, 38, 39, 38, 39, 3, 39, 19, 6, 7, 6, 7, 53, 54, 55, 54, 63, 1, 5, 53, 37, 55, 37, 53, 5, 19, 23, 2, +131,244,202, 51, 1,151,253,205, 59, 24, 76, 10, 22,116, 93, 70, 68, 69, 74, 71, 76, 71, 79, 90,113, 22, 11, 80, 60,103,162, 85, + 31, 29, 71, 73, 78, 73, 53, 58, 34,254,216, 1,103, 78,254, 75, 1,232,116,161, 2, 89, 71, 59,152,127,168,177,184, 5, 31, 4, + 11, 54, 30, 30, 63,175, 56, 30, 28, 51, 10, 4, 36, 13,254,199, 53, 1, 3, 7, 12, 30, 64,174, 60, 28, 20, 5,106, 93,182,105, +234,126,184,153, 1, 98, 53, 0, 0, 2, 0, 86,255, 74, 4,119, 4,211, 0, 6, 0, 13, 0, 0, 51, 45, 1, 53, 1, 21, 9, 1, + 21, 1, 53, 1, 21, 5, 86, 3, 33,252,223, 4, 33,251,223, 4, 33,251,223, 4, 33,252,223,234,231,184,254,181,168,254,180, 3, + 0,182, 1, 76,168, 1, 75,184,231, 0, 0, 0, 0, 2, 0, 86,255, 74, 4,119, 4,211, 0, 6, 0, 13, 0, 0, 33, 21, 1, 53, + 1, 21, 5, 1, 45, 1, 53, 1, 21, 1, 4,119,251,223, 4, 33,252,223,255, 0, 3, 33,252,223, 4, 33,251,223,182, 1, 76,168, + 1, 75,184,231, 1, 96,234,231,184,254,181,168,254,180, 0, 0, 0, 3, 0, 86,254,112, 4,119, 5,177, 0, 2, 0, 30, 0, 33, + 0, 0, 1, 5, 31, 1, 5, 21, 37, 7, 5, 21, 5, 3, 39, 55, 7, 53, 37, 19, 37, 53, 5, 55, 37, 53, 37, 19, 23, 7, 55, 21, + 5, 3, 37, 39, 2,132,254,210,252,163, 1,130,254, 78, 25, 1,203,253,155,109,162, 76,249, 1, 52, 80,254,124, 1,181, 24,254, + 51, 2,104,110,162, 76,245,254,206,250, 1, 44,250, 3,139, 87, 74, 47,113,182,136, 78,144,168,193,254,155, 48,248, 78,182, 90, + 1, 7,112,184,137, 79,145,168,193, 1,104, 50,249, 77,184, 88,252,207, 88, 72, 0, 3, 0, 86,254,112, 4,119, 5,177, 0, 27, + 0, 30, 0, 33, 0, 0, 1, 23, 3, 5, 21, 5, 7, 37, 21, 5, 7, 5, 21, 37, 3, 39, 19, 37, 53, 37, 55, 5, 53, 37, 55, 37, + 53, 5, 1, 55, 7, 1, 7, 55, 3, 44,162,126, 1, 39,254, 98, 29, 1,187,254, 10, 48, 2, 38,253,170,124,162,125,254,214, 1, +162, 29,254, 65, 1,249, 48,253,215, 2, 89,254,255, 17,105, 1,204, 17,102, 5,177, 50,254,101, 92,168,130, 96,139,184,145,159, +161,182,188,254,106, 48, 1,152, 94,168,131, 95,140,182,147,158,160,184,188,252,185, 56, 30, 2, 99, 55, 30, 0, 0, 1, 0, 86, +255,211, 4,119, 5, 47, 0, 10, 0, 0, 1, 0, 5, 4, 1, 21, 0, 37, 53, 36, 1, 4,119,254,185,254, 92, 1,172, 1, 63,254, +185,253, 38, 2,222, 1, 67, 4, 64,254,152, 87, 97,254,162,239, 1,197,150,166,148, 1,199, 0, 0, 1, 0, 88,255,211, 4,121, + 5, 47, 0, 10, 0, 0, 19, 53, 0, 5, 21, 4, 1, 53, 0, 37, 36, 88, 1, 67, 2,222,253, 38,254,185, 1, 63, 1,172,254, 92, + 4, 64,239,254, 57,148,166,150,254, 59,239, 1, 94, 97, 87, 0, 0, 2, 0, 86,255, 4, 4,119, 5,177, 0, 9, 0, 24, 0, 0, + 37, 38, 37, 53, 4, 23, 4, 23, 21, 38, 19, 0, 5, 4, 1, 21, 38, 37, 38, 37, 53, 36, 55, 36, 55, 2,164,224,254,146, 1,112, +222, 1, 8,203,177,177,254,221,254,108, 1,148, 1, 35,183,254,228,247,254,169, 1, 97,237, 1, 28,183,155,154, 54,200, 56,131, +156,220,252,207, 4,239,254,208, 79, 93,254,222,239,201,151,130, 57,166, 61,125,150,203, 0, 0, 0, 2, 0, 86,255, 4, 4,119, + 5,177, 0, 9, 0, 24, 0, 0, 37, 4, 7, 53, 54, 37, 54, 37, 21, 4, 1, 53, 22, 5, 22, 5, 21, 4, 7, 4, 7, 53, 0, 37, + 36, 2, 41,254,222,177,203, 1, 8,222, 1,112,254,146,253, 77,183, 1, 28,237, 1, 97,254,169,247,254,228,183, 1, 35, 1,148, +254,108,155,200,207,252,220,156,131, 56,200, 54, 3,141,239,203,150,125, 61,166, 57,130,151,201,239, 1, 34, 93, 79, 0, 0, 0, + 0, 2, 0, 86,255,142, 4,119, 5,177, 0, 27, 0, 42, 0, 0, 37, 21, 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, + 62, 1, 51, 50, 22, 23, 22, 23, 22, 51, 50, 54, 19, 0, 5, 4, 1, 21, 38, 37, 38, 37, 53, 36, 55, 36, 55, 4,119, 75,143, 79, + 90,113, 22, 11, 77,103, 51, 79,141, 73, 78,146, 83, 53,100, 75, 10, 22,116, 93, 70,137, 74,254,221,254,108, 1,148, 1, 35,183, +254,228,247,254,169, 1, 97,237, 1, 28,183,175,175, 59, 55, 51, 10, 4, 34, 24, 59, 64,174, 60, 55, 22, 32, 4, 11, 54, 60, 4, + 82,254,208, 79, 93,254,222,239,201,151,130, 57,166, 61,125,150,203, 0, 0, 0, 0, 2, 0, 86,255,142, 4,119, 5,177, 0, 27, + 0, 42, 0, 0, 37, 21, 14, 1, 35, 34, 39, 38, 39, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 22, 23, 22, 51, 50, 54, + 1, 53, 22, 5, 22, 5, 21, 4, 7, 4, 7, 53, 0, 37, 36, 4,119, 75,143, 79, 90,113, 22, 11, 77,103, 51, 79,141, 73, 78,146, + 83, 53,100, 75, 10, 22,116, 93, 70,137,252, 41,183, 1, 28,237, 1, 97,254,169,247,254,231,186, 1, 35, 1,148,254,108,175,175, + 59, 55, 51, 10, 4, 34, 24, 59, 64,174, 60, 55, 22, 32, 4, 11, 54, 60, 4, 82,239,203,150,125, 61,166, 57,130,148,204,239, 1, + 34, 93, 79, 0, 0, 2, 0, 86,255, 91, 4,119, 5,167, 0, 21, 0, 26, 0, 0, 1, 23, 3, 54, 55, 21, 6, 7, 3, 22, 23, 21, + 38, 37, 3, 39, 19, 38, 39, 53, 36, 55, 3, 55, 6, 7, 22, 3, 52,163,104,155,109,160,181, 85,233,193,178,254,214,160,162,166, +192,233, 1, 71,246, 99, 32, 95,101, 84, 5,167, 50,254,170,119,153,239,176,110,254,235,119,212,239,247,157,253,244, 50, 2, 34, + 79, 48,166, 66,127,254,188,106, 37, 21, 19, 0, 0, 2, 0, 86,255, 91, 4,119, 5,167, 0, 21, 0, 26, 0, 0, 5, 39, 19, 6, + 7, 53, 54, 55, 19, 38, 39, 53, 22, 5, 19, 23, 3, 22, 23, 21, 4, 7, 19, 7, 54, 55, 38, 1,153,163,104,155,109,160,181, 85, +233,193,178, 1, 42,160,162,166,192,233,254,185,246, 99, 32, 95,101, 84,165, 50, 1, 86,119,153,239,176,110, 1, 21,119,212,239, +247,157, 2, 12, 50,253,222, 79, 48,166, 66,127, 1, 68,106, 37, 21, 19, 0, 0, 0, 1, 0, 88, 0,163, 4,121, 4, 95, 0, 20, + 0, 0, 37, 33, 34, 39, 38, 53, 52, 55, 54, 51, 33, 21, 33, 34, 6, 21, 20, 23, 22, 51, 33, 4,121,253,189,201,138,139,139,138, +200, 2, 68,253,188,137,190, 95, 96,136, 2, 68,163,139,139,200,198,141,139,150,192,136,138, 94, 96, 0, 0, 0, 0, 1, 0, 88, + 0,163, 4,121, 4, 95, 0, 20, 0, 0, 55, 53, 33, 50, 55, 54, 53, 52, 38, 35, 33, 53, 33, 50, 23, 22, 21, 20, 7, 6, 35, 88, + 2, 68,136, 96, 95,190,137,253,188, 2, 68,200,138,139,139,138,201,163,150, 96, 94,138,136,192,150,139,141,198,200,139,139, 0, + 0, 2, 0, 88,255,196, 4,121, 5, 62, 0, 8, 0, 32, 0, 0, 1, 35, 34, 6, 21, 20, 23, 22, 23, 7, 38, 39, 38, 53, 52, 55, + 54, 59, 1, 55, 23, 7, 33, 21, 33, 3, 33, 21, 33, 34, 35, 7, 39, 2,127, 74,137,190, 95, 43, 51, 48, 84, 68,139,139,138,200, +126, 75,161, 57, 1, 19,254,186,221, 2, 35,253,189, 10, 10, 75,162, 3,201,192,136,138, 94, 43, 24,144, 35, 69,139,200,198,141, +139,223, 53,170,150,253,112,150,223, 53, 0, 0, 0, 2, 0, 88,255,196, 4,121, 5, 62, 0, 8, 0, 32, 0, 0, 1, 51, 50, 54, + 53, 52, 39, 38, 39, 55, 22, 23, 22, 21, 20, 7, 6, 43, 1, 7, 39, 55, 33, 53, 33, 19, 33, 53, 33, 50, 51, 55, 23, 2, 82, 74, +137,190, 95, 43, 51, 48, 84, 68,139,139,138,200,126, 75,161, 57,254,237, 1, 70,221,253,221, 2, 67, 10, 10, 75,162, 1, 57,192, +136,138, 94, 43, 24,144, 35, 69,139,200,198,141,139,223, 53,170,150, 2,144,150,223, 53, 0, 0, 0, 2, 0, 88, 0, 0, 4,121, + 5, 0, 0, 3, 0, 24, 0, 0, 37, 21, 33, 53, 37, 33, 34, 39, 38, 53, 52, 55, 54, 51, 33, 21, 33, 34, 6, 21, 20, 23, 22, 51, + 33, 4,121,251,223, 4, 33,253,189,201,138,139,139,138,200, 2, 68,253,188,137,190, 95, 96,136, 2, 68,170,170,170,154,139,139, +200,198,141,139,150,192,136,138, 94, 96, 0, 0, 0, 2, 0, 88, 0, 0, 4,121, 5, 0, 0, 3, 0, 24, 0, 0, 37, 21, 33, 61, + 2, 33, 50, 55, 54, 53, 52, 38, 35, 33, 53, 33, 50, 23, 22, 21, 20, 7, 6, 35, 4,121,251,223, 2, 68,136, 96, 95,190,137,253, +188, 2, 68,200,138,139,139,138,201,170,170,170,154,150, 96, 94,138,136,192,150,139,141,198,200,139,139, 0, 0, 0, 2, 0, 88, +255, 44, 4,121, 5,214, 0, 29, 0, 38, 0, 0, 37, 33, 21, 33, 7, 39, 55, 35, 53, 33, 55, 38, 39, 38, 53, 52, 55, 54, 59, 1, + 55, 23, 7, 51, 21, 33, 3, 33, 21, 33, 19, 35, 34, 6, 21, 20, 23, 22, 23, 2, 36, 2, 85,253,114, 71,159, 54,227, 1, 27, 58, +113, 89,139,139,138,200,178, 71,158, 53,226,254,236,220, 1,240,253,221, 94,127,137,190, 95, 61, 82,170,170,212, 53,159,170,172, + 32, 89,139,200,198,141,139,214, 53,161,150,253,112,150, 3, 38,192,136,136, 96, 61, 23, 0, 0, 0, 2, 0, 88,255, 44, 4,121, + 5,214, 0, 33, 0, 43, 0, 0, 1, 22, 23, 22, 21, 20, 7, 6, 43, 1, 7, 33, 21, 33, 7, 39, 55, 35, 53, 33, 55, 33, 53, 33, + 19, 38, 35, 33, 53, 33, 50, 23, 55, 23, 1, 51, 50, 55, 54, 53, 52, 39, 38, 39, 3,131, 57, 50,139,139,138,201, 68, 52, 2, 86, +253,113, 70,159, 53,226, 1, 27, 51,254,178, 1,129,219, 12, 12,253,188, 2, 68, 38, 35, 73,158,254,188, 20,136, 96, 95, 95, 24, + 26, 4,199, 32, 50,141,198,200,139,139,154,170,212, 53,159,170,154,150, 2,143, 1,150, 5,219, 53,252, 57, 96, 94,138,136, 96, + 24, 18, 0, 0, 0, 1, 0, 88,255, 48, 4,121, 5, 0, 0, 33, 0, 0, 37, 21, 33, 7, 39, 55, 33, 53, 33, 55, 35, 34, 39, 38, + 53, 52, 55, 54, 51, 33, 21, 33, 34, 6, 21, 20, 23, 22, 51, 33, 21, 33, 23, 7, 4,121,254, 24,167,132, 82,254,160, 1,232,124, +134,201,138,139,139,138,200, 2, 68,253,188,137,190, 95, 97,135, 2, 68,254,177, 65, 81,170,170,208,106,102,170,154,139,140,199, +198,141,139,150,192,136,138, 94, 96,150, 53,101, 0, 1, 0, 88,255, 48, 4,121, 5, 0, 0, 34, 0, 0, 37, 21, 33, 7, 39, 55, + 33, 53, 33, 55, 6, 35, 33, 53, 33, 50, 55, 54, 53, 52, 38, 35, 33, 53, 33, 50, 23, 22, 21, 20, 7, 6, 7, 23, 7, 4,121,254, + 24,167,132, 82,254,160, 1,232,124, 16, 17,253,189, 2, 68,135, 97, 95,190,137,253,188, 2, 68,200,138,139,139, 93,122, 84, 81, +170,170,208,106,102,170,155, 1,150, 96, 94,138,136,192,150,139,141,198,199,140, 94, 30, 68,101, 0, 1, 0, 88, 0,119, 4,121, + 4,139, 0, 7, 0, 49, 0,176, 6, 47,176, 7, 51,177, 4, 4,237,177, 5, 4,237,176, 2,176, 4, 16,222,176, 3, 50,177, 0, + 4,237,177, 1, 4,237, 1,176, 0, 47,176, 7, 51,177, 3, 4,237,177, 4, 4,237, 48, 49, 19, 33, 21, 33, 17, 33, 21, 33, 88, + 4, 33,252,137, 3,119,251,223, 4,139,170,253, 64,170, 0, 0, 0, 1, 0, 88, 0,119, 4,121, 4,139, 0, 7, 0, 49, 0,176, + 1, 47,176, 2, 51,177, 3, 4,237,177, 4, 4,237,176, 5,176, 3, 16,222,176, 6, 50,177, 0, 4,237,177, 7, 4,237, 1,176, + 4, 47,176, 5, 51,177, 0, 4,237,177, 1, 4,237, 48, 49, 1, 17, 33, 53, 33, 17, 33, 53, 4,121,251,223, 3,119,252,137, 4, +139,251,236,170, 2,192,170, 0, 0, 2, 0, 88, 0, 14, 4,121, 4,244, 0, 3, 0, 11, 0, 72, 0,176, 2, 47,176, 3, 51,177, + 0, 4,237,177, 1, 4,237,176, 10,176, 0, 16,222,176, 11, 50,177, 8, 4,237,177, 9, 4,237,176, 6,176, 8, 16,222,176, 7, + 50,177, 4, 4,237,177, 5, 4,237, 1,176, 0, 47,176, 3, 51,176, 4, 51,176, 11, 51,177, 7, 4,237,177, 8, 4,237, 48, 49, + 55, 33, 21, 33, 17, 33, 21, 33, 17, 33, 21, 33, 88, 4, 33,251,223, 4, 33,252,137, 3,119,251,223,184,170, 4,230,170,253,152, +170, 0, 0, 0, 0, 2, 0, 88, 0, 14, 4,121, 4,244, 0, 3, 0, 11, 0, 74, 0,176, 1, 47,176, 2, 51,177, 0, 4,237,177, + 3, 4,237,176, 5,176, 0, 16,222,176, 6, 50,177, 7, 4,237,177, 8, 4,237,176, 9,176, 7, 16,222,176, 10, 50,177, 4, 4, +237,177, 11, 4,237, 1,176, 8, 47,176, 9, 51,177, 0, 4,237,177, 1, 4,237,177, 4, 4,237,177, 5, 4,237, 48, 49, 37, 21, + 33, 53, 1, 17, 33, 53, 33, 17, 33, 53, 4,121,251,223, 4, 33,251,223, 3,119,252,137,184,170,170, 4, 60,252, 68,170, 2,104, +170, 0, 0, 0, 0, 3, 0, 79, 0,105, 4,130, 4,158, 0, 25, 0, 51, 0, 63, 0, 0, 0, 50, 22, 23, 22, 23, 22, 21, 20, 7, + 6, 7, 14, 1, 34, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 4, 34, 7, 6, 7, 14, 1, 21, 20, 22, 23, 22, 23, 22, 50, 55, + 54, 55, 62, 1, 53, 52, 38, 39, 38, 39, 7, 51, 17, 33, 21, 33, 17, 35, 17, 33, 53, 33, 1,250,221,190, 79, 79, 39, 39, 39, 39, + 79, 79,190,221,190, 79, 79, 39, 39, 39, 39, 79, 79, 1,126,163, 71, 69, 58, 59, 57, 57, 59, 58, 69, 71,163, 70, 70, 58, 59, 57, + 57, 59, 58, 70,222,140, 1, 20,254,236,140,254,237, 1, 19, 4,158, 80, 79, 79, 95, 95,112,109, 95, 95, 79, 78, 80, 80, 78, 79, + 95, 95,109,112, 95, 95, 79, 79, 61, 30, 30, 57, 59,140, 83, 80,140, 59, 57, 30, 30, 30, 30, 57, 59,140, 80, 83,140, 59, 57, 30, + 22,254,235,140,254,238, 1, 18,140, 0, 0, 0, 0, 3, 0, 79, 0,105, 4,130, 4,158, 0, 25, 0, 51, 0, 55, 0, 0, 0, 50, + 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 14, 1, 34, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 4, 34, 7, 6, 7, 14, 1, 21, + 20, 22, 23, 22, 23, 22, 50, 55, 54, 55, 62, 1, 53, 52, 38, 39, 38, 39, 19, 21, 33, 53, 1,250,221,190, 79, 79, 39, 39, 39, 39, + 79, 79,190,221,190, 79, 79, 39, 39, 39, 39, 79, 79, 1,126,163, 71, 69, 58, 59, 57, 57, 59, 58, 69, 71,163, 70, 70, 58, 59, 57, + 57, 59, 58, 70,194,253, 77, 4,158, 80, 79, 79, 95, 95,112,109, 95, 95, 79, 78, 80, 80, 78, 79, 95, 95,109,112, 95, 95, 79, 79, + 61, 30, 30, 57, 59,140, 83, 80,140, 59, 57, 30, 30, 30, 30, 57, 59,140, 80, 83,140, 59, 57, 30,254,213,140,140, 0, 3, 0, 79, + 0,105, 4,130, 4,158, 0, 25, 0, 51, 0, 63, 0, 0, 0, 50, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 14, 1, 34, 38, 39, 38, + 39, 38, 53, 52, 55, 54, 55, 54, 4, 34, 7, 6, 7, 14, 1, 21, 20, 22, 23, 22, 23, 22, 50, 55, 54, 55, 62, 1, 53, 52, 38, 39, + 38, 39, 5, 55, 23, 55, 23, 7, 23, 7, 39, 7, 39, 55, 1,250,221,190, 79, 79, 39, 39, 39, 39, 79, 79,190,221,190, 79, 79, 39, + 39, 39, 39, 79, 79, 1,126,163, 71, 69, 58, 59, 57, 57, 59, 58, 69, 71,163, 70, 70, 58, 59, 57, 57, 59, 58, 70,254, 66, 99,196, +195, 99,195,194, 99,194,194, 99,194, 4,158, 80, 79, 79, 95, 95,112,109, 95, 95, 79, 78, 80, 80, 78, 79, 95, 95,109,112, 95, 95, + 79, 79, 61, 30, 30, 57, 59,140, 83, 80,140, 59, 57, 30, 30, 30, 30, 57, 59,140, 80, 83,140, 59, 57, 30,173, 99,196,195, 99,195, +194, 99,194,194, 99,194, 0, 0, 0, 3, 0, 79, 0,105, 4,130, 4,158, 0, 25, 0, 51, 0, 55, 0, 0, 0, 50, 22, 23, 22, 23, + 22, 21, 20, 7, 6, 7, 14, 1, 34, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 4, 34, 7, 6, 7, 14, 1, 21, 20, 22, 23, 22, + 23, 22, 50, 55, 54, 55, 62, 1, 53, 52, 38, 39, 38, 39, 31, 1, 1, 39, 1,250,221,190, 79, 79, 39, 39, 39, 39, 79, 79,190,221, +190, 79, 79, 39, 39, 39, 39, 79, 79, 1,126,163, 71, 69, 58, 59, 57, 57, 59, 58, 69, 71,163, 70, 70, 58, 59, 57, 57, 59, 58, 70, + 44, 99,254, 24, 99, 4,158, 80, 79, 79, 95, 95,112,109, 95, 95, 79, 78, 80, 80, 78, 79, 95, 95,109,112, 95, 95, 79, 79, 61, 30, + 30, 57, 59,140, 83, 80,140, 59, 57, 30, 30, 30, 30, 57, 59,140, 80, 83,140, 59, 57, 30, 75, 99,254, 24, 99, 0, 0, 3, 0, 79, + 0,105, 4,130, 4,158, 0, 3, 0, 29, 0, 55, 0, 0, 1, 51, 17, 35, 18, 50, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 14, 1, + 34, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 4, 34, 7, 6, 7, 14, 1, 21, 20, 22, 23, 22, 23, 22, 50, 55, 54, 55, 62, 1, + 53, 52, 38, 39, 38, 39, 1,233,252,252, 17,221,190, 79, 79, 39, 39, 39, 39, 79, 79,190,221,190, 79, 79, 39, 39, 39, 39, 79, 79, + 1,126,163, 71, 69, 58, 59, 57, 57, 59, 58, 69, 71,163, 70, 70, 58, 59, 57, 57, 59, 58, 70, 3, 16,254,207, 2,191, 80, 79, 79, + 95, 95,112,109, 95, 95, 79, 78, 80, 80, 78, 79, 95, 95,109,112, 95, 95, 79, 79, 61, 30, 30, 57, 59,140, 83, 80,140, 59, 57, 30, + 30, 30, 30, 57, 59,140, 80, 83,140, 59, 57, 30, 0, 4, 0, 79, 0,105, 4,130, 4,158, 0, 14, 0, 24, 0, 50, 0, 76, 0, 0, + 1, 50, 22, 23, 30, 1, 21, 20, 6, 35, 34, 38, 53, 52, 54, 22, 34, 6, 20, 22, 51, 50, 54, 53, 52, 2, 50, 22, 23, 22, 23, 22, + 21, 20, 7, 6, 7, 14, 1, 34, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 4, 34, 7, 6, 7, 14, 1, 21, 20, 22, 23, 22, 23, + 22, 50, 55, 54, 55, 62, 1, 53, 52, 38, 39, 38, 39, 2,104, 55, 98, 37, 38, 39,156,113,113,151,154,167,110, 78, 76, 56, 56, 79, +244,221,190, 79, 79, 39, 39, 39, 39, 79, 79,190,221,190, 79, 79, 39, 39, 39, 39, 79, 79, 1,126,163, 71, 69, 58, 59, 57, 57, 59, + 58, 69, 71,163, 70, 70, 58, 59, 57, 57, 59, 58, 70, 3,143, 41, 39, 37, 96, 56,110,154,151,113,113,156,135, 77,112, 76, 77, 55, + 55, 1,228, 80, 79, 79, 95, 95,112,109, 95, 95, 79, 78, 80, 80, 78, 79, 95, 95,109,112, 95, 95, 79, 79, 61, 30, 30, 57, 59,140, + 83, 80,140, 59, 57, 30, 30, 30, 30, 57, 59,140, 80, 83,140, 59, 57, 30, 0, 0, 0, 7, 0, 79, 0,105, 4,130, 4,158, 0, 25, + 0, 33, 0, 39, 0, 47, 0, 55, 0, 61, 0, 69, 0, 0, 0, 50, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 14, 1, 34, 38, 39, 38, + 39, 38, 53, 52, 55, 54, 55, 54, 5, 17, 37, 38, 39, 38, 39, 38, 13, 2, 54, 53, 52, 3, 39, 17, 54, 55, 54, 55, 54, 5, 17, 7, + 22, 23, 22, 23, 22, 45, 2, 6, 21, 20, 19, 5, 17, 6, 7, 6, 7, 6, 1,250,221,190, 79, 79, 39, 39, 39, 39, 79, 79,190,221, +190, 79, 79, 39, 39, 39, 39, 79, 79, 1,102, 0,255, 15, 18, 58, 70, 45, 1, 6,254,236, 1, 19, 28, 84,254, 49, 45, 70, 58, 17, +254,158,254, 15, 17, 58, 69, 46,254,251, 1, 19,254,236, 27, 83, 0,255, 49, 46, 69, 58, 18, 4,158, 80, 79, 79, 95, 95,112,109, + 95, 95, 79, 78, 80, 80, 78, 79, 95, 95,109,112, 95, 95, 79, 79, 65,254,207,154, 19, 19, 57, 30, 19,238,150,150, 70, 80, 81,254, +188,153,254,210, 7, 19, 30, 57, 18,131, 1, 46,153, 18, 18, 57, 30, 19,235,150,150, 69, 81, 80, 1, 68,154, 1, 49, 7, 19, 30, + 57, 19, 0, 0, 0, 4, 0, 79, 0,105, 4,130, 4,158, 0, 3, 0, 7, 0, 33, 0, 59, 0, 0, 1, 33, 21, 33, 17, 33, 21, 33, + 18, 50, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 14, 1, 34, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 4, 34, 7, 6, 7, 14, + 1, 21, 20, 22, 23, 22, 23, 22, 50, 55, 54, 55, 62, 1, 53, 52, 38, 39, 38, 39, 1, 43, 2,123,253,133, 2,123,253,133,207,221, +190, 79, 79, 39, 39, 39, 39, 79, 79,190,221,190, 79, 79, 39, 39, 39, 39, 79, 79, 1,126,163, 71, 69, 58, 59, 57, 57, 59, 58, 69, + 71,163, 70, 70, 58, 59, 57, 57, 59, 58, 70, 2, 59,103, 1, 90,102, 1,214, 80, 79, 79, 95, 95,112,109, 95, 95, 79, 78, 80, 80, + 78, 79, 95, 95,109,112, 95, 95, 79, 79, 61, 30, 30, 57, 59,140, 83, 80,140, 59, 57, 30, 30, 30, 30, 57, 59,140, 80, 83,140, 59, + 57, 30, 0, 0, 0, 3, 0, 79, 0,105, 4,130, 4,158, 0, 25, 0, 51, 0, 55, 0, 0, 0, 50, 22, 23, 22, 23, 22, 21, 20, 7, + 6, 7, 14, 1, 34, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 4, 34, 7, 6, 7, 14, 1, 21, 20, 22, 23, 22, 23, 22, 50, 55, + 54, 55, 62, 1, 53, 52, 38, 39, 38, 39, 19, 33, 53, 33, 1,250,221,190, 79, 79, 39, 39, 39, 39, 79, 79,190,221,190, 79, 79, 39, + 39, 39, 39, 79, 79, 1,126,163, 71, 69, 58, 59, 57, 57, 59, 58, 69, 71,163, 70, 70, 58, 59, 57, 57, 59, 58, 70, 50,254,109, 1, +147, 4,158, 80, 79, 79, 95, 95,112,109, 95, 95, 79, 78, 80, 80, 78, 79, 95, 95,109,112, 95, 95, 79, 79, 61, 30, 30, 57, 59,140, + 83, 80,140, 59, 57, 30, 30, 30, 30, 57, 59,140, 80, 83,140, 59, 57, 30,254, 73,140, 0, 0, 0, 0, 3, 0, 80, 0,105, 4,131, + 4,156, 0, 3, 0, 7, 0, 19, 0, 0, 37, 17, 33, 17, 3, 33, 17, 33, 1, 51, 17, 33, 21, 33, 17, 35, 17, 33, 53, 33, 3,244, +252,232,140, 4, 51,251,205, 1,210,140, 1, 56,254,200,140,254,201, 1, 55,245, 3, 27,252,229, 3,167,251,205, 3,152,254,199, +140,254,202, 1, 54,140, 0, 0, 0, 3, 0, 80, 0,105, 4,131, 4,156, 0, 3, 0, 7, 0, 11, 0, 0, 37, 17, 33, 17, 3, 33, + 17, 33, 1, 21, 33, 53, 3,244,252,232,140, 4, 51,251,205, 3,114,253, 77,245, 3, 27,252,229, 3,167,251,205, 2, 95,140,140, + 0, 3, 0, 80, 0,105, 4,131, 4,156, 0, 3, 0, 7, 0, 19, 0, 0, 37, 17, 33, 17, 3, 33, 17, 33, 19, 55, 9, 1, 23, 9, + 1, 7, 9, 1, 39, 1, 3,244,252,232,140, 4, 51,251,205,172, 99, 1, 11, 1, 12, 99,254,244, 1, 8, 99,254,248,254,246, 99, + 1, 10,245, 3, 27,252,229, 3,167,251,205, 3, 35, 99,254,245, 1, 12, 99,254,244,254,248, 99, 1, 8,254,247, 99, 1, 9, 0, + 0, 3, 0, 80, 0,105, 4,131, 4,156, 0, 3, 0, 7, 0, 11, 0, 0, 1, 51, 17, 35, 5, 17, 33, 17, 3, 33, 17, 33, 1,233, +252,252, 2, 11,252,232,140, 4, 51,251,205, 3, 16,254,207,234, 3, 27,252,229, 3,167,251,205, 0, 1, 1,233, 2, 47, 2,229, + 3, 96, 0, 3, 0, 21,185, 0, 2, 1, 1,181, 0, 4, 1, 29, 0, 4, 16,212,236, 49, 0, 16,212,236, 48, 1, 51, 17, 35, 1, +233,252,252, 3, 96,254,207, 0, 0, 1, 1, 8, 1,155, 3,201, 4, 55, 0, 9, 0, 0, 1, 33, 19, 23, 33, 7, 23, 39, 7, 19, + 1, 9, 1, 12, 84, 83, 1, 12,217, 84,218,218, 83, 3, 56, 0,255,255,158,255,158,158, 0,255, 0, 2, 0, 88, 1, 96, 4,121, + 3,195, 0, 3, 0, 31, 0, 0, 1, 21, 33, 53, 17, 30, 1, 51, 50, 55, 54, 55, 62, 1, 51, 50, 22, 23, 21, 46, 1, 35, 34, 6, + 7, 6, 7, 6, 35, 34, 38, 39, 4,121,251,223, 74,137, 70, 93,116, 22, 10, 75,100, 53, 83,146, 78, 73,141, 79, 51,103, 77, 11, + 22,113, 90, 79,143, 75, 2, 12,172,172, 1,183, 63, 60, 54, 11, 4, 32, 22, 55, 60,174, 64, 59, 24, 34, 4, 10, 51, 55, 59, 0, + 0, 3, 0, 88,254, 65, 4,121, 6, 21, 0, 6, 0, 13, 0, 17, 0, 0, 55, 53, 1, 21, 1, 53, 37, 19, 21, 1, 53, 1, 21, 5, + 1, 21, 33, 53, 88, 4, 33,251,223, 3, 35,254,251,223, 4, 33,252,223, 3, 33,251,223,202,182,254,180,168,254,181,184,231, 3, +172,182, 1, 76,168, 1, 75,184,231,254, 10,170,170, 0, 0, 0, 0, 3, 0, 88,254, 65, 4,121, 6, 21, 0, 6, 0, 13, 0, 17, + 0, 0, 37, 13, 1, 21, 1, 53, 9, 1, 45, 1, 53, 1, 21, 1, 21, 33, 21, 33, 4,121,252,221, 3, 35,251,223, 4, 33,251,223, + 3, 33,252,223, 4, 33,251,223, 4, 33,251,223,202,234,231,184, 1, 75,168, 1, 76, 2, 12,234,231,184,254,181,168,254,180, 86, +170, 0, 0, 0, 0, 2, 0, 86, 0, 0, 4,119, 4, 63, 0, 6, 0, 10, 0, 0, 1, 13, 1, 21, 1, 53, 1, 53, 33, 53, 33, 4, +119,252,223, 3, 33,251,223, 4, 33,251,223, 4, 33, 2,137,234,231,184, 1, 75,168, 1, 76, 86,170, 0, 0, 0, 0, 2, 0, 88, + 0, 0, 4,121, 4, 63, 0, 6, 0, 10, 0, 0, 19, 53, 1, 21, 1, 53, 37, 1, 53, 33, 21, 88, 4, 33,251,223, 3, 35,252,221, + 4, 33, 2,137,182,254,180,168,254,181,184,231, 1,246,170,170, 0, 2, 0, 86,255, 4, 4,119, 5,177, 0, 9, 0, 24, 0, 0, + 1, 36, 55, 21, 6, 5, 6, 5, 53, 36, 1, 21, 38, 37, 38, 37, 53, 36, 55, 36, 55, 21, 0, 5, 4, 2,164, 1, 34,177,203,254, +248,222,254,144, 1,110, 2,179,183,254,228,237,254,159, 1, 87,247, 1, 28,183,254,221,254,108, 1,148, 4, 26,200,207,252,220, +156,131, 56,200, 54,252,115,239,203,150,125, 61,166, 57,130,151,201,239,254,222, 93, 79, 0, 0, 0, 2, 0, 86,255, 4, 4,119, + 5,177, 0, 9, 0, 24, 0, 0, 1, 22, 5, 21, 36, 39, 36, 39, 53, 22, 3, 0, 37, 36, 1, 53, 22, 5, 22, 5, 21, 4, 7, 4, + 7, 2, 41,224, 1,110,254,144,222,254,248,203,177,177, 1, 35, 1,148,254,108,254,221,183, 1, 28,247, 1, 87,254,159,237,254, +228,183, 4, 26,154, 54,200, 56,131,156,220,252,207,251, 17, 1, 48, 79, 93, 1, 34,239,201,151,130, 57,166, 61,125,150,203, 0, + 0, 2, 0, 86,254,140, 4,119, 6, 41, 0, 37, 0, 42, 0, 0, 1, 23, 7, 54, 55, 21, 6, 7, 3, 22, 23, 21, 38, 39, 7, 23, + 4, 23, 21, 38, 37, 38, 39, 3, 39, 19, 38, 39, 53, 22, 23, 55, 38, 37, 53, 36, 63, 1, 3, 55, 6, 7, 22, 3,100,162, 77,106, + 84,129,152, 86,202,165,169,254, 51, 7, 1, 8,203,177,254,222, 31, 33,179,162,186,163,208,247,182, 51,210,254,242, 1, 97,237, + 52,109, 34, 99,106, 88, 6, 41, 51,245, 83, 93,239,135, 91,254,238,101,165,239,185,143,161, 4,156,220,252,207,200, 21, 20,253, +200, 51, 2, 78, 64, 30,200, 37, 72,163, 90, 45,166, 61,125, 29,254,164,107, 36, 21, 20, 0, 0, 0, 2, 0, 86,254,140, 4,119, + 6, 41, 0, 36, 0, 40, 0, 0, 1, 23, 3, 22, 23, 21, 4, 15, 1, 54, 37, 21, 4, 15, 1, 3, 39, 19, 6, 7, 53, 54, 63, 1, + 6, 7, 53, 54, 37, 55, 36, 39, 53, 22, 5, 22, 31, 1, 7, 55, 38, 3, 37,162,165,154,187,255, 0,203, 68,209, 1, 62,254,146, +224, 22,161,162, 87,119, 90,140,169, 78,231,156,204, 1, 2, 40,254,229,219,183, 1, 28, 43, 47,109, 5, 34, 15, 6, 41, 51,253, +243, 51, 32,166, 43, 83,216,105, 48,200, 54,154, 15,254, 0, 51, 1, 22,104,105,252,152,121,247,135,172,239,203,106,127,101,229, +239,203,150, 23, 20,220, 14, 8, 3, 0, 0, 0, 0, 2, 0, 88,255, 91, 4,121, 5,167, 0, 15, 0, 19, 0, 0, 1, 23, 7, 51, + 21, 33, 1, 33, 21, 33, 3, 39, 55, 35, 17, 33, 9, 1, 33, 17, 3, 80,158, 89,228,254,216,254,230, 2, 66,253,122,114,158, 89, +228, 2,134,254,162, 1, 26,254,104, 5,167, 63,221,170,253, 64,170,254,228, 63,221, 4, 20,252,150, 2,192,253, 64, 0, 0, 0, + 0, 2, 0, 88,255, 91, 4,121, 5,167, 0, 15, 0, 19, 0, 0, 1, 23, 7, 51, 17, 33, 3, 39, 55, 35, 53, 33, 1, 33, 53, 33, + 23, 1, 33, 17, 3, 80,158, 89,228,253,122,114,158, 89,228, 1, 40, 1, 26,253,190, 2,134,115,254,230, 1,152, 5,167, 63,221, +251,236,254,228, 63,221,170, 2,192,170,170,253, 64, 2,192, 0, 0, 1, 0, 88,255, 62, 4,121, 4,244, 0, 20, 0, 0, 19, 33, + 21, 33, 17, 33, 21, 33, 23, 7, 33, 21, 33, 7, 39, 55, 33, 53, 33, 55, 33, 88, 4, 33,252,137, 3,119,254,210, 32, 82, 1, 96, +254, 24,167,132, 82,254,160, 1,232,103,253,177, 4,244,170,253,152,170, 26,102,170,208,106,102,170,128, 0, 0, 0, 1, 0, 88, +255, 62, 4,121, 4,244, 0, 20, 0, 0, 37, 21, 33, 7, 39, 55, 33, 53, 33, 55, 33, 53, 33, 17, 33, 53, 33, 17, 33, 23, 7, 4, +121,254, 24,167,132, 82,254,160, 1,232,103,253,177, 3,119,252,137, 4, 33,254,210, 32, 82,184,170,208,106,102,170,128,170, 2, +104,170,252, 68, 26,102, 0, 0, 0, 1, 0, 86,254,237, 4,119, 4, 63, 0, 37, 0, 0, 37, 38, 39, 38, 35, 34, 6, 7, 53, 62, + 1, 51, 50, 22, 23, 55, 37, 53, 1, 21, 13, 1, 21, 37, 7, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 39, 3, 39, 2, 22, 29, 23, + 52, 51, 79,141, 73, 78,146, 83, 58, 90, 29, 48,253,236, 4, 33,252,223, 3, 33,254,120, 50, 88, 73, 70,137, 74, 75,143, 79, 81, +100, 62,136, 51, 11, 5, 12, 59, 64,174, 60, 55, 22, 12,210,167,168, 1, 75,184,231,234,182,123,223, 34, 60, 63,175, 59, 55, 41, +254,240, 31, 0, 0, 1, 0, 86,254,237, 4,119, 4, 63, 0, 38, 0, 0, 19, 45, 1, 53, 1, 21, 5, 23, 3, 22, 51, 50, 54, 55, + 21, 14, 1, 35, 34, 39, 3, 39, 19, 38, 39, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 55, 5, 86, 3, 33,252,223, 4, 33, +254, 63, 69, 62, 88, 73, 70,137, 74, 75,143, 79, 81,100, 62,136, 67, 29, 23, 52, 51, 79,141, 73, 78,146, 83, 58, 90, 29, 48,253, +236, 1,182,234,231,184,254,181,168,141, 16,254,237, 34, 60, 63,175, 59, 55, 41,254,240, 31, 1, 39, 11, 5, 12, 59, 64,174, 60, + 55, 22, 12,212,167, 0, 0, 0, 0, 2, 0, 86,254, 75, 4,119, 5,177, 0, 31, 0, 46, 0, 0, 5, 38, 39, 38, 35, 34, 6, 7, + 53, 62, 1, 51, 50, 23, 22, 23, 19, 23, 3, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 39, 3, 39, 1, 0, 5, 4, 1, 21, 38, 37, + 38, 37, 53, 36, 55, 36, 55, 2, 22, 29, 23, 52, 51, 79,141, 73, 78,146, 83, 54, 49, 45, 29, 78,136, 83, 88, 73, 70,137, 74, 75, +143, 79, 81,100, 83,136, 2,185,254,221,254,108, 1,148, 1, 35,183,254,228,247,254,169, 1, 97,237, 1, 28,183, 19, 11, 5, 12, + 59, 64,174, 60, 55, 11, 11, 12, 1, 87, 31,254,145, 34, 60, 63,175, 59, 55, 41,254,148, 31, 6, 88,254,208, 79, 93,254,222,239, +201,151,130, 57,166, 61,125,150,203, 0, 0, 0, 0, 2, 0, 86,254, 75, 4,119, 5,177, 0, 31, 0, 46, 0, 0, 5, 38, 39, 38, + 35, 34, 6, 7, 53, 62, 1, 51, 50, 23, 22, 23, 19, 23, 3, 22, 51, 50, 54, 55, 21, 14, 1, 35, 34, 39, 3, 39, 1, 53, 22, 5, + 22, 5, 21, 4, 7, 4, 7, 53, 0, 37, 36, 2, 22, 29, 23, 52, 51, 79,141, 73, 78,146, 83, 54, 49, 45, 29, 78,136, 83, 88, 73, + 70,137, 74, 75,143, 79, 81,100, 83,136,254,152,183, 1, 28,237, 1, 97,254,169,247,254,231,186, 1, 35, 1,148,254,108, 19, 11, + 5, 12, 59, 64,174, 60, 55, 11, 11, 12, 1, 87, 31,254,145, 34, 60, 63,175, 59, 55, 41,254,148, 31, 6, 88,239,203,150,125, 61, +166, 57,130,148,204,239, 1, 34, 93, 79, 0, 0,255,255, 0, 80, 1,234, 4,127, 3, 27, 16, 7, 6,153, 0, 0, 1,234, 0, 0, +255,255, 0, 73, 0, 98, 4,138, 4,163, 16, 6, 7, 84, 0, 0, 0, 1, 0,114, 1, 76, 4, 82, 3,140, 0, 7, 0, 0, 1, 17, + 1, 53, 5, 17, 1, 21, 2,162,253,208, 1,176, 2, 48, 2,122,254,210, 1, 74,194,250, 1, 46,254,182,194, 0, 0, 2, 0,146, + 0, 0, 4, 63, 4,196, 0, 4, 0, 9, 0, 0, 51, 17, 9, 1, 17, 37, 33, 17, 9, 1,146, 1,214, 1,214,252,206, 2,184,254, +164,254,164, 2,135, 2, 61,253,195,253,121,122, 1,213, 1,171,254, 85, 0, 0, 0, 1, 0,146, 3, 63, 4, 62, 5,248, 0, 5, + 0, 0, 9, 1, 35, 9, 1, 35, 2,104, 1,214,163,254,205,254,205,163, 5,248,253, 71, 1,199,254, 57, 0, 0, 0, 1, 0,146, +254,242, 4, 62, 1,172, 0, 5, 0, 0, 9, 1, 51, 9, 1, 51, 2,104,254, 42,163, 1, 51, 1, 51,163,254,242, 2,186,254, 56, + 1,200, 0, 0, 0, 2, 0,146, 0, 0, 4, 62, 3,142, 0, 3, 0, 9, 0, 0, 19, 33, 21, 33, 5, 1, 35, 9, 1, 35,156, 3, +153,252,103, 1,204, 1,214,163,254,205,254,205,163, 3,142,114, 99,253, 71, 1,199,254, 57, 0, 0, 3, 0,146, 0, 0, 4, 62, + 4,136, 0, 3, 0, 7, 0, 13, 0, 0, 19, 33, 21, 33, 21, 33, 21, 33, 5, 1, 35, 9, 1, 35,156, 3,153,252,103, 3,153,252, +103, 1,204, 1,214,163,254,205,254,205,163, 4,136,114,136,114, 99,253, 71, 1,199,254, 57, 0, 0, 1, 1,207,254,242, 3,119, + 6, 20, 0, 5, 0, 0, 1, 33, 21, 35, 17, 35, 1,207, 1,168,240,184, 6, 20,143,249,109, 0, 0, 1, 1, 90,254,242, 3, 2, + 6, 20, 0, 5, 0, 0, 1, 17, 35, 17, 35, 53, 3, 2,184,240, 6, 20,248,222, 6,147,143, 0, 0, 1, 1,207,254,242, 3,119, + 6, 20, 0, 5, 0, 0, 1, 17, 51, 17, 51, 21, 1,207,184,240,254,242, 7, 34,249,109,143, 0, 0, 1, 1, 90,254,242, 3, 2, + 6, 20, 0, 5, 0, 0, 1, 33, 53, 51, 17, 51, 3, 2,254, 88,240,184,254,242,143, 6,147, 0, 0, 2, 2, 37, 0,150, 4,175, + 3, 67, 0, 3, 0, 7, 0, 0, 1, 33, 21, 33, 7, 51, 17, 35, 2,242, 1,189,254, 67,205,114,114, 3, 67,114, 91,254, 32, 0, + 0, 2, 0, 13, 0,150, 2,151, 3, 67, 0, 3, 0, 7, 0, 0, 19, 33, 21, 33, 5, 51, 17, 35, 13, 1,189,254, 67, 2, 24,114, +114, 3, 67,114, 91,254, 32, 0, 0, 2, 2, 37, 2,209, 4,175, 5,126, 0, 3, 0, 7, 0, 0, 1, 33, 21, 33, 3, 51, 17, 35, + 2,242, 1,189,254, 67,205,114,114, 3, 67,114, 2,173,254, 32, 0, 2, 0, 13, 2,209, 2,151, 5,126, 0, 3, 0, 7, 0, 0, + 19, 33, 21, 33, 1, 51, 17, 35, 13, 1,189,254, 67, 2, 24,114,114, 3, 67,114, 2,173,254, 32, 0, 1, 0, 88, 1,115, 4,121, + 3, 94, 0, 5, 0, 0, 1, 21, 33, 17, 35, 17, 4,121,252,135,168, 3, 94,172,254,193, 1,235, 0, 2, 0, 97, 1, 2, 4,112, + 5, 18, 0, 7, 0, 15, 0, 0, 19, 36, 5, 2, 19, 4, 37, 18, 1, 18, 3, 4, 37, 2, 19, 36,231, 1,129, 1,129,137,137,254, +127,254,127,137,254,241,184,184, 2, 7, 2, 8,184,184,253,248, 1,138,137,137, 1,128, 1,130,138,138,254,126,253,248, 1,244, + 2, 28,177,177,254, 12,253,229,177, 0, 0, 0,255,255, 0, 6, 1,176, 4,203, 4, 24, 16, 6, 9, 58, 0,156, 0, 2, 0, 6, + 1,176, 4,203, 4, 24, 0, 7, 0, 15, 0, 0, 19, 16, 37, 54, 32, 23, 4, 17, 37, 33, 38, 39, 38, 34, 7, 6, 6, 1, 49,152, + 1, 49,153, 1, 50,251,192, 3,187, 42,192,122,244,122,192, 1,176, 1, 96,176, 88, 88,176,254,160,114,197,111, 71, 71,110, 0, + 0, 2, 0,184, 1, 89, 4, 24, 4, 24, 0, 8, 0, 13, 0, 0, 0, 32, 23, 22, 23, 9, 1, 54, 55, 4, 34, 7, 9, 1, 1,210, + 1, 44,155, 74, 53,254, 80,254, 80, 53, 74, 1,173,248,133, 1, 2, 1, 0, 4, 24, 88, 42, 55,253,250, 2, 6, 55, 42, 35, 76, +254,200, 1, 56, 0, 2, 0,166, 0,229, 4, 21, 4, 80, 0, 7, 0, 25, 0, 0, 0, 34, 6, 20, 22, 50, 54, 52, 3, 50, 23, 30, + 1, 21, 20, 6, 35, 34, 39, 7, 39, 55, 38, 53, 52, 54, 3, 4,196,138,135,199,140,238,158,105, 53, 54,216,157,127, 93,204, 81, +205, 66,214, 3,201,137,199,135,137,195, 1, 18,111, 51,133, 78,152,214, 69,204, 81,204, 92,124,157,216, 0, 0, 0, 6, 0, 71, + 0,233, 4,138, 5, 43, 0, 3, 0, 45, 0, 55, 0, 65, 0, 74, 0, 84, 0, 0, 1, 51, 53, 35, 17, 21, 20, 6, 34, 38, 53, 52, + 54, 59, 1, 53, 35, 34, 38, 52, 54, 50, 22, 29, 1, 51, 53, 52, 54, 50, 22, 20, 6, 43, 1, 21, 51, 50, 22, 21, 20, 6, 34, 38, + 61, 1, 1, 53, 52, 38, 35, 34, 6, 20, 22, 51, 19, 35, 34, 6, 21, 20, 22, 50, 54, 53, 1, 51, 50, 54, 52, 38, 34, 6, 21, 17, + 21, 20, 22, 50, 54, 53, 52, 38, 35, 2, 1,207,207,130,183,129,129, 89,120,120, 89,129,129,183,130,207,130,184,128,128, 90,120, +120, 90,128,128,184,130,254,201, 69, 49, 47, 69, 69, 48,117,117, 48, 69, 69, 96, 69, 1,159,118, 47, 69, 68, 97, 69, 69, 97, 68, + 69, 47, 2,162,208,254,200,119, 90,128,129, 92, 90,130,208,130,182,129,128, 90,119,119, 90,128,129,182,130,208,130, 90, 92,129, +128, 90,119, 1,160,117, 48, 69, 69, 96, 69,254, 96, 69, 47, 49, 69, 69, 48, 2, 21, 69, 96, 69, 69, 48,253,235,117, 48, 69, 69, + 49, 47, 69, 0, 0, 1, 0, 88, 1,115, 4,121, 3, 94, 0, 5, 0, 0, 1, 33, 17, 51, 17, 33, 4,121,251,223,168, 3,121, 1, +115, 1,235,254,193, 0, 0, 0, 0, 1, 1, 43, 2,209, 3,181, 5,126, 0, 5, 0, 0, 1, 33, 17, 35, 17, 33, 3,181,253,232, +114, 2,138, 5, 12,253,197, 2,173, 0, 0, 0, 0, 1, 1, 28, 2,209, 3,166, 5,126, 0, 5, 0, 0, 1, 53, 33, 17, 35, 17, + 1, 28, 2,138,114, 5, 12,114,253, 83, 2, 59, 0, 1, 1, 43,255,142, 3,181, 2, 59, 0, 5, 0, 0, 33, 21, 33, 17, 51, 17, + 3,181,253,118,114,114, 2,173,253,197, 0, 0, 0, 1, 1, 28,255,142, 3,166, 2, 59, 0, 5, 0, 0, 41, 1, 17, 51, 17, 33, + 1, 28, 2, 24,114,253,118, 2, 59,253, 83, 0, 0, 1, 2, 0,254, 0, 4, 76, 6, 14, 0, 25, 0, 0, 1, 17, 52, 55, 26, 1, + 51, 50, 22, 21, 20, 6, 35, 34, 39, 38, 39, 46, 1, 35, 34, 3, 2, 21, 48, 17, 2, 1, 3, 12,190,202, 80,100, 64, 55, 42, 29, + 24, 15, 6, 9, 16,104, 17, 8,254, 0, 3,170, 36,129, 2, 3, 1,188, 84, 65, 54, 63, 19, 16, 38, 15, 72,253,149,254,211, 2, +251,246, 0, 0, 0, 1, 0,124,254, 26, 2,200, 6, 40, 0, 25, 0, 0, 1, 17, 20, 7, 10, 1, 35, 34, 38, 53, 52, 54, 51, 50, + 23, 22, 23, 30, 1, 51, 50, 19, 18, 53, 48, 17, 2,199, 3, 12,190,202, 80,100, 64, 55, 42, 29, 24, 15, 6, 9, 16,104, 17, 8, + 6, 40,252, 86, 36,129,253,253,254, 68, 84, 65, 54, 63, 19, 16, 38, 15, 72, 2,107, 1, 45, 2, 4, 10, 0, 0, 0, 2, 0,104, + 0,233, 4,105, 4,201, 0, 7, 0, 11, 0, 0, 19, 33, 1, 33, 21, 33, 1, 35, 37, 33, 21, 33,104, 1, 92, 1,145, 1, 20,254, +114,254,111,226, 2, 97, 1,160,254, 96, 4,201,252,222,190, 3, 34,190,190, 0, 0, 5, 0, 6, 1, 40, 4,203, 4, 73, 0, 4, + 0, 10, 0, 13, 0, 18, 0, 21, 0, 0, 9, 1, 33, 17, 33, 9, 1, 35, 3, 19, 51, 1, 23, 55, 33, 35, 17, 51, 27, 1, 39, 7, + 4,203,254, 81,252,234, 3, 22, 1, 5,254,211, 39,200,200, 39,254, 72,131,131,254,111, 57, 57,200,201,131,131, 2,185,254,111, + 3, 33,254,112, 1, 30,254,225,254,226, 2, 61,187,187,253,195, 1, 30,254,226,187,187, 0, 0, 0, 5, 0,125, 1, 40, 4, 84, + 4, 73, 0, 4, 0, 8, 0, 11, 0, 16, 0, 19, 0, 0, 1, 17, 35, 3, 19, 23, 33, 17, 33, 5, 23, 55, 33, 35, 17, 51, 27, 1, + 39, 7, 3,226,108,200,200,222,252, 41, 3,215,253,145,131,131,254,111,107,107,200,201,131,131, 1,154, 2, 61,254,225,254,226, +114, 3, 33,114,187,187,253,195, 1, 30,254,226,187,187, 0, 0, 0, 43, 0, 50, 1,179, 4,159, 4, 34, 0, 11, 0, 23, 0, 35, + 0, 47, 0, 59, 0, 71, 0, 83, 0, 95, 0,107, 0,119, 0,131, 0,143, 0,155, 0,167, 0,179, 0,191, 0,203, 0,215, 0,227, + 0,239, 0,251, 1, 7, 1, 19, 1, 31, 1, 43, 1, 55, 1, 67, 1, 79, 1, 91, 1,103, 1,115, 1,127, 1,139, 1,151, 1,163, + 1,175, 1,187, 1,199, 1,211, 1,227, 1,239, 1,251, 2, 7, 0, 0, 19, 33, 50, 21, 17, 20, 35, 33, 34, 53, 17, 52, 23, 17, + 20, 51, 33, 50, 53, 17, 52, 35, 33, 34, 19, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, + 1, 50, 55, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 7, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, + 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, + 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, + 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 37, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, + 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, + 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, + 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 39, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 7, 21, 20, 43, 1, 34, + 61, 1, 52, 59, 1, 50, 7, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 7, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 7, 21, + 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 7, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 7, 21, 20, 43, 1, 34, 61, 1, 52, 59, + 1, 50, 7, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 39, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, + 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, + 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, + 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 23, 21, 20, 43, 1, 34, + 61, 1, 52, 59, 1, 50, 7, 50, 29, 1, 20, 43, 1, 34, 61, 1, 52, 34, 61, 1, 52, 51, 19, 21, 20, 43, 1, 34, 61, 1, 52, 59, + 1, 50, 23, 21, 20, 43, 1, 34, 61, 1, 52, 59, 1, 50, 5, 34, 61, 1, 52, 51, 33, 50, 29, 1, 20, 35,142, 3,181, 92, 92,252, + 75, 92, 61, 31, 3,181, 30, 30,252, 75, 31,108, 15, 31, 15, 15, 31, 15, 93, 15, 31, 15, 15, 31, 15,138, 15, 31, 16, 16, 31, 15, +184, 16, 31, 15, 15, 31, 16, 92, 16, 30, 16, 16, 30, 16,184, 16, 30, 16, 16, 30, 16, 92, 15, 31, 16, 16, 31, 15, 92, 15, 31, 16, + 16, 31, 15, 92, 15, 31, 15, 15, 31, 15, 93, 16, 31, 15, 15, 31, 16,166, 16,105, 15, 15,105, 16,252,197, 15, 31, 15, 15, 31, 15, + 92, 15, 31, 15, 15, 31, 15, 93, 16, 31, 15, 15, 31, 16, 91, 15, 31, 15, 15, 31, 15, 93, 16, 31, 15, 15, 31, 16, 92, 16, 31, 15, + 15, 31, 16, 92, 15, 31, 16, 16, 31, 15, 92, 15, 31, 16, 16, 31, 15, 15, 15, 31, 16, 16, 31, 15, 92, 15, 31, 16, 16, 31, 15, 92, + 16, 31, 15, 15, 31, 16, 92, 16, 31, 15, 15, 31, 16, 92, 16, 30, 16, 16, 30, 16, 92, 16, 31, 15, 15, 31, 16, 93, 15, 31, 15, 15, + 31, 15, 92, 15, 31, 15, 15, 31, 15, 15, 15, 31, 15, 15, 31, 15, 92, 15, 31, 15, 15, 31, 15, 93, 16, 31, 15, 15, 31, 16, 92, 16, + 31, 15, 15, 31, 16, 92, 16, 31, 15, 15, 31, 16, 92, 16, 31, 15, 15, 31, 16, 92, 16, 30, 16, 16, 30, 16, 92, 15, 31, 16, 16, 31, + 15, 92, 15, 31, 15, 15, 31, 15,120, 16, 58, 15, 15, 58, 16, 16, 16, 16,102, 18, 30, 15, 62, 16, 31, 15, 15, 31, 16, 93, 16, 31, + 15, 15, 31, 16,253, 89, 15, 15, 1,173, 15, 15, 4, 34, 92,254, 73, 92, 92, 1,183, 92, 92,254, 73, 31, 31, 1,183, 31,254, 96, + 30, 16, 16, 30, 16, 15, 31, 16, 16, 31, 15, 76, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, + 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, + 16, 76, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, + 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 77, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, + 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, 15, 15, 31, + 15, 75, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, + 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 15, 31, 16, 92, 15,121, + 15, 15, 62, 14, 15, 30, 16,254,222, 31, 16, 16, 31, 15, 15, 31, 16, 16, 31, 15, 62, 16, 31, 15, 15, 31, 16, 0, 0, 5, 0, 6, + 1, 40, 4,203, 4, 73, 0, 4, 0, 10, 0, 13, 0, 18, 0, 21, 0, 0, 19, 1, 33, 17, 33, 9, 1, 51, 19, 3, 35, 41, 1, 23, + 37, 3, 19, 51, 17, 1, 33, 39, 6, 1,175, 3, 22,252,234,254,251, 1, 45, 39,200,200, 39, 1,184,254,250,131, 1, 14,200,200, + 57,254, 54, 1, 6,131, 2,185, 1,144,252,223, 1,145,254,225, 1, 30, 1, 31,187,187,254,225,254,226, 2, 61,253,195,187, 0, + 0, 1, 0, 72,255,211, 4,136, 2, 74, 0, 5, 0, 0, 5, 1, 55, 9, 1, 23, 2,104,253,224, 72, 1,216, 1,216, 72, 45, 2, + 45, 74,254, 28, 1,228, 74, 0, 0, 2, 1, 0,255, 52, 3,209, 6,161, 0, 3, 0, 7, 0, 0, 5, 33, 17, 33, 3, 17, 33, 17, + 1,114, 1,237,254, 19,114, 2,209, 90, 6,137,249, 5, 7,109,248,147, 0, 0, 0, 4, 0, 6,255, 52, 4,203, 6,161, 0, 3, + 0, 7, 0, 11, 0, 15, 0, 0, 23, 17, 33, 17, 37, 33, 17, 33, 53, 33, 53, 33, 53, 33, 17, 33, 6, 4,197,251,173, 3,225,252, + 31, 3,225,252, 31, 3,225,252, 31,204, 7,109,248,147,114, 1,186,172,236,170, 2,141, 0, 0, 0, 5, 0, 6,255, 52, 4,203, + 6,161, 0, 3, 0, 7, 0, 11, 0, 15, 0, 19, 0, 0, 1, 51, 21, 35, 17, 51, 21, 35, 1, 17, 33, 17, 37, 33, 17, 33, 53, 33, + 17, 33, 1,238,245,245,245,245,254, 24, 4,197,251,173, 3,225,252, 31, 3,225,252, 31, 4,111,246,254, 18,245,254,158, 7,109, +248,147,114, 2,135,170, 3, 88, 0, 4, 0, 6,255, 52, 4,203, 6,161, 0, 3, 0, 8, 0, 12, 0, 17, 0, 0, 19, 9, 3, 33, + 17, 9, 2, 33, 17, 33, 9, 2, 17, 33,195, 1,165, 1,166,254, 90,254, 16, 3,225,254, 15,254, 16, 4, 83,251, 59, 4,197,251, +173, 1,240, 1,241,252, 31, 2,220,254, 90, 1,166, 1,166,251, 36, 2,196,254, 16, 1,240,252,202, 7,109,252,173, 1,240,254, + 16, 2,225, 0,255,255, 0, 6,255, 52, 4,203, 6,161, 16, 38, 11,193, 0, 0, 16, 6, 8, 66, 0, 0, 0, 0, 0, 4, 0, 6, +255, 52, 4,203, 6,161, 0, 13, 0, 24, 0, 28, 0, 39, 0, 0, 18, 16, 23, 22, 51, 50, 55, 54, 16, 39, 38, 35, 34, 7, 3, 33, + 17, 6, 7, 6, 35, 34, 39, 38, 39, 1, 33, 17, 33, 1, 54, 55, 54, 51, 50, 23, 22, 23, 17, 33,128,244,122,122,122,122,245,245, +122,122,122,122,252, 3,225, 73,119,153,152,153,152,119, 72, 4, 83,251, 59, 4,197,251,173, 72,119,152,153,152,153,119, 73,252, + 31, 3,245,253,206,141, 71, 71,141, 2, 50,141, 71, 71,251, 36, 1,202, 95, 69, 88, 88, 69, 94,253,197, 7,109,253,168, 95, 68, + 88, 88, 69, 95, 1,231, 0, 0, 0, 3, 0, 6,254,162, 4,203, 7, 51, 0, 19, 0, 27, 0, 35, 0, 0, 18, 16, 37, 54, 55, 17, + 51, 17, 22, 23, 4, 16, 5, 6, 7, 17, 35, 17, 38, 39, 2, 16, 23, 22, 23, 17, 6, 7, 37, 17, 54, 55, 54, 16, 39, 38, 6, 1, + 49,114,115,152,114,115, 1, 50,254,206,115,114,152,115,114,183,244, 84, 84, 84, 84, 1, 64, 84, 84,245,245, 84, 1,124, 2,192, +176, 66, 17, 1,244,254, 12, 17, 66,176,253, 64,176, 66, 17,254, 41, 1,215, 17, 66, 3, 41,253,206,141, 49, 15, 3,204, 15, 49, + 64,252, 52, 15, 49,141, 2, 50,141, 49, 0, 0,255,255, 0, 6, 0,116, 4,203, 5, 68, 16, 38, 11,193, 0, 0, 16, 7, 9, 37, + 0, 0, 0,200, 0, 3, 0, 6,255, 52, 4,203, 6,161, 0, 3, 0, 6, 0, 9, 0, 0, 23, 17, 33, 17, 37, 1, 33, 5, 1, 33, + 6, 4,197,251,173, 3, 89,252,167, 3,225,252,158, 3, 98,204, 7,109,248,147,198, 6, 53, 65,249,184, 0, 0, 0, 3, 0, 6, +255, 52, 4,203, 6,161, 0, 3, 0, 6, 0, 9, 0, 0, 5, 33, 17, 33, 3, 17, 33, 7, 17, 33, 4,203,251, 59, 4,197,114,252, +167,136, 3, 98,204, 7,109,249, 89, 6, 53, 65,249,184, 0, 0, 0, 4, 0, 6,255, 52, 4,203, 6,161, 0, 3, 0, 7, 0, 11, + 0, 14, 0, 0, 23, 17, 33, 17, 37, 33, 17, 1, 53, 1, 17, 33, 1, 17, 1, 6, 4,197,251,173, 3,225,252, 31, 3,225,252, 31, + 3,225,252,206,204, 7,109,248,147,114, 1, 88, 1,136,192, 1,136, 1, 97,251,133, 2,101,254,204, 0, 0, 0, 0, 4, 0, 6, +255, 52, 4,203, 6,161, 0, 3, 0, 7, 0, 10, 0, 14, 0, 0, 23, 17, 33, 17, 37, 33, 17, 1, 25, 1, 9, 2, 17, 33, 6, 4, +197,251,173, 3,225,252, 31, 3, 50,252,206, 3,225,252, 31,204, 7,109,248,147,114, 2,224,254,120, 3, 27,253,155, 1, 49, 1, +233,254,120, 2,233, 0, 0, 0, 0, 3, 0, 6,255, 52, 4,203, 6,161, 0, 3, 0, 10, 0, 17, 0, 0, 23, 17, 33, 17, 37, 33, + 17, 33, 23, 7, 1, 53, 1, 23, 7, 33, 17, 33, 6, 4,197,251,173, 3,225,252,238,160, 90,254,235, 1, 21, 90,160, 3, 18,252, + 31,204, 7,109,248,147,114, 2,207,160, 90, 1, 21,110, 1, 21, 90,160, 3, 22, 0, 3, 0, 6,255, 52, 4,203, 6,161, 0, 3, + 0, 10, 0, 17, 0, 0, 5, 33, 17, 33, 3, 17, 1, 39, 55, 33, 17, 1, 17, 33, 17, 33, 39, 55, 4,203,251, 59, 4,197,114,254, +235, 90,160,252,238, 3,225,252, 31, 3, 18,160, 90,204, 7,109,249, 5, 2,234,254,235, 90,160,253, 49, 3, 88, 3, 49,252,234, +160, 90, 0, 0, 0, 3, 0, 6,255,196, 4,203, 5,213, 0, 8, 0, 30, 0, 39, 0, 0, 19, 16, 23, 22, 51, 50, 55, 1, 6, 1, + 6, 35, 34, 39, 36, 17, 16, 37, 39, 51, 23, 54, 51, 50, 23, 4, 17, 16, 5, 19, 35, 9, 1, 54, 17, 16, 39, 38, 35, 34,128,244, +122,122, 61, 62,254,108,207, 2,150, 87, 87,153,152,254,207, 1, 21,115,191, 80, 89, 88,152,153, 1, 50,254,231,129,190,254,118, + 1,148,210,245,122,122, 62, 2,220,254,231,141, 71, 18, 3,106,140,252,178, 29, 88,176, 1, 96, 1, 79,176,250,174, 29, 88,176, +254,160,254,175,176,254,233, 4,242,252,149,140, 1, 5, 1, 25,141, 71, 0, 0, 0, 3, 0, 37,254,162, 4,172, 7, 51, 0, 11, + 0, 14, 0, 17, 0, 0, 1, 17, 51, 17, 51, 1, 33, 17, 35, 17, 33, 1, 19, 17, 3, 33, 51, 3, 2, 28,152, 47, 1,201,254, 8, +152,254, 9, 1,201, 46,246, 1,142,246,246, 5,213, 1, 94,254,162,250, 43,254,162, 1, 94, 5,213,250,213, 3,107,252,149, 3, +107, 0, 0, 0, 0, 3, 0, 6,255, 52, 4,203, 6,161, 0, 4, 0, 8, 0, 14, 0, 0, 19, 17, 9, 1, 17, 55, 17, 33, 17, 19, + 17, 33, 17, 1, 35,120, 1,240, 1,241,114,251, 59,114, 3,225,254, 99,166, 6, 47,254,237,251,179, 4, 75, 1, 21,114,248,147, + 7,109,252,236,252, 25, 3,229,252,117, 0, 0, 0, 4, 0, 6,255, 52, 4,203, 6,161, 0, 2, 0, 6, 0, 11, 0, 17, 0, 0, + 37, 9, 2, 17, 33, 17, 37, 33, 53, 48, 33, 53, 1, 51, 1, 17, 33, 3,138,254,222,254,222,254,192, 4,197,251,173, 3,225,252, + 31, 1,130,221, 1,130,252, 31,170, 4,121,251,135,254,138, 7,109,248,147,114, 90, 91, 5,122,250,134, 5,212, 0, 3, 0, 6, +255, 52, 4,203, 6,161, 0, 3, 0, 10, 0, 17, 0, 0, 19, 33, 17, 33, 37, 33, 17, 33, 1, 7, 39, 3, 17, 7, 39, 1, 33, 17, + 6, 4,197,251, 59, 2,180, 1,159,254, 71, 1, 20, 90,160,164,160, 90, 1, 20,254, 72, 6,161,248,147,114, 6,137,254,236, 90, +160,250, 69, 5,187,160, 90, 1, 20,249,119, 0, 0, 3, 0, 37,254,162, 4,172, 7, 51, 0, 11, 0, 14, 0, 17, 0, 0, 33, 35, + 1, 33, 17, 51, 17, 33, 1, 35, 17, 35, 17, 35, 27, 1, 17, 19, 2, 28, 46,254, 55, 1,247,152, 1,248,254, 55, 47,152,246,246, +152,246, 5,213, 1, 94,254,162,250, 43,254,162, 6,137,252,149, 3,107,252,149, 3,107, 0, 0, 0, 3, 0, 6,255, 52, 4,203, + 6,161, 0, 4, 0, 8, 0, 14, 0, 0, 23, 33, 17, 9, 2, 33, 17, 33, 9, 1, 51, 1, 17, 33,120, 3,225,254, 15,254, 16, 4, + 83,251, 59, 4,197,251,173, 1,158,166, 1,157,252, 31, 90, 1, 21, 4, 75,251,179,254,123, 7,109,251,167, 3,141,252,117, 3, +229, 0, 0, 0, 0, 4, 0, 6,255, 52, 4,203, 6,161, 0, 2, 0, 6, 0, 12, 0, 16, 0, 0, 1, 33, 9, 1, 17, 33, 17, 37, + 33, 17, 1, 35, 1, 53, 33, 53, 33, 3,138,253,188, 1, 34,253,158, 4,197,251,173, 3,225,254,126,221,254,126, 3,225,252, 31, + 5, 43,251,135,254,130, 7,109,248,147,114, 5,212,250,134, 5,122, 91, 90, 0, 0, 3, 0, 6,255, 52, 4,203, 6,161, 0, 3, + 0, 10, 0, 17, 0, 0, 23, 17, 33, 17, 1, 17, 55, 23, 1, 33, 17, 41, 1, 17, 33, 1, 55, 23, 6, 4,197,253,239,160, 90,254, +236, 1,185,253,189,254, 98, 1,184,254,236, 90,160,204, 7,109,248,147, 6,251,250, 69,160, 90,254,236, 6,137,249,119, 1, 20, + 90,160, 0, 0,255,255, 1, 0,255, 52, 3,209, 5,213, 16, 38, 11,192, 0, 0, 16, 6, 0, 10, 0, 0, 0, 0,255,255, 0, 6, +255, 52, 4,203, 5,213, 16, 38, 11,191, 0, 0, 16, 6, 2,209, 0, 0, 0, 0,255,255, 0, 6,255, 52, 4,203, 5, 63, 16, 38, + 11,191, 0, 0, 16, 7, 9, 33, 0, 0, 0,200,255,255, 1, 0,255, 52, 3,209, 3,233, 16, 38, 11,192, 0, 0, 16, 6, 11,193, + 0, 0, 0, 0,255,255, 0, 6,255, 52, 4,203, 5, 68, 16, 38, 11,191, 0, 0, 16, 7, 9, 37, 0, 0, 0,200,255,255, 0, 6, +255, 52, 4,203, 6,161, 16, 38, 0, 10, 0, 0, 16, 6, 8, 66, 0, 0, 0, 0,255,255,255,236, 0, 90, 4,229, 5, 94, 16, 39, + 9, 73, 0, 0, 0,200, 16, 6, 7,209, 0, 0,255,255, 0, 6,255, 52, 4,203, 6,161, 16, 38, 0, 29, 0, 0, 16, 6, 8, 66, + 0, 0, 0, 0,255,255, 1, 8, 1,155, 3,201, 5, 22, 16, 39, 11,194, 0, 0,255, 6, 16, 6, 7,209, 0, 0,255,255, 1, 63, + 1,212, 3,145, 5, 72, 16, 39, 11,194, 0, 0,255, 56, 16, 6, 11,193, 0, 0,255,255, 0, 6, 0,116, 4,203, 6,166, 16, 39, + 11,194, 0, 0, 0,150, 16, 7, 9, 37, 0, 0, 0,200, 0, 0,255,255, 0, 88, 1,236, 4,121, 5, 72, 16, 39, 11,194, 0, 0, +255, 56, 16, 6, 0, 97, 0, 0,255,255, 0, 88, 0,141, 4,121, 5, 72, 16, 39, 11,194, 0, 0,255, 56, 16, 6, 0, 33, 0, 0, + 0, 3, 0, 37, 0, 0, 4,172, 5,213, 0, 10, 0, 32, 0, 42, 0, 0, 1, 33, 19, 22, 23, 22, 23, 22, 23, 22, 23, 37, 21, 6, + 7, 6, 7, 3, 35, 3, 6, 7, 6, 7, 53, 54, 55, 3, 33, 3, 54, 55, 54, 5, 27, 1, 38, 39, 38, 39, 38, 39, 38, 3,170,253, +124,122, 42, 40, 50, 74, 11, 22, 69, 60, 1,105, 75, 72, 35, 38,186,245,217, 23, 22, 71, 73, 74, 69,194, 4,135,216, 11, 11, 69, +253,162,151,124, 45, 50, 23, 10, 77, 51, 10, 5, 43,254, 79, 2, 9, 11, 31, 5, 10, 33, 13,114,174, 59, 27, 14, 7,253,159, 2, +198, 6, 10, 29, 63,174, 57, 27, 2,121,253, 63, 5, 5, 30,112,253,230, 1,184, 13, 22, 10, 4, 33, 12, 2, 0, 0, 3, 0, 88, +255,227, 4,121, 5,240, 0, 23, 0, 42, 0, 61, 0, 0, 0, 32, 23, 22, 19, 54, 55, 21, 6, 7, 2, 7, 6, 32, 39, 38, 3, 6, + 7, 53, 54, 55, 18, 55, 37, 34, 7, 6, 7, 54, 51, 50, 22, 23, 22, 23, 22, 51, 50, 55, 2, 39, 38, 1, 18, 23, 22, 51, 50, 55, + 54, 55, 6, 35, 34, 39, 38, 39, 46, 1, 35, 34, 1,121, 1,222,123,104, 15, 24, 24, 23, 23, 9,112,123,254, 34,122,105, 15, 23, + 24, 23, 23, 9,112, 1,105,141, 69, 53, 13, 27, 28, 53,100, 74, 11, 22,116, 93, 16, 17, 3, 66, 70,254, 90, 3, 67, 69,141,142, + 70, 52, 13, 22, 23, 90,113, 23, 10, 77,103, 51, 23, 5,240,196,167,254,208, 17, 20,174, 18, 15,254,176,180,196,196,168, 1, 49, + 17, 21,174, 18, 15, 1, 80,179, 36,152,115,206, 3, 22, 31, 5, 10, 55, 2, 1, 37,146,152,253,130,254,219,146,152,152,115,206, + 2, 51, 10, 4, 33, 24, 0, 0, 0, 1, 0, 88,254,162, 4,121, 7, 51, 0, 31, 0, 0, 1, 21, 14, 1, 35, 34, 39, 17, 35, 17, + 38, 39, 38, 35, 34, 6, 7, 53, 62, 1, 51, 50, 23, 22, 23, 17, 51, 17, 22, 51, 50, 54, 4,121, 75,143, 79, 71, 85,152, 31, 25, + 52, 51, 79,141, 73, 78,146, 83, 53, 50, 19, 23,152, 94, 78, 70,137, 3,122,174, 59, 55, 32,252, 40, 4, 21, 11, 6, 12, 59, 63, +174, 60, 54, 11, 4, 7, 3,207,251,243, 39, 61, 0, 2, 1, 0,254,225, 3,209, 4, 39, 0, 3, 0, 17, 0, 0, 1, 51, 17, 35, + 19, 51, 21, 7, 33, 21, 33, 7, 35, 55, 35, 53, 51, 55, 1,233,252,252, 13,252, 96, 1, 63,254,135, 43,154, 21,168,198, 48, 4, + 39,254,209,254, 55,207,186,114, 83, 83,114,186, 0, 3, 0, 6,255, 52, 4,203, 6,161, 0, 3, 0, 7, 0, 27, 0, 0, 23, 33, + 17, 33, 3, 17, 33, 17, 1, 33, 19, 23, 7, 51, 21, 33, 7, 33, 21, 33, 3, 39, 55, 35, 53, 33, 55, 33,120, 3,225,252, 31,114, + 4,197,251,247, 2, 5,197,100,131,162,254,245,147, 1,158,253,251,199,100,131,160, 1, 8,147,254,101, 90, 6,137,249, 5, 7, +109,248,147, 4,110, 1, 59,102,213,170,236,172,254,197,104,211,172,236, 0, 0,255,255, 0, 6,255, 52, 4,203, 6,161, 16, 38, + 0, 34, 0, 0, 16, 6, 8, 66, 0, 0, 0, 0,255,255, 1, 54, 0, 0, 3,207, 4, 96, 16, 6, 2,245, 0, 0,255,255, 0,190, +254, 86, 4, 84, 4,124, 16, 6, 2,253, 0, 0,255,255, 0, 70,255,227, 4,140, 4, 96, 16, 6, 3, 5, 0, 0,255,255, 0, 6, +255, 52, 4,203, 4,122, 16, 38, 11,191, 0, 0, 16, 6, 2,237, 0, 0, 0, 0,255,255, 0,156,255, 52, 4, 53, 4,123, 16, 38, + 11,190, 0, 0, 16, 6, 3, 34, 0, 0, 0, 0,255,255, 1, 0,255, 52, 3,209, 4, 96, 16, 38, 11,192, 0, 0, 16, 6, 2,245, + 0, 0, 0, 0,255,255, 0, 6,255, 52, 4,203, 4, 96, 16, 38, 11,191, 0, 0, 16, 6, 3, 5, 0, 0, 0, 0,255,255, 0, 70, +255,230, 4,149, 4,122, 16, 6, 2,237, 0, 0, 0, 1, 0, 26,254, 46, 4,183, 0,181, 0, 11, 0, 33,183, 6, 6, 10, 8, 5, + 6, 1, 3, 47,220,236, 47,220,236, 49, 0,183, 0,182, 6, 9, 2,182, 7, 4, 47, 60,236, 50,220,236, 48, 19, 17, 35, 53, 33, + 17, 33, 17, 33, 21, 35, 17,225,199, 1,111, 1,191, 1,111,199,254, 46, 1,218,173,254, 37, 1,219,173,254, 38, 0, 3, 0, 72, +255,211, 4,136, 4, 58, 0, 5, 0, 17, 0, 48, 0, 0, 5, 1, 55, 9, 1, 23, 37, 35, 34, 6, 21, 20, 22, 51, 50, 54, 61, 1, + 55, 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, 23, 22, 23, 30, 1, 2, +104,253,224, 72, 1,216, 1,216, 72,254, 24, 35, 91, 93, 69, 62, 86, 99,105,105, 33,102, 72, 97,116,142,138,140, 76, 84, 53,109, + 52, 58,106, 50, 79, 56, 53, 37, 22, 18, 45, 2, 45, 74,254, 28, 1,228, 74,243, 63, 63, 56, 63,118,104, 23, 43,254,154, 93, 56, + 53,108, 91,104,109, 16, 75, 68, 30, 29,103, 21, 22, 23, 22, 47, 28, 82, 0, 0, 0, 6, 0, 6, 0,218, 4,203, 4, 58, 0, 3, + 0, 7, 0, 11, 0, 15, 0, 27, 0, 57, 0, 0, 1, 51, 53, 35, 23, 51, 53, 35, 5, 51, 53, 35, 1, 33, 53, 33, 1, 35, 34, 6, + 21, 20, 22, 51, 50, 54, 61, 1, 55, 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, 23, 30, 1, 3, 97,115,115,170,115,115,254,172,115,115, 2, 20,251, 59, 4,197,252,183, 35, 91, 93, 69, 62, 86, 99, +105,105, 33,102, 72, 97,116,142,138,140, 76, 84, 53,109, 52, 58,106, 50, 79,112, 34, 22, 18, 1,184,127,127,127,127,127,254,163, +114, 1,167, 63, 63, 56, 63,118,104, 23, 43,254,154, 93, 56, 53,108, 91,104,109, 16, 75, 68, 30, 29,103, 21, 22, 46, 46, 28, 82, + 0, 6, 0, 6, 0,218, 4,203, 4, 58, 0, 3, 0, 7, 0, 19, 0, 49, 0, 61, 0, 91, 0, 0, 37, 53, 33, 21, 33, 53, 33, 21, + 3, 35, 34, 6, 21, 20, 22, 51, 50, 54, 61, 1, 55, 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, 23, 30, 1, 5, 35, 34, 6, 21, 20, 22, 51, 50, 54, 55, 53, 55, 17, 35, 53, 14, 1, 35, 34, 38, 53, + 52, 54, 59, 1, 53, 46, 1, 35, 34, 6, 7, 53, 62, 1, 51, 50, 22, 23, 30, 1, 2,155, 2, 48,251, 59, 2, 48,180, 35, 91, 93, + 69, 62, 86, 99,105,105, 33,102, 72, 97,116,142,138,140, 76, 84, 53,109, 52, 58,106, 50, 79,112, 34, 22, 18, 1,127, 34, 91, 93, + 69, 62, 86, 98, 1,105,105, 34,101, 73, 97,115,142,138,140, 1, 76, 83, 53,109, 52, 58,106, 50, 79,112, 34, 22, 18,218,114,114, +114,114, 2, 25, 63, 63, 56, 63,118,104, 23, 43,254,154, 93, 56, 53,108, 91,104,109, 16, 75, 68, 30, 29,103, 21, 22, 46, 46, 28, + 82,125, 63, 63, 56, 63,118,104, 23, 43,254,154, 93, 56, 53,108, 91,104,109, 16, 75, 68, 30, 29,103, 21, 22, 46, 46, 28, 82, 0, + 0, 8, 0, 6, 1,107, 4,203, 4,138, 0, 30, 0, 42, 0, 46, 0, 50, 0, 54, 0, 58, 0, 62, 0, 66, 0, 0, 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, 23, 22, 23, 30, 1, 7, 35, 34, 6, 21, + 20, 22, 51, 50, 54, 61, 1, 1, 21, 37, 61, 1, 33, 21, 33, 17, 37, 21, 5, 45, 1, 21, 5, 21, 33, 21, 33, 21, 5, 21, 37, 3, +113,105, 33,102, 72, 97,116,142,138,140, 76, 84, 53,109, 52, 58,106, 50, 79, 56, 53, 37, 22, 18,209, 35, 91, 93, 69, 62, 86, 99, + 1,202,254,212, 1, 44,254,212, 1, 44,254,212,253,147,254,212, 1, 44,254,212, 1, 44,254,212, 1, 44, 3, 30,254,154, 93, 56, + 53,108, 91,104,109, 16, 75, 68, 30, 29,103, 21, 22, 23, 22, 47, 28, 82,125, 63, 63, 56, 63,118,104, 23,254,241,121,140,121,188, +114, 1, 68,140,121,140,121,140,121,140, 89,114, 74,140,121,140, 0, 7, 0, 82, 0, 56, 4,126, 4,207, 0, 52, 0, 60, 0, 68, + 0, 76, 0, 84, 0, 90, 0, 96, 0, 0, 37, 35, 53, 38, 39, 38, 39, 38, 39, 7, 39, 55, 38, 53, 52, 55, 53, 39, 55, 23, 54, 55, + 54, 55, 54, 55, 53, 51, 21, 22, 23, 22, 23, 22, 23, 55, 23, 7, 23, 22, 21, 20, 7, 21, 23, 7, 39, 6, 7, 6, 7, 6, 7, 53, + 54, 55, 54, 55, 54, 55, 39, 17, 21, 55, 38, 39, 38, 39, 38, 39, 6, 7, 6, 7, 6, 7, 23, 17, 53, 7, 22, 23, 22, 23, 22, 39, + 55, 39, 6, 21, 20, 37, 7, 23, 54, 53, 52, 2,154,100, 51, 47, 68, 57, 19, 15,177, 50,176, 28, 28,176, 50,177, 16, 18, 57, 68, + 47, 51,100, 52, 46, 69, 57, 18, 15,177, 50,176, 1, 28, 28,175, 50,176, 16, 18, 57, 69, 46, 52, 31, 29, 50, 42, 9, 7,168,168, + 7, 9, 42, 50, 29,131, 31, 28, 50, 42, 9, 8,168,168, 8, 9, 42, 50, 28,188,169,169, 16, 2, 42,169,169, 17, 56,203, 6, 20, + 29, 56, 19, 19,102, 87,102, 69, 79, 80, 68, 1,102, 87,103, 20, 19, 56, 29, 20, 6,203,203, 6, 20, 29, 56, 18, 20,102, 87,101, + 2, 68, 80, 79, 69, 1,101, 87,102, 20, 18, 56, 29, 20, 6,103, 5, 12, 21, 42, 9, 9, 97, 1,112,195, 97, 9, 9, 42, 21, 12, + 5, 5, 12, 21, 42, 9, 9, 97,254,144,195, 97, 9, 9, 42, 21, 12,179, 98, 97, 46, 52, 51,149, 97, 98, 45, 52, 53, 0, 0, 0, + 0, 4, 0, 70, 0, 94, 4,138, 4,162, 0, 15, 0, 30, 0, 39, 0, 48, 0, 0, 18, 52, 62, 2, 50, 30, 2, 20, 14, 2, 34, 46, + 1, 19, 51, 27, 1, 51, 38, 39, 46, 2, 34, 14, 1, 7, 6, 5, 35, 3, 54, 55, 62, 1, 55, 54, 1, 3, 35, 22, 23, 30, 1, 23, + 22, 70, 86,147,202,222,202,147, 86, 86,147,202,222,202,147, 28,240,192,193,239, 7, 24, 34,118,160,178,160,118, 34, 24, 3, 90, +164,207, 56, 51, 80,118, 34, 25,254, 24,206,165, 7, 25, 34,118, 80, 51, 2, 17,222,202,147, 86, 86,147,202,222,202,147, 86, 86, +147, 1,110,254,152, 1,104, 60, 56, 80,118, 68, 68,118, 80, 56,162,254,130, 8, 22, 34,118, 80, 57,254,193, 1,126, 63, 57, 80, +118, 34, 22, 0, 0, 5, 0, 70, 0, 94, 4,138, 4,162, 0, 2, 0, 18, 0, 28, 0, 38, 0, 48, 0, 0, 1, 19, 33, 0, 52, 62, + 2, 50, 30, 2, 20, 14, 2, 34, 46, 1, 18, 20, 30, 1, 23, 22, 23, 1, 6, 7, 55, 33, 38, 39, 46, 1, 34, 6, 7, 6, 5, 1, + 54, 55, 62, 2, 52, 39, 38, 2,104,243,254, 26,254,209, 86,147,202,222,202,147, 86, 86,147,202,222,202,147, 25, 68,118, 80, 52, + 55,254,180, 4, 3, 57, 2,176, 17, 19, 59,160,178,160, 59, 19, 2,209,254,180, 55, 52, 80,118, 68, 34, 3, 1, 77, 1,199,254, +253,222,202,147, 86, 86,147,202,222,202,147, 86, 86,147, 1,146,178,160,118, 34, 22, 8, 2,105, 8, 9, 99, 21, 19, 59, 68, 68, + 59, 19,103,253,151, 8, 22, 34,118,160,178, 80, 9, 0, 0, 0, 0, 3, 0, 70, 0, 94, 4,138, 4,162, 0, 2, 0, 9, 0, 37, + 0, 0, 1, 55, 39, 23, 1, 7, 1, 7, 3, 5, 1, 51, 20, 30, 2, 50, 62, 2, 52, 46, 2, 35, 53, 50, 30, 2, 20, 14, 2, 34, + 46, 2, 1, 5,145,174,205, 1,238, 86,254, 18,151, 70, 1,202,253,250,111, 68,118,160,178,160,118, 68, 68,118,160, 89,111,202, +147, 86, 86,147,202,222,202,147, 86, 3, 83,146, 28,119,254, 18, 86, 1,238,151, 1,202, 70,254, 95, 89,160,118, 68, 68,118,160, +178,160,118, 68,111, 86,147,202,222,202,147, 86, 86,147,202, 0, 0, 2, 0, 6,255, 52, 4,203, 6,161, 0, 3, 0, 7, 0, 0, + 23, 33, 17, 33, 3, 17, 33, 17,120, 3,225,252, 31,114, 4,197, 90, 6,137,249, 5, 7,109,248,147, 0, 0, 0, 0, 1, 1, 24, +253,240, 3,184, 7,134, 0, 11, 0, 0, 1, 35, 53, 16, 19, 18, 19, 51, 0, 3, 2, 17, 1,219,195,160,186,166,160,254,252, 90, +127,253,240,234, 3,151, 1,226, 2, 48, 1, 3,253,243,254,134,253,238,252,237, 0, 1, 1, 24,253,252, 1,219, 7,137, 0, 3, + 0, 0, 1, 51, 17, 35, 1, 24,195,195, 7,137,246,115, 0, 0, 0, 1, 1, 24,254, 20, 3,184, 7,137, 0, 11, 0, 0, 1, 21, + 16, 19, 18, 19, 35, 2, 3, 2, 17, 53, 1,219,127,147,203,160,208,144,160, 7,137,234,252,165,254, 87,254, 20,254,101, 1, 69, + 1,238, 2, 37, 3, 51,234, 0, 0, 1, 1, 25,253,240, 3,185, 7,134, 0, 11, 0, 0, 1, 53, 16, 3, 2, 1, 51, 18, 19, 18, + 17, 21, 2,246,127, 90,254,252,160,166,186,160,253,240,234, 3, 19, 2, 18, 1,122, 2, 13,254,253,253,208,254, 30,252,105,234, + 0, 1, 2,246,253,252, 3,185, 7,137, 0, 4, 0, 0, 1, 17, 35, 17, 48, 3,185,195, 7,137,246,115, 9,141, 0, 1, 1, 25, +254, 20, 3,185, 7,137, 0, 11, 0, 0, 1, 51, 21, 16, 3, 2, 3, 35, 18, 19, 18, 17, 2,246,195,160,144,208,160,203,147,127, + 7,137,234,252,205,253,219,254, 18,254,187, 1,155, 1,236, 1,169, 3, 91, 0, 0, 1, 1, 24,253,252, 3,184, 7,109, 0, 5, + 0, 0, 1, 35, 17, 33, 21, 33, 1,219,195, 2,160,254, 35,253,252, 9,113,195, 0, 1, 1, 24,253,252, 1,219, 7,137, 0, 3, + 0, 0, 1, 51, 17, 35, 1, 24,195,195, 7,137,246,115, 0, 0, 0, 1, 1, 24,254, 20, 3,184, 7,137, 0, 5, 0, 0, 1, 17, + 33, 21, 33, 17, 1,219, 1,221,253, 96, 7,137,247, 78,195, 9,117, 0, 0, 0, 0, 1, 1, 24,253,252, 3,184, 7,109, 0, 5, + 0, 0, 1, 17, 33, 53, 33, 17, 2,245,254, 35, 2,160,253,252, 8,174,195,246,143, 0, 0, 0, 0, 1, 2,245,253,252, 3,184, + 7,122, 0, 3, 0, 0, 1, 51, 17, 35, 2,245,195,195, 7,122,246,130, 0, 0, 0, 1, 1, 24,254, 20, 3,184, 7,122, 0, 5, + 0, 0, 1, 51, 17, 33, 53, 33, 2,245,195,253, 96, 1,221, 7,122,246,154,195, 0, 1, 2, 12,253,234, 4,193, 7,109, 0, 13, + 0, 0, 1, 35, 17, 52, 55, 54, 51, 33, 21, 33, 34, 7, 6, 21, 2,198,186,111,121,186, 1, 19,254,231,101, 68, 57,253,234, 7, +117,223,145,158,176,102, 87,153, 0, 1, 0, 17,253,252, 2,198, 7,134, 0, 24, 0, 0, 1, 22, 23, 22, 25, 1, 35, 17, 16, 39, + 38, 37, 39, 53, 51, 32, 55, 54, 25, 1, 51, 17, 16, 7, 6, 1,253, 58, 42,101,186,110, 75,254,251, 61, 61, 1, 3, 77,110,186, +101, 40, 2,193, 32, 61,147,254, 67,253,232, 2, 12, 1,183, 95, 65, 4, 1,187, 69, 99, 1,179, 2, 12,253,232,254, 72,152, 60, + 0, 1, 2, 12,254, 20, 4,193, 7,134, 0, 13, 0, 0, 1, 17, 20, 23, 22, 51, 33, 21, 33, 34, 39, 38, 53, 17, 2,198, 57, 68, +101, 1, 25,254,237,184,123,111, 7,134,248,148,154, 86,102,176,158,143,225, 7,100, 0, 0, 0, 0, 1, 2, 12,253,244, 2,198, + 7,140, 0, 3, 0, 0, 1, 35, 17, 51, 2,198,186,186,253,244, 9,152, 0, 0, 0, 1, 0, 16,253,234, 2,197, 7,109, 0, 13, + 0, 0, 1, 17, 52, 39, 38, 35, 33, 53, 33, 50, 23, 22, 21, 17, 2, 11, 57, 68,101,254,231, 1, 19,186,121,111,253,234, 7,125, +153, 87,102,176,158,145,223,248,139, 0, 0, 0, 0, 1, 2, 11,253,252, 4,192, 7,134, 0, 24, 0, 0, 1, 38, 39, 38, 25, 1, + 51, 17, 16, 23, 22, 33, 51, 21, 7, 4, 7, 6, 25, 1, 35, 17, 16, 55, 54, 2,212, 60, 40,101,186,110, 77, 1, 3, 61, 61,254, +251, 75,110,186,101, 42, 2,193, 33, 60,152, 1,184, 2, 24,253,244,254, 77, 99, 69,187, 1, 4, 65, 95,254, 73,253,244, 2, 24, + 1,189,147, 61, 0, 1, 0, 16,254, 20, 2,197, 7,134, 0, 13, 0, 0, 1, 51, 17, 20, 7, 6, 35, 33, 53, 33, 50, 55, 54, 53, + 2, 11,186,111,123,184,254,237, 1, 25,101, 68, 57, 7,134,248,156,225,143,158,176,102, 86,154, 0, 1, 2, 1,254, 0, 2,199, + 6, 40, 0, 3, 0, 0, 1, 17, 51, 17, 2, 1,198,254, 0, 8, 40,247,216, 0, 0, 2, 0, 25, 0,188, 4,143, 4,118, 0, 8, + 0, 17, 0, 0, 37, 9, 1, 21, 33, 17, 33, 17, 33, 1, 33, 53, 7, 23, 53, 33, 17, 35, 1,142,254,139, 1,117, 1,169, 1, 88, +252,255, 1,239,253,194,194,194, 3, 10,204,188, 1,117, 1,117,201, 1,153,253, 15, 1, 18, 93,195,195, 93, 2,101, 0, 0, 0, + 0, 2, 0, 6, 0, 0, 4,203, 4,196, 0, 2, 0, 6, 0, 0, 1, 33, 9, 1, 33, 17, 33, 4,203,251, 59, 2, 98, 2, 99,251, + 59, 4,197, 2,160, 2, 36,251, 60, 1,248, 0, 0, 1, 0,150,254, 46, 4, 58, 0,181, 0, 7, 0, 28,183, 4, 6, 6, 9, 3, + 6, 1, 8, 16,220,236, 16,220,236, 49, 0,180, 0,182, 4, 6, 2, 47, 60,220,236, 48, 19, 17, 51, 17, 33, 17, 51, 17,150,168, + 2, 84,168,254, 46, 2,135,254, 37, 1,219,253,121, 0, 0, 0, 0, 1,255,236, 1,240, 4,229, 2,156, 0, 3, 0, 0, 3, 53, + 33, 21, 20, 4,249, 1,240,172,172, 0, 0, 0, 0, 1,255,236, 1,154, 4,229, 2,242, 0, 3, 0, 0, 3, 17, 33, 17, 20, 4, +249, 1,154, 1, 88,254,168, 0, 0, 1, 2, 24,253,150, 2,184, 7,200, 0, 3, 0, 0, 1, 17, 51, 17, 2, 24,160,253,150, 10, + 50,245,206, 0, 0, 1, 1,200,253,150, 3, 8, 7,200, 0, 3, 0, 0, 1, 17, 33, 17, 1,200, 1, 64,253,150, 10, 50,245,206, + 0, 3,255,236, 1,240, 4,229, 2,156, 0, 3, 0, 7, 0, 11, 0, 0, 1, 53, 33, 21, 33, 53, 33, 21, 33, 53, 33, 21, 3,177, + 1, 52,252,239, 1, 41,252,239, 1, 52, 1,240,172,172,172,172,172,172, 0, 0, 0, 3,255,236, 1,154, 4,229, 2,242, 0, 3, + 0, 7, 0, 11, 0, 0, 1, 17, 33, 17, 33, 17, 33, 17, 33, 17, 33, 17, 3,177, 1, 52,252,239, 1, 41,252,239, 1, 52, 1,154, + 1, 88,254,168, 1, 88,254,168, 1, 88,254,168, 0, 3, 2, 24,253,150, 2,184, 7,200, 0, 3, 0, 7, 0, 11, 0, 0, 1, 17, + 51, 17, 3, 17, 51, 17, 3, 17, 51, 17, 2, 24,160,160,160,160,160,253,150, 3, 12,252,244, 3,192, 2,178,253, 78, 3,102, 3, + 12,252,244, 0, 0, 3, 1,200,253,150, 3, 8, 7,200, 0, 3, 0, 7, 0, 11, 0, 0, 1, 17, 33, 17, 1, 17, 33, 17, 1, 17, + 33, 17, 1,200, 1, 64,254,192, 1, 64,254,192, 1, 64,253,150, 3, 12,252,244, 3,192, 2,178,253, 78, 3,102, 3, 12,252,244, + 0, 4,255,235, 1,240, 4,229, 2,156, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, 3, 53, 51, 21, 51, 53, 51, 21, 51, 53, 51, 21, + 51, 53, 51, 21, 21,188,180,179,180,178,180,189, 1,240,172,172,172,172,172,172,172,172, 0, 0, 0, 4,255,236, 1,154, 4,230, + 2,242, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, 3, 17, 51, 17, 51, 17, 51, 17, 51, 17, 51, 17, 51, 17, 51, 17, 20,188,180,179, +180,178,180,189, 1,154, 1, 88,254,168, 1, 88,254,168, 1, 88,254,168, 1, 88,254,168, 0, 0, 0, 4, 2, 24,253,150, 2,184, + 7,200, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, 1, 17, 51, 17, 3, 17, 51, 17, 3, 17, 51, 17, 3, 17, 51, 17, 2, 24,160,160, +160,160,160,160,160, 5,150, 2, 50,253,206,248, 0, 2, 50,253,206, 5,115, 1,217,254, 39,253,115, 1,217,254, 39, 0, 0, 0, + 0, 4, 1,200,253,150, 3, 8, 7,200, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, 1, 17, 33, 17, 1, 17, 33, 17, 1, 17, 33, 17, + 1, 17, 33, 17, 1,200, 1, 64,254,192, 1, 64,254,192, 1, 64,254,192, 1, 64, 5,150, 2, 50,253,206,248, 0, 2, 50,253,206, + 5,115, 1,217,254, 39,253,115, 1,217,254, 39, 0, 1, 2, 24,253,150, 4,229, 2,156, 0, 5, 0, 0, 1, 17, 33, 21, 33, 17, + 2, 24, 2,205,253,211,253,150, 5, 6,172,251,166, 0, 0, 0, 0, 1, 2, 24,253,150, 4,229, 2,242, 0, 5, 0, 0, 1, 17, + 33, 17, 33, 17, 2, 24, 2,205,253,211,253,150, 5, 92,254,168,251,252, 0, 0, 0, 1, 1,200,253,150, 4,229, 2,156, 0, 5, + 0, 0, 1, 17, 33, 21, 33, 17, 1,200, 3, 29,254, 35,253,150, 5, 6,172,251,166, 0, 0, 0, 0, 1, 1,200,253,150, 4,229, + 2,242, 0, 5, 0, 0, 1, 17, 33, 17, 33, 17, 1,200, 3, 29,254, 35,253,150, 5, 92,254,168,251,252, 0, 0, 0, 1,255,236, +253,150, 2,184, 2,156, 0, 5, 0, 0, 1, 17, 33, 53, 33, 17, 2, 24,253,212, 2,204,253,150, 4, 90,172,250,250, 0, 0, 0, + 0, 1,255,236,253,150, 2,184, 2,242, 0, 5, 0, 0, 1, 17, 33, 17, 33, 17, 2, 24,253,212, 2,204,253,150, 4, 4, 1, 88, +250,164, 0, 0, 0, 1,255,236,253,150, 3, 8, 2,156, 0, 5, 0, 0, 1, 17, 33, 53, 33, 17, 1,200,254, 36, 3, 28,253,150, + 4, 90,172,250,250, 0, 0, 0, 0, 1,255,236,253,150, 3, 8, 2,242, 0, 5, 0, 0, 1, 17, 33, 17, 33, 17, 1,200,254, 36, + 3, 28,253,150, 4, 4, 1, 88,250,164, 0, 0, 0, 1, 2, 24, 1,240, 4,229, 7,200, 0, 5, 0, 0, 1, 17, 51, 17, 33, 21, + 2, 24,160, 2, 45, 1,240, 5,216,250,212,172, 0, 1, 2, 24, 1,154, 4,229, 7,200, 0, 5, 0, 0, 1, 17, 51, 17, 33, 17, + 2, 24,160, 2, 45, 1,154, 6, 46,251, 42,254,168, 0, 0, 0, 0, 1, 1,200, 1,240, 4,229, 7,200, 0, 5, 0, 0, 1, 17, + 33, 17, 33, 21, 1,200, 1, 64, 1,221, 1,240, 5,216,250,212,172, 0, 0, 0, 0, 1, 1,200, 1,154, 4,229, 7,200, 0, 5, + 0, 0, 1, 17, 33, 17, 33, 17, 1,200, 1, 64, 1,221, 1,154, 6, 46,251, 42,254,168, 0, 0, 0, 1,255,236, 1,240, 2,184, + 7,200, 0, 5, 0, 0, 3, 53, 33, 17, 51, 17, 20, 2, 44,160, 1,240,172, 5, 44,250, 40, 0, 0, 1,255,236, 1,154, 2,184, + 7,200, 0, 5, 0, 0, 3, 17, 33, 17, 51, 17, 20, 2, 44,160, 1,154, 1, 88, 4,214,249,210, 0, 1,255,236, 1,240, 3, 8, + 7,200, 0, 5, 0, 0, 3, 53, 33, 17, 33, 17, 20, 1,220, 1, 64, 1,240,172, 5, 44,250, 40, 0, 1,255,236, 1,154, 3, 8, + 7,200, 0, 5, 0, 0, 3, 17, 33, 17, 33, 17, 20, 1,220, 1, 64, 1,154, 1, 88, 4,214,249,210, 0, 0, 0, 0, 1, 2, 24, +253,150, 4,229, 7,200, 0, 7, 0, 0, 1, 17, 51, 17, 33, 21, 33, 17, 2, 24,160, 2, 45,253,211,253,150, 10, 50,250,212,172, +251,166, 0, 0, 0, 1, 2, 24,253,150, 4,229, 7,200, 0, 7, 0, 0, 1, 17, 51, 17, 33, 17, 33, 17, 2, 24,160, 2, 45,253, +211,253,150, 10, 50,251, 42,254,168,251,252, 0, 0, 1, 1,200,253,150, 4,229, 7,200, 0, 9, 0, 0, 1, 17, 35, 17, 33, 17, + 33, 21, 33, 17, 2, 24, 80, 1, 64, 1,221,253,211,253,150, 4, 90, 5,216,250,212,172,251,166, 0, 1, 1,200,253,150, 4,229, + 7,200, 0, 9, 0, 0, 1, 17, 51, 17, 51, 17, 33, 21, 33, 17, 1,200, 80,160, 2, 45,254, 35,253,150, 5, 6, 5, 44,250,212, +172,251,166, 0, 0, 1, 1,200,253,150, 4,229, 7,200, 0, 7, 0, 0, 1, 17, 33, 17, 33, 21, 33, 17, 1,200, 1, 64, 1,221, +254, 35,253,150, 10, 50,250,212,172,251,166, 0, 0, 1, 1,200,253,150, 4,229, 7,200, 0, 9, 0, 0, 1, 17, 35, 17, 33, 17, + 33, 17, 33, 17, 2, 24, 80, 1, 64, 1,221,253,211,253,150, 4, 4, 6, 46,251, 42,254,168,251,252, 0, 0, 0, 0, 1, 1,200, +253,150, 4,229, 7,200, 0, 9, 0, 0, 1, 17, 51, 17, 51, 17, 33, 17, 33, 17, 1,200, 80,160, 2, 45,254, 35,253,150, 5, 92, + 4,214,251, 42,254,168,251,252, 0, 1, 1,200,253,150, 4,229, 7,200, 0, 7, 0, 0, 1, 17, 33, 17, 33, 17, 33, 17, 1,200, + 1, 64, 1,221,254, 35,253,150, 10, 50,251, 42,254,168,251,252, 0, 1,255,236,253,150, 2,184, 7,200, 0, 7, 0, 0, 1, 17, + 33, 53, 33, 17, 51, 17, 2, 24,253,212, 2, 44,160,253,150, 4, 90,172, 5, 44,245,206, 0, 0, 0, 1,255,236,253,150, 2,184, + 7,200, 0, 7, 0, 0, 1, 17, 33, 17, 33, 17, 51, 17, 2, 24,253,212, 2, 44,160,253,150, 4, 4, 1, 88, 4,214,245,206, 0, + 0, 1,255,236,253,150, 3, 8, 7,200, 0, 9, 0, 0, 1, 17, 33, 53, 33, 17, 33, 17, 35, 17, 2, 24,253,212, 1,220, 1, 64, + 80,253,150, 4, 90,172, 5, 44,250, 40,251,166, 0, 1,255,236,253,150, 3, 8, 7,200, 0, 9, 0, 0, 1, 17, 33, 53, 33, 17, + 51, 17, 51, 17, 1,200,254, 36, 2, 44,160, 80,253,150, 4, 90,172, 5, 44,250,212,250,250, 0, 0, 1,255,236,253,150, 3, 8, + 7,200, 0, 7, 0, 0, 1, 17, 33, 53, 33, 17, 33, 17, 1,200,254, 36, 1,220, 1, 64,253,150, 4, 90,172, 5, 44,245,206, 0, + 0, 1,255,236,253,150, 3, 8, 7,200, 0, 9, 0, 0, 1, 17, 33, 17, 33, 17, 33, 17, 35, 17, 2, 24,253,212, 1,220, 1, 64, + 80,253,150, 4, 4, 1, 88, 4,214,249,210,251,252, 0, 0, 0, 0, 1,255,236,253,150, 3, 8, 7,200, 0, 9, 0, 0, 1, 17, + 33, 17, 33, 17, 51, 17, 51, 17, 1,200,254, 36, 2, 44,160, 80,253,150, 4, 4, 1, 88, 4,214,251, 42,250,164, 0, 1,255,236, +253,150, 3, 8, 7,200, 0, 7, 0, 0, 1, 17, 33, 17, 33, 17, 33, 17, 1,200,254, 36, 1,220, 1, 64,253,150, 4, 4, 1, 88, + 4,214,245,206, 0, 1,255,236,253,150, 4,229, 2,156, 0, 7, 0, 0, 1, 17, 33, 53, 33, 21, 33, 17, 2, 24,253,212, 4,249, +253,211,253,150, 4, 90,172,172,251,166, 0, 0, 0, 1,255,236,253,150, 4,229, 2,242, 0, 9, 0, 0, 1, 17, 33, 17, 33, 21, + 33, 21, 33, 17, 2, 24,253,212, 2,204, 2, 45,253,211,253,150, 4, 4, 1, 88, 86,172,251,166, 0, 1,255,236,253,150, 4,229, + 2,242, 0, 9, 0, 0, 1, 17, 33, 53, 33, 53, 33, 17, 33, 17, 2, 24,253,212, 2, 44, 2,205,253,211,253,150, 4, 90,172, 86, +254,168,251,252, 0, 1,255,236,253,150, 4,229, 2,242, 0, 7, 0, 0, 1, 17, 33, 17, 33, 17, 33, 17, 2, 24,253,212, 4,249, +253,211,253,150, 4, 4, 1, 88,254,168,251,252, 0, 1,255,236,253,150, 4,229, 2,156, 0, 7, 0, 0, 1, 17, 33, 53, 33, 21, + 33, 17, 1,200,254, 36, 4,249,254, 35,253,150, 4, 90,172,172,251,166, 0, 0, 0, 1,255,236,253,150, 4,229, 2,242, 0, 9, + 0, 0, 1, 17, 33, 17, 33, 21, 33, 21, 33, 17, 1,200,254, 36, 3, 28, 1,221,254, 35,253,150, 4, 4, 1, 88, 86,172,251,166, + 0, 1,255,236,253,150, 4,229, 2,242, 0, 9, 0, 0, 1, 17, 33, 53, 33, 53, 33, 17, 33, 17, 1,200,254, 36, 1,220, 3, 29, +254, 35,253,150, 4, 90,172, 86,254,168,251,252, 0, 1,255,236,253,150, 4,229, 2,242, 0, 7, 0, 0, 1, 17, 33, 17, 33, 17, + 33, 17, 1,200,254, 36, 4,249,254, 35,253,150, 4, 4, 1, 88,254,168,251,252, 0, 1,255,236, 1,240, 4,229, 7,200, 0, 7, + 0, 0, 3, 53, 33, 17, 51, 17, 33, 21, 20, 2, 44,160, 2, 45, 1,240,172, 5, 44,250,212,172, 0, 1,255,236, 1,154, 4,229, + 7,200, 0, 9, 0, 0, 3, 17, 33, 17, 51, 17, 33, 21, 33, 21, 20, 2, 44,160, 2, 45,253,211, 1,154, 1, 88, 4,214,250,212, +172, 86, 0, 0, 0, 1,255,236, 1,154, 4,229, 7,200, 0, 9, 0, 0, 3, 53, 33, 17, 51, 17, 33, 17, 33, 53, 20, 2, 44,160, + 2, 45,253, 51, 1,240,172, 5, 44,251, 42,254,168, 86, 0, 0, 0, 1,255,236, 1,154, 4,229, 7,200, 0, 7, 0, 0, 3, 17, + 33, 17, 51, 17, 33, 17, 20, 2, 44,160, 2, 45, 1,154, 1, 88, 4,214,251, 42,254,168, 0, 0, 0, 1,255,236, 1,240, 4,229, + 7,200, 0, 7, 0, 0, 3, 53, 33, 17, 33, 17, 33, 21, 20, 1,220, 1, 64, 1,221, 1,240,172, 5, 44,250,212,172, 0, 0, 0, + 0, 1,255,236, 1,154, 4,229, 7,200, 0, 9, 0, 0, 3, 17, 33, 17, 33, 17, 33, 21, 33, 21, 20, 1,220, 1, 64, 1,221,254, + 35, 1,154, 1, 88, 4,214,250,212,172, 86, 0, 0, 1,255,236, 1,154, 4,229, 7,200, 0, 9, 0, 0, 3, 53, 33, 17, 33, 17, + 33, 17, 33, 53, 20, 1,220, 1, 64, 1,221,252,227, 1,240,172, 5, 44,251, 42,254,168, 86, 0, 0, 1,255,236, 1,154, 4,229, + 7,200, 0, 7, 0, 0, 3, 17, 33, 17, 33, 17, 33, 17, 20, 1,220, 1, 64, 1,221, 1,154, 1, 88, 4,214,251, 42,254,168, 0, + 0, 1,255,236,253,150, 4,229, 7,200, 0, 11, 0, 0, 1, 17, 35, 17, 33, 53, 33, 17, 51, 17, 33, 21, 2,184,160,253,212, 2, + 44,160, 2, 45, 1,240,251,166, 4, 90,172, 5, 44,250,212,172, 0, 1,255,236,253,150, 4,229, 7,200, 0, 11, 0, 0, 1, 17, + 33, 17, 33, 17, 51, 17, 33, 21, 33, 17, 2, 24,253,212, 2, 44,160, 2, 45,253,211,253,150, 4, 4, 1, 88, 4,214,250,212,172, +251,166, 0, 0, 0, 1,255,236,253,150, 4,229, 7,200, 0, 11, 0, 0, 1, 17, 33, 53, 33, 17, 51, 17, 33, 17, 33, 17, 2, 24, +253,212, 2, 44,160, 2, 45,253,211,253,150, 4, 90,172, 5, 44,251, 42,254,168,251,252, 0, 0, 0, 1,255,236,253,150, 4,229, + 7,200, 0, 11, 0, 0, 1, 17, 33, 17, 33, 17, 51, 17, 33, 17, 33, 17, 2, 24,253,212, 2, 44,160, 2, 45,253,211,253,150, 4, + 4, 1, 88, 4,214,251, 42,254,168,251,252, 0, 0, 1,255,236,253,150, 4,229, 7,200, 0, 11, 0, 0, 1, 17, 33, 53, 33, 17, + 33, 17, 33, 21, 33, 17, 2, 24,253,212, 1,220, 1, 64, 1,221,253,211,253,150, 4, 90,172, 5, 44,250,212,172,251,166, 0, 0, + 0, 1,255,236,253,150, 4,229, 7,200, 0, 11, 0, 0, 1, 17, 33, 53, 33, 17, 51, 17, 33, 21, 33, 17, 1,200,254, 36, 2, 44, +160, 2, 45,254, 35,253,150, 4, 90,172, 5, 44,250,212,172,251,166, 0, 0, 0, 0, 1,255,236,253,150, 4,229, 7,200, 0, 11, + 0, 0, 1, 17, 33, 53, 33, 17, 33, 17, 33, 21, 33, 17, 1,200,254, 36, 1,220, 1, 64, 1,221,254, 35,253,150, 4, 90,172, 5, + 44,250,212,172,251,166, 0, 0, 0, 1,255,236,253,150, 4,229, 7,200, 0, 13, 0, 0, 1, 17, 33, 17, 33, 17, 33, 17, 33, 21, + 33, 21, 35, 17, 2, 24,253,212, 1,220, 1, 64, 1,221,254, 35, 80,253,150, 4, 4, 1, 88, 4,214,250,212,172, 86,251,252, 0, + 0, 1,255,236,253,150, 4,229, 7,200, 0, 13, 0, 0, 1, 17, 35, 53, 33, 53, 33, 17, 33, 17, 33, 17, 33, 17, 2, 24, 80,254, + 36, 1,220, 1, 64, 1,221,253,211,253,150, 4, 4, 86,172, 5, 44,251, 42,254,168,251,252, 0, 0, 1,255,236,253,150, 4,229, + 7,200, 0, 13, 0, 0, 1, 17, 33, 17, 33, 17, 51, 17, 51, 21, 33, 21, 33, 17, 1,200,254, 36, 2, 44,160, 80, 1,221,254, 35, +253,150, 4, 4, 1, 88, 4,214,251, 42, 86,172,251,166, 0, 0, 0, 1,255,236,253,150, 4,229, 7,200, 0, 13, 0, 0, 1, 17, + 33, 53, 33, 53, 51, 17, 51, 17, 33, 17, 33, 17, 1,200,254, 36, 1,220, 80,160, 2, 45,254, 35,253,150, 4, 90,172, 86, 4,214, +251, 42,254,168,251,252, 0, 0, 0, 1,255,236,253,150, 4,229, 7,200, 0, 11, 0, 0, 1, 17, 33, 17, 33, 17, 33, 17, 33, 17, + 33, 17, 2, 24,253,212, 1,220, 1, 64, 1,221,253,211,253,150, 4, 4, 1, 88, 4,214,251, 42,254,168,251,252, 0, 1,255,236, +253,150, 4,229, 7,200, 0, 11, 0, 0, 1, 17, 33, 17, 33, 17, 51, 17, 33, 17, 33, 17, 1,200,254, 36, 2, 44,160, 2, 45,254, + 35,253,150, 4, 4, 1, 88, 4,214,251, 42,254,168,251,252, 0, 0, 1,255,236,253,150, 4,229, 7,200, 0, 11, 0, 0, 1, 17, + 33, 17, 33, 17, 33, 17, 33, 21, 33, 17, 1,200,254, 36, 1,220, 1, 64, 1,221,254, 35,253,150, 4, 4, 1, 88, 4,214,250,212, +172,251,166, 0, 0, 1,255,236,253,150, 4,229, 7,200, 0, 11, 0, 0, 1, 17, 33, 53, 33, 17, 33, 17, 33, 17, 33, 17, 1,200, +254, 36, 1,220, 1, 64, 1,221,254, 35,253,150, 4, 90,172, 5, 44,251, 42,254,168,251,252, 0, 0, 1,255,236,253,150, 4,229, + 7,200, 0, 11, 0, 0, 1, 17, 33, 17, 33, 17, 33, 17, 33, 17, 33, 17, 1,200,254, 36, 1,220, 1, 64, 1,221,254, 35,253,150, + 4, 4, 1, 88, 4,214,251, 42,254,168,251,252, 0, 2,255,236, 1,240, 4,229, 2,156, 0, 3, 0, 7, 0, 0, 3, 53, 33, 21, + 51, 53, 33, 21, 20, 2, 44,160, 2, 45, 1,240,172,172,172,172, 0, 2,255,236, 1,154, 4,229, 2,242, 0, 3, 0, 7, 0, 0, + 1, 17, 33, 17, 33, 17, 33, 17, 2,184, 2, 45,251, 7, 2, 44, 1,154, 1, 88,254,168, 1, 88,254,168, 0, 0, 0, 2, 2, 24, +253,150, 2,184, 7,200, 0, 3, 0, 7, 0, 0, 1, 17, 51, 17, 3, 17, 51, 17, 2, 24,160,160,160, 2,242, 4,214,251, 42,250, +164, 4, 4,251,252, 0, 0, 0, 0, 2, 1,200,253,150, 3, 8, 7,200, 0, 3, 0, 7, 0, 0, 1, 17, 33, 17, 1, 17, 33, 17, + 1,200, 1, 64,254,192, 1, 64, 2,242, 4,214,251, 42,250,164, 4, 4,251,252, 0, 2,255,236, 1, 68, 4,229, 3, 72, 0, 3, + 0, 7, 0, 0, 3, 53, 33, 21, 1, 53, 33, 21, 20, 4,249,251, 7, 4,249, 2,156,172,172,254,168,172,172, 0, 0, 2, 1,120, +253,150, 3, 88, 7,200, 0, 3, 0, 7, 0, 0, 1, 17, 51, 17, 51, 17, 51, 17, 1,120,160,160,160,253,150, 10, 50,245,206, 10, + 50,245,206, 0, 0, 1, 2, 24,253,150, 4,229, 3, 72, 0, 9, 0, 0, 1, 17, 33, 21, 33, 21, 33, 21, 33, 17, 2, 24, 2,205, +253,211, 2, 45,253,211,253,150, 5,178,172,172,172,252, 82, 0, 0, 1, 1,120,253,150, 4,229, 2,156, 0, 9, 0, 0, 1, 17, + 33, 21, 33, 17, 35, 17, 35, 17, 1,120, 3,109,254,115,160,160,253,150, 5, 6,172,251,166, 4, 90,251,166, 0, 0, 2, 1,120, +253,150, 4,229, 3, 72, 0, 5, 0, 11, 0, 0, 1, 17, 33, 21, 33, 17, 51, 17, 33, 21, 33, 17, 1,120, 3,109,253, 51,160, 2, + 45,254,115,253,150, 5,178,172,250,250, 4, 90,172,252, 82, 0, 0, 1,255,236,253,150, 2,184, 3, 72, 0, 9, 0, 0, 1, 17, + 33, 53, 33, 53, 33, 53, 33, 17, 2, 24,253,212, 2, 44,253,212, 2,204,253,150, 3,174,172,172,172,250, 78, 0, 0, 1,255,236, +253,150, 3, 88, 2,156, 0, 9, 0, 0, 3, 53, 33, 17, 35, 17, 35, 17, 35, 17, 20, 3,108,160,160,160, 1,240,172,250,250, 4, + 90,251,166, 4, 90, 0, 0, 0, 0, 2,255,236,253,150, 3, 88, 3, 72, 0, 5, 0, 11, 0, 0, 1, 17, 33, 53, 33, 17, 33, 17, + 33, 53, 33, 17, 2,184,253, 52, 3,108,254, 32,254,116, 2, 44,253,150, 5, 6,172,250, 78, 3,174,172,251,166, 0, 1, 2, 24, + 1, 68, 4,229, 7,200, 0, 9, 0, 0, 1, 17, 51, 17, 33, 21, 33, 21, 33, 21, 2, 24,160, 2, 45,253,211, 2, 45, 1, 68, 6, +132,251,128,172,172,172, 0, 0, 0, 1, 1,120, 1,240, 4,229, 7,200, 0, 9, 0, 0, 1, 17, 51, 17, 51, 17, 51, 17, 33, 21, + 1,120,160,160,160, 1,141, 1,240, 5,216,250,212, 5, 44,250,212,172, 0, 0, 0, 2, 1,120, 1, 68, 4,229, 7,200, 0, 5, + 0, 11, 0, 0, 1, 17, 51, 17, 33, 21, 1, 17, 51, 17, 33, 21, 2,184,160, 1,141,252,147,160, 2,205, 2,156, 5, 44,251,128, +172,254,168, 6,132,250, 40,172, 0, 1,255,236, 1, 68, 2,184, 7,200, 0, 9, 0, 0, 3, 53, 33, 53, 33, 53, 33, 17, 51, 17, + 20, 2, 44,253,212, 2, 44,160, 1, 68,172,172,172, 4,128,249,124, 0, 0, 0, 0, 1,255,236, 1,240, 3, 88, 7,200, 0, 9, + 0, 0, 3, 53, 33, 17, 51, 17, 51, 17, 51, 17, 20, 1,140,160,160,160, 1,240,172, 5, 44,250,212, 5, 44,250, 40, 0, 0, 0, + 0, 2,255,236, 1, 68, 3, 88, 7,200, 0, 5, 0, 11, 0, 0, 3, 53, 33, 17, 51, 17, 1, 53, 33, 17, 51, 17, 20, 1,140,160, +253,212, 2,204,160, 2,156,172, 4,128,250,212,254,168,172, 5,216,249,124, 0, 0, 1, 2, 24,253,150, 4,229, 7,200, 0, 11, + 0, 0, 1, 17, 51, 17, 33, 21, 33, 21, 33, 21, 33, 17, 2, 24,160, 2, 45,253,211, 2, 45,253,211,253,150, 10, 50,251,128,172, +172,172,252, 82, 0, 2, 1,120,253,150, 4,229, 7,200, 0, 3, 0, 11, 0, 0, 1, 17, 51, 17, 51, 17, 51, 17, 33, 21, 33, 17, + 1,120,160,160,160, 1,141,254,115,253,150, 10, 50,245,206, 10, 50,250,212,172,251,166, 0, 0, 0, 3, 1,120,253,150, 4,229, + 7,200, 0, 5, 0, 9, 0, 15, 0, 0, 1, 17, 51, 17, 33, 21, 1, 17, 51, 17, 51, 17, 33, 21, 33, 17, 2,184,160, 1,141,252, +147,160,160, 2, 45,254,115, 2,156, 5, 44,251,128,172,250,250, 10, 50,245,206, 4, 90,172,252, 82, 0, 0, 0, 0, 1,255,236, +253,150, 2,184, 7,200, 0, 11, 0, 0, 1, 17, 33, 53, 33, 53, 33, 53, 33, 17, 51, 17, 2, 24,253,212, 2, 44,253,212, 2, 44, +160,253,150, 3,174,172,172,172, 4,128,245,206, 0, 2,255,236,253,150, 3, 88, 7,200, 0, 7, 0, 11, 0, 0, 1, 17, 33, 53, + 33, 17, 51, 17, 51, 17, 51, 17, 1,120,254,116, 1,140,160,160,160,253,150, 4, 90,172, 5, 44,245,206, 10, 50,245,206, 0, 0, + 0, 3,255,236,253,150, 3, 88, 7,200, 0, 5, 0, 11, 0, 15, 0, 0, 3, 53, 33, 17, 51, 17, 3, 17, 33, 53, 33, 17, 51, 17, + 51, 17, 20, 1,140,160,160,254,116, 2, 44,160,160, 2,156,172, 4,128,250,212,250,250, 3,174,172,251,166, 10, 50,245,206, 0, + 0, 2,255,236,253,150, 4,229, 3, 72, 0, 7, 0, 11, 0, 0, 1, 17, 33, 53, 33, 21, 33, 17, 1, 53, 33, 21, 2, 24,253,212, + 4,249,253,211,253, 52, 4,249,253,150, 3,174,172,172,252, 82, 5, 6,172,172, 0, 1,255,236,253,150, 4,229, 2,156, 0, 11, + 0, 0, 3, 53, 33, 21, 33, 17, 35, 17, 35, 17, 35, 17, 20, 4,249,254,115,160,160,160, 1,240,172,172,251,166, 4, 90,251,166, + 4, 90, 0, 0, 0, 3,255,236,253,150, 4,229, 3, 72, 0, 3, 0, 9, 0, 15, 0, 0, 3, 53, 33, 21, 1, 17, 33, 53, 33, 17, + 51, 17, 33, 21, 33, 17, 20, 4,249,252,147,254,116, 2, 44,160, 2, 45,254,115, 2,156,172,172,250,250, 3,174,172,251,166, 4, + 90,172,252, 82, 0, 2,255,236, 1, 68, 4,229, 7,200, 0, 3, 0, 11, 0, 0, 3, 53, 33, 21, 1, 53, 33, 17, 51, 17, 33, 21, + 20, 4,249,251, 7, 2, 44,160, 2, 45, 1, 68,172,172, 1, 88,172, 4,128,251,128,172, 0, 0, 0, 1,255,236, 1,240, 4,229, + 7,200, 0, 11, 0, 0, 3, 53, 33, 17, 51, 17, 51, 17, 51, 17, 33, 21, 20, 1,140,160,160,160, 1,141, 1,240,172, 5, 44,250, +212, 5, 44,250,212,172, 0, 0, 0, 3,255,236, 1, 68, 4,229, 7,200, 0, 3, 0, 9, 0, 15, 0, 0, 3, 53, 33, 21, 1, 53, + 33, 17, 51, 17, 51, 17, 51, 17, 33, 21, 20, 4,249,251, 7, 1,140,160,160,160, 1,141, 1, 68,172,172, 1, 88,172, 4,128,250, +212, 5, 44,251,128,172, 0, 0, 0, 1,255,236,253,150, 4,229, 7,200, 0, 19, 0, 0, 1, 17, 33, 53, 33, 53, 33, 53, 33, 17, + 51, 17, 33, 21, 33, 21, 33, 21, 33, 17, 2, 24,253,212, 2, 44,253,212, 2, 44,160, 2, 45,253,211, 2, 45,253,211,253,150, 3, +174,172,172,172, 4,128,251,128,172,172,172,252, 82, 0, 0, 0, 0, 1,255,236,253,150, 4,229, 7,200, 0, 19, 0, 0, 3, 53, + 33, 17, 51, 17, 51, 17, 51, 17, 33, 21, 33, 17, 35, 17, 35, 17, 35, 17, 20, 1,140,160,160,160, 1,141,254,115,160,160,160, 1, +240,172, 5, 44,250,212, 5, 44,250,212,172,251,166, 4, 90,251,166, 4, 90, 0, 0, 4,255,236,253,150, 4,229, 7,200, 0, 5, + 0, 11, 0, 17, 0, 23, 0, 0, 1, 17, 33, 21, 33, 17, 33, 17, 33, 53, 33, 17, 1, 53, 33, 17, 51, 17, 51, 17, 51, 17, 33, 21, + 2,184, 2, 45,254,115,254, 32,254,116, 2, 44,253,212, 1,140,160,160,160, 1,141,253,150, 4, 90,172,252, 82, 3,174,172,251, +166, 5, 6,172, 4,128,250,212, 5, 44,251,128,172, 0, 0, 0, 0, 1, 2, 24,253,150, 4,229, 2,156, 0, 12, 0, 0, 1, 17, + 52, 55, 54, 51, 33, 21, 33, 34, 6, 21, 17, 2, 24, 81, 91,168, 1,121,254,135, 89, 91,253,150, 3, 96,161,127,134,172,126,124, +252,160, 0, 0, 0, 1,255,236,253,150, 2,184, 2,156, 0, 13, 0, 0, 1, 17, 52, 39, 38, 35, 33, 53, 33, 50, 23, 22, 21, 17, + 2, 24, 46, 45, 89,254,136, 1,120,168, 91, 81,253,150, 3, 96,126, 61, 63,172,134,120,168,252,160, 0, 0, 0, 0, 1,255,236, + 1,240, 2,184, 7,200, 0, 12, 0, 0, 3, 53, 33, 50, 54, 53, 17, 51, 17, 20, 7, 6, 35, 20, 1,120, 89, 91,160, 81, 91,168, + 1,240,172,126,124, 4, 50,251,206,168,120,134, 0, 1, 2, 24, 1,240, 4,229, 7,200, 0, 12, 0, 0, 1, 33, 34, 39, 38, 53, + 17, 51, 17, 20, 22, 51, 33, 4,229,254,135,168, 91, 81,160, 91, 89, 1,121, 1,240,134,120,168, 4, 50,251,206,124,126, 0, 0, + 0, 1,255,147,253,150, 5, 62, 7,200, 0, 3, 0, 0, 3, 1, 51, 1,109, 4,249,178,251, 7,253,150, 10, 50,245,206, 0, 0, + 0, 1,255,147,253,150, 5, 62, 7,200, 0, 3, 0, 0, 1, 35, 1, 51, 5, 62,178,251, 7,178,253,150, 10, 50, 0, 1,255,147, +253,150, 5, 62, 7,200, 0, 11, 0, 0, 1, 35, 9, 1, 35, 9, 1, 51, 9, 1, 51, 1, 5, 62,178,253,220,253,221,178, 2,125, +253,131,178, 2, 35, 2, 36,178,253,132,253,150, 4, 99,251,157, 5, 25, 5, 25,251,157, 4, 99,250,231, 0, 0, 0, 1,255,236, + 1,240, 2,124, 2,156, 0, 3, 0, 0, 3, 53, 33, 21, 20, 2,144, 1,240,172,172, 0, 0, 0, 0, 1, 2, 24, 2, 70, 2,184, + 7,200, 0, 3, 0, 0, 1, 17, 51, 17, 2, 24,160, 2, 70, 5,130,250,126, 0, 0, 1, 2,124, 1,240, 4,229, 2,156, 0, 3, + 0, 0, 1, 53, 33, 21, 2,124, 2,105, 1,240,172,172, 0, 0, 0, 1, 2, 24,253,150, 2,184, 2, 70, 0, 3, 0, 0, 1, 17, + 51, 17, 2, 24,160,253,150, 4,176,251, 80, 0, 0, 1,255,236, 1,154, 2,124, 2,242, 0, 3, 0, 0, 3, 17, 33, 17, 20, 2, +144, 1,154, 1, 88,254,168, 0, 0, 1, 1,200, 2, 70, 3, 8, 7,200, 0, 3, 0, 0, 1, 17, 33, 17, 1,200, 1, 64, 2, 70, + 5,130,250,126, 0, 1, 2,124, 1,154, 4,229, 2,242, 0, 3, 0, 0, 1, 17, 33, 17, 2,124, 2,105, 1,154, 1, 88,254,168, + 0, 1, 1,200,253,150, 3, 8, 2, 70, 0, 3, 0, 0, 1, 17, 33, 17, 1,200, 1, 64,253,150, 4,176,251, 80, 0, 1,255,236, + 1,154, 4,229, 2,242, 0, 7, 0, 0, 3, 53, 33, 53, 33, 17, 33, 53, 20, 2,144, 2,105,253,151, 1,240,172, 86,254,168, 86, + 0, 1, 1,200,253,150, 3, 8, 7,200, 0, 7, 0, 0, 1, 17, 51, 17, 51, 17, 51, 17, 1,200, 80,160, 80,253,150, 4,176, 5, +130,250,126,251, 80, 0, 0, 0, 0, 1,255,236, 1,154, 4,229, 2,242, 0, 7, 0, 0, 3, 17, 33, 21, 33, 21, 33, 21, 20, 2, +144, 2,105,253,151, 1,154, 1, 88, 86,172, 86, 0, 1, 1,200,253,150, 3, 8, 7,200, 0, 7, 0, 0, 1, 17, 35, 17, 33, 17, + 35, 17, 2, 24, 80, 1, 64, 80,253,150, 4,176, 5,130,250,126,251, 80, 0, 0,255,255,255,236, 2, 20, 4,229, 6, 40, 16, 7, + 8,222, 0, 0, 4, 20, 0, 0, 0, 1,255,236,254, 0, 4,229,255, 5, 0, 3, 0, 0, 3, 17, 33, 17, 20, 4,249,254, 0, 1, + 5,254,251, 0, 0, 1,255,236,254, 0, 4,229, 0, 10, 0, 3, 0, 0, 3, 17, 33, 17, 20, 4,249,254, 0, 2, 10,253,246, 0, + 0, 1,255,236,254, 0, 4,229, 1, 15, 0, 3, 0, 0, 3, 17, 33, 17, 20, 4,249,254, 0, 3, 15,252,241, 0, 0, 1,255,236, +254, 0, 4,229, 2, 20, 0, 3, 0, 0, 3, 17, 33, 17, 20, 4,249,254, 0, 4, 20,251,236, 0, 0, 1,255,236,254, 0, 4,229, + 3, 25, 0, 3, 0, 0, 3, 17, 33, 17, 20, 4,249,254, 0, 5, 25,250,231, 0, 0, 1,255,236,254, 0, 4,229, 4, 30, 0, 3, + 0, 0, 3, 17, 33, 17, 20, 4,249,254, 0, 6, 30,249,226, 0, 0, 1,255,236,254, 0, 4,229, 5, 35, 0, 3, 0, 0, 3, 17, + 33, 17, 20, 4,249,254, 0, 7, 35,248,221, 0, 0, 1,255,236,254, 0, 4,229, 6, 40, 0, 3, 0, 0, 3, 17, 33, 17, 20, 4, +249,254, 0, 8, 40,247,216, 0, 0, 1,255,236,254, 0, 4, 70, 6, 40, 0, 3, 0, 0, 3, 17, 33, 17, 20, 4, 90,254, 0, 8, + 40,247,216, 0, 0, 1,255,236,254, 0, 3,167, 6, 40, 0, 3, 0, 0, 3, 17, 33, 17, 20, 3,186,254, 0, 8, 40,247,216, 0, + 0, 1,255,236,254, 0, 3, 8, 6, 40, 0, 3, 0, 0, 3, 17, 33, 17, 20, 3, 27,254, 0, 8, 40,247,216, 0, 0, 1,255,236, +254, 0, 2,104, 6, 40, 0, 3, 0, 0, 3, 17, 33, 17, 20, 2,124,254, 0, 8, 40,247,216, 0, 0, 1,255,236,254, 0, 1,201, + 6, 40, 0, 3, 0, 0, 3, 17, 33, 17, 20, 1,221,254, 0, 8, 40,247,216, 0, 0, 1,255,236,254, 0, 1, 42, 6, 40, 0, 3, + 0, 0, 3, 17, 33, 17, 20, 1, 62,254, 0, 8, 40,247,216, 0, 0, 1,255,236,254, 0, 0,139, 6, 40, 0, 3, 0, 0, 3, 17, + 51, 17, 20,158,254, 0, 8, 40,247,216, 0, 0,255,255, 2,105,254, 0, 4,229, 6, 40, 16, 7, 8,230, 2,125, 0, 0, 0, 0, + 0, 12,255,236,254, 0, 4, 70, 6, 40, 0, 3, 0, 7, 0, 11, 0, 15, 0, 19, 0, 23, 0, 27, 0, 31, 0, 35, 0, 39, 0, 43, + 0, 47, 0, 0, 1, 17, 51, 17, 33, 17, 51, 17, 19, 17, 51, 17, 33, 17, 51, 17, 1, 17, 51, 17, 33, 17, 51, 17, 19, 17, 51, 17, + 33, 17, 51, 17, 1, 17, 51, 17, 33, 17, 51, 17, 19, 17, 51, 17, 33, 17, 51, 17, 3,166,160,252,228,159,159,159,252,229,158, 3, + 28,160,252,228,159,159,159,252,229,158, 3, 28,160,252,228,159,159,159,252,229,158,254, 0, 1, 5,254,251, 1, 5,254,251, 1, +109, 1, 5,254,251, 1, 5,254,251, 1,110, 1, 5,254,251, 1, 5,254,251, 1,109, 1, 5,254,251, 1, 5,254,251, 1,110, 1, + 5,254,251, 1, 5,254,251, 1,109, 1, 5,254,251, 1, 5,254,251, 0, 0, 0, 0, 20,255,236,254, 0, 4,229, 6, 40, 0, 3, + 0, 7, 0, 11, 0, 15, 0, 19, 0, 23, 0, 27, 0, 31, 0, 39, 0, 47, 0, 55, 0, 63, 0, 71, 0, 79, 0, 87, 0, 95, 0,103, + 0,111, 0,119, 0,127, 0, 0, 23, 51, 17, 35, 25, 1, 35, 17, 19, 17, 51, 17, 3, 17, 35, 17, 19, 17, 51, 17, 3, 17, 35, 17, + 19, 17, 51, 17, 3, 17, 35, 17, 1, 59, 1, 17, 35, 25, 1, 35, 17, 59, 1, 17, 35, 25, 1, 35, 17, 59, 1, 17, 35, 25, 1, 35, + 17, 59, 1, 17, 35, 25, 1, 35, 1, 59, 1, 17, 35, 25, 1, 35, 17, 59, 1, 17, 35, 25, 1, 35, 17, 59, 1, 17, 35, 25, 1, 35, + 17, 59, 1, 17, 35, 25, 1, 35, 1, 59, 1, 17, 35, 25, 1, 35, 17, 59, 1, 17, 35, 25, 1, 35, 17, 59, 1, 17, 35, 25, 1, 35, + 17, 59, 1, 17, 35, 25, 1, 35,138,160,160,158,158,160,160,158,158,160,160,158,158,160,160,158, 1, 62,159,159,159,159,159,159, +159,159,159,159,159,159,159,159,159,159, 1, 62,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159, 1, 62,160,159, +159,160,160,159,159,160,160,159,159,160,160,159,159,160,251,254,251, 1, 5, 1, 5,254,251, 1, 5, 1, 5,254,251, 1, 5, 1, + 5,254,251, 1, 5, 1, 5,254,251, 1, 5, 1, 5,254,251, 1, 5, 1, 5,254,251, 1, 5, 1, 5,254,251,249,226,254,251, 1, + 5, 1, 5, 1, 5,254,251, 1, 5, 1, 5, 1, 5,254,251, 1, 5, 1, 5, 1, 5,254,251, 1, 5, 1, 5,248,221,254,251, 1, + 5, 1, 5, 1, 5,254,251, 1, 5, 1, 5, 1, 5,254,251, 1, 5, 1, 5, 1, 5,254,251, 1, 5, 1, 5,248,221,254,251, 1, + 5, 1, 5, 1, 5,254,251, 1, 5, 1, 5, 1, 5,254,251, 1, 5, 1, 5, 1, 5,254,251, 1, 5, 1, 5, 0, 0, 7,255,236, +254, 0, 4,229, 6, 40, 0, 25, 0, 29, 0, 33, 0, 37, 0, 41, 0, 45, 0, 49, 0, 0, 3, 17, 51, 17, 35, 17, 51, 17, 35, 17, + 51, 17, 33, 17, 51, 17, 33, 17, 35, 17, 35, 17, 33, 17, 35, 25, 1, 51, 17, 35, 1, 51, 17, 35, 1, 51, 17, 35, 1, 51, 17, 35, + 1, 51, 17, 35, 1, 51, 17, 35, 20,158,158,158,158,158, 1,222,159, 1,222,159,160,254, 35,159,159,159, 2,124,160,160,254,194, +159,159,254,194,159,159, 2,124,160,160,254,194,159,159,254, 0, 1,109, 1, 5, 1,214, 1, 5, 1,214, 1, 5,254,251, 1, 5, +247,216, 1, 5,254,251, 1, 5,254,251, 5,182, 1, 5,254,251, 1, 5,253,141, 1, 5,253,142, 1, 5,254,251, 1, 5,253,141, + 1, 5, 0, 0,255,255,255,236, 5, 35, 4,229, 6, 40, 16, 7, 8,219, 0, 0, 7, 35, 0, 0,255,255, 4, 69,254, 0, 4,228, + 6, 40, 16, 7, 8,233, 4, 90, 0, 0, 0, 0, 0, 1,255,236,254, 0, 2,104, 2, 20, 0, 3, 0, 0, 3, 17, 33, 17, 20, 2, +124,254, 0, 4, 20,251,236, 0,255,255, 2,105,254, 0, 4,229, 2, 20, 16, 7, 8,240, 2,125, 0, 0, 0, 0,255,255,255,236, + 2, 20, 2,104, 6, 40, 16, 7, 8,240, 0, 0, 4, 20, 0, 0,255,255,255,236,254, 0, 4,229, 6, 40, 16, 38, 8,240, 0, 0, + 16, 38, 8,241, 0, 0, 16, 6, 8,242, 0, 0,255,255,255,236,254, 0, 4,229, 6, 40, 16, 38, 8,241, 0, 0, 16, 6, 8,242, + 0, 0, 0, 0,255,255,255,236,254, 0, 4,229, 6, 40, 16, 38, 8,240, 0, 0, 16, 38, 8,242, 0, 0, 16, 6, 8,247, 0, 0, +255,255,255,236,254, 0, 4,229, 6, 40, 16, 38, 8,241, 0, 0, 16, 38, 8,242, 0, 0, 16, 6, 8,247, 0, 0,255,255, 2,105, + 2, 20, 4,229, 6, 40, 16, 7, 8,240, 2,125, 4, 20, 0, 0,255,255,255,236,254, 0, 4,229, 6, 40, 16, 38, 8,240, 0, 0, + 16, 6, 8,247, 0, 0, 0, 0,255,255,255,236,254, 0, 4,229, 6, 40, 16, 38, 8,240, 0, 0, 16, 38, 8,241, 0, 0, 16, 6, + 8,247, 0, 0, 0, 1, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 0, 23, 17, 33, 17, 6, 4,197, 78, 4,196,251, 60, 0, 0, + 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 0, 55, 33, 17, 33, 3, 17, 33, 17,120, 3,225,252, 31,114, 4,197, + 36, 3,224,251,174, 4,196,251, 60, 0, 0, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 11, 0, 23, 0, 0, 19, 20, 51, 33, + 50, 53, 17, 52, 35, 33, 34, 21, 3, 17, 16, 41, 1, 32, 25, 1, 16, 41, 1, 32,120,228, 2, 25,228,228,253,231,228,114, 1, 86, + 2, 25, 1, 86,254,170,253,231,254,170, 1, 8,228,228, 2, 24,228,228,253,232, 2, 24, 1, 86,254,170,253,232,254,170, 0, 0, +255,255, 0, 6,255,177, 4,203, 4,119, 16, 38, 9, 4, 0, 0, 16, 6, 8,251, 0, 0, 0, 0, 0, 6, 0, 6,255,177, 4,203, + 4,119, 0, 3, 0, 7, 0, 11, 0, 15, 0, 19, 0, 23, 0, 0, 23, 17, 33, 17, 37, 33, 53, 33, 53, 33, 53, 33, 53, 33, 53, 33, + 53, 33, 53, 33, 53, 33, 53, 33, 6, 4,197,251,173, 3,225,252, 31, 3,225,252, 31, 3,225,252, 31, 3,225,252, 31, 3,225,252, + 31, 78, 4,196,251, 60,114,110,114,106,114,107,114,107,114,106, 0, 6, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 11, + 0, 15, 0, 19, 0, 23, 0, 0, 23, 17, 33, 17, 39, 51, 17, 35, 3, 51, 17, 35, 3, 51, 17, 35, 3, 51, 17, 35, 3, 51, 17, 35, + 6, 4,197,225,110,110,220,106,106,220,106,106,222,108,108,220,106,106, 78, 4,196,251, 60,114, 3,224,252, 32, 3,224,252, 32, + 3,224,252, 32, 3,224,252, 32, 3,224, 0, 0, 0, 26, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 11, 0, 15, 0, 19, + 0, 23, 0, 27, 0, 31, 0, 35, 0, 39, 0, 43, 0, 47, 0, 51, 0, 55, 0, 59, 0, 63, 0, 67, 0, 71, 0, 75, 0, 79, 0, 83, + 0, 87, 0, 91, 0, 95, 0, 99, 0,103, 0, 0, 19, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, + 19, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, 19, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, + 17, 51, 53, 35, 17, 51, 53, 35, 19, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, 19, 51, 53, 35, + 17, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, 17, 51, 53, 35, 5, 17, 33, 17,120,106,106,106,106,106,106,106,106,106,106,220, +108,108,108,108,108,108,108,108,108,108,222,106,106,106,106,106,106,106,106,106,106,220,106,106,106,106,106,106,106,106,106,106, +220,110,110,110,110,110,110,110,110,110,110,252, 28, 4,197, 3,154,106,254,185,107,254,184,107,254,185,106,254,182,110, 3, 8, +106,254,185,107,254,184,107,254,185,106,254,182,110, 3, 8,106,254,185,107,254,184,107,254,185,106,254,182,110, 3, 8,106,254, +185,107,254,184,107,254,185,106,254,182,110, 3, 8,106,254,185,107,254,184,107,254,185,106,254,182,110,224, 4,196,251, 60, 0, + 0, 8, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 11, 0, 17, 0, 21, 0, 25, 0, 28, 0, 31, 0, 0, 23, 17, 33, 17, + 1, 21, 1, 51, 1, 21, 1, 55, 1, 21, 1, 51, 53, 1, 51, 1, 53, 1, 51, 1, 53, 1, 51, 23, 53, 1, 21, 51, 6, 4,197,251, +173, 1, 52,138,254, 66, 2, 96,149,253, 11, 3,151, 74,252,108,161, 2,243,253,164,162, 1,186,254,208,162,142,252, 31,146, 78, + 4,196,251, 60, 2, 48,139,254,205, 2,245,150,253,160, 1, 3,224, 74,252,106, 76, 3,148,253, 14,151, 2, 91,254, 70,139, 1, + 47,142,142,252,178,146, 0, 0, 0, 8, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 11, 0, 17, 0, 21, 0, 25, 0, 28, + 0, 31, 0, 0, 23, 17, 33, 17, 37, 51, 1, 53, 1, 23, 1, 53, 1, 51, 1, 53, 35, 1, 53, 1, 35, 1, 53, 1, 35, 1, 53, 55, + 35, 1, 51, 53, 6, 4,197,253,208,138, 1, 52,253, 11,149, 2, 96,252, 31, 74, 3,151, 77,252,108, 2,243,151,253,164, 1,186, +138,254,208,142,142, 3, 79,146, 78, 4,196,251, 60,114, 1, 51,139,254, 66, 1, 2, 96,150,253, 11, 3,150, 74,252,108,162, 2, +242,253,165,161, 1,186,254,209,161,142,252, 32,146, 0, 0, 0, 0, 26, 0, 6,255,177, 4,203, 4,119, 0, 4, 0, 9, 0, 14, + 0, 19, 0, 23, 0, 28, 0, 33, 0, 37, 0, 41, 0, 45, 0, 50, 0, 55, 0, 59, 0, 63, 0, 67, 0, 71, 0, 75, 0, 80, 0, 84, + 0, 88, 0, 92, 0, 97, 0,102, 0,106, 0,111, 0,115, 0, 0, 37, 23, 51, 53, 39, 1, 23, 55, 39, 35, 17, 23, 55, 39, 7, 1, + 23, 55, 39, 35, 7, 23, 55, 39, 3, 23, 55, 39, 7, 1, 23, 55, 39, 35, 7, 23, 55, 39, 7, 23, 55, 39, 7, 23, 55, 39, 3, 51, + 55, 39, 7, 1, 23, 55, 53, 35, 7, 23, 55, 39, 7, 23, 55, 39, 7, 23, 55, 39, 7, 23, 55, 39, 7, 23, 55, 39, 1, 23, 55, 53, + 39, 7, 23, 55, 39, 7, 23, 55, 39, 7, 23, 55, 39, 7, 23, 51, 55, 39, 37, 23, 55, 53, 39, 7, 23, 55, 39, 7, 23, 51, 55, 39, + 5, 17, 33, 17, 3,235, 36, 74, 35,252, 66, 34, 76, 33, 77, 28, 76, 70, 34, 1, 15, 69, 76, 27, 85,189, 69, 76, 70,190, 35, 69, + 75, 29, 2, 65, 76, 69, 33, 85,183, 75, 76, 76,231, 75, 76, 76,231, 76, 75, 76,184, 74, 36, 75, 35, 3,116, 75, 34, 77,182, 75, + 69, 75,226, 76, 75, 75,232, 75, 76, 76,230, 75, 75, 76,224, 75, 69, 75, 2,193, 74, 29, 34,226, 75, 76, 75,232, 75, 76, 76,230, + 74, 76, 76,224, 36, 78, 30, 75, 2, 36, 69, 35, 29,231, 69, 75, 69,231, 30, 78, 36, 69,253, 2, 4,197, 72, 36, 76, 35, 3, 39, + 34, 76, 32,254,127, 29, 76, 69, 34, 1, 14, 69, 76, 26,189, 69, 76, 69,253,196, 34, 69, 75, 28, 2, 65, 76, 69, 33,183, 75, 75, + 76,232, 75, 75, 76,231, 76, 75, 76,253,195, 36, 75, 35, 3,116, 76, 34, 74,182, 76, 69, 76,226, 75, 75, 76,232, 75, 75, 75,230, + 76, 75, 75,224, 75, 69, 75, 1,137, 76, 29, 82, 34,226, 75, 76, 75,232, 75, 76, 74,230, 76, 76, 74,224, 36, 30, 75,237, 69, 34, + 82, 28,231, 69, 75, 69,231, 30, 36, 69,219, 4,196,251, 60, 0, 0, 1, 0,219, 0,135, 3,245, 3,161, 0, 3, 0, 0, 55, 17, + 33, 17,219, 3, 26,135, 3, 26,252,230, 0, 0, 0, 2, 0,219, 0,135, 3,245, 3,161, 0, 3, 0, 7, 0, 0, 37, 33, 17, 33, + 3, 17, 33, 17, 1, 77, 2, 54,253,202,114, 3, 26,249, 2, 54,253, 88, 3, 26,252,230, 0, 0, 0, 1, 0, 6, 0,240, 4,203, + 3, 56, 0, 3, 0, 0, 37, 33, 17, 33, 4,203,251, 59, 4,197,240, 2, 72, 0, 0, 2, 0, 6, 0,240, 4,203, 3, 56, 0, 3, + 0, 7, 0, 0, 1, 17, 33, 17, 5, 33, 17, 33, 4, 89,252, 31, 4, 83,251, 59, 4,197, 1, 98, 1,100,254,156,114, 2, 72, 0, + 0, 1, 1, 68,255,177, 3,141, 4,119, 0, 3, 0, 0, 5, 17, 33, 17, 1, 68, 2, 72, 78, 4,196,251, 60, 0, 0, 2, 1, 68, +255,177, 3,141, 4,119, 0, 3, 0, 7, 0, 0, 37, 33, 17, 33, 3, 17, 33, 17, 1,182, 1,100,254,156,114, 2, 72, 36, 3,224, +251,174, 4,196,251, 60, 0, 0, 0, 1, 0, 6, 0,240, 4,203, 3, 56, 0, 3, 0, 0, 37, 33, 1, 33, 3,151,252,111, 1, 52, + 3,145,240, 2, 72, 0, 0, 0, 0, 2, 0, 6, 0,240, 4,203, 3, 56, 0, 3, 0, 7, 0, 0, 1, 19, 33, 3, 5, 33, 1, 33, + 3, 97,188,253, 83,188, 2,227,252,111, 1, 52, 3,145, 1, 98, 1,100,254,156,114, 2, 72, 0, 0, 1, 0, 6,255,177, 4,203, + 4,119, 0, 2, 0, 0, 23, 9, 1, 6, 2, 98, 2, 99, 78, 4,196,251, 60, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, + 0, 5, 0, 0, 55, 33, 9, 3,177, 3,111,254, 72,253,158, 2, 98, 2, 99, 36, 3,110,252, 32, 4,196,251, 60, 0, 1, 0,219, + 0,135, 3,245, 3,161, 0, 2, 0, 0, 55, 9, 1,219, 1,141, 1,141,135, 3, 26,252,230, 0, 0, 2, 0,219, 0,135, 3,245, + 3,161, 0, 2, 0, 5, 0, 0, 37, 33, 3, 9, 2, 1,134, 1,196,226,254,115, 1,141, 1,141,249, 1,196,253,202, 3, 26,252, +230, 0, 0, 0, 0, 1, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 0, 23, 17, 1, 6, 4,197, 78, 4,196,253,158, 0, 0, 0, + 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 5, 0, 0, 55, 9, 1, 3, 17, 1,120, 3,111,252,145,114, 4,197, 92, 1, +184, 1,184,251,230, 4,196,253,158, 0, 0, 0, 0, 1, 0,219, 0,135, 3,245, 3,161, 0, 2, 0, 0, 55, 17, 1,219, 3, 26, +135, 3, 26,254,115, 0, 0, 0, 0, 2, 0,219, 0,135, 3,245, 3,161, 0, 2, 0, 5, 0, 0, 1, 45, 1, 3, 17, 1, 1, 77, + 1,196,254, 60,114, 3, 26, 1, 50,226,226,253,145, 3, 26,254,115, 0, 0, 0, 0, 1, 0, 6, 0,135, 4,203, 3,161, 0, 2, + 0, 0, 55, 17, 1, 6, 4,197,135, 3, 26,254,115, 0, 0, 0, 0, 2, 0, 6, 0,135, 4,203, 3,161, 0, 2, 0, 5, 0, 0, + 19, 45, 1, 3, 17, 1,120, 3, 54,252,202,114, 4,197, 1, 50,226,226,253,145, 3, 26,254,115, 0, 1, 0, 6,255,177, 4,203, + 4,119, 0, 2, 0, 0, 5, 1, 33, 2,104,253,158, 4,197, 78, 4,196, 0, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, + 0, 5, 0, 0, 37, 1, 33, 9, 1, 33, 2,104, 1,149,252,215, 1,148,253,158, 4,197,205, 3, 40,251,189, 4,196, 0, 0, 0, + 0, 1, 0,219, 0,135, 3,245, 3,161, 0, 2, 0, 0, 37, 1, 33, 2,104,254,115, 3, 26,135, 3, 26, 0, 0, 0, 2, 0,219, + 0,135, 3,245, 3,161, 0, 2, 0, 5, 0, 0, 1, 19, 33, 19, 1, 33, 2,104,226,254, 60,226,254,115, 3, 26, 1,107, 1,196, +253, 88, 3, 26, 0, 1, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 0, 19, 1, 17, 6, 4,197, 2, 20, 2, 98,251, 60, 0, 0, + 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 5, 0, 0, 19, 1, 17, 9, 1, 17,234, 3,111,251,173, 4,197, 2, 20,254, + 72, 3,112,254, 72, 2, 98,251, 60, 0, 0, 0, 0, 1, 0,219, 0,135, 3,245, 3,161, 0, 2, 0, 0, 19, 1, 17,219, 3, 26, + 2, 20, 1,141,252,230, 0, 0, 0, 2, 0,219, 0,135, 3,245, 3,161, 0, 2, 0, 5, 0, 0, 1, 5, 17, 5, 1, 17, 1,191, + 1,196,253, 88, 3, 26, 2, 20,226, 1,196,226, 1,141,252,230, 0, 1, 0, 6, 0,135, 4,203, 3,161, 0, 2, 0, 0, 19, 1, + 17, 6, 4,197, 2, 20, 1,141,252,230, 0, 0, 0, 2, 0, 6, 0,135, 4,203, 3,161, 0, 2, 0, 5, 0, 0, 1, 5, 17, 5, + 1, 17, 1, 35, 3, 54,251,173, 4,197, 2, 20,226, 1,196,226, 1,141,252,230, 0, 1, 0, 6,255,177, 4,203, 4,119, 0, 3, + 0, 0, 19, 9, 2, 6, 2, 98, 2, 99,253,157, 2, 20, 2, 98,253,158,253,158, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 3, + 0, 7, 0, 0, 19, 9, 6,195, 1,165, 1,166,254, 90,253,158, 2, 98, 2, 99,253,157, 2, 20,254, 90, 1,166, 1,166,254, 90, + 2, 98,253,158,253,158, 0, 0, 0, 3, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 11, 0, 0, 19, 9, 10,250, 1,110, + 1,110,254,146,254, 54, 1,202, 1,203,254, 53,253,158, 2, 98, 2, 99,253,157, 2, 20, 1,110,254,146,254,146, 1,110,254, 54, + 1,202, 1,202,254, 54, 2, 98,253,158,253,158, 0, 3, 0, 6,255,172, 4,203, 4,124, 0, 13, 0, 27, 0, 41, 0, 0, 18, 16, + 55, 54, 51, 50, 23, 22, 16, 7, 6, 35, 34, 39, 0, 16, 23, 22, 51, 50, 55, 54, 16, 39, 38, 35, 34, 7, 0, 16, 37, 54, 51, 50, + 23, 4, 16, 5, 6, 35, 34, 39,220,198, 99, 99, 99, 99,199,199, 99, 99, 99, 99,254,222,244,122,122,122,122,245,245,122,122,122, +122,254,146, 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152, 1, 47, 1,202,114, 57, 57,114,254, 54,114, 57, 57, 2,113, +253,204,140, 71, 71,141, 2, 50,141, 71, 71,252,250, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 0, 2, 0,117,254, 35, 4, 92, + 6,117, 0, 3, 0, 7, 0, 34, 64, 17, 2, 6, 0, 8, 4, 6, 8, 6, 4, 3, 2, 1, 0, 6, 5, 7, 8, 16,212,204, 23, 57, + 49, 0, 16,212,204, 17, 57, 18, 57, 48, 9, 7, 2,104,254,127, 1,129, 1,129,254,127, 1,244,254, 12,254, 13, 5,129,252,207, +252,199, 3, 57, 4, 37,251,219,251,211, 4, 45, 0, 2, 0, 6,255,172, 4,203, 4,124, 0, 13, 0, 27, 0, 0, 18, 16, 23, 22, + 51, 50, 55, 54, 16, 39, 38, 35, 34, 7, 0, 16, 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39,128,244,122,122,122,122,245,245, +122,122,122,122,254,146, 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152, 3, 46,253,204,140, 71, 71,141, 2, 50,141, 71, + 71,252,250, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 0, 0, 0, 8, 0, 6,255,172, 4,203, 4,124, 0, 9, 0, 19, 0, 29, + 0, 39, 0, 47, 0, 55, 0, 63, 0, 71, 0, 0, 55, 22, 23, 22, 23, 7, 38, 39, 38, 39, 5, 54, 55, 54, 55, 23, 6, 7, 6, 7, + 19, 38, 39, 38, 39, 55, 22, 23, 22, 23, 37, 6, 7, 6, 7, 39, 54, 55, 54, 55, 19, 22, 50, 55, 23, 6, 34, 39, 1, 54, 52, 39, + 55, 22, 20, 7, 1, 38, 34, 7, 39, 54, 50, 23, 1, 6, 20, 23, 7, 38, 52, 55,212, 34, 46, 36, 44, 61, 55, 45, 58, 42, 2,237, + 44, 36, 41, 39,101, 49, 51, 45, 55, 99, 34, 46, 36, 44, 61, 55, 45, 58, 42,253, 19, 44, 36, 46, 34,101, 42, 58, 45, 55,185, 60, +120, 60, 30, 75,150, 75, 2,114, 13, 13,119, 16, 16,254, 37, 60,120, 60, 30, 75,150, 75,253,143, 13, 13,119, 16, 16,250, 47, 38, + 30, 25,106, 32, 37, 48, 58, 69, 25, 30, 34, 51, 70, 65, 42, 37, 32, 3, 42, 47, 38, 30, 25,106, 32, 37, 48, 58, 69, 25, 30, 38, + 47, 71, 58, 48, 37, 32,252, 20, 17, 17,119, 21, 21, 1,219, 57,126, 57, 30, 71,158, 71, 2,114, 17, 17,119, 21, 21,254, 37, 57, +126, 57, 30, 71,158, 71, 0, 0, 0, 6, 0, 6,255,172, 4,203, 4,124, 0, 13, 0, 23, 0, 27, 0, 37, 0, 47, 0, 51, 0, 0, + 54, 16, 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39, 19, 17, 22, 23, 22, 23, 17, 6, 7, 6, 7, 6, 16, 23, 1, 17, 22, 51, + 50, 55, 17, 38, 35, 34, 23, 17, 54, 55, 54, 55, 17, 38, 39, 38, 23, 17, 54, 16, 6, 1, 49,152,153,152,153, 1, 50,254,206,153, +152,153,152, 29, 15, 17, 38, 38, 38, 38, 17,129, 98, 98, 1, 80, 27, 27, 26, 26, 26, 26, 27,193, 39, 39, 14, 14, 14, 14, 39,181, +103,180, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 3,163,252,218, 10, 9, 22, 15, 3,150, 15, 22, 9,113,122,254,156,122, 3, + 21,252, 46, 4, 3, 3,212, 3, 33,252,104, 15, 23, 8, 9, 3, 42, 9, 8, 23,139,253,156,124, 1,108, 0, 0, 0, 4, 0, 6, +255,172, 4,203, 4,124, 0, 13, 0, 27, 0, 41, 0, 55, 0, 0, 0, 20, 23, 22, 51, 50, 55, 54, 52, 39, 38, 35, 34, 7, 2, 16, + 55, 54, 51, 50, 23, 22, 16, 7, 6, 35, 34, 39, 0, 16, 23, 22, 51, 50, 55, 54, 16, 39, 38, 35, 34, 7, 0, 16, 37, 54, 51, 50, + 23, 4, 16, 5, 6, 35, 34, 39, 1,226, 67, 34, 33, 34, 33, 68, 68, 33, 34, 33, 34,177,122, 61, 61, 61, 61,123,123, 61, 61, 61, + 61,254,146,244,122,122,122,122,245,245,122,122,122,122,254,146, 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152, 2, 97, +154, 39, 20, 20, 39,154, 39, 20, 20,254,255, 1, 26, 70, 35, 35, 70,254,230, 70, 35, 35, 1,237,253,204,140, 71, 71,141, 2, 50, +141, 71, 71,252,250, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 0, 1, 0, 6,255,172, 4,203, 4,124, 0, 13, 0, 0, 54, 16, + 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39, 6, 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152,180, 2,192,176, 88, + 88,176,253, 64,176, 88, 88, 0, 0, 2, 0, 6,255,172, 4,203, 4,124, 0, 7, 0, 21, 0, 0, 37, 50, 55, 54, 16, 39, 38, 35, + 0, 16, 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39, 2,104,122,122,245,245,122,122,253,158, 1, 49,152,153,152,153, 1, 50, +254,206,153,152,153,152, 39, 71,141, 2, 50,141, 71,252,179, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 0, 0, 0, 2, 0, 6, +255,172, 4,203, 4,124, 0, 7, 0, 21, 0, 0, 1, 34, 7, 6, 16, 23, 22, 51, 36, 16, 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, + 34, 39, 2,104,122,122,244,244,122,122,253,158, 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152, 4, 1, 71,140,253,204, +140, 71,141, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 0, 0, 0, 2, 0, 6,255,172, 4,203, 4,124, 0, 8, 0, 22, 0, 0, + 1, 16, 39, 38, 35, 34, 7, 6, 17, 2, 16, 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39, 4, 81,245,122,122,122,122,244,122, + 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152, 2, 20, 1, 25,141, 71, 71,140,254,230,254,160, 2,192,176, 88, 88,176, +253, 64,176, 88, 88, 0, 0, 0, 0, 2, 0, 6,255,172, 4,203, 4,124, 0, 8, 0, 22, 0, 0, 19, 16, 23, 22, 51, 50, 55, 54, + 17, 0, 16, 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39,128,244,122,122,122,122,245,251,181, 1, 49,152,153,152,153, 1, 50, +254,206,153,152,153,152, 2, 20,254,230,140, 71, 71,141, 1, 25,254,160, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 0, 0, 0, + 0, 2, 0, 6,255,172, 4,203, 4,124, 0, 12, 0, 26, 0, 0, 1, 34, 7, 6, 16, 23, 22, 51, 50, 55, 54, 17, 33, 0, 16, 37, + 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39, 2,104,122,122,244,244,122,122,122,122,245,254, 23,253,158, 1, 49,152,153,152,153, + 1, 50,254,206,153,152,153,152, 4, 1, 71,140,253,204,140, 71, 71,141, 1, 25,254,160, 2,192,176, 88, 88,176,253, 64,176, 88, + 88, 0, 0, 0, 0, 2, 0, 6,255,172, 4,203, 4,124, 0, 5, 0, 19, 0, 0, 1, 34, 7, 6, 17, 33, 0, 16, 37, 54, 51, 50, + 23, 4, 16, 5, 6, 35, 34, 39, 2,104,122,122,244, 1,232,253,158, 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152, 4, + 1, 71,140,254,230,254,160, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 0, 0, 0, 1, 1, 55,255,172, 3,154, 4,124, 0, 7, + 0, 0, 5, 34, 39, 36, 16, 37, 54, 51, 3,154,154,152,254,208, 1, 48,152,154, 84, 88,176, 2,192,176, 88, 0, 0, 1, 1, 55, +255,172, 3,154, 4,124, 0, 7, 0, 0, 1, 50, 23, 4, 16, 5, 6, 35, 1, 56,150,154, 1, 50,254,206,154,150, 4,124, 88,176, +253, 64,174, 90, 0, 2,255,236,255,236, 4,229, 6, 40, 0, 11, 0, 15, 0, 0, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, + 1, 17, 33, 17, 1, 63,171,124,125,174,173,124,125,172,254,173, 4,249, 2,250,126,171,173,124,123,172,171,252,118, 6, 60,249, +196, 0, 0, 0, 0, 3,255,236,254, 0, 4,229, 6, 40, 0, 13, 0, 27, 0, 31, 0, 0, 54, 16, 55, 54, 51, 50, 23, 22, 16, 7, + 6, 35, 34, 39, 0, 16, 5, 22, 51, 50, 55, 36, 16, 37, 38, 35, 34, 7, 1, 17, 33, 17,128,244,122,122,122,122,245,245,122,122, +122,122,254,146, 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152,254,181, 4,249,250, 2, 52,140, 71, 71,141,253,206,141, + 71, 71, 3, 6,253, 64,176, 88, 88,176, 2,192,176, 88, 88,249,220, 8, 40,247,216, 0, 0, 0, 0, 2,255,236, 2, 20, 4,229, + 6, 40, 0, 12, 0, 21, 0, 0, 3, 17, 33, 17, 35, 16, 37, 38, 35, 34, 7, 4, 17, 41, 1, 16, 55, 54, 51, 50, 23, 22, 20, 4, +249, 26,254,206,153,152,153,152,254,207, 4, 75,252, 47,244,122,122,122,122,245, 2, 20, 4, 20,251,236, 1, 96,176, 88, 88,176, +254,160, 1, 25,141, 71, 71,141, 0, 2,255,236,254, 0, 4,229, 2, 20, 0, 12, 0, 21, 0, 0, 3, 17, 51, 16, 5, 22, 51, 50, + 55, 36, 17, 51, 17, 1, 33, 16, 7, 6, 35, 34, 39, 38, 20, 26, 1, 49,152,153,152,153, 1, 50, 26,251,155, 3,209,245,122,122, +122,122,244,254, 0, 4, 20,254,160,176, 88, 88,176, 1, 96,251,236, 4, 20,254,231,141, 71, 71,141, 0, 0, 0, 0, 1, 1, 55, + 2, 20, 3,154, 4,124, 0, 9, 0, 0, 1, 16, 37, 54, 51, 23, 34, 7, 6, 17, 1, 55, 1, 49,152,153, 1,123,121,244, 2, 20, + 1, 96,176, 88,123, 71,140,254,230, 0, 0, 0, 0, 1, 1, 55, 2, 20, 3,154, 4,124, 0, 9, 0, 0, 1, 50, 23, 4, 17, 35, + 16, 39, 38, 35, 1, 56,150,154, 1, 50,123,244,123,120, 4,124, 88,176,254,160, 1, 25,141, 71, 0, 1, 1, 55,255,172, 3,154, + 2, 20, 0, 9, 0, 0, 5, 53, 50, 55, 54, 17, 51, 16, 5, 6, 1, 56,120,123,244,123,254,206,154, 84,123, 71,141, 1, 25,254, +160,174, 90, 0, 0, 1, 1, 55,255,172, 3,154, 2, 20, 0, 9, 0, 0, 5, 34, 39, 36, 17, 51, 16, 23, 22, 51, 3,153,153,152, +254,207,123,244,121,123, 84, 88,176, 1, 96,254,230,140, 71, 0, 0, 1, 0, 6, 2, 20, 4,203, 4,124, 0, 17, 0, 0, 19, 16, + 37, 54, 51, 50, 23, 4, 17, 35, 16, 39, 38, 35, 34, 7, 6, 17, 6, 1, 49,152,153,152,153, 1, 50,122,245,122,122,122,122,244, + 2, 20, 1, 96,176, 88, 88,176,254,160, 1, 25,141, 71, 71,140,254,230, 0, 0, 0, 1, 0, 6,255,172, 4,203, 2, 20, 0, 18, + 0, 0, 19, 48, 51, 16, 23, 22, 51, 50, 55, 54, 17, 51, 16, 5, 6, 35, 34, 39, 36, 6,122,244,122,122,122,122,245,122,254,206, +153,152,153,152,254,207, 2, 20,254,230,140, 71, 71,141, 1, 25,254,160,176, 88, 88,176, 0, 0, 0, 1, 0, 6,255,177, 4,203, + 4,119, 0, 2, 0, 0, 23, 1, 17, 6, 4,197, 78, 4,196,251, 60, 0, 0, 0, 0, 1, 0, 6,255,177, 4,203, 4,119, 0, 2, + 0, 0, 23, 17, 1, 6, 4,197, 78, 4,196,251, 60, 0, 0, 0, 0, 1, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 0, 23, 17, + 33, 6, 4,197, 78, 4,196, 0, 0, 1, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 0, 19, 33, 17, 6, 4,197, 4,118,251, 60, + 0, 2, 1, 63, 1,209, 3,145, 4, 33, 0, 11, 0, 23, 0, 0, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 7, 52, 54, 51, + 50, 22, 21, 20, 6, 35, 34, 38, 1,122,137, 99,100,140,139, 99,100,138, 59,172,125,124,173,174,125,124,171, 2,250,101,137,139, + 99, 98,138,137, 99,124,171,172,123,124,173,171, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 0, 37, 33, 17, 33, + 1, 17, 33, 17, 2,104, 1,240,254, 16,253,158, 4,197, 36, 3,224,251,174, 4,196,251, 60, 0, 0, 2, 0, 6,255,177, 4,203, + 4,119, 0, 3, 0, 7, 0, 0, 55, 33, 17, 33, 3, 17, 33, 17,120, 1,240,254, 16,114, 4,197, 36, 3,224,251,174, 4,196,251, + 60, 0, 0, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 6, 0, 0, 55, 33, 17, 1, 17, 33, 17,120, 3,224,251,174, + 4,197, 36, 3,224,251,174, 4,196,251, 60, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 6, 0, 0, 55, 1, 33, 3, + 17, 33, 17,120, 3,225,252, 31,114, 4,197, 36, 3,224,251,174, 4,196,251, 60, 0, 3, 0, 6,255,177, 4,203, 4,119, 0, 3, + 0, 7, 0, 11, 0, 0, 37, 33, 17, 33, 1, 33, 17, 33, 3, 17, 33, 17, 2,161, 1,183,254, 73,253,215, 1,183,254, 73,114, 4, +197, 36, 3,224,252, 32, 3,224,251,174, 4,196,251, 60, 0, 0, 0, 3, 0, 6,255,177, 4,203, 4,119, 0, 11, 0, 14, 0, 17, + 0, 0, 1, 52, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 1, 33, 9, 3, 1,226, 78, 56, 56, 78, 79, 56, 56, 77,254,207, 3,111, +254, 72,253,158, 2, 98, 2, 99, 1,106, 56, 77, 77, 56, 55, 78, 77,254,242, 3,110,252, 32, 4,196,251, 60, 0, 0, 2, 0, 6, +255,177, 4,203, 4,119, 0, 2, 0, 5, 0, 0, 37, 33, 9, 3, 2,104, 1,184,254, 72,253,158, 2, 98, 2, 99, 36, 3,110,252, + 32, 4,196,251, 60, 0, 0, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 5, 0, 0, 55, 33, 17, 9, 2,177, 1,183, +253,158, 2, 98, 2, 99, 36, 3,110,252, 32, 4,196,251, 60, 0, 0, 2,255,236,255,146, 4,229, 4,150, 0, 13, 0, 27, 0, 0, + 18, 16, 5, 22, 51, 50, 55, 36, 16, 39, 38, 35, 34, 7, 0, 16, 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39,107, 0,255,126, +128,127,128, 0,255,255,128,127,128,126,254,130, 1, 62,158,160,159,159, 1, 63,254,193,159,159,160,158, 3, 58,253,180,147, 73, + 73,147, 2, 76,147, 73, 73,252,216, 2,222,184, 91, 91,184,253, 34,184, 91, 91, 0, 3, 0, 6,255,177, 4,203, 4,119, 0, 3, + 0, 7, 0, 13, 0, 0, 23, 17, 33, 17, 1, 33, 17, 33, 17, 33, 17, 33, 17, 33, 6, 4,197,251,173, 1,183,254, 73, 3,224,254, + 73,253,215, 78, 4,196,251, 60, 2,154, 1,184,252, 32, 3,224,253,214, 0, 0, 0, 3, 0, 6,255,177, 4,203, 4,119, 0, 3, + 0, 7, 0, 13, 0, 0, 23, 17, 33, 17, 37, 33, 17, 33, 53, 33, 17, 33, 17, 33, 6, 4,197,251,173, 1,183,254, 73, 2, 41, 1, +183,252, 32, 78, 4,196,251, 60,114, 1,182,114,253,216, 3,224, 0, 3, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 13, + 0, 0, 23, 17, 33, 17, 37, 33, 17, 33, 1, 33, 17, 33, 17, 33, 6, 4,197,253,214, 1,183,254, 73,253,215, 1,183, 2, 41,252, + 32, 78, 4,196,251, 60,114, 1,182,254, 74, 2, 40, 1,184, 0, 0, 3, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 13, + 0, 0, 23, 17, 33, 17, 1, 33, 17, 33, 1, 33, 17, 33, 17, 33, 6, 4,197,253,214, 1,183,254, 73,253,215, 3,224,253,215,254, + 73, 78, 4,196,251, 60, 2,154, 1,184,252, 32, 1,182, 2, 42, 0, 3, 0, 6,255,172, 4,203, 4,124, 0, 13, 0, 19, 0, 32, + 0, 0, 54, 16, 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39, 19, 6, 7, 6, 7, 33, 5, 22, 23, 22, 51, 50, 55, 54, 16, 39, + 38, 39, 17, 6, 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152,248, 94, 93,219, 22, 1,172,254, 84, 23,218,122,122,122, +122,245,245, 94, 93,180, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 3,249, 13, 54,126,240,114,238,126, 71, 71,141, 2, 50,141, + 54, 13,253,221, 0, 3, 0, 6,255,172, 4,203, 4,124, 0, 13, 0, 26, 0, 32, 0, 0, 54, 16, 37, 54, 51, 50, 23, 4, 16, 5, + 6, 35, 34, 39, 37, 54, 55, 54, 16, 39, 38, 35, 34, 7, 6, 7, 33, 5, 22, 23, 22, 23, 17, 6, 1, 49,152,153,152,153, 1, 50, +254,206,153,152,153,152, 1,106, 93, 94,245,245,122,122,122,122,219, 22, 2, 30,253,226, 23,218, 93, 94,180, 2,192,176, 88, 88, +176,253, 64,176, 88, 88, 39, 13, 54,141, 2, 50,141, 71, 71,126,240,114,238,126, 54, 13, 1,175, 0, 3, 0, 6,255,172, 4,203, + 4,124, 0, 13, 0, 26, 0, 32, 0, 0, 54, 16, 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39, 2, 16, 23, 22, 23, 17, 33, 38, + 39, 38, 35, 34, 7, 1, 54, 55, 54, 55, 33, 6, 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152,183,244, 93, 94, 2, 31, + 22,220,122,122,122,122, 1, 45, 93, 94,219, 23,254, 83,180, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 3, 41,253,206,141, 54, + 13, 2, 33,240,126, 71, 71,252,113, 13, 54,126,238, 0, 0, 0, 0, 3, 0, 6,255,172, 4,203, 4,124, 0, 13, 0, 26, 0, 32, + 0, 0, 54, 16, 37, 54, 51, 50, 23, 4, 16, 5, 6, 35, 34, 39, 2, 16, 23, 22, 51, 50, 55, 54, 55, 33, 17, 6, 7, 1, 38, 39, + 38, 39, 17, 6, 1, 49,152,153,152,153, 1, 50,254,206,153,152,153,152,183,244,122,122,122,122,219, 23,253,225, 94, 93, 2,218, + 22,220, 94, 93,180, 2,192,176, 88, 88,176,253, 64,176, 88, 88, 3, 41,253,206,141, 71, 71,126,238, 2, 35, 13, 54,254,146,240, +126, 54, 13,254, 79, 0, 0, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 5, 0, 0, 55, 1, 33, 3, 17, 33,120, 3, + 54,252,202,114, 4,197,206, 3, 54,251,174, 4,196, 0, 0, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 5, 0, 0, + 9, 1, 17, 37, 33, 17, 1, 35, 3, 54,251,173, 4,197, 4, 4,252,202, 3, 54,114,251, 60, 0, 0, 2, 0, 6,255,177, 4,203, + 4,119, 0, 2, 0, 5, 0, 0, 55, 33, 1, 3, 17, 1,120, 3, 54,252,202,114, 4,197, 36, 3, 54,252, 88, 4,196,251, 60, 0, + 0, 2, 0, 97, 0, 13, 4,111, 4, 27, 0, 3, 0, 7, 0, 0, 55, 33, 17, 33, 3, 17, 33, 17,211, 3, 42,252,214,114, 4, 14, +127, 3, 42,252,100, 4, 14,251,242, 0, 0, 0, 0, 1, 0, 97, 0, 13, 4,111, 4, 27, 0, 3, 0, 0, 55, 17, 33, 17, 97, 4, + 14, 13, 4, 14,251,242, 0, 0, 0, 2, 0,175, 0, 91, 4, 33, 3,205, 0, 3, 0, 7, 0, 0, 37, 33, 17, 33, 3, 17, 33, 17, + 1, 33, 2,142,253,114,114, 3,114,205, 2,142,253, 0, 3,114,252,142, 0, 0, 0, 1, 0,175, 0, 91, 4, 33, 3,205, 0, 3, + 0, 0, 55, 17, 33, 17,175, 3,114, 91, 3,114,252,142, 0, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 5, 0, 0, + 37, 33, 17, 9, 1, 17, 1, 35, 3, 54,251,173, 4,197, 36, 3, 54,252, 88, 4,196,251, 60, 0, 0, 9, 0, 34, 0,164, 4,175, + 5, 49, 0, 7, 0, 12, 0, 19, 0, 34, 0, 42, 0, 50, 0, 58, 0, 65, 0, 73, 0, 0, 1, 51, 23, 17, 7, 35, 39, 17, 5, 23, + 21, 7, 39, 37, 23, 7, 35, 38, 39, 53, 5, 50, 31, 1, 20, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 5, 33, 23, 21, 7, 33, 39, + 53, 37, 33, 23, 21, 7, 33, 39, 53, 7, 51, 22, 23, 21, 7, 39, 53, 37, 51, 23, 21, 7, 39, 53, 37, 51, 23, 17, 7, 35, 39, 17, + 2, 78, 60, 4, 4, 60, 5, 1,186, 46,194, 48,253,167,196, 47, 2,157, 35, 1,181,163, 69, 10,148, 55, 36,137, 76, 28,143, 52, +253,228, 1, 8, 5, 5,254,248, 5, 3,122, 1, 14, 5, 5,254,242, 4, 56, 3,104, 89, 47,194,254, 54, 2, 46,192, 48, 1,165, + 60, 4, 4, 60, 5, 5, 49, 5,254,239, 4, 4, 1, 17,121, 49, 2,198, 49,186,199, 50,156, 43, 3,141,176, 75,147, 79, 17,130, + 49, 72,141, 80, 22,215, 5, 61, 5, 5, 61, 5, 5, 61, 5, 5, 61,218,102, 94, 2, 49,198, 3, 32, 46, 3,198, 49, 3, 92, 4, +254,239, 5, 5, 1, 17, 0, 0, 0, 1, 0, 50, 0, 8, 4,159, 1,209, 0, 34, 0, 0, 1, 51, 50, 31, 1, 54, 51, 22, 21, 20, + 7, 22, 29, 1, 6, 35, 33, 53, 50, 55, 54, 59, 1, 39, 52, 63, 1, 23, 39, 52, 63, 1, 50, 23, 54, 3, 0, 13,134, 72, 12, 24, + 34, 83, 21, 63, 11, 49,251,209, 35, 82, 29, 32, 20, 7, 98, 24, 26, 3,125, 41, 30, 28, 74, 1,209,143, 53, 22, 17, 67, 30, 32, + 14, 44, 16, 63, 6,107, 24, 30, 67, 30, 2, 2, 7, 91, 55, 5, 27, 62, 0, 0, 0, 1, 0, 34, 0, 6, 4,175, 4, 45, 0, 63, + 0, 0, 1, 51, 23, 21, 51, 32, 19, 22, 29, 1, 35, 38, 39, 38, 43, 1, 34, 7, 21, 20, 7, 39, 38, 35, 17, 20, 15, 1, 34, 47, + 1, 53, 55, 51, 23, 21, 22, 59, 1, 50, 63, 1, 17, 34, 7, 6, 35, 39, 53, 55, 35, 38, 39, 35, 34, 15, 1, 35, 53, 54, 55, 54, + 51, 53, 2, 97, 41, 4, 2, 1, 56,199, 31, 1, 16, 14, 24, 41, 31,107, 79, 6, 24,107, 97, 75, 21, 65, 26, 2, 4, 31, 4, 7, + 45, 7, 39, 14, 4,150, 61, 12, 10, 5, 5, 3, 47,141, 47, 71, 24, 14, 2, 41,137,170,221, 4, 44, 4, 89,254,166, 61, 9, 6, + 11, 33, 17, 72, 36, 11, 1, 47, 43,254, 25, 72, 17, 1, 68, 20, 18, 5, 5, 8, 72, 41, 29, 1,225, 43, 41, 4, 9, 36, 46, 19, + 44, 12, 1,102,155,159, 89, 0, 0, 15, 0, 89,255,250, 4,120, 5,171, 0, 9, 0, 17, 0, 25, 0, 33, 0, 61, 0, 90, 0,133, + 0,177, 0,220, 1, 8, 1, 16, 1, 24, 1, 32, 1, 76, 1,120, 0, 0, 1, 22, 55, 51, 6, 7, 38, 39, 51, 22, 55, 38, 39, 54, + 55, 22, 23, 6, 5, 38, 39, 54, 55, 22, 23, 6, 3, 38, 39, 54, 55, 22, 23, 6, 39, 6, 21, 20, 22, 51, 50, 54, 53, 52, 39, 38, + 39, 22, 55, 54, 53, 52, 38, 35, 34, 6, 21, 20, 23, 22, 51, 6, 19, 54, 55, 50, 31, 1, 22, 20, 7, 6, 7, 22, 23, 22, 21, 20, + 4, 32, 36, 53, 52, 55, 54, 55, 38, 39, 38, 52, 55, 1, 23, 39, 38, 50, 15, 1, 55, 54, 51, 50, 21, 20, 15, 1, 23, 22, 21, 20, + 35, 34, 47, 1, 23, 22, 35, 34, 63, 1, 7, 6, 35, 34, 53, 52, 63, 1, 39, 38, 53, 52, 51, 50, 3, 23, 39, 38, 51, 50, 15, 1, + 55, 54, 51, 50, 21, 20, 15, 1, 23, 22, 21, 20, 35, 34, 47, 1, 23, 22, 35, 34, 63, 1, 7, 6, 35, 34, 53, 52, 63, 1, 39, 38, + 53, 52, 51, 50, 1, 23, 39, 38, 51, 50, 15, 1, 55, 54, 51, 50, 21, 20, 15, 1, 23, 22, 20, 35, 34, 47, 1, 23, 22, 35, 34, 63, + 1, 7, 6, 35, 34, 53, 52, 63, 1, 39, 38, 53, 52, 51, 48, 31, 1, 39, 38, 51, 50, 15, 1, 55, 54, 51, 50, 21, 20, 15, 1, 23, + 22, 21, 20, 35, 34, 47, 1, 23, 22, 35, 34, 63, 1, 7, 6, 35, 34, 53, 52, 63, 1, 39, 38, 53, 52, 51, 50, 1, 38, 53, 52, 51, + 50, 21, 20, 5, 38, 53, 54, 51, 50, 21, 20, 55, 38, 53, 52, 51, 50, 21, 20, 19, 23, 39, 38, 51, 50, 15, 1, 55, 54, 51, 50, 21, + 20, 15, 1, 23, 22, 21, 20, 35, 34, 47, 1, 23, 22, 35, 34, 63, 1, 7, 6, 35, 34, 53, 52, 63, 1, 39, 38, 53, 52, 51, 50, 1, + 23, 39, 38, 51, 50, 15, 1, 55, 54, 51, 50, 21, 20, 15, 1, 23, 22, 21, 20, 35, 34, 47, 1, 23, 22, 35, 34, 63, 1, 7, 6, 35, + 34, 53, 52, 63, 1, 39, 38, 53, 52, 51, 50, 2, 80, 79, 28, 25, 5,128,126, 9, 24, 41,185, 42, 1, 3, 43, 39, 3, 3,254,235, + 41, 3, 3, 43, 40, 3, 3, 64, 38, 2, 3, 39, 36, 2, 2,202,124,247,175,174,248,124,101,139, 63, 47, 65,125, 93, 92,138, 66, + 45, 55,144, 21, 26,147,132, 49, 2, 83, 76, 20, 24,111, 87,142,254,228,254,106,254,227,143, 92,118, 21, 19, 76, 76, 2,114, 37, + 6, 1, 28, 1, 6, 37, 4, 4, 14, 7, 44, 42, 7, 12, 6, 2, 35, 4, 1, 14, 14, 1, 5, 36, 2, 5, 13, 8, 41, 42, 8, 14, + 3,110, 36, 5, 1, 13, 16, 2, 6, 37, 4, 4, 13, 7, 43, 41, 8, 12, 6, 2, 36, 5, 1, 15, 13, 1, 4, 35, 2, 5, 14, 8, + 42, 43, 8, 15, 4,253, 28, 21, 3, 1, 9, 9, 1, 4, 22, 2, 2, 9, 4, 26, 24, 5, 8, 3, 1, 22, 4, 1, 9, 9, 1, 3, + 21, 1, 3, 8, 4, 25, 26, 4, 9, 63, 19, 4, 1, 8, 9, 1, 4, 19, 2, 3, 8, 5, 22, 22, 4, 7, 2, 3, 19, 3, 1, 8, + 8, 1, 4, 19, 3, 2, 7, 4, 22, 22, 5, 8, 3, 1,249, 39, 43, 38,254,180, 40, 1, 41, 38,251, 40, 43, 38,112, 23, 4, 1, + 9, 9, 1, 3, 21, 2, 2, 8, 3, 26, 25, 4, 8, 3, 1, 21, 2, 1, 8, 9, 1, 3, 22, 1, 3, 8, 6, 24, 25, 5, 9, 2, +252,242, 37, 5, 1, 13, 14, 1, 5, 37, 4, 4, 13, 7, 43, 41, 8, 12, 4, 4, 36, 4, 1, 14, 13, 1, 4, 36, 4, 2, 14, 8, + 42, 43, 8, 15, 2, 3,132, 5, 42, 69, 5, 7, 67, 42, 90, 2, 42, 44, 3, 3, 41, 45, 4, 2, 41, 45, 3, 3, 42, 44,254, 18, + 2, 37, 38, 2, 2, 37, 38,158,102,147,145,208,208,145,147,102, 85, 32, 2, 53, 72,104,102,101,101,102,104, 72, 50, 30, 1,217, +112, 24,117, 19, 94,232, 81, 24, 16, 28, 70,115,165,163,230,230,163,165,115, 75, 26, 15, 22, 81,232, 71,254,129, 31, 52, 13, 13, + 52, 31, 3, 16, 9, 3, 20, 19, 3, 9, 14, 2, 30, 50, 15, 15, 50, 30, 2, 14, 8, 4, 19, 20, 4, 8, 16, 1, 48, 31, 52, 14, + 14, 52, 31, 3, 16, 7, 3, 21, 19, 4, 9, 14, 2, 30, 50, 14, 14, 50, 30, 2, 14, 9, 4, 19, 21, 4, 6, 16, 1, 57, 17, 29, + 10, 10, 29, 17, 3, 10, 4, 2, 13, 10, 2, 14, 1, 17, 30, 7, 7, 30, 17, 1, 7, 7, 2, 10, 13, 2, 4, 10,251, 16, 28, 7, + 7, 28, 16, 2, 7, 6, 2, 9, 11, 2, 5, 8, 2, 15, 26, 8, 8, 26, 15, 2, 8, 5, 2, 11, 9, 2, 6, 7,253, 76, 2, 37, + 40, 39, 42,222, 2, 37, 41, 40, 42, 2, 2, 37, 41, 40, 42, 4,116, 17, 30, 8, 8, 30, 17, 2, 8, 7, 1, 11, 12, 2, 5, 9, + 1, 17, 28, 9, 9, 28, 17, 1, 9, 4, 3, 12, 11, 2, 6, 8,254, 49, 31, 52, 14, 14, 52, 31, 3, 16, 8, 3, 20, 19, 4, 9, + 14, 3, 29, 50, 14, 14, 50, 29, 3, 14, 9, 4, 19, 20, 4, 7, 16, 0, 0, 0, 0, 15, 0, 29, 0, 48, 4,180, 5,114, 0, 19, + 0, 33, 0, 50, 0, 67, 0, 84, 0,101, 0,118, 0,135, 0,152, 0,169, 0,186, 0,203, 0,220, 0,237, 0,254, 0, 0, 1, 22, + 7, 6, 15, 1, 6, 43, 1, 38, 39, 38, 53, 52, 63, 2, 54, 23, 22, 7, 6, 23, 22, 31, 1, 22, 63, 1, 54, 47, 1, 38, 7, 19, + 50, 23, 22, 29, 1, 20, 7, 6, 35, 34, 47, 1, 53, 52, 55, 54, 55, 50, 23, 22, 29, 1, 20, 7, 6, 35, 34, 47, 1, 53, 52, 55, + 54, 55, 50, 23, 22, 29, 1, 20, 7, 6, 35, 34, 39, 61, 1, 52, 55, 54, 55, 50, 23, 22, 29, 1, 20, 7, 6, 35, 34, 47, 1, 53, + 52, 55, 54, 19, 50, 23, 22, 29, 1, 20, 7, 6, 35, 34, 47, 1, 53, 52, 55, 54, 7, 50, 23, 22, 29, 1, 20, 7, 6, 35, 34, 39, + 61, 1, 52, 55, 54, 1, 50, 23, 22, 29, 1, 20, 7, 6, 35, 34, 47, 1, 53, 52, 55, 54, 55, 50, 23, 22, 29, 1, 20, 7, 6, 35, + 34, 39, 61, 1, 52, 55, 54, 55, 50, 23, 22, 29, 1, 20, 7, 6, 35, 34, 47, 1, 53, 52, 55, 54, 1, 50, 23, 22, 29, 1, 20, 7, + 6, 35, 34, 47, 1, 53, 52, 55, 54, 55, 50, 23, 22, 29, 1, 20, 7, 6, 35, 34, 47, 1, 53, 52, 55, 54, 55, 50, 23, 22, 29, 1, + 20, 7, 6, 35, 34, 47, 1, 53, 52, 55, 54, 55, 50, 23, 22, 29, 1, 20, 7, 6, 35, 34, 47, 1, 53, 52, 55, 54, 1,108, 61, 46, + 15, 37, 16, 71, 92, 17, 38, 29, 35, 45, 31, 9, 76,106, 46,196, 78, 26, 4, 10, 11, 48,100, 38, 75, 17, 24, 52,105,185, 21, 11, + 6, 20, 8, 10, 27, 9, 1, 19, 10,125, 22, 11, 5, 19, 8, 10, 27, 9, 1, 19, 10,103, 21, 11, 5, 19, 8, 10, 26, 11, 19, 10, +115, 21, 11, 6, 20, 7, 11, 26, 10, 1, 19, 10, 2, 21, 12, 5, 20, 7, 11, 26, 10, 1, 20, 9,141, 22, 11, 5, 19, 8, 10, 27, + 10, 19, 10, 1, 38, 21, 11, 5, 19, 8, 10, 26, 11, 1, 20, 10,144, 22, 11, 5, 19, 8, 10, 27, 10, 19, 10,145, 21, 11, 6, 20, + 8, 10, 27, 9, 1, 19, 10,254, 2, 22, 11, 6, 20, 8, 10, 27, 9, 1, 19, 10,204, 21, 12, 5, 20, 7, 11, 26, 10, 1, 20, 9, +217, 21, 11, 6, 20, 8, 10, 26, 10, 1, 19, 10,193, 21, 12, 5, 20, 7, 11, 26, 10, 1, 20, 9, 1,198, 72,131, 53, 45, 19, 86, + 5, 34, 42, 60, 67, 90, 43, 10, 93, 2, 9, 95, 95,102, 17, 12, 13, 56, 65, 37, 92,109, 36, 61, 70, 1, 14, 23, 9, 12, 4, 23, + 14, 5, 33, 10, 3, 23, 15, 6,234, 22, 9, 12, 5, 22, 14, 6, 34, 9, 4, 22, 15, 6,230, 23, 9, 11, 5, 22, 15, 5, 34, 9, + 4, 22, 15, 6,236, 23, 9, 11, 4, 23, 14, 5, 33, 9, 3, 24, 14, 6,253,197, 23, 9, 11, 5, 23, 14, 5, 33, 11, 2, 24, 14, + 6,194, 23, 9, 11, 4, 24, 14, 5, 34, 10, 3, 23, 14, 6, 1,131, 22, 9, 11, 6, 22, 14, 5, 33, 9, 4, 22, 16, 5,187, 23, + 9, 11, 5, 23, 14, 5, 34, 9, 3, 23, 15, 6,194, 24, 9, 11, 4, 23, 14, 6, 34, 10, 3, 23, 14, 7,252, 77, 22, 9, 11, 5, + 23, 14, 6, 34, 9, 4, 23, 14, 6,158, 22, 9, 11, 5, 22, 15, 6, 35, 9, 3, 23, 15, 5,172, 23, 9, 10, 5, 24, 13, 5, 33, + 10, 2, 24, 14, 6,151, 23, 9, 11, 4, 24, 13, 6, 34, 10, 2, 24, 14, 6, 0, 0, 1, 0, 58, 0, 15, 4,151, 4, 51, 0, 9, + 0, 0, 19, 33, 27, 1, 33, 5, 19, 37, 5, 19, 58, 1,170,132,133, 1,170,254,167,133,254,165,254,167,132, 2,158, 1,149,254, +107,251,254,108,250,250, 1,148, 0, 2, 0, 58, 0, 20, 4,151, 4, 57, 0, 9, 0, 19, 0, 0, 19, 33, 27, 1, 33, 5, 19, 37, + 5, 19, 55, 3, 37, 5, 3, 37, 33, 11, 1, 33, 58, 1,170,132,133, 1,170,254,167,133,254,165,254,167,132, 48,100, 1, 9, 1, + 18,109, 1, 28,254,167,104,100,254,165, 2,164, 1,148,254,108,251,254,108,250,250, 1,148, 15,254,203,191,201, 1, 64,199, 1, + 56,254,200, 0, 0, 1, 0,200, 0, 5, 4, 9, 5,214, 0, 17, 0, 0, 1, 22, 23, 20, 7, 9, 1, 55, 19, 37, 55, 1, 38, 53, + 52, 55, 1, 54, 3,206, 57, 2, 9,253,125, 1,238, 86, 38,254, 55,224,253,221, 19, 65, 2,147, 11, 5,214, 2, 54, 36, 12,253, +133,253,244,230,254, 56, 39, 94, 2, 52, 23, 23, 27, 63, 2,134, 10, 0, 0, 0, 0, 1, 0, 59,255,255, 4,150, 5,217, 0, 25, + 0, 0, 19, 33, 50, 21, 20, 7, 9, 1, 55, 19, 37, 55, 1, 38, 53, 52, 55, 1, 33, 17, 20, 35, 34, 53, 17, 52,122, 3,214, 60, + 26,253,229, 1,201, 83, 35,254, 78,216,254, 16, 14, 49, 1,199,253, 12, 68, 67, 5,217, 83, 34, 27,253,197,254, 27,213,254, 61, + 34,108, 2, 22, 15, 46, 27, 51, 1,223,250,252, 69, 68, 5, 91, 58, 0, 0, 0, 0, 3, 0, 43, 0, 7, 4,166, 4,129, 0, 13, + 0, 25, 0, 38, 0, 0, 1, 20, 0, 35, 34, 0, 53, 52, 18, 36, 51, 50, 4, 18, 5, 20, 0, 32, 0, 53, 52, 46, 1, 32, 14, 1, + 5, 20, 6, 35, 34, 38, 53, 52, 62, 1, 50, 30, 1, 4,165,254,177,238,237,254,177,154, 1, 19,143,144, 1, 20,153,251,191, 1, + 45, 1,173, 1, 46,138,248,254,252,248,138, 2,148, 84, 60, 58, 85, 39, 69, 71, 69, 39, 2, 68,238,254,178, 1, 78,238,149, 1, + 20,148,148,254,237,150,214,254,211, 1, 45,214,136,246,133,133,246,136, 60, 83, 83, 60, 38, 69, 36, 36, 69, 0, 0, 3, 0, 15, + 0, 5, 4,194, 5, 29, 0, 10, 0, 22, 0, 67, 0, 0, 0, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 37, 34, 6, 21, 20, 22, 51, + 50, 54, 53, 52, 38, 37, 22, 23, 22, 21, 20, 6, 35, 34, 38, 53, 52, 55, 54, 55, 54, 53, 52, 36, 32, 4, 21, 20, 23, 22, 23, 22, + 20, 6, 35, 34, 38, 52, 55, 54, 55, 38, 53, 52, 0, 51, 50, 0, 21, 20, 4, 11,113, 79, 79, 57, 56, 79,252,164, 56, 80, 80, 56, + 56, 79, 79, 3, 34, 19, 17, 70,140, 99, 99,139, 68, 62, 85, 93,255, 0,254,144,255, 0, 92, 96, 67, 68,139, 99, 98,141, 70, 14, + 14, 93, 1, 87,246,248, 1, 87, 1,177, 90, 65, 64, 90, 90, 64, 65, 90, 90, 65, 64, 91, 91, 64, 65, 90, 75, 15, 20, 80,114,113, +160,160,113,114, 80, 71, 8,101,134,157,222,222,157,134,100, 3, 77, 80,228,160,160,228, 80, 15, 13,125,159,217, 1, 50,254,206, +217,155, 0, 0, 0, 3, 0, 18,255,254, 4,191, 5,107, 0, 10, 0, 22, 0, 65, 0, 0, 1, 52, 38, 35, 34, 6, 21, 20, 22, 50, + 54, 37, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 1, 20, 0, 35, 34, 0, 53, 52, 55, 38, 39, 38, 52, 54, 51, 50, 22, 20, 7, + 6, 7, 6, 21, 20, 4, 32, 36, 53, 52, 39, 38, 39, 38, 52, 54, 51, 50, 22, 20, 7, 6, 7, 22, 4, 88, 80, 55, 57, 78, 78,113, + 79,253, 46, 78, 57, 55, 79, 79, 55, 57, 78, 3, 39,254,171,247,245,254,171, 93, 14, 14, 69,139, 97, 99,139, 68, 67, 95, 92, 0, +255, 1,110, 0,255, 92, 85, 62, 68,139, 98, 99,138, 69, 17, 19, 88, 4, 70, 68, 98, 98, 68, 69, 97, 97, 69, 69, 97, 97, 69, 68, + 97, 97,254, 43,232,254,185, 1, 71,232,169,132, 14, 17, 85,242,171,171,242, 85, 83, 3,106,142,169,235,235,169,143,105, 9, 76, + 86,242,171,171,242, 86, 21, 16,130, 0, 0, 0, 0, 2, 0, 54, 0, 1, 4,155, 5,202, 0, 11, 0, 27, 0, 0, 1, 34, 6, 21, + 20, 22, 51, 50, 54, 53, 52, 38, 55, 22, 23, 22, 16, 0, 35, 34, 0, 16, 0, 51, 50, 23, 1, 23, 2, 63,143,201,201,143,142,201, +199,190, 19, 18,152,254,206,217,215,254,206, 1, 47,218, 96, 84, 1, 14,154, 3, 99,200,144,142,201,201,142,144,200, 59, 16, 19, +153,254, 80,254,207, 1, 49, 1,176, 1, 50, 29, 1,211, 89, 0, 0, 3, 0, 46, 0, 3, 4,163, 5,203, 0, 8, 0, 17, 0, 49, + 0, 0, 1, 34, 6, 20, 22, 50, 54, 52, 38, 0, 34, 6, 20, 22, 51, 50, 54, 52, 1, 22, 21, 20, 2, 35, 34, 2, 53, 52, 18, 51, + 50, 23, 22, 23, 55, 38, 53, 52, 18, 51, 50, 18, 21, 20, 2, 35, 34, 39, 38, 39, 1, 64, 75,106,106,150,106,105, 2, 79,151,105, +105, 76, 75,105,253,247, 24,161,114,113,161,160,114,116, 80, 1, 1,138, 18,159,115,115,160,161,114,113, 81, 7, 7, 2,220,169, +240,169,169,240,169, 2, 90,169,240,169,169,240,253,228, 84,100,181,254,255, 1, 1,181,183, 1, 1,128, 3, 2,137, 73, 85,183, + 1, 1,254,255,183,181,254,255,129, 11, 12, 0, 0, 14, 0, 20,255,255, 4,189, 4,200, 0, 23, 0, 41, 0, 53, 0, 65, 0, 77, + 0, 89, 0,100, 0,112, 0,123, 0,134, 0,145, 0,157, 0,169, 0,181, 0, 0, 1, 51, 4, 23, 22, 21, 6, 47, 1, 38, 55, 54, + 39, 33, 6, 23, 22, 15, 1, 6, 39, 52, 55, 54, 1, 53, 51, 21, 20, 23, 22, 21, 17, 33, 17, 52, 55, 54, 61, 1, 51, 21, 3, 20, + 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 5, 20, 6, 35, 34, 38, 53, 52, 54, 51, 50, 22, 39, 20, 6, 35, 34, 38, 53, 52, 54, 51, + 50, 22, 17, 20, 6, 35, 34, 38, 53, 52, 54, 51, 50, 22, 2, 22, 6, 7, 6, 38, 39, 38, 54, 55, 54, 19, 22, 6, 7, 6, 38, 39, + 38, 54, 55, 54, 22, 1, 30, 1, 14, 1, 39, 46, 1, 55, 62, 1, 4, 30, 1, 7, 14, 1, 39, 46, 1, 55, 54, 36, 54, 22, 23, 22, + 6, 7, 6, 38, 39, 38, 37, 54, 22, 23, 22, 6, 7, 6, 38, 39, 38, 54, 1, 62, 1, 23, 30, 1, 7, 14, 1, 39, 46, 1, 19, 62, + 1, 23, 30, 1, 7, 14, 1, 39, 46, 1, 2,102, 5, 1, 60,135,142, 20, 59,214, 46, 21, 61, 43,253,178, 44, 62, 21, 47,214, 59, + 20,142,135, 1,187, 75,127,121,252,129,122,126, 76, 90,124, 87, 88,123,123, 88, 88,123, 1, 73, 69, 49, 49, 69, 69, 49, 49, 69, + 84, 17, 12, 12, 18, 18, 12, 12, 17, 17, 12, 12, 18, 18, 12, 12, 17,109, 13, 3, 10, 10, 24, 7, 8, 4, 10, 10,226, 7, 3, 11, + 10, 23, 8, 7, 4, 10, 10, 24,254,249, 13, 10, 7, 22, 12, 11, 12, 4, 4, 22, 1, 59, 23, 11, 4, 4, 22, 11, 12, 11, 4, 4, +254,201, 23, 22, 4, 3, 10, 12, 12, 22, 4, 4, 1, 82, 11, 22, 4, 4, 11, 12, 11, 23, 3, 4, 11,254,255, 7, 24, 10, 10, 4, + 8, 6, 25, 10, 10, 4,202, 8, 23, 10, 11, 3, 7, 7, 24, 10, 10, 4, 4,200, 14,127,135,139,133, 8,115, 22, 64,100, 6, 6, +100, 64, 22,115, 8,133,139,135,125,254,189, 62,125, 61, 47, 78,234,254,110, 1,146,234, 78, 47, 61,125, 62,254, 64,137,192,192, +137,136,193,193,135, 77,108,108, 77, 78,107,107,182, 18, 28, 28, 18, 19, 28, 28,253,233, 20, 27, 27, 20, 19, 28, 28, 1,235, 31, + 38, 11, 12, 6, 15, 17, 37, 12, 11,254, 73, 16, 37, 13, 10, 5, 17, 15, 37, 12, 10, 5, 1, 34, 7, 33, 36, 18, 5, 6, 35, 18, + 18, 18,160, 12, 34, 18, 18, 17, 6, 6, 33, 19, 18, 5, 12, 17, 18, 19, 34, 7, 4, 17, 18, 18,200, 6, 18, 18, 18, 33, 7, 6, + 18, 18, 18, 33,254,214, 15, 5, 10, 12, 38, 14, 17, 5, 10, 13, 37, 1,177, 16, 6, 11, 12, 37, 17, 15, 6, 12, 11, 38, 0, 0, + 0, 16, 0, 8, 0, 11, 4,201, 4,201, 0, 17, 0, 29, 0, 37, 0, 45, 0, 53, 0, 65, 0, 77, 0, 89, 0,100, 0,112, 0,124, + 0,136, 0,148, 0,166, 0,192, 0,218, 0, 0, 1, 53, 35, 21, 6, 7, 6, 21, 17, 33, 17, 52, 39, 38, 39, 53, 35, 21, 7, 50, + 22, 21, 20, 6, 35, 34, 38, 53, 52, 54, 22, 34, 6, 20, 22, 50, 54, 52, 38, 34, 6, 20, 22, 50, 54, 52, 2, 34, 6, 20, 22, 50, + 54, 52, 3, 14, 1, 23, 30, 1, 55, 62, 1, 39, 46, 1, 19, 14, 1, 23, 30, 1, 55, 62, 1, 39, 46, 1, 37, 6, 22, 23, 22, 54, + 55, 54, 38, 39, 38, 6, 5, 6, 22, 23, 22, 62, 1, 38, 39, 38, 6, 5, 30, 1, 55, 62, 1, 39, 46, 1, 7, 14, 1, 37, 30, 1, + 55, 62, 1, 39, 46, 1, 7, 14, 1, 3, 22, 54, 55, 54, 38, 39, 38, 6, 7, 6, 22, 19, 22, 54, 55, 54, 38, 39, 38, 6, 7, 6, + 22, 55, 53, 51, 21, 20, 23, 22, 21, 17, 33, 17, 52, 55, 54, 61, 1, 51, 21, 39, 6, 23, 22, 15, 1, 6, 39, 54, 55, 54, 37, 22, + 50, 55, 4, 23, 22, 23, 6, 47, 1, 38, 55, 54, 39, 55, 22, 7, 6, 31, 1, 22, 55, 38, 39, 38, 47, 1, 21, 35, 6, 7, 6, 7, + 22, 63, 1, 54, 39, 38, 55, 1,212, 26, 8,108,105, 3, 1,105,108, 4, 30,140, 89,122,123, 88, 87,124,123,137, 98, 69, 69, 98, + 69,100, 25, 17, 17, 25, 17, 17, 25, 17, 17, 25, 17,145, 10, 4, 7, 8, 24, 10, 10, 3, 7, 7, 24,185, 10, 4, 7, 7, 25, 10, + 10, 4, 8, 7, 24,254,236, 4, 12, 11, 12, 22, 4, 3, 10, 13, 11, 22, 1, 56, 4, 11, 11, 12, 22, 7, 11, 11, 12, 22,254,193, + 4, 22, 12, 12, 10, 3, 4, 22, 12, 11, 12, 1, 64, 3, 22, 12, 11, 11, 4, 3, 22, 12, 11, 11,241, 10, 24, 7, 8, 4, 10, 10, + 24, 8, 7, 4,205, 10, 24, 7, 8, 4, 10, 10, 25, 7, 7, 4, 46, 72,120,116,252,172,116,120, 72,184, 37, 63, 37, 53,200, 69, + 36, 7,132,133, 1, 54, 13, 26, 12, 1, 54,133,132, 7, 36, 68,201, 53, 37, 63, 37, 14, 45, 53, 33, 33,174, 49, 40, 5,127,167, +255, 26, 29,255,167,126, 6, 40, 49,175, 32, 32, 53, 44, 3, 26, 52,116, 52, 40, 52,196,254,178, 1, 78,196, 52, 40, 52,116, 52, + 59,188,132,133,187,187,133,132,188,141,104,150,104,104,150,224, 26, 37, 26, 26, 37,254, 35, 26, 37, 26, 26, 37, 1,216, 11, 36, + 16, 14, 7, 11, 12, 37, 15, 14, 6,254, 95, 12, 36, 16, 15, 6, 12, 11, 36, 15, 16, 5,248, 18, 33, 6, 5, 16, 19, 17, 34, 5, + 6, 18,173, 17, 33, 6, 6, 17, 36, 33, 6, 6, 16, 47, 18, 17, 6, 6, 33, 17, 18, 18, 6, 6, 33,138, 18, 17, 5, 6, 33, 18, + 17, 18, 6, 5, 34,254,191, 12, 6, 15, 16, 36, 11, 11, 5, 16, 15, 36, 1,139, 11, 7, 14, 16, 36, 11, 12, 6, 15, 15, 37,234, + 58,127, 45, 44, 71,217,254,140, 1,116,217, 71, 44, 45,127, 58,186, 13, 88, 76, 15,134, 8,172,162, 82,113, 14, 1, 1, 14,113, + 82,162,172, 8,134, 15, 76, 88, 13, 23, 33, 91, 36, 31,110, 30,147,128, 91,105, 20, 1, 1, 20,105, 91,128,147, 30,110, 31, 36, + 91, 33, 0, 0, 0, 2, 0,111, 0, 4, 4, 98, 4, 8, 0, 7, 0, 11, 0, 0, 19, 33, 23, 17, 7, 33, 39, 17, 23, 17, 33, 17, +116, 3,233, 4, 4,252, 23, 4, 75, 3, 90, 4, 7, 5,252, 7, 4, 4, 3,249, 71,252,149, 3,107, 0, 0, 0, 0, 3, 0, 99, +255,253, 4,110, 4, 24, 0, 7, 0, 11, 0, 34, 0, 0, 19, 33, 23, 17, 7, 33, 39, 17, 23, 17, 33, 17, 7, 21, 6, 7, 2, 7, + 6, 35, 6, 35, 38, 43, 1, 53, 55, 50, 23, 51, 54, 55, 54, 55, 54,104, 4, 1, 5, 5,251,255, 5, 78, 3,110, 95, 53, 29,230, + 44, 4, 11, 83, 9, 71,144, 16,114,106, 51, 5, 35, 45, 69,109, 68, 4, 24, 4,251,239, 5, 5, 4, 17, 74,252,130, 3,126,111, + 4, 46, 40,254,201,227, 42, 33,182, 4, 52, 92,116, 82,126,131, 85, 0, 0, 0, 0, 3, 0,133, 0, 5, 4, 76, 3,218, 0, 7, + 0, 11, 0, 26, 0, 0, 19, 33, 23, 17, 7, 33, 39, 17, 23, 17, 33, 17, 5, 9, 1, 23, 9, 1, 21, 7, 1, 35, 1, 35, 39, 9, + 1,138, 3,189, 4, 4,252, 67, 4, 73, 3, 51,253, 90, 1, 13, 1, 12, 62,254,244, 1, 12, 60,254,242, 2,254,245, 3, 60, 1, + 12,254,244, 3,217, 4,252, 53, 5, 5, 3,203, 68,252,189, 3, 67, 88,254,245, 1, 11, 60,254,243,254,242, 1, 60, 1, 11,254, +247, 59, 1, 14, 1, 13, 0, 0, 0, 1, 0,201, 0, 89, 4, 8, 5, 68, 0, 20, 0, 0, 1, 51, 1, 54, 1, 50, 55, 51, 23, 9, + 1, 21, 7, 1, 35, 1, 35, 39, 1, 0, 53, 1, 38, 5, 1, 60, 12, 1, 43, 4, 7, 4, 90,254,192, 1, 64, 92,254,193, 2,254, +191, 3, 92, 1, 68,254,188, 5, 67,253,236, 9, 1,251, 16, 90,253,228,253,232, 3, 89, 2, 23,253,235, 92, 2, 24, 2, 21, 7, + 0, 8, 0, 28,255,252, 4,181, 5, 53, 0, 8, 0, 17, 0, 26, 0, 35, 0, 44, 0, 53, 0, 62, 0,126, 0, 0, 1, 51, 6, 43, + 1, 38, 61, 1, 52, 37, 51, 6, 43, 1, 38, 61, 1, 52, 37, 51, 6, 43, 1, 38, 61, 1, 52, 23, 51, 6, 43, 1, 38, 61, 1, 52, + 37, 51, 6, 43, 1, 38, 61, 1, 52, 23, 51, 6, 43, 1, 38, 61, 1, 52, 23, 51, 6, 43, 1, 38, 61, 1, 52, 37, 51, 23, 21, 51, + 32, 19, 22, 29, 1, 35, 38, 39, 38, 43, 1, 34, 7, 21, 20, 7, 39, 38, 35, 17, 20, 15, 1, 34, 47, 1, 53, 55, 51, 23, 21, 22, + 59, 1, 50, 63, 1, 17, 34, 7, 6, 35, 39, 53, 55, 35, 38, 39, 35, 34, 15, 1, 35, 53, 54, 55, 54, 51, 53, 1, 31, 2, 21, 64, + 4, 41, 1,163, 1, 20, 65, 4, 40, 1,123, 2, 21, 64, 5, 40,173, 2, 21, 64, 4, 41, 1,123, 3, 21, 65, 4, 41,206, 1, 19, + 65, 5, 40, 64, 2, 21, 65, 4, 40,254, 94, 41, 4, 1, 1, 52,196, 30, 1, 16, 13, 25, 39, 31,105, 79, 5, 23,106, 95, 74, 21, + 64, 26, 1, 4, 30, 4, 7, 44, 7, 38, 14, 4,147, 60, 12, 10, 5, 5, 3, 47,137, 47, 70, 23, 14, 2, 40,134,168,218, 4, 48, +145, 7, 25, 1, 39,249,144, 5, 25, 2, 38,159,145, 6, 25, 2, 38,130,144, 5, 25, 2, 39,220,144, 5, 25, 2, 39, 74,144, 4, + 26, 2, 38,164,145, 6, 25, 1, 40,108, 4, 78,254,210, 53, 9, 5, 9, 29, 15, 62, 33, 9, 1, 41, 38,254, 86, 63, 15, 1, 60, + 17, 16, 4, 4, 7, 63, 36, 25, 1,165, 38, 36, 4, 8, 32, 39, 17, 38, 11, 1, 90,135,139, 78, 0, 9, 0, 78, 0, 6, 4,131, + 5,130, 0, 9, 0, 15, 0, 24, 0, 47, 0, 62, 0, 69, 0,113, 0,119, 0,134, 0, 0, 19, 6, 23, 33, 54, 55, 52, 35, 33, 6, + 19, 22, 23, 33, 54, 63, 1, 6, 7, 54, 55, 54, 39, 52, 35, 39, 6, 7, 51, 50, 21, 20, 7, 6, 7, 6, 7, 51, 50, 55, 54, 55, + 54, 55, 54, 53, 52, 35, 1, 51, 20, 6, 7, 20, 22, 23, 35, 38, 39, 38, 39, 38, 54, 3, 22, 37, 54, 55, 33, 22, 5, 54, 55, 50, + 23, 21, 20, 15, 1, 23, 20, 7, 33, 38, 61, 1, 55, 53, 36, 47, 1, 53, 54, 51, 22, 23, 38, 17, 52, 51, 33, 22, 21, 51, 50, 21, + 20, 7, 6, 7, 6, 43, 1, 39, 1, 22, 23, 33, 54, 55, 3, 6, 7, 6, 7, 35, 62, 1, 53, 52, 38, 53, 51, 30, 1,176, 1, 12, + 3, 42, 8, 2, 21,252,236, 19, 44, 4, 11, 2,199, 10, 6, 51, 6, 41, 61, 34, 22, 2, 23, 40, 1, 1, 38, 41, 48, 31, 57, 22, + 36, 5, 41, 27, 13, 76, 38, 21, 16, 84,254, 6, 6, 69, 1, 96, 3, 6, 13, 77, 23, 7, 2, 80,206,248, 1, 5, 24, 65,253, 91, + 26, 2, 77,178, 72, 13, 4,252, 89, 1, 11,254,142, 12, 3,254,223, 36, 2, 3, 13, 59,151,141, 38, 3, 24, 23, 38,101, 61, 24, + 79, 37, 47, 5, 12,253, 78, 4, 7, 2,255, 8, 3,253, 5, 13, 44, 8, 4, 2, 56, 40, 4, 7, 46, 2,143, 55, 76, 49, 82, 21, + 4,254,224, 24, 17, 21, 20,187,102,126, 1, 72, 56, 83, 16, 81, 27, 30, 44,122, 72, 37, 1, 57, 68, 54, 13, 29, 41,106, 71, 80, + 64, 2,246, 52,128, 82,106,100,166,137, 95, 42, 75,102,115,251, 68, 22, 20, 15,142, 73, 82, 23, 9, 9, 10, 15, 57, 33, 10, 14, + 7, 6, 15, 6, 2, 2, 79, 17, 12, 4, 10, 8, 19,238, 1, 28, 45, 2, 22, 93,145,144, 38, 21, 67, 4, 1, 43, 25, 17, 18, 24, + 1,213, 47, 26, 60, 85,103, 64, 65, 53, 79, 33, 43, 71, 0, 0, 0, 2, 0, 56, 0, 7, 4,153, 5,223, 0, 7, 0, 12, 0, 0, + 9, 1, 19, 7, 33, 39, 19, 9, 1, 3, 33, 3, 1, 2,110, 1,235, 63, 2,251,167, 4, 66, 1,241,254, 90, 57, 3,183, 54,254, + 92, 5,223,254,119,251,180, 3, 6, 4, 76, 1,134,254, 53,252, 95, 3,161, 1, 75, 0, 0, 0, 0, 1, 0, 47, 0, 2, 4,162, + 5,210, 0, 9, 0, 0, 9, 1, 19, 23, 7, 33, 39, 19, 0, 55, 2,108, 1,241, 66, 2, 2,251,149, 4, 68, 1,230, 16, 5,210, +254,119,251,191, 3, 3, 6, 4, 68, 1,128, 6, 0, 1, 0, 38, 0, 7, 4,171, 4,196, 0, 66, 0, 0, 1, 39, 38, 53, 52, 55, + 54, 51, 50, 22, 54, 51, 50, 23, 22, 21, 20, 15, 1, 55, 54, 23, 22, 23, 22, 21, 20, 7, 14, 1, 22, 7, 6, 7, 6, 35, 34, 39, + 38, 47, 1, 18, 7, 35, 54, 3, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 54, 38, 39, 38, 53, 52, 55, 54, 55, 54, 23, 2, 82,165, + 56, 67, 28, 29, 67, 66, 67, 44, 71, 42, 10, 69,152,248,104, 93, 27, 26, 54, 6, 13,101, 59, 22, 8, 25, 44, 48, 25, 27, 81, 58, +157, 31,110, 72,136, 30,157, 59, 80, 27, 25, 48, 43, 26, 9, 21, 59,101, 13, 6, 54, 26, 27, 92,105, 2,126,250, 84, 90, 87, 52, + 18, 88, 88, 92, 34, 31,103, 94,225, 82, 41, 32, 10, 22, 53, 54, 17, 17, 46, 39, 95, 69, 30, 22, 33, 10, 27, 83,226,254,190,241, +241, 1, 66,226, 83, 27, 10, 33, 22, 30, 69, 95, 39, 46, 17, 16, 55, 53, 22, 10, 32, 41, 0, 0, 0, 2, 0, 47, 1,160, 4,162, + 4,116, 0, 57, 0, 62, 0, 0, 1, 22, 23, 20, 7, 6, 7, 22, 23, 51, 23, 7, 35, 6, 7, 34, 39, 52, 51, 22, 55, 50, 55, 38, + 39, 35, 34, 7, 22, 21, 6, 7, 36, 3, 52, 55, 22, 23, 21, 7, 20, 23, 50, 55, 18, 55, 22, 7, 20, 7, 54, 55, 50, 53, 54, 55, + 54, 38, 3, 6, 23, 53, 38, 3,251, 85, 15, 56,134, 15,195, 41, 21, 15, 36, 2, 13,116, 74, 19, 15, 12, 46, 59, 9,199, 5, 3, +100, 51,102, 7,255,254, 44, 34, 51, 39, 6, 10, 86, 68, 10, 40,227,153, 4, 32, 71, 76, 47, 55, 59, 59, 44,103, 11,185, 24, 4, +116, 4, 94, 70, 21, 29, 36, 22,221, 60, 10,142, 7, 76, 68, 38, 1, 63, 62,196, 88, 52, 82,200, 13, 2, 1, 33, 47, 8, 3, 35, + 19, 32, 73, 10, 63, 1,132, 16, 4,137, 32, 80, 63, 16, 31, 68, 33, 41, 77,254,230,118, 62, 2,147, 0, 0, 0, 0, 1, 0, 47, + 1, 14, 4,162, 4,122, 0, 50, 0, 0, 1, 33, 34, 38, 53, 52, 54, 55, 54, 55, 51, 55, 35, 38, 39, 38, 53, 52, 62, 1, 59, 1, + 55, 35, 34, 38, 53, 52, 54, 55, 54, 55, 33, 55, 33, 34, 38, 53, 52, 62, 1, 51, 33, 54, 55, 54, 51, 33, 50, 22, 21, 4,104,253, +244, 33, 46, 21, 19, 14, 14, 41, 3,103, 36, 19, 24, 22, 39, 19,137, 1,196, 51, 48, 23, 19, 15, 17, 1, 1, 2,253,185, 33, 47, + 22, 38, 20, 2,106, 6, 13, 23, 33, 1, 29, 32, 47, 1, 14, 58, 40, 26, 47, 12, 9, 3, 11, 2, 24, 29, 41, 25, 47, 26, 10, 57, + 41, 24, 47, 13, 11, 2, 9, 57, 41, 26, 48, 24, 21, 16, 29, 58, 42, 0, 0, 0, 0, 1, 0, 47, 1, 14, 4,162, 4,122, 0, 50, + 0, 0, 19, 3, 52, 54, 51, 33, 50, 23, 22, 23, 33, 50, 30, 1, 21, 20, 6, 35, 33, 23, 33, 22, 23, 30, 1, 21, 20, 6, 43, 1, + 23, 51, 50, 30, 1, 21, 20, 7, 6, 7, 35, 23, 51, 22, 23, 30, 1, 21, 20, 6, 35,105, 57, 47, 32, 1, 29, 33, 23, 13, 6, 2, +106, 20, 38, 22, 47, 33,253,185, 2, 1, 1, 17, 15, 19, 23, 48, 51,196, 1,137, 19, 39, 22, 24, 19, 36,103, 3, 41, 14, 14, 19, + 21, 46, 33, 1, 14, 3, 8, 42, 58, 29, 16, 21, 24, 48, 26, 41, 57, 9, 2, 11, 13, 47, 24, 41, 57, 10, 26, 47, 25, 41, 29, 24, + 2, 11, 3, 9, 12, 47, 26, 40, 58, 0, 0, 0, 0, 2, 0, 14, 1, 26, 4,195, 4, 33, 0, 33, 0, 67, 0, 0, 1, 19, 52, 38, + 35, 33, 34, 7, 33, 38, 21, 20, 51, 33, 7, 33, 34, 21, 20, 51, 33, 7, 35, 34, 21, 20, 59, 1, 7, 35, 34, 21, 20, 51, 7, 38, + 39, 54, 55, 51, 55, 35, 38, 39, 54, 55, 51, 55, 33, 34, 39, 54, 55, 33, 55, 33, 34, 39, 54, 51, 33, 54, 55, 33, 50, 22, 21, 3, + 4,101, 59, 39, 27,254,225, 43, 19,253,112, 67, 67, 2,111, 10,254,224, 67, 67, 0,255, 7,180, 67, 67,142, 16, 50, 67, 67, 23, + 75, 1, 1, 75, 60, 4,139, 76, 1, 1, 76,185, 2,255, 0, 75, 1, 1, 75, 1, 37, 3,253,147, 74, 1, 1, 74, 2,148, 26, 54, + 1, 48, 34, 50, 61, 1, 50, 2,129, 30, 41, 46, 2, 61, 60, 61, 61, 60, 64, 61, 58, 62, 61, 59, 24, 1, 84, 84, 1, 11, 1, 85, + 83, 1, 15, 85, 84, 1, 12, 85, 84, 56, 1, 51, 36,253, 81, 0, 0, 2, 0,140, 0, 0, 4, 69, 5,202, 0, 33, 0, 68, 0, 0, + 55, 5, 50, 54, 53, 17, 52, 39, 17, 54, 35, 34, 21, 17, 39, 17, 52, 35, 34, 21, 17, 39, 53, 52, 35, 34, 29, 1, 39, 53, 52, 35, + 34, 21, 39, 54, 55, 22, 23, 21, 23, 53, 54, 55, 22, 23, 21, 23, 17, 52, 55, 22, 23, 17, 23, 17, 54, 55, 22, 21, 17, 22, 23, 17, + 20, 6, 35, 37, 19,170, 3, 21, 36, 52, 58, 2, 74, 73, 76, 76, 72, 79, 75, 72, 76, 75, 73, 29, 1,104,103, 1, 14, 1,104,103, + 1, 18,105,103, 1, 15, 1,104,103, 68, 2, 62, 45,252,178, 1,115, 74, 49, 32, 1, 98, 54, 22, 3, 39, 83, 83,253, 2, 13, 1, + 99, 82, 82,254,196, 9,223, 83, 83,174, 18, 63, 83, 83, 28, 92, 1, 1, 92, 75, 4,172, 92, 1, 1, 92,228, 3, 1, 59, 92, 1, + 1, 92,254,150, 4, 2,253, 93, 1, 1, 93,252,212, 33, 65,254,138, 42, 62, 75, 2,155, 0, 0, 0, 2, 0, 14, 1, 26, 4,195, + 4, 33, 0, 33, 0, 68, 0, 0, 19, 33, 50, 53, 52, 43, 1, 39, 51, 50, 53, 52, 43, 1, 39, 33, 50, 53, 52, 35, 33, 39, 33, 50, + 53, 52, 7, 33, 38, 35, 33, 34, 6, 21, 1, 48, 33, 3, 52, 54, 51, 33, 22, 23, 33, 50, 23, 6, 35, 33, 23, 33, 22, 23, 6, 35, + 33, 23, 51, 22, 23, 6, 7, 35, 23, 51, 22, 23, 6,108, 2, 31, 67, 67, 50, 16,142, 67, 67,180, 7, 0,255, 67, 67,254,224, 10, + 2,111, 67, 67,253,112, 19, 43,254,225, 27, 39, 2,113,253,170, 61, 50, 34, 1, 48, 54, 26, 2,148, 74, 1, 1, 74,253,147, 3, + 1, 37, 75, 1, 1, 75,255, 0, 2,185, 76, 1, 1, 76,139, 4, 60, 75, 1, 1, 1, 50, 59, 61, 62, 58, 61, 64, 60, 61, 61, 60, + 61, 2, 46, 41, 30,253,103, 2,175, 36, 51, 1, 56, 84, 85, 12, 1, 84, 85, 15, 1, 83, 85, 1, 11, 1, 84, 84, 0, 2, 0,140, +255,249, 4, 69, 5,194, 0, 33, 0, 67, 0, 0, 19, 20, 51, 50, 61, 1, 55, 21, 20, 51, 50, 61, 1, 55, 17, 20, 51, 50, 53, 17, + 55, 17, 20, 51, 50, 39, 17, 54, 53, 17, 52, 38, 35, 5, 39, 37, 50, 22, 21, 17, 6, 7, 17, 20, 7, 38, 39, 17, 7, 17, 6, 7, + 38, 53, 17, 7, 21, 6, 7, 38, 39, 53, 7, 21, 6, 7, 38, 39,170, 73, 75, 76, 72, 75, 79, 72, 76, 76, 73, 74, 2, 58, 52, 36, +252,235, 30, 3, 78, 45, 62, 2, 68,103,104, 1, 15, 1,103,105, 18, 1,103,104, 1, 14, 1,103,104, 1, 2,179, 83, 83, 61, 20, +174, 83, 83,221, 9,254,198, 83, 83, 1, 98, 13,253, 1, 83, 83, 3, 39, 23, 54, 1, 97, 33, 48, 74, 41, 75, 62, 42,254,138, 66, + 32,252,212, 92, 1, 1, 92, 2,252, 4,254,152, 93, 1, 1, 93, 1, 58, 2,228, 93, 1, 1, 93,171, 4, 74, 93, 1, 1, 93, 0, + 0, 29, 0, 12,255,254, 4,197, 4,191, 0, 79, 0,128, 0,136, 0,144, 0,159, 0,174, 0,181, 0,188, 0,205, 0,211, 0,218, + 0,222, 0,226, 0,230, 0,234, 0,238, 0,242, 0,246, 0,250, 0,254, 1, 2, 1, 17, 1, 29, 1, 33, 1, 37, 1, 41, 1, 45, + 1, 49, 1, 53, 0, 0, 1, 50, 23, 22, 29, 1, 20, 7, 23, 21, 20, 7, 51, 54, 53, 54, 59, 1, 50, 21, 22, 29, 1, 6, 35, 39, + 6, 7, 21, 23, 55, 22, 21, 20, 7, 20, 43, 1, 34, 47, 1, 6, 35, 34, 39, 6, 21, 6, 43, 1, 34, 53, 38, 53, 52, 55, 23, 55, + 53, 39, 7, 34, 39, 53, 52, 55, 54, 59, 1, 50, 31, 1, 53, 39, 55, 38, 53, 54, 55, 54, 1, 20, 23, 51, 53, 38, 53, 54, 59, 1, + 23, 7, 23, 21, 7, 21, 20, 23, 22, 29, 1, 23, 51, 55, 52, 55, 54, 53, 39, 55, 53, 39, 55, 22, 29, 1, 7, 23, 54, 61, 1, 52, + 39, 38, 43, 1, 32, 7, 6, 5, 22, 7, 6, 39, 34, 39, 52, 33, 22, 23, 6, 35, 34, 39, 38, 19, 51, 54, 51, 23, 54, 53, 38, 53, + 38, 35, 6, 7, 6, 21, 37, 6, 35, 6, 21, 23, 55, 22, 23, 53, 52, 39, 38, 53, 38, 5, 23, 21, 7, 38, 53, 52, 55, 22, 21, 20, + 7, 39, 53, 3, 22, 51, 54, 55, 38, 55, 6, 7, 6, 43, 1, 38, 39, 38, 39, 22, 55, 22, 23, 51, 53, 38, 5, 21, 50, 63, 1, 34, + 7, 5, 21, 23, 53, 55, 21, 55, 53, 7, 21, 23, 53, 51, 21, 55, 39, 7, 21, 55, 39, 7, 21, 51, 53, 51, 21, 51, 53, 7, 21, 23, + 53, 23, 21, 51, 53, 7, 21, 51, 53, 5, 39, 7, 21, 22, 21, 22, 51, 50, 55, 54, 55, 38, 53, 6, 37, 7, 22, 21, 20, 23, 50, 63, + 1, 38, 35, 7, 37, 7, 23, 53, 7, 21, 23, 53, 39, 21, 23, 53, 23, 21, 55, 53, 55, 21, 55, 53, 55, 21, 55, 53, 2,117,233,111, + 44, 77, 5, 19, 4,122, 34, 27, 6, 48, 54, 20, 48, 68,189, 47,178, 53, 73, 58, 50, 4, 39, 53,144, 58,131,134, 54,160, 38, 34, + 11, 42, 58, 68, 58,173,231, 83, 52, 6, 54, 3, 30, 25, 36, 46,101, 19, 9, 81, 26,201, 78,254,240, 53, 5, 23, 8, 10, 10, 14, + 10, 25, 15,117, 52, 77, 68, 97,149, 25, 20, 26, 10, 23, 19, 23, 4, 54,170, 98, 85, 29,254,254, 80, 15, 1, 25, 43, 10, 44, 72, + 59, 27, 1, 96,155, 4, 28, 73, 50, 51, 2,181, 4,214, 18, 78, 24, 53, 6, 15, 21, 40,189,253, 13, 13, 10, 40, 35, 73, 48,183, + 77,154, 19, 1,211, 10, 39, 29, 94, 53, 31, 37,204, 35,163,165, 33, 5, 25, 27, 21, 58, 88, 43,145, 9, 6, 34, 22, 7, 15, 19, + 5, 7, 1, 42, 11, 3, 19, 10, 18,254,236, 14,222, 20,227, 19,155, 21, 2, 54, 18, 3, 87, 24, 15, 19,125, 19, 87, 19, 58, 24, +254,117, 87, 5, 52, 5, 10, 15, 53,118, 26, 14,142, 2, 84, 13,173, 38, 16, 9, 47, 4, 24, 72,254, 51, 3, 23, 19, 19, 86, 19, +156, 20, 12, 19, 15, 20, 4,190,156, 88, 68, 57, 92, 83, 76, 5, 43, 38, 51, 49, 46,100, 43, 28, 19, 37, 6, 88, 33, 15, 81, 10, + 14, 36, 31, 50, 96, 96, 75, 80, 80, 80, 20, 71, 91, 54, 37, 35, 10, 10, 81, 15,121, 6, 45, 11, 22, 54, 91, 91, 51, 5, 71, 75, + 91,175,187, 79, 23,254,194, 96, 95, 65, 91, 45, 41, 15, 36,116, 55,136, 10, 76, 25, 45, 36, 20, 10, 21, 76, 54, 29, 61,152,127, + 15, 34, 17, 9, 28, 40,141, 20, 67, 74, 35,171, 82, 34,196, 48,169, 13, 58,130, 4,126, 71, 8, 66,123,126, 69,254,111,106, 4, + 6, 8, 60, 30, 52, 8, 83, 91, 16,191, 90, 30, 21, 8, 4, 15, 97, 11, 76, 21, 67, 53, 29, 11, 5,129, 41, 10, 46, 85, 37, 43, + 90, 38, 7, 41,131,254,205,162, 12,155, 55,101, 31,141, 60, 18, 73, 76, 65, 97, 77, 30,111, 75, 51, 51, 75, 64, 71, 54, 11, 36, + 4, 36, 4, 40, 8, 38, 12, 40, 4, 39, 39, 6, 38, 5, 49, 2, 47, 4, 45, 45, 45, 45, 50, 41, 4, 40, 11, 40, 45, 5, 40, 40, +100, 4, 4, 16, 46, 39, 45, 84, 63, 24, 30, 24, 79, 75, 56, 84, 36, 12, 33, 84, 51, 15, 4,166, 40, 5, 45, 60, 40, 5, 40, 26, + 39, 6, 41, 20, 41, 5, 41, 3, 40, 4, 41, 8, 41, 6, 40, 0, 0, 1, 0, 9,255,251, 4,200, 5,211, 0, 38, 0, 0, 1, 50, + 23, 22, 21, 20, 7, 1, 7, 20, 23, 37, 50, 23, 21, 20, 35, 5, 34, 39, 38, 61, 1, 52, 55, 0, 55, 54, 53, 52, 39, 35, 5, 34, + 39, 53, 52, 55, 51, 2,244,116, 92, 42,101,253,232, 9, 79, 2,201, 64, 7, 85,253, 67,131, 88, 22,113, 1,249, 16, 9, 80, 9, +253, 83, 46, 9, 80, 11, 5,211,141, 77, 79,138, 98,253,160, 62, 89, 26,209, 97, 3, 89,198,174, 53, 56, 24,138,108, 2, 55, 27, + 27, 22, 80, 32,204, 80, 30, 64, 12, 0, 0, 0, 0, 6, 0, 8, 0, 2, 4,201, 4,195, 0, 17, 0, 36, 0, 48, 0, 60, 0, 70, + 0, 88, 0, 0, 1, 32, 19, 22, 21, 16, 5, 6, 43, 1, 32, 3, 38, 61, 1, 16, 37, 54, 5, 38, 35, 34, 7, 6, 21, 16, 23, 22, + 51, 32, 19, 54, 61, 1, 16, 37, 38, 3, 35, 34, 39, 19, 22, 59, 1, 50, 55, 19, 6, 3, 6, 29, 1, 33, 53, 52, 55, 54, 55, 19, + 6, 37, 22, 23, 33, 38, 39, 38, 39, 19, 22, 5, 50, 23, 22, 21, 20, 7, 6, 43, 1, 34, 39, 38, 61, 1, 52, 55, 54, 2, 94, 1, + 55,215, 92,254,255,158,172, 26,254,203,213, 80, 1, 18,151, 1,184,135,135,244,191,103,227,145,181, 1, 21,190, 72,254,236, 4, +244, 22,137,114,169, 39, 46, 6, 41, 37,173,115,234, 77,254,167,233, 14, 16,170, 5, 2, 13, 77, 2,254,166, 1, 25, 27, 35,170, +102,254,155, 67, 45, 20, 55, 33, 37, 6, 65, 46, 17, 59, 32, 4,194,254,211,142,174,254,239,206,119, 1, 58,142,144, 23, 1, 19, +210,107,139, 75,240,143,158,254,255,183,113, 1, 26,122,134, 13, 1, 24,182, 3,252, 43, 72, 1, 42, 25, 24,254,214, 71, 2,144, + 59, 77, 4, 13,234,178, 10, 10,254,214, 3,116,117,143, 47, 38, 40, 21, 1, 40, 65,247, 65, 30, 38, 58, 43, 26, 67, 30, 31, 4, + 59, 46, 23, 0, 0, 6, 0, 34, 0, 7, 4,175, 4, 47, 0, 9, 0, 19, 0, 29, 0, 56, 0, 80, 0,105, 0, 0, 1, 62, 1, 39, + 54, 55, 22, 6, 7, 38, 3, 38, 6, 7, 38, 39, 54, 22, 23, 6, 5, 20, 22, 23, 6, 7, 46, 1, 55, 22, 1, 6, 35, 34, 39, 38, + 39, 7, 6, 7, 6, 35, 34, 39, 22, 54, 55, 54, 39, 55, 22, 55, 23, 6, 23, 30, 1, 3, 22, 23, 22, 7, 51, 22, 23, 22, 29, 1, + 46, 1, 35, 6, 7, 39, 54, 39, 53, 54, 55, 54, 38, 1, 38, 53, 52, 55, 54, 23, 39, 38, 39, 54, 55, 14, 1, 23, 22, 31, 1, 6, + 23, 7, 38, 7, 38, 6, 2,220, 48, 55, 5, 26, 26, 9, 94, 60, 12, 5, 49,120, 44, 23, 15, 66,177, 53, 18,254,177, 64, 50, 2, + 11, 74, 86, 8, 30, 2,171, 77,118, 33, 35,117, 65, 1, 43, 85, 66, 68, 88, 91,102,185, 42, 59, 45, 49, 48, 41, 46, 46, 67, 44, +157,183,115, 66, 35, 72, 2, 75, 85,139, 9,149, 80,130, 93, 49, 5, 50,129, 60, 48, 27,252,209, 3, 86, 81,137, 1, 31, 2, 12, +196,125, 37, 39, 72,136, 1, 54, 8, 45, 84,125, 94,128, 1, 36, 29,107, 55, 10, 4, 82,151, 26, 27, 1,135, 27, 5, 31, 16, 20, + 50, 7, 39, 23,198, 55,102, 23, 27, 24, 33,157, 65, 4,254, 92, 59, 5, 25,121, 1, 63, 49, 33, 53, 48, 66, 69,116,132, 30, 34, + 33, 28,122,107, 81, 59, 4, 15, 48,154,113,117, 7, 48, 92,183, 7,111,130, 7,105, 29, 58, 19, 53, 22,111, 80,165,253, 90, 17, + 17,106,115, 88, 4, 1, 70, 97,192, 80, 74,194, 71,108, 27, 59, 24, 52, 26,101, 4, 1,106, 0, 0, 23, 0, 78,255,255, 4,131, + 5, 94, 0, 3, 0, 19, 0, 25, 0, 29, 0, 49, 0, 70, 0, 91, 0,113, 0,139, 0,149, 0,154, 0,159, 0,164, 0,169, 0,174, + 0,179, 0,184, 0,189, 0,194, 0,199, 0,204, 0,209, 0,252, 0, 0, 1, 6, 55, 38, 23, 38, 7, 6, 39, 55, 39, 54, 23, 22, + 23, 6, 7, 38, 39, 36, 1, 6, 7, 35, 38, 55, 3, 22, 39, 38, 19, 21, 6, 35, 34, 39, 53, 38, 55, 54, 55, 22, 23, 6, 7, 6, + 4, 7, 35, 38, 39, 21, 39, 53, 36, 39, 54, 55, 22, 23, 6, 7, 6, 4, 23, 22, 7, 39, 54, 39, 54, 3, 21, 39, 53, 36, 39, 54, + 55, 22, 23, 6, 23, 6, 4, 23, 6, 7, 39, 54, 53, 54, 7, 38, 39, 54, 55, 22, 23, 6, 21, 20, 4, 23, 6, 7, 38, 39, 54, 39, + 38, 39, 21, 39, 19, 21, 39, 53, 36, 55, 54, 55, 54, 23, 7, 23, 6, 39, 38, 7, 6, 4, 23, 6, 7, 38, 39, 54, 39, 54, 1, 20, + 30, 1, 51, 38, 55, 34, 14, 1, 5, 22, 23, 55, 38, 39, 22, 23, 55, 38, 39, 22, 23, 55, 38, 39, 22, 7, 55, 38, 39, 22, 7, 23, + 54, 39, 6, 7, 23, 54, 37, 23, 54, 55, 6, 7, 23, 54, 55, 6, 7, 23, 54, 55, 6, 31, 1, 38, 55, 6, 23, 55, 38, 55, 6, 23, + 55, 38, 39, 6, 23, 21, 39, 53, 38, 7, 34, 39, 54, 37, 22, 23, 22, 51, 53, 38, 39, 46, 1, 53, 52, 62, 1, 50, 30, 1, 21, 20, + 6, 7, 6, 7, 51, 20, 35, 21, 54, 55, 4, 23, 6, 35, 38, 3, 5, 16, 56, 9,112, 10, 43, 87, 68, 84, 99, 39, 72,188, 12, 2, +130, 64,145, 1, 1,254,162, 88, 28, 14, 1, 79, 96, 61, 19, 32,220, 10, 24, 31, 3,161, 1, 4, 59, 42, 41, 56, 1, 2, 1, 32, + 2, 14, 24,107, 68,254,255, 4, 2,118, 47, 80,157, 3, 5, 1,146, 5, 4,107, 45, 74, 12, 1, 75, 68,254,176, 2, 4,104, 71, + 97,202, 13, 9, 2, 68, 1, 4,138, 96,150, 2,235,247, 5, 1,103, 66, 68,150, 1,234, 3, 4,160, 30, 54,166, 5, 2,172, 68, + 68, 68,254,159, 1, 12,188, 61, 51,100, 84, 68, 87, 44, 9, 3, 2,155, 6, 6,160, 58,103,242, 1, 11,254,149, 17, 30, 17, 28, + 28, 16, 31, 17, 1,151,106, 41, 25, 89,138,105, 35, 39, 87,116, 73, 16, 45, 57,119, 49, 1, 56, 36, 94, 2, 23, 56, 2, 59, 46, + 47, 55, 45,253, 73, 25, 41,106, 83, 41, 39, 35,105, 92, 18, 45, 16, 73, 77, 15, 57, 2, 49, 68, 59, 56, 23, 2, 37, 97, 55, 47, + 46, 7,216, 68, 61,117,246, 82, 78, 1, 66, 22, 82, 1, 1, 2, 2, 19, 21, 21, 38, 39, 37, 22, 21, 18, 3, 3, 1, 1, 81, 22, + 1, 66, 78, 82,246,113, 3,207, 32, 22, 18,100, 50, 10, 31, 14, 21, 23, 68, 13, 3,115, 57, 30, 16, 8, 18,253, 16, 31, 56, 67, + 32, 3, 91, 24, 34, 8,252,124, 52, 24, 52, 38, 27, 51, 44, 22, 12, 5, 20, 17, 39, 50, 94, 51,159, 82, 12, 84, 40, 66, 63, 29, + 18, 8, 23, 35, 39, 57, 67, 45, 13, 11, 18, 33, 21, 1,121,129, 12,126, 35, 90, 49, 20, 19, 6, 15, 29, 48, 62, 78, 63, 30, 25, + 36, 23, 37,151, 30, 89, 52, 28, 11, 7, 30, 41, 37, 70, 78, 63, 19, 13, 10, 29, 40, 28, 27,123, 11, 1,219,117, 8,115, 19,105, +115, 4, 3, 60, 22, 21, 14, 32, 10, 51, 40, 38, 94, 84, 18, 15, 14, 25, 48, 29, 2, 53, 17, 29, 16, 60, 62, 15, 30, 55, 59, 44, + 35, 52, 20, 91, 58, 31, 79, 40,118, 65, 17,102, 71,135, 69, 7,116, 89,143, 66, 10,122, 94,126, 52, 23,106, 10, 35, 44, 59, 16, + 98, 31, 58, 91, 39,126, 17, 65,118, 64,126, 7, 69,135, 81,130, 10, 66,143, 97,107, 23, 52,126, 95,170,190, 6,178, 72, 35,152, + 84, 6, 50, 27, 1, 22, 1, 1, 10, 36, 20, 19, 36, 20, 20, 36, 19, 20, 36, 10, 1, 1, 1, 20, 27, 50, 6, 84,152, 34, 0, 0, + 0, 2, 0, 96,255,255, 4,113, 5,216, 0, 7, 0, 36, 0, 0, 1, 38, 39, 6, 7, 22, 23, 54, 7, 38, 39, 54, 55, 22, 23, 22, + 7, 51, 50, 55, 17, 38, 7, 35, 17, 20, 23, 33, 54, 53, 17, 35, 38, 7, 17, 22, 51, 2,214, 2,106,106, 1, 7,100,110,175,104, + 10, 2,177,177, 3, 4,119,143,158,152,150,160,143, 87,254,209, 86,147,159,150,152,158, 4,221,177, 2, 2,177,142,113, 90,114, +101,184,243, 2, 2,243,194, 91, 99,254,247, 55, 1,254, 12,181,174,174,181, 1,244, 1, 55, 1, 9, 99, 0, 0, 0, 3, 0,121, +255,254, 4, 88, 5,218, 0, 3, 0, 32, 0, 44, 0, 0, 1, 21, 51, 53, 39, 53, 51, 21, 51, 21, 35, 21, 51, 5, 21, 33, 17, 23, + 21, 39, 3, 35, 3, 39, 53, 23, 17, 33, 53, 33, 53, 35, 53, 19, 51, 17, 33, 53, 33, 53, 35, 21, 33, 21, 33, 1,252,202,182,170, +126,126, 10, 1,148,254, 98,144,136, 2,176, 2,134,134,254,108, 1,150,118,164, 70, 1, 12,254,244, 70,254,244, 1, 12, 5, 65, + 60, 60, 51,102,102,162, 88, 1,175,253,232,139,156,133,254,238, 1,188,134,155,130, 1,113,176, 88,162,252,207, 1,187, 71, 99, + 99, 71, 0, 0, 0, 2, 0, 97, 0, 7, 4,112, 6, 2, 0, 7, 0, 32, 0, 0, 1, 17, 51, 50, 54, 52, 38, 35, 1, 17, 33, 50, + 22, 21, 20, 6, 43, 1, 21, 55, 51, 9, 1, 35, 39, 21, 35, 53, 7, 35, 9, 1, 51, 2,109,171, 96,104,104, 96,254,206, 1, 50, +169,174,174,169,171,179,180,254,177, 1, 96,179,196,136,209,179, 1,104,254,182,181, 5,124,254, 59,118,217,118,252,188, 3,202, +183,177,178,182,252,194,254,147,254,125,214,214,228,228, 1,138, 1,102, 0, 0, 0, 1, 0,204,255,251, 4, 5, 5,205, 0, 31, + 0, 0, 1, 51, 23, 21, 51, 23, 21, 7, 35, 21, 33, 23, 21, 7, 33, 17, 7, 35, 39, 17, 33, 39, 53, 55, 33, 53, 35, 39, 53, 55, + 51, 53, 2, 12,182, 6,175, 6, 6,175, 1, 54, 7, 7,254,202, 6,182, 6,254,204, 6, 6, 1, 52,174, 5, 5,174, 5,205, 5, +154, 6,148, 6,112, 6,152, 5,252,134, 5, 5, 3,122, 5,152, 6,112, 6,148, 6,154, 0, 0, 0, 1, 0, 55, 0, 1, 4,154, + 4,100, 0, 43, 0, 0, 1, 33, 23, 21, 7, 35, 17, 33, 53, 55, 51, 23, 17, 7, 35, 39, 53, 33, 17, 51, 23, 21, 7, 33, 39, 53, + 55, 51, 17, 33, 21, 7, 35, 39, 17, 55, 51, 23, 21, 33, 17, 35, 39, 53, 1,196, 1, 73, 4, 4,120, 1,172, 5, 79, 5, 5, 79, + 5,254, 84,120, 4, 4,254,183, 4, 4,128,254, 83, 5, 86, 4, 4, 86, 5, 1,173,128, 4, 4,100, 5, 89, 4,254, 92,121, 5, + 5,254,183, 5, 5,118,254, 86, 4, 80, 4, 4, 80, 4, 1,170,118, 5, 5, 1, 73, 5, 5,121, 1,164, 4, 89, 0, 2, 0, 30, + 0, 3, 4,179, 5, 39, 0, 27, 0, 44, 0, 0, 1, 51, 50, 23, 35, 39, 32, 3, 6, 21, 16, 5, 22, 51, 55, 21, 6, 7, 6, 43, + 1, 32, 3, 38, 53, 16, 37, 54, 1, 51, 50, 23, 51, 21, 7, 22, 21, 39, 7, 35, 53, 55, 39, 53, 51, 2,109, 16,175,166, 4,189, +254,240,165, 74, 1, 14,108,123,203,126,109, 64, 43, 22,254,221,188,104, 1, 52,136, 1,250, 2, 5, 49,165,133, 52,140,134, 2, + 52,136,168, 5, 39,129, 48,254,239,138,163,254,190,188, 62, 44, 5, 95, 22, 10, 1, 23,169,205, 1,118,210, 78,254,107,177, 3, +110,165, 15,109,109, 3,177,110, 3, 0, 0, 0, 0, 4, 0, 8, 0, 0, 4,201, 4,193, 0, 22, 0, 79, 0, 98, 0,115, 0, 0, + 1, 22, 51, 50, 55, 22, 51, 50, 55, 53, 51, 23, 21, 20, 15, 1, 34, 39, 6, 35, 34, 39, 52, 23, 51, 22, 23, 50, 21, 3, 51, 54, + 17, 52, 39, 53, 22, 29, 1, 20, 7, 6, 7, 21, 22, 59, 1, 21, 6, 43, 1, 34, 7, 39, 35, 34, 39, 53, 51, 50, 55, 53, 39, 38, + 39, 38, 53, 52, 63, 1, 21, 6, 21, 16, 23, 53, 3, 53, 55, 50, 39, 21, 6, 7, 6, 21, 20, 23, 21, 35, 38, 39, 38, 53, 52, 55, + 54, 51, 52, 37, 22, 23, 22, 29, 1, 20, 7, 6, 7, 52, 55, 54, 61, 1, 16, 39, 1,220, 22, 52, 38, 26, 31, 35, 54, 17, 4, 2, + 56, 25, 36, 28, 27, 36, 66, 13,144, 2, 41, 27, 7, 8, 1,238, 90,181,182, 62, 38, 65,134, 21, 95, 59,105, 17, 56, 56,117, 45, +111, 49, 98, 70, 71,102, 29, 81,162, 27, 95,239, 15, 3, 28,208, 77, 53,109,119, 2,128, 76, 31,218, 98, 29, 2, 4,107,106,143, +135, 73, 25, 44, 75,242, 4,192, 61, 39, 39, 56, 5, 32, 4, 48, 22, 3, 35, 35, 82, 27,109, 52, 9, 4,252,218,185, 1, 43,158, +168, 2,175,225, 29,220,180, 53, 18, 4, 33, 4, 27, 80, 80, 23, 4, 34, 3, 52, 92, 61,143,144,209,187, 25, 4,156,184,254,232, +199, 2, 2,142, 18,138, 34, 5, 56, 81,165,195,189,174, 1, 60,189, 87, 84,218,166, 57, 3, 2, 25, 91,148,176, 38,172,148, 66, + 5, 6, 67,142,155, 2, 1, 40,198, 0, 0, 0, 0, 3, 0,103,255,249, 4,106, 5, 91, 0, 84, 0, 95, 0,103, 0, 0, 1, 50, + 23, 15, 1, 22, 23, 22, 21, 20, 7, 21, 35, 21, 50, 55, 54, 53, 52, 39, 55, 51, 22, 21, 16, 3, 38, 35, 34, 21, 20, 23, 22, 7, + 6, 35, 6, 39, 38, 39, 21, 6, 23, 20, 35, 34, 53, 54, 61, 1, 6, 21, 6, 39, 34, 39, 52, 54, 39, 52, 35, 34, 7, 2, 17, 52, + 55, 51, 23, 6, 21, 20, 23, 22, 23, 53, 35, 53, 38, 53, 52, 55, 47, 1, 54, 3, 20, 23, 51, 54, 53, 52, 39, 6, 7, 6, 37, 6, + 21, 20, 23, 54, 53, 52, 2,105, 61, 75, 17, 14,117, 47, 51,188,110,111,131,124,115, 20, 4,215,137,110, 73, 51,110, 30, 2, 12, + 39, 59, 6, 54, 87, 4, 78, 96,102, 73,141, 7, 58, 37, 13,141, 3, 43, 75,107,141,209, 5, 19,115,197, 58,111,109,188,219, 22, + 15, 80,189,124, 4, 64, 26, 82, 47, 37, 1, 83, 32, 60,133, 5, 91, 69, 14,114, 42, 74, 75, 78,183, 90, 69,110,118,145,182,162, +105, 17,152,237,254,247,254,226,160, 41, 26,135, 37, 42, 54, 8, 38,219, 45,138, 67,108, 54, 55,106, 71,135, 86,176, 34, 2, 54, + 59,155, 30, 37,159, 1, 10, 1, 50,214,153, 17,112,160,231,150, 43, 16,110, 69, 85,187,175, 95,114, 17, 66,254, 40,134, 69, 97, +128, 76,116, 23, 68, 58,149,106, 91,126, 94, 57,154,140, 0, 0, 0, 1, 0, 15, 0, 5, 4,194, 5, 34, 0, 50, 0, 0, 1, 50, + 23, 22, 21, 20, 7, 23, 7, 35, 39, 6, 35, 34, 39, 21, 3, 35, 38, 39, 54, 1, 54, 51, 22, 51, 50, 55, 39, 7, 35, 38, 39, 55, + 22, 21, 7, 22, 23, 53, 54, 61, 1, 52, 39, 38, 43, 1, 34, 7, 54, 2,171,190,169,120,100,156,113, 2,149,133,175,137,115,209, + 2,165, 3, 21, 1, 22, 19, 6, 91,127,154,121,174, 87, 5,151, 7,188,227,101,185, 23, 54,202,111, 96, 29, 79, 97,137, 5, 33, +165,136,188,176,121,129,115,149, 96, 77, 3,254,107,123, 6, 22, 1,101, 26, 75, 91,174,101,102, 10,226, 12, 5,139,153, 12, 1, + 79,109, 31,222, 89, 60, 48,125, 0, 5, 0, 27, 0, 5, 4,182, 4,160, 0, 11, 0, 18, 0, 22, 0, 26, 0, 33, 0, 0, 19, 52, + 0, 51, 50, 0, 21, 20, 0, 35, 34, 0, 55, 20, 23, 1, 3, 6, 0, 19, 22, 23, 27, 1, 54, 55, 9, 1, 54, 53, 52, 0, 39, 17, + 27, 1, 89,244,245, 1, 89,254,167,245,244,254,167,120, 95, 1, 80, 2,154,254,237,136,139,151, 2, 75,161,134,254,217, 1, 92, + 89,254,236,166, 2, 81,245, 1, 90,254,166,245,244,254,169, 1, 87,244,180, 95, 1,139, 1, 98, 3,254,237,253,241,140, 4, 1, +229,254, 25, 6,129, 1, 89,254,228, 88,193,196, 1, 19, 3,254,161, 0, 0, 0, 0, 4, 0, 14, 0, 5, 4,195, 4,186, 0, 18, + 0, 30, 0, 40, 0, 52, 0, 0, 1, 21, 30, 1, 51, 50, 54, 53, 52, 0, 35, 34, 0, 7, 62, 1, 51, 50, 22, 5, 20, 6, 35, 34, + 38, 53, 52, 54, 51, 50, 22, 5, 52, 38, 34, 6, 21, 20, 22, 50, 54, 37, 20, 0, 35, 34, 0, 53, 52, 0, 51, 50, 0, 2,105, 8, +158,116,118,161,254,179,228,234,254,199, 16, 19,143,120,115,159, 1,113, 49, 31, 34, 48, 48, 34, 32, 48,253,205, 47, 66, 47, 47, + 66, 47, 3, 35,254,160,250,250,254,159, 1, 97,250,250, 1, 96, 2,105, 21,114,155,166,124,224, 1, 72,254,199,250,138,144,155, +127, 33, 47, 47, 33, 34, 48, 48, 34, 34, 48, 48, 34, 33, 47, 48, 32,250,254,161, 1, 95,250,250, 1, 98,254,158, 0, 10, 0, 5, + 0,146, 4,204, 5, 57, 0, 14, 0, 62, 0, 68, 0, 74, 0, 80, 0, 86, 0, 92, 0, 98, 0,104, 0,110, 0, 0, 1, 20, 23, 22, + 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 5, 38, 55, 51, 54, 55, 39, 54, 55, 23, 54, 55, 53, 54, 23, 21, 22, 23, 55, 22, 23, + 7, 22, 23, 51, 22, 7, 35, 6, 7, 23, 6, 7, 39, 6, 7, 21, 6, 39, 53, 38, 39, 7, 38, 39, 55, 38, 39, 37, 54, 55, 39, 6, + 7, 5, 22, 23, 55, 38, 39, 1, 54, 55, 39, 6, 7, 37, 22, 23, 55, 38, 39, 1, 38, 39, 7, 22, 23, 37, 6, 7, 23, 54, 55, 5, + 6, 7, 23, 54, 55, 37, 38, 39, 7, 22, 23, 1,234, 38, 36,104, 37, 36, 37, 37, 51, 52, 36, 38,254, 49, 43, 43, 88, 21, 83, 65, + 11, 78, 64, 96,152, 61, 61,142,107, 62, 80, 13, 67, 82, 22, 88, 43, 43, 88, 15, 89, 67, 13, 80, 62,107,142, 61, 61,141,108, 63, + 76, 13, 63, 81, 21, 1,139, 26, 28, 9,111, 76, 1, 43, 32, 23,143, 78,110,254,249, 7, 17,159, 59, 18, 2, 80, 19, 5,214, 15, + 63,253,252, 16, 8,212, 17, 59, 2, 28, 6, 18,160, 64, 13,254,203, 26, 29, 10,110, 77,254,211, 22, 31,143, 78,110, 2,228, 51, + 37, 37, 37, 37, 51, 52, 37, 38, 38, 37,115, 61, 61,143, 96, 63, 74, 12, 62, 80, 23, 87, 44, 44, 87, 17, 87, 63, 11, 75, 63, 95, +144, 61, 61,137,102, 63, 72, 8, 63, 80, 23, 87, 44, 44, 87, 18, 85, 63, 8, 72, 63, 94,145,234, 15, 8,210, 17, 60,133, 8, 15, +155, 61, 16,254,161, 29, 21,133, 75,101, 43, 24, 26, 8, 99, 76,254,171, 24, 32, 13,109, 67,190, 29, 27,134, 80, 96,107, 14, 8, +213, 24, 60,129, 7, 15,151, 60, 24, 0, 0, 0, 0, 5, 0, 33, 0,164, 4,176, 5, 52, 0, 15, 0, 30, 0, 40, 0, 48, 0, 56, + 0, 0, 19, 52, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 55, 20, 23, 22, 51, 50, 55, 54, 53, 52, 0, 35, 34, 7, + 6, 1, 38, 7, 35, 18, 37, 4, 19, 35, 38, 55, 38, 39, 54, 55, 22, 23, 6, 5, 38, 39, 54, 55, 22, 23, 6, 33,171,171,241,243, +171,170,170,171,243,241,171,171,118,137,136,192,193,137,137,254,238,193,192,136,137, 1,211,164, 61, 54, 15, 1, 12, 1, 4, 15, + 53, 78, 39, 86, 3, 4, 91, 83, 4, 4,254, 46, 85, 4, 5, 91, 82, 5, 5, 2,234,243,171,172,172,171,243,241,171,170,170,171, +241,191,137,138,138,137,191,195, 1, 16,136,136,254,222, 10,204, 1, 16, 14, 18,254,245,202,175, 4, 88, 91, 5, 7, 86, 91, 4, + 4, 88, 91, 5, 7, 86, 91, 0, 0, 5, 0, 33, 0,164, 4,176, 5, 52, 0, 15, 0, 30, 0, 40, 0, 48, 0, 56, 0, 0, 19, 52, + 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 55, 20, 23, 22, 51, 50, 55, 54, 53, 52, 0, 35, 34, 7, 6, 1, 22, 55, + 51, 2, 5, 36, 3, 51, 22, 1, 38, 39, 54, 55, 22, 23, 6, 5, 38, 39, 54, 55, 22, 23, 6, 33,171,171,241,243,171,170,170,171, +243,241,171,171,118,137,136,192,193,137,137,254,238,193,192,136,137, 1,209,166, 61, 54, 15,254,243,254,253, 15, 51, 81, 1, 78, + 86, 3, 4, 91, 83, 4, 4,254, 46, 85, 4, 5, 91, 82, 5, 5, 2,234,243,171,172,172,171,243,241,171,170,170,171,241,191,137, +138,138,137,191,195, 1, 16,136,136,254,119, 9,204,254,240, 14, 19, 1, 10,202, 1, 39, 4, 88, 91, 5, 7, 86, 91, 4, 4, 88, + 91, 5, 7, 86, 91, 0, 0, 0, 0, 4, 0, 33, 0,164, 4,176, 5, 52, 0, 15, 0, 25, 0, 33, 0, 41, 0, 0, 19, 52, 55, 54, + 51, 50, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 37, 35, 18, 5, 36, 19, 39, 6, 39, 6, 1, 38, 39, 6, 7, 22, 23, 54, 37, 38, + 39, 6, 7, 22, 23, 54, 33,171,171,241,243,171,170,170,171,243,241,171,171, 1, 52, 62, 18, 1, 59, 1, 68, 18, 64, 75,199,178, + 2, 6, 6, 99,110, 6, 5,103,107,254, 63, 5,100,110, 5, 4,104,107, 2,234,243,171,172,172,171,243,241,171,170,170,171,237, +254,189, 22, 17, 1, 73, 2,248, 11, 10, 1,214,107, 8, 6,112,105, 7, 7,110,105, 8, 6,112,105, 7, 7, 0, 0, 10, 0, 33, + 0,164, 4,176, 5, 52, 0, 7, 0, 12, 0, 19, 0, 34, 0, 42, 0, 50, 0, 58, 0, 65, 0, 73, 0, 88, 0, 0, 1, 51, 23, 17, + 7, 35, 39, 17, 5, 23, 21, 7, 39, 37, 23, 7, 35, 38, 39, 53, 5, 50, 31, 1, 20, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 5, + 33, 23, 21, 7, 33, 39, 53, 37, 33, 23, 21, 7, 33, 39, 53, 7, 51, 22, 23, 21, 7, 39, 53, 37, 51, 23, 21, 7, 39, 53, 37, 51, + 23, 17, 7, 35, 39, 17, 3, 6, 21, 20, 23, 22, 51, 50, 55, 54, 53, 39, 38, 35, 34, 2, 77, 61, 5, 5, 61, 4, 1,188, 44,194, + 47,253,165,197, 48, 3,156, 35, 1,182,168, 72, 10,153, 56, 38,141, 79, 29,148, 54,253,227, 1, 9, 5, 5,254,247, 4, 3,124, + 1, 14, 5, 5,254,242, 5, 55, 2,105, 89, 48,194,254, 54, 2, 46,193, 47, 1,164, 61, 5, 5, 61, 4, 29,101, 19, 54, 97, 25, + 38,105, 7, 49,114, 31, 5, 52, 5,254,238, 5, 5, 1, 18,122, 48, 2,199, 49,185,198, 50,156, 43, 3,142,176, 75,147, 78, 19, +131, 50, 72,140, 81, 21,214, 5, 62, 5, 5, 62, 5, 5, 62, 5, 5, 62,219,102, 94, 2, 50,198, 3, 34, 47, 3,198, 49, 3, 93, + 5,254,238, 5, 5, 1, 18, 1,211, 56, 96, 49, 34, 89, 13, 52,102, 50,121, 0, 0, 2, 0,156, 0, 5, 4, 53, 5,198, 0, 23, + 0, 43, 0, 0, 1, 32, 1, 22, 21, 16, 5, 6, 43, 1, 34, 39, 53, 36, 55, 54, 17, 16, 37, 38, 39, 53, 52, 55, 23, 21, 4, 17, + 16, 5, 7, 21, 51, 50, 55, 54, 55, 54, 61, 1, 16, 1, 38, 35, 1, 59, 1,133, 1, 12,104,254,122,176,173, 48, 47, 79, 1, 16, +123,153,254,183,134, 91,146, 40, 1,194,254,180, 42, 6, 84,156,229, 81, 28,254,171,161,155, 5,197,254,141,170,195,254,126,253, + 96, 14, 6, 78,174,199, 1, 8, 1,138,220, 79, 16, 3, 10, 14, 61, 3,194,254, 28,254,116,228, 24, 4, 82,150,240, 91, 92, 9, + 1, 56, 1, 1,100, 0, 0, 0, 0, 2, 0,149, 0, 7, 4, 60, 5,223, 0, 23, 0, 43, 0, 0, 37, 32, 1, 38, 53, 16, 1, 54, + 59, 1, 50, 23, 21, 4, 7, 6, 17, 16, 5, 22, 23, 21, 20, 7, 39, 53, 36, 17, 16, 37, 55, 53, 35, 34, 7, 6, 7, 6, 29, 1, + 16, 1, 22, 51, 3,154,254,118,254,238,104, 1,140,178,178, 48, 46, 80,254,236,126,154, 1, 78,136, 94,150, 40,254, 56, 1, 80, + 44, 6, 86,160,232, 82, 28, 1, 90,164,158, 7, 1,121,173,198, 1,136, 1, 1, 99, 15, 7, 79,177,203,254,245,254,112,225, 79, + 16, 4, 10, 14, 62, 3,197, 1,237, 1,145,232, 24, 3, 83,150,245, 92, 94, 9,254,194,254,252,102, 0, 0, 0, 0, 2, 0,189, +255, 96, 4, 20, 5,171, 0, 49, 0, 66, 0, 0, 1, 22, 23, 22, 21, 20, 7, 6, 7, 21, 55, 21, 7, 23, 35, 53, 35, 53, 51, 39, + 38, 39, 38, 53, 52, 55, 54, 55, 38, 39, 38, 61, 1, 51, 21, 20, 23, 22, 23, 51, 54, 55, 54, 61, 1, 51, 21, 20, 7, 6, 7, 35, + 6, 7, 6, 21, 20, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 3, 79, 38, 34,125,124,102,135,204,208, 1,122,191,191, 2,139,103, +125,125, 34, 38, 38, 34,125,134, 85, 81,110, 36,109, 81, 85,134,125, 34,250, 36,110, 81, 85, 86, 86,123,120, 86, 86, 85, 81, 4, + 60, 25, 34,123,179,177,117, 94, 14,197, 2, 94, 1,191,192, 92,197, 13, 95,117,177,179,123, 34, 25, 23, 35,124,177, 8, 10,122, + 85, 79, 6, 6, 79, 85,122, 10, 8,177,124, 35, 89, 6, 79, 84,123,122, 81, 80, 80, 81,122,123, 84, 79, 0, 0, 0, 2, 0,145, +255,155, 4, 64, 5, 62, 0, 14, 0, 41, 0, 0, 1, 52, 39, 38, 35, 34, 7, 6, 21, 20, 22, 51, 50, 55, 54, 5, 38, 53, 52, 55, + 54, 51, 50, 23, 22, 21, 20, 7, 6, 7, 21, 55, 21, 7, 23, 35, 39, 35, 53, 51, 39, 38, 3,173, 96, 95,132,135, 95, 95,190,135, +132, 95, 96,253,111,139,138,138,197,194,138,138,137,113,147,223,228, 2,135, 2,209,209, 1,153, 3,107,135, 93, 94, 94, 93,135, +134,178, 89, 89,193,129,195,197,136,137,137,136,197,195,129,104, 15,217, 1,103, 2,209,211,102,217, 14, 0, 0, 0, 2, 0,145, +255,155, 4, 64, 5, 62, 0, 12, 0, 39, 0, 0, 1, 34, 7, 6, 16, 22, 51, 50, 55, 54, 16, 39, 38, 39, 55, 35, 53, 51, 55, 51, + 7, 23, 21, 39, 21, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 2,106,135, 95, 95,190,135,132, 95, 96, 96, 95, +200, 1,209,209, 2,135, 2,228,223,147,113,137,138,138,194,197,138,138,139,113, 2,165, 89, 88,254,242,186, 93, 93, 1, 14, 88, + 89,134,218,102,211,210, 1,104, 2,218, 15,104,129,195,196,136,137,137,136,196,195,129,106, 0, 0, 2, 0, 21, 0,154, 4,188, + 5, 48, 0, 13, 0, 39, 0, 0, 1, 38, 39, 38, 7, 6, 20, 23, 22, 51, 22, 55, 54, 38, 19, 6, 43, 1, 34, 39, 38, 53, 39, 52, + 55, 54, 23, 22, 23, 1, 37, 55, 33, 17, 7, 17, 1, 22, 23, 22, 2,162, 90,123,122, 91, 90, 90, 91,126,127, 92, 89, 8, 16,131, +182, 1,185,130,129, 2,131,130,178,178, 87, 1, 26,254,222,109, 1,130,112,254,231, 78, 7, 6, 3, 35, 90, 4, 4, 88, 91,254, + 91, 89, 1, 90, 91,246,254, 80,128,128,129,183, 3,182,131,129, 7, 6, 81, 1, 16, 2,109,254,128,112, 1, 35,254,239, 84,178, +177, 0, 0, 0, 0, 1, 0, 71, 0, 42, 4,138, 5,174, 0, 31, 0, 0, 1, 53, 50, 55, 54, 52, 39, 38, 35, 34, 7, 6, 29, 1, + 35, 52, 54, 51, 50, 23, 22, 21, 20, 7, 51, 17, 51, 17, 35, 17, 33, 53, 1,232,115, 80, 81, 80, 80,116,114, 81, 80,142,244,173, +177,121,122,103,214,143,143,252, 76, 2, 31, 1, 81, 81,228, 81, 80, 80, 81,114, 2,174,246,123,123,174,159,116, 3,143,250,124, + 1,103,142, 0, 0, 1, 0,174, 0, 42, 4, 35, 5,174, 0, 34, 0, 0, 1, 35, 53, 51, 53, 51, 21, 51, 21, 35, 17, 54, 51, 50, + 23, 22, 21, 20, 6, 29, 1, 35, 52, 55, 54, 53, 52, 38, 35, 34, 7, 6, 21, 17, 35, 1, 18,100,100,143,168,168,105,144,167,113, +113,132,143, 67, 66,146,105,103, 73, 73,143, 4,117,143,170,170,143,254,147,103,122,121,177, 85,216,114, 2,125,112,112, 68,116, +160, 80, 81,115,254, 95, 0, 0, 0, 2, 0, 67, 0,133, 4,142, 5, 83, 0, 13, 0, 55, 0, 0, 1, 34, 7, 6, 21, 20, 22, 50, + 55, 54, 53, 52, 39, 38, 55, 22, 23, 22, 21, 20, 7, 6, 35, 34, 38, 53, 52, 55, 54, 55, 17, 35, 17, 35, 53, 51, 17, 35, 53, 51, + 17, 51, 17, 51, 17, 51, 17, 51, 21, 35, 17, 51, 21, 35, 17, 35, 2,104, 46, 32, 32, 64, 92, 32, 33, 32, 32, 16, 50, 40, 62, 62, + 63, 90, 87,126, 62, 39, 51,237,251,127,127,251,237,124,237,250,125,125,250,237, 1,203, 33, 32, 45, 47, 64, 32, 32, 47, 45, 32, + 33, 94, 15, 39, 63, 88, 89, 63, 63,126, 89, 88, 63, 40, 14, 1, 70,254,152,125, 2, 82,125,254,152, 1,104,254,152, 1,104,125, +253,174,125, 1,104, 0, 0, 0, 0, 1, 0, 76, 0,133, 4,133, 5, 83, 0, 60, 0, 0, 1, 21, 35, 53, 35, 53, 51, 53, 38, 39, + 38, 39, 53, 7, 39, 55, 51, 23, 21, 39, 21, 51, 21, 35, 22, 23, 22, 23, 17, 7, 39, 55, 51, 23, 21, 39, 17, 54, 55, 54, 61, 1, + 51, 53, 7, 39, 55, 51, 23, 21, 39, 21, 49, 21, 20, 7, 6, 7, 21, 51, 21, 2,167,124,144,144,135,101,123, 1,118, 1,119,125, +119,119, 2, 2, 1, 85, 65, 84,119, 1,120,124,120,120, 83, 64, 87, 1,119, 1,120,125,118,118,124,100,136,144, 1, 31,154,154, +124,114, 18,101,123,177, 69,117,115,126,126,115,117, 69, 2,124, 86, 65, 16, 2, 75,116,114,127,127,114,116,253,182, 16, 64, 88, +123, 1, 73,117,115,126,126,115,117, 73, 4,173,123,100, 19,114,124, 0, 0, 0, 0, 2, 0,215, 0, 42, 3,250, 5,174, 0, 18, + 0, 29, 0, 0, 19, 33, 32, 23, 22, 21, 20, 7, 6, 35, 33, 17, 33, 23, 21, 7, 33, 39, 17, 23, 17, 33, 50, 55, 54, 55, 52, 39, + 38, 35,223, 1,129, 1, 29, 95, 30,237, 56, 50,254,189, 2, 86, 8, 8,253, 41, 8,137, 1, 51,123, 68, 15, 8,153, 35, 77, 5, +174,197, 72, 90,251, 87, 16,253,207, 7,123, 8, 8, 5,115,123,254, 63,122, 25, 75,155, 56, 16, 0, 1, 0, 24, 0, 1, 4,185, + 5, 33, 0, 32, 0, 0, 37, 16, 2, 35, 34, 2, 23, 35, 38, 53, 52, 54, 51, 32, 19, 22, 23, 54, 55, 18, 33, 50, 22, 21, 20, 7, + 35, 54, 2, 35, 34, 2, 17, 2, 59,205,122, 92, 41, 77, 97, 66,117,104, 1, 11, 95, 5, 4, 3, 5, 95, 1, 11,105,116, 66, 97, + 77, 40, 93,121,205, 2, 2, 13, 2,164,254,228,142,116,140,116,164,253, 91, 43, 35, 35, 43, 2,165,164,116,140,116,142, 1, 28, +253, 92,253,243, 0, 2, 0, 53,255,248, 4,156, 4,196, 0, 8, 0, 46, 0, 0, 1, 34, 6, 20, 22, 50, 54, 52, 38, 39, 54, 55, + 62, 2, 51, 21, 34, 2, 7, 6, 7, 22, 23, 22, 21, 20, 6, 35, 34, 38, 53, 52, 55, 54, 55, 38, 39, 38, 2, 35, 53, 50, 30, 1, + 23, 22, 2,104,113,158,158,225,159,157,114,100, 58, 66, 74,124,141, 94,128,100, 16, 18, 35, 33,112,226,161,160,226,113, 32, 36, + 18, 16, 99,131, 93,141,143, 55, 65, 59, 2,186,170,241,169,169,241,170,123, 4, 50, 54,148,142, 88,255, 0, 89, 15, 13, 24, 34, +122,172,172,242,242,172,172,122, 34, 25, 12, 15, 89, 1, 0, 88,142,148, 54, 50, 0, 2, 0, 27, 0, 12, 4,182, 4,206, 0, 19, + 0, 25, 0, 0, 1, 38, 39, 53, 4, 32, 37, 21, 6, 7, 17, 22, 23, 21, 36, 32, 5, 53, 54, 63, 1, 54, 23, 17, 6, 39, 1, 46, +136,139, 1, 26, 2,106, 1, 23,143,135,135,143,254,233,253,150,254,230,139,136,124,189,189,189,189, 4, 25, 18, 42,120, 73, 73, +122, 39, 19,252,168, 19, 38,124, 74, 74,120, 44, 17, 9, 21, 21, 3, 70, 21, 21, 0, 4, 0, 52, 0, 50, 4,157, 5, 15, 0, 8, + 0, 27, 0, 36, 0, 56, 0, 0, 0, 34, 6, 20, 22, 51, 50, 54, 52, 1, 44, 1, 39, 53, 22, 4, 39, 38, 53, 52, 54, 51, 50, 22, + 16, 7, 14, 1, 1, 50, 54, 52, 38, 34, 6, 20, 22, 19, 12, 1, 23, 21, 38, 36, 23, 22, 21, 20, 6, 35, 34, 38, 53, 52, 55, 62, + 1, 3,200,156,109,109, 78, 77,109,254,169,255, 0,254,213,125,207, 1,201, 9,108,168,121,122,169, 85, 60,202,254, 22, 77,110, +110,154,110,109,234, 1, 1, 1, 43,125,207,254, 55, 9,108,168,121,122,169, 85, 60,201, 2,131,124,178,124,124,178,254, 44, 1, + 38, 40,117, 79, 31, 35,101,156,138,194,194,254,237, 97, 72, 71, 2,138,124,178,124,124,178,124, 2, 81, 2, 39, 40,115, 79, 30, + 35,101,156,139,194,194,139,137, 96, 73, 72, 0, 0, 2, 0, 61,255,253, 4,148, 5, 33, 0, 10, 0, 60, 0, 0, 0, 62, 1, 39, + 46, 1, 7, 14, 1, 23, 22, 19, 52, 54, 51, 50, 22, 21, 20, 2, 21, 22, 23, 50, 55, 23, 6, 35, 34, 38, 53, 52, 18, 53, 52, 38, + 35, 34, 6, 21, 20, 22, 23, 30, 1, 7, 6, 7, 6, 38, 39, 38, 53, 52, 55, 54, 55, 54, 23, 54, 38, 1, 68,132, 57, 25, 26,130, + 66, 66, 56, 26, 26,205,196,158,151,192,255, 3,118, 63, 87, 58,112, 98, 87,126,252,144,116,112,132, 41, 22, 32, 14, 34, 45,102, +102,201, 41, 20, 24, 45,103,116,112, 21, 81, 1, 64, 51,131, 65, 65, 58, 26, 26,129, 65, 67, 2,106,141,177,194,155,165,254, 71, +158,109, 3, 78, 63,105,106, 98,175, 1,166,171,118,145,136,114, 53,127, 54, 87,192, 71,101, 40, 40, 87,105, 48, 49, 53, 52,100, + 41, 45, 63, 1,195, 0, 0, 0, 0, 2, 0, 47,254,234, 4,162, 4,127, 0, 54, 0, 63, 0, 0, 1, 50, 22, 21, 62, 1, 51, 50, + 22, 29, 1, 62, 1, 51, 50, 22, 21, 16, 5, 20, 23, 35, 38, 39, 6, 7, 53, 54, 55, 39, 17, 54, 39, 14, 1, 7, 17, 35, 17, 52, + 38, 7, 38, 6, 7, 17, 35, 17, 52, 39, 51, 22, 23, 62, 1, 1, 17, 54, 19, 52, 38, 7, 34, 6, 1,193, 45, 83, 29,139, 53, 44, + 57, 34, 92, 48, 43, 70,254,244,103,118, 33, 52,117,124,135, 87, 6, 2, 34, 41, 94, 44,107, 22, 25, 29,127, 13,105,107,100, 83, + 26, 16,129, 1,242,182, 17, 33, 21, 21,101, 4,127,152, 98, 91,159,128,168,154, 95, 91,177,209,254,199,245, 72,148, 31,124, 78, + 5, 89, 21, 67,166, 2,142,242, 1, 1,166,153,253, 58, 2,194,246, 82, 1, 1,174,164,253, 72, 3, 66,146,146, 61,134, 71,144, +253, 96,254, 83,191, 1, 3,148,110, 4,158, 0, 0, 2, 0, 85, 0,181, 4,124, 4,234, 0, 3, 0, 35, 0, 0, 19, 33, 21, 33, + 1, 33, 53, 51, 38, 53, 52, 54, 51, 50, 22, 21, 20, 7, 33, 21, 33, 53, 35, 54, 55, 54, 53, 52, 38, 34, 6, 21, 20, 23, 22, 23, + 85, 4, 39,251,217, 1,140,254,116,252, 48,183,132,132,184, 48, 1, 20,254, 90, 1, 13, 12, 61,121,173,121, 61, 11, 13, 1, 58, +133, 1, 93,134, 90,115,162,227,227,162,115, 90,134,134, 11, 15, 74,106,107,149,149,107,106, 74, 15, 11, 0, 0, 0, 1, 0, 50, +255,102, 4,159, 4,198, 0, 52, 0, 0, 37, 20, 22, 23, 51, 53, 51, 23, 7, 39, 53, 35, 34, 39, 38, 39, 3, 18, 39, 14, 1, 7, + 17, 35, 17, 16, 38, 7, 38, 6, 7, 17, 35, 17, 52, 39, 51, 22, 23, 62, 1, 51, 50, 22, 21, 62, 1, 51, 50, 22, 29, 1, 17, 3, + 89, 69, 59, 60, 2,136,136, 2, 60,135, 45, 30, 5, 14, 2, 33, 38, 89, 42,100, 21, 24, 27,120, 13, 99,102, 95, 79, 24, 15,122, + 46, 42, 79, 27,132, 50, 41, 55,226, 90,101, 1, 96,141,142, 3, 96, 98, 60, 96, 2,129, 1, 1, 1, 1,176,163,253, 15, 2,237, + 1, 5, 87, 1, 1,184,175,253, 30, 3,117,154,156, 65,143, 76,153,161,104, 96,169,136,178,164,253,251, 0, 0, 0, 1, 0, 56, + 0, 6, 4,153, 4,199, 0, 19, 0, 0, 1, 33, 53, 33, 21, 49, 21, 17, 35, 17, 7, 17, 35, 17, 1, 39, 1, 33, 53, 33, 3,213, +254, 95, 2,100,114,192,114,253,149, 80, 2,107,254, 94, 2, 19, 4, 75,123, 85, 1,253,190, 1,199,209,253,190, 1,198,253, 95, + 87, 2,161,123, 0, 2, 0, 21, 0, 3, 4,188, 4,207, 0, 39, 0, 47, 0, 0, 1, 50, 18, 55, 54, 51, 50, 22, 21, 20, 6, 35, + 34, 39, 14, 1, 7, 35, 53, 55, 54, 19, 38, 2, 35, 34, 2, 23, 7, 52, 2, 39, 53, 50, 22, 23, 54, 55, 62, 1, 1, 22, 51, 50, + 55, 38, 39, 34, 2, 50, 88, 67, 20, 90,159,100,125,117,117,127,100, 36,103,113,138,126,100, 86, 41, 52, 48, 29,132, 5,129,116, +108,120,132, 33, 38, 37, 34,100, 1, 25, 76,107,132, 7, 5,131,125, 4,206,253, 58, 3,181,155, 85,119,140,109,131,177, 3, 97, + 1, 3, 1, 52, 13, 2,136,254,115,170, 2,208, 1,151, 5, 79,182,226,165, 72, 75,123,252,215,119,162,129, 15, 0, 2, 0, 89, + 1, 64, 4,120, 3,174, 0, 32, 0, 65, 0, 0, 19, 54, 51, 50, 23, 22, 55, 54, 51, 50, 23, 22, 55, 54, 51, 50, 23, 7, 38, 7, + 6, 34, 39, 38, 7, 6, 35, 34, 39, 38, 6, 35, 39, 17, 54, 51, 50, 23, 22, 55, 54, 50, 23, 22, 55, 54, 51, 50, 23, 7, 38, 7, + 6, 35, 34, 39, 38, 7, 6, 35, 34, 39, 38, 6, 35, 39, 89,231, 82, 32, 9, 35,123, 61, 40, 39, 17, 37,123, 31, 29, 88, 78, 67, + 69,122, 62, 79, 18, 38,122, 62, 39, 40, 17, 35,243, 4, 38,231, 82, 31, 10, 35,123, 61, 79, 16, 38,123, 30, 29, 89, 78, 67, 69, +122, 62, 39, 40, 19, 37,123, 61, 40, 39, 17, 35,243, 4, 38, 1,136,192, 28,101,101, 50, 50,101,101, 25,224, 36,201,108, 54, 54, +107,100, 50, 51,100,201, 69, 1, 80,192, 28,100,100, 51, 51,100,100, 25,224, 36,202,108, 55, 54,107,100, 51, 52,101,202, 69, 0, + 0, 1, 0, 94, 0, 5, 4,115, 5, 35, 0, 28, 0, 0, 1, 7, 2, 3, 7, 0, 19, 33, 53, 33, 2, 1, 23, 18, 19, 51, 18, 19, + 55, 0, 3, 33, 7, 33, 18, 1, 39, 2, 3, 2,210,211, 28,243,145, 1, 13, 24,254,253, 1, 3, 25,254,244,145,243, 28,212, 27, +244,144,254,244, 24, 1, 2, 1,254,253, 26, 1, 12,145,244, 27, 2, 76, 3,254,216,254,231, 2, 1, 51, 1, 16,151, 1, 15, 1, + 52, 3,254,232,254,216, 1, 40, 1, 24, 3,254,204,254,241,151,254,240,254,205, 2, 1, 25, 1, 40, 0, 0, 0, 0, 5, 0, 67, + 0, 5, 4,142, 4,128, 0, 15, 0, 32, 0, 36, 0, 84, 0,100, 0, 0, 1, 54, 55, 38, 39, 38, 34, 14, 1, 21, 20, 22, 23, 22, + 23, 33, 51, 33, 54, 55, 62, 1, 53, 52, 46, 1, 35, 34, 7, 6, 7, 22, 23, 1, 21, 33, 53, 1, 17, 38, 39, 46, 1, 53, 52, 62, + 1, 51, 50, 23, 53, 52, 54, 55, 54, 55, 53, 35, 53, 51, 53, 51, 21, 51, 21, 35, 21, 22, 23, 30, 1, 29, 1, 54, 51, 50, 30, 1, + 21, 20, 6, 7, 6, 7, 17, 1, 20, 30, 1, 51, 50, 62, 1, 53, 52, 46, 1, 35, 34, 14, 1, 2, 51, 1, 1, 27, 39, 56,120,112, + 65, 63, 57, 17, 17, 1, 7,108, 1, 6, 18, 17, 57, 62, 64,113, 60, 59, 57, 39, 26, 1, 1,254,168, 2, 68,253,125, 32, 29, 53, + 82, 84,151, 80, 61, 58, 28, 24, 10, 13, 83, 83, 80, 83, 83, 12, 10, 24, 28, 59, 60, 80,151, 84, 82, 52, 30, 32,254, 88, 19, 35, + 17, 19, 34, 19, 19, 34, 19, 17, 35, 19, 2,234, 3, 2, 33, 21, 32, 62,114, 62, 62,112, 30, 11, 6, 6, 11, 30,112, 62, 62,114, + 62, 32, 21, 33, 2, 3,254, 65,232,232,254,219, 1, 37, 10, 17, 41,150, 82, 83,151, 81, 24, 2, 27, 49, 13, 6, 3, 41, 54, 66, + 66, 54, 41, 3, 6, 13, 49, 27, 2, 24, 81,151, 83, 82,150, 41, 17, 10,254,219, 3,112, 20, 32, 20, 20, 32, 20, 18, 34, 18, 18, + 34, 0, 0, 0, 0, 8, 0, 86, 0, 0, 4,123, 4,122, 0, 72, 0, 78, 0, 82, 0,104, 0,124, 0,144, 0,165, 0,187, 0, 0, + 19, 38, 39, 52, 62, 1, 51, 50, 30, 1, 21, 6, 7, 19, 3, 34, 39, 52, 62, 1, 51, 50, 30, 1, 21, 6, 7, 27, 1, 38, 39, 52, + 62, 1, 51, 50, 30, 1, 21, 6, 7, 27, 1, 38, 53, 52, 62, 1, 51, 50, 30, 1, 21, 6, 7, 3, 19, 38, 53, 52, 62, 1, 51, 50, + 30, 1, 21, 6, 35, 3, 17, 33, 17, 5, 53, 7, 33, 39, 29, 2, 33, 53, 1, 23, 3, 54, 55, 62, 1, 53, 52, 46, 1, 35, 34, 14, + 1, 21, 20, 30, 1, 51, 50, 51, 19, 23, 3, 54, 55, 62, 1, 52, 46, 1, 35, 34, 14, 1, 20, 30, 1, 51, 50, 51, 1, 55, 19, 22, + 51, 50, 62, 1, 52, 46, 1, 35, 34, 14, 1, 20, 22, 23, 22, 23, 1, 51, 3, 50, 55, 62, 1, 53, 52, 46, 1, 35, 34, 14, 1, 21, + 20, 22, 23, 22, 23, 19, 55, 19, 22, 51, 50, 62, 1, 53, 52, 46, 1, 35, 34, 14, 1, 21, 20, 22, 23, 22, 23,169, 73, 9, 22, 41, + 22, 22, 41, 22, 3, 44,183, 40, 63, 14, 22, 41, 23, 22, 40, 23, 2, 35,144, 33, 51, 1, 23, 40, 21, 22, 41, 23, 3, 51, 29,142, + 36, 23, 41, 21, 23, 41, 22, 8, 66, 71,197, 33, 23, 40, 22, 23, 40, 22, 10, 75,123,253,109, 2,103,138,254,234,140, 2, 44,253, +180, 59,177, 5, 5, 14, 16, 16, 27, 15, 14, 26, 17, 16, 27, 14, 6, 6,238,104,143, 4, 4, 13, 15, 15, 27, 14, 15, 27, 15, 15, + 27, 15, 5, 6, 1, 73, 88, 73, 4, 4, 14, 29, 14, 16, 27, 14, 14, 27, 16, 16, 13, 6, 6,254,238, 76, 36, 14, 12, 13, 16, 16, + 26, 15, 14, 28, 15, 15, 14, 11, 12,227, 80,127, 8, 9, 14, 27, 15, 16, 26, 14, 16, 26, 15, 15, 13, 3, 3, 3, 12, 2, 72, 22, + 39, 21, 21, 39, 22, 49, 16,254,124, 2, 26, 71, 21, 39, 21, 21, 39, 21, 35, 26,253,196, 2,115, 23, 37, 22, 39, 20, 20, 39, 22, + 41, 19,253,139, 2, 55, 36, 32, 21, 39, 21, 21, 39, 21, 65, 12,253,236, 1,138, 27, 32, 22, 39, 21, 21, 39, 22, 72,254,158,254, + 84, 1,172,221,172, 57, 46,161, 37,126,126, 1, 4, 32, 1,147, 2, 3, 8, 27, 14, 16, 26, 16, 16, 26, 16, 14, 27, 15,254,114, + 24, 2, 70, 2, 2, 8, 27, 29, 27, 15, 15, 27, 29, 27, 15,253,195, 20, 2, 41, 1, 15, 27, 29, 28, 14, 14, 28, 29, 27, 8, 3, + 2,253,188, 2,126, 8, 8, 26, 16, 14, 27, 15, 15, 27, 14, 16, 26, 8, 6, 2,253,151, 32, 1,119, 2, 16, 26, 16, 14, 28, 14, + 14, 28, 14, 16, 26, 8, 2, 1, 0, 5, 0,112, 0, 0, 4, 97, 5, 29, 0, 29, 0, 33, 0, 39, 0, 45, 0, 50, 0, 0, 1, 51, + 21, 51, 53, 51, 21, 35, 21, 7, 17, 23, 21, 51, 21, 33, 53, 51, 53, 55, 51, 17, 35, 39, 53, 35, 53, 51, 21, 51, 1, 53, 33, 21, + 1, 55, 53, 33, 21, 23, 17, 7, 21, 33, 53, 39, 53, 17, 55, 33, 17, 1,237,242,150,236,101, 80, 80,101,252, 15,101, 81, 1, 1, + 81,101,232,149, 2, 68,252,112, 2,225, 72,253, 62, 72, 64, 2,178, 65, 1,253,206, 5, 29,136,136,142,126,131,254, 0,130,125, +143,143,125,133, 1,252,132,126,142,136,251,156, 48, 48, 3,109,114, 84, 84,114,253,199,101,112,112,101, 45, 1,221, 2,254, 33, + 0, 4, 0,222,255,248, 3,243, 4,197, 0, 55, 0, 67, 0, 81, 0, 94, 0, 0, 1, 38, 53, 52, 55, 54, 55, 38, 39, 38, 39, 53, + 54, 55, 54, 55, 54, 55, 38, 39, 38, 53, 52, 62, 1, 51, 50, 30, 1, 21, 20, 7, 6, 7, 22, 23, 22, 23, 22, 23, 21, 6, 7, 6, + 7, 22, 23, 22, 21, 20, 7, 6, 7, 19, 33, 27, 1, 53, 51, 53, 35, 53, 35, 21, 35, 21, 51, 21, 19, 54, 53, 52, 46, 1, 34, 14, + 1, 21, 20, 23, 3, 33, 0, 20, 30, 1, 50, 62, 1, 52, 46, 1, 35, 34, 6, 1,194, 25, 26, 6, 9, 49, 29, 34, 1, 1, 34, 35, + 64, 23, 24, 21, 14, 18, 37, 64, 35, 33, 64, 37, 17, 13, 22, 23, 24, 63, 36, 35, 1, 1, 35, 30, 48, 9, 7, 25, 26, 1, 2,231, +252,237,222,220,141,141, 97,141,141,133, 49, 37, 63, 69, 63, 37, 52,182, 2, 21,254,153, 24, 44, 47, 45, 23, 24, 45, 22, 24, 43, + 1, 68, 44, 47, 49, 43, 14, 12, 31, 52, 59, 65, 3, 66, 60, 62, 34, 11, 9, 14, 24, 32, 34, 35, 62, 34, 34, 62, 35, 34, 32, 24, + 15, 8, 11, 34, 62, 60, 66, 3, 65, 59, 51, 32, 12, 14, 43, 49, 48, 44, 3, 3,254,188, 1, 75, 1, 18,102, 89,101,101, 89,102, +254,238, 37, 60, 35, 64, 34, 34, 64, 35, 52, 45,254,233, 4, 47, 48, 43, 23, 23, 43, 48, 43, 23, 23, 0, 0, 0, 0, 4, 0,144, + 0, 6, 4, 65, 4,199, 0, 30, 0, 42, 0, 51, 0, 86, 0, 0, 1, 54, 38, 55, 22, 7, 0, 19, 33, 38, 53, 52, 36, 39, 6, 7, + 6, 7, 39, 7, 38, 39, 54, 39, 54, 55, 46, 1, 55, 22, 23, 7, 54, 59, 1, 6, 21, 20, 43, 1, 34, 39, 53, 3, 23, 20, 7, 35, + 34, 61, 1, 54, 19, 38, 39, 6, 22, 7, 6, 7, 22, 7, 22, 23, 55, 7, 54, 55, 54, 55, 22, 4, 23, 20, 23, 37, 2, 1, 50, 53, + 35, 54, 38, 39, 6, 22, 7, 2, 7, 11, 42, 73,125, 32, 1,142, 37,252,235, 10, 1, 71, 7, 73, 46, 37,128, 8, 35,113, 26, 74, + 12, 39, 59, 17, 10, 31, 84, 44,132, 31, 78, 4, 35, 56, 17, 6, 3, 5, 5, 58, 8, 23, 33,176, 29, 62, 35, 49, 20, 48, 36, 17, + 73, 20, 84, 78, 28,110, 23, 86, 66, 44,254,165, 2, 9, 2,199, 31,254,110, 1, 3, 32, 17, 63, 37, 35, 15, 4, 3, 20, 78, 97, +106,105,254,249,253, 27, 45, 47,130,246, 52, 94, 2,116, 14, 18, 25, 38, 65,234,171, 89, 99, 26, 27,103, 21, 98,225, 51, 37, 29, + 39, 24, 12,254,187, 28, 43, 12, 25, 18, 40, 2, 40, 78, 31, 86, 56, 27, 79, 81,196,191, 62, 19, 58, 60, 8,117, 3,141,121,250, +103, 42, 42, 1, 2,156, 1, 53, 1, 10,107, 60, 88, 62, 27, 0, 0, 4, 0,156, 0, 6, 4, 53, 4,104, 0, 13, 0, 29, 0, 80, + 0, 91, 0, 0, 0, 20, 30, 1, 51, 50, 62, 1, 52, 46, 1, 35, 34, 6, 55, 20, 30, 1, 51, 50, 62, 1, 53, 52, 46, 1, 35, 34, + 14, 1, 1, 21, 33, 53, 7, 38, 53, 52, 54, 55, 54, 55, 38, 39, 38, 53, 52, 54, 55, 54, 55, 38, 39, 38, 52, 62, 1, 51, 50, 30, + 1, 20, 7, 6, 7, 22, 23, 30, 1, 21, 20, 7, 6, 7, 22, 23, 30, 1, 21, 20, 7, 39, 38, 39, 46, 1, 35, 34, 6, 7, 6, 7, + 1,200, 43, 76, 41, 43, 76, 42, 43, 77, 41, 40, 76, 72, 12, 21, 11, 12, 21, 12, 12, 22, 11, 10, 22, 12, 1,196,252,227, 62, 9, +124,110, 28, 30, 22, 16, 32, 64, 58, 20, 22, 20, 11, 17, 33, 58, 31, 30, 59, 33, 15, 13, 19, 20, 23, 56, 65, 31, 17, 22, 28, 29, +110,125, 9, 69, 3, 48, 52,184, 96, 97,183, 51, 48, 3, 2,216, 84, 76, 42, 42, 76, 84, 77, 40, 40,202, 12, 20, 11, 11, 20, 12, + 11, 22, 12, 12, 22,252, 13, 1, 1, 1, 43, 43,120,220, 58, 16, 12, 21, 29, 56, 62, 62,113, 31, 11, 7, 15, 21, 30, 63, 57, 32, + 32, 57, 63, 30, 21, 15, 7, 11, 31,113, 62, 62, 56, 29, 21, 12, 16, 58,220,120, 43, 43, 99, 94, 85, 90, 98, 98, 90, 85, 94, 0, + 0, 8, 0,106,255,252, 4,103, 4, 37, 0, 15, 0, 32, 0, 36, 0, 84, 0,100, 0,104, 0,121, 0,138, 0, 0, 1, 52, 55, 38, + 39, 38, 34, 14, 1, 21, 20, 22, 23, 22, 23, 59, 2, 54, 55, 62, 1, 53, 52, 46, 1, 35, 34, 7, 6, 7, 22, 23, 1, 21, 33, 53, + 1, 17, 38, 39, 46, 1, 53, 52, 62, 1, 51, 50, 23, 53, 52, 54, 55, 54, 55, 53, 35, 53, 51, 53, 51, 21, 51, 21, 35, 21, 22, 23, + 30, 1, 29, 1, 54, 51, 50, 30, 1, 21, 20, 6, 7, 6, 7, 17, 1, 20, 30, 1, 51, 50, 62, 1, 53, 52, 46, 1, 35, 34, 14, 1, + 1, 21, 33, 53, 55, 35, 38, 39, 46, 1, 53, 52, 62, 1, 51, 50, 23, 22, 23, 6, 21, 51, 52, 39, 54, 55, 54, 51, 50, 30, 1, 21, + 20, 6, 7, 6, 7, 35, 2, 55, 2, 25, 36, 53,111,104, 60, 58, 53, 16, 16,244,100,243, 17, 16, 52, 58, 59,105, 56, 54, 53, 37, + 24, 1, 1,254,193, 2, 26,253,171, 29, 27, 49, 77, 78,141, 74, 57, 54, 25, 23, 9, 12, 77, 77, 74, 77, 77, 12, 9, 22, 26, 54, + 56, 74,141, 78, 77, 48, 28, 29,254,118, 18, 32, 16, 18, 32, 17, 17, 32, 18, 16, 32, 18, 1, 43,254, 48,146,199, 13, 12, 43, 47, + 48, 85, 45, 44, 44, 29, 21, 2,172, 2, 21, 29, 43, 44, 46, 84, 49, 47, 44, 12, 13,198, 2,172, 2, 3, 30, 20, 29, 57,106, 57, + 58,104, 28, 10, 6, 6, 10, 28,104, 58, 57,106, 57, 29, 20, 30, 3, 2,254, 97,215,215,254,240, 1, 16, 9, 16, 38,140, 76, 77, +140, 75, 22, 1, 26, 45, 13, 5, 2, 39, 50, 61, 61, 50, 39, 2, 5, 13, 45, 26, 1, 22, 75,140, 77, 76,140, 38, 16, 9,254,240, + 3, 49, 18, 31, 17, 17, 31, 18, 17, 32, 16, 16, 32,253,169,142,142,147, 5, 8, 24, 86, 47, 47, 88, 47, 23, 17, 25, 2, 2, 2, + 2, 25, 17, 23, 47, 88, 47, 47, 86, 24, 8, 5, 0, 3, 0, 54, 0, 4, 4,155, 4,197, 0, 72, 0, 76, 0, 80, 0, 0, 19, 38, + 39, 52, 62, 1, 51, 50, 30, 1, 21, 6, 7, 19, 3, 34, 39, 52, 62, 1, 51, 50, 30, 1, 21, 6, 7, 27, 1, 38, 39, 52, 62, 1, + 51, 50, 30, 1, 21, 6, 7, 27, 1, 38, 53, 52, 62, 1, 51, 50, 30, 1, 21, 6, 7, 3, 19, 38, 53, 52, 62, 1, 51, 50, 30, 1, + 21, 6, 35, 3, 17, 33, 17, 5, 53, 33, 21, 5, 53, 33, 21,141, 77, 10, 24, 44, 23, 23, 44, 23, 4, 46,194, 42, 67, 15, 23, 44, + 25, 23, 43, 23, 2, 37,154, 35, 55, 1, 24, 43, 22, 23, 44, 24, 2, 55, 31,150, 37, 23, 44, 22, 25, 43, 24, 9, 70, 75,209, 35, + 24, 43, 23, 24, 43, 24, 11, 80,130,253, 68, 2,141,253,178, 2, 78,253,178, 3, 65, 1, 77, 23, 42, 22, 22, 42, 23, 52, 17,254, +100, 2, 59, 75, 23, 41, 22, 22, 41, 23, 36, 28,253,160, 2,155, 24, 39, 23, 42, 21, 21, 42, 23, 44, 19,253,100, 2, 89, 38, 34, + 22, 42, 22, 22, 42, 22, 69, 13,253,204, 1,163, 27, 35, 23, 42, 22, 22, 42, 23, 76,254,136,254, 58, 1,198,165, 63, 63,242, 64, + 64, 0, 0, 0, 0, 4, 0,148, 0, 5, 4, 61, 4,197, 0, 3, 0, 7, 0, 37, 0, 41, 0, 0, 1, 53, 33, 21, 1, 53, 33, 21, + 19, 51, 21, 51, 53, 51, 21, 35, 21, 7, 17, 23, 21, 51, 21, 33, 53, 51, 53, 55, 51, 17, 35, 39, 53, 35, 53, 51, 21, 51, 1, 53, + 33, 21, 3,109,253,248, 2, 68,253,128,205,225,139,219, 94, 74, 74, 94,252, 87, 94, 75, 1, 1, 75, 94,215,139, 2, 26,252,178, + 3,178, 76, 76,252,230, 90, 90, 4, 44,125,125,131,117,122,254, 37,121,117,132,132,117,123, 1,216,123,117,131,125,251,235, 45, + 45, 0, 0, 0, 0, 2, 0,226, 0, 6, 3,239, 4,199, 0, 52, 0, 64, 0, 0, 1, 52, 55, 54, 55, 38, 39, 38, 39, 53, 54, 55, + 54, 55, 54, 55, 38, 39, 38, 53, 52, 62, 1, 51, 50, 30, 1, 21, 20, 7, 6, 7, 22, 23, 22, 23, 22, 23, 21, 6, 7, 6, 7, 22, + 23, 22, 21, 20, 7, 19, 33, 19, 38, 55, 53, 51, 53, 35, 53, 35, 21, 35, 21, 51, 21, 1,170, 26, 7, 9, 49, 29, 33, 1, 1, 33, + 35, 63, 23, 24, 21, 14, 18, 37, 63, 35, 33, 63, 37, 17, 13, 21, 22, 24, 62, 36, 34, 1, 1, 34, 30, 47, 9, 6, 26, 26,225,252, +245,220, 21,238,140,140, 95,140,140, 1,168, 49, 43, 14, 12, 30, 52, 58, 65, 3, 65, 60, 61, 34, 11, 8, 15, 23, 32, 33, 35, 61, + 34, 34, 61, 35, 33, 32, 23, 16, 7, 11, 34, 61, 60, 65, 3, 65, 58, 51, 31, 12, 14, 43, 49, 47, 43,254,185, 1, 72, 43,228,101, + 88,101,101, 88,101, 0, 0, 0, 0, 4, 0,103, 0, 2, 4,106, 5, 32, 0, 34, 0, 46, 0, 55, 0, 61, 0, 0, 1, 54, 38, 55, + 30, 1, 7, 51, 20, 35, 0, 19, 33, 38, 53, 52, 0, 39, 6, 39, 6, 39, 55, 7, 38, 39, 54, 39, 54, 55, 54, 38, 55, 22, 23, 7, + 21, 22, 59, 1, 50, 53, 52, 55, 35, 34, 7, 3, 21, 20, 59, 1, 54, 53, 39, 34, 1, 23, 4, 19, 51, 2, 1,248, 54, 71, 74, 75, + 21, 38, 4, 2, 1,213, 39,252,175, 11, 1,110, 12, 61,108, 82, 93, 42, 94,100, 23, 87, 12, 42, 87, 9, 62, 33, 91, 49,148, 3, + 7, 18, 61, 37, 5, 84, 32,101, 25, 9, 62, 6, 54, 1,144, 46, 1, 72, 5, 67, 39, 4, 76, 34,139, 39, 71,128, 13, 1,254,215, +252,225, 49, 50,140, 1, 0,104,152, 6,132, 4, 91, 70, 25, 72,229,184, 96, 91, 36, 37,111, 23,107,223, 14, 26, 43, 29, 42, 56, +254,100, 21, 25, 13, 46, 30, 1,248, 78,235,253, 99, 2,232, 0, 0, 1, 0,118, 0, 5, 4, 91, 4,198, 0, 46, 0, 0, 55, 38, + 53, 52, 54, 55, 54, 55, 38, 39, 38, 53, 52, 54, 55, 54, 55, 38, 39, 38, 52, 62, 1, 51, 50, 30, 1, 20, 7, 6, 7, 22, 23, 30, + 1, 21, 20, 7, 6, 7, 22, 23, 30, 1, 21, 20, 7,127, 9,134,119, 31, 32, 24, 17, 34, 69, 62, 22, 24, 21, 13, 18, 35, 64, 33, + 33, 63, 37, 18, 13, 21, 22, 25, 61, 69, 33, 18, 24, 31, 31,119,135, 10, 6, 46, 47,130,238, 64, 17, 12, 24, 30, 61, 67, 68,122, + 34, 12, 8, 15, 24, 31, 69, 62, 34, 34, 62, 69, 31, 24, 16, 7, 12, 34,122, 68, 67, 61, 30, 24, 13, 16, 64,238,130, 47, 46, 0, + 0, 1, 0,128, 0,133, 4, 81, 5, 79, 0, 35, 0, 0, 1, 22, 23, 22, 23, 22, 29, 1, 20, 7, 6, 35, 34, 39, 35, 21, 20, 23, + 35, 53, 54, 53, 39, 35, 7, 6, 35, 34, 47, 1, 53, 52, 55, 0, 63, 1, 2,107, 77,177,195, 5, 32,133, 44, 52,127, 78, 34, 68, +177, 70, 2, 32, 38, 70,105,153, 63, 7,154, 1, 2, 74, 2, 5, 79,137,227,228, 47, 70, 66, 33,137, 79, 18,182, 10,233,123, 5, +124,234, 3, 73,109,172, 60, 38,150,167, 1, 61,136, 2, 0, 0, 0, 2, 0, 14, 0,133, 4,195, 5, 77, 0, 24, 0, 50, 0, 0, + 1, 50, 23, 22, 21, 50, 55, 54, 51, 50, 23, 22, 29, 1, 20, 7, 0, 7, 35, 1, 38, 53, 52, 55, 54, 3, 21, 20, 23, 1, 51, 1, + 54, 61, 1, 52, 39, 38, 35, 34, 3, 6, 21, 35, 52, 39, 38, 35, 34, 7, 6, 1, 61,179, 96, 23, 5, 10, 93,193,172,100, 31,182, +254,142, 50, 5,254, 13, 99,164, 66,188,171, 1,134, 3, 1,216, 85,155, 59, 47,217, 71, 8, 5, 59, 83,156,143, 88, 30, 5, 77, +226, 66, 20, 58,254,174, 64, 66, 10,213,189,254, 59, 55, 2,104,146,150,173,102, 37,254,208, 13,180,187,254, 35, 2, 62,133,124, + 31,142, 92, 23,254,144, 31, 21, 64,172,184,146, 57, 0, 0, 0, 0, 2, 0,145, 0,133, 4, 64, 5, 79, 0, 8, 0, 13, 0, 0, + 9, 1, 21, 0, 7, 38, 1, 38, 53, 9, 4, 2,105, 1,215,254, 67, 26, 12,254,110, 58, 1,213,254, 94, 1,165, 1,166,254,168, + 5, 79,253,158, 5,253,185, 28, 9, 2, 14, 71, 10, 2, 32,253,222,253,219, 2, 37, 1,189, 0, 0, 1, 0, 50, 0,133, 4,159, + 5, 79, 0, 55, 0, 0, 1, 50, 23, 22, 23, 20, 15, 1, 51, 54, 59, 1, 50, 23, 22, 21, 20, 7, 6, 7, 34, 39, 35, 21, 16, 23, + 21, 35, 39, 54, 17, 53, 35, 6, 35, 34, 39, 38, 53, 52, 55, 54, 59, 1, 50, 23, 51, 53, 38, 39, 38, 61, 1, 52, 55, 54, 2,106, +176, 83, 10, 3, 99, 49, 2, 61, 69, 16,195, 79, 19,172, 32, 59,199, 83, 2, 67,171, 5, 70, 2, 82,202,157, 84, 20,202, 54, 42, + 8, 70, 64, 3, 69, 24, 49,176, 59, 5, 79,186, 43, 46, 96,132, 49, 23,166, 54, 50,168, 86, 10, 5,226, 8,254,230, 89, 5, 5, +105, 1, 18, 2,228,166, 56, 47,192, 68, 10, 23, 2, 59, 56, 91, 66, 12,165, 86, 15, 0, 0, 0, 0, 3, 0,127, 0,134, 4, 82, + 5, 80, 0, 34, 0, 60, 0, 66, 0, 0, 1, 22, 1, 22, 29, 1, 20, 7, 6, 43, 1, 34, 39, 35, 21, 20, 23, 35, 53, 54, 53, 35, + 7, 6, 43, 1, 34, 39, 38, 53, 55, 53, 52, 55, 18, 55, 6, 1, 6, 21, 22, 23, 22, 59, 1, 50, 55, 51, 50, 23, 22, 59, 1, 50, + 55, 54, 61, 1, 52, 39, 38, 3, 51, 38, 39, 34, 7, 2,105,104, 1, 59, 70,148, 28, 40, 18,119, 81, 34, 68,177, 71, 34, 46, 70, + 87, 18,131, 67, 20, 2,169,239, 78,102,254,234, 66, 8,121, 18, 34, 13, 98, 79,150, 6, 26, 68, 85, 15,113, 53, 8,166,189,117, + 52, 11, 12, 5, 13, 5, 80,185,254,136,114,111, 2,172, 64, 13,179, 11,230,127, 5,124,239, 83, 96,143, 54, 52, 11, 2,164,175, + 1, 39, 60,164,254,183,107,110,153, 44, 7,179, 58,121,137, 33, 25, 25,145,170,236,252, 64, 19, 74, 68, 0, 0, 0, 1, 0, 11, + 0,133, 4,198, 5, 79, 0, 23, 0, 0, 1, 50, 23, 22, 23, 51, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 1, 35, 1, 38, 53, 52, + 55, 54, 1, 59,167, 95, 35, 2, 2, 29, 75, 89,111,172,104, 26,171,254, 77, 5,254, 50,138,164, 69, 5, 79,193, 76, 41,133, 88, + 89,184, 68, 60,206,186,253,246, 2, 54,169,179,173,102, 37, 0, 0, 1, 0,145, 0,133, 4, 64, 5, 79, 0, 8, 0, 0, 9, 1, + 22, 21, 1, 38, 1, 52, 55, 2,105, 1,158, 57,254, 41, 10,254, 50, 92, 5, 79,253,231, 69, 11,253,159, 6, 2, 91, 11,114, 0, + 0, 3, 0, 49, 0,134, 4,160, 5, 86, 0, 50, 0, 96, 0,103, 0, 0, 1, 50, 23, 22, 21, 20, 15, 1, 54, 59, 1, 50, 23, 22, + 21, 20, 7, 6, 7, 34, 39, 35, 21, 16, 23, 21, 35, 39, 54, 17, 53, 35, 6, 35, 34, 39, 38, 53, 52, 55, 54, 59, 1, 50, 23, 38, + 39, 53, 52, 55, 54, 3, 20, 31, 1, 21, 38, 43, 1, 34, 15, 1, 20, 23, 22, 51, 50, 55, 54, 55, 51, 22, 23, 22, 51, 50, 55, 54, + 61, 1, 52, 47, 1, 35, 34, 7, 53, 54, 55, 54, 53, 52, 39, 38, 35, 34, 7, 19, 20, 7, 51, 53, 38, 53, 2,109,166, 86, 21, 94, + 18, 25, 50, 34,204, 76, 13,173, 28, 60,198, 84, 2, 67,172, 5, 70, 2, 82,203,157, 85, 21,203, 55, 42, 32, 50, 25, 81, 23,177, + 59,198,139, 10, 88, 97, 7,200, 50, 6,112, 50, 64,173, 94, 13, 18, 6, 30, 68, 74,130,138, 70, 10,208, 44, 5, 97, 88,106, 26, + 21,153, 45, 33,152, 68,216, 23, 50, 23, 5, 86,169, 57, 47,109,136, 19, 5,177, 46, 48,173, 82, 10, 6,227, 7,254,228, 90, 4, + 4,106, 1, 19, 3,230,167, 57, 47,194, 67, 10, 5, 92,145, 32,167, 86, 15,254,239,128,167, 10, 3, 8,175, 55,121, 77, 31,243, + 22, 53, 98,111,109,156, 38, 35, 5,183, 39, 3, 8, 3,112, 91, 63, 36,150, 71, 14,165,252,141, 23, 79, 3, 81, 18, 0, 0, 0, + 0, 4, 0, 46, 0, 7, 4,163, 4,198, 0, 14, 0, 29, 0, 44, 0, 72, 0, 0, 1, 51, 20, 6, 7, 20, 22, 23, 35, 38, 39, 38, + 39, 38, 54, 37, 51, 20, 6, 7, 20, 22, 23, 35, 38, 39, 38, 39, 38, 54, 5, 51, 20, 6, 7, 20, 22, 23, 35, 38, 39, 38, 39, 38, + 54, 19, 30, 1, 21, 20, 6, 4, 32, 36, 38, 53, 52, 54, 55, 51, 6, 7, 6, 20, 30, 1, 32, 62, 1, 52, 39, 38, 39, 1,126, 11, +118, 1,165, 6, 11, 23,133, 39, 12, 4,138, 1, 5, 11,119, 2,167, 5, 11, 23,132, 40, 12, 3,138, 1, 24, 11,119, 1,166, 5, + 10, 23,133, 39, 13, 3,138, 36,136,155,150,254,239,254,217,254,239,150,154,136, 3,107, 61, 70,136,245, 1, 13,246,135, 70, 62, +106, 4, 71, 51,126, 80,106, 98,164,135, 94, 42, 73,101,114,192, 78,192,123,160,152,249,204,145, 63,113,154,174, 74, 65,159,101, +131,125,206,169,118, 54, 92,126,144,254,120, 40,143, 79, 78,143, 80, 80,143, 78, 79,143, 40, 33, 56, 63,136,124, 69, 69,124,136, + 63, 56, 33, 0, 0, 1, 1,114, 0, 33, 3, 95, 5,170, 0, 17, 0, 0, 1, 51, 23, 17, 20, 15, 1, 35, 34, 47, 1, 52, 63, 1, + 50, 23, 51, 17, 3, 21, 68, 6,185, 45, 33,200, 26, 4,199, 31, 93, 85, 4, 5,170, 7,251, 70,154, 43, 3,125, 29,123, 23, 4, + 60, 4,142, 0, 0, 1, 0,162, 0, 33, 4, 47, 5,170, 0, 29, 0, 0, 1, 51, 23, 21, 22, 23, 22, 21, 20, 7, 35, 39, 54, 53, + 52, 39, 38, 39, 17, 20, 7, 35, 34, 53, 52, 55, 51, 50, 23, 17, 2, 54, 82, 8, 25,163,227,115, 4, 28, 57,215, 87, 23,212, 53, +229,200, 22, 91, 83, 5,170, 6, 37, 51, 59, 66,131,137, 91, 30, 47, 79, 66, 67, 39, 25,252, 18,144, 42,158,124, 21, 60, 4,144, + 0, 1, 0,106,255, 95, 4,103, 5,165, 0, 30, 0, 0, 1, 5, 23, 17, 20, 7, 35, 34, 61, 1, 52, 63, 1, 50, 23, 17, 37, 17, + 20, 15, 1, 35, 34, 61, 1, 52, 63, 1, 50, 23, 17, 1,217, 2,140, 2,181, 51,201,167, 37, 81, 77,253,251,142, 63, 25,203,160, + 41, 84, 75, 5,165,191, 4,251, 55,146, 40,155, 4,119, 20, 3, 55, 3,209,159,252, 23,129, 53, 7,146, 7,115, 32, 3, 63, 4, +141, 0, 0, 0, 0, 2, 0, 17, 0,124, 4,192, 5, 79, 0, 24, 0, 28, 0, 0, 1, 23, 17, 20, 7, 34, 39, 52, 55, 50, 23, 51, + 17, 33, 17, 6, 7, 35, 34, 53, 52, 55, 50, 23, 17, 23, 21, 33, 53, 4,189, 3,214,192, 15,192, 89, 65, 3,253, 62, 7,199, 3, +212,194, 82, 72, 73, 2,194, 5, 79, 3,251,243,176, 17,135,113, 12, 49, 2, 32,253,211,171, 29,145,103, 13, 52, 4, 2,170,128, +128, 0, 0, 0, 0, 2, 1, 68, 0, 37, 3,141, 5,174, 0, 12, 0, 19, 0, 0, 1, 51, 23, 17, 51, 54, 51, 22, 23, 2, 5, 39, + 17, 19, 17, 36, 17, 54, 39, 34, 1, 73, 43, 4, 3,161,136,215, 18, 27,253,212, 2, 52, 1,139, 12,152,112, 5,174, 5,252,117, +224, 3,242,254,111, 83, 2, 5,130,252, 16,254,177, 94, 1, 31,163, 8, 0, 0, 0, 2, 1,177, 0, 42, 3, 32, 5,175, 0, 13, + 0, 19, 0, 0, 1, 51, 23, 17, 37, 23, 17, 7, 35, 39, 17, 5, 35, 17, 19, 17, 51, 37, 17, 35, 1,182, 39, 6, 1, 59, 2, 4, + 38, 5,254,194, 2, 50, 1, 1, 13, 2, 5,175, 5,254, 73,152, 2,251,166, 5, 5, 1,202,151, 4, 72,253,188,254,147,135, 1, +106, 0, 0, 0, 0, 2, 1, 55, 0, 42, 3,154, 5,175, 0, 40, 0, 44, 0, 0, 1, 51, 23, 17, 55, 23, 21, 6, 7, 17, 55, 21, + 6, 7, 17, 7, 35, 39, 17, 5, 17, 7, 35, 39, 17, 7, 53, 52, 55, 17, 35, 7, 53, 55, 17, 55, 51, 23, 21, 37, 17, 1, 17, 37, + 17, 2,246, 44, 5,112, 3, 3,112,115, 1,114, 5, 44, 4,254,240, 5, 39, 5,122,122, 2,120,122, 5, 39, 5, 1, 16,254,240, + 1, 16, 5,175, 5,254,225, 57, 2,133, 7, 56,254,160, 52,128, 4, 63,254,232, 4, 4, 1, 2,132,254,185, 4, 4, 1, 47, 57, +134, 6, 57, 1,101, 53,131, 62, 1, 15, 3, 3,248,127, 1, 58,253,185,254,156,131, 1, 95, 0, 0, 1, 0, 96,255,254, 4,113, + 5, 28, 0, 69, 0, 0, 1, 35, 38, 7, 35, 34, 39, 53, 54, 53, 52, 39, 53, 54, 55, 51, 22, 59, 1, 53, 52, 39, 53, 54, 55, 51, + 22, 50, 55, 51, 22, 23, 21, 6, 29, 1, 51, 50, 55, 51, 22, 23, 21, 6, 21, 20, 23, 21, 6, 43, 1, 38, 7, 35, 17, 20, 23, 21, + 6, 7, 35, 38, 34, 7, 35, 38, 39, 53, 54, 53, 2, 42,148,159, 71, 49, 21, 9, 86, 86, 1, 28, 50, 73,158,147,115, 3, 25, 51, + 39,123, 39, 51, 25, 3,115,143,158, 73, 49, 28, 2, 86, 86, 9, 22, 48, 71,160,143,115, 3, 25, 51, 39,123, 39, 51, 25, 3,115, + 2,173, 1, 80, 31, 51, 43, 49, 61, 39, 51, 25, 3,115,153,159, 72, 49, 29, 2, 87, 87, 2, 29, 49, 72,159,153,115, 3, 25, 51, + 39, 61, 49, 43, 51, 31, 80, 1,254,136,159, 72, 50, 28, 2, 87, 87, 2, 28, 50, 72,159, 0, 0, 0, 6, 0, 46,255,240, 4,163, + 5, 15, 0, 6, 0, 13, 0, 20, 0, 27, 0, 59, 0, 71, 0, 0, 19, 6, 7, 22, 23, 55, 53, 5, 21, 23, 54, 55, 38, 39, 1, 38, + 39, 6, 7, 23, 51, 3, 35, 7, 22, 23, 54, 55, 3, 51, 55, 22, 23, 6, 7, 39, 35, 17, 23, 6, 7, 38, 39, 55, 17, 35, 7, 38, + 39, 54, 55, 23, 51, 53, 39, 54, 55, 22, 23, 15, 1, 21, 35, 21, 51, 17, 51, 17, 51, 53, 35, 53,206, 19, 42, 41, 20, 83, 2,144, + 82, 20, 41, 41, 20,254,181, 38, 42, 38, 39, 59, 40, 1, 40, 58, 39, 38, 41, 39, 6,200,182, 8,107,107, 8,182,200,110, 92, 92, + 91, 91,110,200,182, 9,107,107, 9,182,200,110, 91, 91, 92, 92,110, 96,102,102, 47,101,101, 3, 46, 40, 40, 38, 40, 59, 40, 1, + 40, 58, 40, 38, 40, 40, 1, 64, 20, 41, 41, 20, 83,252,200, 83, 20, 42, 42, 20, 2,152,110, 92, 93, 91, 91,111,254,132,182, 10, +106,106, 10,182, 1,124,111, 91, 92, 92, 92,110,187,183, 10,106,106, 10,183,101,139, 40,254,176, 1, 80, 40,139, 0, 12, 0, 47, +255,251, 4,162, 4, 78, 0, 20, 0, 35, 0, 46, 0, 54, 0, 67, 0, 77, 0,104, 0,119, 0,140, 0,151, 0,166, 0,175, 0, 0, + 1, 33, 50, 31, 1, 55, 51, 50, 21, 7, 33, 39, 53, 54, 55, 53, 38, 39, 38, 61, 1, 7, 51, 50, 23, 22, 21, 6, 7, 35, 38, 39, + 53, 54, 55, 54, 23, 21, 19, 7, 21, 51, 55, 7, 38, 47, 1, 5, 23, 55, 38, 43, 1, 34, 7, 5, 22, 31, 1, 21, 20, 7, 6, 43, + 1, 38, 39, 53, 31, 1, 51, 50, 63, 1, 52, 47, 1, 6, 37, 51, 50, 23, 22, 21, 7, 35, 39, 6, 15, 1, 23, 7, 35, 38, 39, 38, + 61, 1, 52, 63, 1, 35, 39, 53, 55, 23, 21, 23, 51, 21, 20, 7, 21, 22, 23, 19, 51, 23, 53, 39, 5, 51, 23, 21, 33, 50, 55, 51, + 23, 21, 6, 7, 6, 43, 1, 21, 7, 35, 38, 61, 1, 39, 23, 17, 7, 35, 34, 47, 1, 53, 52, 55, 5, 7, 23, 51, 53, 52, 59, 1, + 50, 63, 1, 33, 38, 61, 1, 5, 6, 7, 21, 20, 31, 1, 51, 53, 2, 20, 1, 45, 44, 22, 59, 75, 6, 4,132,254,247, 4, 14, 62, +142, 12, 35, 87, 18, 85, 42, 23,134, 12, 3,229, 3,121, 12, 34,209,154, 17,154, 72, 21, 86, 13, 15,253,206,183,122, 47, 59, 21, + 64, 34, 2,191, 14,113, 4, 61, 17, 28,111, 9,137, 41,119,101, 41, 28, 1, 36, 73,173,253,197, 15, 7, 89, 39, 4, 4, 76,137, + 11, 3, 4, 5, 2, 17,132, 15, 65, 15, 2, 76, 4, 97, 14, 2, 88, 1,119,152, 2, 21, 72, 1,229, 4, 3, 1, 27, 32, 27, 2, + 4, 5,149, 19, 26,149, 3, 7,131, 62, 6, 4,227, 88, 37, 4, 67, 1,201, 73, 73, 4, 6,176, 16, 36, 80,254,204, 6,254, 67, + 47, 4, 68, 23,206, 4, 78, 54,103, 43, 5,229, 4, 4, 13, 32, 4,248, 15, 17, 3, 4, 10, 98, 37, 8,239, 13,131, 6, 2,215, + 6, 35, 18, 1,254,241, 11, 2,131, 9,150, 10, 3,230,106,213,110, 78,203, 13,208, 32, 15, 58, 51, 14, 8,242, 3, 11,212, 79, + 20, 43, 53,123, 98, 81,164, 60, 10, 4, 44,235, 26, 16, 30, 4, 21,229, 20, 23, 6, 21,100, 31, 45, 4, 4, 29, 4, 10, 2, 6, +150, 8, 20,193, 1, 9, 6, 3,131,229, 4, 88, 25, 4, 1, 16,255, 22, 93, 3,220, 10, 3,136, 5,254,247, 3,102, 29, 9, 39, + 94, 9,131,130, 6, 22, 74,137, 1, 15, 6, 22, 74, 28, 7, 65, 33, 4,211, 0, 0, 4, 0, 60, 0, 10, 4,149, 4, 56, 0, 10, + 0, 31, 0, 50, 0, 69, 0, 0, 1, 51, 17, 7, 53, 55, 51, 17, 51, 21, 33, 5, 38, 53, 52, 63, 1, 39, 55, 23, 39, 7, 6, 23, + 22, 55, 33, 21, 33, 34, 39, 38, 37, 6, 7, 35, 21, 39, 55, 21, 51, 54, 55, 54, 39, 3, 55, 19, 22, 21, 20, 1, 22, 31, 1, 55, + 7, 39, 55, 39, 38, 7, 6, 7, 3, 39, 19, 54, 55, 54, 1,220,125,136,147, 93,125,254,158,254,129, 32, 28, 61, 45,171, 18, 45, + 72, 15, 27, 29, 87, 1, 40,254,159, 55, 42, 33, 4, 11, 62,128,121,154,154,144, 42, 19, 18, 49,147, 99,177, 27,253,189,123, 70, + 61, 46, 18,171, 44, 72, 28, 45, 46, 39,148,100,176, 29, 40, 35, 1, 89, 1, 43, 19, 71, 22,254,139, 67,134, 56, 57, 53, 55,106, + 26, 78,187, 26,125, 41, 37, 37, 6,116, 24, 20, 71,108, 7, 53,110,109, 51, 8, 40, 44, 72, 1, 1, 58,254,206, 48, 47, 40, 3, + 95, 1,107,105, 26,188, 78, 26,125, 33, 4, 7, 78,255, 0, 57, 1, 50, 48, 24, 20, 0, 0, 0, 0, 4, 0, 75, 0, 9, 4,134, + 4, 28, 0, 28, 0, 49, 0, 68, 0, 87, 0, 0, 1, 51, 21, 33, 53, 62, 1, 55, 62, 1, 53, 52, 38, 35, 34, 6, 7, 53, 62, 1, + 51, 50, 22, 21, 20, 6, 7, 14, 1, 5, 38, 53, 52, 63, 1, 39, 55, 23, 39, 7, 6, 23, 22, 55, 33, 21, 33, 34, 39, 38, 37, 6, + 7, 35, 21, 39, 55, 21, 51, 54, 55, 54, 47, 1, 55, 19, 22, 21, 20, 1, 22, 31, 1, 55, 7, 39, 55, 39, 38, 7, 6, 15, 1, 39, + 19, 54, 55, 54, 2, 64,242,254,137, 46,146, 17, 35, 26, 53, 42, 34, 73, 63, 54, 79, 34, 91,109, 27, 34, 10, 99,253,229, 31, 27, + 60, 44,167, 17, 43, 71, 14, 26, 28, 85, 1, 32,254,168, 53, 41, 32, 3,240, 60,124,119,149,149,141, 41, 18, 17, 47,144, 97,173, + 26,253,203,121, 68, 60, 44, 17,167, 43, 71, 27, 44, 44, 38,145, 97,171, 28, 40, 33, 1, 62, 66, 60, 35,113, 15, 29, 39, 19, 28, + 37, 17, 27, 78, 18, 14, 71, 57, 27, 49, 32, 9, 77,232, 55, 56, 51, 53,104, 26, 76,183, 26,123, 39, 36, 36, 5,113, 24, 19, 69, +104, 8, 51,107,106, 50, 8, 39, 43, 71,250, 56,254,214, 47, 46, 38, 3, 72, 1,103,104, 26,183, 76, 25,123, 32, 5, 6, 76,250, + 56, 1, 42, 47, 23, 19, 0, 0, 0, 4, 0, 68, 0, 10, 4,141, 4, 42, 0, 40, 0, 61, 0, 80, 0, 99, 0, 0, 1, 30, 1, 21, + 20, 6, 35, 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, 22, 21, 20, 6, 1, 38, 53, 52, 63, 1, 39, 55, 23, 39, 7, 6, 23, 22, 55, 33, 21, 33, 34, 39, 38, 37, 6, 7, 35, 21, 39, + 55, 21, 51, 54, 55, 54, 47, 1, 55, 19, 22, 21, 20, 1, 22, 31, 1, 55, 7, 39, 55, 39, 38, 7, 6, 15, 1, 39, 19, 54, 55, 54, + 2,246, 8, 68,124,113, 37, 78, 50, 52, 72, 39, 67, 66, 61, 57, 80, 83, 51, 52, 54, 52, 30, 69, 62, 54, 79, 35, 93,111, 60,253, +107, 32, 28, 60, 45,170, 17, 44, 71, 15, 26, 29, 86, 1, 36,254,164, 54, 41, 34, 3,254, 61,126,120,152,152,142, 42, 18, 18, 48, +146, 98,175, 27,253,196,122, 69, 60, 46, 18,169, 43, 71, 27, 45, 45, 38,147, 98,173, 28, 41, 34, 1,237, 1, 60, 43, 66, 73, 10, + 13, 78, 22, 13, 36, 37, 32, 36, 66, 28, 27, 28, 30, 10, 15, 71, 11, 9, 64, 54, 37, 54,254,161, 55, 57, 52, 54,105, 26, 77,185, + 26,124, 40, 36, 37, 6,115, 24, 20, 69,105, 8, 52,109,107, 51, 8, 40, 44, 71,254, 57,254,210, 48, 46, 39, 3, 83, 1,105,105, + 26,185, 77, 26,123, 33, 5, 6, 77,253, 56, 1, 47, 47, 23, 20, 0, 5, 0, 36, 0, 7, 4,173, 4,100, 0, 2, 0, 13, 0, 34, + 0, 53, 0, 72, 0, 0, 1, 7, 51, 3, 51, 17, 51, 21, 35, 21, 35, 53, 33, 53, 1, 38, 53, 52, 63, 1, 39, 55, 23, 39, 7, 6, + 23, 22, 55, 33, 21, 33, 34, 39, 38, 37, 6, 7, 35, 21, 39, 55, 21, 51, 54, 55, 54, 39, 3, 55, 19, 22, 21, 20, 1, 22, 31, 1, + 55, 7, 39, 55, 39, 38, 7, 6, 7, 3, 39, 19, 54, 55, 54, 2,129,175,175, 15,135, 92, 92,120,254,221,254,232, 34, 29, 64, 47, +179, 18, 46, 75, 16, 28, 30, 91, 1, 53,254,143, 57, 43, 35, 4, 57, 65,133,128,159,159,151, 44, 20, 19, 51,154,103,185, 29,253, +163,128, 74, 64, 48, 19,179, 46, 75, 29, 48, 48, 40,155,104,184, 29, 43, 36, 2,119,196, 1, 44,254,212, 72,109,109, 73,254,222, + 59, 60, 55, 57,111, 28, 81,196, 28,131, 43, 38, 39, 6,121, 25, 21, 74,112, 8, 55,115,113, 53, 8, 42, 47, 75, 1, 12, 60,254, +193, 50, 50, 41, 3,133, 1,111,111, 28,196, 81, 27,131, 34, 4, 7, 82,254,245, 59, 1, 64, 50, 25, 21, 0, 0, 0, 4, 0, 62, + 0, 9, 4,147, 4, 51, 0, 29, 0, 50, 0, 69, 0, 88, 0, 0, 1, 33, 21, 35, 21, 50, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, + 39, 53, 30, 1, 51, 50, 54, 53, 52, 38, 35, 34, 6, 7, 1, 38, 53, 52, 63, 1, 39, 55, 23, 39, 7, 6, 23, 22, 55, 33, 21, 33, + 34, 39, 38, 37, 6, 7, 35, 21, 39, 55, 21, 51, 54, 55, 54, 39, 3, 55, 19, 22, 21, 20, 1, 22, 31, 1, 55, 7, 39, 55, 39, 38, + 7, 6, 15, 1, 39, 19, 54, 55, 54, 1,202, 1, 72,230, 4, 31, 17,101,118,121,110, 36, 76, 50, 55, 67, 39, 60, 67, 67, 60, 28, + 59, 50,254,149, 32, 27, 61, 45,171, 18, 45, 72, 14, 26, 29, 87, 1, 39,254,160, 55, 41, 34, 4, 9, 62,128,121,153,153,144, 42, + 18, 19, 49,147, 99,177, 26,253,191,123, 70, 61, 46, 19,170, 44, 72, 28, 45, 46, 38,149, 99,176, 28, 41, 34, 2,184, 69, 82, 5, + 85, 72, 72, 83, 10, 11, 83, 23, 13, 47, 40, 42, 46, 9, 18,254,200, 56, 57, 53, 54,106, 26, 78,187, 27,126, 40, 37, 37, 6,116, + 24, 20, 71,107, 8, 53,110,109, 51, 8, 40, 44, 72, 1, 0, 58,254,207, 48, 48, 39, 3, 92, 1,106,105, 26,187, 78, 25,125, 33, + 4, 7, 78,255, 57, 1, 49, 47, 24, 20, 0, 0, 0, 5, 0, 75, 0, 0, 4,134, 4, 18, 0, 9, 0, 34, 0, 55, 0, 74, 0, 93, + 0, 0, 1, 34, 6, 20, 22, 51, 50, 54, 52, 38, 55, 21, 46, 1, 35, 34, 6, 7, 6, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 53, + 52, 54, 51, 50, 22, 1, 38, 53, 52, 63, 1, 39, 55, 23, 39, 7, 6, 23, 22, 55, 33, 21, 33, 34, 39, 38, 37, 6, 7, 35, 21, 39, + 55, 21, 51, 54, 55, 54, 47, 1, 55, 19, 22, 21, 20, 1, 22, 31, 1, 55, 7, 39, 55, 39, 38, 7, 6, 15, 1, 39, 19, 54, 55, 54, + 2, 93, 39, 48, 48, 39, 42, 47, 47,108, 43, 50, 24, 62, 65, 2, 5, 66, 40, 83, 96,100, 84, 94,100,121,103, 27, 55,253,157, 31, + 27, 60, 44,167, 17, 43, 71, 14, 26, 28, 85, 1, 32,254,168, 53, 41, 32, 3,240, 60,124,119,149,149,141, 41, 18, 17, 47,144, 97, +173, 26,253,203,121, 68, 60, 44, 17,167, 43, 71, 27, 44, 44, 38,145, 97,171, 28, 40, 33, 1,219, 46, 84, 45, 45, 84, 46,192, 72, + 15, 10, 68, 38, 5, 29, 82, 69, 67, 83,117,107,102,123, 8,253,220, 55, 56, 51, 53,104, 26, 76,183, 26,123, 40, 35, 36, 5,113, + 24, 19, 69,105, 7, 52,108,106, 50, 8, 39, 43, 71,250, 56,254,214, 47, 46, 38, 3, 72, 1,104,103, 26,183, 76, 25,122, 32, 4, + 6, 76,250, 56, 1, 42, 46, 24, 19, 0, 0, 0, 0, 4, 0, 45, 0, 12, 4,164, 4, 88, 0, 6, 0, 27, 0, 46, 0, 65, 0, 0, + 1, 33, 21, 3, 35, 19, 33, 1, 38, 53, 52, 63, 1, 39, 55, 23, 39, 7, 6, 23, 22, 55, 33, 21, 33, 34, 39, 38, 37, 6, 7, 35, + 21, 39, 55, 21, 51, 54, 55, 54, 39, 3, 55, 19, 22, 21, 20, 1, 22, 31, 1, 55, 7, 39, 55, 39, 38, 7, 6, 7, 3, 39, 19, 54, + 55, 54, 1,178, 1,129,204,110,191,254,250,254,156, 33, 29, 63, 47,177, 18, 46, 74, 15, 27, 30, 89, 1, 48,254,149, 56, 43, 34, + 4, 40, 64,131,125,158,158,148, 44, 19, 18, 50,151,102,182, 28,253,172,127, 72, 63, 47, 19,175, 45, 74, 29, 46, 48, 39,153,102, +180, 30, 42, 35, 2,192, 38,254, 75, 1,148,254, 28, 58, 59, 54, 56,110, 27, 80,193, 27,129, 42, 37, 39, 6,119, 25, 20, 73,110, + 8, 55,114,112, 53, 8, 41, 46, 74, 1, 8, 60,254,198, 50, 49, 40, 3,118, 1,109,109, 27,193, 81, 26,129, 34, 5, 7, 80,254, +249, 59, 1, 58, 49, 25, 20, 0, 0, 3, 0, 45, 0, 0, 4,164, 4, 75, 0, 20, 0, 39, 0, 58, 0, 0, 55, 38, 53, 52, 63, 1, + 39, 55, 23, 39, 7, 6, 23, 22, 55, 33, 21, 33, 34, 39, 38, 37, 6, 7, 35, 21, 39, 55, 21, 51, 54, 55, 54, 39, 3, 55, 19, 22, + 21, 20, 1, 22, 31, 1, 55, 7, 39, 55, 39, 38, 7, 6, 7, 3, 39, 19, 54, 55, 54, 78, 33, 29, 63, 47,177, 18, 46, 74, 15, 27, + 30, 89, 1, 48,254,149, 56, 43, 34, 4, 40, 64,131,125,158,158,148, 44, 19, 18, 50,151,102,182, 28,253,172,127, 72, 63, 47, 19, +175, 45, 74, 29, 46, 48, 39,153,102,180, 30, 42, 35,136, 58, 60, 54, 56,109, 27, 80,192, 27,129, 42, 38, 38, 6,119, 25, 20, 72, +110, 7, 55,113,112, 53, 9, 41, 46, 74, 1, 8, 59,254,198, 49, 49, 41, 3,119, 1,110,108, 27,193, 80, 26,130, 33, 4, 7, 80, +254,248, 59, 1, 59, 49, 25, 20, 0, 6, 0, 57,255,255, 4,152, 4, 57, 0, 16, 0, 26, 0, 39, 0, 57, 0, 72, 0, 82, 0, 0, + 1, 33, 50, 31, 1, 55, 51, 21, 6, 7, 33, 53, 54, 55, 3, 38, 35, 7, 50, 31, 1, 7, 38, 39, 54, 55, 54, 1, 22, 21, 23, 20, + 7, 6, 43, 1, 38, 39, 54, 55, 5, 22, 23, 39, 6, 15, 1, 23, 35, 3, 39, 54, 55, 54, 53, 39, 53, 51, 1, 51, 21, 33, 50, 55, + 51, 20, 3, 6, 43, 1, 21, 35, 47, 1, 23, 17, 7, 35, 34, 47, 1, 52, 55, 2, 24, 1, 36, 44, 25, 55, 74, 5,118, 12,254,255, + 73, 3,148, 26, 10, 77, 79, 32, 36,144,201, 20,112, 16, 37, 2,132,124, 2, 73, 11, 30, 94, 11,131, 18,151,253, 91,128, 1, 84, +144, 3, 2, 4, 4,151, 6, 3, 60, 20, 75,171, 2, 34, 1, 1, 40, 25, 22, 2,150, 18, 24,153, 3,126, 71, 4, 4,217, 87, 36, + 3, 63, 4, 56, 63, 93, 41, 2,206, 16, 4, 40, 7, 1, 9, 19, 3, 69, 65,247,115, 15,194, 22, 35,254,192,208, 17, 30, 76, 44, + 6, 12,235, 17, 84, 20,216, 10, 48,248, 12, 31, 21, 1, 4, 24, 24, 96, 30, 9, 43, 2,254,252, 87, 20, 7,254,251, 17, 86,219, +132, 4,254,255, 4, 96, 36, 36, 97, 0, 0, 0, 0, 7, 0, 46, 0, 7, 4,163, 4,124, 0, 19, 0, 37, 0, 50, 0, 60, 0, 74, + 0, 92, 0,101, 0, 0, 1, 51, 32, 19, 22, 29, 1, 16, 5, 6, 43, 1, 32, 3, 38, 61, 1, 16, 55, 54, 23, 21, 50, 31, 1, 21, + 6, 7, 21, 51, 54, 55, 35, 7, 38, 39, 38, 35, 5, 22, 51, 54, 55, 38, 35, 38, 35, 34, 7, 6, 7, 5, 21, 23, 51, 50, 55, 52, + 47, 1, 34, 5, 23, 6, 7, 20, 31, 1, 51, 52, 63, 1, 51, 23, 39, 5, 7, 22, 23, 51, 53, 55, 51, 50, 63, 1, 53, 35, 6, 43, + 1, 39, 53, 5, 6, 29, 1, 20, 31, 1, 51, 53, 2, 94, 21, 1, 45,185, 74,254,206,124,139, 3,254,183,176, 64,241,145,104, 29, + 39, 92, 20, 45,214, 7,101, 2, 64, 60, 14, 16, 19,254, 30,185, 6, 3,114, 50, 18, 22, 38, 72, 41, 59, 10, 1,232,117, 90, 74, + 20, 77, 31, 11,252,205, 61, 57, 8,106, 22, 2, 21,108, 7, 58,106, 1,128,103, 5, 98, 3, 4,131, 28, 46, 81, 2, 17, 26,241, + 4,254,105, 50, 81, 20,192, 4,124,254,233,133,157, 5,254,182,179, 58, 1, 42,127,125, 40, 1, 11,184,100,112, 2, 82,157, 2, + 17, 24, 2, 6,183, 33,104, 17, 9,220,106, 11,196, 96, 14, 93, 95, 23,169, 3,204,105, 36,120, 58, 45, 40, 94, 37, 17,177, 44, + 51, 19,189, 34,184,216,191, 2,180, 69, 5, 97,135, 2, 12, 5, 72, 77, 80, 30, 9, 69, 31, 3,222, 0, 0, 0, 0, 8, 0, 55, + 0, 4, 4,154, 4,103, 0, 15, 0, 32, 0, 47, 0, 58, 0, 66, 0, 82, 0, 96, 0,106, 0, 0, 1, 32, 19, 22, 21, 16, 5, 6, + 35, 32, 3, 38, 53, 16, 37, 54, 1, 16, 5, 22, 59, 1, 32, 19, 54, 53, 16, 37, 38, 35, 32, 3, 6, 1, 51, 50, 31, 1, 55, 21, + 6, 7, 35, 53, 55, 38, 47, 1, 35, 50, 31, 1, 7, 35, 38, 39, 54, 55, 54, 1, 22, 29, 1, 6, 43, 1, 39, 37, 51, 23, 7, 35, + 39, 35, 6, 7, 21, 38, 47, 1, 52, 55, 39, 5, 51, 21, 51, 50, 55, 21, 15, 1, 35, 7, 21, 35, 39, 37, 51, 23, 21, 7, 35, 34, + 47, 1, 54, 2,106, 1, 49,178, 77,254,227,123,157,254,199,174, 71, 1, 38,128,254,122, 1, 10,118,127, 36, 1, 14,172, 69,254, +240,120,138,254,221,168, 69, 1,197,235, 40, 18, 43, 61, 82, 20,204, 58,110, 19, 20, 58, 68, 23, 33,115, 2,171, 13, 89, 21, 33, + 1,250,103, 16, 81, 75,117,253,162,207,109, 2, 2, 59, 2,125, 4, 9,117, 2, 65, 59, 2, 62, 5,245, 15, 18,130, 17,127, 4, + 5,101,254,231,225, 4, 4,184, 61, 29, 5, 1, 4,103,254,241,134,158,254,194,175, 67, 1, 23,121,165, 1, 63,176, 63,253,205, +254,212,162, 66, 1, 3,124,147, 1, 42,168, 62,254,252,119, 1, 18, 52, 73, 32, 2,153, 26, 2, 39,191, 29, 9, 53, 64,194, 96, + 12,160, 19, 24,254,253,169, 25, 17, 98,199, 67,183, 2, 36,208, 16, 20, 9,205, 13, 21,106, 36,206, 72, 15, 4,219, 7, 5, 63, +178,105, 4,207, 4, 77, 33, 37, 0, 5, 0, 46, 0, 7, 4,163, 4,124, 0, 7, 0, 23, 0, 31, 0, 55, 0, 72, 0, 0, 1, 22, + 23, 50, 55, 38, 39, 6, 1, 32, 19, 22, 21, 16, 5, 6, 35, 32, 3, 38, 53, 16, 37, 54, 1, 6, 7, 22, 51, 54, 55, 38, 5, 21, + 35, 6, 39, 46, 1, 55, 38, 54, 55, 50, 23, 54, 51, 30, 1, 7, 22, 6, 7, 6, 39, 35, 37, 16, 5, 22, 59, 1, 32, 19, 54, 53, + 16, 37, 38, 35, 32, 3, 6, 1, 4, 1,140,109, 74, 66,124,133, 1,101, 1, 54,180, 79,254,222,125,159,254,194,176, 73, 1, 43, +129, 1,111,124, 66, 74,110,139, 2, 2,254,155, 2, 94,143,106, 97, 5, 3,121,103,119, 97, 97,121,103,120, 2, 4, 97,106,143, + 94, 2,253,229, 1, 14,119,130, 36, 1, 19,174, 70,254,236,121,141,254,216,170, 70, 2, 71,156, 2,155,148, 3, 2, 1,162,254, +237,135,162,254,189,177, 68, 1, 28,123,167, 1, 67,180, 63,254, 96, 3,148,155, 2,156,146,205, 22,150, 6, 12,147, 66, 93,119, + 1,130,130, 1,119, 93, 66,147, 12, 6,150, 74,254,208,165, 67, 1, 7,125,150, 1, 46,171, 63,254,248,121, 0, 0, 2, 0, 80, + 0, 8, 4,129, 5, 37, 0, 24, 0, 46, 0, 0, 1, 50, 21, 6, 7, 23, 51, 50, 23, 7, 35, 23, 33, 22, 19, 55, 23, 6, 7, 38, + 3, 33, 34, 3, 52, 1, 6, 35, 34, 46, 1, 53, 52, 55, 54, 55, 23, 6, 7, 20, 30, 1, 50, 54, 55, 23, 6, 1,140,134, 1,112, + 21,241, 11, 14, 4,241, 11, 1,133, 11,123,117, 42, 4,240, 14,130,254, 95, 11, 74, 1,185, 99,108,108,198,109, 56, 28, 42, 35, + 22, 2, 73,133,145,132, 37, 60, 40, 5, 36,124,143, 1,202,128, 3, 88, 6,254,164, 35,123, 7, 78, 21, 1,119, 2,192,116,251, + 27, 55,109,197,110,108,100, 52, 41,190, 53, 58, 73,133, 73, 73, 66,147, 44, 0, 0, 3, 0, 60, 0, 5, 4,149, 4, 95, 0, 23, + 0, 27, 0, 31, 0, 0, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 1, 17, + 33, 17, 37, 33, 17, 33, 1,255, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14,254, 62, 4, 87, +252, 36, 3, 96,252,160, 2, 52, 31, 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21,253,241, 4, 90,251, +166,124, 3, 98, 0, 4, 0, 60, 0, 5, 4,149, 4, 95, 0, 23, 0, 47, 0, 51, 0, 55, 0, 0, 1, 52, 55, 54, 55, 54, 51, 50, + 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, + 7, 6, 35, 34, 39, 38, 39, 38, 1, 17, 33, 17, 37, 33, 17, 33, 1, 23, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, + 32, 31, 21, 23, 16, 14, 1,209, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14,253, 85, 4, 87, +252, 36, 3, 96,252,160, 1, 72, 31, 21, 23, 15, 14, 14, 15, 23, 21, 31, 32, 21, 23, 15, 15, 15, 15, 23, 21, 1,244, 32, 21, 22, + 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20,253, 9, 4, 90,251,166,124, 3, 98, 0, 0, 0, 0, 5, 0, 60, + 0, 5, 4,149, 4, 95, 0, 23, 0, 47, 0, 71, 0, 75, 0, 79, 0, 0, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, + 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 19, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, + 39, 38, 19, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 1, 17, 33, 17, 37, 33, + 17, 33, 1, 23, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14,232, 14, 16, 23, 20, 32, 32, 21, + 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14,233, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, + 16, 14,253, 85, 4, 87,252, 36, 3, 96,252,160, 1, 72, 31, 21, 23, 15, 14, 14, 15, 23, 21, 31, 32, 21, 23, 15, 15, 15, 15, 23, + 21, 1, 12, 31, 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 1, 8, 32, 21, 22, 16, 14, 14, 15, 23, + 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20,253, 9, 4, 90,251,166,124, 3, 98, 0, 6, 0, 60, 0, 1, 4,149, 4, 91, 0, 23, + 0, 47, 0, 71, 0, 95, 0, 99, 0,103, 0, 0, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, + 39, 38, 39, 38, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 37, 52, 55, 54, + 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, + 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 1, 17, 33, 17, 37, 33, 17, 33, 1, 23, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, + 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 1,209, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, +254, 47, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 1,209, 14, 15, 23, 21, 32, 31, 21, 23, + 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14,253, 85, 4, 87,252, 36, 3, 96,252,160, 3, 24, 32, 21, 23, 15, 15, 15, 15, 23, + 21, 32, 31, 21, 23, 15, 14, 14, 15, 23, 21,254, 75, 31, 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, + 32, 31, 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 1,244, 32, 21, 23, 15, 15, 15, 15, 23, 21, 32, + 31, 21, 23, 15, 14, 14, 15, 23, 21,253, 8, 4, 90,251,166,124, 3, 98, 0, 0, 0, 7, 0, 60, 0, 5, 4,149, 4, 95, 0, 23, + 0, 47, 0, 71, 0, 95, 0,119, 0,123, 0,127, 0, 0, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, + 35, 34, 39, 38, 39, 38, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 37, 52, + 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, + 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 7, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, + 35, 34, 39, 38, 39, 38, 1, 17, 33, 17, 37, 33, 17, 33, 1, 23, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, + 21, 23, 16, 14, 1,209, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14,254, 47, 14, 16, 23, 20, + 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 1,209, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20, + 32, 32, 21, 22, 16, 14,233, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14,254, 62, 4, 87,252, + 36, 3, 96,252,160, 3, 28, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20,254, 76, 31, 21, 23, 15, + 14, 14, 15, 23, 21, 31, 32, 21, 23, 15, 15, 15, 15, 23, 21, 32, 31, 21, 23, 15, 14, 14, 15, 23, 21, 31, 32, 21, 23, 15, 15, 15, + 15, 23, 21, 1,244, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20,200, 31, 21, 23, 16, 14, 14, 16, + 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21,253,241, 4, 90,251,166,124, 3, 98, 0, 0, 0, 0, 8, 0, 60,255,252, 4,149, + 4, 86, 0, 23, 0, 47, 0, 71, 0, 95, 0,119, 0,143, 0,147, 0,151, 0, 0, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, + 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 37, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, + 39, 38, 39, 38, 17, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 1, 52, 55, 54, + 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 37, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, + 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, + 39, 38, 39, 38, 1, 17, 33, 17, 37, 33, 17, 33, 2,231, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, + 16, 14,254, 48, 14, 15, 24, 20, 32, 32, 20, 23, 16, 14, 14, 15, 24, 20, 32, 32, 20, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, + 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 1,209, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, + 16, 14,254, 47, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 1,209, 14, 15, 23, 21, 32, 31, + 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14,253, 85, 4, 87,252, 36, 3, 96,252,160, 2, 43, 32, 21, 22, 16, 14, 14, + 15, 23, 21, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 32, 21, 22, 16, 14, 14, 15, 23, + 21, 1, 46, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21,254, 0, 32, 21, 22, 16, 14, 14, 15, 23, + 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 31, 21, 23, 16, 14, 14, 16, 23, 20, 2, + 64, 32, 21, 22, 16, 14, 14, 15, 23, 21, 32, 32, 21, 22, 16, 14, 14, 15, 23, 21,252,227, 4, 90,251,166,124, 3, 98, 0, 0, 0, + 0, 3, 0, 46, 0, 0, 4,163, 4,116, 0, 12, 0, 27, 0, 41, 0, 0, 1, 50, 4, 18, 16, 2, 4, 32, 36, 2, 16, 18, 36, 1, + 20, 30, 1, 32, 62, 1, 53, 52, 46, 1, 35, 34, 14, 1, 4, 52, 62, 1, 51, 50, 30, 1, 20, 14, 1, 35, 34, 38, 2,104,144, 1, + 16,154,150,254,240,254,217,254,240,150,153, 1, 16,254,152,133,240, 1, 7,240,133,137,240,128,127,242,135, 2,185, 26, 46, 25, + 24, 46, 26, 27, 45, 24, 25, 45, 4,116,147,254,238,254,214,254,242,151,151, 1, 14, 1, 42, 1, 18,147,253,198,132,240,132,132, +240,132,131,243,130,130,243,156, 50, 46, 25, 25, 46, 50, 47, 24, 24, 0, 0, 0, 0, 4, 0, 46, 0, 5, 4,163, 4,121, 0, 12, + 0, 27, 0, 41, 0, 54, 0, 0, 1, 50, 4, 18, 16, 2, 4, 32, 36, 2, 16, 18, 36, 1, 20, 30, 1, 32, 62, 1, 53, 52, 46, 1, + 35, 34, 14, 1, 4, 52, 62, 1, 51, 50, 30, 1, 20, 14, 1, 35, 34, 38, 36, 50, 30, 1, 20, 14, 1, 35, 34, 46, 1, 52, 54, 2, +104,144, 1, 16,154,150,254,240,254,217,254,240,150,153, 1, 16,254,152,133,240, 1, 7,240,133,137,240,128,127,242,135, 2,185, + 26, 46, 25, 24, 46, 26, 27, 45, 24, 25, 45,253,230, 49, 46, 26, 26, 45, 26, 24, 46, 26, 27, 4,121,147,254,238,254,214,254,242, +151,151, 1, 14, 1, 42, 1, 18,147,253,198,132,240,132,132,240,132,131,243,130,130,243,156, 50, 46, 25, 25, 46, 50, 47, 24, 24, +168, 24, 47, 50, 46, 25, 25, 46, 50, 47, 0, 0, 0, 2, 0, 46, 0, 0, 4,163, 4,116, 0, 12, 0, 26, 0, 0, 1, 50, 4, 18, + 16, 2, 4, 32, 36, 2, 16, 18, 36, 1, 50, 62, 1, 52, 46, 1, 35, 34, 14, 1, 20, 30, 1, 2,104,144, 1, 16,154,150,254,240, +254,217,254,240,150,153, 1, 16, 1,178, 24, 45, 27, 26, 46, 24, 25, 46, 26, 27, 45, 4,116,147,254,238,254,214,254,242,151,151, + 1, 14, 1, 42, 1, 18,147,253,102, 24, 47, 50, 46, 25, 25, 46, 50, 47, 24, 0, 0, 3, 0, 46,255,246, 4,163, 4,106, 0, 12, + 0, 26, 0, 39, 0, 0, 1, 50, 4, 18, 16, 2, 4, 32, 36, 2, 16, 18, 36, 1, 50, 62, 1, 52, 46, 1, 35, 34, 14, 1, 20, 30, + 1, 36, 20, 30, 1, 51, 50, 62, 1, 52, 46, 1, 34, 6, 2,104,144, 1, 16,154,150,254,240,254,217,254,240,150,153, 1, 16, 1, +178, 24, 45, 27, 26, 46, 24, 25, 46, 26, 27, 45,253,113, 26, 46, 24, 26, 45, 26, 26, 46, 49, 45, 4,106,147,254,238,254,214,254, +242,151,151, 1, 14, 1, 42, 1, 18,147,253,102, 24, 47, 50, 46, 25, 25, 46, 50, 47, 24,121, 50, 46, 25, 25, 46, 50, 47, 24, 24, + 0, 1, 0, 82, 0, 7, 4,127, 0,150, 0, 3, 0, 0, 55, 33, 21, 33, 82, 4, 45,251,211,150,143, 0, 0, 0, 0, 2, 0, 82, + 0, 7, 4,127, 0,150, 0, 3, 0, 7, 0, 0, 55, 33, 21, 33, 37, 33, 21, 33, 82, 1,179,254, 77, 2,122, 1,179,254, 77,150, +143,143,143, 0, 0, 2, 0,150,255,254, 4, 59, 4,187, 0, 9, 0, 26, 0, 0, 1, 54, 4, 55, 17, 6, 39, 38, 7, 47, 1, 35, + 39, 51, 21, 35, 21, 54, 23, 22, 55, 17, 6, 36, 7, 17, 35, 1, 37,135, 1,128,215,175,190,143,210, 16, 80, 61, 1,219, 61,205, +176,204,188,231,254, 98,146, 78, 2, 27, 43,187, 35, 1,240, 33,102,129, 34, 2, 75, 43, 43, 21, 33,124,111, 53,253,155, 60,201, + 63,254, 49, 0, 0, 1, 0,115, 0, 5, 4, 94, 5, 30, 0, 16, 0, 0, 19, 35, 39, 51, 21, 35, 21, 54, 23, 22, 55, 17, 6, 36, + 7, 17, 35,182, 66, 1,236, 66,221,189,220,203,249,254, 66,157, 84, 4,240, 46, 46, 23, 35,133,120, 58,253,107, 65,217, 68,254, + 13, 0, 0, 0, 0, 1, 0, 39,255,255, 4,170, 4, 40, 0, 31, 0, 0, 1, 39, 7, 39, 55, 39, 55, 23, 55, 23, 7, 23, 55, 39, + 55, 23, 55, 23, 7, 22, 19, 39, 7, 31, 1, 7, 47, 1, 15, 1, 39, 55, 2, 37,237,132,140,132, 33, 98, 31,131,140,130,236,237, +131,141,131, 31, 97, 32, 50, 24,214,236,126,227,131,192,128,126,192,131,225, 1,196,239,132,141,133, 31, 98, 31,132,142,132,239, +238,133,142,133, 32, 98, 31, 80,254,230,220,240,127,193,132,228,127,127,228,132,193, 0, 0, 0, 0, 2, 0, 31, 0, 0, 4,178, + 4,211, 0, 15, 0, 82, 0, 0, 1, 20, 30, 1, 51, 50, 62, 1, 53, 52, 46, 1, 35, 34, 14, 1, 19, 21, 35, 6, 35, 34, 39, 53, + 35, 21, 35, 34, 38, 39, 38, 39, 7, 3, 23, 7, 48, 23, 22, 23, 22, 23, 17, 33, 53, 33, 53, 38, 39, 46, 1, 52, 62, 1, 51, 50, + 30, 1, 20, 6, 7, 6, 7, 21, 33, 21, 33, 17, 54, 55, 54, 55, 54, 55, 39, 55, 3, 39, 6, 7, 6, 7, 6, 1,252, 32, 58, 31, + 33, 57, 33, 34, 57, 32, 30, 58, 33,184, 6, 30, 32, 2, 3, 5, 6,137,251, 70, 13, 11, 71, 23,249, 70, 5, 59,107, 89, 95,254, +207, 1, 49, 21, 21, 50, 55, 56,101, 53, 54,100, 58, 56, 49, 22, 22, 1, 41,254,215, 82, 76,107, 60, 2, 3, 71,250, 24, 71, 10, + 14, 69,126, 94, 3,255, 32, 58, 32, 32, 58, 32, 32, 59, 32, 32, 59,251,229, 1, 2, 1, 1, 1, 78, 71, 14, 13, 53, 1, 13,101, + 52, 5, 71, 40, 32, 6, 2, 76,105, 41, 7, 11, 28,101,110,102, 55, 55,102,110,101, 28, 11, 7, 41,105,253,182, 9, 27, 40, 71, + 3, 2, 52,101,254,243, 53, 13, 14, 71, 40, 29, 0, 4, 0,129, 0, 12, 4, 80, 4,109, 0, 4, 0, 9, 0, 57, 0, 89, 0, 0, + 37, 38, 39, 7, 22, 37, 23, 54, 55, 38, 1, 23, 54, 55, 51, 6, 7, 23, 22, 23, 14, 1, 7, 38, 47, 1, 6, 7, 39, 54, 55, 39, + 7, 22, 23, 7, 38, 39, 7, 6, 7, 34, 38, 39, 52, 63, 1, 38, 39, 51, 22, 23, 55, 1, 39, 9, 1, 7, 1, 21, 39, 1, 55, 9, + 1, 23, 1, 3, 38, 47, 1, 30, 1, 23, 55, 38, 39, 19, 23, 35, 23, 6, 7, 23, 62, 1, 55, 7, 6, 7, 4, 14, 36, 15, 7, 3, +252,177, 6, 15, 37, 56, 2, 24,208, 56, 20, 69, 19, 70,117, 47, 1, 4, 45, 32, 54, 3,117, 78, 68, 29, 76, 50,183,182, 50, 76, + 29, 69, 78,117, 1, 47, 30, 56, 3, 48,117, 70, 19, 68, 21, 56,209,254,106, 24, 1,230, 1,231, 25,254, 85, 24, 1,189, 4,254, + 52,254, 53, 3, 1,191,239, 66, 37, 17, 31,121,133, 6, 92, 65,234, 27, 1,204, 64, 89, 7,132,121, 31, 16, 36, 70, 24, 10, 48, + 6, 61, 47, 6, 48, 10, 9, 1,159,228, 44, 45, 88, 55,136, 2, 48, 32, 25, 1, 3, 59,126, 42, 6, 50, 12, 37,218,218, 37, 12, + 50, 6, 42,126, 54, 8, 22, 27, 57, 2,136, 55, 88, 45, 44,228, 1,227,111,253,236, 2, 20,111,254, 3, 1, 27, 2, 16, 11,253, +242, 2, 14, 11,253,244,254,243, 43, 70, 1, 57,100, 49, 12, 28, 41, 1, 12, 30,240, 40, 27, 12, 49,100, 57, 1, 67, 49, 0, 0, + 0, 5, 0,188,255,253, 4, 21, 5,236, 0, 3, 0, 22, 0, 42, 0, 67, 0, 84, 0, 0, 1, 22, 39, 38, 19, 21, 6, 35, 34, 39, + 53, 38, 55, 54, 55, 21, 6, 21, 6, 4, 7, 35, 38, 3, 36, 39, 38, 37, 21, 6, 21, 20, 4, 23, 6, 5, 39, 54, 39, 38, 39, 17, + 39, 19, 17, 39, 17, 36, 39, 54, 55, 54, 23, 7, 23, 6, 39, 38, 7, 6, 4, 23, 6, 5, 53, 36, 39, 54, 37, 39, 3, 46, 1, 53, + 52, 62, 1, 51, 50, 30, 1, 21, 20, 6, 7, 1,148, 68, 22, 36,250, 12, 28, 34, 4,182, 2, 6,158, 64, 4, 1, 70, 2, 14, 28, +198,254,232, 6, 2, 1, 16,170, 2, 44, 2, 4,254,238, 2,188, 6, 2,194, 78, 78, 78,254,118, 4, 14,212, 70, 56,112, 94, 76, + 98, 50, 10, 4, 2,242, 6, 6,254,150, 1, 18, 2, 12,254,216, 78, 4, 22, 24, 24, 42, 22, 24, 42, 24, 24, 20, 4,181, 30, 43, + 11,251,148, 66, 29, 64, 48, 34, 65, 82, 25, 47, 24, 22, 48, 63,119, 65, 1,183, 37,111,100, 47, 68, 38, 51, 46, 89, 97, 81, 47, + 53, 35, 51, 36, 34,254,180, 19, 3, 1,254,129, 16, 1,117, 19,138,144, 5, 4, 73, 30, 25, 18, 39, 13, 64, 51, 47,117,138, 16, + 61, 32, 61, 35,110, 7, 1, 45, 11, 46, 24, 25, 46, 24, 24, 46, 25, 24, 46, 11, 0, 3, 0, 19, 0, 3, 4,190, 4,119, 0, 3, + 0, 7, 0, 51, 0, 0, 37, 11, 1, 22, 37, 11, 1, 22, 1, 51, 50, 29, 1, 20, 43, 1, 19, 6, 7, 14, 1, 35, 34, 46, 1, 55, + 19, 33, 19, 22, 14, 1, 34, 38, 39, 38, 39, 19, 35, 38, 61, 1, 52, 59, 1, 55, 23, 51, 55, 23, 51, 55, 4,128,207,207,207,254, + 68,207,207,207, 2,175,160, 42, 31,145,207, 2, 36, 35,130, 71, 70,129, 72, 2,204,253,250,205, 2, 72,129,141,130, 37, 35, 1, +206,153, 24, 43,161, 40, 38,189, 97, 97,189, 39,196, 2,109,253,147, 57, 57, 2,109,253,147, 57, 2,249, 32, 18, 30,253,149, 51, + 46, 48, 53, 53, 95, 52, 2,105,253,151, 52, 95, 53, 53, 48, 46, 51, 2,107, 12, 22, 11, 35,116,116,242,242,116, 0, 2, 0, 22, + 0, 6, 4,187, 4,107, 0, 22, 0, 34, 0, 0, 1, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 38, 39, 46, 1, 7, 6, + 7, 39, 18, 1, 19, 35, 3, 35, 17, 35, 3, 35, 3, 35, 19, 1,214,138,118, 41, 37,151, 56, 27, 13, 32, 95, 94,168, 62, 25, 58, +107,123,149, 90,172, 3,178, 71, 95, 63,215,103, 1,214, 64, 96, 72, 4, 44, 62, 6, 30,124, 58, 61, 43, 44,106, 44, 44, 60,134, + 54, 79, 47, 50,217, 51, 1, 51,254, 29,254, 60, 1, 98,254,158, 1, 98,254,158, 1,196, 0, 0, 0, 2, 0, 74,255,253, 4,135, + 5, 30, 0, 13, 0, 49, 0, 0, 0, 20, 30, 1, 51, 50, 62, 1, 52, 46, 1, 35, 34, 6, 19, 21, 51, 22, 54, 55, 20, 4, 7, 6, + 7, 35, 38, 55, 38, 36, 3, 30, 1, 55, 51, 53, 38, 39, 46, 1, 52, 62, 1, 50, 30, 1, 20, 6, 7, 6, 1,207, 44, 80, 42, 43, + 80, 44, 46, 78, 43, 41, 80,164, 5,133,198,151,254,100, 34, 47, 1, 37, 40, 2, 4,254, 77, 77,174,216,126, 6, 57, 53, 68, 76, + 77,137,145,139, 78, 77, 68, 50, 4, 41, 87, 78, 44, 44, 78, 87, 80, 42, 42,254,103,136, 1,168, 33,202,135,132,119,214,156,143, +115,126, 1, 10, 1,215, 12,135, 6, 31, 38,136,151,138, 74, 74,138,151,136, 38, 28, 0, 0, 0, 0, 3, 0, 30, 0, 0, 4,179, + 4,211, 0, 63, 0, 71, 0, 79, 0, 0, 0, 50, 31, 1, 22, 23, 55, 22, 23, 7, 22, 23, 55, 22, 23, 7, 22, 20, 7, 23, 6, 7, + 39, 6, 7, 23, 6, 7, 39, 6, 15, 1, 6, 34, 47, 1, 38, 39, 7, 38, 39, 55, 38, 39, 7, 38, 39, 55, 38, 52, 55, 39, 54, 55, + 23, 54, 55, 39, 54, 55, 23, 54, 63, 1, 18, 32, 6, 16, 22, 32, 54, 16, 6, 20, 6, 34, 38, 52, 54, 50, 2, 69, 71, 35, 26, 57, + 54, 92, 62, 52, 50, 40, 28,112, 30, 13, 95, 4, 4, 95, 13, 30,112, 28, 40, 50, 52, 62, 92, 54, 57, 26, 35, 71, 35, 26, 58, 53, + 92, 62, 52, 50, 40, 28,112, 30, 13, 95, 4, 4, 95, 13, 30,112, 28, 40, 50, 52, 62, 92, 53, 58, 26,218,254,217,209,209, 1, 39, +209,224, 78,109, 78, 78,109, 4,211, 4,128, 11, 25, 85, 37, 52,109, 43, 51, 13, 69, 74, 53, 30, 58, 29, 54, 74, 69, 13, 51, 43, +109, 52, 37, 84, 24, 12,127, 5, 5,127, 12, 24, 84, 37, 52,109, 43, 51, 13, 69, 74, 54, 29, 58, 30, 53, 74, 69, 13, 51, 44,108, + 52, 37, 84, 24, 11,128,255, 0,210,254,217,208,208, 1, 39, 92,110, 77, 77,110, 77, 0, 0, 0, 0, 15, 0, 42, 0, 12, 4,167, + 5, 63, 0, 8, 0, 13, 0, 18, 0, 23, 0, 28, 0, 33, 0, 38, 0, 43, 0, 48, 0, 53, 0, 58, 0, 63, 0, 68, 0, 80, 0,145, + 0, 0, 0, 20, 30, 1, 51, 38, 55, 34, 6, 5, 22, 23, 55, 38, 39, 22, 23, 55, 38, 39, 22, 23, 55, 38, 39, 22, 7, 55, 38, 39, + 22, 7, 23, 54, 39, 6, 7, 23, 54, 37, 23, 54, 55, 6, 7, 23, 54, 55, 6, 7, 23, 54, 55, 6, 31, 1, 38, 55, 6, 23, 55, 38, + 55, 6, 23, 55, 38, 39, 6, 23, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 39, 53, 38, 39, 46, 1, 52, 62, 1, 51, 50, 30, 1, + 20, 6, 7, 6, 7, 51, 20, 35, 21, 22, 23, 22, 23, 54, 55, 4, 23, 6, 35, 38, 7, 22, 21, 20, 7, 6, 7, 3, 21, 6, 35, 34, + 39, 53, 3, 38, 39, 38, 53, 52, 55, 38, 7, 34, 39, 54, 37, 22, 23, 54, 55, 54, 2, 49, 15, 27, 16, 26, 26, 15, 28, 1,180, 97, + 36, 23, 79,127, 96, 32, 34, 78,105, 66, 14, 42, 52,108, 44, 1, 52, 34, 85, 2, 21, 52, 2, 55, 41, 44, 51, 40,252,224, 23, 36, + 97, 77, 35, 34, 31, 97, 84, 17, 42, 14, 66, 70, 13, 52, 1, 44, 61, 52, 52, 22, 3, 35, 89, 51, 44, 41, 6,253, 48, 66, 66, 48, + 47, 67, 66, 79, 3, 2, 16, 19, 19, 34, 18, 18, 33, 19, 18, 17, 1, 3, 1, 1, 45, 36, 3, 3, 70, 19, 1, 36, 70, 74,223, 70, + 49, 4, 46, 35, 45, 1, 10, 20, 22, 7, 2, 45, 35, 45, 2, 50, 77,223, 74, 70, 1, 36, 19, 71, 6, 8, 35, 5, 9, 30, 27, 16, + 56, 60, 15,103, 55, 42, 33, 50, 17, 85, 54, 29, 74, 37,110, 61, 17, 95, 67,127, 66, 7,110, 84,135, 62, 9,114, 89,119, 48, 23, +100, 9, 34, 42, 55, 14, 93, 29, 54, 85, 36,117, 17, 61,110, 59,119, 7, 66,127, 76,122, 9, 62,135, 92,101, 23, 48,119, 90, 51, + 67, 46, 49, 66, 66, 49, 46, 67, 40, 78, 1, 2, 9, 34, 37, 34, 18, 18, 34, 37, 34, 9, 2, 1, 1, 77, 8, 35, 3, 3,112, 46, + 5, 80,143, 22, 22, 17, 18, 65, 46, 36, 7,253, 59, 81, 19, 25, 87, 2,185, 7, 36, 46, 65, 15, 15, 28, 23,142, 80, 5, 45,123, + 9, 8, 34, 0, 0, 15, 0, 82, 0, 11, 4,127, 4,199, 0, 15, 0, 26, 0, 38, 0, 46, 0, 70, 0, 82, 0,138, 0,150, 0,158, + 0,166, 0,178, 0,186, 0,194, 0,202, 0,214, 0, 0, 1, 50, 30, 1, 21, 20, 14, 1, 35, 34, 46, 1, 53, 52, 62, 1, 7, 38, + 39, 6, 7, 6, 22, 55, 54, 55, 38, 37, 6, 7, 22, 23, 22, 55, 54, 39, 38, 39, 6, 39, 22, 21, 20, 7, 54, 55, 38, 39, 38, 39, + 38, 39, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 54, 55, 54, 55, 54, 53, 52, 55, 22, 23, 22, 23, 54, 55, 54, 39, 38, 7, + 6, 5, 55, 62, 1, 51, 50, 22, 23, 21, 54, 23, 22, 23, 22, 21, 20, 7, 6, 7, 51, 22, 23, 22, 21, 20, 7, 14, 1, 39, 35, 6, + 7, 6, 35, 34, 39, 38, 39, 6, 38, 39, 38, 53, 52, 55, 54, 55, 38, 39, 38, 53, 52, 55, 54, 55, 54, 5, 38, 39, 38, 35, 34, 7, + 6, 7, 22, 23, 54, 23, 6, 7, 22, 23, 22, 23, 38, 37, 6, 7, 54, 55, 54, 55, 38, 39, 38, 39, 38, 7, 6, 23, 22, 23, 54, 55, + 54, 7, 6, 7, 22, 23, 38, 53, 52, 23, 22, 23, 54, 55, 38, 39, 38, 23, 22, 23, 54, 55, 6, 7, 6, 7, 6, 7, 22, 23, 22, 51, + 50, 55, 54, 55, 38, 2,104, 16, 29, 16, 16, 29, 16, 16, 29, 16, 16, 29,183, 64, 57,104, 41, 44, 41, 82, 80,124, 12, 1,136, 5, + 11,124, 80, 82, 21, 21, 45, 42,103, 58, 62, 2, 2, 47, 42, 42, 89, 38, 40, 41, 40, 40, 39, 41, 38, 1, 1, 38, 41, 39, 41, 40, + 40, 41, 37, 3, 20, 12, 5, 64, 57,102, 43, 46, 21, 21, 84, 82,254, 34, 1, 28, 96, 51, 51, 96, 27,138, 92, 95, 26, 9, 28, 46, +110, 1,112, 44, 27, 9, 26,183,140, 1, 27, 48, 48, 52, 52, 49, 47, 28,139,184, 25, 9, 26, 44,112,110, 44, 28, 9, 26, 93, 93, + 1,194, 22, 38, 38, 40, 41, 38, 38, 21, 69, 69, 69, 74, 48, 51, 28, 29, 27, 27, 4,254,217, 7, 5, 27, 28, 28, 28, 50, 87,121, + 81, 84, 20, 22, 46, 44,100, 57, 64, 5, 7, 46, 42, 42, 46, 1, 46, 5, 7, 49, 50, 28, 28, 29,174, 51, 48, 8, 4, 26, 28, 29, + 73, 68, 69, 21, 37, 38, 42, 42, 37, 38, 21, 70, 2,166, 15, 30, 17, 16, 28, 17, 17, 28, 16, 17, 30, 15,176, 43, 46, 83, 69, 70, + 69, 3, 3, 46, 73, 77, 77, 73, 46, 3, 3, 34, 35, 70, 69, 83, 46,136, 32, 33, 31, 32, 31, 32, 34, 59, 24, 23, 23, 21, 21, 23, + 23, 24, 45, 48, 46, 45, 25, 23, 23, 21, 21, 23, 23, 25, 45, 46, 48,217, 73, 77, 43, 46, 82, 69, 70, 36, 36, 4, 4, 8, 2,145, +156,156,145, 2, 49, 1, 2, 46, 16, 22, 37, 50, 83, 95, 96, 81, 50, 37, 22, 16, 45, 4, 49,143, 79, 81, 81, 79,143, 50, 5, 45, + 16, 22, 36, 51, 81, 96, 95, 82, 51, 38, 21, 16, 46, 2, 1, 62,131, 71, 73, 73, 71,131, 26, 34, 34, 13, 21, 23, 15, 16, 17, 16, + 55, 52, 52, 55, 16, 17, 16, 15, 23, 35, 46, 4, 4, 36, 36, 70, 69, 82, 47, 43, 76,127, 31, 34, 32, 31, 32, 31, 33,174, 55, 53, + 20, 24, 14, 17, 16, 47, 24, 20, 53, 55, 17, 16, 17, 37, 34, 27,128, 73, 74, 74, 73,128, 27, 0, 0, 7, 0, 42,255,254, 4,167, + 5, 26, 0, 11, 0, 20, 0, 29, 0, 41, 0,112, 0,126, 0,140, 0, 0, 1, 20, 23, 54, 55, 38, 39, 54, 55, 38, 39, 6, 5, 52, + 38, 21, 6, 21, 22, 23, 54, 37, 6, 23, 54, 55, 46, 1, 39, 6, 5, 52, 39, 6, 7, 22, 23, 6, 7, 22, 23, 54, 3, 38, 7, 6, + 7, 38, 39, 54, 55, 22, 23, 54, 55, 38, 53, 52, 63, 1, 21, 22, 21, 20, 7, 30, 1, 23, 54, 55, 22, 23, 6, 7, 38, 39, 38, 7, + 22, 23, 22, 20, 7, 6, 7, 22, 23, 6, 35, 38, 39, 6, 7, 6, 7, 35, 38, 39, 53, 38, 39, 6, 7, 34, 39, 54, 55, 38, 39, 38, + 52, 55, 54, 6, 20, 30, 1, 51, 50, 62, 1, 52, 46, 1, 35, 34, 6, 55, 50, 30, 1, 20, 14, 1, 35, 34, 46, 1, 52, 62, 1, 2, +154, 34, 48, 39, 45, 8, 3, 44, 32, 41, 42,255, 0, 35, 39, 7, 48, 19, 1,163, 6, 20, 53, 3, 3, 37, 1, 34,255, 0, 42, 37, + 37, 44, 3, 12, 41, 44, 44, 34,232, 71, 26, 28, 78, 89, 2, 2,160,148, 73, 39, 43, 34,144, 1,143, 34, 36, 40, 5, 74,147,161, + 1, 2, 89, 78, 28, 18, 79, 23, 17, 50, 49, 21, 28, 30, 44, 1, 12, 57, 44, 52, 61, 83, 22, 28, 28, 77, 58, 55, 44, 58, 12, 1, + 45, 30, 28, 20, 49, 50, 17, 45, 91,165, 91, 90,165, 91, 93,166, 87, 88,166,254, 73,139, 79, 77,139, 75, 76,139, 77, 78,140, 2, + 50,142,147, 13, 31, 89,123,149, 92, 25, 13, 98,179, 67, 87, 1, 68, 74,103, 65, 66, 99,112, 55, 76, 94, 66, 77, 1, 76, 48,148, + 98, 11, 27, 92,149,117, 93, 33, 13,147, 1, 64, 82, 37, 75, 2, 2,108,104, 2, 6,104, 22, 15, 79, 43,119,213, 1, 1,213,119, + 43, 79, 11, 23, 3,104, 6, 2,104,108, 2, 2, 75, 36, 80, 27, 30, 90,192, 88, 39, 31, 64, 68, 10, 48, 58, 41, 19, 30,119,119, + 30, 1, 18, 42, 59, 48, 10, 69, 65, 30, 38, 88,192, 90, 30,119,180,165, 91, 91,165,180,167, 91, 91, 71, 74,140,152,138, 77, 77, +138,152,140, 74, 0, 4, 0, 34, 0, 2, 4,175, 4, 40, 0, 7, 0, 13, 0, 21, 0, 37, 0, 0, 1, 51, 1, 21, 33, 39, 35, 0, + 23, 1, 21, 33, 53, 0, 7, 50, 21, 2, 35, 34, 3, 54, 19, 50, 30, 1, 21, 20, 14, 1, 35, 34, 46, 1, 53, 52, 62, 1, 2,111, + 5, 2, 58,251,129, 6, 6, 2, 53, 16,254, 40, 3,183,254, 54, 14, 55, 37, 18, 16, 39, 18, 36, 14, 26, 15, 14, 27, 14, 14, 26, + 15, 15, 26, 4, 40,251,225, 6, 6, 4, 7,110,252,170, 12, 6, 3, 72,138, 48,254, 76, 1,186, 42,253,231, 14, 25, 15, 15, 25, + 14, 14, 25, 15, 15, 25, 14, 0, 0, 1, 0,136, 0, 8, 4, 73, 5, 34, 0, 19, 0, 0, 1, 51, 23, 21, 1, 20, 51, 4, 21, 23, + 1, 39, 53, 0, 53, 52, 35, 36, 47, 1, 4, 42, 12, 19,253,220, 80, 1, 82, 7,252,198, 12, 2, 54,104,254,193, 14, 6, 5, 34, + 19, 6,254, 38, 62, 73, 12, 62,253,170, 19, 6, 2, 12, 11, 62, 65, 15, 62, 0, 0, 1, 0,243, 0, 0, 3,223, 5,216, 0, 5, + 0, 0, 1, 33, 19, 3, 33, 3, 1,174, 1,117,188,188,254,139,187, 5,216,254,137,251,159, 4, 97, 0, 0, 0, 0, 1, 0,222, + 0, 0, 3,243, 4,193, 0, 19, 0, 0, 1, 22, 21, 20, 7, 3, 33, 3, 38, 53, 52, 55, 54, 39, 35, 53, 33, 23, 7, 22, 3, 43, +200, 7,193,254,123,192, 8,200,104, 6, 95, 1,129, 1, 97, 1, 3,246, 54,145, 26, 29,253, 8, 2,248, 31, 27,142, 54, 21,109, + 72, 72, 1,109, 0, 3, 0, 46, 1,114, 4,163, 3,243, 0, 90, 0,121, 0,153, 0, 0, 1, 39, 35, 34, 39, 38, 7, 6, 21, 20, + 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 50, 31, 1, 22, 51, 50, 55, 54, 55, + 54, 55, 54, 39, 38, 39, 38, 39, 38, 47, 1, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 50, 22, 23, 22, 23, 22, 21, 20, + 7, 6, 7, 6, 7, 6, 23, 22, 31, 1, 33, 50, 23, 22, 23, 33, 23, 37, 22, 51, 50, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, + 38, 39, 38, 35, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 30, 1, 19, 38, 35, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, + 23, 22, 51, 50, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 2,203,151, 80,122, 20, 30, 2, 1, 7, 9, 18, 16, 25, 20, 30, + 25, 26, 25, 18, 15, 16, 13, 9, 9, 17, 17, 25, 20, 30, 24, 26, 44, 68, 64, 26, 9, 16, 13, 13, 2, 2, 3, 2, 9, 8, 16, 55, + 59, 43, 26, 18, 20, 10, 14, 9, 9, 18, 19, 22, 25, 50, 51, 18, 22, 9, 13, 9, 6, 9, 12, 2, 4, 24, 29, 77, 57, 1, 22,163, + 56, 71, 12,254, 41,149,253, 58, 14, 14, 17, 12, 14, 9, 12, 3, 4, 9, 7, 10, 13, 13, 17, 12, 14, 14, 15, 9, 9, 5, 4, 9, + 7, 21,214, 13, 16, 20, 8, 15, 9, 12, 3, 4, 9, 7, 10, 11, 15, 15, 14, 17, 11, 15, 9, 11, 3, 5, 10, 7, 10, 8, 1,114, +145, 4, 6, 10, 5, 17, 12, 16, 23, 17, 15, 9, 8, 10, 10, 18, 14, 26, 20, 27, 26, 20, 23, 16, 16, 9, 8, 10, 18, 27, 2, 3, + 9, 11, 5, 5, 17, 16, 13, 14, 13, 48, 24, 17, 11, 17, 19, 21, 26, 21, 26, 20, 23, 17, 17, 7, 8, 21, 17, 21, 20, 25, 23, 24, + 21, 17, 8, 12, 5, 9, 15, 19, 76, 58, 22, 29, 53,146, 85, 6, 4, 5, 7, 9, 12, 12, 12, 9, 17, 12, 9, 12, 5, 6, 4, 5, + 7, 9, 12, 12, 12, 10, 16, 12, 20, 1,231, 7, 4, 5, 7, 11, 10, 12, 12, 11, 15, 12, 10, 9, 7, 6, 3, 5, 8, 10, 10, 12, + 13, 10, 15, 13, 10, 7, 0, 0, 0, 3, 0, 46, 1, 92, 4,163, 4, 11, 0, 25, 0,114, 0,140, 0, 0, 18, 50, 54, 55, 54, 55, + 54, 53, 52, 39, 38, 39, 46, 1, 34, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 1, 5, 6, 35, 34, 39, 37, 7, 14, 1, 21, 20, + 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 59, 1, 50, 55, 62, 1, 55, + 54, 52, 39, 46, 1, 39, 38, 43, 1, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, 21, + 20, 7, 6, 21, 20, 22, 31, 1, 37, 54, 51, 50, 23, 36, 34, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 30, 1, 50, 54, 55, 54, 55, + 54, 53, 52, 39, 38, 39, 38,172, 35, 28, 12, 13, 6, 6, 6, 6, 13, 12, 28, 35, 28, 12, 13, 6, 6, 6, 6, 13, 12, 2, 64, 1, +210, 33, 82, 60,165,254,237, 79,113, 60, 8, 5, 11, 10, 21, 17, 30, 24, 59, 25, 25, 21, 20, 12, 10, 10, 11, 21, 16, 30, 25, 29, + 51, 64, 77, 20, 28, 9, 9, 9, 9, 28, 20, 74, 67, 51, 29, 25, 30, 16, 21, 11, 10, 10, 12, 20, 21, 25, 25, 59, 24, 30, 17, 21, + 10, 11, 5, 8, 60,113, 79, 1, 19,165, 60, 82, 33,252, 45, 35, 28, 12, 13, 6, 6, 6, 6, 13, 12, 28, 35, 28, 12, 13, 6, 6, + 6, 6, 13, 12, 1,152, 10, 10, 11, 11, 12, 14, 14, 12, 11, 11, 9, 11, 11, 9, 11, 11, 12, 14, 14, 12, 11, 11, 10, 1, 18,190, + 47, 65,110, 33, 47, 10, 10, 6, 17, 12, 19, 26, 23, 22, 19, 16, 12, 10, 10, 10, 18, 15, 26, 23, 26, 26, 23, 22, 19, 16, 12, 10, + 25, 7, 20, 14, 16, 12, 15, 15, 19, 7, 25, 10, 12, 16, 19, 22, 23, 26, 26, 23, 26, 16, 17, 10, 10, 10, 12, 15, 20, 22, 23, 26, + 19, 12, 16, 6, 11, 11, 46, 33,109, 66, 48, 95, 11, 9, 11, 11, 12, 14, 14, 12, 11, 10, 10, 11, 11, 10, 10, 11, 12, 14, 14, 12, + 11, 11, 9, 0, 0, 3, 0, 58, 1, 63, 4,151, 3,178, 0, 89, 0,120, 0,151, 0, 0, 1, 51, 7, 33, 6, 7, 6, 35, 33, 7, + 6, 7, 6, 21, 20, 23, 22, 23, 22, 21, 20, 7, 6, 7, 14, 1, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 63, 1, 54, + 55, 54, 55, 54, 55, 54, 39, 38, 39, 38, 39, 38, 35, 34, 15, 1, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 62, 1, 55, 54, + 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, 23, 22, 55, 54, 59, 1, 37, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 51, 50, + 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 39, 38, 35, 34, 19, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 39, 38, 35, 34, 6, + 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 51, 50, 2,201,147,147, 1,205, 12, 69, 55,159,254,241, 57, 69, 34, 20, 14, 9, + 6, 8, 12, 9, 21, 18, 50, 49, 24, 22, 19, 19, 7, 8, 13, 8, 21, 18, 25, 43, 57, 54, 15, 8, 9, 2, 3, 2, 2, 13, 7, 21, + 5, 30, 62, 66, 43, 25, 24, 30, 19, 25, 16, 17, 9, 8, 12, 13, 35, 25, 25, 25, 29, 19, 25, 16, 17, 9, 6, 2, 4, 27, 17,122, + 79,254,111, 15, 10, 6, 11, 9, 4, 5, 9, 7, 16, 12, 16, 14, 29, 10, 11, 7, 8, 4, 4, 10, 5, 19, 11, 16, 14,180, 15, 10, + 6, 11, 9, 4, 5, 9, 10, 13, 12, 15, 15, 29, 10, 10, 7, 9, 4, 5, 9, 11, 13, 13, 14, 10, 3,178,142, 52, 28, 22, 57, 68, + 24, 14, 11, 3, 13, 8, 16, 23, 24, 18, 27, 19, 20, 17, 20, 7, 7, 17, 18, 21, 23, 21, 18, 29, 19, 20, 17, 10, 17, 23, 47, 13, + 13, 14, 15, 16, 6, 5, 10, 5, 7, 2, 27, 17, 10, 8, 9, 15, 16, 22, 22, 23, 24, 23, 22, 34, 10, 10, 8, 9, 15, 16, 22, 16, + 12, 19, 3, 10, 7, 4, 58, 6, 9, 6, 16, 14, 11, 14, 10, 12, 8, 6, 6, 4, 12, 10, 9, 12, 15, 13, 11, 10, 12, 8, 7, 5, + 4,254, 24, 6, 9, 5, 17, 13, 11, 15, 10, 11, 9, 8, 4, 3, 12, 9, 10, 12, 13, 12, 15, 9, 11, 9, 9, 3, 4, 0, 0, 0, + 0, 9, 0, 61, 1, 74, 4,148, 4, 3, 0, 90, 0,120, 0,150, 0,180, 0,210, 0,254, 1, 45, 1, 52, 1, 72, 0, 0, 1, 54, + 55, 38, 39, 38, 39, 38, 43, 1, 34, 39, 38, 39, 38, 39, 38, 52, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, + 7, 22, 31, 1, 55, 54, 51, 50, 23, 22, 21, 20, 7, 13, 1, 22, 21, 20, 7, 6, 35, 34, 47, 1, 7, 6, 7, 22, 21, 20, 7, 6, + 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 59, 1, 50, 55, 54, 6, 50, 55, 54, 55, 54, 55, + 54, 53, 52, 39, 38, 39, 38, 39, 38, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 18, 50, 55, 54, 55, 54, 55, 54, 53, + 52, 39, 38, 39, 38, 39, 38, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 18, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, + 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 2, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, + 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 5, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 53, 52, 39, 38, + 39, 38, 39, 38, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 59, 1, 50, 23, 22, 23, 22, 23, 55, 54, 7, 45, 1, + 38, 35, 34, 15, 1, 6, 7, 6, 7, 6, 7, 6, 43, 1, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 50, 55, 54, + 55, 54, 55, 54, 53, 52, 39, 38, 53, 52, 55, 54, 37, 23, 22, 51, 50, 55, 37, 38, 20, 7, 6, 7, 6, 34, 39, 38, 39, 38, 52, 55, + 54, 55, 54, 50, 23, 22, 23, 1,157, 8, 5, 5, 8, 6, 17, 56, 63, 46, 31, 31, 25, 28, 23, 13, 13, 13, 11, 27, 19, 32, 29, 33, + 32, 30, 29, 24, 27, 9, 13, 5, 33, 97, 61,240,155, 63, 94, 39, 6, 21,254,161, 1, 95, 21, 6, 41, 92, 63,155,240, 61, 97, 33, + 5, 13, 13, 23, 25, 28, 33, 29, 35, 27, 28, 23, 29, 9, 13, 13, 11, 25, 19, 34, 29, 33, 46, 56, 63, 16,191, 20, 7, 8, 7, 6, + 3, 2, 2, 3, 6, 7, 8, 7, 20, 7, 8, 7, 7, 2, 2, 2, 2, 7, 7, 8, 7, 20, 7, 8, 7, 6, 3, 2, 2, 3, 6, 7, + 8, 7, 20, 7, 8, 7, 7, 2, 2, 2, 2, 7, 7, 8, 34, 34, 15, 14, 12, 13, 6, 6, 6, 6, 13, 12, 14, 15, 34, 15, 14, 12, + 13, 6, 6, 6, 6, 13, 12, 14, 15, 34, 15, 14, 12, 13, 6, 6, 6, 6, 13, 12, 14, 15, 34, 15, 14, 12, 13, 6, 6, 6, 6, 13, + 12, 14, 1, 12, 26,102, 27, 15, 8, 11, 8, 4, 9, 9, 18, 14, 26, 22, 50, 22, 22, 18, 17, 10, 9, 9, 9, 18, 14, 26, 22, 25, + 46, 63, 69, 21, 12, 16, 5, 24, 19,130, 1, 83, 1,161, 29, 64, 54,149,252,102, 12, 12, 16, 14, 19, 71, 61, 46, 25, 22, 26, 14, + 18, 9, 9, 9, 10, 17, 18, 22, 22, 50, 22, 26, 14, 18, 9, 9, 4, 8, 11, 9, 1, 21,197,149, 54, 64, 29,254,136,149, 3, 5, + 6, 6, 15, 6, 6, 5, 3, 3, 5, 6, 6, 15, 6, 6, 5, 2,152, 6, 8, 10, 5, 4, 7, 22, 11, 9, 23, 19, 29, 26, 66, 26, + 23, 27, 18, 12, 11, 11, 11, 21, 25, 23, 32, 27, 20, 13, 6, 41, 25, 95, 62, 57, 9, 12, 21, 8,143,142, 8, 26, 8, 8, 57, 62, + 95, 25, 41, 7, 16, 16, 32, 27, 29, 20, 22, 9, 11, 11, 11, 19, 24, 25, 37, 23, 31, 28, 24, 24, 19, 13, 11, 22, 6,207, 2, 4, + 5, 5, 5, 3, 5, 5, 3, 5, 5, 5, 3, 3, 3, 3, 6, 4, 5, 3, 5, 5, 4, 4, 5, 5, 4, 1,137, 3, 3, 6, 4, 5, + 3, 5, 5, 4, 4, 5, 5, 4, 2, 2, 4, 5, 5, 5, 3, 5, 5, 3, 5, 5, 5, 3,254, 73, 5, 5, 10, 11, 12, 12, 15, 15, + 12, 12, 11, 9, 6, 5, 5, 6, 9, 11, 12, 12, 15, 15, 12, 12, 11, 10, 5, 1,134, 5, 6, 9, 11, 12, 12, 15, 15, 12, 12, 11, + 10, 5, 5, 5, 5, 10, 11, 12, 12, 15, 15, 12, 12, 11, 9, 6, 63, 10, 42, 5, 3, 4, 5, 10, 7, 16, 10, 16, 22, 20, 18, 17, + 13, 12, 8, 8, 10, 15, 13, 22, 20, 22, 22, 20, 18, 17, 13, 11, 9, 23, 7, 9, 12, 6, 17, 12,186,133,170, 32, 59,100, 46, 21, + 20, 11, 9, 7, 24, 8, 11, 13, 17, 19, 19, 22, 23, 19, 22, 13, 15, 10, 8, 8, 11, 13, 18, 18, 19, 23, 16, 9, 17, 7, 14, 1, + 1, 63, 80, 60, 33,154, 30, 15, 6, 7, 4, 3, 3, 4, 7, 6, 15, 6, 6, 4, 4, 4, 4, 6, 0, 3, 0, 52, 0, 71, 4,157, + 4,180, 0,110, 0,128, 0,146, 0, 0, 1, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 51, 50, 55, 54, 55, 54, 55, 54, 53, 52, + 39, 38, 39, 38, 39, 38, 35, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 21, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, + 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 46, 2, 53, 52, 55, 54, 55, 38, 53, 52, 55, 18, 51, 50, + 23, 22, 21, 20, 7, 6, 35, 34, 7, 6, 7, 6, 21, 20, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 23, 54, 55, 54, 55, 54, 55, 22, + 23, 22, 7, 6, 7, 6, 7, 6, 39, 38, 1, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 54, 55, 54, 53, 52, 1,122, 3, 1, + 7, 7, 8, 14, 15, 17, 81,107,100, 89, 87, 71, 74, 35, 35, 35, 34, 75, 69, 89, 88,101, 97, 91, 87, 71, 74, 35, 35, 35, 21, 32, + 78, 42, 41, 41, 39, 85, 79,103,103,113,113,104, 98, 84, 81, 43, 41, 41, 39, 85, 81,101,103,114,115,101, 30, 50, 26, 13, 10, 20, + 2, 78,133,123, 59, 5, 11, 26, 25, 6, 40, 31, 22, 50, 46, 12, 13, 16, 25, 39, 28, 13, 12, 55, 17, 30, 36, 18, 17, 2, 33, 5, + 13, 2, 7, 14, 20, 25, 27, 15, 20, 1, 47, 45, 16, 12, 15, 10, 22, 7, 21, 7, 42, 12, 21, 22, 1, 64, 4, 5, 17, 20, 21, 17, + 19, 13, 14, 8, 37, 37, 36, 72, 73, 86, 87, 99,103, 87, 83, 77, 70, 38, 37, 37, 36, 72, 73, 87, 87,103, 98, 88, 49, 46,111, 80, + 98,101,113,115,103, 96, 87, 80, 44, 43, 43, 41, 83, 81,102,100,118,111,103, 95, 87, 82, 42, 43, 43, 13, 48, 63, 35, 34, 32, 24, + 23, 12, 11,150,174, 1, 36, 6, 14, 41, 42, 50, 47, 31, 22, 91, 84, 71, 23, 16, 20, 22, 6, 33, 51, 30, 20, 40, 9, 24, 31, 45, + 41, 18, 28, 6, 15, 11, 35, 24, 37, 21, 23, 3, 5, 3, 3, 16, 12, 9, 36, 33, 39, 26, 28, 8, 7, 13, 40, 42, 48, 38, 0, 0, + 0, 6, 0, 37, 0, 63, 4,172, 4,201, 0, 15, 0, 28, 0, 44, 0, 74, 0,105, 0,137, 0, 0, 1, 38, 39, 38, 39, 55, 6, 21, + 20, 23, 22, 23, 22, 23, 22, 23, 19, 38, 39, 38, 34, 7, 6, 7, 19, 54, 51, 50, 23, 19, 23, 6, 7, 6, 7, 37, 54, 55, 54, 55, + 54, 55, 54, 53, 52, 38, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, + 55, 54, 55, 19, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 30, 1, 51, 50, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, + 39, 38, 39, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, + 55, 54, 1, 36, 48, 24, 5, 3,223, 6, 14, 15, 26, 25, 36, 15, 6,182, 26, 34, 32, 78, 33, 33, 28, 53, 38, 41, 42, 38,102,224, + 2, 7, 24, 48,254,238, 10, 11, 36, 24, 27, 15, 14,211, 47, 19, 21, 16, 16, 9, 8, 8, 9, 16, 16, 21, 19, 47, 19, 20, 17, 17, + 8, 8, 8, 8, 17, 17, 20, 42,100, 93, 89, 74, 75, 36, 37, 37, 37, 74, 72,182,102,102, 92, 89, 74, 75, 36, 36, 36, 35, 76, 71, + 92, 90,104,116,106,101, 86, 84, 44, 43, 43, 40, 88, 82,105,105,117,115,107,100, 86, 84, 44, 42, 42, 40, 88, 81,105,106, 1,110, + 55, 60, 11, 12,189, 22, 26, 37, 34, 35, 27, 24, 16, 7, 1, 1, 59, 25, 15, 15, 15, 15, 25, 1, 34, 7, 7,254,136,189, 6, 17, + 60, 55, 98, 4, 4, 16, 24, 27, 35, 34, 37, 25, 88, 8, 9, 15, 18, 19, 21, 23, 22, 21, 19, 17, 16, 9, 8, 8, 9, 16, 17, 19, + 21, 22, 23, 21, 19, 18, 15, 9, 1,144, 38, 37, 74, 75, 89, 89,106,100, 91, 89, 74, 73, 77, 38, 37, 75, 74, 89, 89,102,106, 89, + 85, 79, 72, 39, 38, 75, 44, 42, 86, 83,104,103,121,114,106, 98, 89, 84, 43, 45, 45, 42, 85, 83,104,103,117,118,106, 98, 89, 83, + 45, 44, 0, 0, 0, 1, 0, 61, 0, 60, 4,148, 4, 91, 0, 45, 0, 0, 19, 53, 55, 39, 51, 23, 54, 55, 38, 3, 51, 23, 51, 21, + 35, 23, 51, 21, 35, 23, 51, 50, 23, 22, 20, 7, 6, 43, 1, 7, 51, 21, 35, 7, 51, 21, 35, 7, 35, 18, 55, 38, 39, 7, 35, 55, + 82, 27, 48, 75,110,109,215, 40,128, 92, 86,111, 64, 75,115, 70,114,198, 53, 36, 24, 24, 36, 53,198,114, 70,115, 75, 64,111, 86, + 92,128, 40,215,109,110, 75, 48, 2, 61, 30, 3,164,151, 10, 7,208, 1, 15,113, 60, 97, 60,149, 19, 13, 33, 13, 19,149, 60, 97, + 60,113, 1, 8,215, 8, 9,150,163, 0, 0, 0, 0, 5, 0, 63, 0,115, 4,146, 3,150, 0, 13, 0, 20, 0, 34, 0, 41, 0, 45, + 0, 0, 1, 37, 33, 5, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 5, 17, 5, 22, 21, 20, 13, 1, 33, 37, 6, 7, 6, 7, 6, + 34, 39, 38, 39, 38, 39, 37, 17, 37, 38, 53, 52, 1, 17, 33, 17, 2,223, 1, 79,252,117, 1, 79, 5, 6, 22, 28, 26, 63, 26, 33, + 17, 6, 36, 1, 71,254,185, 2,254,243,254,176, 3,139,254,176, 5, 5, 22, 28, 26, 63, 26, 28, 22, 5, 38,254,186, 1, 70, 2, +254,111, 4, 83, 2,100,229,229, 7, 6, 21, 13, 11, 11, 15, 19, 7,129,221, 1,241,221, 13, 14, 15, 81,229,229, 6, 6, 21, 12, + 11, 11, 12, 21, 6,129,221,254, 15,220, 14, 15, 14,254, 96, 3, 35,252,221, 0, 0, 4, 1, 68, 0, 11, 3,141, 4,234, 0, 75, + 0,198, 0,217, 0,233, 0, 0, 1, 52, 55, 54, 63, 1, 54, 55, 50, 59, 1, 38, 39, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, + 23, 22, 31, 1, 22, 23, 54, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 55, 54, 51, 50, 23, 22, 23, 22, 15, 1, 6, 31, 1, 22, 21, + 20, 7, 23, 20, 7, 6, 21, 20, 23, 33, 53, 52, 39, 38, 39, 38, 55, 54, 39, 38, 1, 38, 35, 34, 15, 1, 6, 15, 1, 6, 15, 1, + 39, 38, 47, 1, 38, 39, 38, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 31, 2, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 39, 38, + 47, 1, 38, 39, 38, 35, 34, 7, 6, 7, 22, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 21, 20, 23, 22, 23, 22, 23, 22, 21, 20, + 7, 38, 39, 38, 39, 38, 63, 1, 54, 39, 38, 39, 6, 35, 34, 39, 38, 39, 38, 35, 34, 23, 22, 23, 22, 31, 1, 22, 21, 7, 33, 39, + 52, 55, 54, 47, 1, 54, 53, 52, 39, 38, 55, 19, 54, 39, 1, 7, 22, 23, 22, 23, 22, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 39, + 38, 7, 6, 7, 22, 23, 22, 51, 50, 55, 54, 53, 52, 39, 38, 47, 1, 1, 68, 31, 18, 14, 43, 17, 31, 2, 2, 3, 21, 34, 25, 16, + 28, 19, 22, 30, 13, 14, 40, 14, 60, 62, 31, 12, 12, 15, 5, 4, 9, 4, 10, 4, 1, 5, 30, 22, 33, 45, 24, 11, 1, 9, 2, 7, + 1, 2, 2, 3, 1, 3, 17, 3, 1,254, 64, 4, 7, 31, 40, 1, 2, 24, 15, 2, 19, 3, 32, 28, 4, 4, 1, 8, 29, 4, 18, 44, + 20, 8, 35, 14, 37, 62, 22, 16, 14, 11, 14, 7, 6, 24, 11, 15, 78,112, 78, 77, 3, 16, 4, 4, 18, 15, 4, 3, 38, 95, 42, 6, + 35, 24, 16, 10, 5, 4, 3, 7, 40, 33, 10, 7, 38, 41, 17, 12, 1, 44, 19, 20, 44, 8, 2, 23,102, 38, 5, 6, 11, 1, 6, 2, + 6, 6, 12, 23, 33, 11, 13, 19, 14, 40, 8, 3, 2, 8, 6, 3, 8, 75, 1, 1, 1, 95, 1, 10, 11, 1, 1, 2, 7, 5, 1, 9, + 1, 2,254, 90, 14, 29, 48, 45, 14, 3, 1, 14, 8, 9, 3, 2, 10, 4, 5, 89,105, 12, 2, 68, 31, 12, 9, 13, 7, 3, 10, 6, + 9, 99, 2,112, 45, 41, 5, 26, 76, 30, 9, 38,103, 75, 29, 49, 30, 22, 23, 26, 4, 10, 21, 91,154, 78, 30, 17, 14, 51, 36, 26, + 13,110, 47, 5, 9, 9, 34, 33, 24, 48, 21, 15,123, 73,246, 23, 34, 18, 29, 72, 30, 35,102, 24,109, 15,116, 50, 62,149, 15, 27, + 44, 55, 72, 31, 66, 73, 46, 2, 59, 47, 56, 91, 24, 44,160, 23, 5, 13, 9, 11, 81, 31, 91,122, 41, 12, 10, 9, 5, 9, 25, 46, + 22, 41,209, 83, 57, 76, 10, 7, 15, 3, 1, 16, 5, 6, 42, 69, 31, 3, 25, 18, 8, 6, 9, 18, 32, 26, 15, 9, 39, 43, 40, 29, + 52, 37, 26, 2, 40, 52, 23, 13, 32, 14, 5, 4, 13, 7, 42, 88, 13, 8, 19, 18, 62, 12, 9, 9, 4, 21, 3, 4, 10, 55, 3, 28, + 65, 41, 18,175, 8, 9,130,150, 48, 39, 45, 53, 55, 48, 43, 73, 59, 45, 37, 1, 10, 14, 42,254,167, 17, 35, 37, 40, 48, 10, 10, + 14, 13, 7, 8, 17, 19, 7, 4, 93, 15, 16, 39, 53, 46, 7, 14, 9, 8, 15, 14, 9, 4, 85, 0, 0, 8, 0, 45, 0,149, 4,164, + 3,252, 0, 6, 0, 57, 0, 76, 0,112, 0,123, 0,127, 0,137, 0,141, 0, 0, 19, 22, 55, 54, 53, 52, 39, 5, 34, 39, 38, 35, + 34, 7, 6, 43, 1, 34, 39, 15, 1, 55, 38, 53, 52, 63, 1, 54, 55, 54, 55, 54, 55, 54, 51, 50, 23, 55, 54, 51, 50, 23, 22, 21, + 7, 23, 22, 51, 50, 55, 51, 22, 21, 20, 7, 35, 53, 6, 37, 54, 55, 54, 55, 19, 39, 38, 35, 34, 7, 6, 15, 1, 22, 21, 20, 7, + 54, 37, 34, 47, 1, 7, 20, 7, 54, 55, 22, 21, 20, 7, 6, 35, 34, 7, 22, 21, 20, 7, 50, 55, 54, 51, 50, 23, 22, 51, 50, 55, + 54, 53, 52, 39, 6, 55, 22, 21, 20, 7, 21, 51, 54, 53, 52, 39, 5, 54, 55, 15, 1, 6, 21, 20, 23, 22, 23, 54, 53, 52, 15, 1, + 55, 38,169, 19, 15, 11, 12, 2,116, 33, 77, 35, 20, 27,108, 53, 23, 71, 59, 26, 64,188, 92, 5, 10, 50, 20, 18, 66, 88, 45, 48, + 25, 25, 37, 45,109, 32, 42, 27, 21, 9,135,145, 32, 28, 39, 4,161, 63, 44,177, 78,253,171, 24, 21, 6, 3,239, 26, 12, 22, 63, +168, 39, 24, 14, 33, 31, 28, 2,159, 38, 17,173, 82, 59, 45, 62, 11, 26, 60, 92, 45, 17, 24, 14, 82, 53, 45, 54, 28, 69, 33, 34, + 36, 98, 31, 36, 18, 54, 36, 33,113, 34, 44,253,162, 59, 10,116, 64, 80, 34, 22, 31, 16,251, 35, 67, 5, 1,127, 2, 28, 22, 22, + 22, 12,223, 10, 3, 11, 6, 42, 70, 83,192, 13, 23, 18, 34,165, 68, 24, 88, 64, 33, 19, 9, 37,122, 36, 40, 18, 21,156, 96, 21, + 21, 93,129,148,106, 77, 26,166, 26, 80, 20, 11, 1, 10, 21, 10,166, 38, 79, 47, 43, 28, 64, 25, 6,252, 12,112, 95,117, 60, 2, + 30, 10, 15, 13, 11, 28, 1, 28, 51, 30, 32, 9, 8, 9, 4, 26, 68, 77, 75, 90, 5, 21, 82,100, 89, 76, 54, 68,149, 95, 89,171, + 66, 73,139, 53, 19, 46, 33, 22, 14, 2, 33, 39, 39,107, 71, 28, 26, 0, 0, 0, 0, 7, 0, 87, 0,132, 4,122, 4,166, 0, 21, + 0, 27, 0, 34, 0, 41, 0, 51, 0, 83, 0, 90, 0, 0, 1, 54, 55, 54, 53, 52, 47, 1, 6, 35, 20, 7, 6, 35, 20, 7, 23, 22, + 51, 50, 55, 54, 1, 63, 1, 15, 2, 19, 55, 1, 19, 37, 1, 55, 5, 1, 22, 53, 52, 39, 1, 0, 54, 53, 52, 39, 1, 7, 1, 22, + 51, 1, 54, 55, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 55, + 54, 23, 7, 1, 22, 51, 50, 39, 3,242, 7, 4, 5, 1, 48, 19, 24, 44, 44, 59, 18,192, 7, 6, 8, 12, 9,253, 40,124, 11,119, +124, 11,107,215, 2, 6,149,253,228,253,251, 14, 1,105, 1,171, 53, 2,254, 46, 1, 85, 44, 5,254, 92, 92, 1,164, 14, 12,253, +234, 10, 13, 12, 13, 11, 8, 11, 8, 6, 4, 5, 7, 8, 12, 11, 12, 12, 13, 12, 7, 11, 8, 5, 3, 4, 8, 8, 37,103, 1,210, + 9, 8, 46, 1, 1, 11, 6, 10, 13, 8, 4, 7,193, 18, 59, 44, 45, 22, 20, 48, 1, 5, 4, 2,106,123,119, 11,123,119, 1, 51, + 15,253,251,253,228,150, 2, 4,216, 17,254, 86, 1, 46, 8, 10, 1,210,253, 84, 44, 27, 12, 14, 1,165, 92,254, 91, 5, 2, 94, + 11, 9, 8, 4, 3, 6, 7, 11, 8, 11, 13, 12, 14, 10, 12, 8, 8, 4, 3, 6, 5, 13, 9, 11, 13, 11, 13,198, 11,254, 45, 1, + 53, 0, 0, 0, 0, 7, 0, 38, 0,224, 4,171, 2,196, 0, 19, 0, 25, 0, 32, 0, 39, 0, 45, 0, 69, 0, 76, 0, 0, 0, 52, + 39, 38, 39, 38, 47, 1, 20, 7, 22, 20, 7, 22, 21, 55, 54, 55, 54, 55, 5, 53, 39, 7, 21, 23, 3, 55, 33, 13, 1, 33, 39, 55, + 33, 54, 53, 52, 39, 33, 4, 52, 39, 33, 21, 33, 36, 52, 55, 54, 55, 62, 1, 50, 22, 23, 22, 23, 22, 20, 7, 6, 7, 14, 1, 34, + 38, 39, 38, 39, 23, 7, 33, 54, 53, 52, 39, 4, 3, 3, 2, 5, 3, 8,149, 15, 36, 36, 15,149, 8, 3, 5, 2,252,230, 67, 67, + 67,124,124, 2, 93, 1,170,254, 86,253,163,124,234, 1,236, 18, 25,253,226, 2, 86, 35,254, 27, 1,229,253,117, 3, 2, 5, 5, + 13, 14, 13, 5, 6, 2, 3, 3, 2, 6, 5, 13, 14, 13, 5, 5, 2,142, 57, 2, 30, 25, 18, 1,202, 17, 8, 7, 6, 5, 4, 90, + 23, 15, 40,102, 40, 14, 23, 89, 4, 5, 7, 7, 60,153, 80, 80,153, 80, 1, 0,142,242,241,142,213, 18, 16, 19, 18,225, 80, 17, +114, 43, 28, 13, 12, 11, 10, 11, 11, 10, 11, 12, 13, 28, 13, 12, 10, 10, 12, 12, 10, 10, 12, 86, 72, 18, 20, 16, 18, 0, 0, 0, + 0, 7, 0, 87, 0,187, 4,122, 4,221, 0, 21, 0, 27, 0, 34, 0, 41, 0, 51, 0, 83, 0, 90, 0, 0, 1, 38, 39, 38, 35, 34, + 15, 1, 22, 21, 50, 23, 22, 21, 50, 23, 55, 54, 53, 52, 39, 38, 1, 39, 31, 2, 39, 7, 47, 1, 1, 37, 3, 1, 39, 23, 1, 54, + 53, 52, 7, 46, 1, 35, 34, 7, 1, 23, 1, 54, 53, 1, 38, 39, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 23, + 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 39, 38, 55, 1, 54, 35, 34, 7, 1, 3,242, 7, 9, 12, 8, 6, 7,192, 18, 59, 44, + 44, 24, 19, 48, 1, 5, 4,253, 26,119, 11,124,119, 11,136,161, 14, 2, 5, 2, 28,149,253,250, 15, 12, 1,210, 2, 53, 30, 44, + 27, 12, 14,254, 92, 92, 1,164, 5,253,163, 12, 8, 8, 4, 3, 5, 8, 11, 7, 12, 13, 12, 12, 11, 12, 8, 7, 5, 4, 6, 8, + 11, 8, 11, 13, 12, 13, 15, 1,169, 1, 46, 8, 9,254, 46, 4, 86, 7, 5, 4, 1, 48, 20, 22, 45, 44, 58, 19,193, 7, 4, 8, + 13, 10,253,163, 11,119,123, 11,119,173,160,216, 2, 5,149,253,229,253,250,192,104, 1,211, 10, 8, 46, 1,111, 44, 5,254, 91, + 92, 1,165, 14, 12,253,232, 12, 13, 11, 13, 11, 9, 13, 5, 6, 3, 4, 8, 8, 12, 10, 14, 12, 13, 11, 8, 11, 7, 6, 3, 4, + 8, 9,220, 1,170, 54, 2,254, 46, 0, 0, 0, 0, 2, 0, 59, 1, 43, 4,150, 3, 93, 0, 35, 0, 67, 0, 0, 18, 52, 39, 22, + 37, 5, 21, 37, 46, 1, 39, 38, 34, 7, 6, 7, 6, 7, 6, 20, 23, 22, 23, 22, 23, 22, 50, 55, 62, 1, 55, 37, 21, 5, 36, 7, + 54, 20, 7, 54, 5, 37, 5, 6, 7, 6, 34, 39, 38, 39, 38, 39, 38, 52, 55, 54, 55, 54, 55, 54, 50, 23, 22, 23, 5, 37, 4, 39, + 98, 38,224, 1,162, 1,215,254, 73, 4, 11, 13, 10, 23, 10, 11, 8, 8, 4, 5, 5, 6, 6, 8, 11, 10, 23, 10, 13, 11, 4, 1, +183,254, 41,254, 94,224,116, 17,131, 1,156, 1, 78,254,241, 17, 20, 20, 47, 20, 21, 16, 17, 9, 8, 8, 9, 17, 16, 21, 20, 47, + 20, 20, 17, 1, 15,254,178,254,100,131, 1,201,247, 73, 3, 87,210, 63, 21, 6, 12, 7, 4, 4, 5, 8, 6, 13, 10, 24, 10, 14, + 5, 8, 4, 5, 5, 6, 12, 6, 22, 64,209, 86, 2,249,105, 68, 2, 86,141, 18, 16, 9, 9, 9, 9, 16, 17, 20, 21, 47, 20, 20, + 18, 16, 9, 8, 8, 9, 16, 19,141, 86, 3, 0, 0, 1, 0, 37, 1, 17, 4,172, 3, 27, 0, 38, 0, 0, 1, 37, 21, 5, 36, 7, + 54, 52, 39, 22, 37, 5, 21, 37, 38, 39, 38, 39, 38, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 50, 55, 54, 55, + 54, 2,232, 1,196,254, 4,254, 64,203, 41, 41,203, 1,192, 1,252,254, 60, 5, 13, 11, 15, 14, 34, 14, 15, 11, 13, 5, 7, 7, + 5, 13, 11, 15, 14, 34, 14, 15, 11, 13, 1,247, 23, 27,226, 93, 2, 78,184, 79, 3, 93,226, 27, 24, 14, 12, 12, 6, 7, 7, 6, + 12, 12, 14, 15, 17, 16, 15, 14, 12, 12, 6, 7, 7, 6, 12, 12, 0, 1, 0,152, 0,192, 4, 57, 4,124, 0, 28, 0, 0, 1, 50, + 23, 22, 51, 50, 55, 18, 55, 54, 51, 50, 22, 21, 20, 7, 0, 1, 6, 35, 34, 39, 38, 39, 38, 53, 52, 55, 54, 1, 24, 34, 18, 35, + 15, 12, 12,245,210, 54,118, 28, 19, 29,254,174,254,224, 20, 62, 63, 12, 30, 40, 45, 61, 37, 2, 80, 56,106, 18, 1,138,243, 63, + 10, 8, 13, 35,254,106,254, 60, 32, 6, 13,121,134, 34, 36, 34, 22, 0, 0, 0, 0, 1, 0, 74, 0,114, 4,135, 4, 66, 0, 29, + 0, 0, 1, 50, 23, 22, 51, 50, 55, 18, 55, 54, 51, 50, 23, 22, 21, 20, 7, 0, 7, 6, 35, 34, 39, 38, 39, 38, 53, 52, 55, 54, + 1, 7, 34, 18, 34, 15, 12, 12,246,209, 89, 84,111, 22, 10, 20,253,205,107, 37,133, 44, 48, 20, 50, 63, 61, 86, 2,142, 56,106, + 18, 1,105,153, 65, 7, 2, 20, 15, 24,253,123,195, 67, 23, 11,123,156,117, 43, 28, 39, 0, 0, 0, 1, 0,129, 0,113, 4, 80, + 4, 63, 0, 11, 0, 0, 9, 1, 7, 9, 1, 39, 9, 1, 55, 9, 1, 23, 2,219, 1,115,115,254,141,254,141,115, 1,115,254,141, +115, 1,115, 1,116,115, 2, 88,254,140,114, 1,115,254,141,114, 1,116, 1,115,115,254,141, 1,115,114, 0, 0, 0, 1, 0, 64, + 0,188, 4, 81, 4,207, 0, 11, 0, 0, 9, 1, 7, 9, 1, 39, 9, 1, 55, 9, 1, 23, 3, 53, 1, 28,237,254,228,254,229,237, + 1, 28,254,228,237, 1, 27, 1, 28,237, 2,197,254,229,237, 1, 27,254,229,237, 1, 27, 1, 27,237,254,229, 1, 28,237, 0, 0, + 0, 1, 0,131,255,236, 4, 78, 4,190, 0, 66, 0, 0, 1, 50, 23, 22, 23, 54, 51, 50, 23, 22, 21, 20, 7, 6, 7, 22, 23, 22, + 21, 20, 15, 1, 22, 21, 20, 7, 6, 35, 34, 39, 38, 39, 6, 3, 6, 35, 34, 39, 38, 53, 52, 55, 54, 55, 18, 55, 38, 39, 38, 53, + 52, 55, 54, 51, 50, 23, 54, 55, 54, 51, 50, 23, 22, 23, 54, 55, 54, 3,201, 8, 13, 14, 14, 24, 14, 12, 21, 13, 18,169,159, 66, +116, 10, 25, 26, 3, 17, 22, 9, 21, 17, 97,104,140,180, 26, 62, 29, 4, 41, 9, 4, 22,166,185, 99, 33, 7, 15, 15, 13, 12, 19, + 7, 11, 14, 23, 26, 8, 44, 72,115,166, 19, 4,190, 13, 13, 22, 42, 22, 14, 17, 22, 19,183,220,161,194, 17, 9, 19, 20, 18, 10, + 16, 25, 13, 14, 21,125,169,182,254,208, 44, 34, 23, 50, 65, 25, 11, 34, 1, 3,216,236,127, 28, 9, 11, 21, 21, 23, 14, 9, 13, + 24,137,123,149,166, 20, 0, 0, 0, 1, 0, 51,255,253, 4,158, 5, 43, 0, 81, 0, 0, 1, 50, 23, 22, 23, 54, 23, 22, 23, 22, + 21, 20, 7, 6, 3, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 6, 7, 6, 35, 34, 39, 38, 39, 6, 7, 6, 35, 6, + 39, 38, 39, 6, 35, 34, 39, 38, 53, 52, 55, 38, 39, 38, 53, 52, 55, 54, 55, 38, 39, 38, 53, 52, 55, 54, 51, 50, 23, 54, 55, 54, + 51, 50, 23, 22, 23, 54, 55, 54, 4, 0, 26, 23, 18, 7, 22, 9, 28, 13, 12, 14,211,206,130,129, 15, 26, 18, 32, 2, 12, 21, 28, + 32, 26, 7, 12, 31, 24, 20, 23, 78,106,201, 77, 15, 18, 17, 16, 13, 2, 17, 16, 22, 25, 32, 27, 8, 8, 16, 21,114,172,107, 87, + 19, 20, 14, 19, 23, 42, 1, 10, 20, 14, 38, 12, 92,132,202,218, 10, 5, 42, 26, 19, 51, 1, 5, 10, 12, 12, 18, 35, 14,192,254, +239,179,142, 15, 22, 42, 23, 15, 2, 15, 30, 51, 21, 16, 9, 24, 24, 84,167,229,118, 22, 2, 33, 27, 12, 11, 26, 31, 15, 23, 40, + 2, 12, 21, 21, 18, 27,154,186,165,234, 53, 25, 22, 43, 28, 34, 12, 22, 44, 23,171,163,231,191, 10, 0, 0, 0, 0, 3, 0, 64, + 0, 5, 4,145, 4, 86, 0, 11, 0, 23, 0, 35, 0, 0, 1, 17, 33, 17, 33, 17, 33, 17, 33, 17, 33, 17, 37, 33, 17, 33, 17, 33, + 17, 33, 17, 33, 17, 33, 3, 33, 21, 33, 17, 35, 17, 33, 53, 33, 17, 51, 3, 11,254,187,254,197, 1, 59, 1, 69, 1, 59,255, 0, + 1, 74,254,182,254, 69,254,182, 1, 74, 1,187,148, 1, 74,254,182,147,254,182, 1, 74,147, 2,208, 1, 60,254,196,254,187,254, +197, 1, 59, 1, 69, 59,254, 69,254,182, 1, 74, 1,187, 1, 75,254, 33,148,254,183, 1, 73,148, 1, 75, 0, 0, 0, 1, 0, 86, + 0, 7, 4,123, 4, 6, 0, 11, 0, 0, 1, 33, 17, 33, 17, 33, 17, 33, 17, 33, 17, 33, 2,247, 1,132,254,124,254,227,254,124, + 1,132, 1, 29, 2,143,254,238,254,139, 1,117, 1, 18, 1,118, 0, 2, 0, 57, 0, 6, 4,152, 4,102, 0, 11, 0, 15, 0, 0, + 1, 33, 21, 33, 17, 35, 17, 33, 53, 33, 17, 51, 3, 51, 53, 35, 2,194, 1,214,254, 42,180,254, 43, 1,213,180,179,178,178, 2, +144,180,254, 42, 1,214,180, 1,214,253,119,178, 0, 2, 0, 48, 0, 0, 4,161, 4,114, 0, 3, 0, 15, 0, 0, 1, 33, 17, 33, + 37, 33, 17, 33, 17, 33, 17, 33, 17, 33, 17, 33, 1,209, 1, 47,254,209, 1, 48, 1,160,254, 96,254,207,254, 96, 1,160, 1, 49, + 1,161, 1, 47, 1,254,207,254, 96, 1,160, 1, 49, 1,160, 0, 0, 1, 0,155, 0, 3, 4, 41, 5, 30, 0, 11, 0, 0, 1, 33, + 21, 33, 17, 35, 17, 33, 53, 33, 17, 51, 2,203, 1, 94,254,162,210,254,162, 1, 94,210, 3,192,210,253, 22, 2,234,210, 1, 94, + 0, 2, 0,126, 0, 1, 4, 83, 5, 28, 0, 15, 0, 27, 0, 0, 1, 51, 23, 17, 33, 17, 33, 39, 17, 35, 39, 17, 33, 17, 33, 23, + 7, 17, 35, 17, 33, 21, 33, 17, 51, 17, 33, 53, 3, 76,131,131,254,250,254,188,131,131,132, 1, 7, 1, 68,131,175,193,254,250, + 1, 6,193, 1, 7, 4, 21,131,254,188,253,179,131, 1,202,131, 1, 68, 1, 7,132,218, 1, 6,254,250,193,253,179, 2, 77,193, + 0, 3, 0,144, 0, 4, 4, 65, 4,194, 0, 11, 0, 23, 0, 35, 0, 0, 1, 53, 33, 21, 35, 17, 51, 17, 33, 17, 51, 17, 39, 51, + 17, 35, 17, 33, 17, 35, 17, 51, 53, 33, 3, 51, 21, 35, 17, 35, 17, 35, 53, 51, 53, 51, 3, 6,254,197,245,245, 1, 59,245,175, +245,245,254, 57,245,245, 1,199,140,245,245,175,245,245,175, 3,157,227,227,254,203,253,221, 2, 35, 1, 53, 65,254, 73,253,221, + 2, 35, 1,183,228,254,154,179,253,221, 2, 35,179,228, 0, 0, 0, 1, 0, 48, 0, 3, 4,161, 4,118, 0, 81, 0, 0, 1, 35, + 34, 7, 6, 7, 6, 7, 6, 21, 35, 17, 51, 20, 23, 22, 23, 22, 23, 22, 59, 1, 53, 52, 39, 38, 39, 38, 39, 38, 35, 53, 33, 21, + 34, 7, 6, 7, 14, 1, 29, 1, 51, 50, 55, 54, 55, 54, 55, 54, 53, 51, 17, 35, 52, 39, 38, 39, 38, 39, 38, 43, 1, 21, 20, 23, + 22, 23, 22, 23, 22, 51, 21, 33, 53, 50, 55, 54, 55, 62, 1, 53, 2, 47, 93, 76, 69, 68, 55, 51, 33, 28, 38, 38, 28, 31, 53, 52, + 71, 66, 79, 93, 28, 30, 54, 51, 72, 62, 83, 3,107, 83, 62, 72, 51, 56, 56, 93, 79, 66, 71, 52, 53, 31, 28, 38, 38, 28, 33, 51, + 53, 70, 69, 76, 93, 28, 30, 54, 51, 72, 62, 83,252,149, 83, 62, 72, 51, 56, 56, 2, 4, 29, 28, 56, 50, 73, 60, 85, 3,106, 84, + 60, 70, 54, 54, 30, 27, 93, 76, 69, 70, 54, 50, 33, 28, 38, 38, 28, 33, 50, 56,137, 76, 93, 27, 30, 54, 54, 70, 60, 84,252,150, + 85, 60, 73, 50, 55, 29, 29, 94, 76, 69, 70, 54, 50, 33, 28, 38, 38, 28, 33, 50, 56,137, 76, 0, 0, 8, 0, 71, 0, 2, 4,138, + 4,238, 0, 11, 0, 17, 0, 20, 0, 23, 0, 26, 0, 29, 0, 32, 0, 35, 0, 0, 1, 19, 33, 3, 19, 33, 11, 1, 33, 19, 3, 33, + 23, 7, 23, 33, 55, 47, 1, 7, 51, 31, 1, 55, 3, 7, 51, 5, 35, 23, 47, 1, 7, 19, 55, 35, 2,104,182, 1,108,182,182,254, +148,182,182,254,149,182,182, 1,107, 48,135,135, 1, 13,135,135,135, 87,175,141, 88, 88, 88, 88,176,254,195,175, 87,228, 88, 88, + 88, 88,176, 4,238,254,196,254,198,254,197,254,197, 1, 59, 1, 59, 1, 58, 81,233,234,234,233,233,152, 81,152,152,254,198,153, + 81,152,233,153,153, 1, 59,152, 0, 1, 0, 31,255,236, 4,178, 4,127, 0, 67, 0, 0, 1, 53, 52, 39, 38, 53, 52, 55, 54, 50, + 23, 22, 21, 20, 7, 6, 29, 1, 51, 50, 55, 54, 51, 50, 23, 22, 20, 7, 6, 35, 34, 39, 38, 43, 1, 21, 20, 23, 22, 21, 20, 7, + 6, 34, 39, 38, 53, 52, 55, 54, 61, 1, 35, 34, 7, 6, 35, 34, 39, 38, 52, 55, 54, 51, 50, 23, 22, 51, 2, 67, 58, 33, 41, 42, + 91, 42, 41, 33, 58, 24,141, 92, 53, 89, 76, 36, 36, 36, 36, 76, 89, 53, 92,141, 24, 58, 33, 41, 42, 91, 42, 41, 33, 58, 24,141, + 92, 53, 89, 76, 36, 36, 36, 36, 76, 89, 53, 92,141, 2, 91, 24,141, 92, 53, 89, 76, 36, 36, 36, 36, 76, 89, 53, 92,141, 24, 58, + 33, 41, 42, 91, 42, 41, 33, 58, 25,141, 91, 53, 89, 76, 36, 37, 37, 36, 76, 89, 53, 91,141, 25, 58, 33, 41, 42, 91, 42, 41, 33, + 58, 0, 0, 0, 0, 1, 0, 28,255,239, 4,181, 4,137, 0,131, 0, 0, 1, 38, 39, 35, 6, 7, 6, 7, 14, 1, 35, 34, 38, 39, + 38, 39, 38, 52, 55, 54, 55, 62, 1, 51, 50, 22, 23, 22, 23, 22, 23, 51, 54, 55, 54, 55, 53, 38, 39, 38, 39, 46, 1, 53, 52, 54, + 55, 54, 55, 54, 50, 23, 22, 23, 30, 1, 21, 20, 6, 7, 6, 7, 6, 7, 21, 22, 23, 22, 23, 51, 54, 55, 54, 55, 62, 1, 51, 50, + 22, 23, 22, 23, 22, 20, 7, 6, 7, 14, 1, 35, 34, 38, 39, 38, 39, 38, 39, 35, 6, 7, 6, 7, 21, 22, 23, 22, 23, 30, 1, 21, + 20, 6, 7, 6, 7, 6, 34, 39, 38, 39, 46, 1, 53, 52, 54, 55, 54, 55, 54, 55, 53, 38, 2, 37, 12, 7,162, 1, 8, 15, 22, 25, + 62, 35, 34, 63, 24, 24, 14, 13, 13, 14, 24, 24, 63, 34, 35, 62, 25, 26, 11, 7, 2,162, 7, 12, 13, 16, 12, 15, 32, 23, 25, 26, + 26, 25, 25, 30, 30, 71, 30, 30, 25, 25, 26, 26, 25, 27, 28, 18, 9, 16, 13, 12, 7,162, 2, 7, 11, 26, 25, 62, 35, 34, 63, 24, + 24, 14, 13, 13, 14, 24, 24, 63, 34, 35, 62, 25, 22, 15, 8, 1,162, 7, 12, 13, 16, 9, 18, 28, 27, 25, 26, 26, 25, 25, 30, 30, + 71, 30, 30, 25, 25, 26, 26, 25, 23, 32, 15, 12, 16, 1,249, 13, 16, 12, 16, 32, 22, 26, 25, 25, 26, 24, 30, 31, 70, 30, 31, 24, + 25, 26, 26, 25, 26, 29, 17, 10, 16, 13, 12, 8,162, 2, 7, 15, 22, 25, 62, 35, 35, 62, 24, 24, 14, 13, 13, 14, 24, 24, 62, 35, + 35, 62, 25, 25, 12, 7, 2,162, 8, 12, 13, 16, 10, 17, 29, 26, 25, 26, 26, 25, 24, 31, 30, 70, 31, 30, 24, 26, 25, 25, 26, 22, + 32, 16, 12, 16, 13, 12, 8,161, 3, 7, 11, 26, 24, 63, 35, 34, 62, 25, 23, 14, 13, 13, 14, 23, 25, 62, 34, 35, 63, 24, 22, 15, + 8, 2,161, 8, 0, 1, 0, 26,255,237, 4,183, 4,138, 0,155, 0, 0, 1, 52, 39, 38, 39, 38, 39, 38, 39, 46, 1, 53, 52, 55, + 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 21, 50, 55, 54, 55, 54, 55, + 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 39, 38, 39, 38, + 35, 20, 23, 22, 23, 22, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, + 54, 55, 54, 55, 54, 55, 54, 53, 34, 7, 6, 7, 6, 7, 6, 7, 14, 1, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, + 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 23, 22, 23, 22, 2, 66, 15, 18, 28, 10, 12, 19, 7, 31, 30, 15, 17, 29, 24, 44, 35, 44, + 43, 37, 41, 27, 29, 17, 15, 15, 17, 29, 7, 20, 6, 15, 32, 14, 15, 51, 33, 44, 25, 10, 9, 14, 8, 30, 38, 38, 42, 45, 35, 39, + 29, 28, 18, 16, 16, 18, 28, 29, 39, 35, 45, 42, 38, 38, 30, 8, 14, 9, 10, 31, 38, 36, 48, 15, 20, 26, 9, 13, 19, 7, 30, 16, + 15, 15, 17, 29, 27, 41, 36, 87, 36, 41, 27, 29, 17, 15, 15, 16, 30, 7, 19, 13, 9, 30, 16, 15, 48, 36, 39, 30, 10, 9, 14, 8, + 29, 76, 43, 44, 36, 38, 29, 26, 20, 17, 17, 18, 28, 29, 38, 36, 44, 47, 34, 38, 29, 8, 14, 4, 15, 31, 38, 36, 2, 98, 51, 34, + 41, 26, 11, 9, 14, 7, 29, 77, 42, 44, 37, 38, 29, 24, 22, 16, 16, 19, 27, 29, 38, 37, 44, 46, 34, 39, 29, 7, 14, 4, 16, 30, + 37, 37, 48, 15, 21, 25, 10, 12, 19, 8, 29, 16, 16, 16, 16, 29, 28, 41, 36, 87, 35, 41, 28, 29, 17, 15, 15, 16, 30, 8, 19, 12, + 10, 30, 16, 15, 52, 33, 44, 25, 10, 9, 14, 7, 30, 38, 38, 43, 44, 36, 39, 29, 27, 18, 16, 16, 18, 27, 29, 39, 36, 44, 43, 38, + 38, 30, 7, 14, 9, 10, 31, 38, 36, 49, 15, 16, 30, 11, 12, 18, 8, 30, 31, 15, 17, 29, 25, 44, 35, 44, 43, 36, 41, 28, 29, 16, + 16, 16, 16, 29, 8, 20, 6, 15, 31, 15, 15, 0, 0, 1, 0, 23,255,229, 4,186, 4,136, 1, 48, 0, 0, 1, 50, 23, 22, 23, 22, + 23, 22, 21, 20, 7, 6, 7, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 14, 1, 7, 6, 35, 34, 39, 38, 39, 38, 39, + 21, 51, 38, 39, 38, 39, 38, 53, 52, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 54, 55, 54, 51, 50, + 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 22, 23, 22, 21, 20, 6, 7, 6, 7, 6, 35, 34, 39, + 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 35, 21, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, + 6, 7, 6, 35, 34, 39, 38, 39, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 6, + 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 50, 22, 23, 22, 23, 53, 35, 22, 23, 22, 23, 22, 21, + 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 52, + 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, + 7, 6, 7, 6, 7, 51, 53, 6, 7, 6, 7, 6, 35, 34, 39, 46, 1, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, + 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 2,104, 23, 18, 21, 14, 15, 8, 8, 8, 8, 15, 8, 15, 19, 22, 23, 18, 20, 15, 15, + 8, 8, 8, 8, 31, 19, 19, 22, 23, 18, 19, 15, 11, 8,226, 13, 11, 15, 8, 9, 17, 15, 15, 20, 19, 22, 22, 19, 20, 15, 15, 8, + 9, 9, 6, 7, 15, 20, 19, 21, 25, 17, 19, 16, 14, 9, 8, 8, 9, 14, 17, 18, 20, 22, 21, 19, 20, 15, 7, 6, 9, 17, 15, 13, + 22, 19, 22, 19, 22, 20, 15, 15, 8, 9, 9, 8, 15, 11, 13,225, 7, 11, 13, 22, 18, 23, 22, 18, 20, 15, 15, 8, 8, 8, 8, 15, + 14, 21, 17, 23, 20, 21, 15, 9, 15, 8, 9, 9, 8, 15, 14, 21, 18, 45, 18, 21, 14, 15, 8, 9, 9, 8, 15, 9, 15, 18, 23, 23, + 17, 21, 14, 15, 8, 8, 8, 8, 15, 15, 20, 18, 22, 21, 40, 15, 11, 7,225, 13, 10, 17, 7, 8, 8, 8, 16, 16, 18, 20, 21, 23, + 19, 19, 15, 15, 9, 8, 8, 6, 8, 17, 18, 19, 22, 22, 19, 20, 15, 14, 9, 8, 8, 9, 14, 13, 22, 19, 22, 22, 19, 20, 15, 8, + 6, 8, 8, 9, 15, 14, 20, 19, 23, 21, 20, 19, 15, 16, 8, 8, 8, 9, 15, 10, 13,225, 8, 11, 15, 19, 18, 23, 22, 18, 20, 31, + 7, 9, 9, 7, 16, 14, 21, 17, 23, 23, 18, 15, 9, 16, 8, 8, 8, 8, 16, 14, 20, 18, 4,135, 8, 9, 14, 15, 20, 19, 23, 21, + 19, 20, 15, 7, 6, 8, 8, 9, 14, 15, 20, 19, 22, 24, 18, 19, 30, 9, 7, 7, 9, 15, 10, 13,224, 7, 11, 15, 19, 18, 23, 22, + 39, 15, 15, 9, 7, 7, 9, 15, 15, 20, 18, 23, 21, 20, 15, 8, 15, 8, 8, 8, 8, 15, 14, 21, 18, 22, 23, 19, 20, 14, 17, 7, + 7, 7, 9, 15, 9, 15, 19, 21, 20, 42, 14, 13, 10, 9, 9, 7, 16, 15, 20, 18, 23, 23, 17, 19, 16, 10, 8,225, 14, 10, 12, 11, + 8, 8, 9, 14, 16, 20, 19, 21, 22, 19, 20, 16, 14, 9, 8, 8, 6, 7, 14, 20, 19, 22, 22, 20, 19, 15, 15, 9, 8, 8, 9, 15, + 15, 19, 20, 22, 22, 19, 20, 14, 7, 6, 8, 8, 9, 14, 16, 20, 19, 22, 21, 19, 20, 16, 14, 9, 8, 17, 14, 10, 14,224, 7, 10, + 18, 17, 18, 23, 22, 19, 20, 14, 17, 7, 8, 8, 8, 16, 14, 20, 18, 23, 22, 19, 15, 9, 17, 7, 7, 7, 9, 15, 14, 20, 18, 46, + 18, 20, 15, 13, 10, 8, 8, 8, 15, 8, 15, 19, 22, 23, 18, 20, 14, 15, 9, 8, 8, 9, 15, 14, 20, 19, 22, 23, 18, 19, 15, 11, + 7,224, 13, 10, 15, 9, 7, 7, 9, 30, 19, 20, 22, 19, 22, 20, 15, 14, 9, 8, 8, 6, 7, 15, 20, 19, 21, 23, 19, 20, 15, 14, + 9, 8, 0, 0, 0, 1, 0, 43,255,231, 4,166, 4,106, 0, 31, 0, 0, 19, 50, 55, 54, 55, 54, 55, 54, 53, 20, 23, 22, 23, 22, + 23, 22, 51, 34, 7, 6, 7, 6, 7, 6, 21, 52, 39, 38, 39, 38, 39, 38, 43,115,105,100, 85, 83, 43, 42, 43, 39, 87, 80,105,104, +116,116,104,105, 80, 87, 39, 43, 42, 43, 83, 85,100,105, 2, 41, 44, 41, 85, 82,104,101,120,117,104, 98, 88, 82, 44, 44, 44, 44, + 82, 89, 97,105,116,119,102,103, 83, 85, 41, 44, 0, 2, 0, 37,255,230, 4,172, 4,116, 0, 31, 0, 63, 0, 0, 19, 50, 23, 22, + 23, 22, 23, 22, 21, 52, 55, 54, 55, 54, 55, 54, 51, 34, 39, 38, 39, 38, 39, 38, 53, 20, 7, 6, 7, 6, 7, 6, 33, 50, 55, 54, + 55, 54, 55, 54, 53, 20, 23, 22, 23, 22, 23, 22, 51, 34, 7, 6, 7, 6, 7, 6, 21, 52, 39, 38, 39, 38, 39, 38,240, 76, 69, 65, + 56, 54, 29, 27, 28, 26, 58, 52, 68, 68, 77, 77, 68, 68, 52, 58, 26, 28, 27, 29, 54, 56, 65, 69,254,234,116,106,100, 86, 84, 44, + 42, 43, 40, 88, 81,106,104,118,118,104,106, 81, 88, 40, 43, 42, 44, 84, 86,100,106, 2, 45, 28, 28, 55, 54, 68, 67, 79, 77, 69, + 64, 58, 54, 29, 28, 29, 29, 54, 58, 63, 70, 76, 79, 67, 67, 54, 55, 28, 29, 45, 42, 85, 83,104,103,121,118,106, 98, 89, 83, 44, + 45, 44, 45, 82, 90, 98,106,118,121,103,104, 84, 85, 42, 44, 0, 0, 2, 0, 40,255,240, 4,169, 4, 56, 0, 9, 0, 19, 0, 0, + 19, 37, 27, 1, 5, 3, 19, 37, 5, 19, 1, 3, 33, 1, 3, 9, 1, 3, 1, 33, 41, 1,116,203,204, 1,116,245, 26,254,155,254, +156, 26, 1, 74,135,254, 72, 1, 99,136, 1,100, 1,101,136, 1, 99,254, 72, 2,149, 93, 1, 70,254,186, 93,254,217,254,130,143, +143, 1,126, 2,202,254, 93,254,253,254, 94, 1, 3,254,253, 1,162, 1, 3, 0, 0, 2, 0, 67,255,230, 4,142, 4, 53, 0, 9, + 0, 41, 0, 0, 1, 3, 33, 5, 3, 37, 5, 3, 37, 33, 3, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, + 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 2,104,122,254,116, 1, 64,122, 1, 64, 1, 65,122, 1, 64,254,116,123, +110,101, 95, 82, 80, 41, 40, 40, 38, 83, 78, 99,100,111,109,101, 95, 82, 80, 41, 40, 40, 38, 83, 77,100,100, 4, 48,254,135,233, +254,136,233,233, 1,120,233, 1,125, 42, 40, 81, 79, 98, 98,114,108,101, 93, 84, 80, 41, 42, 42, 40, 81, 79, 98, 98,111,111,101, + 93, 84, 78, 43, 42, 0, 0, 0, 0, 2, 0, 40,255,230, 4,169, 4, 46, 0, 29, 0, 39, 0, 0, 0, 34, 7, 6, 7, 6, 7, 6, + 21, 20, 23, 22, 23, 22, 23, 22, 50, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 39, 3, 19, 33, 1, 19, 9, 1, 19, 1, 33, + 2,152, 95, 41, 40, 34, 34, 17, 17, 17, 17, 34, 34, 40, 41, 95, 41, 40, 34, 34, 17, 17, 17, 17, 34, 34, 40, 89,136, 1,184,254, +157,136,254,155,254,156,136,254,157, 1,184, 2,184, 17, 19, 31, 36, 40, 42, 47, 46, 42, 40, 35, 32, 19, 17, 17, 19, 32, 35, 40, + 42, 46, 47, 42, 40, 36, 31, 19, 1,135,254, 93,254,253,254, 94, 1, 3,254,253, 1,162, 1, 3, 0, 3, 0, 35,255,233, 4,174, + 4, 60, 0, 9, 0, 39, 0, 49, 0, 0, 19, 37, 27, 1, 5, 3, 19, 37, 5, 19, 0, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, + 7, 6, 7, 6, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 19, 3, 33, 1, 3, 9, 1, 3, 1, 33, 35, 1,120,205, +206, 1,120,248, 26,254,152,254,153, 26, 1, 29, 97, 41, 40, 35, 34, 17, 17, 17, 17, 34, 35, 40, 41, 97, 41, 40, 35, 34, 17, 17, + 17, 17, 34, 35, 40, 89,137,254, 68, 1,103,137, 1,103, 1,104,137, 1,103,254, 68, 2,149, 94, 1, 73,254,183, 94,254,214,254, +127,144,144, 1,129, 1, 87, 17, 19, 32, 36, 40, 42, 48, 46, 43, 40, 36, 32, 19, 17, 17, 19, 32, 36, 40, 43, 46, 48, 42, 40, 36, + 32, 19, 1,139,254, 89,254,251,254, 90, 1, 5,254,251, 1,166, 1, 5, 0, 0, 0, 3, 0, 40,255,240, 4,169, 4, 56, 0, 9, + 0, 19, 0, 29, 0, 0, 1, 23, 51, 7, 23, 39, 7, 55, 39, 51, 19, 3, 33, 5, 3, 37, 5, 3, 37, 33, 3, 19, 33, 1, 19, 9, + 1, 19, 1, 33, 2,104, 69,219,177, 67,178,177, 67,177,219, 68,101,254,181, 1, 12,103, 1, 11, 1, 12,103, 1, 12,254,181,102, +136, 1,184,254,157,136,254,155,254,156,136,254,157, 1,184, 3, 10,210,129,209,129,129,209,129, 1,105,254,198,194,254,198,195, +195, 1, 58,194, 1,209,254, 93,254,253,254, 94, 1, 3,254,253, 1,162, 1, 3, 0, 3, 0, 61,255,252, 4,148, 4, 28, 0, 9, + 0, 19, 0, 29, 0, 0, 1, 23, 51, 7, 23, 39, 7, 55, 39, 51, 27, 1, 33, 5, 19, 37, 5, 19, 37, 33, 55, 7, 33, 23, 7, 55, + 23, 39, 55, 33, 2,104, 27, 84, 68, 26, 69, 68, 26, 68, 84, 26,131, 1,168,254,170,131,254,168,254,169,131,254,170, 1,168,130, + 78,255, 0,207, 80,207,208, 80,207,255, 0, 2, 73, 81, 50, 80, 49, 49, 80, 50, 2, 35,254,109,249,254,109,249,249, 1,147,249, +172,243,150,243,150,150,243,150, 0, 6, 0, 40,255,246, 4,169, 4, 63, 0, 2, 0, 5, 0, 8, 0, 11, 0, 14, 0, 24, 0, 0, + 45, 1, 53, 37, 5, 55, 1, 3, 39, 37, 33, 7, 17, 3, 23, 17, 19, 33, 1, 19, 9, 1, 19, 1, 33, 1, 93, 1, 11,254, 80, 1, + 12,164, 1, 12,103,165, 1,177,254,181,102,101,101,136, 1,184,254,157,136,254,155,254,156,136,254,157, 1,184,114,194,173,140, +194, 54,254,145, 1, 57, 54,140,140, 1,198,254,198,140, 2, 93,254, 94,254,253,254, 94, 1, 3,254,253, 1,162, 1, 3, 0, 0, + 0, 2, 0, 46, 0, 17, 4,163, 4, 5, 0, 13, 0, 23, 0, 0, 1, 5, 19, 47, 1, 5, 39, 19, 37, 33, 19, 23, 19, 33, 37, 3, + 33, 23, 3, 55, 23, 3, 55, 33, 4,162,254,196,121,114,235,254,226,114,121,254,196, 1,136,121,113,109, 1, 34,254, 0, 95,254, +208,246, 94,247,246, 94,246,254,208, 2,108,231,254,140, 37,171,208, 37, 1,116,230, 1,117, 37,254,176,253,254,223,180,254,223, +179,179, 1, 33,180, 0, 0, 0, 0, 1, 0, 54,255,254, 4,155, 4,130, 0, 17, 0, 0, 1, 17, 51, 17, 37, 23, 13, 1, 7, 37, + 17, 35, 17, 5, 39, 45, 1, 55, 1,237,247, 1, 58,124,254,198, 1, 58,124,254,198,247,254,198,124, 1, 57,254,199,124, 3, 23, + 1,107,254,148,182,214,181,182,214,181,254,149, 1,107,181,214,182,181,214, 0, 0, 2, 0, 87,255,255, 4,122, 4, 96, 0, 5, + 0, 23, 0, 0, 1, 7, 23, 51, 55, 39, 5, 37, 55, 5, 17, 23, 17, 37, 23, 13, 1, 7, 37, 17, 35, 17, 5, 39, 2, 14, 90, 90, +180, 90, 90,254,242,254,163, 90, 1, 93,180, 1, 94, 90,254,162, 1, 94, 90,254,162,180,254,163, 90, 2,203,155,157,157,155,155, +202,156,203, 1,148, 1,254,109,203,156,202,203,156,202,254,109, 1,147,202,156, 0, 1, 0, 48,255,253, 4,161, 4,111, 0, 23, + 0, 0, 9, 1, 7, 1, 17, 35, 17, 1, 39, 1, 33, 53, 33, 1, 55, 1, 17, 51, 17, 1, 23, 1, 33, 21, 2,197, 1, 80, 54,254, +176, 77,254,176, 54, 1, 80,254, 36, 1,221,254,175, 54, 1, 80, 77, 1, 80, 54,254,175, 1,221, 2, 16,254,175, 54, 1, 82,254, + 35, 1,220,254,175, 54, 1, 81, 76, 1, 82, 54,254,175, 1,220,254, 36, 1, 81, 54,254,174, 76, 0, 1, 0, 36,255,240, 4,173, + 4,122, 0, 15, 0, 0, 1, 19, 9, 1, 13, 1, 9, 1, 11, 1, 9, 1, 45, 1, 9, 1, 2,104, 60, 1, 95,254,245, 1,181,254, + 75, 1, 11,254,161, 60, 59,254,161, 1, 10,254, 76, 1,180,254,246, 1, 95, 4,122,254, 75, 1, 11,254,161, 60, 59,254,160, 1, + 12,254, 74, 1,182,254,244, 1, 96, 59, 60, 1, 95,254,245, 0, 0, 9, 0, 26,255,233, 4,183, 4,134, 0, 2, 0, 5, 0, 8, + 0, 11, 0, 14, 0, 17, 0, 20, 0, 23, 0, 39, 0, 0, 1, 15, 1, 33, 39, 7, 1, 47, 1, 17, 55, 39, 1, 63, 1, 33, 23, 55, + 1, 31, 1, 17, 7, 23, 17, 19, 37, 3, 13, 1, 19, 37, 11, 1, 5, 19, 45, 1, 3, 5, 3,161,222, 91, 1,186,223,219, 1, 57, + 94,219, 91, 91,254,200,222, 90,254, 71,223,218,254,200, 94,218, 90, 90,122, 1, 39,125, 1, 42,254,214,125,254,217,122,121,254, +217,125,254,214, 1, 42,125, 1, 39, 3,113, 94,220, 92, 92,254,200,222, 90,254, 71,223,218,254,200, 94,218, 90, 90, 1, 58,222, + 92, 1,187,223,220, 2, 79,254,214,125,254,216,122,121,254,217,125,254,214, 1, 42,125, 1, 39,121,122, 1, 40,125, 0, 0, 0, + 0, 1, 0, 50,255,228, 4,159, 5, 0, 0, 11, 0, 0, 1, 19, 37, 9, 1, 37, 11, 1, 5, 9, 1, 5, 2,104, 95, 1,216,254, +135, 1,121,254, 40, 95, 94,254, 40, 1,122,254,134, 1,216, 4,255,254, 23,163,254,185,254,186,163,254, 21, 1,235,163, 1, 70, + 1, 71,163, 0, 0, 1, 0, 31,255,224, 4,178, 4,115, 0, 15, 0, 0, 1, 19, 37, 3, 13, 1, 19, 37, 11, 1, 5, 19, 45, 1, + 3, 5, 2,104, 86, 1, 72,207, 1,122,254,134,207,254,184, 86, 85,254,184,207,254,134, 1,122,207, 1, 72, 4,114,254,134,207, +254,184, 86, 85,254,184,207,254,133, 1,123,207, 1, 72, 85, 86, 1, 72,207, 0, 0, 1, 0, 26,255,234, 4,183, 4,134, 0, 15, + 0, 0, 1, 19, 37, 3, 13, 1, 19, 37, 11, 1, 5, 19, 45, 1, 3, 5, 2,104,130, 1, 31,104, 1, 21,254,235,104,254,225,130, +129,254,225,104,254,235, 1, 21,104, 1, 31, 4,134,254,235,104,254,225,130,130,254,225,104,254,235, 1, 21,104, 1, 31,130,130, + 1, 31,104, 0, 0, 1, 0, 36,255,221, 4,173, 4,104, 0, 23, 0, 0, 1, 19, 55, 3, 37, 7, 13, 1, 23, 37, 19, 39, 11, 1, + 7, 19, 5, 55, 45, 1, 39, 5, 3, 23, 2,104, 88,203, 53, 1, 10,180, 1, 1,254,255,180,254,246, 53,203, 88, 86,204, 54,254, +245,179,255, 0, 1, 0,179, 1, 11, 54,204, 4,103,254,255,179,254,246, 53,203, 86, 87,204, 54,254,246,179,254,255, 1, 1,179, + 1, 10, 54,204, 87, 86,203, 53, 1, 10,179, 0, 0, 1, 0, 48, 0, 2, 4,161, 4,116, 0, 47, 0, 0, 1, 17, 51, 17, 19, 23, + 3, 55, 23, 7, 37, 23, 5, 33, 21, 33, 5, 7, 37, 23, 7, 39, 19, 7, 3, 17, 35, 17, 3, 39, 19, 7, 39, 55, 5, 39, 37, 33, + 53, 33, 37, 55, 5, 39, 55, 23, 3, 55, 2, 59, 91,130, 84,129,239, 65,240, 1, 58, 35,254,197, 1, 84,254,175, 1, 56, 35,254, +198,240, 65,238,128, 84,130, 91,130, 84,129,239, 65,240,254,198, 35, 1, 57,254,174, 1, 84,254,197, 35, 1, 56,238, 65,238,128, + 84, 3, 32, 1, 84,254,174, 1, 56, 35,254,199,240, 65,240,130, 84,131, 91,129, 85,131,241, 64,238,254,200, 35, 1, 55,254,175, + 1, 83,254,199, 35, 1, 57,239, 64,239,129, 85,129, 91,131, 84,129,239, 65,239, 1, 56, 35, 0, 0, 1, 0, 49,255,240, 4,160, + 4,232, 0,159, 0, 0, 1, 53, 52, 39, 38, 53, 52, 55, 54, 50, 23, 22, 21, 20, 7, 6, 29, 1, 23, 22, 23, 55, 54, 55, 54, 55, + 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 35, 34, 35, 34, 15, 1, 22, 21, 20, 7, 23, 22, 51, 50, 55, 50, 51, + 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 47, 1, 6, 15, 1, 21, 20, 23, 22, 21, 20, 7, 6, 34, 39, + 38, 53, 52, 55, 54, 61, 1, 38, 39, 38, 39, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 51, + 22, 51, 50, 63, 1, 38, 53, 52, 55, 39, 38, 35, 34, 35, 34, 35, 34, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, + 22, 31, 1, 54, 55, 54, 2, 63, 62, 36, 44, 46, 99, 46, 44, 36, 62, 13, 25, 20, 8, 93, 53, 32, 55, 49, 43, 18, 17, 58, 25, 16, + 4, 11, 72, 51, 62, 5, 5, 8, 9,107, 82, 10, 3, 4, 10, 83,107, 9, 8, 5, 5, 62, 51, 72, 11, 4, 16, 25, 58, 17, 18, 43, + 49, 55, 32, 55, 90, 12, 22, 20, 13, 62, 36, 44, 46, 99, 46, 44, 36, 63, 7, 7, 23, 19, 12, 90, 55, 32, 55, 49, 43, 18, 17, 58, + 25, 16, 4, 11, 72, 51, 62, 5, 5, 8, 9,108, 82, 10, 4, 3, 10, 82,107, 9, 8, 5, 5, 62, 51, 72, 11, 4, 16, 25, 58, 17, + 18, 43, 49, 55, 32, 57, 88, 9, 22, 23, 7, 2,248, 10,105, 98, 57, 64, 82, 39, 41, 41, 39, 82, 64, 57,100,103, 10, 5, 11, 19, + 5, 56,100, 60, 32, 28, 5, 20, 43, 28, 36, 18, 20, 59, 41, 29, 48, 5, 16, 16, 18, 16, 6, 49, 1, 30, 41, 58, 20, 18, 36, 29, + 42, 20, 5, 28, 32, 60,103, 52, 7, 21, 7, 5, 13,104, 99, 57, 64, 82, 40, 40, 40, 40, 82, 64, 57, 99,104, 13, 2, 3, 10, 18, + 7, 52,103, 60, 32, 28, 5, 20, 42, 29, 36, 18, 20, 58, 41, 30, 1, 48, 6, 16, 19, 16, 16, 5, 48, 29, 41, 59, 20, 18, 36, 28, + 43, 20, 5, 28, 32, 60,107, 48, 5, 20, 9, 3, 0, 2, 0, 55,255,238, 4,154, 4,217, 0, 29, 0,185, 0, 0, 0, 34, 7, 6, + 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 50, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 47, 1, 53, 52, 39, 38, 53, + 52, 55, 54, 50, 23, 22, 21, 20, 7, 6, 29, 1, 23, 22, 23, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, + 6, 43, 1, 34, 35, 34, 15, 1, 22, 21, 20, 7, 23, 22, 51, 50, 59, 1, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, + 38, 39, 38, 47, 1, 6, 15, 1, 21, 20, 23, 22, 21, 20, 7, 6, 34, 39, 38, 53, 52, 55, 54, 61, 1, 38, 39, 38, 39, 7, 6, 7, + 6, 7, 6, 35, 34, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 59, 1, 50, 51, 50, 63, 1, 38, 53, 52, 55, 39, 38, 35, 34, 43, 1, + 34, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 31, 1, 54, 55, 54, 2,122, 35, 13, 15, 11, 13, 5, 7, 7, + 5, 13, 11, 15, 13, 35, 13, 15, 11, 13, 5, 7, 7, 5, 13, 11, 15, 72, 61, 36, 44, 46, 97, 46, 44, 36, 62, 13, 25, 20, 8, 92, + 53, 31, 55, 48, 43, 18, 17, 57, 25, 16, 4, 12, 70, 51, 61, 10, 9, 8,107, 81, 10, 4, 4, 9, 83,106, 9, 8, 10, 61, 51, 70, + 12, 4, 16, 25, 57, 17, 18, 43, 48, 55, 31, 55, 89, 12, 22, 20, 13, 62, 36, 44, 46, 97, 46, 44, 36, 63, 8, 6, 24, 18, 12, 89, + 55, 31, 55, 48, 43, 18, 17, 57, 25, 16, 4, 11, 71, 51, 61, 10, 9, 8,107, 82, 9, 4, 4, 10, 81,107, 8, 9, 10, 61, 51, 71, + 11, 4, 16, 25, 57, 17, 18, 43, 48, 55, 31, 57, 87, 9, 21, 24, 6, 2,183, 7, 6, 12, 12, 14, 14, 17, 17, 14, 14, 12, 12, 6, + 7, 7, 6, 12, 12, 14, 14, 17, 17, 14, 14, 12, 12, 6, 62, 10,104, 96, 57, 64, 81, 39, 40, 40, 39, 81, 64, 57, 98,102, 10, 5, + 11, 19, 5, 55, 99, 60, 31, 29, 6, 19, 43, 28, 36, 18, 19, 58, 41, 29, 47, 6, 15, 16, 17, 17, 5, 48, 30, 40, 58, 19, 18, 36, + 28, 43, 19, 6, 29, 31, 60,102, 51, 7, 21, 7, 5, 12,103, 99, 56, 64, 81, 39, 40, 40, 39, 81, 64, 56, 99,103, 12, 3, 2, 11, + 17, 7, 51,102, 60, 31, 29, 6, 19, 43, 28, 36, 18, 19, 58, 40, 30, 47, 6, 16, 18, 16, 15, 6, 47, 29, 41, 58, 19, 18, 36, 28, + 43, 19, 6, 29, 31, 60,105, 48, 5, 20, 9, 3, 0, 1, 0, 43,255,235, 4,159, 4,223, 0,106, 0, 0, 1, 39, 38, 7, 6, 39, + 38, 39, 38, 55, 54, 55, 54, 23, 22, 23, 22, 31, 1, 53, 52, 39, 38, 53, 52, 55, 54, 50, 23, 22, 21, 20, 7, 6, 29, 1, 55, 54, + 55, 54, 55, 54, 23, 22, 23, 22, 7, 6, 7, 6, 39, 38, 15, 1, 23, 22, 55, 54, 23, 22, 23, 22, 7, 6, 7, 6, 39, 38, 39, 38, + 47, 1, 21, 20, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 61, 1, 7, 6, 7, 6, 7, 6, 39, 38, 39, 38, 55, 54, + 55, 54, 23, 22, 55, 2, 18, 38, 40,151, 90, 68, 76, 14, 23, 34, 35, 90, 58, 76, 71, 35, 58, 46, 39, 87, 52, 44, 67,138, 67, 44, + 52, 87, 39, 39, 65, 40, 67, 75, 59, 90, 34, 34, 23, 14, 76, 71, 87,144, 47, 39, 39, 39,152, 91, 67, 76, 14, 23, 34, 36, 88, 62, + 72, 72, 35, 58, 46, 39, 87, 52, 44, 67, 69, 72, 64, 44, 52, 87, 39, 42, 62, 38, 68, 76, 58, 90, 35, 35, 24, 15, 75, 71, 87,147, + 44, 2,102, 22, 23, 13, 8, 39, 44, 59, 91, 59, 59, 26, 17, 43, 42, 81,132, 27, 23, 45, 45,125, 75, 79, 87, 42, 65, 65, 42, 87, + 83, 71,117, 53, 45, 23, 23,136, 85, 38, 43, 17, 26, 59, 59, 91, 59, 44, 41, 10, 16, 26, 22, 23, 23, 13, 7, 39, 43, 59, 91, 60, + 62, 23, 16, 42, 42, 81,133, 27, 22, 45, 45,125, 75, 78, 87, 43, 64, 64, 45, 85, 83, 70,117, 53, 45, 22, 25,135, 83, 40, 43, 17, + 26, 59, 62, 89, 59, 43, 42, 10, 16, 26, 0, 0, 0, 4, 0, 33,255,229, 4,176, 4,189, 0, 14, 0,153, 0,177, 0,201, 0, 0, + 1, 54, 55, 54, 53, 52, 39, 38, 34, 7, 6, 21, 20, 23, 22, 19, 23, 22, 51, 50, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, + 7, 6, 35, 34, 39, 38, 39, 38, 47, 1, 21, 20, 23, 22, 21, 20, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 61, 1, 7, 6, 7, 6, + 7, 6, 35, 34, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, 51, 50, 63, 1, 39, 38, 35, 34, 7, 6, 35, 34, 39, 38, + 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 31, 1, 53, 52, 39, 38, 53, 52, 55, 54, 50, 23, 22, 21, 20, 7, 6, 29, + 1, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 35, 34, 7, 5, 6, 35, 34, 39, 38, + 35, 34, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 51, 50, 55, 54, 55, 54, 37, 22, 23, 22, 23, 22, 51, 50, 55, 54, 55, 54, 53, 52, + 39, 38, 39, 38, 35, 34, 7, 6, 35, 34, 2,105, 23, 47, 31, 25, 41, 70, 41, 26, 31, 47,141, 15, 44, 85, 27, 31, 15, 14, 75, 58, + 77, 15, 10, 21, 36, 92, 16, 18, 47, 56, 69, 40, 53, 62, 15, 72, 54, 45, 69, 70, 74, 65, 45, 53, 72, 15, 59, 56, 41, 68, 55, 46, + 19, 17, 92, 35, 21, 9, 16, 76, 59, 75, 14, 15, 30, 27, 85, 44, 16, 16, 42, 85, 28, 31, 15, 14, 75, 59, 75, 17, 10, 22, 35, 92, + 17, 19, 46, 55, 70, 39, 53, 62, 15, 72, 53, 45, 68,141, 69, 45, 54, 72, 15, 60, 55, 42, 67, 56, 47, 18, 16, 92, 36, 21, 10, 15, + 77, 58, 75, 14, 15, 32, 27, 85, 43,254,211, 58, 54, 25, 24, 8, 8, 45, 50, 49, 6, 4, 11, 17, 52, 9, 10, 26, 36, 58, 21, 30, + 1,143, 60, 30, 21, 59, 36, 26, 10, 8, 52, 18, 11, 4, 6, 50, 50, 45, 8, 7, 25, 25, 54, 3, 12, 79, 59, 40, 65, 55, 20, 35, + 35, 20, 55, 65, 40, 59,254,247, 9, 26, 3, 1, 33, 42, 58, 35, 31, 46, 35, 59, 24, 4, 30, 38, 82,109, 33, 8, 16, 67, 99, 74, + 77, 85, 41, 63, 63, 44, 82, 77, 74, 99, 67, 16, 8, 31,111, 83, 37, 31, 5, 26, 57, 35, 46, 31, 35, 59, 41, 33, 1, 3, 26, 9, + 8, 25, 2, 1, 32, 41, 59, 35, 31, 45, 36, 58, 25, 5, 30, 39, 81,110, 33, 8, 16, 68, 99, 73, 77, 85, 42, 63, 63, 42, 85, 77, + 73, 99, 68, 16, 8, 32,111, 83, 37, 30, 5, 24, 59, 35, 46, 30, 36, 58, 42, 32, 1, 2, 25,102, 14, 3, 1, 28, 27, 31, 20, 16, + 27, 18, 29, 16, 3, 19, 32, 47, 68, 59, 59, 68, 47, 32, 19, 3, 16, 29, 18, 27, 16, 20, 31, 27, 28, 1, 3, 0, 0, 2, 0, 36, + 0, 0, 4,173, 4,105, 0, 29, 0,141, 0, 0, 0, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 50, 55, 54, 55, + 54, 55, 54, 53, 52, 39, 38, 39, 38, 39, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, + 39, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 39, 6, 7, 6, 7, 6, 7, 6, 35, 34, + 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 50, + 23, 22, 23, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 2,160,111, 48, 48, 39, + 41, 19, 20, 20, 19, 41, 39, 48, 48,111, 48, 48, 39, 41, 19, 20, 20, 19, 41, 39, 48, 93, 48, 29, 43, 41, 42, 43, 37, 35, 32, 18, + 16, 16, 15, 35, 29, 43, 37, 48, 22, 21, 37, 26, 35, 14, 17, 17, 18, 31, 35, 38, 38, 46, 48, 37, 43, 29, 37, 13, 10, 4, 3, 11, + 18, 32, 35, 37, 39, 46, 48, 36, 44, 28, 35, 15, 16, 16, 19, 31, 29, 28, 18, 19, 48, 37, 45, 27, 35, 15, 16, 16, 18, 32, 35, 37, + 39, 46, 48, 36, 46, 32, 6, 5, 16, 16, 18, 32, 35, 37, 39, 45, 49, 36, 44, 28, 35, 15, 16, 16, 5, 3, 36, 20, 22, 37, 42, 47, + 48, 57, 54, 49, 47, 42, 37, 22, 20, 20, 22, 37, 42, 47, 49, 54, 57, 48, 47, 42, 37, 22, 15, 41, 12, 18, 18, 15, 34, 30, 42, 38, + 48, 45, 40, 37, 36, 29, 19, 17, 4, 18, 26, 36, 36, 41, 45, 48, 38, 42, 30, 33, 16, 16, 16, 20, 29, 38, 34, 27, 28, 29, 26, 42, + 30, 33, 16, 16, 16, 20, 29, 36, 36, 41, 45, 48, 38, 45, 27, 26, 17, 4, 17, 21, 28, 35, 37, 40, 45, 48, 38, 42, 30, 34, 15, 17, + 17, 19, 34, 11, 11, 40, 45, 48, 38, 42, 30, 34, 15, 16, 16, 19, 30, 36, 36, 40, 46, 47, 38, 11, 0, 6, 0, 22, 0, 3, 4,187, + 4,134, 0,110, 0,138, 0,163, 0,191, 0,216, 0,244, 0, 0, 37, 6, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, + 53, 52, 55, 54, 55, 54, 55, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 38, 39, 38, + 53, 52, 55, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, + 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 2, + 50, 23, 22, 23, 55, 54, 53, 52, 39, 38, 39, 38, 39, 38, 34, 7, 6, 7, 6, 7, 6, 21, 20, 31, 1, 54, 55, 19, 38, 39, 38, 39, + 38, 39, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 50, 55, 54, 55, 54, 55, 3, 38, 53, 52, 55, 54, 55, 39, 38, 39, 38, 35, + 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 23, 5, 23, 22, 23, 22, 23, 22, 50, 55, 54, 55, 54, 55, 54, 53, 52, + 39, 38, 47, 1, 6, 7, 6, 7, 6, 63, 1, 54, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 39, 38, 35, 34, 7, 6, 15, 1, + 22, 23, 22, 21, 20, 2,104, 3, 11, 13, 38, 29, 44, 38, 49, 47, 40, 38, 35, 33, 18, 17, 17, 15, 36, 26, 38, 22, 23, 49, 37, 45, + 29, 36, 15, 17, 17, 18, 33, 38, 36, 47, 39, 46, 41, 29, 50, 6, 5, 16, 16, 15, 36, 29, 45, 37, 99, 37, 45, 29, 36, 15, 16, 16, + 5, 6, 50, 29, 45, 42, 43, 43, 38, 36, 33, 18, 17, 17, 15, 36, 29, 45, 37, 49, 23, 22, 38, 26, 36, 15, 17, 17, 18, 33, 35, 38, + 40, 47, 49, 38, 44, 29, 38, 13, 11, 61,115, 48, 6, 6, 14, 7, 10, 9, 22, 20, 25, 24, 57, 24, 25, 20, 22, 9, 10, 7, 14, 6, + 6, 53, 28, 25, 53, 37, 24, 21, 82, 19, 12, 10, 10, 10, 21, 20, 25, 24, 57, 24, 26, 19, 19, 12,178, 3, 21, 17, 33, 95, 7, 5, + 28, 25, 28, 24, 25, 20, 19, 12, 11, 11, 9, 22, 20, 25, 17, 12, 1,186, 44, 12, 19, 19, 26, 24, 57, 24, 25, 20, 21, 10, 10, 10, + 12, 19, 82, 21, 24, 37, 53, 25,194,115, 12, 17, 25, 20, 22, 9, 11, 11, 12, 19, 20, 25, 24, 28, 25, 28, 5, 7, 95, 33, 17, 21, +200, 29, 27, 35, 39, 30, 20, 17, 17, 16, 34, 31, 43, 39, 48, 47, 41, 38, 36, 27, 19, 4, 16, 20, 30, 37, 37, 41, 46, 50, 39, 43, + 31, 36, 14, 18, 18, 13, 42, 10, 11, 39, 49, 46, 42, 37, 37, 30, 20, 16, 16, 20, 30, 37, 37, 42, 46, 49, 39, 11, 10, 42, 13, 18, + 18, 16, 34, 31, 43, 39, 50, 46, 41, 37, 37, 30, 20, 16, 4, 19, 27, 36, 38, 41, 47, 48, 39, 43, 31, 34, 16, 17, 17, 20, 30, 39, + 35, 27, 2,142, 20, 3, 3, 76, 37, 16, 28, 26, 24, 21, 19, 11, 11, 11, 11, 19, 21, 24, 26, 28, 16, 37, 76, 3, 3,253,236, 5, + 11, 24, 37, 23, 35, 77, 19, 27, 25, 29, 28, 25, 24, 21, 19, 11, 11, 11, 11, 19, 19, 26, 1, 76, 17, 19, 58, 50, 40, 38, 54, 3, + 2, 10, 10, 11, 19, 19, 26, 23, 31, 28, 26, 23, 22, 19, 11, 7, 2,251, 95, 26, 19, 19, 11, 11, 11, 11, 19, 21, 24, 25, 28, 29, + 25, 27, 19, 77, 35, 23, 37, 24, 11,232, 14, 2, 7, 11, 19, 22, 23, 26, 28, 31, 23, 26, 19, 19, 11, 10, 10, 2, 3, 54, 38, 40, + 50, 58, 19, 0, 0, 10, 0, 22,255,237, 4,187, 4,148, 0, 45, 0, 91, 0,213, 1, 4, 1, 51, 1, 98, 1,145, 1,175, 1,221, + 2, 11, 0, 0, 1, 38, 39, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 50, 31, 1, 54, 55, 39, + 38, 35, 34, 6, 7, 6, 7, 6, 20, 23, 22, 23, 22, 23, 22, 51, 50, 55, 37, 6, 7, 23, 22, 51, 50, 55, 54, 55, 54, 55, 54, 52, + 39, 38, 39, 46, 1, 35, 34, 15, 1, 22, 23, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, + 37, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 52, 54, 55, 54, 55, 54, 50, 23, 22, 23, 30, 1, 21, 54, 55, + 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 22, 23, + 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 20, 6, 7, 6, 7, 6, 34, 39, 38, 39, 46, 1, 53, 6, 7, 6, 35, 34, + 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 1, 38, 39, 7, 6, 7, + 6, 7, 6, 7, 38, 39, 38, 39, 38, 39, 38, 39, 54, 55, 54, 55, 54, 63, 1, 38, 39, 7, 6, 7, 6, 7, 6, 21, 22, 23, 22, 23, + 30, 1, 51, 50, 55, 54, 55, 54, 55, 1, 22, 23, 55, 54, 55, 54, 55, 54, 53, 38, 39, 38, 39, 46, 1, 35, 34, 7, 6, 7, 6, 15, + 1, 22, 23, 55, 54, 55, 54, 55, 54, 55, 22, 23, 22, 23, 22, 23, 22, 23, 6, 7, 6, 7, 6, 7, 3, 6, 7, 23, 22, 23, 22, 23, + 22, 23, 6, 7, 6, 7, 6, 7, 6, 7, 38, 39, 38, 39, 38, 47, 1, 6, 7, 23, 22, 23, 22, 23, 22, 51, 50, 54, 55, 54, 55, 54, + 55, 52, 39, 38, 39, 38, 39, 1, 54, 55, 39, 38, 39, 38, 39, 38, 35, 34, 6, 7, 6, 7, 6, 7, 20, 23, 22, 23, 22, 31, 1, 54, + 55, 39, 38, 39, 38, 39, 38, 39, 54, 55, 54, 55, 54, 55, 54, 55, 22, 23, 22, 23, 22, 23, 4, 34, 7, 6, 7, 6, 7, 6, 21, 20, + 23, 22, 23, 22, 23, 22, 50, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 39, 19, 6, 7, 23, 22, 21, 20, 7, 6, 7, 6, 7, + 6, 34, 39, 38, 39, 38, 39, 38, 53, 52, 63, 1, 38, 39, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 50, 55, 54, 55, 54, 55, 54, 53, + 52, 39, 3, 22, 23, 55, 54, 53, 52, 39, 38, 39, 38, 39, 38, 34, 7, 6, 7, 6, 7, 6, 21, 20, 31, 1, 54, 55, 39, 38, 53, 52, + 55, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 1,139, 4, 2,175, 13, 7, 7, 11, 9, 8, 6, 5, 3, 3, 5, + 6, 8, 9, 9, 9, 7, 13,175, 2, 4,158, 27, 16, 21, 40, 17, 15, 10, 7, 7, 10, 15, 17, 20, 20, 21, 16, 27, 2, 98, 2, 4, +155, 27, 14, 23, 20, 20, 17, 15, 10, 7, 7, 10, 15, 17, 40, 23, 14, 27,155, 4, 2,172, 13, 5, 13, 7, 9, 8, 6, 5, 3, 3, + 5, 6, 9, 8, 11, 9, 5, 13,252,205, 28, 13, 13, 13, 12, 25, 25, 31, 31, 35, 33, 34, 31, 28, 26, 25, 25, 30, 31, 71, 31, 30, + 25, 25, 26, 30, 29, 34, 33, 35, 31, 31, 25, 22, 15, 13, 13, 11, 30, 42, 30, 29, 26, 27, 11, 13, 13, 13, 25, 21, 34, 32, 39, 29, + 11, 13, 13, 12, 25, 25, 31, 31, 35, 35, 32, 31, 28, 26, 25, 25, 30, 31, 71, 31, 30, 25, 25, 26, 31, 28, 33, 34, 34, 32, 31, 25, + 25, 12, 13, 13, 13, 27, 39, 32, 29, 26, 27, 12, 12, 12, 14, 25, 26, 29, 30, 1, 89, 15, 13,109, 8, 5, 5, 10, 9, 11, 10, 9, + 9, 7, 7, 4, 3, 1, 1, 4, 3, 7, 4, 11,138, 11, 8,141, 26, 10, 17, 7, 9, 1, 8, 7, 17, 16, 40, 22, 24, 19, 20, 16, + 11, 14, 1,121, 12, 7,139, 26, 10, 17, 7, 9, 1, 8, 7, 17, 16, 40, 22, 24, 19, 20, 17, 10, 14, 79, 15, 13,107, 8, 4, 8, + 8, 9, 11, 10, 9, 9, 7, 7, 4, 3, 1, 1, 4, 4, 6, 4, 11,119, 8, 11,138, 11, 4, 6, 4, 4, 1, 1, 3, 4, 7, 7, + 9, 9, 10, 11, 9, 8, 7, 5, 8,109, 13, 15, 81, 14, 11, 16, 20, 19, 24, 22, 40, 16, 17, 7, 8, 1, 9, 7, 17, 10, 26,254, + 28, 14, 14, 79, 14, 10, 17, 20, 19, 24, 22, 40, 16, 17, 7, 8, 1, 9, 7, 17, 10, 26,139, 8, 11,136, 11, 4, 7, 3, 4, 1, + 1, 3, 4, 7, 7, 9, 9, 10, 13, 7, 10, 6, 4, 8, 1, 26, 63, 27, 27, 23, 22, 12, 11, 11, 12, 22, 23, 27, 27, 63, 27, 27, + 23, 22, 12, 11, 11, 12, 22, 23, 27, 2, 17, 16, 21, 1, 3, 4, 7, 8, 8, 10, 19, 10, 8, 8, 7, 4, 3, 1, 21, 17, 16, 43, + 8, 9, 7, 17, 16, 20, 19, 47, 19, 20, 16, 17, 7, 9, 8, 76, 18, 16, 42, 8, 9, 7, 17, 16, 20, 19, 47, 19, 20, 16, 17, 7, + 9, 8, 42, 17, 17, 21, 1, 3, 4, 7, 8, 8, 10, 19, 10, 8, 8, 8, 3, 3, 1, 2, 3, 17, 17, 21, 2, 5, 3, 7, 8, 8, + 9, 11, 9, 9, 9, 8, 6, 5, 3, 2, 20, 17, 16, 43, 7, 15, 17, 17, 20, 18, 46, 20, 20, 16, 16, 8, 9, 7, 77, 18, 16, 43, + 7, 9, 8, 16, 16, 20, 20, 46, 18, 20, 17, 17, 15, 7, 42, 17, 17, 20, 2, 3, 5, 6, 8, 9, 9, 9, 11, 9, 8, 8, 9, 1, + 5, 2,221, 28, 32, 33, 33, 33, 33, 31, 25, 25, 12, 13, 13, 13, 27, 39, 63, 24, 24, 14, 13, 13, 14, 24, 24, 63, 39, 29, 11, 13, + 13, 12, 25, 22, 34, 31, 35, 28, 38, 31, 29, 13, 12, 26, 27, 28, 31, 35, 39, 27, 31, 25, 23, 15, 14, 29, 30, 34, 33, 33, 32, 31, + 25, 25, 13, 12, 12, 13, 28, 39, 63, 25, 23, 14, 13, 13, 14, 23, 25, 63, 39, 30, 11, 12, 12, 13, 25, 25, 31, 32, 33, 34, 33, 32, + 27, 14, 12, 26, 27, 29, 30, 36, 38, 28, 31, 24, 26, 12, 13,254,140, 9, 10,139, 10, 4, 6, 4, 4, 1, 1, 3, 4, 7, 7, 9, + 9, 10, 10, 9, 10, 6, 5, 8,109, 13, 14, 80, 15, 11, 15, 20, 19, 24, 22, 21, 19, 17, 16, 15, 7, 9, 15, 11, 25, 1,229, 13, + 15, 79, 15, 10, 16, 20, 19, 24, 22, 21, 19, 17, 16, 15, 7, 9, 16, 10, 25,139, 9, 11,136, 10, 4, 9, 2, 4, 1, 1, 3, 4, + 7, 7, 9, 9, 10, 13, 6, 10, 7, 4, 8,254,147, 14, 13,109, 8, 5, 6, 10, 9, 10, 10, 9, 9, 7, 7, 4, 3, 1, 1, 4, + 3, 7, 4, 10,139, 11, 8,142, 25, 11, 15, 9, 7, 15, 16, 17, 19, 21, 22, 24, 19, 20, 15, 11, 15, 1,121, 11, 9,139, 25, 10, + 16, 9, 7, 15, 16, 17, 19, 21, 22, 24, 19, 20, 16, 10, 15, 79, 15, 13,107, 8, 4, 8, 9, 9, 10, 10, 9, 9, 7, 7, 4, 3, + 1, 1, 4, 4, 7, 4, 10,163, 12, 12, 21, 24, 26, 28, 31, 31, 28, 27, 23, 21, 12, 12, 12, 12, 21, 23, 27, 28, 31, 31, 28, 26, + 24, 21, 12,254,147, 5, 1,175, 13, 7, 8, 10, 9, 8, 7, 4, 3, 3, 4, 7, 8, 9, 9, 9, 7, 13,175, 1, 5,158, 28, 15, + 22, 20, 19, 17, 15, 9, 9, 9, 9, 15, 17, 19, 20, 22, 15, 28, 2, 98, 1, 5,154, 29, 14, 23, 20, 19, 17, 15, 9, 9, 9, 9, + 15, 17, 19, 20, 23, 14, 29,154, 5, 1,172, 13, 6, 11, 8, 9, 8, 7, 3, 4, 4, 3, 7, 10, 7, 10, 9, 6, 13, 0, 0, 0, + 0, 4, 0, 37,255,223, 4,172, 4,106, 0, 29, 0, 60, 0, 92, 0,108, 0, 0, 0, 34, 7, 6, 7, 6, 7, 6, 21, 20, 23, 22, + 23, 22, 23, 22, 50, 55, 54, 55, 54, 55, 54, 53, 52, 39, 38, 39, 38, 47, 1, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, + 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 52, 55, 54, 55, 54, 55, 54, 19, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, + 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 23, 3, 37, 19, 13, 1, 3, 37, 27, 1, 5, 3, 45, 1, 19, + 5, 2,150, 91, 39, 39, 33, 32, 16, 16, 16, 16, 32, 33, 39, 39, 91, 38, 40, 32, 33, 16, 16, 16, 16, 33, 32, 40, 84, 66, 51, 57, + 41, 43, 24, 23, 23, 23, 44, 43, 55, 54, 63, 65, 51, 58, 40, 43, 24, 23, 23, 23, 44, 43, 55, 54, 62,116,106,101, 86, 84, 44, 43, + 43, 40, 88, 82,105,105,117,115,107,100, 86, 84, 44, 42, 42, 40, 88, 81,105,106,116,117,254,223,122,254,222, 1, 34,122, 1, 33, +117,118, 1, 33,122, 1, 34,254,222,122,254,223, 3, 4, 17, 18, 30, 35, 38, 40, 44, 45, 39, 39, 34, 30, 18, 17, 17, 18, 30, 34, + 39, 39, 45, 44, 40, 38, 35, 30, 18,101, 24, 25, 41, 42, 58, 54, 63, 59, 57, 55, 44, 43, 23, 24, 24, 25, 41, 42, 57, 55,122, 56, + 56, 44, 43, 23, 24, 1, 17, 44, 42, 85, 84,104,103,121,114,105, 99, 89, 84, 43, 44, 44, 42, 85, 83,105,103,116,118,106, 98, 90, + 82, 45, 44, 6,254,222,122,254,223,118,118,254,224,122,254,222, 1, 34,122, 1, 32,118,118, 1, 33,122, 0, 0, 0, 7, 0, 50, +255,237, 4,159, 5, 57, 0, 8, 0,147, 0,156, 0,167, 0,178, 0,193, 0,208, 0, 0, 1, 17, 34, 7, 6, 21, 20, 23, 22, 19, + 23, 22, 51, 50, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 47, 1, 21, 20, 23, 22, 21, 20, + 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 61, 1, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, + 23, 22, 51, 50, 63, 1, 39, 38, 35, 34, 7, 6, 35, 34, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 31, 1, + 53, 52, 39, 38, 53, 52, 55, 54, 50, 23, 22, 21, 20, 7, 6, 29, 1, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, + 6, 7, 6, 35, 34, 39, 38, 35, 34, 15, 1, 17, 50, 55, 54, 53, 52, 39, 38, 19, 37, 38, 39, 38, 35, 34, 7, 6, 7, 6, 1, 5, + 22, 23, 22, 51, 50, 55, 54, 55, 54, 19, 37, 6, 21, 20, 23, 22, 23, 22, 51, 50, 55, 54, 51, 50, 13, 1, 54, 53, 52, 39, 38, 39, + 38, 35, 34, 7, 6, 35, 34, 2,105, 34, 40, 25, 31, 45,137, 14, 43, 83, 25, 30, 15, 13, 73, 57, 75, 14, 9, 20, 35, 89, 16, 17, + 46, 54, 67, 38, 52, 60, 14, 70, 52, 44, 67, 68, 72, 63, 44, 52, 70, 15, 57, 54, 40, 66, 53, 45, 18, 17, 89, 34, 21, 9, 15, 75, + 56, 73, 14, 14, 30, 26, 83, 42, 15, 15, 41, 82, 27, 31, 14, 14, 73, 56, 74, 16, 9, 21, 34, 89, 17, 18, 45, 53, 68, 38, 51, 60, + 15, 70, 52, 44, 67,136, 67, 44, 52, 70, 14, 58, 54, 40, 65, 54, 46, 17, 16, 89, 35, 20, 9, 14, 75, 57, 73, 13, 15, 30, 27, 82, + 42,128, 34, 40, 24, 30, 45,141, 1, 54, 17, 50, 8, 10, 25, 35, 57, 20, 30,254,126,254,201, 17, 51, 8, 10, 25, 35, 57, 20, 29, + 59,254,201, 10, 4, 5, 48, 49, 43, 8, 8, 23, 24, 53, 1,128, 1, 54, 11, 4, 6, 48, 48, 44, 8, 7, 24, 24, 53, 3, 96, 1, +129, 37, 23, 59, 71, 44, 65,254,222, 10, 28, 3, 1, 36, 46, 63, 39, 33, 51, 38, 64, 27, 5, 33, 42, 89,120, 36, 9, 18, 73,109, + 80, 84, 93, 45, 69, 69, 48, 90, 84, 80,109, 73, 18, 9, 34,122, 90, 41, 33, 5, 28, 63, 38, 51, 33, 39, 64, 45, 36, 1, 3, 28, + 10, 9, 28, 3, 1, 35, 44, 65, 39, 33, 50, 39, 63, 28, 5, 33, 42, 89,120, 36, 8, 17, 73,109, 81, 84, 92, 46, 69, 69, 46, 92, + 84, 81,109, 73, 17, 8, 35,121, 90, 41, 33, 5, 26, 65, 38, 50, 34, 39, 63, 46, 35, 1, 3, 28,214,254,126, 38, 22, 60, 71, 44, + 64, 1,137,193, 32, 18, 4, 22, 35, 51, 74,254,243,193, 32, 18, 3, 21, 35, 51, 74, 1, 13,193, 19, 30, 17, 22, 34, 30, 30, 1, + 4,220,193, 20, 29, 18, 21, 34, 30, 30, 1, 3, 0, 1, 0, 32, 0, 2, 4,177, 5, 87, 0, 65, 0, 0, 1, 39, 7, 39, 55, 39, + 55, 23, 53, 51, 21, 23, 53, 39, 55, 23, 53, 51, 21, 55, 23, 7, 21, 55, 53, 51, 21, 55, 23, 7, 23, 7, 39, 7, 23, 55, 23, 7, + 23, 7, 39, 21, 35, 53, 39, 21, 23, 7, 39, 21, 35, 53, 7, 39, 55, 53, 7, 21, 35, 53, 7, 39, 55, 39, 55, 23, 2, 1,207,168, + 52,116,169, 52,169,104,207,168, 52,116,103,116, 52,168,207,104,169, 52,169,116, 52,168,207,207,168, 52,116,169, 52,169,104,207, +168, 52,116,103,116, 52,168,207,104,169, 52,169,116, 52,168, 2,173,126,102, 95, 70,104, 96,105,142,205,127,254,102, 95, 71,208, +208, 71, 95,102,253,126,205,142,105, 96,104, 70, 95,102,126,127,102, 95, 70,104, 95,104,142,205,127,254,102, 95, 71,208,208, 71, + 95,102,254,127,205,142,104, 95,104, 70, 95,102, 0, 7, 0, 48,255,250, 4,161, 4,179, 0, 29, 0, 33, 0, 37, 0, 41, 0, 45, + 0, 49, 0, 53, 0, 0, 1, 51, 21, 55, 17, 55, 23, 7, 23, 7, 23, 7, 39, 17, 39, 21, 35, 53, 7, 17, 7, 39, 55, 39, 55, 39, + 55, 23, 17, 23, 7, 21, 23, 53, 55, 7, 21, 55, 5, 7, 23, 55, 37, 7, 23, 55, 5, 7, 21, 63, 1, 21, 23, 53, 2, 56, 97,236, +214, 49,216,237,236,215, 49,214,236, 97,236,214, 49,215,236,237,216, 49,214,236,138,138,235,138,138,254, 91,139,138,138, 1, 76, +137,138,138,254, 90,138,138, 97,138, 4,179,249,136,254,240,125, 84,125,136,136,123, 85,125,254,239,137,248,248,137, 1, 17,125, + 85,123,136,136,125, 84,125, 1, 16,136, 32,159, 80,159, 80, 80,159, 80, 85, 80, 79, 79, 80, 80, 79, 79, 83, 80,160, 80,160,160, + 80,160, 0, 0, 0, 1, 0, 25, 0, 5, 4,184, 4,192, 0, 65, 0, 0, 1, 51, 21, 55, 23, 7, 21, 55, 53, 51, 21, 55, 23, 7, + 23, 7, 39, 7, 23, 55, 23, 7, 23, 7, 39, 21, 35, 53, 39, 21, 23, 7, 39, 21, 35, 53, 7, 39, 55, 53, 7, 21, 35, 53, 7, 39, + 55, 39, 55, 23, 55, 39, 7, 39, 55, 39, 55, 23, 53, 51, 21, 23, 53, 39, 55, 23, 2, 57, 97,114, 81,195,218,162, 72, 49, 74,113, + 81,195,216,217,195, 81,114, 73, 49, 75,162,214,195, 81,114, 97,114, 81,195,216,162, 74, 49, 72,114, 81,195,217,215,195, 82,114, + 75, 49, 73,162,219,195, 81,114, 4,191, 84, 66,141,113,249,126,226,132, 42, 84, 43, 66,141,112,124,126,113,141, 65, 43, 84, 43, +131,225,124,247,113,141, 66, 84, 82, 66,140,113,251,124,225,131, 43, 84, 42, 65,142,113,125,124,113,141, 66, 43, 84, 41,131,225, +126,252,112,141, 66, 0, 0, 0, 0, 1, 0, 50,255,238, 4,159, 4,216, 0,135, 0, 0, 1, 22, 21, 20, 7, 6, 7, 6, 35, 34, + 39, 38, 39, 7, 23, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 53, 52, 55, 39, 21, 22, + 23, 30, 1, 20, 14, 1, 34, 46, 1, 52, 54, 55, 54, 55, 53, 7, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 53, 52, 55, + 54, 55, 54, 50, 23, 22, 23, 55, 39, 6, 7, 6, 35, 34, 46, 1, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 23, 53, + 38, 39, 46, 1, 52, 54, 55, 54, 51, 50, 30, 1, 20, 6, 7, 6, 7, 21, 55, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, 4,137, + 22, 22, 22, 37, 39, 43, 44, 37, 15, 14,196,196, 14, 15, 37, 44, 43, 39, 37, 22, 22, 22, 23, 36, 39, 43, 41, 40, 38, 22, 21, 3, +196, 17, 16, 37, 44, 44, 75, 87, 75, 44, 44, 37, 16, 17,196, 3, 21, 22, 38, 38, 43, 44, 38, 37, 22, 22, 22, 22, 37, 39, 86, 38, + 15, 14,196,196, 13, 16, 40, 41, 44, 75, 44, 22, 22, 37, 39, 43, 41, 40, 38, 22, 21, 3,196, 17, 16, 37, 44, 44, 37, 38, 43, 44, + 75, 44, 44, 37, 16, 17,196, 3, 21, 21, 39, 37, 44, 43, 39, 41, 3,157, 44, 37, 43, 39, 37, 22, 22, 22, 9, 12,113,113, 12, 9, + 22, 22, 22, 38, 38, 43, 42, 38, 38, 22, 22, 22, 21, 38, 37, 44, 18, 17,114,227, 6, 8, 22, 75, 88, 75, 44, 44, 75, 88, 75, 22, + 8, 6,227,114, 17, 18, 44, 37, 38, 21, 22, 22, 21, 38, 37, 44, 43, 38, 38, 22, 22, 22, 9, 12,113,113, 12, 9, 22, 44, 75, 88, + 37, 38, 21, 22, 22, 21, 38, 37, 44, 18, 17,114,227, 5, 9, 22, 75, 88, 75, 21, 22, 43, 75, 88, 75, 22, 9, 5,227,114, 17, 18, + 44, 37, 36, 23, 22, 22, 24, 0, 0, 9, 0, 41,255,235, 4,168, 4,106, 0, 7, 0, 11, 0, 15, 0, 19, 0, 23, 0, 46, 0, 69, + 0, 92, 0,115, 0, 0, 0, 20, 6, 34, 38, 52, 54, 50, 9, 1, 55, 9, 2, 55, 1, 37, 1, 39, 9, 2, 39, 1, 55, 38, 39, 38, + 39, 38, 53, 52, 55, 54, 55, 54, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 3, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 34, + 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 39, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, + 22, 5, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 2,218, 67, 93, 67, 67, 93, 1, + 64,254,220, 64, 1, 36,253,198,254,221, 64, 1, 35, 1,250,254,220, 64, 1, 36,254, 70,254,221, 64, 1, 35,139, 43, 11, 17, 3, + 1, 1, 3, 11, 17, 87, 17, 11, 3, 1, 1, 3, 17, 11, 44, 44, 11, 17, 3, 1, 1, 3, 11, 17, 87, 17, 11, 3, 1, 1, 3, 17, + 11,120, 45, 18, 28, 51, 22, 62, 52, 23, 49, 24, 37, 37, 24, 49, 23, 52, 62, 22, 51, 28, 18, 1,116, 45, 18, 28, 51, 22, 62, 52, + 23, 49, 24, 37, 37, 24, 49, 23, 52, 62, 22, 51, 28, 18, 2,102, 94, 67, 67, 94, 66,253,223, 1, 37, 64,254,219, 1,186, 1, 35, + 64,254,221,227,254,219, 64, 1, 37,253,198,254,221, 64, 1, 35,228, 45, 18, 28, 52, 21, 62, 52, 23, 49, 24, 37, 37, 24, 49, 23, + 52, 62, 21, 52, 28, 18,254,140, 45, 18, 28, 51, 22, 62, 52, 23, 49, 24, 37, 37, 24, 49, 23, 52, 62, 22, 51, 28, 18,209, 43, 12, + 17, 3, 1, 2, 2, 11, 18, 86, 17, 11, 3, 1, 1, 3, 17, 11, 43, 43, 11, 17, 3, 1, 1, 3, 11, 17, 86, 18, 11, 2, 2, 1, + 3, 17, 12, 0, 0, 9, 0, 33,255,227, 4,176, 4,114, 0, 7, 0, 11, 0, 15, 0, 19, 0, 23, 0, 43, 0, 63, 0, 83, 0,103, + 0, 0, 0, 20, 6, 34, 38, 52, 54, 50, 1, 55, 23, 7, 1, 55, 23, 7, 1, 23, 7, 39, 1, 23, 7, 39, 2, 20, 7, 6, 7, 6, + 34, 39, 38, 39, 38, 52, 55, 54, 55, 54, 50, 23, 22, 23, 18, 20, 7, 6, 7, 6, 34, 39, 38, 39, 38, 52, 55, 54, 55, 54, 50, 23, + 22, 23, 0, 50, 23, 22, 23, 22, 20, 7, 6, 7, 6, 34, 39, 38, 39, 38, 52, 55, 54, 55, 36, 50, 23, 22, 23, 22, 20, 7, 6, 7, + 6, 34, 39, 38, 39, 38, 52, 55, 54, 55, 3, 21,101,143,101,101,143,254, 4,227, 66,228, 2, 3,228, 65,227,253,187,228, 66,227, + 2,134,227, 65,228, 6, 14, 16, 30, 35, 85, 35, 30, 16, 14, 14, 16, 30, 35, 85, 35, 30, 16, 14, 14, 16, 30, 35, 85, 35, 30, 16, + 14, 14, 16, 30, 35, 85, 35, 30, 16,253,199, 86, 37, 42, 27, 31, 31, 27, 42, 37, 86, 38, 42, 27, 30, 30, 27, 42, 3, 75, 86, 38, + 42, 27, 30, 30, 27, 42, 38, 86, 37, 42, 27, 31, 31, 27, 42, 2,126,142,102,102,142,101,253,223,227, 65,227, 2,134,227, 65,227, + 1, 36,227, 65,227,253,252,227, 65,227, 2,132, 86, 37, 42, 27, 31, 31, 27, 42, 37, 86, 38, 42, 27, 30, 30, 27, 42,252,181, 86, + 38, 42, 27, 30, 30, 27, 42, 38, 86, 37, 42, 27, 31, 31, 27, 42, 1,204, 14, 16, 30, 35, 85, 35, 30, 16, 14, 14, 16, 30, 35, 85, + 35, 30, 16, 14, 14, 16, 30, 35, 85, 35, 30, 16, 14, 14, 16, 30, 35, 85, 35, 30, 16, 0, 0, 0, 0, 9, 0, 23,255,234, 4,186, + 4,141, 0, 12, 0, 25, 0, 38, 0, 51, 0, 64, 0, 77, 0, 89, 0, 97, 0,109, 0, 0, 1, 20, 7, 6, 43, 1, 37, 53, 37, 51, + 50, 23, 22, 5, 52, 55, 54, 59, 1, 5, 21, 5, 35, 34, 39, 38, 1, 22, 21, 20, 15, 2, 39, 63, 1, 54, 51, 50, 1, 38, 53, 52, + 63, 2, 23, 15, 1, 6, 35, 34, 3, 54, 51, 50, 31, 2, 7, 47, 1, 38, 53, 52, 1, 6, 35, 34, 47, 2, 55, 31, 1, 22, 21, 20, + 0, 50, 23, 22, 29, 1, 3, 35, 3, 53, 52, 55, 18, 20, 6, 34, 38, 52, 54, 50, 2, 34, 39, 38, 61, 1, 19, 51, 19, 21, 20, 7, + 4,185, 21, 22, 30, 8,254,193, 1, 63, 8, 29, 23, 21,251, 95, 21, 22, 30, 8, 1, 63,254,193, 8, 29, 23, 21, 3,244, 22, 20, + 6,252, 54,198, 5, 21, 32, 32,252,207, 22, 20, 6,252, 54,198, 5, 21, 32, 30, 24, 22, 32, 31, 22, 5,198, 54,252, 6, 20, 3, + 93, 23, 31, 32, 21, 5,198, 54,252, 6, 20,254, 39, 63, 23, 22, 38, 77, 38, 22,169, 67, 95, 67, 67, 95, 16, 63, 23, 22, 38, 77, + 38, 22, 2, 60, 32, 23, 22, 39, 76, 38, 22, 23, 31, 31, 23, 22, 38, 76, 39, 22, 23, 1,195, 22, 33, 30, 22, 5,198, 54,252, 5, + 22,252,162, 23, 32, 30, 22, 5,198, 54,252, 5, 22, 3, 94, 23, 22, 5,252, 54,198, 5, 21, 31, 33,252,207, 23, 22, 5,252, 54, +198, 5, 21, 31, 32, 3,222, 23, 21, 31, 7,254,194, 1, 62, 7, 30, 22,253,245, 95, 67, 67, 95, 68,253, 60, 22, 21, 31, 7, 1, + 62,254,194, 7, 30, 22, 0, 0, 0, 1, 0, 34,255,233, 4,175, 4, 27, 0,108, 0, 0, 1, 50, 23, 22, 21, 20, 7, 3, 19, 54, + 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 7, 5, 37, 54, 51, 50, 23, 22, 20, 7, 6, 35, 34, 39, 37, 5, 22, 51, 22, 21, 20, 7, + 6, 35, 34, 39, 38, 39, 3, 19, 22, 21, 20, 7, 6, 34, 39, 38, 53, 52, 55, 19, 3, 6, 7, 6, 35, 34, 39, 38, 53, 52, 55, 50, + 55, 37, 5, 6, 35, 34, 39, 38, 52, 55, 54, 51, 50, 23, 5, 37, 38, 39, 38, 53, 52, 55, 54, 51, 22, 23, 22, 23, 19, 3, 38, 53, + 52, 55, 54, 2,104, 33, 35, 27, 4, 59,214, 15, 2, 39, 38, 49, 24, 22, 39, 8, 18,254,219, 1,104, 19, 9, 57, 26, 35, 35, 27, + 56, 5, 28,254,157, 1, 41, 21, 1, 39, 22, 24, 49, 33, 44, 8, 13,210, 59, 4, 27, 35, 65, 35, 27, 4, 59,210, 13, 8, 39, 38, + 49, 24, 22, 39, 1, 21, 1, 41,254,157, 28, 5, 56, 27, 35, 35, 26, 57, 9, 19, 1,104,254,219, 18, 8, 39, 22, 24, 49, 27, 50, + 2, 15,214, 59, 4, 27, 35, 4, 26, 32, 24, 52, 5, 21,254,181, 1, 16, 20, 1, 37, 22, 21, 46, 38, 33, 6, 12,194, 54, 3, 23, + 32, 61, 32, 25, 4, 54,196, 16, 37, 34, 46, 21, 22, 37, 7, 17, 1, 13,254,181, 21, 5, 51, 25, 32, 32, 25, 51, 9, 21, 1, 71, +254,243, 17, 7, 37, 22, 21, 46, 53, 18, 16,196, 54, 4, 25, 32, 61, 32, 23, 3, 54,194, 12, 6, 37, 34, 46, 21, 22, 14, 23, 1, + 20,254,240, 1, 71, 21, 9, 52, 24, 32, 0, 0, 0, 2, 0, 36,255,245, 4,173, 4, 56, 0, 11, 0, 33, 0, 0, 19, 20, 0, 32, + 0, 53, 52, 46, 1, 34, 14, 1, 1, 6, 35, 34, 0, 53, 52, 18, 36, 51, 50, 23, 54, 51, 50, 4, 18, 21, 20, 0, 35, 34, 95, 1, + 28, 1,148, 1, 28,130,233,246,233,130, 2, 9, 18, 18,224,254,192,147, 1, 6,135, 18, 18, 18, 17,138, 1, 6,146,254,192,226, + 17, 2, 22,201,254,227, 1, 29,201,128,232,126,126,232,253, 97, 1, 1, 62,226,141, 1, 7,141, 1, 1,141,254,251,143,226,254, +194, 0, 0, 0, 0, 2, 0, 69,255,193, 4,140, 4, 9, 0, 3, 0, 11, 0, 0, 37, 17, 33, 17, 23, 35, 17, 33, 21, 51, 17, 33, + 4, 14,252,112, 12, 69, 4, 2, 69,251,254, 63, 3,144,252,112, 57, 4, 2, 69,251,255, 0, 0, 0, 2, 0, 61, 0, 0, 4,148, + 4, 86, 0, 3, 0, 11, 0, 0, 37, 17, 33, 17, 37, 21, 33, 17, 51, 53, 33, 17, 4, 20,252, 99, 3,215,251,240, 69, 4, 16, 58, + 3,156,252,100, 12, 70, 4, 16, 70,251,240, 0, 0, 2, 0, 56,255,184, 4,153, 4, 25, 0, 3, 0, 9, 0, 0, 37, 17, 33, 17, + 7, 17, 33, 23, 17, 33, 4, 24,252, 91, 58, 4, 25, 70,251,252, 58, 3,164,252, 92, 59, 4, 25, 91,251,252, 0, 0, 2, 0, 48, + 0, 0, 4,161, 4,113, 0, 3, 0, 9, 0, 0, 37, 17, 33, 17, 5, 33, 17, 55, 33, 17, 4, 30,252, 78, 3,237,251,215, 93, 4, + 20, 60, 3,178,252, 78, 59, 4, 41, 71,251,237, 0, 4, 0, 43,255,250, 4,166, 4,116, 0, 3, 0, 7, 0, 11, 0, 15, 0, 0, + 19, 9, 14, 44, 1, 3, 1, 4,254,252, 1,111, 1, 4, 1, 3,254,253,253,196, 1, 4, 1, 4,254,252,254,252, 1, 4, 1, 4, +254,252, 2, 57, 1, 3,254,253,254,252, 1, 4, 1, 2,254,254,254,251, 2, 59, 1, 5,254,251,254,253,254,146, 1, 4,254,252, +254,252, 0, 0, 0, 1, 2, 27,255, 12, 2,182, 5,156, 0, 3, 0, 0, 1, 17, 35, 17, 2,182,155, 5,156,249,113, 6,143, 0, + 0, 1, 1,205,255, 10, 3, 4, 5,153, 0, 3, 0, 0, 1, 17, 33, 17, 3, 3,254,203, 5,153,249,114, 6,142, 0, 1, 1, 81, +254,203, 3,128, 5,107, 0, 3, 0, 0, 1, 17, 33, 17, 3,127,253,211, 5,107,249, 96, 6,160, 0, 1, 1,221, 3,207, 2,244, + 5,217, 0, 6, 0, 0, 1, 33, 17, 55, 51, 7, 51, 2,244,254,233,125, 98, 62,118, 3,207, 1, 23,243,243, 0, 0, 1, 1,211, + 3,196, 2,254, 5,199, 0, 6, 0, 0, 1, 33, 17, 7, 35, 55, 35, 1,212, 1, 41,133,105, 67,126, 5,198,254,238,239,239, 0, +255,255, 1, 0, 3,207, 3,209, 5,217, 16, 39, 10, 63, 0,221, 0, 0, 16, 7, 10, 63,255, 35, 0, 0, 0, 0,255,255, 0,246, + 3,196, 3,219, 5,199, 16, 39, 10, 64, 0,221, 0, 0, 16, 7, 10, 64,255, 35, 0, 0, 0, 0, 0, 2, 0,103,255, 93, 4,106, + 5,129, 0, 79, 0, 83, 0, 0, 1, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6, 35, 34, 7, 6, 7, 6, 7, 6, + 20, 23, 22, 23, 22, 23, 22, 51, 50, 55, 54, 55, 54, 55, 54, 53, 17, 35, 34, 39, 38, 53, 52, 54, 59, 1, 53, 55, 21, 33, 7, 35, + 17, 20, 7, 6, 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 37, 17, 35, 17, 1,185, 25, 21, + 22, 18, 17, 10, 8, 8, 10, 17, 18, 22, 21, 21, 23, 16, 15, 13, 14, 6, 7, 8, 8, 13, 16, 13, 19, 26, 52, 50, 59, 37, 45, 20, + 22,250,180,110, 96,212,174,250,114, 1, 21,114,163, 30, 35, 50, 54, 65, 64, 58, 86, 55, 58, 36, 41, 18, 19, 19, 21, 38, 31, 55, + 46, 1, 89,155, 1,113, 9, 10, 17, 16, 24, 22, 25, 24, 22, 24, 16, 17, 10, 9, 7, 6, 13, 13, 16, 16, 37, 17, 18, 11, 15, 5, + 7, 22, 27, 36, 46, 50, 55, 55, 1, 29,103, 91,149,154,189,163, 40,203,100,252,162, 86, 68, 81, 52, 57, 31, 30, 20, 21, 37, 42, + 44, 48, 52, 63, 40, 41, 45, 35, 23, 20,250, 1,230,254, 26, 0, 0, 2, 0,255,255,217, 3,210, 4,201, 0, 23, 0, 53, 0, 0, + 1, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 18, 50, 23, 22, 23, 22, 23, 22, + 21, 20, 7, 6, 7, 6, 7, 6, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 2,104,130, 99, 34, 36, 31, 15, 16,110, +145,106,108,142,110, 16, 15, 31, 30, 40, 76,102,101, 42, 43, 36, 36, 18, 17, 17, 18, 36, 36, 43, 42,101, 42, 43, 36, 37, 17, 17, + 17, 17, 37, 36, 43, 4,201, 33, 11, 35, 31, 39, 40, 42,100, 82,106,168,168,106, 83, 99, 42, 40, 39, 31, 29, 17, 33,252,249, 18, + 20, 34, 37, 42, 44, 50, 48, 44, 43, 37, 34, 20, 17, 17, 20, 34, 37, 43, 44, 48, 50, 44, 42, 37, 34, 20, 0, 0, 0, 2, 0,190, +255,227, 4, 19, 4,211, 0, 37, 0, 67, 0, 0, 1, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, 21, + 52, 55, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 2, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, + 7, 6, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 2,104, 99,216,110, 16, 15, 31, 30, 40, 37, 88, 37, 38, 31, 30, + 16, 16, 17, 16, 30, 31, 38, 38, 87, 37, 40, 30, 31, 15, 16,110,216,150,101, 42, 43, 36, 36, 18, 17, 17, 18, 36, 36, 43, 42,101, + 42, 43, 36, 37, 17, 17, 17, 17, 37, 36, 43, 2, 44,159,131, 68,106, 42, 40, 39, 31, 29, 17, 16, 16, 16, 30, 30, 40, 38, 44, 44, + 38, 40, 30, 30, 16, 16, 16, 17, 29, 31, 39, 40, 42,107, 67,131,255, 0, 17, 20, 34, 38, 42, 44, 49, 49, 44, 42, 37, 35, 19, 18, + 18, 19, 35, 37, 42, 44, 49, 49, 44, 42, 38, 34, 20, 0, 0, 0, 0, 1, 0, 46, 0,105, 4,163, 4, 15, 0, 37, 0, 0, 37, 38, + 37, 38, 53, 52, 55, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, 21, 52, 55, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, + 21, 20, 7, 4, 2,104,104,254,195,148, 21, 21, 42, 40, 52, 50,117, 50, 52, 41, 40, 22, 21, 22, 22, 40, 41, 52, 50,117, 50, 52, + 40, 42, 21, 21,148,254,195,105,194,197, 92,144, 61, 57, 55, 44, 42, 25, 23, 23, 24, 43, 42, 57, 54, 64, 64, 54, 57, 42, 43, 24, + 23, 23, 25, 42, 44, 55, 57, 61,146, 90,197, 0, 0, 1, 0,114,255,251, 4, 95, 5, 25, 0, 39, 0, 0, 1, 6, 3, 6, 35, 34, + 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 50, + 23, 18, 4, 95,209,211,100,156, 65, 61, 59, 48, 45, 26, 25, 25, 24, 47, 46, 61, 58, 68, 68, 58, 61, 46, 47, 24, 25, 25, 26, 45, + 48, 59, 61, 65,158, 98,211, 2,138,120,254,148,170, 24, 23, 49, 46, 61, 56, 68, 67, 57, 60, 47, 46, 26, 24, 25, 24, 47, 48, 59, + 56, 69, 66, 58, 59, 47, 48, 24, 25,170,254,146, 0, 2, 0, 65, 0, 25, 4,144, 4,137, 0, 13, 0,105, 0, 0, 1, 54, 53, 52, + 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 23, 6, 7, 54, 51, 50, 23, 22, 21, 20, 7, 6, 21, 20, 51, 50, 55, 54, 51, 50, 21, 20, + 33, 34, 39, 38, 53, 16, 51, 50, 23, 54, 55, 38, 39, 38, 35, 34, 7, 6, 21, 20, 22, 21, 20, 7, 6, 35, 34, 39, 38, 53, 52, 55, + 54, 51, 50, 31, 1, 52, 55, 54, 51, 50, 23, 22, 21, 20, 7, 22, 51, 50, 55, 54, 53, 52, 39, 38, 53, 52, 55, 54, 51, 50, 23, 22, + 21, 20, 7, 6, 35, 34, 2,198, 8, 24, 19, 44, 24, 19, 15, 35, 60, 90, 17, 37, 76, 70,101, 48, 36,251,124, 85, 94, 14, 41, 44, + 51,255, 0,166,151,161,212, 83, 66, 63, 13, 82,187, 56, 60, 68, 51, 33, 35, 22, 29, 16, 26, 20, 12, 94, 76, 95, 85, 40, 61, 33, + 35, 63, 62, 40, 41, 13, 49, 70, 61, 34, 37, 17, 34, 17, 25, 46, 52, 34, 17,116, 78, 97, 53, 3,140, 38, 36, 52, 33, 27, 15, 12, + 22, 47, 28, 46,114, 60, 64, 54, 66, 50, 76,178, 95, 48, 62, 81, 35,107, 73,127,124,133,206, 1, 34,114,122, 55, 38,139, 41, 63, + 41, 44, 30, 31, 23, 19, 16, 23, 37, 20, 61, 94, 75, 61, 30, 46, 67, 25, 26, 50, 54, 70, 64, 49, 14, 27, 29, 25, 51, 15, 29, 17, + 46, 22, 33, 57, 27, 43, 99, 77, 51, 0, 0, 0, 0, 2, 0, 49, 1, 51, 4,160, 3,198, 0, 7, 0, 78, 0, 0, 1, 6, 7, 6, + 7, 54, 55, 54, 1, 32, 53, 52, 55, 38, 39, 38, 7, 22, 7, 6, 7, 22, 51, 50, 55, 22, 21, 20, 35, 34, 39, 35, 53, 51, 54, 55, + 54, 55, 38, 39, 38, 39, 38, 53, 52, 51, 6, 21, 20, 23, 22, 23, 50, 23, 22, 23, 38, 53, 52, 55, 54, 51, 50, 19, 22, 51, 50, 53, + 52, 39, 38, 53, 52, 51, 50, 21, 20, 7, 6, 1, 53, 51, 37, 53, 22, 64, 50, 54, 1,154,254,209, 96, 39, 44, 32, 32, 2, 61, 78, + 82, 21, 54, 35, 33, 6,118, 87, 16, 29, 31, 25, 82, 62, 52, 13, 29, 28, 50, 58, 79, 9,116, 53, 4, 49, 34, 34, 46, 25, 49, 38, + 88,176, 46, 20, 82, 79, 9, 9, 65, 53,200,143, 2,189, 11, 30, 41, 84, 24, 47, 49,254,165,206, 56, 54, 44, 23, 17, 1, 70, 65, + 83, 12, 58, 35, 24, 40, 61,139, 58,116, 65, 48, 2, 15, 14, 15, 11, 14, 57, 83, 24, 28, 31, 68, 32, 20, 16, 16, 39, 65, 35, 53, + 31, 24,254,215,125, 49, 24, 15, 14, 22, 49, 66,141, 79, 57, 0, 0, 1, 0,240,255,155, 3,225, 5,130, 0, 32, 0, 0, 5, 34, + 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 51, 21, 34, 7, 14, 1, 7, 6, 21, 20, 23, 22, 23, 22, 23, 22, 51, 3, +225,151,138,131,112,109, 56, 56, 56, 52,113,108,135,138,151, 89, 84, 78,135, 33, 32, 32, 33, 67, 64, 82, 80, 93,101, 58, 54,112, +108,135,134,152,153,137,128,116,109, 57, 58, 39, 54, 50,213,126,127,149,144,127,126,106,102, 55, 55, 0, 0, 0, 0, 1, 0,240, +255,155, 3,225, 5,130, 0, 34, 0, 0, 23, 48, 53, 50, 55, 54, 55, 54, 55, 54, 53, 52, 39, 46, 1, 39, 38, 35, 48, 53, 50, 23, + 22, 23, 22, 23, 22, 21, 20, 7, 6, 7, 6, 7, 6,240, 93, 80, 82, 64, 67, 33, 32, 32, 33,135, 78, 84, 89,151,138,135,108,113, + 52, 56, 56, 56,109,112,131,138,101, 39, 54, 55,102,106,126,127,144,149,127,126,213, 50, 55, 38, 58, 57,109,116,127,138,153,152, +133,136,108,111, 55, 58, 0, 0, 0, 1, 1,102,255,135, 3,107, 5, 82, 0, 12, 0, 0, 1, 6, 2, 16, 18, 23, 33, 38, 2, 53, + 52, 18, 55, 3,106,108,106,106,108,254,239,121,121,120,122, 5, 81,187,254,147,254,137,254,143,186,191, 1,113,182,181, 1,112, +191, 0, 0, 0, 0, 1, 1,110,255,135, 3, 99, 5, 36, 0, 15, 0, 0, 1, 48, 33, 22, 18, 21, 20, 7, 6, 7, 33, 54, 55, 54, + 16, 2, 1,110, 1, 9,119,117, 59, 59,118,254,247,105, 52, 51,102, 5, 36,186,254,156,176,176,179,179,185,181,178,178, 1,108, + 1, 99, 0, 0, 0, 1, 1, 67,255,125, 3,142, 5, 85, 0, 5, 0, 0, 5, 35, 9, 1, 51, 1, 3,141,213,254,140, 1,116,213, +254,138,130, 2,235, 2,236,253, 20, 0, 0, 0, 0, 1, 1, 68,255,125, 3,141, 5, 85, 0, 5, 0, 0, 5, 9, 1, 51, 9, 1, + 1, 68, 1,117,254,140,212, 1,116,254,140,130, 2,235, 2,236,253, 20,253, 21, 0, 1, 0,210,255, 86, 3,255, 5, 46, 0, 5, + 0, 0, 5, 33, 9, 1, 33, 1, 3,254,254,182,254, 31, 1,225, 1, 74,254, 22,169, 2,235, 2,236,253, 20, 0, 0, 1, 0,210, +255, 86, 3,255, 5, 46, 0, 5, 0, 0, 23, 9, 1, 33, 9, 1,211, 1,234,254, 22, 1, 74, 1,225,254, 31,169, 2,235, 2,236, +253, 20,253, 21, 0, 1, 0,205,255, 65, 4, 4, 5,209, 0, 5, 0, 0, 5, 33, 9, 1, 33, 1, 4, 3,254,109,254, 94, 1,162, + 1,147,254, 92,190, 3, 71, 3, 72,252,184, 0, 0, 1, 0,206,255, 66, 4, 3, 5,210, 0, 5, 0, 0, 23, 9, 1, 33, 9, 1, +206, 1,163,254, 94, 1,146, 1,162,254, 94,190, 3, 72, 3, 72,252,184,252,184, 0, 1, 1,201,254,229, 3, 8, 5,118, 0, 7, + 0, 0, 33, 23, 7, 39, 17, 55, 23, 7, 2, 68,196, 87,232,232, 87,196,195, 87,231, 4,194,231, 87,195, 0, 0, 0, 1, 1,201, +254,235, 3, 8, 5,124, 0, 7, 0, 0, 1, 39, 55, 23, 17, 7, 39, 55, 2,141,196, 87,232,232, 87,196, 4, 98,195, 87,231,251, + 62,231, 87,195, 0, 1, 1, 25,254,184, 3,184, 5, 94, 0, 36, 0, 0, 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, 3,184,151,178,120, 77,101, 44, 44, +102, 76,120,178,151, 49,100, 61, 65, 79, 79, 65, 61,100,198,130,133,199,215,136,105,128,104,134,216,199,132,129, 79,127,223,141, +128, 23, 24,128,140,223,127, 79, 0, 1, 0,249,254,176, 3,216, 5,105, 0, 40, 0, 0, 23, 51, 50, 54, 61, 1, 52, 54, 55, 38, + 39, 38, 61, 1, 52, 38, 43, 1, 53, 51, 50, 23, 22, 29, 1, 20, 23, 22, 59, 1, 21, 35, 34, 6, 29, 1, 20, 7, 6, 43, 1,250, + 53,110, 67, 70, 86, 85, 36, 35, 67,110, 53,165,194, 66, 66, 42, 41,112, 47, 47,111, 84, 66, 66,194,165,204, 80,128,226,142,129, + 25, 22, 65, 65,143,225,129, 80,130, 68, 66,201,219,135, 52, 53,130,105,138,217,201, 68, 67, 0, 0, 1, 0, 83, 1, 47, 4,126, + 3,229, 0, 8, 0, 0, 9, 1, 35, 1, 33, 53, 33, 1, 51, 4,125,254,165,227, 1, 6,253, 15, 2,241,254,250,227, 2,138,254, +165, 1, 6,170, 1, 6, 0, 0, 0, 1, 0,116, 0,146, 4, 93, 4,125, 0, 6, 0, 0, 9, 1, 55, 1, 27, 1, 37, 3, 16,253, +100,148, 2, 94,186, 61,253,164, 1,138, 2, 93,149,253,100, 1, 14,253,164, 62, 0, 1, 0, 83, 1,162, 4,126, 4, 18, 0, 6, + 0, 0, 1, 5, 53, 5, 3, 9, 1, 3, 47,253, 37, 2,219, 48, 1,126,254,130, 2,168, 35,170, 35, 1, 5,254,201,254,201, 0, + 0, 1, 0,116, 0,193, 4, 93, 4,171, 0, 6, 0, 0, 9, 1, 39, 1, 45, 1, 3, 3,102,253,162,148, 2,156,254,241, 2, 92, + 61, 3, 93,253,100,149, 2, 93,186, 62,253,164, 0, 1, 0, 45, 1,161, 4,164, 3,225, 0, 8, 0, 0, 19, 33, 39, 4, 5, 4, + 5, 55, 33, 46, 2, 20,128, 1, 9, 1,216,254, 40,254,247,128,253,236, 2,239,242,192, 96, 96,192,242, 0, 0, 0, 1, 0, 73, + 1, 41, 4,136, 4, 61, 0, 50, 0, 0, 0, 20, 7, 6, 7, 1, 6, 7, 6, 34, 38, 39, 38, 39, 38, 53, 52, 55, 54, 63, 1, 33, + 34, 46, 1, 39, 38, 52, 55, 62, 2, 51, 33, 39, 38, 39, 38, 53, 52, 55, 54, 55, 62, 1, 50, 23, 22, 23, 1, 22, 4,136, 7, 9, + 12,254,212, 12, 18, 17, 39, 33, 13, 14, 7, 7, 7, 8, 13,139,253, 96, 19, 33, 27, 8, 6, 6, 8, 27, 33, 19, 2,160,139, 13, + 8, 7, 7, 7, 14, 13, 33, 39, 17, 18, 12, 1, 44, 14, 2,198, 38, 16, 18, 13,254,212, 12, 8, 7, 14, 13, 15, 16, 16, 19, 20, + 16, 18, 13,140, 14, 26, 18, 16, 38, 16, 18, 26, 15,139, 13, 18, 17, 19, 19, 16, 17, 14, 13, 15, 7, 9, 12,254,212, 14, 0, 0, + 0, 1, 0, 83, 1,182, 4,126, 4, 38, 0, 6, 0, 0, 1, 33, 53, 33, 17, 9, 1, 3, 70,253, 14, 2,242, 1, 55,254,201, 2, +210, 56, 1, 27,254,201,254,201, 0, 1, 0, 45, 1,120, 4,164, 4, 20, 0, 6, 0, 0, 1, 33, 53, 33, 53, 9, 1, 3, 86,252, +216, 3, 40, 1, 77,254,179, 2,114,168,250,254,178,254,178, 0, 0, 4, 0, 54, 1,117, 4,155, 4, 6, 0, 3, 0, 7, 0, 11, + 0, 18, 0, 0, 1, 35, 17, 51, 3, 35, 17, 51, 3, 35, 17, 51, 1, 33, 17, 33, 53, 9, 1, 1,233,180,180,240, 90, 90,150, 45, + 45, 2,239,254,211, 1, 45, 1, 73,254,183, 2, 40, 1, 44,254,212, 1, 44,254,212, 1, 44,254,212, 1, 44,178,254,184,254,183, + 0, 4, 0, 83, 1,156, 4,126, 4, 11, 0, 8, 0, 12, 0, 16, 0, 20, 0, 0, 1, 53, 22, 23, 6, 7, 53, 33, 17, 3, 35, 17, + 51, 3, 35, 17, 51, 3, 35, 17, 51, 3, 70,131,180,180,131,254,227, 57,171,171,228, 85, 85,142, 42, 42, 3,169, 98,218, 93, 94, +218, 98, 1,171,254, 85, 1,171,254, 85, 1,171,254, 85, 1,171, 0, 1, 0, 83, 1,132, 4,126, 3,244, 0, 6, 0, 0, 1, 33, + 17, 33, 53, 9, 1, 3, 70,253, 14, 2,242, 1, 55,254,201, 2, 46, 1, 28,169,254,201,254,201, 0, 2, 0, 96, 1,116, 4,113, + 4, 24, 0, 2, 0, 6, 0, 0, 1, 33, 37, 23, 9, 2, 2, 12, 1,168,253,141,113,254,174, 4, 17,251,239, 2,198,203,203, 1, + 82,254,174,254,174, 0, 0, 0, 0, 2, 0,123, 1,164, 4, 86, 4, 36, 0, 2, 0, 6, 0, 0, 1, 7, 37, 33, 9, 2, 2, 16, +192, 2, 83,254, 24,254,192, 3,219,252, 37, 2,228,193,193, 1, 64,254,192,254,192, 0, 0, 0, 0, 1, 0,123, 1, 31, 4, 86, + 4,189, 0, 3, 0, 0, 1, 3, 9, 1, 1,116,249, 3,219,252, 37, 2,238, 1,206,254, 50,254, 50, 0, 0, 0, 0, 1, 0, 54, + 1,140, 4,155, 4, 61, 0, 22, 0, 0, 19, 17, 20, 23, 22, 23, 22, 23, 22, 51, 33, 53, 9, 1, 53, 33, 34, 39, 38, 39, 38, 39, + 38, 54, 14, 13, 27, 26, 32, 32, 36, 2,104, 1, 73,254,183,253,152, 36, 32, 32, 26, 27, 13, 14, 2,213, 1,104, 36, 32, 32, 27, + 25, 15, 13,149,254,183,254,183,149, 13, 15, 25, 27, 32, 32, 0, 0, 1, 0, 54, 1,139, 4,155, 4, 60, 0, 22, 0, 0, 19, 52, + 55, 54, 55, 54, 55, 54, 51, 33, 53, 9, 1, 53, 33, 34, 7, 6, 7, 6, 7, 6, 21, 54, 14, 13, 27, 26, 32, 32, 36, 2,104, 1, + 73,254,183,253,152, 36, 32, 32, 26, 27, 13, 14, 2,243, 36, 32, 32, 27, 25, 15, 13,149,254,183,254,183,149, 13, 15, 25, 27, 32, + 32, 36, 0, 0, 0, 1, 1, 79, 1, 6, 3,130, 4,224, 0, 6, 0, 0, 1, 33, 17, 33, 17, 9, 1, 2,101,254,235, 1, 21, 1, + 28,254,228, 2, 18, 1,194, 1, 12,254, 19,254, 19, 0, 0, 0, 0, 1, 0, 54, 1,110, 4,155, 4, 0, 0, 8, 0, 0, 1, 53, + 22, 5, 4, 7, 53, 33, 17, 2,226,108, 1, 77,254,179,108,253, 84, 3,137,119,230, 99, 99,230,119, 1,164, 0, 0, 2, 0,101, + 1,107, 4,108, 4, 33, 0, 8, 0, 15, 0, 0, 1, 53, 33, 17, 33, 53, 51, 9, 1, 39, 21, 9, 1, 21, 33, 21, 2, 95,254, 6, + 1,250,178, 1, 91,254,165,121, 1, 34,254,222,254, 6, 1,107,169, 1,100,169,254,165,254,165,226,169, 1, 34, 1, 34,169,242, + 0, 2, 0,101, 1, 47, 4,108, 3,229, 0, 8, 0, 15, 0, 0, 1, 53, 33, 17, 33, 53, 51, 9, 1, 39, 21, 9, 1, 21, 33, 21, + 2, 95,254, 6, 1,250,178, 1, 91,254,165, 15, 1, 34,254,222,254, 7, 1, 47,169, 1,100,169,254,165,254,165,226,169, 1, 34, + 1, 34,169,242, 0, 2, 0, 53, 0,183, 4,156, 3,252, 0, 11, 0, 18, 0, 0, 27, 1, 33, 55, 51, 19, 21, 1, 35, 53, 55, 33, + 37, 7, 1, 3, 7, 33, 7, 54,205, 2, 85, 99, 71,153,253,249,106, 15,253,253, 2,182, 98, 1,202,122, 98,253,170,140, 1,239, + 1,100,169,254,147,143,254,184,142, 27,199,169, 1, 34, 1, 34,169,242, 0, 0, 0, 2, 0, 97, 0,214, 4,112, 3,171, 0, 11, + 0, 18, 0, 0, 19, 53, 33, 39, 53, 51, 1, 21, 3, 35, 39, 33, 1, 33, 23, 33, 23, 55, 37, 97, 1,220, 15, 99, 1,223,142, 65, + 91,253,216, 1,196,253,216,129, 2, 40, 90,113,254, 90, 2,157,123, 23,123,254,228,123,254,196,146, 1, 3,210,146,251,251, 0, + 0, 2, 0,125, 0,219, 4, 84, 4, 77, 0, 10, 0, 17, 0, 0, 37, 39, 33, 39, 17, 33, 53, 51, 1, 23, 1, 3, 21, 9, 1, 21, + 33, 17, 2,147, 59,254,113, 75, 1,202, 82, 1,110, 75,254,146, 97, 1, 50,254,206,254, 54,219,119,150, 1,238,119,254,146,150, +254,146, 1, 73,119, 1, 50, 1, 50,119,254,138, 0, 2, 0, 84, 0,130, 4,125, 4, 62, 0, 10, 0, 17, 0, 0, 1, 51, 1, 7, + 1, 35, 53, 33, 17, 55, 33, 23, 33, 17, 33, 21, 9, 1, 2,150, 90, 1,140, 81,254,116, 90,254, 16, 81, 1,176, 48,254, 16, 1, +240, 1, 76,254,180, 4, 62,254,115,162,254,115,129, 2, 24,163,228,254,106,129, 1, 76, 1, 75, 0, 2, 0, 50, 1, 78, 4,159, + 4,117, 0, 12, 0, 20, 0, 0, 19, 39, 33, 53, 51, 1, 23, 1, 35, 39, 53, 33, 39, 55, 7, 33, 21, 9, 1, 21, 33,163,112, 2, +133, 83, 1,110, 37,254,146, 82, 38,253,160, 37,181, 85, 2, 97, 1, 50,254,206,253,159, 3, 7,247,119,254,146, 75,254,146, 74, + 44, 76,247,187,119, 1, 50, 1, 50,119, 0, 0, 0, 2, 0, 41, 0,253, 4,168, 4, 49, 0, 12, 0, 20, 0, 0, 19, 39, 55, 33, + 53, 55, 51, 1, 7, 1, 35, 53, 33, 55, 7, 33, 21, 9, 1, 21, 33,156,114, 38, 2,106, 38, 83, 1,116, 38,254,140, 83,253,112, +184, 87, 2,108, 1, 54,254,202,253,148, 2,113,251, 77, 44, 76,254,140, 76,254,140,121,251,190,121, 1, 55, 1, 55,121, 0, 0, + 0, 1, 0,145, 0,189, 4, 64, 4,172, 0, 33, 0, 0, 19, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 21, 20, 7, 6, + 7, 6, 7, 6, 35, 34, 39, 38, 39, 38, 39, 33, 21, 9, 1, 21,145, 32, 54, 73, 89, 90,103, 98, 94, 85, 77, 73, 37, 38, 38, 34, + 76, 70, 92, 90,102, 99, 94, 85, 77, 51, 33, 1,231, 1,116,254,140, 3,167, 58, 54, 73, 38, 38, 38, 35, 76, 72, 90, 90,104, 99, + 92, 85, 77, 72, 39, 38, 38, 35, 76, 50, 60,129, 1,116, 1,116,128, 0, 0, 0, 0, 9, 0, 88, 1, 78, 4,121, 3, 22, 0, 3, + 0, 7, 0, 11, 0, 15, 0, 30, 0, 34, 0, 38, 0, 42, 0, 46, 0, 0, 1, 7, 51, 55, 35, 7, 51, 55, 35, 7, 51, 55, 35, 7, + 51, 55, 35, 53, 39, 33, 23, 33, 53, 22, 23, 6, 7, 53, 33, 7, 33, 1, 51, 39, 35, 23, 51, 39, 35, 23, 51, 39, 35, 23, 51, 39, + 35, 2, 8,114, 43,113,127,114, 42,114,128,114, 43,114,128,114, 43,114, 86,133, 1,128,133, 1, 22,123,139,139,123,254,234,133, +254,128, 1,176, 42,113, 43, 29, 42,114, 42, 28, 43,114, 43, 29, 43,114, 43, 2, 21,171,171,171,171,171,171,171,171, 57,199,199, +198,134, 92, 93,134,198,199, 1, 0,171,171,171,171,171,171,171, 0, 3, 0,116, 0,185, 4, 93, 4,162, 0, 12, 0, 16, 0, 20, + 0, 0, 1, 55, 6, 21, 20, 23, 38, 35, 34, 7, 55, 39, 55, 9, 1, 35, 1, 37, 53, 1, 21, 3,178,142, 6, 35,116,133, 54, 57, +143,207, 46,254,119, 1, 90,230,254,166, 1, 21, 1, 89, 1,147,143, 57, 54,133,116, 34, 6,143,207, 46, 1, 42,254,168, 1, 88, + 47,230,254,167,229, 0, 0, 0, 0, 3, 0, 83, 1,209, 4,126, 3,107, 0, 8, 0, 12, 0, 16, 0, 0, 1, 53, 22, 23, 6, 7, + 53, 33, 53, 5, 33, 7, 33, 55, 39, 33, 23, 3,141,110,130,130,110,255, 0,254, 85, 1,170,142,254, 86,142,142, 1,170,142, 2, +186,177,134, 71, 71,134,177, 56, 58,142,200,143,143, 0, 0, 0, 0, 3, 0,117, 0,129, 4, 92, 4,106, 0, 12, 0, 16, 0, 20, + 0, 0, 1, 39, 22, 51, 50, 55, 6, 21, 20, 23, 39, 7, 39, 9, 1, 21, 1, 3, 35, 1, 51, 3,131,142, 57, 53,133,116, 34, 5, +142,207, 46,254,214, 1, 89,254,167, 47,230, 1, 89,230, 3,191,143, 6, 34,117,132, 54, 57,143,207, 46,254,120, 1, 88,230,254, +168, 1, 21, 1, 88, 0, 0, 0, 0, 1, 0, 78, 0,185, 4,131, 4,238, 0, 50, 0, 0, 37, 38, 35, 34, 7, 54, 55, 54, 55, 1, + 38, 39, 38, 34, 7, 6, 7, 1, 54, 55, 54, 51, 50, 23, 22, 23, 38, 39, 38, 53, 52, 55, 54, 55, 1, 6, 7, 6, 21, 20, 23, 22, + 23, 1, 54, 55, 54, 55, 6, 21, 20, 4,130,125,144, 58, 60, 63, 77, 35, 21,254,246, 25, 31, 33, 68, 34, 32, 24,254,141, 31, 36, + 40, 42, 38, 42, 38, 29, 29, 15, 17, 17, 15, 29, 1,115, 28, 9, 12, 12, 13, 24, 1, 10, 3, 14, 32, 63, 6,186, 36, 6, 62, 34, + 14, 2, 1, 9, 26, 12, 13, 13, 13, 25, 1,115, 32, 14, 16, 16, 15, 31, 31, 37, 42, 38, 42, 40, 38, 30,254,140, 29, 27, 34, 33, + 35, 33, 30, 26,254,247, 20, 34, 79, 62, 62, 59,142, 0, 0, 0, 0, 1, 0, 42, 1,137, 4,167, 3, 69, 0, 47, 0, 0, 1, 6, + 7, 52, 55, 54, 55, 33, 34, 7, 6, 7, 6, 7, 6, 21, 33, 52, 55, 54, 55, 54, 55, 54, 51, 34, 39, 38, 39, 38, 39, 38, 53, 33, + 20, 23, 22, 23, 22, 23, 22, 51, 33, 38, 39, 38, 53, 22, 4,166,140,118, 28, 12, 11,254,184, 31, 27, 28, 22, 21, 12, 12,254, 53, + 13, 15, 26, 24, 36, 32, 37, 37, 32, 36, 24, 26, 15, 13, 1,203, 12, 12, 21, 22, 28, 27, 31, 1, 72, 11, 12, 28,118, 2,103, 77, +144, 77, 69, 30, 14, 11, 12, 22, 20, 30, 27, 31, 37, 33, 35, 25, 24, 16, 14, 14, 16, 24, 26, 34, 33, 37, 31, 27, 30, 20, 22, 12, + 11, 14, 30, 69, 77,144, 0, 0, 0, 1, 0,117, 0,175, 4, 92, 4,151, 0, 50, 0, 0, 1, 6, 21, 20, 23, 38, 39, 38, 39, 7, + 6, 7, 6, 21, 20, 23, 22, 23, 1, 38, 39, 38, 53, 52, 55, 54, 55, 6, 7, 6, 35, 34, 39, 38, 39, 1, 22, 23, 22, 50, 55, 54, + 63, 1, 38, 39, 38, 39, 22, 51, 50, 4, 92, 34, 6, 58, 30, 13, 4,246, 25, 10, 11, 11, 12, 23,254,168, 28, 14, 15, 15, 14, 28, + 28, 35, 39, 36, 39, 36, 35, 28, 1, 89, 22, 30, 31, 64, 31, 28, 24,246, 20, 31, 73, 58, 56, 54,134, 4,151,115,133, 54, 58, 58, + 73, 32, 18,246, 27, 25, 31, 31, 31, 32, 29, 23,254,167, 27, 35, 38, 39, 35, 39, 34, 29, 29, 13, 15, 15, 14, 28, 1, 88, 22, 13, + 12, 12, 12, 23,247, 2, 13, 31, 58, 6, 0, 0, 0, 3, 0, 53, 1, 42, 4,156, 3,236, 0, 22, 0, 43, 0, 66, 0, 0, 1, 54, + 55, 6, 7, 6, 7, 6, 7, 6, 34, 39, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 36, 52, 55, 54, 55, 54, 55, 54, 50, 23, 4, + 5, 4, 7, 6, 34, 39, 38, 39, 38, 39, 37, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 55, 54, 50, 23, 22, 23, 22, 23, 22, 23, + 36, 3, 3,184,224,170, 91, 9, 16, 17, 20, 19, 47, 19, 21, 16, 16, 9, 8, 8, 9, 16, 16,253, 72, 11, 13, 20, 22, 27, 26, 61, + 27, 1, 8, 2,141,253, 97,246, 27, 61, 26, 31, 18, 22, 11, 2,194, 21, 16, 16, 9, 8, 8, 9, 16, 16, 21, 19, 47, 19, 20, 17, + 13, 12, 90,171,254,239, 2, 4, 73, 61, 88,194, 22, 15, 15, 10, 8, 8, 10, 15, 15, 22, 20, 24, 22, 20, 22, 15, 16,113, 62, 26, + 30, 19, 21, 12, 12, 11,100, 40, 42, 99, 10, 11, 14, 19, 24, 25,193, 9, 15, 16, 21, 21, 22, 23, 21, 21, 15, 16, 9, 8, 8, 9, + 16, 12, 24,194, 88, 74, 0, 0, 0, 2, 0, 29, 1,110, 4,180, 3,176, 0, 26, 0, 46, 0, 0, 19, 54, 55, 54, 55, 54, 55, 54, + 51, 50, 23, 22, 23, 22, 5, 4, 7, 14, 1, 35, 34, 39, 38, 39, 38, 39, 38, 37, 38, 39, 38, 53, 52, 55, 54, 55, 22, 23, 6, 7, + 38, 39, 38, 53, 52, 55, 54, 29, 53, 24, 26, 16, 32, 32, 35, 38, 43, 42, 49, 41,132, 1, 70,254,186,132, 45, 89, 41, 41, 32, 46, + 18, 23, 19, 23, 3, 69, 30, 15, 16, 16, 15, 30, 79,205,205, 79, 30, 15, 16, 16, 15, 2,143, 31, 47, 51, 16, 29, 15, 15, 15, 18, + 26, 83, 62, 62, 83, 28, 31, 15, 24, 20, 29, 38, 47, 31, 32, 35, 36, 41, 41, 37, 35, 31,195, 93, 93,195, 31, 35, 37, 41, 41, 36, + 35, 0, 0, 0, 0, 1, 0, 38, 1,190, 4,171, 3,166, 0,101, 0, 0, 0, 20, 6, 15, 1, 6, 7, 6, 34, 39, 38, 39, 46, 1, + 53, 52, 63, 1, 54, 53, 52, 39, 38, 39, 38, 39, 38, 43, 1, 34, 7, 6, 7, 6, 15, 1, 6, 7, 6, 7, 6, 35, 33, 34, 46, 2, + 52, 63, 1, 54, 52, 47, 1, 38, 52, 54, 55, 54, 55, 54, 51, 33, 50, 23, 22, 23, 22, 31, 1, 22, 23, 22, 23, 22, 59, 1, 50, 55, + 54, 55, 54, 55, 54, 53, 52, 47, 1, 38, 53, 52, 54, 55, 54, 55, 54, 50, 23, 22, 31, 1, 22, 4,171, 5, 5,195, 3, 7, 6, 13, + 6, 5, 5, 5, 5, 2, 22, 3, 3, 2, 5, 4, 6, 7, 6,229, 6, 6, 6, 5, 4, 3, 73, 4, 3, 4, 7, 5, 6,254, 14, 6, + 11, 10, 5, 2, 93, 3, 3, 93, 2, 5, 5, 5, 5, 6, 6, 1,242, 6, 5, 7, 4, 3, 4, 73, 3, 4, 5, 6, 6, 6,229, 6, + 7, 6, 4, 5, 2, 3, 3, 22, 2, 5, 5, 5, 5, 6, 13, 6, 7, 3,195, 5, 2,185, 14, 12, 5,195, 3, 4, 2, 2, 3, 4, + 5, 12, 7, 3, 9, 81, 9, 4, 5, 6, 6, 5, 4, 3, 3, 2, 4, 4, 4, 6,146, 9, 2, 4, 3, 3, 5, 10, 11, 15, 5,185, + 5, 16, 5,185, 5, 15, 11, 5, 4, 3, 3, 3, 2, 5, 2, 9,146, 6, 4, 4, 4, 2, 3, 3, 4, 5, 6, 6, 5, 4, 9, 81, + 9, 3, 7, 12, 5, 4, 3, 2, 2, 4, 3,195, 5, 0, 0, 0, 0, 1, 0, 37, 1,101, 4,171, 3,241, 0,103, 0, 0, 0, 20, + 7, 6, 7, 1, 6, 7, 6, 34, 39, 38, 39, 46, 1, 53, 52, 63, 1, 54, 53, 52, 39, 38, 39, 38, 39, 38, 43, 1, 34, 7, 6, 7, + 6, 15, 1, 6, 7, 6, 7, 6, 35, 33, 34, 46, 2, 52, 63, 1, 54, 52, 47, 1, 38, 52, 54, 55, 54, 55, 54, 51, 33, 50, 23, 22, + 23, 22, 31, 1, 22, 23, 22, 23, 22, 59, 1, 50, 55, 54, 55, 54, 55, 54, 53, 52, 47, 1, 38, 53, 52, 54, 55, 54, 55, 54, 50, 23, + 22, 23, 1, 22, 23, 4,171, 2, 3, 5,254,187, 4, 6, 6, 13, 6, 5, 5, 5, 5, 2, 71, 3, 3, 2, 5, 4, 7, 6, 6, 75, + 6, 6, 6, 4, 5, 3, 97, 4, 3, 5, 6, 5, 7,253,231, 7, 11, 10, 5, 3,117, 2, 2,126, 2, 5, 5, 5, 5, 6, 6, 2, + 26, 7, 5, 7, 4, 3, 4,105, 3, 5, 4, 6, 6, 6, 75, 6, 6, 7, 4, 5, 2, 3, 3, 71, 2, 5, 5, 5, 5, 6, 13, 6, + 6, 4, 1, 69, 5, 3, 2,178, 14, 6, 6, 5,254,220, 4, 3, 3, 3, 3, 4, 5, 11, 7, 6, 7,178, 6, 7, 5, 6, 7, 4, + 4, 3, 3, 2, 4, 4, 4, 6,195, 8, 3, 4, 3, 3, 5, 10, 11, 15, 5,234, 5, 16, 5,250, 5, 15, 11, 5, 4, 3, 3, 3, + 2, 5, 2, 9,211, 6, 4, 4, 4, 2, 3, 3, 4, 4, 7, 6, 5, 7, 6,178, 7, 6, 7, 11, 5, 4, 3, 3, 3, 3, 4,254, +220, 5, 6, 0, 0, 3, 0, 50, 1, 12, 4,159, 3,178, 0, 19, 0, 31, 0, 43, 0, 0, 1, 6, 7, 6, 7, 35, 55, 54, 55, 54, + 55, 38, 39, 38, 47, 1, 51, 22, 23, 22, 1, 35, 54, 55, 54, 55, 33, 53, 33, 6, 7, 6, 3, 22, 23, 22, 23, 33, 53, 33, 38, 39, + 38, 39, 4,159,103, 63,106, 55, 82, 8, 61,121, 29, 54, 54, 29,121, 61, 8, 82, 54,107, 63,254, 86, 79, 14, 18, 23, 32,253,156, + 2,241, 83, 43, 13, 10, 10, 13, 43, 83,253, 15, 2,100, 32, 23, 18, 14, 2, 95, 56, 61,101,121, 17,139,117, 27, 39, 38, 28,117, +138, 17,116,106, 60,254,117, 44, 42, 52, 52, 71,101,101, 29, 2,135, 29, 29,101,101, 71, 51, 53, 42, 43, 0, 0, 0, 3, 0,117, +254, 35, 4, 92, 6,117, 0, 3, 0, 6, 0, 9, 0, 0, 9, 5, 33, 9, 1, 33, 2,104, 1,244,254, 12,254, 13, 1,243,254,152, + 2,209,254,151, 1,105,253, 47, 6,117,251,219,251,211, 4, 45, 3, 49,253, 8,252,142, 3, 0, 0, 1, 1,134,254,242, 3, 75, + 6, 18, 0, 5, 0, 0, 9, 1, 51, 9, 1, 35, 1,135, 1, 25,170,254,231, 1, 25,170, 2,130, 3,144,252,112,252,112, 0, 0, + 0, 1, 1,134,254,242, 3, 75, 6, 18, 0, 5, 0, 0, 9, 1, 35, 9, 1, 51, 3, 74,254,231,170, 1, 25,254,231,170, 2,130, +252,112, 3,144, 3,144, 0, 0, 0, 1, 0,117,254, 35, 4, 92, 6,117, 0, 3, 0, 0, 9, 3, 2,104, 1,244,254, 12,254, 13, + 6,117,251,219,251,211, 4, 45, 0, 1, 0, 88, 0,113, 4,121, 4,147, 0, 19, 0, 0, 1, 17, 51, 17, 51, 21, 35, 17, 35, 17, + 35, 17, 35, 17, 35, 53, 51, 17, 51, 17, 2,220,168,245,245,168,232,168,244,244,168, 2,215, 1,188,254, 68,170,254, 68, 1,188, +254, 68, 1,188,170, 1,188,254, 68, 0, 0, 0, 0, 1, 0, 88, 0,113, 4,121, 4,147, 0, 27, 0, 0, 19, 17, 51, 17, 51, 17, + 51, 17, 51, 17, 51, 17, 51, 21, 35, 17, 35, 17, 35, 17, 35, 17, 35, 17, 35, 17, 35, 53,202,168,162,168,162,168,115,115,168,162, +168,162,168,114, 2,215, 1,188,254, 68, 1,188,254, 68, 1,188,254, 68,170,254, 68, 1,188,254, 68, 1,188,254, 68, 1,188,170, +255,255, 0,150, 0,174, 4, 59, 4, 84, 16, 6, 0,153, 0, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 0, + 55, 33, 17, 33, 3, 17, 33, 17,120, 3,225,252, 31,114, 4,197, 36, 1,240,253,158, 4,196,251, 60, 0, 0, 0, 0, 2, 0, 6, +255,177, 4,203, 4,119, 0, 3, 0, 7, 0, 0, 19, 33, 17, 33, 3, 17, 33, 17,120, 3,225,252, 31,114, 4,197, 2, 20, 1,240, +251,174, 4,196,251, 60, 0, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 6, 0, 0, 55, 33, 1, 3, 17, 33, 17,120, + 3,225,252, 31,114, 4,197, 36, 3,224,251,174, 4,196,251, 60, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 6, 0, 0, + 37, 17, 33, 3, 17, 33, 17, 4, 89,252, 31,114, 4,197, 36, 3,224,251,174, 4,196,251, 60, 0, 0, 2, 0, 6,255,177, 4,203, + 4,119, 0, 2, 0, 6, 0, 0, 37, 9, 5, 2,104, 1,203,254, 53,253,158, 2, 98, 2, 99,253,157, 74, 1,202, 1,202,254, 54, + 2, 98,253,158,253,158, 0, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 6, 0, 0, 19, 1, 17, 9, 3,158, 1,202, +253,158, 2, 98, 2, 99,253,157, 2, 20,254, 54, 3,148,254, 54, 2, 98,253,158,253,158, 0, 0, 0, 2, 0, 6,255,177, 4,203, + 4,119, 0, 2, 0, 6, 0, 0, 19, 9, 1, 33, 9, 2,158, 1,202, 1,203,251,211, 2, 98, 2, 99,253,157, 2, 20,254, 54, 1, +202, 2, 98,253,158,253,158, 0, 0, 2, 0, 6,255,177, 4,203, 4,119, 0, 2, 0, 6, 0, 0, 19, 33, 9, 4,158, 3,149,254, + 53,253,158, 2, 98, 2, 99,253,157, 2, 20, 1,202,254, 54, 2, 98,253,158,253,158, 0, 0, 0, 0, 12, 0, 6,255,177, 4,203, + 4,119, 0, 5, 0, 9, 0, 13, 0, 17, 0, 21, 0, 27, 0, 31, 0, 35, 0, 41, 0, 45, 0, 49, 0, 55, 0, 0, 37, 21, 35, 53, + 51, 53, 19, 21, 35, 53, 19, 21, 35, 53, 3, 21, 35, 53, 35, 21, 35, 53, 39, 21, 51, 21, 35, 53, 19, 21, 35, 53, 19, 21, 35, 53, + 1, 21, 35, 53, 35, 53, 35, 21, 35, 53, 35, 21, 35, 53, 35, 21, 35, 21, 35, 53, 4,203,205, 90,115,115,115,115,244,174,154,180, +240, 86,200,114,114,114,114, 4,197,115, 90,154,174,154,180,154, 86,114,126,204,114, 90, 1, 72,174,174, 1, 78,179,179,253, 16, +114,114,114,114, 90, 90,114,204, 1, 72,174,174, 1, 78,179,179, 1, 98,200, 86,114,114,114,114,114,114, 86,200, 0, 1, 0,137, + 0, 0, 4, 72, 5,213, 0, 7, 0, 0, 19, 51, 17, 33, 21, 33, 17, 35,137,203, 2,244,253, 12,203, 5,213,253,156,170,253, 57, + 0, 1, 0,195, 0, 0, 4, 26, 4, 96, 0, 7, 0, 0, 1, 17, 35, 17, 51, 17, 33, 21, 1,123,184,184, 2,159, 2, 3,253,253, + 4, 96,254, 57,150, 0, 0, 0, 0, 2, 0, 76,255,231, 4,133, 4,104, 0, 10, 0, 39, 0, 0, 1, 34, 21, 17, 50, 55, 54, 53, + 52, 39, 38, 39, 50, 23, 22, 17, 16, 7, 6, 35, 7, 34, 39, 38, 17, 16, 55, 54, 55, 21, 6, 7, 6, 21, 20, 23, 22, 51, 17, 16, + 3, 5, 65, 92, 86, 77, 77, 71, 42,138,119,127,127,129,193,183,199,124,126,126,104,154, 65, 49, 76, 76, 78,101, 3,203,145,253, + 82,104, 93,223,221, 99, 91,157,132,141,254,217,254,230,150,152, 1,153,155, 1, 20, 1, 44,132,109, 28,163, 26, 75,115,190,216, +101,103, 2,175, 1, 46, 0, 0, 0, 3, 0,193,255,229, 3,221, 5,213, 0, 23, 0, 27, 0, 37, 0, 0, 1, 51, 17, 54, 55, 54, + 55, 21, 6, 7, 6, 35, 34, 39, 38, 53, 52, 55, 54, 63, 1, 62, 1, 53, 19, 21, 35, 53, 19, 17, 7, 6, 7, 6, 21, 20, 23, 22, + 2, 37,190, 31, 32, 89, 98, 94, 96, 95,104,186,111,110, 34, 33, 94, 88, 69, 38,197,203, 6, 45, 62, 23, 24, 66, 37, 4, 68,252, + 83, 8, 12, 35, 68,188, 57, 28, 28, 96, 96,161, 76, 65, 66, 92, 86, 66, 84, 61, 2, 59,254,254,250,190, 1,174, 45, 59, 44, 44, + 49, 89, 55, 31,255,255, 0,218, 0, 0, 3,247, 5,240, 16, 6, 3,222, 0, 0, 0, 2, 0,137,255,227, 4, 72, 6, 21, 0, 11, + 0, 37, 0, 0, 1, 34, 6, 21, 20, 22, 51, 50, 54, 53, 52, 38, 39, 54, 18, 17, 16, 2, 35, 34, 2, 17, 52, 54, 55, 46, 1, 53, + 52, 54, 51, 37, 21, 33, 34, 21, 20, 22, 2,104,140,144,144,140,141,144,144,141,232,248,246,234,233,246,123, 49, 80, 65,194,158, + 1,252,254, 40,188,114, 3,223,218,214,213,219,219,213,214,218,156, 1,254,209,254,226,254,225,254,211, 1, 45, 1, 31,229,216, + 42, 47,142, 49,124,148, 1,150,135, 73, 53, 0, 0, 2, 0, 35, 0, 0, 4, 55, 6, 20, 0, 3, 0, 25, 0, 78, 64, 42, 20, 9, + 22, 2, 18, 14,182, 10, 5,140, 4, 2,196, 0,155, 4,155, 10,194, 16, 12, 6, 25, 9, 4, 13, 0, 6, 1, 4, 15, 9, 6, 11, + 1, 74, 19, 69, 21, 17, 69, 26, 16,244, 60,228,236, 50,252, 60,196, 16,238, 50, 17, 18, 57, 57, 49, 0, 47, 60,230,236,254,238, + 16,238, 16,238, 50, 18, 57, 57, 57, 48, 1, 51, 21, 35, 39, 21, 35, 34, 6, 29, 1, 33, 17, 35, 17, 33, 17, 35, 17, 35, 53, 51, + 53, 52, 54, 51, 3,127,184,184,119,180, 99, 77, 2,147,184,254, 37,184,201,201,169,179, 6, 18,233,235,153, 81,103,101,251,162, + 3,209,252, 47, 3,209,143, 78,184,174, 0, 0, 0, 1, 0, 35, 0, 0, 4, 55, 6, 20, 0, 21, 0, 66, 64, 35, 16, 7, 18, 3, + 14, 10,182, 8, 3,140, 0,155, 8,194, 12, 1, 4, 21, 9, 7, 2, 6, 0, 9, 11, 7, 6, 0, 74, 15, 69, 17, 13, 69, 22, 16, +244, 60,228,236,252, 60,196, 16,238, 17, 18, 57, 57, 49, 0, 47, 60,230,254,238, 16,238, 50, 18, 57, 57, 57, 48, 1, 17, 35, 17, + 33, 34, 6, 29, 1, 33, 21, 33, 17, 35, 17, 35, 53, 51, 53, 52, 54, 51, 4, 55,184,254,213, 99, 77, 1, 37,254,219,184,201,201, +169,179, 6, 20,249,236, 5,123, 81,103,101,141,252, 47, 3,209,143, 78,184,174,255,255, 0, 69,254, 12, 4,176, 2, 27, 16, 38, + 4, 30, 0, 0, 16, 7, 11,204, 2, 30,255, 6,255,255, 0, 69,254, 12, 4,229, 2, 28, 16, 38, 11,198, 0, 0, 16, 7, 11,204, + 1,252,255, 6,255,255,255,236,254, 12, 2,188, 2, 88, 16, 38, 10,217, 0, 0, 16, 7, 11,204, 2, 12,255, 6,255,255,255,236, +254, 12, 4,229, 2, 88, 16, 38, 10,218, 0, 0, 16, 7, 11,204, 2, 12,255, 6,255,255, 0, 69,254, 12, 4,176, 2, 27, 16, 38, + 4, 30, 0, 0, 16, 7, 11,203, 1,189,255, 6,255,255, 0, 69,254, 12, 4,229, 2, 28, 16, 38, 11,198, 0, 0, 16, 7, 11,203, + 1,120,255, 6,255,255,255,236,254, 12, 3, 28, 2, 88, 16, 38, 10,217, 0, 0, 16, 7, 11,203, 1,140,255, 6,255,255,255,236, +254, 12, 4,229, 2, 88, 16, 38, 10,218, 0, 0, 16, 7, 11,203, 1,140,255, 6,255,255, 0, 69,254, 12, 4,176, 2, 27, 16, 38, + 4, 30, 0, 0, 16, 7, 11,205, 1,147,255, 6,255,255, 0, 69,254, 12, 4,229, 2, 28, 16, 38, 11,198, 0, 0, 16, 7, 11,205, + 1,114,255, 6,255,255,255,236,254, 12, 3, 10, 2, 88, 16, 38, 10,217, 0, 0, 16, 7, 11,205, 1,122,255, 6,255,255,255,236, +254, 12, 4,229, 2, 88, 16, 38, 10,218, 0, 0, 16, 7, 11,205, 1,152,255, 6,255,255, 0, 69,255,235, 4,176, 3,189, 16, 38, + 4, 30, 0, 0, 16, 7, 11,204, 2, 55, 3, 39,255,255, 0, 69,255,236, 4,229, 3,195, 16, 38, 11,198, 0, 0, 16, 7, 11,204, + 2, 1, 3, 45,255,255,255,236, 0, 0, 2,188, 4,120, 16, 38, 10,217, 0, 0, 16, 7, 11,204, 2, 16, 3,226,255,255,255,236, + 0, 0, 4,229, 4,109, 16, 38, 10,218, 0, 0, 16, 7, 11,204, 2, 15, 3,215,255,255, 0, 69,255,235, 4,176, 4, 26, 16, 38, + 4, 30, 0, 0, 16, 7, 11,205, 1,147, 3,132,255,255, 0, 69,255,236, 4,229, 4, 26, 16, 39, 11,205, 1,129, 3,132, 16, 6, + 11,198, 0, 0,255,255,255,236, 0, 0, 3, 31, 4,121, 16, 38, 10,217, 0, 0, 16, 7, 11,205, 1,143, 3,227,255,255,255,236, + 0, 0, 4,229, 4,124, 16, 38, 10,218, 0, 0, 16, 7, 11,205, 1,140, 3,230,255,255, 0, 69,255,235, 4,176, 4, 87, 16, 38, + 4, 30, 0, 0, 16, 7, 3,220, 0, 76,253,102,255,255, 0, 69,255,236, 4,229, 4, 72, 16, 39, 3,220, 0, 52,253, 87, 16, 6, + 11,198, 0, 0,255,255,255,236, 0, 0, 3,184, 4,245, 16, 38, 10,217, 0, 0, 16, 7, 3,220, 0, 75,254, 4,255,255,255,236, + 0, 0, 4,229, 5, 4, 16, 38, 10,218, 0, 0, 16, 7, 3,220, 0, 93,254, 19,255,255,255,181,255,164, 4,140, 5,114, 16, 38, + 4, 51, 0, 0, 16, 7, 11,197, 2,116, 3,226,255,255,255,106,255,164, 4,229, 5, 6, 16, 39, 11,197, 2,132, 3,118, 16, 6, + 11,202, 0, 0,255,255,255,236, 0, 0, 3, 63, 6, 14, 16, 39, 11,197, 1, 44, 4,126, 16, 6, 11,199, 0, 0,255,255,255,236, + 0, 0, 4,229, 5, 16, 16, 39, 11,197, 1,150, 3,128, 16, 6, 11,200, 0, 0,255,255,255,181,255,164, 4,140, 5,126, 16, 38, + 4, 51, 0, 0, 16, 7, 11,205, 2,136, 4,232,255,255,255,106,255,164, 4,229, 5, 10, 16, 39, 11,205, 2,140, 4,116, 16, 6, + 11,202, 0, 0,255,255,255,236, 0, 0, 3, 63, 6, 14, 16, 39, 11,205, 1, 44, 5,120, 16, 6, 11,199, 0, 0,255,255,255,236, + 0, 0, 4,229, 5, 32, 16, 39, 11,205, 1,154, 4,138, 16, 6, 11,200, 0, 0,255,255, 0, 88,254, 11, 4,173, 3,103, 16, 38, + 3,235, 0, 0, 16, 7, 11,204, 2,123, 0,175,255,255, 0, 88,254, 11, 4,249, 3,103, 16, 38, 11, 16, 0, 0, 16, 7, 11,204, + 2, 47, 0,125,255,255,255,236,254, 62, 4, 92, 3, 47, 16, 39, 11,204, 1, 97,255, 56, 16, 6, 11, 17, 0, 0,255,255,255,236, +254, 62, 4,252, 3, 47, 16, 39, 11,204, 2, 13,255, 56, 16, 6, 11, 18, 0, 0,255,255, 0, 88,254, 11, 4,173, 3,103, 16, 38, + 3,235, 0, 0, 16, 7, 11,196, 2,138, 0, 25,255,255, 0, 88,254, 11, 4,249, 3,103, 16, 38, 11, 16, 0, 0, 16, 7, 11,196, + 2, 38,255,231,255,255,255,236,255, 56, 4, 92, 3, 47, 16, 39, 11,196, 0,188,255, 56, 16, 6, 11, 17, 0, 0,255,255,255,236, +255, 56, 4,252, 3, 47, 16, 39, 11,196, 1,144,255, 56, 16, 6, 11, 18, 0, 0,255,255, 0, 88,254, 11, 4,173, 3,103, 16, 38, + 3,235, 0, 0, 16, 7, 11,203, 2, 42, 0,150,255,255, 0, 88,254, 11, 4,249, 3,103, 16, 38, 11, 16, 0, 0, 16, 7, 11,203, + 1,197, 0, 66,255,255,255,236,254, 22, 4, 92, 3, 47, 16, 39, 11,203, 0,240,255, 16, 16, 6, 11, 17, 0, 0,255,255,255,236, +254, 62, 4,252, 3, 47, 16, 39, 11,203, 1,144,255, 56, 16, 6, 11, 18, 0, 0,255,255, 0, 88,254, 11, 4,173, 3,103, 16, 38, + 3,235, 0, 0, 16, 7, 11,205, 2, 50, 0,175,255,255, 0, 88,254, 11, 4,249, 3,103, 16, 38, 11, 16, 0, 0, 16, 7, 11,205, + 1,197, 0, 94,255,255,255,236,254, 22, 4, 92, 3, 47, 16, 39, 11,205, 0,252,255, 16, 16, 6, 11, 17, 0, 0,255,255,255,236, +254, 62, 4,252, 3, 47, 16, 39, 11,205, 1,144,255, 56, 16, 6, 11, 18, 0, 0,255,255,255,204,254, 8, 4, 97, 4, 55, 16, 38, + 3,239, 0, 0, 16, 7, 11,197, 2,208, 2,166,255,255,255, 96,254, 12, 4,229, 4, 68, 16, 39, 11,197, 2, 92, 2,180, 16, 6, + 11, 28, 0, 0,255,255,255,204,254, 8, 4,194, 4,155, 16, 39, 3,220, 1, 85,253,170, 16, 6, 3,239, 0, 0,255,255,255, 96, +254, 12, 4,229, 4,132, 16, 39, 3,220, 0,233,253,147, 16, 6, 11, 28, 0, 0,255,255, 0, 10,255,167, 5, 93, 6, 20, 16, 6, + 4, 53, 0, 0, 0, 1,255,131,255,167, 5, 26, 6, 20, 0, 50, 0, 0, 37, 6, 7, 6, 7, 6, 35, 34, 39, 36, 17, 52, 55, 51, + 6, 21, 20, 23, 22, 51, 50, 54, 55, 54, 53, 52, 39, 3, 38, 53, 52, 55, 54, 55, 1, 21, 1, 6, 21, 20, 23, 1, 22, 59, 1, 21, + 35, 34, 39, 38, 39, 3,245, 25, 48, 81,128, 99,207,112,108,254,182, 63,184, 65,203, 79, 76,162,218, 54, 52, 41,182, 62, 18, 46, + 86, 2, 14,254,104, 70, 18, 1,100, 40, 40, 38, 42, 61, 35, 62, 20,182, 50, 40, 73, 61, 47, 32, 98, 1, 11,138, 92, 94,136,120, + 72, 28,106, 60, 57, 34, 49, 66, 1, 44,102, 37, 84, 31, 79, 65, 1,142,209,254,194, 55, 46, 78, 29,253,194, 63,184, 18, 30, 30, +255,255,255,236, 0, 0, 4, 43, 6, 20, 16, 6, 11, 73, 0, 0,255,255,255,236, 0, 0, 4,230, 6, 20, 16, 6, 11, 74, 0, 0, +255,255, 0, 10,255,167, 5, 99, 7, 71, 16, 38, 4, 53, 0, 0, 16, 7, 11,206, 2,172, 0, 14,255,255,255,131,255,167, 5, 26, + 7, 74, 16, 39, 11,206, 2, 84, 0, 18, 16, 6, 10,204, 0, 0,255,255,255,236, 0, 0, 4, 43, 7, 57, 16, 39, 11,207, 0,143, + 0, 0, 16, 6, 10,205, 0, 0,255,255,255,236, 0, 0, 4,230, 7, 57, 16, 39, 11,207, 0,156, 0, 0, 16, 6, 10,206, 0, 0, +255,255, 0, 54,254,181, 4,141, 2,176, 16, 6, 4, 56, 0, 0, 0, 1,255,213,254, 12, 4,230, 2, 12, 0, 38, 0, 0, 1, 6, + 7, 6, 35, 34, 39, 38, 17, 52, 55, 51, 6, 21, 20, 23, 22, 51, 50, 55, 54, 55, 54, 53, 52, 39, 51, 22, 23, 22, 23, 22, 59, 1, + 21, 35, 34, 39, 6, 3,200, 71,142,140,129,172,123,234, 53,184, 55,161, 57,129, 84, 63,157, 58, 33,101,184, 17, 35, 34, 31, 35, + 86, 52, 94, 87, 14, 6,254,247,116, 60, 59, 63,120, 1, 18,174,142,174,142,180, 67, 24, 20, 51,167, 94,119,184,203, 51, 85, 84, + 56, 64,184, 48,173, 0, 0, 0,255,255, 0, 0,255,189, 4,147, 3,229, 16, 6, 4, 57, 0, 0, 0, 3, 0, 0,255,255, 4,242, + 3,229, 0, 38, 0, 54, 0, 68, 0, 0, 37, 51, 21, 33, 34, 39, 6, 7, 6, 39, 38, 53, 52, 55, 51, 6, 21, 20, 23, 22, 51, 50, + 55, 38, 39, 38, 53, 52, 55, 54, 23, 38, 39, 53, 22, 23, 22, 23, 22, 37, 54, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 21, 20, 23, + 22, 37, 22, 7, 6, 7, 22, 51, 50, 55, 54, 39, 38, 39, 38, 4,144, 98,254,136,190, 74,131,164,145, 68,118, 16,184, 14, 30, 45, + 40, 48,103, 58, 23, 18, 45, 48, 77, 44, 81,212,227,249, 71, 24,253,205, 36, 34, 39, 15, 22, 58, 65, 23, 22, 7, 21, 1, 71, 13, + 22, 25, 53, 28, 39,129, 13, 5, 5, 6, 20, 51,184,184, 52, 51, 1, 1, 37, 64,128, 75, 53, 58, 44, 43, 11, 16, 16, 67,102, 78, + 64, 84, 83, 90, 9, 39, 14,185, 65,182,200,231, 79, 29, 27, 64, 72, 61, 46, 37, 52, 45, 43, 35, 30, 37,118,188, 95, 85, 91, 49, + 21, 67, 31, 32, 34, 38, 95, 0,255,255,255,236,255,189, 3,227, 3,229, 16, 6, 11, 89, 0, 0, 0, 3,255,236, 0, 0, 4,242, + 3,229, 0, 28, 0, 44, 0, 58, 0, 0, 37, 38, 39, 38, 53, 52, 55, 54, 23, 38, 39, 53, 22, 23, 22, 23, 22, 7, 51, 21, 33, 34, + 39, 6, 43, 1, 53, 51, 50, 55, 54, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 37, 22, 7, 6, 7, 22, 51, 50, 55, + 54, 39, 38, 39, 38, 1, 92, 58, 23, 18, 45, 48, 77, 44, 81,212,227,249, 71, 24, 13,202,254, 32,190, 74,134,161,247,238, 70,226, + 36, 34, 39, 15, 22, 58, 65, 23, 22, 7, 21, 1, 71, 13, 22, 25, 53, 28, 39,129, 13, 5, 5, 6, 20, 51,200, 67,102, 78, 64, 84, + 83, 90, 9, 39, 14,185, 65,182,200,231, 79, 56,184, 52, 52,184, 85, 27, 64, 72, 61, 46, 37, 52, 45, 43, 35, 30, 37,118,188, 95, + 85, 91, 49, 21, 67, 31, 32, 34, 38, 95, 0, 0, 0, 1,255,236, 0, 0, 2,188, 2, 88, 0, 13, 0, 0, 37, 6, 33, 35, 53, 51, + 32, 55, 54, 61, 1, 51, 21, 20, 2, 96, 72,254,169,213,158, 1, 29, 44, 49,184, 86, 86,184, 44, 49,106,217,217,187, 0, 0, 0, + 0, 1,255,236, 0, 0, 4,229, 2, 88, 0, 20, 0, 0, 37, 6, 35, 33, 53, 33, 50, 55, 54, 61, 1, 51, 21, 20, 23, 22, 51, 33, + 21, 33, 34, 2, 94, 76,215,254,177, 1, 24,162, 44, 48,184, 50, 44,163, 1, 42,254,159,214, 86, 86,184, 44, 49,106,217,217,106, + 49, 44,184, 0,255,255, 0, 25,254,243, 4,209, 3, 28, 16, 6, 4, 2, 0, 0,255,255,255,123,254,240, 4,229, 2, 2, 16, 6, + 11, 94, 0, 0,255,255,255,236,254,212, 3, 23, 2, 88, 16, 39, 11,196, 1,135,254,212, 16, 6, 10,217, 0, 0,255,255,255,236, +254,212, 4,229, 2, 88, 16, 39, 11,196, 1,147,254,212, 16, 6, 10,218, 0, 0,255,255, 1, 68, 4,186, 3,140, 6,154, 16, 6, + 4, 4, 0, 0,255,255,255,236, 0, 0, 4,229, 6,154, 16, 38, 4, 4, 0, 0, 16, 6, 3,249, 0, 0, 0, 0,255,255, 1, 68, + 4,186, 3,140, 6,253, 16, 6, 4, 5, 0, 0, 0, 1, 3, 34, 0, 0, 4,229, 1,107, 0, 13, 0, 0, 1, 20, 23, 22, 59, 1, + 21, 35, 34, 39, 38, 61, 1, 51, 3,218, 49, 44, 99, 75,130,142, 92, 87,184, 1, 76, 55, 49, 44,184, 92, 87,141, 43, 0, 0, 0, +255,255, 1, 68,254, 22, 3,140,255,246, 16, 6, 4, 6, 0, 0,255,255, 1, 68, 4,186, 3,140, 5,170, 16, 6, 4, 7, 0, 0, +255,255,255,236, 0, 0, 4,229, 5,170, 16, 38, 3,249, 0, 0, 16, 6, 4, 7, 0, 0, 0, 0,255,255, 1, 68, 4,185, 3,140, + 6,253, 16, 6, 4, 8, 0, 0,255,255,255,236, 0, 0, 4,229, 6,253, 16, 38, 3,249, 0, 0, 16, 6, 4, 8, 0, 0, 0, 0, +255,255, 1, 68,254,232, 3,140,255,216, 16, 6, 4, 9, 0, 0,255,255,255,236,254,232, 4,229, 0,184, 16, 38, 3,249, 0, 0, + 16, 6, 4, 9, 0, 0, 0, 0,255,255, 1, 48, 4,202, 3,161, 6,244, 16, 6, 4, 10, 0, 0,255,255,255,236, 0, 0, 4,229, + 6,244, 16, 38, 3,249, 0, 0, 16, 6, 4, 10, 0, 0, 0, 0,255,255, 1, 86, 4,225, 3,122, 7, 6, 16, 6, 4, 11, 0, 0, +255,255,255,236, 0, 0, 4,229, 7, 6, 16, 38, 4, 11, 0, 0, 16, 6, 3,249, 0, 0, 0, 0,255,255, 1,178, 0, 85, 4, 45, + 3,222, 16, 6, 3,223, 0, 0,255,255, 1, 0, 0, 0, 3,208, 7,131, 16, 38, 3,229, 0, 0, 16, 7, 4, 12, 0, 0, 1,194, +255,255, 1, 0, 0, 0, 4,230, 7,131, 16, 39, 4, 12, 0, 0, 1,194, 16, 6, 10,252, 0, 0,255,255, 1,179, 0, 0, 3, 10, + 8, 58, 16, 38, 3,229, 0, 0, 16, 7, 4, 13,255,246, 1,194,255,255, 1,228, 0, 0, 4,230, 8, 58, 16, 39, 4, 13, 0, 39, + 1,194, 16, 6, 10,252, 0, 0,255,255, 0, 76,254, 12, 4, 51, 4,182, 16, 38, 4, 1, 0, 0, 16, 7, 4, 13, 0, 96,254, 62, +255,255, 0, 90,254, 12, 4,229, 4,182, 16, 39, 4, 13, 0, 50,254, 62, 16, 6, 11, 92, 0, 0,255,255, 1,182,254, 12, 3, 13, + 6, 20, 16, 38, 3,229, 0, 0, 16, 6, 4, 14,249, 0, 0, 0,255,255, 2, 19,254, 12, 4,230, 6, 20, 16, 38, 4, 14, 86, 0, + 16, 6, 10,252, 0, 0, 0, 0,255,255, 0, 25,254,243, 4,209, 4, 87, 16, 38, 4, 2, 0, 0, 16, 7, 4, 13,255, 89,253,223, +255,255,255,123,254,240, 4,229, 3, 96, 16, 39, 4, 13,254,228,252,232, 16, 6, 11, 94, 0, 0,255,255,255,236, 0, 0, 2,254, + 4,232, 16, 39, 4, 13,255,234,254,112, 16, 6, 10,217, 0, 0,255,255,255,236, 0, 0, 4,229, 4,232, 16, 39, 4, 13, 0, 0, +254,112, 16, 6, 10,218, 0, 0,255,255, 2, 12, 0, 0, 2,196, 6, 20, 16, 6, 3,229, 0, 0, 0, 1, 2, 76, 0, 0, 4,230, + 6, 20, 0, 13, 0, 0, 1, 17, 51, 17, 20, 23, 22, 59, 1, 21, 33, 34, 39, 38, 2, 76,184, 50, 44,180,208,254,248,234, 80, 88, + 1,115, 4,161,251,107,106, 49, 44,184, 92,101,255,255, 0, 69,254,162, 4,176, 2, 27, 16, 38, 4, 30, 0, 0, 16, 7, 11,195, + 2, 27,254,162,255,255, 0, 69,254,162, 4,229, 2, 28, 16, 39, 11,195, 1,209,254,162, 16, 6, 11,198, 0, 0,255,255,255,236, +254,212, 2,188, 2, 88, 16, 38, 10,217, 0, 0, 16, 7, 11,195, 1,248,254,212,255,255,255,236,254,212, 4,229, 2, 88, 16, 38, + 10,218, 0, 0, 16, 7, 11,195, 2, 20,254,212,255,255, 0,222,255,198, 3,243, 4, 26, 16, 38, 4, 0, 0, 0, 16, 7, 11,196, + 1,106, 3,132,255,255, 0,242, 0, 0, 4,229, 4, 26, 16, 39, 11,196, 1,198, 3,132, 16, 6, 11, 88, 0, 0,255,255, 0, 69, +255,235, 4,176, 3, 32, 16, 38, 4, 30, 0, 0, 16, 7, 11,196, 1,191, 2,138,255,255, 0, 69,255,236, 4,229, 3, 32, 16, 39, + 11,196, 1,156, 2,138, 16, 6, 11,198, 0, 0,255,255,255,236, 0, 0, 3, 35, 3,232, 16, 39, 11,196, 1,147, 3, 82, 16, 6, + 10,217, 0, 0,255,255,255,236, 0, 0, 4,229, 3,232, 16, 39, 11,196, 1,147, 3, 82, 16, 6, 10,218, 0, 0,255,255, 0, 69, +255,235, 4,176, 4, 26, 16, 38, 4, 30, 0, 0, 16, 7, 11,197, 1,186, 2,138,255,255, 0, 69,255,236, 4,229, 4, 26, 16, 39, + 11,197, 1,168, 2,138, 16, 6, 11,198, 0, 0,255,255,255,236, 0, 0, 3, 44, 4,226, 16, 38, 10,217, 0, 0, 16, 7, 11,197, + 1,156, 3, 82,255,255,255,236, 0, 0, 4,229, 4,188, 16, 38, 10,218, 0, 0, 16, 7, 11,197, 1,155, 3, 44,255,255, 0, 88, +254, 11, 4,173, 3,103, 16, 38, 3,235, 0, 0, 16, 7, 11,195, 2,159, 0, 25,255,255, 0, 88,254, 11, 4,249, 3,103, 16, 39, + 11,195, 2,112,255,206, 16, 6, 11, 16, 0, 0,255,255,255,236,254,212, 4, 92, 3, 47, 16, 39, 11,195, 2, 13,254,212, 16, 6, + 11, 17, 0, 0,255,255,255,236,254,212, 4,252, 3, 47, 16, 39, 11,195, 2, 13,254,212, 16, 6, 11, 18, 0, 0,255,255, 0, 88, +254, 11, 4,173, 3,103, 16, 6, 3,235, 0, 0, 0, 1, 0, 88,254, 11, 4,249, 3,103, 0, 46, 0, 0, 37, 51, 21, 35, 34, 39, + 38, 39, 38, 39, 6, 7, 6, 21, 20, 23, 22, 5, 50, 55, 21, 6, 7, 4, 39, 38, 53, 16, 55, 54, 55, 38, 7, 6, 7, 53, 36, 23, + 4, 23, 21, 6, 7, 23, 22, 23, 22, 4,209, 40, 49,129,123, 82, 61, 6, 73,114, 98,224, 74,129, 1, 19,193,212,150,250,254,148, +169,131,212, 96,137,101,159,135, 95, 1, 20,195, 1, 36,196,109, 31, 29, 51, 72, 90,184,184,150,100,156, 15,178, 24, 80,183,252, +138, 93,163, 1,118,184, 98, 1, 2,196,152,222, 1, 2,223,101, 52, 3, 22, 19, 41,184, 64, 1, 1, 53,154, 3, 10, 91,160, 95, +119, 0, 0, 0, 0, 1,255,236, 0, 0, 4, 92, 3, 47, 0, 30, 0, 0, 1, 38, 39, 38, 39, 38, 7, 53, 54, 55, 50, 23, 4, 23, + 21, 6, 7, 6, 7, 6, 7, 6, 43, 1, 53, 51, 50, 55, 54, 55, 54, 3, 83, 83,103, 85,180, 82,161, 72, 75,162,172, 1, 2,220, + 76, 88,166, 74,145, 75,221,163,128,100,227,129,104,116, 94, 2, 29, 23, 23, 19, 16, 7, 6,184, 7, 1, 35, 52, 98,154, 24, 52, + 98, 66,129, 27, 80,184, 72, 58,106, 86, 0, 0, 0, 1,255,236, 0, 0, 4,252, 3, 47, 0, 41, 0, 0, 1, 4, 23, 21, 6, 7, + 22, 23, 22, 59, 1, 21, 35, 34, 39, 38, 39, 6, 7, 6, 7, 6, 43, 1, 53, 51, 50, 55, 54, 55, 54, 55, 38, 39, 38, 39, 38, 7, + 53, 54, 55, 50, 2,126, 1, 2,220, 65, 73, 50, 30,104, 54, 60, 80,151,124, 40, 59, 69, 41,145, 75,221,163,128,100,227,129,104, +116, 94,101, 83,103, 85,180, 82,161, 72, 75,162, 3, 12, 52, 98,154, 20, 41, 78, 34,119,184,168, 54, 97, 46, 37,129, 27, 80,184, + 72, 58,106, 86, 35, 23, 23, 19, 16, 7, 6,184, 7, 1, 0, 0,255,255, 0, 88,254, 11, 4,173, 4,176, 16, 38, 3,235, 0, 0, + 16, 7, 11,195, 1,220, 4, 26,255,255, 0, 88,254, 11, 4,249, 4,176, 16, 39, 11,195, 1,216, 4, 26, 16, 6, 11, 16, 0, 0, +255,255,255,236, 0, 0, 4, 92, 4, 76, 16, 39, 11,195, 2, 13, 3,182, 16, 6, 11, 17, 0, 0,255,255,255,236, 0, 0, 4,252, + 4, 76, 16, 39, 11,195, 2, 13, 3,182, 16, 6, 11, 18, 0, 0,255,255, 0,232,255,218, 3,232, 3,106, 16, 6, 3,237, 0, 0, + 0, 1, 0,232,255,218, 4,229, 3,106, 0, 32, 0, 0, 1, 52, 39, 38, 39, 35, 22, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, + 21, 22, 51, 50, 55, 54, 55, 22, 59, 1, 53, 35, 34, 39, 38, 3,232, 82, 72,107,227,170, 69, 60, 8, 34,173, 34, 82,133,115,103, +151, 94, 46,206, 94, 97,147, 83, 28, 99, 44, 82, 1,122,108,149,131,108,184,115,101, 93, 42, 27,115, 46, 9, 42,184, 38, 7, 31, +130,130,184, 44, 82, 0, 0, 0,255,255, 0,232,255,218, 3,232, 4,176, 16, 38, 3,237, 0, 0, 16, 7, 11,195, 2, 12, 4, 26, +255,255, 0,232,255,218, 4,229, 4,176, 16, 39, 11,195, 2, 21, 4, 26, 16, 6, 11, 24, 0, 0,255,255,255,204,254, 8, 4, 68, + 2, 34, 16, 6, 3,239, 0, 0, 0, 1,255, 96,254, 12, 4,229, 2, 38, 0, 24, 0, 0, 1, 51, 22, 23, 22, 23, 22, 59, 1, 21, + 35, 34, 39, 6, 5, 4, 33, 53, 32, 55, 36, 55, 54, 53, 52, 2,238,184, 30, 3, 10, 73, 42,101, 60,115,130, 50, 57,254,215,254, +228,254, 32, 1,189,219, 0,255, 34, 10, 2, 38,112, 30,103, 77, 44,184, 62,253,158,151,184,128,149,197, 58, 72,126, 0, 0, 0, +255,255,255,204,254, 8, 4, 68, 3,182, 16, 38, 3,239, 0, 0, 16, 7, 11,195, 3, 93, 3, 32,255,255,255, 96,254, 12, 4,229, + 3,182, 16, 39, 11,195, 2,239, 3, 32, 16, 6, 11, 28, 0, 0,255,255,255, 33,254, 20, 4,152, 2,238, 16, 6, 3,241, 0, 0, + 0, 1,254,213,254, 20, 4,229, 2,238, 0, 70, 0, 0, 5, 34, 39, 38, 39, 6, 7, 6, 7, 6, 39, 6, 7, 6, 7, 6, 35, 34, + 39, 38, 55, 54, 55, 51, 6, 23, 22, 23, 22, 51, 50, 55, 54, 55, 54, 39, 38, 47, 1, 51, 23, 22, 23, 22, 23, 22, 55, 54, 53, 51, + 6, 23, 22, 51, 50, 25, 1, 51, 17, 20, 23, 22, 59, 1, 21, 35, 34, 39, 6, 7, 6, 3, 52, 65, 25, 64, 26, 31, 69, 50, 74, 47, + 49, 8, 30, 37, 61, 71,113, 95,101,118, 18, 20, 60,164, 87, 5, 8, 33, 46, 48, 53, 50, 35, 26, 24, 2, 1, 16, 41,159, 18, 17, + 21, 49, 39, 47, 45, 37,164, 4, 37, 32, 42,105,164, 41, 44, 59, 8, 63,100, 60, 31, 71, 33, 29, 25, 67,126,109, 56, 40, 2, 2, + 80,168, 94,121, 77, 92,100,115,213,232,130,225,137,172, 43, 59, 72, 50,122,109,165, 94, 92,234,156,145, 35, 80, 3, 3,125,103, +194,163,141,120, 1, 24, 1, 38,254,170,139, 41, 44,184, 96, 97, 19, 9, 0, 0, 0, 1,255,236,255,221, 4,148, 2,232, 0, 49, + 0, 0, 37, 34, 39, 38, 61, 1, 35, 21, 20, 7, 6, 43, 1, 21, 51, 50, 55, 54, 55, 22, 23, 22, 51, 50, 55, 54, 55, 22, 23, 22, + 51, 50, 55, 54, 55, 54, 53, 17, 35, 17, 16, 35, 34, 39, 38, 55, 35, 20, 7, 6, 1,230, 71, 21, 26,164, 70, 36, 76, 42, 70,101, + 59, 69, 21, 12, 44, 81, 50, 73, 51, 70, 31, 25, 65, 24, 66, 78, 22, 85, 33, 62,164,104, 43, 31, 38, 5,165, 37, 42,181, 84,100, + 79,156,192,118, 71, 35,184, 37, 44, 57, 63, 35, 64, 42, 56,109,126, 67, 25, 9, 34, 82,153,159, 1, 86,254,218,254,232,120,141, +163,194,103,116, 0, 1,255,236,255,221, 4,230, 2,232, 0, 55, 0, 0, 1, 20, 23, 22, 51, 50, 25, 1, 51, 17, 20, 23, 22, 59, + 1, 21, 35, 34, 39, 6, 7, 6, 35, 34, 39, 38, 39, 6, 7, 6, 35, 34, 39, 38, 39, 6, 7, 6, 43, 1, 53, 51, 50, 55, 54, 61, + 1, 51, 21, 20, 23, 22, 50, 55, 54, 53, 2,209, 33, 29, 53,100,164, 42, 44, 34, 34, 64,101, 59, 54, 58, 22, 72, 79, 55, 42, 12, + 30, 70, 51, 53, 67, 37, 38, 24, 20, 70, 58, 68, 70, 42, 55, 31, 64,162, 26, 22, 96, 42, 37, 2, 82,166,138,120, 1, 24, 1, 38, +254,170,139, 41, 44,184, 96, 88, 27, 10, 73, 54, 91,109, 56, 42, 54, 55, 53, 57, 44, 37,184, 35, 71,118,192,156, 79,100, 84,116, +103,194, 0, 0,255,255,255, 33,254, 20, 4,152, 4,176, 16, 38, 3,241, 0, 0, 16, 7, 11,197, 1, 54, 3, 32,255,255,254,213, +254, 20, 4,229, 4,176, 16, 39, 11,197, 0,236, 3, 32, 16, 6, 11, 32, 0, 0,255,255,255,236,255,221, 4,148, 4,176, 16, 39, + 11,197, 1,150, 3, 32, 16, 6, 11, 33, 0, 0,255,255,255,236,255,221, 4,230, 4,176, 16, 39, 11,197, 1, 82, 3, 32, 16, 6, + 11, 34, 0, 0,255,255,255, 16,254, 20, 4,192, 2,143, 16, 6, 3,243, 0, 0, 0, 2,254,197,254, 20, 4,229, 2,143, 0, 12, + 0, 71, 0, 0, 37, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 37, 20, 7, 22, 23, 22, 59, 1, 21, 35, 34, 47, 1, 6, 43, + 1, 34, 39, 38, 53, 20, 7, 6, 7, 6, 35, 34, 39, 38, 53, 52, 55, 51, 6, 21, 20, 23, 22, 55, 54, 55, 54, 53, 52, 39, 38, 39, + 51, 6, 23, 22, 23, 54, 55, 54, 51, 50, 23, 22, 1,253,129,140, 73,106, 40, 36, 63, 71,104, 75, 2, 61, 31, 16, 14, 46, 28, 39, + 59, 52,102, 28,172,136,218, 38, 52, 45, 47, 47, 51,102, 74,130, 90,125,101,172,104, 60, 50, 60, 67, 37, 64, 9, 33, 13,171, 1, + 14, 10, 40, 76, 49,146,150,171, 91, 87,184, 46, 68, 70, 45, 37, 33,109, 78, 78, 52, 71, 10, 13, 44,184, 94, 26,120, 30, 26, 16, +175,131,129, 43, 86, 90,125,205,188,172,204,156,145, 50, 41, 3, 4, 59,103,139,104, 62,212, 72, 15, 55, 40, 50,128, 60,177, 82, + 78, 0, 0, 0, 0, 2,255,236, 0, 0, 4,193, 2,143, 0, 12, 0, 44, 0, 0, 37, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, + 6, 3, 34, 39, 38, 39, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 51, 21, 20, 22, 23, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, + 35, 2, 73,129,140, 73,106, 40, 36, 63, 71,104, 75, 82, 74, 78, 65, 39,102, 94,130, 75, 43, 37, 65,184, 18, 45, 76, 49,146,150, +171, 91, 87,184,126,127,184, 46, 68, 70, 45, 37, 33,109, 78,254,216, 42, 35, 61,138,184, 44, 80,100,114, 78, 24, 80, 50,128, 60, +177, 82, 78,121,190,109, 75, 0, 0, 2,255,236, 0, 0, 4,229, 2,143, 0, 12, 0, 54, 0, 0, 37, 51, 50, 55, 54, 53, 52, 39, + 38, 35, 34, 7, 6, 3, 34, 39, 38, 39, 6, 43, 1, 53, 51, 50, 55, 54, 61, 1, 51, 21, 20, 22, 23, 54, 55, 54, 51, 50, 23, 22, + 21, 20, 7, 22, 23, 22, 59, 1, 21, 35, 34, 47, 1, 6, 35, 1,253,129,140, 73,106, 40, 36, 63, 71,104, 75, 82, 74, 78, 65, 39, +102, 68, 80, 26, 31, 42, 45,184, 18, 45, 76, 49,146,150,171, 91, 87, 31, 16, 14, 46, 28, 39, 59, 52,102, 28,172,136,184, 46, 68, + 70, 45, 37, 33,109, 78,254,216, 42, 35, 61,138,184, 46, 50,128,114, 78, 24, 80, 50,128, 60,177, 82, 78,121, 52, 71, 10, 13, 44, +184, 94, 26,120,255,255,255, 16,254, 20, 4,192, 3, 52, 16, 38, 3,243, 0, 0, 16, 7, 11,195, 1, 79, 2,158,255,255,254,197, +254, 20, 4,229, 3, 52, 16, 39, 11,195, 1, 4, 2,158, 16, 6, 11, 40, 0, 0,255,255,255,236, 0, 0, 4,193, 3,118, 16, 39, + 11,195, 1, 87, 2,224, 16, 6, 11, 41, 0, 0,255,255,255,236, 0, 0, 4,229, 3,104, 16, 39, 11,195, 1, 52, 2,210, 16, 6, + 11, 42, 0, 0,255,255, 0, 10, 0, 0, 4,164, 6, 20, 16, 6, 3,245, 0, 0, 0, 2, 0, 20, 0, 0, 4,229, 6, 20, 0, 12, + 0, 39, 0, 0, 37, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 37, 20, 7, 22, 59, 1, 21, 35, 34, 47, 1, 6, 35, 33, 35, + 53, 51, 17, 51, 17, 54, 55, 54, 51, 50, 23, 22, 2, 8,129,140, 73,106, 40, 36, 63, 71,104, 75, 2, 61, 42, 61, 37, 45, 58, 93, + 85, 28,125,149,253,251,178,178,184, 76, 49,146,150,171, 91, 87,184, 46, 68, 70, 45, 37, 33,109, 78, 78, 53, 70, 67,184, 79, 26, +105,184, 5, 92,251, 14,128, 60,177, 82, 78, 0, 0, 2,255,236, 0, 0, 4,164, 6, 20, 0, 12, 0, 31, 0, 0, 37, 51, 50, 55, + 54, 53, 52, 39, 38, 35, 34, 7, 6, 19, 33, 35, 53, 51, 17, 51, 17, 54, 55, 54, 51, 50, 23, 22, 21, 20, 7, 6, 2, 44,129,140, + 73,106, 40, 36, 63, 71,104, 75,136,253,251,254,254,184, 76, 49,142,154,171, 91, 87,184,126,184, 46, 68, 70, 45, 37, 33,109, 78, +254,216,184, 5, 92,251, 14,128, 60,177, 82, 78,121,190,109, 75, 0, 2,255,236, 0, 0, 4,229, 6, 20, 0, 12, 0, 39, 0, 0, + 37, 51, 50, 55, 54, 53, 52, 39, 38, 35, 34, 7, 6, 37, 20, 7, 22, 59, 1, 21, 35, 34, 47, 1, 6, 35, 33, 35, 53, 51, 17, 51, + 17, 54, 55, 54, 51, 50, 23, 22, 2, 8,129,140, 73,106, 40, 36, 63, 71,104, 75, 2, 61, 42, 61, 37, 45, 58, 93, 85, 28,125,149, +253,251,218,218,184, 76, 49,146,150,171, 91, 87,184, 46, 68, 70, 45, 37, 33,109, 78, 78, 53, 70, 67,184, 79, 26,105,184, 5, 92, +251, 14,128, 60,177, 82, 78, 0,255,255, 0, 10, 0, 0, 4,164, 6, 20, 16, 38, 3,245, 0, 0, 16, 7, 11,195, 2, 67, 3, 0, +255,255, 0, 20, 0, 0, 4,229, 6, 20, 16, 39, 11,195, 2, 67, 3, 0, 16, 6, 11, 48, 0, 0,255,255,255,236, 0, 0, 4,164, + 6, 20, 16, 39, 11,195, 2, 67, 3, 0, 16, 6, 11, 49, 0, 0,255,255,255,236, 0, 0, 4,229, 6, 20, 16, 39, 11,195, 2, 67, + 3, 0, 16, 6, 11, 50, 0, 0,255,255, 0,122,254, 12, 4,183, 4, 42, 16, 6, 3,247, 0, 0, 0, 2, 0,148,254, 11, 4,244, + 3, 14, 0, 44, 0, 55, 0, 0, 51, 52, 55, 38, 39, 38, 53, 52, 55, 54, 55, 54, 50, 23, 22, 23, 22, 21, 20, 7, 6, 7, 22, 23, + 22, 59, 1, 21, 35, 32, 39, 6, 21, 20, 23, 22, 33, 50, 55, 21, 6, 7, 4, 39, 38, 0, 34, 7, 6, 21, 20, 23, 54, 55, 54, 39, +148,187, 61, 38, 30, 13, 16,104, 89,238, 89,101, 19, 13, 69,118, 55, 68, 87, 95,148,224,208,254,183,248,154, 41,107, 1, 95,193, +212,150,250,254, 82,157, 98, 1,169, 52, 30, 47, 70,134, 2, 1, 48,212,140, 50, 72, 57, 27, 31, 41, 55, 52, 45, 45, 51, 56, 38, + 34, 62, 56, 96, 19, 64, 37, 40,184,228,129,106,109, 61,158,118,184, 98, 1, 2,190,119, 3, 22, 7, 12, 32, 36, 65, 55, 46, 32, + 12, 0, 0, 0, 0, 1,255,236, 0, 0, 3,249, 4, 42, 0, 26, 0, 0, 55, 50, 55, 38, 39, 38, 53, 16, 55, 54, 51, 21, 34, 6, + 20, 23, 22, 51, 50, 55, 37, 21, 5, 4, 43, 1, 53, 61,161,202, 75, 52, 88,204,125,251,218,186, 62, 83, 70, 56, 73, 1, 32,254, + 92,254,162,178, 89,184, 93, 24, 59,100,140, 1, 8,125, 77,169,137,255, 52, 70, 33,129,184,197,164,184, 0, 0, 0, 2,255,236, + 0, 0, 4,229, 3, 14, 0, 36, 0, 47, 0, 0, 37, 6, 43, 1, 53, 51, 50, 55, 54, 55, 38, 39, 38, 53, 52, 55, 54, 55, 54, 50, + 23, 22, 23, 22, 21, 20, 7, 6, 7, 22, 23, 22, 59, 1, 21, 35, 34, 2, 34, 7, 6, 21, 20, 23, 54, 53, 52, 39, 2,104,194,202, +240,218,107, 66, 59, 40, 97, 68, 30, 13, 16,104, 89,238, 89,102, 18, 13, 30, 77, 88, 31, 68, 61,112,219,241,202,168, 52, 30, 47, +103,103, 47,185,185,184, 40, 36, 39, 85, 90, 39, 45, 31, 41, 55, 52, 45, 45, 51, 56, 41, 31, 45, 39, 98, 77, 31, 44, 40,184, 2, + 85, 7, 12, 32, 29, 95, 95, 29, 32, 12, 0, 0,255,255, 0,122,254, 12, 4,183, 5, 70, 16, 38, 3,247, 0, 0, 16, 7, 11,195, + 1,119, 4,176,255,255, 0,148,254, 11, 4,244, 4, 76, 16, 39, 11,195, 1,214, 3,182, 16, 6, 11, 56, 0, 0,255,255,255,236, + 0, 0, 3,249, 5, 70, 16, 39, 11,195, 1,119, 4,176, 16, 6, 11, 57, 0, 0,255,255,255,236, 0, 0, 4,229, 4, 76, 16, 39, + 11,195, 2, 27, 3,182, 16, 6, 11, 58, 0, 0,255,255,255,181,255,164, 4,140, 4,192, 16, 38, 4, 51, 0, 0, 16, 7, 11,195, + 2,240, 4, 42,255,255,255,106,255,164, 4,229, 4, 76, 16, 39, 11,195, 2,246, 3,182, 16, 6, 11,202, 0, 0,255,255,255,236, + 0, 0, 3, 63, 5, 20, 16, 39, 11,195, 1,169, 4,126, 16, 6, 11,199, 0, 0,255,255,255,236, 0, 0, 4,229, 4,126, 16, 39, + 11,195, 2, 34, 3,232, 16, 6, 11,200, 0, 0,255,255, 0, 31,254,124, 4,116, 5, 20, 16, 38, 4, 31, 0, 0, 16, 7, 11,196, + 2, 93, 4,126,255,255,255,237,254, 19, 4,229, 4, 1, 16, 39, 11,196, 2, 78, 3,107, 16, 6, 11,201, 0, 0,255,255,255,236, + 0, 0, 3, 63, 5, 20, 16, 38, 11,199, 0, 0, 16, 7, 11,196, 1, 44, 4,126,255,255,255,236, 0, 0, 4,229, 4,126, 16, 38, + 11,200, 0, 0, 16, 7, 11,196, 1,150, 3,232,255,255, 0, 8,255,200, 4,159, 6, 20, 16, 6, 3,252, 0, 0, 0, 2,255,161, +255,200, 4,229, 6, 20, 0, 33, 0, 68, 0, 0, 1, 21, 6, 7, 6, 21, 20, 23, 22, 23, 22, 21, 20, 7, 6, 35, 34, 39, 53, 22, + 51, 50, 55, 54, 53, 52, 39, 38, 39, 38, 55, 54, 55, 54, 1, 35, 17, 16, 7, 6, 7, 6, 35, 34, 39, 38, 53, 52, 55, 35, 6, 21, + 20, 23, 22, 55, 54, 55, 54, 55, 22, 59, 1, 53, 35, 34, 39, 38, 53, 2, 20, 74, 38, 80, 14, 12, 68,102, 88, 82, 78, 66, 56, 68, + 45, 60, 57, 60, 78, 74, 18, 32, 1, 2, 75, 85, 2,130,184, 52, 74, 81, 98,117, 87,121,154, 14,184, 16,217,163,173,199,103, 79, + 91,113, 80,130, 75, 26, 44, 49, 4, 76, 82, 4, 14, 30, 33, 28, 18, 16, 10, 15, 88,110, 42, 39, 11, 88, 10, 26, 26, 30, 38, 17, + 16, 28, 47, 46, 81, 38, 43, 1,204,252, 79,254,249, 67, 95, 35, 38, 35, 45, 93, 44, 58, 53, 75,184, 76, 57, 2, 2, 53, 45, 78, +123,184, 44, 49,106, 0, 0, 0, 0, 1,255,236, 0, 0, 4, 43, 6, 20, 0, 31, 0, 0, 41, 1, 53, 33, 50, 55, 54, 53, 52, 39, + 1, 38, 53, 52, 55, 54, 55, 1, 21, 5, 6, 7, 6, 21, 20, 23, 1, 22, 21, 20, 7, 6, 1,146,254, 90, 1,146,147, 46, 16, 54, +254,202, 50, 10, 31,104, 2,233,253,173, 71, 21, 6, 31, 1, 19,102, 62, 95,184,104, 36, 36, 69, 66, 1,124, 61, 81, 30, 38,118, + 43, 1, 54,186,250, 30, 40, 11, 25, 32, 37,254,182,122,124,113,101,155, 0, 0, 0, 1,255,236, 0, 0, 4,230, 6, 20, 0, 41, + 0, 0, 41, 1, 53, 33, 50, 55, 54, 53, 52, 39, 1, 38, 53, 52, 55, 54, 55, 1, 21, 5, 6, 7, 6, 21, 20, 23, 1, 22, 23, 22, + 59, 1, 21, 35, 34, 39, 38, 47, 1, 6, 7, 6, 1,156,254, 80, 1,156,147, 47, 16, 54,254,202, 50, 10, 30,104, 2,234,253,172, + 70, 22, 6, 32, 2, 70, 22, 38, 44, 64, 88,132, 66, 58,102, 34, 96, 22, 16, 96,184,104, 36, 36, 69, 66, 1,124, 61, 81, 30, 38, +118, 43, 1, 54,186,250, 30, 40, 11, 25, 32, 37,253, 63, 26, 14, 16,184, 24, 43, 41,120, 46, 27,155, 0, 0, 0,255,255, 0, 66, +254,200, 4, 75, 6, 20, 16, 6, 3,253, 0, 0, 0, 1, 0, 9,254,200, 4,229, 6, 20, 0, 36, 0, 0, 1, 35, 17, 16, 7, 6, + 7, 6, 35, 34, 39, 38, 53, 52, 55, 35, 6, 23, 18, 23, 22, 51, 50, 55, 54, 55, 54, 55, 22, 59, 1, 53, 35, 34, 39, 38, 53, 4, + 18,184, 30, 69, 99, 84,105, 73, 40,166, 65,184, 64, 1, 1,242,119, 99,125, 94,129,104, 51, 15, 78, 56,130, 75, 43, 44, 49, 6, + 20,251,150,254,216, 57,131, 41, 34, 16, 66,126,115,115, 92,138,254,253, 86, 42, 34, 47,126, 63, 93, 51,184, 44, 49,106, 0, 0, + 0, 1,255,236, 0, 0, 3,233, 6, 20, 0, 13, 0, 0, 1, 20, 7, 6, 41, 1, 53, 33, 50, 55, 54, 53, 17, 51, 3,233, 87, 80, +254,240,253,186, 2, 14,218, 44, 49,184, 1,115,178,101, 92,184, 44, 49,106, 4,149, 0, 0, 0, 0, 1,255,236, 0, 0, 4,229, + 6, 20, 0, 20, 0, 0, 37, 6, 41, 1, 53, 51, 50, 55, 54, 53, 17, 51, 17, 20, 23, 22, 59, 1, 21, 33, 32, 2,104, 76,254,240, +254,224,234,218, 44, 48,184, 50, 44,218,233,254,223,254,244, 86, 86,184, 44, 49,106, 4,149,251,107,106, 49, 44,184, 0, 0, 0, +255,255, 0,130,254, 20, 4, 84, 2,243, 16, 6, 3,254, 0, 0, 0, 2, 0, 71,254, 20, 4,229, 2,116, 0, 17, 0, 52, 0, 0, + 37, 22, 51, 50, 55, 54, 53, 52, 39, 38, 39, 38, 35, 34, 7, 6, 21, 20, 5, 6, 7, 6, 35, 34, 39, 38, 7, 6, 21, 17, 35, 17, + 52, 55, 54, 51, 38, 53, 52, 55, 54, 51, 50, 23, 22, 23, 30, 1, 59, 1, 21, 35, 34, 2, 12,122, 76, 44, 21, 53, 6, 21, 59, 40, + 46, 59, 27, 68, 1,192, 15, 13,133, 75,210,112, 35, 73, 25,200,120, 65, 73, 2,162, 77, 92, 72, 84,170, 40, 14, 82,102, 31, 86, +173,168, 42, 22, 57, 58, 24, 20, 88, 17, 12, 27, 68, 68, 40,169, 14, 8, 80, 78, 25, 75, 26, 79,254,147, 1,109,173,102, 55, 42, + 40,148,132, 63, 36, 71,179, 64, 94,184, 0, 0, 0, 2,255,236,255,205, 3,166, 2,109, 0, 24, 0, 42, 0, 0, 37, 6, 7, 6, + 39, 6, 43, 1, 53, 51, 50, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 37, 22, 51, 50, 55, 54, 53, 52, 39, 38, 39, + 38, 35, 34, 7, 6, 7, 6, 3,100, 96,140,212,112, 64,104,160,116, 52, 44, 43, 5, 20,135, 94, 93, 69, 69,189, 21, 4,253,240, + 62,159, 47, 19, 52, 5, 22, 58, 39, 39, 53, 41, 50, 15, 7, 52,101, 1, 2,100, 48,184, 36, 35, 49,181, 80, 56, 29, 79,171, 36, + 42,142, 77, 69, 18, 53, 69, 19, 18, 88, 17, 12, 27, 33, 97, 37, 0, 2,255,236,255,206, 4,229, 2,109, 0, 29, 0, 47, 0, 0, + 37, 6, 35, 34, 39, 6, 43, 1, 53, 51, 50, 55, 54, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 23, 22, 59, 1, 21, 35, 34, 37, 22, + 51, 50, 55, 54, 53, 52, 39, 38, 39, 38, 35, 34, 7, 6, 7, 6, 3,124, 97,139,214,110, 64,104,184,140, 52, 44, 43, 5, 20,135, + 94, 93, 72, 66,193, 17, 5, 51, 38,105,100,155,174,254, 18, 62,159, 47, 19, 52, 5, 22, 58, 39, 39, 53, 41, 46, 19, 7, 52,102, + 98, 48,184, 36, 35, 49,181, 80, 56, 29, 83,167, 49, 62, 47,184,199, 69, 18, 53, 69, 19, 18, 88, 17, 12, 27, 30,100, 37, 0, 0, +255,255, 0, 54,254,181, 4,141, 3,132, 16, 38, 4, 56, 0, 0, 16, 7, 11,195, 1,211, 2,238,255,255,255,213,254, 12, 4,230, + 2,175, 16, 39, 11,195, 1,119, 2, 25, 16, 6, 10,212, 0, 0,255,255,255,236, 0, 0, 2,188, 3,232, 16, 38, 10,217, 0, 0, + 16, 7, 11,195, 2, 16, 3, 82,255,255,255,236, 0, 0, 4,229, 3,232, 16, 38, 10,218, 0, 0, 16, 7, 11,195, 2, 21, 3, 82, +255,255, 0,222,255,198, 3,243, 2,222, 16, 6, 4, 0, 0, 0, 0, 2, 0,242, 0, 0, 4,229, 2,238, 0, 10, 0, 36, 0, 0, + 1, 38, 39, 38, 39, 6, 7, 6, 23, 30, 1, 19, 38, 39, 51, 22, 23, 22, 23, 22, 59, 1, 21, 35, 34, 39, 38, 39, 6, 35, 34, 39, + 38, 53, 52, 55, 54, 3, 5, 15, 13, 13, 12,120, 82,111, 2, 1,180,116, 4, 3,184, 1, 36, 21, 56, 31,112,113,168, 90, 73, 45, + 38,138,156, 56, 58,189,204,109, 1, 26, 42, 49, 50,101, 12, 67, 89, 62, 41, 50, 1,209, 39, 43,168,174,101, 79, 44,184, 51, 31, + 59, 73, 15, 48,154,173,127, 68, 0, 3,255,236,255,189, 3,227, 3,229, 0, 15, 0, 45, 0, 61, 0, 0, 1, 54, 55, 54, 53, 52, + 39, 38, 35, 34, 7, 6, 21, 20, 23, 22, 7, 50, 55, 38, 39, 38, 53, 52, 55, 54, 23, 38, 39, 53, 22, 23, 4, 23, 22, 21, 20, 7, + 6, 35, 34, 39, 6, 43, 1, 53, 1, 22, 21, 20, 7, 6, 7, 22, 51, 50, 55, 54, 53, 52, 39, 38, 1,186, 36, 34, 39, 15, 22, 58, + 65, 23, 22, 7, 21,249, 52, 78, 45, 15, 18, 45, 48, 77, 44, 81,219,220, 1, 5, 59, 14, 40, 74,175,131,154,120,146,175, 2,209, + 6, 98, 12, 17, 52, 49,126, 16, 7, 33, 29, 1, 13, 27, 64, 72, 61, 46, 37, 52, 45, 43, 35, 30, 37,118,136, 11,105, 69, 78, 64, + 84, 83, 90, 9, 39, 14,185, 67,180,214,217, 52, 57,103, 61,113,108, 41,184, 1, 68, 37, 39,138,114, 14, 19, 46, 67, 30, 33, 60, + 78, 69, 0, 0, 0, 3,255,236,254, 13, 4,229, 2,171, 0, 10, 0, 36, 0, 47, 0, 0, 37, 51, 50, 55, 54, 53, 52, 35, 34, 7, + 6, 7, 18, 55, 54, 51, 50, 23, 22, 21, 20, 7, 33, 21, 33, 22, 21, 20, 7, 6, 35, 34, 39, 38, 3, 33, 53, 5, 20, 23, 22, 51, + 50, 53, 52, 39, 38, 35, 1,228, 19, 42, 96,114, 84, 75, 74, 38,184, 9,129,108,129,138, 69, 46,163, 1,232,254, 24,163, 46, 69, +138,129,108,129, 9,254,192, 1,248, 38, 74, 75, 84,114, 96, 42,184, 76, 90, 52,112,141, 72,117, 1, 10,126,107, 99, 67,114,111, +108,184,108,111,114, 67, 99,107,128, 1, 8,184,184,117, 72,141,112, 52, 90, 76,255,255, 0, 76,254, 12, 4, 51, 2,134, 16, 6, + 4, 1, 0, 0, 0, 2, 0, 90,254, 12, 4,229, 2,135, 0, 11, 0, 44, 0, 0, 37, 52, 39, 38, 39, 38, 7, 6, 7, 6, 23, 22, + 5, 51, 21, 35, 39, 6, 7, 6, 7, 6, 33, 53, 32, 55, 54, 55, 38, 39, 38, 39, 38, 39, 38, 55, 54, 55, 54, 23, 22, 23, 22, 23, + 22, 3, 60, 16, 24, 46, 60, 60, 67, 13, 17, 64, 47, 1,115,246,194, 70, 25,129, 83,105,192,254,147, 1,105,132,168, 62,118, 45, +139, 51,106, 10, 2, 10, 27,176, 59, 65, 87, 69,133, 22, 13,184, 76, 57, 80, 30, 41, 26, 29, 56, 75, 54, 40, 4,184, 1,156,129, + 83, 47, 86,184, 76, 95,148, 3, 7, 24, 43, 89,135, 31, 57,155, 75, 25, 1, 2, 49, 92,141, 83,255,255, 0, 25,254,243, 4,209, + 3, 28, 16, 6, 4, 2, 0, 0, 0, 1,255,123,254,240, 4,229, 2, 2, 0, 55, 0, 0, 37, 38, 39, 38, 39, 38, 53, 52, 55, 54, + 55, 54, 51, 50, 23, 22, 59, 1, 21, 35, 34, 39, 38, 35, 6, 7, 6, 21, 20, 23, 22, 21, 20, 7, 6, 7, 6, 35, 34, 39, 38, 39, + 38, 55, 51, 6, 21, 22, 23, 22, 51, 50, 55, 54, 55, 54, 3, 1, 2, 9, 24, 24, 44, 41, 77, 87, 29, 44,130, 46, 64, 34, 35, 35, +127, 67, 64, 30, 34, 16, 20, 42, 53, 78,104,181,140, 76,121,147,228, 12, 6, 36,178, 26, 1,141, 69,113,130, 58,128, 20, 60, 51, + 44, 12, 36, 25, 46, 61, 78, 47, 91, 17, 6,138,192,184,172,165, 1, 16, 18, 32, 3, 69, 87, 60, 83, 83,111, 26, 20, 36, 56,198, + 92,138, 80,116,106, 26, 13, 17, 37, 15, 46, 0,255,255, 0, 25,254, 12, 4,209, 3, 28, 16, 38, 4, 2, 0, 0, 16, 7, 11,196, + 1, 89,254, 12,255,255,255,123,254, 12, 4,229, 2, 2, 16, 38, 11, 94, 0, 0, 16, 7, 11,196, 0,192,254, 12,255,255,255,236, +254,212, 3, 18, 2, 88, 16, 39, 11,196, 1,130,254,212, 16, 6, 10,217, 0, 0,255,255,255,236,254,212, 4,229, 2, 88, 16, 39, + 11,196, 1,147,254,212, 16, 6, 10,218, 0, 0,255,255,255,150,255,236, 4, 30, 6,237, 16, 39, 4, 12,254,150, 1, 44, 16, 6, + 11,105, 0, 0,255,255,255, 64,255,236, 4,229, 6,237, 16, 39, 4, 12,254, 64, 1, 44, 16, 6, 11,106, 0, 0,255,255, 0, 83, +255,236, 4, 30, 7,164, 16, 39, 4, 13,254,150, 1, 44, 16, 6, 11,105, 0, 0,255,255,255,224,255,236, 4,229, 7,164, 16, 39, + 4, 13,254, 35, 1, 44, 16, 6, 11,106, 0, 0,255,255, 0,133,254, 12, 4, 30, 6, 20, 16, 39, 4, 14,254,200, 0, 0, 16, 6, + 11,105, 0, 0,255,255, 0, 95,254, 12, 4,229, 6, 20, 16, 39, 4, 14,254,200, 0, 0, 16, 6, 11,106, 0, 0, 0, 1, 0,179, +255,236, 4, 30, 6, 20, 0, 22, 0, 0, 1, 16, 7, 6, 7, 6, 35, 34, 39, 53, 22, 51, 50, 55, 1, 51, 1, 54, 55, 54, 53, 17, + 51, 4, 30,139, 55, 77,205,158,106, 75, 96, 85,113,136,254, 22,179, 1,170, 29, 20, 37,184, 3, 66,254,212,218, 85, 71,180, 32, +184, 32,152, 4, 70,252, 65, 43, 55,137,184, 2,174, 0, 0, 0, 0, 1, 0, 95,255,236, 4,229, 6, 20, 0, 31, 0, 0, 1, 6, + 7, 6, 35, 34, 39, 53, 22, 51, 50, 55, 1, 51, 1, 54, 55, 54, 53, 17, 51, 17, 20, 23, 22, 59, 1, 21, 35, 34, 39, 38, 3, 63, + 59, 73,202,161,106, 75, 96, 85,113,136,254, 22,179, 1,170, 29, 20, 37,184, 34, 64, 80,105,129,175,102, 17, 1, 60, 91, 65,180, + 32,184, 32,152, 4, 70,252, 65, 43, 55,137,184, 2,174,252, 68,174, 84,158,184,243, 41, 0, 0, 0, 3, 0, 82,255, 84, 4,126, + 7, 24, 0, 5, 0, 38, 0, 42, 0, 0, 9, 1, 17, 9, 1, 17, 1, 53, 52, 55, 54, 63, 1, 54, 55, 54, 53, 52, 38, 35, 34, 6, + 7, 21, 62, 1, 51, 50, 22, 21, 20, 6, 15, 1, 6, 7, 6, 29, 1, 7, 21, 51, 53, 2,104, 2, 22,253,234,253,234, 2,117, 19, + 18, 70, 88, 94, 34, 33,221,186,104,191, 94, 98,178, 78,109,131, 47, 62, 90, 85, 29, 31, 7,203, 7, 24,254, 23,252, 14,254, 23, + 1,233, 3,242,252, 98,170, 61, 42, 40, 68, 86, 92, 66, 65, 76,161,192, 56, 57,188, 68, 69,110, 89, 49, 88, 59, 89, 84, 66, 69, + 98,154,147,254,254, 0, 0, 0,255,255, 0, 37, 0, 0, 4,172, 5,213, 16, 6, 0, 36, 0, 0,255,255, 0,166, 0, 0, 4,113, + 5,213, 16, 6, 0, 37, 0, 0,255,255, 0,139,255,227, 4, 49, 5,240, 16, 6, 0, 38, 0, 0,255,255, 0,137, 0, 0, 4, 82, + 5,213, 16, 6, 0, 39, 0, 0,255,255, 0,197, 0, 0, 4, 78, 5,213, 16, 6, 0, 40, 0, 0,255,255, 0,233, 0, 0, 4, 88, + 5,213, 16, 6, 0, 41, 0, 0,255,255, 0,102,255,227, 4, 80, 5,240, 16, 6, 0, 42, 0, 0,255,255, 0,137, 0, 0, 4, 72, + 5,213, 16, 6, 0, 43, 0, 0,255,255, 0,201, 0, 0, 4, 6, 5,213, 16, 6, 0, 44, 0, 0,255,255, 0,109,255,227, 3,188, + 5,213, 16, 6, 0, 45, 0, 0,255,255, 0,137, 0, 0, 4,201, 5,213, 16, 6, 0, 46, 0, 0,255,255, 0,215, 0, 0, 4,115, + 5,213, 16, 6, 0, 47, 0, 0,255,255, 0, 86, 0, 0, 4,121, 5,213, 16, 6, 0, 48, 0, 0,255,255, 0,139, 0, 0, 4, 70, + 5,213, 16, 6, 0, 49, 0, 0,255,255, 0,117,255,227, 4, 92, 5,240, 16, 6, 0, 50, 0, 0,255,255, 0,197, 0, 0, 4,117, + 5,213, 16, 6, 0, 51, 0, 0,255,255, 0,117,254,242, 4, 92, 5,240, 16, 6, 0, 52, 0, 0,255,255, 0,143, 0, 0, 4,209, + 5,213, 16, 6, 0, 53, 0, 0,255,255, 0,139,255,227, 4, 74, 5,240, 16, 6, 0, 54, 0, 0,255,255, 0, 47, 0, 0, 4,162, + 5,213, 16, 6, 0, 55, 0, 0,255,255, 0,147,255,227, 4, 61, 5,213, 16, 6, 0, 56, 0, 0,255,255, 0, 57, 0, 0, 4,152, + 5,213, 16, 6, 0, 57, 0, 0,255,255, 0, 0, 0, 0, 4,209, 5,213, 16, 6, 0, 58, 0, 0,255,255, 0, 18, 0, 0, 4,190, + 5,213, 16, 6, 0, 59, 0, 0,255,255, 0, 37, 0, 0, 4,172, 5,213, 16, 6, 0, 60, 0, 0,255,255, 0,156, 0, 0, 4,145, + 5,213, 16, 6, 0, 61, 0, 0,255,255, 0,133,255,227, 4, 35, 4,123, 16, 6, 0, 68, 0, 0,255,255, 0,193,255,227, 4, 88, + 6, 20, 16, 6, 0, 69, 0, 0,255,255, 0,195,255,227, 4, 37, 4,123, 16, 6, 0, 70, 0, 0,255,255, 0,123,255,227, 4, 18, + 6, 20, 16, 6, 0, 71, 0, 0,255,255, 0,123,255,227, 4, 88, 4,123, 16, 6, 0, 72, 0, 0,255,255, 0,195, 0, 0, 4, 39, + 6, 20, 16, 6, 0, 73, 0, 0,255,255, 0,123,254, 72, 4, 18, 4,123, 16, 6, 0, 74, 0, 0,255,255, 0,195, 0, 0, 4, 27, + 6, 20, 16, 6, 0, 75, 0, 0,255,255, 0,178, 0, 0, 4, 68, 6, 20, 16, 6, 0, 76, 0, 0,255,255, 0,186,254, 86, 3, 16, + 6, 20, 16, 6, 0, 77, 0, 0,255,255, 0,236, 0, 0, 4,178, 6, 20, 16, 6, 0, 78, 0, 0,255,255, 0,160, 0, 0, 4, 10, + 6, 31, 16, 6, 0, 79, 0, 0,255,255, 0,109, 0, 0, 4,111, 4,123, 16, 6, 0, 80, 0, 0,255,255, 0,195, 0, 0, 4, 27, + 4,123, 16, 6, 0, 81, 0, 0,255,255, 0,137,255,227, 4, 72, 4,123, 16, 6, 0, 82, 0, 0,255,255, 0,190,254, 86, 4, 84, + 4,123, 16, 6, 0, 83, 0, 0,255,255, 0,137,254, 82, 4, 31, 4,119, 16, 6, 0, 84, 0, 0,255,255, 1,106, 0, 0, 4,131, + 4,123, 16, 6, 0, 85, 0, 0,255,255, 0,213,255,227, 4, 6, 4,123, 16, 6, 0, 86, 0, 0,255,255, 0,131, 0, 0, 4, 8, + 5,158, 16, 6, 0, 87, 0, 0,255,255, 0,195,255,227, 4, 27, 4, 94, 16, 6, 0, 88, 0, 0,255,255, 0,100, 0, 0, 4,109, + 4, 96, 16, 6, 0, 89, 0, 0,255,255, 0, 0, 0, 0, 4,209, 4, 96, 16, 6, 0, 90, 0, 0,255,255, 0, 76, 0, 0, 4,133, + 4, 96, 16, 6, 0, 91, 0, 0,255,255, 0,104,254, 86, 4,129, 4, 96, 16, 6, 0, 92, 0, 0,255,255, 0,203, 0, 0, 4, 16, + 4, 98, 16, 6, 0, 93, 0, 0,255,255, 0,133,255,227, 4, 76, 5,240, 16, 6, 0, 19, 0, 0,255,255, 0,246, 0, 0, 4, 70, + 5,213, 16, 6, 0, 20, 0, 0,255,255, 0,152, 0, 0, 4, 35, 5,240, 16, 6, 0, 21, 0, 0,255,255, 0,137,255,227, 4, 55, + 5,240, 16, 6, 0, 22, 0, 0,255,255, 0,102, 0, 0, 4,111, 5,213, 16, 6, 0, 23, 0, 0,255,255, 0,143,255,227, 4, 45, + 5,213, 16, 6, 0, 24, 0, 0,255,255, 0,133,255,227, 4, 76, 5,240, 16, 6, 0, 25, 0, 0,255,255, 0,139, 0, 0, 4, 55, + 5,213, 16, 6, 0, 26, 0, 0,255,255, 0,131,255,227, 4, 78, 5,240, 16, 6, 0, 27, 0, 0,255,255, 0,127,255,227, 4, 70, + 5,240, 16, 6, 0, 28, 0, 0, 0, 1, 1,219, 4,238, 2,230, 6,102, 0, 3, 0, 17, 64, 6, 0, 3, 4, 1, 3, 4, 16,212, +204, 49, 0, 16,212,204, 48, 1, 51, 3, 35, 2, 32,198,113,154, 6,102,254,136, 0, 2, 1, 63, 5, 14, 3,145, 5,217, 0, 3, + 0, 7, 0, 81, 64, 13, 4, 0,222, 6, 2, 8, 5, 97, 4, 1, 97, 0, 8, 16,212,252,212,236, 49, 0, 16,212, 60,236, 50, 48, + 0, 75,176, 14, 84, 88,189, 0, 8, 0, 64, 0, 1, 0, 8, 0, 8,255,192, 56, 17, 55, 56, 89, 1, 75,176, 14, 84, 75,176, 13, + 84, 91, 88,189, 0, 8,255,192, 0, 1, 0, 8, 0, 8, 0, 64, 56, 17, 55, 56, 89, 1, 51, 21, 35, 37, 51, 21, 35, 1, 63,203, +203, 1,136,202,202, 5,217,203,203,203, 0, 0, 0, 1, 1,219, 4,238, 3, 90, 5,246, 0, 3, 0,107,181, 0, 2, 4, 1, 3, + 4, 16,212,196, 49, 0, 16,212,196, 48, 0, 75,176, 12, 84, 88,189, 0, 4,255,192, 0, 1, 0, 4, 0, 4, 0, 64, 56, 17, 55, + 56, 89, 0, 75,176, 14, 84, 88,189, 0, 4, 0, 64, 0, 1, 0, 4, 0, 4,255,192, 56, 17, 55, 56, 89, 64, 38, 15, 0, 15, 1, + 10, 2, 10, 3, 31, 0, 31, 1, 31, 2, 31, 3, 47, 0, 47, 1, 47, 2, 47, 3, 12, 15, 0, 15, 1, 31, 0, 31, 1, 47, 0, 47, + 1, 6, 93, 1, 93, 1, 51, 3, 35, 2,160,186,229,154, 5,246,254,248, 0, 0, 0, 1, 1, 31, 5, 14, 3,178, 5,233, 0, 29, + 0,209, 64, 30, 22, 16, 15, 3, 19, 12, 7, 1, 0, 3, 8, 4,204, 23, 12, 19,204, 27, 8, 30, 16, 1, 15, 0, 7, 22, 24, 7, + 9, 30, 16,212,196,212,196, 17, 57, 57, 57, 57, 49, 0, 16,212, 60,252,212, 60,236, 17, 23, 57, 17, 18, 23, 57, 48, 0, 75,176, + 14, 84, 75,176, 17, 84, 91, 88,189, 0, 30, 0, 64, 0, 1, 0, 30, 0, 30,255,192, 56, 17, 55, 56, 89, 64,116, 9, 0, 9, 1, + 15, 11, 15, 12, 15, 13, 13, 14, 15, 15, 15, 16, 15, 17, 15, 18, 15, 19, 15, 20, 15, 21, 15, 22, 15, 23, 15, 24, 11, 25, 26, 0, + 26, 1, 29, 11, 29, 12, 29, 13, 30, 14, 31, 15, 31, 16, 31, 17, 31, 18, 31, 19, 31, 20, 31, 21, 31, 22, 31, 23, 31, 24, 33, 15, + 1, 15, 2, 15, 3, 15, 4, 15, 5, 15, 11, 15, 12, 15, 13, 15, 21, 15, 22, 15, 23, 15, 24, 31, 1, 31, 2, 31, 3, 31, 4, 31, + 5, 31, 11, 31, 12, 31, 13, 31, 21, 31, 22, 31, 23, 31, 24, 24, 93, 1, 93, 1, 39, 46, 1, 35, 34, 6, 29, 1, 35, 52, 54, 51, + 50, 22, 31, 1, 30, 1, 51, 50, 54, 61, 1, 51, 14, 1, 35, 34, 38, 2,100, 57, 25, 31, 12, 35, 40,125,103, 85, 36, 61, 49, 57, + 22, 35, 15, 31, 40,125, 2,102, 84, 34, 60, 5, 57, 33, 14, 11, 50, 45, 6,101,118, 16, 27, 30, 13, 12, 51, 41, 6,100,119, 16, + 0, 1, 1,121, 4,238, 2,246, 5,246, 0, 3, 0,105,181, 0, 1, 4, 1, 3, 4, 16,212,196, 49, 0, 16,212,196, 48, 0, 75, +176, 12, 84, 88,189, 0, 4,255,192, 0, 1, 0, 4, 0, 4, 0, 64, 56, 17, 55, 56, 89, 0, 75,176, 14, 84, 88,189, 0, 4, 0, + 64, 0, 1, 0, 4, 0, 4,255,192, 56, 17, 55, 56, 89, 1, 75,176, 14, 84, 88,189, 0, 4, 0, 64, 0, 1, 0, 4, 0, 4,255, +192, 56, 17, 55, 56, 89, 64, 13, 15, 0, 15, 3, 31, 0, 31, 3, 47, 0, 47, 3, 6, 0, 93, 1, 19, 35, 3, 2, 49,197,154,227, + 5,246,254,248, 1, 8, 0, 0, 0, 1, 1, 55, 4,238, 3,154, 5,248, 0, 6, 0, 93, 64, 9, 4, 0, 5, 2, 7, 4, 2, 6, + 7, 16,212,196, 57, 49, 0, 16,212, 60,196, 57, 48, 0, 75,176, 12, 84, 88,189, 0, 7,255,192, 0, 1, 0, 7, 0, 7, 0, 64, + 56, 17, 55, 56, 89, 0, 75,176, 14, 84, 88,189, 0, 7, 0, 64, 0, 1, 0, 7, 0, 7,255,192, 56, 17, 55, 56, 89, 64, 19, 15, + 0, 15, 1, 12, 4, 31, 0, 31, 1, 28, 4, 47, 0, 47, 1, 44, 4, 9, 93, 1, 51, 19, 35, 39, 7, 35, 2, 10,189,211,140,166, +165,140, 5,248,254,246,178,178, 0, 1, 1, 55, 4,238, 3,154, 5,248, 0, 6, 0,105, 64, 9, 3, 4, 1, 0, 7, 3, 5, 1, + 7, 16,212,196, 57, 49, 0, 16,212,196, 50, 57, 48, 0, 75,176, 14, 84, 88,189, 0, 7, 0, 64, 0, 1, 0, 7, 0, 7,255,192, + 56, 17, 55, 56, 89, 0, 75,176, 12, 84, 88,189, 0, 7,255,192, 0, 1, 0, 7, 0, 7, 0, 64, 56, 17, 55, 56, 89, 64, 31, 15, + 1, 15, 2, 10, 3, 15, 4, 15, 5, 31, 1, 31, 2, 26, 3, 31, 4, 31, 5, 47, 1, 47, 2, 42, 3, 47, 4, 47, 5, 15, 93, 1, + 3, 51, 23, 55, 51, 3, 2, 10,211,140,165,166,140,211, 4,238, 1, 10,178,178,254,246, 0, 0, 0, 1, 0, 27, 1,248, 4, 90, + 3,106, 0, 3, 0, 25, 64, 10, 1, 0, 3, 2, 4, 2, 0, 3, 1, 4, 16,212,196, 57, 57, 49, 0, 16,212,220,212,204, 48, 19, + 39, 1, 23, 51, 24, 4, 36, 27, 1,248,108, 1, 6,108, 0, 0, 0, 1, 1, 47, 6,123, 3,162, 7,109, 0, 12, 0, 0, 1, 62, + 1, 32, 22, 23, 35, 46, 1, 35, 34, 6, 7, 1, 47, 11,158, 1, 32,159, 11,119, 15, 97, 83, 82,100, 12, 6,123,120,122,123,119, + 56, 55, 57, 54, 0, 1, 1, 47, 6,123, 3,162, 7,109, 0, 13, 0, 31,178, 7, 0, 4,184, 1, 3, 64, 9, 11, 14, 7, 80, 8, + 1, 80, 0, 14, 16,212,236,212,236, 49, 0, 16,212,252,196, 50, 48, 1, 51, 30, 1, 51, 50, 54, 55, 51, 14, 1, 35, 34, 38, 1, + 47,119, 12,100, 82, 83, 97, 15,119, 11,159,144,144,158, 7,109, 54, 57, 55, 56,119,123,122, 0, 0, 1, 2, 1, 6,131, 2,206, + 7, 80, 0, 3, 0, 18,183, 0,222, 2, 4, 1, 97, 0, 4, 16,212,236, 49, 0, 16,212,236, 48, 1, 51, 21, 35, 2, 1,205,205, + 7, 80,205, 0, 0, 2, 1, 88, 6, 99, 4, 22, 7,107, 0, 3, 0, 7, 0, 25, 64, 10, 0, 4, 3, 7, 8, 1, 3, 5, 7, 8, + 16,212,204,212,204, 49, 0, 16,212, 60,204, 50, 48, 1, 51, 3, 35, 3, 51, 3, 35, 3, 92,186,229,154,122,186,229,154, 7,107, +254,248, 1, 8,254,248, 0, 0, 0, 2, 0,187, 6, 99, 3,121, 7,107, 0, 3, 0, 7, 0, 0, 1, 19, 35, 3, 33, 19, 35, 3, + 1,117,197,154,229, 1,249,197,154,229, 7,107,254,248, 1, 8,254,248, 1, 8, 0, 2, 1,102, 0, 0, 3,149, 5,241, 0, 36, + 0, 40, 0, 0, 1, 35, 53, 52, 55, 54, 63, 1, 62, 1, 53, 52, 39, 38, 39, 38, 7, 6, 7, 53, 54, 55, 54, 23, 22, 23, 22, 21, + 20, 7, 6, 15, 1, 6, 7, 6, 21, 3, 51, 21, 35, 2,174,194, 19, 20, 55, 58, 41, 30, 42, 37, 62, 56, 39, 57, 64, 66, 57, 81, + 91,126, 67, 71, 21, 22, 61, 57, 46, 12, 12,199,203,203, 1,145,154, 98, 69, 66, 84, 89, 59, 88, 49, 73, 42, 37, 4, 2, 22, 35, + 68,217, 62, 23, 34, 6, 7, 89, 96,161, 76, 65, 66, 92, 86, 69, 39, 42, 61,254,195,254, 0, 0, 0, 1, 1, 61, 6,156, 3,147, + 7, 48, 0, 3, 0, 17,182, 2,182, 0, 4, 1, 0, 4, 16,212,204, 49, 0, 16,212,236, 48, 1, 33, 21, 33, 1, 61, 2, 86,253, +170, 7, 48,148, 0, 1, 0,156,255, 52, 4, 53,255,166, 0, 3, 0, 0, 5, 33, 53, 33, 4, 53,252,103, 3,153,204,114, 0, 0, + 0, 1, 0, 6,255, 52, 4,203,255,166, 0, 3, 0, 0, 5, 33, 53, 33, 4,203,251, 59, 4,197,204,114, 0, 0, 0, 1, 1, 0, +255, 52, 3,209,255,166, 0, 3, 0, 0, 5, 33, 53, 33, 3,209,253, 47, 2,209,204,114, 0, 0, 0, 2, 1, 94, 1,212, 3,115, + 3,233, 0, 11, 0, 19, 0, 0, 1, 50, 23, 30, 1, 21, 20, 6, 34, 38, 52, 54, 22, 34, 6, 20, 22, 50, 54, 52, 2,104,114, 76, + 38, 39,156,226,151,154,171,118, 85, 82,121, 86, 3,233, 80, 37, 96, 56,110,154,151,226,156,124, 84,121, 82, 84,118, 0, 0, 0, + 0, 2, 1, 63, 5, 70, 3,145, 6, 16, 0, 3, 0, 7, 0, 0, 1, 51, 21, 35, 37, 51, 21, 35, 1, 63,203,203, 1,136,202,202, + 6, 16,202,202,202, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,150, 0,150, 0, 3, 0, 0, 53, 51, 21, 35,150,150,150,150, 0, 0, + 0, 2, 0, 0, 0, 0, 1,144, 0,150, 0, 3, 0, 7, 0, 0, 55, 51, 21, 35, 39, 51, 21, 35,250,150,150,250,150,150,150,150, +150,150, 0, 0, 0, 3, 0, 0, 0, 0, 1,144, 1,144, 0, 3, 0, 7, 0, 11, 0, 0, 19, 51, 21, 35, 23, 51, 21, 35, 39, 51, + 21, 35,125,150,150,125,150,150,250,150,150, 1,144,150,100,150,150,150, 0, 0, 0, 1, 0, 69,255,236, 4,229, 2, 28, 0, 38, + 0, 0, 5, 34, 39, 38, 53, 52, 55, 51, 6, 21, 20, 23, 22, 51, 50, 55, 54, 55, 54, 53, 52, 39, 51, 22, 21, 20, 23, 22, 59, 1, + 21, 35, 34, 39, 38, 39, 6, 7, 6, 2, 31,186,131,157, 41,184, 43,117, 98,127, 69,130, 87, 45, 55, 29,184, 19, 24, 19, 24, 33, + 75, 52, 47, 43, 20, 88, 96,116, 20, 56, 65,219, 62,124,138, 48,108, 30, 25, 55, 37, 53, 65, 56, 62, 55, 75, 90,100, 51, 40,184, + 44, 42, 79, 81, 47, 57, 0, 0, 0, 2,255,236, 0, 0, 3, 63, 3,217, 0, 15, 0, 48, 0, 0, 1, 54, 53, 52, 39, 38, 7, 6, + 7, 6, 7, 20, 23, 22, 51, 50, 1, 51, 50, 55, 54, 55, 54, 55, 6, 7, 6, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, + 22, 21, 20, 7, 6, 7, 6, 35, 33, 2, 86, 41, 66, 31, 44, 52, 40, 40, 1, 55, 40, 42, 72,253,174,241, 84,151, 79, 60, 31, 15, + 63, 97,130, 78, 98, 8, 23,150, 78, 76, 90, 66, 96, 46, 23, 78, 74,124,109,145,254,191, 2, 25, 43, 77, 59, 51, 25, 1, 1, 42, + 41, 51, 80, 38, 25,254,183, 23, 12, 93, 48, 50, 55, 2, 2, 69, 87,129, 52, 44,148, 69, 36, 50, 72,102, 51,140,208,143,136, 44, + 39, 0, 0, 0, 0, 2,255,236, 0, 0, 4,229, 3, 8, 0, 32, 0, 51, 0, 0, 1, 22, 23, 22, 21, 20, 7, 6, 7, 22, 59, 1, + 21, 33, 34, 39, 6, 35, 33, 53, 51, 50, 55, 38, 39, 38, 53, 52, 55, 54, 55, 54, 50, 6, 34, 7, 6, 7, 6, 21, 20, 23, 22, 23, + 54, 55, 54, 53, 52, 39, 38, 39, 2,200,183, 25, 8, 22, 28, 36, 38,148,225,254,197,136,186,184,136,254,196,226,146, 40, 30, 36, + 20, 8, 23,185, 30,128, 50, 28, 18, 56, 24, 10, 24, 30, 68, 64, 36, 24, 10, 24, 56, 2,250, 80,150, 50, 42, 73, 49, 67, 50, 17, +184, 57, 57,184, 17, 40, 77, 46, 76, 44, 48,143, 87, 14,184, 10, 32, 53, 21, 29, 43, 53, 68, 22, 21, 69, 50, 46, 24, 26, 52, 33, + 0, 2,255,237,254, 19, 4,229, 2,228, 0, 46, 0, 64, 0, 0, 37, 38, 39, 38, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, + 23, 22, 23, 22, 59, 1, 21, 43, 1, 6, 7, 6, 7, 6, 39, 36, 39, 38, 53, 52, 55, 51, 6, 21, 20, 23, 22, 51, 50, 55, 54, 19, + 54, 39, 38, 39, 38, 35, 34, 7, 6, 7, 6, 21, 20, 23, 22, 23, 22, 3,140, 66, 46,121, 57,147, 6, 40,147, 41, 87,112, 56, 99, + 50, 20, 6, 26, 4, 88, 93, 48, 30, 76,104,142,151,164,254,211, 94, 69, 62,184, 62, 27, 58,195,108,117,158,123, 4, 22, 19, 47, + 34, 39, 34, 21, 53, 19, 10, 57, 76,100, 47, 10, 5, 13, 35, 43,109,185, 61, 26,165, 69, 19, 50, 88,145, 58,214, 1,184, 83,109, +149, 74, 78, 1, 2,190,138,125,166, 96,107,155, 73, 61,130, 60, 81, 1,107,122, 87, 75, 35, 25, 10, 28, 57, 30, 25, 60, 44, 59, + 20, 9, 0, 0, 0, 2,255,106,255,164, 4,229, 3, 4, 0, 43, 0, 61, 0, 0, 37, 6, 7, 6, 7, 6, 39, 36, 3, 52, 55, 51, + 6, 21, 20, 23, 22, 51, 50, 55, 38, 39, 38, 53, 52, 55, 54, 55, 54, 51, 50, 23, 22, 23, 22, 21, 20, 7, 22, 59, 1, 21, 35, 34, + 39, 54, 53, 52, 39, 38, 39, 38, 35, 34, 7, 6, 7, 6, 21, 20, 23, 22, 3,115, 61,118,182,124,139,113,254,218, 2, 64,184, 66, +170, 71,131,112,151, 34, 29, 82, 4, 22,188, 58, 52, 82, 81,139, 16, 4, 80, 9, 7,149,154,105,111,104, 5, 14, 52, 34, 40, 24, + 22, 61, 19, 6, 41, 49, 36, 33, 36, 56, 2, 2, 40,103, 1, 8,138, 92, 94,136,125, 69, 29, 58, 27, 44,124,108, 39, 28,155, 75, + 23, 50, 84,149, 37, 30,131,106, 1,184,223, 65,109, 20, 27, 71, 39, 25, 10, 25, 60, 19, 18, 43, 66, 78, 0, 0, 0, 3, 0, 0, +255, 6, 1,144, 0,150, 0, 3, 0, 7, 0, 11, 0, 0, 23, 51, 53, 35, 55, 51, 53, 35, 7, 51, 53, 35,125,150,150,125,150,150, +250,150,150,250,150,100,150,150,150, 0, 0, 0, 0, 2, 0, 0,255, 6, 0,150, 0,150, 0, 3, 0, 7, 0, 0, 21, 51, 21, 35, + 17, 51, 21, 35,150,150,150,150,100,150, 1,144,150, 0, 0, 0, 0, 4, 0, 0,255, 6, 1,144, 0,150, 0, 3, 0, 7, 0, 11, + 0, 15, 0, 0, 23, 51, 21, 35, 17, 51, 21, 35, 7, 51, 21, 35, 17, 51, 21, 35,250,150,150,150,150,250,150,150,150,150,100,150, + 1,144,150,100,150, 1,144,150, 0, 1, 0, 0, 4,116, 2,183, 7, 56, 0, 3, 0, 0, 9, 1, 53, 1, 2,183,253, 73, 2,183, + 6,134,253,238,178, 2, 18, 0, 0, 1, 0, 0, 4,243, 3,156, 7, 57, 0, 3, 0, 0, 9, 1, 53, 1, 3,156,252,100, 3,156, + 6,135,254,109,178, 1,147, 0, 0, 2, 0, 0, 0, 0, 1,182, 1,183, 0, 11, 0, 23, 0, 0, 37, 52, 39, 38, 34, 6, 21, 20, + 23, 22, 50, 62, 1, 20, 7, 6, 34, 39, 38, 52, 55, 54, 50, 23, 1, 60, 28, 28, 82, 56, 28, 28, 82, 56,122, 63, 64,184, 63, 64, + 64, 63,184, 64,220, 40, 28, 29, 56, 41, 42, 28, 27, 56,133,184, 64, 64, 64, 64,184, 64, 63, 63, 0, 1, 0,149,254, 86, 4, 60, + 5,213, 0, 19, 0, 68, 64, 33, 17, 1, 2, 1, 2, 16, 17, 16, 66, 17, 2, 3, 0,180, 19, 11,151, 10, 16, 19, 1, 17, 16, 3, + 17, 11, 4, 49, 17, 17, 0, 48, 20, 16,252,236,252,196,236, 50, 17, 57, 49, 0, 47, 60,212,236, 16,236, 50, 57, 57, 48, 75, 83, + 88, 7, 16, 4,201, 7, 16, 4,201, 89, 19, 51, 1, 17, 51, 17, 20, 7, 6, 43, 1, 53, 51, 50, 55, 54, 53, 1, 17, 35,149,185, + 2, 53,185, 89, 90,165,205,185, 90, 45, 44,253,203,185, 5,213,251,151, 4,105,250, 23,195,105,106,156, 62, 62,146, 4,105,251, +151, 0, 0, 0, 0, 1, 0, 0, 0, 2, 64, 0, 9,134,133,154, 95, 15, 60,245, 0, 31, 8, 0, 0, 0, 0, 0,196, 90,209, 71, + 0, 0, 0, 0,196, 90,209, 71,251,137,253, 1, 5,190, 8, 85, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, + 7,109,254, 29, 0, 0, 4,209,251,137,255, 20, 5,190, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, + 4,209, 0,104, 0, 0, 0, 0, 4,209, 0, 0, 4,209, 0, 0, 2, 4, 1, 82, 0, 2, 0,190, 0, 33, 0, 57, 2, 16, 1,170, + 1, 92, 0,166, 0, 88, 1,147, 1,100, 1,233, 0,102, 0,133, 0,246, 0,152, 0,137, 0,102, 0,143, 0,133, 0,139, 0,131, + 0,127, 1,233, 1,147, 0, 88, 0, 88, 0, 88, 0,244, 0, 27, 0, 37, 0,166, 0,139, 0,137, 0,197, 0,233, 0,102, 0,137, + 0,201, 0,109, 0,137, 0,215, 0, 86, 0,139, 0,117, 0,197, 0,117, 0,143, 0,139, 0, 47, 0,147, 0, 57, 0, 0, 0, 18, + 0, 37, 0,156, 1,207, 0,102, 1, 90, 0, 72, 0, 0, 1, 23, 0,133, 0,193, 0,195, 0,123, 0,123, 0,195, 0,123, 0,195, + 0,178, 0,186, 0,236, 0,160, 0,109, 0,195, 0,137, 0,190, 0,137, 1,106, 0,213, 0,131, 0,195, 0,100, 0, 0, 0, 76, + 0,104, 0,203, 0,221, 2, 18, 0,221, 0, 88, 0, 0, 2, 4, 0,213, 0,139, 0,205, 0, 37, 2, 18, 0,199, 1, 63, 0, 0, + 1, 14, 0,119, 0, 88, 1,100, 0, 0, 1, 61, 1, 43, 0, 88, 1, 66, 1, 70, 1,219, 0,195, 0,106, 1,233, 1,139, 1, 88, + 0,244, 0,193, 0, 27, 0, 27, 0, 27, 0,193, 0, 37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 37, 0, 0, 0,139, 0,197, 0,197, + 0,197, 0,197, 0,201, 0,201, 0,201, 0,201, 0, 8, 0,139, 0,117, 0,117, 0,117, 0,117, 0,117, 0,150, 0, 8, 0,147, + 0,147, 0,147, 0,147, 0, 37, 0,201, 0,188, 0,133, 0,133, 0,133, 0,133, 0,133, 0,133, 0, 41, 0,195, 0,123, 0,123, + 0,123, 0,123, 0,178, 0,178, 0,178, 0,178, 0,137, 0,195, 0,137, 0,137, 0,137, 0,137, 0,137, 0, 88, 0, 47, 0,195, + 0,195, 0,195, 0,195, 0,104, 0,190, 0,104, 0, 37, 0,133, 0, 37, 0,133, 0, 37, 0,133, 0,139, 0,195, 0,139, 0,195, + 0,139, 0,195, 0,139, 0,195, 0,137, 0,123, 0, 8, 0,123, 0,197, 0,123, 0,197, 0,123, 0,197, 0,123, 0,197, 0,123, + 0,197, 0,123, 0,102, 0,123, 0,102, 0,123, 0,102, 0,123, 0,102, 0,123, 0,137, 0,195, 0, 3, 0, 70, 0,201, 0,178, + 0,201, 0,178, 0,201, 0,178, 0,201, 0,178, 0,201, 0,178,255,255,255,252, 0,109, 0,186, 0,137, 0,236, 0,236, 0,200, + 0,160, 0,215, 0,160, 0,215, 0,160, 0,215, 0,160,255,246, 0, 76, 0,139, 0,195, 0,139, 0,195, 0,139, 0,195, 0, 24, + 0,147, 0,195, 0,117, 0,137, 0,117, 0,137, 0,117, 0,137, 0, 72, 0, 14, 0,143, 1,106, 0,143, 1, 32, 0,143, 1,106, + 0,139, 0,213, 0,139, 0,213, 0,139, 0,213, 0,139, 0,213, 0, 47, 0,131, 0, 47, 0,131, 0, 47, 0,131, 0,147, 0,195, + 0,147, 0,195, 0,147, 0,195, 0,147, 0,195, 0,147, 0,195, 0,147, 0,195, 0, 0, 0, 0, 0, 37, 0,104, 0, 37, 0,156, + 0,203, 0,156, 0,203, 0,156, 0,203, 0,195, 0, 70, 0, 20, 0,166, 0,193, 0, 48, 0, 60, 0,139, 0, 60, 0, 94, 0, 8, + 0, 8, 0,131, 0,157, 0,136, 0,197, 0,117, 0,137, 0, 63, 0,195, 0, 52, 0, 28, 0, 65, 0,201, 0,201, 0,110, 0,236, + 0,160, 0, 49, 0,109, 0, 29, 0,195, 0,117, 0, 6, 0, 32, 0, 45, 0, 86, 0, 56, 0,190, 0,143, 0,139, 0,213, 0,120, + 0,118, 0,131, 0, 47, 0,131, 0, 47, 0, 9, 0, 39, 0, 74, 0,154, 0, 17, 0, 24, 0,156, 0,156, 0, 26, 0, 26, 0,125, + 0,152, 0, 26, 0,125, 0,194, 2, 3, 1, 57, 0,164, 2, 3, 0, 37, 0,133, 0,201, 0,178, 0,117, 0,137, 0,147, 0,195, + 0,147, 0,195, 0,147, 0,195, 0,147, 0,195, 0,147, 0,195, 0,122, 0, 37, 0,133, 0, 37, 0,133, 0, 0, 0, 41, 0,102, + 0,123, 0,137, 0,236, 0,117, 0,137, 0,117, 0,137, 0, 26, 0,125, 0,186, 0,102, 0,123, 0, 61, 0,139, 0,195, 0, 0, + 0, 41, 0, 8, 0, 47, 0, 37, 0,133, 0, 37, 0,133, 0,187, 0,123, 0,197, 0,123, 0,187, 0,178, 0,201, 0,178, 0,117, + 0,137, 0,117, 0,137, 0,137, 1,104, 0,143, 1,106, 0,147, 0,195, 0,147, 0,195, 0,139, 0,213, 0, 47, 0,131, 0,137, + 0,195, 0,147, 0, 18, 0,156, 0,203, 0, 37, 0,133, 0,197, 0,123, 0,117, 0,137, 0,117, 0,137, 0,117, 0,137, 0,117, + 0,137, 0, 37, 0,104, 0,160, 0,106, 0,131, 0,186, 0,120, 0,120, 0, 8, 0, 8, 0, 47, 0, 21, 0, 33, 0,213, 0,203, + 0, 55, 0, 57, 0,154, 0,123, 0,192, 0,193, 0,184, 0,195, 0,123, 0,123, 0,122, 0,122, 0, 30, 0,169, 0,169, 0, 56, + 0,176, 0,186, 0,123, 0,157, 0,122, 0,102, 0,102, 0,188, 0,195, 0,195, 0,142, 0,198, 0,160, 0, 88, 0,157, 0,160, + 0, 40, 0,104, 0,104, 0,103, 0,178, 0,136, 0,144, 0,137, 0, 69, 0,170, 0,137, 0,152, 0,152, 0,102, 1,106, 1,106, + 0,160, 0,160, 0,122, 0,122, 0,188, 0,125, 0,125, 0,125, 0,118, 0,166, 0,131, 0, 0, 0, 95, 0, 65, 0, 72, 0, 15, + 0, 72, 0,102, 0,194, 0,167, 0,125, 0,105, 0,194, 0,194, 0,194, 0,194, 0, 95, 0,209, 0,176, 0, 54, 0,144, 0,202, + 0,119, 0,245, 0, 35, 0,194, 0,194, 0, 29, 0, 27, 0, 54, 0,153, 0,153, 0,181, 0,135, 0,230, 0,219, 0,143, 0,143, + 0,178, 0,197, 1, 65, 1, 65, 1,230, 1,153, 1,153, 1, 81, 1, 48, 0,143, 1, 17, 1,236, 1,207, 1,207, 1,240, 1,223, + 1,223, 1, 94, 1, 94, 1, 41, 1, 41, 2, 36, 1, 61, 2, 36, 1, 61, 1,182, 1,182, 1,223, 1,223, 0,193, 1, 47, 2, 1, + 1, 86, 1,164, 1, 31, 1, 88,254,161, 1, 37, 1, 86, 1, 91, 1, 18, 1, 94, 0,214, 0,214, 0,214, 0,214, 0,214, 1,141, + 1, 23, 1,219, 1, 41, 1, 31, 1, 61, 0, 0, 1, 47, 2, 1, 1, 63, 1,153, 1, 86, 1, 88, 1, 41, 2, 34, 1, 86, 0,210, + 1, 47, 1, 47, 1,213, 1,239, 1,240, 1,219, 1,121, 1,121, 1,156, 1,204, 1,115, 1,163, 1,250, 1, 98, 1, 94, 1, 95, + 1,115, 1,246, 0,182, 2, 1, 1, 63, 1,141, 1,152, 1,139, 1,174, 2, 36, 1, 85, 0,206, 1, 41, 1, 41, 1, 47, 1, 47, + 1, 31, 1, 61, 0, 0, 0, 0, 0, 88, 0,141, 0, 0, 0, 47, 0, 8, 1,250, 1, 85, 1, 85, 0,206, 1,139, 1,219, 0, 0, + 1,239, 4, 2,255, 20, 1,236, 1,230, 2, 30, 1,147, 1,219, 1, 63, 0, 25, 1,233,255, 31,254,237,255, 31,255,181,254,112, +255,206, 1, 54, 0, 37, 0,166, 0,215, 0, 37, 0,197, 0,156, 0,137, 0,117, 0,201, 0,137, 0, 37, 0, 86, 0,139, 0,137, + 0,117, 0,137, 0,197, 0,120, 0, 47, 0, 37, 0,117, 0, 18, 0,117, 0, 74, 0,201, 0, 37, 0, 70, 0,169, 0,195, 1, 54, + 0, 51, 0, 70, 0,151, 0, 32, 0,137, 0,169, 0,152, 0,195, 0,137, 1, 54, 0,236, 0, 68, 0,195, 0,116, 0,161, 0,137, + 0, 80, 0,190, 0,195, 0,137, 0,159, 0, 51, 0, 76, 0, 89, 0,131, 0, 70, 1, 54, 0, 51, 0,137, 0, 51, 0, 70, 0,149, + 0,114, 0, 34,254,112, 0, 34, 0,109, 0, 57, 0, 51, 0,117, 0,137, 0,139, 0,155, 0,233, 0, 0, 0, 96, 0,132, 0, 33, + 0, 89, 0, 52, 0,190, 0,195, 0,186, 0,117, 0,162, 0,162, 0,201, 0,190, 0,139, 0, 86, 0,127, 0, 85, 0,139, 0,139, + 0,139, 0,197, 0,197,255,190, 0,215, 0,139, 0,139, 0,201, 0,201, 0,109,255,237, 0, 34,255,190, 0,137, 0,139, 0,104, + 0,137, 0, 37, 0,166, 0,166, 0,215, 0, 33, 0,197, 0, 15, 0,137, 0,139, 0,139, 0,137, 0, 4, 0, 86, 0,137, 0,117, + 0,137, 0,197, 0,139, 0, 47, 0,104, 0, 66, 0, 18, 0, 80, 0,137, 0,114, 0, 60, 0, 32, 0, 65, 0,197, 0,139, 0, 60, + 0, 76, 0,133, 0,125, 0,209, 1, 1, 0,105, 0,123, 0, 59, 0,169, 0,195, 0,195, 0,236, 0, 30, 0, 61, 0,195, 0,137, + 0,195, 0,190, 0,195, 0,225, 0,104, 0, 99, 0, 76, 0,124, 0,195, 0,125, 0, 80, 0, 30, 0,104, 0,195, 0,195, 0, 78, + 0,168, 0,123, 0,123, 0, 35, 1, 1, 0,195, 0,213, 0,178, 0,178, 0,186, 0, 10, 0, 65, 0, 35, 0,236, 0,195, 0,104, + 0,195, 0,215, 1, 1, 0, 85, 0,127, 0,215, 1, 1, 0, 15, 0, 59, 0,137, 0,169, 0,137, 0,236, 0, 31, 0, 98, 0,139, + 0,195, 0, 47, 0,225, 0, 37, 0, 92, 0, 37, 0, 92, 0, 18, 0, 76, 0,140, 0,195, 0,201, 0, 15, 0, 59, 0,137, 0,236, + 0,137, 0,195, 0,140, 0,195, 1,199, 0, 37, 0,133, 0, 37, 0,133, 0, 0, 0, 41, 0,197, 0,123, 0,117, 0,122, 0,117, + 0,122, 0, 15, 0, 59, 0,137, 0,169, 0, 26, 0,125, 0,139, 0,195, 0,139, 0,195, 0,117, 0,137, 0,117, 0,137, 0,117, + 0,137, 0,139, 0,195, 0,104, 0,104, 0,104, 0,104, 0,104, 0,104, 0,137, 0,195, 0,215, 1, 1, 0, 65, 0,104, 1,214, + 1,100, 1,214, 0,218, 1,178, 1, 0, 1,189, 0, 76, 1,189, 0, 25, 2, 12, 0, 69, 0,222, 0, 69, 0, 69, 0, 88, 0, 88, + 0, 88, 0,232, 0,232,255,204,255,204,255, 34,255, 34,255, 16,255, 16, 0, 10, 0, 10, 0,122, 0,122,255,236,255,182, 0, 31, + 0, 8, 0, 66, 0,130, 0, 54, 0,222, 0, 76, 0, 25, 0, 25, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 48, 1, 86, + 1, 0, 1,189, 1,189, 1, 92, 1,250, 1,150, 0,154, 0,134, 0,236, 0,202, 0,154, 0,126, 0,126, 0,161, 0,200, 1, 54, + 1,214, 0,146, 0, 69, 0, 31, 1,189, 0, 69, 0, 69, 0, 69, 0, 69, 0, 69, 0, 69, 0, 69, 0, 69, 0, 88, 0, 88, 0, 88, + 0, 88, 0, 88, 0, 88, 0, 88,255,204,255,204,255,204,255,182,255,182, 0, 10, 0, 10, 0, 66, 0, 54, 0, 0, 0, 76, 0, 25, + 0, 25, 0,222, 1,250, 1,150, 0,154, 0,134, 0,175, 0,172, 1, 8, 0,126, 0,126, 0,161, 0, 62, 0,108, 0,121, 0,246, + 0,124, 0, 97, 0,114, 0,123, 0,149, 0, 26, 0,106, 0, 75, 0,124, 0,124, 0, 99, 0, 99, 0,101, 0,101, 0, 16, 0,114, + 0,100, 0, 96, 0,111, 0, 97, 0, 19, 0,119, 0, 84, 0, 48, 0, 90,251,138, 0,157,252,198, 0, 83, 0, 83, 0, 83, 0, 83, + 1,207, 1,120, 0, 68,255,240, 2, 14, 0, 86, 0, 95, 1, 73,255,240, 1,150, 0,160, 0,158, 0,110, 0, 55, 0,160, 0,158, + 0,158, 0, 55, 0,159, 0,158, 0,160, 0,158, 0,158, 0, 55, 0,159, 0,159, 0, 55, 0,159, 0, 45, 0, 55, 0, 55, 0,160, + 0, 55, 0,158, 0, 55, 0,158, 0, 86, 0,158, 0,160, 0,159, 0,159, 0,159, 0,158, 0,118, 0,160, 0,159, 0,159, 0,139, + 0, 55, 0,107, 0,161, 0,109, 0,160, 1, 35, 1,149, 0, 41, 0,169, 0,178, 0, 14, 0,137, 0,136, 0, 43, 0, 63, 0, 43, + 0,252, 0,245, 1, 55, 1, 55, 1, 76, 1, 76, 1, 44, 1, 58, 1,100, 1, 94, 1, 18, 1, 69, 1, 27, 1, 60, 1, 60, 1, 46, + 1, 63, 1, 17, 1, 2, 1, 65, 0,228, 1, 69, 1, 69, 1, 71, 0,251, 1, 71, 1, 71, 1, 49, 1, 49, 1, 79, 1, 79, 1, 71, + 1, 73, 1, 56, 1, 37, 1, 91, 1, 58, 1, 88, 1, 58, 1, 58, 1, 71, 1, 77, 1, 91, 0,255, 1, 37, 1, 35, 1, 72, 1,153, + 1, 91, 1, 35, 0,123, 1, 58, 0,156, 0,160, 1, 71, 1, 88, 1, 81, 1, 58, 1, 79, 1, 87, 1, 98, 1, 71, 1, 91, 1, 67, + 1, 97, 1, 73, 1, 71, 1,100, 1, 85, 1, 85, 1,126, 1, 37, 1, 37, 1, 85, 1, 85, 1, 63, 1, 58, 1, 58, 1, 91, 1,120, + 1, 77, 0,208, 1, 32, 1, 70, 1, 17, 1, 97, 1, 94, 1, 77, 1, 51, 1, 58, 0, 37, 0,133, 0,166, 0,193, 0,166, 0,193, + 0,166, 0,193, 0,139, 0,195, 0,137, 0,123, 0,137, 0,123, 0,137, 0,123, 0,125, 0,123, 0,137, 0,123, 0,197, 0,123, + 0,197, 0,123, 0,197, 0,123, 0,233, 0,195, 0,102, 0,123, 0,137, 0,195, 0,137, 0,195, 0, 20, 0, 55, 0,137, 0,195, + 0,201, 0,178, 0,137, 0,236, 0,137, 0,236, 0,137, 0,236, 0,215, 0,160, 0,215, 0,160, 0,215, 0,160, 0,215, 0,160, + 0, 86, 0,109, 0, 86, 0,109, 0, 86, 0,109, 0,139, 0,195, 0,139, 0,195, 0,139, 0,195, 0,139, 0,195, 0,197, 0,190, + 0,143, 1,106, 0,143, 1,106, 0,143, 1, 61, 0,143, 1, 61, 0,139, 0,213, 0,139, 0,213, 0,139, 0,213, 0, 47, 0,131, + 0, 47, 0,131, 0, 47, 0,131, 0, 47, 0,131, 0,147, 0,195, 0,147, 0,195, 0,147, 0,195, 0, 57, 0,100, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 76, 0, 37, 0,104, 0,156, 0,203, 0,156, 0,203, + 0,195, 0,195, 0, 37, 0,133, 0, 37, 0,133, 0,197, 0,123, 0,197, 0,123, 0,201, 0,178, 0,117, 0,137, 0,147, 0,195, + 0, 37, 0,104, 0, 37, 0,104, 0, 37, 0,104, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 37, 0, 37, +254,108,254,108,255, 27,255, 7,255,193,255,143, 0,169, 0,169, 0,169, 0,169, 0,169, 0,169,255,127,255,127,253,139,253,139, +254, 8,253,244, 0,195, 0,195, 0,195, 0,195, 0,195, 0,195, 0,195, 0,195,255, 77,255, 77,253, 64,253, 64,253,164,253,144, +254, 99,254, 99, 1, 54, 1, 54, 0,245, 0,245, 1, 39, 1, 19, 1, 31, 1, 31,255,127,255,127,253,164,253,164,254, 8,253,244, +254,174,254,174, 0,137, 0,137, 0,137, 0,137, 0,137, 0,137,255,202,255,127,253,139,253,139,254,158,254,138, 0, 51, 0, 51, + 0, 51, 0, 51, 0, 51, 0, 51, 0, 51, 0, 51,254,233,253, 64,253, 69,254, 24, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, + 0, 70, 0, 70,255,202,255,102,253,139,253,139,254,183,254,163,254,249,254,174, 0, 70, 0, 70, 0,169, 0,169, 0,195, 0,195, + 1, 23, 1, 54, 0,137, 0,137, 0, 51, 0, 51, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, + 0, 37, 0, 37,254,108,254,108,255, 27,255, 7,255,193,255,143, 0,195, 0,195, 0,195, 0,195, 0,195, 0,195, 0,195, 0,195, +255, 77,255, 77,253, 64,253, 64,253,164,253,144,254, 99,254, 99, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, +255,202,255,102,253,139,253,139,254,183,254,163,254,249,254,174, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70, 0, 37, + 0, 37,255,135, 0, 25, 0, 37, 1,239, 2, 30, 1,239, 1, 31, 1, 31, 0,195, 0,195, 0,195, 0,195, 0,195,254,141,255, 31, +254, 91,254,237, 0,137, 0,245, 1, 39, 1, 31, 1, 47, 1, 54, 1, 23, 1, 54, 1, 31, 1, 31, 0,201, 0,201,254,191,255, 31, + 0,245, 1, 19, 1, 31, 0, 51, 0, 51, 0, 51, 0, 51, 0,190, 0,190, 0, 51, 0, 51, 0, 37, 0, 37,254, 91,254,112,255,127, + 1, 23, 1, 63, 1, 23, 0, 70, 0, 70, 0, 70, 0, 70, 0, 70,254,166,255,181,254,166,255,206, 0, 74, 1,219, 1,239, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,100, 1,100, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1,207, 1,207, 1,147, 1,207, 0,211, 0,211, 0,211, 0,211, 0,162, 0,162, 1, 63, 1, 63, 0, 80, 0, 0, 0, 0, + 0, 0, 1, 90, 1,164, 0,208, 0,244, 0, 0, 1,207, 1, 90, 0, 33, 0, 33, 0,208, 0, 0, 1, 61, 1, 72, 1, 12, 1, 63, + 1, 73, 1, 61, 1, 59, 1, 48, 1, 28, 1, 28, 1, 28, 1,216, 1,216, 1, 65, 1, 61, 1, 88, 1, 66, 1, 70, 1, 12, 1, 63, + 1, 73, 1, 61, 1, 59, 1, 48, 1, 28, 1, 28, 1, 28, 1,216, 1,216, 1, 69, 1, 49, 1, 58, 1, 18, 1, 49, 0, 0, 0, 37, + 0,106, 0, 0, 0,130, 0,140, 0, 84, 0, 10, 0, 0, 0, 74, 0,137, 0, 37, 0, 27, 0, 27, 0, 27, 0, 27, 0, 27, 0, 10, + 0, 27, 0, 27, 0, 27, 0, 27, 0, 27, 0, 27, 0, 27, 0, 66, 1, 28, 0, 66, 1, 28, 0, 66, 1, 28, 0,184, 0,184, 0,184, + 0,184, 0, 66, 0, 66, 0, 89, 0, 89, 0, 66, 1, 28, 0, 66, 1, 28, 0, 66, 0, 66, 0, 66, 1, 28, 0, 66, 1, 28, 1, 28, + 0, 66, 0, 66, 0, 66, 0, 65, 0, 66, 0, 66, 0,113, 0,183, 0,183, 0,183, 0,183, 0,186, 0, 63, 0, 81, 0, 81, 0, 50, + 0, 66, 0, 88, 0, 88, 0, 66, 0, 66, 2, 22, 1, 28, 0, 66, 0, 66, 2, 22, 1, 71, 0, 66, 0, 42, 0, 66, 0, 66, 0, 42, + 0, 66, 0, 42, 0, 66, 0, 66, 0, 66, 0, 66, 0, 66, 0, 66, 1, 28, 0, 66, 1, 28, 0, 66, 1, 28, 0,155, 0,155, 0,155, + 0,155, 0, 66, 0, 66, 0, 66, 0, 66, 1, 28, 1, 28, 0, 66, 1, 28, 0, 66, 1, 28, 0, 66, 0, 66, 0, 25, 0,243, 0, 66, + 0,243, 0,243, 0,243, 0,243, 0,243, 0,243, 0,243, 0, 66, 0, 69, 0, 69, 0,243, 0, 66, 0, 42, 0, 66, 0, 66, 0, 66, + 0, 66, 0, 66, 0, 66, 0, 66, 0, 25, 0, 66, 0, 25, 0,190, 0, 73,255,250,255,250, 0,129, 0,129, 0,130, 0,129, 0,129, + 0,130, 0,152, 0,143, 0, 88, 0, 88, 0,102, 0,166, 1, 43, 1, 63, 0, 59, 0,186, 0, 41, 0,125, 0,125, 0,164, 0,164, + 0,164, 0,164, 0,129, 0, 63, 0, 53, 0, 88, 0, 74, 0, 87, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, + 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 87, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 87, 0, 74, 0, 74, + 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 69, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, + 0, 86, 0, 86, 0, 86, 0, 86, 0, 87, 0, 88, 0, 88, 0, 88, 0, 88, 0, 86, 0, 86, 0, 86, 0, 86, 0, 86, 0, 86, 0, 86, + 0, 86, 0, 86, 0, 88, 0, 86, 0, 86, 0, 86, 0, 86, 0, 86, 0, 86, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, + 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 79, 0, 79, 0, 79, 0, 79, 0, 79, 0, 79, 0, 79, 0, 79, 0, 79, + 0, 80, 0, 80, 0, 80, 0, 80, 1,233, 1, 8, 0, 88, 0, 88, 0, 88, 0, 86, 0, 88, 0, 86, 0, 86, 0, 86, 0, 86, 0, 88, + 0, 88, 0, 88, 0, 88, 0, 86, 0, 86, 0, 86, 0, 86, 0, 80, 0, 73, 0,114, 0,146, 0,146, 0,146, 0,146, 0,146, 1,207, + 1, 90, 1,207, 1, 90, 2, 37, 0, 13, 2, 37, 0, 13, 0, 88, 0, 97, 0, 6, 0, 6, 0,184, 0,166, 0, 71, 0, 88, 1, 43, + 1, 28, 1, 43, 1, 28, 2, 0, 0,124, 0,104, 0, 6, 0,125, 0, 50, 0, 6, 0, 72, 1, 0, 0, 6, 0, 6, 0, 6, 0, 6, + 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 37, 0, 6, 0, 6, 0, 6, 0, 37, 0, 6, + 0, 6, 0, 6, 1, 0, 0, 6, 0, 6, 1, 0, 0, 6, 0, 6,255,236, 0, 6, 1, 8, 1, 63, 0, 6, 0, 88, 0, 88, 0, 37, + 0, 88, 0, 88, 1, 0, 0, 6, 0, 6, 1, 54, 0,190, 0, 70, 0, 6, 0,156, 1, 0, 0, 6, 0, 70, 0, 26, 0, 72, 0, 6, + 0, 6, 0, 6, 0, 82, 0, 70, 0, 70, 0, 70, 0, 6, 1, 24, 1, 24, 1, 24, 1, 25, 2,246, 1, 25, 1, 24, 1, 24, 1, 24, + 1, 24, 2,245, 1, 24, 2, 12, 0, 17, 2, 12, 2, 12, 0, 16, 2, 11, 0, 16, 2, 1, 0, 25, 0, 6, 0,150,255,236,255,236, + 2, 24, 1,200,255,236,255,236, 2, 24, 1,200,255,235,255,236, 2, 24, 1,200, 2, 24, 2, 24, 1,200, 1,200,255,236,255,236, +255,236,255,236, 2, 24, 2, 24, 1,200, 1,200,255,236,255,236,255,236,255,236, 2, 24, 2, 24, 1,200, 1,200, 1,200, 1,200, + 1,200, 1,200,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236, +255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236, +255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236, 2, 24, 1,200,255,236, 1,120, + 2, 24, 1,120, 1,120,255,236,255,236,255,236, 2, 24, 1,120, 1,120,255,236,255,236,255,236, 2, 24, 1,120, 1,120,255,236, +255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236, 2, 24,255,236,255,236, 2, 24,255,147, +255,147,255,147,255,236, 2, 24, 2,124, 2, 24,255,236, 1,200, 2,124, 1,200,255,236, 1,200,255,236, 1,200,255,236,255,236, +255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236,255,236, 2,105,255,236, +255,236,255,236,255,236, 4, 69,255,236, 2,105,255,236,255,236,255,236,255,236,255,236, 2,105,255,236,255,236, 0, 6, 0, 6, + 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0,219, 0,219, 0, 6, 0, 6, 1, 68, 1, 68, 0, 6, 0, 6, + 0, 6, 0, 6, 0,219, 0,219, 0, 6, 0, 6, 0,219, 0,219, 0, 6, 0, 6, 0, 6, 0, 6, 0,219, 0,219, 0, 6, 0, 6, + 0,219, 0,219, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0,117, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, + 0, 6, 0, 6, 0, 6, 0, 6, 1, 55, 1, 55,255,236,255,236,255,236,255,236, 1, 55, 1, 55, 1, 55, 1, 55, 0, 6, 0, 6, + 0, 6, 0, 6, 0, 6, 0, 6, 1, 63, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6,255,236, 0, 6, 0, 6, + 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 97, 0, 97, 0,175, 0,175, 0, 6, 0, 34, 0, 50, + 0, 34, 0, 89, 0, 29, 0, 58, 0, 58, 0,200, 0, 59, 0, 43, 0, 15, 0, 18, 0, 54, 0, 46, 0, 20, 0, 8, 0,111, 0, 99, + 0,133, 0,201, 0, 28, 0, 78, 0, 56, 0, 47, 0, 38, 0, 47, 0, 47, 0, 47, 0, 14, 0,140, 0, 14, 0,140, 0, 12, 0, 9, + 0, 8, 0, 34, 0, 78, 0, 96, 0,121, 0, 97, 0,204, 0, 55, 0, 30, 0, 8, 0,103, 0, 15, 0, 27, 0, 14, 0, 5, 0, 33, + 0, 33, 0, 33, 0, 33, 0,156, 0,149, 0,189, 0,145, 0,145, 0, 21, 0, 71, 0,174, 0, 67, 0, 76, 0,215, 0, 24, 0, 53, + 0, 27, 0, 52, 0, 61, 0, 47, 0, 85, 0, 50, 0, 56, 0, 21, 0, 89, 0, 94, 0, 67, 0, 86, 0,112, 0,222, 0,144, 0,156, + 0,106, 0, 54, 0,148, 0,226, 0,103, 0,118, 0,128, 0, 14, 0,145, 0, 50, 0,127, 0, 11, 0,145, 0, 49, 0, 46, 1,114, + 0,162, 0,106, 0, 17, 1, 68, 1,177, 1, 55, 0, 96, 0, 46, 0, 47, 0, 60, 0, 75, 0, 68, 0, 36, 0, 62, 0, 75, 0, 45, + 0, 45, 0, 57, 0, 46, 0, 55, 0, 46, 0, 80, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 60, 0, 46, 0, 46, 0, 46, 0, 46, + 0, 82, 0, 82, 0,150, 0,115, 0, 39, 0, 31, 0,129, 0,188, 0, 19, 0, 22, 0, 74, 0, 30, 0, 42, 0, 82, 0, 42, 0, 34, + 0,136, 0,243, 0,222, 0, 46, 0, 46, 0, 58, 0, 61, 0, 52, 0, 37, 0, 61, 0, 63, 1, 68, 0, 45, 0, 87, 0, 38, 0, 87, + 0, 59, 0, 37, 0,152, 0, 74, 0,129, 0, 64, 0,131, 0, 51, 0, 64, 0, 86, 0, 57, 0, 48, 0,155, 0,126, 0,144, 0, 48, + 0, 71, 0, 31, 0, 28, 0, 26, 0, 23, 0, 43, 0, 37, 0, 40, 0, 67, 0, 40, 0, 35, 0, 40, 0, 61, 0, 40, 0, 46, 0, 54, + 0, 87, 0, 48, 0, 36, 0, 26, 0, 50, 0, 31, 0, 26, 0, 36, 0, 48, 0, 49, 0, 55, 0, 43, 0, 33, 0, 36, 0, 22, 0, 22, + 0, 37, 0, 50, 0, 32, 0, 48, 0, 25, 0, 50, 0, 41, 0, 33, 0, 23, 0, 34, 0, 36, 0, 69, 0, 61, 0, 56, 0, 48, 0, 43, + 2, 27, 1,205, 1, 81, 1,221, 1,211, 1, 0, 0,246, 0,103, 0,255, 0,190, 0, 46, 0,114, 0, 65, 0, 49, 0,240, 0,240, + 1,102, 1,110, 1, 67, 1, 68, 0,210, 0,210, 0,205, 0,206, 1,201, 1,201, 1, 25, 0,249, 0, 83, 0,116, 0, 83, 0,116, + 0, 45, 0, 73, 0, 83, 0, 45, 0, 54, 0, 83, 0, 83, 0, 96, 0,123, 0,123, 0, 54, 0, 54, 1, 79, 0, 54, 0,101, 0,101, + 0, 53, 0, 97, 0,125, 0, 84, 0, 50, 0, 41, 0,145, 0, 88, 0,116, 0, 83, 0,117, 0, 78, 0, 42, 0,117, 0, 53, 0, 29, + 0, 38, 0, 37, 0, 50, 0,117, 1,134, 1,134, 0,117, 0, 88, 0, 88, 0,150, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, + 0, 6, 0, 6, 0, 6, 0,137, 0,195, 0, 76, 0,193, 0,218, 0,137, 0, 35, 0, 35, 0, 69, 0, 69,255,236,255,236, 0, 69, + 0, 69,255,236,255,236, 0, 69, 0, 69,255,236,255,236, 0, 69, 0, 69,255,236,255,236, 0, 69, 0, 69,255,236,255,236, 0, 69, + 0, 69,255,236,255,236,255,182,255,106,255,236,255,236,255,182,255,106,255,236,255,236, 0, 88, 0, 88,255,236,255,236, 0, 88, + 0, 88,255,236,255,236, 0, 88, 0, 88,255,236,255,236, 0, 88, 0, 88,255,236,255,236,255,204,255, 96,255,204,255, 96, 0, 10, +255,131,255,236,255,236, 0, 10,255,131,255,236,255,236, 0, 54,255,213, 0, 0, 0, 0,255,236,255,236,255,236,255,236, 0, 25, +255,124,255,236,255,236, 1, 68,255,236, 1, 68, 3, 34, 1, 68, 1, 68,255,236, 1, 68,255,236, 1, 68,255,236, 1, 48,255,236, + 1, 86,255,236, 1,178, 1, 0, 1, 0, 1,179, 1,228, 0, 76, 0, 90, 1,182, 2, 19, 0, 25,255,124,255,236,255,236, 2, 12, + 2, 76, 0, 69, 0, 69,255,236,255,236, 0,222, 0,242, 0, 69, 0, 69,255,236,255,236, 0, 69, 0, 69,255,236,255,236, 0, 88, + 0, 88,255,236,255,236, 0, 88, 0, 88,255,236,255,236, 0, 88, 0, 88,255,236,255,236, 0,232, 0,232, 0,232, 0,232,255,204, +255, 96,255,204,255, 96,255, 34,254,214,255,236,255,236,255, 34,254,214,255,236,255,236,255, 16,254,197,255,236,255,236,255, 16, +254,197,255,236,255,236, 0, 10, 0, 20,255,236,255,236, 0, 10, 0, 20,255,236,255,236, 0,122, 0,148,255,236,255,236, 0,122, + 0,148,255,236,255,236,255,182,255,106,255,236,255,236, 0, 31,255,237,255,236,255,236, 0, 8,255,161,255,236,255,236, 0, 66, + 0, 9,255,236,255,236, 0,130, 0, 71,255,236,255,236, 0, 54,255,213,255,236,255,236, 0,222, 0,242,255,236,255,236, 0, 76, + 0, 90, 0, 25,255,124, 0, 25,255,124,255,236,255,236,255,150,255, 64, 0, 83,255,224, 0,133, 0, 95, 0,179, 0, 95, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 37, 0,166, 0,139, 0,137, 0,197, 0,233, 0,102, 0,137, 0,201, 0,109, 0,137, + 0,215, 0, 86, 0,139, 0,117, 0,197, 0,117, 0,143, 0,139, 0, 47, 0,147, 0, 57, 0, 0, 0, 18, 0, 37, 0,156, 0,133, + 0,193, 0,195, 0,123, 0,123, 0,195, 0,123, 0,195, 0,178, 0,186, 0,236, 0,160, 0,109, 0,195, 0,137, 0,190, 0,137, + 1,106, 0,213, 0,131, 0,195, 0,100, 0, 0, 0, 76, 0,104, 0,203, 0,133, 0,246, 0,152, 0,137, 0,102, 0,143, 0,133, + 0,139, 0,131, 0,127, 1,219, 1, 63, 1,219, 1, 31, 1,121, 1, 55, 1, 55, 0, 27, 1, 47, 1, 47, 2, 1, 1, 88, 0,187, + 1,102, 1, 61, 0,156, 0, 6, 1, 0, 1, 94, 1, 63, 0, 0, 0, 0, 0, 0, 0, 69,255,236,255,236,255,237,255,106, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,149, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0, 76, 0, 0, 0, 76, 0, 0, 0, 76, + 0, 0, 0,152, 0, 0, 0,220, 0, 0, 1,152, 0, 0, 2,152, 0, 0, 3,160, 0, 0, 4,252, 0, 0, 5, 44, 0, 0, 5,132, + 0, 0, 5,220, 0, 0, 6,120, 0, 0, 6,208, 0, 0, 7, 12, 0, 0, 7, 56, 0, 0, 7,100, 0, 0, 7,152, 0, 0, 9, 32, + 0, 0, 9,120, 0, 0, 10, 40, 0, 0, 10,232, 0, 0, 11,100, 0, 0, 12, 0, 0, 0, 12,184, 0, 0, 13, 20, 0, 0, 13,232, + 0, 0, 14,156, 0, 0, 14,224, 0, 0, 15, 52, 0, 0, 15,128, 0, 0, 15,196, 0, 0, 16, 12, 0, 0, 16,244, 0, 0, 18, 8, + 0, 0, 18,216, 0, 0, 19,128, 0, 0, 20, 12, 0, 0, 20,128, 0, 0, 20,220, 0, 0, 21, 44, 0, 0, 21,208, 0, 0, 22, 40, + 0, 0, 22,128, 0, 0, 22,236, 0, 0, 23,188, 0, 0, 23,244, 0, 0, 24,180, 0, 0, 25, 80, 0, 0, 25,208, 0, 0, 26, 68, + 0, 0, 26,236, 0, 0, 27,184, 0, 0, 28,180, 0, 0, 28,248, 0, 0, 29,132, 0, 0, 29,248, 0, 0, 31, 16, 0, 0, 32, 20, + 0, 0, 32,156, 0, 0, 33, 16, 0, 0, 33, 84, 0, 0, 33,140, 0, 0, 33,208, 0, 0, 34, 20, 0, 0, 34, 64, 0, 0, 34,132, + 0, 0, 35,112, 0, 0, 36, 0, 0, 0, 36,136, 0, 0, 37, 24, 0, 0, 37,192, 0, 0, 38, 56, 0, 0, 39, 0, 0, 0, 39,112, + 0, 0, 39,216, 0, 0, 40, 80, 0, 0, 41, 76, 0, 0, 41,164, 0, 0, 42,176, 0, 0, 43, 32, 0, 0, 43,152, 0, 0, 44, 44, + 0, 0, 44,192, 0, 0, 45, 80, 0, 0, 46, 60, 0, 0, 46,176, 0, 0, 47, 32, 0, 0, 47,172, 0, 0, 48,248, 0, 0, 49,228, + 0, 0, 50,208, 0, 0, 51, 88, 0, 0, 52, 36, 0, 0, 52, 84, 0, 0, 53, 36, 0, 0, 53,164, 0, 0, 53,164, 0, 0, 53,244, + 0, 0, 54,184, 0, 0, 55, 76, 0, 0, 56,100, 0, 0, 57, 56, 0, 0, 57,132, 0, 0, 58,168, 0, 0, 58,236, 0, 0, 60, 8, + 0, 0, 60,236, 0, 0, 61, 96, 0, 0, 61,152, 0, 0, 61,196, 0, 0, 63, 44, 0, 0, 63, 88, 0, 0, 63,208, 0, 0, 64, 60, + 0, 0, 64,240, 0, 0, 65,192, 0, 0, 66, 4, 0, 0, 66,180, 0, 0, 67, 16, 0, 0, 67, 64, 0, 0, 67, 80, 0, 0, 67,184, + 0, 0, 68, 72, 0, 0, 68,192, 0, 0, 68,224, 0, 0, 69, 0, 0, 0, 69, 32, 0, 0, 70, 20, 0, 0, 70, 56, 0, 0, 70, 92, + 0, 0, 70,140, 0, 0, 70,184, 0, 0, 70,240, 0, 0, 72, 36, 0, 0, 72,220, 0, 0, 72,244, 0, 0, 73, 12, 0, 0, 73, 36, + 0, 0, 73, 60, 0, 0, 73, 84, 0, 0, 73,108, 0, 0, 73,132, 0, 0, 73,172, 0, 0, 73,208, 0, 0, 74,108, 0, 0, 74,152, + 0, 0, 74,188, 0, 0, 74,224, 0, 0, 75, 16, 0, 0, 75, 60, 0, 0, 75,116, 0, 0, 75,232, 0, 0, 76,236, 0, 0, 77, 16, + 0, 0, 77, 52, 0, 0, 77,100, 0, 0, 77,156, 0, 0, 77,192, 0, 0, 78, 64, 0, 0, 79, 36, 0, 0, 79, 60, 0, 0, 79, 84, + 0, 0, 79,108, 0, 0, 79,132, 0, 0, 79,156, 0, 0, 79,180, 0, 0, 81, 4, 0, 0, 81, 28, 0, 0, 81, 52, 0, 0, 81, 76, + 0, 0, 81,100, 0, 0, 81,132, 0, 0, 81,156, 0, 0, 81,180, 0, 0, 81,216, 0, 0, 81,248, 0, 0, 83, 12, 0, 0, 83, 36, + 0, 0, 83, 60, 0, 0, 83, 84, 0, 0, 83,124, 0, 0, 83,172, 0, 0, 83,220, 0, 0, 84, 56, 0, 0, 85, 60, 0, 0, 85, 84, + 0, 0, 85,108, 0, 0, 85,148, 0, 0, 85,196, 0, 0, 85,220, 0, 0, 86,112, 0, 0, 86,136, 0, 0, 86,180, 0, 0, 86,204, + 0, 0, 86,252, 0, 0, 87, 20, 0, 0, 87, 44, 0, 0, 87, 68, 0, 0, 87, 92, 0, 0, 87,116, 0, 0, 87,140, 0, 0, 87,164, + 0, 0, 87,188, 0, 0, 87,212, 0, 0, 87,236, 0, 0, 88, 4, 0, 0, 88, 28, 0, 0, 88, 68, 0, 0, 88, 84, 0, 0, 89, 16, + 0, 0, 89, 40, 0, 0, 89, 64, 0, 0, 89, 88, 0, 0, 89,112, 0, 0, 89,136, 0, 0, 89,160, 0, 0, 89,184, 0, 0, 89,208, + 0, 0, 89,232, 0, 0, 90, 0, 0, 0, 90, 24, 0, 0, 90, 48, 0, 0, 90, 72, 0, 0, 90, 96, 0, 0, 90,120, 0, 0, 90,144, + 0, 0, 90,168, 0, 0, 90,192, 0, 0, 90,240, 0, 0, 91, 36, 0, 0, 91,176, 0, 0, 92, 68, 0, 0, 92,120, 0, 0, 92,144, + 0, 0, 92,184, 0, 0, 92,208, 0, 0, 92,248, 0, 0, 93, 16, 0, 0, 93, 40, 0, 0, 93, 64, 0, 0, 93, 88, 0, 0, 93,168, + 0, 0, 94, 80, 0, 0, 95, 0, 0, 0, 95, 24, 0, 0, 95, 48, 0, 0, 95, 72, 0, 0, 95, 96, 0, 0, 96, 92, 0, 0, 96,128, + 0, 0, 96,180, 0, 0, 96,204, 0, 0, 96,228, 0, 0, 96,252, 0, 0, 97, 20, 0, 0, 97, 44, 0, 0, 97, 68, 0, 0, 97,184, + 0, 0, 98, 72, 0, 0, 98, 96, 0, 0, 98,120, 0, 0, 98,144, 0, 0, 98,168, 0, 0, 98,192, 0, 0, 98,216, 0, 0, 98,240, + 0, 0, 99,128, 0, 0,100, 24, 0, 0,100, 68, 0, 0,100,100, 0, 0,100,140, 0, 0,100,180, 0, 0,100,204, 0, 0,100,228, + 0, 0,101,124, 0, 0,102,148, 0, 0,102,172, 0, 0,102,196, 0, 0,102,220, 0, 0,102,244, 0, 0,103, 12, 0, 0,103, 36, + 0, 0,103, 60, 0, 0,103, 84, 0, 0,103,108, 0, 0,103,132, 0, 0,103,156, 0, 0,103,180, 0, 0,103,204, 0, 0,103,228, + 0, 0,103,252, 0, 0,104, 20, 0, 0,104, 56, 0, 0,104, 80, 0, 0,104,184, 0, 0,105, 76, 0, 0,105,120, 0, 0,105,160, + 0, 0,105,204, 0, 0,105,236, 0, 0,106, 20, 0, 0,106, 60, 0, 0,106, 84, 0, 0,106,108, 0, 0,106,132, 0, 0,106,156, + 0, 0,106,180, 0, 0,106,204, 0, 0,106,240, 0, 0,107, 16, 0, 0,107, 52, 0, 0,107, 76, 0, 0,107,112, 0, 0,107,136, + 0, 0,107,160, 0, 0,107,184, 0, 0,107,208, 0, 0,107,232, 0, 0,108, 0, 0, 0,108,100, 0, 0,108,216, 0, 0,109,152, + 0, 0,109,168, 0, 0,110, 12, 0, 0,110,100, 0, 0,110,212, 0, 0,111, 96, 0, 0,111,212, 0, 0,112, 64, 0, 0,112, 80, + 0, 0,112,180, 0, 0,113, 8, 0, 0,113,108, 0, 0,114, 24, 0, 0,114,116, 0, 0,115, 20, 0, 0,115,200, 0, 0,116, 12, + 0, 0,116,120, 0, 0,116,252, 0, 0,117, 88, 0, 0,117,208, 0, 0,118, 16, 0, 0,118, 92, 0, 0,118,184, 0, 0,119, 12, + 0, 0,119, 84, 0, 0,119,160, 0, 0,120, 8, 0, 0,120, 76, 0, 0,120,144, 0, 0,120,252, 0, 0,121, 20, 0, 0,121, 44, + 0, 0,121,144, 0, 0,121,252, 0, 0,122,108, 0, 0,122,240, 0, 0,123, 92, 0, 0,123,212, 0, 0,124, 76, 0, 0,124, 92, + 0, 0,124,200, 0, 0,125, 44, 0, 0,125,104, 0, 0,125,196, 0, 0,126, 8, 0, 0,126, 36, 0, 0,126, 64, 0, 0,126,172, + 0, 0,127, 0, 0, 0,127, 88, 0, 0,127,188, 0, 0,128, 4, 0, 0,128, 76, 0, 0,128,184, 0, 0,129, 36, 0, 0,129,144, + 0, 0,129,252, 0, 0,130,104, 0, 0,130,200, 0, 0,131, 44, 0, 0,131, 72, 0, 0,131,100, 0, 0,131,168, 0, 0,131,184, + 0, 0,131,208, 0, 0,131,232, 0, 0,132, 0, 0, 0,132, 24, 0, 0,132, 48, 0, 0,132, 72, 0, 0,132,120, 0, 0,132,144, + 0, 0,132,176, 0, 0,132,208, 0, 0,132,240, 0, 0,133, 16, 0, 0,133, 48, 0, 0,133, 80, 0, 0,133,112, 0, 0,133,136, + 0, 0,133,152, 0, 0,133,184, 0, 0,133,208, 0, 0,133,240, 0, 0,134, 8, 0, 0,134, 32, 0, 0,134, 56, 0, 0,134, 80, + 0, 0,134,104, 0, 0,134,128, 0, 0,134,152, 0, 0,134,176, 0, 0,134,200, 0, 0,134,224, 0, 0,134,248, 0, 0,135, 16, + 0, 0,135, 40, 0, 0,135, 64, 0, 0,135, 88, 0, 0,135,112, 0, 0,135,212, 0, 0,135,236, 0, 0,136, 4, 0, 0,136, 28, + 0, 0,136, 52, 0, 0,136, 76, 0, 0,136,100, 0, 0,136,124, 0, 0,136,148, 0, 0,136,172, 0, 0,136,196, 0, 0,136,220, + 0, 0,136,244, 0, 0,137, 12, 0, 0,137, 36, 0, 0,137, 60, 0, 0,137, 84, 0, 0,137,108, 0, 0,137,132, 0, 0,137,156, + 0, 0,137,180, 0, 0,137,204, 0, 0,137,228, 0, 0,137,252, 0, 0,138, 20, 0, 0,138, 44, 0, 0,138, 68, 0, 0,138, 92, + 0, 0,138,116, 0, 0,138,140, 0, 0,138,164, 0, 0,138,188, 0, 0,138,212, 0, 0,138,236, 0, 0,139, 4, 0, 0,139, 28, + 0, 0,139, 52, 0, 0,139,120, 0, 0,140, 24, 0, 0,140,104, 0, 0,140,184, 0, 0,140,208, 0, 0,140,232, 0, 0,141, 0, + 0, 0,141, 24, 0, 0,141, 56, 0, 0,141, 80, 0, 0,141,112, 0, 0,141,136, 0, 0,141,160, 0, 0,141,184, 0, 0,141,216, + 0, 0,141,240, 0, 0,142, 8, 0, 0,142, 32, 0, 0,142,132, 0, 0,143, 16, 0, 0,143,132, 0, 0,143,228, 0, 0,144,128, + 0, 0,145, 28, 0, 0,145,124, 0, 0,146, 16, 0, 0,146,156, 0, 0,146,212, 0, 0,147, 32, 0, 0,147,192, 0, 0,148, 20, + 0, 0,148,104, 0, 0,148,144, 0, 0,149, 12, 0, 0,149,156, 0, 0,150, 44, 0, 0,150,216, 0, 0,151, 96, 0, 0,151,224, + 0, 0,152, 84, 0, 0,152,204, 0, 0,153, 48, 0, 0,153,208, 0, 0,154, 88, 0, 0,155, 32, 0, 0,155,212, 0, 0,156,144, + 0, 0,157, 16, 0, 0,157, 88, 0, 0,157,232, 0, 0,158, 92, 0, 0,158,200, 0, 0,159, 52, 0, 0,159,132, 0, 0,159,200, + 0, 0,160, 36, 0, 0,160,152, 0, 0,160,232, 0, 0,161, 28, 0, 0,161, 76, 0, 0,161,192, 0, 0,162, 32, 0, 0,162, 84, + 0, 0,162,220, 0, 0,163, 68, 0, 0,163,172, 0, 0,164, 44, 0, 0,164,140, 0, 0,164,240, 0, 0,165, 32, 0, 0,165,140, + 0, 0,165,240, 0, 0,166,128, 0, 0,167, 24, 0, 0,167, 84, 0, 0,167,144, 0, 0,167,224, 0, 0,168, 32, 0, 0,168,116, + 0, 0,168,180, 0, 0,168,240, 0, 0,169, 96, 0, 0,169,208, 0, 0,170,116, 0, 0,170,180, 0, 0,171, 20, 0, 0,171, 92, + 0, 0,171,192, 0, 0,172, 4, 0, 0,172, 72, 0, 0,172,176, 0, 0,173, 32, 0, 0,173,140, 0, 0,173,180, 0, 0,173,236, + 0, 0,174, 44, 0, 0,174, 92, 0, 0,174,164, 0, 0,175, 0, 0, 0,175,104, 0, 0,175,248, 0, 0,176, 84, 0, 0,176,180, + 0, 0,177, 20, 0, 0,177,136, 0, 0,178, 12, 0, 0,178,164, 0, 0,179, 44, 0, 0,179,188, 0, 0,179,236, 0, 0,180, 80, + 0, 0,180,136, 0, 0,180,168, 0, 0,181, 44, 0, 0,181,156, 0, 0,182, 12, 0, 0,182,136, 0, 0,183, 84, 0, 0,183,248, + 0, 0,184,168, 0, 0,185, 52, 0, 0,185,240, 0, 0,186,124, 0, 0,187, 40, 0, 0,187,100, 0, 0,187,200, 0, 0,188, 8, + 0, 0,188, 88, 0, 0,188,192, 0, 0,189, 36, 0, 0,189,132, 0, 0,189,188, 0, 0,189,252, 0, 0,190, 60, 0, 0,190,156, + 0, 0,191, 8, 0, 0,191, 64, 0, 0,191,128, 0, 0,191,144, 0, 0,191,160, 0, 0,191,176, 0, 0,191,192, 0, 0,191,252, + 0, 0,192, 56, 0, 0,192,148, 0, 0,192,240, 0, 0,193, 76, 0, 0,193,168, 0, 0,193,216, 0, 0,193,232, 0, 0,194, 24, + 0, 0,194, 40, 0, 0,194, 80, 0, 0,194,108, 0, 0,194,128, 0, 0,194,148, 0, 0,194,192, 0, 0,194,208, 0, 0,194,224, + 0, 0,195,132, 0, 0,195,232, 0, 0,197, 0, 0, 0,197, 16, 0, 0,197, 76, 0, 0,197,160, 0, 0,197,212, 0, 0,198, 80, + 0, 0,198,136, 0, 0,198,228, 0, 0,199, 4, 0, 0,199, 40, 0, 0,199, 80, 0, 0,199,120, 0, 0,199,152, 0, 0,199,168, + 0, 0,199,184, 0, 0,199,200, 0, 0,199,216, 0, 0,199,232, 0, 0,200, 20, 0, 0,200, 36, 0, 0,200,120, 0, 0,200,168, + 0, 0,200,184, 0, 0,201, 0, 0, 0,201, 16, 0, 0,201, 96, 0, 0,201,112, 0, 0,201,140, 0, 0,201,168, 0, 0,201,212, + 0, 0,201,236, 0, 0,202, 36, 0, 0,202, 64, 0, 0,202,104, 0, 0,202,140, 0, 0,202,168, 0, 0,202,188, 0, 0,202,208, + 0, 0,202,244, 0, 0,203, 24, 0, 0,203, 56, 0, 0,203,124, 0, 0,203,172, 0, 0,203,208, 0, 0,203,244, 0, 0,204, 32, + 0, 0,204, 60, 0, 0,204,108, 0, 0,204,156, 0, 0,204,200, 0, 0,205, 8, 0, 0,205,116, 0, 0,205,160, 0, 0,206, 28, + 0, 0,206, 44, 0, 0,206, 72, 0, 0,206,108, 0, 0,206,180, 0, 0,206,244, 0, 0,207, 48, 0, 0,207,132, 0, 0,207,184, + 0, 0,208,152, 0, 0,208,196, 0, 0,208,212, 0, 0,208,228, 0, 0,208,244, 0, 0,209, 16, 0, 0,209, 40, 0, 0,209, 68, + 0, 0,209, 96, 0, 0,209,144, 0, 0,209,180, 0, 0,209,224, 0, 0,210, 40, 0, 0,210, 92, 0, 0,210,188, 0, 0,210,212, + 0, 0,210,228, 0, 0,210,248, 0, 0,211, 56, 0, 0,211, 88, 0, 0,211,116, 0, 0,211,156, 0, 0,211,172, 0, 0,211,188, + 0, 0,211,212, 0, 0,211,236, 0, 0,211,252, 0, 0,212, 20, 0, 0,212, 44, 0, 0,212, 68, 0, 0,212, 92, 0, 0,212,116, + 0, 0,212,140, 0, 0,212,164, 0, 0,212,180, 0, 0,212,196, 0, 0,212,212, 0, 0,213, 52, 0, 0,213, 68, 0, 0,213, 84, + 0, 0,213,100, 0, 0,214, 4, 0, 0,214, 20, 0, 0,214, 36, 0, 0,214,124, 0, 0,214,140, 0, 0,214,156, 0, 0,214,252, + 0, 0,215, 12, 0, 0,215, 28, 0, 0,215, 44, 0, 0,215,160, 0, 0,215,176, 0, 0,215,192, 0, 0,216,160, 0, 0,216,176, + 0, 0,217, 84, 0, 0,217,252, 0, 0,218, 20, 0, 0,218, 44, 0, 0,218, 68, 0, 0,218, 92, 0, 0,218,116, 0, 0,218,140, + 0, 0,218,164, 0, 0,219, 52, 0, 0,219,168, 0, 0,219,228, 0, 0,220,136, 0, 0,220,152, 0, 0,221, 0, 0, 0,221,112, + 0, 0,222, 24, 0, 0,222,112, 0, 0,222,128, 0, 0,222,192, 0, 0,222,208, 0, 0,223, 32, 0, 0,223,156, 0, 0,223,172, + 0, 0,223,248, 0, 0,224,136, 0, 0,224,252, 0, 0,225,144, 0, 0,225,240, 0, 0,226, 84, 0, 0,227, 40, 0, 0,227,132, + 0, 0,227,224, 0, 0,228,100, 0, 0,228,124, 0, 0,228,148, 0, 0,228,172, 0, 0,228,196, 0, 0,228,220, 0, 0,229,104, + 0, 0,229,236, 0, 0,230, 84, 0, 0,230,108, 0, 0,230,132, 0, 0,231, 12, 0, 0,231,128, 0, 0,232, 32, 0, 0,232,136, + 0, 0,232,236, 0, 0,233, 92, 0, 0,233,208, 0, 0,233,224, 0, 0,234, 76, 0, 0,234,168, 0, 0,234,212, 0, 0,235, 72, + 0, 0,235,164, 0, 0,236, 64, 0, 0,236,176, 0, 0,236,192, 0, 0,236,208, 0, 0,237, 60, 0, 0,237,172, 0, 0,238, 28, + 0, 0,238, 44, 0, 0,238, 60, 0, 0,238, 76, 0, 0,238,136, 0, 0,238,192, 0, 0,239, 48, 0, 0,239,140, 0, 0,239,164, + 0, 0,239,188, 0, 0,239,212, 0, 0,239,236, 0, 0,240,124, 0, 0,240,148, 0, 0,241, 60, 0, 0,241, 76, 0, 0,241, 92, + 0, 0,241,128, 0, 0,241,144, 0, 0,241,244, 0, 0,242, 80, 0, 0,242,192, 0, 0,242,216, 0, 0,242,240, 0, 0,243, 8, + 0, 0,243, 56, 0, 0,243, 72, 0, 0,243,208, 0, 0,243,224, 0, 0,244, 24, 0, 0,244,168, 0, 0,244,184, 0, 0,245,132, + 0, 0,245,148, 0, 0,246, 0, 0, 0,246, 24, 0, 0,246, 40, 0, 0,246,140, 0, 0,246,156, 0, 0,246,172, 0, 0,246,188, + 0, 0,247, 0, 0, 0,247, 16, 0, 0,247, 32, 0, 0,247, 48, 0, 0,247,192, 0, 0,248,156, 0, 0,248,172, 0, 0,249, 0, + 0, 0,249,100, 0, 0,249,184, 0, 0,250, 32, 0, 0,250,148, 0, 0,251, 20, 0, 0,251,136, 0, 0,252, 48, 0, 0,252,224, + 0, 0,253,124, 0, 0,253,140, 0, 0,254, 88, 0, 0,254,240, 0, 0,255, 40, 0, 0,255,176, 0, 0,255,192, 0, 1, 0,140, + 0, 1, 0,156, 0, 1, 1, 8, 0, 1, 1, 32, 0, 1, 1, 48, 0, 1, 1,148, 0, 1, 2, 28, 0, 1, 2,112, 0, 1, 2,128, + 0, 1, 2,196, 0, 1, 2,212, 0, 1, 2,228, 0, 1, 3, 40, 0, 1, 3, 56, 0, 1, 4, 16, 0, 1, 4, 32, 0, 1, 4,116, + 0, 1, 4,216, 0, 1, 5, 44, 0, 1, 5,144, 0, 1, 6, 4, 0, 1, 6,128, 0, 1, 6,240, 0, 1, 7,164, 0, 1, 8, 76, + 0, 1, 8,224, 0, 1, 8,248, 0, 1, 9, 16, 0, 1, 9,116, 0, 1, 9,140, 0, 1, 10, 68, 0, 1, 10, 84, 0, 1, 10,100, + 0, 1, 10,132, 0, 1, 10,148, 0, 1, 10,248, 0, 1, 11, 72, 0, 1, 11,160, 0, 1, 11,184, 0, 1, 11,208, 0, 1, 11,232, + 0, 1, 12, 24, 0, 1, 12, 92, 0, 1, 12,160, 0, 1, 12,212, 0, 1, 13, 8, 0, 1, 13,100, 0, 1, 13,196, 0, 1, 14, 32, + 0, 1, 14,124, 0, 1, 14,148, 0, 1, 14,172, 0, 1, 14,236, 0, 1, 15, 44, 0, 1, 15,104, 0, 1, 15,164, 0, 1, 15,188, + 0, 1, 15,212, 0, 1, 16, 4, 0, 1, 16, 52, 0, 1, 16, 68, 0, 1, 16,116, 0, 1, 16,184, 0, 1, 16,244, 0, 1, 17, 60, + 0, 1, 17,132, 0, 1, 17,228, 0, 1, 17,244, 0, 1, 18, 4, 0, 1, 18, 28, 0, 1, 18, 52, 0, 1, 18,148, 0, 1, 18,248, + 0, 1, 19, 64, 0, 1, 19,136, 0, 1, 19,240, 0, 1, 20, 68, 0, 1, 20, 96, 0, 1, 20,144, 0, 1, 20,168, 0, 1, 20,224, + 0, 1, 20,248, 0, 1, 21, 8, 0, 1, 21, 24, 0, 1, 21, 48, 0, 1, 21, 72, 0, 1, 21, 88, 0, 1, 21,104, 0, 1, 21,128, + 0, 1, 21,152, 0, 1, 21,176, 0, 1, 21,200, 0, 1, 21,224, 0, 1, 21,248, 0, 1, 22, 8, 0, 1, 22, 24, 0, 1, 22, 48, + 0, 1, 22, 72, 0, 1, 22, 96, 0, 1, 22,120, 0, 1, 22,176, 0, 1, 22,220, 0, 1, 22,236, 0, 1, 22,252, 0, 1, 23, 20, + 0, 1, 23, 44, 0, 1, 23, 68, 0, 1, 23, 92, 0, 1, 23,116, 0, 1, 23,140, 0, 1, 23,164, 0, 1, 23,188, 0, 1, 23,212, + 0, 1, 23,236, 0, 1, 24, 4, 0, 1, 24, 28, 0, 1, 24, 72, 0, 1, 24,116, 0, 1, 24,140, 0, 1, 24,164, 0, 1, 24,196, + 0, 1, 25, 32, 0, 1, 25, 80, 0, 1, 25,192, 0, 1, 26, 48, 0, 1, 26, 72, 0, 1, 26, 96, 0, 1, 26,120, 0, 1, 26,144, + 0, 1, 26,168, 0, 1, 26,196, 0, 1, 26,220, 0, 1, 26,244, 0, 1, 27, 12, 0, 1, 27, 36, 0, 1, 27, 60, 0, 1, 27,168, + 0, 1, 27,192, 0, 1, 28, 20, 0, 1, 28, 44, 0, 1, 28,112, 0, 1, 28,136, 0, 1, 29, 72, 0, 1, 29, 96, 0, 1, 30, 20, + 0, 1, 30, 44, 0, 1, 30,144, 0, 1, 30,168, 0, 1, 31, 40, 0, 1, 31, 64, 0, 1, 31, 88, 0, 1, 31,112, 0, 1, 31,136, + 0, 1, 32, 68, 0, 1, 32,160, 0, 1, 33, 44, 0, 1, 33, 68, 0, 1, 33,172, 0, 1, 34, 44, 0, 1, 34,208, 0, 1, 34,232, + 0, 1, 35, 20, 0, 1, 35,180, 0, 1, 35,224, 0, 1, 35,252, 0, 1, 36,140, 0, 1, 36,168, 0, 1, 37, 44, 0, 1, 37,112, + 0, 1, 37,180, 0, 1, 37,196, 0, 1, 37,216, 0, 1, 38, 0, 0, 1, 38, 28, 0, 1, 38, 76, 0, 1, 38,164, 0, 1, 39, 32, + 0, 1, 39,164, 0, 1, 40, 16, 0, 1, 40, 88, 0, 1, 40,168, 0, 1, 40,248, 0, 1, 41,120, 0, 1, 41,172, 0, 1, 41,236, + 0, 1, 42, 16, 0, 1, 42, 68, 0, 1, 42,152, 0, 1, 43, 72, 0, 1, 43,160, 0, 1, 43,184, 0, 1, 43,208, 0, 1, 43,232, + 0, 1, 44, 8, 0, 1, 44, 32, 0, 1, 44, 56, 0, 1, 44, 80, 0, 1, 44,104, 0, 1, 44,128, 0, 1, 44,152, 0, 1, 44,176, + 0, 1, 44,200, 0, 1, 44,224, 0, 1, 44,248, 0, 1, 45, 16, 0, 1, 45, 40, 0, 1, 45, 64, 0, 1, 45, 88, 0, 1, 46, 8, + 0, 1, 46, 32, 0, 1, 46,168, 0, 1, 46,192, 0, 1, 46,216, 0, 1, 47, 56, 0, 1, 48, 8, 0, 1, 48, 32, 0, 1, 48, 48, + 0, 1, 48, 72, 0, 1, 48, 88, 0, 1, 48,104, 0, 1, 48,120, 0, 1, 48,136, 0, 1, 48,152, 0, 1, 49, 24, 0, 1, 49,156, + 0, 1, 50, 4, 0, 1, 50, 20, 0, 1, 50, 36, 0, 1, 50, 52, 0, 1, 50,244, 0, 1, 51,132, 0, 1, 52, 60, 0, 1, 52,172, + 0, 1, 53, 44, 0, 1, 53,224, 0, 1, 54,116, 0, 1, 55, 0, 0, 1, 55,128, 0, 1, 55,240, 0, 1, 56,176, 0, 1, 57, 24, + 0, 1, 57,124, 0, 1, 57,220, 0, 1, 58,180, 0, 1, 59, 64, 0, 1, 59,208, 0, 1, 60, 96, 0, 1, 60,172, 0, 1, 61, 64, + 0, 1, 61,216, 0, 1, 62,116, 0, 1, 62,228, 0, 1, 63,164, 0, 1, 64, 80, 0, 1, 64,236, 0, 1, 65,164, 0, 1, 66, 36, + 0, 1, 66, 64, 0, 1, 66,160, 0, 1, 66,236, 0, 1, 67, 4, 0, 1, 67, 72, 0, 1, 67,148, 0, 1, 67,228, 0, 1, 68, 60, + 0, 1, 68,132, 0, 1, 68,212, 0, 1, 69, 56, 0, 1, 69,140, 0, 1, 69,168, 0, 1, 70, 8, 0, 1, 70,164, 0, 1, 70,208, + 0, 1, 70,228, 0, 1, 71, 20, 0, 1, 71,104, 0, 1, 71,204, 0, 1, 72, 72, 0, 1, 72,212, 0, 1, 73, 48, 0, 1, 73,172, + 0, 1, 74, 40, 0, 1, 74,160, 0, 1, 74,236, 0, 1, 75, 84, 0, 1, 75,184, 0, 1, 76, 28, 0, 1, 76,128, 0, 1, 76,236, + 0, 1, 77, 92, 0, 1, 77,184, 0, 1, 78, 56, 0, 1, 78,136, 0, 1, 78,228, 0, 1, 79,104, 0, 1, 80, 8, 0, 1, 80,112, + 0, 1, 80,248, 0, 1, 81, 84, 0, 1, 81,212, 0, 1, 82, 68, 0, 1, 82,188, 0, 1, 83, 12, 0, 1, 83,140, 0, 1, 84, 32, + 0, 1, 84,112, 0, 1, 84,220, 0, 1, 85, 92, 0, 1, 86, 20, 0, 1, 86,124, 0, 1, 86,232, 0, 1, 87, 96, 0, 1, 87,228, + 0, 1, 88,108, 0, 1, 88,224, 0, 1, 89, 68, 0, 1, 89,180, 0, 1, 90, 24, 0, 1, 90, 76, 0, 1, 90,156, 0, 1, 91, 92, + 0, 1, 91,232, 0, 1, 92, 32, 0, 1, 92,200, 0, 1, 92,252, 0, 1, 93, 48, 0, 1, 93,116, 0, 1, 93,208, 0, 1, 94, 56, + 0, 1, 94,108, 0, 1, 94,180, 0, 1, 95, 28, 0, 1, 95, 92, 0, 1, 95,140, 0, 1, 95,188, 0, 1, 96, 24, 0, 1, 96, 72, + 0, 1, 96,120, 0, 1, 96,184, 0, 1, 96,240, 0, 1, 97, 16, 0, 1, 97, 72, 0, 1, 97,120, 0, 1, 97,168, 0, 1, 97,240, + 0, 1, 98, 52, 0, 1, 98,148, 0, 1, 98,188, 0, 1, 99, 32, 0, 1, 99, 88, 0, 1, 99,212, 0, 1,100, 80, 0, 1,100,164, + 0, 1,101, 96, 0, 1,101,180, 0, 1,102, 12, 0, 1,102,104, 0, 1,102,196, 0, 1,103, 56, 0, 1,103,172, 0, 1,104, 32, + 0, 1,104, 88, 0, 1,104,144, 0, 1,104,248, 0, 1,105, 88, 0, 1,105,164, 0, 1,105,244, 0, 1,106, 36, 0, 1,106, 84, + 0, 1,106,168, 0, 1,106,232, 0, 1,107, 44, 0, 1,107,112, 0, 1,107,216, 0, 1,108, 0, 0, 1,108, 20, 0, 1,108, 40, + 0, 1,108, 60, 0, 1,108, 80, 0, 1,108,204, 0, 1,108,220, 0, 1,109, 36, 0, 1,109,120, 0, 1,109,204, 0, 1,110, 28, + 0, 1,110,160, 0, 1,111, 32, 0, 1,111,148, 0, 1,111,212, 0, 1,112, 28, 0, 1,112,136, 0, 1,112,204, 0, 1,113, 16, + 0, 1,113, 68, 0, 1,113,116, 0, 1,113,176, 0, 1,114, 12, 0, 1,114, 64, 0, 1,114,144, 0, 1,114,176, 0, 1,115, 56, + 0, 1,115,160, 0, 1,115,244, 0, 1,116, 96, 0, 1,116,144, 0, 1,117, 0, 0, 1,117,148, 0, 1,118, 64, 0, 1,118,136, + 0, 1,118,236, 0, 1,119, 84, 0, 1,119,176, 0, 1,120, 4, 0, 1,120, 44, 0, 1,120, 92, 0, 1,120,168, 0, 1,121, 4, + 0, 1,121, 96, 0, 1,121,184, 0, 1,121,208, 0, 1,121,232, 0, 1,122, 0, 0, 1,122, 24, 0, 1,122, 48, 0, 1,122, 72, + 0, 1,122, 96, 0, 1,122,120, 0, 1,122,152, 0, 1,122,180, 0, 1,122,204, 0, 1,122,228, 0, 1,122,252, 0, 1,123, 20, + 0, 1,123, 44, 0, 1,123, 68, 0, 1,123, 92, 0, 1,123,116, 0, 1,123,140, 0, 1,123,164, 0, 1,123,188, 0, 1,123,212, + 0, 1,123,236, 0, 1,124, 4, 0, 1,124, 32, 0, 1,124, 60, 0, 1,124, 84, 0, 1,124,108, 0, 1,124,132, 0, 1,124,156, + 0, 1,124,180, 0, 1,124,204, 0, 1,124,228, 0, 1,124,252, 0, 1,125, 20, 0, 1,125, 44, 0, 1,125, 68, 0, 1,125, 92, + 0, 1,125,116, 0, 1,125,140, 0, 1,125,164, 0, 1,125,188, 0, 1,125,212, 0, 1,125,236, 0, 1,126, 4, 0, 1,126, 28, + 0, 1,126, 52, 0, 1,126, 76, 0, 1,126,100, 0, 1,126,124, 0, 1,126,148, 0, 1,126,172, 0, 1,126,196, 0, 1,126,220, + 0, 1,126,244, 0, 1,127, 12, 0, 1,127, 36, 0, 1,127, 60, 0, 1,127, 84, 0, 1,127,108, 0, 1,127,132, 0, 1,127,156, + 0, 1,127,180, 0, 1,127,204, 0, 1,127,228, 0, 1,127,252, 0, 1,128, 20, 0, 1,128, 44, 0, 1,128, 68, 0, 1,128, 92, + 0, 1,128,116, 0, 1,128,140, 0, 1,128,164, 0, 1,128,188, 0, 1,128,212, 0, 1,128,236, 0, 1,129, 4, 0, 1,129, 28, + 0, 1,129, 52, 0, 1,129, 76, 0, 1,129,100, 0, 1,129,124, 0, 1,129,152, 0, 1,129,180, 0, 1,129,204, 0, 1,129,228, + 0, 1,129,252, 0, 1,130, 20, 0, 1,130, 44, 0, 1,130, 68, 0, 1,130, 92, 0, 1,130,116, 0, 1,130,140, 0, 1,130,164, + 0, 1,130,188, 0, 1,130,212, 0, 1,130,236, 0, 1,131, 4, 0, 1,131, 28, 0, 1,131, 52, 0, 1,131, 76, 0, 1,131,100, + 0, 1,131,124, 0, 1,131,148, 0, 1,131,172, 0, 1,131,196, 0, 1,131,220, 0, 1,131,244, 0, 1,132, 12, 0, 1,132, 36, + 0, 1,132, 60, 0, 1,132, 84, 0, 1,132,108, 0, 1,132,132, 0, 1,132,156, 0, 1,132,180, 0, 1,132,204, 0, 1,132,228, + 0, 1,132,252, 0, 1,133, 20, 0, 1,133, 44, 0, 1,133, 68, 0, 1,133,100, 0, 1,133,124, 0, 1,133,148, 0, 1,133,172, + 0, 1,133,196, 0, 1,133,220, 0, 1,133,244, 0, 1,134, 12, 0, 1,134, 36, 0, 1,134, 60, 0, 1,134, 84, 0, 1,134,108, + 0, 1,134,132, 0, 1,134,156, 0, 1,134,180, 0, 1,134,204, 0, 1,134,228, 0, 1,134,252, 0, 1,135, 20, 0, 1,135, 44, + 0, 1,135, 68, 0, 1,135, 92, 0, 1,135,116, 0, 1,135,140, 0, 1,135,164, 0, 1,135,188, 0, 1,135,212, 0, 1,135,236, + 0, 1,136, 4, 0, 1,136, 28, 0, 1,136, 52, 0, 1,136, 76, 0, 1,136,100, 0, 1,136,124, 0, 1,136,148, 0, 1,136,172, + 0, 1,136,196, 0, 1,136,220, 0, 1,136,244, 0, 1,137, 12, 0, 1,137, 36, 0, 1,137, 60, 0, 1,137, 84, 0, 1,137,108, + 0, 1,137,132, 0, 1,137,156, 0, 1,137,180, 0, 1,137,204, 0, 1,137,228, 0, 1,137,252, 0, 1,138, 20, 0, 1,138, 44, + 0, 1,138, 68, 0, 1,138, 92, 0, 1,138,116, 0, 1,138,140, 0, 1,138,164, 0, 1,138,188, 0, 1,138,212, 0, 1,138,236, + 0, 1,139, 4, 0, 1,139, 28, 0, 1,139, 52, 0, 1,139, 76, 0, 1,139,100, 0, 1,139,124, 0, 1,139,148, 0, 1,139,172, + 0, 1,139,196, 0, 1,139,220, 0, 1,139,244, 0, 1,140, 12, 0, 1,140, 36, 0, 1,140, 60, 0, 1,140, 84, 0, 1,140,108, + 0, 1,140,132, 0, 1,140,156, 0, 1,140,180, 0, 1,140,204, 0, 1,140,228, 0, 1,140,252, 0, 1,141, 20, 0, 1,141, 44, + 0, 1,141, 68, 0, 1,141, 92, 0, 1,141,116, 0, 1,141,140, 0, 1,141,164, 0, 1,141,188, 0, 1,141,212, 0, 1,141,236, + 0, 1,142, 4, 0, 1,142, 28, 0, 1,142, 52, 0, 1,142, 76, 0, 1,142,100, 0, 1,142,124, 0, 1,142,148, 0, 1,142,172, + 0, 1,142,196, 0, 1,142,220, 0, 1,142,244, 0, 1,143, 12, 0, 1,143, 36, 0, 1,143, 60, 0, 1,143, 84, 0, 1,143,108, + 0, 1,143,132, 0, 1,143,156, 0, 1,143,180, 0, 1,143,204, 0, 1,143,228, 0, 1,143,252, 0, 1,144, 20, 0, 1,144, 44, + 0, 1,144, 68, 0, 1,144, 92, 0, 1,144,116, 0, 1,144,132, 0, 1,144,156, 0, 1,144,172, 0, 1,144,196, 0, 1,144,212, + 0, 1,144,236, 0, 1,144,252, 0, 1,145, 20, 0, 1,145, 36, 0, 1,145, 60, 0, 1,145, 76, 0, 1,145,100, 0, 1,145,116, + 0, 1,145,140, 0, 1,145,164, 0, 1,145,188, 0, 1,145,212, 0, 1,145,236, 0, 1,146, 4, 0, 1,146, 28, 0, 1,146, 52, + 0, 1,146, 76, 0, 1,146,100, 0, 1,146,124, 0, 1,146,148, 0, 1,146,172, 0, 1,146,196, 0, 1,146,220, 0, 1,146,244, + 0, 1,147, 12, 0, 1,147, 36, 0, 1,147, 60, 0, 1,147, 84, 0, 1,147,108, 0, 1,147,132, 0, 1,147,156, 0, 1,147,180, + 0, 1,147,204, 0, 1,147,228, 0, 1,147,252, 0, 1,148, 20, 0, 1,148, 44, 0, 1,148, 68, 0, 1,148, 92, 0, 1,148,116, + 0, 1,148,140, 0, 1,148,164, 0, 1,148,188, 0, 1,148,212, 0, 1,148,236, 0, 1,149, 4, 0, 1,149, 28, 0, 1,149, 52, + 0, 1,149, 76, 0, 1,149,100, 0, 1,149,124, 0, 1,149,148, 0, 1,149,172, 0, 1,149,196, 0, 1,149,220, 0, 1,149,244, + 0, 1,150, 12, 0, 1,150, 36, 0, 1,150, 60, 0, 1,150, 84, 0, 1,150,108, 0, 1,150,132, 0, 1,150,156, 0, 1,150,180, + 0, 1,150,204, 0, 1,150,228, 0, 1,150,244, 0, 1,151, 12, 0, 1,151, 28, 0, 1,151, 44, 0, 1,151, 80, 0, 1,151, 96, + 0, 1,151,120, 0, 1,151,144, 0, 1,151,168, 0, 1,151,192, 0, 1,151,216, 0, 1,151,240, 0, 1,152, 8, 0, 1,152, 24, + 0, 1,152, 48, 0, 1,152, 64, 0, 1,152, 88, 0, 1,152,116, 0, 1,152,140, 0, 1,152,164, 0, 1,152,188, 0, 1,152,212, + 0, 1,152,236, 0, 1,152,252, 0, 1,153, 20, 0, 1,153, 44, 0, 1,153, 68, 0, 1,153, 92, 0, 1,153,116, 0, 1,153,132, + 0, 1,153,160, 0, 1,153,184, 0, 1,153,208, 0, 1,153,232, 0, 1,154, 0, 0, 1,154, 24, 0, 1,154, 40, 0, 1,154, 64, + 0, 1,154, 88, 0, 1,154,112, 0, 1,154,136, 0, 1,154,160, 0, 1,154,184, 0, 1,154,208, 0, 1,154,224, 0, 1,154,248, + 0, 1,155, 16, 0, 1,155, 32, 0, 1,155, 48, 0, 1,155, 72, 0, 1,155, 96, 0, 1,155,120, 0, 1,155,144, 0, 1,155,168, + 0, 1,155,192, 0, 1,155,208, 0, 1,155,232, 0, 1,155,248, 0, 1,156, 16, 0, 1,156, 32, 0, 1,156, 68, 0, 1,156, 68, + 0, 1,156, 68, 0, 1,156, 68, 0, 1,156, 68, 0, 1,156, 68, 0, 1,156, 68, 0, 1,156, 68, 0, 1,156, 68, 0, 1,156, 68, + 0, 1,156, 68, 0, 1,156, 68, 0, 1,156,112, 0, 1,156,128, 0, 1,156,172, 0, 1,156,216, 0, 1,157, 0, 0, 1,157, 40, + 0, 1,157, 64, 0, 1,157,124, 0, 1,157,184, 0, 1,157,244, 0, 1,158, 24, 0, 1,158,116, 0, 1,158,208, 0, 1,159, 48, + 0, 1,159,100, 0, 1,159,188, 0, 1,160, 64, 0, 1,160,128, 0, 1,160,156, 0, 1,160,244, 0, 1,160,244, 0, 1,162, 68, + 0, 1,163,112, 0, 1,163,180, 0, 1,163,252, 0, 1,164, 24, 0, 1,164,148, 0, 1,164,168, 0, 1,164,216, 0, 1,165, 8, + 0, 1,165, 36, 0, 1,165, 64, 0, 1,165, 92, 0, 1,165, 92, 0, 1,165,228, 0, 1,166, 28, 0, 1,166,140, 0, 1,166,244, + 0, 1,167,116, 0, 1,167,156, 0, 1,168, 84, 0, 1,168,224, 0, 1,169, 16, 0, 1,169, 44, 0, 1,169, 84, 0, 1,169,136, + 0, 1,169,188, 0, 1,170, 32, 0, 1,170, 52, 0, 1,170, 72, 0, 1,170, 92, 0, 1,170,112, 0, 1,170,132, 0, 1,170,152, + 0, 1,170,172, 0, 1,170,192, 0, 1,170,212, 0, 1,170,232, 0, 1,170,252, 0, 1,171, 16, 0, 1,171, 36, 0, 1,171, 56, + 0, 1,171, 76, 0, 1,171, 96, 0, 1,171,116, 0, 1,171,136, 0, 1,171,156, 0, 1,171,176, 0, 1,172, 52, 0, 1,173, 68, + 0, 1,173,196, 0, 1,174,100, 0, 1,174,248, 0, 1,175,108, 0, 1,175,200, 0, 1,176, 68, 0, 1,176,248, 0, 1,177, 8, + 0, 1,177, 24, 0, 1,177, 40, 0, 1,177, 72, 0, 1,177,104, 0, 1,177,136, 0, 1,177,168, 0, 1,177,200, 0, 1,177,232, + 0, 1,178, 8, 0, 1,178, 40, 0, 1,178, 72, 0, 1,178,104, 0, 1,178,136, 0, 1,178,168, 0, 1,178,192, 0, 1,178,240, + 0, 1,179, 36, 0, 1,179, 88, 0, 1,179,136, 0, 1,179,208, 0, 1,180, 24, 0, 1,180, 72, 0, 1,180,120, 0, 1,180,164, + 0, 1,180,208, 0, 1,181, 24, 0, 1,181, 96, 0, 1,182, 8, 0, 1,182,176, 0, 1,182,248, 0, 1,183, 64, 0, 1,183,136, + 0, 1,183,208, 0, 1,184, 16, 0, 1,184, 80, 0, 1,184,140, 0, 1,184,200, 0, 1,185, 4, 0, 1,185, 64, 0, 1,185,140, + 0, 1,186, 20, 0, 1,186,160, 0, 1,187,100, 0, 1,188, 44, 0, 1,189, 68, 0, 1,189,164, 0, 1,189,232, 0, 1,190, 32, + 0, 1,190, 88, 0, 1,190,144, 0, 1,190,200, 0, 1,191, 0, 0, 1,191, 56, 0, 1,191,196, 0, 1,192, 84, 0, 1,192,144, + 0, 1,192,248, 0, 1,193,160, 0, 1,194, 72, 0, 1,194,108, 0, 1,194,148, 0, 1,194,188, 0, 1,194,228, 0, 1,195, 12, + 0, 1,195, 52, 0, 1,195, 88, 0, 1,195,124, 0, 1,195,208, 0, 1,196, 36, 0, 1,196,120, 0, 1,196,192, 0, 1,197, 8, + 0, 1,197, 80, 0, 1,197,152, 0, 1,197,212, 0, 1,198, 20, 0, 1,198,120, 0, 1,198,244, 0, 1,199, 88, 0, 1,199,152, + 0, 1,199,216, 0, 1,200, 24, 0, 1,200, 88, 0, 1,200,180, 0, 1,201, 16, 0, 1,201, 80, 0, 1,201,144, 0, 1,201,208, + 0, 1,202, 16, 0, 1,202, 80, 0, 1,202,144, 0, 1,202,228, 0, 1,203, 60, 0, 1,203,140, 0, 1,203,220, 0, 1,204, 36, + 0, 1,204,112, 0, 1,204,184, 0, 1,205, 4, 0, 1,205, 64, 0, 1,205,124, 0, 1,205,188, 0, 1,205,248, 0, 1,206, 52, + 0, 1,206,112, 0, 1,206,200, 0, 1,207, 24, 0, 1,207,120, 0, 1,207,216, 0, 1,208, 48, 0, 1,208,160, 0, 1,208,244, + 0, 1,209, 56, 0, 1,209,124, 0, 1,209,204, 0, 1,210,108, 0, 1,210,188, 0, 1,211, 24, 0, 1,211, 92, 0, 1,211,160, + 0, 1,211,248, 0, 1,212, 72, 0, 1,212,152, 0, 1,213, 0, 0, 1,213, 52, 0, 1,213,104, 0, 1,213,184, 0, 1,214,116, + 0, 1,215, 64, 0, 1,215,188, 0, 1,215,232, 0, 1,216, 68, 0, 1,216,212, 0, 1,217,104, 0, 1,217,196, 0, 1,218, 84, + 0, 1,218,164, 0, 1,218,236, 0, 1,219, 92, 0, 1,219,136, 0, 1,219,200, 0, 1,219,252, 0, 1,220, 16, 0, 1,220, 36, + 0, 1,220, 52, 0, 1,220,152, 0, 1,221, 16, 0, 1,221,212, 0, 1,221,248, 0, 1,222, 32, 0, 1,222, 72, 0, 1,222,112, + 0, 1,222,228, 0, 1,223, 92, 0, 1,223,204, 0, 1,224,100, 0, 1,225, 60, 0, 1,225, 84, 0, 1,225,140, 0, 1,225,188, + 0, 1,225,220, 0, 1,226, 56, 0, 1,226,148, 0, 1,227, 0, 0, 1,227, 96, 0, 1,227,200, 0, 1,228, 76, 0, 1,228,196, + 0, 1,229, 92, 0, 1,229,244, 0, 1,230,232, 0, 1,231,148, 0, 1,232, 76, 0, 1,233, 64, 0, 1,233,184, 0, 1,234, 4, + 0, 1,234,192, 0, 1,235, 52, 0, 1,235, 76, 0, 1,235,116, 0, 1,235,148, 0, 1,235,180, 0, 1,235,244, 0, 1,236, 60, + 0, 1,236,152, 0, 1,237, 4, 0, 1,237, 76, 0, 1,237,140, 0, 1,237,204, 0, 1,238, 24, 0, 1,238, 96, 0, 1,239, 68, + 0, 1,239,200, 0, 1,240, 84, 0, 1,240,216, 0, 1,241, 12, 0, 1,241,104, 0, 1,241,168, 0, 1,242, 8, 0, 1,242,100, + 0, 1,242,168, 0, 1,242,232, 0, 1,243, 72, 0, 1,243,172, 0, 1,244, 20, 0, 1,244,104, 0, 1,244,188, 0, 1,245, 36, + 0, 1,245,136, 0, 1,246, 0, 0, 1,246,136, 0, 1,247, 40, 0, 1,247,212, 0, 1,248, 24, 0, 1,248, 92, 0, 1,248,224, + 0, 1,249,104, 0, 1,249,164, 0, 1,249,220, 0, 1,250, 68, 0, 1,250,172, 0, 1,251, 64, 0, 1,251,208, 0, 1,252, 56, + 0, 1,252,160, 0, 1,252,232, 0, 1,253, 44, 0, 1,253,152, 0, 1,254, 4, 0, 1,254, 88, 0, 1,254,168, 0, 1,255, 36, + 0, 1,255,176, 0, 2, 0, 24, 0, 2, 0,132, 0, 2, 0,220, 0, 2, 1, 52, 0, 2, 1,176, 0, 2, 2, 48, 0, 2, 2,248, + 0, 2, 3,168, 0, 2, 4,116, 0, 2, 5, 40, 0, 2, 5,216, 0, 2, 6,192, 0, 2, 7,176, 0, 2, 8,112, 0, 2, 9, 36, + 0, 2, 9,116, 0, 2, 9,172, 0, 2, 10, 12, 0, 2, 10, 68, 0, 2, 10,116, 0, 2, 10,164, 0, 2, 11, 12, 0, 2, 11, 92, + 0, 2, 11,176, 0, 2, 11,232, 0, 2, 12, 28, 0, 2, 12,132, 0, 2, 12,236, 0, 2, 13,132, 0, 2, 14, 24, 0, 2, 14,108, + 0, 2, 14,188, 0, 2, 15, 8, 0, 2, 15, 84, 0, 2, 15,208, 0, 2, 16, 84, 0, 2, 16,248, 0, 2, 17,152, 0, 2, 17,172, + 0, 2, 17,188, 0, 2, 17,232, 0, 2, 18, 32, 0, 2, 18, 72, 0, 2, 18,112, 0, 2, 18,164, 0, 2, 18,228, 0, 2, 19, 4, + 0, 2, 19, 36, 0, 2, 19, 68, 0, 2, 19,100, 0, 2, 19,140, 0, 2, 19,180, 0, 2, 19,220, 0, 2, 20, 4, 0, 2, 20, 36, + 0, 2, 20,120, 0, 2, 20,136, 0, 2, 20,204, 0, 2, 21, 16, 0, 2, 21,104, 0, 2, 22, 80, 0, 2, 22,116, 0, 2, 22,152, + 0, 2, 22,184, 0, 2, 22,216, 0, 2, 22,248, 0, 2, 23, 80, 0, 2, 23,168, 0, 2, 23,224, 0, 2, 24, 68, 0, 2, 24,156, + 0, 2, 29, 72, 0, 2, 29,172, 0, 2, 29,212, 0, 2, 30, 0, 0, 2, 30, 68, 0, 2, 30,148, 0, 2, 30,240, 0, 2, 31, 8, + 0, 2, 31,148, 0, 2, 32, 24, 0, 2, 32, 48, 0, 2, 32,104, 0, 2, 32,156, 0, 2, 32,232, 0, 2, 33, 52, 0, 2, 33,128, + 0, 2, 33,208, 0, 2, 34, 96, 0, 2, 34,176, 0, 2, 34,248, 0, 2, 35, 72, 0, 2, 35,152, 0, 2, 35,228, 0, 2, 36, 48, + 0, 2, 36,128, 0, 2, 36,208, 0, 2, 36,232, 0, 2, 37, 0, 0, 2, 37, 24, 0, 2, 37, 48, 0, 2, 37, 72, 0, 2, 37, 96, + 0, 2, 37,120, 0, 2, 37,144, 0, 2, 37,168, 0, 2, 37,192, 0, 2, 37,220, 0, 2, 37,244, 0, 2, 38, 12, 0, 2, 38,168, + 0, 2, 39,116, 0, 2, 39,216, 0, 2, 40, 24, 0, 2, 40,128, 0, 2, 40,152, 0, 2, 40,168, 0, 2, 40,184, 0, 2, 40,200, + 0, 2, 40,224, 0, 2, 40,248, 0, 2, 41, 16, 0, 2, 41, 40, 0, 2, 41, 56, 0, 2, 41,136, 0, 2, 42, 32, 0, 2, 42,204, + 0, 2, 43,204, 0, 2, 44,156, 0, 2, 45,204, 0, 2, 46,112, 0, 2, 47, 28, 0, 2, 47,156, 0, 2, 47,200, 0, 2, 48, 0, + 0, 2, 48, 28, 0, 2, 48, 84, 0, 2, 48,140, 0, 2, 48,168, 0, 2, 48,224, 0, 2, 49, 0, 0, 2, 49, 28, 0, 2, 49, 64, + 0, 2, 49,100, 0, 2, 49,128, 0, 2, 49,160, 0, 2, 49,212, 0, 2, 50, 44, 0, 2, 50,100, 0, 2, 50,128, 0, 2, 50,184, + 0, 2, 51, 16, 0, 2, 51, 68, 0, 2, 51, 96, 0, 2, 51,172, 0, 2, 51,216, 0, 2, 52, 28, 0, 2, 52, 56, 0, 2, 52, 84, + 0, 2, 52,112, 0, 2, 52,140, 0, 2, 52,192, 0, 2, 52,248, 0, 2, 53, 48, 0, 2, 53,108, 0, 2, 53,164, 0, 2, 53,228, + 0, 2, 54, 44, 0, 2, 54,120, 0, 2, 54,156, 0, 2, 54,192, 0, 2, 54,228, 0, 2, 55, 8, 0, 2, 55, 44, 0, 2, 55, 80, + 0, 2, 55,116, 0, 2, 55,152, 0, 2, 55,184, 0, 2, 55,220, 0, 2, 56, 0, 0, 2, 56, 36, 0, 2, 56, 68, 0, 2, 56,100, + 0, 2, 56,132, 0, 2, 56,168, 0, 2, 56,208, 0, 2, 56,248, 0, 2, 57, 36, 0, 2, 57, 80, 0, 2, 57,120, 0, 2, 57,168, + 0, 2, 57,212, 0, 2, 57,252, 0, 2, 58, 36, 0, 2, 58, 76, 0, 2, 58,120, 0, 2, 58,164, 0, 2, 58,204, 0, 2, 58,252, + 0, 2, 59, 40, 0, 2, 59, 80, 0, 2, 59,120, 0, 2, 59,164, 0, 2, 59,208, 0, 2, 59,248, 0, 2, 60, 32, 0, 2, 60, 76, + 0, 2, 60,120, 0, 2, 60,160, 0, 2, 60,196, 0, 2, 60,240, 0, 2, 61, 28, 0, 2, 61, 68, 0, 2, 61,108, 0, 2, 61,152, + 0, 2, 61,196, 0, 2, 61,236, 0, 2, 62, 28, 0, 2, 62, 80, 0, 2, 62,132, 0, 2, 62,184, 0, 2, 62,236, 0, 2, 63, 32, + 0, 2, 63, 84, 0, 2, 63,140, 0, 2, 63,196, 0, 2, 63,252, 0, 2, 64, 52, 0, 2, 64,104, 0, 2, 64,156, 0, 2, 64,208, + 0, 2, 65, 4, 0, 2, 65, 56, 0, 2, 65, 92, 0, 2, 65,136, 0, 2, 65,180, 0, 2, 65,224, 0, 2, 66, 8, 0, 2, 66, 48, + 0, 2, 66, 92, 0, 2, 66,136, 0, 2, 66,188, 0, 2, 66,232, 0, 2, 67, 20, 0, 2, 67, 72, 0, 2, 67,116, 0, 2, 67,160, + 0, 2, 67,212, 0, 2, 68, 0, 0, 2, 68, 44, 0, 2, 68, 96, 0, 2, 68,144, 0, 2, 68,196, 0, 2, 69, 8, 0, 2, 69, 56, + 0, 2, 69,108, 0, 2, 69,172, 0, 2, 69,224, 0, 2, 70, 16, 0, 2, 70, 80, 0, 2, 70,132, 0, 2, 70,180, 0, 2, 70,244, + 0, 2, 71, 60, 0, 2, 71,128, 0, 2, 71,220, 0, 2, 72, 16, 0, 2, 72, 72, 0, 2, 72,120, 0, 2, 72,172, 0, 2, 72,204, + 0, 2, 72,232, 0, 2, 73, 40, 0, 2, 73, 68, 0, 2, 73, 96, 0, 2, 73,124, 0, 2, 73,152, 0, 2, 73,180, 0, 2, 73,208, + 0, 2, 73,236, 0, 2, 74, 8, 0, 2, 74, 44, 0, 2, 74, 84, 0, 2, 74,120, 0, 2, 74,160, 0, 2, 74,180, 0, 2, 74,208, + 0, 2, 74,236, 0, 2, 75, 8, 0, 2, 75, 36, 0, 2, 75, 64, 0, 2, 75, 92, 0, 2, 75,120, 0, 2, 75,148, 0, 2, 75,176, + 0, 2, 75,204, 0, 2, 75,232, 0, 2, 76, 4, 0, 2, 76, 32, 0, 2, 76, 60, 0, 2, 76, 88, 0, 2, 76,108, 0, 2, 77, 32, + 0, 2, 78,168, 0, 2, 79, 80, 0, 2, 79,100, 0, 2, 79,120, 0, 2, 79,148, 0, 2, 79,168, 0, 2, 79,188, 0, 2, 79,216, + 0, 2, 79,240, 0, 2, 80, 12, 0, 2, 80, 40, 0, 2, 80, 60, 0, 2, 80, 84, 0, 2, 80,112, 0, 2, 80,140, 0, 2, 80,184, + 0, 2, 81, 12, 0, 2, 81, 36, 0, 2, 81,124, 0, 2, 81,216, 0, 2, 83, 12, 0, 2, 83,148, 0, 2, 84, 28, 0, 2, 85,188, + 0, 2, 85,216, 0, 2, 86, 4, 0, 2, 86, 32, 0, 2, 86, 76, 0, 2, 86,104, 0, 2, 86,148, 0, 2, 86,180, 0, 2, 86,228, + 0, 2, 87, 0, 0, 2, 87, 40, 0, 2, 87, 68, 0, 2, 87,112, 0, 2, 87,140, 0, 2, 87,184, 0, 2, 87,212, 0, 2, 88, 0, + 0, 2, 88, 28, 0, 2, 88, 68, 0, 2, 88, 96, 0, 2, 88,140, 0, 2, 88,168, 0, 2, 88,208, 0, 2, 88,236, 0, 2, 89, 24, + 0, 2, 89, 52, 0, 2, 89, 92, 0, 2, 89,120, 0, 2, 89,160, 0, 2, 89,192, 0, 2, 89,244, 0, 2, 90, 56, 0, 2, 90,196, + 0, 2, 91, 24, 0, 2, 91,124, 0, 2, 92,116, 0, 2, 93, 40, 0, 2, 93,220, 0, 2, 94, 20, 0, 2, 94,104, 0, 2, 94,188, + 0, 2, 95, 20, 0, 2, 95,108, 0, 2, 95,208, 0, 2, 96, 32, 0, 2, 96, 72, 0, 2, 96,112, 0, 2, 96,176, 0, 2, 97, 36, + 0, 2, 97,116, 0, 2, 97,200, 0, 2, 97,248, 0, 2, 98, 36, 0, 2, 98, 80, 0, 2, 98,124, 0, 2, 98,192, 0, 2, 99, 4, + 0, 2, 99, 32, 0, 2, 99, 60, 0, 2, 99, 84, 0, 2, 99,108, 0, 2, 99,184, 0, 2, 99,228, 0, 2,100, 16, 0, 2,100, 56, + 0, 2,100, 96, 0, 2,100,156, 0, 2,100,232, 0, 2,101, 20, 0, 2,101, 60, 0, 2,101,160, 0, 2,101,224, 0, 2,102, 28, + 0, 2,102, 92, 0, 2,102,156, 0, 2,103, 16, 0, 2,103,132, 0, 2,103,252, 0, 2,104,116, 0, 2,104,156, 0, 2,104,196, + 0, 2,104,236, 0, 2,105, 24, 0, 2,105, 52, 0, 2,105, 96, 0, 2,105,124, 0, 2,105,164, 0, 2,106,148, 0, 2,107, 0, + 0, 2,107,180, 0, 2,111,192, 0, 2,114,128, 0, 2,114,180, 0, 2,115, 16, 0, 2,115, 96, 0, 2,115,192, 0, 2,116, 72, + 0, 2,117, 16, 0, 2,117,216, 0, 2,118, 60, 0, 2,118,216, 0, 2,121, 12, 0, 2,123,176, 0, 2,123,232, 0, 2,124, 96, + 0, 2,124,212, 0, 2,125, 44, 0, 2,126,132, 0, 2,128, 28, 0, 2,128,100, 0, 2,128,152, 0, 2,129,100, 0, 2,130, 40, + 0, 2,130,192, 0, 2,131, 88, 0, 2,132, 28, 0, 2,132,228, 0, 2,133,168, 0, 2,134,108, 0, 2,137,220, 0, 2,138, 88, + 0, 2,139,112, 0, 2,140,196, 0, 2,143,236, 0, 2,144,104, 0, 2,144,240, 0, 2,145, 96, 0, 2,145,196, 0, 2,146, 72, + 0, 2,146,216, 0, 2,148, 24, 0, 2,149, 60, 0, 2,149,212, 0, 2,150, 96, 0, 2,151, 8, 0, 2,152,120, 0, 2,153, 52, + 0, 2,153,244, 0, 2,154,136, 0, 2,155,160, 0, 2,156, 52, 0, 2,156,200, 0, 2,157,136, 0, 2,158, 8, 0, 2,158,132, + 0, 2,159, 16, 0, 2,159,112, 0, 2,159,212, 0, 2,160,116, 0, 2,161, 32, 0, 2,161,132, 0, 2,161,240, 0, 2,162,128, + 0, 2,162,224, 0, 2,163,152, 0, 2,164, 84, 0, 2,165, 24, 0, 2,165,136, 0, 2,166, 40, 0, 2,166,112, 0, 2,167, 8, + 0, 2,167,204, 0, 2,168, 72, 0, 2,169,112, 0, 2,171,148, 0, 2,172, 44, 0, 2,173, 72, 0, 2,174, 92, 0, 2,175,108, + 0, 2,176,248, 0, 2,177,240, 0, 2,178,112, 0, 2,179, 52, 0, 2,179,252, 0, 2,180,140, 0, 2,180,252, 0, 2,181,156, + 0, 2,181,228, 0, 2,182,132, 0, 2,183, 72, 0, 2,183,156, 0, 2,183,204, 0, 2,184,236, 0, 2,185,208, 0, 2,186, 16, + 0, 2,186,108, 0, 2,186,208, 0, 2,187, 48, 0, 2,187,128, 0, 2,187,208, 0, 2,188,100, 0, 2,189, 36, 0, 2,190, 8, + 0, 2,192, 0, 0, 2,192,228, 0, 2,193,244, 0, 2,195, 28, 0, 2,196, 8, 0, 2,197, 24, 0, 2,198, 56, 0, 2,199, 20, + 0, 2,199,212, 0, 2,200,216, 0, 2,202, 8, 0, 2,203, 84, 0, 2,204, 72, 0, 2,204,224, 0, 2,205, 80, 0, 2,206, 8, + 0, 2,207, 0, 0, 2,208, 64, 0, 2,209,196, 0, 2,211,140, 0, 2,212, 32, 0, 2,212,216, 0, 2,213, 64, 0, 2,213,204, + 0, 2,213,232, 0, 2,214, 16, 0, 2,214,112, 0, 2,214,176, 0, 2,215, 36, 0, 2,216, 24, 0, 2,217, 76, 0, 2,218, 96, + 0, 2,219, 8, 0, 2,219,132, 0, 2,220, 36, 0, 2,221, 36, 0, 2,222,240, 0, 2,225,132, 0, 2,227, 48, 0, 2,227,180, + 0, 2,228, 0, 0, 2,228, 40, 0, 2,228,112, 0, 2,230, 52, 0, 2,231,208, 0, 2,233,140, 0, 2,237, 68, 0, 2,238,236, + 0, 2,240,144, 0, 2,241, 24, 0, 2,241,192, 0, 2,244,100, 0, 2,246, 0, 0, 2,247, 48, 0, 2,248, 44, 0, 2,249, 88, + 0, 2,250, 56, 0, 2,250,188, 0, 2,251, 32, 0, 2,251,132, 0, 2,251,200, 0, 2,252, 12, 0, 2,252,212, 0, 2,253,200, + 0, 2,254, 72, 0, 2,254,124, 0, 2,254,184, 0, 2,254,252, 0, 2,255, 44, 0, 2,255,140, 0, 2,255,252, 0, 3, 0,228, + 0, 3, 1,116, 0, 3, 2, 48, 0, 3, 3,176, 0, 3, 5,120, 0, 3, 8,208, 0, 3, 9, 56, 0, 3, 9,252, 0, 3, 10, 96, + 0, 3, 10,244, 0, 3, 11,132, 0, 3, 12, 64, 0, 3, 12,192, 0, 3, 13, 52, 0, 3, 13,172, 0, 3, 14, 20, 0, 3, 14, 96, + 0, 3, 14,192, 0, 3, 15, 36, 0, 3, 15,124, 0, 3, 16, 44, 0, 3, 16,112, 0, 3, 16,192, 0, 3, 17, 16, 0, 3, 17,120, + 0, 3, 18, 36, 0, 3, 19,216, 0, 3, 21,216, 0, 3, 23, 24, 0, 3, 25, 72, 0, 3, 26,228, 0, 3, 29,176, 0, 3, 35,172, + 0, 3, 37, 8, 0, 3, 39, 88, 0, 3, 40, 24, 0, 3, 40,208, 0, 3, 41,148, 0, 3, 43, 20, 0, 3, 44,144, 0, 3, 45,228, + 0, 3, 47, 52, 0, 3, 48,120, 0, 3, 48,240, 0, 3, 49, 36, 0, 3, 49, 88, 0, 3, 49,136, 0, 3, 49,184, 0, 3, 50, 16, + 0, 3, 50, 44, 0, 3, 50, 72, 0, 3, 50,100, 0, 3, 50,136, 0, 3, 50,172, 0, 3, 50,200, 0, 3, 50,228, 0, 3, 51,220, + 0, 3, 52,136, 0, 3, 53, 92, 0, 3, 53,216, 0, 3, 54, 88, 0, 3, 55,120, 0, 3, 56, 92, 0, 3, 56,200, 0, 3, 57, 52, + 0, 3, 57,112, 0, 3, 57,176, 0, 3, 57,216, 0, 3, 58, 0, 0, 3, 58, 40, 0, 3, 58, 80, 0, 3, 58,120, 0, 3, 58,160, + 0, 3, 58,200, 0, 3, 58,240, 0, 3, 59, 84, 0, 3, 59,196, 0, 3, 59,244, 0, 3, 60, 32, 0, 3, 60, 76, 0, 3, 60,120, + 0, 3, 60,168, 0, 3, 61, 76, 0, 3, 61,116, 0, 3, 61,156, 0, 3, 61,236, 0, 3, 62, 60, 0, 3, 62,100, 0, 3, 62,148, + 0, 3, 62,196, 0, 3, 62,232, 0, 3, 63, 60, 0, 3, 63,144, 0, 3, 63,188, 0, 3, 63,232, 0, 3, 64, 44, 0, 3, 64,112, + 0, 3, 64,192, 0, 3, 65, 12, 0, 3, 65, 88, 0, 3, 65,164, 0, 3, 65,248, 0, 3, 66, 76, 0, 3, 66,192, 0, 3, 67, 92, + 0, 3, 67,180, 0, 3, 67,252, 0, 3, 68, 84, 0, 3, 68,252, 0, 3, 69,148, 0, 3, 70, 56, 0, 3, 71, 20, 0, 3, 71,176, + 0, 3, 72,220, 0, 3, 74, 16, 0, 3, 74,168, 0, 3, 74,228, 0, 3, 75, 12, 0, 3, 75, 52, 0, 3, 75, 84, 0, 3, 75,152, + 0, 3, 75,236, 0, 3, 75,252, 0, 3, 76, 40, 0, 3, 76, 84, 0, 3, 76,124, 0, 3, 76,164, 0, 3, 76,212, 0, 3, 77, 4, + 0, 3, 77, 52, 0, 3, 77,100, 0, 3, 78, 8, 0, 3, 78, 44, 0, 3, 78, 84, 0, 3, 78,212, 0, 3, 79, 80, 0, 3, 79, 96, + 0, 3, 79,216, 0, 3, 80,120, 0, 3, 81, 0, 0, 3, 81, 24, 0, 3, 81, 48, 0, 3, 81, 72, 0, 3, 81, 96, 0, 3, 81,120, + 0, 3, 81,144, 0, 3, 81,168, 0, 3, 81,192, 0, 3, 81,216, 0, 3, 81,240, 0, 3, 82, 8, 0, 3, 82, 32, 0, 3, 82, 56, + 0, 3, 82, 80, 0, 3, 82,104, 0, 3, 82,128, 0, 3, 82,152, 0, 3, 82,176, 0, 3, 82,200, 0, 3, 82,224, 0, 3, 82,248, + 0, 3, 83, 16, 0, 3, 83, 40, 0, 3, 83, 64, 0, 3, 83, 88, 0, 3, 83,112, 0, 3, 83,136, 0, 3, 83,160, 0, 3, 83,184, + 0, 3, 83,208, 0, 3, 83,232, 0, 3, 84, 0, 0, 3, 84, 24, 0, 3, 84, 48, 0, 3, 84, 72, 0, 3, 84, 96, 0, 3, 84,120, + 0, 3, 84,144, 0, 3, 84,168, 0, 3, 84,192, 0, 3, 84,216, 0, 3, 84,240, 0, 3, 85, 8, 0, 3, 85, 32, 0, 3, 85, 56, + 0, 3, 85, 80, 0, 3, 85,104, 0, 3, 85,128, 0, 3, 85,152, 0, 3, 85,176, 0, 3, 85,200, 0, 3, 85,224, 0, 3, 85,240, + 0, 3, 86,140, 0, 3, 86,156, 0, 3, 86,172, 0, 3, 86,196, 0, 3, 86,220, 0, 3, 86,244, 0, 3, 87, 12, 0, 3, 87, 28, + 0, 3, 87,148, 0, 3, 87,164, 0, 3, 88,116, 0, 3, 88,132, 0, 3, 89, 56, 0, 3, 89,108, 0, 3, 89,176, 0, 3, 89,192, + 0, 3, 89,208, 0, 3, 89,232, 0, 3, 90, 0, 0, 3, 90, 16, 0, 3, 90, 40, 0, 3, 90, 56, 0, 3, 90,108, 0, 3, 90,124, + 0, 3, 90,140, 0, 3, 90,164, 0, 3, 90,180, 0, 3, 90,204, 0, 3, 90,220, 0, 3, 90,244, 0, 3, 91, 4, 0, 3, 91, 28, + 0, 3, 91, 44, 0, 3, 91, 68, 0, 3, 91, 84, 0, 3, 91,108, 0, 3, 91,132, 0, 3, 91,156, 0, 3, 91,180, 0, 3, 91,204, + 0, 3, 91,228, 0, 3, 91,252, 0, 3, 92, 20, 0, 3, 92, 44, 0, 3, 92, 68, 0, 3, 92, 92, 0, 3, 92,116, 0, 3, 92,132, + 0, 3, 92,184, 0, 3, 92,208, 0, 3, 92,232, 0, 3, 93, 0, 0, 3, 93, 24, 0, 3, 93, 48, 0, 3, 93, 72, 0, 3, 93, 96, + 0, 3, 93,120, 0, 3, 93,144, 0, 3, 93,168, 0, 3, 93,192, 0, 3, 93,216, 0, 3, 93,240, 0, 3, 94, 8, 0, 3, 94, 32, + 0, 3, 94, 56, 0, 3, 94, 80, 0, 3, 94,104, 0, 3, 94,120, 0, 3, 95, 16, 0, 3, 95,120, 0, 3, 95,252, 0, 3, 96, 20, + 0, 3, 96, 44, 0, 3, 96, 68, 0, 3, 96, 92, 0, 3, 96,108, 0, 3, 96,212, 0, 3, 96,236, 0, 3, 97, 4, 0, 3, 97, 20, + 0, 3, 97,108, 0, 3, 97,132, 0, 3, 97,156, 0, 3, 97,172, 0, 3, 98,128, 0, 3, 99, 16, 0, 3, 99,176, 0, 3, 99,200, + 0, 3, 99,224, 0, 3, 99,248, 0, 3,100, 16, 0, 3,100, 32, 0, 3,100,240, 0, 3,101,116, 0, 3,102, 16, 0, 3,102, 40, + 0, 3,102, 64, 0, 3,102, 88, 0, 3,102,112, 0, 3,102,128, 0, 3,102,248, 0, 3,103, 92, 0, 3,103,212, 0, 3,103,236, + 0, 3,104, 4, 0, 3,104, 28, 0, 3,104, 52, 0, 3,104, 68, 0, 3,104,240, 0, 3,105, 72, 0, 3,105,216, 0, 3,105,240, + 0, 3,106, 8, 0, 3,106, 32, 0, 3,106, 56, 0, 3,106, 80, 0, 3,106,104, 0, 3,106,128, 0, 3,106,152, 0, 3,106,176, + 0, 3,106,200, 0, 3,106,224, 0, 3,106,248, 0, 3,107, 8, 0, 3,107,212, 0, 3,108, 64, 0, 3,108,200, 0, 3,108,216, + 0, 3,109, 76, 0, 3,109,132, 0, 3,109,204, 0, 3,109,220, 0, 3,110,120, 0, 3,110,252, 0, 3,111,140, 0, 3,111,164, + 0, 3,111,188, 0, 3,111,212, 0, 3,111,236, 0, 3,111,252, 0, 3,112,116, 0, 3,113, 48, 0, 3,113,192, 0, 3,113,208, + 0, 3,114,100, 0, 3,114,116, 0, 3,115, 24, 0, 3,115, 48, 0, 3,115, 72, 0, 3,115, 96, 0, 3,115,120, 0, 3,115,144, + 0, 3,115,168, 0, 3,115,192, 0, 3,115,216, 0, 3,115,240, 0, 3,116, 8, 0, 3,116, 92, 0, 3,116,196, 0, 3,116,196, + 0, 3,116,196, 0, 3,116,196, 0, 3,116,196, 0, 3,116,196, 0, 3,117, 84, 0, 3,117,100, 0, 3,117,116, 0, 3,117,132, + 0, 3,117,148, 0, 3,117,164, 0, 3,117,180, 0, 3,117,196, 0, 3,117,212, 0, 3,117,228, 0, 3,117,244, 0, 3,118, 4, + 0, 3,118, 20, 0, 3,118, 36, 0, 3,118, 52, 0, 3,118, 68, 0, 3,118, 84, 0, 3,118,100, 0, 3,118,116, 0, 3,118,132, + 0, 3,118,148, 0, 3,118,164, 0, 3,118,180, 0, 3,118,196, 0, 3,118,212, 0, 3,118,228, 0, 3,118,244, 0, 3,119, 4, + 0, 3,119, 20, 0, 3,119, 36, 0, 3,119, 52, 0, 3,119, 68, 0, 3,119, 84, 0, 3,119,100, 0, 3,119,116, 0, 3,119,132, + 0, 3,119,148, 0, 3,119,164, 0, 3,119,180, 0, 3,119,196, 0, 3,119,212, 0, 3,119,228, 0, 3,119,244, 0, 3,120, 4, + 0, 3,120, 20, 0, 3,120, 36, 0, 3,120, 52, 0, 3,120, 68, 0, 3,120, 84, 0, 3,120,100, 0, 3,120,116, 0, 3,120,132, + 0, 3,120,148, 0, 3,120,164, 0, 3,120,180, 0, 3,120,196, 0, 3,120,212, 0, 3,120,228, 0, 3,120,244, 0, 3,121, 4, + 0, 3,121, 20, 0, 3,121, 36, 0, 3,121, 52, 0, 3,121, 96, 0, 3,121,216, 0, 3,122, 96, 0, 3,123,140, 0, 3,124, 20, + 0, 3,124,148, 0, 3,125, 36, 0, 3,125, 92, 0, 3,125,144, 0, 3,125,228, 0, 3,126, 16, 0, 3,126, 84, 0, 3,126,128, + 0, 3,127, 4, 0, 3,127, 48, 0, 3,127, 76, 0, 3,127,104, 0, 3,127,132, 0, 3,127,204, 0, 3,127,244, 0, 3,128, 12, + 0, 3,128, 48, 0, 3,128, 96, 0, 3,128,212, 0, 3,129,112, 0, 3,130, 12, 0, 3,130,208, 0, 3,131,136, 0, 3,131,184, + 0, 3,131,220, 0, 3,132, 20, 0, 3,132, 52, 0, 3,132, 84, 0, 3,132,164, 0, 3,133, 48, 0, 1, 0, 0, 11,210, 2, 12, + 0, 43, 0,107, 0, 6, 0, 2, 0, 16, 0, 64, 0, 8, 0, 0, 5, 87, 7, 27, 0, 5, 0, 4, 0, 0, 0, 22, 1, 14, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 95, 0,192, 0, 1, 0, 0, 0, 0, 0, 1, 0, 16, 1, 66, 0, 1, 0, 0, 0, 0, 0, 2, 0, 4, + 1, 93, 0, 1, 0, 0, 0, 0, 0, 3, 0, 16, 1,132, 0, 1, 0, 0, 0, 0, 0, 4, 0, 16, 1,183, 0, 1, 0, 0, 0, 0, + 0, 5, 0, 12, 1,226, 0, 1, 0, 0, 0, 0, 0, 6, 0, 14, 2, 13, 0, 1, 0, 0, 0, 0, 0, 8, 0, 17, 2, 64, 0, 1, + 0, 0, 0, 0, 0, 11, 0, 29, 2,142, 0, 1, 0, 0, 0, 0, 0, 13, 9,147, 21,212, 0, 1, 0, 0, 0, 0, 0, 14, 0, 52, + 31,210, 0, 3, 0, 1, 4, 9, 0, 0, 0,190, 0, 0, 0, 3, 0, 1, 4, 9, 0, 1, 0, 32, 1, 32, 0, 3, 0, 1, 4, 9, + 0, 2, 0, 8, 1, 83, 0, 3, 0, 1, 4, 9, 0, 3, 0, 32, 1, 98, 0, 3, 0, 1, 4, 9, 0, 4, 0, 32, 1,149, 0, 3, + 0, 1, 4, 9, 0, 5, 0, 24, 1,200, 0, 3, 0, 1, 4, 9, 0, 6, 0, 28, 1,239, 0, 3, 0, 1, 4, 9, 0, 8, 0, 34, + 2, 28, 0, 3, 0, 1, 4, 9, 0, 11, 0, 58, 2, 82, 0, 3, 0, 1, 4, 9, 0, 13, 19, 38, 2,172, 0, 3, 0, 1, 4, 9, + 0, 14, 0,104, 31,104, 0, 67, 0,111, 0,112, 0,121, 0,114, 0,105, 0,103, 0,104, 0,116, 0, 32, 0, 40, 0, 99, 0, 41, + 0, 32, 0, 50, 0, 48, 0, 48, 0, 51, 0, 32, 0, 98, 0,121, 0, 32, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, + 0, 97, 0,109, 0, 44, 0, 32, 0, 73, 0,110, 0, 99, 0, 46, 0, 32, 0, 65, 0,108, 0,108, 0, 32, 0, 82, 0,105, 0,103, + 0,104, 0,116, 0,115, 0, 32, 0, 82, 0,101, 0,115, 0,101, 0,114, 0,118, 0,101, 0,100, 0, 46, 0, 10, 0, 68, 0,101, + 0,106, 0, 97, 0, 86, 0,117, 0, 32, 0, 99, 0,104, 0, 97, 0,110, 0,103, 0,101, 0,115, 0, 32, 0, 97, 0,114, 0,101, + 0, 32, 0,105, 0,110, 0, 32, 0,112, 0,117, 0, 98, 0,108, 0,105, 0, 99, 0, 32, 0,100, 0,111, 0,109, 0, 97, 0,105, + 0,110, 0, 10, 0, 0, 67,111,112,121,114,105,103,104,116, 32, 40, 99, 41, 32, 50, 48, 48, 51, 32, 98,121, 32, 66,105,116,115, +116,114,101, 97,109, 44, 32, 73,110, 99, 46, 32, 65,108,108, 32, 82,105,103,104,116,115, 32, 82,101,115,101,114,118,101,100, 46, + 10, 68,101,106, 97, 86,117, 32, 99,104, 97,110,103,101,115, 32, 97,114,101, 32,105,110, 32,112,117, 98,108,105, 99, 32,100,111, +109, 97,105,110, 10, 0, 0, 68, 0,101, 0,106, 0, 97, 0, 86, 0,117, 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 32, 0, 77, + 0,111, 0,110, 0,111, 0, 0, 68,101,106, 97, 86,117, 32, 83, 97,110,115, 32, 77,111,110,111, 0, 0, 66, 0,111, 0,111, 0, +107, 0, 0, 66,111,111,107, 0, 0, 68, 0,101, 0,106, 0, 97, 0, 86, 0,117, 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 32, + 0, 77, 0,111, 0,110, 0,111, 0, 0, 68,101,106, 97, 86,117, 32, 83, 97,110,115, 32, 77,111,110,111, 0, 0, 68, 0,101, 0, +106, 0, 97, 0, 86, 0,117, 0, 32, 0, 83, 0, 97, 0,110, 0,115, 0, 32, 0, 77, 0,111, 0,110, 0,111, 0, 0, 68,101,106, + 97, 86,117, 32, 83, 97,110,115, 32, 77,111,110,111, 0, 0, 86, 0,101, 0,114, 0,115, 0,105, 0,111, 0,110, 0, 32, 0, 50, + 0, 46, 0, 50, 0, 53, 0, 0, 86,101,114,115,105,111,110, 32, 50, 46, 50, 53, 0, 0, 68, 0,101, 0,106, 0, 97, 0, 86, 0, +117, 0, 83, 0, 97, 0,110, 0,115, 0, 77, 0,111, 0,110, 0,111, 0, 0, 68,101,106, 97, 86,117, 83, 97,110,115, 77,111,110, +111, 0, 0, 68, 0,101, 0,106, 0, 97, 0, 86, 0,117, 0, 32, 0,102, 0,111, 0,110, 0,116, 0,115, 0, 32, 0,116, 0,101, + 0, 97, 0,109, 0, 0, 68,101,106, 97, 86,117, 32,102,111,110,116,115, 32,116,101, 97,109, 0, 0,104, 0,116, 0,116, 0,112, + 0, 58, 0, 47, 0, 47, 0,100, 0,101, 0,106, 0, 97, 0,118, 0,117, 0, 46, 0,115, 0,111, 0,117, 0,114, 0, 99, 0,101, + 0,102, 0,111, 0,114, 0,103, 0,101, 0, 46, 0,110, 0,101, 0,116, 0, 0,104,116,116,112, 58, 47, 47,100,101,106, 97,118, +117, 46,115,111,117,114, 99,101,102,111,114,103,101, 46,110,101,116, 0, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 32, 0, 97, + 0,114, 0,101, 0, 32, 0, 40, 0, 99, 0, 41, 0, 32, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, + 0, 32, 0, 40, 0,115, 0,101, 0,101, 0, 32, 0, 98, 0,101, 0,108, 0,111, 0,119, 0, 41, 0, 46, 0, 32, 0, 68, 0,101, + 0,106, 0, 97, 0, 86, 0,117, 0, 32, 0, 99, 0,104, 0, 97, 0,110, 0,103, 0,101, 0,115, 0, 32, 0, 97, 0,114, 0,101, + 0, 32, 0,105, 0,110, 0, 32, 0,112, 0,117, 0, 98, 0,108, 0,105, 0, 99, 0, 32, 0,100, 0,111, 0,109, 0, 97, 0,105, + 0,110, 0, 46, 0, 10, 0, 10, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 32, 0, 86, 0,101, + 0,114, 0, 97, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 32, 0, 67, 0,111, 0,112, 0,121, 0,114, 0,105, 0,103, + 0,104, 0,116, 0, 10, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, + 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, 0, 45, + 0, 45, 0, 10, 0, 10, 0, 67, 0,111, 0,112, 0,121, 0,114, 0,105, 0,103, 0,104, 0,116, 0, 32, 0, 40, 0, 99, 0, 41, + 0, 32, 0, 50, 0, 48, 0, 48, 0, 51, 0, 32, 0, 98, 0,121, 0, 32, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, + 0, 97, 0,109, 0, 44, 0, 32, 0, 73, 0,110, 0, 99, 0, 46, 0, 32, 0, 65, 0,108, 0,108, 0, 32, 0, 82, 0,105, 0,103, + 0,104, 0,116, 0,115, 0, 32, 0, 82, 0,101, 0,115, 0,101, 0,114, 0,118, 0,101, 0,100, 0, 46, 0, 32, 0, 66, 0,105, + 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 32, 0, 86, 0,101, 0,114, 0, 97, 0, 32, 0,105, 0,115, 0, 32, + 0, 97, 0, 32, 0,116, 0,114, 0, 97, 0,100, 0,101, 0,109, 0, 97, 0,114, 0,107, 0, 32, 0,111, 0,102, 0, 32, 0, 66, + 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 44, 0, 32, 0, 73, 0,110, 0, 99, 0, 46, 0, 10, 0, 10, + 0, 80, 0,101, 0,114, 0,109, 0,105, 0,115, 0,115, 0,105, 0,111, 0,110, 0, 32, 0,105, 0,115, 0, 32, 0,104, 0,101, + 0,114, 0,101, 0, 98, 0,121, 0, 32, 0,103, 0,114, 0, 97, 0,110, 0,116, 0,101, 0,100, 0, 44, 0, 32, 0,102, 0,114, + 0,101, 0,101, 0, 32, 0,111, 0,102, 0, 32, 0, 99, 0,104, 0, 97, 0,114, 0,103, 0,101, 0, 44, 0, 32, 0,116, 0,111, + 0, 32, 0, 97, 0,110, 0,121, 0, 32, 0,112, 0,101, 0,114, 0,115, 0,111, 0,110, 0, 32, 0,111, 0, 98, 0,116, 0, 97, + 0,105, 0,110, 0,105, 0,110, 0,103, 0, 32, 0, 97, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0, 32, 0,111, 0,102, 0, 32, + 0,116, 0,104, 0,101, 0, 32, 0,102, 0,111, 0,110, 0,116, 0,115, 0, 32, 0, 97, 0, 99, 0, 99, 0,111, 0,109, 0,112, + 0, 97, 0,110, 0,121, 0,105, 0,110, 0,103, 0, 32, 0,116, 0,104, 0,105, 0,115, 0, 32, 0,108, 0,105, 0, 99, 0,101, + 0,110, 0,115, 0,101, 0, 32, 0, 40, 0, 34, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 34, 0, 41, 0, 32, 0, 97, 0,110, + 0,100, 0, 32, 0, 97, 0,115, 0,115, 0,111, 0, 99, 0,105, 0, 97, 0,116, 0,101, 0,100, 0, 32, 0,100, 0,111, 0, 99, + 0,117, 0,109, 0,101, 0,110, 0,116, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 32, 0,102, 0,105, 0,108, 0,101, 0,115, + 0, 32, 0, 40, 0,116, 0,104, 0,101, 0, 32, 0, 34, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, + 0,119, 0, 97, 0,114, 0,101, 0, 34, 0, 41, 0, 44, 0, 32, 0,116, 0,111, 0, 32, 0,114, 0,101, 0,112, 0,114, 0,111, + 0,100, 0,117, 0, 99, 0,101, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,100, 0,105, 0,115, 0,116, 0,114, 0,105, 0, 98, + 0,117, 0,116, 0,101, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, + 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 44, 0, 32, 0,105, 0,110, 0, 99, 0,108, 0,117, 0,100, 0,105, 0,110, 0,103, + 0, 32, 0,119, 0,105, 0,116, 0,104, 0,111, 0,117, 0,116, 0, 32, 0,108, 0,105, 0,109, 0,105, 0,116, 0, 97, 0,116, + 0,105, 0,111, 0,110, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,114, 0,105, 0,103, 0,104, 0,116, 0,115, 0, 32, 0,116, + 0,111, 0, 32, 0,117, 0,115, 0,101, 0, 44, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0, 44, 0, 32, 0,109, 0,101, 0,114, + 0,103, 0,101, 0, 44, 0, 32, 0,112, 0,117, 0, 98, 0,108, 0,105, 0,115, 0,104, 0, 44, 0, 32, 0,100, 0,105, 0,115, + 0,116, 0,114, 0,105, 0, 98, 0,117, 0,116, 0,101, 0, 44, 0, 32, 0, 97, 0,110, 0,100, 0, 47, 0,111, 0,114, 0, 32, + 0,115, 0,101, 0,108, 0,108, 0, 32, 0, 99, 0,111, 0,112, 0,105, 0,101, 0,115, 0, 32, 0,111, 0,102, 0, 32, 0,116, + 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, + 0, 44, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,116, 0,111, 0, 32, 0,112, 0,101, 0,114, 0,109, 0,105, 0,116, 0, 32, + 0,112, 0,101, 0,114, 0,115, 0,111, 0,110, 0,115, 0, 32, 0,116, 0,111, 0, 32, 0,119, 0,104, 0,111, 0,109, 0, 32, + 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, + 0,101, 0, 32, 0,105, 0,115, 0, 32, 0,102, 0,117, 0,114, 0,110, 0,105, 0,115, 0,104, 0,101, 0,100, 0, 32, 0,116, + 0,111, 0, 32, 0,100, 0,111, 0, 32, 0,115, 0,111, 0, 44, 0, 32, 0,115, 0,117, 0, 98, 0,106, 0,101, 0, 99, 0,116, + 0, 32, 0,116, 0,111, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,102, 0,111, 0,108, 0,108, 0,111, 0,119, 0,105, 0,110, + 0,103, 0, 32, 0, 99, 0,111, 0,110, 0,100, 0,105, 0,116, 0,105, 0,111, 0,110, 0,115, 0, 58, 0, 10, 0, 10, 0, 84, + 0,104, 0,101, 0, 32, 0, 97, 0, 98, 0,111, 0,118, 0,101, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0,114, 0,105, 0,103, + 0,104, 0,116, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,116, 0,114, 0, 97, 0,100, 0,101, 0,109, 0, 97, 0,114, 0,107, + 0, 32, 0,110, 0,111, 0,116, 0,105, 0, 99, 0,101, 0,115, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,116, 0,104, 0,105, + 0,115, 0, 32, 0,112, 0,101, 0,114, 0,109, 0,105, 0,115, 0,115, 0,105, 0,111, 0,110, 0, 32, 0,110, 0,111, 0,116, + 0,105, 0, 99, 0,101, 0, 32, 0,115, 0,104, 0, 97, 0,108, 0,108, 0, 32, 0, 98, 0,101, 0, 32, 0,105, 0,110, 0, 99, + 0,108, 0,117, 0,100, 0,101, 0,100, 0, 32, 0,105, 0,110, 0, 32, 0, 97, 0,108, 0,108, 0, 32, 0, 99, 0,111, 0,112, + 0,105, 0,101, 0,115, 0, 32, 0,111, 0,102, 0, 32, 0,111, 0,110, 0,101, 0, 32, 0,111, 0,114, 0, 32, 0,109, 0,111, + 0,114, 0,101, 0, 32, 0,111, 0,102, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, + 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,116, 0,121, 0,112, 0,101, 0,102, 0, 97, 0, 99, 0,101, + 0,115, 0, 46, 0, 10, 0, 10, 0, 84, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, + 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0,109, 0,111, 0,100, + 0,105, 0,102, 0,105, 0,101, 0,100, 0, 44, 0, 32, 0, 97, 0,108, 0,116, 0,101, 0,114, 0,101, 0,100, 0, 44, 0, 32, + 0,111, 0,114, 0, 32, 0, 97, 0,100, 0,100, 0,101, 0,100, 0, 32, 0,116, 0,111, 0, 44, 0, 32, 0, 97, 0,110, 0,100, + 0, 32, 0,105, 0,110, 0, 32, 0,112, 0, 97, 0,114, 0,116, 0,105, 0, 99, 0,117, 0,108, 0, 97, 0,114, 0, 32, 0,116, + 0,104, 0,101, 0, 32, 0,100, 0,101, 0,115, 0,105, 0,103, 0,110, 0,115, 0, 32, 0,111, 0,102, 0, 32, 0,103, 0,108, + 0,121, 0,112, 0,104, 0,115, 0, 32, 0,111, 0,114, 0, 32, 0, 99, 0,104, 0, 97, 0,114, 0, 97, 0, 99, 0,116, 0,101, + 0,114, 0,115, 0, 32, 0,105, 0,110, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 32, + 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0,109, 0,111, 0,100, 0,105, 0,102, 0,105, 0,101, 0,100, 0, 32, + 0, 97, 0,110, 0,100, 0, 32, 0, 97, 0,100, 0,100, 0,105, 0,116, 0,105, 0,111, 0,110, 0, 97, 0,108, 0, 32, 0,103, + 0,108, 0,121, 0,112, 0,104, 0,115, 0, 32, 0,111, 0,114, 0, 32, 0, 32, 0,111, 0,114, 0, 32, 0, 99, 0,104, 0, 97, + 0,114, 0, 97, 0, 99, 0,116, 0,101, 0,114, 0,115, 0, 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0, 97, + 0,100, 0,100, 0,101, 0,100, 0, 32, 0,116, 0,111, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, + 0,115, 0, 44, 0, 32, 0,111, 0,110, 0,108, 0,121, 0, 32, 0,105, 0,102, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,102, + 0,111, 0,110, 0,116, 0,115, 0, 32, 0, 97, 0,114, 0,101, 0, 32, 0,114, 0,101, 0,110, 0, 97, 0,109, 0,101, 0,100, + 0, 32, 0,116, 0,111, 0, 32, 0,110, 0, 97, 0,109, 0,101, 0,115, 0, 32, 0,110, 0,111, 0,116, 0, 32, 0, 99, 0,111, + 0,110, 0,116, 0, 97, 0,105, 0,110, 0,105, 0,110, 0,103, 0, 32, 0,101, 0,105, 0,116, 0,104, 0,101, 0,114, 0, 32, + 0,116, 0,104, 0,101, 0, 32, 0,119, 0,111, 0,114, 0,100, 0,115, 0, 32, 0, 34, 0, 66, 0,105, 0,116, 0,115, 0,116, + 0,114, 0,101, 0, 97, 0,109, 0, 34, 0, 32, 0,111, 0,114, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,119, 0,111, 0,114, + 0,100, 0, 32, 0, 34, 0, 86, 0,101, 0,114, 0, 97, 0, 34, 0, 46, 0, 10, 0, 10, 0, 84, 0,104, 0,105, 0,115, 0, 32, + 0, 76, 0,105, 0, 99, 0,101, 0,110, 0,115, 0,101, 0, 32, 0, 98, 0,101, 0, 99, 0,111, 0,109, 0,101, 0,115, 0, 32, + 0,110, 0,117, 0,108, 0,108, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,118, 0,111, 0,105, 0,100, 0, 32, 0,116, 0,111, + 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,101, 0,120, 0,116, 0,101, 0,110, 0,116, 0, 32, 0, 97, 0,112, 0,112, 0,108, + 0,105, 0, 99, 0, 97, 0, 98, 0,108, 0,101, 0, 32, 0,116, 0,111, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0,115, 0, 32, + 0,111, 0,114, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, + 0, 32, 0,116, 0,104, 0, 97, 0,116, 0, 32, 0,104, 0, 97, 0,115, 0, 32, 0, 98, 0,101, 0,101, 0,110, 0, 32, 0,109, + 0,111, 0,100, 0,105, 0,102, 0,105, 0,101, 0,100, 0, 32, 0, 97, 0,110, 0,100, 0, 32, 0,105, 0,115, 0, 32, 0,100, + 0,105, 0,115, 0,116, 0,114, 0,105, 0, 98, 0,117, 0,116, 0,101, 0,100, 0, 32, 0,117, 0,110, 0,100, 0,101, 0,114, + 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 34, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 32, + 0, 86, 0,101, 0,114, 0, 97, 0, 34, 0, 32, 0,110, 0, 97, 0,109, 0,101, 0,115, 0, 46, 0, 10, 0, 10, 0, 84, 0,104, + 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, + 0,109, 0, 97, 0,121, 0, 32, 0, 98, 0,101, 0, 32, 0,115, 0,111, 0,108, 0,100, 0, 32, 0, 97, 0,115, 0, 32, 0,112, + 0, 97, 0,114, 0,116, 0, 32, 0,111, 0,102, 0, 32, 0, 97, 0, 32, 0,108, 0, 97, 0,114, 0,103, 0,101, 0,114, 0, 32, + 0,115, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, 0, 32, 0,112, 0, 97, 0, 99, 0,107, 0, 97, 0,103, 0,101, + 0, 32, 0, 98, 0,117, 0,116, 0, 32, 0,110, 0,111, 0, 32, 0, 99, 0,111, 0,112, 0,121, 0, 32, 0,111, 0,102, 0, 32, + 0,111, 0,110, 0,101, 0, 32, 0,111, 0,114, 0, 32, 0,109, 0,111, 0,114, 0,101, 0, 32, 0,111, 0,102, 0, 32, 0,116, + 0,104, 0,101, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, 0,101, + 0, 32, 0,116, 0,121, 0,112, 0,101, 0,102, 0, 97, 0, 99, 0,101, 0,115, 0, 32, 0,109, 0, 97, 0,121, 0, 32, 0, 98, + 0,101, 0, 32, 0,115, 0,111, 0,108, 0,100, 0, 32, 0, 98, 0,121, 0, 32, 0,105, 0,116, 0,115, 0,101, 0,108, 0,102, + 0, 46, 0, 10, 0, 10, 0, 84, 0, 72, 0, 69, 0, 32, 0, 70, 0, 79, 0, 78, 0, 84, 0, 32, 0, 83, 0, 79, 0, 70, 0, 84, + 0, 87, 0, 65, 0, 82, 0, 69, 0, 32, 0, 73, 0, 83, 0, 32, 0, 80, 0, 82, 0, 79, 0, 86, 0, 73, 0, 68, 0, 69, 0, 68, + 0, 32, 0, 34, 0, 65, 0, 83, 0, 32, 0, 73, 0, 83, 0, 34, 0, 44, 0, 32, 0, 87, 0, 73, 0, 84, 0, 72, 0, 79, 0, 85, + 0, 84, 0, 32, 0, 87, 0, 65, 0, 82, 0, 82, 0, 65, 0, 78, 0, 84, 0, 89, 0, 32, 0, 79, 0, 70, 0, 32, 0, 65, 0, 78, + 0, 89, 0, 32, 0, 75, 0, 73, 0, 78, 0, 68, 0, 44, 0, 32, 0, 69, 0, 88, 0, 80, 0, 82, 0, 69, 0, 83, 0, 83, 0, 32, + 0, 79, 0, 82, 0, 32, 0, 73, 0, 77, 0, 80, 0, 76, 0, 73, 0, 69, 0, 68, 0, 44, 0, 32, 0, 73, 0, 78, 0, 67, 0, 76, + 0, 85, 0, 68, 0, 73, 0, 78, 0, 71, 0, 32, 0, 66, 0, 85, 0, 84, 0, 32, 0, 78, 0, 79, 0, 84, 0, 32, 0, 76, 0, 73, + 0, 77, 0, 73, 0, 84, 0, 69, 0, 68, 0, 32, 0, 84, 0, 79, 0, 32, 0, 65, 0, 78, 0, 89, 0, 32, 0, 87, 0, 65, 0, 82, + 0, 82, 0, 65, 0, 78, 0, 84, 0, 73, 0, 69, 0, 83, 0, 32, 0, 79, 0, 70, 0, 32, 0, 77, 0, 69, 0, 82, 0, 67, 0, 72, + 0, 65, 0, 78, 0, 84, 0, 65, 0, 66, 0, 73, 0, 76, 0, 73, 0, 84, 0, 89, 0, 44, 0, 32, 0, 70, 0, 73, 0, 84, 0, 78, + 0, 69, 0, 83, 0, 83, 0, 32, 0, 70, 0, 79, 0, 82, 0, 32, 0, 65, 0, 32, 0, 80, 0, 65, 0, 82, 0, 84, 0, 73, 0, 67, + 0, 85, 0, 76, 0, 65, 0, 82, 0, 32, 0, 80, 0, 85, 0, 82, 0, 80, 0, 79, 0, 83, 0, 69, 0, 32, 0, 65, 0, 78, 0, 68, + 0, 32, 0, 78, 0, 79, 0, 78, 0, 73, 0, 78, 0, 70, 0, 82, 0, 73, 0, 78, 0, 71, 0, 69, 0, 77, 0, 69, 0, 78, 0, 84, + 0, 32, 0, 79, 0, 70, 0, 32, 0, 67, 0, 79, 0, 80, 0, 89, 0, 82, 0, 73, 0, 71, 0, 72, 0, 84, 0, 44, 0, 32, 0, 80, + 0, 65, 0, 84, 0, 69, 0, 78, 0, 84, 0, 44, 0, 32, 0, 84, 0, 82, 0, 65, 0, 68, 0, 69, 0, 77, 0, 65, 0, 82, 0, 75, + 0, 44, 0, 32, 0, 79, 0, 82, 0, 32, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 32, 0, 82, 0, 73, 0, 71, 0, 72, 0, 84, + 0, 46, 0, 32, 0, 73, 0, 78, 0, 32, 0, 78, 0, 79, 0, 32, 0, 69, 0, 86, 0, 69, 0, 78, 0, 84, 0, 32, 0, 83, 0, 72, + 0, 65, 0, 76, 0, 76, 0, 32, 0, 66, 0, 73, 0, 84, 0, 83, 0, 84, 0, 82, 0, 69, 0, 65, 0, 77, 0, 32, 0, 79, 0, 82, + 0, 32, 0, 84, 0, 72, 0, 69, 0, 32, 0, 71, 0, 78, 0, 79, 0, 77, 0, 69, 0, 32, 0, 70, 0, 79, 0, 85, 0, 78, 0, 68, + 0, 65, 0, 84, 0, 73, 0, 79, 0, 78, 0, 32, 0, 66, 0, 69, 0, 32, 0, 76, 0, 73, 0, 65, 0, 66, 0, 76, 0, 69, 0, 32, + 0, 70, 0, 79, 0, 82, 0, 32, 0, 65, 0, 78, 0, 89, 0, 32, 0, 67, 0, 76, 0, 65, 0, 73, 0, 77, 0, 44, 0, 32, 0, 68, + 0, 65, 0, 77, 0, 65, 0, 71, 0, 69, 0, 83, 0, 32, 0, 79, 0, 82, 0, 32, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 32, + 0, 76, 0, 73, 0, 65, 0, 66, 0, 73, 0, 76, 0, 73, 0, 84, 0, 89, 0, 44, 0, 32, 0, 73, 0, 78, 0, 67, 0, 76, 0, 85, + 0, 68, 0, 73, 0, 78, 0, 71, 0, 32, 0, 65, 0, 78, 0, 89, 0, 32, 0, 71, 0, 69, 0, 78, 0, 69, 0, 82, 0, 65, 0, 76, + 0, 44, 0, 32, 0, 83, 0, 80, 0, 69, 0, 67, 0, 73, 0, 65, 0, 76, 0, 44, 0, 32, 0, 73, 0, 78, 0, 68, 0, 73, 0, 82, + 0, 69, 0, 67, 0, 84, 0, 44, 0, 32, 0, 73, 0, 78, 0, 67, 0, 73, 0, 68, 0, 69, 0, 78, 0, 84, 0, 65, 0, 76, 0, 44, + 0, 32, 0, 79, 0, 82, 0, 32, 0, 67, 0, 79, 0, 78, 0, 83, 0, 69, 0, 81, 0, 85, 0, 69, 0, 78, 0, 84, 0, 73, 0, 65, + 0, 76, 0, 32, 0, 68, 0, 65, 0, 77, 0, 65, 0, 71, 0, 69, 0, 83, 0, 44, 0, 32, 0, 87, 0, 72, 0, 69, 0, 84, 0, 72, + 0, 69, 0, 82, 0, 32, 0, 73, 0, 78, 0, 32, 0, 65, 0, 78, 0, 32, 0, 65, 0, 67, 0, 84, 0, 73, 0, 79, 0, 78, 0, 32, + 0, 79, 0, 70, 0, 32, 0, 67, 0, 79, 0, 78, 0, 84, 0, 82, 0, 65, 0, 67, 0, 84, 0, 44, 0, 32, 0, 84, 0, 79, 0, 82, + 0, 84, 0, 32, 0, 79, 0, 82, 0, 32, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, 0, 87, 0, 73, 0, 83, 0, 69, 0, 44, 0, 32, + 0, 65, 0, 82, 0, 73, 0, 83, 0, 73, 0, 78, 0, 71, 0, 32, 0, 70, 0, 82, 0, 79, 0, 77, 0, 44, 0, 32, 0, 79, 0, 85, + 0, 84, 0, 32, 0, 79, 0, 70, 0, 32, 0, 84, 0, 72, 0, 69, 0, 32, 0, 85, 0, 83, 0, 69, 0, 32, 0, 79, 0, 82, 0, 32, + 0, 73, 0, 78, 0, 65, 0, 66, 0, 73, 0, 76, 0, 73, 0, 84, 0, 89, 0, 32, 0, 84, 0, 79, 0, 32, 0, 85, 0, 83, 0, 69, + 0, 32, 0, 84, 0, 72, 0, 69, 0, 32, 0, 70, 0, 79, 0, 78, 0, 84, 0, 32, 0, 83, 0, 79, 0, 70, 0, 84, 0, 87, 0, 65, + 0, 82, 0, 69, 0, 32, 0, 79, 0, 82, 0, 32, 0, 70, 0, 82, 0, 79, 0, 77, 0, 32, 0, 79, 0, 84, 0, 72, 0, 69, 0, 82, + 0, 32, 0, 68, 0, 69, 0, 65, 0, 76, 0, 73, 0, 78, 0, 71, 0, 83, 0, 32, 0, 73, 0, 78, 0, 32, 0, 84, 0, 72, 0, 69, + 0, 32, 0, 70, 0, 79, 0, 78, 0, 84, 0, 32, 0, 83, 0, 79, 0, 70, 0, 84, 0, 87, 0, 65, 0, 82, 0, 69, 0, 46, 0, 10, + 0, 10, 0, 69, 0,120, 0, 99, 0,101, 0,112, 0,116, 0, 32, 0, 97, 0,115, 0, 32, 0, 99, 0,111, 0,110, 0,116, 0, 97, + 0,105, 0,110, 0,101, 0,100, 0, 32, 0,105, 0,110, 0, 32, 0,116, 0,104, 0,105, 0,115, 0, 32, 0,110, 0,111, 0,116, + 0,105, 0, 99, 0,101, 0, 44, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0,110, 0, 97, 0,109, 0,101, 0,115, 0, 32, 0,111, + 0,102, 0, 32, 0, 71, 0,110, 0,111, 0,109, 0,101, 0, 44, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 71, 0,110, 0,111, + 0,109, 0,101, 0, 32, 0, 70, 0,111, 0,117, 0,110, 0,100, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 44, 0, 32, 0, 97, + 0,110, 0,100, 0, 32, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 32, 0, 73, 0,110, 0, 99, + 0, 46, 0, 44, 0, 32, 0,115, 0,104, 0, 97, 0,108, 0,108, 0, 32, 0,110, 0,111, 0,116, 0, 32, 0, 98, 0,101, 0, 32, + 0,117, 0,115, 0,101, 0,100, 0, 32, 0,105, 0,110, 0, 32, 0, 97, 0,100, 0,118, 0,101, 0,114, 0,116, 0,105, 0,115, + 0,105, 0,110, 0,103, 0, 32, 0,111, 0,114, 0, 32, 0,111, 0,116, 0,104, 0,101, 0,114, 0,119, 0,105, 0,115, 0,101, + 0, 32, 0,116, 0,111, 0, 32, 0,112, 0,114, 0,111, 0,109, 0,111, 0,116, 0,101, 0, 32, 0,116, 0,104, 0,101, 0, 32, + 0,115, 0, 97, 0,108, 0,101, 0, 44, 0, 32, 0,117, 0,115, 0,101, 0, 32, 0,111, 0,114, 0, 32, 0,111, 0,116, 0,104, + 0,101, 0,114, 0, 32, 0,100, 0,101, 0, 97, 0,108, 0,105, 0,110, 0,103, 0,115, 0, 32, 0,105, 0,110, 0, 32, 0,116, + 0,104, 0,105, 0,115, 0, 32, 0, 70, 0,111, 0,110, 0,116, 0, 32, 0, 83, 0,111, 0,102, 0,116, 0,119, 0, 97, 0,114, + 0,101, 0, 32, 0,119, 0,105, 0,116, 0,104, 0,111, 0,117, 0,116, 0, 32, 0,112, 0,114, 0,105, 0,111, 0,114, 0, 32, + 0,119, 0,114, 0,105, 0,116, 0,116, 0,101, 0,110, 0, 32, 0, 97, 0,117, 0,116, 0,104, 0,111, 0,114, 0,105, 0,122, + 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 32, 0,102, 0,114, 0,111, 0,109, 0, 32, 0,116, 0,104, 0,101, 0, 32, 0, 71, + 0,110, 0,111, 0,109, 0,101, 0, 32, 0, 70, 0,111, 0,117, 0,110, 0,100, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 32, + 0,111, 0,114, 0, 32, 0, 66, 0,105, 0,116, 0,115, 0,116, 0,114, 0,101, 0, 97, 0,109, 0, 32, 0, 73, 0,110, 0, 99, + 0, 46, 0, 44, 0, 32, 0,114, 0,101, 0,115, 0,112, 0,101, 0, 99, 0,116, 0,105, 0,118, 0,101, 0,108, 0,121, 0, 46, + 0, 32, 0, 70, 0,111, 0,114, 0, 32, 0,102, 0,117, 0,114, 0,116, 0,104, 0,101, 0,114, 0, 32, 0,105, 0,110, 0,102, + 0,111, 0,114, 0,109, 0, 97, 0,116, 0,105, 0,111, 0,110, 0, 44, 0, 32, 0, 99, 0,111, 0,110, 0,116, 0, 97, 0, 99, + 0,116, 0, 58, 0, 32, 0,102, 0,111, 0,110, 0,116, 0,115, 0, 32, 0, 97, 0,116, 0, 32, 0,103, 0,110, 0,111, 0,109, + 0,101, 0, 32, 0,100, 0,111, 0,116, 0, 32, 0,111, 0,114, 0,103, 0, 46, 0, 32, 0, 10, 0, 0, 70,111,110,116,115, 32, + 97,114,101, 32, 40, 99, 41, 32, 66,105,116,115,116,114,101, 97,109, 32, 40,115,101,101, 32, 98,101,108,111,119, 41, 46, 32, 68, +101,106, 97, 86,117, 32, 99,104, 97,110,103,101,115, 32, 97,114,101, 32,105,110, 32,112,117, 98,108,105, 99, 32,100,111,109, 97, +105,110, 46, 10, 10, 66,105,116,115,116,114,101, 97,109, 32, 86,101,114, 97, 32, 70,111,110,116,115, 32, 67,111,112,121,114,105, +103,104,116, 10, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 10, 10, 67,111,112,121,114,105,103,104,116, 32, 40, 99, 41, 32, 50, 48, 48, 51, 32, 98,121, 32, 66,105,116,115,116,114, +101, 97,109, 44, 32, 73,110, 99, 46, 32, 65,108,108, 32, 82,105,103,104,116,115, 32, 82,101,115,101,114,118,101,100, 46, 32, 66, +105,116,115,116,114,101, 97,109, 32, 86,101,114, 97, 32,105,115, 32, 97, 32,116,114, 97,100,101,109, 97,114,107, 32,111,102, 32, + 66,105,116,115,116,114,101, 97,109, 44, 32, 73,110, 99, 46, 10, 10, 80,101,114,109,105,115,115,105,111,110, 32,105,115, 32,104, +101,114,101, 98,121, 32,103,114, 97,110,116,101,100, 44, 32,102,114,101,101, 32,111,102, 32, 99,104, 97,114,103,101, 44, 32,116, +111, 32, 97,110,121, 32,112,101,114,115,111,110, 32,111, 98,116, 97,105,110,105,110,103, 32, 97, 32, 99,111,112,121, 32,111,102, + 32,116,104,101, 32,102,111,110,116,115, 32, 97, 99, 99,111,109,112, 97,110,121,105,110,103, 32,116,104,105,115, 32,108,105, 99, +101,110,115,101, 32, 40, 34, 70,111,110,116,115, 34, 41, 32, 97,110,100, 32, 97,115,115,111, 99,105, 97,116,101,100, 32,100,111, + 99,117,109,101,110,116, 97,116,105,111,110, 32,102,105,108,101,115, 32, 40,116,104,101, 32, 34, 70,111,110,116, 32, 83,111,102, +116,119, 97,114,101, 34, 41, 44, 32,116,111, 32,114,101,112,114,111,100,117, 99,101, 32, 97,110,100, 32,100,105,115,116,114,105, + 98,117,116,101, 32,116,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 44, 32,105,110, 99,108,117,100,105,110, +103, 32,119,105,116,104,111,117,116, 32,108,105,109,105,116, 97,116,105,111,110, 32,116,104,101, 32,114,105,103,104,116,115, 32, +116,111, 32,117,115,101, 44, 32, 99,111,112,121, 44, 32,109,101,114,103,101, 44, 32,112,117, 98,108,105,115,104, 44, 32,100,105, +115,116,114,105, 98,117,116,101, 44, 32, 97,110,100, 47,111,114, 32,115,101,108,108, 32, 99,111,112,105,101,115, 32,111,102, 32, +116,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 44, 32, 97,110,100, 32,116,111, 32,112,101,114,109,105,116, + 32,112,101,114,115,111,110,115, 32,116,111, 32,119,104,111,109, 32,116,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97, +114,101, 32,105,115, 32,102,117,114,110,105,115,104,101,100, 32,116,111, 32,100,111, 32,115,111, 44, 32,115,117, 98,106,101, 99, +116, 32,116,111, 32,116,104,101, 32,102,111,108,108,111,119,105,110,103, 32, 99,111,110,100,105,116,105,111,110,115, 58, 10, 10, + 84,104,101, 32, 97, 98,111,118,101, 32, 99,111,112,121,114,105,103,104,116, 32, 97,110,100, 32,116,114, 97,100,101,109, 97,114, +107, 32,110,111,116,105, 99,101,115, 32, 97,110,100, 32,116,104,105,115, 32,112,101,114,109,105,115,115,105,111,110, 32,110,111, +116,105, 99,101, 32,115,104, 97,108,108, 32, 98,101, 32,105,110, 99,108,117,100,101,100, 32,105,110, 32, 97,108,108, 32, 99,111, +112,105,101,115, 32,111,102, 32,111,110,101, 32,111,114, 32,109,111,114,101, 32,111,102, 32,116,104,101, 32, 70,111,110,116, 32, + 83,111,102,116,119, 97,114,101, 32,116,121,112,101,102, 97, 99,101,115, 46, 10, 10, 84,104,101, 32, 70,111,110,116, 32, 83,111, +102,116,119, 97,114,101, 32,109, 97,121, 32, 98,101, 32,109,111,100,105,102,105,101,100, 44, 32, 97,108,116,101,114,101,100, 44, + 32,111,114, 32, 97,100,100,101,100, 32,116,111, 44, 32, 97,110,100, 32,105,110, 32,112, 97,114,116,105, 99,117,108, 97,114, 32, +116,104,101, 32,100,101,115,105,103,110,115, 32,111,102, 32,103,108,121,112,104,115, 32,111,114, 32, 99,104, 97,114, 97, 99,116, +101,114,115, 32,105,110, 32,116,104,101, 32, 70,111,110,116,115, 32,109, 97,121, 32, 98,101, 32,109,111,100,105,102,105,101,100, + 32, 97,110,100, 32, 97,100,100,105,116,105,111,110, 97,108, 32,103,108,121,112,104,115, 32,111,114, 32, 32,111,114, 32, 99,104, + 97,114, 97, 99,116,101,114,115, 32,109, 97,121, 32, 98,101, 32, 97,100,100,101,100, 32,116,111, 32,116,104,101, 32, 70,111,110, +116,115, 44, 32,111,110,108,121, 32,105,102, 32,116,104,101, 32,102,111,110,116,115, 32, 97,114,101, 32,114,101,110, 97,109,101, +100, 32,116,111, 32,110, 97,109,101,115, 32,110,111,116, 32, 99,111,110,116, 97,105,110,105,110,103, 32,101,105,116,104,101,114, + 32,116,104,101, 32,119,111,114,100,115, 32, 34, 66,105,116,115,116,114,101, 97,109, 34, 32,111,114, 32,116,104,101, 32,119,111, +114,100, 32, 34, 86,101,114, 97, 34, 46, 10, 10, 84,104,105,115, 32, 76,105, 99,101,110,115,101, 32, 98,101, 99,111,109,101,115, + 32,110,117,108,108, 32, 97,110,100, 32,118,111,105,100, 32,116,111, 32,116,104,101, 32,101,120,116,101,110,116, 32, 97,112,112, +108,105, 99, 97, 98,108,101, 32,116,111, 32, 70,111,110,116,115, 32,111,114, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114, +101, 32,116,104, 97,116, 32,104, 97,115, 32, 98,101,101,110, 32,109,111,100,105,102,105,101,100, 32, 97,110,100, 32,105,115, 32, +100,105,115,116,114,105, 98,117,116,101,100, 32,117,110,100,101,114, 32,116,104,101, 32, 34, 66,105,116,115,116,114,101, 97,109, + 32, 86,101,114, 97, 34, 32,110, 97,109,101,115, 46, 10, 10, 84,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, + 32,109, 97,121, 32, 98,101, 32,115,111,108,100, 32, 97,115, 32,112, 97,114,116, 32,111,102, 32, 97, 32,108, 97,114,103,101,114, + 32,115,111,102,116,119, 97,114,101, 32,112, 97, 99,107, 97,103,101, 32, 98,117,116, 32,110,111, 32, 99,111,112,121, 32,111,102, + 32,111,110,101, 32,111,114, 32,109,111,114,101, 32,111,102, 32,116,104,101, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114, +101, 32,116,121,112,101,102, 97, 99,101,115, 32,109, 97,121, 32, 98,101, 32,115,111,108,100, 32, 98,121, 32,105,116,115,101,108, +102, 46, 10, 10, 84, 72, 69, 32, 70, 79, 78, 84, 32, 83, 79, 70, 84, 87, 65, 82, 69, 32, 73, 83, 32, 80, 82, 79, 86, 73, 68, 69, + 68, 32, 34, 65, 83, 32, 73, 83, 34, 44, 32, 87, 73, 84, 72, 79, 85, 84, 32, 87, 65, 82, 82, 65, 78, 84, 89, 32, 79, 70, 32, 65, + 78, 89, 32, 75, 73, 78, 68, 44, 32, 69, 88, 80, 82, 69, 83, 83, 32, 79, 82, 32, 73, 77, 80, 76, 73, 69, 68, 44, 32, 73, 78, 67, + 76, 85, 68, 73, 78, 71, 32, 66, 85, 84, 32, 78, 79, 84, 32, 76, 73, 77, 73, 84, 69, 68, 32, 84, 79, 32, 65, 78, 89, 32, 87, 65, + 82, 82, 65, 78, 84, 73, 69, 83, 32, 79, 70, 32, 77, 69, 82, 67, 72, 65, 78, 84, 65, 66, 73, 76, 73, 84, 89, 44, 32, 70, 73, 84, + 78, 69, 83, 83, 32, 70, 79, 82, 32, 65, 32, 80, 65, 82, 84, 73, 67, 85, 76, 65, 82, 32, 80, 85, 82, 80, 79, 83, 69, 32, 65, 78, + 68, 32, 78, 79, 78, 73, 78, 70, 82, 73, 78, 71, 69, 77, 69, 78, 84, 32, 79, 70, 32, 67, 79, 80, 89, 82, 73, 71, 72, 84, 44, 32, + 80, 65, 84, 69, 78, 84, 44, 32, 84, 82, 65, 68, 69, 77, 65, 82, 75, 44, 32, 79, 82, 32, 79, 84, 72, 69, 82, 32, 82, 73, 71, 72, + 84, 46, 32, 73, 78, 32, 78, 79, 32, 69, 86, 69, 78, 84, 32, 83, 72, 65, 76, 76, 32, 66, 73, 84, 83, 84, 82, 69, 65, 77, 32, 79, + 82, 32, 84, 72, 69, 32, 71, 78, 79, 77, 69, 32, 70, 79, 85, 78, 68, 65, 84, 73, 79, 78, 32, 66, 69, 32, 76, 73, 65, 66, 76, 69, + 32, 70, 79, 82, 32, 65, 78, 89, 32, 67, 76, 65, 73, 77, 44, 32, 68, 65, 77, 65, 71, 69, 83, 32, 79, 82, 32, 79, 84, 72, 69, 82, + 32, 76, 73, 65, 66, 73, 76, 73, 84, 89, 44, 32, 73, 78, 67, 76, 85, 68, 73, 78, 71, 32, 65, 78, 89, 32, 71, 69, 78, 69, 82, 65, + 76, 44, 32, 83, 80, 69, 67, 73, 65, 76, 44, 32, 73, 78, 68, 73, 82, 69, 67, 84, 44, 32, 73, 78, 67, 73, 68, 69, 78, 84, 65, 76, + 44, 32, 79, 82, 32, 67, 79, 78, 83, 69, 81, 85, 69, 78, 84, 73, 65, 76, 32, 68, 65, 77, 65, 71, 69, 83, 44, 32, 87, 72, 69, 84, + 72, 69, 82, 32, 73, 78, 32, 65, 78, 32, 65, 67, 84, 73, 79, 78, 32, 79, 70, 32, 67, 79, 78, 84, 82, 65, 67, 84, 44, 32, 84, 79, + 82, 84, 32, 79, 82, 32, 79, 84, 72, 69, 82, 87, 73, 83, 69, 44, 32, 65, 82, 73, 83, 73, 78, 71, 32, 70, 82, 79, 77, 44, 32, 79, + 85, 84, 32, 79, 70, 32, 84, 72, 69, 32, 85, 83, 69, 32, 79, 82, 32, 73, 78, 65, 66, 73, 76, 73, 84, 89, 32, 84, 79, 32, 85, 83, + 69, 32, 84, 72, 69, 32, 70, 79, 78, 84, 32, 83, 79, 70, 84, 87, 65, 82, 69, 32, 79, 82, 32, 70, 82, 79, 77, 32, 79, 84, 72, 69, + 82, 32, 68, 69, 65, 76, 73, 78, 71, 83, 32, 73, 78, 32, 84, 72, 69, 32, 70, 79, 78, 84, 32, 83, 79, 70, 84, 87, 65, 82, 69, 46, + 10, 10, 69,120, 99,101,112,116, 32, 97,115, 32, 99,111,110,116, 97,105,110,101,100, 32,105,110, 32,116,104,105,115, 32,110,111, +116,105, 99,101, 44, 32,116,104,101, 32,110, 97,109,101,115, 32,111,102, 32, 71,110,111,109,101, 44, 32,116,104,101, 32, 71,110, +111,109,101, 32, 70,111,117,110,100, 97,116,105,111,110, 44, 32, 97,110,100, 32, 66,105,116,115,116,114,101, 97,109, 32, 73,110, + 99, 46, 44, 32,115,104, 97,108,108, 32,110,111,116, 32, 98,101, 32,117,115,101,100, 32,105,110, 32, 97,100,118,101,114,116,105, +115,105,110,103, 32,111,114, 32,111,116,104,101,114,119,105,115,101, 32,116,111, 32,112,114,111,109,111,116,101, 32,116,104,101, + 32,115, 97,108,101, 44, 32,117,115,101, 32,111,114, 32,111,116,104,101,114, 32,100,101, 97,108,105,110,103,115, 32,105,110, 32, +116,104,105,115, 32, 70,111,110,116, 32, 83,111,102,116,119, 97,114,101, 32,119,105,116,104,111,117,116, 32,112,114,105,111,114, + 32,119,114,105,116,116,101,110, 32, 97,117,116,104,111,114,105,122, 97,116,105,111,110, 32,102,114,111,109, 32,116,104,101, 32, + 71,110,111,109,101, 32, 70,111,117,110,100, 97,116,105,111,110, 32,111,114, 32, 66,105,116,115,116,114,101, 97,109, 32, 73,110, + 99, 46, 44, 32,114,101,115,112,101, 99,116,105,118,101,108,121, 46, 32, 70,111,114, 32,102,117,114,116,104,101,114, 32,105,110, +102,111,114,109, 97,116,105,111,110, 44, 32, 99,111,110,116, 97, 99,116, 58, 32,102,111,110,116,115, 32, 97,116, 32,103,110,111, +109,101, 32,100,111,116, 32,111,114,103, 46, 32, 10, 0, 0,104, 0,116, 0,116, 0,112, 0, 58, 0, 47, 0, 47, 0,100, 0,101, + 0,106, 0, 97, 0,118, 0,117, 0, 46, 0,115, 0,111, 0,117, 0,114, 0, 99, 0,101, 0,102, 0,111, 0,114, 0,103, 0,101, + 0, 46, 0,110, 0,101, 0,116, 0, 47, 0,119, 0,105, 0,107, 0,105, 0, 47, 0,105, 0,110, 0,100, 0,101, 0,120, 0, 46, + 0,112, 0,104, 0,112, 0, 47, 0, 76, 0,105, 0, 99, 0,101, 0,110, 0,115, 0,101, 0, 0,104,116,116,112, 58, 47, 47,100, +101,106, 97,118,117, 46,115,111,117,114, 99,101,102,111,114,103,101, 46,110,101,116, 47,119,105,107,105, 47,105,110,100,101,120, + 46,112,104,112, 47, 76,105, 99,101,110,115,101, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,255,126, 0, 90, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,210, 0, 0, 0, 1, 0, 2, 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,172, 0,163, 0,132, 0,133, 0,189, + 0,150, 0,232, 0,134, 0,142, 0,139, 0,157, 0,169, 0,164, 1, 2, 0,138, 0,218, 0,131, 0,147, 0,242, 0,243, 0,141, + 0,151, 0,136, 0,195, 0,222, 0,241, 0,158, 0,170, 0,245, 0,244, 0,246, 0,162, 0,173, 0,201, 0,199, 0,174, 0, 98, + 0, 99, 0,144, 0,100, 0,203, 0,101, 0,200, 0,202, 0,207, 0,204, 0,205, 0,206, 0,233, 0,102, 0,211, 0,208, 0,209, + 0,175, 0,103, 0,240, 0,145, 0,214, 0,212, 0,213, 0,104, 0,235, 0,237, 0,137, 0,106, 0,105, 0,107, 0,109, 0,108, + 0,110, 0,160, 0,111, 0,113, 0,112, 0,114, 0,115, 0,117, 0,116, 0,118, 0,119, 0,234, 0,120, 0,122, 0,121, 0,123, + 0,125, 0,124, 0,184, 0,161, 0,127, 0,126, 0,128, 0,129, 0,236, 0,238, 0,186, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, + 1, 8, 0,253, 0,254, 1, 9, 1, 10, 1, 11, 1, 12, 0,255, 1, 0, 1, 13, 1, 14, 1, 15, 1, 1, 1, 16, 1, 17, 1, 18, + 1, 19, 1, 20, 1, 21, 1, 22, 1, 23, 1, 24, 1, 25, 1, 26, 1, 27, 0,248, 0,249, 1, 28, 1, 29, 1, 30, 1, 31, 1, 32, + 1, 33, 1, 34, 1, 35, 1, 36, 1, 37, 1, 38, 1, 39, 1, 40, 1, 41, 1, 42, 1, 43, 0,250, 0,215, 1, 44, 1, 45, 1, 46, + 1, 47, 1, 48, 1, 49, 1, 50, 1, 51, 1, 52, 1, 53, 1, 54, 1, 55, 1, 56, 1, 57, 1, 58, 0,226, 0,227, 1, 59, 1, 60, + 1, 61, 1, 62, 1, 63, 1, 64, 1, 65, 1, 66, 1, 67, 1, 68, 1, 69, 1, 70, 1, 71, 1, 72, 1, 73, 0,176, 0,177, 1, 74, + 1, 75, 1, 76, 1, 77, 1, 78, 1, 79, 1, 80, 1, 81, 1, 82, 1, 83, 0,251, 0,252, 0,228, 0,229, 1, 84, 1, 85, 1, 86, + 1, 87, 1, 88, 1, 89, 1, 90, 1, 91, 1, 92, 1, 93, 1, 94, 1, 95, 1, 96, 1, 97, 1, 98, 1, 99, 1,100, 1,101, 1,102, + 1,103, 1,104, 1,105, 0,187, 1,106, 1,107, 1,108, 1,109, 0,230, 0,231, 1,110, 1,111, 1,112, 1,113, 1,114, 1,115, + 1,116, 1,117, 1,118, 1,119, 1,120, 1,121, 1,122, 1,123, 1,124, 1,125, 1,126, 1,127, 1,128, 0,166, 1,129, 1,130, + 1,131, 1,132, 1,133, 1,134, 1,135, 1,136, 1,137, 1,138, 1,139, 1,140, 1,141, 1,142, 1,143, 1,144, 1,145, 1,146, + 1,147, 1,148, 1,149, 1,150, 1,151, 1,152, 1,153, 1,154, 1,155, 1,156, 1,157, 1,158, 1,159, 1,160, 1,161, 1,162, + 1,163, 1,164, 1,165, 1,166, 1,167, 1,168, 1,169, 1,170, 1,171, 1,172, 1,173, 1,174, 1,175, 1,176, 1,177, 1,178, + 1,179, 1,180, 1,181, 1,182, 1,183, 1,184, 1,185, 1,186, 1,187, 1,188, 1,189, 1,190, 1,191, 1,192, 1,193, 1,194, + 1,195, 1,196, 1,197, 1,198, 1,199, 1,200, 1,201, 1,202, 1,203, 1,204, 1,205, 1,206, 1,207, 1,208, 1,209, 1,210, + 1,211, 1,212, 1,213, 1,214, 1,215, 1,216, 1,217, 1,218, 1,219, 1,220, 1,221, 1,222, 1,223, 1,224, 1,225, 1,226, + 1,227, 1,228, 1,229, 1,230, 1,231, 1,232, 1,233, 1,234, 1,235, 1,236, 1,237, 1,238, 1,239, 1,240, 1,241, 1,242, + 1,243, 1,244, 1,245, 1,246, 1,247, 1,248, 1,249, 1,250, 1,251, 1,252, 1,253, 1,254, 1,255, 2, 0, 2, 1, 2, 2, + 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 12, 2, 13, 2, 14, 2, 15, 2, 16, 2, 17, 2, 18, + 2, 19, 2, 20, 2, 21, 2, 22, 2, 23, 2, 24, 2, 25, 2, 26, 2, 27, 2, 28, 2, 29, 2, 30, 2, 31, 2, 32, 2, 33, 2, 34, + 2, 35, 2, 36, 2, 37, 2, 38, 2, 39, 2, 40, 2, 41, 2, 42, 2, 43, 2, 44, 2, 45, 2, 46, 2, 47, 2, 48, 2, 49, 2, 50, + 2, 51, 2, 52, 2, 53, 2, 54, 2, 55, 2, 56, 2, 57, 2, 58, 2, 59, 2, 60, 2, 61, 2, 62, 2, 63, 2, 64, 2, 65, 2, 66, + 2, 67, 2, 68, 2, 69, 2, 70, 2, 71, 2, 72, 2, 73, 2, 74, 2, 75, 2, 76, 2, 77, 2, 78, 2, 79, 2, 80, 2, 81, 2, 82, + 2, 83, 2, 84, 2, 85, 2, 86, 2, 87, 2, 88, 2, 89, 2, 90, 2, 91, 2, 92, 2, 93, 2, 94, 2, 95, 2, 96, 2, 97, 2, 98, + 2, 99, 2,100, 2,101, 2,102, 2,103, 2,104, 2,105, 2,106, 2,107, 2,108, 2,109, 2,110, 2,111, 2,112, 2,113, 2,114, + 2,115, 2,116, 2,117, 2,118, 2,119, 2,120, 2,121, 2,122, 2,123, 2,124, 2,125, 2,126, 2,127, 2,128, 2,129, 2,130, + 2,131, 2,132, 2,133, 2,134, 2,135, 2,136, 2,137, 2,138, 0,216, 0,225, 2,139, 2,140, 2,141, 2,142, 2,143, 2,144, + 2,145, 2,146, 2,147, 0,219, 0,220, 0,221, 0,224, 0,217, 0,223, 2,148, 2,149, 2,150, 2,151, 2,152, 2,153, 2,154, + 2,155, 2,156, 2,157, 2,158, 2,159, 2,160, 2,161, 2,162, 2,163, 2,164, 2,165, 2,166, 2,167, 2,168, 2,169, 2,170, + 2,171, 2,172, 2,173, 2,174, 2,175, 2,176, 2,177, 2,178, 2,179, 2,180, 2,181, 2,182, 2,183, 2,184, 2,185, 2,186, + 2,187, 2,188, 2,189, 2,190, 2,191, 2,192, 2,193, 2,194, 2,195, 2,196, 2,197, 2,198, 2,199, 2,200, 2,201, 2,202, + 2,203, 2,204, 2,205, 2,206, 2,207, 2,208, 2,209, 2,210, 2,211, 2,212, 2,213, 2,214, 2,215, 2,216, 2,217, 2,218, + 2,219, 2,220, 2,221, 2,222, 2,223, 2,224, 2,225, 2,226, 2,227, 2,228, 2,229, 2,230, 2,231, 2,232, 2,233, 2,234, + 2,235, 2,236, 2,237, 2,238, 2,239, 2,240, 2,241, 2,242, 2,243, 2,244, 2,245, 2,246, 2,247, 2,248, 2,249, 2,250, + 2,251, 2,252, 2,253, 2,254, 2,255, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 0,159, 3, 9, + 3, 10, 3, 11, 3, 12, 3, 13, 3, 14, 3, 15, 3, 16, 3, 17, 3, 18, 3, 19, 3, 20, 3, 21, 3, 22, 3, 23, 3, 24, 3, 25, + 3, 26, 3, 27, 3, 28, 3, 29, 3, 30, 0,155, 3, 31, 3, 32, 3, 33, 3, 34, 3, 35, 3, 36, 3, 37, 3, 38, 3, 39, 3, 40, + 3, 41, 3, 42, 3, 43, 3, 44, 3, 45, 3, 46, 3, 47, 3, 48, 3, 49, 3, 50, 3, 51, 3, 52, 3, 53, 3, 54, 3, 55, 3, 56, + 3, 57, 3, 58, 3, 59, 3, 60, 3, 61, 3, 62, 3, 63, 3, 64, 3, 65, 3, 66, 3, 67, 3, 68, 3, 69, 3, 70, 3, 71, 3, 72, + 3, 73, 3, 74, 3, 75, 3, 76, 3, 77, 3, 78, 3, 79, 3, 80, 3, 81, 3, 82, 3, 83, 3, 84, 3, 85, 3, 86, 3, 87, 3, 88, + 3, 89, 3, 90, 3, 91, 3, 92, 3, 93, 3, 94, 3, 95, 3, 96, 3, 97, 3, 98, 3, 99, 3,100, 3,101, 3,102, 3,103, 3,104, + 3,105, 3,106, 3,107, 3,108, 3,109, 3,110, 3,111, 3,112, 3,113, 3,114, 3,115, 3,116, 3,117, 3,118, 3,119, 3,120, + 3,121, 3,122, 3,123, 3,124, 3,125, 3,126, 3,127, 3,128, 3,129, 3,130, 3,131, 3,132, 3,133, 3,134, 3,135, 3,136, + 3,137, 3,138, 3,139, 3,140, 3,141, 3,142, 3,143, 3,144, 3,145, 3,146, 3,147, 3,148, 3,149, 3,150, 3,151, 3,152, + 3,153, 3,154, 3,155, 3,156, 3,157, 3,158, 3,159, 3,160, 3,161, 3,162, 3,163, 3,164, 3,165, 3,166, 3,167, 3,168, + 3,169, 3,170, 3,171, 3,172, 3,173, 3,174, 3,175, 3,176, 3,177, 3,178, 3,179, 3,180, 3,181, 3,182, 3,183, 3,184, + 3,185, 3,186, 3,187, 3,188, 3,189, 3,190, 3,191, 3,192, 3,193, 3,194, 3,195, 3,196, 3,197, 3,198, 3,199, 3,200, + 3,201, 3,202, 3,203, 3,204, 3,205, 3,206, 3,207, 3,208, 3,209, 3,210, 3,211, 3,212, 3,213, 3,214, 3,215, 3,216, + 3,217, 3,218, 3,219, 3,220, 3,221, 3,222, 3,223, 3,224, 3,225, 3,226, 3,227, 3,228, 3,229, 3,230, 3,231, 3,232, + 3,233, 3,234, 3,235, 3,236, 3,237, 3,238, 3,239, 3,240, 3,241, 3,242, 3,243, 3,244, 3,245, 3,246, 3,247, 3,248, + 3,249, 3,250, 3,251, 3,252, 3,253, 3,254, 3,255, 4, 0, 4, 1, 4, 2, 4, 3, 4, 4, 4, 5, 4, 6, 4, 7, 4, 8, + 4, 9, 4, 10, 4, 11, 4, 12, 4, 13, 4, 14, 4, 15, 4, 16, 4, 17, 4, 18, 4, 19, 4, 20, 4, 21, 4, 22, 4, 23, 4, 24, + 4, 25, 4, 26, 4, 27, 4, 28, 4, 29, 4, 30, 4, 31, 4, 32, 4, 33, 4, 34, 4, 35, 4, 36, 4, 37, 4, 38, 4, 39, 4, 40, + 4, 41, 4, 42, 4, 43, 4, 44, 4, 45, 4, 46, 4, 47, 4, 48, 4, 49, 4, 50, 4, 51, 4, 52, 4, 53, 4, 54, 4, 55, 4, 56, + 4, 57, 4, 58, 4, 59, 4, 60, 4, 61, 4, 62, 4, 63, 4, 64, 4, 65, 4, 66, 4, 67, 4, 68, 4, 69, 4, 70, 4, 71, 4, 72, + 4, 73, 4, 74, 4, 75, 4, 76, 4, 77, 4, 78, 4, 79, 4, 80, 4, 81, 4, 82, 4, 83, 4, 84, 4, 85, 4, 86, 4, 87, 4, 88, + 4, 89, 4, 90, 4, 91, 4, 92, 4, 93, 4, 94, 4, 95, 4, 96, 4, 97, 4, 98, 4, 99, 4,100, 4,101, 4,102, 4,103, 4,104, + 4,105, 4,106, 4,107, 4,108, 4,109, 4,110, 4,111, 4,112, 4,113, 4,114, 4,115, 4,116, 4,117, 4,118, 4,119, 4,120, + 4,121, 4,122, 4,123, 4,124, 4,125, 4,126, 4,127, 4,128, 4,129, 4,130, 4,131, 4,132, 4,133, 4,134, 4,135, 4,136, + 4,137, 4,138, 4,139, 4,140, 4,141, 4,142, 4,143, 4,144, 4,145, 4,146, 4,147, 4,148, 4,149, 4,150, 4,151, 4,152, + 4,153, 4,154, 4,155, 4,156, 4,157, 4,158, 4,159, 4,160, 4,161, 4,162, 4,163, 4,164, 4,165, 4,166, 4,167, 4,168, + 4,169, 4,170, 4,171, 4,172, 4,173, 4,174, 4,175, 4,176, 4,177, 4,178, 4,179, 4,180, 4,181, 4,182, 4,183, 4,184, + 4,185, 4,186, 4,187, 4,188, 4,189, 4,190, 4,191, 4,192, 4,193, 4,194, 4,195, 4,196, 4,197, 4,198, 4,199, 4,200, + 4,201, 4,202, 4,203, 4,204, 4,205, 4,206, 4,207, 4,208, 4,209, 4,210, 4,211, 4,212, 4,213, 4,214, 4,215, 4,216, + 4,217, 4,218, 4,219, 4,220, 4,221, 4,222, 4,223, 4,224, 4,225, 4,226, 4,227, 4,228, 4,229, 4,230, 4,231, 4,232, + 4,233, 4,234, 4,235, 4,236, 4,237, 4,238, 4,239, 4,240, 4,241, 4,242, 4,243, 4,244, 4,245, 4,246, 4,247, 4,248, + 4,249, 4,250, 4,251, 4,252, 4,253, 4,254, 4,255, 5, 0, 5, 1, 5, 2, 5, 3, 5, 4, 5, 5, 5, 6, 5, 7, 5, 8, + 5, 9, 5, 10, 5, 11, 5, 12, 5, 13, 5, 14, 5, 15, 5, 16, 5, 17, 5, 18, 5, 19, 5, 20, 5, 21, 5, 22, 5, 23, 5, 24, + 5, 25, 5, 26, 5, 27, 5, 28, 5, 29, 5, 30, 5, 31, 5, 32, 5, 33, 5, 34, 5, 35, 5, 36, 5, 37, 5, 38, 5, 39, 5, 40, + 5, 41, 5, 42, 5, 43, 5, 44, 5, 45, 5, 46, 5, 47, 5, 48, 5, 49, 5, 50, 5, 51, 5, 52, 5, 53, 5, 54, 5, 55, 5, 56, + 5, 57, 5, 58, 5, 59, 5, 60, 5, 61, 5, 62, 5, 63, 5, 64, 5, 65, 5, 66, 5, 67, 5, 68, 5, 69, 5, 70, 5, 71, 5, 72, + 5, 73, 5, 74, 5, 75, 5, 76, 5, 77, 5, 78, 5, 79, 5, 80, 5, 81, 5, 82, 5, 83, 5, 84, 5, 85, 5, 86, 5, 87, 5, 88, + 5, 89, 5, 90, 5, 91, 5, 92, 5, 93, 5, 94, 5, 95, 5, 96, 5, 97, 5, 98, 5, 99, 5,100, 5,101, 5,102, 5,103, 5,104, + 5,105, 5,106, 5,107, 5,108, 5,109, 5,110, 5,111, 5,112, 5,113, 5,114, 5,115, 5,116, 5,117, 5,118, 5,119, 5,120, + 5,121, 5,122, 5,123, 5,124, 5,125, 5,126, 5,127, 5,128, 5,129, 5,130, 5,131, 5,132, 5,133, 5,134, 5,135, 5,136, + 5,137, 5,138, 5,139, 5,140, 5,141, 5,142, 5,143, 5,144, 5,145, 5,146, 5,147, 5,148, 5,149, 5,150, 5,151, 5,152, + 5,153, 5,154, 5,155, 5,156, 5,157, 5,158, 5,159, 5,160, 5,161, 5,162, 5,163, 5,164, 5,165, 5,166, 5,167, 5,168, + 5,169, 5,170, 5,171, 5,172, 5,173, 5,174, 5,175, 5,176, 5,177, 5,178, 5,179, 5,180, 5,181, 5,182, 5,183, 5,184, + 5,185, 5,186, 5,187, 5,188, 5,189, 5,190, 5,191, 5,192, 5,193, 5,194, 5,195, 5,196, 5,197, 5,198, 5,199, 5,200, + 5,201, 5,202, 5,203, 5,204, 5,205, 5,206, 5,207, 5,208, 5,209, 5,210, 5,211, 5,212, 5,213, 5,214, 5,215, 5,216, + 5,217, 5,218, 5,219, 5,220, 5,221, 5,222, 5,223, 5,224, 5,225, 5,226, 5,227, 5,228, 5,229, 5,230, 5,231, 5,232, + 5,233, 5,234, 5,235, 5,236, 5,237, 5,238, 5,239, 5,240, 5,241, 5,242, 5,243, 5,244, 5,245, 5,246, 5,247, 5,248, + 5,249, 5,250, 5,251, 5,252, 5,253, 5,254, 5,255, 6, 0, 6, 1, 6, 2, 6, 3, 6, 4, 6, 5, 6, 6, 6, 7, 6, 8, + 6, 9, 6, 10, 6, 11, 6, 12, 6, 13, 6, 14, 6, 15, 6, 16, 6, 17, 6, 18, 6, 19, 6, 20, 6, 21, 6, 22, 6, 23, 6, 24, + 6, 25, 6, 26, 6, 27, 6, 28, 6, 29, 6, 30, 6, 31, 6, 32, 6, 33, 6, 34, 6, 35, 6, 36, 6, 37, 6, 38, 6, 39, 6, 40, + 6, 41, 6, 42, 6, 43, 6, 44, 6, 45, 6, 46, 6, 47, 6, 48, 6, 49, 6, 50, 6, 51, 6, 52, 6, 53, 6, 54, 6, 55, 6, 56, + 6, 57, 6, 58, 6, 59, 6, 60, 6, 61, 6, 62, 6, 63, 6, 64, 6, 65, 6, 66, 6, 67, 6, 68, 6, 69, 6, 70, 6, 71, 6, 72, + 6, 73, 6, 74, 6, 75, 6, 76, 6, 77, 6, 78, 6, 79, 6, 80, 6, 81, 6, 82, 6, 83, 6, 84, 6, 85, 6, 86, 6, 87, 6, 88, + 6, 89, 6, 90, 6, 91, 6, 92, 6, 93, 6, 94, 6, 95, 6, 96, 6, 97, 6, 98, 6, 99, 6,100, 6,101, 6,102, 6,103, 6,104, + 6,105, 6,106, 6,107, 6,108, 6,109, 6,110, 6,111, 6,112, 6,113, 6,114, 6,115, 6,116, 6,117, 6,118, 6,119, 6,120, + 6,121, 6,122, 6,123, 6,124, 6,125, 6,126, 6,127, 6,128, 6,129, 6,130, 6,131, 6,132, 6,133, 6,134, 6,135, 6,136, + 6,137, 6,138, 6,139, 6,140, 6,141, 6,142, 6,143, 6,144, 6,145, 6,146, 6,147, 6,148, 6,149, 6,150, 6,151, 6,152, + 6,153, 6,154, 6,155, 6,156, 6,157, 6,158, 6,159, 6,160, 6,161, 6,162, 6,163, 6,164, 6,165, 6,166, 6,167, 6,168, + 6,169, 6,170, 0,178, 0,179, 6,171, 6,172, 0,182, 0,183, 0,196, 6,173, 0,180, 0,181, 0,197, 6,174, 0,130, 0,194, + 0,135, 6,175, 0,171, 6,176, 0,198, 6,177, 0,190, 0,191, 6,178, 6,179, 6,180, 6,181, 6,182, 6,183, 6,184, 6,185, + 6,186, 6,187, 6,188, 6,189, 6,190, 6,191, 6,192, 6,193, 6,194, 6,195, 6,196, 6,197, 6,198, 6,199, 6,200, 6,201, + 6,202, 6,203, 6,204, 6,205, 6,206, 6,207, 6,208, 6,209, 6,210, 6,211, 6,212, 6,213, 6,214, 6,215, 6,216, 6,217, + 6,218, 6,219, 6,220, 6,221, 6,222, 6,223, 6,224, 6,225, 6,226, 6,227, 6,228, 0,140, 6,229, 6,230, 6,231, 6,232, + 6,233, 6,234, 6,235, 6,236, 6,237, 6,238, 6,239, 6,240, 6,241, 6,242, 6,243, 6,244, 6,245, 6,246, 6,247, 6,248, + 6,249, 6,250, 6,251, 6,252, 6,253, 6,254, 6,255, 7, 0, 7, 1, 7, 2, 7, 3, 7, 4, 7, 5, 7, 6, 7, 7, 7, 8, + 7, 9, 7, 10, 7, 11, 7, 12, 7, 13, 7, 14, 7, 15, 7, 16, 7, 17, 7, 18, 7, 19, 7, 20, 7, 21, 7, 22, 7, 23, 7, 24, + 7, 25, 7, 26, 7, 27, 7, 28, 7, 29, 7, 30, 7, 31, 7, 32, 7, 33, 7, 34, 7, 35, 7, 36, 7, 37, 7, 38, 7, 39, 7, 40, + 7, 41, 7, 42, 7, 43, 7, 44, 7, 45, 7, 46, 7, 47, 7, 48, 7, 49, 7, 50, 7, 51, 7, 52, 7, 53, 7, 54, 7, 55, 7, 56, + 7, 57, 7, 58, 7, 59, 7, 60, 7, 61, 7, 62, 7, 63, 7, 64, 7, 65, 7, 66, 7, 67, 7, 68, 7, 69, 7, 70, 7, 71, 7, 72, + 7, 73, 7, 74, 7, 75, 7, 76, 7, 77, 7, 78, 7, 79, 7, 80, 7, 81, 7, 82, 7, 83, 7, 84, 7, 85, 7, 86, 7, 87, 7, 88, + 7, 89, 7, 90, 7, 91, 7, 92, 7, 93, 7, 94, 7, 95, 7, 96, 7, 97, 7, 98, 7, 99, 7,100, 0,152, 7,101, 0,168, 7,102, + 7,103, 7,104, 7,105, 7,106, 7,107, 7,108, 0,154, 0,153, 0,239, 7,109, 7,110, 7,111, 7,112, 7,113, 0,165, 7,114, + 0,146, 7,115, 7,116, 7,117, 7,118, 7,119, 7,120, 0,156, 7,121, 7,122, 7,123, 7,124, 7,125, 7,126, 7,127, 7,128, + 7,129, 7,130, 7,131, 7,132, 7,133, 7,134, 7,135, 0,167, 7,136, 7,137, 7,138, 7,139, 7,140, 7,141, 7,142, 7,143, + 7,144, 7,145, 7,146, 7,147, 7,148, 7,149, 7,150, 7,151, 7,152, 7,153, 7,154, 7,155, 7,156, 7,157, 7,158, 0,143, + 7,159, 7,160, 7,161, 0,148, 0,149, 7,162, 7,163, 7,164, 7,165, 7,166, 7,167, 7,168, 7,169, 7,170, 7,171, 7,172, + 7,173, 7,174, 7,175, 7,176, 7,177, 7,178, 7,179, 7,180, 7,181, 7,182, 7,183, 7,184, 7,185, 7,186, 7,187, 7,188, + 7,189, 7,190, 7,191, 7,192, 7,193, 7,194, 7,195, 7,196, 7,197, 7,198, 7,199, 7,200, 7,201, 7,202, 7,203, 7,204, + 7,205, 7,206, 7,207, 7,208, 7,209, 7,210, 7,211, 7,212, 7,213, 7,214, 7,215, 7,216, 7,217, 7,218, 7,219, 7,220, + 7,221, 7,222, 7,223, 7,224, 7,225, 7,226, 7,227, 7,228, 7,229, 7,230, 7,231, 7,232, 7,233, 7,234, 7,235, 7,236, + 7,237, 7,238, 7,239, 7,240, 7,241, 7,242, 7,243, 7,244, 7,245, 7,246, 7,247, 7,248, 7,249, 7,250, 7,251, 7,252, + 7,253, 7,254, 7,255, 8, 0, 8, 1, 8, 2, 8, 3, 8, 4, 8, 5, 8, 6, 8, 7, 8, 8, 8, 9, 8, 10, 8, 11, 8, 12, + 8, 13, 8, 14, 8, 15, 8, 16, 8, 17, 8, 18, 8, 19, 8, 20, 8, 21, 8, 22, 8, 23, 8, 24, 8, 25, 8, 26, 8, 27, 8, 28, + 8, 29, 8, 30, 8, 31, 8, 32, 8, 33, 8, 34, 8, 35, 8, 36, 8, 37, 8, 38, 8, 39, 8, 40, 8, 41, 8, 42, 8, 43, 8, 44, + 8, 45, 8, 46, 8, 47, 8, 48, 8, 49, 8, 50, 8, 51, 8, 52, 8, 53, 8, 54, 8, 55, 8, 56, 8, 57, 8, 58, 8, 59, 8, 60, + 8, 61, 8, 62, 8, 63, 8, 64, 8, 65, 8, 66, 8, 67, 8, 68, 8, 69, 8, 70, 8, 71, 8, 72, 8, 73, 8, 74, 8, 75, 8, 76, + 8, 77, 8, 78, 8, 79, 8, 80, 8, 81, 8, 82, 8, 83, 8, 84, 8, 85, 8, 86, 8, 87, 8, 88, 8, 89, 8, 90, 8, 91, 8, 92, + 8, 93, 8, 94, 8, 95, 8, 96, 8, 97, 8, 98, 8, 99, 8,100, 8,101, 8,102, 8,103, 8,104, 8,105, 8,106, 8,107, 8,108, + 8,109, 8,110, 8,111, 8,112, 8,113, 8,114, 8,115, 8,116, 8,117, 8,118, 8,119, 8,120, 8,121, 8,122, 8,123, 8,124, + 8,125, 8,126, 8,127, 8,128, 8,129, 8,130, 8,131, 8,132, 8,133, 8,134, 8,135, 8,136, 8,137, 8,138, 8,139, 8,140, + 8,141, 8,142, 8,143, 8,144, 8,145, 8,146, 8,147, 8,148, 8,149, 8,150, 8,151, 8,152, 8,153, 8,154, 8,155, 8,156, + 8,157, 8,158, 8,159, 8,160, 8,161, 8,162, 8,163, 8,164, 8,165, 8,166, 8,167, 8,168, 8,169, 8,170, 8,171, 8,172, + 8,173, 8,174, 8,175, 8,176, 8,177, 8,178, 8,179, 8,180, 8,181, 8,182, 8,183, 8,184, 8,185, 8,186, 8,187, 8,188, + 8,189, 8,190, 8,191, 8,192, 8,193, 8,194, 8,195, 8,196, 8,197, 8,198, 8,199, 8,200, 8,201, 8,202, 8,203, 8,204, + 8,205, 8,206, 8,207, 8,208, 8,209, 8,210, 8,211, 8,212, 8,213, 8,214, 8,215, 8,216, 8,217, 8,218, 8,219, 8,220, + 8,221, 8,222, 8,223, 8,224, 8,225, 8,226, 8,227, 8,228, 8,229, 8,230, 8,231, 8,232, 8,233, 8,234, 8,235, 8,236, + 8,237, 8,238, 8,239, 8,240, 8,241, 8,242, 8,243, 8,244, 8,245, 8,246, 8,247, 8,248, 8,249, 8,250, 8,251, 8,252, + 8,253, 8,254, 8,255, 9, 0, 9, 1, 9, 2, 9, 3, 9, 4, 9, 5, 9, 6, 9, 7, 9, 8, 9, 9, 9, 10, 9, 11, 9, 12, + 9, 13, 9, 14, 9, 15, 9, 16, 9, 17, 9, 18, 9, 19, 9, 20, 9, 21, 9, 22, 9, 23, 9, 24, 9, 25, 9, 26, 9, 27, 9, 28, + 9, 29, 9, 30, 9, 31, 9, 32, 9, 33, 9, 34, 9, 35, 9, 36, 9, 37, 9, 38, 9, 39, 9, 40, 9, 41, 0,185, 9, 42, 9, 43, + 9, 44, 9, 45, 9, 46, 9, 47, 9, 48, 9, 49, 9, 50, 9, 51, 9, 52, 9, 53, 9, 54, 9, 55, 9, 56, 9, 57, 9, 58, 9, 59, + 9, 60, 9, 61, 9, 62, 9, 63, 9, 64, 9, 65, 9, 66, 9, 67, 9, 68, 9, 69, 9, 70, 9, 71, 9, 72, 9, 73, 9, 74, 9, 75, + 9, 76, 9, 77, 9, 78, 9, 79, 9, 80, 9, 81, 9, 82, 9, 83, 9, 84, 9, 85, 9, 86, 9, 87, 9, 88, 9, 89, 9, 90, 9, 91, + 9, 92, 9, 93, 9, 94, 9, 95, 9, 96, 9, 97, 9, 98, 9, 99, 9,100, 9,101, 9,102, 9,103, 9,104, 9,105, 9,106, 9,107, + 9,108, 9,109, 9,110, 9,111, 9,112, 9,113, 9,114, 9,115, 9,116, 9,117, 9,118, 9,119, 9,120, 9,121, 9,122, 9,123, + 9,124, 9,125, 9,126, 9,127, 9,128, 9,129, 9,130, 9,131, 9,132, 9,133, 9,134, 9,135, 9,136, 9,137, 9,138, 9,139, + 9,140, 9,141, 9,142, 9,143, 9,144, 9,145, 9,146, 9,147, 9,148, 9,149, 9,150, 9,151, 9,152, 9,153, 9,154, 9,155, + 9,156, 9,157, 9,158, 9,159, 9,160, 9,161, 9,162, 9,163, 9,164, 9,165, 9,166, 9,167, 9,168, 9,169, 9,170, 9,171, + 9,172, 9,173, 9,174, 9,175, 9,176, 9,177, 9,178, 9,179, 9,180, 9,181, 9,182, 9,183, 9,184, 9,185, 9,186, 9,187, + 9,188, 9,189, 9,190, 9,191, 9,192, 9,193, 9,194, 9,195, 9,196, 9,197, 9,198, 9,199, 9,200, 9,201, 9,202, 9,203, + 9,204, 9,205, 9,206, 9,207, 9,208, 9,209, 9,210, 9,211, 9,212, 9,213, 9,214, 9,215, 9,216, 9,217, 9,218, 9,219, + 9,220, 9,221, 9,222, 9,223, 9,224, 9,225, 9,226, 9,227, 9,228, 9,229, 9,230, 9,231, 9,232, 9,233, 9,234, 9,235, + 9,236, 9,237, 9,238, 9,239, 9,240, 9,241, 9,242, 9,243, 9,244, 9,245, 9,246, 9,247, 9,248, 9,249, 9,250, 9,251, + 9,252, 9,253, 9,254, 9,255, 10, 0, 10, 1, 10, 2, 10, 3, 10, 4, 10, 5, 10, 6, 10, 7, 10, 8, 10, 9, 10, 10, 10, 11, + 10, 12, 10, 13, 10, 14, 10, 15, 10, 16, 10, 17, 10, 18, 10, 19, 10, 20, 10, 21, 10, 22, 10, 23, 10, 24, 10, 25, 10, 26, 10, 27, + 10, 28, 10, 29, 10, 30, 10, 31, 10, 32, 10, 33, 10, 34, 10, 35, 10, 36, 10, 37, 10, 38, 10, 39, 10, 40, 10, 41, 10, 42, 10, 43, + 10, 44, 10, 45, 10, 46, 10, 47, 10, 48, 10, 49, 10, 50, 10, 51, 10, 52, 10, 53, 10, 54, 10, 55, 10, 56, 10, 57, 10, 58, 10, 59, + 10, 60, 10, 61, 10, 62, 10, 63, 10, 64, 10, 65, 10, 66, 10, 67, 10, 68, 10, 69, 10, 70, 10, 71, 10, 72, 10, 73, 10, 74, 10, 75, + 10, 76, 10, 77, 10, 78, 10, 79, 10, 80, 10, 81, 10, 82, 10, 83, 10, 84, 10, 85, 10, 86, 10, 87, 10, 88, 10, 89, 10, 90, 10, 91, + 10, 92, 10, 93, 10, 94, 10, 95, 10, 96, 10, 97, 10, 98, 10, 99, 10,100, 10,101, 10,102, 10,103, 10,104, 10,105, 10,106, 10,107, + 10,108, 10,109, 10,110, 10,111, 10,112, 10,113, 10,114, 10,115, 10,116, 10,117, 10,118, 10,119, 10,120, 10,121, 10,122, 10,123, + 10,124, 10,125, 10,126, 10,127, 10,128, 10,129, 10,130, 10,131, 10,132, 10,133, 10,134, 10,135, 10,136, 10,137, 10,138, 10,139, + 10,140, 10,141, 10,142, 10,143, 10,144, 10,145, 10,146, 10,147, 10,148, 10,149, 10,150, 10,151, 10,152, 10,153, 0,192, 0,193, + 10,154, 10,155, 10,156, 10,157, 10,158, 10,159, 10,160, 10,161, 10,162, 10,163, 10,164, 10,165, 10,166, 10,167, 10,168, 10,169, + 10,170, 10,171, 10,172, 10,173, 10,174, 10,175, 10,176, 10,177, 10,178, 10,179, 10,180, 10,181, 10,182, 10,183, 10,184, 10,185, + 10,186, 10,187, 10,188, 10,189, 10,190, 10,191, 10,192, 10,193, 10,194, 10,195, 10,196, 10,197, 10,198, 10,199, 10,200, 10,201, + 10,202, 10,203, 10,204, 10,205, 10,206, 10,207, 10,208, 10,209, 10,210, 10,211, 10,212, 10,213, 10,214, 10,215, 10,216, 10,217, + 10,218, 10,219, 10,220, 10,221, 10,222, 10,223, 10,224, 10,225, 10,226, 10,227, 10,228, 10,229, 10,230, 10,231, 10,232, 10,233, + 10,234, 10,235, 10,236, 10,237, 10,238, 10,239, 10,240, 10,241, 10,242, 10,243, 10,244, 10,245, 10,246, 10,247, 10,248, 10,249, + 10,250, 10,251, 10,252, 10,253, 10,254, 10,255, 11, 0, 11, 1, 11, 2, 11, 3, 11, 4, 11, 5, 11, 6, 11, 7, 11, 8, 11, 9, + 11, 10, 11, 11, 11, 12, 11, 13, 11, 14, 11, 15, 11, 16, 11, 17, 11, 18, 11, 19, 11, 20, 11, 21, 11, 22, 11, 23, 11, 24, 11, 25, + 11, 26, 11, 27, 11, 28, 11, 29, 11, 30, 11, 31, 11, 32, 11, 33, 11, 34, 11, 35, 11, 36, 11, 37, 11, 38, 11, 39, 11, 40, 11, 41, + 11, 42, 11, 43, 11, 44, 11, 45, 11, 46, 11, 47, 11, 48, 11, 49, 11, 50, 11, 51, 11, 52, 11, 53, 11, 54, 11, 55, 11, 56, 11, 57, + 11, 58, 11, 59, 11, 60, 11, 61, 11, 62, 11, 63, 11, 64, 11, 65, 11, 66, 11, 67, 11, 68, 11, 69, 11, 70, 11, 71, 11, 72, 11, 73, + 11, 74, 11, 75, 11, 76, 11, 77, 11, 78, 11, 79, 11, 80, 11, 81, 11, 82, 11, 83, 11, 84, 11, 85, 11, 86, 11, 87, 11, 88, 11, 89, + 11, 90, 11, 91, 11, 92, 11, 93, 11, 94, 11, 95, 11, 96, 11, 97, 11, 98, 11, 99, 11,100, 11,101, 11,102, 11,103, 11,104, 11,105, + 11,106, 11,107, 11,108, 11,109, 11,110, 11,111, 11,112, 11,113, 11,114, 11,115, 11,116, 11,117, 11,118, 11,119, 11,120, 11,121, + 11,122, 11,123, 11,124, 11,125, 11,126, 11,127, 11,128, 11,129, 11,130, 11,131, 11,132, 11,133, 11,134, 11,135, 11,136, 11,137, + 11,138, 11,139, 11,140, 11,141, 11,142, 11,143, 11,144, 11,145, 11,146, 11,147, 11,148, 11,149, 11,150, 11,151, 11,152, 11,153, + 11,154, 11,155, 11,156, 11,157, 11,158, 11,159, 11,160, 11,161, 11,162, 11,163, 11,164, 11,165, 11,166, 11,167, 11,168, 11,169, + 11,170, 11,171, 11,172, 11,173, 11,174, 11,175, 11,176, 11,177, 11,178, 11,179, 11,180, 11,181, 11,182, 11,183, 11,184, 11,185, + 11,186, 11,187, 11,188, 11,189, 11,190, 11,191, 11,192, 11,193, 11,194, 11,195, 11,196, 11,197, 11,198, 11,199, 11,200, 11,201, + 11,202, 11,203, 11,204, 11,205, 11,206, 11,207, 11,208, 11,209, 11,210, 11,211, 11,212, 9,115,102,116,104,121,112,104,101,110, + 7, 65,109, 97, 99,114,111,110, 7, 97,109, 97, 99,114,111,110, 6, 65, 98,114,101,118,101, 6, 97, 98,114,101,118,101, 7, 65, +111,103,111,110,101,107, 7, 97,111,103,111,110,101,107, 11, 67, 99,105,114, 99,117,109,102,108,101,120, 11, 99, 99,105,114, 99, +117,109,102,108,101,120, 10, 67,100,111,116, 97, 99, 99,101,110,116, 10, 99,100,111,116, 97, 99, 99,101,110,116, 6, 68, 99, 97, +114,111,110, 6,100, 99, 97,114,111,110, 6, 68, 99,114,111, 97,116, 7, 69,109, 97, 99,114,111,110, 7,101,109, 97, 99,114,111, +110, 6, 69, 98,114,101,118,101, 6,101, 98,114,101,118,101, 10, 69,100,111,116, 97, 99, 99,101,110,116, 10,101,100,111,116, 97, + 99, 99,101,110,116, 7, 69,111,103,111,110,101,107, 7,101,111,103,111,110,101,107, 6, 69, 99, 97,114,111,110, 6,101, 99, 97, +114,111,110, 11, 71, 99,105,114, 99,117,109,102,108,101,120, 11,103, 99,105,114, 99,117,109,102,108,101,120, 10, 71,100,111,116, + 97, 99, 99,101,110,116, 10,103,100,111,116, 97, 99, 99,101,110,116, 12, 71, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,103, + 99,111,109,109, 97, 97, 99, 99,101,110,116, 11, 72, 99,105,114, 99,117,109,102,108,101,120, 11,104, 99,105,114, 99,117,109,102, +108,101,120, 4, 72, 98, 97,114, 4,104, 98, 97,114, 6, 73,116,105,108,100,101, 6,105,116,105,108,100,101, 7, 73,109, 97, 99, +114,111,110, 7,105,109, 97, 99,114,111,110, 6, 73, 98,114,101,118,101, 6,105, 98,114,101,118,101, 7, 73,111,103,111,110,101, +107, 7,105,111,103,111,110,101,107, 2, 73, 74, 2,105,106, 11, 74, 99,105,114, 99,117,109,102,108,101,120, 11,106, 99,105,114, + 99,117,109,102,108,101,120, 12, 75, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,107, 99,111,109,109, 97, 97, 99, 99,101,110, +116, 12,107,103,114,101,101,110,108, 97,110,100,105, 99, 6, 76, 97, 99,117,116,101, 6,108, 97, 99,117,116,101, 12, 76, 99,111, +109,109, 97, 97, 99, 99,101,110,116, 12,108, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 76, 99, 97,114,111,110, 6,108, 99, + 97,114,111,110, 4, 76,100,111,116, 4,108,100,111,116, 6, 78, 97, 99,117,116,101, 6,110, 97, 99,117,116,101, 12, 78, 99,111, +109,109, 97, 97, 99, 99,101,110,116, 12,110, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 78, 99, 97,114,111,110, 6,110, 99, + 97,114,111,110, 11,110, 97,112,111,115,116,114,111,112,104,101, 3, 69,110,103, 3,101,110,103, 7, 79,109, 97, 99,114,111,110, + 7,111,109, 97, 99,114,111,110, 6, 79, 98,114,101,118,101, 6,111, 98,114,101,118,101, 13, 79,104,117,110,103, 97,114,117,109, +108, 97,117,116, 13,111,104,117,110,103, 97,114,117,109,108, 97,117,116, 6, 82, 97, 99,117,116,101, 6,114, 97, 99,117,116,101, + 12, 82, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,114, 99,111,109,109, 97, 97, 99, 99,101,110,116, 6, 82, 99, 97,114,111, +110, 6,114, 99, 97,114,111,110, 6, 83, 97, 99,117,116,101, 6,115, 97, 99,117,116,101, 11, 83, 99,105,114, 99,117,109,102,108, +101,120, 11,115, 99,105,114, 99,117,109,102,108,101,120, 12, 84, 99,111,109,109, 97, 97, 99, 99,101,110,116, 12,116, 99,111,109, +109, 97, 97, 99, 99,101,110,116, 6, 84, 99, 97,114,111,110, 6,116, 99, 97,114,111,110, 4, 84, 98, 97,114, 4,116, 98, 97,114, + 6, 85,116,105,108,100,101, 6,117,116,105,108,100,101, 7, 85,109, 97, 99,114,111,110, 7,117,109, 97, 99,114,111,110, 6, 85, + 98,114,101,118,101, 6,117, 98,114,101,118,101, 5, 85,114,105,110,103, 5,117,114,105,110,103, 13, 85,104,117,110,103, 97,114, +117,109,108, 97,117,116, 13,117,104,117,110,103, 97,114,117,109,108, 97,117,116, 7, 85,111,103,111,110,101,107, 7,117,111,103, +111,110,101,107, 11, 87, 99,105,114, 99,117,109,102,108,101,120, 11,119, 99,105,114, 99,117,109,102,108,101,120, 11, 89, 99,105, +114, 99,117,109,102,108,101,120, 11,121, 99,105,114, 99,117,109,102,108,101,120, 6, 90, 97, 99,117,116,101, 6,122, 97, 99,117, +116,101, 10, 90,100,111,116, 97, 99, 99,101,110,116, 10,122,100,111,116, 97, 99, 99,101,110,116, 5,108,111,110,103,115, 7,117, +110,105, 48, 49, 56, 48, 7,117,110,105, 48, 49, 56, 49, 7,117,110,105, 48, 49, 56, 50, 7,117,110,105, 48, 49, 56, 51, 7,117, +110,105, 48, 49, 56, 52, 7,117,110,105, 48, 49, 56, 53, 7,117,110,105, 48, 49, 56, 54, 7,117,110,105, 48, 49, 56, 55, 7,117, +110,105, 48, 49, 56, 56, 7,117,110,105, 48, 49, 56, 57, 7,117,110,105, 48, 49, 56, 65, 7,117,110,105, 48, 49, 56, 66, 7,117, +110,105, 48, 49, 56, 67, 7,117,110,105, 48, 49, 56, 68, 7,117,110,105, 48, 49, 56, 69, 7,117,110,105, 48, 49, 56, 70, 7,117, +110,105, 48, 49, 57, 48, 7,117,110,105, 48, 49, 57, 49, 7,117,110,105, 48, 49, 57, 51, 7,117,110,105, 48, 49, 57, 52, 7,117, +110,105, 48, 49, 57, 53, 7,117,110,105, 48, 49, 57, 54, 7,117,110,105, 48, 49, 57, 55, 7,117,110,105, 48, 49, 57, 56, 7,117, +110,105, 48, 49, 57, 57, 7,117,110,105, 48, 49, 57, 65, 7,117,110,105, 48, 49, 57, 66, 7,117,110,105, 48, 49, 57, 67, 7,117, +110,105, 48, 49, 57, 68, 7,117,110,105, 48, 49, 57, 69, 7,117,110,105, 48, 49, 57, 70, 5, 79,104,111,114,110, 5,111,104,111, +114,110, 7,117,110,105, 48, 49, 65, 50, 7,117,110,105, 48, 49, 65, 51, 7,117,110,105, 48, 49, 65, 52, 7,117,110,105, 48, 49, + 65, 53, 7,117,110,105, 48, 49, 65, 54, 7,117,110,105, 48, 49, 65, 55, 7,117,110,105, 48, 49, 65, 56, 7,117,110,105, 48, 49, + 65, 57, 7,117,110,105, 48, 49, 65, 65, 7,117,110,105, 48, 49, 65, 66, 7,117,110,105, 48, 49, 65, 67, 7,117,110,105, 48, 49, + 65, 68, 7,117,110,105, 48, 49, 65, 69, 5, 85,104,111,114,110, 5,117,104,111,114,110, 7,117,110,105, 48, 49, 66, 49, 7,117, +110,105, 48, 49, 66, 50, 7,117,110,105, 48, 49, 66, 51, 7,117,110,105, 48, 49, 66, 52, 7,117,110,105, 48, 49, 66, 53, 7,117, +110,105, 48, 49, 66, 54, 7,117,110,105, 48, 49, 66, 55, 7,117,110,105, 48, 49, 66, 56, 7,117,110,105, 48, 49, 66, 57, 7,117, +110,105, 48, 49, 66, 66, 7,117,110,105, 48, 49, 66, 67, 7,117,110,105, 48, 49, 66, 68, 7,117,110,105, 48, 49, 66, 69, 7,117, +110,105, 48, 49, 67, 48, 7,117,110,105, 48, 49, 67, 49, 7,117,110,105, 48, 49, 67, 50, 7,117,110,105, 48, 49, 67, 51, 7,117, +110,105, 48, 49, 67, 68, 7,117,110,105, 48, 49, 67, 69, 7,117,110,105, 48, 49, 67, 70, 7,117,110,105, 48, 49, 68, 48, 7,117, +110,105, 48, 49, 68, 49, 7,117,110,105, 48, 49, 68, 50, 7,117,110,105, 48, 49, 68, 51, 7,117,110,105, 48, 49, 68, 52, 7,117, +110,105, 48, 49, 68, 53, 7,117,110,105, 48, 49, 68, 54, 7,117,110,105, 48, 49, 68, 55, 7,117,110,105, 48, 49, 68, 56, 7,117, +110,105, 48, 49, 68, 57, 7,117,110,105, 48, 49, 68, 65, 7,117,110,105, 48, 49, 68, 66, 7,117,110,105, 48, 49, 68, 67, 7,117, +110,105, 48, 49, 68, 68, 7,117,110,105, 48, 49, 68, 69, 7,117,110,105, 48, 49, 68, 70, 7,117,110,105, 48, 49, 69, 48, 7,117, +110,105, 48, 49, 69, 49, 7,117,110,105, 48, 49, 69, 50, 7,117,110,105, 48, 49, 69, 51, 6, 71, 99, 97,114,111,110, 6,103, 99, + 97,114,111,110, 7,117,110,105, 48, 49, 69, 56, 7,117,110,105, 48, 49, 69, 57, 7,117,110,105, 48, 49, 69, 65, 7,117,110,105, + 48, 49, 69, 66, 7,117,110,105, 48, 49, 69, 67, 7,117,110,105, 48, 49, 69, 68, 7,117,110,105, 48, 49, 69, 69, 7,117,110,105, + 48, 49, 69, 70, 7,117,110,105, 48, 49, 70, 48, 7,117,110,105, 48, 49, 70, 52, 7,117,110,105, 48, 49, 70, 53, 7,117,110,105, + 48, 49, 70, 54, 7,117,110,105, 48, 49, 70, 56, 7,117,110,105, 48, 49, 70, 57, 7, 65, 69, 97, 99,117,116,101, 7, 97,101, 97, + 99,117,116,101, 11, 79,115,108, 97,115,104, 97, 99,117,116,101, 11,111,115,108, 97,115,104, 97, 99,117,116,101, 7,117,110,105, + 48, 50, 48, 48, 7,117,110,105, 48, 50, 48, 49, 7,117,110,105, 48, 50, 48, 50, 7,117,110,105, 48, 50, 48, 51, 7,117,110,105, + 48, 50, 48, 52, 7,117,110,105, 48, 50, 48, 53, 7,117,110,105, 48, 50, 48, 54, 7,117,110,105, 48, 50, 48, 55, 7,117,110,105, + 48, 50, 48, 56, 7,117,110,105, 48, 50, 48, 57, 7,117,110,105, 48, 50, 48, 65, 7,117,110,105, 48, 50, 48, 66, 7,117,110,105, + 48, 50, 48, 67, 7,117,110,105, 48, 50, 48, 68, 7,117,110,105, 48, 50, 48, 69, 7,117,110,105, 48, 50, 48, 70, 7,117,110,105, + 48, 50, 49, 48, 7,117,110,105, 48, 50, 49, 49, 7,117,110,105, 48, 50, 49, 50, 7,117,110,105, 48, 50, 49, 51, 7,117,110,105, + 48, 50, 49, 52, 7,117,110,105, 48, 50, 49, 53, 7,117,110,105, 48, 50, 49, 54, 7,117,110,105, 48, 50, 49, 55, 12, 83, 99,111, +109,109, 97, 97, 99, 99,101,110,116, 12,115, 99,111,109,109, 97, 97, 99, 99,101,110,116, 7,117,110,105, 48, 50, 49, 65, 7,117, +110,105, 48, 50, 49, 66, 7,117,110,105, 48, 50, 49, 69, 7,117,110,105, 48, 50, 49, 70, 7,117,110,105, 48, 50, 50, 48, 7,117, +110,105, 48, 50, 50, 49, 7,117,110,105, 48, 50, 50, 52, 7,117,110,105, 48, 50, 50, 53, 7,117,110,105, 48, 50, 50, 54, 7,117, +110,105, 48, 50, 50, 55, 7,117,110,105, 48, 50, 50, 56, 7,117,110,105, 48, 50, 50, 57, 7,117,110,105, 48, 50, 50, 65, 7,117, +110,105, 48, 50, 50, 66, 7,117,110,105, 48, 50, 50, 67, 7,117,110,105, 48, 50, 50, 68, 7,117,110,105, 48, 50, 50, 69, 7,117, +110,105, 48, 50, 50, 70, 7,117,110,105, 48, 50, 51, 48, 7,117,110,105, 48, 50, 51, 49, 7,117,110,105, 48, 50, 51, 50, 7,117, +110,105, 48, 50, 51, 51, 7,117,110,105, 48, 50, 51, 52, 7,117,110,105, 48, 50, 51, 53, 7,117,110,105, 48, 50, 51, 54, 8,100, +111,116,108,101,115,115,106, 7,117,110,105, 48, 50, 51, 56, 7,117,110,105, 48, 50, 51, 57, 7,117,110,105, 48, 50, 51, 65, 7, +117,110,105, 48, 50, 51, 66, 7,117,110,105, 48, 50, 51, 67, 7,117,110,105, 48, 50, 51, 68, 7,117,110,105, 48, 50, 51, 69, 7, +117,110,105, 48, 50, 51, 70, 7,117,110,105, 48, 50, 52, 48, 7,117,110,105, 48, 50, 52, 49, 7,117,110,105, 48, 50, 52, 53, 7, +117,110,105, 48, 50, 53, 48, 7,117,110,105, 48, 50, 53, 49, 7,117,110,105, 48, 50, 53, 50, 7,117,110,105, 48, 50, 53, 51, 7, +117,110,105, 48, 50, 53, 52, 7,117,110,105, 48, 50, 53, 53, 7,117,110,105, 48, 50, 53, 54, 7,117,110,105, 48, 50, 53, 55, 7, +117,110,105, 48, 50, 53, 56, 7,117,110,105, 48, 50, 53, 57, 7,117,110,105, 48, 50, 53, 65, 7,117,110,105, 48, 50, 53, 66, 7, +117,110,105, 48, 50, 53, 67, 7,117,110,105, 48, 50, 53, 68, 7,117,110,105, 48, 50, 53, 69, 7,117,110,105, 48, 50, 53, 70, 7, +117,110,105, 48, 50, 54, 48, 7,117,110,105, 48, 50, 54, 49, 7,117,110,105, 48, 50, 54, 50, 7,117,110,105, 48, 50, 54, 51, 7, +117,110,105, 48, 50, 54, 52, 7,117,110,105, 48, 50, 54, 53, 7,117,110,105, 48, 50, 54, 54, 7,117,110,105, 48, 50, 54, 55, 7, +117,110,105, 48, 50, 54, 56, 7,117,110,105, 48, 50, 54, 57, 7,117,110,105, 48, 50, 54, 65, 7,117,110,105, 48, 50, 54, 66, 7, +117,110,105, 48, 50, 54, 67, 7,117,110,105, 48, 50, 54, 68, 7,117,110,105, 48, 50, 54, 69, 7,117,110,105, 48, 50, 54, 70, 7, +117,110,105, 48, 50, 55, 48, 7,117,110,105, 48, 50, 55, 49, 7,117,110,105, 48, 50, 55, 50, 7,117,110,105, 48, 50, 55, 51, 7, +117,110,105, 48, 50, 55, 52, 7,117,110,105, 48, 50, 55, 53, 7,117,110,105, 48, 50, 55, 54, 7,117,110,105, 48, 50, 55, 55, 7, +117,110,105, 48, 50, 55, 56, 7,117,110,105, 48, 50, 55, 57, 7,117,110,105, 48, 50, 55, 65, 7,117,110,105, 48, 50, 55, 66, 7, +117,110,105, 48, 50, 55, 67, 7,117,110,105, 48, 50, 55, 68, 7,117,110,105, 48, 50, 55, 69, 7,117,110,105, 48, 50, 55, 70, 7, +117,110,105, 48, 50, 56, 48, 7,117,110,105, 48, 50, 56, 49, 7,117,110,105, 48, 50, 56, 50, 7,117,110,105, 48, 50, 56, 51, 7, +117,110,105, 48, 50, 56, 52, 7,117,110,105, 48, 50, 56, 53, 7,117,110,105, 48, 50, 56, 54, 7,117,110,105, 48, 50, 56, 55, 7, +117,110,105, 48, 50, 56, 56, 7,117,110,105, 48, 50, 56, 57, 7,117,110,105, 48, 50, 56, 65, 7,117,110,105, 48, 50, 56, 66, 7, +117,110,105, 48, 50, 56, 67, 7,117,110,105, 48, 50, 56, 68, 7,117,110,105, 48, 50, 56, 69, 7,117,110,105, 48, 50, 56, 70, 7, +117,110,105, 48, 50, 57, 48, 7,117,110,105, 48, 50, 57, 49, 7,117,110,105, 48, 50, 57, 50, 7,117,110,105, 48, 50, 57, 51, 7, +117,110,105, 48, 50, 57, 52, 7,117,110,105, 48, 50, 57, 53, 7,117,110,105, 48, 50, 57, 54, 7,117,110,105, 48, 50, 57, 55, 7, +117,110,105, 48, 50, 57, 56, 7,117,110,105, 48, 50, 57, 57, 7,117,110,105, 48, 50, 57, 65, 7,117,110,105, 48, 50, 57, 66, 7, +117,110,105, 48, 50, 57, 67, 7,117,110,105, 48, 50, 57, 68, 7,117,110,105, 48, 50, 57, 69, 7,117,110,105, 48, 50, 57, 70, 7, +117,110,105, 48, 50, 65, 48, 7,117,110,105, 48, 50, 65, 49, 7,117,110,105, 48, 50, 65, 50, 7,117,110,105, 48, 50, 65, 51, 7, +117,110,105, 48, 50, 65, 52, 7,117,110,105, 48, 50, 65, 53, 7,117,110,105, 48, 50, 65, 54, 7,117,110,105, 48, 50, 65, 55, 7, +117,110,105, 48, 50, 65, 56, 7,117,110,105, 48, 50, 65, 57, 7,117,110,105, 48, 50, 65, 65, 7,117,110,105, 48, 50, 65, 66, 7, +117,110,105, 48, 50, 65, 67, 7,117,110,105, 48, 50, 65, 68, 7,117,110,105, 48, 50, 65, 69, 7,117,110,105, 48, 50, 65, 70, 7, +117,110,105, 48, 50, 66, 48, 7,117,110,105, 48, 50, 66, 49, 7,117,110,105, 48, 50, 66, 50, 7,117,110,105, 48, 50, 66, 51, 7, +117,110,105, 48, 50, 66, 52, 7,117,110,105, 48, 50, 66, 53, 7,117,110,105, 48, 50, 66, 54, 7,117,110,105, 48, 50, 66, 55, 7, +117,110,105, 48, 50, 66, 56, 7,117,110,105, 48, 50, 66, 57, 7,117,110,105, 48, 50, 66, 66, 7,117,110,105, 48, 50, 66, 67, 7, +117,110,105, 48, 50, 66, 68, 7,117,110,105, 48, 50, 66, 69, 7,117,110,105, 48, 50, 66, 70, 7,117,110,105, 48, 50, 67, 48, 7, +117,110,105, 48, 50, 67, 49, 7,117,110,105, 48, 50, 67, 56, 7,117,110,105, 48, 50, 67, 57, 7,117,110,105, 48, 50, 67, 67, 7, +117,110,105, 48, 50, 67, 68, 7,117,110,105, 48, 50, 68, 48, 7,117,110,105, 48, 50, 68, 49, 7,117,110,105, 48, 50, 68, 50, 7, +117,110,105, 48, 50, 68, 51, 7,117,110,105, 48, 50, 68, 54, 7,117,110,105, 48, 50, 68, 69, 7,117,110,105, 48, 50, 69, 48, 7, +117,110,105, 48, 50, 69, 49, 7,117,110,105, 48, 50, 69, 50, 7,117,110,105, 48, 50, 69, 51, 7,117,110,105, 48, 50, 69, 52, 7, +117,110,105, 48, 50, 69, 53, 7,117,110,105, 48, 50, 69, 54, 7,117,110,105, 48, 50, 69, 55, 7,117,110,105, 48, 50, 69, 56, 7, +117,110,105, 48, 50, 69, 57, 7,117,110,105, 48, 50, 70, 51, 9,103,114, 97,118,101, 99,111,109, 98, 9, 97, 99,117,116,101, 99, +111,109, 98, 7,117,110,105, 48, 51, 48, 50, 9,116,105,108,100,101, 99,111,109, 98, 7,117,110,105, 48, 51, 48, 52, 7,117,110, +105, 48, 51, 48, 53, 7,117,110,105, 48, 51, 48, 54, 7,117,110,105, 48, 51, 48, 55, 7,117,110,105, 48, 51, 48, 56, 13,104,111, +111,107, 97, 98,111,118,101, 99,111,109, 98, 7,117,110,105, 48, 51, 48, 65, 7,117,110,105, 48, 51, 48, 66, 7,117,110,105, 48, + 51, 48, 67, 7,117,110,105, 48, 51, 48, 68, 7,117,110,105, 48, 51, 48, 69, 7,117,110,105, 48, 51, 48, 70, 7,117,110,105, 48, + 51, 49, 48, 7,117,110,105, 48, 51, 49, 49, 7,117,110,105, 48, 51, 49, 50, 7,117,110,105, 48, 51, 49, 51, 7,117,110,105, 48, + 51, 49, 52, 7,117,110,105, 48, 51, 49, 53, 7,117,110,105, 48, 51, 49, 54, 7,117,110,105, 48, 51, 49, 55, 7,117,110,105, 48, + 51, 49, 56, 7,117,110,105, 48, 51, 49, 57, 7,117,110,105, 48, 51, 49, 65, 7,117,110,105, 48, 51, 49, 66, 7,117,110,105, 48, + 51, 49, 67, 7,117,110,105, 48, 51, 49, 68, 7,117,110,105, 48, 51, 49, 69, 7,117,110,105, 48, 51, 49, 70, 7,117,110,105, 48, + 51, 50, 48, 7,117,110,105, 48, 51, 50, 49, 7,117,110,105, 48, 51, 50, 50, 12,100,111,116, 98,101,108,111,119, 99,111,109, 98, + 7,117,110,105, 48, 51, 50, 52, 7,117,110,105, 48, 51, 50, 53, 7,117,110,105, 48, 51, 50, 54, 7,117,110,105, 48, 51, 50, 55, + 7,117,110,105, 48, 51, 50, 56, 7,117,110,105, 48, 51, 50, 57, 7,117,110,105, 48, 51, 50, 65, 7,117,110,105, 48, 51, 50, 66, + 7,117,110,105, 48, 51, 50, 67, 7,117,110,105, 48, 51, 50, 68, 7,117,110,105, 48, 51, 50, 69, 7,117,110,105, 48, 51, 50, 70, + 7,117,110,105, 48, 51, 51, 48, 7,117,110,105, 48, 51, 51, 49, 7,117,110,105, 48, 51, 51, 50, 7,117,110,105, 48, 51, 51, 51, + 7,117,110,105, 48, 51, 51, 52, 7,117,110,105, 48, 51, 51, 53, 7,117,110,105, 48, 51, 51, 54, 7,117,110,105, 48, 51, 51, 55, + 7,117,110,105, 48, 51, 51, 56, 7,117,110,105, 48, 51, 51, 57, 7,117,110,105, 48, 51, 51, 65, 7,117,110,105, 48, 51, 51, 66, + 7,117,110,105, 48, 51, 51, 67, 7,117,110,105, 48, 51, 51, 68, 7,117,110,105, 48, 51, 51, 69, 7,117,110,105, 48, 51, 51, 70, + 7,117,110,105, 48, 51, 52, 51, 7,117,110,105, 48, 51, 53, 56, 7,117,110,105, 48, 51, 54, 49, 7,117,110,105, 48, 51, 55, 52, + 7,117,110,105, 48, 51, 55, 53, 7,117,110,105, 48, 51, 55, 65, 7,117,110,105, 48, 51, 55, 69, 5,116,111,110,111,115, 13,100, 105,101,114,101,115,105,115,116,111,110,111,115, 10, 65,108,112,104, 97,116,111,110,111,115, 9, 97,110,111,116,101,108,101,105, 97, 12, 69,112,115,105,108,111,110,116,111,110,111,115, 8, 69,116, 97,116,111,110,111,115, 9, 73,111,116, 97,116,111,110,111, 115, 12, 79,109,105, 99,114,111,110,116,111,110,111,115, 12, 85,112,115,105,108,111,110,116,111,110,111,115, 10, 79,109,101,103, @@ -3528,141 +9051,634 @@ char datatoc_bmonofont_ttf[]= { 101,116, 97, 5, 71, 97,109,109, 97, 7,117,110,105, 48, 51, 57, 52, 7, 69,112,115,105,108,111,110, 4, 90,101,116, 97, 3, 69, 116, 97, 5, 84,104,101,116, 97, 4, 73,111,116, 97, 5, 75, 97,112,112, 97, 6, 76, 97,109, 98,100, 97, 2, 77,117, 2, 78,117, 2, 88,105, 7, 79,109,105, 99,114,111,110, 2, 80,105, 3, 82,104,111, 5, 83,105,103,109, 97, 3, 84, 97,117, 7, 85,112,115, -105,108,111,110, 3, 80,104,105, 3, 67,104,105, 3, 80,115,105, 7,117,110,105, 48, 51, 65, 57, 12, 73,111,116, 97,100,105,101, -114,101,115,105,115, 15, 85,112,115,105,108,111,110,100,105,101,114,101,115,105,115, 10, 97,108,112,104, 97,116,111,110,111,115, - 12,101,112,115,105,108,111,110,116,111,110,111,115, 8,101,116, 97,116,111,110,111,115, 9,105,111,116, 97,116,111,110,111,115, - 20,117,112,115,105,108,111,110,100,105,101,114,101,115,105,115,116,111,110,111,115, 5, 97,108,112,104, 97, 4, 98,101,116, 97, - 5,103, 97,109,109, 97, 5,100,101,108,116, 97, 7,101,112,115,105,108,111,110, 4,122,101,116, 97, 3,101,116, 97, 5,116,104, -101,116, 97, 4,105,111,116, 97, 5,107, 97,112,112, 97, 6,108, 97,109, 98,100, 97, 7,117,110,105, 48, 51, 66, 67, 2,110,117, - 2,120,105, 7,111,109,105, 99,114,111,110, 3,114,104,111, 6,115,105,103,109, 97, 49, 5,115,105,103,109, 97, 3,116, 97,117, - 7,117,112,115,105,108,111,110, 3,112,104,105, 3, 99,104,105, 3,112,115,105, 5,111,109,101,103, 97, 12,105,111,116, 97,100, -105,101,114,101,115,105,115, 15,117,112,115,105,108,111,110,100,105,101,114,101,115,105,115, 12,111,109,105, 99,114,111,110,116, -111,110,111,115, 12,117,112,115,105,108,111,110,116,111,110,111,115, 10,111,109,101,103, 97,116,111,110,111,115, 9, 97,102,105, -105, 49, 48, 48, 50, 51, 9, 97,102,105,105, 49, 48, 48, 53, 49, 9, 97,102,105,105, 49, 48, 48, 53, 50, 9, 97,102,105,105, 49, - 48, 48, 53, 51, 9, 97,102,105,105, 49, 48, 48, 53, 52, 9, 97,102,105,105, 49, 48, 48, 53, 53, 9, 97,102,105,105, 49, 48, 48, - 53, 54, 9, 97,102,105,105, 49, 48, 48, 53, 55, 9, 97,102,105,105, 49, 48, 48, 53, 56, 9, 97,102,105,105, 49, 48, 48, 53, 57, - 9, 97,102,105,105, 49, 48, 48, 54, 48, 9, 97,102,105,105, 49, 48, 48, 54, 49, 9, 97,102,105,105, 49, 48, 48, 54, 50, 9, 97, -102,105,105, 49, 48, 49, 52, 53, 9, 97,102,105,105, 49, 48, 48, 49, 55, 9, 97,102,105,105, 49, 48, 48, 49, 56, 9, 97,102,105, -105, 49, 48, 48, 49, 57, 9, 97,102,105,105, 49, 48, 48, 50, 48, 9, 97,102,105,105, 49, 48, 48, 50, 49, 9, 97,102,105,105, 49, - 48, 48, 50, 50, 9, 97,102,105,105, 49, 48, 48, 50, 52, 9, 97,102,105,105, 49, 48, 48, 50, 53, 9, 97,102,105,105, 49, 48, 48, - 50, 54, 9, 97,102,105,105, 49, 48, 48, 50, 55, 9, 97,102,105,105, 49, 48, 48, 50, 56, 9, 97,102,105,105, 49, 48, 48, 50, 57, - 9, 97,102,105,105, 49, 48, 48, 51, 48, 9, 97,102,105,105, 49, 48, 48, 51, 49, 9, 97,102,105,105, 49, 48, 48, 51, 50, 9, 97, -102,105,105, 49, 48, 48, 51, 51, 9, 97,102,105,105, 49, 48, 48, 51, 52, 9, 97,102,105,105, 49, 48, 48, 51, 53, 9, 97,102,105, -105, 49, 48, 48, 51, 54, 9, 97,102,105,105, 49, 48, 48, 51, 55, 9, 97,102,105,105, 49, 48, 48, 51, 56, 9, 97,102,105,105, 49, - 48, 48, 51, 57, 9, 97,102,105,105, 49, 48, 48, 52, 48, 9, 97,102,105,105, 49, 48, 48, 52, 49, 9, 97,102,105,105, 49, 48, 48, - 52, 50, 9, 97,102,105,105, 49, 48, 48, 52, 51, 9, 97,102,105,105, 49, 48, 48, 52, 52, 9, 97,102,105,105, 49, 48, 48, 52, 53, - 9, 97,102,105,105, 49, 48, 48, 52, 54, 9, 97,102,105,105, 49, 48, 48, 52, 55, 9, 97,102,105,105, 49, 48, 48, 52, 56, 9, 97, -102,105,105, 49, 48, 48, 52, 57, 9, 97,102,105,105, 49, 48, 48, 54, 53, 9, 97,102,105,105, 49, 48, 48, 54, 54, 9, 97,102,105, -105, 49, 48, 48, 54, 55, 9, 97,102,105,105, 49, 48, 48, 54, 56, 9, 97,102,105,105, 49, 48, 48, 54, 57, 9, 97,102,105,105, 49, - 48, 48, 55, 48, 9, 97,102,105,105, 49, 48, 48, 55, 50, 9, 97,102,105,105, 49, 48, 48, 55, 51, 9, 97,102,105,105, 49, 48, 48, - 55, 52, 9, 97,102,105,105, 49, 48, 48, 55, 53, 9, 97,102,105,105, 49, 48, 48, 55, 54, 9, 97,102,105,105, 49, 48, 48, 55, 55, - 9, 97,102,105,105, 49, 48, 48, 55, 56, 9, 97,102,105,105, 49, 48, 48, 55, 57, 9, 97,102,105,105, 49, 48, 48, 56, 48, 9, 97, -102,105,105, 49, 48, 48, 56, 49, 9, 97,102,105,105, 49, 48, 48, 56, 50, 9, 97,102,105,105, 49, 48, 48, 56, 51, 9, 97,102,105, -105, 49, 48, 48, 56, 52, 9, 97,102,105,105, 49, 48, 48, 56, 53, 9, 97,102,105,105, 49, 48, 48, 56, 54, 9, 97,102,105,105, 49, - 48, 48, 56, 55, 9, 97,102,105,105, 49, 48, 48, 56, 56, 9, 97,102,105,105, 49, 48, 48, 56, 57, 9, 97,102,105,105, 49, 48, 48, - 57, 48, 9, 97,102,105,105, 49, 48, 48, 57, 49, 9, 97,102,105,105, 49, 48, 48, 57, 50, 9, 97,102,105,105, 49, 48, 48, 57, 51, - 9, 97,102,105,105, 49, 48, 48, 57, 52, 9, 97,102,105,105, 49, 48, 48, 57, 53, 9, 97,102,105,105, 49, 48, 48, 57, 54, 9, 97, -102,105,105, 49, 48, 48, 57, 55, 9, 97,102,105,105, 49, 48, 48, 55, 49, 9, 97,102,105,105, 49, 48, 48, 57, 57, 9, 97,102,105, -105, 49, 48, 49, 48, 48, 9, 97,102,105,105, 49, 48, 49, 48, 49, 9, 97,102,105,105, 49, 48, 49, 48, 50, 9, 97,102,105,105, 49, - 48, 49, 48, 51, 9, 97,102,105,105, 49, 48, 49, 48, 52, 9, 97,102,105,105, 49, 48, 49, 48, 53, 9, 97,102,105,105, 49, 48, 49, - 48, 54, 9, 97,102,105,105, 49, 48, 49, 48, 55, 9, 97,102,105,105, 49, 48, 49, 48, 56, 9, 97,102,105,105, 49, 48, 49, 48, 57, - 9, 97,102,105,105, 49, 48, 49, 49, 48, 9, 97,102,105,105, 49, 48, 49, 57, 51, 9, 97,102,105,105, 49, 48, 48, 53, 48, 9, 97, -102,105,105, 49, 48, 48, 57, 56, 6, 87,103,114, 97,118,101, 6,119,103,114, 97,118,101, 6, 87, 97, 99,117,116,101, 6,119, 97, - 99,117,116,101, 9, 87,100,105,101,114,101,115,105,115, 9,119,100,105,101,114,101,115,105,115, 6, 89,103,114, 97,118,101, 6, -121,103,114, 97,118,101, 9, 97,102,105,105, 48, 48, 50, 48, 56, 13,117,110,100,101,114,115, 99,111,114,101,100, 98,108, 13,113, -117,111,116,101,114,101,118,101,114,115,101,100, 6,109,105,110,117,116,101, 6,115,101, 99,111,110,100, 9,101,120, 99,108, 97, -109,100, 98,108, 9,110,115,117,112,101,114,105,111,114, 9, 97,102,105,105, 48, 56, 57, 52, 49, 6,112,101,115,101,116, 97, 4, - 69,117,114,111, 9, 97,102,105,105, 54, 49, 50, 52, 56, 9, 97,102,105,105, 54, 49, 50, 56, 57, 9, 97,102,105,105, 54, 49, 51, - 53, 50, 9,101,115,116,105,109, 97,116,101,100, 9,111,110,101,101,105,103,104,116,104, 12,116,104,114,101,101,101,105,103,104, -116,104,115, 11,102,105,118,101,101,105,103,104,116,104,115, 12,115,101,118,101,110,101,105,103,104,116,104,115, 5, 68,101,108, -116, 97, 7,117,110,105, 70, 66, 48, 49, 7,117,110,105, 70, 66, 48, 50, 13, 99,121,114,105,108,108,105, 99, 98,114,101,118,101, - 8,100,111,116,108,101,115,115,106, 16, 99, 97,114,111,110, 99,111,109,109, 97, 97, 99, 99,101,110,116, 11, 99,111,109,109, 97, - 97, 99, 99,101,110,116, 17, 99,111,109,109, 97, 97, 99, 99,101,110,116,114,111,116, 97,116,101, 12,122,101,114,111,115,117,112, -101,114,105,111,114, 12,102,111,117,114,115,117,112,101,114,105,111,114, 12,102,105,118,101,115,117,112,101,114,105,111,114, 11, -115,105,120,115,117,112,101,114,105,111,114, 13,115,101,118,101,110,115,117,112,101,114,105,111,114, 13,101,105,103,104,116,115, -117,112,101,114,105,111,114, 12,110,105,110,101,115,117,112,101,114,105,111,114, 7,117,110,105, 50, 48, 48, 48, 7,117,110,105, - 50, 48, 48, 49, 7,117,110,105, 50, 48, 48, 50, 7,117,110,105, 50, 48, 48, 51, 7,117,110,105, 50, 48, 48, 52, 7,117,110,105, - 50, 48, 48, 53, 7,117,110,105, 50, 48, 48, 54, 7,117,110,105, 50, 48, 48, 55, 7,117,110,105, 50, 48, 48, 56, 7,117,110,105, - 50, 48, 48, 57, 7,117,110,105, 50, 48, 48, 65, 7,117,110,105, 50, 48, 48, 66, 7,117,110,105, 70, 69, 70, 70, 7,117,110,105, - 70, 70, 70, 67, 7,117,110,105, 70, 70, 70, 68, 7,117,110,105, 48, 49, 70, 48, 7,117,110,105, 48, 50, 66, 67, 7,117,110,105, - 48, 51, 68, 49, 7,117,110,105, 48, 51, 68, 50, 7,117,110,105, 48, 51, 68, 54, 7,117,110,105, 49, 69, 51, 69, 7,117,110,105, - 49, 69, 51, 70, 7,117,110,105, 49, 69, 48, 48, 7,117,110,105, 49, 69, 48, 49, 7,117,110,105, 49, 70, 52, 68, 7,117,110,105, - 48, 50, 70, 51, 9,100, 97,115,105, 97,111,120,105, 97, 7,117,110,105, 70, 66, 48, 51, 7,117,110,105, 70, 66, 48, 52, 5, 79, -104,111,114,110, 5,111,104,111,114,110, 5, 85,104,111,114,110, 5,117,104,111,114,110, 7,117,110,105, 48, 51, 48, 48, 7,117, -110,105, 48, 51, 48, 49, 7,117,110,105, 48, 51, 48, 51, 4,104,111,111,107, 8,100,111,116, 98,101,108,111,119, 7,117,110,105, - 48, 52, 48, 48, 7,117,110,105, 48, 52, 48, 68, 7,117,110,105, 48, 52, 53, 48, 7,117,110,105, 48, 52, 53, 68, 7,117,110,105, - 48, 52, 54, 48, 7,117,110,105, 48, 52, 54, 49, 7,117,110,105, 48, 52, 54, 50, 7,117,110,105, 48, 52, 54, 51, 7,117,110,105, - 48, 52, 54, 52, 7,117,110,105, 48, 52, 54, 53, 7,117,110,105, 48, 52, 54, 54, 7,117,110,105, 48, 52, 54, 55, 7,117,110,105, - 48, 52, 54, 56, 7,117,110,105, 48, 52, 54, 57, 7,117,110,105, 48, 52, 54, 65, 7,117,110,105, 48, 52, 54, 66, 7,117,110,105, - 48, 52, 54, 67, 7,117,110,105, 48, 52, 54, 68, 7,117,110,105, 48, 52, 54, 69, 7,117,110,105, 48, 52, 54, 70, 7,117,110,105, - 48, 52, 55, 48, 7,117,110,105, 48, 52, 55, 49, 7,117,110,105, 48, 52, 55, 50, 7,117,110,105, 48, 52, 55, 51, 7,117,110,105, - 48, 52, 55, 52, 7,117,110,105, 48, 52, 55, 53, 7,117,110,105, 48, 52, 55, 54, 7,117,110,105, 48, 52, 55, 55, 7,117,110,105, - 48, 52, 55, 56, 7,117,110,105, 48, 52, 55, 57, 7,117,110,105, 48, 52, 55, 65, 7,117,110,105, 48, 52, 55, 66, 7,117,110,105, - 48, 52, 55, 67, 7,117,110,105, 48, 52, 55, 68, 7,117,110,105, 48, 52, 55, 69, 7,117,110,105, 48, 52, 55, 70, 7,117,110,105, - 48, 52, 56, 48, 7,117,110,105, 48, 52, 56, 49, 7,117,110,105, 48, 52, 56, 50, 7,117,110,105, 48, 52, 56, 51, 7,117,110,105, - 48, 52, 56, 52, 7,117,110,105, 48, 52, 56, 53, 7,117,110,105, 48, 52, 56, 54, 7,117,110,105, 48, 52, 56, 56, 7,117,110,105, - 48, 52, 56, 57, 7,117,110,105, 48, 52, 56, 65, 7,117,110,105, 48, 52, 56, 66, 7,117,110,105, 48, 52, 56, 67, 7,117,110,105, - 48, 52, 56, 68, 7,117,110,105, 48, 52, 56, 69, 7,117,110,105, 48, 52, 56, 70, 7,117,110,105, 48, 52, 57, 50, 7,117,110,105, - 48, 52, 57, 51, 7,117,110,105, 48, 52, 57, 52, 7,117,110,105, 48, 52, 57, 53, 7,117,110,105, 48, 52, 57, 54, 7,117,110,105, - 48, 52, 57, 55, 7,117,110,105, 48, 52, 57, 56, 7,117,110,105, 48, 52, 57, 57, 7,117,110,105, 48, 52, 57, 65, 7,117,110,105, - 48, 52, 57, 66, 7,117,110,105, 48, 52, 57, 67, 7,117,110,105, 48, 52, 57, 68, 7,117,110,105, 48, 52, 57, 69, 7,117,110,105, - 48, 52, 57, 70, 7,117,110,105, 48, 52, 65, 48, 7,117,110,105, 48, 52, 65, 49, 7,117,110,105, 48, 52, 65, 50, 7,117,110,105, - 48, 52, 65, 51, 7,117,110,105, 48, 52, 65, 52, 7,117,110,105, 48, 52, 65, 53, 7,117,110,105, 48, 52, 65, 54, 7,117,110,105, - 48, 52, 65, 55, 7,117,110,105, 48, 52, 65, 56, 7,117,110,105, 48, 52, 65, 57, 7,117,110,105, 48, 52, 65, 65, 7,117,110,105, - 48, 52, 65, 66, 7,117,110,105, 48, 52, 65, 67, 7,117,110,105, 48, 52, 65, 68, 7,117,110,105, 48, 52, 65, 69, 7,117,110,105, - 48, 52, 65, 70, 7,117,110,105, 48, 52, 66, 48, 7,117,110,105, 48, 52, 66, 49, 7,117,110,105, 48, 52, 66, 50, 7,117,110,105, - 48, 52, 66, 51, 7,117,110,105, 48, 52, 66, 52, 7,117,110,105, 48, 52, 66, 53, 7,117,110,105, 48, 52, 66, 54, 7,117,110,105, - 48, 52, 66, 55, 7,117,110,105, 48, 52, 66, 56, 7,117,110,105, 48, 52, 66, 57, 7,117,110,105, 48, 52, 66, 65, 7,117,110,105, - 48, 52, 66, 66, 7,117,110,105, 48, 52, 66, 67, 7,117,110,105, 48, 52, 66, 68, 7,117,110,105, 48, 52, 66, 69, 7,117,110,105, - 48, 52, 66, 70, 7,117,110,105, 48, 52, 67, 48, 7,117,110,105, 48, 52, 67, 49, 7,117,110,105, 48, 52, 67, 50, 7,117,110,105, - 48, 52, 67, 51, 7,117,110,105, 48, 52, 67, 52, 7,117,110,105, 48, 52, 67, 53, 7,117,110,105, 48, 52, 67, 54, 7,117,110,105, - 48, 52, 67, 55, 7,117,110,105, 48, 52, 67, 56, 7,117,110,105, 48, 52, 67, 57, 7,117,110,105, 48, 52, 67, 65, 7,117,110,105, - 48, 52, 67, 66, 7,117,110,105, 48, 52, 67, 67, 7,117,110,105, 48, 52, 67, 68, 7,117,110,105, 48, 52, 67, 69, 7,117,110,105, - 48, 52, 67, 70, 7,117,110,105, 48, 52, 68, 48, 7,117,110,105, 48, 52, 68, 49, 7,117,110,105, 48, 52, 68, 50, 7,117,110,105, - 48, 52, 68, 51, 7,117,110,105, 48, 52, 68, 52, 7,117,110,105, 48, 52, 68, 53, 7,117,110,105, 48, 52, 68, 54, 7,117,110,105, - 48, 52, 68, 55, 7,117,110,105, 48, 52, 68, 56, 7,117,110,105, 48, 52, 68, 57, 7,117,110,105, 48, 52, 68, 65, 7,117,110,105, - 48, 52, 68, 66, 7,117,110,105, 48, 52, 68, 67, 7,117,110,105, 48, 52, 68, 68, 7,117,110,105, 48, 52, 68, 69, 7,117,110,105, - 48, 52, 68, 70, 7,117,110,105, 48, 52, 69, 48, 7,117,110,105, 48, 52, 69, 49, 7,117,110,105, 48, 52, 69, 50, 7,117,110,105, - 48, 52, 69, 51, 7,117,110,105, 48, 52, 69, 52, 7,117,110,105, 48, 52, 69, 53, 7,117,110,105, 48, 52, 69, 54, 7,117,110,105, - 48, 52, 69, 55, 7,117,110,105, 48, 52, 69, 56, 7,117,110,105, 48, 52, 69, 57, 7,117,110,105, 48, 52, 69, 65, 7,117,110,105, - 48, 52, 69, 66, 7,117,110,105, 48, 52, 69, 67, 7,117,110,105, 48, 52, 69, 68, 7,117,110,105, 48, 52, 69, 69, 7,117,110,105, - 48, 52, 69, 70, 7,117,110,105, 48, 52, 70, 48, 7,117,110,105, 48, 52, 70, 49, 7,117,110,105, 48, 52, 70, 50, 7,117,110,105, - 48, 52, 70, 51, 7,117,110,105, 48, 52, 70, 52, 7,117,110,105, 48, 52, 70, 53, 7,117,110,105, 48, 52, 70, 54, 7,117,110,105, - 48, 52, 70, 55, 7,117,110,105, 48, 52, 70, 56, 7,117,110,105, 48, 52, 70, 57, 7,117,110,105, 48, 52, 70, 65, 7,117,110,105, - 48, 52, 70, 66, 7,117,110,105, 48, 52, 70, 67, 7,117,110,105, 48, 52, 70, 68, 7,117,110,105, 48, 52, 70, 69, 7,117,110,105, - 48, 52, 70, 70, 7,117,110,105, 48, 53, 48, 48, 7,117,110,105, 48, 53, 48, 49, 7,117,110,105, 48, 53, 48, 50, 7,117,110,105, - 48, 53, 48, 51, 7,117,110,105, 48, 53, 48, 52, 7,117,110,105, 48, 53, 48, 53, 7,117,110,105, 48, 53, 48, 54, 7,117,110,105, - 48, 53, 48, 55, 7,117,110,105, 48, 53, 48, 56, 7,117,110,105, 48, 53, 48, 57, 7,117,110,105, 48, 53, 48, 65, 7,117,110,105, - 48, 53, 48, 66, 7,117,110,105, 48, 53, 48, 67, 7,117,110,105, 48, 53, 48, 68, 7,117,110,105, 48, 53, 48, 69, 7,117,110,105, - 48, 53, 48, 70, 7,117,110,105, 48, 53, 49, 48, 7,117,110,105, 48, 53, 49, 49, 7,117,110,105, 48, 53, 49, 50, 7,117,110,105, - 48, 53, 49, 51, 7,117,110,105, 49, 69, 65, 48, 7,117,110,105, 49, 69, 65, 49, 7,117,110,105, 49, 69, 65, 50, 7,117,110,105, - 49, 69, 65, 51, 7,117,110,105, 49, 69, 65, 52, 7,117,110,105, 49, 69, 65, 53, 7,117,110,105, 49, 69, 65, 54, 7,117,110,105, - 49, 69, 65, 55, 7,117,110,105, 49, 69, 65, 56, 7,117,110,105, 49, 69, 65, 57, 7,117,110,105, 49, 69, 65, 65, 7,117,110,105, - 49, 69, 65, 66, 7,117,110,105, 49, 69, 65, 67, 7,117,110,105, 49, 69, 65, 68, 7,117,110,105, 49, 69, 65, 69, 7,117,110,105, - 49, 69, 65, 70, 7,117,110,105, 49, 69, 66, 48, 7,117,110,105, 49, 69, 66, 49, 7,117,110,105, 49, 69, 66, 50, 7,117,110,105, - 49, 69, 66, 51, 7,117,110,105, 49, 69, 66, 52, 7,117,110,105, 49, 69, 66, 53, 7,117,110,105, 49, 69, 66, 54, 7,117,110,105, - 49, 69, 66, 55, 7,117,110,105, 49, 69, 66, 56, 7,117,110,105, 49, 69, 66, 57, 7,117,110,105, 49, 69, 66, 65, 7,117,110,105, - 49, 69, 66, 66, 7,117,110,105, 49, 69, 66, 67, 7,117,110,105, 49, 69, 66, 68, 7,117,110,105, 49, 69, 66, 69, 7,117,110,105, - 49, 69, 66, 70, 7,117,110,105, 49, 69, 67, 48, 7,117,110,105, 49, 69, 67, 49, 7,117,110,105, 49, 69, 67, 50, 7,117,110,105, - 49, 69, 67, 51, 7,117,110,105, 49, 69, 67, 52, 7,117,110,105, 49, 69, 67, 53, 7,117,110,105, 49, 69, 67, 54, 7,117,110,105, - 49, 69, 67, 55, 7,117,110,105, 49, 69, 67, 56, 7,117,110,105, 49, 69, 67, 57, 7,117,110,105, 49, 69, 67, 65, 7,117,110,105, - 49, 69, 67, 66, 7,117,110,105, 49, 69, 67, 67, 7,117,110,105, 49, 69, 67, 68, 7,117,110,105, 49, 69, 67, 69, 7,117,110,105, - 49, 69, 67, 70, 7,117,110,105, 49, 69, 68, 48, 7,117,110,105, 49, 69, 68, 49, 7,117,110,105, 49, 69, 68, 50, 7,117,110,105, - 49, 69, 68, 51, 7,117,110,105, 49, 69, 68, 52, 7,117,110,105, 49, 69, 68, 53, 7,117,110,105, 49, 69, 68, 54, 7,117,110,105, - 49, 69, 68, 55, 7,117,110,105, 49, 69, 68, 56, 7,117,110,105, 49, 69, 68, 57, 7,117,110,105, 49, 69, 68, 65, 7,117,110,105, - 49, 69, 68, 66, 7,117,110,105, 49, 69, 68, 67, 7,117,110,105, 49, 69, 68, 68, 7,117,110,105, 49, 69, 68, 69, 7,117,110,105, - 49, 69, 68, 70, 7,117,110,105, 49, 69, 69, 48, 7,117,110,105, 49, 69, 69, 49, 7,117,110,105, 49, 69, 69, 50, 7,117,110,105, - 49, 69, 69, 51, 7,117,110,105, 49, 69, 69, 52, 7,117,110,105, 49, 69, 69, 53, 7,117,110,105, 49, 69, 69, 54, 7,117,110,105, - 49, 69, 69, 55, 7,117,110,105, 49, 69, 69, 56, 7,117,110,105, 49, 69, 69, 57, 7,117,110,105, 49, 69, 69, 65, 7,117,110,105, - 49, 69, 69, 66, 7,117,110,105, 49, 69, 69, 67, 7,117,110,105, 49, 69, 69, 68, 7,117,110,105, 49, 69, 69, 69, 7,117,110,105, - 49, 69, 69, 70, 7,117,110,105, 49, 69, 70, 48, 7,117,110,105, 49, 69, 70, 49, 7,117,110,105, 49, 69, 70, 52, 7,117,110,105, - 49, 69, 70, 53, 7,117,110,105, 49, 69, 70, 54, 7,117,110,105, 49, 69, 70, 55, 7,117,110,105, 49, 69, 70, 56, 7,117,110,105, - 49, 69, 70, 57, 7,117,110,105, 50, 48, 65, 66, 7,117,110,105, 48, 51, 48, 70, 19, 99,105,114, 99,117,109,102,108,101,120, 97, - 99,117,116,101, 99,111,109, 98, 19, 99,105,114, 99,117,109,102,108,101,120,103,114, 97,118,101, 99,111,109, 98, 18, 99,105,114, - 99,117,109,102,108,101,120,104,111,111,107, 99,111,109, 98, 19, 99,105,114, 99,117,109,102,108,101,120,116,105,108,100,101, 99, -111,109, 98, 14, 98,114,101,118,101, 97, 99,117,116,101, 99,111,109, 98, 14, 98,114,101,118,101,103,114, 97,118,101, 99,111,109, - 98, 13, 98,114,101,118,101,104,111,111,107, 99,111,109, 98, 14, 98,114,101,118,101,116,105,108,100,101, 99,111,109, 98, 16, 99, -121,114,105,108,108,105, 99,104,111,111,107,108,101,102,116, 17, 99,121,114,105,108,108,105, 99, 98,105,103,104,111,111,107, 85, - 67, 17, 99,121,114,105,108,108,105, 99, 98,105,103,104,111,111,107, 76, 67, 0, 0, 0, 0, 2, 0, 5, 0, 2,255,255, 0, 3, +105,108,111,110, 3, 80,104,105, 3, 67,104,105, 3, 80,115,105, 12, 73,111,116, 97,100,105,101,114,101,115,105,115, 15, 85,112, +115,105,108,111,110,100,105,101,114,101,115,105,115, 10, 97,108,112,104, 97,116,111,110,111,115, 12,101,112,115,105,108,111,110, +116,111,110,111,115, 8,101,116, 97,116,111,110,111,115, 9,105,111,116, 97,116,111,110,111,115, 20,117,112,115,105,108,111,110, +100,105,101,114,101,115,105,115,116,111,110,111,115, 5, 97,108,112,104, 97, 4, 98,101,116, 97, 5,103, 97,109,109, 97, 5,100, +101,108,116, 97, 7,101,112,115,105,108,111,110, 4,122,101,116, 97, 3,101,116, 97, 5,116,104,101,116, 97, 4,105,111,116, 97, + 5,107, 97,112,112, 97, 6,108, 97,109, 98,100, 97, 7,117,110,105, 48, 51, 66, 67, 2,110,117, 2,120,105, 7,111,109,105, 99, +114,111,110, 3,114,104,111, 6,115,105,103,109, 97, 49, 5,115,105,103,109, 97, 3,116, 97,117, 7,117,112,115,105,108,111,110, + 3,112,104,105, 3, 99,104,105, 3,112,115,105, 5,111,109,101,103, 97, 12,105,111,116, 97,100,105,101,114,101,115,105,115, 15, +117,112,115,105,108,111,110,100,105,101,114,101,115,105,115, 12,111,109,105, 99,114,111,110,116,111,110,111,115, 12,117,112,115, +105,108,111,110,116,111,110,111,115, 10,111,109,101,103, 97,116,111,110,111,115, 7,117,110,105, 48, 51, 68, 48, 6,116,104,101, +116, 97, 49, 8, 85,112,115,105,108,111,110, 49, 7,117,110,105, 48, 51, 68, 51, 7,117,110,105, 48, 51, 68, 52, 4,112,104,105, + 49, 6,111,109,101,103, 97, 49, 7,117,110,105, 48, 51, 68, 55, 7,117,110,105, 48, 51, 68, 56, 7,117,110,105, 48, 51, 68, 57, + 7,117,110,105, 48, 51, 68, 65, 7,117,110,105, 48, 51, 68, 66, 7,117,110,105, 48, 51, 68, 67, 7,117,110,105, 48, 51, 68, 68, + 7,117,110,105, 48, 51, 68, 69, 7,117,110,105, 48, 51, 68, 70, 7,117,110,105, 48, 51, 69, 48, 7,117,110,105, 48, 51, 69, 49, + 7,117,110,105, 48, 51, 70, 48, 7,117,110,105, 48, 51, 70, 49, 7,117,110,105, 48, 51, 70, 50, 7,117,110,105, 48, 51, 70, 51, + 7,117,110,105, 48, 51, 70, 52, 7,117,110,105, 48, 51, 70, 53, 7,117,110,105, 48, 51, 70, 54, 7,117,110,105, 48, 51, 70, 55, + 7,117,110,105, 48, 51, 70, 56, 7,117,110,105, 48, 51, 70, 57, 7,117,110,105, 48, 51, 70, 65, 7,117,110,105, 48, 51, 70, 66, + 7,117,110,105, 48, 51, 70, 67, 7,117,110,105, 48, 51, 70, 68, 7,117,110,105, 48, 51, 70, 69, 7,117,110,105, 48, 51, 70, 70, + 7,117,110,105, 48, 52, 48, 48, 7,117,110,105, 48, 52, 48, 49, 7,117,110,105, 48, 52, 48, 50, 7,117,110,105, 48, 52, 48, 51, + 7,117,110,105, 48, 52, 48, 52, 7,117,110,105, 48, 52, 48, 53, 7,117,110,105, 48, 52, 48, 54, 7,117,110,105, 48, 52, 48, 55, + 7,117,110,105, 48, 52, 48, 56, 7,117,110,105, 48, 52, 48, 57, 7,117,110,105, 48, 52, 48, 65, 7,117,110,105, 48, 52, 48, 66, + 7,117,110,105, 48, 52, 48, 67, 7,117,110,105, 48, 52, 48, 68, 7,117,110,105, 48, 52, 48, 69, 7,117,110,105, 48, 52, 48, 70, + 7,117,110,105, 48, 52, 49, 48, 7,117,110,105, 48, 52, 49, 49, 7,117,110,105, 48, 52, 49, 50, 7,117,110,105, 48, 52, 49, 51, + 7,117,110,105, 48, 52, 49, 52, 7,117,110,105, 48, 52, 49, 53, 7,117,110,105, 48, 52, 49, 54, 7,117,110,105, 48, 52, 49, 55, + 7,117,110,105, 48, 52, 49, 56, 7,117,110,105, 48, 52, 49, 57, 7,117,110,105, 48, 52, 49, 65, 7,117,110,105, 48, 52, 49, 66, + 7,117,110,105, 48, 52, 49, 67, 7,117,110,105, 48, 52, 49, 68, 7,117,110,105, 48, 52, 49, 69, 7,117,110,105, 48, 52, 49, 70, + 7,117,110,105, 48, 52, 50, 48, 7,117,110,105, 48, 52, 50, 49, 7,117,110,105, 48, 52, 50, 50, 7,117,110,105, 48, 52, 50, 51, + 7,117,110,105, 48, 52, 50, 52, 7,117,110,105, 48, 52, 50, 53, 7,117,110,105, 48, 52, 50, 54, 7,117,110,105, 48, 52, 50, 55, + 7,117,110,105, 48, 52, 50, 56, 7,117,110,105, 48, 52, 50, 57, 7,117,110,105, 48, 52, 50, 65, 7,117,110,105, 48, 52, 50, 66, + 7,117,110,105, 48, 52, 50, 67, 7,117,110,105, 48, 52, 50, 68, 7,117,110,105, 48, 52, 50, 69, 7,117,110,105, 48, 52, 50, 70, + 7,117,110,105, 48, 52, 51, 48, 7,117,110,105, 48, 52, 51, 49, 7,117,110,105, 48, 52, 51, 50, 7,117,110,105, 48, 52, 51, 51, + 7,117,110,105, 48, 52, 51, 52, 7,117,110,105, 48, 52, 51, 53, 7,117,110,105, 48, 52, 51, 54, 7,117,110,105, 48, 52, 51, 55, + 7,117,110,105, 48, 52, 51, 56, 7,117,110,105, 48, 52, 51, 57, 7,117,110,105, 48, 52, 51, 65, 7,117,110,105, 48, 52, 51, 66, + 7,117,110,105, 48, 52, 51, 67, 7,117,110,105, 48, 52, 51, 68, 7,117,110,105, 48, 52, 51, 69, 7,117,110,105, 48, 52, 51, 70, + 7,117,110,105, 48, 52, 52, 48, 7,117,110,105, 48, 52, 52, 49, 7,117,110,105, 48, 52, 52, 50, 7,117,110,105, 48, 52, 52, 51, + 7,117,110,105, 48, 52, 52, 52, 7,117,110,105, 48, 52, 52, 53, 7,117,110,105, 48, 52, 52, 54, 7,117,110,105, 48, 52, 52, 55, + 7,117,110,105, 48, 52, 52, 56, 7,117,110,105, 48, 52, 52, 57, 7,117,110,105, 48, 52, 52, 65, 7,117,110,105, 48, 52, 52, 66, + 7,117,110,105, 48, 52, 52, 67, 7,117,110,105, 48, 52, 52, 68, 7,117,110,105, 48, 52, 52, 69, 7,117,110,105, 48, 52, 52, 70, + 7,117,110,105, 48, 52, 53, 48, 7,117,110,105, 48, 52, 53, 49, 7,117,110,105, 48, 52, 53, 50, 7,117,110,105, 48, 52, 53, 51, + 7,117,110,105, 48, 52, 53, 52, 7,117,110,105, 48, 52, 53, 53, 7,117,110,105, 48, 52, 53, 54, 7,117,110,105, 48, 52, 53, 55, + 7,117,110,105, 48, 52, 53, 56, 7,117,110,105, 48, 52, 53, 57, 7,117,110,105, 48, 52, 53, 65, 7,117,110,105, 48, 52, 53, 66, + 7,117,110,105, 48, 52, 53, 67, 7,117,110,105, 48, 52, 53, 68, 7,117,110,105, 48, 52, 53, 69, 7,117,110,105, 48, 52, 53, 70, + 7,117,110,105, 48, 52, 57, 48, 7,117,110,105, 48, 52, 57, 49, 7,117,110,105, 48, 52, 57, 50, 7,117,110,105, 48, 52, 57, 51, + 7,117,110,105, 48, 52, 57, 52, 7,117,110,105, 48, 52, 57, 53, 7,117,110,105, 48, 52, 57, 54, 7,117,110,105, 48, 52, 57, 55, + 7,117,110,105, 48, 52, 57, 56, 7,117,110,105, 48, 52, 57, 57, 7,117,110,105, 48, 52, 57, 65, 7,117,110,105, 48, 52, 57, 66, + 7,117,110,105, 48, 52, 65, 50, 7,117,110,105, 48, 52, 65, 51, 7,117,110,105, 48, 52, 65, 65, 7,117,110,105, 48, 52, 65, 66, + 7,117,110,105, 48, 52, 65, 67, 7,117,110,105, 48, 52, 65, 68, 7,117,110,105, 48, 52, 65, 69, 7,117,110,105, 48, 52, 65, 70, + 7,117,110,105, 48, 52, 66, 48, 7,117,110,105, 48, 52, 66, 49, 7,117,110,105, 48, 52, 66, 50, 7,117,110,105, 48, 52, 66, 51, + 7,117,110,105, 48, 52, 66, 65, 7,117,110,105, 48, 52, 66, 66, 7,117,110,105, 48, 52, 67, 48, 7,117,110,105, 48, 52, 67, 49, + 7,117,110,105, 48, 52, 67, 50, 7,117,110,105, 48, 52, 67, 51, 7,117,110,105, 48, 52, 67, 52, 7,117,110,105, 48, 52, 67, 55, + 7,117,110,105, 48, 52, 67, 56, 7,117,110,105, 48, 52, 67, 66, 7,117,110,105, 48, 52, 67, 67, 7,117,110,105, 48, 52, 67, 70, + 7,117,110,105, 48, 52, 68, 48, 7,117,110,105, 48, 52, 68, 49, 7,117,110,105, 48, 52, 68, 50, 7,117,110,105, 48, 52, 68, 51, + 7,117,110,105, 48, 52, 68, 52, 7,117,110,105, 48, 52, 68, 53, 7,117,110,105, 48, 52, 68, 54, 7,117,110,105, 48, 52, 68, 55, + 7,117,110,105, 48, 52, 68, 56, 7,117,110,105, 48, 52, 68, 57, 7,117,110,105, 48, 52, 68, 65, 7,117,110,105, 48, 52, 68, 66, + 7,117,110,105, 48, 52, 68, 67, 7,117,110,105, 48, 52, 68, 68, 7,117,110,105, 48, 52, 68, 69, 7,117,110,105, 48, 52, 68, 70, + 7,117,110,105, 48, 52, 69, 48, 7,117,110,105, 48, 52, 69, 49, 7,117,110,105, 48, 52, 69, 50, 7,117,110,105, 48, 52, 69, 51, + 7,117,110,105, 48, 52, 69, 52, 7,117,110,105, 48, 52, 69, 53, 7,117,110,105, 48, 52, 69, 54, 7,117,110,105, 48, 52, 69, 55, + 7,117,110,105, 48, 52, 69, 56, 7,117,110,105, 48, 52, 69, 57, 7,117,110,105, 48, 52, 69, 65, 7,117,110,105, 48, 52, 69, 66, + 7,117,110,105, 48, 52, 69, 67, 7,117,110,105, 48, 52, 69, 68, 7,117,110,105, 48, 52, 69, 69, 7,117,110,105, 48, 52, 69, 70, + 7,117,110,105, 48, 52, 70, 48, 7,117,110,105, 48, 52, 70, 49, 7,117,110,105, 48, 52, 70, 50, 7,117,110,105, 48, 52, 70, 51, + 7,117,110,105, 48, 52, 70, 52, 7,117,110,105, 48, 52, 70, 53, 7,117,110,105, 48, 52, 70, 54, 7,117,110,105, 48, 52, 70, 55, + 7,117,110,105, 48, 52, 70, 56, 7,117,110,105, 48, 52, 70, 57, 7,117,110,105, 48, 54, 48, 67, 7,117,110,105, 48, 54, 49, 53, + 7,117,110,105, 48, 54, 49, 66, 7,117,110,105, 48, 54, 49, 70, 7,117,110,105, 48, 54, 50, 49, 7,117,110,105, 48, 54, 50, 50, + 7,117,110,105, 48, 54, 50, 51, 7,117,110,105, 48, 54, 50, 52, 7,117,110,105, 48, 54, 50, 53, 7,117,110,105, 48, 54, 50, 54, + 7,117,110,105, 48, 54, 50, 55, 7,117,110,105, 48, 54, 50, 56, 7,117,110,105, 48, 54, 50, 57, 7,117,110,105, 48, 54, 50, 65, + 7,117,110,105, 48, 54, 50, 66, 7,117,110,105, 48, 54, 50, 67, 7,117,110,105, 48, 54, 50, 68, 7,117,110,105, 48, 54, 50, 69, + 7,117,110,105, 48, 54, 50, 70, 7,117,110,105, 48, 54, 51, 48, 7,117,110,105, 48, 54, 51, 49, 7,117,110,105, 48, 54, 51, 50, + 7,117,110,105, 48, 54, 51, 51, 7,117,110,105, 48, 54, 51, 52, 7,117,110,105, 48, 54, 51, 53, 7,117,110,105, 48, 54, 51, 54, + 7,117,110,105, 48, 54, 51, 55, 7,117,110,105, 48, 54, 51, 56, 7,117,110,105, 48, 54, 51, 57, 7,117,110,105, 48, 54, 51, 65, + 7,117,110,105, 48, 54, 52, 48, 7,117,110,105, 48, 54, 52, 49, 7,117,110,105, 48, 54, 52, 50, 7,117,110,105, 48, 54, 52, 51, + 7,117,110,105, 48, 54, 52, 52, 7,117,110,105, 48, 54, 52, 53, 7,117,110,105, 48, 54, 52, 54, 7,117,110,105, 48, 54, 52, 55, + 7,117,110,105, 48, 54, 52, 56, 7,117,110,105, 48, 54, 52, 57, 7,117,110,105, 48, 54, 52, 65, 7,117,110,105, 48, 54, 52, 66, + 7,117,110,105, 48, 54, 52, 67, 7,117,110,105, 48, 54, 52, 68, 7,117,110,105, 48, 54, 52, 69, 7,117,110,105, 48, 54, 52, 70, + 7,117,110,105, 48, 54, 53, 48, 7,117,110,105, 48, 54, 53, 49, 7,117,110,105, 48, 54, 53, 50, 7,117,110,105, 48, 54, 53, 51, + 7,117,110,105, 48, 54, 53, 52, 7,117,110,105, 48, 54, 53, 53, 7,117,110,105, 48, 54, 53, 65, 7,117,110,105, 48, 54, 54, 48, + 7,117,110,105, 48, 54, 54, 49, 7,117,110,105, 48, 54, 54, 50, 7,117,110,105, 48, 54, 54, 51, 7,117,110,105, 48, 54, 54, 52, + 7,117,110,105, 48, 54, 54, 53, 7,117,110,105, 48, 54, 54, 54, 7,117,110,105, 48, 54, 54, 55, 7,117,110,105, 48, 54, 54, 56, + 7,117,110,105, 48, 54, 54, 57, 7,117,110,105, 48, 54, 54, 65, 7,117,110,105, 48, 54, 54, 66, 7,117,110,105, 48, 54, 54, 67, + 7,117,110,105, 48, 54, 54, 68, 7,117,110,105, 48, 54, 54, 69, 7,117,110,105, 48, 54, 54, 70, 7,117,110,105, 48, 54, 55, 52, + 7,117,110,105, 48, 54, 55, 57, 7,117,110,105, 48, 54, 55, 65, 7,117,110,105, 48, 54, 55, 66, 7,117,110,105, 48, 54, 55, 67, + 7,117,110,105, 48, 54, 55, 68, 7,117,110,105, 48, 54, 55, 69, 7,117,110,105, 48, 54, 55, 70, 7,117,110,105, 48, 54, 56, 48, + 7,117,110,105, 48, 54, 56, 49, 7,117,110,105, 48, 54, 56, 50, 7,117,110,105, 48, 54, 56, 51, 7,117,110,105, 48, 54, 56, 52, + 7,117,110,105, 48, 54, 56, 53, 7,117,110,105, 48, 54, 56, 54, 7,117,110,105, 48, 54, 56, 55, 7,117,110,105, 48, 54, 57, 49, + 7,117,110,105, 48, 54, 57, 50, 7,117,110,105, 48, 54, 57, 56, 7,117,110,105, 48, 54, 65, 49, 7,117,110,105, 48, 54, 65, 52, + 7,117,110,105, 48, 54, 65, 57, 7,117,110,105, 48, 54, 65, 70, 7,117,110,105, 48, 54, 66, 53, 7,117,110,105, 48, 54, 66, 65, + 7,117,110,105, 48, 54, 66, 69, 7,117,110,105, 48, 54, 67, 54, 7,117,110,105, 48, 54, 67, 67, 7,117,110,105, 48, 54, 67, 69, + 7,117,110,105, 48, 54, 68, 53, 7,117,110,105, 48, 54, 70, 48, 7,117,110,105, 48, 54, 70, 49, 7,117,110,105, 48, 54, 70, 50, + 7,117,110,105, 48, 54, 70, 51, 7,117,110,105, 48, 54, 70, 52, 7,117,110,105, 48, 54, 70, 53, 7,117,110,105, 48, 54, 70, 54, + 7,117,110,105, 48, 54, 70, 55, 7,117,110,105, 48, 54, 70, 56, 7,117,110,105, 48, 54, 70, 57, 7,117,110,105, 48, 69, 56, 49, + 7,117,110,105, 48, 69, 56, 50, 7,117,110,105, 48, 69, 56, 52, 7,117,110,105, 48, 69, 56, 55, 7,117,110,105, 48, 69, 56, 56, + 7,117,110,105, 48, 69, 56, 65, 7,117,110,105, 48, 69, 56, 68, 7,117,110,105, 48, 69, 57, 52, 7,117,110,105, 48, 69, 57, 53, + 7,117,110,105, 48, 69, 57, 54, 7,117,110,105, 48, 69, 57, 55, 7,117,110,105, 48, 69, 57, 57, 7,117,110,105, 48, 69, 57, 65, + 7,117,110,105, 48, 69, 57, 66, 7,117,110,105, 48, 69, 57, 67, 7,117,110,105, 48, 69, 57, 68, 7,117,110,105, 48, 69, 57, 69, + 7,117,110,105, 48, 69, 57, 70, 7,117,110,105, 48, 69, 65, 49, 7,117,110,105, 48, 69, 65, 50, 7,117,110,105, 48, 69, 65, 51, + 7,117,110,105, 48, 69, 65, 53, 7,117,110,105, 48, 69, 65, 55, 7,117,110,105, 48, 69, 65, 65, 7,117,110,105, 48, 69, 65, 66, + 7,117,110,105, 48, 69, 65, 68, 7,117,110,105, 48, 69, 65, 69, 7,117,110,105, 48, 69, 65, 70, 7,117,110,105, 48, 69, 66, 48, + 7,117,110,105, 48, 69, 66, 49, 7,117,110,105, 48, 69, 66, 50, 7,117,110,105, 48, 69, 66, 51, 7,117,110,105, 48, 69, 66, 52, + 7,117,110,105, 48, 69, 66, 53, 7,117,110,105, 48, 69, 66, 54, 7,117,110,105, 48, 69, 66, 55, 7,117,110,105, 48, 69, 66, 56, + 7,117,110,105, 48, 69, 66, 57, 7,117,110,105, 48, 69, 66, 66, 7,117,110,105, 48, 69, 66, 67, 7,117,110,105, 48, 69, 67, 56, + 7,117,110,105, 48, 69, 67, 57, 7,117,110,105, 48, 69, 67, 65, 7,117,110,105, 48, 69, 67, 66, 7,117,110,105, 48, 69, 67, 67, + 7,117,110,105, 48, 69, 67, 68, 7,117,110,105, 49, 48, 68, 48, 7,117,110,105, 49, 48, 68, 49, 7,117,110,105, 49, 48, 68, 50, + 7,117,110,105, 49, 48, 68, 51, 7,117,110,105, 49, 48, 68, 52, 7,117,110,105, 49, 48, 68, 53, 7,117,110,105, 49, 48, 68, 54, + 7,117,110,105, 49, 48, 68, 55, 7,117,110,105, 49, 48, 68, 56, 7,117,110,105, 49, 48, 68, 57, 7,117,110,105, 49, 48, 68, 65, + 7,117,110,105, 49, 48, 68, 66, 7,117,110,105, 49, 48, 68, 67, 7,117,110,105, 49, 48, 68, 68, 7,117,110,105, 49, 48, 68, 69, + 7,117,110,105, 49, 48, 68, 70, 7,117,110,105, 49, 48, 69, 48, 7,117,110,105, 49, 48, 69, 49, 7,117,110,105, 49, 48, 69, 50, + 7,117,110,105, 49, 48, 69, 51, 7,117,110,105, 49, 48, 69, 52, 7,117,110,105, 49, 48, 69, 53, 7,117,110,105, 49, 48, 69, 54, + 7,117,110,105, 49, 48, 69, 55, 7,117,110,105, 49, 48, 69, 56, 7,117,110,105, 49, 48, 69, 57, 7,117,110,105, 49, 48, 69, 65, + 7,117,110,105, 49, 48, 69, 66, 7,117,110,105, 49, 48, 69, 67, 7,117,110,105, 49, 48, 69, 68, 7,117,110,105, 49, 48, 69, 69, + 7,117,110,105, 49, 48, 69, 70, 7,117,110,105, 49, 48, 70, 48, 7,117,110,105, 49, 48, 70, 49, 7,117,110,105, 49, 48, 70, 50, + 7,117,110,105, 49, 48, 70, 51, 7,117,110,105, 49, 48, 70, 52, 7,117,110,105, 49, 48, 70, 53, 7,117,110,105, 49, 48, 70, 54, + 7,117,110,105, 49, 48, 70, 55, 7,117,110,105, 49, 48, 70, 56, 7,117,110,105, 49, 48, 70, 57, 7,117,110,105, 49, 48, 70, 65, + 7,117,110,105, 49, 48, 70, 66, 7,117,110,105, 49, 48, 70, 67, 7,117,110,105, 49, 68, 48, 50, 7,117,110,105, 49, 68, 48, 56, + 7,117,110,105, 49, 68, 48, 57, 7,117,110,105, 49, 68, 49, 52, 7,117,110,105, 49, 68, 49, 54, 7,117,110,105, 49, 68, 49, 55, + 7,117,110,105, 49, 68, 49, 68, 7,117,110,105, 49, 68, 49, 69, 7,117,110,105, 49, 68, 49, 70, 7,117,110,105, 49, 68, 50, 67, + 7,117,110,105, 49, 68, 50, 68, 7,117,110,105, 49, 68, 50, 69, 7,117,110,105, 49, 68, 51, 48, 7,117,110,105, 49, 68, 51, 49, + 7,117,110,105, 49, 68, 51, 50, 7,117,110,105, 49, 68, 51, 51, 7,117,110,105, 49, 68, 51, 52, 7,117,110,105, 49, 68, 51, 53, + 7,117,110,105, 49, 68, 51, 54, 7,117,110,105, 49, 68, 51, 55, 7,117,110,105, 49, 68, 51, 56, 7,117,110,105, 49, 68, 51, 57, + 7,117,110,105, 49, 68, 51, 65, 7,117,110,105, 49, 68, 51, 66, 7,117,110,105, 49, 68, 51, 67, 7,117,110,105, 49, 68, 51, 69, + 7,117,110,105, 49, 68, 51, 70, 7,117,110,105, 49, 68, 52, 48, 7,117,110,105, 49, 68, 52, 49, 7,117,110,105, 49, 68, 52, 50, + 7,117,110,105, 49, 68, 52, 51, 7,117,110,105, 49, 68, 52, 52, 7,117,110,105, 49, 68, 52, 53, 7,117,110,105, 49, 68, 52, 54, + 7,117,110,105, 49, 68, 52, 55, 7,117,110,105, 49, 68, 52, 56, 7,117,110,105, 49, 68, 52, 57, 7,117,110,105, 49, 68, 52, 65, + 7,117,110,105, 49, 68, 52, 66, 7,117,110,105, 49, 68, 52, 67, 7,117,110,105, 49, 68, 52, 68, 7,117,110,105, 49, 68, 52, 69, + 7,117,110,105, 49, 68, 52, 70, 7,117,110,105, 49, 68, 53, 48, 7,117,110,105, 49, 68, 53, 49, 7,117,110,105, 49, 68, 53, 50, + 7,117,110,105, 49, 68, 53, 51, 7,117,110,105, 49, 68, 53, 52, 7,117,110,105, 49, 68, 53, 53, 7,117,110,105, 49, 68, 53, 54, + 7,117,110,105, 49, 68, 53, 55, 7,117,110,105, 49, 68, 53, 56, 7,117,110,105, 49, 68, 53, 57, 7,117,110,105, 49, 68, 53, 65, + 7,117,110,105, 49, 68, 53, 66, 7,117,110,105, 49, 68, 54, 50, 7,117,110,105, 49, 68, 54, 51, 7,117,110,105, 49, 68, 54, 52, + 7,117,110,105, 49, 68, 54, 53, 7,117,110,105, 49, 68, 55, 55, 7,117,110,105, 49, 68, 55, 56, 7,117,110,105, 49, 68, 55, 66, + 7,117,110,105, 49, 68, 56, 53, 7,117,110,105, 49, 68, 57, 66, 7,117,110,105, 49, 68, 57, 67, 7,117,110,105, 49, 68, 57, 68, + 7,117,110,105, 49, 68, 57, 69, 7,117,110,105, 49, 68, 57, 70, 7,117,110,105, 49, 68, 65, 48, 7,117,110,105, 49, 68, 65, 49, + 7,117,110,105, 49, 68, 65, 50, 7,117,110,105, 49, 68, 65, 51, 7,117,110,105, 49, 68, 65, 52, 7,117,110,105, 49, 68, 65, 53, + 7,117,110,105, 49, 68, 65, 54, 7,117,110,105, 49, 68, 65, 55, 7,117,110,105, 49, 68, 65, 56, 7,117,110,105, 49, 68, 65, 57, + 7,117,110,105, 49, 68, 65, 65, 7,117,110,105, 49, 68, 65, 66, 7,117,110,105, 49, 68, 65, 67, 7,117,110,105, 49, 68, 65, 68, + 7,117,110,105, 49, 68, 65, 69, 7,117,110,105, 49, 68, 65, 70, 7,117,110,105, 49, 68, 66, 48, 7,117,110,105, 49, 68, 66, 49, + 7,117,110,105, 49, 68, 66, 50, 7,117,110,105, 49, 68, 66, 51, 7,117,110,105, 49, 68, 66, 52, 7,117,110,105, 49, 68, 66, 53, + 7,117,110,105, 49, 68, 66, 54, 7,117,110,105, 49, 68, 66, 55, 7,117,110,105, 49, 68, 66, 57, 7,117,110,105, 49, 68, 66, 65, + 7,117,110,105, 49, 68, 66, 66, 7,117,110,105, 49, 68, 66, 67, 7,117,110,105, 49, 68, 66, 68, 7,117,110,105, 49, 68, 66, 69, + 7,117,110,105, 49, 68, 66, 70, 7,117,110,105, 49, 69, 48, 48, 7,117,110,105, 49, 69, 48, 49, 7,117,110,105, 49, 69, 48, 50, + 7,117,110,105, 49, 69, 48, 51, 7,117,110,105, 49, 69, 48, 52, 7,117,110,105, 49, 69, 48, 53, 7,117,110,105, 49, 69, 48, 54, + 7,117,110,105, 49, 69, 48, 55, 7,117,110,105, 49, 69, 48, 56, 7,117,110,105, 49, 69, 48, 57, 7,117,110,105, 49, 69, 48, 65, + 7,117,110,105, 49, 69, 48, 66, 7,117,110,105, 49, 69, 48, 67, 7,117,110,105, 49, 69, 48, 68, 7,117,110,105, 49, 69, 48, 69, + 7,117,110,105, 49, 69, 48, 70, 7,117,110,105, 49, 69, 49, 48, 7,117,110,105, 49, 69, 49, 49, 7,117,110,105, 49, 69, 49, 50, + 7,117,110,105, 49, 69, 49, 51, 7,117,110,105, 49, 69, 49, 56, 7,117,110,105, 49, 69, 49, 57, 7,117,110,105, 49, 69, 49, 65, + 7,117,110,105, 49, 69, 49, 66, 7,117,110,105, 49, 69, 49, 67, 7,117,110,105, 49, 69, 49, 68, 7,117,110,105, 49, 69, 49, 69, + 7,117,110,105, 49, 69, 49, 70, 7,117,110,105, 49, 69, 50, 48, 7,117,110,105, 49, 69, 50, 49, 7,117,110,105, 49, 69, 50, 50, + 7,117,110,105, 49, 69, 50, 51, 7,117,110,105, 49, 69, 50, 52, 7,117,110,105, 49, 69, 50, 53, 7,117,110,105, 49, 69, 50, 56, + 7,117,110,105, 49, 69, 50, 57, 7,117,110,105, 49, 69, 50, 65, 7,117,110,105, 49, 69, 50, 66, 7,117,110,105, 49, 69, 50, 67, + 7,117,110,105, 49, 69, 50, 68, 7,117,110,105, 49, 69, 51, 48, 7,117,110,105, 49, 69, 51, 49, 7,117,110,105, 49, 69, 51, 50, + 7,117,110,105, 49, 69, 51, 51, 7,117,110,105, 49, 69, 51, 52, 7,117,110,105, 49, 69, 51, 53, 7,117,110,105, 49, 69, 51, 54, + 7,117,110,105, 49, 69, 51, 55, 7,117,110,105, 49, 69, 51, 56, 7,117,110,105, 49, 69, 51, 57, 7,117,110,105, 49, 69, 51, 65, + 7,117,110,105, 49, 69, 51, 66, 7,117,110,105, 49, 69, 51, 67, 7,117,110,105, 49, 69, 51, 68, 7,117,110,105, 49, 69, 51, 69, + 7,117,110,105, 49, 69, 51, 70, 7,117,110,105, 49, 69, 52, 48, 7,117,110,105, 49, 69, 52, 49, 7,117,110,105, 49, 69, 52, 50, + 7,117,110,105, 49, 69, 52, 51, 7,117,110,105, 49, 69, 52, 52, 7,117,110,105, 49, 69, 52, 53, 7,117,110,105, 49, 69, 52, 54, + 7,117,110,105, 49, 69, 52, 55, 7,117,110,105, 49, 69, 52, 56, 7,117,110,105, 49, 69, 52, 57, 7,117,110,105, 49, 69, 52, 65, + 7,117,110,105, 49, 69, 52, 66, 7,117,110,105, 49, 69, 53, 54, 7,117,110,105, 49, 69, 53, 55, 7,117,110,105, 49, 69, 53, 56, + 7,117,110,105, 49, 69, 53, 57, 7,117,110,105, 49, 69, 53, 65, 7,117,110,105, 49, 69, 53, 66, 7,117,110,105, 49, 69, 53, 67, + 7,117,110,105, 49, 69, 53, 68, 7,117,110,105, 49, 69, 53, 69, 7,117,110,105, 49, 69, 53, 70, 7,117,110,105, 49, 69, 54, 48, + 7,117,110,105, 49, 69, 54, 49, 7,117,110,105, 49, 69, 54, 50, 7,117,110,105, 49, 69, 54, 51, 7,117,110,105, 49, 69, 54, 56, + 7,117,110,105, 49, 69, 54, 57, 7,117,110,105, 49, 69, 54, 65, 7,117,110,105, 49, 69, 54, 66, 7,117,110,105, 49, 69, 54, 67, + 7,117,110,105, 49, 69, 54, 68, 7,117,110,105, 49, 69, 54, 69, 7,117,110,105, 49, 69, 54, 70, 7,117,110,105, 49, 69, 55, 48, + 7,117,110,105, 49, 69, 55, 49, 7,117,110,105, 49, 69, 55, 50, 7,117,110,105, 49, 69, 55, 51, 7,117,110,105, 49, 69, 55, 52, + 7,117,110,105, 49, 69, 55, 53, 7,117,110,105, 49, 69, 55, 54, 7,117,110,105, 49, 69, 55, 55, 7,117,110,105, 49, 69, 55, 69, + 7,117,110,105, 49, 69, 55, 70, 6, 87,103,114, 97,118,101, 6,119,103,114, 97,118,101, 6, 87, 97, 99,117,116,101, 6,119, 97, + 99,117,116,101, 9, 87,100,105,101,114,101,115,105,115, 9,119,100,105,101,114,101,115,105,115, 7,117,110,105, 49, 69, 56, 54, + 7,117,110,105, 49, 69, 56, 55, 7,117,110,105, 49, 69, 56, 56, 7,117,110,105, 49, 69, 56, 57, 7,117,110,105, 49, 69, 56, 65, + 7,117,110,105, 49, 69, 56, 66, 7,117,110,105, 49, 69, 56, 69, 7,117,110,105, 49, 69, 56, 70, 7,117,110,105, 49, 69, 57, 50, + 7,117,110,105, 49, 69, 57, 51, 7,117,110,105, 49, 69, 57, 52, 7,117,110,105, 49, 69, 57, 53, 7,117,110,105, 49, 69, 57, 54, + 7,117,110,105, 49, 69, 57, 66, 7,117,110,105, 49, 69, 65, 48, 7,117,110,105, 49, 69, 65, 49, 7,117,110,105, 49, 69, 66, 48, + 7,117,110,105, 49, 69, 66, 49, 7,117,110,105, 49, 69, 66, 56, 7,117,110,105, 49, 69, 66, 57, 7,117,110,105, 49, 69, 66, 67, + 7,117,110,105, 49, 69, 66, 68, 7,117,110,105, 49, 69, 67, 65, 7,117,110,105, 49, 69, 67, 66, 7,117,110,105, 49, 69, 67, 67, + 7,117,110,105, 49, 69, 67, 68, 7,117,110,105, 49, 69, 69, 52, 7,117,110,105, 49, 69, 69, 53, 6, 89,103,114, 97,118,101, 6, +121,103,114, 97,118,101, 7,117,110,105, 49, 69, 70, 52, 7,117,110,105, 49, 69, 70, 53, 7,117,110,105, 49, 69, 70, 56, 7,117, +110,105, 49, 69, 70, 57, 7,117,110,105, 49, 70, 48, 48, 7,117,110,105, 49, 70, 48, 49, 7,117,110,105, 49, 70, 48, 50, 7,117, +110,105, 49, 70, 48, 51, 7,117,110,105, 49, 70, 48, 52, 7,117,110,105, 49, 70, 48, 53, 7,117,110,105, 49, 70, 48, 54, 7,117, +110,105, 49, 70, 48, 55, 7,117,110,105, 49, 70, 48, 56, 7,117,110,105, 49, 70, 48, 57, 7,117,110,105, 49, 70, 48, 65, 7,117, +110,105, 49, 70, 48, 66, 7,117,110,105, 49, 70, 48, 67, 7,117,110,105, 49, 70, 48, 68, 7,117,110,105, 49, 70, 48, 69, 7,117, +110,105, 49, 70, 48, 70, 7,117,110,105, 49, 70, 49, 48, 7,117,110,105, 49, 70, 49, 49, 7,117,110,105, 49, 70, 49, 50, 7,117, +110,105, 49, 70, 49, 51, 7,117,110,105, 49, 70, 49, 52, 7,117,110,105, 49, 70, 49, 53, 7,117,110,105, 49, 70, 49, 56, 7,117, +110,105, 49, 70, 49, 57, 7,117,110,105, 49, 70, 49, 65, 7,117,110,105, 49, 70, 49, 66, 7,117,110,105, 49, 70, 49, 67, 7,117, +110,105, 49, 70, 49, 68, 7,117,110,105, 49, 70, 50, 48, 7,117,110,105, 49, 70, 50, 49, 7,117,110,105, 49, 70, 50, 50, 7,117, +110,105, 49, 70, 50, 51, 7,117,110,105, 49, 70, 50, 52, 7,117,110,105, 49, 70, 50, 53, 7,117,110,105, 49, 70, 50, 54, 7,117, +110,105, 49, 70, 50, 55, 7,117,110,105, 49, 70, 50, 56, 7,117,110,105, 49, 70, 50, 57, 7,117,110,105, 49, 70, 50, 65, 7,117, +110,105, 49, 70, 50, 66, 7,117,110,105, 49, 70, 50, 67, 7,117,110,105, 49, 70, 50, 68, 7,117,110,105, 49, 70, 50, 69, 7,117, +110,105, 49, 70, 50, 70, 7,117,110,105, 49, 70, 51, 48, 7,117,110,105, 49, 70, 51, 49, 7,117,110,105, 49, 70, 51, 50, 7,117, +110,105, 49, 70, 51, 51, 7,117,110,105, 49, 70, 51, 52, 7,117,110,105, 49, 70, 51, 53, 7,117,110,105, 49, 70, 51, 54, 7,117, +110,105, 49, 70, 51, 55, 7,117,110,105, 49, 70, 51, 56, 7,117,110,105, 49, 70, 51, 57, 7,117,110,105, 49, 70, 51, 65, 7,117, +110,105, 49, 70, 51, 66, 7,117,110,105, 49, 70, 51, 67, 7,117,110,105, 49, 70, 51, 68, 7,117,110,105, 49, 70, 51, 69, 7,117, +110,105, 49, 70, 51, 70, 7,117,110,105, 49, 70, 52, 48, 7,117,110,105, 49, 70, 52, 49, 7,117,110,105, 49, 70, 52, 50, 7,117, +110,105, 49, 70, 52, 51, 7,117,110,105, 49, 70, 52, 52, 7,117,110,105, 49, 70, 52, 53, 7,117,110,105, 49, 70, 52, 56, 7,117, +110,105, 49, 70, 52, 57, 7,117,110,105, 49, 70, 52, 65, 7,117,110,105, 49, 70, 52, 66, 7,117,110,105, 49, 70, 52, 67, 7,117, +110,105, 49, 70, 52, 68, 7,117,110,105, 49, 70, 53, 48, 7,117,110,105, 49, 70, 53, 49, 7,117,110,105, 49, 70, 53, 50, 7,117, +110,105, 49, 70, 53, 51, 7,117,110,105, 49, 70, 53, 52, 7,117,110,105, 49, 70, 53, 53, 7,117,110,105, 49, 70, 53, 54, 7,117, +110,105, 49, 70, 53, 55, 7,117,110,105, 49, 70, 53, 57, 7,117,110,105, 49, 70, 53, 66, 7,117,110,105, 49, 70, 53, 68, 7,117, +110,105, 49, 70, 53, 70, 7,117,110,105, 49, 70, 54, 48, 7,117,110,105, 49, 70, 54, 49, 7,117,110,105, 49, 70, 54, 50, 7,117, +110,105, 49, 70, 54, 51, 7,117,110,105, 49, 70, 54, 52, 7,117,110,105, 49, 70, 54, 53, 7,117,110,105, 49, 70, 54, 54, 7,117, +110,105, 49, 70, 54, 55, 7,117,110,105, 49, 70, 54, 56, 7,117,110,105, 49, 70, 54, 57, 7,117,110,105, 49, 70, 54, 65, 7,117, +110,105, 49, 70, 54, 66, 7,117,110,105, 49, 70, 54, 67, 7,117,110,105, 49, 70, 54, 68, 7,117,110,105, 49, 70, 54, 69, 7,117, +110,105, 49, 70, 54, 70, 7,117,110,105, 49, 70, 55, 48, 7,117,110,105, 49, 70, 55, 49, 7,117,110,105, 49, 70, 55, 50, 7,117, +110,105, 49, 70, 55, 51, 7,117,110,105, 49, 70, 55, 52, 7,117,110,105, 49, 70, 55, 53, 7,117,110,105, 49, 70, 55, 54, 7,117, +110,105, 49, 70, 55, 55, 7,117,110,105, 49, 70, 55, 56, 7,117,110,105, 49, 70, 55, 57, 7,117,110,105, 49, 70, 55, 65, 7,117, +110,105, 49, 70, 55, 66, 7,117,110,105, 49, 70, 55, 67, 7,117,110,105, 49, 70, 55, 68, 7,117,110,105, 49, 70, 56, 48, 7,117, +110,105, 49, 70, 56, 49, 7,117,110,105, 49, 70, 56, 50, 7,117,110,105, 49, 70, 56, 51, 7,117,110,105, 49, 70, 56, 52, 7,117, +110,105, 49, 70, 56, 53, 7,117,110,105, 49, 70, 56, 54, 7,117,110,105, 49, 70, 56, 55, 7,117,110,105, 49, 70, 56, 56, 7,117, +110,105, 49, 70, 56, 57, 7,117,110,105, 49, 70, 56, 65, 7,117,110,105, 49, 70, 56, 66, 7,117,110,105, 49, 70, 56, 67, 7,117, +110,105, 49, 70, 56, 68, 7,117,110,105, 49, 70, 56, 69, 7,117,110,105, 49, 70, 56, 70, 7,117,110,105, 49, 70, 57, 48, 7,117, +110,105, 49, 70, 57, 49, 7,117,110,105, 49, 70, 57, 50, 7,117,110,105, 49, 70, 57, 51, 7,117,110,105, 49, 70, 57, 52, 7,117, +110,105, 49, 70, 57, 53, 7,117,110,105, 49, 70, 57, 54, 7,117,110,105, 49, 70, 57, 55, 7,117,110,105, 49, 70, 57, 56, 7,117, +110,105, 49, 70, 57, 57, 7,117,110,105, 49, 70, 57, 65, 7,117,110,105, 49, 70, 57, 66, 7,117,110,105, 49, 70, 57, 67, 7,117, +110,105, 49, 70, 57, 68, 7,117,110,105, 49, 70, 57, 69, 7,117,110,105, 49, 70, 57, 70, 7,117,110,105, 49, 70, 65, 48, 7,117, +110,105, 49, 70, 65, 49, 7,117,110,105, 49, 70, 65, 50, 7,117,110,105, 49, 70, 65, 51, 7,117,110,105, 49, 70, 65, 52, 7,117, +110,105, 49, 70, 65, 53, 7,117,110,105, 49, 70, 65, 54, 7,117,110,105, 49, 70, 65, 55, 7,117,110,105, 49, 70, 65, 56, 7,117, +110,105, 49, 70, 65, 57, 7,117,110,105, 49, 70, 65, 65, 7,117,110,105, 49, 70, 65, 66, 7,117,110,105, 49, 70, 65, 67, 7,117, +110,105, 49, 70, 65, 68, 7,117,110,105, 49, 70, 65, 69, 7,117,110,105, 49, 70, 65, 70, 7,117,110,105, 49, 70, 66, 48, 7,117, +110,105, 49, 70, 66, 49, 7,117,110,105, 49, 70, 66, 50, 7,117,110,105, 49, 70, 66, 51, 7,117,110,105, 49, 70, 66, 52, 7,117, +110,105, 49, 70, 66, 54, 7,117,110,105, 49, 70, 66, 55, 7,117,110,105, 49, 70, 66, 56, 7,117,110,105, 49, 70, 66, 57, 7,117, +110,105, 49, 70, 66, 65, 7,117,110,105, 49, 70, 66, 66, 7,117,110,105, 49, 70, 66, 67, 7,117,110,105, 49, 70, 66, 68, 7,117, +110,105, 49, 70, 66, 69, 7,117,110,105, 49, 70, 66, 70, 7,117,110,105, 49, 70, 67, 48, 7,117,110,105, 49, 70, 67, 49, 7,117, +110,105, 49, 70, 67, 50, 7,117,110,105, 49, 70, 67, 51, 7,117,110,105, 49, 70, 67, 52, 7,117,110,105, 49, 70, 67, 54, 7,117, +110,105, 49, 70, 67, 55, 7,117,110,105, 49, 70, 67, 56, 7,117,110,105, 49, 70, 67, 57, 7,117,110,105, 49, 70, 67, 65, 7,117, +110,105, 49, 70, 67, 66, 7,117,110,105, 49, 70, 67, 67, 7,117,110,105, 49, 70, 67, 68, 7,117,110,105, 49, 70, 67, 69, 7,117, +110,105, 49, 70, 67, 70, 7,117,110,105, 49, 70, 68, 48, 7,117,110,105, 49, 70, 68, 49, 7,117,110,105, 49, 70, 68, 50, 7,117, +110,105, 49, 70, 68, 51, 7,117,110,105, 49, 70, 68, 54, 7,117,110,105, 49, 70, 68, 55, 7,117,110,105, 49, 70, 68, 56, 7,117, +110,105, 49, 70, 68, 57, 7,117,110,105, 49, 70, 68, 65, 7,117,110,105, 49, 70, 68, 66, 7,117,110,105, 49, 70, 68, 68, 7,117, +110,105, 49, 70, 68, 69, 7,117,110,105, 49, 70, 68, 70, 7,117,110,105, 49, 70, 69, 48, 7,117,110,105, 49, 70, 69, 49, 7,117, +110,105, 49, 70, 69, 50, 7,117,110,105, 49, 70, 69, 51, 7,117,110,105, 49, 70, 69, 52, 7,117,110,105, 49, 70, 69, 53, 7,117, +110,105, 49, 70, 69, 54, 7,117,110,105, 49, 70, 69, 55, 7,117,110,105, 49, 70, 69, 56, 7,117,110,105, 49, 70, 69, 57, 7,117, +110,105, 49, 70, 69, 65, 7,117,110,105, 49, 70, 69, 66, 7,117,110,105, 49, 70, 69, 67, 7,117,110,105, 49, 70, 69, 68, 7,117, +110,105, 49, 70, 69, 69, 7,117,110,105, 49, 70, 69, 70, 7,117,110,105, 49, 70, 70, 50, 7,117,110,105, 49, 70, 70, 51, 7,117, +110,105, 49, 70, 70, 52, 7,117,110,105, 49, 70, 70, 54, 7,117,110,105, 49, 70, 70, 55, 7,117,110,105, 49, 70, 70, 56, 7,117, +110,105, 49, 70, 70, 57, 7,117,110,105, 49, 70, 70, 65, 7,117,110,105, 49, 70, 70, 66, 7,117,110,105, 49, 70, 70, 67, 7,117, +110,105, 49, 70, 70, 68, 7,117,110,105, 49, 70, 70, 69, 7,117,110,105, 50, 48, 48, 48, 7,117,110,105, 50, 48, 48, 49, 7,117, +110,105, 50, 48, 48, 50, 7,117,110,105, 50, 48, 48, 51, 7,117,110,105, 50, 48, 48, 52, 7,117,110,105, 50, 48, 48, 53, 7,117, +110,105, 50, 48, 48, 54, 7,117,110,105, 50, 48, 48, 55, 7,117,110,105, 50, 48, 48, 56, 7,117,110,105, 50, 48, 48, 57, 7,117, +110,105, 50, 48, 48, 65, 7,117,110,105, 50, 48, 49, 48, 7,117,110,105, 50, 48, 49, 49, 10,102,105,103,117,114,101,100, 97,115, +104, 7,117,110,105, 50, 48, 49, 53, 13,117,110,100,101,114,115, 99,111,114,101,100, 98,108, 13,113,117,111,116,101,114,101,118, +101,114,115,101,100, 7,117,110,105, 50, 48, 49, 70, 7,117,110,105, 50, 48, 50, 51, 7,117,110,105, 50, 48, 50, 70, 7,117,110, +105, 50, 48, 51, 49, 9,101,120, 99,108, 97,109,100, 98,108, 7,117,110,105, 50, 48, 51, 68, 7,117,110,105, 50, 48, 51, 69, 7, +117,110,105, 50, 48, 52, 53, 7,117,110,105, 50, 48, 52, 54, 7,117,110,105, 50, 48, 52, 55, 7,117,110,105, 50, 48, 52, 56, 7, +117,110,105, 50, 48, 52, 57, 7,117,110,105, 50, 48, 53, 70, 7,117,110,105, 50, 48, 55, 48, 7,117,110,105, 50, 48, 55, 49, 7, +117,110,105, 50, 48, 55, 52, 7,117,110,105, 50, 48, 55, 53, 7,117,110,105, 50, 48, 55, 54, 7,117,110,105, 50, 48, 55, 55, 7, +117,110,105, 50, 48, 55, 56, 7,117,110,105, 50, 48, 55, 57, 7,117,110,105, 50, 48, 55, 65, 7,117,110,105, 50, 48, 55, 66, 7, +117,110,105, 50, 48, 55, 67, 7,117,110,105, 50, 48, 55, 68, 7,117,110,105, 50, 48, 55, 69, 7,117,110,105, 50, 48, 55, 70, 7, +117,110,105, 50, 48, 56, 48, 7,117,110,105, 50, 48, 56, 49, 7,117,110,105, 50, 48, 56, 50, 7,117,110,105, 50, 48, 56, 51, 7, +117,110,105, 50, 48, 56, 52, 7,117,110,105, 50, 48, 56, 53, 7,117,110,105, 50, 48, 56, 54, 7,117,110,105, 50, 48, 56, 55, 7, +117,110,105, 50, 48, 56, 56, 7,117,110,105, 50, 48, 56, 57, 7,117,110,105, 50, 48, 56, 65, 7,117,110,105, 50, 48, 56, 66, 7, +117,110,105, 50, 48, 56, 67, 7,117,110,105, 50, 48, 56, 68, 7,117,110,105, 50, 48, 56, 69, 7,117,110,105, 50, 48, 57, 48, 7, +117,110,105, 50, 48, 57, 49, 7,117,110,105, 50, 48, 57, 50, 7,117,110,105, 50, 48, 57, 51, 7,117,110,105, 50, 48, 57, 52, 7, +117,110,105, 50, 48, 65, 54, 4, 69,117,114,111, 7,117,110,105, 50, 48, 66, 49, 7,117,110,105, 50, 48, 66, 52, 7,117,110,105, + 50, 48, 66, 53, 7,117,110,105, 50, 49, 48, 50, 7,117,110,105, 50, 49, 48, 69, 7,117,110,105, 50, 49, 49, 54, 7,117,110,105, + 50, 49, 50, 54, 7,117,110,105, 50, 49, 50, 65, 7,117,110,105, 50, 49, 50, 66, 8,111,110,101,116,104,105,114,100, 9,116,119, +111,116,104,105,114,100,115, 7,117,110,105, 50, 49, 53, 53, 7,117,110,105, 50, 49, 53, 54, 7,117,110,105, 50, 49, 53, 55, 7, +117,110,105, 50, 49, 53, 56, 7,117,110,105, 50, 49, 53, 57, 7,117,110,105, 50, 49, 53, 65, 9,111,110,101,101,105,103,104,116, +104, 12,116,104,114,101,101,101,105,103,104,116,104,115, 11,102,105,118,101,101,105,103,104,116,104,115, 12,115,101,118,101,110, +101,105,103,104,116,104,115, 7,117,110,105, 50, 49, 53, 70, 9, 97,114,114,111,119,108,101,102,116, 7, 97,114,114,111,119,117, +112, 10, 97,114,114,111,119,114,105,103,104,116, 9, 97,114,114,111,119,100,111,119,110, 9, 97,114,114,111,119, 98,111,116,104, + 9, 97,114,114,111,119,117,112,100,110, 7,117,110,105, 50, 49, 57, 54, 7,117,110,105, 50, 49, 57, 55, 7,117,110,105, 50, 49, + 57, 56, 7,117,110,105, 50, 49, 57, 57, 7,117,110,105, 50, 49, 57, 65, 7,117,110,105, 50, 49, 57, 66, 7,117,110,105, 50, 49, + 57, 67, 7,117,110,105, 50, 49, 57, 68, 7,117,110,105, 50, 49, 57, 69, 7,117,110,105, 50, 49, 57, 70, 7,117,110,105, 50, 49, + 65, 48, 7,117,110,105, 50, 49, 65, 49, 7,117,110,105, 50, 49, 65, 50, 7,117,110,105, 50, 49, 65, 51, 7,117,110,105, 50, 49, + 65, 52, 7,117,110,105, 50, 49, 65, 53, 7,117,110,105, 50, 49, 65, 54, 7,117,110,105, 50, 49, 65, 55, 12, 97,114,114,111,119, +117,112,100,110, 98,115,101, 7,117,110,105, 50, 49, 65, 57, 7,117,110,105, 50, 49, 65, 65, 7,117,110,105, 50, 49, 65, 66, 7, +117,110,105, 50, 49, 65, 67, 7,117,110,105, 50, 49, 65, 68, 7,117,110,105, 50, 49, 65, 69, 7,117,110,105, 50, 49, 65, 70, 7, +117,110,105, 50, 49, 66, 48, 7,117,110,105, 50, 49, 66, 49, 7,117,110,105, 50, 49, 66, 50, 7,117,110,105, 50, 49, 66, 51, 7, +117,110,105, 50, 49, 66, 52, 14, 99, 97,114,114,105, 97,103,101,114,101,116,117,114,110, 7,117,110,105, 50, 49, 66, 54, 7,117, +110,105, 50, 49, 66, 55, 7,117,110,105, 50, 49, 66, 56, 7,117,110,105, 50, 49, 66, 57, 7,117,110,105, 50, 49, 66, 65, 7,117, +110,105, 50, 49, 66, 66, 7,117,110,105, 50, 49, 66, 67, 7,117,110,105, 50, 49, 66, 68, 7,117,110,105, 50, 49, 66, 69, 7,117, +110,105, 50, 49, 66, 70, 7,117,110,105, 50, 49, 67, 48, 7,117,110,105, 50, 49, 67, 49, 7,117,110,105, 50, 49, 67, 50, 7,117, +110,105, 50, 49, 67, 51, 7,117,110,105, 50, 49, 67, 52, 7,117,110,105, 50, 49, 67, 53, 7,117,110,105, 50, 49, 67, 54, 7,117, +110,105, 50, 49, 67, 55, 7,117,110,105, 50, 49, 67, 56, 7,117,110,105, 50, 49, 67, 57, 7,117,110,105, 50, 49, 67, 65, 7,117, +110,105, 50, 49, 67, 66, 7,117,110,105, 50, 49, 67, 67, 7,117,110,105, 50, 49, 67, 68, 7,117,110,105, 50, 49, 67, 69, 7,117, +110,105, 50, 49, 67, 70, 12, 97,114,114,111,119,100, 98,108,108,101,102,116, 10, 97,114,114,111,119,100, 98,108,117,112, 13, 97, +114,114,111,119,100, 98,108,114,105,103,104,116, 12, 97,114,114,111,119,100, 98,108,100,111,119,110, 12, 97,114,114,111,119,100, + 98,108, 98,111,116,104, 7,117,110,105, 50, 49, 68, 53, 7,117,110,105, 50, 49, 68, 54, 7,117,110,105, 50, 49, 68, 55, 7,117, +110,105, 50, 49, 68, 56, 7,117,110,105, 50, 49, 68, 57, 7,117,110,105, 50, 49, 68, 65, 7,117,110,105, 50, 49, 68, 66, 7,117, +110,105, 50, 49, 68, 67, 7,117,110,105, 50, 49, 68, 68, 7,117,110,105, 50, 49, 68, 69, 7,117,110,105, 50, 49, 68, 70, 7,117, +110,105, 50, 49, 69, 48, 7,117,110,105, 50, 49, 69, 49, 7,117,110,105, 50, 49, 69, 50, 7,117,110,105, 50, 49, 69, 51, 7,117, +110,105, 50, 49, 69, 52, 7,117,110,105, 50, 49, 69, 53, 7,117,110,105, 50, 49, 69, 54, 7,117,110,105, 50, 49, 69, 55, 7,117, +110,105, 50, 49, 69, 56, 7,117,110,105, 50, 49, 69, 57, 7,117,110,105, 50, 49, 69, 65, 7,117,110,105, 50, 49, 69, 66, 7,117, +110,105, 50, 49, 69, 67, 7,117,110,105, 50, 49, 69, 68, 7,117,110,105, 50, 49, 69, 69, 7,117,110,105, 50, 49, 69, 70, 7,117, +110,105, 50, 49, 70, 48, 7,117,110,105, 50, 49, 70, 49, 7,117,110,105, 50, 49, 70, 50, 7,117,110,105, 50, 49, 70, 51, 7,117, +110,105, 50, 49, 70, 52, 7,117,110,105, 50, 49, 70, 53, 7,117,110,105, 50, 49, 70, 54, 7,117,110,105, 50, 49, 70, 55, 7,117, +110,105, 50, 49, 70, 56, 7,117,110,105, 50, 49, 70, 57, 7,117,110,105, 50, 49, 70, 65, 7,117,110,105, 50, 49, 70, 66, 7,117, +110,105, 50, 49, 70, 67, 7,117,110,105, 50, 49, 70, 68, 7,117,110,105, 50, 49, 70, 69, 7,117,110,105, 50, 49, 70, 70, 8,101, +109,112,116,121,115,101,116, 8,103,114, 97,100,105,101,110,116, 7,101,108,101,109,101,110,116, 10,110,111,116,101,108,101,109, +101,110,116, 7,117,110,105, 50, 50, 48, 65, 8,115,117, 99,104,116,104, 97,116, 7,117,110,105, 50, 50, 48, 67, 7,117,110,105, + 50, 50, 48, 68, 7,117,110,105, 50, 50, 49, 51, 7,117,110,105, 50, 50, 49, 53, 12, 97,115,116,101,114,105,115,107,109, 97,116, +104, 7,117,110,105, 50, 50, 49, 56, 7,117,110,105, 50, 50, 49, 57, 12,112,114,111,112,111,114,116,105,111,110, 97,108, 10,111, +114,116,104,111,103,111,110, 97,108, 5, 97,110,103,108,101, 10,108,111,103,105, 99, 97,108, 97,110,100, 9,108,111,103,105, 99, + 97,108,111,114, 12,105,110,116,101,114,115,101, 99,116,105,111,110, 5,117,110,105,111,110, 7,117,110,105, 50, 50, 50, 67, 7, +117,110,105, 50, 50, 50, 68, 7,117,110,105, 50, 50, 51, 56, 7,117,110,105, 50, 50, 51, 57, 7,117,110,105, 50, 50, 51, 65, 7, +117,110,105, 50, 50, 51, 66, 7,115,105,109,105,108, 97,114, 7,117,110,105, 50, 50, 51, 68, 7,117,110,105, 50, 50, 52, 49, 7, +117,110,105, 50, 50, 52, 50, 7,117,110,105, 50, 50, 52, 51, 7,117,110,105, 50, 50, 52, 52, 9, 99,111,110,103,114,117,101,110, +116, 7,117,110,105, 50, 50, 52, 54, 7,117,110,105, 50, 50, 52, 55, 7,117,110,105, 50, 50, 52, 57, 7,117,110,105, 50, 50, 52, + 65, 7,117,110,105, 50, 50, 52, 66, 7,117,110,105, 50, 50, 52, 67, 7,117,110,105, 50, 50, 52, 68, 7,117,110,105, 50, 50, 52, + 69, 7,117,110,105, 50, 50, 52, 70, 7,117,110,105, 50, 50, 53, 48, 7,117,110,105, 50, 50, 53, 49, 7,117,110,105, 50, 50, 53, + 50, 7,117,110,105, 50, 50, 53, 51, 7,117,110,105, 50, 50, 53, 52, 7,117,110,105, 50, 50, 53, 53, 7,117,110,105, 50, 50, 53, + 54, 7,117,110,105, 50, 50, 53, 55, 7,117,110,105, 50, 50, 53, 56, 7,117,110,105, 50, 50, 53, 57, 7,117,110,105, 50, 50, 53, + 65, 7,117,110,105, 50, 50, 53, 66, 7,117,110,105, 50, 50, 53, 67, 7,117,110,105, 50, 50, 53, 68, 7,117,110,105, 50, 50, 53, + 69, 7,117,110,105, 50, 50, 53, 70, 11,101,113,117,105,118, 97,108,101,110, 99,101, 7,117,110,105, 50, 50, 54, 50, 7,117,110, +105, 50, 50, 54, 51, 7,117,110,105, 50, 50, 54, 54, 7,117,110,105, 50, 50, 54, 55, 7,117,110,105, 50, 50, 54, 56, 7,117,110, +105, 50, 50, 54, 57, 7,117,110,105, 50, 50, 54, 68, 7,117,110,105, 50, 50, 54, 69, 7,117,110,105, 50, 50, 54, 70, 7,117,110, +105, 50, 50, 55, 48, 7,117,110,105, 50, 50, 55, 49, 7,117,110,105, 50, 50, 55, 50, 7,117,110,105, 50, 50, 55, 51, 7,117,110, +105, 50, 50, 55, 52, 7,117,110,105, 50, 50, 55, 53, 7,117,110,105, 50, 50, 55, 54, 7,117,110,105, 50, 50, 55, 55, 7,117,110, +105, 50, 50, 55, 56, 7,117,110,105, 50, 50, 55, 57, 7,117,110,105, 50, 50, 55, 65, 7,117,110,105, 50, 50, 55, 66, 7,117,110, +105, 50, 50, 55, 67, 7,117,110,105, 50, 50, 55, 68, 7,117,110,105, 50, 50, 55, 69, 7,117,110,105, 50, 50, 55, 70, 7,117,110, +105, 50, 50, 56, 48, 7,117,110,105, 50, 50, 56, 49, 12,112,114,111,112,101,114,115,117, 98,115,101,116, 14,112,114,111,112,101, +114,115,117,112,101,114,115,101,116, 9,110,111,116,115,117, 98,115,101,116, 7,117,110,105, 50, 50, 56, 53, 12,114,101,102,108, +101,120,115,117, 98,115,101,116, 14,114,101,102,108,101,120,115,117,112,101,114,115,101,116, 7,117,110,105, 50, 50, 56, 56, 7, +117,110,105, 50, 50, 56, 57, 7,117,110,105, 50, 50, 56, 65, 7,117,110,105, 50, 50, 56, 66, 7,117,110,105, 50, 50, 56, 70, 7, +117,110,105, 50, 50, 57, 48, 7,117,110,105, 50, 50, 57, 49, 7,117,110,105, 50, 50, 57, 50, 10, 99,105,114, 99,108,101,112,108, +117,115, 7,117,110,105, 50, 50, 57, 54, 14, 99,105,114, 99,108,101,109,117,108,116,105,112,108,121, 7,117,110,105, 50, 50, 57, + 56, 7,117,110,105, 50, 50, 57, 57, 7,117,110,105, 50, 50, 57, 65, 7,117,110,105, 50, 50, 57, 66, 7,117,110,105, 50, 50, 57, + 67, 7,117,110,105, 50, 50, 57, 68, 7,117,110,105, 50, 50, 57, 69, 7,117,110,105, 50, 50, 57, 70, 7,117,110,105, 50, 50, 65, + 48, 7,117,110,105, 50, 50, 65, 49, 7,100,111,116,109, 97,116,104, 7,117,110,105, 50, 50, 67, 54, 7,117,110,105, 50, 50, 67, + 68, 7,117,110,105, 50, 50, 68, 65, 7,117,110,105, 50, 50, 68, 66, 7,117,110,105, 50, 50, 68, 67, 7,117,110,105, 50, 50, 68, + 68, 7,117,110,105, 50, 50, 68, 69, 7,117,110,105, 50, 50, 68, 70, 7,117,110,105, 50, 50, 69, 48, 7,117,110,105, 50, 50, 69, + 49, 7,117,110,105, 50, 50, 69, 50, 7,117,110,105, 50, 50, 69, 51, 7,117,110,105, 50, 50, 69, 52, 7,117,110,105, 50, 50, 69, + 53, 7,117,110,105, 50, 50, 69, 54, 7,117,110,105, 50, 50, 69, 55, 7,117,110,105, 50, 50, 69, 56, 7,117,110,105, 50, 50, 69, + 57, 7,117,110,105, 50, 50, 69, 70, 7,117,110,105, 50, 51, 48, 48, 7,117,110,105, 50, 51, 48, 49, 5,104,111,117,115,101, 7, +117,110,105, 50, 51, 48, 51, 7,117,110,105, 50, 51, 48, 52, 7,117,110,105, 50, 51, 48, 53, 7,117,110,105, 50, 51, 48, 54, 7, +117,110,105, 50, 51, 48, 56, 7,117,110,105, 50, 51, 48, 57, 7,117,110,105, 50, 51, 48, 65, 7,117,110,105, 50, 51, 48, 66, 7, +117,110,105, 50, 51, 48, 67, 7,117,110,105, 50, 51, 48, 68, 7,117,110,105, 50, 51, 48, 69, 7,117,110,105, 50, 51, 48, 70, 13, +114,101,118,108,111,103,105, 99, 97,108,110,111,116, 7,117,110,105, 50, 51, 49, 49, 7,117,110,105, 50, 51, 49, 50, 7,117,110, +105, 50, 51, 49, 51, 7,117,110,105, 50, 51, 49, 52, 7,117,110,105, 50, 51, 49, 53, 7,117,110,105, 50, 51, 49, 56, 7,117,110, +105, 50, 51, 49, 57, 7,117,110,105, 50, 51, 49, 67, 7,117,110,105, 50, 51, 49, 68, 7,117,110,105, 50, 51, 49, 69, 7,117,110, +105, 50, 51, 49, 70, 10,105,110,116,101,103,114, 97,108,116,112, 10,105,110,116,101,103,114, 97,108, 98,116, 7,117,110,105, 50, + 51, 50, 53, 7,117,110,105, 50, 51, 50, 54, 7,117,110,105, 50, 51, 50, 55, 7,117,110,105, 50, 51, 50, 56, 7,117,110,105, 50, + 51, 50, 66, 7,117,110,105, 50, 51, 51, 53, 7,117,110,105, 50, 51, 51, 55, 7,117,110,105, 50, 51, 51, 56, 7,117,110,105, 50, + 51, 51, 57, 7,117,110,105, 50, 51, 51, 65, 7,117,110,105, 50, 51, 51, 66, 7,117,110,105, 50, 51, 51, 67, 7,117,110,105, 50, + 51, 51, 68, 7,117,110,105, 50, 51, 51, 69, 7,117,110,105, 50, 51, 52, 49, 7,117,110,105, 50, 51, 52, 50, 7,117,110,105, 50, + 51, 52, 51, 7,117,110,105, 50, 51, 52, 52, 7,117,110,105, 50, 51, 52, 55, 7,117,110,105, 50, 51, 52, 56, 7,117,110,105, 50, + 51, 52, 57, 7,117,110,105, 50, 51, 52, 66, 7,117,110,105, 50, 51, 52, 67, 7,117,110,105, 50, 51, 52, 68, 7,117,110,105, 50, + 51, 53, 48, 7,117,110,105, 50, 51, 53, 50, 7,117,110,105, 50, 51, 53, 51, 7,117,110,105, 50, 51, 53, 52, 7,117,110,105, 50, + 51, 53, 55, 7,117,110,105, 50, 51, 53, 56, 7,117,110,105, 50, 51, 53, 57, 7,117,110,105, 50, 51, 53, 65, 7,117,110,105, 50, + 51, 53, 66, 7,117,110,105, 50, 51, 53, 67, 7,117,110,105, 50, 51, 53, 69, 7,117,110,105, 50, 51, 53, 70, 7,117,110,105, 50, + 51, 54, 48, 7,117,110,105, 50, 51, 54, 51, 7,117,110,105, 50, 51, 54, 52, 7,117,110,105, 50, 51, 54, 53, 7,117,110,105, 50, + 51, 54, 56, 7,117,110,105, 50, 51, 54, 57, 7,117,110,105, 50, 51, 54, 66, 7,117,110,105, 50, 51, 54, 67, 7,117,110,105, 50, + 51, 54, 68, 7,117,110,105, 50, 51, 54, 69, 7,117,110,105, 50, 51, 54, 70, 7,117,110,105, 50, 51, 55, 48, 7,117,110,105, 50, + 51, 55, 51, 7,117,110,105, 50, 51, 55, 52, 7,117,110,105, 50, 51, 55, 53, 7,117,110,105, 50, 51, 55, 54, 7,117,110,105, 50, + 51, 55, 55, 7,117,110,105, 50, 51, 55, 56, 7,117,110,105, 50, 51, 55, 57, 7,117,110,105, 50, 51, 55, 65, 7,117,110,105, 50, + 51, 55, 68, 7,117,110,105, 50, 51, 56, 48, 7,117,110,105, 50, 51, 56, 49, 7,117,110,105, 50, 51, 56, 50, 7,117,110,105, 50, + 51, 56, 51, 7,117,110,105, 50, 51, 56, 56, 7,117,110,105, 50, 51, 56, 57, 7,117,110,105, 50, 51, 56, 65, 7,117,110,105, 50, + 51, 56, 66, 7,117,110,105, 50, 51, 57, 53, 7,117,110,105, 50, 51, 57, 66, 7,117,110,105, 50, 51, 57, 67, 7,117,110,105, 50, + 51, 57, 68, 7,117,110,105, 50, 51, 57, 69, 7,117,110,105, 50, 51, 57, 70, 7,117,110,105, 50, 51, 65, 48, 7,117,110,105, 50, + 51, 65, 49, 7,117,110,105, 50, 51, 65, 50, 7,117,110,105, 50, 51, 65, 51, 7,117,110,105, 50, 51, 65, 52, 7,117,110,105, 50, + 51, 65, 53, 7,117,110,105, 50, 51, 65, 54, 7,117,110,105, 50, 51, 65, 55, 7,117,110,105, 50, 51, 65, 56, 7,117,110,105, 50, + 51, 65, 57, 7,117,110,105, 50, 51, 65, 65, 7,117,110,105, 50, 51, 65, 66, 7,117,110,105, 50, 51, 65, 67, 7,117,110,105, 50, + 51, 65, 68, 7,117,110,105, 50, 51, 65, 69, 7,117,110,105, 50, 51, 67, 69, 7,117,110,105, 50, 51, 67, 70, 7,117,110,105, 50, + 52, 50, 51, 8, 83, 70, 49, 48, 48, 48, 48, 48, 7,117,110,105, 50, 53, 48, 49, 8, 83, 70, 49, 49, 48, 48, 48, 48, 7,117,110, +105, 50, 53, 48, 51, 7,117,110,105, 50, 53, 48, 52, 7,117,110,105, 50, 53, 48, 53, 7,117,110,105, 50, 53, 48, 54, 7,117,110, +105, 50, 53, 48, 55, 7,117,110,105, 50, 53, 48, 56, 7,117,110,105, 50, 53, 48, 57, 7,117,110,105, 50, 53, 48, 65, 7,117,110, +105, 50, 53, 48, 66, 8, 83, 70, 48, 49, 48, 48, 48, 48, 7,117,110,105, 50, 53, 48, 68, 7,117,110,105, 50, 53, 48, 69, 7,117, +110,105, 50, 53, 48, 70, 8, 83, 70, 48, 51, 48, 48, 48, 48, 7,117,110,105, 50, 53, 49, 49, 7,117,110,105, 50, 53, 49, 50, 7, +117,110,105, 50, 53, 49, 51, 8, 83, 70, 48, 50, 48, 48, 48, 48, 7,117,110,105, 50, 53, 49, 53, 7,117,110,105, 50, 53, 49, 54, + 7,117,110,105, 50, 53, 49, 55, 8, 83, 70, 48, 52, 48, 48, 48, 48, 7,117,110,105, 50, 53, 49, 57, 7,117,110,105, 50, 53, 49, + 65, 7,117,110,105, 50, 53, 49, 66, 8, 83, 70, 48, 56, 48, 48, 48, 48, 7,117,110,105, 50, 53, 49, 68, 7,117,110,105, 50, 53, + 49, 69, 7,117,110,105, 50, 53, 49, 70, 7,117,110,105, 50, 53, 50, 48, 7,117,110,105, 50, 53, 50, 49, 7,117,110,105, 50, 53, + 50, 50, 7,117,110,105, 50, 53, 50, 51, 8, 83, 70, 48, 57, 48, 48, 48, 48, 7,117,110,105, 50, 53, 50, 53, 7,117,110,105, 50, + 53, 50, 54, 7,117,110,105, 50, 53, 50, 55, 7,117,110,105, 50, 53, 50, 56, 7,117,110,105, 50, 53, 50, 57, 7,117,110,105, 50, + 53, 50, 65, 7,117,110,105, 50, 53, 50, 66, 8, 83, 70, 48, 54, 48, 48, 48, 48, 7,117,110,105, 50, 53, 50, 68, 7,117,110,105, + 50, 53, 50, 69, 7,117,110,105, 50, 53, 50, 70, 7,117,110,105, 50, 53, 51, 48, 7,117,110,105, 50, 53, 51, 49, 7,117,110,105, + 50, 53, 51, 50, 7,117,110,105, 50, 53, 51, 51, 8, 83, 70, 48, 55, 48, 48, 48, 48, 7,117,110,105, 50, 53, 51, 53, 7,117,110, +105, 50, 53, 51, 54, 7,117,110,105, 50, 53, 51, 55, 7,117,110,105, 50, 53, 51, 56, 7,117,110,105, 50, 53, 51, 57, 7,117,110, +105, 50, 53, 51, 65, 7,117,110,105, 50, 53, 51, 66, 8, 83, 70, 48, 53, 48, 48, 48, 48, 7,117,110,105, 50, 53, 51, 68, 7,117, +110,105, 50, 53, 51, 69, 7,117,110,105, 50, 53, 51, 70, 7,117,110,105, 50, 53, 52, 48, 7,117,110,105, 50, 53, 52, 49, 7,117, +110,105, 50, 53, 52, 50, 7,117,110,105, 50, 53, 52, 51, 7,117,110,105, 50, 53, 52, 52, 7,117,110,105, 50, 53, 52, 53, 7,117, +110,105, 50, 53, 52, 54, 7,117,110,105, 50, 53, 52, 55, 7,117,110,105, 50, 53, 52, 56, 7,117,110,105, 50, 53, 52, 57, 7,117, +110,105, 50, 53, 52, 65, 7,117,110,105, 50, 53, 52, 66, 7,117,110,105, 50, 53, 52, 67, 7,117,110,105, 50, 53, 52, 68, 7,117, +110,105, 50, 53, 52, 69, 7,117,110,105, 50, 53, 52, 70, 8, 83, 70, 52, 51, 48, 48, 48, 48, 8, 83, 70, 50, 52, 48, 48, 48, 48, + 8, 83, 70, 53, 49, 48, 48, 48, 48, 8, 83, 70, 53, 50, 48, 48, 48, 48, 8, 83, 70, 51, 57, 48, 48, 48, 48, 8, 83, 70, 50, 50, + 48, 48, 48, 48, 8, 83, 70, 50, 49, 48, 48, 48, 48, 8, 83, 70, 50, 53, 48, 48, 48, 48, 8, 83, 70, 53, 48, 48, 48, 48, 48, 8, + 83, 70, 52, 57, 48, 48, 48, 48, 8, 83, 70, 51, 56, 48, 48, 48, 48, 8, 83, 70, 50, 56, 48, 48, 48, 48, 8, 83, 70, 50, 55, 48, + 48, 48, 48, 8, 83, 70, 50, 54, 48, 48, 48, 48, 8, 83, 70, 51, 54, 48, 48, 48, 48, 8, 83, 70, 51, 55, 48, 48, 48, 48, 8, 83, + 70, 52, 50, 48, 48, 48, 48, 8, 83, 70, 49, 57, 48, 48, 48, 48, 8, 83, 70, 50, 48, 48, 48, 48, 48, 8, 83, 70, 50, 51, 48, 48, + 48, 48, 8, 83, 70, 52, 55, 48, 48, 48, 48, 8, 83, 70, 52, 56, 48, 48, 48, 48, 8, 83, 70, 52, 49, 48, 48, 48, 48, 8, 83, 70, + 52, 53, 48, 48, 48, 48, 8, 83, 70, 52, 54, 48, 48, 48, 48, 8, 83, 70, 52, 48, 48, 48, 48, 48, 8, 83, 70, 53, 52, 48, 48, 48, + 48, 8, 83, 70, 53, 51, 48, 48, 48, 48, 8, 83, 70, 52, 52, 48, 48, 48, 48, 7,117,110,105, 50, 53, 54, 68, 7,117,110,105, 50, + 53, 54, 69, 7,117,110,105, 50, 53, 54, 70, 7,117,110,105, 50, 53, 55, 48, 7,117,110,105, 50, 53, 55, 49, 7,117,110,105, 50, + 53, 55, 50, 7,117,110,105, 50, 53, 55, 51, 7,117,110,105, 50, 53, 55, 52, 7,117,110,105, 50, 53, 55, 53, 7,117,110,105, 50, + 53, 55, 54, 7,117,110,105, 50, 53, 55, 55, 7,117,110,105, 50, 53, 55, 56, 7,117,110,105, 50, 53, 55, 57, 7,117,110,105, 50, + 53, 55, 65, 7,117,110,105, 50, 53, 55, 66, 7,117,110,105, 50, 53, 55, 67, 7,117,110,105, 50, 53, 55, 68, 7,117,110,105, 50, + 53, 55, 69, 7,117,110,105, 50, 53, 55, 70, 7,117,112, 98,108,111, 99,107, 7,117,110,105, 50, 53, 56, 49, 7,117,110,105, 50, + 53, 56, 50, 7,117,110,105, 50, 53, 56, 51, 7,100,110, 98,108,111, 99,107, 7,117,110,105, 50, 53, 56, 53, 7,117,110,105, 50, + 53, 56, 54, 7,117,110,105, 50, 53, 56, 55, 5, 98,108,111, 99,107, 7,117,110,105, 50, 53, 56, 57, 7,117,110,105, 50, 53, 56, + 65, 7,117,110,105, 50, 53, 56, 66, 7,108,102, 98,108,111, 99,107, 7,117,110,105, 50, 53, 56, 68, 7,117,110,105, 50, 53, 56, + 69, 7,117,110,105, 50, 53, 56, 70, 7,114,116, 98,108,111, 99,107, 7,108,116,115,104, 97,100,101, 5,115,104, 97,100,101, 7, +100,107,115,104, 97,100,101, 7,117,110,105, 50, 53, 57, 52, 7,117,110,105, 50, 53, 57, 53, 7,117,110,105, 50, 53, 57, 54, 7, +117,110,105, 50, 53, 57, 55, 7,117,110,105, 50, 53, 57, 56, 7,117,110,105, 50, 53, 57, 57, 7,117,110,105, 50, 53, 57, 65, 7, +117,110,105, 50, 53, 57, 66, 7,117,110,105, 50, 53, 57, 67, 7,117,110,105, 50, 53, 57, 68, 7,117,110,105, 50, 53, 57, 69, 7, +117,110,105, 50, 53, 57, 70, 9,102,105,108,108,101,100, 98,111,120, 6, 72, 50, 50, 48, 55, 51, 7,117,110,105, 50, 53, 65, 50, + 7,117,110,105, 50, 53, 65, 51, 7,117,110,105, 50, 53, 65, 52, 7,117,110,105, 50, 53, 65, 53, 7,117,110,105, 50, 53, 65, 54, + 7,117,110,105, 50, 53, 65, 55, 7,117,110,105, 50, 53, 65, 56, 7,117,110,105, 50, 53, 65, 57, 6, 72, 49, 56, 53, 52, 51, 6, + 72, 49, 56, 53, 53, 49, 10,102,105,108,108,101,100,114,101, 99,116, 7,117,110,105, 50, 53, 65, 68, 7,117,110,105, 50, 53, 65, + 69, 7,117,110,105, 50, 53, 65, 70, 7,117,110,105, 50, 53, 66, 48, 7,117,110,105, 50, 53, 66, 49, 7,116,114,105, 97,103,117, +112, 7,117,110,105, 50, 53, 66, 51, 7,117,110,105, 50, 53, 66, 52, 7,117,110,105, 50, 53, 66, 53, 7,117,110,105, 50, 53, 66, + 54, 7,117,110,105, 50, 53, 66, 55, 7,117,110,105, 50, 53, 66, 56, 7,117,110,105, 50, 53, 66, 57, 7,116,114,105, 97,103,114, +116, 7,117,110,105, 50, 53, 66, 66, 7,116,114,105, 97,103,100,110, 7,117,110,105, 50, 53, 66, 68, 7,117,110,105, 50, 53, 66, + 69, 7,117,110,105, 50, 53, 66, 70, 7,117,110,105, 50, 53, 67, 48, 7,117,110,105, 50, 53, 67, 49, 7,117,110,105, 50, 53, 67, + 50, 7,117,110,105, 50, 53, 67, 51, 7,116,114,105, 97,103,108,102, 7,117,110,105, 50, 53, 67, 53, 7,117,110,105, 50, 53, 67, + 54, 7,117,110,105, 50, 53, 67, 55, 7,117,110,105, 50, 53, 67, 56, 7,117,110,105, 50, 53, 67, 57, 6, 99,105,114, 99,108,101, + 7,117,110,105, 50, 53, 67, 67, 7,117,110,105, 50, 53, 67, 68, 7,117,110,105, 50, 53, 67, 69, 6, 72, 49, 56, 53, 51, 51, 7, +117,110,105, 50, 53, 68, 48, 7,117,110,105, 50, 53, 68, 49, 7,117,110,105, 50, 53, 68, 50, 7,117,110,105, 50, 53, 68, 51, 7, +117,110,105, 50, 53, 68, 52, 7,117,110,105, 50, 53, 68, 53, 7,117,110,105, 50, 53, 68, 54, 7,117,110,105, 50, 53, 68, 55, 9, +105,110,118, 98,117,108,108,101,116, 9,105,110,118, 99,105,114, 99,108,101, 7,117,110,105, 50, 53, 68, 65, 7,117,110,105, 50, + 53, 68, 66, 7,117,110,105, 50, 53, 68, 67, 7,117,110,105, 50, 53, 68, 68, 7,117,110,105, 50, 53, 68, 69, 7,117,110,105, 50, + 53, 68, 70, 7,117,110,105, 50, 53, 69, 48, 7,117,110,105, 50, 53, 69, 49, 7,117,110,105, 50, 53, 69, 50, 7,117,110,105, 50, + 53, 69, 51, 7,117,110,105, 50, 53, 69, 52, 7,117,110,105, 50, 53, 69, 53, 10,111,112,101,110, 98,117,108,108,101,116, 7,117, +110,105, 50, 53, 69, 55, 7,117,110,105, 50, 53, 69, 56, 7,117,110,105, 50, 53, 69, 57, 7,117,110,105, 50, 53, 69, 65, 7,117, +110,105, 50, 53, 69, 66, 7,117,110,105, 50, 53, 69, 67, 7,117,110,105, 50, 53, 69, 68, 7,117,110,105, 50, 53, 69, 69, 7,117, +110,105, 50, 53, 69, 70, 7,117,110,105, 50, 53, 70, 48, 7,117,110,105, 50, 53, 70, 49, 7,117,110,105, 50, 53, 70, 50, 7,117, +110,105, 50, 53, 70, 51, 7,117,110,105, 50, 53, 70, 52, 7,117,110,105, 50, 53, 70, 53, 7,117,110,105, 50, 53, 70, 54, 7,117, +110,105, 50, 53, 70, 55, 7,117,110,105, 50, 53, 70, 56, 7,117,110,105, 50, 53, 70, 57, 7,117,110,105, 50, 53, 70, 65, 7,117, +110,105, 50, 53, 70, 66, 7,117,110,105, 50, 53, 70, 67, 7,117,110,105, 50, 53, 70, 68, 7,117,110,105, 50, 53, 70, 69, 7,117, +110,105, 50, 53, 70, 70, 7,117,110,105, 50, 54, 48, 48, 7,117,110,105, 50, 54, 48, 49, 7,117,110,105, 50, 54, 48, 50, 7,117, +110,105, 50, 54, 48, 51, 7,117,110,105, 50, 54, 48, 52, 7,117,110,105, 50, 54, 48, 53, 7,117,110,105, 50, 54, 48, 54, 7,117, +110,105, 50, 54, 48, 55, 7,117,110,105, 50, 54, 48, 56, 7,117,110,105, 50, 54, 48, 57, 7,117,110,105, 50, 54, 48, 65, 7,117, +110,105, 50, 54, 48, 66, 7,117,110,105, 50, 54, 48, 67, 7,117,110,105, 50, 54, 48, 68, 7,117,110,105, 50, 54, 48, 69, 7,117, +110,105, 50, 54, 48, 70, 7,117,110,105, 50, 54, 49, 48, 7,117,110,105, 50, 54, 49, 49, 7,117,110,105, 50, 54, 49, 50, 7,117, +110,105, 50, 54, 49, 51, 7,117,110,105, 50, 54, 49, 52, 7,117,110,105, 50, 54, 49, 53, 7,117,110,105, 50, 54, 49, 54, 7,117, +110,105, 50, 54, 49, 55, 7,117,110,105, 50, 54, 49, 56, 7,117,110,105, 50, 54, 49, 57, 7,117,110,105, 50, 54, 49, 65, 7,117, +110,105, 50, 54, 49, 66, 7,117,110,105, 50, 54, 49, 67, 7,117,110,105, 50, 54, 49, 68, 7,117,110,105, 50, 54, 49, 69, 7,117, +110,105, 50, 54, 49, 70, 7,117,110,105, 50, 54, 50, 48, 7,117,110,105, 50, 54, 50, 49, 7,117,110,105, 50, 54, 50, 50, 7,117, +110,105, 50, 54, 50, 51, 7,117,110,105, 50, 54, 50, 52, 7,117,110,105, 50, 54, 50, 53, 7,117,110,105, 50, 54, 50, 54, 7,117, +110,105, 50, 54, 50, 55, 7,117,110,105, 50, 54, 50, 56, 7,117,110,105, 50, 54, 50, 57, 7,117,110,105, 50, 54, 50, 65, 7,117, +110,105, 50, 54, 50, 66, 7,117,110,105, 50, 54, 50, 67, 7,117,110,105, 50, 54, 50, 68, 7,117,110,105, 50, 54, 50, 69, 7,117, +110,105, 50, 54, 50, 70, 7,117,110,105, 50, 54, 51, 56, 7,117,110,105, 50, 54, 51, 57, 9,115,109,105,108,101,102, 97, 99,101, + 12,105,110,118,115,109,105,108,101,102, 97, 99,101, 3,115,117,110, 7,117,110,105, 50, 54, 51, 68, 7,117,110,105, 50, 54, 51, + 69, 7,117,110,105, 50, 54, 51, 70, 6,102,101,109, 97,108,101, 7,117,110,105, 50, 54, 52, 49, 4,109, 97,108,101, 7,117,110, +105, 50, 54, 52, 51, 7,117,110,105, 50, 54, 52, 52, 7,117,110,105, 50, 54, 52, 53, 7,117,110,105, 50, 54, 52, 54, 7,117,110, +105, 50, 54, 52, 55, 7,117,110,105, 50, 54, 52, 56, 7,117,110,105, 50, 54, 52, 57, 7,117,110,105, 50, 54, 52, 65, 7,117,110, +105, 50, 54, 52, 66, 7,117,110,105, 50, 54, 52, 67, 7,117,110,105, 50, 54, 52, 68, 7,117,110,105, 50, 54, 52, 69, 7,117,110, +105, 50, 54, 52, 70, 7,117,110,105, 50, 54, 53, 48, 7,117,110,105, 50, 54, 53, 49, 7,117,110,105, 50, 54, 53, 50, 7,117,110, +105, 50, 54, 53, 51, 7,117,110,105, 50, 54, 53, 52, 7,117,110,105, 50, 54, 53, 53, 7,117,110,105, 50, 54, 53, 54, 7,117,110, +105, 50, 54, 53, 55, 7,117,110,105, 50, 54, 53, 56, 7,117,110,105, 50, 54, 53, 57, 7,117,110,105, 50, 54, 53, 65, 7,117,110, +105, 50, 54, 53, 66, 7,117,110,105, 50, 54, 53, 67, 7,117,110,105, 50, 54, 53, 68, 7,117,110,105, 50, 54, 53, 69, 7,117,110, +105, 50, 54, 53, 70, 5,115,112, 97,100,101, 7,117,110,105, 50, 54, 54, 49, 7,117,110,105, 50, 54, 54, 50, 4, 99,108,117, 98, + 7,117,110,105, 50, 54, 54, 52, 5,104,101, 97,114,116, 7,100,105, 97,109,111,110,100, 7,117,110,105, 50, 54, 54, 55, 7,117, +110,105, 50, 54, 54, 56, 7,117,110,105, 50, 54, 54, 57, 11,109,117,115,105, 99, 97,108,110,111,116,101, 14,109,117,115,105, 99, + 97,108,110,111,116,101,100, 98,108, 7,117,110,105, 50, 54, 54, 67, 7,117,110,105, 50, 54, 54, 68, 7,117,110,105, 50, 54, 54, + 69, 7,117,110,105, 50, 54, 54, 70, 7,117,110,105, 50, 54, 55, 48, 7,117,110,105, 50, 54, 55, 49, 7,117,110,105, 50, 54, 55, + 50, 7,117,110,105, 50, 54, 55, 51, 7,117,110,105, 50, 54, 55, 52, 7,117,110,105, 50, 54, 55, 53, 7,117,110,105, 50, 54, 55, + 54, 7,117,110,105, 50, 54, 55, 55, 7,117,110,105, 50, 54, 55, 56, 7,117,110,105, 50, 54, 55, 57, 7,117,110,105, 50, 54, 55, + 65, 7,117,110,105, 50, 54, 55, 66, 7,117,110,105, 50, 54, 55, 67, 7,117,110,105, 50, 54, 55, 68, 7,117,110,105, 50, 54, 55, + 69, 7,117,110,105, 50, 54, 55, 70, 7,117,110,105, 50, 54, 56, 48, 7,117,110,105, 50, 54, 56, 49, 7,117,110,105, 50, 54, 56, + 50, 7,117,110,105, 50, 54, 56, 51, 7,117,110,105, 50, 54, 56, 52, 7,117,110,105, 50, 54, 56, 53, 7,117,110,105, 50, 54, 56, + 54, 7,117,110,105, 50, 54, 56, 55, 7,117,110,105, 50, 54, 56, 56, 7,117,110,105, 50, 54, 56, 57, 7,117,110,105, 50, 54, 56, + 65, 7,117,110,105, 50, 54, 56, 66, 7,117,110,105, 50, 54, 57, 48, 7,117,110,105, 50, 54, 57, 49, 7,117,110,105, 50, 54, 57, + 50, 7,117,110,105, 50, 54, 57, 51, 7,117,110,105, 50, 54, 57, 52, 7,117,110,105, 50, 54, 57, 53, 7,117,110,105, 50, 54, 57, + 54, 7,117,110,105, 50, 54, 57, 55, 7,117,110,105, 50, 54, 57, 56, 7,117,110,105, 50, 54, 57, 57, 7,117,110,105, 50, 54, 57, + 65, 7,117,110,105, 50, 54, 57, 66, 7,117,110,105, 50, 54, 57, 67, 7,117,110,105, 50, 54, 65, 48, 7,117,110,105, 50, 54, 65, + 49, 7,117,110,105, 50, 54, 66, 48, 7,117,110,105, 50, 54, 66, 49, 7,117,110,105, 50, 55, 48, 49, 7,117,110,105, 50, 55, 48, + 50, 7,117,110,105, 50, 55, 48, 51, 7,117,110,105, 50, 55, 48, 52, 7,117,110,105, 50, 55, 48, 54, 7,117,110,105, 50, 55, 48, + 55, 7,117,110,105, 50, 55, 48, 56, 7,117,110,105, 50, 55, 48, 57, 7,117,110,105, 50, 55, 48, 67, 7,117,110,105, 50, 55, 48, + 68, 7,117,110,105, 50, 55, 48, 69, 7,117,110,105, 50, 55, 48, 70, 7,117,110,105, 50, 55, 49, 48, 7,117,110,105, 50, 55, 49, + 49, 7,117,110,105, 50, 55, 49, 50, 7,117,110,105, 50, 55, 49, 51, 7,117,110,105, 50, 55, 49, 52, 7,117,110,105, 50, 55, 49, + 53, 7,117,110,105, 50, 55, 49, 54, 7,117,110,105, 50, 55, 49, 55, 7,117,110,105, 50, 55, 49, 56, 7,117,110,105, 50, 55, 49, + 57, 7,117,110,105, 50, 55, 49, 65, 7,117,110,105, 50, 55, 49, 66, 7,117,110,105, 50, 55, 49, 67, 7,117,110,105, 50, 55, 49, + 68, 7,117,110,105, 50, 55, 49, 69, 7,117,110,105, 50, 55, 49, 70, 7,117,110,105, 50, 55, 50, 48, 7,117,110,105, 50, 55, 50, + 49, 7,117,110,105, 50, 55, 50, 50, 7,117,110,105, 50, 55, 50, 51, 7,117,110,105, 50, 55, 50, 52, 7,117,110,105, 50, 55, 50, + 53, 7,117,110,105, 50, 55, 50, 54, 7,117,110,105, 50, 55, 50, 55, 7,117,110,105, 50, 55, 50, 57, 7,117,110,105, 50, 55, 50, + 65, 7,117,110,105, 50, 55, 50, 66, 7,117,110,105, 50, 55, 50, 67, 7,117,110,105, 50, 55, 50, 68, 7,117,110,105, 50, 55, 50, + 69, 7,117,110,105, 50, 55, 50, 70, 7,117,110,105, 50, 55, 51, 48, 7,117,110,105, 50, 55, 51, 49, 7,117,110,105, 50, 55, 51, + 50, 7,117,110,105, 50, 55, 51, 51, 7,117,110,105, 50, 55, 51, 52, 7,117,110,105, 50, 55, 51, 53, 7,117,110,105, 50, 55, 51, + 54, 7,117,110,105, 50, 55, 51, 55, 7,117,110,105, 50, 55, 51, 56, 7,117,110,105, 50, 55, 51, 57, 7,117,110,105, 50, 55, 51, + 65, 7,117,110,105, 50, 55, 51, 66, 7,117,110,105, 50, 55, 51, 67, 7,117,110,105, 50, 55, 51, 68, 7,117,110,105, 50, 55, 51, + 69, 7,117,110,105, 50, 55, 51, 70, 7,117,110,105, 50, 55, 52, 48, 7,117,110,105, 50, 55, 52, 49, 7,117,110,105, 50, 55, 52, + 50, 7,117,110,105, 50, 55, 52, 51, 7,117,110,105, 50, 55, 52, 52, 7,117,110,105, 50, 55, 52, 53, 7,117,110,105, 50, 55, 52, + 54, 7,117,110,105, 50, 55, 52, 55, 7,117,110,105, 50, 55, 52, 56, 7,117,110,105, 50, 55, 52, 57, 7,117,110,105, 50, 55, 52, + 65, 7,117,110,105, 50, 55, 52, 66, 7,117,110,105, 50, 55, 52, 68, 7,117,110,105, 50, 55, 52, 70, 7,117,110,105, 50, 55, 53, + 48, 7,117,110,105, 50, 55, 53, 49, 7,117,110,105, 50, 55, 53, 50, 7,117,110,105, 50, 55, 53, 54, 7,117,110,105, 50, 55, 53, + 56, 7,117,110,105, 50, 55, 53, 57, 7,117,110,105, 50, 55, 53, 65, 7,117,110,105, 50, 55, 53, 66, 7,117,110,105, 50, 55, 53, + 67, 7,117,110,105, 50, 55, 53, 68, 7,117,110,105, 50, 55, 53, 69, 7,117,110,105, 50, 55, 54, 49, 7,117,110,105, 50, 55, 54, + 50, 7,117,110,105, 50, 55, 54, 51, 7,117,110,105, 50, 55, 54, 52, 7,117,110,105, 50, 55, 54, 53, 7,117,110,105, 50, 55, 54, + 54, 7,117,110,105, 50, 55, 54, 55, 7,117,110,105, 50, 55, 54, 56, 7,117,110,105, 50, 55, 54, 57, 7,117,110,105, 50, 55, 54, + 65, 7,117,110,105, 50, 55, 54, 66, 7,117,110,105, 50, 55, 54, 67, 7,117,110,105, 50, 55, 54, 68, 7,117,110,105, 50, 55, 54, + 69, 7,117,110,105, 50, 55, 54, 70, 7,117,110,105, 50, 55, 55, 48, 7,117,110,105, 50, 55, 55, 49, 7,117,110,105, 50, 55, 55, + 50, 7,117,110,105, 50, 55, 55, 51, 7,117,110,105, 50, 55, 55, 52, 7,117,110,105, 50, 55, 55, 53, 7,117,110,105, 50, 55, 57, + 52, 7,117,110,105, 50, 55, 57, 56, 7,117,110,105, 50, 55, 57, 57, 7,117,110,105, 50, 55, 57, 65, 7,117,110,105, 50, 55, 57, + 66, 7,117,110,105, 50, 55, 57, 67, 7,117,110,105, 50, 55, 57, 68, 7,117,110,105, 50, 55, 57, 69, 7,117,110,105, 50, 55, 57, + 70, 7,117,110,105, 50, 55, 65, 48, 7,117,110,105, 50, 55, 65, 49, 7,117,110,105, 50, 55, 65, 50, 7,117,110,105, 50, 55, 65, + 51, 7,117,110,105, 50, 55, 65, 52, 7,117,110,105, 50, 55, 65, 53, 7,117,110,105, 50, 55, 65, 54, 7,117,110,105, 50, 55, 65, + 55, 7,117,110,105, 50, 55, 65, 56, 7,117,110,105, 50, 55, 65, 57, 7,117,110,105, 50, 55, 65, 65, 7,117,110,105, 50, 55, 65, + 66, 7,117,110,105, 50, 55, 65, 67, 7,117,110,105, 50, 55, 65, 68, 7,117,110,105, 50, 55, 65, 69, 7,117,110,105, 50, 55, 65, + 70, 7,117,110,105, 50, 55, 66, 49, 7,117,110,105, 50, 55, 66, 50, 7,117,110,105, 50, 55, 66, 51, 7,117,110,105, 50, 55, 66, + 52, 7,117,110,105, 50, 55, 66, 53, 7,117,110,105, 50, 55, 66, 54, 7,117,110,105, 50, 55, 66, 55, 7,117,110,105, 50, 55, 66, + 56, 7,117,110,105, 50, 55, 66, 57, 7,117,110,105, 50, 55, 66, 65, 7,117,110,105, 50, 55, 66, 66, 7,117,110,105, 50, 55, 66, + 67, 7,117,110,105, 50, 55, 66, 68, 7,117,110,105, 50, 55, 66, 69, 7,117,110,105, 50, 55, 69, 48, 7,117,110,105, 50, 55, 69, + 56, 7,117,110,105, 50, 55, 69, 57, 7,117,110,105, 50, 57, 69, 66, 7,117,110,105, 50, 57, 70, 65, 7,117,110,105, 50, 57, 70, + 66, 7,117,110,105, 50, 65, 50, 70, 7,117,110,105, 50, 66, 49, 50, 7,117,110,105, 50, 66, 49, 51, 7,117,110,105, 50, 66, 49, + 52, 7,117,110,105, 50, 66, 49, 53, 7,117,110,105, 50, 66, 49, 54, 7,117,110,105, 50, 66, 49, 55, 7,117,110,105, 50, 66, 49, + 56, 7,117,110,105, 50, 66, 49, 57, 7,117,110,105, 50, 66, 49, 65, 7,117,110,105, 50, 67, 55, 53, 7,117,110,105, 50, 67, 55, + 54, 7,117,110,105, 50, 67, 55, 55, 7,117,110,105, 50, 69, 49, 56, 7,117,110,105, 50, 69, 50, 69, 7,117,110,105, 70, 54, 67, + 53, 7,117,110,105, 70, 66, 53, 50, 7,117,110,105, 70, 66, 53, 51, 7,117,110,105, 70, 66, 53, 52, 7,117,110,105, 70, 66, 53, + 53, 7,117,110,105, 70, 66, 53, 54, 7,117,110,105, 70, 66, 53, 55, 7,117,110,105, 70, 66, 53, 56, 7,117,110,105, 70, 66, 53, + 57, 7,117,110,105, 70, 66, 53, 65, 7,117,110,105, 70, 66, 53, 66, 7,117,110,105, 70, 66, 53, 67, 7,117,110,105, 70, 66, 53, + 68, 7,117,110,105, 70, 66, 53, 69, 7,117,110,105, 70, 66, 53, 70, 7,117,110,105, 70, 66, 54, 48, 7,117,110,105, 70, 66, 54, + 49, 7,117,110,105, 70, 66, 54, 50, 7,117,110,105, 70, 66, 54, 51, 7,117,110,105, 70, 66, 54, 52, 7,117,110,105, 70, 66, 54, + 53, 7,117,110,105, 70, 66, 54, 54, 7,117,110,105, 70, 66, 54, 55, 7,117,110,105, 70, 66, 54, 56, 7,117,110,105, 70, 66, 54, + 57, 7,117,110,105, 70, 66, 54, 65, 7,117,110,105, 70, 66, 54, 66, 7,117,110,105, 70, 66, 54, 67, 7,117,110,105, 70, 66, 54, + 68, 7,117,110,105, 70, 66, 54, 69, 7,117,110,105, 70, 66, 54, 70, 7,117,110,105, 70, 66, 55, 48, 7,117,110,105, 70, 66, 55, + 49, 7,117,110,105, 70, 66, 55, 50, 7,117,110,105, 70, 66, 55, 51, 7,117,110,105, 70, 66, 55, 52, 7,117,110,105, 70, 66, 55, + 53, 7,117,110,105, 70, 66, 55, 54, 7,117,110,105, 70, 66, 55, 55, 7,117,110,105, 70, 66, 55, 56, 7,117,110,105, 70, 66, 55, + 57, 7,117,110,105, 70, 66, 55, 65, 7,117,110,105, 70, 66, 55, 66, 7,117,110,105, 70, 66, 55, 67, 7,117,110,105, 70, 66, 55, + 68, 7,117,110,105, 70, 66, 55, 69, 7,117,110,105, 70, 66, 55, 70, 7,117,110,105, 70, 66, 56, 48, 7,117,110,105, 70, 66, 56, + 49, 7,117,110,105, 70, 66, 56, 65, 7,117,110,105, 70, 66, 56, 66, 7,117,110,105, 70, 66, 56, 67, 7,117,110,105, 70, 66, 56, + 68, 7,117,110,105, 70, 66, 56, 69, 7,117,110,105, 70, 66, 56, 70, 7,117,110,105, 70, 66, 57, 48, 7,117,110,105, 70, 66, 57, + 49, 7,117,110,105, 70, 66, 57, 50, 7,117,110,105, 70, 66, 57, 51, 7,117,110,105, 70, 66, 57, 52, 7,117,110,105, 70, 66, 57, + 53, 7,117,110,105, 70, 66, 57, 69, 7,117,110,105, 70, 66, 57, 70, 7,117,110,105, 70, 66, 65, 65, 7,117,110,105, 70, 66, 65, + 66, 7,117,110,105, 70, 66, 65, 67, 7,117,110,105, 70, 66, 65, 68, 7,117,110,105, 70, 66, 69, 56, 7,117,110,105, 70, 66, 69, + 57, 7,117,110,105, 70, 66, 70, 67, 7,117,110,105, 70, 66, 70, 68, 7,117,110,105, 70, 66, 70, 69, 7,117,110,105, 70, 66, 70, + 70, 7,117,110,105, 70, 69, 55, 48, 7,117,110,105, 70, 69, 55, 49, 7,117,110,105, 70, 69, 55, 50, 7,117,110,105, 70, 69, 55, + 51, 7,117,110,105, 70, 69, 55, 52, 7,117,110,105, 70, 69, 55, 54, 7,117,110,105, 70, 69, 55, 55, 7,117,110,105, 70, 69, 55, + 56, 7,117,110,105, 70, 69, 55, 57, 7,117,110,105, 70, 69, 55, 65, 7,117,110,105, 70, 69, 55, 66, 7,117,110,105, 70, 69, 55, + 67, 7,117,110,105, 70, 69, 55, 68, 7,117,110,105, 70, 69, 55, 69, 7,117,110,105, 70, 69, 55, 70, 7,117,110,105, 70, 69, 56, + 48, 7,117,110,105, 70, 69, 56, 49, 7,117,110,105, 70, 69, 56, 50, 7,117,110,105, 70, 69, 56, 51, 7,117,110,105, 70, 69, 56, + 52, 7,117,110,105, 70, 69, 56, 53, 7,117,110,105, 70, 69, 56, 54, 7,117,110,105, 70, 69, 56, 55, 7,117,110,105, 70, 69, 56, + 56, 7,117,110,105, 70, 69, 56, 57, 7,117,110,105, 70, 69, 56, 65, 7,117,110,105, 70, 69, 56, 66, 7,117,110,105, 70, 69, 56, + 67, 7,117,110,105, 70, 69, 56, 68, 7,117,110,105, 70, 69, 56, 69, 7,117,110,105, 70, 69, 56, 70, 7,117,110,105, 70, 69, 57, + 48, 7,117,110,105, 70, 69, 57, 49, 7,117,110,105, 70, 69, 57, 50, 7,117,110,105, 70, 69, 57, 51, 7,117,110,105, 70, 69, 57, + 52, 7,117,110,105, 70, 69, 57, 53, 7,117,110,105, 70, 69, 57, 54, 7,117,110,105, 70, 69, 57, 55, 7,117,110,105, 70, 69, 57, + 56, 7,117,110,105, 70, 69, 57, 57, 7,117,110,105, 70, 69, 57, 65, 7,117,110,105, 70, 69, 57, 66, 7,117,110,105, 70, 69, 57, + 67, 7,117,110,105, 70, 69, 57, 68, 7,117,110,105, 70, 69, 57, 69, 7,117,110,105, 70, 69, 57, 70, 7,117,110,105, 70, 69, 65, + 48, 7,117,110,105, 70, 69, 65, 49, 7,117,110,105, 70, 69, 65, 50, 7,117,110,105, 70, 69, 65, 51, 7,117,110,105, 70, 69, 65, + 52, 7,117,110,105, 70, 69, 65, 53, 7,117,110,105, 70, 69, 65, 54, 7,117,110,105, 70, 69, 65, 55, 7,117,110,105, 70, 69, 65, + 56, 7,117,110,105, 70, 69, 65, 57, 7,117,110,105, 70, 69, 65, 65, 7,117,110,105, 70, 69, 65, 66, 7,117,110,105, 70, 69, 65, + 67, 7,117,110,105, 70, 69, 65, 68, 7,117,110,105, 70, 69, 65, 69, 7,117,110,105, 70, 69, 65, 70, 7,117,110,105, 70, 69, 66, + 48, 7,117,110,105, 70, 69, 66, 49, 7,117,110,105, 70, 69, 66, 50, 7,117,110,105, 70, 69, 66, 51, 7,117,110,105, 70, 69, 66, + 52, 7,117,110,105, 70, 69, 66, 53, 7,117,110,105, 70, 69, 66, 54, 7,117,110,105, 70, 69, 66, 55, 7,117,110,105, 70, 69, 66, + 56, 7,117,110,105, 70, 69, 66, 57, 7,117,110,105, 70, 69, 66, 65, 7,117,110,105, 70, 69, 66, 66, 7,117,110,105, 70, 69, 66, + 67, 7,117,110,105, 70, 69, 66, 68, 7,117,110,105, 70, 69, 66, 69, 7,117,110,105, 70, 69, 66, 70, 7,117,110,105, 70, 69, 67, + 48, 7,117,110,105, 70, 69, 67, 49, 7,117,110,105, 70, 69, 67, 50, 7,117,110,105, 70, 69, 67, 51, 7,117,110,105, 70, 69, 67, + 52, 7,117,110,105, 70, 69, 67, 53, 7,117,110,105, 70, 69, 67, 54, 7,117,110,105, 70, 69, 67, 55, 7,117,110,105, 70, 69, 67, + 56, 7,117,110,105, 70, 69, 67, 57, 7,117,110,105, 70, 69, 67, 65, 7,117,110,105, 70, 69, 67, 66, 7,117,110,105, 70, 69, 67, + 67, 7,117,110,105, 70, 69, 67, 68, 7,117,110,105, 70, 69, 67, 69, 7,117,110,105, 70, 69, 67, 70, 7,117,110,105, 70, 69, 68, + 48, 7,117,110,105, 70, 69, 68, 49, 7,117,110,105, 70, 69, 68, 50, 7,117,110,105, 70, 69, 68, 51, 7,117,110,105, 70, 69, 68, + 52, 7,117,110,105, 70, 69, 68, 53, 7,117,110,105, 70, 69, 68, 54, 7,117,110,105, 70, 69, 68, 55, 7,117,110,105, 70, 69, 68, + 56, 7,117,110,105, 70, 69, 68, 57, 7,117,110,105, 70, 69, 68, 65, 7,117,110,105, 70, 69, 68, 66, 7,117,110,105, 70, 69, 68, + 67, 7,117,110,105, 70, 69, 68, 68, 7,117,110,105, 70, 69, 68, 69, 7,117,110,105, 70, 69, 68, 70, 7,117,110,105, 70, 69, 69, + 48, 7,117,110,105, 70, 69, 69, 49, 7,117,110,105, 70, 69, 69, 50, 7,117,110,105, 70, 69, 69, 51, 7,117,110,105, 70, 69, 69, + 52, 7,117,110,105, 70, 69, 69, 53, 7,117,110,105, 70, 69, 69, 54, 7,117,110,105, 70, 69, 69, 55, 7,117,110,105, 70, 69, 69, + 56, 7,117,110,105, 70, 69, 69, 57, 7,117,110,105, 70, 69, 69, 65, 7,117,110,105, 70, 69, 69, 66, 7,117,110,105, 70, 69, 69, + 67, 7,117,110,105, 70, 69, 69, 68, 7,117,110,105, 70, 69, 69, 69, 7,117,110,105, 70, 69, 69, 70, 7,117,110,105, 70, 69, 70, + 48, 7,117,110,105, 70, 69, 70, 49, 7,117,110,105, 70, 69, 70, 50, 7,117,110,105, 70, 69, 70, 51, 7,117,110,105, 70, 69, 70, + 52, 7,117,110,105, 70, 69, 70, 53, 7,117,110,105, 70, 69, 70, 54, 7,117,110,105, 70, 69, 70, 55, 7,117,110,105, 70, 69, 70, + 56, 7,117,110,105, 70, 69, 70, 57, 7,117,110,105, 70, 69, 70, 65, 7,117,110,105, 70, 69, 70, 66, 7,117,110,105, 70, 69, 70, + 67, 7,117,110,105, 70, 69, 70, 70, 7,117,110,105, 70, 70, 70, 57, 7,117,110,105, 70, 70, 70, 65, 7,117,110,105, 70, 70, 70, + 66, 7,117,110,105, 70, 70, 70, 67, 7,117,110,105, 70, 70, 70, 68, 6,117, 49, 68, 54, 55, 48, 6,117, 49, 68, 54, 55, 49, 6, +117, 49, 68, 54, 55, 50, 6,117, 49, 68, 54, 55, 51, 6,117, 49, 68, 54, 55, 52, 6,117, 49, 68, 54, 55, 53, 6,117, 49, 68, 54, + 55, 54, 6,117, 49, 68, 54, 55, 55, 6,117, 49, 68, 54, 55, 56, 6,117, 49, 68, 54, 55, 57, 6,117, 49, 68, 54, 55, 65, 6,117, + 49, 68, 54, 55, 66, 6,117, 49, 68, 54, 55, 67, 6,117, 49, 68, 54, 55, 68, 6,117, 49, 68, 54, 55, 69, 6,117, 49, 68, 54, 55, + 70, 6,117, 49, 68, 54, 56, 48, 6,117, 49, 68, 54, 56, 49, 6,117, 49, 68, 54, 56, 50, 6,117, 49, 68, 54, 56, 51, 6,117, 49, + 68, 54, 56, 52, 6,117, 49, 68, 54, 56, 53, 6,117, 49, 68, 54, 56, 54, 6,117, 49, 68, 54, 56, 55, 6,117, 49, 68, 54, 56, 56, + 6,117, 49, 68, 54, 56, 57, 6,117, 49, 68, 54, 56, 65, 6,117, 49, 68, 54, 56, 66, 6,117, 49, 68, 54, 56, 67, 6,117, 49, 68, + 54, 56, 68, 6,117, 49, 68, 54, 56, 69, 6,117, 49, 68, 54, 56, 70, 6,117, 49, 68, 54, 57, 48, 6,117, 49, 68, 54, 57, 49, 6, +117, 49, 68, 54, 57, 50, 6,117, 49, 68, 54, 57, 51, 6,117, 49, 68, 54, 57, 52, 6,117, 49, 68, 54, 57, 53, 6,117, 49, 68, 54, + 57, 54, 6,117, 49, 68, 54, 57, 55, 6,117, 49, 68, 54, 57, 56, 6,117, 49, 68, 54, 57, 57, 6,117, 49, 68, 54, 57, 65, 6,117, + 49, 68, 54, 57, 66, 6,117, 49, 68, 54, 57, 67, 6,117, 49, 68, 54, 57, 68, 6,117, 49, 68, 54, 57, 69, 6,117, 49, 68, 54, 57, + 70, 6,117, 49, 68, 54, 65, 48, 6,117, 49, 68, 54, 65, 49, 6,117, 49, 68, 54, 65, 50, 6,117, 49, 68, 54, 65, 51, 6,117, 49, + 68, 55, 70, 54, 6,117, 49, 68, 55, 70, 55, 6,117, 49, 68, 55, 70, 56, 6,117, 49, 68, 55, 70, 57, 6,117, 49, 68, 55, 70, 65, + 6,117, 49, 68, 55, 70, 66, 6,117, 49, 68, 55, 70, 67, 6,117, 49, 68, 55, 70, 68, 6,117, 49, 68, 55, 70, 69, 6,117, 49, 68, + 55, 70, 70, 9,100,108, 76,116, 99, 97,114,111,110, 9, 68,105, 97,101,114,101,115,105,115, 5, 65, 99,117,116,101, 5, 84,105, +108,100,101, 5, 71,114, 97,118,101, 10, 67,105,114, 99,117,109,102,108,101,120, 5, 67, 97,114,111,110, 13,102,114, 97, 99,116, +105,111,110,115,108, 97,115,104, 12,117,110,105, 48, 51, 49, 49, 46, 99, 97,115,101, 12,117,110,105, 48, 51, 48, 54, 46, 99, 97, +115,101, 12,117,110,105, 48, 51, 48, 55, 46, 99, 97,115,101, 12,117,110,105, 48, 51, 48, 66, 46, 99, 97,115,101, 12,117,110,105, + 48, 51, 48, 70, 46, 99, 97,115,101, 12,116,104,105,110,113,117,101,115,116,105,111,110, 12,117,110,105, 48, 51, 48, 52, 46, 99, + 97,115,101, 8,117,110,100,101,114, 98, 97,114, 13,117,110,100,101,114, 98, 97,114, 46,119,105,100,101, 14,117,110,100,101,114, + 98, 97,114, 46,115,109, 97,108,108, 3,106,111,116, 17,100,105, 97,101,114,101,115,105,115, 46,115,121,109, 98,111,108,115, 10, + 97,114, 97, 98,105, 99, 95,100,111,116, 12, 97,114, 97, 98,105, 99, 95, 50,100,111,116,115, 12, 97,114, 97, 98,105, 99, 95, 51, +100,111,116,115, 12,117,110,105, 48, 54, 54, 69, 46,102,105,110, 97, 12,117,110,105, 48, 54, 65, 49, 46,105,110,105,116, 12,117, +110,105, 48, 54, 65, 49, 46,109,101,100,105, 12,117,110,105, 48, 54, 54, 70, 46,102,105,110, 97, 12,117,110,105, 48, 54, 65, 49, + 46,102,105,110, 97, 14, 97,114, 97, 98,105, 99, 95, 51,100,111,116,115, 95, 97, 14, 97,114, 97, 98,105, 99, 95, 50,100,111,116, +115, 95, 97, 12, 97,114, 97, 98,105, 99, 95, 52,100,111,116,115, 14, 97,114, 97, 98,105, 99, 95,103, 97,102, 95, 98, 97,114, 16, + 97,114, 97, 98,105, 99, 95,103, 97,102, 95, 98, 97,114, 95, 97, 11, 97,114, 97, 98,105, 99, 95,114,105,110,103, 7, 69,110,103, + 46, 97,108,116,185, 2,128, 1, 21,178,148, 93, 5, 65, 28, 1, 21, 0,150, 0, 3, 1, 21, 0,128, 0, 4, 1, 20, 0,254, 0, + 3, 1, 19, 0,254, 0, 3, 1, 18, 0, 18, 0, 3, 1, 17, 0,254, 0, 3, 1, 16, 0,254, 0, 3, 1, 15, 0,154, 0, 3, 1, + 14, 0,254, 0, 3, 1, 13,178,235, 71, 5, 65, 37, 1, 13, 0,125, 0, 3, 1, 12, 0, 37, 0, 3, 1, 11, 0, 50, 0, 3, 1, + 10, 0,150, 0, 3, 1, 9, 0,254, 0, 3, 1, 8, 0, 14, 0, 3, 1, 7, 0,254, 0, 3, 1, 6, 0, 37, 0, 3, 1, 5, 0, +254, 0, 3, 1, 4, 0, 14, 0, 3, 1, 3, 0, 37, 0, 3, 1, 2, 0,254, 0, 3, 1, 1, 64, 89,254, 3,254,254, 3,253,125, + 3,252,254, 3,251,254, 3,250, 50, 3,249,187, 3,248,125, 3,247,246,140, 5,247,254, 3,247,192, 4,246,245, 89, 5,246,140, + 3,246,128, 4,245,244, 38, 5,245, 89, 3,245, 64, 4,244, 38, 3,243,242, 47, 5,243,250, 3,242, 47, 3,241,254, 3,240,254, + 3,239, 50, 3,238, 20, 3,237,150, 3,236,235, 71, 5,236,254, 3,236,184,255,209, 64,255, 4,235, 71, 3,234,233,100, 5,234, +150, 3,233,100, 3,232,254, 3,231,230, 27, 5,231,254, 3,230, 27, 3,229,254, 3,228,107, 3,227,254, 3,226,187, 3,225,224, + 25, 5,225,250, 3,224, 25, 3,223,150, 3,222,254, 3,221,254, 3,220,219, 21, 5,220,254, 3,219, 21, 3,218,150, 3,217,216, + 21, 5,217,254, 3,216,141, 11, 5,216, 21, 3,215,125, 3,214, 58, 3,213,141, 11, 5,213, 58, 3,212,254, 3,211,210, 10, 5, +211,254, 3,210, 10, 3,209,254, 3,208,254, 3,207,138, 17, 5,207, 28, 3,206, 22, 3,205,254, 3,204,150, 3,203,139, 37, 5, +203,254, 3,202,254, 3,201,125, 3,200,254, 3,199,254, 3,198,254, 3,197,154, 13, 5,196,254, 3,195,254, 3,194,254, 3,193, +254, 3,192,141, 11, 5,192, 20, 3,191, 12, 3,190,189,187, 5,190,254, 3,189,188, 93, 5,189,187, 3,189,128, 4,188,187, 37, + 5,188, 93, 3,188, 64, 4,187, 37, 3,186,254, 3,185,150, 3,184,143, 65, 5,183,254, 3,182,143, 65, 5,182,250, 3,181,154, + 13, 5,180,254, 3,179,100, 3,178,100, 3,177, 14, 3,176, 18, 3,175,254, 3,174,254, 64,253, 3,173,254, 3,172,254, 3,171, + 18, 3,170,254, 3,169,168, 14, 5,169, 50, 3,168, 14, 3,167,166, 17, 5,167, 40, 3,166, 17, 3,165,164, 45, 5,165,125, 3, +164, 45, 3,163,254, 3,162,254, 3,161,254, 3,160,159, 25, 5,160,100, 3,159,158, 16, 5,159, 25, 3,158, 16, 3,157, 10, 3, +156,254, 3,155,154, 13, 5,155,254, 3,154, 13, 3,153,152, 46, 5,153,254, 3,152, 46, 3,151,143, 65, 5,151,150, 3,150,149, +187, 5,150,254, 3,149,148, 93, 5,149,187, 3,149,128, 4,148,144, 37, 5,148, 93, 3,148, 64, 4,147,254, 3,146,254, 3,145, +144, 37, 5,145,187, 3,144, 37, 3,143,139, 37, 5,143, 65, 3,142,141, 11, 5,142, 20, 3,141, 11, 3,140,139, 37, 5,140,100, + 3,139,138, 17, 5,139, 37, 3,138, 17, 3,137,254, 3,136,254, 3,135,254, 3,134,133, 17, 5,134,254, 3,133, 17, 3,132,254, + 3,131,254, 3,130, 17, 66, 5,130, 83, 3,129,254, 3,128,120, 3,127,126,125, 5,127,254, 3,126,125, 3,125, 30, 3,124,254, + 3,123, 14, 3,122,254, 3,119,254, 3,118,254, 3,117,116, 12, 5,117, 15, 3,117,184, 1, 0, 64,218, 4,116, 12, 3,116,192, + 4,115, 18, 3,115, 64, 4,114,254, 3,113,254, 3,112,254, 3,111,110, 83, 5,111,150, 3,110,109, 40, 5,110, 83, 3,109, 40, + 3,108,254, 3,107, 50, 3,106,254, 3,105, 50, 3,104,250, 3,103,187, 3,102,254, 3,101,254, 3,100,254, 3, 99, 98, 30, 5, + 99,254, 3, 98, 0, 16, 5, 98, 30, 3, 97,254, 3, 96,254, 3, 95,254, 3, 94, 90, 11, 5, 94, 14, 3, 93,100, 3, 92,200, 3, + 91, 90, 11, 5, 91, 20, 3, 90, 11, 3, 89,254, 3, 88, 20, 3, 87,254, 3, 86,254, 3, 85, 27, 25, 5, 85, 50, 3, 84,254, 3, + 83,254, 3, 82,254, 3, 81,125, 3, 80,254, 3, 79, 20, 3, 78,254, 3, 77, 1, 45, 5, 77,254, 3, 76,187, 3, 75, 40, 3, 74, + 73, 24, 5, 74, 55, 3, 73, 67, 18, 5, 73, 24, 3, 72, 69, 24, 5, 72,254, 3, 71, 67, 18, 5, 71,100, 3, 70, 69, 24, 5, 70, +187, 3, 69, 24, 3, 68, 67, 18, 5, 68, 55, 3, 67, 66, 17, 5, 67, 18, 3, 67,184, 2, 64, 64, 9, 4, 66, 65, 15, 5, 66, 17, + 3, 66,184, 2, 0, 64, 9, 4, 65, 64, 14, 5, 65, 15, 3, 65,184, 1,192, 64, 9, 4, 64, 63, 12, 5, 64, 14, 3, 64,184, 1, +128, 64, 9, 4, 63, 12, 9, 5, 63, 12, 3, 63,184, 1, 64, 64,100, 4, 62,254, 3, 61, 1, 45, 5, 61,250, 3, 60,254, 3, 59, + 40, 3, 58,254, 3, 57, 17, 66, 5, 57,100, 3, 56, 49, 26, 5, 56, 75, 3, 55,254, 3, 54, 45, 20, 5, 54,254, 3, 53, 75, 3, + 52, 48, 26, 5, 52, 75, 3, 51, 48, 26, 5, 51,254, 3, 50, 17, 66, 5, 50,254, 3, 49, 45, 20, 5, 49, 26, 3, 48, 26, 3, 47, + 45, 20, 5, 47, 24, 3, 46, 9, 22, 5, 46,187, 3, 45, 44, 19, 5, 45, 20, 3, 45,184, 2,128, 64, 9, 4, 44, 16, 17, 5, 44, + 19, 3, 44,184, 2, 64, 64,150, 4, 43, 42, 37, 5, 43,254, 3, 42, 9, 22, 5, 42, 37, 3, 41, 2, 58, 5, 41,254, 3, 40,254, + 3, 39,254, 3, 38, 15, 3, 37, 22, 66, 5, 37, 69, 3, 36, 15, 3, 35,254, 3, 34, 15, 15, 5, 34,254, 3, 33, 32, 45, 5, 33, +125, 3, 32, 45, 3, 31, 75, 3, 30, 17, 66, 5, 30,254, 3, 29,254, 3, 28, 27, 25, 5, 28,254, 3, 27, 0, 16, 5, 27, 25, 3, + 26,254, 3, 25,254, 3, 24,254, 3, 23, 22, 66, 5, 23, 70, 3, 22, 21, 45, 5, 22, 66, 3, 21, 20, 16, 5, 21, 45, 3, 20, 16, + 3, 19, 0, 16, 5, 19, 20, 3, 18, 17, 66, 5, 18,254, 3, 17, 1, 45, 5, 17, 66, 3, 16, 15, 15, 5, 16, 17, 3, 16,184, 2, + 0, 64, 9, 4, 15, 14, 12, 5, 15, 15, 3, 15,184, 1,192, 64, 9, 4, 14, 13, 10, 5, 14, 12, 3, 14,184, 1,128, 64, 9, 4, + 13, 12, 9, 5, 13, 10, 3, 13,184, 1, 64,180, 4, 12, 9, 3, 12,184, 1, 0, 64, 55, 4, 11,254, 3, 10, 9, 22, 5, 10,254, + 3, 9, 22, 3, 8, 16, 3, 7,254, 3, 6, 1, 45, 5, 6,254, 3, 5, 20, 3, 3, 2, 58, 5, 3,250, 3, 2, 1, 45, 5, 2, + 58, 3, 1, 0, 16, 5, 1, 45, 3, 0, 16, 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, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 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, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 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, 0, 0}; diff --git a/source/blender/editors/gpencil/drawgpencil.c b/source/blender/editors/gpencil/drawgpencil.c index 8e83b01fc2f..07858f7182c 100644 --- a/source/blender/editors/gpencil/drawgpencil.c +++ b/source/blender/editors/gpencil/drawgpencil.c @@ -778,7 +778,7 @@ void draw_gpencil_view2d (bContext *C, short onlyv2d) * Note: this gets called twice - first time with only3d=1 to draw 3d-strokes, second time with only3d=0 for screen-aligned strokes */ -void draw_gpencil_view3d_ext (Scene *scene, View3D *v3d, ARegion *ar, short only3d) +void draw_gpencil_view3d (Scene *scene, View3D *v3d, ARegion *ar, short only3d) { bGPdata *gpd; int dflag = 0; @@ -809,12 +809,4 @@ void draw_gpencil_view3d_ext (Scene *scene, View3D *v3d, ARegion *ar, short only gp_draw_data(gpd, rect.xmin, rect.ymin, rect.xmax, rect.ymax, CFRA, dflag); } -void draw_gpencil_view3d (bContext *C, short only3d) -{ - ARegion *ar= CTX_wm_region(C); - View3D *v3d= CTX_wm_view3d(C); - Scene *scene= CTX_data_scene(C); - draw_gpencil_view3d_ext(scene, v3d, ar, only3d); -} - /* ************************************************** */ diff --git a/source/blender/editors/include/ED_gpencil.h b/source/blender/editors/include/ED_gpencil.h index bfd16487ae5..a640b5c911c 100644 --- a/source/blender/editors/include/ED_gpencil.h +++ b/source/blender/editors/include/ED_gpencil.h @@ -78,8 +78,7 @@ void ED_operatortypes_gpencil(void); void draw_gpencil_2dimage(struct bContext *C, struct ImBuf *ibuf); void draw_gpencil_view2d(struct bContext *C, short onlyv2d); -void draw_gpencil_view3d(struct bContext *C, short only3d); -void draw_gpencil_view3d_ext(struct Scene *scene, struct View3D *v3d, struct ARegion *ar, short only3d); +void draw_gpencil_view3d(struct Scene *scene, struct View3D *v3d, struct ARegion *ar, short only3d); void gpencil_panel_standard(const struct bContext *C, struct Panel *pa); diff --git a/source/blender/editors/interface/interface_draw.c b/source/blender/editors/interface/interface_draw.c index aefe773fdad..4d2e23b5724 100644 --- a/source/blender/editors/interface/interface_draw.c +++ b/source/blender/editors/interface/interface_draw.c @@ -133,14 +133,15 @@ void uiDrawBox(int mode, float minx, float miny, float maxx, float maxy, float r glEnd(); } -static void round_box_shade_col(const float col1[3], float const col2[3], const float fac) +static void round_box_shade_col(const float col1[4], float const col2[4], const float fac) { - float col[3]; + float col[4]; col[0]= (fac*col1[0] + (1.0f-fac)*col2[0]); col[1]= (fac*col1[1] + (1.0f-fac)*col2[1]); col[2]= (fac*col1[2] + (1.0f-fac)*col2[2]); - glColor3fv(col); + col[3]= (fac*col1[3] + (1.0f-fac)*col2[3]); + glColor4fv(col); } /* linear horizontal shade within button or in outline */ @@ -151,7 +152,7 @@ void uiDrawBoxShade(int mode, float minx, float miny, float maxx, float maxy, fl {0.831, 0.45}, {0.924, 0.617}, {0.98, 0.805}}; const float div= maxy - miny; const float idiv= 1.0f / div; - float coltop[3], coldown[3], color[4]; + float coltop[4], coldown[4], color[4]; int a; /* mult */ @@ -165,9 +166,11 @@ void uiDrawBoxShade(int mode, float minx, float miny, float maxx, float maxy, fl coltop[0]= color[0]+shadetop; if(coltop[0]>1.0f) coltop[0]= 1.0f; coltop[1]= color[1]+shadetop; if(coltop[1]>1.0f) coltop[1]= 1.0f; coltop[2]= color[2]+shadetop; if(coltop[2]>1.0f) coltop[2]= 1.0f; + coltop[3]= color[3]; coldown[0]= color[0]+shadedown; if(coldown[0]<0.0f) coldown[0]= 0.0f; coldown[1]= color[1]+shadedown; if(coldown[1]<0.0f) coldown[1]= 0.0f; coldown[2]= color[2]+shadedown; if(coldown[2]<0.0f) coldown[2]= 0.0f; + coldown[3]= color[3]; glShadeModel(GL_SMOOTH); glBegin(mode); @@ -259,7 +262,7 @@ void uiDrawBoxVerticalShade(int mode, float minx, float miny, float maxx, float {0.831, 0.45}, {0.924, 0.617}, {0.98, 0.805}}; const float div= maxx - minx; const float idiv= 1.0f / div; - float colLeft[3], colRight[3], color[4]; + float colLeft[4], colRight[4], color[4]; int a; /* mult */ @@ -273,9 +276,11 @@ void uiDrawBoxVerticalShade(int mode, float minx, float miny, float maxx, float colLeft[0]= color[0]+shadeLeft; if(colLeft[0]>1.0f) colLeft[0]= 1.0f; colLeft[1]= color[1]+shadeLeft; if(colLeft[1]>1.0f) colLeft[1]= 1.0f; colLeft[2]= color[2]+shadeLeft; if(colLeft[2]>1.0f) colLeft[2]= 1.0f; + colLeft[3]= color[3]; colRight[0]= color[0]+shadeRight; if(colRight[0]<0.0f) colRight[0]= 0.0f; colRight[1]= color[1]+shadeRight; if(colRight[1]<0.0f) colRight[1]= 0.0f; colRight[2]= color[2]+shadeRight; if(colRight[2]<0.0f) colRight[2]= 0.0f; + colRight[3]= color[3]; glShadeModel(GL_SMOOTH); glBegin(mode); diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h index 84cbc84630c..b3e7417b438 100644 --- a/source/blender/editors/interface/interface_intern.h +++ b/source/blender/editors/interface/interface_intern.h @@ -119,7 +119,7 @@ typedef enum { /* internal panel drawing defines */ #define PNL_GRID (UI_UNIT_Y / 5) /* 4 default */ -#define PNL_HEADER UI_UNIT_Y /* 20 default */ +#define PNL_HEADER (UI_UNIT_Y+2) /* 20 default */ /* panel->flag */ #define PNL_SELECT 1 diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c index 17a2de56371..c69f8c69ad4 100644 --- a/source/blender/editors/interface/interface_panel.c +++ b/source/blender/editors/interface/interface_panel.c @@ -497,14 +497,15 @@ void ui_draw_aligned_panel(uiStyle *style, uiBlock *block, rcti *rect) headrect.ymax= headrect.ymin + floor(PNL_HEADER/block->aspect + 0.001f); { - float minx= rect->xmin/block->aspect; - float maxx= rect->xmax/block->aspect; + float minx= rect->xmin + 0.0f/block->aspect; + float maxx= rect->xmax - 0.0f/block->aspect; float y= headrect.ymax; glEnable(GL_BLEND); glColor4f(0.0f, 0.0f, 0.0f, 0.1f); - uiSetRoundBox(0); - uiDrawBox(GL_POLYGON, minx, headrect.ymin, maxx, y+1, 4); + glRectf(minx, y-1, maxx, y); + glColor4f(0.0f, 0.0f, 0.0f, 0.1f); + glRectf(minx, headrect.ymin, maxx, y); glDisable(GL_BLEND); } @@ -588,12 +589,12 @@ static int get_panel_header(Panel *pa) return PNL_HEADER; } -static int get_panel_size_y(uiStyle *style, Panel *pa) +static int get_panel_size_y(uiStyle *UNUSED(style), Panel *pa) { if(pa->type && (pa->type->flag & PNL_NO_HEADER)) return pa->sizey; - return PNL_HEADER + pa->sizey + style->panelouter; + return PNL_HEADER + pa->sizey; } /* this function is needed because uiBlock and Panel itself dont diff --git a/source/blender/editors/interface/interface_style.c b/source/blender/editors/interface/interface_style.c index f74f2be12bc..3b2ef025b5a 100644 --- a/source/blender/editors/interface/interface_style.c +++ b/source/blender/editors/interface/interface_style.c @@ -124,7 +124,7 @@ static uiStyle *ui_style_new(ListBase *styles, const char *name, short uifont_id style->buttonspacex= 8; style->buttonspacey= 2; style->panelspace= 8; - style->panelouter= 3; + style->panelouter= 0; return style; } diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c index a9fcf767adb..d1d891baa21 100644 --- a/source/blender/editors/interface/interface_widgets.c +++ b/source/blender/editors/interface/interface_widgets.c @@ -97,8 +97,9 @@ typedef struct uiWidgetBase { float inner_v[WIDGET_SIZE_MAX][2]; float inner_uv[WIDGET_SIZE_MAX][2]; - short inner, outline, emboss; /* set on/off */ + short inner, outline; /* set on/off */ short shadedir; + float emboss; uiWidgetTrias tria1; uiWidgetTrias tria2; @@ -211,7 +212,7 @@ static void widget_init(uiWidgetBase *wtb) wtb->inner= 1; wtb->outline= 1; - wtb->emboss= 0; + wtb->emboss= 0.015f; wtb->shadedir= 1; } @@ -750,7 +751,7 @@ static void widgetbase_draw(uiWidgetBase *wtb, uiWidgetColors *wcol) /* emboss bottom shadow */ if(wtb->emboss) { - glColor4f(1.0f, 1.0f, 1.0f, 0.02f); + glColor4f(1.0f, 1.0f, 1.0f, wtb->emboss); glVertexPointer(2, GL_FLOAT, 0, quad_strip_emboss); glDrawArrays(GL_QUAD_STRIP, 0, wtb->halfwayvert*2); @@ -1304,7 +1305,7 @@ static struct uiWidgetColors wcol_menu= { {0, 0, 0, 255}, {70, 70, 70, 255}, {70, 70, 70, 255}, - {45, 45, 45, 255}, + {35, 35, 35, 255}, {255, 255, 255, 255}, {204, 204, 204, 255}, @@ -1392,7 +1393,7 @@ static struct uiWidgetColors wcol_tool= { {255, 255, 255, 255}, 1, - 5, -5 + 10, -20 }; static struct uiWidgetColors wcol_box= { @@ -1719,7 +1720,7 @@ static void widget_menu_back(uiWidgetColors *wcol, rcti *rect, int flag, int dir widget_softshadow(rect, roundboxalign, 5.0f, 8.0f); round_box_edges(&wtb, roundboxalign, rect, 5.0f); - wtb.emboss= 0; + wtb.emboss= 0.0f; widgetbase_draw(&wtb, wcol); glDisable(GL_BLEND); @@ -2221,7 +2222,7 @@ void uiWidgetScrollDraw(uiWidgetColors *wcol, rcti *rect, rcti *slider, int stat } /* draw */ - wtb.emboss= 0; /* only emboss once */ + wtb.emboss= 0.0f; /* only emboss once */ /* exception for progress bar */ if (state & UI_SCROLL_NO_OUTLINE) @@ -2573,12 +2574,11 @@ static void widget_pulldownbut(uiWidgetColors *wcol, rcti *rect, int state, int { if(state & UI_ACTIVE) { uiWidgetBase wtb; - float rad= 0.5f*(rect->ymax - rect->ymin); // 4.0f widget_init(&wtb); /* half rounded */ - round_box_edges(&wtb, UI_CNR_ALL, rect, rad); + round_box_edges(&wtb, UI_CNR_ALL, rect, 4.0f); widgetbase_draw(&wtb, wcol); } diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index 2db00ac83c1..999c256f026 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -71,6 +71,39 @@ /* general area and region code */ +static void region_draw_emboss(ARegion *ar, rcti *scirct) +{ + rcti rect; + + /* translate scissor rect to region space */ + rect.xmin= scirct->xmin - ar->winrct.xmin; + rect.ymin= scirct->ymin - ar->winrct.ymin; + rect.xmax= scirct->xmax - ar->winrct.xmin; + rect.ymax= scirct->ymax - ar->winrct.ymin; + + /* set transp line */ + glEnable( GL_BLEND ); + glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA ); + + /* right */ + glColor4ub(0,0,0, 30); + sdrawline(rect.xmax, rect.ymin, rect.xmax, rect.ymax); + + /* bottom */ + glColor4ub(0,0,0, 30); + sdrawline(rect.xmin, rect.ymin, rect.xmax, rect.ymin); + + /* top */ + glColor4ub(255,255,255, 30); + sdrawline(rect.xmin, rect.ymax, rect.xmax, rect.ymax); + + /* left */ + glColor4ub(255,255,255, 30); + sdrawline(rect.xmin, rect.ymin, rect.xmin, rect.ymax); + + glDisable( GL_BLEND ); +} + void ED_region_pixelspace(ARegion *ar) { int width= ar->winrct.xmax-ar->winrct.xmin+1; @@ -138,15 +171,32 @@ void ED_area_overdraw_flush(ScrArea *sa, ARegion *ar) static void area_draw_azone(short x1, short y1, short x2, short y2) { - int dx= floor(0.9f*(x2-x1)); - int dy= floor(0.9f*(y2-y1)); + int dx= 0.3f*(x2-x1); + int dy= 0.3f*(y2-y1); + int i; + + glEnable(GL_BLEND); + + glColor4f(0.0f, 0.0f, 0.0f, 0.35f); - glColor4f(0.0f, 0.0f, 0.0f, 0.25f); glBegin(GL_TRIANGLES); glVertex2f(x1, y1); - glVertex2f(x1+dx, y1); - glVertex2f(x1, y1+dy); + glVertex2f(x2, y1); + glVertex2f(x1, y2); glEnd(); + + glEnable(GL_LINE_SMOOTH); + + glColor4f(1.0f, 1.0f, 1.0f, 0.25f); + + x2 += (x2 > x1)? -1: 1; + y2 += (y2 > y1)? -1: 1; + + for(i=0; i<4; i++) + fdrawline(x1, y2-i*dy, x2-i*dx, y1); + + glDisable(GL_LINE_SMOOTH); + glDisable(GL_BLEND); } static void region_draw_azone_icon(AZone *az) @@ -183,6 +233,54 @@ static void region_draw_azone_icon(AZone *az) sdrawline(midx-2, midy, midx+3, midy); } +static void draw_azone_plus(float x1, float y1, float x2, float y2) +{ + float width = 2.0f; + float pad = 4.0f; + + glRectf((x1 + x2 - width)*0.5f, y1 + pad, (x1 + x2 + width)*0.5f, y2 - pad); + glRectf(x1 + pad, (y1 + y2 - width)*0.5f, (x1 + x2 - width)*0.5f, (y1 + y2 + width)*0.5f); + glRectf((x1 + x2 + width)*0.5f, (y1 + y2 - width)*0.5f, x2 - pad, (y1 + y2 + width)*0.5f); +} + +static void region_draw_azone_tab_plus(AZone *az) +{ + float yofs= 0.0f; + + glEnable(GL_BLEND); + + /* add code to draw region hidden as 'too small' */ + switch(az->edge) { + case AE_TOP_TO_BOTTOMRIGHT: + uiSetRoundBox(UI_CNR_TOP_LEFT | UI_CNR_TOP_RIGHT); + yofs= 0.3f; + break; + case AE_BOTTOM_TO_TOPLEFT: + uiSetRoundBox(UI_CNR_BOTTOM_RIGHT | UI_CNR_BOTTOM_LEFT); + yofs= 0.3f; + break; + case AE_LEFT_TO_TOPRIGHT: + uiSetRoundBox(UI_CNR_TOP_LEFT | UI_CNR_BOTTOM_LEFT); + yofs= 0.0f; + break; + case AE_RIGHT_TO_TOPLEFT: + uiSetRoundBox(UI_CNR_TOP_RIGHT | UI_CNR_BOTTOM_RIGHT); + yofs= 0.0f; + break; + } + + glColor4f(0.0f, 0.0f, 0.0f, 0.25f); + uiRoundBox((float)az->x1, (float)az->y1, (float)az->x2, (float)az->y2, 4.0f); + + UI_ThemeColorShade(TH_BACK, 20); + draw_azone_plus((float)az->x1, (float)az->y1, (float)az->x2, (float)az->y2); + + glColor4f(0.0f, 0.0f, 0.0f, 0.35f); + uiRoundRect((float)az->x1, (float)az->y1+yofs, (float)az->x2, (float)az->y2+yofs, 4.0f); + + glDisable(GL_BLEND); +} + static void region_draw_azone_tab(AZone *az) { float col[3]; @@ -277,22 +375,20 @@ void ED_area_overdraw(bContext *C) if(az->type==AZONE_AREA) { area_draw_azone(az->x1, az->y1, az->x2, az->y2); } else if(az->type==AZONE_REGION) { - if(0) { if(az->ar) { /* only display tab or icons when the region is hidden */ if (az->ar->flag & (RGN_FLAG_HIDDEN|RGN_FLAG_TOO_SMALL)) { - - if(G.rt==2) + if(G.rt==3) + region_draw_azone_icon(az); + else if(G.rt==2) region_draw_azone_tria(az); else if(G.rt==1) region_draw_azone_tab(az); else - region_draw_azone_icon(az); + region_draw_azone_tab_plus(az); } } - - } } az->do_draw= 0; @@ -400,11 +496,11 @@ void ED_region_do_draw(bContext *C, ARegion *ar) uiFreeInactiveBlocks(C, &ar->uiblocks); - /*if(sa) - region_draw_emboss(ar, &winrct);*/ - /* XXX test: add convention to end regions always in pixel space, for drawing of borders/gestures etc */ ED_region_pixelspace(ar); + + if(sa) + region_draw_emboss(ar, &winrct); } /* ********************************** @@ -564,8 +660,112 @@ static void region_azone_edge(AZone *az, ARegion *ar) BLI_init_rcti(&az->rect, az->x1, az->x2, az->y1, az->y2); } +static void region_azone_icon(ScrArea *sa, AZone *az, ARegion *ar) +{ + AZone *azt; + int tot=0; + + /* count how many actionzones with along same edge are available. + This allows for adding more action zones in the future without + having to worry about correct offset */ + for(azt= sa->actionzones.first; azt; azt= azt->next) { + if(azt->edge == az->edge) tot++; + } + + switch(az->edge) { + case AE_TOP_TO_BOTTOMRIGHT: + az->x1= ar->winrct.xmax - tot*2*AZONEPAD_ICON; + az->y1= ar->winrct.ymax + AZONEPAD_ICON; + az->x2= ar->winrct.xmax - tot*AZONEPAD_ICON; + az->y2= ar->winrct.ymax + 2*AZONEPAD_ICON; + break; + case AE_BOTTOM_TO_TOPLEFT: + az->x1= ar->winrct.xmin + AZONEPAD_ICON; + az->y1= ar->winrct.ymin - 2*AZONEPAD_ICON; + az->x2= ar->winrct.xmin + 2*AZONEPAD_ICON; + az->y2= ar->winrct.ymin - AZONEPAD_ICON; + break; + case AE_LEFT_TO_TOPRIGHT: + az->x1= ar->winrct.xmin - 2*AZONEPAD_ICON; + az->y1= ar->winrct.ymax - tot*2*AZONEPAD_ICON; + az->x2= ar->winrct.xmin - AZONEPAD_ICON; + az->y2= ar->winrct.ymax - tot*AZONEPAD_ICON; + break; + case AE_RIGHT_TO_TOPLEFT: + az->x1= ar->winrct.xmax + AZONEPAD_ICON; + az->y1= ar->winrct.ymax - tot*2*AZONEPAD_ICON; + az->x2= ar->winrct.xmax + 2*AZONEPAD_ICON; + az->y2= ar->winrct.ymax - tot*AZONEPAD_ICON; + break; + } + + BLI_init_rcti(&az->rect, az->x1, az->x2, az->y1, az->y2); + + /* if more azones on 1 spot, set offset */ + for(azt= sa->actionzones.first; azt; azt= azt->next) { + if(az!=azt) { + if( ABS(az->x1-azt->x1) < 2 && ABS(az->y1-azt->y1) < 2) { + if(az->edge==AE_TOP_TO_BOTTOMRIGHT || az->edge==AE_BOTTOM_TO_TOPLEFT) { + az->x1+= AZONESPOT; + az->x2+= AZONESPOT; + } + else{ + az->y1-= AZONESPOT; + az->y2-= AZONESPOT; + } + BLI_init_rcti(&az->rect, az->x1, az->x2, az->y1, az->y2); + } + } + } +} + +#define AZONEPAD_TAB_PLUSW 16 +#define AZONEPAD_TAB_PLUSH 16 + +/* region already made zero sized, in shape of edge */ +static void region_azone_tab_plus(ScrArea *sa, AZone *az, ARegion *ar) +{ + AZone *azt; + int tot= 0, add; + + for(azt= sa->actionzones.first; azt; azt= azt->next) { + if(azt->edge == az->edge) tot++; + } + + switch(az->edge) { + case AE_TOP_TO_BOTTOMRIGHT: + if(ar->winrct.ymax == sa->totrct.ymin) add= 1; else add= 0; + az->x1= ar->winrct.xmax - 2.5*AZONEPAD_TAB_PLUSW; + az->y1= ar->winrct.ymax - add; + az->x2= ar->winrct.xmax - 1.5*AZONEPAD_TAB_PLUSW; + az->y2= ar->winrct.ymax - add + AZONEPAD_TAB_PLUSH; + break; + case AE_BOTTOM_TO_TOPLEFT: + az->x1= ar->winrct.xmax - 2.5*AZONEPAD_TAB_PLUSW; + az->y1= ar->winrct.ymin - AZONEPAD_TAB_PLUSH; + az->x2= ar->winrct.xmax - 1.5*AZONEPAD_TAB_PLUSW; + az->y2= ar->winrct.ymin; + break; + case AE_LEFT_TO_TOPRIGHT: + az->x1= ar->winrct.xmin + 1 - AZONEPAD_TAB_PLUSH; + az->y1= ar->winrct.ymax - 2.5*AZONEPAD_TAB_PLUSW; + az->x2= ar->winrct.xmin + 1; + az->y2= ar->winrct.ymax - 1.5*AZONEPAD_TAB_PLUSW; + break; + case AE_RIGHT_TO_TOPLEFT: + az->x1= ar->winrct.xmax - 1; + az->y1= ar->winrct.ymax - 2.5*AZONEPAD_TAB_PLUSW; + az->x2= ar->winrct.xmax - 1 + AZONEPAD_TAB_PLUSH; + az->y2= ar->winrct.ymax - 1.5*AZONEPAD_TAB_PLUSW; + break; + } + /* rect needed for mouse pointer test */ + BLI_init_rcti(&az->rect, az->x1, az->x2, az->y1, az->y2); +} + + #define AZONEPAD_TABW 18 -#define AZONEPAD_TABH 7 +#define AZONEPAD_TABH 6 /* region already made zero sized, in shape of edge */ static void region_azone_tab(ScrArea *sa, AZone *az, ARegion *ar) @@ -656,19 +856,30 @@ static void region_azone_tria(ScrArea *sa, AZone *az, ARegion *ar) static void region_azone_initialize(ScrArea *sa, ARegion *ar, AZEdge edge) { - if(!(ar->flag & RGN_FLAG_HIDDEN)) { - AZone *az; - - az= (AZone *)MEM_callocN(sizeof(AZone), "actionzone"); - BLI_addtail(&(sa->actionzones), az); - az->type= AZONE_REGION; - az->ar= ar; - az->edge= edge; - + AZone *az; + + az= (AZone *)MEM_callocN(sizeof(AZone), "actionzone"); + BLI_addtail(&(sa->actionzones), az); + az->type= AZONE_REGION; + az->ar= ar; + az->edge= edge; + + if (ar->flag & (RGN_FLAG_HIDDEN|RGN_FLAG_TOO_SMALL)) { + if(G.rt==3) + region_azone_icon(sa, az, ar); + else if(G.rt==2) + region_azone_tria(sa, az, ar); + else if(G.rt==1) + region_azone_tab(sa, az, ar); + else + region_azone_tab_plus(sa, az, ar); + } else { region_azone_edge(az, ar); } + } + /* *************************************************************** */ static void region_azone_add(ScrArea *sa, ARegion *ar, int alignment) diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c index 6cad8f3487a..f5e3941cf4c 100644 --- a/source/blender/editors/space_view3d/drawmesh.c +++ b/source/blender/editors/space_view3d/drawmesh.c @@ -41,7 +41,6 @@ #include "BLI_utildefines.h" #include "DNA_material_types.h" -#include "DNA_node_types.h" #include "DNA_meshdata_types.h" #include "DNA_property_types.h" #include "DNA_scene_types.h" @@ -53,14 +52,10 @@ #include "BKE_effect.h" #include "BKE_image.h" #include "BKE_material.h" -#include "BKE_node.h" #include "BKE_paint.h" #include "BKE_property.h" #include "BKE_scene.h" -#include "IMB_imbuf.h" -#include "IMB_imbuf_types.h" - #include "BIF_gl.h" #include "BIF_glutil.h" @@ -685,7 +680,7 @@ void draw_mesh_textured_old(Scene *scene, View3D *v3d, RegionView3D *rv3d, Objec glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); } -/************************** NEW SHADING SYSTEM ********************************/ +/************************** NEW SHADING NODES ********************************/ typedef struct TexMatCallback { Scene *scene; @@ -808,10 +803,7 @@ void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *o set_face_cb= NULL; /* test if we can use glsl */ - glsl= GPU_glsl_support(); - - if(v3d->drawtype == OB_TEXTURE) - glsl= (scene->gm.matmode == GAME_MAT_GLSL); + glsl= (v3d->drawtype == OB_MATERIAL) && GPU_glsl_support(); GPU_begin_object_materials(v3d, rv3d, scene, ob, glsl, NULL); diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c index 60f45ba5477..3eedeb3e233 100644 --- a/source/blender/editors/space_view3d/space_view3d.c +++ b/source/blender/editors/space_view3d/space_view3d.c @@ -92,7 +92,7 @@ ARegion *view3d_has_buttons_region(ScrArea *sa) return arnew; } -void view3d_has_tools_region(ScrArea *sa, ARegion **r_artool, ARegion **r_arprops) +ARegion *view3d_has_tools_region(ScrArea *sa) { ARegion *ar, *artool=NULL, *arprops=NULL, *arhead; @@ -104,11 +104,7 @@ void view3d_has_tools_region(ScrArea *sa, ARegion **r_artool, ARegion **r_arprop } /* tool region hide/unhide also hides props */ - if(arprops && artool) { - *r_artool= artool; - *r_arprops= arprops; - return; - } + if(arprops && artool) return artool; if(artool==NULL) { /* add subdiv level; after header */ @@ -117,11 +113,7 @@ void view3d_has_tools_region(ScrArea *sa, ARegion **r_artool, ARegion **r_arprop break; /* is error! */ - if(arhead==NULL) { - *r_artool= NULL; - *r_arprops= NULL; - return; - } + if(arhead==NULL) return NULL; artool= MEM_callocN(sizeof(ARegion), "tools for view3d"); @@ -139,9 +131,8 @@ void view3d_has_tools_region(ScrArea *sa, ARegion **r_artool, ARegion **r_arprop arprops->regiontype= RGN_TYPE_TOOL_PROPS; arprops->alignment= RGN_ALIGN_BOTTOM|RGN_SPLIT_PREV; } - - *r_artool= artool; - *r_arprops= arprops; + + return artool; } /* ****************************************************** */ diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index d2264929149..936699c5b56 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -1918,7 +1918,7 @@ void draw_depth_gpencil(Scene *scene, ARegion *ar, View3D *v3d) v3d->zbuf= TRUE; glEnable(GL_DEPTH_TEST); - draw_gpencil_view3d_ext(scene, v3d, ar, 1); + draw_gpencil_view3d(scene, v3d, ar, 1); v3d->zbuf= zbuf; @@ -2340,7 +2340,7 @@ void ED_view3d_draw_offscreen(Scene *scene, View3D *v3d, ARegion *ar, int winx, /* must be before xray draw which clears the depth buffer */ if(v3d->zbuf) glDisable(GL_DEPTH_TEST); - draw_gpencil_view3d_ext(scene, v3d, ar, 1); + draw_gpencil_view3d(scene, v3d, ar, 1); if(v3d->zbuf) glEnable(GL_DEPTH_TEST); /* transp and X-ray afterdraw stuff */ @@ -2361,7 +2361,7 @@ void ED_view3d_draw_offscreen(Scene *scene, View3D *v3d, ARegion *ar, int winx, ED_region_pixelspace(ar); /* draw grease-pencil stuff - needed to get paint-buffer shown too (since it's 2D) */ - draw_gpencil_view3d_ext(scene, v3d, ar, 0); + draw_gpencil_view3d(scene, v3d, ar, 0); /* freeing the images again here could be done after the operator runs, leaving for now */ GPU_free_images_anim(); @@ -2578,20 +2578,14 @@ static void view3d_main_area_draw_engine_info(RegionView3D *rv3d, ARegion *ar) } /* warning: this function has duplicate drawing in ED_view3d_draw_offscreen() */ -void view3d_main_area_draw(const bContext *C, ARegion *ar) +static void view3d_main_area_draw_objects(const bContext *C, ARegion *ar, const char **grid_unit) { Scene *scene= CTX_data_scene(C); View3D *v3d = CTX_wm_view3d(C); RegionView3D *rv3d= CTX_wm_region_view3d(C); Base *base; - Object *ob; float backcol[3]; unsigned int lay_used; - const char *grid_unit= NULL; - - /* possible use (external) render engine instead */ - if(v3d->drawtype == OB_RENDER && view3d_main_area_draw_engine(C, ar)); - else { /* shadow buffers, before we setup matrices */ if(draw_glsl_material(scene, NULL, v3d, v3d->drawtype)) @@ -2641,7 +2635,7 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar) if((rv3d->view == RV3D_VIEW_USER) || (rv3d->persp != RV3D_ORTHO)) { if ((v3d->flag2 & V3D_RENDER_OVERRIDE)==0) { - drawfloor(scene, v3d, &grid_unit); + drawfloor(scene, v3d, grid_unit); } if(rv3d->persp==RV3D_CAMOB) { if(scene->world) { @@ -2658,7 +2652,7 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar) else { if ((v3d->flag2 & V3D_RENDER_OVERRIDE)==0) { ED_region_pixelspace(ar); - drawgrid(&scene->unit, ar, v3d, &grid_unit); + drawgrid(&scene->unit, ar, v3d, grid_unit); /* XXX make function? replaces persp(1) */ glMatrixMode(GL_PROJECTION); glLoadMatrixf(rv3d->winmat); @@ -2733,7 +2727,7 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar) if ((v3d->flag2 & V3D_RENDER_OVERRIDE)==0) { /* must be before xray draw which clears the depth buffer */ if(v3d->zbuf) glDisable(GL_DEPTH_TEST); - draw_gpencil_view3d((bContext *)C, 1); + draw_gpencil_view3d(scene, v3d, ar, 1); if(v3d->zbuf) glEnable(GL_DEPTH_TEST); } @@ -2766,15 +2760,16 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar) // TODO: draw something else (but not this) during fly mode draw_rotation_guide(rv3d); - ED_region_pixelspace(ar); +} - } - -// retopo_paint_view_update(v3d); -// retopo_draw_paint_lines(); - - /* Draw particle edit brush XXX (removed) */ - +static void view3d_main_area_draw_info(const bContext *C, ARegion *ar, const char *grid_unit) +{ + Scene *scene= CTX_data_scene(C); + View3D *v3d = CTX_wm_view3d(C); + RegionView3D *rv3d= CTX_wm_region_view3d(C); + bScreen *screen= CTX_wm_screen(C); + + Object *ob; if(rv3d->persp==RV3D_CAMOB) drawviewborder(scene, ar, v3d); @@ -2782,7 +2777,7 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar) if ((v3d->flag2 & V3D_RENDER_OVERRIDE)==0) { /* draw grease-pencil stuff - needed to get paint-buffer shown too (since it's 2D) */ // if (v3d->flag2 & V3D_DISPGP) - draw_gpencil_view3d((bContext *)C, 0); + draw_gpencil_view3d(scene, v3d, ar, 0); drawcursor(scene, ar, v3d); } @@ -2794,31 +2789,44 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar) if(rv3d->render_engine) { view3d_main_area_draw_engine_info(rv3d, ar); + return; } - else { - if((U.uiflag & USER_SHOW_FPS) && (CTX_wm_screen(C)->animtimer)) { - draw_viewport_fps(scene, ar); - } - else if(U.uiflag & USER_SHOW_VIEWPORTNAME) { - draw_viewport_name(ar, v3d); - } - if (grid_unit) { /* draw below the viewport name */ - char tstr[32]= ""; - UI_ThemeColor(TH_TEXT_HI); - if(v3d->grid != 1.0f) { - BLI_snprintf(tstr, sizeof(tstr), "%s x %.4g", grid_unit, v3d->grid); - } + if((U.uiflag & USER_SHOW_FPS) && screen->animtimer) { + draw_viewport_fps(scene, ar); + } + else if(U.uiflag & USER_SHOW_VIEWPORTNAME) { + draw_viewport_name(ar, v3d); + } + if (grid_unit) { /* draw below the viewport name */ + char tstr[32]= ""; - BLF_draw_default_ascii(22, ar->winy-(USER_SHOW_VIEWPORTNAME?40:20), 0.0f, tstr[0]?tstr : grid_unit, sizeof(tstr)); /* XXX, use real length */ + UI_ThemeColor(TH_TEXT_HI); + if(v3d->grid != 1.0f) { + BLI_snprintf(tstr, sizeof(tstr), "%s x %.4g", grid_unit, v3d->grid); } - ob= OBACT; - if(U.uiflag & USER_DRAWVIEWINFO) - draw_selected_name(scene, ob); + BLF_draw_default_ascii(22, ar->winy-(USER_SHOW_VIEWPORTNAME?40:20), 0.0f, tstr[0]?tstr : grid_unit, sizeof(tstr)); /* XXX, use real length */ + } + + ob= OBACT; + if(U.uiflag & USER_DRAWVIEWINFO) + draw_selected_name(scene, ob); +} + +void view3d_main_area_draw(const bContext *C, ARegion *ar) +{ + View3D *v3d = CTX_wm_view3d(C); + const char *grid_unit= NULL; + + /* draw viewport using external renderer? */ + if(!(v3d->drawtype == OB_RENDER && view3d_main_area_draw_engine(C, ar))) { + /* draw viewport using opengl */ + view3d_main_area_draw_objects(C, ar, &grid_unit); + ED_region_pixelspace(ar); } - /* XXX here was the blockhandlers for floating panels */ + view3d_main_area_draw_info(C, ar, grid_unit); v3d->flag |= V3D_INVALID_BACKBUF; } diff --git a/source/blender/editors/space_view3d/view3d_intern.h b/source/blender/editors/space_view3d/view3d_intern.h index e19b7591f5d..ab3ce37ff15 100644 --- a/source/blender/editors/space_view3d/view3d_intern.h +++ b/source/blender/editors/space_view3d/view3d_intern.h @@ -177,7 +177,6 @@ void view3d_buttons_register(struct ARegionType *art); /* view3d_toolbar.c */ void VIEW3D_OT_toolshelf(struct wmOperatorType *ot); -void VIEW3D_OT_tool_properties(struct wmOperatorType *ot); void view3d_toolshelf_register(struct ARegionType *art); void view3d_tool_props_register(struct ARegionType *art); @@ -193,7 +192,7 @@ void VIEW3D_OT_snap_cursor_to_active(struct wmOperatorType *ot); /* space_view3d.c */ ARegion *view3d_has_buttons_region(ScrArea *sa); -void view3d_has_tools_region(ScrArea *sa, ARegion **artool, ARegion **arprops); +ARegion *view3d_has_tools_region(ScrArea *sa); extern const char *view3d_context_dir[]; /* doc access */ diff --git a/source/blender/editors/space_view3d/view3d_ops.c b/source/blender/editors/space_view3d/view3d_ops.c index c9428e45dc9..8416b37fd5e 100644 --- a/source/blender/editors/space_view3d/view3d_ops.c +++ b/source/blender/editors/space_view3d/view3d_ops.c @@ -96,7 +96,6 @@ void view3d_operatortypes(void) WM_operatortype_append(VIEW3D_OT_properties); WM_operatortype_append(VIEW3D_OT_toolshelf); - WM_operatortype_append(VIEW3D_OT_tool_properties); WM_operatortype_append(VIEW3D_OT_snap_selected_to_grid); WM_operatortype_append(VIEW3D_OT_snap_selected_to_cursor); diff --git a/source/blender/editors/space_view3d/view3d_toolbar.c b/source/blender/editors/space_view3d/view3d_toolbar.c index a3b9e008fa0..58058722a82 100644 --- a/source/blender/editors/space_view3d/view3d_toolbar.c +++ b/source/blender/editors/space_view3d/view3d_toolbar.c @@ -249,12 +249,10 @@ void view3d_tool_props_register(ARegionType *art) static int view3d_toolshelf(bContext *C, wmOperator *UNUSED(op)) { ScrArea *sa= CTX_wm_area(C); - ARegion *artool, *arprops; + ARegion *ar= view3d_has_tools_region(sa); - view3d_has_tools_region(sa, &artool, &arprops); - - if(artool) - ED_region_toggle_hidden(C, artool); + if(ar) + ED_region_toggle_hidden(C, ar); return OPERATOR_FINISHED; } @@ -271,37 +269,3 @@ void VIEW3D_OT_toolshelf(wmOperatorType *ot) /* flags */ ot->flag= 0; } - -/* ********** operator to open/close toolshelf region */ - -static int view3d_tool_properties(bContext *C, wmOperator *UNUSED(op)) -{ - ScrArea *sa= CTX_wm_area(C); - ARegion *artool, *arprops; - - view3d_has_tools_region(sa, &artool, &arprops); - - if(artool && (artool->flag & RGN_FLAG_HIDDEN)) { - ED_region_toggle_hidden(C, artool); - - if(arprops && (arprops->flag & RGN_FLAG_HIDDEN)) - ED_region_toggle_hidden(C, arprops); - } - else if(arprops) - ED_region_toggle_hidden(C, arprops); - - return OPERATOR_FINISHED; -} - -void VIEW3D_OT_tool_properties(wmOperatorType *ot) -{ - ot->name= "Tool Properties"; - ot->description= "Toggles tool properties display"; - ot->idname= "VIEW3D_OT_tool_properties"; - - ot->exec= view3d_tool_properties; - ot->poll= ED_operator_view3d_active; - - /* flags */ - ot->flag= 0; -} From f673fc92930836a4df2a3f3552e3a106ea966a02 Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Mon, 24 Oct 2011 20:02:34 +0000 Subject: [PATCH 186/241] * Remove view3d.tool_properties reference from UI after removal of this operator. --- release/scripts/startup/bl_ui/space_view3d.py | 1 - 1 file changed, 1 deletion(-) diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index e927f321b4b..8687517bd14 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -282,7 +282,6 @@ class VIEW3D_MT_view(Menu): layout.operator("view3d.properties", icon='MENU_PANEL') layout.operator("view3d.toolshelf", icon='MENU_PANEL') - layout.operator("view3d.tool_properties", icon='MENU_PANEL') layout.separator() From 996f2cd8b2362779e16fdfbd3913231c38e4a623 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 29 Oct 2011 14:24:06 +0000 Subject: [PATCH 187/241] Cycles: fix blenderplayer build error. --- source/blenderplayer/bad_level_call_stubs/stubs.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/blenderplayer/bad_level_call_stubs/stubs.c b/source/blenderplayer/bad_level_call_stubs/stubs.c index bc7ab9a9bdb..80a49ed5ff5 100644 --- a/source/blenderplayer/bad_level_call_stubs/stubs.c +++ b/source/blenderplayer/bad_level_call_stubs/stubs.c @@ -73,6 +73,7 @@ struct Object; struct PBVHNode; struct Render; struct RenderEngine; +struct RenderEngineType; struct RenderLayer; struct RenderResult; struct ScrArea; @@ -393,6 +394,7 @@ void RE_engines_exit() {} void RE_engine_report(struct RenderEngine *engine, int type, const char *msg) {} ListBase R_engines = {NULL, NULL}; void RE_engine_free(struct RenderEngine *engine) {} +struct RenderEngineType *RE_engines_find(const char *idname) {} /* python */ struct wmOperatorType *WM_operatortype_find(const char *idname, int quiet){return (struct wmOperatorType *) NULL;} From 238f3a7d343875992f5b9c2ad657f2bc6f148938 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 29 Oct 2011 14:27:24 +0000 Subject: [PATCH 188/241] Cycles: seed value to get different noise values from renders, there was a patch for this but I've implemented it differently. --- intern/cycles/blender/addon/properties.py | 3 +++ intern/cycles/blender/addon/ui.py | 3 ++- intern/cycles/blender/blender_sync.cpp | 2 ++ intern/cycles/kernel/kernel_random.h | 6 ++++++ intern/cycles/kernel/kernel_types.h | 4 +++- intern/cycles/render/integrator.cpp | 9 ++++++++- intern/cycles/render/integrator.h | 3 +++ intern/cycles/util/util_hash.h | 5 +++++ 8 files changed, 32 insertions(+), 3 deletions(-) diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index 6fab3ecaa68..0d30307fc73 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -78,6 +78,9 @@ class CyclesRenderSettings(bpy.types.PropertyGroup): cls.filter_width = FloatProperty(name="Filter Width", description="Pixel filter width", default=1.5, min=0.01, max=10.0) + cls.seed = IntProperty(name="Seed", description="Seed value for integrator to get different noise patterns", + default=0, min=0, max=2147483647) + cls.debug_tile_size = IntProperty(name="Tile Size", description="", default=1024, min=1, max=4096) cls.debug_min_size = IntProperty(name="Min Size", description="", diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index f9e178a2d3a..ca077a50ad6 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -62,13 +62,13 @@ class CyclesRender_PT_integrator(CyclesButtonsPanel, Panel): sub.label(text="Samples:") sub.prop(cscene, "samples", text="Render") sub.prop(cscene, "preview_samples", text="Preview") + sub.prop(cscene, "seed") sub = col.column(align=True) sub.label("Transparency:") sub.prop(cscene, "transparent_max_bounces", text="Max") sub.prop(cscene, "transparent_min_bounces", text="Min") sub.prop(cscene, "use_transparent_shadows", text="Shadows") - sub.prop(cscene, "no_caustics") col = split.column() @@ -82,6 +82,7 @@ class CyclesRender_PT_integrator(CyclesButtonsPanel, Panel): sub.prop(cscene, "diffuse_bounces", text="Diffuse") sub.prop(cscene, "glossy_bounces", text="Glossy") sub.prop(cscene, "transmission_bounces", text="Transmission") + sub.prop(cscene, "no_caustics") #row = col.row() #row.prop(cscene, "blur_caustics") diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index 4babb612bdd..3a9514efa3c 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -151,6 +151,8 @@ void BlenderSync::sync_integrator() integrator->no_caustics = get_boolean(cscene, "no_caustics"); integrator->blur_caustics = get_float(cscene, "blur_caustics"); + integrator->seed = get_int(cscene, "seed"); + if(integrator->modified(previntegrator)) integrator->tag_update(scene); } diff --git a/intern/cycles/kernel/kernel_random.h b/intern/cycles/kernel/kernel_random.h index 13cf4df8b8c..df876e6f726 100644 --- a/intern/cycles/kernel/kernel_random.h +++ b/intern/cycles/kernel/kernel_random.h @@ -128,11 +128,15 @@ __device_inline void path_rng_init(KernelGlobals *kg, __global uint *rng_state, *rng = sobol_lookup(bits, frame, x, y, &px, &py); + *rng ^= kernel_data.integrator.seed; + *fx = size * (float)px * (1.0f/(float)0xFFFFFFFF) - x; *fy = size * (float)py * (1.0f/(float)0xFFFFFFFF) - y; #else *rng = rng_state[x + y*kernel_data.cam.width]; + *rng ^= kernel_data.integrator.seed; + *fx = path_rng(kg, rng, sample, PRNG_FILTER_U); *fy = path_rng(kg, rng, sample, PRNG_FILTER_V); #endif @@ -159,6 +163,8 @@ __device void path_rng_init(KernelGlobals *kg, __global uint *rng_state, int sam /* load state */ *rng = rng_state[x + y*kernel_data.cam.width]; + *rng ^= kernel_data.integrator.seed; + *fx = path_rng(kg, rng, sample, PRNG_FILTER_U); *fy = path_rng(kg, rng, sample, PRNG_FILTER_V); } diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index d8270b2cd71..46cdcd1151e 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -362,7 +362,6 @@ typedef struct KernelIntegrator { int num_all_lights; float pdf_triangles; float pdf_lights; - float pdf_pad; /* bounces */ int min_bounce; @@ -380,6 +379,9 @@ typedef struct KernelIntegrator { /* caustics */ int no_caustics; float blur_caustics; + + /* seed */ + int seed; } KernelIntegrator; typedef struct KernelBVH { diff --git a/intern/cycles/render/integrator.cpp b/intern/cycles/render/integrator.cpp index 78ea464d836..9d129d8e8db 100644 --- a/intern/cycles/render/integrator.cpp +++ b/intern/cycles/render/integrator.cpp @@ -21,6 +21,8 @@ #include "scene.h" #include "sobol.h" +#include "util_hash.h" + CCL_NAMESPACE_BEGIN Integrator::Integrator() @@ -41,6 +43,8 @@ Integrator::Integrator() no_caustics = false; blur_caustics = 0.0f; + seed = 0; + need_update = true; } @@ -79,6 +83,8 @@ void Integrator::device_update(Device *device, DeviceScene *dscene) kintegrator->no_caustics = no_caustics; kintegrator->blur_caustics = blur_caustics; + kintegrator->seed = hash_int(seed); + /* sobol directions table */ int dimensions = PRNG_BASE_NUM + (max_bounce + transparent_max_bounce + 2)*PRNG_BOUNCE_NUM; uint *directions = dscene->sobol_directions.resize(SOBOL_BITS*dimensions); @@ -109,7 +115,8 @@ bool Integrator::modified(const Integrator& integrator) transparent_probalistic == integrator.transparent_probalistic && transparent_shadows == integrator.transparent_shadows && no_caustics == integrator.no_caustics && - blur_caustics == integrator.blur_caustics); + blur_caustics == integrator.blur_caustics && + seed == integrator.seed); } void Integrator::tag_update(Scene *scene) diff --git a/intern/cycles/render/integrator.h b/intern/cycles/render/integrator.h index 5bab4470089..52032fa1a26 100644 --- a/intern/cycles/render/integrator.h +++ b/intern/cycles/render/integrator.h @@ -42,6 +42,9 @@ public: bool no_caustics; float blur_caustics; + + int seed; + bool need_update; Integrator(); diff --git a/intern/cycles/util/util_hash.h b/intern/cycles/util/util_hash.h index 0b7164403f2..af7ad7e06a1 100644 --- a/intern/cycles/util/util_hash.h +++ b/intern/cycles/util/util_hash.h @@ -44,6 +44,11 @@ static unsigned int hash_int_2d(unsigned int kx, unsigned int ky) #undef rot } +static unsigned int hash_int(unsigned int k) +{ + return hash_int_2d(k, 0); +} + CCL_NAMESPACE_END #endif /* __UTIL_HASH_H__ */ From bb379c06e914c0a38910343fbee9595fe1dac2c3 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 30 Oct 2011 10:12:34 +0000 Subject: [PATCH 189/241] Cycles: progress printing in background mode, print finished at the end and avoid duplicate prints. --- intern/cycles/blender/blender_session.cpp | 14 ++++++++++++-- intern/cycles/blender/blender_session.h | 3 +++ intern/cycles/render/session.cpp | 8 ++++++-- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp index c6f016b7971..4fa87815601 100644 --- a/intern/cycles/blender/blender_session.cpp +++ b/intern/cycles/blender/blender_session.cpp @@ -76,6 +76,10 @@ void BlenderSession::create_session() SceneParams scene_params = BlenderSync::get_scene_params(b_scene); SessionParams session_params = BlenderSync::get_session_params(b_scene, background); + /* reset status/progress */ + last_status= ""; + last_progress= -1.0f; + /* create scene */ scene = new Scene(scene_params); @@ -264,8 +268,14 @@ void BlenderSession::update_status_progress() if(substatus.size() > 0) status += " | " + substatus; - RE_engine_update_stats((RenderEngine*)b_engine.ptr.data, "", status.c_str()); - RE_engine_update_progress((RenderEngine*)b_engine.ptr.data, progress); + if(status != last_status) { + RE_engine_update_stats((RenderEngine*)b_engine.ptr.data, "", status.c_str()); + last_status = status; + } + if(progress != last_progress) { + RE_engine_update_progress((RenderEngine*)b_engine.ptr.data, progress); + last_progress = progress; + } } void BlenderSession::tag_update() diff --git a/intern/cycles/blender/blender_session.h b/intern/cycles/blender/blender_session.h index 8608ddd2658..e30b60c3d63 100644 --- a/intern/cycles/blender/blender_session.h +++ b/intern/cycles/blender/blender_session.h @@ -70,6 +70,9 @@ public: BL::SpaceView3D b_v3d; BL::RegionView3D b_rv3d; + string last_status; + float last_progress; + int width, height; }; diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp index 50f7017bacf..2deb83674cc 100644 --- a/intern/cycles/render/session.cpp +++ b/intern/cycles/render/session.cpp @@ -170,8 +170,10 @@ void Session::run_gpu() if(params.background) { /* if no work left and in background mode, we can stop immediately */ - if(no_tiles) + if(no_tiles) { + progress.set_status("Finished"); break; + } } else { /* if in interactive mode, and we are either paused or done for now, @@ -305,8 +307,10 @@ void Session::run_cpu() if(params.background) { /* if no work left and in background mode, we can stop immediately */ - if(no_tiles) + if(no_tiles) { + progress.set_status("Finished"); break; + } } else { /* if in interactive mode, and we are either paused or done for now, From 02fae3440c8b4b89aa0f9412bc4e0db60a787c13 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 2 Nov 2011 15:15:45 +0000 Subject: [PATCH 190/241] Cycles: RenderEngine api code tweaks, also ensuring it's backwards compatible. --- intern/cycles/blender/addon/__init__.py | 2 +- source/blender/editors/render/render_update.c | 8 +-- source/blender/makesrna/intern/rna_render.c | 37 ++++++++---- .../blender/render/extern/include/RE_engine.h | 14 +++-- .../render/intern/include/render_types.h | 1 + .../render/intern/source/external_engine.c | 16 +++-- .../blender/render/intern/source/pipeline.c | 59 +++++++------------ source/blender/windowmanager/intern/wm_draw.c | 4 +- 8 files changed, 74 insertions(+), 67 deletions(-) diff --git a/intern/cycles/blender/addon/__init__.py b/intern/cycles/blender/addon/__init__.py index 4a5b78300bf..979e3e872d7 100644 --- a/intern/cycles/blender/addon/__init__.py +++ b/intern/cycles/blender/addon/__init__.py @@ -54,7 +54,7 @@ class CyclesRender(bpy.types.RenderEngine): engine.create(self, data, scene) engine.update(self, data, scene) - def render(self): + def render(self, scene): engine.render(self) # preview render diff --git a/source/blender/editors/render/render_update.c b/source/blender/editors/render/render_update.c index b6cf5be41e6..72ea79fae7e 100644 --- a/source/blender/editors/render/render_update.c +++ b/source/blender/editors/render/render_update.c @@ -88,12 +88,12 @@ void ED_render_engine_update_tagged(bContext *C, Main *bmain) rv3d= ar->regiondata; engine= rv3d->render_engine; - if(engine && engine->do_update) { + if(engine && (engine->flag & RE_ENGINE_DO_UPDATE)) { CTX_wm_screen_set(C, sc); CTX_wm_area_set(C, sa); CTX_wm_region_set(C, ar); - engine->do_update= 0; + engine->flag &= ~RE_ENGINE_DO_UPDATE; engine->type->view_update(engine, C); } } @@ -134,7 +134,7 @@ void ED_render_engine_changed(Main *bmain) } } -void tag_render_engines(Main *bmain) +static void tag_render_engines(Main *bmain) { /* tag running render engines for update later on */ bScreen *sc; @@ -154,7 +154,7 @@ void tag_render_engines(Main *bmain) rv3d= ar->regiondata; if(rv3d->render_engine) - rv3d->render_engine->do_update= 1; + rv3d->render_engine->flag |= RE_ENGINE_DO_UPDATE; } } } diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c index da6cd02cfbc..ef9bf6a9e02 100644 --- a/source/blender/makesrna/intern/rna_render.c +++ b/source/blender/makesrna/intern/rna_render.c @@ -48,18 +48,18 @@ #include "BKE_context.h" #include "BKE_report.h" +/* RenderEngine Callbacks */ + void engine_tag_redraw(RenderEngine *engine) { - engine->do_draw = 1; + engine->flag |= RE_ENGINE_DO_DRAW; } void engine_tag_update(RenderEngine *engine) { - engine->do_update = 1; + engine->flag |= RE_ENGINE_DO_UPDATE; } -/* RenderEngine Callbacks */ - static void engine_update(RenderEngine *engine, Main *bmain, Scene *scene) { extern FunctionRNA rna_RenderEngine_update_func; @@ -78,7 +78,7 @@ static void engine_update(RenderEngine *engine, Main *bmain, Scene *scene) RNA_parameter_list_free(&list); } -static void engine_render(RenderEngine *engine) +static void engine_render(RenderEngine *engine, struct Scene *scene) { extern FunctionRNA rna_RenderEngine_render_func; PointerRNA ptr; @@ -89,6 +89,7 @@ static void engine_render(RenderEngine *engine) func= &rna_RenderEngine_render_func; RNA_parameter_list_create(&list, &ptr, func); + RNA_parameter_set_lookup(&list, "scene", &scene); engine->type->ext.call(NULL, &ptr, func, &list); RNA_parameter_list_free(&list); @@ -314,41 +315,44 @@ static void rna_def_render_engine(BlenderRNA *brna) /* final render callbacks */ func= RNA_def_function(srna, "update", NULL); RNA_def_function_ui_description(func, "Export scene data for render"); - RNA_def_function_flag(func, FUNC_REGISTER); + RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL); RNA_def_pointer(func, "data", "BlendData", "", ""); RNA_def_pointer(func, "scene", "Scene", "", ""); func= RNA_def_function(srna, "render", NULL); - RNA_def_function_ui_description(func, "Execute render"); - RNA_def_function_flag(func, FUNC_REGISTER); + RNA_def_function_ui_description(func, "Render scene into an image"); + RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL); + RNA_def_pointer(func, "scene", "Scene", "", ""); /* preview render callbacks */ func= RNA_def_function(srna, "preview_update", NULL); RNA_def_function_ui_description(func, "Export scene data for preview render of the given datablock"); - RNA_def_function_flag(func, FUNC_REGISTER); + RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL); RNA_def_pointer(func, "context", "Context", "", ""); RNA_def_pointer(func, "id", "ID", "", ""); func= RNA_def_function(srna, "preview_render", NULL); RNA_def_function_ui_description(func, "Execute preview render"); - RNA_def_function_flag(func, FUNC_REGISTER); + RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL); /* viewport render callbacks */ func= RNA_def_function(srna, "view_update", NULL); RNA_def_function_ui_description(func, "Update on data changes for viewport render"); - RNA_def_function_flag(func, FUNC_REGISTER); + RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL); RNA_def_pointer(func, "context", "Context", "", ""); func= RNA_def_function(srna, "view_draw", NULL); RNA_def_function_ui_description(func, "Draw viewport render"); - RNA_def_function_flag(func, FUNC_REGISTER); + RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL); RNA_def_pointer(func, "context", "Context", "", ""); /* tag for redraw */ RNA_def_function(srna, "tag_redraw", "engine_tag_redraw"); + RNA_def_function_ui_description(func, "Request redraw for viewport rendering"); /* tag for update */ RNA_def_function(srna, "tag_update", "engine_tag_update"); + RNA_def_function_ui_description(func, "Request update call for viewport rendering"); func= RNA_def_function(srna, "begin_result", "RE_engine_begin_result"); prop= RNA_def_int(func, "x", 0, 0, INT_MAX, "X", "", 0, INT_MAX); @@ -390,9 +394,16 @@ static void rna_def_render_engine(BlenderRNA *brna) prop= RNA_def_string(func, "message", "", 0, "Report Message", ""); RNA_def_property_flag(prop, PROP_REQUIRED); - /* registration */ RNA_define_verify_sdna(0); + prop= RNA_def_property(srna, "is_animation", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", RE_ENGINE_ANIMATION); + + prop= RNA_def_property(srna, "is_preview", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", RE_ENGINE_PREVIEW); + + /* registration */ + prop= RNA_def_property(srna, "bl_idname", PROP_STRING, PROP_NONE); RNA_def_property_string_sdna(prop, NULL, "type->idname"); RNA_def_property_flag(prop, PROP_REGISTER|PROP_NEVER_CLAMP); diff --git a/source/blender/render/extern/include/RE_engine.h b/source/blender/render/extern/include/RE_engine.h index bd93f1e63ae..d8c78ef82a2 100644 --- a/source/blender/render/extern/include/RE_engine.h +++ b/source/blender/render/extern/include/RE_engine.h @@ -46,12 +46,19 @@ struct Scene; /* External Engine */ +/* RenderEngineType.flag */ #define RE_INTERNAL 1 #define RE_GAME 2 #define RE_USE_PREVIEW 4 #define RE_USE_POSTPROCESS 8 #define RE_USE_SHADING_NODES 16 +/* RenderEngine.flag */ +#define RE_ENGINE_ANIMATION 1 +#define RE_ENGINE_PREVIEW 2 +#define RE_ENGINE_DO_DRAW 4 +#define RE_ENGINE_DO_UPDATE 8 + extern ListBase R_engines; typedef struct RenderEngineType { @@ -63,7 +70,7 @@ typedef struct RenderEngineType { int flag; void (*update)(struct RenderEngine *engine, struct Main *bmain, struct Scene *scene); - void (*render)(struct RenderEngine *engine); + void (*render)(struct RenderEngine *engine, struct Scene *scene); void (*preview_update)(struct RenderEngine *engine, const struct bContext *context, struct ID *id); void (*preview_render)(struct RenderEngine *engine); @@ -79,12 +86,11 @@ typedef struct RenderEngine { RenderEngineType *type; void *py_instance; + int flag; + struct Render *re; ListBase fullresult; char *text; - - int do_draw; - int do_update; } RenderEngine; RenderEngine *RE_engine_create(RenderEngineType *type); diff --git a/source/blender/render/intern/include/render_types.h b/source/blender/render/intern/include/render_types.h index aa2dd29814e..ae4e55b9b88 100644 --- a/source/blender/render/intern/include/render_types.h +++ b/source/blender/render/intern/include/render_types.h @@ -601,6 +601,7 @@ typedef struct LampRen { #define R_NEED_TANGENT 16 #define R_BAKE_TRACE 32 #define R_BAKING 64 +#define R_ANIMATION 128 /* vlakren->flag (vlak = face in dutch) char!!! */ #define R_SMOOTH 1 diff --git a/source/blender/render/intern/source/external_engine.c b/source/blender/render/intern/source/external_engine.c index f622405093b..93e69839708 100644 --- a/source/blender/render/intern/source/external_engine.c +++ b/source/blender/render/intern/source/external_engine.c @@ -265,7 +265,8 @@ int RE_engine_render(Render *re, int do_all) /* verify if we can render */ if(!type->render) return 0; - if((re->r.scemode & R_PREVIEWBUTS) && !(type->flag & RE_USE_PREVIEW)) + if((re->r.scemode & R_PREVIEWBUTS) && !((type->flag & RE_USE_PREVIEW) || + (type->preview_update && type->preview_render))) return 0; if(do_all && !(type->flag & RE_USE_POSTPROCESS)) return 0; @@ -287,16 +288,23 @@ int RE_engine_render(Render *re, int do_all) engine = RE_engine_create(type); engine->re= re; + if(re->flag & R_ANIMATION) + engine->flag |= RE_ENGINE_ANIMATION; + if(re->r.scemode & R_PREVIEWBUTS) + engine->flag |= RE_ENGINE_PREVIEW; + if((re->r.scemode & (R_NO_FRAME_UPDATE|R_PREVIEWBUTS))==0) scene_update_for_newframe(re->main, re->scene, re->lay); - if(re->r.scemode & R_PREVIEWBUTS) { + if(type->preview_update && type->preview_render) { //type->preview_update(engine, scene, id); type->preview_render(engine); } else { - type->update(engine, re->main, re->scene); - type->render(engine); + if(type->update) + type->update(engine, re->main, re->scene); + if(type->render) + type->render(engine, re->scene); } free_render_result(&engine->fullresult, engine->fullresult.first); diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 6e61c930fd0..8d72be1684c 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -405,7 +405,7 @@ static const char *get_pass_name(int passtype, int channel) return "Unknown"; } -static int passtype_from_name(char *str) +static int passtype_from_name(const char *str) { if(strcmp(str, "Combined")==0) @@ -889,39 +889,18 @@ static void *ml_addlayer_cb(void *base, char *str) { RenderResult *rr= base; RenderLayer *rl; - - /* don't add if layer already exists */ - for(rl=rr->layers.first; rl; rl=rl->next) - if(strcmp(rl->name, str) == 0) - return rl; - /* add render layer */ rl= MEM_callocN(sizeof(RenderLayer), "new render layer"); BLI_addtail(&rr->layers, rl); BLI_strncpy(rl->name, str, EXR_LAY_MAXNAME); - rl->rectx = rr->rectx; - rl->recty = rr->recty; - return rl; } -static void ml_addpass_cb(void *base, void *lay, char *str, float *rect, int totchan, char *chan_id) +static void ml_addpass_cb(void *UNUSED(base), void *lay, char *str, float *rect, int totchan, char *chan_id) { - RenderResult *rr= base; RenderLayer *rl= lay; - RenderPass *rpass; + RenderPass *rpass= MEM_callocN(sizeof(RenderPass), "loaded pass"); int a; - - /* don't add if pass already exists */ - for(rpass=rl->passes.first; rpass; rpass=rpass->next) { - if(strcmp(rpass->name, str) == 0) { - MEM_freeN(rect); - return; - } - } - - /* add render pass */ - rpass = MEM_callocN(sizeof(RenderPass), "loaded pass"); BLI_addtail(&rl->passes, rpass); rpass->channels= totchan; @@ -935,8 +914,6 @@ static void ml_addpass_cb(void *base, void *lay, char *str, float *rect, int tot for(a=0; achan_id[a]= chan_id[a]; - rpass->rectx = rr->rectx; - rpass->recty = rr->recty; rpass->rect= rect; } @@ -944,12 +921,24 @@ static void ml_addpass_cb(void *base, void *lay, char *str, float *rect, int tot RenderResult *RE_MultilayerConvert(void *exrhandle, int rectx, int recty) { RenderResult *rr= MEM_callocN(sizeof(RenderResult), "loaded render result"); + RenderLayer *rl; + RenderPass *rpass; rr->rectx= rectx; rr->recty= recty; IMB_exr_multilayer_convert(exrhandle, rr, ml_addlayer_cb, ml_addpass_cb); + for(rl=rr->layers.first; rl; rl=rl->next) { + rl->rectx= rectx; + rl->recty= recty; + + for(rpass=rl->passes.first; rpass; rpass=rpass->next) { + rpass->rectx= rectx; + rpass->recty= recty; + } + } + return rr; } @@ -3096,6 +3085,8 @@ void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_overri /* is also set by caller renderwin.c */ G.rendering= 1; + re->flag |= R_ANIMATION; + if(BKE_imtype_is_movie(scene->r.imtype)) if(!mh->start_movie(scene, &re->r, re->rectx, re->recty, re->reports)) G.afbreek= 1; @@ -3204,6 +3195,8 @@ void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_overri scene->r.cfra= cfrao; + re->flag &= ~R_ANIMATION; + /* UGLY WARNING */ G.rendering= 0; } @@ -3332,22 +3325,10 @@ void RE_layer_load_from_file(RenderLayer *layer, ReportList *reports, const char void RE_result_load_from_file(RenderResult *result, ReportList *reports, const char *filename) { - /* optionally also add layers/passes that were in the file but not setup - for rendering, useful for external render engines or network render */ - void *exrhandle= IMB_exr_get_handle(); - int rectx, recty; - - if(IMB_exr_begin_read(exrhandle, filename, &rectx, &recty)) - IMB_exr_multilayer_convert(exrhandle, result, ml_addlayer_cb, ml_addpass_cb); - - IMB_exr_close(exrhandle); - -#if 0 - if(!read_render_result_from_file(filename, result, 1)) { + if(!read_render_result_from_file(filename, result)) { BKE_reportf(reports, RPT_ERROR, "RE_result_rect_from_file: failed to load '%s'\n", filename); return; } -#endif } const float default_envmap_layout[] = { 0,0, 1,0, 2,0, 0,1, 1,1, 2,1 }; diff --git a/source/blender/windowmanager/intern/wm_draw.c b/source/blender/windowmanager/intern/wm_draw.c index a491f8a6010..389049d9e59 100644 --- a/source/blender/windowmanager/intern/wm_draw.c +++ b/source/blender/windowmanager/intern/wm_draw.c @@ -121,9 +121,9 @@ static void wm_region_test_render_do_draw(ScrArea *sa, ARegion *ar) RegionView3D *rv3d = ar->regiondata; RenderEngine *engine = (rv3d)? rv3d->render_engine: NULL; - if(engine && engine->do_draw) { + if(engine && (engine->flag & RE_ENGINE_DO_DRAW)) { ar->do_draw = 1; - engine->do_draw = 0; + engine->flag &= ~RE_ENGINE_DO_DRAW; } } } From 9a4e1e0f0aec88c79fe4113019b1d7d1c79a7511 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 3 Nov 2011 10:18:58 +0000 Subject: [PATCH 191/241] Cycles: updates to follow code committed to trunk. --- intern/cycles/blender/blender_sync.cpp | 16 +- source/blender/blenkernel/intern/anim_sys.c | 12 +- source/blender/blenkernel/intern/node.c | 3 +- source/blender/blenkernel/intern/scene.c | 9 + source/blender/blenkernel/intern/world.c | 4 +- source/blender/blenlib/BLI_callbacks.h | 2 + .../blender/editors/render/render_preview.c | 1 - source/blender/editors/space_node/node_draw.c | 3 +- source/blender/editors/space_node/node_edit.c | 4 +- .../blender/editors/space_node/node_select.c | 1 - source/blender/makesrna/intern/rna_ID.c | 8 +- source/blender/makesrna/intern/rna_main_api.c | 157 +++++++++++++++++- source/blender/makesrna/intern/rna_texture.c | 13 +- .../blender/nodes/shader/node_shader_tree.c | 6 - .../nodes/shader/nodes/node_shader_common.c | 3 - .../blender/python/intern/bpy_app_handlers.c | 2 + source/gameengine/Ketsji/BL_BlenderShader.cpp | 1 - .../RAS_OpenGLRasterizer.cpp | 1 - 18 files changed, 198 insertions(+), 48 deletions(-) diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index 3a9514efa3c..d44fc3f29ca 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -67,31 +67,31 @@ bool BlenderSync::sync_recalc() BL::BlendData::materials_iterator b_mat; for(b_data.materials.begin(b_mat); b_mat != b_data.materials.end(); ++b_mat) - if(b_mat->recalc()) + if(b_mat->is_updated()) shader_map.set_recalc(*b_mat); BL::BlendData::lamps_iterator b_lamp; for(b_data.lamps.begin(b_lamp); b_lamp != b_data.lamps.end(); ++b_lamp) - if(b_lamp->recalc()) + if(b_lamp->is_updated()) shader_map.set_recalc(*b_lamp); BL::BlendData::objects_iterator b_ob; for(b_data.objects.begin(b_ob); b_ob != b_data.objects.end(); ++b_ob) { - if(b_ob->recalc()) { + if(b_ob->is_updated()) { object_map.set_recalc(*b_ob); light_map.set_recalc(*b_ob); } if(object_is_mesh(*b_ob)) { - if(b_ob->recalc_data() || b_ob->data().recalc()) { + if(b_ob->is_updated_data() || b_ob->data().is_updated()) { BL::ID key = object_is_modified(*b_ob)? *b_ob: b_ob->data(); mesh_map.set_recalc(key); } } else if(object_is_light(*b_ob)) { - if(b_ob->recalc_data() || b_ob->data().recalc()) + if(b_ob->is_updated_data() || b_ob->data().is_updated()) light_map.set_recalc(*b_ob); } } @@ -99,13 +99,13 @@ bool BlenderSync::sync_recalc() BL::BlendData::meshes_iterator b_mesh; for(b_data.meshes.begin(b_mesh); b_mesh != b_data.meshes.end(); ++b_mesh) - if(b_mesh->recalc()) + if(b_mesh->is_updated()) mesh_map.set_recalc(*b_mesh); BL::BlendData::worlds_iterator b_world; for(b_data.worlds.begin(b_world); b_world != b_data.worlds.end(); ++b_world) - if(world_map == b_world->ptr.data && b_world->recalc()) + if(world_map == b_world->ptr.data && b_world->is_updated()) world_recalc = true; bool recalc = @@ -113,7 +113,7 @@ bool BlenderSync::sync_recalc() object_map.has_recalc() || light_map.has_recalc() || mesh_map.has_recalc() || - BlendDataObjects_recalc_get(&b_data.ptr) || + BlendDataObjects_is_updated_get(&b_data.ptr) || world_recalc; return recalc; diff --git a/source/blender/blenkernel/intern/anim_sys.c b/source/blender/blenkernel/intern/anim_sys.c index 981c20d6165..6d94b42a7ac 100644 --- a/source/blender/blenkernel/intern/anim_sys.c +++ b/source/blender/blenkernel/intern/anim_sys.c @@ -51,6 +51,7 @@ #include "BKE_animsys.h" #include "BKE_action.h" +#include "BKE_depsgraph.h" #include "BKE_fcurve.h" #include "BKE_nla.h" #include "BKE_global.h" @@ -1181,6 +1182,15 @@ static short animsys_write_rna_setting (PointerRNA *ptr, char *path, int array_i RNA_property_update_cache_add(&new_ptr, prop); } #endif + + /* as long as we don't do property update, we still tag datablock + as having been updated. this flag does not cause any updates to + be run, it's for e.g. render engines to synchronize data */ + if(new_ptr.id.data) { + ID *id= new_ptr.id.data; + id->flag |= LIB_ID_RECALC; + DAG_id_type_tag(G.main, GS(id->name)); + } } /* successful */ @@ -2322,7 +2332,7 @@ void BKE_animsys_evaluate_all_animation (Main *main, Scene *scene, float ctime) /* particles */ EVAL_ANIM_IDS(main->particle.first, ADT_RECALC_ANIM); - /* lamps */ + /* speakers */ EVAL_ANIM_IDS(main->speaker.first, ADT_RECALC_ANIM); /* objects */ diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index 9c2b6cae751..ce53ec3ac9b 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -1073,6 +1073,7 @@ void ntreeMakeLocal(bNodeTree *ntree) newtree->id.us= 0; + cd.new_id = &newtree->id; treetype->foreach_nodetree(G.main, &cd, &ntreeMakeLocal_LinkNew); } @@ -1862,7 +1863,7 @@ static void registerCompositNodes(ListBase *ntypelist) static void registerShaderNodes(ListBase *ntypelist) { register_node_type_frame(ntypelist); - + register_node_type_sh_group(ntypelist); //register_node_type_sh_forloop(ntypelist); //register_node_type_sh_whileloop(ntypelist); diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index d7e51bf794c..7ba0a642cdd 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -992,6 +992,8 @@ void scene_update_tagged(Main *bmain, Scene *scene) { DAG_ids_flush_tagged(bmain); + BLI_exec_cb(bmain, &scene->id, BLI_CB_EVT_SCENE_UPDATE_PRE); + scene->physics_settings.quick_cache_step= 0; /* update all objects: drivers, matrices, displists, etc. flags set @@ -1013,6 +1015,8 @@ void scene_update_tagged(Main *bmain, Scene *scene) DAG_ids_check_recalc(bmain); + BLI_exec_cb(bmain, &scene->id, BLI_CB_EVT_SCENE_UPDATE_POST); + /* in the future this should handle updates for all datablocks, not only objects and scenes. - brecht */ } @@ -1046,6 +1050,8 @@ void scene_update_for_newframe(Main *bmain, Scene *sce, unsigned int lay) * so dont call within 'scene_update_tagged_recursive' */ DAG_scene_update_flags(bmain, sce, lay, TRUE); // only stuff that moves or needs display still + BLI_exec_cb(bmain, (ID *)sce, BLI_CB_EVT_SCENE_UPDATE_PRE); + /* All 'standard' (i.e. without any dependencies) animation is handled here, * with an 'local' to 'macro' order of evaluation. This should ensure that * settings stored nestled within a hierarchy (i.e. settings in a Texture block @@ -1059,7 +1065,10 @@ void scene_update_for_newframe(Main *bmain, Scene *sce, unsigned int lay) scene_update_tagged_recursive(bmain, sce, sce); /* keep this last */ + BLI_exec_cb(bmain, (ID *)sce, BLI_CB_EVT_SCENE_UPDATE_POST); BLI_exec_cb(bmain, (ID *)sce, BLI_CB_EVT_FRAME_CHANGE_POST); + + DAG_ids_clear_recalc(bmain); } /* return default layer, also used to patch old files */ diff --git a/source/blender/blenkernel/intern/world.c b/source/blender/blenkernel/intern/world.c index 9a26cc61cfd..c7d2763774d 100644 --- a/source/blender/blenkernel/intern/world.c +++ b/source/blender/blenkernel/intern/world.c @@ -42,14 +42,14 @@ #include "BLI_utildefines.h" #include "BLI_bpath.h" -#include "BKE_world.h" -#include "BKE_library.h" #include "BKE_animsys.h" #include "BKE_global.h" #include "BKE_icons.h" #include "BKE_library.h" +#include "BKE_library.h" #include "BKE_main.h" #include "BKE_node.h" +#include "BKE_world.h" void free_world(World *wrld) { diff --git a/source/blender/blenlib/BLI_callbacks.h b/source/blender/blenlib/BLI_callbacks.h index 5322ce04a2e..7e4fad54cda 100644 --- a/source/blender/blenlib/BLI_callbacks.h +++ b/source/blender/blenlib/BLI_callbacks.h @@ -47,6 +47,8 @@ typedef enum { BLI_CB_EVT_LOAD_POST, BLI_CB_EVT_SAVE_PRE, BLI_CB_EVT_SAVE_POST, + BLI_CB_EVT_SCENE_UPDATE_PRE, + BLI_CB_EVT_SCENE_UPDATE_POST, BLI_CB_EVT_TOT } eCbEvent; diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c index 70108242bf9..9da160948cc 100644 --- a/source/blender/editors/render/render_preview.c +++ b/source/blender/editors/render/render_preview.c @@ -86,7 +86,6 @@ #include "PIL_time.h" -#include "RE_engine.h" #include "RE_pipeline.h" diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c index bf4de211537..5b5f79160a1 100644 --- a/source/blender/editors/space_node/node_draw.c +++ b/source/blender/editors/space_node/node_draw.c @@ -560,7 +560,6 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN int color_id= node_get_colorid(node); char showname[128]; /* 128 used below */ View2D *v2d = &ar->v2d; - int i; /* hurmf... another candidate for callback, have to see how this works first */ if(node->id && node->block && snode->treetype==NTREE_SHADER) @@ -684,7 +683,7 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN /* socket inputs, buttons */ - for(i= 0, sock= node->inputs.first; sock; sock= sock->next, i++) { + for(sock= node->inputs.first; sock; sock= sock->next) { bNodeSocketType *stype= ntreeGetSocketType(sock->type); if(sock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL)) diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index b9f11a55939..7ff24ca3eb6 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -303,8 +303,8 @@ void ED_node_shader_default(Scene *scene, ID *id) } case ID_WO: { World *wo= (World*)id; - wo->nodetree = ntree; + output_type = SH_NODE_OUTPUT_WORLD; shader_type = SH_NODE_BACKGROUND; @@ -314,8 +314,8 @@ void ED_node_shader_default(Scene *scene, ID *id) } case ID_LA: { Lamp *la= (Lamp*)id; + la->nodetree = ntree; - ((Lamp*)id)->nodetree = ntree; output_type = SH_NODE_OUTPUT_LAMP; shader_type = SH_NODE_EMISSION; diff --git a/source/blender/editors/space_node/node_select.c b/source/blender/editors/space_node/node_select.c index 60e6b9e550e..593beedc765 100644 --- a/source/blender/editors/space_node/node_select.c +++ b/source/blender/editors/space_node/node_select.c @@ -35,7 +35,6 @@ #include "DNA_scene_types.h" #include "BKE_context.h" -#include "BKE_global.h" #include "BKE_main.h" #include "BLI_rect.h" diff --git a/source/blender/makesrna/intern/rna_ID.c b/source/blender/makesrna/intern/rna_ID.c index ba7d2881ad8..e4692d32338 100644 --- a/source/blender/makesrna/intern/rna_ID.c +++ b/source/blender/makesrna/intern/rna_ID.c @@ -486,15 +486,15 @@ static void rna_def_ID(BlenderRNA *brna) RNA_def_property_flag(prop, PROP_LIB_EXCEPTION); RNA_def_property_ui_text(prop, "Tag", "Tools can use this to tag data (initial state is undefined)"); - prop= RNA_def_property(srna, "recalc", PROP_BOOLEAN, PROP_NONE); + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "flag", LIB_ID_RECALC); RNA_def_property_clear_flag(prop, PROP_EDITABLE); - RNA_def_property_ui_text(prop, "Recalc", "Datablock is tagged for recalculation"); + RNA_def_property_ui_text(prop, "Is Updated", "Datablock is tagged for recalculation"); - prop= RNA_def_property(srna, "recalc_data", PROP_BOOLEAN, PROP_NONE); + prop= RNA_def_property(srna, "is_updated_data", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "flag", LIB_ID_RECALC_DATA); RNA_def_property_clear_flag(prop, PROP_EDITABLE); - RNA_def_property_ui_text(prop, "Recalc Data", "Datablock data is tagged for recalculation"); + RNA_def_property_ui_text(prop, "Is Updated Data", "Datablock data is tagged for recalculation"); prop= RNA_def_property(srna, "library", PROP_POINTER, PROP_NONE); RNA_def_property_pointer_sdna(prop, NULL, "lib"); diff --git a/source/blender/makesrna/intern/rna_main_api.c b/source/blender/makesrna/intern/rna_main_api.c index 6e5b7d68ea9..a0402ed3593 100644 --- a/source/blender/makesrna/intern/rna_main_api.c +++ b/source/blender/makesrna/intern/rna_main_api.c @@ -549,7 +549,33 @@ void rna_Main_actions_tag(Main *bmain, int value) { tag_main_lb(&bmain->action, void rna_Main_particles_tag(Main *bmain, int value) { tag_main_lb(&bmain->particle, value); } void rna_Main_gpencil_tag(Main *bmain, int value) { tag_main_lb(&bmain->gpencil, value); } -static int rna_Main_objects_recalc_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_OB); } +static int rna_Main_cameras_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_CA); } +static int rna_Main_scenes_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_SCE); } +static int rna_Main_objects_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_OB); } +static int rna_Main_materials_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_MA); } +static int rna_Main_node_groups_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_NT); } +static int rna_Main_meshes_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_ME); } +static int rna_Main_lamps_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_LA); } +static int rna_Main_libraries_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_LI); } +static int rna_Main_screens_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_SCR); } +static int rna_Main_window_managers_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_WM); } +static int rna_Main_images_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_IM); } +static int rna_Main_lattices_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_LT); } +static int rna_Main_curves_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_CU); } +static int rna_Main_metaballs_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_MB); } +static int rna_Main_fonts_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_VF); } +static int rna_Main_textures_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_TE); } +static int rna_Main_brushes_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_BR); } +static int rna_Main_worlds_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_WO); } +static int rna_Main_groups_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_GR); } +static int rna_Main_shape_keys_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_KE); } +static int rna_Main_texts_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_TXT); } +static int rna_Main_speakers_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_SPK); } +static int rna_Main_sounds_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_SO); } +static int rna_Main_armatures_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_AR); } +static int rna_Main_actions_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_AC); } +static int rna_Main_particles_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_PA); } +static int rna_Main_gpencil_is_updated_get(PointerRNA *ptr) { return DAG_id_type_tagged(ptr->data, ID_GD); } #else @@ -577,6 +603,7 @@ void RNA_def_main_cameras(BlenderRNA *brna, PropertyRNA *cprop) StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataCameras"); srna= RNA_def_struct(brna, "BlendDataCameras", NULL); @@ -600,6 +627,10 @@ void RNA_def_main_cameras(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_cameras_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_cameras_is_updated_get", NULL); } void RNA_def_main_scenes(BlenderRNA *brna, PropertyRNA *cprop) @@ -607,6 +638,7 @@ void RNA_def_main_scenes(BlenderRNA *brna, PropertyRNA *cprop) StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataScenes"); srna= RNA_def_struct(brna, "BlendDataScenes", NULL); @@ -626,6 +658,10 @@ void RNA_def_main_scenes(BlenderRNA *brna, PropertyRNA *cprop) RNA_def_function_ui_description(func, "Remove a scene from the current blendfile"); parm= RNA_def_pointer(func, "scene", "Scene", "", "Scene to remove"); RNA_def_property_flag(parm, PROP_REQUIRED|PROP_NEVER_NULL); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_scenes_is_updated_get", NULL); } void RNA_def_main_objects(BlenderRNA *brna, PropertyRNA *cprop) @@ -662,9 +698,9 @@ void RNA_def_main_objects(BlenderRNA *brna, PropertyRNA *cprop) parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); - prop= RNA_def_property(srna, "recalc", PROP_BOOLEAN, PROP_NONE); + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); RNA_def_property_clear_flag(prop, PROP_EDITABLE); - RNA_def_property_boolean_funcs(prop, "rna_Main_objects_recalc_get", NULL); + RNA_def_property_boolean_funcs(prop, "rna_Main_objects_is_updated_get", NULL); } void RNA_def_main_materials(BlenderRNA *brna, PropertyRNA *cprop) @@ -672,6 +708,7 @@ void RNA_def_main_materials(BlenderRNA *brna, PropertyRNA *cprop) StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataMaterials"); srna= RNA_def_struct(brna, "BlendDataMaterials", NULL); @@ -695,12 +732,17 @@ void RNA_def_main_materials(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_materials_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_materials_is_updated_get", NULL); } void RNA_def_main_node_groups(BlenderRNA *brna, PropertyRNA *cprop) { StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; static EnumPropertyItem node_nodetree_items[] = { {0, "SHADER", 0, "Shader", ""}, @@ -732,12 +774,17 @@ void RNA_def_main_node_groups(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_node_groups_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_node_groups_is_updated_get", NULL); } void RNA_def_main_meshes(BlenderRNA *brna, PropertyRNA *cprop) { StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataMeshes"); srna= RNA_def_struct(brna, "BlendDataMeshes", NULL); @@ -761,12 +808,17 @@ void RNA_def_main_meshes(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_meshes_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_meshes_is_updated_get", NULL); } void RNA_def_main_lamps(BlenderRNA *brna, PropertyRNA *cprop) { StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataLamps"); srna= RNA_def_struct(brna, "BlendDataLamps", NULL); @@ -792,6 +844,10 @@ void RNA_def_main_lamps(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_lamps_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_lamps_is_updated_get", NULL); } void RNA_def_main_libraries(BlenderRNA *brna, PropertyRNA *cprop) @@ -799,6 +855,7 @@ void RNA_def_main_libraries(BlenderRNA *brna, PropertyRNA *cprop) StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataLibraries"); srna= RNA_def_struct(brna, "BlendDataLibraries", NULL); @@ -808,6 +865,10 @@ void RNA_def_main_libraries(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_libraries_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_libraries_is_updated_get", NULL); } void RNA_def_main_screens(BlenderRNA *brna, PropertyRNA *cprop) @@ -815,6 +876,7 @@ void RNA_def_main_screens(BlenderRNA *brna, PropertyRNA *cprop) StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataScreens"); srna= RNA_def_struct(brna, "BlendDataScreens", NULL); @@ -824,6 +886,10 @@ void RNA_def_main_screens(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_screens_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_screens_is_updated_get", NULL); } void RNA_def_main_window_managers(BlenderRNA *brna, PropertyRNA *cprop) @@ -831,6 +897,7 @@ void RNA_def_main_window_managers(BlenderRNA *brna, PropertyRNA *cprop) StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataWindowManagers"); srna= RNA_def_struct(brna, "BlendDataWindowManagers", NULL); @@ -840,12 +907,17 @@ void RNA_def_main_window_managers(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_window_managers_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_window_managers_is_updated_get", NULL); } void RNA_def_main_images(BlenderRNA *brna, PropertyRNA *cprop) { StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataImages"); srna= RNA_def_struct(brna, "BlendDataImages", NULL); @@ -884,6 +956,10 @@ void RNA_def_main_images(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_images_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_images_is_updated_get", NULL); } void RNA_def_main_lattices(BlenderRNA *brna, PropertyRNA *cprop) @@ -891,6 +967,7 @@ void RNA_def_main_lattices(BlenderRNA *brna, PropertyRNA *cprop) StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataLattices"); srna= RNA_def_struct(brna, "BlendDataLattices", NULL); @@ -914,12 +991,17 @@ void RNA_def_main_lattices(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_lattices_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_lattices_is_updated_get", NULL); } void RNA_def_main_curves(BlenderRNA *brna, PropertyRNA *cprop) { StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataCurves"); srna= RNA_def_struct(brna, "BlendDataCurves", NULL); @@ -945,12 +1027,17 @@ void RNA_def_main_curves(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_curves_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_curves_is_updated_get", NULL); } void RNA_def_main_metaballs(BlenderRNA *brna, PropertyRNA *cprop) { StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataMetaBalls"); srna= RNA_def_struct(brna, "BlendDataMetaBalls", NULL); @@ -974,12 +1061,17 @@ void RNA_def_main_metaballs(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_metaballs_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_metaballs_is_updated_get", NULL); } void RNA_def_main_fonts(BlenderRNA *brna, PropertyRNA *cprop) { StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataFonts"); srna= RNA_def_struct(brna, "BlendDataFonts", NULL); @@ -1004,12 +1096,17 @@ void RNA_def_main_fonts(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_fonts_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_fonts_is_updated_get", NULL); } void RNA_def_main_textures(BlenderRNA *brna, PropertyRNA *cprop) { StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataTextures"); srna= RNA_def_struct(brna, "BlendDataTextures", NULL); @@ -1035,12 +1132,17 @@ void RNA_def_main_textures(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_textures_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_textures_is_updated_get", NULL); } void RNA_def_main_brushes(BlenderRNA *brna, PropertyRNA *cprop) { StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataBrushes"); srna= RNA_def_struct(brna, "BlendDataBrushes", NULL); @@ -1064,6 +1166,10 @@ void RNA_def_main_brushes(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_brushes_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_brushes_is_updated_get", NULL); } void RNA_def_main_worlds(BlenderRNA *brna, PropertyRNA *cprop) @@ -1071,6 +1177,7 @@ void RNA_def_main_worlds(BlenderRNA *brna, PropertyRNA *cprop) StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataWorlds"); srna= RNA_def_struct(brna, "BlendDataWorlds", NULL); @@ -1094,6 +1201,10 @@ void RNA_def_main_worlds(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_worlds_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_worlds_is_updated_get", NULL); } void RNA_def_main_groups(BlenderRNA *brna, PropertyRNA *cprop) @@ -1101,6 +1212,7 @@ void RNA_def_main_groups(BlenderRNA *brna, PropertyRNA *cprop) StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataGroups"); srna= RNA_def_struct(brna, "BlendDataGroups", NULL); @@ -1123,6 +1235,10 @@ void RNA_def_main_groups(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_groups_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_groups_is_updated_get", NULL); } void RNA_def_main_speakers(BlenderRNA *brna, PropertyRNA *cprop) @@ -1130,6 +1246,7 @@ void RNA_def_main_speakers(BlenderRNA *brna, PropertyRNA *cprop) StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataSpeakers"); srna= RNA_def_struct(brna, "BlendDataSpeakers", NULL); @@ -1153,6 +1270,10 @@ void RNA_def_main_speakers(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_speakers_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_speakers_is_updated_get", NULL); } void RNA_def_main_texts(BlenderRNA *brna, PropertyRNA *cprop) @@ -1160,6 +1281,7 @@ void RNA_def_main_texts(BlenderRNA *brna, PropertyRNA *cprop) StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataTexts"); srna= RNA_def_struct(brna, "BlendDataTexts", NULL); @@ -1192,6 +1314,10 @@ void RNA_def_main_texts(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_texts_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_texts_is_updated_get", NULL); } void RNA_def_main_sounds(BlenderRNA *brna, PropertyRNA *cprop) @@ -1199,6 +1325,7 @@ void RNA_def_main_sounds(BlenderRNA *brna, PropertyRNA *cprop) StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataSounds"); srna= RNA_def_struct(brna, "BlendDataSounds", NULL); @@ -1210,6 +1337,10 @@ void RNA_def_main_sounds(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_sounds_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_sounds_is_updated_get", NULL); } void RNA_def_main_armatures(BlenderRNA *brna, PropertyRNA *cprop) @@ -1217,6 +1348,7 @@ void RNA_def_main_armatures(BlenderRNA *brna, PropertyRNA *cprop) StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataArmatures"); srna= RNA_def_struct(brna, "BlendDataArmatures", NULL); @@ -1240,12 +1372,17 @@ void RNA_def_main_armatures(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_armatures_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_armatures_is_updated_get", NULL); } void RNA_def_main_actions(BlenderRNA *brna, PropertyRNA *cprop) { StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataActions"); srna= RNA_def_struct(brna, "BlendDataActions", NULL); @@ -1269,12 +1406,17 @@ void RNA_def_main_actions(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_actions_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_actions_is_updated_get", NULL); } void RNA_def_main_particles(BlenderRNA *brna, PropertyRNA *cprop) { StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataParticles"); srna= RNA_def_struct(brna, "BlendDataParticles", NULL); @@ -1298,6 +1440,10 @@ void RNA_def_main_particles(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_particles_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_particles_is_updated_get", NULL); } void RNA_def_main_gpencil(BlenderRNA *brna, PropertyRNA *cprop) @@ -1305,6 +1451,7 @@ void RNA_def_main_gpencil(BlenderRNA *brna, PropertyRNA *cprop) StructRNA *srna; FunctionRNA *func; PropertyRNA *parm; + PropertyRNA *prop; RNA_def_property_srna(cprop, "BlendDataGreasePencils"); srna= RNA_def_struct(brna, "BlendDataGreasePencils", NULL); @@ -1314,6 +1461,10 @@ void RNA_def_main_gpencil(BlenderRNA *brna, PropertyRNA *cprop) func= RNA_def_function(srna, "tag", "rna_Main_gpencil_tag"); parm= RNA_def_boolean(func, "value", 0, "Value", ""); RNA_def_property_flag(parm, PROP_REQUIRED); + + prop= RNA_def_property(srna, "is_updated", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Main_gpencil_is_updated_get", NULL); } #endif diff --git a/source/blender/makesrna/intern/rna_texture.c b/source/blender/makesrna/intern/rna_texture.c index b7a5b6f5216..c420ecefdae 100644 --- a/source/blender/makesrna/intern/rna_texture.c +++ b/source/blender/makesrna/intern/rna_texture.c @@ -345,16 +345,6 @@ static void rna_Texture_use_nodes_set(PointerRNA *ptr, int v) ED_node_texture_default(tex); } -static void rna_Texture_use_nodes_update(Main *bmain, Scene *scene, PointerRNA *ptr) -{ - Tex *tex= (Tex*)ptr->data; - - if(tex->use_nodes && tex->nodetree==NULL) - ED_node_shader_default(scene, &tex->id); - - rna_Texture_nodes_update(bmain, scene, ptr); -} - static void rna_ImageTexture_mipmap_set(PointerRNA *ptr, int value) { Tex *tex= (Tex*)ptr->data; @@ -1839,9 +1829,8 @@ static void rna_def_texture(BlenderRNA *brna) prop= RNA_def_property(srna, "use_nodes", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "use_nodes", 1); RNA_def_property_boolean_funcs(prop, NULL, "rna_Texture_use_nodes_set"); - RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); RNA_def_property_ui_text(prop, "Use Nodes", "Make this a node-based texture"); - RNA_def_property_update(prop, 0, "rna_Texture_use_nodes_update"); + RNA_def_property_update(prop, 0, "rna_Texture_nodes_update"); prop= RNA_def_property(srna, "node_tree", PROP_POINTER, PROP_NONE); RNA_def_property_pointer_sdna(prop, NULL, "nodetree"); diff --git a/source/blender/nodes/shader/node_shader_tree.c b/source/blender/nodes/shader/node_shader_tree.c index 5ca8f2c3d9a..a5dbfdc930e 100644 --- a/source/blender/nodes/shader/node_shader_tree.c +++ b/source/blender/nodes/shader/node_shader_tree.c @@ -35,7 +35,6 @@ #include "DNA_lamp_types.h" #include "DNA_material_types.h" #include "DNA_node_types.h" -#include "DNA_texture_types.h" #include "DNA_world_types.h" #include "BLI_listbase.h" @@ -61,7 +60,6 @@ static void foreach_nodetree(Main *main, void *calldata, bNodeTreeCallback func) Material *ma; Lamp *la; World *wo; - Tex *tex; for(ma= main->mat.first; ma; ma= ma->id.next) if(ma->nodetree) @@ -74,10 +72,6 @@ static void foreach_nodetree(Main *main, void *calldata, bNodeTreeCallback func) for(wo= main->world.first; wo; wo= wo->id.next) if(wo->nodetree) func(calldata, &wo->id, wo->nodetree); - - for(tex= main->tex.first; tex; tex= tex->id.next) - if(tex->nodetree) - func(calldata, &tex->id, tex->nodetree); } static void local_sync(bNodeTree *localtree, bNodeTree *ntree) diff --git a/source/blender/nodes/shader/nodes/node_shader_common.c b/source/blender/nodes/shader/nodes/node_shader_common.c index 5732228de41..ff995e02ca6 100644 --- a/source/blender/nodes/shader/nodes/node_shader_common.c +++ b/source/blender/nodes/shader/nodes/node_shader_common.c @@ -185,7 +185,6 @@ void register_node_type_sh_group(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, NODE_GROUP, "Group", NODE_CLASS_GROUP, NODE_OPTIONS|NODE_CONST_OUTPUT); - node_type_compatibility(&ntype, NODE_NEW_SHADING|NODE_OLD_SHADING); node_type_socket_templates(&ntype, NULL, NULL); node_type_size(&ntype, 120, 60, 200); node_type_label(&ntype, node_group_label); @@ -248,7 +247,6 @@ void register_node_type_sh_forloop(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, NODE_FORLOOP, "For", NODE_CLASS_GROUP, NODE_OPTIONS); - node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_socket_templates(&ntype, NULL, NULL); node_type_size(&ntype, 120, 60, 200); node_type_label(&ntype, node_group_label); @@ -311,7 +309,6 @@ void register_node_type_sh_whileloop(ListBase *lb) static bNodeType ntype; node_type_base(&ntype, NODE_WHILELOOP, "While", NODE_CLASS_GROUP, NODE_OPTIONS); - node_type_compatibility(&ntype, NODE_OLD_SHADING); node_type_socket_templates(&ntype, NULL, NULL); node_type_size(&ntype, 120, 60, 200); node_type_label(&ntype, node_group_label); diff --git a/source/blender/python/intern/bpy_app_handlers.c b/source/blender/python/intern/bpy_app_handlers.c index 7008aeda074..e7f74569f1a 100644 --- a/source/blender/python/intern/bpy_app_handlers.c +++ b/source/blender/python/intern/bpy_app_handlers.c @@ -47,6 +47,8 @@ static PyStructSequence_Field app_cb_info_fields[]= { {(char *)"load_post", NULL}, {(char *)"save_pre", NULL}, {(char *)"save_post", NULL}, + {(char *)"scene_update_pre", NULL}, + {(char *)"scene_update_post", NULL}, {NULL} }; diff --git a/source/gameengine/Ketsji/BL_BlenderShader.cpp b/source/gameengine/Ketsji/BL_BlenderShader.cpp index ffc301fb715..6680e9556b9 100644 --- a/source/gameengine/Ketsji/BL_BlenderShader.cpp +++ b/source/gameengine/Ketsji/BL_BlenderShader.cpp @@ -4,7 +4,6 @@ #include "DNA_customdata_types.h" #include "DNA_material_types.h" -#include "DNA_object_types.h" #include "DNA_scene_types.h" #include "BKE_global.h" diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp index e50eb9bfde5..56c0f46865a 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp @@ -50,7 +50,6 @@ #include "DNA_image_types.h" #include "DNA_meshdata_types.h" #include "DNA_material_types.h" -#include "DNA_object_types.h" #include "DNA_scene_types.h" #include "BKE_DerivedMesh.h" From a620ec61ec173b7d9b753c9be443fdbdb1644c71 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 4 Nov 2011 15:46:15 +0000 Subject: [PATCH 192/241] Cycles: always use static bvh for non-viewport render. --- intern/cycles/blender/addon/properties.py | 2 +- intern/cycles/blender/blender_session.cpp | 4 ++-- intern/cycles/blender/blender_sync.cpp | 8 ++++++-- intern/cycles/blender/blender_sync.h | 2 +- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index 0d30307fc73..a58e4dfd154 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -92,7 +92,7 @@ class CyclesRenderSettings(bpy.types.PropertyGroup): cls.debug_text_timeout = FloatProperty(name="Text timeout", description="", default=1.0, min=0.01, max=10.0) - cls.debug_bvh_type = EnumProperty(name="BVH Type", description="Choose between faster updates, or faster render", + cls.debug_bvh_type = EnumProperty(name="Viewport BVH Type", description="Choose between faster updates, or faster render", items=enums.bvh_types, default="DYNAMIC_BVH") cls.debug_use_spatial_splits = BoolProperty(name="Use Spatial Splits", description="Use BVH spatial splits: longer builder time, faster render", default=False) diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp index 4fa87815601..4433b1e24f9 100644 --- a/intern/cycles/blender/blender_session.cpp +++ b/intern/cycles/blender/blender_session.cpp @@ -73,7 +73,7 @@ BlenderSession::~BlenderSession() void BlenderSession::create_session() { - SceneParams scene_params = BlenderSync::get_scene_params(b_scene); + SceneParams scene_params = BlenderSync::get_scene_params(b_scene, background); SessionParams session_params = BlenderSync::get_session_params(b_scene, background); /* reset status/progress */ @@ -152,7 +152,7 @@ void BlenderSession::write_render_result() void BlenderSession::synchronize() { /* on session/scene parameter changes, we recreate session entirely */ - SceneParams scene_params = BlenderSync::get_scene_params(b_scene); + SceneParams scene_params = BlenderSync::get_scene_params(b_scene, background); SessionParams session_params = BlenderSync::get_session_params(b_scene, background); if(session->params.modified(session_params) || diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index d44fc3f29ca..36cf29de128 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -210,7 +210,7 @@ void BlenderSync::sync_render_layer(BL::SpaceView3D b_v3d) /* Scene Parameters */ -SceneParams BlenderSync::get_scene_params(BL::Scene b_scene) +SceneParams BlenderSync::get_scene_params(BL::Scene b_scene, bool background) { SceneParams params; PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles"); @@ -221,7 +221,11 @@ SceneParams BlenderSync::get_scene_params(BL::Scene b_scene) else if(shadingsystem == 1) params.shadingsystem = SceneParams::OSL; - params.bvh_type = (SceneParams::BVHType)RNA_enum_get(&cscene, "debug_bvh_type"); + if(background) + params.bvh_type = SceneParams::BVH_STATIC; + else + params.bvh_type = (SceneParams::BVHType)RNA_enum_get(&cscene, "debug_bvh_type"); + params.use_bvh_spatial_split = RNA_boolean_get(&cscene, "debug_use_spatial_splits"); return params; diff --git a/intern/cycles/blender/blender_sync.h b/intern/cycles/blender/blender_sync.h index 48e755b3dcd..2e7b8ed253d 100644 --- a/intern/cycles/blender/blender_sync.h +++ b/intern/cycles/blender/blender_sync.h @@ -59,7 +59,7 @@ public: void sync_view(BL::SpaceView3D b_v3d, BL::RegionView3D b_rv3d, int width, int height); /* get parameters */ - static SceneParams get_scene_params(BL::Scene b_scene); + static SceneParams get_scene_params(BL::Scene b_scene, bool background); static SessionParams get_session_params(BL::Scene b_scene, bool background); static bool get_session_pause(BL::Scene b_scene, bool background); From 72929172dd0d3d51edf7b5b0cbcc9296ce0bb4da Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 4 Nov 2011 20:58:00 +0000 Subject: [PATCH 193/241] Cycles: add location/rotate/scale and XYZ mapping options for all texture nodes, to reduce the amount of nodes needed to set up a simple texture. These are currently editable in the texture properties tab, still need to make them available in the node editor. Projection and color modification options will be added later, they're not implemented yet but allocated already to avoid version patches later. Also an issue with the XYZ mapping is that when you set one to None, texture and material draw mode doesn't draw the image texture well, OpenGL doesn't seem to like the degenerate texture matrix? --- intern/cycles/blender/addon/ui.py | 55 +++++- intern/cycles/blender/blender_shader.cpp | 33 +++- intern/cycles/render/nodes.cpp | 6 +- intern/cycles/render/nodes.h | 2 +- source/blender/blenkernel/BKE_texture.h | 7 +- source/blender/blenkernel/intern/texture.c | 101 ++++++++-- source/blender/blenloader/intern/readfile.c | 41 ++++ source/blender/editors/include/ED_uvedit.h | 3 +- .../editors/interface/interface_node.c | 5 + .../editors/sculpt_paint/paint_image.c | 4 +- .../blender/editors/space_image/space_image.c | 2 +- source/blender/editors/space_node/drawnode.c | 15 +- source/blender/editors/space_node/node_draw.c | 3 +- .../blender/editors/space_view3d/drawmesh.c | 20 +- source/blender/editors/uvedit/uvedit_ops.c | 4 +- source/blender/makesdna/DNA_node_types.h | 22 +++ source/blender/makesdna/DNA_texture_types.h | 24 ++- source/blender/makesrna/intern/rna_nodetree.c | 88 ++++----- .../makesrna/intern/rna_nodetree_types.h | 2 +- source/blender/makesrna/intern/rna_space.c | 10 +- source/blender/makesrna/intern/rna_texture.c | 176 ++++++++++++++---- .../composite/nodes/node_composite_mapValue.c | 2 +- .../blender/nodes/shader/node_shader_util.c | 21 +++ .../blender/nodes/shader/node_shader_util.h | 1 + .../nodes/shader/nodes/node_shader_mapping.c | 6 +- .../shader/nodes/node_shader_tex_blend.c | 6 +- .../shader/nodes/node_shader_tex_clouds.c | 6 +- .../shader/nodes/node_shader_tex_distnoise.c | 6 +- .../nodes/node_shader_tex_environment.c | 4 + .../shader/nodes/node_shader_tex_image.c | 4 + .../shader/nodes/node_shader_tex_magic.c | 4 + .../shader/nodes/node_shader_tex_marble.c | 6 +- .../shader/nodes/node_shader_tex_musgrave.c | 6 +- .../shader/nodes/node_shader_tex_noise.c | 15 +- .../nodes/shader/nodes/node_shader_tex_sky.c | 6 +- .../shader/nodes/node_shader_tex_stucci.c | 6 +- .../shader/nodes/node_shader_tex_voronoi.c | 6 +- .../nodes/shader/nodes/node_shader_tex_wood.c | 6 +- 38 files changed, 574 insertions(+), 160 deletions(-) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index ca077a50ad6..49193ecb195 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -311,7 +311,7 @@ class CyclesObject_PT_ray_visibility(CyclesButtonsPanel, Panel): @classmethod def poll(cls, context): ob = context.object - return ob and ob.type in ('MESH', 'CURVE', 'CURVE', 'SURFACE', 'FONT', 'META') # todo: 'LAMP' + return CyclesButtonsPanel.poll(context) and ob and ob.type in ('MESH', 'CURVE', 'CURVE', 'SURFACE', 'FONT', 'META') # todo: 'LAMP' def draw(self, context): layout = self.layout @@ -604,23 +604,64 @@ class CyclesTexture_PT_mapping(CyclesButtonsPanel, Panel): def draw(self, context): layout = self.layout - layout.label("Texture coordinate mapping goes here."); - layout.label("Translate, rotate, scale, projection, XYZ.") -class CyclesTexture_PT_color(CyclesButtonsPanel, Panel): + tex = context.texture + node = context.texture_node + + mapping = node.texture_mapping + + row = layout.row() + + row.column().prop(mapping, "location") + row.column().prop(mapping, "rotation") + row.column().prop(mapping, "scale") + + layout.label(text="Projection:") + + row = layout.row() + row.prop(mapping, "mapping_x", text="") + row.prop(mapping, "mapping_y", text="") + row.prop(mapping, "mapping_z", text="") + +class CyclesTexture_PT_colors(CyclesButtonsPanel, Panel): bl_label = "Color" bl_context = "texture" + bl_options = {'DEFAULT_CLOSED'} @classmethod def poll(cls, context): tex = context.texture node = context.texture_node - return (node or (tex and tex.use_nodes)) and CyclesButtonsPanel.poll(context) + return False + #return (node or (tex and tex.use_nodes)) and CyclesButtonsPanel.poll(context) def draw(self, context): layout = self.layout - layout.label("Color modification options go here."); - layout.label("Ramp, brightness, contrast, saturation.") + + tex = context.texture + node = context.texture_node + + mapping = node.color_mapping + + split = layout.split() + + col = split.column() + col.label(text="Blend:") + col.prop(mapping, "blend_type", text="") + col.prop(mapping, "blend_factor", text="Factor") + col.prop(mapping, "blend_color", text="") + + col = split.column() + col.label(text="Adjust:") + col.prop(mapping, "brightness") + col.prop(mapping, "contrast") + col.prop(mapping, "saturation") + + layout.separator() + + layout.prop(mapping, "use_color_ramp", text="Ramp") + if mapping.use_color_ramp: + layout.template_color_ramp(mapping, "color_ramp", expand=True) def draw_device(self, context): scene = context.scene diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index ed84777de7c..48bdcd88c9d 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -97,6 +97,17 @@ static float get_node_output_value(BL::Node b_node, const string& name) return sock.default_value(); } +static void get_tex_mapping(TextureMapping *mapping, BL::TexMapping b_mapping) +{ + mapping->translation = get_float3(b_mapping.location()); + mapping->rotation = get_float3(b_mapping.rotation())*(M_PI/180.0f); /* in degrees! */ + mapping->scale = get_float3(b_mapping.scale()); + + mapping->x_mapping = (TextureMapping::Mapping)b_mapping.mapping_x(); + mapping->y_mapping = (TextureMapping::Mapping)b_mapping.mapping_y(); + mapping->z_mapping = (TextureMapping::Mapping)b_mapping.mapping_z(); +} + static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node *b_group_node, BL::ShaderNode b_node) { ShaderNode *node = NULL; @@ -163,10 +174,7 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * BL::ShaderNodeMapping b_mapping_node(b_node); MappingNode *mapping = new MappingNode(); - TextureMapping *tex_mapping = &mapping->tex_mapping; - tex_mapping->translation = get_float3(b_mapping_node.location()); - tex_mapping->rotation = get_float3(b_mapping_node.rotation()); - tex_mapping->scale = get_float3(b_mapping_node.scale()); + get_tex_mapping(&mapping->tex_mapping, b_mapping_node.mapping()); node = mapping; break; @@ -293,6 +301,7 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * if(b_image) image->filename = blender_absolute_path(b_data, b_image, b_image.filepath()); image->color_space = ImageTextureNode::color_space_enum[(int)b_image_node.color_space()]; + get_tex_mapping(&image->tex_mapping, b_image_node.texture_mapping()); node = image; break; } @@ -303,11 +312,15 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * if(b_image) env->filename = blender_absolute_path(b_data, b_image, b_image.filepath()); env->color_space = EnvironmentTextureNode::color_space_enum[(int)b_env_node.color_space()]; + get_tex_mapping(&env->tex_mapping, b_env_node.texture_mapping()); node = env; break; } case BL::ShaderNode::type_TEX_NOISE: { - node = new NoiseTextureNode(); + BL::ShaderNodeTexNoise b_noise_node(b_node); + NoiseTextureNode *noise = new NoiseTextureNode(); + get_tex_mapping(&noise->tex_mapping, b_noise_node.texture_mapping()); + node = noise; break; } case BL::ShaderNode::type_TEX_BLEND: { @@ -315,6 +328,7 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * BlendTextureNode *blend = new BlendTextureNode(); blend->progression = BlendTextureNode::progression_enum[(int)b_blend_node.progression()]; blend->axis = BlendTextureNode::axis_enum[(int)b_blend_node.axis()]; + get_tex_mapping(&blend->tex_mapping, b_blend_node.texture_mapping()); node = blend; break; } @@ -323,6 +337,7 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * VoronoiTextureNode *voronoi = new VoronoiTextureNode(); voronoi->distance_metric = VoronoiTextureNode::distance_metric_enum[(int)b_voronoi_node.distance_metric()]; voronoi->coloring = VoronoiTextureNode::coloring_enum[(int)b_voronoi_node.coloring()]; + get_tex_mapping(&voronoi->tex_mapping, b_voronoi_node.texture_mapping()); node = voronoi; break; } @@ -330,6 +345,7 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * BL::ShaderNodeTexMagic b_magic_node(b_node); MagicTextureNode *magic = new MagicTextureNode(); magic->depth = b_magic_node.turbulence_depth(); + get_tex_mapping(&magic->tex_mapping, b_magic_node.texture_mapping()); node = magic; break; } @@ -341,6 +357,7 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * marble->type = MarbleTextureNode::type_enum[(int)b_marble_node.marble_type()]; marble->wave = MarbleTextureNode::wave_enum[(int)b_marble_node.wave_type()]; marble->hard = b_marble_node.noise_type() == BL::ShaderNodeTexMarble::noise_type_HARD; + get_tex_mapping(&marble->tex_mapping, b_marble_node.texture_mapping()); node = marble; break; } @@ -350,6 +367,7 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * clouds->depth = b_clouds_node.turbulence_depth(); clouds->basis = CloudsTextureNode::basis_enum[(int)b_clouds_node.noise_basis()]; clouds->hard = b_clouds_node.noise_type() == BL::ShaderNodeTexClouds::noise_type_HARD; + get_tex_mapping(&clouds->tex_mapping, b_clouds_node.texture_mapping()); node = clouds; break; } @@ -360,6 +378,7 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * wood->basis = WoodTextureNode::basis_enum[(int)b_wood_node.noise_basis()]; wood->hard = b_wood_node.noise_type() == BL::ShaderNodeTexWood::noise_type_HARD; wood->wave = WoodTextureNode::wave_enum[(int)b_wood_node.wave_type()]; + get_tex_mapping(&wood->tex_mapping, b_wood_node.texture_mapping()); node = wood; break; } @@ -368,6 +387,7 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * MusgraveTextureNode *musgrave = new MusgraveTextureNode(); musgrave->type = MusgraveTextureNode::type_enum[(int)b_musgrave_node.musgrave_type()]; musgrave->basis = MusgraveTextureNode::basis_enum[(int)b_musgrave_node.noise_basis()]; + get_tex_mapping(&musgrave->tex_mapping, b_musgrave_node.texture_mapping()); node = musgrave; break; } @@ -377,6 +397,7 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * stucci->type = StucciTextureNode::type_enum[(int)b_stucci_node.stucci_type()]; stucci->basis = StucciTextureNode::basis_enum[(int)b_stucci_node.noise_basis()]; stucci->hard = b_stucci_node.noise_type() == BL::ShaderNodeTexStucci::noise_type_HARD; + get_tex_mapping(&stucci->tex_mapping, b_stucci_node.texture_mapping()); node = stucci; break; } @@ -385,6 +406,7 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * DistortedNoiseTextureNode *distnoise = new DistortedNoiseTextureNode(); distnoise->basis = DistortedNoiseTextureNode::basis_enum[(int)b_distnoise_node.noise_basis()]; distnoise->distortion_basis = DistortedNoiseTextureNode::basis_enum[(int)b_distnoise_node.noise_distortion()]; + get_tex_mapping(&distnoise->tex_mapping, b_distnoise_node.texture_mapping()); node = distnoise; break; } @@ -397,6 +419,7 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * SkyTextureNode *sky = new SkyTextureNode(); sky->sun_direction = get_float3(b_sky_node.sun_direction()); sky->turbidity = b_sky_node.turbidity(); + get_tex_mapping(&sky->tex_mapping, b_sky_node.texture_mapping()); node = sky; break; } diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index 9c72c01417a..56d5bdf77ba 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -45,11 +45,11 @@ Transform TextureMapping::compute_transform() Transform mmat = transform_scale(make_float3(0.0f, 0.0f, 0.0f)); if(x_mapping != NONE) - mmat[0][x_mapping] = 1.0f; + mmat[0][x_mapping-1] = 1.0f; if(y_mapping != NONE) - mmat[1][y_mapping] = 1.0f; + mmat[1][y_mapping-1] = 1.0f; if(z_mapping != NONE) - mmat[2][z_mapping] = 1.0f; + mmat[2][z_mapping-1] = 1.0f; Transform smat = transform_scale(scale); Transform rmat = transform_euler(rotation); diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h index e11c51b4aaf..09b565b5043 100644 --- a/intern/cycles/render/nodes.h +++ b/intern/cycles/render/nodes.h @@ -41,7 +41,7 @@ public: float3 rotation; float3 scale; - enum Mapping { X=0, Y=1, Z=2, NONE }; + enum Mapping { NONE=0, X=1, Y=2, Z=3 }; Mapping x_mapping, y_mapping, z_mapping; enum Projection { FLAT, CUBE, TUBE, SPHERE }; diff --git a/source/blender/blenkernel/BKE_texture.h b/source/blender/blenkernel/BKE_texture.h index de72428b3d7..508fef8d9a4 100644 --- a/source/blender/blenkernel/BKE_texture.h +++ b/source/blender/blenkernel/BKE_texture.h @@ -103,9 +103,12 @@ void set_current_particle_texture(struct ParticleSettings *part, struct Tex *tex int has_current_material_texture(struct Material *ma); -struct TexMapping *add_mapping(void); -void init_mapping(struct TexMapping *texmap); +struct TexMapping *add_tex_mapping(void); +void default_tex_mapping(struct TexMapping *texmap); +void init_tex_mapping(struct TexMapping *texmap); +struct ColorMapping *add_color_mapping(void); +void default_color_mapping(struct ColorMapping *colormap); void BKE_free_envmapdata(struct EnvMap *env); void BKE_free_envmap(struct EnvMap *env); diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c index d3bd7d7b766..88cf0689a39 100644 --- a/source/blender/blenkernel/intern/texture.c +++ b/source/blender/blenkernel/intern/texture.c @@ -202,33 +202,96 @@ void free_plugin_tex(PluginTex *pit) /* ****************** Mapping ******************* */ -TexMapping *add_mapping(void) +TexMapping *add_tex_mapping(void) { - TexMapping *texmap= MEM_callocN(sizeof(TexMapping), "Tex map"); + TexMapping *texmap= MEM_callocN(sizeof(TexMapping), "TexMapping"); - texmap->size[0]= texmap->size[1]= texmap->size[2]= 1.0f; - texmap->max[0]= texmap->max[1]= texmap->max[2]= 1.0f; - unit_m4(texmap->mat); + default_tex_mapping(texmap); return texmap; } -void init_mapping(TexMapping *texmap) +void default_tex_mapping(TexMapping *texmap) { - float eul[3], smat[3][3], rmat[3][3], mat[3][3]; - - size_to_mat3( smat,texmap->size); - - eul[0]= DEG2RADF(texmap->rot[0]); - eul[1]= DEG2RADF(texmap->rot[1]); - eul[2]= DEG2RADF(texmap->rot[2]); - eul_to_mat3( rmat,eul); - - mul_m3_m3m3(mat, rmat, smat); - - copy_m4_m3(texmap->mat, mat); - VECCOPY(texmap->mat[3], texmap->loc); + memset(texmap, 0, sizeof(TexMapping)); + texmap->size[0]= texmap->size[1]= texmap->size[2]= 1.0f; + texmap->max[0]= texmap->max[1]= texmap->max[2]= 1.0f; + unit_m4(texmap->mat); + + texmap->projx= PROJ_X; + texmap->projy= PROJ_Y; + texmap->projz= PROJ_Z; + texmap->mapping= MTEX_FLAT; +} + +void init_tex_mapping(TexMapping *texmap) +{ + float eul[3], smat[3][3], rmat[3][3], mat[3][3], proj[3][3]; + + if(texmap->projx == PROJ_X && texmap->projy == PROJ_Y && texmap->projz == PROJ_Z && + is_zero_v3(texmap->loc) && is_zero_v3(texmap->rot) && is_one_v3(texmap->size)) { + unit_m4(texmap->mat); + + texmap->flag |= TEXMAP_UNIT_MATRIX; + } + else { + /* axis projection */ + zero_m3(proj); + + if(texmap->projx != PROJ_N) + proj[texmap->projx-1][0]= 1.0f; + if(texmap->projy != PROJ_N) + proj[texmap->projy-1][1]= 1.0f; + if(texmap->projz != PROJ_N) + proj[texmap->projz-1][2]= 1.0f; + + /* scale */ + size_to_mat3(smat, texmap->size); + + /* rotation */ + eul[0]= DEG2RADF(texmap->rot[0]); + eul[1]= DEG2RADF(texmap->rot[1]); + eul[2]= DEG2RADF(texmap->rot[2]); + eul_to_mat3( rmat,eul); + + /* compose it all */ + mul_m3_m3m3(mat, rmat, smat); + mul_m3_m3m3(mat, proj, mat); + + /* translation */ + copy_m4_m3(texmap->mat, mat); + VECCOPY(texmap->mat[3], texmap->loc); + + texmap->flag &= ~TEXMAP_UNIT_MATRIX; + } +} + +ColorMapping *add_color_mapping(void) +{ + ColorMapping *colormap= MEM_callocN(sizeof(ColorMapping), "ColorMapping"); + + default_color_mapping(colormap); + + return colormap; + +} + +void default_color_mapping(ColorMapping *colormap) +{ + memset(colormap, 0, sizeof(ColorMapping)); + + init_colorband(&colormap->coba, 1); + + colormap->bright= 1.0; + colormap->contrast= 1.0; + colormap->saturation= 1.0; + + colormap->blend_color[0]= 0.8f; + colormap->blend_color[1]= 0.8f; + colormap->blend_color[2]= 0.8f; + colormap->blend_type= MA_RAMP_BLEND; + colormap->blend_factor= 0.0f; } /* ****************** COLORBAND ******************* */ diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index c0d52747d56..1c96cd2e05a 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -7212,6 +7212,40 @@ static void do_versions_nodetree_image_default_alpha_output(bNodeTree *ntree) } } +static void do_version_ntree_tex_mapping_260(void *UNUSED(data), ID *UNUSED(id), bNodeTree *ntree) +{ + bNode *node; + + for(node=ntree->nodes.first; node; node=node->next) { + TexMapping *tex_mapping= NULL; + ColorMapping *color_mapping= NULL; + + if(node->type == SH_NODE_MAPPING) { + tex_mapping= node->storage; + tex_mapping->projx= PROJ_X; + tex_mapping->projy= PROJ_Y; + tex_mapping->projz= PROJ_Z; + } + else if(ELEM7(node->type, SH_NODE_TEX_IMAGE, SH_NODE_TEX_NOISE, SH_NODE_TEX_SKY, + SH_NODE_TEX_BLEND, SH_NODE_TEX_VORONOI, SH_NODE_TEX_MAGIC, SH_NODE_TEX_MARBLE) || + ELEM6(node->type, SH_NODE_TEX_CLOUDS, SH_NODE_TEX_WOOD, SH_NODE_TEX_MUSGRAVE, + SH_NODE_TEX_STUCCI, SH_NODE_TEX_DISTNOISE, SH_NODE_TEX_ENVIRONMENT)) { + NodeTexBase *base= node->storage; + + if(node->type == SH_NODE_TEX_NOISE) + node->storage= MEM_callocN(sizeof(NodeTexNoise), "NodeTexNoise"); + + tex_mapping= &base->tex_mapping; + color_mapping= &base->color_mapping; + + if(is_zero_v3(tex_mapping->size)) { + default_tex_mapping(tex_mapping); + default_color_mapping(color_mapping); + } + } + } +} + static void do_versions(FileData *fd, Library *lib, Main *main) { /* WATCH IT!!!: pointers from libdata have not been converted */ @@ -12339,6 +12373,13 @@ static void do_versions(FileData *fd, Library *lib, Main *main) cam->sensor_y = DEFAULT_SENSOR_HEIGHT; } } + + { + bNodeTreeType *ntreetype= ntreeGetType(NTREE_SHADER); + + if(ntreetype && ntreetype->foreach_nodetree) + ntreetype->foreach_nodetree(main, NULL, do_version_ntree_tex_mapping_260); + } } /* put compatibility code here until next subversion bump */ diff --git a/source/blender/editors/include/ED_uvedit.h b/source/blender/editors/include/ED_uvedit.h index dd46c5cc7e7..0666884351a 100644 --- a/source/blender/editors/include/ED_uvedit.h +++ b/source/blender/editors/include/ED_uvedit.h @@ -40,6 +40,7 @@ struct Object; struct Scene; struct SpaceImage; struct bContext; +struct bNode; struct wmKeyConfig; /* uvedit_ops.c */ @@ -49,7 +50,7 @@ void ED_keymap_uvedit(struct wmKeyConfig *keyconf); void ED_uvedit_assign_image(struct Main *bmain, struct Scene *scene, struct Object *obedit, struct Image *ima, struct Image *previma); int ED_uvedit_minmax(struct Scene *scene, struct Image *ima, struct Object *obedit, float *min, float *max); -int ED_object_get_active_image(struct Object *ob, int mat_nr, struct Image **ima, struct ImageUser **iuser); +int ED_object_get_active_image(struct Object *ob, int mat_nr, struct Image **ima, struct ImageUser **iuser, struct bNode **node); void ED_object_assign_active_image(struct Main *bmain, struct Object *ob, int mat_nr, struct Image *ima); int ED_uvedit_test_silent(struct Object *obedit); diff --git a/source/blender/editors/interface/interface_node.c b/source/blender/editors/interface/interface_node.c index abf12029b23..982f33bd600 100644 --- a/source/blender/editors/interface/interface_node.c +++ b/source/blender/editors/interface/interface_node.c @@ -252,6 +252,11 @@ static void ui_node_link(bContext *C, void *arg_p, void *event_p) } } + /* also preserve mapping for texture nodes */ + if(node_from->typeinfo->nclass == NODE_CLASS_TEXTURE && + node_prev->typeinfo->nclass == NODE_CLASS_TEXTURE) + memcpy(node_from->storage, node_prev->storage, sizeof(NodeTexBase)); + /* remove node */ ui_node_remove_linked(ntree, node_prev); } diff --git a/source/blender/editors/sculpt_paint/paint_image.c b/source/blender/editors/sculpt_paint/paint_image.c index dc6a647cada..c8c1f083046 100644 --- a/source/blender/editors/sculpt_paint/paint_image.c +++ b/source/blender/editors/sculpt_paint/paint_image.c @@ -489,7 +489,7 @@ static Image *imapaint_face_image(const ImagePaintState *s, int face_index) if(scene_use_new_shading_nodes(s->scene)) { MFace *mf = s->me->mface+face_index; - ED_object_get_active_image(s->ob, mf->mat_nr, &ima, NULL); + ED_object_get_active_image(s->ob, mf->mat_nr, &ima, NULL, NULL); } else { MTFace *tf = s->me->mtface+face_index; @@ -505,7 +505,7 @@ static Image *project_paint_face_image(const ProjPaintState *ps, int face_index) if(scene_use_new_shading_nodes(ps->scene)) { MFace *mf = ps->dm_mface+face_index; - ED_object_get_active_image(ps->ob, mf->mat_nr, &ima, NULL); + ED_object_get_active_image(ps->ob, mf->mat_nr, &ima, NULL, NULL); } else { MTFace *tf = ps->dm_mtface+face_index; diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c index a00adec3dc7..e817565c509 100644 --- a/source/blender/editors/space_image/space_image.c +++ b/source/blender/editors/space_image/space_image.c @@ -597,7 +597,7 @@ static void image_refresh(const bContext *C, ScrArea *UNUSED(sa)) EditFace *efa= EM_get_actFace(em, sloppy); if(efa) - ED_object_get_active_image(obedit, efa->mat_nr, &sima->image, NULL); + ED_object_get_active_image(obedit, efa->mat_nr, &sima->image, NULL, NULL); } else { /* old shading system, we set texface */ diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c index 533d2555b26..45713ff2a8f 100644 --- a/source/blender/editors/space_node/drawnode.c +++ b/source/blender/editors/space_node/drawnode.c @@ -946,28 +946,29 @@ static void node_shader_buts_material(uiLayout *layout, bContext *C, PointerRNA static void node_shader_buts_mapping(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) { + PointerRNA mappingptr = RNA_pointer_get(ptr, "mapping"); uiLayout *row; uiItemL(layout, "Translation:", ICON_NONE); row= uiLayoutRow(layout, 1); - uiItemR(row, ptr, "location", 0, "", ICON_NONE); + uiItemR(row, &mappingptr, "location", 0, "", ICON_NONE); uiItemL(layout, "Rotation:", ICON_NONE); row= uiLayoutRow(layout, 1); - uiItemR(row, ptr, "rotation", 0, "", ICON_NONE); + uiItemR(row, &mappingptr, "rotation", 0, "", ICON_NONE); uiItemL(layout, "Scale:", ICON_NONE); row= uiLayoutRow(layout, 1); - uiItemR(row, ptr, "scale", 0, "", ICON_NONE); + uiItemR(row, &mappingptr, "scale", 0, "", ICON_NONE); #if 0 row= uiLayoutRow(layout, 1); - uiItemR(row, ptr, "use_min", 0, "Min", ICON_NONE); - uiItemR(row, ptr, "min", 0, "", ICON_NONE); + uiItemR(row, &mappingptr, "use_min", 0, "Min", ICON_NONE); + uiItemR(row, &mappingptr, "min", 0, "", ICON_NONE); row= uiLayoutRow(layout, 1); - uiItemR(row, ptr, "use_max", 0, "Max", ICON_NONE); - uiItemR(row, ptr, "max", 0, "", ICON_NONE); + uiItemR(row, &mappingptr, "use_max", 0, "Max", ICON_NONE); + uiItemR(row, &mappingptr, "max", 0, "", ICON_NONE); #endif } diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c index 5b5f79160a1..a932f1b10d9 100644 --- a/source/blender/editors/space_node/node_draw.c +++ b/source/blender/editors/space_node/node_draw.c @@ -108,7 +108,8 @@ void ED_node_changed_update(ID *id, bNode *node) WM_main_add_notifier(NC_WORLD|ND_WORLD_DRAW, id); } else if(treetype==NTREE_COMPOSIT) { - nodeUpdate(edittree, node); + if(node) + nodeUpdate(edittree, node); /* don't use NodeTagIDChanged, it gives far too many recomposites for image, scene layers, ... */ node= node_tree_get_editgroup(nodetree); diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c index 692d45f8303..e23824a2210 100644 --- a/source/blender/editors/space_view3d/drawmesh.c +++ b/source/blender/editors/space_view3d/drawmesh.c @@ -40,11 +40,12 @@ #include "DNA_material_types.h" #include "DNA_meshdata_types.h" +#include "DNA_node_types.h" +#include "DNA_object_types.h" #include "DNA_property_types.h" #include "DNA_scene_types.h" #include "DNA_screen_types.h" #include "DNA_view3d_types.h" -#include "DNA_object_types.h" #include "BKE_DerivedMesh.h" #include "BKE_effect.h" @@ -703,16 +704,19 @@ static void tex_mat_set_texture_cb(void *userData, int mat_nr, void *attribs) GPUVertexAttribs *gattribs = attribs; Image *ima; ImageUser *iuser; + bNode *node; int texture_set= 0; /* draw image texture if we find one */ - if(ED_object_get_active_image(data->ob, mat_nr, &ima, &iuser)) { + if(ED_object_get_active_image(data->ob, mat_nr, &ima, &iuser, &node)) { /* get openl texture */ int mipmap= 1; int bindcode= (ima)? GPU_verify_image(ima, iuser, 0, 0, mipmap): 0; float zero[4] = {0.0f, 0.0f, 0.0f, 0.0f}; if(bindcode) { + NodeTexBase *texbase= node->storage; + /* disable existing material */ GPU_disable_material(); glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, zero); @@ -726,6 +730,10 @@ static void tex_mat_set_texture_cb(void *userData, int mat_nr, void *attribs) glBindTexture(GL_TEXTURE_2D, ima->bindcode); glColor3f(1.0f, 1.0f, 1.0f); + glMatrixMode(GL_TEXTURE); + glLoadMatrixf(texbase->tex_mapping.mat); + glMatrixMode(GL_MODELVIEW); + /* use active UV texture layer */ memset(gattribs, 0, sizeof(*gattribs)); @@ -739,6 +747,10 @@ static void tex_mat_set_texture_cb(void *userData, int mat_nr, void *attribs) } if(!texture_set) { + glMatrixMode(GL_TEXTURE); + glLoadIdentity(); + glMatrixMode(GL_MODELVIEW); + /* disable texture */ glDisable(GL_TEXTURE_2D); glDisable(GL_COLOR_MATERIAL); @@ -834,6 +846,10 @@ void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *o glBindTexture(GL_TEXTURE_2D, 0); glFrontFace(GL_CCW); + glMatrixMode(GL_TEXTURE); + glLoadIdentity(); + glMatrixMode(GL_MODELVIEW); + /* faceselect mode drawing over textured mesh */ if(!(ob == scene->obedit) && faceselect) draw_mesh_face_select(rv3d, ob->data, dm); diff --git a/source/blender/editors/uvedit/uvedit_ops.c b/source/blender/editors/uvedit/uvedit_ops.c index 3019dcf1b8d..02653d29a50 100644 --- a/source/blender/editors/uvedit/uvedit_ops.c +++ b/source/blender/editors/uvedit/uvedit_ops.c @@ -101,7 +101,7 @@ static int is_image_texture_node(bNode *node) return ELEM(node->type, SH_NODE_TEX_IMAGE, SH_NODE_TEX_ENVIRONMENT); } -int ED_object_get_active_image(Object *ob, int mat_nr, Image **ima, ImageUser **iuser) +int ED_object_get_active_image(Object *ob, int mat_nr, Image **ima, ImageUser **iuser, bNode **node_r) { Material *ma= give_current_material(ob, mat_nr); bNode *node= (ma && ma->use_nodes)? nodeGetActiveTexture(ma->nodetree): NULL; @@ -109,11 +109,13 @@ int ED_object_get_active_image(Object *ob, int mat_nr, Image **ima, ImageUser ** if(node && is_image_texture_node(node)) { if(ima) *ima= (Image*)node->id; if(iuser) *iuser= NULL; + if(node_r) *node_r= node; return TRUE; } if(ima) *ima= NULL; if(iuser) *iuser= NULL; + if(node_r) *node_r= node; return FALSE; } diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index 13237495cea..3103bb9b7b3 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -35,6 +35,7 @@ #include "DNA_ID.h" #include "DNA_vec_types.h" #include "DNA_listBase.h" +#include "DNA_texture_types.h" struct ID; struct ListBase; @@ -426,25 +427,39 @@ typedef struct NodeColorspill { float uspillr, uspillg, uspillb; }NodeColorspill; +typedef struct NodeTexBase { + TexMapping tex_mapping; + ColorMapping color_mapping; +} NodeTexBase; + +typedef struct NodeTexNoise { + NodeTexBase base; +} NodeTexNoise; + typedef struct NodeTexSky { + NodeTexBase base; float sun_direction[3]; float turbidity; } NodeTexSky; typedef struct NodeTexImage { + NodeTexBase base; int color_space; } NodeTexImage; typedef struct NodeTexEnvironment { + NodeTexBase base; int color_space; } NodeTexEnvironment; typedef struct NodeTexBlend { + NodeTexBase base; int progression; int axis; } NodeTexBlend; typedef struct NodeTexClouds { + NodeTexBase base; int hard; int depth; int basis; @@ -452,16 +467,19 @@ typedef struct NodeTexClouds { } NodeTexClouds; typedef struct NodeTexVoronoi { + NodeTexBase base; int distance_metric; int coloring; } NodeTexVoronoi; typedef struct NodeTexMusgrave { + NodeTexBase base; int type; int basis; } NodeTexMusgrave; typedef struct NodeTexMarble { + NodeTexBase base; int type; int wave; int basis; @@ -471,11 +489,13 @@ typedef struct NodeTexMarble { } NodeTexMarble; typedef struct NodeTexMagic { + NodeTexBase base; int depth; int pad; } NodeTexMagic; typedef struct NodeTexStucci { + NodeTexBase base; int type; int basis; int hard; @@ -483,11 +503,13 @@ typedef struct NodeTexStucci { } NodeTexStucci; typedef struct NodeTexDistortedNoise { + NodeTexBase base; int basis; int distortion_basis; } NodeTexDistortedNoise; typedef struct NodeTexWood { + NodeTexBase base; int type; int wave; int basis; diff --git a/source/blender/makesdna/DNA_texture_types.h b/source/blender/makesdna/DNA_texture_types.h index 4cf31edb891..1ecca5a0b2a 100644 --- a/source/blender/makesdna/DNA_texture_types.h +++ b/source/blender/makesdna/DNA_texture_types.h @@ -267,11 +267,13 @@ typedef struct Tex { } Tex; -/* used for mapping node. note: rot is in degrees */ +/* used for mapping and texture nodes. note: rot is in degrees */ typedef struct TexMapping { float loc[3], rot[3], size[3]; int flag; + char projx, projy, projz, mapping; + int pad; float mat[4][4]; float min[3], max[3]; @@ -279,10 +281,24 @@ typedef struct TexMapping { } TexMapping; -/* texmap->flag */ -#define TEXMAP_CLIP_MIN 1 -#define TEXMAP_CLIP_MAX 2 +typedef struct ColorMapping { + struct ColorBand coba; + float bright, contrast, saturation; + int flag; + + float blend_color[3]; + float blend_factor; + int blend_type, pad[3]; +} ColorMapping; + +/* texmap->flag */ +#define TEXMAP_CLIP_MIN 1 +#define TEXMAP_CLIP_MAX 2 +#define TEXMAP_UNIT_MATRIX 4 + +/* colormap->flag */ +#define COLORMAP_USE_RAMP 1 /* **************** TEX ********************* */ diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index 55432511730..db80f8906fd 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -446,15 +446,6 @@ static void rna_NodeSocketVector_range(PointerRNA *ptr, float *min, float *max) *max = val->max; } -static void rna_Node_mapping_update(Main *bmain, Scene *scene, PointerRNA *ptr) -{ - bNode *node= (bNode*)ptr->data; - - init_mapping((TexMapping *)node->storage); - - rna_Node_update(bmain, scene, ptr); -} - static void rna_Node_image_layer_update(Main *bmain, Scene *scene, PointerRNA *ptr) { bNode *node= (bNode*)ptr->data; @@ -1104,48 +1095,12 @@ static void def_sh_material(StructRNA *srna) static void def_sh_mapping(StructRNA *srna) { PropertyRNA *prop; - - RNA_def_struct_sdna_from(srna, "TexMapping", "storage"); - prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_TRANSLATION); - RNA_def_property_float_sdna(prop, NULL, "loc"); - RNA_def_property_ui_text(prop, "Location", "Location offset for the input coordinate"); - RNA_def_property_ui_range(prop, -10.f, 10.f, 0.1f, 2); - RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_mapping_update"); - - prop= RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_XYZ); /* Not PROP_EUL, this is already in degrees, not radians */ - RNA_def_property_float_sdna(prop, NULL, "rot"); - RNA_def_property_ui_text(prop, "Rotation", "Rotation offset for the input coordinate"); - RNA_def_property_ui_range(prop, -360.f, 360.f, 1.f, 2); - RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_mapping_update"); - - prop= RNA_def_property(srna, "scale", PROP_FLOAT, PROP_XYZ); - RNA_def_property_float_sdna(prop, NULL, "size"); - RNA_def_property_ui_text(prop, "Scale", "Scale adjustment for the input coordinate"); - RNA_def_property_ui_range(prop, -10.f, 10.f, 0.1f, 2); - RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_mapping_update"); - - prop = RNA_def_property(srna, "use_min", PROP_BOOLEAN, PROP_NONE); - RNA_def_property_boolean_sdna(prop, NULL, "flag", TEXMAP_CLIP_MIN); - RNA_def_property_ui_text(prop, "Clamp Minimum", "Clamp the output coordinate to a minimum value"); - RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); - - prop= RNA_def_property(srna, "min", PROP_FLOAT, PROP_XYZ); - RNA_def_property_float_sdna(prop, NULL, "min"); - RNA_def_property_ui_text(prop, "Minimum", "Minimum value to clamp coordinate to"); - RNA_def_property_ui_range(prop, -10.f, 10.f, 0.1f, 2); - RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); - - prop = RNA_def_property(srna, "use_max", PROP_BOOLEAN, PROP_NONE); - RNA_def_property_boolean_sdna(prop, NULL, "flag", TEXMAP_CLIP_MAX); - RNA_def_property_ui_text(prop, "Clamp Maximum", "Clamp the output coordinate to a maximum value"); - RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); - - prop= RNA_def_property(srna, "max", PROP_FLOAT, PROP_XYZ); - RNA_def_property_float_sdna(prop, NULL, "max"); - RNA_def_property_ui_text(prop, "Maximum", "Maximum value to clamp coordinate to"); - RNA_def_property_ui_range(prop, -10.f, 10.f, 0.1f, 2); - RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); + prop= RNA_def_property(srna, "mapping", PROP_POINTER, PROP_NONE); + RNA_def_property_pointer_sdna(prop, NULL, "storage"); + RNA_def_property_struct_type(prop, "TexMapping"); + RNA_def_property_flag(prop, PROP_NEVER_NULL); + RNA_def_property_ui_text(prop, "Mapping", "Texture coordinate mapping settings"); } static void def_sh_geometry(StructRNA *srna) @@ -1177,11 +1132,33 @@ static void def_sh_attribute(StructRNA *srna) RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); } +static void def_sh_tex(StructRNA *srna) +{ + PropertyRNA *prop; + + prop= RNA_def_property(srna, "texture_mapping", PROP_POINTER, PROP_NONE); + RNA_def_property_pointer_sdna(prop, NULL, "base.tex_mapping"); + RNA_def_property_flag(prop, PROP_NEVER_NULL); + RNA_def_property_ui_text(prop, "Texture Mapping", "Texture coordinate mapping settings"); + + prop= RNA_def_property(srna, "color_mapping", PROP_POINTER, PROP_NONE); + RNA_def_property_pointer_sdna(prop, NULL, "base.color_mapping"); + RNA_def_property_flag(prop, PROP_NEVER_NULL); + RNA_def_property_ui_text(prop, "Color Mapping", "Color mapping settings"); +} + +static void def_sh_tex_noise(StructRNA *srna) +{ + RNA_def_struct_sdna_from(srna, "NodeTexNoise", "storage"); + def_sh_tex(srna); +} + static void def_sh_tex_sky(StructRNA *srna) { PropertyRNA *prop; RNA_def_struct_sdna_from(srna, "NodeTexSky", "storage"); + def_sh_tex(srna); prop = RNA_def_property(srna, "sun_direction", PROP_FLOAT, PROP_DIRECTION); RNA_def_property_ui_text(prop, "Sun Direction", "Direction from where the sun is shining"); @@ -1209,6 +1186,7 @@ static void def_sh_tex_environment(StructRNA *srna) RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); RNA_def_struct_sdna_from(srna, "NodeTexImage", "storage"); + def_sh_tex(srna); prop= RNA_def_property(srna, "color_space", PROP_ENUM, PROP_NONE); RNA_def_property_enum_items(prop, prop_color_space_items); @@ -1233,6 +1211,7 @@ static void def_sh_tex_image(StructRNA *srna) RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update"); RNA_def_struct_sdna_from(srna, "NodeTexImage", "storage"); + def_sh_tex(srna); prop= RNA_def_property(srna, "color_space", PROP_ENUM, PROP_NONE); RNA_def_property_enum_items(prop, prop_color_space_items); @@ -1260,6 +1239,7 @@ static void def_sh_tex_blend(StructRNA *srna) PropertyRNA *prop; RNA_def_struct_sdna_from(srna, "NodeTexBlend", "storage"); + def_sh_tex(srna); prop= RNA_def_property(srna, "progression", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "progression"); @@ -1279,6 +1259,7 @@ static void def_sh_tex_clouds(StructRNA *srna) PropertyRNA *prop; RNA_def_struct_sdna_from(srna, "NodeTexClouds", "storage"); + def_sh_tex(srna); prop= RNA_def_property(srna, "noise_basis", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "basis"); @@ -1304,6 +1285,7 @@ static void def_sh_tex_distnoise(StructRNA *srna) PropertyRNA *prop; RNA_def_struct_sdna_from(srna, "NodeTexDistortedNoise", "storage"); + def_sh_tex(srna); prop= RNA_def_property(srna, "noise_basis", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "basis"); @@ -1323,6 +1305,7 @@ static void def_sh_tex_magic(StructRNA *srna) PropertyRNA *prop; RNA_def_struct_sdna_from(srna, "NodeTexMagic", "storage"); + def_sh_tex(srna); prop= RNA_def_property(srna, "turbulence_depth", PROP_INT, PROP_NONE); RNA_def_property_int_sdna(prop, NULL, "depth"); @@ -1342,6 +1325,7 @@ static void def_sh_tex_marble(StructRNA *srna) PropertyRNA *prop; RNA_def_struct_sdna_from(srna, "NodeTexMarble", "storage"); + def_sh_tex(srna); prop= RNA_def_property(srna, "marble_type", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "type"); @@ -1387,6 +1371,7 @@ static void def_sh_tex_musgrave(StructRNA *srna) PropertyRNA *prop; RNA_def_struct_sdna_from(srna, "NodeTexMusgrave", "storage"); + def_sh_tex(srna); prop= RNA_def_property(srna, "musgrave_type", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "type"); @@ -1412,6 +1397,7 @@ static void def_sh_tex_stucci(StructRNA *srna) PropertyRNA *prop; RNA_def_struct_sdna_from(srna, "NodeTexStucci", "storage"); + def_sh_tex(srna); prop= RNA_def_property(srna, "stucci_type", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "type"); @@ -1454,6 +1440,7 @@ static void def_sh_tex_voronoi(StructRNA *srna) PropertyRNA *prop; RNA_def_struct_sdna_from(srna, "NodeTexVoronoi", "storage"); + def_sh_tex(srna); prop= RNA_def_property(srna, "distance_metric", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "distance_metric"); @@ -1480,6 +1467,7 @@ static void def_sh_tex_wood(StructRNA *srna) PropertyRNA *prop; RNA_def_struct_sdna_from(srna, "NodeTexWood", "storage"); + def_sh_tex(srna); prop= RNA_def_property(srna, "noise_basis", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "basis"); diff --git a/source/blender/makesrna/intern/rna_nodetree_types.h b/source/blender/makesrna/intern/rna_nodetree_types.h index 6744dc77469..c74d8943bcf 100644 --- a/source/blender/makesrna/intern/rna_nodetree_types.h +++ b/source/blender/makesrna/intern/rna_nodetree_types.h @@ -79,7 +79,7 @@ DefNode( ShaderNode, SH_NODE_GEOMETRY, 0, "GE DefNode( ShaderNode, SH_NODE_LIGHT_PATH, 0, "LIGHT_PATH", Light_path, "Light_path", "") DefNode( ShaderNode, SH_NODE_TEX_IMAGE, def_sh_tex_image, "TEX_IMAGE", TexImage, "Image Texture", "") DefNode( ShaderNode, SH_NODE_TEX_ENVIRONMENT, def_sh_tex_environment, "TEX_ENVIRONMENT", TexEnvironment, "Environment Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_NOISE, 0, "TEX_NOISE", TexNoise, "Noise Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_NOISE, def_sh_tex_noise, "TEX_NOISE", TexNoise, "Noise Texture", "") DefNode( ShaderNode, SH_NODE_TEX_SKY, def_sh_tex_sky, "TEX_SKY", TexSky, "Sky Texture", "") DefNode( ShaderNode, SH_NODE_TEX_BLEND, def_sh_tex_blend, "TEX_BLEND", TexBlend, "Blend Texture", "") DefNode( ShaderNode, SH_NODE_TEX_CLOUDS, def_sh_tex_clouds, "TEX_CLOUDS", TexClouds, "Clouds Texture", "") diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index 5793a2ba6f1..8315ff4f2c2 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -114,13 +114,14 @@ EnumPropertyItem viewport_shade_items[] = { #include "BLI_math.h" -#include "BKE_screen.h" #include "BKE_animsys.h" #include "BKE_brush.h" #include "BKE_colortools.h" #include "BKE_context.h" #include "BKE_depsgraph.h" #include "BKE_paint.h" +#include "BKE_scene.h" +#include "BKE_screen.h" #include "ED_image.h" #include "ED_node.h" @@ -458,11 +459,12 @@ static EnumPropertyItem *rna_SpaceView3D_viewport_shade_itemf(bContext *UNUSED(C RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_WIRE); RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_SOLID); RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_TEXTURE); - RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_MATERIAL); + + if(scene_use_new_shading_nodes(scene)) + RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_MATERIAL); - if(type->view_draw) { + if(type->view_draw) RNA_enum_items_add_value(&item, &totitem, viewport_shade_items, OB_RENDER); - } RNA_enum_item_end(&item, &totitem); *free= 1; diff --git a/source/blender/makesrna/intern/rna_texture.c b/source/blender/makesrna/intern/rna_texture.c index c420ecefdae..aac4da9e6f6 100644 --- a/source/blender/makesrna/intern/rna_texture.c +++ b/source/blender/makesrna/intern/rna_texture.c @@ -75,6 +75,25 @@ EnumPropertyItem texture_type_items[] = { {TEX_WOOD, "WOOD", ICON_TEXTURE, "Wood", "Procedural - Wave generated bands or rings, with optional noise"}, {0, NULL, 0, NULL, NULL}}; +EnumPropertyItem blend_type_items[] = { + {MTEX_BLEND, "MIX", 0, "Mix", ""}, + {MTEX_ADD, "ADD", 0, "Add", ""}, + {MTEX_SUB, "SUBTRACT", 0, "Subtract", ""}, + {MTEX_MUL, "MULTIPLY", 0, "Multiply", ""}, + {MTEX_SCREEN, "SCREEN", 0, "Screen", ""}, + {MTEX_OVERLAY, "OVERLAY", 0, "Overlay", ""}, + {MTEX_DIFF, "DIFFERENCE", 0, "Difference", ""}, + {MTEX_DIV, "DIVIDE", 0, "Divide", ""}, + {MTEX_DARK, "DARKEN", 0, "Darken", ""}, + {MTEX_LIGHT, "LIGHTEN", 0, "Lighten", ""}, + {MTEX_BLEND_HUE, "HUE", 0, "Hue", ""}, + {MTEX_BLEND_SAT, "SATURATION", 0, "Saturation", ""}, + {MTEX_BLEND_VAL, "VALUE", 0, "Value", ""}, + {MTEX_BLEND_COLOR, "COLOR", 0, "Color", ""}, + {MTEX_SOFT_LIGHT, "SOFT_LIGHT", 0, "Soft Light", ""}, + {MTEX_LIN_LIGHT , "LINEAR_LIGHT", 0, "Linear Light", ""}, + {0, NULL, 0, NULL, NULL}}; + #ifdef RNA_RUNTIME #include "MEM_guardedalloc.h" @@ -131,13 +150,33 @@ static StructRNA *rna_Texture_refine(struct PointerRNA *ptr) } } -static void rna_Texture_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr) +static void rna_Texture_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr) { - Tex *tex= ptr->id.data; + ID *id= ptr->id.data; - DAG_id_tag_update(&tex->id, 0); - WM_main_add_notifier(NC_TEXTURE, tex); - WM_main_add_notifier(NC_MATERIAL|ND_SHADING_DRAW, NULL); + if(GS(id->name) == ID_TE) { + Tex *tex= ptr->id.data; + + DAG_id_tag_update(&tex->id, 0); + WM_main_add_notifier(NC_TEXTURE, tex); + WM_main_add_notifier(NC_MATERIAL|ND_SHADING_DRAW, NULL); + } + else if(GS(id->name) == ID_NT) { + bNodeTree *ntree= ptr->id.data; + ED_node_generic_update(bmain, ntree, NULL); + } +} + +static void rna_Texture_mapping_update(Main *bmain, Scene *scene, PointerRNA *ptr) +{ + TexMapping *texmap = ptr->data; + init_tex_mapping(texmap); + rna_Texture_update(bmain, scene, ptr); +} + +static void rna_Color_mapping_update(Main *bmain, Scene *scene, PointerRNA *ptr) +{ + /* nothing to do */ } static void rna_Texture_voxeldata_update(Main *bmain, Scene *scene, PointerRNA *ptr) @@ -400,46 +439,133 @@ static char *rna_VoxelData_path(PointerRNA *UNUSED(ptr)) static void rna_def_texmapping(BlenderRNA *brna) { + static EnumPropertyItem prop_mapping_items[] = { + {MTEX_FLAT, "FLAT", 0, "Flat", "Map X and Y coordinates directly"}, + {MTEX_CUBE, "CUBE", 0, "Cube", "Map using the normal vector"}, + {MTEX_TUBE, "TUBE", 0, "Tube", "Map with Z as central axis"}, + {MTEX_SPHERE, "SPHERE", 0, "Sphere", "Map with Z as central axis"}, + {0, NULL, 0, NULL, NULL}}; + + static EnumPropertyItem prop_xyz_mapping_items[] = { + {0, "NONE", 0, "None", ""}, + {1, "X", 0, "X", ""}, + {2, "Y", 0, "Y", ""}, + {3, "Z", 0, "Z", ""}, + {0, NULL, 0, NULL, NULL}}; + StructRNA *srna; PropertyRNA *prop; srna= RNA_def_struct(brna, "TexMapping", NULL); - RNA_def_struct_ui_text(srna, "Texture Mapping", "Mapping settings"); + RNA_def_struct_ui_text(srna, "Texture Mapping", "Texture coordinate mapping settings"); prop= RNA_def_property(srna, "location", PROP_FLOAT, PROP_TRANSLATION); RNA_def_property_float_sdna(prop, NULL, "loc"); RNA_def_property_ui_text(prop, "Location", ""); - RNA_def_property_update(prop, 0, "rna_Texture_update"); + RNA_def_property_update(prop, 0, "rna_Texture_mapping_update"); - prop= RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_EULER); + prop= RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_XYZ); /* Not PROP_EUL, this is already in degrees, not radians */ RNA_def_property_float_sdna(prop, NULL, "rot"); RNA_def_property_ui_text(prop, "Rotation", ""); - RNA_def_property_update(prop, 0, "rna_Texture_update"); + RNA_def_property_update(prop, 0, "rna_Texture_mapping_update"); prop= RNA_def_property(srna, "scale", PROP_FLOAT, PROP_XYZ); RNA_def_property_float_sdna(prop, NULL, "size"); RNA_def_property_ui_text(prop, "Scale", ""); - RNA_def_property_update(prop, 0, "rna_Texture_update"); + RNA_def_property_update(prop, 0, "rna_Texture_mapping_update"); prop= RNA_def_property(srna, "min", PROP_FLOAT, PROP_XYZ); RNA_def_property_float_sdna(prop, NULL, "min"); RNA_def_property_ui_text(prop, "Minimum", "Minimum value for clipping"); - RNA_def_property_update(prop, 0, "rna_Texture_update"); + RNA_def_property_update(prop, 0, "rna_Texture_mapping_update"); prop= RNA_def_property(srna, "max", PROP_FLOAT, PROP_XYZ); RNA_def_property_float_sdna(prop, NULL, "max"); RNA_def_property_ui_text(prop, "Maximum", "Maximum value for clipping"); - RNA_def_property_update(prop, 0, "rna_Texture_update"); + RNA_def_property_update(prop, 0, "rna_Texture_mapping_update"); prop= RNA_def_property(srna, "use_min", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "flag", TEXMAP_CLIP_MIN); RNA_def_property_ui_text(prop, "Has Minimum", "Whether to use minimum clipping value"); - RNA_def_property_update(prop, 0, "rna_Texture_update"); + RNA_def_property_update(prop, 0, "rna_Texture_mapping_update"); prop= RNA_def_property(srna, "use_max", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "flag", TEXMAP_CLIP_MAX); RNA_def_property_ui_text(prop, "Has Maximum", "Whether to use maximum clipping value"); - RNA_def_property_update(prop, 0, "rna_Texture_update"); + RNA_def_property_update(prop, 0, "rna_Texture_mapping_update"); + + prop= RNA_def_property(srna, "mapping_x", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "projx"); + RNA_def_property_enum_items(prop, prop_xyz_mapping_items); + RNA_def_property_ui_text(prop, "X Mapping", ""); + RNA_def_property_update(prop, 0, "rna_Texture_mapping_update"); + + prop= RNA_def_property(srna, "mapping_y", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "projy"); + RNA_def_property_enum_items(prop, prop_xyz_mapping_items); + RNA_def_property_ui_text(prop, "Y Mapping", ""); + RNA_def_property_update(prop, 0, "rna_Texture_mapping_update"); + + prop= RNA_def_property(srna, "mapping_z", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "projz"); + RNA_def_property_enum_items(prop, prop_xyz_mapping_items); + RNA_def_property_ui_text(prop, "Z Mapping", ""); + RNA_def_property_update(prop, 0, "rna_Texture_mapping_update"); + + prop= RNA_def_property(srna, "mapping", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_items(prop, prop_mapping_items); + RNA_def_property_ui_text(prop, "Mapping", ""); + RNA_def_property_update(prop, 0, "rna_Texture_mapping_update"); +} + +static void rna_def_colormapping(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna= RNA_def_struct(brna, "ColorMapping", NULL); + RNA_def_struct_ui_text(srna, "Color Mapping", "Color mapping settings"); + + prop= RNA_def_property(srna, "use_color_ramp", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", COLORMAP_USE_RAMP); + RNA_def_property_ui_text(prop, "Use Color Ramp", "Toggle color ramp operations"); + RNA_def_property_update(prop, 0, "rna_Color_mapping_update"); + + prop= RNA_def_property(srna, "color_ramp", PROP_POINTER, PROP_NEVER_NULL); + RNA_def_property_pointer_sdna(prop, NULL, "coba"); + RNA_def_property_struct_type(prop, "ColorRamp"); + RNA_def_property_ui_text(prop, "Color Ramp", ""); + RNA_def_property_update(prop, 0, "rna_Color_mapping_update"); + + prop= RNA_def_property(srna, "brightness", PROP_FLOAT, PROP_NONE); + RNA_def_property_float_sdna(prop, NULL, "bright"); + RNA_def_property_range(prop, 0, 2); + RNA_def_property_ui_text(prop, "Brightness", "Adjust the brightness of the texture"); + RNA_def_property_update(prop, 0, "rna_Color_mapping_update"); + + prop= RNA_def_property(srna, "contrast", PROP_FLOAT, PROP_NONE); + RNA_def_property_range(prop, 0.01, 5); + RNA_def_property_ui_text(prop, "Contrast", "Adjust the contrast of the texture"); + RNA_def_property_update(prop, 0, "rna_Color_mapping_update"); + + prop= RNA_def_property(srna, "saturation", PROP_FLOAT, PROP_NONE); + RNA_def_property_range(prop, 0, 2); + RNA_def_property_ui_text(prop, "Saturation", "Adjust the saturation of colors in the texture"); + RNA_def_property_update(prop, 0, "rna_Color_mapping_update"); + + prop= RNA_def_property(srna, "blend_type", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_items(prop, blend_type_items); + RNA_def_property_ui_text(prop, "Blend Type", "Mode used to mix with texture output color"); + RNA_def_property_update(prop, 0, "rna_Color_mapping_update"); + + prop= RNA_def_property(srna, "blend_color", PROP_FLOAT, PROP_COLOR); + RNA_def_property_array(prop, 3); + RNA_def_property_ui_text(prop, "Color", "Blend color to mix with texture output color"); + RNA_def_property_update(prop, 0, "rna_Color_mapping_update"); + + prop= RNA_def_property(srna, "blend_factor", PROP_FLOAT, PROP_NONE); + RNA_def_property_ui_text(prop, "Blend Factor", ""); + RNA_def_property_update(prop, 0, "rna_Color_mapping_update"); } static void rna_def_mtex(BlenderRNA *brna) @@ -447,25 +573,6 @@ static void rna_def_mtex(BlenderRNA *brna) StructRNA *srna; PropertyRNA *prop; - static EnumPropertyItem prop_blend_type_items[] = { - {MTEX_BLEND, "MIX", 0, "Mix", ""}, - {MTEX_ADD, "ADD", 0, "Add", ""}, - {MTEX_SUB, "SUBTRACT", 0, "Subtract", ""}, - {MTEX_MUL, "MULTIPLY", 0, "Multiply", ""}, - {MTEX_SCREEN, "SCREEN", 0, "Screen", ""}, - {MTEX_OVERLAY, "OVERLAY", 0, "Overlay", ""}, - {MTEX_DIFF, "DIFFERENCE", 0, "Difference", ""}, - {MTEX_DIV, "DIVIDE", 0, "Divide", ""}, - {MTEX_DARK, "DARKEN", 0, "Darken", ""}, - {MTEX_LIGHT, "LIGHTEN", 0, "Lighten", ""}, - {MTEX_BLEND_HUE, "HUE", 0, "Hue", ""}, - {MTEX_BLEND_SAT, "SATURATION", 0, "Saturation", ""}, - {MTEX_BLEND_VAL, "VALUE", 0, "Value", ""}, - {MTEX_BLEND_COLOR, "COLOR", 0, "Color", ""}, - {MTEX_SOFT_LIGHT, "SOFT_LIGHT", 0, "Soft Light", ""}, - {MTEX_LIN_LIGHT , "LINEAR_LIGHT", 0, "Linear Light", ""}, - {0, NULL, 0, NULL, NULL}}; - static EnumPropertyItem output_node_items[] = { {0, "DUMMY", 0, "Dummy", ""}, {0, NULL, 0, NULL, NULL}}; @@ -512,7 +619,7 @@ static void rna_def_mtex(BlenderRNA *brna) prop= RNA_def_property(srna, "blend_type", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "blendtype"); - RNA_def_property_enum_items(prop, prop_blend_type_items); + RNA_def_property_enum_items(prop, blend_type_items); RNA_def_property_ui_text(prop, "Blend Type", "Mode used to apply the texture"); RNA_def_property_update(prop, 0, "rna_TextureSlot_update"); @@ -1866,6 +1973,7 @@ void RNA_def_texture(BlenderRNA *brna) rna_def_mtex(brna); rna_def_environment_map(brna); rna_def_texmapping(brna); + rna_def_colormapping(brna); } #endif diff --git a/source/blender/nodes/composite/nodes/node_composite_mapValue.c b/source/blender/nodes/composite/nodes/node_composite_mapValue.c index 81e963d4790..6930fbf0664 100644 --- a/source/blender/nodes/composite/nodes/node_composite_mapValue.c +++ b/source/blender/nodes/composite/nodes/node_composite_mapValue.c @@ -79,7 +79,7 @@ static void node_composit_exec_map_value(void *UNUSED(data), bNode *node, bNodeS static void node_composit_init_map_value(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) { - node->storage= add_mapping(); + node->storage= add_tex_mapping(); } void register_node_type_cmp_map_value(ListBase *lb) diff --git a/source/blender/nodes/shader/node_shader_util.c b/source/blender/nodes/shader/node_shader_util.c index 8c5750f3ae2..468f593773d 100644 --- a/source/blender/nodes/shader/node_shader_util.c +++ b/source/blender/nodes/shader/node_shader_util.c @@ -308,3 +308,24 @@ void ntreeExecGPUNodes(bNodeTreeExec *exec, GPUMaterial *mat, int do_outputs) } } } + +void node_shader_gpu_tex_mapping(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *UNUSED(out)) +{ + NodeTexBase *base= node->storage; + TexMapping *texmap= &base->tex_mapping; + float domin= (texmap->flag & TEXMAP_CLIP_MIN) != 0; + float domax= (texmap->flag & TEXMAP_CLIP_MAX) != 0; + + if(domin || domax || !(texmap->flag & TEXMAP_UNIT_MATRIX)) { + GPUNodeLink *tmat = GPU_uniform((float*)texmap->mat); + GPUNodeLink *tmin = GPU_uniform(texmap->min); + GPUNodeLink *tmax = GPU_uniform(texmap->max); + GPUNodeLink *tdomin = GPU_uniform(&domin); + GPUNodeLink *tdomax = GPU_uniform(&domax); + + GPU_link(mat, "mapping", in[0].link, tmat, tmin, tmax, tdomin, tdomax, &in[0].link); + } + else + printf("skip mapping!\n"); +} + diff --git a/source/blender/nodes/shader/node_shader_util.h b/source/blender/nodes/shader/node_shader_util.h index f18310d351d..19976ada3ec 100644 --- a/source/blender/nodes/shader/node_shader_util.h +++ b/source/blender/nodes/shader/node_shader_util.h @@ -128,6 +128,7 @@ void nodestack_get_vec(float *in, short type_in, bNodeStack *ns); void node_gpu_stack_from_data(struct GPUNodeStack *gs, int type, struct bNodeStack *ns); void node_data_from_gpu_stack(struct bNodeStack *ns, struct GPUNodeStack *gs); +void node_shader_gpu_tex_mapping(struct GPUMaterial *mat, struct bNode *node, struct GPUNodeStack *in, struct GPUNodeStack *out); void ntreeExecGPUNodes(struct bNodeTreeExec *exec, struct GPUMaterial *mat, int do_outputs); diff --git a/source/blender/nodes/shader/nodes/node_shader_mapping.c b/source/blender/nodes/shader/nodes/node_shader_mapping.c index 36ac25dbd4d..2eff74651ef 100644 --- a/source/blender/nodes/shader/nodes/node_shader_mapping.c +++ b/source/blender/nodes/shader/nodes/node_shader_mapping.c @@ -67,9 +67,9 @@ static void node_shader_exec_mapping(void *UNUSED(data), bNode *node, bNodeStack } -static void node_shader_init_mapping(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) +static void node_shader_default_mapping(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) { - node->storage= add_mapping(); + node->storage= add_tex_mapping(); } static int gpu_shader_mapping(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) @@ -94,7 +94,7 @@ void register_node_type_sh_mapping(ListBase *lb) node_type_compatibility(&ntype, NODE_OLD_SHADING|NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_mapping_in, sh_node_mapping_out); node_type_size(&ntype, 240, 160, 320); - node_type_init(&ntype, node_shader_init_mapping); + node_type_init(&ntype, node_shader_default_mapping); node_type_storage(&ntype, "TexMapping", node_free_standard_storage, node_copy_standard_storage); node_type_exec(&ntype, node_shader_exec_mapping); node_type_gpu(&ntype, gpu_shader_mapping); diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_blend.c b/source/blender/nodes/shader/nodes/node_shader_tex_blend.c index 659b0cadd5b..50bafede2aa 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_blend.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_blend.c @@ -88,6 +88,8 @@ static bNodeSocketTemplate sh_node_tex_blend_out[]= { static void node_shader_init_tex_blend(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) { NodeTexBlend *tex = MEM_callocN(sizeof(NodeTexBlend), "NodeTexBlend"); + default_tex_mapping(&tex->base.tex_mapping); + default_color_mapping(&tex->base.color_mapping); tex->progression = SHD_BLEND_LINEAR; tex->axis = SHD_BLEND_HORIZONTAL; @@ -109,11 +111,13 @@ static void node_shader_exec_tex_blend(void *data, bNode *node, bNodeStack **in, out[0]->vec[0]= blend(vec, tex->progression, tex->axis); } -static int node_shader_gpu_tex_blend(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_blend(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) { if(!in[0].link) in[0].link = GPU_attribute(CD_ORCO, ""); + node_shader_gpu_tex_mapping(mat, node, in, out); + return GPU_stack_link(mat, "node_tex_blend", in, out); } diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_clouds.c b/source/blender/nodes/shader/nodes/node_shader_tex_clouds.c index c38dd155a7b..12f117995bc 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_clouds.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_clouds.c @@ -68,6 +68,8 @@ static bNodeSocketTemplate sh_node_tex_clouds_out[]= { static void node_shader_init_tex_clouds(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) { NodeTexClouds *tex = MEM_callocN(sizeof(NodeTexClouds), "NodeTexClouds"); + default_tex_mapping(&tex->base.tex_mapping); + default_color_mapping(&tex->base.color_mapping); tex->basis = SHD_NOISE_PERLIN; tex->hard = 0; tex->depth = 2; @@ -92,11 +94,13 @@ static void node_shader_exec_tex_clouds(void *data, bNode *node, bNodeStack **in out[1]->vec[0]= clouds(tex->basis, tex->hard, tex->depth, size, vec, out[0]->vec); } -static int node_shader_gpu_tex_clouds(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_clouds(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) { if(!in[0].link) in[0].link = GPU_attribute(CD_ORCO, ""); + node_shader_gpu_tex_mapping(mat, node, in, out); + return GPU_stack_link(mat, "node_tex_clouds", in, out); } diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_distnoise.c b/source/blender/nodes/shader/nodes/node_shader_tex_distnoise.c index c28fef9e472..56a87949fc7 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_distnoise.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_distnoise.c @@ -65,6 +65,8 @@ static bNodeSocketTemplate sh_node_tex_distnoise_out[]= { static void node_shader_init_tex_distorted_noise(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) { NodeTexDistortedNoise *tex = MEM_callocN(sizeof(NodeTexDistortedNoise), "NodeTexDistortedNoise"); + default_tex_mapping(&tex->base.tex_mapping); + default_color_mapping(&tex->base.color_mapping); tex->basis = SHD_NOISE_PERLIN; tex->distortion_basis = SHD_NOISE_PERLIN; @@ -89,11 +91,13 @@ static void node_shader_exec_tex_distnoise(void *data, bNode *node, bNodeStack * out[0]->vec[0]= distorted_noise(vec, size, tex->basis, tex->distortion_basis, distortion); } -static int node_shader_gpu_tex_distnoise(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_distnoise(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) { if(!in[0].link) in[0].link = GPU_attribute(CD_ORCO, ""); + node_shader_gpu_tex_mapping(mat, node, in, out); + return GPU_stack_link(mat, "node_tex_distnoise", in, out); } diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_environment.c b/source/blender/nodes/shader/nodes/node_shader_tex_environment.c index 7fbd5142e22..3c0a1a22e5a 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_environment.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_environment.c @@ -44,6 +44,8 @@ static bNodeSocketTemplate sh_node_tex_environment_out[]= { static void node_shader_init_tex_environment(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) { NodeTexEnvironment *tex = MEM_callocN(sizeof(NodeTexEnvironment), "NodeTexEnvironment"); + default_tex_mapping(&tex->base.tex_mapping); + default_color_mapping(&tex->base.color_mapping); tex->color_space = SHD_COLORSPACE_SRGB; node->storage = tex; @@ -94,6 +96,8 @@ static int node_shader_gpu_tex_environment(GPUMaterial *mat, bNode *node, GPUNod if(!in[0].link) in[0].link = GPU_builtin(GPU_VIEW_POSITION); + node_shader_gpu_tex_mapping(mat, node, in, out); + return GPU_stack_link(mat, "node_tex_environment", in, out, GPU_image(ima, iuser)); } diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_image.c b/source/blender/nodes/shader/nodes/node_shader_tex_image.c index 11a2c914746..562884a9ed9 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_image.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_image.c @@ -44,6 +44,8 @@ static bNodeSocketTemplate sh_node_tex_image_out[]= { static void node_shader_init_tex_image(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) { NodeTexImage *tex = MEM_callocN(sizeof(NodeTexImage), "NodeTexImage"); + default_tex_mapping(&tex->base.tex_mapping); + default_color_mapping(&tex->base.color_mapping); tex->color_space = SHD_COLORSPACE_SRGB; node->storage = tex; @@ -92,6 +94,8 @@ static int node_shader_gpu_tex_image(GPUMaterial *mat, bNode *node, GPUNodeStack if(!in[0].link) in[0].link = GPU_attribute(CD_MTFACE, ""); + node_shader_gpu_tex_mapping(mat, node, in, out); + return GPU_stack_link(mat, "node_tex_image", in, out, GPU_image(ima, iuser)); } diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_magic.c b/source/blender/nodes/shader/nodes/node_shader_tex_magic.c index 5ccb42d99c4..8d0a2d3fb85 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_magic.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_magic.c @@ -118,6 +118,8 @@ static bNodeSocketTemplate sh_node_tex_magic_out[]= { static void node_shader_init_tex_magic(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) { NodeTexMagic *tex = MEM_callocN(sizeof(NodeTexMagic), "NodeTexMagic"); + default_tex_mapping(&tex->base.tex_mapping); + default_color_mapping(&tex->base.color_mapping); tex->depth = 2; node->storage = tex; @@ -148,6 +150,8 @@ static int node_shader_gpu_tex_magic(GPUMaterial *mat, bNode *node, GPUNodeStack if(!in[0].link) in[0].link = GPU_attribute(CD_ORCO, ""); + node_shader_gpu_tex_mapping(mat, node, in, out); + return GPU_stack_link(mat, "node_tex_magic", in, out, GPU_uniform(&depth)); } diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_marble.c b/source/blender/nodes/shader/nodes/node_shader_tex_marble.c index 5b9b3008038..3bb999659c9 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_marble.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_marble.c @@ -70,6 +70,8 @@ static bNodeSocketTemplate sh_node_tex_marble_out[]= { static void node_shader_init_tex_marble(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) { NodeTexMarble *tex = MEM_callocN(sizeof(NodeTexMarble), "NodeTexMarble"); + default_tex_mapping(&tex->base.tex_mapping); + default_color_mapping(&tex->base.color_mapping); tex->type = SHD_MARBLE_SOFT; tex->wave = SHD_WAVE_SINE; tex->basis = SHD_NOISE_PERLIN; @@ -97,11 +99,13 @@ static void node_shader_exec_tex_marble(void *data, bNode *node, bNodeStack **in out[0]->vec[0]= marble(vec, size, tex->type, tex->wave, tex->basis, tex->hard, turbulence, tex->depth); } -static int node_shader_gpu_tex_marble(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_marble(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) { if(!in[0].link) in[0].link = GPU_attribute(CD_ORCO, ""); + node_shader_gpu_tex_mapping(mat, node, in, out); + return GPU_stack_link(mat, "node_tex_marble", in, out); } diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c b/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c index f8586b5e9ac..7cf33445a5d 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c @@ -234,6 +234,8 @@ static bNodeSocketTemplate sh_node_tex_musgrave_out[]= { static void node_shader_init_tex_musgrave(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) { NodeTexMusgrave *tex = MEM_callocN(sizeof(NodeTexMusgrave), "NodeTexMusgrave"); + default_tex_mapping(&tex->base.tex_mapping); + default_color_mapping(&tex->base.color_mapping); tex->type = SHD_MUSGRAVE_FBM; tex->basis = SHD_NOISE_PERLIN; @@ -262,11 +264,13 @@ static void node_shader_exec_tex_musgrave(void *data, bNode *node, bNodeStack ** out[0]->vec[0]= musgrave(tex->type, tex->basis, dimension, lacunarity, octaves, offset, 1.0f, gain, size, vec); } -static int node_shader_gpu_tex_musgrave(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_musgrave(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) { if(!in[0].link) in[0].link = GPU_attribute(CD_ORCO, ""); + node_shader_gpu_tex_mapping(mat, node, in, out); + return GPU_stack_link(mat, "node_tex_musgrave", in, out); } diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_noise.c b/source/blender/nodes/shader/nodes/node_shader_tex_noise.c index 32f88e998a5..e8fb4737305 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_noise.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_noise.c @@ -59,6 +59,15 @@ static bNodeSocketTemplate sh_node_tex_noise_out[]= { { -1, 0, "" } }; +static void node_shader_init_tex_noise(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) +{ + NodeTexNoise *tex = MEM_callocN(sizeof(NodeTexNoise), "NodeTexNoise"); + default_tex_mapping(&tex->base.tex_mapping); + default_color_mapping(&tex->base.color_mapping); + + node->storage = tex; +} + static void node_shader_exec_tex_noise(void *data, bNode *node, bNodeStack **in, bNodeStack **out) { ShaderCallData *scd= (ShaderCallData*)data; @@ -74,11 +83,13 @@ static void node_shader_exec_tex_noise(void *data, bNode *node, bNodeStack **in, out[1]->vec[0]= noise_texture_value(vec); } -static int node_shader_gpu_tex_noise(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_noise(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) { if(!in[0].link) in[0].link = GPU_attribute(CD_ORCO, ""); + node_shader_gpu_tex_mapping(mat, node, in, out); + return GPU_stack_link(mat, "node_tex_noise", in, out); } @@ -91,7 +102,7 @@ void register_node_type_sh_tex_noise(ListBase *lb) node_type_compatibility(&ntype, NODE_NEW_SHADING); node_type_socket_templates(&ntype, sh_node_tex_noise_in, sh_node_tex_noise_out); node_type_size(&ntype, 150, 60, 200); - node_type_init(&ntype, NULL); + node_type_init(&ntype, node_shader_init_tex_noise); node_type_storage(&ntype, "", NULL, NULL); node_type_exec(&ntype, node_shader_exec_tex_noise); node_type_gpu(&ntype, node_shader_gpu_tex_noise); diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_sky.c b/source/blender/nodes/shader/nodes/node_shader_tex_sky.c index b43f7bd2924..6fb1f4f51cf 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_sky.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_sky.c @@ -44,6 +44,8 @@ static bNodeSocketTemplate sh_node_tex_sky_out[]= { static void node_shader_init_tex_sky(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) { NodeTexSky *tex = MEM_callocN(sizeof(NodeTexSky), "NodeTexSky"); + default_tex_mapping(&tex->base.tex_mapping); + default_color_mapping(&tex->base.color_mapping); tex->sun_direction[0] = 0.0f; tex->sun_direction[1] = 0.0f; tex->sun_direction[2] = 1.0f; @@ -56,11 +58,13 @@ static void node_shader_exec_tex_sky(void *UNUSED(data), bNode *UNUSED(node), bN { } -static int node_shader_gpu_tex_sky(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_sky(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) { if(!in[0].link) in[0].link = GPU_attribute(CD_ORCO, ""); + node_shader_gpu_tex_mapping(mat, node, in, out); + return GPU_stack_link(mat, "node_tex_sky", in, out); } diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_stucci.c b/source/blender/nodes/shader/nodes/node_shader_tex_stucci.c index 4540e2c982b..3eb315052a9 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_stucci.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_stucci.c @@ -67,6 +67,8 @@ static bNodeSocketTemplate sh_node_tex_stucci_out[]= { static void node_shader_init_tex_stucci(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) { NodeTexStucci *tex = MEM_callocN(sizeof(NodeTexStucci), "NodeTexStucci"); + default_tex_mapping(&tex->base.tex_mapping); + default_color_mapping(&tex->base.color_mapping); tex->type = SHD_STUCCI_PLASTIC; tex->basis = SHD_NOISE_PERLIN; tex->hard = 0; @@ -92,11 +94,13 @@ static void node_shader_exec_tex_stucci(void *data, bNode *node, bNodeStack **in out[0]->vec[0]= stucci(tex->type, tex->basis, tex->hard, turbulence, size, vec); } -static int node_shader_gpu_tex_stucci(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_stucci(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) { if(!in[0].link) in[0].link = GPU_attribute(CD_ORCO, ""); + node_shader_gpu_tex_mapping(mat, node, in, out); + return GPU_stack_link(mat, "node_tex_stucci", in, out); } diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c b/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c index b942aa00fb4..ee8838ca1b3 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c @@ -109,6 +109,8 @@ static bNodeSocketTemplate sh_node_tex_voronoi_out[]= { static void node_shader_init_tex_voronoi(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) { NodeTexVoronoi *tex = MEM_callocN(sizeof(NodeTexVoronoi), "NodeTexVoronoi"); + default_tex_mapping(&tex->base.tex_mapping); + default_color_mapping(&tex->base.color_mapping); tex->distance_metric = SHD_VORONOI_ACTUAL_DISTANCE; tex->coloring = SHD_VORONOI_INTENSITY; @@ -138,11 +140,13 @@ static void node_shader_exec_tex_voronoi(void *data, bNode *node, bNodeStack **i exponent, 1.0f, size, vec, out[0]->vec); } -static int node_shader_gpu_tex_voronoi(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_voronoi(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) { if(!in[0].link) in[0].link = GPU_attribute(CD_ORCO, ""); + node_shader_gpu_tex_mapping(mat, node, in, out); + return GPU_stack_link(mat, "node_tex_voronoi", in, out); } diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_wood.c b/source/blender/nodes/shader/nodes/node_shader_tex_wood.c index 4fb11743882..f1beb8e5d7d 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_wood.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_wood.c @@ -73,6 +73,8 @@ static bNodeSocketTemplate sh_node_tex_wood_out[]= { static void node_shader_init_tex_wood(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) { NodeTexWood *tex = MEM_callocN(sizeof(NodeTexWood), "NodeTexWood"); + default_tex_mapping(&tex->base.tex_mapping); + default_color_mapping(&tex->base.color_mapping); tex->type = SHD_WOOD_BANDS; tex->wave = SHD_WAVE_SINE; tex->basis = SHD_NOISE_PERLIN; @@ -99,11 +101,13 @@ static void node_shader_exec_tex_wood(void *data, bNode *node, bNodeStack **in, out[0]->vec[0]= wood(vec, size, tex->type, tex->wave, tex->basis, tex->hard, turbulence); } -static int node_shader_gpu_tex_wood(GPUMaterial *mat, bNode *UNUSED(node), GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_wood(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) { if(!in[0].link) in[0].link = GPU_attribute(CD_ORCO, ""); + node_shader_gpu_tex_mapping(mat, node, in, out); + return GPU_stack_link(mat, "node_tex_wood", in, out); } From f188bc3550958a81ebd99dda33f2088bb52127f8 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 4 Nov 2011 21:19:51 +0000 Subject: [PATCH 194/241] Cycles: fix DNA alignment problem in last commit. --- source/blender/makesdna/DNA_node_types.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index 3103bb9b7b3..d637d6f97bd 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -444,12 +444,12 @@ typedef struct NodeTexSky { typedef struct NodeTexImage { NodeTexBase base; - int color_space; + int color_space, pad; } NodeTexImage; typedef struct NodeTexEnvironment { NodeTexBase base; - int color_space; + int color_space, pad; } NodeTexEnvironment; typedef struct NodeTexBlend { From fd83a3ede0009e3c0fc7a917582f3cbc8e392576 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 5 Nov 2011 11:11:06 +0000 Subject: [PATCH 195/241] Cycles: make cycles work with new camera sensor size. --- intern/cycles/blender/addon/ui.py | 1 + intern/cycles/blender/blender_camera.cpp | 38 ++++++++++++++++++++++-- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 49193ecb195..58852edce88 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -712,6 +712,7 @@ def get_panels(): bpy.types.DATA_PT_vertex_colors, bpy.types.DATA_PT_camera, bpy.types.DATA_PT_camera_display, + bpy.types.DATA_PT_lens, bpy.types.DATA_PT_custom_props_mesh, bpy.types.DATA_PT_custom_props_camera, bpy.types.DATA_PT_custom_props_lamp, diff --git a/intern/cycles/blender/blender_camera.cpp b/intern/cycles/blender/blender_camera.cpp index e3b0fbd0a25..2a2c2a7c643 100644 --- a/intern/cycles/blender/blender_camera.cpp +++ b/intern/cycles/blender/blender_camera.cpp @@ -47,6 +47,10 @@ struct BlenderCamera { float2 pixelaspect; + enum { AUTO, HORIZONTAL, VERTICAL } sensor_fit; + float sensor_width; + float sensor_height; + Transform matrix; }; @@ -56,6 +60,9 @@ static void blender_camera_init(BlenderCamera *bcam) bcam->zoom = 1.0f; bcam->pixelaspect = make_float2(1.0f, 1.0f); + bcam->sensor_width = 32.0f; + bcam->sensor_height = 18.0f; + bcam->sensor_fit = BlenderCamera::AUTO; } static float blender_camera_focal_distance(BL::Object b_ob, BL::Camera b_camera) @@ -100,6 +107,16 @@ static void blender_camera_from_object(BlenderCamera *bcam, BL::Object b_ob) bcam->shift.x = b_camera.shift_x(); bcam->shift.y = b_camera.shift_y(); + + bcam->sensor_width = b_camera.sensor_width(); + bcam->sensor_height = b_camera.sensor_height(); + + if(b_camera.sensor_fit() == BL::Camera::sensor_fit_AUTO) + bcam->sensor_fit = BlenderCamera::AUTO; + else if(b_camera.sensor_fit() == BL::Camera::sensor_fit_HORIZONTAL) + bcam->sensor_fit = BlenderCamera::HORIZONTAL; + else + bcam->sensor_fit = BlenderCamera::VERTICAL; } else { /* from lamp not implemented yet */ @@ -118,7 +135,24 @@ static void blender_camera_sync(Camera *cam, BlenderCamera *bcam, int width, int /* compute x/y aspect and ratio */ float aspectratio, xaspect, yaspect; - if(xratio > yratio) { + /* sensor fitting */ + bool horizontal_fit; + float sensor_size; + + if(bcam->sensor_fit == BlenderCamera::AUTO) { + horizontal_fit = (xratio > yratio); + sensor_size = bcam->sensor_width; + } + else if(bcam->sensor_fit == BlenderCamera::HORIZONTAL) { + horizontal_fit = true; + sensor_size = bcam->sensor_width; + } + else { + horizontal_fit = false; + sensor_size = bcam->sensor_height; + } + + if(horizontal_fit) { aspectratio= xratio/yratio; xaspect= aspectratio; yaspect= 1.0f; @@ -165,7 +199,7 @@ static void blender_camera_sync(Camera *cam, BlenderCamera *bcam, int width, int cam->ortho = bcam->ortho; /* perspective */ - cam->fov = 2.0f*atan(16.0f/bcam->lens/aspectratio); + cam->fov = 2.0f*atan((0.5f*sensor_size)/bcam->lens/aspectratio); cam->focaldistance = bcam->focaldistance; cam->aperturesize = bcam->aperturesize; cam->blades = bcam->apertureblades; From 3bf96250cde08ab9ad717819114b48ccb11c2d5d Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Sun, 6 Nov 2011 14:09:08 +0000 Subject: [PATCH 196/241] Cycles: Use new libs on win32/64. Make sure you update lib/windows or lib/win64. --- CMakeLists.txt | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0230fb34d0c..e41823f14b0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -838,13 +838,8 @@ elseif(WIN32) if(WITH_BOOST) set(BOOST ${LIBDIR}/boost) set(BOOST_INCLUDE_DIR ${BOOST}/include) - if(CMAKE_CL_64) - set(BOOST_POSTFIX "vc90-mt-s-1_45.lib") - set(BOOST_DEBUG_POSTFIX "vc90-mt-sgd-1_45.lib") - else() - set(BOOST_POSTFIX "vc90-mt-s-1_46_1.lib") - set(BOOST_DEBUG_POSTFIX "vc90-mt-sgd-1_46_1.lib") - endif() + set(BOOST_POSTFIX "vc90-mt-s-1_47.lib") + set(BOOST_DEBUG_POSTFIX "vc90-mt-sgd-1_47.lib") set(BOOST_LIBRARIES optimized libboost_date_time-${BOOST_POSTFIX} libboost_filesystem-${BOOST_POSTFIX} libboost_regex-${BOOST_POSTFIX} libboost_system-${BOOST_POSTFIX} libboost_thread-${BOOST_POSTFIX} From fb56dbc2afc7c8b6ffc24406ed82cbcbff090da3 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 6 Nov 2011 21:05:58 +0000 Subject: [PATCH 197/241] Cycles: procedural texture nodes reorganization. This will break existing files using them, but rather do it now that I have the chance still. Highlights: * Wood and Marble merged into a single Wave texture * Clouds + Distorted Noise merged into new Noise node * Blend renamed to Gradient * Stucci removed, was mostly useful for old bump * Noise removed, will come back later, didn't actually work yet * Depth setting is now Detail socket, which accepts float values * Scale socket instead of Size socket http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Textures --- intern/cycles/blender/blender_shader.cpp | 85 +-- intern/cycles/kernel/CMakeLists.txt | 8 +- intern/cycles/kernel/svm/svm.h | 43 +- intern/cycles/kernel/svm/svm_clouds.h | 55 -- .../cycles/kernel/svm/svm_distorted_noise.h | 59 -- intern/cycles/kernel/svm/svm_fresnel.h | 4 +- .../svm/{svm_blend.h => svm_gradient.h} | 43 +- intern/cycles/kernel/svm/svm_magic.h | 60 +- intern/cycles/kernel/svm/svm_marble.h | 67 -- intern/cycles/kernel/svm/svm_musgrave.h | 59 +- intern/cycles/kernel/svm/svm_noisetex.h | 55 +- intern/cycles/kernel/svm/svm_stucci.h | 63 -- intern/cycles/kernel/svm/svm_texture.h | 29 +- intern/cycles/kernel/svm/svm_types.h | 27 +- intern/cycles/kernel/svm/svm_voronoi.h | 65 +- intern/cycles/kernel/svm/svm_wave.h | 65 ++ intern/cycles/kernel/svm/svm_wood.h | 69 --- intern/cycles/render/nodes.cpp | 577 +++++------------- intern/cycles/render/nodes.h | 84 +-- intern/cycles/util/util_hash.h | 4 +- source/blender/blenkernel/BKE_node.h | 12 +- source/blender/blenkernel/intern/node.c | 14 +- source/blender/blenloader/intern/readfile.c | 7 +- source/blender/editors/space_node/drawnode.c | 61 +- source/blender/makesdna/DNA_node_types.h | 87 +-- source/blender/makesrna/intern/rna_nodetree.c | 212 +------ .../makesrna/intern/rna_nodetree_types.h | 12 +- source/blender/nodes/CMakeLists.txt | 12 +- source/blender/nodes/NOD_shader.h | 10 +- ...nd_weight.c => node_shader_layer_weight.c} | 23 +- .../nodes/shader/nodes/node_shader_noise.h | 32 +- .../shader/nodes/node_shader_tex_clouds.c | 123 ---- .../shader/nodes/node_shader_tex_distnoise.c | 120 ---- ...tex_blend.c => node_shader_tex_gradient.c} | 58 +- .../shader/nodes/node_shader_tex_magic.c | 51 +- .../shader/nodes/node_shader_tex_marble.c | 128 ---- .../shader/nodes/node_shader_tex_musgrave.c | 81 +-- .../shader/nodes/node_shader_tex_noise.c | 56 +- .../shader/nodes/node_shader_tex_stucci.c | 123 ---- .../shader/nodes/node_shader_tex_voronoi.c | 67 +- .../nodes/shader/nodes/node_shader_tex_wave.c | 129 ++++ .../nodes/shader/nodes/node_shader_tex_wood.c | 130 ---- 42 files changed, 827 insertions(+), 2242 deletions(-) delete mode 100644 intern/cycles/kernel/svm/svm_clouds.h delete mode 100644 intern/cycles/kernel/svm/svm_distorted_noise.h rename intern/cycles/kernel/svm/{svm_blend.h => svm_gradient.h} (64%) delete mode 100644 intern/cycles/kernel/svm/svm_marble.h delete mode 100644 intern/cycles/kernel/svm/svm_stucci.h create mode 100644 intern/cycles/kernel/svm/svm_wave.h delete mode 100644 intern/cycles/kernel/svm/svm_wood.h rename source/blender/nodes/shader/nodes/{node_shader_blend_weight.c => node_shader_layer_weight.c} (71%) delete mode 100644 source/blender/nodes/shader/nodes/node_shader_tex_clouds.c delete mode 100644 source/blender/nodes/shader/nodes/node_shader_tex_distnoise.c rename source/blender/nodes/shader/nodes/{node_shader_tex_blend.c => node_shader_tex_gradient.c} (62%) delete mode 100644 source/blender/nodes/shader/nodes/node_shader_tex_marble.c delete mode 100644 source/blender/nodes/shader/nodes/node_shader_tex_stucci.c create mode 100644 source/blender/nodes/shader/nodes/node_shader_tex_wave.c delete mode 100644 source/blender/nodes/shader/nodes/node_shader_tex_wood.c diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index 48bdcd88c9d..2e558cf3e97 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -191,8 +191,8 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * node = new FresnelNode(); break; } - case BL::ShaderNode::type_BLEND_WEIGHT: { - node = new BlendWeightNode(); + case BL::ShaderNode::type_LAYER_WEIGHT: { + node = new LayerWeightNode(); break; } case BL::ShaderNode::type_ADD_SHADER: { @@ -316,26 +316,17 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * node = env; break; } - case BL::ShaderNode::type_TEX_NOISE: { - BL::ShaderNodeTexNoise b_noise_node(b_node); - NoiseTextureNode *noise = new NoiseTextureNode(); - get_tex_mapping(&noise->tex_mapping, b_noise_node.texture_mapping()); - node = noise; - break; - } - case BL::ShaderNode::type_TEX_BLEND: { - BL::ShaderNodeTexBlend b_blend_node(b_node); - BlendTextureNode *blend = new BlendTextureNode(); - blend->progression = BlendTextureNode::progression_enum[(int)b_blend_node.progression()]; - blend->axis = BlendTextureNode::axis_enum[(int)b_blend_node.axis()]; - get_tex_mapping(&blend->tex_mapping, b_blend_node.texture_mapping()); - node = blend; + case BL::ShaderNode::type_TEX_GRADIENT: { + BL::ShaderNodeTexGradient b_gradient_node(b_node); + GradientTextureNode *gradient = new GradientTextureNode(); + gradient->type = GradientTextureNode::type_enum[(int)b_gradient_node.gradient_type()]; + get_tex_mapping(&gradient->tex_mapping, b_gradient_node.texture_mapping()); + node = gradient; break; } case BL::ShaderNode::type_TEX_VORONOI: { BL::ShaderNodeTexVoronoi b_voronoi_node(b_node); VoronoiTextureNode *voronoi = new VoronoiTextureNode(); - voronoi->distance_metric = VoronoiTextureNode::distance_metric_enum[(int)b_voronoi_node.distance_metric()]; voronoi->coloring = VoronoiTextureNode::coloring_enum[(int)b_voronoi_node.coloring()]; get_tex_mapping(&voronoi->tex_mapping, b_voronoi_node.texture_mapping()); node = voronoi; @@ -349,67 +340,29 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Node * node = magic; break; } - case BL::ShaderNode::type_TEX_MARBLE: { - BL::ShaderNodeTexMarble b_marble_node(b_node); - MarbleTextureNode *marble = new MarbleTextureNode(); - marble->depth = b_marble_node.turbulence_depth(); - marble->basis = MarbleTextureNode::basis_enum[(int)b_marble_node.noise_basis()]; - marble->type = MarbleTextureNode::type_enum[(int)b_marble_node.marble_type()]; - marble->wave = MarbleTextureNode::wave_enum[(int)b_marble_node.wave_type()]; - marble->hard = b_marble_node.noise_type() == BL::ShaderNodeTexMarble::noise_type_HARD; - get_tex_mapping(&marble->tex_mapping, b_marble_node.texture_mapping()); - node = marble; + case BL::ShaderNode::type_TEX_WAVE: { + BL::ShaderNodeTexWave b_wave_node(b_node); + WaveTextureNode *wave = new WaveTextureNode(); + wave->type = WaveTextureNode::type_enum[(int)b_wave_node.wave_type()]; + get_tex_mapping(&wave->tex_mapping, b_wave_node.texture_mapping()); + node = wave; break; } - case BL::ShaderNode::type_TEX_CLOUDS: { - BL::ShaderNodeTexClouds b_clouds_node(b_node); - CloudsTextureNode *clouds = new CloudsTextureNode(); - clouds->depth = b_clouds_node.turbulence_depth(); - clouds->basis = CloudsTextureNode::basis_enum[(int)b_clouds_node.noise_basis()]; - clouds->hard = b_clouds_node.noise_type() == BL::ShaderNodeTexClouds::noise_type_HARD; - get_tex_mapping(&clouds->tex_mapping, b_clouds_node.texture_mapping()); - node = clouds; - break; - } - case BL::ShaderNode::type_TEX_WOOD: { - BL::ShaderNodeTexWood b_wood_node(b_node); - WoodTextureNode *wood = new WoodTextureNode(); - wood->type = WoodTextureNode::type_enum[(int)b_wood_node.wood_type()]; - wood->basis = WoodTextureNode::basis_enum[(int)b_wood_node.noise_basis()]; - wood->hard = b_wood_node.noise_type() == BL::ShaderNodeTexWood::noise_type_HARD; - wood->wave = WoodTextureNode::wave_enum[(int)b_wood_node.wave_type()]; - get_tex_mapping(&wood->tex_mapping, b_wood_node.texture_mapping()); - node = wood; + case BL::ShaderNode::type_TEX_NOISE: { + BL::ShaderNodeTexNoise b_noise_node(b_node); + NoiseTextureNode *noise = new NoiseTextureNode(); + get_tex_mapping(&noise->tex_mapping, b_noise_node.texture_mapping()); + node = noise; break; } case BL::ShaderNode::type_TEX_MUSGRAVE: { BL::ShaderNodeTexMusgrave b_musgrave_node(b_node); MusgraveTextureNode *musgrave = new MusgraveTextureNode(); musgrave->type = MusgraveTextureNode::type_enum[(int)b_musgrave_node.musgrave_type()]; - musgrave->basis = MusgraveTextureNode::basis_enum[(int)b_musgrave_node.noise_basis()]; get_tex_mapping(&musgrave->tex_mapping, b_musgrave_node.texture_mapping()); node = musgrave; break; } - case BL::ShaderNode::type_TEX_STUCCI: { - BL::ShaderNodeTexStucci b_stucci_node(b_node); - StucciTextureNode *stucci = new StucciTextureNode(); - stucci->type = StucciTextureNode::type_enum[(int)b_stucci_node.stucci_type()]; - stucci->basis = StucciTextureNode::basis_enum[(int)b_stucci_node.noise_basis()]; - stucci->hard = b_stucci_node.noise_type() == BL::ShaderNodeTexStucci::noise_type_HARD; - get_tex_mapping(&stucci->tex_mapping, b_stucci_node.texture_mapping()); - node = stucci; - break; - } - case BL::ShaderNode::type_TEX_DISTORTED_NOISE: { - BL::ShaderNodeTexDistortedNoise b_distnoise_node(b_node); - DistortedNoiseTextureNode *distnoise = new DistortedNoiseTextureNode(); - distnoise->basis = DistortedNoiseTextureNode::basis_enum[(int)b_distnoise_node.noise_basis()]; - distnoise->distortion_basis = DistortedNoiseTextureNode::basis_enum[(int)b_distnoise_node.noise_distortion()]; - get_tex_mapping(&distnoise->tex_mapping, b_distnoise_node.texture_mapping()); - node = distnoise; - break; - } case BL::ShaderNode::type_TEX_COORD: { node = new TextureCoordinateNode();; break; diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt index cf10f035585..893c4bb6081 100644 --- a/intern/cycles/kernel/CMakeLists.txt +++ b/intern/cycles/kernel/CMakeLists.txt @@ -42,33 +42,29 @@ set(svm_headers svm/emissive.h svm/svm.h svm/svm_attribute.h - svm/svm_blend.h svm/svm_bsdf.h svm/svm_closure.h - svm/svm_clouds.h svm/svm_convert.h svm/svm_displace.h - svm/svm_distorted_noise.h svm/svm_fresnel.h svm/svm_geometry.h + svm/svm_gradient.h svm/svm_image.h svm/svm_light_path.h svm/svm_magic.h svm/svm_mapping.h - svm/svm_marble.h svm/svm_math.h svm/svm_mix.h svm/svm_musgrave.h svm/svm_noise.h svm/svm_noisetex.h svm/svm_sky.h - svm/svm_stucci.h svm/svm_tex_coord.h svm/svm_texture.h svm/svm_types.h svm/svm_value.h svm/svm_voronoi.h - svm/svm_wood.h + svm/svm_wave.h svm/volume.h ) diff --git a/intern/cycles/kernel/svm/svm.h b/intern/cycles/kernel/svm/svm.h index 9628f96bcab..2615272691c 100644 --- a/intern/cycles/kernel/svm/svm.h +++ b/intern/cycles/kernel/svm/svm.h @@ -120,29 +120,25 @@ CCL_NAMESPACE_END #include "svm_texture.h" #include "svm_attribute.h" -#include "svm_blend.h" +#include "svm_gradient.h" #include "svm_closure.h" -#include "svm_clouds.h" +#include "svm_noisetex.h" #include "svm_convert.h" #include "svm_displace.h" -#include "svm_distorted_noise.h" #include "svm_fresnel.h" #include "svm_geometry.h" #include "svm_image.h" #include "svm_light_path.h" #include "svm_magic.h" #include "svm_mapping.h" -#include "svm_marble.h" +#include "svm_wave.h" #include "svm_math.h" #include "svm_mix.h" #include "svm_musgrave.h" -#include "svm_noisetex.h" #include "svm_sky.h" -#include "svm_stucci.h" #include "svm_tex_coord.h" #include "svm_value.h" #include "svm_voronoi.h" -#include "svm_wood.h" CCL_NAMESPACE_BEGIN @@ -206,12 +202,6 @@ __device_noinline void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderT offset = node.y; break; #ifdef __TEXTURES__ - case NODE_TEX_NOISE_F: - svm_node_tex_noise_f(sd, stack, node.y, node.z); - break; - case NODE_TEX_NOISE_V: - svm_node_tex_noise_v(sd, stack, node.y, node.z); - break; case NODE_TEX_IMAGE: svm_node_tex_image(kg, sd, stack, node); break; @@ -221,11 +211,11 @@ __device_noinline void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderT case NODE_TEX_SKY: svm_node_tex_sky(kg, sd, stack, node.y, node.z); break; - case NODE_TEX_BLEND: - svm_node_tex_blend(sd, stack, node); + case NODE_TEX_GRADIENT: + svm_node_tex_gradient(sd, stack, node); break; - case NODE_TEX_CLOUDS: - svm_node_tex_clouds(sd, stack, node); + case NODE_TEX_NOISE: + svm_node_tex_noise(kg, sd, stack, node, &offset); break; case NODE_TEX_VORONOI: svm_node_tex_voronoi(kg, sd, stack, node, &offset); @@ -233,20 +223,11 @@ __device_noinline void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderT case NODE_TEX_MUSGRAVE: svm_node_tex_musgrave(kg, sd, stack, node, &offset); break; - case NODE_TEX_MARBLE: - svm_node_tex_marble(kg, sd, stack, node, &offset); + case NODE_TEX_WAVE: + svm_node_tex_wave(kg, sd, stack, node, &offset); break; case NODE_TEX_MAGIC: - svm_node_tex_magic(sd, stack, node); - break; - case NODE_TEX_STUCCI: - svm_node_tex_stucci(kg, sd, stack, node, &offset); - break; - case NODE_TEX_DISTORTED_NOISE: - svm_node_tex_distorted_noise(kg, sd, stack, node, &offset); - break; - case NODE_TEX_WOOD: - svm_node_tex_wood(kg, sd, stack, node, &offset); + svm_node_tex_magic(kg, sd, stack, node, &offset); break; #endif case NODE_GEOMETRY: @@ -285,8 +266,8 @@ __device_noinline void svm_eval_nodes(KernelGlobals *kg, ShaderData *sd, ShaderT case NODE_FRESNEL: svm_node_fresnel(sd, stack, node.y, node.z, node.w); break; - case NODE_BLEND_WEIGHT: - svm_node_blend_weight(sd, stack, node); + case NODE_LAYER_WEIGHT: + svm_node_layer_weight(sd, stack, node); break; case NODE_SET_DISPLACEMENT: svm_node_set_displacement(sd, stack, node.y); diff --git a/intern/cycles/kernel/svm/svm_clouds.h b/intern/cycles/kernel/svm/svm_clouds.h deleted file mode 100644 index b89f1ceb072..00000000000 --- a/intern/cycles/kernel/svm/svm_clouds.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2011, Blender Foundation. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -CCL_NAMESPACE_BEGIN - -/* Clouds */ - -__device_inline void svm_clouds(NodeNoiseBasis basis, int hard, int depth, float size, float3 p, float *fac, float3 *color) -{ - p /= size; - - *fac = noise_turbulence(p, basis, depth, hard); - *color = make_float3(*fac, - noise_turbulence(make_float3(p.y, p.x, p.z), basis, depth, hard), - noise_turbulence(make_float3(p.y, p.z, p.x), basis, depth, hard)); -} - -__device void svm_node_tex_clouds(ShaderData *sd, float *stack, uint4 node) -{ - uint basis, hard, depth; - uint size_offset, co_offset, fac_offset, color_offset; - - decode_node_uchar4(node.y, &basis, &hard, &depth, NULL); - decode_node_uchar4(node.z, &size_offset, &co_offset, &fac_offset, &color_offset); - - float3 co = stack_load_float3(stack, co_offset); - float size = stack_load_float_default(stack, size_offset, node.w); - size = nonzerof(size, 1e-5f); - - float3 color; - float f; - - svm_clouds((NodeNoiseBasis)basis, hard, depth, size, co, &f, &color); - - if(stack_valid(fac_offset)) stack_store_float(stack, fac_offset, f); - if(stack_valid(color_offset)) stack_store_float3(stack, color_offset, color); -} - -CCL_NAMESPACE_END - diff --git a/intern/cycles/kernel/svm/svm_distorted_noise.h b/intern/cycles/kernel/svm/svm_distorted_noise.h deleted file mode 100644 index 7d1556cd185..00000000000 --- a/intern/cycles/kernel/svm/svm_distorted_noise.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright 2011, Blender Foundation. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -CCL_NAMESPACE_BEGIN - -/* Distorted Noise (variable lacunarity noise) */ - -__device_noinline float svm_distorted_noise(float3 p, float size, NodeNoiseBasis basis, NodeNoiseBasis distortion_basis, float distortion) -{ - float3 r; - float3 offset = make_float3(13.5f, 13.5f, 13.5f); - - p /= size; - - r.x = noise_basis(p + offset, basis) * distortion; - r.y = noise_basis(p, basis) * distortion; - r.z = noise_basis(p - offset, basis) * distortion; - - return noise_basis(p + r, distortion_basis); /* distorted-domain noise */ -} - -__device void svm_node_tex_distorted_noise(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, int *offset) -{ - uint4 node2 = read_node(kg, offset); - - uint basis, distortion_basis; - uint size_offset, distortion_offset, co_offset, fac_offset; - - decode_node_uchar4(node.y, &basis, &distortion_basis, NULL, NULL); - decode_node_uchar4(node.z, &size_offset, &distortion_offset, &co_offset, &fac_offset); - - float3 co = stack_load_float3(stack, co_offset); - float size = stack_load_float_default(stack, size_offset, node2.x); - float distortion = stack_load_float_default(stack, distortion_offset, node2.y); - size = nonzerof(size, 1e-5f); - - float f = svm_distorted_noise(co, size, (NodeNoiseBasis)basis, - (NodeNoiseBasis)distortion_basis, distortion); - - stack_store_float(stack, fac_offset, f); -} - -CCL_NAMESPACE_END - diff --git a/intern/cycles/kernel/svm/svm_fresnel.h b/intern/cycles/kernel/svm/svm_fresnel.h index 1b9d99506e3..7684eabeecb 100644 --- a/intern/cycles/kernel/svm/svm_fresnel.h +++ b/intern/cycles/kernel/svm/svm_fresnel.h @@ -33,7 +33,7 @@ __device void svm_node_fresnel(ShaderData *sd, float *stack, uint ior_offset, ui /* Blend Weight Node */ -__device void svm_node_blend_weight(ShaderData *sd, float *stack, uint4 node) +__device void svm_node_layer_weight(ShaderData *sd, float *stack, uint4 node) { uint blend_offset = node.y; uint blend_value = node.z; @@ -44,7 +44,7 @@ __device void svm_node_blend_weight(ShaderData *sd, float *stack, uint4 node) float f; - if(type == NODE_BLEND_WEIGHT_FRESNEL) { + if(type == NODE_LAYER_WEIGHT_FRESNEL) { float eta = fmaxf(1.0f - blend, 1e-5f); eta = (sd->flag & SD_BACKFACING)? eta: 1.0f/eta; diff --git a/intern/cycles/kernel/svm/svm_blend.h b/intern/cycles/kernel/svm/svm_gradient.h similarity index 64% rename from intern/cycles/kernel/svm/svm_blend.h rename to intern/cycles/kernel/svm/svm_gradient.h index 97fa4aff9e7..79298f5f581 100644 --- a/intern/cycles/kernel/svm/svm_blend.h +++ b/intern/cycles/kernel/svm/svm_gradient.h @@ -18,36 +18,31 @@ CCL_NAMESPACE_BEGIN -/* Blend */ +/* Gradient */ -__device float svm_blend(float3 p, NodeBlendType type, NodeBlendAxis axis) +__device float svm_gradient(float3 p, NodeBlendType type) { - float x, y; + float x, y, z; - if(axis == NODE_BLEND_VERTICAL) { - x= p.y; - y= p.x; - } - else { - x= p.x; - y= p.y; - } + x= p.x; + y= p.y; + z= p.z; if(type == NODE_BLEND_LINEAR) { - return (1.0f + x)/2.0f; + return x; } else if(type == NODE_BLEND_QUADRATIC) { - float r = fmaxf((1.0f + x)/2.0f, 0.0f); + float r = fmaxf(x, 0.0f); return r*r; } else if(type == NODE_BLEND_EASING) { - float r = fminf(fmaxf((1.0f + x)/2.0f, 0.0f), 1.0f); + float r = fminf(fmaxf(x, 0.0f), 1.0f); float t = r*r; return (3.0f*t - 2.0f*t*r); } else if(type == NODE_BLEND_DIAGONAL) { - return (2.0f + x + y)/4.0f; + return (x + y)/2.0f; } else if(type == NODE_BLEND_RADIAL) { return atan2(y, x)/(2.0f*M_PI_F) + 0.5f; @@ -64,15 +59,21 @@ __device float svm_blend(float3 p, NodeBlendType type, NodeBlendAxis axis) return 0.0f; } -__device void svm_node_tex_blend(ShaderData *sd, float *stack, uint4 node) +__device void svm_node_tex_gradient(ShaderData *sd, float *stack, uint4 node) { - float3 co = stack_load_float3(stack, node.z); - uint type, axis; + uint type, co_offset, color_offset, fac_offset; - decode_node_uchar4(node.y, &type, &axis, NULL, NULL); + decode_node_uchar4(node.y, &type, &co_offset, &fac_offset, &color_offset); - float f = svm_blend(co, (NodeBlendType)type, (NodeBlendAxis)axis); - stack_store_float(stack, node.w, f); + float3 co = stack_load_float3(stack, co_offset); + + float f = svm_gradient(co, (NodeBlendType)type); + f = clamp(f, 0.0f, 1.0f); + + if(stack_valid(fac_offset)) + stack_store_float(stack, fac_offset, f); + if(stack_valid(color_offset)) + stack_store_float3(stack, color_offset, make_float3(f, f, f)); } CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/svm/svm_magic.h b/intern/cycles/kernel/svm/svm_magic.h index af847869f6e..65d37937e1e 100644 --- a/intern/cycles/kernel/svm/svm_magic.h +++ b/intern/cycles/kernel/svm/svm_magic.h @@ -20,56 +20,54 @@ CCL_NAMESPACE_BEGIN /* Magic */ -__device_noinline float3 svm_magic(float3 p, int n, float turbulence) +__device_noinline float3 svm_magic(float3 p, int n, float distortion) { - float turb = turbulence/5.0f; - float x = sinf((p.x + p.y + p.z)*5.0f); float y = cosf((-p.x + p.y - p.z)*5.0f); float z = -cosf((-p.x - p.y + p.z)*5.0f); if(n > 0) { - x *= turb; - y *= turb; - z *= turb; + x *= distortion; + y *= distortion; + z *= distortion; y = -cosf(x-y+z); - y *= turb; + y *= distortion; if(n > 1) { x= cosf(x-y-z); - x *= turb; + x *= distortion; if(n > 2) { z= sinf(-x-y-z); - z *= turb; + z *= distortion; if(n > 3) { x= -cosf(-x+y-z); - x *= turb; + x *= distortion; if(n > 4) { y= -sinf(-x+y+z); - y *= turb; + y *= distortion; if(n > 5) { y= -cosf(-x+y+z); - y *= turb; + y *= distortion; if(n > 6) { x= cosf(x+y+z); - x *= turb; + x *= distortion; if(n > 7) { z= sinf(x+y-z); - z *= turb; + z *= distortion; if(n > 8) { x= -cosf(-x-y+z); - x *= turb; + x *= distortion; if(n > 9) { y= -sinf(x-y+z); - y *= turb; + y *= distortion; } } } @@ -81,27 +79,35 @@ __device_noinline float3 svm_magic(float3 p, int n, float turbulence) } } - if(turb != 0.0f) { - turb *= 2.0f; - x /= turb; - y /= turb; - z /= turb; + if(distortion != 0.0f) { + distortion *= 2.0f; + x /= distortion; + y /= distortion; + z /= distortion; } return make_float3(0.5f - x, 0.5f - y, 0.5f - z); } -__device void svm_node_tex_magic(ShaderData *sd, float *stack, uint4 node) +__device void svm_node_tex_magic(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, int *offset) { - uint depth, turbulence_offset, co_offset, color_offset; + uint depth; + uint scale_offset, distortion_offset, co_offset, fac_offset, color_offset; - decode_node_uchar4(node.y, &depth, &turbulence_offset, &co_offset, &color_offset); + decode_node_uchar4(node.y, &depth, &color_offset, &fac_offset, NULL); + decode_node_uchar4(node.z, &co_offset, &scale_offset, &distortion_offset, NULL); + uint4 node2 = read_node(kg, offset); float3 co = stack_load_float3(stack, co_offset); - float turbulence = stack_load_float_default(stack, turbulence_offset, node.z); + float scale = stack_load_float_default(stack, scale_offset, node2.x); + float distortion = stack_load_float_default(stack, distortion_offset, node2.y); - float3 color = svm_magic(co, depth, turbulence); - stack_store_float3(stack, color_offset, color); + float3 color = svm_magic(co*scale, depth, distortion); + + if(stack_valid(fac_offset)) + stack_store_float(stack, fac_offset, average(color)); + if(stack_valid(color_offset)) + stack_store_float3(stack, color_offset, color); } CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/svm/svm_marble.h b/intern/cycles/kernel/svm/svm_marble.h deleted file mode 100644 index aa22565e956..00000000000 --- a/intern/cycles/kernel/svm/svm_marble.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2011, Blender Foundation. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -CCL_NAMESPACE_BEGIN - -/* Marble */ - -__device_noinline float svm_marble(float3 p, float size, NodeMarbleType type, NodeWaveType wave, NodeNoiseBasis basis, int hard, float turb, int depth) -{ - float x = p.x; - float y = p.y; - float z = p.z; - - float n = 5.0f * (x + y + z); - - float mi = n + turb * noise_turbulence(p/size, basis, depth, hard); - - mi = noise_wave(wave, mi); - - if(type == NODE_MARBLE_SHARP) - mi = sqrt(mi); - else if(type == NODE_MARBLE_SHARPER) - mi = sqrt(sqrt(mi)); - - return mi; -} - -__device void svm_node_tex_marble(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, int *offset) -{ - uint4 node2 = read_node(kg, offset); - - uint type, wave, basis, hard; - uint depth; - uint size_offset, turbulence_offset, co_offset, fac_offset; - - decode_node_uchar4(node.y, &type, &wave, &basis, &hard); - decode_node_uchar4(node.z, &depth, NULL, NULL, NULL); - decode_node_uchar4(node.w, &size_offset, &turbulence_offset, &co_offset, &fac_offset); - - float3 co = stack_load_float3(stack, co_offset); - float size = stack_load_float_default(stack, size_offset, node2.x); - float turbulence = stack_load_float_default(stack, turbulence_offset, node2.y); - size = nonzerof(size, 1e-5f); - - float f = svm_marble(co, size, (NodeMarbleType)type, (NodeWaveType)wave, - (NodeNoiseBasis)basis, hard, turbulence, depth); - - stack_store_float(stack, fac_offset, f); -} - -CCL_NAMESPACE_END - diff --git a/intern/cycles/kernel/svm/svm_musgrave.h b/intern/cycles/kernel/svm/svm_musgrave.h index be327f7f262..34cf7868f07 100644 --- a/intern/cycles/kernel/svm/svm_musgrave.h +++ b/intern/cycles/kernel/svm/svm_musgrave.h @@ -36,14 +36,14 @@ __device_noinline float noise_musgrave_fBm(float3 p, NodeNoiseBasis basis, float int i; for(i = 0; i < (int)octaves; i++) { - value += noise_basis(p, basis) * pwr; + value += snoise(p) * pwr; pwr *= pwHL; p *= lacunarity; } rmd = octaves - floor(octaves); if(rmd != 0.0f) - value += rmd * noise_basis(p, basis) * pwr; + value += rmd * snoise(p) * pwr; return value; } @@ -64,14 +64,14 @@ __device_noinline float noise_musgrave_multi_fractal(float3 p, NodeNoiseBasis ba int i; for(i = 0; i < (int)octaves; i++) { - value *= (pwr * noise_basis(p, basis) + 1.0f); + value *= (pwr * snoise(p) + 1.0f); pwr *= pwHL; p *= lacunarity; } rmd = octaves - floor(octaves); if(rmd != 0.0f) - value *= (rmd * pwr * noise_basis(p, basis) + 1.0f); /* correct? */ + value *= (rmd * pwr * snoise(p) + 1.0f); /* correct? */ return value; } @@ -92,11 +92,11 @@ __device_noinline float noise_musgrave_hetero_terrain(float3 p, NodeNoiseBasis b int i; /* first unscaled octave of function; later octaves are scaled */ - value = offset + noise_basis(p, basis); + value = offset + snoise(p); p *= lacunarity; for(i = 1; i < (int)octaves; i++) { - increment = (noise_basis(p, basis) + offset) * pwr * value; + increment = (snoise(p) + offset) * pwr * value; value += increment; pwr *= pwHL; p *= lacunarity; @@ -104,7 +104,7 @@ __device_noinline float noise_musgrave_hetero_terrain(float3 p, NodeNoiseBasis b rmd = octaves - floor(octaves); if(rmd != 0.0f) { - increment = (noise_basis(p, basis) + offset) * pwr * value; + increment = (snoise(p) + offset) * pwr * value; value += rmd * increment; } @@ -126,7 +126,7 @@ __device_noinline float noise_musgrave_hybrid_multi_fractal(float3 p, NodeNoiseB float pwr = pwHL; int i; - result = noise_basis(p, basis) + offset; + result = snoise(p) + offset; weight = gain * result; p *= lacunarity; @@ -134,7 +134,7 @@ __device_noinline float noise_musgrave_hybrid_multi_fractal(float3 p, NodeNoiseB if(weight > 1.0f) weight = 1.0f; - signal = (noise_basis(p, basis) + offset) * pwr; + signal = (snoise(p) + offset) * pwr; pwr *= pwHL; result += weight * signal; weight *= gain * signal; @@ -143,7 +143,7 @@ __device_noinline float noise_musgrave_hybrid_multi_fractal(float3 p, NodeNoiseB rmd = octaves - floor(octaves); if(rmd != 0.0f) - result += rmd * ((noise_basis(p, basis) + offset) * pwr); + result += rmd * ((snoise(p) + offset) * pwr); return result; } @@ -163,7 +163,7 @@ __device_noinline float noise_musgrave_ridged_multi_fractal(float3 p, NodeNoiseB float pwr = pwHL; int i; - signal = offset - fabsf(noise_basis(p, basis)); + signal = offset - fabsf(snoise(p)); signal *= signal; result = signal; weight = 1.0f; @@ -171,7 +171,7 @@ __device_noinline float noise_musgrave_ridged_multi_fractal(float3 p, NodeNoiseB for(i = 1; i < (int)octaves; i++) { p *= lacunarity; weight = clamp(signal * gain, 0.0f, 1.0f); - signal = offset - fabsf(noise_basis(p, basis)); + signal = offset - fabsf(snoise(p)); signal *= signal; signal *= weight; result += signal * pwr; @@ -183,9 +183,10 @@ __device_noinline float noise_musgrave_ridged_multi_fractal(float3 p, NodeNoiseB /* Shader */ -__device float svm_musgrave(NodeMusgraveType type, NodeNoiseBasis basis, float dimension, float lacunarity, float octaves, float offset, float intensity, float gain, float size, float3 p) +__device float svm_musgrave(NodeMusgraveType type, float dimension, float lacunarity, float octaves, float offset, float intensity, float gain, float scale, float3 p) { - p /= size; + NodeNoiseBasis basis = NODE_NOISE_PERLIN; + p *= scale; if(type == NODE_MUSGRAVE_MULTIFRACTAL) return intensity*noise_musgrave_multi_fractal(p, basis, dimension, lacunarity, octaves); @@ -206,31 +207,33 @@ __device void svm_node_tex_musgrave(KernelGlobals *kg, ShaderData *sd, float *st uint4 node2 = read_node(kg, offset); uint4 node3 = read_node(kg, offset); - uint type, basis, co_offset, fac_offset; - uint dimension_offset, lacunarity_offset, octaves_offset, offset_offset; - uint gain_offset, size_offset; + uint type, co_offset, color_offset, fac_offset; + uint dimension_offset, lacunarity_offset, detail_offset, offset_offset; + uint gain_offset, scale_offset; - decode_node_uchar4(node.y, &type, &basis, &co_offset, &fac_offset); - decode_node_uchar4(node.z, &dimension_offset, &lacunarity_offset, &octaves_offset, &offset_offset); - decode_node_uchar4(node.z, &gain_offset, &size_offset, NULL, NULL); + decode_node_uchar4(node.y, &type, &co_offset, &color_offset, &fac_offset); + decode_node_uchar4(node.z, &dimension_offset, &lacunarity_offset, &detail_offset, &offset_offset); + decode_node_uchar4(node.z, &gain_offset, &scale_offset, NULL, NULL); float3 co = stack_load_float3(stack, co_offset); float dimension = stack_load_float_default(stack, dimension_offset, node2.x); float lacunarity = stack_load_float_default(stack, lacunarity_offset, node2.y); - float octaves = stack_load_float_default(stack, octaves_offset, node2.z); + float detail = stack_load_float_default(stack, detail_offset, node2.z); float foffset = stack_load_float_default(stack, offset_offset, node2.w); float gain = stack_load_float_default(stack, gain_offset, node3.x); - float size = stack_load_float_default(stack, size_offset, node3.y); + float scale = stack_load_float_default(stack, scale_offset, node3.y); - dimension = fmaxf(dimension, 0.0f); - octaves = fmaxf(octaves, 0.0f); + dimension = fmaxf(dimension, 1e-5f); + detail = clamp(detail, 0.0f, 16.0f); lacunarity = fmaxf(lacunarity, 1e-5f); - size = nonzerof(size, 1e-5f); - float f = svm_musgrave((NodeMusgraveType)type, (NodeNoiseBasis)basis, - dimension, lacunarity, octaves, foffset, 1.0f, gain, size, co); + float f = svm_musgrave((NodeMusgraveType)type, + dimension, lacunarity, detail, foffset, 1.0f, gain, scale, co); - stack_store_float(stack, fac_offset, f); + if(stack_valid(fac_offset)) + stack_store_float(stack, fac_offset, f); + if(stack_valid(color_offset)) + stack_store_float3(stack, color_offset, make_float3(f, f, f)); } CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/svm/svm_noisetex.h b/intern/cycles/kernel/svm/svm_noisetex.h index 38b249a80fe..7421597040e 100644 --- a/intern/cycles/kernel/svm/svm_noisetex.h +++ b/intern/cycles/kernel/svm/svm_noisetex.h @@ -18,30 +18,55 @@ CCL_NAMESPACE_BEGIN -__device float svm_noise_texture_value(float3 p) +/* Clouds */ + +__device_inline void svm_noise(float3 p, float scale, float detail, float distortion, float *fac, float3 *color) { - return cellnoise(p*1e8f); + NodeNoiseBasis basis = NODE_NOISE_PERLIN; + int hard = 0; + + p *= scale; + + if(distortion != 0.0f) { + float3 r, offset = make_float3(13.5f, 13.5f, 13.5f); + + r.x = noise_basis(p + offset, basis) * distortion; + r.y = noise_basis(p, basis) * distortion; + r.z = noise_basis(p - offset, basis) * distortion; + + p += r; + } + + *fac = noise_turbulence(p, basis, detail, hard); + *color = make_float3(*fac, + noise_turbulence(make_float3(p.y, p.x, p.z), basis, detail, hard), + noise_turbulence(make_float3(p.y, p.z, p.x), basis, detail, hard)); } -__device float3 svm_noise_texture_color(float3 p) +__device void svm_node_tex_noise(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, int *offset) { - return cellnoise_color(p*1e8f); -} + uint co_offset, scale_offset, detail_offset, distortion_offset, fac_offset, color_offset; -__device void svm_node_tex_noise_f(ShaderData *sd, float *stack, uint co_offset, uint out_offset) -{ + decode_node_uchar4(node.y, &co_offset, &scale_offset, &detail_offset, &distortion_offset); + + uint4 node2 = read_node(kg, offset); + + float scale = stack_load_float_default(stack, scale_offset, node2.x); + float detail = stack_load_float_default(stack, detail_offset, node2.y); + float distortion = stack_load_float_default(stack, distortion_offset, node2.z); float3 co = stack_load_float3(stack, co_offset); - float f = svm_noise_texture_value(co); - stack_store_float(stack, out_offset, f); -} + float3 color; + float f; -__device void svm_node_tex_noise_v(ShaderData *sd, float *stack, uint co_offset, uint out_offset) -{ - float3 co = stack_load_float3(stack, co_offset); - float3 f = svm_noise_texture_color(co); + svm_noise(co, scale, detail, distortion, &f, &color); - stack_store_float3(stack, out_offset, f); + decode_node_uchar4(node.z, &color_offset, &fac_offset, NULL, NULL); + + if(stack_valid(fac_offset)) + stack_store_float(stack, fac_offset, f); + if(stack_valid(color_offset)) + stack_store_float3(stack, color_offset, color); } CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/svm/svm_stucci.h b/intern/cycles/kernel/svm/svm_stucci.h deleted file mode 100644 index 89353ab4cd3..00000000000 --- a/intern/cycles/kernel/svm/svm_stucci.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2011, Blender Foundation. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -CCL_NAMESPACE_BEGIN - -/* Stucci */ - -__device_noinline float svm_stucci(NodeStucciType type, NodeNoiseBasis basis, int hard, float turbulence, float size, float3 p) -{ - p /= size; - - float b2 = noise_basis_hard(p, basis, hard); - float ofs = turbulence/200.0f; - - if(type != NODE_STUCCI_PLASTIC) - ofs *= b2*b2; - - float r = noise_basis_hard(make_float3(p.x, p.y, p.z+ofs), basis, hard); - - if(type == NODE_STUCCI_WALL_OUT) - r = 1.0f - r; - - return fmaxf(r, 0.0f); -} - -__device void svm_node_tex_stucci(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, int *offset) -{ - uint4 node2 = read_node(kg, offset); - - uint type, basis, hard; - uint size_offset, turbulence_offset, co_offset, fac_offset; - - decode_node_uchar4(node.y, &type, &basis, &hard, NULL); - decode_node_uchar4(node.z, &size_offset, &turbulence_offset, &co_offset, &fac_offset); - - float3 co = stack_load_float3(stack, co_offset); - float size = stack_load_float_default(stack, size_offset, node2.x); - float turbulence = stack_load_float_default(stack, turbulence_offset, node2.y); - size = nonzerof(size, 1e-5f); - - float f = svm_stucci((NodeStucciType)type, (NodeNoiseBasis)basis, hard, - turbulence, size, co); - - stack_store_float(stack, fac_offset, f); -} - -CCL_NAMESPACE_END - diff --git a/intern/cycles/kernel/svm/svm_texture.h b/intern/cycles/kernel/svm/svm_texture.h index e273a92c988..82797018d74 100644 --- a/intern/cycles/kernel/svm/svm_texture.h +++ b/intern/cycles/kernel/svm/svm_texture.h @@ -213,14 +213,17 @@ __device float noise_wave(NodeWaveType wave, float a) /* Turbulence */ -__device_noinline float noise_turbulence(float3 p, NodeNoiseBasis basis, int octaves, int hard) +__device_noinline float noise_turbulence(float3 p, NodeNoiseBasis basis, float octaves, int hard) { float fscale = 1.0f; float amp = 1.0f; float sum = 0.0f; - int i; + int i, n; - for(i = 0; i <= octaves; i++) { + octaves = clamp(octaves, 0.0f, 16.0f); + n= (int)octaves; + + for(i = 0; i <= n; i++) { float t = noise_basis(fscale*p, basis); if(hard) @@ -231,9 +234,25 @@ __device_noinline float noise_turbulence(float3 p, NodeNoiseBasis basis, int oct fscale *= 2.0f; } - sum *= ((float)(1 << octaves)/(float)((1 << (octaves+1)) - 1)); + float rmd = octaves - floor(octaves); - return sum; + if(rmd != 0.0f) { + float t = noise_basis(fscale*p, basis); + + if(hard) + t = fabsf(2.0f*t - 1.0f); + + float sum2 = sum + t*amp; + + sum *= ((float)(1 << n)/(float)((1 << (n+1)) - 1)); + sum2 *= ((float)(1 << (n+1))/(float)((1 << (n+2)) - 1)); + + return (1.0f - rmd)*sum + rmd*sum2; + } + else { + sum *= ((float)(1 << n)/(float)((1 << (n+1)) - 1)); + return sum; + } } CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/svm/svm_types.h b/intern/cycles/kernel/svm/svm_types.h index baec3d7ac6e..89fc413c539 100644 --- a/intern/cycles/kernel/svm/svm_types.h +++ b/intern/cycles/kernel/svm/svm_types.h @@ -44,8 +44,6 @@ typedef enum NodeType { NODE_CLOSURE_WEIGHT = 500, NODE_MIX_CLOSURE = 600, NODE_JUMP = 700, - NODE_TEX_NOISE_F = 800, - NODE_TEX_NOISE_V = 900, NODE_TEX_IMAGE = 1000, NODE_TEX_SKY = 1100, NODE_GEOMETRY = 1200, @@ -57,15 +55,12 @@ typedef enum NodeType { NODE_CONVERT = 1900, NODE_FRESNEL = 2000, NODE_EMISSION_WEIGHT = 2100, - NODE_TEX_BLEND = 2200, + NODE_TEX_GRADIENT = 2200, NODE_TEX_VORONOI = 2300, NODE_TEX_MUSGRAVE = 2400, - NODE_TEX_MARBLE = 2500, + NODE_TEX_WAVE = 2500, NODE_TEX_MAGIC = 2600, - NODE_TEX_STUCCI = 2700, - NODE_TEX_DISTORTED_NOISE = 2800, - NODE_TEX_WOOD = 2900, - NODE_TEX_CLOUDS = 3000, + NODE_TEX_NOISE = 3000, NODE_SHADER_JUMP = 3100, NODE_SET_DISPLACEMENT = 3200, NODE_GEOMETRY_BUMP_DX = 3300, @@ -83,7 +78,7 @@ typedef enum NodeType { NODE_ATTR_BUMP_DY = 4500, NODE_TEX_ENVIRONMENT = 4600, NODE_CLOSURE_HOLDOUT = 4700, - NODE_BLEND_WEIGHT = 4800, + NODE_LAYER_WEIGHT = 4800, NODE_CLOSURE_VOLUME = 4900 } NodeType; @@ -211,10 +206,8 @@ typedef enum NodeMusgraveType { } NodeMusgraveType; typedef enum NodeWoodType { - NODE_WOOD_BANDS, - NODE_WOOD_RINGS, - NODE_WOOD_BAND_NOISE, - NODE_WOOD_RING_NOISE + NODE_WAVE_BANDS, + NODE_WAVE_RINGS } NodeWoodType; typedef enum NodeBlendType { @@ -246,14 +239,12 @@ typedef enum NodeStucciType { typedef enum NodeVoronoiColoring { NODE_VORONOI_INTENSITY, - NODE_VORONOI_POSITION, - NODE_VORONOI_POSITION_OUTLINE, - NODE_VORONOI_POSITION_OUTLINE_INTENSITY + NODE_VORONOI_CELLS } NodeVoronoiColoring; typedef enum NodeBlendWeightType { - NODE_BLEND_WEIGHT_FRESNEL, - NODE_BLEND_WEIGHT_FACING + NODE_LAYER_WEIGHT_FRESNEL, + NODE_LAYER_WEIGHT_FACING } NodeBlendWeightType; typedef enum ShaderType { diff --git a/intern/cycles/kernel/svm/svm_voronoi.h b/intern/cycles/kernel/svm/svm_voronoi.h index 36965959cc2..f5ee7851a51 100644 --- a/intern/cycles/kernel/svm/svm_voronoi.h +++ b/intern/cycles/kernel/svm/svm_voronoi.h @@ -20,50 +20,25 @@ CCL_NAMESPACE_BEGIN /* Voronoi */ -__device_noinline float4 svm_voronoi(NodeDistanceMetric distance_metric, NodeVoronoiColoring coloring, - float weight1, float weight2, float weight3, float weight4, - float exponent, float intensity, float size, float3 p) +__device_noinline float4 svm_voronoi(NodeVoronoiColoring coloring, float scale, float3 p) { - float aw1 = fabsf(weight1); - float aw2 = fabsf(weight2); - float aw3 = fabsf(weight3); - float aw4 = fabsf(weight4); - float sc = (aw1 + aw2 + aw3 + aw4); - - if(sc != 0.0f) - sc = intensity/sc; - /* compute distance and point coordinate of 4 nearest neighbours */ float da[4]; float3 pa[4]; - voronoi(p/size, distance_metric, exponent, da, pa); + voronoi(p*scale, NODE_VORONOI_DISTANCE_SQUARED, 1.0f, da, pa); - /* Scalar output */ - float fac = sc * fabsf(weight1*da[0] + weight2*da[1] + weight3*da[2] + weight4*da[3]); + /* output */ + float fac; float3 color; - /* colored output */ if(coloring == NODE_VORONOI_INTENSITY) { + fac = fabsf(da[0]); color = make_float3(fac, fac, fac); } else { - color = aw1*cellnoise_color(pa[0]); - color += aw2*cellnoise_color(pa[1]); - color += aw3*cellnoise_color(pa[2]); - color += aw4*cellnoise_color(pa[3]); - - if(coloring != NODE_VORONOI_POSITION) { - float t1 = min((da[1] - da[0])*10.0f, 1.0f); - - if(coloring == NODE_VORONOI_POSITION_OUTLINE_INTENSITY) - color *= t1*fac; - else if(coloring == NODE_VORONOI_POSITION_OUTLINE) - color *= t1*sc; - } - else { - color *= sc; - } + color = cellnoise_color(pa[0]); + fac= average(color); } return make_float4(color.x, color.y, color.z, fac); @@ -71,31 +46,15 @@ __device_noinline float4 svm_voronoi(NodeDistanceMetric distance_metric, NodeVor __device void svm_node_tex_voronoi(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, int *offset) { - uint4 node2 = read_node(kg, offset); - uint4 node3 = read_node(kg, offset); + uint coloring = node.y; + uint scale_offset, co_offset, fac_offset, color_offset; - uint distance_metric, coloring, exponent_offset; - uint size_offset, co_offset, fac_offset, color_offset; - uint weight1_offset, weight2_offset, weight3_offset, weight4_offset; - - decode_node_uchar4(node.y, &distance_metric, &coloring, &exponent_offset, NULL); - decode_node_uchar4(node.z, &size_offset, &co_offset, &fac_offset, &color_offset); - decode_node_uchar4(node.w, &weight1_offset, &weight2_offset, &weight3_offset, &weight4_offset); + decode_node_uchar4(node.z, &scale_offset, &co_offset, &fac_offset, &color_offset); float3 co = stack_load_float3(stack, co_offset); - float weight1 = stack_load_float_default(stack, weight1_offset, node2.x); - float weight2 = stack_load_float_default(stack, weight2_offset, node2.y); - float weight3 = stack_load_float_default(stack, weight3_offset, node2.z); - float weight4 = stack_load_float_default(stack, weight4_offset, node2.w); - float exponent = stack_load_float_default(stack, exponent_offset, node3.x); - float size = stack_load_float_default(stack, size_offset, node3.y); + float scale = stack_load_float_default(stack, scale_offset, node.w); - exponent = fmaxf(exponent, 1e-5f); - size = nonzerof(size, 1e-5f); - - float4 result = svm_voronoi((NodeDistanceMetric)distance_metric, - (NodeVoronoiColoring)coloring, - weight1, weight2, weight3, weight4, exponent, 1.0f, size, co); + float4 result = svm_voronoi((NodeVoronoiColoring)coloring, scale, co); float3 color = make_float3(result.x, result.y, result.z); float f = result.w; diff --git a/intern/cycles/kernel/svm/svm_wave.h b/intern/cycles/kernel/svm/svm_wave.h new file mode 100644 index 00000000000..8f2131156c4 --- /dev/null +++ b/intern/cycles/kernel/svm/svm_wave.h @@ -0,0 +1,65 @@ +/* + * Copyright 2011, Blender Foundation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +CCL_NAMESPACE_BEGIN + +/* Marble */ + +__device_noinline float svm_wave(NodeWoodType type, float3 p, float scale, float detail, float distortion, float dscale) +{ + float w, n; + + p *= scale; + + if(type == NODE_WAVE_BANDS) + n= (p.x + p.x + p.z)*10.0f; + else /* if(type == NODE_WAVE_RINGS) */ + n= len(p)*20.0f; + + if(distortion != 0.0f) + n += distortion * noise_turbulence(p*dscale, NODE_NOISE_PERLIN, detail, 0); + + w = noise_wave(NODE_WAVE_SINE, n); + + return w; +} + +__device void svm_node_tex_wave(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, int *offset) +{ + uint4 node2 = read_node(kg, offset); + + uint type; + uint co_offset, scale_offset, detail_offset, dscale_offset, distortion_offset, color_offset, fac_offset; + + decode_node_uchar4(node.y, &type, &color_offset, &fac_offset, &dscale_offset); + decode_node_uchar4(node.z, &co_offset, &scale_offset, &detail_offset, &distortion_offset); + + float3 co = stack_load_float3(stack, co_offset); + float scale = stack_load_float_default(stack, scale_offset, node2.x); + float detail = stack_load_float_default(stack, detail_offset, node2.y); + float distortion = stack_load_float_default(stack, distortion_offset, node2.z); + float dscale = stack_load_float_default(stack, dscale_offset, node2.w); + + float f = svm_wave((NodeWoodType)type, co, scale, detail, distortion, dscale); + + if(stack_valid(fac_offset)) stack_store_float(stack, fac_offset, f); + if(stack_valid(color_offset)) stack_store_float3(stack, color_offset, make_float3(f, f, f)); +} + +CCL_NAMESPACE_END + diff --git a/intern/cycles/kernel/svm/svm_wood.h b/intern/cycles/kernel/svm/svm_wood.h deleted file mode 100644 index 0f22e633766..00000000000 --- a/intern/cycles/kernel/svm/svm_wood.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2011, Blender Foundation. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -CCL_NAMESPACE_BEGIN - -/* Wood */ - -__device_noinline float svm_wood(float3 p, float size, NodeWoodType type, NodeWaveType wave, NodeNoiseBasis basis, uint hard, float turb) -{ - float x = p.x; - float y = p.y; - float z = p.z; - - if(type == NODE_WOOD_BANDS) { - return noise_wave(wave, (x + y + z)*10.0f); - } - else if(type == NODE_WOOD_RINGS) { - return noise_wave(wave, sqrt(x*x + y*y + z*z)*20.0f); - } - else if (type == NODE_WOOD_BAND_NOISE) { - float wi = turb*noise_basis_hard(p/size, basis, hard); - return noise_wave(wave, (x + y + z)*10.0f + wi); - } - else if (type == NODE_WOOD_RING_NOISE) { - float wi = turb*noise_basis_hard(p/size, basis, hard); - return noise_wave(wave, sqrt(x*x + y*y + z*z)*20.0f + wi); - } - - return 0.0f; -} - -__device void svm_node_tex_wood(KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, int *offset) -{ - uint4 node2 = read_node(kg, offset); - - uint type, wave, basis, hard; - uint co_offset, size_offset, turbulence_offset, fac_offset; - - decode_node_uchar4(node.y, &type, &wave, &basis, &hard); - decode_node_uchar4(node.z, &co_offset, &size_offset, &turbulence_offset, &fac_offset); - - float3 co = stack_load_float3(stack, co_offset); - float size = stack_load_float_default(stack, size_offset, node2.y); - float turbulence = stack_load_float_default(stack, turbulence_offset, node2.z); - size = nonzerof(size, 1e-5f); - - float f = svm_wood(co, size, (NodeWoodType)type, (NodeWaveType)wave, - (NodeNoiseBasis)basis, hard, turbulence); - - stack_store_float(stack, fac_offset, f); -} - -CCL_NAMESPACE_END - diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index 56d5bdf77ba..f934b703103 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -353,45 +353,9 @@ void SkyTextureNode::compile(OSLCompiler& compiler) compiler.add(this, "node_sky_texture"); } -/* Noise Texture */ +/* Gradient Texture */ -NoiseTextureNode::NoiseTextureNode() -: TextureNode("noise_texture") -{ - add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); - add_output("Color", SHADER_SOCKET_COLOR); - add_output("Fac", SHADER_SOCKET_FLOAT); -} - -void NoiseTextureNode::compile(SVMCompiler& compiler) -{ - ShaderInput *vector_in = input("Vector"); - ShaderOutput *color_out = output("Color"); - ShaderOutput *fac_out = output("Fac"); - - if(!color_out->links.empty() || !fac_out->links.empty()) - if(!tex_mapping.skip()) - tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); - - if(!color_out->links.empty()) { - compiler.stack_assign(color_out); - compiler.add_node(NODE_TEX_NOISE_V, vector_in->stack_offset, color_out->stack_offset); - } - - if(!fac_out->links.empty()) { - compiler.stack_assign(fac_out); - compiler.add_node(NODE_TEX_NOISE_F, vector_in->stack_offset, fac_out->stack_offset); - } -} - -void NoiseTextureNode::compile(OSLCompiler& compiler) -{ - compiler.add(this, "node_noise_texture"); -} - -/* Blend Texture */ - -static ShaderEnum blend_progression_init() +static ShaderEnum gradient_type_init() { ShaderEnum enm; @@ -406,160 +370,114 @@ static ShaderEnum blend_progression_init() return enm; } -static ShaderEnum blend_axis_init() +ShaderEnum GradientTextureNode::type_enum = gradient_type_init(); + +GradientTextureNode::GradientTextureNode() +: TextureNode("gradient_texture") { - ShaderEnum enm; - - enm.insert("Horizontal", NODE_BLEND_HORIZONTAL); - enm.insert("Vertical", NODE_BLEND_VERTICAL); - - return enm; -} - -ShaderEnum BlendTextureNode::progression_enum = blend_progression_init(); -ShaderEnum BlendTextureNode::axis_enum = blend_axis_init(); - -BlendTextureNode::BlendTextureNode() -: TextureNode("blend_texture") -{ - progression = ustring("Linear"); - axis = ustring("Horizontal"); + type = ustring("Linear"); add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); - add_output("Fac", SHADER_SOCKET_FLOAT); -} - -void BlendTextureNode::compile(SVMCompiler& compiler) -{ - ShaderInput *vector_in = input("Vector"); - ShaderOutput *fac_out = output("Fac"); - - if(vector_in->link) compiler.stack_assign(vector_in); - - if(!tex_mapping.skip()) - tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); - - compiler.stack_assign(fac_out); - compiler.add_node(NODE_TEX_BLEND, - compiler.encode_uchar4(progression_enum[progression], axis_enum[axis]), - vector_in->stack_offset, fac_out->stack_offset); -} - -void BlendTextureNode::compile(OSLCompiler& compiler) -{ - compiler.parameter("Progression", progression); - compiler.parameter("Axis", axis); - compiler.add(this, "node_blend_texture"); -} - -/* Clouds Texture */ - -static ShaderEnum noise_basis_init() -{ - ShaderEnum enm; - - enm.insert("Perlin", NODE_NOISE_PERLIN); - enm.insert("Voronoi F1", NODE_NOISE_VORONOI_F1); - enm.insert("Voronoi F2", NODE_NOISE_VORONOI_F2); - enm.insert("Voronoi F3", NODE_NOISE_VORONOI_F3); - enm.insert("Voronoi F4", NODE_NOISE_VORONOI_F4); - enm.insert("Voronoi F2-F1", NODE_NOISE_VORONOI_F2_F1); - enm.insert("Voronoi Crackle", NODE_NOISE_VORONOI_CRACKLE); - enm.insert("Cell Noise", NODE_NOISE_CELL_NOISE); - - return enm; -} - -ShaderEnum CloudsTextureNode::basis_enum = noise_basis_init(); - -CloudsTextureNode::CloudsTextureNode() -: TextureNode("clouds_texture") -{ - basis = ustring("Perlin"); - hard = false; - depth = 2; - - add_input("Size", SHADER_SOCKET_FLOAT, 0.25f); - add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); - add_output("Color", SHADER_SOCKET_COLOR); add_output("Fac", SHADER_SOCKET_FLOAT); } -void CloudsTextureNode::compile(SVMCompiler& compiler) +void GradientTextureNode::compile(SVMCompiler& compiler) { - ShaderInput *size_in = input("Size"); ShaderInput *vector_in = input("Vector"); ShaderOutput *color_out = output("Color"); ShaderOutput *fac_out = output("Fac"); if(vector_in->link) compiler.stack_assign(vector_in); - if(size_in->link) compiler.stack_assign(size_in); if(!tex_mapping.skip()) tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); - compiler.stack_assign(color_out); - compiler.stack_assign(fac_out); + if(!fac_out->links.empty()) + compiler.stack_assign(fac_out); + if(!color_out->links.empty()) + compiler.stack_assign(color_out); - compiler.add_node(NODE_TEX_CLOUDS, - compiler.encode_uchar4(basis_enum[basis], hard, depth), - compiler.encode_uchar4(size_in->stack_offset, vector_in->stack_offset, fac_out->stack_offset, color_out->stack_offset), - __float_as_int(size_in->value.x)); + compiler.add_node(NODE_TEX_GRADIENT, + compiler.encode_uchar4(type_enum[type], vector_in->stack_offset, fac_out->stack_offset, color_out->stack_offset)); } -void CloudsTextureNode::compile(OSLCompiler& compiler) +void GradientTextureNode::compile(OSLCompiler& compiler) { - compiler.parameter("Hard", (hard)? 1: 0); - compiler.parameter("Depth", depth); - compiler.parameter("Basis", basis); - compiler.add(this, "node_clouds_texture"); + compiler.parameter("Type", type); + compiler.add(this, "node_gradient_texture"); +} + +/* Noise Texture */ + +NoiseTextureNode::NoiseTextureNode() +: TextureNode("noise_texture") +{ + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); + add_input("Scale", SHADER_SOCKET_FLOAT, 1.0f); + add_input("Detail", SHADER_SOCKET_FLOAT, 2.0f); + add_input("Distortion", SHADER_SOCKET_FLOAT, 0.0f); + + add_output("Color", SHADER_SOCKET_COLOR); + add_output("Fac", SHADER_SOCKET_FLOAT); +} + +void NoiseTextureNode::compile(SVMCompiler& compiler) +{ + ShaderInput *distortion_in = input("Distortion"); + ShaderInput *detail_in = input("Detail"); + ShaderInput *scale_in = input("Scale"); + ShaderInput *vector_in = input("Vector"); + ShaderOutput *color_out = output("Color"); + ShaderOutput *fac_out = output("Fac"); + + if(vector_in->link) compiler.stack_assign(vector_in); + if(scale_in->link) compiler.stack_assign(scale_in); + if(detail_in->link) compiler.stack_assign(detail_in); + if(distortion_in->link) compiler.stack_assign(distortion_in); + + if(!tex_mapping.skip()) + tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); + + if(!fac_out->links.empty()) + compiler.stack_assign(fac_out); + if(!color_out->links.empty()) + compiler.stack_assign(color_out); + + compiler.add_node(NODE_TEX_NOISE, + compiler.encode_uchar4(vector_in->stack_offset, scale_in->stack_offset, detail_in->stack_offset, distortion_in->stack_offset), + compiler.encode_uchar4(color_out->stack_offset, fac_out->stack_offset)); + compiler.add_node( + __float_as_int(scale_in->value.x), + __float_as_int(detail_in->value.x), + __float_as_int(distortion_in->value.x)); +} + +void NoiseTextureNode::compile(OSLCompiler& compiler) +{ + compiler.add(this, "node_noise_texture"); } /* Voronoi Texture */ -static ShaderEnum distance_metric_init() -{ - ShaderEnum enm; - - enm.insert("Distance Squared", NODE_VORONOI_DISTANCE_SQUARED); - enm.insert("Actual Distance", NODE_VORONOI_ACTUAL_DISTANCE); - enm.insert("Manhattan", NODE_VORONOI_MANHATTAN); - enm.insert("Chebychev", NODE_VORONOI_CHEBYCHEV); - enm.insert("Minkovsky 1/2", NODE_VORONOI_MINKOVSKY_H); - enm.insert("Minkovsky 4", NODE_VORONOI_MINKOVSKY_4); - enm.insert("Minkovsky", NODE_VORONOI_MINKOVSKY); - - return enm; -} - static ShaderEnum voronoi_coloring_init() { ShaderEnum enm; enm.insert("Intensity", NODE_VORONOI_INTENSITY); - enm.insert("Position", NODE_VORONOI_POSITION); - enm.insert("Position and Outline", NODE_VORONOI_POSITION_OUTLINE); - enm.insert("Position, Outline, and Intensity", NODE_VORONOI_POSITION_OUTLINE_INTENSITY); + enm.insert("Cells", NODE_VORONOI_CELLS); return enm; } -ShaderEnum VoronoiTextureNode::distance_metric_enum = distance_metric_init(); ShaderEnum VoronoiTextureNode::coloring_enum = voronoi_coloring_init(); VoronoiTextureNode::VoronoiTextureNode() : TextureNode("voronoi_texture") { - distance_metric = ustring("Actual Distance"); coloring = ustring("Intensity"); - add_input("Size", SHADER_SOCKET_FLOAT, 0.25f); - add_input("Weight1", SHADER_SOCKET_FLOAT, 1.0f); - add_input("Weight2", SHADER_SOCKET_FLOAT, 0.0f); - add_input("Weight3", SHADER_SOCKET_FLOAT, 0.0f); - add_input("Weight4", SHADER_SOCKET_FLOAT, 0.0f); - add_input("Exponent", SHADER_SOCKET_FLOAT, 2.5f); + add_input("Scale", SHADER_SOCKET_FLOAT, 1.0f); add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); add_output("Color", SHADER_SOCKET_COLOR); @@ -568,23 +486,13 @@ VoronoiTextureNode::VoronoiTextureNode() void VoronoiTextureNode::compile(SVMCompiler& compiler) { - ShaderInput *weight1_in = input("Weight1"); - ShaderInput *weight2_in = input("Weight2"); - ShaderInput *weight3_in = input("Weight3"); - ShaderInput *weight4_in = input("Weight4"); - ShaderInput *exponent_in = input("Exponent"); - ShaderInput *size_in = input("Size"); + ShaderInput *scale_in = input("Scale"); ShaderInput *vector_in = input("Vector"); ShaderOutput *color_out = output("Color"); ShaderOutput *fac_out = output("Fac"); - if(weight1_in->link) compiler.stack_assign(weight1_in); - if(weight2_in->link) compiler.stack_assign(weight2_in); - if(weight3_in->link) compiler.stack_assign(weight3_in); - if(weight4_in->link) compiler.stack_assign(weight4_in); - if(exponent_in->link) compiler.stack_assign(exponent_in); if(vector_in->link) compiler.stack_assign(vector_in); - if(size_in->link) compiler.stack_assign(size_in); + if(scale_in->link) compiler.stack_assign(scale_in); if(!tex_mapping.skip()) tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); @@ -593,20 +501,13 @@ void VoronoiTextureNode::compile(SVMCompiler& compiler) compiler.stack_assign(fac_out); compiler.add_node(NODE_TEX_VORONOI, - compiler.encode_uchar4(distance_metric_enum[distance_metric], coloring_enum[coloring], exponent_in->stack_offset), - compiler.encode_uchar4(size_in->stack_offset, vector_in->stack_offset, fac_out->stack_offset, color_out->stack_offset), - compiler.encode_uchar4(weight1_in->stack_offset, weight2_in->stack_offset, weight3_in->stack_offset, weight4_in->stack_offset)); - compiler.add_node(__float_as_int(weight1_in->value.x), - __float_as_int(weight2_in->value.x), - __float_as_int(weight3_in->value.x), - __float_as_int(weight4_in->value.x)); - compiler.add_node(__float_as_int(exponent_in->value.x), - __float_as_int(size_in->value.x)); + coloring_enum[coloring], + compiler.encode_uchar4(scale_in->stack_offset, vector_in->stack_offset, fac_out->stack_offset, color_out->stack_offset), + __float_as_int(scale_in->value.x)); } void VoronoiTextureNode::compile(OSLCompiler& compiler) { - compiler.parameter("DistanceMetric", distance_metric); compiler.parameter("Coloring", coloring); compiler.add(this, "node_voronoi_texture"); } @@ -627,141 +528,138 @@ static ShaderEnum musgrave_type_init() } ShaderEnum MusgraveTextureNode::type_enum = musgrave_type_init(); -ShaderEnum MusgraveTextureNode::basis_enum = noise_basis_init(); MusgraveTextureNode::MusgraveTextureNode() : TextureNode("musgrave_texture") { type = ustring("fBM"); - basis = ustring("Perlin"); + add_input("Scale", SHADER_SOCKET_FLOAT, 1.0f); + add_input("Detail", SHADER_SOCKET_FLOAT, 2.0f); + add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); add_input("Dimension", SHADER_SOCKET_FLOAT, 2.0f); add_input("Lacunarity", SHADER_SOCKET_FLOAT, 1.0f); - add_input("Octaves", SHADER_SOCKET_FLOAT, 2.0f); add_input("Offset", SHADER_SOCKET_FLOAT, 0.0f); add_input("Gain", SHADER_SOCKET_FLOAT, 1.0f); - add_input("Size", SHADER_SOCKET_FLOAT, 0.25f); - add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); add_output("Fac", SHADER_SOCKET_FLOAT); + add_output("Color", SHADER_SOCKET_COLOR); } void MusgraveTextureNode::compile(SVMCompiler& compiler) { ShaderInput *vector_in = input("Vector"); + ShaderInput *scale_in = input("Scale"); ShaderInput *dimension_in = input("Dimension"); ShaderInput *lacunarity_in = input("Lacunarity"); - ShaderInput *octaves_in = input("Octaves"); + ShaderInput *detail_in = input("Detail"); ShaderInput *offset_in = input("Offset"); ShaderInput *gain_in = input("Gain"); - ShaderInput *size_in = input("Size"); ShaderOutput *fac_out = output("Fac"); + ShaderOutput *color_out = output("Color"); if(vector_in->link) compiler.stack_assign(vector_in); if(dimension_in->link) compiler.stack_assign(dimension_in); if(lacunarity_in->link) compiler.stack_assign(lacunarity_in); - if(octaves_in->link) compiler.stack_assign(octaves_in); + if(detail_in->link) compiler.stack_assign(detail_in); if(offset_in->link) compiler.stack_assign(offset_in); if(gain_in->link) compiler.stack_assign(gain_in); - if(size_in->link) compiler.stack_assign(size_in); + if(scale_in->link) compiler.stack_assign(scale_in); if(!tex_mapping.skip()) tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); - compiler.stack_assign(fac_out); + if(!fac_out->links.empty()) + compiler.stack_assign(fac_out); + if(!color_out->links.empty()) + compiler.stack_assign(color_out); + compiler.add_node(NODE_TEX_MUSGRAVE, - compiler.encode_uchar4(type_enum[type], basis_enum[basis], vector_in->stack_offset, fac_out->stack_offset), - compiler.encode_uchar4(dimension_in->stack_offset, lacunarity_in->stack_offset, octaves_in->stack_offset, offset_in->stack_offset), - compiler.encode_uchar4(gain_in->stack_offset, size_in->stack_offset)); + compiler.encode_uchar4(type_enum[type], vector_in->stack_offset, color_out->stack_offset, fac_out->stack_offset), + compiler.encode_uchar4(dimension_in->stack_offset, lacunarity_in->stack_offset, detail_in->stack_offset, offset_in->stack_offset), + compiler.encode_uchar4(gain_in->stack_offset, scale_in->stack_offset)); compiler.add_node(__float_as_int(dimension_in->value.x), __float_as_int(lacunarity_in->value.x), - __float_as_int(octaves_in->value.x), + __float_as_int(detail_in->value.x), __float_as_int(offset_in->value.x)); compiler.add_node(__float_as_int(gain_in->value.x), - __float_as_int(size_in->value.x)); + __float_as_int(scale_in->value.x)); } void MusgraveTextureNode::compile(OSLCompiler& compiler) { compiler.parameter("Type", type); - compiler.parameter("Basis", basis); compiler.add(this, "node_musgrave_texture"); } -/* Marble Texture */ +/* Wave Texture */ -static ShaderEnum marble_type_init() +static ShaderEnum wave_type_init() { ShaderEnum enm; - enm.insert("Soft", NODE_MARBLE_SOFT); - enm.insert("Sharp", NODE_MARBLE_SHARP); - enm.insert("Sharper", NODE_MARBLE_SHARPER); + enm.insert("Bands", NODE_WAVE_BANDS); + enm.insert("Rings", NODE_WAVE_RINGS); return enm; } -static ShaderEnum noise_wave_init() -{ - ShaderEnum enm; +ShaderEnum WaveTextureNode::type_enum = wave_type_init(); - enm.insert("Sine", NODE_WAVE_SINE); - enm.insert("Saw", NODE_WAVE_SAW); - enm.insert("Tri", NODE_WAVE_TRI); - - return enm; -} - -ShaderEnum MarbleTextureNode::type_enum = marble_type_init(); -ShaderEnum MarbleTextureNode::wave_enum = noise_wave_init(); -ShaderEnum MarbleTextureNode::basis_enum = noise_basis_init(); - -MarbleTextureNode::MarbleTextureNode() +WaveTextureNode::WaveTextureNode() : TextureNode("marble_texture") { - type = ustring("Soft"); - wave = ustring("Sine"); - basis = ustring("Perlin"); - hard = false; - depth = 2; + type = ustring("Bands"); - add_input("Size", SHADER_SOCKET_FLOAT, 0.25f); - add_input("Turbulence", SHADER_SOCKET_FLOAT, 5.0f); + add_input("Scale", SHADER_SOCKET_FLOAT, 1.0f); + add_input("Distortion", SHADER_SOCKET_FLOAT, 0.0f); + add_input("Detail", SHADER_SOCKET_FLOAT, 2.0f); + add_input("Detail Scale", SHADER_SOCKET_FLOAT, 1.0f); add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); + add_output("Color", SHADER_SOCKET_COLOR); add_output("Fac", SHADER_SOCKET_FLOAT); } -void MarbleTextureNode::compile(SVMCompiler& compiler) +void WaveTextureNode::compile(SVMCompiler& compiler) { - ShaderInput *size_in = input("Size"); - ShaderInput *turbulence_in = input("Turbulence"); + ShaderInput *scale_in = input("Scale"); + ShaderInput *distortion_in = input("Distortion"); + ShaderInput *dscale_in = input("Detail Scale"); + ShaderInput *detail_in = input("Detail"); ShaderInput *vector_in = input("Vector"); ShaderOutput *fac_out = output("Fac"); + ShaderOutput *color_out = output("Color"); - if(size_in->link) compiler.stack_assign(size_in); - if(turbulence_in->link) compiler.stack_assign(turbulence_in); + if(scale_in->link) compiler.stack_assign(scale_in); + if(detail_in->link) compiler.stack_assign(detail_in); + if(distortion_in->link) compiler.stack_assign(distortion_in); + if(dscale_in->link) compiler.stack_assign(dscale_in); if(vector_in->link) compiler.stack_assign(vector_in); if(!tex_mapping.skip()) tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); - compiler.stack_assign(fac_out); - compiler.add_node(NODE_TEX_MARBLE, - compiler.encode_uchar4(type_enum[type], wave_enum[wave], basis_enum[basis], hard), - compiler.encode_uchar4(depth), - compiler.encode_uchar4(size_in->stack_offset, turbulence_in->stack_offset, vector_in->stack_offset, fac_out->stack_offset)); - compiler.add_node(__float_as_int(size_in->value.x), __float_as_int(turbulence_in->value.x)); + if(!fac_out->links.empty()) + compiler.stack_assign(fac_out); + if(!color_out->links.empty()) + compiler.stack_assign(color_out); + + compiler.add_node(NODE_TEX_WAVE, + compiler.encode_uchar4(type_enum[type], color_out->stack_offset, fac_out->stack_offset, dscale_in->stack_offset), + compiler.encode_uchar4(vector_in->stack_offset, scale_in->stack_offset, detail_in->stack_offset, distortion_in->stack_offset)); + + compiler.add_node( + __float_as_int(scale_in->value.x), + __float_as_int(detail_in->value.x), + __float_as_int(distortion_in->value.x), + __float_as_int(dscale_in->value.x)); } -void MarbleTextureNode::compile(OSLCompiler& compiler) +void WaveTextureNode::compile(OSLCompiler& compiler) { compiler.parameter("Type", type); - compiler.parameter("Wave", wave); - compiler.parameter("Basis", basis); - compiler.parameter("Hard", (hard)? 1: 0); - compiler.parameter("Depth", depth); compiler.add(this, "node_marble_texture"); } @@ -773,27 +671,40 @@ MagicTextureNode::MagicTextureNode() { depth = 2; - add_input("Turbulence", SHADER_SOCKET_FLOAT, 5.0f); add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); + add_input("Scale", SHADER_SOCKET_FLOAT, 5.0f); + add_input("Distortion", SHADER_SOCKET_FLOAT, 1.0f); + add_output("Color", SHADER_SOCKET_COLOR); + add_output("Fac", SHADER_SOCKET_FLOAT); } void MagicTextureNode::compile(SVMCompiler& compiler) { ShaderInput *vector_in = input("Vector"); - ShaderInput *turbulence_in = input("Turbulence"); + ShaderInput *scale_in = input("Scale"); + ShaderInput *distortion_in = input("Distortion"); ShaderOutput *color_out = output("Color"); + ShaderOutput *fac_out = output("Fac"); if(vector_in->link) compiler.stack_assign(vector_in); - if(turbulence_in->link) compiler.stack_assign(turbulence_in); + if(distortion_in->link) compiler.stack_assign(distortion_in); + if(scale_in->link) compiler.stack_assign(scale_in); if(!tex_mapping.skip()) tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); - compiler.stack_assign(color_out); + if(!fac_out->links.empty()) + compiler.stack_assign(fac_out); + if(!color_out->links.empty()) + compiler.stack_assign(color_out); + compiler.add_node(NODE_TEX_MAGIC, - compiler.encode_uchar4(depth, turbulence_in->stack_offset, vector_in->stack_offset, color_out->stack_offset), - __float_as_int(turbulence_in->value.x)); + compiler.encode_uchar4(depth, color_out->stack_offset, fac_out->stack_offset), + compiler.encode_uchar4(vector_in->stack_offset, scale_in->stack_offset, distortion_in->stack_offset)); + compiler.add_node( + __float_as_int(scale_in->value.x), + __float_as_int(distortion_in->value.x)); } void MagicTextureNode::compile(OSLCompiler& compiler) @@ -802,178 +713,6 @@ void MagicTextureNode::compile(OSLCompiler& compiler) compiler.add(this, "node_magic_texture"); } -/* Stucci Texture */ - -static ShaderEnum stucci_type_init() -{ - ShaderEnum enm; - - enm.insert("Plastic", NODE_STUCCI_PLASTIC); - enm.insert("Wall In", NODE_STUCCI_WALL_IN); - enm.insert("Wall Out", NODE_STUCCI_WALL_OUT); - - return enm; -} - -ShaderEnum StucciTextureNode::type_enum = stucci_type_init(); -ShaderEnum StucciTextureNode::basis_enum = noise_basis_init(); - -StucciTextureNode::StucciTextureNode() -: TextureNode("stucci_texture") -{ - type = ustring("Plastic"); - basis = ustring("Perlin"); - hard = false; - - add_input("Size", SHADER_SOCKET_FLOAT, 1.0f); - add_input("Turbulence", SHADER_SOCKET_FLOAT, 1.0f); - add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); - - add_output("Fac", SHADER_SOCKET_FLOAT); -} - -void StucciTextureNode::compile(SVMCompiler& compiler) -{ - ShaderInput *size_in = input("Size"); - ShaderInput *turbulence_in = input("Turbulence"); - ShaderInput *vector_in = input("Vector"); - ShaderOutput *fac_out = output("Fac"); - - if(size_in->link) compiler.stack_assign(size_in); - if(turbulence_in->link) compiler.stack_assign(turbulence_in); - if(vector_in->link) compiler.stack_assign(vector_in); - - if(!tex_mapping.skip()) - tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); - - compiler.stack_assign(fac_out); - - compiler.add_node(NODE_TEX_STUCCI, - compiler.encode_uchar4(type_enum[type], basis_enum[basis], hard), - compiler.encode_uchar4(size_in->stack_offset, turbulence_in->stack_offset, - vector_in->stack_offset, fac_out->stack_offset)); - compiler.add_node(__float_as_int(size_in->value.x), - __float_as_int(turbulence_in->value.x)); -} - -void StucciTextureNode::compile(OSLCompiler& compiler) -{ - compiler.parameter("Type", type); - compiler.parameter("Basis", basis); - compiler.parameter("Hard", (hard)? 1: 0); - compiler.add(this, "node_stucci_texture"); -} - -/* Distorted Noise Texture */ - -ShaderEnum DistortedNoiseTextureNode::basis_enum = noise_basis_init(); - -DistortedNoiseTextureNode::DistortedNoiseTextureNode() -: TextureNode("distorted_noise_texture") -{ - basis = ustring("Perlin"); - distortion_basis = ustring("Perlin"); - - add_input("Size", SHADER_SOCKET_FLOAT, 0.25f); - add_input("Distortion", SHADER_SOCKET_FLOAT, 1.0f); - add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); - - add_output("Fac", SHADER_SOCKET_FLOAT); -} - -void DistortedNoiseTextureNode::compile(SVMCompiler& compiler) -{ - ShaderInput *size_in = input("Size"); - ShaderInput *distortion_in = input("Distortion"); - ShaderInput *vector_in = input("Vector"); - ShaderOutput *fac_out = output("Fac"); - - if(size_in->link) compiler.stack_assign(size_in); - if(distortion_in->link) compiler.stack_assign(distortion_in); - if(vector_in->link) compiler.stack_assign(vector_in); - - if(!tex_mapping.skip()) - tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); - - compiler.stack_assign(fac_out); - - compiler.add_node(NODE_TEX_DISTORTED_NOISE, - compiler.encode_uchar4(basis_enum[basis], basis_enum[distortion_basis]), - compiler.encode_uchar4(size_in->stack_offset, distortion_in->stack_offset, vector_in->stack_offset, fac_out->stack_offset)); - compiler.add_node(__float_as_int(size_in->value.x), - __float_as_int(distortion_in->value.x)); -} - -void DistortedNoiseTextureNode::compile(OSLCompiler& compiler) -{ - compiler.parameter("Basis", basis); - compiler.parameter("DistortionBasis", distortion_basis); - compiler.add(this, "node_distorted_noise_texture"); -} - -/* Wood Texture */ - -static ShaderEnum wood_type_init() -{ - ShaderEnum enm; - - enm.insert("Bands", NODE_WOOD_BANDS); - enm.insert("Rings", NODE_WOOD_RINGS); - enm.insert("Band Noise", NODE_WOOD_BAND_NOISE); - enm.insert("Ring Noise", NODE_WOOD_RING_NOISE); - - return enm; -} - -ShaderEnum WoodTextureNode::type_enum = wood_type_init(); -ShaderEnum WoodTextureNode::wave_enum = noise_wave_init(); -ShaderEnum WoodTextureNode::basis_enum = noise_basis_init(); - -WoodTextureNode::WoodTextureNode() -: TextureNode("wood_texture") -{ - type = ustring("Bands"); - wave = ustring("Sine"); - basis = ustring("Perlin"); - hard = false; - - add_input("Size", SHADER_SOCKET_FLOAT, 0.25f); - add_input("Turbulence", SHADER_SOCKET_FLOAT, 5.0f); - add_input("Vector", SHADER_SOCKET_POINT, ShaderInput::TEXTURE_GENERATED); - - add_output("Fac", SHADER_SOCKET_FLOAT); -} - -void WoodTextureNode::compile(SVMCompiler& compiler) -{ - ShaderInput *vector_in = input("Vector"); - ShaderInput *size_in = input("Size"); - ShaderInput *turbulence_in = input("Turbulence"); - ShaderOutput *fac_out = output("Fac"); - - if(vector_in->link) compiler.stack_assign(vector_in); - if(size_in->link) compiler.stack_assign(size_in); - if(turbulence_in->link) compiler.stack_assign(turbulence_in); - - if(!tex_mapping.skip()) - tex_mapping.compile(compiler, vector_in->stack_offset, vector_in->stack_offset); - - compiler.stack_assign(fac_out); - compiler.add_node(NODE_TEX_WOOD, - compiler.encode_uchar4(type_enum[type], wave_enum[wave], basis_enum[basis], hard), - compiler.encode_uchar4(vector_in->stack_offset, size_in->stack_offset, turbulence_in->stack_offset, fac_out->stack_offset)); - compiler.add_node(NODE_TEX_WOOD, make_float3(size_in->value.x, turbulence_in->value.x, 0.0f)); -} - -void WoodTextureNode::compile(OSLCompiler& compiler) -{ - compiler.parameter("Type", type); - compiler.parameter("Wave", wave); - compiler.parameter("Basis", basis); - compiler.parameter("Hard", (hard)? 1: 0); - compiler.add(this, "node_wood_texture"); -} - /* Mapping */ MappingNode::MappingNode() @@ -1986,8 +1725,8 @@ void FresnelNode::compile(OSLCompiler& compiler) /* Blend Weight */ -BlendWeightNode::BlendWeightNode() -: ShaderNode("BlendWeight") +LayerWeightNode::LayerWeightNode() +: ShaderNode("LayerWeight") { add_input("Normal", SHADER_SOCKET_NORMAL, ShaderInput::NORMAL, true); add_input("Blend", SHADER_SOCKET_FLOAT, 0.5f); @@ -1996,7 +1735,7 @@ BlendWeightNode::BlendWeightNode() add_output("Facing", SHADER_SOCKET_FLOAT); } -void BlendWeightNode::compile(SVMCompiler& compiler) +void LayerWeightNode::compile(SVMCompiler& compiler) { ShaderInput *blend_in = input("Blend"); @@ -2006,21 +1745,21 @@ void BlendWeightNode::compile(SVMCompiler& compiler) ShaderOutput *fresnel_out = output("Fresnel"); if(!fresnel_out->links.empty()) { compiler.stack_assign(fresnel_out); - compiler.add_node(NODE_BLEND_WEIGHT, blend_in->stack_offset, __float_as_int(blend_in->value.x), - compiler.encode_uchar4(NODE_BLEND_WEIGHT_FRESNEL, fresnel_out->stack_offset)); + compiler.add_node(NODE_LAYER_WEIGHT, blend_in->stack_offset, __float_as_int(blend_in->value.x), + compiler.encode_uchar4(NODE_LAYER_WEIGHT_FRESNEL, fresnel_out->stack_offset)); } ShaderOutput *facing_out = output("Facing"); if(!facing_out->links.empty()) { compiler.stack_assign(facing_out); - compiler.add_node(NODE_BLEND_WEIGHT, blend_in->stack_offset, __float_as_int(blend_in->value.x), - compiler.encode_uchar4(NODE_BLEND_WEIGHT_FACING, facing_out->stack_offset)); + compiler.add_node(NODE_LAYER_WEIGHT, blend_in->stack_offset, __float_as_int(blend_in->value.x), + compiler.encode_uchar4(NODE_LAYER_WEIGHT_FACING, facing_out->stack_offset)); } } -void BlendWeightNode::compile(OSLCompiler& compiler) +void LayerWeightNode::compile(OSLCompiler& compiler) { - compiler.add(this, "node_blend_weight"); + compiler.add(this, "node_layer_height"); } /* Output */ diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h index 09b565b5043..d9cbd7ff589 100644 --- a/intern/cycles/render/nodes.h +++ b/intern/cycles/render/nodes.h @@ -97,41 +97,25 @@ public: SHADER_NODE_CLASS(OutputNode) }; +class GradientTextureNode : public TextureNode { +public: + SHADER_NODE_CLASS(GradientTextureNode) + + ustring type; + static ShaderEnum type_enum; +}; + class NoiseTextureNode : public TextureNode { public: SHADER_NODE_CLASS(NoiseTextureNode) }; -class BlendTextureNode : public TextureNode { -public: - SHADER_NODE_CLASS(BlendTextureNode) - - ustring progression; - ustring axis; - - static ShaderEnum progression_enum; - static ShaderEnum axis_enum; -}; - -class CloudsTextureNode : public TextureNode { -public: - SHADER_NODE_CLASS(CloudsTextureNode) - - bool hard; - int depth; - ustring basis; - - static ShaderEnum basis_enum; -}; - class VoronoiTextureNode : public TextureNode { public: SHADER_NODE_CLASS(VoronoiTextureNode) - ustring distance_metric; ustring coloring; - static ShaderEnum distance_metric_enum; static ShaderEnum coloring_enum; }; @@ -140,25 +124,16 @@ public: SHADER_NODE_CLASS(MusgraveTextureNode) ustring type; - ustring basis; static ShaderEnum type_enum; - static ShaderEnum basis_enum; }; -class MarbleTextureNode : public TextureNode { +class WaveTextureNode : public TextureNode { public: - SHADER_NODE_CLASS(MarbleTextureNode) + SHADER_NODE_CLASS(WaveTextureNode) ustring type; - ustring wave; - ustring basis; - bool hard; - int depth; - static ShaderEnum type_enum; - static ShaderEnum wave_enum; - static ShaderEnum basis_enum; }; class MagicTextureNode : public TextureNode { @@ -168,41 +143,6 @@ public: int depth; }; -class StucciTextureNode : public TextureNode { -public: - SHADER_NODE_CLASS(StucciTextureNode) - - ustring type; - ustring basis; - bool hard; - - static ShaderEnum type_enum; - static ShaderEnum basis_enum; -}; - -class DistortedNoiseTextureNode : public TextureNode { -public: - SHADER_NODE_CLASS(DistortedNoiseTextureNode) - - ustring basis; - ustring distortion_basis; - static ShaderEnum basis_enum; -}; - -class WoodTextureNode : public TextureNode { -public: - SHADER_NODE_CLASS(WoodTextureNode) - - ustring type; - ustring wave; - ustring basis; - bool hard; - - static ShaderEnum type_enum; - static ShaderEnum wave_enum; - static ShaderEnum basis_enum; -}; - class MappingNode : public ShaderNode { public: SHADER_NODE_CLASS(MappingNode) @@ -365,9 +305,9 @@ public: SHADER_NODE_CLASS(FresnelNode) }; -class BlendWeightNode : public ShaderNode { +class LayerWeightNode : public ShaderNode { public: - SHADER_NODE_CLASS(BlendWeightNode) + SHADER_NODE_CLASS(LayerWeightNode) }; class MathNode : public ShaderNode { diff --git a/intern/cycles/util/util_hash.h b/intern/cycles/util/util_hash.h index af7ad7e06a1..16901dab38e 100644 --- a/intern/cycles/util/util_hash.h +++ b/intern/cycles/util/util_hash.h @@ -21,7 +21,7 @@ CCL_NAMESPACE_BEGIN -static unsigned int hash_int_2d(unsigned int kx, unsigned int ky) +static inline unsigned int hash_int_2d(unsigned int kx, unsigned int ky) { #define rot(x,k) (((x)<<(k)) | ((x)>>(32-(k)))) @@ -44,7 +44,7 @@ static unsigned int hash_int_2d(unsigned int kx, unsigned int ky) #undef rot } -static unsigned int hash_int(unsigned int k) +static inline unsigned int hash_int(unsigned int k) { return hash_int_2d(k, 0); } diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h index 3ba6cd3793e..9543eefd0c7 100644 --- a/source/blender/blenkernel/BKE_node.h +++ b/source/blender/blenkernel/BKE_node.h @@ -473,23 +473,19 @@ struct ShadeResult; #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_GRADIENT 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_WAVE 149 +#define SH_NODE_TEX_NOISE 150 #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_SHADER 156 #define SH_NODE_TEX_ENVIRONMENT 157 #define SH_NODE_OUTPUT_TEXTURE 158 #define SH_NODE_HOLDOUT 159 -#define SH_NODE_BLEND_WEIGHT 160 +#define SH_NODE_LAYER_WEIGHT 160 #define SH_NODE_VOLUME_TRANSPARENT 161 #define SH_NODE_VOLUME_ISOTROPIC 162 diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index 4f87c194790..35f32a3b772 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -1896,7 +1896,7 @@ static void registerShaderNodes(ListBase *ntypelist) register_node_type_sh_geometry(ntypelist); register_node_type_sh_light_path(ntypelist); register_node_type_sh_fresnel(ntypelist); - register_node_type_sh_blend_weight(ntypelist); + register_node_type_sh_layer_weight(ntypelist); register_node_type_sh_tex_coord(ntypelist); register_node_type_sh_background(ntypelist); @@ -1922,16 +1922,12 @@ static void registerShaderNodes(ListBase *ntypelist) register_node_type_sh_tex_image(ntypelist); register_node_type_sh_tex_environment(ntypelist); register_node_type_sh_tex_sky(ntypelist); - register_node_type_sh_tex_voronoi(ntypelist); - register_node_type_sh_tex_blend(ntypelist); - register_node_type_sh_tex_magic(ntypelist); - register_node_type_sh_tex_marble(ntypelist); - register_node_type_sh_tex_clouds(ntypelist); - register_node_type_sh_tex_wood(ntypelist); - register_node_type_sh_tex_stucci(ntypelist); register_node_type_sh_tex_noise(ntypelist); - register_node_type_sh_tex_distnoise(ntypelist); + register_node_type_sh_tex_wave(ntypelist); + register_node_type_sh_tex_voronoi(ntypelist); register_node_type_sh_tex_musgrave(ntypelist); + register_node_type_sh_tex_gradient(ntypelist); + register_node_type_sh_tex_magic(ntypelist); } static void registerTextureNodes(ListBase *ntypelist) diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 1c96cd2e05a..4d07242bfc9 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -2091,7 +2091,7 @@ static void ntree_tmp_cycles_version_patch(bNodeTree *ntree) if(strcmp(sock->name, "Fresnel") == 0) { bNodeSocket *osock; - node->type = SH_NODE_BLEND_WEIGHT; + node->type = SH_NODE_LAYER_WEIGHT; strcpy(sock->name, "Blend"); for(osock=node->outputs.first; osock; osock=osock->next) @@ -7227,9 +7227,8 @@ static void do_version_ntree_tex_mapping_260(void *UNUSED(data), ID *UNUSED(id), tex_mapping->projz= PROJ_Z; } else if(ELEM7(node->type, SH_NODE_TEX_IMAGE, SH_NODE_TEX_NOISE, SH_NODE_TEX_SKY, - SH_NODE_TEX_BLEND, SH_NODE_TEX_VORONOI, SH_NODE_TEX_MAGIC, SH_NODE_TEX_MARBLE) || - ELEM6(node->type, SH_NODE_TEX_CLOUDS, SH_NODE_TEX_WOOD, SH_NODE_TEX_MUSGRAVE, - SH_NODE_TEX_STUCCI, SH_NODE_TEX_DISTNOISE, SH_NODE_TEX_ENVIRONMENT)) { + SH_NODE_TEX_GRADIENT, SH_NODE_TEX_VORONOI, SH_NODE_TEX_MAGIC, SH_NODE_TEX_WAVE) || + ELEM(node->type, SH_NODE_TEX_MUSGRAVE, SH_NODE_TEX_ENVIRONMENT)) { NodeTexBase *base= node->storage; if(node->type == SH_NODE_TEX_NOISE) diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c index 45713ff2a8f..c27d7e74cd7 100644 --- a/source/blender/editors/space_node/drawnode.c +++ b/source/blender/editors/space_node/drawnode.c @@ -1028,23 +1028,9 @@ static void node_shader_buts_tex_sky(uiLayout *layout, bContext *UNUSED(C), Poin uiItemR(layout, ptr, "turbidity", 0, NULL, ICON_NONE); } -static void node_shader_buts_tex_blend(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) +static void node_shader_buts_tex_gradient(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) { - uiItemR(layout, ptr, "progression", 0, "", ICON_NONE); - uiItemR(layout, ptr, "axis", 0, "", ICON_NONE); -} - -static void node_shader_buts_tex_clouds(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) -{ - uiItemR(layout, ptr, "noise_basis", 0, "", ICON_NONE); - uiItemR(layout, ptr, "noise_type", 0, "", ICON_NONE); - uiItemR(layout, ptr, "turbulence_depth", 0, NULL, ICON_NONE); -} - -static void node_shader_buts_tex_distnoise(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) -{ - uiItemR(layout, ptr, "noise_basis", 0, "", ICON_NONE); - uiItemR(layout, ptr, "noise_distortion", 0, "", ICON_NONE); + uiItemR(layout, ptr, "gradient_type", 0, "", ICON_NONE); } static void node_shader_buts_tex_magic(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) @@ -1052,42 +1038,21 @@ static void node_shader_buts_tex_magic(uiLayout *layout, bContext *UNUSED(C), Po uiItemR(layout, ptr, "turbulence_depth", 0, NULL, ICON_NONE); } -static void node_shader_buts_tex_marble(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) +static void node_shader_buts_tex_wave(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) { - uiItemR(layout, ptr, "marble_type", 0, "", ICON_NONE); - uiItemR(layout, ptr, "noise_basis", 0, "", ICON_NONE); - uiItemR(layout, ptr, "noise_type", 0, "", ICON_NONE); - uiItemR(layout, ptr, "turbulence_depth", 0, NULL, ICON_NONE); uiItemR(layout, ptr, "wave_type", 0, "", ICON_NONE); } static void node_shader_buts_tex_musgrave(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) { uiItemR(layout, ptr, "musgrave_type", 0, "", ICON_NONE); - uiItemR(layout, ptr, "noise_basis", 0, "", ICON_NONE); -} - -static void node_shader_buts_tex_stucci(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) -{ - uiItemR(layout, ptr, "stucci_type", 0, "", ICON_NONE); - uiItemR(layout, ptr, "noise_basis", 0, "", ICON_NONE); - uiItemR(layout, ptr, "noise_type", 0, "", ICON_NONE); } static void node_shader_buts_tex_voronoi(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) { - uiItemR(layout, ptr, "distance_metric", 0, "", ICON_NONE); uiItemR(layout, ptr, "coloring", 0, "", ICON_NONE); } -static void node_shader_buts_tex_wood(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) -{ - uiItemR(layout, ptr, "noise_basis", 0, "", ICON_NONE); - uiItemR(layout, ptr, "noise_type", 0, "", ICON_NONE); - uiItemR(layout, ptr, "wood_type", 0, "", ICON_NONE); - uiItemR(layout, ptr, "wave_type", 0, "", ICON_NONE); -} - static void node_shader_buts_glossy(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr) { uiItemR(layout, ptr, "distribution", 0, "", ICON_NONE); @@ -1191,33 +1156,21 @@ static void node_shader_set_butfunc(bNodeType *ntype) case SH_NODE_TEX_ENVIRONMENT: ntype->uifunc= node_shader_buts_tex_image; break; - case SH_NODE_TEX_BLEND: - ntype->uifunc= node_shader_buts_tex_blend; - break; - case SH_NODE_TEX_CLOUDS: - ntype->uifunc= node_shader_buts_tex_clouds; - break; - case SH_NODE_TEX_DISTNOISE: - ntype->uifunc= node_shader_buts_tex_distnoise; + case SH_NODE_TEX_GRADIENT: + ntype->uifunc= node_shader_buts_tex_gradient; break; case SH_NODE_TEX_MAGIC: ntype->uifunc= node_shader_buts_tex_magic; break; - case SH_NODE_TEX_MARBLE: - ntype->uifunc= node_shader_buts_tex_marble; + case SH_NODE_TEX_WAVE: + ntype->uifunc= node_shader_buts_tex_wave; break; case SH_NODE_TEX_MUSGRAVE: ntype->uifunc= node_shader_buts_tex_musgrave; break; - case SH_NODE_TEX_STUCCI: - ntype->uifunc= node_shader_buts_tex_stucci; - break; case SH_NODE_TEX_VORONOI: ntype->uifunc= node_shader_buts_tex_voronoi; break; - case SH_NODE_TEX_WOOD: - ntype->uifunc= node_shader_buts_tex_wood; - break; case SH_NODE_BSDF_GLOSSY: case SH_NODE_BSDF_GLASS: ntype->uifunc= node_shader_buts_glossy; diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index d637d6f97bd..07c2885eff7 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -432,10 +432,6 @@ typedef struct NodeTexBase { ColorMapping color_mapping; } NodeTexBase; -typedef struct NodeTexNoise { - NodeTexBase base; -} NodeTexNoise; - typedef struct NodeTexSky { NodeTexBase base; float sun_direction[3]; @@ -452,41 +448,33 @@ typedef struct NodeTexEnvironment { int color_space, pad; } NodeTexEnvironment; -typedef struct NodeTexBlend { +typedef struct NodeTexGradient { NodeTexBase base; - int progression; - int axis; -} NodeTexBlend; - -typedef struct NodeTexClouds { - NodeTexBase base; - int hard; - int depth; - int basis; + int gradient_type; int pad; -} NodeTexClouds; +} NodeTexGradient; + +typedef struct NodeTexNoise { + NodeTexBase base; +} NodeTexNoise; typedef struct NodeTexVoronoi { NodeTexBase base; - int distance_metric; int coloring; + int pad; } NodeTexVoronoi; typedef struct NodeTexMusgrave { NodeTexBase base; - int type; - int basis; + int musgrave_type; + int pad; } NodeTexMusgrave; -typedef struct NodeTexMarble { +typedef struct NodeTexWave { NodeTexBase base; - int type; - int wave; - int basis; - int hard; - int depth; + int wave_type; int pad; -} NodeTexMarble; +} NodeTexWave; typedef struct NodeTexMagic { NodeTexBase base; @@ -494,28 +482,6 @@ typedef struct NodeTexMagic { int pad; } NodeTexMagic; -typedef struct NodeTexStucci { - NodeTexBase base; - int type; - int basis; - int hard; - int pad; -} NodeTexStucci; - -typedef struct NodeTexDistortedNoise { - NodeTexBase base; - int basis; - int distortion_basis; -} NodeTexDistortedNoise; - -typedef struct NodeTexWood { - NodeTexBase base; - int type; - int wave; - int basis; - int hard; -} NodeTexWood; - typedef struct NodeShaderAttribute { char name[64]; } NodeShaderAttribute; @@ -545,9 +511,6 @@ typedef struct TexNodeOutput { #define SHD_BLEND_QUADRATIC_SPHERE 5 #define SHD_BLEND_SPHERICAL 6 -#define SHD_BLEND_HORIZONTAL 0 -#define SHD_BLEND_VERTICAL 1 - /* noise basis for textures */ #define SHD_NOISE_PERLIN 0 #define SHD_NOISE_VORONOI_F1 1 @@ -570,10 +533,8 @@ typedef struct TexNodeOutput { #define SHD_VORONOI_MINKOVSKY_4 5 #define SHD_VORONOI_MINKOVSKY 6 -#define SHD_VORONOI_INTENSITY 0 -#define SHD_VORONOI_POSITION 1 -#define SHD_VORONOI_POSITION_OUTLINE 2 -#define SHD_VORONOI_POSITION_OUTLINE_INTENSITY 3 +#define SHD_VORONOI_INTENSITY 0 +#define SHD_VORONOI_CELLS 1 /* musgrave texture */ #define SHD_MUSGRAVE_MULTIFRACTAL 0 @@ -582,26 +543,14 @@ typedef struct TexNodeOutput { #define SHD_MUSGRAVE_RIDGED_MULTIFRACTAL 3 #define SHD_MUSGRAVE_HETERO_TERRAIN 4 -/* marble texture */ -#define SHD_MARBLE_SOFT 0 -#define SHD_MARBLE_SHARP 1 -#define SHD_MARBLE_SHARPER 2 +/* wave texture */ +#define SHD_WAVE_BANDS 0 +#define SHD_WAVE_RINGS 1 #define SHD_WAVE_SINE 0 #define SHD_WAVE_SAW 1 #define SHD_WAVE_TRI 2 -/* stucci texture */ -#define SHD_STUCCI_PLASTIC 0 -#define SHD_STUCCI_WALL_IN 1 -#define SHD_STUCCI_WALL_OUT 2 - -/* wood texture */ -#define SHD_WOOD_BANDS 0 -#define SHD_WOOD_RINGS 1 -#define SHD_WOOD_BAND_NOISE 2 -#define SHD_WOOD_RING_NOISE 3 - /* image/environment texture */ #define SHD_COLORSPACE_LINEAR 0 #define SHD_COLORSPACE_SRGB 1 diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index db80f8906fd..035a05e5124 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -1147,12 +1147,6 @@ static void def_sh_tex(StructRNA *srna) RNA_def_property_ui_text(prop, "Color Mapping", "Color mapping settings"); } -static void def_sh_tex_noise(StructRNA *srna) -{ - RNA_def_struct_sdna_from(srna, "NodeTexNoise", "storage"); - def_sh_tex(srna); -} - static void def_sh_tex_sky(StructRNA *srna) { PropertyRNA *prop; @@ -1219,9 +1213,9 @@ static void def_sh_tex_image(StructRNA *srna) RNA_def_property_update(prop, 0, "rna_Node_update"); } -static void def_sh_tex_blend(StructRNA *srna) +static void def_sh_tex_gradient(StructRNA *srna) { - static EnumPropertyItem prop_blend_progression[] = { + static EnumPropertyItem prop_gradient_type[] = { {SHD_BLEND_LINEAR, "LINEAR", 0, "Linear", "Creates a linear progression"}, {SHD_BLEND_QUADRATIC, "QUADRATIC", 0, "Quadratic", "Creates a quadratic progression"}, {SHD_BLEND_EASING, "EASING", 0, "Easing", "Creates a progression easing from one step to the next"}, @@ -1231,73 +1225,21 @@ static void def_sh_tex_blend(StructRNA *srna) {SHD_BLEND_RADIAL, "RADIAL", 0, "Radial", "Creates a radial progression"}, {0, NULL, 0, NULL, NULL}}; - static const EnumPropertyItem prop_axis_items[]= { - {SHD_BLEND_HORIZONTAL, "HORIZONTAL", 0, "Horizontal", "Flips the texture's X and Y axis"}, - {SHD_BLEND_VERTICAL, "VERTICAL", 0, "Vertical", "Flips the texture's X and Y axis"}, - {0, NULL, 0, NULL, NULL}}; - PropertyRNA *prop; - RNA_def_struct_sdna_from(srna, "NodeTexBlend", "storage"); + RNA_def_struct_sdna_from(srna, "NodeTexGradient", "storage"); def_sh_tex(srna); - prop= RNA_def_property(srna, "progression", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "progression"); - RNA_def_property_enum_items(prop, prop_blend_progression); - RNA_def_property_ui_text(prop, "Progression", "Sets the style of the color blending"); - RNA_def_property_update(prop, 0, "rna_Node_update"); - - prop= RNA_def_property(srna, "axis", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_bitflag_sdna(prop, NULL, "axis"); - RNA_def_property_enum_items(prop, prop_axis_items); - RNA_def_property_ui_text(prop, "Axis", "Flips the texture's X and Y axis"); + prop= RNA_def_property(srna, "gradient_type", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_items(prop, prop_gradient_type); + RNA_def_property_ui_text(prop, "Gradient Type", "Sets the style of the color blending"); RNA_def_property_update(prop, 0, "rna_Node_update"); } -static void def_sh_tex_clouds(StructRNA *srna) +static void def_sh_tex_noise(StructRNA *srna) { - PropertyRNA *prop; - - RNA_def_struct_sdna_from(srna, "NodeTexClouds", "storage"); + RNA_def_struct_sdna_from(srna, "NodeTexNoise", "storage"); def_sh_tex(srna); - - prop= RNA_def_property(srna, "noise_basis", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "basis"); - RNA_def_property_enum_items(prop, prop_noise_basis_items); - RNA_def_property_ui_text(prop, "Noise Basis", "Sets the noise basis used for turbulence"); - RNA_def_property_update(prop, 0, "rna_Node_update"); - - prop= RNA_def_property(srna, "noise_type", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "hard"); - RNA_def_property_enum_items(prop, prop_noise_type_items); - RNA_def_property_ui_text(prop, "Noise Type", ""); - RNA_def_property_update(prop, 0, "rna_Node_update"); - - prop= RNA_def_property(srna, "turbulence_depth", PROP_INT, PROP_NONE); - RNA_def_property_int_sdna(prop, NULL, "depth"); - RNA_def_property_range(prop, 0, 30); - RNA_def_property_ui_text(prop, "Depth", "Level of detail in the added turbulent noise"); - RNA_def_property_update(prop, 0, "rna_Node_update"); -} - -static void def_sh_tex_distnoise(StructRNA *srna) -{ - PropertyRNA *prop; - - RNA_def_struct_sdna_from(srna, "NodeTexDistortedNoise", "storage"); - def_sh_tex(srna); - - prop= RNA_def_property(srna, "noise_basis", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "basis"); - RNA_def_property_enum_items(prop, prop_noise_basis_items); - RNA_def_property_ui_text(prop, "Noise Basis", "Sets the noise basis used for turbulence"); - RNA_def_property_update(prop, 0, "rna_Node_update"); - - prop= RNA_def_property(srna, "noise_distortion", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "distortion_basis"); - RNA_def_property_enum_items(prop, prop_noise_basis_items); - RNA_def_property_ui_text(prop, "Noise Distortion", "Sets the noise basis used for distortion"); - RNA_def_property_update(prop, 0, "rna_Node_update"); } static void def_sh_tex_magic(StructRNA *srna) @@ -1314,50 +1256,6 @@ static void def_sh_tex_magic(StructRNA *srna) RNA_def_property_update(prop, 0, "rna_Node_update"); } -static void def_sh_tex_marble(StructRNA *srna) -{ - static EnumPropertyItem prop_marble_stype[] = { - {SHD_MARBLE_SOFT, "SOFT", 0, "Soft", "Uses soft marble"}, - {SHD_MARBLE_SHARP, "SHARP", 0, "Sharp", "Uses more clearly defined marble"}, - {SHD_MARBLE_SHARPER, "SHARPER", 0, "Sharper", "Uses very clearly defined marble"}, - {0, NULL, 0, NULL, NULL}}; - - PropertyRNA *prop; - - RNA_def_struct_sdna_from(srna, "NodeTexMarble", "storage"); - def_sh_tex(srna); - - prop= RNA_def_property(srna, "marble_type", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "type"); - RNA_def_property_enum_items(prop, prop_marble_stype); - RNA_def_property_ui_text(prop, "Type", ""); - RNA_def_property_update(prop, 0, "rna_Node_update"); - - prop= RNA_def_property(srna, "noise_basis", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "basis"); - RNA_def_property_enum_items(prop, prop_noise_basis_items); - RNA_def_property_ui_text(prop, "Noise Basis", "Sets the noise basis used for turbulence"); - RNA_def_property_update(prop, 0, "rna_Node_update"); - - prop= RNA_def_property(srna, "noise_type", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "hard"); - RNA_def_property_enum_items(prop, prop_noise_type_items); - RNA_def_property_ui_text(prop, "Noise Type", ""); - RNA_def_property_update(prop, 0, "rna_Node_update"); - - prop= RNA_def_property(srna, "turbulence_depth", PROP_INT, PROP_NONE); - RNA_def_property_int_sdna(prop, NULL, "depth"); - RNA_def_property_range(prop, 0, 30); - RNA_def_property_ui_text(prop, "Depth", "Level of detail in the added turbulent noise"); - RNA_def_property_update(prop, 0, "rna_Node_update"); - - prop= RNA_def_property(srna, "wave_type", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "wave"); - RNA_def_property_enum_items(prop, prop_wave_items); - RNA_def_property_ui_text(prop, "Wave Type", ""); - RNA_def_property_update(prop, 0, "rna_Node_update"); -} - static void def_sh_tex_musgrave(StructRNA *srna) { static EnumPropertyItem prop_musgrave_type[] = { @@ -1374,67 +1272,17 @@ static void def_sh_tex_musgrave(StructRNA *srna) def_sh_tex(srna); prop= RNA_def_property(srna, "musgrave_type", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "type"); + RNA_def_property_enum_sdna(prop, NULL, "musgrave_type"); RNA_def_property_enum_items(prop, prop_musgrave_type); RNA_def_property_ui_text(prop, "Type", ""); RNA_def_property_update(prop, 0, "rna_Node_update"); - - prop= RNA_def_property(srna, "noise_basis", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "basis"); - RNA_def_property_enum_items(prop, prop_noise_basis_items); - RNA_def_property_ui_text(prop, "Noise Basis", "Sets the noise basis used for turbulence"); - RNA_def_property_update(prop, 0, "rna_Node_update"); -} - -static void def_sh_tex_stucci(StructRNA *srna) -{ - static EnumPropertyItem prop_stucci_stype[] = { - {SHD_STUCCI_PLASTIC, "PLASTIC", 0, "Plastic", "Uses standard stucci"}, - {SHD_STUCCI_WALL_IN, "WALL_IN", 0, "Wall in", "Creates Dimples"}, - {SHD_STUCCI_WALL_OUT, "WALL_OUT", 0, "Wall out", "Creates Ridges"}, - {0, NULL, 0, NULL, NULL}}; - - PropertyRNA *prop; - - RNA_def_struct_sdna_from(srna, "NodeTexStucci", "storage"); - def_sh_tex(srna); - - prop= RNA_def_property(srna, "stucci_type", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "type"); - RNA_def_property_enum_items(prop, prop_stucci_stype); - RNA_def_property_ui_text(prop, "Type", ""); - RNA_def_property_update(prop, 0, "rna_Node_update"); - - prop= RNA_def_property(srna, "noise_basis", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "basis"); - RNA_def_property_enum_items(prop, prop_noise_basis_items); - RNA_def_property_ui_text(prop, "Noise Basis", "Sets the noise basis used for turbulence"); - RNA_def_property_update(prop, 0, "rna_Node_update"); - - prop= RNA_def_property(srna, "noise_type", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "hard"); - RNA_def_property_enum_items(prop, prop_noise_type_items); - RNA_def_property_ui_text(prop, "Noise Type", ""); - RNA_def_property_update(prop, 0, "rna_Node_update"); } static void def_sh_tex_voronoi(StructRNA *srna) { - static EnumPropertyItem prop_distance_metric_items[] = { - {SHD_VORONOI_ACTUAL_DISTANCE, "DISTANCE", 0, "Actual Distance", ""}, - {SHD_VORONOI_DISTANCE_SQUARED, "DISTANCE_SQUARED", 0, "Distance Squared", ""}, - {SHD_VORONOI_MANHATTAN, "MANHATTAN", 0, "Manhattan", ""}, - {SHD_VORONOI_CHEBYCHEV, "CHEBYCHEV", 0, "Chebychev", ""}, - {SHD_VORONOI_MINKOVSKY_H, "MINKOVSKY_HALF", 0, "Minkovsky 1/2", ""}, - {SHD_VORONOI_MINKOVSKY_4, "MINKOVSKY_FOUR", 0, "Minkovsky 4", ""}, - {SHD_VORONOI_MINKOVSKY, "MINKOVSKY", 0, "Minkovsky", ""}, - {0, NULL, 0, NULL, NULL}}; - static EnumPropertyItem prop_coloring_items[] = { {SHD_VORONOI_INTENSITY, "INTENSITY", 0, "Intensity", "Only calculate intensity"}, - {SHD_VORONOI_POSITION, "POSITION", 0, "Position", "Color cells by position"}, - {SHD_VORONOI_POSITION_OUTLINE, "POSITION_OUTLINE", 0, "Position and Outline", "Use position plus an outline based on F2-F.1"}, - {SHD_VORONOI_POSITION_OUTLINE_INTENSITY, "POSITION_OUTLINE_INTENSITY", 0, "Position, Outline, and Intensity", "Multiply position and outline by intensity"}, + {SHD_VORONOI_CELLS, "CELLS", 0, "Cells", "Color cells by position"}, {0, NULL, 0, NULL, NULL}}; PropertyRNA *prop; @@ -1442,12 +1290,6 @@ static void def_sh_tex_voronoi(StructRNA *srna) RNA_def_struct_sdna_from(srna, "NodeTexVoronoi", "storage"); def_sh_tex(srna); - prop= RNA_def_property(srna, "distance_metric", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "distance_metric"); - RNA_def_property_enum_items(prop, prop_distance_metric_items); - RNA_def_property_ui_text(prop, "Distance Metric", ""); - RNA_def_property_update(prop, 0, "rna_Node_update"); - prop= RNA_def_property(srna, "coloring", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "coloring"); RNA_def_property_enum_items(prop, prop_coloring_items); @@ -1455,41 +1297,21 @@ static void def_sh_tex_voronoi(StructRNA *srna) RNA_def_property_update(prop, 0, "rna_Node_update"); } -static void def_sh_tex_wood(StructRNA *srna) +static void def_sh_tex_wave(StructRNA *srna) { - static EnumPropertyItem prop_wood_type_items[] = { - {SHD_WOOD_BANDS, "BANDS", 0, "Bands", "Uses standard wood texture in bands"}, - {SHD_WOOD_RINGS, "RINGS", 0, "Rings", "Uses wood texture in rings"}, - {SHD_WOOD_BAND_NOISE, "BAND_NOISE", 0, "Band Noise", "Adds noise to standard wood"}, - {SHD_WOOD_RING_NOISE, "RING_NOISE", 0, "Ring Noise", "Adds noise to rings"}, + static EnumPropertyItem prop_wave_type_items[] = { + {SHD_WAVE_BANDS, "BANDS", 0, "Bands", "Uses standard wave texture in bands"}, + {SHD_WAVE_RINGS, "RINGS", 0, "Rings", "Uses wave texture in rings"}, {0, NULL, 0, NULL, NULL}}; PropertyRNA *prop; - RNA_def_struct_sdna_from(srna, "NodeTexWood", "storage"); + RNA_def_struct_sdna_from(srna, "NodeTexWave", "storage"); def_sh_tex(srna); - prop= RNA_def_property(srna, "noise_basis", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "basis"); - RNA_def_property_enum_items(prop, prop_noise_basis_items); - RNA_def_property_ui_text(prop, "Noise Basis", "Sets the noise basis used for turbulence"); - RNA_def_property_update(prop, 0, "rna_Node_update"); - - prop= RNA_def_property(srna, "noise_type", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "hard"); - RNA_def_property_enum_items(prop, prop_noise_type_items); - RNA_def_property_ui_text(prop, "Noise Type", ""); - RNA_def_property_update(prop, 0, "rna_Node_update"); - - prop= RNA_def_property(srna, "wood_type", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "type"); - RNA_def_property_enum_items(prop, prop_wood_type_items); - RNA_def_property_ui_text(prop, "Wood Type", ""); - RNA_def_property_update(prop, 0, "rna_Node_update"); - prop= RNA_def_property(srna, "wave_type", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "wave"); - RNA_def_property_enum_items(prop, prop_wave_items); + RNA_def_property_enum_sdna(prop, NULL, "wave_type"); + RNA_def_property_enum_items(prop, prop_wave_type_items); RNA_def_property_ui_text(prop, "Wave Type", ""); RNA_def_property_update(prop, 0, "rna_Node_update"); } diff --git a/source/blender/makesrna/intern/rna_nodetree_types.h b/source/blender/makesrna/intern/rna_nodetree_types.h index c74d8943bcf..911501efc04 100644 --- a/source/blender/makesrna/intern/rna_nodetree_types.h +++ b/source/blender/makesrna/intern/rna_nodetree_types.h @@ -58,7 +58,7 @@ DefNode( ShaderNode, SH_NODE_OUTPUT_LAMP, 0, "OUTPU //DefNode( ShaderNode, SH_NODE_OUTPUT_TEXTURE, 0, "OUTPUT_TEXTURE", OutputTexture, "Texture Output", "" ) DefNode( ShaderNode, SH_NODE_OUTPUT_WORLD, 0, "OUTPUT_WORLD", OutputWorld, "World Output", "" ) DefNode( ShaderNode, SH_NODE_FRESNEL, 0, "FRESNEL", Fresnel, "Fresnel", "" ) -DefNode( ShaderNode, SH_NODE_BLEND_WEIGHT, 0, "BLEND_WEIGHT", BlendWeight, "BlendWeight", "" ) +DefNode( ShaderNode, SH_NODE_LAYER_WEIGHT, 0, "LAYER_WEIGHT", LayerWeight, "LayerWeight", "" ) DefNode( ShaderNode, SH_NODE_MIX_SHADER, 0, "MIX_SHADER", MixShader, "Mix Shader", "" ) DefNode( ShaderNode, SH_NODE_ADD_SHADER, 0, "ADD_SHADER", AddShader, "Add Shader", "" ) @@ -79,17 +79,13 @@ DefNode( ShaderNode, SH_NODE_GEOMETRY, 0, "GE DefNode( ShaderNode, SH_NODE_LIGHT_PATH, 0, "LIGHT_PATH", Light_path, "Light_path", "") DefNode( ShaderNode, SH_NODE_TEX_IMAGE, def_sh_tex_image, "TEX_IMAGE", TexImage, "Image Texture", "") DefNode( ShaderNode, SH_NODE_TEX_ENVIRONMENT, def_sh_tex_environment, "TEX_ENVIRONMENT", TexEnvironment, "Environment Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_NOISE, def_sh_tex_noise, "TEX_NOISE", TexNoise, "Noise Texture", "") DefNode( ShaderNode, SH_NODE_TEX_SKY, def_sh_tex_sky, "TEX_SKY", TexSky, "Sky Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_BLEND, def_sh_tex_blend, "TEX_BLEND", TexBlend, "Blend Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_CLOUDS, def_sh_tex_clouds, "TEX_CLOUDS", TexClouds, "Clouds Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_DISTNOISE, def_sh_tex_distnoise, "TEX_DISTORTED_NOISE", TexDistortedNoise, "Distorted Noise Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_GRADIENT, def_sh_tex_gradient, "TEX_GRADIENT", TexGradient, "Gradient Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_NOISE, def_sh_tex_noise, "TEX_NOISE", TexNoise, "Noise Texture", "") DefNode( ShaderNode, SH_NODE_TEX_MAGIC, def_sh_tex_magic, "TEX_MAGIC", TexMagic, "Magic Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_MARBLE, def_sh_tex_marble, "TEX_MARBLE", TexMarble, "Marble Texture", "") +DefNode( ShaderNode, SH_NODE_TEX_WAVE, def_sh_tex_wave, "TEX_WAVE", TexWave, "Wave Texture", "") DefNode( ShaderNode, SH_NODE_TEX_MUSGRAVE, def_sh_tex_musgrave, "TEX_MUSGRAVE", TexMusgrave, "Musgrave Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_STUCCI, def_sh_tex_stucci, "TEX_STUCCI", TexStucci, "Stucci Texture", "") DefNode( ShaderNode, SH_NODE_TEX_VORONOI, def_sh_tex_voronoi, "TEX_VORONOI", TexVoronoi, "Voronoi Texture", "") -DefNode( ShaderNode, SH_NODE_TEX_WOOD, def_sh_tex_wood, "TEX_WOOD", TexWood, "Wood Texture", "") DefNode( ShaderNode, SH_NODE_TEX_COORD, 0, "TEX_COORD", TexCoord, "Texture Coordinate", "") DefNode( CompositorNode, CMP_NODE_VIEWER, 0, "VIEWER", Viewer, "Viewer", "" ) diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt index 8ee67fc4f9a..1847fcb8add 100644 --- a/source/blender/nodes/CMakeLists.txt +++ b/source/blender/nodes/CMakeLists.txt @@ -135,7 +135,7 @@ set(SRC shader/nodes/node_shader_bsdf_velvet.c shader/nodes/node_shader_emission.c shader/nodes/node_shader_fresnel.c - shader/nodes/node_shader_blend_weight.c + shader/nodes/node_shader_layer_weight.c shader/nodes/node_shader_geometry.c shader/nodes/node_shader_holdout.c shader/nodes/node_shader_volume_transparent.c @@ -147,20 +147,16 @@ set(SRC shader/nodes/node_shader_output_material.c shader/nodes/node_shader_output_texture.c shader/nodes/node_shader_output_world.c - shader/nodes/node_shader_tex_blend.c - shader/nodes/node_shader_tex_clouds.c + shader/nodes/node_shader_tex_gradient.c shader/nodes/node_shader_tex_coord.c - shader/nodes/node_shader_tex_distnoise.c - shader/nodes/node_shader_tex_image.c shader/nodes/node_shader_tex_environment.c + shader/nodes/node_shader_tex_image.c shader/nodes/node_shader_tex_magic.c - shader/nodes/node_shader_tex_marble.c shader/nodes/node_shader_tex_musgrave.c shader/nodes/node_shader_tex_noise.c shader/nodes/node_shader_tex_sky.c - shader/nodes/node_shader_tex_stucci.c shader/nodes/node_shader_tex_voronoi.c - shader/nodes/node_shader_tex_wood.c + shader/nodes/node_shader_tex_wave.c shader/nodes/node_shader_noise.h shader/node_shader_tree.c shader/node_shader_util.c diff --git a/source/blender/nodes/NOD_shader.h b/source/blender/nodes/NOD_shader.h index 8f6a6e527f2..52d5f2f5e9c 100644 --- a/source/blender/nodes/NOD_shader.h +++ b/source/blender/nodes/NOD_shader.h @@ -75,7 +75,7 @@ void register_node_type_sh_attribute(ListBase *lb); void register_node_type_sh_geometry(ListBase *lb); void register_node_type_sh_light_path(ListBase *lb); void register_node_type_sh_fresnel(ListBase *lb); -void register_node_type_sh_blend_weight(ListBase *lb); +void register_node_type_sh_layer_weight(ListBase *lb); void register_node_type_sh_tex_coord(ListBase *lb); void register_node_type_sh_background(ListBase *lb); @@ -102,15 +102,11 @@ void register_node_type_sh_tex_image(ListBase *lb); void register_node_type_sh_tex_environment(ListBase *lb); void register_node_type_sh_tex_sky(ListBase *lb); void register_node_type_sh_tex_voronoi(ListBase *lb); -void register_node_type_sh_tex_blend(ListBase *lb); +void register_node_type_sh_tex_gradient(ListBase *lb); void register_node_type_sh_tex_magic(ListBase *lb); -void register_node_type_sh_tex_marble(ListBase *lb); -void register_node_type_sh_tex_clouds(ListBase *lb); -void register_node_type_sh_tex_wood(ListBase *lb); +void register_node_type_sh_tex_wave(ListBase *lb); void register_node_type_sh_tex_musgrave(ListBase *lb); void register_node_type_sh_tex_noise(ListBase *lb); -void register_node_type_sh_tex_stucci(ListBase *lb); -void register_node_type_sh_tex_distnoise(ListBase *lb); #endif diff --git a/source/blender/nodes/shader/nodes/node_shader_blend_weight.c b/source/blender/nodes/shader/nodes/node_shader_layer_weight.c similarity index 71% rename from source/blender/nodes/shader/nodes/node_shader_blend_weight.c rename to source/blender/nodes/shader/nodes/node_shader_layer_weight.c index f214f765abf..79e5728fab6 100644 --- a/source/blender/nodes/shader/nodes/node_shader_blend_weight.c +++ b/source/blender/nodes/shader/nodes/node_shader_layer_weight.c @@ -1,5 +1,5 @@ /** - * $Id: node_shader_blend_weight.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * $Id: node_shader_layer_weight.c 32517 2010-10-16 14:32:17Z campbellbarton $ * * ***** BEGIN GPL LICENSE BLOCK ***** * @@ -29,40 +29,41 @@ #include "../node_shader_util.h" -/* **************** BlendWeight ******************** */ -static bNodeSocketTemplate sh_node_blend_weight_in[]= { +/* **************** Layer Weight ******************** */ + +static bNodeSocketTemplate sh_node_layer_weight_in[]= { { SOCK_FLOAT, 1, "Blend", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; -static bNodeSocketTemplate sh_node_blend_weight_out[]= { +static bNodeSocketTemplate sh_node_layer_weight_out[]= { { SOCK_FLOAT, 0, "Fresnel", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_FLOAT, 0, "Facing", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; -static void node_shader_exec_blend_weight(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) +static void node_shader_exec_layer_weight(void *UNUSED(data), bNode *UNUSED(node), bNodeStack **UNUSED(in), bNodeStack **UNUSED(out)) { } -static int node_shader_gpu_blend_weight(GPUMaterial *UNUSED(mat), bNode *UNUSED(node), GPUNodeStack *UNUSED(in), GPUNodeStack *UNUSED(out)) +static int node_shader_gpu_layer_weight(GPUMaterial *UNUSED(mat), bNode *UNUSED(node), GPUNodeStack *UNUSED(in), GPUNodeStack *UNUSED(out)) { return 0; } /* node type definition */ -void register_node_type_sh_blend_weight(ListBase *lb) +void register_node_type_sh_layer_weight(ListBase *lb) { static bNodeType ntype; - node_type_base(&ntype, SH_NODE_BLEND_WEIGHT, "Blend Weight", NODE_CLASS_INPUT, 0); + node_type_base(&ntype, SH_NODE_LAYER_WEIGHT, "Layer Weight", NODE_CLASS_INPUT, 0); node_type_compatibility(&ntype, NODE_NEW_SHADING); - node_type_socket_templates(&ntype, sh_node_blend_weight_in, sh_node_blend_weight_out); + node_type_socket_templates(&ntype, sh_node_layer_weight_in, sh_node_layer_weight_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, NULL); node_type_storage(&ntype, "", NULL, NULL); - node_type_exec(&ntype, node_shader_exec_blend_weight); - node_type_gpu(&ntype, node_shader_gpu_blend_weight); + node_type_exec(&ntype, node_shader_exec_layer_weight); + node_type_gpu(&ntype, node_shader_gpu_layer_weight); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/shader/nodes/node_shader_noise.h b/source/blender/nodes/shader/nodes/node_shader_noise.h index 44aa8f6bb41..7f633820124 100644 --- a/source/blender/nodes/shader/nodes/node_shader_noise.h +++ b/source/blender/nodes/shader/nodes/node_shader_noise.h @@ -444,14 +444,17 @@ MINLINE float noise_wave(int wave, float a) /* Turbulence */ -MINLINE float noise_turbulence(float p[3], int basis, int octaves, int hard) +MINLINE float noise_turbulence(float p[3], int basis, float octaves, int hard) { float fscale = 1.0f; float amp = 1.0f; float sum = 0.0f; - int i; + float rmd; + int i, n; - for(i = 0; i <= octaves; i++) { + octaves = CLAMPIS(octaves, 0.0f, 16.0f); + + for(i = 0; i <= (int)octaves; i++) { float pscale[3] = {fscale*p[0], fscale*p[1], fscale*p[2]}; float t = noise_basis(pscale, basis); @@ -463,7 +466,28 @@ MINLINE float noise_turbulence(float p[3], int basis, int octaves, int hard) fscale *= 2.0f; } - sum *= ((float)(1 << octaves)/(float)((1 << (octaves+1)) - 1)); + rmd = octaves - floor(octaves); + + if(rmd != 0.0f) { + float pscale[3] = {fscale*p[0], fscale*p[1], fscale*p[2]}; + float t = noise_basis(pscale, basis); + float sum2; + + if(hard) + t = fabsf(2.0f*t - 1.0f); + + sum2 = sum + t*amp; + + sum *= ((float)(1 << n)/(float)((1 << (n+1)) - 1)); + sum2 *= ((float)(1 << (n+1))/(float)((1 << (n+2)) - 1)); + + return (1.0f - rmd)*sum + rmd*sum2; + } + else { + sum *= ((float)(1 << n)/(float)((1 << (n+1)) - 1)); + return sum; + } + return sum; } diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_clouds.c b/source/blender/nodes/shader/nodes/node_shader_tex_clouds.c deleted file mode 100644 index 12f117995bc..00000000000 --- a/source/blender/nodes/shader/nodes/node_shader_tex_clouds.c +++ /dev/null @@ -1,123 +0,0 @@ -/** - * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ - * - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2005 Blender Foundation. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -#include "../node_shader_util.h" -#include "node_shader_noise.h" - -static float clouds(int basis, int hard, int depth, float size, float vec[3], float color[3]) -{ - float p[3], pg[3], pb[3]; - - mul_v3_v3fl(p, vec, 1.0f/size); - - pg[0]= p[1]; - pg[1]= p[0]; - pg[2]= p[2]; - - pb[0]= p[1]; - pb[1]= p[2]; - pb[2]= p[0]; - - color[0]= noise_turbulence(p, basis, depth, hard); - color[1]= noise_turbulence(pg, basis, depth, hard); - color[2]= noise_turbulence(pb, basis, depth, hard); - - return color[0]; -} - -/* **************** CLOUDS ******************** */ - -static bNodeSocketTemplate sh_node_tex_clouds_in[]= { - { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, - { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, - { -1, 0, "" } -}; - -static bNodeSocketTemplate sh_node_tex_clouds_out[]= { - { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { SOCK_FLOAT, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { -1, 0, "" } -}; - -static void node_shader_init_tex_clouds(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) -{ - NodeTexClouds *tex = MEM_callocN(sizeof(NodeTexClouds), "NodeTexClouds"); - default_tex_mapping(&tex->base.tex_mapping); - default_color_mapping(&tex->base.color_mapping); - tex->basis = SHD_NOISE_PERLIN; - tex->hard = 0; - tex->depth = 2; - - node->storage = tex; -} - -static void node_shader_exec_tex_clouds(void *data, bNode *node, bNodeStack **in, bNodeStack **out) -{ - ShaderCallData *scd= (ShaderCallData*)data; - NodeTexClouds *tex= (NodeTexClouds*)node->storage; - bNodeSocket *vecsock = node->inputs.first; - float vec[3], size; - - if(vecsock->link) - nodestack_get_vec(vec, SOCK_VECTOR, in[0]); - else - copy_v3_v3(vec, scd->co); - - nodestack_get_vec(&size, SOCK_FLOAT, in[1]); - - out[1]->vec[0]= clouds(tex->basis, tex->hard, tex->depth, size, vec, out[0]->vec); -} - -static int node_shader_gpu_tex_clouds(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) -{ - if(!in[0].link) - in[0].link = GPU_attribute(CD_ORCO, ""); - - node_shader_gpu_tex_mapping(mat, node, in, out); - - return GPU_stack_link(mat, "node_tex_clouds", in, out); -} - -/* node type definition */ -void register_node_type_sh_tex_clouds(ListBase *lb) -{ - static bNodeType ntype; - - node_type_base(&ntype, SH_NODE_TEX_CLOUDS, "Clouds Texture", NODE_CLASS_TEXTURE, 0); - node_type_compatibility(&ntype, NODE_NEW_SHADING); - node_type_socket_templates(&ntype, sh_node_tex_clouds_in, sh_node_tex_clouds_out); - node_type_size(&ntype, 150, 60, 200); - node_type_init(&ntype, node_shader_init_tex_clouds); - node_type_storage(&ntype, "NodeTexClouds", node_free_standard_storage, node_copy_standard_storage); - node_type_exec(&ntype, node_shader_exec_tex_clouds); - node_type_gpu(&ntype, node_shader_gpu_tex_clouds); - - nodeRegisterType(lb, &ntype); -}; - diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_distnoise.c b/source/blender/nodes/shader/nodes/node_shader_tex_distnoise.c deleted file mode 100644 index 56a87949fc7..00000000000 --- a/source/blender/nodes/shader/nodes/node_shader_tex_distnoise.c +++ /dev/null @@ -1,120 +0,0 @@ -/** - * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ - * - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2005 Blender Foundation. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -#include "../node_shader_util.h" -#include "node_shader_noise.h" - -static float distorted_noise(float vec[3], float size, int basis, int distortion_basis, float distortion) -{ - float p[3], r[3], p_offset[3], p_noffset[3]; - float offset[3] = {13.5f, 13.5f, 13.5f}; - - mul_v3_v3fl(p, vec, 1.0f/size); - add_v3_v3v3(p_offset, p, offset); - sub_v3_v3v3(p_noffset, p, offset); - - r[0] = noise_basis(p_offset, basis) * distortion; - r[1] = noise_basis(p, basis) * distortion; - r[2] = noise_basis(p_noffset, basis) * distortion; - - add_v3_v3(p, r); - - return noise_basis(p, distortion_basis); /* distorted-domain noise */ -} - -/* **************** OUTPUT ******************** */ - -static bNodeSocketTemplate sh_node_tex_distnoise_in[]= { - { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, - { SOCK_FLOAT, 1, "Size", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, - { SOCK_FLOAT, 1, "Distortion", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, - { -1, 0, "" } -}; - -static bNodeSocketTemplate sh_node_tex_distnoise_out[]= { - { SOCK_FLOAT, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { -1, 0, "" } -}; - -static void node_shader_init_tex_distorted_noise(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) -{ - NodeTexDistortedNoise *tex = MEM_callocN(sizeof(NodeTexDistortedNoise), "NodeTexDistortedNoise"); - default_tex_mapping(&tex->base.tex_mapping); - default_color_mapping(&tex->base.color_mapping); - tex->basis = SHD_NOISE_PERLIN; - tex->distortion_basis = SHD_NOISE_PERLIN; - - node->storage = tex; -} - -static void node_shader_exec_tex_distnoise(void *data, bNode *node, bNodeStack **in, bNodeStack **out) -{ - ShaderCallData *scd= (ShaderCallData*)data; - NodeTexDistortedNoise *tex= (NodeTexDistortedNoise*)node->storage; - bNodeSocket *vecsock = node->inputs.first; - float vec[3], size, distortion; - - if(vecsock->link) - nodestack_get_vec(vec, SOCK_VECTOR, in[0]); - else - copy_v3_v3(vec, scd->co); - - nodestack_get_vec(&size, SOCK_FLOAT, in[1]); - nodestack_get_vec(&distortion, SOCK_FLOAT, in[2]); - - out[0]->vec[0]= distorted_noise(vec, size, tex->basis, tex->distortion_basis, distortion); -} - -static int node_shader_gpu_tex_distnoise(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) -{ - if(!in[0].link) - in[0].link = GPU_attribute(CD_ORCO, ""); - - node_shader_gpu_tex_mapping(mat, node, in, out); - - return GPU_stack_link(mat, "node_tex_distnoise", in, out); -} - -/* node type definition */ -void register_node_type_sh_tex_distnoise(ListBase *lb) -{ - static bNodeType ntype; - - node_type_base(&ntype, SH_NODE_TEX_DISTNOISE, "Distorted Noise Texture", NODE_CLASS_TEXTURE, 0); - node_type_compatibility(&ntype, NODE_NEW_SHADING); - node_type_socket_templates(&ntype, sh_node_tex_distnoise_in, sh_node_tex_distnoise_out); - node_type_size(&ntype, 150, 60, 200); - node_type_init(&ntype, node_shader_init_tex_distorted_noise); - node_type_storage(&ntype, "NodeTexDistortedNoise", node_free_standard_storage, node_copy_standard_storage); - node_type_exec(&ntype, node_shader_exec_tex_distnoise); - node_type_gpu(&ntype, node_shader_gpu_tex_distnoise); - - nodeRegisterType(lb, &ntype); -}; - diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_blend.c b/source/blender/nodes/shader/nodes/node_shader_tex_gradient.c similarity index 62% rename from source/blender/nodes/shader/nodes/node_shader_tex_blend.c rename to source/blender/nodes/shader/nodes/node_shader_tex_gradient.c index 50bafede2aa..71269ba85b6 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_blend.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_gradient.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - * The Original Code is Copyright (C) 2005 Blender Foundation. + * The Original Code is Copyright (C) 2005 Gradienter Foundation. * All rights reserved. * * The Original Code is: all of this file. @@ -29,18 +29,12 @@ #include "../node_shader_util.h" -static float blend(float p[3], int type, int axis) +static float gradient(float p[3], int type) { float x, y; - if(axis == SHD_BLEND_VERTICAL) { - x= p[1]; - y= p[0]; - } - else { - x= p[0]; - y= p[1]; - } + x= p[0]; + y= p[1]; if(type == SHD_BLEND_LINEAR) { return (1.0f + x)/2.0f; @@ -75,65 +69,71 @@ static float blend(float p[3], int type, int axis) /* **************** BLEND ******************** */ -static bNodeSocketTemplate sh_node_tex_blend_in[]= { +static bNodeSocketTemplate sh_node_tex_gradient_in[]= { { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, { -1, 0, "" } }; -static bNodeSocketTemplate sh_node_tex_blend_out[]= { +static bNodeSocketTemplate sh_node_tex_gradient_out[]= { + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_FLOAT, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; -static void node_shader_init_tex_blend(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) +static void node_shader_init_tex_gradient(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) { - NodeTexBlend *tex = MEM_callocN(sizeof(NodeTexBlend), "NodeTexBlend"); + NodeTexGradient *tex = MEM_callocN(sizeof(NodeTexGradient), "NodeTexGradient"); default_tex_mapping(&tex->base.tex_mapping); default_color_mapping(&tex->base.color_mapping); - tex->progression = SHD_BLEND_LINEAR; - tex->axis = SHD_BLEND_HORIZONTAL; + tex->gradient_type = SHD_BLEND_LINEAR; node->storage = tex; } -static void node_shader_exec_tex_blend(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +static void node_shader_exec_tex_gradient(void *data, bNode *node, bNodeStack **in, bNodeStack **out) { ShaderCallData *scd= (ShaderCallData*)data; - NodeTexBlend *tex= (NodeTexBlend*)node->storage; + NodeTexGradient *tex= (NodeTexGradient*)node->storage; bNodeSocket *vecsock = node->inputs.first; - float vec[3]; + float vec[3], fac; if(vecsock->link) nodestack_get_vec(vec, SOCK_VECTOR, in[0]); else copy_v3_v3(vec, scd->co); - out[0]->vec[0]= blend(vec, tex->progression, tex->axis); + fac= gradient(vec, tex->gradient_type); + CLAMP(fac, 0.0f, 1.0f); + + out[0]->vec[0]= fac; + out[0]->vec[1]= fac; + out[0]->vec[2]= fac; + out[1]->vec[0]= fac; } -static int node_shader_gpu_tex_blend(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +static int node_shader_gpu_tex_gradient(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) { if(!in[0].link) in[0].link = GPU_attribute(CD_ORCO, ""); node_shader_gpu_tex_mapping(mat, node, in, out); - return GPU_stack_link(mat, "node_tex_blend", in, out); + return GPU_stack_link(mat, "node_tex_gradient", in, out); } /* node type definition */ -void register_node_type_sh_tex_blend(ListBase *lb) +void register_node_type_sh_tex_gradient(ListBase *lb) { static bNodeType ntype; - node_type_base(&ntype, SH_NODE_TEX_BLEND, "Blend Texture", NODE_CLASS_TEXTURE, 0); + node_type_base(&ntype, SH_NODE_TEX_GRADIENT, "Gradient Texture", NODE_CLASS_TEXTURE, 0); node_type_compatibility(&ntype, NODE_NEW_SHADING); - node_type_socket_templates(&ntype, sh_node_tex_blend_in, sh_node_tex_blend_out); + node_type_socket_templates(&ntype, sh_node_tex_gradient_in, sh_node_tex_gradient_out); node_type_size(&ntype, 150, 60, 200); - node_type_init(&ntype, node_shader_init_tex_blend); - node_type_storage(&ntype, "NodeTexBlend", node_free_standard_storage, node_copy_standard_storage); - node_type_exec(&ntype, node_shader_exec_tex_blend); - node_type_gpu(&ntype, node_shader_gpu_tex_blend); + node_type_init(&ntype, node_shader_init_tex_gradient); + node_type_storage(&ntype, "NodeTexGradient", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_gradient); + node_type_gpu(&ntype, node_shader_gpu_tex_gradient); nodeRegisterType(lb, &ntype); }; diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_magic.c b/source/blender/nodes/shader/nodes/node_shader_tex_magic.c index 8d0a2d3fb85..278f141f769 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_magic.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_magic.c @@ -29,56 +29,54 @@ #include "../node_shader_util.h" -static void magic(float rgb[3], float p[3], int n, float turbulence) +static void magic(float rgb[3], float p[3], int n, float distortion) { - float turb = turbulence/5.0f; - float x = sinf((p[0] + p[1] + p[2])*5.0f); float y = cosf((-p[0] + p[1] - p[2])*5.0f); float z = -cosf((-p[0] - p[1] + p[2])*5.0f); if(n > 0) { - x *= turb; - y *= turb; - z *= turb; + x *= distortion; + y *= distortion; + z *= distortion; y = -cosf(x-y+z); - y *= turb; + y *= distortion; if(n > 1) { x= cosf(x-y-z); - x *= turb; + x *= distortion; if(n > 2) { z= sinf(-x-y-z); - z *= turb; + z *= distortion; if(n > 3) { x= -cosf(-x+y-z); - x *= turb; + x *= distortion; if(n > 4) { y= -sinf(-x+y+z); - y *= turb; + y *= distortion; if(n > 5) { y= -cosf(-x+y+z); - y *= turb; + y *= distortion; if(n > 6) { x= cosf(x+y+z); - x *= turb; + x *= distortion; if(n > 7) { z= sinf(x+y-z); - z *= turb; + z *= distortion; if(n > 8) { x= -cosf(-x-y+z); - x *= turb; + x *= distortion; if(n > 9) { y= -sinf(x-y+z); - y *= turb; + y *= distortion; } } } @@ -90,11 +88,11 @@ static void magic(float rgb[3], float p[3], int n, float turbulence) } } - if(turb != 0.0f) { - turb *= 2.0f; - x /= turb; - y /= turb; - z /= turb; + if(distortion != 0.0f) { + distortion *= 2.0f; + x /= distortion; + y /= distortion; + z /= distortion; } rgb[0]= 0.5f - x; @@ -106,12 +104,14 @@ static void magic(float rgb[3], float p[3], int n, float turbulence) static bNodeSocketTemplate sh_node_tex_magic_in[]= { { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, - { SOCK_FLOAT, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_FLOAT, 1, "Scale", 5.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f}, + { SOCK_FLOAT, 1, "Distortion", 1.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f}, { -1, 0, "" } }; static bNodeSocketTemplate sh_node_tex_magic_out[]= { { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; @@ -130,16 +130,17 @@ static void node_shader_exec_tex_magic(void *data, bNode *node, bNodeStack **in, ShaderCallData *scd= (ShaderCallData*)data; NodeTexMagic *tex= (NodeTexMagic*)node->storage; bNodeSocket *vecsock = node->inputs.first; - float vec[3], turbulence; + float vec[3], distortion; if(vecsock->link) nodestack_get_vec(vec, SOCK_VECTOR, in[0]); else copy_v3_v3(vec, scd->co); - nodestack_get_vec(&turbulence, SOCK_FLOAT, in[1]); + nodestack_get_vec(&distortion, SOCK_FLOAT, in[1]); - magic(out[0]->vec, vec, tex->depth, turbulence); + magic(out[0]->vec, vec, tex->depth, distortion); + out[1]->vec[0] = (out[0]->vec[0] + out[0]->vec[1] + out[0]->vec[2])*(1.0f/3.0f); } static int node_shader_gpu_tex_magic(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_marble.c b/source/blender/nodes/shader/nodes/node_shader_tex_marble.c deleted file mode 100644 index 3bb999659c9..00000000000 --- a/source/blender/nodes/shader/nodes/node_shader_tex_marble.c +++ /dev/null @@ -1,128 +0,0 @@ -/** - * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ - * - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2005 Blender Foundation. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -#include "../node_shader_util.h" -#include "node_shader_noise.h" - -static float marble(float vec[3], float size, int type, int wave, int basis, int hard, float turb, int depth) -{ - float p[3]; - float x = vec[0]; - float y = vec[1]; - float z = vec[2]; - float n = 5.0f * (x + y + z); - float mi; - - mul_v3_v3fl(p, vec, 1.0f/size); - - mi = n + turb * noise_turbulence(p, basis, depth, hard); - - mi = noise_wave(wave, mi); - - if(type == SHD_MARBLE_SHARP) - mi = sqrt(mi); - else if(type == SHD_MARBLE_SHARPER) - mi = sqrt(sqrt(mi)); - - return mi; -} - -/* **************** MARBLE ******************** */ - -static bNodeSocketTemplate sh_node_tex_marble_in[]= { - { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, - { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, - { SOCK_FLOAT, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, - { -1, 0, "" } -}; - -static bNodeSocketTemplate sh_node_tex_marble_out[]= { - { SOCK_FLOAT, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { -1, 0, "" } -}; - -static void node_shader_init_tex_marble(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) -{ - NodeTexMarble *tex = MEM_callocN(sizeof(NodeTexMarble), "NodeTexMarble"); - default_tex_mapping(&tex->base.tex_mapping); - default_color_mapping(&tex->base.color_mapping); - tex->type = SHD_MARBLE_SOFT; - tex->wave = SHD_WAVE_SINE; - tex->basis = SHD_NOISE_PERLIN; - tex->hard = 0; - tex->depth = 2; - - node->storage = tex; -} - -static void node_shader_exec_tex_marble(void *data, bNode *node, bNodeStack **in, bNodeStack **out) -{ - ShaderCallData *scd= (ShaderCallData*)data; - NodeTexMarble *tex= (NodeTexMarble*)node->storage; - bNodeSocket *vecsock = node->inputs.first; - float vec[3], size, turbulence; - - if(vecsock->link) - nodestack_get_vec(vec, SOCK_VECTOR, in[0]); - else - copy_v3_v3(vec, scd->co); - - nodestack_get_vec(&size, SOCK_FLOAT, in[1]); - nodestack_get_vec(&turbulence, SOCK_FLOAT, in[2]); - - out[0]->vec[0]= marble(vec, size, tex->type, tex->wave, tex->basis, tex->hard, turbulence, tex->depth); -} - -static int node_shader_gpu_tex_marble(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) -{ - if(!in[0].link) - in[0].link = GPU_attribute(CD_ORCO, ""); - - node_shader_gpu_tex_mapping(mat, node, in, out); - - return GPU_stack_link(mat, "node_tex_marble", in, out); -} - -/* node type definition */ -void register_node_type_sh_tex_marble(ListBase *lb) -{ - static bNodeType ntype; - - node_type_base(&ntype, SH_NODE_TEX_MARBLE, "Marble Texture", NODE_CLASS_TEXTURE, 0); - node_type_compatibility(&ntype, NODE_NEW_SHADING); - node_type_socket_templates(&ntype, sh_node_tex_marble_in, sh_node_tex_marble_out); - node_type_size(&ntype, 150, 60, 200); - node_type_init(&ntype, node_shader_init_tex_marble); - node_type_storage(&ntype, "NodeTexMarble", node_free_standard_storage, node_copy_standard_storage); - node_type_exec(&ntype, node_shader_exec_tex_marble); - node_type_gpu(&ntype, node_shader_gpu_tex_marble); - - nodeRegisterType(lb, &ntype); -}; - diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c b/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c index 7cf33445a5d..cb5a8d7da0b 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c @@ -34,12 +34,12 @@ * * H: fractal increment parameter * lacunarity: gap between successive frequencies - * octaves: number of frequencies in the fBm + * detail: number of frequencies in the fBm * * from "Texturing and Modelling: A procedural approach" */ -static float noise_musgrave_fBm(float p[3], int basis, float H, float lacunarity, float octaves) +static float noise_musgrave_fBm(float p[3], int basis, float H, float lacunarity, float detail) { float rmd; float value = 0.0f; @@ -47,13 +47,13 @@ static float noise_musgrave_fBm(float p[3], int basis, float H, float lacunarity float pwHL = pow(lacunarity, -H); int i; - for(i = 0; i < (int)octaves; i++) { + for(i = 0; i < (int)detail; i++) { value += noise_basis(p, basis) * pwr; pwr *= pwHL; mul_v3_fl(p, lacunarity); } - rmd = octaves - floor(octaves); + rmd = detail - floor(detail); if(rmd != 0.0f) value += rmd * noise_basis(p, basis) * pwr; @@ -64,10 +64,10 @@ static float noise_musgrave_fBm(float p[3], int basis, float H, float lacunarity * * H: highest fractal dimension * lacunarity: gap between successive frequencies - * octaves: number of frequencies in the fBm + * detail: number of frequencies in the fBm */ -static float noise_musgrave_multi_fractal(float p[3], int basis, float H, float lacunarity, float octaves) +static float noise_musgrave_multi_fractal(float p[3], int basis, float H, float lacunarity, float detail) { float rmd; float value = 1.0f; @@ -75,13 +75,13 @@ static float noise_musgrave_multi_fractal(float p[3], int basis, float H, float float pwHL = pow(lacunarity, -H); int i; - for(i = 0; i < (int)octaves; i++) { + for(i = 0; i < (int)detail; i++) { value *= (pwr * noise_basis(p, basis) + 1.0f); pwr *= pwHL; mul_v3_fl(p, lacunarity); } - rmd = octaves - floor(octaves); + rmd = detail - floor(detail); if(rmd != 0.0f) value *= (rmd * pwr * noise_basis(p, basis) + 1.0f); /* correct? */ @@ -92,29 +92,29 @@ static float noise_musgrave_multi_fractal(float p[3], int basis, float H, float * * H: fractal dimension of the roughest area * lacunarity: gap between successive frequencies - * octaves: number of frequencies in the fBm + * detail: number of frequencies in the fBm * offset: raises the terrain from `sea level' */ -static float noise_musgrave_hetero_terrain(float p[3], int basis, float H, float lacunarity, float octaves, float offset) +static float noise_musgrave_hetero_terrain(float p[3], int basis, float H, float lacunarity, float detail, float offset) { float value, increment, rmd; float pwHL = pow(lacunarity, -H); float pwr = pwHL; int i; - /* first unscaled octave of function; later octaves are scaled */ + /* first unscaled octave of function; later detail are scaled */ value = offset + noise_basis(p, basis); mul_v3_fl(p, lacunarity); - for(i = 1; i < (int)octaves; i++) { + for(i = 1; i < (int)detail; i++) { increment = (noise_basis(p, basis) + offset) * pwr * value; value += increment; pwr *= pwHL; mul_v3_fl(p, lacunarity); } - rmd = octaves - floor(octaves); + rmd = detail - floor(detail); if(rmd != 0.0f) { increment = (noise_basis(p, basis) + offset) * pwr * value; value += rmd * increment; @@ -127,11 +127,11 @@ static float noise_musgrave_hetero_terrain(float p[3], int basis, float H, float * * H: fractal dimension of the roughest area * lacunarity: gap between successive frequencies - * octaves: number of frequencies in the fBm + * detail: number of frequencies in the fBm * offset: raises the terrain from `sea level' */ -static float noise_musgrave_hybrid_multi_fractal(float p[3], int basis, float H, float lacunarity, float octaves, float offset, float gain) +static float noise_musgrave_hybrid_multi_fractal(float p[3], int basis, float H, float lacunarity, float detail, float offset, float gain) { float result, signal, weight, rmd; float pwHL = pow(lacunarity, -H); @@ -142,7 +142,7 @@ static float noise_musgrave_hybrid_multi_fractal(float p[3], int basis, float H, weight = gain * result; mul_v3_fl(p, lacunarity); - for(i = 1; (weight > 0.001f) && (i < (int)octaves); i++) { + for(i = 1; (weight > 0.001f) && (i < (int)detail); i++) { if(weight > 1.0f) weight = 1.0f; @@ -153,7 +153,7 @@ static float noise_musgrave_hybrid_multi_fractal(float p[3], int basis, float H, mul_v3_fl(p, lacunarity); } - rmd = octaves - floor(octaves); + rmd = detail - floor(detail); if(rmd != 0.0f) result += rmd * ((noise_basis(p, basis) + offset) * pwr); @@ -164,11 +164,11 @@ static float noise_musgrave_hybrid_multi_fractal(float p[3], int basis, float H, * * H: fractal dimension of the roughest area * lacunarity: gap between successive frequencies - * octaves: number of frequencies in the fBm + * detail: number of frequencies in the fBm * offset: raises the terrain from `sea level' */ -static float noise_musgrave_ridged_multi_fractal(float p[3], int basis, float H, float lacunarity, float octaves, float offset, float gain) +static float noise_musgrave_ridged_multi_fractal(float p[3], int basis, float H, float lacunarity, float detail, float offset, float gain) { float result, signal, weight; float pwHL = pow(lacunarity, -H); @@ -180,7 +180,7 @@ static float noise_musgrave_ridged_multi_fractal(float p[3], int basis, float H, result = signal; weight = 1.0f; - for(i = 1; i < (int)octaves; i++) { + for(i = 1; i < (int)detail; i++) { mul_v3_fl(p, lacunarity); weight = CLAMPIS(signal * gain, 0.0f, 1.0f); signal = offset - fabsf(noise_basis(p, basis)); @@ -193,22 +193,23 @@ static float noise_musgrave_ridged_multi_fractal(float p[3], int basis, float H, return result; } -static float musgrave(int type, int basis, float dimension, float lacunarity, float octaves, float offset, float intensity, float gain, float size, float vec[3]) +static float musgrave(int type, float dimension, float lacunarity, float detail, float offset, float intensity, float gain, float scale, float vec[3]) { float p[3]; + int basis = SHD_NOISE_PERLIN; - mul_v3_v3fl(p, vec, 1.0f/size); + mul_v3_v3fl(p, vec, scale); if(type == SHD_MUSGRAVE_MULTIFRACTAL) - return intensity*noise_musgrave_multi_fractal(p, basis, dimension, lacunarity, octaves); + return intensity*noise_musgrave_multi_fractal(p, basis, dimension, lacunarity, detail); else if(type == SHD_MUSGRAVE_FBM) - return intensity*noise_musgrave_fBm(p, basis, dimension, lacunarity, octaves); + return intensity*noise_musgrave_fBm(p, basis, dimension, lacunarity, detail); else if(type == SHD_MUSGRAVE_HYBRID_MULTIFRACTAL) - return intensity*noise_musgrave_hybrid_multi_fractal(p, basis, dimension, lacunarity, octaves, offset, gain); + return intensity*noise_musgrave_hybrid_multi_fractal(p, basis, dimension, lacunarity, detail, offset, gain); else if(type == SHD_MUSGRAVE_RIDGED_MULTIFRACTAL) - return intensity*noise_musgrave_ridged_multi_fractal(p, basis, dimension, lacunarity, octaves, offset, gain); + return intensity*noise_musgrave_ridged_multi_fractal(p, basis, dimension, lacunarity, detail, offset, gain); else if(type == SHD_MUSGRAVE_HETERO_TERRAIN) - return intensity*noise_musgrave_hetero_terrain(p, basis, dimension, lacunarity, octaves, offset); + return intensity*noise_musgrave_hetero_terrain(p, basis, dimension, lacunarity, detail, offset); return 0.0f; } @@ -217,16 +218,17 @@ static float musgrave(int type, int basis, float dimension, float lacunarity, fl static bNodeSocketTemplate sh_node_tex_musgrave_in[]= { { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, - { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_FLOAT, 1, "Scale", 5.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f}, + { SOCK_FLOAT, 1, "Detail", 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 16.0f}, { SOCK_FLOAT, 1, "Dimension", 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, { SOCK_FLOAT, 1, "Lacunarity", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, - { SOCK_FLOAT, 1, "Octaves", 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, - { SOCK_FLOAT, 1, "Offset", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, + { SOCK_FLOAT, 1, "Offset", 0.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f}, { SOCK_FLOAT, 1, "Gain", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, { -1, 0, "" } }; static bNodeSocketTemplate sh_node_tex_musgrave_out[]= { + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_FLOAT, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { -1, 0, "" } }; @@ -236,8 +238,7 @@ static void node_shader_init_tex_musgrave(bNodeTree *UNUSED(ntree), bNode* node, NodeTexMusgrave *tex = MEM_callocN(sizeof(NodeTexMusgrave), "NodeTexMusgrave"); default_tex_mapping(&tex->base.tex_mapping); default_color_mapping(&tex->base.color_mapping); - tex->type = SHD_MUSGRAVE_FBM; - tex->basis = SHD_NOISE_PERLIN; + tex->musgrave_type = SHD_MUSGRAVE_FBM; node->storage = tex; } @@ -247,21 +248,25 @@ static void node_shader_exec_tex_musgrave(void *data, bNode *node, bNodeStack ** ShaderCallData *scd= (ShaderCallData*)data; NodeTexMusgrave *tex= (NodeTexMusgrave*)node->storage; bNodeSocket *vecsock = node->inputs.first; - float vec[3], size, dimension, lacunarity, octaves, offset, gain; + float vec[3], fac, scale, dimension, lacunarity, detail, offset, gain; if(vecsock->link) nodestack_get_vec(vec, SOCK_VECTOR, in[0]); else copy_v3_v3(vec, scd->co); - nodestack_get_vec(&size, SOCK_FLOAT, in[1]); - nodestack_get_vec(&dimension, SOCK_FLOAT, in[2]); - nodestack_get_vec(&lacunarity, SOCK_FLOAT, in[3]); - nodestack_get_vec(&octaves, SOCK_FLOAT, in[4]); + nodestack_get_vec(&scale, SOCK_FLOAT, in[1]); + nodestack_get_vec(&detail, SOCK_FLOAT, in[2]); + nodestack_get_vec(&dimension, SOCK_FLOAT, in[3]); + nodestack_get_vec(&lacunarity, SOCK_FLOAT, in[4]); nodestack_get_vec(&offset, SOCK_FLOAT, in[5]); nodestack_get_vec(&gain, SOCK_FLOAT, in[6]); - out[0]->vec[0]= musgrave(tex->type, tex->basis, dimension, lacunarity, octaves, offset, 1.0f, gain, size, vec); + fac= musgrave(tex->musgrave_type, dimension, lacunarity, detail, offset, 1.0f, gain, scale, vec); + out[0]->vec[0]= fac; + out[0]->vec[1]= fac; + out[0]->vec[2]= fac; + out[1]->vec[0]= fac; } static int node_shader_gpu_tex_musgrave(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_noise.c b/source/blender/nodes/shader/nodes/node_shader_tex_noise.c index e8fb4737305..8cde640f8b2 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_noise.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_noise.c @@ -30,26 +30,49 @@ #include "../node_shader_util.h" #include "node_shader_noise.h" -static float noise_texture_value(float vec[3]) +static float noise_texture(float scale, float detail, float distortion, float vec[3], float color[3]) { - float p[3]; + float p[3], pg[3], pb[3]; + int basis= SHD_NOISE_PERLIN; - mul_v3_v3fl(p, vec, 1e8f); - return cellnoise(p); -} + mul_v3_v3fl(p, vec, scale); -static void noise_texture_color(float rgb[3], float vec[3]) -{ - float p[3]; + if(distortion != 0.0f) { + float r[3], p_offset[3], p_noffset[3]; + float offset[3] = {13.5f, 13.5f, 13.5f}; - mul_v3_v3fl(p, vec, 1e8f); - cellnoise_color(rgb, p); + add_v3_v3v3(p_offset, p, offset); + sub_v3_v3v3(p_noffset, p, offset); + + r[0] = noise_basis(p_offset, basis) * distortion; + r[1] = noise_basis(p, basis) * distortion; + r[2] = noise_basis(p_noffset, basis) * distortion; + + add_v3_v3(p, r); + } + + pg[0]= p[1]; + pg[1]= p[0]; + pg[2]= p[2]; + + pb[0]= p[1]; + pb[1]= p[2]; + pb[2]= p[0]; + + color[0]= noise_turbulence(p, basis, detail, 0); + color[1]= noise_turbulence(pg, basis, detail, 0); + color[2]= noise_turbulence(pb, basis, detail, 0); + + return color[0]; } /* **************** NOISE ******************** */ static bNodeSocketTemplate sh_node_tex_noise_in[]= { - { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, + { SOCK_FLOAT, 1, "Scale", 5.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f}, + { SOCK_FLOAT, 1, "Detail", 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 16.0f}, + { SOCK_FLOAT, 1, "Distortion", 0.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f}, { -1, 0, "" } }; @@ -72,15 +95,18 @@ static void node_shader_exec_tex_noise(void *data, bNode *node, bNodeStack **in, { ShaderCallData *scd= (ShaderCallData*)data; bNodeSocket *vecsock = node->inputs.first; - float vec[3]; + float vec[3], scale, detail, distortion; if(vecsock->link) nodestack_get_vec(vec, SOCK_VECTOR, in[0]); else copy_v3_v3(vec, scd->co); - noise_texture_color(out[0]->vec, vec); - out[1]->vec[0]= noise_texture_value(vec); + nodestack_get_vec(&scale, SOCK_FLOAT, in[1]); + nodestack_get_vec(&detail, SOCK_FLOAT, in[2]); + nodestack_get_vec(&distortion, SOCK_FLOAT, in[3]); + + out[1]->vec[0]= noise_texture(scale, detail, distortion, vec, out[0]->vec); } static int node_shader_gpu_tex_noise(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) @@ -103,7 +129,7 @@ void register_node_type_sh_tex_noise(ListBase *lb) node_type_socket_templates(&ntype, sh_node_tex_noise_in, sh_node_tex_noise_out); node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, node_shader_init_tex_noise); - node_type_storage(&ntype, "", NULL, NULL); + node_type_storage(&ntype, "NodeTexNoise", node_free_standard_storage, node_copy_standard_storage); node_type_exec(&ntype, node_shader_exec_tex_noise); node_type_gpu(&ntype, node_shader_gpu_tex_noise); diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_stucci.c b/source/blender/nodes/shader/nodes/node_shader_tex_stucci.c deleted file mode 100644 index 3eb315052a9..00000000000 --- a/source/blender/nodes/shader/nodes/node_shader_tex_stucci.c +++ /dev/null @@ -1,123 +0,0 @@ -/** - * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ - * - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2005 Blender Foundation. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -#include "../node_shader_util.h" -#include "node_shader_noise.h" - -static float stucci(int type, int basis, int hard, float turbulence, float size, float vec[3]) -{ - float p[3], b2, ofs, r; - - mul_v3_v3fl(p, vec, 1.0f/size); - b2 = noise_basis_hard(p, basis, hard); - ofs = turbulence/200.0f; - - if(type != SHD_STUCCI_PLASTIC) - ofs *= b2*b2; - - p[2] += ofs; - r = noise_basis_hard(p, basis, hard); - - if(type == SHD_STUCCI_WALL_OUT) - r = 1.0f - r; - - return MAX2(r, 0.0f); -} - -/* **************** STUCCI ******************** */ - -static bNodeSocketTemplate sh_node_tex_stucci_in[]= { - { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, - { SOCK_FLOAT, 1, "Size", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, - { SOCK_FLOAT, 1, "Turbulence", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, - { -1, 0, "" } -}; - -static bNodeSocketTemplate sh_node_tex_stucci_out[]= { - { SOCK_FLOAT, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { -1, 0, "" } -}; - -static void node_shader_init_tex_stucci(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) -{ - NodeTexStucci *tex = MEM_callocN(sizeof(NodeTexStucci), "NodeTexStucci"); - default_tex_mapping(&tex->base.tex_mapping); - default_color_mapping(&tex->base.color_mapping); - tex->type = SHD_STUCCI_PLASTIC; - tex->basis = SHD_NOISE_PERLIN; - tex->hard = 0; - - node->storage = tex; -} - -static void node_shader_exec_tex_stucci(void *data, bNode *node, bNodeStack **in, bNodeStack **out) -{ - ShaderCallData *scd= (ShaderCallData*)data; - NodeTexStucci *tex= (NodeTexStucci*)node->storage; - bNodeSocket *vecsock = node->inputs.first; - float vec[3], size, turbulence; - - if(vecsock->link) - nodestack_get_vec(vec, SOCK_VECTOR, in[0]); - else - copy_v3_v3(vec, scd->co); - - nodestack_get_vec(&size, SOCK_FLOAT, in[1]); - nodestack_get_vec(&turbulence, SOCK_FLOAT, in[2]); - - out[0]->vec[0]= stucci(tex->type, tex->basis, tex->hard, turbulence, size, vec); -} - -static int node_shader_gpu_tex_stucci(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) -{ - if(!in[0].link) - in[0].link = GPU_attribute(CD_ORCO, ""); - - node_shader_gpu_tex_mapping(mat, node, in, out); - - return GPU_stack_link(mat, "node_tex_stucci", in, out); -} - -/* node type definition */ -void register_node_type_sh_tex_stucci(ListBase *lb) -{ - static bNodeType ntype; - - node_type_base(&ntype, SH_NODE_TEX_STUCCI, "Stucci Texture", NODE_CLASS_TEXTURE, 0); - node_type_compatibility(&ntype, NODE_NEW_SHADING); - node_type_socket_templates(&ntype, sh_node_tex_stucci_in, sh_node_tex_stucci_out); - node_type_size(&ntype, 150, 60, 200); - node_type_init(&ntype, node_shader_init_tex_stucci); - node_type_storage(&ntype, "NodeTexStucci", node_free_standard_storage, node_copy_standard_storage); - node_type_exec(&ntype, node_shader_exec_tex_stucci); - node_type_gpu(&ntype, node_shader_gpu_tex_stucci); - - nodeRegisterType(lb, &ntype); -}; - diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c b/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c index ee8838ca1b3..4045a25de88 100644 --- a/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c +++ b/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c @@ -30,58 +30,25 @@ #include "../node_shader_util.h" #include "node_shader_noise.h" -static float voronoi_tex(int distance_metric, int coloring, - float weight1, float weight2, float weight3, float weight4, - float exponent, float intensity, float size, float vec[3], float color[3]) +static float voronoi_tex(int coloring, float scale, float vec[3], float color[3]) { - float aw1 = fabsf(weight1); - float aw2 = fabsf(weight2); - float aw3 = fabsf(weight3); - float aw4 = fabsf(weight4); - float sc = (aw1 + aw2 + aw3 + aw4); float da[4]; float pa[4][3]; float fac; float p[3]; - if(sc != 0.0f) - sc = intensity/sc; - /* compute distance and point coordinate of 4 nearest neighbours */ - mul_v3_v3fl(p, vec, 1.0f/size); - voronoi_generic(p, distance_metric, exponent, da, pa); + mul_v3_v3fl(p, vec, scale); + voronoi_generic(p, SHD_VORONOI_DISTANCE_SQUARED, 1.0f, da, pa); - /* Scalar output */ - fac = sc * fabsf(weight1*da[0] + weight2*da[1] + weight3*da[2] + weight4*da[3]); - - /* colored output */ + /* output */ if(coloring == SHD_VORONOI_INTENSITY) { + fac = fabsf(da[0]); color[0]= color[1]= color[2]= fac; } else { - float rgb1[3], rgb2[3], rgb3[3], rgb4[3]; - - cellnoise_color(rgb1, pa[0]); - cellnoise_color(rgb2, pa[1]); - cellnoise_color(rgb3, pa[2]); - cellnoise_color(rgb4, pa[3]); - - mul_v3_v3fl(color, rgb1, aw1); - madd_v3_v3fl(color, rgb2, aw2); - madd_v3_v3fl(color, rgb3, aw3); - madd_v3_v3fl(color, rgb4, aw4); - - if(coloring != SHD_VORONOI_POSITION) { - float t1 = MIN2((da[1] - da[0])*10.0f, 1.0f); - - if(coloring == SHD_VORONOI_POSITION_OUTLINE_INTENSITY) - mul_v3_fl(color, t1*fac); - else if(coloring == SHD_VORONOI_POSITION_OUTLINE) - mul_v3_fl(color, t1*sc); - } - else { - mul_v3_fl(color, sc); - } + cellnoise_color(color, pa[0]); + fac= (color[0] + color[1] + color[2])*(1.0f/3.0f); } return fac; @@ -91,12 +58,7 @@ static float voronoi_tex(int distance_metric, int coloring, static bNodeSocketTemplate sh_node_tex_voronoi_in[]= { { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, - { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, - { SOCK_FLOAT, 1, "Weight1", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f}, - { SOCK_FLOAT, 1, "Weight2", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f}, - { SOCK_FLOAT, 1, "Weight3", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f}, - { SOCK_FLOAT, 1, "Weight4", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f}, - { SOCK_FLOAT, 1, "Exponent", 2.5f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f}, + { SOCK_FLOAT, 1, "Scale", 5.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f}, { -1, 0, "" } }; @@ -111,7 +73,6 @@ static void node_shader_init_tex_voronoi(bNodeTree *UNUSED(ntree), bNode* node, NodeTexVoronoi *tex = MEM_callocN(sizeof(NodeTexVoronoi), "NodeTexVoronoi"); default_tex_mapping(&tex->base.tex_mapping); default_color_mapping(&tex->base.color_mapping); - tex->distance_metric = SHD_VORONOI_ACTUAL_DISTANCE; tex->coloring = SHD_VORONOI_INTENSITY; node->storage = tex; @@ -122,22 +83,16 @@ static void node_shader_exec_tex_voronoi(void *data, bNode *node, bNodeStack **i ShaderCallData *scd= (ShaderCallData*)data; NodeTexVoronoi *tex= (NodeTexVoronoi*)node->storage; bNodeSocket *vecsock = node->inputs.first; - float vec[3], size, w1, w2, w3, w4, exponent; + float vec[3], scale; if(vecsock->link) nodestack_get_vec(vec, SOCK_VECTOR, in[0]); else copy_v3_v3(vec, scd->co); - nodestack_get_vec(&size, SOCK_FLOAT, in[1]); - nodestack_get_vec(&w1, SOCK_FLOAT, in[2]); - nodestack_get_vec(&w2, SOCK_FLOAT, in[3]); - nodestack_get_vec(&w3, SOCK_FLOAT, in[4]); - nodestack_get_vec(&w4, SOCK_FLOAT, in[5]); - nodestack_get_vec(&exponent, SOCK_FLOAT, in[6]); + nodestack_get_vec(&scale, SOCK_FLOAT, in[1]); - out[1]->vec[0]= voronoi_tex(tex->distance_metric, tex->coloring, w1, w2, w3, w4, - exponent, 1.0f, size, vec, out[0]->vec); + out[1]->vec[0]= voronoi_tex(tex->coloring, scale, vec, out[0]->vec); } static int node_shader_gpu_tex_voronoi(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_wave.c b/source/blender/nodes/shader/nodes/node_shader_tex_wave.c new file mode 100644 index 00000000000..a911f615b79 --- /dev/null +++ b/source/blender/nodes/shader/nodes/node_shader_tex_wave.c @@ -0,0 +1,129 @@ +/** + * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2005 Blender Foundation. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "../node_shader_util.h" +#include "node_shader_noise.h" + +static float wave(float vec[3], float scale, int type, float distortion, float detail) +{ + float p[3], w, n; + + mul_v3_v3fl(p, vec, scale); + + if(type == SHD_WAVE_BANDS) + n= (p[0] + p[1] + p[2])*10.0f; + else /* if(type == SHD_WAVE_RINGS) */ + n= len_v3(p)*20.0f; + + w = noise_wave(SHD_WAVE_SINE, n); + + /* XXX size compare! */ + if(distortion != 0.0f) + w += distortion * noise_turbulence(p, SHD_NOISE_PERLIN, detail, 0); + + return w; +} + +/* **************** WAVE ******************** */ + +static bNodeSocketTemplate sh_node_tex_wave_in[]= { + { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, + { SOCK_FLOAT, 1, "Scale", 5.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f}, + { SOCK_FLOAT, 1, "Distortion", 0.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f}, + { SOCK_FLOAT, 1, "Detail", 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 16.0f}, + { SOCK_FLOAT, 1, "Detail Scale", 1.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f}, + { -1, 0, "" } +}; + +static bNodeSocketTemplate sh_node_tex_wave_out[]= { + { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_FLOAT, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { -1, 0, "" } +}; + +static void node_shader_init_tex_wave(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) +{ + NodeTexWave *tex = MEM_callocN(sizeof(NodeTexWave), "NodeTexWave"); + default_tex_mapping(&tex->base.tex_mapping); + default_color_mapping(&tex->base.color_mapping); + tex->wave_type = SHD_WAVE_BANDS; + + node->storage = tex; +} + +static void node_shader_exec_tex_wave(void *data, bNode *node, bNodeStack **in, bNodeStack **out) +{ + ShaderCallData *scd= (ShaderCallData*)data; + NodeTexWave *tex= (NodeTexWave*)node->storage; + bNodeSocket *vecsock = node->inputs.first; + float vec[3], scale, detail, distortion, fac; + + if(vecsock->link) + nodestack_get_vec(vec, SOCK_VECTOR, in[0]); + else + copy_v3_v3(vec, scd->co); + + nodestack_get_vec(&scale, SOCK_FLOAT, in[1]); + nodestack_get_vec(&detail, SOCK_FLOAT, in[1]); + nodestack_get_vec(&distortion, SOCK_FLOAT, in[2]); + + fac= wave(vec, scale, tex->wave_type, distortion, detail); + out[0]->vec[0]= fac; + out[0]->vec[1]= fac; + out[0]->vec[2]= fac; + out[1]->vec[0]= fac; +} + +static int node_shader_gpu_tex_wave(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) +{ + if(!in[0].link) + in[0].link = GPU_attribute(CD_ORCO, ""); + + node_shader_gpu_tex_mapping(mat, node, in, out); + + return GPU_stack_link(mat, "node_tex_wave", in, out); +} + +/* node type definition */ +void register_node_type_sh_tex_wave(ListBase *lb) +{ + static bNodeType ntype; + + node_type_base(&ntype, SH_NODE_TEX_WAVE, "Wave Texture", NODE_CLASS_TEXTURE, 0); + node_type_compatibility(&ntype, NODE_NEW_SHADING); + node_type_socket_templates(&ntype, sh_node_tex_wave_in, sh_node_tex_wave_out); + node_type_size(&ntype, 150, 60, 200); + node_type_init(&ntype, node_shader_init_tex_wave); + node_type_storage(&ntype, "NodeTexWave", node_free_standard_storage, node_copy_standard_storage); + node_type_exec(&ntype, node_shader_exec_tex_wave); + node_type_gpu(&ntype, node_shader_gpu_tex_wave); + + nodeRegisterType(lb, &ntype); +} + diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_wood.c b/source/blender/nodes/shader/nodes/node_shader_tex_wood.c deleted file mode 100644 index f1beb8e5d7d..00000000000 --- a/source/blender/nodes/shader/nodes/node_shader_tex_wood.c +++ /dev/null @@ -1,130 +0,0 @@ -/** - * $Id: node_shader_output.c 32517 2010-10-16 14:32:17Z campbellbarton $ - * - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2005 Blender Foundation. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -#include "../node_shader_util.h" -#include "node_shader_noise.h" - -static float wood(float p[3], float size, int type, int wave, int basis, unsigned int hard, float turb) -{ - float x = p[0]; - float y = p[1]; - float z = p[2]; - - if(type == SHD_WOOD_BANDS) { - return noise_wave(wave, (x + y + z)*10.0f); - } - else if(type == SHD_WOOD_RINGS) { - return noise_wave(wave, sqrt(x*x + y*y + z*z)*20.0f); - } - else if (type == SHD_WOOD_BAND_NOISE) { - float psize[3] = {p[0]/size, p[1]/size, p[2]/size}; - float wi = turb*noise_basis_hard(psize, basis, hard); - return noise_wave(wave, (x + y + z)*10.0f + wi); - } - else if (type == SHD_WOOD_RING_NOISE) { - float psize[3] = {p[0]/size, p[1]/size, p[2]/size}; - float wi = turb*noise_basis_hard(psize, basis, hard); - return noise_wave(wave, sqrt(x*x + y*y + z*z)*20.0f + wi); - } - - return 0.0f; -} - -/* **************** WOOD ******************** */ - -static bNodeSocketTemplate sh_node_tex_wood_in[]= { - { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, - { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, - { SOCK_FLOAT, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f}, - { -1, 0, "" } -}; - -static bNodeSocketTemplate sh_node_tex_wood_out[]= { - { SOCK_FLOAT, 0, "Fac", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, - { -1, 0, "" } -}; - -static void node_shader_init_tex_wood(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp)) -{ - NodeTexWood *tex = MEM_callocN(sizeof(NodeTexWood), "NodeTexWood"); - default_tex_mapping(&tex->base.tex_mapping); - default_color_mapping(&tex->base.color_mapping); - tex->type = SHD_WOOD_BANDS; - tex->wave = SHD_WAVE_SINE; - tex->basis = SHD_NOISE_PERLIN; - tex->hard = 0; - - node->storage = tex; -} - -static void node_shader_exec_tex_wood(void *data, bNode *node, bNodeStack **in, bNodeStack **out) -{ - ShaderCallData *scd= (ShaderCallData*)data; - NodeTexWood *tex= (NodeTexWood*)node->storage; - bNodeSocket *vecsock = node->inputs.first; - float vec[3], size, turbulence; - - if(vecsock->link) - nodestack_get_vec(vec, SOCK_VECTOR, in[0]); - else - copy_v3_v3(vec, scd->co); - - nodestack_get_vec(&size, SOCK_FLOAT, in[1]); - nodestack_get_vec(&turbulence, SOCK_FLOAT, in[2]); - - out[0]->vec[0]= wood(vec, size, tex->type, tex->wave, tex->basis, tex->hard, turbulence); -} - -static int node_shader_gpu_tex_wood(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out) -{ - if(!in[0].link) - in[0].link = GPU_attribute(CD_ORCO, ""); - - node_shader_gpu_tex_mapping(mat, node, in, out); - - return GPU_stack_link(mat, "node_tex_wood", in, out); -} - -/* node type definition */ -void register_node_type_sh_tex_wood(ListBase *lb) -{ - static bNodeType ntype; - - node_type_base(&ntype, SH_NODE_TEX_WOOD, "Wood Texture", NODE_CLASS_TEXTURE, 0); - node_type_compatibility(&ntype, NODE_NEW_SHADING); - node_type_socket_templates(&ntype, sh_node_tex_wood_in, sh_node_tex_wood_out); - node_type_size(&ntype, 150, 60, 200); - node_type_init(&ntype, node_shader_init_tex_wood); - node_type_storage(&ntype, "NodeTexWood", node_free_standard_storage, node_copy_standard_storage); - node_type_exec(&ntype, node_shader_exec_tex_wood); - node_type_gpu(&ntype, node_shader_gpu_tex_wood); - - nodeRegisterType(lb, &ntype); -}; - From 62988d6311ec73e6660d2e893652cb69c9db7e45 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 8 Nov 2011 14:03:16 +0000 Subject: [PATCH 198/241] Attempt to fix #29200: Camera Tracking Solver It was an mistake in join tracks operator which lead to reading unitialized memory. --- source/blender/blenkernel/intern/tracking.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/blender/blenkernel/intern/tracking.c b/source/blender/blenkernel/intern/tracking.c index a834628641a..d9217d2be09 100644 --- a/source/blender/blenkernel/intern/tracking.c +++ b/source/blender/blenkernel/intern/tracking.c @@ -446,13 +446,13 @@ int BKE_tracking_test_join_tracks(MovieTrackingTrack *dst_track, MovieTrackingTr int i, a= 0, b= 0, tot= dst_track->markersnr+src_track->markersnr; int count= 0; - for(i= 0; i=src_track->markersnr) { - b++; + while(amarkersnr || bmarkersnr) { + if(b>=dst_track->markersnr) { + a++; count++; } - else if(b>=dst_track->markersnr) { - a++; + else if(a>=src_track->markersnr) { + b++; count++; } else if(src_track->markers[a].framenrmarkers[b].framenr) { From a56c6e18a8f3a7d520cdf8efc0b4a17e7ef9e341 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 8 Nov 2011 14:10:33 +0000 Subject: [PATCH 199/241] Cycles: * Disable precompiled cuda binaries, always do at run time * Change preview samples default to 10 * Hide volume panels since they don't do anything yet --- CMakeLists.txt | 8 +++---- intern/cycles/CMakeLists.txt | 6 ++--- intern/cycles/blender/addon/properties.py | 2 +- intern/cycles/blender/addon/ui.py | 4 ++-- intern/cycles/blender/blender_util.h | 3 ++- intern/cycles/cmake/external_libs.cmake | 15 ------------- intern/cycles/kernel/CMakeLists.txt | 27 ----------------------- intern/cycles/kernel/svm/svm_gradient.h | 2 +- intern/cycles/util/util_cuda.cpp | 2 -- 9 files changed, 11 insertions(+), 58 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 99a44efdb0d..daf3940eab7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -215,11 +215,6 @@ option(WITH_PYTHON_INSTALL "Copy system python into the blender install fo # Cycles option(WITH_CYCLES "Enable Cycles Render Engine" ON) -OPTION(WITH_CYCLES_OSL "Build with Open Shading Language support" OFF) -OPTION(WITH_CYCLES_CUDA "Build with CUDA binaries" OFF) -OPTION(WITH_CYCLES_BLENDER "Build Blender Python extension" ON) -OPTION(WITH_CYCLES_PARTIO "Build with Partio point cloud support (unfinished)" OFF) -OPTION(WITH_CYCLES_NETWORK "Build with network rendering support (unfinished)" OFF) OPTION(WITH_CYCLES_TEST "Build cycles test application" OFF) # disable for now, but plan to support on all platforms eventually @@ -954,6 +949,9 @@ elseif(WIN32) set(PYTHON_LIBRARIES "${PYTHON_LIBRARY}") endif() + # disable for now, not building yet + set(WITH_CYCLES OFF) + if(WITH_BOOST) set(BOOST ${LIBDIR}/boost) set(BOOST_INCLUDE_DIR ${BOOST}/include) diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index d0b24c879a1..0debe10747b 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -41,10 +41,6 @@ if(WITH_CYCLES_NETWORK) add_definitions(-DWITH_NETWORK) endif() -if(WITH_CYCLES_CUDA) - add_definitions(-DWITH_CUDA_BINARIES) -endif() - if(WITH_CYCLES_OSL) add_definitions(-DWITH_OSL) endif() @@ -64,6 +60,8 @@ include_directories( # Subdirectories +SET(WITH_CYCLES_BLENDER ON) + if(WITH_CYCLES_BLENDER) add_subdirectory(blender) endif(WITH_CYCLES_BLENDER) diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index a58e4dfd154..5a56240865a 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -40,7 +40,7 @@ class CyclesRenderSettings(bpy.types.PropertyGroup): cls.samples = IntProperty(name="Samples", description="Number of samples to render for each pixel", default=10, min=1, max=2147483647) cls.preview_samples = IntProperty(name="Preview Samples", description="Number of samples to render in the viewport, unlimited if 0", - default=0, min=0, max=2147483647) + default=10, min=0, max=2147483647) cls.preview_pause = BoolProperty(name="Pause Preview", description="Pause all viewport preview renders", default=False) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 58852edce88..dfbfb769170 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -436,7 +436,7 @@ class CyclesWorld_PT_volume(CyclesButtonsPanel, Panel): @classmethod def poll(cls, context): world = context.world - return world and world.node_tree and CyclesButtonsPanel.poll(context) + return False # world and world.node_tree and CyclesButtonsPanel.poll(context) def draw(self, context): layout = self.layout @@ -467,7 +467,7 @@ class CyclesMaterial_PT_volume(CyclesButtonsPanel, Panel): @classmethod def poll(cls, context): mat = context.material - return mat and mat.node_tree and CyclesButtonsPanel.poll(context) + return False #mat and mat.node_tree and CyclesButtonsPanel.poll(context) def draw(self, context): layout = self.layout diff --git a/intern/cycles/blender/blender_util.h b/intern/cycles/blender/blender_util.h index bcca028dc2a..c5cceff6242 100644 --- a/intern/cycles/blender/blender_util.h +++ b/intern/cycles/blender/blender_util.h @@ -26,7 +26,8 @@ #include "util_types.h" #include "util_vector.h" -/* Hacks to hook into Blender API */ +/* Hacks to hook into Blender API + todo: clean this up ... */ extern "C" { diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake index 0915d4d92c8..b6b8b351e13 100644 --- a/intern/cycles/cmake/external_libs.cmake +++ b/intern/cycles/cmake/external_libs.cmake @@ -85,18 +85,3 @@ if(WITH_CYCLES_BLENDER) add_definitions(-DBLENDER_PLUGIN) endif() -########################################################################### -# CUDA - -if(WITH_CYCLES_CUDA) - find_package(CUDA) # Try to auto locate CUDA toolkit - if(CUDA_FOUND) - message(STATUS "CUDA nvcc = ${CUDA_NVCC_EXECUTABLE}") - set(CYCLES_CUDA_ARCH sm_10 sm_11 sm_12 sm_13 sm_20 sm_21 CACHE STRING "CUDA architectures to build for") - set(CYCLES_CUDA_MAXREG 24 CACHE STRING "CUDA maximum number of register to use") - else() - message(STATUS "CUDA compiler not found, disabling WITH_CYCLES_CUDA") - set(WITH_CYCLES_CUDA OFF) - endif() -endif() - diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt index 893c4bb6081..99427e02c54 100644 --- a/intern/cycles/kernel/CMakeLists.txt +++ b/intern/cycles/kernel/CMakeLists.txt @@ -74,33 +74,6 @@ set(util_headers ../util/util_transform.h ../util/util_types.h) -# CUDA module - -if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") - set(CUDA_BITS 64) -else() - set(CUDA_BITS 32) -endif() - -if(WITH_CYCLES_CUDA) - set(cuda_sources kernel.cu ${headers} ${svm_headers}) - set(cuda_cubins) - - foreach(arch ${CYCLES_CUDA_ARCH}) - set(cuda_cubin kernel_${arch}.cubin) - - add_custom_command( - OUTPUT ${cuda_cubin} - COMMAND ${CUDA_NVCC_EXECUTABLE} -arch=${arch} -m${CUDA_BITS} --cubin ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cu --use_fast_math -o ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} --ptxas-options="-v" --maxrregcount=${CYCLES_CUDA_MAXREG} --opencc-options -OPT:Olimit=0 -I${CMAKE_CURRENT_SOURCE_DIR}/../util -I${CMAKE_CURRENT_SOURCE_DIR}/svm -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= -DNVCC - DEPENDS ${cuda_sources}) - - delayed_install("${CMAKE_CURRENT_BINARY_DIR}" "${cuda_cubin}" ${CYCLES_INSTALL_PATH}/lib) - list(APPEND cuda_cubins ${cuda_cubin}) - endforeach() - - add_custom_target(cycles_kernel_cuda ALL DEPENDS ${cuda_cubins}) -endif() - # OSL module if(WITH_CYCLES_OSL) diff --git a/intern/cycles/kernel/svm/svm_gradient.h b/intern/cycles/kernel/svm/svm_gradient.h index 79298f5f581..c7013800d6b 100644 --- a/intern/cycles/kernel/svm/svm_gradient.h +++ b/intern/cycles/kernel/svm/svm_gradient.h @@ -48,7 +48,7 @@ __device float svm_gradient(float3 p, NodeBlendType type) return atan2(y, x)/(2.0f*M_PI_F) + 0.5f; } else { - float r = fmaxf(1.0f - sqrtf(x*x + y*y + p.z*p.z), 0.0f); + float r = fmaxf(1.0f - sqrtf(x*x + y*y + z*z), 0.0f); if(type == NODE_BLEND_QUADRATIC_SPHERE) return r*r; diff --git a/intern/cycles/util/util_cuda.cpp b/intern/cycles/util/util_cuda.cpp index 14e3f9a159b..bd5583b9718 100644 --- a/intern/cycles/util/util_cuda.cpp +++ b/intern/cycles/util/util_cuda.cpp @@ -373,10 +373,8 @@ bool cuLibraryInit() /* cuda 4.0 */ CUDA_LIBRARY_FIND(cuCtxSetCurrent); -#ifndef WITH_CUDA_BINARIES if(cuCompilerPath() == "") return false; -#endif /* success */ result = true; From 354ebeadc88ce103f687bd43d069a534472e8acf Mon Sep 17 00:00:00 2001 From: Antony Riakiotakis Date: Tue, 8 Nov 2011 14:47:03 +0000 Subject: [PATCH 200/241] Cycles now uses correct libs on MinGW --- CMakeLists.txt | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index daf3940eab7..7efa3f07c4a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -853,7 +853,7 @@ elseif(WIN32) else() # keep GCC specific stuff here if(CMAKE_COMPILER_IS_GNUCC) - set(PLATFORM_LINKLIBS "-lshell32 -lshfolder -lgdi32 -lmsvcrt -lwinmm -lmingw32 -lm -lws2_32 -lz -lstdc++ -lole32 -luuid -lwsock32") + set(PLATFORM_LINKLIBS "-lshell32 -lshfolder -lgdi32 -lmsvcrt -lwinmm -lmingw32 -lm -lws2_32 -lz -lstdc++ -lole32 -luuid -lwsock32 -lpsapi") set(PLATFORM_CFLAGS "-pipe -funsigned-char -fno-strict-aliasing") add_definitions(-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE) @@ -953,21 +953,21 @@ elseif(WIN32) set(WITH_CYCLES OFF) if(WITH_BOOST) - set(BOOST ${LIBDIR}/boost) + set(BOOST ${LIBDIR}/gcc/boost) set(BOOST_INCLUDE_DIR ${BOOST}/include) - set(BOOST_POSTFIX "vc90-mt-s-1_46_1") - set(BOOST_DEBUG_POSTFIX "vc90-mt-sgd-1_46_1") + set(BOOST_POSTFIX "mgw45-mt-s-1_47") + set(BOOST_DEBUG_POSTFIX "mgw45-mt-sd-1_47") set(BOOST_LIBRARIES - optimized libboost_date_time-${BOOST_POSTFIX} libboost_filesystem-${BOOST_POSTFIX} - libboost_regex-${BOOST_POSTFIX} libboost_system-${BOOST_POSTFIX} libboost_thread-${BOOST_POSTFIX} - debug libboost_date_time-${BOOST_DEBUG_POSTFIX} libboost_filesystem-${BOOST_DEBUG_POSTFIX} - libboost_regex-${BOOST_DEBUG_POSTFIX} libboost_system-${BOOST_DEBUG_POSTFIX} libboost_thread-${BOOST_DEBUG_POSTFIX}) + optimized boost_date_time-${BOOST_POSTFIX} boost_filesystem-${BOOST_POSTFIX} + boost_regex-${BOOST_POSTFIX} boost_system-${BOOST_POSTFIX} boost_thread-${BOOST_POSTFIX} + debug boost_date_time-${BOOST_DEBUG_POSTFIX} boost_filesystem-${BOOST_DEBUG_POSTFIX} + boost_regex-${BOOST_DEBUG_POSTFIX} boost_system-${BOOST_DEBUG_POSTFIX} boost_thread-${BOOST_DEBUG_POSTFIX}) set(BOOST_LIBPATH ${BOOST}/lib) - set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB") + set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB -DBOOST_THREAD_USE_LIB ") endif() if(WITH_OPENIMAGEIO) - set(OPENIMAGEIO ${LIBDIR}/openimageio) + set(OPENIMAGEIO ${LIBDIR}/gcc/openimageio) set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO}/include) set(OPENIMAGEIO_LIBRARIES OpenImageIO) set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib) From ce462fa1b7d392ce70fc32784cec072f4a69bef2 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 8 Nov 2011 15:11:27 +0000 Subject: [PATCH 201/241] - disable undo for user preferences (every click would do push an undo), was noticeable on large files. - also netbeans project file generator now uses branch name for project. --- build_files/cmake/cmake_netbeans_project.py | 7 ++++- source/blender/editors/interface/interface.c | 3 ++ source/blender/makesrna/RNA_access.h | 2 ++ source/blender/makesrna/RNA_types.h | 9 +++--- source/blender/makesrna/intern/rna_access.c | 5 +++ source/blender/makesrna/intern/rna_define.c | 1 + source/blender/makesrna/intern/rna_userdef.c | 33 ++++++++++++++++++++ 7 files changed, 55 insertions(+), 5 deletions(-) diff --git a/build_files/cmake/cmake_netbeans_project.py b/build_files/cmake/cmake_netbeans_project.py index 769b4adb37b..45c19adff36 100755 --- a/build_files/cmake/cmake_netbeans_project.py +++ b/build_files/cmake/cmake_netbeans_project.py @@ -39,6 +39,7 @@ from project_info import (SIMPLE_PROJECTFILE, # is_py, cmake_advanced_info, cmake_compiler_defines, + project_name_get, ) @@ -59,7 +60,11 @@ def create_nb_project_main(): includes = list(set(includes) | set(dirname(f) for f in files if is_c_header(f))) includes.sort() - PROJECT_NAME = "Blender" + if 0: + PROJECT_NAME = "Blender" + else: + # be tricky, get the project name from SVN if we can! + PROJECT_NAME = project_name_get(SOURCE_DIR) # --------------- NB spesific defines = [("%s=%s" % cdef) if cdef[1] else cdef[0] for cdef in defines] diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c index e5092c82304..2e144c0ca2b 100644 --- a/source/blender/editors/interface/interface.c +++ b/source/blender/editors/interface/interface.c @@ -756,6 +756,9 @@ static int ui_but_is_rna_undo(uiBut *but) return TRUE; } } + else if (but->rnapoin.type && !RNA_struct_undo_check(but->rnapoin.type)) { + return FALSE; + } return TRUE; } diff --git a/source/blender/makesrna/RNA_access.h b/source/blender/makesrna/RNA_access.h index b40c2936bd5..9933840a24e 100644 --- a/source/blender/makesrna/RNA_access.h +++ b/source/blender/makesrna/RNA_access.h @@ -623,6 +623,8 @@ StructRNA *RNA_struct_base(StructRNA *type); int RNA_struct_is_ID(StructRNA *type); int RNA_struct_is_a(StructRNA *type, StructRNA *srna); +int RNA_struct_undo_check(StructRNA *type); + StructRegisterFunc RNA_struct_register(StructRNA *type); StructUnregisterFunc RNA_struct_unregister(StructRNA *type); void **RNA_struct_instance(PointerRNA *ptr); diff --git a/source/blender/makesrna/RNA_types.h b/source/blender/makesrna/RNA_types.h index 418a41c72ba..1655665efe3 100644 --- a/source/blender/makesrna/RNA_types.h +++ b/source/blender/makesrna/RNA_types.h @@ -326,12 +326,13 @@ typedef enum StructFlag { /* indicates that this struct is an ID struct, and to use refcounting */ STRUCT_ID = 1, STRUCT_ID_REFCOUNT = 2, + STRUCT_UNDO = 4, /* defaults on, clear for user preferences and similar */ /* internal flags */ - STRUCT_RUNTIME = 4, - STRUCT_GENERATED = 8, - STRUCT_FREE_POINTERS = 16, - STRUCT_NO_IDPROPERTIES = 32 /* Menu's and Panels don't need properties */ + STRUCT_RUNTIME = 8, + STRUCT_GENERATED = 16, + STRUCT_FREE_POINTERS = 32, + STRUCT_NO_IDPROPERTIES = 64 /* Menu's and Panels don't need properties */ } StructFlag; typedef int (*StructValidateFunc)(struct PointerRNA *ptr, void *data, int *have_function); diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c index 793d0112af7..6f9c7a8f19b 100644 --- a/source/blender/makesrna/intern/rna_access.c +++ b/source/blender/makesrna/intern/rna_access.c @@ -549,6 +549,11 @@ int RNA_struct_is_ID(StructRNA *type) return (type->flag & STRUCT_ID) != 0; } +int RNA_struct_undo_check(StructRNA *type) +{ + return (type->flag & STRUCT_UNDO) != 0; +} + int RNA_struct_idprops_register_check(StructRNA *type) { return (type->flag & STRUCT_NO_IDPROPERTIES) == 0; diff --git a/source/blender/makesrna/intern/rna_define.c b/source/blender/makesrna/intern/rna_define.c index ff1bfce2d2f..d4756ecfefa 100644 --- a/source/blender/makesrna/intern/rna_define.c +++ b/source/blender/makesrna/intern/rna_define.c @@ -654,6 +654,7 @@ StructRNA *RNA_def_struct(BlenderRNA *brna, const char *identifier, const char * srna->identifier= identifier; srna->name= identifier; /* may be overwritten later RNA_def_struct_ui_text */ srna->description= ""; + srna->flag |= STRUCT_UNDO; if(!srnafrom) srna->icon= ICON_DOT; diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c index e4e1c78ab3e..26f23681c7b 100644 --- a/source/blender/makesrna/intern/rna_userdef.c +++ b/source/blender/makesrna/intern/rna_userdef.c @@ -316,6 +316,7 @@ static void rna_def_userdef_theme_ui_font_style(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeFontStyle", NULL); RNA_def_struct_sdna(srna, "uiFontStyle"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Font Style", "Theme settings for Font"); prop= RNA_def_property(srna, "points", PROP_INT, PROP_NONE); @@ -366,6 +367,7 @@ static void rna_def_userdef_theme_ui_style(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeStyle", NULL); RNA_def_struct_sdna(srna, "uiStyle"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Style", "Theme settings for style sets"); /* (not used yet) @@ -410,6 +412,7 @@ static void rna_def_userdef_theme_ui_wcol(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeWidgetColors", NULL); RNA_def_struct_sdna(srna, "uiWidgetColors"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme Widget Color Set", "Theme settings for widget color sets"); prop= RNA_def_property(srna, "outline", PROP_FLOAT, PROP_COLOR_GAMMA); @@ -465,6 +468,7 @@ static void rna_def_userdef_theme_ui_wcol_state(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeWidgetStateColors", NULL); RNA_def_struct_sdna(srna, "uiWidgetStateColors"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme Widget State Color", "Theme settings for widget state colors"); prop= RNA_def_property(srna, "inner_anim", PROP_FLOAT, PROP_COLOR_GAMMA); @@ -512,6 +516,7 @@ static void rna_def_userdef_theme_ui(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeUserInterface", NULL); RNA_def_struct_sdna(srna, "ThemeUI"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme User Interface", "Theme settings for user interface elements"); prop= RNA_def_property(srna, "wcol_regular", PROP_POINTER, PROP_NONE); @@ -917,6 +922,7 @@ static void rna_def_userdef_theme_space_view3d(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeView3D", NULL); RNA_def_struct_sdna(srna, "ThemeSpace"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme 3D View", "Theme settings for the 3D View"); rna_def_userdef_theme_spaces_main(srna, SPACE_VIEW3D); @@ -1054,6 +1060,7 @@ static void rna_def_userdef_theme_space_graph(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeGraphEditor", NULL); RNA_def_struct_sdna(srna, "ThemeSpace"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme Graph Editor", "Theme settings for the graph editor"); rna_def_userdef_theme_spaces_main(srna, SPACE_IPO); @@ -1138,6 +1145,7 @@ static void rna_def_userdef_theme_space_file(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeFileBrowser", NULL); RNA_def_struct_sdna(srna, "ThemeSpace"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme File Browser", "Theme settings for the File Browser"); rna_def_userdef_theme_spaces_main(srna, SPACE_FILE); @@ -1187,6 +1195,7 @@ static void rna_def_userdef_theme_space_outliner(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeOutliner", NULL); RNA_def_struct_sdna(srna, "ThemeSpace"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme Outliner", "Theme settings for the Outliner"); rna_def_userdef_theme_spaces_main(srna, SPACE_OUTLINER); @@ -1200,6 +1209,7 @@ static void rna_def_userdef_theme_space_userpref(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeUserPreferences", NULL); RNA_def_struct_sdna(srna, "ThemeSpace"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme User Preferences", "Theme settings for the User Preferences"); rna_def_userdef_theme_spaces_main(srna, SPACE_USERPREF); @@ -1214,6 +1224,7 @@ static void rna_def_userdef_theme_space_console(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeConsole", NULL); RNA_def_struct_sdna(srna, "ThemeSpace"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme Console", "Theme settings for the Console"); rna_def_userdef_theme_spaces_main(srna, SPACE_CONSOLE); @@ -1257,6 +1268,7 @@ static void rna_def_userdef_theme_space_info(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeInfo", NULL); RNA_def_struct_sdna(srna, "ThemeSpace"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme Info", "Theme settings for Info"); rna_def_userdef_theme_spaces_main(srna, SPACE_INFO); @@ -1272,6 +1284,7 @@ static void rna_def_userdef_theme_space_text(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeTextEditor", NULL); RNA_def_struct_sdna(srna, "ThemeSpace"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme Text Editor", "Theme settings for the Text Editor"); rna_def_userdef_theme_spaces_main(srna, SPACE_TEXT); @@ -1340,6 +1353,7 @@ static void rna_def_userdef_theme_space_node(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeNodeEditor", NULL); RNA_def_struct_sdna(srna, "ThemeSpace"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme Node Editor", "Theme settings for the Node Editor"); rna_def_userdef_theme_spaces_main(srna, SPACE_NODE); @@ -1409,6 +1423,7 @@ static void rna_def_userdef_theme_space_logic(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeLogicEditor", NULL); RNA_def_struct_sdna(srna, "ThemeSpace"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme Logic Editor", "Theme settings for the Logic Editor"); rna_def_userdef_theme_spaces_main(srna, SPACE_LOGIC); @@ -1429,6 +1444,7 @@ static void rna_def_userdef_theme_space_buts(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeProperties", NULL); RNA_def_struct_sdna(srna, "ThemeSpace"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme Properties", "Theme settings for the Properties"); rna_def_userdef_theme_spaces_main(srna, SPACE_BUTS); @@ -1448,6 +1464,7 @@ static void rna_def_userdef_theme_space_time(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeTimeline", NULL); RNA_def_struct_sdna(srna, "ThemeSpace"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme Timeline", "Theme settings for the Timeline"); rna_def_userdef_theme_spaces_main(srna, SPACE_TIME); @@ -1473,6 +1490,7 @@ static void rna_def_userdef_theme_space_image(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeImageEditor", NULL); RNA_def_struct_sdna(srna, "ThemeSpace"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme Image Editor", "Theme settings for the Image Editor"); rna_def_userdef_theme_spaces_main(srna, SPACE_IMAGE); @@ -1500,6 +1518,7 @@ static void rna_def_userdef_theme_space_seq(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeSequenceEditor", NULL); RNA_def_struct_sdna(srna, "ThemeSpace"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme Sequence Editor", "Theme settings for the Sequence Editor"); rna_def_userdef_theme_spaces_main(srna, SPACE_IMAGE); @@ -1591,6 +1610,7 @@ static void rna_def_userdef_theme_space_action(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeDopeSheet", NULL); RNA_def_struct_sdna(srna, "ThemeSpace"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme DopeSheet", "Theme settings for the DopeSheet"); rna_def_userdef_theme_spaces_main(srna, SPACE_ACTION); @@ -1676,6 +1696,7 @@ static void rna_def_userdef_theme_space_nla(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeNLAEditor", NULL); RNA_def_struct_sdna(srna, "ThemeSpace"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme NLA Editor", "Theme settings for the NLA Editor"); rna_def_userdef_theme_spaces_main(srna, SPACE_NLA); @@ -1729,6 +1750,7 @@ static void rna_def_userdef_theme_colorset(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeBoneColorSet", NULL); RNA_def_struct_sdna(srna, "ThemeWireColor"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme Bone Color Set", "Theme settings for bone color sets"); prop= RNA_def_property(srna, "normal", PROP_FLOAT, PROP_COLOR_GAMMA); @@ -1763,6 +1785,7 @@ static void rna_def_userdef_theme_space_clip(BlenderRNA *brna) srna= RNA_def_struct(brna, "ThemeClipEditor", NULL); RNA_def_struct_sdna(srna, "ThemeSpace"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme Clip Editor", "Theme settings for the Movie Clip Editor"); rna_def_userdef_theme_spaces_main(srna, SPACE_CLIP); @@ -1871,6 +1894,7 @@ static void rna_def_userdef_themes(BlenderRNA *brna) srna= RNA_def_struct(brna, "Theme", NULL); RNA_def_struct_sdna(srna, "bTheme"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Theme", "Theme settings defining draw style and colors in the user interface"); prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE); @@ -2004,6 +2028,7 @@ static void rna_def_userdef_addon(BlenderRNA *brna) srna= RNA_def_struct(brna, "Addon", NULL); RNA_def_struct_sdna(srna, "bAddon"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Addon", "Python addons to be loaded automatically"); prop= RNA_def_property(srna, "module", PROP_STRING, PROP_NONE); @@ -2047,6 +2072,7 @@ static void rna_def_userdef_solidlight(BlenderRNA *brna) srna= RNA_def_struct(brna, "UserSolidLight", NULL); RNA_def_struct_sdna(srna, "SolidLight"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Solid Light", "Light used for OpenGL lighting in solid draw mode"); prop= RNA_def_property(srna, "use", PROP_BOOLEAN, PROP_NONE); @@ -2096,6 +2122,7 @@ static void rna_def_userdef_view(BlenderRNA *brna) srna= RNA_def_struct(brna, "UserPreferencesView", NULL); RNA_def_struct_sdna(srna, "UserDef"); RNA_def_struct_nested(brna, srna, "UserPreferences"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "View & Controls", "Preferences related to viewing data"); /* View */ @@ -2311,6 +2338,7 @@ static void rna_def_userdef_edit(BlenderRNA *brna) srna= RNA_def_struct(brna, "UserPreferencesEdit", NULL); RNA_def_struct_sdna(srna, "UserDef"); RNA_def_struct_nested(brna, srna, "UserPreferences"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Edit Methods", "Settings for interacting with Blender data"); /* Edit Methods */ @@ -2622,6 +2650,7 @@ static void rna_def_userdef_system(BlenderRNA *brna) srna= RNA_def_struct(brna, "UserPreferencesSystem", NULL); RNA_def_struct_sdna(srna, "UserDef"); RNA_def_struct_nested(brna, srna, "UserPreferences"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "System & OpenGL", "Graphics driver and operating system settings"); /* Language */ @@ -2866,6 +2895,7 @@ static void rna_def_userdef_input(BlenderRNA *brna) srna= RNA_def_struct(brna, "UserPreferencesInput", NULL); RNA_def_struct_sdna(srna, "UserDef"); RNA_def_struct_nested(brna, srna, "UserPreferences"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Input", "Settings for input devices"); prop= RNA_def_property(srna, "select_mouse", PROP_ENUM, PROP_NONE); @@ -3021,6 +3051,7 @@ static void rna_def_userdef_filepaths(BlenderRNA *brna) srna= RNA_def_struct(brna, "UserPreferencesFilePaths", NULL); RNA_def_struct_sdna(srna, "UserDef"); RNA_def_struct_nested(brna, srna, "UserPreferences"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "File Paths", "Default paths for external files"); prop= RNA_def_property(srna, "show_hidden_files_datablocks", PROP_BOOLEAN, PROP_NONE); @@ -3138,6 +3169,7 @@ void rna_def_userdef_addon_collection(BlenderRNA *brna, PropertyRNA *cprop) RNA_def_property_srna(cprop, "Addons"); srna= RNA_def_struct(brna, "Addons", NULL); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "User Addons", "Collection of addons"); func= RNA_def_function(srna, "new", "rna_userdef_addon_new"); @@ -3174,6 +3206,7 @@ void RNA_def_userdef(BlenderRNA *brna) srna= RNA_def_struct(brna, "UserPreferences", NULL); RNA_def_struct_sdna(srna, "UserDef"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "User Preferences", "Global user preferences"); prop= RNA_def_property(srna, "active_section", PROP_ENUM, PROP_NONE); From c0f65b774eaa8f3951ae44cdb32e1cd0014ec3ea Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 8 Nov 2011 15:12:41 +0000 Subject: [PATCH 202/241] Fix #29198: Problem with text interface when you enable the International fonts Not sure why, but doing the same things as in script from FontForge UI, there's no issues described in report. Probably matter of some default settings. Hope it works now fine for everyone. --- release/datafiles/fonts/droidsans.ttf.gz | Bin 2263650 -> 2055389 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/release/datafiles/fonts/droidsans.ttf.gz b/release/datafiles/fonts/droidsans.ttf.gz index a00f35f3a66ba4d2a4d626d13be5fabe8588d69f..1701612d31352c7c86e367c27d196733f0d689c7 100644 GIT binary patch literal 2055389 zcmX7uXIv8A`~JUWWo2n)X6DMQ+>)AGF*7T3=gM8V#Sv~4S3z`k`^xjrc;^gKc=2RY7b%^0tTnoN`ATeoln!0LKN5`$Y zEO|>Zkr0ABVj!6W=F?l(`J>@By+{Sm0XjivGHL{cK}U>N*(-&NuGFa`1auwcbAhz# zPPW%$HI+!ift8YHa8+`3nZ@FW2IAY3f%AwQ?8jbhHuKTA+jcr6fv8PWyYwa~cx=+b zUeiEFeT~CDbgZ|R4$lk}p)20V^7XLx848O~H^gJ!uJarKrK2O?O~FI1uCW-tR_r3GnHjp)*S*2QFC*p}}tz{?`MIm+Y_ z`WBJG4X{lGG8?)0Ck&O1?KTq6$8y6?*5Ir83jw2TX6aTw&FHyXWMBw`)CTH)Ue)PV4yO#E6Q<&WF&)~6L8{S_3!rK zXjtoRM|TC$-o^qVZo*UczfO$5Lle(cdN%X>y(;`ReFc=Pk!BtmBDCC#bv&GAL5(vy z>c(d;SIb(<9ge}W#nbV;|4qqky#bZie643@tOB=O@n7B;njJef4GCyXWf4m*9Yp9p z<{{WWKVhybx(Tfagm4A~Jf6AS!d`wp^sMB$pzN_H!XH#W2r~lC(02Il4B~Cy(#*Xd zECu0)*uABsXof86nE{PtwV<#3|b6Mo2U zxyG*Rr}ib|qHL1aH3i@CoS}TQoMvT;v)WzmRvDON2NKwwFx4alXvp=T$f?Xr4kN!lDd}{Y4#Qx>_nTjiWZ_la(vF}!~z^)z`_1IIdMGbFFnf`5h^ry+F z$@#Kf$|mtgIVVcb9(GD=A>GFsQcJX6!!J`W^sB~uj0;!s7aen~ zLXz!Gm(qLL%N8EL(eDd4p5p{|hu)<|O{y>-K=U+ufqkKzMZL~%yuescZs;(-W;A%S| zAG>NiZp@f=Zksy?|Ll4+LAiEtWJD$8??=>q2u;0^*!b49HBrtQGO zDT-SYrx7|tExtyhz{E84zm_vD|DM0)+%C6`N5>(a&RtQFJoi5SOxz5A_PcQ(V0fO& zfJ5zkrd{b>%8!kpNM9g=B&*KaBtTUkOwU2E*zQZEUs>78y1x&Ms;q1NgUOn=%j9qk z=bUm4X%Tzb_Wz+Tst6=c0ngRv9p7~2{tz9Zg2VA=9*&dR(+ zzu-3mnbE=G&#;R5(0CZT{G+=xj56S+YEVyeypK}g&c4e&gDH1H)ce;$#yJAFw|ZJO z2^o_P8qc!_xan6+oCXZ%RM#!mIoGTBR1Y!+xKM~*-N7i|=S$Yxy8HYo8utuM3D*rF zEh?&oe;TCoGFo*$ryzz{HnA(1>1F;GQrivCrI4Cc=Rg7563Vr)txNdQUAD#dUf-P? zEk;sGx7Z$QEeT|p&i>tta35GreyWzyJ$k}5)2rswe21miQwb#Cr_s^q@AvD(Z`r?a z_{3)GsS$tD<<)>}B*ld^uP4JeygaeCmFJZG0(XCS?mC5T&w`!nY`fTUoPdt5AwLb| zkfItsRo!&5YfX^yi&SO##Rhu2^$+^c$HSN$0hz4vvGX*htM-LR&iu#FX7HJr`n-f+ zaJ1uJX7CB-L1k+cTz`NyArmiFIfC2AobzMS7zuZSX_z5PceFuw{1*RAu1lQO3AlyB zlfyELl0Kk9Qmz}o{5WEzy3UOx%z04ZpP!2)T*PUf6#Th~k2nAtFBM869(Lepzd`5Y z&0RV{IX};A+2FfA*ymTwUQ`(o3}ZlwYYYnWBx!7c_x$=$zqLh)UUNd;z72y`CnlLS zB0ua|VC@YOSpPw)ZnnhqH<_ZCFz=&CH|k_QRgnYVTULs^JPHib@Q9L= zX;|ThX8ni4>P%liv**ArLLJ59d1UzyRcrOvS9;&7IT|BS3D02)M@fk|YWKk5`xS>< z@#Ch*cb8V~)SDIH`YI*p$x~1Bt~(sF9oz=bJ&QEi-|;H)fTzPBI)_K_>gIli#6{~*|?~3>G@qGSX1zS zSy!`3;SFHp&?=8ldyb1=UnM}(J`LQE_zJIh!WTC4b5pN$mu4-7o6>&a+N;vLX|}(N zh(Op5*H~`pObU5uVpEiE?FwF<0Se$l?dgeM1xevGrCebogkep$IXUA$0dY@|W`7=8B^^BUa1dd@ zUvh-#{yf2~%+E>RNpsDY3vd2`DEd_;(>vZR7@;(HPCc1u*ZQ@$74mo>i-W*`1*LT~ zT^1*(L~M=)>YZrB?f-AjzqlmzrpJerYN%$KVDm&5QlM?^ z_Md=!*3R?O>0-a)e7P1i=ODl@0R|l?1%njQsv^sl^u(m08ALd3rew{osnZ%jFba71 z7l3@OZa>z(h3aZ_>uylGK)NTrD2ye^&_*7YYc^FfD*j}xC=Lb518^^X2x1EUtK36$ z+GG^>p(4fC1xEy!j!o>S5mQj8GcrU_h_!q1F5nI4YqQx0er%#X|FLvy$vT{$$|6;a z%;fJ?XXFRJmELX|bo+htk7TByPRQk%jyV;?p2*<8I|HhZyJo*wULs`vWqz9y;&Sb!9nZJ$gNUA13|UEE}I@DO=1! ziy3Q@AXUS*SBls|10L`21~$K~Ztc1AhlpCA)&h-Mt6@=-;!nMp(Sc{Ua%_6$LcX>A zFEH$1^6RamIMx+M(51~Wj=@K7@8Lcg|F-;nY4e;_!8@3q?#Dhl{~sP*?y?3~NZEzL z|D`-p{=l`3_`Qzq61K?bgNPcPneO*qx-n83bxKLNC7Uz*0RUPuerIq`CC{1}7 zKS`6l*F+QapPC?Z#~|lwx4MX2n8}J@m{)KYZ~A2XZvI;?{a1%K_k_ooJ1@7qn*O5h zQpUe*y_c#^(1Jz7IsfegB3qG~9Ouuca*nz*?QEE$HA)qgVJFl2xSjNCey_7@q7!EY zS9XO0hgIORyWQJTp=eFO`NEg2uiM6S>Eg5is{+D$i{M9+ZoB*qHc^p-&pwfrPwDUd zxwA7HBOh|`urrGjLM`TN{=?oP3HiU6Shg3OeXjy7iTAi$6SX9`SH`WKQ~D#3@&I6 zSpU!Jf6X2@erk;0cNe|%o5M3`mz+=7<$&OW0eXt?L+E7OEhQH(z&$p9sDqs4b z)`h?IR`ze~YASx!dmWt5Ncu4`Hl?pE*1jUqiq^IN^i zeV0{213ulIX?t`I$-UM;0q`BW=vO`pF1O5KinQ->En4r#c_pH(9~>(@b4gFM4*z(W zrR1VG{6?{S#wVote9hhIqUuY^#4&X5qFQ&_Rz#x75BqwW8Rt}Y&cXCiK&aR2G z@>PqH;uu$UoN2)L+isLRJ}GQMnryiG^UeNiz@UsZ+6DHBHo#n2lk%?1&bA(}o;09N z-1=(Vy3+74OhryU=H540vf5)SttpG@VTj$23B%~^8G%$tm3i4pss3W+-tb+8F92D| zE1pQtb}@Eb_wwWW#}DZV3vIT3g&R#;`0rXXD@|)t512x3Tc4MWR5q0wHQY1?Awe$J zmewQw>fS9*f^Bek+D$&O^$szoyJj0#afPy7MSt&%-0hIwbwpeJy1qU41gNmTn&aWy zFL5KAtzA9^U8hn1SzZ1%+7h5Jb}dyo`@{O{5cX#mtbkdqKlaC@n|iKK*74TkZtvGn zIwDox*C*X1c&F?X9=*EKz1gb2oOGo64J&;c|LU+P|$M)g>(Yj=v>A$LO zMHtbNP2-}HsbaVIN6!sSzP?whw>(lUmeMp)@id|~E!t~jIE{JpCF;$%c#@2p=8tkS zA+oL|vWRso!)ajuZiqoCJ@yLPPtR$pG|k_=z_29QH*5te_Ql)nYt^#i3x+~$KgFqy z>+cKSj=Y2~k&=roj4D>R|+ju%eOYgX-rIIcEDq@8dY>#Sj{AbyAIfN*%}J=(waC5+hx9 zcj8(L<7MI_1*qQ(xK8YCvJ4Pt(2eLY%B;ncf0ARV!(m|AnQ-hRVbI_eY6cnMd*QSf=ICt7mNmT~<+N zd$g2rZ;khP$nexF$ACZ7Uw~H@_Mg0%8NNS3Fs}Ws;sXgwk-hV)q}V5LG@}Ur*TRYS z1OX5XAKJ5LSZ+IYCIeof;a6pk#f?OKbj}-Rdo8E0-fdzVyD(%c%=K)iS?2TZ)bQP4 z??KqBbIVyz8r-I2+sM$56h`IUruJLsjlIg5wdY$Yo|Mhx$IA*B*A+uvNg+{u@5Bi$`M`NCv#VAY$PsXc+=3;L|BOJ8Lf{!1%X)oEEum;!EqkmWd#XCdDmP|5%0p`pn1!c<{jwP593eSA9=p3_y2r$>uT(sCo*T%K|yXi1a*h*lWwBB{}5D`2uHmmxD&O{=2)na9;n4XgEkT%9R=K>#?wB{72(SZ;n{->AXXp$#=#q$NOmsmok7 zJyymKmeDzhjk3|R%{1h4_@MK>;G66?!ALKwiWi+~)?#z~X5+qnk z{YZ&n-nH<&q^tP4XkK_+!}!PNLKgyiYU1N86Af(VM1zzTpi?wl09x89CaHBfrE|4G zbY;{5|0)EtT98$xb38TKgV?ws9u_)%+s)Pg?QP`qiPFj=^v z=b!bq_-dSgvBPa@CH8!fr+Ag}SQAHmvq!=G^ ze#}Z=OUI7!O{WxvTHLvqSznZXa~RFWZKUm5xM~6^H)x=9FjfMDi8T~9u)v<5P`F{3 z8M?6ImwN=I2Mhg&d7^s63@+}Rz|rOdYQ<$5ai4IcQjL9H`*8!mY=o!ffRb%xiA~Bk z#)2es;C_-ub`0pZZ*!B2tW$)^M~ybrO&7Mh+jk_1-xt1LI{c-GySuka-i-J{q5stbs&elK{qm6KZXzly zktX2MKa%)gd2W*aCSbJ<0kwv$*M5;BhPfzsuT4u%sPAfx-0DF@J$O7xc`K#OXl|;+ zBWRFdFjf*rVU)W6vtKx#W= za9}AnUyg zE0^pou>W<%!=5h5%pap3h{EDX1J$k=2nV4LRvPmHv0-gm!Ek!Xi>A|FSnX$A4%^Ik zw?wS9RKHaC;tLtt8*5X2^o(@SWk!Z})7gl8Tz+rh;k~UaC6|s;J7DJ=!Ya1{hocI- zV=`Y-EX|~|Q=X-d{-9o6&CnnFzIEWxL30=|6qnf>=5~U936Lr^=e?zFGn9hS)E-QM zlu(5yBdeT@fiI1&EAxxY1ru{uz3(){=qIAsHq*8hFm+HPY4s+j-BCSi>Jcz5y(YQy- zP0QLm#DR2z*V@6=DC%{B3%)LmM*mhV|7WODP0&Q3fxQni&4g|r+N=*6hOJxY63%{w z#oF=m$Snmo-R3FR^zk`hZvqct8s0x6(I54_)I9=M5?f|9R>_r5KhhlPC%-6g?s1-UBT@Hrf z=RGV$`d--+sIJ~DPBbyMK z*$U%5zy(y(4?v~zhUq;T_g;nsc;Sjh3tMb6_c6~zkcjq4w>XAOOO`az)u|P@u`cCS zJEEVdK}S6ovAZYQk<3(y=fx?H^;&1b#Cx*@kvY5H-EA#yYKNencS|Ua=S??hI%OjI z>K+pv+9ZM*Ny_&~&0IS+=3bRVC9%D9;|fSoKXYml(-7T=Ym*;3-3oUD5o$fo-2%!y zVKg4{sd#xDpuZY>&0HhB2t_IhTrTzB5CU_X9@+@wB+qlaXhxN0WiNP`Tx(SAj5JV! z3ikaQd@-If>NooU2#0an7HoA@#4h;Fcu74VA5DuU(869ctk3U3dc|nXm%#Nd{M|dN zlm|P>?-{xpsZPMk#$Zc}*CYPKsrszhshth-qXFE4YsaKIJCv7sJi=~2?K`dHahhgL z)v3-NTl0~s{L4i}cbP#1eW%e6wsQg!Cwv4lW&0HdV; zNgk(0%}(0nimjcTXRm7fAA@}-(JpFq`x4Vf1cr%^n4AzxXj9@Ha6Fk@5#l!KLJfO( zAfro&%yL%|%9GU)E-nB_Ik&?bIFAFGJTN3ZrNiKXCEZ^7=G~*^?$3jk|B?--v|`r2_qOtS1ve%1 zR_9i%_km28qj0I`!F#kElyt5M_uly`*r(=lD=cnDCHClEso=GZSGh1t6pc%*vMkI3 zzR^z3Ps}kfuR#3-ypX%v37#6i^j3X)f~ek|>r&Jr>Vhu^>?2-lQFIU~)C8?`j+wp0utwUxcca-^7% zQMc`)aL-PJ7NWq5$svK#s|JIin?)4KB1CeixriU zY2Z1gIE5#LqimdF6qkfKOZlVr!B!uo&fb%>SaWaN?0g)idyXLYvz7dmU}kK-hj%%T zH2ave0od`?i*xOkc}>CB6RV1?mdavf6MiJVKm#r}CBjRD#fsMLUvFmS=4Vi{)45Y+ z1jCyvZOXqMU0w(^nr6ZZ`qdQ30^P?>OZ#E@m4`ri`79B)q!=7}-Ii^(=C{+y{$QgI z@!^7)ME2zKuZDW1ZlqX`Oixj6_(-Y0KzD3eChmUs?z<)hb+ypL1tk;ew&OGFOO|76 zB%3a98s?0Ki^HZ#Z#+C(^|j|+vTebY$=fZ5{X1eyV{(hDR>l>wi!C5k|x(}-$Ul|r%k%$FwH4(ck%s7ky@s* zysd_;;@(czOv6Z^K{uI_n()VdAK#NX7WJCf?tc7tA9#o;uWvk2d1J`M1|pwzqSUG* z0OdjTVrhR$$I6FK_izI$T{(@5I9czzCGz6cbXsy> zMS;{IaP@W*_*ZAzpSCnyoQT$g3*1xo1M;DnpGSl!8Riwfp9JOblVMXg$NbV4o^+Kf zp@fSsryr@f*|$k=j1`UfsaLBVPrSs;(J;=M`t}^1tDlZa=Tb1MB1CoOFG(*O9lA<< zyb>XKKcOrMC`6W(o7=o8$m0!+bj}p4Hq=4JB}r8j_FY#@I6xN{Vpf#edV?E@??0DI zl&qqc`xbFbDvY0N)Q`W87m%1{AX75axa}|67gL(z0@rgig?hL&otMutj7w8teJ7*+MYb+|DHI zA@lVt2)Pp!&r1r8iym=$uHWF&489M;3tC%NWqA|y^s)@|^6^YJJ`LH~?q57F`Vd&z zsIRbH_omqeX!wuC$-h|R!*ADLjL=dNV{k}s+KSc9CGDks(QnW7QLx@}AEt#~&HUax z^jGEd)+s7ZKGj~od(ge0kHz+8D0SCO^PO8Q;!5Pp1=V%ue}H+Ynk9~*?NfBb0pUvtv_WB&3)Cu zyy|kE`+e0uX#PL{i2w*LrfgLVZ(o`ileShdE56WcWbVaLEA3~?jSKGg?E%@Fc@Zk_ zZ`Wi!DbmHO0D|777w8}Ty8k1maB8+Hsc`}NfN;S+^D5D`bI1#)z<$|t8#DB|os8o; z_wq>li*W_9JZr$GRJ{sq0L59^C1+q5p+MVMOxMApHx>@jSttMUN76sk)ogg+74a)u^p#xxN&{lK38C@L&xg=@ z%E$EWx}>_KEx#B!xgi?nz{8UlH%=Nt?11-b#g8-l`)9`fTY_@kj%e zFIbRD;dn<{c3G$jeM~R3wopx-n?4o4YT)o{JSCe&Ke~()iycby%oo2erG!W&9_BvgD-iQ$AS>N)xFl z(J;-{LXs95K&3dmRn897DOd=$fI1lT2>Pzi#|ZqWWO>ZxA@pM=6X&Ks(}SM8t#*El z5$~vpf&rzIaB;uQj4DFxCco_~@AL=Noc)H#{VgIyn*Vnxcu8TS`fL&0e*1$?sBiDa zna=s-(@LgLT|qG1oYHMwHj`-cD9enp*cD{et}?V#KH1DSOwF5{$Cj8Mz0A&6hY6(H z8B=%Ysmgg<+~{>MBgvs*ve0&@d0A~5V*HT4v&T&Wpw(Un=m7Gp2s{TZIy`djO&mV9 zlOq)!CfnIguzw>NR8=>&Q;>HLk{qz-dDlU=lI4-WChvS{&>?p#DK2Or$baKQK(4*f z2rP`=9ke8Siw-o6{{vv^h7@UQta8|l>v#{-^2>*6PD3Ct7!FPAARtnW!>{_CCdxbd zP{p2hd^;JvFp_$(q!d>J8X{+0-#7wuyKwa29?dAG@EURj_FnJROo-VIlR{XU##1YuWl{@X)Y^9b5^l5AMT zRkrXCq~m*kDf50|=B~2W&ojTzh3^@kc7*p*v@_sb+r*z7b);xqTc!SNwuHUhe3sPA z}9*k0P&NmM6Qs3DcndE3qw0-}w&lJR$F>?uPc0SMI$kx})@+5x1THA@Cx+*}MX#*y8)QgpkZ-K~#`nu3}p^gx(x@=wd zYv?8)!db*+en-75Aj`ug-XaD0rR9Mb6wZ^}yF|H)FxNr(+C1G%CA7P!j%iz()MYo6 z76)1O<|4}hrK<#TwLYws%Zv3(4S$M7iN5IoxUkgY%CJmopRPN@yWS$1nMEu0@zrl9 z3p2;m_zrDu9zD=lpXv{^tjiVwh$?#jH0+t^Ji33gg*1I-FAF~~8v3xiY`iZ0h1Q7z zD+Zi^D zC{gNOgE#1>SFY;V59C#6RT)kK4FEuxePlY`v31{vJxPJ6Vn41l zTYVNW>cp2&i!=ai#>Rw1!{KvI=gKWhh*+K=OxAckIQ6KfRLB z2)?~zvSzeJ$ut{*oZ=re1aWH$u_x}fJs}O*fZ5zYmXjA*(fw-6YyuT=-v=bpbZtWW zzXT1-z!q!bOhQllyeWDkA_MYyLEE-&lP2E@%MbtVLmnxNIbp9Uu`w7RBTg9~sk)ft zGw`5M-xzhK2blT3%7&ZMJ3Gqy^s32^Zo07K<6&uX168yk8<9A=MtpIbbkY3Fte0 z?&^sl`goUCVAhI%X>84w@4SpgtU^{$ED`*W-v_2+Ln$?T810}?Jzy>f^xjQ(Ky2ZF zZJ^RJrSu2!9vQodMR}7Gn!C4gQU3fEb}_3auQwp>n7mq-W|) zOC)^^@R!pRX{m__iz?y^x9|Pu&x17px9GHF;emqu{pYe)7*sa?weg#;&x#ZT>{=ZLz$;tmK3zi;e~TEg)9olQvZImd(9+u@4Rdu8{Wq%kXj%B$cC%ZLU4%oF zF9c4vdUM(v@PM2-Sr-lvBet2|$z~uu@1oeS)04|jz>X<4!dtJ-tlwEkr5t(Sbz8Cb zUq~0m1KJP`NhdWNb;P=fGcMp%zX=3nUMBYh`K z?#?5M0$@k}jr;;@a`>udP4q-9>W`HPNC3^kwgO56l_;+@q5zGt%^W@dVnO*wt? zDA(vRqfjkPrHj&*oc;)tCmO=5bnD?(qf6)5_x(}m#ZVuwT^v>ImNT377CLJ~b*ys| zNx4`_!S!T195|gHQmoWtg!c>ioQ)AUhUzu9{5DH)<5YARsNHkXyAIKxDa|wyU-paA@D|-zzZUcHkO` zLWnL3V7T1AxgiU>3o5EM*gH0R+SOcNlVm7S2@~N>YdsFtu*}}U2kZ(W0X(Ol=Ne&n zpcEXv?UZ^@9p>Bx;#3Tn>dBxmxJUhtp^WLur!-^qxY1_$yAJDrgJXp1E0MUx@qsCllwPI2TtTeXgPlw+*aN`W?c;2~Vzvt*GfJ4- z_g|eDqEBLhQAZrYNRST08e=l=X+HAw=%KgW@9jGqlWRX2o@pV?JgpH-W+F~;4QC{c ztO$Zhl#X#v7&Zd>z9QTtkW0ZicNuBwc(mOGhefH_fNGe|U~%maODaPL4Z8zO$o(y) zxscFqw&U8T5bEK`+jIMY|I!rdsb{qeqwFI7JR(4Q;#aYi!!xl$c;?AVjlDgiYo1QL zZr*Lvw5f~kb{aY+jNA^=)Hn@N!n(@l!`BDQS{HN)Q8r)j`$joP^m#dV3>kBmo74a> z7-%AfMfnynNVIGmqO~Sxz`@7N&%Vs>`U;gF>Sz!5&>?gODSY|$TaXs2mgH|%g@gl$ zDUuY7G;LlbwNH?HSOliwg1T?Z!kGR?i))8BrNa>Mg@*`PejdKG|dQ_Y68%zxNBx zRhQXKueo0dk)L@XUg~f25>nu4l5M~PAIMw9hVXgkYtR)^pf0WT2(#4e6RTx;Q46nBnc$zrjSW>x zu78(4p|GCennK#)Z4xGy{1gDWqD|>loDSN^JbTOY!Lmr=nthZ;{)# z+5>t@R(+)?UvD)fSNEXWvEU0`bC;n2DK4u0}9nLWAhuR-F2-0*) z%z?53fN6w-yLla6Y-2KFs;kpwIRf)U8`XM+r(rlOz@Qd;u|-xuPI^^UPcF~uNW1Hb z@>UO6a*v1riHVRjJlbl%dkKqK*eRb-9qu#V*wrQMROhts>hjAuMtBaNH8eHnR@udT z66A(``Q`O#6ZG^2*H~}@VQcCVjpDXN;aB9Y%Rnyls;s_y$p0@D8xSlG!J1*8V^g9M z-C-m?TV9zah;$>{0+2k`xvFje@Yz_w`9jRPU$6XEm1Bjm|*8s z)jc<1RWV{#DVw3jWh#N)@LMNEaUslSB`B1L!s0aOb6U8}e%weF7H%WhHcK<+L9pd= zkf(92$vOiKX!U%(W1B@LCmBH+4{MZNGy~ZQL8KtC!<{weqlT2ni)tGqy%3{Qk$y)v z`>_7TH;Y0cN_Got=y4e6{hPY%q;3dSR-;=ytKvceb=1IaKzWHnszB2255t&AWkjyaYR&7s|x*@Orf_3^Z8xhex+%!6EJJ~ ziqicGr9+@$b@|FXpwzs%VdTe_NCbOrqkg8ekHAsDZe=t(rN)(8#89=V^P2(?TWxq# zBrj+M`=h+*{gne5`N|5uD77t$O}9@Ua2@G1=AKq;tCdVAca(mqTAVL6hCN3S?#zL# zP;KPfnzdfb{#=w!ikDg4@*Nu_ckSiUJ(}xfyDW|eTj{Igs?_vL(9A3HVEg@pMB>w4 zX_)4Cn#!O=Fs<_&BmS|WXOXf|B?VyLKBH@+$;+VOw5QEvg zDX%N_yftwELScNBHPXE3jZw@G`~5YdpQ5!2TI&Cq5IZEw9A$*c&{g4)pCNs#-_k{U zs_x7)KV$-@=wy$@EFHkcVMG1`<~HV%prL1~T7L&Yk1-bl5B)A>icb#wi;FHI^|gWE;fW>L%alnl47Hm(PCl$`A^-$eOAA{s`Iw!a{x`gp9luoOHkaM5ky3l zzrq#ko1>Ib_ZU9Ri?4FyaHr(6%Vb*MiCCdDN!=H^SzGn!QLFu5LCnczqX${fLf-l> zjo&kqKPtaZ+874%Rrx$!j`^wc9F^IYQ&`0*PE`}_T^QGYuwa;a>Od2!O08(q`6pa0 z`|-D15*6#gI(6ui9>~&eI_`m9gS6{%YyDNthP#ZP0Np$5Buhg99bJYJ^L_&$IzV|T zl=wKT&}F1>#pISh`1F%&7jTJ$lV4~pwZc8s6Cv;I>@XpAIw(Tl0;qH3oob8rQm9MA z+E8~)!0`k&rVI{n7@>Tewpu}Q2KmS+9Vu+A;pd~94NJ`1_QAEhQy>_bO6RasXvJp~@RVYxP zomAf4=mj~amSx$w5FN0c94=*s=}8*g%2S%Dl_lS*6JzXa#yVhT)Yu?m3vy`zy8a;O z(l}Rl2#%ZgoFK#d%ucq`V*^aGHO|bGj5qI+fS-h6e4B%WkQoBmVLqT&U7aCUxQ0@h zT*jpIVb!D#m(FGj_=ajmZPthm!Q>0#q3h-Qdj`goR4*Y~~`ya=8GuWvm zP4q`;CWmiZ`FAvclQrU7buLcP3yC4H^>(RYG;P`ff{t1X4X(X_KRhOG4@5=<1ZPEK z=V7{O-3Z!L2!gBOuKIc`4*2xK6V6;gSkH?uMCbQ zH`hZkINcq{oRx{Ih=qtXJphKTRhjhD-@CJu<*qeFyMD=X2(F;=_Sk3Pm_G4iCMZoU z@D8m&!4tnz_waBapEVjWRah)Ja7*qC>5tsbw*(Z8S(hgmrCM1*7{CY?WrX2?xXA4F zEn;Sm*K0zAg8#W{B+G-SDV4_%>v@*OMSud8*l3qoRcGj_Il{Qzkjc{6Qf?!F#d0kTaNR0~SyH7W z0{1KLG0e`}jbEkM?rfWDXXLI}#Q(7W>?TZ>cpCMZ7T3HsBoU$}lO6ZFeXrWqSWRxm zT`wau$N1Lac1?%bt=|FCA&+D1LQ2?51PLdH!JB>iRl(Tnj_ScD24AdW8!v;d<9s_s zj_mOhG=D)Kxlzm?S5{l|_r2-JMApu45+iTb{F@TkppcLDz2CWH!IH_IO3x_=|1Jhw zo{@E~mON!aW92?uZca8SjgBn?r*!1hh*n!N1;vp<1StJ!`DVL}S2K_l z%jax$!s*TedDV~AT{>W=ggjEytgh=~Hp@h|Hlp6!M2uxhZewyFEq2Puj7&o*gPo=m z1(oe?vyw%~b?@4C_wET*mUG^01zD|FF`P05ojS}Cgi?*yUMJ|R+IvKOmah7D+g|0u zgoqPQgH!0je&7PWAy0;L@!Zv}uknA{6y7N)`GP*nHAil^utX?0dB_n0vJM8i4mUBB zh-r!|F^%LbnuIFXi0Xc`4gCm1Vhs39RYtXq;>D7{^(KU;dX|%9i~Y5c*;eR4of`my zB8adTRUuE?xLxWMr&B-rLsxuwfKs}l@~uPgkim21O2>5%3>!_XbhX9TW*bxD9d6)& z!=dbF#h%yvTf8$`m4y9j@WKov(0%t5iN#n543&lWAN$(0k-%I|Dv62 zuH9~zXSy^=w%^clj_;b%8}HXqnI{Jh7Q;Od&u@yWg0fW$J6RSL3d!}0JENu*;2*_> zeHkX34Ob_k?lHuSF|Yza>a&xkK?{8pU##0$3I$w$hUmx#{dZC2bmi=?=-ws=ez_CK z(xK*A@|P)YwM@5n)~g!mtwpsKNpIu90k+`KY%$N&*A;}bX`c>d3AEL*PXqZg>8t{V zEf4o#kGwpS%qkqhFz-*1u3`ZPIOBC(=s`N<9saAj^8VT_%u=DNEa! z)WsQ+a2R;0>%{lt_ZR|i@n?`33U*%^*+1@etRxW}G-0tQ5cx?71>+@|wahFq(x&F1 z(sPLPT-rJd%|W#f^-zMrZAKQbFx$?GUQIKrAQ!!g6R>|71O)vgoh3Ixfvv-QBN-t2 zxP0(G<;Y$>7Luc^bDI5=Zy@?IKGgRrAiv`H9I3ey+z6Id?!6b7nj=@D=7vw1qBzLCC3B#H-~&@xzBy>@w#6p=jpWL6`EsYgkKIJgu)cYeCjm*ue{hm-qkQo+sT#qbZYnN zqDT&4AW*|gnVj7ns6;cc_ccpu&C-aGvde!kxzjndJKCo7|NX6Un^JcZ`<0N*^Ujzf z0_t=%D{ZDvbrLur($R?88#x|9?fl=-g$#iO{(St^DXK9bQcc+D?xQ>JZrvE*TUCQ~ zX2>ufh7>k}pw=-(v7bD0b543?pNpG>N!_*psq@zmb_NwYgmE(;ng4xrm4Rp(66KHW zH^RtHj@)}&Ys6e8M9)@R*? z1>PGHz17p*4IBupT>;nQ%Q?AsK-DHV=*Ju{F^}l-JGHG@6`R_E&Z?)i`qla zPlt*=PFAaaoN^YO_$Jn2ZcVYfRTD>K%j%2F`CiGSgTHk+rqMt;fkSofU#W}TDJCOS z_@ok3AXD=uf{+i`b+_H6U6?aKb;g*pr$mpA$4Y5kY) zjP*F{dMlF6`!CDB)<)L091o-$y@_U7fjj1eIUR``BHFmGi(2~dviUZaL**CQKoWO73##S#^$cJG+ksa<}okKN*=q8J@1(2xB2t(&E}aO z_IUP9=iislf$rn%XZ>nl)#6cscO1RJwO+?^lmEMW+oW+%x5%vj*}RzSiQ4}xPGjxh z|EtLY+*HL=nauUxq7QzMQb&KQ?Wf*20_%X1UWrCH&Hk%8V*lfRv@WE6H$IT{zh9AN z2~tO4n=~i)LzE`}XTQ`*<4|cy6M-k;5>AKIPn_x~>&ZX=ZBXPBf8g!NI+jhadF&az zizeDlu=hUVR92lAt-IPxSlDw?f}!a{y;jDK!eWJZa1X$Q8ajS>$LM{?@=hBN|Bn|2 zqSfsKI&EV7NBX(?YQr;X+SR3+FvN>W$M4wqowlOBohNFnD?_H7zW~kYWC^)PxM%ts zMS>m&J5M@gO)SU1E}3p$vArm=Ja7S`1emw@FdzS`ZrNm`y}CfAm)@~9x#ukedGa^G zgEfpI$*k=}Af9=?uM*zSf81W6uPpPn-XZU&CNlZT1;^=Ip@@dYXp<^k=2@z$SK6UT zCc1a=EeKA3F@_YkaX5JK`2oZ03rm^DTG}M??($zv-twKu7nZHtnVi=E?q@jwb0g(n z?g-yM{=t-?xY@TCGu3QPu6U zyN);QACM3JMArV@5NjtnGM4i+t7;-Ik7@rn*9W%J$_@9}PoIyEa%s1G>%DVDW70~C z>sZ=4OGChVVt;zPJP>fYNNULt$-XHK3`qwsa=Fca{1Zu92|>CA*>hk5q3i0?<&?U{~F@Y1FDx`kVl=YPKc^R3p%icQ;3XX_*5&txOaGVo9t@4j0nCJI2CdiVY=h>LqeYRWQXOTd$Pc9U~d39Iut#je!t~qr%7bb z%_7B?!#+tf*hmtBc9{0qtmcrL7AI)ANba*Kan zpHX}$PP!fT`bbY!pm*3>nmywJ%UbJc@sYq3l2FXsJ@foE&BC#Iy`{KX$cJ(`CQKKu z*+v%9G}|i>SrZ6@1Pq$m@DEE2Lq15!U`oE9i*o`5IEg}YlN0KN=q9D*1~O_d^mhLY zzrnubxo+ab@y#Wx=RvZ+`ghsmYdUAnn42uNo&I+F_ZsQrT<7n86>sZL16`)1l(jAu z=!G`qg|~8ls_%xZmfp2)nzM(ip4z&8N=(?7jq=Z)Zc4R)W=2zO&$Fx7lnkA=sL~mM zQke6C5y`+i2M&A6sR4Zbp}*esd$BVxD-#9!7~W4Hz?j&1OE2h68vR}D%>vF(U9}O) z_}6pMGs1^+5M7;JGc#X?jt~3${;0MVTN;%sn6c9xgrNz}Z(6Dsf{h z)-my}Psqr&cpEnV*bpg7{nZ~U z&|^fq9qvT68omE(ojlx`=+_zGB*b6I&UQ0-;h*)^?2sqdjgv}@bgY)DB$dluD{*HX zqAN{e562RcPRFgxdzMpE$W>*Dt52`PxcjWWxWh&6?FFnk-#+$HSsX2syIOkYC;v85D9 z2*?oNJ}L4FZB?!WD8gKOI@B!tv4X1pZ2^rqkA3z{&9su_0FFf-vG99N$%GPuS3qX# zBbjll7%2ab2M+yAwaL$u7}XH}TLTXm7MfvU36?YQk<|4Y`xA2{6DR))m1>GtF2QtP zT5T|Bxnz+g28$p2ZV<@20=$^SZu3{xXy2&I4)K|oGg1#4X*9{Y5S+B!XNHv3_Ca70 z$3+(}#+1K1+?V9!F^fc1BV-@ad)`U0(G4h(2-S>nciXAAG2ZrD0l!?zJxS@m8lYvo z-{L_E6PNod2S91)SHkF=KiQDz6+=^g&+~}-p&u%*w{P={+7p))-?x7z9t;OYeUKO0 z8HMif^PT6N+`x2ma=C|UOd8&bGc~>HjnAk?)QhC4_5uBQ$zrphd(|lMnI&OU&3^^J(7+I1Sv59h(zTCbq!Kt5@A?EIBe^sJ6 z3odNWDAmb|B9?C|5rG`@5g%3&r+%u|5|6<-LE(=BN|eGJtGO2r@~vPlIulm&ME5OZ zpetMFMD?|#8|!t(^mD9!4(3JBZ|1=ZHR=i^gy-ZPaVlTwSX)*-nBkp#YFOIK`Q5xz zt#~t=qj}JYD(?-7bW320gOlaC;|hpz6Vh*yuHc~09C6A`xto~|yG?tEFtkC^tMQ$o zr~Sr|u8s;JM`C*-qKjE`yRj*`SHQk!&3{j(e+bKrQe{x2gE&|^VC>VjY)!_$-5RSI zV6BmBZHcv9E0mS^A?Z^zqkeFe#(Jx_v(dlXpMS?m#i73!Y-eSHt)44*P1K%pj~Ax# z&=HQHY*sdbU73At&50dj_n5b`4iif`!1^ffnk7rUtsdk^fJUH^Bq#f{vD?Z*exli2 zr8@s_IvE*(K<1iIx+B-~?}i2>2%%WNR0~J+D)B3<0C2by>qx*Z_gpIR8qGcNh zfjp@7uBYR za*63k8m1%L1B%Jt>1DZ&Rg>WnYmGJ#6OpV+zsfS#!OXC8I}lbKm+mMiB~!loKvEAC z4D=P#qjbSO7xU8h94U93cm!y@b!`UOrlivSQ4308P?`&{tBEc2iW%>i&!>#UAErrt zIBmVaFt&2-`aI{a3$t&`NYkYq2;E&#=f^p63WB!7;WhXvajo0R*kN0xH+BAd&%^VJ z!jgi8R#n@81&K3j{__ee!wZfEAm5CL$K+dkP+U=}&_*48zoXB;^en5TGTO$v%`*T4(eN&vV`(wmhZz96#^ZnOn`bW!3E(NA+Z5P)Wu7B<$0uUTxipXe(?A~110s|O0-Mq$*B>a z_W{?o_55w>7JEF{-dL|yK4C-~o}5~Tq#XHVtnJ_C7NAAf@)QR}Ek`d2NBsCbeq?kF zchkI_njH5l{)XnTLTE{krAP!{$)V`5S6+(`b-1Tb>r70Hb1Rp-;%fTC`uvo1Sh4wRzvjcl&aczQ?cLVQ5qm=h$h*eDs@NtGHSl8J{wE z>;m(ec`%y-NqG#mA&CIGL0Q_O%!p~)=0ks_wxHyZ1>KKZW&qH(%)}=XxCDKNx!4R* zP7%?%z-z)wZe&ZmjvEj{_r)Q=n?bln;}HG9xi3rX>r%_NpDT9E1Y$0%Y^Kfu^iJ}! z5kNYHNYxobJwv1<6J!nitC(#Z`cPTzaDSAh0RBV$#|7mg>)VUZR>db@9R}vnr4$@{ zn5O4>2|Wg$@!QaJ8nP%pIr`lo^<+fDg=*sQY|Z}5Bf7AnGD^22fSOjITHFu1P6wu9 zc7;z;P8DMJF2VFZ@KyC(J?so~oQ5bC;*8Te5w8;$ia`{3+K=ls`~g}?E>W0GdWli6 zUTf!$V4s6PYjj`mljR101@7*AQVegIWcatrxdqPvxG10X3Hw;YRL1)D6PFjG6{#J( zcAmV}{9oCfELRqWInEweOH6ju*E}7I#)t56^6E1&OCgpbcizIUEb>2B!q$^#L^Hw7 zT>Dj(S&YZ?(Jt`Do7j>-NxZC$ISI1+q0fAiKKc~_&Qp^i$a>vxNAafAJi(B(He`8e ziz+K`Q%|mnx7Us?K{9r_uYW$#Y%c%Oe+kp=_{TWyN}J#G)B_AIJ#b|wFbQDkhErZ+ zRETzGmVIWgF)yk2!Tu`!h{|F=;xLj^PLk8) z8r_@+bXUo@FkaH3KYqEj5u#}rdbPXz>!ucR{ADpwp^C!HxQ#x3jO*yhGm~3|2cfxwe-s4K(I2 z$bVxaDlW!doHO=32&?$lW@$sQ#RsNdYwxJ(G0`_8sw0hRZu>i>_Ne2W!fVkAYz~kn zjm|G#wA)P)gIHGj6;1%|ou37zV5(k+zX^960Xeo(&nc#A;SFJic$0#s8&fF)Gd8xk z=e$pLG%T27R;GV9^DR`m>-<<}x-%<=obq;!sv?02WllYPLhXL)f_?_Xq>}M*X}$$P zkfdl8#!ng*;CU@(6Y&yx(L~y`fj*=s$Uz~i*m}SV;FIj{hGW&m$2Q{hgP!Krm*6g^ zp~S?`|Azkd+9Gt;$-04j2i+fT2bfJaB@e;9Fi4YC2wIx*{?o4NLh?kAciwgp2+9|w z+F-@L-|SVH*7}D3qOP=7vA6MSs>Nl@AVCL%+#U6g+llFAYaG<~l*#y;p5%8OTMB9? z4;D!e5}_|_C3!_HIz*tT-h;XZk7ysQt>me?agwKrg9l>F!d;m4e%52`XMTq zM}9YM0d*+@qV;Q6Kl11Uu3bc>jMGCJo2%3Y^Dd$$3UPN~HW#fj2gmmV2L@JxPTCfi zhrz$D@1v`q&87`v_Xg;al=D?jDb!WyETQ#xgWk$fC3G#PF^($-ttUkKW-_1_3x&PFb zS!he>p{cAlWgor&Yi3a2Q`>Ba>&P1S+UAp#l2Sh*1ma`j(P|4865kd3SQw%tubI#{ zR$}~pdE3sD6cHUUHTlxeUMafcv;KkbQ1QB6sabO zn-Soi=;WcEnA`pDZnfOK1jp}up+pi9AfDk!vb$O}%VR^8ucNh&OVhb~ItH-!Ifk6sI2- zVBdN1HDFe=m6WbXfmv*`EfaCV=M7F2m9d^D8|D79cVQtKN#fbbd+i6D&#QlLznsfl zZ?en!`_{72y(k2ON4JM)@&wiA<7hTvmJMvL{VhDMFx&oG-xbHIQVLz?2P6*Xo@4^O zv)TniDr3Ri=0|)u7(K^=#FNzsq#2D5dJea{80Bx@6hHrJ;Ypb^hKX;Tpgq){)+nG2 zd-=Q(+LdNi<&17(=$$+60J=+m{iWROBd*@O-f}$=l>o%krD}~~P8U6pzcn&G5+9){ zR}73>sTV>&TOn67)$tEE?Up4jqOQwrFySaDZOw~%eKA^=zt*pvhu%Mr3yT{8A z+dAkx!@O)XE8m?nqU+FJS{BR%oB_~!iG`Ylj}x*SH*ilG8@?w7SfkFyVENB;>Kn}F zp8;Dl_+q{V<;wfj_n|zWJ4;0ujjxjmx@tf}Z3ytCVaui7+nsC2g2**MOxth+3?EuO z;gN(H=@@w$xa1lQ9W}wyJfrlna1nXFV%c&~<;9gDf%-e>gu=b4{&a5u1{sw^`RB$m z`B2sC?d&e=&G%Ai5xTwA9`H(Sm+!9Ld?PI*O!_q1>+a?I;V&NJdsIj4o=kVbQ=E$? zf|FL;prg{-YA#Nrs%Ar5Z+6?%`V3v9`_ytvHAR%&*Hsmtw%xzJz_N~TUX3ALn*RFm za8Q*`HG!&lHf1=<4>ZnTWnaO+`A;7dkkSQkL;;O+2-Db&e%}FopBt*~IzHJN>tEM; zkPdzv5=kk1P0|^j*~IG|nVE%BjgIFp^eTtm=_OnkI_J|-bBVS=%D?;B>ub@hgX!Gon?^%152mY%h%-N6 ztlpCC=lk3ZHt8Wd=J{l!-v=`J_OX-q^G+OuJ@QFif0q|i{fq#=)k!%UoBV_1HXadLpGGx4FhfnU*1^;YJUND{Qcwhvz1$J!s z-RZ|5C+jtz)IUaV73XpW00#Tjz9&kyFO120e{kNoy;=7_bEhGNzLMxiXu8x~!^1nw zTZRsd{TtddC1L6>r`I+Nj*uunzi{Sa$UOnX;_?I;-$3>lRI>E8s8M_g&#Wj`cC3goyOK} zMNk6#6ZA;cabS`WcD<|27>h0mxKm0uoGIV@+}hzh;dMw9+}KmCVX5JIc^=YJTRWHg z>($E85Nj?#mCom#u~Bt4YRtX&PXfg-!0}&=v!`)65~G`Mgspx6cAMA2m0+M7tZtG# zLZNY@$s=y5%$P);xHScwcoh}U3(V5Js-PQ^kLi5M^MVw96H9+kSb;<+z@<+x$UC=2tF;UM)H3#;XNf!L+DUfEG`=MVuJGeFk%aF>OXY-SS|i z3>T?xi#z?G*T@FEpLoyuHZw?V*QrUa@O#_@HMdoC`JBIM(wQ{G6){2HxU^iAjw$qf zRpkHG#i9;@GbU`0>$ep=So(pKua=@i&CtzdK%B-EiF~^)dko%apEq4u?hVS_ZZ#8P zRYX+}A(0eiQ?cAT$MHiSReaMHs>!RF4xH=urHjr25xc!K=MP%8{2!K;xyxhvf{Xwj z0dAl&Xj~yt>t>u3hr43kId0IH6PlpCqn}r|Z=Yx8%ldFv1CAfrJv&=r)l}d%?&A4x zf&=5KiaYW3ro8TvTf!zW_zz}HfAqE$Y0fP+z)BR7m8qVsUOCtNm(>LXmVW(ju&hL&f&WyKN>1Z+!j;u_^(BMqv!+Nk;tDkdpcaG@E1mhBBbu2IXjTD~`L2#Jc zQpxE%IYult`o`jI0n}|V)V(&@H%tGZD<4kFTh5$B7m_!S3VtBt%H3axbi=y#zVmzS zO-yc04h}JtqHR%Q2(s)|2Cdr@C$daQF zH0*BN<7uy)G0X2gqB0;(AAARM5_ICVqFgyePM`9-a~k2tRv5i>TjFpxS4xv@Mq~-| zA-05q#EubgB?hMIarsBEUp?(#hwJ&IFx?lSxR(+1k~iKx_^o}%2%Txg&k(T@{mF!Q zDN4u9;l*HjhyG9KE9_Ov0{AZY{${g{i`Af2`ivRxGEQK4Q}1JV>fonLb#puArR+(6 zTeL<5YYahn<%#8c)aN-cr!02kHb(VF3(!3aoCzV%0A7U-|7;HD(a=X?cpa+!ZZ+T%O50*KPe5Md}8G?(@pXi<0{V3)X7h6?c+JpHT<I-K4?`GHO=rZvP}x=2-}GCiv=kt{;{7)lonE`*dbLt}s37r+ zCrEYO4C`mPT~JIz`A!(CB`s$Z;sR?ki<|t08;2(qHpfc`rhbD9AQo^=ELX8%)2-B&a{Px*x^)+g4=n4gb!E_R&Rkg}21Ix+n|` zzsjt5%&WocC-A4de$n5JCQld^5!-bD=yM!ap1u=p&&SGNGhM!Zp~%-d)B7I^g?cj7 z!2@mHlEFi5&p_Hb377dU8zDx8wQUme(-36VpBKx)Q0z~COZ=MZ4nv{)-K)cihV>&c zOed}I1;=cou{`FuEM~#wi3Am<`ZVZ{;%54@c0JkhCklkG`|9HeAX!u*NWb2sxki#s zO2s;^yT?JoytC$2MiKjY{#CfbVc+}Lasc6Z?`rZCw|7o%lELs*9#G3C1Y*Ren+?9h-hygL>fSwkbxmjDLXY^K;}aia9!F<_;dufJ`4}kv zE2FH8NK?NvI`VZz{S}1y?iw#$lU?P9surfLexy;%N>R1gM1W3qOG@;98mAnF z{qoGE@u5q}n+dsaU5U{dkr=>pXu?$*U<3cYlv_?USH_gDu(J_l`|cm${2N+H2=* zx-P0c#XVK3xWr%i`#|D$`x=$9e7R$xd0W$H#fS>{RMzeP>YcY-^;}zEWY6(C1g>_6 z_QZ#9I&m}uL13W|7V-uwBzd=|0dWG!T(cYYtyZl#(TZ!xG9djbFIdk&za)}uxMPQ~ zNeg#OP86j%C?NGJYRr7GN;+!dl2mBHU+3lKBTYCJyVvF%>8x)#O@^eWV^;eq`S4E& z9Bh^>@w6;~`mzznCPmMGci4O()REVm#8W2tLws5(uEYp2e7E~Y*&9{z8ysXTae=7% z&d@D_Jra9ow)1^;eG?^Jlm>(YaV}Tcj}e|#jP&h9Zoo9vTnGcP)2GzC-!fw<9|DDC zG72C1v{yvH5oDDT#ij|JqB&@9(QqqCU#Sr#A?Fz~N{4#RuwliiV0J)b#7GrUvl@0; z-@`Xg80C41-}k}{yYTLZUh`fuJ1Wg+hO2!xFg*4s4-z}GCdUVQe2SSh>Kb)vHx6YcI4lw;f*!}w&#ge)tJcCD@ckMS z70*ykgA&>3RGgv1bfAZ0>rvdydcnP?OEnd?lMvM(Pi-<%O>ET8_&PS?aZj!$L$Ug9 z!^a((RzLRLcFu6q!;ov`2l~fuAXd!By`!-zqO#!3i!O^>&#&YbX>x!SedA)ojgxST zQ%6cwbD`tKDS#5&-Q_r-swYRb*Z}!w04QJJeS?8d!|U2{RG=l3luf5hJXi#>rK}d# zIlC182wlW%5zf+BzyF0u0|6qeuCNw%T`}ueRLPP%93@}e_yta#XbVMXJG5%3))2|4 zY4Upz29|H~E#hYH`A?qG+`-UN^!@HLnrB{uvcCe|Q=&5f<{X`DOA3=rdLtOSAq~9Iuktkq~4D1 zn2eyus$Jcapw3EZED)IKyrhkNq;=AQ&PvAY`K1=chq4U@9nT9Uyy8v|_vU@KC9`st z(B@kplQweU511jxtw@m5w3P3%gZ(qG%onN$&%QghH<+9afO`JyEo1J{#H0ga771=S zI+W}QD2vIC1ftG8-K~KUynaP6DP2ajf7&U!^&u*x#Hq$*%arNBd!A|hdwJBL8Pw@C zk;gP8T8*Z8y3j&c!ks1; zL+(qqGoe1G4#UqAsvdTfW-v4#k>$+>VkeX-b4wKn6b)V~>#<~*yKw)@ow_zno$&pU z5aVG`*LD@HUj?@cB$e-LeVz;EWh|@n+L>dJqoW~*y}|vfHvJEr_j>Wo#MbVD;Z#lY z-X;Bun&uz;%%;AU62Wg-=<1nWqQS#^qV@%gA?4^-TI0#7$EUfYyrtX%x_9*bjo=X* zLQa3`?L~MfX-0=v7E)I4f+s5fgzKWM_{12lbzgyagFen`h=laI3fFpoK`W?MBCYU9 zGOeqpxL_JJjEeoO)1vx)H+;lo(+g8*ORE00j{R>UjqlU@E9rX{TGg#On&hu^Y{`Ok61>pA6_~?Cg zdNHppURY3?9Yei^RlY0Ox}>ds(NhsEfHtB`p(zC(cTQ%acO7S|5%`t#Wvz~d-z!3; z*@Ej?M|M;uycW9~Ub27f0=!W8IINegMYDKt8@99|oVfq+505es$XDhGDu9*Z1u&c$ z+kGi-J^1u1`4cY|N^y9wDm{V9>Or+ii8ep8np`JVI1bf25eP7%%~yAteA9LzkYajO zt8|V&CszZ$)cE4rC@e77BO?{j1xz`L z3RLmj>%|4EGk!%P$ZJG!RV0uOcPTf3GAs>A62VfRs+)V}8pLe0qNgQ$#wG zVa&6*#lWTG>s;<}8kdu;RjQ`mI`ssRY$#b4+AjIQI9sP5rz<@%dCkGtgI4&zHAUNh77 z6~=1)679%Fuy1Hr`~2l% zunb1w?M)NQbb0@XPHaZm_Ky~pXLFZ53f3E*3Pn;cmiMm(&k~hmhQm!QDTTU`2Y-Vn z508v&n+gh-Lw+J}EyjE3g8Rb&YOZg0n~RiSy0V!EhCjNbb_WEHrylcSALIT#T;$oI=lWs`+brZ6;_2I5dxHr?ldPJBvOEz!Oo>8Db6vD z)X}ML;8_K+_1(9;Y`v(1xx}Ozw>+k=I#|OMC#1o~ssbMkMYjOy>xypFn*C6C!5h`| zTWJn^)`L>{lOEHTEV9i>fZcDOYp{h@yuSC%6SvG9KfADFMQrlAxG|(J1ajqw-jJ@| zTARm=h)2>Sec3WiBF+xeTLF@N(~mOe>b~7MspU)xJgKfvO!~q>(D~VQut&fCSfyCQ z)4r7|lL`|ZRQXLlA6I4^!T;PM2LP|GuBIR{d&P9=$~Or(S^Mnf=+EFZmAaxHpZ&3;zB zibyslG|iPFz)o#!w8(i*)1RDS7xAS)u$ZYgf5|=&j-ZRTZK{m3N-Aqzk)p$%)-C0U zDhZ1#ZAf{SVZ(1_s_PrqYooL-+8-@bW5az-(695r`?Ms}r89@&dPBeQ4emh>widpH z7|>J0UtTb{3dt(NuHh~J-`ODnc1&mV>px15fASC7bqSjoxB596$ne%}s#Eg*RlFO( zwa9H2bce66W}Q7*0~N4cpd|j+J!)r9wEGb1lAXddX#Y<6MP7C-5!XxRY2D8?$G8O; zbI|rk}~&ki2qXteK3iM3e!GHkOGtB|KLv*TbWXtSsDwY4U!^1 zb8hAmG&-?=R^*Lm@EaUa`n@Rqi%{}85O8U*H_$do%9GBQ^avCJlZu zLHe`NJywx>pV2Jcr!|#ps6=$Z)q|q~KD(u>oDuAGE*iA_RX^)izY5Wq$$Q&(rc+%) z(_MX@4=}B}ow|)=KTqK<^7D6j`uGJ}R}sQJ^z`@p^cQhGrY~A?Z!y=C3V>ic1=0PM z(wu%&R1a8yQoZxf_5esQQMnVHVH%{>)1&m$WpY%c4)-m7G~D+oAub$EN_@PhKWI7Y z_ipuF2N3jByS2eA&<)!x%!DhdZZ8xhH7KynG`LwRv#4Nyga17>uKYM6O&e?FxiaCQ;hsjC zKG~m^IpQ#X*fzNJ3y>oOqn+h^!#Dj!S^Cj9++* z$jO##Bjq(tT)e%`o4V}kv>HwSR@35;e%FNd$fmW)Gil<3<&2O3e3*a{SoC|$3|@zh zSwslm?}ewK9c;GHZa0-3nUJ8%s*=tC#}`VJx0+c+w8+VJVmgItco8*tE;h)@Vap+q zQEkjqYdov8Q*QW1YDF;o2r7tiuYq&Kt_rV1rfA91GE#Ip->`kb%VTR3#UBxwTerp= zcR$=ezUTUfs;Xw3nZZy>qJMlAznN-9>Bxsg=jxqhuk{Ib+_Dx#J-N8BoFkdG5a&9H zh*tiaOjgxoGRCMr9m@)wyqiCk*@N89gtpTU9OAdJfHOe#4(j z-%4YWGQFKmrir%iXePnz@-a1)J4vv4LS-D%(rxmeYW@X!Bi)WkmtKq7|JVksk0JVb zniVVooCv{|?(&^bN%4G??VYPBFp%qIMEpce0q568%`T;6frbSNb=VuO%`9K`=a^pW zczdrZ?$~l%ZgL9XS0=zvubXT3xW|)dNH_B9TSUegyU&2l1jg!4hJ{BVR_(5{miGs_< zzOu=guWt8rLwz`!ixuk~XI*1hw##-A8Y}Oj%HS||eQ_&{DIeFMjOmrdZAVKIy;;DG zsubv}SFc-VbC_udf6NeP+4j4*tG?n%kuj4_Ri@<)s>@?GO_wj4ybrLmQo>$R6|3aF zv))>+dx(iIKzIPp(n)!)zrhPpAKJBP#2h=q8d?97(d^olmZ2zlUq}h|u2Ek2Bd1IR zp0N*pckyR;z3|SL>woKAJ>Eip;;!#5Af=gC*BE9;cs>6mg|(UcUP*MUr!?{Xl^{=O z9Wgjj?vt&*RrdQ*663$FG!p_yzjm?>tR7>q4L#)t!G29O8;_K25O%p+Wvr})5zKV8 z^5p|S=7i4URvcH(TWHZ_a~v=ngWp4fnV-zx4pv%3p?-vZJ}#?-hu0b)C~1y67!v0P zh3|nj4_zehFVL?@QrkJ%F;LK#S&qSjda@rqah_(=pHdtev+Bc`w@vS{X1YL8a*rtS zTM3d(OQI+#bDduSIgJiE(M9R>OM!<3+a}$k#23~XfT7MO3ZLjqgV|YjhDU~_(s!&| zw_S6!H4oo+afgSys>9@8)cDV$m37XRyAi=!>u$Q!xcj4f zTu{aSoqIRyo=FERR0F*P+jg2W505Tm8wzk^5>Dl^HMrT7LK>iL5G{#WHEp{WMl!FV zg;-2*V2ABh1P>(4lAeD#G{oz~{@eX%us^3EYGG+bwayn7dSwciT2YY|m4IPGBaLlGDI87HM`b=5)UL7!> z^ER9HmO`oFpTzG({%iAG8ZUM6L@>tN6O@o=eHkxaW~y1Vq+9nHjk{(C$;!w-pU;Hm zcJ_RYrxxJ1s6mJAUrw*5{LS;#de(BO@wneKG|$_3dLa?rQx)Lc+lmSX94*<=PWIF%$?!HkeDerJbs zHmLF^%E0Ki{l=uVmB!>=unu_)W-QlRmnfxbp7$Kuv?2xTbIemmTT1<%@l6G%7}A0+ z7?tv2p9&dx-NjHS;pVRRpy8o+yIGLdZz$FT6ql9wb{eNF03Tz74S??hqSImfsya!V z5GEdHw6#KzzoNaRF7$Kg6YLp|t`d#Ah9NX{x6bBS;iGgGD}}nP;C2nF2kNuRmwj_{ zk{$BXw&5md`1Y5n%p%?&J^hF`HgM*ogeCD=kb+Opto)R@Q^}nj-_YNHAoGtspwEH! zo;(?ST4EV=pRL|c={@*B2VL+7n3Te6W}*JfaDClFO>;A)?*#m*m5F;c+;FaPFzxsq zRxBv-vQ3ype{gx&0BcJ~_2jJ43dJL2;g7$jc6~b9XMXdeXW=O;!E*2L39!1+FiO`& z?2T5n{S|!ulQ2J;dsr_V2OJvg9Io$M%LIh=8J7hw_H#SS`+ zD^R1ZcwZ;0pok}g;ibSU&=rc#{mG{BOd-7O1WEB|?ijSLwg^Y!UGMTzv7t7VKdDjpVo>!|SmGz#i z+MwslmWD~MjKs642uD|3$0_jDygfH+x+DfhTV^~fgj3@gwHMLRU(DY^h~RThPzv@^ zH*`k|0G%esMe0TMWbpQ2sYh3*lYQ*JXx;-^D0{e$?27N2vipD2Mx;Bmiw8~FhuF6Q)I(QPvsYiW zH>+06DI-OK$6bW~0=!lq`rw&~^FhxCk|dkgJ0=7_VZUr%nURSRQH>X+sNI~JOGid4 z6HlvklFAuBCwQY>=ayuQAA%VExE7dfgXKwK)KtSPWphp)@{$Id6aR6H74j>+YP@X z9=R9E8rdnVL>mc;#CKNuEm|xr0z{flnvM%8hrOWie64NsuzNwtznUMx;bCNEs&sW{ z;SxcIJgaEorIF^ZrN6UXaD6?BQO=|w$+nVy?O)(^Em?$3hAy}(`)9^_R&VLyP!|)# zpq<_?&%8VXNPCj*EH|35q$G1tAwdV%1H<1A4DWv9HFpI=MC}j3nR`Q^py_J$&EqTd z*HM)3Q)Di(K~*i0E1{zZ8{ROaf>g}hb>pi0bk;aY7FgS7I`=08P+_|yiRG6tbu{yp z#$G;T-bSQG=+s4&e>`rzgJ=wMRw10i5|6#tHf`ukH#i%Z&F^96{xPH|KB8qleKrqZl@Bbp?_`N9b( ze0sUHk;@3Qu3L_yyEP?l*6xpD{!o+nTN-aFQ| znFg$`sUlR#S{sNP-QC*EOw%mL6VM~GcLeYaX{L*LkDlK2SGYiaFkhZIn7wyw5Jyop zYn1uvuV4ap`E?mCI|{xKx8?46@}-yv<~yEM7Z`3PQ_McpF|Qd9-eB;?5!(0@Z!!|? znCWfO6(;(M5-2&Q<>p--=p+JVF<_H;Bk#Q$wU+PJFW-GX$sr6S?Xp*j`}id`;!QuD z|GF`w@MS9W{6mRmtbNgUCI^iw~kEoH&Gv|T;cO20k`dUk3g%_Q&FkCDehO1 zI_Ra)gZK#_#gL};akQq6Nm2NB-1L_|w43+e1O4qB9C;eYDZ>Ss#T^OGdcpf7=(TW= z!opGmj+3J=SrCvU6}%clbjP}sdzgHGLLseHTWjO3|SL8^2}0w@Rw38HjJr~v~>AR!5)z5Msx z`|f-5?#!BGe>It8&NpZ8v-Vog(eXRxLo3CxE){U!vsWRmhd?qammtCDUhz}Lw!f7J z;K5&^whvxXoCcjoW*z9k@Q0%vKYhua#~xb#W9Y7S6wb~TH*V~nEt(QjFh58hvVN!5 z6f;pjxdyz`4K zQ{P`gO3mWI!*wmve_EemZ;ff}UdVi!Y%6u9=N;YWEy--m;b`)4+pDlN?J0N``a00m zY9;>dfXxK4Zc{d>RN(_P)UNXALSP?P{q;VLaR`DqhLxsy3Rw)kJp~jj$&@uP`oa_b ziqdHNYu20kb=IGNttbL%Y97 zHJK?O&(^C2PtDz=cnXSfas%eJ-EL!$Ztdoc*Fa8VNzba-CDZK1(fFwa_rJj?>y`TP zE}>CuLlbs$zwKLW>7^Z)!PIwABzvnhWn|D6uA}|^R`|DAw_Lg|AlsuqM)%Fw?>M4xPL!=LK1ZE%OQ2i8!IVUJKjFQu3QX;E!gfb>ZB*d5^JC(i z3Hw=-zfC!FO%mqiw-VS%qH9f4jg-sBo{_wu{4BSnIC5d}E7zb39OqwIB@aDi6&)3mXhvIGT(L?@WF> zdYl~Z!yhFxina6kS4V@soHZ{ z;sE$@D}ImBbuaF@Os+*yIW#``EhuLob5bnlO+{1ieY3z1kI@ig0kX&QFAt=_mh!*7 z{IEqn|3+Z;z|a2icVa%TOz|!KbNmVq_i?6#2$U&JMrR!IFWmV(fB36NXM(Dt5v&3` z#4~DZj*U`vbfp-NCF*Ue8X=P)o7D-XA42Ru!m*W+l{>pM<*LTvGv{t}EKUvmp8llO z7Wm4b@$y_#KBM+h(&1`@a}Q?!#TxyPFjGB0Fu7S+?=SOaczC;6?rOCR`$B0tC&AOb z*nKY7n>yVb;j#uve-_Irsn(|^rwE z-eJcuyg?_1>9MqB5uZ%FOhlty1a=HSx-Cro`X0sY#Sh1Pr~J^m?wW|)OCAYGYmJluQt=_5&sIH#IsrzYymTGx_bvrq(dC zC-qyu`5#wm&>DUEYbrPOvSmL(3lHSXO=Z_u;+Hs?tIC1{EoylG&g~BL!B3~6 zGcS5%_O1&RP7E_yw%0n)`g%7#?7fsvEi--?Akp8r@hesR6DyrfvB!_nuLn_=Jsj_&%4w8y#}LBFSnjDDd_zl zH+a*2^}^hd!u@zh-7x%MOo8Pqx1X`aVBdjmVec8LQEk7qY4iZ-?Wxjevw;!wGmFpL zv8FKOr^)Cm{BB6}(&gw<%8zgTHPJR}i*6gm5x>lF#f|pK*2ljnz3-^E-i{h@HAN~* zo8Vp+c9B8A+Idz&M#S#?ZFMi+;q}&}ZHtguTUZUYinD0wb%r4Q4ygN#l+-NM6V&$Hr znot&WxPOO)AaI6W!+Zkn>-VTPTkJN-%X1O zQLU?Bd2d@Vhmjolx(M{EPWJZ)?6;i#+AxXz8@D@1w^rrj>Ysxv z@Qg`F{$%ym!64-9#g$a#_)d8KC6j8Oz}2g*O*`5>Cw{)hU;8lO7(jh=4&T{CPfjXv zF^<{*wS+7etUqv{*^`BCP)U!SKDb0NP%HVZRS5C-F1IB{`6JAr}Pelsf(GwdzR+EusQG|pq0@afN@5pZD zpoCu=zV*RRW9$wW?ssi{@*yxOT5Y9Y71;l>W6a)fbpa`|p}_$}{tvvNZo6|E#uRc= zR55MX#3Fi8VW%2g>A)Fw3O6anpqS?;-zD0yf!LQ#$>|K3^N1T~&Thpj&4Ffp_(5S- zc&8q4DoCE4NtU0dM)i{{-(Xv6yRZtftIB#ki|dh79Qxw@hmfdD08{to?HRB(b7A38 z6E3kt#QvT6HFh>$a~tNx--|PparyC zkntn&FPDk}9=ulOT?f|#=VLF?t@~W$LW@33`Q>1nh6-C$FJH|+df%KBUKnig zigBPM6J}O1kACH6(cIH?Lci^d-RrO-XJ2*LmQ9Xm*Oo*!K<8GtYNKX{syn42Ixj87d-Qjyml{t7q=x$SNI3F>Tg zmoZ&BrSlqJp>S@A*4%k-R;G(=c5=Wi#(X1srvF0q#dRN2Ui3Heyt8z-qsK`2^S7fQ z)$Qt8k~y#ax?ZcTW6Q=(>^T2g6xQ0Wx#F+{gXNyXVHCxO#EsrECNQ_D&{fT1Y}-cY z?^UHFyt1L>j@&p3ZACq=oKz=R4BS(`5uG-cFRZHO@~&tmU*xTt^8=m9T;_JnSYxcc z`?0cmMT?R6?j-x-a-j5Z-IJ~Glg|81zlS4~ArsGyd5+A8PZ@`bqK759-X5qWqB%AP ztjK`D4zTgSN)~-J*HgMVO!3QJt;UORA7fl}h+S$rt~t9D#%Tj%j*y>K*j*(eAn&B8 z9=m{wl6$we-thlzf;D09k$Ch;w`3SqE+dO6f5DElNLM>_*#ru`;jnN|VxLh2_hw%aH{^={*yKW2f8$LJBsMdu{A_)sIrUfep8u zvTud9E$nPgJ~885JviLn{K`k(K~XuWc!!baMB&Ux_0Kk;GW&o6!!II4qZl-v$ZUVa7NXmM2A zpHdjzObkG_M2Cnz2EcaB;(XY%1fl4A`Omq#EUic-5a?K=<}Nle-(i||%kX^c954Xu z^`fm}Yev%BsAB8DWeQsii81^A%;%{1DXMOm#L(%w`NR>>&k)vPs7Lqe5 zjZgnn=Y*(O1eU-X)PfgmPG2!n(o_)@@w{yQ;j?cxG1C0;fb0*~E=%W_q$!jB^3Cw* z3W1hTMc?J(8}-QD;ksOMVdc-bEwoHo%r9hNGE2;j#kx%WXiz`Zn?5{dmt>EN#`*WS zn4xow`LL6FsX%6@UO`%# zL--M@f1H#(mFQUJq?f~~n3)1cC;@?IizKF;aiz%~8(w1~QIL~`=U%Kmqf0!AOLtz3 zG5NNLD>F2C$*jx8e*CiZ1G3_B4krW-y$SRD80*|yTM|Pre!}4^^qs8=5&g4M#C!yP zJg9?fyR!^0RT7pFIq|EwKQNd)KM_0`Gz-woWvZMk$@%!R$`C+=M8(vv(A8gffBPF~ z@}y2x-kiGE6?vEG{}Z*;9L?CaxdN%hR!H?(9Em!TEtS3wGVEtKpr^wd-%}mFVJEd@)nLz^mMp1AbVGG%)4bY z^F_`E*r?P~K-q4a?d4Ox`$@+x`P}j4;0qlEKS>Y%0Bg2Fhda&0pEEKN?=<+julBytRko4iDK(}$O--~} zo7~`^uwT(DVCLk-E9k@z)b4ch7?g_i5duQ=PsQuSe18$&C2&%kIvUF%4Lpvj(A^0j zQ4TH0UjmQwHq}>^$gL^&&-h3!zCG#C6?eewE_M)JMVhOguWAIlS9|pJldjp%w3Ne; zf=N<~ervELt#@eD1Z!Nfb2+hcIYHvVSWw~I_xWL9@YJzB2&LomeEhrG!R{#fp^&+t zv8%7(XJ5Q6H{qBX-etI)bvt%O;PzzUuN;My19Ly`4gKJtUE|HTl03JGwIM;1TiKW0 z4{g(KOHvcx#aFmriLM*-9v&{)RJ|FOqdAnMb|_rB7HhcgP&oO3e~pqfohSRcr7SAleC-(juubmc z5xcd;&DX^T&o|pK>F+DHSY5#88AD1F`dowBtJ3LpZY)3jf80qS z(3#8f&bao~>F?23X6A9te9X&r$FSG^hapZFFOQ^Z>Eu)-?&Y!RC z3-ezGkH9^KTOV(IVm`ud3GHS@Ce^<^j!C?q7UEzuVL~{+H*zvL+j(kFfwg!0$&UTg z4)}-LlQ-f@1K}DA|5&lZE7z+^n6NKjLc&HOCn0b8B1>jBnD2ak$4_FOz}Qb`ZKn8q zoxby08b9bJMY}$K5~8#b9@A54giR$Pl$4>+DPLvA=tIvTT$F zl)k-5jeS?m=(uw?!@~Ba5u?F!*9G_S8pwuKcnIaM-d8_W1q#?dxa9F-IG{+&I`uBN z^dNFRKTb!{g6~6e4WLzGZ`}XHQ|}c+y@GrhPQzY~@R7&xGZD&9c)K9lU4fne zRz(k}#Q)Niq4#I=VWpLbf2I;KwZkIC~I5It#(6_p(OWQo*f{%Q67F?P;$a=0Bc{%0pNElQ!Y6@_hL zP15BQn=waqVlhV@k{wpQ>HoQiEfjcbCV!QBuprom`)Km@-`&ra)kFI=0eVGi=2a_p zmx*4X+tpZkm~hWbQ*AtYD6k+q$baW`@w-8<=Y$(5+Pj-ygLxpOejpF#pYBH2SWJ$! ziu}G-0HM06lO)0{mhD{I(a<hFOZRl``vQvLxvC!b@ zfQvsWJIs4T!SD_m`g|hReWrV8Ab&oF-4qRuQHeBq1zxF>yIvqfKSm!zhD1#E^WGH<=hSGnYa9JA@wPoeG;F*wK?`@xmvL^JU z4Fe}?jCXiwFx{{R=tzHuIyaY6|3G4Q8OV7u>Z{5>lGvFZ>cV}ajc#*nvjixIDOtrS zwZVaCifbZ^(-zahGnW6(mfyw#AbBe>Rf+Fq`X>~|^QRo+ zb3;96&;EMrD~JjtZYZu~Mo|V>fr52P_Axny1bO1i&>Z)L(m@oC>T-Y){#%qn^7hm-eIUPjcjEs3H@K zPh@XoFGT9U!cIg6ApL?AZ601^ek(pYT-WG1DSGnyOCNGl==TLnPCpOFr+qT`WHR0+ z=O}FQuOc!!F1)v^?eqoO#=nuek$;BbG!t#|eEsdoA1Y`~oA%syi7&7tDw^;Vk8N$E z`D2!4)lUFT(v)Tad4NrIsQ9VwjzG$mHsqb&HD`2bQ>L=Jz#B^t@$gy@PL6+ zC<(27M{4N=FBE4@V(rgf$~lOxL!GmSymiAXU-Rf7h1vLvFsUW)E*p2MZE(tM%0W2~ zN7t_Ll>PerWq7ULf zvsGO7aC1zUMfE&E{=?fM%R=~NaYQ~M?BAHF*FxTdBo4{8Bzo^Ia z>>a1IYqq-8W~|%%O7b5gQ($eX&J<(Sy~CK!CvZwg^{-dcnkT~^SmbEalN~$5tU990 z53fOxU;i;Kj-V>%3*QU!{C4>gOj0k%7auE&2Sq@lI3lS-05{9eN$I4&)+d$3vP;mi z%0<5bAJyGe6bh1rr({#Mxy5AohCI_=aYRVbZyxz_UrRaLg%@oFgm6ul;hp%vOTRJi z{%_Grmvd8r_FTnUm`C5Yt%Xt2*6nV@R?NBHC%uimfHeQKN~|1apK* zOOZ=EOSb(J{SJ@hv+^_BG9*suZ!Ol+zb#cYpzo$DJHok1r zr865k4tyr=PM)=yu?csNS*?iIPa;%M^-UAUZJyP6$1GIfI{|a=(08C++EvDLq)|PM|zAac4>%8oblqz$`%J222h?&e0Bj3rckgfnTow>xB#Sw~U+;o$%UNWhvO_%*Pv#x=U;lw*zMTuFP?5-zrO@m3;Hj!vP5b#v~bq{-^yPFYnM60`TXnJIKnvi z2DPgzUt~@NSkEl?hq+izUxnf-0@dmC))w0&<}Ps2iX zgSQ|3)sNog`Q>Oi-M4( z{2ta7`f%^*U$?KU>3{yN@X$TSn&_J58sD}9%-_Pl^*%kge=2VJ9z7AU=zpPZ;mrrR zHEpH0E%vtloOPxLo4^T6>~zVL<%;)nT6T{i6d2^W7t3cSF$oSr+MR!^pdo_>QQ--0Kk1&>(x4wy}Z+Gv;!j zn>(q41P~*8Fg%e_HHgcpPhfl*tOqfk4k96pl^iuT%}fx3gvz`w6vS_Y3 z^;8_2xu*#MPu4rI_LK(yRZith+SaS~JS0CK&&h$rkl&6|b4rQRzG_7YTk$!}^~P|E zII91YMI6FE8Q41KZ)VxL(Fhy#*`L0j6UuO(^6y2KG51%IYRr8kghfQE9qgxDLNQn> z7JjoS?v^gh`7i1gY`y&ea@*LFRw^WNa~1N|9}X{(+`%vJOce|dD^ z-GA5FEM0b}Bom!ESCsWV&sxU9fX;t^F@(>0ilghyk<8;Ouh&TI5@E@%8 zJo*_<@OPF-B-_^O)w7uJ%rltHMP8!o+m8_$VV&rVWb=5qQiK$~*OwZ_6?EJ>dQm{& zh!@GnPyI<8sr8)XQfZrH!%4xsbXNDas196uYFkVve7SQPv5Q>p{EmnsT80C7N8S?> znF4uGp(zzH9kybf*Gu1g$KJ0b0uM_O95ykd)z|=)CukKTIS%=%t4?mRvTmnW2)e-v>)xKMRVtt0J4grk_GQ1;4lS>88 z^RB(Jv-G=@c&|)EOeg2wSH&w3fhldVV@ExwI3FZd*QVsIy19E+AkVf5(u>%=lHJ8Q zErHRRx{8hHnX)>wTSynv$zqSuKc^mJKz%--q020ib;EeD=&_}6YM@#rAPQjlFIf}6#0x&o zOAUXFJ0-Ag%?2w>fl&)grKP6^3t5e(5<6cc%*o)tv@kT1o6|7uukhgUR*xiiz>>K? zAp>{#aY%<`yIfdENJoS;FKICacb{{U(hN_oq{y6vZxO*d&24GxB_U?zH7UssJxZ zN?uOo!5!dMhhUR#+KvA<{T5m`dN^Of{ZZ_E1$9N$P!7xy2FEXvo{jOV%Z+9E$ax3f z0S=HVaH7Am?Bu<}?*JK~aTS5}e%LdZ{~gHp6$#N_g9(e`D~Vdd{8E-ny#JD;(#^ zQ<{g!6Q+0`YPr~RfpI&ki93VV@`0zFi^^e|NQ&fvq^PJ7aRpDaJ6@;0x2PnEo!kh@ zQW56AQ;CpQ!%5oVzwD{Qwh`^`9a2f*J+~@_~$om$=%q1nA49Mg~ zSd)zZ{Zq3#T%{j_nq_iDe6n#hqB>SxABlw@ACp87Q@@+VbRPfnqkbfo@E7#wWeCVw z!AFb?8@L#HbMpwEjU;j2O z20McJm~%41K!Hm5&XhyY$DG8REwi;AKNkRAlVqXW$C% z*`23EF`rMmU8*zBpq=OU^~sKNA|g+H?_NW#$S^{L+w;?_Phm=U>PMuUs-JRwuU>ns z;iORJR1=xAA9;@4rr55Z`Mf4I_*?=^VcYF!nfnWc1cSTShr|v=kPo9$J@tWM8fN*b z7yTTcJX?ComaL3`r#M=DQ!Ph zcv3`;59iNp@oR8wh(t+;912kkkqc4n)|oyseP%NSm}Mql#%~7b;_DLV;_o`DgHM%g(V0Fwtvzivt$77dFH8}mh)^WN1$|Vy zPyFNq2mts2fGoaxF(3JE;7@@pfh_(kKsX}B{78b+OOZuo<-^Ld$|~K*6M~7Y>T1f; z-4+S95g`#?#4(JwwML3hx=8x7w6)&jy??DO+K!ndl8nL-LnpM6&{k z85mNp74ZjVq}MIIp3hfAAiW+ysXO#D*I}`|H?+a4<0y^Q%sce-wkq6k{yYBu3F^BFT(} zb)*DPq4+OTq}C28rYBf;J)|_jgPPNs)n(hMhKIrFsTidKDT3YB9J4KP6OWE%LlOzQ zUpv*r>~W9=diBqrk&A*n-#lnS_O(I%yq*CK`yuFZ@W}!WE*8C07NE z%)f?5?EUis?mxx*3v{-r3d+}{t}bsw7V37Vy6{m6dT3+fR z&v&O(D{x0Dco&}Sz%PpMg4vE+UG3QAZAwo&)`E^#6peE^Q{!fr;SjFMijF+rVaOPK zO8oqy5AKiwEfQvTo@b0)USfMn+3Se2K|84n&{ARcwww7FPGK zJJU8l6UROiv+erls{0(kQI&WHT`|iJ$Amc{KVCaU?LN=yKF_ela(dop;<{L0QP}(! zdX;paQuxLuEV71}SxP+M_XBHnhyBQ0n6k^zHWID3sSb8~H09OfNIl0~`m2=TW})Ka zLBCJUb@JPOy3!ep77fl_mCe`3!;N`p{G3?IDie1|G}W=o z&~(U9dnat!a2mvRPWXKS5L*`GOoM%HNN}b3m=~Xyg#~Jv`)M(9J`-u5i3{}1jOzaQ zFiBNoS(v{Ti0+(l17b}zaLC%{Uz%&3{z4DE-rr`Q5zf8VrYxh%Y$ATTF$>vxQ%IVViNw^+yul~X+!7VDDO7HU?? ztS=MxZ94+meoB1#nTV>rDkOnekPuCTB?zl{zm^>lm*y=M^d?qGUxoiU$JuHWmT;)STUE$5?)IMtY?-xiYu zA5&R;Bcxy!%*6l6T*BkBy0$xgs9_dMb-0W!9kKYu2a(h<%|~Y2?GLE-&-zu2#pvgWaLY_%p0XLC^tfSEXi3{xv@KJh ztyI`|Cx*70-uIQ*@Yi`d`9k|~!;>O^y3xn$BUfQq zeBsZ(P5kV+8{|j5&IJlLiX(aho|LdvSp51%yejOTGmY}=?Q|l#r+_>B+WZsERqftW zCm+Osg`y{H9d~=agP*KifF7qKi7J(T4)IdGs$tH;-2!k<(c1TMZ! zkiFmRHd>Z1`r7sw{I&TRlL7{OmA4l-lygk&irj0pt2!cae$M#j0(= zsc-~TvyzqiUH6GCVqxJ4Da|%LsbFhZpzWAyh8LCJfghV;8}BD3t%oy}Vz334#4;j;w$U`j}J@1)Tjz=jpJrAv zzvdENbXC_^I8Mxs&yDL%Ui>0(!QnmDZpioIy7r;`SPNNmN!7GpxbLfF<-x~-O#@G} z#do-ZyZIE4l|CBdw6D!ZEh4RCJJvz9{#b`Qc1fqWO#UUgXVu0(_JG!9wTz`Pxv!9? z0NG*>ts68ZwUjjE7lMvYYW+-3M#V{!XZUbzJJfxrdnbxYxo9quA(UM8gqc$JXDMTH z?&+aVD4uDq`jgx}ZGc`^M2qY}NJdlsQClegF4JvZjn7l!qD2t>+Un3;@nOEXySg*- z+b%YAPqZ=JVvZY2!T3dfYXy|5AST2yi2&k!4jqEputh^KbCG8R<9G;WmB_K5@c3Ru z(3CfqJMVTTu*=T^W;Pjj>Q6O-uG)?tN6acT>3TnyEE++@>7&phxUwE=s2Vw0HUbam z!Atb0aH;etc6Te1eR*fjF!>UIl1zy-Rf)^&i^E(*qA5ROZx2!SWAEk$`{vKMlQEI! zXH~_$B()QG$;8XG+-O0QY{YGrAPOp-0F@>)PhiI0>j9KthjFirE0IO-k;WIHwmjHZ zsQp)nc$otg*{=rgb1F4(p6YB*1i{mapxZFvX^s6l$7@CXirM)O#Njq>>|6>xl$Q$w zQi^$*bt4f46o`YE)rA9~;eds<^!&E;Ni+2+v+{iZ9gt3h8eo3#{dQzIRGA#190U^) z8H?v8bfr+e5p+FT0C$v3O4mzngaALrT-C@#HO^cWq?`jB>_0JhQDU&al+6uvutH0h z)1`?FRT?JwPCgZpQ}HtX$Yh*mU!XnTsI)cq(#H0sTG_@&VvEmO2{z2+)RmrwmE`gD zo|n`f)J*dGX6l9PBeOES4pNj;eG+KE;Y9#6K`kNiKhU6RM3{tmw*;f?5k=D)s+r2V zib7vS^#E*-vj62WZg$gI~2o-(|H& zbwECdCEpxKun8>K4G~PR| z5IIQNN0Imu$=o5)8VBBdK)pV2?0h#z5`V%Aq{Vg6!$;|niR+O;=JT)vP*VXILevH^ zikNJ&;hRcvd%ID66veu>!M;ZBQB0^8D5>e4_`8uTHtY4QDfm4#I2C)F2;g7^CuM$p>JA^trgh2CripJIw#?}O5 zYq+s>UeWma{f*`OwC|&s&HF^q*_ep4vkRiL#{SClJf-2i=iB-B+N|{3?$plnthOQA z!c%qH5SeXOQ*C|mVHv7n8DGOP#=>moJjW@n-+E+2!)@jSLjEA!JH!mbc}M3`NJh`o z=gQf0>QkXFSB(BZ5AA{vbwdxWY`-BsbGU$as94Z^Pj|R5;LxiH44~GQo-@}wxQ$tfBZABlV7%sN?ot9*iJ28v9M!=a zgXgl0Pbo7)AXP9}dt$UEtwXxATl&nrkY$%NnZU<1vu4|);L>Ev7c4uPgY?0}v@q%O zK;9CFTntd82P&Qb%xWZ?Om9V_NZ31AWbas6dYvVJ4i#Tn(<8%0n1nP7!Ua%|2ryDU zBwjuwN`95@FuiLzP9b6TN$n7B5Qy7c9CKhZO?rmedG?Ze{Uz@Dc&wo+OwS_~r9BOAuqkpQGIyD|ANm1s5 zr=L`Mqz6lFB#Zsr7yHQ)BkqY|*aBouprjJirPSH2)K0j}TtFlnuXZUV{kN6r4HE*P zABn+)m}uT^sud;t{dQZ*${cE`ZD|FaSppMFh5*c=fG7ySNaX@tgJ}8)b`gW~q4o9z zCF>`2$R~BlgYg-~)U<*4_gF#&tLqb6F9IY_gNyjU{sRP_bwGH}O8&%F{RaokzyPM` z^d1-h2m^S)avFEQv>odENP{&E6kN_{Y|3d>>;(d|Y1+3*GC_^#^ zA_%g4GzJkYVn~9Rf-z9OPRq1;%QPL!3uv`oER@fiA=u3p49y(BuMnEqJ9j!kX`o#} zAlnbcFbHBP7(ztpOobKPU^&~LNb=uU(M0t-SWz{JJ!Ob^Xd1-QdcgrP=THu(t0TcL zu|V1a7&QgPP$AR*Aec@yCf>G;-aE)7wgIfL+(a7JJt$XaB3B%Q%TV!ok`b1CUJ}-ntn!g8D^QyUNZdWi*f${VE7Vn@7NGAJpw?)33Y&Q-iFQ1QEo{yZKF?P2 zC&S;f*_Y?o++Y7ghBr$-)*oRZ-~$m;hF>ll^uwYNmaZ4Fa}h0v{6miO`8+Xlu)=Gq zQ>76kPcmKiALJPjo{`O#0Oh2YMQ#w|F>CP!*C7(ha6lb8oq(PK4< z2nj5+;j*+F4yjqyD9WknwNumkr-(F(pX~pDp##V?2_i`X!vJiZ5mG&o>VN2reV-;< zD2e@u$r4ItNt;`W%{!z|RWG3(c+nHYo$95mn$vo&??JNUebHG~kyQ z9}7&4e(2EbR!?0|^%rJVqoBe~_8L`Rff`r%#`k9}xbt~RMGrl>$i-`2q0Rr37cX(h z@A#EtXHy~(_g-$WJYE)LH6^B7-v!PhElsa{`pW&uR{}h#&7Bf#Eq+?@*d(BCZyd^0 zEa&E8?Ue}~QVNkgW^@TI7SCNQ;ePm-(X1Lu^pH|zh(BgQft(zHCe^4n3LW@wzn#8! z@=AzssWF(B3v9&nd^s&TvO9Xf{Q%+ZJ`gI-rB>v|UEX1mu%OK75k>0P@TLSlQ|0>C z`aSkKvFA8`>F$$7o;&BSgz&@KcV}79mokk1VwCcf(YNz`=zzTgF10DLz^_GxA zS3$)C{!lAx+1gw`JCCl;@3?c7#-|mVy${ozzNd*nA5NM+Y&3J2GIO|dj(@MKd|R)L z7lExSZ`Ll2=im0WP5U19(y#3ZS7>||#0hn3GVX~?!c}XE47rqN(c(_E1u9&E2m=sx zGVJmy(6=z&PY(hb0F%%s0f-Jwa);)|mXH~N|1c#@Z7ZWSIhT6_F2B`gOxzYzr3!Ec ztsL(Aci_uFwGCsj`3FDW!ZfdR3p09zJHfIEeWqu2v@jsqt%h)YuB2&s8kOId&NBu3 zgqA;;m2X{?2W^RXZv)ikBq(zdkQTLja}uFcUOe+oB@;o1lsBr;&}uXa0LDxWhZ4Ii zX$xxSsad5Iz$kM`!X18slBK51wJ&Zp$BUT&AXoq^JTGdU>zfHzsE?RZx8h#CfNpK9 zbUpW1(F7C8R!hlUH9l_@J{4tAOEZPmAGeJo1^@Yq9QGA~`HCpl^TPiJvZuJIxKwEk zoye2q$dioSnE>s^`B&C;5llHE z)0H;p*-M>6%+1~DY6DwdS?vv11+Au@m0%>&B2`!L3O_-jL2#9%M6+2K@Ae|MYIerf zV6S|3diJ7F4@@MgTVz+}rmIy^e0u(h24SZ>)||$cKnS7e$(W;r)P+S}p#3G4$?7N6 zwEI%#a@JUIQ1l_1sSpc#h=xcyvjh1CwVZ`=HGw48)E^723W8wrtUhH`-i_)|vqn?~q zUnxYypBNY}e7SQ2Whu=>K4Ohs=xRnxXqMMIq`;f42_bLG#O7R4)jTC`>bCq~t(V-v zU6=S*KJb{iTETf#ig``OQpb>~C1czRlI?9y_k0vYXyrguaCY%h)!jDZESd< zEaZ1fL>9_Kyo*JENPadpEkD|tZjJ&Ucre{u=k>Y9L{dmRKNGn_;<*{SJj4XE~v5Kq?2D#`0d<{iz`;ROEXx>?}-%7rLmyRx~DsKx&YWXSLa4+#5U-3e{tQ&4tRodzk zvM)D*P7(&0ScRa>Gp>=9L-=<&26<1NU@bFe*^&pw_zV+(xqic(S}&k?g_C z)V5|{L%|P`>-qk7_~?e)g(_{0iQJc)T0diC?{x~F@#ZhAOS|D_T~(t#;ez^~_=}qO zKLC++#Hq#$t`6MHDS7$T9E z*2Nt)&t(#pqHK&fVVpu$>K%E}u>IoY=80+gi9cvQ`XV14ExIr-$_f|AF7oU0RLAOK z_VdnGUnI{ghrZl4+Q1p1I>b!d#VGLq0E|^yWgm+nU8VifT+%PQFz3*_UdEHtR!P_{ zPc|zJ2lULnuQ$611;j)F654qw9lYCku2Qpciv7mEJq9j)&?5~=(A z7sUyJtq{S3M8R#<3uZdtL+(d4FPC4heIQ`!5!P47)nkd8Wn2m%7qAs{LeDit+|AhAIFHhVVuVRg-cq#7=VKXDpsx_5y0NT;Yv($MVi@?CLEO*u1vHd zHA`}Ml^2KMiE}uj*LXr++}+oC75EjOy)1%uJE15QBg}tQ9(~uB{9_a6GH12$D*!xb z=i2MJGi=3KUSfuAn!Q^IVmE)avH<8nS7G#+;@?$~c?JPUrS*&bI8sE-rz>XsGw-L1H#QHJ4(KU%R1+)EKg2pI1HKeH1Aig{hE zjd}@zYij9iGCK0@V{x z31e08`b>QJnOOh(K>koG9$RrHH8xZrxJqU7TC#brVCNihI?ygw%6A`mRLJC-pm&Wx z+Tnqq)6^m9{90=f0TmxPZ*Oi@;lgfFEENCdD3qYO8W!V*Uq3}nSq~Y~A6R~fZI%tc zmcY6O7tDp8!uJxQhdWi;qzU~S@B$NNBkT40RA1@xN@bR?58&X=(rYJU7+4u z*27y^Ri!J+*P3iC5hEXeN8HI-+==Vtz!4U=lmP%39a?vo| ztDCOFbT4WVB<_OXnlzr)80t8*f?rs{&!P$^B=P-{Sf*w*Tpntw6h%-I*%^RL^)^nE*i#OY`g6+)>SxAm?q}+-M+o zA&>@I&B@|e(EGx(VtppyaMfV6m}*(kqFFUS*0w;*D_>5%On7J>3$qTe7iOac)q$}Y zrVcb2qOGv~b)6Zzt$P}|zCr_tWnZFwpO70cj_ZMqQ3|k^j<%AH1UhOJ2v7=Q z?d=6s3mllbKXWCC?W&~WeT6qJYJWDF()E@*WgZmTg`h_b}6Y~udy$wassSdn-c#OoVm&k}wy!Wdh@*l^R z50QU$ERz~NkM~aJ_GF00_T9LXn%X-3jtoBnj$RQEU>G`LPRB0nT&v$@-LPv~upTk= z6hH9vmEH|Tc@LHlNPX9%Jr+oYtB}2uH@e0eGixDUa!pyn{j+3#kIhTY$FXlR(kl3} z9Hv3N>9Qc~3O4dUxHtdkV9IiX)LJG0;w75rUNrF$zx&2ic_^`c$iZFzXN-`wR~+f< zwYZQcwZ^~JRtWblXwxF8V++RS6~bt1@cEPquZ+rtvr%^Z%dH7Pz-}_OQq4D4O~Dit zYczSY#iA|QqKy|O1gMSedr3_Y3qDE|u5CS8kSJ5@M5-<6*P!OOwWmC$PU&o-#5nfS zJ}h-;y|j6=G%O$So^7%U}XiY|ALfDp$wOEdOLB~F#W5p?PwgjP?yzG-e>MWvk#<47jvleybB5At#x!TOxS}Yxf zJ(AA4PGo7UQQ<_U9hEHz<_Y+~c5WhfvUxjd82iC=-L4fNo@F}fLbMi~UGR$8C_vUHTD8tykZ_36%|C0e^1v>E+b=|^x~Y2(-@j|LBKf7eMS}6LW;jYg z$6WlfYNFRq*d@n3VFGn}688lQC9-AOmSubejFl2;8{&nWrdI7dj4siTe{K5tn(Xgl zQ_*CMw_t3gsFncYfW(ma%XP}RN))3hHj&&-_7Q$)0Ki8_{TZk|B#`)7$v=JUs0Rq?&{;*zksw1AsuT>r~c0(h8J01~#fqH|0zmbJTZ{q~ghxN1zz$;Oxb z>rNf&00TZtPY74TkBVKZQITxB=IB2rCP0tLERwHQE=Kyv35+PkZ|tMiN!&1sH&k{M zA9I{s`Wd6Kxz|UkRva)^vb0g+ShokPMGcH&Mao{2UTzBGei2lyR zi5=0yJJ?H!n`k^xmkb0_n@kx573)b+_L7h{Bn};wv;;{y46zdwKrczHgR4lGS#n=ms*x$U)b!7CX{0uPxgH1*s`lg=qEjfo@ zZl~5~#P&IdqYe>Ef>}q%q-iYeI{wf!bB*5`>x)J9A0P2}wWKQmbjp_+-Aj<_kHh4N z!}=2@`%*9k@^CK!ugd~Fj6#!-h`muf`j0&s=NZd4#(iX9My;Hu_|~UXS`V=&Yl?Y; zLEU;_q+Sq4>z_p)K&&3>O0fN*Nwua~%(CJ{Zm3@h|IgOL73r2Y?AD;d!Q-*3YOSm@ z_<`P7Pi)UiGF<=aumGsm5m1nr&j0V&V2xH&sIClNSy7f-0!gR*3}XR^r2~Jadr;Rr z7~Ld1*N_^a9M02SyYH8N|A%(_<1l%pcV zV_Fhw2yuofu|SDPC;ZgbH*!FWGL--DL`Z6Bk+zGGw|?8Ch19BPZ_?rlEFlG~kOJ0# zL;^=4nz`c(GO?x|yY5e3?IiMa`RkA5DgL90(*&oGDX?iTpe|p$=*ajpfjS{xL`We< z$QN<<4nsv+078@eCB2j>8^DQ){h8A{$m|_dromlXGIj5+NJ8fSidKbiM*$QrAlDxU{CR{Br|I7TST+=kZ z*K+fYQ^quvNhsn%UaeDnS%g+2R7xeGWRZT5W%nK_UyqXa<_YBR1guf9Y*ef(SAfeE zc#MkW<|i%}B%a9^=>@dua&JbVjyD2|C$t8Z-Kc0lYZ+H$ge!t(OKva}8EjK1!xU^Q zXv>oabA`BEAvj0$HOYvYg89s?cts)@BY9#hZD&cIoIN*v1C{c^Ev~and-@!asf9nV zdOv*U`h6dkUDa*SB ziRZ|sN%rT65l0!9WSJM-@cqAmZFSy1j6lo_fTCj7f01&E6XXuNKuAo=5fRO zG6TBD3lw6G{h2~eVC$$LMZ-~F5j?_V0fc^X7hJXt;mIvFyTM1 z#Wu+PTq_72EtL3O;7hEa0Jy$&kFUv(VZ*|)uI7o~M+Br6Un|=>c9N)Ub@|4Aa`=97 zM9D*eVSoQ&|7kCQ6aj5|M<#swv|z39vLIWA8j!j8lTeM=q9jz9D1y!5KRiJMefu@Z z&&4-KMgEgD3qj5q2b3bUS`s?CYx94_dSutP$XJiaSUVc#jBg9y{~LAdk?lC9=O9!@ zn`EweCz~5NsFls81Z1vaA*Ads$e; zPnHwVD5cL^4&AJ7?PQpX5Djh;GV>Nxt%z-^5J-C&2Mi^Ss6uPRFrEp7mwshmS`waljEvX;ZjrF|5kVWpR~QO$Phc?;jJuw?%B@C9 zt=?m;Mw$M)wZhz`Sd!%v!OO=KqoaVYsLGP;v(S0@&D>OZ2cZf<@O<^ z_LkFlkmTlJN6Z0otqA8)Az|m5XFT#WULFR&A-*;y$cb_Q%uu^Eusw3bKyhlNFmyz4 zbxD9375kFqw}2dO&@%s$lD6qrf*k(+s}^C9WRUZ4)IVYLr@uPgj z*ZP~ww_6&EDdp66UQ?-CLT*&sTuyFjETV+{ONk&0YLyyeM5EzbEFt236LAp`;<(1P z9tnynFh*U`6U{l7X~hRNN2qUCcxkMuXr3O?#j(Rqds;K|x_noi_!>Vq*MGVpPrm+l z^w{Cs3D9E)=v}SaRpTKwW{_n6=$O{&y@S7WRm*I6i@}W&nzLFbdweN@ujnSjaFxa8 z?J`9&XCu)Ceyr4P?_hprh+9{+ZosIbC0(S?E-u22I4&JM`cF)jMDyT+ByViJa`-Y| zg-Mgd2oSa2f-$a!SeCV?ixq6uu(#g)dILlp7q_Gf_Qk|TXl-j;{>JzDfIp`ieagu# zgsdlP_q3?YZ0$jE{s;Wvb7F2q+whq3HTsFMn1Lvt>WMA&d@*p3B}hkNo3+9z;^Tbf z24euD6nTwBc_dvN!%84__dw=VD#>ic{sb|VzK5Q^pB=G~9$4^Z$l!JiPTGsU6>mu14W zB*w*s=yBK>ZNBDeY{!q2ZL7fkO*Y3?p-x_CIe{oH9!E&PQXGkNZ7N(LTvH@ZTu}E@ zc6Y**r+9nNRuVQ^3uBBwkG9?n6;B`}v{G7$bYG&ah^4$>pHnPNfeM!Zf6HRH#3J?5 zI7W$Hk+wY5c(FpqN1R)cN`s1#tAT12Ef4Azx*ly=Tx7UO>g()x7jeHCXx@GeJ=pQN2)|HN7;`XO zQz|b-h*X4yeN#UyY)`P3*l3DlO?xcOn7nRGw3V@x7w+TF!Wpeo)P(k_+LU&XdVfBk3;^x)LB~4l{-F zcfPFfH^Tf#h3=ZMk!sRNYbY7u9u8(H*g9S%Hl_E zcuM0{yNz!O1S{7mM0t&0xz0}}&9V!o9*$Amfax+&%HVawY9ohqA!?HvcQvdFVH;qp z$>0h{v*n5Qf6L?f3G;iT%lr-ULdb@cb# z-%a(5L+mC$5whpss|(rp32KqBkUqhFQYG#$}8T~A!OOobXk?UkeKl&!7ht!?Ek`-KZgas4zb2}Y#ZQem2-=#(f@(FBuP zK=Z4R#%~DWn*_{^5)T_C61*fly(Czdx8l>R;6HurPMUOUPZDu_rE0n(|p z`kgW5$N4|UPCB$!FBMaMtl&Ae|2&a&XqbEm-y&6AA++?|fyGzV>I$)?=S5lnBS+*a zl0iPgn?teOqlGA0^51%Rrcr65K`FXHDXLDXfzOMA0PncES3>^3iGpi|HZR68{Y2+d zc2l!<^IsOi=#e7RtQl`3skatlZ@FkYO2~)mPMNpDA8w9LaTm9P16qBaS6>Z5qXRF6#gRhnL?BznIN)h z5y$;rP00kAO^XC>Zz1a6x&}4fj`SMze`FCVy&e5U=>Ja^L^v>sH4qzRFyUXVFGib*_?McB3G++$tXR;I&KIT`KI-=l%oS z%TjQ?#iy^b+PuG$z*kw_p*c;DzC+8S`Out}N3{C9{#ishenM*E<#(8Lr?z~a=dpM# zE0l*+_ck9%)B*PQA{wz9ciz~&_42l?ejVI+1RgyNRq=>)1y=s3{fhl3>T9unRohVN zi`J@t$t9~7_q(lgUO<4&HVYFTl)h-lr^c#D^!oDESMq9$?P6>-7@>=$QIB=a$h?Br`%8(_WTk7E>086eFqR0RxaH=lJNDs0#1Y)#9lmiWh1Mpjur`NpWVUlwPva@{oqB6HzwE_=4 z4{`6kTta$WA39f_(-@Xj!LqAwC7e+aUEyy<^qlO!#()IZ^$gkB&|@>i5w^sYy=Zwq z+cusA&)>_gW`71}*}jOQXVky8;)3a4Bt=;EFMX6&Y07MszU2L3Z71(^lTjq?Jv^p& zD72|!s^thTnNk~0ct54FM8P$)C=?TzQ3`#IFi6iYrQhJiQW7Q@4xP?c$UiyGHnh83 zw@IAt5Ats(d{Mh0)NKJVe?@3sLSSA=vM{hf>3ZqK=zH4RWtwyVj4%#g)2MRWm~{Z?YW zPPx5#&+Te$u?k8uPz5UY7T((pSP=M7;Z~ zuO$C^JYyDlmF_>dGxyPO_1n?|a)+-|J6pA!#jcan_a|7I+~i}q^E!avh@Z#^75_XM zR~L2AkXy%?{+y8t*p{gbaZ^nk)b`!9o~GLh^mgYt+x*Y-`uQzF>$`uiaEK8djdQS3 zI9TOiEj%yt#5A*y0q)51K;*p3f+OlX`N&@J>qt@23PNN{l3je26~9;%sqcKhckg22 zE5$a~A3?{W6+h%=P99&=DYn?re2aYMIA~wAVz>5PnVo;($l_b;A73QAHTltC3o@oh zaBn9ae;faaajMOIXUjeEp<6LO#oI{w{1licbJAo_HzI3$@ckj-?w#@g@PRUYE3fYP zQ?Bk(E$67{c*?Gg!%4MSZDXhBX%Fn(_*nf>FXJ0doIZqjMt$0rCFQd%HvkXof1Ud! z_w+TxH}!wc{W6&Mcy4QW__+Mfrl)s9RqIRnu(_XHU>2p5*7TuEKMj)GLFqv8d_sBC zkZCO&S_b;31@BAr5AP2iZUHksOr1_K(%6!LhjKpFhX~wdJRsS(-l4i20ST z!g(^}CU(iR%OassCAe3+{f-Il;9qFyl`vJrxfq+a;sOk->TzbkA}eXGfpI0a>vQ9a zpsL5cSIqUfFBnyy`!@(hdvghYT(t#802)~%us;5eo8(uG-CbPm>vNB)8<`49$xY}} z->^yH^!Z^TMk#q4Hf5Z?XZ?AbI6k8Lo{{pR-|J=MRg;Q!mF?=u-6z}(qi+n{OMP^C zwd+6zAAvp*V?*O6eTS#N;>PK9KPN01>Z6G&e60tUCnw3$3K+I0-1ALfMvng3x-bg54EVcyxn82N_l^0!f z5(JgTTAahe4-=b}sDuO|F8pVQ4$*+id|X$4aNcp8KfLu)fH->WPV~s^h@X?n(Le6L z*K5~@6MUGs@A3A7CQa=&cYk|%N5l!-?l^Z5Z@v(B-;LR!nu@=e*imez^bmL!_Aey( zxD34md+{;j>C(c-}=5g>D*5d2SSV_ z8-G~*rTRhf(_M$3hUgux_^^8D8`uw9eZ){I>_BSPJ0B&K2Rm>j>z!vGde!)S`$7Kk zaTIT^%oZ@q)T`)RjW($0l!|_#O_MUIaDa%?^@r=F!0wrWq8=AA15emox?6K9T)*|D zNbSz?e*}EK__>MK!}&j4+yfg9wZAmTc)w9nX{b;0%ptrtevW-1R3(KwWc-}!nMB|Z z*cZn_cVBw`xZ+C7Fm)1T0eB}$R^alSu;H4%ZSKJB%Jb)Z=vUONe#LWo)LIRV z9>wEK$W>bmPP)KNmtrO-Ng6mX@tLrl26^7WO+4BfKNy#vz6O3$w%<-;e*Q-{=V zgJ-?bY;(x!*myT6LKoA!J#n>$>7tt`u2C=Vd(8*9TQAgArQ2*{a4;voZw*{pmdf%P zryQb`uP&eRbRTW_@abVqd3EH|m-^SdLKaSXT8uUfd`hbcTU{<43X5Jc%v!!NAC}TM zHnkj8*BI8gQ1chy#4mBr#mhD8qPOLY-2`PG=|+b)5Tt{Q3f5OW_}HYFW;d@-coLdd z=pBTVeEYSvyXUn$*7=xNe+`UT^w6qbe>bKK@@a}$+1M6M*6MIpXN&E|^lPmQj_*eM zfV?w6odaD2LRhVf;#FEWZUb4q3V`Dpv)UK`kq7~tps_es-GL-vEsnQ}?Gpscz490K zm5a4fm~-IB{Yi1)$Ruugwy>XEwUhADC+$W+7eSoK@^zkd0@->PH zOK*K`j=Xi1d9CQQ_*UVY&H(tOI4hC4pR=820l#vc{N$3Xc5Ti4-jON35MDBjO zv6T!Tk5dM0@67p`$!{03+QY46{x3k+>T1o~Jk{b*BHSI8CqM7G<^Mza-EVR>=;VMU z|3^{H(u=QGFP~fp+lEhdS}@d~m=N}F|tBJ8xx0@DayA202fm}4X*KKW1_dTQ-q5HwOd;Eup`?xdrI)8w<@S&>1yq0}@;Rm>} zBt2mK{&lxc?E#l`2d#6;x}y-48U-#30hh|~)+b!g&6s^daNe=$U8-ex%kw_xuDiXn z+fDyy}z`2)n+aX(5~HSc)jZ=vAlmT9pGpdaceOL)zCcwq9WF zSavGWAinBm$_ZP8;%hsurG|LEXnfb;iEIDOUb!dq7RG1_D2YBzzI=?dGy8Oi&uvr= z+9Nr%zJ9jBWAE7RN-sW4Joi@ZeszK9`7GsO^u>3qD-G_ftFn1-OuU~H-fVhF`)eFt z@U5`G#7)Ysg@J*J8oA_QT>k|~&D4Y((1th0B=qs*ILn3C#nWtXOGJ2?-DF4xWIiGb z-q^c%9b}Z>yg8f#DQF&ZVrKZ2Ks>l=V+PQrNh6atCIs$?3kpx~$pgB)Yyy zqY&jbu6#I0KWgqa9gLdF3^5sYp{~dD^^ zwoA02im8T<_M@8RE8%G=p&KOCm?3iGNy5?1@<9l?W?_Tfz%E~4HMCTW(Y7Xb7+0F? zV-OJ&#}nhK@eknqTXeX&4A5uHE#7}bzD+9;Ac0cgYO@^~2~_c^tpZPp>&XC3VUqrj zEY;F#(2Xw#ZK7LBNMEtRN+&$EL8>j2S?LIhEeFLj^>1As#WYU#d4WjfEtF^*$kLb> zD{9EIIaHo9+792C&yQ&+dlUdj~_|>!aSy9lQ?j=7Cle|Dy3fq|3 zd3`q@*yj5|_xzSN_90e9C69tirmEpU#+X*N80~u*WTN{hU}PE122Ge}yOJQ;1V3)( zpu835!JylJFu~id-5WHr;_zXO8epdO`GC3iI7TD9c&79mC>yiR^ep&>v2^Yu4!`Ed zjbn<>X=S4Vc+MLr->)+m7pAIUtBt)i{{(W|W*xoU2L;ww5$flfWF@$$y=W2FsIsQP z@p%ePPJ*kPhas{>Nk*2aR_60sQ+~%y9kOigBOK4u82D*w2J(l^5_+l+0c?zzEIPag z=WCqMDkEmfmuk_H!+Wl^21}pJ?Nqe2yw(~b?dlmm8ebbFW>YOnSj>ykwC498Qf_{E za$U;C*a<6hWW-}hJt{sgL$K8;Ir5%mJ^H;IF4NelO=hVP-y;1F()PQAbh=!$Z(mh; z)bYwJx#WoY#1vVMR26P7O{t#!Vu?GTslGb#ITAtpvTp_J>;vt9r6!v0?EBGj z|J0oyYP%TwEaW6K-vQ4el#e{>{F+z_V8j(hTRZSgmE&46rimE|fNlAlp*GaL*ri=A^LezsuHnw} zp1P*aHxbui8J%$3$>|l%3_7%_bJ|XmvqH{rM%iY^84LS~waFx^NSG=F723&FcgAg4 zDgF@yQ~QDy<{gls{W7C&dOF>R&e%8@=c3qU7B{(*d{B@g8Lo>(3qXXBJBhA0 zZT2oF)+v785?rFOVw;PE>9(}Gh?wrc9XD2Nb@`$H`0Bsl0{qQdvB&ha+|C85%F#1DUt8 ze!bzcM0m!rdD9rewtsThOLgRFTvi8=M}6>VqI$XXUGAs!vWO33w6zV}W;-{Ky>Olk zB7nGGSW9K;j7|Zt)T%0`>zJDoy{c=!e$xwTWyAg5kPEPYhtAtDw;Uk`WI08_A2@xo zf_Ar_mV?d2q7#zy%x0eK)s?lH=$?0V9j_0_?wPoJqvt^FWwV*$y~-~xN10^FMRXg~ zvg#-Lmylr?r+UuGxz@YR-mtZt6uRvuuB87f)<{nQMjY6D|7n!>CT;X?Q`8Se?54HZ zqgih9OmdgAv%U4|z}<{=L}f3firqA0;f^IpGg@LP(v0%hacT1FLYC<4g`dMjn-k(E z9UW~&S9bmBvzMT}8uJ}CDR7Qb^d^tjzjy3mTh!B69HXl|X*emVnbsEd!dN3I#L!@H zpNZbS``_@J(e2f<5BiG1N>8f}YMq$%ct9v#H8|A&+ptA)$j1UKAPHY;Ocfg`u5xfcF=iL%DcR@*N^kS@fX{92hm9B2cKX-EPmRTWh$^hs zIGFa_4EMqKbi09Ul?=|rxCd(>{2ysEkghV|1kM|sMtN-Zv>E(0NLQ)jZW#AW>5-~# z*y~fOR_*mO%53vjq3@^lzR9!LGNF8_YWKosp{3oy6}~8aBEJ-$cc`nScu{{e_x46< zar3ia(4p`2)JEyO=4Sz*L-Wt><^LB8&noi|(L8ec-y<%}Rhbk#TygL4Q9%W=&r{u7 zeMC{azZ2Ldk4vgaaDV5s8+AVakJVpy2c6G8?{^`|V@p2zUP$ne4LX|rapu=EuHTT> z_XT{RtjZewasGuXFf#k2--Q$pji4?06zk!%aWue(4`03~&{dm;h|OZS$Ht*;F9KVX zWZwk;e!}T+%axV$sTG$HA3s0;G{~a^WHp-1ecmwtI6O3ZmkqZ_ z98&Ohg31OGe%{~%pKe}RlC~JU-)8j3g0!`fu5|O_*LMlS9Y}vQR@yZjM6o58I*~}x zsl2+chmZJ1$z`3oTw>VmM!n_Iy4=-?T|wuv&-j@qjr=7EBQimz*}VZ@2Ve7&DiuO6 zBdiY+(UO}R8n*RZaU;~xS-R@*Jm@FX>8h8w8j~?8q#CUDuAe8f<{`)v_U56xXWi1G z2OK`oY9C3Z$Sp^KYfEy{o4~~w#l=2L8#vvIy!=OdxpCtFzV|Z3bON@xY*C(K0B5wM zG}^5X4}wm*VN~oUmS!zVvijijO?(VY=9W&Ht(O*AXf?yW^uj@T&9ftFt{~XPU7!|h zqxGY>yOw%PK9|Q++_0ydcK3m8%+?mzvbw9ZdO5+1&i()-tEUWu*jy;a7;ZysI5jR@ zyiMarlD4&Yx4!}>VX;@6AYW;*HO9y!TkM(iMT)aH8n|g+P4PyX#7BEyC1X|NffD(9 zp~*y*W77(%DR|2V9Ytnxv+#oiC#L3m`p+#Xt9E~e$-T*KpRvM)$yF`1FK!yg$kG~( zag?_3@%HQTop$PUi3Vr9UHtM6a7H0qWMV&AlmF7k?ESv!iB>!3euUk5(D|da^9QSY zeRsj>Pa=Lmmq1nCkq+8B4_c3^srw`EFppSv64g^9)SFi3Iu;_EygL^no4GfE#W-(Q_s{0bH6z5#B zP5rjTAiD}|-lLX1D~qeFssfvx&Z=7MHGrF*PN@Q0=9Z1v_RfWvyH&v+_YPjopJRlj zQ~m`uT>}%rK(|va6Z${4+qRHa>@p}YME^8gGmSQ%ZPYGma=EZw)cUeEL3Gtin~)T) zyi#+s=0x@3;%l#S-bH)87&@@(u`l7N$;B&S&+4DfJ$mf}0?iEHTu_6v5wyatgN-U3S{9BZkFGUZ1LB3obT6vY85^3*g zRJBh1)INsgiP^joq>D8+2vWr0m96<#)F!V% zYo{jCAvS=q$Qm!;SIo9dz(<$umZb^jK zl`@Tq5NF7j;Ij0nFTu*FM#k7Xf}wX*_w_7w$Vye}hF3M^GfcU^F|f`v`72-}X($Ws z1OqZnNJGhU?J7r0a_x}&H>k~>ptqWh^__-GQz7zhaOh~ypm+YpYPIs5cQ)K_IjMeI zX6rKgV!+EK5n5;#lu%X@V?7ECD`=vxR1wCJ5v<-Ni(0LIL7qL9B1q6$<2dr{$*hDH zKo`XkDZdKOBqXpkXXx6P6o%bf%3h@WK-A3|r)rJjC51lz@R@FmN#Sr_VYF80`zrza zSpP+}deQ8`!_FaAr+Us_O8;=*QY^a zL2=$1G$eoB*~PW9d1<;5V95F}Osou9ij{!9TktDz?OIE8aU%lacq05)UZ7{@e{j=< zS$7Zql<&FrvWqyLLRkNmzBF#l%J7Ck+$?na^(w4>yB zR_txj9=R~u&Wyjo!Y-K<1MA%P0S!_O#`k0AC(Bo(9@ajOq8{QtXH+#+=V{bW-d*?#czCDgh2B+jC8;79Wwgh;K}wFH!gh!^%WQBUZ+K+#TJOOZHXj7fII_+?RP?IuF^6KQrNbMOocfonEeCNHx$!$pfhHe zKjwc08F8Gn-&$*cncde3wlAd}L1*~cCo}iV`DgznirH?y_EQ{5iW?Nw#^TR-HsJ+r zF;aAuabS2sYm68@$EBcq?K_O|NZ|#8n|Yr|)%IoU^~(hd-1_|dh57n?@2)RNFa9Uq ze|h@CJNlea^Rui5lqBr{F3Z@b4IxR}jjkXgPLTAiefZCjeeP_`XWnjJ1q1bt7s~Y+ zWIpa20=JaXj^c)lecBPSTLNw=qPCR7w{xSOK+wkqWnJMDeWRVV^Z-Qo0csQ8X>B z;j=iQ45vTrsHkKg>iHKeTRt;xPpcg!u%yyiX2ThAF0fKpZI}7HJk6F)h3mTYw zM3KuhHbYX7qeXnpazRaTlUT~jK6R*-)zmDXIb;qiaJklt)!PHA=RR5h)pH(=@zKFi zql3mV*LipQwV3R`P%t34S7=f!k%7r{<*)Z|?QD>V3bM)N?~HIF0Ud7svui@UkEdkA zLWj!XFuq(-no&0DA>^?QNB9_fsR}bCx}d4B4;o!ocMhO^{N^rKZmh!I{bGp{>$QqQ z-RcVasvCW?iMxYGf)cUO*2F6YTh z>=5^GUNJG=XYWo^KQ_c zkNY57X2*BpJ(Nr@Ln!xVZj*;IeD??1OKBo$5PxBmW-lL0;L6?Ng$jsGA-;>}S5Ee@k+XYS0y{ zr;pC@vF+K<{7RE^9`~7nON&g?76-fRzar+8u&FH0%$OI)l*jR#f5J4aY+e^vYlOF- z#cv2^Eb{KgTpB5R_&wf~ge(PLvU%*fF&|K{4Y?re?0MhPgq*)5B}X$TI(y!)^e!&PPGf#dgxE0eJeB4>1b!y*QAa{I=?bET#h==yow z8DJReUT4e9Ya`g=X-&R*_D;W?Te(1kK8H1Zw4J=72|8+oYic4TADngk2ic;2O8*o-mnoo=$OgxOd#$Crf9JceQoM&mkY9FE zq{qdqZy0t}F0Fc1-!^wUTR*;0VtHR(D$(#eDXvTXYrB!C=r}GA9fFWBY)u52 zVm-Dcz{By;?r?Xk*ImkOgu9vhz~vJWyL-?7B^=FPs}~+FMjvSO?k;z4^OA%d7=IZ4 zO_=34NMMUT%`1oUe$r#xRDuGtANpO0^AHW%oqgW-n*?~Dm^;51cpmO?e(rpr_cs3S zLOm?F!v2+1Vy*Qt&%W{#JUhQ5seJ3>|z$_wneh(#?=Vjir^Le<6sG zI|WL{sBpiRbc_{uj*&YJ`j2=LL2(#St`g&$Y?LK&Li}_+yGowgUg|D+xD8Hlpswdg z_XU%y2io~K-2Tbfv;FE4?UOxdiDqsO+Rrmz1)cWs+#LNd^r)rA1hn8)yIwxFI{t`M zV_Qq}g13y(CNx3trlpk{(o;L5C0I!RX}GsF^@AWtoB+WN?eK9%Xskpgew1|8wM5Sh z{e=7vyn+{QKi4lWf7P%$e5P~)F)4e&!YcCqIX-B84c*UdI1_=NI2cU(yj)p|jUAO9 zUZy*lZwzl+e3qKuwDBj%jk#eq)^pXUsyX138c^%;W>>j9h!Zf`KY^?yr<4^ma>kc* z%aAv|@Hd*=5i}OVTmI}O%v6)`*Y-&m*Emkn9u=EXd(!W?seU!gc(JubOUB=Lvb9O> z6UlcxVcq;rM2t}dEY0dO4s8scm!(S@$&lb4=~alI;3M@_X>_E-9ZiZ^M5# zNd91cr^c^Zc93a|mY)vHR!^S4o~@ZOe|=9y`-)7bsd|67?Y0Q@OYk(O2>aRaC#a0K zHXp`+EXY`6^0CT1SddW+ua4PsP3vS2xVrD;!qqK=RI^X^{3fH}Pu}CyxyQN#ex14J^%XJof4qB-SoVQTR)U} zC#xTd>7VA)&G;F&Qx}y z|IYNkrQ1?xI{S{lRGuEfVmxamah{G`iB{{zlfTnhSNa{rM>HLf`D(IT)r@X_UR&w zX}~(;6Rf(gBvSJwEg0>*VEe6PNVQkW_VSI28xajs{!aG#NHZ^W4Hfg`K&epAw`2SM zA6@4j&vgI(@yQ@tDH2g5b6y~_jMKY6sYa9*C9dKSNro;<>)#vENw(4GZOrAP|y4+fPujx`?&U45v zWY(Bng3GbQ_T!g_ub5J8`m(02d@*fd~d(sSaZ-uo8W`#e+2v)#uP|?7T5KCKmt%*`uKIWdm+tBTC8Vb&WBAY ztm+zUmYoYx%s^fbuI!?5k#t62WGc6GjC>%|UW2^WTOz!4tmkyU-vT41)Rtd5iw8jK zHKY2?!^e87#^oH?ErqdV23Y!FkXSCHt@e}Tbt=W-@;W`N*j?@6 zp&8>nQB^-lmA(jT15rUe zsk2^z+_jA{aR(awaZz@vDKW&u1d9P`7a0@(K!ZPl>o4*R^uFL#YDWTrhLb1g4C&~T z#MZ$0*DhMJFKD~XfRZ`M|4AY#Fyr;GmMoff+^p6M)Wr2SK(>%J{(m^f7<}1l(XarZ ze&LZ2eY$RF^Lo}JeG4I`BJQzC*i6cT76a{NWXARCwjf0SU8hiU5+nwtIg{~>Dq`R< zrfb|R8QRqHt@KvEsbLsErT%7?G7+QREWEYBL@Bxm>h+8&e=@$A%ZABN{WEI)PZg(S?b<31{0Gme4}DY#lsq5R;iC9qjYOq)Iprn$ zI+Ox%zhGv;v>!jSFiywMjX1)mbNPP!tgOh?YO`;;*ufB}D`p zO0AFtl()X)FsFnwP65}A$6)3vB( zXmA3wq3y(d(OZFAUqr4Ydc z-iMz-3QMo;(I=;HWYhW|aAdh5wYJz{74nogBP0$QQc^{dMbVjospwMuzEPU01r%07 zAlaknU#4>87~NTL{k~zE91*V0r~tZ41|SCTb8!VmN0 z)XZH?mS--mV6W~Kc9&M`%?SOv(Z_|YY@o3uJbK0am+q1Vk6INZ4IVB7k>q4}i*xo& zlIsirf1{d(-E3h`=|SrbNrRi5H5B13nlpi4{iCN;3~%m()5(x7!_-M3Hg}cXpWG~? zHV@z1Bas(QYchp8l(5>6sdQ{0^_5<3FKo0)3F=VHYCu}iv2C?VdUFklxQDFoOIR## zU3?158OEcq710Wj8tNDAGU42=B~6@MNPci$TO|@|$>iKZ$3ENfq24-!Th- zO((;l3|uLj+zQv@IFK2m3vzSoJLN|fDo~N{sPfK{w->g}nRI@aOsB{p#*Rp!t@N>9 zF)jRuhZ>Q%Y2@Y-&f9bVzy^(!A&Hq5(>ymB*Mx6jM#rcX;RhCPaW~V|fRapEXJKyM z!ac4MJ+}x5nK;su8$6#SyLc@Y-#wTs7?g?ON*nciEvhClrsuyQKMXypr_%4mQB9Jk zF8~Y9jYgh}&h*$~c}fI=E0D|pE=`3$LyzbtWd>8xG7$}fXoCeWi%8%;Hy*OlFlN;6Tk2*egd5a|hNp5oWD1dZs3~*W$qws$QSg?-6(BHCwV|8N(=^SGx z^ow2}a(S=hCI@;-F~PF)&7@$MByiD;+7G}(9Te3n8Q*i2HR! zh2?P$@{1_4f+k|_0bHHe#Y(Pn-+NA$+ z9@ox)678xQj=lX2B9*PX6Kk#u2XGPwUALOA8}t-0aXBt|JJmXbwJlJ(B5Vz78_`5v z{w8{Z{%Li2;oVLA!RI>~afdK>Lht+&`wbg3^U~_v_od%eCe-D{|BOStQ>~FZ7fghx zkX{SkiM_}?GkieGx0QHGb4TL^Elog%b)}kHM`Z2Et)sH`iLIl%?GukOYs#fpgGI1H z*#W+wTl2^Tz{uW%Vn<Wwczjy6_T%5H`#7k_+cDu9c!ZcUrBvMc}}*_scm_pro9 zh)?my7)fb&AH;j-niNwX>)HoFGK@os(4DbO#{+9xp)%pM01*C8HPMn*iT=*OA>nR^ z0Ay4#2Y1I?4fuCCg!eJoMPIUdSP@kmLKzxNjMbB)0~w?K>xV=?%HGl23f)8hqxWVJ zFwHZRn4||x?BvBW3_f-^hgsL8x`jce8mnt%<)N#3g)=*U7;T(ME;m2;E_r!`=Vb3j zx3oV~0JPYhG&uOl<)pphr=XL1DRqelDv@^>r@|D6^tKt@oj>={0vLx9^v2d)-hSoW z%)?V^OK?TpPI~$7VfWpaVf#lF4&%>p%o@Od89tnT@X1aiBAKR^hCJ)8_^@6*t?+St zl55z0j7R;1wMIrg=WLTnKyN+A3^)uQvL5u>1wiU2T{dwMtDu{#(f5NkNm;faZq@AM zy&lk6i$C1>N-OnY%_FVXkAluyqX8J8^9v78x}4`C8Vp}oA~!*glv!3>SgW~5AEg8QFRsJ}?{G1XxpNAeclI7FpEovh{i=?T{M1CMpQj&F~&7V(FG(d^G(3|4;f70vh(CF9fUX;HS+u@8@2~`vxN2HCPd&m)2K5WG)WPD@v|LD$`y4731`* zdj%zUYBkxdI=!9jRsgl0y?;q;38U$k%B)Az8%13)7F`pT+T2HthHij*HpLi8FZ#@5 z2AdO&^cE-PF~h$LWT5$`(fUQ1c|i73Wi)_cBvowjSlww8zkcdmxZl_5I>V$1)|h&d zD1cm17ELL$Y?`JdpTV0MMXMQwb7)FWNvoKfo+x?dJS_$`bG{TjRoyhCvZi$F#L0J? zD^vk#I;nAZ#BZ<7ruvuazR_-fT{-v-yFHvUqW#5dtgjqA?fTcL@3@WsHbf*GCpwb+ zT;nhReTmWHe`Jqbi@n$V?0N7%fV#)t>w0!IxL~(qb;yw#%cH1!q`xy>4{7Z}zd3GJ z?RCW5(*Friy7hXy*5jvd)|egeJaWQv!ten+e?CF_$DS zyE!PaY?fOf?Pizy{swUTQjp~(#wA?ezY&;!L*p(vTSeJ#2|m`@?)01JUQTrh(!ESY zgCg5U|FjqV1;(Ps0xgYo07TVF>3^PqnPCdX{ylA_QgW>#cP(C<*Uj{<%H4whfVwvR z20#z4o7Yas)s76B&#H2iJsvdh>852Y9>i-O%oPTf>w{jx zq`3P_pk(|w{<;gdL5|!3Me&>v|f<=hIq1j z$dh5OM6@o7@|&zhiHFz>c-=(*EMGmJC8d1ze6x&s+ad5>{DH-kCE2xjdERyq9F5<# z_&F4u%?99GXj|o{lKPo^QX2ekf=+u)`n6%Rg7>DrBjnG0ALt)m;Z!Dly}+h$+wPuL za^hTYe&Gw8?Bt{;*aWWE-BYo2kjSXHx%@&j&R}xV3v2<0clRunpignDCuKbuH}I<$ zMd$SfzR3{d4qjm~abE8ysdF@01PzYeez7Cb{5WWMEdGUNVp9NZ!ohPc;ydxe1` z`^NXBss_-0U??GI%C98E#UA@!m3+kt{3c81bG!8TCQR1b(uNWMUu9|6B1^mb{qn}v zVWf$E>ZODirTQg8kh+nd>G{Fvg7w)3o|7lM#b7h{O@6^66ARePHc8HDZ}Mw{l|h50OVMj7^w$7+KFIM;dY1 zKO>UEPK{gwnad()vKO&zD$a-qtPDMctU#_NZW#z)!2k|*o$}rldU`<5XL8~XJ-w~$ zKYCaDi+wZ@3PMIh?L3Jodc z7fVo&tqZ@?D?ofqo#&l}-B*obI+OO!xh(0l=A+DKJdwxTKa0hpb^lH^4q8HdrgKs3 zAh1Tio9@gL8TQz1R5dSokl>srqe>X$iBLU`198xrb^>H%3Jbu#eUZt4+)csaeV)us z_-$nqg!GBwvmpvWnt$mixEcOMQ5e);SuL-TGDg>M?{nQut(6N4W+xQ*@wzZ zrVQ>eE`}xD(v@O+_P+2>sxbhh%!Cl2)&GJc*T~*&o%mq%8wNc@j9lg=tD1L%YMGjs zja=NcE}!`oMlQ3OqLkx^VW-3>-DPK(!>@-gj*!f9?i#XUdBzIJD&j_U#mbBgkbT6v0;%JkA}e;kxEpAGTX!R6KO%W78=^WN#D1193IV6+FbtNmZ3?(V9h-7E;7+s;jGOzZdJK2ZlT<$F(RzWrq538fg zGfq->g3v9xkDJ~En!kb^A-+*ZPa8gFzrk9Jh95zaW(>_3z%o)YSF3ml748adXSL&PYt=F_QUeKw_7$HIy=qV6cl z8eN7JE9jV`)%UCD=D>nKtd=nH?vLfGYpG!SXtT5G?c%KhaV!1v!)AZAm$1E!aU<`} zivEfZ->z3g<3`^J(TP(20FRq3xsn^lvG!r7l-sR>Y$P5~PaSZmY~J2$I&Tde5h+Z} zqs&)4A1tk#No7GQs~C zv0c5R&VLK>n0iOK-D=2|1n&^*DuR^5XJ+0RL+??{G%wY!Kc85v70-<4!qI z#ZBfp!yd9m5Em(n2>rPVZQ`L)i9JA7c~Mc1fMJ|KFo`o$Hi z1oZB!%?{}O0(H;oPs@(*_z=3;78jjOuDlF?|2Q=p>!Vqikm@Tq8ufZ9vVJVl!me81 zIsf$V-X=n@!v}&#Y1ju+QB;y_*u;R#`f$Cmp2Jm0_uwa8=ladR20!UJoQe$SI-F_` z>H^w=_|lO)Q`ORu!p&6GjMD4$%3^7%AEb0}GNw?P?1!BAT)zavVAlKCB!jStL8zEK ze7>`)Rt^DoqTeiDFBngA!%46mtQn&&x#n|iMX9Mc?8K;>ni>!-qc|R(M~;Qd)5AgJ zT7sd&+*F=CIYNp}D$1-`pv5{=cxD)iT|zRSBXQ37=d z;m3XCMSEha<_6ytS5XoN3~zDogde|3zax`WH}wOD`b|bd9@V_il6y6ED8a-_|NQVp zsid}$M+}!R`C;zvgjy`#r6_68Fh<}L6G!#n88yRNa_Fh!^x>kUbUipMw`z7^Gt{BCQj;m>Lk1fe`?1MP^GZFTP|Tm`xzTrGEt%#OdTSYv z!u4N`Tb39C(9fJRw_t@mp_247DIBe4G|aG(<%I%DXVg4q0sw>tH%!qB<59O7M=c{<1YehJIu87$nYlF@_@zD!EI2{noGH%Mvbt8)jaU!EK?W zzCF;W-Yt2I6LSW2O>0}_PepD8pTMr25g~uQPvql z@W{`|0grq=lLPh)F|D$dBDXP9VhXjeuLf1NfSt>tIpP#s1jDI}&nOQUV;l6culHAl ztFeVgZmwAH1kh!?ZdAUo++r+W_=le~H}S%N>)CABg|S%VO*8}DF-$nur@xE`bzQtf zar6&spS0?Wm@QpsES*1?3J&1>0w%tKzmBcfEB`K{yCO4~iI(M^tFq8EYUGVDB*6F( zZgr0uIbv!quFx?gQg~n&D3gV3Ru7jmxxkCzq!;!JE5r!GgbvXtU$6sq@vmx@eX`D~G0m|R{@e4LeiQ-srjsyn;Z!uesEz6 z0~``r#g!)aGZ$mnI#?&>t?D2_NDUB5Q){OVsUWV^l<2j)4yl-0S1T<8zK#_NuP93A zIC*P`F?0JW=!V|C*JI0Nmm69k(p!(X3OjEVvfH6&A$uF6wIse^6>3`oL{w^9(qwy| z`N!7CN*B`WOJK(7oQl}j9d~DL z-&L1dhf^h#x&wlo8D(ME%)iagD-ze~0V`roCQ-6mg0-Zcw{A_y^$a^b{B7PZu6`wjGL_&%2`*w}yV;y4qgc#;N^} zPVd9qoxHjon*3GYns(#Q`YH6lu~!%VA}ACrlI9oX`xg{yBgZV_bX3TJfgbm5*YPBY zuH~6093)2`uROC3=62ue3{x78nWR_4N7I9dG$;34k2hXEcqPrr zZCSjC%Hu?h`m5S;UCQnlMB{h4rIUrq`*IjSNqT$V+q}jjJpeW-DrI(s)YW)v8@Q1y z0Ss%VFErOgYJ=6%`yco?u0H9OH1_g3mO3$as1%z=P%l*m26j|CCe$J2#Fd)si8B8Y zU>v6{Ex9Qpkn&Pf5vfZfzR3bgmB3%R)Qo_^rf5A0x?K@uu;~@c4%GaL)eCCQX7$b~ z7a9MyQ!HLzeY(7EwZgJ&R#1z_s!vzeeU~ge_A4O^*vcT7SQ#Qm zNay|w;8S=97VAl72M5p}J|May|SU*>u|BAzOG`i`gld&Z$sdmR9R~?7y(76r2|06-=!W?nVA-Mu*r& zJ}C))7OzSe%liQlx<-JS0y{52O^KaHwz6hqy=7mzoaz>24FCs>us#|^%NUJ1r9@ea zy6YkU8Ac1Y#VVA=F#5!4bwbteqEv^w6@R4epKmCCy8^QhbuZ+|(3>&LJ$`r$dLQaM zQ>h~NBm4kaY0BXo>hY+x^=~kF9Q3zv7cAu8O3PiSe+T}(m9;77NWi~WsabVp_a?F$ z%KrToM;8B`&l<|ThnE7@C9*i-Z`@O}x<;?f4DQ{TTnU9FhDlJS!?5#Bb;1 zHhBj*c-Q5`Ok5M9#UW}=D!=0;?%?DxuiSHRGpKioEvfGb{qrMBGu`$!6P55!53N*S z?YFEqyQ?4yoIV33{Ih}yGheu64Tnck_4LmM?nC=8rb)J zFrj?k2m48K^uN@njxn<1f50BL#>6WhhO)-JmFEM+GO9yfb&F8F#F-W?#>rT^| zK<($4ZODW%pWFCti)ZGg2f?@TM;B}6rH8@sOVU$a6a4pFXN; zzmGGUxVodX^VFP~TmRnzd{Wgeh%=kKYFXO(lU^`y9QoAi1Hm*->D2biL_&DWvYDsC zEF5^V)7TpF^)@qnDuGQ&*NS(bLiu)1)2v z;TdKN(l-QL1(zoGOp{aCAA(=1Abn@ME@%G0Q|>08~z%^)|85YwN!I**rh^ zdBKisq-%G5m?8^Fgg*3AObZ^uV=m|s@-?%O90oDcV^NRQZ*75`{bX%n?>TnTSVF3# zr6oE>Rbz4=3BW3hl9)Yg>_}=(0Bsq5Aewt~Nf*-ZdTGVvxPj>a8qz25#+^mvOG`rps`eyVV7>%Mdt$ zNV|g(IOn+-fuylxNG2b`U3&nGv;ct72&Rq>U(+Tn*ehgKUl(bqT>)L!;PO;vU7943 z@1$?c6sgcWWp3=M{iYD`{bX$r1iQ2RM3Hja%lig=awcDr) z;fD7TF9ya}9^FJfl$Q9ACWL2N;%ndh3ns(zQIR5xM>V9zkqNU+HLdFACc~aG>%lTu ze`ZaE^mh>h>st&5=~du1(#@X2ZrP`wWt=M2-bO!Fw1e}+vtO~BeJ;@AIedFx@)&A= zN4;U@zTCspPXK73{;l=OH&3q6lDt4_4-CJMIu+P&)-fegq&d~7t=U7A>4Z2n-vmNz z0SPopYK8@%nn_^>YS*DR7p|0ZSILP#vG)w#hKn1sUjr2!HY4Gx(}of>xA%PxZwb}! z#K)cA%ZU%$#Y2uZRbLmcvW|z`4Y$48pVAq90IM?SyAf;}VtX|*r8D!uw9QHWUoe%& z9e?pmr_`$PJNe&5gGXShRpCYWzl#h%fJc~8tHu8&x#jp({7pP1=C5*|r!MVxQL^PbAB#xKh(xuZL(fLsA$ zI3X9VP;t2!$MJ~{5VxQy@hwJSe4-Adm)C^KEu@Z5azYs{IC~p0hyig{y@QpHLeJ`F zQ@vJONQZQnlh&cMnfW)-Tl9SgmP&P`Gbrup{0Ha+ecur;1q*3d_j2hj+DzYf$ZLm1 zIul%p-^f46TNZa-`V_bZFUkK^D)4Lh;yha>_;;BCSL1i_FY|1F6K!4(6I_Mg!WT+1 zO*_p`h*Vl|njZi}k275hLn5k5GUgWi3?^Giaz*e#dV9MA7VbYe+hv$JSydp`VQ9y_ z4oFf*IF>#fB%jNL^)-)2IIvkInH>vQIyK1XTS<%=dZS}CR_^Ke3j6if$mwENmj#~p05uaGkM2IBSPaygyT_OsTIDLi`DEG(3yw)F-Nb=7}91fI0 z&lbH+Bz!rZUF(dx0b51cn4x$bRSsK41q7S9gWS9km+^^kjzN8CZXRl+h|5e4%NQBn zFOMDxJa3L}L{ivVcr?eLk>RC_np>dpfxen#G4k1{G96RYJPk?7#PBjksmewk99=@Q zbwm^F1=TeSmBhl@4@|BCON5jTU^Zjznf(cy7o{T~l*P^1k4$ctPn|Ei&ELLgI+5s_CV~S~vXaRDZjhL2Eznx?<&IKgi$2=YQp1a>$tucudXGcO2#XOV9a22SB4g zq36_3J(0<+pORYip3fb`$M6B+ITo69OtuEW1N-FcQ)`1@b{&mDeRhSl9g|aA;9US>Q0t9+m9;fR*$&C}~R zi9Yl?iU7k))>ouND%HUKg3!`&-`>Y0`w~WLcoH2R*#Ckn*T)_!GhrKiFQK`HeQYn- zz~bsi!TSks8q zTC6^0^r%`A3|2|l;ecXJ-%eG;>JN@?RI|9Q-^$qmv1l|n#{Sf6`IC6T&J!$cP_5JP zRF9&}!H5{HBz;-Zc$wqe;<6?56jJ9V*CwfjggwiZ_!BU2d5BQ|baAl7yn#vhDax&H$* z#%GM&W-M!r+;~fnGn(Rm*_+1jfi~&Q z1K)teBJh1g1K&>MAn;u|3QAUjg{+x=XXJi!KXe|c8_325?Ut<=+i=E29dxU8+k{}` zC6M`#xfJ@HWe;s4K3H6DDN?3o?_%%}C=JP$yYCpP*axqbY~; zeT)g(@jg{`{}XS0sv5Kbw8|t>u4~1<(3NQ%^c1CJ?=Tk~9Np^hKY&VP2A+DV zuu2xl!r9ZaAuplab`5zSQ~YM(2JGn(6=5dM9ld?@J4Ff&O3$(Tmhlj~uT{EU_0&VF z{jk%wBsaS6M?7#kb4yav-4*eGb5}%DgIK4oP!&(KaE;hU*mF$1X_%V8i z71*B>Pw=oa9G;T2=$LYqXvT%mt08KriJ^McWvp_OI8^#a_?qs5KT5?tJ63Tvj40es z`onOQe+}CsEb`!h;!2~9^XL9BSq0kO^590|n!x=}6;{e_q@6u$auT$??ZN%T+kyLE zD(n@Mgkd$g&nFL9+%r17_;NmZ=x2E& z^RQuWn#{xc|ADE@c>V}ak!n;dd(O|~Vb6n+;QdQlbwN~fE%NZ#g%ci|K$b0Ox0-ea zzJ3QiJYf%9+tMC3JqmpNQu6@vFzv!QkMqJ3`)`eNzB-nr$uTLBuBnOiz<~3L=q0$5 z>JJ+%&digBEs~537DX136?n~gXbgYR%wk=rMoaQdlnD96I>w$C(EHo0&d6y_BOcVo z>${H}RY;Qb_xNOc5a-sm3@OdlL7VI4G~>L3E;WpzAY* z&9c^Gbtg@PrN@bH16^M!D9KunKD?y51ZVeX!SWWO%gH_JKN6cJ>mH2ga(1Vx=z+Un zgeKcyavm!ss!#?yI-s&1tQ$h8uoWc-Fds#sg%dV+jT9F%<{?AP0&8o^oA0A`vZCkd*@UN!++N7VW5;0PH^d;4gtfkh5BS$IfhCSJEgXa`kn!sIOPC; z)FC%oU;>-G2&hD)0}nPutv>h4Mn^0$@%u)Es-arq@6rPslfX>+S%J2qvYU`_6U5S0q=a|@3@IiCA! z+UEFh@!?GBOZ@(Y1OAVPp6x9AE8ws~lE(BQW4L5Dp#^x}ROr^-gf@qixxD<;S2*QK zH!ro=ESa2u;8z*;hdrzsx*iA2q^1VJI!B#TW9{XFm&M`pE?4`Cex-T%>B!tV;{%w- z#LF7C^*#sstv)C`o;>TO_g7aU@Ui4t@Gh+I^GTtMTt4l0Y2tKvG!4Gd(=;Gv+gteyW`>(+4h$I zVDZ}6KkF8s%zF>z-o+pMO``GQi#GG#gSo%UaBc!#d$D`oTOc2J*9f^nB=Wx0_Ovg)~QV;fuCPtRFOfnw?I6PZbvf20RC4q z>Qj{U@%7vn4^pY9HS-zBSq@k?e2m|aMn(N?|_&Qj~(s!Xa@-I z!?6eO9T88Mq}!RVHLm?jcpU&<&h#1j7Vb0Tw+@rG;8|m#DS0gUqGoTS>nCBhkCS$6 zmyA0E(dhhPpmc4&il@&Bm(5bP%)W<=l(52)(pSYPMYi1uDZ!XmeLh|~Hr)xAgI_%E z^BnapnEqhXm2i13`*FCpTfa?L;bpB4c~#ky*S#UxjRh$%;i28pZRZW|vN7}x@dCE7 zNB*@m$Q}5`>GPc{Js8U_11InM5fmI#m@Lc(kM1PNHk+ zfY`(64G=4bk|*QWa+I0{H&fs?-IkE*H}@JOJ&EL*M~B@qMGHx=9t_T zV>yG7)+&av*lq)-ncJ;9&R9SU8fSs=Bt!UgmvAyExfvBUH-wSM#LZ7sd#II!wzkLR zI0ViL8ZW|r%j+y1dz@QGkKD|M^*GpMqc_+A&gzcsFvQLc79^3swsh6zd>c`^*(Krb zhzNI{iv}c;PiOQmER^Dl7b)uy(gUoOhVlR?>jva*z*o>$7OfY^9{SCq^+R%ZmZUrS zCRS`Dd=FzaO#UNxPpNvHstE8>@Wl9@zAbH2dy2&#asi}pod8gsV4^}iXy0nRMTj8i zKc&WfvR~+bLSwt$IM2rnN+*Jg-o_F_0hAi`E)3GeppnP%RUFxy;5B92=FbdB3+1b{ zvxP~y%wS^zQ%|#PF(E%vVY2@${8*c`q?h8EhR~O9O}^Uira_$_^+#XSkU3BVU@c@P z@uIp(#W$&v*#glbwyK+a7n1IirlX;f##CTFs6}@jWjDgbDe>kv`5sUFU0y+y1%p9U zsB4Bp4b3ehrg^Pq7W4sYarW+=hPJiqCu=zSFFkqf#l^V zj)&%z9US*w#_PI>O%|3RPbx_}QLhIwu13D@%sf2janBGv2Km^w@@AYH?U6J9gi0-QQ3J#DWda0vZbrYIsf#zrk2uY%4m{S8mXp%1STS;>) z;{;U%v2=hu>bzny-0LD@COqmQUQc*5EF;6c!RxgE2a!O8(kcRfW00dZ=&`5%eaO>HU;Y-qKGmKz4|B%#$ur9Ux3#)`ci8J$Wpx5fF z40x@y*c@V0PCAJapU%IJj@DNZyvVZ|W>ZHx$=f`o_7T5s5Ox23gHH_`ppQXBVC*v=y>6GekLSU*^l`fC-NcI!v9ctJbWvNrR48~{}&_%OL zA-ENP!@>tuc27w!czhE+TZ#7}huKq7DVICowbnu@#AYRAEpeB+Ri)iV$N}PG{p=C1 z0~Sg!n|jiD)aB{?hv-ZC*+X8tEV4pus!2x>z;fL3t3Bgk1x;4tVaJeJG`mLbHL?|} z>jj>90_n6A z-)sT~5bHdn;w2IaVboMj)xQ` zvd2P_meGQbT{H;xPg)?m;Mpw&9qC=;jT4XS9nyYBd!L~Ld+J?M?6*cFH z1nde@osGn}u+HYH2)S?TgVezlV(UYWJAuXOMsL`O){U;PSRVo^C#^)Rcapme+e$fs zSnvF+>_x;n$=!n0*&ZKJk(m}3<@oB36pr5SPcaUr-baazbKU`9s9VIsKtz%=N|Y6d zKv&I+4IAC!Z&*~APa61DUIc)SpaC?HE}{}E^*6B&5nre$2?Q~b)C$XJ8m1(&A~M*+ zSb6F~kzvv}>$aiA*#E>!LyJoNH_gDO<-ehxdzfq?*cP=U!#Oq*;&@WX7I21#};yFk!F1FuZ|@Clf@2=h-^YfNmw>PCofEapc4?P zfc_ox{X>y)e3ivQftdE_buygr)KLR9VX#sKGAYDxh;yn+5t2y^e?GWlOJ*3`IwjMM z^D`V>Ij2+pi?w{O&gkeGzH@k`4K2uy0~xuMRNXgfFH3T@EK{uc8L z#2ir~BlY}|L~}2+{~ri^7(bQ450%VE+!g0f@Dao8-Qhyr#Ei_RNip*Wlk zI1b36{yWnNzo2w=<*9$^V|(+8>nQuu<9t-V%e0$G*~ROpD|W55+G!`0=(0mIr=O{9 z3colOci!>uug@t^=BdYCT1Bk`XQHIH_yH0mV_$nTP{z3SXh>28T!iexlv^Dv(s|UW z_J-{0;0v8coojE)?hwfAE=xxN)Q-+>k0W21snL)i*eOHa6RW?=XGb4g&1Y`_Ir3W% zibnd=?wFd`fri?)r6v{yek?Hd9~HOon;Ka{5Ha4A@6 zISv}Ql80F0nT7LOwZBF!Wm48?DL&O**|>4R;2B==lj+Hl9bXPSbJ*T}^Y)zTGn}a> zV|#b$sX5gLI8#@~_O2falemkGJHh5J{b;(3djO)|`Cx3? zPXc5o-M8G7_Uh?Rjjyr2(Qmz=dBxS!{K)DQRnaoRX6t`0ACCioF-@ys4E9=hb6Jn_uFOggHpPw7`evinO4I z4gxIaAr(SslXjsFB-RsDrU=hdX(w`gQZYk=*y3C4mHDJvMIHWD&1H8?1}8lDHd*=zdu{J;iDffh+qDY`gqdK4SD&q7l2l;UC7H1 z?04bOml~~(Iktx#+uiQ;H_Q51<|Qseb9cK}j=6V`O%}-p`T0x!Wpn{3yWK1Mg!dL3 z?-rY=&rt&j_v{#Plt1p9fk zKs7fAmQC=scNlNTQe7;WA0Nt%#mg;*&W{h~s>OZ{_(uo}<8Y}jq?Q{o>$J3IO%-mC9Pp8sn1Lm2Jbi)TB9`K~Y zC|O4x6FAq1RxV{vnC-W74~88Z%(`orURMBs`RO+Lp#HJZH-|0EVAqaxybkdF4F@~i z^^Xm|k+f(GxmIJTiFz{iDIN`!fR>I0M89!LtCm#hp~B2BC*7J82YH= zgwXb;%W2I$eIFY>;Vcgy!>>;;aGJZ(wZq*4Vc`xgnHZL?AfpM7Yd#+d<72A}FP zHN=f{nv!uNeYRxWC@D7AFgPnol{=OPpqyT1CBMk+j5d77t)zSBeRgzTaAwE$$p=SvuJ+u$0)C@-rIyH3 z=Nk)hPWbhmjFo|6PvI;2R@3Cpvj5Q2|I>Z7n>GN!D%qcot7ngGpzJ|Jjme&3>Ue9Gl?+o6Bm~c$zbMF<1i*r(Y z^%eX00zH?>rYll4p-C=5N6jUMXY|bR!}IdB{NszYQ%1r~v9aB1q$!~JBa;Nz#|?Aj zg$GTxnZKs&AkzqVuWCNC90=%DWCA(88;gKrCHqwG4u6Y}2HTb-fBg;)s*Zgs;^36# zM)v;RLGlE$}bn) zGyd&5*(Oq|Ri)ba&Q$YybGboOrX-J8Zm^my(yQrqY{%S%PK;CYEdxSC^R&Br1!^r^ ze8T#jM;8@%f{HudD}q@EtrrGfPI)6T|tA-8}(6zei6<=pwxMZWxmW7D`43>X$tpV`*RPQ$tc7%W@rdA<@ zZ%viU3ErQYm|6wL{$aRz-g*UOFELtOqS9`|4|ztG=pH`()$V080ARM9_-)7>88-&p zj}oiZC93R1fd3Lo5CXo#^KN`fodENF_E)JXov#jP*gS7OPy{T3-Gd*d1Iu64xSj03 zdV#$!q2SbnTVGPCX}0cuX~k}ol==YR&{BQjubV*dvNInJfWPncQ!Pv<%;GX?MyIWF z7`x`KM&qtH`>j<|8o``2T!N?FUe;p`$9lqfe5?}8+RN`ivl7f^+Uq`(=(&ux%yR6!{E5=-V z+zlf~2}O)M=foDHQfEQdYU8tc4r=3D^2mF}w~z17kOra#% z9lI>zl73STA3AeY=G^0OU01;$I@49KK0v9wcNIj5n5|w|+1tRnj4EvK&yrcf7dL65 zuR72LdY$SU+692}A+5*VFCAM*fR|zmSr}yIw`dQV1Yi7*t->y9J^{ z?EBi4ooNspkYwMp8Y0Gkhx98n8+`3@fwDt31DA1G`m88BG!{PD;s9c|69kBmTq)S&U=tM8{EX zP;Z26p<`{I9-ZvZPArAqV(-9aws1GXP}ljlxr)6;gNqy47DbV53(54%K>kavVxJLh z@f=oh3Y8C492Jajxkla-zP>xPGYS3EgS;et6lF>)2@TV49QNwUOj%e$IO;Q1QZn2ZjHHg~n^1N20-6#tFbdR(x+RTTN{n(w z#lqw$FkNISNr<&<)govGZZqBfI^z~xq8A7QJIz)tfwtn}==On(eJT=O#b*hpZB$zW z?xvXL+dUuMPBc|ltH7>dEsF>%kElwR(1=XsloI>h5UI1*B`IzQtBLMirNO7gtY)tN z2mCLC!env@3SONb%~2yp(s)*4f~tXCd(|aSZX4`zQ&ynEE7lRD6%Biy3Y1!532bky zPY1+kny@P}G>nbIm(TGGuUv4Lpk% zA~v)j&M2H1P|*t^h>``lmH!RoE>oZK9q!qa3@M zB}&wr`Upyhwf^LJ(daTO>aeafiEiNj9+d5@XfnE5kM{Mc*uE;PCXP&E+{NVIzgi2W0v2 zh4=AtgfRdlL29{1s0iyQu~uEaDr^;NBT-R3v;0>CTlgh zQy0!OyUq|J^fB_yft+}@2i9nKAx$-tHeIZmN#e**Ac$sKm^l>!${e3AUI_Cu%Is;D zm}5mRggF~IcK*;7&aEbiz_OP=Qp>-`mkXsLY%OaS(MsKMS%McIBO|Lx-Y5sw%x{ms zEtPcialp= zBhx>kh9gP!D4pu^3;Q6QIavef+9rwPjssygSwD%@amT^1u&?`oXDbYFS1>Le%7l+3WC7j@#BCssZDwX$fhPwkN23K;t8zC1}?CV=k$Mk zoe5A=XWNE9wMyN05oM{0p}3$z0zwG1b)l${Dk?<;Trgo3k^o1DfIF^Gi3kZKR6!_; zP>DcdSY#25ghW8V$O*_A6*z1{#IXD)3z(q&C(m5x&h1QR+UbmX@tpS^jTRbqAp?Wa z6nYK+n8Ay4LuNeqCOCRyDkM9_s-ND)4-$L)^5*E2z3{c}_F!taKX7!$1+6)_&9Q|? z;ZvowWv5Naj+c@L`EgSg+g@p%=P$?&e}~!bh5y&2UZ}jlt?2R%_yV`n^SR{T8@Bc7 zMoHusw#_tI!uwh7zx|F7r40U%qQHhkoq+oNf3&wJt^PlVhvar3+f8#_y_IX_Z8I)`XE= zA75NNM{$q5JWTCgcslYI{0|oJt@6+8;KwVi!qDyS3|3n&9J>0mzFmtG&}tesVkf2mE&Ow99{Sf_uPHGJD;yy>Wego@1VzqSNbonID#a}Z=}B|c9;F`U?Hds zir|y{8HxSc@NXEb#FmH%^bBbE;OfhHSEiWE;4RNB`Rl|S^HLZgWoNY(2axpGnDozqYm$(kWO2WdRjdms9@ z^xW|DKFt@dKZVJ|@4y+UcB55Uj-a>8<;+M~ox_=s=VeP>=l2dQaGgK%Q^GT7?X!gc zg-sov*-4rzjsIoYOt)LltPGwAW(LIlkptteQPmsfiuNdPnEPOS%V;qd^Vm{$tDFp5 z(o1p??WipoSA(!TuSG7D9@@n^{ai%Arc|=6X!l2#{TTh4ZC_!G(XZa7fHa=xw5!z4 zI5eu4awEZQSYK>lZp|IC<=YWMqdL~Gt)eY?=33L8)DR6>$kSfTCVmsEIbhRq7y>YmtA-K57F9-Y6gApcdW zJ1jqf{n@ZayS3V>>>kIGFHx7_4#&#Fp;I1hca-?hdM6^q-|~Kop^n{$)4R&-Ef`h3 zx8+q?f^Jyw@Q2> z;ARSj=QiI&SiC0?O$jM?Ycv+->>1psi1j(V!Hvw2a_>fCvJ0!%; z9eePF2{j3hV^Ye*9^Z!-yKD|wWLDm~8R6~kmbhl6j`019oi>3%ZZS52!I{+*Iz#(Y z>)!?%7<0GyZKWzWDn3hJ9Ju$5`7!aui9lV9+Z)S1+J2ro8)u|T>W#f#cEqy1d5dNw z`!w(QiBr0y{@A!2Ft@FJqnR%|sJz1IR0FX^keFi`Tt1FLL}VWKgm2%QI7@l-^6h&Y zcc#6cD!^MM45R{Sg%=)A9NZj~S-Ng4Qrv+iZ z4o~mZEOAu}mwGgdTz?E(H9R?dZ$l5>*(-GYA#CBWd{u8EY}bHS^)5Ls!O2flzvOrz zW5>W@C7ypeyeC6}_ZxQNw^&@SbiBbo?hn7sDSvgdYZrmDA534Oc!5*?Ca3%b&eNL; z$@2F&l`nLDa*axe8ou3{q7Ov{K1iak^GMl6Tkm1FYt#&Hw_8}ffAGl?Xg_OrlhJd) zFn@Qi^R@2%ff-Lk>wP4<>hr49qVkeI)w}(yPkuHmw$loI*&{nwUG~c6243c7_<}$9 zy1(%Nzr^`jalHEc49ncUo|pAE`;do9oEG}-$X(hChp%U*&pVj8ExPlMwYkx)f7(VU z&~vEB3I1DZE_^KdWk>jY^xWvK9k3RbyJ1MiZsuE9~3@N2{chE4tP*c{}`C^G$iem-oyH`kAb-sf|{UoqmGZ6>8m5^nZ>Scz&j*HUY_()4g6iPEPmw_*91b$u6F9yi7?x0TssVj8V2%8-0TwZ5s2An+XkUR+k zZinrX{{ybc11ArEMPv8Qkb;#1Bd1IfpN6jb>q((DI2#gdqTbI^x_bV=OHh%CLYE0OCxX68a;?f(3jD6Sk zkHaTBOIV9@it{;{MT*#8`I?dB`e@Hy!f^pI*p=j%J`I$HZLpOU^h{&LX>*v3P|3 zzMDtJH*j7xTpBcb0^H4;-R0c*t0wtXjjn%|hI7}i4&+yJ?abajt*oVILr(%y9))WM zzqqTBru%R3vyW3AD#Of&25F3cgNr_Tqy)cBWduGj*og7?kQ&Yiet$pQ<$E~usW~x6 zH@KzyW`Wsg!)LNexKJ>E)T-}eIeh-!K(qsl;+pvm)<;JC#>0T|FAdXLF)%>A_oKf^ zG@e?&8adae`*XJ(zgo_1_E=zd;q;1<>Z6PqEm}A5n;C_t$AjhEc8|?=+fJ`2s$Rgj z+=INBvdVI9lgE#W>JP@{KIDPqZ6__{STgp<@U{V~1Kr!YM4QQGH%j3j3|E`S^PBSZ zASsL{>B2$c#XRkEq#yVTx7xfL56#-P9X~HmJbL5&mRY56sE9B{zwLB4zu81q|8o&d zXMOc!V;!%+_&sG@|8Z2J=Lxo2w)EVnD?SY%Uih2`5no8nVPP+QS7R5qncXU|?Td3W zgMR{N+fbq3jf(IpYWqgJ{yQl_o2qkTJ~Wj3(~_%^^yCjnY>I~k zw%UWXx7weEdxgA^tc9%jt9Xt%PX&@WL4p$N#bbMhO?oE>W{;rAdiL0cVfC#tcy`aGXOn_#A8x^zaxqRNz#DQsn~D^xa%y4u*zs=SV}SjJ zbEMPR=rVhG`|;T8$Kdco`=Z$0M~%*@1!?wcj?>3S@SVd;+V{u8M`I1t#sqil9;w|h z;KY0#=hU8qqc+k`hI-u@dgLhkl9S1Ea%_LJ;R5>x|D?ZB3W*(mr`+Qk9D3n#DISJ= zbMDy@`3hY_<1AnIOJ+~1Rv!K^_tB@zhl01Q&x?+3c(u#d{l2{BR>KF)_ddC%zEY>C zYAheMd!XzlznGjmhDazBcHuADI*A*REFO{oO_?UW&x+?Y^et>^^B1wnd@&1U7 z*utW&k{!Vh*j)F4M7OHzAmzybzmxjqNQOXx&2{CZ3zlXtNYkLX!`|=k)2vs17CsZq z(DA9NK#07*qWJ{nlxgqdtC1CFyxUKhq*eTDTKsm7mkA&KUdpCMZam}NbYixiQ|Fgu zoc!nDvUn%IQ@5I6ReG!Gkk+Ya8RYM+_X|xEd|fZ}@3QRefH*>mjeZ)Q- zXJG^$&FE@)9Vjgjjr!({)wg9iyP#XMwyDCsaa9IAx4SjOAl-R0PzX*ZY4X&ATzqZ@ zlm=85Hr9&@hhO3@*K!&cGP;yqIOIMDABI=EW4r}!2Jq!Ea*pzR=ufrO> zdL>~C#?(Vm*pFkYhQoXGCWl_V(y--Y$A-fvg@wa5J$i*Z^GKf8XRL>3|iD~D~!Kg zVJM7``Ubjtd;PA3S6jxnHzDVz^wQ;zpsf|f9=dzW+n;#zU$o!&2JfsdjBOZYeik%a zU;ieAk7X!-&R#m*KRWqbk>07zF__xt!e%qLWOA)44@01-Zl0#)RC_@{WU&^uFNex`(+g z10x4NI|Svu>^SI>(HDHP&MViYWne`{o!=4p<8CBiBVdV3AQ5l*jLY zZ+%Q@u^8?6oY7KnZfwTr%Fn*<)I;27-{yj=V~Ej7!TQIr1*1O=|N8ktk4Dq{BE5^s zBB!UZC~WrFM)>MQu#~h?;A1&C=vV?hU}c4lNCxy7n-su5xNKhI<6@w*#~FRb!5SDK z)y-=hFoJ?LfdEn+hc&z3NO>y06!W&bGBk3K{G{acs?`uzc*qaAdD_>Dc5@IQGNX;$gcU>&cMQ zWLVH+T|A~5q&++<%bfXwu40n32ZUp!psR%>{R~=J$>VHt-_-Wmv73(OpBoJi=VwCdgvC>&GwA>8>BtA*^;7{It|L<9#r;&g-d5^#Cos&Oa}?1Ld6YL0&by z8Ymsje_Y_(**)28stQdt#aTQyZwx)$-2=-*l|UZu?ky-A(;b@}ri^I}>-B^^8=D+T z#ukp*4D0oVsRe`Kgr2aXv6*A)A=4|N>n)x$C`=E@{%(Bi<=XjHlQZ}{J>=Zb^mffy zSO1Y6b*@K4FAXhicZhX8_BGt^Ur%p*KfF_HW>HW%bd&EZJEng||4LbjNa-eiG5Rm8 zO3@>JnS^s=8lwrH!y_SCzpUo7ScUk&}&bT;xS&ePWl0Z*1U59bLcgc;Eqn6WK z47b`92F>Ez`!UYM*sPo*c>Sf?w=EzA}?F7Pz&7kPjl~; zuYU?3fp%k_i3RWd=EU)E;@J(k;oPhm3hn1Gj`uC0q{Lc2Z#6{NZ3()@wcn$t{xt?a&kzqn_*`(0hQ&y}uKg@C%4$KR^ zokuOv%LVgFDIS0CnRar;&(**9{`6|)kDq2t%{wQHr>4Js^lU70DEMRM6UUXC;~IC? zI32>>@u|;NnUCzU_lcv^Llz{iGpV~43mg%wJDuGe{M~VB36>AdkU?#xei!-F<~YOe zLh#GfgmXVwO`CZpebMJ5YkSzcjwb(r8^=Z5F85>=4DN9kT$BScyhYyC%2>os*)ESs z_N(cOKHUC2WxK^%WBcPKYfZn4MJ8*v*sDNnKnPu=L_p|%v4I*))}rk9o2)glH&#Wp zA$2delgeYj02$mabyVC2_i$w}5{i8udMD58fMw0hV1IH_e|I? zz5O=jwX(8bN8kV9_O6rz7Wb1U@NcS>$oGPJs=3W)Ij5-m~4P9ULDgeOXotbtF&QQ zPF$+ZaO|Si$WXz6|B(tXZ&z3fd6aQfP(%!27ZrwRUmzKmga3+owcIzP1M;1&Ki}75#5bGBDpF0n;B8(ML6aPih6pR={n6PMe9HRevkV zW(eFD3fykgX#;GAM9NraTySS7i+vGM_G`PWAFpkcMSzeBRmKPmfR-1W+ys4SwSkmuO z(zyfNw-B#M2pmU1;J%9MPZRICIK0+b8ep?Sv~M5a_}Y0{K+N;p^yMeElpeqFeEIb) z%T8=4{gVei=Q+cmJI6oXdV)~eY_SZ#f&ZuC%OXb3BEC^mr|dZ~R^qih=OS?JC&N@b z+mKyvnMs)4G)_{`E?UYs2zQz{oD}RIoQyW3-JJ5O`1=?e*>pL+WqifSPRGm48<_Gp z-@#jE8m3&1r;itKX~R^h;i@}ECor^B}dew|Dheg{z}Hu zE=L7I4ia6Xhtr}G4)!s3g&yJx)|qES^(%nR$n0PDeOyaFXlXB>^#?7-=M3Y)XUl`V zK@XaTAMi6ieixqnjP~LG05trOpYeUH;Ab=qe+OD=AGFd^eXu@Wo=*1lw70ddvy-z? zU5?cZ80CztPF0Yc%N4`O>T<0A2AEA*@(DnuwFIRq=7hjvFs;}zoH-A#BRNoqsR^(P z5ZOD!krB}4sEUD3M*%|t%L@Y&b0)b%$h5+T@V~?ln0M4O^D!M9!54^`FYJiR%NMSU z%{!-rpXodAXTr10Dfnq*(^l^n!oQfS@Y~3yPt=i#Uqd$i3Sz=d5Whwud=X;W?#&ba zDJgwwR-5-2y4fXs!x%>i1KTP5ii^yd_{DrgJk~spXxireQuvxw_wDdVb+Q?%h;RHB z^hR)~VnnAFY&=#mBCG=$6)4a2eWaT-uh+jNE?bfH>YqzHHzGan?wft{usdAc8Qv)R zbvN+prOp$g#-k^m_Yba@yuFr@CCMIasBNf!OLijrdUgAB2|7(jN4;9QUz?8Z^(n5t zoHEyLW!SPDLYWUpSSihU9Ofj=$(lgTqetS08_7DchjxF|@CIR1vgGsz=`U z4(=K73!N{PsKQPx@elnE5JNYKB}A7^lA8LEfk4+hk%RAe9QgRi!8b3sqsA%2DtMss zVWdmQr;mvadU;>o*Vrhk4406Bj}IMO^S*qnamdII9;kUJuR4Z9`Q2hwoEZUatRM96!BjVA=m9-;2MP%tcmz4?mgAHLm^-m{uP(nfn!iDHlW^ zjsg~M=<@(@iu)Uan;1@g5F@=HSdZ_J$-Qc5xSVKZRCqt63Uio47~ zh6*Z>;GSX_j5S+r{370I7n+|Z{UH94zc5~2v}$_@ZVkfN2OYajUf!m=lO0!?mgs21 zjCee@TpHOs^7zZm0qNsVYyQa1{(M4%8DCn;E+9a@@zRyz(TONP!50+PofedQ9dd+Z z&y5`M59Gam28%)N4}ftYeUChD&!E0XQF3unBm;BcD>5AsoCGd}&y-R-LlOOUI7Vll zeJ*fKvbR^73WYsjCR=!^K$=i$deetSN(pjFA&(ClcuGoLH-cG10;q^W0)TXvKO690%j?*KNqdQ3-bh zFE=DaJ6f%0KB3*O+3*M#Gy@msmCaV5o|KJ0syY$)qY)VK8xjmwj`?8x3Bgye2jjg2 z<0vt{hR_DRFn;=vU~9 zy9uNJfq+pLarZ#bn~wf}>vX!Z#4cn=2`e(h6#oZu#G&xMFd2fMWC-Y%j!<(N^Sa@` z&~%#wKf`}IE8tH_pii?xYn%z3_qkKMXO7x@nxp;yOy3;szF}SB=qj<^H#jENGnF0# z!rqAVOgoM-b+>dZ{4eZd>SmSgBWuGLiTDT{C`kOGQ`7xVXxS$;uJ!~D^F5rZZNXu_ zhhw#iaTrxl7?H9$%y`|GbjP3qs5+Cv177|Y-kwRR0KSLPGkD7c<-~`T4&jyH-w=n4 z<#s1XM*8!^8YBV|UHtS}z`2g8b<@*lAJJqP(MIkGGgy)9L-RcO554Q&q(62(!6^;A z*|nk`mF=Y{@Em@iNaPAg>O>;}K$s%3(>c-(X!J6tpb7Hb+M#@oT_*Xmq$}n92gvuS zG!7a~<`i)Kt3{3e5;F{5F*%m_91K1utH39{zWu2jUHQJ8?s`a?EzS2yM&q8I_%1lO zr(Ve%NSZFq?{MjUTE~F~(#d&nq-nY)VgL!rNk}qM6B+U#_x0givb|k-7JNMhEl-$hs<$by{w6Wi*9pH7xHf||6 z5n47JF{IOv9xw2rf?>uGrk~s{;dP6IWMHs?o|iKQKMUz0et11lsG$-!FuR9ukO85DD?Xpn4?WT|uEHF!-Dvq8`s6^0$sX z?1v9W{|}gt#q}3_59l#Ye}Nj%BhcOgPIWi*DI7i0v^R`Zt@oYy6uw1v*h8QK+!v4J z1Q}d$UrzoPe3Bb+U%rPE$=3X_mf`QAfIsGyT!8yB3DONeo%!YL(u!U9rOc0xqBKIS zu~$MsMX=_A(Xr9T&5pvfU5D0t{e>!jyJW$r>)=pK$mq$0FroOH=#vmuFK%RSkPg>d zjb#f8y83;k!_wOWFTN~YFlv47(7K0z9W4Lob~AICBWG&SSY5|h$H3UYm$BfGA2a4R z4Xnzwx>y(9^JRgHUQx%k(;-)O*FHSkvuf5H}qIcQ2PLx@ZtX8N+;Y74@AhL6McS9lXOWh) z|IFK0>sXdXuFW~yb8g`yw?kGBX*K*6xC*BKkFQt#5&o0TdEOGYIeZg74cdN1hI4RNl~;@l=hNGh zuZ%7PYCS3c+j&Npv3pFRwifRe49j9I%zunh{&E@APAUx083Dv_MJM~H2SL{18;Nxm@ajDBujuOU> zPR9e`_bisw-2G?Xj)0#(>Rx*qeh<1Ei@7djsv&5`HF!Ln_S84OT~?RP!d$Osj)N24 z4Bcgse};5-vBDQYcQ1+yE(#9JOh{dXTX!sZ93M{Yewq>mr6!TrePHZTM5;o~zGdFV z>=u3(PcXadnUg_Y*TvYyNihy}E$uG<9O4KZs-;KQ+)bNzGT`TjCmaQP6-@yCBnI7P z`TvgNOXh97pLad$AvsWwsR^{p64@(aZEE)3 z0RIPx_B!;B?+@6dSXk6lrbbLuZ<*@#ciEor<`urO@R=+5DrpI7#pH7kn~0!P{4QGth4 zAlMFS2BVkgkeF~#bPr;s2uiUvw+b504b~jbTyIG@kUT4_9iAM`S;mCWs&of zS2>sRH-7TD>pMHd>3#kAj7uE%54<~kZ#B5oRdpPuB}SVcrYbS-k-z)>ZR>Roe|WVk z{E)?yz(6m2jvC0>gWg&2^m=D)u~|uaG6|JwbMa1sU!Cw-0f)vxI)uh&eGkAP4QAkG zFE#iT=zzW&lKR4tz}Am1YHmGT<6x5>K?``DmWb0qb^POKKn~2r{|5$n{@)-R!4`=rCKEtIA0o(4TU;Pk47sDNA()-x0zHD`ef%a2`Gat` zz$JLFmYE|6@J;Awz;*hRPJ$J#^F*l?zq@649L4o@jF2v&-SyDJpQ`UAEE{?9K4pjX z#xEX~%Bo=5NY?v|9bp^4a4w8Oe;1(N`wC=FjE3L5ciPX)&yxNp{vUrz{Im+Q7ikxG z7VpCf%sPHz&NG&wd4*eKA%Eq^ylr{FKazRF(v-IxTr8*rmjqZ7a%Ad|`|K z@{Hos-7C98TJn5zB{$8wPxnVC@xz^&gKr0bh`|~{-%qpbG z>%&#mDov(g_wV{t}cZ1Pi!Ui|Xdw#GhWK9M%OYbTm28L{zy4KvwHi z_}iFd#ife&bm2VB%4v@py+?5Uymo4ZNgUo(piLG$mW(4ya)d1S7E(U5+fvH!@2r5Q z`Z!}*|C891=aw7WJ+|0gA7V5Pwa5GNCxZe1%Ju0hHokH{w{te~@H>VkOFSJ4I!AVq z$4gMqU9yXN`la^6-8f~Upl9mws@MPE3v{Py;sZmL@5gLnJZb5;dEjQ)sRzq#!DnT z9Fb*J<|QgV3~*|_y}GjQ9D8I^`}9Hp6rj^#kx&-^dD2blsA2T}T0(lYM;`fbH=~v# z9cXtHa2i6=>)i9uhXqdx!Ie+IcSdIKnT5QSyeEZp-&ceSWbj4azPOvgzW$9XQQ&(Q zQyMwZXk}JIYq}ZLXR!nUVZk_-8Ns)?p(O7r*+hbaD!@3l8OgW3ftN>xi)GM826dx_ zcQ3wjnV@i)pmv#04y%0Q3h#kAr%?5Wphut+JBR4o*6=bfn!HkC3i*KbtQ>-GOG9bi zO}Gezy1;srFr6ES&GyQ4rgYJ~>)gT-Xr%C1whoA90e;=@8Vd6+kToQGAv%a=1H|su z25ugOYycO|AcqBbWbURo(>kl%Vh|jp@ILnxHqa}x-kZY)NZsuX6?t)FGl?#Q0m&?h zUw2bOab7riK3wF1WVVFZUE`L4Aftp2xh~j2&rAnO2(7c)EkQU)=x%8!%ZnuINvxm| zP|B8&y2TBGyackfBor<*So8h#-dX+4or0a`PW**3ji&vo^>2g*%KRVhuS}g*s}~`E zNq>_33T*?!S@Q{c%~mBLSELIhs}u!Euic6l@+YO3rd`|mFCrXep2l5>jc_M!r>w!D zi$X3+f0QhQ)_^wbNTObw)yt6E(w`;!phQ_g&}*?O4Y?tWMU)}Ulet^45gx=NlopzH zT`LPwRuLF4-6|nKEnpej&M)DeRbj|^=?{{b&|=Vl1sAPW+>j`#zQh*0*OR!PLZQXK zZoQ32L7Ly^8e;cSyOu}{A$u@|Wd~oJYE=rLLlh=09#!uMF+n_AKul<{Dhr8_YD>%^5-4T~2yh_?VMr|{K~O&^ zMww@DgRp!r;;)q1v?H%t&m%OE?4#MUK~2^sKiAg$7a_N#t0g<2>!2ok6A>;-Las^| zN!CKU!5G#i527t)H|~3OXTYh;+3|wF!GALnn6B=9c%R(Zh41@&9&ftb%AupmUMM?wfTJsT-iogWv z6v;G51Dwy&^Rs>z`fLP#`(LsR3J2%2^@!H3p)W@MlCF|$!|HnU{Z6r=Syr{)LPR2i zlDKQIy40?Pk`quF7|GTnS+|GsMq;H~;KBg3V2J z1Fk)m;n{b9l0vgY)tf+gP{2wcShs|hj@*!HNlYLyC}1a$ti_@Hk$9=Ogd{6aL3g>c zu`cd?zfm-4xvyF;AvPg{j%CMyo7k?zg4R&(NR)J~WH%H8X0Tid1;(B3Sy!uMLeOZlu1x=yFBbTLfB`YB_5H5%XZK35OccdF7 zPEZc$%Z7{URyv{^8I;0BV;emB_EG>^Zgp#(uz^$n{{UcwA;n0@kOb^zTlXSa8ug`VZFzYvtLuj}l2c^SU(=p@$ku;uq&8*+e^2*?Jw}iX6Jf)x_qz_Z_5U;G{1{qNVF44p0W@ z$}S*=wTzaI+?1}Am_fc^BddS_7yJ>rl!ItQ4W)AdY`#~YGo_n$rmi&{Va*%7Ak~n} zhx9;eR+!(|yHV~4MQR|igAzb%b{KK26)vtzH6@#{p&os^DXz5Ps@51p0dnXO*B2Wa z*JUR0g&M&Eb{J`_eYAKaTsmK(2U&w*tTDf_CV8<*;tCbehHF|g5MijHhg?_eXz1)K z3l_NFXYO*mnHE~R!7DC+3md+sv7*D=wBHV49>$<5-n!A5F4MPvuCqS0dVK<{>TuZ1 zTE~<${FH^GBYNu@(d7?tSsFTF=}E#^jI;n8 zYa8`7fqkLi?MY{*)%5K@F09;jaw(Iy>^%Ah;74cyxQexn7~VRMs}qIR2Y!eC0#~uO z5yy&0=1Z(W_+O!#y8{0xGr}=)>gtQL{yi@9k9UN>5yG42J=eL0UIMs7ufV(PZKUw_ zc@;V|G!ia0gU49Ke&J2?5^a}bi`*COq->^LtkF+H97D}~X!|GgQro<8ojd3az*fi) zY+@A?!dvE*=|rHl;i3m@Vi%Lb#q$I@viHD0mw8>3zYTsKu@HInZ`&WRt7A7#1%7~j z1Q)W_5N%o`Ug+FHuLib5SHOjAxM+?j(YcCV1n5J*)3#UXMuO40`Q04!^H`|vUd@MIv3D0fH}}|TFEQ@%ZM$gtEskou*W?Y*;8U^B}k_| zP%QYEb%IdV9PwP|I(iwf0s2!`kjmO4Ds^1Y&^%He9qsl<7pGbpcE0G}y~(@mOR>`AjRR)6Ylr zqONAxp20SIEo$`cWiR$Kc(?Z%{VaM4Fcta%oXLWV*1a$2f1y_azd;wlne4?xgV*|Z z5m%A6Nw%x8i#(!!r);O`SLxppE+QDT@8!{B(OZDyPziXIy_f_SMf8j4nZP1QAGBpr z{0y4*-m~40jq;2-KuMzM*XXArY*DrkZ1*$Qw(KpX-#}{t#*iDxWl;zQvLYUB4iKSM zkjti!48(i+^dpodw4_)1mk@?X+q<^2u>0MkexoeG?dH;>&})HR&~4C=ZBI;T-OHt4 zLoWr^K?lH8mOUY*dGB+$$U>x|Y#-TrV)uJR9j3gdCDrO@Av}0@E~DoHDzp-k4{CKz{Lj85y`!0y9}G@9<_tAf#z1Je;wh7 z;(BJMfsSk@5#PptNsmUa2TUPvP{?8u@GbmO`c3poMZsozMLAPCX>N7;9E1?XO}7oi z65XSUz0Fx9Kk++$A^iec1DFTJgXU}!QQXSs(kW;IU@u&-StNqENa zxwO_A{S3qqlAB^{#cXTgm(e59dVm#l1{`Adlf+`afS!Q12121>xR~vy`OfH>^DmUC zv?Z^S&LXBG4ga?N6+6pw{~wg|xb-ib|Kj`v{0f~1r?Y1hG@Fe|oUd>e0IQ(iz)LK+ zXgA_H$8!EfTtXS9*&f5r^4k9=Wi@R{WzrSI4&I@QoF9RO&}wi8>pD@h&FH1`ZO+fY zKIk5}gAErgMy1X-ILm=8*lQm9_fU@0mQ*LjBA%lR(`^aZYjKaZ0tBcTe9pd3ig{;L z=zN~@127X>1g>T6_Ja$qa}-A(u!W*%w_hhEA=aV{Q*8~gyFB*qqU@*LHg+U@)90R%uF!5a2Ml7l#%?@Wh_xzGv_#q#p2 zdzW75yp6Jg_WD&)G6IE4O|`{hJw5l^Q)sw{TxSYr8L$yL3}&&s2zAZr&z-Nsg%9)= z%wl_y>e|yQoZ~pzh%8jHpNB8|U6bstx%A^QH0Pj#ZXCB}TJp}{U9mKk}^m6AI zjuBi0g9EG%LS0LGnR6sZ7r_seu^iG}0Tl6-O{@IaMmU!O;RtAe^iqnTb#FMe!VSfCROJ73?^#s^2KfXir`xT|#U`dfc_0 zjXmsMRph;q?L^FJJ;fD8an=I6p*tX45OSJNJr`Z$ECtp>hrmZHxTsCaLOeowJhJt| z9`>p_OsScc;_HdqVKs(qBbxQ-IhRnB6-0NM-ES!e>#4Dm!%jtPK=_#mB)CIRhm zafx#s;f(xn&sG!r)V*p4#fau#ne-6hTu~d%Sr0fs>7X;4Lj>BOm!g}Tm4F#^3KX$8 z1fT^fg$pzQV4r$bIa45-e_av>Awqpfx1Em-j(wy7%!hPA42$e1c?T7WC>#U84q|{9 zHkl}Cg}88`32cH~XrHQ*Vi0-A5BF_1VS_!YoG1;nPo_@3Py?99CX*!XP=zRtGat}{ ztiTYK)KAg`6^p{*!WGH~Lr@+&)2G1$T?BSg07mSG~u+LEmhK~|6= z#kv9vgKQ}|jV<*ucA@mr_PlaCk64VP{>}XXi-`4^D)|AL2`*+C5batSFEF>rt0mi^ ztKecbTr@LEFjvWoB>IpoZBLb36oP`Jrg7b{2rpwt3YWIWwB8Nkf)sX&pIsB92y=-% zO9KC>60~Q*MH}NKCYroXasWyN?NQVR+ymHTPh%{_gSMyIjfSX3QgPWHU^Od+U?*nq zF?6zp#2@+qRMS^v>lOT&$A(23-PYvo(pET3ue`{Xw}z+fe0p3vnIk zn8aO;UFMPbJ7ovXsU$C!yhU;xdJbM^Ymzp#yYS#*reqPc7TnE>@!QnoQj~X*d=;@9 z<@kWRAA83$^8n>OZ9|P)Dq?p<_HDA3#27jWma}3An_65-^KQTe5o!a=*)gO|Vi$g1 zJlR}A#2#|b{Ef1dmiEf+5@J2l@h*23_E4aPy+bYbEQTgWyA! z10kc?<$2yU@={qrORIIuLOet{KH_>}4|!!Crqs~VOzT%bDA0>l=aMW^~l^y381A_yU`JF<(oYKcChP68DbYf9)paL z1VaPhN|u?Q@4JR)dFRN}Br~A7vcfZSALS;^`?XslVkJuW4|gZl)H9Rotzs6Hs!`P} zDpX^RpKqnxb%YaAc#pdbo9&*tgR+t4UE}spm_2S4*GrU|@vBvw(2U{+b+gDpz_Rf! zcOJ8A+$zq4|g0h@D64l3B$Ipay$BQLoiX z%_=H1W2|(u z@A998oRdyfwTk1KQEn9puFd%+Axg6trD7HxDdjj0FN7*JR=0{1no(vI+wxzAL`&sn z@d5Xss#!$T@d9s3S4dFmR#BlDl~%DZx>JC#Ymh~rWw_&qEa)m$B1L9X3?`x;`mF+*|9%+(~cZk z`;d-$c^IdY2{{%_T|MfGTu(X3_dGe5xy(_T<^->=T^XD8q)N8VSNoF}Bdh!=E@ak~ z&)rwx<-pj3f{!P$OjAd3n!}WZWBrlQFJ9tnGM_q9(gJD?uPe;rCP~;sM>@QtxUM61 z;OC!?U-{qqJJA)!PD-!n7yfQup^mCo43~>WsU8ID(WcRqTQvgONgt+>WB1h6muGpc zWzKTM%~p8DpP@e{dqtUOlzYWuoy+JOh-1i^6N2$yrC_XBCi9AaLjQut*lJ!;DH>&7 zk%6`ZPGgHE4w_U`i#cO|?7Z~5Nw(wl5F*{t34LkQeewitDlLu zg_2oD=8pCVo(>gltl|_S#wFt~(8NdP6=i}^=@sRIk+-ZwNAcn5O#aBNBJ>XkYetz_ z{D-!^M#U_8EUNIXWF-=8S|U`fqEa&|ts=OE1#3pRSwyOt#n<}D!sEoU)(EbuRUFrh zN~_40YsN>m-q_<_YGyIfR-5^}DWX_M%_=H1U<5oUn=t&3G3v6E)c^BChi8Tv4}*^oW9&WWHL(am}b= z6(=;~cg*5zeTvZdt5sBLMpdggp&7q1i!#}Gh3(~MuO;<#qy{12D{shY(p*jer}vq)QlbW&PHqGqen3w5ig(2Sdb zV^9&OY8H!VOKN3i5ovflTW%HoG@FcyoG+?c#c|EJ1v(BsXI)n{i%5l8^x6-4%dDcN z*of~OuWl8`HDeUGmc5%8Ghr5OvAaAKX0a;iws03ArrGGZ^EJ*Ab*re*jIdQ?mHWjs z8BLf);|a6)(AJR|-DXtoe223Ea8$L56Pl4-PKps537nN?F&EK>8aIo-QfA>EK65_D znF>r-w~7kQD7T8u=_SrrIZCs*R@E#bqALzjImW5zhf2=k1A@_tfE3Qs#!&)X8hJH!m^S2=&M!C8P|+zR#BlD zzhf5R%GgQ8DvoPL6{|R|8NV@$a@pvatzs1wno-RvDm5dUGubQx*kJdnV($s7c!8s# z(2QTL;)G@-NYu^ZZVD_LYm;(>!Q)oZ43KF?HLIx9j6_Krq;3{75U^}av9)FnD6FC$ zU=7JNO^O0!72VO%e_iYyyKWV4!8v{7ir%j7wd<F*nt% z;<#p%TSY&?J6JQy&EhM!%PMBko&a%3w!yf5 zHMB$3DvoQ$39G2oj7Z0Olg%Q^(KGwLx>ZzaMir~5(2QQ0M<$y^_sk;i^(+;uIH4I; ztfE3QR()$0Vc96GRkex}n(?buRBFbD-&G;R&xQ~Lx)ywu3 zCoM3__7x{BFn(he<+8CNJDNOU6&0FMwyQW{6&1^iXo>31qTDRXWMg2gkA_5P6~~ts zWxI-#mKTj6)tyDTS=>z#(K=1*C#<4kc~Q2jIAIl4mKRla7Gbj}TVs?Wh4^fxRUBVl zl6CP+${brGmD#;X;-#h z5k@GiqGEYbzNe8I$h3-!@#49N;5eR+5$eu?pHj8Y=SU35cZ56py@xSn*Aw!D*fJxvI#;i!7@+Ulloc zv5dCZEV9d@^QdJ6-jO)L857;-s{mmQF4V%@8 zmyW(>P%BQ`_rhJ6lVyWu4dU|&xxarD)324meaxHEjhfY%Q{P(ut(*GsD@^5NTDv_ATJlU;^A(;m)M#W}t>rxoX_B8M+B%_18wMyB6r z{>L?zIWPv$Ha^&TATF}%uqC@H=IPDx#W}6GgfH>~cd+>4qO!O^7hQAMRnaGy#TVza zA`f4@ImZ{dWwB8Dr^*~!blOtl#srIA`ki6CadA@e{l6@_SWx@#AI3#{E?DHo#eZD_pNzv4$CVtt0IRmIzB4h6|5<^02UVnBO5HvrNwYfnDmJ9!<0F% z$gGMS!dSOGNmFM5EY7DzwqRs|MXq2p+~V@=9LFni31h7MX5j7xusELjkj5NHETUMXq2}G05b4MQ&)c%h|dB7U$C{M!3T~SX?9+ z=fNU3E!HM3c*RA8G2O9d4lHuhBC9oW!Qz5o7oY3fD=o2qL2NpSLktGvAiO?Dsl+pX2TGt3*X$B zU~xVzu3rF)^J$SK7@29&TZHWumG{3j;1I^HxUHDidDxKow8#>ST(CHw7MX9b(qfN7 zssXzyUWjjh?2jJx=qMHp*M=hEUv98)mPgT+OH zaV{+~1*72s=L-fAr{gaEc>PH_QYAH=MHu5V=F(y$f(sV8Y0+yTEs~g3vFY`D=}Ri9 z?+sK8-#gC{MkPyjTFguHHk${Fiv(kdH770Nm{swmfqM&}%MTJ*up zgGFvyWW5nzz)6b;SJw-c5v_5J%`C5|oSHmG7%SYEY0(SwGjkp+a?@gsH5)9>3&w`m zFzE^9Ij`u-C5+esUko7=y#N*$1S1kU8~!lFM!1b!N>uN^MVl}U8ged6&DC&ZS$Q4usEL<_bq@$ zu3$8@aOQeNZfK0pP+0(r3xbgg7P*3Pkyl(Gj7paCV3C^^S#NN`B3CdfFL=d;(CC!I z1&i}(k@?0vSe#FbiHHKOS6oaOo7}iyagku02aAgYBiAb~CXB&Y|2eS8O^bP4u*gk| zK9nvJ$1Ad{A~!U8!YAgy;#^u}3&we{xJWS8v~#>7yDD-*qj5x_BasCbxoOdx!U2oi zw8(lx`xcnv6`56$OBi2Buc|x30*joq$P$e6V3C^^zcJI|K?>U|va2G8FutnVWEd3V zz9=oS1miqdTqGEoX_3VCip;90ypuy1ts;KL@vF8iN{grkusEL<@64q|9MdbZtD?(c zHevi>|6Dp*d8b1T6D-c9MV4Tk2aBAv$P$d~w3t`nbof-np}5EO_H4qKR(091+~shy z8#gUREr7-Ov?xBG7Jb86Rk2%TXI2%PFdmE8z$T1X>AAFc8@zG>EG`H}gSoWW1!Gr5 z=fegOOv1>liqa7(EW!vkoJ)&`7r^3tT4W2xxwKfVeJLU}?rf9&dubDuSY}l;eCy02 zjE?cFv?xkZUI2^pX|bOL7U$C9T`;pMD#yO8;%9k9W>w@6#=0Y{w0M>jy8sp!2}WP^ zTv}ubMngx}!UDa`pSL6~#`y6Ik%;SQ^`LxJ*ih_Od-z2X94#F~0>!6G*;vIHXsEY1tYH&q9?UU7ji z!ZZ48=D{L2EtYb@B3Ce)F7k>CgwfHmf(sTG2}UkhoEMCD7kR~n&{&tVEG_mhv2ithk;%|4+i8%HWno|`QLZf>Q2Q1F-qCJ+U zMP_S6P*_W7PF0*AM>~H)yRpIId|K2YFNi3gt4*b1y+y+7U$FA z-T&N0r&n>RB8M>QE33b%+6>>t0*l;Tbl&n^w2vff7tN`P3*%^4);QWxb0IDMU%O~d zRa_WH|6q-yYj1GVB1^s?<-o)#-1++8%QD(*8>V2z`hRk3+)9PO6FNsE2RTHdtCYK`1o zw2RNBh_pB>);OA36*=SRIyX*QEQkExyXfydLDH(qh?iA{tg1Laj>dYh(qa`PV)-t5 z`{G@6MwPpvhpUfegy!OLG`yXa7XSAy+BgCnhim9zj-%OCku#2VEI>n&s5-o9k<}WP z?4n;v3#owKv6j$_$I-Qu52(N0MOQ3Ni_Bd#=jh_nadh0!eu~NRT{N>b^6aAHv@ml^ z=*8pcgKc~yk>$H+W@}uM7I9h1pf__%=*8n`_Z$ps2F;Tef3u5rnO{OLCX6UIavo1w zWVJ>pPg?YXexF-H^NgdhI^Iy8wD{Xybo$&9nr9phhw!9DR%=|A7RzazCG^s9w4@`I zCoQsCBTrgnwMO<5no|`QLSxPX^!Y#~8 z(@!?*5ThpK{~l$mvFJ~~V7hq8OgB3r8+obL#eM?rXx^57rn%r&B}0&j2uIDc(><8S z1rzZOl4dXva2;5IdQSh@zSSO^W=1gW+@_ULiTT;2TnY3k-3d# zPNA2?MJWW6Ee2DQmTt5KCzv|&f5%1T-^IoHxn1;|wOynQw^?G&e8aL(k{MC35khw1Kk0vSD;x)N{>0l8c7VTv;n zy54Qc9-5mM7xvJcyx7cIK`*L`bHixtr-eNo4g7%d3zUD!i&^Wtyh z;+crWRdIe8?O3z0hvwwP-^#@->BUu%6B?&$qquwM`MmghxyZ7L3ssRbjE>9T?xFuv zE^cDUMV3`uHjF-G$=O5C=fy>P==r?JmWzw3;#Jl#I*&Ds_Q;vrLv!S!+TuO*d|qVB zMVAYls`6 zNG`IfB6}Fksfz4j^dZY#B(_}i!Yu5exp{GsTvSd?F<3T?_RN{V{gGUB`Ef3SIgDPY zimYLDrCVs8*q_M7`qvMomk*<{aXzYlA{R3ad=2B44Wr@NogRN87f(l+vRBaDs>mKj zJG$1j|3)qfEZ#%2@?wUxyNdI&VRUVC*rGi&H!m)ii*qaJg{sINM#p9BS-gjy&x_0D zB5MV`xGJ)T(T6OT?4kc#F0xk8i>o4g810d>Xb;WJi@%YJ&Oeq`MfNbd&27;h`oHC( z7p3X-;;J}5jKjGnKG>|wNHe5v-I$VFyVRE}LX zjIKM91pXtrXt>?w)3RZ7tovrlAIZfyxqAC$!)TSZ3#8x6Mel_@G%GKvm}gck8%EpZ zY{UJLTy*|)nze#nsEVx6*y@&sF!Noshvw!*9=X_LpTSx|FH}YLFdEzJy<`vlUvlxq z+zNW3Dzb;saQB{$Kaq>(tQGX)s>mKjJGQZ|Eb`>V-^j&y)(U#rFuE>>b!Cw!FaAz0 zvR2T`hSBlvsuUi%`1`Yqb5?P_Dsn=jQX9J_vi8vPdGYshQCWTI$wg*pR8e=z;qIa5 z^P=8w@*+ZrWfhkVqrbW7&+noCZ@JjevrrYCeb}Lqd2$gOHn)fVUve?EYN0AN_RJ5X z;fZs5=>L?9%)H2wiwjjzS$$y`?WoDxLv!=uf67H}Rb=x;KF%<@_6BPY&CQGdEf?pi z;u#KKs*1~o(at&XxIdDMtg6_?JB+Sy z1Ll$cL@u(c;<8~hmgI~754pJH?BcsB=E=on!)Um6SKyz>#S;*QjY8~e)Qvb?xVE;jTmt%~fE ziv`#~)|Ew`y!acrxU4EFPrs@1gwy)yed`BJa6H<%chqom*t*MV@nub9!;fxkdIU+H(21MOI$qIk(8ti#+ERZ}N_!S?3nJ zeJhxGF>%Sc#W}smb8eA2ihj5J++vr}w?v+Ei>$oJb8d0VZ${DZeZ5B2iO+e@Ewc0? z&$-2(xV@O==N3y6?`ZOzTV&})o^y+l(y7V@Z+Olvrq)HpX{zv^TV&-$o^y*9hCf`E zpIeNT-^F`waV{?|Ik(8vi*fefm!DfywmijqZjqfAm!4Z>=0%m|=N6T#uI4ZgF)lv0 z$jOU5=N9we&I?wNT@~4(v7PtaB0DcGJ-4XNy1&SKZgDO&@}65{=S7}#i!8m!wThgo z$PSIX=N4Icap}3mIlahpZjr+mdCx7f@*>Z= zR%qlox5&d~BJa6HR$k;ex5&ziyyq4< zd~prWxkXl9A6LAUgSBqxNH>7I=2WRvGOACxkZ*< zMXQLu-<(^_ zv-Ha4Ikz~c7nht{{PCJOidJ5BZqdRw*UpU@4^uM=+*}zq+=db{C4;+ao9c^hT+iA? zOHYPtQb7P<2R0EnnXfSUtGq4rO}uYDBFTe6g<%U~)8Y~NAX^~wv5$Vt7X}^^ppA1C z0ydW>PIyUb4`NGU+O_o!S=tPWtgCS|jFc6f1)k1lzvL2L3C+btP%x6AM_ySlD zLWWN^yi1~zJz=-|#GO#bNOm7E{F8AdHcBn7Yr%C_(9N4D$|vwrg?cxGZ}tWKI{YnB z$S+AxdtGUQdTn88ttR{BY=s@kIR-4+M-Lw1C+z&GvZv7T9_I0I+|&Hf@s6iR-5(VF zSm<*~=qU1hhiWzT6j8^bp*|s58*pt$`N78%{EwS}2>_SEX&Eo0&V(=OB}GPFS;9Et z35s%6M?`{p6-zd>}ls6r@jYSF$=GC8`JM6DHjB=Q?b!0GKNMTV0$=gUb?!#njv%gx&;xHSv z&D1>akD0ar??cS|>1H#y%uo0O)Qm2Rvg~R|R=sa1%oSH+F_xZP!F=)SupneGe+Et; zi?vE=(*S3{F&e;6sKoTKvl(MM&B+p&g6Ij7LlLBz`F9+#o#wBUiE%8VT9I{Br#jYx zJrCBb#kV<;Lnk|&$c9?+H;)tq*OBbt6b}`GsW0n=j2+On9D>)m=7NTfOuCc6@o3bM zq*!-RcM5E%1KtkKDTp8HYyD|-BL)x*x}o8l0&ZoUqEKz{01WlvhIY0xe{{nU70e&h zNtbN2ITeDMqy`L8uvl`YP~M|eq^?^9YMs++S29;UUbjQ&poG2FFUY!`LWh|@vCq_- zk@(U5L?XC|@<3DbtIxgO^);KL_Q>g94r?X8D+-&Qh_MZK1>Whthb}QtO7NlY&(h2& z+X+v~#+WCC`ijDUt97t9I+ZrusJ;T zhC!>1jiwEL0vFZ-vD48*p!?(lrI!HK4dghAjjs#_SE2$V!X6UiY$yrs!$>h0Hr}zI z4BY1GS7D_!a;1rKKxYO7?=sswHrlK-X+#BT6m|O(h!hg7 z2wedV6SAS+Cf`khcy+9!OrO6Sj%3s;P1H*yDO0~qVw3oi>c+7)Nr}^-Rz|^R>fj)n zG{Z*}Ns3i0w5^@IKm7>(RYV?{k7wS|AFwIbAc$d9#{$QSJZ;A6T#+LXARS16V)_aI zothXRoc@6FU3asA}%TVHNnHC1#qIoiosb2*XuWz)-BU!ciQB=bfU zTGYXvZ#{p#{ND#(XXyoQTt5p)bSOSIxjwS?0AO0eOYfOPdMS^7z$4i{`h=C;qQabAiKAH8WhG7lfBmEe4nqn;l|kN*CCA)|-*!SKW2?JL^lmm?w&xp}T>xmDDXC_uVji*kIly zM}f82Jfy5yEj^OIH-E1;#b7A0(cB>RS?vCuW{0y3NRX8&QJR|0YZuyTN2I3N(-3&c-D67l?Nw8Yj7 zUixCbrp}6aNe5|LnSLK51PbyA^Am zv^?x1YJMIe@7~y%n~tZQF8rWHel{}znpPv}WXa3b)HD5Nt?1L5c*fAGnwv&7YH5!F z`TTn3uunFY&ATGAq3UQ;bwaf7DGhsj>=z5zB?drXoYC~9wZpQFP#A`3_LlK0%*~{x60z?I7=Ifw z~TSd);c=qpO-lfG$XjP2L>Oc{zB-TIX<7i1We z4Q^$f49(ja+Nv2e?2p!>9B;IHKxV7IyJeQUYw?Yl&q{h=yerv!pfh%$Q|U*2(z?XL z+z4%rLw=Ly{ex6%wSt(mG>qQ_+(QT7KHHl3CKyi{cAFf|w?UHXIxNR@Y9Y046=bUa z_L;bhEbI&j#{8t+{fmqar@O7fHT(q-8U~3v72meed;)nw5g4VGkla2f1?7cH!LnbH z0%G8^w!6L58obcW%=@oi<(pycn^6)!C-!KK?E#%?1;2*tt9w2l(+3qX%vOg@!s}rr z^^Uu`A=d(+kJ0GMSz<)LYwh)y(PL^rO%$RzR@%;UKSV>&E{?#JwD0KH18D z($S~(heH&?5eq#+bZd8v2ZrI%-e})ELaVPrn-)11kTp#LAPX!yi}ZR=@#~k zlgQ%BjIv4du8A{+z=srti9$KQj>A-iu~rAI8c1`rQl=MyF1b1H2ii2wJrXlhtk>zH zlIn`>g)O>pNsuLRbRe{Ke zE5&@UpN~kRyGu`kZN>|&N6isEI*MSj1J!ngQpibWG?2u@ozSNfRC+~^UcZ9f2R>&FS znuIBg=e?=6%!k-C^diW`Ucrimls6dUbxc+*y&7#(K*f;Ap%|nCgs4KsjcHPmKss2L zdL>H8hEfj+7^fLeQoqq+sc^vLqa(Jo!89tpuL!Rti4VXR>#u@NjWrbOu7VB>*PsJq zM{)sOLKTu=hPBA1txpd8{fp6MPFQ(|-h`gnzG<8s(42GY1;c*h`Wes5u2x6SJ+NYa zu6gmqM)H%{(eJv9%R?*g96t#k6wZI-|`p;??TG7R2cP@Y+E^iwXoZqfl{YC|9 zfj2g*_A#3AS#gXG+4kJd{OGw;#pquOhYtaa?6FFZs8yrPf3<7wtru>a<-zu<#*?5G z$JD2MhkLJ+)q!hPPv@RL=b_Zsyf<8l)+X~$))9J<@N>`eN6!UPY;R@V(v~^h{XCYiOR|a#l*X_){>1a*ida%L!6ySlw)8A4ju3M{Z(Z4{=eV7 z!Axmtzl&6|C`fMZbLk$;3G6_r4^6IFolS8CQ|e0~*T?BbGuJ=q15nJT+CBp1`x~mF z?Nx#8i64Wh1N}(<5ehxrfuUoA!BD7(yMd%qe9f^{wVmXi7q>f9|E(z@UHxDlG%V<+ zUy2*?f`@yN)@Om| z+=1kYfSbi!yHB;MDz3(*4gMsjy=X$2U(1-_Plx0E$Fe9?0ocpXj@){HLxfFyU3Qso zVHrAS2783+Mj6}Hhb{TsKx2L*$pcI}gth?;j-?MNbq5xca?vZss0I6eZ6eqKf!~PX zGxS41Fb*($&+kHo34h8Er1deN*4H!{4twfL8c*mTKp1znizND0DM4ZhA-bBGE#&u( zm_kB6x&2C>T~fS%$GAA|$6!uDVYd;<2cJ#QCg^s8e-ZULVa5Hlc1qwd z-3y@Gj#jh|9HXgk-!zEszrsKZ(J?P>bwX7)uBW3v-MRu*SQi|_{58gC31dp7vG7*s z_o9_|N>^LZn6H_9>jepZKQq=>rMs>u*^FMZTHi=ylX#g9oxDqYYt1ON({n{h{nxdt z^|Q8a5>K`~>UB2j(Gb9Ua2Fk9uvvpSe&uU|+Ox zy^%}tYwF575g^Y`#w$vy5)*O6XH@fz#czj;o|iJecTke*VjgHXROI}Md2{tnL!7L& z`Xj~mj9Z=KjLT(m@He^+An00M^oQ#Ft(y|+u{&kftOj(|Jx6!d4q|Fad(ULw>P$z- zk*jW0Uaj;%4x(!75B#kL*#BrB^ABP^6^J8iRugUr(IrI_2)a?29)!rIgy{W}wmNVE z+>CC%qJ$p4)9P043(VH5a`t`4kqYT%n|-(WDV}VH93o6BspU---0IvCX!}EbU!vI$ z*E7?Q{gjK<=+jEklO2cq#-U$3eXw%Y)nMy2Sy@iV5K`)^G3IkWuD+|ij5Uv}v%pGR znk@{$n2sRd+n6-DzW0ZyP|WJEO;c%rPYLGj)-y_)c|n-w@m7n;tX||SV%H$Ur6ju@ zx(j`J7Zu}YWDRbd5O3^FB^VLCo5%8JCez4)1DeIRkpfykf%Z#!0M+r}Nm+w%z zYreB~$LW)scc0(lP`3q(xmf*daNF)r4xxj`qXsQ=2C)=*2NCR8AhnyG;0q(zWD@hq zW17V>VBp90Iv1fG{*}|}3Q4872&i#F@huER3al6aE+r>K6@|klRP-P+L4&m6;l#=g zThfYv;^!1uu&w+CZ1JSlCi?Az{9BY_ChxXGlaus*Y4x0~)Y%&Katgv%bC6m(el;)e zr%T|va3zz;%|79cHBXyQrRs|I9qPNmkHWW&wO8s0hIwBXQ$(-MH@xWiOo#S`ylzUm zE&dKVd@?02I&~a&Dy840?gg6vvg3Qz8h+GvP5t(y7AvIhbX`Nu^bA!gkdLlJ{&}4K z=!(tb8pRppJ&!YX7GYx>DY9jm&!PJuW+RpkBvXW~e4vU%TJPmOWKq#{6=7GJPUa)krvSo_gBqYa_cFC>Q}^5So}CBLOlMP$B~G5T9|uOo2m@eQ_b@b z!E(^EsXJpPudaYt5CJI=Z~NJCEM-?S@H;St;uP&)F#Zdu22E-6m(^4vX7>PZ_N6(s(Px1dTP|l|uOU zgEG#*5S+f$Pj?g^JXN~A zJ?J62LJ=SOWY1diWwmR);ntEq->S9+18|8?_UIO`-2B*aP1HT{H6sd_BLwUQ%E4h3 zb*d`*cd}PcZ~1AgCF--cUVg*dp0|%3_gfziJMOiu%go8L^860iSGZo-ML(0?0~g{z z3U>-Tox@&TKd{#Gqt00yK(x5?@N3I6!Ee-z$|nBaBiwDW618RW%vYNW5d05u^p7F+ z*)#nn`|~4TQOCRrUrh2HEUcuIsYvNNLloq59#f-x{9`2))67kct3fvctIi`2mnPql zFue%hosiXK_7D|0(XTT7zLIDen;bHe)$sa&#HBi;OMYn&v&zW=*&W}bRR@bx1O4JI zrjRXf7L}!}O;>R;yG!>>vu)67ewG_mm_42wg(G*)7`dOK0w4C)PFxj|Ti3A=F>L6N8%79SwxoOX$AER*X-_2qrxszLK%- zVLT@#pNdd59@N z3VAB*3+SHJo?j|k-kw(rdqr{bRTV8hX-memyhn0#j6FB$Ci!ED0hsl zMhj~hk87Q0NY`I`)-ijOT6OU3+nTM~F|X+1FzD;v@bTF9#wJB)8U~Fi5=Iq(wYvZh z;`^=RAGXP1%&*7Ed*q1vcE;&NBwd-_@D_1B-nG2XJYI&Zevm5xrD89iZgaS9-Z#KF7S`K$4ME%1Wf~*N5cWxL9J}O_ z9%Pq|uqpKnoyzt{Z13|6+!I*lUW6m|TA-nKEyV0v9+XO3xOH{w9u2GW9}!E!|N3w; zBV#82QlfivPW;Cqf23YU;#J_+;xnPvlTgZRL2JQCM}|Jwsi0!UW(2HFzUx~IYVi!D zq(Q$-yokB$B|fSNeIOm|H9my){&rUUcK1IL`p&-3gDS>*)MhLCp*XF?Cp8q^3Iox^ zuhi$Tgd>X3U(=EYVIQGubCp~e&O!9gjA)`cWLWa=3iXeKCT%i(rMO5_;k&+l35wh)`9_+Y8&P2}2Vzh~r$)E=Z_np8+KitK?nF4T>kD;Db!RBllIqH|Q`-E1@?K;8D zLS;(m*a+;GO(P!&!P>fA(@$F;hx>YeOCCFZVmk=l2q-xI?OJ4PK)9KMzTP+CfTVMp z#3#(>Y99L*VSW6Y$x}D~2RHN2Kd9VZAszGp&8wem~;{Rdk6cAP!G>i7wpsnHxe)#E3WB>}|sjLo}8tv7By)O^iuobmT=!RXmH zF%Sar!5yD%T03`l{WSOx{lMf^tHIRXM+Q-v=7M;}gRKa@5|hjAU-RB{*}OJ>@Q=lj z6I&xvcE~wTy#?5n>YW(*D7E`;78!h^Ja*IhpXZD2hE+_1 z{A_OxtpNpK_MC2$)w_E*UhmtP56H*Y%n>yumyGCUQ_pj4j=7aN-B37D7^1gN{Xhvt zv>4-LdlH6mW@s?p`(HF16q}(-8>W?7C-$KVHmeN3vor08N`9MdF>~?Epr$ftoizT} zdII)=hI#BnzQ0wp^h9TxB5;*Paf*?ix>#51gP_n1mCY2L$K=uB6*o{ zE2pl>r6g;gpnQ|Z{cEz?Ze_(P^bBw3J+_u$_c}LCjnB!x;0ev)p%>6y&X|YW6P>1C zwxB*hFKV2a+I}kFRfkMKerMYnhH>3(Pumk_+C$R%K&6&;f1z3M_m}GgbZocm4j}GE zekq8iPvnrO+w1kw)E~K7;>=TwnJ4*&XZMNQ(g0q8`!JaC9qSwZ7GGz{SlcIcedkr_ z;4g{UykV)6ayszwt4G}XD%JIANx!tsX07IR$?XZbo!OUak0|8`1i23kc@>)sSu=LZ2S&T*7HM}) z4vg5`oGkf})V$7Xyg<_XK~8YL&%Isu``_hVb4h$bF_<>)$2!k4Hu(mTp#CC>-Mi_Z z=py`p{$73&?_;n>E>?$)qtk6a-N3ePQ<-(tx5_3kf1yrGz2fBTHCPt0K|saxi;pnH z(yJqgmV<0Bp(#K}AvCkWqK8s|7BQa=ph8cf?(Ux2MyZ~FD>o{qJ4>E4Amj+8%@Wh- zpnD17H#Vrl$L)!FsEYUS{ZfSPRmV{>gMe&`{a#_p^?=IQx-q5b<0x_GT8JQJ^Jw4o zI_r=`e)T=U!3m(l_Y=+=>Y)nb^-uxkdZ-v3DS(_7%2=ImSn*5NmF;hBj!kT|2+yh- z-1jcxi|%dXSF{t9hh}=H*W29;D`WZ1d{l4j={dW<zj6`NrA9|IeKVV|GPo!;JlDFAjOKiX&3w&abL(YB^kr=g}# zXHjMob<_I+`=$^4v^H?tH*uiG9Q3!Qun*FaoNX-y*p_elG$kbNQqRqz&6Z!M%nTh8 zV<%h=nnh3qTs?;&CJg+&m-()KG^ngn#F+eLm%Qc|`U0Si=4-`Rb$nEow17*O1s}>{ zw&P`mW^>1FvUMPNG%eKCJ+Aq!$*$JMrv+i)VuCtxBr8Q1Wui{Z-JmY^rQ>KQ#R}g* zp?sT$pt0x9?g5F8xPLy_o0iH=ma-Ee^?<2>w?OND%q3c; zi<(&PpaK9`)NfaZ_=iB4X%&XSyaHcBi^h|qZvtK>Kx)k-kq|p#O;!?u>%VTTzv{Y@!!dYOmw@iT2ZegIui-|hmoCt>zJuV>Uq=#>l#Ed1 z@nOyU$1iHux9C^vhR~DC9-Bh>>xxCjiu|vYg>O@e!mH85(SX8 zaReczA*lye1C=luYl>5(12Ai5KK_+^KTrM@em72}G;c>(*#PZM&6dD3g}!H;bI#Ho z)D$q(ZIh<&iY|mkx@3L@WVbXWA4jPSXQ=>OoeKr&wq>;UB1Gp89dhnZT$5>`KJKrk zrCW}q(c)Y1>F&3k)9?@719IxG6@Xe-RG{*n_=>=aYY=UNgC)L-NksvZRYhoiQgHXJ zK=E7sFDQdg%ynwX>l5^AZ!7(ay5=Kpf}Y+(*r0Aatl3Y~F{m)fOY8!QN)y5ppfMFn zU5xR9VdkfPI$?ZBJe^ReNN7S{d8<$j+z@nTR?!^TR|&#Sgakm-fR{2{n=?nI^*e~4 z^TWCYigi_cyik=O6Po2Hu6!tLqF|POiD*lt7zJ6`SyuYtZ#^MGC-gF@ZTGB@wg`z| zJAJfo%Jfu=x70r&{@ddi;YJN)39MgQGoOWX&j9fJl^xUd#Ub`Pyv2K*SE5X4T#awr;=H- z2St9>TJgQ#W*aGQPZB;5Z1r$FhKD1Y7Ng@i|-@5V@24gz(k- zv9X;_>hSCL@du!r5s!wwGb?+=V$yaLUsWC!sEw4?ahFTh_g@{MX)P2owja5-r}|d* zYK4702OjDfh(>>-n$OHg^!XbV5qkE&(MOk#6>2CBgO8y^oF`vdy_v{-JP|!U;efD- zN|wv036TXbwrND?+N>aK{G9QH(zHd&Y#%zZCsn-4HEuR$CEH+ zg<-~*Fz=PqH=3!8nYepaP6UB&CX1E!8h-Tb8tZF%lBUtoM7VF|Suzr((^OgQm2O97 z{>Pp{P?^SjHWj8@^u1txJwyvL2kX;-O;EG;R-eY8RKdD|@5u^uzlrqBnTf_!Rn4CF zSt%3K%EP$72$XSxHbShc{kx5xmS`2`-;8n>mABr)Xv5}UD{|=wQfG$L>k^``q||ga zDK0ir=vRYPd!JA4mzQPlp40#p&CXy-q0r{2n_sJ>O zr}%TxNq(eRXu#k;p0P3hePjqK8FC_Sta+1$uo9XRotZ8WRfTBUmXzF zX8t*8&6ry&`l+uVr0>g=aEI@Ny+qj9H&pO6z<*ZjP>;onEWRoE*Y(GJbN?MW*>~ko zZSgO(;`r>ExBK$sUp8Ivi|YDZtEE8EkyqU#Tl@Vq$h125bm*mnS*D($39f@#P2GNK z>7^59I>g@AzbR{HRR>C>m2#?Rj@hc+qw&CBs_MC&xhE4d2HfsDi)rUPYFj}SR0n?j zBphWuKvQ6lhsoP>^=BofCx194A==ha0>y>ifp1N&YtsCu?}>!?1@Z@c=$^rU+>nnD zVQsp%D>kSbb$M62CB7YUrlj;w2Nwdgl12n+8}52u&4dpm3Hu7-$39r!`gvz(UM1y~ zMRe_m0|arE77_<-7(d{i^)(=LEhDcu6Xl0it^I1K?(wnB@mEd)uoiD!RLsXHZYB$? zN9Y|$lk~xhRILrdG17MV;FD@6gK)7k_i#ebufX+4>r$AfP5cBAO27>WNrhcLx?3cD zbmJoH_z>{R(8uI%XDN!Xx0`Qe;w6$y+F^=u>d5n{6y~$gjq&RdaD)zAz6TYk(1ZG@ z(-U@iGm~>BohkIRC*jQWNR|7gfH0U8@OjI-Gg3gC!1@n8HDAMmaEC_AjrbAW2R`hR z0tQZvSt=gf+jE0dV|^~{-r2{tyU#q+MHp5l-m#SeZB!LNFnh}G4um}L5ZYPJ+RZ!a zJ<)hZIHj z`hG>^%3TM(QVs+nRS~kG8xgW&W1&^nC#|;4zW;h56fNdclq%WOKfOKFr3Fm2ue9dN z0R{!*$OC8GXE5bOVOD;khh~~0Q!+am{cMGb{WB-_>_AP}d0Z)8Q7hne)7Tn+4=2#y z{BKb?Nvs=pIVt|j_iz5f+N0W)?OQ2to8v&r&&odDB zvf}IjlrEy}OD8U(AQ3mz>AnsO7H@mxY+NIVjmZmBn_AmLT7ON(7gN;{d{yUl68R_z z1=BqYko?Jb+A7&Fehr!QeN=cN|9dVUf6~|SR2tfe66?D?@h}aZ0k==`OTOn7-cP(u%Q%@=(X1be`!d4Aax4;yKsM0-j z(deu){;it-CLS9WD8Ke0#`Blj>SC!Gm3xeHG+NYJe28Qa{@?`bw|y-n1qJk1J|6b; z!{cw)o?}HbRFmuKcBmJt>Y+{|DoPHcXlig>o3ITt+AEl-C00ZCyVs}L2)o#o72#fI zBYj(;r-J+awM%Et(k2R$z&VJxJr%|-wJH^3jWJoCV|DE-5!;_{M2P&jxmoK`ZOhe` zK)W+eA1{)ltBWtv9Ii&y+r{SfdMTz5H_l`}@xAXa+k3ee6e*rIl$C=#H7g3wF{Sxk zw+%*XXwO6%760fryNMxE{ac!A3Rb`b`mV036>DmLP3fdNBCdx zvd7fzJskrO{QD%!{%-ISa6IvbKluZ4Rdk~NXFfFZH+?3_Bku-P8>>gub{RT4JuLYEaU@TDY~XWs`kaui(TllblVuRc|oq~iJ)4yD-Q}4Kfng9 z9?aVE-H<-fAz3%*5CULWhX+-z`*9f{Jy~+W?MQ*>ZpqV*hI;mWX9tUkC7Y%X;)8oZ zuMfA0@0K)lNN&m86#GUw9!0uWS#jVXF&qIc6e!rdJL$KOqxKE@*^l^LA`&yL?L;toU z&~}eCGQSkFe=dGr?bOeBpjxS-1uEcat;OSjLszd+?^UYZ9D7tFbY{g4zIW$u9a%F} zHWnVOyCVGFHmSp#2`8+cHJ-j8gSGjjwSRol@Uh%peLFS2F@raWzSj24|Iog_`6nZ! z{$tFHvrkHc4#e<*T*p5r94nJ<7bscTZ@7H=fviC>px6I~-GcyBtM5ScSHyFqmTgi$ ze9W@v(YUMtp#P!Nr^mAnJy3(X=zhwlS%(pYlycb_>PGQiyR@V6A$g_=TXx%)y?mA* z`Rkl{QFUH%^S%?NAL$xKSv6*nK}}j_ZQFO_H&Nf(6g`CcWvA7QL^1!sVp7`C=2Ix( zYp9d`4YP$Im_YtIo~hFql$;abr-iwcn`!=jovk)zrY~)UyI3AHT;*HpW>lzC!{v^0 ze|*dl!z%%{XH7(p^kQnWW2dP{C7IpTqj(L!yz{Te+pt?mrv4pqB=;USS%79-Zt@$l zv;8`<{yLE6SA3Pfj0WUgbfPzPJvn?3^7yW&V~>mv@HW9@LicWpEXlfQXsxa4q4wUv zmwg1~LFW$ek6ymk$*&o?8bx(3l9y+`eh=57H4bEv{!&{zOuL|1yp@B9vVW7PVA+JFU+}}73JhS^sqcP!wURr8HJ zT=9IBAJI5-tdMNgW3Qt-N_&dGsFf1i)~^ivsUeIqS59z;3M%NvmLl@%BCbhT_kroy z!s+sp3is@u?!0WjRwQkL4|irtP9?e~#?zw5hb}wok@4i(8(dnW)iqCfaboRg7EJZK zQ*tbJ{g|}B=iBz}I+j;j2Z~zOqK~NMmKNQ8i`w(F;2SLyP|({_=PBd?t|i(a67+Xd zW+1JAI-rbC@lKtim{onfFVd6@UV9q$NVSRwbszKy_STidZywPfr1qVVC?mgvi6^%o zqUm^egg4ODkTU6swLou==_g>Dfv0duQ?!RQwjGa( zd$eTfa^e7Ig5_3F7#Wm@t^pmxD}Eo`y-V@O&)x2dKYe$G)i_RUOn|mA#K>u*ws(KV zQ932_Ao07iYQXJQ?ceW;!92Te2xnTtJVD5z=^RQ^tjuU8qL>d~JYE<~Wo8lMU**lg zT9imZ5WRxr`AslLD|S%(`@SB~!Pp@Ikc8-t(J5FDsAX(VJ@Z>WW4{KU$kY@*A$+`0 zJJwA&4wLb?r)6%PRQ>I}5+cdS!K9_?iHxP;k&qE+`Ha%8mak7_z>cO-Rneu8FxX?` zdvTjxkHZoseH1o;d>rhq2564<Ct99$8VK@Jw)$_o zP_QZBK2b?0RrWY+x3b(F&-2+K^)F+xm0g*?)gQ^)+^OGpw|t-1KP%1{sKa)NjcS>x z^z3(FfIvyX)HOPa7P1+R&X;TW0XK_Qx77?kkIc2|eL~oFv!>#{*0$ZpVIfy#e-JK# zWJj|2D_rxC%`!cy&q5P7fNU_y@2_XAC5X+8NaF_vir=7ByaL36;yz%0kS%8Mu@a+& zL<>tO@z)vc?16^Qw|9bsP^U(ZY{%@#ls>3ZG6spEAqgNn#Kc17ji-`&eEs{_R>?eO znUt(-7w_vERS8bHPyhS^{D?v7b=?4!owfMczLC`I-`a{Cy97HjoLxV5WU@8HHSLro zt}XWI4P|#BTQH>m7IfXT#@G7IFryECE~VprdajaPjXT4_anRQcjOg^ti?)qm@bebBV+ z-RY)-yge;O)YB3w1N{?#|Em5N?X@Ggl(vh8Gy&Wru1D@EGTAd7)<}Ii9QF$P4?TG( z^d)tN?+8RRdE|0-MTs_wsv;OQ(&xJpDeRb*S^Qcl{ zped2SAT?cnQN9w6{0nx!@7haq^9SVJfsY2|yWlN2`6z}MWdmKt>Bf&S1EkEv;PZ}zExxTC z&WE5k>3SrkJbHi8j7eSbmFb#U*d>B^M!=r21QF3 zTYQBUw4wWeb=FL1kz-(HD%E)C2|+^~Q->FzA*Be0Mfq=Ja-D#W(C#0R;ULmGut-#a z5AF@6I1iU5`s%oHyvQq(FQeEkT|<-kGus`n4mUYYN>tXG-g~#MCg@%81#I7@Udx>m zUd}g^PiS9II-y-nsIPXr_`s(xg!#jt`Gt&+PT;{4+Vyv;o?c2!Z#&)?VRF3DWTbYY zf4!rw<=!^2SFrw_uReiMfhs3@KSo6UDxNDUtdV~-aV_58ZcK& zdeh)L5ZT4hLZTafVE-9dGhuTv?Q_v#$nnNAc}RX=a|`DGbj0ad--jbtNWIq@s%}VG zSsZfJ<`UzQimcy;^O0pmYt6Pzyl(+R+#bAtuh^tj{Pbacw;{5rH;^w_)T{9p*WRO7d72PFQ3FMQYB+*;XNDBKjLFx1=M*?P=V^XvD` z#bGm;4Jkt2(@!Q7om*p3lJ(Qq3UyzaiKyidQ@3_x!V3B`Jk2fw#li2IN@oZz(6BSc zh~jg(B8-moa02p!Ch^2XbU|_U3P*=qh?!?WwsE0Z*2T@ixBU;VFD`MG8W2+niV2mP zEbi5 zJZc+E)R+z|^V7BpBqkpT0Sbn+J}z|x{XdS*J1WWl{r`=(ncK9~%<-`tl`C`a(o##! z($w6eax3luDw&FvIm*l}nW>p8b1!gfE^^`oH*OR}K-Q1%?;P%P?msvj4(Hq#*Y&)f zkLQaDGxk?nbLjOeLD;-#+!;`#EbRHKuPq$SrVemx9enFy$_w-8M`=#LKc=H-C$M1K z!fAkVlZ>qLc@QD2#(6&z3@s!rrOhKE;2pF>u{$?dr}Vw{|A&tE5t~RhtTUW)%hk|+ zC>po&E=Tw6z_Zyjd+q)KEO;uYE{r*GkfP6jf3h6&SwO~3>rtB(sn8Nre^s-JwQM6W z;Dc8D@Ks=b*M>zt{l}UM5TDiRIjvpM&vb|!@98*VR$5*A6+2_jW+kK8n7>SNXh#B4 zDmH8SFy&qAD*1yZdEujDBKDVED|?TsV@)|DO$6!I9#9>SopFsCunNp5Y?^9)$XEcz zI*e*>?r@t$5a=$#G+DZHQ##Wr1eg`TY3Xlt0DyxO_@BL3gCHBi zZ_*AzIK3BfPFzvqxqLW}#;;^Arv2d)(T$$=Ly2kgd6i{=l8Z4w4cx6GNMP3r3{f(l z=c?1yeUs9Oe=W^MtPY@K-Romthad^c(y5s1WXpQ6Yab zeF1}c4k?3tW+lYSYfBbgi0u2gJ*nk|(8I7&kRv5|NLcN9mb4R6w0 z|Jjsub+N`sI@@o_q0GyOnS}PgK_m8$|Lajoek9>oJcjTyhUy zZ#~~MV=@@8MJIlb_b3+1m%d5UABEjvz;#Qy*+%Ct7lteenrzIsq8k@ z`l!MPcRL6udCVTTnxP1SSd zG7-8&!qHEQ^m#ZBk>j5B~J0Y9E-!9 z>x?pYJ*#5b_A#TVw(&;o0^q;8q*mzg!sO!dWlAE7c-N(4YIn4WhwJoTvtm1K z;WN<`7+rFLJb|k<#c$meDg{gl8RQk!3qMW*5MB$>ASIKLy}&C#CWp&2t36|*@FVsz8Js{g)-3H-9YuwLlijZxrnA9j#C~_z>qJ%;2})A?3BS*yHU!VngXhG_Yxt`UFL>2CrHZ0xP8#$l zNlS&qf1sLH%8JGr?ER2H6I4$ybG-$6ke1pNZ8o+RoS)A4vRJl4>7iXcE$CXaXrX^z zQxrn%{IydKKY@c<5G$c5RFo2CqwNfZrPb+hqcd~k1fwi33V_w<=wi%fRp8l7o24ibbv?ljI$idehcUt;T#}MRNms>1;>QC+mt%?MM9A*WWnWQbt>XPupEsQsjTEa_v+p74J@x68I%y`L)92dwNNTQ`G6pxwi zz~u&pBRl*$fKSylHc<%7i+o?&>_V_H4OdEV+Q?=mPbX43?F}Q)tX+i z6(kBko7Ta}YO0IKr*Oz@(-AmNT9r^*+OA6YCQ#s0PE2*gZmnnsw#y>hW_%{g)RuO( z9*WY#)~l0!oj_w!;{?|lW5j9wFU9J(*!Cne2sr%|22t^UkY&VimC=8a*E#uMgaVv@ z9&Od0JG8)A%5z9Pv$;8w*Veea&|O*o&B|06$v$HfS^u?6)zN>-=cO2P^4Kl#F7wbv z>>qli`GT-^tiGZIgt~NVhOqbt@>6l`Hmn@hxSsl=BhBrw;QfJnM{+K7VozC_kR#%> z6rn7*R1MiWAcdAi@DTKpI%E!X-Dur=gu87WOC~rU?_1NJ?a1KhQP>&w%JcOUl=09)lk0FPrY*46| zuI)jK#z>#H*dE?Xmj^K!C}~l9yLqy$&UDO)8u6E`%>^bd z{8_*UXc9Y{lVG63CE0MO2xSke&QICU`*w1cz}*c>S4*Pyi{he%kT-Tjl$4F9H6KHZ zXVS(euF9Qiz}HqSeuDW9GG?A^BW^W6!RzmH zM0O%d610cHSga)@2SaJlWlt3e`r%FwX&*);aw z)(Iuo&1$+&Zl~n8;H(9#a_BGw*|~Vh*XKD?O+l5ZL~T~EWMF+@5mT{Ea>c&>_S2{vN)Xrd8v2*C36Nv-yi6Ui~cng!4vN&!`UUZrwe?fZ!|7D__Hg+!ixb*6;wr@8rp z@n{r!n9YIIQC5Ri!yL%5{ULEzU$_Pc{OTCQGn*4UtUD1PN=2ddvPI(VwCNe&OOokh<|vAX6}{ngcIWpym)c4@*eeNbX_+@|1G_@x6=V4xjMb`Q{8{m1u!aRgiXhh~bC z6Z_I=hv3D=@M~YSPlIhcm~^*o6=>3MBqqmjgz*QGO}SxcR=UoMzgNnO|JJ~&n3z2x zWiZksYcO&{E}1Y;sqd`Tt22JH_f-L(d!Y#PvKMzRbmn*ev&5z}x4)4s=pJlyQEBXv zQj2<0wuvgPx2{$~`f=({1?J}CuS3CHn!+d~DLeYoN5Ds4PI1p4*|TF3(oaS;5ahMl zzr0rWM&H^QnCVm=t@7L7dBHCO$(D@F5P)RAYRTY%WPd4?DCIRv3^L{7OuIhwVez8U zLpvpri7C^CEAA70f>2TSyI&Ks`9uxO{tij>W4%T~yv>#{Zc#;gYsBtxUi|e`#UX3q zrinY5ab;$cylX_|%?(R4`k(rntdp{HLQq`b7i|A}#T%=KI=8!BK4B{w=1{y=-uK=G zq28Bs?)nCI7@=<;$BL#Rx2-arr)G_>n_r+)q&OUP~t0#kh6 zl_$QGZ%2)1MC`*&7v@!djlxrf!wzebO?6v#QrMLUZsm%wvuI*vhi8r3?KSkp>i&AK zcKKeFXLW3T*fk{6)r|vO@KkQjH+0uqMvDO8HA?bc;}Z=fj`Bx-B}TsZfA(01yaKhu z`W3XmNh5HU8xfAH&uXG|@=kWevSw@jLcUKe2&D5$W74z7#?3y4n2Z>Eth|gNB^*Hi zHE>iyC-7Fy`jd6lr&HFjfZ)(#!-$|*@Jrx3Nm?+wVI?@mlcpV_X8<*NA)ITD>PYvG2$pHO9)85IDMA4dDLBIeh(7T4J#L=a5T&$s`4vkXj;6 zaGvpYfe&HYEB6dku4B4kSGsu@Za5~d#H;~hfJD72-X=?^&FW^}rMe-r>Y3r`Lgdz* z@GMie*wwWwD^)ff(Zb_oJ7P;{zz!#i0Yd%KHyHNOh*3!WGn9FCUOP5#gTX~d_tHIL zk}2}R0iQq>!Vc4mrKJG#k#KV3E`hrte6S@$OnYOt4`C;@84ks2J>p=NYXT4p~}U zymLc6u;o2P{&eXr_G@%gPzM)7R0NA_VKxl-Wr|=3VsA+qLxd#EK7BjNQA>RIyHMf; zTv*`bj>V3QCC)Mp-YLA4&d_j~UcDEYqFl8+VH~wggZEEfO5kk=es}R(qkFpc1yN&` zUkPqAV#%-kXS;YQ8v35uvjfvXkoTiQin0tD*`(Pr`-IuD$=PY%Jb%A;G5zz(J09Y^ z?jcj$wU=-Y2Kj5R_ildCwpCM;>fMBBtLJ|T+=x?3TYM&J;D;Jv4liM`??+|S#9f%5 zD-`Cwl2#z<9^?6PZ7gAyDP6vLeJJpy?SGX=JJKrd!P-5&(m2!aR(G8~Hzm$qK1%#P zcgpJ^l-BK2GEry3;sO7u)8{Jdq0fapmh*FaC$FFvzj+m8=*LDd?N@4nCNf&gK313H zLS`|2dWr}p&T=n9&>MeUuEgzTyv0?5^LL`D3NXj{^~NzRh55B&Sh8%VfDci)df7A! z7N8ANyFh(7rTh}9>9%G|dc0#@>ba32aiZE>u{F7i>o}l?!K_y**#QlfW=`mpS@pFX zl(qVKz){R_ESJ_yU`!qikX&&KEZ^+gjG!WqRvNM z8$2q+KyYf8k%PdOF@CEpY^m5bz);P0HSfX*jWv{V50STP7-HY>rl}-fe#Q57Ri?<8 zTCM+%GJf)F>AtHMj{~b_fv>xEZrT%-tsf^zJ7JB;95Hcuwp#JEBQ~eDf0fCF(H{mp zo5QV(uT{m^zHFQP#VQZ%#J3O-8(41?@B{7Kfb*diy7#0|$enVyf1|V}pSFe8zk{7S zqr}8?vwlab>h#8rURYHfJpCV#^J~N%8ays)5G;*;nh%-4IZz>7oV7i35yvEMEVeSG zGwerfYOn8Qk>V8s?IU6TBhA^Rzgt6~Kd3ovO zwAn}#u`cRGCqRNb*{l6UwF^l;F6h0T^KHi6-QkrN_p`2$YE&{Rvaz;%KJ7FA0^}=q zbr>HiLM--bd@2RuT___gPMWMfxvKu6G20sbW421ezphC%O%(M>bS65RmIz2_ejb+m)8%rZ`(Y`Inr?5& zu$5!#D&D{mLgA~w-b)3UIm?#ktjdgqa{jZEmM5jXcyzxrnNa`p77KABob}hlR;i`^4P~}TqY~9O+6%rWH1ix`E7Qc4;3YxO&Izg1 zIm+`C#4)@=EHu7OdkK_Xj@X{zuTdO%qzLOEG^A<8Y>(R>#2#aLC|M`4??~jS8ZWf# zPR#i=^^>GdjmzPlDa~#wSGkE1hpB;K)$gu7gpMD6?AizAepF3c+ki4jib5HA&Y-c2 zK^aFu((fqa_~$KUz`_7$=0Y*vLwTjZ-)6J(C?h)Ls32|aoTk9P*G28gTP;FxmytQX z4(Hq9njJQs4d+s?MB8-3_)wW3!^PXR6~_UYsG4y2{Ku+iAu0C0>yD;%4V&Jgsk>Vw zS-sfZRq9M%RoOI9NPVmCf-d@98oHx7Wkzk>H^V;9t6^>=pmYVGLg)G_zZt|))wnfj zL#9dhlheeSxS;#djXfJpN&!jv+RHeKP!n@e2x=SI$JUdb0O1vFd34Y+3Xi^m>S*3m zB~l!TlacUQT0Jw>>dXl1c6d5kB8+F7=BBIZM|;ctC%P!0PPj6$(*fp6?|?qjzsBY9M|^rP^S&BAw}Y4X4hHbLiw9 z=jTK|g{-OeN@$jM_`_7$1ICFMqiV+5v3e*ZlN&j8$|}H^T&vzChEW5ud6>5W6RV}| zu@P$l$sPUz2V29U8rbeYq#4x|3Tj@;Afj^8^`CQ*vB{q24e1O58yTDC0WzeUmCSuf zXT(|h`3*8$rDxuXa*@Sv50@rUbMhcm9wH}Myj&cofBR%SUIP5}m5uT`5v;>ln-O!l zgwvN8;O94_S5p7r5UsN7V9U|6^(dd1K}J2LOg)J@2T7nJLfOc5#(%~nz}!KaPaxDw zR}AR+-g{35p~)5pm6d7^d^qEwPppkPxCiB*kRi^@?n(lz7y0s!Qnb5v0+pVONn69f zBkAW>IlAo+EeFN1nz3$!&@&P49uUCi<{#H2z<=g%`3U|J!wK4Ghdm#3k>rT4U@i`} z(giNz$`%wATrT)Y9o~w2`A838!%c=}G+hQ2_A9=NdS>PwJzU8~cHzSZvt6iR%#er6 zkA@D@;nc=-_}kMf-X}Y6(&2ndvb%qM>&wqkc2_I9NFJ^!LIo9T&NRnChQL00)#XO! z_?G`^yLm=aP}QTP+-TqNRnZ1iCf2FNXKgt`8!So*^L7zz1iJ6MFSoeH$ib_>+0`YW ztQfi!uF=PaG{2iJ#Tp*)THlwxDK!wPd9TX001mE5qtvkQ zQnjsM*>~tfog;n?1(fs99Wa20bu+&k#t~}28%rK(H!RHgTEug2{y487y1sw2I)lJ7 zO?}#t=1QAI$pn*J3K&+v(2@xCx}^dzPsd(SI1dHdgKNpvCA5_}#}s9`G@qr$xjt8nHjbw=Ng%6-pjQJrA1nQg=$- z)<6UnxB;YfJyx~(t8-43Ocg!4bcfAG`eW4mJ%_c8;hQfgf7_1u{Xz)t)g4hP*=aq| zxg$wOp0ylXzwg0Vb`*QT5{!qNUY}rckeFJ6i&yJ|eW_*zC5$OqQB`|*tC_QmdGyVO zLlIcEw<-ZFC2AYxY1`9g?~iVx`UX11^xj&U0SoDX;tRZK|v?f+v= zTFb8yp2H2#sYM?HI7S?n=N}LIpETmp0T&u4y^?aZ$p>#EvS!h43-XwN=9oGhb{ZP< zdr!HTa&&~&W1J;%Z+E%vCT-}S8-AuV&?{Cp%|?z%!a=_udC$|&!m&^2`rG8JQ_uZ^ z9=wi|!tdlAO5-|wo&IOh_ORI?4ZhLFKA`X8l(f-GxON(vaiHEI-n8Caa^f!pSc@=D z)jnJ*VK^Nzx+&P{r~mt}QT}o>*74>cTy4+tW+2#VQ!~T2G^42V{Pa~QYsDX@qE18A zx!kA!3-MNyyd0_VIfb1??C+3{e(sPoB~2_T9!XQ z{hwY=`8FdqE+M|?4TH+Umj*fa$UUQ1sv^TrmxYHx*brANdU9B z?ohLmJmvdw*N@DquDd6%+DtWMH@M#+9b7iq?OuO8a7&aPs+wH!EZX&Ex&#=~diC^~ z!RTk7FZFakfzpFIS%WytGALELWK}4&grsMYC3si)6#gzt`C;5da8_J7CpxRQJz;lv zW@yJ(Gi>NDVW|D-HyzZKk%uh0KksFI@Ucl)u_ikgh_OFkb$D;YWHequZui*F?LD_4 zs*+tY%GjN)*Q>6BuSB~Lsan*U-7xEh3S5;@h0k%6VGW8GU)l;#;AHtVS=5SYT8}YJ z5k9ptOl{JI`*X)I*r!6P`f3DXvDtMIhp~dy5i8NQ7QT7^$7cjp#alT6ktIR8`8(q^ zdOC!SYOu^@uQOR8=5fSzFoLR@P+XL4grkTFcsb^5KjH_f7Y$H++7UJ7gwkNO5PuKa z`55ZG{Y~JKLA8Jipxj1Q)uC%5SIqzTdrEd=a6^1k!BwxCC!o5;F75F+1bt3FJS}o^N z8UMD#W7?|~nW>@m5gGkW%k2->7J%Rdx+pQCYN=!cPNMnh<$JP22A>|nD)+o@lHhSg z%e3-6qnp{@8roOc^?19qeybKO$IrbG4_Cb$Js7(=VwRdzobv)*{5H*xn?-zs=;f`Z zba~{uo@w&a!&>HSe3KM;WApUE>(VDPQANuc4RcHx;BvHmYS{qf?Obc(Tf`TprMYWQ z*RV?@aPzmAgr0l&&Fm19o7ok5@k;7upM2Jz$^N>%CMcx#aH_Dw)T} z-ajZ9Z^((NopH}fcpF4r?Hza@gu0atetz@C8OXT>gRZy1g3o32Qd^`ubIur^<9;8_ zM})kEIk02|nm}Z8jBcqs(iCDBShdX-OZ3kEW%H}`;gq6#hu7U=fKpU)0SC+EM7FOM z=a>;o@}yL}4a}Iu^tor?*B`cz2!&UO`OVC|=i8FStnVB6JMgDWLuc)Sn=iBqSDYZy zisMJGbKBcxFUwUJzn;G7NxPytv}-{=%h}IfDEp!6Cb|O1oa={FBFzhLdm3~h?X2~t z_uy{Ms42$IF^~h*v>eHtOqVM{0VZ7++=V-j#o)v(TA`iq7OcpZNrmPl83n3TcaFT` zpI41zF4N7=7sn_!)`az>AKa3PHL_Rr5U~xWE%pIQH26ztkH? z;(wX66{hTMaaEeq0yocj6irKCSuWDX-%@ZJ&gw`AvP?=CWUt z1d7+3`=)rU!|+-Me_pTO-QB#Pg~~BN>~Q11$mCOp?K<? zzN1}&^ZUs8_LvQgngKx_mjuRlt*jB`>s+VCaF!%^pVO6yOlPDHqgb5rZ=+RjX&G#l z;t<-lL08j>=tW;))U+}twoqSq#eM!rNzh?tmFKmERvB6SkUC`vI(^9Ra+~mKLHVlk zKKl{Rb5~gdYJ9ohy?5Z7pBtEA4ACC7Ib{94)58>AhKbE$)k*Zu82a!+_ATfc;X~%d zBX2p;#!ymnMP}FIe?>nWrGmgVbk8MyS$N1ZYDnOh?t!M8^r$ds(te^wsf*$e`FcP} z-_2d@%j<3uA1D)B+TFE|$)$YlQ-6xl4LKI{oUkcz;-FY zFdjoI&Aea8k6`7P(>K-PofyB%=*4!GtYVgEnCFrFk=MrjP=l(x{ba4G)54)|MSufg zp=$*sfJW^#l=-tFM7JhtRq%V2m(gqxo}<&J9b<AO!h)wyM2R=@R05WlyVM(sS#U}btH+*=$2w3kr_&h_-J`u*7{TD^`&ed-0&~PU zMJ9p8=}f633#{L8dbDqWK5Lg_&$Q=eYQZ9oTtIMG>A*c*;UAm-Yhhi}oBbGlenCB$ zdqq0|@f0qL?k35P^-PI!4+moVBchG}c_h$2-ASp}f1LV^l%m%3^4Rxd;m7d|?2-5` z(I>xkZ9~)o$rhS>X7_=x`CGToV)QfESG!iO1=mlEiB_}#vj#o$18-EtcJpYb_k{!H zQH)$ip1*)69@@inTo?L+tAQbIIY|rAyLbZ8(^r4;_1S2SDF>6}hj--fQj!DhukE8rVV>FDV>f3a}gYq8ENCk**XI&dJ+SVltcLFR)J8+e!U3zXVe9z z1C*psrj^j`V3>7n3~@_`YitsGZd7q%^K))ipR<~x?J{`*Z(Td~`Up8iOJaois(VH9 zm*s7)eA;_mpBDa>gmvykWk@bBR;HCmFS9)U!ikLNLX#B zAKsfwKXkP>iM)BO?K0n800$e71shu$C-YKcXR{;ed==pnOM7_&O&?ajwepuBu~J?v zvBIR1Bo=Ol-;mUq)RcTxgV@{17UjFXnV66-V`xwvFCn2GQu=tX*hUN%rL5HQofVQ0 zZ6~DfS(c!2H1?Q{g>+?I9IY%VxyQx!el_C-t|k5H&j%(qIU{@s=}!}`G!zP4;+t5J z;|BLvr$4=WS5n78S&{^i{PKA~Q+kC3r1)z^`_rMNk4fYl(2g+NMgBlz-?0g;`l2cM z9I~b=@~hK6GkkhIx>zlK!(0`8*-A8ZClo0AoBgAJs@GoS=cn;TfF4p~wCYia^P`{T zu~iCwAtsTmjSHjRNzRDUH$ik`ueYh;H zY0PgKGNFl;*+TAp?|)~psmD8B3R>fM!`cET{qIC$4X|IK-gvyio>i1y$=|Z$onHe^ zvPu8J|FSKuZ!1_tXn+RM@fK;y5-TCKx@%Y4T{_XjF^VK$+o|r8EiMajV$2?~uK_ww zTi>zBqepV3gU(dCw8qZKNJhWjm(`^UqiQxN_KXYN8W&UVPa1Z+9>s5C%|0J;=|T># z-Bpw1EWtc&hIDU4XstLXuSRIOWjDJubJ~KMBQV;zU>U~6-5W>OZXrzasm?MV@8%Wv zrPb;|8qsS?jh8b#MHolNA~iDnBPaj)^7oNCo@D7#KgGOeSD;OeNn0kGZ}eubQ)ra$@e>>pxV_7Z7trcSqh;ibX}ZozYm*c15%#kw#4WjDQ0^!tDtC}~5pJ9UDX-La+t z#KoU?b=|VOMy_8>&UWWC>_rxssVgq++ zBr6co%jyg1Oa~WOVVSTmrvZ3>wQ|Ao*VXkhlEnaY}xAE zaXP7i=q8C)0%#jaN6*vwIaE(br$8sY#X&e!31AN=bk5Q*A+jk7Gf$U0U+A z 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ྗs)C1MvEX&!fCB(pcm0Ijv*s> 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

6QhPzeCCmlF?~FU%E1hYlw#R7=k1HR$Nv99o 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

E;XnApe&aE}8PJiC3wQBAR*<1;1 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

0NkJ6KtgIcc&m{zb= z-x`M5W?m=l+g6VV!?QndvV{jO4T5YB6u=S0d4NHJff&o5jmEMyTit11aFJh{XsZw5 zWkuM0bE}_NOTx*bfZHrcFm5Aq7d2EzBK-;bo=Jk9;L#*HA7n{Xzt6*u7yrrX7Zw-e zK}+et;%iB6-|9D9bov4sq15Y@q_rOOG_|ihV%xj>g6Tf~HHqm5jJ_8c&dzl5BA6tPMC*b#SM47k? znG3@6nDUHhfY|%xC@W)7{zof^3-2?n|fjulzoIa>bZh^a~C)ja$!<80T(Jpw5cSQkv~Y0{EDog z<$O!X&xZr@#|849hj-CE{J`U38J4%Nxp8?*Zs5Sn)9Y3KNsQ)y0TWA9s1=!N>0CNC{ zlW`~p^tyh6U$d_TrEfiaoN{57Y95Ax|FGc=o9Gwh{q4c|4e7|85mjgtvwWwXUd1?O z+2h*t)}G!91pw?Y^sN|53p!BVp;o^dNfov5?(>3GvW!9WAL(5H9mU4qg7xty>T$uk zUL6nOC~Tlt$siV&42h4QvXZA)`E{3GWdMqG9YfpJQ#%1|CQ~Uj46tig|9iWJIu|A+ ztA_iF*KAQaQp-h-wln2dwDcc{ke_L)DsRF$6Bujvx z{I`gfD7PvIh|h3P1KjH%ir4TM~lEZ4eVYX@SVYh zKq3qzd={_IkP9BJQ-Oa(xq#keHr|h1zC>vW?oTDW*gc2n&$}FYp}VF4)!2~$B6ztw z3<>d0hl{kuT?&cYhtt0U*~8bq2!H>;-HEG2LgLwENcmXG8h)DKzPICPL5dbWYr{C_yaN&a!*96qS35pk3LaNzk1>t;<1J`AJi zrGI(H54_}RgyF54h(qG>1MnLH?<3e&u~4)e`WMYCc=;`!0zV_zLVXs`&XNCfK>w99 z8U~F7SIi#p&VN5}5C5xg;B`3gZj!b}P{4yw={jx(g2b|(T-IlCi-}>p=A|jxl_wKK37Wbk%fPmoSe)HEn7MnynR!3QN zk@mBQDEn9tcZ?q9I|k+Y1#MngE6W!wX(Vk$f#dSPEBV=_PsHU737sIhYNP(o$;3=+ z?aTvjXzL+$h(k9YSfTivN{oT`yf8O>A_TB2&ze)xXt|&OR+1ICzVrO0P3fj%f%ALX zhOQ99_qR{`kHCLNU}W(@L95sv_UYK~i*B`I_#i9$A$lj^9cP-3T|j&M{$r%)#G$cb zX{=W@$WWRl$hJ^0_AeiFDtOdr5N5||yV z1f2s3l5hXOtBdA7U>H$Ux+HX1wP44i1>e;7fq4v@krvOv8nQu*p71|h(?tbRrr>n^ zw?p)=Gvgm82=MnGyklm9je9zSm6yQlMoN<0;{P9S?;a3S{{N4^*=;R@b{CCMv6f}Y zM1(GKS!LJ#o=c`gS(U8rYKm;RB`nfKg;40GRJu(Rims%~bQ?t1sljAMP1F1yuX9Fn z+0T35fBe3GOlQt@rkOM6JYJ9I#2=HlXIx&_Nkm8?{Im>XFyl6@)sJ7 z5ws@XKxPOCizOhealn1XIuyG93CID*Rahv1UeZ$6^jCZW0c}w(A8vYw!f;u&pMyDE zJEfzV4n?YX1nj($Z&y7dY`kSolOcu+fk0iJ3iM@+lPc!v?8nD34-&8QB#qPzf1o$R zYJ%frEASlwoM{|Re3d!T&C+;x?PdF)usNFsZ=E-Q!^w7w@U1;4I_WVmaYcBCcNmS~ zmLK!!sgMI&iR$$Z(yX62@Kw=36wwJu_wQ@!HARE4kIgCi7?F6M#*$kNFG{@N*H9U! zOk=|AR$hmUIf>#IqoGP+U#F_`Q>bQjks1 zOAsl9on!sR!}0QB%hR%crl(~&oM!^L>^6PXfZT(+den(ya+9pet@JHwh1Fe3R`OQ2 zx`_O=(xA+N8#?6)&Jo7saId@0{87SPy!$dL6fEBsH?bzgD$rzXlA(1&CxM0C4{0nJ?zFxH=B z{hB&KD*y3IV2*DkeiZ~T2kM7ZrzdiEgNO-h`ukCIxsh_`w5xu5F-)y=9n9XuhpHqFMJ6g|S$=OJi75E;S z_B^~&H4xCOc|x6PBOc&;zY&b`UU^^J?DXq_6-L_)Ct_itOAt3Ay#B>N_46BNnfWcw zBb(j?nk%VyNTc9fj_yMjuPF~*p3lDMYZb>LSZ=%iR|L;FyP7brGPk8R#lK+87xSN# zwO<5&qt%E3TQ*bNUzUS0w1q%q>wcD!QuUXVitS3}&NMTaII%OU{qL>pIDFcKLA=HJ zo~~yT7O{ljIRftljEv2UlEu&5Kn{w2Mm1(?VR!6QTkcP|Aa7%vtRpWh&6;+P>5q?W z$!qWJM_7{qwgR6s@<8}ubqu-4j;A&m{EJwr3S{f3H3AgPKkOY(kSK;zxJ!=&RR;{2 z2X+rd?LGIHTYw5N84MOOOvNgsm90%RJ$SFH5Oc&wG* zeQHW>cf#NVd49|~2WmS{%kp1r*9}YB&?I%d$5D=#=kFf$P4Z!$e6#b-lv?Kr4c{in zFM%hHN}JcjUYb(4YmMIwOZf)pgm{C8-OHT=H@bj5h+x}JkDb~++*_@sV&83uQryaB z*m~G|q*le%sa^k8S1Mbd7kXf6td`*G>~*VxBlF4}2QpHJsEr(Ia{Qv+gBxS^heXA# zhPFnqX1iO&>@rqdc^bF;FK*_Y8`o~{H4Xl1e(?2sB8gFU*({x(Zo*{~y*lP>$r(}H zmPc5d6RZQgjLGMT*H~dt)X-Jp>Um}TMyz+kjU#!b4&Ng zF7)0QX(?H>zs=DPmDyuHA^j3pytTc!YuMB$A&WS3%jz7b((mcq)R|l6IvugtWw7e@ zvbAE-^qkHbmp;4}wd?&Go(=MFo7(c0)FMkmpSjM`*f~b1k(8oSlG1%)m#I@!Yf$)H z=Txi3;hYVzo2@txr&c|!IFw;Lz`^cK`Qy!(^u}H{NH!4tI>oVHXLVVb_XXCsC`I2n zgmSVJ5a355szj-})GPYs?~RO@rBAS8pkpm_vj(Y82TZ2I#b{L$MWdu(e zW+b#`49|!yIL4f!NtBfbt&>D<`g;6jLhA(-iwNAvD?Kupkd2>^h=tfSfQT#~ODoT{ zy;*ftdoO!a@p#aWYMHT`#Wm;KW3Ozsn)ypkP;I$N&x@63iUr24*e4c4_&eO#|Jm*Dz4Mey5pTt5Vvx>6S|VCPsAX*tPvo8%$BKjvu(S z_?Adv{ivmZlHn0Kcgp9-xFwh{D#n-1_t5v$yQVaURM4Nh&WZ|Hm}n;1u60eR>`zTI zja^{3!Mjzfzhqu1U{x-$%Its2v)d_rY9@c0Y_NAmiBxEI*CWi`HaE^$Rou^SyJS&h z+TUn_J?3fJ^lrY@wr)|Or{8|6V;D`9@P3rx5GeYl4Qyvgu zP`U29A%zP{lT{N693Z^i(y(D>qYX#){afX#F0(84vIRA7Lko;kM|Qae9OPV81^FIQ zbLm_agm!HwS2!Ov47GnG?hZ(@s{Lt}EMldm@9=_y07|qpHQR^tD+N-!0?j?AP>Azi zX;a(Qk-{le#s*?VnVHgMa@PW%oPr2P08W z+H_UrguxP^vn*;vV>iMMsJ zcgYGyiZU2T7L93{gA9z!a~>P~0M#cjZGHJS)m`(C)uS38%6>PAy7-=IpyuM1gtEW* z5WK}H$?^QEX6zVjY7>l8_d#=aW!#J>hBo$^HDjsE+kpsXsKG6@%x7adAf2M1v< zU007gyI6U{wzq^WiLuSm1S;Hipj!Hf9^wKM+3m5_%in=J2N|7=Kl-BfH2|z)2>(UV zFIh;csRU;dwz@R%Ppi|igF1l8jbIDg7*=xj*Mxfb2vhRpe~7xhsRH(iNnzca7Njk( zoTHfw-g8>0U-We8Ng!aNH>b-k{CG9Xnhx!sS88+@Hi8EQup z6`NGGi&4D}S%!MC?W+6Q#hT0_{-5>wn>EGDv8W2A9t%>NR=Z|%d|GIUr=58B*jS!U zQ{&naw$6x+3AXfGD6?7ad5T4j)g-$O4oYp6vb{mvzmL-2i8en z0lXgImISr#L)jbU{DfAAt>ojFQH7elO+V>;>!cbkYQJ-hvE7{FpjPS$%5?mW`J^iF zRvpA73UOuv#wj1%+UEl1ug@cI6*YVEFoR^1P_g((%C0n44oiw8)GQHP(cZ*=(*1(2|b&*LtKd?Y3a_~V#an+ai3=ia`U5upgpm716~U?X-wW-dCn*TtLfD< zVSz2h+~|`M=<>TP5mcEdi1(WOhijG~cN-$M6*WN{P_U_F{n9E)*XD^g z9NsQmwNTz@;xAi1jHg$QVJ?5=_IPKE%m8bb^Pn^hE!@@Pv`p^zsKPnIbCG$6G{i#ueNMd9HTl+n2jzD#8{(OnV8Ne}&%Iug z$=^`iA<<*d!pAiZ5Epu8+UIvkLzLF7uS_>?l4ktQ7lyZv$>R%0C3pO1>h*-cxGq`Y zpTQP4!y>DGoOa!9Q4@dNOIcc=$uHK(|_-Ei+inIJ>arB-d{G`nj69zO@T~ z(Avv<(5^htP5a4w?%;16+o$~9G&{StZ{kz_!XFwNO@G?&M{o4o?Y33JGmidbhAsA$ zLL%gR@@ukxdx&Cvas5|-uP&3GczH5^D;|$ciyx&e>Z^t)6=zX_%ptZF{{JCioXf$yQP6!SZ?*5@))e+-c*t!E_p_gerL*+rymSwyBC z=-iht^};*B#%Bn`Mcb#;_%NVZ&Cw$6=yUyqM724lwy2uc8qIsy zjlK@b-)D1p*EU<#GXMGrvswVN2B7r4;l4JTWi3n*oYSStKe$)${g_L{Q^;+mw!FUW zwIHqXy~ih9lBfi&r7?|eHO=0Se)Le*u^>z}?)*u(=0>-L)Ju<)(>#L%AtA^)0=l5h z=%tB>%tqPZltD#yHT%fUXMEp!Q(8=DlvtcTZTpnWS3-w#D{~TGY4~Jpit_ec&KoSM z^1eFa_~Dh?I=toQQ6c%Fyii^HLqRwLWFzs8m{8U8FI2&CgCCSo@N7r=D>hvO7hH#? z(nzQq)@_$92pYDx-1WTmV;A#S^YY3bi;KO%b|P}L|kN5Z>=aIBFM0#Tr&|f^E(c7nz-(k%6^A{a?8+6sb*C~ z99z1v@p#2z=qknWz@@EB&YgIrM@$?3CMRlmM6vzqhDh^PfRYI#?$~?CU%y@4|s+HNgN{cR& zOGh84M3)t<=3>5~@elEGr^z0Q3U~66L^IH!-ZUMG^7nsIy*{mmPydC+ql!{Fb|E!# zEcGg_A>YD8L*vw?G>^KANf*Ue(ll$T+Rh6`BF2|W<8ZV|7d@hA)PgxfxK)apHlaj& zd6S54vX^m*(?IJnp`Q#c=y-TuJXkYx!td&H)RB zE{C!z{%lFCbQE&E!!6b=RjZ%bb|t@ZP_okoZXt@~?fX&cLAhrcHY|DK8P7DV7s%U} zuR4}z4JOy*v@CfEjB9jhR~|OP(!NtFdu!zxe!HtMUppdTOV@P0@sY4dZE_lImi<}` zbo-%7L`uh)%buzr94USk_OGPhRF{XxdHz_~ePHmk&|56{+mb=B3%;Vu1}GcrHx#IY zuJyE>o^C0%x?(_}c)5+dny!r{$UN!VSdeY;LhGa(OM8`yKCT>9IMb^L?^@N2m%gb= zW7hi|Ft&17X(=YvLPJ5V?!v{y!J%geb`MV@p{pbZh^IV% z|M2%Z%J0SC^R)sG-mMe3F&b3yQ z<1drXi<@|=DPR{-o_J(xPs1agjDWj5tf)uBN{G&VtxB{+>z)H$rZSpFjS2U)(%n)x zt*eB!O7r#&ziFYYdeFtk8xCpXOC|hiCLe_>K!TUJ#GLfg4!zF={<|9Oh122@b3nZO zKKTCFc*-Mx(I zVfvK#B?F1hls`?x_zzEbHJ)WA4kMpsxF4sFqt#*VKAvZHTaF+ze;fO@z);%PQvOm# ze_MPW6Vd~CB}r9t0Y3UAJZGi{hV(cC0r0V9ug|!Q`5bUo6RR*j0LY_W0t#3x(4{sb z6?=+-{o>zb-PuxQTQCzCv~W&-y0d)o6%}k?D2wkHoZQhgX_$ZPokI}AENwQ-V+ow2 zer%kDjyCx6NZo{-VPvog$;#)G<76o*f)neq)wHg-Z^rJzSwl)2q`pQ*qwlMA@9W@8 zPM?q&no(tG?2ECM+Gz*;9#^8$5EySx{HO}CRz=8>wkecR919fY9eNC=f%kfVs_>d`XC^GhG<>0yM8yn%H4^N>m6kwCvJc5mNLs~qo$CkXW|JeQ7p*j+Sg zC-uSUv>_~38_5@k9ZwB%>&3K!cVnwuNvx~yruF{^&6&u zm?ZLf;%tBvjaI(n9vb6+kJcR$?IBqi$9aF!D3rz&8$)F{#8cV{!pe|4#C!3hv-C$= zrVqU)O>$J=2h!?-dqkSs6nx%VFmhYU3l`yusnG}k79cY=1$ajF8-n{jfL`QthdmrW z7@Q^GF`g1AM!vX-#|e2+e1+O_KWr|9wTL zkfKu^8p6&Mm5whTzfHbWClWUrQnm)~fKdqZKk<&&T=6qKCrjpS!>=+`TP?3F9i+>@ zSH3I=#;D%moXk1%j#)x6^I(4K(V8OSPr;9~AC0?i8Kf<9jAfs-cj;`({~lKFt_I^P zL4o1VzgU6E!Ji00cIW1}kL)QYQ z+izx6y>`tlx5??Tu_TmFkEWt4oX&^Or~)7jvQ1|B6CXExEsbBn3_}@QYX7*%N{_kC zTn9q|v}nWbakcD0)J)1{#`&*Dec21X?L;^N1`lny&D`oQouB{S@SZ{MgbjAtUv)v+ zI=%4&`ZzEqjAkE_j+SN(fQ#Y;%Xc5^oXJy$!4X#b1a5KoyR6@+XS?H{lV#^%#(wY* z6UFvq^~HDdk3VNbPzNB-=sl@tPZ=HJWit|Yk7%g0++sJ~PAh1}0Dz|36Y6G{SXb<{ zpNz^h>d>=AM%hbrPHTtm2Zkb#K4c?;?e)Jh0%K^qMtq81i2N6qZ$Jmn3qJkYAvLjn z)XMuqs$QV>4WE;M0WOeoVJiyZq{7`8^Bu?BbU*7HD!NU0vzWlIv5Yo*lni4xuBL1s zbM7%ahkiUW3l3y@17i7zfaL@p5PHEg2WoS&#hf?Z-@o#nIqV%;6SB^sUQ8yC7Lo}# zGsR>BJ@@%Uu>-c`(Yq@qWJ|2;H5r1UVl=={< zYuwGl;a!1~9!77YH{S2`aUF%-2rHiH<6RG9&w|T^?DIG4F6RV?Y%RlnU$f(Q@|3>< z+5YEJM(1`*ehy>rn9fu!I5Qv{nzj7yh^VarGJ{h0K}J#80?&t2bn-3#m?~YK3e!pI zb)1PPOqZ|FIDx|TM?TmCMDTXtjxDar<)%AhB=4Qou&(s>RUh{IxfumTpet2TOO*E6 z1sH173^UR;o363SB=of}zzN@`!Y-&T{r5*5GlnmdsASvt>lAh8=w^PipcqT~rmcPi z$1>hte%FYB`%BO02v>G`#6FhjOVLJlkWn?VYC_tQ2j*#q{uxZ58%h2#xYTZUeNTu% z)TkD0)&idj24SZLgmkom;y?eWYw!~zLMf{ znmA)q2}<640C}8`bf6pzb0xpdKQ#yQ4Yg%coeTtm|_zOb3Jr~mT;12pcW^+4<$7! z#T^Er1(DB#Y#%FGCv9*Z_O=g-$ZaEVn}D40Be(=jq9q~Y4qGSLhq$ulLbh0yPR#T~ ztoWgZ+&Nx1G%{@iuU7MBh6Hj1&ozwoss*Jq8FxSN#Ff=G!ulDpm+E|>R$S_13JqT4 zMaq=XV|V_@nsJ=g^-<>DYs3?<85VFV!v?it)RBpDuP3mFCvSnkcJv5V*U3i}Hq)rY z9+JotJ2T&M4djQ2*eM^Fpt|;dR4W#yGeW2G))+-tfl%Am8=esy_jqfS#A;Dl&b@vzbxRj{>O!<*E6Qkqrhva|rUs6pWUk2CI65))p<-d@luA_Gh}5 zg}tjj{OH7gnxNsdAQiwf*l3aKKdM3ZO$c9WEKKbgfoinU&)oF(9O zQ2}nBO7mxXA!8)aQ2jfaR_jN5O&AuB4F2XArQO@{fgaP#e02iNR^Tsj^)SCq8BI`g z?JZJ#(*-WE*Mk_237>{#w$LU?3woWP7 z+HHDKVu~z|cRt70@>o`xu79+2ep2C$C>5KSX!D)V#^=Pp?%Uisipu|)v&+Q)=tCqJ zS?T(lT14vQNzA8jwSuj`aHUD6#RkpMdgU!6zORZDG`NzO8a=+mV2(0#7Q%nL9sJ@7 zj_PNNUiG*4YinqruD}gwp~iA zrrhkqJkqTyv~z+szPohY+dNa{1#9&&xAkt$Q|(oY%)``-#TPAjdoL}&Jb9_}c-t5U zo4LgqFHDj`U;dfBM7?mk{y|yLs3)4U>dP(Masjy!M4 z->(1CfO`=#&OFv} zvPfxLjw=FaP&RHVvss_c8jUO}r{~{$gv0O6UCMZ+|PQ z9mL(|*iA~y`&oCFw0m3S>u2P3D@*a?-@^{rx6#9}V}2CMI{$z#kq6YQ_ilc^fAQ=r z_;+s|0nkJo&Gk)F;t>b*l$(CgeM~JWG0*u6_jFjoA<&xvAzl(uHU9flAb4INhE%92 zi9qsi7J`o!_EKA}P;7FWxmPBhW3ksi`p&B`L(#nO->hMqEKc#uQ6< zsQK9FL`Vx#nrtu0esu~JN^R~IN;t=hvX%VSDmnFJ0tN6Bc3U)TVKa)ajMS5K@(Z+u zi?ls|B+pyaBrmsay~R3YuRaH5kgp@_+F(+VLr#;j=A2C-r`!{}UsqW>r zCU$IkOI-{h7UQ(;`-v_4|CzVi*LqKWI!X|!B;Kdk1RMi)E{D%`#d>o>|!4cs&vYNkYbyBqwF^ngALNvYh;Cb+ft zCpj@uuU%M_RP z@@~ZN^!RNW7C&d4dGrKej2s4Me-%^Bi2b5d2>xa!)Q9Sbi9+99W=bxmDuNTH&V>a~46eh2g6@yMLnu`t4?P~Zae4PZAB`{G=Sw#&F9vI zP*IZF&9f+XP41T_KzPKoqn-4?)#`eJ^-yf{k@cp+aW)NY;c28GF7Y(VnX4JWxV*+Z za-aJi%5tqL`XO@@QIwKFY4fPkFLBfSSL=-_3YDaC4)h8%8zZ{-H?qrhgQy1NeopQZwy5-|EDxuU{&^HG5~fbTSMIN~r~ zesE$}@OPa2OtYBVjWk;w5Q}cksfrLCi#3db_Vv2e!uo=)eSX@_cN-S9sRm*jR2o?>f_&eXTrM6Yfqf3Vy)0vf!v*)wM31I1IH-iFcA2QA#!sM&^#AIC))ftc#<$V-j7SP>7s^jtI~6|^_A!At8e32PLU{`J=wk9zDB)Y;^=raUcgPZ8C*Ow z6Ew=wwg`d1cz-sWD6*EPJyJESK6y;j8XRbokCJKLjd}akCX}W4M&v*A8`M8)>7&F+ zHY*Wx3Be;sQ0qC;<2Hw_6WBZKuR3%)Rq&hg?q3>qVX5KxVGeoY>SHczU+PZLVXt%# z!4ce}lpnayBicuxTsN6rc-O&{5%F%9+*{vy2HEoX>U#6djdlGw4Wm(`k#7%p`zTzE zfLl|)?c7&&3K3J(((Sl#EDvNKzGnf2+Fswk&J6nNxXIeXD$s;HQ_m zdb9P)vZm_Y(eB(2Lvg3o^{ZZY87xA$WuSC^6o9Ps0dqII4aZC- z(MI+-3<7^zE>$LQwbnhQ{Mzt%z`(5z%MLMLgKWcsb#J^+Mi!74i^|$YS-RK377S(% zHf~KYY%qjazhI=anPcg%+}kLS!T=t(kX{KeOOAA#`9@G&3)|0vm6}~zrPFQs3KMo& zitYBqSB5?YJN?GNkYkloDC3f_+K!A2QjFFPnUZ!Nu+3tF#)*(tj4O=IWh9wZusPQH zSDWzou!auAvBAwv*|^h+69bWFc}hEUot4LNl%<HT4v2A8Rr{6^1xK3UPTNy*l; zPxQ+|=j#?c`?#|M-FR_TqptT)t-|He!5P$U&DF-XRTVY3;t0Yq{P|cMna022aiO5! zp$#=2+5a`B62q!<%9;Ticf20q8~D{#ORN4=Oy%TF$Nv(H-LO3Hd z8;+dx1N&|LX8RKv{Nnr7L1Uj#0YONERK<1<$7h*3K?YAEf^Mn!vIK%$&K=IKoz@M1 z7c;;1mu8vWb+HY7?H#iC0j-prxkW26-G0LdhY$IDVDLeWJdbnXhp9qF+s1ha%!C|r zB1a4Q2K&UQt1CGsDc;hQF(6Q z&M`85)5F|r9f^@D0p^-o;Ts{~HrKnj(M+v0t8nZ=qeVAJ5d{S!v z2uq(=2|#5XaV;-Wn<768a0^GI?~QOAuf7ePwYQkcS|K7?_rs;fG8s6s^OHboG<)Zf~EZpCtx=cUXKejkOV zlTX5K`1Yw|o>jxP-qx?%rEp3H(c^K;T<=!Jbvu-+D<};UVWAAF`h^&H@7P# zTrArTHBVIAS)ziBB_hm)uhaPPoB`5AiFfy*jGwR*3tCK`$0O$CO^{=XGsa<2zhBu} zwmOT~fO?Ll11ueQo`eFz_NAKRk(tP+0xVOYEb?m2hSDjjZFFYF;T>*Np+UX{d~m{J zkiH6h{LFCiJ(>ZQuZ7{KV(nV+wz5xhItTYG{n!ySV>me8lEWfKL73|J zLbzUMWj=Ly-i74Oe}1&2VWR*%Du*^OgPe|eDW0BNhNJ5K>2cwYvR%0%xMK@hx8@vD zJZXJxS6H>V%Dr80xX#GwTc=wOO)9%#Q^TBw+@Q_DJkR81Gvv`)Pu_OC_KQ{uUKpR# zF)#vt3rDNYKY1>f^p0}B>cJK~mqOD?xrJ|2jqZ|w!B3g73)b3tNH1U5-Sx~huH|G8 zHQXUI+gBL9y1-L;AZRgurfUT=kIEV(wv2?lb5pJ>(LlqtC}wp?ZkfBjy-jCRp~Ys+ zCEHS3LYf+QX_aY5QM_NajrV$AMq|LH<2OZ#KG9#Z19DNzLO%TFEp89>J>!KgeAjap zGv*~f4anOU;R$=EuT?D-alU$-_ZhX3KbQnxv|e9vF;3WL(-Mwx*)x+FbEZtG3k)0k zMDwjpUk9;lS>CAYU)yekIJkF2yz~P(d}xop^4g?w)w0^cT?q$AhBqwA8ClR_WdB!| zU%R^A&>P{S@Zd;A zthh}OGr26i&xMcJln`QQJYSrOYg(i92>zP=Ojy_Td)M`?sT#EDWzkCSD))Nx%&=pN zoG)659&y{h+th~!%;dth`*&Q}8kY?cp7d%BG2*^zgL)zHf zx0<#whOEe|cRpn*_WW_vb=Af_0KCZ4kN@hPE;dA-a)Qpn@|d`V_c;C7hdL1opD+%@ z|56?^=12A+Vs~i_bv>0^yMVh-`UbqRi(9`*&{m+lM>~wlhrTz+6aLp4VEGai1P>p) zA_Bh08sFoY?`4KZksG@e06^0Q`40~JrB4~In&-^+iuXsVJWlIeTjJDOJi&*4XSy!C@${_Sd% zI?lphWCYbGQG4nkLsRO}2jQ8FGxiQAt#+%2PR-1mWw12yKe{uW3a#%yzqKHz-5$f< z)ne}kAZ#rDcmivY%er<{yxP5+>;hV3Bq|h6s0r~c3&q5DL>;Ktr61^Oxz;EZt zV=v`**LM|`46TXw+g@~Mi(SP%pPG8~uK3tu!4$2#b*ltjj7HQ&t`z8{WG!gGBlTBo$@dtoke#vc+$ zV*5C4(Ydzh6%3C-M!g(IBu9$iXvo_ruMx&IH5MCMQ(9Ho0o>6NB}qzjbh0-%-fHGI zV_{xzmH*+xQQB#K7b)b##U7WaKfKe+dI((dqZUw{crEj5C>r*#BY%bcC~e&d_@9vC zzOxSrZr69Ayi2b=>bd(Go;l|-e_0u9;bA!P%&l2_f;bEQwF)Je*9p zr=UKd!J6(l(!d&gY@QC;Rv}cy%m&IQpYD7bkopqRGe4>h5X*dG zuW4#Cp0AX*h%mz2;qi zX5!KNg*W`H%|pzED%O1*R#L(R#7chJjcBe>;)yNtkn2|p3>pd(*Dy!`CDA%GhE5f& zxtjWF6tH!}e(O7NS4Vp3WOrw*kAfo}eSY>+Wa=%0z0T$(QG+X8_fFqpVmI9>Bj-{U z_xCy_P^d!f{20f;HibnTy~{E3DyyI_9s9(Z;^T{fNDZxR$Dd z!&@^RtZAu_R4LTzXVe{z4k@_Eh?i>#)1wjF6iurgYJMr5FJi4) zrv;G)ozGbenL~BDXaZa}r+acZdpnQr-biSb7OG!U(kBjh7>uIYbm(zPF+BFEYoid1 znygS>z^O#iooWUru3!MY(*C1pj0sOY(QoYW@|wyA`sMYV`)os7E8-wo>@AsS z8>@9o`x}nGZSOF3YBdqi3LXng z7&(Gzp87wJrQpOP*h)(gX&BbJ^TIRxa!WPj_%Q*7b=+e{1*)C$>-4qCGuCK8C>0xoN%;70zd0+q^@qjUc;%%b`p64Ni~`3WK#< z`HfVyY4d$;VeckM_NvP}Of=@B>IGsnL3O!&aAt_p!ma)?jaOk|R?`DyXL%>V2hYwG z1hpQKc#8&Q3*`GGN>3bT`*&n1A>GFFwzO~amO2w!4xuMR^CsW&djb>hjItZ~%oDv3 zu)$N#mpJ3EQO{L&Veiwa32NP+&kVgGDr``#IgIoT>Ei{0zGgq8Vao%m-ae74w|_wc z;m7klNhAjUoYrTbyQVZ)$Jj5vJ~57%$tkg~)QL2^st~I*a-mWd<|jMB41# zEmq44r49EB7jRWx-6|H=E7@*&p&Hsx)hB>#E4 zB+^5va|&hGzooN~y@Pw90&y7eR5lgWEr~eudm^Uj1ks{y`=v2D5GTLaL_9Q+xb@OR zyi)4sChB$?lp@Q&mli^iJkQ{2;s26Ok!J0r0_fwGz45l16B@53t`hy288)a4>R`nh zMJhc4rJ`RjoYIT+q1P_M5C;Gm8T9SY$l%!^IzJw&a4oMA0iI z2&*SY1J1_LZ2m(!aNctpV)-}xI?9`jM?5aZ=~v05lgkZ`uIe3p_B#Q!N)gj0&(b_>dh4-8Axi_)wQhk)aVs1r{e z33463@pyZ%k+xFeXl+`kn{hAh4@%Pj3B%(}gZ_V%MW8Hg*+#`a)F3X(m-^3<71i>B zVR{n(c9MVCAmmFN1}G=#Dhhe#=My4@07xfhndH<43itwQEB?jLB1e1cAf`yWt3M!K znZLPMlCPC{TX!?ia2=0d1;Y5hL*A~wJxYke?y{%vzi=odT6V4IT)#Rdp%;HERH+Q@ zcscN4cSM-n>Du>@;sCn=q4MPObkWdq<2$u%7zfKQul-NT9_J-X_T0Iq7bLv$KX~i! zgdWWH5*7apx?aGAgY6SZgfJ*W!|y)BGI}jIKSe`M$v{*}NH*jPL3#XUK{n`rA0QSlPj<-a?Lh}eNoyMcSszWMaO)jO~{KqjdpaXfe3 z5@$(^AjQ3le7Zp+RIKD1kT3e2q}JZhZiY3UTIC7ZH;hf%z^lkBrlV>xOqzcV8Y(QP z8VWrF^H>P!!HHd4s5MsbZ9!-O__-7gDO{Ki7oEgU#nW$_N1yXgXa9XdCb94wBV7)` z?%yTUIzz(SBEJ~jgkY7=hb#esgp!)BzH^N`{iWwsUb!40hwzMng}M3))D6c%>`n!o zkQGVBAvYPMEM8>;R1Lr6b_aJTjgi`gK0>dIlQ2vndP!SEe6;|K!LH*s!+49%LH~p0 z9o4swV?>Efl<0VSH4cIS9Uo|Z!<@{gdqfQZElGOYbgI7FCLiem9u_XCC*@v{G`t%U z>FuM@qg9xg+db1Aa{V_9zd+|Tmz&RnG30GwCfE-x69SSdc-Y4tKk8BK3s1AZt#~g` z+{Sb*Q^FN}5Sy_(%GBe+GwWyPHbb4O(-rWaqDS}c7Ak#Nrx0oyq5GoTy=#9H?;x_0 zRsYatzRLe|1>?u6lgECODv2*vtxHmGQZDc?5$?^9c$=I(rk9W|PCHik?wOyB&4wWk zyox<0#R`kkmEQ+ULeI$!H0S!9yBy)^X?ZSX?qUtz52VfIs-~`1Ey<$QkU;!+)AhU7 zpPT&`=bJ9JS|qclnsR=EH;cHJ#72V>etRZRzgkrO!mR)~^1hoAG!w>Bst>i7CiRSL zpA8xYl>n0~%E_!yTcDnej-2(3NVj7aJc(u_VP5%QUhz3v3=?n6nZ};$bgq2Hk7cIm zVG!4bNtCw5iip;80NMlU?MKs`l*b9Ha!A5_#V?+Izf@n@lu%=Z5cZ$<>S(ksR=y$W zqxV}%;WDb(-7>1#T}X5COs1`H`XgrBSCH1~l6IS0(PQ%z=UJaO_{^kPU%U5n_oWmI z|EdS)Vx%dOp!xcF#L@PtP(fJ%Hyu~CZeS0e^yijbPb}LQ zM1BlskRo3mctR0F4_U&DH{P2i2)o?$BijryoST3{Xw3r=G!V@KoL$fWt(mEDWapiz zmw!}pqgPgJ)Gf>{TdBF(wj#XVr1n=_v-F(W-X`uoWT}_GS5?k0CFCoCk>}VL zRWYUA0R4MDXv~eE=~2jQFS7KFjP$tn-(aLPt4<*? zphM{EK!d`=bqbR{+}r$Q5+#3$PL%(AqR6esCVznQgnFUm!`_O6kjXu6ao3XlEPWWp zR$~K92ow7|l`~J~bf_fykAvr{=uCRW_Sj+$LZvY04$3#8XB|@NsT}+LtQS1bgojBT z9TTKsF*{9Xh=zneqxr#bfxPgVxya|GwboVukC`LI_Sv(f$|UjtHy%aU#pe@sDx7}C zaM}bV&wq>XIMOuXpZxbBrUyl#h=4hV&w7G|aUzJSu!nSy!52JnBSIYB%zb4Sd~#Ns`PCytMOeCFA8C;#&*+wgYc;r^QQ zJn2l$*wTU42R06Ghd`DnC=4DS^U?IeJV~3Zxgn_i%8}AgG&xSCx_v^4Fb0ZW9@@D( zZZ{OZCL}=yX_k1a2+a~DdSxs@14(!?8JMWmC_EWgFqKq!lE+!>D)_$n|7xt+;Z;SH z3Ti2=TSZH4TQ~mz6WJd2a9?DOCL?abY05Zu;}HkKjRtJ2O__{D-tnMeXZcX^SLv*8 zp{aNYbpjnxdVP`fT)V-NeHpQ$I>OCwC5y&FIaeI`rn_obQ;@^)_A%K4 zJ9oh)G+}MM=%)On^~#*lQr((aLtf$)0_JCE4gi?iWfrLE@ zgyODKnPFFdwJk)FWOFw!p<|ImjW0o!RXS1=^lO3;nWo}rQbazcYGCJGMfD+~8wtN{ z*2x@pEW~i@bosZ5qZ49v{ZaCYo$X(m6{f1g!1)Ibd8uLTjl@?CKAe6#$7tweio z;Fxi04RlFtNos(C98UBSj3lbF|FZ+AUYW+ZgP!~G(?D)$VW-UI*WLn)muV{)Zyd!2 zIX-{cOF8`dZI`6``DashxY=K1xyRmSB1^4TU{u%bxG)mzWXR;07sj!{=Q?H%C8<$F zrocMFm-)A@u87TGwHph@LBim+0qm`q2pYT^8A(D-EYcg@>GelKV2Grc*PrvNUZi*&^2)!6QZ3^dx5^rwlL2*rN0s?)p^S&fSpyO?R(27 zV}>-*>{?G+Ed8(Ews%58025JzZw!RSaI%@(DOxq%5znJz{^QV7Co{x(&U_EQ)8ij{ zBWa)RtofviG%+QL-EIWu6Uz1+5h1)+EkNu*wcGqi1f27}BWL17vR^C$cL`{2M))b| zxw*631WY`D_h(%=yMGO3@92KA<8Fsi4*l@Hvf;p(B1*qdj0{_-7l^2VNDyWbS;Id( zZgG!_&>lvFuw)`zD4zhe0(pw&r5$K!4Sv|N)kmLJM6?`GNF%D$A^H7+k|Ex44MV5g zQp_hBgGmD&IXD~5NG88kN+cn)u22o`6JS>^6sHD!j6PQKibU>wtFca8V!fJzCQEUM z_%RP=y81NSi7}>|em9j}tV$VBc*(Z7e$tWH1l*}Pv+hDfjNA90ZaQ^=hO1{}2DL9iqd7g_`&^9>J_Oo$2qpjz z-ztH4fz0Wq!Li19HYHo2SKGm{1%fV7h_O5bF~6 z>PyKf*4+;SU**XUKZPQjHdi~JmBn^CUL&;1$NBzuNvkTm1C$;b(n-OBHmXy=Ed$6K zke&&Vfz3&stY?t#*C+EazIa z0=8Aucf ztQv|(FU2}ZtD>~N0(ZXTo&M&h06tiT-t|I8y}rH$H#UE!bxxsFHv8Ic@UfeL&OKx7 zxhIPB>R>w$`SU|cYHvACQ_Q#4cK5j{onrJmz#xGLn^mM)h5djYHwqYfhG=-F<+xCQ|(!&hv8|dW?6JG~9&~GBLVd$i>KZ)ZfQxfKn!|cYF8O*k-nf*a* z?Y|WbW;`?=7_8pTu2_XvOvblynT}`8L9i;_ilFxdN5p^y`|Sn`U8DgT+U=L3>ZYQT zP3&f+5b<&cLH?eZ8#MP7zCR@OCU9u-Cdh8OZm5T8 z5sM&(748=WIpD@+@b8_l?E*aDVsEZm;}nP1(olfA^-D+STHT*?!Y8j;F#G)MpCL zkQM}nAEWT3|xqGk9q-1XRnoCyLGg1I*$KGk&jh%(!X*M4ii4v}@|g&p8j#tj*`={MVp zQ`{o5+6=$;=le@dJwH4Z($RoBQ>~agwvEK^Go?-FSI!>J6ki>R$HJS>3z*^h~xDgZjpFL zQOdb{)2CSeJX`0dxKrBoZDUS^JU2-~sQcB29-;LnnQ6xJ{R7vB(+QT*((VDmSrEbgWkFdAZyVqG} zbG8Ih@J-jTNABN3055E>i@$S7#s#y6 zj%XFe(7UH=H^;Qsscm9-T2+L>#2GmFNygdx>mx^EfZ!H}f~gGMEYg0lfZE(CkqC#s z_(pkQ;Vy=;qNtG$$@4W|$g*_|1DZC=S2$-_iB7hCqpXn^HTVJ6Dov?rABozV$+8}~xj+fl=;hL45U1BA4M-ijB z4WD7#97qSH&@?N*YrQAHZNS7oLs84n*GXdmLD9WET#NcYA{bz3`VkpwQ! zgy@DPc5a4s?!8*rGn`H1WUb|%SZTyW=^mW(zio$Q=DB_gM93eR@g(2n(gNiqWrZ}k z27UF+Ydi9kicZc^#7i{X-KbS`(#c~XoeDAjF8b%*vA@(G-E{%QF-tmP1tBW}4YU53 zPj|p7I!vdvjzL;0XNw|U!c`G3fu?IDUV`ii8AcPzRU-;m?qgDo zoFLbG%paHch7nF77mUQ?i9wNj z^H>V!!lc@-q-CWyE#XZPy# zfhys6CyY3*C-_As$>-1r^|9(!S`dJUGL4o6jV>44R%~}eGtT=0bAMS;xkRWn0yTfZ zqMUf)sBOlx{iAuI({Q6-P^)0Bm%_bn_yVz=v42jMa+N|L3YLIAz28E7W?NdoXy^Kg zP>N4IDk+KP6^a8Yp=tMuw zN4f`spR->Q{G3D*T2a7Ihvvasm(D?)*8woTm;`{&r&;)Z7+ff5`43jYo{q3CD_(mm zwpc*#shFt1x`>=GQWv0)V?4n9*-9)#D^oH76O0MKtp2sn!7XCmDAb!3-m{(%+mYym z3R~Vs`xy^o?^wirdY=*Y%Pa33@YLvpMJ6!wVM5G&f8Jx>r=FQ()u%J+JsY^JqIaYx zA9f@M{F8`+XA0RBwtK~a=&Bx5u!!%JxU(UFsDj}bn@Zx!LbU}W6-~94^VG8iX}7ih zU3Qs=yl)ces%2Gcg)(6ZaV^nZ3l2QaMAOZh$Wbl9zsYzuH@2fN9=qS8v^^kZd35L(*T)H}?WcQ!ggO~rw?w{qTo%427eROYnE zjJL7s+U@4wgC!FU9qqAE%m2ZkN!JX~fc!GBj8INF}4^I_-Lpl_OYIZsZL%%wvr_L}BX)<5)4$_1AW{Jg=GSL8;~C9#Aq zX%kf)<;ncsGNc{*tX$N)zfw5vItaa|scH{a{Jl0;yqj1`#fOO8r)_0snElDN8&TqF zaTKcyEn<=r-?Bexs+FlQ-I4YL5+CkU+}k8dIV;d+>usM6p$Uh0pPTOB-$pEi=qYEO z8I)VnKxyC5gBpLc)?Cy9r0%{zX@$>9=Ud%mZ93Bek@4<)s-G6s10m8a|2Xp-(d(>2 zdH*t-2FYeI#{?|JHi&>#Gh++<(9tO4q6Bqeez~RawZ~?F>XTFUvPU+@;DS&mNgR{r z)47kZCZ9fX$O2T#D|Eo2tdpEVe=X1;Ne_h9UzxUZAybrA?q~qxo9zhTpjr-mIWz3(R60!z ztxbp5JmDjc0?(ehJ|$4xtLALx5K1cClNvTF^A$t%hyTk5hVsjg0!n{xGi{hAy@txh z5Am^&T%N7>Y1OiMcta5QOEY1xFPdxnv^q@2aH?iXDo&eS0D-Y3obTeThKV!?G+|P5b z_5Sy+HAzTvazMzOe9yl2{_OJZofm(cWz;VKT17oBYb!F8T{#%?N;-MPsU1Hab(uA`YGaM_4M|fjE*`g7tJ>qr34l zVL%EIkbZGu*4p>;QtQ0;A6E=#v0LCGWqH*X-*| zouT`@-8A32XEh3d!1f$;FgdF!tQC#(URSB zU?ABN(&a8<;Q~i&cQ;l`-y;)oQK83wt%>1u@mexcr3Xe{pJ>0z8VO8XnOB{;2#tfj zL6pvop2iDQfX4N#TT=f%Cf~;fP+tWQ;`?TgPX6n_^u8qon9TpTIaz8#X1r96qdlsm zumAb3&!AY^XD}d!y0*b*egPUa096D~f27;fbp8dc;PcC-8q{c}EQ3W?s>=g$WY6XC zcZs?LtfT#nwWhfV?*F^Z2~LI8hnnof^+C^bhW*YFztE- zSf0uZM81_h^kjFf6AA^R?UOy12k`l>4a@dlry4!_#4LAbO3UN@9X|UheyL#w>(l;^ zxd5{Qr0xDR#srAore^H+Ofi7*5B@2g1KG6y)6~odFc=3*b`2x{J`(Q%{r{YLDafz; zi2toxp3+@F{rYJ?W+9e-`d3r&e;%GiO|1T5T<)wS9_uY-bP|?mFU>R}ur0Coq^FE1 zhJ!2|$lifKIPXVw@%ryg9bSO67G}!}e_dx=(_SPF`f5G+sfaYI zs%C@TvQcw)M0CPSS6vn46>(mWxBG7uwOm^_*ET*9qJbRy|4~itEL|-F5U~cfdVp@c zFGa_0FHtq*VU}nr&JCD`|E--CNaobyTJZEwt(dw=01$;M9(|`f0v@Jn#ecjyk1BN& z0xiBGix!pvZ*9MxHX4+90gf}cq4v_YUNE^1K*yW_+DxsX{kI!XO8axm7vN+8OwPA} zbr|djY%ByOZPWdyuWUYVr{GnGPExsQiDax>diRhUhwf!+vmWq&6r|CYu1!+`x_kAs zg2(snDT5?}6_@319O&`d58|~IJRHfpY+u?#TzC!Iu6Lj9p(>~_+WmT3VEUV@d80uR zko_3O@aX;DT53TB47JGXBB{Q0-Fy2X_!0UoBtWZk^F^VbyVjF&~OA5K;IZnN${2ikH>>6+GHQ*+!4ZRxg0$d;Nd3&}E zP_AXvOqHLX`|aL*4@;tYKJ1P|7;Qh#Ow(X4KhA=LZ$Hax2B+x}fbIs7F~@Nq8om^2 z0jO$8Ig2wkq1B+%YjGpApQ=6ABVsqUsQ?1o&Skko#`3pBMs(X)?Ko)rnjNrc9@&$g zlZ8VF76|90z3yCdJ{*vH_FHMwJi@P;R6Q#NP<|2my_uI@2~4$UfW~487j^wj)>||z z_h%t({)drUT!q;7LrVF@YTopTLUkfWx-D6b%rnzaECHmjGXhEqrOWv?05T7mG%RlT((o%mmzfqSi z)+i9U-8{5OgW-H7|fSsv$^D*0d(*W-Rr0T}0@M1t_SbFMf7Pu0K4OyiVU=4wLY(q{HH1PESCrR+t z@~9w0YmuVU-b@_j8dlaqjeZk1VbLopMB@?e`5+K!8&d{nRAZXps^A0oB+~5#)3qJY zNnIkTtjPkmJpRNNIga9%31DJI*L9RSbiqFrDSn`sCGfPl0`E=j81Q&_1Sm3sW-rM` z2knB=gm*5mQtFgG?*KfAA|qowy#x)36pD>DoxIW-FAyX5GIZBaMPYkAv4N4tNiKUP z7%(gUBoY5>%#M(>cg|6P0<~Jyekm}WQE_fyD04TV044M9&0ei`W~Y73%096;h_AZ` zVs3x~xyA^1BYLp8OM_#y!d*ZBtaccZ2Xk$0OvQ^D5?GAKW$Iri8~~=1Fkt2w4gjA5 zO<)?fh%2Ie0;Y|ZAcc*L0=eu)5PO{F1E#1e^@9pzVCbu852CirKBeaMm_X;rfE=B?JlI39hD}Ix6io!yi?RZo^$AcdOXWuZ^h87EAJ~bMy?EVEzs1k= zoiVkF_FtoR@>H@lHJyik*G#7w^}3m^Lj7+5;}qea-j5-LpL(%7Kwc23qOc4&sTQJC z19%EhbQM_oZ#MKS)VuU|6sFq`-g8QP1ke%jFKzu@fu8)ImExZ=GI;4Baeyhltqn+0 zpj*}{0mSV(m4BAX?sv^foa{eDZLih5CERE2J5INUBeugP`35(HQY}aTu{Ohkd@{81 zv-%Y|0lxt92UH+2sDy3(Zx>_mHXR~L1K*Gs*tDWL9v7a6D?Dy+3#=#%QVmBX9-~y% zSfEqXUfLcUr+{o+!N@VYr%FG^7)J}XR9NX$Y%lszs@qSRgESNn+Xmpg1~YmUQk|0{ z&lh*=3J>>D)wcb~*sFd|B97(~{g=u3e?m|E31u}U_>EBoVvKA*bw{oaN%M6kelLL9 zR(#>p-=GsWzX9Z2Pq{$&PstM51odd$_X3!4+_af7y0 z4OwsSgD)RMD~|?DzrcvR*V${JJ?gO>n1u(kGZ2=kRN*$tAX)!0HCxw45eFV1d5!Mg;ct3Erg9#hK~_0neRfs4Uoc+Mi=Jj%?pkEza_BtnkJde^TNC^TwFQJcPf+*cUGG9oh$;d@CG|@{PPv2kU>Mp0$2AY?1A9tw4=E|BV@$Yi zIpQzJ1RNYEuXgXbHYBiGi{N-Ryw`bKDf&UQ3Vw3G$`&+}C2Fh#Hx@i~*x>sf{x^TK zVICMh>UrZRho0>}1e#}mhTK54Z8?ar0blvgfE;*AAHae^GVN#n?SYS3`6Qi^+3xLd z(L8Dx?oX&Nbr)17+d7zXL9PvSbqok1yMSRCd?f|u*8O;#y_OHPl!F8KPe29^q~54c z?Wf-IboZWe1hf#4lKXiBHl*(DXFTqp&u4Hl#$-uIF4+x0%~-L9Y#EJFk-w$;%wX~3 z;={GzK3L7kToeM$Bof~!k^dWH@U*Ubz@p;b>@aHz8Z-VHZ#UEdsllVP1gx;6Kz+t{ zE|UC0yJHg#DZW1ejeOmVI?qU z1@0J~&zkTEe~)7T#SgwLNB@4IR>SUyoO%K-i;(&^zp#M|deS3Y4`YzZyy_8dngE{Z zTd7siYQ~@Y3?B!(3B~^QTo&wx`VF%7hS*K#ed~lH-9N`z6W%{u%R~Cy^m}nRJY8t& z-p>JAXo01=T2%WSpi6*{hWQp>Zz>Czs_SwCN3#$y&{NUHd z1hdeNC%1NFn`B@410#Gm5<$00N5!sf$&W#(WA6W|5(5KKy`W#(4mGC6CI5SRjyx3% zs5T;E@g6`8+bd(e`L#%J-!|dMN^mGT$tOy?=SG|7ilXH?Qeo zU|;k~S<_joEn0&El@ z1yB(hR)ZJ2s9#&z0L0x-7(^|+c)=N&YiLE?oDp2@_1#uTE2G8ht$Rl~`y0+EtsVSh zdS$(`xbOQIZx6!!|Dl#vLitz|omA%eKWz+wj4@#P)B(PRHb>Oy;6L5M|8;uxtb5iB z+H9$vwbbT}okvtxF?Ebp()|fa^F?RuJC6TmG;XA3@gxxcU_%T%hlj4S0NV{jeV?eQrf>_g+Yl%m+Zq7>Kvmkb@3ae)jr>RxJLBJFkaZI9H_WAz!1|+m$l$h zlgF&a46=EHZ~)y?%WN&Unrj!wP00oj*8fx?aGJ;jDoG4EO8&+Yo*iie!7{IKML$pO zDoswso*om*y8yw#<<>MyocnRv=q-RsoTRHak8StDyMl5I5Q@MX{0v3FiG0*h zgaxz)ul@wPcXIu6O$o*F7T!yxe~MClM+OwmucR#~o((K1B`zsikRH1!g&Q%I`YNjL z_RM6lsrG;NP{g%*_+V$uOoT`U&PnhvpM#|3e?$&aMbkqM4Dap$FP{`2nHL0Os744i z0yc!@$v!oW3LXZd?U%om#}oIFY5%}D4U^X~fBBAQ>C{O`bnf|SSH@Rl7$d0L_PSOXP`J%A@taxtJef;74H2$c6y#g@Ph7a{OKvMA_zxVyA%ysaVmQpnnPB(sA#Ov~Khr9m} zsN~Mn-$WP=8iI%*$XGa;M4vXXawrf6XMe&}b{Z(;?k;wBflkuZj$I%%6e#{h8#dAf zNC+_17A-LDV~3rE%^ZT0SwUeKxsAp$`S;;3Se5*TL}aZ=fB94Y`-=c>CahYd4(@`6ap?A9l?hVP**(FR(`<&dru=5fqvo#M<)8N1~=g!3Y}0#lhfe>EJlnPF?WP zPu?HJyTFn0|E!@_ph9 z(NniDG4GauVbqI&t&@K|NC4w8mbD#wQ}~;ZK}-bjgtiW3JOSx0t062$biObLDjiEydM zn%l_cnekp^dn~+(>eftg&QrX`xO;%w)zKiOI72KwIma(HJ;0fYTcgUrQ#Rn2_uSc` zes&lnq$04L)ha|?S4}C@UiHRC{~y?5AkUI3k;{@`jt8?Ai0d)i3oA1HgKirm zCwk^D=W!e9X7lYYd&2I&d5?!~{F7V^j)JObaIgK}ngMnHR9^--W>8vyiNdVz%9*`V zxp*p^xYTFwa^=^Fz`6U^j9WH%EP4sjuE`(wTIFWwNkM!531EQuH{RO5=a{r#;IU^t z{#nJbZ(<&TdjY%VKZMVLPgV-+>T7d!z#UhXBdi@3RZxS1guN#cUsHhW4FU)?w;!Hnm0r7f9r3&?4IStOj) z{@pU#TH*$bUxPyqv);eXD8zq;9fsRcv0k;7t?4WAH(=6`j z%Ew@62K999a!g|wyZ=3XtqlVGP%ZUO8iu0;7|N*xx1l3oWCv)CaRT@Tc@H**cc1Q7 zqiCyx*Tc>bm^M4i_zNDC5Bm`f%qEb`TEw-yXd~fRp@>$m-E$;|MbCg0->&=sPjO5M-Ue{AVZ&6)HkDwuyUNl!N8ozDxNr#tshehd(#IqJh#RSjSp z-u%KeP$>J9EEuK$hp*1nOtdx^Lb84ORu)Qjx$v<=idd-{ttECL#>(UCBEjWBGx`Yf zR541)EnSCaR-YBh@#tbyZL3Q@t|EMOET*}{Z(){$!{p);8ylV-pO`euv%tm1&6RbW zL3%`WBER6(t5-T6tBj>7Q5Vd)%6sf~lKDy14(<0GOxhK7(_xhwqs`p}oDvLAk%xu^ zrV{+gOd;gRB{E%q#Wtnd+0hHxKdj>@h%juYKvzbGhV&Ymn)F?!aK*(0oOiAOCZWUC zvBWNW zW{D3Ilh?x&$wiSZFSz{lstfaFlQ}H%xI%>^7D<+$%E*ULWz6}OB~;Ijg@*Us%P?0(sg(G* zHb+cAVqEh)F&r(0hHFiYVJaQluQHr#ZlO9j!xxRv-}SJcKEzRwsPI>~CBA^Dj+orE z37V<9Fvk+<5T%-x(C{(+rKwkNaU*l1sWHNwa8x(OB{e z)pubf?@m?;%dGtV6%|!|et51i)Mx7CQIo{C>z{=0$P!!9V)A6K&h^gWPC1};7wkBe zaF@bF7NH9Uv23Fdtpz;j6nAvoxSnkcjcVb`@0gTj6~^c4MEd1c)U?11HdcMy%zQno z^8$-@!yH1dc5GC7KZL{cX4p~at*$H&G7hQ8dy zTX$-iAnvneg)%<0rD;UBPB1k_>F;WpBS(9U@}<4KX^nG4M~JJ}Jvu+Y%hwABv;?zb zaLBtEm5y2U9!0SCg*}4?b4yF4U7prm6Ykb@%Oi^(t>d{ktd*_15o)02x|md)nyrPG zjm0)Rk`sL&a8N{q6^i?CNH+$9NKWjeC(jhpBZAK&^ge0FQ`4)e&Lc~*i`~B8ASnQv z7P$n|54bZ&&K!@fVpm1Ez0FIp$H`n<}Qu??(Fj3`KnHI%s||M;sJ>ag3FcsIdQbp`eeEiDs} zQqlO{!NM!hJZnvc;ggi_`4CE#^Y+%=wV9Y;ghWvxGSki}OH9Wu!A6KaT6F^fo0(=W zPhHxWC(I*9CdX(pipR&{w@3mA`eGi1vrqoXcdNqmTlMA@};?; z0wI-Fb+QjcqO6qk5v8T2Q(MKTF_e;~9o~A-T36G}(%LC&D#FYqT68Db^dy$vV%z$c^LTWM^e(znfPJ@1%@1 zA>mWq&NB@~WGvZy3RS#{)Nv~rl^hzWwX)Z=BRN%z&y6>FB-#njG z?*DoI`}eL{Yq!+CtMz`4UY(PZlMTp8p8RC}{IU4#u&|gTEESc<%lNI7Dq|v3Kk-hJ z9AM4Yf26nGJrcv9y0ajOI^%7bUGM5U$EZ3O<8TRnZ4Ob}#sKj}%wgi!M+_^6e7)CC z8RSks-tgmbEExE@pu_1_MnX%KoR>LGNa*1DH0d`IoxZDRLy3B$aamLbN&0=g)oIGC z*@{EO;Ic%h-2HjlqS5tV^&2L&Bn(!DHQ@4orzjp+gALT z;y15|nQ0uJ2^$OdO}TA6xddx2RR2GY2bV#4Zd%@NGe*L{p}4S z1P&h_&Eax?LU2y=8 z8)@+yxw@}DzTx;=e)owe1$f`&g1fFMdU{P%A;vG+2SOj`t`vcP8L3(* ziYV4b87(}V&MlCa@fdb$!uF=mNRvyfJA)XN%j;LOcIXS`S6;5Ci?We6#=H^9^y;z( z81X3oasL*rjCdbG2L9dQ-gtcBVlG~ov5dc`o~1ohIw&`QoD@Jqo<-#oY2YMQ&Dzd19#+rh8AS*a*WB&U4w)R6P}0Ji}iPzrp? zzoO@QZmr~?b$i+6ThNTvPZao@+DON!CKYIv4qKi&PE%wX7j7#o6MAP#h#OmKC3Nx~ zLBg`toX!YZnm>|U{Dr@T6hW#T?{1pagSu8l)3?>w_0NB^hFZ^kvCgmS>nB|A*`0*V z;v9NY7UcsrCP``Wgx$31r3ba5j0LrmYcG~oYCgOh?7Qs^$J7dDW#3psyP;D2M$><| zqo1y?PS&W3UoP(v#2_NwKB}tHWK>4e_Bx(|+?SvKc0sVmtgM!sg$J>j#b@H>L-dBl zjKLo}#~?SsTN>Fi%5peh$ocVHc6laI^$iBQM6*HYAg?WLAiZ@5RhcIE%%K5GMoDxC z)UWxY;$7&du~1!u00d3`O2?`bLb4=_;#_X55%dxjmxUwl>WG9;YOd;Q8p)DJY?p+k zd;IWO8@hu11><8a4FnxOJL@dD*s)4YdZN%0&alQc%dxC77gkj3QkC0-W!G%-Myb1J zlslT5zAvwogviE^e(ea&^owe_Bg`nAEzq1L%0c4aedKa;cudhlNTJ22F@EByyNnDs zwArIj-)hl|T(drWOZM&^Ts zeuK9My9nu6xHuD9&;=IM+)U^!3#o_};U2DZw8t8*mdimD23WBQVhT0zC+AlxQ&D5p z#bclSSHGBA2vzsqagc2$#NkWET~ioMHXcPzjF2r|kPtQb3m%IZk{MXR;}<;6HfH3G z3ne5eP_mc?1h`~ZqwH4KNHq@^m@~;&bwAC`UC>e(8-2xDKe;L8=Te9BT!az@Y^QM51vD97SS(vmoBUfftd1d^7u^WN@}OEG z&c;n+;05hSlfL;I{@nh+YFvf)Ojp;JWE>&{H(3-?Swq`m6!MvJ*RCYLu-1i_t*Ae; z8?9nsRgLt!NU97Czw7p1>dMTwVPaRdZo0x#Z?O>> z#iwstd+pY~@b#Fv$~Mu&SbId*Pk)&_on+xq*2~+qvZNYnQZKfZwuC#`_jIZvy(-e+ z#TkM|Nm}3hLVlQgxp2}&kIL=sBedH}FM@J5QmdOjS(}&;doo^COB3j$A(3b&OzyD>I0gwfy9< z;>jV`3zb{>$rS(3$n9k(sJ%6I$kf}OmKHW2iOO=Ulk6K%#2Pqg6Nte}!_ra_qn!*7 z=T&QiILgD5zZ_(#N1*1{0)!6+HHgW;)3yQE!V1?iAJVK)cCyH3%gEF z=PLeI#I%#}lHEoH!OeqlohZ%UTl-^DFT~X&BvdU}n-~Qn>92{C$xQhQE}Mj4^>v3r z(IpwJkq2>ZE}ST`x_inmb|2?kfI|*vY`K}pw*7lUz#|&W>MWV zG&47SB3~1_p7q83e&M4vr8UfG#knm@4FyFw>bok<)MsxQw&?aciEEE|xUCbQLhJ92 z7)(qd<}&3;wbT6GJ?2_>ni`m(6SqkErSS4sI9vuQ<3R#OyeC%EVS`^OvR*$4MIM{| z?&Fm{8Yj`K#~Q1;tFIzgTv)FlcWt0wsz*i0BVFoRZ$GBDG}FVftWvB?CyC=5a)!Ux z&ZbQcg(agYFo$oxCS#6ceMPVnO)BPGMlTAzXVuoW@Si-JN15a|^w+!yq3!n~b=60< zMrYb*riqBV(2O9jAR|?rZN$?D!@=%4LoejBAM#X87cGtt9wYVfBhUt7U7p!vDlZgE z&E*kO<4Oj*4NqV;seMC=gJYO^9#(Elr6(*`wE6(?omE6CC3!Ml#gQR`G+L~qxow~8 z;p$msPrCYcGb)Hy;?@fTu0-&_S|2Jbv3 z7VpDI@20&|8t0ZFes|{MnH25Fo7Q2GnfP$Mz|-iS)NXX2=- zYgaTn%f7(DnboJ%60#o8eK+Vj2}WyczTrQwwK}Esw0T5cmy?t#!{B#d;*GbmqqDc|7U|;l|<lEU*;w{#LsrBgoGHQ>t7c0vT?PP3sKi}Bb zeK%i+jf0D8!S=W|aedu&!ods&F&dMLm@UIT+PPKJL8=+%H zqZxwf3H(G6a+*8=l8p_m<-Qa*v8`}Tag%e7OsUDLvSKC-&pmWV)R&yeEM1@Pv5O41 zU4=&Zicawn8$%rhQ}o1+Tuo{#@g2IVhqG&^r>A$s4?md0m}ur$=G94TiCiX1j=bnq zj*ChzPQI%=Ly0R6l)u%8GW}4PFV03jUwN)^ic(BKKDpAJ<&d(3hJ+g>Oe5DmuVch> zo0cAA3%gZf$9~ddt`E+m7?+TPDuN)+r|L zQ4E*3Y^<6fJsjx!&iA5vKhH+o_sTQ3G%Ip6Jtt$ySN^1Pfz-?#^6p3rnGZD<=I$yP zWGAXF#O@GMHf=X$Yaq#Xp|es+IpSo`d!E+KtsfAIXjZ^FtR>IJM`Dd~Zw0k!pXcpT$m90jY(lz-FLeHn;_p3W$I-c z$1Ao8VaLmap$iMF3tSwti#Tmx=}5 z5W`!9qPVo|7~^|D>Ut>Ke~n1%a;A~SMBKgDMY}l)!pwvJ*xEb%%*}4h^XC0`&7vq| z8Csy3c7cX$L=!-h|G5|y7he4vQzT!={1falazG7DC?=~m+ww&@@2cqb||LZ#na?YCtOInfx@YE+{LN&RHscaYQmn#wXmz&-nPLrK*SL0 z#vWz){e9I8;(nLOosX|%Jkg3Vy!?g`ZB=V!7a2A1rIl$~sz^arPF$k6eoU(PN|!Md zk1=M$Epi&jUU|S{zY#0?ksMWl3zS*&(1n{Ikd7uWte#b_f+6>87QZ|XcLEPLS9Y5t z4;!9m!6>WJd%Fh4fpF=kd|s!se;;wJGu9&^wL`~E6XDQImyHcOk4+OuXz_%JtzPCj zDYsJ|&=>XMkzmKRXJ0sKrtosi5*c?)I>22oAr4)JGtkf^g+o|l_z-;gHmE$ zke&yZ9C>UD9eB7kXsZKYmKB|hZIb*g^5!)8l)K8i-k8Fg)r%=OizJC4He(k%#LdAK-uTcIgN;Q2Kvfqp=RSR7DI>~QZB&l1-&!X<^ zwXq=)p?J?`J#3N9p{;!wk8l+#mS0I_x+_mODocNlMf6g6;c`Is8R(J#vL=x`dvf68 zZpQo%RAB1ZxNC{4Wyz?n5vxsGdoZzLT7QGGjm(%ZzZK<-|1ciYEW3Tmg^PoSD{pWf z6{RJr8)26bAN*Ph#4oCDKkOf9~MwdrC3y zlUtJ%M0xm~-CWx;Y~=Zj$YC=H-nCRfsub|*YIcN&X@sgcQf~VcBO)OR2I7&v4`Pqv zCRN5;e7?1%xbhq| zw^XU0W_96ceOaOY5`LkOA%q|`LO8#xxP{b2zJ!oqJ(>}b5aQ~mF0Dbm!Rw@**7D!d zL_I_c+J)6ZT{Sd4IB|X=(k*{$ulB3@>qz`g^@XFg*0QnHOSyNIoOB zn)$115S7|O;!LkXnxvx&8Xiz9omfu9;qKh9n?oSGrx^bY$d8n!3YUmZ(H_ei-1E6fd_vo9>T|dG5 z%gGmKlbKIkKk-=b_Y;R-o_uok_;~k;Uz3J{rulyd{}C>PA*+Ac=09(PcOBf(i0YG< zueFQ7lgSELKVLLjUOxVQfA)jSj@%BJoVJ;#4m9#%bsfD&gpCyq-q5Lq@j7xcqr+6) z#^wbiR@-L>WYX|O_Y_~07bCqtc;*mBfXkqXAd4Q{EV6dQA4<7o}4NC+7J3 zt42Nv3%IlUzC3?^TnF>ipQHaJXZzN%+23zFD@1v*hkV+WnP#4LpZ=|JO{szDs998p z%xS%(&K-@d@B^{%+fY{Sqfhy+vine6e4{UKB>*>eO1&!O(bWqgWF2ifex>+eJ@?p2{@6{er0R4lf6w2zBeop~rAvwV)n5+g3@&`j>VJK+ zi+JF;)ObDjsp06E3$N24HL0zyQ-@xkeJy71YV^PY6|E+8z%j?a<;|z%Um$msKbWy{ zc~;gY4=$ZD(R;geN8Y57d^RjZj&fp>_9?H??_z^JW)i2ue{G1a>TNXz1cVRoi#W5s zKUta^FnZMfLHwA*`AhFjUIsm;ZRhT?|NZn(WkrE^&;@k#p}U!*3^gH-`(K&oE=Y0Y z*eD@;8q|&YXYawaqfVQ$=0KHFZ6GS?hssjdzbc*Q|8N9$@$38Dk9n%kD{fwKsWqdK z)Dk+1i2p!aaq{T7K`|e!*2414K}Yr`ML9W7<8r0Kg#htaM3Z+WnpwMzv9g4d>?q2z zo$`}Mw>xekZ>Nl|UJ0={A}rZUg0?8~ug&)O3;ft>Qx!XU9l=0@OsU@r8J>FRxdwx0 zE-t_K>2o_4ai2|jk*qtprE$zo-T~X%x$75urrsI%h7~iNIevwu(U<*~M2=sw z+;nd6f7?1C*(n<_L;6yFxtC^*xjM&;jX9q-A>ShYxax^OmG!6k9;77qoKwYCS$BVL z_^?DmzM?rhFZELKeHYjJ-qS+&j;ymeug5;G=`JywcpgYsKQFa4cwD=E&_X@p_M@`C zp}x=W4l{l2J9ls^NKww^L&+quRIP3Bo*W;$IPWu@&s)=XUD;JIL+QiXg3o``8_O$u zBsr}ntm0#GkX`H@vOh-nd*yNC^Zr%{spwNznT4axE>sUTyswiQ%8`2hH*qrp1Wu%S+)-&fOU#SU|s+|we z=m~q(`!auHqiUvNI2~Ke$#MG5=76x$vBjf?Ay=|^PuVKxy$rrq1V2xB?EJh=I%tB1 z>sTj8&~|jxSM-ifP_GF`%lc^M_UFq8Uwje5Fy~~-JQ~GhM4Q}i!h@r!QK%pMsEfU} z_-2%bG(q%>Gu{nJH4z;=h`p6^Ww*PuItfIOzIL6q&J>M?#O-LO8wi&nSOrS`{yx3-1-_xViCb|J5rTUC0Dxndh{;z3MgJn)OS2 zSLllzBq!%f3OQEX#T{IkOb!WNXMAE523b$fW&hpSl-*rD5+29>bU5|vU{3#)IrOK+ z8zme?p+(y2g|AObX>8N3KI|O)Eb_^yIhu)a>sx% zWZnG2>X8|P;OiSjr=MVXr(JOiKFmYf_19;ExoS>n91qU9vB(*>tAktMCim{x+;$Dv zNiV8XOZsgR?oF46I^L4?to$r{haT+%JE%qO{n_pEkNB4nb}H{RDh>#`v{&DNks z%{vqL*`pl7G?z?s zmetRYj^7!Oyrgkjz2BlUL_KX_z&17Smx9;5+U|2$i661QuGY`JKlgiB=C|H6S_kM3 zI-EVjnm8(bA^V_epixJ|LoIogcUt+ijTci#zRh;G{&0%rYdh1nb|9_ts^}BrIy;ND zcUk1$x?|=}N{E|xYnobK$h zXJjd_jQm`AZo(@$$2)#}BWZO@UdQO}lLKK?vS-K*Ic8T}L-=j1Ia@RT~!^ zoH>Mur+F-Rf{$5h>3q~hQkT|^+$X$^hMbT5p?53Hi;U-Qe;H>|s+u^`pT$I2_>D0)^uli?{&o7TwgV5lN+ZrLm8+p2 z9LjyLcCMKjO4kYr<`m?OK>3%x2~N7|z=E}kv=-H&0;Kbdsp$TRkrSi6Ag#AdG6a-2QDM-i*CL z*hpBL3p*%ziWp=hO3(fcf8km|MTq-D>Dts7?cR?Ad3Wy^*`1Hmj7>ZODME^24o+7K zCaOn&tISUnop~VKQ#}o_7+flS{yJk=ZDVXC{pr!D4?K@jExuJillx7_N0TIb6+wt>|Z)taj&+w@{LAe zWcWb?MjsxIgFfX#pROOfTsx(g`g@!2@fSAiv=tUKq9uLbZXO@Z%3;@fe7@=Om4)xS zVepi=Q1Ne!=Lna|HI!F(0hPO;F8!*R8(~0xhA)`6yX;3A1?0>)E^L5>F>WTrX zVbQ8I<;#`BY~2T+o;s_gCz0;z+I#c8Ghg*_j;Lhq_({OIpsU3&sTs!3=`pds3$N68DYx(EuMa^=RXQs}zYInU zl|J&`fbtQ$#6N{u&5Szo%$Im2I&*tKUYc-E&(ujSkh!)tE{EJW!tou`yS@#7=eLw5 zCnps2&ihr9_a*t5vwb9c%h*C?%yBl|k)a9mAww?pdqc~ zxj1vu7A$?H4OvRJds#erkjHWRFh9MK=&;6kqsEqZAN0l55cUh9wkO=Zi@SC6za8>2 zH9%xtG&^ChvREhZFa+hkl(*J z-q(>9cYRY}UobuRI&Dyll49=iR#0ZS{T`R+7v<)ba7Xk#^*q}5nKj`7^d0A78sg7> zD!=IbY-$cIY2xgYuy$xQVCmEjQ>W3Vk)op#hx^XaWQRfQYfWf6BA5|1mNlWg$0`n6 z7FuoJD}742U~uP9Z^*2Gj#H2IS-TfUb8iHkkGWrv{(VU&Q0P`;zDPc}E_vBM6FrI0fphk?^+Mmm}YAW!Z6x z;Dl3!Zw9Q-JI)ZR`aIND<*g6@c!B4Mqmf@DAIdje51bljeX<)+u zK_@>FqFeEom#IumRyY5m?0%KqTUt3Rrv*lwJ&P1mZJ+jEj($TU?H+ex=5DgG)o)hh zUp;M2ZbQ|1Q{7I|3ZJ59dE0jN%EPu#A0;fB?`?B+N+0UH0&RZn%E=p*-)v0peqe^^ zvr2fNHOE>oV3Ux{|KL_RmJ8)6aSe1AY~!Re1Y04@FYY7(CA{Q<^Gsk#Uy+K}nULIaIrHt{!qz zait*TJEA^u!GGXN^GbGGZyZP5%rnC}=ohB^OcH(HcVX0uqO2ri~j>o*z8d02*p z4->4#o&5LeL*rj_-Z@8iH)$$X|3IwAE4tRJ@aBjcK94(#T$}rD5D&ij^)_d$W-@dZ zD)k}RCsXs>YspCH^QQ~i)kU}$#vzV@LV~a{}z!56WJo?7#nwPpCk4nYaEkj&n%Vq(-z8?vf4f*Zl%ZSQ>MeCdAWvY%%9`$=E zrv){-Aoi(*CLeKU5t6sue*WmoDMtJ2IB(>OA1`BViqd=polf7oDuL}XDqt^z^)GU^ zHQ3xZcQDMmq*d_Nj~Vap#~LQMw>e&eb7AtQOWia`t#i6q@o&0Mv*0vxIIcK35;--@ z>Fn;Q_`=oC;qdF7w$^eJ#U4TH1&XXq68wDCH+i^*A4qLHN=Y45tZ2rnJh5@dt*z{M zA2YxBgpq&!r~~8f_zC_VMVVIE+wHMriJKfJ5tO4N3S4mG8{siKJaJ;PnK zT9dDr@`ejSqo)p7)C^@hd;ahbZZ+SfSpSkKAwtYwMP3aM&zMcRqn|=WTf#C66DPmW0r?SWOYzA?)iO7X;|zz*Avz^BWGVxRK9F- z=W?m7-FF>u2r9O()t@XbugbLjJ(5MPk?w7+8^foa*y% zneTQoA>C^^M9%cs?TN%rEAKQ$7~#(QskhZ8^{SF-0>jnT7kDLTh&TOBAaPqPIw{NV zA>U7zjDKZ!3~cJxJc}~ola*YuctJ${$DY&2E@C*F*`+)Nj9eEIdb|3Ha~q+ zwwpP2(Hpw)i{I!}?O+>?gug6>E|RHjGj?~pWFwq2{@CQ?vC>9=qQ z7Px94P|aJl7D{4R@fxrIJ&s8nH=i~dQ9E`)<48j@(w(4N_5EsJ?R8z36EK6E-Sgz# zbF?q+;fwB2#t*Lh!}#kgXZ%a~^@z$UcM#wI+h5tEkHCJY(I;Tko;SqLKu@XBe!iSv zR|j_B0~DVRe0>C;RPX;?8t*#HF%Ji_IVHL0$L`NgK);gf3t>+8W!QDQ`ocWR(JeQH zrlw0QS7X~T$2{)wLh997yW1#8tzM&UCw7eohKZ}8rh=ZJMiDEq0(P*dp)QIBc#85| z!_3zFlRYw;*rxP}JP&_uX!TgDGJsMP$nI$}B%I7;Z z*-j@$Oy8}kQlLn_q|`(q7Lkdof(%B71N%u7g+R1Pl5k?`{VuC{rY7};L{dHK4}y2E zMTC0MH`PEj9&ZpW+aL!)**mOy;{BBt@Bb~Cv~HqCXu(t9XiPAp|t*1n*06MLH^UQu0cwlVEFLY zNA>`%ubJ!Eb-E@jZEt}NG|yZ{&O7-*pdZ09m?0&SSq2x|Q|hG1=bEP0a3eVe>s!ROkb*#Mq(Z0Aioq;VB&)8&*0UVYm|~KGAfaGe z$L*#ROUNq7eWjnk-|MW#k{W4)Sl0>W2y>JSRlM(1K z2%wKnK-7i+mbimGlU9Rh07Br8xD&@I(5)MUb~Dz(Fp0v@CBh$fgRq5sHcabAt-9Um zrh$PkClT&ckBqNy=zy6KElX`c5Nf06u#kHokP0#~S!0C;CtKM%lup@T5YN%Fo zU6k@zupVc@b|Li{o^x(hkil8k>Yl6Q^CFhSSucZ*Ee z_d(dxY9SrA1+>v32ZaIlo2@VsBgr%x4HTVi@+la*o`Y+FWlFLqiK#(iiKRdg;lE4k z#i2a@l!4VCC*U+DIA>mi4i7)PQkx4R<;&b|iI&X}Ptw$vY7Y zE6Y|}!7WoWY~JiA5pH8pyd9*WfcV+GTz*Z$>aWu(bx#MZKX24>%roLLK!yiw%PgSt z$!MAz#8c-%_9L+)^VBnxi>iU13(^1k8WU1 z9eXFOYX0uqMy^-M^>=46P2b3Et1#z-B}&hvcEOW&;~Mf<8B$S_M9vIcn9F*g(Fn-UAJkdKziLNm|c~Z=`8}q_gz`vn@D< zu*a~qC{{oQ_iC;!C9=uMs0LOlkaQCZK|9Z3%5~5Cvv{^|=JOraX&}{B;Cf?3m!!2= z9?0tReQSsxBJcF6V;`Y4vOh9OKQq1czmMQB7^!>n7sKl$?iz6W-tW-se>og0&l`Jd zRvGWx`SmR3nebRzuPXfAk?UFhDZL&qj$F@jnCbQRzx!Oj!^7FQ&5^le{ZQ}4A3iN# zYlr50DIn7i)5wK&W|L~PqpP{P_g6ko+al-Dh<;|@Q%lWaSvDGgui zlY)(P+;EXrF!L{c*KXs;L{7nmFR_X2qHq1?^mR1S9_8|8cH9oaZS0_0Y};Gd!Gm6S@8gN*m1BFbCt}yjn-*Rk%K@*D)wT zczQbXAm_YdBrj`aYv4r~YQCj&blw3Y;p&KqyInVSBggCDmZe*^1KK15k~~rr3#rw9 z3q>&Bfit)#ktiUGgg3BfP6+lZ@wxOpknI6>P;NU8a*Y*`Tu%aPV7D4m4t{xVH!x|cyg`mHGr@}HNkk&Q zwn`LJij_>mX(2JDz5-I#0DeYn9i$wO#}NNqdLV{Y)1W-#A;E$1A1x@ zs*w+$eAsS-X&rV$99T)1HbStNS*4!Z1{;M)?6(31)cd*_SX`rLaHK329QGral)Y}Q~NCYL>L5l5|E|p^NE=ql!P30O;V(2D;odz{c1`7!p zn(s@+K$Ybn@qi)~rSChyx!nTo#bARTo~dAgSHxbfg1}|D|Av2&_1jub}STw zV$tb)xYj}fl9-|I*&(=jDD(Xf;-|86xqw;B$Pm2t#Bsc}J3iBpW7WnjUg+MBYUu>VtL_lfV%+?YD`{)`>oa zYJe5p4?V**2Plc51IDn70811lN_Jpbtv=qed60NXKQcM9K?+$8{1B8jzI=+#{|9vb zh}6aAKU$n&Rv1H{KE{;BcwxLE9XKMC$1CE@4Xa}B%CDaMDtw4n!pB#?dVk+#|Ka3GeC3Z$ia$DeQUxp=EgnXBP&T}mH#asbTf7MDJorVoDM!Ssb|$I#;sexW$?e$#p3eZ6(=TjYJ;GynKw?^hJ( zh42$d3g9hV5Ac#qoS)Il2d`u1g}KR@f*^2n`-(R#?!t?&{2>54C2)Vhh;N#ZzBu>E ziT8~$pXU*Q_DA?fBD?_D^I-%K5wP9D^%-b?_(z{5pg#WD&lc?McmULAK0%;FpZZ@J z4s)2c^vU__kWkn+E(l^_YT|}D0#61Gf#$&E{y!Kiyoq^VdF=BCSON&nprEMQ#aadp zdp*m17Jnwk6CkNL^Y{<>*AB2lFhlKk7{Azq@rm_#vo5V)H-B8XSUfl@EM7duEER>7 zBV$L8-Ei41YQB1seD)}U<_|6{|G`Qby@|Q>ix+=VWZpMdTKW9K;mZ1zSN`3}lYe*e zCqEQ_coP0+>zc3M*6FPwu11qDGPpNL4hGxJ7W8?C)}DDUEbcSdPZ50PtIYvAVWG2i z{cne+*9bNT*d0uc{a-^GrSm(+JX4=jt~(%zbJC0;jxmRdLgnDt(((;!BXgruqf0Lx zlK-GmX5Tb^?0vJP%I7B+k7Sej$(85N==8=pOE5B>!Bign!svSBGa1g}W20*`vOd`! zy8+<86n+8A>)3Gwqs|WcCzw1rKbMU=Ge1Z1x<)L9O-@=_ebG@E8%BEG^S*H83(xy+ z=(YHbtH)mPg)e;jSc>z;|cNj-h-Q%|2NT>aqj^326+&(l{|Dig<}H-GTwf4)4m{Kd`1 zgO^_Ntfwo>7f-HS|MXw`$TM%+e|YIlx7~v5=La|JneH>6a{MGZq3TzWd4Fu@2f_~k z@7I$Gx`6M^+!V_*SvSk4)+#WOAu-R+Y*fgvi z#SgQu-Hx;7y=)&mn9qk=MHIjb&kB}ri_r7H8s6G70seCQulB?@VXRK8p80@W5>^_#JdbuSJ_s zIPpys&dvWKoKHp@CrOL)DIiU{{1hy z{E8vy&$|i#^}Y9U4`mCDZ^(cgS={YwKE&R%OBT1?27g5SYv01;xZM9+0I%_1#3h-` zN!Y9B5-zF0`CmZq3s-M`$(R51$=b`_M(6Uo{b_v&e z?ce=fj(Ls}@J~t~1&xbTxjv~cl*ar60@5cY_us?4o?|)x0H|XkGdadwef8g-EN?76 zddo?)zOnc>Cr>Uua#B4}-pD3aSv>{(i;#Se| z%}u6!3w&hv7GF*8{il(8S9EBtE|?4Mg1-2OKiVC;XcozXX2K$0WYP0yM82?RY;rIAO?t02a&I>Fq&ewM`jg=#KS{>^?`IA# zOpNUv8({y=o_YTZcP(+e>SG*>u9zE4b=Y>#JpY9wm6NAF#gX2>er9PfvrP)uci3l+ z%;{f{IqdgW#s||F%>O%k=8(0``~8z^;)J%an^Gashy-n@(KtR4GJ+RhqjCw`KExHE!S zW(eaSW-yASxBNS|yz?_dnEo(>Y42E$*U zDKDM_L+P&KI*j$twC%t0k5QZ!IJSz~XD+^sn;ylfa1(9&qx0MT;+acSZgzKFi8Fw< z{oh$z_BGkMLgQbPSH^_Vb%nM+plyG6UR&|#vHkl7ZK2EO_rF|-xGMG3uQOZBb9F_S zKOi1Ca{0;Ar;i>zcJXEGfw`H5Q|gK=U!th+D)IX!k4#Q7zzksLU%jz$`Q_{D<&BN? z4d4SC8^9L+=Hw$Mr!LQapSt{V^#qXxL@vzJ!!q$AP@Py{5^IEG%umhFmQK#jEFaxG zwVeOt^Pi~qgWGSs)meM_eZTi|*is$;*x%yZGo)GU25?6NYJ)Hy$~8^|`a1 zn!mifaiQsQm!XmQZp;oQSjm5ub|?JOn_v1%m;UktXTAm#ezSRE>E*xpmIsXczx~OF zkEt*G2fS|EHu`P&xXQL~fB5!S!ki!eB+MCAKK+(wzx_pD_*eXe7slsIda&0EOWeN$ z4gYDj*V*wQU*H!GPlJ^nEOv zoLQe?XUHb`;F=r!n~-~T3h`OP1E7XI6J|MfSS9H!!{0j6WjQ}v1@ z9zJ$#c3gxPSE(pMk>hz$;%8^js=R;yGNpDPcM4(#At7+G*TqNZF$1CVCk7O>tK0~h zWeYzAVE5-M#gAR_L}35L&3DDGdKJJ84S#rf@5&27hwh+Q zI1fmwt5Z5FSxkvpWprIG99>vt4j&fB7iOo$si^}c?(iyq^x6vaA{_v_2gPyY>RTw) z4e1WPd}BlWn@0f1944M%>IqkuUDnZ?zHwy@zv3BaA6dgEqDa2*o9ND)-+Vp({oncM zUw^azXJ1NRnw-DN%wQhHSJQc1##s6#modi*$B&NB&K^AmuLV(5j~rS!cyO-79lMM_ ze(lBRVl*>ZsZ7n~bE3H4Gq1r45cG?G`H1+9jXm=lq0j&NMDKY%A=dxebienU7sH}G z!IW7_&u^mhJ;+?CFU?H|pbQ9y3eyL_xex6tO-;=4)7MU+DKsYRT{g6S%f??mLPRSN z7wG)cIk4OXh<%B||0Vp&8}DNO`Fz3}0{pSx+diMX$R40@7G6Q&TwzRIDNL^%Tv^$- zF9&#aX?a)!H)JCOAtW-;vjfB27YdKMW>a4PuCcf{2^?c)YO-7| z9^~i8#|4fn5{^N%iK|EHb^RP(Ay$^p1*Gt)Y{r;<_Xs!{kGLCbtzDQ5?(Z|d{>yiM zShy7Ad9me%y1k+<&q#4CU{|t;iy;wMk;=T*mabTl9bnSk>Qr7 zpUiD-6kdZQeDWjsOO3z&_;sK7!k3*tiDT~aEAajJ4s`NYe)!2(9;Lh!+X!q6W{NqX z&-3MSX>t-xO-=7F6cEo$jg5`(XL(B1REHA3nopn3e~lbpFT;MMSRk8oc?L-j-F%1f z)=&Mnm%Ze>G53_-((A6iHvWaDzvK{pefx?`!}4Z?F5`@y_p{IL7wp{sH(BX!?B0U(3vc zhJ2-dn3eZU9XY}?`xm*}c*IMBfXb6I!r^@^i?S6ZgOQn#eVQ@X%QwVt5V5|w0aID2 zkl0(1tx$DPX3DEFUD`6Ap1toU_n~8Ge-~}`@V|Wh%=+hlgr14+>L12$|7|~s?XP|7 z@B6Fh2S`MdSKhDV_u|hQ_y=$JZT1SnKc5Ty^TPn=0%*3+){h?=pGNZf#MKiwPH+?Q zgj~992F=U}!t%bOi{4X(d3=z9U$`>^86SxE%miPa&mps02(G7!ZbK%7jM% zmn$3)O8fSUxyD9D0z^?oEt46U1Xf>=e-d?D+Vp8xP)gkUhA9(AtW8Uj*Wb`i zZ`nBYi^)q?F1y)&=GI#Ab#H$0dy79~MEBkE&g&MBFPcxfX6yTRfBngK{^_+Ru0DC| ztDkx6=9M=yESjmoB+vc~Rm)2P~nP0|z#4T)b_OU0g=!*z(e0bp=*X{KKK5xb())3^F@R8DY=(-#Qi}Fd#2lZzkzkE!R=2(uK zn>%uZtj_u+8!B@-(l0?*UxF?_aEYp3a^UiUeEQfGOY-`0O(p0BN=AORAN6$87C27AT8SaB_nN-x&?-menKVr z5kCbpXt}&WO}`bI4MI~i%18#qW20Pn==R&utJ9x9wfXYouF8p+4tD`Squ)Yuc^9^o-j!ue2V2O_4dv{Kwz? z@bO-|@a*je;XT0}#Gk_tv$W70%lSL4f?sf${UmZ8?Jn!F^2m42*U$OKwRFRP|3WrTOh009i;1$o5g&Cl{1bzagIg^58>!j3e2Ng)=IH0f z3}LymBcE(!wCTV62X3iN(`>40!?YUkX_-yMgfDQhp(#yzv6;c)BcbH8EifM8mx_!w z$w$e@9v0x`A%~S%8QCDFB-~2L11s|T*jC9e)Xuvv?zj4F9H9Vp;T04_QUfZ*EgD}z z?qhs9-eHDWg}E(Pj;<{i;j=iq{A9FIIZ37m;^gF9$&XAER~w3`G;q~4BOwftX2oGJGN|`hM^D{7Bc8i z$S_UbNUNmVYHFKgkPPk)g}Vg5l(-7FHeD(C0V&@Zw0Iq91_=%~P_m1g25k#Xx27x8 zCBJpH)(YZ68W#d=p~S#-q|tsI+OI(HL2$TShK>y!V+CHZQDPhvV2|~N^Rr1?QkI#t z-YEHxGX|_r6JEB#wpbs#D9r3hf2T(K233tfJ%-lC=qId`-mCR$I_Go4Z%Fe{h+PjQ zeQWTI^g+ff3Rxdx?A92X9z*b1@_X>oIe6*AZ+wVNlzIdL9AsY|nlM7*Z7lz%D zhjS#HEgNlQoD6Z^V19f0T&4BtfMy<#N=yy8=`KA8bWF-j2(qH016WdUhNA+*XuCLC zrAYxC)rx_ZZ7g$s&<{{sLlO%6Efj~iljD|c6&OCqahu&oA7Wl$dOnI!+s9G}1Ce6) zZSve=`j8q9h8IgtG0f}T(pcodqwGo!Ne$?0^iw7DQ4|Ro`q_O9+!w>zk27Mjz_vj?i>9oaCh3Ck8(tKcqQ_hW_k!|pZ22g8=Fi~E=E*0s8z+yz zJO3$wp<8!!)#%vT?l;wJIhy9QOm+7gFRHPrG?eVqQ0l5yQ?gIW=Xe3e^|Ns=W3yrN zpBETax0|-2z=yv3O*NaYraLV|-TlT3N>$UUO7>}~HC3%E*=LUD9kt}_R0nwGe=43E zg95GOJ_YWp=hcWA{?xf>HqXH_sLiH8?k3TSfMZ0SdBdz8C30eU^mFqhIceP({S+9& zn@1Qk@a%KgHvFlZF?BQh0rDZ-u~~x&nIeocUnCDyWOYF{Oj!y=FNq?8cVkCp1*Su2 zpD&S=MON^_s@w9MX6V#1Ig{>mSd)nepIW7^_l=V*nVzYerp2%*fN@MVfxm+-g7Owz zKB8$FhACyklDn*aI~$zM`la_x?%r44GXnXS-4$hHNpMe#^QeuH4+4Q3YNJtd?^*m*&C%_urUZ=9Z`Fdvjw8-qRZ#eb4gnD_c|2nrf*D zyyHYoQq9s*%~U}krgF+kHEV~V59wsAnu!G5C2zAp3mm37ph%JuiwZ;DxGYV7+6whLOpo7VobKvbW0-WCO%gfcyH zvohOeRrs?t=qH4JI+RbKO$3$}C(#m(I;w?;(U9UaYkS*mT}m3FtR%YHZ**!+2RF4H zD)ZV%fOZz;sdO|x8Kk-HVVVR>Qy-g@Us9m z%QC<=yS#aH4GgI=adW|JPtu$;SU0pu;?HJbwOGXrOxI~NOwUvdtBIRV)zyPQaWo|8 zQ6jmnV#&e|V+09`TB2peEzzdy!81D0MUC^QPJfWb?lRLO+Wcxx3xp*Tc)2I|n{He5 zA1K3$O8+USL5iujU2>KD6^Z03`77%L`9B+08{Wtv)9**;Tqbx`cYLnFSZxLZ)_>diA}sLz z@cXgCo5|T9TzzmD2e5Ny|2~c##sT1W7Oz6Kun+Ei+u-btEwEpPbvUT+-@pHWP~@26 zetK^82=ORo?w`@42)6Kv#>R)2?!Ni2KJz>8e&0J@N^70%h`oPgI{06p-?uYE7)uuX z{*GN3;r9WI@1QVFe3n4~VyT#c2=M&{z;`Ky?>>6p8{odbhTjMG-M43Mh4RSUcEtWS za~Lw1zS#dJx}S-M_l8d}=I4s9K!z|5_q~(e2Lyor9ey9&_fC4>{)Z4V!DlyRXV*)` zH!(jDHsQW^(cd41``!t^5AJ&xy^oy1GNl7UKoN8O&X2fTx$Br&=2CrTe4HusENtG{ zS$6WkzGx{=H}rd`S)3Wp<2`6TqldAQl!HzCyR+Y8Uq{=0GH-WcKyU9mGqzY5^q2WHABS8AvGAuJ)htHaUKISM&^*k3c+=Q&K0@) z4rQT2%)n>Oev`Jd@^%?c5Sm`i;)L=zRrt80I0JHG^3x1r8RA^N8W9I}h4_K)c<3P# zphw%0xdJDj)4?KSI3S7aj0RGc;_g~)=XO`VV=ucm;7amyP7654voLM@U#hVT3_J{b__r%ft8@dASThK+M z7wzH$MXrdPaUsVNxhcD6Pwd&hA!l&Uq&@k-BsYon&6abFW%p#~Sp2=P@83f2`AHU+ z@=1=Z?%*>Am$;EQtd}!P;bGGDEeGgf(lM$M${d%-ZqMm_dNSqH!|M%j0Bj9`^eiGt%CeK}z52LwK{c zdB43ghbtp7gCw@>DjG-hRT_8qZ``LI|A+kg!}R*sMz0f^*b}4lZ!9~YziE5=foX0U z#^|3}n9ZV#eq@Mr)ZBQqy-NfHi-OGnwI z1BeEHofq^)4=Qh=j@}E0wC#=Yn*FJvT&G@i!Pu=&J^zCPxE`i4Y8(2(Fgk6S{V9O` zKZ-v4Pom6z^NHfh1~D~X-PiJVcB-t!%I#b?`&ipx=F6?;|mL!}~w@;r`MGv;GRNf&N71GJSTk$RV_E z-xLFkcMKFJao8!1?#zyc$$|E6&qvVUgmEy!i^A#qo?AJ1?=$m(-roPqr@t(;EF^Ilmm)k2bGV54dHoXk=+VPyeqNat1YUvH_~FU%)y47RMN9CSIj~<8XQt-n z3Wb@m1N4A7JH=Wjr+@S;jGkHVhFA?=6s05{U}Ny3LPM+uu`J?9EKA{2uY1AkAAH>l zU;iNf?#Hgc|6@0(!-`AIw4(h$?TG%9GaLtbZB;hFZ~PyP1H^ql!@oHO&02(tkS@)#mIzXu1izvuac0CsTz zWV?5gqj>1Q<2E;b)vGdOFatixKL+zZ$lRbS{K13l`274>ZLBfIvSaMnG$V?j@G<*1 zuFTIZP6`M~Gg){iiSGoW&8(k1;A3}sSs957FXjwd&%l2HSv&&#$1jgF5ce$DAa=9( zD8RSEyg=XJS60|@Sst4{bV!WH5IZJ{V=Om6e{AO%V&FdobLrsn@*IJ*a(E#JHG{Q0 z0GFJyuG2NSWpq(as276zyoDGAKM$w6@Fem$iEJjBjtqN<>OX&(=|9Ei4)q`Ou`}A0 zhbMRA`w3mrw%^X%I=gM3cIGKho{L$QJ^WGj-T2e^Yv)q< zKVkzt+VA42``?SlxhqrjRCEtBfPd_x0RJj;DP!r!j{&F?OLKD~G>T_)lZ5fZv!ez^C@WRD3VMM9w9it1A*yEOOkznf?0@9z>Iq z6;zxha2*kfvuJu^LKM;B{B9WB0KK~q4y9uGd^q?^H@6#_* znfN!EOe|iX=~FC9&KzIk=7v53pfB3)d*`-0dFGVL9o*H=_^jRE=C<)wRK~I(W7++C z?Em6>X}j-_w4=U`-kD=Z+01fb$(bOnDL~eHQ(qXYH!SunEOddHD8piB$fUYgu34<_ zS>%liFY;TzexWtyU)h^IZ;c5Y#rFanWQ}jsmEqz_1R#BU(%=B1BLt%P>BYs_Sweqh zl!v?L8|dmRF8R^p*(Mw6KD!V;;qneZz0m3o06u4R^SzSe?kfFAhPx?*=JzwOU5eur zf#aw=F-nbB4}zzM0RG=>lnWp+-zPZ^Z_`gw)a{>{IjC~zwu7HI$f^escaY2W43cwn z&LV=)QEZODIhsN+3@G~l$(FewQehwD^aynOcezdee7cWv`he?yKYD$z25|i!&b^+u z|Hs|yprbvz|7GsG)YiUSKgf)aFP21>6~&`7OO=KBLzB$p1$7ro#?H2K}%ea+Ud{v!U{x4#^{6fgY4D_-#W*I)X+_dfKU zH@^`v|Ga(W`#14}AFRg@+pk)G^HU%FJ+z-0z*o5T|84lb(|_>42p`QC_!DXitNI)} zF;N&Rj4@NQ3^OynuT(7ODKHeS%=j)7+8O9^*}2IGU^D2c??n6m=ED?}@4fZq=>fr34j(uSl)hXn9$gY= zL2WyDaDE=4QgO%}X!hUwo_rWW%0S*5xv5?u!EnccO`P01#;%=S*^uW+xwnl9nwnpk zCI>u)Z=e0b7eDch|M<6ezVKHcUAP5pJb;eg|Fw_((%p#d*;jSYrL#AF;zfUT=biCI zKaZY~yzcF9_%?pUtB$ijgCGCQpQBs0ZY4BKX^-;cALh3D-I;y#ytU<}@~&T*(g1Du z&w0C>vUdCTw9D3lw)@fEcE7qfho<+mD}0-;LAxL4?OwrLMSQUA@jvqSt&{9 z_+Ux?DD^SsFcc5x@`GJHbM#1-Jvzu8rR{!nPCN98Gb?hIIm&QZ-Y9=Bt%tk7oYoiE zVo@BMo!!4*5`;xjniquf7*m*<03&bX8z-+G>US;w!cfzxsh2;Xh-EU7Er4 z0}9hL*euuTGKFb=e!sZ5A6`Pad{__;Er^0J4WP}8fVPL0GM@MZ5N^y~2*wkLLE}Hz z9^)o}I!1x~36gqWin(jP{Bis+`yt}r!866<6u;Tp{eS2^Om`vR0F{dbO#qEe&9nj!qYk z9xYCD;=;nJD6Ui_Q9PJ|erPY~!*v^4(f>L8qbqpM3@*5g7hcL?jvUD6Nw6Yr(2pHF zxa!L@Q_P$^$Ii_$z&|krrvAE7p9epGl1*rAJ$oFoT@ z)FR$JvPDPv&2!ETw@z;rzV{$W8Qb{4(#vi^-}zPiueR~ZTa2rZXzO=fwfd?J5Xq1K z@Js1$yyIQ3yz|xU#EDxcPTpwUzV!TsU%2K7UoH%C;{bk%xr}l2O%Z5oW#zIZ|DwYO zmzX7ai9N7%V5u-OqmGpd#}^h39$i~KDv_0uI5fdbkB`p{RE(g+bNQmJXG;aNm1k~^ zIG#4xkJId}fu9MVLDv-*AOFc7$I>8&3&yx$4j1$PS`HV$HkAM9bAxlhLFx!IOdUBV zbA*u8@ILmNR9C)W?g;b$IClhA&K%^90Bth;2MgZ^y+mSGm`nA!Wsp-d0&^H0o|>E~ zPcAUyV=`5muHHC#HO(c+%v7o^QKf{Lone+MM@jV8^64_EFUIc1eV}`;MPtnd;_#pS z2>;W&tk2yU-t}ki{M|qQ;OpP;(fH-H|AS89v+aMy|NFf!?btV?1?P?Ldia6&fBG-~ z=o|Jx_|B z4WXqEg&M$%MuJoTwgWl1w>%BKxK||bqA!2$10Vh1>-~?t`i<`z0Q?J&Y{WUl==ERv z*!w@-_{=wmzV$Vr^E&|E10WqP)8{1?fMb}&ed3fl#ZJwZiW4Jh-iRqPs^d{~u8lx- z1zNur?fXuK!*^Z)ckwRDa@%SZU?AN7N&2Bhws2tI%!wIPm;pgN0XoK^`BG6lFa%^b z-+919%ICsE5Vkr3(F_uDh<^U*fTlNp?zjHnxBb_DG=9mSW-z_v&rZehm;dksDFrIC z(F>m{JOFys(=(fbjdl)Y*ZKSD^&3X7)4ft3IeYy#bZe%cy>)mB&0Og0b=Zy>o;;tE zKlv6)SM+R|dyLsPI0Y+nV`DQD-2Ngjh~mf!4HhU5>|qEWogE6bYrlIIo$8~_pY*?1 z{WB!}Q}?fbf)=Uh`pU;L(Uq^qAph_hy}}L>5SjhxznX)1OO}L41B{6I_@87UUWtD8 z|27RVw}l6Jh&Sjf({gDB$usiI1j#+zcl6N2`1r(V24a?gIGTS*6Q#<#YTo6!vwb83 zvGSi~AR2q;@Lx&!5-%QP_Rmi9MQ-uHm_Sc?h={p5ON`psd%|-S z%0tvDe7?xs=emzQ`n%75;NCaK_5bl>vfShNEUflI?ZmhK=@;Jo?05g_760dd!m>Xw zT=EQt!rcIa1lB0ixfX`R%{-Lid^XweWY&;s^igGaq`_d%~B! z9ucd-v9Y4-*dvg$#~iI-d}y`?{nBl?jm!9(ey=TYJPDFUL{GA0b65Zvy+AS z#j!)PJY7bbpmnZG7|=FTI6eX{71;z^G+$UQ^E3Fd{!el+&!Rio`7UDc(>C$DZ+`f( z0eENvUCTa&Zf27Gz%g&^zqfQZ%?V#&E@7_ID{II7rR9Bxmf!}orLuZ> zVPb+GE3p}f>zNLnCD4=HyaAZB-WLUH8Gu?q=fPY)SFtYK3XpyVz}yQyE>qo_e8d3p z5&;A4)C+OL5zoO5;{ge8nIcZP&la0yFWNGr; z@Sb5^u&0nXfa1@9EqNr50emC=G3dGDX!79FLE=s<9E5xS{tO5jX5c!=?&BkR-_p7F zEiEnGw)Bam!VLQIfRHts7x^3!#sUnFy{KA>3 zsXb#ppNvWGUCQshb8zq6(wsVXn}N}!Jl1!jU+rJ(6% z8-9IbWVe%NyCYINojzx+@_h6#?tT#o+IJuN#vk^N$E2R^KNsG#eS7j~7BfWgJOh&d z8eN_^FgZ>heRN=46vq#6g~H6f0|)k%naRCHVRHLma9}xdfIM0h2EYLIpzv`p4N4!s zd^^nnLFI=A1z-p){41%9$Z|D#lH)`2OlV%mFnD^dpnFiGFqniJW@O=}8Jar`k__BNDtt!@`Cxh-B8rfE=(^w4jHSWJ;t zb=xf?u~4cfzMo2ID(I0eVB3s6+-6hc%3*-pIFw=^EUeB>rzGmj0{&OL@Qpx9PYt0q<4K(?b)wHQh5q~2||QLXKmwuM^QYldEpQ>rQ8 zFl?kabka_Yn`y04LqPvQVAz%!^d%JeRo5qbf{VGNU{iXc)Kst)Hzy)$gK{FS@h$i} z$?4c&$|71m2A>Qs*GQXMn>^l(ui{$2+OOlfgW5<&3L;4!h?Q}z(8=#zCiia4k$c%z zjgTnGGQv$r{CZVQMl(6g8Bpli#C(}l*R2$@5vMLhzMj;;LEtYeE#8t^N=R%UE8nQt|3XwC()t z(cL}Fz;*|l8WB|Uooo#VP4b;yyUxKTCqzW{yt>oj8$dHzZnroEtPqsv<)a{);Imk! zS6H>3|6|*cAB17xM{Emu$iqSQBHt10<1S8cvP1L!5E}vSO<@?|v6bcWsV#mDZ4_XS z;f{^`hzn~;+e2!GM-AYt!`=cYz!pJIMtf4-*b0pV zyY9Ju;3bXJ-(fnqDdcNI=T>J(;h91i^asi*sKH6k7ETYwsK6Lv!9fo0;BGgp*3-0F z3xYTe+-hP~5z}aKjEWoewvpOl==)LR+n(o#^%&FjViEi(3Ve;)ek8M<4Y*cGtUl3#s+vI6-$cVXSPlZ{v9HSot%m%<*1)MFCjK8^E7)jw&4vqL<0r|L-Mv^WAe=SX06q&6T;My?(8srn)pEw@YP7_r%Ag3og)B1K)=5O zX(&ZWUr(GENR;MUvI?wc6XpSQUZD>cLM+LO61lYB;Kd|7OLOKqRs*;Q&zfcq(|p)M z#xFO;)m`p25 z&O&lOb@-44)ej7Lx0eQGHd-y)CrlN1SZkOQH-`8|&*tL3%(kki<)Bs!dz>&lz!!qH zTszkh$hyLtRk@hlz*%94ZJ6qwKF3&+KF6wTt1pvwh&+DWi^=0CWZI{;15$wQeext! zn8M2GJ-feHC>}J+T z0Xw?8W0VA-&CBT1@J4dWXo4uLHmtgw?Fo`ymVJd!vQ>7o%ccu0yB4PHS^}F*H(Xrb zVSpL}*eP8zvg|<}}QJB`NjjoDqU9hZL4T(s{F7V9;u3CYG zLgb(Tb>LFk#vK;4lGyW+20X?A9uonNp}EHuqMf0QF~pI_+HgFumugaH^_11InW&-& zLcESOzIIk;9aQ&iJ;qwL=K$+P8Rmb0naiI2B?J58X9UV;G6 z+1DZyw_&r8>KH~RHIt+b9WzJ(-l`!V&<7YXV-t20{DD;3V2K7$bg5h^10KrxTA?y= zSb@|6J)sRO$pM;8akm5b6}nx}BLec+U+nYJb^wY5c}cmP0AAI|bO~}kmOVqKTp4bH zYTsaiLdny^``wZDV^pr??b%Lk(3mu3652P4Vg5GEe}Ps+C{{)gFd(sVrC_l_2NN`e zu>5YjZZv>R0m3CD1`$p~|AbS@?G+>;8C==7Qb}}6e;PT*}aRL`AQMk6ioGE(kelx6AJyvb?LpF8$ zHGocvShG)3|5(r-c~~%#r=KZQtY2e6D4y+5{fAVeE)p3zMP$qJ6sdk+8KckAI5iDw zcY+N;Okmk#cu6%;z&g+1w%?2R>b6x#&KjH-AZ9yTpWKd_q%dZkf!)W#^on+^7eh}q z&Jx75P{l33*M=?(AWlvOI<#SJ<6Yfpz%*or>P~E?J0TlhI;F=5h`5I1g5Syifez&& zQdcH|mq)2xriv@9Em3}fHyZic?jujRrw?3_K?oKq1IKxV6KX*243Yl0i#y#qd5&hA z)%tb5+H5wvaTogZ^1`C=JZ+!Y}fmimnbA4GR_odD;*I8$WEpCXJCCCs7q^cq$#Bo@WS+JC9bwk6oWRvV!DyX0}{LEmG$Y^`5o^}a=Fat!%2L+*ja2mPNxQ4aQqM&=88Q4{j46Gywu47qAnA-Z9wGHWN`zO>l!%Ey z7{v0?tx+YoEy_U^?(Tr3#@%MC4i-n8MsW~;sT^2g0vv$styb7*xxaAT1uc*}Yc0*Ha)2df%pl>uf z9VFR->$RG;;Q${F$UAC)%@eg+PQh>`%a7`UW-3Y))~Zp|&=uD;<8x?D2AXJ zl9~{3o%kjIqkJ3Ik0dm2luMaCI`SwRRstgPI_-KDH2Sy-w55hgtbH53N6~- z!M**VT5=^Jt3l*@*k-L}GamNawIjuK3Yz3?>uE;+gvZM;-*L)62rJ5T zB9OcitRE{hu?6JMDy)o^eu%nYKNh7vSvmUZu+h9g;O1tQqNptRd{*F7O-y?jPt+175?R5wb*Guswhg;C2TX z3TIMpC%jn&cC7-G2}%#B8!8eS>=Z+l4F}V|s+x*|q>2K^Fa16A57A zbec&VrNoO8n%F6-K@9v1Y%v(VS!=gJjyD^W|6mDh+|@h_`3Jho(mvkR(V^ zRTRBWlW?I{%O5Zxt{OhxKn=woGNOJoU_sP}#-}jG_c?J>_uhr_PiDjC) zo(8s`7?GhHn&#@E9i{{STEe>n+m1dldUJJpWBBkaKK4B@4!cM&9a25Vw(Tg8la%#r zP!@4B=m(CS*6^y=4sEO6Kt6^MivUN)Hu*-@X^s$fF z1w?^5O{@(rz*-GSmMGXrs$yu+H=BmiWz+3yrsDt|7s=T3#HwB%C{I+K%736jw=1Yp z0%TD06s^1uZV}IXwt_jjX)` zdKR%4iIgQ3wB(h|a#o`Yey&t#MJ?(-DEMiDyE{xZO{+xMB`NSHQL>#diID<}Z`()) zMZ|WXku1tPnI2aKo@)Sa=xEUuQp*-T1GI&yFi0rRT;$O`x3a!Al zP#yC8THW!T(7|opVU5J`yx4IWmeF@4)<#;!yS7G7dbUOi6zMUjUgYgrx@K9LZYkOC zv8!8_uA3%Z;{bszP_*-!jGzaA1s;MJ;OjlLK;=7P%pHgIxCUu6PmN*|xz&DC;F{aC zww=BsvKCUa+IH;PR)Mwrxa%S@a1c|oo1~2gJhRKuvx?DkE6+7em%P~)`DwT=X}jZb z0iP0kA2>6=wn7f|PH$E=VLO3p=OD-KH(6ciM||36`Yu=xtdqJ8QXkXZ5joo@u5J-;Zdqi>!`v4T=NX_vXky#OE!I~&?D~oAyIdV7b+gqLB_R?;TM~)U zT*qzCH@mQ$*?9qsA#qWG*u@Mg5;0mVtufPFWG7MVgGyd4SP7tyQxeZb2{B_3lkNzd zS!mE&kpu`JrtE2zfKJYAb}Zy!AXFwo0%!HRSO;;)`YtwEgH%_e<9a&*=W~rg{lvio zY&pNzMOv2)yGZpyPL85pi?;UxP9NYTm{^|PeIz%>5_tLSiR_%82&N@Ff-NgT*l=Ly zU=PJ%!il}6XNj?-ffCtn!*ZfTh>%1oZX(73JV%8Z)qDt+r`P!D5?5N=;Q5{afY1c`SA{aeW=4x^zAzj8*U3Mgq!koe!JG6e^>Lw2>&vO7{ zpFvF#yR0IHrVt98911;J2e!JSaz;TXw8AfM=Fj#eZ_bG56MJRU!Xg_q>EK=z+ zgWUmoouK+3q1mZbmf?@Boo1#HDbF~?I)S147IG92@?F*FAVJ1{po0O!h9IHp#tswp ztNl)7XdcV3V!v&Gd5^mUH>}S^+|d34)2zX%tY6P+i-jCH^O~eOeKAAb0koFUC&!{= zYb!vWRUrW>V+uIHRe|j&0oK8UYseljJITSCWw($nNJ3SRTuExDC*RgK=$3~sp%0S4S=iF?QT=R zP8G>jq!r@6iWlkzT_Z?6q1!@0p<^rIOBC7zDl#qOC2Y z0x1BT?HgmK%2fdu3)BD}bbq=$y~ZLKV0n`#if~o*96bKIKViyRk(CBM8 z=}I*vKoS_Py)KSCWU>hi;oyk!zksVj|3rTvyMSL?rEk~?v;6cbSHrQADma4n5(ZmM z6;tAOuS>{gO}TFiYzTixuAImSmb?Z(ai9!f_W*W-z|I4#YdlcQ6nU&XC74pNv=5bv zu%HPpoUSEWF%;yu82zDfSm+to+6640US9*9W`(S#gl-;8MuXwq@Il<16{UY z?db_(3GlKqP0kMUvA9-85V7K+P!wv06W6S&tgu=^YV>_vkGiZ@ZKp0EMNq4eknzYW z7xH>mhjXwmxsW=7`@ma_AmNg{PP78}YZe8ni7(HJ{D3(w(^SojOEp8R`Y6IJ5YUAD zLay2E$K9yL8YwxkPmzsda?}mGj;;sahW&kjt_iKTidZ5^^6fpxDum&utV~XjL81u2 z8E|a7HM3f1`GFS@zo>+nC<59>9UODO%T)<~9Bw>8BzH4K0O{Uce$QPpzOfUoxLzFLoKtj(r<(MDAy z*f<@~jt8`3l5=B3DTiPfbl0^C%mfIiM9~AP6(;4)V>5L^)0PDs*-_ZA69rjnP^k3` z?8bFuTYg}horXXTP<+@SqFx1LNfbvO@QI90DzhL(k5Nh?bxzk-wt!9vkHK-RA)Cmc zez>lR8ZE<4pqrKm9r}S`rK}(l?w}@G7#bQqTjXF41RvE4$%G+dSRX8s#6gh;YDirq z5|Pni3+Ybca-oUzwuxIwU+Om!$p^)Xt@i^9bWz13m?C8Q3 z)wkHh!)eq2qsPS&=ksC$EY`wdXlZ~sL`)yh*@z730KXi|Xq(#c1+HT>I@Kz$sBRRP zJ*yb^Yi71SD)84vQK5Sw#~TcJYK;uKF3Zd~0pwlEbTYu~ z99Io&C+ZrY>Lf|x1+l4%xY=e6C6G-os{3(>8+A)hk<|!8ui6ILCjyI?15p+MKg}AY zX_4YZ1Nu0;N9wKdS#-?R2*#VH`=2x1sOAMOs)9Ug5-YJ5D?XUCkzFk)^=hxpnvO%x zQyoEy37;o}DSbU?_FPW*?H8@f@l5K0UB=N%jyScAi?QoZqR{ z0}#BiUB{6bq(M~-5mTu4Yt_VW)PXvUT!#<1ln*I?&!~E9YIhO1Km*a)P{8B}5*2o4 zi*=Q#Q16HRYM|Lc8+29$L`Et~J_+&!KFEk%hgXU1vRYy|`fT#j+B7}N?!>t6h=M4a zPTbK=+i-2Ri8RgWc0ipaM9k&#MuEMyNc;pSb8KaDzg(dbxdKZyK-V-!rf15&U<)dt z(iCKAXn3*TPgO6nje^!QJWs01uoE-czn$1MHc|T~>-E7@Hju#T8BR6AM=~A`ozKme z7?jgwCFA5=?6(6iCgx;lSbhpLw!^Ruz(^CgtI=$GtcaAr1iZwel!7uUkvX}5JN4wM($@gvsnUzmx>YrD z{tCRQD3d<<(pmu)Z)0j}9<6M#gp!-F3M#592v%1FmIw1k#WX8{Q)WgA$rRFG7f zk)U>hLNJzHI`05zM9bIdLN-R#ss)iH;Ml8rRWVhn3Q9DuU}G0Iy$)~*b30KAHY^bW z)cc0w$#PBuj6`)*;Gvfy%EgGCQSZ5|EMblHrK%)=L{5e6Am4`}?Dy~jc7|W=S6PFc zLH28G7t{*WNeHKA85`&<0shBPY!hpS&6GI!O2MZbU)6vB>K^JiVn1dBCE`WU5Bo9p zuvJZfY83(Yo$SdX;c*Gz#Deu3%dBH!KTIu<10m3ntXkVm(<&CKRW^qGoOme+LXdsU z?M8vdr4b(K!M^Rn{v|$Ub`sH43{Wk&jnmU}tF*&ukPRDL$B)4P7Cg}SM8WjTe$8>h zNPtDNv0wM(K;>&a4@3vDOyD!v3Bx+8p{7giT{`!om}?hg45DLitW0wW04PZg@vkGP z&epJxK|A8>Jq26D5MjX%se=9Q=T8b4Sh=7GazPbaDJR0G;W&JK+bjs%T_&?fLyp9! zWLRMcTFP5INB}U)al7tyI|8<9e64Q-*~U)dqZ+EUgnpVmZXEUnXq0?|>WsO@$Pcul zmLErMjacIWPA#Otekj;M3y3c2*Zb`_iBKzxD+L+P>!@064xaHr`k6#j|EyZNZP|vU z*`~v{bkEn_mO(!A`%IJ+Yne}H`iXoxjtTQNOvls}S=SU*D+-3|!Ue}vG);jwLASrt z;r%@B17ybR^5#leT+PFi2hMHYbpjeZ8HBFpgC-WjN`|pkuWO*WFj^7|YD~_)sDCp* z$E=gn`++YQb~T7^_}nCEJfN!+sQH>6`mRf2IRdublk4?*vs&Xl;MG2Eg^ik-L}~|= zOPyFAc?>HjQ#neHq4-AB>vD3xjfk8@Qc)_li}ApgF1F9A2o7r552Rq7o)q_)AP$I<06!?b zlo${tC8EnMG0V&vbDUXcPLYT%Fqqc>6-2F?rf+UzcDY0&)M-RJ;x>+>Ybyxswx9;4Nmz|YMR5g54H>ulLS4aaFy|zt1~yk< z2)(-QYpenQl1Fq6-tcR`$tvW{f@uu0D<=Q?Fo^Pcs~?me%3@f~;k+ONLE zeOB#Rjc0Msy5}V?x#wBjEpNW@ZMVIRecRivRaVC4Z!w>4Kb?L0)1PwH31A5{X%GmVIyCb5Lqw^ryfOGres1L7H_7jVM`)eiqFZ`x z@Pu|AWR~t{g<{I?C z$M1G8y;R${`_^y1_L|F9E>f?!{>19BQ)ohzXI4+V&bjTX!WWTx&zHY^4{m(~hU{^@6)bK+W|u>aa8J?rPt3y#W15C7l;$5-Wxdv|jD%1QJt{EN5V zL7twr^IT!BbOYVn7sI|S08-Zo65(|r#Q5E>J$2>m!s62Ln{L*hdcy-> z(Jue|&s_JipF45u=Fi>qYcKi$l`XVZ1AR8>ieBC~{!8O%yu>kMW3(s(Kbqfvi};oE zD=^Sn3pBay7cBbx#H`@J%ih5Zo_|gADmDG!q$G`xbJNp{Md6nOByc=`fS;e*zkhc3 z$=7rs7-l4`zw!h{5oYtm#b2=4@8=Z-2P2O@Y%!~;!vG9pu=`bALI)0T9Ps-o;Q=sk zMI=tbT=y0EK_%B)M(S0Oy!>-(d(4n>7?&V^q@YLq`Uii4WLm}J4~IFWSsf1;cRyG+ zPtp%hB2JjHIdt0;;-(B7xwQTrcYDsmq!W)?7@8w#xR+Bi2e_} zBr9-&&jKI|wZSU9s&;N28aAt;1Mtj(4SS7VSs0&~K6Klmdk(P^hb9hjGc!vWTytgq z;Peo%UC2gj8a)wwBkA7fLHI*FaRCr1%64I-b!cd9&t>u?-K9c-nVFhgIXXsaP?XE) zP>HYP4<-dPWogMGNwUn+&IcL4pwKll2>H23;iy+U%Y%}F$pe$5;? zvM^uXx35GpuuFq{@OAO4C$kbg!yN2eergi-Md-pw*x&7B)osqt!v3Fs`FChvoPH3u z**j<~&<@l84uf|bTAODcc-qp`nK?8ki_^y3+`fIUpZMm)_b0dspDl_rw@0$?G=riNY`o<$UmUhQKp_b1XcK`>Bst-UYuHX6M z7vK4{0T6Vp@V^)CM}@pL(II^tW{k*e1!lYeLv0M^c|zsR={Y8e!6fB*w{j53hn@Gr zeD0$C9rz=*$dFFx6Bz~o-gVbq*$u!?SE22r#k*(?!jt-3UW0HSnkWLQ*;&2}(wa;d zrb{1r4x9q5KXP(Vc#zBd?V!XTMwB$JK;+S>cfEY+*{6RY>MkE*%NHl6UAW&uuf)CI z_@m#td~PnCYx21WAfvvdVEAq|U-fC{0_hl2{xK*KwzXNpem*5M&%g z)tJP)G#Z6^45lmC)gcM*;R*i^375F|IBFzX*@^CT|9bK!Z&3+KLj_<+0%m)D@7PKrr z1C=>yz)XX>h%A9++KGUfcERX7I}8_XSJ?p6I;TKuOY8Z4GYqr3wZWIyHs{I1ac9@c z%d4g3)lKA>8WO@V4Z{StOc|5VBoxu3Rt!Jnezo21)|t#_)hSps4r+#YO{Yg9p?LE6 zG}0|cM<|v>7fG!qk}%8_cD&JQ1wj%7EmlDSm`)@Ig@!{#8gh`W!BD=0tH^;L$k0ff z37K~h$&6fV@^Stwz)6t3#G^mZr*qwUs9(!ju70i2UI1^OuNGRh8usArROvr# zSF3=VZx+7GJzAUxnz>rPh?$q?*-y-WbDmY_-FbGB<_7Ll_pwD_MFf$>F+iyJ4xU+m zjMxmYwZNVr)h%CsLPZlCc{1YK#u1J@5OE8-J#ow1?|AXstc&=M@&`}euzAVTP9H56 z=b!mY&$?*Me6@M`(=HOHj~lekJ9<;$QT8>(8B#Y#ALrkAH87!ZX8c`X=3f2xuo1p@ z%VRJCd362k1Xo%{ZyK8_PZZ7+moB<&&My4pk!L*1tjsJt^QN0*=<6PQ1^cROHLnt0lsPBhUY#9I(o+QZmMMQMz1S; zm%X=GfxhPTeOX`pyT&u9^3F&C&x3FDMpiXR{JOMLJ`9cNM<7 z^Tp!pX-xmK^%Doi3*tPQ*VhkSedxwR+@V6@&^lO*_c0Fu+o}n32M-orKYrghJMJ@+ z!fgU8Fd&ZzGrWBLQM3+UF2DS$b!q*U#Yc&-1wfWBLu(U=0E4zRj-dIqY?^QdfA@}! zm!3L(*T#!BUZvL5S8hCWrgHeOc;?c(wq8{D?$PI}>T{1CyyDlN`qW>);wuZ6UUsT7 zd*zFd6PUN(T=*{jUJmp1`o#rqdCKmH-0_S%w7V`nBOX2?&lG-=0eLV3 z`A?3&_{!PJsmm^17~=PJMdGVdm|JyiZec+#P8bV^%KrND)yp?7bIXOo@*Wf~EG!+9 zq$fl(@OmQYMp1q8^5f+T;d**zf}KRmYk4wkv9w7It@9B7;hCeCEfjCsxAm0EkI${` z-+yfBg?F5@0_c|xA3ri%eAc~Vpl2;`+_O3EsdRqO5dW`|2=lvyxm~{k)?%Ddl-*@u zYKx1^+T1(7x%B;|A1`rB`q%+uX=&vh3+3_?EDjJb-N=tot!I%w+Pn-?z2FjM&p$1e zmY>XJPdz=owK2h+w_NCpD?j^G{g86;#4Y?`^(hyxUjNi5FT!un=MSk*IcEXU&4-R2 zy7;8}tSc(;<@gEmh03ztD`2jV7Rj^LmOwTy6#f1Cm)60Mtj*5w@O8#toGjl~X3N=3 zU?Pv?n!@EkW5XQ|P_GiUbZp3#`nS%=M{>$X_wdJ`@v`gQ_0Hl;3kTI}FIjoYMuq3Q z3zuBBNjAVG#VcR<)MIb^)#E1@N@E94DCfbY=|^~fzdk)@i~z?l7Xa?jA#lejbOT~v zLgzsDtzBC0T?n}ET|y{+^Ri18X3qsKhpkiu`EW6{g$^A8P*zu`*MW793GnMtrFQV( zwBS!n^0)CUpMwV&%L#oW!yo-EXXv}It(`~V#OaD3y#ScUb0XKCa``2*Yx`%PbjJ(% zAMAzqy@!u4%@i-Xc}!kim4L>JPi6Md_%yT582Z|w!-s{7j~}N~sEr91FMRXp_mBSg zD0g)2(9FzvGal+p?UqAAqI}YoM6PGR=J@unsc;oab z{plCq>cBgz3XWm${Vj)dzZDv;D9NMaGY*i>tE@_1WZ4XagTR53$;6a&-pRW}GM z!v}TJj!oR`hj!pXU#1iZq954E^?e^lM8)R0WXCL3VLc8oPhy_TT+2L%tVJOU0wt$r zE2Zp7uH+a4pkAKcnlH`H%wK_E1IOiM5N zzNz4#-^5DIicrdGsHMcZ<2iDq>uM}HlA#Kcr3Q*-*kToMR40`WTvow#vD&Xm*o@r} zS=d%JS4k}0WMJ0%j=|N6E@;@KPU|7CXjVXzxCC%<4RalHJ@c%LHYw@BngZ>u@Fanc z-yr9Z=fHhmzQgELFn>c>=3~T+1~Kq_o?% zqTq1!2U|4^MHL;}vwh#ToAA@tB(dl!vh2s6rka|myDi@`Y`uehyKW6Xu-8uwLr_WJ zHM~={jhiX?hg%InkEkt|?l^2xw06&j$eR_T2*+_;v>q3W#@Qyrvt-}8MUUABnn;GH zY|qYCNcad(@x#s1?B-44&L>ZoFF3KRv9(^;i##Nvz%wGlZN^*!c4Vi6;vJ^w$)O*$ zBNwT*7g&L}-A=iZQm+s!mdc<32Qs948Dz8`nt{7@(9k+$#W12QeIk zp{?+{e0i-{Gx~O~s&NWRW5*A}Uc*%*)h$|~XT(~nwIU<6!bD3$GEZU0D!I@%iH(>Y zC)tt}nVeuikMOFwx8}26$p#*mo!kMu{Os~3zedg=5QR6}-X&ASa=cxY3U=IUw5o2})SFc&ZF1c} zY1FO2Vyk_N4S_|4cFp#IV5vV1WPw|VfQOJu?SxL|S->SZ&(7(EoZ8X@`e~B6Diemy zAl0yfx);d`_OPdejPzqH#W8AQsptYEW;EcB=&2)RupkE7Lmo|d)Fvf zFt14(wU(vz>_)u9chrti1FOi1v5+7wL|rTt0cRl&dXDRIQQt*b9!I_gadsY_ufb1Q zg1RS4umY+TV7nisY`0fq<2dXXiljP@-j#qAn_;UHQT(utk_vDxGDk?J>~!Vy=Eh8^ zB94f866C!yU0DU7x8NNkNr(g>>Bw|t&omVgx5T6hY(l~vuFFP!CnmwHd<*!e(Qh~9 zPzsRN#%<57A~WinAtEs;EK=B{Bo$5SLxGv)#US95#N?Hjv$aBFTji~@VpPz!>qRs4 zu^)t7((m{b#~v_7yQpS3o~G=MAh}4vC8zCm*e{~0bJguQX*ejTVS!aSxz~byV_8^2 zTI>c*SiUZeZFgC-qyR6QrnOXvq$Nes$|Rt7s|b8)g)h(S#(0s~49z4dbd6TjmmOBK z8as@MG+vC|RB0G0_Tr-FYZ8uBs{yRcj(oRm>K3bsV!vILVo5^|umKWLS!Ml_0dz{D z$&S%|ki{nq*5N8zA?v)&92xz9q)i8I6i88Q^*Wpg!aUJ95p^Te4&9z^X`yBo-9QC> zB=K}PQj8!(AlD-)&_dgEG|Scg1Bm$1 zz&{H7CcwW*CNf))O_JH5qAE&4;3+n4s$wL{xNB>nY83<-Yp!FOl5X0Krq%@^(6>21 zN{c~ci(#TR0weaLSWP2=cxk=96oOW1fVL>fNR)wsd79VC*vL8UJ z$(34umPq8Bj)1vtR>*t?K_o<*+$^tz$V`Yf;(M@<1i%Pf4JzGtC!0QO}hW~8bBl%Up!r2&gx1GT^z7qtB47#M|+kG<$!-P#iR)b!N+ooxP zUgxp~T{Dgu13or8+zUk88=HUPyh@KOXiv9-hCDv3Q3 zP{cI}`A2Nhjz~JQ*M&<#k~obPY6xJ>i6*GT8d#$#N&;1gLjt4TZ8~Wcbp;ZhV6tMV z4!AhN9A{2|MVeWomBVP)qAnA4{d9Sg8m449f<0Itf5P=69h7F&2&W1 z05qvJ57Y@q*0^>k%OKHg+-=594;fA?wQBGsMzRee$Snqr8~QS?HIzU>LOZgnNbo@l zNQ$aNpgw^lchiRLxju-iI7qxqkBV52CAR25uN=|MGOmb7Qb!zFQ9z^%Xa{Y#UGxn* z^z=x#B2Npw3xwcFP^dt|}X}<4lVW=ieuoa?^6CFv~4jZVAI<6#!njH6A{TO7G--o-x z*q0^Mvb3tMsbLre*}TC-rSzZKo+O4ZLX8mZpY2TOoUdKP&XMaLm^5gp6)oj#ag3TRiB@AVrNZdsWwYZMqN zFNuFEVe`}$sua2)l~}DG*qY%rWY)owW!4-=6B5a< zM%_3ho4V-Bt`pT<(;;O8yuR;gvZVWJ&9)u0$_fninPp*heFR8jZNC3W@aVBOdWZ?85(ZC7MV@}^9w+NJ8JA2u4UVbYYDb%ICd`q zfoXY?;JPg}HAUHSU@ZbkGY!4k&^_RBs$+s`M)aksnZ~Nx3=LAdt3dS#rXb7r&iChW1K=?zPL&s@t~ z&)haxMYNGEPbFKljalN(*_%s2mXfw1t{vj$A~VVov?|#;azxo0{yqOw!7;%6NmSIq zx+iPCuGk>=EH%^(FO6jxnYN`UvaWzytecLfy0G4Y*lf#=*^W@P0e^ShzJ{8b;=}!{ zqFIiuX_w&}`hw0jJVTHT&Gj`|Rs`Ds zM^cs=(Zvosw=CYa;X~4^C*J+Gz)dWS*8`7U^K?eqKq>gc~CKz z;9z=0GbIUY`w(f8VPu}*W4X9W-CQ8;HZqB~M(!a2$4p#nn{84?uoj~fr%B|7rfCY|8sJPqg4AkQscjgNYzKy=E1<_BuNAp2(8ms=SU#wttpX?$Bty;z6$Dv032oO4 z*wBPKEXRV)Zub?L6m#=k&x#C9k?p#p8NR0`K@i|N4N~?HBRdY#C=Q$*s}NKDgT(b- z#9Ydp9HskAUJPvb`AoY2i-9_FSJ##amZpIdR6H`dDmIYU^MKg(f*AJYsKr|S#N$j) zlslk{_v;!`R4-!Xek-lXVAv9-9KaM|FW_ceLq^-Tv1{sbU}>>j_d~2npvMv0Q7jQS zMJgpSd!Hy9G;d&QPtMbm(H3ZPRE1)-n8bS^O~wuuH7Bl-D`L&jJOG+11 z_ozc+)8&FtGJ(IANBtu6nO|guv*KC`YC|1trfwW5T0iNVDuVXf4&#an?4?H6GJyAm zA(=nwl%j$J^RHyu!5a0XQ%0OAv3o8QBT!a#uv8-@@j~0K*A=bTj?D-xIvgwYAavbY zP1CtLFvUO@eXp(7EI~00rP@+GxZroyh7Ig9&k=MA2|c?Q8)#NUiQ>AJ!b#mGXDfQq zkCG?~eVPknmIAIteRl(wWiiiF&34YzG#@JlY~55ewNBOQw?J9;x{1KGdY&qqHML_J zrpHMbm;g{Na#&gqlLuj@7dr)gPh`lhhlzxlmWl05-o;M5ZN)J$mD!jTK)cDm^}7Xq zoAG^~0X2^ZZ@ZVJ2j_lMmzU0;YeCXwm}`sEC8g-wZWLKMZEIhktqg5NXls(Th8YB! zN_=rUddVwvDBUd6oVLmql_s;9v3QO*g4nsp=k>F-xWM$7HV?ZOq>0e$x{l*WrVC(m zW~;j0D0HwD`8Y^zON*MB`C5$vT2dBd1L!p+r{Dwa>}J#Ll>x->G(At;0hGn9BAb`` zP16ZIISAB#N-9AsW?03sjdZTn>G%!YF8F;g1U*ZNWg9gk(6~r`Yu&GRs@ZoF{1&<$Tt3)kxXBU8i=15(r=c;5dC1LUEzKt%am4FVBQ$>ro+5t=JGFA>3hV z7FIhrwUJSUW%Pl8#MtlbFrfQ%umN%>&{EHEk*T+uTBOEllF<(X@GylmhbN<-QHUrV z-05W{|-1>JjzSv?oi zU;qtu2r61HMHK0PZn59W(JhNPzUe#Yc6_ji`Z@ARQ3VZat|f(%tf2%YA%Ft9MKfqN zOml}xeOiZ1EwpHThxuWuE9lII9b2}E)Iv+G*Ln(D^PLzGBc#B(gs&C+VcZpk zeh4o~QqhPa9g{jj}HoWX+AtLGgs$%TFYuHqa^uQ=7^zZRvjI;aE}Rsw$we_%hw+fSY1??mkx} zP6g;SQ7VR-5d?~o>0+fc&w*ZIo;14CGux}2Rl*(GWc&t5kdY(9EiliBQeGFz7uVJta`UWTmxCQo- zgMe{Zu4Z*L-PaOFw?o{LeJRQ6FL5@@zpphAhUZ z+5iQN1=}G)y3%f#^~gpYu4a2-4LM%lizC?%3!sw&+w)c5HN{YrbXArDNs0R%!*Oue z@(k7Nx|(0F`Ies8K?Btk#~}w30yz&UMZB~pb}@SnN$%dCAMAj0_7;-(##uEg#M^ej zg*`U_v)RWnubypC_D|l}DXHBCux7_6MFyI#flUx$s)@TM?vOM#uCb$1e-}TJrN!); zV;kqWhR`{u@P&q{1**xaiDr_sJ20_BpqdE8W5>pNqk-&ZzfOM?JvYz-S5xAk*R1*2 zMWJ8gz_ewW&1Rp3yD|g2iX*QgxEDE~`@@cx+K~vBbD~CSU>FQQ z*sxuf1z`$mq#hDN7`%DU z)@93v?Lv4j>>b-7Jh&5sLd$AOKSo`!cRGfJoqp5vSfvKyz}R839C3@)z^-&jeMd4k z1~v&I$;Molgo)UwYxX<1id+4L#fC)}?52LV5p{s&NZo)Iwn9vmVM-c9^j>BQCRr`| zkNZhhOPn!x47N$n$oI$_Ew;Sac1&ayJ+<9BTQ6w78`B4rAdcAyfmR1+ywuxKp-hl1 z9!KQZZ5mZLnd|hGz(H!1m{KAqod&Mf>#W;r7bU+Z*KAz{OCL7^FZ7Yj8Kh?Jjz;$Y zeeTKNsVAgvE`Yj z+E4wigSu=puj75VtX`a1R3i6sx zV_CF&$i#5V8&lI$(`=pV zsJPigwuzHY8w2}w8@TIOUAx)TiVUzk4R`8M70INO5Bxv@t6~{fkq;JEMrYA^bcVXI zZc;i^fX=Gbvu=TSS2H>*7yy@=>*!fA6kvy-(#6Q?xNXkb?v%j#>UQGpE-m}#kI{-j zcQQ;9i7-a1dA3@RTst2F5#MMG`>T>!r)+s<;J7Q%%E;4|nPni2yp&4=m?`imMHOPv z@eSWnVDtAoPP+p_S}D5N>l;|Mtg6}$1j|P;>nS}CSA&QZP$MF>Wq}6Mq6vJS?C2>} zVz|}$eTZ9Q_^yR)Frpm{!mQnJQBX9u$s?s$rqC9}zSV1ksmsb4EfZUf_w>LBTxMYd0B?{jqoG@hXV|uc69b1*QVVOLR4alm+?N`um`W|yV9mbRPud=- zMp=b1;vK@%yaDa5OqDlgCeh3y0@~$4D5@^7(L@l_RyDv0>jUwIew&Rrz0;~|!0+mz zKhP(w9h0j8jZ9>Ix6JcS>Wh_8CzflW?ZzH3LeNRE)U1bT7zJc6xUiF2WcWJFm-r`0 zB?o4j8siL!l3}@(RhBCfjWyQb4#h-KCkd(nSez*JVz!BWY}%nI#H`OXbyC_7r#p;b zkm^CX?ak@Xw@>-m{0Qp+T0o`0Zp8|UP-=q`0M;vX%{oP2)o_x;pv~a06Cs)p5&*3@ z1)0`X9N~unCne;tKIyetj~@K>9hN*FMclEAHO{9rv5}qWln1&sn?*#hVuG58x|#&H zfkI7}62-A$f@#G0K!n?>Ighfh{r{i*;c( ziiCq^(gg6_ZbXAWNNsJ8Z*XZ|LjgAP$|^_CZa57o9njElD@AS8)Uk>sE)AP-ztns@t5)%t12%)rJ!bOtnL5xr1D{CE~zKSgVorYDG0^ zq}8YoiYw7U*?NS8n4TH3_D)=i^E1Q2dS*&Tg|%5ThJBK<(zeP<{j{Kv-=ZEUN}NTW zWd-_aSad++VbDkr3aNxa7P)eAYv4Xxmb0>AFaU`bDoK`Ym;jBW2)G&&($|8}*2PFM z9qjwKlSB#_0&-aB^o_Qdh*jjlhGpwUud6D8V5B-o9* za6Yplmz~ZLGl-??{8b=P67oo`5W8su`8JNaOYRwiN!H}Y7S;}=F#{-m(p@}YR!W^#OJJ>rC!i7 z=+Ola`#Ni&w$UZ2S-?j@oPj><;ch3wlEgB+p~rd<8Y&j`*yw}p4U)Ry>mD0xF|8Yt z>;yn}LZ(-Z&|I?+V}@0>1(4KCQHai_QN-tdL!x5?qdE5; z+%c)=gH3}Ki>9ZmScr&%9s$1zb=prz`%$v}xi|WPZ50B*6)2$zsR)GSq7wDH5jmj* z(GGKW=y_lOy2tK$AT3e`3Nn3|LS^7ABm0w{2WqjbabhnHK{9I+DUDLsTqH%QMfBwz zrh$`Mjkw&4f#Nz*Cw7sz!+4mf8Hyz7o>~Lelbs2Y@y(JB^gBl>ii|I^yXdD!=u^|# zsZbsCLQd0@Gz^s_jwHP=+n(2MfK;>7qNhY*uYnl=L3Wy)nR+BDD5^EBW(~%PsJ`Uo zYdp_SF*(65A7w~!OqSc2n$J(c9kH()h&)A0{Qq$F?_iQ5Te>KSfxCyFew-#ND=X>8 z?k09t?V?Y==$)NaoYQA_Gxy#zm$`RlKE4^@A|jfIXdA|fIpA|fIpA|gA( zv7EIG+`}WXcHjF=WqPD%WK;wgW^4Wbdi+axj46$0-y<~eFwb-rInU%lN(85IQGvSw zbY&-j#GwX23uoICDpjT?%0?`>@t|+E*(CQ_%lEjYu+-Id4sBIrqV$CHbtlW7_fFQ7 zRneS^-zy#mDohR{0&gud!oZj@9l+tjK$-*3e*i8q?lAzf2i{&8#c*IxJjOvp9HU*w zQLd9*2f6JVjIn3i%*kh~e#j~$E4FyDNO#KCUS8mUnb~Bq!9T}6#%5{-Y+?*2rWk&< zU=azxcnMAz{(lLWdm=H_9ggEE62cZOD28-Ncw+q+&fVyPo8wc(>t(3~e07CqS_@!+ zi0`TK9Y<3E@E+;H4_E<=d5v#&%yW=x)NmM>?JC{D{}_`zPGwb8F*tTNggc-S{ERpw z{TyBfUHe%j6Zle|423U=;aHC2V$9m)roT1MX}i0ZE)?s~orNYMrf{8UmL*`Q!G0y{ zq5v-yWyTBl_Y2L>;+!8d`8nC_O9bD$JNc&f-`E!nY1xn4_kH`DP4)FR#_52idXM5~ za0-S)2(&A$eDFDi&$8C*n_TAw5m_fW<-RTf)Mu0DYH{*cOBZ3FVqJL3BM}u?lh24p znvR5Vui!bXNtgnbwsXDJwA$JJJb$&FeL!80_SX2ZyTK0|ZvJ!fJ$xE3>olc66&8nw zb2S%ZT>gTFis#@1UqmicgtmcRe)r&FU_0L5vVvY-u*^!MYbc{*p=S)QXC zPmAFC{?m=8fpH?R+cR0D)0L!I&CbzmW@QI)im%x7jX`}szWM%;MPigH?3aXCr&y%% z(-I~;%d*29!FkT%xwHneesi^o2DhTP>sCnzNBrAOi2Tr39!`SID1eZ5)I9@;e$HbV z!CpCpdi-J)Bo&tuux$wbwW=y?WNE-)*QHE(2>=>H1;XfpJ9cZu=NUiB$MXfANov=^Q5Y^>ckw67b|S#QSZDAjW&-JEZMO9wAGbHx zyo_xUcTOZRI3<~14S?HZBWXYRF^d5Iu|{PliYQZskxJt9)T~7*d0nnn;L#2keVJ~v zU~J5hM5n}@>c2Le^X@>Sh#%~3EEUHR?swllL|LBkKxA-O;!27_Vfpjf2BvaKem@k{ zl`bWi8kqBiAOT%4rFW@FuJRopC8oaUyPG$?cgN_>oJM)Rljw-d+ErM+r^igP;lz9j zt2axm`IWXiR^Y(Q_Y8Ng_ZR#3e1_mJzAu+SL_CE{j%99YS7?t=Tz z>xs zz%J`XF@YznCJuXzKh=j=4{JBFoJ7Qbj%n4qMlbw4quaKHZ_pSTeSHK$b23aW+|49N zm1)tI+Rw-m>$80ZvlrX`DHTyL)@qewg%h}fFP0!KkP_90a_2_U;3N71fqzw{3cI1T ztqM5IWLD5Xroj$OVGV#)gyyCc6+Gx-pCtj`vCVEKdX@9wbQj#amkZ2!ScCq3eI*ypFzKI6pOG<;nrV zGHFNddE;r#7inTEZ|`v6^Y?soECA(aGN20d6D+E!7V}T8Tr2!7?F@czbH%s)hI|*} zOW(XV(H?v<&WqUNHLP-Mrv-3r59d{A*tS9BQnK#MJ<+M%NagEcFo!BBD$HVTXbgwuo0anqky!adYEiulN3OuQaRk_WpHX@sqK8H59KM`a?)7Nb?pRr$$dXP?%Lds_Iz-g zxg=G}coxAfQaKw+gf8j6!#7G zJUp5+|M=!*qw5FEh3(ZFa4=vO`EV){uM`Ni(j@XU1&)cesTq)145UrLDOhomN;bd` zO^J0`oHKwJALkdY={6Jt&vg#In;As)ac{7=b_?O(pUYFW>H~Wg1k4*y20K|B5=tFK zbjaKatFYTX*U2FTdm|M70JRoi2dL(OAJ^d&MF{}W?YSnvZ*su$kGqffqicfzY~&By zSb^;$k~^nI3YVPgi3(T3R!KQ*6Kea3pgPJ4-~!WBamxI%d=gp&DiC%<=%vyzC)_!& zEvoVcq#Go#J7Y62W*7lt`CxLn7>|Cp-{J{poV;;9V3zqg%JQ2dJoWERG#>SwWtzIB zpq%E(;T&k#-%+a7JZq7X9Fu=jw5swHf%)fY2Ci&cQkD%Qy`)0Zx%8E(RZdvP>UjYy ziE*da;CW=0zrG^+w_8u+&$s%IjeR{DczKX>2ejm@{J8P`b9FBDsB)VtT2b)IRiu6h|FnICT)_qOF>$vx~rvLZTo5Pd_ zWPV~~4iei+;sAL>B@)fJWF-3u6k;flU!PdYYJ0g=V4^+yvEVal;NMTo}p7sDiW-e)Tb_huf=t03r z;ENc@S!OwyIM|~A@M4}{`GkZs|ErDXfUUmL2~)g?t{uF^j~{<}`vI2yCp6-ZC&zPG zN%Cxz9pJiZ$!D;okzPtJz4O^U3xG6pmFO`nH9em~u8Vcl6K8@+#Y7<*;sGsIg(3ry zZcl(o19%x4DJ*93prQ*og&4aqFNax6_Cf<-hs)&0Uw=gLvv&**KNXQ`ymT z<;Eq>`YF%$lou&@w%k9TA~=xiq_d0w{I!?0y%f=Y(4Nz)nANcCrWNW`A5gzNSVKR@65KhzZ5>Vn@s8p~B40DJ*0=|2l#eYz(}sxwFF zv^brm_K~^UXtF=|IF0!l@4E87U%x;^_QNxk{|z2jV54|O?Fz`X0Y*yp1Br9pE&%@O zj3i@UrlenIJFnT=<^YorwChglVUT%6yFOQGJ&-_>=%VUz+U_eccyo)0>_6Y6ls53U z9aS4ZDwh5<%sw-nR9pucnZYGGU?@r|4=JKtiDf~GWOf7(0zAF2Bb#wiZuKR$$u}XV z{I#)4?~gbc_Pzb^4G?d`G@Qdmb&o&(@S8Uu-S=Cp=^=Ml6(m(D>Q2ze6Mm7l;O-Id zRs#)m;*r*?+)i;I9*170U#y{-65aK{gnZb(lBj`8g~4DylF?#Rs>qNr#&AxMjdfwo z&J*re05%356Ica1$MkW$P7^6|-A!uLHB~rkYB@}%j|Q{x4FM>8@tj4YGB3BioijuR zZ{%ingkkm@*1Zw>(~{~EnEap{rQLJEIVLs$W7J8DNTg zG6g*BSq}!8>?mZf)qA^h!aYU!{hyPEKwWy}a5oNpfFD`KQ(e_9BgqMj7J%&v$W{8( zhXAAiH8mokPK%21y5{8ooWm!Ko+B11GF?u! zPBJnuoK|_($3EoS<0l~@S`#4aP?6eUcg-HciU>b{b<D$43GTih7#z4o(RT8OHm~dY zS|d@J9wXzEvCjVGl3p=^b6>gAfwKn#7soF4fhw8m-qQ?7NuYa%W+?^6zjjA4O=}bQ zsq{t`Q=pc9FDk+=fAJRDQrk%L>_X z;6JYR5)xEEReh;L__3o)yE*~n!IPS~68IuEj5(IXT*Bd|J#e3UzHbnc4tTQ#w(eyn z0(*SQ!&xMZQ*a*h>YDaM0DWx+hbtOtY}UaT!d8Q0_>8Hl{P^7C_L^Imez$28!%^5f zYDjl@W;{u}G>LszGqAc?UwJssa+)N3(81`6GaL~NpvlR^l2Vg9#Gko$T5jgT6h(gj z!$zF8))9RDbWn9@hietv!(|CV;1(^T;H`C#%;2ilBnA!#@FLNINbgj7gB&HJa;lP4 zOpVB>Xk=dEC#_pfnHiLD%?$1LeIGm7F5ssFRY73atCtrfz{Znwi$Ya)ro(`P#UWXE zVt!f3sh(#EHVSn|z)Hw^lBMA==mUa{!#KA&ZLjjB7EENvS=#dMw8V>llF0qGgF;2)@@5VJr%L&#&)%&qw#++lOam z9m8ets94{emTFBaQdMW4iYnf+nsq63PT`wc(aC#KPJamxxgK=n%2Ee$+=dH{aBfLm zb4IeQ_J7N%D1!^}e45OgS?VLIHau6cU@FYMjh=KmDj4yY3}T00z%tqN9LEh6o}!5t z>Db4C;~A=*0AM&D`WiMjxTg@FHF$*87tE7>+5oVxHTa9cw&Xr%y*Boc?)kV4m!K{D zaE)Gn`1BD?)sNphOyOimMO3QKvX(psI@#fD<6&aJ9q9^W)*2)L6uMeTUb2EZnY7`{ z>z2;&vtkny#<(MPCz#P?d+70K`fK(wkmq8F0}#Rra78a%56EYn>0zbd50?TKT4suz zb65Fkq7@K?Bh_juVWrE|hg|?@zR+b^$(rdAOjZ-lag-R|;_aF@e`5LtUPM39SU$ce z*Lda#hmLzLTt))u%*&>03D1XSRi>8(qYtI+bumPh4j}?h8AxF=GmlETyspb1#alN^y3y@gEc{_pf#i z`(e-cowkhMCc6b5`@UPJ$EFhT6T*rDPi*$D{t&D%I7Ir!D+#fk#GQ;rsZun zOD-l7*`5@|6YBJIIx+Yl-}4Z^GRkF$mfn7}UnhsRxhhw%aH9>KcUEW5&LSbpGLV9L zfldQJ=%QZ$x)V1IWRTiLftkERHX~Y@*H|aqt=$}F)#U5cGOX#LHj_=*%1c)@X`{9? zA}!bW??2r;r*A{#Qb0w`Ed(@{G@HAF& zxdcfm*gJFH@QpL-r5FLY_6!IzKn{ZQh`HmhOjjJ`R_y9BuFY7(8S8DXx0x??wR4`0 z@7`*kkFRs5Z?S_5z%};P+Kuf6kxB#Gee#_`=u+dfF&3wyD!^fQ+D}M1!7iV|Syf67 zQ+5=27J~Vh;uZLhm&p>hSQEGGjE^#mT;33hG9_MAS_i}XHrw(m>mRL;XkQElHc^5- zNbut~Z$IFmX$)8G;RDC$)!5gH&ZG`}6_XGd1usOGH=M~N7EP8?uYyaq8^0^+Ov-9X zi6vx|j8V?Kqg6K;Zmx8d7r7cm$!CGNN5B^;Yy#{YFV;-wa}A4YAan%>xwIo-LKA=t z)Yk#*hWR9Jp8dOPK4#aK_{lMm#y5|Lt_~vGSF5i`8qX-`g0B+~%HsD!+nxfxx}<+< z$#5Shdiz}A`%MHkQ(?W6-GBed ztvl#GllcBcDS`=u8C426#}(MMGosu^FN>~H(#WdJ81+~g+ULTrf_zOR~KNOv{6EfRHK{rB7F;y*`r zsy#$%1r`Lj6X)CK@V#Zqhs={6SlRZA#SYf8jylZ&yjcM6I%4Lf0cYl178*892IOQ) zV-&N%de+9&-fX%!MoRxW+w0eG{)ajslz zJH2puaIa!&4*0jN&g`vO|ChO^9XpY`K3`kfXJxzVj7_X2F$ny8l1U*bU>6K-9$YNN zm%27TP2$kkXlT-^ull5GjNP1#-3$TC?D@`Huc86_ANJVSher(1zIn*xr4_=7+a#^3 zQdD*sic|P|Pl(g>IU;G2I2n$Z!)7M5t*}%0IFU~ujjq}C*J-RjkAsAbqOLD^c#~2m4}KuS9|bSA)mGs32gcWU z*Gkm8ypNH-cykj@8xKX6QyElwbO|FTx^(u0(`WHIPr>gOS^zODj!7?uRZ_dxzNwXU z_FA-X*S@h{*P|Vch1sl)y#PQyqe+u%hgKFKeGWEk4GZwk>=eq&A`KaG&IO$D0jxPe zN%z^nnJtdc8jh5hx}9A&5bW4T*V&3H5ix&rtuXlUkV-0ZVJE6+WPv&eZAy}oUTVbw zz7F&R-~}8Q*sODOY4k8^K#=E7Pp#;XQrN{)mS(Ih=ryM6e^n1sVo0}0d)UQo`?);0 z-L+!Q4lhBQ7I2omAw*b?V)QusmVJ!Aln?o_->bmxbnqT>@dY2A^~E~&zi+rWrJwtQ+MZWs_Sv7A z9#X??_qg5zMtrvQG^l1?r$eO!KainZfWg>a*Rg6^L!;`Z1n{q?+6e&(EF~ZZ;$$1}4Ee7VN9W&+k?UtE%ZUx>deVhcTlR|yjh_`w!P_7TqST~;BO9=Ggl4V-; zd?M#wWAe;!e^x!+ucvfoyMREj^8isp{%+d_6yAlpv_nlxGo{_ofMt4LjQa!L!DG^$XUGTKB*E< zf*-jwW$7f~!}ods{zZVV{yKNRc_pmdraDANPnOS9t57irGxy45?w#r4nF83Oso#l@ zEYi9$~plxr`QL$T+9!(W8lYG4lF&#H&U z#He2MB5!wLVpgUj(mYXoX?0|u`N@Cs?FJxMO88}zCf2pZZ2t7#`)&~YtNyA7rY=<3 z=OC78xJE~7T{6LPzhuc;9ShConQ%r!1|CbUQIWaIOKdZ9*|v;!~AtN ze=F$47)`GH&>k-%%}~Ctr+F0nd1!Jry~$lw*kka%-07VC_>fU2;dQ zfnBp42nq2ezwX`VdWyT}^)kZu)Beat(pRWb1a?1H6%MZiiczyF*0~Nt)WpEbls%ZP zE2XpAPbJ5e>MH4SUk*g5Ex#J?u@j^GM$8ZXb}uq`G$hp&GVY2&@Y&76e%j70Y=#kd zU=+apsz5IlvDn-IkWA-F7I5=Th}JV8DAN&Mor#Lb0?t$P!k=hc%8|eU3B(3mR&5DAZ~x z-o|!2Id4nuZbyP-E0mPeN&$Mh4Q*xpBGQ;u91C=6|m)I z^s_8-rC(GvU30-z(3zUHN5eYr+~mo*W9?u;Iqr`$h|fPgPuC}^V2?q(z8 zgET#GZ(r(y0Rq@+c&;d*v8^zv(vU1qnIjrFlI`cwuB&w^gE}aWzT%N;WrA&AIXJPI zEIQNh_1)E8&-*?=EyBOYov_zgVz~Dk{F&dpeZKb}!JXlOJndEGq6w5pZBG1B4rdoA zI`wH1dH$Jud0J8tX-b59u9_?qVd^B8HWrbeof0qSq5s8dB_@`trUr7^bi}no*uX_Q zxlfs>gGyX$ZROr4eXE`Rr5de6!x9dlI6qA5U@Tkm83mesGOi=`Kc{7Z!ZD%HA*@9& z$flJ>7Sr3xHe_cWxH*A$-+nU!HYJtsR<3V%E6`pi)j(8Xy;I$lH6`%f%VWl+$4j73 zm0TMs?WC20m`W4decsMSWo+}={j!52Jt8GkY&@Q8J*Z1(_A*)o$TUU|1QHzd4I{3j^xm@=xO4OPhEUIClBJx|y0w`Hd}@q{N4zf?(dcBT2h`Sd{51xTD9#tJO4rQj%71=jfG{m9^2&snPBa@8@{Vi-tK(y)Xl zp-Wovx&+JVVbk6h%cwb7rk^f;;BXDU*?jlM`_%I{uT#%PoX;tQ=T9c7a<{J-m`ZxRcb#LjHZ{8a7 z`FvOot_&i_O~RH6AJ|^vu5qc5tE9JMQ-nqFR4*OspT-XF1?HsS_%H{fc-4kGL$en) z{f@^?k#fuPJ)muUz;L@s3;(c{1|Ya0sNwzaojo7Crzr*hn-nN6DdBnmKQ2?=>Tc3u zLg>^@G}V>e3vifmQlEf&$T3Q%0x0HeSvzC||~iTcb>n5?LFvA`G8w{2r5MC6*S z-62imLM$ElVm(!WB2rl;Wm-mr=fK&)S7n6)=OIgsYpBu++ER44M?99K=S4ow+Fomg69}qYNB(bKzNcS4`^cVV+F_?DfmFL6J z%`kA*E!cnBVAC}mq^2^_s!8m*L?{2kP3&dkFVB_eSmXNUfMff*gLmOhcJiObT!@V-qlD9K(LxVqD+vwVbagg>7Pp_k8jl785?ic^;&G62`hyy7B=XD{P1( z6NxV4_1($)?9swiZb33Ed<8>2=LB$_Jps(YFG?;0NvaCp8JmqU9?Z}F`g%T`tKI>s z!QKQ9931!Z@Z;NEXxVNL#R}kql_^#U!4J#}DzifS6($0vKAva$oCP9C;auqDGU_(+ zqcl|5%mn5~T|74wvB!?hDw;8zYQs4&C+A*c^?`|?aq9x#}8X!-O zCBDGgF%Ne+Q)*9=q1HkG_$xQLSJW_|@ciEG&u=dtCLgaeBMzoLa7cOCQc@zdjJ@O{q}UY5|}e3@%5d%!x@ zlBS;LCmxklEP6hLD|Yv1ud-zt!QOP5o=5 zRerNqXil%jebSEcxJ#N!2u+Ag{98ee)>nnf%_|w}fvVXU!Y`@Yi z*aWdYZn~w9&KWz8Ts^0K#d$^Qwdbfblz`XQS*D1UyA>b;IP6o2JyyJoV|@lAG#v}v zJ@Sh+6E__OsbrpVDbvm*=}`ld5(amZ6)Z~RHSSyNoDbLYr&p_a_#xYnY=0_1u1d3!_maz!4 zv`Ayx1S~J4x8f`pJs2J4lDK{WW(D@bRtLyUzm@l*!_O#Fm`MEH)2}xVfC4KT6R=HA z`V#YrPN~)a9{8{ZCmv#L7Jw}hYXvwg)|D79Gmrrn9&>JO{WKfiJDPfnTSe3#Xotc& zla>P4rFK_m87bBY2c}@WzB2K8ER$`Q{p9 zzUPaZSo|I>lt*i=VXp@m>>vfe`(?(EhY5SQlC#gfQpb?-)gtt=31||FqOO*`T&IRS zE6HxLQ+P7*NnyM+OcxIpBU}T~wfClFo$s)U6vooC5 zEX4rja_I|dC%KH{08Ff4MG3!XCP?_?5p_2Fn;Aa(XRkAgpEkSnQk|p1sWkY|lFx%3 zYtO~MV^o2DE^P)7nBtkmHYrKm%e+Rv+N{y+m(b{V?l~h9FT(7AQNq22dEfl- z2?M015`K-;Cyl!bD6VCuMwr(r6qmr~q4r3ZCzXFFP#PFv{Tk=pwI(##VRV zwKbM4QGx)fguCBnU|sj?RipT;Relk#ldxA!R(^b{Nxu%T1}lodR%>=d0fJ>;PpmtI z!{}k|am!aArb%w|z1}>crP}2LujN)p9C!Tq36qJZMW;blGvLZ4IWwT2Q#_2dH|QZz zCZSQDl1tH+SQ?Kh?~0TpUehR+S)81J4oX4NeIj*R`KVQaHDaS8f^*B`j_juF~-JqOc?gj0QK*m zC2_8btal|=nean90dscoluQ$Fg6on4XmagZ(}BB5!(mG>fvl$!Pkm31y#NoO8~CySPgsK~dJ+Q16R)v$)t(s(RowF>#^r#_FLj?)<!<`rljNu*uSi4di$mvn8~a={R>Udo0HfMXG4 zSI1%3hT8SoH>DVsh?w;}Z)9^ED%gkh%BZezvzXa##;;U&vnYP!{QS+)JoYJdL?wt}?q+2N^|W zPwHqHwCdKO!)x(P%~)yp{y*+Xbo#46$iql{8zr@*>8&MutGtm5hZUbh1%8by5J5E zNaG@bs_1Jt z3Um!DTLWS9!!aCq7-wVwPD3K!+j{hmW(^T*IHq#R%on;=2W$$FFAU)}G1ZLEteyGd zR_JeSs@$_51!rJ|oTqE3ii(v5$&~^g7)v77VvSH4tcfR@PQ+d*|}wtNDUPPVg1V8V`K!VTsPfPcqq-$`8OoB;lwu^|5gX)1C3>*$#DrJq)e% z!ji_bo{|j3(<^XqnMp6|4%|Yt>4PSQxBsQF4BwmKCwKr&uI}14jX?T%?Hj?0P6vk# zB(cJ}=!}RNV*`H6VFv|KqVfpNU&8D{iDATw3OxXqcRYu>J}u+5SxUJCF30+Ru!}+t zD5cSfrtIKT98RKR;+5F9_7D5iqx+dPSh0TkJMyE6_&+|2ahiTbGuHvZj0tMn086(c z2-xs!Q#YfzpCo7ZtfK}+`GQKp)*;vc9b*?Z7+ufiBwv@a9$lQnB}*NHGlwPPUO+YQ z#vZHdI|>+(^jwvCY3~Z``=|c5SywBj1}Ii>=1~hULFMj4A}Uvs`%M z1i*K~pu+jFDJ6iIc}f;NU;NmSzzYG<1M6cfBPGy6V655$%SV{+^CC?Hzi8GWNyXYV zii3RwKbU1n%++4+yyclN=K9a~nKhHf-lpOH^z+|>XWOfcA6`V~-vVPHT@*;)w{vv- zz%}zV%vruDeEO8zKsnazuw0tZUc#yedRi4M^H(d=^RdoQf>(A0kCFl~a#^-jQB-Rq zm1aHmA@{g15uKZ5KfU#(>%%iFz>VRPVKQw zGAoQdfEnrR4ECBM6tat4apnt=UkVblRHnsI%(DPGH?N`wH{ln#SNSPv(^4j?+;~>7 zpW%16{_xlRr$Axf-aR>3H*7_PLy5WDzEvF-a3+9t;Teid9Re;Cs~w4)K*EE<=?tU* zmz(MIi-kqjz^D5uoBAvTvRO3dnR$C3@Kt&4KPvUX?eC<*^NF=F+EB+8NtuSz)aVN5 zV(AQAXd7o`bMk;tV>;J#A_EKu0!{Ku@5I1O2kiXG-~weq7ZaPyfm17!6TC(!wyQDa zSEyLNO=`v$ma*n`PCvJtB-DsuN89VfBE~=WQXa$Vb8wJPbbA?_x%psZwSRkmwjUmU z0qR+AZ$rnx;FVDT?!@jdGj%MmFx=-^ymFQ0jG(_D%w{O`v+`rfwi#R(ixvR&aL%4H z78u3?`Z=}h+}`zF{;Bojo~?a+PJ(Wb`I>PuVYDB%=B_>GbUY^^S=6Oe*e&3pX&lB# z&ONP7Xevs<>1a4nK)h)Jh&s|Vj%%deC<;ijf@+{7K*0N^6oRWhgKY`EQ&ejp$yw0U z>`&Ym<(`+^&&gJoeLXMNF1x#5TkS2p;IOokz!`w!0@M{1oTTYO3jk(Cq%#~gwlkwz zl^sW=a8OaJxY{NU!W&s}1)mk@!pmZsb(P13cKUV!@;d*s}8R_2Oou)Ol*4qvQP#vYd>4)s)eAuyoOr`fW|MIxz` zOP-ddCsDyVF~G#XevYZ#nT`*4zc9#VtHZE%u$R(;MoB=UxR#Bq6_J6jEda?%JXLw_ z2{*y9;7*ONCviMWX&sC{UU7==VnMI7LKu2`e+`TmtVoMMCh28VGlnNZ6CaLNEq`z0EMJw5^K=9E=_a+XFwR3-Oz3!{IN2)*F<}DediZgVB*e9d9RKP3zkaV%E zZ3|X5qHS_kZXD~eEp_f8C65Sd^>IuJe6fh4nf7t!2N2OhbKg&TGk7V^iAW`m=9clb z7fYQoV>5r;>X|;`9sdQnCN3=J+O+&0uWCC~U^#2|3>of?K;tj>1r&bGiyv*IZP1|O192pyr#Lf!Tp_T+chX`HVz z)^J|m8HEXxvL>G%e`P;@a#G;DP8$cxWUZsfy@-sJ6L>`n=N2gf-x4<5Q?WFt7JmrN zEkJn>FplKTtmQC>Y0GE$I9upMO&;u5`*fi_(|H#u!i9zLj6`RY?*QLLd`n3hQRa{muBw7-(K0*W+-l=epm?z zp#6ifR&9m>iNZLew4G_U+6Tab3?4_cw1HH_tofR3nGyqLSBr2)Lo>rn_C|4qh zWyiMLb(bYgIXA<#@Yzw=JJ{3rH+xp_@wpGnV5NT}TPM~dx`J=szMQE}tiYGpfK|~9 zXq0S|oED|blaZ83lBLXZyytpzx2{~>tgRL~l{uXlj|*8aRD#p(7-K3?lI*T1ebY&h zrYHXe622+pgM)m3o5}ndFoD;Uqzrt33ifcB^Fkq5cN-kY6Vh}Y?4dAQtH|TnPtyn| zXdWv{;n|9*eHxr7%a9U+&o~!c@Lq&)cu{!JjY%#{tRytJ<*%#ZCUz-r&rszI5Pdv^=!13<+SR8vc`Y zy|Stb%VSJDFgVla_LKpL!t!5yAz#00fm~<4{L|)xc0c`cthzaTMz!YJAM<#`=hPgU zbs_^}UCMl!2A4^dB^kBVVicc@B)Ux3ce*=yqF-G=4y`W%(VnsIO4xJ1Hq$h%YC^+w zuqUuf!CuGxXZJk@&eqoTJFHl60;jt~5|KeH53#(=Cx49usXiytp%-8Q=$daBmF}^f z+pO5Ts>iR0*cQ^>6#x>2x-ZdG7o{R>ooNo7m&bM&2somCE3k0Lr;UR90rGk#t!|EO z(}-yp^STmwDq2lZaI64wTfz|rjAS%)+%JL2A%3v_&BXAp*@GJmyY^F}u+4Mz`F%6H zVQFyEA0NO~wthJ945&U0a7ZDgO}9+hGQ_@S9%0^DxZc_wEuCdD#-RBZOJ##QEcsZw zx;>pGr7^PKoMu^|c*`Og=Q*rzTyVE6E|bvURr_#Z31(3z-B6J)<5nvin>GHky-)7l zvkDz9ICkQ@#~=UA-c0w=BV)B@6=5ht5m)C`(s@ov(4+R(F&-`z&g^kA+pRecU4Wg^ zlu0*~sxSKvejeDDV`y^wn*z~Y$Nvf4)L)RzJplC41tu~50Nfy}!bxO2<)`ygcu1b= z!=SrW)}!t+;QTJQu@akvYio1C-!!u))T_FNU-a27`33JN$~J22eFEV1Gxf^$U6=Tr9&OY zGgzq;^D{6fs)38afz{_pj+l~glcI5IDD)(f%z>pZU&`b~pLqWsSrK zBOB*@#A5#M-~3=gfMoUp6?(u-;HF6wV^U_)DkE{HN?|9QYL_k*ir<{=ysC~}k_5Tg z?XW*3&v-`5W~8iK2S8w7EIe)9r89Y9)am4=qUyu5>waT8LVy z4xn}6`%gTlq9|+d15^o7=26T>%hX10@tMEf_cd0)Zzu!1%AZAu_dGQUA-;cjK#gbtH5tFO~)V=Ea>YL7!0X9&6S2wDi7YD861IZSEY)X5hLoT;g05L*le< zRiC}4^~aQZGE3Zx4E?(ExGm2sJCk#s(ljTnzvdnsDVpVZ4!|-=1OU9Q)uE^q*OSX# zF)U&nD^>F-WqG^;D5)jE{8=7bn{EZ3<*TmUt_}AIAL!0SZ&>8#8zptlPB}cePPuxe zjGYK;1J=1FWvppe;}n#0zGC`vigVVSB3(%d4?kjJ0U$tC0d5NA+GnxArMKqU1_tB$ z@Kk@;dvSKQ{-P`3dj#Q|Rt;==!~w{gjn2W@nE-MWeuzB+N}&{w#oNVmfsquh9(XdA3GrN|w4{GeDw*sgCBImPOiLT+FRHc4_)(x1Phlyvr&4LQ>ap zv5(HA?!Q=vdR?}17ZbO~o^I>pu9YAWeE4GFZ$T`v)gx^hGL7NlyT%|I`Q0bKf1#gZ z@8W}CY_m)3Ogarhkuz48eX0{GB=gi5bGH&TIXf<3lR&JKXiHY+RWX!;1VE^*IN^Dk zICLE`XF};AZlYrcEXU3YXB+&(yY*i@gYB;ME#{hDlqDJ1Xg0Y@~BU|UjC zWtTYl1yf52Kn}*7i~?BTpIcJz{J4Pc?cMnKyE}G{;w8_*2k#6~#$kR=>C8zqBn1$x z!V52TFSQFzW`Rx$cWt|8jK2LV9);>=}oB_=1)>4vmouht~a%s7YWVvfP z;yki%O|6F+jrlBU{c#^ai;|yY<84SbAAkGv!=rx#s>6Vd*Ix3)!pJtU)?(2!an~>m z0fmk(!B)LNmc;is_?&LWXl~XPGLv~09ZO#XnTT~NG)g`X2sUy>&VZ-{pIe>iv2)w0 zV!TwceXhwwEQB!(Jhvv!_{LoD@x4iV6NDW%(S6I5m)qcA5-i_%Quev@0U5=qHbwV! zMjB!zf$|ew9xS~KtgUf!;DSMpMKd=Er$Us(niQMzqKpL9J=YD`ywTe16~>ux&f3?L zG+zm~?b8`dcn>$w;ans#p|-5kbi@(vY2ZpfR}GzkG!&g^?KEE}yI#}NmJW!+MyzZd zd@pID8QhYMdagYJ#xuB3-mEF1n|;Hc=<<}q>HSA*SB`#nJ1d{InW9%Veow}6p5{Sr zL$N(|k(k9m-SN=@|AVGxV$91+ifzGVu{Ni?7D~5OMPdccT$Ke-zE=7wfOQsmmVpmP zy+R6D;(6xjKWwM>?JETa^6{0j_l=j^;~{;jw?I@+;>&z}w|44mvqa{l&-2iAb>QnW z*jFE5PkTPa7ubSb*R3;r&@=)6sj(Lmv+^mHye1~0ZIi{+Q(#T)f4?!u=dl0lrMk`E zHvOs}HaRz7$=I}Nk65#qrHQ~94Jf!Zf@c8N)ECstiX3Y_7}XTWLRLwzw$&F(GAo1-(^Rl&vl(aO$D$jr|K}U8{}1Xw?pGaF z{FBWO^V$QGKYIX8K(fC87D$FPwp|i^Q>IS>*xurUVr$ZO=Pv-!9J{ zDNga)3*w&F0p){c+6V$PKmpnG1mobhx4!t)^w}IuzW;ao+J3*!$9W;lXEw&QR_Uj$ zVgZ@teJ1h5GM%k+LIyJP9QL7B0BSOivM8FqSRt{NuJedjD?Sa16#(*dLMRCUBk@GV ze05Q66BsNjQxUCYJw$OF=(Fj|@dMI(E-xf}016Uz;_PKK)_v~<2>{%F376iFzF2iu z?{UW3=vCiT;$feE_Yn@L|NW0wExy0T9Jhf2zB6cs6@K97Bls@5&_kX9-tj}}#YvUu zM55yaNPw!KIzIyjYT-yy()mNnnUe~#>k^~CM4kBmVg2tL|G=)AkKf$F!uErydD)D; zV_YP5nqcwmU9{7D-k8~2_1!@vc|mX{#MuaUyJ40JD&xS9v7eJj~9JmEG+_Vu192b?*0KEt>euEimRWB0t(}qxYeF!khuNm>+0m4ee1Qs|KrOvjp zC=!PuR>w2Bgvd_Yq^Yj;z3E=x`wvF_>pEj;L#H>e{JryHTNz!zYZ&zuFgS?CWwy_z zbi|jrl(JtaxY}H>!e?dV52zYa4(lSgiPr#RO^V!@c%fOS>TD2mBL+;1GQ4I#B8wh6 zjH0K6mEb@t1$*Dx^YwqSbH%UfLO=XM^cg_ho!!CWeUvIpQH66DbypA-+QounJu+d| zKEWoaAr*DYM{irrXmXD;KSD9SMN^CSpMm9*0J%RFa1&R86!r!uK)aMwCm zeBn*xtVRZ;Co0oAWvng0(q-Hthpo5$56&Gq2)oyl>EkpaBiPTWr(c*mQW)(F?CbpN zo95_C>Vj8)pNwz{%%q;Tnsy(UTB;k^{`J9hMjMsalkex*rb=#@ipa}u4OYJ>>`?~< z`yES@pWo(;?6$z<=5Jc-KW~|=`z%O%keJjA+Rrmka=0Zw!e(xiowmhuTSg#8O<~Od zldl}GY`-Ry+70l@aPzmJ$;WfkpZ!;GD*oGcF1ElMEWo`1#k)Vg|Bw1yP8K*DfWX=d z28qFRpG0vIOkL58Ix2ZjTUf2wj%hs;AA5-aVr!m|Y$_>bU^hypRHj|`6t)vq6LYwB zfUItiXBzkoQ$>>26_ruI_$?m;W(aw1VHkD3_Ue^2)s;1V-h9I*_6Am z)Ox^c5T?eSntrQ)w0>*)gbWfh`~TtNYY29YI=_ZA0BD3A0N~GPCRkjr0B7eo^@}Li z63h9>unt?MVj%R=Uf&&yWl5tVp$Sg@ZUA;Ay%}wv9u_#v<2bI}Hnbjf1!Gfx{;R$B z;YB~db34Fx>BnnRz^s!vsYOv$C2TPrHWNVQPA>@&UZ^5p=NP87HRIE?wJ*b1p<9UN0FF!SWJh04L#ge^~{MacLiIeMmc^V(hU&iphiXxdZ2 zZ?LqmO|S<>FIACexhg73EL7hK#}H6(DX`8rsg;oBML8ijI6Tfkz5{Tp)^^6QZaKbX z;5MIn&5XYP`sTM<3g^}4K3F(R<1#u6Z%Pt@2Tgn$;y7Up!LOAopp2Mx^8=t(=4Q1E76N}_Px}!IOKMKJ?FW| z0A!l=E6r?T%oYAAFo(yDMZSCd8?tZopMH4%^}AP-Xyp?fur)E0082@~y@ky{rv0;$ zU-&`6=EXo_q`@DFDC(rD)1ht0UwF4tp@FQCbkB=yvrGQ`W*P8g?0LMcT6-e`AKu;^ z?k9|>0tlid&U=s2w$1>XqL5HDsLdd3uT%8I!1@Ens%e0;gmhAuf@DtEu1f>IH>?`& zv7JBN`v&hS#;!S0!$@#{Z$k-(B(%?l?N1^4MN_<3fbj-g+^Y_Y@UvFaQ;`=Mj3g0h zvIfhdbb*5tnhORqi;2&hh7#R11;5)f2U{(`bHmbUFEZZq2S3{VfosnN_$${)lB&^N zPDHQI14iwzfT1tC8Q`twui>RGOD84ET$eM6KR2Yd7uB&|UhC2`;KQlmmw&zI^6-cJ z13}F?aK{D_{&?2{{_yzykG82aQRF-_%;PBDezE9C#HL$aQZCn6VvSLmI)z@wmK&wG zRQ2T`iv;MQEQ7=c^gYUawHUMeFcid^+F37af}0_Z~POtMrz=ndg|97*BSHS<9Yp2kra)0_WxV&vp!7oag zZ54@5499p-CGV;#>xWL~00jH4CyDg!=`x0qTLKAG1r4Jh4-)LeTV$4{y#SuWy;GiG zWSiv~6}%{@NYXsgJj}r@`sWgh%Z;7KCPiCmi%e-G%0=w`3YpPb@NbnCTLsjuKJgmc z{t8I+hs4CcLOcE30$lY0x&~VuY9QfdxxPF37dpvF!f&7lSm7Wya|$-W+n+nKlF<5O z-MXJ2zm5@Zk}W3xax^iHx6ko{L3x24WfWyr!JH3C;?p?ZEkJx1dN2V&_ znNrTVW}?z<>k9A-Tdzf8;sDWA)9TIR*B0%QVF4yb)ae2|iQl8PNjrcs>nTZFoEV8| z0kIYUO~oK|RjHOF*qEv7j`t*kPohyr-S5D}RNicy@>Rb5d*`mWazM^sPM)}Ig=AO0Qe^zgYB#`)GdZgZQyfBVfFQ~mPI6)4`P zmVUxVr@)HzXH?ARnyW&??urG|zKU~Nr@{}iq=@WEcmd6dIDtJ^9@PL#Nwc*aIo$G~ z-7glefdp7~zK*iQ{h0rGj2+D#<#&V9~%%iPtI_QWz_NRNz;J@Eb>V2!dt?VcW zE1dZFbfyO%XBxuGy=i$K!8k;;luE#_HP5MCVLBXsmTPjc1?=g+x^;1G)a>nRX#$it z|JgBNwB!B}yG{<2Wwb!if!g!!ns*a%6I9^Vqb^fI8B=x92|cZV4_h(|tyU4*p6v>q zT>8-NoFQjr&fqY>;bbE(Vwp;r$cQw8QnB`VO;sA@BU3cY^`!P0<#f-@Is5dbJ=*wo z*Mj}3s0~=!RibqQF5~Ig#VqpDV?7%mh0YREFrAUXhqHh&MsUMmMWi0FI3?9Ml!*8; z-)rO9uHpDwgD&>!Dx)CzQh(~cnaDtoNAmFa2`6%MmLg#cz^n!y=V=yDAVy~`ur~l$ zt<*KP<60z+GGg@pb>xxwM7a`G%HenblNvqgve_J1G4c+!nAZz1aZRt~Jez#lR+spf zx9GU_qW|fx`ui72x#GID5c<+0S+esC&`_F>!1aExWEVN zI$Iv&B_H?5EEtH7-`>@wz5DR)xfXWwqBkYbpSKU>)8oSyS+f=C&gyKZYvrOSbLHFP zI8CWYB0mLqHnEzMGY9z3Jr_O}?penGUT9oqF^lqJpQULgz$R6qf+I^aQ!rUBV?tuW z@gIO(%~jPGWl|PfuA$hq47N^`@atUl9wYqjrcVFU+ifJvr%h4rlPzt_h^CY23ELQbNwCMr%hxtR3m2u1sNPHUTE|?Y++bZ2ilo&}J$*?+g965nU#O|K`)4}N~Kj)fg2*t6@S?r;D=ppz4hng^E(CK(P! z$#V)&xj+Gx9Oq<7?Mf}AY)G-D;5M-L0^5-0IBg1A0_@IqJ>7#canQ(gnW1{_X&()Y zf!kA4W+IyO9Co#mZ4E2}YzXjSptvEoBWI2-**b->8CG%x+b;LH>#ku>zxg_f{pdWJ zZ;y2daC`QT59Z?m;US!f)F_Y5cz1P;+F_&J)_GlWLgDEInXmk`rGX0a6UE`*Gj8)p z4~-z6t^^pgoMeEk0ew5sG=;<(-FXh-@xb+&c^YchMZ#+8(As8QVczBarXldt7UTR0 zb9BFc_Z|7#bEYz~Ggi?G=Y#?k=)$?li!cP#MP;VFb4lDBP8!RIA{;dv+#G0NlWVbN znT_%GQnV}zeG#)F6;T$!0iivBp%RXPC{!jgR*Z!xqXJGV$9_KB0>5c5CvN?b^`EV~ zsh$>gz>r=}sQFu8YTX4hRY{MP+(i{3p4A&d{aw}+#A zvZ`IIG1ly%4^1Rg{mewo{z%Rx!>vNznBVSg!C;i zeaEvBBn}G^M*+AdAO;%aTWZr`y^PvbXL+WB69<T0}M1*0U=V?~75yyFb zaX6`@QBjT6V0re%s>*7{X5)-qYs{|wqgU;pXSpU+;=5@$p$oM+0nlnu`iU z1n7@aBs<0=UOK{!2#HbJuBB!V@O8UZ|E8@itfT3y`TyRsb@!F#8_WFR!_MBXmF91+ zU%7qZUz6KcqL%6XR~~(gd=_@*u2qmIo|i&pfhW8?Q(vs}qWhTm6ZJLswya_ll|T)c z-MMQ~HZqr0S_h#geVVm;S@?*zMFX9A1dhK9rm^%&y#)Dk}4QpaVcG=IY)L&nqBC0DnHsqqnnVn&=RyvMVo3^#NpLyr#-!g=ehF7 zyv%~W>SQ%fVK4mwV7@n%nt^7cFU~G(ngIaET7~war*dLg7LLOul~LG|aF9AcuGs5H zvQQ_4!5#_~30VqMB0zf20cJ1}CsYbRf~k;Mk}%j-ICN!X6!ufG#Y3o>!}xZyGw=3n z%!bI{Y>FI@dqnQh7KaYLnWraGes00O%-}qLz?g~0rhxAh0E1aAUE{0?fKJh8Mt}q1 z0nj1V@L2Hk5Qhckss1m=1u$gBCgdb5|!juDS%`3kn*P>!>Uy1u#?5Cdy@coN>5&6sLI1YT_@Z`?$^<)IcK*%935*9Yw*yJQHIp@>Spj zNrC!NNl)z-5JSBH`s-xX=m?9GT=)Qfa?|%>H@(N}j{O5Vg@|nc#XqN*U$#m)Gq$re zML%9+0<)HsWD}=pUJ#d{T7PpcZKYOMUCY}1)xEyc z&H!@G7m>zJuB&Tx+vW$Vo%8;c_4i;!{^g2M_RRFpSLKmilZ3oVr(WT}(GNX4ya1a< zvGvFga4QC(NmMtbR`%KTZMMX@&tke#DQ_7HmKSAE=UyBF=V*#JPW`eN$}G8zm$AhF zE!DL%>Y3|8SoT5fnEua9vQ#11=oF~DkM!DpfXV(=S<9LU4S<} z*LBgra_OZ!Yw#wrUMg_wmqn|&Y;2dPGkpCzwPLic`ag&MI&0g6*>`0k{BeIyzCRRc zH4<4!Q6!}z{we2KIEbhGpw27Pl+nqdq%&v1^o)Ry|ITF1KfsyzhifIov$^IOlcLXqUw1gG#Dr15vG86uzagKu?>!whIirq+G1`WH&rd0{J1GpeIWZMw|!?M zwqWnst)P*Jl2$2&hh*_EjompyMDc8bYqD+IiXQ#Cj;a#H7PYSjY(nFLfNKbq`Q&=G z7nEMCk*99+>I=hB|I59t#L?)FA0Iy4>cmZ#4nCLZR#Ji`EJL}bU~8}-y7041_*lp$Tg8APbo} zhXc{sJ-A<0UIDlna@Qtf+OMl*BgQ zT_1^`LhwWXWvk1?DLm%H(w6SEiYN`i3k$`|(EPp6 z%c5v`d5zK5ruN~{#AsjEKD;+FMc?0Kir{qr@Zt4*_Gba?2P!WGu!kU&F|49+NeX@_ zCw10(Q5t7)92cFV1}~SvS$f&r#r8SR{4mI(W2HwSNsuLB4rVpTF12p>YyCX->6!zOt83K~X-A^*fm{PLgTN%y;qeMyjFihy0B4-LTJbH~{KLna&%$W)aVSYx z07(YNT6TQ2xl$$I7>4tRtVUJ!0;V{L%M3u4T^5mwic3}{xdM<@tE#BnQulLyDs|Qg zVv*hrH61BAPt{l^3H1e#@=y!u#aXIT3<`>KJw!uuj`RYqtcCsMiKx!9#GGAjYJdV0 zk9nR-dDAI>&Q5F@i8qfp@-vqbJNXk53zKcIR(SZj?NJut6#U+&^fZ3t6wuG_5B95yCE zW|E|FlC$40`O(#GwaU~<`;{)sUgscgv!wPanCE#?FT0ptPSYX-n4ice{gZOiI!Q_K zxp&Ulx+H-L5@)zoY98A(4l^p_uohC*4HJ=MYq17tY7a&z{XfB3j&5^#-rur7TP^cd zE$TWK1zhF*``Zf<#D1j@UirD9BoPf?c~z09;q_%OZyFNUVE#%(=d;~4ZK=j1yJSK* z)paNe(oMb98Y1m9gA>fl$|osVFFM{~p2&85yW4ZOzq&)?lj zAv;^Q8W^?DDtWwiD4d>e@$fQ!{P5im+mrbA;k#G$CvWy*KnC!^POGY45r-lIHj0HpkU*?Q#2@+_YBZk%CS6 z)?^FtI6dNw@Qv=76}?H-{jd#>1Jo5xjs?%Gs2fbfry|6}bqIhjG}CZMii1AlsHt>+ zR2){TbfY|t`X!dBhr`hqSi&hTX@c-ALN0WjpZurh++$81`R7OXxew`^?U`*K%~QQ) zs^8rI(_v5%iOCs9OVw{HjG+kYozGDwS2xi?Bu!peWQ`sZi}>sl`arCY)s2h+u$!H~!N#7%Mcn0y9&^ zkfK}v=XC(})q-3H$2>ZG0@i#0$KQh848#ENRI5dZ3y!4L@{s9f9d(v1gcHwRfIp?! z_}-Y&#fip1P_hC;z)v;XnZcP|cxGP4C64c|s=6QVYM4Imu;0X|e6s0@{rT0ro#u4X zqa8N$Jg$}PKShA0>Ta5Z?G00Cdn6eJY&=qqr&5G|EA%Wh5N83u(fhcfcF$ssFyVl& zt5Li4$e`W&;bo>B^V=U^1<$}8>|Kbc4q+?XlBVUb(31}+qIB0#JU{@EM*X)5Zzj-oWVW}OfPS;Tm64B`Sw@(XSazsTYT)7{%sFG z9@->HOOHpv7t3R;|Fp()67%Zr4;zq2=+F=P8Jkx2fHTjdP?i8lZjbr#5f*-#%Rf^x; z*PCEW156HJa^GJo$BK#d)Q&Q=8(o|MK1K?_gKkuz(~PtcZ2NHt6D|)!&H$3v!Uu;n zozG$^D{Kd!1z08cTb|{Owdp@@-1FUjBJL_F9uBwJTaV7`*?I5xh6cMM3z$(duZv5< zA@8xJw@L}8I;2OyYP`sO#(;8}xRykib*wW=GZE2}^FrpFHadcJGA&ezt+)zd$@LRK={{Hn@*z=d>B0p|DQlHQ_?W^^W zWf=}QEuu>;cuCHK8b@+o={$JI4b8aKQ}p|B3$Y*bl>!6EQR83%`^KddwGg#Vw8w|N zhbA)`YyatPh3@LS?sxl7pY~q9yTk@+5&JL%suW@`oU1{dX-sE`u@9BTf`Q0QA~pr$>=$Ml4i3*o?NRO8Vylxu32QF&$WcyZ z^h8BG*6-|?nsXR&(Z#WepmU>Sk@V-iju7|5xdg8K-hysY;Lg?8dn0Gt$ zM(fVh=HWKEYpCB-YepE!sbas=oTNDe9$Tb-aBkd@frCi=S{E`(?u=)fchrmTddLR9XG}agU)H^Fi*c+@?Kk_jc?l&orA8erbv4tpgF;yz=d( z6Lm4INf?d^w9P23DGQ!G<+|_^Qvr^o##!?5cBjb`L`u+P=DE z3MX5TavI9^i#6w+9y8!^he(HJ_6{n)m$U?QITM~|I#gZRbt#_;U=$K%#w1QNMxB)0 z)JXr%`k$@;$9)#eJZfCG1>>ub2x^pjoL!M3dL#{4d znSfXl>HvxSg3<%2q?t#HWF3c+H>`7VB})#bTeEp0CGd`d=}I-$t%5l7So3_y5R(JZ|c-!zL7QXK`Ag?>VZbq|3xqY-% zShSXY9hvZ5C2K;o0IL-#uwc}$R+N80EAO)+beAd>*aBjzP1MIQM z^E2Sj1zCl8c?Wm%fZNNu&b<=m`EC)sKTuKZ><{yho5=~-ZGqdUT5CH6&|8kU{Y}>~ zD*>GVNI-pSgbJpbsxm+8Y_v-Y>#x8I{_e*69u1>@_uo{IXoeX-;O1 zv%_6tp+eyV_uuQ9l57A+mkdh?41p1uR(^mrr3oARyfM;tX-dkj9kWEY_Q)blqqsR0 zW#~1$EmR3Obl{w|yaIZ7iKLsvWzVu)&_cyLqDfK|ddaISjyB(sn0lAzKDobr(aB-G z?BsY|neABcR8ln3l0+qTU%_4EByQobWIEac7#;Ce|N8C}T~La7o>ALA0_qF9u?HIm z&WsFL24I;YZRfD*q{b!=jjGw0c-{xmeqGx+28uQz@Z+FniZm>hJ{*j&2Dc@LDvD3> zIt^^GQ{M;Ep$d|&oo+Nwnlvm4vt_uJ*vT;%eSNG!If#8u^2e=w@YaaB4@3yzf%Rn$ zt1lx~4DkreP3S_@_%n-3>0~HBkP^1_!o_?1^PQ>c{ckTV(Wh7Se#ifKCZiD>+wD=XBZ%Z1hM5;tZMaGhtbvf=J*X)$Z^}0iya4udC@A>%dryn-pzEyVF z;~{t&B#I2+%W3iknEN>tsmBA}i%fQx1aYrwR4|XpDO}H_Q#t@(&S;{W;C#-y=!*q- z$)1;}0W8SEsLZ1Dx~H%8$=iD&z?)2R8-RH>A5HA& zvZn50w4Jb1Y<8hm5bE`ahzw7Ln?z8>Q zK46sTPV0OdO8C>y9{}0&IKY8*l~&c9>b{xbc*b)DaGC@X7Z~_9Kq+`At=xt!Mj;@@ zF<6d*mRMvoP>JO`eO>ZFE3hx~tmQRCBsS@+M(}py;puH=%;Q#N?|gKPgv{ILooiop z>3`S*jqprN*!H(S!yWu=7xv<+Gq|SGPs7mj&eG4*q7QKVWnsitr0K8lWY-aQi{i$S z6bFtnzJt)7?tlTo-6-3~0lTbBONJO5V|_g4G?A`jt)6e0x~RzXQ9NsR{rO(a`gmVE zOt#F{=>S=u_Jv0k+oBg0-C_mXvqqhO zzul{@_etw7MS1Z8{v+rKcv?h(jA1J(LHq(1LBc6Z$hp=X%FM0+l@5jWGm*xA29D0H z0S6b2lL=IQI#ziRD$&+_BCc*4A%KaAUg%(p0g*NZ&M#@x$-cyDtnJ$CyMAATyIw0@ zeb|+*eyJ}T<*kA>k8Gfqg2_^8n#U^22251a7>Eo?UG^l%^*E_kw~S=9MlFKUQyj;i z6_qSS0nzV51-lxt+yz;57XVr!dEu+6yrW21;^Vh)?0-W7)3EZDZ*Z%{Y~ z4Z*L#KpZNCod=F*atkas5h32i)l#?2}%=$6kd!|yH{J044!9F-~ zaLqGU;3yZtO<7-4Gz(eOI!{eFne!9uGlXwZqnl-Vfv=ByZNc%Q{k$XDj-dlGC}XW~ z^kepUI54@Uiqy(o^VH6;X}f4frz-@yRe^sLz)&TQt6A1M;$B;T*D5xf@0l1yu-Cc% z&9*FHr(+X|Dvsk#0=Qsh_W7+=i zn^SM?eI~-pkbcn*eHUN3ia@^V53qaG20#xb<>z4}4D7py!TS5x5df8Fo+{1{S)&7~ zQ-uMZOq#lc*vx(W<2}Ci{sq|o@U>1MZZqKRtqh2V{fe#b0FL%4so*H1W}Q#CTp3OV z_Q^PdU0E4!E9`4g;A94DgPTOdfhPf3Yv9c#!`wKr3(GrrCl~k!@Yucj8-0Xh(Jbaw zE{Nx}s~0DXQhLM^C{tVEGvh-HbVapOPwfUdAf3_7H7AR z>DYm#NWgV7(HzfDvr}H!!2=KnR;0r^l`mGt(}7_BY*V60`N8O}BmYJl{4e0ax7yAR zdp;dZ34VBMGAj3Ri0^J8@p~?C^g^G^O&F8pDIl2_cVzT@;IN6W;}{+*IByjM_VUFF z#5`mzI7N)=W^L1_v0iK;Bb|j2Jj}e{;81uad6ulQ;c6Wzb!o;sndh7`8H*?bLcsJ` zDw;&s*`&(ETK~)56Mq+JeP^CO^5c&$ds&Uv=Q|AdV*|xI9At^(6Kjm-P9};t9ZI3k zz@uVKTL#vg05%%ocnh5p@2p2slla&G+HVEUPSDuSubV=0um{y7T6Ffn2y}o`Ui1{A zEV1>UOzh*{mT&cAvGu=LUu!u0)1E`$ry#w1Me@yfg=?ko_0IC+jsS9|R5D#; zkqpz>d?dXhy%1QHr&vXsg{gnu^?i+$+5Is(^>vt~!3akJ10|__{4{H^i8CbUM6+ ztabb>u9JkspQl4C^D;}p%SOT4=oYR69Bv*IadfSaAc26(pe$zjB2@%Nm_3a}j^b}| zucO0+Q?pDiJZ^al_T0o?PImW&nHbQs(&)cfSAFL<$2-*GT<_(>b4|fdsPO*baZ`AI z;7|P_e2PhkqR#v}7#mjD1AOY*R_A80+VWv&O(jU<%~LXsDmJOMf0-ayppd zeYQCCE9P+1r10|)Sr(iN6|VD{Ebdvl*z#QwU}1R+fOW_TIF{%XOQqd36RuCT8OZQj z7h9@Jl;&=h$S+o|7>W53ij25h4F@%6_v?K0Eei57vUKg2@X0H}a~cvbbauMdMiCB| z7-cpx@Gpy*S3lZ*JA?ou#McTEC&qmjIKmn;APVrC*)4p)00hSBbuKUrf6J#7rXFFd z`n;Ryws&9eJo~B&V>&x-P1l&MK3&5(wj{k#YqY(!Hw_+c-~d_?O`2zFZE>)#EM}5L zShJmDh!$LL3B(}{QR$(@*KtS_FOCK0aVn}rh3OjSx!uH3S;9FF;E=Cz48A}hdxLur z#{T%bGQvNZ+LG%+zuBs%e%QVAn-_gTSLN43570{*1VnLqyq;|f^T8PBvNOM-ii(2O zdBs@DlDr6XcJfy~ic#qDGys3g#46!2tV(k|(wyh41gu=BA?tWO>~pbk=Ge9`{$*nc zr#nSol+nH`F*HT~u+q09xk*%b&bZPbbZFUyNx%Z?1-f*71)fACv}j^IWUN@q%2Wd5 ztAlr!<`l2sWmfP_a6WUe=K!Meg2up(xXMy+wBQRgD=*6=tm{l1)L;D1#tUtF23rVi zlM?*dSmx8cP7HdbA8~JNeLrteJa-_mU%_^8<>!gyA;7Q_Y;*4EOWJBPX)NvL8Y>QclvMggj&J>$_+Lkq_=ekZxZMB@r=$;olZ{N?_o7ZIL-Ou;! z9iJX=&4%{}?=+!^2-cd|nBh(X7Uh~1QCax>3|K=CK4)4V#)-ZEig&zVRuksf^lG&)(dNsUNQz5+8Q~ zgd0Q0H1wyBzxk2Cv2K!B}v^CB`d=s!@&rcP48PFJNOG=mSI`8SnD^VH*&m zBDuoIfx?LglSev0=YC*|)lVsoOW=w!MuJ*PvW~@U9I&NG%c*(+@Tk7-O%giVyh@BYgN97fuGvS7`S*L@5m0_BTt_!7>TENj~ z!GcJFV>i-Q+Sz3hdoaytDzGiiVQoWSgcz6ypD0gizKzp z>=4h?0hQ+Jwr(iYW7zWOx3Y(~FY_=joh{brJ-#!A5uXlC5UDsI%f$kSt8nhr!OQa~ z24{<7=fQ3xlXXSOk5!h2IdCJ54J{O>lU1+_Rj;kfm}M?M$3W~R(}d?~lqnV?{s%TG z-f{7t?;Q7^U!eTwR`YwTZ{jZZ4faPb4s5prZ0|iS66tjiceWcuz|sNUyD?evNk=hJ zB&B-Z^qmE;^mWMX6nnS?+>lPR&{KxA%eG+8WLOmhAiiS_;|1(ZDOke3SS8UT|hX znH4UWZ9YshEpW6^06u?NqR8_ZP&FS6SM4`yE{kF+PRR=P4S@aFhq{6<9#H3XP2q7w zz?RAA#4GJx0GFXRt<4wf>?ToEbrH+Y5IQD6 zB(Ug!)dY{Dbr^l+CzM2;7L@fQ1NXs-CXLHNT6=61^A}jR_-VJae?gw-R^SC+mm9tC zE3mdXWCu<=%MPi$jE=vC4(#MC>n1;7EGs>q=4doX`vjB`X@ru1=jTJIJV$XS8Aph?|f4477slviF2nw8XpW zk}9L8`sx(@RB* z8eBu9R^XgzI69UY9AcgF9*Ard@jTA#af~ybCr#i*DjWdKlwllQ7^MzRHEp!D)x;Hh z&e?yNdARYlJ7@LN50Cq>f)DSmm+JV0fIbD`( z_tLTI`zTI2c%GN6ES(?@in0;IP|#t`QT531NpHU{$EY*-w+b|TqIZ28k z=L>AGF7rrFTvM)#a^HXX-3-FNyhgZfY6{Y;C%4KN>s#YE0waTl(%WMZSI3 zT^S{C;84Uf4r2I-Z(rA{1JN>JwDc>u3c;CZOlisb{H zc1@oyiOp(`b~Vpi4`TdfISl&@+3O_vkNdT56C-g}V{BGpRIu;^ra=ZhpQx5Xi#5r> z4U$4!0z4O{CPA2-RAKhS&LQ7i8RK;w%qG737X-AY1%WKiizfM=oLBNv$sUgM)^d?y zAIvaCwr_CjAf9HDmXmk_>g9}4#zKMtOJnq}`OEfQ8TU+_@p$0-iOBompY;Ae$q%LFDBwq&&@6Jop` zzUMwr$MwowalMU^#`XDOGe!^ZUQ})z|4>!QA&|1_!m%~V=bo%(){bGBhG*etYA8sb zJVtulH+EtL?+H# z?0Em+ShI2WhTXe-$IsVi{*inF%M`$~T+p0Py<;X}=%mM@g}xU(j&rc&Mg2f)qcsqYNbYN_ZHpu7J&dt2?>BNIPz<*D%VG#@0c*QFLmsO!n6s9jJ zx+(Jf`TkQ(E>D zn}-4A{-Un0Sgw`rB{4wP>;&!^=NeQP4P>~K%Q}=E6+@ZiWs#PlZ~@c822TAj?KZzH zzc9c?#jS>8L#wZ9o%iOluPdIPGjrJRJOB+EFRn8_3A(_U#zKSZOYovBN>U3(8DMKf z{{r?TfPWi)cLFw@z%f!?($bvqyezT%-7)nKn2-O)=&8V!Ioo8#_YXD(lz;jQVnm=` zm0A2`j?3nVu%2i>A=tkQ5vECYUw5=IHAi@ zb#wtwID$pQd3X~qNI_c1!Z{tCRICs*1Bm5zRk@(7itD*D)U%J#{}_vnjwbFS&0hWU z=Q^2NFCBcmdiYJw;Z^NzOJ+Z;VsH;nDLEJ5AF^1*@c2J3B#u+3mTL|tU7=*|njbsU zQzxQQaT#)ob1K*6BJ$iRbX#k;zUGdux{AKZ$o^OBP6zUJ{syk<+XvjhpFW_%zz3u5 z0Q>seeYTPvL#$rdDd%Ys&EAsh(n#R{T0 zn9nmfD9MW1<0VoQ}K%|1@AgjB7>p?SbWTZM2Z?94CzatUj4f0 zr8~<}zzLC!8P0kzz1PUY{2PKbiVrxP>NzlAF8o?A{fBfwP%zz(W$5cob!zGYwem43 ziay|Hk1FjRk}0J=PqHJ*-JWq$MHyDby+97X(oE38J^OYT2?pgbmx$cIi>39%}m zbSgzv77kd1STxV(HB0Sm(7mrD+=Yg(>R_!5s(z?BB<4p2GJj%V!^PA0z{%o4|KK^ozz%i1dWKADrGKX-EGTC*l2OL=Wz8~6w#A3PD zxX(d$dNgWP^pxu%&5APBi|?j&G}9!v{k8M#9z1y)iY$_6JvTTQf>$*_s@@JzaI+?^ zsSSyZF7ltg>UJ>?#5h!}9>W;L>FrC~f9t7rnhG9CR1o)RNeg0mWW>VY%)RsTv(#IB+wjYYb1}_%mzQmr4(b$*ZAC zq|u^Bt%l9zeDBn(`C=tg%hFP&3E1jWnQ7IOO`bRPC3M^@#yR57A-rkI?X&D(*7G@6 z&wGzd_r`g)*EEsrqDY~K*bWt}6U!1m&;7M0ae@+TM>%am=Bub{sr@4NDnBLdHiB@Q z$xBTg6UO-en-yFCckBOvE4ejbyquf4L6*%-?jL^!!16Z)yuj(rFE;R-|M5z#9q_qH z(G|k=oFocWl=wv$c^>t%B+kkL70sCJY0p?(hF;8)0N8vYA_l}75VpM3BFRNT&MIWE z*?@YNU^v+^YG_JFLj5FO0W2crDM{DXJ|N%%2rw$9(<_mh%!j?KG|R2)_-7^#SW_Gw8M%rnfnCCQkLij3WE+1}w?X zcTnv6A7Ia9PH_OAdU+0f;o7q> z2QYL!evLtG{r_8cp1~@c1oWH#SalCC_GpEOS0dZ>11%4hW8Ltqw2~N5 zDRPQo^jVk^>N3k=FGo6GXAXy`gl9;r!KR$*ERM?p&XmYP3}esM)dnkrVSa1<$%@=9 z0B=PmC7WVx0@z>HC>;4$^L4>SBZ0j}V0PgT@TMc~O%9ks>VeUmcqF(aY38Ph*pjo6 zu5*dW*&~_3CNrb|^&D%t)%ri?KW zGaXN+4Pt*``qdkF{iG;8=h4mA$(f9CQ)Dixd9hd)7 z)?lkQ_;~e+rw3Ehdml2g=fnAFk-O@fw}#hudZ3An@)=$#a-|=IOP|9Y1!KT3mGBEu zocv2^pK(fqf)6_7RZ@#UV>VudLl`7E=}cE(8t7?Bmo5HL?)B7vyvNxP;_lw@dY+%L&723vDo(|50X@veEH8`COKz!jSl>+8!cDQED=SR#}B6nvf? zF|X#gPLq)pT&X5*m9_QvZ`w&Om1K9hL3Beey1fp2FB48(vEV@0q*6A0ny-_Z@MS0D zJQl;E8`gn~Uyhl&SO-*V<~owt^%bMqb_wXJpun?|T|*)RpPt;NDE)lx9eCN+dY2FV z;SUZ9s}Gs>?YJy4@R5PB5HX_(cVQRl%7c?d5jy$5Fu>xJtgghF0-nMVe_t$@g;g8H zaRlg=xNG20NlbXf${^>%Cqdu&q=KrEY*N8i_q2728ZT;_^ws`{Vhhd-OpVI51dyN33oPyA@lBs zTUXC^N95Dvuk6Q9hf!eNm6_F{dp%=|{Fq>IuI+NLq_7DTC4gA-5`M`-$5|f4ei?xu z00W8Yl{^Uiy{2?%I63z`4}m0ovGjz>_TEgaaBdboA=-C`<-%|tRsyu(5bHq**ztfH zuQRZ=TJ39h(tovHC_>(;mF!&-NA&DhG`YubFph(s{=lUVShuPh5+=GDa2jni^)!v* zl6Y}}t%W##K^%Iyaw(UEl*`J^9}7IEI20|N|Dnd) z!^x<;nShGJu%$KSSxf3MthG0*F>VD)*B46^r!1O0&jz;JikzKFA6PydyR1-37M!v) z3qv{}#KqokX)*KWk-`E2U`|7!i;j14d`Y4c=mF~xhKg!}CMvrxbfTNv&5 z)6X{SGHH97RwMv`+<*gX3{&FHAW|$fip)4uMtI;?f$vy)P8hMqtix&IQ9{x|1D?jY z=W$FjmL6uTuMwi;RRac>f3Z}_Dl&(HrIf)vGI|M<#EoOo6luouLWIK28Kqg2XC|*| z`hrYd!r$F0*PgyU++3f|JC|;qbrGv>U?xQKBwm1K98<& z0M?xde%Q*AcHe#v`ZqhBqE6zFbYYvTB=_N91m~wY&2o~WFm@gKgh#r9(`?WF%Hl8$ zMVL56>I*L|QcrpbSZXYuBvk@dIX-b8YtJ=b>lrYV#6(9y6j8v{tchuFVh&G`vp-2$ z;Xtga4qD}gzeGj;F7mk{4dYN+9LF(aQ5R?o`qlk)8^{`WfQJTssO01o`O_{t~k@Bre2Ce z;Z?2$apPvo78&`Pe0INJx*A{}iNVAsiBDsnxnQbO*gaW%X;*-`0gGf7r*^fXV$?)> zC(d+=RVbsGEANZK^)qn3zy$-B(hV_SiBUW_#4hXS^Npd0wmMG1>CdSCTuv*$th!5SeG4QtPY^S zrRRF;(on^vTO=yXM8~;3MNhpd7}gCK-q0BR@qaUH{{7*&7i)Zf74Nym5PwG5SZuZX z^lt^d@=7@tOQ5kH9=<99xV7@3XlxY=Q${cb5yQFSi>sHwO<3%nxkrbX zrNUKxTegG}o`eB+v!cxULZ&=D6+Cs<7M?~(;phx@cUCE5ET>5nOP~2cbcX-JEULh| z#x4UJ9_msLDG3O*y*1V%2$)}i4<%99RPeqO+~|X*Mq37>8voCi@s)R5@x;Glp7MHT zemuRH?~QQa+RneXc;C15UuBL={avtzSy6K?7u}MCxM9Q<6|q!VnM7Wa#@Y(URw`fQ zn%mnHI?G{wT~ysVvueuw;{-G@=Y^o@*{4yjf-nkWQO7j!bdv*u^8oO~JTHB>OqnQn z{!|wL_!&ScMAJvpGmo{gf4d{;e|_0c_bj<~UmJU^DJ54K@8|vyMH=77JXxTNFaxxb zQL3^uR%@x!GywygXGK;-8c?VmsVFJh`{5GDHqFB%k|j99l%;vBg5Xl5sZ&KEPidAE zNnSEtG{c0AB?)o_Q)iIx`rXgHm;aNM?9cDxbsEH#0bg10*R^W<)4qq>TXf3iwkP`_ z$g{Xzajczg@HZLPssE+nc8)St0N~M60N}|bCq6IoqQq`Z;Fn1ThS3Ll&+QS5dl=Ia z2i~2t3=W6M0k;t#1eO}T^~m%}|ECuUhPP_4qgseHdjr{MiBM5k<=JVxZ+eo3Vs&xfUMJ(R!GmOs|0stvr%R0f`c zsBPb*V2f)D>82^+m>OCRdjJ{Z|8m2D_XqT4*mvvO{dgTkjrErA_U!`y-` zD6}lrQUY{Lx0VRtx1rIijP_aYzk$>FTe$CkvtBBy{}H(bJ^_4T8TQW8$z7k*4|fdf zA<`)+vAzUegDaZ6_vbA00`C&RE*B`JMhfsra4aL50A!DKD10gk!eaPa1oj4pHOf`$ z1p_PK`(cZM(bTVJA?We- z#8S-4e6y8Y9fmltgQv6Y`=OwKXcK@E5!P3^iezC-+9NhjliJH zo{`=`Psm9rP^d6AlaPv@clOy2DHuh8(=l+)!HBIZC!XfK#ImW8t#y{!DdRF-XU$R~ z$Y}RTq*)2a8&HxF=DI8s+8l1`l&|$aUsY8+X9Zu@+g+^^KmphFs?f8O&!cj>OJrmM zopzsxafyN3;jm4!+mBNeMqq4mopGtz8nkD5PI2ovu*G%Bgmvvb*fb6P;hF*eBVxAW zhv$ZwAD-)KKA27vWd0vFrJ1jD!%iYY;s?MXi=_*iB#meohY=lYkEBAWt^*4ma2`g3 zu6rPqDSFXmz~Eam%N}(n;uG^>(Y2@!# zXxFgwds0~Lw9i^qcfFJU+b{G??sKpA&dJm3_I~WcGSJiHiQs?x0nW2!VECy`G&rl! z_5q;*$SpN1k}_txHEIZ`0?2`*Hm+xv+8dBIiP;4{kdlJy2oAVAj6qXZwMWhsXB}8h z#&wVJapbrsz-1mB;=0TLkkTa2L-1d4GN@|PID%8nRbq4qZ_531@9);{=qCZn zW7QY8E-Q`_d%zobCOj1dvWdn@H+BG@Nrfk)K)`2|Zou2KFw?pD<5VVDm?bs9t6qD$ zNP!;rHUOGhhZiaR(hnAzmN_M934ixWFCgb4D``REn6iY??c?U(z5Ur^?DThVum8iS zq`j;bGWNm*4EKb|wE^$`7j^-C_?5kv!|i2pPQz2+Z~|ByO8TXof3d158!OpL(b7@& z!16I)kMZt?q;W>3ww2&q;lrscO2#4zPEq$l4--}R6mc|eOX`W2V#fJg!t`Xv@Q1=+ zeve~8uYFCasekzUTbC@FygRAJ7r*vKp${en4EO#PzZCuHI}?b_rFLW3a5yU$bERNl0LXW$h~qe;qQb6EK^-1Po)E5NqJ} zy>7FZu!}tRq9+4*%;oBC2Dvs;V&?GJj8gVfOdVo?{1B z908A1{jRT#I`+^0=HKsaHpYN9i*W00I6U6S_#dqAkeFn~`O(%2o}?LJFK7u%-i=Yr zB^92pt#$U65eP?BXmt?kGAp&yyznw#-|7C?B@r+-Q6^_EPI5gJZkQ%<)q#mfc)~oF z(_)P-Ls2+Ll1$YiqOp_7mt%Y}e9={Yk2+uH7dN>1c+-XYwBOKI6SdkMX(C>vm+b61 z8Q8DH&r!8lez8){ai)0&a4$n%``9AE(_LVzPp zi#UN(p27Jn=@?x{GKN5w%PdJ}UZ^%|c$V`lom8ntKwd2~dw%QT=QqvBjq$xuFueCj z5AUCa%kT3h`&19t4^;vrht*3y+S%L{?Ub{SoKb|X(?gGSwg5upbw1XyLktT@GLACZ z<^$(N#cS4-9!-W)@@0{{((?+a3p^EDZnc&e`@j0m=nwnOw`Q|nt*S}O-U*Y#7I`=) zC?^xzA(=&1a<0q7mp-tFJSwBCk5XRc-1VG7pG{?b29OChPljpd6XVns1?r^NtdxN) z&pAtqT)SD4$u0^4pxXfYgLO$s1N@^D-5!_8PT8KL_Q4Nab2WEeRQDU(IQY%cef7!X z-Q7B_Ghf_W#i1VTC`}R;@F-|2FeOUoaJ*xnv_-(fpl(t)2RdIzih6X8S48l~DO+h} zZdir~jy4Y!@QHA3&n_0(Q#glIBG!VJOwu)f}VI-0)g7mDWKH35BTbrxZz7PAJ*g<@|!N}|NPpXZ4G~Wn8;`uK74nl?)K?l%sd_Po4e5> zfVKgQn7KusFGFuF59vAt0T`*80wo-Zo&iuSBkI#E3eS4hA^|_)dETh|3_wQ^wU{;q z)^P0gf*r+49A>$$MHokwacqx$^7hVHDqlrTiv%KE&C|CdZ zqxJv7r?QEEo$jR@zIPr^`%uH1Xv4=h_rbB3`}G#Wwky&H%7=5;0zdH9#>1Hml^RnZ z<+{cASA*lbaxb`vIgB#SQ<|g=&$}VXVHqR3Ghf*)+?OvpSPf!y!o`nU_i6pM@_o zR;a8ka_`cSWI6cTK@?)1iG?GlF%Aou(oYlK#^5;sN90jj8*w zu!uSFL;;Hd+^Q7S$V4jGrEfS3InboV_k`yOPI+0us+OEybsB`JJ35Y7RZh?C> z3gN@6nz1*ALcaZACL}2E+v-9kaG(b8Six47M>5JX$FIYTg|2X;VCXWD=z~Df4N4E4ZFdXrd(amNzva<3Oy4jD7WLCZe*`x?| zDyu+ibrYnSC`cTM&YziaX{3>lG(Q-dk&WA!&6qEJ=}TYw5=$(x#1cy^vBVO~SjIA5 z-GJwu<3PlXn^mt{lbI1WZrq#q;>Z1*?>j%=X=dPwNnEta8O$+gULaql-o=c z0XPVc{q4Os^Pz3-CJpxacNXCvfLA}AO>1D29l>A0?b@c#6XxvmJh^#v^#IEhKr^uZ zr3pb?TR&1xxq7$35IR;B?7f!MG8YPCt{?qTy;RT!lyQrNfBy9Pd+)Iy)j~HJ67FjO z*D_8?rvNy&+X(iG{ONM?wK(8c6V+VA6v$y<{diENc6RjrhK{Q;(n!2a(57<)#w_9$ zCie~1@)$Ff9R|Iv~Yz9*;FQ7-RSU4Ov!SVZttVj0vPw!CIiY#SPwhaf6*OygXe>0gfV0opvngf};YT z&Qrm2mGo1h=1wJXUY1d!id2Omi3m8L+TnbRoRm%24~YmOH8@2{Nh;~4d166K+R8Q8 z3k#-$PAm&!SY!=Gc|utZiR58KQ(b2QKIb~&DL zNzyErtyD?cf^B0(#5hG^x6{=3m`O8BP3S}z82a^9F=F53+{&gC(;=I|7#}0bQa716 z&GW1t;2Gd(T~aS-0ha*P0pQdvQJBlbrz@?RqOOvn1#bs-hm3by{;c@@X|0L)^x6-V z`5n;{oB)XSXbqSI$`XnHo(f}gqELtzhdRW!(H6nxsjs*~sp9gsNe|J8Nte-CRG`lo zm&R&LE0o(rl~^0)Qw<{qc#dT9+Kv`j`C~rlKR!pgZ`q(1#2f>&um6^?_p2rB{o)qx z(>w-e6B5HY$_5FU6>*tSY^uFrM;RtnuvQo|3&M9ssvyKhP2oK_ko>v0y*k(&*uW$w zIx`BCJuI^G8TzpvksXXgAU zPvyfAKW>+B#bYVD?@M{`g*#fuX`tX7@^sv0u!rKJ5P+U=U~@`o&Wl3TndVtWfuk^4 z=t5kotQ@grE6?0CmV?TLR=dJ~?Vw|v__{r@D-HTD8&318OVUIrmS$z1u~bJ{5_6i- z*$7=Iada|{GL!Uanp090mzuR>I~GH`aKCu14f{LmeZ1*EKkU7iedEh4?B}U2zx!)J z57qsx$g?Qjd1DuTFQU${YPwJ`sU3ioHe)y zRua>UCrQCXOBx+!5{xEXaM9117DL%HU9c+6_z(az11`p-$=LK|!_qi4%@L3!7PVFy z=xmVz+9bf~;=V>nOlAarstT}0dYX#5zUIN0=Vpw(2y;|bUCS8~=%lTD_-aE)|Ap=v zA8+Amt6V+kO)?H3`S@a`8A|7|yQ3AeGK&MDrv$_GxX#U^KO< zYz6<|1*33z0XA~jmFDF2QjcDbVCnn4*@A!eb(PfX_cuQufA~r*{N|~C^YQ)LAO5CF zn>sjJpSK(Ue*m|4`P|0fz>laOK3^u^!`6{(l|YAAQ52udwb=^KWeQdDNC*Iegmb2f z5(UOJpBt$&0O^qpWk7+AVye+Aiw{X$0*!?mGYSg#z35772X{ z2rwka90zJ1V$N|My2Ph>x}JlCyS{Wi2Y$>8o6wXR=5<{+-oG2b?1*dr-958~8s|UY z-~_J+g<+ICWA&kx#go45TfDhWlze@#wui3Bcvb)=Z;lBCtE%!Sj$}l^#sD#^IE!X8 zAV-bQ883jI7YWYW(%a+F&Rm9IW67A~B-4Y*3r2zEVTyAiQH1K#Up8HG1`gK%zehbX zRHCeus`T8IK-MD`L@sic!Hw*LTFUdaj;Ai~z%?hWUG?rT9`lD@6&f?+YcuTXV{UCS zU&}}RaHFb^;!#_fZ`*4~Wk+ooZL4c`%ig za+Ge^n-cdEW$h_V5(yq2HA#C3?mumDY8zJTG)j>TW^LJs-E`erBbBf7TK^H8$-mwF z&(G`caeC(l?$dWKCbara&kyTc_Xf~6Kl`5F+`sAZy+8!H#q}CVa$%0ai2=kc0OE9v z^CBy=oaVG(sw`Lu%eQ2CTBez$m0$&!Wy$>;MFHQGgZIoSrSpcdJSh{*l;xTKzM|Np z5U{Je%4I{<6X1{1QqmIeN)$XPfG3(|vdC2?GLG6yu*$%=dl^q!zam-YTqou&0*(jnsjcJlH24;UC$2d~0tpSl71LZ2jlGL_5xycKJU6JNLhNu9;o^AJ(h+95x1>_TRn4l(5`iG!d<# z*H=Ju7isQbB4rYxG*~)zm1xG)<#}}}2R&NUA`S|!ImN$d6w0H$<6RmC1Kep2LfBCYIn9yfKVHLRSFmRYte;JC6WXx3nkMf*=>yCpsL}kwtK1~-lZ6jBm?%jDCq@QXO zPQlS<%7A4!yA!o}gP%qrB}$BVx1+TtZizFZ-NyZSpWL;O(Fc)ryh#{XU;A+0-<X%%hFLV9u_${Nx*YY6t)Bu_*qg?|ev&C=sIvsvt46c)WitcM z83rSW#u8y4Pu!lpf6cz?!F=~TaqlYx@XS##t!HBbW)RlAs|M^vxjkSRo$`)M3Mdsy z8PreRE=O5#7d0-bT`e@&0#z#EM~SUDYja597#7{1Ws>(JDp|)P6D+a&bMn#m1iiuG zfWNDDFtEF6p1hV)_R}!f%RG`e*`56~@wRjgO+{81aQ$iF5`#GfqR=xJ zhtw#If|sb^SX~F8$&&?BK}N2?pt(ARnOX0 zZy!uDP9uX2zX;lR;)}887bRn>is)@^n_8DRrcF&#oW(~K=7#6mNpT!ScdUX+2ZJ2a zJZ5R`-~w2UQaCDzNWDnb;~&*!sYyoIr6-*12_~KC?sPfXIeJN4Tv0#?cV32f z8>nF8HF*EjPww+tYd`OmTXc_Jq?T8O?hOu235A;)Te*&rL^%^|`Y9zBqIF(qHd~sh zgdV7ZW!{)dtM23sfn|*HB!=YS(a2N-3(Q$rl+4dF;ICl2tewm6d{qCX2FlNS#5Pr` z6n1sXev|~9Zpj3|16o#cw-E&ZAvo3qs4&khrJQtt2qho`H+6Ixnm!+DU;mnU8!lhe zToizBZs_I~*?ISiGZa31X+TfG{_^WM&i&(R%m*?WGGH4pInOEqE7j+G>{tV=A4>$1 zzG@59y|@r z{sqpufU`y6HlTN(a5sE_JrguIo`L%4qQ!qFVZwNOIm)UEqZn2?Ptr+GwkW%8sleqW z$7>m8K?QGu7o41(_9K?^Yb=ZB7!}FfV2-%V6R-Ps-X;a_^;}r6=>edjgt`khR`@5q zXb+%WFJ3S>R37-xp6mU8S##|dr&&H2EVDnllF%mw=O==(Sz=d>ZLe$>KAp`zng^yB z>}Q_O&8Sr)nysIdk%Yp&Hon!VkmM z`YfH48n~=6{sTCwGqUOso;LgKut{Et1AB-UJVpv$xKHn`9{Q!d>ec|J#TSy}9zf3Q zCo;AeC>+|B)P`ENvdW35n^a>0DmLgSNKs^9X%3f9b4mjy|4|$}&PyQkJ zrr6`MAHj@YN-P)6NnTuh$C*pr<;+UKr)J-2i&cWf^~9+~4G&!hiyeu*-@v}P#TWlm zU*Y1h&@Jog>m}~5UzACFcW)!V>o?=`2TXMQV**$rvE5jl&#<}_ysnyJ=p8t<0u`yY zN1B+JMl3#KjfKLIdxnyMFrejF18qqS_TNP`I0i?cDsxf*o$U`|rk3S8<78uIY6?v1 zl1<9Wq@>F;*riy40c`;vN>(<&{^N3zV0i^%fdaYV@2xs;^g+`D_tro8S|xdjjl9@b zFOlzi-^a4WZsd)55LSH3>@W~Mn&D~MX?3ninm7Shqvzz6ns^8T_6K$Fq(8EP}?cL1d^S^V? zI4*iCYh4?zwC{f93EC10Uuu%J?|vRa@~*eB3CT!-6INSTV1NRK0e~*e;e4OE0BHGK z5}qV46h0c!q1xCnFk~}|;c`%E(sC0C3{0SztPg^NOGEN6=6 z3pS6xWc%<%?D1!| zO|=cJi?Px7JPd=Msi}4s*zd`MqWp7b?_$$_SOnXCd@=q6RldGDs9jC9y><8Cff)(V z$%&|`yfFOoemrC(Z2{9pzG4(U9E3<>qr_~5)M2bx2EMPBA}ECtF%aO`hc?j&W88Rm z@qIDK+n2eb4+333yt(!4zTd}iFjLeD`ZVb}wgrtTz}!S|>*xvP+YZ$@KlT zhj-GWj@YHn{X3ZGwkTxnD_VXU5PgCbgcHa_b1J8xJP)Ej?WBp1Nr^M4d7#13@kzlu zDNn2X{?4oo$}ctWuW4M(s!~(MrEj(OzIfrjnCJd4J#tzpJsOF>t={Ux%W^A}$$RBx z@=%}xwJ6?w-bKjg$1Ed!t`nJ$R#8Da*)tg{S;$0{sjt1#sNx?c!1pOhFL7$mU>qyg zgGr|;0jlJ9#z>Tft_n6`Lc~EOX)24{r5TuYQ^G5200)>%0>}!hh_fsi!JCh)0oqq3 zv80-6B4XWkMFubcuq11MQEbBZabcH zVp)b7rOABqXe6IIU1S!n#O7&pPBK9=N;aP19LWU;W0KMB$=79La0HdW5?-bh)s~f- zz@M>PsXQwRngGFtcUke2%o8tB%dq$TwM$;(*WR-H^Yv`N^gT}odb>*FdylaH7;o<* zfym<^tVQ!-%?TWAF}h2V1`QzJOQFT}Tq-_bWsJ$-SEpn;kyD=?|!%iecm7XXid^y>~*Nd%;=kuqJKj6e0zd(HrJxaAD_R1}}M2Rq6 zaM6~vRgr5w$6>zZIGGPtSu4yGg@7Gp=q`D2>OwNQ&{y2meqf&k7B^wbG%egfMd2&q zVE3vo8^H5nQ4qxo&1;qCsO`oaK)x><_+;jl$0CLIb@GMo-iv(6>$_$7@lMqKhJ49H z`U+*x0`?OQi_Vsi!bq|!-4#!*ee`iXw(!BO1D+m|FbCgwIYijNz_msxmvSCw_@YNB zJrHGx^h>vHM$TWXYyM^1kQ_Vd43Gbd}s{G+b!&vIsqhxx&?mv3L)Rdx@rK6r&) ztY-4(wh)$qz&=oAei6A$GjK7AWG#9g3hOB@Xm&ks!#O4F=vdI`qieUvy2$J767WP_ zFEXvS$Loca;I7NPVU)sl(v(xF=cv?eNda;dR+qskFSG{J!ce7XNG@5zRl?knxd_X~ z%Z;BGMg6{e){$9bMr&c`+k1uQSDj#YhYj&o9gUk|d#2M+;1X23&9m6I@y9Zdpl;rQv*_=3lSTsm#A!dmG(Hv_X0Hs-l8 z3cDh-G92Z8IcGtd+LDU06cqD^2VYxU-`C}b$H_v^zV6LxG2SeFs%tjj(J})3Ppv0t z(~~7c!09D}RmMMonDb*U)wIasI z38?aBt=&T1K;e7RaM%3h=6~m_0~Sd99KinO_TIM-?|uAkE#!KbUx z_daI#>8lxwzfk<@lh0d*1CAHLH|jD?U>|^25<=j4d{GDV`Ill4kMkRTsU^uD@NFh}8#u!q40Km*~R?WWUJf^U1;eQk?qX^Mq{iu>* zVJ|63pQrE((iCnvD?6c@d63RZ*YZxAvI4u@R9-KV19!>4Qfq#k%&_#8zyIz*m-fY} zrPNNAv2u#N6|D7EOaHY14$d~; zthykn*L}LBil60SVZD6&>MOySCDHL!6gUcl$svpDG$;8JkeVbv;J21wg}{;vQ3xi_0o=Mv4;Y-Yyvz#W zyUGC-)Nq+iB~k#=MwWgaH1&EGSa0@m^RG7l$IZjEyN^rub8&88d2xSoI1lTktOVBg z{D`e4@FmnpdH9mA=>PHEwy2ERX}IWHHXpZeY$SIQ%qk6Y07{fJJ?y9ft7!(<^;sS! zd3inycLIRj)6#?}%#%fFQM8fZ(w%oL_DSI+ColQplYuxks|j z;VBF)SYiQhgpr7wJP+j&ET=k#CDw8OzOVVzzVB$6Exu%nZamR*!P*Rs zGf#hf_bvIlQ~Wk*_c38{f`h{*w}eDxT4fwgD>I@hSX>rG8ea3v>ZuBJHs|3sO0GQ+ z4qUrmHogmPTd+t)1@-wP2kxF~PFNn9Fg-}aBkP2%Ql;GpRQTdYM}cMP-G$>uBo;;8 zvWjj)$_igXP!#!?^&ul@MlS~DEH`Vsp*&z*j|{2-&8Q zvgf2%VU!oCo0=?5P$-EsU@19RmlPH??s&>`!vUzLPJqjmMVgwn$O^7l-q&SK1lXS2 z?26C*qSI6SyPBw@2hLio$j>N!Y z2HRs3+_A+8uvsq4+ydaj5zpOqv^XmYoB49zPF&qz9i&b|Sd1Jtq_MF2dLWG1C?%^5 z&~L`i;nDn7^KE|Z0&vy9n|yxY_sJRT>Y~+oi}#^I`>hWDWsTn7RHBD=>eW|OuZtM_ z3pF#;D)%L2W6IHaZRQqrXpg?IY&iQl&Pxt!eFe;jm#F=7sxmd@M{`tenB+FC;1*R^ zW}?!R`?E1x%&j)LDUK$T;22$viTW0wdMaA@Zi%2Tj#Aj+u)zp#hN5qycx;RIS>Fct z)U9v!&)`~o_P+jiP3vB9D^{Qf zv#G#>iCt~4i9H+eFWG!zXMm$|Qcf{v$24k4uVsS~$ZDESr^=1lLFhcxJgva*P$u${ zC$OYBg#};$BQ>d*Q+L*)XL*vav&oB40z)|wu9`-<3WtwSv3byE!I;Khu8i`oasDmZ zg@=+9Pw?N9hu2tBir?kG)mOB9_w{5MHJPS6p4|Beu7)vI6}D(k;c?uyth>FQ%&~=U z>RF9R_c^xD;p?(gs=Au8+~TBi7q!UsmwvGP zo_Bagq#Ls48a~`KT)v78|4jecLjaW8J!7EBOC!(mq6rP3&J}>TUlf1Nolqz>0*=7U zg)+E(jUpAM^Gct0-1+%KOH2Z_IRDMhdEZ@ie);_Uhui130P_2-&p*BlnJzpy0HkdF z)a>jDhhxP7AMH4jaL!3I&P9hKWg}EjPL=GEJs^RY$~-i&>}u{Vs0mHV%$fZKRey{T zj!S83t!pEMv8lw{6E#j6oDP!dtObWgVh7(*dJX-Z@|uy{=kLGA_4Nbz9<-pae>QK{ z`F`6^s}^M7yYcpsf_;zB9&8_&#YmB!r6OgqPSQvmi;~lw?Xgf9aHNGrP4exAOuWoF zfRbxn6qncyvhchN_3rup2>bl^yw&^uXEWPgRFwL1tQR&cB~g^vG$zM61AErzfDt0f z;%O;R2cC*x2e1v$#=YerpaiE8f{PQ=Lzan<^I>Jy2hs^ z^0wBAy?gCbEqC=6tPlN)Kd*IuN1Bl%OPYw2@TmarmM16+($TC+DXc}=+n5_ha(lf1 z>^@#E_&8{xlmMrLL;M(>6H;ez8m3eZU|kwFu;*NKorKuN?quAeHGK3nip{EZ`wKj8 z$=JU7MHRnaj;3MZM9`6w3F3J&E-EoZf3`?Ltqbj!jo8tr#-gy??a>OrR-8nEB*zQ8 zxXa-PD^sc3cYXlOVDj1r1$qShcV?1eJgqcdn+oTW6|b1@8$=YoOhUkU>5szcFR2~2 zq!2idT?e?{`1Aohb}3_7k+3v_%X4p7ptE@ruV8&*DwK%dcANu&=G!_D7w@TXZ*2LO z@epsh=URV?zx@&JAAJABtqHfb8v(j_``DkIm1ED7J5*d`WOULuo08k*#Jn~c;>Re zKd!XCzm~&#E#NvMpIzqBY#vn{Zz(w9{r56?@Xa0EtSYrjL(g-WQ84VZt9&P1{nJQl zUvvNlx5c+w{7n1E;KdH6G&oS^EJr_PX2$^KrTkFn#uW`1Q_?knfYKHheCJ{y!CD=i z%%VOWft!#fbtf!M>ZW4yn(aq&Uh8b1yDS#IwB(q6x46&->pRH$*gu%LN1U@YHU^d( z=T(ss@Kt_X89th8Zh`d@bSC;HKD5mgt*E#f$#ki=Am}~J z0*_?~{70a@pMC_7{`Nfrm!;fpeUp58dz;GpC^-Bxv?7D73;QYgvXQ5>OQ_65cn(aE zkKq~HAVr^a;2pCvoZO&+DY86JGK_%~<$&m_YL2QZIAMfojt;rhU`EHDS7+Hq_AKQY zfNXdB)D=To=4nBaAqC?ByM&z{Wc9T__u@w~N&Zt$z;?CUgwE$Ial*rzXg&q>rzR+I+~Y4|oBfn$2{=4fXiaHV zQF@sz#`!fo5#MHa%PsHkIt6=Q!I$|==)%w6ef~<1AKO=#aOL)w(KHs42OHl3@epy| zR;c^I$p#A{0j@c0#};mCf%=RkI1G*5_-Cai#9-FX-f=c{R)^#mxr>`9>9Q({vxFrn z0B|^549^2rH@KY*#*AuL6W%Ia1eB_Rv!_!wkj#MFalJurpn@VQTjawx(@Dk)i3J-$sK18) zc=O-FPx$=)-aUFFY>)Av7o#da{4L-7`th6hsxd&tD#DlT4K_5&qBKm}bIok6jb;6u zwpe@!7D3&57kAJGg1>285+?2@{=Zz0v#}{W&uz8v|MOiYB?;^tB zx8BCym}_tIJkh44!7)ZZtFIC^!};#xB~F3?M?1zvo@Xg#+Q5kzFmdN1hgEQ9CnCr( zXldrSo<`8Jw-L6$H>J9(G_euOswT77VIRsy?{SRMnkyY>!hlM#s_)`fdW`eeH zb=MKr*#256fQ#Ub$D9b>g)z;`JO?{81{)IDzCXjQ853pFtac}GQ#fj~_x;+PA2a4^ zc#pdX*bQmpG|gq6W{J3z6*d=vox|ai$5{Bxz|tRtHvFI5E2^H)bBU;Y`uUXKC8F}n zS0bo(y)XGo3}zX#(PceqHjZ7@`Dq+2tg$Gg3M;3NxK@LY1fqk}={;I> z*D+k+6TreX_T#h43$`a-VdV|nD!g@X-oO3y0S_ELN7wW!bIJ>kWMu|iQ#(#O>08%L zP}%Hqn&~*6PNXNtYvDftl}^RAn~tf-n}V`on+Y=fw%QLr>C^`bumDH+3fZRbhr!28 z%M~NN@zIT6tXux>mf5&%qFnK{cK}9vSJI@m{UIU!Y{YBYIv|HW?Q^NIbbynn3VDTIfAk*u%)vYn6b>Lb6 z_}hN&jWP~pjj($vPXPOY>8KipsPFFt($BtTzp!8a*)qrLZ>qcFi)!>v_&0Iwwr{Ai@7|2jVx8m%C87C;RXHsHoTP z4{3&Bh@8Ygn~GyADz6AeV!~OXfIUq%FB*5k>71zUBdH6GFT*}ap^Xu2F6Z8z#3e|B zbk<<>u&yhqbb{rB?qaai0m!XsTz9Qavz2p4TDT|aIuHHpd-CH=tM9gtUf=5~zt(nG z?b-Y1bR71+-KsN!nlLjOQa%-c&j=mOaFy$er)D4hbP~JlER&cNKWTzNQn+Eq>!l?! zOXfD;Ur@n$HbkmLS;U{VQ>t_dsI#x`g12*q38z;W6Y@0|uh$8s82|Rw46mQd@_{%rg=hCi_x&qLMMKZ}EZ-I%hUG|d4T^N#hbm~e8R$xAU!R&dG;e4(yS=PDx+ zF*>3WY_niuvYA$SWMVN+GPp=;3VH1;6ISCO9RR3}aGfZ*hiMnhq(;#+ro?fWT6T^}^ z%LjXns}u0iGo>PDlSxIJhAQG;HffRsTDB(=BJ2kI>}pB!QF6vPi8Uid!{;efL559h z=6Vqv(B*;aA~X#vZN>$bt1}180Dea9dK3>W;x>*F8rvexv=K#G_1ATD+s7`kHKzMgnQqZ*xXpaseii%Oozp1D z?3EdEisG}e7i$dIumUX7K;5ZzC+kjZ60r4)t}`ULz@K&kV*p@Rkjr$?6u{s#5s_z( z2~n0>0%!%Vqe*zF5WgxEQbo1P5ao>FANo>qS$n+yZ1X>D%Eu_>FZGh3GT5uP@Zpm; zchC97AMg1^SPE+l=_}d254TF_)g{#|BUzEu2^hVlPzyW%0=h^OkR-{#09*);N6Zt&ISJgrb{CSW4seKR@qR1mkl0`j++^ReP*vAUaLN6Za0H)5G=lVti`0 zr)#uh*Rw2>wknzsoY#(OF1RfnEp^Q0q6##(q+H~H>gB_rsiNB9aFQ&c1Y7Rd1w3jy z+oCM8L;??wIrTM8zXy0&`Z~;`pJ@5*I!Ae_y?XazIKb=YAptLhY~T8DXHgAF2slkJXVl$4cxjs#;|lqh}z@6MNPVy=_9HDMNO>Djm>=iSNK$+LgV z&E^FT&&gbg=|HEhQ&DVVhb3t)^HX1!*=lSrJy%)v&K^94$A6#SW7hexD`PFfe(!b9 zen5B_@T#)5uB`?$BgG7Bju*~k;QN$G_|?>Iy4?K8;^C9_<~NOSNxtc0Q9{f|-SD%W?xQ4YtIE$s(nrNR=Fv zh4rz_pEa95TrJZ(U(t5!ja(*0+$QVdpomxd+vfcpIk#IzW?P%8Amf1ZGYA-6GfQ&f z6x^%z$tqv4k;f(Yr-~G`A{1)?^XxpI6*VTIN+Yo zZ+u)#1Djv$)xWssZ+v2IVejvj6Mg%P8J0@HRSM+Qo7HvhA7?HcO%$X1CwZSIst`D$ zt7Q2|rX(?WLh7dhmTw7UH~^e9UnJjBY_Y?KnMbX$;^6=m1MEj?@|>2X0Yp<=G5{FZ z<(lKrWljKx=AswCtY$00jk=6d(tp`#e=pN5^IBxf44u24-lzNAxozt6OtWeMsBk}o z18_u4b1ZOW0Op+q%tD4Q`EJ}M;L*H>I-c!w0pMrE3V-c)C!obDjm}QMWdu1H%gQeFqA5eNuKLk0+*#yP@qHw zr@3fS!Afz<*DXD7IPc`Y+5CIp)c>8YZ@uRpe)HKUd={mzUzDa^qapwQw1Ec-i^MS_ zE{_%B`eRb$x>Q*l0^k77!zF-v9$pm@?z9sOt2m#)XD^zjsT-C_ySM@|tKMQSWnyun z3w%J}C{@!r1H8yx;2UxmohQH{t{|ZWv)2+u&Qgt~Dr7mI%2LsJY;FlaQC z%gop9z2+z0WSjr~9>D|1^@oA)eRx=FNU_N>O#7?#_ag!}-wX3tleqPfqvsg8W#~!C+?Bhc@h8 z54fg-tF}ptgXBudXizeh7JOBPiG(~Bb(_aA*@y_B9)};!Wu{Y_r!p&KJ?F~c<<>d} zH_(@LMG(ne+*ljg!);n>^D>WR|KL7(ap?eh)~@%XINmL-vb;#N0cfTg@ zZt6DoU5qYK+G`5%4onZwnJwJwp;lnx1Nn4jJRv3Unsys6C207FxgPU2XfCa2FK{b? zAOJEsY+${>l4EIJoMe^eOae#@EUdRQ?=e7t|Jb%DST5shR8U!huPb5Ut$p#i*IHRH zRpL?lf3x|Iuv=dA#lLwTeDd>R-VeUy_s6>q@bfplc~0ivo|jst^Dcgx>}{0$g=HcN zhcBDh0>6z6GX*%sBvth=MiJ=@1@=6of@d;}`ZE^y%19O_YelZ}vZuMpinhq$lqX%} zfad88R1|Z+bD=G;(KHsaibGY_iDJhvM|WDMaWcl*zoG@8s0_cYtP=liVy;b1Ym=!e zuXG}9ZdH~wqR@9uAr05j%dqj8@)xFJaeY;Fwc=-5YKF;U6_Kr`Rp`Nwa_462T z>oOc03&`i95yk}^t;EbwUm~cHfM16_p9M|}E6b#afSH}lXhuu=D4d4_1!&qeD4W!f zy!0xPVBNvuf`v^e4HfF|pi-rOM1jn*W%dkv=uiB!b&BWj=mWd?dtBu!RM>wNiNQPm z?ju0(9|9UMnPxQko@IG~b+N0Gs*2^XJ`t$B+-0-XB&=C6E*>A(H? znQd>iNZ-AD^ZnQT4olzAJuLqD{loZOFA6$6HD0%JAE$*%qbH-b#?^2}=OA|6?s?a? zRHSJHrVt}4Pv;=jgVw_k6h$J_`~Y_e@C*Q&3Fu#urVM-as5`-%7fz2R%qK%>!@J&h5(4FEEFv`hkBlF%}0Q9%6km}l! zq~|3#2W6w&*Ow1pN?%|8`wuaQ=gO7aObIZ_OS>)H+t=^0z5mskA6$L^+GT{KmaLEc z2%r{xyU3`tuEv>R-MOxCtQ2N8+o0^KvTg~}Kjjs26$Wdw==%d0Heqckz$)wAQ8%s( ziUy}Wo|}f3Mpl@|kG1wfa<}|H^_no{4(DEf=XuqqTeuPfBR|}Rntw)Cj>{8^kq$2^ zrcu4l3v>p|Rt88%%z27~%UPe{RLYc;?QuLELoXU!Dmi8s5@MJ~sDl_NrjqhB!jvaK zvMQ09=9x|s#BX$vvO57|q`)|v4cRTV?8!Qx*dNHJWjif}0gHU`B60lYQ|RfCPr-N) z3j3QYU~NN2c^0d2q*7%?Khh*O%~8jwjYXtXu)lMc9um>YIK@Vgf>Kv&$0IAW6~4dO zUHUTHrdm)AxC`@nn=iuKwdXmdpYIjtKU33sp-Hrep5HnGUre%E!SydJl%OSpMb#u1 z2J)wR8H+x50UUWyE;skeQ5Rh8N>P}c&n*_}QF6w*d>S0(PfAy)8iWg|ZBZI{(o+dE zRdIkP`~+w&D!^BQxhyjug2)7e9g~%G^2MPjB_H_^DLlL;pWT!m&)jS~MuUIeb-u#c zH%o5)Io5C@%b-xwK3%|L7$3o(uP<4ZojbbXVh+LgeENaEY1aPPOB zZ#X^rxse90>2qBWuBrcVv#5=}zo}i{q({Gh^ZsQ=gHN_B#%Rg8;Dda=2i)G0ch9*R zUs~hwINXm!r`u7rEx!T)1T1@YT}Dhf#d)HmB#l{9HnQvDSXRLZmS(aRb4)>JH1Ikg z&Y5l75eP?@WGakC*8|xW;DTC{a_~BZz+uNRW3z-E`Azu9w13!mt{?J9e0%rnGy_E za6X^*r;C(Jtf9?{5{N?|MKMcMkrhL!VJF6grJP?}uN1DdB_haG&uL`he4Sqzui636 z{p$bjpIARF_2*f-e_TQB_^Khqp@R-zu>} zUl{*9pWJB~s9sgNYjiuhh%|!+D1WcP><@)kX#O{w|6%k0@;iTFN^1U?3%gXUFLz*0HxZtNc)V&WtIV|aMs2#aB0IRBe0Xe zu+lh5kun0aqOps=dMC&^kc*TiaRzT?0>!ZM^?Nc};DCcPN%lbFFL_etTEtJX#vXRy zKjH5D6z(Iys3?(})@f&H4!Eg6CFcw%D!x(V^!A2Rsl+L8NaYGvc6m|QbZl;)bB-|? zn>DcdaPh1Y|HO+?m3^ zbCOw_DC|(f27?dgcoBZH^Z~v92Ood)n2>r@#5>d_-We`!<$8F@3;%Mszcf4fqzy(hgSwDd z{2@)9b%4GqE9S&V9_gka1H6cJTaezQVH}Cj0-2u`j=-it%2N2?^!l0qaDe5B6TC!; zT>fXTTs60f(Tvk=0C9o{d z#i;-ISg8U|Z&xfp3aF1r;wyOEhM-I91|djTShxVyMfTBTMi=7ZGAKMa%!B{nPAoGB z9{uRhd7~nxcxO^pr`Y-PWz+J5$|bN$1{Q2?T?}iBNYVwi5^)qp5v({_WLXl5u*f1; zVR9GHy}Q8EL{UFJHWjT*7Pl1;oKqafJkcy?tM&%Q6wN*N`8+l1?V_Olm{5Fxde5_m zU`xIM%=5JX-6QgTWv+lUs>+-!IBzVPl~=3*&uU!-VH8(ML{H7>MC56%{0A3``osrv z9vVQ?`-^c>ORS-jfTpo?vMk-kanzwa1*7-)^9hidweoFoT8H(2kfgsS_qR%mzpuovLa6^WkkiXvkRaE2lEf_WDfL#)nuH`6=r$_MXr**9AD3KOiUA``Y)oJfFp1t$Y8!-~3OT z`y8#;FUDjo`26)FM_J9mLl-QVf)C48Slr9+YIoYFX+%(nnmzT_n1DucKLW)9jx}1i zjnxR8J3i`=b`3M;dND}stcdKGZ%dJzyqsgp3c~}#a+^^@Q-kG11vlC$K3|-~Sz1HT z=a~~&m-uCoo_9S1=n_YnNE((?qOl}Rwo#&zBxlMptMj~(g^}2oDN><lc4m_W0pm{(Fx`JogTNd(ST3s1Ozhzh3svk6#ziVg$oZN7Z)6VGuxi zOV$?+9m(-H2J)g$=Oc;Eye_MGn}MYkUdYE_mh zz{i4DrDPS3XS4o21v{j&j8m=3xt}xe^^$TN@`1H3>{OPyN|#>L1onZ3>+sE*CHQCe z>Cu3lFlmGf#mCM*fB#_-;e34S4epDjhJQ^L>~EE4yQ;wH0QR52nrstX_TpUzu-nayR!E{wc5E2(Sm=azb_ z#M?RkLXYU*ul19FDj_+3$E=ki3euq^!y=otK{Gr;Uf93K7L zk@ONrx@QgSu>+1{0GQmlP67$RtI^Alm3hhXe2^&n5@FQ=@;90efVs!~SaC^h6frQJ z%+IdNy*>Qyu2cW-7kl_H`E0GC{k#;zynp@ng|~PgzIqU^Unua~AKtuwLCbEUECD|N>p8|J#9I_|obQ0!uIswBX#+eC7OSGl^ zJR$(z?8x+mdhO+8t*2iqHQr-G!xBDw%)7xI@KUeu@#zh!iTvu(Tx?Aeo@ta+=W%3M zgbD=va&Z?MC&f9$lGJEOEQ)5zAmX_KGa|v&0`Y6jJmRR)kOdp~q&6nc<_^9v7sW~Q zszJ+Q;d+sN#gV@U*Xm#TxX{}hv)Hc{|1XIa|)|NQy2@aK-qHaxkCVd6;;MBnv2XKG6qL>CS0J^dP@HH`q+|2bnxsa1OI0mN{ zXhJ0!E#W3r1ojlywUn`no$(*2|9VGNS!1J(p+e48Z;YRvd9Kx>|8w$s9LoF1|J-*| z|A)T?Pb9P55RKjC@Zr_N6DV6Dl`hK)!@e$%**bzHnw4wu(T+S zR0qctpqAAon5?4svSFuOe{aLrRuXt*>~XASm2#0r?_RYtAobdr^UPUj-%;%Gh+lft!2 z;bw&@OlSg|D|WRkV4V?~ndG221KM*86^%>+d(t?#N^x2O2>|jcV(CPU6Y<8emK7X_ zL|Fz6F0sgq;8O6kEUt>OgtMa%i7LaSL2XZI08uS*+{X9uDcGy10I<{)t(9PCK*-la zEfyN^`McY2ci(0H*2^8-+f6@z`bb{3K`+4&-*(Yw@i@05tW85IM{kpX@sVf^D2q(ZXtmx)81;P~_QPP^6ZEtPg?@f_2uCV3Aw6iF6 z(7+`>Zhjvy&64Lqr1{62-)#P~&Hrihf7|>&H)8Yu-8^cl`&`a49}P2SZ&upp@BN2g zq=!pOHFitC_!{PImlCSOed5}8UUvP}yU(xIz7&lU$C3=^8bmQW1z8rmO_m%n`WiM> zd>V31@*pYdsmPl&6d^yiOt-Vtalq3AP+?J2Ilu*e=~xIvu_UQ+7JeAn1bLdwQ&L1E zj*b8mh8S-TqpUn=fEZ<(xTy=nQt|{aMoXRMz&7G2C$RH0%aSmP;ye~PMvZywPBGxJ z#Pv-KkSSI)r{hIxYA?sIP@DIKt4p=8oE;2qdFp=9+mxl1rD2(Lg4%Kz=={{U-p^Yx7A?^j;&qet0$ z%uoM2!OGF9Pr&?3n#H~% zM8;WKM;NG1f10*nm;kmYoMtZv@GF_O7-2?Jn$EniSWzNWu0;mVrc4-IQN-$4+lOh=B7VuXS`z>NJv;%dcX?>;Yu5AR>^*Z+ah%%H2VYg<%v zpW$Tm1P!=vr<$I0lJbVzFeFhF@wp4KTVIt^+w-)@Bwt_)rl~t-Kw$x)Rp8}_$a0GJ z;838x-j_|53tHm9F`|=L=rK-W*p)b7tEChmMC&#_4@G=2VCv380<3U81y-fFBvWV0 z&E^liz7NjcLXQ1M>)fE*3`OKOeDl973>a(MUak4M+vAb>?w8&F!T z{<*y6K_utHqX`XUP|R&m<1={q$?Q(}>^RMUs%($`1E5Vs*wYwkX@U?nUc+cGBW&ez zFg-w!M$rlkTb0;jd9JuKm5ztD(4;t^CLVRmqo57t_=XFY~L_cbX0;Q^(6-PQ73 zZ~5cb!m7Sudv$oXasyv-u=-#xez3+VpNqloQ4x*fi!^XZEHAlcG|y7q^aF6QJXw`i zg@`0oK(}=i*GU3o$oR&caX#xL;Vns)QAS-6sjzU3IuqnXWTlBvSWjB=srjPYF^JN=sdKE$?^^*H`FCIe|690%=$HSOyB&P>*y_64{`a?Vj);Bmx+i`;&PBh7Rxd(vXOU5M>3+$I!+jkWq4%zj7TS?$K#O~sw~n( zGZE=|#H`oL{(m~SOFji^>dJ218(2ixIwhr4(tcNNhr^nV%uV?3R06h5%N&OiBc>zc7rL9k7C!6DzUchI^0>D*KDGvI|C;;@ z9PPeTu;9}A>?ccZ*Hm5*bJH2lyUPW`)FGj+uM`L8P_sfL;Xsbz`Fyz;PMQuZ^rc)U zwVk*VTyZ6ou(A^pc1{eR0^jE+tjbx3pze0{y%+eQr}e%MUOzu>J+0Wq^XB#YKlWvO z*2HNWr5bKijlZ^bzyf1hlgKaSgGwr^fCyOaChbo6Pwe6>(;k~*9Esz3;j_nvsqdj# zqJy6{f3^89?ws}^>;9tXiY~l0I*z3xv?CMImQ$Z+TuST)HBK;R)m$Mwmz{$@oZSu%Q z*+Gq^%+dJi3oVLLc3}S)b|rc3aatBKO~E6#;9!zGYiC+$a6!BjRF)az;E+-d9F=?i z-~0Mhez$*%BF|p~r}`gO+lLJp_dwyhb>!DujN@R9DqO@pj>21$G2|BUMIq9q>}qXQ z_(QVf(y*l&(a-zC?tJfXz4rK0BR1RBPn@VQLT#E9&`8LwlM!RS0t$^6XKfH^oFNu- zp@13UNN&ZmB!$JB=6Tc{4;)8VNN1FEopykcB#M-Wp@=(6%`u?Vag-9JL3apH) z!-#FOq?YbHX=a&~Gy&gK8bL{zSJI5>X6xspnV@=}i?(}(G0|Je{bTab%dsBb->UQ< zA>1CdHO}NnqBN7OM752MiacG!s^Ngoy|GbS39I|gSz!m>ZR4S*!w{Hc;!%>K-OlqY z4$n)CQxAYIXCW{GAoM`VIhF}!JmIR$Hh&Z(LGy~e=-K>QcW9js`CK!wzkggJ`3o#q zKEC;d_kw1r6~HiNPx9;K_Ug$G+{VfP1-AsAhp#?AFqe}M(9Qsl37crZTAtuR!iP`p z@qc-*9p#(<^QQF7@Bj0d<9xkV|1XvQ`1tNwD+%o9XaBVaIQjmeKlNv<Y- zt_)?5>o}-_qt_`#1Q}!+5Ol!O;f*GA9(xC9DU39c-#9UW2b;!C8t$_aa9%-mwLT4~#QEp|+*GU|6)^C~I2e zX&h+^UrjAAz#_?Q9tqeXI76tQsP81R%w|=QW!MhB!92Rz^UXiRH61K#dh^Dw>DRYR zNpQfr2-H!-xG}2L71cD6hJZoR1Ykg3D3$3UPL9=4xqedC(D_`F5%?%<*gXd{TZM%b zXs$+9mQgqZNsSZWEf{Dq0tHTlnJwB51Ut^F@#$;Nj79M5eB(qg;vn?53iQ=Ni~@ zn@zG{fq-LbP6iJL47c76uLSs){i585s>S3RY_tk0)jQ2dxz!iAobGfw0C=@uHWILD z;$&A&#K&C82ICjvkZpeNG0OZ({1ny39x^+Z^T|;^NMVcLPjD8k-m}d=xYfS+^}S4$ z_6o^A0-oQ%a^3ji;IYPTP2jpfv)Hi;^=Y60osX_P2^@y1gK*D!?ap?dviO{$`zQjm zh$pUMFiOI1?$=)I*y7QHyPf-ZTM?h(&1FgK!&g2)f^*Kk-)hrb2oUlhSc zZ1K1*w|nrQ8LaIIg=MpCOVUY!A>CbQrwq5IRvpIqHv;|L{^hb4a`<-?}ZpPwRhst#)eMbH4T9TA(;K-|Oac%dyji=OUcVD?<2)ux ztCFO_F^eM`(`>d5ezmNH7RMS)vhh>g_f6lMe(oKx`Y4jDN}^l@k!#&aN(zhM7-aoy z$q{=AHWYBZ@K<})=R{(;OTma?t3`z^?q~w-)oy)HBiU^>8vYN?Yw>9C_J5XX;ol!F z+}0S=uTU~pfuRxyri;uKcGiKkL?y8;P-Cy(poT^2?^g^z%Xi0o_zuOgwhyWAH`wF& z*91^SX=-g@+ZlEeT^J~e^YM5Vg~!v;^}?uQc>pt1mo1S+>|i~L(T%eikLD;y>%vip z%XvMA>Xim=_?zV%-hTLQkB@cd-J;3+j~_mxOpQOUDX$wMLa^aY=yGcEP)AvEw$x1_ zNly{klo)(J04qzz)MS^;WbT~jO)}+a&VZ?zbM)k_4?Kg_W>ONSb235z5xJb{=w6 zfGUD&9$X9f)!)l4YLjCRKCDRc{+Ey8zHJu8_Sf%!pLhX*hFClloh^q_cv0kYnB;M2 zBW^U6p*HGrKc0vbkH@3ps5ocXbX5k{S!axzmRg8-Gl30F{S47RULqgQ@opSGcrSd2 zx73+1BHXyto}&;*EN%dN98$yS)442nA!BoYnbie;HfpnO2RPrzs~m0?4a3imdvUqo zST(gMKm(93$?-mpgJiW}SW0@qa8hXVPBcLb8_ISas@*xB<(5+#pd>;XJGeV7uJu*x zVCjl^#53=|T66Didw%)#+Y1psMMmNwWy#ToY0_#urox#XBY#JmkD}YR>+e72S)W`o zSaARhmwk@Mk#=w#hppO_u5Z2O3rzs>mgug4_uNt z!Vv7Fuv^Bp_=A>BlYrKlfTW=5l;>VjF zO?+Q-U=V?*;AQ#d!#8hU1s{n4me@$5hM{7SPP@4^u4@HAWkHLhfi;(!oJtBlH`Xyd zi0j$RERBzu%K8HC(&U(H6c?~tqzQED`Y|UP?5aN}B)<6A$Fw>6y0vFT%)j!lsa_?gNlBAM^q2&I$$1L_kdx=ffY zuf4?}qB3@ySr_79~R%I(KLA&cDNTi@ICEh76J ztxRp|dUQ6<%S0850f=jaQan^`&Qq%d2YfTzpqx!zk+iONay0Nq_ga)RFR(Mfw6N!Z zqNyUwgADA}iINS0mA1v;dk&PmFM01V7V1J~fCazeC7UtdDu3+4i#qRcIg~j(s+HM&9*+EhW^4Py)Mf#$9Ay` zho*i4vJ;_7GCmH)%!6<~2h~ND3UE&IrQ3$v?53Q1>!$&W7J4Ok4D4*PYbEqn&J`Ka z58>=jvE_?a*=iXdFPYDrt1XU2GEPt<%UG%0hgkA0H?Y>abp%IZPH^q*PQL;$;LmnF z{#Rx7lK{Non6LD${XH`9dz&5ierEA=Z*G1L4geMBzX2G~CbG=JI+Rmi&LfZvc^Y^8 z>5^jpE_Opz2sku;!C@$ZfNK~%pZLNKmwoE__=dcC_xt2o&*=@uPrN{wh<9~T4XTSz zvgF|tFY9=B{Ox5Q|1@p;(+prfu9AW1;1qV?#;rf@etUV99O4(}msCGZ)ghiwfD=TJ z`0vA>4zV}h*WFXc&xyO+hF(V*Z*`p&!TH)sLv-b-#$`TM*KV87aF7}>NamBMFxh*ZL zc6BYvN(CnmYymY_BSD>}7I?OX-CP9RG_1C?Xtfs~!}Zj`ddk=9?N{`=o^sTU2Ku)n z;tP9~?r%BrkDI#+&bwz7oKJ7R|M1-o$DY57@8otHH%YpUemapNKW)crf{(fiD4B}+ zG*|T|{}9w&@ux*}`YN?!->PRgCe<`N;CZ zH6E$P+YlD{o6qkDEbe1lIau(TO2;-~)P+v84Z!Fj9Cix0_T0t^?a~v?DGy}hq80#s zz5Kr25%4^Nd-biKEPqp3e%!@N>T`D_qn##NmMkgD%q1PqZN_%tQ`^Wck6HYPd{S+C;83C$CAc(q}%By*&R0XCa&{S zj{t<^!Zmdqx~2esB$^{w^AN}mDZ>aBji5x4EXgJ}lqA2*r`<(s9ht6dv;w57Er7w0 zm*7w81dy=1Xsbz>Cxg_Y$8>|vHLjfsIsWdvC_LZ>{MC2g-w*xp^+5Rb=zp$4^yB?p z>s z?W(nY;MahZKKV801Ie&acRrGQtEt2g@;mbGVPfu&!S?;9Z@&BCO|#XMM-mLZGf@YG z_coBEtDOx@(8QhYS#Rw`&$^;XmkSy1Dmxz|8vz>%^R$Y#W!Je)<2F&Ox1oz%)5}_p zBkYnMR=0KIbjD`w{RVq!>b>%lqW0=mHSx#t-vlhA?l1P@$W4Vl1I_sx}Iay`=__1>jp3D~mYGx{hHMdWq|_;P>*c{9a!F)YmWk-U0kV z{;J$ZYs`4Hu3t$+-b#s4V(y=KMd0sAy=$L}YAdfAAEZyCZTQ=C8%8k!#DwC!6a0nC zx^X=v(LS0p(rCx5>#?jiOWhae zO7{G#X+Hax`KgyZ06+fldKHL!{rxXh1NxegO2G9;X1X1gBDNsC7D=)L7Fqz@%xM%q zab1>E4Xiw9{fcW?W>f6N!hs&7qcOm!J(opX!aG`+S;B4G^idV%0Cz;DSr_o+%B7}S zCdw9-N-6yBs;cX>tGw?KUsPZZ(Hh5FDi|@cvmtR;$*LvHm`g=AhsgA1v@_!lu9qaG z_gf-}z}J5Lf4_mnj_#WrHE*i+khc>XyX(Ll_Ky*UI5&lLT>$1@BL`amUFhjPuAplR z>l;}?Fm6Xl!Z4#b?1}iC6~}ACs)DrqI@a6v3P0ltF2G@DM>UW>=)(CFn5Sv+b!1p$ zd4If2x_kZYo5dTESDWpF%R@ac)D{O*xRVtdnsUIQQNq;&6-6Ew1@JP`R}x$dOdJxVspV1)FOpd02&fC$vVj#*-i>*!bfJj$f)*^&#|j*RSENKR=8he0&3@ z>CL-9?xSm+2B(U!pZK=U<|1prP{ufkraFYyou4p7Db=>P0?b@~Zn&P`pZLh!yC2rd z%GbWS5**iN>xcTiL($A{Uj-$(93321MTU0nT2f2Ld)W4dbiyUD7KdYS%2E_zD_lFb z)``iIBdOsefxE;6U_|5E4C7+{ck4sqcjbbhKHnoz&z|!2`wfP~-octT*f2EnodR|s zoZ*HRF{N3G;o3rj7f)T5?$e}hal(R&>>NrS)!;Az^PC-eZ8B+pUq^r5(OTj7^XLr5 z;l6+42L}e{?R1eQ4GsAGQ_IH8g(X&MrLdRErtpjA9<{7hHE*g4YZ!2fJZ-{M%lzU7R5p+7 zG!NHS!EK!fVu9D4)*6o3Ya~2WfFE$g>7!=hvSJBhkRRSGPC5Wy6CLX#*!$}g#X$uG zzenIPp0Mo&@V2d)YD>a7(0&yj>8Zye7L$v8RCi%pStA{FC&di64YORrt+)(8G=kFc zBp%wH9JkWfX!|%|P>^RxY;fu()*9Ezr*<~zxfERId#bqJN(kL zi;LJ~b?Hupqf;FXZUoOo!P5ddI;8Vd>FVNI5@(JBJ)m>PxK$-RR0dOWb724{;Bnk) zaUWw;FWD&o=%u5~PrG~t&J&|k%RGQx>j`$jaZ$2p1~!LNa|E|>5|}vys>O-wDp9v{ zWz|VcJL;^Rd&xo@0ywa+S5a_J3hSo9UAiwDO`@)(Zt6@2_ELTkp-Rp+PKs2*hm7*{%75lo1TOH58dOVtCu8c22SpfWpHDL4O zTKxI^m)zuz4zKnAe)A%}HoFvZ>Ury?Ghj)=rgl)S#$JeyG(gM~RM2t9 zU=a%vGmdx@n&S9YtuFG*rpQcP76r;rB_^a<)|(|hs8Ayw@W^~Fut&w86Z11N6OW4i zo=0L2_UFx4nnCy;%D|-7Zij1H5V~kT`|o`B6_)8t-8rOFn*m8uMZ+TlyE)h}umkPQ4!n7= z11CjIp?Y0Ns}6ZLKAQpI&48ajSa{8<+kEW1iW_=_$3XRpGZ%ciOi}vUJYcJf5A#&g z;Ot#x)8tmPaK(XDslW%P9k%fI;@VvDb^#j^tvpIvEf zsxwKKG#dkOl)E7fs+s#+b;y5v5(0pk*t40>gYzTkfmt|NVW`=_@^eSyHF-$qd$IJ3 ztjq7PVdUK}4Pg(;AoBt+t1aWM9fAM3sw4tuA(HdlpME|bY=6e4{27ptM(w=04ydad zjYH2)V0Ejix(U;xT@&8V{ry!*YMow)a_P6qgwMBp8E(}r?9;$i0EBJR&S8y_ ziz1sWZTz)d>e>{n)#uu#TmADl-@U~M?)IB|W%FHb81K6u5xD*I=FawT(2|#gVI_M9&6?2#y!_={rN2l{y6#S_4{{Azv1iK z%DLTR9xbS{(`^7VyU<9ZW_ctpaHnmR^6V6*EJ_g5l2Rb@K}Z5 zlO-yu&NSPW=dx3r!f|Ia96}0U$bf4DKGCp}TR_c3WJd>UISL)!9ScBiX&!_mI?KtO z_h-0U!sHoH{F0dhRjN_$(Wu76F@>80PS5aIXF1C17hq##ts3cdvcx)1V!7@gm-qv+ z9PCSY^$-zw^DqMkV_j-2eWr@4p~jod0^)_V-=uTV&2R<(4I{6PGHHc5(dDyD{BJ|1W>1O+>1(|PsR+_%vEmWgb^&E$Z08Npmbav84fJX zGMw1dFZzPH*DH9nYJV=1)*mp#J$&?>u7C5G?-bP)i1k*xB8`I_>t&-vyS(xk2p%!- zCfb7=twhxwQl~B#@a?BLr`#AY55!iE+F7YaSXL>2OTh&c&U&4+yGttsBF)S)Q5msjhJtiR&Azf$2S_rap48)bV(I!q!6k1qrh-FMrzPA(nG1u0ZZGkb~ZoYI*vH?{@7;2mQ8Q>T{c-E}= ze5-zaIl<)a{(a~A`f^3*zG2-n2|usS?3yPETm(?K8n2kXz_~C19n*Aj5!N?b6gYD6 zIn7Q1P*7rV`1yR!4!O$(9`l51&|r#62IdG(VR_|pjvD9(><#d~_g8-R|4U!le$S!2 zm`C^HBJJ|-f7QgtM;RP2zDGTdnlm5;r4h9rg6a(B0iXd_r7o=)%GPam;nP{~<9WcT z88|;{Zno#vDBaCkSB)C>UEAus$YqX#VWQPSO*r_m(?&M{-OAR8YM6Vi4Y9T^DR98NY%g@$7Q;x#@nG`8m^5+y%rtNYH;TgLs?gJt zVD4j9GhL_*coz0`9Q^#p#_K@e&gJvpbQT^vV@EjV0pC3Wdtm3&8An4kmzCP)2k>>qBr#Y^*q=pI(P3c|g_{6?BnrR^=BQ_lk^c36lL` z;A3Ps7Qz;rE4aMoJs8DruXOsZ`o*YP|#nlQ;sRp|D~SXx@S%^6OE3!<{9 za=d3z6~UI8YbU^T6BzW=G1WGX1itXB1i3s}PjAL28uY-3`+m-b zq4?Q6QoHseRl~VBpAJ!3O4MP0(Aa8cMow`1^Gn`~BGplmP$iNLA*W5epLPaT;ZipO z2Xo7^t)acXZd5$mZIpCPElmwzfn%*pzg4R0CgZ@%R;_I6!DtEB>sHr{7$x0s?gzV75}36?rrE8ps^o~o{z_D3f?INerPzN|f*?W}{%LygY8D*#;qcFFw}*+&2uo<(hRpS}lsG$h7ldD` zz1nqfUvKp??_SP#@)ATLda-R{Tm}TK_f6i}t~2cwFvWIs>O9-?a;Js@%Z4d-A~~%8DrjB_z?Q#Sj^nG&J2PiivRx>*uyS$)G1Cf zVz(Brr{1O8(ep}N>z`I`@QF-SZ?28)4ifk+1@=9;cB#>lTf4=%by(l@?)CRxF$Qlu zx`mM>Qw(d`&>)%Xt(i}*DX8VN2)qXPjgI&rb#eO|a4FUZfJyEp?r6R=P@I=PN$p+S%FNW;xe4fK~B4 zkvrFBu)V$3hxmfr_u{0l4HLU;7q7VdPnVjc8!CGJtM9M_;*~#l45gMBTF$Y@!Y9~^ zY|LVtnaBwj<8%f1NkFFyUAw9@aVat!YLivrkuj|A2b(b*!qxtM_p7_dS`7PgW6#Iq zF^VkQS&?1NWqSyJO0wgzI3@0+aG0+gZ>;tX516V+DYI0QsqIE{YczS%24 z?O*MGud@5@4++4AA3nnx&^8Ng2)}YD!2opb!pR2ymuu4~w=s$@ox3hk30k5fX$bc* z*qcV#tn6;5(DHKJc?1;nO4s6!04&{w!Db;>?N2*}{i z$;YKo04?qJZ{BUks#DqwQzyES84(vnG52H$hYm~(knaPS%(^Mt`s_}cC|3h+1avc4oPkG zK(&HXs;mMiaw)JpDkj+|s=6UYlYRrLCXezf`-u|btc#}B^Q*JUKyr5WMJ8@swnI++P0jz zVGa!$7~|Nwp1DR_tRpIwP|Lo-`t;+r`sx~&RrQmucH`DQHFS5pE_JbDW7oOKm|gj_ zR5Hji~Y_~S6pUQpyW$~$iQSbFj-vFfYeQmGbZ>Oz1=BX`pXv!?i zoT*2ldvvYCsflf@3Eg({X0Ff51jlW<;=rARHSxyROKiVE*z2oM0`lWGZ@$@zimS#- zZ5!7}!t2Rh)TtMTESU$_IIO|C0Pl5^A~}(Sl9Z#s2uU}=Zi0K6!g>FJKl4wIB|MlS zFcmjS#Hd+9E4Yuptt2qhlw_8CCHA#cylL;ws^LzWo0U z2j6)1xb0T;;%6tJizJ5^bBF-;{--~ZcYr41G-zOn8bLNuFw7mmd1U|sNBY#b5eV1d zqJxTsFc(bEf7!@c$t;d?l{SKxv<;4%=j$3HHh*(VxUSvRfHwdPfU&K7w%HtFJGb^) zZMhA6Z?XQ8?f9Ya_Zso$x4r_xmj@oSuEa4hQX2zyWFu9QSzxkYnCh0yU(=rn=% zGYe#Gl4KLaw#W(1ZRYD5=ni#pyyon(Umoj;fA9sxXhvnAtILIJDPk$%ZUcE0wygIX ztQ)mYSUy!pNw$kxSQ3nEP7Cf8U-<3>*Zkdj#qag`uu^@$-JA8<@5=%83x}f_mQe$8zD_BAJ1 zEF@U=+nS52sMw49nkn`a)?A2K>bbiAt;g5jY~O`&CVt@NJ5t&(3i|6MNw9n;Nma+T zg@|L5*-JFT!cFtSz!sK825x;mT|2-)cI#_Iux}NvQ|vuCGNspFmvz7O5rEeSd3@}D zE%VOn8Z3*BvFdZvR)x^ILV1iHr%QoDoHursjK@`+1toO=a&r!(Y!mrtNKlr#WlQ`4 z>k0E+4L<6-Wi70-BRBytgj=-y>h~ClYPVxIj+L9xJ8n*=HUQFlNRU$E#M{tqTnmhq zw4qOb-~)fYf^!@W+}HS^NnA&O4N%~BXDfC()no3)&b8-sR76z5D6E^^q*Y3eBz5D3oVWr& z>gyo0-E_bj-DugF+sB5`+lfy&pMdT*ms&^7xtQDttow9`tTT4rFm8cqZdE%^&X!>J zrgpuah1a54x*!*7|M{yjzr!m80B^7c?p46V$&j2nOVkn7H!Gs;+#e%SocNfW@Yttb zVC#T=tn(}K=47UzyjAz%dV+PkOTcDerTE|fIy=8MZ~1m1G)3R;62@ecv@&yPQX9!F z+M^>-;QUZv2L4zb1-weN`IQLP(*gmvAZx|%05C1aEyWYbtIOBqHr0M_nJN21FK02a7@ zTbuPd=J5MMU{l{LJZGu*CZEDrUNYcM$O6-LSv8+3v;nb$pV5u<(rTf*L-hLz zKw65^{1E^43@FitbWeZV9Y)uuUp8YmJg8w{-w zOlZH~>TR1V-yneTf7>(fn+qka$&_{e6M;9NGpLBRMJg>q%o*ldP@TlULtZJ`>+@Ph`fC3!)gH( zT*H#|oM&;9lv!0;6fi#}WcXlwzh>-n4&6)Wfgt8#sNbnK?hicix05p2XC zfE`@>9CvSCZM>OSpa_u1#ZY}%8c70G#R+(>5=)my#Du17jL1S+Gy1#oRurZ4TRPmStgcevmT`SFz5X%8`VYP#c8Vxu#uHcg0Y_@1}4+=$iNb z^%6_O!1Wev(_`!DlHWgL151UaL2(^qp@K~uS2RmQSB9oil{(}zK$Co)ni<$cScf&i z(0Xf>Tyh1l2hC3U+2;4Y%-7FZiM0~)hvlSe%o_Nqmh;&t%uHmtHr%E@G0|dKh0Gb0m+_rNvS3ruoAPf41`-Z#dm(J&h532~+^Z96$7sVR88sNP+kqr*) ztB#>-ok=Y~PK=B_oKB-7+UDJ<$Wk8LhGhO^e9b28A$_X{c{#ND-MtCzxmWZxR-OX- zB~_IMhLNhf<7O)W(f9!G$dOhQoZBc1z`|k!Gq5nVRSTrqbtIzzGmw;=0lw5*~vnoX>Hl zOJi%A7ERnYhbiljHh}aN35;!>6!e^eDjPEX%suDdxt?S}cwL|V|0;CoTq+lgm zDpYFIiEJ)CsY<~_xmo&&CGfy(^GAMl99Dz2$RGa()d60^@qhdPD5#&@K!c*6#WsgU z*cazH2NU1&{etwtcz7903!VJlmZZnN~xBOhb8?wI{LC3h8myNeCs z{n{ziWJ8VL5}hqrnUoCOkOkm>z2jx@4TE*CUYgiq< zL77g|$GvRhzOTup-*3Da4LralYmYnuP4hD;wC{d|2WmSl^#akVX8Z#GVRYs93BicL ztt8NkxooFk%%sV(xG2gfsg5n`H}&pZs6;5ar9}ki3DB^Z>*i>Vn#8-!9M2Yfa~IH{ zbz^)U@}d6%8#5u%d0Dd@))Cfq{DYTP{j(>S>lOcg%{sk)*AipbvbqM=lsIBf8&=hA zhS-I39bYCV_7b!5@O#1JZ04-*0jeZm^@}EoNw)5l++&hI!8++x0l8(VeLz=XoeqK_cx;yo+X?1R*$3&WCtPvm~4c zcG=rf0huw<=(<+iltpHM_IK8{Cy^e*>Ud0qBrt@`r3Z?wArr$k+-3gw8v zFI?sx%iy$8ID12ri#u1k+AJCpxc6_d|G&S+d;BH5caoDE$p7&9o!%7V%w5vz;~Pz#}PXF+eucZP7H#H6bToXYcbuw>A9GGq{$n-3KsYvA16*T~Otj z!O@5!w^>2>)#Ujub9ql<2CI4=POdLTZ0O%)Y;Fh>Ip$jnQ)d9JZKg^ixHg4V=ZiAT z=nQrR69sk#!cP2B9Fm||swEzD;%>aG-3i&0CbohCoXzMwNpdM1ikVNt(S|tkv}k~P z=L?ra%zp8+(wB)w&+PcHzlSyMHTS<%Ug`V%!cyv{k~JD?Hnr^_$F7+((pgNu6oRuD zP>ajAg=L26`J|aq>L7fkR%uykjq}`jDde1h)t)i>Yho5qHJ;gJq^Y}%#gbF>IIV~E z`Wx(TdFapjYEgJ@e_O80%`pV*IM$F@3UDE&QF^KE88AzIK}(kfV{1#>?E9v%txFgU z^)V&MQyGX$uP?yGBJ4VAuSytIi`AAam=R+%i-tO)mRl#lt-|^6cwINxpOB~aJWrGq z?J&aa0%F%CX_Y4g9C=9wKq!Dy1i%@|1GyE)xK!EPTx5MoB5hAbmZ`L6`m)KUig7L2 zRBJ5k!0Ti7Dd6gFZnZtT7nau-klbAHcQ>LEj3&akQ8~CtG=ZM;l9qsJt6e^yg*jc) z+?cXT!OY0CQBEH;O;g+3p{{DnS*A%g*VYYHl$9*+FNI=pRg-1LAJ`b?ZOpG14LI0Q zw`l9zccJgA*xkd0FF2wgLxer5xR7W_CU=asmRHI>>1+N^R|J?jG7cx?6IS@gpt(6nqcvEj^+B$WHcbFZN1FmJ5yp z5V!#BXwx7&&71{%I7E*5QiOW$UBziB8K%~O5hYU3s?~L{{N5VYP3C{^pS=9Np7nU0 z9A5>~R6{iawmNRbEWvigNLTU#?oWC^ImVNVz=obW)cMG%7vH0ukKq)%v+o02GTX1e z{Y&z8DebwJjol%DcWrRpmo2@WfU9xlPOt(cJCWX#^s1Rka%`O3hK&&xwSRIB_nnly zorGkyxm+9YdDnALxUtq9p;A@4Rk!<(u|wtYm%sn(#&~~tq3yMVC>FA_n<^h$nZfUys>&sm>V%bhxaMgoZLJu`a5*;=e6-FfSAGs<;k0X% z;w1F36AC`&rfugZEiFRmuV0jByzv)kzXUUvj5G?X5fn^sc%gZ2bHJbAS3*%16ewu| zrnjqrU&HFKuFC+Hs}X!be}-cZ&j(?wZVGVyo0H2X?4kp2j4)to;JN{;8LTMhZomQ3 zfYGsbs0U221z-3bT)%(1py@v&f73j2+~jLm5b(9Z9-U6pQZdW5B32g+UNQr;RTosk zOI^;xLZ5z@W6 zHei*(88LTu1H(yHV&9bv@S`0DS9^iJgU_qThgs#fJnf6=4UbJf1E#8~8%@ARYD}$~ zAZdjy+e7-(X=~0nAk>_}W1et6sBKu|H8=K~9@eT}=Xrd0i_6{=TfTkn2*AX|+BtK^ z!pRCJ90!+*DNIGq3iZMKDCa}rLNmDJ8rR@x)6U7AaUJ%@)U}VNX~6JU3-N1=P<*)a zw3S7?`R+M`^bL9ZWCu47Rx`FsC1kA7|DR2iaKJf5S_qsA6=sZzEC(anwVD?;CyCv$ zC-5HUeI9p}Fj8{GF;&UqzT&0g1&*4DmTQ5rSDZcf?W$y&EV0HHy}0Q0x4#r}q=wj% zQ<2yr!ytt^1rnPA;i3I3y_sRRO?gl*dICfe*@&K9vZq*STAj9i)+%bWsF>EP&KUL% z`@Xd|j|g#%SQI`ydtH*IvlxbhGB0$H`b5jsNi9x|R7!Bv`24+E0&#j+~bA)x;>CxQ$Na6kU z8$YRF)rWkk7q(s3=nLNVW<`J`89K%5(ll07O?MHex@i+|E_i^K8l!2|xx6$0&nN6| zWrrLycS&Uci%C&o_hL!s#FOB(u5GR7F%YipOyk?^3&FBYu*I4fu|ETg`_r!?wQt^q ztETyz1v^Ju7RqX=28y!dmyJ7}MGr`G%5*HX+@F5}I_&F$_|{y{*B}9@XEGfQhVqF3gpq7Crnkq6Jo!WBO!Ur^FTYl}A3~Hb%Uou*ivL?~hZZ8Ex zH^K@q9LZuU_?K}v`TR)e^?ZKw$Z%lIdYM#=+0kFWf5(3>Q_jAFc;fI}&c zCStn@uSpb0g(ETD#IRG^u-HcIplFhqPWEOr;_OBiFq!S{mrwtzxOia-+w)Oo50GQFL4&MqRwfeaI9D3 zG`LjoYuKEhRsh5Jz-ymt!N(z+Lma<-1`D^2-&PmGT+^%i%yMCu>D!gZ$lzo5k&j>f z*&4sP&%Jp4?m4@()NC~XwXB!nMw4+4)bk8I>KePxNO9>=Gnv6ZGJ>IVm2ueB>hFbI zeai2_-T320XXTDjeVd)X8LJa{k^LkhN=+UUc@;rj;cSnm3l3sYITqe-k9Iy;--f<# zS&=Yd@}$GjkFB(+RWqMc!0dwy3BTdwqt_z-&F0_Us%`g=p>dyGyonXT!o_1Gf73Vk zvslUAHWmfTIk|-MlqMFuEEt_6GD$642lz85@hQukjtHeyk_IfC`y{V*X=+)-p^a

nz^=Ab0fj^!X2)P%x3v;J$FT_ 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�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 z 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

jZ(njT9XSBf(?{6O&AhShAdd==->6Y7 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 Nqy~IN@9}r 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

$WA zlK>;&;hSlP0b{9CPJL+mMa_7aa~4kxYc|P*nE=9k*3dL1HE#nI@GbEc4wlr!s^NLF ziLF}BxL#nT24e8V!o@xx_?+bQ>;l`oK^US?;8kVo?jS_~imz`JS%5q`M3d0kz zHhTLHFHqx&TXA76yY&8^?VF40e5-v%Rm?%^CjeRK_Sla_QD+SqDl9@mSaRe{8e$>% zzbRD7N~!yHh&qgT9!0KH*(7y^#jmBr?9`KhAnlxkmpT58+>|Cm&U(4vi&L!2-KU$A zWL}7I=fECQ0%TK@)(b=&l3fh5<%0>)d%oiyD?eCSVDhh`sj{~py&)yupc6Yu0PLv1 zJMIbkd*W#0gX)SC3S;SKpq2uk8#K?eT=JL)!L*M9lB|L4IPLhJBT*OHt(y2d`q_V-j{K(bX8~sRRESD@xd#(Y^i~ubu zO(cwIn8ig9#E2xZ#%bdDsL%oW)1qy4TTPW`vnm^gFz|f_iUY3-gCO<&zz2y-SzjqeD;pOG)iz|@<46j?sGOz`g02(q- zdeeY0QG4lUN^g^0MnTS0lKBZud7Y}rj`9*ZC89XS3XNRqLww+ETubJGHB6@pR6m$G zu+wu<2>g2^vVa9KY-~QUB+jxrWK*^EOTc}j6CrO00ZaHU) z?8>5PBu`;UCn>L()F%5obHLooQ-GB;j&$A>u2AyzKo;GRsDhoa$NqXs z3ItT38w=B60g6QwF`#-%GMbD6WO`32mi~kn_mSeaLm>kuI+yFZDea{*0GKJ_~%M zFr+mwF(!6oY`A}9PUYt_#s9(jAFcn3^?!d5vvDfMb`BTCP*VJ}XQEGEWAW?tlD2X3 zUV)*r5dFX}ap2$%n?ED(O!WBIbAa0`#1!vM4C8wwL$;ILkgkM&$bC=4vUPQvvMTm6 zkL`QbIr3Pf1tSW+t#*Lo0KB(Z#iKqO{4Lp~cu;v8;OfZ@(?-J*;mJtvu*#3O;50qy|!mw>?>1d&H!oIF2jHUJRbR54dAf*4LyBt<<86~^E zXh~aDAM0w>l14UIYB9w;`$~c?1C{C|6CxgN@}bZ^`MW2N?u!c>h1|)Oo9|v4V+1aE zODx&XaWvTxWL!pB-XscO8Z5E_Ph?=JuD3d}vxD48ITf(^paF4+MQpMh8z8w;Oy~q~ z49{?HY*5pNmtWR~t*VrXa}SS7k|d&;!Xd+;l2#$#xNSibVmsY~ctS5>#sH#)A^Ios z>n1FAnlir2i#ELYTpMj>A)`ZRu0gJ92)`9 zHY^3G{S074T5>0!A{+<6`_y2+nVH2P&^ue&a^5V_=V$vUu=lzNs4P-Zrn_9jvJ~8x z9X0N4w|1kFODL_ zoIDt0SC*Y@Jy#S8d3Gw0vCX=KcK#FVKQb(s|Mg;Bm^8$<7co>9|E|l(VCL%sHsY_Y zl2K0KVonsIu@(^6gm!EaSCIwxbUuQwSagXigL)V<{L`c;VA-Gw$eM}at2 za>-vNhnoi0>n~xo{N)nGamKcbwe{isyEkhzv7R28Gc%DHnVZXzSkkg_Y+-wOehH(& z3P0E$^C5!Ybb+r&B<`yw4(m#yaxyPKSeWvfxiai9t*Su6!=hsumQL4!l&6fhjTHqE z)=UD#R1`5CX$C8VqN5viQIJQCj|Y=csa@&jZtQnBq6daNd9YUm8SrfK%T>b zc=AU+If{7Rd*XtdSJ>U+GPUns-p_YBEiuyXJrC`PU`iZUp`I~0fD73*uBk|rG<1cZ z>M>C%{#6gs4eF!X`+gDoEtYJIX#gt*%+PZ@=Bk0Q1th*pun-+L#gPH0!*~}FOPw$m z0EJ)h}+fGtAy#@~A~l1y&Yn{&V}m`BOFn55@A!K8XH zkEVVfcT>Uau$gju=erX?P|Vd9k%~b3Z2^PSGK}Y3+?&EiPPLg~{(?{JVz|~z(LMtJ z7;;VZoBeS_(hZ-b^f;0|uXRaDt+Okg4jC2^{IjRZCDflNAB#BX2ZkqTLusyxEnr_|X49xNcPsT&0t+oGgr;vwiQ-!`rR0QaoQ6)H!20a>X zYUEZ(ZyIN7p7hV2l}$fMG;N-cP0aHI$fgu#Xa}+>1Ypv~D4HZ1yC8g&onnbYc)`%c zBMDGu=epEA3NA2NxRFh<4q^X*tiYEej4wK;ah}6?!ZJ$14$RPE_X0P}A_*3(ozrUC zC)CZ{IOy!MO%92*F?o=Ui7Edl7PXj>Bquq7kpHgBmo?Pyl~6hBsmIh5F3{83T={^+ z3jpLgC3`V@LiJ&9J_0OX1X`*}i2KRXFibS`bC47)hUHwBL5z65E(%PjS@%g2ro13Q zl~-WtAa{K(L)Ql*B91brs|H?VSU!nsU9F>b;htEzCf+={&`a;X zpzHTl^b;ETvg0H9dzt3_Y)e zz$Bt|uRh!HA;6%vCp!LnSR3f3vbRPbW1hpmfm#2*S^p2~|7rcdtpB(5|FQnR*8dO3 zVOaxrdjO{x4B*r6?|zNHJ#UA*!MYeEG7lX2!pqJZXt9?*m~is9S8<6Ke-O&`GT$pB z*FzdxKW<~NW*kewXWvs{kZRZpaT5oy!EzI3Q+FbZN|2TiZ)Wt){ zq9pQyED9(YBkj4K=L8pj;PKrbNTYcixy(&U+f{K-x699wzx?7XueU!{UZ<5ERcCqK zXau)_haQvHc4jI@AgxZXtwz8M!v86IA&-IdwB$(Wfb0Bb;$zwA$E@Jq7EpDZ4N z8SS7=@WXp#>R6{NB5DG>&%2%5?wE_dd)<$@Co0xg`XDsRNM3+h;(E15c0p+OELA&` zju+B8+{RHHMTzeOXtImu2HCj(~cTW|LR?P0e&hmql ziY()bH91mE2Wc8KGTD_H%yfj}(2iMmw+%z%dsB1iE=&6T*QUPKSC^XY{fqC(1bW&9hXg>Q-!4hBYCZF8$Xt;WbmD_BkV4cEs zFK1C?58Up{DR3%bGqD95Y@*9O?ZTV~-@7MFCEjye>dst807GtsjZtNmv6u{*e|4*D z3m~2MQ|@KM-otzO3!lBY+uQk`kzH2Wbu61z8id9~?Xbj8^ZU@}#_bqZ%`Yv>ke6Xb zj0ci_zR9{~Aa)23Yr->qxDD*O0<^y?VWTi9bpue`PNvw7mT@BWN^Y!qoR+Z%8Ly_$ zfswCa--D<-?&iLc=$Wz4%V{@{Q~gP7YEqkVGS`v1UZuAdsdWxAgur^g@okJT^vxB& zLgpQU{#NM5ySY!VKaivvw;(!oy+$e+nSrsH=q)E{s0T#NxhPz_D_z~fI^1oQkc7IW znS1%z++&|$?xh$=TTZ9-WLHnmmv)!=T0@)T&B2x?Kj0UzM`tF#59_)0ukm{mS^fR{ zUws3nqVp%41w8-xcbhAY|32GXM9dURQ}(k2%cQ%Zv5+`s)CzsToNanFTrdcBw4_kO50GXT}SiA9uC@h0(++ zcF9&*mIL?8%>Dk3$@HDu@%`yuZ!e;VNMdI?IuH*lOqS>%T*npW(c>K0xu&ffNpstB za)ZD=OdTvOYkr1Yo-s!kUp-@ergMD%HG!}5bN2IdDtykWtSVT#W&y*4(#8#C9$Xe95nKbS?z`T?W% z3K+<^n>)8t^BiQGYU$7Y-dtFukBu0hjA25}$*?EGeAh!!mUZd4OFd$9|JvOD#oc)Q zaGDcb!3ZXu_b=g}Ge2d!4|J#7`5}|EtBICj8RTGu%ySc}(9BI)PFNzKGL^Xayk|mK zQ={24n5F*O;6~gt_}pLpaM!cvb`CubHlX_L-UoczfQn7l^|2=v8i#e$)I3c&eBcK1 zG^MiIa!LK|8Lo`U`eqYytL7~}d=u@UynZF3dPwh`4at13+60(6|f{I}Z0D0X~L z4)2N0&Ofn+nm3yKr@D4jRULEudd%&(Z70~UeRCRf25Tob@BO(%B15h3e!;>7do{`OC(iPhZJ$0_h4+)~oSQ0^|dsx^2N)rC|Itx@W2~u?xu6k=U4<`1|+w!|8{w0IjS` zfWz~409CY~DA#31>bTzX78FuZ5upI?siGj(9(%-__K=Fy$Rn_IU@rtPZm(b|1>b)7 z^KV}VtFOOWk&E@Q!X3~7cwq$F3JVo&IWV>Rp{j?mDn}da_;6 z{%14WDVt{MV>?Z?tE9G443+3@4}^cNz=%JTU`*1|vrMw`X7%3rrce*`hAkGPyPcKuzQ^|Fu;)7)d8U4GZZ8ryy?hOOe4}pNb@;I% zNnFLGfKPT@LE}qP2OVD+4?zUX#n$xs2DHN;FS{7;72v*o9ei_dUe@VUJKK*H@-7?> z#3$b2lcf*s{DBo4;Sp0@X3)|MOM1l1$Bao*t8=PrJlLc*OQz1=hn*mSJ(Ndbu3d2) zzfHbm?Y%bvbMSA)t8E4UH_7qfM2DRNip$(Pu~VnM#s)RFBY>!mmD#Bn5f>)Qz3u1k zolXZkxZPnE!WZJhpO5>j&*8p`=@D>WRFf>zJHUNSHSM3qeF>>y9IkNRJPw_G$gXkU zienM@XUCzki;tZhX*0&8gf%yi{sRA%)vEm1qZUE@7k(N33#;vjkf~lvFigr!_X)CQ zLLYU9_%9PV;y+I#7xZomMhS_%(#)}Xe2$@S+*YDT{Fk5RxO~2EVAqYuaM=r}(|#Qs z=p7G$0}<3#>*1J@zUcr8c6~F;sQhUh7{!PKVQNlntcs7jD;y}Fz=3MDzpYo| z;}(!(a}NjlpT&WpomM)TEW4g|BqGe$fH+{i9v;Pk{v$XrcoYYQHnL4xB=B{mCBUT+ z%S7~*$&Ns<(L99%Ll}?yIPh0b;=l;*6@pOmb*<609<7>d95`U}Z3|(b7svK~hJj|? za?pEUfCI|}ZLk#fB4%;}4lK31opE4|h#7I9BFR%YFnE9izkL)3Vow4XF+VUPw$;&^ zeI5up=KhESodpMejfByc9k|4S8!^er%*~EiKIquWOighK1VObW-3$eHQb+$D2R_7s z;ZMPVfcOeb2C7V!hO*Ortd9i@#Pm@5B9B{uF356<@(p2maelsV(n zCx{1Kz=LjTM~DXp*fiT;9}mhW@gTZfjFkVIfCphTK%hL12hTpg-#yzlm-fxc#@Us+ zDJQY`;2vE6^}XwL3xki5D_`i>TYO*7wn68J@nMu^AIw08Yaf{SIAZujx%i!~?)UX$ zZQPcJQeN42pX-x8lzZ!WTc^FZwx6G|(hQ5C9p2WBN4i?=W-*?8EpM7Rc#7Cs89!ZCZ9{9}aCp_~Q)iqeQ=6%*< z&;0t4XJT6w0f9)#$yO;>{JyQ?SSk9hqif&wDqO}BahrJr>>9YSPMq5A!A5CI>tv&> z(g*kzFstV@;+~BX+T!thuCV5(NAmJZeb;|&eA26MSpyII#Owg<47v2FG=Apc+Rn&7 z?va=3r`Z`>&-j_ob_PQ~GY@AwBbWK5pIH_sKQq`FEB0`n)O^NpZD&}^+MN9}CM(MH zDInWTevAk&Pgv=1j(zcS{LJB(`kB$b*prYXSe=R6-fzghaA*5M{LQv6n6ZPye{Wy> zwY4wQbM^%T`=U9rzlrumXnRlVo7)OB)19B$f84H6^|VcmpSeOma|%l;(0z?rlO1DV zS0qZEd{nFCfse|_*L!D^f0Z_f{}~&^0~@3#F?29Rdr3EYV}hU!QVqjmgUlblQ5)nL zpL944=#ze6gZvHlNvF`~<|o-85!fK($J(wj9*=m$M;l~+X@e+*Hb|}>+90+QFWBvZ zAMQen*YIix+vJDcX8&X1uoB;M!oW|zXC&b!zuh}KKmetA4_mO$)9-<`waGtrYyUR1 z>GGWVOP+I#o$AO*Y~Dj{_cQNlNdj#vSM->Y%)AFc+B5Iz&ixrz)-fPSdBTPX0L6#< z^8CYBYuuNq9yrP7eR-IoRQDMXAd)QJHKRhzRn>YZihMgt*q2nQEfWZW3FarCeIAQU zdVP{hSi2@i+z94LQ4*LK#A4#YM`B8gUE(pF69uE?RVDFDbN?&<_n8Iv?*4c^m?E%h zqVfXkUEKe}!}~{7X@n)Yuv;EpFXj{tyuMwo{~3N=Y?F7t4-eY}^4lwi()!Ju6FSj( z&-~(gyBKAiKl(k;V8j-&->_e&pr_Mw4X>? z5_f*KcivO?pZ(^;`}6xHDGrCz&g#t2nfH2M&~8kLFwefNR`D@5vkS79benv=Gy3(H z*jCS3XW4DJc5|{LxZ|f#H?y5sTkM88Mi=AhJ?7ipupd*qsdi-v#(07EbKriP#N6+D zbHAIlV0b^~YytWz4JI(&%ii9wRkvXNi+j}$fIFmnyR##6JGinVEzk>gaI)WKJ5ri! z9@>%6aTpgn1sFfSrM!C|a!at!oN?_CsKB%#?xhdyNMX~n9SMD>5Bi>S>^pa|o=7$A z_H*B3=zH-<-_c8lTqcreoE(rdnYrKR zW13Phj^+rR8ZgTMhEsB90u~o{Ehj4o9BXRHg5&R=@g*@$9Bs}0DG~^6&8oV55L!(# z^2lDY-DLT`W9@WhVwxhbHGN|P{=xmHnE2uI&WkaKX*-){HQ8%_6(@&`#Gsm4_Q`?< zBq!ri>ceb!ww*CNaSl?LgMR7HeardM)=a_rN!#?=*33R< zYhJFO3`y=P4eJt95S)sFsTn;qHTSr1Sl7*_CL#VOy4iv(eFT44B^WShV0j?R2nUmf zxO$8BBNk$&)I|?+JyNMIx#m2v1gYN8CQGWbz8Ivi$drUZ9?}@3NQ`e z#{(B^wq;_FOW|j1Ld%>>#b6O$oJ*liIGS^*YP5M?hlEx;a zi|_ty6J`c>8(kX1T5X@U3H_;eYK&8gVF0DE2}2GxVO!!Eg0Ts=^n=GW6^(c zLIeiuz5Nvm4NYOZy^Gsef!=@VxJ99QbNH*K={m$nI6G&cD(mbwAa2ojL1;3u9HSf4#B zFmEX@-^XrJ+kJ@fzFRO}n;^zxfbkN3xQ$F0Q#Z%Wf@KJ51<>b|!5yHlB=~9LKV@LL zI7}x|$t%-W7}pTSHM||DEwS$`O_v~$J>^Sg~qJ64t= zL8)0c&u{q?=l4+R-i~w~%GAv7uN%wmPhK?)zTN}wYmPadF|;k7Gvrx@hYYB?*fe}m zEW7n+EISBzRod0hK4X|;+1WF=@99`}Ho11DFc{omnn9WvUi8Z*SGez2&&9GE6jR-g zWlwb0#sY5I!?1ulwTEd-%Jco1nGM7-7bws4^%^y8?-1Uxy#G8Rh6#XyJr26=!MM#k z^Ta_|=QwtLiTTc`v%aSDNXj&WgPqb5Cbd=Re?c!DAkNVl4VW&hT_<{W+&Ju%Bq@bP%Baw_&S|0 zB%n+4Cvo5FUjz45O;goPTb*!UZg5}Y1}cR0jIgf)$R{O0KN1_<7X|Steu*5Ojb9>% zNx)hVnqskv)A>U1W#N64gmk>V0C!Ot2mZ`Yn^so+ngn zPDz5kfi*NG9IIwlQMKjua-NXocjpNuNu|0zPk=f6Tuf7K&J*y+B*w*aifQW0(!A`@ z*xT@ezMJ@TxaXrW?gR9QoAU%fdjX(50?J{y!;Vq8>|cy=S6A5ao0FRR;V#AFEZK8PJ<|;Xz1j~Q{aqs7t zB4Dvbr*!uB@P*4J;rPty0Be;x9C7~@HvP;qWz|;je{%7enNR!;*Ady?4q&x&kZ~$d zvGVYlofA33HMX+%$t0nl3${8SwzBfGfBp0Qw5?-`{Yy13>5LI8p}OoZ_z9 z%ebp*B|nbnQYg(hG%ya)qvJ4?B&>AO&*M;j@i^EnwrLrMV`#YaecdeM0QVx>FTa;} zWOrkl!+lUem4Tx3y~HEuP$$`Vg>?_R3q!-$1)qE0j2CbB7si0W*kAU(kBtG==l3n+ z_vHKJZD`(i3@^Z`k^j%U??Udw*xU*I*%zKV^(j7X=1KeT8gL$gMbrPtFyCRKb_a^T zT>RbXs(WyKUJ;mt3a;;0ohe4uF4xC!eevw|g-+2~JYVnlaQ*h#>$kJ~S?=F{L3mN}dkV!;R7vpw0*8%bLSgV+XHRop?2hRliHFeH$K6pHGlOFdarp$n$>d=$? zw)=a2XJ;)F<9D`q2QsSJMkSe}p72knPTPQ@*TFdZ+wr+4|1=g!I6rq+9uBj=0U6+* z@ZA?35z5F8xEHbDUd?qMFb{m|H089j{Zk*D^1=O5Cuy!&%uyl#7?2!xAoOQ_(FnBKV zzQxM7zB~Ivb}+A3`(g3RB+d@3fD)|3d0zQv=arxO>Tt)qJ!C3DbqX5#*N(Sz0g;R* zNv&BA$CM0B-?eQI=odeVFZ6||M|~l4yyc}YWIp$2pE>turXE3m6>mwO@r5k;TrSwe z2lRymCf?H3mQ5$$W~Ju!Y=-xRi8IU1{XXvt!I-}AFo#d{L}rco%CqnpjIpwv$A+0X&2+9;q=`VEWiw;|y`k z{Xs7O#8}JVe4vL9x{S5N!nb$*K`?XQ7eY59*k-?tSj*WLa(4!n7KN{~%9jDmTJFIH zszsU#e39_<@jrtvB>XA9kVj)JSx_S|`;0H7AiFPO{B2AenDuTlSmrgIK$t z=LZRYvLD2@ehoj!FrXhK%8VBz%bt&`Ebry|(|c!Vr?^VcEx}LJElr~$7=IaPVfH@i zmS_AZ7?)Y&i5^F;0685@miuqmj}koVM+wRt#Yy)!(vRXWXLsMfkWPgYf{oA;Fm=2g z_NKV7nO~l*N)rusHJg21n{qfpXTG!5d3BCS^Ge~DwDgfN3VjHpbGV01ykrti!0;@N zVzjz>?nS)h#dAMA^<1gB?~Gbhrx?mYQeQ^GpZNtWSS-$XufK<6QjSX<%w;N#@4`9b zzn|3KQ5W#skM%mb^#BdBKrrcJ;KSVC`#uxXU!OW7U~GVd?c87fMg1M{WuAN2UyR-J z3z5wI?X0;U+n+Rk7yY;`V0G_d{IDB=iQjO}`}s@S2a@Khea$Mo-767!;?zF-YF*8D zySU47n701fnntsVoOHHY!db55&%6(ika=Id$&VIseHDW^H#vR3{d3vqX&a<9=a>w` ze)uQrHZ}*dqlu9RJ*{h5fI20$8dF+wq|9LL!cN~ zD9M-GCqIW{Vpe3=9256B#&8bBb-Uj_HHV&QcKGRppME>`2Ab(#YH$3sv)A-9XRoPF zsuB-MFYJxv%k2$@`CX~8HBL*=dZKP!GEUBv7aMfjm=@sM(2E}Vu`ssAHbe$4*u)f98Vm; zo@@^O8?!kuJ}hbG{)|%7hc?GwY200i7VjK)m%Go!-Tg1!?)a>Jx-CeB=0>1%>wm%a z2FC0?us76z_69fqe`EGW{DtG*6E=@~ZT;5ljGvnS^;dgdi?M#~PqH&2V`r2m)^87s z@G8{rSvv#tpgAY`-Lv0&@qL4dFx8bV@VI1fBG74v`7DPSKe^GHA6}o{Vn@2zH1m5L zR+gBx@@YOxaLpOU{p)LOnd@~}JAPT3(utnAKQ(6*&)uIRy$DiJoBQv+q&-U{CElN3 zU;nj{G54?E@Au1kvD#D4%G>Llm8>OTos`EM5cqONXYF9lOuouZ`Xk$wr}Gpif@fkr zpP5Pgo70!&ayB9!oZXzxMnp%78B5|h)$ZOIigUWooKuxk4L} zpXtFoUH+{(|1E~U4Of2~mcJbcJ;!)12|g$-ZQ<|PW9Y9j{%{}Juh|Cqt}9FYVWSKvuCe8ko+{J z$ThQEYp%qraMb6&oiYE#-;Un=HxfSl+sAf!U;W7Y;?LjnoJV%?x7+H}&M)A>wk>7J zwQKlEesPyY{bKpLOGz2(%65H5>IloV1SA#&BeTKu+9P|(p**JMJ~m&w#s~0=JGP6{ z*F7g$qHEhrIOt>sVtSj{y@1VMO-ff{#J$Isc~fg|<1Ie5r5#JL0NVzLQZPM|U2^m| z5e)7LO;dt+pg@lOAn-s0jOZ`rqQ-WY&$c^Hp#PWcb}UhoteRTgh@Ld%R4jAxB|OnH zPtVi*-*u_Q+%9Ixm328UZ%n)9uXPGg^FT`9Wh4#uM0q5_X%Wk`#P+^CqECaYD$KQe zgzu}WYW#m04`iOpZLEcIF&=N0@xZTbO1v1J8}pR-F+4Z6B@9AWO_@?7{VQ ziA^jwYyt^>TN7oH@O}f_R*&*VVKV6=C%%ZcDlPShOZd0VOJ$q&`ZT{&b^dsaQ>uEF zQ)*d#WnJIrl&YTPl)8H615T;xSx%|@&%EQ5s-ESPx_ah4PAS_;K{oVH$?PU2D$=Fx zfncm6uuw+-5t)reBUb4Xd{c$9wH3&OeYwaYo3Hw(WMpGxdt^iWtKk+DzS^t58vYC0sm|-<#5Zt%q;L**#Q$XBdRYf#xZ+u; zKFhOke*YcMLIWzmtexQDd#^@uSwHi8KQ`;|mR|5Iw2$&Ez?!&x_I^LVdtOhXJed4W zr}-?;0zUgNS7AHxENn}G=K~ShZ|1ruzqqr?PSz_q^g6er!QO-FwHx@B_;!GRq<2YR zI13g&goT4a+~;6$BE!Le7y_Q>3`$F;KN!;{GBh-KZy@6-#`Uvg-o+)fTh$4Axh;d_6sj!?Uvc z`~eQHK(&+@f_i$^_L*m~9G@lZCWC&}*~(Rhp`Z(wuP3|zQLX}b)+JZL93T5k|JBle zYqS%<`%lellcAB5k)9z@T54kjY5=u`9>Vi?^L@T3w{!A9_}s=m*w^RW&OU+#M(4IT z&Dwuzd`JiIm~1&2Qmt&4I|Bd!rQ?C3@X)MZ+VLg%oO3%O58E;4bLLtGimPa8N4yS< zP5)RsPGd4+J3JUpz(1w7_Tln%X~&o3T4GLsX-9UKYstckcGS;|N1r}A9wRHS$Kwm~ zA1ALO!)ZKB{-du4U#2RwzBtF|{+LGgpbK-7XYSG1bQNE$vo}}kEXsC7g8W9f&@(%O z#dRpBTo2LRGW(MJj;5AXCF`lIh&Tp58L#p?c2g5pX=%=s8>fNx+>PygZ!z@;Mh|wVlRT7fVyl;}U)0xS*2P32b2#INX0x z9>~=kh39cu@<3czc&Bmsd>+Wfy(G>z-pjJR+nnrlW~W+u7!B}f9tirh-og!WY=n_X zrEwQ>6i0S4-N}=u^DA)8Z*N1h=5O~GLgX`fAeZ~zF|PAK7X5?&(0^<9Rau?bk7fh^ zln3(g{yAK0d-$eRW`Jq7-2W;M96AnkM4x3i<(@Wp`+b|2_q=k+P8Oh_Ht zLfIMD6h1lbj`V8k_2Kk&(c{fC_#_wb-n6g<*S;;%v+xL)uO}=JJ%a_3N+)(&*<}v* zkj3Kl-5z4Y!n8kFU(k-CnA;&!?ZKzBz6|P%c7TqtK>uIsI_JFKw`fg*{V7q`?3iP1 z(Rv#{S$Am(<{sTMdTN`Ye#%K>^mk^W(Uney$;?Kj-CfY) zX-2R;-D7y>9wUkuD<|EoH!<76=t(Atr*yuwqjAzJy>PmRk%I)*#g4RKq0t>t^z4lH zOmnQQd4Kol`{y=*g4=;4CoBelUeYJVqH*dKeexcsHl!5pQJtcLqQNs6Lv%RZW4w~% zkGCU90P2^?%7QT{HE#h!yRa48Wqnz&zRWqyFYZpN&L>t};u@7l06nm0%7!S%E03Ax z?%f&I=kRrt!`f5@X4z7kXOH4*xQD%exM$y<_U!$8_%J$ZYV|%mePca)hJ|eu&$O{F z@ct6dg3bM_c8<_FEWd;y zqgkX!JD9ea%v`%FJv|mh-giX-(8nw1HgBIFXFn@UlYi|vKmWMD;Bn7q9`~7J1zA>> zIKLj_{GQ>~!}z3U>V+1iZPw_o!Lh=B7RL%d9sr$QM3b&At_l*j!kZoPXke)qWb5+i57oM+{dTW`23KYJ15H%s9;#;=&qM1FmK zcB~cmg}&`e&h^7Y4Zog%AFZst_HB=&zzAzqj!YOI+HaxmlfBf&xrmorKgw@1AWQm* zFFnlWc)5MKXDS=|T(N!m<*{;U8DGZACC|pnC1A3{KHS~K%KawlHC4Z(lH#x0FKtgJHz2<~0GNv41b=APE;Z?AsM zZyMV)HiLeJPxUK2wtOCfFRo$pB&NB`V;Bu3TXV`|7}$w-u18RV4>X`=$VEPYHkm;U zwsrgb97Lx%`0Igbdc(#*<9h1{rsf;f=?oohwugXq%`=1E`s}(8(KKx`X()5ul->x z3uW+0Cr|ifE}|nI&qH_|pI~@=aKU06uG6Q|5U%h^@U!v|o~|>4y7UgBJeG&>Tf-+N z_u1f+l&3!hpZwL=nfVF$X8d zzx(>M#zL6ZtWS+!7E-tS?PRByyr!X)J2rdG}>69#j}I*Zyw&+1Kw#L_;M7%N?Fs+_;T*X^zoQ27}Fh* zA3G;l;uwB5?nzREdoX|V0q!|FbBr(N`8o61#hg{o%vrR=YyI`WN9s|0bgtd^Yx#V_ zFZKDHYWFQ%GJhQ~)g!r`21Q+?lIz^gd(R~KC62PAi^rb!)tBR{Lq?KQ{k{{fI{AJ4 zrGDR2exHAjtA6`_pP!GbexBdwuLxH;`9 zI(KuP<7J(@XTTGVuf2b^&Rsc2#h#;%F~ZumchAzfUa)~S}6LTCb=Y@~O5Hl<$MH)Om1kBc{`To@x+&?0@i3uU+xY%c}H*x0q zJVsB|Y5Q0czBNj`AqPP~gl zK5Gl)RoD3->-xv)s@<~%3Ov{?NNDP+eSYl6r`icy&LnYLclFfR&%*ypJvDPM-CWjF zYwMZYJww!=Ob4u|7R*$5*Q^v#Xr1e%Jysj?vQFAHuII2Gs%LTi({<7w!}aMIpMDP4 z^SJ`Vg0Xu|*YpcZCR2B73IbO5aZ&+_;ZsNI#e4E*8EN|1)Q>OO3N3Gx;Ij0waOrbEB-E~cgC0!3wQ>h)M8YGeqQrlQNMXs`42gTH z)eY{cR_#XZ<0t8v`VsCaR31Lod+u?$hOr=0o5KCKsxaM9g;y$Es98NG;N;jZfN%UHOJI{X3` zbsylOZntKjM~He^G8S&G#`gVKxTzZ3B2LYtd+I+gZ>m3D+}m%-5czgu0!)#baLW@7zlYU?n>3Wl<#*F#+N zyMlq3nXn&X5f7&zF1qdG;m+l?K{r6XjVe{gqMaCYLiZupEJdnGTvW2O!6@oBK`jx! z?Pl*_^|ySJvMkl|6gl8LS{L3eCi=H~m?*NFIVI>Wph|)YucRLLU&rc zQvs>}feH9g3${j?o#N2eHf?HiT#N%2YCeaBVsWeWWel7@hlT!dKL!r;rcm(9Ml(?8 zvpi#0ca;Nr`^8;_F?7yky*t*H7cq36s&qB_s2$>{t$LoZXY#}UFvQS_dUsvZf>yYX zRF3uTcH4q&n7U3;|lN7r-CHa(4|uxg(x2tglV~4LoDj z6qdV}k#mY*m9?TaS1aCCAxl)HVJuWFf#s46vJvLv@WNi25|A`d)_Bb;kIL4iShlXm za?Kem*K9p?8E`inVY%)smg_Q5y0}&jST2nB0ha4zwwgMb3j^k$1aQ^Fy!ozH&VKOd zzD_vn2PcitY(|c7n1&opuOy6O+Of`1v`+YC^}w*-mUy@SJFW00)A%WWTegIaK9PUg z^HObL*&)B!;fh}@m-(mAma#OXZaB0RpBhjNJ!-43g+0;M`%POZ=9lhe?qjJYcuF5l z=CG9<7dNEdHMEtSD(G7+#`QFx7#`eFPG?`!>}6RW8_Ew=FxS*gt>^MX?JebpB10HldTmK(#RHx&I1f$C zyF~oB87c0Mc)~{K=(pWS!6p6jx%N)xNU40p6E ze6jDzTdE!|>s+rtKx^pM=l;dB@?uc~gZDV{FrGWlhvVmwBTTD$y?Mm>q*c6KX-z+F z*!}m$&FJ^=-tWnC80>1``T9xJu+(>_$8%w4x_?36czw{6Y?mb5`Dw>E6?@-?Bl&ao^?XhF zb0h0a)DQ<7e2ZxOxgCnhlJ>&`+d7poM;UU+VXj%$DSa$AXb#GuMB6%uHyFzuX#pCA zWS;J0f#1edGy9QkJr#50kbfcu^GWHFlx%Ar#c7gijKwnEXa@(ubG`}ZCe|ouQ*GNi z%t~$YO)TL`Sy~A+vjvMbZI6rz-!GQS9_(xPA7o!sL3!fyUc<(5k;5uX$-dsjNz(2v z_l{#(?o;;l+Clr;VHftb@|=CGz$Cg$h9#%#gO$G^zFUV@G3!#q7vf2|fVR3X~e-n!d`V99Y+ z3HQ99G)&kU1sK>(h30m!Uf1Eqf5E@ytto&Vtn44)!_B(Ovr-j?$3q z^K@jNE3@{w!b83xvXZCmbDNRR##1ZC(9MK_6Eb+Bx6jvK6{o%y<~dxJL6QWp;Vs+3 z%hIyRhTR$Fm0g*hO0X+2n)nMitJED2E$)N1nF~AC2Mv9BW1la(QnWY3z`V{?mBAOO zII8Zpcf(OtrGcILiA8a8Vtmu>aXCKwv+aHC4eO%`Q{PIx)TDxR zU%*Wjrk+LpkA*y0f9o^cS%tCuI7X>sCT_Z-wfqt{m39>CBo$}I6$gcA{e6Oiq9IE| z*j@ibw#EeKl#UbgqpXP!vjVe2CG3%5W2btitYgn^YzVN$QMn!45SslsXW@!-N*WPs zyE{NPOEMz1+(u5^&0&vmN|q(;!S$2hrY_CYO++o1|I7Zj{Ducx_}{Dt{x_=&6At>6 zSRc0JMf?osl-)Y;nY)k+|J&i5m*76tNB4gZFA) z!nJ)6maPZ&!J#Do+v=(d!ejs2d|tw||4rBk?yt&8NLnZB9dItj+V&RCri(>g)4sOpZ{>p%@kuUobO*#qpi@z+h* z10sfN#$Wep4A$R616LTy2I0Cb6%EZkI|d= zFm{&@JXGtmyjvbB?ZA2Gt9#^^mY6)7ZC_!m=ZTU$RLR`)8mvHA`#qNL5l%lRe}!ah zg?xUNUkb;@FY4uS$`i+Sa`-L0_$};tozTCcM;E_EoL}kKkGPti;b2lE2h$VWN@_FW zHsW*7o@~`U_u(OD5_^F&$?5r>WUab`@~>cf;i~!bf8hn$=)7GvpdDIm)$+xGpEA$l zA?4oIi{y=Xtm%2gaK+=ArS8pk-|pXR-qsO|gnTWA=a*CRD=kjVwrI1rCG0ET<}umU zCdr@d&zhNS-fp3R&h#7>Kh4>LwQX#}xf$n9E8Bdl9@cP&cNUJ5yB1$lZI#?uUXPO= zS0mN2x~TJToVlBNLcZp~^UJB{H>z!Rap&SNBcJ>7`QpBO7x8Z!YUnsiqagTe8d1NKkKTg#Uq?eR? z7OJZofAeJ?S*hBvH?xKNVQPDNCw`c(26xSnkCf3nn}_*o#Kl4RYL?niK3OoskwIBo zMxkcM8twwr090dhKVPkr*@u*`=7@YU_+E~Y-t0g6U^{IYnVs7jZ-5bs=r^ZBn z+d;GVf%=~gHMVb`KWA;(aN;DG4`+BY92}v@LLd%~EmA$eoStJLuK6)!Rv*nP`MilA zBU019Z?u}S`|y1>@VNKy|MC|>T=L7$!~1Y+A#J;E*6>|I9?RS^HksQdUj57H-J{HF z^I^Shhjyp(+9uzXYsebf-8{@`lWR$?C(LOx)iq0ooVHxn%01ibvB)4=)Vy19-I6+m zB5O9^Joo0auHu?6@6qiKf#D80RG?q?IaD6!c;jR2#C}c|sCNB*ZT%4Fh;rI^1--j*d6cg12}D!#L+Gib}XYO5d@ zy@TPG#2NnSn0Gh|v1Gi6t6Uk&n{nYB%5hap^W?ZDW7FT~W7E}bX>p3UQa&FC>UK35 zq*6a=jH_?1H^@bIs_~nwYBmf?(Tj}SzBuEM+qly z4yQE+-lZZIPG^!&@7!kHZmCUY;EliKZHl9P*VR`ZLmZyUav6sA**HAtfAoPl&PXd(NnyBeLZi9tzfqnl-94dh)hx`_K@vgZ2bU4!N|oLQSp*4=q< zCmnfzC#enDof9!?5wECD0km1o$&%+k%2ME44A{HC6p$mf(%?YMKwEkBzC^o!bB@J( zKgZ%}HDl#Vad?}lXEuDl=VKfDxj4JbD2`b9Jry3Utr(YS*c8hr+qu{yK7%Q@dYku^ zcsoUpKXw7LF|^eBKDOIG8>40#&Rjp4X7>HGpK6CZeALhVIY^}g{cg4IRsR?3(7#)H%p zzV@B+lyCg~fp0uaSNJ_l$tm%QZ#)<4Xa6E@UJ!0xUgLSM_?uty_a4jy<}1I(`5yaK zY!NP8zc{{F`m4sX8H@NW_*99Y~b+x>W>D*Taj;4D!a52Vp5tr7Ev$%A~Ibj9) z=zf}$kJpsM#Xo^do6pEU_x~YLp=NIF>C*6 z%z8hPdxcs5=?b$xra}4?UcGq%ueOF~cdE7U76;{D@H7#K*5Cf{_LE9jBtcthfuXi$ z-Bp^UtvaSEJ5VIM-QvJbiOXCgV<#qHPmtGWUbt)l!~Sp!0hR$8cLX z%+UkZRsjooc`?XC9QgNVd4`ZDv1}B0NI>oQt_X>->iXzrW(dTA@!{&Q;WF1^YbjG# zWFKc`LMN|fQa5?0U^n6Km1FkfhIusjXdZv2asR9i(syc7rLmcV$)fJNxr z`}b?U+`(0FgwJo|=PygR7sMLf;iSZ@&BYWGW}8g5yETsL=CqPnKep>byUWSFanUXg zmzq89kwT;(PX{)8;O)kTW}(eHeBWE-fc|!XJ7f4>w`09&bI;6U*PPody2HgMbD2Zq zoc28kOxjToyq}M0-vd4Ok!kYm)AL9C+)Xo7NIPWWopK_#?uG|kFe_^t+0HBc+-!Jf z%Exi_4k5*sTF7xHGrkAP$Ts%s9@e2lgxkoGe&6?yV|){Fr7u;VuzPr3y^r+|&wtA_ zPuAA!`J|_wFVUrkUYe6T_!9OrzJ%fVk4)Xu^V(1odX{S&*{UzNwo^eje)0Y9VfwTN zMynuXp~Up-Nv`dycR}kY2A=IB>-_=wLtnzsu3Qz)&~85IOPKDnSRGN{t{Q0jw|r5< zUi=ZYrT#|j?I8Hw?ILwqVvUF0V%=Gq(uRndDn9pN)pSd)+kFi^Z9iQ@54N*|ZRyQh z{uVrF%gm{&Ro@n(WCccqg}f`77Lc6nlXCKokL4sDceSlVLO~8#Upd&DkL8TUj+SVR zRfRl>xS&2zEW&;cN9UQ8Ll?$@!wFg$UdL75<~V^S2+>W06jp$ zzkwSS2etFKrzHcFNOID}n$Fkza`M!I({+#oiUY$zWgJ}v@|;H0eBIB_=uR5T*`q?z z9S1>v+7)mzYhH?e0GH%!waTzZ^V8qYQqERo4GXP9qi?!KH9LP%v(CcVSu%9Ukc?74 z7~?Tr$tcyNPGYMl^{4|?vh#67xywAv_M>Hk{m_|VQ{2JtdKrJc?8v5cGRrC|J%*l0 zDa>9mSK|Zjp(%x4&h@2GQ|wD#>oFWOCQ4yADXtdu&XHI1ztux0bNE3ue@1)v&sKR?zzL0ah0{5-LU9WtzQnckYjEie zkKoLM)p{g*MQ?~7`A(m}x~#yu%qzNkoX&lNqpQTbXU)5s&igOGti8lLW7arNhxvI* zuupYPH<>Hu>40}o)C1aIkmI#a9FZec3%kx(8UDCW?|q-%#XQAD0^hEnd2%uMjU90T zn_r1_2iPaXrjK8Pb-Rg+S^OsDCO`ij3t|5Vth?ya{ySDNV%=VX6(C;4x(iXAVk`Ff zm7RJQ3vRXqA@5$qx*gci2i3I({O;-Yb};{mwSOJ!9!g_;8q5C-*6luukwz6`zu%9r zZqN_rux<`#5ythg-y{Zm_001ltouMQd4gV*?I8hjriO zLH~7F_n)q??i$0hpTW6{5hl%MW3w$)L7@9;9pA&clTlw^h|N~YMFO_bzu}1qD@o?W z{rJ;SXYEogG{wU3X0PC5x^n5WV5zMudUwCr%(jbR-&@(P{at~62Vj_NFS1*y8)kzG{G`@dK#onSj~=xU;{KyS4-%SkdTm&kdTm&kg!8S zLPA19hYlSQ5<0Z54R5Qe8;ouIbIyIcn%Q%IWZ&D>RsG*pUG-JJWg8ZnLpXSf+wWwX zf$yx%mBJ~1=N)fB?;?E!^c%du4m$9LgAaIbiPnaj`$C(Mc8B5r*2o*$+zqYna2ML# z5pDgLFVPCVNGsaxWE*{I^Ln+|X4UUKR) zS!!)@Zep8#7Bg-QFh1Dk+x`MsmhHMi7R;p~Wbq!@bwN`jyWmmUPRplu-AdX{g+(ut zG{vG%`OLQ$X{1N_=)2CJ+I34|Kb96ecjU9^Q+~sTJjzEJZ1-b3Ewo*<|Ex2cyp^$h z`bK#J$_qQ~XMMPXmpMkNxkXs^w3%1Zh8eJT{GoT~?#Z07*V&%SH-(um|1dA1>KYzu(f&EY6r?q~#T1r@>fc>*E4m(k!RL`Z%mW=Qn4uP`=VF+e;Dehy2G1 z^7ndL?}s_eS4Z2-m9MnLd0C2j{kQ7%D=yL>NS^>-O&03K>rUH>dK;+s zMQ)3aaEK8%YLa*R&DT~-@&&kbm)M|E@F!WihN zDoa0%_k6s`rskUDdr3at;ZV3mB7MAVHC;Oked(y}xhB5enffxzS(Qq@iup;u=shmb zydELDCp?Gh9?zlbOV$V*mB4f05Aht7BZb{F-Z!w0@vo82{}!WD zqpjM|NA`<8vIn=|YDP!9 zrsOpN%eO;X=)lNe)r7+r5_Z@Fyt#i&`EUxF#38O>#G6Z$bTC?(52qWfYMbFi&iT;B zu$rAA<9250a^D`Y-1Yac+~;WYS6J@)kmiIXQASCYWeU%d3CrEM#+&=^M|gAoEsnb* zQsLy5gpx3ZWCW53cu~ND;mjLq{3F(j{rl!)uUJp9Bn00t;?2#lB&;+A)jTFF2_BfZ zfMD^&i3ba4Wto;`o2E5kNz|*w{FYHssQetUx^G~{ZHAbwRwJGS+rEV-!M2EFVcQ}{ zn@V{sJl4L4C*c(=Dk$3^MkA^P;z`&7gao5Vd7nE@lUqC53*#7e#w4aaz53*y-tzv) zy4}^e=YKQV0r3_7rmX+|UyQING{TlB`YvGb%YchJb8$24moSaDq+cOG~6{2V?!!-imoJj4wk6W9>x zN5ginupuN?oXd83K5X(FgZyNm--s1weF7We4$EC zT$A_DUuNgnQ8oKSDbJ0P_Mjrb7Rwc*c`Me87oc&JMb8&w&5U7d^KgtcOEr1FddM3N z_Ar4X6xU%q>2`0$VmShTy;M-&3xn(;)`Yrr4!hMM8*EE}& zvu^B{)gENN#){vbTR6ycj=5$iJm$;x1m|h&TTOkz?|nQ(UpO3n1E=ve=sM4EkD5R~yr}{&>n}5yLAea<{ z`sjk1*XOpa#Kq9U?YbGVOxPNVaO|5B2a z45G8H{)9i?RxM9nnwtdM0OKU=43@xg#F>3%XW)H%u`_If!L7SAce^YI;=MzM?LVKL zVZ^mxvNP;FVP^0!4+_+IVA~mf<#;lEz-jF&p+D$wL(_f5-}GC!()_*(vZ&o9Ss?FC zPkl0P&lJ6+`1QiebSw2z^x_eBh=XE0wpGk=ELT}JtOCWxT*L@Am=&(XwJ);CR?$4M zRWv={``pQX##T|?*ed@1+h6|UzkmC-V5_KLM+o!0ZSmRa9XrJ*bIw_L-r!0{Gezv* zm?=nSw%*a19ej!@KH*C_`nx4JzLY*oxQD)!X5XzOUW|Mbx#n*Gf3z1QeGXTYEZ{8j z$$zg~;{V*=PWnxv|6U!W8-aV@$@VAj*efD@u8Y19^FQ<36fyrr<_dqm?dsD0m;KNE zoJIaS{)WFk_Fp7_LyxcyQj_!s?9b{`?U~oN(fFzGQ)*K^MBs@rl3S%#ZSvZ3zTtKiZT3RdgEEPr5rh(Sq+LT6 zv=A5HfE}|=f*?u#AYrCs+ITr~RwJ(Qoo*q{fj>sKIKHD>RDFkesV&ki%>IDcSQH~4 z63{KO%{-^oXWudJbc@IDn50|CoJK#bThx65xlTEI zZ{6w_>Fg~N?p`{yK(ZQg&@DD18|Czl>HIIfV887 ziBYGZ?9qV>Iz`0~eim+u39@N7yg*h)|&N3p{){M-?02JS#Wzt1`&k>R;u} z6Y=nC%E57`OZ?|@ek^CwC62@Kz$|7Q4+0Lq0$sx8yvg&viNYYk#SIG^S2g@KzA1F{ zrtmEGpu!{x+tKddkllYdcETx!s3h}0;sotxw)_`3KC{@2;yN~Cp*%-0+pE}#=knL+ zgjkO9Kf$k8#GArA&cV6DsK3Gcnc^cd_&@9F|E!4)-<$la|MTJ8y>?1ams>HcM1 zm%YaGIaSBpeJ^&RejMX)Q|ED?$#{(FS)Hd1i)MA&Ps`TK$X#ixKd_bNt(*IEMe|@Q zEeg0Kb?fF7x`Ec59n}@MJ)P!%IHG>K6~Xj7sNorgx$i!lbIlc_7japiDO<6Xnk~tq zW_$?Ya4ClHR+dWX)ay%)=dANo1qm{&%Y-94|j;F!ZowlRS= z>Pu~G`WEVqxf1rp*hbA*>~90q4(M;IZ?D_P)Z>Gg1yik*=Gdvt1rLVs_pW7DgL8S? z*GxS;h*2=uf&ACUH@0%A&QiARy3Uue1`=}{crV8q5bsl=Y@{!GaQmKrjW{Fx*vD8? zH6s7{d(8VeO*P`zOTYOM^WJ&EM_}F~ZaG}FC7)NA_Y#4H{NqbW^9u96MVx$!Pzaca zHwd4^C!{RJKNO#!6N)?2f@_TVE6;mG?S(&xJhl~}?^ynEe8N=zRIr#I`SqAQ!iAaQ z3kVk`U|itBxB?d@dMm!+5+5MONuMz4gGHSA$MFp~W)Ae_7{3xN#W&o=C$u6z&NzMz zN1q!teiYkqiQKuvnh$F(b7LzkSGFJVx|92|Tubx{Z(&Tzx;wX=9R`ESYO9aYOz93pz2=LuJBjkHAjZ3PxRcjV+q0!^5WVJnq_k#KmhhQx>z&F% zy+XwjWpgO&JS^+<;Uur2=`ZSSI5P#VBc3(JDDPz-w$3dkVq16pN+9S^S&-MbKbK@# z5TTOQQrYx*S)ZfcGppBrRMy5}ll8*58#m3Oys8h%di|aw)|ISx_k2E#;!gF>WdM2SG92@^rF)pJ z`D^(O_=|ARlG^s4F~_S_%&rHRx#Sc%eg}$Hg)w#j7CiNq{!{}=MNY)CjX&Bo!Ue|79#d}r0D60>2y(OqjW=L7b zHHde&{A2Z;PJ=!F9Kw!$6w`a+H?{HmGC${Vt|)#~44b^ud5ipJeM9^bHS3LOyrFOC ze)phno{S^YoCo(jUrm%F-1D;Op0}epwa^z(|5?_4Ki-&+$XFcjIo<7e!@cea_8lSH zYdLE{Q#!zjl%wrKY3Q80>vP3c%i?4fYIzQ{=UP1ZMX*AKExoP|3&3-9Mqr4+^4DwG0FM7=$C z_yTollc81;>->h-6@tzZycHm-l; zu1!b-<5`?rjEk|>#{PU%^`3TXh4OhDi?YpW(z4H#WFQ3`X~H*XuG#}M`}tgb#HXP4 zY{t0|y)mxwo^lJ;`~CZKuHs_OQG0-9_Z|)PK~;%4XTCwROZuJS43U^~c;0r4{Z=b^ zadrwN@8hxGwtIO#uISudq~T{*(12_-57Klzf4fIC6QAq$2tG^m?TSw>))4Xe+B^V0 z#v-3N4Q#5&$4`Uqh!IbXe6O@st8CYnl>ZkQ zhe>Vt1@`N!&uImkc2QM|FF(L(tILxDwVrzZZACID$rBk`>1T{GBx`GZ{E7@(2Pb~2 zroBlaW&8OzS$DfOKiR&r7)dx@AiLMT}4A^J3&8>T_Kq&rP9K;`o&N9-~)eUB|pFo!8qq?+}orr zZ|C3W+}|k=WZ@Zy-ygwXvE!)&6(yIlcv}3{`1?sQcqof5KWKYqoqe@BcZj9Sj`MFq z7N$RtB`t~+WP!z;|KP9*tfVZB7QNRmX)$byG*wn92U*gTZa@X}uq*pz_D%K+e=f_g zVW7JR6_(1cUX(W!{gi`lnyuz*{!i07701(hqN*Nzf0=wsgb>LR-4bWkq=G*-g1_ zEH}gLIV{@J5gVuDd^iYf9BD}xm_UlQQlc9lGBIIAZvYLZk3A|O#`rOE8~_^GcME(Z z&3>|^+Y_JiC7-jaSimO~;7LehyyhcOx=Yzt$rC-6431KdtvL&F8iVAaExn*~3dcg< z^IGil$vuYqG;UMA*&i^EB}V)>#?R|_s;T}bw)&}l81pDEa_XaHTm4_jk%Op?*iZWz zfVqz@vvtff^6k@Dq%3?5YJOdkb* zC4GcvWO9x=9rEWt$)A_P&a&IFX!yL1c3Xyvj_-p#lw|}d+Lzt$_oIXnaJK%p< zYJZp$dKH$5q0DZnjE?RXlb&@oPk#G8+w;Fa(Q($RnRSR2b5qeDfuRJlsaw#IHVd-B zrQquGy^fSuLK_Cv)R{g~Y_uhHqX$?Ms3oCX&dDUX`W$o5^3)!&CQz>ER(E?_uCVDn zrS9A9mR&x63D+nt;MVBmWBOf^>+t3NDtQmz1~1E)HGL%Ci}Zk~ z!`rh0ONuN@0ew!38ymg%&c^NMdN=md>OEp-XCD%YL?TO;EQu_MM3zJ%kw_#Gi9{li z#LhW&US>hl^y%-+yuCZi1U=oAm6es>`ef>uaE!xN+X@0q<2A+24k8yH9?G@QNQ`#n zYnYP!W&JMKg4wEKs_P4}v~?D@UZFk4t)X1Ttvr8COs+44IrFQgy>};<0QlzMn9En1 zlJdoPUjx`lbslle8`6sG@FD!17{W&I+RgR!f;>B|Hj`j})n|CF(r?1ANM(}9^fgLJ z_OcywHZ-R9R|lGGPh@<^n}GDI9>g!;DbSCD>&k(U5Js({Oq&J|wdDM&=@>zXIoX zq95i*1aCg64orNrw(yO)s7>#4L^3?NmK}3Mi1&9H=DZFa=5=u9ybg}!(g8syX~^+)#O0y<4~RqijX0FzHN~V|c~1QKb;N98di!j#hDgo#y(HTFUPA@k``_Lp|*GzZp{fn;e5s zwCn!2_#2unx{iqX^(@!KjanU>*D}3WtK;wTH}2;h;0L_$tmJ1I#tznr*!3e$=~v?f z1fqCbA31q`U7UZtoByGG?aym?08X~?Ep*a5L1^3N*V}h#zdxswu5ZGGv%yfvXd93E#-vVbB)=*b9?`J2%`Ni z3dC-{|N7W{-gjfx@bEry>kId^_Vr`;Ux(#9kGweD&lRqg*6EDW{rj&VX=Qq-2ZCBU zAAPv5uYLXAM;-5!LVx^LJrMs!f6F^LO|9#J%>DHb)&mh(4+Pav^M&L4w%XTUT7Sc6 zAF6$g-fZ@tsC`ZPN8m5;zjdeOR$XlHXUt;xomtG^bsC3dyXbB`kXv;`9=Y$r7x!K6 z)!#6VH9+p&c`=Ra^+Mj&#oqOg*2U)cYlYCyn-N#pM) zk=}zSjFqajVntOi$i`%3tJ>GR6I2(qAOoEvB2OPc|arpB=I?7crDf%D&>Y|$TGJi zU7+?W-bqmsFY00u>vlr7JHZXwPq5@Ki109HQ&Kjt{mNY+qn?Gj7Md zBr`jl>__~zR(Bb{67dTb`1OdNAAweg=UNgM$4u8|LMH{-b={<{jZ!M z6_SKOplUwmGt=vbkM@78F9G9G%`vxbYI!jJbNR4#pcSuFA-U&s#~D1X|s zAcnAnj&I-7(v(aUfCuPF4t8c`^odA_$GPgb;0OQY>fXfn7xEnIe9crjr2SlzLQztw zZj-plcElspYyUU!pj5SXGvX0pGPfCz>Hge9^qBKTXD0uvG+nhZ1J!QFMSj2o;?#@u zh_&sT>ETron1Xc>ycsm2r#|3=d7meGtj+byPG{=K01bEEYiPfMwg#{qC!J!XR_(MH ze{s*?v@Z0VW4T)h`UCZ(7rCI10;*-~v7F8@?z~^_8MF`L$rr+O*fYp)?iu9D#R?PC zntpbFjlSy^u@0`!RyX$ys_~BG1i!ow|0H*Ga(|EExQBsvDX!bvhSZ_*>O$>DTkESL zP71P9T_gHK`>(a}!?NEwUB=PId-cJ_`(8_vxNcHWe51|4w%tSa&aV>@k=;VyV_UHb zFUT|63O4quZS~M4A|?U&wPiHszrEb=hhx8;mzsvQv%0X)hVdS|MP26V^|*8Yaj8>V zyH|ZCAP(?6l?mM`wr%Z8eVUSLyD+s~?Mlp|wTYshMxk!UAJU&~7e@(kL67%LOun|T znlqjE;T+%9t`ey8qNoj{K=VWOo)3@wF!5oob`w9SfhV%>3Q?h~GoxOmt7^1_Kp$WiuVWrLx=&LoZ12s;MNVW@t2hDv*@A%QL?qB(gjUSd z@msX2jg9f6Vf^d2KM%)2ob`U)QK6dAlh;WRZ^`B5t2Q1vuMiO;h2G)9OvqJIakle97dLhHD$IqJB4!G znh|4{C6rt3AVGCx{h(wl*wDlR0@b!1XylFXNxgu-oSKt)BIyw(iRZp@t9dihs30i@ ztC;U8^g&rg5C9Vwrimv9e*|1TJ3bx90rYZE^Ei4KhdcEtVH^!`TuQ*JQ59+<_)VL@ zPy~eOz=GpgT%%m=VV?e>Gg&P~<~T?HO+Gz;N30gm1XkN;;C1FN2}3T=smC@>X4a}| zL~E`|rUK=G$VdoSdOba99J{UW%YGV@Snbc`=)-$CB15R<$jMR~k!qGBTG&A+L5^tG z!+Zp+&rpnDs&WC02jc-5a!=u3(gz@#qYB6}DgZuy07eJp3nqAwQBD$FFbCK<;5a*@ z5ET%hM;yoDfj-!u%MgNI3Y1j?Xpo^D5RF#K2yh@kx0rH!k8F^WxWi=5AVdy)1}RFx zMK5NZ(3t7-e$`*-=a*%gF|!C&LqR+*+hXdO~hm@&dwFNs86PGfeWE8|XrU3IoiUsRJ zWAc>(tGyIAds5;iJB-z0&wFjN&hc1|6%0a2iNIuI;C#C+D2tsoOTFFq68J#`A&^k8 zRto_4eHA5Io5|_?e7GwO5^ca91@A3F>Mvn>tVn)P1E15i@$D6To3bf@r-v=%Y z<19iW8&V`rIN{Me2ln<7J@`~ZbE>mBjB7xnFK6|sS;EhJYiRVjE^6j0Ir9gQ>CYp7 zEOoi#mJC!ZS+fdNd5}7UXXMi}!*?e!b={0)tOAaUg39u zW9%3c9nnAV@6yo^P!|9lvp|r>Yi2rbYXNk0eZLEt$21-HAfqkgbfjbaKwh{pV~W8n4!NF9-t??)-*~>~={Mgd}p) z5Ted1$X4q*VlX2?(7=rNIb*;lJOVq*!nlW|UPc)v0@oEvbC-DDE zFrVSXwG;LV@x*IW&Zug6EbrlpAHWdzA<#9Bf&eU25j0y_2dSp3&N_*7^-{)kT!rf6 zq4kvoO;eoziKZ{R@g_;WU7Y2-y1sG))?s}G{KD$=Ea%mAi`NZa@&X;paWx+lZ0>-9 z^(OuIVC}1Zq4d72M%PghX+81ay3BT=94@ZQT)~qs6vAO$CcC*VlPQms%KOT789d7= zZ~fkqCucwF`|!)MJpMjD{{Hg1kG&srY-*d{SpEh7<>r_`>-&zc*I+{l&bJ_2bSL%7hG~Rm zzrwscxBK`NGrVGmj4_KKou^|8?f92=4$~nC9@0R6FzV6q$8Z_EL_XQ}@~V$?TuM3E zcIwDf+x9mDLf^dv>t3z4dBg=STeSiAf&vww6Gf=3wLT32zIS&Fqkn^OQ3&FygBJ(g z#;~&cHsLUa5W)$@Lq2{2Hw^uq|A>D=t=$cqaEu-MDIR9v7cjS_$WCa$iVi1%ao&gA zhe?ONys}c=>=#&>ogVSO3V#6n$ab>jej5OMS%)d2560Z{gC<}ApHmQyD1sTM{$zg> zfPWW%(+GwTPeC!TX_4OtxJ6xoW7AihBcJ*;Ot4=HAdiQ^24}$pUp_`3zeo6BGeLWJ zy~e)*qq(gRe|NVB^7}y*1N=Y>_XIyTdRyrFqyILHUw$&a-xwc%$G@$g%pX4d^W*RT z{Pc%u%35_~)6{squa3(yh6n5p*%OC^DubZ9QJKx(jK0G2_F0To^F%(v4D|ZR1k*UcG)`d3 z7Gbt6!fa(;BuQDAK$B+drBS`*fhtFJUXH%WIj%q7!&MfAOo{?=t%eg+<81UJj2@(C zrmgw?2I=|z#?-VOVVdTy==&lch8$u<&eF6e0Z`Q?fu?J%a!uEM82X+}F@srJ)e+Y@ zC%buq>lWdbeP1HnNJ_ID>S_R7-wboeV)WT2Jh|xsyqTuvr#}$SEAWQm0M8?vw!@A3 zwo#oGlxbQNX;%C_I07wg|1O`>C7;6FBzO1}(AT(Dwtsi-X{&me`xZ@ldwuTp8KJ)g zCSj(0N}kpe%pLOnk2~ajotxYK_&fGu4XRQZ@Q??8aLnZ}5ThSZnoKY%MS*Wct_HIO z;em*kALtTIgtyOyUdBlYq%8r@0LdDRcv|dBVRrqLpxt7POzS$8 zjTs1vG^JvMSp!V^Wq1NaMAfRbQ2?3(?=R?CnOJLieWnLa>PMIn>VT^6E4)rAKo4Yn ziT_mgW+jDAOfsE&tgL*h19cN#)wOlqfvt)Y5huw=#S+v3ME3z=7qA07`WU>fs=K}t zNdl-O7OnASeVW!tL2#HTQgDRVOm&)W!mHc1ZrZkq;lCt~t>(ZmqzGLv3_W*TE6{hq zF3ZnPvt0iCPJXn^k7D^|SgcL6u1{rWMv~Gbp;T(P!`H~W8oCj1Zw;joB|fC*p2zX| z|CdYPcW=sZ=6)T&XJu)*ZI-q8m?B{;!AHZijYs$$YaC#~v=e@}ja)=U5s94C)bl7l zf1j)m0Mk3C>18}&e%AlT+_S^VZYw8ByT@Avdj6^jAjb);Di9F(T~&cfl`2)TWT}#+ zN|h{Gs#K{`rAn15RjS-_%gwuIc{4NAe$Jjf9|wsM!!~@4<@`7^oDqjJ1hgCauJev( zFORB~aGoT^|ApRf9Dv6^tM`>c#aAdr8vN0*v9MAs&UV!QPwc$6UZ@_}QCKf@vGW7K zOaH809?&M+3WPVHO`>hu{9ilsHrbBO-{@OEkG%i)aiq@1^*Xy`NMYWq)Gbq4kTxTaz$;J-^sPM6nfb-HwL1h$Akv3dc3eKK! z0P7nGM(qaM0{pChp=SlMlH>Z^6ab_YkewO$rS`F)xkvNEBH@E?Yw6#mCEsCHb15vC z%+ey7Gc6+JY;Cy(h`FKil+Om|wal1-TEfO1Kw7rc|Z%_am| z9`QsEaj{A|E$~A_9hnA*iH%ehR%0G|P$?B#o-#MsL~qE3;M6#jjMK*ipa*1=n5?U? z*Mlw6T;b%dB6_ZS{_pJf3!puC;968uz=@#PXduW(@gxUf_8suo*;?HKbjNu^KAQnl z=Lnn4g{ezGO`4-m{T?<+8+kPX^+wOsyv8}O)X&GRzinR_ZgmY*D z|M6gUP1Hz}-7xa%ldKbDom<4}(3 zVn=JO`%l06x3V}IfudMVddgsj_uACD!cOTED(?EOMSH_mzNP_fac6QLZBc+c3&EDc zB*;Ti72SlzKRX5MdoR4R<=?L~6ua|!a8O+a8yn%Mvr6u<%1YUWTS&w74h;b^A_SE@ zO&t6|rWQCDy0HSqaF7Pb12;Ly;YQaj08}r>O!QJAE3lRbd_fD62n|Yc*;9RTsHp}? zZITNOx6=gy!Vu8dt&H4&$V>|~n0+bvJSkbR*uH^rq!$8=hq7?YxWh*a2m@SFnVJq| zF@P={zB%o!EO53<^gt&zz8ORONV~W0DCY!Y$R%(4QWmq-ZLcAnvbz1kygbE9BcE8PR&{MGQWZGz&=PZ$v##Pk=g6I#iS35=T>>Vuir21)V zdjshRKz~a|u&=6mS!$^d>ZOg|%j3&SdE8oQFiM~RzfsTYyD-lu9e=1_M^mB`M5lvq zGZK@NO9mL_d_a3Ed`ro9e)^5Rj;@C^ zy=bIR&7+zw_#d9HdR~Wi&U}2_}({23oJ&9vfm- zQ%&2nsb23ZT|wBPQdF9C=GDzh%|#Fo$t4MQi}Q*z}mhS=|4Zub!w{Qk>hq-Pdov%BXpZqTt>CUcgIe$!+x z*i1=hG4_of?c-yeb*CEbGsRND5Hh$CZ{9#5AMObHT8Gv)!{a6$na_u-x}tHCx-Jc=D;g&UUw*tAC++7p`h;z6FMM`j zn;8}~bMObzhy|HRdd9gLXSqk?oY?Y)abhi|+QuK-=9O3Sf500Y3=!C7_SiOy_TDzn z%&tCR@7CW%6z84sUeVb14>Xo0>fp z5@vB<9zqOfLPF6ls;*fYDixXuBIkLKn5G5lujLQ&H@#Ia_VA&dJYCPQn)AS(C(&U& z!xHO-H0)nY7vt(cW)k7{LA+8f6P0pBR$qmu>3-Q?eJovV-s1fJf)X({x{z>^P`Msr z+@U{6;)yc{lr>ZSQj}@k(QUu46y9U=fiC|ewce)|FVE?Fe6M%}KO1KEJPue)rP1ll zyi6r*7^E6I^aKkS%g_lV08i=vH6D}k!sD3Bw7l}T7qaMEUQ*VF_;Sd(%G-VX@s}Hx ze!X?{TFe zzaQ_;$;+R=5VpE1iXa~OJ{|zs0wxkwq7MWnusH}55~h-YF=TTg^I8>>FB$1)4)LXY zy?5{MRr1tNr!!xKO7Q_u#Z5ebrifOQ6?5VS4zEQ@(RXE8vvAkk@D*S9`uUfuvAyO? zRy%1K15@+b;ldaPY<;#eb_5-{@)b7LucS}QyEeWC($>Zg=%3NXlZ0%1@3S1e3RU&+ z6#dFnRGFSNC}jc)0@_*b>Af#s{n-AoPx(Ulem*-f>r;YW=!gyo2pumz1-;lL7Q)s+ zI#hSE=6j{~_z41B3g4410xtc5|N7Uns(4ekn@eRKW|ES_TrhJ1To7{{V#Kw8%hH$x zvH(>dd>398NVfKu`HTJK{xdQE({0Ruj=!(I#J=?*Uqb#;?=dsw;7lU?1|b&mpCW8l zUt;TVUh_v7e|+Id^sdWMp7`n_g@7NUr#_~tRq`YqXk|5k-XnK_8$VW@-3Zmr6x*8g z|DSK{`hx2kkA z$T>y=G7BDD{o}&hFtwF=^g&_bWg=J4p&?M40rPOsC7gOYO@3t9RIhlu_>rG~x$@@9 z(l5b_Bom*~-m9A(AdBezPsD*Uor4Fb1w6y1FQ#(p(|&hSk`lXbk4KQ@4nt2jPLGEPH#N<+JS?vCA8@w3ySb7 zeqx3RpZ-Of>N4^z-c!ATd5Pn^#RLE|JzsTz7SWd@D)fWscfxO^N4$W^0(<^RHf#f$ zrT8YDD@>$w{jxu$05ii{YoJprNHPiz^Y)9%3NZF$}WxZ92O$(_9$}%)@55&dxMr0uxbJyQE#P>?$ z_T`sVF9RuN_;nRaGE@4xDpP|Nsupb&FnzQ<+nH23Q$XX*es5pVXd%w@DJi9k7G*D5 z^ik)K9n>hseP4I1&Io4a=0GEVkH*YR@#|E9UzX@nN@hSK$Z=^*r=&dK8!miYW%Ji% zGrg~q1MEy^YBmVda=PvS{mE9Hq+2%}RNv0k!j3-q2R8zkFZcTP#$bh5vRN2i;8l#( zo^`9Wf;7-EM|?FWHT9VhZ}*w`dSvH*R|Uv>qW$~nH81uC$g52bs3kVF(M4%gd0UZZ~_jY#jI{!K(CfKIDnb~na^Fpx_|DmpBv+n5kYVD`@Xr=~T(XkwR=?%KHGO8}` zIbOqW&NDdvG2nACg5Rv~0v^GqPRK09HvxlfHio~CKmPsK0UM{&Ui5Fy?D%7y*)ia( z78=&Fsa^43(k-YpF0Ab?y##OPQ`@EgabA0Xzfb}j=Q$)QVI6z0?r#s*tvXPs)n))^ z`B|LL4o>u4bVfKI&eDEND@}13X&npPL>u;B-g5HgkI&c*IBRz?8QomVl3e*{Z%WDWPMB9gv|clN)@U!@=67e!-3^BC z9!%l01B4c9MMrLuCk}ZNUMdwDVjsLza-GI=fVS*CSV$Yc+^UxZ3vY(hL63P=Kpa(Z zoa62&ul$&8jmylfEM}FEJ9%)5)jXqCCU% zRDju|%+P5cAbaZPtIQzB*a+hD=j)mOBZQ9x@juxY8=0i8G+lql&AQkZnr_EhVTPQVD%JKz3*wRiWY_j`m7Rc?`U6-A(AGz+ z!WS=aP~}X=HpUsXimOC5MU{4%Y$5!NEsU9)y|OEi-2zeaG?pq~&To*Yhx>WP%!?lG zQe(efea?wLWzS>imc{86``wyf}y6JfQ$=eu+vpCV;_4s=OV{qm67CtS(^!jhUM^M|k~( zw)85q(#tpR`anxtAF{e2$I#)MVW5p{uT4NLT2ZHywd3|9SV-5H;NA346h`Mr;R;Jc zbyBIkij}_f2EOT)`?@zUTQrRiJ`ErC%5?yie$fwCuk}Bbqc;`x!EwI8W^8}|x4+{T zIv0##H=Q_~CCTpOdpg3#96DDS#B9%N-yVoPH#NO)bC_Ml2!vO~!727s^}KL4&ZjQe zOoh-V-%OC>gcU zcnV?7^UT>apPFDZ@KT=~Gu91@3Qc`cwbwl0w=HmV{n2-`cy}7yz2!I6@eRM+b-uY}9J_=90dlV-LP&yO%n?YRV%vXLl`9pqPXFip1z9&BJZ%q7h*x@U`8SHQVNX}^- z(%w8T5D+X6_qTxk%^&dF)6P_YHwxd{-wgJ*c!W2Laeo`wU&v0EllEWjFDu#bRIYt* z|4wKzHSoQyNQ19~zbOEDK!(3|Ux&?7vVD&NN-Hp-h}xy&TCaK%R1b`JVJ$8FZd*q_ zE&V!f=G1FN%T)#^Sg@>bdh<P=(+)Jvd&}pkr<2UDQ zx5=fC$4wmVc7Rmtb-X9RR}bk{;T3-3^}Mlkhx4V6NdAcK5+B1jmwu$LdY0mEVokH_ znX|YN_1nFdw>KvK^FHvB-Sg~?g`2g^hj<+}`6SHRZ~b#ULU`j=UlZ&hSw0{2bM1{r zrn=HG$><2N(?D-8SKclD@4O}SpO3y5?w%KK$h<~qp|h+|CfM7z=;9N&3rJ1B#y<8N zzge@T4i{}9D=pMI6xG%hCUQ`W$JLmc|e_P+r|4G~sYGDh(F@_i^q&;^$ z^_cHD@=uQM1-sME(}mXwC7LYF6>hup(JZwWGLHi`o@c3b`$(nAU-#`({YUR)7rU7O zAX!cHJG~ow6X?yIO^`ckA<;ZRa+146bL2W(^r<}S%;$TLrZ`WF2aLby!NE-#gPRMH zhR&fNdG!VE0FDRh!$pgXgDcb9!Y!?`zR*0Aw8M;aiEV9VE;;U_jw zA{;nHH1wY1El<(C96Sd|(1BZ@l;@|YK_G|LD$x2p_)p0}1n~Qtxn~eZ467oe92Cgm zl^(y6Ltj9Im?qhO6L5Vq#)q zVq#*-lqnMv6SGWAOiau&G3!kg>dTa<|DWmJ-H5B*>W-NanW`)&pdtBS>Cpyjbl?ccPIt6fI-_3_{tZg=6Z8MxpRFR4TrxC)%oHwmF z=DWX_|MSeAciXdx;AeSC&z}2HpEOJ)amc`%mfnH+f2L^I@E~ck#|GR@cF}sIyaC{B(-D2PlAXG11qULx6@ItY%fcY>219 z-FTY&r+6A0Y0=4eI*r>u65|PAb0fZ7Ur!c;s1-BJO~MW_-oKAcJnIabBt@@e+H7TP zZXU!ZceNjm@kt-(2BeB1K5;S1nEE)joMNhsEg6dsvE^Ajbgff7jIQD#@+;pE!y}l7 z+04&Y{Pb47%ekIAR}e$^Ja@+WhITM_wrr{n`O|w?KU%lCG;q}4rTjM?5F7TAPj&Yh-(F4S>c}UCSm5VOge{JGtjbsvXLQ<($ZymJvru<$J|X_W?{9zm{>$RaXuz6J?V(36H4> z4!ApTSR$X*nThYU|DvA7|2{e|=a1?>;r7%{6&`9}uUgDw`J4yOS&?Z?fEwVqZJ`OC%nq-d9#7d2OD92#opS>TP>3=!$AQkYT zWB~XyGCUHc8}ZHiwbMhVdLkVz3qbO@riflLbt#09QqPvuRCTI89|ZmK5%5d12;rOl z*qU3`vkfy!+1|h$72&h?%aCTY;CijvM{j6f@`~wO)qV}_lc((ynzEef9NXJ^W_q{s zo7TQIBKYRJ4ag5RKFjYKx#``?V`}@>@Zp>8q&%!-dZ*gE(B8X4e{BTt#r7U&j5EVh z?b#dX=O}-z<|DeWZsj)yg$4C|kMghCz>HM3H;Tm_c@~!3jVyJ(UxPdu1nZf;VZWh0 zV>L5u)t=4y4Ia05VSH1j)899~{O98f+9{a6KGFYKdj|B4)$g&NmEoDz9sLaZ&hX$H z@8MrL#qrftd%XW2J#8N`1WO0{v1#4v=c0XxHL{sLs`icP+-X0~_Ll8n)eQ1yRO%nb z%X!oI&icU|Akh9+{`2+`!yf2`YM;G@Y;)8Q@&d{}b& zxCn(VaXtuG8m>jSVj)|}HK+$PtOqpQUB|dj+<*rp*m({Kmlo#`mR7nq4JR7wpUL6j z!D?U82$USKWNbxXgWhdC(*&{KztYL~nZ|cx*!L0ls)&We-n;fzYGk|bSBAac+AKzm z;JGM;0nX((r_sgSt5J;A-dSyx6xIsjv;!oV%99!Dfy4v%XuK#ne2zndau7|aqhIOv zG=e(bCI|LqmIL}S%VCl6LJrW!_&^^oi}h~HnZHFjyj^CKU^Wo|yV_(ag%DVq#&_d( zh-a3zn}s!>SweX?kH!ypjTOkMp}@{ATOGzvTcO0O!}#g;Vtiyri)OEJNdxT2l>#fp z)hj)iTC^h@<$ZuN!UZQC;EeuE-r=FV$P4V=LV4|7Vc(V4xR=B9vL4x%SjT!~wY-;; z>GiTS#}i-telfm&`U1?C<&TZ2?HpnU;4wLHH%HE=gmcXIiC_6{I5Wm&xs0!9{Qc`M zU%r3+aHO&F!DCAB++_@s`05nR{Csui`D+>Ad7l&jH}Uyt#A3Ht{a3V##$xpj86*t> z-(kRQdYS*IGy`+BG3A=ZcR7Z`-a#5G zm%GER2NKJO^Hww~=tE~Qk6SALNo)oW=be)r9@s6)fp*XdZsAGA6>}-dF&M)`IlhA& zUd2EaKx4BT!B?di;|jNYtkR{H)W=#cVeZ=8_`9Ov?1z}U6^ux?=XR@<;aH#y&yvbe zG>rRm#(_qkaHjz=TA+c^2gK+tta4*9mstlI!Fy>G7Rd#@ps~J3l^A7=y z3)}qV1=t^HG|a`EoA5)?K_LP6jHkDX}iR|1i7aGvGl;MBLBfCTiw$`{& z5-7Va-y*}gUAGpjAo~m77_Mnt$-vx8|JqnXZQU~d zg*FXFw9ECd+m1cvlEW0;1!M96JHW){QJlu8mw#RNdQoOsiC;BFg`O?K z_vp?Dfmgft$v=6RasIqD9^XtH>bS5;ncQbT{D2vhC>AF{pW^R!P#KG>%# zKA8M_Ut^KAhL#N(6E#T5p--{Q5&Ap&bj>R)%S~DCx0On#R^d2d8o|Rjnby0;sRMh6 z!5#v%1x&~awon%Q%9oBA^^U$o7R3V`&5c~&Za0QHlZbuC{FU$UIgn{1Z8YdNn;ySZ zeV+Loo<~pa-U(3W&_@zn$ny@LIqB$Ho+my-7VJR{;0Bh9SOZv7`-2Pm;4XtY&(8^+ z&!a!b=4%`-;vDz&s`)O%o%;{pZtgOuGxJ+@*8Wfj;%9dz*06?k@fr%sc3V^6oX$E??Db&!=qC@p0E+BF%|Fi6uNl>4djz62Q` z+?PNE3^Exm$do^qiQJV*jHn;X1PU^3#kQ^Lb<;G-vG?2J&6I z_aQP4=f1z4*Sl&NtL47BJc~oPX2Kujt80>(E54(IPYsc0>U82ko02eS^UsG?FRHDl zGcGI`bNQZ|O>0ugAL=>#6?HOb|AJ>}FG?~fA|{jffMb`-x)nQ!`LM7q@k%0bGpx>= zr@A&#BF_zh{`CHL>ko6DqW&zrKKZK2q^GDq#yW`c9#1pQvlQmb$aka2^&|OSzXko> ztJ9??j5Q7FkG>Y5n?&kQo@F4EFXA1pIT}36pS^}3Y=Sk(|0-Mj_WhTINiNTulZ>|= z4(r+s@kWG9bti8vd+=v`=am(?rKbQBGR$fws|K@KCx-v$=>+rO9&M_mG1^p2N$9(t z>pPCJsqm3aL14pLZYK2EUv70r&dvX-{fGAVSt`~0FV7Ig(iPrh^RBf)y2dQ`lr%Mb zs-~%uG)>^EJ7pOQ-zx&L1u?rUj`BQ;@Xqo4k^A?rIgCqvIFljw?$h0Rk?b^5Bi_<| z_1@|=g?7Vi*=my+x<%+>*frRC5$@Jx5LhsRM#`=e@COb?Y07g>2Y>kT`EM^Uw)pfS z(jzXS$=0c`h(mlw6e1;Cu_FCckdX?OTVCnIf(%d{(90yfzi6Lj^#-K%+kw{0N0qkf z6Z|bn^h|gV*lbY?Mmph{0T;N`$JcVbpqXC)(ITc3cU?UZ5rI)4v7|o${a@uR>Rpghr6qDU>5x)z~W^G)`rmHIkp z>qL5fPk=w6Cy@w`J!wQ_2Er%fl<6t_Ms-l$R8?V@dPWWavdDNjcb*V=NN-e>uVpfHsDogbqRp41^ zlepk7z4VulU;$sW|32r59wY7Gnb$ZX*mrs?f?>2p3*c`pLbKYpgje_h|4HIFfsgJK zg(vdNa;QsKyef)=1I5{y1L-iY<;x6o{6V3mlMOC2Jl4hy_zA|$J*-Ke5ZpTiU&@x5 zzLH))p9WJ8;`whpWZ>o`rLbe=-22np6Qw6PlLMUkLuQYOP9FOCWu zWHI8AG!|M7BkOI-B*_QA%;kQ@M$Y%c9Upj^@2RO`K4vD15~bh+aU#aa z$F#!Du;Q4+hptP^M3fhppftmaGyYhlX&V;4+(!d@DM_nxRGSax`Gp2n-x8n1fQ5WC ziYhp{%uaiWi}0oZpFeaneZ@$!Zg4X`l>}VABMb)=d}pN zd$i*RcZAOFkHHik3#*j($Lwr^M<@lv=+mTWk}_!U++PZFYzBJ#CpE)NpNBA~J79%iuU#IYuR=)E92@=7 zcC@#jwZE>%srRp%&vNR^^=n7EIakJ;_k4tAcss6pnDe|Hh8AaK;l2{? zFXEVOCO7)SqXEPT`)Yfc_8 zaD9t`>j_Qdh=GeI7+BxxF&E(t2KHcHi=Sa&Ra-lP$t+4toND;Y#A9^m9&RwO*bwN(YURwIB&+2i{UPxS6H zfIs8L1t(OsK4H$mxw3~j=dU-j&X*Y~FB{R>nDFlm5l;p0`;{1B9D9a2a*vo;xM`7D zQcs2hdWwIap1J{bb+EsyvlO8e8_s|PHUPLdk!58WE#fB47n z@_yvQV2h35X8jm1`$hN+FIN!nt1G-*>^eE*=XjaRdGi)8SBoBI+4RR2X501(FNe~1 zp5bNhfR~xjh)V){#>>_PUiMZBFNYvQF=LZoFVV@%1-4xlT=X3C^Y?p-5N%8B1FZEC zy*Q2n$yCtXSEv@~dy;-9M+5QSHA22bobw(A?$_*@Vj}T5MI1;xK2-q4VQ$!hM^}Ou zmW0n(y;JGtDP}&wbS~46$$0|T%DG-j%&ZXSDD1i|aoJpyYT0bT2)G46<|3K-9M%{& zD~t=w9AXdV6$VE&nLhMlGZnZh0L;t_uarPME+u3}eFZ?fmb5>f))(Io>z6sU9`G`( z;uGQZfKxm0-%bRkHEjA${ip zD@*&^XH{j;eFm|l1+46gawEs10-Y5S!`;Km_zXWii_3AaqM9kJ9KH)Hhg(&~QDWts z6PWA;1A9#cyT;0l%~%=d_xkp?uh zY%H`0vlMiM(Gk|5U7MHDR^n59-ja6y0858}rTNqbdISp*Mahq*7H9jGH35w)o|NGc zOBVoSuCX*=9Bwai06Oc54H5GSHEz|6jjyqEv1=DTd=X2pX;h}AJbMS@oG#a3|M#&p z-C3rKSQ?kY5=+3;PZ#(2+Pu$&*M}pCAuhe>fj& zEsGyiSJ>CjcD0syd#JU9wZK}7s7aMZQHqDHV~7Xt_x7>c7yx@Lj^VA*`?vE$8KYI4 zYt1WY(H1MuASElE7YI^UV`5(v#cap z3_cf+-$gBlG_%wl)~2xQ)101<=GX9@K@R}!i@7~#1$uJs)00zbUEbI(z3&`aEN~wn zvj-C3Dcfw>`K|YRaazJ0*9B&Djq-hf4eueTdt^~2juFC%k`uFMNG)|HjDa_iCJN=AieeNuPBTa|Ztt6Tij58LD|HrM{J#=E(y$Lex5POrd=7!CeWri1;{M>#7?>LdWstA2}|RcNHi zT+cX`vs#x}UbLK5ksLUsCvsMcVRFHqv+_eoJqJ4J5zcDyT+V7U+@!QOp;bSp)aBKC zM+j1xN)DWrPWHOVASYixfwQtkpYJ)V^us!D-QiG=PzcLe!8=7BVU1Mr-F=X=>K^5+ zB3BrCsPisOG~p&9n_l8KgKt#H9cPtc%9?5LLiXBod+n!iR*@@BxY`DG`{b3O6FzWO zWvD}ioKOOWHD}e_Q{Pq9H2}d;d7YD{Z^7DPNRN&Sf~aIl}3+R+}0`DjTW#g=2@01==9M*A?wqcM}7ZI zJk_K1RT3AGji+XN;H%pEYQFU%K9~e&fJ(#q|x>)jYs; zHGPF#m;4=bU1a;&xGs#5^+Q~jtHPQcXZ6d+~Dw3 zs$DXO|3aL3vbWz47C*RIswK<-mPC{d#$@zg|2pvHgNTB|6yd zulI;vch~FinuPW8NIo&nujY6?8A-o$25#=o*!!c_x$gF!(Nb#3kcsX%z3uJ4JHGq% z0yUdJpv(88yn?)}nZ^NXd#&HE(G2~{);|h?o^&V&wY)fntw1l#- zHdXzh*7)z{OSfzMpEqCnu*U!YD_=@?_1Z_q#a6@q!Z-O+X`D6jFkh-%$9QvFuRRQn z#~S}Is1%F*`+RBhXud>UWx~TK;w7Xrsm+%JjxHt}gG-WQ`8|_Z<5z%g_xaLOYy6Mq zOTYg${#%`AKOXkJeCcRB?7jKY^J@I`Q)>K0a+DxlrMI%DTQ&aN4UTI3lC)3sWxNBN zpu+uH#h;!rFGC;LcTKi0c0t=_AB?8Q9k zfiVF?p47%}ddQRFr0@Pv#{{HyeC?-<35Xz1T3*(WC$08VxV&ASG=FSNz%$nCC#|g^ z9nL?sUGn&RSK`3(W_NvOW!Lb(b$vL$HjX{t(Asr|*^XOhe|>lR;Pr9Ms;b)85T&iv zJam3umcz0qhq_Jh;Q58tkdEx-e`tS#%*uMaKf!jlKY^_wx$@R$a{rnAyUnf7Hns?f zpTYgy)veD~htH&~mmYmK@`_=9!yAmYn-%-|bikA1Dg-cjHDB2MouD5Ex6d2hI`0xN z=CECry(WF|n$4e#mQIG^KZT<(D8m{(cX*QQi0RDDXz9fTW*QM zjad;8+$7X){ye{tTBWLU2Ulu%WET~}2dwT-1{ zn~@kfq68sj8b`ia`$8$1`OO46yRP-z4|Et5%J)joZy})e*)}KxP1Z(3P|b6QbPV(7 zIp~j#u_p2rAU%ZKAmaqv=%B0%$dJxZ+E;exOE9Fd>U1*(_DNs5-r_o!Pj4&t~=1-`T{UIOopKo$v9^H(GdiK5Vdw zXl36_c#Mt&nK*8diZ}@p9)w;iwNz;pVoMc!V1`GaaK$)MORf_+^#K!m+GFKbWTG?* z@wYNs0nj#^L@AMrTyZI|dYpl7hAFvmBWxti%Rco^)EC^K^tH3WysVOw7s+7)U z!US0rA>FXB3L`-E)qXw}5!ahCjM9b_!$c1}%sgc(;)WG*qSJA}OudL0V`U2uVZR~U zz}K0|IlNsf8YvRcEX_rjb6tS})de3#5zUrJ7<5QN)Sf63NppXdqSClt2jyX;>P(msx zbm|sin9VC8wo0u9yR8~$HbTy!nlk4V*!G`0e*s?Lubsaga**ll3^Rhsx9|2wG`UgI zIXnW~xH!k5E@bySI?}>O;?|Lws0#(n4c;N#&`1`k3aMF@ZAYsz=AJ4c-zv9T0_da{ z!*fszok84I628Ec^-831F4+dM&6u&eixNirwd)1GO0qDFgd*r=4L)4+YM#^;O*)DD zY)>5F(pfpxfWp2=in#8P_FIRy-)ievP%TXSg zY~9yu+_(&@9&FylI-yE0MBXe}qZt!sQ7@Q;Yw1qraIZ$kpqR)M>o{i4*v0wK^NHj9 z1hSfM9UO{t2Br%#?~(tzVe8>D{1PvZ2UCyzGIph`R>b3w5O1+t655G0Ni_*_RaIHP zb=$J9io(tMYT|&_8_A<8mXhfxO)?(m9g{p$ecR7DcR7gVOr89FJX%hvjjS&r>V5CL zIYif8=)(wmemVk_e-1h4$@!^2dri*3)V=}-J9&F@VOj2cBuq;@0N#2DIJV_2+4>2O zx!|OUW$1e*;T$90lorjUl*Ob%Y zvFTWriy#zPBt3t%fk124YFenomnoqBAWb++V+cNR8duPj!o0{LxXtPsFp3Y(fTocM z88kJ6Og2k6^qOWW`E z`uI=O$88Plq2!<@n-pBUJiDV0j4n3k9P}|*&l`lFZw40xDq<;TJmd^;Uxf=!<6+8v z0ZHEOx14MWJISXp$-3scDQdF>oZ6Zi-tyamvMi2b0h()L3bw&mHSw zyiO958G7wa>@QpJ$IOTz=90%t5@N8Iq+q6EEKXwDwv<8h&=zOhKzE&i6++DY8|Ux9 z>;4nyL7oXk@{q2E|5&mIZKHJ4)e13Nmh>rr%@Hh)%ntMJ# zFEAf)S1J_@OoMY#%@@9RHHVLV^^s3WjBJlW&lkBKctSWl*D;V~K#(3)G|WSK)!3(z zkd%q|Dz{G)ndNa1hL9dOzLzo1BKRQXzR&Zh6Or%7Z~}YabCRTB@$f@C&@JefCy{*& zsYt*M?Bh@yLmW6C3qZ&h&R;se0v-R9y!qveGxz)(cl7ea9|2syI3eh0Uw?~gIUQKP zy@MK0EYg2xqxqYQY3)Jh_X==2(!Z+P59Cm!h1LEI?bTdBjZhePi*+&QJc<>Om7yz!}6{a^# z`vLY=mddh#j*FQByPjJn$EE!epGU$?`+DNhBvF;jmc*0NG*XV}Mw(ifxs;K`dSAH3 z`wXz2dbU0>-MUwwThwQ0<`JL)vtIPd6^+)qEK3}vQ~wGqHxcFA z7cYwz^8E;mSVl}|oR>UJiC39oBCz9X&#d6%BuO$>0xY|3M}ba?HCbDp*j>FZt^Lg` zE_L;1{L!99lUtEf8~FPY~J7zjy&br(d+3Pa#ap)N$I{6F?jY&sDjK7FAW`SuKmL9 zi;-}dB$1GikaTGp6}n#)6|FkPNm=NO&R20nbP)u;FMKSt!^spPE2988GW+OyF}xQ~ z3y5hEA`q3QJfYc(fVd9ERTxgL~V?r!z1Y%1M0-sG_#Z0 zc9!5acJ6i(1>>&?U}B=-}zVdOphcmek7awyH~CL_nE3w=lMV1_nog! zoyy2*odOz}F;*j=vB>C7vUj41X-k!ygkaNXtSE{|W+f^TFfS9zG7$HpohIAi z*bLhqHcTiGLxt19Jiwc`bTK{6w`TW+M!~a~pHnkrlXw9+Uv25&m_3>I zWl1K5Lb+=s=*c|Jx>hccjH$Jn@0A;we6Gy4(@Oi}zN@Hw$@Aq%VzSP@F>kU=qT8`;C2x}GAi+^oRL3#1saUpJ z^^5t&cm;f~P&x7>A1+*u=`eY^b$h?l#=Vc!$H440@ zJFcFUDbtdyl63LeYvfe+jTI(~jha`KD}GHaxRxizoFbV(rA9T#OGwcCw?Okl=KEWQ z856tL!gI0JTm&Y@Oe2nr)M(yI^CEBQzUx=n6kX?w25V?HO5;Yc)2@{E4H7bOM^SH7jO4*W_%` zw2X-Ah_+=;mW8xPMNJ9SgqPEcV%b!bWFzY}#udI~`^mUnAc3z*sibDo9Np3_wNBDC zO|w8LomLHYj6Su3m~&;vN@s1^o-{2dWgEUcp7N5+deWS%!DG*Y4nZdS#iMq(nrxRH z+%A%Ww{nMqyL9HQ(mDK<{AzaL((vZa(#_Famaq9qL6KBL5+}{9;}*SCz9?B0IcX;izg#ic zgu>&?r3h)c$)cvYWE!Y!2(usG_L6)xX_)0yIh{`Uoc#AIz*+xEZ6^nF2_Uo#uR+PG9Nm@m5m}$uLxYX1- zNPBV_ZX+jg+c}xr$?fG-?f_@$HH&a@R(U7 zco~HZw@JI^ma?frDMQmQIpHL2-z}T9yp!V{FQQLo9kK%TS|g92ygES>a)%~jq|sBh z9k(S@C&8&?GEPcUY4*zQ79~X`ZOW2F?UASUa8)rB{Fw9+f;`}T-COjU4iv^ z?2e2t%0)41i=|;(h%MqU+jwaQnO>nU_ln@Y zc<{Su0UBh}qP7N!*q&fE+z4qXTTC`2A(JG@%BT6XoODtai3hTV%#vfOf=2TuCu&Z( z!9$!iUZ2djLUrp$71yoTc{}*VOj%b9g*l7W6j|5w(PWyj(|p9Qkr7=AjOcVpGfCR( zJV!*S(09CSn&q;={*m3u<^s8hOqSlIu<+O{Y|0f4o|(O9fY<(Qf8RN4vVOBquY1TN@u|Df7psEffN; zbJk%3NlioZoKB1G{Ue_h)+HuHt3v&)>hJR%9wLI%6rrW8otLL%)W9oOov>CR7r!#@g8gs~w zlth_`SE#GJRH7NVBRA@D(G>-`NEUZWCSgk|&(7+8y)n)lIOzgYMy$`$rk?N;X{lbw zG7+A39TGE=!q}PcT+3DqX3oeLqiVLH8q-;}>1q)D7Z}Dd+Gy0#i+qtu66o-d3qSR8x~AH)rM83tZzg zZ_*=DxaODHJ5zT$+Z`#fw)HoTU^KjpP;H2+AUBHms#%}CTsz~J*}`8Mnlv?S7`iFs zg01Q(ZG)GgpE{_u))99@&D6TPxN_RzHT?-h@useTvC!+R)!6-)4v5}WtN9uCMHeie znlER0+2h&l&2@!bL!&~wc#jdjR*L4pe#u}}5yl%?sajWlOtU_@mQHzcZBnm_qEOT| zSrttwIb`|vd!dVgCw$+Ce~>}No^3{6RAi+Qb;RhOxu>JH5vs~P1#8~ zJuXx$nm?`ub5%#EbXf5eTe&x{t-hPWPdzS@;-G>?(mzT@(o}G>p~O>O(JOfLzlip< zXxtQ{6_Rmjl5jHjVeSt27cbb3WFMZ_kYU3w`k)OOmAtSaq2YqBm7;3q{i2Tc9j9qm zbzJ#TmRCH|X2ohol*Yprt)xUDuj`UZGc~EbMWYqfQAuW6Bylq7Y$h$~5l)+|k)4@} zx|-%BWHqI#Y0Giw!a~DQwUm=mGWAGmocU*o!;YX}jFJJ252!#ZRDj2pCX%wm_>s@7xacV>GG1tYi2rKn>4Fr z&+t+q%}5&r9mduRMnEwmX*oq znM|hY)5I}pC8T6Y&}oV-pWR|R=(P(k*quS2V3Z1%3t7EHX=?|-9mxXgwNrJXK&#eck_8ZQ}Pq|iFl1NuUO1;M&=W*w*SS(af0V) zZtTR;p|`B%)BZ44_b^UjzOevzP0=B+v7*5}H{2B3960pZXTv$h<&;Ij?39j$g2LB4 zA;Y#0C9)-wsfgo`%WkD(PiFCzRtUo)>KI0 zU7CZZ$#Rl&TBDjuWus0uo73~8Yto{nDQU@6B~`Lh?7?Zt63Kj(@;Vve%%=2pvby{f zvprM6+DW!1g82}aW3I~a0wxhyiHz|#zatbjZ24XU(@%ct&Tu5DD4rqgjAS0L_THm_~1RkG0Z#9sO^76ZOgG62~8(W zO{XSnk>q4KQn2+#%{R0fZ}Ul^;%mIte>1vqh>dNkaBCj-7MNI-imJT1l4kjbw2=GhR%jn_O98&zuQWk|%DQS>!!| zEScHl%jeH+-430%JZSm|9IFeKN2I9gD?Hnv6U&+^rl#w%Y-#yag{Dr8n&vUmcyZAw zPHLK-bdySiqdAdbJEgL1Rd{()j2cD1I+16)z(sg=e~#IlD~SO+r$+0PeqhefIs9@q zAzmtU1S6FMUCY*HH_oHy-Z+m7MZO$N0Tka(%X%uCP>VU;uVxEY*7B?}HW+}2&(k)GAFS?HiC90cCbz4Dmp7ZL~UbS$M(u}GtYOQT;uUbbuLK7a3 zw|$!*_w&qEl~D4YUUBoLYmW0(pR|dWmiVIPlUHBUq+am| z)hVb}mF*Wm)lzegUbQ{b)@w9)ZC-OkiO*|Raa{3hm2tnM@M2L{W!2!53U!(6d*|0` z+%_!dg0*52fD9cST@{X3m`%3EYlP-Daz{3n;#QGf+jXHaGUYT{x(GAR8G|I+8YC-cv^dWR zB-y=&5lJ;_X|*aP+yo8OyzVD66~C-jOMWJjA&FwpTwCz063_7^#ZUM}Kj)`OZSkor zaZclN8LwC}8`(tEvu($6NEgur+oHLvl`iVG>^PR6RVCTX)1=f>Y)8(eRaMi{WN#RX zYA4YCW<-W>F-1MFsofJYHJJvHHqT?DU?D$!GUyoG4_GR2S&4TPnvdy5uI!JeD~{!9 zN}X5JjwAaO%M>!gxZzrLrJi?7Qr0vTL$xiXQI6Y5(=Irfj3X*2eRALso%5I0^n{w;S zo5prw^DNgPv(ll-spDI9w5LIKfg6#gEK1zx2%Vj6YkZ-#+9w6^lKmr{LAbk)A9oHddBqCbJRAuhLY9-SA}pe9LtWP4vD zoq$V20>(Q?8%5grw|oQZII^TOyrnyQLN~GnzmgfxIyqhO>%5ZkY?52DEVvOaU3N-V z!OfP{l2edq*5KOdxRrF>CYSeIRWFjz^AshQb7?Mhy_m}t z1OD-)4u{GetbJvx1E=Qk!TLZUcFqCguttO`xvR2mA9XCsse1iE!qwHQ=yQlajZr@a`rtJ6*%oC>t zL?9nRBmVsR3RAy<4PW66mnS*xJEU}ENl521mPf@Z=c$u&c3qLmd`9-mbk?&hw?gr0 zMjiZkHL?P0e$k@(rPD@S)U>Kq)hVKD)1=Ur$slynX+_gqi#PPDMe+hOl?HoEr$Kh9 zlo5k_n_7n&&2mdaTRpg$$rhkNKd$3fOi2VT#>97o$?~gs_^D#mqMg;oo1Diaa)#&X zrb8;R8HGvaTE{SPL%$KB` zla_2(@>#EIs&ANN66m&_*IgApHjCz1Ds1+3@OcJNZ zY&Iz(dxkBXVDEgY`C5q=HQ%lIGSN-r(^=mllYlM2uJU;{S7KlKI}1m(F#e;8koWay zo;?ae%ExwWDQAsWT*qL4usNb_`!uwioa^SO%^_c63A_!2t#sVbszFe)E_~S9$MC6w z4XrxyVZW?g>Wq7Q%HxY3o5VGe{&+0$V|_eIMV_og(q2St7!|%MHR`Ny>OQCNS)OY+ zQP(u7JeI?r^6@=~uhHP~Q)Gb@6i?+-R5h=X^UN%K2r8A+iB^KQmdsn)TIL*YpWm;T zx0KDOH6gD^UPg+PCn~xXO=l<7tdmt3RSQCbEwYc4EjPmyhS5kFh9K!G&B)S?Bo=JM zgd+2uVjTs`jY*Oz8)Fe`j~V__Ho_t>e8Tyb#1}liHc?b*8tka1rqXywr+mj_>s}O> znm!+qJl)gWm{+a3xkk}Xn0hjsA~Utjh=AJg%`D-7z7B`3c)ogWWk;hLy4x zEYAgsBbb6nIsdrkM#{dSnmQFn&-i9eup74KX7g4tVin1*EXLSYciBe4Pg;61m(uwX zbt@}OEo&A^#i~{<(Oju0l&CBUX}YDX6!Qa#!|Yp>V9VyN<-tAN%XuspN=5WUj_eOT zNhYSAGL>{vETzbd;N6s;CHqrzjkr=GQ^_^;vXk;s89bX_upGWFOJ!FL`d@1*kqp)x zEQ2p4Tq6Sc*IJe-V1^dhqAt&QTE;TGdfhV(Me}HGo;RwLzmt|DHBzu7oAq)|reWZ@ zE_-cD-XAyJao!TVd`T_geOGKfupUW&5FOvT;gn+zH(4k)NVjDgWqc*quaT-HU3_6R zPx;6s=j(Bq_{Q#zD!4z2`9B+w_)c|Kk6Mf}8N$5a$mweX~n z(iry@mCp&(GCpzEY}8dXX(wdfD2j%Zwv&l+qbhhNFX`-2|G+Udi!Xu8Hg|crdVeeK zo!`XW%H7W0-*)eFen;zOXUFO-o0hh2{_?AFLp0t2J3n>-|5>~5BhcqtHq4k6Y>K8m zSYB?%NRlbu_`gtw}SgCmxR8`*8TarxCaAY2wT|K z5o{mJ98a)iV?@T4^o_OglZp}e*09_q?2HXq!O*&&KRp%Rw0c3f#H))jJAxZ^LV_)x z%Q!_hGVYWeKW~~sl08v1nWF(i!)G#|G%SP9xxU73%e$^k!^$K^k`zhN3_0(pbzMnk zOOoOg;-sg^#B}f!spYd9)@HU?EYfrU1TOehzp9ZbK$3|5lyM`vZiup>WZ25`G$|3) zvqjM)>m|wCsy(%4mH99hlN45%9foP;^aEBT{vd_sL;5Xhn{HA&Ox<)_wQ@oGy+n5U zs^F$uwBjaHeBJP5U8FgPWSe!ZOoo$eJ??sQYzo zO5N1`yiDdqip(-yH_W&tN~D3yL{XPl{aoH60h!Fode%>yiDW@{+`WZYTrt-#+!iZd zyhx#i0g4wd-a?_c+n@yoAKblAq&N)j#oY!N+@UbIGdL9Y!M%Ju_I~fZ&wp^&+Urbq za&nSM_WmX3WG6e)0ow5{FOM|z z!vhZ8$3#~(fZLgDSb40<;BI`%hhiahSj3Vlu1tZ4w2r(~5z1T&kB~_*tfYpQKhf4~ z0uJXfG;-TL(9!a61Ex*6HIO=g=%$HL*GiG!;@KoX z)adpiy$|;CO%mdbQv$z>0iY&d8R?x?Kc~x*0TPiU{8S$MNj);X0Fs{&2?3Vhddv5#9V(FUO{B0Pa1i5Ox5gXjkTe_y0UOHo2;K9bSJPKfi7j$Muua>IY z@oiP6crwS9Yc+-6(N`pSeM~Q}^FXg|@NlA((`=ocJEMvEHV|08=QkQcN2v4rl|o_6 zOv*VwJbr?A8lK1|BBG+o4Hz#P3{_2)xtPHfv@{QgDMB4^4o*8_8SS~pvV?EBE>sM?d^ zD)ee?2>x6b8aVVT0)O~M%NEgM+3mfB)!$;ZGcjg9B=8bKe*+_zt_T>K(b9n#X#uylFSmXL}k@{ zu+GRpF<6$?CU-y1wB2eyD%;fAV4y$DbWlNYnj2C8I=#_hJHDlF2cLp3wJK6ImWc?1 z%Mri7Fc>DXc*vA&PeGE{#tzxG9jr28Gmr|M}%4mW0(?M-$Y9(3uKPV_l;YXm@a^tc%@~`oEU~r(Za*A z8kJ`av7)~eJk2}moNd#T)5wJHzP!GT4S>UgD_+J9qVyr~j5Nv<&#-*QSK~amWTCz# zVWtnVzh&c~niG7xC)(A@zhttHv<~z#&7=Fh+SD9QTi%15aD(c(8F(RBMPKzcqU;hLghUw(VPRwq9sbe`f!t zJJWF?l3T_qyof!nY$jBqglnWmNE%f8KI(9chhODeCKul>?YNo?RkpZkZGAUDKEqhjB^ZS5WBjI3JM3eX^Pa#e8;_JYU(a&oZ!$gguP*wpCH1v_ zL3NuF&n)}6`lXq%naH9m;vaBo@|UD!zS(_d=KbAwLS-16L=mdF)2Gff=}6d8d}8UV zr);{{pROcTn4vg3P)$6iQII;}B4-!R16hDENDFcXc=Y_t=ON+-%h@>ks%q&iz4geR zZ|RgYD)oEC4%Lm{nXA~`c2qIp_Pm6$%vLs$ltXgS86*Ep6e06v%gxqL(3gjP!T=s> z!exR2Tpx?(VaEyOFS77F-mBrKp)c6?CI5N1u%a01sVz1oQaAGhr0MPz9);{YB#l1Q zP-xVcLWg4rYjI}eY4t9gKvRV+MXR>`tSo-UAI^6 z0_=S6&)8_%$cmpOGtYGqb+Ia8VzSrSl89}^OYSbm|CNueUHxTCNHyA;U99=BJ)KZ5 z$JU(9rqx`rKx66%qtm)K#l#N}F1VD;Bv9yhuVmFTHlmWrIXitzvbSuSYKsl@8m_A| z$0`t3O0pv!&Mv>jBgbeHlz+GDJg;=!WT+hOUBKMmWNXd^1ys8rNWJ#*10&O3D|yrx z_h=l9R@+-Wj5Q9jqO#>EZpn?)0@YzV(86nxmB@m{7LFh#$vg_o?2&UwZ=(YvDbnNy z?Z)AVok`9zF-?}#JvCvWmy0BImMelO|7UqWgkevea@Nw3^Q%lgbMU_A;FDFnc&v2q zmMM9Njm7Zq^a*v^X^Ry18tCCJi*`=3_m`1DF9E|sONPt}W#_%T+Ppn)W=3^W`tqO5 zUVkUqz6|a<|Ax<@K>}goYJafmYz#Ck@KTsQjFM84$$#bY+DzY8ktTF_^ZLiOShVWZ zgf~QK|G+Xn%#hPVh$)X^-B%=4SzSgcP2FMe?93s&{7b*Nocwl7cFfa++YpyhbX*#n zWKSevk9|#qoGi$WQFmFVb%5ay&-Unqc05=nmnSZarLWvmAQPI5rx5O&T@h*GJ=^VB zd$F>p-B(f^ruUt?IzH)FZ05wAkcc$SsafiDE(MdK$a%)qJ*~!%dG4&yEel62))en1 zUjq?TiZrf0f^ORwHFRC~aC2V_1@<-Vx81=CA7zZ}bed8|s~C~=ZB|THos}BQG6wRu zXpP36vI4!CV{A$LE#N-3$yj|g$QexNXue>Fuue8_sVAN#mHmwgOanl)m+UnEeGYPb zVXq?ZN(jfw8tdyj^Bo3YVH@Y_L^MpHMo3%27K^CslO57IK$fR#Nkx4!Jxz^H^UvB6 ze!d}#ee`B9-Dd06W1{{cg=Z(_Ty5?fDJ^^T`=P`_w};*}F0L(ebM{ZpUG57znO!iK zRgI)sBu|#@*h{ReY1K3{07e`7RkHoUTX$kk7*9hIX;Udu{W*1>Zj+^ly_4GNK@Oae zibHKEmEDWQG}9(1CvM{M8fPI@CCL#{!;;k{^`5f^oJJy=GJa5&!Q$>wDJ9$b?R|+! zi9y))pG_Y&-Iy=~caGoT8=-w?odF$QwN@@4BZQ=Hf8SvD$EGrdf#wpQqM*v}iv#Gf z4LHs3QY=1e@@NggjdQoIr2ttnp_1LEqSP9$vK1xPzWHz_s|khi?^B48ilH_xp~asf zCU4fw6!B(07#p~baKvT#Bj%oQ^i4<}mJ%eMs(Hx}r?7!zH&ML?O4P5Jqo%CHDth!+ zxK!cZnxiv=1k?O$1)TC~qs;V#dnbX1B^Bwj_r^VDX*93ZR%fNh3N<1b8d}oed7vPh zPFkSVGQSHj_fseTkH1MpkNeykBoT}hy2qSDNoVVdQ0?(B`bt@%Jk;jl#ApDqWIWGp@}0&)Y9U3kcP!#MIn=ITc)ZwdAkXkL{2; z8!fu2(vCN%Ok2Y&3%NCAILK@yWErea0OTog3&&b+%9U9D6!Y0liuSymY?Z)%UgLB6qvw!g3p;&LA$X;tzWqfP9*35L#$ zP!*A+b8hfeKk6|b5Bo?;ye+$4oUl_?QZd^IADft8R#L*`U5nme_XHmuM9iS(AzrQc z?CI?!I-ERV2ql99Bo7_qt~KNGZg3+LN;Nr-1r@Y@n_&q!itC*#!jcs2jjASTIFJmm zok@akjGpEn0OkrkT;m#_>HaJ)bj>A)Gz>amnB6kXlf=T-Iuf^?k`JZw%W?!jZYq_G z#Vb}N+5I^=APRPcs8ua~X<;dDfg}cRtC4b#xu>J_48-U>a~P&toO3l{`z_%YPNpz? z)ZZZF;w|mg`!3zBrujFo-^_tT7K-u%onf4rZVDVpZ#mQ1UKS)-g3#uWLq&orQK0fN zwO^sAp^GikO>Wu^9j)C=NzVJrYZGtjqLW1As##lrl{+ynPlw8Y`Aqf2a*9%YhZ2(~ z=dy~9maZF~u5@%$53*5Ps#5!xYmZ4Y;=Rca6S3h@PDw$dwP;Gm3YB#Wfh4ce66aIW>8mn$tZ8Q+T)L)U6GSnXn{xaAPbVbPq&+E(#?iOV5 zLj{Y$eOhteuviX@yf5;D++d(>yo*-NRG!{68(aRh%izopUdS7?12!J)ySJm~nYA9o zKL_M);?2{dSWGcnQM0D6aSTa_^E;^r-s`|5pvCZBjgMkab2dQ=jpQk3O%v21E+;Q5 zk>n+Y$(5CEr;2t7g4$Jb^4vAaT6lV2%Vs2%ZrZANz!;TR&LWm12nYj-(FjQgLLH!-{gx?v6Eq_LYu$NByw4j zTTm0pCjW$j+Gv@k)7KK5Q#A@v2?d}G6uY%aj=XfH^i-*sokmv z+dCznjxAj53=W;cpa8>MRb9qnqU&%=eVH&f_O%1e}adU!NHFGIM#Sz_e+MYs1!!R5QQFKFLX^mL&d` zv4Au6?ZYJ>O^i7BTMqvUuEpnWG+-i3(zA~JkBVv}{)qRUpL7wp=i0*=vS`nm2XH4}IW zV(Yr0CNBclpLB3YGdO)sbzWcW=+2z>2&G;t$w1EZ`i=fS8^oJqt0w1 zFuF`8rJl~J%Nf9JIvyHm_^#7Zqm;AmBl~{v76Vbh5JmD-s!@#gh1!KWU$1MzRms6P z=wT-GSdpEc0p-tmvIxM~Z9aCV0Xr%%jh3=6CcnT+Ndk?^dO=>N>qy>oE%JpE| zCmt@7td&-%D>_ILhN29bR&GGeqZ3p$=wuQHni8bov-f4zgWt&sRLj~}y$phL zkqwR8K$!?>J{812$O2gA6bnAComfJc04w*Z!B21HDq$%G5|#&4`FS_wQ+}eMSrF|!8 zMnO==>Vg=_$uTrJ`8n6+YMuSZ1YTKD|!>0<|sQG;z2Lp3@v?$OZB>gW;9)Hg(PAJ(M}vug{oo%Q=`h-H0rKx zs?4N4UrV|nX@3P5m|vDIw1CTiFQaa;)(8=-v!>=T>5M98&X2>`N5WRlL@z040o~Rr zg#n2)x~ui*5NeXv1LK~;5|?UKRyXL{C1rx+pOm`DC|QrN7$#XH?kx8{1&SPe+ESz1 zQcGu24XLC@Wa_DEP+o;6IAoBqq^89U3RJ$`2Dh_U@rDG`$2KO%IYt>O&3UxdyHlSYmb=&C`Nh0FoVoCJ(^cZa2D7nHWu>}9dWcK4}w*dNxquOQR_?E01{}K z25R+86llqqQ%%-@EZCw23GO9pty#7@q7Tk$AS*VjRlT3DTQW^ERX?AH=ddzDF$MO? zP4ShuHTqrQ4DLdMwe2yeU3Z`W&=fenc#S>6qcGja)ZuNdCxkEG+s~dDr)i0 z2cKe_BkzkTZlkrM`9ZQO|7gm;;NS@ugX^vDFXfyQ^HXMAk)RFB>>aW&NdqRqpishL z!@!72&`s^G))`PR|12e-vX_3=)K=p%$L#WxK62!f0VplG>1lnCPN9=8mnFVTIIBl= z6^`d51@!wPy1MRt)JJ7#tDXZMCB(ccmzFfW0c>WP;@_F=W*tL;l67^N%iT2!YRww* zm4$}aHLOKir?Eo-^12c*h3#-9Ne#$u9HcsQO_GHkV;*yzmd8}LRibDu=`-%gqRE?T zt*c@O;wq4Umc0#2;qmg7)|i8Mex3bkSCBhzR+YD0Y3VU~T4paJ;$WYC^OY8?ustz$ zHOg0(UTxLv(vDKvPy+t?98S_#19p>TZK_Zz5+Ari(86m$a|FE%k+dP9)pHZFgCJ#z}AyXwD$k=34%3>9?YUK-# z_^7yosr;T+&2dBxiB$6lh8%T9cup%ahUjY!V7Z3$I%&RbplvIJU&pJ1_g;$eOACg? zX`GVynPm86>XK^E=wVCQ3fovqymA(xp4?;_a$wX{LNP$k`(PYEme4>`UFrhyA zwQoEgT}hx~l*6E{szX8%WadJ)WCv0VYOY`=CWgOd$q>0SuGx$vFxQ*F zl~iL?8xP!>WsxO0%;VeqDeZc6o*8fw1-l5E^uqGY2dhj^s{YnQ__|Z*Vk%huT212& z1*vtidF2%Chm|vxm{7(g{M=zSNZ~*gmAj;B{LE!$i3HKn*_c~bUv07NK!!V6sqf&G zE#D#{bqh?Y&~|+_H(K*jxDVnBt;G2ln0;H`YH8~_fcN;8Id*4;slEdc}n#{5*t2m9w#j{;1 zie3f*vqHg`6I;f%RxX2z#(7>a(Lu3{VQSqBfYXM-MU9hqYh{}Sv_r-m=UApUb6>Jt z#3XB=0##LibkLurQh1M94BgY3qgIQhJvvDN3DhhnHl)qZ9A!)n9x{i2jdn#7X`<3s zN}LTwR-oSz?Xx31VcK0Z+iXvEI%Uw$vV*KU0-s?T!&47|snuKuH!6ELv&C`qW74Cy zv2w(L}Bit2}NdXg-_%30F$q zx|uXlN_CF@$)xXZH{wjGQe|f1dn&K)=B%KHwFNXziS=a~bNm}~T;Q6F5kL(FaU=@R zhZZS0xwF3~t1!yKXn);Tf21cb;x$+2ZL0gR1nNb^KDiO4R&^-;E=S0{SB+=8FauI4 zugS(j%U1$=P{jDrO5KXbqFT7fj(4ezdw|Xt`RW5kz)4k#QdMCni&zOV&!wh>glSXb z>#8q6id*puGpR_io|ZI%31V33W$?yHsCjp_ZCGi(y>6&X*Ibq8R3OrVi&K#=w=%_1 zlgotbjK^K4N#&eAb*@^g(k6D2uv#`l*WrtW4>+UeLs&qKg5L#F zow+;(HpKmbX{SN6_b1-X9Ku~d@pmKMYf0bEgPMOBb>d}4Viy?s?}b^+Ij2JUm9%B! zi6!XbuKL(SN1ed4Tnjv=T72t@3~{cMb$TN?qFm)IC06G$aRurLGs_d4c*pY1I7-8+ zQEIxTuvF6ess+~Re)lLdId-MXn4{9R^+FB*)|9aUXt^^KmvJxB3s^Y+3sYj4GTI?U zeWJ1n&`I2`2MQ0W7G1K|4v=t^sf>@8uluzX(3)VeOu?qQP-*Gsr0|yeU$FucY zxG#;`$=@hg+NL+0IW%3$f5<{Nz9ol1*c_Ohq8q^5x*uAy(Jx!xl}SdwuA3;SkznNu z+;YhbC!TAf?Q=Y34n54PumaqHhhb3nRj7_UH0X#BPLcXC&1yo9iRYVMTsbG(I(2~D z`U7-qbiR$V=f=w;kU{F>o8ZvT*+ppz`Do+kvg=`D2KnNoJO<3Vf?m_jMJbu3w}d8W zhW*B+Z%RB85Al1KHwoP=32hR<8m9`&y1}f1(7GDR%S@Cy-U_AG`EknU-5!DhZzA}`I86Lkw|^++q~G=veYH6 z+?$Or5V9I!CiNx0r-fxKGq@QC)eP}?Aw@oKc|0p3(Nq^kCk>*Xnk1$FHfy8%AzZRP zx$epAQW)lzYZQa5I{21Bv(U_15reb*gLhW#?`pBg*%rHT8up~!ozt%af}gMjmvTWi ztjBM6dO=2$X=Uzk3n)DQi!OgzSz>+v3}bgCDApr}fjm*MAInR*caT|^J*iE!<1w`s zcm-8g??LGiv@&7Y6sq%dDLUVD&8?;8zqO6ew1tF=FW47k71+2AWj$_HRT9F#aGOkGc)JonKbcL@F1J(R@ui+E% zcn`xt$KfYcqo<~e=um@?z7lC)K7F;(88Ij(`KfFxXAv=~Jwfo1A<$}go$d1be#5qq zL1YvG6l=fQH~y3gNRdyaBRv?KW)2ndOuE_wsGJtn3ho+lvCj8%_X5{mCWG9 z5yFs+m$_tO%4@H*kRRIx9@a1SGP$3)6p%#qJz`sOX#uCPil$y z&DT(Sk#02pp4=@=hb`PiQ);d_nlg-$TpT!lV)1d|g_euDhGvXo-PEiLY%_a~x3pDmxdI3+C%VgN@Wm>+uvm{~Ch8zrcQpnX z<8ZGg8@_a33s-W)SA>KZxFTk7;w|iT8mj_-5s}>7?*?;%eKxwJ7z#APKhx4(+Yn5c zIEUsh#ZqE-#gYxZ={#Vyuw_xI@~_ZF0E=Q*xqQj=mz;wdTrU%Kt;?Yr^t5Q8S=EPX zE?djhi>S_!z>ta`bqF~+^3QB%m^GRwp>2xQRyXhqoQcFVt1pjmYcS%-)+5N-x0fz_QO>hqI7!4#YJ$+qQm*PZ z1I4&l6&0o{ueGifv}KRE^6^ zV>#w6#E9#YZ^jT;n4($2F+8f=d~)bF%xAWKvZZf-=xY0Z@nW>*HtwbA9l_aVC`A_b zz9GHuS7QC#+c?xKC!XBvw-?bS8Nmc^@E>|R)%3Vm?omeXLat}x{QO4?51-HGAIjZT zrP5EG9Fzz6t9>eB39|}~imzZ)n01}gbw*>#;T?b~kI%8G#g)0G4gd?JoIK=)3+F0q zntt)B8q0F*MlHfOi)bo4$SID^V`$#pn*# z`A#Tm8A12Tnz&x-I}TIIV&^Ia&aF`se36=FRBTvn*;vJEFB@Dh4$QPo zEkFK>$fGSYR!xSD-t3E&-fbV_l)7x%&_FP-7y-@_)T%p&NLkXK5@v;|7a!Vey_&Hk z<`>pgmwwMwvb9I9#$!>iy9s)rn>Rb80x4>N}}78etRe-ZE#|WAhZ^pMMUXte#;*ECsB`3Ddn@DAKlAIk6&L zsdJ|GBUiGbRYmpgCJ}SmtdPwe#oWHBq?+ zyS)7Y?+m~TnI92rMKW5oERqtjKHaNxtrEWJ=;bBSFctnaWKJ7MEh2)VexjhfG_vV9 zlxYrf+B86l{u(&DH7OpzN-V>D8o79V-JoQaVYSn#2Y>s}F@uiU)?!bS#FR1b$$BH4 zfh9hw`>F-fs5fd%UMHuS$7_%)su?eAh`cBEB8V*6j6hHMb78d_ja_RI8*yQ^tWbz6 zIiQeQ!n`5LGR%kV#1biAysvnOT^x=CxL(s(8E!eOvY2>@}DeGXQ;| ze!}fDpw9`&{CqKsJ!{N{VoPRahTD4t&gs&La~oeq;R~r0V3>153u;}-IJ72E5iUF+ z#!4;SfJUWUg1I-ZB_&Cg)Wej7&=oeox~eznM)BQ_7*{OjWwpjNNi+9m9@be?NMF-$ zxGGHL-!R&-QvP^%CCv@fMVE`w?kgn4;l|>C3Tg8#2SRtfdM|KZm}QSEDLPsHE#8Av zd{}vP=@con#=QKkVtQV*!DkIM^k9|TiBLtKlFu#BsluWyhH&m^iNI+hatE_JQGOhr z*PEC1zA28RUb!UP6)Cm+F^(@XeJwfiM0P-7u0_g8+m$lECtL-{mbTSk30dmMY<;hm zk{EcUQjjImDZc00&go^4z-Aa-yZD=zBjvpruFBI|O!FU|{fdMnuIs$dggwd%!fO(S z%rWohL6NE$eBdAGRpb}%2@7|^_6u>utc?{@Et$tr@3G6>evBZwdkR|S2X)zR(I}q+ z!ZHUQ*$dpMNQ#O+1B|$v1GMM zXX79*!$G|E`1+T)FN5l)^n6uaxm;4YL7nA#BCfl+$N9pI42#`s$}AF^ z2`GVws<1IJRLMO{;L^I>dYx2Xj&CqxKly>nZ;kgpU~^ED<5f;Map3XBaB~v90i-}R zv_I0nnPwnUFz8NjnC3%w^hEQ|Rx#fTRoR%_lm%5^;8*X@j!gORLG+dGuQziE(h*E zCsId`tcJ@>laJJMYQF@4=6Kl_K^(l}HM$yi2s#lYZ6Gc!k!kb0^m;Q-=yM zMF$OqwSS|gByBNd7ej9AeW0AmW6Scozd4~E2x*;*H(@~CtV!`?@jz>jScuOPPLTyR z`JNT@L*LdQ3Jog%R*w4GLb4RP9-(%3kM65MOE>1%E9{$f;-Oq+KF1+hH$xlVS?AY= zXD4>iw|-{_*2_)=E&z+Rx1)Fye-LgNx-ti%95vQAyAY&N+nZvV^faT=x4v%#%xh{! z;Vz2G$vH@Q7PrLq-O*_3P+>VLec79uHQuZx9)nhT#3m|G4ZE)^g3j;yuKlrCNo&RP z^3#lKCX>crvi3|f`l)E6f|S$TXo|usv6JFMzl-wYlZ?6h?R$r{S7erskyzXOxD+R3 zlVC{*N7mhdxNmlHdLgSGV(x~;sZDg7WBbb%LR?tD&y|*7v%zJ5*3IU%{%GaG*uzZg z{i$Pq#Y%mKdhpe!YrCnB&Oghf2ZU}H z(rHBfM58y^S_rq-S&!Ylj}{Gq*B3#4jUS+6N9l1Ofzhnt@&)9~Ev`PL*@llxf%U`v z^hx9iIsLDDsL}F?Jn+?kN%^8c=VRZF-Pt(e+14+)jX8C>%;^uE!%?cFlsYcWf<%~V zM6s@y{jnj}HY>N9;MJ*6qQV_HXx+QBSpAg?bTLKqszD-jR?_0s|8Q$r}gE*5=D=yKWe-DBWbn@mmHd&`{fMg z!pQFg*S`kGWjD&*v6P-Xsj(WuG__mTp#8xYvnRTIcG=u1(LP%-C**8zh9#50i_O(v zVLb=9vf_1GYvo-uTe_0tLAZqoWLAZtct? zO2rsFu@hVmhh4>6&oYBr6cJr~?WuGzp-t)h=7p*m8ROpf&`f%{#GStx#XcAlA_oIP zv*$m{sItN|1N|GMeH3hdg!5JF1^Lg(srGDX<@}i+mc#2^?+n6LyE|%813ewZ`4*G! zf=CywUFxs$eRB;*`{Ai!qh5nvlpFJ+8=1lRL+?tccl$m^<9@r>gWHYEO6%$JhFg*B zSpbP4r52kZX|&3Z>JdckiJ(#UZ4jE|($`1zAdd2en?TPR4=2wcN8=TutZ=MR(Kw%@ zIq>Bi9Y;E3Q;mZvd*#rNs6T72YdCbI$1*dNl~qQd1ygIK{`s`A(rVU_p@Xr{ zQ-ILjyLeH3XBvTXB$(N5bQkMmoi#Y1sdNR~hvnn#q(ty}NqS122AhIzNVZ2;NJXIF zZIn}U(R#pzwNuj2;bQ6GA&@ANaR%9_q?t4R3-7b8Z#d}V85wGM7dIPP0K0fSxFO2j zHRTmHr5#?v0oUg$ugg@SO_Mvd;-##aBhi^$Us$D^s#VdH4%30Fi4PTl@H ztB{Y356}B}txq=(inEV@6V}uF(toZ|-`j*LlURv=dDTX9!*|8*CbGZnH9iU;0_<6D z_3Cx_1t&d7bV;>KGySbpqE7AcQIa(zl>aj-o7#A=A-0AMX_W)vpdfTI%a`-XB+)D{EH55Zq;CEN^ zNOmxg(nu^erqnvf<(|ry+VX?dspRZf{l4b;FVUdJ5y`8d^CG=%H#g<1mrx7-pPyuI8y_vL2dgv<(icP z(+%PsI@?CRc`if7uG0@1Pu%p6>8@&$*KWiqz#~#sCs|V)JkrERFnRpFrtI0hXcFRPF zy3Ij0ur|lO7hjgO9-kzM7938iTF-C*v%$Iq$eYljcj`snWO1!7KfK2ShNwKEJ`|Rw zxvWCMA+l~)31nyE;oF9+dQ{QFQNvHhf3OO}y)b9}fpV{XgBh{=Cb7n=<%|7_MI_^u ztqs`^7Jl1h=r_F4+jp;%y)#i4yLuL!W@S%J?;ehUGp;gv?`-v&ZOo?{!N+Y6EL-7s z>MlWb$AJxQYx7h0jqoFSmIkusFZ%aRDDK{TEPQ^KP2 zW-1O1XxSJ4e!?HL?h4hsw^Q1j9x&=uFVK}%Qze5K=9y}pUx$`6L&b9&pg`o^kFtAY?;xkGC2FWmxLUg)3JE@CrUxS zfwkomNmd4jnd*s<5WUAjYS8Y;Tq(Pd^NNSYCXN1t)7*WaV9YD67{}C63^vy_q{!eXo4&Pq{Q=*dOdd$YiAdmsZAtL1(m zZ#MUFYpL<_X%fi-g6$-4pvfX~nf1yky!)pvH8*p;XlF8TL(!F^wm@kPXNUcxrLhOb z{n^U9xUqCP>*_nDpBH5*uW8t~N0|(6VnAi|?5qUaN(M#tD@UBLQ8Iori}SXxbAo?B zeV2hVW6lGm5(eO9!uRA>X$ooNoXbt0_(a&OSc&Q{hO)%mF7ItZj>3KH%%YS&nDtER z&sJ$X@KIFbrETyU79tvBLNu3&On9oM*Yy}a9WeQb?DS2T_s^}kQ1z2yZNuc za#nB}_JyOX|s%iyln-O+Yr*LIf2S`cE=ZTV(m&~2hU$*}3{s_ksp&SzU_ z<#x+0xvjzAIvv@KFjU64mt%+YR6cJ9^D)XX@*sOA;9PVn^|cTF&c z|KE-FJeyyB^Iu=LxnJB~Xe|i2xmL_K*=$$ReEj9JF`G3?BXCObCW?BgVK>*!Zn4&K zeTinNHn#n^^CqLlcJ7W+%gyb$)n!%7cHt_+E>h&w;t#FnHr>>tpR7w%?#R8P?=Hbw z)ni#V%imyxp&7$tAyNbp;il5)_h~az!P7=J+~@uE?`ak-&L18%ujA`Yj7k^nFTu+b znx8fK{qMRJ(x{uRGKbUnZp1!Txh~b*o8F1FxGo*K$)z1NoYjvmI&2pVYnAJI^@UW9 zfM%9_z0CBT6-E>44_a%s2MQ}%+>WOA6C?^@HbTx$TYHU8^)@PE)j$6F7_Vqr9^7iM zXjLGdgId}$2JTjhTavgR_&Ii(*uWmnUS6;;0lNqFU2V5}L0+S+m7|twr<=?2=EcRY zwT6Cw>E^pF=IU!PiXM&;wGQj(Yi=~@Vx?z^x}wdt4)y#sbeI=c7zq+OnSZUC2@BWw*Y&Q`UHErD6r)bU~%60Wj(JU zLrcL8uUY9n z$v*w{G#{T)q2fIcaX2LEVDwjdo`vq&!Tlb7{Pz9@QgT(UBgwz=nIT#mx-d5Dvz1RC z%cxOrS5#JCR|S4FMET2!6hm2g@fQ19;9N468BI;#(ODl@oPMp zsf2H{vQ^gfh&spu&f>gxoIT}<5&g*ky>J*^^xDA(B<5;dN8xuR6p>YOJq_{eXn(us zE9n2KB+?6Ke4b@|gk`*o<%Ygv@H?$Nxji=vWgYWommNx5;Ceguz0+Ik`h+Q2;<)*c zwI|=wzk5;CGu{_LRsF9455jm0zz*WdwcFTE&R^=dE~E zwIhi&dF&u>beydFw8@!H(uff_mLa9Ho}7ee>g@n`I#X}{-97(%E`V%`=z zLtmohmi68GGzHQMmop?vS!RdzB(ST&3fJMsnov&+OSVEq-nuzv`{(s5SwY`KXLG{- zJx7v>7A#8xw2J?Of}AVF1+`QJ*@0N_Es{Xij5>e}BKG1_LE4NXVS*7Gs9%R!tUKdp zv9jeXAwIcPhgZ??tf~w(-GM~9@9H!AS07QSq;8d-{YUrwh;DrGu5~+B&@(@iXMPqm zd?t#0Pm2^-J?kJ-E+O;hcy5T^_QIRwngYpM_3WMt`2?8XpH#ztz7>--JJ1eg#ne2T zW9F1xQ`{I&D1bC~#y2je?ou!c-tCeXJ2P%BlA+&cbMly~oO8V|eX6I}5Sd&PwQw|x zU?n-ZLg8H%`M3~5eCvH1(}}##e;OfC~#fZjc(^@bm=8rfD7hTPRGS=4Q>_aWjPE}>-mQLc6nNV5 z`#JT0cX-TTct_HA4iv-ZZCKv8?xfn!e95o>qdEdBsENvudjDf+4S=ZVXsU#@B{CsK zCpt=bzZxl|-aHI8`-H$az`%Qk;V%)WTNLC*=sJFHj9rJ^3>;Ej5@$Pj#f5EzT|eoU z(#qK3m#F;wD8CKSb@=rf?=daVjW%k_FA`}Rczgm(&y{}UEa@e+vPpFO_h^Af*Jo~j zNcMg7Mf*!{ylY{kTg)+b$A62b?Eh5P@}JeMeD`z7(~8^$Y8!Dd|17x9oAK`EZZW|pJ{>01+Pj# z40cffw{$~W4e5mE7r*w;JF$SeH2VX~V=#5!5y8Y6z(I$tB(N(@#ImlDm)#SSa6P2@ z_XQHTO6EWMJPV`knfJf3sYA=Z^7-fs><*6H+W!&bM}^g9R)*@NC^eP`-g;a*AIcN^ z=TBfLyHI4R*Oj53WHZHZ@X|W&>4()DgVT?)ZU`vOr@IpD(2Be6Nm+-3ef96Y<(5AC z-;n6&@!!P?|4*@d|11_R!z>1u3D&Cl$m6@q`q2ru?zcJS-0Sw>hLhLtC_`sI73lv+ zHIP^j%J6w%{vYr#{B-}XE=aULT=>MGRPo%aGMkGEaF2e`%L|ZbgWD8B^yCqeg3dy2 zOuLhZG58BcgEk>-^%)!8hD6LCo0ImS82}V)>#4Mb;@Tu4Q7I3b5L5&nX4M!3jUp*8U@6mCxJpo;u{{jk+P}U-o8F&9OIC0Y~3SoH6DE+z8tw zJlEJu$hz5$@ATCas{^qW5-^J2#?Mi-C_CDwZb>dYrZNR5OsF0aGcmz z_^C&-R|H@J*p=`}GqX?mi6DKybZLGZC)Ltgj`po$)9=1qRGir5jNkh=LDX66{%71v zXZ)`8BI|`H?)i7~m{ZD^?U<}jvmt1cF#7S4iF)`TT-M|)NHii`)V>Y>$;tRs5x&hr zNYi;|^Fj!@GfhjgPm#($uB%csQnEB=9zMvUOQVX}5QlLL_$0=$?LX4~5f$-|9REN6 zkL*oX*+)J_UNn2l{|Y|c<{#&ie05>8JR9O+NVDbhU(A0!Bk=&m?rv4!;Kz0qzVDJ~ ztv${4B1XF{jc}6>a_6!$cL5{Xmc}f~2g!5kul0{>XCLApQNoe`OkepI^Us@&f|oIv zmj0Rezcb%Q`rNN@2HL^!{~|=MP3~5s4}XaLpA3!gE{4)=XPhrG@BiuG|5x6305$oo z>8przLX+N60YREd3jvX)C|v=mA|fKvdrL&BAOu7~B=iys9hFWXp{Pjjoe-o$LQNnc z`RDrk-FtWM-rbp<-I@Q+?#wfJpYwj_JLjDRyAFzM%F%T&5wDO;9ZUPResgjE+)gM*2tB;;GSj)U;dzvlvT3eU_%8{qxuA*|@R>x5c1vPU#T0DT#kpB)L< zWDbAqITGaTY4`aN= zHJHkLW(ZAA=5G@YrZL}U34S!I3sYfVHfj&y^!ZI)PxFVL4oSM-^zvF1^uG;3&};ui zxI?e~4UW+JJ>&GB5B?E*`}F^f@VPDe@F8tE!)n==J=#NlQ>D`C zzhI+EX(59h!ThQ8-=Ky0(_i6U_9yTDO=K2?7Rju>5W0Fq)byP87FHA=ltKi4JN~=d zZdUsTR`gd;%1&dY`bX;*Rvm^-7tPDXe_ga(xLd_hk?ukDx|KGz%|7lAWqx*lFKSFp$;k0hM8hO@^(^~$@ zZ}Yok^x2%VY*<(3>VV<@KRRmI)H*ZTl!JXZDj{~SDf;2|4%5U%CS>{2J>;z{s$}1q zdbg*K!!w`2Gywu4Jycto4|&nOODYU!iz-FlpTuhaEWEa$<|Ia^&4#!WNo z%0Cmc{;4YH+d@?Z&;3>fCqgeGKe5kt8pe;>ejBx5Z_)W;+rDMU8F)2_!y!SU@dGUJ zEw{uSwiZ6L?X!zGRO_*7*a|pMDx=)Io-Y zb1zE`LSBY?pWRJjJNTP=7=C69e3BrGOKe?!)<*-OJN&2WR`lOwrUUA4`SXYT3y37# z7&|ya%+~2f9dF(1H*wUs>^df?;VoJzc1Plb5WTK%D_-;|ICA!l4%puw|0Qy+X}Ds0 zs(*5d>h}hD!zp9YjJ;duOFW!gF65Mz*tXUL_-E`s6`Dbjls_;3D=fK-ho2(+Ra0i( zIr<9QqAHEANt;STiemxBV?JBW@ zX>LfUHz*wCFG0@PF>jo77!f>YH${>~H!R5;@C5qzr|S8W5NzdzsvlNtwiuBC)1;L+ z`il6#p)Zse?@P#yZx7nBZQGxuNKq>`F#E($qgAR^W(Vga&_Af()vME&qOE)+>BszR z8B`X&r7!jJX88aWl`-H<+`A=L=cls~ifFLs-IqNd5Zul+t6rQ3Vm*I~9O0*=wHU$~ z30L}QaLeR2o%My0cm@%81!ca5($*B|1OcB?chh^r%ey@cL+#X`6&Q+j>>i z_dL?-Qca^*0FUjBNW z0J?*IC>UPPck}-B&h(&hUP-&(A+^dxTKTNgkBK+2)(LN`h&HjKjp)<#jOs>$sOyXp z(PQ(3K*5QqaIKdT#K@o%*e7zLO^x;0IN_qvxavQ(?mQYn{h$9*`tjnfr!Ex{Td9j1 ze^a_!BDrQyr$6(e=~lI+H9nEW{Go?W?zG&gKpGwztEzOdu&LFRJTnr_fs_(lS9l(` z20B{aUPmeP^(;`_dAaMPD1{1w=tm4pDDT(EDWvyHqzDtrr`)0v<^6n}11!(nw;*?x z--)nLk9b4A!JC8fXj;m6uAsg4P79DX9d`cGds2i*zt^JU>6@b!eh|)rl;4d>3602x}Dy>adn}# zr8fnUX0F-M;EOGs{xwArrE)v=SPa)F%9}3e`xgjTEaxFEVd&1;#h!Ha-WB`SBe+&Fhcg(pmJ( zQ-#;1?Sb0%ed+28?Euufi%=oKUHWqr@VZFq=Z7+7X@pN1;IP$q1`GhRpS^&T^`#GX z08?YAxdUL}YL}F|-GDf&yeQQxTpBHa29d)CO$4XE)N!RcfZ~jf6twMi* zg+^+*mT|pEd%baT<96NQ3(h!^E5w7K0Oy!jc+e(j-&n&I%xG#;A&(PR5)UVP({}vz{-#HLHEwavCbaG2P1rN z<5A6$9Z`~@9jGqd-Be<-V2h)MKWU{6)%E`23HVAINoC)n!8J?cm>*I z5eOm5en)#@`o*Z`O%H#;OLaM*NW-`=6PQLg>1`dj?8@bAKl6H1eSqkPJROr5e|MLo z)@|ouP5AqIHUA^&wQ7&xmpi6!I}2ZT+B6)f9_QqFZs>(d_M_dUXB--0FB@ko)t1=? z#dAdLrGAlwYWXgZXX%o2gDZnJs~psu8_P~#dj9!FDB1M>GVf}r_OwGmpU)O%`fT2+ zd~CREan{ODNvY&W8NiSl=e{~^L5(FaQf9pW{s+xa<6Akl(ABp6Z!g>S9lop<^~J0S zv(1afOxkXeoMvx!4)&2(N!JQ6Jo1%t({n=snzvom+0|nt;&5vxMn?fdRhVHKtq-!L zk1h@Z6NXFT2A!yhVC!cq9RT7P&Q2Bh=wsnM%M{zzs%Kb`)R@m6S<%ib7IpO-TD3Uz z;^H_ug_bT=zke{>=^flO!SB#tYe7-?%!gX@`&CiZbaq=E&j59`rAgk?#0`2@6$$#eqXjwY})VL-553i5ur1r$M7=&J+!PsB}qQuntSI z2~bsxdZXeHE~hPHUwIXU9m?&>r|qc3LKlK;z~Lz^sj0jEP6pYAz@{`MArG=`iZ__u6?!V8Rtf`q=i)O!5z6YX`;d`O~0gl$DG^3`!w+os2 zbWpP2flkaU3|{^ii_iO6CXvk}D1GK!Q~X?-6JJWDqGTChd~*b1 zd~<*HOM|?i1pImgq4mx!>1nw|KY>~(`N83|K166<^LpSS7&fKTrCW_T7|H~$R%HA8 zOCGt<^;Yh7EAVSwcS>LI*od?t^$d=id>d>@Os@Q_N9rLr#4KP7KaYQDRAmX-C>ZvH zznal^Vy{@Xbd%lC&WZG>hnD_oevLAY_F8y*mVdDpTCV=A3RUjx!eAKsEZJmPz2;6> ziu0$3wS$gC>4@_hjZuTMQG3>h)Mc|OTuUWPyL;1Mtu)E{his3)2i>r39$+Zl@kcIf z;OAx5VKu2u&0!~%Y`|JI(|P((ajAi%y-((|vYkeE%4r_crVm9bJOUi0j<`yeyVlP> zx7Pmd$rP3u1Gl&*@YThXb(9=r{3{%|hRDzqUxPeL7Q8mMk+)~N`nArF)BOIgEnWBN z$fM0`!0A{)&ubc^38f&sv7#r$wqiQ|;K6aHVGF0)=C#CWaNE1j=I+>Rrm8}}i*Z?| z2>Zt$n&TsYUodhB2-me6tzDq^>q$Z+&OZ`aYqX^n7&5 zS}Wr8uiSFIej4EQrmC`@k}!zlcw^a);I&>lx&DhHZPwE<*1-O;T9c&I8D2zf?0JN9 zg42-Fd~!-|tmc=8bV~Ue?GdxQ#?S_2#g8rrMon^$St4 zPwndYTGuCAfuDRP`8{fZVUrI%8qc%cKxeVxSJbvkpl51|ueloa1x$L>GWAs2)?ixG zz3w#+jT(qHMyZ)Kj)c)4gxsgefmItOqgXXGT{6Q3UEu)@d`HH~eQ%emV1Vm*{Ow;O zgL*@5w1L00t(jzN(|8{D;73ifmwT9vR*0e*P>Jx1pKn_q3o~GC6#JNVi+Zj)mJ35RVO?|F7A{mEXtGB1`7->6d{2=gpQw@DO^VvI0fW@aHG`YMJ) zA}1yhXQ*Y`W5c1VM;Y5P0WDC(yklp@@b}}-;NsOrW5f-_;9hXns#U1`CUJJQ_&!+J znu9XgbSr!MHg+(kS%9K6TilCxv#%cm(}`cQ17*;Iku=^H<`7Z!A-%7|=wb`e;+2-d)_V9Gl?mmbtlr+$Y3v5b z$CNoi`3qOY?nnIbSO~eG8PGIqq9M7Ak^}-0;KqU)!(n^#FXB2d09clxD||9+VFjIL zeL09w^ms34rMO90!w1KEw>fUjc%-2FeTT8e_>@GBx}31a0mA^b^;dGL;5q3hRjA?9 zbREPG{n=c*uLq`{z=>Eb@Nm(JEK)kk9B#P<3Vdbb#rN*v#M#&5V%ziI)4H%);VC=o z)JYN9Ao)NT7=YuF>7$8*no1VmOQ^fnbWEUuYZ~_;HW*(o>Q;m-5b_PSuzE^ytQH-t zbNFu`94upd`FQqBRpuazsXC?SM6|+xsFJ@)U;H_Ma?+QL0qJg1w13a6y|k-)AA0jvQwF+N#79GTDm{be zQ#re&P!4v%D|Nv;!O-BHRHE=&GldI?T*J3+OXwxQRn8mNXy)>_<+la|p zlZpJNWv`zsx#7J*kY0;TYcm^_S-L{=+;8C~W1rr7T&fUu6DFmvZc`*z+?9N2L2Tw}rAoV4Yo_E#H4%>DQ2pmwT} z)O4xl`N}Knk5E&QO68C}0{X-AeH-}W_INs@wAeA~5bRZR zYR^c!aIe6&xG?k51FFHV%r`*Fg+{#VB@+=h!WYN$D_e*3Hg(a@`CA+-ax}ovNl*L* z){CMR*e`${mwpz1M~8(F=A-T?^2c>02Pu6d`xm`SJXTFd>N=Mch8?eWoikcs@tjX6`Mm7wC}$)>vvzI_-4$M{1)4Y5D~CZzn$C+ zJV;yr6g|XmPSl2J{i^TCLl3$lQAB-1n5IIzvA z@nCZj;p_zsZfscZ1j%08taGK53jjnfd;xuFci_TzP94lpH^~m_KbbK0qX51u@k8#R z_Stc5ikI$p)8mLc_UXNmQwJh%Fa9t%m~Q!GFkJ=d+blH*#3GUsx{r3h&fISm8qO)* zJ&5_`649QV-N%~HQO+t;=Qozz{Ca+~l-EDcPv7prnA|$qVV4UNs9HxeK(EOEtyj2G zneCJ=IxBggl_gp1#*-KN+@Fm_XG+d0TXcaUS7HdFfoT^Qb+P#dVK-0ZJSE_Ih~uVB4P7{ z7llqE1L64G$x)@V#xDTk+d5q)0m53_^EOpAoZMr59_kVO%R*qqKvUQIbT70Lg@)BU zsJ2jOIHX00i}8?{I`}=kx9(Y_x(D^ar}6dGcs2F87cg#^t*u3>nJ~<5dv;v^w7AzX zuZ()84E0Q^MadEPs6Kr4n|6SwOu*L(!%b9BY`yLgEV^C(hus=;&-v|Tr3`gfE}q>^ z$Ist~LpJINep$D(5vFM$E?>!P&z*U=rZM)A1Hzs5VfXokG{Vr^+u3x1(;@3UwN($W zrr-xn1gOPiv|6yZTyFUcfoB#wfeQ`pZZq7lMBa94$fSiZxj# z3TQ6SDTJ##5q^Fa0#|GMeLU+JJJ4UB4jv_I^f8x5&22dyl}BMW*tXWnI*#wACHFMh z638aJg^dytTws=iDM0Kq4J$T$R)yZ8@jN7D)dq zjaV%n7vlA$6_E(}>kK@FE!*&L-h=w@qg25R{3q&43ea)z?uZ@jfIq!SkNeBoa{ zB5sk?547JuZbp#4Ihn65&`w@!|DHyDEBTAVp!(}ce@;QI(AR6B`Q2NphxB}Q{*Og4 z(k>xj+k_?bocQk1io~6dS)tHZ?+WF_X2!!7aXNrn$I4umcTDML-oyMdj&e~ z$i_zew|tXoCoOv%Fgd1qG%TJmxO5~A(fK2+4$pP;qV&tE!_u%s^Er#R_S3>@E8}!h zEIti9cR8-dg-)?fU(ZNTfdxnVcspXhr$GgQ-+HUbE5+|P!>~+1@G?3IfSj&B0n|+x zQ=bE#O?!CKd?{7LL&qU>EWqwtY@NN_`*F1gprL}0zNF+=y+$`y#O>D zNW$H?+o{ZQDnixMD|M4gkqJ$s_toO`l-To4=C(k+`#}0iA<@%h@eM+2pf+2{Agsqn z8c6u1j>6d0OgxQtW8(7s8rVXQ3g>lwj$xN%7luZ6QC=WR7r*0zWi`mPcRDSPyrO@- zVV6`LWk!YD?k@hC_u^JDo;%z-cJzPD7lAFbTe!2v{7b{O&cL)T0;!F5hMng{iuH0Q zGXVVHF%Suo628vchEQu~On8ao+X_I}AS-+vlUViQ>I_Mp1eWRCxWi8JNO(ajpCH53 zvoFEXnr26xrWDmN?Kxhj@dVg?zp}umU*x)KFz7jU7~n`9NzO^gD8h0am8>?he~>Uz z*p`f&$Q3~OURY^VxP9qX+!?7)clVBU5;!~V@)XX=>3H~;Cu-t-tooPP@J>gSSs+PO z9cxk9d0~zN`mj0)qyw6J>unw*v5phDi3G2?TB!C$Ts*LG$mByq%o-8)W#r_+ccrd1t1<`TSGC&loywf~B z#*}$cb5SLMEAp{{jE>#Ny~g7s(Qu)dirlrt`{yJ;pCd#gGht4JMDg|l%g8&fN0=ZsZ6ulpiG!-7_s2lT@Vz#iCt1$nG0qRfyzcm3F^+x6C%*`$`z~ zqgjJFi@js62#;^fkvsXmdH{WZZ-$|^6R zV&QRoIzx9F^Lp2hUBx4^Tm&M@K3%m1__|rz^1^FZzrD7VC>R$=5cJa{@ts-PlrV@L z)Mn3f{BSSLBDCCIsfRT71dG??ZX3~MbE-Mc;)-`Az0_k z_X(|-pSkH*HaFO=hj7}7kZyS|Q;73b@<;W9TO>6@rFGDQKJv5k^#r&a9tPkdzRES- z0+@F%hP7`U(H6}lfOx8wkK4yDDbu>iAH5JMskK1^EIHBx@pnq^-!X{XRF~~njC9Ck zfzfCLkqn+ynJ!m(8)PjNZY!N_Q62W+F%in7vpdl|GU&maaYA15c*kHbBE!EYcL3YH zM+`VRwm7;pPua_e6bL?|`2 z$z2&a8VfQ;P~MQq!pC3=?BGQ^n2l&wDom7YxWfqjZkN}5Z-zBmndpA!<(Iu6{4RWY1UpmK#c?Hd$1BwaLTq=w{7}qd}MC`EGW5H^EfkopC|QoeSGNSqsx~L z)2`U0S-8om%l8bcxg4@(uY;k!awUGZdVxW!A#M(V4##q?fg;(qp^**pm~_l^!q>|( zeYgBZXeXcU6F<8iHThY=GM3&k+3{e?i~K-5w=Z|v>n)Fd&Au1p@Gg_dp{v*aSlF%F zZylaY_Y!ceSe&3RaiL%XeT&t(RIoTHPa+aGj?5Cf%bmt)S`is;^+`Ej+;j-dZ?TPr2US ztc1doTKtoTl-;9wVh~sP0CsK=AIC)w3w+r^(M3a=Gzr8mE;9QunI=MjE2n4<^6-Pw zckSI11FYw0P0+srMfD`O99-x)UiX|YucSGg&_)XbE6MT&ICbD>m~_)DtG{$sm0Wec z4lbxx=w%&O7G(Ubh>ysFT>y~x>g}cKa6Q%tWL0=ZoKw2I0PQC!a*s0R@;-BnSFyJV zucb%l%{`9V?@O)qpH>Ok%AxU7*BsNakK_nhzZ&0wYt3Pf)o3@&xW=j`W6dGkzF1J2 z(2X0J$pXsj-J^)~Gp>|b+x5>+WBjg~C z_YcZ!tiW*N%pk#%XvhS2FU*y}!c~4z=URQam*&xc$~)+ls5t|-c2FqK@!;dIJ=UY* z)Pt4dJplm3ZS-J8`>1$ef2Da3*jOgW11rll&fd~&UfgqmYx#$6uii4LVc+uz32n)y zCmNwo0b}<-D*AJ^Q~Sr>VAZ~|Yq_QB5!sApI=5Db0 zA+V+8kp6q6LHLuCudJZ6vkk!nX9@xltpAC!j^|;r`&7FyeeV2}*vrDt*;4DW4t0mp3%8PDI|iVXS{+*4_}^y>dBmuk)9m zYpOE4bkl3w&L?_Jr2utZ!roq%B6UxjA=9QA)RDsQcyH*SD>wdTuQ*9%?}axdJ?teCp`Ckg zTBP4KUBTq-t+(9VoQB9Z(ZHB>dM}PZPOzov#y#Y6^jwj*CE*gImPB|CvX7yUV<}ot zMMg)O^_^zxH|0Xmh+HHEbTHTWsDo^<0kPARIlxy@vXUz^uN!QL zJfK|bq9`6fGx`$x@(;U8gD9q z$SEXJB0(|elB~b6u$s*7X}O@nfoKc3pqW9Cjj4I@bgZ;}nKKs=Zn==zewmAWeSwJ! zth_B7gLq32kIB8IVSrxd?6XkK_+~~3;y~!2c{t@w8RgGA6iCQRI+REtvIzE!6o&=8 z6p6^NmYBF?|N5MU?*O~!C~gP+%bw&N8cf>-a8wNM&;SQxaQuv3{Ij}FZo!vhYFWLC zaRI0)sqkamJ{Kj{DHEx}I(MTh2!JiZ8KG3n2un^e$Xe#P>pq&wO&Q2s-U~|rh%X_{ zt_z3YBdc(chjDNz(zt?8FkuLlTY~GyRhSa2;vjDlSpWba7dZ$8uV29-M99oBkcjbO z3>2VcjE2WiXo^=^!e9!d81!5ot_Ia-?r)u>u3Pa4CFgOe8 zC_+|`=|;IQLYxT#Twqs%5F^Boki|tF#nrA%Qj|z=u5xB8DH0C~qL20hK(de!wcCZx zb?SD-IEWBgE(W1O0x?o*(O8S%@L(8{g2zGNI6y2lAcPP(m#dtG+9w_bF+hv3Qc{qV zD1gmXr$rzM3cn)5zXf zFzEx%=%Ekc%R}4UCh~c>!69);n1j!|MfBb2b2;OB(q0V>U6wa7+ j_`2Ql>h~e7C2_Bwu=NKe2B(B@loRS_q?f4sPM`RHXp(k4 literal 2263650 zcmX7vbzBqP_y6CDii&_mmx^==NY{rJK{_O-(k+aJ4G{rprACbjNXMjmsKj8zq?-X_ z3>c$p8}a4$`2BhRxsUrek9%L|JYVNruK3%x5o%xb|D$s9_VNRGI{G?0I*9uDIsLa~ zMdOz~k-m5mzQFZ`HLLlaax}m42hjcZpPo2;6;XR<$nw8-`)iTU=8YoanLAvnYT|Bj zslS!~H11~A_ITt2qvluPsu!Eg>`(?K2JDmSPpt_i^<@(%m%mVNSRMMDUM2R=q_%?l zTf%@c{tVv$bA|!)Z#+2a;!2J~CP70M=@(mY%B-Ewq9*N;iE@D+oke1{>R7R?*J+uG zUZXcn0?g=SVZE2YjP=7w9~05D#bLa`#kXFIs;75z#4;sZc6|;?F4#dvCFKKaLnsII zOmoWopGUDt%FDIxZ~@V<;!>FwlkC0oYPqbIgX6O`GHF$R@cvB-e%LB4|2aqGk>Fkj zdcJ}YJtGO~?lk)7P6Y)C7m2~7+OX}TZ!$0a!niWD)G;xQuz0e^xPczJjW?9INwdx8 ztLCeVv}stXwQM>LKZ#k@hbEE7gX?OuEQ&*%3&KUnOlX+Y&i>qA>f|4BV#jKPqDjl;p5!mUR8WI^-QlQLRlEY{l}6+?#FG82nL()$GBg-347!yUi<4zt?|Dp81x3x;4^sdMKt3 z7+g)sna?ZbhN*=&sN682`!^0sUz0WXgzdWS3koY?6%26SwFvm1GgJ~sF;(qpv60O_ zxnDeg;baR(g(vc;g4!)yDokFjVm`NQcekrQQeW^tRQnadxtmBTLw%2NBAI@LgVf;iI1PvIBa+iUamgSUe69DlPe=`T4QdQx*P$=z!o z@uP19wRL9RJ!5mt>HN%iv*a^4rZKp})%wK^|KvuwF_spF3zvF}!gHm=jsKvp;@gSY zjus2qUIf(1#4vsq zJv<&&!<(^oJ9ct;259}yj@wtE14i)OS8Pse3_SKJb%6BuSpa6IQ5zQXT+5DnU8D^^SQp zgGoo%Br0)`I`%u587@VS1M%kN(_P>&?iChfPsn=LI;%Y0_V9^O<4w@w^~H*gOD!84 z+N{p(Hl2-K?Z><_PqfaoNZQ`vv7=ok-$K0?>CfCcFcGr6wR(95Kyge%fBG(@^G|zM zjs8=mqO-zp!%-eiLY?l@m)|pJ7+6R*+SVbNB~N9OhEHJHm$;UsCsaAoVfsZO?^;iu z6d3_ZR}M_G^Eb6u6iyu}K64SsvVU2sb95C2o*m9(jdq2DTEG6*Up+6A#Wltz7i(MT3;L>3fr~$Gzt`P_M}HGavB!4O@mtx6x0(t z+Qh~<{=i)&_rEL)=QvP{IGn}

GT6w_2Fa5He)A1?8`mtO{RLit_YFZKH-zMl-&( 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 z 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 z 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 z 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

rbb9g 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